{
  "libs": [
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-sdk-contextual-client.d.ts",
      "content": "type Primitive = number | string | boolean | bigint | symbol | null | undefined;\ntype Tags = Record<string, Primitive>;\ntype Context = Record<string, unknown>;\ntype Contexts = Record<string, Context | undefined>;\ninterface SpanContextData {\n    traceId: string;\n    spanId: string;\n}\ninterface Span {\n    spanContext(): SpanContextData;\n    end(): void;\n}\ninterface ManualSpan {\n    end(): void;\n    fail(error: unknown): void;\n}\ninterface SpanOptions {\n    name: string;\n    tags?: Tags;\n}\ninterface EndSpanOptions {\n    name: string;\n}\ninterface Breadcrumb {\n    type?: string;\n    category?: string;\n    message: string;\n    level?: \"info\" | \"warning\" | \"error\";\n    data?: Record<string, unknown>;\n}\ninterface CaptureContext {\n    level?: \"info\" | \"warning\" | \"error\";\n    tags?: Tags;\n    contexts?: Contexts;\n}\ninterface MonitoringClient {\n    /**\n     * Captures an exception event and sends it to Sentry.\n     * @param error The error to capture\n     * @param captureContext Optional additional data to attach to the Sentry e vent.\n     */\n    captureException(error: unknown, captureContext?: CaptureContext): void;\n    /**\n     * Captures a message event and sends it to Sentry.\n     * @param message The message to capture\n     * @param captureContext Define the level of the message or pass in additional data to attach to the message.\n     */\n    captureMessage(message: string, captureContext?: CaptureContext): void;\n    /**\n     * Wraps a function with a span and finishes the span after the function is done. The created span is the active span and will be used as parent by other spans created inside the function, as long as the function is executed while the scope is active.\n     * @param spanOptions The options for the span\n     * @param callback The function to wrap with a span\n     * @returns The return value of the callback\n     */\n    startSpan<T>(spanOptions: SpanOptions, callback: (span: Span | undefined) => T): T;\n    /**\n     * Starts a manual span. The span needs to be finished manually by either calling end() or fail() using the returned span object or by calling endSpanManual().\n     * @param spanOptions The options for the span\n     * @returns A span object that allows to end the span successfully or fail it.\n     */\n    startSpanManual(spanOptions: SpanOptions): ManualSpan;\n    /**\n     * Ends a manual span and sends it to Sentry. Spans can be ended using a MonitoringClient instance which wasn't necessarily used to start the span.\n     * Calling this method will end the last span with the same name that was started using startSpanManual() and will ignore the others.\n     * @param spanOptions The options for the span\n     */\n    endSpanManual(spanOptions: EndSpanOptions): void;\n    /**\n     * Records a new breadcrumb which will be attached to future events.\n     * Breadcrumbs will be added to subsequent events to provide more context on user's actions prior to an error or crash.\n     * @param breadcrumb The breadcrumb to record.\n     */\n    addBreadcrumb(breadcrumb: Breadcrumb): void;\n}\ninterface PlatformShowErrorProps {\n    message?: string;\n    action?: {\n        text: string;\n        onClick: () => void;\n    };\n    requestId?: string | null;\n}\ntype PlatformShowError = (props: PlatformShowErrorProps) => void;\ndeclare global {\n    // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.\n    interface SymbolConstructor {\n        readonly observable: symbol;\n    }\n}\ntype Host<Environment = unknown> = {\n    channel?: {\n        observeState(callback: (props: unknown, environment: Environment) => unknown): {\n            disconnect: () => void;\n        } | Promise<{\n            disconnect: () => void;\n        }>;\n    };\n    environment?: Environment;\n    /**\n     * Optional name of the environment, use for logging\n     */\n    name?: string;\n    /**\n     * Optional bast url to use for API requests, for example `www.wixapis.com`\n     */\n    apiBaseUrl?: string;\n    /**\n     * Optional function to get a monitoring client\n     */\n    getMonitoringClient?: () => MonitoringClient;\n    /**\n     * Optional function to display an error notification to the user.\n     * Can be used to show a toast, modal, or any other UI element\n     * that informs the user about an error that occurred.\n     */\n    showError?: PlatformShowError;\n    /**\n     * Possible data to be provided by every host, for cross cutting concerns\n     * like internationalization, billing, etc.\n     */\n    essentials?: {\n        /**\n         * The language of the currently viewed session\n         */\n        language?: string;\n        /**\n         * The locale of the currently viewed session\n         */\n        locale?: string;\n        /**\n         * The timezone of the currently viewed session\n         */\n        timezone?: string;\n        /**\n         * Any headers that should be passed through to the API requests\n         */\n        passThroughHeaders?: Record<string, string>;\n    };\n};\ndeclare global {\n    interface ContextualClient {\n    }\n}\ndeclare global {\n    /**\n     * A global interface to set the exposure toggle for the SDK.\n     * @example\n     * ```ts\n     * declare global {\n     *  interface SDKExposureToggle {\n     *    alpha: true;\n     *  }\n     * }\n     */\n    interface SDKExposureToggle {\n    }\n}\ndeclare global {\n    /**\n     * A global interface to set the type mode for the SDK.\n     * @example\n     * ```ts\n     * declare global {\n     *  interface SDKTypeMode {\n     *    strict: true;\n     *  }\n     * }\n     */\n    interface SDKTypeMode {\n    }\n}\ndeclare global {\n    interface ContextualClient {\n        host: Host;\n    }\n}\nexport { Host };\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/anyProperties.d.ts",
      "content": "declare interface AnyProperties {\n    [prop: string]: any;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/$w.d.ts",
      "content": "import wixDataset from 'wix-dataset';\ndeclare global {\n    /**\n     * The `$w` namespace contains everything you need in order to work\n     *  with your site's components.\n     * \t[Read more](https://www.wix.com/corvid/reference/$w.html#)\n     */\n    namespace $w {\n        /**\n         * An object used to customize the opening of a comment box.\n         */\n        type CommentBoxOptions = {\n            /**\n             * When `true`, the comment box opens, focuses, and displays an action bar.\n             *  When `false`, the comment box just opens. Defaults to `true`.\n             */\n            focus?: boolean;\n            /**\n             * When `true`, the comment box is scrolled into view. Defaults to `true`.\n             */\n            scroll?: boolean;\n        };\n        /**\n         * An object containing data about the newly created comment in the `WixComments` element.\n         */\n        type WidgetComment = {\n            /**\n             * Comment author.\n             */\n            authorName: string;\n            /**\n             * Date and time the comment was created.\n             */\n            createdDate: string;\n            /**\n             * Comment ID.\n             */\n            commentId: string;\n            /**\n             * Comment ID of the parent comment. If the comment is a top-level comment, the value is `undefined`.\n             */\n            parentCommentId: string;\n            /**\n             * The plain text content of the comment.\n             */\n            content: string;\n            /**\n             * Comment type.\n             * + `COMMENT`: An original or initial comment inside the comments thread. This comment is a parent comment.\n             * + `REPLY`: A response to a parent comment.\n             */\n            type: string;\n        };\n        type dataset = wixDataset.Dataset;\n        type router_dataset = wixDataset.DynamicDataset;\n        type BasicEventHandler = () => void;\n        /**\n         * Function that runs when custom validation is checked.\n         */\n        type CheckboxGroupValidator = (value: string[], reject: Function) => void;\n        /**\n         * Function that runs when custom validation is checked.\n         */\n        type CheckboxValidator = (value: string, reject: Function) => void;\n        /**\n         * Function that runs when custom validation is checked.\n         */\n        type DatePickerValidator = (value: Date, reject: Function) => void;\n        /**\n         * Function that runs when custom validation is checked.\n         */\n        type DropdownValidator = (value: string, reject: Function) => void;\n        type EventHandler = (event: Event) => void;\n        type ForItemCallback = ($item: $w, itemData: any, index: number) => void;\n        /**\n         * Handles events fired when a gallery moves to a new image.\n         */\n        type GalleryItemChangedEventHandler = (event: GalleryItemChangedEvent) => void;\n        /**\n         * Handles events fired when an image in a gallery is clicked.\n         */\n        type GalleryItemClickedEventHandler = (event: GalleryItemClickedEvent) => void;\n        /**\n         * Handles events fired when a gallery starts navigation.\n         */\n        type GalleryNavigationStartEventHandler = (event: GalleryNavigationStartEvent) => void;\n        /**\n         * Handles events fired when the code in an HtmlComponent sends a message.\n         */\n        type HtmlComponentMessageEventHandler = (event: HtmlComponentMessageEvent) => void;\n        type HtmlElementEventHandler = (event: HtmlComponentMessageEvent) => void;\n        /**\n         * Handles events fired when a user hovers over a star on the rating component.\n         */\n        type IconMouseInEventHandler = (event: IconMouseInEvent) => void;\n        type ItemReadyEventHandler = ($item: $w, itemData: any, index: number) => void;\n        type ItemRemovedEventHandler = (itemData: any) => void;\n        /**\n         * Handles events fired when the keyboard is pressed.\n         */\n        type KeyboardEventHandler = (event: KeyboardEvent) => void;\n        /**\n         * Handles events fired when the mouse is used on a menu item.\n         */\n        type MenuItemMouseEventHandler = (event: MenuItemMouseEvent) => void;\n        /**\n         * Handles events fired when the mouse is clicked.\n         */\n        type MouseEventHandler = (event: MouseEvent) => void;\n        /**\n         * The callback function that runs when a comment is added or removed from the `WixComments` element.\n         */\n        type OnCommentCountChangeCallback = (count: number) => void;\n        /**\n         * The callback function that runs when a new comment is created in the `WixComments` element.\n         */\n        type OnCommentCreateCallback = (comment: WidgetComment) => void;\n        /**\n         * Handles events fired when an item in a quick action bar is clicked.\n         */\n        type QuickActionBarItemClickedEventHandler = (event: QuickActionBarItemClickedEvent) => void;\n        /**\n         * Function that runs when custom validation is checked.\n         */\n        type RadioButtonGroupValidator = (value: string, reject: Function) => void;\n        /**\n         * Function that runs when all page elements have finished loading.\n         */\n        type ReadyHandler = () => Promise<void> | void;\n        /**\n         * Handles events fired when a table cell is selected.\n         */\n        type TableCellEventHandler = (event: TableCellEvent) => void;\n        /**\n         * Handles events fired when a table row is selected.\n         */\n        type TableRowEventHandler = (event: TableRowEvent) => void;\n        /**\n         * Function that runs when custom validation is checked.\n         */\n        type TextBoxValidator = (value: string, reject: Function) => void;\n        /**\n         * Function that runs when custom validation is checked.\n         */\n        type TextInputValidator = (value: string, reject: Function) => void;\n        /**\n         * Function that runs when custom validation is checked.\n         */\n        type UploadButtonValidator = (value: UploadButton.File[], reject: Function) => void;\n        /**\n         * Function that runs when custom validation is checked.\n         */\n        type Validator = (value: any, reject: Function) => void;\n        type ViewChangeEventHandler = (event: ViewChangeEvent) => void;\n        type ViewChangeOperation = (options: AppointmentField.OperationOptions) => any;\n        /**\n         * An [accordion element](https://support.wix.com/en/article/editor-x-adding-and-customizing-an-accordion-5177642#adding-and-managing-accordion-items)\n         * is a container that holds multiple collapsible accordion item elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Accordion.html#)\n         */\n        interface Accordion extends Element {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Accordion.html#accessibility)\n             */\n            readonly accessibility: Accordion.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Accordion.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Accordion.html#tabIndex)\n             */\n            tabIndex: number;\n        }\n        /**\n         * The [account nav bar](https://support.wix.com/en/article/site-members-adding-and-customizing-your-login-bar) is the menu in a user profile.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.AccountNavBar.html#)\n         */\n        interface AccountNavBar extends Element, HiddenCollapsedMixin {\n        }\n        /**\n         * [Address input](https://support.wix.com/en/article/content-manager-adding-and-setting-up-an-address-input-element)\n         * is used for entering addresses. It lets users type\n         * an address, and suggests exact locations using Google Maps services.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.AddressInput.html#)\n         */\n        interface AddressInput extends LabelMixin, FormElement, DisabledMixin, RequiredMixin, ReadOnlyMixin, HiddenCollapsedMixin, FocusMixin, ClickableMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AddressInput.html#accessibility)\n             */\n            readonly accessibility: AddressInput.Accessibility;\n            /**\n             * Sets or gets the filter of the address input.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AddressInput.html#filter)\n             */\n            filter: AddressInput.AddressFilter;\n            /**\n             * Sets or gets the placeholder of the address input.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AddressInput.html#placeholder)\n             */\n            placeholder: string;\n            /**\n             * Sets or gets the value of the address input.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AddressInput.html#value)\n             */\n            value: AddressInput.Address;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AddressInput.html#onCustomValidation)\n             */\n            onCustomValidation(validator: AddressInput.AddressInputValidator, override?: boolean): void;\n        }\n        /**\n         * [Anchors](https://www.wix.com/support/html5/article/about-anchors)\n         *  are invisible position markers which you can place anywhere on your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Anchor.html#)\n         */\n        interface Anchor extends Node, ViewportMixin {\n            /**\n             * Gets the name of an anchor.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Anchor.html#name)\n             */\n            readonly name: string;\n        }\n        /**\n         * Use an `AppointmentField` to select dates, times, and timezones for scheduling appointments.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#)\n         */\n        interface AppointmentField extends FormElement, HiddenCollapsedMixin, DisabledMixin, FocusMixin, ClickableMixin, RequiredMixin {\n            /**\n             * Sets or gets a list of dates and times that a site visitor can select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#dateTimeRanges)\n             */\n            dateTimeRanges: AppointmentField.dateTimeRangeInfo;\n            /**\n             * Sets or gets a list of days in the week that are not selectable.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#disabledDaysOfWeek)\n             */\n            disabledDaysOfWeek: number[];\n            /**\n             * Sets or gets the latest date that a site visitor can select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#maxDate)\n             */\n            maxDate: Date;\n            /**\n             * Sets or gets the earliest date that a site visitor can select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#minDate)\n             */\n            minDate: Date;\n            /**\n             * Sets or gets the minimum amount of time before an appointment starts that a time slot is displayed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#schedulingNotice)\n             */\n            schedulingNotice: number;\n            /**\n             * Sets  or gets the interval between the times displayed in the time picker.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#timeIncrements)\n             */\n            timeIncrements: number;\n            /**\n             * Sets or gets the title of an appointment field.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#title)\n             */\n            title: string;\n            /**\n             * Sets or gets the time format.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#useAmPmFormat)\n             */\n            useAmPmFormat: boolean;\n            /**\n             * Sets or gets the date and time value of the appointment field.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#value)\n             */\n            value: Date;\n            /**\n             * Sets or gets the timezone dropdown value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#visitorTimeZone)\n             */\n            visitorTimeZone: string;\n            /**\n             * Adds an event handler that triggers when the appointment field's year or month changes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#onViewChange)\n             *  @eventType onViewChange\n             */\n            onViewChange(handler: ViewChangeEventHandler, operation?: ViewChangeOperation, timeout?: number): void;\n            /**\n             * Resets the appointment field to its original values.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#reset)\n             */\n            reset(): void;\n        }\n        /**\n         * The [audio player](https://support.wix.com/en/article/about-the-wix-audio-player) is an element for playing audio files.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#)\n         */\n        interface AudioPlayer extends Element, HiddenCollapsedMixin {\n            /**\n             * Sets or gets the name of the artist displayed in an audio player.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#artistName)\n             */\n            artistName: string;\n            /**\n             * Sets or gets the cover image displayed in an audio player.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#coverImage)\n             */\n            coverImage: string;\n            /**\n             * Gets the current play time from the beginning of the audio track, in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#currentTime)\n             */\n            readonly currentTime: number;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets the total play time of the audio track, in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#duration)\n             */\n            readonly duration: number;\n            /**\n             * Indicates if the volume is currently muted.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#isMuted)\n             */\n            readonly isMuted: boolean;\n            /**\n             * Indicates if an audio track is currently playing.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#isPlaying)\n             */\n            readonly isPlaying: boolean;\n            /**\n             * Sets or gets the file location of the audio file.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#src)\n             */\n            src: string;\n            /**\n             * Sets or gets the track name displayed in an audio player.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#trackName)\n             */\n            trackName: string;\n            /**\n             * Sets or gets an audio player's volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#volume)\n             */\n            volume: number;\n            /**\n             * Mutes audio volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#mute)\n             */\n            mute(): Promise<void>;\n            /**\n             * Adds an event handler that runs when playback has ended.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#onEnded)\n             *  @eventType onEnded\n             */\n            onEnded(handler: EventHandler): AudioPlayer;\n            /**\n             * Adds an event handler that runs when playback is paused.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#onPause)\n             *  @eventType onPause\n             */\n            onPause(handler: EventHandler): AudioPlayer;\n            /**\n             * Adds an event handler that runs when playback is started or restarted.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#onPlay)\n             *  @eventType onPlay\n             */\n            onPlay(handler: EventHandler): AudioPlayer;\n            /**\n             * Adds an event handler that runs when playback progresses.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#onProgress)\n             *  @eventType onProgress\n             */\n            onProgress(handler: EventHandler): AudioPlayer;\n            /**\n             * Pauses playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#pause)\n             */\n            pause(): Promise<void>;\n            /**\n             * Begins or resumes playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#play)\n             */\n            play(): Promise<void>;\n            /**\n             * Moves playback to the specified time, in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#seek)\n             */\n            seek(time: number): Promise<void>;\n            /**\n             * Stops playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#stop)\n             */\n            stop(): Promise<void>;\n            /**\n             * Toggles playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#togglePlay)\n             */\n            togglePlay(): Promise<void>;\n            /**\n             * Unmutes audio volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AudioPlayer.html#unmute)\n             */\n            unmute(): Promise<void>;\n        }\n        /**\n         * An avatar for the Blocks widget.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Avatar.html#)\n         */\n        interface Avatar extends HiddenCollapsedMixin, Element {\n            /**\n             * Sets or gets the first name for the person the avatar represents.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Avatar.html#firstName)\n             */\n            firstName: string;\n            /**\n             * Sets or gets the last name for the person the avatar represents.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Avatar.html#lastName)\n             */\n            lastName: string;\n            /**\n             * Sets or gets an avatar's size.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Avatar.html#size)\n             */\n            size: number;\n            /**\n             * Sets or gets the URL of the avatar's image.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Avatar.html#src)\n             */\n            src: string;\n        }\n        /**\n         * An avatar group for the Blocks widget.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.AvatarGroup.html#)\n         */\n        interface AvatarGroup extends HiddenCollapsedMixin, Element {\n            /**\n             * Sets or gets the size of the avatars in the avatar group.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AvatarGroup.html#avatarSize)\n             */\n            avatarSize: number;\n            /**\n             * Sets or gets a list of avatars to contain in the avatar group.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AvatarGroup.html#avatars)\n             */\n            avatars: Avatar[];\n            /**\n             * Sets or gets the maximum number of avatars to display in the `avatarGroup` element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AvatarGroup.html#maxAvatars)\n             */\n            maxAvatars: number;\n            /**\n             * Whether to display the count of hidden avatars in the group.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.AvatarGroup.html#showHiddenAvatarCount)\n             */\n            showHiddenAvatarCount: boolean;\n        }\n        /**\n         * Provides functionality for [background images](https://support.wix.com/en/article/wix-editor-adding-an-image-to-your-page-background) in certain elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Background.html#)\n         */\n        interface Background {\n            /**\n             * Sets or gets an object containing information about the element's background.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Background.html#background)\n             */\n            background: Background.BackgroundOptions;\n        }\n        /**\n         * Container [boxes](https://support.wix.com/en/article/container-boxes)\n         *  are used to structure your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Box.html#)\n         */\n        interface Box extends Element, HiddenCollapsedMixin, ClickableMixin, ContainableMixin, StyleMixin, FocusMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Box.html#accessibility)\n             */\n            readonly accessibility: Box.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Box.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets an object containing information about the box's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Box.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Box.html#tabIndex)\n             */\n            tabIndex: number;\n        }\n        /**\n         * [Breadcrumbs](https://support.wix.com/en/article/wix-editor-adding-and-setting-up-breadcrumbs) are used for navigating between site pages.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Breadcrumbs.html#)\n         */\n        interface Breadcrumbs extends HiddenCollapsedMixin, ViewportMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Breadcrumbs.html#accessibility)\n             */\n            readonly accessibility: Breadcrumbs.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Breadcrumbs.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Indicates if an ellipsis is displayed in the breadcrumbs trail.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Breadcrumbs.html#isEllipsisVisible)\n             */\n            readonly isEllipsisVisible: boolean;\n            /**\n             * Sets or gets breadcrumbs items.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Breadcrumbs.html#items)\n             */\n            items: Breadcrumbs.Item[];\n            /**\n             * Sets or gets the number of items that appear in the breadcrumbs trail after an ellipsis.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Breadcrumbs.html#itemsAfterEllipsis)\n             */\n            itemsAfterEllipsis: number;\n            /**\n             * Sets or gets the number of items that appear in the breadcrumbs trail before an ellipsis.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Breadcrumbs.html#itemsBeforeEllipsis)\n             */\n            itemsBeforeEllipsis: number;\n            /**\n             * Hides an ellipsis displayed in a breadcrumbs element and displays the middle items of the breadcrumbs trail instead.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Breadcrumbs.html#hideEllipsis)\n             */\n            hideEllipsis(): void;\n            /**\n             * Displays an ellipsis in a breadcrumbs element instead of the middle items of the breadcrumbs trail.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Breadcrumbs.html#showEllipsis)\n             */\n            showEllipsis(): void;\n        }\n        /**\n         * A [button](https://support.wix.com/en/article/wix-editor-about-buttons) on your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#)\n         */\n        interface Button extends Element, HiddenCollapsedMixin, DisabledMixin, LinkableMixin, ClickableMixin, StyleMixin, LabelMixin, EffectsMixin, FocusMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#accessibility)\n             */\n            readonly accessibility: Button.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the icon image displayed on the button.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#icon)\n             */\n            icon: string;\n            /**\n             * Sets or gets the animation triggers for a button's icon.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#iconAnimationTriggers)\n             */\n            iconAnimationTriggers: string[];\n            /**\n             * Indicates if the button’s icon is collapsed or expanded.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#iconCollapsed)\n             */\n            readonly iconCollapsed: boolean;\n            /**\n             * Sets or gets a button's label.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the button's link.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#link)\n             */\n            link: string;\n            /**\n             * Gets an object containing information about the button's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#tabIndex)\n             */\n            tabIndex: number;\n            /**\n             * Runs the button's icon animation backward, transitioning from the icon's end shape to the start shape.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#animateIconBackward)\n             */\n            animateIconBackward(): void;\n            /**\n             * Runs the button's icon animation forward, transitioning from the icon's start shape to the end shape.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#animateIconForward)\n             */\n            animateIconForward(): void;\n            /**\n             * Collapses the button’s icon and sets its `iconCollapsed` property to `true`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#collapseIcon)\n             */\n            collapseIcon(): Promise<void>;\n            /**\n             * Expands the button’s icon and sets its `iconCollapsed` property to `false`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#expandIcon)\n             */\n            expandIcon(): Promise<void>;\n            /**\n             * Adds an event handler that runs when the pointer is moved\n             *  onto the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#onMouseIn)\n             */\n            onMouseIn(handler: MouseEventHandler): Button;\n            /**\n             * Adds an event handler that runs when the pointer is moved\n             *  off of the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#onMouseOut)\n             */\n            onMouseOut(handler: MouseEventHandler): Button;\n        }\n        /**\n         * The [reCAPTCHA](https://support.wix.com/en/article/about-recaptcha)\n         * element allows you to present a challenge-response test to site visitors to determine whether they are human or a bot.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Captcha.html#)\n         */\n        interface Captcha extends Element, FocusMixin, HiddenCollapsedMixin {\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Captcha.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets the reCAPTCHA token.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Captcha.html#token)\n             */\n            readonly token: string;\n            /**\n             * Adds an event handler that runs when a connection error occurs while completing the CAPTCHA challenge.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Captcha.html#onError)\n             *  @eventType onError\n             */\n            onError(handler: Captcha.ErrorHandler): void;\n            /**\n             * Adds an event handler that runs when the CAPTCHA token expires.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Captcha.html#onTimeout)\n             *  @eventType onTimeout\n             */\n            onTimeout(handler: Captcha.TimeoutHandler): void;\n            /**\n             * Adds an event handler that runs when the CAPTCHA challenge is successfully completed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Captcha.html#onVerified)\n             *  @eventType onVerified\n             */\n            onVerified(handler: Captcha.VerifiedHandler): void;\n            /**\n             * Resets the reCAPTCHA element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Captcha.html#reset)\n             */\n            reset(): Promise<void>;\n        }\n        /**\n         * An icon that leads users to the shopping cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.CartIcon.html#)\n         */\n        interface CartIcon extends Element, HiddenCollapsedMixin {\n            /**\n             * **Deprecated.**\n             * This function will continue to work, but a newer version is available at\n             * [wix-stores.cart.addProducts()](https://dev.wix.com/docs/velo/api-reference/wix-stores-frontend/cart/add-products).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CartIcon.html#addProductsToCart)\n             */\n            addProductsToCart(products: CartIcon.AddToCartItem[]): Promise<void>;\n            /**\n             * **Deprecated.**\n             * This function will continue to work, but a newer version is available at\n             * [wix-ecom-backend.currentCart.addToCurrentCart()](https://dev.wix.com/docs/velo/api-reference/wix-ecom-backend/current-cart/add-to-current-cart).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CartIcon.html#addToCart)\n             */\n            addToCart(productID: string, quantity: number, options?: CartIcon.AddToCartOptions): Promise<void>;\n        }\n        /**\n         * A [chatbox](https://support.wix.com/en/article/editor-x-adding-and-customizing-chat) is an element for sending and receiving chat messages.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#)\n         */\n        interface Chatbox extends Element, HiddenMixin {\n            /**\n             * Indicates if an element appears on all pages or only on the current page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#global)\n             */\n            readonly global: boolean;\n            /**\n             * Indicates if the chatbox is visible or hidden.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#hidden)\n             */\n            readonly hidden: boolean;\n            /**\n             * Indicates if the element is actually visible.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#isVisible)\n             */\n            readonly isVisible: boolean;\n            /**\n             * Indicates if the chatbox is maximized.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#maximized)\n             */\n            readonly maximized: boolean;\n            /**\n             * Note: This standard element property is not relevant for Chatbox.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#parent)\n             */\n            readonly parent: Node;\n            /**\n             * Expands the chatbox and focuses it on the specified chat channel.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#focusChannel)\n             */\n            focusChannel(channelInfo: Chatbox.ChannelInfo): Promise<void>;\n            /**\n             * Gets a chatbox channel.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#getChannel)\n             */\n            getChannel(channelInfo: Chatbox.ChannelInfo): Promise<Chatbox.Channel>;\n            /**\n             * Gets a list of available chat channels for a site visitor.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#getChannelList)\n             */\n            getChannelList(): Promise<Chatbox.Channel[]>;\n            /**\n             * Expands the chatbox and sets its [`maximized`](#maximized) property to `true`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#maximize)\n             */\n            maximize(): Promise<void>;\n            /**\n             * Collapses the chatbox and sets its [`maximized`](#maximized) property to `false`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#minimize)\n             */\n            minimize(): Promise<void>;\n            /**\n             * An event that fires when the chatbox is maximized.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#onMaximize)\n             */\n            onMaximize(handler: BasicEventHandler): void;\n            /**\n             * An event that fires when a site visitor receives a chat message.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#onMessageReceived)\n             */\n            onMessageReceived(message: Chatbox.Message): void;\n            /**\n             * An event that fires when a site visitor sends a chat message.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#onMessageSent)\n             */\n            onMessageSent(message: Chatbox.Message): void;\n            /**\n             * An event that fires when the chatbox is minimized.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#onMinimize)\n             */\n            onMinimize(handler: BasicEventHandler): void;\n            /**\n             * Note: This standard element event is not relevant for Chatbox.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#onViewportEnter)\n             *  @eventType viewportEnter\n             */\n            onViewportEnter(handler: EventHandler): Element;\n            /**\n             * Note: This standard element event is not relevant for Chatbox.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#onViewportLeave)\n             *  @eventType viewportLeave\n             */\n            onViewportLeave(handler: EventHandler): Element;\n            /**\n             * Note: This standard element function is not relevant for Chatbox.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#scrollTo)\n             */\n            scrollTo(): Promise<void>;\n            /**\n             * Sends a chat message from a site visitor.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#sendMessage)\n             */\n            sendMessage(messageInfo: Chatbox.MessageInfo): Promise<void>;\n        }\n        /**\n         * [Checkboxes](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-checkbox) are used for a single binary choice.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Checkbox.html#)\n         */\n        interface Checkbox extends LabelMixin, FormElement, DisabledMixin, HiddenCollapsedMixin, FocusMixin, ClickableMixin, StyleMixin, RequiredMixin, CheckedMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Checkbox.html#accessibility)\n             */\n            readonly accessibility: Checkbox.Accessibility;\n            /**\n             * Sets or gets whether a checkbox is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Checkbox.html#checked)\n             */\n            checked: boolean;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Checkbox.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets or sets if a checkbox is required to be checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Checkbox.html#required)\n             */\n            required: boolean;\n            /**\n             * Gets an object containing information about the checkbox's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Checkbox.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Checkbox.html#tabIndex)\n             */\n            tabIndex: number;\n            /**\n             * Sets or gets a checkbox's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Checkbox.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Checkbox.html#onCustomValidation)\n             */\n            onCustomValidation(validator: CheckboxValidator, override?: boolean): void;\n        }\n        /**\n         * [Checkbox groups](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-checkbox) are used for selecting any number of the given\n         *  options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckboxGroup.html#)\n         */\n        interface CheckboxGroup extends LabelMixin, FormElement, HiddenCollapsedMixin, DisabledMixin, FocusMixin, ClickableMixin, StyleMixin, RequiredMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckboxGroup.html#accessibility)\n             */\n            readonly accessibility: CheckboxGroup.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckboxGroup.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the options of a checkbox group.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckboxGroup.html#options)\n             */\n            options: CheckboxGroup.Option[];\n            /**\n             * Sets or gets the indices of the selected options.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckboxGroup.html#selectedIndices)\n             */\n            selectedIndices: number[];\n            /**\n             * Gets an object containing information about the checkbox group's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckboxGroup.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the value of the selected options.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckboxGroup.html#value)\n             */\n            value: string[];\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckboxGroup.html#onCustomValidation)\n             */\n            onCustomValidation(validator: CheckboxGroupValidator, override?: boolean): void;\n        }\n        /**\n         * Provides functionality for elements that can be checked.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckedMixin.html#)\n         */\n        interface CheckedMixin {\n            /**\n             * Sets or gets whether the element is checked or not.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckedMixin.html#checked)\n             */\n            checked: boolean;\n        }\n        /**\n         * Provides functionality for elements that can be clicked.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ClickableMixin.html#)\n         */\n        interface ClickableMixin {\n            /**\n             * Adds an event handler that runs when the element is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ClickableMixin.html#onClick)\n             *  @eventType click\n             */\n            onClick(handler: MouseEventHandler): Element;\n            /**\n             * Adds an event handler that runs when the element is double-clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ClickableMixin.html#onDblClick)\n             *  @eventType dblClick\n             */\n            onDblClick(handler: MouseEventHandler): Element;\n        }\n        /**\n         * Provides functionality for elements that can be collapsed.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsedMixin.html#)\n         */\n        interface CollapsedMixin {\n            /**\n             * Indicates if the element is collapsed or expanded.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsedMixin.html#collapsed)\n             */\n            readonly collapsed: boolean;\n            /**\n             * Collapses the element and sets its `collapsed` property to `true`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsedMixin.html#collapse)\n             */\n            collapse(): Promise<void>;\n            /**\n             * Expands the element and sets its `collapsed` property to `false`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsedMixin.html#expand)\n             */\n            expand(): Promise<void>;\n        }\n        /**\n         * [Collapsible text](https://support.wix.com/en/article/adding-and-setting-up-ellipsis-text) is a text element for managing large amounts of text.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#)\n         */\n        interface CollapsibleText extends Element, HiddenCollapsedMixin, ClickableMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#accessibility)\n             */\n            readonly accessibility: CollapsibleText.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Indicates whether the ellipsis functionality is turned on.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#ellipsisEnabled)\n             */\n            readonly ellipsisEnabled: boolean;\n            /**\n             * Sets or gets the maximum number of lines of introductory text in the collapsible text.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#maxLines)\n             */\n            maxLines: number;\n            /**\n             * Sets or gets the data object of the read more action for the collapsible text.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#readMoreActionData)\n             */\n            readMoreActionData: CollapsibleText.ExpandOnCurrentPage | CollapsibleText.LinkToContent;\n            /**\n             * Sets or gets the type of read more action for the collapsible text.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#readMoreActionType)\n             */\n            readMoreActionType: string;\n            /**\n             * Sets or gets the plain-text content of a collapsible text element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#text)\n             */\n            text: string;\n            /**\n             * Adds a read more button that links to the remaining text when clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#addReadMoreButton)\n             */\n            addReadMoreButton(buttonText?: string): void;\n            /**\n             * Collapses the collapsible text and displays the introductory text with an ellipsis.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#collapseText)\n             */\n            collapseText(): void;\n            /**\n             * Turns off the ellipsis functionality.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#disableEllipsis)\n             */\n            disableEllipsis(): void;\n            /**\n             * Turns on the ellipsis functionality.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#enableEllipsis)\n             */\n            enableEllipsis(): void;\n            /**\n             * Expands the collapsible text, displays the full text, and hides the ellipsis.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#expandText)\n             */\n            expandText(): void;\n            /**\n             * Removes the read more button that links to the remaining text when clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#removeReadMoreButton)\n             */\n            removeReadMoreButton(): void;\n        }\n        /**\n         * A [column](https://support.wix.com/en/article/wix-editor-attaching-elements-to-strips-and-columns)\n         * is a component part of a `ColumnStrip`.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Column.html#)\n         */\n        interface Column extends Element, HiddenCollapsedMixin, Background, ClickableMixin, ContainableMixin, FocusMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Column.html#accessibility)\n             */\n            readonly accessibility: Column.Accessibility;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Column.html#tabIndex)\n             */\n            tabIndex: number;\n        }\n        /**\n         * A [column strip](https://support.wix.com/en/article/wix-editor-attaching-elements-to-strips-and-columns) is a strip of column elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ColumnStrip.html#)\n         */\n        interface ColumnStrip extends Element, Background, HiddenCollapsedMixin, ClickableMixin, ContainableMixin, FocusMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ColumnStrip.html#accessibility)\n             */\n            readonly accessibility: ColumnStrip.Accessibility;\n            /**\n             * Gets an object containing information about the column strip's background, such as its image or video source.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ColumnStrip.html#background)\n             */\n            readonly background: Document.BackgroundOptions;\n            /**\n             * Gets a list of all the columns contained in the column strip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ColumnStrip.html#columns)\n             */\n            readonly columns: Column[];\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ColumnStrip.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ColumnStrip.html#tabIndex)\n             */\n            tabIndex: number;\n        }\n        /**\n         * Provides functionality for elements that can contain other elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ContainableMixin.html#)\n         */\n        interface ContainableMixin {\n            /**\n             * Gets an array of the elements that are contained within the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ContainableMixin.html#children)\n             */\n            readonly children: (Element & AnyProperties)[];\n        }\n        /**\n         * A [container](https://support.wix.com/en/article/studio-editor-using-containers) for Repeater items.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Container.html#)\n         */\n        interface Container extends Element, HiddenCollapsedMixin, Background, ClickableMixin, ContainableMixin, EffectsMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Container.html#accessibility)\n             */\n            readonly accessibility: Container.Accessibility;\n            /**\n             * Adds an event handler that runs when a keyboard key is pressed while the container or one of its child elements is focused.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Container.html#onKeyPress)\n             *  @eventType keyPress\n             */\n            onKeyPress(eventHandler: KeyboardEventHandler): Element;\n        }\n        /**\n         * Provides functionality for manipulating custom CSS classes.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomClassList.html#)\n         */\n        interface CustomClassList {\n            /**\n             * Adds custom CSS classes to an element's class list.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomClassList.html#add)\n             */\n            add(...className: string[]): void;\n            /**\n             * Indicates whether the element's class list contains a specified custom CSS class.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomClassList.html#contains)\n             */\n            contains(className: string): boolean;\n            /**\n             * Removes custom CSS classes from an element's class list.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomClassList.html#remove)\n             */\n            remove(...className: string[]): void;\n            /**\n             * Replaces a custom CSS class of an element with a different custom CSS class.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomClassList.html#replace)\n             */\n            replace(currentClassName: string, newClassName: string): boolean;\n            /**\n             * Toggles an element's custom CSS class.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomClassList.html#toggle)\n             */\n            toggle(className: string): boolean;\n            /**\n             * Gets an array of strings listing an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomClassList.html#values)\n             */\n            values(): string[];\n        }\n        /**\n         * [Custom element](https://dev.wix.com/docs/develop-websites/articles/wix-editor-elements/custom-elements/about-custom-elements) provides an API for rendering a custom element.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomElement.html#)\n         */\n        interface CustomElement extends Element, HiddenCollapsedMixin {\n            /**\n             * Sets or gets the SEO markup to be rendered for search engine bots.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomElement.html#seoMarkup)\n             */\n            seoMarkup: string;\n            /**\n             * Registers a callback function in Velo for an event triggered from the custom element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomElement.html#on)\n             */\n            on(eventName: string, callBackFunction: Function): void;\n            /**\n             * Sets an HTML attribute on the custom element's DOM node.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.CustomElement.html#setAttribute)\n             */\n            setAttribute(key: string, value: string | boolean | number): void;\n        }\n        /**\n         * A button on your [dashboard page](https://dev.wix.com/docs/build-apps/developer-tools/cli/wix-cli-for-apps/dashboard-pages).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardButton.html#)\n         */\n        interface DashboardButton extends ClickableMixin, DisabledMixin, HiddenCollapsedMixin, LinkableMixin {\n            /**\n             * Indicates whether the dashboard button is currently loading.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardButton.html#isLoaderVisible)\n             */\n            readonly isLoaderVisible: boolean;\n            /**\n             * Sets or gets the dashboard button's label.\n             *\n             * Max: 120 characters\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardButton.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the dashboard button's link.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardButton.html#link)\n             */\n            link: string;\n            /**\n             * Sets or gets the dashboard button prefix.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardButton.html#prefix)\n             */\n            prefix: string | null;\n            /**\n             * Sets or gets the relationship between the page containing the dashboard button\n             * link and the target page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardButton.html#rel)\n             */\n            rel: string;\n            /**\n             * Sets or gets the dashboard button suffix.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardButton.html#suffix)\n             */\n            suffix: string | null;\n            /**\n             * Sets or gets the target of the dashboard button's link.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardButton.html#target)\n             */\n            target: string | null;\n            /**\n             * Hides the button's loading indicator.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardButton.html#hideLoader)\n             */\n            hideLoader(): void;\n            /**\n             * Shows the dashboard button's loading indicator.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardButton.html#showLoader)\n             */\n            showLoader(): void;\n        }\n        /**\n         * An element for displaying headings on your [dashboard page](https://dev.wix.com/docs/build-apps/developer-tools/cli/wix-cli-for-apps/dashboard-pages).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardHeading.html#)\n         */\n        interface DashboardHeading extends HiddenCollapsedMixin {\n            /**\n             * Sets or gets the text of a dashboard heading element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardHeading.html#text)\n             */\n            text: string;\n        }\n        /**\n         * An icon button on your [dashboard page](https://dev.wix.com/docs/build-apps/developer-tools/cli/wix-cli-for-apps/dashboard-pages).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardIconButton.html#)\n         */\n        interface DashboardIconButton extends HiddenCollapsedMixin, ClickableMixin, DisabledMixin, LinkableMixin {\n            /**\n             * Sets or gets the dashboard icon button's icon.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardIconButton.html#icon)\n             */\n            icon: string;\n            /**\n             * Sets or gets the dashboard icon button's link.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardIconButton.html#link)\n             */\n            link: string;\n            /**\n             * Sets or gets the relationship between the page containing the dashboard icon\n             * button link and the target page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardIconButton.html#rel)\n             */\n            rel: string;\n            /**\n             * Sets or gets the target of the dashboard icon button's link.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardIconButton.html#target)\n             */\n            target: string | null;\n            /**\n             * Sets or gets the dashboard icon button's tooltip content.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardIconButton.html#tooltip)\n             */\n            tooltip: string;\n        }\n        /**\n         * An element for directing visitors to important information on your [dashboard page](https://dev.wix.com/docs/build-apps/developer-tools/cli/wix-cli-for-apps/dashboard-pages).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInfoIcon.html#)\n         */\n        interface DashboardInfoIcon extends HiddenCollapsedMixin, Element {\n            /**\n             * Sets or gets an element's tooltip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInfoIcon.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Sets or gets the element's tooltip link.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInfoIcon.html#tooltipLink)\n             */\n            tooltipLink: string;\n            /**\n             * Sets or gets the element's tooltip link text.\n             *\n             * Max: 120 characters\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInfoIcon.html#tooltipLinkText)\n             */\n            tooltipLinkText: string;\n            /**\n             * Adds an event handler that runs when the link within a tooltip is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInfoIcon.html#onTooltipLinkClick)\n             *  @eventType click\n             */\n            onTooltipLinkClick(handler: EventHandler): Element;\n        }\n        /**\n         * An input element for capturing small amounts of text on your [dashboard page](https://dev.wix.com/docs/build-apps/developer-tools/cli/wix-cli-for-apps/dashboard-pages).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInput.html#)\n         */\n        interface DashboardInput extends HiddenCollapsedMixin, ValueMixin, DisabledMixin {\n            /**\n             * Sets or gets the dashboard input's label.\n             *\n             * Max: 120 characters\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInput.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the placeholder text content.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInput.html#placeholder)\n             */\n            placeholder: string;\n            /**\n             * Sets or gets the dashboard input prefix.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInput.html#prefix)\n             */\n            prefix: string;\n            /**\n             * Indicates if the dashboard input element is read-only.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInput.html#readOnly)\n             */\n            readOnly: boolean;\n            /**\n             * Sets or gets the dashboard input suffix.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInput.html#suffix)\n             */\n            suffix: string;\n            /**\n             * Sets or gets the dashboard input element's tooltip content.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInput.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Sets or gets the value in the dashboard input field.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInput.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when a key is pressed inside the dashboard input field.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInput.html#onKeyPress)\n             *  @eventType keyPress\n             */\n            onKeyPress(eventHandler: KeyboardEventHandler): Element;\n            /**\n             * Adds an event handler that runs when the key is released within the dashboard input.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardInput.html#onKeyRelease)\n             *  @eventType keyRelease\n             */\n            onKeyRelease(handler: KeyboardEventHandler): Element;\n        }\n        /**\n         * An input element for capturing numbers on your [dashboard page](https://dev.wix.com/docs/build-apps/developer-tools/cli/wix-cli-for-apps/dashboard-pages).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardNumberInput.html#)\n         */\n        interface DashboardNumberInput extends HiddenCollapsedMixin, ValueMixin, DisabledMixin {\n            /**\n             * Sets or gets the dashboard number input's label.\n             *\n             * Max: 1200 characters\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardNumberInput.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the maximum allowed input value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardNumberInput.html#max)\n             */\n            max: number;\n            /**\n             * Sets or gets the minimum allowed number value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardNumberInput.html#min)\n             */\n            min: number;\n            /**\n             * Sets or gets the placeholder text content.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardNumberInput.html#placeholder)\n             */\n            placeholder: string;\n            /**\n             * Indicates if the dashboard number input element is read-only.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardNumberInput.html#readOnly)\n             */\n            readOnly: boolean;\n            /**\n             * Sets or gets the dashboard number input's tooltip content.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardNumberInput.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Sets or gets the value in the dashboard number input field.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardNumberInput.html#value)\n             */\n            value: number;\n            /**\n             * Adds an event handler that runs when a key is pressed within\n             * the input field.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardNumberInput.html#onKeyPress)\n             *  @eventType keyPress\n             */\n            onKeyPress(eventHandler: KeyboardEventHandler): Element;\n            /**\n             * Adds an event handler that runs when the key is released within an input.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardNumberInput.html#onKeyRelease)\n             *  @eventType keyRelease\n             */\n            onKeyRelease(handler: KeyboardEventHandler): Element;\n        }\n        /**\n         * An element for displaying text on your [dashboard page](https://dev.wix.com/docs/build-apps/developer-tools/cli/wix-cli-for-apps/dashboard-pages).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardText.html#)\n         */\n        interface DashboardText extends HiddenCollapsedMixin, Element {\n            /**\n             * Sets or gets the plain-text contents of a text element.\n             *\n             * Max: 1200 characters\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardText.html#text)\n             */\n            text: string;\n        }\n        /**\n         * A text button on your [dashboard page](https://dev.wix.com/docs/build-apps/developer-tools/cli/wix-cli-for-apps/dashboard-pages).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardTextButton.html#)\n         */\n        interface DashboardTextButton extends HiddenCollapsedMixin, DisabledMixin, ClickableMixin, LinkableMixin {\n            /**\n             * Sets or gets the button's label.\n             *\n             * Max: 1200 characters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardTextButton.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the dashboard text button's link.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardTextButton.html#link)\n             */\n            link: string;\n            /**\n             * Sets or gets the dashboard text button prefix.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardTextButton.html#prefix)\n             */\n            prefix: string;\n            /**\n             * Sets or gets the relationship between the page containing the dashboard text\n             * button link and the target page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardTextButton.html#rel)\n             */\n            rel: string;\n            /**\n             * Sets or gets the dashboard text button suffix.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardTextButton.html#suffix)\n             */\n            suffix: string;\n            /**\n             * Sets or gets the target of the dashboard text button's link.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardTextButton.html#target)\n             */\n            target: string | null;\n        }\n        /**\n         * An element for creating a single binary choice on your [dashboard page](https://dev.wix.com/docs/build-apps/developer-tools/cli/wix-cli-for-apps/dashboard-pages).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardToggleSwitch.html#)\n         */\n        interface DashboardToggleSwitch extends HiddenCollapsedMixin, DisabledMixin {\n            /**\n             * Sets or gets the state of the toggle switch.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardToggleSwitch.html#checked)\n             */\n            checked: boolean;\n            /**\n             * Sets or gets the toggle switch label.\n             *\n             * Max: 120 characters\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardToggleSwitch.html#label)\n             */\n            label: string | null;\n            /**\n             * Sets or gets the toggle switch's tooltip content.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardToggleSwitch.html#tooltip)\n             */\n            tooltip: string | null;\n            /**\n             * Adds an event handler that runs when the state of the toggle switch changes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DashboardToggleSwitch.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * A dataset connects page elements to a set of items in a data collection.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#)\n         */\n        interface Dataset {\n            /**\n             * Adds a new blank item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#add)\n             */\n            add(): Promise<void>;\n            /**\n             * Returns the current item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#getCurrentItem)\n             */\n            getCurrentItem(): any;\n            /**\n             * Returns the current item's index.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#getCurrentItemIndex)\n             */\n            getCurrentItemIndex(): number;\n            /**\n             * Gets the index of the dataset's current page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#getCurrentPageIndex)\n             */\n            getCurrentPageIndex(): number;\n            /**\n             * Returns the selected items.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#getItems)\n             */\n            getItems(fromIndex: number, numberOfItems: number): Promise<Dataset.GetItemsResult>;\n            /**\n             * Gets the dataset's page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#getPageSize)\n             */\n            getPageSize(): number;\n            /**\n             * Returns the number of items in the dataset that match its filter criteria.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#getTotalCount)\n             */\n            getTotalCount(): number;\n            /**\n             * Gets the number of pages in the dataset.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#getTotalPageCount)\n             */\n            getTotalPageCount(): number;\n            /**\n             * Indicates if there is a next item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#hasNext)\n             */\n            hasNext(): boolean;\n            /**\n             * Indicates if there is a next page of data.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#hasNextPage)\n             */\n            hasNextPage(): boolean;\n            /**\n             * Indicates if there is a previous item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#hasPrevious)\n             */\n            hasPrevious(): boolean;\n            /**\n             * Indicates if there is a previous page of data.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#hasPreviousPage)\n             */\n            hasPreviousPage(): boolean;\n            /**\n             * Loads the next page of data in addition to the current data.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#loadMore)\n             */\n            loadMore(): Promise<void>;\n            /**\n             * Loads the specified page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#loadPage)\n             */\n            loadPage(pageIndex: number): Promise<any[]>;\n            /**\n             * **Deprecated.**\n             * This function will continue to work, but a newer version is available. Use the\n             * [`add()`](https://dev.wix.com/docs/velo/api-reference/$w/dataset/add) function instead.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#new)\n             */\n            new (): Promise<void>;\n            /**\n             * Saves the current item and moves to the next item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#next)\n             */\n            next(): Promise<any>;\n            /**\n             * Moves to the next page of data.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#nextPage)\n             */\n            nextPage(): Promise<any[]>;\n            /**\n             * Adds an event handler that runs just after a save.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#onAfterSave)\n             *  @eventType afterSave\n             */\n            onAfterSave(handler: Dataset.AfterSaveHandler): void;\n            /**\n             * Adds an event handler that runs just before a save.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#onBeforeSave)\n             */\n            onBeforeSave(handler: Dataset.BeforeSaveHandler): void;\n            /**\n             * Adds an event handler that runs when the current index changes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#onCurrentIndexChanged)\n             *  @eventType currentIndexChanged\n             */\n            onCurrentIndexChanged(handler: Dataset.CurrentIndexChangedHandler): void;\n            /**\n             * Adds an event handler that runs when an error occurs.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#onError)\n             *  @eventType datasetError\n             */\n            onError(handler: Dataset.ErrorHandler): void;\n            /**\n             * Adds an event handler that runs when a value of the current item changes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#onItemValuesChanged)\n             *  @eventType itemValuesChanged\n             */\n            onItemValuesChanged(handler: Dataset.ItemValuesChangedHandler): void;\n            /**\n             * Adds an event handler that runs when the dataset is ready.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#onReady)\n             *  @eventType datasetReady\n             */\n            onReady(handler: Dataset.ReadyHandler): void;\n            /**\n             * The `onReadyAsync()` function returns a Promise that resolves when a dataset is ready.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#onReadyAsync)\n             */\n            onReadyAsync(): Promise<void>;\n            /**\n             * Saves the current item and moves to the previous item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#previous)\n             */\n            previous(): Promise<any>;\n            /**\n             * Moves to the previous page of data.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#previousPage)\n             */\n            previousPage(): Promise<any[]>;\n            /**\n             * Refetches the contents of the dataset from the collection.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#refresh)\n             */\n            refresh(): Promise<void>;\n            /**\n             * Removes the current item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#remove)\n             */\n            remove(): Promise<void>;\n            /**\n             * Reverts the current item to its saved value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#revert)\n             */\n            revert(): Promise<void>;\n            /**\n             * Saves the current item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#save)\n             */\n            save(): Promise<any>;\n            /**\n             * Sets the current item by index.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#setCurrentItemIndex)\n             */\n            setCurrentItemIndex(index: number): Promise<void>;\n            /**\n             * Updates the value of a field in the current item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#setFieldValue)\n             */\n            setFieldValue(fieldKey: string, value: any): void;\n            /**\n             * Updates the values of a set of fields in the current item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#setFieldValues)\n             */\n            setFieldValues(fieldValues: any): void;\n            /**\n             * Sets the dataset filter.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#setFilter)\n             */\n            setFilter(filter: any): Promise<void>;\n            /**\n             * Sets the dataset's page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#setPageSize)\n             */\n            setPageSize(pageSize: number): Promise<void>;\n            /**\n             * Sets the dataset sort order.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#setSort)\n             */\n            setSort(sort: WixDataSort): Promise<void>;\n        }\n        /**\n         * A [date picker](https://dev.wix.com/docs/develop-websites/articles/wix-editor-elements/formatting-layout/formatting-dates#displaying-dates-in-date-pickers)\n         * is used for entering dates. It lets site visitors populate a\n         * date field by picking a date using a calendar popup.\n         * You can enable and disable dates, date ranges, and days of the week  on your date picker.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#)\n         */\n        interface DatePicker extends LabelMixin, FormElement, HiddenCollapsedMixin, DisabledMixin, FocusMixin, ReadOnlyMixin, ClickableMixin, RequiredMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#accessibility)\n             */\n            readonly accessibility: DatePicker.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the format of the date displayed in the date picker.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#dateFormat)\n             */\n            dateFormat: string;\n            /**\n             * Sets or gets ranges of dates that a site visitor can't select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#disabledDateRanges)\n             */\n            disabledDateRanges: DatePicker.DateRange[];\n            /**\n             * **Deprecated.** This property will continue to work, but a newer version is available at [`disabledDateRanges`](https://dev.wix.com/docs/velo/api-reference/$w/date-picker/disabled-date-ranges).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#disabledDates)\n             */\n            disabledDates: Date[];\n            /**\n             * Sets or gets the days of the week that a site visitor can't select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#disabledDaysOfWeek)\n             */\n            disabledDaysOfWeek: number[];\n            /**\n             * Sets or gets ranges of dates that a site visitor can select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#enabledDateRanges)\n             */\n            enabledDateRanges: DatePicker.DateRange[];\n            /**\n             * Sets or gets the latest date that a site visitor can select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#maxDate)\n             */\n            maxDate: Date;\n            /**\n             * Sets or gets the earliest date that a site visitor can select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#minDate)\n             */\n            minDate: Date;\n            /**\n             * Sets or gets the date picker's timezone.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#timeZone)\n             */\n            timeZone: string;\n            /**\n             * Sets or gets the value of the date picker.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#value)\n             */\n            value: Date;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#onCustomValidation)\n             */\n            onCustomValidation(validator: DatePickerValidator, override?: boolean): void;\n            /**\n             * Adds an event handler that triggers when the date picker's view changes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#onViewChange)\n             *  @eventType onViewChange\n             */\n            onViewChange(handler: ViewChangeEventHandler, operation?: ViewChangeOperation, timeout?: number): void;\n        }\n        /**\n         * An object representing an element's styles in the disabled state.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Disabled.html#)\n         */\n        interface Disabled {\n            /**\n             * Sets or gets the background color of an element in its disabled state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Disabled.html#backgroundColor)\n             */\n            backgroundColor: string;\n            /**\n             * Sets or gets the border color of an element in its disabled state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Disabled.html#borderColor)\n             */\n            borderColor: string;\n            /**\n             * Sets or gets the text color of an element in its disabled state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Disabled.html#color)\n             */\n            color: string;\n            /**\n             * Sets or gets the icon color of an element in its disabled state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Disabled.html#iconColor)\n             */\n            iconColor: string;\n        }\n        /**\n         * Provides functionality for elements that can be disabled.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DisabledMixin.html#)\n         */\n        interface DisabledMixin {\n            /**\n             * Indicates if the element is enabled or disabled.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DisabledMixin.html#enabled)\n             */\n            readonly enabled: boolean;\n            /**\n             * Disables the element and sets its `enabled` property to `false`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DisabledMixin.html#disable)\n             */\n            disable(): Promise<void>;\n            /**\n             * Enables the element and sets its `enabled` property to `true`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DisabledMixin.html#enable)\n             */\n            enable(): Promise<void>;\n        }\n        /**\n         * A [Document](https://support.wix.com/en/article/wix-editor-managing-your-sites-pages) is a complete web page, which consists of a Header, Page, and Footer.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Document.html#)\n         */\n        interface Document {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Document.html#accessibility)\n             */\n            readonly accessibility: Document.Accessibility;\n            /**\n             * Gets an object containing information about the document's background, such as its image or video source.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Document.html#background)\n             */\n            readonly background: Document.BackgroundOptions;\n            /**\n             * Gets the document's Header, Page, and Footer.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Document.html#children)\n             */\n            readonly children: Node[];\n            /**\n             * Gets the document's type.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Document.html#type)\n             */\n            readonly type: string;\n        }\n        /**\n         * [Dropdowns](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-dropdown-selection-for-a-form-submission)\n         * are used for selecting one of a number of options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#)\n         */\n        interface Dropdown extends LabelMixin, FormElement, HiddenCollapsedMixin, DisabledMixin, FocusMixin, ClickableMixin, StyleMixin, RequiredMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#accessibility)\n             */\n            readonly accessibility: Dropdown.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets a dropdown's label.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the options in a dropdown.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#options)\n             */\n            options: Dropdown.Option[];\n            /**\n             * Sets or gets the dropdown's placeholder text.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#placeholder)\n             */\n            placeholder: string;\n            /**\n             * Sets or gets the index of the selected option.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#selectedIndex)\n             */\n            selectedIndex: number;\n            /**\n             * Gets an object containing information about the dropdown's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#tabIndex)\n             */\n            tabIndex: number;\n            /**\n             * Sets or gets an element's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#onChange)\n             */\n            onChange(handler: EventHandler): Dropdown;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#onCustomValidation)\n             */\n            onCustomValidation(validator: DropdownValidator, override?: boolean): void;\n        }\n        /**\n         * A dynamic dataset connects page elements on a dynamic page to a set of items in a data collection.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DynamicDataset.html#)\n         */\n        interface DynamicDataset extends Dataset {\n            /**\n             * Gets the next dynamic page URL.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DynamicDataset.html#getNextDynamicPage)\n             */\n            getNextDynamicPage(): Promise<string>;\n            /**\n             * Gets the previous dynamic page URL.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.DynamicDataset.html#getPreviousDynamicPage)\n             */\n            getPreviousDynamicPage(): Promise<string>;\n        }\n        /**\n         * Use effect options to customize an effect when [showing]($w.HiddenMixin.html#show) or [hiding]($w.HiddenMixin.html#hide) an element.\n         *  Effect options include arcs, bouncing, fading, flipping, floating, flying in/out, folding, gliding and more.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.EffectOptions.html#)\n         */\n        interface EffectOptions {\n        }\n        /**\n         * Functionality for displaying the [effects](https://support.wix.com/en/article/studio-editor-about-animations#:~:text=client%27s%20exact%20needs.-,Hover%20and%20click%20interactions,-Add%20cool%20effects) defined for an element using Wix Studio.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Effects.html#)\n         */\n        interface Effects {\n            /**\n             * Gets an element's currently applied effects.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Effects.html#activeEffects)\n             */\n            readonly activeEffects: string[];\n            /**\n             * Gets all of the effects defined for an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Effects.html#allEffects)\n             */\n            readonly allEffects: string[];\n            /**\n             * Applies one or more of an element's effects.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Effects.html#applyEffects)\n             */\n            applyEffects(effects: string[]): void;\n            /**\n             * Removes all of an element's applied effects.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Effects.html#removeAllEffects)\n             */\n            removeAllEffects(): void;\n            /**\n             * Removes one or more of an element's effects.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Effects.html#removeEffects)\n             */\n            removeEffects(effects: string[]): void;\n            /**\n             * Toggles the state of one or more of an element's effects.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Effects.html#toggleEffects)\n             */\n            toggleEffects(effects: string[]): void;\n        }\n        /**\n         * Provides functionality for elements with [effects](https://support.wix.com/en/article/studio-editor-adding-a-preset-click-or-hover-interaction) defined using Wix Studio.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.EffectsMixin.html#)\n         */\n        interface EffectsMixin {\n            /**\n             * An object containing functionality for displaying the [effects](https://support.wix.com/en/article/studio-editor-adding-a-preset-click-or-hover-interaction) defined for an element using Wix Studio.\n             *\n             * >**Note:** This API can only be used in Wix Studio.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.EffectsMixin.html#effects)\n             */\n            readonly effects: Effects;\n        }\n        /**\n         * Provides basic functionality for elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Element.html#)\n         */\n        interface Element extends Node, ViewportMixin {\n            /**\n             * Indicates if an element was temporarily deleted from the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction).\n             * Use the [`restore`](#restore) function to restore the deleted element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Element.html#deleted)\n             */\n            readonly deleted: boolean;\n            /**\n             * Indicates if an element is currently in the [DOM structure](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Element.html#rendered)\n             */\n            readonly rendered: boolean;\n            /**\n             * Deletes an element from the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction).\n             * This is a temporary deletion. Use [`restore`](#restore) to restore the deleted element.\n             *\n             * SEO crawlers cannot find content in an element whose `deleted` status is `true`.\n             * Content in an element that is in `hidden` status can be found by crawlers.\n             *\n             * >**Note:** An element whose `deleted` status is `true` can be edited.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Element.html#delete)\n             */\n            delete(): Promise<void>;\n            /**\n             * Adds an event handler that runs when the pointer is moved\n             *  onto the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Element.html#onMouseIn)\n             *  @eventType mouseenter\n             */\n            onMouseIn(handler: MouseEventHandler): Element;\n            /**\n             * Adds an event handler that runs when the pointer is moved\n             *  off of the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Element.html#onMouseOut)\n             *  @eventType mouseleave\n             */\n            onMouseOut(handler: MouseEventHandler): Element;\n            /**\n             * Restores a deleted element to the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Element.html#restore)\n             */\n            restore(): Promise<void>;\n        }\n        /**\n         * Events are fired when certain actions occur to elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Event.html#)\n         */\n        interface Event {\n            /**\n             * Gets the context in which an event was fired.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Event.html#context)\n             */\n            readonly context: Event.EventContext;\n            /**\n             * Gets the element that the event was fired on.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Event.html#target)\n             */\n            readonly target: Element & AnyProperties;\n            /**\n             * Gets the type of event that was fired.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Event.html#type)\n             */\n            readonly type: string;\n        }\n        /**\n         * Provides functionality for elements that can set and lose focus.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.FocusMixin.html#)\n         */\n        interface FocusMixin {\n            /**\n             * Removes focus from the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.FocusMixin.html#blur)\n             */\n            blur(): void;\n            /**\n             * Places focus on the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.FocusMixin.html#focus)\n             */\n            focus(): void;\n            /**\n             * Adds an event handler that runs when the element loses focus.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.FocusMixin.html#onBlur)\n             *  @eventType blur\n             */\n            onBlur(handler: EventHandler): Element;\n            /**\n             * Adds an event handler that runs when the element receives focus.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.FocusMixin.html#onFocus)\n             *  @eventType focus\n             */\n            onFocus(handler: EventHandler): Element;\n        }\n        /**\n         * The [footer](https://support.wix.com/en/article/wix-editor-about-your-sites-footer) is the area of your site that appears at the bottom and\n         *  throughout all of your pages.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Footer.html#)\n         */\n        interface Footer extends Element, ClickableMixin, ContainableMixin, StyleMixin {\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Footer.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets an object containing information about the footer's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Footer.html#style)\n             */\n            readonly style: Style;\n        }\n        /**\n         * A [form](https://support.wix.com/en/article/wix-forms-adding-and-setting-up-a-form-on-your-site)\n         * is a container for the input elements and buttons in a `WixForms` `$w` element.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Form.html#)\n         */\n        interface Form extends Element, ClickableMixin, ContainableMixin, HiddenCollapsedMixin, StyleMixin {\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Form.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets an object containing information about the styles of the form.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Form.html#style)\n             */\n            readonly style: Style;\n        }\n        /**\n         * Provides functionality related to user input elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.FormElement.html#)\n         */\n        interface FormElement extends Element, ValidatableMixin, ValueMixin {\n        }\n        /**\n         * A [Gallery](https://support.wix.com/en/article/wix-editor-adding-and-setting-up-a-gallery) displays multiple items.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#)\n         */\n        interface Gallery extends Element, HiddenCollapsedMixin, PlayableMixin {\n            /**\n             * Sets or gets the action that occurs when an item in the gallery is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#clickAction)\n             */\n            clickAction: string;\n            /**\n             * Gets the index of the gallery's current item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#currentIndex)\n             */\n            readonly currentIndex: number;\n            /**\n             * Gets an object containing information about the current item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#currentItem)\n             */\n            readonly currentItem: Gallery.ImageItem | Gallery.VideoItem;\n            /**\n             * Gets an object containing information about the gallery's capabilities.\n             *\n             * >**Note:** For [gallery types](https://support.wix.com/en/article/wix-editor-customizing-your-gallery-design#switching-to-a-different-gallery-type) that display one item at a time such as a slide show layout, `isPlayable` and `hasCurrentItem` are `false` .\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#galleryCapabilities)\n             */\n            readonly galleryCapabilities: Gallery.GalleryCapabilities;\n            /**\n             * Sets or gets the items in a gallery.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#items)\n             */\n            items: Gallery.ImageItem[] | Gallery.VideoItem[];\n            /**\n             * Determines if a gallery's navigation arrows are shown.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#showNavigationButtons)\n             */\n            showNavigationButtons: boolean;\n            /**\n             * Whether navigation to the next gallery item is enabled.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#navigateNextEnabled)\n             */\n            navigateNextEnabled(): boolean;\n            /**\n             * Whether navigation to the previous gallery item is enabled.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#navigatePreviousEnabled)\n             */\n            navigatePreviousEnabled(): boolean;\n            /**\n             * Navigates to a specific gallery item index.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#navigateToIndex)\n             */\n            navigateToIndex(index: number, animationDuration?: number): void;\n            /**\n             * Adds an event handler that runs when a gallery's current item changes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#onCurrentItemChanged)\n             *  @eventType imageChanged\n             */\n            onCurrentItemChanged(handler: GalleryItemChangedEventHandler): Gallery;\n            /**\n             * Adds an event handler that runs when the gallery starts navigation.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#onGalleryNavigationStart)\n             */\n            onGalleryNavigationStart(handler: GalleryNavigationStartEventHandler): void;\n            /**\n             * Adds an event handler that runs when an item in a gallery is\n             *  clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#onItemClicked)\n             *  @eventType itemClicked\n             */\n            onItemClicked(handler: GalleryItemClickedEventHandler): Gallery;\n            /**\n             * Triggers a click event on the specified gallery item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#triggerItemClick)\n             */\n            triggerItemClick(itemIndex?: number): void;\n        }\n        /**\n         * Event that is fired when a gallery moves to a new image.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryItemChangedEvent.html#)\n         */\n        interface GalleryItemChangedEvent extends Event {\n            /**\n             * Gets the gallery item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryItemChangedEvent.html#item)\n             */\n            readonly item: Gallery.ImageItem | Gallery.VideoItem;\n            /**\n             * Gets the gallery item's index.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryItemChangedEvent.html#itemIndex)\n             */\n            readonly itemIndex: number;\n        }\n        /**\n         * Event that is fired when an image in a gallery is clicked.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryItemClickedEvent.html#)\n         */\n        interface GalleryItemClickedEvent extends GalleryItemChangedEvent, Event {\n        }\n        /**\n         * Event that is fired when a gallery starts navigation.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryNavigationStartEvent.html#)\n         */\n        interface GalleryNavigationStartEvent {\n            /**\n             * Gets the gallery animation duration in milliseconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryNavigationStartEvent.html#animationDuration)\n             */\n            readonly animationDuration: number;\n            /**\n             * Gets whether the gallery is playing automatically.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryNavigationStartEvent.html#autoplay)\n             */\n            readonly autoplay: boolean;\n            /**\n             * Gets whether the gallery is scrolling continuously.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryNavigationStartEvent.html#continuousScroll)\n             */\n            readonly continuousScroll: boolean;\n            /**\n             * Gets the index of the current item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryNavigationStartEvent.html#currentIndex)\n             */\n            readonly currentIndex: number;\n            /**\n             * Gets the direction in which the gallery is scrolling.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryNavigationStartEvent.html#scrollDirection)\n             */\n            readonly scrollDirection: string;\n            /**\n             * Gets the speed and smoothness of the transition effect when navigating between slides.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryNavigationStartEvent.html#slideTransition)\n             */\n            readonly slideTransition: string;\n            /**\n             * Gets the element that the event was fired on.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GalleryNavigationStartEvent.html#target)\n             */\n            target: void;\n        }\n        /**\n         * A [Google map element](https://www.wix.com/support/html5/article/adding-google-maps)\n         *  that allows you to display a given location.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.GoogleMap.html#)\n         */\n        interface GoogleMap extends Element, HiddenCollapsedMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GoogleMap.html#accessibility)\n             */\n            readonly accessibility: GoogleMap.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GoogleMap.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the location information of a map's marked location.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.GoogleMap.html#location)\n             */\n            location: GoogleMap.MapLocation;\n        }\n        /**\n         * Represents the icon button that closes the [hamburger menu](https://support.wix.com/en/article/editor-x-using-hamburger-menus).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerCloseButton.html#)\n         */\n        interface HamburgerCloseButton extends Element, HiddenCollapsedMixin, StyleMixin, LabelMixin, EffectsMixin {\n            /**\n             * Sets or gets the icon image displayed on the button.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerCloseButton.html#icon)\n             */\n            icon: string;\n            /**\n             * Adds an event handler that runs when the element is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerCloseButton.html#onClick)\n             *  @eventType click\n             */\n            onClick(handler: MouseEventHandler): Element;\n        }\n        /**\n         * The hamburger menu container holds the items of an expanded\n         * [hamburger menu](https://support.wix.com/en/article/studio-editor-using-hamburger-menus).\n         * It features a list of menu items that navigate to sections or pages on your site,\n         * a fullscreen overlay, and a button to close the menu.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerMenuContainer.html#)\n         */\n        interface HamburgerMenuContainer extends Element, ClickableMixin, ContainableMixin {\n            /**\n             * Indicates if the hamburger menu container is currently open.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerMenuContainer.html#opened)\n             */\n            readonly opened: boolean;\n            /**\n             * Closes the hamburger menu container.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerMenuContainer.html#close)\n             */\n            close(): Promise<void>;\n            /**\n             * Adds an event handler that is triggered when the menu container is closed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerMenuContainer.html#onClose)\n             *  @eventType close\n             */\n            onClose(handler: EventHandler): void;\n            /**\n             * Adds an event handler that is triggered when the menu container is opened.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerMenuContainer.html#onOpen)\n             *  @eventType open\n             */\n            onOpen(handler: EventHandler): void;\n            /**\n             * Opens the hamburger menu container.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerMenuContainer.html#open)\n             */\n            open(): Promise<void>;\n        }\n        /**\n         * Represents the icon button that opens the [hamburger menu](https://support.wix.com/en/article/editor-x-using-hamburger-menus).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerOpenButton.html#)\n         */\n        interface HamburgerOpenButton extends Element, HiddenCollapsedMixin, StyleMixin, LabelMixin, EffectsMixin {\n            /**\n             * Sets or gets the icon image displayed on the button.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerOpenButton.html#icon)\n             */\n            icon: string;\n            /**\n             * Adds an event handler that runs when the element is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerOpenButton.html#onClick)\n             *  @eventType click\n             */\n            onClick(handler: MouseEventHandler): Element;\n        }\n        /**\n         * Represents the fullscreen overlay that appears when the [hamburger menu](https://support.wix.com/en/article/editor-x-using-hamburger-menus) is open.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.HamburgerOverlay.html#)\n         */\n        interface HamburgerOverlay extends Element, ClickableMixin, ContainableMixin {\n        }\n        /**\n         * The [header](https://support.wix.com/en/article/wix-editor-about-your-sites-header) is the area of your site that appears at the top and\n         *  throughout all of your pages.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Header.html#)\n         */\n        interface Header extends Element, ClickableMixin, ContainableMixin, StyleMixin {\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Header.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets an object containing information about the header's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Header.html#style)\n             */\n            readonly style: Style;\n        }\n        /**\n         * Provides functionality for all elements that can be hidden or collapsed.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.HiddenCollapsedElement.html#)\n         */\n        interface HiddenCollapsedElement extends Element, HiddenCollapsedMixin {\n        }\n        /**\n         * Provides functionality for all elements that can be hidden or collapsed.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.HiddenCollapsedMixin.html#)\n         */\n        interface HiddenCollapsedMixin extends HiddenMixin, CollapsedMixin {\n        }\n        /**\n         * Provides functionality for elements that can be hidden.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.HiddenMixin.html#)\n         */\n        interface HiddenMixin {\n            /**\n             * Indicates if the element is visible or hidden.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HiddenMixin.html#hidden)\n             */\n            readonly hidden: boolean;\n            /**\n             * Indicates if the element is actually visible.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HiddenMixin.html#isVisible)\n             */\n            readonly isVisible: boolean;\n            /**\n             * Hides the element and sets its `hidden` property\n             *  to `true`, using an effect if specified.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HiddenMixin.html#hide)\n             */\n            hide(effectName?: string, effectOptions?: EffectOptions.ArcEffectOptions | EffectOptions.BounceEffectOptions | EffectOptions.FadeEffectOptions | EffectOptions.FlipEffectOptions | EffectOptions.FloatEffectOptions | EffectOptions.FlyEffectOptions | EffectOptions.FoldEffectOptions | EffectOptions.GlideEffectOptions | EffectOptions.PuffEffectOptions | EffectOptions.RollEffectOptions | EffectOptions.SlideEffectOptions | EffectOptions.SpinEffectOptions | EffectOptions.TurnEffectOptions | EffectOptions.ZoomEffectOptions): Promise<void>;\n            /**\n             * Shows the element and sets its `hidden` property\n             *  to `false`, using an effect if specified.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HiddenMixin.html#show)\n             */\n            show(effectName?: string, effectOptions?: EffectOptions.ArcEffectOptions | EffectOptions.BounceEffectOptions | EffectOptions.FadeEffectOptions | EffectOptions.FlipEffectOptions | EffectOptions.FloatEffectOptions | EffectOptions.FlyEffectOptions | EffectOptions.FoldEffectOptions | EffectOptions.GlideEffectOptions | EffectOptions.PuffEffectOptions | EffectOptions.RollEffectOptions | EffectOptions.SlideEffectOptions | EffectOptions.SpinEffectOptions | EffectOptions.TurnEffectOptions | EffectOptions.ZoomEffectOptions): Promise<void>;\n        }\n        /**\n         * An object representing an element's styles in the hover state.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Hover.html#)\n         */\n        interface Hover {\n            /**\n             * Sets or gets the background color of an element in its hover state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Hover.html#backgroundColor)\n             */\n            backgroundColor: string;\n            /**\n             * Sets or gets the border color of an element in its hover state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Hover.html#borderColor)\n             */\n            borderColor: string;\n            /**\n             * Sets or gets the text color of an element in its hover state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Hover.html#color)\n             */\n            color: string;\n            /**\n             * Sets or gets the icon color of an element in its hover state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Hover.html#iconColor)\n             */\n            iconColor: string;\n        }\n        /**\n         * An [HtmlComponent](https://support.wix.com/en/article/velo-working-with-the-html-iframe-element) is a container for internal or external HTML code.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.HtmlComponent.html#)\n         */\n        interface HtmlComponent extends IFrame {\n            /**\n             * Sets or gets the browser permissions for the HTML Component.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HtmlComponent.html#allow)\n             */\n            allow: string;\n            /**\n             * Sets or gets whether the HTML Component displays scrollbars.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HtmlComponent.html#scrolling)\n             */\n            scrolling: string;\n            /**\n             * Sets or gets the URL of the HTML Component's code.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HtmlComponent.html#src)\n             */\n            src: string;\n            /**\n             * Allows the HTML Component to be put into full screen mode.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HtmlComponent.html#allowFullScreen)\n             */\n            allowFullScreen(): HtmlComponent;\n            /**\n             * Adds an event handler that runs when the HTML Component\n             *  sends a message.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HtmlComponent.html#onMessage)\n             *  @eventType message\n             */\n            onMessage(handler: HtmlComponentMessageEventHandler): HtmlComponent;\n            /**\n             * Sends a message to the HTML Component.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HtmlComponent.html#postMessage)\n             */\n            postMessage(message: string | number | boolean | any | any[]): void;\n        }\n        /**\n         * Event that is fired when the code in an HtmlComponent sends a message.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.HtmlComponentMessageEvent.html#)\n         */\n        interface HtmlComponentMessageEvent extends Event {\n            /**\n             * Gets the event data.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.HtmlComponentMessageEvent.html#data)\n             */\n            readonly data: any;\n        }\n        /**\n         * Event that is fired when a user hovers over a star on a ratings input component.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.IconMouseInEvent.html#)\n         */\n        interface IconMouseInEvent extends Event {\n            /**\n             * Gets the display label that corresponds to the icon that the mouse entered.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.IconMouseInEvent.html#label)\n             */\n            readonly label: string;\n            /**\n             * Gets the value (1-5) that corresponds to the icon that the mouse entered.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.IconMouseInEvent.html#value)\n             */\n            readonly value: number;\n        }\n        /**\n         * Provides functionality for iframe-based elements, such as [`HtmlComponent`]($w.HtmlComponent.html).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.IFrame.html#)\n         */\n        interface IFrame extends Element, HiddenCollapsedMixin {\n        }\n        /**\n         * [Images](https://support.wix.com/en/article/wix-media-supported-media-file-types-and-file-sizes?tabs=Images)\n         * are stored in the [Media Manager](https://support.wix.com/en/article/about-the-media-manager)\n         *  or retrieved from an external web location.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Image.html#)\n         */\n        interface Image extends Element, HiddenCollapsedMixin, LinkableMixin, ClickableMixin, EffectsMixin {\n            /**\n             * Sets or gets an image's alt text.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Image.html#alt)\n             */\n            alt: string;\n            /**\n             * Sets or gets the action that occurs when an image is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Image.html#clickAction)\n             */\n            clickAction: string;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Image.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets how an image is placed inside an image element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Image.html#fitMode)\n             */\n            fitMode: string;\n            /**\n             * Sets or gets the file location of the image.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Image.html#src)\n             */\n            src: string;\n            /**\n             * Sets or gets an image's tooltip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Image.html#tooltip)\n             */\n            tooltip: string;\n        }\n        /**\n         * Event that is fired when the keyboard is pressed.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.KeyboardEvent.html#)\n         */\n        interface KeyboardEvent extends Event {\n            /**\n             * Indicates if the Option key on a Mac or Alt key on a PC was pressed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.KeyboardEvent.html#altKey)\n             */\n            readonly altKey: boolean;\n            /**\n             * Indicates if the Control (Ctrl) key was pressed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.KeyboardEvent.html#ctrlKey)\n             */\n            readonly ctrlKey: boolean;\n            /**\n             * Gets a string representation of the key that was pressed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.KeyboardEvent.html#key)\n             */\n            readonly key: string;\n            /**\n             * Indicates if the ⌘ Command key on a Mac or ⊞ Windows key on a PC was pressed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.KeyboardEvent.html#metaKey)\n             */\n            readonly metaKey: boolean;\n            /**\n             * Indicates if the Shift key was pressed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.KeyboardEvent.html#shiftKey)\n             */\n            readonly shiftKey: boolean;\n        }\n        /**\n         * Provides functionality for elements that have a label.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.LabelMixin.html#)\n         */\n        interface LabelMixin {\n            /**\n             * Sets or gets the label of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.LabelMixin.html#label)\n             */\n            label: string;\n        }\n        /**\n         * Provides functionality for elements that can act as links.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.LinkableMixin.html#)\n         */\n        interface LinkableMixin {\n            /**\n             * Sets or gets the element's link.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.LinkableMixin.html#link)\n             */\n            link: string;\n            /**\n             * Gets or sets the relationship between the link's source page and the target page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.LinkableMixin.html#rel)\n             */\n            rel: string;\n            /**\n             * Sets or gets the target of the element's link.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.LinkableMixin.html#target)\n             */\n            target: string;\n        }\n        /**\n         * The [Lottie](https://support.wix.com/en/article/wix-editor-importing-lottie-animations-to-your-site)\n         * element is used for adding and customizing a Lottie animation.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Lottie.html#)\n         */\n        interface Lottie extends Element, FocusMixin, HiddenCollapsedMixin, ClickableMixin {\n            /**\n             * Sets or gets a Lottie animation's alt text.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Lottie.html#alt)\n             */\n            alt: string;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Lottie.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets whether the Lottie animation plays in a loop.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Lottie.html#loop)\n             */\n            loop: boolean;\n            /**\n             * Sets or gets the Lottie animation's playback speed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Lottie.html#speed)\n             */\n            speed: number;\n            /**\n             * Sets or gets the source of the Lottie animation.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Lottie.html#src)\n             */\n            src: string;\n            /**\n             * Pauses playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Lottie.html#pause)\n             */\n            pause(): void;\n            /**\n             * Begins or resumes playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Lottie.html#play)\n             */\n            play(): void;\n            /**\n             * Stops the playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Lottie.html#stop)\n             */\n            stop(): void;\n        }\n        /**\n         * A container for media items.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MediaBox.html#)\n         */\n        interface MediaBox extends Element, HiddenCollapsedMixin, Background {\n        }\n        /**\n         * [Menus](https://support.wix.com/en/article/wix-editor-adding-a-site-menu) are used for navigating between site pages.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Menu.html#)\n         */\n        interface Menu extends Element, HiddenCollapsedMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Menu.html#accessibility)\n             */\n            readonly accessibility: Menu.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Menu.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets menu items.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Menu.html#menuItems)\n             */\n            menuItems: Menu.MenuItem[];\n            /**\n             * Adds an event handler that runs when a user clicks a menu item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Menu.html#onItemClick)\n             *  @eventType ItemMouseClick\n             */\n            onItemClick(handler: MenuItemMouseEventHandler): Menu.MenuItem;\n            /**\n             * Adds an event handler that runs when a user double clicks a menu item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Menu.html#onItemDblClick)\n             *  @eventType ItemMouseDblClick\n             */\n            onItemDblClick(handler: MenuItemMouseEventHandler): Menu.MenuItem;\n            /**\n             * Adds an event handler that runs when a user hovers over a menu item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Menu.html#onItemMouseIn)\n             *  @eventType ItemMouseIn\n             */\n            onItemMouseIn(handler: MenuItemMouseEventHandler): Menu.MenuItem;\n            /**\n             * Adds an event handler that runs when a user stops hovering over a menu item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Menu.html#onItemMouseOut)\n             *  @eventType ItemMouseOut\n             */\n            onItemMouseOut(handler: MenuItemMouseEventHandler): Menu.MenuItem;\n        }\n        /**\n         * A [menu container](https://support.wix.com/en/article/wix-editor-about-the-mobile-menu) holds the elements in a\n         *  mobile menu that are used for navigating between mobile site pages.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuContainer.html#)\n         */\n        interface MenuContainer extends Element {\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuContainer.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Closes a mobile menu.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuContainer.html#close)\n             */\n            close(): Promise<void>;\n            /**\n             * Opens a mobile menu.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuContainer.html#open)\n             */\n            open(): Promise<void>;\n        }\n        /**\n         * Event that is fired when the mouse is used on a menu item.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuItemMouseEvent.html#)\n         */\n        interface MenuItemMouseEvent extends Event {\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  left edge of the browser's viewable area.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuItemMouseEvent.html#clientX)\n             */\n            readonly clientX: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  top edge of the browser's viewable area.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuItemMouseEvent.html#clientY)\n             */\n            readonly clientY: number;\n            /**\n             * The menu item on which the event occurred.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuItemMouseEvent.html#item)\n             */\n            readonly item: Menu.MenuItem;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  left edge of the element that triggered this event.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuItemMouseEvent.html#offsetX)\n             */\n            readonly offsetX: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  top edge of the element that triggered this event.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuItemMouseEvent.html#offsetY)\n             */\n            readonly offsetY: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  left edge of the page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuItemMouseEvent.html#pageX)\n             */\n            readonly pageX: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  top edge of the page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuItemMouseEvent.html#pageY)\n             */\n            readonly pageY: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  left edge of the screen or screens.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuItemMouseEvent.html#screenX)\n             */\n            readonly screenX: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  top edge of the screen or screens.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MenuItemMouseEvent.html#screenY)\n             */\n            readonly screenY: number;\n        }\n        /**\n         * A button element on a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileButton.html#)\n         */\n        interface MobileButton extends MobileElement, MobileHiddenCollapsedMixin, MobileDisabledMixin, MobilePressableMixin {\n            /**\n             * Sets or gets a mobile button's label.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileButton.html#label)\n             */\n            label: string;\n        }\n        /**\n         * A container element for repeater items on a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileContainer.html#)\n         */\n        interface MobileContainer extends MobileElement, MobileHiddenCollapsedMixin, MobilePressableMixin, ContainableMixin {\n        }\n        /**\n         * A mobile date picker\n         * is used for entering dates. It lets mobile app users populate a\n         * date field by picking a date using a calendar popup.\n         * You can enable and disable dates, date ranges, and days of the week on your date picker.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#)\n         */\n        interface MobileDatePicker extends Element, DisabledMixin, HiddenCollapsedMixin, MobileValueMixin, ReadOnlyMixin, RequiredMixin {\n            /**\n             * Gets the format of the date displayed in the mobile date picker.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#dateFormat)\n             */\n            dateFormat: string;\n            /**\n             * Sets or gets ranges of dates that an app user can't select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#disabledDateRanges)\n             */\n            disabledDateRanges: MobileDatePicker.DateRange[];\n            /**\n             * Sets or gets the days of the week that an app user can't select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#disabledDaysOfWeek)\n             */\n            disabledDaysOfWeek: number[];\n            /**\n             * Sets or gets ranges of dates that an app user can select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#enabledDateRanges)\n             */\n            enabledDateRanges: MobileDatePicker.DateRange[];\n            /**\n             * Sets or gets the label of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the latest date that an app user can select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#maxDate)\n             */\n            maxDate: Date;\n            /**\n             * Sets or gets the earliest date that an app user can select.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#minDate)\n             */\n            minDate: Date;\n            /**\n             * Sets or gets the mobile date picker's placeholder text.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#placeholder)\n             */\n            placeholder: string;\n            /**\n             * Sets or gets the mobile date picker's timezone.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#timeZone)\n             */\n            timeZone: string;\n        }\n        /**\n         * Provides functionality for mobile elements that can be disabled.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDisabledMixin.html#)\n         */\n        interface MobileDisabledMixin {\n            /**\n             * Indicates if the mobile element is enabled or disabled.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDisabledMixin.html#enabled)\n             */\n            readonly enabled: boolean;\n            /**\n             * Disables the mobile element and sets its `enabled` property to `false`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDisabledMixin.html#disable)\n             */\n            disable(): Promise<void>;\n            /**\n             * Enables the mobile element and sets its `enabled` property to `true`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDisabledMixin.html#enable)\n             */\n            enable(): Promise<void>;\n        }\n        /**\n         * Provides basic functionality for mobile elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileElement.html#)\n         */\n        interface MobileElement {\n            /**\n             * Gets the mobile element's ID.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileElement.html#id)\n             */\n            readonly id: string;\n            /**\n             * Gets the mobile element's parent element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileElement.html#parent)\n             */\n            readonly parent: Node;\n            /**\n             * Gets the mobile element's type.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileElement.html#type)\n             */\n            readonly type: string;\n        }\n        /**\n         * Provides functionality for input elements on mobile apps.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileFormElementMixin.html#)\n         */\n        interface MobileFormElementMixin extends MobileElement, MobileValueMixin {\n            /**\n             * Sets or gets whether to validate the mobile element when it loses focus.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileFormElementMixin.html#validateOnBlur)\n             */\n            validateOnBlur: boolean;\n        }\n        /**\n         * Provides functionality for all mobile elements that can be hidden or collapsed.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileHiddenCollapsedMixin.html#)\n         */\n        interface MobileHiddenCollapsedMixin extends MobileHiddenMixin, CollapsedMixin {\n            /**\n             * Indicates if the element is collapsed or expanded.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileHiddenCollapsedMixin.html#collapsed)\n             */\n            readonly collapsed: boolean;\n            /**\n             * Collapses the element and sets its `collapsed` property to `true`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileHiddenCollapsedMixin.html#collapse)\n             */\n            collapse(): Promise<void>;\n            /**\n             * Expands the element and sets its `collapsed` property to `false`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileHiddenCollapsedMixin.html#expand)\n             */\n            expand(): Promise<void>;\n        }\n        /**\n         * Provides functionality for mobile elements that can be hidden.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileHiddenMixin.html#)\n         */\n        interface MobileHiddenMixin extends HiddenMixin {\n            /**\n             * Indicates if the element is visible or hidden.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileHiddenMixin.html#hidden)\n             */\n            readonly hidden: boolean;\n            /**\n             * Indicates if the element is actually visible.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileHiddenMixin.html#isVisible)\n             */\n            readonly isVisible: boolean;\n            /**\n             * Hides the element and sets its `hidden` property\n             *  to `true`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileHiddenMixin.html#hide)\n             */\n            hide(): Promise<void>;\n            /**\n             * Shows the element and sets its `hidden` property\n             *  to `false`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileHiddenMixin.html#show)\n             */\n            show(): Promise<void>;\n        }\n        /**\n         * An image element on a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileImage.html#)\n         */\n        interface MobileImage extends MobileElement, MobileHiddenCollapsedMixin, MobilePressableMixin {\n            /**\n             * Sets or gets the image's source.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileImage.html#src)\n             */\n            src: string;\n        }\n        /**\n         * A picker for selecting items on a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePicker.html#)\n         */\n        interface MobilePicker extends MobileElement, LabelMixin, MobileValueMixin, MobileHiddenCollapsedMixin, MobileDisabledMixin, MobilePressableMixin {\n            /**\n             * Sets or gets the picker's options.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePicker.html#options)\n             */\n            options: MobilePicker.Option[];\n            /**\n             * Sets or gets the option dialog's subtitle.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePicker.html#optionsDialogSubtitle)\n             */\n            optionsDialogSubtitle: string;\n            /**\n             * Sets or gets the option dialog's title.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePicker.html#optionsDialogTitle)\n             */\n            optionsDialogTitle: string;\n            /**\n             * Sets or gets the indicies of the selected options.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePicker.html#selectedIndices)\n             */\n            selectedIndices: number[];\n            /**\n             * Sets or gets the value of the selected option.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePicker.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when the mobile picker element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePicker.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): MobilePicker;\n        }\n        /**\n         * Provides functionality for elements on a mobile app that can be pressed.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePressableMixin.html#)\n         */\n        interface MobilePressableMixin {\n            /**\n             * Adds an event handler that runs when the element is pressed for more than 500 milliseconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePressableMixin.html#onLongPress)\n             *  @eventType longPress\n             */\n            onLongPress(handler: EventHandler): MobileElement;\n            /**\n             * Adds an event handler that runs when an element on a mobile app is pressed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePressableMixin.html#onPress)\n             *  @eventType press\n             */\n            onPress(handler: EventHandler): MobileElement;\n            /**\n             * Adds an event handler that runs immediately when an element on a mobile app is pressed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePressableMixin.html#onPressIn)\n             *  @eventType pressIn\n             */\n            onPressIn(handler: EventHandler): MobileElement;\n            /**\n             * Adds an event handler that runs when an element on a mobile app is released after being pressed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePressableMixin.html#onPressOut)\n             *  @eventType pressOut\n             */\n            onPressOut(handler: EventHandler): MobileElement;\n        }\n        /**\n         * The [repeater](https://support.wix.com/en/article/wix-editor-adding-and-managing-repeaters-lists-grids) mobile\n         * element is used to create repeating layouts on a mobile app widget.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileRepeater.html#)\n         */\n        interface MobileRepeater extends MobileElement, MobileHiddenCollapsedMixin {\n            /**\n             * Sets or gets the repeater data.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileRepeater.html#data)\n             */\n            data: any[];\n            /**\n             * Runs a function for each repeated item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileRepeater.html#forEachItem)\n             */\n            forEachItem(callback: ForItemCallback): void;\n            /**\n             * Runs a function for each repeated item with the given IDs.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileRepeater.html#forItems)\n             */\n            forItems(itemIds: string[], callback: ForItemCallback): void;\n            /**\n             * Sets the function that runs when a new repeated item is created.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileRepeater.html#onItemReady)\n             *  @eventType itemReady\n             */\n            onItemReady(handler: ItemReadyEventHandler): MobileRepeater;\n            /**\n             * Sets the function that runs when a repeated item is removed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileRepeater.html#onItemRemoved)\n             *  @eventType itemRemoved\n             */\n            onItemRemoved(handler: ItemRemovedEventHandler): MobileRepeater;\n        }\n        /**\n         * A switch used for a single binary choice on a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileSwitch.html#)\n         */\n        interface MobileSwitch extends MobileElement, MobileDisabledMixin, MobileHiddenCollapsedMixin {\n            /**\n             * Sets or gets the value of the switch state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileSwitch.html#value)\n             */\n            value: boolean;\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileSwitch.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * A text element on a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileText.html#)\n         */\n        interface MobileText extends MobileElement, MobileHiddenCollapsedMixin, MobilePressableMixin {\n            /**\n             * Sets or gets the plain-text contents of a text element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileText.html#text)\n             */\n            text: string;\n        }\n        /**\n         * A [text input](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-text-input) element for capturing small amounts of text on a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileTextInput.html#)\n         */\n        interface MobileTextInput extends MobileElement, LabelMixin, MobileFormElementMixin, MobileHiddenCollapsedMixin, MobileDisabledMixin {\n            /**\n             * Sets or gets the input element's placeholder text.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileTextInput.html#placeholder)\n             */\n            placeholder: string;\n        }\n        /**\n         * Provides functionality for mobile elements that have values.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileValueMixin.html#)\n         */\n        interface MobileValueMixin {\n            /**\n             * Indicates if an input element's value is valid.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileValueMixin.html#valid)\n             */\n            readonly valid: boolean;\n            /**\n             * Sets or gets whether to validate the mobile element when its value changes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileValueMixin.html#validateOnChange)\n             */\n            validateOnChange: boolean;\n            /**\n             * Sets or gets whether to validate the mobile element when it is loaded.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileValueMixin.html#validateOnStart)\n             */\n            validateOnStart: boolean;\n            /**\n             * Sets or gets the validations for mobile elements in a form.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileValueMixin.html#validations)\n             */\n            validations: MobileValueMixin.Validation[];\n            /**\n             * Sets or gets an element's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileValueMixin.html#value)\n             */\n            value: any;\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileValueMixin.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): MobileElement;\n        }\n        /**\n         * [Mobile Video player](https://support.wix.com/en/article/wix-video-displaying-videos-on-your-site) is an element for presenting videos.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#)\n         */\n        interface MobileVideoPlayer extends Element, HiddenCollapsedMixin {\n            /**\n             * Gets the current play time from the beginning of the current video, in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#currentTime)\n             */\n            readonly currentTime: number;\n            /**\n             * Sets or gets the description of a video.\n             *  > **Note:** Setting a video description only works when a mobile video player is presenting a\n             *  >   video uploaded to your app.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#description)\n             */\n            description: string;\n            /**\n             * Gets the total play time of the current video in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#duration)\n             */\n            readonly duration: number;\n            /**\n             * Indicates if the volume is currently muted.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#isMuted)\n             */\n            readonly isMuted: boolean;\n            /**\n             * Indicates if a video is currently playing.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#isPlaying)\n             */\n            readonly isPlaying: boolean;\n            /**\n             * Sets or gets the image shown in the video player before the video is played.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#poster)\n             */\n            poster: string;\n            /**\n             * Sets or gets the file location of the current video.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#src)\n             */\n            src: string;\n            /**\n             * Sets or gets the title displayed in a mobile video player.\n             *  > **Note:** Setting a video title only works when a mobile video player is presenting a\n             *  >   video uploaded to your site.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#title)\n             */\n            title: string;\n            /**\n             * Sets or gets the video player volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#volume)\n             */\n            volume: number;\n            /**\n             * Mutes video volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#mute)\n             */\n            mute(): Promise<void>;\n            /**\n             * Moves to the next item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#next)\n             */\n            next(): Promise<Element>;\n            /**\n             * Adds an event handler that runs when playback has ended.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#onEnded)\n             *  @eventType onEnded\n             */\n            onEnded(handler: EventHandler): MobileVideoPlayer;\n            /**\n             * Adds an event handler that runs when playback is paused.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#onPause)\n             *  @eventType onPause\n             */\n            onPause(handler: EventHandler): MobileVideoPlayer;\n            /**\n             * Adds an event handler that runs when playback is started or restarted.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#onPlay)\n             *  @eventType onPlay\n             */\n            onPlay(handler: EventHandler): MobileVideoPlayer;\n            /**\n             * Adds an event handler that runs when playback progresses.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#onProgress)\n             *  @eventType onProgress\n             */\n            onProgress(handler: EventHandler): MobileVideoPlayer;\n            /**\n             * Pauses playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#pause)\n             */\n            pause(): Promise<void>;\n            /**\n             * Begins or resumes playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#play)\n             */\n            play(): Promise<void>;\n            /**\n             * Moves to the previous image or slide.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#previous)\n             */\n            previous(): Promise<Element>;\n            /**\n             * Moves playback to the specified time, in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#seek)\n             */\n            seek(time: number): Promise<void>;\n            /**\n             * Pauses playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#stop)\n             */\n            stop(): Promise<void>;\n            /**\n             * Toggles playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#togglePlay)\n             */\n            togglePlay(): Promise<void>;\n            /**\n             * Unmutes video volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileVideoPlayer.html#unmute)\n             */\n            unmute(): Promise<void>;\n        }\n        /**\n         * Event that is fired when the mouse is clicked.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MouseEvent.html#)\n         */\n        interface MouseEvent extends Event {\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  left edge of the browser's viewable area.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MouseEvent.html#clientX)\n             */\n            readonly clientX: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  top edge of the browser's viewable area.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MouseEvent.html#clientY)\n             */\n            readonly clientY: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  left edge of the element that triggered this event.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MouseEvent.html#offsetX)\n             */\n            readonly offsetX: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  top edge of the element that triggered this event.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MouseEvent.html#offsetY)\n             */\n            readonly offsetY: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  left edge of the page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MouseEvent.html#pageX)\n             */\n            readonly pageX: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  top edge of the page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MouseEvent.html#pageY)\n             */\n            readonly pageY: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  left edge of the screen or screens.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MouseEvent.html#screenX)\n             */\n            readonly screenX: number;\n            /**\n             * Gets the distance in pixels between the pointer and the\n             *  top edge of the screen or screens.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MouseEvent.html#screenY)\n             */\n            readonly screenY: number;\n        }\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/$w.MultiStateBox.html#)\n         */\n        interface MultiStateBox extends Element, HiddenCollapsedMixin, ClickableMixin, ContainableMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MultiStateBox.html#accessibility)\n             */\n            readonly accessibility: MultiStateBox.Accessibility;\n            /**\n             * Gets the multi-state box's current state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MultiStateBox.html#currentState)\n             */\n            readonly currentState: State;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MultiStateBox.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets a list of all the states contained in the multi-state box.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MultiStateBox.html#states)\n             */\n            readonly states: State[];\n            /**\n             * Sets or gets the tab index of a multi-state box on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MultiStateBox.html#tabIndex)\n             */\n            tabIndex: number;\n            /**\n             * Change the multi-state box's current state to a specific state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MultiStateBox.html#changeState)\n             */\n            changeState(stateReference: string | State): Promise<State>;\n            /**\n             * Adds an event handler that runs when the multi-state box moves to a new state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.MultiStateBox.html#onChange)\n             *  @eventType change\n             */\n            onChange(eventHandler: EventHandler): MultiStateBox;\n        }\n        /**\n         * Provides basic functionality for all Wix objects, including objects\n         *  that are not [elements]($w.Element.html).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Node.html#)\n         */\n        interface Node {\n            /**\n             * Indicates if an element appears on all pages or only on the current page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Node.html#global)\n             */\n            readonly global: boolean;\n            /**\n             * Gets the element's ID.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Node.html#id)\n             */\n            readonly id: string;\n            /**\n             * Gets the element's parent element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Node.html#parent)\n             */\n            readonly parent: Node;\n            /**\n             * Gets the element's type.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Node.html#type)\n             */\n            readonly type: string;\n            /**\n             * Scrolls the page to the top of the element using an animation.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Node.html#scrollTo)\n             */\n            scrollTo(): Promise<void>;\n        }\n        /**\n         * A [page](https://support.wix.com/en/article/wix-editor-adding-a-page-to-your-site) is a web page that can contain other elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Page.html#)\n         */\n        interface Page extends Element, ClickableMixin, ContainableMixin {\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Page.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets the page's [SEO description](https://support.wix.com/en/article/adding-seo-page-titles-and-descriptions-meta-tags).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Page.html#description)\n             */\n            readonly description: string;\n            /**\n             * Gets the page's keywords.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Page.html#keywords)\n             */\n            readonly keywords: string[];\n            /**\n             * Gets the page's title.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Page.html#title)\n             */\n            readonly title: string;\n            /**\n             * Indicates if the page is included in the site's menu.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Page.html#visibleInMenu)\n             */\n            readonly visibleInMenu: boolean;\n        }\n        /**\n         * [Pagination](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-pagination-bar) is an element for working with paging.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#)\n         */\n        interface Pagination extends Element, DisabledMixin, HiddenCollapsedMixin, ClickableMixin, ViewportMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#accessibility)\n             */\n            readonly accessibility: Pagination.Accessibility;\n            /**\n             * Sets or gets the current page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#currentPage)\n             */\n            currentPage: number;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Navigation layout type.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#navigationType)\n             */\n            navigationType: string;\n            /**\n             * Whether the Next button is enabled in the pagination bar.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#nextEnabled)\n             */\n            nextEnabled: boolean;\n            /**\n             * Whether the Previous button is enabled in the pagination bar.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#previousEnabled)\n             */\n            previousEnabled: boolean;\n            /**\n             * Sets or gets the total number of pages shown in a pagination bar.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#totalPages)\n             */\n            totalPages: number;\n            /**\n             * Adds an event handler that runs when the pagination bar\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#onChange)\n             *  @eventType Change\n             */\n            onChange(handler: EventHandler): Pagination;\n            /**\n             * Adds an event handler that runs when the Next button in the pagination bar is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#onNextClicked)\n             *  @eventType Click\n             */\n            onNextClicked(handler: EventHandler): Pagination;\n            /**\n             * Adds an event handler that runs when the Previous button in the pagination bar is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#onPreviousClicked)\n             *  @eventType Click\n             */\n            onPreviousClicked(handler: EventHandler): Pagination;\n        }\n        /**\n         * A button on your Blocks panel.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#)\n         */\n        interface PanelButton extends HiddenCollapsedMixin, Element, DisabledMixin, LinkableMixin {\n            /**\n             * Sets or gets the button's label (the text that appears on the button).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#buttonLabel)\n             */\n            buttonLabel: string;\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets the text above the button (field title). Maximum length is 120 characters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the element's link to an external site.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#link)\n             */\n            link: string;\n            /**\n             * Sets or gets the relationship between the page containing the panel button\n             * link and the target page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#rel)\n             */\n            rel: string;\n            /**\n             * Sets or gets the button's size.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#size)\n             */\n            size: string;\n            /**\n             * Sets or gets the button's skin.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#skin)\n             */\n            skin: string;\n            /**\n             * Sets or gets whether the button is stretched to the full width of the panel.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#stretched)\n             */\n            stretched: boolean;\n            /**\n             * Sets or gets an element's tooltip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Adds an event handler that runs when the element is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#onClick)\n             *  @eventType click\n             */\n            onClick(handler: EventHandler): Element;\n        }\n        /**\n         * Panel checkbox groups are used in the Blocks panel builder for selecting any number of the given options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelCheckboxGroup.html#)\n         */\n        interface PanelCheckboxGroup extends HiddenCollapsedMixin, Element, DisabledMixin {\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelCheckboxGroup.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets the label of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelCheckboxGroup.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the options of the checkbox group.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelCheckboxGroup.html#options)\n             */\n            options: PanelCheckboxGroup.option[];\n            /**\n             * Sets or gets the indices of the selected options.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelCheckboxGroup.html#selectedIndices)\n             */\n            selectedIndices: number[];\n            /**\n             * Sets or gets an element's tooltip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelCheckboxGroup.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Sets or gets the value of the selected options.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelCheckboxGroup.html#value)\n             */\n            value: string[];\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelCheckboxGroup.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * Panel color picker elements are used in the Wix Blocks panel builder for selecting colors.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelColorPicker.html#)\n         */\n        interface PanelColorPicker extends PanelElementMixin, HiddenCollapsedMixin, Element, DisabledMixin, PanelElementMixin {\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelColorPicker.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets an element's color value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelColorPicker.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when an element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelColorPicker.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * Panel dropdowns are used in the Blocks panel builder for selecting one of a number of options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelDropdown.html#)\n         */\n        interface PanelDropdown extends HiddenCollapsedMixin, Element, DisabledMixin {\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelDropdown.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets the label of an element. Maximum length is 120 characters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelDropdown.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the options in the dropdown.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelDropdown.html#options)\n             */\n            options: PanelDropdown.option[];\n            /**\n             * Sets or gets the placeholder text of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelDropdown.html#placeholder)\n             */\n            placeholder: string;\n            /**\n             * Sets or gets the index of the selected option.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelDropdown.html#selectedIndex)\n             */\n            selectedIndex: number;\n            /**\n             * Sets or gets an element's tooltip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelDropdown.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Sets or gets an element's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelDropdown.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelDropdown.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * Provides functionality for panel elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelElementMixin.html#)\n         */\n        interface PanelElementMixin extends LabelMixin {\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelElementMixin.html#divider)\n             */\n            divider: string;\n        }\n        /**\n         * Panel font and color picker elements are used in the Wix Blocks panel builder for selecting fonts and colors.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelFontAndColorPicker.html#)\n         */\n        interface PanelFontAndColorPicker extends PanelElementMixin, HiddenCollapsedMixin, Element, DisabledMixin {\n            /**\n             * Sets or gets an element's color.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelFontAndColorPicker.html#color)\n             */\n            color: string;\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelFontAndColorPicker.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets an element's font.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelFontAndColorPicker.html#fontFamily)\n             */\n            fontFamily: string;\n            /**\n             * Sets or gets an element's tooltip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelFontAndColorPicker.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Adds an event handler that runs when an element's color value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelFontAndColorPicker.html#onColorChange)\n             *  @eventType change\n             */\n            onColorChange(handler: EventHandler): Element;\n            /**\n             * Adds an event handler that runs when an element's font value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelFontAndColorPicker.html#onFontChange)\n             *  @eventType change\n             */\n            onFontChange(handler: EventHandler): Element;\n        }\n        /**\n         * Panel radio button groups are used in the Blocks panel builder for selecting one of a number of options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRadioButtonGroup.html#)\n         */\n        interface PanelRadioButtonGroup extends HiddenCollapsedMixin, Element, DisabledMixin {\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRadioButtonGroup.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets the label of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRadioButtonGroup.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the options in the radio button group.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRadioButtonGroup.html#options)\n             */\n            options: PanelRadioButtonGroup.option[];\n            /**\n             * Sets or gets the index of the selected option.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRadioButtonGroup.html#selectedIndex)\n             */\n            selectedIndex: number;\n            /**\n             * Sets or gets an element's tooltip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRadioButtonGroup.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Sets or gets an element's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRadioButtonGroup.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRadioButtonGroup.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * A rich text element is used in the Blocks panel builder to display text followed by a link.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRichText.html#)\n         */\n        interface PanelRichText extends HiddenCollapsedMixin, Element {\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRichText.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets the URL of the rich text's link\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRichText.html#link)\n             */\n            link: string;\n            /**\n             * Sets or gets the label of the rich text's link\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRichText.html#linkLabel)\n             */\n            linkLabel: string;\n            /**\n             * Sets or gets the target of the rich text's link\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRichText.html#target)\n             */\n            target: string;\n            /**\n             * Sets or gets the text part of the rich text element (without the link). Maximum length is 120,000 characters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRichText.html#text)\n             */\n            text: string;\n        }\n        /**\n         * Displays a section heading in the Blocks panel.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSectionDivider.html#)\n         */\n        interface PanelSectionDivider extends HiddenCollapsedMixin, Element {\n            /**\n             * Sets or gets the label of an element. Maximum length is 120 characters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSectionDivider.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets an element's tooltip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSectionDivider.html#tooltip)\n             */\n            tooltip: string;\n        }\n        /**\n         * Panel sliders allow site creators to select a number from a given range.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSlider.html#)\n         */\n        interface PanelSlider extends HiddenCollapsedMixin, Element, DisabledMixin {\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSlider.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets the label of an element. Maximum length is 120 characters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSlider.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the slider's maximum value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSlider.html#max)\n             */\n            max: number;\n            /**\n             * Sets or gets the slider's minimum value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSlider.html#min)\n             */\n            min: number;\n            /**\n             * Sets or gets the slider's step value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSlider.html#step)\n             */\n            step: number;\n            /**\n             * Sets or gets an element's tooltip. Maximum length is 1200 characters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSlider.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Sets or gets the unit of a slider's numeric input.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSlider.html#unit)\n             */\n            unit: string;\n            /**\n             * Sets or gets the value of the slider.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSlider.html#value)\n             */\n            value: number;\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelSlider.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * An input element in a Blocks panel for capturing small amounts of text.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelTextInput.html#)\n         */\n        interface PanelTextInput extends HiddenCollapsedMixin, Element, DisabledMixin {\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelTextInput.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets the label of an element. Maximum length is 120 characters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelTextInput.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the maximum number of characters in the input text.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelTextInput.html#maxLength)\n             */\n            maxLength: number;\n            /**\n             * Sets or gets the placeholder text of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelTextInput.html#placeholder)\n             */\n            placeholder: string;\n            /**\n             * Sets or gets whether the value of the input element is read-only (cannot be modified by users).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelTextInput.html#readOnly)\n             */\n            readOnly: boolean;\n            /**\n             * Sets or gets an element's tooltip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelTextInput.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Sets or gets an element's value.\n             *  Maximum length is 120 characters.\n             *  To reset the element, restoring any placeholder text, set the value\n             *  property to `null` or `undefined`.\n             *\n             * > **Note**: Changing an element's `value` in code does not trigger an `onChange` event.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelTextInput.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelTextInput.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * A Panel thumbnail groups allow users to select an option using a set of thumbnail images in a Blocks panel.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelThumbnails.html#)\n         */\n        interface PanelThumbnails extends HiddenCollapsedMixin, Element {\n            /**\n             * Sets or gets the number of thumbnail columns. Minimum is 1, maximum is 5.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelThumbnails.html#columnCount)\n             */\n            columnCount: number;\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelThumbnails.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets the label of an element. Maximum length is 120 characters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelThumbnails.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the options in the thumbnail group.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelThumbnails.html#options)\n             */\n            options: PanelThumbnails.option[];\n            /**\n             * Gets the index of the selected option.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelThumbnails.html#selectedIndex)\n             */\n            selectedIndex: number;\n            /**\n             * Sets or gets an element's tooltip.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelThumbnails.html#tooltip)\n             */\n            tooltip: string;\n            /**\n             * Sets or gets an element's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelThumbnails.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelThumbnails.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * Toggle switches are used in a Blocks panel for a single binary choice.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelToggleSwitch.html#)\n         */\n        interface PanelToggleSwitch extends HiddenCollapsedMixin, Element, DisabledMixin {\n            /**\n             * Sets or gets whether the toggle switch is on or off.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelToggleSwitch.html#checked)\n             */\n            checked: boolean;\n            /**\n             * Sets or gets the type of divider displayed under the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelToggleSwitch.html#divider)\n             */\n            divider: string;\n            /**\n             * Sets or gets the label of an element. Maximum length is 120 characters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelToggleSwitch.html#label)\n             */\n            label: string;\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelToggleSwitch.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * Provides functionality for elements that can be played.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PlayableMixin.html#)\n         */\n        interface PlayableMixin {\n            /**\n             * Indicates if the element is currently playing.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PlayableMixin.html#isPlaying)\n             */\n            readonly isPlaying: boolean;\n            /**\n             * Moves to the next item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PlayableMixin.html#next)\n             */\n            next(): Promise<Element & AnyProperties>;\n            /**\n             * Adds an event handler that runs when playback is paused.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PlayableMixin.html#onPause)\n             *  @eventType autoplayOff\n             */\n            onPause(handler: EventHandler): Gallery & Slideshow;\n            /**\n             * Adds an event handler that runs when playback is started or restarted.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PlayableMixin.html#onPlay)\n             *  @eventType autoplayOn\n             */\n            onPlay(handler: EventHandler): Gallery & Slideshow;\n            /**\n             * Pauses playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PlayableMixin.html#pause)\n             */\n            pause(): void;\n            /**\n             * Begins or resumes playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PlayableMixin.html#play)\n             */\n            play(): void;\n            /**\n             * Moves to the previous image or slide.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PlayableMixin.html#previous)\n             */\n            previous(): Promise<Element & AnyProperties>;\n        }\n        /**\n         * A post page for a specific blog post.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PostPage.html#)\n         */\n        interface PostPage extends Element, HiddenCollapsedMixin {\n            /**\n             * Gets the all the information associated with the current blog post.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.PostPage.html#getPost)\n             */\n            getPost(): Promise<PostPage.BlogPost>;\n        }\n        /**\n         * A store page for a specific product.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#)\n         */\n        interface ProductPage extends Element, HiddenCollapsedMixin {\n            /**\n             * Gets the values of a product's [custom text fields](https://support.wix.com/en/article/wix-stores-allowing-customers-to-add-a-message-when-purchasing-a-product).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#getCustomText)\n             */\n            getCustomText(): Promise<string[]>;\n            /**\n             * Gets all the information associated with the current product.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#getProduct)\n             */\n            getProduct(): ProductPage.Productv1 & ProductPage.Productv3;\n            /**\n             * Gets the quantity of a product on the Product Page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#getQuantity)\n             */\n            getQuantity(): Promise<number>;\n            /**\n             * Gets the selected [product option](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options) choices of a product on the Product Page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#getSelectedChoices)\n             */\n            getSelectedChoices(): Promise<any>;\n            /**\n             * Gets the variant ID of the selected [product variant](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#getSelectedVariantId)\n             */\n            getSelectedVariantId(): Promise<string>;\n            /**\n             * Adds an event handler that runs when the **Add To Cart** button on the Product Page is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#onAddToCart)\n             */\n            onAddToCart(addToCartEventHandler: ProductPage.addToCartEventHandler): Promise<void>;\n            /**\n             * Adds an event handler that runs when the **Buy Now** button on the Product Page is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#onBuyNow)\n             */\n            onBuyNow(buyNowEventHandler: ProductPage.buyNowEventHandler): Promise<void>;\n            /**\n             * Adds an event handler that runs when a [product option](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options) choice is selected.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#onChoiceSelected)\n             */\n            onChoiceSelected(choiceSelectedEventhandler: ProductPage.choiceSelectedEventHandler): Promise<void>;\n            /**\n             * Adds an event handler that runs when a product's quantity is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#onQuantityChanged)\n             */\n            onQuantityChanged(quantityChangedEventHandler: ProductPage.quantityChangedEventHandler): Promise<void>;\n            /**\n             * Sets the **Add To Cart** button's label.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#setAddToCartLabel)\n             */\n            setAddToCartLabel(label: string): Promise<void>;\n            /**\n             * Sets the **Buy Now** button's label.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#setBuyNowLabel)\n             */\n            setBuyNowLabel(label: string): Promise<void>;\n            /**\n             * Sets the quantity of a product on the Product Page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#setQuantity)\n             */\n            setQuantity(value: number): Promise<void>;\n        }\n        /**\n         * A [progress bar](https://support.wix.com/en/article/cms-adding-and-setting-up-a-progress-bar) is an element for displaying the status of an ongoing process.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ProgressBar.html#)\n         */\n        interface ProgressBar extends Element, HiddenCollapsedMixin, StyleMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProgressBar.html#accessibility)\n             */\n            readonly accessibility: ProgressBar.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProgressBar.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets an object containing information about the progress bar's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProgressBar.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets a progress bar's target value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProgressBar.html#targetValue)\n             */\n            targetValue: number;\n            /**\n             * Sets or gets a progress bar's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ProgressBar.html#value)\n             */\n            value: number;\n        }\n        /**\n         * A [quick action bar](https://support.wix.com/en/article/adding-and-setting-up-the-quick-action-bar-on-your-mobile-site)\n         *  helps your visitors contact you instantly from their mobile devices.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.QuickActionBar.html#)\n         */\n        interface QuickActionBar extends HiddenCollapsedMixin, StyleMixin {\n            /**\n             * Sets or gets a quick action bar's alignment.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.QuickActionBar.html#alignment)\n             */\n            alignment: boolean;\n            /**\n             * Sets or gets a quick action bar's color scheme.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.QuickActionBar.html#colorScheme)\n             */\n            colorScheme: string;\n            /**\n             * Sets or gets whether a quick action bar's color scheme is inverted.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.QuickActionBar.html#invertColorScheme)\n             */\n            invertColorScheme: boolean;\n            /**\n             * Sets or gets whether a quick action bar's labels are shown.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.QuickActionBar.html#showLabels)\n             */\n            showLabels: boolean;\n            /**\n             * Adds an event handler that runs when an item in a quick action bar is\n             *  clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.QuickActionBar.html#onItemClicked)\n             *  @eventType itemClicked\n             */\n            onItemClicked(handler: QuickActionBarItemClickedEventHandler): QuickActionBar;\n        }\n        /**\n         * Event that is fired when a quick action bar item is clicked.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.QuickActionBarItemClickedEvent.html#)\n         */\n        interface QuickActionBarItemClickedEvent extends Event {\n            /**\n             * Gets the gallery item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.QuickActionBarItemClickedEvent.html#item)\n             */\n            readonly item: QuickActionBarItemClickedEvent.QuickActionBarItem;\n            /**\n             * Gets the quick action bar item's index.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.QuickActionBarItemClickedEvent.html#itemIndex)\n             */\n            readonly itemIndex: number;\n        }\n        /**\n         * [Radio button groups](https://support.wix.com/en/article/content-manager-adding-and-setting-up-radio-buttons) are used for selecting one of a number of\n         *  options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RadioButtonGroup.html#)\n         */\n        interface RadioButtonGroup extends LabelMixin, FormElement, HiddenCollapsedMixin, DisabledMixin, FocusMixin, ClickableMixin, StyleMixin, RequiredMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RadioButtonGroup.html#accessibility)\n             */\n            readonly accessibility: RadioButtonGroup.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RadioButtonGroup.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the disabled items by their index.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RadioButtonGroup.html#disabledItemsByIndices)\n             */\n            disabledItemsByIndices: number[];\n            /**\n             * Sets or gets the options in a radio button group.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RadioButtonGroup.html#options)\n             */\n            options: RadioButtonGroup.Option[];\n            /**\n             * Sets or gets the index of the selected option.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RadioButtonGroup.html#selectedIndex)\n             */\n            selectedIndex: number;\n            /**\n             * Gets an object containing information about the radio button group's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RadioButtonGroup.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the value of the selected option.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RadioButtonGroup.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RadioButtonGroup.html#onCustomValidation)\n             */\n            onCustomValidation(validator: RadioButtonGroupValidator, override?: boolean): void;\n        }\n        /**\n         * [Range sliders](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-range-slider)\n         * allow site visitors to select a range of values within a given range.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#)\n         */\n        interface RangeSlider extends Element, ValueMixin, DisabledMixin, HiddenCollapsedMixin, FocusMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#accessibility)\n             */\n            readonly accessibility: RangeSlider.Accessibility;\n            /**\n             * Sets or gets the label of a range slider.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#label)\n             */\n            label: string;\n            /**\n             * Sets or gets the maximum value of a range slider.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#max)\n             */\n            max: number;\n            /**\n             * Sets or gets the minimum value of a range slider.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#min)\n             */\n            min: number;\n            /**\n             * Sets or gets the prefix of a range slider's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#prefix)\n             */\n            prefix: string;\n            /**\n             * Sets or gets a range slider's type.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#sliderType)\n             */\n            sliderType: string;\n            /**\n             * Sets or gets a range slider's step value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#step)\n             */\n            step: number;\n            /**\n             * Sets or gets a range slider's step type.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#stepType)\n             */\n            stepType: string;\n            /**\n             * Sets or gets the suffix of a range slider's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#suffix)\n             */\n            suffix: string;\n            /**\n             * Sets or gets the value(s) of a range slider's handle(s).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#value)\n             */\n            value: number | number[];\n        }\n        /**\n         * A [ratings display](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-ratings-display-element)\n         * element allows you to display a value to your users\n         *  using icons.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsDisplay.html#)\n         */\n        interface RatingsDisplay extends Element, HiddenCollapsedMixin, ClickableMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsDisplay.html#accessibility)\n             */\n            readonly accessibility: RatingsDisplay.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsDisplay.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the displayed number of ratings.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsDisplay.html#numRatings)\n             */\n            numRatings: number;\n            /**\n             * Sets or gets the displayed rating.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsDisplay.html#rating)\n             */\n            rating: number;\n        }\n        /**\n         * A [ratings input](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-ratings-input-element)\n         *  element allows you to capture a value from your users\n         *  using icons.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsInput.html#)\n         */\n        interface RatingsInput extends FormElement, DisabledMixin, RequiredMixin, HiddenCollapsedMixin, FocusMixin, ClickableMixin, ViewportMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsInput.html#accessibility)\n             */\n            readonly accessibility: RatingsInput.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsInput.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the rating value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsInput.html#value)\n             */\n            value: number;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsInput.html#onCustomValidation)\n             */\n            onCustomValidation(validator: RatingsInput.RatingsInputValidator, override?: boolean): void;\n            /**\n             * Sets the function that runs when a user's mouse enters one of the rating icons.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsInput.html#onIconMouseIn)\n             *  @eventType IconMouseIn\n             */\n            onIconMouseIn(handler: IconMouseInEventHandler): RatingsInput;\n        }\n        /**\n         * The [React component](https://dev.wix.com/docs/develop-websites/articles/wix-editor-elements/react-components/about-the-wix-react-component) element allows you to add your own [React](https://react.dev/) component.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ReactComponent.html#)\n         */\n        interface ReactComponent extends Element, HiddenCollapsedMixin {\n            /**\n             * Sets or gets the React component's [props](https://react.dev/learn/passing-props-to-a-component).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ReactComponent.html#props)\n             */\n            props: any;\n        }\n        /**\n         * Event that is fired when a specific action is performed on the React element.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ReactEvent.html#)\n         */\n        interface ReactEvent {\n            /**\n             * Gets the context in which an event was fired.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ReactEvent.html#context)\n             */\n            readonly context: Event.EventContext;\n            /**\n             * Gets the React component's $w element that the event was fired on.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ReactEvent.html#wixTarget)\n             */\n            wixTarget: Element;\n        }\n        /**\n         * Provides functionality for input elements that support readonly mode.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ReadOnlyMixin.html#)\n         */\n        interface ReadOnlyMixin {\n            /**\n             * Sets or gets if a user can modify the value of the input element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ReadOnlyMixin.html#readOnly)\n             */\n            readOnly: boolean;\n        }\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/$w.Repeater.html#)\n         */\n        interface Repeater extends Element, HiddenCollapsedMixin, EffectsMixin {\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Repeater.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the repeater data.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Repeater.html#data)\n             */\n            data: any[];\n            /**\n             * Runs a function for each repeated item.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Repeater.html#forEachItem)\n             */\n            forEachItem(callback: ForItemCallback): void;\n            /**\n             * Runs a function for each repeated item with the given IDs.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Repeater.html#forItems)\n             */\n            forItems(itemIds: string[], callback: ForItemCallback): void;\n            /**\n             * Sets the function that runs when a new repeated item is created.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Repeater.html#onItemReady)\n             *  @eventType itemReady\n             */\n            onItemReady(handler: ItemReadyEventHandler): Repeater;\n            /**\n             * Sets the function that runs when a repeated item is removed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Repeater.html#onItemRemoved)\n             *  @eventType itemRemoved\n             */\n            onItemRemoved(handler: ItemRemovedEventHandler): Repeater;\n        }\n        /**\n         * Provides functionality for input elements that can be required to have a value.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RequiredMixin.html#)\n         */\n        interface RequiredMixin {\n            /**\n             * Sets or gets whether an input element is required to have a value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RequiredMixin.html#required)\n             */\n            required: boolean;\n        }\n        /**\n         * The Rich Content Viewer is an element that displays rich content created using the\n         * [Rich Content Editor](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-rich-content-and-adding-it-to-a-dynamic-page)\n         * in the CMS (Content Management System).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RichContentViewer.html#)\n         */\n        interface RichContentViewer extends Element, HiddenCollapsedMixin {\n            /**\n             * Sets or gets the element's content.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RichContentViewer.html#content)\n             */\n            content: any | null;\n        }\n        /**\n         * A [rich text box](https://support.wix.com/article/content-manager-adding-and-setting-up-a-text-input)\n         * is an input element for entering information in rich text format. It shouldn't be confused with the [Rich Content Viewer](https://dev.wix.com/docs/velo/velo-only-apis/$w/rich-content-viewer/introduction), which provides access to a rich content field in a collection and can include various media types.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RichTextBox.html#)\n         */\n        interface RichTextBox extends FormElement, DisabledMixin, TextInputMixin, HiddenCollapsedMixin, FocusMixin, ReadOnlyMixin, ClickableMixin, RequiredMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RichTextBox.html#accessibility)\n             */\n            readonly accessibility: RichTextBox.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RichTextBox.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * **This standard element function is not supported for RichTextBox.**\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.RichTextBox.html#onInput)\n             */\n            onInput(eventHandler: EventHandler): Element;\n        }\n        /**\n         * A button used to initiate a site [search](https://support.wix.com/en/article/about-wix-site-search).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#)\n         */\n        interface SearchButton extends Element, HiddenCollapsedMixin, DisabledMixin, ClickableMixin, StyleMixin, LabelMixin, EffectsMixin, FocusMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#accessibility)\n             */\n            readonly accessibility: SearchButton.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the icon image displayed on the button.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#icon)\n             */\n            icon: string;\n            /**\n             * Indicates if the button’s icon is collapsed or expanded.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#iconCollapsed)\n             */\n            readonly iconCollapsed: boolean;\n            /**\n             * Sets or gets a button's label.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#label)\n             */\n            label: string;\n            /**\n             * Gets an object containing information about the button's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#tabIndex)\n             */\n            tabIndex: number;\n            /**\n             * Gets the element's type.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#type)\n             */\n            readonly type: string;\n            /**\n             * Collapses the button’s icon and sets its `iconCollapsed` property to `true`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#collapseIcon)\n             */\n            collapseIcon(): Promise<void>;\n            /**\n             * Expands the button’s icon and sets its `iconCollapsed` property to `false`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#expandIcon)\n             */\n            expandIcon(): Promise<void>;\n            /**\n             * Adds an event handler that runs when the pointer is moved\n             *  onto the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#onMouseIn)\n             */\n            onMouseIn(handler: MouseEventHandler): SearchButton;\n            /**\n             * Adds an event handler that runs when the pointer is moved\n             *  off of the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#onMouseOut)\n             */\n            onMouseOut(handler: MouseEventHandler): SearchButton;\n        }\n        /**\n         * [Section](https://support.wix.com/en/article/wix-editor-about-sections) is a container component used to divide your page into meaningful segments.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Section.html#)\n         */\n        interface Section extends Element, Background, HiddenCollapsedMixin, ClickableMixin, ContainableMixin, EffectsMixin, StyleMixin {\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Section.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets an object containing information about the Section's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Section.html#style)\n             */\n            readonly style: Style;\n        }\n        /**\n         * [Selection tags](https://support.wix.com/en/article/adding-and-setting-up-selection-tags) are used for selecting one or more options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.SelectionTags.html#)\n         */\n        interface SelectionTags extends FormElement, HiddenCollapsedMixin, DisabledMixin, ClickableMixin, StyleMixin, RequiredMixin, ValidatableMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SelectionTags.html#accessibility)\n             */\n            readonly accessibility: SelectionTags.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SelectionTags.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets a list of items which will be rendered as tags.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SelectionTags.html#options)\n             */\n            options: SelectionTags.Option[];\n            /**\n             * Sets or gets the indices of the selected options.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SelectionTags.html#selectedIndices)\n             */\n            selectedIndices: number[];\n            /**\n             * Gets an object containing information about the selection tags' styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SelectionTags.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the values of the selected options.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SelectionTags.html#value)\n             */\n            value: string[];\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SelectionTags.html#onCustomValidation)\n             */\n            onCustomValidation(validator: SelectionTags.SelectionTagsValidator, override?: boolean): void;\n        }\n        /**\n         * [Signature input](https://support.wix.com/en/article/wix-forms-adding-a-signature-field) lets site visitors enter signatures.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.SignatureInput.html#)\n         */\n        interface SignatureInput extends LabelMixin, FormElement, HiddenCollapsedMixin, DisabledMixin, FocusMixin, StyleMixin, RequiredMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SignatureInput.html#accessibility)\n             */\n            readonly accessibility: SignatureInput.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SignatureInput.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets an object containing information about the signature input element's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SignatureInput.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Gets the value of a signature input.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SignatureInput.html#value)\n             */\n            readonly value: string;\n            /**\n             * Clears the signature.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SignatureInput.html#clear)\n             */\n            clear(): void;\n            /**\n             * Adds an event handler that runs when a signature input element's value\n             *  is changed by a site visitor.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SignatureInput.html#onChange)\n             */\n            onChange(handler: EventHandler): SignatureInput;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SignatureInput.html#onCustomValidation)\n             */\n            onCustomValidation(validator: SignatureInput.SignatureInputValidator, override?: boolean): void;\n        }\n        /**\n         * A [slide](https://support.wix.com/en/article/wix-editor-managing-the-slides-in-your-slideshow)\n         * from a [slideshow]($w.Slideshow.html) that can contain other elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Slide.html#)\n         */\n        interface Slide extends Element, Background, ContainableMixin {\n            /**\n             * Gets the slide's ID.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slide.html#id)\n             */\n            readonly id: string;\n            /**\n             * Gets the name of the slide.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slide.html#name)\n             */\n            readonly name: string;\n        }\n        /**\n         * [Sliders](https://support.wix.com/en/article/adding-and-setting-up-a-slider) allow users to select a number from a given range.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Slider.html#)\n         */\n        interface Slider extends Element, ValueMixin, DisabledMixin, HiddenCollapsedMixin, FocusMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slider.html#accessibility)\n             */\n            readonly accessibility: Slider.Accessibility;\n            /**\n             * Sets or gets the slider's maximum value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slider.html#max)\n             */\n            max: number;\n            /**\n             * Sets or gets the slider's minimum value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slider.html#min)\n             */\n            min: number;\n            /**\n             * Sets or gets a slider's step value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slider.html#step)\n             */\n            step: number;\n            /**\n             * Sets or gets a slider's step type.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slider.html#stepType)\n             */\n            stepType: string;\n            /**\n             * Sets or gets the value of the slider.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slider.html#value)\n             */\n            value: number;\n        }\n        /**\n         * [Slideshows](https://support.wix.com/en/article/wix-editor-adding-and-setting-up-a-slideshow) are playable containers for slides.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#)\n         */\n        interface Slideshow extends Element, HiddenCollapsedMixin, PlayableMixin, ClickableMixin, ContainableMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#accessibility)\n             */\n            readonly accessibility: Slideshow.Accessibility;\n            /**\n             * Gets the index of the slideshow's current slide.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#currentIndex)\n             */\n            readonly currentIndex: number;\n            /**\n             * Gets the slideshow's current slide.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#currentSlide)\n             */\n            readonly currentSlide: Slide;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets whether a slideshow's navigation buttons are shown.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#showNavigationButtons)\n             */\n            showNavigationButtons: boolean;\n            /**\n             * Set or returns whether a slideshow's slide buttons are shown.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#showSlideButtons)\n             */\n            showSlideButtons: boolean;\n            /**\n             * Gets a list of all the slides contained in the slideshow.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#slides)\n             */\n            readonly slides: Slide[];\n            /**\n             * Change the slideshow's current slide to a specific slide or index.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#changeSlide)\n             */\n            changeSlide(slideReference: number | Slide): Promise<Slide>;\n            /**\n             * Adds an event handler that runs when the slideshow moves to a new slide.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#onChange)\n             *  @eventType change\n             */\n            onChange(eventHandler: EventHandler): Slideshow;\n        }\n        /**\n         * The [slideshow button](https://support.wix.com/en/article/wix-editor-displaying-navigation-buttons-and-arrows-on-your-slideshow)\n         * is a button element on a [slideshow]($w.Slideshow.html).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.SlideshowButton.html#)\n         */\n        interface SlideshowButton extends Element, HiddenCollapsedMixin, DisabledMixin, ClickableMixin, StyleMixin, LabelMixin, EffectsMixin {\n            /**\n             * Sets or gets the icon image displayed on the slideshow button.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SlideshowButton.html#icon)\n             */\n            icon: string;\n            /**\n             * Indicates if the slideshow button icon is collapsed or expanded.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SlideshowButton.html#iconCollapsed)\n             */\n            readonly iconCollapsed: boolean;\n            /**\n             * Sets or gets the label of a slideshow button.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SlideshowButton.html#label)\n             */\n            label: string;\n            /**\n             * Gets an object containing information about the styles of a slideshow button.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SlideshowButton.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Collapses the icon of a slideshow button and sets its `iconCollapsed` property to `true`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SlideshowButton.html#collapseIcon)\n             */\n            collapseIcon(): Promise<void>;\n            /**\n             * Expands the slideshow button icon and sets its `iconCollapsed` property to `false`.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SlideshowButton.html#expandIcon)\n             */\n            expandIcon(): Promise<void>;\n            /**\n             * Adds an event handler that runs when the pointer is moved\n             *  onto the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SlideshowButton.html#onMouseIn)\n             */\n            onMouseIn(handler: MouseEventHandler): SlideshowButton;\n            /**\n             * Adds an event handler that runs when the pointer is moved\n             *  off of the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.SlideshowButton.html#onMouseOut)\n             */\n            onMouseOut(handler: MouseEventHandler): SlideshowButton;\n        }\n        /**\n         * A [state](https://dev.wix.com/docs/develop-websites/articles/wix-editor-elements/other-elements/multi-state-boxes/setting-up-your-multi-state-box#navigate-your-states)\n         * from a [multi-state box]($w.MultiStateBox.html) that can contain other elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.State.html#)\n         */\n        interface State extends Element, Background, ContainableMixin {\n            /**\n             * Gets the state's ID.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.State.html#id)\n             */\n            readonly id: string;\n        }\n        /**\n         * An object representing an element's styles.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Style.html#)\n         */\n        interface Style {\n            /**\n             * Sets or gets the background color of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Style.html#backgroundColor)\n             */\n            backgroundColor: string;\n            /**\n             * Sets or gets the border color of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Style.html#borderColor)\n             */\n            borderColor: string;\n            /**\n             * Sets or gets the border radius of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Style.html#borderRadius)\n             */\n            borderRadius: string;\n            /**\n             * Sets or gets the border width of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Style.html#borderWidth)\n             */\n            borderWidth: string;\n            /**\n             * Sets or gets the text color of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Style.html#color)\n             */\n            color: string;\n            /**\n             * Gets an object containing information about the element's styles in the disabled state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Style.html#disabled)\n             */\n            readonly disabled: Disabled;\n            /**\n             * Sets or gets the foreground color of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Style.html#foregroundColor)\n             */\n            foregroundColor: string;\n            /**\n             * Gets an object containing information about the element's styles in their hover state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Style.html#hover)\n             */\n            readonly hover: Hover;\n            /**\n             * Sets or gets the icon color of an element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Style.html#iconColor)\n             */\n            iconColor: string;\n        }\n        /**\n         * Provides functionality for elements that can be styled in their disabled state.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.StyleDisabledState.html#)\n         */\n        interface StyleDisabledState {\n        }\n        /**\n         * Provides functionality for elements that can be styled in their hover state.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.StyleHoverState.html#)\n         */\n        interface StyleHoverState {\n        }\n        /**\n         * Provides functionality for elements that can be styled.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.StyleMixin.html#)\n         */\n        interface StyleMixin {\n            /**\n             * Gets an object containing information about the element's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.StyleMixin.html#style)\n             */\n            readonly style: Style;\n        }\n        /**\n         * [Switches](https://support.wix.com/en/article/adding-and-setting-up-a-switch-element) are used for a single binary choice.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Switch.html#)\n         */\n        interface Switch extends Element, DisabledMixin, HiddenCollapsedMixin, FocusMixin, ClickableMixin, ValueMixin, CheckedMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Switch.html#accessibility)\n             */\n            readonly accessibility: Switch.Accessibility;\n            /**\n             * Sets or gets whether a switch is on or off.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Switch.html#checked)\n             */\n            checked: boolean;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Switch.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * **Note: This standard element property is not relevant for Switch. Use [`checked`](#checked) instead.**\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Switch.html#value)\n             */\n            readonly value: string;\n        }\n        /**\n         * A [tab](https://support.wix.com/en/article/wix-editor-about-tabs) within a [tabs]($w.Tabs.html) element.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Tab.html#)\n         */\n        interface Tab extends Element, Background, ContainableMixin {\n            /**\n             * Gets the tab's ID.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tab.html#id)\n             */\n            readonly id: string;\n            /**\n             * Sets or gets the tab's label.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tab.html#label)\n             */\n            label: string;\n            /**\n             * Gets the element's type.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tab.html#type)\n             */\n            readonly type: string;\n        }\n        /**\n         * A [table](https://support.wix.com/en/article/content-manager-displaying-collection-content-in-a-table) for displaying data.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#)\n         */\n        interface Table extends Element, HiddenCollapsedMixin, ClickableMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#accessibility)\n             */\n            readonly accessibility: Table.Accessibility;\n            /**\n             * Sets or gets the defining properties of the columns in a table.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#columns)\n             */\n            columns: Table.Column[];\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets the function that is called when a new page of table data is to be displayed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#dataFetcher)\n             */\n            dataFetcher: Function;\n            /**\n             * Sets or gets the table's pagination options.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#pagination)\n             */\n            pagination: Table.PaginationOptions;\n            /**\n             * Sets or gets the table's row data.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#rows)\n             */\n            rows: any[];\n            /**\n             * Adds an event handler that runs when a table cell is selected.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#onCellSelect)\n             *  @eventType cellSelect\n             */\n            onCellSelect(eventHandler: TableCellEventHandler): Table;\n            /**\n             * Adds an event handler that runs when the table's data is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#onDataChange)\n             *  @eventType dataChange\n             */\n            onDataChange(eventHandler: EventHandler): void;\n            /**\n             * Adds an event handler that runs when a table row is selected.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#onRowSelect)\n             *  @eventType rowSelect\n             */\n            onRowSelect(eventHandler: TableRowEventHandler): Table;\n            /**\n             * Fetches the most current data and updates the table.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#refresh)\n             */\n            refresh(): void;\n            /**\n             * Selects a table row by index.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#selectRow)\n             */\n            selectRow(index: number): void;\n            /**\n             * Updates the row data of a single row at the specified index.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#updateRow)\n             */\n            updateRow(index: number, rowData: any): void;\n        }\n        /**\n         * Event that is fired when a table cell is selected.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TableCellEvent.html#)\n         */\n        interface TableCellEvent extends Event {\n            /**\n             * Gets the column ID of the selected cell.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TableCellEvent.html#cellColumnId)\n             */\n            readonly cellColumnId: string;\n            /**\n             * Gets the data from the selected cell.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TableCellEvent.html#cellData)\n             */\n            readonly cellData: string;\n            /**\n             * Gets the row index of the selected cell.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TableCellEvent.html#cellRowIndex)\n             */\n            readonly cellRowIndex: number;\n        }\n        /**\n         * Event that is fired when a table row is selected.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TableRowEvent.html#)\n         */\n        interface TableRowEvent extends Event {\n            /**\n             * Gets the data for the selected row.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TableRowEvent.html#rowData)\n             */\n            readonly rowData: any;\n            /**\n             * Gets the index of the selected row.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TableRowEvent.html#rowIndex)\n             */\n            readonly rowIndex: number;\n        }\n        /**\n         * A [tabs](https://support.wix.com/en/article/wix-editor-about-tabs) element is a container that holds multiple\n         * [tabs]($w.Tab.html), displaying one at a time.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#)\n         */\n        interface Tabs extends Element, HiddenCollapsedMixin, ClickableMixin, ContainableMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#accessibility)\n             */\n            readonly accessibility: Tabs.Accessibility;\n            /**\n             * Gets the tab currently displayed in the tabs element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#currentTab)\n             */\n            readonly currentTab: Tab;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets the tabs element's default tab.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#defaultTab)\n             */\n            readonly defaultTab: Tab;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#tabIndex)\n             */\n            tabIndex: number;\n            /**\n             * Gets a list of all the tabs contained in the tabs element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#tabs)\n             */\n            readonly tabs: Tab[];\n            /**\n             * Gets the element's type.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#type)\n             */\n            readonly type: string;\n            /**\n             * Changes the tabs element's current tab.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#changeTab)\n             */\n            changeTab(tabReference: string | Tab): Promise<Tab>;\n            /**\n             * Adds an event handler that runs when the tabs element moves to a different tab.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#onChange)\n             *  @eventType change\n             */\n            onChange(eventHandler: EventHandler): void;\n            /**\n             * Adds an event handler that runs when any tab menu item is clicked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#onTabItemClicked)\n             *  @eventType click\n             */\n            onTabItemClicked(eventHandler: EventHandler): Tabs;\n            /**\n             * Changes the order of the tabs in a tabs element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#orderTabs)\n             */\n            orderTabs(orderedTabIds: string[] | Tab[]): Promise<void>;\n        }\n        /**\n         * [Text](https://support.wix.com/en/article/wix-editor-adding-and-editing-text) provides functionality for text elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Text.html#)\n         */\n        interface Text extends Element, HiddenCollapsedMixin, ClickableMixin, EffectsMixin, FocusMixin, StyleMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Text.html#accessibility)\n             */\n            readonly accessibility: Text.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Text.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the contents of a text element using standard HTML.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Text.html#html)\n             */\n            html: string;\n            /**\n             * Gets an object containing information about the Text's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Text.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Text.html#tabIndex)\n             */\n            tabIndex: number;\n            /**\n             * Sets or gets the plain-text contents of a text element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Text.html#text)\n             */\n            text: string;\n        }\n        /**\n         * [Text box](https://support.wix.com/en/article/wix-editor-adding-and-editing-text) is an input element for capturing large amounts of text.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextBox.html#)\n         */\n        interface TextBox extends LabelMixin, FormElement, DisabledMixin, TextInputMixin, HiddenCollapsedMixin, FocusMixin, ReadOnlyMixin, ClickableMixin, StyleMixin, RequiredMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextBox.html#accessibility)\n             */\n            readonly accessibility: TextBox.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextBox.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets an object containing information about the text box's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextBox.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextBox.html#tabIndex)\n             */\n            tabIndex: number;\n            /**\n             * Sets or gets a text input's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextBox.html#value)\n             */\n            value: string;\n            /**\n             * Determines if the text contains line breaks when its value is read.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextBox.html#wrap)\n             */\n            wrap: string;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextBox.html#onCustomValidation)\n             */\n            onCustomValidation(validator: TextBoxValidator, override?: boolean): void;\n        }\n        /**\n         * The TextEffects element is a decorative text element.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextEffects.html#)\n         */\n        interface TextEffects extends Element, HiddenCollapsedMixin, LinkableMixin {\n            /**\n             * Sets or gets the plain-text content of the `textEffects` element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextEffects.html#text)\n             */\n            text: string;\n        }\n        /**\n         * [Text input](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-text-input) is an element for capturing small amounts of text.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#)\n         */\n        interface TextInput extends LabelMixin, FormElement, HiddenCollapsedMixin, DisabledMixin, TextInputMixin, FocusMixin, ReadOnlyMixin, ClickableMixin, StyleMixin, RequiredMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#accessibility)\n             */\n            readonly accessibility: TextInput.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the input type of an Input element. Does not change the type of data stored in the text input's `value` property, which will remain a string.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#inputType)\n             */\n            inputType: string;\n            /**\n             * Sets or gets the maximum value for a text input element whose\n             *  type is set to **Number**.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#max)\n             */\n            max: number;\n            /**\n             * Sets or gets the minimum value for a text input element whose\n             *  type is set to **Number**.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#min)\n             */\n            min: number;\n            /**\n             * Indicates if the number spinner is hidden or visible for a numeric text input element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#numberSpinnerHidden)\n             */\n            readonly numberSpinnerHidden: boolean;\n            /**\n             * Gets an object containing information about the text input's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Sets or gets the tab index of an element on a site page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#tabIndex)\n             */\n            tabIndex: number;\n            /**\n             * Gets a ValidityState object that contains\n             *  detailed information about the validity states of the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#validity)\n             */\n            readonly validity: ValidatableMixin.ValidityState;\n            /**\n             * Sets or gets a text input's value. This value will always be of type string, regardless of the text input's [`inputType`](#inputtype).\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#value)\n             */\n            value: string;\n            /**\n             * Hides the number spinner for a numeric text input.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#hideNumberSpinner)\n             */\n            hideNumberSpinner(): void;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#onCustomValidation)\n             */\n            onCustomValidation(validator: TextInputValidator, override?: boolean): void;\n            /**\n             * Shows the number spinner for a numeric text input.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#showNumberSpinner)\n             */\n            showNumberSpinner(): void;\n        }\n        /**\n         * Provides functionality for elements that accept text as input.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInputMixin.html#)\n         */\n        interface TextInputMixin {\n            /**\n             * Sets or gets the maximum number of characters that can be entered.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInputMixin.html#maxLength)\n             */\n            maxLength: number;\n            /**\n             * Sets or gets the element's placeholder text.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInputMixin.html#placeholder)\n             */\n            placeholder: string;\n            /**\n             * Adds an event handler that runs when the input element receives\n             * input.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInputMixin.html#onInput)\n             *  @eventType onInput\n             */\n            onInput(eventHandler: EventHandler): Element;\n            /**\n             * Adds an event handler that runs when the cursor is inside the\n             *  input element and a key is pressed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInputMixin.html#onKeyPress)\n             *  @eventType keyPress\n             */\n            onKeyPress(eventHandler: KeyboardEventHandler): Element;\n        }\n        /**\n         * The TextMarquee element displays a line of text that moves horizontally.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextMarquee.html#)\n         */\n        interface TextMarquee extends Element, HiddenCollapsedMixin, LinkableMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextMarquee.html#accessibility)\n             */\n            readonly accessibility: TextMarquee.Accessibility;\n            /**\n             * Sets or gets the plain-text content of a TextMarquee element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextMarquee.html#text)\n             */\n            text: string;\n        }\n        /**\n         * The TextMask element is used for masking media inside text.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextMask.html#)\n         */\n        interface TextMask extends Element, Background, HiddenCollapsedMixin, LinkableMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextMask.html#accessibility)\n             */\n            readonly accessibility: TextMask.Accessibility;\n            /**\n             * Sets or gets an object containing information about the TextMask's background.\n             *\n             * Setting the `src` property sets the source of the TextMask's background. The `src` property can be set to an image or a video. Images can either be from the [Media Manager](https://support.wix.com/en/article/about-the-media-manager) or an external image from any web location. Videos must come from the Media Manager.\n             *\n             * The supported URL formats are:\n             * + Images from the Media Manager: `wix:image://v1//#originWidth=&originHeight=[&watermark=]`\n             * + Videos from the Media Manager: `wix:video://v1//#posterUri=&posterWidth=&posterHeight=`\n             * + Images from the web: `http(s)://`\n             *\n             * The URL for Media Manager images and videos is the `fileUrl` value returned by the [`listFiles()`](https://www.wix.com/velo/reference/wix-media-v2/files/listfiles) function.\n             *\n             * Getting the `src` property gets the source of the TextMask's background.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextMask.html#background)\n             */\n            background: Background.BackgroundOptions;\n            /**\n             * Sets or gets the plain-text content of a TextMask element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextMask.html#text)\n             */\n            text: string;\n        }\n        /**\n         * The TextParticles element displays a line of text as animated particles that fluidly disperse and regroup.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextParticles.html#)\n         */\n        interface TextParticles extends Element, HiddenCollapsedMixin, LinkableMixin {\n            /**\n             * Sets or gets the plain-text content of a TextParticles element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextParticles.html#text)\n             */\n            text: string;\n            /**\n             * Registers an event handler that runs when the text particles animation pauses.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextParticles.html#onPause)\n             */\n            onPause(handler: EventHandler): TextParticles;\n            /**\n             * Registers an event handler that runs when the text particles animation begins playing.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextParticles.html#onPlay)\n             */\n            onPlay(handler: EventHandler): TextParticles;\n            /**\n             * Registers an event handler that runs when the text particles animation stops.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextParticles.html#onStop)\n             */\n            onStop(handler: EventHandler): TextParticles;\n            /**\n             * Pauses the currently playing animation.\n             *\n             * Pausing an animation triggers the `onPause()` event handler.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextParticles.html#pause)\n             */\n            pause(): Promise<void>;\n            /**\n             * Plays the text particles animation for the beginning or from the point where the animation was paused.\n             *\n             * The first animation play of the queue triggers the `onPlay()` event handler.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextParticles.html#play)\n             */\n            play(): Promise<void>;\n            /**\n             * Stops the currently playing animation and resets it to its initial state. The visibility of the text in the initial state depends on the type of animation that was playing.\n             *\n             * Stopping an animation triggers the `onStop()` event handler.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TextParticles.html#stop)\n             */\n            stop(): Promise<void>;\n        }\n        /**\n         * A thank you page displayed when an order is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ThankYouPage.html#)\n         */\n        interface ThankYouPage extends Element, HiddenCollapsedMixin {\n            /**\n             * Gets the order associated with the current page.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ThankYouPage.html#getOrder)\n             */\n            getOrder(): Promise<ThankYouPage.Order>;\n        }\n        /**\n         * [Time picker](https://support.wix.com/en/article/time-picker-settings) is an input element for capturing the time of day.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TimePicker.html#)\n         */\n        interface TimePicker extends LabelMixin, FocusMixin, DisabledMixin, HiddenCollapsedMixin, RequiredMixin, ReadOnlyMixin, FormElement {\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TimePicker.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the time slots that are available for a time picker.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TimePicker.html#enabledTimes)\n             */\n            enabledTimes: TimePicker.TimeSlot[];\n            /**\n             * Sets or gets the number of minutes the time picker steps.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TimePicker.html#step)\n             */\n            step: number;\n            /**\n             * Sets or gets whether the time picker uses 12-hour or 24-hour format.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TimePicker.html#useAmPmFormat)\n             */\n            useAmPmFormat: boolean;\n            /**\n             * Sets or gets a time picker's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TimePicker.html#value)\n             */\n            value: string;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.TimePicker.html#onCustomValidation)\n             */\n            onCustomValidation(validator: TimePicker.TimePickerValidator, override?: boolean): void;\n        }\n        /**\n         * An [upload button](https://support.wix.com/en/article/content-manager-adding-and-setting-up-an-upload-button) enables site visitors to upload files to your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#)\n         */\n        interface UploadButton extends LabelMixin, FormElement, HiddenCollapsedMixin, DisabledMixin, FocusMixin, StyleMixin, RequiredMixin {\n            /**\n             * Sets or gets the label on the upload button.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#buttonLabel)\n             */\n            buttonLabel: string;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the maximum amount of files a site visitor can upload at a time.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#fileLimit)\n             */\n            fileLimit: number;\n            /**\n             * Sets or gets the type of file a site visitor can upload.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#fileType)\n             */\n            fileType: string;\n            /**\n             * Gets an object containing information about the upload button's styles.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#style)\n             */\n            readonly style: Style;\n            /**\n             * Indicates if a required file was selected, and if the file is valid for upload to the Media Manager.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#valid)\n             */\n            readonly valid: boolean;\n            /**\n             * Gets a message indicating why the file is invalid or could not be uploaded. Contains\n             *  empty string if the file is valid and successfully uploaded.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#validationMessage)\n             */\n            readonly validationMessage: string;\n            /**\n             * Gets a ValidityState object that contains\n             *  detailed information about the validity states of the file to upload.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#validity)\n             */\n            readonly validity: UploadButton.ValidityState;\n            /**\n             * Returns a list of files that are pending upload.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#value)\n             */\n            readonly value: UploadButton.File[];\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#onCustomValidation)\n             */\n            onCustomValidation(validator: UploadButtonValidator, override?: boolean): void;\n            /**\n             * Clears the files that are pending upload.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#reset)\n             */\n            reset(): void;\n            /**\n             * **Deprecated.** This function will continue to work, but a newer version is available. Use the\n             * [`uploadFiles()`](#uploadFiles) function instead.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#startUpload)\n             */\n            startUpload(): Promise<UploadButton.UploadFile>;\n            /**\n             * Uploads the files that the site visitor has chosen.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#uploadFiles)\n             */\n            uploadFiles(): Promise<UploadButton.UploadedFile[]>;\n        }\n        /**\n         * Provides functionality for elements that can be validated.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ValidatableMixin.html#)\n         */\n        interface ValidatableMixin {\n            /**\n             * Indicates if an input element's value is valid.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ValidatableMixin.html#valid)\n             */\n            readonly valid: boolean;\n            /**\n             * Gets a message indicating why the element is invalid, or an\n             *  empty string if the message is valid.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ValidatableMixin.html#validationMessage)\n             */\n            readonly validationMessage: string;\n            /**\n             * Gets a ValidityState object that contains\n             *  detailed information about the validity states of the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ValidatableMixin.html#validity)\n             */\n            readonly validity: ValidatableMixin.ValidityState;\n            /**\n             * Adds an event handler that runs when the element's validation is checked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ValidatableMixin.html#onCustomValidation)\n             */\n            onCustomValidation(validator: Validator, override?: boolean): void;\n            /**\n             * Resets the element's visual validity indication.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ValidatableMixin.html#resetValidityIndication)\n             */\n            resetValidityIndication(): void;\n            /**\n             * Updates the element's visual validity indication based on its current validity state.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ValidatableMixin.html#updateValidityIndication)\n             */\n            updateValidityIndication(): void;\n        }\n        /**\n         * Adds the value property to elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ValueMixin.html#)\n         */\n        interface ValueMixin {\n            /**\n             * Sets or gets an element's value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ValueMixin.html#value)\n             */\n            value: any;\n            /**\n             * Adds an event handler that runs when an input element's value\n             *  is changed.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ValueMixin.html#onChange)\n             *  @eventType change\n             */\n            onChange(handler: EventHandler): Element;\n        }\n        /**\n         * [Vector images](https://support.wix.com/en/article/wix-editor-about-vector-art) are digital illustrations based on geometric shapes.\n         *  They maintain their high quality when resized.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.VectorImage.html#)\n         */\n        interface VectorImage extends Element, HiddenCollapsedMixin, LinkableMixin, ClickableMixin, EffectsMixin {\n            /**\n             * Sets and gets the [Accessible Rich Internet Application (ARIA) attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes) and other accessibility properties for the element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VectorImage.html#accessibility)\n             */\n            readonly accessibility: VectorImage.Accessibility;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VectorImage.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the file location of the vector image.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VectorImage.html#src)\n             */\n            src: string;\n        }\n        /**\n         * **Deprecated.**\n         * This API will continue to work, but a newer version is available at\n         * [Video Player]($w/video-player).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Video.html#)\n         */\n        interface Video extends Element, HiddenCollapsedMixin {\n            /**\n             * Sets or gets the URL of the video.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.Video.html#videoUrl)\n             */\n            videoUrl: string;\n        }\n        /**\n         * [Video box](https://support.wix.com/en/article/videobox) is an element for displaying videos in customizable video containers.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#)\n         */\n        interface VideoBox extends Element, HiddenCollapsedMixin {\n            /**\n             * Gets the current play time from the beginning of the current video, in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#currentTime)\n             */\n            readonly currentTime: number;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Gets the total play time of the current video, in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#duration)\n             */\n            readonly duration: number;\n            /**\n             * Indicates if the volume is currently muted.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#isMuted)\n             */\n            readonly isMuted: boolean;\n            /**\n             * Indicates if a video is currently playing.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#isPlaying)\n             */\n            readonly isPlaying: boolean;\n            /**\n             * Sets or gets the file location of the current video.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#src)\n             */\n            src: string;\n            /**\n             * Sets or gets the video box volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#volume)\n             */\n            readonly volume: number;\n            /**\n             * Mutes video box volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#mute)\n             */\n            mute(): Promise<void>;\n            /**\n             * Adds an event handler that runs when the playback has ended.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#onEnded)\n             *  @eventType onEnded\n             */\n            onEnded(handler: EventHandler): VideoBox;\n            /**\n             * **Note: This standard element property is not relevant for VideoBox.**\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#onMouseIn)\n             *  @eventType mouseenter\n             */\n            onMouseIn(handler: MouseEventHandler): Element;\n            /**\n             * **Note: This standard element property is not relevant for VideoBox.**\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#onMouseOut)\n             *  @eventType mouseleave\n             */\n            onMouseOut(handler: MouseEventHandler): Element;\n            /**\n             * Adds an event handler that runs when the playback is paused.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#onPause)\n             *  @eventType onPause\n             */\n            onPause(handler: EventHandler): VideoBox;\n            /**\n             * Adds an event handler that runs when the playback is started or restarted.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#onPlay)\n             *  @eventType onPlay\n             */\n            onPlay(handler: EventHandler): VideoBox;\n            /**\n             * Adds an event handler that runs when the playback progresses.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#onProgress)\n             *  @eventType onProgress\n             */\n            onProgress(handler: EventHandler): VideoBox;\n            /**\n             * Pauses playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#pause)\n             */\n            pause(): Promise<void>;\n            /**\n             * Begins or resumes playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#play)\n             */\n            play(): Promise<void>;\n            /**\n             * Stops the playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#stop)\n             */\n            stop(): Promise<void>;\n            /**\n             * Toggles playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#togglePlay)\n             */\n            togglePlay(): Promise<void>;\n            /**\n             * Unmutes video volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoBox.html#unmute)\n             */\n            unmute(): Promise<void>;\n        }\n        /**\n         * [Video player](https://support.wix.com/en/article/wix-video-displaying-videos-on-your-site) is an element for presenting videos.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#)\n         */\n        interface VideoPlayer extends Element, HiddenCollapsedMixin {\n            /**\n             * Gets the current play time from the beginning of the current video, in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#currentTime)\n             */\n            readonly currentTime: number;\n            /**\n             * A property that represents an element's custom CSS classes.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#customClassList)\n             */\n            readonly customClassList: CustomClassList;\n            /**\n             * Sets or gets the description of a video.\n             *  > **Notes:**\n             *  > - Setting a video description only works when a video player is presenting a\n             *  >   video uploaded to your site.\n             *  > - Getting a video description does not work when a video player is presenting a\n             *  >   video from Facebook, Twitch, or YouTube.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#description)\n             */\n            description: string;\n            /**\n             * Gets the total play time of the current video, in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#duration)\n             */\n            readonly duration: number;\n            /**\n             * Indicates if the volume is currently muted.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#isMuted)\n             */\n            readonly isMuted: boolean;\n            /**\n             * Indicates if a video is currently playing.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#isPlaying)\n             */\n            readonly isPlaying: boolean;\n            /**\n             * Sets or gets the image shown in the video player before the video is played.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#poster)\n             */\n            poster: string;\n            /**\n             * Sets or gets the file location of the current video.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#src)\n             */\n            src: string;\n            /**\n             * Sets or gets the title displayed in a video player.\n             *  > **Notes:**\n             *  > - Setting a video title only works when a video player is presenting a\n             *  >   video uploaded to your site.\n             *  > - Getting a video title does not work when a video player is presenting a\n             *  >   video from Facebook, Twitch, or YouTube.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#title)\n             */\n            title: string;\n            /**\n             * Sets or gets the video player volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#volume)\n             */\n            volume: number;\n            /**\n             * Mutes video volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#mute)\n             */\n            mute(): Promise<void>;\n            /**\n             * Adds an event handler that runs when playback has ended.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#onEnded)\n             *  @eventType onEnded\n             */\n            onEnded(handler: EventHandler): VideoPlayer;\n            /**\n             * Adds an event handler that runs when playback is paused.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#onPause)\n             *  @eventType onPause\n             */\n            onPause(handler: EventHandler): VideoPlayer;\n            /**\n             * Adds an event handler that runs when playback is started or restarted.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#onPlay)\n             *  @eventType onPlay\n             */\n            onPlay(handler: EventHandler): VideoPlayer;\n            /**\n             * Adds an event handler that runs when playback progresses.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#onProgress)\n             *  @eventType onProgress\n             */\n            onProgress(handler: EventHandler): VideoPlayer;\n            /**\n             * Pauses playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#pause)\n             */\n            pause(): Promise<void>;\n            /**\n             * Begins or resumes playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#play)\n             */\n            play(): Promise<void>;\n            /**\n             * Moves playback to the specified time, in seconds.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#seek)\n             */\n            seek(time: number): Promise<void>;\n            /**\n             * Pauses playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#stop)\n             */\n            stop(): Promise<void>;\n            /**\n             * Toggles playback.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#togglePlay)\n             */\n            togglePlay(): Promise<void>;\n            /**\n             * Unmutes video volume.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.VideoPlayer.html#unmute)\n             */\n            unmute(): Promise<void>;\n        }\n        /**\n         * The ViewChangeEvent is triggered when the month or year changes on a date picker or appointment field element.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ViewChangeEvent.html#)\n         */\n        interface ViewChangeEvent {\n            /**\n             * Gets the context in which an event was triggered.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ViewChangeEvent.html#context)\n             */\n            readonly context: Event.EventContext;\n            /**\n             * Gets the options that relate to the date picker or appointment field view change event.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ViewChangeEvent.html#options)\n             */\n            readonly options: ViewChangeEvent.ViewChangeEventOptions;\n            /**\n             * Gets the type of event that was triggered.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ViewChangeEvent.html#type)\n             */\n            readonly type: string;\n        }\n        /**\n         * Provides functionality for elements that can be scrolled into and out\n         *  of view.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ViewportMixin.html#)\n         */\n        interface ViewportMixin {\n            /**\n             * Adds an event handler that runs when an element is displayed\n             *  in the viewable part of the current window.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ViewportMixin.html#onViewportEnter)\n             *  @eventType viewportEnter\n             */\n            onViewportEnter(handler: EventHandler): Element;\n            /**\n             * Adds an event handler that runs when an element is no longer\n             *  displayed in the viewable part of the current window.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.ViewportMixin.html#onViewportLeave)\n             *  @eventType viewportLeave\n             */\n            onViewportLeave(handler: EventHandler): Element;\n        }\n        /**\n         * The [`WixComments`](https://support.wix.com/en/article/wix-comments-an-overview) element is a customizable widget for site visitors to leave comments and feedback.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixComments.html#)\n         */\n        interface WixComments extends Element {\n            /**\n             * Indicates whether the `WixComments` element is locked.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixComments.html#locked)\n             */\n            readonly locked: boolean;\n            /**\n             * Closes all comment boxes on the `WixComments` element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixComments.html#closeCommentBoxes)\n             */\n            closeCommentBoxes(): Promise<void>;\n            /**\n             * Locks the `WixComments` element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixComments.html#lock)\n             */\n            lock(): void;\n            /**\n             * Adds an event handler that runs when a comment is added or removed from the `WixComments` element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixComments.html#onCommentCountChange)\n             */\n            onCommentCountChange(callback: OnCommentCountChangeCallback): Promise<void>;\n            /**\n             * Adds an event handler that runs when a new comment is created in the `WixComments` element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixComments.html#onCommentCreate)\n             */\n            onCommentCreate(callback: OnCommentCreateCallback): Promise<void>;\n            /**\n             * Opens the comment box closest to the element that called the function.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixComments.html#openNearestCommentBox)\n             */\n            openNearestCommentBox(commentBoxOptions?: CommentBoxOptions): Promise<void>;\n            /**\n             * Retrieves a comment thread with a unique resource ID, or creates one if it doesn't exist.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixComments.html#setResourceId)\n             */\n            setResourceId(resourceId: string): void;\n            /**\n             * Unlocks the `WixComments` element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixComments.html#unlock)\n             */\n            unlock(): void;\n        }\n        /**\n         * Provides functionality for refining a filter.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#)\n         */\n        interface WixDataFilter {\n            /**\n             * Adds an `and` condition to the filter.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#and)\n             */\n            and(filter: WixDataFilter): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value is within a specified range.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#between)\n             */\n            between(propertyName: string, rangeStart: string | number | Date, rangeEnd: string | number | Date): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value contains a specified string.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#contains)\n             */\n            contains(propertyName: string, string: string): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value ends with a specified string.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#endsWith)\n             */\n            endsWith(propertyName: string, string: string): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#eq)\n             */\n            eq(propertyName: string, value: any): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value is greater than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#ge)\n             */\n            ge(propertyName: string, value: string | number | Date): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value is greater than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#gt)\n             */\n            gt(propertyName: string, value: string | number | Date): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property values equals all of the specified `value` parameters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#hasAll)\n             */\n            hasAll(propertyName: string, value: string | number | Date | any[]): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value equals any of the specified `value` parameters.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#hasSome)\n             */\n            hasSome(propertyName: string, value: string | number | Date | any[]): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property does not exist or does not have any value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#isEmpty)\n             */\n            isEmpty(propertyName: string): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property has any value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#isNotEmpty)\n             */\n            isNotEmpty(propertyName: string): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value is less than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#le)\n             */\n            le(propertyName: string, value: string | number | Date): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value is less than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#lt)\n             */\n            lt(propertyName: string, value: string | number | Date): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value does not equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#ne)\n             */\n            ne(propertyName: string, value: any): WixDataFilter;\n            /**\n             * Adds a `not` condition to the filter.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#not)\n             */\n            not(filter: WixDataFilter): WixDataFilter;\n            /**\n             * Adds an `or` condition to the filter.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#or)\n             */\n            or(filter: WixDataFilter): WixDataFilter;\n            /**\n             * Refines a filter to match items whose specified property value starts with a specified string.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataFilter.html#startsWith)\n             */\n            startsWith(propertyName: string, string: string): WixDataFilter;\n        }\n        /**\n         * Provides functionality for refining a sort.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataSort.html#)\n         */\n        interface WixDataSort {\n            /**\n             * Adds a sort, sorting by the specified properties in ascending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataSort.html#ascending)\n             */\n            ascending(...propertyName: string[]): WixDataFilter;\n            /**\n             * Adds a sort, sorting by the specified properties in descending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixDataSort.html#descending)\n             */\n            descending(...propertyName: string[]): WixDataFilter;\n        }\n        /**\n         * A [WixEvents](https://support.wix.com/en/article/adding-wix-events-to-your-site) element displays your site's events.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixEvents.html#)\n         */\n        interface WixEvents extends Element, HiddenCollapsedMixin {\n            /**\n             * Sets or gets the event category displayed in a Wix Events element.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixEvents.html#categoryId)\n             */\n            categoryId: string;\n        }\n        /**\n         * A `$w` element for enabling your site contacts and visitors to work with the Wix Forms app.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixForms.html#)\n         */\n        interface WixForms extends HiddenCollapsedMixin {\n            /**\n             * Adds an event handler that runs when a site visitor starts to submit a Wix Form yet before the form is actually submitted and sent to the server.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixForms.html#onWixFormSubmit)\n             *  @eventType WixFormSubmitEvent\n             */\n            onWixFormSubmit(eventHandler: WixForms.WixFormSubmitEventHandler): void;\n            /**\n             * Adds an event handler that runs when a site visitor submits a Wix Form and it is successfully received by the server.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixForms.html#onWixFormSubmitted)\n             *  @eventType WixFormSubmittedEvent\n             */\n            onWixFormSubmitted(eventHandler: WixForms.WixFormSubmittedEventHandler): void;\n            /**\n             * Adds an event handler that runs when a site visitor is not able to successfully submit a Wix Form to the server.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixForms.html#onWixFormSubmittedError)\n             *  @eventType WixFormSubmittedErrorEvent\n             */\n            onWixFormSubmittedError(eventHandler: WixForms.WixFormSubmittedErrorEventHandler): void;\n        }\n        /**\n         * An event that is fired when a site visitor clicks a submit button on a [`WixForms`](https://dev.wix.com/docs/velo/velo-only-apis/$w/wix-forms/introduction) element and the Wix Form is about to be submitted to the server.\n         *  You do not need to import `$w` or `wix-crm` to work with Wix Forms events.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormSubmitEvent.html#)\n         */\n        interface WixFormSubmitEvent extends Event {\n        }\n        /**\n         * An event that is fired when a site visitor clicks a submit button on a [`WixForms`](https://dev.wix.com/docs/velo/velo-only-apis/$w/wix-forms/introduction) element but the Wix Form is not successfully submitted to the server.\n         *  You do not need to import `$w` or `wix-crm` to work with Wix Forms events.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormSubmittedErrorEvent.html#)\n         */\n        interface WixFormSubmittedErrorEvent extends Event {\n            /**\n             * Gets the error code for a failed Wix Form submission.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormSubmittedErrorEvent.html#code)\n             */\n            readonly code: string;\n            /**\n             * Gets the error message for a failed Wix Form submission.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormSubmittedErrorEvent.html#message)\n             */\n            readonly message: string;\n        }\n        /**\n         * An event that is fired when a site visitor clicks a submit button on a [`WixForms`](https://dev.wix.com/docs/velo/velo-only-apis/$w/wix-forms/introduction) element and the Wix Form is successfully submitted to the server.\n         *  You do not need to import `$w` or `wix-crm` to work with Wix Forms events.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormSubmittedEvent.html#)\n         */\n        interface WixFormSubmittedEvent extends Event {\n        }\n        /**\n         * A `WixFormsV2` element displays customizable forms, collects all the info that a site visitor entered into the form fields, and lets you track all form submissions in the dashboard.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#)\n         */\n        interface WixFormsV2 extends Element, HiddenCollapsedMixin {\n            /**\n             * Gets Wix Form field values.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#getFieldValues)\n             */\n            getFieldValues(): any;\n            /**\n             * Gets the total number of steps in a Wix Form.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#getStepCount)\n             */\n            getStepCount(): number;\n            /**\n             * Gets the current step number of a Wix Form. Counting starts from 1.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#getStepNumber)\n             */\n            getStepNumber(): number;\n            /**\n             * Navigates to the given Wix Form step. If an invalid number is passed, `navigateToStep()` doesn't run.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#navigateToStep)\n             */\n            navigateToStep(stepNumber: number): void;\n            /**\n             * Runs a callback when a site visitor changes Wix Form field values.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#onFieldValueChange)\n             */\n            onFieldValueChange(callback: WixFormsV2.OnFieldValueChangeCallback): void;\n            /**\n             * Runs a callback when a Wix Form navigates to another step.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#onStepNumberChange)\n             */\n            onStepNumberChange(callback: WixFormsV2.OnStepNumberChangeCallback): void;\n            /**\n             * Runs a callback when a site visitor starts to submit a Wix Form yet before the form is actually submitted and sent to the server.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#onSubmit)\n             */\n            onSubmit(callback: WixFormsV2.OnSubmitCallback): void;\n            /**\n             * Runs a callback when a site visitor is not able to successfully submit a Wix Form to the server.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#onSubmitFailure)\n             */\n            onSubmitFailure(callback: WixFormsV2.OnSubmitFailureCallback): void;\n            /**\n             * Runs a callback when a site visitor submits a Wix Form and it is successfully received by the server.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#onSubmitSuccess)\n             */\n            onSubmitSuccess(callback: WixFormsV2.OnSubmitSuccessCallback): void;\n            /**\n             * Sets Wix Form field values.\n             * Setting the invalid field values fires the `onFieldValuesChange()` callback. The callback returns fields with the valid values previously set.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#setFieldValues)\n             */\n            setFieldValues(formValues: any): void;\n            /**\n             * Submits a Wix Form.\n             * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#submit)\n             */\n            submit(): Promise<any>;\n        }\n        /**\n         * An [accordion element](https://support.wix.com/en/article/editor-x-adding-and-customizing-an-accordion-5177642#adding-and-managing-accordion-items)\n         * is a container that holds multiple collapsible accordion item elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Accordion.html#)\n         */\n        namespace Accordion {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies how assistive technologies communicate updates made to an element's content. When set to `false`, assistive technologies announce only the updated content according to the value of `ariaRelevant`. When set to `true`, assistive technologies announce all content in the element, regardless of the `ariaRelevant` property. For example, if a container's content changes and `ariaAtomic` is `true`, assistive technologies announce all contents of the container, providing visitors with complete context for the update. This property only works when the element or one of its ancestors has `ariaLive` enabled.\n                 *\n                 * Default: `false`\n                 */\n                ariaAtomic?: boolean;\n                /**\n                 * Indicates to assistive technologies whether an element is currently updating or in a loading state, helping to convey the status of dynamic content to visitors. When set to `true`, this property informs assistive technologies that visitors shouldn't interact with the element until the update completes. After the update completes, set `ariaBusy` to `false` to allow assistive technologies to announce that the new content is now available.\n                 *\n                 * Default: `false`\n                 */\n                ariaBusy?: boolean;\n                /**\n                 * Indicates whether the element is currently active or selected in a set of related items. This allows assistive technologies to relay to site visitors which element in a set is currently in focus.\n                 * Only 1 element in a set should have a value other than `'false'` at any time to ensure that assistive technologies correctly identify which element is currently in focus or active.\n                 *\n                 * Supported values:\n                 * - `'true'`: Represents the current element in an unordered set of related elements.\n                 * - `'false'`: Indicates that the element in a set isn't currently active or selected.\n                 * - `'page'`: Represents the current page in a multi-page site.\n                 * - `'step'`: Marks the currently active step in a multi-step process such as a checkout flow.\n                 * - `'date'`: Represents the currently selected date in a calendar.\n                 *\n                 * If `ariaCurrent` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaCurrent?: string;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(“#myElement”).accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the error message of an input element by referencing another element by ID. This property informs those using assistive technologies about validation issues. Use `ariaErrorMessage` in conjunction with `ariaInvalid` to indicate that the input is invalid and to provide context for the error.\n                 *\n                 * Example: `$w(\"#myInputElement\").accessibility.ariaErrorMessage = $w(\"#inputErrorText\");`\n                 */\n                ariaErrorMessage?: Text | CollapsibleText;\n                /**\n                 * Indicates to assistive technology users whether the element is currently expanded or collapsed. `ariaExpanded` helps screen readers understand when content is displayed or hidden as a result of site visitor interaction on a site. If `ariaExpanded` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaExpanded?: boolean;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(“#myElement”).accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Identifies the element that this element logically owns, even if it isn't nested within the owning element in the page's layout. This property allows assistive technologies convey relationships between elements regardless of their layout. For example, a text input element can own a helper text element that provides additional information, even if the helper text appears elsewhere in the layout.\n                 */\n                ariaOwns?: Element;\n                /**\n                 * Specifies which types of dynamic content updates are communicated to visitors by assistive technologies. This property helps minimize unnecessary announcements by ensuring that only relevant changes are reported. It's only effective when set on an element, or its parent, that also has `ariaLive` enabled.\n                 *\n                 * Supported values:\n                 * - `'additions'`: Assistive technologies announce only newly added content.\n                 * - `'removals'`: Assistive technologies announce only removed content.\n                 * - `'text'`: Assistive technologies announce only changes to existing text content.\n                 * - `'all'`: Assistive technologies announce all types of updates, including additions, removals, and text changes.\n                 *\n                 * Default: `'additions'`\n                 */\n                ariaRelevant?: string;\n                /**\n                 * Defines the role of the element, helping assistive technologies understand the element's purpose and how it should be interacted with. When set to `undefined` or `null`, the role is removed from the element and isn't read by assistive technologies. Learn more about [ARIA roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles).\n                 *\n                 * Supported values: `'alert'`, `'application'`, `'button'`, `'checkbox'`, `'complementary'`, `'group'`, `'heading'`, `'link'`, `'list'`, `'listBox'`, `'listItem'`, `'navigation'`, `'none'`, `'option'`, `'radio'`, `'radioGroup'`, `'range'`, `'region'`, `'tab'`, `'tabList'`, `'tabPanel'`, `'status'`, `null`, `undefined`.\n                 *\n                 * Default: `undefined`\n                 */\n                role?: string;\n            };\n        }\n        /**\n         * [Address input](https://support.wix.com/en/article/content-manager-adding-and-setting-up-an-address-input-element)\n         * is used for entering addresses. It lets users type\n         * an address, and suggests exact locations using Google Maps services.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.AddressInput.html#)\n         */\n        namespace AddressInput {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n            /**\n             * An object representing a physical address.\n             */\n            type Address = {\n                /**\n                 * Address in human-readable format. The formatted address is displayed in the address input element.\n                 */\n                formatted: string;\n                /**\n                 * Address coordinates.\n                 */\n                location?: AddressInput.AddressLocation;\n                /**\n                 * Address street name and number.\n                 */\n                streetAddress?: AddressInput.StreetAddress;\n                /**\n                 * Address city.\n                 */\n                city?: string;\n                /**\n                 * Address subdivision of a country, such as a state or province.\n                 */\n                subdivision?: string;\n                /**\n                 * Address country.\n                 */\n                country?: string;\n                /**\n                 * Address postal code.\n                 */\n                postalCode?: string;\n            };\n            /**\n             * An object containing a filter for filtering address suggestions\n             * in an address input. Suggestions are restricted to addresses within\n             * the specified country.\n             * > **Note:** Currently only filtering by country is supported.\n             */\n            type AddressFilter = {\n                /**\n                 * [ISO_3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) country code.\n                 */\n                country?: string;\n            };\n            /**\n             * An object containing the coordinates of an address.\n             */\n            type AddressLocation = {\n                /**\n                 * Address latitude.\n                 */\n                latitude: number;\n                /**\n                 * Address longitude.\n                 */\n                longitude: number;\n            };\n            /**\n             * An object containing the street name and number of an address.\n             */\n            type StreetAddress = {\n                /**\n                 * Street name.\n                 */\n                name: string;\n                /**\n                 * Street number.\n                 */\n                number?: string;\n            };\n            /**\n             * Function that runs when custom validation is checked.\n             */\n            type AddressInputValidator = (value: AddressInput.Address, reject: Function) => void;\n        }\n        /**\n         * Use an `AppointmentField` to select dates, times, and timezones for scheduling appointments.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.AppointmentField.html#)\n         */\n        namespace AppointmentField {\n            type OperationOptions = {\n                /**\n                 * Start date of the currently displayed month.\n                 */\n                startDate: Date;\n                /**\n                 * End date of the currently displayed month.\n                 */\n                endDate: Date;\n            };\n            type dateTimeRange = {\n                /**\n                 * Date and time of the start of the range.\n                 */\n                startDateTime: Date;\n                /**\n                 * Date and time of the end of the range.\n                 */\n                endDateTime: Date;\n            };\n            type dateTimeRangeInfo = {\n                /**\n                 * Date range type. Valid values: `'enabledRanges'`\n                 */\n                type: string;\n                /**\n                 * Array of dateTimeRange objects.\n                 */\n                payload: AppointmentField.dateTimeRange[];\n            };\n        }\n        /**\n         * Provides functionality for [background images](https://support.wix.com/en/article/wix-editor-adding-an-image-to-your-page-background) in certain elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Background.html#)\n         */\n        namespace Background {\n            /**\n             * An object used by the `background` property that contains the background options.\n             */\n            type BackgroundOptions = {\n                /**\n                 * The file location of the background image or video.\n                 *  Setting the `src` property changes the\n                 *  displayed image or video to the image or video found at the new `src` value.\n                 *\n                 *  Getting the `src` property returns the\n                 *  location of the current image or video file.\n                 *\n                 *  Images can either be from the [Media Manager](https://support.wix.com/en/article/about-the-media-manager)\n                 *  or an external image from any web location. Videos must come from the\n                 *  [Media Manager](https://support.wix.com/en/article/about-the-media-manager).\n                 *\n                 *  The URL formats supported are:\n                 *\n                 *  + Images from the Media Manager:\n                 *    `wix:image://v1//#originWidth=&originHeight=[&watermark=]`\n                 *  + Videos from the Media Manager:\n                 *    `wix:video://v1//#posterUri=&posterWidth=&posterHeight=`\n                 *  + Images from the web:\n                 *    `http(s)://`\n                 */\n                src: string;\n            };\n        }\n        /**\n         * Container [boxes](https://support.wix.com/en/article/container-boxes)\n         *  are used to structure your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Box.html#)\n         */\n        namespace Box {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Defines the role of the element, helping assistive technologies understand the element's purpose and how it should be interacted with. When set to `undefined` or `null`, the role is removed from the element and isn't read by assistive technologies. Learn more about [ARIA roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles).\n                 *\n                 * Supported values: `'alert'`, `'application'`, `'button'`, `'checkbox'`, `'complementary'`, `'group'`, `'heading'`, `'link'`, `'list'`, `'listBox'`, `'listItem'`, `'navigation'`, `'none'`, `'option'`, `'radio'`, `'radioGroup'`, `'range'`, `'region'`, `'tab'`, `'tabList'`, `'tabPanel'`, `'status'`, `null`, `undefined`.\n                 *\n                 * Default: `undefined`\n                 */\n                role?: string;\n                /**\n                 * Indicates whether the element is visible to or hidden from site visitors who rely on assistive technologies. Use `ariaHidden` to hide decorative, redundant, or off-screen content from screen readers. When `true`, the element is hidden from assistive technologies but remains visible in the DOM. When `false`, the element is exposed to assistive technologies. If `ariaHidden` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaHidden?: boolean;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Indicates whether the element is currently active or selected in a set of related items. This allows assistive technologies to relay to site visitors which element in a set is currently in focus.\n                 * Only 1 element in a set should have a value other than `'false'` at any time to ensure that assistive technologies correctly identify which element is currently in focus or active.\n                 *\n                 * Supported values:\n                 * - `'true'`: Represents the current element in an unordered set of related elements.\n                 * - `'false'`: Indicates that the element in a set isn't currently active or selected.\n                 * - `'page'`: Represents the current page in a multi-page site.\n                 * - `'step'`: Marks the currently active step in a multi-step process such as a checkout flow.\n                 * - `'date'`: Represents the currently selected date in a calendar.\n                 *\n                 * If `ariaCurrent` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaCurrent?: string;\n                /**\n                 * Indicates to assistive technologies whether an element is currently updating or in a loading state, helping to convey the status of dynamic content to visitors. When set to `true`, this property informs assistive technologies that visitors shouldn't interact with the element until the update completes. After the update completes, set `ariaBusy` to `false` to allow assistive technologies to announce that the new content is now available.\n                 *\n                 * Default: `false`\n                 */\n                ariaBusy?: boolean;\n                /**\n                 * Identifies the element that is controlled by visitor interactions with this element. This property helps assistive technologies convey which elements are affected by the controlling element. For example, a button element that opens a popup window when clicked controls the popup element.\n                 */\n                ariaControls?: Element;\n                /**\n                 * Indicates to assistive technology users whether the element is currently expanded or collapsed. `ariaExpanded` helps screen readers understand when content is displayed or hidden as a result of site visitor interaction on a site. If `ariaExpanded` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaExpanded?: boolean;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Identifies the element that this element logically owns, even if it isn't nested within the owning element in the page's layout. This property allows assistive technologies convey relationships between elements regardless of their layout. For example, a text input element can own a helper text element that provides additional information, even if the helper text appears elsewhere in the layout.\n                 */\n                ariaOwns?: Element;\n                /**\n                 * Indicates to assistive technology users whether the element is currently pressed. `ariaPressed` is only relevant for buttons that act as toggles or have a pressed/unpressed state. If `ariaPressed` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaPressed?: string;\n                /**\n                 * Specifies which types of dynamic content updates are communicated to visitors by assistive technologies. This property helps minimize unnecessary announcements by ensuring that only relevant changes are reported. It's only effective when set on an element, or its parent, that also has `ariaLive` enabled.\n                 *\n                 * Supported values:\n                 * - `'additions'`: Assistive technologies announce only newly added content.\n                 * - `'removals'`: Assistive technologies announce only removed content.\n                 * - `'text'`: Assistive technologies announce only changes to existing text content.\n                 * - `'all'`: Assistive technologies announce all types of updates, including additions, removals, and text changes.\n                 *\n                 * Default: `'additions'`\n                 */\n                ariaRelevant?: string;\n                /**\n                 * Defines a more specific description to help clarify the `role` of an element. This property is useful for non-interactive container element roles, such as `\"region\"` or `\"group\"`, and for enhancing the context of interactive elements like buttons. Use `ariaRoleDescription` carefully, as improper use can confuse visitors and affect their understanding of the element's purpose.\n                 */\n                ariaRoleDescription?: string;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n        }\n        /**\n         * [Breadcrumbs](https://support.wix.com/en/article/wix-editor-adding-and-setting-up-breadcrumbs) are used for navigating between site pages.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Breadcrumbs.html#)\n         */\n        namespace Breadcrumbs {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n            };\n            /**\n             * An object that contains the attributes of a breadcrumbs item.\n             */\n            type Item = {\n                /**\n                 * The label of the breadcrumbs item. This is text that the site visitor sees and can click to navigate. Required if `icon` isn't specified. If not specified, `label` is omitted from the returned array.\n                 */\n                label?: string;\n                /**\n                 * The icon of the breadcrumbs item. This is a vector image that the site visitor sees and can click to navigate. Required if `label` isn't specified. If not specified, the `icon` key is omitted from the returned array.\n                 *\n                 *  The vector image file can be an image file from the Media Manager, an external SVG image from any web location, or a literal SVG XML string.\n                 *\n                 *  The formats supported are:\n                 *  + Vector images from the Media Manager: `wix:vector://v1//`\n                 *  + Vector images from the web: `http(s)://`\n                 *  + Vector XML string: `...`\n                 */\n                icon?: string;\n                /**\n                 * Optional link for the breadcrumbs item as a URL relative to your site's home page. This is the link the site visitor navigates to when they click on a breadcrumbs item. The page opens in the same window/tab.\n                 *\n                 *  If a link isn't specified, it's `undefined` in the breadcrumbs object. The corresponding label or icon isn't clickable.\n                 *\n                 *  >**Note:**\n                 *  > In the default breadcrumbs `items` array generated for a page, any `link` properties contain absolute URLs, not relative ones.\n                 */\n                link?: string;\n                /**\n                 * Setting `isCurrent` to `true` for a breadcrumbs item causes the item to appear highlighted in the breadcrumbs element.\n                 * You can use this property to indicate which page in a breadcrumbs trail is currently displayed. In a default `items` array, the last item's `isCurrent` value is `true`.\n                 * >**Note:** The value of `isCurrent` isn't validated against which page is actually displayed. It can also be set to `true` for multiple breadcrumbs items.\n                 */\n                isCurrent?: boolean;\n            };\n        }\n        /**\n         * A [button](https://support.wix.com/en/article/wix-editor-about-buttons) on your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Button.html#)\n         */\n        namespace Button {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Indicates to assistive technology users whether the element is currently expanded or collapsed. `ariaExpanded` helps screen readers understand when content is displayed or hidden as a result of site visitor interaction on a site. If `ariaExpanded` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaExpanded?: boolean;\n                /**\n                 * Indicates to assistive technology users whether the element is currently pressed. `ariaPressed` is only relevant for buttons that act as toggles or have a pressed/unpressed state. If `ariaPressed` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaPressed?: string;\n                /**\n                 * Indicates to assistive technology users whether an element triggers an interactive popup such as a menu or dropdown. If `ariaHasPopup` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaHasPopup?: string;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n                /**\n                 * Specifies how assistive technologies communicate updates made to an element's content. When set to `false`, assistive technologies announce only the updated content according to the value of `ariaRelevant`. When set to `true`, assistive technologies announce all content in the element, regardless of the `ariaRelevant` property. For example, if a container's content changes and `ariaAtomic` is `true`, assistive technologies announce all contents of the container, providing visitors with complete context for the update. This property only works when the element or one of its ancestors has `ariaLive` enabled.\n                 *\n                 * Default: `false`\n                 */\n                ariaAtomic?: boolean;\n                /**\n                 * Identifies the element that is controlled by visitor interactions with this element. This property helps assistive technologies convey which elements are affected by the controlling element. For example, a button element that opens a popup window when clicked controls the popup element.\n                 */\n                ariaControls?: Element;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Identifies the element that this element logically owns, even if it isn't nested within the owning element in the page's layout. This property allows assistive technologies convey relationships between elements regardless of their layout. For example, a text input element can own a helper text element that provides additional information, even if the helper text appears elsewhere in the layout.\n                 */\n                ariaOwns?: Element;\n                /**\n                 * Specifies which types of dynamic content updates are communicated to visitors by assistive technologies. This property helps minimize unnecessary announcements by ensuring that only relevant changes are reported. It's only effective when set on an element, or its parent, that also has `ariaLive` enabled.\n                 *\n                 * Supported values:\n                 * - `'additions'`: Assistive technologies announce only newly added content.\n                 * - `'removals'`: Assistive technologies announce only removed content.\n                 * - `'text'`: Assistive technologies announce only changes to existing text content.\n                 * - `'all'`: Assistive technologies announce all types of updates, including additions, removals, and text changes.\n                 *\n                 * Default: `'additions'`\n                 */\n                ariaRelevant?: string;\n                /**\n                 * Adds extra text before or after a text element for screen readers and other assistive technologies. This property helps provide extra context to text elements on a site page. The added text doesn't affect a site visually but is read aloud by screen readers for those who rely on assistive technology. For example, you can add the prefix \"bold text\" to a bold text element because screen readers don't effectively communicate text styles such as bold, italicize, and strikethrough.\n                 */\n                screenReader?: Button.ScreenReader;\n            };\n            /**\n             * Adds hidden text before or after a text element using the `screenReader.prefix` and `screenReader.suffix` properties. This helps screen readers better understand the content of your text element. For example, screen readers don't effectively communicate text styles such as bold and strikethrough. Use `screenReader` to provide context for the styled text.\n             */\n            type ScreenReader = {\n                /**\n                 * Extra text added before a text element.\n                 *\n                 * Max: 1000 characters\n                 */\n                prefix?: string;\n                /**\n                 * Extra text added after a text element.\n                 *\n                 * Max: 1000 characters\n                 */\n                suffix?: string;\n            };\n        }\n        /**\n         * The [reCAPTCHA](https://support.wix.com/en/article/about-recaptcha)\n         * element allows you to present a challenge-response test to site visitors to determine whether they are human or a bot.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Captcha.html#)\n         */\n        namespace Captcha {\n            /**\n             * An error event handler.\n             */\n            type ErrorHandler = () => void;\n            /**\n             * A timeout event handler.\n             */\n            type TimeoutHandler = () => void;\n            /**\n             * A verification event handler.\n             */\n            type VerifiedHandler = () => Promise<void> | void;\n        }\n        /**\n         * An icon that leads users to the shopping cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.CartIcon.html#)\n         */\n        namespace CartIcon {\n            /**\n             * An object used to pass a custom text field when adding a product to\n             *  the shopping cart with options.\n             */\n            type AddToCartCustomTextField = {\n                /**\n                 * Custom text field title.\n                 */\n                title: string;\n                /**\n                 * Custom text field value.\n                 */\n                value: string;\n            };\n            /**\n             * An object used when adding multiple products to the shopping cart.\n             */\n            type AddToCartItem = {\n                /**\n                 * The ID of the product to add to the cart.\n                 */\n                productId: string;\n                /**\n                 * The number of product units to add to the cart.\n                 */\n                quantity: number;\n                /**\n                 * Specific product options to add to the cart.\n                 */\n                options?: CartIcon.AddToCartOptions;\n            };\n            /**\n             * An object used when adding a product to the shopping cart with options.\n             */\n            type AddToCartOptions = {\n                /**\n                 * Product options to use when adding the product to the cart.\n                 * The object contains `key:value` pairs where the key is the option name and the value is the chosen option value.\n                 */\n                choices: any;\n                /**\n                 * Custom text fields to use when adding the product to the cart.\n                 */\n                customTextFields: CartIcon.AddToCartCustomTextField[];\n            };\n        }\n        /**\n         * A [chatbox](https://support.wix.com/en/article/editor-x-adding-and-customizing-chat) is an element for sending and receiving chat messages.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Chatbox.html#)\n         */\n        namespace Chatbox {\n            /**\n             * An object representing a chat channel.\n             */\n            type Channel = {\n                /**\n                 * ID of the channel.\n                 */\n                id: string;\n                /**\n                 * Display information associated with the channel.\n                 */\n                displayData: Chatbox.DisplayData;\n                /**\n                 * An array of messages sent over the channel. Currently only the last message is included.\n                 */\n                messages: Chatbox.Message[];\n            };\n            /**\n             * An object containing information about a chat channel.\n             */\n            type ChannelInfo = {\n                /**\n                 * ID of a chat channel.\n                 */\n                channelId?: string;\n                /**\n                 * Type of chat channel.\n                 *  One of the following:\n                 *\n                 *  + `\"Focused\"`: Currently focused channel.\n                 *  + `\"Business\"`: Business channel.\n                 */\n                type?: string;\n            };\n            /**\n             * An object representing display information associated with a [`Channel`](#channel).\n             */\n            type DisplayData = {\n                /**\n                 * The image associated with the channel.\n                 *  One of the following:\n                 *\n                 *  + For private social channels, the image associated with the site member's account. If there is no image associated with the account, defaults to the avatar image.\n                 *  + For group social channels, the image associated with the chat group.\n                 *  + For business channels, `image` is not currently supported.\n                 */\n                image: string;\n                /**\n                 * For social channels, the member's name or chat group name. For business channels, the site's [display name](wix-site-backend.generalInfo.html#getSiteDisplayName).\n                 */\n                name: string;\n                /**\n                 * Only supported for business channels. Initials of the site's business.\n                 */\n                initials: string;\n            };\n            /**\n             * An object that contains information about a chat message.\n             */\n            type Message = {\n                /**\n                 * ID of the channel on which the message was sent.\n                 */\n                channelId: string;\n                /**\n                 * Type of message. Currently only `TEXT` is supported.\n                 */\n                type: string;\n                /**\n                 * First 250 characters of the chat message. Currently only text is included in the summary.\n                 */\n                summary: string;\n                /**\n                 * The sender's member ID. For a message sent from the site's business, the site owner's member ID.\n                 */\n                participantId: string;\n                /**\n                 * Date and time the message was sent.\n                 */\n                createdAt: Date;\n                /**\n                 * Content of the message.\n                 */\n                payload: Chatbox.MessagePayload;\n                /**\n                 * An object representing additional contextual message information included in a chat message. Only relevant for messages sent using the backend [`sendMessage()`](https://dev.wix.com/docs/sdk/backend-modules/inbox/messages/send-message) function. Site visitors do not see metadata.\n                 */\n                metadata?: any;\n            };\n            /**\n             * An object representing a chat message to be sent.\n             */\n            type MessageInfo = {\n                /**\n                 * The text to be sent in the message.\n                 */\n                messageText: string;\n                /**\n                 * The ID of the channel over which the message is sent. If empty, message is sent to the site's business.\n                 */\n                channelId?: string;\n            };\n            /**\n             * The content of a chat message.\n             */\n            type MessagePayload = {\n                /**\n                 * Text of the chat message.\n                 */\n                text: string;\n            };\n        }\n        /**\n         * [Checkboxes](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-checkbox) are used for a single binary choice.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Checkbox.html#)\n         */\n        namespace Checkbox {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Indicates to assistive technology users whether an element's input value is invalid or if a required input field is empty. When `true`, assistive technologies alert site visitors that the element's input value doesn't meet the expected criteria or that the required field is empty. When `false`, the value entered is valid or the field isn't required. This helps assistive technology users identify and correct errors in form submissions.\n                 */\n                ariaInvalid?: boolean;\n                /**\n                 * Indicates to assistive technology users whether an input element has a required field or action. If `ariaRequired` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies. The `ariaRequired` property doesn't inform assistive technologies if the required input value is valid.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaRequired?: string;\n                /**\n                 * Identifies the element that is controlled by visitor interactions with this element. This property helps assistive technologies convey which elements are affected by the controlling element. For example, a button element that opens a popup window when clicked controls the popup element.\n                 */\n                ariaControls?: Element;\n                /**\n                 * Sets or gets the error message of an input element by referencing another element by ID. This property informs those using assistive technologies about validation issues. Use `ariaErrorMessage` in conjunction with `ariaInvalid` to indicate that the input is invalid and to provide context for the error.\n                 *\n                 * Example: `$w(\"#myInputElement\").accessibility.ariaErrorMessage = $w(\"#inputErrorText\");`\n                 */\n                ariaErrorMessage?: Text | CollapsibleText;\n            };\n        }\n        /**\n         * [Checkbox groups](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-checkbox) are used for selecting any number of the given\n         *  options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.CheckboxGroup.html#)\n         */\n        namespace CheckboxGroup {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n            /**\n             * An object used by the `options` property that contains the attributes of a checkbox item.\n             */\n            type Option = {\n                /**\n                 * The value of the checkbox option. This is what you use in code and is what is stored in your collections. Mandatory if `label` is not specified.\n                 */\n                value?: string;\n                /**\n                 * The label of the checkbox option. This is what a user sees.  Mandatory if `value` is not specified.\n                 */\n                label?: string;\n            };\n        }\n        /**\n         * [Collapsible text](https://support.wix.com/en/article/adding-and-setting-up-ellipsis-text) is a text element for managing large amounts of text.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.CollapsibleText.html#)\n         */\n        namespace CollapsibleText {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n            /**\n             * Expands content overflow on current page.\n             */\n            type ExpandOnCurrentPage = {\n                /**\n                 * Text of the read more button. Defaults to `Read more`.\n                 */\n                readMoreButtonText?: string;\n                /**\n                 * Text of the read less button. Defaults to `Read less`.\n                 */\n                readLessButtonText?: string;\n                /**\n                 * Whether the collapsible text is currently collapsed. Defaults to `true`.\n                 */\n                collapsed?: boolean;\n            };\n            /**\n             * Links to the content overflow.\n             */\n            type LinkToContent = {\n                /**\n                 * Link for the remaining text. Supports all link types.\n                 */\n                link: string;\n                /**\n                 * Determines where the link opens, either in the current page or in a new page.\n                 * One of:\n                 * `\"_blank\"`: The link opens in a new tab or window.\n                 * `\"_self\"`: The link opens in the tab or window.\n                 *\n                 * Defaults to `\"_blank\"`.\n                 *\n                 * Note: Link targets are only supported for external web links, for example, `https://www.wix.com`.\n                 */\n                target?: string;\n                /**\n                 * Whether the read more button is visible. Defaults to `false`.\n                 */\n                readMoreButtonVisible?: boolean;\n                /**\n                 * Text of the read more button. Defaults to 'Link to full article'.\n                 */\n                readMoreButtonText?: string;\n            };\n        }\n        /**\n         * A [column](https://support.wix.com/en/article/wix-editor-attaching-elements-to-strips-and-columns)\n         * is a component part of a `ColumnStrip`.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Column.html#)\n         */\n        namespace Column {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Defines the role of the element, helping assistive technologies understand the element's purpose and how it should be interacted with. When set to `undefined` or `null`, the role is removed from the element and isn't read by assistive technologies. Learn more about [ARIA roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles).\n                 *\n                 * Supported values: `'alert'`, `'application'`, `'button'`, `'checkbox'`, `'complementary'`, `'group'`, `'heading'`, `'link'`, `'list'`, `'listBox'`, `'listItem'`, `'navigation'`, `'none'`, `'option'`, `'radio'`, `'radioGroup'`, `'range'`, `'region'`, `'tab'`, `'tabList'`, `'tabPanel'`, `'status'`, `null`, `undefined`.\n                 *\n                 * Default: `undefined`\n                 */\n                role?: string;\n                /**\n                 * Indicates whether the element is visible to or hidden from site visitors who rely on assistive technologies. Use `ariaHidden` to hide decorative, redundant, or off-screen content from screen readers. When `true`, the element is hidden from assistive technologies but remains visible in the DOM. When `false`, the element is exposed to assistive technologies. If `ariaHidden` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaHidden?: boolean;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Specifies how assistive technologies communicate updates made to an element's content. When set to `false`, assistive technologies announce only the updated content according to the value of `ariaRelevant`. When set to `true`, assistive technologies announce all content in the element, regardless of the `ariaRelevant` property. For example, if a container's content changes and `ariaAtomic` is `true`, assistive technologies announce all contents of the container, providing visitors with complete context for the update. This property only works when the element or one of its ancestors has `ariaLive` enabled.\n                 *\n                 * Default: `false`\n                 */\n                ariaAtomic?: boolean;\n                /**\n                 * Indicates to assistive technologies whether an element is currently updating or in a loading state, helping to convey the status of dynamic content to visitors. When set to `true`, this property informs assistive technologies that visitors shouldn't interact with the element until the update completes. After the update completes, set `ariaBusy` to `false` to allow assistive technologies to announce that the new content is now available.\n                 *\n                 * Default: `false`\n                 */\n                ariaBusy?: boolean;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Specifies which types of dynamic content updates are communicated to visitors by assistive technologies. This property helps minimize unnecessary announcements by ensuring that only relevant changes are reported. It's only effective when set on an element, or its parent, that also has `ariaLive` enabled.\n                 *\n                 * Supported values:\n                 * - `'additions'`: Assistive technologies announce only newly added content.\n                 * - `'removals'`: Assistive technologies announce only removed content.\n                 * - `'text'`: Assistive technologies announce only changes to existing text content.\n                 * - `'all'`: Assistive technologies announce all types of updates, including additions, removals, and text changes.\n                 *\n                 * Default: `'additions'`\n                 */\n                ariaRelevant?: string;\n            };\n        }\n        /**\n         * A [column strip](https://support.wix.com/en/article/wix-editor-attaching-elements-to-strips-and-columns) is a strip of column elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ColumnStrip.html#)\n         */\n        namespace ColumnStrip {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Defines the role of the element, helping assistive technologies understand the element's purpose and how it should be interacted with. When set to `undefined` or `null`, the role is removed from the element and isn't read by assistive technologies. Learn more about [ARIA roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles).\n                 *\n                 * Supported values: `'alert'`, `'application'`, `'button'`, `'checkbox'`, `'complementary'`, `'group'`, `'heading'`, `'link'`, `'list'`, `'listBox'`, `'listItem'`, `'navigation'`, `'none'`, `'option'`, `'radio'`, `'radioGroup'`, `'range'`, `'region'`, `'tab'`, `'tabList'`, `'tabPanel'`, `'status'`, `null`, `undefined`.\n                 *\n                 * Default: `undefined`\n                 */\n                role?: string;\n                /**\n                 * Indicates whether the element is visible to or hidden from site visitors who rely on assistive technologies. Use `ariaHidden` to hide decorative, redundant, or off-screen content from screen readers. When `true`, the element is hidden from assistive technologies but remains visible in the DOM. When `false`, the element is exposed to assistive technologies. If `ariaHidden` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaHidden?: boolean;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Specifies how assistive technologies communicate updates made to an element's content. When set to `false`, assistive technologies announce only the updated content according to the value of `ariaRelevant`. When set to `true`, assistive technologies announce all content in the element, regardless of the `ariaRelevant` property. For example, if a container's content changes and `ariaAtomic` is `true`, assistive technologies announce all contents of the container, providing visitors with complete context for the update. This property only works when the element or one of its ancestors has `ariaLive` enabled.\n                 *\n                 * Default: `false`\n                 */\n                ariaAtomic?: boolean;\n                /**\n                 * Indicates to assistive technologies whether an element is currently updating or in a loading state, helping to convey the status of dynamic content to visitors. When set to `true`, this property informs assistive technologies that visitors shouldn't interact with the element until the update completes. After the update completes, set `ariaBusy` to `false` to allow assistive technologies to announce that the new content is now available.\n                 *\n                 * Default: `false`\n                 */\n                ariaBusy?: boolean;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Specifies which types of dynamic content updates are communicated to visitors by assistive technologies. This property helps minimize unnecessary announcements by ensuring that only relevant changes are reported. It's only effective when set on an element, or its parent, that also has `ariaLive` enabled.\n                 *\n                 * Supported values:\n                 * - `'additions'`: Assistive technologies announce only newly added content.\n                 * - `'removals'`: Assistive technologies announce only removed content.\n                 * - `'text'`: Assistive technologies announce only changes to existing text content.\n                 * - `'all'`: Assistive technologies announce all types of updates, including additions, removals, and text changes.\n                 *\n                 * Default: `'additions'`\n                 */\n                ariaRelevant?: string;\n            };\n        }\n        /**\n         * A [container](https://support.wix.com/en/article/studio-editor-using-containers) for Repeater items.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Container.html#)\n         */\n        namespace Container {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Defines the role of the element, helping assistive technologies understand the element's purpose and how it should be interacted with. When set to `undefined` or `null`, the role is removed from the element and isn't read by assistive technologies. Learn more about [ARIA roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles).\n                 *\n                 * Supported values: `'alert'`, `'application'`, `'button'`, `'checkbox'`, `'complementary'`, `'group'`, `'heading'`, `'link'`, `'list'`, `'listBox'`, `'listItem'`, `'navigation'`, `'none'`, `'option'`, `'radio'`, `'radioGroup'`, `'range'`, `'region'`, `'tab'`, `'tabList'`, `'tabPanel'`, `'status'`, `null`, `undefined`.\n                 *\n                 * Default: `undefined`\n                 */\n                role?: string;\n                /**\n                 * Indicates whether the element is visible to or hidden from users that rely on assistive technologies. Use `ariaHidden` to hide decorative, redundant, or off-screen content from screen readers. When `true`, the element is hidden from assistive technologies but remains visible in the DOM. When `false`, the element is exposed to assistive technologies. If `ariaHidden` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies.\n                 */\n                ariaHidden?: boolean;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(“#myElement”).accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(“#myElement”).accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Indicates whether the element is currently active or selected in a set of related items. This allows assistive technologies to relay to site visitors which element in a set is currently in focus.\n                 * Only 1 element in a set should have a value other than `'false'` at any time to ensure that assistive technologies correctly identify which element is currently in focus or active.\n                 *\n                 * Supported values:\n                 * - `'true'`: Represents the current element in an unordered set of related elements.\n                 * - `'false'`: Indicates that the element in a set is not currently active or selected.\n                 * - `'page'`: Represents the current page in a multi-page site.\n                 * - `'step'`: Marks the currently active step in a multi-step process such as a checkout flow.\n                 * - `'date'`: Represents the currently selected date in a calendar.\n                 *\n                 * If `ariaCurrent` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies.\n                 */\n                ariaCurrent?: string;\n            };\n        }\n        /**\n         * A dataset connects page elements to a set of items in a data collection.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Dataset.html#)\n         */\n        namespace Dataset {\n            /**\n             * An object representing a dataset error.\n             */\n            type DatasetError = {\n                /**\n                 * Error code.\n                 */\n                code: string;\n                /**\n                 * Error message.\n                 */\n                message: string;\n            };\n            /**\n             * An object used by the `getItems()` function that contains the items retrieved and the total number of items in the dataset that match its filter criteria\n             */\n            type GetItemsResult = {\n                /**\n                 * List of items objects where `key:value` pairs are the field IDs and field values of the retrieved items, including all hidden fields.\n                 */\n                items: any[];\n                /**\n                 * The number of items in the dataset that match its filter criteria.\n                 */\n                totalCount: number;\n                /**\n                 * The index in the dataset of the first item in the items property.\n                 */\n                offset: number;\n            };\n            /**\n             * An after save event handler.\n             */\n            type AfterSaveHandler = (itemBeforeSave: any, itemAfterSave: any) => void;\n            /**\n             * A before save event handler.\n             */\n            type BeforeSaveHandler = () => Promise<boolean> | boolean;\n            /**\n             * A current item index change event handler.\n             */\n            type CurrentIndexChangedHandler = (index: number) => void;\n            /**\n             * An error event handler.\n             */\n            type ErrorHandler = (operation: string, error: Dataset.DatasetError) => void;\n            /**\n             * A current item value change event handler.\n             */\n            type ItemValuesChangedHandler = (itemBeforeChange: any, updatedItem: any) => void;\n            /**\n             * A dataset ready event handler.\n             */\n            type ReadyHandler = () => void;\n        }\n        /**\n         * A [date picker](https://dev.wix.com/docs/develop-websites/articles/wix-editor-elements/formatting-layout/formatting-dates#displaying-dates-in-date-pickers)\n         * is used for entering dates. It lets site visitors populate a\n         * date field by picking a date using a calendar popup.\n         * You can enable and disable dates, date ranges, and days of the week  on your date picker.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.DatePicker.html#)\n         */\n        namespace DatePicker {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n            };\n            /**\n             * An object containing the start and end dates of a range of dates.\n             */\n            type DateRange = {\n                /**\n                 * Start date for the range. The `startDate` is inclusive,\n                 *  meaning it's included in the range. The start date must be earlier than or the same as the\n                 *  end date of the range.\n                 */\n                startDate: Date;\n                /**\n                 * End date for the range. The `endDate` is inclusive,\n                 *  meaning it's included in the range. The end date must be later than or the same as the\n                 *  start date of the range.\n                 */\n                endDate: Date;\n            };\n        }\n        /**\n         * A [Document](https://support.wix.com/en/article/wix-editor-managing-your-sites-pages) is a complete web page, which consists of a Header, Page, and Footer.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Document.html#)\n         */\n        namespace Document {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Indicates whether the element is currently active or selected in a set of related items. This allows assistive technologies to relay to site visitors which element in a set is currently in focus.\n                 * Only 1 element in a set should have a value other than `'false'` at any time to ensure that assistive technologies correctly identify which element is currently in focus or active.\n                 *\n                 * Supported values:\n                 * - `'true'`: Represents the current element in an unordered set of related elements.\n                 * - `'false'`: Indicates that the element in a set isn't currently active or selected.\n                 * - `'page'`: Represents the current page in a multi-page site.\n                 * - `'step'`: Marks the currently active step in a multi-step process such as a checkout flow.\n                 * - `'date'`: Represents the currently selected date in a calendar.\n                 *\n                 * If `ariaCurrent` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaCurrent?: string;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Indicates to assistive technologies that an interactive element is currently disabled, even if it's visible. When `true`, assistive technologies inform site visitors that the element can't be interacted with. When `false` or not set, the element is considered enabled.\n                 */\n                ariaDisabled?: boolean;\n                /**\n                 * Indicates to assistive technology users whether the element is currently expanded or collapsed. `ariaExpanded` helps screen readers understand when content is displayed or hidden as a result of site visitor interaction on a site. If `ariaExpanded` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaExpanded?: boolean;\n                /**\n                 * Indicates to assistive technology users whether an element triggers an interactive popup such as a menu or dropdown. If `ariaHasPopup` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaHasPopup?: string;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Indicates to assistive technology users whether the element is currently pressed. `ariaPressed` is only relevant for buttons that act as toggles or have a pressed/unpressed state. If `ariaPressed` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaPressed?: string;\n            };\n            /**\n             * An object used by the `background` property that contains the background options.\n             */\n            type BackgroundOptions = {\n                /**\n                 * The file location of the background image.\n                 *\n                 *  Setting the `src` property changes the\n                 *  displayed image or video to the image or video found at the new `src` value.\n                 *\n                 *  Getting the `src` property returns the\n                 *  location of the current image or video file.\n                 *\n                 *  Images can either be from the [Media Manager](https://support.wix.com/en/article/about-the-media-manager)\n                 *  or an external image from any web location. Videos must come from the\n                 *  [Media Manager](https://support.wix.com/en/article/about-the-media-manager).\n                 *\n                 *  The URL formats supported are:\n                 *\n                 *  + Images from the Media Manager:\n                 *    `wix:image://v1//#originWidth=&originHeight=[&watermark=]`\n                 *  + Videos from the Media Manager:\n                 *    `wix:video://v1//#posterUri=&posterWidth=&posterHeight=`\n                 *  + Images from the web:\n                 *    `http(s)://`\n                 */\n                src: string;\n            };\n        }\n        /**\n         * [Dropdowns](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-dropdown-selection-for-a-form-submission)\n         * are used for selecting one of a number of options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Dropdown.html#)\n         */\n        namespace Dropdown {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Indicates to assistive technology users whether an element's input value is invalid or if a required input field is empty. When `true`, assistive technologies alert site visitors that the element's input value doesn't meet the expected criteria or that the required field is empty. When `false`, the value entered is valid or the field isn't required. This helps assistive technology users identify and correct errors in form submissions.\n                 */\n                ariaInvalid?: boolean;\n                /**\n                 * Indicates to assistive technology users whether an input element has a required field or action. If `ariaRequired` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all. The `ariaRequired` property doesn't inform assistive technologies if the required input value is valid.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaRequired?: string;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n                /**\n                 * Identifies the element that is controlled by visitor interactions with this element. This property helps assistive technologies convey which elements are affected by the controlling element. For example, a button element that opens a popup window when clicked controls the popup element.\n                 */\n                ariaControls?: Element;\n                /**\n                 * Sets or gets the error message of an input element by referencing another element by ID. This property informs those using assistive technologies about validation issues. Use `ariaErrorMessage` in conjunction with `ariaInvalid` to indicate that the input is invalid and to provide context for the error.\n                 *\n                 * Example: `$w(\"#myInputElement\").accessibility.ariaErrorMessage = $w(\"#inputErrorText\");`\n                 */\n                ariaErrorMessage?: Text | CollapsibleText;\n                /**\n                 * Identifies the element that this element logically owns, even if it isn't nested within the owning element in the page's layout. This property allows assistive technologies convey relationships between elements regardless of their layout. For example, a text input element can own a helper text element that provides additional information, even if the helper text appears elsewhere in the layout.\n                 */\n                ariaOwns?: Element;\n            };\n            /**\n             * An object used by the `options` property that contains the attributes of a dropdown list item.\n             */\n            type Option = {\n                /**\n                 * The value of the dropdown option. This is what you use in code and is what is stored in your collections. Mandatory if `label` is not specified.\n                 */\n                value?: string;\n                /**\n                 * The label of the dropdown option. This is what a user sees. Mandatory if `value` is not specified.\n                 */\n                label?: string;\n            };\n        }\n        /**\n         * Use effect options to customize an effect when [showing]($w.HiddenMixin.html#show) or [hiding]($w.HiddenMixin.html#hide) an element.\n         *  Effect options include arcs, bouncing, fading, flipping, floating, flying in/out, folding, gliding and more.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.EffectOptions.html#)\n         */\n        namespace EffectOptions {\n            /**\n             * An object used to customize the `\"arc\"` effect.\n             */\n            type ArcEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `\"left\"`, `\"right\"`. Defaults to `\"left\"`.\n                 */\n                direction?: string;\n            };\n            /**\n             * An object used to customize the `\"bounce\"` effect.\n             */\n            type BounceEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `\"topLeft\"`, `\"topRight\"`, `\"bottomRight\"`,\n                 *  `\"bottomLeft\"`, `\"center\"`. Defaults to `\"topLeft\"`.\n                 */\n                direction?: string;\n                /**\n                 * Valid values: `\"soft\"`, `\"medium\"`, `\"hard\"`. Defaults to `\"medium\"`.\n                 */\n                intensity?: string;\n            };\n            /**\n             * An object used to customize the `\"fade\"` effect.\n             */\n            type FadeEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n            };\n            /**\n             * An object used to customize the `\"flip\"` effect.\n             */\n            type FlipEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`. Defaults to `\"right\"`.\n                 */\n                direction?: string;\n            };\n            /**\n             * An object used to customize the `\"float\"` effect.\n             */\n            type FloatEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`. Defaults to `\"right\"`.\n                 */\n                direction?: string;\n            };\n            /**\n             * An object used to customize the `\"fly\"` effect.\n             */\n            type FlyEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`. Defaults to `\"right\"`.\n                 */\n                direction?: string;\n            };\n            /**\n             * An object used to customize the `\"fold\"` effect.\n             */\n            type FoldEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`. Defaults to `\"left\"`.\n                 */\n                direction?: string;\n            };\n            /**\n             * An object used to customize the `\"glide\"` effect.\n             */\n            type GlideEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `0`-`360` degrees. Defaults to `0`.\n                 */\n                angle?: number;\n                /**\n                 * Valid values: `0`-`300` pixels. Defaults to `0`.\n                 */\n                distance?: number;\n            };\n            /**\n             * An object used to customize the `\"puff\"` effect.\n             */\n            type PuffEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n            };\n            /**\n             * An object used to customize the `\"roll\"` effect.\n             */\n            type RollEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`. Defaults to `\"left\"`.\n                 */\n                direction?: string;\n            };\n            /**\n             * An object used to customize the `\"slide\"` effect.\n             */\n            type SlideEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`. Defaults to `\"left\"`.\n                 */\n                direction?: string;\n            };\n            /**\n             * An object used to customize the `\"spin\"` effect.\n             */\n            type SpinEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `cw`, `ccw`. Defaults to `cw`.\n                 */\n                direction?: string;\n                /**\n                 * Valid values: `1`-`15`. Defaults to `5`.\n                 */\n                cycles?: number;\n            };\n            /**\n             * An object used to customize the `\"turn\"` effect.\n             */\n            type TurnEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n                /**\n                 * Valid values: `\"right\"`, `\"left\"`. Defaults to `\"right\"`.\n                 */\n                direction?: string;\n            };\n            /**\n             * An object used to customize the `\"zoom\"` effect.\n             */\n            type ZoomEffectOptions = {\n                /**\n                 * Valid values: `0`-`4000` milliseconds. Defaults to `1200`.\n                 */\n                duration?: number;\n                /**\n                 * Valid values: `0`-`8000` milliseconds. Defaults to `0`.\n                 */\n                delay?: number;\n            };\n        }\n        /**\n         * Events are fired when certain actions occur to elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Event.html#)\n         */\n        namespace Event {\n            /**\n             * An object that contains information about the context in which an event was fired.\n             */\n            type EventContext = {\n                /**\n                 * `\"GLOBAL_SCOPE\"` for events fired outside\n                 *  of repeaters, or `\"COMPONENT_SCOPE\"` for events fired from repeaters.\n                 */\n                type: string;\n                /**\n                 * ID of the repeater item where the\n                 *  event was fired from.\n                 */\n                itemId: string;\n            };\n        }\n        /**\n         * A [Gallery](https://support.wix.com/en/article/wix-editor-adding-and-setting-up-a-gallery) displays multiple items.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Gallery.html#)\n         */\n        namespace Gallery {\n            /**\n             * An object used by the `galleryCapabilities` property that contains the capabilities of a gallery.\n             */\n            type GalleryCapabilities = {\n                /**\n                 * Indicates if the gallery supports play operations.\n                 */\n                isPlayable: boolean;\n                /**\n                 * Indicates if the gallery supports the notion of a current item.\n                 */\n                hasCurrentItem: boolean;\n                /**\n                 * Indicates if the gallery supports navigation buttons.\n                 */\n                hasNavigationButtons: boolean;\n            };\n            /**\n             * An object used by the Gallery properties `items` and `currentItem` to represent a single gallery image.\n             */\n            type ImageItem = {\n                /**\n                 * Item type. Value is `\"image\"`.\n                 */\n                type: string;\n                /**\n                 * Item slug.\n                 */\n                slug?: string;\n                /**\n                 * Image source URL.\n                 */\n                src: string;\n                /**\n                 * Image description. Descriptions over 100 characters are truncated.\n                 */\n                description?: string;\n                /**\n                 * Image title.\n                 */\n                title?: string;\n                /**\n                 * URL of the image's clickable link.\n                 */\n                link?: string;\n            };\n            /**\n             * An object used by the Gallery properties `items` and `currentItem` to represent a single gallery video.\n             */\n            type VideoItem = {\n                /**\n                 * Item type. Value is `\"video\"`.\n                 */\n                type: string;\n                /**\n                 * Item slug.\n                 */\n                slug?: string;\n                /**\n                 * Video source URL.\n                 */\n                src: string;\n                /**\n                 * Video description. Descriptions over 100 characters are truncated.\n                 */\n                description?: string;\n                /**\n                 * Video title.\n                 */\n                title?: string;\n                /**\n                 * URL of the video's clickable link.\n                 */\n                link?: string;\n                /**\n                 * Video thumbnail URL.\n                 */\n                thumbnail?: string;\n            };\n        }\n        /**\n         * A [Google map element](https://www.wix.com/support/html5/article/adding-google-maps)\n         *  that allows you to display a given location.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.GoogleMap.html#)\n         */\n        namespace GoogleMap {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes).\n                 */\n                lang?: string;\n            };\n            /**\n             * An object used by the `location` property that\n             *  contains the attributes of a marked map location.\n             */\n            type MapLocation = {\n                /**\n                 * The latitude of the location. Must be between -90 and 90.\n                 */\n                latitude: number;\n                /**\n                 * The longitude of the location. Must be between -180 and 180.\n                 */\n                longitude: number;\n                /**\n                 * The description of the location.\n                 */\n                description?: string;\n            };\n        }\n        /**\n         * [Menus](https://support.wix.com/en/article/wix-editor-adding-a-site-menu) are used for navigating between site pages.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Menu.html#)\n         */\n        namespace Menu {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Defines the role of the element, helping assistive technologies understand the element's purpose and how it should be interacted with. When set to `undefined` or `null`, the role is removed from the element and isn't read by assistive technologies. Learn more about [ARIA roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles).\n                 *\n                 * Supported values: `'alert'`, `'application'`, `'button'`, `'checkbox'`, `'complementary'`, `'group'`, `'heading'`, `'link'`, `'list'`, `'listBox'`, `'listItem'`, `'navigation'`, `'none'`, `'option'`, `'radio'`, `'radioGroup'`, `'range'`, `'region'`, `'tab'`, `'tabList'`, `'tabPanel'`, `'status'`, `null`, `undefined`.\n                 *\n                 * Default: `undefined`\n                 */\n                role?: string;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Adds extra text before or after a text element for screen readers and other assistive technologies. This property helps provide extra context to text elements on a site page. The added text doesn't affect a site visually but is read aloud by screen readers for those who rely on assistive technology. For example, you can add the prefix \"bold text\" to a bold text element because screen readers don't effectively communicate text styles such as bold, italicize, and strikethrough.\n                 */\n                screenReader?: Menu.ScreenReader;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n            /**\n             * An object that contains the attributes of a menu item.\n             */\n            type MenuItem = {\n                /**\n                 * The label of the menu item. This is text that the site visitor sees in the menu and can click to navigate.\n                 *\n                 *  If not specified, and the page that the link property references is:\n                 *  + An external page or an empty string: The menu defaults to the menu items based on site pages only, as defined in the Editor, and an error is logged to the console.\n                 *  + A page nested under a folder: The specific menu item label defaults to the name of the corresponding page as defined in the Editor.\n                 *  + A regular, non-nested, site page: The `label` for the menu item gets its value from the name of the page that the `link` property references.\n                 *\n                 *  Min: 1 character\n                 *\n                 *  Max: 40 characters\n                 */\n                label?: string;\n                /**\n                 * Setting `selected` to `true` for a menu item causes the item to appear highlighted in the menu element.\n                 *  You can use this property to indicate which page is currently being displayed.\n                 *\n                 *  >**Note:** The value of `selected` isn't validated against which page is actually displayed. For example, you can write code that misleadingly sets `selected` to `true` for multiple menu items.\n                 *\n                 *  When not defined explicitly using the `selected` property, the `selected` value is derived from the currently-active page in the site's _main_ menu\n                 *  (as defined when managing the menu in the Editor) and not derived from a currently-active page in a _custom_ menu.\n                 *\n                 *  Default: `false`\n                 */\n                selected?: boolean;\n                /**\n                 * Optional link for the menu item. This is the link the site visitor navigates to when they click on a menu item.\n                 *  The different types of links you can use are:\n                 *\n                 *  + `/localPageURL`: Another page on your site, such as `/about` or `/rentals/shortterm`.\n                 *  + `/`: Your site's home page.\n                 *  + `http(s)://`: An external web address, such as `https://www.mortgagecalculator.org/`.\n                 *  + `wix:document://`: A document stored in the Media Manager, such as `wix:document://v1/9bec_52fb06ea/filename.xls`.\n                 *  + `mailto:?subject=`: An email, such as `mailto:michael@example.com?subject=Coming%20Soon`.\n                 *  + `tel:`: A phone number, such as `tel:+1-555-555-5555`.\n                 *\n                 *  If `link` isn't specified, the corresponding label isn't clickable.\n                 *\n                 *  Specifying an empty string is not supported. The menu defaults to the menu items as defined in the Editor and an error is logged to the console.\n                 *\n                 *  Min: 1 character\n                 *\n                 *  Max: 40 characters\n                 */\n                link?: string;\n                /**\n                 * Whether the link opens in the same window/tab or in a new window/tab.\n                 *  + `_self`. The page opens in the same window/tab.\n                 *  + `_blank`. The page opens in a new window/tab.\n                 *\n                 *  > **Note:** `target` doesn't work when previewing your site.\n                 *\n                 *\n                 *  Default: `_self`\n                 */\n                target?: string;\n                /**\n                 * Menus can have additional levels of submenus. Vertical menus can have\n                 *  1 level of submenus. Horizontal menus can have 2 additional levels of submenus.\n                 */\n                menuItems?: Menu.MenuItem[];\n                /**\n                 * A unique ID that can be used to customize events triggered on a menu item.\n                 *  For example, when a visitor clicks a menu item, the ID can be checked in order to trigger the appropriate action for that menu item.\n                 */\n                id?: string;\n            };\n            /**\n             * Adds hidden text before or after a text element using the `screenReader.prefix` and `screenReader.suffix` properties. This helps screen readers better understand the content of your text element. For example, screen readers don't effectively communicate text styles such as bold and strikethrough. Use `screenReader` to provide context for the styled text.\n             */\n            type ScreenReader = {\n                /**\n                 * Extra text added before an element.\n                 *\n                 * Max: 1000 characters\n                 */\n                prefix?: string;\n                /**\n                 * Extra text added after an element.\n                 *\n                 * Max: 1000 characters\n                 */\n                suffix?: string;\n            };\n        }\n        /**\n         * A mobile date picker\n         * is used for entering dates. It lets mobile app users populate a\n         * date field by picking a date using a calendar popup.\n         * You can enable and disable dates, date ranges, and days of the week on your date picker.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileDatePicker.html#)\n         */\n        namespace MobileDatePicker {\n            /**\n             * An object containing the start and end dates of a range of dates.\n             */\n            type DateRange = {\n                /**\n                 * Start date for the range. The `startDate` is inclusive,\n                 *  meaning it's included in the range. The start date must be earlier than or the same as the\n                 *  end date of the range.\n                 */\n                startDate: Date;\n                /**\n                 * End date for the range. The `endDate` is inclusive,\n                 *  meaning it's included in the range. The end date must be later than or the same as the\n                 *  start date of the range.\n                 */\n                endDate: Date;\n            };\n        }\n        /**\n         * A picker for selecting items on a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobilePicker.html#)\n         */\n        namespace MobilePicker {\n            type Option = {\n                /**\n                 * The value of the mobile picker option. This is what you use in code and is what is stored in your collections. Mandatory if `label` is not specified.\n                 */\n                value?: string;\n                /**\n                 * The label of the mobile picker option. This is what a mobile app user sees.  Mandatory if `value` is not specified.\n                 */\n                label?: string;\n                /**\n                 * The description of the mobile picker option. This is what a mobile app user sees.\n                 */\n                description?: string;\n                /**\n                 * Whether the mobile picker option is selected.\n                 */\n                selected?: boolean;\n                /**\n                 * Whether the mobile picker option is enabled.\n                 */\n                enabled?: boolean;\n            };\n        }\n        /**\n         * Provides functionality for mobile elements that have values.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.MobileValueMixin.html#)\n         */\n        namespace MobileValueMixin {\n            type Validation = {\n                /**\n                 * The validation type.\n                 * Supported values:\n                 * + 'required'\n                 * + 'url'\n                 * + 'numeric'\n                 * + 'wholeNumber'\n                 * + 'decimalNumber'\n                 */\n                validationType: string;\n                /**\n                 * The validation message.\n                 */\n                message: string;\n            };\n        }\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/$w.MultiStateBox.html#)\n         */\n        namespace MultiStateBox {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Defines the role of the element, helping assistive technologies understand the element's purpose and how it should be interacted with. When set to `undefined` or `null`, the role is removed from the element and isn't read by assistive technologies. Learn more about [ARIA roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles).\n                 *\n                 * Supported values: `'alert'`, `'application'`, `'button'`, `'checkbox'`, `'complementary'`, `'group'`, `'heading'`, `'link'`, `'list'`, `'listBox'`, `'listItem'`, `'navigation'`, `'none'`, `'option'`, `'radio'`, `'radioGroup'`, `'range'`, `'region'`, `'tab'`, `'tabList'`, `'tabPanel'`, `'status'`, `null`, `undefined`.\n                 *\n                 * Default: `undefined`\n                 */\n                role?: string;\n                /**\n                 * Indicates whether the element is visible to or hidden from site visitors who rely on assistive technologies. Use `ariaHidden` to hide decorative, redundant, or off-screen content from screen readers. When `true`, the element is hidden from assistive technologies but remains visible in the DOM. When `false`, the element is exposed to assistive technologies. If `ariaHidden` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaHidden?: boolean;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Indicates whether the element is currently active or selected in a set of related items. This allows assistive technologies to relay to site visitors which element in a set is currently in focus.\n                 * Only 1 element in a set should have a value other than `'false'` at any time to ensure that assistive technologies correctly identify which element is currently in focus or active.\n                 *\n                 * Supported values:\n                 * - `'true'`: Represents the current element in an unordered set of related elements.\n                 * - `'false'`: Indicates that the element in a set isn't currently active or selected.\n                 * - `'page'`: Represents the current page in a multi-page site.\n                 * - `'step'`: Marks the currently active step in a multi-step process such as a checkout flow.\n                 * - `'date'`: Represents the currently selected date in a calendar.\n                 *\n                 * If `ariaCurrent` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaCurrent?: string;\n                /**\n                 * Specifies how assistive technologies communicate updates made to an element's content. When set to `false`, assistive technologies announce only the updated content according to the value of `ariaRelevant`. When set to `true`, assistive technologies announce all content in the element, regardless of the `ariaRelevant` property. For example, if a container's content changes and `ariaAtomic` is `true`, assistive technologies announce all contents of the container, providing visitors with complete context for the update. This property only works when the element or one of its ancestors has `ariaLive` enabled.\n                 *\n                 * Default: `false`\n                 */\n                ariaAtomic?: boolean;\n                /**\n                 * Indicates to assistive technologies whether an element is currently updating or in a loading state, helping to convey the status of dynamic content to visitors. When set to `true`, this property informs assistive technologies that visitors shouldn't interact with the element until the update completes. After the update completes, set `ariaBusy` to `false` to allow assistive technologies to announce that the new content is now available.\n                 *\n                 * Default: `false`\n                 */\n                ariaBusy?: boolean;\n                /**\n                 * Sets or gets the error message of an input element by referencing another element by ID. This property informs those using assistive technologies about validation issues. Use `ariaErrorMessage` in conjunction with `ariaInvalid` to indicate that the input is invalid and to provide context for the error.\n                 *\n                 * Example: `$w(\"#myInputElement\").accessibility.ariaErrorMessage = $w(\"#inputErrorText\");`\n                 */\n                ariaErrorMessage?: Text | CollapsibleText;\n                /**\n                 * Indicates to assistive technology users whether the element is currently expanded or collapsed. `ariaExpanded` helps screen readers understand when content is displayed or hidden as a result of site visitor interaction on a site. If `ariaExpanded` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaExpanded?: boolean;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Identifies the element that this element logically owns, even if it isn't nested within the owning element in the page's layout. This property allows assistive technologies convey relationships between elements regardless of their layout. For example, a text input element can own a helper text element that provides additional information, even if the helper text appears elsewhere in the layout.\n                 */\n                ariaOwns?: Element;\n                /**\n                 * Specifies which types of dynamic content updates are communicated to visitors by assistive technologies. This property helps minimize unnecessary announcements by ensuring that only relevant changes are reported. It's only effective when set on an element, or its parent, that also has `ariaLive` enabled.\n                 *\n                 * Supported values:\n                 * - `'additions'`: Assistive technologies announce only newly added content.\n                 * - `'removals'`: Assistive technologies announce only removed content.\n                 * - `'text'`: Assistive technologies announce only changes to existing text content.\n                 * - `'all'`: Assistive technologies announce all types of updates, including additions, removals, and text changes.\n                 *\n                 * Default: `'additions'`\n                 */\n                ariaRelevant?: string;\n            };\n        }\n        /**\n         * [Pagination](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-pagination-bar) is an element for working with paging.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Pagination.html#)\n         */\n        namespace Pagination {\n            /**\n             * An object containing attributes to make your Wix elements more accessible\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n        }\n        /**\n         * A button on your Blocks panel.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelButton.html#)\n         */\n        namespace PanelButton {\n            /**\n             * An object representing an SVG icon.\n             */\n            type icon = {\n                /**\n                 * An SVG element\n                 */\n                svgId: string;\n            };\n        }\n        /**\n         * Panel checkbox groups are used in the Blocks panel builder for selecting any number of the given options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelCheckboxGroup.html#)\n         */\n        namespace PanelCheckboxGroup {\n            /**\n             * An object representing a checkbox option.\n             */\n            type option = {\n                /**\n                 * The label of the checkbox option. This is what a user sees.\n                 */\n                label: string;\n                /**\n                 * The value of the checkbox option. This is what you use in code.\n                 */\n                value: string;\n            };\n        }\n        /**\n         * Panel dropdowns are used in the Blocks panel builder for selecting one of a number of options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelDropdown.html#)\n         */\n        namespace PanelDropdown {\n            /**\n             * An object representing a dropdown option.\n             */\n            type option = {\n                /**\n                 * The label of the dropdown option. This is what a user sees.\n                 */\n                label: string;\n                /**\n                 * The value of the dropdown option. This is what you use in code.\n                 */\n                value: string;\n            };\n        }\n        /**\n         * Panel radio button groups are used in the Blocks panel builder for selecting one of a number of options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelRadioButtonGroup.html#)\n         */\n        namespace PanelRadioButtonGroup {\n            /**\n             * An object representing a radio button option.\n             */\n            type option = {\n                /**\n                 * The label of the radio button option. This is what a user sees.\n                 */\n                label: string;\n                /**\n                 * The value of the radio button option. This is what you use in code.\n                 */\n                value: string;\n            };\n        }\n        /**\n         * A Panel thumbnail groups allow users to select an option using a set of thumbnail images in a Blocks panel.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PanelThumbnails.html#)\n         */\n        namespace PanelThumbnails {\n            /**\n             * An object representing a thumbnail option.\n             */\n            type option = {\n                /**\n                 * The label of the thumbnail option, optionally displayed below the thumbnail. Maximum 120 chars.\n                 */\n                label: string;\n                /**\n                 * The value of the thumbnail option. This is what you use in code.\n                 */\n                value: string;\n            };\n        }\n        /**\n         * A post page for a specific blog post.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.PostPage.html#)\n         */\n        namespace PostPage {\n            /**\n             * An object representing a blog post on a post page.\n             * > **Note:**\n             * `viewCount` and `likeCount` data used on your site pages is eventually consistent and may require up\n             * to 24 hours to update. To make sure new post views and likes are included on your site in real time,\n             * [disable caching](https://support.wix.com/en/article/caching-your-sites-pages) for\n             * any page that uses `viewCount` or `likeCount` data. Note that disabling caching may increase your page loading time.\n             */\n            type BlogPost = {\n                /**\n                 * Post ID.\n                 */\n                _id: string;\n                /**\n                 * Post title.\n                 */\n                title: string;\n                /**\n                 * Text of the post.\n                 */\n                plainContent: string;\n                /**\n                 * Date the post was originally published.\n                 */\n                publishedDate: Date;\n                /**\n                 * Number of times the post was viewed.\n                 */\n                viewCount: number;\n                /**\n                 * Number of likes the post received.\n                 */\n                likeCount: number;\n                /**\n                 * Number of comments the post received.\n                 */\n                commentCount: number;\n                /**\n                 * Date the post was most recently published.\n                 */\n                lastPublishedDate: Date;\n                /**\n                 * Indicates whether the cover image is displayed in the post.\n                 */\n                coverImageDisplayed: boolean;\n                /**\n                 * Estimated time in minutes required to read the post.\n                 */\n                timeToRead: number;\n                /**\n                 * Indicates whether the post was pinned to the top of the blog feed.\n                 */\n                pinned: boolean;\n                /**\n                 * Indicates whether the post is set as featured in the post settings. Featured posts appear in custom blog feeds.\n                 */\n                featured: boolean;\n                /**\n                 * List of all hashtags in the post.\n                 */\n                hashtags: string[];\n                /**\n                 * The post's cover [image]($w.Image.html#src).\n                 */\n                coverImage: string;\n                /**\n                 * Relative URL of the post page on your published site.\n                 */\n                postPageUrl: string;\n                /**\n                 * A few lines of text that appear in the blog feed. Defined\n                 * in [Post Settings](https://support.wix.com/en/article/editing-excerpts-in-the-new-wix-blog) or default of first 160 characters of the post.\n                 */\n                excerpt: string;\n            };\n        }\n        /**\n         * A store page for a specific product.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ProductPage.html#)\n         */\n        namespace ProductPage {\n            /**\n             * Product brand.\n             */\n            type Brand = {\n                /**\n                 * Brand name.\n                 */\n                name: string;\n                /**\n                 * Brand ID.\n                 */\n                _id: string;\n            };\n            /**\n             * Breadcrumbs.\n             */\n            type Breadcrumb = {\n                /**\n                 * Category ID.\n                 */\n                categoryId: string;\n                /**\n                 * Category name.\n                 */\n                categoryName: string;\n                /**\n                 * Category slug.\n                 */\n                categorySlug: string;\n            };\n            /**\n             * Breadcrumbs of the `mainCategoryId`.\n             */\n            type BreadcrumbsInfo = {\n                /**\n                 * Breadcrumbs.\n                 */\n                breadcrumbs: ProductPage.Breadcrumb[];\n            };\n            /**\n             * Option render type.\n             */\n            type ChoiceType = {\n                /**\n                 * Text choice.\n                 */\n                CHOICE_TEXT: string;\n                /**\n                 * Single color choice.\n                 */\n                ONE_COLOR: string;\n                UNKNOWN_CHOICE_TYPE: string;\n            };\n            /**\n             * Choices settings.\n             */\n            type ChoicesSettings = {\n                /**\n                 * List of available choices for the option.\n                 */\n                choices: ProductPage.ConnectedOptionChoice;\n            };\n            /**\n             * Product modifiers.\n             */\n            type ConnectedModifier = {\n                /**\n                 * Modifier title.\n                 */\n                name: string;\n                /**\n                 * ID of a customization with `customizationType: \"MODIFIER\"`.\n                 */\n                _id: string;\n                /**\n                 * Whether customer input is required for this modifier.\n                 */\n                mandatory: boolean;\n                /**\n                 * Modifier render type.\n                 */\n                modifierRenderType: ProductPage.ModifierRenderType;\n                /**\n                 * Choices settings.\n                 */\n                choicesSettings?: ProductPage.ModifierChoicesSettings;\n                /**\n                 * Free text modifier settings.\n                 */\n                freeTextSettings?: ProductPage.FreeTextSettings;\n            };\n            /**\n             * List of modifier choices.\n             */\n            type ConnectedModifierChoice = {\n                /**\n                 * Added price.\n                 */\n                addedPrice: string;\n                /**\n                 * Choice ID.\n                 */\n                choiceId: string;\n                /**\n                 * Choice type.\n                 */\n                choiceType: ProductPage.ChoiceType;\n                /**\n                 * Modifier key. Used for eCommerce integration.\n                 */\n                key: string;\n                /**\n                 * Product media.\n                 */\n                linkedMedia: ProductPage.ProductMedia;\n                /**\n                 * Choice name.\n                 */\n                name: string;\n                /**\n                 * Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color).\n                 */\n                colorCode: string;\n            };\n            /**\n             * Product option (e.g., \"Size\", \"Color\").\n             */\n            type ConnectedOption = {\n                /**\n                 * Option name.\n                 */\n                name: string;\n                /**\n                 * ID of a customization with `customizationType: \"PRODUCT_OPTION\"`.\n                 */\n                _id: string;\n                /**\n                 * Option render type.\n                 */\n                optionRenderType: ProductPage.ProductOptionRenderType;\n                /**\n                 * Choices settings.\n                 */\n                choicesSettings: ProductPage.ChoicesSettings;\n            };\n            /**\n             * Choices settings.\n             */\n            type ConnectedOptionChoice = {\n                /**\n                 * Choice ID.\n                 */\n                choiceId: string;\n                /**\n                 * Choice type.\n                 */\n                choiceType: ProductPage.ChoiceType;\n                /**\n                 * Whether at least one variant with this choice is in stock in the default location of the store.\n                 *\n                 *  For example, a product with Color and Size options has these variants: [Blue, Small] which is out of stock and [Red, Large] which is in stock.\n                 *  For choice Blue, this field is `false`. For choice Red, this field is `true`.\n                 */\n                inStock: boolean;\n                /**\n                 * Product media to display when this choice is selected.\n                 *\n                 *  When not empty, only these images are shown when a customer selects this choice.\n                 *  Otherwise, all product images are shown. When multiple choices from different options are selected,\n                 *  only media present in `linkedMedia` of ALL selected choices are shown.\n                 *  For example, if `Color: Red` has images 1, 2, 3 and `Material: Silk` has images 2, 3, 5,\n                 *  then only images 2 and 3 are shown when both are selected.\n                 */\n                linkedMedia: ProductPage.ProductMedia;\n                /**\n                 * Choice name. For text choices, this field also contains the choice value.\n                 */\n                name: string;\n                /**\n                 * Whether at least one variant with this choice is visible.\n                 *\n                 *  Default: `false`\n                 */\n                visible: boolean;\n                /**\n                 * Single color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). For example, `#FF0000` for red.\n                 */\n                colorCode: string;\n            };\n            /**\n             * List of categories that directly contain this product.\n             */\n            type DirectCategoriesInfo = {\n                /**\n                 * Array of direct category items. Each has `id` (string), `name` (string), and `position` (number).\n                 */\n                items: any[];\n            };\n            /**\n             * Discount type.\n             */\n            type DiscountType = {\n                /**\n                 * Discount by a specific amount.\n                 */\n                AMOUNT: string;\n                /**\n                 * Discount by a percentage.\n                 */\n                PERCENT: string;\n                UNKNOWN_DISCOUNT: string;\n            };\n            /**\n             * Custom extended fields for the product.\n             */\n            type ExtendedFields = {\n                /**\n                 * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n                 * The value of each key is structured according to the schema defined when the extended fields were configured.\n                 *\n                 *  You can only access fields for which you have the appropriate permissions.\n                 *\n                 *  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n                 */\n                namespaces: ProductPage.Struct;\n            };\n            /**\n             * File type.\n             */\n            type FileType = {\n                /**\n                 * Secure archive file.\n                 */\n                SECURE_ARCHIVE: string;\n                /**\n                 * Secure document file.\n                 */\n                SECURE_DOCUMENT: string;\n                /**\n                 * Secure music file.\n                 */\n                SECURE_MUSIC: string;\n                /**\n                 * Secure picture file.\n                 */\n                SECURE_PICTURE: string;\n                /**\n                 * Secure video file.\n                 */\n                SECURE_VIDEO: string;\n                /**\n                 * Unspecified file type.\n                 */\n                UNSPECIFIED: string;\n            };\n            /**\n             * Fixed amount.\n             */\n            type FixedMonetaryAmount = {\n                /**\n                 * Monetary amount. For example, `\"3.99\"`, or `\"-4.99\"` for a negative amount.\n                 */\n                amount: string;\n                /**\n                 * Formatted monetary amount. For example, `\"$3.99\"`.\n                 *\n                 *  >**Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n                 */\n                formattedAmount: string;\n            };\n            /**\n             * Free text modifier settings.\n             */\n            type FreeTextSettings = {\n                /**\n                 * Default amount to be added to the product's price.\n                 */\n                defaultAddedPrice: string;\n                /**\n                 * Maximum number of characters.\n                 */\n                maxCharCount: number;\n                /**\n                 * Minimum number of characters.\n                 */\n                minCharCount: number;\n                /**\n                 * Title of the text to be input by the customer.\n                 */\n                title: string;\n            };\n            /**\n             * Product info section.\n             */\n            type InfoSection = {\n                /**\n                 * Info section unique name.\n                 *\n                 *  >**Note:** Returned only when you pass `\"INFO_SECTION\"` to the `fields` array in Products API requests.\n                 */\n                uniqueName: string;\n                /**\n                 * Info section title.\n                 *\n                 *  >**Note:** Returned only when you pass `\"INFO_SECTION\"` to the `fields` array in Products API requests.\n                 */\n                title: string;\n                /**\n                 * Product description using rich content.\n                 *\n                 *  This field uses [Ricos document](https://dev.wix.com/docs/ricos/api-reference/ricos-document?apiView=SDK), a structured rich content data format.\n                 *  For a quick start, visit the [playground](https://ricos.dev/), generate the content using the editor, and copy the resulting JSON object.\n                 *\n                 *  See the child properties of this field in the [Ricos Document reference](https://dev.wix.com/docs/ricos/api-reference/ricos-document).\n                 *  Learn more about [Rich Content](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-rich-content).\n                 *\n                 *  >**Notes:**\n                 *  > + Returned only when you pass `\"DESCRIPTION\"` to the `fields` array in Products API requests.\n                 *  > + This API enables the following [Ricos plugins](https://dev.wix.com/docs/ricos/getting-started/introduction#plugins):\n                 *  > `indent`, `emoji`, `divider`, `codeBlock`, `file`, `gallery`, `giphy`, `image`, `table`, `link`, `textHighlight`, `textColor`\n                 */\n                description: ProductPage.RichContent;\n                /**\n                 * Info section ID.\n                 */\n                _id: string;\n                /**\n                 * Info section description in HTML.\n                 *\n                 *  When provided on create/update, this string must be a valid HTML.\n                 *  It will then be converted to rich content.\n                 *  `plainDescription` is ignored when value is also passed to the `description` field.\n                 *\n                 *  >**Note:** Returned only when you pass `\"INFO_SECTION_PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n                 */\n                plainDescription: string;\n            };\n            /**\n             * Product inventory information.\n             */\n            type Inventory = {\n                /**\n                 * Current availability status.\n                 */\n                availabilityStatus: ProductPage.InventoryAvailabilityStatus;\n                /**\n                 * Preorder availability status.\n                 */\n                preorderAvailability: ProductPage.ProductPreorderAvailability;\n                /**\n                 * Current preorder status.\n                 */\n                preorderStatus: ProductPage.PreorderStatus;\n            };\n            /**\n             * Current availability status.\n             */\n            type InventoryAvailabilityStatus = {\n                IN_STOCK: string;\n                OUT_OF_STOCK: string;\n                PARTIALLY_OUT_OF_STOCK: string;\n                UNKNOWN_AVAILABILITY_STATUS: string;\n            };\n            /**\n             * Variant inventory status.\n             */\n            type InventoryStatus = {\n                /**\n                 * Whether the variant is in stock.\n                 */\n                inStock: boolean;\n                /**\n                 * Whether preorder is enabled for the variant.\n                 */\n                optionId: boolean;\n            };\n            type Keyword = {\n                /**\n                 * Keyword value.\n                 */\n                term: string;\n                /**\n                 * Whether the keyword is the main focus keyword.\n                 */\n                isMain: boolean;\n                /**\n                 * The source that added the keyword terms to the SEO settings.\n                 */\n                origin: string;\n            };\n            type ListValue = {\n                values: ProductPage.Value[];\n            };\n            /**\n             * Measurement unit.\n             */\n            type MeasurementUnit = {\n                CBM: string;\n                CL: string;\n                CM: string;\n                FLOZ: string;\n                FT: string;\n                G: string;\n                GAL: string;\n                IN: string;\n                KG: string;\n                L: string;\n                LB: string;\n                M: string;\n                MG: string;\n                ML: string;\n                MM: string;\n                OZ: string;\n                PT: string;\n                QT: string;\n                SQFT: string;\n                SQM: string;\n                UNSPECIFIED: string;\n                YD: string;\n            };\n            /**\n             * Product media items. For a detailed explanation of product media, see [About Product Media](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/about-product-media).\n             */\n            type Media = {\n                /**\n                 * Main media (image, video, etc.) associated with this product. Automatically set to the first item in the media list.\n                 */\n                main: ProductPage.ProductMedia;\n                /**\n                 * All media items.\n                 *\n                 *  >**Note:** Returned only when you pass `\"MEDIA_ITEMS_INFO\"` to the `fields` array in Products API requests.\n                 */\n                itemsInfo: ProductPage.MediaItemsInfo;\n            };\n            /**\n             * An object representing a media item.\n             */\n            type MediaItem = {\n                /**\n                 * Media item ID.\n                 */\n                id: string;\n                /**\n                 * Media item title.\n                 */\n                title: string;\n                /**\n                 * Media item description. Descriptions over 100 characters are truncated.\n                 */\n                description: string;\n                /**\n                 * Media item type. Can be \"image\" or \"video.\"\n                 */\n                type: string;\n                /**\n                 * Media item source URL.\n                 */\n                src: string;\n                /**\n                 * Thumbnail URL for videos only.\n                 */\n                thumbnail?: string;\n            };\n            /**\n             * All media items.\n             */\n            type MediaItemsInfo = {\n                /**\n                 * All media items associated with this product.\n                 *\n                 *  The first item is automatically set as the product's main media.\n                 */\n                items: ProductPage.ProductMedia[];\n            };\n            /**\n             * Media type.\n             */\n            type MediaType = {\n                /**\n                 * Image media type.\n                 */\n                IMAGE: string;\n                /**\n                 * Video media type.\n                 */\n                VIDEO: string;\n                UNKNOWN_MEDIA_TYPE: string;\n            };\n            /**\n             * Choice settings.\n             */\n            type ModifierChoicesSettings = {\n                /**\n                 * List of modifier choices.\n                 */\n                choices: ProductPage.ConnectedModifierChoice;\n            };\n            /**\n             * Modifier render type.\n             */\n            type ModifierRenderType = {\n                /**\n                 * Free text.\n                 */\n                FREE_TEXT: string;\n                /**\n                 * Swatch choices.\n                 */\n                SWATCH_CHOICES: string;\n                /**\n                 * Text choices.\n                 */\n                TEXT_CHOICES: string;\n                /**\n                 * Not implemented.\n                 */\n                UNKNOWN_MODIFIER_RENDER_TYPE: string;\n            };\n            type NullValue = {\n                NULL_VALUE: string;\n            };\n            /**\n             * List of choices.\n             */\n            type OptionChoice = {\n                /**\n                 * Option and choice IDs. These match the IDs of the option and choice from the product's options field.\n                 */\n                optionChoiceIds: ProductPage.OptionChoiceIds;\n                /**\n                 * Option and choice names. This needs to be used in all requests `OptionChoice` is needed, and all `OptionChoiceNames` fields are required.\n                 *\n                 *  >**Note:** Returned only when you pass `\"VARIANT_OPTION_CHOICE_NAMES\"` to the `fields` array in Products API requests.\n                 */\n                optionChoiceNames: ProductPage.OptionChoiceNames;\n            };\n            /**\n             * Option and choice IDs.\n             */\n            type OptionChoiceIds = {\n                /**\n                 * Choice ID.\n                 */\n                choiceId: string;\n                /**\n                 * Option ID.\n                 *\n                 *  >**Note:** Returned only when you pass `\"VARIANT_OPTION_CHOICE_NAMES\"` to the `fields` array in Products API requests.\n                 */\n                optionId: string;\n            };\n            /**\n             * Option and choice names.\n             */\n            type OptionChoiceNames = {\n                /**\n                 * Choice name.\n                 */\n                choiceName: string;\n                /**\n                 * Option name.\n                 */\n                optionName: string;\n                /**\n                 * Render type of the option. Required when using `optionChoiceNames`. Must match the `optionRenderType` of the referenced option.\n                 */\n                renderType: ProductPage.ProductOptionRenderType;\n            };\n            /**\n             * Physical properties for physical products.\n             */\n            type PhysicalProperties = {\n                /**\n                 * Delivery profile ID.\n                 */\n                deliveryProfileId: string;\n                /**\n                 * Fulfiller ID.\n                 */\n                fulfillerId: string;\n                /**\n                 * Price per unit settings.\n                 *\n                 *  >**Note:** Use this field only when relevant. For example, for products that are sold by weight, volume, or length.\n                 */\n                pricePerUnit: ProductPage.PricePerUnitSettings;\n                /**\n                 * Product price per unit range. The minimum and maximum price per unit of all the variants.\n                 */\n                pricePerUnitRange: ProductPage.PricePerUnitRange;\n                /**\n                 * Product shipping weight range - Calculated from the lightest and heaviest variant shipping weights.\n                 */\n                shippingWeightRange: ProductPage.WeightRange;\n                /**\n                 * Weight measurement unit.\n                 *\n                 *  >**Note:** Returned only when you pass `\"WEIGHT_MEASUREMENT_UNIT_INFO\"` to the `fields` array in Products API requests.\n                 */\n                weightMeasurementUnitInfo: ProductPage.WeightMeasurementUnitInfo;\n            };\n            /**\n             * Current preorder status.\n             */\n            type PreorderStatus = {\n                DISABLED: string;\n                ENABLED: string;\n                PARTIALLY_ENABLED: string;\n                UNKNOWN_PREORDER_STATUS: string;\n            };\n            /**\n             * Variant price.\n             */\n            type PriceInfo = {\n                /**\n                 * Variant's current selling price. Must be greater than or equal to 0.\n                 */\n                actualPrice: ProductPage.FixedMonetaryAmount;\n                /**\n                 * Original price before any discount, shown with a strikethrough in the UI of Wix sites.\n                 *  Only set this if a discount applies. When set, it should be higher than `actualPrice` to reflect savings.\n                 */\n                compareAtPrice: ProductPage.FixedMonetaryAmount;\n            };\n            /**\n             * Price per unit info.\n             */\n            type PricePerUnit = {\n                /**\n                 * Price per unit description.\n                 *\n                 *  >**Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n                 */\n                description: string;\n                /**\n                 * Price per unit data for this variant. `measurementUnit` value must correspond to the measurement unit set on the product.\n                 */\n                settings: ProductPage.PricePerUnitSettings;\n                /**\n                 * Calculated value of price per unit. Takes into account `pricePerUnit` settings of parent product, of this variant, and discounted price of variant.\n                 *  For example if discounted price is 2$, product's price per unit setting is 1 Kg, variant price per unit setting is 0.5 Kg then this value is 4$\n                 *  (means variant weight is 0.5 Kg and it costs 2$ but we want to show price per 1 Kg so we show 4$).\n                 */\n                value: string;\n            };\n            /**\n             * Product price per unit range.\n             */\n            type PricePerUnitRange = {\n                /**\n                 * Maximum price per unit across all variants.\n                 */\n                maxValue: ProductPage.PricePerUnitRangePricePerUnit;\n                /**\n                 * Minimum price per unit across all variants.\n                 */\n                minValue: ProductPage.PricePerUnitRangePricePerUnit;\n            };\n            /**\n             * Product price per unit range.\n             */\n            type PricePerUnitRangePricePerUnit = {\n                /**\n                 * Price per unit info in the format of variant specific data / product setting, for example €4.00 / 1 Kg.\n                 *\n                 *  >**Note:** This field is returned by the API only when you pass `fields: \"CURRENCY\"` in a request.\n                 */\n                description: string;\n                /**\n                 * Calculated value of price per unit.\n                 *  Takes into account pricePerUnit settings of product and variants and price of variants.\n                 *  For example if discounted price is 2$, product's price per unit setting is 1 Kg,\n                 *  variant price per unit setting is 0.5 Kg then this value is 4$\n                 *  (means variant weight is 0.5 Kg and it costs 2$ but we want to show price per 1 Kg so we show 4$).\n                 */\n                value: string;\n            };\n            /**\n             * Price per unit settings.\n             */\n            type PricePerUnitSettings = {\n                /**\n                 * Measurement unit. For example, to define price per 100 grams, set this field to `\"G\"`.\n                 */\n                measurementUnit: ProductPage.MeasurementUnit;\n                /**\n                 * Quantity. For example, to define price per 100 grams, set this field to `100`.\n                 */\n                quantity: number;\n            };\n            /**\n             * Current selling price range.\n             */\n            type PriceRange = {\n                /**\n                 * Maximum value.\n                 */\n                maxValue: ProductPage.FixedMonetaryAmount;\n                /**\n                 * Minimum value.\n                 */\n                minValue: ProductPage.FixedMonetaryAmount;\n            };\n            /**\n             * An object representing an additional info section for a store product.\n             */\n            type ProductAdditionalInfoSection = {\n                /**\n                 * Section title.\n                 */\n                title: string;\n                /**\n                 * Section description.\n                 */\n                description: string;\n            };\n            /**\n             * List of all categories related to the product.\n             */\n            type ProductCategoriesInfo = {\n                /**\n                 * A list of categories related to the product.\n                 */\n                category: ProductPage.ProductCategory[];\n            };\n            /**\n             * List of categories related to the product.\n             */\n            type ProductCategory = {\n                /**\n                 * Category ID.\n                 */\n                _id: string;\n                /**\n                 * Index location of the product within the category, which can be utilized for sorting products in a specific category.\n                 * For detailed instructions on how to set this up, refer to\n                 * the [Add and arrange products in a category](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/sample-use-cases-and-flows#add-and-arrange-products-in-a-category) sample flow.\n                 */\n                index: number;\n            };\n            /**\n             * An object representing a product variant's option choices.\n             */\n            type ProductChoices = {\n                /**\n                 * Value of the choice. This key name is dependent on the\n                 *  product option. For example, if a product has a size option, this\n                 *  key value will be something like `\"Size\"` and its value will be something like\n                 *  `\"Large\"`.\n                 *\n                 *  `optionKey` is not case-sensitive. Therefore the values for the option keys \"`Size`\", \"`SIZE`\", and \"`size`\" are combined.\n                 */\n                optionKey: string;\n            };\n            /**\n             * An object representing a custom text field for a store product.\n             */\n            type ProductCustomTextFields = {\n                /**\n                 * Product customization field title.\n                 */\n                title: string;\n                /**\n                 * Maximum length of product customization field in characters.\n                 */\n                maxLength: string;\n            };\n            /**\n             * An object representing a product discount.\n             */\n            type ProductDiscount = {\n                /**\n                 * Discount type. Required.\n                 *\n                 *  One of:\n                 *\n                 *\n                 *\n                 *  - `\"AMOUNT\"`\n                 *  - `\"PERCENT\"`\n                 *  - `\"NONE\"`\n                 */\n                type: string;\n                /**\n                 * Discount value. The discount value cannot be greater than the price of the product or the variant.\n                 */\n                value: string;\n            };\n            /**\n             * Main media (image, video, etc.) associated with this product. Automatically set to the first item in the media list.\n             */\n            type ProductMedia = {\n                /**\n                 * Image alt text.\n                 */\n                altText: string;\n                /**\n                 * Media display name.\n                 *\n                 *  Overrides the default media name. Can be passed only when the media is set by a URL in this item's `url` field.\n                 */\n                displayName: string;\n                /**\n                 * Media type.\n                 */\n                mediaType: ProductPage.MediaType;\n                /**\n                 * Media thumbnail.\n                 *\n                 *  >**Note:** Returned only when you pass `\"THUMBNAIL\"` to the `fields` array in Products API requests.\n                 */\n                thumbnail: ProductPage.Thumbnail;\n                /**\n                 * ID used to upload media to [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n                 */\n                uploadId: string;\n                /**\n                 * Set media by ID of an existing file in [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n                 */\n                _id?: string;\n                /**\n                 * Set media using an external media URL.\n                 */\n                url?: string;\n                /**\n                 * Image details. Populated when you provide a [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) file ID in this item's `_id` field..\n                 */\n                image?: string;\n                /**\n                 * Video details. Populated when you provide a [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) file ID in this item's `_id` field.\n                 */\n                video?: string;\n            };\n            /**\n             * An object representing an option for a store product.\n             */\n            type ProductOption = {\n                /**\n                 * Option type. Either `\"color\"` or `\"drop_down\"`.\n                 */\n                optionType: string;\n                /**\n                 * Option name.\n                 */\n                name: string;\n                /**\n                 * Option choices.\n                 */\n                choices: ProductPage.ProductOptionsChoice[];\n            };\n            /**\n             * Option render type.\n             */\n            type ProductOptionRenderType = {\n                /**\n                 * Swatch choices.\n                 */\n                SWATCH_CHOICES: string;\n                /**\n                 * Text choices.\n                 */\n                TEXT_CHOICES: string;\n                /**\n                 * Not implemented.\n                 */\n                UNKNOWN_OPTION_RENDER_TYPE: string;\n            };\n            /**\n             * An object representing all the available options for a store product, such as \"Size\" and \"Color.\"\n             */\n            type ProductOptions = {\n                /**\n                 * Name of the option. This key name\n                 *  is dependent on the options added to the product. For example, if a product has a size\n                 *  option, this key will be something like `\"Size\"`.\n                 *\n                 *  `optionKey` is not case-sensitive. Therefore the values for the option keys \"`Size`\", \"`SIZE`\", and \"`size`\" are combined.\n                 */\n                optionKey: ProductPage.ProductOption;\n            };\n            /**\n             * An object representing an option's choice for a store product, such as choice \"Small\" for the option \"Size.\"\n             */\n            type ProductOptionsChoice = {\n                /**\n                 * Choice value.\n                 */\n                value: number;\n                /**\n                 * Choice description.\n                 */\n                description: number;\n                /**\n                 * Choice media.\n                 */\n                media: ProductPage.ProductOptionsChoiceMedia;\n                /**\n                 * Indicates whether the product with this choice is in stock.\n                 */\n                inStock: boolean;\n                /**\n                 * Indicates whether the product with this option is visible.\n                 */\n                visible: boolean;\n            };\n            /**\n             * An object representing the choice media.\n             */\n            type ProductOptionsChoiceMedia = {\n                /**\n                 * Main choice media item (image or video thumbnail) URL.\n                 */\n                mainMedia: string;\n                /**\n                 * List of choice media items.\n                 */\n                mediaItems: ProductPage.MediaItem;\n            };\n            /**\n             * Preorder availability status.\n             */\n            type ProductPreorderAvailability = {\n                ALL_VARIANTS: string;\n                NO_VARIANTS: string;\n                SOME_VARIANTS: string;\n                UNKNOWN_PREORDER_AVAILABILITY_STATUS: string;\n            };\n            /**\n             * An object representing a ribbon for a store product.\n             */\n            type ProductRibbon = {\n                /**\n                 * Ribbon text.\n                 */\n                text: string;\n            };\n            /**\n             * Product type.\n             */\n            type ProductType = {\n                /**\n                 * Digital product.\n                 */\n                DIGITAL: string;\n                /**\n                 * Physical product.\n                 */\n                PHYSICAL: string;\n                /**\n                 * Not implemented.\n                 */\n                UNKNOWN_PRODUCT_TYPE: string;\n            };\n            /**\n             * An object representing a product in a store.\n             */\n            type Productv1 = {\n                /**\n                 * Product ID.\n                 */\n                _id: string;\n                /**\n                 * Date and time the product was last updated.\n                 */\n                _updatedDate: Date;\n                /**\n                 * Product name.\n                 */\n                name: string;\n                /**\n                 * Product description.\n                 */\n                description: string;\n                /**\n                 * Main product media item (image or video thumbnail) URL.\n                 */\n                mainMedia: string;\n                /**\n                 * List of product media items.\n                 */\n                mediaItems: ProductPage.MediaItem;\n                /**\n                 * Product stock keeping unit value. Must be unique.\n                 */\n                sku: string;\n                /**\n                 * Deprecated. Use `ribbon` instead.\n                 */\n                ribbons: ProductPage.ProductRibbon[];\n                /**\n                 * Product ribbon. Used to highlight relevant information about a product. For example, `\"Sale\"`, `\"New Arrival\"`, `\"Sold Out\"`.\n                 */\n                ribbon: string;\n                /**\n                 * Product currency.\n                 */\n                currency: string;\n                /**\n                 * Product price.\n                 *  The price must be greater than its discount.\n                 *  The product price is propagated to the product's newly-created variants. Product variants whose prices have been updated directly are not affected by the changes to the product price.\n                 */\n                price: number;\n                /**\n                 * Discounted product price.\n                 */\n                discountedPrice: number;\n                /**\n                 * Product price formatted with the currency.\n                 */\n                formattedPrice: string;\n                /**\n                 * Discounted product price formatted with the currency.\n                 */\n                formattedDiscountedPrice: string;\n                /**\n                 * Price per unit.\n                 */\n                pricePerUnit: number;\n                /**\n                 * Price per unit formatted with currency symbol.\n                 */\n                formattedPricePerUnit: string;\n                /**\n                 * Details of the product's price per unit.\n                 */\n                pricePerUnitData: ProductPage.pricePerUnitData;\n                /**\n                 * ID for the inventory item.\n                 */\n                inventoryItemId: string;\n                /**\n                 * Product discount.\n                 */\n                discount: ProductPage.ProductDiscount;\n                /**\n                 * Indicates whether inventory is tracked for the product.\n                 */\n                trackInventory: boolean;\n                /**\n                 * Indicates whether the product is in stock.\n                 */\n                inStock: boolean;\n                /**\n                 * Number of units currently in stock.\n                 */\n                quantityInStock: number;\n                /**\n                 * Additional product information sections.\n                 */\n                additionalInfoSections: ProductPage.ProductAdditionalInfoSection[];\n                /**\n                 * All the available options for a store product.\n                 */\n                productOptions: ProductPage.ProductOptions;\n                /**\n                 * Product page relative URL.\n                 */\n                productPageUrl: string;\n                /**\n                 * Indicates whether product variants are managed. Can be set to true only if the product has options. Once set to true, `manageVariants` can only be reset to false only if no variants exist. Use [`getProductVariants()`](https://www.wix.com/velo/reference/wix-stores.html#getProductVariants) to check if variants exist. You cannot set `manageVariants` to true if more than 300 variants are defined.\n                 */\n                manageVariants: boolean;\n                /**\n                 * List of product customization fields.\n                 */\n                customTextFields: ProductPage.ProductCustomTextFields[];\n                /**\n                 * Product type. Either `\"physical\"` or `\"digital\"`. When creating a product using the API, currently only `\"physical\"` is supported.\n                 */\n                productType: string;\n                /**\n                 * Product slug.\n                 */\n                slug: string;\n                /**\n                 * Product weight.\n                 */\n                weight: number;\n                /**\n                 * Product variants.\n                 */\n                variants: ProductPage.VariantItem[];\n                /**\n                 * Custom SEO data for the product. Learn more [about SEO](https://support.wix.com/en/search?term=seo).\n                 */\n                seoData: ProductPage.SeoData;\n            };\n            /**\n             * An object representing a product in a store.\n             */\n            type Productv3 = {\n                /**\n                 * Date and time the product was created.\n                 */\n                _createdDate: Date;\n                /**\n                 * Product ID.\n                 */\n                _id: string;\n                /**\n                 * Date and time the product was updated.\n                 */\n                _updatedDate: Date;\n                /**\n                 * Revision number, which increments by 1 each time the product is updated.\n                 *  To prevent conflicting changes, the current revision must be passed when updating the product.\n                 *\n                 *  Ignored when creating a product.\n                 */\n                revision: string;\n                /**\n                 * Product name. Translatable.\n                 */\n                name: string;\n                /**\n                 * Product slug.\n                 *\n                 *  If not provided, the slug is autogenerated based on the product name.\n                 */\n                slug: string;\n                /**\n                 * URL to the site's product page.\n                 *  >**Note:** Returned only when you pass `\"URL\"` to the `fields` array in Products API requests.\n                 */\n                url: ProductPage.Url;\n                /**\n                 * Product description using rich content.\n                 *\n                 *  This field uses [Ricos document](https://dev.wix.com/docs/ricos/api-reference/ricos-document?apiView=SDK), a structured rich content data format.\n                 *  For a quick start, visit the [playground](https://ricos.dev/), generate the content using the editor, and copy the resulting JSON object.\n                 *\n                 *  See the child properties of this field in the [Ricos Document reference](https://dev.wix.com/docs/ricos/api-reference/ricos-document).\n                 *  Learn more about [Rich Content](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-rich-content).\n                 *\n                 *  >**Notes:**\n                 *  > + Returned only when you pass `\"DESCRIPTION\"` to the `fields` array in Products API requests.\n                 *  > + This API enables the following [Ricos plugins](https://dev.wix.com/docs/ricos/getting-started/introduction#plugins):\n                 *  > `indent`, `emoji`, `divider`, `codeBlock`, `file`, `gallery`, `giphy`, `image`, `table`, `link`, `textHighlight`, `textColor`\n                 */\n                description: ProductPage.RichContent;\n                /**\n                 * Product description in HTML.\n                 *\n                 *  + When provided on create/update, this string must be valid HTML. It's then converted to rich content.\n                 *  + `plainDescription` is ignored when a value is also passed to the `description` field.\n                 *\n                 *  >**Note:** Returned only when you pass `\"PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n                 */\n                plainDescription: string;\n                /**\n                 * Whether the product is visible to site visitors.\n                 *\n                 *  Default: `true`.\n                 */\n                visible: boolean;\n                /**\n                 * Whether the product is visible in POS (point of sale).\n                 *\n                 *  Default: `true`.\n                 *\n                 *  >**Note:** Always `false` for `productType: DIGITAL`.\n                 */\n                visibleInPos: boolean;\n                /**\n                 * Product media items. For a detailed explanation of product media, see [About Product Media](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/about-product-media).\n                 */\n                media: ProductPage.Media;\n                /**\n                 * Product SEO data.\n                 */\n                seoData: ProductPage.SeoSchema;\n                /**\n                 * [Tax group ID](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/extensions/tax/tax-groups/introduction). Used to apply specific tax rates to products.\n                 */\n                taxGroupId: string;\n                /**\n                 * Product options, such as \"Size\" or \"Color\". Options define the ways a product can vary.\n                 *\n                 *  When you provide options, you must also provide the corresponding variants. Each variant must have exactly one choice for each option. For more information, see [About Product Options and Variants](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/about-product-options-and-variants).\n                 *\n                 *  Options are stored as reusable [customization](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/customizations-v3/introduction) entities. Pass an existing customization's ID to reuse it, or define options inline and new customization entities are created automatically.\n                 */\n                options: ProductPage.ConnectedOption[];\n                /**\n                 * Product modifiers. Collect additional information from customers without creating variants.\n                 *\n                 *  Unlike options, modifiers don't affect inventory or create additional variants. Use them for things like gift messages or engraving text. For more information, see [About Product Options and Variants](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/about-product-options-and-variants).\n                 *\n                 *  Modifiers are stored as reusable [customization](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/customizations-v3/introduction) entities. Pass an existing customization's ID to reuse it, or define modifiers inline and new customization entities are created automatically.\n                 */\n                modifiers: ProductPage.ConnectedModifier[];\n                /**\n                 * Product [brand](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/brands-v3/introduction).\n                 *  + Pass `brand.name` to add a new brand while creating a product.\n                 *  + Pass an existing brand's `_id` to assign that brand to the product.\n                 */\n                brand: ProductPage.Brand;\n                /**\n                 * Product [info section](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/info-sections-v3/introduction).\n                 *\n                 *  + Pass `infoSection.uniqueName`, `infoSection.title`, and `infoSection.description` to add a new info section while creating a product.\n                 *  + Pass an existing info section's `_id` or `uniqueName` to assign that info section to the product.\n                 */\n                infoSections: ProductPage.InfoSection[];\n                /**\n                 * Product [ribbon](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/ribbons-v3/introduction).\n                 *\n                 *  + Pass `ribbon.name` to add a new ribbon while creating a product.\n                 *  + Pass an existing ribbon's `_id` or `name` to assign that ribbon to the product.\n                 */\n                ribbon: ProductPage.Ribbon;\n                /**\n                 * List of [categories](https://dev.wix.com/docs/api-reference/business-management/categories/introduction) that directly contain this product.\n                 *\n                 *  Updated automatically when a product is added/removed from a category, when an item is moved within a category, or when a category is deleted.\n                 *\n                 *  >**Note:** Returned only when you pass `\"DIRECT_CATEGORIES_INFO\"` to the `fields` array in Products API requests.\n                 */\n                directCategoriesInfo: ProductPage.ProductCategoriesInfo;\n                /**\n                 * List of [categories](https://dev.wix.com/docs/api-reference/business-management/categories/introduction) that directly contain this product, as well as their parent categories.\n                 *\n                 *  >**Note:** Returned only when you pass `\"ALL_CATEGORIES_INFO\"` to the `fields` array in Products API requests.\n                 */\n                allCategoriesInfo: ProductPage.ProductCategoriesInfo;\n                /**\n                 * The ID of the product's primary direct [category](https://dev.wix.com/docs/api-reference/business-management/categories/introduction), which defines the product's breadcrumbs path. For example, if the product's main category is \"T-Shirts\" (which is a subcategory of \"Clothing\"), the breadcrumbs path is \"Clothing > T-Shirts\".\n                 */\n                mainCategoryId: string;\n                /**\n                 * Product cost range - minimum and maximum costs of all product variants.\n                 *\n                 *  >**Note:** Returned only when the following conditions are met:\n                 *  > + You pass `\"MERCHANT_DATA\"` to the `fields` array in Products API requests.\n                 *  > + Your app has the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n                 */\n                costRange: ProductPage.PriceRange;\n                /**\n                 * Product inventory info.\n                 *\n                 *  >**Note:** This field reflects the aggregated inventory status from the default location only.\n                 *  > Use the [Inventory Items API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/inventory-items-v3/introduction) to manage inventory for specific locations.\n                 *  > Learn more about [inventory management](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/about-inventory-management).\n                 */\n                inventory: ProductPage.Inventory;\n                /**\n                 * Product type: `PHYSICAL` for tangible goods that require shipping, or `DIGITAL` for downloadable content.\n                 *\n                 *  >**Note:** When passing `productType: PHYSICAL`, you must also pass `physicalProperties`. When passing `productType: DIGITAL`, you can optionally pass `digitalProperties` in each variant.\n                 */\n                productType: ProductPage.ProductType;\n                /**\n                 * A unique human-friendly identifier for the product.\n                 *\n                 *  Unlike the auto-generated `_id`, the handle can be set when creating a product. This is useful when re-importing products from other systems, as it provides a stable identifier across platforms. If not provided during creation, one is automatically generated. Can't be changed after creation.\n                 */\n                handle: string;\n                /**\n                 * Currency used for the pricing of this product, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#list_of_ISO_4217_currency_codes) format.\n                 *\n                 *  Defaults to the currency defined in the site settings, unless specified in the request's `x-wix-currency` header.\n                 *\n                 *  >**Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n                 */\n                currency: string;\n                /**\n                 * Breadcrumbs of the `mainCategoryId`. Used to navigate to parent [categories](https://dev.wix.com/docs/api-reference/business-management/categories/introduction).\n                 *\n                 *  >**Note:** Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array in Products API requests.\n                 */\n                breadcrumbsInfo: ProductPage.BreadcrumbsInfo;\n                /**\n                 * Minimum and maximum current selling prices across all product variants.\n                 */\n                actualPriceRange: ProductPage.PriceRange;\n                /**\n                 * Minimum and maximum compare-at prices (original prices before discounts) across all product variants. Used to show savings to customers.\n                 */\n                compareAtPriceRange: ProductPage.PriceRange;\n                /**\n                 * Product variants. Each variant represents a specific purchasable version of a product defined by option choices.\n                 *\n                 *  Each variant must reference all product options via its `choices` array, using `optionChoiceNames` in requests. You must explicitly provide each variant when creating products with options.\n                 *\n                 *  For more information, see [About Product Options and Variants](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/about-product-options-and-variants).\n                 */\n                variantsInfo: ProductPage.VariantsInfo;\n                /**\n                 * Custom extended fields for the product object.\n                 *\n                 *  [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions)\n                 *  must be configured in the app dashboard before they can be accessed with API calls.\n                 */\n                extendedFields: ProductPage.ExtendedFields;\n                /**\n                 * Product subscriptions.\n                 *\n                 *  Subscription discounts are defined at the product level but apply to each variant's `actualPrice`.\n                 *  This means the final subscription price varies per variant based on the variant's base price.\n                 */\n                subscriptionDetails: ProductPage.SubscriptionDetails;\n                /**\n                 * Total number of variants for the product.\n                 */\n                variantSummary: ProductPage.VariantSummary;\n                /**\n                 * Physical properties.\n                 *\n                 *  Required when `productType: PHYSICAL`.\n                 */\n                physicalProperties: ProductPage.PhysicalProperties;\n            };\n            /**\n             * Variant revenue details.\n             */\n            type RevenueDetails = {\n                /**\n                 * Item cost.\n                 */\n                cost: ProductPage.FixedMonetaryAmount;\n                /**\n                 * Profit. Calculated by reducing `cost` from `discountedPrice`.\n                 */\n                profit: ProductPage.FixedMonetaryAmount;\n                /**\n                 * Profit Margin. Calculated by dividing `profit` by `discountedPrice`. The result is rounded to 4 decimal places.\n                 */\n                profitMargin: number;\n            };\n            /**\n             * Product ribbon.\n             */\n            type Ribbon = {\n                /**\n                 * Ribbon name.\n                 */\n                name: string;\n                /**\n                 * Ribbon ID.\n                 */\n                _id: string;\n            };\n            /**\n             * Product description using rich content.\n             */\n            type RichContent = {};\n            /**\n             * Digital file.\n             */\n            type SecuredMedia = {\n                /**\n                 * Media ID in media manager.\n                 */\n                _id: string;\n                /**\n                 * Original file name.\n                 */\n                fileName: string;\n                /**\n                 * Original file size.\n                 */\n                fileSize: string;\n                /**\n                 * File type.\n                 */\n                fileType: ProductPage.FileType;\n            };\n            /**\n             * An object representing custom SEO data for the product.\n             */\n            type SeoData = {\n                /**\n                 * SEO tag details.\n                 */\n                tags: ProductPage.SeoTag[];\n            };\n            /**\n             * Product SEO data.\n             */\n            type SeoSchema = {\n                /**\n                 * SEO general settings.\n                 */\n                settings: ProductPage.Settings;\n                /**\n                 * SEO tag information.\n                 */\n                tags: ProductPage.Tag[];\n            };\n            /**\n             * An object representing the product's custom SEO tags.\n             */\n            type SeoTag = {\n                /**\n                 * SEO tag type.\n                 * Supported values:\n                 *\n                 *  + `\"title\"`\n                 *  + `\"meta\"`\n                 *  + `\"script\"`\n                 *  + `\"link\"`\n                 */\n                type: string;\n                /**\n                 * The props property holds an object of `{\"key\": \"value\"}` pairs where the key is one of the SEO tag's properties (name, content, rel, href, etc.)\n                 * and the value is the value for that property. `{\"name\": \"description\", \"content\": \"The description itself.\"}`.\n                 */\n                props: object;\n                /**\n                 * Tag metadata. For example, `{\"height\": 300, \"width\": 240}`.\n                 */\n                meta: object;\n                /**\n                 * Tag inner content. For example, ` inner content `.\n                 */\n                children: string;\n                /**\n                 * Whether the tag is a custom tag.\n                 */\n                custom: boolean;\n                /**\n                 * Whether the tag is disabled.\n                 */\n                disabled: boolean;\n            };\n            /**\n             * SEO general settings.\n             */\n            type Settings = {\n                /**\n                 * Whether the [automatic redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n                 *\n                 *  Default: `false` (automatic redirect is enabled)\n                 */\n                preventAutoRedirect: boolean;\n                /**\n                 * User-selected keyword terms for a specific page.\n                 */\n                keywords: ProductPage.Keyword[];\n            };\n            type Struct = {\n                fields: ProductPage.Value[];\n            };\n            /**\n             * Subscription.\n             */\n            type Subscription = {\n                /**\n                 * Subscription ID.\n                 */\n                _id: string;\n                /**\n                 * Subscription description.\n                 */\n                description: string;\n                /**\n                 * Discount info (optional). For example, a $20 discount would be `amount: 20`, `type: AMOUNT`.\n                 */\n                discount: ProductPage.SubscriptionDiscount;\n                /**\n                 * Frequency of recurring payment.\n                 *  For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months.\n                 */\n                frequency: ProductPage.SubscriptionFrequency;\n                /**\n                 * Interval of recurring payment.\n                 *  For example, if `frequency: MONTH`, `billingCycles: 3` and `interval: 2`; payment will be made every 2 months for a total of 6 months.\n                 *\n                 *  Default: `1`\n                 */\n                interval: number;\n                /**\n                 * Subscription title.\n                 */\n                title: string;\n                /**\n                 * Whether the subscription is visible to site visitors.\n                 *\n                 *  Defailt: `true`\n                 */\n                visible: boolean;\n                /**\n                 * Whether subscription is renewed automatically at the end of each period. Can't be `false`, instead set `billingCycles`.\n                 */\n                autoRenewal?: boolean;\n                /**\n                 * Number of billing cycles before subscription ends.\n                 */\n                billingCycles?: number;\n            };\n            /**\n             * Product subscriptions.\n             */\n            type SubscriptionDetails = {\n                /**\n                 * Whether to allow one-time purchases in addition to subscription-based purchases.\n                 *\n                 *  Default: `false`\n                 */\n                allowOneTimePurchases: boolean;\n                /**\n                 * Subscriptions.\n                 */\n                subscriptions: ProductPage.Subscription[];\n            };\n            /**\n             * Discount info.\n             */\n            type SubscriptionDiscount = {\n                /**\n                 * Discount type.\n                 */\n                type: ProductPage.DiscountType;\n                /**\n                 * Amount to discount from the variant `discountedPrice`.\n                 */\n                amountOff?: string;\n                /**\n                 * Percentage to discount from variant `discountedPrice`.\n                 */\n                percentOff?: number;\n            };\n            /**\n             * Frequency of recurring payment.\n             */\n            type SubscriptionFrequency = {\n                DAY: string;\n                MONTH: string;\n                UNDEFINED: string;\n                WEEK: string;\n                YEAR: string;\n            };\n            /**\n             * Subscription prices.\n             */\n            type SubscriptionPrice = {\n                /**\n                 * Subscription price calculated by applying subscription discount to the variant `price.actualPrice`.\n                 */\n                price: ProductPage.FixedMonetaryAmount;\n                /**\n                 * Price per unit info.\n                 */\n                pricePerUnit: ProductPage.SubscriptionPricePerUnit;\n                /**\n                 * Subscription ID.\n                 */\n                subscriptionId: string;\n            };\n            /**\n             * Price per unit info.\n             */\n            type SubscriptionPricePerUnit = {\n                /**\n                 * Price per unit description.\n                 *\n                 *  >**Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n                 */\n                description: string;\n                /**\n                 * Calculated value of price per unit. Takes into account `pricePerUnit` settings of parent product, `pricePerUnit` settings of this variant, and the variant subscription price..\n                 */\n                value: string;\n            };\n            /**\n             * Subscription prices.\n             */\n            type SubscriptionPricesInfo = {\n                /**\n                 * Subscription prices.\n                 */\n                subscriptionPrices: ProductPage.SubscriptionPrice[];\n            };\n            /**\n             * SEO tag information.\n             */\n            type Tag = {\n                /**\n                 * SEO tag type.\n                 *\n                 *  Supported values: `\"title\"`, `\"meta\"`, `\"script\"`, `\"link\"`.\n                 */\n                type: string;\n                /**\n                 * 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.\"}`.\n                 */\n                props: ProductPage.Struct;\n                /**\n                 * SEO tag metadata. For example, `{\"height\": 300, \"width\": 240}`.\n                 */\n                meta: ProductPage.Struct;\n                /**\n                 * SEO tag inner content. For example, ` inner content `.\n                 */\n                children: string;\n                /**\n                 * Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages).\n                 */\n                custom: boolean;\n                /**\n                 * Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines.\n                 */\n                disabled: boolean;\n            };\n            /**\n             * Media thumbnail.\n             */\n            type Thumbnail = {\n                /**\n                 * Thumbnail url.\n                 */\n                url: string;\n                /**\n                 * Thumbnail height.\n                 */\n                height: number;\n                /**\n                 * Thumbnail width.\n                 */\n                width: number;\n                /**\n                 * Thumbnail alt text.\n                 */\n                altText: string;\n            };\n            /**\n             * URL to the site's product page.\n             */\n            type Url = {\n                /**\n                 * The relative path for the page within the site. For example, `/product-page/a-product`.\n                 */\n                relativePath: string;\n                /**\n                 * The page's full URL. For example, `https://mysite.com/product-page/a-product`.\n                 */\n                url: string;\n            };\n            type Value = {\n                nullValue?: ProductPage.NullValue;\n                numberValue?: number;\n                stringValue?: string;\n                boolValue?: boolean;\n                structValue?: ProductPage.Struct;\n                listValue?: ProductPage.ListValue[];\n            };\n            /**\n             * Related variant.\n             */\n            type Variant = {\n                /**\n                 * Variant ID.\n                 */\n                _id: string;\n                /**\n                 * Variant barcode.\n                 */\n                barcode: string;\n                /**\n                 * List of choices that define this variant. Each variant must have exactly one choice for each product option.\n                 *\n                 *  Use `optionChoiceNames` in all requests where this field is required. For products without options, this array is empty, representing a single \"default variant\".\n                 *\n                 *  For more information, see [About Product Options and Variants](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/about-product-options-and-variants).\n                 */\n                choices: ProductPage.OptionChoice[];\n                /**\n                 * Variant inventory status.\n                 */\n                inventoryStatus: ProductPage.InventoryStatus;\n                /**\n                 * Variant media.\n                 */\n                media: ProductPage.ProductMedia;\n                /**\n                 * Variant price.\n                 */\n                price: ProductPage.PriceInfo;\n                /**\n                 * Variant revenue details.\n                 *\n                 *  >**Note:** Returned only when the following conditions are met:\n                 *  > + You pass `\"MERCHANT_DATA\"` to the `fields` array in a Products API request.\n                 *  > + Your app has the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n                 */\n                revenueDetails: ProductPage.RevenueDetails;\n                /**\n                 * Variant SKU (stock keeping unit).\n                 */\n                sku: string;\n                /**\n                 * Subscription prices calculate by applying subscription discount to the variant `price.actualPrice`.\n                 *\n                 *  >**Note:** Returned only when you pass `\"SUBSCRIPTION_PRICES_INFO\"` to the `fields` array in a Products API request.\n                 */\n                subscriptionPricesInfo: ProductPage.SubscriptionPricesInfo;\n                /**\n                 * Whether the variant is visible to site visitors.\n                 *\n                 *  Default: `true`\n                 */\n                visible: boolean;\n                /**\n                 * Digital properties. Must be passed when `productType: DIGITAL`.\n                 */\n                digitalProperties?: ProductPage.VariantDigitalProperties;\n                /**\n                 * Physical properties. Must be passed when `productType: PHYSICAL`.\n                 */\n                physicalProperties?: ProductPage.VariantPhysicalProperties;\n            };\n            /**\n             * Digital properties.\n             */\n            type VariantDigitalProperties = {\n                /**\n                 * Digital file which will be downloaded by the buyer after successful purchase.\n                 *  Each variant can have a different digital file, allowing you to offer different content per variant.\n                 */\n                digitalFile: ProductPage.SecuredMedia;\n            };\n            /**\n             * An object representing variant information to use when creating or updating variants.\n             */\n            type VariantInfo = {\n                /**\n                 * Variant currency.\n                 */\n                currency: string;\n                /**\n                 * Variant price. The variant price must be greater than its discount. If the variant price has been updated, changes to the product price do not affect the variant price.\n                 */\n                price: number;\n                /**\n                 * Discounted variant price.\n                 */\n                discountedPrice: number;\n                /**\n                 * Variant price formatted with the currency.\n                 */\n                formattedPrice: string;\n                /**\n                 * Discounted variant price formatted with the currency.\n                 */\n                formattedDiscountedPrice: string;\n                /**\n                 * Variant weight.\n                 */\n                weight: number;\n                /**\n                 * Variant stock keeping unit value.\n                 */\n                sku: string;\n                /**\n                 * Whether the variant is visible in the store.\n                 */\n                visible: boolean;\n                /**\n                 * Price per unit.\n                 */\n                pricePerUnit: number;\n                /**\n                 * Price per unit formatted with currency symbol.\n                 */\n                formattedPricePerUnit: string;\n            };\n            /**\n             * An object representing a product variant item.\n             */\n            type VariantItem = {\n                /**\n                 * Unique variant ID.\n                 */\n                _id: string;\n                /**\n                 * The choices of the retrieved variant.\n                 */\n                choices: ProductPage.ProductChoices;\n                /**\n                 * Variant information.\n                 */\n                variant: ProductPage.VariantInfo;\n            };\n            /**\n             * Physical properties.\n             */\n            type VariantPhysicalProperties = {\n                /**\n                 * Price per unit info, in order to show price per unit on the product page.\n                 *  For example if one sells cheese and defines 100g here then we know that buying this variant buyer receives 100g of cheese.\n                 *  But on product page price will be displayed for units defined on product level. See `pricePerUnit.value` to understand how it's calculated.\n                 */\n                pricePerUnit: ProductPage.PricePerUnit;\n                /**\n                 * Variant shipping weight. `product.physicalProperties.shippingWeightRange` values are taken from here.\n                 */\n                weight: number;\n            };\n            /**\n             * Total number of product variants for the product.\n             */\n            type VariantSummary = {\n                /**\n                 * Total number of variants for the product.\n                 */\n                variantCount: number;\n            };\n            /**\n             * Product variants information.\n             */\n            type VariantsInfo = {\n                /**\n                 * List of related variants.\n                 */\n                variants: ProductPage.Variant[];\n            };\n            /**\n             * Weight measurement unit.\n             */\n            type WeightMeasurementUnitInfo = {\n                /**\n                 * Weight measurement unit.\n                 */\n                weightMeasurementUnit: ProductPage.WeightUnit;\n            };\n            /**\n             * Product shipping weight range.\n             */\n            type WeightRange = {\n                /**\n                 * Maximum weight across all variants associated with this product.\n                 */\n                maxValue: number;\n                /**\n                 * Minimum weight across all variants associated with this product.\n                 */\n                minValue: number;\n            };\n            /**\n             * Weight measurement unit.\n             */\n            type WeightUnit = {\n                /**\n                 * Kilograms.\n                 */\n                KG: string;\n                /**\n                 * Pounds.\n                 */\n                LB: string;\n                /**\n                 * Weight unit can't be classified due to an error.\n                 */\n                UNSPECIFIED_WEIGHT_UNIT: string;\n            };\n            /**\n             * An object representing a product's price per unit data.\n             */\n            type pricePerUnitData = {\n                /**\n                 * Product’s total weight, volume, or area. For example, if your product weighs 1 kilogram, the `totalQuantity` is `1`.\n                 */\n                totalQuantity: number;\n                /**\n                 * Total measurement unit of weight, volume, or area. For example, if your product weighs 1 kilogram, the `totalMeasurementUnit` is `\"KG\"`.\n                 *\n                 * Supported values:\n                 * `\"ML\"`, `\"CL\"`, `\"L\"`, `\"CBM\"`, `\"MG\"`, `\"G\"`, `\"KG\"`, `\"MM\"`, `\"CM\"`, `\"M\"`, `\"SQM\"`, `\"OZ\"`, `\"LB\"`, `\"FLOZ\"`, `\"PT\"`, `\"QT\"`, `\"GAL\"`, `\"IN\"`, `\"FT\"`, `\"YD\"`, `\"SQFT\"`.\n                 */\n                totalMeasurementUnit: string;\n                /**\n                 * Product’s base weight, volume, or area. For example, for a product weighing 1 kilogram, the `baseQuantity` could be `100` (grams).\n                 */\n                baseQuantity: number;\n                /**\n                 * Base measurement unit of weight, volume, or area. For example, if your product weighs 1 kilogram, and the `baseQuantity` is `100` grams, `baseMeasurementUnit` is `\"G\"`.\n                 *\n                 * Supported values:\n                 * `\"ML\"`, `\"CL\"`, `\"L\"`, `\"CBM\"`, `\"MG\"`, `\"G\"`, `\"KG\"`, `\"MM\"`, `\"CM\"`, `\"M\"`, `\"SQM\"`, `\"OZ\"`, `\"LB\"`, `\"FLOZ\"`, `\"PT\"`, `\"QT\"`, `\"GAL\"`, `\"IN\"`, `\"FT\"`, `\"YD\"`, `\"SQFT\"`.\n                 */\n                baseMeasurementUnit: string;\n            };\n            /**\n             * Handles events triggered when the **Add To Cart** button on the Product Page is clicked.\n             */\n            type addToCartEventHandler = (resume: Function, cancel: Function) => void;\n            /**\n             * Handles events triggered when the **Buy Now** button on the Product Page is clicked.\n             */\n            type buyNowEventHandler = (resume: Function, cancel: Function) => void;\n            /**\n             * Handles events triggred when a product option choice is selected.\n             */\n            type choiceSelectedEventHandler = (selectedChoices: any) => void;\n            /**\n             * Handles events triggred when a product's quantity is changed.\n             */\n            type quantityChangedEventHandler = (quantity: number) => void;\n        }\n        /**\n         * A [progress bar](https://support.wix.com/en/article/cms-adding-and-setting-up-a-progress-bar) is an element for displaying the status of an ongoing process.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ProgressBar.html#)\n         */\n        namespace ProgressBar {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Indicates to assistive technologies whether an element is currently updating or in a loading state, helping to convey the status of dynamic content to visitors. When set to `true`, this property informs assistive technologies that visitors shouldn't interact with the element until the update completes. After the update completes, set `ariaBusy` to `false` to allow assistive technologies to announce that the new content is now available.\n                 *\n                 * Default: `false`\n                 */\n                ariaBusy?: boolean;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Provides a human-readable text description for the current value of an element with a range, such as a slider or progress bar. Use this property to give meaningful context to the value, especially when the numeric value alone may not be clear or sufficient for assistive technology users.\n                 */\n                ariaValueText?: string;\n            };\n        }\n        /**\n         * Event that is fired when a quick action bar item is clicked.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.QuickActionBarItemClickedEvent.html#)\n         */\n        namespace QuickActionBarItemClickedEvent {\n            /**\n             * An object representing a quick action bar item.\n             */\n            type QuickActionBarItem = {\n                /**\n                 * The quick action bar item type.\n                 *\n                 *  One of:\n                 *\n                 *  + `\"3dots\"`\n                 *  + `\"3dotsvertical\"`\n                 *  + `\"about\"`\n                 *  + `\"add\"`\n                 *  + `\"address\"`\n                 *  + `\"arrowdown\"`\n                 *  + `\"arrowup\"`\n                 *  + `\"blog\"`\n                 *  + `\"booking\"`\n                 *  + `\"briefcase\"`\n                 *  + `\"clock\"`\n                 *  + `\"clothes\"`\n                 *  + `\"cloud\"`\n                 *  + `\"contactform\"`\n                 *  + `\"creditcard\"`\n                 *  + `\"crown\"`\n                 *  + `\"currency\"`\n                 *  + `\"earth\"`\n                 *  + `\"ecom\"`\n                 *  + `\"email\"`\n                 *  + `\"facebook\"`\n                 *  + `\"flag\"`\n                 *  + `\"flickr\"`\n                 *  + `\"freebutton\"`\n                 *  + `\"gallery\"`\n                 *  + `\"googleplus\"`\n                 *  + `\"hamburgermenu\"`\n                 *  + `\"heart\"`\n                 *  + `\"home\"`\n                 *  + `\"hot\"`\n                 *  + `\"hotel\"`\n                 *  + `\"hotsale\"`\n                 *  + `\"icecream\"`\n                 *  + `\"instagram\"`\n                 *  + `\"lightning\"`\n                 *  + `\"link\"`\n                 *  + `\"linkedin\"`\n                 *  + `\"music\"`\n                 *  + `\"new\"`\n                 *  + `\"page\"`\n                 *  + `\"phone\"`\n                 *  + `\"pinterest\"`\n                 *  + `\"present\"`\n                 *  + `\"register\"`\n                 *  + `\"restaurant\"`\n                 *  + `\"rocket\"`\n                 *  + `\"sale\"`\n                 *  + `\"search\"`\n                 *  + `\"shoppingcart\"`\n                 *  + `\"signup\"`\n                 *  + `\"smile\"`\n                 *  + `\"social\"`\n                 *  + `\"speaker\"`\n                 *  + `\"star\"`\n                 *  + `\"ticket\"`\n                 *  + `\"twitter\"`\n                 *  + `\"vimeo\"`\n                 *  + `\"vk\"`\n                 *  + `\"yelp\"`\n                 *  + `\"youtube\"`\n                 */\n                itemType: string;\n                /**\n                 * The quick action bar item label.\n                 */\n                label: string;\n                /**\n                 * The quick action bar item link.\n                 */\n                link: string;\n            };\n        }\n        /**\n         * [Radio button groups](https://support.wix.com/en/article/content-manager-adding-and-setting-up-radio-buttons) are used for selecting one of a number of\n         *  options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RadioButtonGroup.html#)\n         */\n        namespace RadioButtonGroup {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n            /**\n             * An object used by the `options` property that contains the attributes of a radio button item.\n             */\n            type Option = {\n                /**\n                 * The value of the radio button option. This is what you use in code and is what is stored in your collections. Mandatory if `label` is not specified.\n                 */\n                value?: string;\n                /**\n                 * The label of the radio button option. This is what a user sees. Mandatory if `value` is not specified.\n                 */\n                label?: string;\n            };\n        }\n        /**\n         * [Range sliders](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-range-slider)\n         * allow site visitors to select a range of values within a given range.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RangeSlider.html#)\n         */\n        namespace RangeSlider {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n        }\n        /**\n         * A [ratings display](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-ratings-display-element)\n         * element allows you to display a value to your users\n         *  using icons.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsDisplay.html#)\n         */\n        namespace RatingsDisplay {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n        }\n        /**\n         * A [ratings input](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-ratings-input-element)\n         *  element allows you to capture a value from your users\n         *  using icons.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RatingsInput.html#)\n         */\n        namespace RatingsInput {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n            /**\n             * Function that runs when custom validation is checked.\n             */\n            type RatingsInputValidator = (value: number, reject: Function) => void;\n        }\n        /**\n         * A [rich text box](https://support.wix.com/article/content-manager-adding-and-setting-up-a-text-input)\n         * is an input element for entering information in rich text format. It shouldn't be confused with the [Rich Content Viewer](https://dev.wix.com/docs/velo/velo-only-apis/$w/rich-content-viewer/introduction), which provides access to a rich content field in a collection and can include various media types.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.RichTextBox.html#)\n         */\n        namespace RichTextBox {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n        }\n        /**\n         * A button used to initiate a site [search](https://support.wix.com/en/article/about-wix-site-search).\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.SearchButton.html#)\n         */\n        namespace SearchButton {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(“#myElement”).accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(“#myElement”).accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Indicates to assistive technology users whether the element is currently expanded or collapsed. `ariaExpanded` helps screen readers understand when content is displayed or hidden as a result of user interaction on your site. If `ariaExpanded` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies.\n                 */\n                ariaExpanded?: boolean;\n                /**\n                 * Indicates to assistive technology users whether the element is currently pressed. `ariaPressed` is only relevant for buttons that act as toggles or have a pressed/unpressed state. If `ariaPressed` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaPressed?: string;\n                /**\n                 * Indicates to assistive technology users whether an element triggers an interactive popup such as a menu or dropdown. If `ariaHasPopup` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaHasPopup?: string;\n            };\n        }\n        /**\n         * [Selection tags](https://support.wix.com/en/article/adding-and-setting-up-selection-tags) are used for selecting one or more options.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.SelectionTags.html#)\n         */\n        namespace SelectionTags {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n            /**\n             * An object used by the [`options`](#options) property that contains the attributes of the selection tag item.\n             */\n            type Option = {\n                /**\n                 * The value of the selection tag option. This is what you use in code and is what is stored in your collections.\n                 */\n                value: string;\n                /**\n                 * The label of the selection tag option. This is what a site visitor sees.\n                 */\n                label: string;\n            };\n            /**\n             * Function that runs when custom validation is checked.\n             */\n            type SelectionTagsValidator = (value: string[], reject: Function) => void;\n        }\n        /**\n         * [Signature input](https://support.wix.com/en/article/wix-forms-adding-a-signature-field) lets site visitors enter signatures.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.SignatureInput.html#)\n         */\n        namespace SignatureInput {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n            /**\n             * Function that runs when custom validation is checked.\n             */\n            type SignatureInputValidator = (value: string, reject: Function) => void;\n        }\n        /**\n         * [Sliders](https://support.wix.com/en/article/adding-and-setting-up-a-slider) allow users to select a number from a given range.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Slider.html#)\n         */\n        namespace Slider {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes).\n                 */\n                lang?: string;\n            };\n        }\n        /**\n         * [Slideshows](https://support.wix.com/en/article/wix-editor-adding-and-setting-up-a-slideshow) are playable containers for slides.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Slideshow.html#)\n         */\n        namespace Slideshow {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes).\n                 */\n                lang?: string;\n            };\n        }\n        /**\n         * [Switches](https://support.wix.com/en/article/adding-and-setting-up-a-switch-element) are used for a single binary choice.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Switch.html#)\n         */\n        namespace Switch {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n        }\n        /**\n         * A [table](https://support.wix.com/en/article/content-manager-displaying-collection-content-in-a-table) for displaying data.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Table.html#)\n         */\n        namespace Table {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n            };\n            /**\n             * An object used by the `columns` property that\n             *  contains the properties that define a table column. Table columns do not\n             *  store any data.\n             */\n            type Column = {\n                /**\n                 * The column ID.\n                 */\n                id: string;\n                /**\n                 * The location of the data displayed\n                 *  in the column.\n                 *\n                 *  When the table is populated by a connection to a dataset, the `dataPath`\n                 *  value is a field ID from the collection that the dataset is connected to. The\n                 *  `dataPath` can contain a [reference field](https://support.wix.com/en/article/about-reference-fields-in-database-collections)\n                 *  by prefixing the field with the referenced collection name and a period. For example,\n                 *  `\"dataPath\": \"writer.name\"`.\n                 *\n                 *  When the table is populated by using the [`rows`](#rows) or\n                 *  [`dataFetcher`](#dataFetcher) properties, the `dataPath` value is one of the\n                 *  property keys from the table's row objects.\n                 */\n                dataPath: string;\n                /**\n                 * The column header label.\n                 */\n                label: string;\n                /**\n                 * The type of data in this column: `\"number\"`, `\"string\"`, `\"date\"`, `\"image\"`, `\"bool\"`, or `\"richText\"`.\n                 */\n                type: string;\n                /**\n                 * The pixel width of the column.\n                 */\n                width?: number;\n                /**\n                 * Whether the column is visible.\n                 */\n                visible?: boolean;\n                /**\n                 * The location of the links used when\n                 *  the items in the column are clicked.\n                 *\n                 *  When the table is populated by a connection to a dataset, the `linkPath`\n                 *  value is a field ID from the collection that the dataset is connected to.\n                 *  The collection field can be a [regular field](https://support.wix.com/en/article/about-database-collections#regular-fields)\n                 *  that contains URLs, a [calculated field](https://support.wix.com/en/article/about-database-collections#calculated-fields), or a [reference field](https://support.wix.com/en/article/about-reference-fields-in-database-collections)\n                 *  that contains relative links to dynamic pages.\n                 *\n                 *  When the table is populated by using the [`rows`](#rows) or\n                 *  [`dataFetcher`](#dataFetcher) properties, the `linkPath` value is one of the\n                 *  property keys from the table's rows objects.\n                 *  The property values associated with that key contain URLs or relative links.\n                 */\n                linkPath?: string;\n            };\n            /**\n             * An object used by the `pagination` property that\n             * contains the pagination options which determine if and how the table\n             * is paginated.\n             */\n            type PaginationOptions = {\n                /**\n                 * The type of pagination.\n                 *  One of:\n                 *\n                 *  + `\"normal\"`: No pagination. The table is scrollable if there are more\n                 *    rows than can be displayed at once. All data is fetched at once.\n                 *  + `\"pagination\"`: The data is separated into pages which are navigatable\n                 *    using paging buttons. New data is fetched when a user clicks on a\n                 *    paging button.\n                 *  + `\"virtual\"`: The data is separated into pages which are navigated by\n                 *    scrolling. New data is fetched when user a user scrolls below the\n                 *    displayed rows.\n                 */\n                type: string;\n                /**\n                 * The number of rows per page.\n                 */\n                rowsPerPage: number;\n            };\n        }\n        /**\n         * A [tabs](https://support.wix.com/en/article/wix-editor-about-tabs) element is a container that holds multiple\n         * [tabs]($w.Tab.html), displaying one at a time.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Tabs.html#)\n         */\n        namespace Tabs {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n            };\n        }\n        /**\n         * [Text](https://support.wix.com/en/article/wix-editor-adding-and-editing-text) provides functionality for text elements.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.Text.html#)\n         */\n        namespace Text {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Defines the role of the element, helping assistive technologies understand the element's purpose and how it should be interacted with. When set to `undefined` or `null`, the role is removed from the element and isn't read by assistive technologies. Learn more about [ARIA roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles).\n                 *\n                 * Supported values: `'alert'`, `'application'`, `'button'`, `'checkbox'`, `'complementary'`, `'group'`, `'heading'`, `'link'`, `'list'`, `'listBox'`, `'listItem'`, `'navigation'`, `'none'`, `'option'`, `'radio'`, `'radioGroup'`, `'range'`, `'region'`, `'tab'`, `'tabList'`, `'tabPanel'`, `'status'`, `null`, `undefined`.\n                 *\n                 * Default: `undefined`\n                 */\n                role?: string;\n                /**\n                 * Indicates whether the element is visible to or hidden from site visitors who rely on assistive technologies. Use `ariaHidden` to hide decorative, redundant, or off-screen content from screen readers. When `true`, the element is hidden from assistive technologies but remains visible in the DOM. When `false`, the element is exposed to assistive technologies. If `ariaHidden` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaHidden?: boolean;\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Adds extra text before or after a text element for screen readers and other assistive technologies. This property helps provide extra context to text elements on a site page. The added text doesn't affect a site visually but is read aloud by screen readers for those who rely on assistive technology. For example, you can add the prefix \"bold text\" to a bold text element because screen readers don't effectively communicate text styles such as bold, italicize, and strikethrough.\n                 */\n                screenReader?: Text.ScreenReader;\n                /**\n                 * Specifies how assistive technologies communicate updates made to an element's content. When set to `false`, assistive technologies announce only the updated content according to the value of `ariaRelevant`. When set to `true`, assistive technologies announce all content in the element, regardless of the `ariaRelevant` property. For example, if a container's content changes and `ariaAtomic` is `true`, assistive technologies announce all contents of the container, providing visitors with complete context for the update. This property only works when the element or one of its ancestors has `ariaLive` enabled.\n                 *\n                 * Default: `false`\n                 */\n                ariaAtomic?: boolean;\n                /**\n                 * Indicates to assistive technologies whether an element is currently updating or in a loading state, helping to convey the status of dynamic content to visitors. When set to `true`, this property informs assistive technologies that visitors shouldn't interact with the element until the update completes. After the update completes, set `ariaBusy` to `false` to allow assistive technologies to announce that the new content is now available.\n                 *\n                 * Default: `false`\n                 */\n                ariaBusy?: boolean;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Specifies which types of dynamic content updates are communicated to visitors by assistive technologies. This property helps minimize unnecessary announcements by ensuring that only relevant changes are reported. It's only effective when set on an element, or its parent, that also has `ariaLive` enabled.\n                 *\n                 * Supported values:\n                 * - `'additions'`: Assistive technologies announce only newly added content.\n                 * - `'removals'`: Assistive technologies announce only removed content.\n                 * - `'text'`: Assistive technologies announce only changes to existing text content.\n                 * - `'all'`: Assistive technologies announce all types of updates, including additions, removals, and text changes.\n                 *\n                 * Default: `'additions'`\n                 */\n                ariaRelevant?: string;\n                /**\n                 * Defines a more specific description to help clarify the `role` of an element. This property is useful for non-interactive container element roles, such as `\"region\"` or `\"group\"`, and for enhancing the context of interactive elements like buttons. Use `ariaRoleDescription` carefully, as improper use can confuse visitors and affect their understanding of the element's purpose.\n                 */\n                ariaRoleDescription?: string;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n            /**\n             * Adds hidden text before or after a text element using the `screenReader.prefix` and `screenReader.suffix` properties. This helps screen readers better understand the content of your text element. For example, screen readers don't effectively communicate text styles such as strikethrough. Use `screenReader` to provide context for the styled text.\n             */\n            type ScreenReader = {\n                /**\n                 * Extra text added before a text element.\n                 *\n                 * Max: 1000 characters\n                 */\n                prefix?: string;\n                /**\n                 * Extra text added after a text element.\n                 *\n                 * Max: 1000 characters\n                 */\n                suffix?: string;\n            };\n        }\n        /**\n         * [Text box](https://support.wix.com/en/article/wix-editor-adding-and-editing-text) is an input element for capturing large amounts of text.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextBox.html#)\n         */\n        namespace TextBox {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Indicates to assistive technology users whether an element's input value is invalid or if a required input field is empty. When `true`, assistive technologies alert site visitors that the element's input value doesn't meet the expected criteria or that the required field is empty. When `false`, the value entered is valid or the field isn't required. This helps assistive technology users identify and correct errors in form submissions.\n                 */\n                ariaInvalid?: boolean;\n                /**\n                 * Indicates to assistive technology users whether an input element has a required field or action. If `ariaRequired` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all. The `ariaRequired` property doesn't inform assistive technologies if the required input value is valid.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaRequired?: string;\n                /**\n                 * Specifies how assistive technologies communicate updates made to an element's content. When set to `false`, assistive technologies announce only the updated content according to the value of `ariaRelevant`. When set to `true`, assistive technologies announce all content in the element, regardless of the `ariaRelevant` property. For example, if a container's content changes and `ariaAtomic` is `true`, assistive technologies announce all contents of the container, providing visitors with complete context for the update. This property only works when the element or one of its ancestors has `ariaLive` enabled.\n                 *\n                 * Default: `false`\n                 */\n                ariaAtomic?: boolean;\n                /**\n                 * Identifies the element that is controlled by visitor interactions with this element. This property helps assistive technologies convey which elements are affected by the controlling element. For example, a button element that opens a popup window when clicked controls the popup element.\n                 */\n                ariaControls?: Element;\n                /**\n                 * Sets or gets the error message of an input element by referencing another element by ID. This property informs those using assistive technologies about validation issues. Use `ariaErrorMessage` in conjunction with `ariaInvalid` to indicate that the input is invalid and to provide context for the error.\n                 *\n                 * Example: `$w(\"#myInputElement\").accessibility.ariaErrorMessage = $w(\"#inputErrorText\");`\n                 */\n                ariaErrorMessage?: Text | CollapsibleText;\n                /**\n                 * Indicates to assistive technology users whether an element triggers an interactive popup such as a menu or dropdown. If `ariaHasPopup` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaHasPopup?: string;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Identifies the element that this element logically owns, even if it isn't nested within the owning element in the page's layout. This property allows assistive technologies convey relationships between elements regardless of their layout. For example, a text input element can own a helper text element that provides additional information, even if the helper text appears elsewhere in the layout.\n                 */\n                ariaOwns?: Element;\n                /**\n                 * Specifies which types of dynamic content updates are communicated to visitors by assistive technologies. This property helps minimize unnecessary announcements by ensuring that only relevant changes are reported. It's only effective when set on an element, or its parent, that also has `ariaLive` enabled.\n                 *\n                 * Supported values:\n                 * - `'additions'`: Assistive technologies announce only newly added content.\n                 * - `'removals'`: Assistive technologies announce only removed content.\n                 * - `'text'`: Assistive technologies announce only changes to existing text content.\n                 * - `'all'`: Assistive technologies announce all types of updates, including additions, removals, and text changes.\n                 *\n                 * Default: `'additions'`\n                 */\n                ariaRelevant?: string;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n            };\n        }\n        /**\n         * [Text input](https://support.wix.com/en/article/content-manager-adding-and-setting-up-a-text-input) is an element for capturing small amounts of text.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextInput.html#)\n         */\n        namespace TextInput {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n                /**\n                 * Sets or gets the accessible name or contextual label of an element by referencing another element by ID. `ariaLabelledBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. When an element's accessible name is set using `ariaLabelledBy`, it takes precedence over any label set using the `ariaLabel` property. Make sure that any element referenced by `ariaLabelledBy` is present in the DOM to avoid errors and confusion for assistive technology users.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaLabelledBy = $w(\"#text1\");`\n                 */\n                ariaLabelledBy?: Text | CollapsibleText;\n                /**\n                 * Sets or gets the contextual description of an element by referencing another element by ID. `ariaDescribedBy` can reference either a single text element or a collapsible text element. Both visible and non-visible text elements can be referenced. The contextual description can include descriptive text, instructions, or error messages that give more context to the element's label.\n                 *\n                 * Example: `$w(\"#myElement\").accessibility.ariaDescribedBy = $w(\"#text1\");`\n                 */\n                ariaDescribedBy?: Text | CollapsibleText;\n                /**\n                 * Indicates to assistive technology users whether the element is currently expanded or collapsed. `ariaExpanded` helps screen readers understand when content is displayed or hidden as a result of site visitor interaction on a site. If `ariaExpanded` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaExpanded?: boolean;\n                /**\n                 * Indicates to assistive technology users whether an element's input value is invalid or if a required input field is empty. When `true`, assistive technologies alert site visitors that the element's input value doesn't meet the expected criteria or that the required field is empty. When `false`, the value entered is valid or the field isn't required. This helps assistive technology users identify and correct errors in form submissions.\n                 */\n                ariaInvalid?: boolean;\n                /**\n                 * Indicates to assistive technology users whether an element triggers an interactive popup such as a menu or dropdown. If `ariaHasPopup` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaHasPopup?: string;\n                /**\n                 * Indicates to assistive technology users whether an input element has a required field or action. If `ariaRequired` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all. The `ariaRequired` property doesn't inform assistive technologies if the required input value is valid.\n                 *\n                 * Supported values: `'true'`, `'false'`\n                 */\n                ariaRequired?: string;\n                /**\n                 * Specifies the language of the element's content, enhancing pronunciation accuracy for screen readers and other assistive technologies.\n                 *\n                 * Setting the `lang` property improves multilingual support by ensuring that assistive technologies apply the correct linguistic rules and speech patterns. It also enables search engines to index the element's content accurately, resulting in better visibility and relevance in search results for better SEO optimization.\n                 *\n                 * The `lang` property's value must be a 2-letter language code in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). For example, `\"en\"` for english.\n                 */\n                lang?: string;\n                /**\n                 * Indicates to assistive technologies whether an element is currently updating or in a loading state, helping to convey the status of dynamic content to visitors. When set to `true`, this property informs assistive technologies that visitors shouldn't interact with the element until the update completes. After the update completes, set `ariaBusy` to `false` to allow assistive technologies to announce that the new content is now available.\n                 *\n                 * Default: `false`\n                 */\n                ariaBusy?: boolean;\n                /**\n                 * Sets or gets the error message of an input element by referencing another element by ID. This property informs those using assistive technologies about validation issues. Use `ariaErrorMessage` in conjunction with `ariaInvalid` to indicate that the input is invalid and to provide context for the error.\n                 *\n                 * Example: `$w(\"#myInputElement\").accessibility.ariaErrorMessage = $w(\"#inputErrorText\");`\n                 */\n                ariaErrorMessage?: Text | CollapsibleText;\n                /**\n                 * Sets or gets how to announce changes to an element for site visitors who rely on screen readers. This property allows you to manage the timing and urgency of notifications regarding updates, status changes, or errors for an element.\n                 *\n                 * Use `ariaLive` only when necessary, as excessive or unnecessary announcements can lead to confusion or overload for screen reader users.\n                 * If you don't set a value, the property defaults to the value set in the accessibility panel in the editor, or is otherwise `'off'`.\n                 *\n                 * Supported values:\n                 * - `'polite'`: Updates are announced at the next available opportunity without interrupting the current speech of the screen reader. Useful for non-urgent notifications or messages.\n                 * - `'assertive'`: Updates are announced immediately, interrupting any ongoing speech. Intended for urgent and critical alerts.\n                 * - `'off'`: No live announcements are made when the content of the element changes.\n                 */\n                ariaLive?: string;\n                /**\n                 * Identifies the element that this element logically owns, even if it isn't nested within the owning element in the page's layout. This property allows assistive technologies convey relationships between elements regardless of their layout. For example, a text input element can own a helper text element that provides additional information, even if the helper text appears elsewhere in the layout.\n                 */\n                ariaOwns?: Element;\n                /**\n                 * Specifies which types of dynamic content updates are communicated to visitors by assistive technologies. This property helps minimize unnecessary announcements by ensuring that only relevant changes are reported. It's only effective when set on an element, or its parent, that also has `ariaLive` enabled.\n                 *\n                 * Supported values:\n                 * - `'additions'`: Assistive technologies announce only newly added content.\n                 * - `'removals'`: Assistive technologies announce only removed content.\n                 * - `'text'`: Assistive technologies announce only changes to existing text content.\n                 * - `'all'`: Assistive technologies announce all types of updates, including additions, removals, and text changes.\n                 *\n                 * Default: `'additions'`\n                 */\n                ariaRelevant?: string;\n            };\n        }\n        /**\n         * The TextMarquee element displays a line of text that moves horizontally.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextMarquee.html#)\n         */\n        namespace TextMarquee {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Indicates whether the element is visible to or hidden from site visitors who rely on assistive technologies. Use `ariaHidden` to hide decorative, redundant, or off-screen content from screen readers. When `true`, the element is hidden from assistive technologies but remains visible in the DOM. When `false`, the element is exposed to assistive technologies. If `ariaHidden` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaHidden?: boolean;\n                /**\n                 * Adds extra text before or after a text element for screen readers and other assistive technologies. This property helps provide extra context to text elements on a site page. The added text doesn't affect a site visually but is read aloud by screen readers for those who rely on assistive technology. For example, you can add the prefix \"bold text\" to a bold text element because screen readers don't effectively communicate text styles such as bold, italicize, and strikethrough.\n                 */\n                screenReader?: TextMarquee.ScreenReader;\n            };\n            /**\n             * Adds hidden text before or after a text element using the `screenReader.prefix` and `screenReader.suffix` properties. This helps screen readers better understand the content of your text element. For example, screen readers don't effectively communicate text styles such as bold and strikethrough. Use `screenReader` to provide context for the styled text.\n             */\n            type ScreenReader = {\n                /**\n                 * Extra text added before a text element.\n                 *\n                 * Max: 1000 characters\n                 */\n                prefix?: string;\n                /**\n                 * Extra text added after a text element.\n                 *\n                 * Max: 1000 characters\n                 */\n                suffix?: string;\n            };\n        }\n        /**\n         * The TextMask element is used for masking media inside text.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TextMask.html#)\n         */\n        namespace TextMask {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Indicates whether the element is visible to or hidden from site visitors who rely on assistive technologies. Use `ariaHidden` to hide decorative, redundant, or off-screen content from screen readers. When `true`, the element is hidden from assistive technologies but remains visible in the DOM. When `false`, the element is exposed to assistive technologies. If `ariaHidden` isn't explicitly set, the default is `undefined` and the property isn't read by assistive technologies at all.\n                 */\n                ariaHidden?: boolean;\n                /**\n                 * Adds extra text before or after a text element for screen readers and other assistive technologies. This property helps provide extra context to text elements on a site page. The added text doesn't affect a site visually but is read aloud by screen readers for those who rely on assistive technology. For example, you can add the prefix \"bold text\" to a bold text element because screen readers don't effectively communicate text styles such as bold, italicize, and strikethrough.\n                 */\n                screenReader?: TextMask.ScreenReader;\n            };\n            /**\n             * Adds hidden text before or after a text element using the `screenReader.prefix` and `screenReader.suffix` properties. This helps screen readers better understand the content of your text element. For example, screen readers don't effectively communicate text styles such as bold and strikethrough. Use `screenReader` to provide context for the styled text.\n             */\n            type ScreenReader = {\n                /**\n                 * Extra text added before a text element.\n                 *\n                 * Max: 1000 characters\n                 */\n                prefix?: string;\n                /**\n                 * Extra text added after a text element.\n                 *\n                 * Max: 1000 characters\n                 */\n                suffix?: string;\n            };\n        }\n        /**\n         * A thank you page displayed when an order is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ThankYouPage.html#)\n         */\n        namespace ThankYouPage {\n            /**\n             * An object representing address information.\n             */\n            type Address = {\n                /**\n                 * Address in readable format.\n                 */\n                formatted: string;\n                /**\n                 * City.\n                 */\n                city?: string;\n                /**\n                 * Country.\n                 */\n                country?: string;\n                /**\n                 * Main address information.\n                 */\n                addressLine?: string;\n                /**\n                 * Additional address information (apt, floor, etc.).\n                 */\n                addressLine2?: string;\n                /**\n                 * Alternative property for street name and number.\n                 */\n                streetAddress?: ThankYouPage.StreetAddress;\n                /**\n                 * Postal/zip code.\n                 */\n                postalCode?: string;\n                /**\n                 * Subdivision of a country, such as a state or province.\n                 */\n                subdivision?: string;\n            };\n            /**\n             * An object representing a coupon applied to the order.\n             */\n            type AppliedCoupon = {\n                /**\n                 * Coupon ID.\n                 */\n                couponId: string;\n                /**\n                 * Coupon name.\n                 */\n                name: string;\n                /**\n                 * Coupon code.\n                 */\n                code: string;\n            };\n            /**\n             * An object representing an order's billing info.\n             */\n            type BillingInfo = {\n                /**\n                 * Billing address.\n                 */\n                address?: ThankYouPage.Address;\n                /**\n                 * Last name.\n                 */\n                lastName?: string;\n                /**\n                 * First name.\n                 */\n                firstName?: string;\n                /**\n                 * Email address.\n                 */\n                email?: string;\n                /**\n                 * Phone number.\n                 */\n                phone?: string;\n                /**\n                 * Company name.\n                 */\n                company?: string;\n                /**\n                 * VAT information.\n                 */\n                vatId?: ThankYouPage.VatId;\n            };\n            /**\n             * An object representing information about the buyer.\n             */\n            type BuyerInfo = {\n                /**\n                 * Unique buyer's ID.\n                 */\n                id: string;\n                /**\n                 * Buyer's email address.\n                 */\n                email: string;\n                /**\n                 * Buyer's first name.\n                 */\n                firstName: string;\n                /**\n                 * Buyer's last name.\n                 */\n                lastName: string;\n                /**\n                 * Buyer's identity.\n                 * One of:\n                 *\n                 *\n                 *  - `\"MEMBER\"`: A logged-in site member.\n                 *  - `\"CONTACT\"`: A Wix contact.\n                 */\n                identityType: string;\n                /**\n                 * Buyer's phone number.\n                 */\n                phone?: string;\n            };\n            /**\n             * An object representing information about the sales channel that submitted this order.\n             */\n            type ChannelInfo = {\n                /**\n                 * Order ID from an external system (e.g., eBay or Amazon).\n                 */\n                externalOrderId?: string;\n                /**\n                 * URL to the order in the external system (e.g., eBay or Amazon).\n                 */\n                externalOrderUrl?: string;\n                /**\n                 * Sales channel that submitted the order.\n                 * One of:\n                 *\n                 *\n                 *  + `\"WEB\"`: Wix online store.\n                 *  + `\"POS\"`: Point of sale.\n                 *  + `\"EBAY\"`: eBay.\n                 *  + `\"OTHER_PLATFORM\"`: Order imported from another system (e.g., Cart2Cart).\n                 *  + `\"WIX_APP_STORE\"`: Order created via the Wix mobile app.\n                 */\n                type: string;\n            };\n            /**\n             * An object representing a custom field added by the customer during the checkout process.\n             */\n            type CustomField = {\n                /**\n                 * Custom field's title.\n                 */\n                title: string;\n                /**\n                 * Title translated into the buyer's language.\n                 */\n                translatedTitle: string;\n                /**\n                 * Custom field's text.\n                 */\n                value: string;\n            };\n            /**\n             * An object representing a custom text field.\n             */\n            type CustomTextField = {\n                /**\n                 * Field title.\n                 */\n                title: string;\n                /**\n                 * Field value.\n                 */\n                value: string;\n            };\n            /**\n             * An object representing a discount applied to the order.\n             */\n            type Discount = {\n                appliedCoupon: ThankYouPage.AppliedCoupon;\n            };\n            /**\n             * An object representing information about the identity of the order initiator.\n             * Occasionally, the person that completes the order isn't the buyer. For example, this occurs when an order is created using a point of sale terminal.\n             */\n            type EnteredBy = {\n                id: string;\n                /**\n                 * Order was created by one of the following:\n                 *\n                 *\n                 *   + `\"USER\"`: Wix user who performed a POS transaction on behalf of the buyer.\n                 *   + `\"MEMBER\"`: Logged-in site member.\n                 *   + `\"CONTACT\"`: A Wix contact.\n                 */\n                identityType: string;\n            };\n            /**\n             * An object representing an line item's price information.\n             */\n            type LineItemPriceData = {\n                /**\n                 * Price of the item.\n                 */\n                price: number;\n                /**\n                 * Total price charged to the customer (per line item) after calculation of quantity and discount.\n                 */\n                totalPrice: number;\n                /**\n                 * Whether the price includes tax.\n                 */\n                taxIncludedInPrice: boolean;\n            };\n            /**\n             * An object representing a line item's primary media item.\n             */\n            type MediaItem = {\n                /**\n                 * Image description for accessibility purposes.\n                 */\n                altText?: string;\n                /**\n                 * Unique media item ID.\n                 */\n                id: string;\n                /**\n                 * Media item external URL.\n                 */\n                externalImageUrl?: string;\n                /**\n                 * Media item source URL for media uploaded to Wix.\n                 */\n                src: string;\n                /**\n                 * Media item width.\n                 *  One of:\n                 *\n                 *\n                 *  - `\"IMAGE\"`: Image item.\n                 *  - `\"UNSPECIFIED_MEDIA_TYPE_ITEM\"`: Media item type can't be classified due to an error.\n                 */\n                type: string;\n            };\n            /**\n             * An object representing a line item option.\n             */\n            type Option = {\n                /**\n                 * Name of the product option.\n                 */\n                option: string;\n                /**\n                 * Selected option.\n                 */\n                selection: string;\n            };\n            /**\n             * An object representing an order.\n             */\n            type Order = {\n                /**\n                 * Unique order ID.\n                 */\n                _id: string;\n                /**\n                 * Date and time the order was updated.\n                 */\n                _updatedDate: Date;\n                /**\n                 * The site's displayed language.\n                 */\n                buyerLanguage: string;\n                /**\n                 * The shopping cart's unique ID.\n                 */\n                cartId?: string;\n                /**\n                 * Channel information.\n                 */\n                channelInfo: ThankYouPage.ChannelInfo;\n                /**\n                 * Identity of the order's operator.\n                 */\n                enteredBy: ThankYouPage.EnteredBy;\n                /**\n                 * Billing information.\n                 */\n                billingInfo?: ThankYouPage.BillingInfo;\n                /**\n                 * Buyer information.\n                 */\n                buyerInfo: ThankYouPage.BuyerInfo;\n                /**\n                 * A note added by the buyer.\n                 */\n                buyerNote?: string;\n                /**\n                 * Date and time the order was created.\n                 */\n                _dateCreated: Date;\n                /**\n                 * Order currency.\n                 */\n                currency: string;\n                /**\n                 * Running order number.\n                 */\n                number: number;\n                /**\n                 * Shipping information.\n                 */\n                shippingInfo?: ThankYouPage.OrderShippingInfo;\n                /**\n                 * Order items.\n                 */\n                lineItems: ThankYouPage.OrderLineItem[];\n                /**\n                 * Order totals.\n                 */\n                totals: ThankYouPage.Totals;\n                /**\n                 * The unit in which the order's weight is measured. Either `\"KG\"` or `\"LB\"`.\n                 */\n                weightUnit: string;\n                /**\n                 * Information about a custom field.\n                 */\n                customField?: ThankYouPage.CustomField;\n                /**\n                 * Discount information.\n                 */\n                discount?: ThankYouPage.Discount;\n            };\n            /**\n             * An object representing a line item in an order.\n             */\n            type OrderLineItem = {\n                /**\n                 * Custom text.\n                 */\n                customTextFields?: ThankYouPage.CustomTextField[];\n                /**\n                 * Line item product ID.\n                 */\n                productId?: string;\n                /**\n                 * Type of the line item.\n                 *  One of:\n                 *\n                 *\n                 *  - `\"DIGITAL\"`: Digital item.\n                 *  - `\"PHYSICAL\"`: Physical item.\n                 *  - `\"CUSTOM_AMOUNT_ITEM\"`: Item with a custom price.\n                 */\n                lineItemType?: string;\n                /**\n                 * Information about the line item's primary media item.\n                 */\n                mediaItem: ThankYouPage.MediaItem;\n                /**\n                 * Name of the line item.\n                 */\n                name: string;\n                /**\n                 * Notes about the line item.\n                 */\n                notes?: string;\n                /**\n                 * Line item options.\n                 */\n                options: ThankYouPage.Option[];\n                /**\n                 * Deprecated: see priceData.\n                 */\n                price: number;\n                /**\n                 * Line item quantity.\n                 */\n                quantity: number;\n                /**\n                 * Line item stock keeping unit.\n                 */\n                sku: string;\n                /**\n                 * Deprecated: see priceData.\n                 */\n                totalPrice: number;\n                /**\n                 * Line item weight.\n                 */\n                weight: number;\n                /**\n                 * Line item index.\n                 */\n                index: number;\n                /**\n                 * Line item's name, translated into the customer's language.\n                 */\n                translatedName: string;\n                /**\n                 * Line item's discount amount.\n                 */\n                discount?: number;\n                /**\n                 * Line item's total amount of tax applied.\n                 */\n                tax?: number;\n                /**\n                 * Price information.\n                 */\n                priceData?: ThankYouPage.LineItemPriceData;\n                /**\n                 * Tax group ID.\n                 */\n                taxGroupId?: string;\n                /**\n                 * Line item's fulfiller ID.\n                 */\n                fulfillerId: string;\n                /**\n                 * Line item's variant ID.\n                 */\n                variantId: string;\n            };\n            /**\n             * An object representing an order's shipping information.\n             */\n            type OrderShippingInfo = {\n                /**\n                 * Expected date of delivery.\n                 */\n                deliverByDate?: Date;\n                /**\n                 * Delivery option name.\n                 */\n                deliveryOption: string;\n                /**\n                 * Estimated time until delivery.\n                 */\n                estimatedDeliveryTime?: string;\n                /**\n                 * Shipment details (empty if order was designated for pickup).\n                 */\n                shipmentDetails?: ThankYouPage.ShipmentDetails;\n                /**\n                 * Pickup details (empty if order was designated for delivery).\n                 */\n                pickupDetails?: ThankYouPage.PickupDetails;\n                /**\n                 * Shipping region.\n                 */\n                shippingRegion?: string;\n            };\n            /**\n             * An object representing an order's pickup details.\n             */\n            type PickupDetails = {\n                /**\n                 * Pickup instructions.\n                 */\n                pickupInstructions?: string;\n                /**\n                 * Pickup address.\n                 */\n                pickupAddress?: ThankYouPage.Address;\n                /**\n                 * First name.\n                 */\n                firstName?: string;\n                /**\n                 * Last name.\n                 */\n                lastName?: string;\n                /**\n                 * Email address.\n                 */\n                email?: string;\n                /**\n                 * Phone number.\n                 */\n                phone?: string;\n            };\n            /**\n             * An object representing an order's shipping details.\n             */\n            type ShipmentDetails = {\n                /**\n                 * Shipping address.\n                 */\n                address?: ThankYouPage.Address;\n                /**\n                 * Last name.\n                 */\n                lastName?: string;\n                /**\n                 * First name.\n                 */\n                firstName?: string;\n                /**\n                 * Email address.\n                 */\n                email?: string;\n                /**\n                 * Phone number.\n                 */\n                phone?: string;\n                /**\n                 * Company name.\n                 */\n                company?: string;\n                /**\n                 * VAT information.\n                 */\n                vatId?: ThankYouPage.VatId;\n                /**\n                 * Deprecated: see priceData.\n                 */\n                tax?: number;\n                /**\n                 * Deprecated: see priceData.\n                 */\n                discount?: number;\n                /**\n                 * Shipment price information.\n                 */\n                priceData?: ThankYouPage.ShipmentPriceData;\n            };\n            /**\n             * An object representing shipment price information.\n             */\n            type ShipmentPriceData = {\n                /**\n                 * Price of the item.\n                 */\n                price: number;\n                /**\n                 * Whether the price includes tax.\n                 */\n                taxIncludedInPrice: boolean;\n            };\n            /**\n             * An object representing information about the street name and street number of an address.\n             */\n            type StreetAddress = {\n                /**\n                 * Address street name.\n                 */\n                name: string;\n                /**\n                 * Address street number.\n                 */\n                number: string;\n            };\n            /**\n             * An object representing an order's totals.\n             */\n            type Totals = {\n                /**\n                 * Total calculated discount amount.\n                 */\n                discount?: number;\n                /**\n                 * Total quantity of the the order's line items.\n                 */\n                quantity: number;\n                /**\n                 * Total shipping price, including tax.\n                 */\n                shipping?: number;\n                /**\n                 * Subtotal of all the order's line items, excluding tax.\n                 */\n                subtotal: number;\n                /**\n                 * Total amount of tax.\n                 */\n                tax?: number;\n                /**\n                 * Total price.\n                 */\n                total: number;\n                /**\n                 * Total weight of the order's items.\n                 */\n                weight: number;\n            };\n            /**\n             * An object representing value added tax (VAT) information.\n             */\n            type VatId = {\n                /**\n                 * VAT number.\n                 */\n                number: string;\n                /**\n                 * VAT type. Either `\"CPF\"` or `\"CNPJ\"`.\n                 */\n                type: string;\n            };\n        }\n        /**\n         * [Time picker](https://support.wix.com/en/article/time-picker-settings) is an input element for capturing the time of day.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.TimePicker.html#)\n         */\n        namespace TimePicker {\n            /**\n             * An object representing an available time slot for a time picker.\n             */\n            type TimeSlot = {\n                /**\n                 * Start time for the time slot. The `startTime` must be earlier than the `endTime`, and\n                 *  be in one of the following formats:\n                 *  + `HH:MM` (hours and minutes)\n                 *  + `HH:MM:SS` (hours, minutes, and seconds)\n                 *  + `HH:MM:SS.mmm` (hours, minutes, seconds, and milliseconds)\n                 *\n                 *  `HH` is a 2-digit value between 0-23.\n                 *\n                 *  `MM` is a 2-digit value between 0-59.\n                 *\n                 *  `SS` is a 2-digit value between 0-59. Seconds are rounded down to the nearest minute.\n                 *\n                 *  `mmm` is a 3-digit value between 0-999. Milliseconds are rounded down to the nearest second.\n                 *\n                 *\n                 *  The time picker's first input time option is the `startTime`.\n                 *  This means that if the `startTime` is '10:00', the first input time option is '10:00'.\n                 */\n                startTime: string;\n                /**\n                 * End time for the time slot. The `endTime` must be later than the `startTime`, and\n                 *  be in one of the following formats:\n                 *  + `HH:MM` (hours and minutes)\n                 *  + `HH:MM:SS` (hours, minutes, and seconds)\n                 *  + `HH:MM:SS.mmm` (hours, minutes, seconds, and milliseconds)\n                 *\n                 *  `HH` is a 2-digit value between 0-23.\n                 *  > Note that '24:00' is a valid `endTime` in order for '23:59' to be an input time option.\n                 *\n                 *  `MM` is a 2-digit value between 0-59.\n                 *\n                 *  `SS` is a 2-digit value between 0-59. Seconds are rounded down to the nearest minute.\n                 *\n                 *  `mmm` is a 3-digit value between 0-999.  Milliseconds are rounded down to the nearest second.\n                 *\n                 *\n                 *  The `endTime` is not included in the time picker's input time options. This means that if the `endTime`\n                 *  is '11:00', the time picker's last input time option (assuming [`step`](#step) is '1'), is '10:59'.\n                 */\n                endTime: string;\n            };\n            /**\n             * Function that runs when custom validation is checked.\n             */\n            type TimePickerValidator = (value: string, reject: Function) => void;\n        }\n        /**\n         * An [upload button](https://support.wix.com/en/article/content-manager-adding-and-setting-up-an-upload-button) enables site visitors to upload files to your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.UploadButton.html#)\n         */\n        namespace UploadButton {\n            /**\n             * The object used by the [`value`](#value) property that represents files ready for upload.\n             */\n            type File = {\n                /**\n                 * File name.\n                 */\n                name: string;\n                /**\n                 * File size in bytes.\n                 */\n                size: number;\n                /**\n                 * `true` if the file is valid for upload to the Media Manager.\n                 */\n                valid: boolean;\n                /**\n                 * Message indicating why the file is invalid. Empty if the file is valid.\n                 */\n                validationMessage: string;\n            };\n            /**\n             * The error message object returned when the `uploadFiles()`'s Promise is rejected.\n             */\n            type UploadError = {\n                /**\n                 * The error's code.\n                 */\n                errorCode: string;\n                /**\n                 * The error's description.\n                 */\n                errorDescription: string;\n            };\n            /**\n             * Object returned by the `startUpload()`'s Promise.\n             */\n            type UploadFile = {\n                /**\n                 * Wix URL of the successfully uploaded file.\n                 */\n                url: string;\n                /**\n                 * Wix media ID of the uploaded file.\n                 */\n                mediaId: string;\n                /**\n                 * Title of the uploaded file.\n                 */\n                title: string;\n                /**\n                 * Width of an uploaded image or video file.\n                 */\n                width: number;\n                /**\n                 * Height of an uploaded image or video file.\n                 */\n                height: number;\n                /**\n                 * Duration (in milliseconds) of an uploaded audio file.\n                 */\n                duration: number;\n            };\n            /**\n             * An array of objects returned by the `uploadFiles()`'s Promise.\n             */\n            type UploadedFile = {\n                /**\n                 * Width of an uploaded image or video file.\n                 */\n                width: number;\n                /**\n                 * Height of an uploaded image or video file.\n                 */\n                height: number;\n                /**\n                 * Duration (in milliseconds) of an uploaded audio file.\n                 */\n                duration: number;\n                /**\n                 * Wix media URL of the successfully uploaded file in the following format: `'wix:image://v1//#originWidth=&originHeight=[&watermark=]'`.\n                 *\n                 * **Note:** This replaces the old `fileName` parameter. `fileName` will continue to work, but we recommend that you use the updated `fileUrl` parameter instead.\n                 */\n                fileUrl: string;\n                /**\n                 * **Deprecated**. Use the `fileUrl` property instead.\n                 *\n                 * Internal file name of the uploaded file, generated by the Media Manager. The name is the string located in the file's URL. Click [here](https://www.wix.com/velo/forum/tips-tutorials-examples/creating-a-url-for-a-media-file-or-the-truth-about-getfileurl) to learn more.\n                 */\n                fileName: string;\n                /**\n                 * Original name of the uploaded file.\n                 */\n                originalFileName: string;\n            };\n            /**\n             * Contains detailed information about the validity states of a file to upload.\n             */\n            type ValidityState = {\n                /**\n                 * `true` if the file's custom validity message has been set to a non-empty string.\n                 */\n                customError: boolean;\n                /**\n                 * `true` if the file to upload meets all validations.\n                 */\n                valid: boolean;\n                /**\n                 * `true` if a file is required, and either no file has been selected, or a file has been selected but not uploaded.\n                 */\n                fileNotUploaded: boolean;\n                /**\n                 * `true` if a file has been selected but it is too large. Maximum allowed file sizes are listed [here](https://support.wix.com/en/article/supported-media-file-types-and-file-sizes).\n                 */\n                fileSizeExceedsLimit: boolean;\n                /**\n                 * `true` if a file has been selected but the file's type is not supported. Supported file types are listed [here](https://support.wix.com/en/article/supported-media-file-types-and-file-sizes).\n                 */\n                fileTypeNotAllowed: boolean;\n                /**\n                 * `true` if a file is required but no file has been selected.\n                 */\n                valueMissing: boolean;\n                /**\n                 * `true` if the text input element's value does not match its type when the type is email or url.\n                 */\n                typeMismatch: boolean;\n                /**\n                 * `true` if the element's value does not match its pattern validation.\n                 */\n                patternMismatch: boolean;\n                /**\n                 * `true` if the length of the element's value exceeds its `maxLength`.\n                 */\n                tooLong: boolean;\n                /**\n                 * `true` if the length of the element's value is smaller than its `minlength` property.\n                 */\n                tooShort: boolean;\n                /**\n                 * `true` if the element's value is less than the its [`min`]($w.TextInput.html#min) property.\n                 */\n                rangeUnderflow: boolean;\n                /**\n                 * `true` if the element's value is more than the its [`max`]($w.TextInput.html#max) property.\n                 */\n                rangeOverflow: boolean;\n                /**\n                 * `true` if a text input element's numeric value is defined as a whole number but a decimal number is entered.\n                 */\n                stepMismatch: boolean;\n                /**\n                 * `true` if the element's value cannot be converted to a value.\n                 */\n                badInput: boolean;\n                /**\n                 * `true` if the number of files selected exceeds the limit defined in the `fileLimit` property.\n                 */\n                exceedsFileLimit: boolean;\n                /**\n                 * `true` if the element's time value is not a valid time.\n                 */\n                invalidTime: boolean;\n                /**\n                 * `true` if the element's date value is not a valid date.\n                 */\n                invalidDate: boolean;\n            };\n        }\n        /**\n         * Provides functionality for elements that can be validated.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ValidatableMixin.html#)\n         */\n        namespace ValidatableMixin {\n            /**\n             * Contains detailed information about the validity states of an element.\n             */\n            type ValidityState = {\n                /**\n                 * `true` if the element's custom\n                 *  validity message has been set to a non-empty string.\n                 */\n                customError: boolean;\n                /**\n                 * `true` if the element meets all\n                 *  constraint validations.\n                 */\n                valid: boolean;\n                /**\n                 * `true` if the element's\n                 *  `required` property is `true`, but\n                 *  it does not contain a value.\n                 */\n                valueMissing: boolean;\n                /**\n                 * `true` if the text input element's value\n                 *  does not match its type when the type is email or url.\n                 */\n                typeMismatch: boolean;\n                /**\n                 * `true` if the element's\n                 *  value does not match its pattern validation.\n                 */\n                patternMismatch: boolean;\n                /**\n                 * `true` if the length of the\n                 *  element's value exceeds its `maxLength`\n                 *  property.\n                 */\n                tooLong: boolean;\n                /**\n                 * `true` if the length of the\n                 *  element's value is smaller than its `minlength` property.\n                 */\n                tooShort: boolean;\n                /**\n                 * `true` if the element's\n                 *  value is less than its [`min`]($w.TextInput.html#min) property.\n                 */\n                rangeUnderflow: boolean;\n                /**\n                 * `true` if the element's\n                 *  value is more than its [`max`]($w.TextInput.html#max) property.\n                 */\n                rangeOverflow: boolean;\n                /**\n                 * `true` if the element is\n                 *  an upload button that is required and a file has been selected but not\n                 *  uploaded.\n                 */\n                fileNotUploaded: boolean;\n                /**\n                 * `true` if a text input\n                 *  element's numeric value is defined as a whole number but a decimal\n                 *  number is entered.\n                 */\n                stepMismatch: boolean;\n                /**\n                 * `true` if the element's value\n                 *  cannot be converted to a value.\n                 */\n                badInput: boolean;\n                /**\n                 * `true` if the element's time value\n                 *  is not a valid time.\n                 */\n                invalidTime: boolean;\n                /**\n                 * `true` if the element's date value\n                 *  is not a valid date.\n                 */\n                invalidDate: boolean;\n            };\n        }\n        /**\n         * [Vector images](https://support.wix.com/en/article/wix-editor-about-vector-art) are digital illustrations based on geometric shapes.\n         *  They maintain their high quality when resized.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.VectorImage.html#)\n         */\n        namespace VectorImage {\n            /**\n             * An object containing attributes to make your Wix elements more accessible.\n             */\n            type Accessibility = {\n                /**\n                 * Sets or gets the [accessible name](https://www.w3.org/WAI/ARIA/apg/practices/names-and-descriptions/), a concise and descriptive label, of the element. Use `ariaLabel` when an element, such as an icon button, doesn't have a visual text label present, or has a label that should be overridden to provide clearer context.\n                 *\n                 * Max: 1000 characters\n                 */\n                ariaLabel?: string;\n            };\n        }\n        /**\n         * The ViewChangeEvent is triggered when the month or year changes on a date picker or appointment field element.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.ViewChangeEvent.html#)\n         */\n        namespace ViewChangeEvent {\n            /**\n             * An object that contains information about the date picker or appointment field for which an event was triggered.\n             */\n            type ViewChangeEventOptions = {\n                /**\n                 * Start date of the currently displayed month.\n                 */\n                startDate: Date;\n                /**\n                 * End date of the currently displayed month.\n                 */\n                endDate: Date;\n                /**\n                 * Result returned by the operation.\n                 */\n                operationResult: any;\n            };\n        }\n        /**\n         * A `$w` element for enabling your site contacts and visitors to work with the Wix Forms app.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixForms.html#)\n         */\n        namespace WixForms {\n            /**\n             * Handles events fired when the Wix Form is about to be submitted.\n             */\n            type WixFormSubmitEventHandler = (event: WixFormSubmitEvent) => any | boolean;\n            /**\n             * Handles events fired when the Wix Form is not submitted due to error.\n             */\n            type WixFormSubmittedErrorEventHandler = (errorEvent: WixFormSubmittedErrorEvent) => void;\n            /**\n             * Handles events fired when the Wix Form is submitted.\n             */\n            type WixFormSubmittedEventHandler = (event: WixFormSubmittedEvent) => void;\n        }\n        /**\n         * A `WixFormsV2` element displays customizable forms, collects all the info that a site visitor entered into the form fields, and lets you track all form submissions in the dashboard.\n         * \t[Read more](https://www.wix.com/corvid/reference/$w.WixFormsV2.html#)\n         */\n        namespace WixFormsV2 {\n            /**\n             * An object containing information about the error.\n             */\n            type SubmissionError = {\n                /**\n                 * Error code.\n                 */\n                code: string;\n                /**\n                 * Error message.\n                 */\n                message: string;\n            };\n            /**\n             * A callback for a form field value change.\n             */\n            type OnFieldValueChangeCallback = (formValues: any) => void;\n            /**\n             * A callback for a changed form step number.\n             */\n            type OnStepNumberChangeCallback = (currentStepNumber: number) => void;\n            /**\n             * A callback for a form submission.\n             */\n            type OnSubmitCallback = (formValues: any) => void;\n            /**\n             * A callback for a failed form submission.\n             */\n            type OnSubmitFailureCallback = (error: WixFormsV2.SubmissionError) => void;\n            /**\n             * A callback for a successful form submission.\n             */\n            type OnSubmitSuccessCallback = () => void;\n        }\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/backend/$w.d.ts",
      "content": "declare namespace $w {\n  type $w = () => void;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-core-services-dev.d.ts",
      "content": "declare module \"wix-core-services-dev\" {\n  interface LongMessage {\n      int64Field?: string;\n      uint64Field?: string;\n      int64ValueField?: string | null;\n      uint64ValueField?: string | null;\n      sint64Field?: string;\n      sfixed64Field?: string;\n      fixed64Field?: string;\n      durationField?: GoogleProtoDuration;\n      _id?: string | null;\n  }\n  type GoogleProtoDuration = any;\n  /**\n   * echo given arg1 and arg2\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function longEcho(options?: LongEchoOptions): Promise<LongMessage>;\n  interface LongEchoOptions {\n      int64Field?: string;\n      uint64Field?: string;\n      int64ValueField?: string | null;\n      uint64ValueField?: string | null;\n      sint64Field?: string;\n      sfixed64Field?: string;\n      fixed64Field?: string;\n      durationField?: GoogleProtoDuration;\n      _id?: string | null;\n  }\n  /**\n   * echo given arg1 and arg2\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function publicLongEcho(options?: PublicLongEchoOptions): Promise<LongMessage>;\n  interface PublicLongEchoOptions {\n      int64Field?: string;\n      uint64Field?: string;\n      int64ValueField?: string | null;\n      uint64ValueField?: string | null;\n      sint64Field?: string;\n      sfixed64Field?: string;\n      fixed64Field?: string;\n      durationField?: GoogleProtoDuration;\n      _id?: string | null;\n  }\n  \n  type metroinspectorV1Long_universal_d_LongMessage = LongMessage;\n  const metroinspectorV1Long_universal_d_longEcho: typeof longEcho;\n  type metroinspectorV1Long_universal_d_LongEchoOptions = LongEchoOptions;\n  const metroinspectorV1Long_universal_d_publicLongEcho: typeof publicLongEcho;\n  type metroinspectorV1Long_universal_d_PublicLongEchoOptions = PublicLongEchoOptions;\n  namespace metroinspectorV1Long_universal_d {\n    export {\n      metroinspectorV1Long_universal_d_LongMessage as LongMessage,\n      metroinspectorV1Long_universal_d_longEcho as longEcho,\n      metroinspectorV1Long_universal_d_LongEchoOptions as LongEchoOptions,\n      metroinspectorV1Long_universal_d_publicLongEcho as publicLongEcho,\n      metroinspectorV1Long_universal_d_PublicLongEchoOptions as PublicLongEchoOptions,\n    };\n  }\n  \n  export { metroinspectorV1Long_universal_d as echo };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-loyalty-backend.d.ts",
      "content": "declare module \"wix-loyalty-backend\" {\n  const __debug$4: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * A loyalty account stores a customer's loyalty points balance. A site's customers can earn points to their account\n   * and redeem those points for rewards.\n   */\n  interface LoyaltyAccount {\n      /**\n       * Account ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Account owner's contact ID. See the [Contacts API](/wix-crm-backend/contacts) to learn more.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * Account owner's member ID. See the [Members API](/wix-members-backend/introduction) to learn more.\n       * @readonly\n       */\n      memberId?: string | null;\n      /** Information about the account totals. */\n      points?: Points;\n      /** Details of the account's latest transaction. */\n      latestTransaction?: LatestTransaction;\n      /**\n       * Whether the account has a reward available. `true` if the amount of points in `points.balance` are enough to redeem for a reward.\n       * @readonly\n       */\n      rewardAvailable?: boolean;\n      /**\n       * Date and time the account was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the account was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Account's last activity date and time.\n       * @readonly\n       */\n      lastActivityDate?: Date;\n      /**\n       * Revision number, which increments by 1 each time the loyalty account is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty account.\n       *\n       * Ignored when creating an account.\n       */\n      revision?: string;\n      tier?: Tier$1;\n  }\n  interface Points {\n      /**\n       * Current point balance.\n       *\n       * Equal to the sum of `earned` and `adjusted` points, minus `redeemed` points.\n       */\n      balance?: number;\n      /** Total earned points. */\n      earned?: number;\n      /** Total adjusted points. */\n      adjusted?: number;\n      /** Total redeemed points. */\n      redeemed?: number;\n  }\n  interface LatestTransaction {\n      /** Transaction ID. */\n      _id?: string;\n      /** Amount of earned, adjusted, or redeemed points in the latest transaction. */\n      amount?: number;\n      /** Transaction type. */\n      type?: TransactionType;\n      /** Description of the latest transaction. */\n      description?: string;\n      /**\n       * Date and time the transaction was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * __Deprecated.__ For `latestTransaction.rewardId`, use `latestTransaction.redeemInfo.rewardId` instead. This property\n       * will be removed on September 30, 2022.\n       * @readonly\n       */\n      rewardId?: string | null;\n      /**\n       * ID of the app that initiated the transaction.\n       *\n       * Only present if `type` is `EARN` or `ADJUST`. The `appId` can be set to any string when points are manually earned or adjusted. When points are earned or adjusted in an automatic event, the `appId` is from that automation's `sourceAppId`.\n       * @readonly\n       */\n      appId?: string | null;\n      /**\n       * Unique string identifier generated by the app. Wix uses this identifier to recognize subsequent retries of the same request.\n       *\n       * Only present if points were added manually using the [`earnPoints()`](/wix-loyalty-backend/account/earnpoints) function.\n       * @readonly\n       */\n      idempotencyKey?: string | null;\n      /**\n       * Additional information for redeemed points.\n       *\n       * Only present if `type` is `REDEEM`.\n       * @readonly\n       */\n      redeemInfo?: RedeemInfo;\n  }\n  enum TransactionType {\n      UNKNOWN = \"UNKNOWN\",\n      EARN = \"EARN\",\n      REDEEM = \"REDEEM\",\n      ADJUST = \"ADJUST\",\n      GIVE = \"GIVE\"\n  }\n  interface RedeemInfo {\n      /**\n       * ID of the reward that was redeemed.\n       * @readonly\n       */\n      rewardId?: string;\n      /**\n       * Type of reward that was redeemed.\n       * @readonly\n       */\n      rewardType?: string;\n      /**\n       * ID of the specific item that was redeemed in this transaction.\n       *\n       * Each reward that is redeemed has a unique `referenceEntityId`.\n       * @readonly\n       */\n      referenceEntityId?: string;\n  }\n  interface Tier$1 {\n      /**\n       * If None, Account belongs to base Tier\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date when the last time Tier was recalculated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Next recalculation date, used for periodic recalculation\n       * @internal\n       * @readonly\n       */\n      recalculationDate?: Date;\n      /** Points for Tier period (eg. Rolling period for x months). This is equal to the sum of earned and adjusted points for the last x months. */\n      points?: number;\n  }\n  interface RewardAvailabilitiesChanged {\n      changeReason?: RewardAvailabilityChangeReason;\n      /**\n       * Loyalty Account ID -> Reward Available map\n       * @readonly\n       */\n      accountAvailabilities?: Record<string, boolean>;\n  }\n  enum RewardAvailabilityChangeReason {\n      UNDEFINED = \"UNDEFINED\",\n      REWARD_UPDATED = \"REWARD_UPDATED\",\n      BALANCE_UPDATED = \"BALANCE_UPDATED\",\n      TIERS_RECALCULATED = \"TIERS_RECALCULATED\"\n  }\n  interface RewardAvailabilityUpdated {\n      rewardAvailable?: boolean;\n      updateTrigger?: UpdateTrigger;\n  }\n  enum UpdateTrigger {\n      UNDEFINED = \"UNDEFINED\",\n      REWARD_UPDATED = \"REWARD_UPDATED\",\n      BALANCE_UPDATED = \"BALANCE_UPDATED\",\n      TIERS_RECALCULATED = \"TIERS_RECALCULATED\"\n  }\n  interface CreateAccountRequest {\n      /**\n       * Contact ID for a Wix site contact. See the [Contacts API](/wix-crm-backend/contacts) to learn more.\n       *\n       */\n      contactId: string;\n  }\n  interface CreateAccountResponse {\n      /** Created loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface EarnPointsRequest {\n      /** Loyalty account ID. */\n      accountId: string;\n      /**\n       * Amount of points to earn. Must be a positive, whole number.\n       *\n       * Min: `1`\n       *\n       * Max: `9,999,999`\n       */\n      amount?: number;\n      /**\n       * Description of how the points were earned.\n       *\n       * Max: 100 characters\n       */\n      description?: string;\n      /**\n       * ID of the app that initiated the transaction.\n       *\n       * If points were earned manually, then the `appId` is the Loyalty app's\n       * `wixAppId` of `553c79f3-5625-4f38-b14b-ef7c0d1e87df`. If points were earned in an automatic event,\n       * then the `appId` is from that automation's `sourceUniqueId`.\n       */\n      appId: string;\n      /** Unique string identifier generated by the app. Wix uses this identifier to recognize subsequent retries of the same request. */\n      idempotencyKey: string;\n  }\n  interface EarnPointsResponse {\n      /** Loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface PointsUpdated {\n      /** Updated account. */\n      account?: LoyaltyAccount;\n  }\n  interface AdjustPointsRequest extends AdjustPointsRequestTypeOneOf {\n      /** Loyalty account ID. */\n      accountId: string;\n      /** Description to explain the reason for the points adjustment. */\n      description?: string | null;\n      /**\n       * Each time the loyalty account is updated, `revision` increments by 1.\n       *\n       * The current `revision` must be passed when adjusting points in the loyalty account. This\n       * ensures you're working with the latest version of the loyalty account and prevents unintended overwrites.\n       */\n      revision?: string;\n      /**\n       * Sets the account's point balance to this amount. Must be a positive, whole number or zero.\n       *\n       * The net difference between this new balance and the previous balance will be reflected in the `adjusted` field of the customer's account.\n       *\n       * Min: `0`\n       *\n       * Max: `999,999,999`\n       */\n      balance?: number;\n      /**\n       * Adjusts the account's point balance by this amount. Must be a whole number with a maximum of 7 digits.\n       * The amount can be negative, but cannot be `0`.\n       *\n       * Min: `-9,999,999`\n       *\n       * Max: `9,999,999`\n       */\n      amount?: number;\n  }\n  /** @oneof */\n  interface AdjustPointsRequestTypeOneOf {\n      /**\n       * Sets the account's point balance to this amount. Must be a positive, whole number or zero.\n       *\n       * The net difference between this new balance and the previous balance will be reflected in the `adjusted` field of the customer's account.\n       *\n       * Min: `0`\n       *\n       * Max: `999,999,999`\n       */\n      balance?: number;\n      /**\n       * Adjusts the account's point balance by this amount. Must be a whole number with a maximum of 7 digits.\n       * The amount can be negative, but cannot be `0`.\n       *\n       * Min: `-9,999,999`\n       *\n       * Max: `9,999,999`\n       */\n      amount?: number;\n  }\n  interface AdjustPointsResponse {\n      /** Adjusted loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface RedeemPointsRequest {\n      /** Loyalty account ID. */\n      accountId: string;\n      /** Reward ID. See [Rewards API](https://dev.wix.com/api/rest/loyalty/rewards/rewards-object) for more details. */\n      rewardId: string;\n      /** Number of times the given reward will be redeemed. Must be a positive whole number. */\n      count?: number;\n      /**\n       * Revision number, which increments by 1 each time points are redeemed.\n       * To prevent conflicting changes, the existing `revision` must be used when redeeming points.\n       */\n      revision?: string;\n      /** Id of the entity that is being redeemed (e.g. orderId for order discount, couponId for coupon reward). */\n      referenceEntityId?: string | null;\n  }\n  interface RedeemPointsResponse {\n      /** Loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface GetAccountRequest {\n      /** ID of the account to retrieve. */\n      _id: string;\n  }\n  interface GetAccountResponse {\n      /** Retrieved loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface ListUserAccountsRequest {\n      /** Number of items to load. Minimum `1`, maximum `50`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListUserAccountsResponse {\n      /** Loyalty accounts. */\n      accounts?: LoyaltyAccountForMetaSite[];\n  }\n  interface LoyaltyAccountForMetaSite {\n      /** Loyalty account. */\n      account?: LoyaltyAccount;\n      /** Metasite ID. */\n      metaSiteId?: string;\n  }\n  interface GetProgramTotalsRequest {\n  }\n  interface GetProgramTotalsResponse {\n      /** Point totals for the entire program. */\n      points?: Points;\n      /**\n       * Tier total for the entire program\n       * @internal\n       */\n      tierTotals?: TierTotal[];\n  }\n  interface TierTotal {\n      /**\n       * If None, Account belongs to base Tier\n       * @readonly\n       */\n      _id?: string | null;\n      /** Total number of loyalty accounts, that belongs to particular Tier */\n      numberOfAccounts?: number;\n  }\n  interface GetCurrentMemberAccountRequest {\n  }\n  interface GetCurrentMemberAccountResponse {\n      /** Loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface GetAccountBySecondaryIdRequest extends GetAccountBySecondaryIdRequestIdOneOf {\n      /** Account owner's contact ID. See the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-object) to learn more. */\n      contactId?: string;\n      /** Account owner's member ID. See the [Members API](https://dev.wix.com/api/rest/members/members/member-object) to learn more. */\n      memberId?: string;\n  }\n  /** @oneof */\n  interface GetAccountBySecondaryIdRequestIdOneOf {\n      /**\n       * Account owner's contact ID or special \"me\" identifier to get current identity's data.\n       * See the Contacts API to [learn more about a site's contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-object).\n       */\n      contactId?: string;\n      /**\n       * Account owner's member ID or special \"me\" identifier to get current identity's data.\n       * See the Members API to [learn more about a site's members](https://dev.wix.com/api/rest/members/members/member-object).\n       */\n      memberId?: string;\n  }\n  interface GetAccountBySecondaryIdResponse {\n      /** Retrieved loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface ListAccountsRequest {\n      /** List of contact IDs. See the Contacts API to [learn more about a site's contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-object). */\n      contactIds?: string[];\n      cursorPaging?: CursorPaging$2;\n  }\n  interface CursorPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListAccountsResponse {\n      /** Retrieved loyalty accounts. */\n      accounts?: LoyaltyAccount[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2$2;\n  }\n  interface PagingMetadataV2$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  /** Retrieves a transaction. */\n  interface GetTransactionRequest {\n      /** Transaction ID. */\n      _id: string | null;\n  }\n  interface GetTransactionResponse {\n      /** Retrieved transaction. */\n      transaction?: Transaction;\n  }\n  /** Loyalty transaction. */\n  interface Transaction {\n      /**\n       * Transaction ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Loyalty account ID.\n       * @readonly\n       */\n      accountId?: string;\n      /**\n       * Account owner's contact ID. See the Contacts API to [learn more about a site's contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-object).\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * Account owner's member ID. See the [Members API](/wix-members-backend/introduction) to learn more.\n       * @readonly\n       */\n      memberId?: string | null;\n      /** Points earned, adjusted, or redeemed in the latest transaction. */\n      amount?: number;\n      type?: TransactionType;\n      /** Transaction description. Only present for automated transactions of `type` `EARN` or `REDEEM`, when set by the site owner in the Business Manager. */\n      description?: string;\n      /**\n       * Date and time of the transaction.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * __Deprecated.__ For `transaction.rewardId`, use `transaction.redeemInfo.rewardId` instead. This property\n       * will be removed on June 30, 2022.\n       * @readonly\n       */\n      rewardId?: string | null;\n      /**\n       * ID of the app that initiated the transaction.\n       *\n       * Only present if `type` is `EARN` or `ADJUST`.\n       *\n       * If points were earned or adjusted manually, then the `appId` is the Loyalty app's\n       * `wixAppId` of `553c79f3-5625-4f38-b14b-ef7c0d1e87df`. If points were earned or adjusted in an automatic event,\n       * then the `appId` is from that automation's `sourceUniqueId`.\n       * @readonly\n       */\n      appId?: string | null;\n      /**\n       * Unique string identifier generated by the app. Wix uses this identifier to recognize subsequent retries of the same request.\n       *\n       * Only present if points were added manually using the [`earnPoints()`](/wix-loyalty-backend/account/earnpoints) function.\n       * @readonly\n       */\n      idempotencyKey?: string | null;\n      /**\n       * Additional redeem information. Only present if `type` is `REDEEM`.\n       * @readonly\n       */\n      redeemInfo?: RedeemInfo;\n  }\n  interface ListTransactionsRequest {\n      /** Loyalty account ID. */\n      accountId: string | null;\n      /** Pagination options, such as how many results are listed at a time. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface ListTransactionsResponse {\n      /** Retrieved transactions. */\n      transactions?: Transaction[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2$2;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent$2;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent$2 {\n      currentEntityAsJson?: string;\n  }\n  interface Empty$3 {\n  }\n  interface AccountsMerged {\n      /**\n       * Source accounts.\n       * @readonly\n       */\n      sourceAccounts?: LoyaltyAccount[];\n      /**\n       * Merged account.\n       * @readonly\n       */\n      updatedAccount?: LoyaltyAccount;\n  }\n  interface TiersRollingUpdate$1 {\n  }\n  interface TiersProgramSettingsChanged$1 {\n      programSettings?: TiersProgramSettings$1;\n  }\n  /** There can be single TiersSettings per site and it's global (i.e. applies to all program's tiers) */\n  interface TiersProgramSettings$1 extends TiersProgramSettingsPeriodOneOf$1 {\n      status?: Status$2;\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n      /** Used to represent base tier */\n      baseTierDefinition?: TierDefinition$1;\n      /** More periods will be supported in future */\n      rollingWindow?: RollingWindow$1;\n  }\n  /** @oneof */\n  interface TiersProgramSettingsPeriodOneOf$1 {\n      /** More periods will be supported in future */\n      rollingWindow?: RollingWindow$1;\n  }\n  enum Status$2 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Tiers are disabled */\n      DISABLED = \"DISABLED\",\n      /** Tiers are enabled but not yet active */\n      DRAFT = \"DRAFT\",\n      /** Tiers are active */\n      ACTIVE = \"ACTIVE\",\n      /** Tiers are paused */\n      PAUSED = \"PAUSED\"\n  }\n  interface TierDefinition$1 {\n      icon?: string;\n      name?: string | null;\n      description?: string | null;\n  }\n  interface RollingWindow$1 {\n      durationInMonths?: number;\n  }\n  interface SubscriptionEvent extends SubscriptionEventEventOneOf {\n      /** internal */\n      eventId?: string | null;\n      /** is this required in the api ?? or is it implicit */\n      eventDate?: Date;\n      /** subscription created */\n      created?: SubscriptionCreated;\n      /** subscription assigned to context */\n      assigned?: SubscriptionAssigned;\n      /** subscription cancelled */\n      cancelled?: SubscriptionCancelled;\n      /** subscription \"AUTON RENEW\" turned on */\n      autoRenewTurnedOn?: SubscriptionAutoRenewTurnedOn;\n      /** subscription \"AUTON RENEW\" turned off */\n      autoRenewTurnedOff?: SubscriptionAutoRenewTurnedOff;\n      /** subscription unassigned from context */\n      unassigned?: SubscriptionUnassigned;\n      /** subscription transferred between accounts */\n      transferred?: SubscriptionTransferred;\n      /** subscription renewed after recurring charge */\n      recurringChargeSucceeded?: RecurringChargeSucceeded;\n      /** subscription contract switched / upgraded */\n      contractSwitched?: ContractSwitched;\n      /** subscription is near renewal */\n      nearEndOfPeriod?: SubscriptionNearEndOfPeriod;\n      /** subscription has a pending change set */\n      pendingChange?: SubscriptionPendingChange;\n  }\n  /** @oneof */\n  interface SubscriptionEventEventOneOf {\n      /** subscription created */\n      created?: SubscriptionCreated;\n      /** subscription assigned to context */\n      assigned?: SubscriptionAssigned;\n      /** subscription cancelled */\n      cancelled?: SubscriptionCancelled;\n      /** subscription \"AUTON RENEW\" turned on */\n      autoRenewTurnedOn?: SubscriptionAutoRenewTurnedOn;\n      /** subscription \"AUTON RENEW\" turned off */\n      autoRenewTurnedOff?: SubscriptionAutoRenewTurnedOff;\n      /** subscription unassigned from context */\n      unassigned?: SubscriptionUnassigned;\n      /** subscription transferred between accounts */\n      transferred?: SubscriptionTransferred;\n      /** subscription renewed after recurring charge */\n      recurringChargeSucceeded?: RecurringChargeSucceeded;\n      /** subscription contract switched / upgraded */\n      contractSwitched?: ContractSwitched;\n      /** subscription is near renewal */\n      nearEndOfPeriod?: SubscriptionNearEndOfPeriod;\n      /** subscription has a pending change set */\n      pendingChange?: SubscriptionPendingChange;\n  }\n  /** Will be published when a new subscription is created */\n  interface SubscriptionCreated {\n      /** The subscription */\n      subscription?: Subscription;\n      /** Meta data about the subscription */\n      metadata?: Record<string, string>;\n  }\n  interface Subscription {\n      /** subscription identity */\n      _id?: string;\n      /** always a Wix user */\n      userId?: string;\n      /** product ID from product catalog */\n      productId?: string;\n      /** date subscription was created */\n      createdAt?: Date;\n      /** date subscription was updated */\n      updatedAt?: Date;\n      /** id of the meta site that the subscription is assigned to, can be empty, meaning the subscription is either account level or is currently unassigned */\n      metaSiteId?: string | null;\n      /** reference to billing system entity */\n      billingReference?: BillingReference;\n      /** payment cycle */\n      cycle?: Cycle;\n      /** status */\n      status?: SubscriptionStatus;\n      /** date subscription was transferred between accounts */\n      transferredAt?: Date;\n      /** product type ID of the product */\n      productTypeId?: string;\n      /** version */\n      version?: number;\n      /** flag indicating whether the subscription is currently active or not */\n      active?: boolean;\n      /** date the original subscription was created in cases where the subscription has been transferred between accounts */\n      originalCreationDate?: Date;\n      /** custom metadata associated with the subscription */\n      metadata?: Record<string, string>;\n      /** the country code to which the subscription was provisioned */\n      countryCode?: string | null;\n  }\n  interface BillingReference {\n      /** billing provider name */\n      providerName?: ProviderName;\n      /** current provider reference id */\n      providerReferenceId?: string | null;\n      /** used to support extend (specifically for domains) */\n      previousProviderReferenceIds?: string[];\n  }\n  enum ProviderName {\n      UNKNOWN = \"UNKNOWN\",\n      SBS = \"SBS\",\n      LICENSER = \"LICENSER\",\n      BASS = \"BASS\",\n      RESELLER = \"RESELLER\"\n  }\n  interface Cycle extends CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  /** @oneof */\n  interface CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  interface Interval {\n      /** interval unit of measure */\n      unit?: IntervalUnit;\n      /** number of interval */\n      count?: number;\n  }\n  enum IntervalUnit {\n      /** unknown interval unit */\n      UNKNOWN = \"UNKNOWN\",\n      /** day */\n      DAY = \"DAY\",\n      /** week */\n      WEEK = \"WEEK\",\n      /** month */\n      MONTH = \"MONTH\",\n      /** year */\n      YEAR = \"YEAR\"\n  }\n  interface OneTime {\n  }\n  enum SubscriptionStatus {\n      UNKNOWN = \"UNKNOWN\",\n      /** Subscription will be renewed automatically at the end of the current payment cycle */\n      AUTO_RENEW_ON = \"AUTO_RENEW_ON\",\n      /** Subscription will not be renewed at the end of the current payment cycle */\n      AUTO_RENEW_OFF = \"AUTO_RENEW_OFF\",\n      /** Subscription will require user to manually renew */\n      MANUAL_RECURRING = \"MANUAL_RECURRING\",\n      /** Subscription has been cancelled */\n      CANCELLED = \"CANCELLED\",\n      /** Subscription has been transferred to a different account */\n      TRANSFERRED = \"TRANSFERRED\"\n  }\n  /** Will be published when a subscription is assigned to a meta site */\n  interface SubscriptionAssigned {\n      /** The subscription */\n      subscription?: Subscription;\n      /** meta site identity that the subscription was previously assigned to */\n      previousMetaSiteId?: string | null;\n  }\n  /** Will be published when a subscription is cancelled */\n  interface SubscriptionCancelled {\n      /** The subscription */\n      subscription?: Subscription;\n      /** Cancellation reason information */\n      cancellationDetails?: CancellationDetails;\n      /** indicates whether the subscription was cancelled immediately or at end of period */\n      immediateCancel?: boolean;\n  }\n  interface CancellationDetails {\n      /** cancellation reason code */\n      cancellationCode?: number | null;\n      /** cancellation reason description */\n      cancellationReason?: string | null;\n      /** the initiator of the cancellation */\n      initiator?: Initiator;\n  }\n  enum Initiator {\n      UNKNOWN = \"UNKNOWN\",\n      /** cancellation was initiated by request from the user */\n      USER_REQUESTED = \"USER_REQUESTED\",\n      /** cancellation was initiated by the managing application */\n      APP_MANAGED = \"APP_MANAGED\",\n      /** cancellation was initiated passively for example payment failure or fraud */\n      PASSIVE = \"PASSIVE\"\n  }\n  /** Will be published when a subscription \"AUTO RENEW\" is turned on\" */\n  interface SubscriptionAutoRenewTurnedOn {\n      /** The subscription */\n      subscription?: Subscription;\n      /** Initiator of request to turn AutoRenew On - Will be \"USER\" or the Application Id of the requesting Service */\n      initiator?: string | null;\n  }\n  /** Will be published when a subscription \"AUTO RENEW\" is turned off\" */\n  interface SubscriptionAutoRenewTurnedOff {\n      /** The subscription */\n      subscription?: Subscription;\n      /** Cancellation reason information */\n      cancellationDetails?: CancellationDetails;\n      /** indicates whether the subscription will be cancelled immediately or not */\n      immediateCancel?: boolean;\n  }\n  /** Will be published when a subscription is unassigned from a meta site */\n  interface SubscriptionUnassigned {\n      /** The subscription */\n      subscription?: Subscription;\n      /** meta site identity that the subscription was previously assigned to */\n      previousMetaSiteId?: string;\n      unassignReason?: UnassignReason;\n  }\n  enum UnassignReason {\n      UNKNOWN = \"UNKNOWN\",\n      /** initiated by the user */\n      USER_REQUESTED = \"USER_REQUESTED\",\n      /** Another subscription was assigned to the site this subscription was assigned to */\n      REPLACED_BY_ANOTHER_SUBSCRIPTION = \"REPLACED_BY_ANOTHER_SUBSCRIPTION\"\n  }\n  /**\n   * Will be published when a subscription is transferred between accounts\n   * Holds the state of the same subscription before and after the transfer\n   * subscription ID is the same in both states\n   */\n  interface SubscriptionTransferred {\n      /** The subscription  state before the transfer */\n      originSubscription?: Subscription;\n      /** The subscription state after the transfer */\n      targetSubscription?: Subscription;\n  }\n  /** Will be published when a subscription is successfully renewed */\n  interface RecurringChargeSucceeded {\n      /** The subscription */\n      subscription?: Subscription;\n  }\n  /** Will be published when a subscription is has changed, either upgrade or downgrade */\n  interface ContractSwitched {\n      /** The subscription */\n      subscription?: Subscription;\n      /** previous payment cycle */\n      previousCycle?: Cycle;\n      /** previous product ID from product catalog */\n      previousProductId?: string;\n      /** previous product type ID of the product */\n      previousProductTypeId?: string;\n      /** Type of contract switch */\n      contractSwitchType?: ContractSwitchType;\n      /**\n       * meta site identity that the subscription was previously assigned to\n       * in the case where a subscription is assigned to a different site during the contract switch\n       */\n      previousMetaSiteId?: string | null;\n      /** Reason of contract switch */\n      contractSwitchReason?: ContractSwitchReason;\n      /** contains essential data for price increase case */\n      productPriceIncreaseData?: ProductPriceIncreaseData;\n  }\n  /** Copied from SBS */\n  enum ContractSwitchType {\n      NOT_APPLICABLE = \"NOT_APPLICABLE\",\n      ADDITIONAL_QUANTITY = \"ADDITIONAL_QUANTITY\",\n      CREDIT_UNUSED_PERIOD = \"CREDIT_UNUSED_PERIOD\",\n      REFUND_PRICE_DIFF = \"REFUND_PRICE_DIFF\",\n      ADJUST_PERIOD_END = \"ADJUST_PERIOD_END\",\n      DOWNGRADE_GRACE_PERIOD = \"DOWNGRADE_GRACE_PERIOD\",\n      FULL_AMOUNT_PERIOD = \"FULL_AMOUNT_PERIOD\",\n      END_OF_PERIOD = \"END_OF_PERIOD\",\n      PENDING_CHANGES = \"PENDING_CHANGES\",\n      DOWNGRADE_RENEWAL = \"DOWNGRADE_RENEWAL\"\n  }\n  enum ContractSwitchReason {\n      /** Indicates external provider triggered flow, as described in ContractSwitchType */\n      EXTERNAL_PROVIDER_TRIGGER = \"EXTERNAL_PROVIDER_TRIGGER\",\n      /** indicates contract was switched due to price increase */\n      PRICE_INCREASE = \"PRICE_INCREASE\"\n  }\n  interface ProductPriceIncreaseData {\n      previousPrice?: string | null;\n  }\n  /** Will be published when a subscription is near to the end of period - the number days before renewal is defined in the Billing System */\n  interface SubscriptionNearEndOfPeriod {\n      /** The subscription */\n      subscription?: Subscription;\n  }\n  /** Will be published when a subscription has a pending change */\n  interface SubscriptionPendingChange {\n      /** The subscription */\n      subscription?: Subscription;\n  }\n  /**\n   * Creates a loyalty account for one of a site's contacts.\n   *\n   * The `createAccount()` function returns a Promise that resolves to the new loyalty account when it is created.\n   *\n   * To create a new loyalty account, the customer must first be a site contact with a contact ID. See [contacts](wix-crm-backend/contacts) to learn more about a site's contacts. The site must also have an active loyalty program before loyalty accounts can be created. See the [`activateLoyaltyProgram()`](wix-loyalty-backend/program/activateloyaltyprogram) function to activate a site's loyalty program.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @param contactId - Contact ID for a Wix site contact. See the [Contacts API](/wix-crm-backend/contacts) to learn more.\n   */\n  function createAccount(contactId: string): Promise<CreateAccountResponse>;\n  /**\n   * Adds points to a loyalty account.\n   *\n   * The `earnPoints()` function returns a Promise that resolves to the updated loyalty account.\n   *\n   * Only a positive amount can be added using the `earnPoints()` function, to manually adjust an account's balance for a negative amount, use [`adjustPoints()`](/wix-loyalty-backend/accounts/adjustpoints).\n   *\n   * The `earnPoints()` function allows customers to manually earn points to their loyalty accounts. To use this function you must include an `appId` and an `idempotencyKey`. Any string can be set as the `appId` or `idempotencyKey`. In contrast to when an account earns points through an action taken on your site, the `appId` automatically sets to the source app that generates the points. The transaction `type` is `EARN` for points earned this way.\n   * @param accountId - Loyalty account ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @requiredField options.appId\n   * @requiredField options.idempotencyKey\n   */\n  function earnPoints(accountId: string, options?: EarnPointsOptions): Promise<EarnPointsResponse>;\n  interface EarnPointsOptions {\n      /**\n       * Amount of points to earn. Must be a positive, whole number.\n       *\n       * Min: `1`\n       *\n       * Max: `9,999,999`\n       */\n      amount?: number;\n      /**\n       * Description of how the points were earned.\n       *\n       * Max: 100 characters\n       */\n      description?: string;\n      /**\n       * ID of the app that initiated the transaction.\n       *\n       * If points were earned manually, then the `appId` is the Loyalty app's\n       * `wixAppId` of `553c79f3-5625-4f38-b14b-ef7c0d1e87df`. If points were earned in an automatic event,\n       * then the `appId` is from that automation's `sourceUniqueId`.\n       */\n      appId: string;\n      /** Unique string identifier generated by the app. Wix uses this identifier to recognize subsequent retries of the same request. */\n      idempotencyKey: string;\n  }\n  /**\n   * Adjusts the point balance of a loyalty account.\n   *\n   * The `adjustPoints()` function returns a Promise that resolves to the updated loyalty account.\n   *\n   * To adjust the points balance of an account you must include an `accountId`, a `revision` number, and the adjustment to make. You can also leave a description to explain the reason for the points adjustment.\n   *\n   * There are two ways to adjust the points of a loyalty account:\n   * - `balance` allows you to set the total points balance to this new amount. The transaction `type` will return as `ADJUST`.\n   * - `amount` allows you to alter the points balance by this amount. This amount can be a positive number to increase the points balance or a negative number to decrease the balance. The transaction type will return as `GIVE`.\n   * @param accountId - Loyalty account ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @param options - Options to use when adjusting points.\n   */\n  function adjustPoints(accountId: string, options?: AdjustPointsOptions): Promise<AdjustPointsResponse>;\n  interface AdjustPointsOptions {\n      /** Description to explain the reason for the points adjustment. */\n      description?: string | null;\n      /**\n       * Sets the account's point balance to this amount. Must be a positive, whole number or zero.\n       *\n       * The net difference between this new balance and the previous balance will be reflected in the `adjusted` field of the customer's account.\n       *\n       * Min: `0`\n       *\n       * Max: `999,999,999`\n       */\n      balance?: number;\n      /**\n       * Adjusts the account's point balance by this amount. Must be a whole number with a maximum of 7 digits.\n       * The amount can be negative, but cannot be `0`.\n       *\n       * Min: `-9,999,999`\n       *\n       * Max: `9,999,999`\n       */\n      amount?: number;\n      /**\n       * Each time the loyalty account is updated, `revision` increments by 1.\n       *\n       * The current `revision` must be passed when adjusting points in the loyalty account. This\n       * ensures you're working with the latest version of the loyalty account and prevents unintended overwrites.\n       */\n      revision?: string;\n  }\n  /**\n   * Redeems points from a loyalty account, given the provided reward.\n   * @param accountId - Loyalty account ID.\n   * @param rewardId - Reward ID. See [Rewards API](https://dev.wix.com/api/rest/loyalty/rewards/rewards-object) for more details.\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @requiredField rewardId\n   */\n  function redeemPoints(accountId: string, rewardId: string, options?: RedeemPointsOptions): Promise<RedeemPointsResponse>;\n  interface RedeemPointsOptions {\n      /** Number of times the given reward will be redeemed. Must be a positive whole number. */\n      count?: number;\n      /**\n       * Revision number, which increments by 1 each time points are redeemed.\n       * To prevent conflicting changes, the existing `revision` must be used when redeeming points.\n       */\n      revision?: string;\n      /** Id of the entity that is being redeemed (e.g. orderId for order discount, couponId for coupon reward). */\n      referenceEntityId?: string | null;\n  }\n  /**\n   * Retrieves an account using the loyalty account ID.\n   *\n   * The `getAccount()` function returns a Promise that resolves to the specified loyalty account when it is retrieved.\n   *\n   * You can also get an account using a secondary ID, such as a contact ID or a member ID with the [`getAccountBySecondaryId()`](wix-loyalty-backend/account/getaccountbysecondaryid) function.\n   * @param _id - ID of the account to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function getAccount(_id: string): Promise<GetAccountResponse>;\n  /** @documentationMaturity preview */\n  function listUserAccounts(options?: ListUserAccountsOptions): Promise<ListUserAccountsResponse>;\n  interface ListUserAccountsOptions {\n      /** Number of items to load. Minimum `1`, maximum `50`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  /**\n   * Retrieves the total amount of points earned, redeemed, and adjusted for the entire loyalty program.\n   *\n   * The `getProgramTotals()` function returns a Promise that resolves to the combined total points for all loyalty accounts in the program.\n   *\n   * The `balance` is the current total of points outstanding, while the `earned`, `adjusted`, and `redeemed` amounts are the all-time accumulated amounts. The totals include the amounts for all loyalty accounts.\n   * @public\n   * @documentationMaturity preview\n   */\n  function getProgramTotals(): Promise<GetProgramTotalsResponse>;\n  /** @documentationMaturity preview */\n  function getCurrentMemberAccount(): Promise<GetCurrentMemberAccountResponse>;\n  /**\n   * Retrieves the loyalty account of the specified site contact or member.\n   *\n   * The `getAccountBySecondaryId()` function returns a Promise that resolves to the specified loyalty account when it is retrieved.\n   *\n   * This function gets a loyalty account using a customer's contact ID or member ID. You can also get an account using the loyalty account ID with the [`getAccount()`](wix-loyalty-backend/account/getaccount) function.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField GetAccountBySecondaryIdRequest\n   */\n  function getAccountBySecondaryId(options?: GetAccountBySecondaryIdOptions): Promise<GetAccountBySecondaryIdResponse>;\n  interface GetAccountBySecondaryIdOptions {\n      /** Account owner's contact ID. See the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-object) to learn more. */\n      contactId?: string;\n      /** Account owner's member ID. See the [Members API](https://dev.wix.com/api/rest/members/members/member-object) to learn more. */\n      memberId?: string;\n  }\n  /**\n   * Retrieves a list of loyalty accounts, given the provided filters.\n   *\n   * The `listAccounts()` function returns a Promise that resolves to a list of loyalty accounts when the filtered accounts are retrieved.\n   *\n   * You can retrieve selected loyalty accounts with an array of `contactIds` or retrieve a list of all of a site's loyalty accounts\n   *     with an empty request parameter. Use the `cursorPaging` parameters to limit how many items load at a time.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listAccounts(options?: ListAccountsOptions): Promise<ListAccountsResponse>;\n  interface ListAccountsOptions {\n      /** List of contact IDs. See the Contacts API to [learn more about a site's contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-object). */\n      contactIds?: string[];\n      cursorPaging?: CursorPaging$2;\n  }\n  /**\n   * Retrieves a transaction using the transaction ID.\n   *\n   * The `getTransaction()` function returns a Promise that resolves to a loyalty transaction when the specified transaction is retrieved.\n   *\n   * A loyalty transaction includes any activity that changes a loyalty account point balance, such as adjusting, earning, or redeeming loyalty points. If you want to retrieve many, or all, of the transactions for a specific loyalty account, use the [`listTransactions()`](wix-loyalty-backend/account/listtransactions) function.\n   * @param _id - Transaction ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function getTransaction(_id: string | null): Promise<GetTransactionResponse>;\n  /**\n   * Retrieves a list of transactions for a specified loyalty account.\n   *\n   * The `listTransactions()` function returns a Promise that resolves to a list of loyalty transactions for the loyalty account specified by the account ID.\n   *\n   * Loyalty transactions include activities that change a loyalty account point balance, such as adjusting, earning, or redeeming loyalty points. If you want to get a specific transaction use that transaction's ID and the [`getTransaction()`](wix-loyalty-backend/account/gettransaction) function.\n   * @param accountId - Loyalty account ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField accountId\n   */\n  function listTransactions(accountId: string | null, options?: ListTransactionsOptions): Promise<ListTransactionsResponse>;\n  interface ListTransactionsOptions {\n      /** Pagination options, such as how many results are listed at a time. */\n      cursorPaging?: CursorPaging$2;\n  }\n  \n  type loyaltyV1Account_universal_d_LoyaltyAccount = LoyaltyAccount;\n  type loyaltyV1Account_universal_d_Points = Points;\n  type loyaltyV1Account_universal_d_LatestTransaction = LatestTransaction;\n  type loyaltyV1Account_universal_d_TransactionType = TransactionType;\n  const loyaltyV1Account_universal_d_TransactionType: typeof TransactionType;\n  type loyaltyV1Account_universal_d_RedeemInfo = RedeemInfo;\n  type loyaltyV1Account_universal_d_RewardAvailabilitiesChanged = RewardAvailabilitiesChanged;\n  type loyaltyV1Account_universal_d_RewardAvailabilityChangeReason = RewardAvailabilityChangeReason;\n  const loyaltyV1Account_universal_d_RewardAvailabilityChangeReason: typeof RewardAvailabilityChangeReason;\n  type loyaltyV1Account_universal_d_RewardAvailabilityUpdated = RewardAvailabilityUpdated;\n  type loyaltyV1Account_universal_d_UpdateTrigger = UpdateTrigger;\n  const loyaltyV1Account_universal_d_UpdateTrigger: typeof UpdateTrigger;\n  type loyaltyV1Account_universal_d_CreateAccountRequest = CreateAccountRequest;\n  type loyaltyV1Account_universal_d_CreateAccountResponse = CreateAccountResponse;\n  type loyaltyV1Account_universal_d_EarnPointsRequest = EarnPointsRequest;\n  type loyaltyV1Account_universal_d_EarnPointsResponse = EarnPointsResponse;\n  type loyaltyV1Account_universal_d_PointsUpdated = PointsUpdated;\n  type loyaltyV1Account_universal_d_AdjustPointsRequest = AdjustPointsRequest;\n  type loyaltyV1Account_universal_d_AdjustPointsRequestTypeOneOf = AdjustPointsRequestTypeOneOf;\n  type loyaltyV1Account_universal_d_AdjustPointsResponse = AdjustPointsResponse;\n  type loyaltyV1Account_universal_d_RedeemPointsRequest = RedeemPointsRequest;\n  type loyaltyV1Account_universal_d_RedeemPointsResponse = RedeemPointsResponse;\n  type loyaltyV1Account_universal_d_GetAccountRequest = GetAccountRequest;\n  type loyaltyV1Account_universal_d_GetAccountResponse = GetAccountResponse;\n  type loyaltyV1Account_universal_d_ListUserAccountsRequest = ListUserAccountsRequest;\n  type loyaltyV1Account_universal_d_ListUserAccountsResponse = ListUserAccountsResponse;\n  type loyaltyV1Account_universal_d_LoyaltyAccountForMetaSite = LoyaltyAccountForMetaSite;\n  type loyaltyV1Account_universal_d_GetProgramTotalsRequest = GetProgramTotalsRequest;\n  type loyaltyV1Account_universal_d_GetProgramTotalsResponse = GetProgramTotalsResponse;\n  type loyaltyV1Account_universal_d_TierTotal = TierTotal;\n  type loyaltyV1Account_universal_d_GetCurrentMemberAccountRequest = GetCurrentMemberAccountRequest;\n  type loyaltyV1Account_universal_d_GetCurrentMemberAccountResponse = GetCurrentMemberAccountResponse;\n  type loyaltyV1Account_universal_d_GetAccountBySecondaryIdRequest = GetAccountBySecondaryIdRequest;\n  type loyaltyV1Account_universal_d_GetAccountBySecondaryIdRequestIdOneOf = GetAccountBySecondaryIdRequestIdOneOf;\n  type loyaltyV1Account_universal_d_GetAccountBySecondaryIdResponse = GetAccountBySecondaryIdResponse;\n  type loyaltyV1Account_universal_d_ListAccountsRequest = ListAccountsRequest;\n  type loyaltyV1Account_universal_d_ListAccountsResponse = ListAccountsResponse;\n  type loyaltyV1Account_universal_d_GetTransactionRequest = GetTransactionRequest;\n  type loyaltyV1Account_universal_d_GetTransactionResponse = GetTransactionResponse;\n  type loyaltyV1Account_universal_d_Transaction = Transaction;\n  type loyaltyV1Account_universal_d_ListTransactionsRequest = ListTransactionsRequest;\n  type loyaltyV1Account_universal_d_ListTransactionsResponse = ListTransactionsResponse;\n  type loyaltyV1Account_universal_d_AccountsMerged = AccountsMerged;\n  type loyaltyV1Account_universal_d_SubscriptionEvent = SubscriptionEvent;\n  type loyaltyV1Account_universal_d_SubscriptionEventEventOneOf = SubscriptionEventEventOneOf;\n  type loyaltyV1Account_universal_d_SubscriptionCreated = SubscriptionCreated;\n  type loyaltyV1Account_universal_d_Subscription = Subscription;\n  type loyaltyV1Account_universal_d_BillingReference = BillingReference;\n  type loyaltyV1Account_universal_d_ProviderName = ProviderName;\n  const loyaltyV1Account_universal_d_ProviderName: typeof ProviderName;\n  type loyaltyV1Account_universal_d_Cycle = Cycle;\n  type loyaltyV1Account_universal_d_CycleCycleSelectorOneOf = CycleCycleSelectorOneOf;\n  type loyaltyV1Account_universal_d_Interval = Interval;\n  type loyaltyV1Account_universal_d_IntervalUnit = IntervalUnit;\n  const loyaltyV1Account_universal_d_IntervalUnit: typeof IntervalUnit;\n  type loyaltyV1Account_universal_d_OneTime = OneTime;\n  type loyaltyV1Account_universal_d_SubscriptionStatus = SubscriptionStatus;\n  const loyaltyV1Account_universal_d_SubscriptionStatus: typeof SubscriptionStatus;\n  type loyaltyV1Account_universal_d_SubscriptionAssigned = SubscriptionAssigned;\n  type loyaltyV1Account_universal_d_SubscriptionCancelled = SubscriptionCancelled;\n  type loyaltyV1Account_universal_d_CancellationDetails = CancellationDetails;\n  type loyaltyV1Account_universal_d_Initiator = Initiator;\n  const loyaltyV1Account_universal_d_Initiator: typeof Initiator;\n  type loyaltyV1Account_universal_d_SubscriptionAutoRenewTurnedOn = SubscriptionAutoRenewTurnedOn;\n  type loyaltyV1Account_universal_d_SubscriptionAutoRenewTurnedOff = SubscriptionAutoRenewTurnedOff;\n  type loyaltyV1Account_universal_d_SubscriptionUnassigned = SubscriptionUnassigned;\n  type loyaltyV1Account_universal_d_UnassignReason = UnassignReason;\n  const loyaltyV1Account_universal_d_UnassignReason: typeof UnassignReason;\n  type loyaltyV1Account_universal_d_SubscriptionTransferred = SubscriptionTransferred;\n  type loyaltyV1Account_universal_d_RecurringChargeSucceeded = RecurringChargeSucceeded;\n  type loyaltyV1Account_universal_d_ContractSwitched = ContractSwitched;\n  type loyaltyV1Account_universal_d_ContractSwitchType = ContractSwitchType;\n  const loyaltyV1Account_universal_d_ContractSwitchType: typeof ContractSwitchType;\n  type loyaltyV1Account_universal_d_ContractSwitchReason = ContractSwitchReason;\n  const loyaltyV1Account_universal_d_ContractSwitchReason: typeof ContractSwitchReason;\n  type loyaltyV1Account_universal_d_ProductPriceIncreaseData = ProductPriceIncreaseData;\n  type loyaltyV1Account_universal_d_SubscriptionNearEndOfPeriod = SubscriptionNearEndOfPeriod;\n  type loyaltyV1Account_universal_d_SubscriptionPendingChange = SubscriptionPendingChange;\n  const loyaltyV1Account_universal_d_createAccount: typeof createAccount;\n  const loyaltyV1Account_universal_d_earnPoints: typeof earnPoints;\n  type loyaltyV1Account_universal_d_EarnPointsOptions = EarnPointsOptions;\n  const loyaltyV1Account_universal_d_adjustPoints: typeof adjustPoints;\n  type loyaltyV1Account_universal_d_AdjustPointsOptions = AdjustPointsOptions;\n  const loyaltyV1Account_universal_d_redeemPoints: typeof redeemPoints;\n  type loyaltyV1Account_universal_d_RedeemPointsOptions = RedeemPointsOptions;\n  const loyaltyV1Account_universal_d_getAccount: typeof getAccount;\n  const loyaltyV1Account_universal_d_listUserAccounts: typeof listUserAccounts;\n  type loyaltyV1Account_universal_d_ListUserAccountsOptions = ListUserAccountsOptions;\n  const loyaltyV1Account_universal_d_getProgramTotals: typeof getProgramTotals;\n  const loyaltyV1Account_universal_d_getCurrentMemberAccount: typeof getCurrentMemberAccount;\n  const loyaltyV1Account_universal_d_getAccountBySecondaryId: typeof getAccountBySecondaryId;\n  type loyaltyV1Account_universal_d_GetAccountBySecondaryIdOptions = GetAccountBySecondaryIdOptions;\n  const loyaltyV1Account_universal_d_listAccounts: typeof listAccounts;\n  type loyaltyV1Account_universal_d_ListAccountsOptions = ListAccountsOptions;\n  const loyaltyV1Account_universal_d_getTransaction: typeof getTransaction;\n  const loyaltyV1Account_universal_d_listTransactions: typeof listTransactions;\n  type loyaltyV1Account_universal_d_ListTransactionsOptions = ListTransactionsOptions;\n  namespace loyaltyV1Account_universal_d {\n    export {\n      __debug$4 as __debug,\n      loyaltyV1Account_universal_d_LoyaltyAccount as LoyaltyAccount,\n      loyaltyV1Account_universal_d_Points as Points,\n      loyaltyV1Account_universal_d_LatestTransaction as LatestTransaction,\n      loyaltyV1Account_universal_d_TransactionType as TransactionType,\n      loyaltyV1Account_universal_d_RedeemInfo as RedeemInfo,\n      Tier$1 as Tier,\n      loyaltyV1Account_universal_d_RewardAvailabilitiesChanged as RewardAvailabilitiesChanged,\n      loyaltyV1Account_universal_d_RewardAvailabilityChangeReason as RewardAvailabilityChangeReason,\n      loyaltyV1Account_universal_d_RewardAvailabilityUpdated as RewardAvailabilityUpdated,\n      loyaltyV1Account_universal_d_UpdateTrigger as UpdateTrigger,\n      loyaltyV1Account_universal_d_CreateAccountRequest as CreateAccountRequest,\n      loyaltyV1Account_universal_d_CreateAccountResponse as CreateAccountResponse,\n      loyaltyV1Account_universal_d_EarnPointsRequest as EarnPointsRequest,\n      loyaltyV1Account_universal_d_EarnPointsResponse as EarnPointsResponse,\n      loyaltyV1Account_universal_d_PointsUpdated as PointsUpdated,\n      loyaltyV1Account_universal_d_AdjustPointsRequest as AdjustPointsRequest,\n      loyaltyV1Account_universal_d_AdjustPointsRequestTypeOneOf as AdjustPointsRequestTypeOneOf,\n      loyaltyV1Account_universal_d_AdjustPointsResponse as AdjustPointsResponse,\n      loyaltyV1Account_universal_d_RedeemPointsRequest as RedeemPointsRequest,\n      loyaltyV1Account_universal_d_RedeemPointsResponse as RedeemPointsResponse,\n      loyaltyV1Account_universal_d_GetAccountRequest as GetAccountRequest,\n      loyaltyV1Account_universal_d_GetAccountResponse as GetAccountResponse,\n      loyaltyV1Account_universal_d_ListUserAccountsRequest as ListUserAccountsRequest,\n      loyaltyV1Account_universal_d_ListUserAccountsResponse as ListUserAccountsResponse,\n      loyaltyV1Account_universal_d_LoyaltyAccountForMetaSite as LoyaltyAccountForMetaSite,\n      loyaltyV1Account_universal_d_GetProgramTotalsRequest as GetProgramTotalsRequest,\n      loyaltyV1Account_universal_d_GetProgramTotalsResponse as GetProgramTotalsResponse,\n      loyaltyV1Account_universal_d_TierTotal as TierTotal,\n      loyaltyV1Account_universal_d_GetCurrentMemberAccountRequest as GetCurrentMemberAccountRequest,\n      loyaltyV1Account_universal_d_GetCurrentMemberAccountResponse as GetCurrentMemberAccountResponse,\n      loyaltyV1Account_universal_d_GetAccountBySecondaryIdRequest as GetAccountBySecondaryIdRequest,\n      loyaltyV1Account_universal_d_GetAccountBySecondaryIdRequestIdOneOf as GetAccountBySecondaryIdRequestIdOneOf,\n      loyaltyV1Account_universal_d_GetAccountBySecondaryIdResponse as GetAccountBySecondaryIdResponse,\n      loyaltyV1Account_universal_d_ListAccountsRequest as ListAccountsRequest,\n      CursorPaging$2 as CursorPaging,\n      loyaltyV1Account_universal_d_ListAccountsResponse as ListAccountsResponse,\n      PagingMetadataV2$2 as PagingMetadataV2,\n      Cursors$2 as Cursors,\n      loyaltyV1Account_universal_d_GetTransactionRequest as GetTransactionRequest,\n      loyaltyV1Account_universal_d_GetTransactionResponse as GetTransactionResponse,\n      loyaltyV1Account_universal_d_Transaction as Transaction,\n      loyaltyV1Account_universal_d_ListTransactionsRequest as ListTransactionsRequest,\n      loyaltyV1Account_universal_d_ListTransactionsResponse as ListTransactionsResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      ExtendedFieldsUpdatedEvent$2 as ExtendedFieldsUpdatedEvent,\n      Empty$3 as Empty,\n      loyaltyV1Account_universal_d_AccountsMerged as AccountsMerged,\n      TiersRollingUpdate$1 as TiersRollingUpdate,\n      TiersProgramSettingsChanged$1 as TiersProgramSettingsChanged,\n      TiersProgramSettings$1 as TiersProgramSettings,\n      TiersProgramSettingsPeriodOneOf$1 as TiersProgramSettingsPeriodOneOf,\n      Status$2 as Status,\n      TierDefinition$1 as TierDefinition,\n      RollingWindow$1 as RollingWindow,\n      loyaltyV1Account_universal_d_SubscriptionEvent as SubscriptionEvent,\n      loyaltyV1Account_universal_d_SubscriptionEventEventOneOf as SubscriptionEventEventOneOf,\n      loyaltyV1Account_universal_d_SubscriptionCreated as SubscriptionCreated,\n      loyaltyV1Account_universal_d_Subscription as Subscription,\n      loyaltyV1Account_universal_d_BillingReference as BillingReference,\n      loyaltyV1Account_universal_d_ProviderName as ProviderName,\n      loyaltyV1Account_universal_d_Cycle as Cycle,\n      loyaltyV1Account_universal_d_CycleCycleSelectorOneOf as CycleCycleSelectorOneOf,\n      loyaltyV1Account_universal_d_Interval as Interval,\n      loyaltyV1Account_universal_d_IntervalUnit as IntervalUnit,\n      loyaltyV1Account_universal_d_OneTime as OneTime,\n      loyaltyV1Account_universal_d_SubscriptionStatus as SubscriptionStatus,\n      loyaltyV1Account_universal_d_SubscriptionAssigned as SubscriptionAssigned,\n      loyaltyV1Account_universal_d_SubscriptionCancelled as SubscriptionCancelled,\n      loyaltyV1Account_universal_d_CancellationDetails as CancellationDetails,\n      loyaltyV1Account_universal_d_Initiator as Initiator,\n      loyaltyV1Account_universal_d_SubscriptionAutoRenewTurnedOn as SubscriptionAutoRenewTurnedOn,\n      loyaltyV1Account_universal_d_SubscriptionAutoRenewTurnedOff as SubscriptionAutoRenewTurnedOff,\n      loyaltyV1Account_universal_d_SubscriptionUnassigned as SubscriptionUnassigned,\n      loyaltyV1Account_universal_d_UnassignReason as UnassignReason,\n      loyaltyV1Account_universal_d_SubscriptionTransferred as SubscriptionTransferred,\n      loyaltyV1Account_universal_d_RecurringChargeSucceeded as RecurringChargeSucceeded,\n      loyaltyV1Account_universal_d_ContractSwitched as ContractSwitched,\n      loyaltyV1Account_universal_d_ContractSwitchType as ContractSwitchType,\n      loyaltyV1Account_universal_d_ContractSwitchReason as ContractSwitchReason,\n      loyaltyV1Account_universal_d_ProductPriceIncreaseData as ProductPriceIncreaseData,\n      loyaltyV1Account_universal_d_SubscriptionNearEndOfPeriod as SubscriptionNearEndOfPeriod,\n      loyaltyV1Account_universal_d_SubscriptionPendingChange as SubscriptionPendingChange,\n      loyaltyV1Account_universal_d_createAccount as createAccount,\n      loyaltyV1Account_universal_d_earnPoints as earnPoints,\n      loyaltyV1Account_universal_d_EarnPointsOptions as EarnPointsOptions,\n      loyaltyV1Account_universal_d_adjustPoints as adjustPoints,\n      loyaltyV1Account_universal_d_AdjustPointsOptions as AdjustPointsOptions,\n      loyaltyV1Account_universal_d_redeemPoints as redeemPoints,\n      loyaltyV1Account_universal_d_RedeemPointsOptions as RedeemPointsOptions,\n      loyaltyV1Account_universal_d_getAccount as getAccount,\n      loyaltyV1Account_universal_d_listUserAccounts as listUserAccounts,\n      loyaltyV1Account_universal_d_ListUserAccountsOptions as ListUserAccountsOptions,\n      loyaltyV1Account_universal_d_getProgramTotals as getProgramTotals,\n      loyaltyV1Account_universal_d_getCurrentMemberAccount as getCurrentMemberAccount,\n      loyaltyV1Account_universal_d_getAccountBySecondaryId as getAccountBySecondaryId,\n      loyaltyV1Account_universal_d_GetAccountBySecondaryIdOptions as GetAccountBySecondaryIdOptions,\n      loyaltyV1Account_universal_d_listAccounts as listAccounts,\n      loyaltyV1Account_universal_d_ListAccountsOptions as ListAccountsOptions,\n      loyaltyV1Account_universal_d_getTransaction as getTransaction,\n      loyaltyV1Account_universal_d_listTransactions as listTransactions,\n      loyaltyV1Account_universal_d_ListTransactionsOptions as ListTransactionsOptions,\n    };\n  }\n  \n  const __debug$3: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * A loyalty program allows sites to maintain customer reward accounts. Site owners can create a\n   * loyalty program to increase customer retention. Read more about the loyalty program in\n   * [this overview](https://support.wix.com/en/article/wix-loyalty-program-an-overview).\n   */\n  interface LoyaltyProgram {\n      /** Program name. */\n      name?: string | null;\n      /** Information about the program's collectible entity. */\n      pointDefinition?: PointDefinition;\n      /**\n       * Program status. Customers can only earn or redeem points while the program is `ACTIVE`.\n       *\n       * Default: `DRAFT`\n       * @readonly\n       */\n      status?: ProgramStatus;\n      /**\n       * Date and time the program was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the program was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  interface PointDefinition {\n      /**\n       * Display name for the program's collectible unit. It's recommended to use the plural, for example\n       * `\"Stars\"`. In contrast to a custom name, the default `\"Points\"` name is translated and adjusted to singular based\n       * on circumstances.\n       *\n       * Default: `\"Points\"`\n       *\n       * Max: 20 characters\n       */\n      customName?: string | null;\n      /** Details about the points icon. */\n      icon?: string;\n  }\n  enum ProgramStatus {\n      UNKNOWN = \"UNKNOWN\",\n      /** initial program status (program was created but was not enabled yet) */\n      DRAFT = \"DRAFT\",\n      /** program is active */\n      ACTIVE = \"ACTIVE\",\n      /** program was manually disabled by the user (this action can be reverted, meaning user can set it to be active again) */\n      PAUSED = \"PAUSED\"\n  }\n  interface GetLoyaltyProgramRequest {\n  }\n  interface GetLoyaltyProgramResponse {\n      /** Retrieved loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface BulkGetLoyaltyProgramRequest {\n      /** Metasite IDs. */\n      metaSiteIds?: string[];\n  }\n  interface BulkGetLoyaltyProgramResponse {\n      /** Retrieved loyalty programs. */\n      programInSites?: ProgramInSite[];\n  }\n  interface ProgramInSite {\n      /** Metasite ID. */\n      metaSiteId?: string;\n      /** Loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface UpdateLoyaltyProgramRequest {\n      /** Loyalty program fields to update. */\n      loyaltyProgram: LoyaltyProgram;\n  }\n  interface UpdateLoyaltyProgramResponse {\n      /** Updated loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface ActivateLoyaltyProgramRequest {\n  }\n  interface ActivateLoyaltyProgramResponse {\n      /** Activated loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface PauseLoyaltyProgramRequest {\n  }\n  interface PauseLoyaltyProgramResponse {\n      /** Paused loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface GetLoyaltyProgramDescriptionRequest {\n      /** List of description fields to retrieve. Supported values: `description`, `updatedDate`. */\n      fields?: string[];\n  }\n  interface GetLoyaltyProgramDescriptionResponse {\n      /** Retrieved loyalty program description. */\n      description?: string | null;\n      /** Date and time of the latest description update. */\n      _updatedDate?: Date;\n  }\n  interface UpdateLoyaltyProgramDescriptionRequest {\n      /** Loyalty program description to update. */\n      description?: string;\n  }\n  interface UpdateLoyaltyProgramDescriptionResponse {\n  }\n  interface LoyaltyProgramDescriptionUpdated {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      metaSiteId?: string;\n      version?: string;\n      timestamp?: string;\n      assets?: Asset[];\n      siteCreated?: SiteCreated;\n      siteTransferred?: SiteTransferred;\n      siteDeleted?: SiteDeleted;\n      siteUndeleted?: SiteUndeleted;\n      sitePublished?: SitePublished;\n      siteUnpublished?: SiteUnpublished;\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      serviceProvisioned?: ServiceProvisioned;\n      serviceRemoved?: ServiceRemoved;\n      siteRenamedPayload?: SiteRenamed;\n      hardDeleted?: SiteHardDeleted;\n      namespaceChanged?: NamespaceChanged;\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      siteCreated?: SiteCreated;\n      siteTransferred?: SiteTransferred;\n      siteDeleted?: SiteDeleted;\n      siteUndeleted?: SiteUndeleted;\n      sitePublished?: SitePublished;\n      siteUnpublished?: SiteUnpublished;\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      serviceProvisioned?: ServiceProvisioned;\n      serviceRemoved?: ServiceRemoved;\n      siteRenamedPayload?: SiteRenamed;\n      hardDeleted?: SiteHardDeleted;\n      namespaceChanged?: NamespaceChanged;\n  }\n  interface Asset {\n      appDefId?: string;\n      instanceId?: string;\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      originTemplateId?: string;\n      ownerId?: string;\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      siteName?: string;\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      dateDeleted?: Date;\n      deleteStatus?: DeleteStatus;\n      deleteOrigin?: string;\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      originInstanceId?: string;\n      version?: string | null;\n  }\n  interface ServiceRemoved {\n      appDefId?: string;\n      instanceId?: string;\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      newSiteName?: string;\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      oldNamespace?: Namespace;\n      newNamespace?: Namespace;\n  }\n  interface Empty$2 {\n  }\n  /**\n   * Retrieves the loyalty program.\n   *\n   * The `getLoyaltyProgram()` function returns a Promise that resolves to the site's loyalty program.\n   *\n   * This function requires no additional parameters as there is only a single loyalty program available for any site.\n   * @public\n   * @documentationMaturity preview\n   */\n  function getLoyaltyProgram(): Promise<GetLoyaltyProgramResponse>;\n  /**\n   * Retrieves loyalty programs for multiple metasites.\n   * @documentationMaturity preview */\n  function bulkGetLoyaltyProgram(options?: BulkGetLoyaltyProgramOptions): Promise<BulkGetLoyaltyProgramResponse>;\n  interface BulkGetLoyaltyProgramOptions {\n      /** Metasite IDs. */\n      metaSiteIds?: string[];\n  }\n  /**\n   * Updates the loyalty program.\n   *\n   * The `updateLoyaltyProgram()` function returns a Promise that resolves when the loyalty program is updated.\n   *\n   * With the `updateLoyaltyProgram()` function you can update the name of the loyalty program and the details of the collectible points unit. To activate the loyalty program use the [`activateLoyaltyProgram()`](wix-loyalty-backend/program/activateloyaltyprogram) function.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Froles-and-permissions) can update a loyalty program.\n   *\n   *\n   * @param loyaltyProgram - Loyalty program fields to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField loyaltyProgram\n   */\n  function updateLoyaltyProgram(loyaltyProgram: LoyaltyProgram): Promise<UpdateLoyaltyProgramResponse>;\n  /**\n   * Changes the program status to `ACTIVE`.\n   *\n   * The `activateLoyaltyProgram()` function returns a Promise that resolves when the status of the loyalty program is successfully changed to `ACTIVE`.\n   *\n   * Initially when a loyalty program is installed, the status is set to `DRAFT`. This function changes the status to `ACTIVE`. A site's customers can only earn or redeem points while the program status is `ACTIVE`.\n   *\n   * This function updates only the status of a loyalty program, to make other updates to the program, use the [`updateLoyaltyProgram()`](wix-loyalty-backend/program/updateloyaltyprogram) function.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Froles-and-permissions) can activate a loyalty program.\n   * @public\n   * @documentationMaturity preview\n   */\n  function activateLoyaltyProgram(): Promise<ActivateLoyaltyProgramResponse>;\n  /**\n   * Changes the program status to `PAUSED`.\n   * @documentationMaturity preview */\n  function pauseLoyaltyProgram(): Promise<PauseLoyaltyProgramResponse>;\n  /**\n   * Retrieves the program description.\n   * @documentationMaturity preview\n   * @returns The `getLoyaltyProgram()` function returns a Promise that resolves to the site's loyalty program.\n   */\n  function getLoyaltyProgramDescription(options?: GetLoyaltyProgramDescriptionOptions): Promise<GetLoyaltyProgramDescriptionResponse>;\n  interface GetLoyaltyProgramDescriptionOptions {\n      /** List of description fields to retrieve. Supported values: `description`, `updatedDate`. */\n      fields?: string[];\n  }\n  /**\n   * Updates the program description.\n   * @documentationMaturity preview */\n  function updateLoyaltyProgramDescription(options?: UpdateLoyaltyProgramDescriptionOptions): Promise<void>;\n  interface UpdateLoyaltyProgramDescriptionOptions {\n      /** Loyalty program description to update. */\n      description?: string;\n  }\n  \n  type loyaltyV1Program_universal_d_LoyaltyProgram = LoyaltyProgram;\n  type loyaltyV1Program_universal_d_PointDefinition = PointDefinition;\n  type loyaltyV1Program_universal_d_ProgramStatus = ProgramStatus;\n  const loyaltyV1Program_universal_d_ProgramStatus: typeof ProgramStatus;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramRequest = GetLoyaltyProgramRequest;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramResponse = GetLoyaltyProgramResponse;\n  type loyaltyV1Program_universal_d_BulkGetLoyaltyProgramRequest = BulkGetLoyaltyProgramRequest;\n  type loyaltyV1Program_universal_d_BulkGetLoyaltyProgramResponse = BulkGetLoyaltyProgramResponse;\n  type loyaltyV1Program_universal_d_ProgramInSite = ProgramInSite;\n  type loyaltyV1Program_universal_d_UpdateLoyaltyProgramRequest = UpdateLoyaltyProgramRequest;\n  type loyaltyV1Program_universal_d_UpdateLoyaltyProgramResponse = UpdateLoyaltyProgramResponse;\n  type loyaltyV1Program_universal_d_ActivateLoyaltyProgramRequest = ActivateLoyaltyProgramRequest;\n  type loyaltyV1Program_universal_d_ActivateLoyaltyProgramResponse = ActivateLoyaltyProgramResponse;\n  type loyaltyV1Program_universal_d_PauseLoyaltyProgramRequest = PauseLoyaltyProgramRequest;\n  type loyaltyV1Program_universal_d_PauseLoyaltyProgramResponse = PauseLoyaltyProgramResponse;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionRequest = GetLoyaltyProgramDescriptionRequest;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionResponse = GetLoyaltyProgramDescriptionResponse;\n  type loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionRequest = UpdateLoyaltyProgramDescriptionRequest;\n  type loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionResponse = UpdateLoyaltyProgramDescriptionResponse;\n  type loyaltyV1Program_universal_d_LoyaltyProgramDescriptionUpdated = LoyaltyProgramDescriptionUpdated;\n  type loyaltyV1Program_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type loyaltyV1Program_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type loyaltyV1Program_universal_d_Asset = Asset;\n  type loyaltyV1Program_universal_d_State = State;\n  const loyaltyV1Program_universal_d_State: typeof State;\n  type loyaltyV1Program_universal_d_SiteCreated = SiteCreated;\n  type loyaltyV1Program_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const loyaltyV1Program_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type loyaltyV1Program_universal_d_Namespace = Namespace;\n  const loyaltyV1Program_universal_d_Namespace: typeof Namespace;\n  type loyaltyV1Program_universal_d_SiteTransferred = SiteTransferred;\n  type loyaltyV1Program_universal_d_SiteDeleted = SiteDeleted;\n  type loyaltyV1Program_universal_d_DeleteContext = DeleteContext;\n  type loyaltyV1Program_universal_d_DeleteStatus = DeleteStatus;\n  const loyaltyV1Program_universal_d_DeleteStatus: typeof DeleteStatus;\n  type loyaltyV1Program_universal_d_SiteUndeleted = SiteUndeleted;\n  type loyaltyV1Program_universal_d_SitePublished = SitePublished;\n  type loyaltyV1Program_universal_d_SiteUnpublished = SiteUnpublished;\n  type loyaltyV1Program_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type loyaltyV1Program_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type loyaltyV1Program_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type loyaltyV1Program_universal_d_ServiceRemoved = ServiceRemoved;\n  type loyaltyV1Program_universal_d_SiteRenamed = SiteRenamed;\n  type loyaltyV1Program_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type loyaltyV1Program_universal_d_NamespaceChanged = NamespaceChanged;\n  const loyaltyV1Program_universal_d_getLoyaltyProgram: typeof getLoyaltyProgram;\n  const loyaltyV1Program_universal_d_bulkGetLoyaltyProgram: typeof bulkGetLoyaltyProgram;\n  type loyaltyV1Program_universal_d_BulkGetLoyaltyProgramOptions = BulkGetLoyaltyProgramOptions;\n  const loyaltyV1Program_universal_d_updateLoyaltyProgram: typeof updateLoyaltyProgram;\n  const loyaltyV1Program_universal_d_activateLoyaltyProgram: typeof activateLoyaltyProgram;\n  const loyaltyV1Program_universal_d_pauseLoyaltyProgram: typeof pauseLoyaltyProgram;\n  const loyaltyV1Program_universal_d_getLoyaltyProgramDescription: typeof getLoyaltyProgramDescription;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionOptions = GetLoyaltyProgramDescriptionOptions;\n  const loyaltyV1Program_universal_d_updateLoyaltyProgramDescription: typeof updateLoyaltyProgramDescription;\n  type loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionOptions = UpdateLoyaltyProgramDescriptionOptions;\n  namespace loyaltyV1Program_universal_d {\n    export {\n      __debug$3 as __debug,\n      loyaltyV1Program_universal_d_LoyaltyProgram as LoyaltyProgram,\n      loyaltyV1Program_universal_d_PointDefinition as PointDefinition,\n      loyaltyV1Program_universal_d_ProgramStatus as ProgramStatus,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramRequest as GetLoyaltyProgramRequest,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramResponse as GetLoyaltyProgramResponse,\n      loyaltyV1Program_universal_d_BulkGetLoyaltyProgramRequest as BulkGetLoyaltyProgramRequest,\n      loyaltyV1Program_universal_d_BulkGetLoyaltyProgramResponse as BulkGetLoyaltyProgramResponse,\n      loyaltyV1Program_universal_d_ProgramInSite as ProgramInSite,\n      loyaltyV1Program_universal_d_UpdateLoyaltyProgramRequest as UpdateLoyaltyProgramRequest,\n      loyaltyV1Program_universal_d_UpdateLoyaltyProgramResponse as UpdateLoyaltyProgramResponse,\n      loyaltyV1Program_universal_d_ActivateLoyaltyProgramRequest as ActivateLoyaltyProgramRequest,\n      loyaltyV1Program_universal_d_ActivateLoyaltyProgramResponse as ActivateLoyaltyProgramResponse,\n      loyaltyV1Program_universal_d_PauseLoyaltyProgramRequest as PauseLoyaltyProgramRequest,\n      loyaltyV1Program_universal_d_PauseLoyaltyProgramResponse as PauseLoyaltyProgramResponse,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionRequest as GetLoyaltyProgramDescriptionRequest,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionResponse as GetLoyaltyProgramDescriptionResponse,\n      loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionRequest as UpdateLoyaltyProgramDescriptionRequest,\n      loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionResponse as UpdateLoyaltyProgramDescriptionResponse,\n      loyaltyV1Program_universal_d_LoyaltyProgramDescriptionUpdated as LoyaltyProgramDescriptionUpdated,\n      loyaltyV1Program_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      loyaltyV1Program_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      loyaltyV1Program_universal_d_Asset as Asset,\n      loyaltyV1Program_universal_d_State as State,\n      loyaltyV1Program_universal_d_SiteCreated as SiteCreated,\n      loyaltyV1Program_universal_d_SiteCreatedContext as SiteCreatedContext,\n      loyaltyV1Program_universal_d_Namespace as Namespace,\n      loyaltyV1Program_universal_d_SiteTransferred as SiteTransferred,\n      loyaltyV1Program_universal_d_SiteDeleted as SiteDeleted,\n      loyaltyV1Program_universal_d_DeleteContext as DeleteContext,\n      loyaltyV1Program_universal_d_DeleteStatus as DeleteStatus,\n      loyaltyV1Program_universal_d_SiteUndeleted as SiteUndeleted,\n      loyaltyV1Program_universal_d_SitePublished as SitePublished,\n      loyaltyV1Program_universal_d_SiteUnpublished as SiteUnpublished,\n      loyaltyV1Program_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      loyaltyV1Program_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      loyaltyV1Program_universal_d_ServiceProvisioned as ServiceProvisioned,\n      loyaltyV1Program_universal_d_ServiceRemoved as ServiceRemoved,\n      loyaltyV1Program_universal_d_SiteRenamed as SiteRenamed,\n      loyaltyV1Program_universal_d_SiteHardDeleted as SiteHardDeleted,\n      loyaltyV1Program_universal_d_NamespaceChanged as NamespaceChanged,\n      Empty$2 as Empty,\n      loyaltyV1Program_universal_d_getLoyaltyProgram as getLoyaltyProgram,\n      loyaltyV1Program_universal_d_bulkGetLoyaltyProgram as bulkGetLoyaltyProgram,\n      loyaltyV1Program_universal_d_BulkGetLoyaltyProgramOptions as BulkGetLoyaltyProgramOptions,\n      loyaltyV1Program_universal_d_updateLoyaltyProgram as updateLoyaltyProgram,\n      loyaltyV1Program_universal_d_activateLoyaltyProgram as activateLoyaltyProgram,\n      loyaltyV1Program_universal_d_pauseLoyaltyProgram as pauseLoyaltyProgram,\n      loyaltyV1Program_universal_d_getLoyaltyProgramDescription as getLoyaltyProgramDescription,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionOptions as GetLoyaltyProgramDescriptionOptions,\n      loyaltyV1Program_universal_d_updateLoyaltyProgramDescription as updateLoyaltyProgramDescription,\n      loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionOptions as UpdateLoyaltyProgramDescriptionOptions,\n    };\n  }\n  \n  const __debug$2: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * A tier is a loyalty level that customers are assigned to based on the amount of points they earn.\n   * Read more about loyalty tiers [here](https://support.wix.com/en/article/about-tiers).\n   */\n  interface Tier {\n      /**\n       * Tier ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Information about the tier. */\n      tierDefinition?: TierDefinition;\n      /**\n       * The amount of points required to be in this tier.\n       *\n       * Min: `\"0\"`\n       * Max: `\"9999999\"`\n       */\n      requiredPoints?: number;\n      /**\n       * Revision number, which increments by `\"1\"` each time the loyalty tier is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty tier.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tier was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the tier was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  /** Information about the tier. */\n  interface TierDefinition {\n      /** Details about the tier icon. */\n      icon?: string;\n      /**\n       * Tier name.\n       *\n       * Min: 2 characters\n       * Max: 50 characters\n       */\n      name?: string | null;\n      /**\n       * Tier desciption.\n       *\n       * Max: 70 characters\n       */\n      description?: string | null;\n  }\n  interface TiersProgramSettingsChanged {\n      programSettings?: TiersProgramSettings;\n  }\n  /** There can be single TiersSettings per site and it's global (i.e. applies to all program's tiers) */\n  interface TiersProgramSettings extends TiersProgramSettingsPeriodOneOf {\n      /**\n       * *Required.** Period of time used to calculate loyalty points for tier assignment.\n       *\n       * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n       */\n      rollingWindow?: RollingWindow;\n      /** Tiers program status. */\n      status?: Status$1;\n      /**\n       * Revision number, which increments by `\"1\"` each time the loyalty tiers settings are updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty tiers settings.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the loyalty tiers program was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the loyalty tiers program was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Information about the base loyalty tier.\n       *\n       * The base tier is the default tier for any account that is unassigned for not meeting\n       * the required points threshold of any other tier.\n       */\n      baseTierDefinition?: TierDefinition;\n  }\n  /** @oneof */\n  interface TiersProgramSettingsPeriodOneOf {\n      /**\n       * *Required.** Period of time used to calculate loyalty points for tier assignment.\n       *\n       * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n       */\n      rollingWindow?: RollingWindow;\n  }\n  enum Status$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Tiers are disabled */\n      DISABLED = \"DISABLED\",\n      /** Tiers are enabled but not yet active */\n      DRAFT = \"DRAFT\",\n      /** Tiers are active */\n      ACTIVE = \"ACTIVE\",\n      /** Tiers are paused */\n      PAUSED = \"PAUSED\"\n  }\n  /**\n   * *Required.** Period of time used to calculate loyalty points for tier assignment.\n   *\n   * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n   */\n  interface RollingWindow {\n      /**\n       * Number of months to use for the rolling window period.\n       *\n       * Min: `\"12\"`\n       * Max: `\"36\"`\n       */\n      durationInMonths?: number;\n  }\n  interface TiersRollingUpdate {\n  }\n  interface CreateTierRequest {\n      /** Tier to create. */\n      tier: Tier;\n  }\n  interface CreateTierResponse {\n      /** Created loyalty tier. */\n      tier?: Tier;\n  }\n  interface BulkCreateTiersRequest {\n      /** Tiers to create. */\n      tiers?: Tier[];\n  }\n  interface BulkCreateTiersResponse {\n      /** Created tiers. */\n      results?: BulkTierResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  /** Retrieved tiers. */\n  interface BulkTierResult {\n      /** Individual tier metadata. */\n      itemMetadata?: ItemMetadata$1;\n      /** Individual tier information. */\n      item?: Tier;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetTierRequest {\n      /** ID of the tier to retrieve. */\n      tierId: string;\n  }\n  interface GetTierResponse {\n      /** Retrieved loyalty tier. */\n      tier?: Tier;\n  }\n  interface UpdateTierRequest {\n      /** Tier details to update. */\n      tier: Tier;\n  }\n  interface UpdateTierResponse {\n      /** Updated loyalty tier. */\n      tier?: Tier;\n  }\n  interface TierRequiredPointsChanged {\n      tier?: Tier;\n  }\n  interface DeleteTierRequest {\n      /** ID of the tier to delete. */\n      tierId: string;\n      /** Current `revision` of the tier to delete. */\n      revision?: string;\n  }\n  interface DeleteTierResponse {\n  }\n  interface ListTiersRequest {\n  }\n  interface ListTiersResponse {\n      /** Retrieved loyalty tiers. */\n      tiers?: Tier[];\n  }\n  interface CreateTiersProgramSettingsRequest {\n      programSettings: TiersProgramSettings;\n  }\n  interface CreateTiersProgramSettingsResponse {\n      programSettings?: TiersProgramSettings;\n  }\n  interface GetTiersProgramRequest {\n  }\n  interface GetTiersProgramResponse {\n      tiers?: Tier[];\n      programSettings?: TiersProgramSettings;\n      vipPlan?: boolean;\n  }\n  interface GetTiersProgramSettingsRequest {\n  }\n  interface GetTiersProgramSettingsResponse {\n      /** Tiers program settings. */\n      programSettings?: TiersProgramSettings;\n      /** For internal use. */\n      vipPlan?: boolean;\n  }\n  interface UpdateTiersProgramSettingsRequest {\n      /** Settings for the tiers program. */\n      programSettings: TiersProgramSettings;\n  }\n  interface UpdateTiersProgramSettingsResponse {\n      /** Updated program settings. */\n      programSettings?: TiersProgramSettings;\n  }\n  interface RecalculateAllTiersRequest {\n  }\n  interface RecalculateAllTiersResponse {\n  }\n  /**\n   * Creates a tier.\n   *\n   * The name for a tier and the amount of required points to qualify for a tier can only exist for a single tier.\n   * Attempts to create a tier with a `tierDefinition.name` or `requiredPoints` that already exists will return an error.\n   *\n   * To create up to 20 tiers at once, use [Bulk Create Tiers](https://dev.wix.com/api/rest/wix-loyalty-program/tiers/bulk-create-tiers).\n   *\n   * >**Note:** You must have a [Business VIP Premium plan](https://support.wix.com/en/article/business-vip-premium-plan-overview)\n   * >or a [Scale Premium plan](https://support.wix.com/en/article/editor-x-scale-premium-plan-overview) to add tiers.\n   * @param tier - Tier to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tier\n   */\n  function createTier(tier: Tier): Promise<CreateTierResponse>;\n  /**\n   * Creates up to 20 tiers.\n   *\n   * The name for a tier and the amount of required points to qualify for a tier can only exist for a single tier.\n   * Attempts to create a tier with a `tierDefinition.name` or `requiredPoints` that already exists will return an error.\n   *\n   * To create a single tier, use [Create Tier](https://dev.wix.com/api/rest/wix-loyalty-program/tiers/create-tier).\n   *\n   * >**Note:** You must have a [Business VIP Premium plan](https://support.wix.com/en/article/business-vip-premium-plan-overview)\n   * >or a [Scale Premium plan](https://support.wix.com/en/article/editor-x-scale-premium-plan-overview) to add tiers.\n   * @public\n   * @documentationMaturity preview\n   */\n  function bulkCreateTiers(options?: BulkCreateTiersOptions): Promise<BulkCreateTiersResponse>;\n  interface BulkCreateTiersOptions {\n      /** Tiers to create. */\n      tiers?: Tier[];\n  }\n  /**\n   * Retrieves a loyalty tier.\n   *\n   * To retrieve a list of all of a site's tiers, use [List Tiers](https://dev.wix.com/api/rest/wix-loyalty-program/tiers/list-tiers).\n   * @param tierId - ID of the tier to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tierId\n   */\n  function getTier(tierId: string): Promise<GetTierResponse>;\n  /**\n   * Updates a loyalty tier.\n   *\n   * Use this endpoint to update tier-specific settings, such as the name and the required points\n   * threshold of an individual loyalty tier. To update global settings that apply to all of a site's loyalty tiers,\n   * use [Update Tiers Program Settings](https://dev.wix.com/api/rest/wix-loyalty-program/tiers/update-tiers-program-settings).\n   * @param _id - Tier ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField tier\n   * @requiredField tier.revision\n   */\n  function updateTier(_id: string | null, tier: UpdateTier): Promise<UpdateTierResponse>;\n  interface UpdateTier {\n      /**\n       * Tier ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Information about the tier. */\n      tierDefinition?: TierDefinition;\n      /**\n       * The amount of points required to be in this tier.\n       *\n       * Min: `\"0\"`\n       * Max: `\"9999999\"`\n       */\n      requiredPoints?: number;\n      /**\n       * Revision number, which increments by `\"1\"` each time the loyalty tier is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty tier.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tier was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the tier was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  /**\n   * Deletes a loyalty tier.\n   * @param tierId - ID of the tier to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tierId\n   */\n  function deleteTier(tierId: string, options?: DeleteTierOptions): Promise<void>;\n  interface DeleteTierOptions {\n      /** Current `revision` of the tier to delete. */\n      revision?: string;\n  }\n  /**\n   * Retrieves a list of a site's tiers.\n   *\n   * To retrieve a specific tier, use [Get Tier](https://dev.wix.com/api/rest/wix-loyalty-program/tiers/get-tier).\n   * @public\n   * @documentationMaturity preview\n   */\n  function listTiers(): Promise<ListTiersResponse>;\n  /**\n   * Create TiersProgramSettings\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programSettings\n   */\n  function createTiersProgramSettings(programSettings: TiersProgramSettings): Promise<CreateTiersProgramSettingsResponse>;\n  /**\n   * GetTiersProgram returns Tiers and ProgramSettings in single response\n   * If TiersProgramSettings don't exist, default TiersProgramSettings are created\n   * @internal\n   * @documentationMaturity preview\n   */\n  function getTiersProgram(): Promise<GetTiersProgramResponse>;\n  /**\n   * Retrieves the settings for the tiers program.\n   *\n   * Tiers program settings apply globally to all tiers in the program.\n   * @public\n   * @documentationMaturity preview\n   */\n  function getTiersProgramSettings(): Promise<GetTiersProgramSettingsResponse>;\n  /**\n   * Updates the global settings of a loyalty tier program.\n   *\n   * Use this endpoint to update settings that apply to all of a site's loyalty tiers.\n   * To update tier-specific settings for an individual tier, use\n   * [Update Tier](https://dev.wix.com/api/rest/wix-loyalty-program/tiers/update-tier).\n   *\n   * By default, the `status` of a tiers program is set to `\"DISABLED\"` and must be manually updated to `\"ACTIVE\"` using\n   * this endpoint or through a site owner's [dashboard](https://manage.wix.com/account/site-selector/?actionUrl=https%3A%2F%2Fwww.wix.com%2Fdashboard%2F%7BmetaSiteId%7D%2Floyalty-accounts%2Fmanage%3Ftab%3Dpoints-and-rewards&title=Select+a+Site&primaryButtonText=Select+Site).\n   *\n   * >**Note:** The `status`, `revision`, and `rollingWindow` parameters must be passed to update the tiers program settings.\n   * >The `baseTierDefinition` fields are not required, however, if you don't pass them they will reset to\n   * >their default values of empty fields.\n   * @param programSettings - Settings for the tiers program.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField programSettings\n   * @requiredField programSettings.revision\n   * @requiredField programSettings.status\n   */\n  function updateTiersProgramSettings(programSettings: TiersProgramSettings): Promise<UpdateTiersProgramSettingsResponse>;\n  \n  type loyaltyV1Tier_universal_d_Tier = Tier;\n  type loyaltyV1Tier_universal_d_TierDefinition = TierDefinition;\n  type loyaltyV1Tier_universal_d_TiersProgramSettingsChanged = TiersProgramSettingsChanged;\n  type loyaltyV1Tier_universal_d_TiersProgramSettings = TiersProgramSettings;\n  type loyaltyV1Tier_universal_d_TiersProgramSettingsPeriodOneOf = TiersProgramSettingsPeriodOneOf;\n  type loyaltyV1Tier_universal_d_RollingWindow = RollingWindow;\n  type loyaltyV1Tier_universal_d_TiersRollingUpdate = TiersRollingUpdate;\n  type loyaltyV1Tier_universal_d_CreateTierRequest = CreateTierRequest;\n  type loyaltyV1Tier_universal_d_CreateTierResponse = CreateTierResponse;\n  type loyaltyV1Tier_universal_d_BulkCreateTiersRequest = BulkCreateTiersRequest;\n  type loyaltyV1Tier_universal_d_BulkCreateTiersResponse = BulkCreateTiersResponse;\n  type loyaltyV1Tier_universal_d_BulkTierResult = BulkTierResult;\n  type loyaltyV1Tier_universal_d_GetTierRequest = GetTierRequest;\n  type loyaltyV1Tier_universal_d_GetTierResponse = GetTierResponse;\n  type loyaltyV1Tier_universal_d_UpdateTierRequest = UpdateTierRequest;\n  type loyaltyV1Tier_universal_d_UpdateTierResponse = UpdateTierResponse;\n  type loyaltyV1Tier_universal_d_TierRequiredPointsChanged = TierRequiredPointsChanged;\n  type loyaltyV1Tier_universal_d_DeleteTierRequest = DeleteTierRequest;\n  type loyaltyV1Tier_universal_d_DeleteTierResponse = DeleteTierResponse;\n  type loyaltyV1Tier_universal_d_ListTiersRequest = ListTiersRequest;\n  type loyaltyV1Tier_universal_d_ListTiersResponse = ListTiersResponse;\n  type loyaltyV1Tier_universal_d_CreateTiersProgramSettingsRequest = CreateTiersProgramSettingsRequest;\n  type loyaltyV1Tier_universal_d_CreateTiersProgramSettingsResponse = CreateTiersProgramSettingsResponse;\n  type loyaltyV1Tier_universal_d_GetTiersProgramRequest = GetTiersProgramRequest;\n  type loyaltyV1Tier_universal_d_GetTiersProgramResponse = GetTiersProgramResponse;\n  type loyaltyV1Tier_universal_d_GetTiersProgramSettingsRequest = GetTiersProgramSettingsRequest;\n  type loyaltyV1Tier_universal_d_GetTiersProgramSettingsResponse = GetTiersProgramSettingsResponse;\n  type loyaltyV1Tier_universal_d_UpdateTiersProgramSettingsRequest = UpdateTiersProgramSettingsRequest;\n  type loyaltyV1Tier_universal_d_UpdateTiersProgramSettingsResponse = UpdateTiersProgramSettingsResponse;\n  type loyaltyV1Tier_universal_d_RecalculateAllTiersRequest = RecalculateAllTiersRequest;\n  type loyaltyV1Tier_universal_d_RecalculateAllTiersResponse = RecalculateAllTiersResponse;\n  const loyaltyV1Tier_universal_d_createTier: typeof createTier;\n  const loyaltyV1Tier_universal_d_bulkCreateTiers: typeof bulkCreateTiers;\n  type loyaltyV1Tier_universal_d_BulkCreateTiersOptions = BulkCreateTiersOptions;\n  const loyaltyV1Tier_universal_d_getTier: typeof getTier;\n  const loyaltyV1Tier_universal_d_updateTier: typeof updateTier;\n  type loyaltyV1Tier_universal_d_UpdateTier = UpdateTier;\n  const loyaltyV1Tier_universal_d_deleteTier: typeof deleteTier;\n  type loyaltyV1Tier_universal_d_DeleteTierOptions = DeleteTierOptions;\n  const loyaltyV1Tier_universal_d_listTiers: typeof listTiers;\n  const loyaltyV1Tier_universal_d_createTiersProgramSettings: typeof createTiersProgramSettings;\n  const loyaltyV1Tier_universal_d_getTiersProgram: typeof getTiersProgram;\n  const loyaltyV1Tier_universal_d_getTiersProgramSettings: typeof getTiersProgramSettings;\n  const loyaltyV1Tier_universal_d_updateTiersProgramSettings: typeof updateTiersProgramSettings;\n  namespace loyaltyV1Tier_universal_d {\n    export {\n      __debug$2 as __debug,\n      loyaltyV1Tier_universal_d_Tier as Tier,\n      loyaltyV1Tier_universal_d_TierDefinition as TierDefinition,\n      loyaltyV1Tier_universal_d_TiersProgramSettingsChanged as TiersProgramSettingsChanged,\n      loyaltyV1Tier_universal_d_TiersProgramSettings as TiersProgramSettings,\n      loyaltyV1Tier_universal_d_TiersProgramSettingsPeriodOneOf as TiersProgramSettingsPeriodOneOf,\n      Status$1 as Status,\n      loyaltyV1Tier_universal_d_RollingWindow as RollingWindow,\n      loyaltyV1Tier_universal_d_TiersRollingUpdate as TiersRollingUpdate,\n      loyaltyV1Tier_universal_d_CreateTierRequest as CreateTierRequest,\n      loyaltyV1Tier_universal_d_CreateTierResponse as CreateTierResponse,\n      loyaltyV1Tier_universal_d_BulkCreateTiersRequest as BulkCreateTiersRequest,\n      loyaltyV1Tier_universal_d_BulkCreateTiersResponse as BulkCreateTiersResponse,\n      loyaltyV1Tier_universal_d_BulkTierResult as BulkTierResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      loyaltyV1Tier_universal_d_GetTierRequest as GetTierRequest,\n      loyaltyV1Tier_universal_d_GetTierResponse as GetTierResponse,\n      loyaltyV1Tier_universal_d_UpdateTierRequest as UpdateTierRequest,\n      loyaltyV1Tier_universal_d_UpdateTierResponse as UpdateTierResponse,\n      loyaltyV1Tier_universal_d_TierRequiredPointsChanged as TierRequiredPointsChanged,\n      loyaltyV1Tier_universal_d_DeleteTierRequest as DeleteTierRequest,\n      loyaltyV1Tier_universal_d_DeleteTierResponse as DeleteTierResponse,\n      loyaltyV1Tier_universal_d_ListTiersRequest as ListTiersRequest,\n      loyaltyV1Tier_universal_d_ListTiersResponse as ListTiersResponse,\n      loyaltyV1Tier_universal_d_CreateTiersProgramSettingsRequest as CreateTiersProgramSettingsRequest,\n      loyaltyV1Tier_universal_d_CreateTiersProgramSettingsResponse as CreateTiersProgramSettingsResponse,\n      loyaltyV1Tier_universal_d_GetTiersProgramRequest as GetTiersProgramRequest,\n      loyaltyV1Tier_universal_d_GetTiersProgramResponse as GetTiersProgramResponse,\n      loyaltyV1Tier_universal_d_GetTiersProgramSettingsRequest as GetTiersProgramSettingsRequest,\n      loyaltyV1Tier_universal_d_GetTiersProgramSettingsResponse as GetTiersProgramSettingsResponse,\n      loyaltyV1Tier_universal_d_UpdateTiersProgramSettingsRequest as UpdateTiersProgramSettingsRequest,\n      loyaltyV1Tier_universal_d_UpdateTiersProgramSettingsResponse as UpdateTiersProgramSettingsResponse,\n      loyaltyV1Tier_universal_d_RecalculateAllTiersRequest as RecalculateAllTiersRequest,\n      loyaltyV1Tier_universal_d_RecalculateAllTiersResponse as RecalculateAllTiersResponse,\n      loyaltyV1Tier_universal_d_createTier as createTier,\n      loyaltyV1Tier_universal_d_bulkCreateTiers as bulkCreateTiers,\n      loyaltyV1Tier_universal_d_BulkCreateTiersOptions as BulkCreateTiersOptions,\n      loyaltyV1Tier_universal_d_getTier as getTier,\n      loyaltyV1Tier_universal_d_updateTier as updateTier,\n      loyaltyV1Tier_universal_d_UpdateTier as UpdateTier,\n      loyaltyV1Tier_universal_d_deleteTier as deleteTier,\n      loyaltyV1Tier_universal_d_DeleteTierOptions as DeleteTierOptions,\n      loyaltyV1Tier_universal_d_listTiers as listTiers,\n      loyaltyV1Tier_universal_d_createTiersProgramSettings as createTiersProgramSettings,\n      loyaltyV1Tier_universal_d_getTiersProgram as getTiersProgram,\n      loyaltyV1Tier_universal_d_getTiersProgramSettings as getTiersProgramSettings,\n      loyaltyV1Tier_universal_d_updateTiersProgramSettings as updateTiersProgramSettings,\n    };\n  }\n  \n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * A loyalty reward is an object a customer can redeem with loyalty points.\n   * Redeeming a reward then creates a loyalty coupon that the customer can use.\n   */\n  interface Reward extends RewardTypeDetailsOneOf {\n      /** Discount details. */\n      discountAmount?: DiscountAmount;\n      /** Coupon details. */\n      couponReward?: CouponReward;\n      /** @internal */\n      coupon?: Coupon;\n      /**\n       * Reward ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Reward name. */\n      name?: string;\n      /**\n       * Amount of points required to receive the reward.\n       * @internal\n       */\n      requiredPoints?: number;\n      /**\n       * Whether the reward is active.\n       *\n       * Default: `\"false\"`\n       */\n      active?: boolean;\n      /**\n       * Reward type.\n       *\n       * + `\"DISCOUNT_AMOUNT\"`: Discount reward. Only available for Wix Restaurants. [Learn more about discounts.](https://support.wix.com/en/article/wix-restaurants-creating-discounts-for-your-customers)\n       * + `\"COUPON_REWARD\"`: Coupon reward. [Learn more about coupons.](https://support.wix.com/en/article/using-coupons-as-loyalty-rewards)\n       * + `\"COUPON\"`: **Deprecated.** Use `\"COUPON_REWARD\"` instead.\n       */\n      type?: RewardType;\n      /**\n       * Revision number, which increments by `\"1\"` each time the loyalty reward is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty reward.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the reward was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the reward was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  /** @oneof */\n  interface RewardTypeDetailsOneOf {\n      /** Discount details. */\n      discountAmount?: DiscountAmount;\n      /** Coupon details. */\n      couponReward?: CouponReward;\n      /** @internal */\n      coupon?: Coupon;\n  }\n  /** Available reward types. */\n  enum RewardType {\n      UNDEFINED = \"UNDEFINED\",\n      DISCOUNT_AMOUNT = \"DISCOUNT_AMOUNT\",\n      COUPON = \"COUPON\",\n      COUPON_REWARD = \"COUPON_REWARD\"\n  }\n  /** TODO add [(wix.api.minSize) = 1, (wix.api.maxSize) = 20] to DiscountAmount; */\n  interface DiscountAmount {\n      /**\n       * Discount amount. Must be a positive value.\n       * @internal\n       */\n      amount?: string;\n      /** Discount details for each tier. */\n      configsByTier?: DiscountAmountConfig[];\n  }\n  /** TODO after migration for cost_in_points use [(wix.api.min) = 1, (wix.api.max) = 9999999]; */\n  interface DiscountAmountConfig {\n      /** Discount amount. Must be a positive value. */\n      amount?: string;\n      /** Tier ID, or empty if config applies to the base tier. */\n      tierId?: string | null;\n      /** Amount of points required to redeem the reward. */\n      costInPoints?: number;\n  }\n  interface CouponReward extends CouponRewardDiscountTypeOneOf, CouponRewardScopeOrMinSubtotalOneOf {\n      /** Discount as a fixed amount. */\n      fixedAmount?: FixedAmountDiscount;\n      /** Discount as a percentage. */\n      percentage?: PercentageDiscount;\n      /** Free shipping. */\n      freeShipping?: FreeShippingDiscount;\n      /** Limit the coupon to carts with a subtotal greater than this number. */\n      minimumSubtotal?: number;\n      /**\n       * Specifies the type of line items this coupon will apply to.\n       * For more information, see [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).\n       */\n      scope?: CouponScope;\n      /** Whether the coupon is limited to one item. */\n      limitedToOneItem?: boolean | null;\n      /** Whether the coupon also applies to subscriptions. */\n      appliesToSubscriptions?: boolean | null;\n      /**\n       * Specifies the amount of discounted cycles for a subscription item.\n       *\n       * Can only be set when `appliesToSubscriptions` is `true` and `scope.namespace` is `pricingPlans`.\n       * If `discountedCycleCount` is empty, the coupon applies to all available cycles.\n       *\n       * Min: `1`\n       * Max: `999`\n       */\n      discountedCycleCount?: number | null;\n  }\n  /** @oneof */\n  interface CouponRewardDiscountTypeOneOf {\n      /** Discount as a fixed amount. */\n      fixedAmount?: FixedAmountDiscount;\n      /** Discount as a percentage. */\n      percentage?: PercentageDiscount;\n      /** Free shipping. */\n      freeShipping?: FreeShippingDiscount;\n  }\n  /** @oneof */\n  interface CouponRewardScopeOrMinSubtotalOneOf {\n      /** Limit the coupon to carts with a subtotal greater than this number. */\n      minimumSubtotal?: number;\n      /**\n       * Specifies the type of line items this coupon will apply to.\n       * For more information, see [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).\n       */\n      scope?: CouponScope;\n  }\n  /** TODO add [(wix.api.minSize) = 1, (wix.api.maxSize) = 20] */\n  interface FixedAmountDiscount {\n      /** Discount details for each tier. */\n      configsByTier?: FixedAmountDiscountConfig[];\n  }\n  interface FixedAmountDiscountConfig {\n      /** Tier ID, or empty if config applies to the base tier. */\n      tierId?: string | null;\n      /** Amount of points required to redeem the reward. */\n      costInPoints?: number;\n      /** Discount amount. */\n      amount?: number;\n  }\n  /** TODO add [(wix.api.minSize) = 1, (wix.api.maxSize) = 20] */\n  interface PercentageDiscount {\n      /** Discount details for each tier. */\n      configsByTier?: PercentageDiscountConfig[];\n  }\n  interface PercentageDiscountConfig {\n      /** Tier ID, or empty if config applies to the base tier. */\n      tierId?: string | null;\n      /** Amount of points required to redeem the reward. */\n      costInPoints?: number;\n      /** Percentage discount. */\n      percentage?: number;\n  }\n  /** TODO add [(wix.api.minSize) = 1, (wix.api.maxSize) = 20] */\n  interface FreeShippingDiscount {\n      /** Discount details for each tier. */\n      configsByTier?: FreeShippingDiscountConfig[];\n  }\n  interface FreeShippingDiscountConfig {\n      /** Tier ID, or empty if config applies to the base tier. */\n      tierId?: string | null;\n      /** Amount of points required to redeem the reward. */\n      costInPoints?: number;\n  }\n  interface CouponScope {\n      /**\n       * Scope namespace.\n       *\n       * See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values) for valid namespaces.\n       */\n      namespace?: string;\n      /**\n       * Coupon scope's applied group.\n       *\n       * See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values) for valid groups.\n       */\n      group?: Group;\n  }\n  interface Group {\n      /**\n       * Name of coupon scope's group.\n       *\n       * See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values) for valid groups.\n       */\n      name?: string;\n      /** Entity ID, if the coupon scope is limited to just one item. */\n      entityId?: string | null;\n  }\n  interface Coupon {\n      templateId?: string;\n      /** @readonly */\n      deleted?: boolean | null;\n      configs?: CouponConfig[];\n  }\n  interface CouponConfig {\n      /** Amount of points required to receive the reward. */\n      requiredPoints?: number;\n      /**\n       * Tier ID, or empty if config applies to the base tier.\n       * @readonly\n       */\n      tierId?: string | null;\n  }\n  interface RewardDisabled {\n  }\n  interface CreateRewardRequest {\n      /** Reward to create. */\n      reward: Reward;\n  }\n  interface CreateRewardResponse {\n      /** Created reward. */\n      reward?: Reward;\n  }\n  interface BulkCreateRewardsRequest {\n      /** Rewards to create. */\n      rewards: Reward[];\n  }\n  interface BulkCreateRewardsResponse {\n      /** Created rewards. */\n      results?: BulkRewardResult[];\n      /** Total successes and failures of the bulk create rewards action. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkRewardResult {\n      itemMetadata?: ItemMetadata;\n      item?: Reward;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetRewardRequest {\n      /** ID of the reward to retrieve. */\n      _id: string;\n  }\n  interface GetRewardResponse {\n      /** Retrieved reward. */\n      reward?: Reward;\n  }\n  interface BulkGetRewardsRequest {\n      metaSiteIds?: string[];\n  }\n  interface BulkGetRewardsResponse {\n      rewardsInSite?: RewardsInSite[];\n  }\n  interface RewardsInSite {\n      metaSiteId?: string;\n      rewards?: Reward[];\n  }\n  interface UpdateRewardRequest {\n      /** Reward information to update. */\n      reward: Reward;\n  }\n  interface UpdateRewardResponse {\n      /** Updated reward. */\n      reward?: Reward;\n  }\n  interface DeleteRewardRequest {\n      /** ID of the reward to delete. */\n      _id: string;\n      /**\n       * Revision number, which increments by `\"1\"` each time the reward is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when deleting the reward.\n       */\n      revision?: string;\n  }\n  interface DeleteRewardResponse {\n  }\n  interface ListRewardsRequest {\n      /** Pagination options. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListRewardsResponse {\n      /** Retrieved loyalty rewards. */\n      rewards?: Reward[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent$1;\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent$1 {\n      currentEntityAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface QueryRewardsRequest {\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryRewardsResponse {\n      /** Retrieved loyalty rewards. */\n      rewards?: Reward[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  /**\n   * Creates a reward that can be redeemed with loyalty points.\n   *\n   * When a customer [redeems a reward](/coupons/redeem-points-for-coupon), a loyalty coupon is created\n   * based on the specifications detailed in either the `discountAmount` or `couponReward` fields. This coupon can\n   * then be used by the customer to receive the discount. Note that while the Rewards API uses coupon scopes and specifications,\n   * no coupon is actually created until a [reward is redeemed](/coupons/redeem-points-for-coupon) with points.\n   * See the [Coupons API](https://dev.wix.com/api/rest/coupons) for more information about coupons. The `type` of reward\n   * cannot be updated.\n   *\n   * A reward's `active` status defaults to `false`. To make the reward available to customers,\n   * either set the `active` field to `true` during creation or call [Update Reward](/update-reward)\n   * to change the status.\n   *\n   * To customize a reward for each [loyalty tier](/tiers), use the `configsByTier` parameter.\n   * This allows you to specify the amount of the earned discount, the cost in loyalty points\n   * to redeem the reward, and the tier to which this configuration applies. Each tier requires its own\n   * `configsByTier` configuration. To create a reward that is available to loyalty accounts in the base tier,\n   * leave the `tierId` field empty. See the [Tiers API](/tiers) for more information on tiers.\n   * @param reward - Reward to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reward\n   * @requiredField reward.name\n   */\n  function createReward(reward: Reward): Promise<CreateRewardResponse>;\n  /**\n   * Creates multiple rewards.\n   * This API will return Reward with deprecated fields for backward compatibility\n   * Base tier is taken either from deprecated fields, or config (if deprecated fields are not passed)\n   * @param rewards - Rewards to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField rewards\n   * @requiredField rewards.name\n   */\n  function bulkCreateRewards(rewards: Reward[]): Promise<BulkCreateRewardsResponse>;\n  /**\n   * Retrieves a reward.\n   * @param _id - ID of the reward to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function getReward(_id: string): Promise<GetRewardResponse>;\n  /**\n   * Retrieves rewards for multiple metasites.\n   * This API will return Reward with deprecated fields for backward compatibility\n   * @internal\n   * @documentationMaturity preview\n   */\n  function bulkGetRewards(options?: BulkGetRewardsOptions): Promise<BulkGetRewardsResponse>;\n  interface BulkGetRewardsOptions {\n      metaSiteIds?: string[];\n  }\n  /**\n   * Updates a loyalty reward.\n   *\n   * Use this endpoint to update details of a reward, such as the name, whether or not a reward is active,\n   * or the amount of points it costs to redeem. Also use this endpoint to add new tiers that are eligible to redeem a reward.\n   *\n   * You may not change the `type` of a reward. That is set upon creation and cannot be updated.\n   * @param _id - Reward ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField reward\n   * @requiredField reward.name\n   * @requiredField reward.revision\n   */\n  function updateReward(_id: string | null, reward: UpdateReward): Promise<UpdateRewardResponse>;\n  interface UpdateReward {\n      /** Discount details. */\n      discountAmount?: DiscountAmount;\n      /** Coupon details. */\n      couponReward?: CouponReward;\n      /** @internal */\n      coupon?: Coupon;\n      /**\n       * Reward ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Reward name. */\n      name?: string;\n      /**\n       * Amount of points required to receive the reward.\n       * @internal\n       */\n      requiredPoints?: number;\n      /**\n       * Whether the reward is active.\n       *\n       * Default: `\"false\"`\n       */\n      active?: boolean;\n      /**\n       * Reward type.\n       *\n       * + `\"DISCOUNT_AMOUNT\"`: Discount reward. Only available for Wix Restaurants. [Learn more about discounts.](https://support.wix.com/en/article/wix-restaurants-creating-discounts-for-your-customers)\n       * + `\"COUPON_REWARD\"`: Coupon reward. [Learn more about coupons.](https://support.wix.com/en/article/using-coupons-as-loyalty-rewards)\n       * + `\"COUPON\"`: **Deprecated.** Use `\"COUPON_REWARD\"` instead.\n       */\n      type?: RewardType;\n      /**\n       * Revision number, which increments by `\"1\"` each time the loyalty reward is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty reward.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the reward was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the reward was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  /**\n   * Deletes a reward.\n   * @param _id - ID of the reward to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function deleteReward(_id: string, options?: DeleteRewardOptions): Promise<void>;\n  interface DeleteRewardOptions {\n      /**\n       * Revision number, which increments by `\"1\"` each time the reward is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when deleting the reward.\n       */\n      revision?: string;\n  }\n  /**\n   * Retrieves a list of rewards.\n   *\n   * Only rewards with `\"active\"` set to `\"true\"` will be retrieved. The list includes rewards that are currently\n   * unredeemable due to insufficient points held by any customers.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listRewards(options?: ListRewardsOptions): Promise<ListRewardsResponse>;\n  interface ListRewardsOptions {\n      /** Pagination options. */\n      cursorPaging?: CursorPaging$1;\n  }\n  /**\n   * Query Rewards using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   */\n  function queryRewards(query: CursorQuery): Promise<QueryRewardsResponse>;\n  \n  type loyaltyV1Reward_universal_d_Reward = Reward;\n  type loyaltyV1Reward_universal_d_RewardTypeDetailsOneOf = RewardTypeDetailsOneOf;\n  type loyaltyV1Reward_universal_d_RewardType = RewardType;\n  const loyaltyV1Reward_universal_d_RewardType: typeof RewardType;\n  type loyaltyV1Reward_universal_d_DiscountAmount = DiscountAmount;\n  type loyaltyV1Reward_universal_d_DiscountAmountConfig = DiscountAmountConfig;\n  type loyaltyV1Reward_universal_d_CouponReward = CouponReward;\n  type loyaltyV1Reward_universal_d_CouponRewardDiscountTypeOneOf = CouponRewardDiscountTypeOneOf;\n  type loyaltyV1Reward_universal_d_CouponRewardScopeOrMinSubtotalOneOf = CouponRewardScopeOrMinSubtotalOneOf;\n  type loyaltyV1Reward_universal_d_FixedAmountDiscount = FixedAmountDiscount;\n  type loyaltyV1Reward_universal_d_FixedAmountDiscountConfig = FixedAmountDiscountConfig;\n  type loyaltyV1Reward_universal_d_PercentageDiscount = PercentageDiscount;\n  type loyaltyV1Reward_universal_d_PercentageDiscountConfig = PercentageDiscountConfig;\n  type loyaltyV1Reward_universal_d_FreeShippingDiscount = FreeShippingDiscount;\n  type loyaltyV1Reward_universal_d_FreeShippingDiscountConfig = FreeShippingDiscountConfig;\n  type loyaltyV1Reward_universal_d_CouponScope = CouponScope;\n  type loyaltyV1Reward_universal_d_Group = Group;\n  type loyaltyV1Reward_universal_d_Coupon = Coupon;\n  type loyaltyV1Reward_universal_d_CouponConfig = CouponConfig;\n  type loyaltyV1Reward_universal_d_RewardDisabled = RewardDisabled;\n  type loyaltyV1Reward_universal_d_CreateRewardRequest = CreateRewardRequest;\n  type loyaltyV1Reward_universal_d_CreateRewardResponse = CreateRewardResponse;\n  type loyaltyV1Reward_universal_d_BulkCreateRewardsRequest = BulkCreateRewardsRequest;\n  type loyaltyV1Reward_universal_d_BulkCreateRewardsResponse = BulkCreateRewardsResponse;\n  type loyaltyV1Reward_universal_d_BulkRewardResult = BulkRewardResult;\n  type loyaltyV1Reward_universal_d_ItemMetadata = ItemMetadata;\n  type loyaltyV1Reward_universal_d_ApplicationError = ApplicationError;\n  type loyaltyV1Reward_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type loyaltyV1Reward_universal_d_GetRewardRequest = GetRewardRequest;\n  type loyaltyV1Reward_universal_d_GetRewardResponse = GetRewardResponse;\n  type loyaltyV1Reward_universal_d_BulkGetRewardsRequest = BulkGetRewardsRequest;\n  type loyaltyV1Reward_universal_d_BulkGetRewardsResponse = BulkGetRewardsResponse;\n  type loyaltyV1Reward_universal_d_RewardsInSite = RewardsInSite;\n  type loyaltyV1Reward_universal_d_UpdateRewardRequest = UpdateRewardRequest;\n  type loyaltyV1Reward_universal_d_UpdateRewardResponse = UpdateRewardResponse;\n  type loyaltyV1Reward_universal_d_DeleteRewardRequest = DeleteRewardRequest;\n  type loyaltyV1Reward_universal_d_DeleteRewardResponse = DeleteRewardResponse;\n  type loyaltyV1Reward_universal_d_ListRewardsRequest = ListRewardsRequest;\n  type loyaltyV1Reward_universal_d_ListRewardsResponse = ListRewardsResponse;\n  type loyaltyV1Reward_universal_d_QueryRewardsRequest = QueryRewardsRequest;\n  type loyaltyV1Reward_universal_d_CursorQuery = CursorQuery;\n  type loyaltyV1Reward_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type loyaltyV1Reward_universal_d_QueryRewardsResponse = QueryRewardsResponse;\n  type loyaltyV1Reward_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  const loyaltyV1Reward_universal_d_createReward: typeof createReward;\n  const loyaltyV1Reward_universal_d_bulkCreateRewards: typeof bulkCreateRewards;\n  const loyaltyV1Reward_universal_d_getReward: typeof getReward;\n  const loyaltyV1Reward_universal_d_bulkGetRewards: typeof bulkGetRewards;\n  type loyaltyV1Reward_universal_d_BulkGetRewardsOptions = BulkGetRewardsOptions;\n  const loyaltyV1Reward_universal_d_updateReward: typeof updateReward;\n  type loyaltyV1Reward_universal_d_UpdateReward = UpdateReward;\n  const loyaltyV1Reward_universal_d_deleteReward: typeof deleteReward;\n  type loyaltyV1Reward_universal_d_DeleteRewardOptions = DeleteRewardOptions;\n  const loyaltyV1Reward_universal_d_listRewards: typeof listRewards;\n  type loyaltyV1Reward_universal_d_ListRewardsOptions = ListRewardsOptions;\n  const loyaltyV1Reward_universal_d_queryRewards: typeof queryRewards;\n  namespace loyaltyV1Reward_universal_d {\n    export {\n      __debug$1 as __debug,\n      loyaltyV1Reward_universal_d_Reward as Reward,\n      loyaltyV1Reward_universal_d_RewardTypeDetailsOneOf as RewardTypeDetailsOneOf,\n      loyaltyV1Reward_universal_d_RewardType as RewardType,\n      loyaltyV1Reward_universal_d_DiscountAmount as DiscountAmount,\n      loyaltyV1Reward_universal_d_DiscountAmountConfig as DiscountAmountConfig,\n      loyaltyV1Reward_universal_d_CouponReward as CouponReward,\n      loyaltyV1Reward_universal_d_CouponRewardDiscountTypeOneOf as CouponRewardDiscountTypeOneOf,\n      loyaltyV1Reward_universal_d_CouponRewardScopeOrMinSubtotalOneOf as CouponRewardScopeOrMinSubtotalOneOf,\n      loyaltyV1Reward_universal_d_FixedAmountDiscount as FixedAmountDiscount,\n      loyaltyV1Reward_universal_d_FixedAmountDiscountConfig as FixedAmountDiscountConfig,\n      loyaltyV1Reward_universal_d_PercentageDiscount as PercentageDiscount,\n      loyaltyV1Reward_universal_d_PercentageDiscountConfig as PercentageDiscountConfig,\n      loyaltyV1Reward_universal_d_FreeShippingDiscount as FreeShippingDiscount,\n      loyaltyV1Reward_universal_d_FreeShippingDiscountConfig as FreeShippingDiscountConfig,\n      loyaltyV1Reward_universal_d_CouponScope as CouponScope,\n      loyaltyV1Reward_universal_d_Group as Group,\n      loyaltyV1Reward_universal_d_Coupon as Coupon,\n      loyaltyV1Reward_universal_d_CouponConfig as CouponConfig,\n      loyaltyV1Reward_universal_d_RewardDisabled as RewardDisabled,\n      loyaltyV1Reward_universal_d_CreateRewardRequest as CreateRewardRequest,\n      loyaltyV1Reward_universal_d_CreateRewardResponse as CreateRewardResponse,\n      loyaltyV1Reward_universal_d_BulkCreateRewardsRequest as BulkCreateRewardsRequest,\n      loyaltyV1Reward_universal_d_BulkCreateRewardsResponse as BulkCreateRewardsResponse,\n      loyaltyV1Reward_universal_d_BulkRewardResult as BulkRewardResult,\n      loyaltyV1Reward_universal_d_ItemMetadata as ItemMetadata,\n      loyaltyV1Reward_universal_d_ApplicationError as ApplicationError,\n      loyaltyV1Reward_universal_d_BulkActionMetadata as BulkActionMetadata,\n      loyaltyV1Reward_universal_d_GetRewardRequest as GetRewardRequest,\n      loyaltyV1Reward_universal_d_GetRewardResponse as GetRewardResponse,\n      loyaltyV1Reward_universal_d_BulkGetRewardsRequest as BulkGetRewardsRequest,\n      loyaltyV1Reward_universal_d_BulkGetRewardsResponse as BulkGetRewardsResponse,\n      loyaltyV1Reward_universal_d_RewardsInSite as RewardsInSite,\n      loyaltyV1Reward_universal_d_UpdateRewardRequest as UpdateRewardRequest,\n      loyaltyV1Reward_universal_d_UpdateRewardResponse as UpdateRewardResponse,\n      loyaltyV1Reward_universal_d_DeleteRewardRequest as DeleteRewardRequest,\n      loyaltyV1Reward_universal_d_DeleteRewardResponse as DeleteRewardResponse,\n      loyaltyV1Reward_universal_d_ListRewardsRequest as ListRewardsRequest,\n      CursorPaging$1 as CursorPaging,\n      loyaltyV1Reward_universal_d_ListRewardsResponse as ListRewardsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      ExtendedFieldsUpdatedEvent$1 as ExtendedFieldsUpdatedEvent,\n      Empty$1 as Empty,\n      loyaltyV1Reward_universal_d_QueryRewardsRequest as QueryRewardsRequest,\n      loyaltyV1Reward_universal_d_CursorQuery as CursorQuery,\n      loyaltyV1Reward_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      loyaltyV1Reward_universal_d_QueryRewardsResponse as QueryRewardsResponse,\n      loyaltyV1Reward_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      loyaltyV1Reward_universal_d_createReward as createReward,\n      loyaltyV1Reward_universal_d_bulkCreateRewards as bulkCreateRewards,\n      loyaltyV1Reward_universal_d_getReward as getReward,\n      loyaltyV1Reward_universal_d_bulkGetRewards as bulkGetRewards,\n      loyaltyV1Reward_universal_d_BulkGetRewardsOptions as BulkGetRewardsOptions,\n      loyaltyV1Reward_universal_d_updateReward as updateReward,\n      loyaltyV1Reward_universal_d_UpdateReward as UpdateReward,\n      loyaltyV1Reward_universal_d_deleteReward as deleteReward,\n      loyaltyV1Reward_universal_d_DeleteRewardOptions as DeleteRewardOptions,\n      loyaltyV1Reward_universal_d_listRewards as listRewards,\n      loyaltyV1Reward_universal_d_ListRewardsOptions as ListRewardsOptions,\n      loyaltyV1Reward_universal_d_queryRewards as queryRewards,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * A loyalty coupon is created when a customer redeems their loyalty points for a reward. Creating a loyalty coupon\n   * also creates a corresponding \"reference\" coupon with the [Coupons API](https://dev.wix.com/api/rest/coupons/about-wix-coupons).\n   */\n  interface LoyaltyCoupon {\n      /**\n       * Loyalty coupon ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * [Loyalty account ID](https://dev.wix.com/api/rest/wix-loyalty-program/accounts) of the customer that redeemed points for a coupon.\n       * @readonly\n       */\n      accountId?: string;\n      /**\n       * [Member ID](https://dev.wix.com/api/rest/members/members/member-object) of the customer that redeemed points for a coupon.\n       * @readonly\n       */\n      memberIdDeprecated?: string;\n      /**\n       * [Member ID](https://dev.wix.com/api/rest/members/members/member-object) of the customer that redeemed points for a coupon.\n       * @readonly\n       */\n      memberId?: string | null;\n      /**\n       * Transaction ID for the transaction that created a coupon.\n       * @readonly\n       */\n      transactionId?: string | null;\n      /**\n       * Reference coupon information for the corresponding [coupon](https://dev.wix.com/api/rest/coupons/about-wix-coupons)\n       * that is created along with the loyalty coupon.\n       * @readonly\n       */\n      couponReference?: CouponReference;\n      /**\n       * Loyalty coupon status.\n       *\n       * This status relates to the corresponding coupon that is created\n       * at the same time as the loyalty coupon and is included in `couponReference`.\n       *\n       * + `\"ACTIVE\"`: The reference coupon is active and available to the customer.\n       * + `\"APPLIED\"`: The reference coupon was applied and is no longer available for use.\n       * + `\"ARCHIVED\"`: The reference coupon was deleted.\n       * + `\"FAILED\"`: The reference coupon was created but something went wrong when redeeming points from the loyalty account.\n       * + `\"PENDING\"`: The refence coupon was created but the loyalty points have not been redeemed yet.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Name of reward that was redeemed to create this coupon.\n       * @readonly\n       */\n      rewardName?: string;\n      /**\n       * Revision number, which increments by 1 each time the loyalty coupon is updated.\n       *\n       * To prevent conflicting changes, the current `revision`` must be passed when updating the loyalty coupon.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the loyalty coupon was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the loyalty coupon was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  interface CouponReference {\n      /**\n       * Coupon ID.\n       * @readonly\n       */\n      couponId?: string;\n      /**\n       * Coupon code.\n       *\n       * Unique code entered by a customer to apply the coupon.\n       *\n       * Max: 20 characters\n       * @readonly\n       */\n      code?: string;\n      /**\n       * Name of coupon.\n       *\n       * Max: 80 characters\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * The information to use when creating the coupon.\n       * @readonly\n       */\n      specification?: Specification;\n      /**\n       * Whether the loyalty coupon is deleted.\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  interface Specification extends SpecificationTypeDetailsOneOf, SpecificationScopeOrMinSubtotalOneOf {\n      /** Fixed price discount. */\n      moneyOffAmount?: number;\n      /** Discount as a percentage. */\n      percentOffRate?: number;\n      /** Free shipping. If true, the coupon applies to all items in all `namespaces` in the site. */\n      freeShipping?: boolean;\n      /** Specific sale price. Currently only supported for coupons with a `stores` `namespace`. */\n      fixedPriceAmount?: number;\n      /**\n       * Free products when making a purchase. `buyXGetY` is an object that specifies `x` and `y` in the\n       * following scenario: if a visitor purchases x number of products, they receive y number of products for free. C\n       * urrently only supported for coupons with a `stores` `namespace`.\n       */\n      buyXGetY?: BuyXGetY;\n      /**\n       * Scope of the coupon. When no scope is defined, the coupon applies to all\n       * items in all `namespaces` in the site.\n       */\n      scope?: Scope;\n      /** The coupon is only applicable when the order subtotal is over this amount. */\n      minimumSubtotal?: number | null;\n      /** name (item or collection), if null Coupon is used for all items */\n      name?: string | null;\n      type?: Type;\n      /**\n       * Whether the coupon is limited to 1 discount per order. If true and a customer pays for multiple items\n       * that the coupon applies to, only the lowest priced item is discounted.\n       * Coupons with a `bookings` `namespace` are always limited to 1 item.\n       */\n      limitedToOneItem?: boolean | null;\n      /** Whether the coupon also applies to subscriptions. */\n      appliesToSubscriptions?: boolean | null;\n      /**\n       * Specifies the amount of cycles to apply the discount to for a subscription item.\n       *\n       * Can only be set when `appliesToSubscriptions` is `TRUE` and `specification.scope.namespace` is `pricingPlans`.\n       * If `discountedCycleCount` is empty, the coupon applies to all available cycles.\n       *\n       * Min: `1`\n       * Max: `999`\n       */\n      discountedCycleCount?: number | null;\n  }\n  /** @oneof */\n  interface SpecificationTypeDetailsOneOf {\n      /** Fixed price discount. */\n      moneyOffAmount?: number;\n      /** Discount as a percentage. */\n      percentOffRate?: number;\n      /** Free shipping. If true, the coupon applies to all items in all `namespaces` in the site. */\n      freeShipping?: boolean;\n      /** Specific sale price. Currently only supported for coupons with a `stores` `namespace`. */\n      fixedPriceAmount?: number;\n      /**\n       * Free products when making a purchase. `buyXGetY` is an object that specifies `x` and `y` in the\n       * following scenario: if a visitor purchases x number of products, they receive y number of products for free. C\n       * urrently only supported for coupons with a `stores` `namespace`.\n       */\n      buyXGetY?: BuyXGetY;\n  }\n  /** @oneof */\n  interface SpecificationScopeOrMinSubtotalOneOf {\n      /**\n       * Scope of the coupon. When no scope is defined, the coupon applies to all\n       * items in all `namespaces` in the site.\n       */\n      scope?: Scope;\n      /** The coupon is only applicable when the order subtotal is over this amount. */\n      minimumSubtotal?: number | null;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      MONEY_OFF_AMOUNT = \"MONEY_OFF_AMOUNT\",\n      PERCENT_OFF_RATE = \"PERCENT_OFF_RATE\",\n      FREE_SHIPPING = \"FREE_SHIPPING\",\n      FIXED_PRICE_AMOUNT = \"FIXED_PRICE_AMOUNT\",\n      BUY_X_GET_Y = \"BUY_X_GET_Y\"\n  }\n  interface BuyXGetY {\n      /** Number of purchased items required to receive free items. */\n      x?: number;\n      /** Number of items received for free if required number of items were purchased. */\n      y?: number;\n  }\n  interface Scope {\n      /**\n       * Group within a `namespace` for which the coupon is applicable.\n       *\n       * If no group is specified, the coupon applies to all items in the namespace.\n       * `group` is required in some namespaces. See [Scope Values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values)\n       * for a list of currently supported groups for each namespace.\n       */\n      name?: string | null;\n      /**\n       * ID of the specific entity in the group for which the coupon is applicable.\n       *\n       * If no `entityId` is specified, the coupon applies to all entities in the group. In some cases when a group is specified,\n       * an `entityId` is required. See [Scope Values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values)\n       * for a list of currently supported entities for each namespace and group.\n       */\n      entityId?: string | null;\n      /**\n       * Wix application for which the coupon is applicable.\n       *\n       * One of the following:\n       * + `\"stores\"`\n       * + `\"bookings\"`\n       * + `\"events\"`\n       * + `\"pricingPlans\"`\n       */\n      namespace?: string;\n  }\n  enum Status {\n      UNKNOWN = \"UNKNOWN\",\n      /** coupon created but points haven't been redeemed yet (ideally coupons should stay in this state for a very short time (seconds/minutes)) */\n      PENDING = \"PENDING\",\n      /** coupon is active and can be applied */\n      ACTIVE = \"ACTIVE\",\n      /** coupon was already applied and can not be used anymore */\n      APPLIED = \"APPLIED\",\n      /** coupon was created but something went wrong when redeeming points from the account */\n      FAILED = \"FAILED\",\n      /** reference coupon was deleted */\n      ARCHIVED = \"ARCHIVED\"\n  }\n  interface RedeemPointsForCouponRequest {\n      /** ID of the [loyalty reward](https://dev.wix.com/api/rest/wix-loyalty-program/rewards) to redeem. */\n      rewardId: string;\n      /** ID of the [loyalty account](https://dev.wix.com/api/rest/wix-loyalty-program/accounts) of the customer redeeming points. */\n      loyaltyAccountId: string;\n  }\n  interface RedeemPointsForCouponResponse {\n      /** Created loyalty coupon. */\n      coupon?: LoyaltyCoupon;\n  }\n  interface RedeemCurrentMemberPointsForCouponRequest {\n      /** ID of the [loyalty reward](https://dev.wix.com/api/rest/wix-loyalty-program/rewards) to redeem. */\n      rewardId: string;\n  }\n  interface RedeemCurrentMemberPointsForCouponResponse {\n      /** Created loyalty coupon. */\n      coupon?: LoyaltyCoupon;\n  }\n  interface GetLoyaltyCouponRequest {\n      /** ID of the loyalty coupon to retrieve. */\n      loyaltyCouponId: string;\n  }\n  interface GetLoyaltyCouponResponse {\n      /** Retrieved loyalty coupon. */\n      loyaltyCoupon?: LoyaltyCoupon;\n  }\n  interface GetCurrentMemberCouponsRequest {\n  }\n  interface GetCurrentMemberCouponsResponse {\n      /** Retrieved loyalty coupons. */\n      loyaltyCoupons?: LoyaltyCoupon[];\n  }\n  interface QueryLoyaltyCouponRequest {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryLoyaltyCouponResponse {\n      /** Retrieved loyalty coupons. */\n      loyaltyCoupons?: LoyaltyCoupon[];\n      /** Metadata. */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryCouponTemplateRequest {\n      /** WQL expression */\n      query: Query;\n  }\n  interface Query {\n      /** Optional pagination parameters */\n      paging?: V2Paging;\n      /** Filter string (e.g., when {\"expired\":\"true\"}, expired coupons will be returned). */\n      filter?: string | null;\n      /** Sort string. */\n      sort?: string | null;\n  }\n  interface V2Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Offset since the beginning of the collection. */\n      offset?: number | null;\n  }\n  interface QueryCouponTemplateResponse {\n      /** The retrieved CouponReferences */\n      couponReferences?: CouponReference[];\n      totalResults?: number | null;\n  }\n  interface DeleteLoyaltyCouponRequest {\n      /** ID of the loyalty coupon to delete. */\n      _id: string;\n      /**\n       * Revision number, which increments by 1 each time the loyalty coupon is updated.\n       *\n       * To prevent conflicting changes, the current `revision`` must be passed when updating the loyalty coupon.\n       */\n      revision?: string;\n  }\n  interface DeleteLoyaltyCouponResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent {\n      currentEntityAsJson?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Redeems a customer's loyalty points for a loyalty reward and creates a loyalty coupon.\n   *\n   * Creating a loyalty coupon also creates a corresponding \"reference\" coupon with the [Coupons API](https://dev.wix.com/api/rest/coupons/about-wix-coupons).\n   * The customer receives the reference coupon, which they can apply to their order. The loyalty coupon and its corresponding reference coupon\n   * are linked and the loyalty coupon's `status` reflects the current state of the reference coupon.\n   *\n   * Check which loyalty rewards a site has available with [List Rewards](https://dev.wix.com/api/rest/wix-loyalty-program/rewards/list-rewards).\n   * @param rewardId - ID of the [loyalty reward](https://dev.wix.com/api/rest/wix-loyalty-program/rewards) to redeem.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.loyaltyAccountId\n   * @requiredField rewardId\n   */\n  function redeemPointsForCoupon(rewardId: string, options: RedeemPointsForCouponOptions): Promise<RedeemPointsForCouponResponse>;\n  interface RedeemPointsForCouponOptions {\n      /** ID of the [loyalty account](https://dev.wix.com/api/rest/wix-loyalty-program/accounts) of the customer redeeming points. */\n      loyaltyAccountId: string;\n  }\n  /**\n   * Redeems a current customer's loyalty points for a loyalty reward and creates a loyalty coupon.\n   *\n   * Creating a loyalty coupon also creates a corresponding \"reference\" coupon with the [Coupons API](https://dev.wix.com/api/rest/coupons/about-wix-coupons).\n   * The customer receives the reference coupon, which they can apply to their order. The loyalty coupon and its corresponding reference coupon\n   * are linked and the loyalty coupon's `status` reflects the current state of the reference coupon.\n   *\n   * Check which loyalty rewards a site has available with [List Rewards](https://dev.wix.com/api/rest/wix-loyalty-program/rewards/list-rewards).\n   * @param rewardId - ID of the [loyalty reward](https://dev.wix.com/api/rest/wix-loyalty-program/rewards) to redeem.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rewardId\n   */\n  function redeemCurrentMemberPointsForCoupon(rewardId: string): Promise<RedeemCurrentMemberPointsForCouponResponse>;\n  /**\n   * Retrieves a loyalty coupon.\n   * @param loyaltyCouponId - ID of the loyalty coupon to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField loyaltyCouponId\n   */\n  function getLoyaltyCoupon(loyaltyCouponId: string): Promise<GetLoyaltyCouponResponse>;\n  /**\n   * Retrieves the loyalty coupons for the currently logged-in member.\n   * @public\n   * @documentationMaturity preview\n   */\n  function getCurrentMemberCoupons(): Promise<GetCurrentMemberCouponsResponse>;\n  /**\n   * Query LoyaltyCoupons using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @param query - WQL expression\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   */\n  function queryLoyaltyCoupon(query: QueryV2): Promise<QueryLoyaltyCouponResponse>;\n  /** @param query - WQL expression\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   */\n  function queryCouponTemplate(query: Query): Promise<QueryCouponTemplateResponse>;\n  /**\n   * Deletes a loyalty coupon.\n   *\n   * The deletion of a loyalty coupon does not impact the functionality of the corresponding coupon itself.\n   * @param _id - ID of the loyalty coupon to delete.\n   * @param revision - Revision number, which increments by 1 each time the loyalty coupon is updated.\n   *\n   * To prevent conflicting changes, the current `revision`` must be passed when updating the loyalty coupon.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField revision\n   */\n  function deleteLoyaltyCoupon(_id: string, revision: string): Promise<void>;\n  \n  const loyaltyV1Coupon_universal_d___debug: typeof __debug;\n  type loyaltyV1Coupon_universal_d_LoyaltyCoupon = LoyaltyCoupon;\n  type loyaltyV1Coupon_universal_d_CouponReference = CouponReference;\n  type loyaltyV1Coupon_universal_d_Specification = Specification;\n  type loyaltyV1Coupon_universal_d_SpecificationTypeDetailsOneOf = SpecificationTypeDetailsOneOf;\n  type loyaltyV1Coupon_universal_d_SpecificationScopeOrMinSubtotalOneOf = SpecificationScopeOrMinSubtotalOneOf;\n  type loyaltyV1Coupon_universal_d_Type = Type;\n  const loyaltyV1Coupon_universal_d_Type: typeof Type;\n  type loyaltyV1Coupon_universal_d_BuyXGetY = BuyXGetY;\n  type loyaltyV1Coupon_universal_d_Scope = Scope;\n  type loyaltyV1Coupon_universal_d_Status = Status;\n  const loyaltyV1Coupon_universal_d_Status: typeof Status;\n  type loyaltyV1Coupon_universal_d_RedeemPointsForCouponRequest = RedeemPointsForCouponRequest;\n  type loyaltyV1Coupon_universal_d_RedeemPointsForCouponResponse = RedeemPointsForCouponResponse;\n  type loyaltyV1Coupon_universal_d_RedeemCurrentMemberPointsForCouponRequest = RedeemCurrentMemberPointsForCouponRequest;\n  type loyaltyV1Coupon_universal_d_RedeemCurrentMemberPointsForCouponResponse = RedeemCurrentMemberPointsForCouponResponse;\n  type loyaltyV1Coupon_universal_d_GetLoyaltyCouponRequest = GetLoyaltyCouponRequest;\n  type loyaltyV1Coupon_universal_d_GetLoyaltyCouponResponse = GetLoyaltyCouponResponse;\n  type loyaltyV1Coupon_universal_d_GetCurrentMemberCouponsRequest = GetCurrentMemberCouponsRequest;\n  type loyaltyV1Coupon_universal_d_GetCurrentMemberCouponsResponse = GetCurrentMemberCouponsResponse;\n  type loyaltyV1Coupon_universal_d_QueryLoyaltyCouponRequest = QueryLoyaltyCouponRequest;\n  type loyaltyV1Coupon_universal_d_QueryV2 = QueryV2;\n  type loyaltyV1Coupon_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type loyaltyV1Coupon_universal_d_Sorting = Sorting;\n  type loyaltyV1Coupon_universal_d_SortOrder = SortOrder;\n  const loyaltyV1Coupon_universal_d_SortOrder: typeof SortOrder;\n  type loyaltyV1Coupon_universal_d_Paging = Paging;\n  type loyaltyV1Coupon_universal_d_CursorPaging = CursorPaging;\n  type loyaltyV1Coupon_universal_d_QueryLoyaltyCouponResponse = QueryLoyaltyCouponResponse;\n  type loyaltyV1Coupon_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type loyaltyV1Coupon_universal_d_Cursors = Cursors;\n  type loyaltyV1Coupon_universal_d_QueryCouponTemplateRequest = QueryCouponTemplateRequest;\n  type loyaltyV1Coupon_universal_d_Query = Query;\n  type loyaltyV1Coupon_universal_d_V2Paging = V2Paging;\n  type loyaltyV1Coupon_universal_d_QueryCouponTemplateResponse = QueryCouponTemplateResponse;\n  type loyaltyV1Coupon_universal_d_DeleteLoyaltyCouponRequest = DeleteLoyaltyCouponRequest;\n  type loyaltyV1Coupon_universal_d_DeleteLoyaltyCouponResponse = DeleteLoyaltyCouponResponse;\n  type loyaltyV1Coupon_universal_d_DomainEvent = DomainEvent;\n  type loyaltyV1Coupon_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type loyaltyV1Coupon_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type loyaltyV1Coupon_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type loyaltyV1Coupon_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type loyaltyV1Coupon_universal_d_ActionEvent = ActionEvent;\n  type loyaltyV1Coupon_universal_d_ExtendedFieldsUpdatedEvent = ExtendedFieldsUpdatedEvent;\n  type loyaltyV1Coupon_universal_d_Empty = Empty;\n  const loyaltyV1Coupon_universal_d_redeemPointsForCoupon: typeof redeemPointsForCoupon;\n  type loyaltyV1Coupon_universal_d_RedeemPointsForCouponOptions = RedeemPointsForCouponOptions;\n  const loyaltyV1Coupon_universal_d_redeemCurrentMemberPointsForCoupon: typeof redeemCurrentMemberPointsForCoupon;\n  const loyaltyV1Coupon_universal_d_getLoyaltyCoupon: typeof getLoyaltyCoupon;\n  const loyaltyV1Coupon_universal_d_getCurrentMemberCoupons: typeof getCurrentMemberCoupons;\n  const loyaltyV1Coupon_universal_d_queryLoyaltyCoupon: typeof queryLoyaltyCoupon;\n  const loyaltyV1Coupon_universal_d_queryCouponTemplate: typeof queryCouponTemplate;\n  const loyaltyV1Coupon_universal_d_deleteLoyaltyCoupon: typeof deleteLoyaltyCoupon;\n  namespace loyaltyV1Coupon_universal_d {\n    export {\n      loyaltyV1Coupon_universal_d___debug as __debug,\n      loyaltyV1Coupon_universal_d_LoyaltyCoupon as LoyaltyCoupon,\n      loyaltyV1Coupon_universal_d_CouponReference as CouponReference,\n      loyaltyV1Coupon_universal_d_Specification as Specification,\n      loyaltyV1Coupon_universal_d_SpecificationTypeDetailsOneOf as SpecificationTypeDetailsOneOf,\n      loyaltyV1Coupon_universal_d_SpecificationScopeOrMinSubtotalOneOf as SpecificationScopeOrMinSubtotalOneOf,\n      loyaltyV1Coupon_universal_d_Type as Type,\n      loyaltyV1Coupon_universal_d_BuyXGetY as BuyXGetY,\n      loyaltyV1Coupon_universal_d_Scope as Scope,\n      loyaltyV1Coupon_universal_d_Status as Status,\n      loyaltyV1Coupon_universal_d_RedeemPointsForCouponRequest as RedeemPointsForCouponRequest,\n      loyaltyV1Coupon_universal_d_RedeemPointsForCouponResponse as RedeemPointsForCouponResponse,\n      loyaltyV1Coupon_universal_d_RedeemCurrentMemberPointsForCouponRequest as RedeemCurrentMemberPointsForCouponRequest,\n      loyaltyV1Coupon_universal_d_RedeemCurrentMemberPointsForCouponResponse as RedeemCurrentMemberPointsForCouponResponse,\n      loyaltyV1Coupon_universal_d_GetLoyaltyCouponRequest as GetLoyaltyCouponRequest,\n      loyaltyV1Coupon_universal_d_GetLoyaltyCouponResponse as GetLoyaltyCouponResponse,\n      loyaltyV1Coupon_universal_d_GetCurrentMemberCouponsRequest as GetCurrentMemberCouponsRequest,\n      loyaltyV1Coupon_universal_d_GetCurrentMemberCouponsResponse as GetCurrentMemberCouponsResponse,\n      loyaltyV1Coupon_universal_d_QueryLoyaltyCouponRequest as QueryLoyaltyCouponRequest,\n      loyaltyV1Coupon_universal_d_QueryV2 as QueryV2,\n      loyaltyV1Coupon_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      loyaltyV1Coupon_universal_d_Sorting as Sorting,\n      loyaltyV1Coupon_universal_d_SortOrder as SortOrder,\n      loyaltyV1Coupon_universal_d_Paging as Paging,\n      loyaltyV1Coupon_universal_d_CursorPaging as CursorPaging,\n      loyaltyV1Coupon_universal_d_QueryLoyaltyCouponResponse as QueryLoyaltyCouponResponse,\n      loyaltyV1Coupon_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      loyaltyV1Coupon_universal_d_Cursors as Cursors,\n      loyaltyV1Coupon_universal_d_QueryCouponTemplateRequest as QueryCouponTemplateRequest,\n      loyaltyV1Coupon_universal_d_Query as Query,\n      loyaltyV1Coupon_universal_d_V2Paging as V2Paging,\n      loyaltyV1Coupon_universal_d_QueryCouponTemplateResponse as QueryCouponTemplateResponse,\n      loyaltyV1Coupon_universal_d_DeleteLoyaltyCouponRequest as DeleteLoyaltyCouponRequest,\n      loyaltyV1Coupon_universal_d_DeleteLoyaltyCouponResponse as DeleteLoyaltyCouponResponse,\n      loyaltyV1Coupon_universal_d_DomainEvent as DomainEvent,\n      loyaltyV1Coupon_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      loyaltyV1Coupon_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      loyaltyV1Coupon_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      loyaltyV1Coupon_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      loyaltyV1Coupon_universal_d_ActionEvent as ActionEvent,\n      loyaltyV1Coupon_universal_d_ExtendedFieldsUpdatedEvent as ExtendedFieldsUpdatedEvent,\n      loyaltyV1Coupon_universal_d_Empty as Empty,\n      loyaltyV1Coupon_universal_d_redeemPointsForCoupon as redeemPointsForCoupon,\n      loyaltyV1Coupon_universal_d_RedeemPointsForCouponOptions as RedeemPointsForCouponOptions,\n      loyaltyV1Coupon_universal_d_redeemCurrentMemberPointsForCoupon as redeemCurrentMemberPointsForCoupon,\n      loyaltyV1Coupon_universal_d_getLoyaltyCoupon as getLoyaltyCoupon,\n      loyaltyV1Coupon_universal_d_getCurrentMemberCoupons as getCurrentMemberCoupons,\n      loyaltyV1Coupon_universal_d_queryLoyaltyCoupon as queryLoyaltyCoupon,\n      loyaltyV1Coupon_universal_d_queryCouponTemplate as queryCouponTemplate,\n      loyaltyV1Coupon_universal_d_deleteLoyaltyCoupon as deleteLoyaltyCoupon,\n    };\n  }\n  \n  export { loyaltyV1Account_universal_d as account, loyaltyV1Coupon_universal_d as coupon, loyaltyV1Program_universal_d as program, loyaltyV1Reward_universal_d as reward, loyaltyV1Tier_universal_d as tier };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend.d.ts",
      "content": "declare module \"wix-metro-backend\" {\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface PageLink {\n      /** The page id we want from the site */\n      pageId?: string;\n      /** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */\n      target?: string | null;\n      /** rel of link */\n      rel?: LinkRel[];\n  }\n  /**\n   * The 'rel' attribute of the link. The rel attribute defines the relationship between a linked resource and the current document.\n   * Further reading (also about different possible rel types): https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel\n   * Following are the accepted 'rel' types by Wix applications.\n   */\n  enum LinkRel {\n      /** default (not implemented) */\n      unknown_link_rel = \"unknown_link_rel\",\n      /** Indicates that the current document's original author or publisher does not endorse the referenced document. */\n      nofollow = \"nofollow\",\n      /** Instructs the browser to navigate to the target resource without granting the new browsing context access to the document that opened it. */\n      noopener = \"noopener\",\n      /** No Referer header will be included. Additionally, has the same effect as noopener. */\n      noreferrer = \"noreferrer\",\n      /** Indicates a link that resulted from advertisements or paid placements. */\n      sponsored = \"sponsored\"\n  }\n  interface Variant {\n      name?: string;\n      value?: string;\n      image?: string;\n  }\n  interface MyAddress {\n      country?: string | null;\n      subdivision?: string | null;\n      city?: string | null;\n      postalCode?: string | null;\n      streetAddress?: StreetAddress;\n      /** @internal */\n      formatted?: string | null;\n  }\n  interface CreateProductRequest {\n      product?: Product;\n  }\n  interface CreateProductResponse {\n      product?: Product;\n  }\n  interface DeleteProductRequest {\n      productId: string;\n  }\n  interface DeleteProductResponse {\n  }\n  interface UpdateProductRequest {\n      productId: string;\n      product?: Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateProductResponse {\n      product?: Product;\n  }\n  interface GetProductRequest {\n      productId: string;\n  }\n  interface GetProductResponse {\n      product?: Product;\n  }\n  interface GetProductsStartWithRequest {\n      title: string;\n      addressLine2?: string | null;\n  }\n  interface GetProductsStartWithResponse {\n      products?: Product[];\n  }\n  interface QueryProductsRequest {\n      query?: QueryV2;\n      /** Whether variants should be included in the response. */\n      includeVariants?: boolean;\n      /** Whether hidden products should be included in the response. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryProductsResponse {\n      products?: Product[];\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkCreateProductsRequest {\n      products: Product[];\n      /** set to `true` if you wish to receive back the created products in the response */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateProductsResponse {\n      results?: BulkProductResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkProductResult {\n      /** Defined in wix.commons */\n      itemMetadata?: ItemMetadata;\n      /** Only exists if `returnEntity` was set to true in the request */\n      item?: Product;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateProductsRequest {\n      products: MaskedProduct[];\n      /** set to `true` if you wish to receive back the updated products in the response */\n      returnEntity?: boolean;\n  }\n  interface MaskedProduct {\n      /** Product to be updated, may be partial */\n      product?: Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateProductsResponse {\n      results?: BulkUpdateProductsResponseBulkProductResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUpdateProductsResponseBulkProductResult {\n      itemMetadata?: ItemMetadata;\n      /** Only exists if `returnEntity` was set to true in the request */\n      item?: Product;\n  }\n  interface BulkDeleteProductsRequest {\n      productIds: string[];\n  }\n  interface BulkDeleteProductsResponse {\n      results?: BulkDeleteProductsResponseBulkProductResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteProductsResponseBulkProductResult {\n      itemMetadata?: ItemMetadata;\n  }\n  interface ResetProductsDbRequest {\n  }\n  interface ResetProductsDbResponse {\n  }\n  interface Product {\n      _id: string;\n      name: string | null;\n      collectionId: string;\n      _createdDate: Date | null;\n      modifiedDate: Date | null;\n      image: string;\n      address: Address;\n      document: string;\n      video: string;\n      pageLink: PageLink;\n      audio: string;\n      color: string | null;\n      localDate: string | null;\n      localTime: string | null;\n      localDateTime: string | null;\n      variants: Variant[];\n      mainVariant: Variant;\n      customAddress: MyAddress;\n      guid: string;\n  }\n  /**\n   * Creating a product\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.product.title\n   * @adminMethod\n   */\n  function createProduct(options?: CreateProductOptions): Promise<Product>;\n  interface CreateProductOptions {\n      product?: Product;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @adminMethod\n   */\n  function deleteProduct(productId: string): Promise<void>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField options.product._id\n   * @requiredField productId\n   * @adminMethod\n   */\n  function updateProduct(productId: string, options?: UpdateProductOptions): Promise<Product>;\n  interface UpdateProductOptions {\n      product?: Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * override description\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @param arg1 - ## new override param 1\n   * @adminMethod\n   * @returns ## override return\n   */\n  function getProduct(productId: string): Promise<Product>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField title\n   * @adminMethod\n   */\n  function getProductsStartWith(title: string, options?: GetProductsStartWithOptions): Promise<GetProductsStartWithResponse>;\n  interface GetProductsStartWithOptions {\n      addressLine2?: string | null;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryProducts(options?: QueryProductsOptions): ProductsQueryBuilder;\n  interface QueryProductsOptions {\n      /** Whether variants should be included in the response. */\n      includeVariants?: boolean | undefined;\n      /** Whether hidden products should be included in the response. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean | undefined;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProductsQueryResult extends QueryCursorResult {\n      items: Product[];\n      query: ProductsQueryBuilder;\n      next: () => Promise<ProductsQueryResult>;\n      prev: () => Promise<ProductsQueryResult>;\n  }\n  interface ProductsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'title' | 'collectionId' | 'guid', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'title' | 'guid', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'title' | 'guid', value: string) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'title' | 'guid', value: any[]) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'title' | 'guid', value: any) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'title' | 'guid', value: boolean) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'title' | 'collectionId' | 'guid'>) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'title' | 'collectionId' | 'guid'>) => ProductsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ProductsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ProductsQueryResult>;\n  }\n  /**\n   * create multiple products in a single request. Works synchronously\n   * @public\n   * @documentationMaturity preview\n   * @requiredField products\n   * @adminMethod\n   */\n  function bulkCreateProducts(products: Product[], options?: BulkCreateProductsOptions): Promise<BulkCreateProductsResponse>;\n  interface BulkCreateProductsOptions {\n      /** set to `true` if you wish to receive back the created products in the response */\n      returnEntity?: boolean;\n  }\n  /**\n   * update multiple products in a single request. Works synchronously.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField products\n   * @adminMethod\n   */\n  function bulkUpdateProducts(products: MaskedProduct[], options?: BulkUpdateProductsOptions): Promise<BulkUpdateProductsResponse>;\n  interface BulkUpdateProductsOptions {\n      /** set to `true` if you wish to receive back the updated products in the response */\n      returnEntity?: boolean;\n  }\n  /**\n   * deletes multiple products in a single request. Works synchronously.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productIds\n   * @adminMethod\n   */\n  function bulkDeleteProducts(productIds: string[]): Promise<BulkDeleteProductsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function resetProductsDb(): Promise<void>;\n  \n  type metroinspectorV1Product_universal_d_FocalPoint = FocalPoint;\n  type metroinspectorV1Product_universal_d_Address = Address;\n  type metroinspectorV1Product_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type metroinspectorV1Product_universal_d_StreetAddress = StreetAddress;\n  type metroinspectorV1Product_universal_d_AddressLocation = AddressLocation;\n  type metroinspectorV1Product_universal_d_Subdivision = Subdivision;\n  type metroinspectorV1Product_universal_d_SubdivisionType = SubdivisionType;\n  const metroinspectorV1Product_universal_d_SubdivisionType: typeof SubdivisionType;\n  type metroinspectorV1Product_universal_d_StandardDetails = StandardDetails;\n  type metroinspectorV1Product_universal_d_VideoResolution = VideoResolution;\n  type metroinspectorV1Product_universal_d_PageLink = PageLink;\n  type metroinspectorV1Product_universal_d_LinkRel = LinkRel;\n  const metroinspectorV1Product_universal_d_LinkRel: typeof LinkRel;\n  type metroinspectorV1Product_universal_d_Variant = Variant;\n  type metroinspectorV1Product_universal_d_MyAddress = MyAddress;\n  type metroinspectorV1Product_universal_d_CreateProductRequest = CreateProductRequest;\n  type metroinspectorV1Product_universal_d_CreateProductResponse = CreateProductResponse;\n  type metroinspectorV1Product_universal_d_DeleteProductRequest = DeleteProductRequest;\n  type metroinspectorV1Product_universal_d_DeleteProductResponse = DeleteProductResponse;\n  type metroinspectorV1Product_universal_d_UpdateProductRequest = UpdateProductRequest;\n  type metroinspectorV1Product_universal_d_UpdateProductResponse = UpdateProductResponse;\n  type metroinspectorV1Product_universal_d_GetProductRequest = GetProductRequest;\n  type metroinspectorV1Product_universal_d_GetProductResponse = GetProductResponse;\n  type metroinspectorV1Product_universal_d_GetProductsStartWithRequest = GetProductsStartWithRequest;\n  type metroinspectorV1Product_universal_d_GetProductsStartWithResponse = GetProductsStartWithResponse;\n  type metroinspectorV1Product_universal_d_QueryProductsRequest = QueryProductsRequest;\n  type metroinspectorV1Product_universal_d_QueryV2 = QueryV2;\n  type metroinspectorV1Product_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type metroinspectorV1Product_universal_d_Sorting = Sorting;\n  type metroinspectorV1Product_universal_d_SortOrder = SortOrder;\n  const metroinspectorV1Product_universal_d_SortOrder: typeof SortOrder;\n  type metroinspectorV1Product_universal_d_Paging = Paging;\n  type metroinspectorV1Product_universal_d_CursorPaging = CursorPaging;\n  type metroinspectorV1Product_universal_d_QueryProductsResponse = QueryProductsResponse;\n  type metroinspectorV1Product_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type metroinspectorV1Product_universal_d_Cursors = Cursors;\n  type metroinspectorV1Product_universal_d_BulkCreateProductsRequest = BulkCreateProductsRequest;\n  type metroinspectorV1Product_universal_d_BulkCreateProductsResponse = BulkCreateProductsResponse;\n  type metroinspectorV1Product_universal_d_ItemMetadata = ItemMetadata;\n  type metroinspectorV1Product_universal_d_ApplicationError = ApplicationError;\n  type metroinspectorV1Product_universal_d_BulkProductResult = BulkProductResult;\n  type metroinspectorV1Product_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type metroinspectorV1Product_universal_d_BulkUpdateProductsRequest = BulkUpdateProductsRequest;\n  type metroinspectorV1Product_universal_d_MaskedProduct = MaskedProduct;\n  type metroinspectorV1Product_universal_d_BulkUpdateProductsResponse = BulkUpdateProductsResponse;\n  type metroinspectorV1Product_universal_d_BulkUpdateProductsResponseBulkProductResult = BulkUpdateProductsResponseBulkProductResult;\n  type metroinspectorV1Product_universal_d_BulkDeleteProductsRequest = BulkDeleteProductsRequest;\n  type metroinspectorV1Product_universal_d_BulkDeleteProductsResponse = BulkDeleteProductsResponse;\n  type metroinspectorV1Product_universal_d_BulkDeleteProductsResponseBulkProductResult = BulkDeleteProductsResponseBulkProductResult;\n  type metroinspectorV1Product_universal_d_ResetProductsDbRequest = ResetProductsDbRequest;\n  type metroinspectorV1Product_universal_d_ResetProductsDbResponse = ResetProductsDbResponse;\n  type metroinspectorV1Product_universal_d_Product = Product;\n  const metroinspectorV1Product_universal_d_createProduct: typeof createProduct;\n  type metroinspectorV1Product_universal_d_CreateProductOptions = CreateProductOptions;\n  const metroinspectorV1Product_universal_d_deleteProduct: typeof deleteProduct;\n  const metroinspectorV1Product_universal_d_updateProduct: typeof updateProduct;\n  type metroinspectorV1Product_universal_d_UpdateProductOptions = UpdateProductOptions;\n  const metroinspectorV1Product_universal_d_getProduct: typeof getProduct;\n  const metroinspectorV1Product_universal_d_getProductsStartWith: typeof getProductsStartWith;\n  type metroinspectorV1Product_universal_d_GetProductsStartWithOptions = GetProductsStartWithOptions;\n  const metroinspectorV1Product_universal_d_queryProducts: typeof queryProducts;\n  type metroinspectorV1Product_universal_d_QueryProductsOptions = QueryProductsOptions;\n  type metroinspectorV1Product_universal_d_ProductsQueryResult = ProductsQueryResult;\n  type metroinspectorV1Product_universal_d_ProductsQueryBuilder = ProductsQueryBuilder;\n  const metroinspectorV1Product_universal_d_bulkCreateProducts: typeof bulkCreateProducts;\n  type metroinspectorV1Product_universal_d_BulkCreateProductsOptions = BulkCreateProductsOptions;\n  const metroinspectorV1Product_universal_d_bulkUpdateProducts: typeof bulkUpdateProducts;\n  type metroinspectorV1Product_universal_d_BulkUpdateProductsOptions = BulkUpdateProductsOptions;\n  const metroinspectorV1Product_universal_d_bulkDeleteProducts: typeof bulkDeleteProducts;\n  const metroinspectorV1Product_universal_d_resetProductsDb: typeof resetProductsDb;\n  namespace metroinspectorV1Product_universal_d {\n    export {\n      metroinspectorV1Product_universal_d_FocalPoint as FocalPoint,\n      metroinspectorV1Product_universal_d_Address as Address,\n      metroinspectorV1Product_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      metroinspectorV1Product_universal_d_StreetAddress as StreetAddress,\n      metroinspectorV1Product_universal_d_AddressLocation as AddressLocation,\n      metroinspectorV1Product_universal_d_Subdivision as Subdivision,\n      metroinspectorV1Product_universal_d_SubdivisionType as SubdivisionType,\n      metroinspectorV1Product_universal_d_StandardDetails as StandardDetails,\n      metroinspectorV1Product_universal_d_VideoResolution as VideoResolution,\n      metroinspectorV1Product_universal_d_PageLink as PageLink,\n      metroinspectorV1Product_universal_d_LinkRel as LinkRel,\n      metroinspectorV1Product_universal_d_Variant as Variant,\n      metroinspectorV1Product_universal_d_MyAddress as MyAddress,\n      metroinspectorV1Product_universal_d_CreateProductRequest as CreateProductRequest,\n      metroinspectorV1Product_universal_d_CreateProductResponse as CreateProductResponse,\n      metroinspectorV1Product_universal_d_DeleteProductRequest as DeleteProductRequest,\n      metroinspectorV1Product_universal_d_DeleteProductResponse as DeleteProductResponse,\n      metroinspectorV1Product_universal_d_UpdateProductRequest as UpdateProductRequest,\n      metroinspectorV1Product_universal_d_UpdateProductResponse as UpdateProductResponse,\n      metroinspectorV1Product_universal_d_GetProductRequest as GetProductRequest,\n      metroinspectorV1Product_universal_d_GetProductResponse as GetProductResponse,\n      metroinspectorV1Product_universal_d_GetProductsStartWithRequest as GetProductsStartWithRequest,\n      metroinspectorV1Product_universal_d_GetProductsStartWithResponse as GetProductsStartWithResponse,\n      metroinspectorV1Product_universal_d_QueryProductsRequest as QueryProductsRequest,\n      metroinspectorV1Product_universal_d_QueryV2 as QueryV2,\n      metroinspectorV1Product_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      metroinspectorV1Product_universal_d_Sorting as Sorting,\n      metroinspectorV1Product_universal_d_SortOrder as SortOrder,\n      metroinspectorV1Product_universal_d_Paging as Paging,\n      metroinspectorV1Product_universal_d_CursorPaging as CursorPaging,\n      metroinspectorV1Product_universal_d_QueryProductsResponse as QueryProductsResponse,\n      metroinspectorV1Product_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      metroinspectorV1Product_universal_d_Cursors as Cursors,\n      metroinspectorV1Product_universal_d_BulkCreateProductsRequest as BulkCreateProductsRequest,\n      metroinspectorV1Product_universal_d_BulkCreateProductsResponse as BulkCreateProductsResponse,\n      metroinspectorV1Product_universal_d_ItemMetadata as ItemMetadata,\n      metroinspectorV1Product_universal_d_ApplicationError as ApplicationError,\n      metroinspectorV1Product_universal_d_BulkProductResult as BulkProductResult,\n      metroinspectorV1Product_universal_d_BulkActionMetadata as BulkActionMetadata,\n      metroinspectorV1Product_universal_d_BulkUpdateProductsRequest as BulkUpdateProductsRequest,\n      metroinspectorV1Product_universal_d_MaskedProduct as MaskedProduct,\n      metroinspectorV1Product_universal_d_BulkUpdateProductsResponse as BulkUpdateProductsResponse,\n      metroinspectorV1Product_universal_d_BulkUpdateProductsResponseBulkProductResult as BulkUpdateProductsResponseBulkProductResult,\n      metroinspectorV1Product_universal_d_BulkDeleteProductsRequest as BulkDeleteProductsRequest,\n      metroinspectorV1Product_universal_d_BulkDeleteProductsResponse as BulkDeleteProductsResponse,\n      metroinspectorV1Product_universal_d_BulkDeleteProductsResponseBulkProductResult as BulkDeleteProductsResponseBulkProductResult,\n      metroinspectorV1Product_universal_d_ResetProductsDbRequest as ResetProductsDbRequest,\n      metroinspectorV1Product_universal_d_ResetProductsDbResponse as ResetProductsDbResponse,\n      metroinspectorV1Product_universal_d_Product as Product,\n      metroinspectorV1Product_universal_d_createProduct as createProduct,\n      metroinspectorV1Product_universal_d_CreateProductOptions as CreateProductOptions,\n      metroinspectorV1Product_universal_d_deleteProduct as deleteProduct,\n      metroinspectorV1Product_universal_d_updateProduct as updateProduct,\n      metroinspectorV1Product_universal_d_UpdateProductOptions as UpdateProductOptions,\n      metroinspectorV1Product_universal_d_getProduct as getProduct,\n      metroinspectorV1Product_universal_d_getProductsStartWith as getProductsStartWith,\n      metroinspectorV1Product_universal_d_GetProductsStartWithOptions as GetProductsStartWithOptions,\n      metroinspectorV1Product_universal_d_queryProducts as queryProducts,\n      metroinspectorV1Product_universal_d_QueryProductsOptions as QueryProductsOptions,\n      metroinspectorV1Product_universal_d_ProductsQueryResult as ProductsQueryResult,\n      metroinspectorV1Product_universal_d_ProductsQueryBuilder as ProductsQueryBuilder,\n      metroinspectorV1Product_universal_d_bulkCreateProducts as bulkCreateProducts,\n      metroinspectorV1Product_universal_d_BulkCreateProductsOptions as BulkCreateProductsOptions,\n      metroinspectorV1Product_universal_d_bulkUpdateProducts as bulkUpdateProducts,\n      metroinspectorV1Product_universal_d_BulkUpdateProductsOptions as BulkUpdateProductsOptions,\n      metroinspectorV1Product_universal_d_bulkDeleteProducts as bulkDeleteProducts,\n      metroinspectorV1Product_universal_d_resetProductsDb as resetProductsDb,\n    };\n  }\n  \n  export { metroinspectorV1Product_universal_d as products };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-online-programs-backend.d.ts",
      "content": "declare module \"wix-online-programs-backend\" {\n  interface Program {\n      /** @readonly */\n      _id?: string | null;\n      /** program settings that can be updated by */\n      settings?: ProgramsSettings;\n      /**\n       * current program state\n       * @readonly\n       */\n      state?: StateTransition$1;\n      /**\n       * sections/steps general info\n       * @readonly\n       */\n      contentSummary?: ContentSummary;\n      /**\n       * participant stats\n       * @readonly\n       */\n      participationStats?: ParticipationStats;\n      /**\n       * msid where the program was created\n       * @readonly\n       */\n      msid?: string;\n      /** @readonly */\n      categoryIds?: string[];\n      /**\n       * identity of the program creator\n       * @readonly\n       */\n      createdBy?: PersonIdentity$1;\n      /**\n       * part of the EXTENDED fieldset -> info about the current person participation in the program.\n       * @readonly\n       */\n      participation?: Participation;\n  }\n  interface ProgramsSettings {\n      /** timeline type -> Self-paced, time-restricted. */\n      timeline?: Timeline;\n      /** general program info */\n      description?: ObjectDescription$1;\n      /** participant limitation, step-completion pace and etc. */\n      restrictions?: ProgramRestrictions;\n      /** single-payment price. */\n      pricing?: Money;\n      /** seo settings */\n      seo?: Seo;\n      rewards?: Reward[];\n      /** connected social group. */\n      socialGroupId?: string | null;\n  }\n  interface Timeline extends TimelineTimelineOptionsOneOf {\n      /** an endless program, owner adds steps \"on the fly\" */\n      ongoing?: Ongoing;\n      /** program duration is fixed, every participant has its own start-date. */\n      flexible?: Flexible;\n      /** program duration is fixed, all participants share the same time range. */\n      specific?: Specific;\n      /** endless or fixed program where steps are not limited by time. */\n      selfPaced?: SelfPaced;\n  }\n  /** @oneof */\n  interface TimelineTimelineOptionsOneOf {\n      /** an endless program, owner adds steps \"on the fly\" */\n      ongoing?: Ongoing;\n      /** program duration is fixed, every participant has its own start-date. */\n      flexible?: Flexible;\n      /** program duration is fixed, all participants share the same time range. */\n      specific?: Specific;\n      /** endless or fixed program where steps are not limited by time. */\n      selfPaced?: SelfPaced;\n  }\n  /** Time duration */\n  interface TimeDuration$1 {\n      /** DAYS or WEEKS */\n      unit?: DurationUnit$1;\n      /** number of unit */\n      value?: number;\n  }\n  enum DurationUnit$1 {\n      DAYS = \"DAYS\",\n      WEEKS = \"WEEKS\"\n  }\n  interface Ongoing {\n      /** specific date chosen by owner to start the program */\n      startDate?: string;\n  }\n  interface Flexible {\n      /** duration of the program */\n      duration?: TimeDuration$1;\n  }\n  interface Specific {\n      /** everyone starts on this day */\n      startDate?: string;\n      /** program duration */\n      duration?: TimeDuration$1;\n  }\n  interface SelfPaced {\n      /** give participants time duration to finish. */\n      duration?: TimeDuration$1;\n  }\n  interface ObjectDescription$1 {\n      /** object title */\n      title?: string | null;\n      /** object details */\n      details?: string | null;\n      /** media */\n      media?: MediaItem$1;\n  }\n  interface MediaItem$1 extends MediaItemMediaOneOf$1 {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf$1 {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n  }\n  interface VideoResolution$1 {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface ProgramRestrictions {\n      /** limit of active participants in the program. */\n      maxParticipants?: number | null;\n      /** hide steps in the Pending state. */\n      hideFutureSteps?: boolean;\n      /** allow participants complete steps in the certain order. */\n      resolveStepsInOrder?: boolean;\n      /** visibility and join access */\n      accessType?: AccessType;\n      /** allow program participants to share their progress in group */\n      shareProgress?: boolean;\n  }\n  enum AccessType {\n      PUBLIC = \"PUBLIC\",\n      PRIVATE = \"PRIVATE\",\n      SECRET = \"SECRET\"\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface Seo {\n      /** challenge slug expression. */\n      slug?: string;\n      /** schema used by Seo team */\n      seoData?: SeoSchema;\n      /** program url */\n      url?: string;\n      /** image url from description media */\n      imageUrl?: string | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings$1;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$1 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface Reward {\n      /** on which action rewards must be assigned. */\n      trigger?: Trigger;\n      /** badges participant will get on program complete */\n      badgeIds?: string[];\n      /** certificate for program. Currently is program GUID */\n      certificate?: Certificate$2;\n  }\n  enum Trigger {\n      /** member joins the program */\n      JOINED_TO_PROGRAM = \"JOINED_TO_PROGRAM\",\n      /** at least one step completed */\n      STEP_COMPLETED = \"STEP_COMPLETED\",\n      /** all steps are completed. */\n      ALL_STEPS_COMPLETED = \"ALL_STEPS_COMPLETED\"\n  }\n  interface Certificate$2 {\n      /** Certificate for program completion. Currently is program GUID */\n      _id?: string | null;\n      /** date it was connected to program */\n      connectedDate?: Date;\n  }\n  interface StateTransition$1 {\n      /** program state */\n      state?: StateTransitionState;\n      /** time when program changed state */\n      occurredAt?: Date;\n  }\n  enum StateTransitionState {\n      /** not published program, visible only to site owner */\n      DRAFT = \"DRAFT\",\n      /** program visible regarding to restrictions */\n      PUBLISHED = \"PUBLISHED\",\n      FINISHED = \"FINISHED\",\n      ARCHIVED = \"ARCHIVED\"\n  }\n  interface ContentSummary {\n      /** number of steps in the program */\n      totalSteps?: number;\n      /** number of sections in the program */\n      totalSections?: number;\n  }\n  interface ParticipationStats {\n      /** number of active and finished participants. */\n      activeCount?: number;\n      /** number of pending join requests */\n      joinRequestCount?: number;\n      /** number of invited members. */\n      invitationCount?: number;\n      /** number of participants waiting for the owner payment confirmation. */\n      paymentWaitingCount?: number;\n      /** number of participants who joined, but not started the program */\n      notStartedCount?: number;\n      /** number of participants who started and not finished the program */\n      inProgressCount?: number;\n      /** number of participants who finished the program */\n      finishedCount?: number;\n  }\n  interface PersonIdentity$1 {\n      /**\n       * Wix member\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * Wix contact\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * Wix user\n       * @readonly\n       */\n      wixUserId?: string | null;\n  }\n  interface Participation {\n      participantId?: string;\n      /** current participants state */\n      state?: State$2;\n      /** number of successfully completed program steps */\n      totalCompletedSteps?: number;\n  }\n  interface State$2 extends StateStateOptionsOneOf$1 {\n      /** participant invited to program by owner */\n      invited?: Invited$1;\n      /** participant requested to join to private program */\n      joinRequested?: JoinRequested$1;\n      /** owner rejected participant join request */\n      joinRejected?: JoinRejected$1;\n      /** owner requested member to pay for participation */\n      paymentRequested?: PaymentRequested$1;\n      /** member started payment */\n      paymentStarted?: PaymentStarted$1;\n      /** owner waits for manual offline payment */\n      paymentStartedOffline?: PaymentStartedOffline$1;\n      /** member became participant */\n      joined?: Joined$1;\n      /** participant left program */\n      left?: Left$1;\n      /** owner removed participant from program */\n      removed?: Removed$1;\n      /** participant completed program */\n      completed?: Completed$2;\n      /** participant did not finished program in timeline */\n      failed?: Failed$1;\n      /** program was suspended, so is participant */\n      suspended?: Suspended$1;\n  }\n  /** @oneof */\n  interface StateStateOptionsOneOf$1 {\n      /** participant invited to program by owner */\n      invited?: Invited$1;\n      /** participant requested to join to private program */\n      joinRequested?: JoinRequested$1;\n      /** owner rejected participant join request */\n      joinRejected?: JoinRejected$1;\n      /** owner requested member to pay for participation */\n      paymentRequested?: PaymentRequested$1;\n      /** member started payment */\n      paymentStarted?: PaymentStarted$1;\n      /** owner waits for manual offline payment */\n      paymentStartedOffline?: PaymentStartedOffline$1;\n      /** member became participant */\n      joined?: Joined$1;\n      /** participant left program */\n      left?: Left$1;\n      /** owner removed participant from program */\n      removed?: Removed$1;\n      /** participant completed program */\n      completed?: Completed$2;\n      /** participant did not finished program in timeline */\n      failed?: Failed$1;\n      /** program was suspended, so is participant */\n      suspended?: Suspended$1;\n  }\n  interface DateInterval$2 {\n      /** local date start */\n      start?: string;\n      /** local date finish, inclusive */\n      finish?: string | null;\n  }\n  interface Invited$1 {\n  }\n  interface JoinRequested$1 {\n      /** Approval request regarding to V1 */\n      approvalRequestId?: string;\n  }\n  interface JoinRejected$1 {\n  }\n  interface PaymentRequested$1 {\n  }\n  interface PaymentStarted$1 {\n  }\n  interface PaymentStartedOffline$1 {\n      /** Offline transaction id in payments wix.payment.api.pay.v3.Transaction */\n      transactionId?: string;\n  }\n  interface Joined$1 {\n      /** TODO: change to start/end pair? */\n      dateFrame?: DateInterval$2;\n  }\n  interface Left$1 {\n  }\n  interface Removed$1 {\n  }\n  interface Completed$2 {\n  }\n  interface Failed$1 {\n  }\n  interface Suspended$1 {\n  }\n  interface ListProgramsRequest {\n      /** return only programs where current identity is participating. */\n      participatingOnly?: boolean;\n      /** sort criterion */\n      sorting?: SortingCriterion$1;\n      /** page (offset-based only at the moment) */\n      paging?: Paging$2;\n      /** at the moment EXTENDED contains Participation + Stats objects on top of STANDARD. */\n      fieldSet?: FieldSet;\n  }\n  enum SortingCriterion$1 {\n      DEFAULT = \"DEFAULT\",\n      ACTIVE_FIRST = \"ACTIVE_FIRST\",\n      LAST_TRANSITION = \"LAST_TRANSITION\",\n      CREATION_TIME = \"CREATION_TIME\"\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  enum FieldSet {\n      STANDARD = \"STANDARD\",\n      EXTENDED = \"EXTENDED\"\n  }\n  interface ListProgramsResponse {\n      /** paging metadata */\n      metadata?: PagingMetadataV2$1;\n      /** programs */\n      programs?: Program[];\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetProgramRequest {\n      /** program to get */\n      programId: string;\n      /** STANDARD or EXTENDED field set */\n      fieldSet?: FieldSet;\n  }\n  interface GetProgramResponse {\n      /** found program */\n      program?: Program;\n  }\n  interface QueryProgramsRequest {\n      /** query to get programs */\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryProgramsResponse {\n      /** paging metadata */\n      metadata?: PagingMetadataV2$1;\n      /** programs */\n      programs?: Program[];\n  }\n  interface CreateProgramRequest extends CreateProgramRequestStrategyOneOf {\n      /** to create new program from scratch */\n      startFresh?: StartFresh;\n      /** to clone existing program */\n      duplicate?: Duplicate;\n      /** to crate from existing template */\n      fromTemplate?: FromTemplate;\n  }\n  /** @oneof */\n  interface CreateProgramRequestStrategyOneOf {\n      /** to create new program from scratch */\n      startFresh?: StartFresh;\n      /** to clone existing program */\n      duplicate?: Duplicate;\n      /** to crate from existing template */\n      fromTemplate?: FromTemplate;\n  }\n  enum ValidationStrategy {\n      FAIL_ON_ERRORS = \"FAIL_ON_ERRORS\",\n      FIX_ERRORS = \"FIX_ERRORS\"\n  }\n  /** Creates new draft program by providing new settings */\n  interface StartFresh {\n      /** settings for new program */\n      settings?: ProgramsSettings;\n  }\n  /** Creates new draft program by cloning existing one */\n  interface Duplicate {\n      /** existing owners program to duplicate */\n      cloneFromId?: string;\n      /** fix or fail on errors */\n      validation?: ValidationStrategy;\n  }\n  /** Creates new draft program from existing templates */\n  interface FromTemplate {\n      /** existing program template */\n      cloneFromId?: string;\n      /** new settings to override */\n      settings?: ProgramsSettings;\n  }\n  interface CreateProgramResponse {\n      /** new program */\n      program?: Program;\n  }\n  interface UpdateProgramSettingsRequest {\n      /** program to update */\n      programId: string;\n      /** fields to change in program settings */\n      programSettings?: ProgramsSettings;\n      /** fix or fail on errors */\n      validation?: ValidationStrategy;\n      /**\n       * inferred mask on program_settings fields\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateProgramSettingsResponse {\n      /** updated program */\n      program?: Program;\n  }\n  interface ProgramSettingsUpdated {\n      /** updated program */\n      program?: Program;\n      /** settings before update */\n      previousSettings?: ProgramsSettings;\n  }\n  interface BulkUpdateProgramSettingsRequest {\n      programs?: MaskedProgramSettings[];\n      /** If true - full entity will be returned. Otherwise - only id. */\n      returnFullEntity?: boolean;\n  }\n  interface MaskedProgramSettings {\n      /** program to update */\n      programId?: string;\n      /** program settings to update */\n      programSettings?: ProgramsSettings;\n      /**\n       * inferred mask on program_settings fields\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface BulkUpdateProgramSettingsResponse {\n      results?: BulkProgramSettingsResult[];\n      /** Metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkProgramSettingsResult {\n      /** A metadata. */\n      itemMetadata?: ItemMetadata$1;\n      /** updated program */\n      program?: Program;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ChangeProgramStateRequest {\n      /** program to change state */\n      programId: string;\n      /** state to which change */\n      state?: StateTransitionState;\n  }\n  interface ChangeProgramStateResponse {\n      /** program with new state */\n      program?: Program;\n  }\n  interface ProgramStateChanged {\n      /** updated program */\n      program?: Program;\n  }\n  interface AssignCategoriesRequest {\n      /** program to */\n      programId: string;\n      categoryIds?: string[];\n  }\n  interface AssignCategoriesResponse {\n      /** Updated program */\n      program?: Program;\n      idsAdded?: string[];\n      idsRemoved?: string[];\n  }\n  interface DeleteProgramRequest {\n      /** program Id to delete */\n      programId: string;\n  }\n  interface DeleteProgramResponse {\n      /** deleted program, without PageUrl info */\n      program?: Program;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * List programs with paging\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listPrograms(options?: ListProgramsOptions): Promise<ListProgramsResponse>;\n  interface ListProgramsOptions {\n      /** return only programs where current identity is participating. */\n      participatingOnly?: boolean;\n      /** sort criterion */\n      sorting?: SortingCriterion$1;\n      /** page (offset-based only at the moment) */\n      paging?: Paging$2;\n      /** at the moment EXTENDED contains Participation + Stats objects on top of STANDARD. */\n      fieldSet?: FieldSet;\n  }\n  /**\n   * Find one program\n   * @param programId - program to get\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @returns found program\n   */\n  function getProgram(programId: string, options?: GetProgramOptions): Promise<Program>;\n  interface GetProgramOptions {\n      /** STANDARD or EXTENDED field set */\n      fieldSet?: FieldSet;\n  }\n  /**\n   * Find programs by platformized query\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ONLINE_PROGRAMS.PROGRAM_READ\n   */\n  function queryPrograms(): ProgramsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProgramsQueryResult extends QueryCursorResult {\n      items: Program[];\n      query: ProgramsQueryBuilder;\n      next: () => Promise<ProgramsQueryResult>;\n      prev: () => Promise<ProgramsQueryResult>;\n  }\n  interface ProgramsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'state' | 'categoryIds', value: any) => ProgramsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'state' | 'categoryIds', value: any) => ProgramsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'state' | 'categoryIds', value: any) => ProgramsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id'>) => ProgramsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id'>) => ProgramsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ProgramsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ProgramsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ProgramsQueryResult>;\n  }\n  /**\n   * Creates new program in draft state by provided fresh settings, duplicate existing prog, or from template\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function createProgram(options?: CreateProgramOptions): Promise<CreateProgramResponse>;\n  interface CreateProgramOptions extends CreateProgramRequestStrategyOneOf {\n      /** to create new program from scratch */\n      startFresh?: StartFresh;\n      /** to clone existing program */\n      duplicate?: Duplicate;\n      /** to crate from existing template */\n      fromTemplate?: FromTemplate;\n  }\n  /**\n   * Partial program settings update\n   * @param programId - program to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function updateProgramSettings(programId: string, options?: UpdateProgramSettingsOptions): Promise<UpdateProgramSettingsResponse>;\n  interface UpdateProgramSettingsOptions {\n      /** fields to change in program settings */\n      programSettings?: ProgramsSettings;\n      /** fix or fail on errors */\n      validation?: ValidationStrategy;\n      /**\n       * inferred mask on program_settings fields\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Bulk partial settings update. Bulk version of UpdateProgramSettings\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function bulkUpdateProgramSettings(options?: BulkUpdateProgramSettingsOptions): Promise<BulkUpdateProgramSettingsResponse>;\n  interface BulkUpdateProgramSettingsOptions {\n      programs?: MaskedProgramSettings[];\n      /** If true - full entity will be returned. Otherwise - only id. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Changes program state. New program has state DRAFT.\n   * It could be PUBLISHED, FINISHED or ARCHIVED.\n   * PUBLISHED program could be FINISHED or ARCHIVED. FINISHED -> ARCHIVED.\n   * ARCHIVED program could be only deleted or duplicated (to draft state).\n   * In case of any other transition, WrongTransition error will be raised.\n   * @param programId - program to change state\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function changeProgramState(programId: string, options?: ChangeProgramStateOptions): Promise<ChangeProgramStateResponse>;\n  interface ChangeProgramStateOptions {\n      /** state to which change */\n      state?: StateTransitionState;\n  }\n  /**\n   * Assign list of categories to the program. Provided list will replace existing one.\n   * @param programId - program to\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function assignCategories(programId: string, options?: AssignCategoriesOptions): Promise<AssignCategoriesResponse>;\n  interface AssignCategoriesOptions {\n      categoryIds?: string[];\n  }\n  /**\n   * Hard delete of existing program\n   * @param programId - program Id to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function deleteProgram(programId: string): Promise<DeleteProgramResponse>;\n  \n  type achievementsProgramsV2Program_universal_d_Program = Program;\n  type achievementsProgramsV2Program_universal_d_ProgramsSettings = ProgramsSettings;\n  type achievementsProgramsV2Program_universal_d_Timeline = Timeline;\n  type achievementsProgramsV2Program_universal_d_TimelineTimelineOptionsOneOf = TimelineTimelineOptionsOneOf;\n  type achievementsProgramsV2Program_universal_d_Ongoing = Ongoing;\n  type achievementsProgramsV2Program_universal_d_Flexible = Flexible;\n  type achievementsProgramsV2Program_universal_d_Specific = Specific;\n  type achievementsProgramsV2Program_universal_d_SelfPaced = SelfPaced;\n  type achievementsProgramsV2Program_universal_d_ProgramRestrictions = ProgramRestrictions;\n  type achievementsProgramsV2Program_universal_d_AccessType = AccessType;\n  const achievementsProgramsV2Program_universal_d_AccessType: typeof AccessType;\n  type achievementsProgramsV2Program_universal_d_Money = Money;\n  type achievementsProgramsV2Program_universal_d_Seo = Seo;\n  type achievementsProgramsV2Program_universal_d_SeoSchema = SeoSchema;\n  type achievementsProgramsV2Program_universal_d_Keyword = Keyword;\n  type achievementsProgramsV2Program_universal_d_Tag = Tag;\n  type achievementsProgramsV2Program_universal_d_Reward = Reward;\n  type achievementsProgramsV2Program_universal_d_Trigger = Trigger;\n  const achievementsProgramsV2Program_universal_d_Trigger: typeof Trigger;\n  type achievementsProgramsV2Program_universal_d_StateTransitionState = StateTransitionState;\n  const achievementsProgramsV2Program_universal_d_StateTransitionState: typeof StateTransitionState;\n  type achievementsProgramsV2Program_universal_d_ContentSummary = ContentSummary;\n  type achievementsProgramsV2Program_universal_d_ParticipationStats = ParticipationStats;\n  type achievementsProgramsV2Program_universal_d_Participation = Participation;\n  type achievementsProgramsV2Program_universal_d_ListProgramsRequest = ListProgramsRequest;\n  type achievementsProgramsV2Program_universal_d_FieldSet = FieldSet;\n  const achievementsProgramsV2Program_universal_d_FieldSet: typeof FieldSet;\n  type achievementsProgramsV2Program_universal_d_ListProgramsResponse = ListProgramsResponse;\n  type achievementsProgramsV2Program_universal_d_GetProgramRequest = GetProgramRequest;\n  type achievementsProgramsV2Program_universal_d_GetProgramResponse = GetProgramResponse;\n  type achievementsProgramsV2Program_universal_d_QueryProgramsRequest = QueryProgramsRequest;\n  type achievementsProgramsV2Program_universal_d_Query = Query;\n  type achievementsProgramsV2Program_universal_d_QueryProgramsResponse = QueryProgramsResponse;\n  type achievementsProgramsV2Program_universal_d_CreateProgramRequest = CreateProgramRequest;\n  type achievementsProgramsV2Program_universal_d_CreateProgramRequestStrategyOneOf = CreateProgramRequestStrategyOneOf;\n  type achievementsProgramsV2Program_universal_d_ValidationStrategy = ValidationStrategy;\n  const achievementsProgramsV2Program_universal_d_ValidationStrategy: typeof ValidationStrategy;\n  type achievementsProgramsV2Program_universal_d_StartFresh = StartFresh;\n  type achievementsProgramsV2Program_universal_d_Duplicate = Duplicate;\n  type achievementsProgramsV2Program_universal_d_FromTemplate = FromTemplate;\n  type achievementsProgramsV2Program_universal_d_CreateProgramResponse = CreateProgramResponse;\n  type achievementsProgramsV2Program_universal_d_UpdateProgramSettingsRequest = UpdateProgramSettingsRequest;\n  type achievementsProgramsV2Program_universal_d_UpdateProgramSettingsResponse = UpdateProgramSettingsResponse;\n  type achievementsProgramsV2Program_universal_d_ProgramSettingsUpdated = ProgramSettingsUpdated;\n  type achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsRequest = BulkUpdateProgramSettingsRequest;\n  type achievementsProgramsV2Program_universal_d_MaskedProgramSettings = MaskedProgramSettings;\n  type achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsResponse = BulkUpdateProgramSettingsResponse;\n  type achievementsProgramsV2Program_universal_d_BulkProgramSettingsResult = BulkProgramSettingsResult;\n  type achievementsProgramsV2Program_universal_d_ChangeProgramStateRequest = ChangeProgramStateRequest;\n  type achievementsProgramsV2Program_universal_d_ChangeProgramStateResponse = ChangeProgramStateResponse;\n  type achievementsProgramsV2Program_universal_d_ProgramStateChanged = ProgramStateChanged;\n  type achievementsProgramsV2Program_universal_d_AssignCategoriesRequest = AssignCategoriesRequest;\n  type achievementsProgramsV2Program_universal_d_AssignCategoriesResponse = AssignCategoriesResponse;\n  type achievementsProgramsV2Program_universal_d_DeleteProgramRequest = DeleteProgramRequest;\n  type achievementsProgramsV2Program_universal_d_DeleteProgramResponse = DeleteProgramResponse;\n  const achievementsProgramsV2Program_universal_d_listPrograms: typeof listPrograms;\n  type achievementsProgramsV2Program_universal_d_ListProgramsOptions = ListProgramsOptions;\n  const achievementsProgramsV2Program_universal_d_getProgram: typeof getProgram;\n  type achievementsProgramsV2Program_universal_d_GetProgramOptions = GetProgramOptions;\n  const achievementsProgramsV2Program_universal_d_queryPrograms: typeof queryPrograms;\n  type achievementsProgramsV2Program_universal_d_ProgramsQueryResult = ProgramsQueryResult;\n  type achievementsProgramsV2Program_universal_d_ProgramsQueryBuilder = ProgramsQueryBuilder;\n  const achievementsProgramsV2Program_universal_d_createProgram: typeof createProgram;\n  type achievementsProgramsV2Program_universal_d_CreateProgramOptions = CreateProgramOptions;\n  const achievementsProgramsV2Program_universal_d_updateProgramSettings: typeof updateProgramSettings;\n  type achievementsProgramsV2Program_universal_d_UpdateProgramSettingsOptions = UpdateProgramSettingsOptions;\n  const achievementsProgramsV2Program_universal_d_bulkUpdateProgramSettings: typeof bulkUpdateProgramSettings;\n  type achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsOptions = BulkUpdateProgramSettingsOptions;\n  const achievementsProgramsV2Program_universal_d_changeProgramState: typeof changeProgramState;\n  type achievementsProgramsV2Program_universal_d_ChangeProgramStateOptions = ChangeProgramStateOptions;\n  const achievementsProgramsV2Program_universal_d_assignCategories: typeof assignCategories;\n  type achievementsProgramsV2Program_universal_d_AssignCategoriesOptions = AssignCategoriesOptions;\n  const achievementsProgramsV2Program_universal_d_deleteProgram: typeof deleteProgram;\n  namespace achievementsProgramsV2Program_universal_d {\n    export {\n      achievementsProgramsV2Program_universal_d_Program as Program,\n      achievementsProgramsV2Program_universal_d_ProgramsSettings as ProgramsSettings,\n      achievementsProgramsV2Program_universal_d_Timeline as Timeline,\n      achievementsProgramsV2Program_universal_d_TimelineTimelineOptionsOneOf as TimelineTimelineOptionsOneOf,\n      TimeDuration$1 as TimeDuration,\n      DurationUnit$1 as DurationUnit,\n      achievementsProgramsV2Program_universal_d_Ongoing as Ongoing,\n      achievementsProgramsV2Program_universal_d_Flexible as Flexible,\n      achievementsProgramsV2Program_universal_d_Specific as Specific,\n      achievementsProgramsV2Program_universal_d_SelfPaced as SelfPaced,\n      ObjectDescription$1 as ObjectDescription,\n      MediaItem$1 as MediaItem,\n      MediaItemMediaOneOf$1 as MediaItemMediaOneOf,\n      VideoResolution$1 as VideoResolution,\n      achievementsProgramsV2Program_universal_d_ProgramRestrictions as ProgramRestrictions,\n      achievementsProgramsV2Program_universal_d_AccessType as AccessType,\n      achievementsProgramsV2Program_universal_d_Money as Money,\n      achievementsProgramsV2Program_universal_d_Seo as Seo,\n      achievementsProgramsV2Program_universal_d_SeoSchema as SeoSchema,\n      achievementsProgramsV2Program_universal_d_Keyword as Keyword,\n      achievementsProgramsV2Program_universal_d_Tag as Tag,\n      Settings$1 as Settings,\n      achievementsProgramsV2Program_universal_d_Reward as Reward,\n      achievementsProgramsV2Program_universal_d_Trigger as Trigger,\n      Certificate$2 as Certificate,\n      StateTransition$1 as StateTransition,\n      achievementsProgramsV2Program_universal_d_StateTransitionState as StateTransitionState,\n      achievementsProgramsV2Program_universal_d_ContentSummary as ContentSummary,\n      achievementsProgramsV2Program_universal_d_ParticipationStats as ParticipationStats,\n      PersonIdentity$1 as PersonIdentity,\n      achievementsProgramsV2Program_universal_d_Participation as Participation,\n      State$2 as State,\n      StateStateOptionsOneOf$1 as StateStateOptionsOneOf,\n      DateInterval$2 as DateInterval,\n      Invited$1 as Invited,\n      JoinRequested$1 as JoinRequested,\n      JoinRejected$1 as JoinRejected,\n      PaymentRequested$1 as PaymentRequested,\n      PaymentStarted$1 as PaymentStarted,\n      PaymentStartedOffline$1 as PaymentStartedOffline,\n      Joined$1 as Joined,\n      Left$1 as Left,\n      Removed$1 as Removed,\n      Completed$2 as Completed,\n      Failed$1 as Failed,\n      Suspended$1 as Suspended,\n      achievementsProgramsV2Program_universal_d_ListProgramsRequest as ListProgramsRequest,\n      SortingCriterion$1 as SortingCriterion,\n      Paging$2 as Paging,\n      achievementsProgramsV2Program_universal_d_FieldSet as FieldSet,\n      achievementsProgramsV2Program_universal_d_ListProgramsResponse as ListProgramsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      achievementsProgramsV2Program_universal_d_GetProgramRequest as GetProgramRequest,\n      achievementsProgramsV2Program_universal_d_GetProgramResponse as GetProgramResponse,\n      achievementsProgramsV2Program_universal_d_QueryProgramsRequest as QueryProgramsRequest,\n      achievementsProgramsV2Program_universal_d_Query as Query,\n      Sorting$2 as Sorting,\n      SortOrder$1 as SortOrder,\n      achievementsProgramsV2Program_universal_d_QueryProgramsResponse as QueryProgramsResponse,\n      achievementsProgramsV2Program_universal_d_CreateProgramRequest as CreateProgramRequest,\n      achievementsProgramsV2Program_universal_d_CreateProgramRequestStrategyOneOf as CreateProgramRequestStrategyOneOf,\n      achievementsProgramsV2Program_universal_d_ValidationStrategy as ValidationStrategy,\n      achievementsProgramsV2Program_universal_d_StartFresh as StartFresh,\n      achievementsProgramsV2Program_universal_d_Duplicate as Duplicate,\n      achievementsProgramsV2Program_universal_d_FromTemplate as FromTemplate,\n      achievementsProgramsV2Program_universal_d_CreateProgramResponse as CreateProgramResponse,\n      achievementsProgramsV2Program_universal_d_UpdateProgramSettingsRequest as UpdateProgramSettingsRequest,\n      achievementsProgramsV2Program_universal_d_UpdateProgramSettingsResponse as UpdateProgramSettingsResponse,\n      achievementsProgramsV2Program_universal_d_ProgramSettingsUpdated as ProgramSettingsUpdated,\n      achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsRequest as BulkUpdateProgramSettingsRequest,\n      achievementsProgramsV2Program_universal_d_MaskedProgramSettings as MaskedProgramSettings,\n      achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsResponse as BulkUpdateProgramSettingsResponse,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      achievementsProgramsV2Program_universal_d_BulkProgramSettingsResult as BulkProgramSettingsResult,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      achievementsProgramsV2Program_universal_d_ChangeProgramStateRequest as ChangeProgramStateRequest,\n      achievementsProgramsV2Program_universal_d_ChangeProgramStateResponse as ChangeProgramStateResponse,\n      achievementsProgramsV2Program_universal_d_ProgramStateChanged as ProgramStateChanged,\n      achievementsProgramsV2Program_universal_d_AssignCategoriesRequest as AssignCategoriesRequest,\n      achievementsProgramsV2Program_universal_d_AssignCategoriesResponse as AssignCategoriesResponse,\n      achievementsProgramsV2Program_universal_d_DeleteProgramRequest as DeleteProgramRequest,\n      achievementsProgramsV2Program_universal_d_DeleteProgramResponse as DeleteProgramResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      achievementsProgramsV2Program_universal_d_listPrograms as listPrograms,\n      achievementsProgramsV2Program_universal_d_ListProgramsOptions as ListProgramsOptions,\n      achievementsProgramsV2Program_universal_d_getProgram as getProgram,\n      achievementsProgramsV2Program_universal_d_GetProgramOptions as GetProgramOptions,\n      achievementsProgramsV2Program_universal_d_queryPrograms as queryPrograms,\n      achievementsProgramsV2Program_universal_d_ProgramsQueryResult as ProgramsQueryResult,\n      achievementsProgramsV2Program_universal_d_ProgramsQueryBuilder as ProgramsQueryBuilder,\n      achievementsProgramsV2Program_universal_d_createProgram as createProgram,\n      achievementsProgramsV2Program_universal_d_CreateProgramOptions as CreateProgramOptions,\n      achievementsProgramsV2Program_universal_d_updateProgramSettings as updateProgramSettings,\n      achievementsProgramsV2Program_universal_d_UpdateProgramSettingsOptions as UpdateProgramSettingsOptions,\n      achievementsProgramsV2Program_universal_d_bulkUpdateProgramSettings as bulkUpdateProgramSettings,\n      achievementsProgramsV2Program_universal_d_BulkUpdateProgramSettingsOptions as BulkUpdateProgramSettingsOptions,\n      achievementsProgramsV2Program_universal_d_changeProgramState as changeProgramState,\n      achievementsProgramsV2Program_universal_d_ChangeProgramStateOptions as ChangeProgramStateOptions,\n      achievementsProgramsV2Program_universal_d_assignCategories as assignCategories,\n      achievementsProgramsV2Program_universal_d_AssignCategoriesOptions as AssignCategoriesOptions,\n      achievementsProgramsV2Program_universal_d_deleteProgram as deleteProgram,\n    };\n  }\n  \n  interface Participant$1 {\n      _id?: string;\n      member?: Member;\n      challenge?: EntitySummary;\n      timeFrame?: TimeInterval;\n      stepsSummary?: StepsSummary$1;\n      orderIds?: string[];\n      transitions?: StateTransition[];\n      timezone?: string;\n      dateFrame?: DateInterval$1;\n      socialGroupId?: string | null;\n      performance?: number;\n      joinPath?: JoinPath$1;\n      /** Certificate issued to participant on successful program complete */\n      certificate?: Certificate$1;\n  }\n  interface StepEvent$1 {\n      stepId?: string;\n      transition?: ParticipantStepStateTransition;\n  }\n  interface ParticipantStepStateTransition {\n      state?: ParticipantStepState;\n      occurredAt?: Date;\n  }\n  enum ParticipantStepState {\n      PENDING = \"PENDING\",\n      RUNNING = \"RUNNING\",\n      COMPLETED = \"COMPLETED\",\n      SKIPPED = \"SKIPPED\",\n      CONFIRMED = \"CONFIRMED\",\n      REJECTED = \"REJECTED\",\n      OVERDUE = \"OVERDUE\",\n      FAILED = \"FAILED\"\n  }\n  enum State$1 {\n      JOIN_REQUESTED = \"JOIN_REQUESTED\",\n      INVITED = \"INVITED\",\n      JOIN_REJECTED = \"JOIN_REJECTED\",\n      PAYMENT_REQUESTED = \"PAYMENT_REQUESTED\",\n      PAYMENT_STARTED = \"PAYMENT_STARTED\",\n      JOINED = \"JOINED\",\n      LEFT = \"LEFT\",\n      REMOVED = \"REMOVED\",\n      RUNNING = \"RUNNING\",\n      COMPLETED = \"COMPLETED\",\n      FAILED = \"FAILED\",\n      PAYMENT_STARTED_OFFLINE = \"PAYMENT_STARTED_OFFLINE\",\n      SUSPENDED = \"SUSPENDED\"\n  }\n  interface Free {\n  }\n  interface Added {\n  }\n  interface SinglePayment {\n      orderId?: string;\n  }\n  interface PaidPlan {\n      planIds?: string[];\n  }\n  interface FreeCoupon {\n      couponId?: string;\n  }\n  interface Member {\n      _id?: string;\n      fullName?: string;\n      imageUrl?: string | null;\n      contactId?: string | null;\n      userId?: string | null;\n  }\n  interface EntitySummary {\n      _id?: string;\n      title?: string | null;\n      media?: MediaItem;\n  }\n  /** Deprecated - Copy this message into your service, do not reference it */\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n      /** WixMedia document */\n      document?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n      /** WixMedia document */\n      document?: string;\n  }\n  interface TimeInterval {\n      start?: Date;\n      finish?: Date;\n  }\n  interface StepsSummary$1 {\n      stepsNumber?: number;\n      completedStepsNumber?: number;\n      failedStepsNumber?: number;\n      postedFeedbacksNumber?: number;\n      lastEvent?: StepEvent$1;\n  }\n  interface StateTransition {\n      state?: State$1;\n      occurredAt?: Date;\n      offlineTrxId?: string | null;\n  }\n  interface DateInterval$1 {\n      start?: string;\n      finish?: string | null;\n  }\n  interface JoinPath$1 extends JoinPathPathOneOf {\n      free?: Free;\n      added?: Added;\n      singlePayment?: SinglePayment;\n      paidPlan?: PaidPlan;\n      freeCoupon?: FreeCoupon;\n  }\n  /** @oneof */\n  interface JoinPathPathOneOf {\n      free?: Free;\n      added?: Added;\n      singlePayment?: SinglePayment;\n      paidPlan?: PaidPlan;\n      freeCoupon?: FreeCoupon;\n  }\n  interface Certificate$1 {\n      /**\n       * when certificate was issued, UTC\n       * @readonly\n       */\n      issuedDate?: Date;\n  }\n  interface QueryParticipantsRequest$1 {\n      paging?: Paging$1;\n      challengeId: string;\n      sorting?: QueryParticipantsRequestSorting;\n      filter?: ParticipantsFilter;\n  }\n  interface ParticipantJoinDate {\n      start?: string | null;\n      end?: string | null;\n  }\n  enum ParticipationState {\n      NotStarted = \"NotStarted\",\n      InProgress = \"InProgress\",\n      Finished = \"Finished\",\n      Suspended = \"Suspended\"\n  }\n  interface ParticipantPerformance {\n      start?: number | null;\n      end?: number | null;\n  }\n  enum QueryParticipantsRequestJoinPath {\n      UNKNOWN_JOIN_PATH = \"UNKNOWN_JOIN_PATH\",\n      FREE = \"FREE\",\n      ADDED = \"ADDED\",\n      SINGLE_PAYMENT = \"SINGLE_PAYMENT\",\n      PAID_PLAN = \"PAID_PLAN\"\n  }\n  enum QueryParticipantsRequestSortingCriterion {\n      DEFAULT = \"DEFAULT\",\n      JOIN_DATE = \"JOIN_DATE\",\n      NAME = \"NAME\",\n      LAST_EVENT = \"LAST_EVENT\",\n      PERFORMANCE = \"PERFORMANCE\"\n  }\n  enum QueryParticipantsRequestSortingOrder {\n      ORDER_DEFAULT = \"ORDER_DEFAULT\",\n      ORDER_ASC = \"ORDER_ASC\",\n      ORDER_DESC = \"ORDER_DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryParticipantsRequestSorting {\n      criterion?: QueryParticipantsRequestSortingCriterion;\n      order?: QueryParticipantsRequestSortingOrder;\n  }\n  interface ParticipantsFilter {\n      memberIds?: string[] | null;\n      memberName?: string | null;\n      states?: State$1[];\n      joinedAt?: ParticipantJoinDate;\n      participationStates?: ParticipationState[];\n      performance?: ParticipantPerformance[];\n      joinPath?: QueryParticipantsRequestJoinPath;\n  }\n  interface QueryParticipantsResponse$1 {\n      totalCount?: number;\n      participants?: Participant$1[];\n  }\n  interface ListParticipantsRequest {\n      paging?: Paging$1;\n      challengeId: string;\n      /** @deprecated */\n      memberId?: string | null;\n      states?: State$1[];\n      memberIds?: string[] | null;\n      /** @deprecated */\n      sortingCriterion?: SortingCriterion;\n      memberName?: string | null;\n      sorting?: Sorting$1;\n  }\n  enum SortingCriterion {\n      DEFAULT = \"DEFAULT\",\n      JOIN_DATE = \"JOIN_DATE\",\n      NAME = \"NAME\",\n      LAST_EVENT = \"LAST_EVENT\",\n      PERFORMANCE = \"PERFORMANCE\"\n  }\n  enum SortingOrder {\n      ORDER_DEFAULT = \"ORDER_DEFAULT\",\n      ORDER_ASC = \"ORDER_ASC\",\n      ORDER_DESC = \"ORDER_DESC\"\n  }\n  interface Sorting$1 {\n      criterion?: SortingCriterion;\n      order?: SortingOrder;\n  }\n  interface ListParticipantsResponse {\n      totalCount?: number;\n      participants?: Participant$1[];\n  }\n  interface JoinParticipantRequest {\n      challengeId: string;\n      /**\n       * ignored, taken from callScope instead\n       * @deprecated ignored, taken from callScope instead\n       * @targetRemovalDate 2024-09-01\n       */\n      memberId?: string;\n      timeZone?: string;\n      actionId?: string;\n      startDate?: string | null;\n  }\n  interface JoinParticipantResponse {\n      participantId?: string;\n      actionId?: string;\n      participant?: Participant$1;\n  }\n  interface ParticipantJoined {\n      participant?: Participant$1;\n      /** user id for program owner */\n      ownerId?: string;\n      /** owner's contact id */\n      ownerContactId?: string;\n  }\n  /** Add participant */\n  interface AddParticipantRequest$1 {\n      challengeId: string;\n      memberId?: string;\n      actionId?: string;\n  }\n  interface AddParticipantResponse$1 {\n      participant?: Participant$1;\n      actionId?: string;\n  }\n  /** Add participants */\n  interface AddParticipantsRequest {\n      challengeId: string;\n      memberIds?: string[];\n      actionId?: string;\n  }\n  interface AddParticipantsResponse {\n      participants?: Participant$1[];\n      actionId?: string;\n  }\n  interface AddAllParticipantRequest {\n      challengeId: string;\n      excludeIds?: string[];\n  }\n  interface AddAllParticipantResponse {\n  }\n  interface CreateJoinRequestRequest {\n      challengeId: string;\n      memberId?: string;\n      timeZone?: string;\n      actionId?: string;\n      startDate?: string | null;\n  }\n  interface CreateJoinRequestResponse {\n      participantId?: string;\n      approvalRequestId?: string;\n      actionId?: string;\n      participant?: Participant$1;\n  }\n  interface InviteParticipantsRequest {\n      challengeId: string;\n      memberIds?: string[];\n      actionId?: string;\n  }\n  interface InviteParticipantsResponse {\n      invitations?: InvitationDetails[];\n      actionId?: string;\n  }\n  interface InvitationDetails {\n      participantId?: string;\n      approvalRequestId?: string;\n  }\n  interface InviteAllParticipantsRequest {\n      challengeId: string;\n      excludeIds?: string[];\n  }\n  interface InviteAllParticipantsResponse {\n  }\n  interface GetParticipantRequest$1 {\n      challengeId: string;\n      participantId: string;\n  }\n  interface GetParticipantResponse$1 {\n      participant?: Participant$1;\n  }\n  interface UpdateParticipantRequest extends UpdateParticipantRequestUpdateOneOf {\n      startDate?: string;\n      challengeId: string;\n      participantId: string;\n      actionId?: string;\n  }\n  /** @oneof */\n  interface UpdateParticipantRequestUpdateOneOf {\n      startDate?: string;\n  }\n  interface UpdateParticipantResponse {\n      participant?: Participant$1;\n      actionId?: string;\n  }\n  interface DeleteParticipantRequest {\n      challengeId: string;\n      participantId: string;\n      actionId?: string;\n  }\n  interface DeleteParticipantResponse {\n      actionId?: string;\n  }\n  interface ReviveParticipantRequest {\n      challengeId: string;\n      participantId: string;\n      actionId?: string;\n  }\n  interface ReviveParticipantResponse {\n      participant?: Participant$1;\n      actionId?: string;\n  }\n  interface ResetParticipantProgressRequest {\n      challengeId: string;\n      participantId: string;\n      timeZone?: string;\n      startDate?: string | null;\n      actionId?: string;\n  }\n  interface ResetParticipantProgressResponse {\n      participant?: Participant$1;\n      actionId?: string;\n  }\n  interface IssueParticipantCertificateRequest$1 {\n      /** Participant to issue manually certificate */\n      participantId: string;\n      /** Program id. TODO: really bad to have it here, needed for url */\n      challengeId: string;\n  }\n  interface IssueParticipantCertificateResponse$1 {\n      /** Updated participant */\n      participant?: Participant$1;\n  }\n  interface IssueCertificateRequest {\n      /** Participant to get certificate */\n      participantId: string;\n      /** Program id. TODO: really bad to have it here, needed for url */\n      challengeId: string;\n  }\n  interface IssueCertificateResponse {\n      /** Updated participant */\n      participant?: Participant$1;\n  }\n  interface GetCertificateRequest$1 {\n      /** Participant to get certificate */\n      participantId: string;\n      /** Program id. TODO: really bad to have it here, needed for url */\n      challengeId: string;\n  }\n  interface GetCertificateResponse$1 {\n      /** URL on media to get certificate */\n      certificateUrl?: string;\n  }\n  interface CreatePaymentOrderRequest {\n      challengeId: string;\n      participantId: string;\n      actionId?: string;\n      timeZone?: string | null;\n      startDate?: string | null;\n      paymentType?: PaymentType;\n  }\n  enum PaymentType {\n      SINGLE_PAYMENT = \"SINGLE_PAYMENT\",\n      PAID_PLANS = \"PAID_PLANS\"\n  }\n  interface CreatePaymentOrderResponse {\n      orderId?: string;\n      actionId?: string;\n      participant?: Participant$1;\n  }\n  interface ApplyCouponToOrderRequest {\n      challengeId: string;\n      participantId: string;\n      orderId: string;\n      couponCode: string;\n      actionId?: string;\n  }\n  interface ApplyCouponToOrderResponse {\n      couponId?: string;\n      subTotal?: string;\n      discount?: string;\n      total?: string;\n  }\n  interface RemoveCouponFromOrderRequest {\n      challengeId: string;\n      participantId: string;\n      orderId: string;\n      couponId: string;\n      actionId?: string;\n  }\n  interface RemoveCouponFromOrderResponse {\n      total?: string;\n  }\n  interface ListParticipantStepsRequest {\n      challengeId: string;\n      participantId: string;\n      parentId?: string;\n      timeInterval?: TimeInterval;\n      dateInterval?: DateInterval$1;\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  enum DescriptionFieldSet {\n      /** title and detailed description. */\n      EXTENDED = \"EXTENDED\",\n      /** title only. */\n      STANDARD = \"STANDARD\"\n  }\n  interface ListParticipantStepsResponse {\n      steps?: ParticipantStep[];\n  }\n  interface ParticipantStep {\n      _id?: string;\n      source?: ChallengeStep;\n      timeFrame?: TimeInterval;\n      feedback?: Feedback;\n      transitions?: ParticipantStepStateTransition[];\n      dateFrame?: DateInterval$1;\n      quizSubmission?: QuizSubmission;\n  }\n  interface FeedbackItem extends FeedbackItemValueOneOf {\n      number?: number | null;\n      text?: string | null;\n      media?: MediaItems;\n      choice?: FeedbackItemChoice;\n      quantity?: Quantity;\n      multiSelect?: Choices;\n      feedbackItemSettingsId?: string;\n  }\n  /** @oneof */\n  interface FeedbackItemValueOneOf {\n      number?: number | null;\n      text?: string | null;\n      media?: MediaItems;\n      choice?: FeedbackItemChoice;\n      quantity?: Quantity;\n      multiSelect?: Choices;\n  }\n  interface MediaItems {\n      mediaItems?: MediaItem[];\n  }\n  interface FeedbackItemChoice {\n      choiceId?: string;\n  }\n  interface Quantity {\n      unitName?: string;\n      amount?: number;\n  }\n  interface Choices {\n      choiceIds?: string[];\n  }\n  interface ChallengeStep {\n      _id?: string;\n      settings?: ChallengeStepSettings;\n      /** @deprecated */\n      recurrenceSourceId?: string | null;\n      createdAt?: Date;\n      updatedAt?: Date;\n      /** @readonly */\n      sectionId?: string | null;\n  }\n  interface GeneralSettings extends GeneralSettingsStepTypeOneOf {\n      individual?: IndividualSettings;\n      /** @deprecated */\n      group?: GroupSettings;\n      quiz?: QuizSettings;\n      video?: VideoStepSettings;\n      /** steps description: title, details, image and etc. */\n      description?: ObjectDescription;\n      duration?: TimeDuration;\n      /** @deprecated */\n      recurrenceSettings?: RecurrenceSettings;\n  }\n  /** @oneof */\n  interface GeneralSettingsStepTypeOneOf {\n      individual?: IndividualSettings;\n      /** @deprecated */\n      group?: GroupSettings;\n      quiz?: QuizSettings;\n      video?: VideoStepSettings;\n  }\n  interface ObjectDescription {\n      title?: string | null;\n      details?: string | null;\n      media?: MediaItem;\n  }\n  interface IndividualSettings {\n      /** should be renamed, it's a flag whether the questionnaire section is enabled. */\n      confirmationRequired?: boolean;\n      /** feedback list settings. */\n      feedbackSettings?: FeedbackItemSettings[];\n      /** whether the quiz section in enabled. */\n      showQuiz?: boolean;\n      /** quiz list settings. */\n      quizSettings?: FeedbackItemSettings[];\n  }\n  interface FeedbackItemSettings {\n      _id?: string;\n      type?: FeedbackItemType;\n      question?: string;\n      isRequired?: boolean;\n      correctAnswerMessage?: string | null;\n      wrongAnswerMessage?: string | null;\n  }\n  interface NumericFeedbackItem {\n      maxValue?: number;\n  }\n  interface TextFeedbackItem {\n  }\n  interface MediaFeedbackItem {\n  }\n  interface MultipleChoiceFeedbackItem {\n      choices?: Choice[];\n  }\n  enum ChoiceRightness {\n      NEUTRAL = \"NEUTRAL\",\n      RIGHT = \"RIGHT\",\n      WRONG = \"WRONG\"\n  }\n  interface Choice {\n      _id?: string;\n      description?: ObjectDescription;\n      rightness?: ChoiceRightness;\n  }\n  interface QuantityFeedbackItem {\n      unitName?: string | null;\n      amount?: number;\n  }\n  interface FeedbackItemType extends FeedbackItemTypeTypeOneOf {\n      numeric?: NumericFeedbackItem;\n      text?: TextFeedbackItem;\n      media?: MediaFeedbackItem;\n      multipleChoice?: MultipleChoiceFeedbackItem;\n      quantity?: QuantityFeedbackItem;\n      multiSelect?: MultipleChoiceFeedbackItem;\n  }\n  /** @oneof */\n  interface FeedbackItemTypeTypeOneOf {\n      numeric?: NumericFeedbackItem;\n      text?: TextFeedbackItem;\n      media?: MediaFeedbackItem;\n      multipleChoice?: MultipleChoiceFeedbackItem;\n      quantity?: QuantityFeedbackItem;\n      multiSelect?: MultipleChoiceFeedbackItem;\n  }\n  interface GroupSettings {\n      completionCriteria?: CompletionCriteria;\n  }\n  interface CompletionCriteria {\n      completedSteps?: QuantityCriterion;\n      completedMilestones?: QuantityCriterion;\n      scoredPoints?: MinThreshold;\n  }\n  interface QuantityCriterion extends QuantityCriterionCriterionOneOf {\n      all?: All;\n      minThreshold?: MinThreshold;\n  }\n  /** @oneof */\n  interface QuantityCriterionCriterionOneOf {\n      all?: All;\n      minThreshold?: MinThreshold;\n  }\n  interface All {\n  }\n  interface MinThreshold {\n      value?: number;\n  }\n  interface QuizSettings {\n      quizId?: string;\n      questionCount?: number;\n      passingGrade?: number | null;\n      migrationDetails?: QuizMigrationDetails;\n  }\n  enum QuizType {\n      QUIZ = \"QUIZ\",\n      QUESTIONNAIRE = \"QUESTIONNAIRE\"\n  }\n  interface QuizMigrationDetails {\n      sourceStepId?: string;\n      show?: boolean;\n      quizType?: QuizType;\n  }\n  interface VideoStepSettings extends VideoStepSettingsVideoSourceOneOf {\n      wixVideo?: WixVideo;\n      video?: string;\n      requiredCompletionPercentage?: number;\n      coverImage?: string;\n      durationInMilliseconds?: number | null;\n      deleted?: boolean;\n  }\n  /** @oneof */\n  interface VideoStepSettingsVideoSourceOneOf {\n      wixVideo?: WixVideo;\n      video?: string;\n  }\n  interface WixVideo {\n      _id?: string;\n      paid?: boolean;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface TimeDuration {\n      unit?: DurationUnit;\n      value?: number;\n  }\n  enum DurationUnit {\n      WEEKS = \"WEEKS\",\n      DAYS = \"DAYS\",\n      HOURS = \"HOURS\",\n      MINUTES = \"MINUTES\"\n  }\n  interface RecurrenceSettings {\n      schedules?: RecurrenceSchedule[];\n      recurrencesCount?: number | null;\n  }\n  interface RecurrenceSchedule {\n      startDelay?: TimeDuration;\n      interval?: TimeDuration;\n  }\n  interface EmbeddingSettings {\n      /** step start delay. */\n      startConditions?: StartCondition[];\n      /** @deprecated */\n      isMilestone?: boolean;\n      /** @deprecated */\n      points?: number | null;\n  }\n  interface StartCondition {\n      /** whether the step should start on join. */\n      dependency?: StepDependency;\n      /** step delay regarding the challenge start. */\n      delay?: TimeDuration;\n  }\n  interface StepDependency extends StepDependencyDependencyTypeOneOf {\n      container?: Container;\n      /** @deprecated */\n      step?: Step;\n  }\n  /** @oneof */\n  interface StepDependencyDependencyTypeOneOf {\n      container?: Container;\n      /** @deprecated */\n      step?: Step;\n  }\n  interface Container {\n  }\n  interface Step {\n      stepId?: string;\n  }\n  interface ChallengeStepSettings {\n      general?: GeneralSettings;\n      embedding?: EmbeddingSettings;\n  }\n  interface Feedback {\n      items?: FeedbackItem[];\n      createdAt?: Date;\n      updatedAt?: Date;\n      quiz?: FeedbackItem[];\n  }\n  interface QuizSubmission {\n      quizSubmissionId?: string;\n      score?: number | null;\n      grade?: number | null;\n      rightAnswers?: number | null;\n      passingGrade?: number | null;\n  }\n  interface GetParticipantStepRequest {\n      challengeId: string;\n      participantId: string;\n      stepId: string;\n      timeInterval?: TimeInterval;\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  interface GetParticipantStepResponse {\n      step?: ParticipantStep;\n      subSteps?: ParticipantStep[];\n  }\n  interface ResolveParticipantStepRequest {\n      challengeId: string;\n      participantId: string;\n      stepId: string;\n      status?: ResolutionStatus;\n      feedback?: Feedback;\n      actionId?: string;\n      quizSubmissionId?: string | null;\n  }\n  enum ResolutionStatus {\n      COMPLETED = \"COMPLETED\",\n      SKIPPED = \"SKIPPED\",\n      UNDO = \"UNDO\",\n      QUIZ_SUBMIT = \"QUIZ_SUBMIT\"\n  }\n  interface ResolveParticipantStepResponse {\n      step?: ParticipantStep;\n      actionId?: string;\n  }\n  interface StepResolved {\n      challengeId?: string;\n      participantId?: string;\n      memberId?: string;\n      stepTitle?: string;\n      participantStepId?: string;\n      challengeStepId?: string;\n      /** TODO why it is repeated? */\n      feedback?: Feedback[];\n      /** Title of the program. Used in Notifications */\n      programName?: string;\n      /** user id for program owner */\n      ownerId?: string;\n      /** owner's contact id */\n      ownerContactId?: string;\n      /** participants contact */\n      participantContactId?: string;\n      /** info about quiz submission in that step */\n      quizSubmissionData?: QuizSubmissionData;\n      /** info about if participant completed step successfully or not */\n      status?: Status;\n  }\n  interface QuizSubmissionData {\n      submissionId?: string | null;\n      earnedScore?: number | null;\n      passingGrade?: number | null;\n  }\n  enum Status {\n      /** step completed */\n      COMPLETED = \"COMPLETED\",\n      /** participant failed to resolve step */\n      FAILED = \"FAILED\"\n  }\n  interface UpdateStepFeedbackRequest {\n      challengeId: string;\n      participantId: string;\n      stepId: string;\n      feedback?: Feedback;\n      actionId?: string;\n  }\n  interface UpdateStepFeedbackResponse {\n      step?: ParticipantStep;\n      actionId?: string;\n  }\n  interface GetMediaUploadInfoRequest {\n      challengeId: string;\n      participantId: string;\n      fileName?: string;\n  }\n  interface GetMediaUploadInfoResponse {\n      uploadUrl?: string;\n      uploadToken?: string;\n  }\n  interface ListParticipantSectionsRequest {\n      challengeId: string;\n      participantId: string;\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  interface ListParticipantSectionsResponse {\n      sections?: ParticipantSection[];\n  }\n  interface ParticipantSection {\n      _id?: string;\n      source?: ChallengeSection;\n      steps?: ParticipantStep[];\n      transitions?: ParticipantSectionStateTransition[];\n      progress?: Progress;\n  }\n  interface WaitingDate {\n      startDate?: string;\n  }\n  interface WaitingDependency {\n      sectionId?: string;\n  }\n  interface Running {\n      dateInterval?: DateInterval$1;\n  }\n  interface Completed$1 {\n  }\n  interface Overdue {\n  }\n  interface ChallengeSection {\n      /** challenge section id. */\n      _id?: string;\n      /** challenge section settings. */\n      settings?: Settings;\n      createdAt?: Date;\n      updatedAt?: Date;\n      /** list of challenge steps laying inside the section. */\n      steps?: ChallengeStep[];\n  }\n  interface Settings {\n      /** section description(title, details, image...) */\n      description?: ObjectDescription;\n      /** condition for the section start. */\n      startCondition?: StartCondition;\n  }\n  interface ParticipantSectionStateTransition extends ParticipantSectionStateTransitionStateOneOf {\n      waitingDate?: WaitingDate;\n      waitingDependency?: WaitingDependency;\n      running?: Running;\n      completed?: Completed$1;\n      overdue?: Overdue;\n      occurredAt?: Date;\n  }\n  /** @oneof */\n  interface ParticipantSectionStateTransitionStateOneOf {\n      waitingDate?: WaitingDate;\n      waitingDependency?: WaitingDependency;\n      running?: Running;\n      completed?: Completed$1;\n      overdue?: Overdue;\n  }\n  interface Progress {\n      nTotalSteps?: string;\n      nCompletedSteps?: string;\n  }\n  interface GetParticipantSectionRequest {\n      challengeId: string;\n      participantId: string;\n      sectionId: string;\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  interface GetParticipantSectionResponse {\n      section?: ParticipantSection;\n  }\n  interface MyProgramRequest {\n      programId: string;\n  }\n  interface MyProgramResponse {\n      participant?: Participant$1;\n  }\n  interface MyProgramStepRequest {\n      programId: string;\n      programStepId: string;\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  interface MyProgramStepResponse {\n      participantStep?: ParticipantStep;\n  }\n  interface MyProgramSectionRequest {\n      programId: string;\n      programSectionId: string;\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  interface MyProgramSectionResponse {\n      participantSection?: ParticipantSection;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField challengeId\n   * @adminMethod\n   */\n  function queryParticipants$1(challengeId: string, options?: QueryParticipantsOptions): Promise<QueryParticipantsResponse$1>;\n  interface QueryParticipantsOptions {\n      paging?: Paging$1;\n      sorting?: QueryParticipantsRequestSorting;\n      filter?: ParticipantsFilter;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField challengeId\n   * @adminMethod\n   * @deprecated\n   */\n  function listParticipants(challengeId: string, options?: ListParticipantsOptions): Promise<ListParticipantsResponse>;\n  interface ListParticipantsOptions {\n      paging?: Paging$1;\n      /** @deprecated */\n      memberId?: string | null;\n      states?: State$1[];\n      memberIds?: string[] | null;\n      /** @deprecated */\n      sortingCriterion?: SortingCriterion;\n      memberName?: string | null;\n      sorting?: Sorting$1;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField challengeId\n   * @adminMethod\n   */\n  function joinParticipant(challengeId: string, options?: JoinParticipantOptions): Promise<JoinParticipantResponse>;\n  interface JoinParticipantOptions {\n      /**\n       * ignored, taken from callScope instead\n       * @deprecated ignored, taken from callScope instead\n       * @targetRemovalDate 2024-09-01\n       */\n      memberId?: string;\n      timeZone?: string;\n      actionId?: string;\n      startDate?: string | null;\n  }\n  /**\n   * owner adds participant to the challenge\n   * @public\n   * @documentationMaturity preview\n   * @requiredField challengeId\n   * @adminMethod\n   */\n  function addParticipant$1(challengeId: string, options?: AddParticipantOptions$1): Promise<AddParticipantResponse$1>;\n  interface AddParticipantOptions$1 {\n      memberId?: string;\n      actionId?: string;\n  }\n  /**\n   * owner adds participants to the challenge\n   * @public\n   * @documentationMaturity preview\n   * @requiredField challengeId\n   * @adminMethod\n   */\n  function addParticipants(challengeId: string, options?: AddParticipantsOptions): Promise<AddParticipantsResponse>;\n  interface AddParticipantsOptions {\n      memberIds?: string[];\n      actionId?: string;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField challengeId\n   * @adminMethod\n   */\n  function addAllParticipant(challengeId: string, options?: AddAllParticipantOptions): Promise<void>;\n  interface AddAllParticipantOptions {\n      excludeIds?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField challengeId\n   * @adminMethod\n   */\n  function createJoinRequest(challengeId: string, options?: CreateJoinRequestOptions): Promise<CreateJoinRequestResponse>;\n  interface CreateJoinRequestOptions {\n      memberId?: string;\n      timeZone?: string;\n      actionId?: string;\n      startDate?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField challengeId\n   * @adminMethod\n   */\n  function inviteParticipants(challengeId: string, options?: InviteParticipantsOptions): Promise<InviteParticipantsResponse>;\n  interface InviteParticipantsOptions {\n      memberIds?: string[];\n      actionId?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField challengeId\n   * @adminMethod\n   */\n  function inviteAllParticipants(challengeId: string, options?: InviteAllParticipantsOptions): Promise<void>;\n  interface InviteAllParticipantsOptions {\n      excludeIds?: string[];\n  }\n  /**\n   * returns participant by id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function getParticipant$1(identifiers: GetParticipantIdentifiers): Promise<Participant$1>;\n  interface GetParticipantIdentifiers {\n      challengeId: string;\n      participantId: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function updateParticipant(identifiers: UpdateParticipantIdentifiers, options?: UpdateParticipantOptions): Promise<UpdateParticipantResponse>;\n  interface UpdateParticipantIdentifiers extends UpdateParticipantRequestUpdateOneOf {\n      challengeId: string;\n      participantId: string;\n  }\n  interface UpdateParticipantOptions extends UpdateParticipantRequestUpdateOneOf {\n      startDate?: string;\n      actionId?: string;\n  }\n  /**\n   * by owner - makes participant REMOVED. By participant himself - LEFT.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function deleteParticipant(identifiers: DeleteParticipantIdentifiers, options?: DeleteParticipantOptions): Promise<DeleteParticipantResponse>;\n  interface DeleteParticipantIdentifiers {\n      challengeId: string;\n      participantId: string;\n  }\n  interface DeleteParticipantOptions {\n      actionId?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function reviveParticipant(identifiers: ReviveParticipantIdentifiers, options?: ReviveParticipantOptions): Promise<ReviveParticipantResponse>;\n  interface ReviveParticipantIdentifiers {\n      challengeId: string;\n      participantId: string;\n  }\n  interface ReviveParticipantOptions {\n      actionId?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function resetParticipantProgress(identifiers: ResetParticipantProgressIdentifiers, options?: ResetParticipantProgressOptions): Promise<ResetParticipantProgressResponse>;\n  interface ResetParticipantProgressIdentifiers {\n      challengeId: string;\n      participantId: string;\n  }\n  interface ResetParticipantProgressOptions {\n      timeZone?: string;\n      startDate?: string | null;\n      actionId?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function issueParticipantCertificate$1(identifiers: IssueParticipantCertificateIdentifiers): Promise<IssueParticipantCertificateResponse$1>;\n  interface IssueParticipantCertificateIdentifiers {\n      /** Program id. TODO: really bad to have it here, needed for url */\n      challengeId: string;\n      /** Participant to issue manually certificate */\n      participantId: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function issueCertificate(identifiers: IssueCertificateIdentifiers): Promise<IssueCertificateResponse>;\n  interface IssueCertificateIdentifiers {\n      /** Program id. TODO: really bad to have it here, needed for url */\n      challengeId: string;\n      /** Participant to get certificate */\n      participantId: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function getCertificate$1(identifiers: GetCertificateIdentifiers): Promise<GetCertificateResponse$1>;\n  interface GetCertificateIdentifiers {\n      /** Program id. TODO: really bad to have it here, needed for url */\n      challengeId: string;\n      /** Participant to get certificate */\n      participantId: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function createPaymentOrder(identifiers: CreatePaymentOrderIdentifiers, options?: CreatePaymentOrderOptions): Promise<CreatePaymentOrderResponse>;\n  interface CreatePaymentOrderIdentifiers {\n      challengeId: string;\n      participantId: string;\n  }\n  interface CreatePaymentOrderOptions {\n      actionId?: string;\n      timeZone?: string | null;\n      startDate?: string | null;\n      paymentType?: PaymentType;\n  }\n  /**\n   * ---------------------------------------------------- Coupons -----------------------------------------------------\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField couponCode\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.orderId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function applyCouponToOrder(identifiers: ApplyCouponToOrderIdentifiers, couponCode: string, options?: ApplyCouponToOrderOptions): Promise<ApplyCouponToOrderResponse>;\n  interface ApplyCouponToOrderIdentifiers {\n      challengeId: string;\n      participantId: string;\n      orderId: string;\n  }\n  interface ApplyCouponToOrderOptions {\n      actionId?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.couponId\n   * @requiredField identifiers.orderId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function removeCouponFromOrder(identifiers: RemoveCouponFromOrderIdentifiers, options?: RemoveCouponFromOrderOptions): Promise<RemoveCouponFromOrderResponse>;\n  interface RemoveCouponFromOrderIdentifiers {\n      challengeId: string;\n      participantId: string;\n      orderId: string;\n      couponId: string;\n  }\n  interface RemoveCouponFromOrderOptions {\n      actionId?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function listSteps(identifiers: ListStepsIdentifiers, options?: ListStepsOptions): Promise<ListParticipantStepsResponse>;\n  interface ListStepsIdentifiers {\n      challengeId: string;\n      participantId: string;\n  }\n  interface ListStepsOptions {\n      parentId?: string;\n      timeInterval?: TimeInterval;\n      dateInterval?: DateInterval$1;\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @requiredField identifiers.stepId\n   * @adminMethod\n   */\n  function getStep(identifiers: GetStepIdentifiers, options?: GetStepOptions): Promise<GetParticipantStepResponse>;\n  interface GetStepIdentifiers {\n      challengeId: string;\n      participantId: string;\n      stepId: string;\n  }\n  interface GetStepOptions {\n      timeInterval?: TimeInterval;\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @requiredField identifiers.stepId\n   * @adminMethod\n   */\n  function resolveStep(identifiers: ResolveStepIdentifiers, options?: ResolveStepOptions): Promise<ResolveParticipantStepResponse>;\n  interface ResolveStepIdentifiers {\n      challengeId: string;\n      participantId: string;\n      stepId: string;\n  }\n  interface ResolveStepOptions {\n      status?: ResolutionStatus;\n      feedback?: Feedback;\n      actionId?: string;\n      quizSubmissionId?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @requiredField identifiers.stepId\n   * @adminMethod\n   */\n  function updateStepFeedback(identifiers: UpdateStepFeedbackIdentifiers, options?: UpdateStepFeedbackOptions): Promise<UpdateStepFeedbackResponse>;\n  interface UpdateStepFeedbackIdentifiers {\n      challengeId: string;\n      participantId: string;\n      stepId: string;\n  }\n  interface UpdateStepFeedbackOptions {\n      feedback?: Feedback;\n      actionId?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function getMediaUploadInfo(identifiers: GetMediaUploadInfoIdentifiers, options?: GetMediaUploadInfoOptions): Promise<GetMediaUploadInfoResponse>;\n  interface GetMediaUploadInfoIdentifiers {\n      challengeId: string;\n      participantId: string;\n  }\n  interface GetMediaUploadInfoOptions {\n      fileName?: string;\n  }\n  /**\n   * ---------------------------------------------------- Sections --------------------------------------------------------\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @adminMethod\n   */\n  function listSections(identifiers: ListSectionsIdentifiers, options?: ListSectionsOptions): Promise<ListParticipantSectionsResponse>;\n  interface ListSectionsIdentifiers {\n      challengeId: string;\n      participantId: string;\n  }\n  interface ListSectionsOptions {\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.challengeId\n   * @requiredField identifiers.participantId\n   * @requiredField identifiers.sectionId\n   * @adminMethod\n   */\n  function getSection(identifiers: GetSectionIdentifiers, options?: GetSectionOptions): Promise<GetParticipantSectionResponse>;\n  interface GetSectionIdentifiers {\n      challengeId: string;\n      participantId: string;\n      sectionId: string;\n  }\n  interface GetSectionOptions {\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function myProgram(programId: string): Promise<MyProgramResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.programId\n   * @requiredField identifiers.programStepId\n   * @adminMethod\n   */\n  function myProgramStep(identifiers: MyProgramStepIdentifiers, options?: MyProgramStepOptions): Promise<MyProgramStepResponse>;\n  interface MyProgramStepIdentifiers {\n      programId: string;\n      programStepId: string;\n  }\n  interface MyProgramStepOptions {\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.programId\n   * @requiredField identifiers.programSectionId\n   * @adminMethod\n   */\n  function myProgramSection(identifiers: MyProgramSectionIdentifiers, options?: MyProgramSectionOptions): Promise<MyProgramSectionResponse>;\n  interface MyProgramSectionIdentifiers {\n      programId: string;\n      programSectionId: string;\n  }\n  interface MyProgramSectionOptions {\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  \n  interface Participant {\n      /** @readonly */\n      _id?: string | null;\n      /** @readonly */\n      programId?: string;\n      /**\n       * current participant state\n       * @readonly\n       */\n      state?: State;\n      /** time zone in which to participate */\n      timeZone?: string;\n      /** person */\n      person?: PersonIdentity;\n      /**\n       * participant joined time UTC\n       * @readonly\n       */\n      joinedDate?: Date;\n      /**\n       * the way participant joined\n       * @readonly\n       */\n      joinPath?: JoinPath;\n      /** current participant status */\n      status?: ParticipantStatus;\n      /** @readonly */\n      performance?: number;\n      /** participants progress summary */\n      stepsSummary?: StepsSummary;\n      /** Certificate issued to participant on successful program complete */\n      certificate?: Certificate;\n  }\n  interface DateInterval {\n      /** local date start */\n      start?: string;\n      /** local date finish, inclusive */\n      finish?: string | null;\n  }\n  interface Invited {\n  }\n  interface JoinRequested {\n      /** Approval request regarding to V1 */\n      approvalRequestId?: string;\n  }\n  interface JoinRejected {\n  }\n  interface PaymentRequested {\n  }\n  interface PaymentStarted {\n  }\n  interface PaymentStartedOffline {\n      /** Offline transaction id in payments wix.payment.api.pay.v3.Transaction */\n      transactionId?: string;\n  }\n  interface Joined {\n      /** TODO: change to start/end pair? */\n      dateFrame?: DateInterval;\n  }\n  interface Left {\n  }\n  interface Removed {\n  }\n  interface Completed {\n  }\n  interface Failed {\n  }\n  interface Suspended {\n  }\n  interface StepEvent {\n      /** @readonly */\n      stepId?: string;\n      /** step's current state */\n      state?: StepEventState;\n      /** when it occurred at, UTC */\n      occurredAt?: Date;\n  }\n  enum StepEventState {\n      /** step is pending to be completed */\n      PENDING = \"PENDING\",\n      /** step is active to be completed */\n      RUNNING = \"RUNNING\",\n      /** step was completed */\n      COMPLETED = \"COMPLETED\",\n      /** step was skipped */\n      SKIPPED = \"SKIPPED\",\n      /** step was confirmed */\n      CONFIRMED = \"CONFIRMED\",\n      /** step was rejected */\n      REJECTED = \"REJECTED\",\n      /** step was overdue */\n      OVERDUE = \"OVERDUE\",\n      /** step was failed */\n      FAILED = \"FAILED\"\n  }\n  interface State extends StateStateOptionsOneOf {\n      /** participant invited to program by owner */\n      invited?: Invited;\n      /** participant requested to join to private program */\n      joinRequested?: JoinRequested;\n      /** owner rejected participant join request */\n      joinRejected?: JoinRejected;\n      /** owner requested member to pay for participation */\n      paymentRequested?: PaymentRequested;\n      /** member started payment */\n      paymentStarted?: PaymentStarted;\n      /** owner waits for manual offline payment */\n      paymentStartedOffline?: PaymentStartedOffline;\n      /** member became participant */\n      joined?: Joined;\n      /** participant left program */\n      left?: Left;\n      /** owner removed participant from program */\n      removed?: Removed;\n      /** participant completed program */\n      completed?: Completed;\n      /** participant did not finished program in timeline */\n      failed?: Failed;\n      /** program was suspended, so is participant */\n      suspended?: Suspended;\n  }\n  /** @oneof */\n  interface StateStateOptionsOneOf {\n      /** participant invited to program by owner */\n      invited?: Invited;\n      /** participant requested to join to private program */\n      joinRequested?: JoinRequested;\n      /** owner rejected participant join request */\n      joinRejected?: JoinRejected;\n      /** owner requested member to pay for participation */\n      paymentRequested?: PaymentRequested;\n      /** member started payment */\n      paymentStarted?: PaymentStarted;\n      /** owner waits for manual offline payment */\n      paymentStartedOffline?: PaymentStartedOffline;\n      /** member became participant */\n      joined?: Joined;\n      /** participant left program */\n      left?: Left;\n      /** owner removed participant from program */\n      removed?: Removed;\n      /** participant completed program */\n      completed?: Completed;\n      /** participant did not finished program in timeline */\n      failed?: Failed;\n      /** program was suspended, so is participant */\n      suspended?: Suspended;\n  }\n  interface PersonIdentity {\n      /**\n       * Wix member\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * Wix contact\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * Wix user\n       * @readonly\n       */\n      wixUserId?: string | null;\n  }\n  enum JoinPath {\n      UNKNOWN_JOIN_PATH = \"UNKNOWN_JOIN_PATH\",\n      FREE = \"FREE\",\n      ADDED = \"ADDED\",\n      PAID_PLAN = \"PAID_PLAN\",\n      SINGLE_PAYMENT = \"SINGLE_PAYMENT\"\n  }\n  enum ParticipantStatus {\n      UNKNOWN_PARTICIPANT_STATUS = \"UNKNOWN_PARTICIPANT_STATUS\",\n      NOT_STARTED = \"NOT_STARTED\",\n      IN_PROGRESS = \"IN_PROGRESS\",\n      FINISHED = \"FINISHED\",\n      SUSPENDED = \"SUSPENDED\"\n  }\n  interface StepsSummary {\n      /** total number of steps to complete */\n      stepsNumber?: number;\n      /** number of completed steps */\n      completedStepsNumber?: number;\n      /** number of failed steps */\n      failedStepsNumber?: number;\n      /** number of feedbacks */\n      postedFeedbacksNumber?: number;\n      /** last event happened with step */\n      lastEvent?: StepEvent;\n  }\n  interface Certificate {\n      /**\n       * when certificate was issued, UTC\n       * @readonly\n       */\n      issuedDate?: Date;\n  }\n  interface GetParticipantRequest {\n      participantId: string;\n  }\n  interface GetParticipantResponse {\n      /** requested participant */\n      participant?: Participant;\n  }\n  interface QueryParticipantsRequest {\n      programId: string;\n      /** WQL expression */\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryParticipantsResponse {\n      /** Details on the paged set of results returned. */\n      metadata?: PagingMetadataV2;\n      /** participants matching query */\n      participants?: Participant[];\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AddParticipantRequest {\n      programId: string;\n      /** member to become participant */\n      memberId: string;\n  }\n  interface AddParticipantResponse {\n      /** new participant */\n      participant?: Participant;\n  }\n  interface BulkAddParticipantsRequest {\n      programId: string;\n      memberIds: string[];\n  }\n  interface BulkAddParticipantsResponse {\n      /** bulk add results */\n      results?: BulkAddParticipantsResult[];\n      /** metadata */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkAddParticipantsResult {\n      /** item metadata */\n      itemMetadata?: ItemMetadata;\n      /** added participant */\n      item?: Participant;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface InviteParticipantRequest {\n      programId: string;\n      /** member to become participant */\n      memberId: string;\n  }\n  interface InviteParticipantResponse {\n      /** invited participant */\n      participant?: Participant;\n  }\n  interface BulkInviteParticipantsRequest {\n      programId: string;\n      memberIds: string[];\n  }\n  interface BulkInviteParticipantsResponse {\n      /** bulk invite results */\n      results?: BulkInviteParticipantsResult[];\n      /** metadata */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkInviteParticipantsResult {\n      /** item metadata */\n      itemMetadata?: ItemMetadata;\n      /** invited participant */\n      item?: Participant;\n  }\n  interface JoinProgramRequest {\n      programId: string;\n      /** time zone in which to participate. UTC if not specified */\n      timeZone?: string | null;\n      /** chosen date to start the program */\n      startDate?: string | null;\n  }\n  interface JoinProgramResponse {\n      /** created participant */\n      participant?: Participant;\n  }\n  interface LeaveProgramRequest {\n      programId: string;\n  }\n  interface LeaveProgramResponse {\n      /** left participant */\n      participant?: Participant;\n  }\n  interface ParticipantLeft {\n      /** participant left */\n      participantId?: string;\n      programId?: string;\n  }\n  interface RemoveParticipantRequest {\n      /** participant to delete */\n      participantId: string;\n  }\n  interface RemoveParticipantResponse {\n      /** removed participant */\n      participant?: Participant;\n  }\n  interface ParticipantRemoved {\n      /** participant removed */\n      participantId?: string;\n      programId?: string;\n  }\n  interface IssueParticipantCertificateRequest {\n      /** Participant to issue manually certificate */\n      participantId: string;\n  }\n  interface IssueParticipantCertificateResponse {\n      /** Updated participant */\n      participant?: Participant;\n  }\n  interface GetCertificateRequest {\n      /** Participant to get certificate */\n      participantId: string;\n  }\n  interface GetCertificateResponse {\n      /** Updated participant */\n      participant?: Participant;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * returns participant by id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField participantId\n   * @returns requested participant\n   */\n  function getParticipant(participantId: string): Promise<Participant>;\n  /**\n   * query participants\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @permissionId ONLINE_PROGRAMS.PARTICIPANT_READ\n   */\n  function queryParticipants(programId: string): ParticipantsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ParticipantsQueryResult extends QueryOffsetResult {\n      items: Participant[];\n      query: ParticipantsQueryBuilder;\n      next: () => Promise<ParticipantsQueryResult>;\n      prev: () => Promise<ParticipantsQueryResult>;\n  }\n  interface ParticipantsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'person.memberId' | 'joinPath' | 'status', value: any) => ParticipantsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'joinedDate' | 'performance', value: any) => ParticipantsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'joinedDate' | 'performance', value: any) => ParticipantsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'person.memberId' | 'joinPath' | 'status', value: any) => ParticipantsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'joinedDate' | 'performance'>) => ParticipantsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'joinedDate' | 'performance'>) => ParticipantsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ParticipantsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => ParticipantsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ParticipantsQueryResult>;\n  }\n  /**\n   * owner adds participant to the program by his memberId.\n   * Used as backdoor operation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.memberId\n   * @requiredField programId\n   * @adminMethod\n   */\n  function addParticipant(programId: string, options: AddParticipantOptions): Promise<AddParticipantResponse>;\n  interface AddParticipantOptions {\n      /** member to become participant */\n      memberId: string;\n  }\n  /**\n   * owner adds participants to the program in bulk by their memberIds.\n   * Bulk version of AddParticipant, used as backdoor operation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.memberIds\n   * @requiredField programId\n   * @adminMethod\n   */\n  function bulkAddParticipants(programId: string, options: BulkAddParticipantsOptions): Promise<BulkAddParticipantsResponse>;\n  interface BulkAddParticipantsOptions {\n      memberIds: string[];\n  }\n  /**\n   * owner invites member to become program participant\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.memberId\n   * @requiredField programId\n   * @adminMethod\n   */\n  function inviteParticipant(programId: string, options: InviteParticipantOptions): Promise<InviteParticipantResponse>;\n  interface InviteParticipantOptions {\n      /** member to become participant */\n      memberId: string;\n  }\n  /**\n   * owner bulk invites members to become program participants\n   * Bulk version of InviteParticipant\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.memberIds\n   * @requiredField programId\n   * @adminMethod\n   */\n  function bulkInviteParticipants(programId: string, options: BulkInviteParticipantsOptions): Promise<BulkInviteParticipantsResponse>;\n  interface BulkInviteParticipantsOptions {\n      memberIds: string[];\n  }\n  /**\n   * member joins the program, becoming participant in Joined state.\n   * If program was private, user will be in JoinRequested state.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   */\n  function joinProgram(programId: string, options?: JoinProgramOptions): Promise<JoinProgramResponse>;\n  interface JoinProgramOptions {\n      /** time zone in which to participate. UTC if not specified */\n      timeZone?: string | null;\n      /** chosen date to start the program */\n      startDate?: string | null;\n  }\n  /**\n   * member leaves the program. Participant's new status - LEFT\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   */\n  function leaveProgram(programId: string): Promise<LeaveProgramResponse>;\n  /**\n   * owner removes participant from the program. Participant's new status - REMOVED\n   * @param participantId - participant to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField participantId\n   */\n  function removeParticipant(participantId: string): Promise<RemoveParticipantResponse>;\n  /**\n   * manual certificate issuing by program owner\n   * @param participantId - Participant to issue manually certificate\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField participantId\n   * @adminMethod\n   */\n  function issueParticipantCertificate(participantId: string): Promise<IssueParticipantCertificateResponse>;\n  /**\n   * participant get certificate by himself\n   * @param participantId - Participant to get certificate\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField participantId\n   * @adminMethod\n   */\n  function getCertificate(participantId: string): Promise<GetCertificateResponse>;\n  \n  type achievementsProgramsV2Participant_universal_d_Participant = Participant;\n  type achievementsProgramsV2Participant_universal_d_DateInterval = DateInterval;\n  type achievementsProgramsV2Participant_universal_d_Invited = Invited;\n  type achievementsProgramsV2Participant_universal_d_JoinRequested = JoinRequested;\n  type achievementsProgramsV2Participant_universal_d_JoinRejected = JoinRejected;\n  type achievementsProgramsV2Participant_universal_d_PaymentRequested = PaymentRequested;\n  type achievementsProgramsV2Participant_universal_d_PaymentStarted = PaymentStarted;\n  type achievementsProgramsV2Participant_universal_d_PaymentStartedOffline = PaymentStartedOffline;\n  type achievementsProgramsV2Participant_universal_d_Joined = Joined;\n  type achievementsProgramsV2Participant_universal_d_Left = Left;\n  type achievementsProgramsV2Participant_universal_d_Removed = Removed;\n  type achievementsProgramsV2Participant_universal_d_Completed = Completed;\n  type achievementsProgramsV2Participant_universal_d_Failed = Failed;\n  type achievementsProgramsV2Participant_universal_d_Suspended = Suspended;\n  type achievementsProgramsV2Participant_universal_d_StepEvent = StepEvent;\n  type achievementsProgramsV2Participant_universal_d_StepEventState = StepEventState;\n  const achievementsProgramsV2Participant_universal_d_StepEventState: typeof StepEventState;\n  type achievementsProgramsV2Participant_universal_d_State = State;\n  type achievementsProgramsV2Participant_universal_d_StateStateOptionsOneOf = StateStateOptionsOneOf;\n  type achievementsProgramsV2Participant_universal_d_PersonIdentity = PersonIdentity;\n  type achievementsProgramsV2Participant_universal_d_JoinPath = JoinPath;\n  const achievementsProgramsV2Participant_universal_d_JoinPath: typeof JoinPath;\n  type achievementsProgramsV2Participant_universal_d_ParticipantStatus = ParticipantStatus;\n  const achievementsProgramsV2Participant_universal_d_ParticipantStatus: typeof ParticipantStatus;\n  type achievementsProgramsV2Participant_universal_d_StepsSummary = StepsSummary;\n  type achievementsProgramsV2Participant_universal_d_Certificate = Certificate;\n  type achievementsProgramsV2Participant_universal_d_GetParticipantRequest = GetParticipantRequest;\n  type achievementsProgramsV2Participant_universal_d_GetParticipantResponse = GetParticipantResponse;\n  type achievementsProgramsV2Participant_universal_d_QueryParticipantsRequest = QueryParticipantsRequest;\n  type achievementsProgramsV2Participant_universal_d_QueryV2 = QueryV2;\n  type achievementsProgramsV2Participant_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type achievementsProgramsV2Participant_universal_d_Sorting = Sorting;\n  type achievementsProgramsV2Participant_universal_d_SortOrder = SortOrder;\n  const achievementsProgramsV2Participant_universal_d_SortOrder: typeof SortOrder;\n  type achievementsProgramsV2Participant_universal_d_Paging = Paging;\n  type achievementsProgramsV2Participant_universal_d_CursorPaging = CursorPaging;\n  type achievementsProgramsV2Participant_universal_d_QueryParticipantsResponse = QueryParticipantsResponse;\n  type achievementsProgramsV2Participant_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type achievementsProgramsV2Participant_universal_d_Cursors = Cursors;\n  type achievementsProgramsV2Participant_universal_d_AddParticipantRequest = AddParticipantRequest;\n  type achievementsProgramsV2Participant_universal_d_AddParticipantResponse = AddParticipantResponse;\n  type achievementsProgramsV2Participant_universal_d_BulkAddParticipantsRequest = BulkAddParticipantsRequest;\n  type achievementsProgramsV2Participant_universal_d_BulkAddParticipantsResponse = BulkAddParticipantsResponse;\n  type achievementsProgramsV2Participant_universal_d_ItemMetadata = ItemMetadata;\n  type achievementsProgramsV2Participant_universal_d_ApplicationError = ApplicationError;\n  type achievementsProgramsV2Participant_universal_d_BulkAddParticipantsResult = BulkAddParticipantsResult;\n  type achievementsProgramsV2Participant_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type achievementsProgramsV2Participant_universal_d_InviteParticipantRequest = InviteParticipantRequest;\n  type achievementsProgramsV2Participant_universal_d_InviteParticipantResponse = InviteParticipantResponse;\n  type achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsRequest = BulkInviteParticipantsRequest;\n  type achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsResponse = BulkInviteParticipantsResponse;\n  type achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsResult = BulkInviteParticipantsResult;\n  type achievementsProgramsV2Participant_universal_d_JoinProgramRequest = JoinProgramRequest;\n  type achievementsProgramsV2Participant_universal_d_JoinProgramResponse = JoinProgramResponse;\n  type achievementsProgramsV2Participant_universal_d_LeaveProgramRequest = LeaveProgramRequest;\n  type achievementsProgramsV2Participant_universal_d_LeaveProgramResponse = LeaveProgramResponse;\n  type achievementsProgramsV2Participant_universal_d_ParticipantLeft = ParticipantLeft;\n  type achievementsProgramsV2Participant_universal_d_RemoveParticipantRequest = RemoveParticipantRequest;\n  type achievementsProgramsV2Participant_universal_d_RemoveParticipantResponse = RemoveParticipantResponse;\n  type achievementsProgramsV2Participant_universal_d_ParticipantRemoved = ParticipantRemoved;\n  type achievementsProgramsV2Participant_universal_d_IssueParticipantCertificateRequest = IssueParticipantCertificateRequest;\n  type achievementsProgramsV2Participant_universal_d_IssueParticipantCertificateResponse = IssueParticipantCertificateResponse;\n  type achievementsProgramsV2Participant_universal_d_GetCertificateRequest = GetCertificateRequest;\n  type achievementsProgramsV2Participant_universal_d_GetCertificateResponse = GetCertificateResponse;\n  type achievementsProgramsV2Participant_universal_d_DomainEvent = DomainEvent;\n  type achievementsProgramsV2Participant_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type achievementsProgramsV2Participant_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type achievementsProgramsV2Participant_universal_d_RestoreInfo = RestoreInfo;\n  type achievementsProgramsV2Participant_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type achievementsProgramsV2Participant_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type achievementsProgramsV2Participant_universal_d_ActionEvent = ActionEvent;\n  type achievementsProgramsV2Participant_universal_d_MessageEnvelope = MessageEnvelope;\n  type achievementsProgramsV2Participant_universal_d_IdentificationData = IdentificationData;\n  type achievementsProgramsV2Participant_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type achievementsProgramsV2Participant_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const achievementsProgramsV2Participant_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const achievementsProgramsV2Participant_universal_d_getParticipant: typeof getParticipant;\n  const achievementsProgramsV2Participant_universal_d_queryParticipants: typeof queryParticipants;\n  type achievementsProgramsV2Participant_universal_d_ParticipantsQueryResult = ParticipantsQueryResult;\n  type achievementsProgramsV2Participant_universal_d_ParticipantsQueryBuilder = ParticipantsQueryBuilder;\n  const achievementsProgramsV2Participant_universal_d_addParticipant: typeof addParticipant;\n  type achievementsProgramsV2Participant_universal_d_AddParticipantOptions = AddParticipantOptions;\n  const achievementsProgramsV2Participant_universal_d_bulkAddParticipants: typeof bulkAddParticipants;\n  type achievementsProgramsV2Participant_universal_d_BulkAddParticipantsOptions = BulkAddParticipantsOptions;\n  const achievementsProgramsV2Participant_universal_d_inviteParticipant: typeof inviteParticipant;\n  type achievementsProgramsV2Participant_universal_d_InviteParticipantOptions = InviteParticipantOptions;\n  const achievementsProgramsV2Participant_universal_d_bulkInviteParticipants: typeof bulkInviteParticipants;\n  type achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsOptions = BulkInviteParticipantsOptions;\n  const achievementsProgramsV2Participant_universal_d_joinProgram: typeof joinProgram;\n  type achievementsProgramsV2Participant_universal_d_JoinProgramOptions = JoinProgramOptions;\n  const achievementsProgramsV2Participant_universal_d_leaveProgram: typeof leaveProgram;\n  const achievementsProgramsV2Participant_universal_d_removeParticipant: typeof removeParticipant;\n  const achievementsProgramsV2Participant_universal_d_issueParticipantCertificate: typeof issueParticipantCertificate;\n  const achievementsProgramsV2Participant_universal_d_getCertificate: typeof getCertificate;\n  namespace achievementsProgramsV2Participant_universal_d {\n    export {\n      achievementsProgramsV2Participant_universal_d_Participant as Participant,\n      achievementsProgramsV2Participant_universal_d_DateInterval as DateInterval,\n      achievementsProgramsV2Participant_universal_d_Invited as Invited,\n      achievementsProgramsV2Participant_universal_d_JoinRequested as JoinRequested,\n      achievementsProgramsV2Participant_universal_d_JoinRejected as JoinRejected,\n      achievementsProgramsV2Participant_universal_d_PaymentRequested as PaymentRequested,\n      achievementsProgramsV2Participant_universal_d_PaymentStarted as PaymentStarted,\n      achievementsProgramsV2Participant_universal_d_PaymentStartedOffline as PaymentStartedOffline,\n      achievementsProgramsV2Participant_universal_d_Joined as Joined,\n      achievementsProgramsV2Participant_universal_d_Left as Left,\n      achievementsProgramsV2Participant_universal_d_Removed as Removed,\n      achievementsProgramsV2Participant_universal_d_Completed as Completed,\n      achievementsProgramsV2Participant_universal_d_Failed as Failed,\n      achievementsProgramsV2Participant_universal_d_Suspended as Suspended,\n      achievementsProgramsV2Participant_universal_d_StepEvent as StepEvent,\n      achievementsProgramsV2Participant_universal_d_StepEventState as StepEventState,\n      achievementsProgramsV2Participant_universal_d_State as State,\n      achievementsProgramsV2Participant_universal_d_StateStateOptionsOneOf as StateStateOptionsOneOf,\n      achievementsProgramsV2Participant_universal_d_PersonIdentity as PersonIdentity,\n      achievementsProgramsV2Participant_universal_d_JoinPath as JoinPath,\n      achievementsProgramsV2Participant_universal_d_ParticipantStatus as ParticipantStatus,\n      achievementsProgramsV2Participant_universal_d_StepsSummary as StepsSummary,\n      achievementsProgramsV2Participant_universal_d_Certificate as Certificate,\n      achievementsProgramsV2Participant_universal_d_GetParticipantRequest as GetParticipantRequest,\n      achievementsProgramsV2Participant_universal_d_GetParticipantResponse as GetParticipantResponse,\n      achievementsProgramsV2Participant_universal_d_QueryParticipantsRequest as QueryParticipantsRequest,\n      achievementsProgramsV2Participant_universal_d_QueryV2 as QueryV2,\n      achievementsProgramsV2Participant_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      achievementsProgramsV2Participant_universal_d_Sorting as Sorting,\n      achievementsProgramsV2Participant_universal_d_SortOrder as SortOrder,\n      achievementsProgramsV2Participant_universal_d_Paging as Paging,\n      achievementsProgramsV2Participant_universal_d_CursorPaging as CursorPaging,\n      achievementsProgramsV2Participant_universal_d_QueryParticipantsResponse as QueryParticipantsResponse,\n      achievementsProgramsV2Participant_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      achievementsProgramsV2Participant_universal_d_Cursors as Cursors,\n      achievementsProgramsV2Participant_universal_d_AddParticipantRequest as AddParticipantRequest,\n      achievementsProgramsV2Participant_universal_d_AddParticipantResponse as AddParticipantResponse,\n      achievementsProgramsV2Participant_universal_d_BulkAddParticipantsRequest as BulkAddParticipantsRequest,\n      achievementsProgramsV2Participant_universal_d_BulkAddParticipantsResponse as BulkAddParticipantsResponse,\n      achievementsProgramsV2Participant_universal_d_ItemMetadata as ItemMetadata,\n      achievementsProgramsV2Participant_universal_d_ApplicationError as ApplicationError,\n      achievementsProgramsV2Participant_universal_d_BulkAddParticipantsResult as BulkAddParticipantsResult,\n      achievementsProgramsV2Participant_universal_d_BulkActionMetadata as BulkActionMetadata,\n      achievementsProgramsV2Participant_universal_d_InviteParticipantRequest as InviteParticipantRequest,\n      achievementsProgramsV2Participant_universal_d_InviteParticipantResponse as InviteParticipantResponse,\n      achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsRequest as BulkInviteParticipantsRequest,\n      achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsResponse as BulkInviteParticipantsResponse,\n      achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsResult as BulkInviteParticipantsResult,\n      achievementsProgramsV2Participant_universal_d_JoinProgramRequest as JoinProgramRequest,\n      achievementsProgramsV2Participant_universal_d_JoinProgramResponse as JoinProgramResponse,\n      achievementsProgramsV2Participant_universal_d_LeaveProgramRequest as LeaveProgramRequest,\n      achievementsProgramsV2Participant_universal_d_LeaveProgramResponse as LeaveProgramResponse,\n      achievementsProgramsV2Participant_universal_d_ParticipantLeft as ParticipantLeft,\n      achievementsProgramsV2Participant_universal_d_RemoveParticipantRequest as RemoveParticipantRequest,\n      achievementsProgramsV2Participant_universal_d_RemoveParticipantResponse as RemoveParticipantResponse,\n      achievementsProgramsV2Participant_universal_d_ParticipantRemoved as ParticipantRemoved,\n      achievementsProgramsV2Participant_universal_d_IssueParticipantCertificateRequest as IssueParticipantCertificateRequest,\n      achievementsProgramsV2Participant_universal_d_IssueParticipantCertificateResponse as IssueParticipantCertificateResponse,\n      achievementsProgramsV2Participant_universal_d_GetCertificateRequest as GetCertificateRequest,\n      achievementsProgramsV2Participant_universal_d_GetCertificateResponse as GetCertificateResponse,\n      achievementsProgramsV2Participant_universal_d_DomainEvent as DomainEvent,\n      achievementsProgramsV2Participant_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      achievementsProgramsV2Participant_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      achievementsProgramsV2Participant_universal_d_RestoreInfo as RestoreInfo,\n      achievementsProgramsV2Participant_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      achievementsProgramsV2Participant_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      achievementsProgramsV2Participant_universal_d_ActionEvent as ActionEvent,\n      achievementsProgramsV2Participant_universal_d_MessageEnvelope as MessageEnvelope,\n      achievementsProgramsV2Participant_universal_d_IdentificationData as IdentificationData,\n      achievementsProgramsV2Participant_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      achievementsProgramsV2Participant_universal_d_WebhookIdentityType as WebhookIdentityType,\n      achievementsProgramsV2Participant_universal_d_getParticipant as getParticipant,\n      achievementsProgramsV2Participant_universal_d_queryParticipants as queryParticipants,\n      achievementsProgramsV2Participant_universal_d_ParticipantsQueryResult as ParticipantsQueryResult,\n      achievementsProgramsV2Participant_universal_d_ParticipantsQueryBuilder as ParticipantsQueryBuilder,\n      achievementsProgramsV2Participant_universal_d_addParticipant as addParticipant,\n      achievementsProgramsV2Participant_universal_d_AddParticipantOptions as AddParticipantOptions,\n      achievementsProgramsV2Participant_universal_d_bulkAddParticipants as bulkAddParticipants,\n      achievementsProgramsV2Participant_universal_d_BulkAddParticipantsOptions as BulkAddParticipantsOptions,\n      achievementsProgramsV2Participant_universal_d_inviteParticipant as inviteParticipant,\n      achievementsProgramsV2Participant_universal_d_InviteParticipantOptions as InviteParticipantOptions,\n      achievementsProgramsV2Participant_universal_d_bulkInviteParticipants as bulkInviteParticipants,\n      achievementsProgramsV2Participant_universal_d_BulkInviteParticipantsOptions as BulkInviteParticipantsOptions,\n      achievementsProgramsV2Participant_universal_d_joinProgram as joinProgram,\n      achievementsProgramsV2Participant_universal_d_JoinProgramOptions as JoinProgramOptions,\n      achievementsProgramsV2Participant_universal_d_leaveProgram as leaveProgram,\n      achievementsProgramsV2Participant_universal_d_removeParticipant as removeParticipant,\n      achievementsProgramsV2Participant_universal_d_issueParticipantCertificate as issueParticipantCertificate,\n      achievementsProgramsV2Participant_universal_d_getCertificate as getCertificate,\n    };\n  }\n  \n  export { ActionEvent$1 as ActionEvent, AddAllParticipantOptions, AddAllParticipantRequest, AddAllParticipantResponse, AddParticipantOptions$1 as AddParticipantOptions, AddParticipantRequest$1 as AddParticipantRequest, AddParticipantResponse$1 as AddParticipantResponse, AddParticipantsOptions, AddParticipantsRequest, AddParticipantsResponse, Added, All, ApplyCouponToOrderIdentifiers, ApplyCouponToOrderOptions, ApplyCouponToOrderRequest, ApplyCouponToOrderResponse, Certificate$1 as Certificate, ChallengeSection, ChallengeStep, ChallengeStepSettings, Choice, ChoiceRightness, Choices, Completed$1 as Completed, CompletionCriteria, Container, CreateJoinRequestOptions, CreateJoinRequestRequest, CreateJoinRequestResponse, CreatePaymentOrderIdentifiers, CreatePaymentOrderOptions, CreatePaymentOrderRequest, CreatePaymentOrderResponse, DateInterval$1 as DateInterval, DeleteParticipantIdentifiers, DeleteParticipantOptions, DeleteParticipantRequest, DeleteParticipantResponse, DescriptionFieldSet, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, DurationUnit, EmbeddingSettings, EntityCreatedEvent$1 as EntityCreatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, EntitySummary, EntityUpdatedEvent$1 as EntityUpdatedEvent, Feedback, FeedbackItem, FeedbackItemChoice, FeedbackItemSettings, FeedbackItemType, FeedbackItemTypeTypeOneOf, FeedbackItemValueOneOf, Free, FreeCoupon, GeneralSettings, GeneralSettingsStepTypeOneOf, GetCertificateIdentifiers, GetCertificateRequest$1 as GetCertificateRequest, GetCertificateResponse$1 as GetCertificateResponse, GetMediaUploadInfoIdentifiers, GetMediaUploadInfoOptions, GetMediaUploadInfoRequest, GetMediaUploadInfoResponse, GetParticipantIdentifiers, GetParticipantRequest$1 as GetParticipantRequest, GetParticipantResponse$1 as GetParticipantResponse, GetParticipantSectionRequest, GetParticipantSectionResponse, GetParticipantStepRequest, GetParticipantStepResponse, GetSectionIdentifiers, GetSectionOptions, GetStepIdentifiers, GetStepOptions, GroupSettings, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, IndividualSettings, InvitationDetails, InviteAllParticipantsOptions, InviteAllParticipantsRequest, InviteAllParticipantsResponse, InviteParticipantsOptions, InviteParticipantsRequest, InviteParticipantsResponse, IssueCertificateIdentifiers, IssueCertificateRequest, IssueCertificateResponse, IssueParticipantCertificateIdentifiers, IssueParticipantCertificateRequest$1 as IssueParticipantCertificateRequest, IssueParticipantCertificateResponse$1 as IssueParticipantCertificateResponse, JoinParticipantOptions, JoinParticipantRequest, JoinParticipantResponse, JoinPath$1 as JoinPath, JoinPathPathOneOf, ListParticipantSectionsRequest, ListParticipantSectionsResponse, ListParticipantStepsRequest, ListParticipantStepsResponse, ListParticipantsOptions, ListParticipantsRequest, ListParticipantsResponse, ListSectionsIdentifiers, ListSectionsOptions, ListStepsIdentifiers, ListStepsOptions, MediaFeedbackItem, MediaItem, MediaItemMediaOneOf, MediaItems, Member, MessageEnvelope$1 as MessageEnvelope, MinThreshold, MultipleChoiceFeedbackItem, MyProgramRequest, MyProgramResponse, MyProgramSectionIdentifiers, MyProgramSectionOptions, MyProgramSectionRequest, MyProgramSectionResponse, MyProgramStepIdentifiers, MyProgramStepOptions, MyProgramStepRequest, MyProgramStepResponse, NumericFeedbackItem, ObjectDescription, Overdue, Paging$1 as Paging, PaidPlan, Participant$1 as Participant, ParticipantJoinDate, ParticipantJoined, ParticipantPerformance, ParticipantSection, ParticipantSectionStateTransition, ParticipantSectionStateTransitionStateOneOf, ParticipantStep, ParticipantStepState, ParticipantStepStateTransition, ParticipantsFilter, ParticipationState, PaymentType, Progress, Quantity, QuantityCriterion, QuantityCriterionCriterionOneOf, QuantityFeedbackItem, QueryParticipantsOptions, QueryParticipantsRequest$1 as QueryParticipantsRequest, QueryParticipantsRequestJoinPath, QueryParticipantsRequestSorting, QueryParticipantsRequestSortingCriterion, QueryParticipantsRequestSortingOrder, QueryParticipantsResponse$1 as QueryParticipantsResponse, QuizMigrationDetails, QuizSettings, QuizSubmission, QuizSubmissionData, QuizType, RecurrenceSchedule, RecurrenceSettings, RemoveCouponFromOrderIdentifiers, RemoveCouponFromOrderOptions, RemoveCouponFromOrderRequest, RemoveCouponFromOrderResponse, ResetParticipantProgressIdentifiers, ResetParticipantProgressOptions, ResetParticipantProgressRequest, ResetParticipantProgressResponse, ResolutionStatus, ResolveParticipantStepRequest, ResolveParticipantStepResponse, ResolveStepIdentifiers, ResolveStepOptions, RestoreInfo$1 as RestoreInfo, ReviveParticipantIdentifiers, ReviveParticipantOptions, ReviveParticipantRequest, ReviveParticipantResponse, Running, Settings, SinglePayment, Sorting$1 as Sorting, SortingCriterion, SortingOrder, StartCondition, State$1 as State, StateTransition, Status, Step, StepDependency, StepDependencyDependencyTypeOneOf, StepEvent$1 as StepEvent, StepResolved, StepsSummary$1 as StepsSummary, TextFeedbackItem, TimeDuration, TimeInterval, UpdateParticipantIdentifiers, UpdateParticipantOptions, UpdateParticipantRequest, UpdateParticipantRequestUpdateOneOf, UpdateParticipantResponse, UpdateStepFeedbackIdentifiers, UpdateStepFeedbackOptions, UpdateStepFeedbackRequest, UpdateStepFeedbackResponse, VideoResolution, VideoStepSettings, VideoStepSettingsVideoSourceOneOf, WaitingDate, WaitingDependency, WebhookIdentityType$1 as WebhookIdentityType, WixVideo, addAllParticipant, addParticipant$1 as addParticipant, addParticipants, applyCouponToOrder, createJoinRequest, createPaymentOrder, deleteParticipant, getCertificate$1 as getCertificate, getMediaUploadInfo, getParticipant$1 as getParticipant, getSection, getStep, inviteAllParticipants, inviteParticipants, issueCertificate, issueParticipantCertificate$1 as issueParticipantCertificate, joinParticipant, listParticipants, listSections, listSteps, myProgram, myProgramSection, myProgramStep, achievementsProgramsV2Participant_universal_d as onlineProgramParticipants, achievementsProgramsV2Program_universal_d as onlinePrograms, queryParticipants$1 as queryParticipants, removeCouponFromOrder, resetParticipantProgress, resolveStep, reviveParticipant, updateParticipant, updateStepFeedback };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-alarm-backend.d.ts",
      "content": "declare module \"wix-alarm-backend\" {\n  interface AlarmResponse {\n      time?: Date;\n  }\n  \n  function alarm(seconds: number): Promise<AlarmResponse>;\n  \n  export { alarm };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-blog-backend.d.ts",
      "content": "declare module \"wix-blog-backend\" {\n  /** BlogCache is the main entity of BlogCacheService */\n  interface BlogCache {\n      /**\n       * MetaSite ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Site supported languages. */\n      siteSupportedLanguages?: SiteSupportedLanguage[];\n      /** Pages data. */\n      pagesData?: PagesData;\n      /** Site properties. */\n      siteProperties?: SiteProperties;\n      /**\n       * Date the blog cache was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface SiteSupportedLanguage {\n      /** Language code */\n      languageCode?: string;\n      /** Locale status. */\n      status?: LocaleStatus;\n      /** Flag code. */\n      flag?: Flag;\n      /** Resolution method. */\n      resolutionMethod?: ResolutionMethod;\n  }\n  enum LocaleStatus {\n      /** Value not specified */\n      UNDEFINED_STATUS = \"UNDEFINED_STATUS\",\n      /** Locale was added to site but was not activated */\n      INACTIVE = \"INACTIVE\",\n      /** Locale was added to site and activated */\n      ACTIVE = \"ACTIVE\",\n      /** Default locale (always active) */\n      DEFAULT = \"DEFAULT\"\n  }\n  enum Flag {\n      UNDEFINED_FLAG_CODE = \"UNDEFINED_FLAG_CODE\",\n      AFG = \"AFG\",\n      AGO = \"AGO\",\n      AIA = \"AIA\",\n      ALA = \"ALA\",\n      ALB = \"ALB\",\n      AND = \"AND\",\n      ARE = \"ARE\",\n      ARG = \"ARG\",\n      ARM = \"ARM\",\n      ASM = \"ASM\",\n      ATF = \"ATF\",\n      ATG = \"ATG\",\n      AUS = \"AUS\",\n      AUT = \"AUT\",\n      AZE = \"AZE\",\n      BDI = \"BDI\",\n      BEL = \"BEL\",\n      BEN = \"BEN\",\n      BES = \"BES\",\n      BFA = \"BFA\",\n      BGD = \"BGD\",\n      BGR = \"BGR\",\n      BHR = \"BHR\",\n      BHS = \"BHS\",\n      BIH = \"BIH\",\n      BLM = \"BLM\",\n      BLR = \"BLR\",\n      BLZ = \"BLZ\",\n      BMU = \"BMU\",\n      BOL = \"BOL\",\n      BRA = \"BRA\",\n      BRB = \"BRB\",\n      BRN = \"BRN\",\n      BRT = \"BRT\",\n      BTN = \"BTN\",\n      BWA = \"BWA\",\n      CAF = \"CAF\",\n      CAN = \"CAN\",\n      CAT = \"CAT\",\n      CHE = \"CHE\",\n      CHL = \"CHL\",\n      CHN = \"CHN\",\n      CIV = \"CIV\",\n      CMR = \"CMR\",\n      COD = \"COD\",\n      COG = \"COG\",\n      COL = \"COL\",\n      COM = \"COM\",\n      COR = \"COR\",\n      CPV = \"CPV\",\n      CRI = \"CRI\",\n      CUB = \"CUB\",\n      CUW = \"CUW\",\n      CYM = \"CYM\",\n      CZE = \"CZE\",\n      DEU = \"DEU\",\n      DJI = \"DJI\",\n      DMA = \"DMA\",\n      DNK = \"DNK\",\n      DOM = \"DOM\",\n      DZA = \"DZA\",\n      ECU = \"ECU\",\n      EGY = \"EGY\",\n      ERI = \"ERI\",\n      ESP = \"ESP\",\n      EST = \"EST\",\n      ETH = \"ETH\",\n      EUR = \"EUR\",\n      EUS = \"EUS\",\n      FIN = \"FIN\",\n      FJI = \"FJI\",\n      FLK = \"FLK\",\n      FRA = \"FRA\",\n      FRO = \"FRO\",\n      FSM = \"FSM\",\n      GAB = \"GAB\",\n      GBR = \"GBR\",\n      GEO = \"GEO\",\n      GGY = \"GGY\",\n      GHA = \"GHA\",\n      GIB = \"GIB\",\n      GIN = \"GIN\",\n      GLG = \"GLG\",\n      GLO = \"GLO\",\n      GLP = \"GLP\",\n      GMB = \"GMB\",\n      GNB = \"GNB\",\n      GNQ = \"GNQ\",\n      GRC = \"GRC\",\n      GRD = \"GRD\",\n      GRL = \"GRL\",\n      GTM = \"GTM\",\n      GUM = \"GUM\",\n      GUY = \"GUY\",\n      HKG = \"HKG\",\n      HND = \"HND\",\n      HRV = \"HRV\",\n      HTI = \"HTI\",\n      HUN = \"HUN\",\n      IDN = \"IDN\",\n      IMN = \"IMN\",\n      IND = \"IND\",\n      IOT = \"IOT\",\n      IRL = \"IRL\",\n      IRN = \"IRN\",\n      IRQ = \"IRQ\",\n      ISL = \"ISL\",\n      ISR = \"ISR\",\n      ITA = \"ITA\",\n      JAM = \"JAM\",\n      JEY = \"JEY\",\n      JOR = \"JOR\",\n      JPN = \"JPN\",\n      KAZ = \"KAZ\",\n      KEN = \"KEN\",\n      KGZ = \"KGZ\",\n      KHM = \"KHM\",\n      KIR = \"KIR\",\n      KNA = \"KNA\",\n      KOR = \"KOR\",\n      KUR = \"KUR\",\n      KWT = \"KWT\",\n      LAO = \"LAO\",\n      LBN = \"LBN\",\n      LBR = \"LBR\",\n      LBY = \"LBY\",\n      LCA = \"LCA\",\n      LIE = \"LIE\",\n      LKA = \"LKA\",\n      LSO = \"LSO\",\n      LTU = \"LTU\",\n      LUX = \"LUX\",\n      LVA = \"LVA\",\n      MAC = \"MAC\",\n      MAF = \"MAF\",\n      MAR = \"MAR\",\n      MCO = \"MCO\",\n      MDA = \"MDA\",\n      MDG = \"MDG\",\n      MDV = \"MDV\",\n      MEX = \"MEX\",\n      MHL = \"MHL\",\n      MKD = \"MKD\",\n      MLI = \"MLI\",\n      MLT = \"MLT\",\n      MMR = \"MMR\",\n      MNE = \"MNE\",\n      MNG = \"MNG\",\n      MNP = \"MNP\",\n      MOZ = \"MOZ\",\n      MRT = \"MRT\",\n      MSR = \"MSR\",\n      MTQ = \"MTQ\",\n      MWI = \"MWI\",\n      MYS = \"MYS\",\n      MYT = \"MYT\",\n      NAM = \"NAM\",\n      NCL = \"NCL\",\n      NER = \"NER\",\n      NFK = \"NFK\",\n      NGA = \"NGA\",\n      NIC = \"NIC\",\n      NIU = \"NIU\",\n      NLD = \"NLD\",\n      NOR = \"NOR\",\n      NPL = \"NPL\",\n      NRU = \"NRU\",\n      NZL = \"NZL\",\n      OMN = \"OMN\",\n      PAK = \"PAK\",\n      PAN = \"PAN\",\n      PCN = \"PCN\",\n      PER = \"PER\",\n      PHL = \"PHL\",\n      PLW = \"PLW\",\n      PNG = \"PNG\",\n      POL = \"POL\",\n      PRI = \"PRI\",\n      PRK = \"PRK\",\n      PRT = \"PRT\",\n      PRY = \"PRY\",\n      PSE = \"PSE\",\n      PYF = \"PYF\",\n      QAT = \"QAT\",\n      REU = \"REU\",\n      ROU = \"ROU\",\n      RUS = \"RUS\",\n      RWA = \"RWA\",\n      SAU = \"SAU\",\n      SDN = \"SDN\",\n      SEN = \"SEN\",\n      SGP = \"SGP\",\n      SGS = \"SGS\",\n      SHN = \"SHN\",\n      SJM = \"SJM\",\n      SLB = \"SLB\",\n      SLE = \"SLE\",\n      SLV = \"SLV\",\n      SMR = \"SMR\",\n      SOM = \"SOM\",\n      SPM = \"SPM\",\n      SRB = \"SRB\",\n      SSD = \"SSD\",\n      STP = \"STP\",\n      SUR = \"SUR\",\n      SVK = \"SVK\",\n      SVN = \"SVN\",\n      SWE = \"SWE\",\n      SWZ = \"SWZ\",\n      SXM = \"SXM\",\n      SYC = \"SYC\",\n      SYR = \"SYR\",\n      TCA = \"TCA\",\n      TCD = \"TCD\",\n      TGO = \"TGO\",\n      THA = \"THA\",\n      TJK = \"TJK\",\n      TKL = \"TKL\",\n      TKM = \"TKM\",\n      TLS = \"TLS\",\n      TON = \"TON\",\n      TTO = \"TTO\",\n      TUN = \"TUN\",\n      TUR = \"TUR\",\n      TUV = \"TUV\",\n      TWN = \"TWN\",\n      TZA = \"TZA\",\n      UGA = \"UGA\",\n      UKR = \"UKR\",\n      URY = \"URY\",\n      USA = \"USA\",\n      UZB = \"UZB\",\n      VAT = \"VAT\",\n      VCT = \"VCT\",\n      VEN = \"VEN\",\n      VGB = \"VGB\",\n      VIR = \"VIR\",\n      VLC = \"VLC\",\n      VNM = \"VNM\",\n      VUT = \"VUT\",\n      WLF = \"WLF\",\n      WLS = \"WLS\",\n      YEM = \"YEM\",\n      ZAF = \"ZAF\",\n      ZMB = \"ZMB\",\n      ZWE = \"ZWE\"\n  }\n  enum ResolutionMethod {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface PagesData {\n      /** Blog page. */\n      blogPage?: PageInfo;\n      /** Post page. */\n      postPage?: PageInfo;\n      /**\n       * Site primary url.\n       * @readonly\n       */\n      sitePrimaryUrl?: string | null;\n  }\n  interface PageInfo {\n      /** Title. */\n      title?: string;\n      /** Page ID. */\n      pageId?: string;\n      /** Is hidden. */\n      hidden?: boolean;\n      /** Path. */\n      path?: string;\n      /** TPA page ID. */\n      tpaPageId?: string | null;\n      /** TPA embedded service ID. */\n      tpaEmbeddedServiceId?: number | null;\n      /** TPA app ID. */\n      tpaAppId?: string | null;\n      /** Page URL. */\n      url?: string;\n      /** Hidden path. */\n      hiddenPath?: string | null;\n      /** Is SM protected. */\n      isSmProtected?: boolean;\n      /** Is dynamic. */\n      isDynamic?: boolean;\n      /** Platform apps. */\n      platformApps?: string[];\n  }\n  interface SiteProperties {\n      /** Business name. */\n      businessName?: string | null;\n      /** Business logo. */\n      logo?: string | null;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Description. */\n      description?: string | null;\n  }\n  interface GetBlogCacheRequest {\n  }\n  interface GetBlogCacheResponse {\n      /** Blog cache. */\n      blogCache?: BlogCache;\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation[];\n      /** Context of the notification */\n      changeContext?: ChangeContext;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties;\n  }\n  interface Properties {\n      /** Site categories. */\n      categories?: Categories;\n      /** Site locale. */\n      locale?: Locale;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual;\n      /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n      consentPolicy?: ConsentPolicy;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site URL that uses Wix as its headless business solution. */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics. */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n   */\n  interface AddressHint {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod;\n  }\n  interface ConsentPolicy {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext extends ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  interface PropertiesChange {\n  }\n  interface SiteCreated {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface Empty {\n  }\n  interface UrlInvalidationNotification {\n      /** Blog instance id. */\n      blogInstanceId?: string | null;\n      /** Meta site id. */\n      metaSiteId?: string | null;\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  /**\n   * Gets blog cache.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BLOG.READ_SETTINGS\n   */\n  function getBlogCache(): Promise<GetBlogCacheResponse>;\n  \n  type blogV1BlogCache_universal_d_BlogCache = BlogCache;\n  type blogV1BlogCache_universal_d_SiteSupportedLanguage = SiteSupportedLanguage;\n  type blogV1BlogCache_universal_d_LocaleStatus = LocaleStatus;\n  const blogV1BlogCache_universal_d_LocaleStatus: typeof LocaleStatus;\n  type blogV1BlogCache_universal_d_Flag = Flag;\n  const blogV1BlogCache_universal_d_Flag: typeof Flag;\n  type blogV1BlogCache_universal_d_ResolutionMethod = ResolutionMethod;\n  const blogV1BlogCache_universal_d_ResolutionMethod: typeof ResolutionMethod;\n  type blogV1BlogCache_universal_d_PagesData = PagesData;\n  type blogV1BlogCache_universal_d_PageInfo = PageInfo;\n  type blogV1BlogCache_universal_d_SiteProperties = SiteProperties;\n  type blogV1BlogCache_universal_d_GetBlogCacheRequest = GetBlogCacheRequest;\n  type blogV1BlogCache_universal_d_GetBlogCacheResponse = GetBlogCacheResponse;\n  type blogV1BlogCache_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n  type blogV1BlogCache_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n  type blogV1BlogCache_universal_d_Properties = Properties;\n  type blogV1BlogCache_universal_d_Categories = Categories;\n  type blogV1BlogCache_universal_d_Locale = Locale;\n  type blogV1BlogCache_universal_d_Address = Address;\n  type blogV1BlogCache_universal_d_AddressHint = AddressHint;\n  type blogV1BlogCache_universal_d_PlacementType = PlacementType;\n  const blogV1BlogCache_universal_d_PlacementType: typeof PlacementType;\n  type blogV1BlogCache_universal_d_GeoCoordinates = GeoCoordinates;\n  type blogV1BlogCache_universal_d_BusinessSchedule = BusinessSchedule;\n  type blogV1BlogCache_universal_d_TimePeriod = TimePeriod;\n  type blogV1BlogCache_universal_d_DayOfWeek = DayOfWeek;\n  const blogV1BlogCache_universal_d_DayOfWeek: typeof DayOfWeek;\n  type blogV1BlogCache_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type blogV1BlogCache_universal_d_Multilingual = Multilingual;\n  type blogV1BlogCache_universal_d_SupportedLanguage = SupportedLanguage;\n  type blogV1BlogCache_universal_d_ConsentPolicy = ConsentPolicy;\n  type blogV1BlogCache_universal_d_Translation = Translation;\n  type blogV1BlogCache_universal_d_ChangeContext = ChangeContext;\n  type blogV1BlogCache_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n  type blogV1BlogCache_universal_d_PropertiesChange = PropertiesChange;\n  type blogV1BlogCache_universal_d_SiteCreated = SiteCreated;\n  type blogV1BlogCache_universal_d_SiteCloned = SiteCloned;\n  type blogV1BlogCache_universal_d_Empty = Empty;\n  type blogV1BlogCache_universal_d_UrlInvalidationNotification = UrlInvalidationNotification;\n  const blogV1BlogCache_universal_d_getBlogCache: typeof getBlogCache;\n  namespace blogV1BlogCache_universal_d {\n    export {\n      blogV1BlogCache_universal_d_BlogCache as BlogCache,\n      blogV1BlogCache_universal_d_SiteSupportedLanguage as SiteSupportedLanguage,\n      blogV1BlogCache_universal_d_LocaleStatus as LocaleStatus,\n      blogV1BlogCache_universal_d_Flag as Flag,\n      blogV1BlogCache_universal_d_ResolutionMethod as ResolutionMethod,\n      blogV1BlogCache_universal_d_PagesData as PagesData,\n      blogV1BlogCache_universal_d_PageInfo as PageInfo,\n      blogV1BlogCache_universal_d_SiteProperties as SiteProperties,\n      blogV1BlogCache_universal_d_GetBlogCacheRequest as GetBlogCacheRequest,\n      blogV1BlogCache_universal_d_GetBlogCacheResponse as GetBlogCacheResponse,\n      blogV1BlogCache_universal_d_SitePropertiesNotification as SitePropertiesNotification,\n      blogV1BlogCache_universal_d_SitePropertiesEvent as SitePropertiesEvent,\n      blogV1BlogCache_universal_d_Properties as Properties,\n      blogV1BlogCache_universal_d_Categories as Categories,\n      blogV1BlogCache_universal_d_Locale as Locale,\n      blogV1BlogCache_universal_d_Address as Address,\n      blogV1BlogCache_universal_d_AddressHint as AddressHint,\n      blogV1BlogCache_universal_d_PlacementType as PlacementType,\n      blogV1BlogCache_universal_d_GeoCoordinates as GeoCoordinates,\n      blogV1BlogCache_universal_d_BusinessSchedule as BusinessSchedule,\n      blogV1BlogCache_universal_d_TimePeriod as TimePeriod,\n      blogV1BlogCache_universal_d_DayOfWeek as DayOfWeek,\n      blogV1BlogCache_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      blogV1BlogCache_universal_d_Multilingual as Multilingual,\n      blogV1BlogCache_universal_d_SupportedLanguage as SupportedLanguage,\n      blogV1BlogCache_universal_d_ConsentPolicy as ConsentPolicy,\n      blogV1BlogCache_universal_d_Translation as Translation,\n      blogV1BlogCache_universal_d_ChangeContext as ChangeContext,\n      blogV1BlogCache_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf,\n      blogV1BlogCache_universal_d_PropertiesChange as PropertiesChange,\n      blogV1BlogCache_universal_d_SiteCreated as SiteCreated,\n      blogV1BlogCache_universal_d_SiteCloned as SiteCloned,\n      blogV1BlogCache_universal_d_Empty as Empty,\n      blogV1BlogCache_universal_d_UrlInvalidationNotification as UrlInvalidationNotification,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      blogV1BlogCache_universal_d_getBlogCache as getBlogCache,\n    };\n  }\n  \n  interface ImportStatus {\n      /** Import Id. */\n      _id?: string;\n      /** File name of wordpress xml file that is being imported. */\n      fileName?: string;\n      /** Status of the latest import. */\n      status?: Status$2;\n      /** Total amount of entities to be imported. */\n      importAmount?: number;\n      /** Amount of entities imported successfully. */\n      alreadyImportedAmount?: number;\n      /** Amount of entities processed. */\n      processedAmount?: number;\n      /** Url for the page that is being imported. */\n      url?: string | null;\n  }\n  enum Status$2 {\n      UNKNOWN = \"UNKNOWN\",\n      READY_TO_IMPORT = \"READY_TO_IMPORT\",\n      STARTED = \"STARTED\",\n      FAILED = \"FAILED\",\n      DONE = \"DONE\",\n      PARSING_URL = \"PARSING_URL\"\n  }\n  interface StartImportRequest {\n      /** Should publish the posts after import. */\n      shouldPublish?: boolean | null;\n  }\n  interface StartImportResponse {\n  }\n  interface SubmitUrlForImportRequest {\n      /** Url to wordpress xml file. */\n      url: string;\n      /** Domain of the site without www or https://. */\n      siteDomain?: string | null;\n  }\n  interface SubmitUrlForImportResponse {\n  }\n  interface ValidateUrlForImportRequest {\n      /** Url for wordpress site. */\n      url: string | null;\n  }\n  interface ValidateUrlForImportResponse {\n      /** Number of posts. */\n      totalPosts?: number | null;\n      /** Blog title. */\n      blogTitle?: string | null;\n  }\n  interface GetImportStatusRequest {\n  }\n  interface GetImportStatusResponse {\n      /** Details of import progress. */\n      importStatus?: ImportStatus;\n  }\n  interface GetNotImportedPostsRequest {\n  }\n  interface GetNotImportedPostsResponse {\n      /** Failed entities. */\n      notImportedPosts?: Post$1[];\n  }\n  interface Post$1 {\n      /** The id of the post. */\n      _id?: string;\n      /** Title of the post. */\n      title?: string;\n      /** Url to posts in wordpress. */\n      url?: string;\n  }\n  /**\n   * Starts wordpress import process.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BLOG.IMPORT_FROM_EXTERNAL_SITES\n   * @adminMethod\n   */\n  function startImport(options?: StartImportOptions): Promise<void>;\n  interface StartImportOptions {\n      /** Should publish the posts after import. */\n      shouldPublish?: boolean | null;\n  }\n  /**\n   * Submits wordpress import process from URL.\n   * It will prepare wordpress data for import from the given URL.\n   * Use \"GetImportStatus\" to get the status of the import process.\n   * Once the import status becomes READY_TO_IMPORT, the import process can be started by invoking \"StartImport\".\n   * @param url - Url to wordpress xml file.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField url\n   * @permissionId BLOG.IMPORT_FROM_EXTERNAL_SITES\n   * @adminMethod\n   */\n  function submitUrlForImport(url: string, options?: SubmitUrlForImportOptions): Promise<void>;\n  interface SubmitUrlForImportOptions {\n      /** Domain of the site without www or https://. */\n      siteDomain?: string | null;\n  }\n  /** @param url - Url for wordpress site.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField url\n   * @permissionId BLOG.IMPORT_FROM_EXTERNAL_SITES\n   * @adminMethod\n   */\n  function validateUrlForImport(url: string | null): Promise<ValidateUrlForImportResponse>;\n  /**\n   * Gets the status of the import process.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BLOG.IMPORT_FROM_EXTERNAL_SITES\n   * @adminMethod\n   */\n  function getImportStatus(): Promise<GetImportStatusResponse>;\n  /**\n   * Gets the posts that were not yet imported either because of an error or because import is still in progress.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BLOG.IMPORT_FROM_EXTERNAL_SITES\n   * @adminMethod\n   */\n  function getNotImportedPosts(): Promise<GetNotImportedPostsResponse>;\n  \n  type blogV1WordpressImport_universal_d_ImportStatus = ImportStatus;\n  type blogV1WordpressImport_universal_d_StartImportRequest = StartImportRequest;\n  type blogV1WordpressImport_universal_d_StartImportResponse = StartImportResponse;\n  type blogV1WordpressImport_universal_d_SubmitUrlForImportRequest = SubmitUrlForImportRequest;\n  type blogV1WordpressImport_universal_d_SubmitUrlForImportResponse = SubmitUrlForImportResponse;\n  type blogV1WordpressImport_universal_d_ValidateUrlForImportRequest = ValidateUrlForImportRequest;\n  type blogV1WordpressImport_universal_d_ValidateUrlForImportResponse = ValidateUrlForImportResponse;\n  type blogV1WordpressImport_universal_d_GetImportStatusRequest = GetImportStatusRequest;\n  type blogV1WordpressImport_universal_d_GetImportStatusResponse = GetImportStatusResponse;\n  type blogV1WordpressImport_universal_d_GetNotImportedPostsRequest = GetNotImportedPostsRequest;\n  type blogV1WordpressImport_universal_d_GetNotImportedPostsResponse = GetNotImportedPostsResponse;\n  const blogV1WordpressImport_universal_d_startImport: typeof startImport;\n  type blogV1WordpressImport_universal_d_StartImportOptions = StartImportOptions;\n  const blogV1WordpressImport_universal_d_submitUrlForImport: typeof submitUrlForImport;\n  type blogV1WordpressImport_universal_d_SubmitUrlForImportOptions = SubmitUrlForImportOptions;\n  const blogV1WordpressImport_universal_d_validateUrlForImport: typeof validateUrlForImport;\n  const blogV1WordpressImport_universal_d_getImportStatus: typeof getImportStatus;\n  const blogV1WordpressImport_universal_d_getNotImportedPosts: typeof getNotImportedPosts;\n  namespace blogV1WordpressImport_universal_d {\n    export {\n      blogV1WordpressImport_universal_d_ImportStatus as ImportStatus,\n      Status$2 as Status,\n      blogV1WordpressImport_universal_d_StartImportRequest as StartImportRequest,\n      blogV1WordpressImport_universal_d_StartImportResponse as StartImportResponse,\n      blogV1WordpressImport_universal_d_SubmitUrlForImportRequest as SubmitUrlForImportRequest,\n      blogV1WordpressImport_universal_d_SubmitUrlForImportResponse as SubmitUrlForImportResponse,\n      blogV1WordpressImport_universal_d_ValidateUrlForImportRequest as ValidateUrlForImportRequest,\n      blogV1WordpressImport_universal_d_ValidateUrlForImportResponse as ValidateUrlForImportResponse,\n      blogV1WordpressImport_universal_d_GetImportStatusRequest as GetImportStatusRequest,\n      blogV1WordpressImport_universal_d_GetImportStatusResponse as GetImportStatusResponse,\n      blogV1WordpressImport_universal_d_GetNotImportedPostsRequest as GetNotImportedPostsRequest,\n      blogV1WordpressImport_universal_d_GetNotImportedPostsResponse as GetNotImportedPostsResponse,\n      Post$1 as Post,\n      blogV1WordpressImport_universal_d_startImport as startImport,\n      blogV1WordpressImport_universal_d_StartImportOptions as StartImportOptions,\n      blogV1WordpressImport_universal_d_submitUrlForImport as submitUrlForImport,\n      blogV1WordpressImport_universal_d_SubmitUrlForImportOptions as SubmitUrlForImportOptions,\n      blogV1WordpressImport_universal_d_validateUrlForImport as validateUrlForImport,\n      blogV1WordpressImport_universal_d_getImportStatus as getImportStatus,\n      blogV1WordpressImport_universal_d_getNotImportedPosts as getNotImportedPosts,\n    };\n  }\n  \n  interface Category$2 {\n      /** Category ID. */\n      _id?: string;\n      /** Category label. Displayed in the Category Menu. */\n      label?: string;\n      /**\n       * Number of posts in the category.\n       * @readonly\n       */\n      postCount?: number;\n      /**\n       * The `url` of the page that lists every post with the specified category.\n       * @readonly\n       */\n      url?: string;\n      /** Category description. */\n      description?: string | null;\n      /**\n       * Category title.\n       * @deprecated Category title.\n       * @targetRemovalDate 2025-07-16\n       */\n      title?: string;\n      /**\n       * Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu).\n       * Categories are displayed in ascending order. Categories with a position of `-1` appear at the end of the sequence.\n       *\n       * Default: `-1`\n       */\n      displayPosition?: number | null;\n      /** ID of the category's translations. All translations of a single category share the same `translationId`. */\n      translationId?: string | null;\n      /**\n       * Category language.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /** Part of a category's URL that refers to a specific category. For example, the slug of `https:/example.com/blog/category/famous-cats` is `famous-cats`. */\n      slug?: string;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      internalId?: string | null;\n      /** SEO data. */\n      seoData?: SeoSchema$3;\n      /** Category cover image. */\n      coverImage?: string;\n      /**\n       * Category translations.\n       * @internal\n       * @readonly\n       */\n      translations?: CategoryTranslation$2[];\n      /**\n       * Date and time the Category was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$3 {\n      /** SEO tag information. */\n      tags?: Tag$3[];\n      /** SEO general settings. */\n      settings?: Settings$3;\n  }\n  interface Keyword$3 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag$3 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$3 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$3[];\n  }\n  interface FocalPoint$2 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface CategoryTranslation$2 {\n      /** Category ID. */\n      _id?: string;\n      /** Label displayed in the categories menu on the site. */\n      label?: string | null;\n      /** Language of the category. */\n      language?: string | null;\n      /** URL of this category page. */\n      url?: string;\n  }\n  interface InitialCategoriesCopied {\n      /** Number of categories copied. */\n      count?: number;\n  }\n  interface CreateCategoryRequest {\n      /** Category info. */\n      category: Category$2;\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  enum Field$3 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Includes Category url. */\n      URL = \"URL\",\n      /**\n       * Includes internal id field.\n       * Reserved for internal use\n       */\n      INTERNAL_ID = \"INTERNAL_ID\",\n      /** Includes SEO data. */\n      SEO = \"SEO\",\n      /** Includes translations. */\n      TRANSLATIONS = \"TRANSLATIONS\"\n  }\n  interface CreateCategoryResponse {\n      /** Category info. */\n      category?: Category$2;\n  }\n  interface BulkCreateCategoriesRequest {\n      /** Categories to create. */\n      categories: Category$2[];\n      /** Whether to return the full created category entities in the response. */\n      returnFullEntity?: boolean;\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  interface BulkCreateCategoriesResponse {\n      /** Categories created by bulk action. */\n      results?: BulkCategoryResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkCategoryResult {\n      /** Bulk actions metadata for category. */\n      itemMetadata?: ItemMetadata$2;\n      /** Optional created category. */\n      item?: Category$2;\n  }\n  interface ItemMetadata$2 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$2;\n  }\n  interface ApplicationError$2 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$2 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateCategoriesRequest {\n      /** Categories to update. */\n      categories?: MaskedCategory[];\n      /** Whether to return the full created category entities in the response. */\n      returnFullEntity?: boolean;\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  interface MaskedCategory {\n      /** Category */\n      category?: Category$2;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateCategoriesResponse {\n      /** Categories updated by bulk action. */\n      results?: BulkCategoryResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface UpdateCategoryRequest {\n      /** Category info. */\n      category: Category$2;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  interface UpdateCategoryResponse {\n      /** Category info. */\n      category?: Category$2;\n  }\n  interface GetCategoriesCountByLanguageRequest {\n  }\n  interface GetCategoriesCountByLanguageResponse {\n      /** The language and it's count. */\n      categoriesLanguageCount?: CategoryLanguageCount[];\n  }\n  interface CategoryLanguageCount {\n      /** 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. */\n      languageCode?: string | null;\n      /** The count of Categories for the language. */\n      categoryCount?: number | null;\n  }\n  interface GetCategoryRequest {\n      /** Category ID. */\n      categoryId: string;\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  interface GetCategoryResponse {\n      /** Category info. */\n      category?: Category$2;\n  }\n  interface GetCategoryBySlugRequest {\n      /** Slug of the category to retrieve. */\n      slug: string;\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n      /**\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Language of the category to retrieve.\n       */\n      language?: string | null;\n  }\n  interface GetCategoryBySlugResponse {\n      /** Category info. */\n      category?: Category$2;\n  }\n  interface ListCategoriesRequest {\n      /** Pagination options. */\n      paging?: BlogPaging$2;\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n      /**\n       * Language filter.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Pass a language to only receive categories that are in that language.\n       * If omitted, categories in all languages are returned.\n       */\n      language?: string | null;\n  }\n  interface BlogPaging$2 {\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       *\n       * Default: `0`\n       */\n      offset?: number;\n      /**\n       * Number of items to return.\n       *\n       * Default: `50`\n       *\n       * Max: `100`\n       */\n      limit?: number;\n      /** Pointer to the next or previous page in the list of results. */\n      cursor?: string | null;\n  }\n  interface ListCategoriesResponse {\n      /** List of categories. */\n      categories?: Category$2[];\n      /** Details on the paged set of results returned. */\n      metaData?: MetaData$3;\n  }\n  interface MetaData$3 {\n      /** Number of items returned in this response. */\n      count?: number;\n      /** Requested offset. */\n      offset?: number;\n      /** Total number of items that match the query. */\n      total?: number;\n      /** Pointer to the next or previous page in the list of results. */\n      cursor?: string | null;\n  }\n  interface QueryCategoriesRequest {\n      /** Query options. */\n      query?: PlatformQuery$3;\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  interface PlatformQuery$3 extends PlatformQueryPagingMethodOneOf$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$3;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$3;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCategoriesResponse {\n      /** List of categories. */\n      categories?: Category$2[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2$3;\n  }\n  interface PagingMetadataV2$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$3;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$3 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkDeleteCategoryRequest {\n      /** Category IDs. */\n      categoryIds: string[];\n      /** Should delete bypassing the trash-bin. */\n      permanent?: boolean;\n  }\n  interface BulkDeleteCategoryResponse {\n  }\n  interface DeleteCategoryRequest {\n      /** Category ID. */\n      categoryId: string;\n  }\n  interface DeleteCategoryResponse {\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a category.\n   * @param category - Category info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField category\n   * @requiredField category.label\n   * @permissionId BLOG.CREATE-CATEGORY\n   * @adminMethod\n   * @returns Category info.\n   */\n  function createCategory(category: Category$2, options?: CreateCategoryOptions): Promise<Category$2>;\n  interface CreateCategoryOptions {\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  /**\n   * Creates multiple categories.\n   * @param categories - Categories to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categories\n   * @requiredField categories.label\n   * @permissionId BLOG.CREATE-CATEGORY\n   * @adminMethod\n   */\n  function bulkCreateCategories(categories: Category$2[], options?: BulkCreateCategoriesOptions): Promise<BulkCreateCategoriesResponse>;\n  interface BulkCreateCategoriesOptions {\n      /** Whether to return the full created category entities in the response. */\n      returnFullEntity?: boolean;\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  /**\n   * Updates multiple categories.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.categories.category\n   * @requiredField options.categories.category._id\n   * @permissionId BLOG.EDIT-CATEGORY\n   * @adminMethod\n   */\n  function bulkUpdateCategories(options?: BulkUpdateCategoriesOptions): Promise<BulkUpdateCategoriesResponse>;\n  interface BulkUpdateCategoriesOptions {\n      /** Categories to update. */\n      categories?: MaskedCategory[];\n      /** Whether to return the full created category entities in the response. */\n      returnFullEntity?: boolean;\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  /**\n   * Updates a category.\n   * @param _id - Category ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField category\n   * @permissionId BLOG.EDIT-CATEGORY\n   * @adminMethod\n   * @returns Category info.\n   */\n  function updateCategory(_id: string, category: UpdateCategory, options?: UpdateCategoryOptions): Promise<Category$2>;\n  interface UpdateCategory {\n      /** Category ID. */\n      _id?: string;\n      /** Category label. Displayed in the Category Menu. */\n      label?: string;\n      /**\n       * Number of posts in the category.\n       * @readonly\n       */\n      postCount?: number;\n      /**\n       * The `url` of the page that lists every post with the specified category.\n       * @readonly\n       */\n      url?: string;\n      /** Category description. */\n      description?: string | null;\n      /**\n       * Category title.\n       * @deprecated Category title.\n       * @targetRemovalDate 2025-07-16\n       */\n      title?: string;\n      /**\n       * Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu).\n       * Categories are displayed in ascending order. Categories with a position of `-1` appear at the end of the sequence.\n       *\n       * Default: `-1`\n       */\n      displayPosition?: number | null;\n      /** ID of the category's translations. All translations of a single category share the same `translationId`. */\n      translationId?: string | null;\n      /**\n       * Category language.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /** Part of a category's URL that refers to a specific category. For example, the slug of `https:/example.com/blog/category/famous-cats` is `famous-cats`. */\n      slug?: string;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      internalId?: string | null;\n      /** SEO data. */\n      seoData?: SeoSchema$3;\n      /** Category cover image. */\n      coverImage?: string;\n      /**\n       * Category translations.\n       * @internal\n       * @readonly\n       */\n      translations?: CategoryTranslation$2[];\n      /**\n       * Date and time the Category was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateCategoryOptions {\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  /**\n   * Retrieves a count of categories for every site language.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BLOG.READ-CATEGORY\n   */\n  function getCategoriesCountByLanguage(): Promise<GetCategoriesCountByLanguageResponse>;\n  /**\n   * Gets a category with the specified ID.\n   * @param categoryId - Category ID.\n   * @public\n   * @requiredField categoryId\n   * @param options - Options specifying which fields to return.\n   * @permissionId BLOG.READ-CATEGORY\n   */\n  function getCategory(categoryId: string, options?: GetCategoryOptions): Promise<GetCategoryResponse>;\n  interface GetCategoryOptions {\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n  }\n  /**\n   * Gets a category with the specified slug.\n   *\n   * The slug is at the end of the URL of a specific category.\n   * For example, if a category's URL is `https://example.com/blog/categories/famous-cats`, the slug is `famous-cats`.\n   * The slug is a case-sensitive string that is derived from the category's label, unless specified otherwise.\n   * @public\n   * @requiredField slug\n   * @param slug - Slug of the category to retrieve.\n   *\n   * The end of a category's URL. For example, `'https:/example.com/blog/category/{my-category-slug}'`. Case sensitive and generally based on the category `label` if not specified.\n   * @param options - Options specifying which fields to return.\n   * @permissionId BLOG.READ-CATEGORY\n   */\n  function getCategoryBySlug(slug: string, options?: GetCategoryBySlugOptions): Promise<GetCategoryBySlugResponse>;\n  interface GetCategoryBySlugOptions {\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n      /**\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Language of the category to retrieve.\n       */\n      language?: string | null;\n  }\n  /**\n   * Retrieves a list of up to 100 categories per request.\n   *\n   * If you pass a language filter to the method, it returns a list of up to 100 categories in the requested language.\n   *\n   * The categoies are displayed in order of their `displayPosition`, starting with `0`. The `displayPosition` is the position in which the categories\n   * are displayed in the Category Menu page. By default, categories get added to the bottom of the Category Menu page with a `displayPosition` of `-1`.\n   *\n   * List Categories runs with these defaults, which you can override:\n   * - `paging.limit` is `50`.\n   * - `paging.offset` is `0`.\n   *\n   * List Categories is sorted by `displayPosition` in descending order. This cannot be overridden.\n   * @public\n   * @param options - Filter and paging options.\n   * @permissionId BLOG.READ-CATEGORY\n   */\n  function listCategories(options?: ListCategoriesOptions): Promise<ListCategoriesResponse>;\n  interface ListCategoriesOptions {\n      /** Pagination options. */\n      paging?: BlogPaging$2;\n      /**\n       * List of additional category fields to include in the response. By default\n       * only the category’s base fields are returned. Base fields are all category fields that don't appear in the fieldset enum.\n       *\n       * To retrieve a field, pass the relevant fieldset in the enum in the `fieldsets` array. For example, add the `URL` fieldset to `fieldsets` to\n       * retrieve the url field in the response in addition to the category’s base fields.\n       */\n      fieldsets?: Field$3[];\n      /**\n       * Language filter.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Pass a language to only receive categories that are in that language.\n       * If omitted, categories in all languages are returned.\n       */\n      language?: string | null;\n  }\n  /**\n   * Creates a query to retrieve a list of categories.\n   *\n   *\n   * The Query Categories method builds a query to retrieve a list of up to 100 categories per language, and returns a [`CategoriesQueryBuilder`](https://dev.wix.com/docs/sdk/backend-modules/blog/categories/categories-query-builder/ascending) object.\n   *\n   * The response contains the query definition, which is typically used to run the query using the [`find()`](https://dev.wix.com/docs/sdk/backend-modules/blog/categories/categories-query-builder/find) method.\n   *\n   * You can refine the query by chaining `CategoriesQueryBuilder` methods to the query. `CategoriesQueryBuilder` methods enable you to sort, filter, and control the results that Query Categories returns. Any methods chained to the Query Categories method are applied in the order that they are called.\n   *\n   * Query Categories runs with these `CategoriesQueryBuilder` defaults, which you can override.\n   * - [`limit(100)`](https://dev.wix.com/docs/sdk/backend-modules/blog/categories/categories-query-builder/limit)\n   * - [`ascending(displayPosition)`](https://dev.wix.com/docs/sdk/backend-modules/blog/categories/categories-query-builder/ascending)\n   *\n   * The following `CategoriesQueryBuilder` methods are supported for Query Categories. For a full description of the `Categories` object, see the response for the [`items`](https://dev.wix.com/docs/sdk/backend-modules/blog/categories/categories-query-result/items) property in [`CategoriesQueryResult`](https://www.wix.com/velo/reference/wix-blog-backend/categories/categoriesqueryresult).\n   * @public\n   * @param options - Options specifying which fields to return.\n   * @permissionId BLOG.READ-CATEGORY\n   */\n  function queryCategories(options?: QueryCategoriesOptions): CategoriesQueryBuilder;\n  interface QueryCategoriesOptions {\n      /**  */\n      fieldsets?: Field$3[] | undefined;\n  }\n  interface QueryOffsetResult$1 {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CategoriesQueryResult extends QueryOffsetResult$1 {\n      items: Category$2[];\n      query: CategoriesQueryBuilder;\n      next: () => Promise<CategoriesQueryResult>;\n      prev: () => Promise<CategoriesQueryResult>;\n  }\n  interface CategoriesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'label' | 'postCount' | 'title' | 'displayPosition' | 'translationId' | 'language' | 'slug', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'label' | 'postCount' | 'title' | 'displayPosition' | 'translationId' | 'language' | 'slug', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: 'postCount' | 'displayPosition', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: 'postCount' | 'displayPosition', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: 'postCount' | 'displayPosition', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: 'postCount' | 'displayPosition', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: 'label' | 'title', value: string) => CategoriesQueryBuilder;\n      in: (propertyName: '_id' | 'label' | 'postCount' | 'title' | 'displayPosition' | 'translationId' | 'language' | 'slug', value: any) => CategoriesQueryBuilder;\n      exists: (propertyName: 'label' | 'title' | 'translationId' | 'language' | 'slug', value: boolean) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'label' | 'postCount' | 'title' | 'displayPosition' | 'language' | 'slug'>) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'label' | 'postCount' | 'title' | 'displayPosition' | 'language' | 'slug'>) => CategoriesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => CategoriesQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => CategoriesQueryBuilder;\n      find: () => Promise<CategoriesQueryResult>;\n  }\n  /**\n   * Bulk delete for categories\n   * @param categoryIds - Category IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryIds\n   * @permissionId BLOG.DELETE-CATEGORY\n   * @adminMethod\n   */\n  function bulkDeleteCategory(categoryIds: string[], options?: BulkDeleteCategoryOptions): Promise<void>;\n  interface BulkDeleteCategoryOptions {\n      /** Should delete bypassing the trash-bin. */\n      permanent?: boolean;\n  }\n  /**\n   * Deletes a category.\n   * @param categoryId - Category ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @permissionId BLOG.DELETE-CATEGORY\n   * @adminMethod\n   */\n  function deleteCategory(categoryId: string): Promise<void>;\n  \n  type blogV3Category_universal_d_InitialCategoriesCopied = InitialCategoriesCopied;\n  type blogV3Category_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type blogV3Category_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n  type blogV3Category_universal_d_BulkCreateCategoriesRequest = BulkCreateCategoriesRequest;\n  type blogV3Category_universal_d_BulkCreateCategoriesResponse = BulkCreateCategoriesResponse;\n  type blogV3Category_universal_d_BulkCategoryResult = BulkCategoryResult;\n  type blogV3Category_universal_d_BulkUpdateCategoriesRequest = BulkUpdateCategoriesRequest;\n  type blogV3Category_universal_d_MaskedCategory = MaskedCategory;\n  type blogV3Category_universal_d_BulkUpdateCategoriesResponse = BulkUpdateCategoriesResponse;\n  type blogV3Category_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type blogV3Category_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n  type blogV3Category_universal_d_GetCategoriesCountByLanguageRequest = GetCategoriesCountByLanguageRequest;\n  type blogV3Category_universal_d_GetCategoriesCountByLanguageResponse = GetCategoriesCountByLanguageResponse;\n  type blogV3Category_universal_d_CategoryLanguageCount = CategoryLanguageCount;\n  type blogV3Category_universal_d_GetCategoryRequest = GetCategoryRequest;\n  type blogV3Category_universal_d_GetCategoryResponse = GetCategoryResponse;\n  type blogV3Category_universal_d_GetCategoryBySlugRequest = GetCategoryBySlugRequest;\n  type blogV3Category_universal_d_GetCategoryBySlugResponse = GetCategoryBySlugResponse;\n  type blogV3Category_universal_d_ListCategoriesRequest = ListCategoriesRequest;\n  type blogV3Category_universal_d_ListCategoriesResponse = ListCategoriesResponse;\n  type blogV3Category_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n  type blogV3Category_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n  type blogV3Category_universal_d_BulkDeleteCategoryRequest = BulkDeleteCategoryRequest;\n  type blogV3Category_universal_d_BulkDeleteCategoryResponse = BulkDeleteCategoryResponse;\n  type blogV3Category_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type blogV3Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  const blogV3Category_universal_d_createCategory: typeof createCategory;\n  type blogV3Category_universal_d_CreateCategoryOptions = CreateCategoryOptions;\n  const blogV3Category_universal_d_bulkCreateCategories: typeof bulkCreateCategories;\n  type blogV3Category_universal_d_BulkCreateCategoriesOptions = BulkCreateCategoriesOptions;\n  const blogV3Category_universal_d_bulkUpdateCategories: typeof bulkUpdateCategories;\n  type blogV3Category_universal_d_BulkUpdateCategoriesOptions = BulkUpdateCategoriesOptions;\n  const blogV3Category_universal_d_updateCategory: typeof updateCategory;\n  type blogV3Category_universal_d_UpdateCategory = UpdateCategory;\n  type blogV3Category_universal_d_UpdateCategoryOptions = UpdateCategoryOptions;\n  const blogV3Category_universal_d_getCategoriesCountByLanguage: typeof getCategoriesCountByLanguage;\n  const blogV3Category_universal_d_getCategory: typeof getCategory;\n  type blogV3Category_universal_d_GetCategoryOptions = GetCategoryOptions;\n  const blogV3Category_universal_d_getCategoryBySlug: typeof getCategoryBySlug;\n  type blogV3Category_universal_d_GetCategoryBySlugOptions = GetCategoryBySlugOptions;\n  const blogV3Category_universal_d_listCategories: typeof listCategories;\n  type blogV3Category_universal_d_ListCategoriesOptions = ListCategoriesOptions;\n  const blogV3Category_universal_d_queryCategories: typeof queryCategories;\n  type blogV3Category_universal_d_QueryCategoriesOptions = QueryCategoriesOptions;\n  type blogV3Category_universal_d_CategoriesQueryResult = CategoriesQueryResult;\n  type blogV3Category_universal_d_CategoriesQueryBuilder = CategoriesQueryBuilder;\n  const blogV3Category_universal_d_bulkDeleteCategory: typeof bulkDeleteCategory;\n  type blogV3Category_universal_d_BulkDeleteCategoryOptions = BulkDeleteCategoryOptions;\n  const blogV3Category_universal_d_deleteCategory: typeof deleteCategory;\n  namespace blogV3Category_universal_d {\n    export {\n      Category$2 as Category,\n      SeoSchema$3 as SeoSchema,\n      Keyword$3 as Keyword,\n      Tag$3 as Tag,\n      Settings$3 as Settings,\n      FocalPoint$2 as FocalPoint,\n      CategoryTranslation$2 as CategoryTranslation,\n      blogV3Category_universal_d_InitialCategoriesCopied as InitialCategoriesCopied,\n      blogV3Category_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      Field$3 as Field,\n      blogV3Category_universal_d_CreateCategoryResponse as CreateCategoryResponse,\n      blogV3Category_universal_d_BulkCreateCategoriesRequest as BulkCreateCategoriesRequest,\n      blogV3Category_universal_d_BulkCreateCategoriesResponse as BulkCreateCategoriesResponse,\n      blogV3Category_universal_d_BulkCategoryResult as BulkCategoryResult,\n      ItemMetadata$2 as ItemMetadata,\n      ApplicationError$2 as ApplicationError,\n      BulkActionMetadata$2 as BulkActionMetadata,\n      blogV3Category_universal_d_BulkUpdateCategoriesRequest as BulkUpdateCategoriesRequest,\n      blogV3Category_universal_d_MaskedCategory as MaskedCategory,\n      blogV3Category_universal_d_BulkUpdateCategoriesResponse as BulkUpdateCategoriesResponse,\n      blogV3Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      blogV3Category_universal_d_UpdateCategoryResponse as UpdateCategoryResponse,\n      blogV3Category_universal_d_GetCategoriesCountByLanguageRequest as GetCategoriesCountByLanguageRequest,\n      blogV3Category_universal_d_GetCategoriesCountByLanguageResponse as GetCategoriesCountByLanguageResponse,\n      blogV3Category_universal_d_CategoryLanguageCount as CategoryLanguageCount,\n      blogV3Category_universal_d_GetCategoryRequest as GetCategoryRequest,\n      blogV3Category_universal_d_GetCategoryResponse as GetCategoryResponse,\n      blogV3Category_universal_d_GetCategoryBySlugRequest as GetCategoryBySlugRequest,\n      blogV3Category_universal_d_GetCategoryBySlugResponse as GetCategoryBySlugResponse,\n      blogV3Category_universal_d_ListCategoriesRequest as ListCategoriesRequest,\n      BlogPaging$2 as BlogPaging,\n      blogV3Category_universal_d_ListCategoriesResponse as ListCategoriesResponse,\n      MetaData$3 as MetaData,\n      blogV3Category_universal_d_QueryCategoriesRequest as QueryCategoriesRequest,\n      PlatformQuery$3 as PlatformQuery,\n      PlatformQueryPagingMethodOneOf$3 as PlatformQueryPagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      Paging$3 as Paging,\n      CursorPaging$3 as CursorPaging,\n      blogV3Category_universal_d_QueryCategoriesResponse as QueryCategoriesResponse,\n      PagingMetadataV2$3 as PagingMetadataV2,\n      Cursors$3 as Cursors,\n      blogV3Category_universal_d_BulkDeleteCategoryRequest as BulkDeleteCategoryRequest,\n      blogV3Category_universal_d_BulkDeleteCategoryResponse as BulkDeleteCategoryResponse,\n      blogV3Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      blogV3Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      blogV3Category_universal_d_createCategory as createCategory,\n      blogV3Category_universal_d_CreateCategoryOptions as CreateCategoryOptions,\n      blogV3Category_universal_d_bulkCreateCategories as bulkCreateCategories,\n      blogV3Category_universal_d_BulkCreateCategoriesOptions as BulkCreateCategoriesOptions,\n      blogV3Category_universal_d_bulkUpdateCategories as bulkUpdateCategories,\n      blogV3Category_universal_d_BulkUpdateCategoriesOptions as BulkUpdateCategoriesOptions,\n      blogV3Category_universal_d_updateCategory as updateCategory,\n      blogV3Category_universal_d_UpdateCategory as UpdateCategory,\n      blogV3Category_universal_d_UpdateCategoryOptions as UpdateCategoryOptions,\n      blogV3Category_universal_d_getCategoriesCountByLanguage as getCategoriesCountByLanguage,\n      blogV3Category_universal_d_getCategory as getCategory,\n      blogV3Category_universal_d_GetCategoryOptions as GetCategoryOptions,\n      blogV3Category_universal_d_getCategoryBySlug as getCategoryBySlug,\n      blogV3Category_universal_d_GetCategoryBySlugOptions as GetCategoryBySlugOptions,\n      blogV3Category_universal_d_listCategories as listCategories,\n      blogV3Category_universal_d_ListCategoriesOptions as ListCategoriesOptions,\n      blogV3Category_universal_d_queryCategories as queryCategories,\n      blogV3Category_universal_d_QueryCategoriesOptions as QueryCategoriesOptions,\n      blogV3Category_universal_d_CategoriesQueryResult as CategoriesQueryResult,\n      blogV3Category_universal_d_CategoriesQueryBuilder as CategoriesQueryBuilder,\n      blogV3Category_universal_d_bulkDeleteCategory as bulkDeleteCategory,\n      blogV3Category_universal_d_BulkDeleteCategoryOptions as BulkDeleteCategoryOptions,\n      blogV3Category_universal_d_deleteCategory as deleteCategory,\n    };\n  }\n  \n  interface DraftPost$1 {\n      /**\n       * Draft post ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Draft post title. */\n      title?: string;\n      /**\n       * Draft post excerpt.\n       *\n       * If no excerpt has been manually set, an excerpt is automatically generated from the post's text.\n       * This can be retrieved using the `GENERATED_EXCERPT` fieldset.\n       */\n      excerpt?: string | null;\n      /** Whether the draft post is marked as featured. */\n      featured?: boolean | null;\n      /** Category IDs of the draft post. */\n      categoryIds?: string[];\n      /**\n       * __Deprecated.__ Use `media` instead.\n       * This property will be removed on June 6, 2023.\n       *\n       * Draft post cover media.\n       * @internal\n       * @deprecated\n       * @replacedBy media\n       * @targetRemovalDate 2024-06-30\n       */\n      coverMedia?: CoverMedia$1;\n      /** Draft post owner's member ID. */\n      memberId?: string | null;\n      /** Hashtags in the draft post. */\n      hashtags?: string[];\n      /** Whether commenting on the draft post is enabled. */\n      commentingEnabled?: boolean | null;\n      /**\n       * Estimated reading time of the draft post (calculated automatically).\n       * @readonly\n       */\n      minutesToRead?: number;\n      /** Image placed at the top of the blog page. */\n      heroImage?: string;\n      /** Tag IDs the draft post is tagged with. */\n      tagIds?: string[];\n      /** IDs of posts related to this draft post. */\n      relatedPostIds?: string[];\n      /** Pricing plan IDs. Only relevant if a post is assigned to a specific pricing plan. */\n      pricingPlanIds?: string[];\n      /**\n       * ID of the draft post's translations.\n       *\n       * All translations of a single post share the same `translationId`.\n       * Available only if the [Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) app is installed.\n       */\n      translationId?: string | null;\n      /**\n       * Language the draft post is written in.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      changeOrigin?: Origin$1;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      contentId?: string | null;\n      /** Reserved for internal use. */\n      editingSessionId?: string | null;\n      /** Draft post rich content. */\n      richContent?: RichContent$1;\n      /**\n       * Status of the draft post.\n       * @readonly\n       */\n      status?: Status$1;\n      /** Details of the draft post in review. Only relevant to posts submitted by guest writers. */\n      moderationDetails?: ModerationDetails$1;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      mostRecentContributorId?: string | null;\n      /**\n       * Indicates if there are changes made to the draft post that have not yet been published.\n       * @readonly\n       */\n      hasUnpublishedChanges?: boolean;\n      /**\n       * Date the draft post was last edited.\n       * @readonly\n       */\n      editedDate?: Date | null;\n      /**\n       * Date the draft post is scheduled to be published.\n       * @readonly\n       */\n      scheduledPublishDate?: Date | null;\n      /** Reserved for internal use. */\n      content?: Record<string, any> | null;\n      /** Date the post was first published. */\n      firstPublishedDate?: Date | null;\n      /** SEO data. */\n      seoData?: SeoSchema$2;\n      /**\n       * @internal Deprecated.\n       * @internal Deprecated.\n       * @deprecated\n       * @replacedBy preview_text_paragraph\n       * @targetRemovalDate 2024-06-30\n       */\n      paidContentParagraph?: number | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      slugs?: string[];\n      /**\n       * Draft post URL preview. What the URL will look like once the post is published.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Date the draft post was first created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** SEO slug. */\n      seoSlug?: string | null;\n      /** Post cover media. */\n      media?: Media$1;\n      /** Number of paragraphs to display in a paid content preview for non-paying users. */\n      previewTextParagraph?: number | null;\n      /**\n       * List of the post's translated posts.\n       * @internal\n       * @readonly\n       */\n      translations?: DraftPostTranslation$1[];\n      /**\n       * Reserved for internal use, not included in base response.\n       * @internal\n       */\n      originPostId?: string | null;\n      /**\n       * Reserved for internal use, not included in base response.\n       * @internal\n       */\n      originPostInstanceId?: string | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      internalId?: string | null;\n  }\n  interface CoverMedia$1 extends CoverMediaMediaOneOf$1 {\n      /** Image url. */\n      image?: string;\n      /** Video url. */\n      video?: string;\n      /**\n       * Is cover media enabled.\n       * Selected by user whether to display cover media on the feed\n       * @deprecated Is cover media enabled.\n       * Selected by user whether to display cover media on the feed\n       * @replacedBy displayed\n       * @targetRemovalDate 2024-06-30\n       */\n      enabled?: boolean;\n      /** Whether cover media is displayed. */\n      displayed?: boolean;\n      /** Whether cover media is custom. If `false` the cover image is set to the first media item that appears in the content. */\n      custom?: boolean;\n  }\n  /** @oneof */\n  interface CoverMediaMediaOneOf$1 {\n      /** Image url. */\n      image?: string;\n      /** Video url. */\n      video?: string;\n  }\n  interface FocalPoint$1 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  enum Origin$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Changed by admin */\n      ADMIN = \"ADMIN\",\n      /** Categories were changed */\n      ADD_CATEGORIES = \"ADD_CATEGORIES\",\n      /** Saved automatically */\n      AUTO_SAVE = \"AUTO_SAVE\",\n      /** Copied from template */\n      COPY_TEMPLATE = \"COPY_TEMPLATE\",\n      /** Imported */\n      IMPORT = \"IMPORT\",\n      /** Imported in bulk */\n      IMPORT_BULK = \"IMPORT_BULK\",\n      /** Imported with html import */\n      IMPORT_HTML = \"IMPORT_HTML\",\n      /** Patch import */\n      IMPORT_PATCH = \"IMPORT_PATCH\",\n      /** Changed language */\n      LANGUAGE_CHANGE = \"LANGUAGE_CHANGE\",\n      /** Saved manually */\n      MANUAL_SAVE = \"MANUAL_SAVE\",\n      /** Affected by migration */\n      MIGRATION = \"MIGRATION\",\n      /** Affected by moderation */\n      MODERATION = \"MODERATION\",\n      /** Moved to trash */\n      MOVE_TO_TRASH = \"MOVE_TO_TRASH\",\n      /** Pricing plans were changed */\n      PRICING_PLANS_CHANGE = \"PRICING_PLANS_CHANGE\",\n      /** Was provisioned */\n      PROVISION = \"PROVISION\",\n      /** Was published */\n      PUBLISH = \"PUBLISH\",\n      /** Owner was reassigned */\n      REASSIGN_OWNER = \"REASSIGN_OWNER\",\n      /** Was reblogged */\n      REBLOG = \"REBLOG\",\n      /** Was restored */\n      RESTORE = \"RESTORE\",\n      /** Reverted to draft */\n      REVERT_TO_DRAFT = \"REVERT_TO_DRAFT\",\n      /** Was translated */\n      TRANSLATION = \"TRANSLATION\",\n      /** Was unpublished */\n      UNPUBLISH = \"UNPUBLISH\",\n      /** Was unscheduled */\n      UNSCHEDULE = \"UNSCHEDULE\",\n      /** New edit session started which updated editing_session_id id */\n      NEW_EDIT_SESSION = \"NEW_EDIT_SESSION\",\n      /** Was scheduled by Later */\n      SCHEDULING_SERVICE_SCHEDULE = \"SCHEDULING_SERVICE_SCHEDULE\",\n      /** Was unscheduled by Later */\n      SCHEDULING_SERVICE_UNSCHEDULE = \"SCHEDULING_SERVICE_UNSCHEDULE\",\n      /** Was published by Later */\n      SCHEDULING_SERVICE_PUBLISH = \"SCHEDULING_SERVICE_PUBLISH\",\n      /** Was scheduled */\n      SCHEDULE = \"SCHEDULE\",\n      /** Was removed from moderation */\n      REMOVE_FROM_MODERATION = \"REMOVE_FROM_MODERATION\",\n      /** Was rejected from moderation */\n      REJECT_FROM_MODERATION = \"REJECT_FROM_MODERATION\",\n      /** Was approved in moderation */\n      APPROVE_IN_MODERATION = \"APPROVE_IN_MODERATION\",\n      /** Tag was deleted */\n      DELETE_TAG = \"DELETE_TAG\",\n      /** Post was pinned */\n      PIN = \"PIN\",\n      /** Post was unpinned */\n      UNPIN = \"UNPIN\",\n      /** Saved automatically by AI tool. */\n      AI_AUTO_SAVE = \"AI_AUTO_SAVE\"\n  }\n  interface RichContent$1 {\n      /** Node objects representing a rich content document. */\n      nodes?: Node$1[];\n      /** Object metadata. */\n      metadata?: Metadata$1;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle$1;\n  }\n  interface Node$1 extends NodeDataOneOf$1 {\n      /** Data for a button node. */\n      buttonData?: ButtonData$1;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData$1;\n      /** Data for a divider node. */\n      dividerData?: DividerData$1;\n      /** Data for a file node. */\n      fileData?: FileData$1;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData$1;\n      /** Data for a GIF node. */\n      gifData?: GIFData$1;\n      /** Data for a heading node. */\n      headingData?: HeadingData$1;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData$1;\n      /** Data for an image node. */\n      imageData?: ImageData$1;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData$1;\n      /** Data for a map node. */\n      mapData?: MapData$1;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData$1;\n      /** Data for a poll node. */\n      pollData?: PollData$1;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData$1;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData$1;\n      /** Data for a video node. */\n      videoData?: VideoData$1;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData$1;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData$1;\n      /** Data for a table node. */\n      tableData?: TableData$1;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData$1;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData$1;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData$1;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData$1;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData$1;\n      /** Data for a caption node. */\n      captionData?: CaptionData$1;\n      /** 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. */\n      type?: NodeType$1;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node$1[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle$1;\n  }\n  /** @oneof */\n  interface NodeDataOneOf$1 {\n      /** Data for a button node. */\n      buttonData?: ButtonData$1;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData$1;\n      /** Data for a divider node. */\n      dividerData?: DividerData$1;\n      /** Data for a file node. */\n      fileData?: FileData$1;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData$1;\n      /** Data for a GIF node. */\n      gifData?: GIFData$1;\n      /** Data for a heading node. */\n      headingData?: HeadingData$1;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData$1;\n      /** Data for an image node. */\n      imageData?: ImageData$1;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData$1;\n      /** Data for a map node. */\n      mapData?: MapData$1;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData$1;\n      /** Data for a poll node. */\n      pollData?: PollData$1;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData$1;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData$1;\n      /** Data for a video node. */\n      videoData?: VideoData$1;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData$1;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData$1;\n      /** Data for a table node. */\n      tableData?: TableData$1;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData$1;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData$1;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData$1;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData$1;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData$1;\n      /** Data for a caption node. */\n      captionData?: CaptionData$1;\n  }\n  enum NodeType$1 {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle$1 {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData$1 {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData$1;\n      /** The button type. */\n      type?: ButtonDataType;\n      /** Styling for the button. */\n      styles?: Styles$1;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link$1;\n  }\n  interface Border$1 {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors$1 {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData$1 {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth$1;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment$1;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler$1;\n      /** The height of the node when it's displayed. */\n      height?: Height$1;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType$1 {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth$1 extends PluginContainerDataWidthDataOneOf$1 {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType$1;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf$1 {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType$1;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment$1 {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler$1 {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height$1 {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum ButtonDataType {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles$1 {\n      /** Border attributes. */\n      border?: Border$1;\n      /** Color attributes. */\n      colors?: Colors$1;\n  }\n  interface Link$1 extends LinkDataOneOf$1 {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * The HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target$1;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel$1;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf$1 {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target$1 {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel$1 {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protects referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData$1 {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle$1;\n  }\n  interface TextStyle$1 {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment$1;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment$1 {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData$1 {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData$1;\n      /** Divider line style. */\n      lineStyle?: LineStyle$1;\n      /** Divider width. */\n      width?: Width$1;\n      /** Divider alignment. */\n      alignment?: Alignment$1;\n  }\n  enum LineStyle$1 {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width$1 {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment$1 {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData$1 {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData$1;\n      /** The source for the file's data. */\n      src?: FileSource$1;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings$1;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode$1 {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource$1 extends FileSourceDataOneOf$1 {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf$1 {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings$1 {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode$1;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData$1 {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData$1;\n      /** The items in the gallery. */\n      items?: Item$1[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions$1;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface V1Media {\n      /** The source for the media's data. */\n      src?: FileSource$1;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image$1 {\n      /** Image file details. */\n      media?: V1Media;\n      /** Link details for images that are links. */\n      link?: Link$1;\n  }\n  interface Video$1 {\n      /** Video file details. */\n      media?: V1Media;\n      /** Video thumbnail file details. */\n      thumbnail?: V1Media;\n  }\n  interface Item$1 extends ItemDataOneOf$1 {\n      /** An image item. */\n      image?: Image$1;\n      /** A video item. */\n      video?: Video$1;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf$1 {\n      /** An image item. */\n      image?: Image$1;\n      /** A video item. */\n      video?: Video$1;\n  }\n  interface GalleryOptions$1 {\n      /** Gallery layout. */\n      layout?: Layout$1;\n      /** Styling for gallery items. */\n      item?: ItemStyle$1;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails$1;\n  }\n  enum LayoutType$1 {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation$1 {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop$1 {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment$1 {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout$1 {\n      /** Gallery layout type. */\n      type?: LayoutType$1;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation$1;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle$1 {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop$1;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails$1 {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment$1;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData$1 {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData$1;\n      /** The source of the full size GIF. */\n      original?: GIF$1;\n      /** The source of the downsized GIF. */\n      downsized?: GIF$1;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF$1 {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData$1 {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle$1;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData$1 extends HTMLDataDataOneOf$1 {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData$1;\n      /** The type of HTML code. */\n      source?: Source$1;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf$1 {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source$1 {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData$1 {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData$1;\n      /** Image file details. */\n      image?: V1Media;\n      /** Link details for images that are links. */\n      link?: Link$1;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData$1 {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData$1;\n      /** Link details. */\n      link?: Link$1;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData$1 {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData$1;\n      /** Map settings. */\n      mapSettings?: MapSettings$1;\n  }\n  interface MapSettings$1 {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType$1;\n  }\n  enum MapType$1 {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData$1 {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle$1;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData$1 {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData$1;\n      /** Poll data. */\n      poll?: Poll$1;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout$1;\n      /** Styling for the poll and voting options. */\n      design?: Design$1;\n  }\n  enum ViewRole$1 {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole$1 {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions$1 {\n      /** Sets who can view the poll results. */\n      view?: ViewRole$1;\n      /** Sets who can vote. */\n      vote?: VoteRole$1;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option$1 {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: V1Media;\n  }\n  interface PollSettings$1 {\n      /** Permissions settings for voting. */\n      permissions?: Permissions$1;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType$1 {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection$1 {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout$1 {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType$1;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection$1;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout$1 {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType$1 {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient$1 {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background$1 extends BackgroundBackgroundOneOf$1 {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: V1Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient$1;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType$1;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf$1 {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: V1Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient$1;\n  }\n  interface PollDesign$1 {\n      /** Background styling. */\n      background?: Background$1;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign$1 {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll$1 {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: V1Media;\n      /** Voting options. */\n      options?: Option$1[];\n      /** The poll's permissions and display settings. */\n      settings?: PollSettings$1;\n  }\n  interface PollDataLayout$1 {\n      /** Poll layout settings. */\n      poll?: PollLayout$1;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout$1;\n  }\n  interface Design$1 {\n      /** Styling for the poll. */\n      poll?: PollDesign$1;\n      /** Styling for voting options. */\n      options?: OptionDesign$1;\n  }\n  interface TextData$1 {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration$1[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration$1 extends DecorationDataOneOf$1 {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData$1;\n      /** Data for a color decoration. */\n      colorData?: ColorData$1;\n      /** Data for an external link decoration. */\n      linkData?: LinkData$1;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData$1;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData$1;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData$1;\n      /** The type of decoration to apply. */\n      type?: DecorationType$1;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf$1 {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData$1;\n      /** Data for a color decoration. */\n      colorData?: ColorData$1;\n      /** Data for an external link decoration. */\n      linkData?: LinkData$1;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData$1;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData$1;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData$1;\n  }\n  enum DecorationType$1 {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData$1 {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData$1 {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData$1 {\n      /** Link details. */\n      link?: Link$1;\n  }\n  interface MentionData$1 {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData$1 {\n      /** The units used for the font size. */\n      unit?: FontType$1;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType$1 {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData$1 {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData$1 extends AppEmbedDataAppDataOneOf$1 {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData$1;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData$1;\n      /** The type of Wix App content being embedded. */\n      type?: AppType$1;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: V1Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf$1 {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData$1;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData$1;\n  }\n  enum AppType$1 {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData$1 {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData$1 {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData$1 {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData$1;\n      /** Video details. */\n      video?: V1Media;\n      /** Video thumbnail details. */\n      thumbnail?: V1Media;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions$1;\n  }\n  interface PlaybackOptions$1 {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData$1 {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData$1;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed$1;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed$1 {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData$1 {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData$1;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems$1;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction$1;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems$1 {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction$1 {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData$1 {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData$1;\n      /** The table's dimensions. */\n      dimensions?: Dimensions$1;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions$1 {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData$1 {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle$1;\n      /** The cell's border colors. */\n      borderColors?: BorderColors$1;\n  }\n  enum VerticalAlignment$1 {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle$1 {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment$1;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors$1 {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue$1 {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue$1 {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData$1 {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData$1;\n      /** Audio file details. */\n      audio?: V1Media;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: V1Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData$1 {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData$1 {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData$1 {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData$1 {\n      textStyle?: TextStyle$1;\n  }\n  interface Metadata$1 {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle$1 {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle$1;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle$1;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle$1;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle$1;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle$1;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle$1;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle$1;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle$1;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle$1;\n  }\n  interface TextNodeStyle$1 {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration$1[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle$1;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  enum Status$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Status indicating the draft post is published. */\n      PUBLISHED = \"PUBLISHED\",\n      /** Status indicating the draft post is unpublished. */\n      UNPUBLISHED = \"UNPUBLISHED\",\n      /** Status indicating the draft post is scheduled for publication. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Status indicating the draft post is deleted. */\n      DELETED = \"DELETED\",\n      /**\n       * Deprecated. Use `IN_REVIEW` instead. Status indicating the draft post is in review.\n       * Target removal date 2024-06-30\n       * Reserved for internal use.\n       */\n      IN_MODERATION = \"IN_MODERATION\",\n      /** Status indicating the draft post is in review. */\n      IN_REVIEW = \"IN_REVIEW\"\n  }\n  interface ModerationDetails$1 {\n      /** Member ID of the person submitting the draft post for review. */\n      submittedBy?: string;\n      /** Date the post was submitted for review. */\n      submittedDate?: Date | null;\n      /** Status indicating whether the submission was approved or rejected by the moderator. */\n      status?: ModerationStatusStatus$1;\n      /** Member ID of the person who approved or rejected the post. */\n      moderatedBy?: string | null;\n      /** Date the post was approved or rejected. */\n      moderationDate?: Date | null;\n  }\n  enum ModerationStatusStatus$1 {\n      UNKNOWN = \"UNKNOWN\",\n      APPROVED = \"APPROVED\",\n      REJECTED = \"REJECTED\"\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$2 {\n      /** SEO tag information. */\n      tags?: Tag$2[];\n      /** SEO general settings. */\n      settings?: Settings$2;\n  }\n  interface Keyword$2 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag$2 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$2 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$2[];\n  }\n  interface Media$1 extends MediaMediaOneOf {\n      /** Wix Media details. */\n      wixMedia?: WixMedia$1;\n      /** Embed media details. */\n      embedMedia?: EmbedMedia$1;\n      /** Whether cover media is displayed. */\n      displayed?: boolean;\n      /** Whether custom cover media has been specified. If `false`, the first media item in the post's content serves as cover media. */\n      custom?: boolean;\n  }\n  /** @oneof */\n  interface MediaMediaOneOf {\n      /** Wix Media details. */\n      wixMedia?: WixMedia$1;\n      /** Embed media details. */\n      embedMedia?: EmbedMedia$1;\n  }\n  interface WixMedia$1 {\n      /** Image details. */\n      image?: string;\n      /** Video details. */\n      videoV2?: string;\n  }\n  interface VideoResolution$1 {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface EmbedMedia$1 {\n      /** Thumbnail details. */\n      thumbnail?: EmbedThumbnail$1;\n      /** Video details. */\n      video?: EmbedVideo$1;\n  }\n  interface EmbedThumbnail$1 {\n      /** Thumbnail url. */\n      url?: string;\n      /** Thumbnail width. */\n      width?: number;\n      /** Thumbnail height. */\n      height?: number;\n  }\n  interface EmbedVideo$1 {\n      /** Video url. */\n      url?: string;\n      /** Video width. */\n      width?: number;\n      /** Video height. */\n      height?: number;\n  }\n  interface DraftPostTranslation$1 {\n      /** Post ID. */\n      _id?: string;\n      /** Post status. */\n      status?: Status$1;\n      /** Language the post is written in. */\n      language?: string | null;\n      /** Post slug. For example, 'post-slug'. */\n      slug?: string | null;\n      /** SEO data. */\n      seoData?: SeoSchema$2;\n      /** Post URL. */\n      url?: string;\n  }\n  interface InitialDraftPostsCopied {\n      /** Number of draft posts copied. */\n      count?: number;\n  }\n  interface CreateDraftPostRequest {\n      /** Draft post to create. */\n      draftPost: DraftPost$1;\n      /**\n       * Should publish after creation.\n       * @internal\n       * @deprecated\n       * @replacedBy publish\n       * @targetRemovalDate 2024-06-30\n       */\n      shouldPublish?: boolean;\n      /**\n       * Whether the draft post should be published on creation.\n       *\n       * Default: `false`\n       */\n      publish?: boolean;\n      /**\n       * Save type.\n       * @internal\n       */\n      saveType?: Type$1;\n      /**\n       * Field mask of fields to be used for draft post creation.\n       * @internal\n       * @deprecated Field mask of fields to be used for draft post creation.\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldMask?: string[];\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n  }\n  enum Type$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Manually saved. */\n      MANUAL = \"MANUAL\",\n      /** Triggered by autosave. */\n      AUTO_SAVE = \"AUTO_SAVE\",\n      /** Copied from template during provisioning flow. */\n      PROVISIONING = \"PROVISIONING\",\n      /** Imported from another blog. */\n      IMPORT = \"IMPORT\",\n      /** Triggered by autosave when post created by AI tool. */\n      AI_AUTO_SAVE = \"AI_AUTO_SAVE\"\n  }\n  enum Field$2 {\n      /** Unknown field. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Includes draft post preview URL. */\n      URL = \"URL\",\n      /**\n       * Includes internal id field.\n       * Reserved for internal use.\n       */\n      INTERNAL_ID = \"INTERNAL_ID\",\n      /** Includes content field. */\n      CONTENT = \"CONTENT\",\n      /** Includes rich content field. */\n      RICH_CONTENT = \"RICH_CONTENT\",\n      /** Includes draft post translations when present. */\n      TRANSLATIONS = \"TRANSLATIONS\",\n      /** If the user has not set excerpt, returns the one autogenerated from content. */\n      GENERATED_EXCERPT = \"GENERATED_EXCERPT\"\n  }\n  interface CreateDraftPostResponse {\n      /** Created draft post info. */\n      draftPost?: DraftPost$1;\n  }\n  interface BulkCreateDraftPostsRequest {\n      /** Draft posts to create. */\n      draftPosts: DraftPost$1[];\n      /**\n       * Should publish after creation.\n       * @internal\n       * @deprecated Should publish after creation.\n       * @replacedBy publish\n       * @targetRemovalDate 2024-06-30\n       */\n      shouldPublish?: boolean;\n      /** Whether the draft post should be published after creation. */\n      publish?: boolean;\n      /**\n       * Save type.\n       * @internal\n       */\n      saveType?: Type$1;\n      /**\n       * Field mask of fields to be used for draft post creation.\n       * @internal\n       * @deprecated Field mask of fields to be used for draft post creation.\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldMask?: string[];\n      /** Whether to return the full created draft post entities in the response. */\n      returnFullEntity?: boolean;\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included if entities are present in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included in the response if the entities are present.\n       * Base default fieldset returns all core draft post properties (all properties that are not a supported fieldset value).\n       * For example,  when `URL` fieldset is selected, returned draft post will include the set of base properties and the draft post's preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface BulkCreateDraftPostsResponse {\n      /** Draft posts created by bulk action. */\n      results?: BulkDraftPostResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkDraftPostResult {\n      /** Bulk actions metadata for draft post. */\n      itemMetadata?: ItemMetadata$1;\n      /** Optional full draft post. */\n      item?: DraftPost$1;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateDraftPostsRequest {\n      /** Draft posts to update. */\n      draftPosts?: MaskedDraftPosts[];\n      /**\n       * Action to perform on the posts.\n       *\n       * - `UPDATE`: Update the draft post.\n       * - `UPDATE_PUBLISH`: Update and publish the draft post.\n       * - `UPDATE_SCHEDULE`: Update the draft post and schedule a publish date.\n       * - `UPDATE_REVERT_TO_DRAFT`: Update the post and revert it to a draft post.\n       * - `UPDATE_CANCEL_SCHEDULE`: Update the draft post and cancel the scheduled publish date.\n       * - `UPDATE_REJECT`: Update and reject the draft post.\n       * - `UPDATE_PUBLICATION`: Update a published post. This creates and updates a draft version of the post. The original post is still published.\n       *\n       * Default: `UPDATE`\n       */\n      action?: Action;\n      /** Posts' scheduled publish date when `action` is set to `UPDATE_SCHEDULE`. */\n      scheduledPublishDate?: Date | null;\n      /**\n       * Save type.\n       * @internal\n       */\n      saveType?: Type$1;\n      /** Whether to return the full updated draft post entities in the response. */\n      returnFullEntity?: boolean;\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface MaskedDraftPosts {\n      /** Draft post info. */\n      draftPost?: DraftPost$1;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  enum Action {\n      /** Update the draft post. */\n      UPDATE = \"UPDATE\",\n      /** Update and publish a draft post. */\n      UPDATE_PUBLISH = \"UPDATE_PUBLISH\",\n      /** Update the draft post and schedule a publish date. */\n      UPDATE_SCHEDULE = \"UPDATE_SCHEDULE\",\n      /** Update the post and revert it to draft. */\n      UPDATE_REVERT_TO_DRAFT = \"UPDATE_REVERT_TO_DRAFT\",\n      /** Update the draft post and cancel the scheduled publish date. */\n      UPDATE_CANCEL_SCHEDULE = \"UPDATE_CANCEL_SCHEDULE\",\n      /** Update and reject draft post. */\n      UPDATE_REJECT = \"UPDATE_REJECT\",\n      /** Update a post that's already been published. This creates and updates a draft version of the post. The original post is still published. */\n      UPDATE_PUBLICATION = \"UPDATE_PUBLICATION\"\n  }\n  interface BulkUpdateDraftPostsResponse {\n      /** Draft posts updated by bulk action. */\n      results?: BulkDraftPostResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface DraftPostOwnerChanged {\n      /**\n       * Member ID of the draft post's owner before the change.\n       * @internal\n       */\n      oldMemberId?: string;\n      /**\n       * Member ID of the draft post's owner after the change.\n       * @internal\n       */\n      newMemberId?: string;\n  }\n  interface ListDeletedDraftPostsRequest {\n      /**\n       * Language filter.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If omitted, deleted draft posts in all languages are returned.\n       */\n      language?: string | null;\n      /**\n       * Sorting options.\n       *\n       * Default: `EDITING_DATE_DESCENDING`\n       */\n      sort?: GetDraftPostsSort;\n      /** Pagination options. */\n      paging?: BlogPaging$1;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n      /** Draft post ids. */\n      draftPostIds?: string[];\n  }\n  enum GetDraftPostsSort {\n      /** Sort by `editedDate` in descending order. */\n      EDITING_DATE_DESC = \"EDITING_DATE_DESC\",\n      /** Sort by `editedDate` in ascending order. */\n      EDITING_DATE_ASC = \"EDITING_DATE_ASC\"\n  }\n  interface BlogPaging$1 {\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       *\n       * Default: `0`\n       */\n      offset?: number;\n      /**\n       * Number of items to return.\n       *\n       *\n       * Default:`50`\n       */\n      limit?: number;\n      /** Pointer to the next or previous page in the list of results. */\n      cursor?: string | null;\n  }\n  interface ListDeletedDraftPostsResponse {\n      /** List of draft posts. */\n      draftPosts?: DraftPost$1[];\n      /** Details on the paged set of results returned. */\n      metaData?: MetaData$2;\n  }\n  interface MetaData$2 {\n      /** Number of items returned in this response. */\n      count?: number;\n      /** Requested offset. */\n      offset?: number;\n      /** Total number of items that match the query. */\n      total?: number;\n      /** Pointer to the next or previous page in the list of results. */\n      cursor?: string | null;\n  }\n  interface GetDraftPostRequest {\n      /** Draft post ID. */\n      draftPostId: string;\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included if entities are present in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface GetDraftPostResponse {\n      /** Draft post info. */\n      draftPost?: DraftPost$1;\n  }\n  interface UpdateDraftPostContentRequest extends UpdateDraftPostContentRequestDraftContentOneOf {\n      /** DraftJs content to update. */\n      content?: string;\n      /** Draft post rich content. */\n      richContent?: RichContent$1;\n      /** Draft post ID. */\n      draftPostId: string;\n      /** Change origin. */\n      changeOrigin?: Origin$1;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  /** @oneof */\n  interface UpdateDraftPostContentRequestDraftContentOneOf {\n      /** DraftJs content to update. */\n      content?: string;\n      /** Draft post rich content. */\n      richContent?: RichContent$1;\n  }\n  interface UpdateDraftPostContentResponse {\n      /** Updated draft post info. */\n      draftPost?: DraftPost$1;\n  }\n  interface UpdateDraftPostRequest {\n      /** Draft post to update. */\n      draftPost: DraftPost$1;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Should publish after update.\n       * @internal\n       * @deprecated Should publish after update.\n       * @replacedBy action\n       * @targetRemovalDate 2024-06-30\n       */\n      shouldPublish?: boolean;\n      /**\n       * Save type.\n       * @internal\n       */\n      saveType?: Type$1;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * Action to perform on the post.\n       *\n       * Default: `UPDATE`\n       */\n      action?: Action;\n      /** Post publish schedule date if `action` is set to `UPDATE_SCHEDULE`. */\n      scheduledPublishDate?: Date | null;\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface UpdateDraftPostResponse {\n      /** Updated draft post info. */\n      draftPost?: DraftPost$1;\n  }\n  interface DeleteDraftPostRequest {\n      /** Draft post ID. */\n      draftPostId: string;\n      /**\n       * Whether to bypass the trash bin and delete the post permanently.\n       *\n       * Default: `false`\n       */\n      permanent?: boolean;\n  }\n  interface DeleteDraftPostResponse {\n  }\n  interface RemoveFromTrashBinRequest {\n      /** Draft post ID. */\n      draftPostId: string;\n  }\n  interface RemoveFromTrashBinResponse {\n  }\n  interface BulkDeleteDraftPostsRequest {\n      /** Post IDs. */\n      postIds: string[];\n      /** Should delete bypassing the trash-bin. */\n      permanent?: boolean;\n  }\n  interface BulkDeleteDraftPostsResponse {\n      /** Bulk action results. */\n      results?: BulkDraftPostResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface ListDraftPostsRequest {\n      /**\n       * Draft post status filter.\n       *\n       * If omitted, draft posts with all statuses are returned.\n       * `IN_MODERATION` is deprecated, use `IN_REVIEW` instead.\n       */\n      status?: Status$1;\n      /**\n       * Language filter.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If omitted, draft posts in all languages are returned.\n       */\n      language?: string | null;\n      /**\n       * Sort options.\n       *\n       * Default: `EDITING_DATE_DESCENDING`\n       */\n      sort?: GetDraftPostsSort;\n      /** Pagination options. */\n      paging?: BlogPaging$1;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-03-31\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface ListDraftPostsResponse {\n      /** List of draft posts. */\n      draftPosts?: DraftPost$1[];\n      /** Details on the paged set of results returned. */\n      metaData?: MetaData$2;\n  }\n  interface GetDeletedDraftPostRequest {\n      /** Draft post ID. */\n      draftPostId: string;\n  }\n  interface GetDeletedDraftPostResponse {\n      /** Draft post info. */\n      draftPost?: DraftPost$1;\n  }\n  interface RestoreFromTrashBinRequest {\n      /** Draft post ID. */\n      draftPostId: string;\n  }\n  interface RestoreFromTrashBinResponse {\n      /** Restored draft post info. */\n      draftPost?: DraftPost$1;\n  }\n  interface QueryDraftPostsRequest {\n      /**\n       * Pagination options.\n       * @internal\n       * @deprecated Pagination options.\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      paging?: BlogPaging$1;\n      /**\n       * Filter object.\n       * For a detailed list of supported filters, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @internal\n       * @deprecated Filter object.\n       * For a detailed list of supported filters, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sorting options. For a list of sortable fields, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @internal\n       * @deprecated Sorting options. For a list of sortable fields, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      sort?: Sorting$2[];\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n      /** Query options. */\n      query?: PlatformQuery$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformQuery$2 extends PlatformQueryPagingMethodOneOf$2 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf$2 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryDraftPostsResponse {\n      /** List of posts. */\n      draftPosts?: DraftPost$1[];\n      /**\n       * __Deprecated.__ Use `pagingMetadata` instead.\n       * This property will be removed on June 30, 2023.\n       *\n       * Details on the paged set of results returned.\n       * @deprecated __Deprecated.__ Use `pagingMetadata` instead.\n       * This property will be removed on June 30, 2023.\n       *\n       * Details on the paged set of results returned.\n       * @replacedBy pagingMetadata\n       * @targetRemovalDate 2024-06-30\n       */\n      metaData?: MetaData$2;\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2$2;\n  }\n  interface PagingMetadataV2$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface PublishDraftPostRequest {\n      /** Draft post ID. */\n      draftPostId: string;\n  }\n  interface PublishDraftPostResponse {\n      /** Published post ID. */\n      postId?: string;\n  }\n  interface UnpublishPostRequest {\n      /** Draft post ID. */\n      draftPostId: string;\n  }\n  interface UnpublishPostResponse {\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface GetDraftPostTotalsRequest {\n      /**\n       * Group results by fields (defaults to grouping by status).\n       * If, for example, grouping by language is passed, language values in response will be filled.\n       * If, for example, grouping by language is not passed, null values will be filled in language field in response.\n       */\n      groupBy?: TotalDraftPostsGroupingField[];\n      /** Optional language filter by provided language code. Useful in multilingual context. */\n      language?: string | null;\n  }\n  enum TotalDraftPostsGroupingField {\n      /** Groups results by status. */\n      STATUS = \"STATUS\",\n      /** Groups results by language. */\n      LANGUAGE = \"LANGUAGE\"\n  }\n  interface GetDraftPostTotalsResponse {\n      /** Draft post totals. */\n      totalDraftPosts?: TotalDraftPosts[];\n  }\n  interface TotalDraftPosts {\n      /** Draft post totals in that group. */\n      total?: number;\n      /** Draft post status (only has value when grouping by status, otherwise null). */\n      status?: Status$1;\n      /** Draft post language code (only has value when grouping by language, otherwise null). */\n      language?: string | null;\n  }\n  interface TranslateCategoryRequest {\n      /** Source category ID */\n      categoryId: string;\n      /** Translation language */\n      language: string;\n  }\n  interface TranslateCategoryResponse {\n      /** Translated category */\n      category?: Category$1;\n      /** Other translations of returned category */\n      translations?: CategoryTranslation$1[];\n  }\n  interface Category$1 {\n      /** Category ID. */\n      _id?: string;\n      /** Category label. Displayed in the Category Menu. */\n      label?: string;\n      /**\n       * Number of posts in the category.\n       * @readonly\n       */\n      postCount?: number;\n      /**\n       * The `url` of the page that lists every post with the specified category.\n       * @readonly\n       */\n      url?: string;\n      /** Category description. */\n      description?: string | null;\n      /**\n       * Category title.\n       * @deprecated Category title.\n       * @targetRemovalDate 2025-07-16\n       */\n      title?: string;\n      /**\n       * Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu).\n       * Categories are displayed in ascending order. Categories with a position of `-1` appear at the end of the sequence.\n       *\n       * Default: `-1`\n       */\n      displayPosition?: number | null;\n      /** ID of the category's translations. All translations of a single category share the same `translationId`. */\n      translationId?: string | null;\n      /**\n       * Category language.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /** Part of a category's URL that refers to a specific category. For example, the slug of `https:/example.com/blog/category/famous-cats` is `famous-cats`. */\n      slug?: string;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      internalId?: string | null;\n      /** SEO data. */\n      seoData?: SeoSchema$2;\n      /** Category cover image. */\n      coverImage?: string;\n      /**\n       * Category translations.\n       * @internal\n       * @readonly\n       */\n      translations?: CategoryTranslation$1[];\n      /**\n       * Date and time the Category was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface CategoryTranslation$1 {\n      /** Category ID. */\n      _id?: string;\n      /** Label displayed in the categories menu on the site. */\n      label?: string | null;\n      /** Language of the category. */\n      language?: string | null;\n      /** URL of this category page. */\n      url?: string;\n  }\n  interface TranslateDraftRequest {\n      /** Source post or draft ID */\n      postId: string;\n      /** Translation language */\n      language: string;\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n      /**\n       * Performs automatic translation of the title and the content of the draft post to the target language.\n       * @internal\n       */\n      useAutoTranslation?: boolean;\n  }\n  interface TranslateDraftResponse {\n      /** Draft post. */\n      draftPost?: DraftPost$1;\n  }\n  interface IsDraftPostAutoTranslatableRequest {\n      /** Source post or draft ID. */\n      draftPostId: string;\n  }\n  interface IsDraftPostAutoTranslatableResponse {\n      /** Source draft post ID. */\n      draftPostId?: string;\n      /** Indicates if enough machine translation credits are available for the draft post translation. */\n      translatable?: boolean;\n      /** Draft post title word count. */\n      titleWordCount?: number;\n      /** Draft post content word count. */\n      contentWordCount?: number;\n      /** Word credits available for auto translation. */\n      availableAutoTranslateWords?: number;\n      /** Word credits available after auto translation would be done. */\n      availableAutoTranslateWordsAfter?: number;\n  }\n  interface UpdateDraftPostLanguageRequest {\n      /** Source draft post ID */\n      postId: string;\n      /** New language to replace to */\n      language: string;\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface UpdateDraftPostLanguageResponse {\n      /** Draft post */\n      draftPost?: DraftPost$1;\n  }\n  interface BulkUpdateDraftPostLanguageRequest {\n      /** Source post or draft IDs */\n      ids?: string[];\n      /** New language to replace to */\n      language: string;\n      /** Should full draft post be returned */\n      returnFullEntity?: boolean;\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface BulkUpdateDraftPostLanguageResponse {\n      /** Bulk action results */\n      results?: BulkDraftPostResult[];\n      /** Bulk action metadata */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface GetPostAmountsByLanguageRequest {\n      /** Post status to filter by */\n      status: string;\n  }\n  interface GetPostAmountsByLanguageResponse {\n      /** Post amounts by language */\n      postAmountsByLanguage?: PostAmountByLanguage[];\n  }\n  interface PostAmountByLanguage {\n      /** Post language code */\n      languageCode?: string;\n      /** Language flag */\n      flag?: string;\n      /** Post amount in that language */\n      postAmount?: number;\n  }\n  interface BulkRevertToUnpublishedRequest {\n      /** Source post IDs. */\n      postIds: string[];\n      /** Should full draft post be returned. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkRevertToUnpublishedResponse {\n      /** Bulk action results. */\n      results?: BulkDraftPostResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkRejectDraftPostRequest {\n      /** Source post IDs. */\n      postIds: string[];\n      /** Should full draft post be returned. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkRejectDraftPostResponse {\n      /** Bulk action results. */\n      results?: BulkDraftPostResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface RevertToUnpublishedRequest {\n      /** Source post ID. */\n      postId: string;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface RevertToUnpublishedResponse {\n      /** Updated post draft. */\n      draftPost?: DraftPost$1;\n  }\n  interface RejectDraftPostRequest {\n      /** Source post ID. */\n      postId: string;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface RejectDraftPostResponse {\n      /** Draft post. */\n      draftPost?: DraftPost$1;\n  }\n  interface ApproveDraftPostRequest {\n      /** Source post ID. */\n      postId: string;\n      /** Scheduled publish date if should be not immediately published. */\n      scheduledPublishDate?: string | null;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface ApproveDraftPostResponse {\n      /** Updated post draft. */\n      draftPost?: DraftPost$1;\n  }\n  interface MarkPostAsInModerationRequest {\n      /** Source post ID. */\n      postId: string;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  interface MarkPostAsInModerationResponse {\n      /** Updated post draft. */\n      draftPost?: DraftPost$1;\n  }\n  /**\n   * Creates a draft post.\n   *\n   * The draft post's `memberId` is required for third-party apps.\n   * @param draftPost - Draft post to create.\n   * @public\n   * @requiredField draftPost\n   * @requiredField draftPost.title\n   * @param options - Options for creating a draft post.\n   * @permissionId BLOG.CREATE-DRAFT\n   * @adminMethod\n   */\n  function createDraftPost(draftPost: DraftPost$1, options?: CreateDraftPostOptions): Promise<CreateDraftPostResponse>;\n  interface CreateDraftPostOptions {\n      /**\n       * Should publish after creation.\n       * @internal\n       * @deprecated\n       * @replacedBy publish\n       * @targetRemovalDate 2024-06-30\n       */\n      shouldPublish?: boolean;\n      /**\n       * Whether the draft post should be published on creation.\n       *\n       * Default: `false`\n       */\n      publish?: boolean;\n      /**\n       * Save type.\n       * @internal\n       */\n      saveType?: Type$1;\n      /**\n       * Field mask of fields to be used for draft post creation.\n       * @internal\n       * @deprecated Field mask of fields to be used for draft post creation.\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldMask?: string[];\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Creates multiple draft posts.\n   * @param draftPosts - Draft posts to create.\n   * @public\n   * @requiredField draftPosts\n   * @requiredField draftPosts.title\n   * @param options - Options for creating multiple draft posts.\n   * @permissionId BLOG.CREATE-DRAFT\n   * @adminMethod\n   */\n  function bulkCreateDraftPosts(draftPosts: DraftPost$1[], options?: BulkCreateDraftPostsOptions): Promise<BulkCreateDraftPostsResponse>;\n  interface BulkCreateDraftPostsOptions {\n      /**\n       * Should publish after creation.\n       * @internal\n       * @deprecated Should publish after creation.\n       * @replacedBy publish\n       * @targetRemovalDate 2024-06-30\n       */\n      shouldPublish?: boolean;\n      /** Whether the draft post should be published after creation. */\n      publish?: boolean;\n      /**\n       * Save type.\n       * @internal\n       */\n      saveType?: Type$1;\n      /**\n       * Field mask of fields to be used for draft post creation.\n       * @internal\n       * @deprecated Field mask of fields to be used for draft post creation.\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldMask?: string[];\n      /** Whether to return the full created draft post entities in the response. */\n      returnFullEntity?: boolean;\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included if entities are present in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included in the response if the entities are present.\n       * Base default fieldset returns all core draft post properties (all properties that are not a supported fieldset value).\n       * For example,  when `URL` fieldset is selected, returned draft post will include the set of base properties and the draft post's preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Updates multiple draft posts.\n   * @public\n   * @requiredField options.draftPosts.draftPost\n   * @requiredField options.draftPosts.draftPost._id\n   * @param options - Options for updating multiple draft posts.\n   * @permissionId BLOG.EDIT-DRAFT\n   * @adminMethod\n   */\n  function bulkUpdateDraftPosts(options?: BulkUpdateDraftPostsOptions): Promise<BulkUpdateDraftPostsResponse>;\n  interface BulkUpdateDraftPostsOptions {\n      /** Draft posts to update. */\n      draftPosts?: MaskedDraftPosts[];\n      /**\n       * Action to perform on the posts.\n       *\n       * - `UPDATE`: Update the draft post.\n       * - `UPDATE_PUBLISH`: Update and publish the draft post.\n       * - `UPDATE_SCHEDULE`: Update the draft post and schedule a publish date.\n       * - `UPDATE_REVERT_TO_DRAFT`: Update the post and revert it to a draft post.\n       * - `UPDATE_CANCEL_SCHEDULE`: Update the draft post and cancel the scheduled publish date.\n       * - `UPDATE_REJECT`: Update and reject the draft post.\n       * - `UPDATE_PUBLICATION`: Update a published post. This creates and updates a draft version of the post. The original post is still published.\n       *\n       * Default: `UPDATE`\n       */\n      action?: Action;\n      /** Posts' scheduled publish date when `action` is set to `UPDATE_SCHEDULE`. */\n      scheduledPublishDate?: Date | null;\n      /**\n       * Save type.\n       * @internal\n       */\n      saveType?: Type$1;\n      /** Whether to return the full updated draft post entities in the response. */\n      returnFullEntity?: boolean;\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Retrieves a list of up to 100 deleted draft posts.\n   *\n   * List Deleted Draft Posts runs with these defaults, which you can override:\n   * - `editedDate` is sorted in descending order. In this case,`editedDate` implies the date the post was deleted.\n   * - `paging.limit` is `50`.\n   * - `paging.offset` is `0`.\n   * @public\n   * @param options - Options for listing deleted draft posts.\n   * @permissionId BLOG.READ_DRAFT\n   * @adminMethod\n   */\n  function listDeletedDraftPosts(options?: ListDeletedDraftPostsOptions): Promise<ListDeletedDraftPostsResponse>;\n  interface ListDeletedDraftPostsOptions {\n      /**\n       * Language filter.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If omitted, deleted draft posts in all languages are returned.\n       */\n      language?: string | null;\n      /**\n       * Sorting options.\n       *\n       * Default: `EDITING_DATE_DESCENDING`\n       */\n      sort?: GetDraftPostsSort;\n      /** Pagination options. */\n      paging?: BlogPaging$1;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n      /** Draft post ids. */\n      draftPostIds?: string[];\n  }\n  /**\n   * Gets a draft post by the provided ID.\n   *\n   * Uses the provided `draftPostId` to retrieve a draft post.\n   * @param draftPostId - Draft post ID.\n   * @public\n   * @requiredField draftPostId\n   * @param options - Options for getting a draft post.\n   * @permissionId BLOG.READ_DRAFT\n   * @adminMethod\n   */\n  function getDraftPost(draftPostId: string, options?: GetDraftPostOptions): Promise<GetDraftPostResponse>;\n  interface GetDraftPostOptions {\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included if entities are present in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Updates content of a specified draft post.\n   * @param draftPostId - Draft post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField draftPostId\n   * @permissionId BLOG.EDIT-DRAFT\n   * @adminMethod\n   */\n  function updateDraftPostContent(draftPostId: string, options?: UpdateDraftPostContentOptions): Promise<UpdateDraftPostContentResponse>;\n  interface UpdateDraftPostContentOptions extends UpdateDraftPostContentRequestDraftContentOneOf {\n      /** DraftJs content to update. */\n      content?: string;\n      /** Draft post rich content. */\n      richContent?: RichContent$1;\n      /** Change origin. */\n      changeOrigin?: Origin$1;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Updates a draft post.\n   * @param _id - Draft post ID.\n   * @public\n   * @requiredField _id\n   * @requiredField draftPost\n   * @param options - Options for updating a draft post.\n   * @param draftPost - Draft Post info.\n   * @permissionId BLOG.EDIT-DRAFT\n   * @adminMethod\n   */\n  function updateDraftPost(_id: string, draftPost: UpdateDraftPost, options?: UpdateDraftPostOptions): Promise<UpdateDraftPostResponse>;\n  interface UpdateDraftPost {\n      /**\n       * Draft post ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Draft post title. */\n      title?: string;\n      /**\n       * Draft post excerpt.\n       *\n       * If no excerpt has been manually set, an excerpt is automatically generated from the post's text.\n       * This can be retrieved using the `GENERATED_EXCERPT` fieldset.\n       */\n      excerpt?: string | null;\n      /** Whether the draft post is marked as featured. */\n      featured?: boolean | null;\n      /** Category IDs of the draft post. */\n      categoryIds?: string[];\n      /**\n       * __Deprecated.__ Use `media` instead.\n       * This property will be removed on June 6, 2023.\n       *\n       * Draft post cover media.\n       * @internal\n       * @deprecated\n       * @replacedBy media\n       * @targetRemovalDate 2024-06-30\n       */\n      coverMedia?: CoverMedia$1;\n      /** Draft post owner's member ID. */\n      memberId?: string | null;\n      /** Hashtags in the draft post. */\n      hashtags?: string[];\n      /** Whether commenting on the draft post is enabled. */\n      commentingEnabled?: boolean | null;\n      /**\n       * Estimated reading time of the draft post (calculated automatically).\n       * @readonly\n       */\n      minutesToRead?: number;\n      /** Image placed at the top of the blog page. */\n      heroImage?: string;\n      /** Tag IDs the draft post is tagged with. */\n      tagIds?: string[];\n      /** IDs of posts related to this draft post. */\n      relatedPostIds?: string[];\n      /** Pricing plan IDs. Only relevant if a post is assigned to a specific pricing plan. */\n      pricingPlanIds?: string[];\n      /**\n       * ID of the draft post's translations.\n       *\n       * All translations of a single post share the same `translationId`.\n       * Available only if the [Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) app is installed.\n       */\n      translationId?: string | null;\n      /**\n       * Language the draft post is written in.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      changeOrigin?: Origin$1;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      contentId?: string | null;\n      /** Reserved for internal use. */\n      editingSessionId?: string | null;\n      /** Draft post rich content. */\n      richContent?: RichContent$1;\n      /**\n       * Status of the draft post.\n       * @readonly\n       */\n      status?: Status$1;\n      /** Details of the draft post in review. Only relevant to posts submitted by guest writers. */\n      moderationDetails?: ModerationDetails$1;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      mostRecentContributorId?: string | null;\n      /**\n       * Indicates if there are changes made to the draft post that have not yet been published.\n       * @readonly\n       */\n      hasUnpublishedChanges?: boolean;\n      /**\n       * Date the draft post was last edited.\n       * @readonly\n       */\n      editedDate?: Date | null;\n      /**\n       * Date the draft post is scheduled to be published.\n       * @readonly\n       */\n      scheduledPublishDate?: Date | null;\n      /** Reserved for internal use. */\n      content?: Record<string, any> | null;\n      /** Date the post was first published. */\n      firstPublishedDate?: Date | null;\n      /** SEO data. */\n      seoData?: SeoSchema$2;\n      /**\n       * @internal Deprecated.\n       * @internal Deprecated.\n       * @deprecated\n       * @replacedBy preview_text_paragraph\n       * @targetRemovalDate 2024-06-30\n       */\n      paidContentParagraph?: number | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      slugs?: string[];\n      /**\n       * Draft post URL preview. What the URL will look like once the post is published.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Date the draft post was first created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** SEO slug. */\n      seoSlug?: string | null;\n      /** Post cover media. */\n      media?: Media$1;\n      /** Number of paragraphs to display in a paid content preview for non-paying users. */\n      previewTextParagraph?: number | null;\n      /**\n       * List of the post's translated posts.\n       * @internal\n       * @readonly\n       */\n      translations?: DraftPostTranslation$1[];\n      /**\n       * Reserved for internal use, not included in base response.\n       * @internal\n       */\n      originPostId?: string | null;\n      /**\n       * Reserved for internal use, not included in base response.\n       * @internal\n       */\n      originPostInstanceId?: string | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      internalId?: string | null;\n  }\n  interface UpdateDraftPostOptions {\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Should publish after update.\n       * @internal\n       * @deprecated Should publish after update.\n       * @replacedBy action\n       * @targetRemovalDate 2024-06-30\n       */\n      shouldPublish?: boolean;\n      /**\n       * Save type.\n       * @internal\n       */\n      saveType?: Type$1;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * Action to perform on the post.\n       *\n       * Default: `UPDATE`\n       */\n      action?: Action;\n      /** Post publish schedule date if `action` is set to `UPDATE_SCHEDULE`. */\n      scheduledPublishDate?: Date | null;\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Moves a draft post with the provided ID to the trash bin.\n   * A published post can also be deleted by its provided `draftPostId`.\n   *\n   * The optional `permanent` field enables you to delete a post permanently, bypassing the trash bin. When a draft post is deleted this way, it can't be restored.\n   * @param draftPostId - Draft post ID.\n   * @public\n   * @requiredField draftPostId\n   * @param options - Options for deleting a draft post.\n   * @permissionId BLOG.DELETE-DRAFT\n   * @adminMethod\n   */\n  function deleteDraftPost(draftPostId: string, options?: DeleteDraftPostOptions): Promise<void>;\n  interface DeleteDraftPostOptions {\n      /**\n       * Whether to bypass the trash bin and delete the post permanently.\n       *\n       * Default: `false`\n       */\n      permanent?: boolean;\n  }\n  /**\n   * Permanently deletes a draft post by the provided ID from the trash bin.\n   *\n   * Uses the provided `draftPostId` to permanently delete a draft post from the trash bin. This action is permanent and cannot be reversed.\n   * @param draftPostId - Draft post ID.\n   * @public\n   * @requiredField draftPostId\n   * @permissionId BLOG.DELETE-DRAFT\n   * @adminMethod\n   */\n  function removeFromTrashBin(draftPostId: string): Promise<void>;\n  /**\n   * Deletes multiple draft posts.\n   * @param postIds - Post IDs.\n   * @public\n   * @requiredField postIds\n   * @param options - Options for deleting multiple draft posts.\n   * @permissionId BLOG.DELETE-DRAFT\n   * @adminMethod\n   */\n  function bulkDeleteDraftPosts(postIds: string[], options?: BulkDeleteDraftPostsOptions): Promise<BulkDeleteDraftPostsResponse>;\n  interface BulkDeleteDraftPostsOptions {\n      /** Should delete bypassing the trash-bin. */\n      permanent?: boolean;\n  }\n  /**\n   * Retrieves a list of up to 100 draft posts per request.\n   *\n   * List Draft Posts runs with these defaults, which you can override:\n   * - `editedDate` is sorted in descending order.\n   * - `paging.limit` is `50`.\n   * - `paging.offset` is `0`.\n   * @public\n   * @param options - Options for listing multiple draft posts.\n   * @permissionId BLOG.READ_DRAFT\n   * @adminMethod\n   */\n  function listDraftPosts(options?: ListDraftPostsOptions): Promise<ListDraftPostsResponse>;\n  interface ListDraftPostsOptions {\n      /**\n       * Draft post status filter.\n       *\n       * If omitted, draft posts with all statuses are returned.\n       * `IN_MODERATION` is deprecated, use `IN_REVIEW` instead.\n       */\n      status?: Status$1;\n      /**\n       * Language filter.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If omitted, draft posts in all languages are returned.\n       */\n      language?: string | null;\n      /**\n       * Sort options.\n       *\n       * Default: `EDITING_DATE_DESCENDING`\n       */\n      sort?: GetDraftPostsSort;\n      /** Pagination options. */\n      paging?: BlogPaging$1;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-03-31\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Gets a deleted draft post from the trash bin by the provided ID.\n   *\n   * Uses the provided `draftPostId` to retrieve a previously deleted draft post from the trash bin.\n   * @param draftPostId - Draft post ID.\n   * @public\n   * @requiredField draftPostId\n   * @permissionId BLOG.READ_DRAFT\n   * @adminMethod\n   */\n  function getDeletedDraftPost(draftPostId: string): Promise<GetDeletedDraftPostResponse>;\n  /**\n   * Restores a deleted draft post from the trash bin by the provided ID.\n   *\n   * Uses the `draftPostId` to restore a deleted draft post from the trash bin.\n   * @param draftPostId - Draft post ID.\n   * @public\n   * @requiredField draftPostId\n   * @permissionId BLOG.EDIT-DRAFT\n   * @adminMethod\n   */\n  function restoreFromTrashBin(draftPostId: string): Promise<RestoreFromTrashBinResponse>;\n  /**\n   * Retrieves a list of up to 100 draft posts, given the provided paging, filtering, and sorting.\n   *\n   * Query Draft Posts runs with these defaults, which you can override:\n   * - `editedDate` is sorted in `DESC` order.\n   * - `paging.limit` is `50`.\n   * - `paging.offset` is `0`.\n   * @public\n   * @param options - Options for querying draft posts.\n   * @permissionId BLOG.READ_DRAFT\n   * @adminMethod\n   */\n  function queryDraftPosts(options?: QueryDraftPostsOptions): DraftPostsQueryBuilder;\n  interface QueryDraftPostsOptions {\n      /**\n       * Pagination options.\n       * @internal\n       * @deprecated Pagination options.\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      paging?: BlogPaging$1 | undefined;\n      /**\n       * Filter object.\n       * For a detailed list of supported filters, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @internal\n       * @deprecated Filter object.\n       * For a detailed list of supported filters, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      filter?: Record<string, any> | null | undefined;\n      /**\n       * Sorting options. For a list of sortable fields, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @internal\n       * @deprecated Sorting options. For a list of sortable fields, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      sort?: Sorting$2[] | undefined;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[] | undefined;\n      /**\n       * List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the draft post's base fields are returned.\n       */\n      fieldsets?: Field$2[] | undefined;\n  }\n  interface QueryCursorResult$1 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface DraftPostsQueryResult extends QueryCursorResult$1 {\n      items: DraftPost$1[];\n      query: DraftPostsQueryBuilder;\n      next: () => Promise<DraftPostsQueryResult>;\n      prev: () => Promise<DraftPostsQueryResult>;\n  }\n  interface DraftPostsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'title' | 'excerpt' | 'featured' | 'memberId' | 'commentingEnabled' | 'minutesToRead' | 'translationId' | 'language' | 'status' | 'hasUnpublishedChanges' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'title' | 'excerpt' | 'featured' | 'memberId' | 'commentingEnabled' | 'minutesToRead' | 'translationId' | 'language' | 'status' | 'hasUnpublishedChanges' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: 'minutesToRead' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: 'minutesToRead' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: 'minutesToRead' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: 'minutesToRead' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: 'title' | 'excerpt', value: string) => DraftPostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: '_id' | 'title' | 'excerpt' | 'categoryIds' | 'memberId' | 'hashtags' | 'tagIds' | 'pricingPlanIds' | 'language' | 'status', value: any[]) => DraftPostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasAll: (propertyName: 'categoryIds' | 'hashtags' | 'tagIds' | 'pricingPlanIds', value: any[]) => DraftPostsQueryBuilder;\n      in: (propertyName: 'title' | 'excerpt' | 'minutesToRead' | 'translationId' | 'language' | 'status' | 'editedDate' | 'scheduledPublishDate', value: any) => DraftPostsQueryBuilder;\n      exists: (propertyName: 'title' | 'excerpt' | 'translationId' | 'language' | 'status', value: boolean) => DraftPostsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | 'title' | 'excerpt' | 'featured' | 'commentingEnabled' | 'status' | 'hasUnpublishedChanges' | 'editedDate' | 'scheduledPublishDate'>) => DraftPostsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | 'title' | 'excerpt' | 'featured' | 'commentingEnabled' | 'status' | 'hasUnpublishedChanges' | 'editedDate' | 'scheduledPublishDate'>) => DraftPostsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => DraftPostsQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => DraftPostsQueryBuilder;\n      find: () => Promise<DraftPostsQueryResult>;\n  }\n  /**\n   * Publishes a specified draft post by ID. This creates a new post entity with the data from the draft post.\n   *\n   * If the specified draft post was already published, the published post will be updated with the latest values from the draft post entity.\n   * @param draftPostId - Draft post ID.\n   * @public\n   * @requiredField draftPostId\n   * @permissionId BLOG.PUBLISH-POST\n   * @adminMethod\n   */\n  function publishDraftPost(draftPostId: string): Promise<PublishDraftPostResponse>;\n  /**\n   * Reverts published post back to draft post making it invisible for the users.\n   * @param draftPostId - Draft post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField draftPostId\n   * @permissionId BLOG.PUBLISH-POST\n   * @adminMethod\n   */\n  function unpublishPost(draftPostId: string): Promise<void>;\n  /**\n   * Gets draft post totals grouped by fields.\n   * An example usage would be to group by status so one would know how many posts there are that are in PUBLISHED, UNPUBLISHED, DELETED, etc. statuses.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BLOG.SEARCH-OWN-DRAFTS\n   * @adminMethod\n   */\n  function getDraftPostTotals(options?: GetDraftPostTotalsOptions): Promise<GetDraftPostTotalsResponse>;\n  interface GetDraftPostTotalsOptions {\n      /**\n       * Group results by fields (defaults to grouping by status).\n       * If, for example, grouping by language is passed, language values in response will be filled.\n       * If, for example, grouping by language is not passed, null values will be filled in language field in response.\n       */\n      groupBy?: TotalDraftPostsGroupingField[];\n      /** Optional language filter by provided language code. Useful in multilingual context. */\n      language?: string | null;\n  }\n  /**\n   * Translates and returns translation of category for specified language.\n   * @param categoryId - Source category ID\n   * @param language - Translation language\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField language\n   * @permissionId BLOG.CREATE-CATEGORY\n   * @adminMethod\n   */\n  function translateCategory(categoryId: string, language: string): Promise<TranslateCategoryResponse>;\n  /**\n   * Creates and returns translation of a draft in specified language.\n   * @param postId - Source post or draft ID\n   * @param language - Translation language\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField language\n   * @requiredField postId\n   * @permissionId BLOG.CREATE-DRAFT\n   * @adminMethod\n   */\n  function translateDraft(postId: string, language: string, options?: TranslateDraftOptions): Promise<TranslateDraftResponse>;\n  interface TranslateDraftOptions {\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n      /**\n       * Performs automatic translation of the title and the content of the draft post to the target language.\n       * @internal\n       */\n      useAutoTranslation?: boolean;\n  }\n  /**\n   * Checks whether enough translation credits are available to auto translate a draft post.\n   * @param draftPostId - Source post or draft ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField draftPostId\n   * @permissionId BLOG.CREATE-DRAFT\n   * @adminMethod\n   */\n  function isDraftPostAutoTranslatable(draftPostId: string): Promise<IsDraftPostAutoTranslatableResponse>;\n  /**\n   * Updates draft post language and replaces its categories to the ones existing in specified language.\n   * @param postId - Source draft post ID\n   * @param language - New language to replace to\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField language\n   * @requiredField postId\n   * @permissionId BLOG.EDIT-DRAFT\n   * @adminMethod\n   */\n  function updateDraftPostLanguage(postId: string, language: string, options?: UpdateDraftPostLanguageOptions): Promise<UpdateDraftPostLanguageResponse>;\n  interface UpdateDraftPostLanguageOptions {\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Bulk updates draft post language and replaces its categories to the ones existing in specified language.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.language\n   * @permissionId BLOG.EDIT-DRAFT\n   * @adminMethod\n   */\n  function bulkUpdateDraftPostLanguage(options?: BulkUpdateDraftPostLanguageOptions): Promise<BulkUpdateDraftPostLanguageResponse>;\n  interface BulkUpdateDraftPostLanguageOptions {\n      /** Source post or draft IDs */\n      ids?: string[];\n      /** New language to replace to */\n      language: string;\n      /** Should full draft post be returned */\n      returnFullEntity?: boolean;\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Gets post amounts by each language in posts.\n   * @param status - Post status to filter by\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField status\n   * @permissionId BLOG.EDIT-DRAFT\n   * @adminMethod\n   */\n  function getPostAmountsByLanguage(status: string): Promise<GetPostAmountsByLanguageResponse>;\n  /**\n   * Reverts post status back from moderation to unpublished.\n   * @param postIds - Source post IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postIds\n   * @permissionId BLOG.EDIT-DRAFT\n   * @adminMethod\n   */\n  function bulkRevertToUnpublished(postIds: string[], options?: BulkRevertToUnpublishedOptions): Promise<BulkRevertToUnpublishedResponse>;\n  interface BulkRevertToUnpublishedOptions {\n      /** Should full draft post be returned. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Rejects draft post into unpublished status.\n   * @param postIds - Source post IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postIds\n   * @permissionId BLOG.PUBLISH-POST\n   * @adminMethod\n   */\n  function bulkRejectDraftPost(postIds: string[], options?: BulkRejectDraftPostOptions): Promise<BulkRejectDraftPostResponse>;\n  interface BulkRejectDraftPostOptions {\n      /** Should full draft post be returned. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Reverts post status back from moderation to unpublished.\n   * @param postId - Source post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId BLOG.EDIT-DRAFT\n   * @adminMethod\n   */\n  function revertToUnpublished(postId: string, options?: RevertToUnpublishedOptions): Promise<RevertToUnpublishedResponse>;\n  interface RevertToUnpublishedOptions {\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Deprecated on '2022-09-01'. Use DraftPostService.UpdateDraftPost.\n   * Rejects draft post into unpublished status.\n   * @param postId - Source post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId BLOG.PUBLISH-POST\n   * @adminMethod\n   */\n  function rejectDraftPost(postId: string, options?: RejectDraftPostOptions): Promise<RejectDraftPostResponse>;\n  interface RejectDraftPostOptions {\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Deprecated on '2022-09-01'. Use DraftPostService.UpdateDraftPost.\n   * Approves draft post by either publishing it or scheduling it for publish.\n   * @param postId - Source post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId BLOG.PUBLISH-POST\n   * @adminMethod\n   */\n  function approveDraftPost(postId: string, options?: ApproveDraftPostOptions): Promise<ApproveDraftPostResponse>;\n  interface ApproveDraftPostOptions {\n      /** Scheduled publish date if should be not immediately published. */\n      scheduledPublishDate?: string | null;\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  /**\n   * Updates post statuses to mark post as being in moderation.\n   * @param postId - Source post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId BLOG.EDIT-DRAFT\n   * @adminMethod\n   */\n  function markPostAsInModeration(postId: string, options?: MarkPostAsInModerationOptions): Promise<MarkPostAsInModerationResponse>;\n  interface MarkPostAsInModerationOptions {\n      /**\n       * List of draft post fields to be included in the response.\n       * @internal\n       * @deprecated List of draft post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: Field$2[];\n      /**\n       * List of draft post fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core draft post properties.\n       * Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.\n       */\n      fieldsets?: Field$2[];\n  }\n  \n  type blogV3Draft_universal_d_ButtonDataType = ButtonDataType;\n  const blogV3Draft_universal_d_ButtonDataType: typeof ButtonDataType;\n  type blogV3Draft_universal_d_V1Media = V1Media;\n  type blogV3Draft_universal_d_MediaMediaOneOf = MediaMediaOneOf;\n  type blogV3Draft_universal_d_InitialDraftPostsCopied = InitialDraftPostsCopied;\n  type blogV3Draft_universal_d_CreateDraftPostRequest = CreateDraftPostRequest;\n  type blogV3Draft_universal_d_CreateDraftPostResponse = CreateDraftPostResponse;\n  type blogV3Draft_universal_d_BulkCreateDraftPostsRequest = BulkCreateDraftPostsRequest;\n  type blogV3Draft_universal_d_BulkCreateDraftPostsResponse = BulkCreateDraftPostsResponse;\n  type blogV3Draft_universal_d_BulkDraftPostResult = BulkDraftPostResult;\n  type blogV3Draft_universal_d_BulkUpdateDraftPostsRequest = BulkUpdateDraftPostsRequest;\n  type blogV3Draft_universal_d_MaskedDraftPosts = MaskedDraftPosts;\n  type blogV3Draft_universal_d_Action = Action;\n  const blogV3Draft_universal_d_Action: typeof Action;\n  type blogV3Draft_universal_d_BulkUpdateDraftPostsResponse = BulkUpdateDraftPostsResponse;\n  type blogV3Draft_universal_d_DraftPostOwnerChanged = DraftPostOwnerChanged;\n  type blogV3Draft_universal_d_ListDeletedDraftPostsRequest = ListDeletedDraftPostsRequest;\n  type blogV3Draft_universal_d_GetDraftPostsSort = GetDraftPostsSort;\n  const blogV3Draft_universal_d_GetDraftPostsSort: typeof GetDraftPostsSort;\n  type blogV3Draft_universal_d_ListDeletedDraftPostsResponse = ListDeletedDraftPostsResponse;\n  type blogV3Draft_universal_d_GetDraftPostRequest = GetDraftPostRequest;\n  type blogV3Draft_universal_d_GetDraftPostResponse = GetDraftPostResponse;\n  type blogV3Draft_universal_d_UpdateDraftPostContentRequest = UpdateDraftPostContentRequest;\n  type blogV3Draft_universal_d_UpdateDraftPostContentRequestDraftContentOneOf = UpdateDraftPostContentRequestDraftContentOneOf;\n  type blogV3Draft_universal_d_UpdateDraftPostContentResponse = UpdateDraftPostContentResponse;\n  type blogV3Draft_universal_d_UpdateDraftPostRequest = UpdateDraftPostRequest;\n  type blogV3Draft_universal_d_UpdateDraftPostResponse = UpdateDraftPostResponse;\n  type blogV3Draft_universal_d_DeleteDraftPostRequest = DeleteDraftPostRequest;\n  type blogV3Draft_universal_d_DeleteDraftPostResponse = DeleteDraftPostResponse;\n  type blogV3Draft_universal_d_RemoveFromTrashBinRequest = RemoveFromTrashBinRequest;\n  type blogV3Draft_universal_d_RemoveFromTrashBinResponse = RemoveFromTrashBinResponse;\n  type blogV3Draft_universal_d_BulkDeleteDraftPostsRequest = BulkDeleteDraftPostsRequest;\n  type blogV3Draft_universal_d_BulkDeleteDraftPostsResponse = BulkDeleteDraftPostsResponse;\n  type blogV3Draft_universal_d_ListDraftPostsRequest = ListDraftPostsRequest;\n  type blogV3Draft_universal_d_ListDraftPostsResponse = ListDraftPostsResponse;\n  type blogV3Draft_universal_d_GetDeletedDraftPostRequest = GetDeletedDraftPostRequest;\n  type blogV3Draft_universal_d_GetDeletedDraftPostResponse = GetDeletedDraftPostResponse;\n  type blogV3Draft_universal_d_RestoreFromTrashBinRequest = RestoreFromTrashBinRequest;\n  type blogV3Draft_universal_d_RestoreFromTrashBinResponse = RestoreFromTrashBinResponse;\n  type blogV3Draft_universal_d_QueryDraftPostsRequest = QueryDraftPostsRequest;\n  type blogV3Draft_universal_d_QueryDraftPostsResponse = QueryDraftPostsResponse;\n  type blogV3Draft_universal_d_PublishDraftPostRequest = PublishDraftPostRequest;\n  type blogV3Draft_universal_d_PublishDraftPostResponse = PublishDraftPostResponse;\n  type blogV3Draft_universal_d_UnpublishPostRequest = UnpublishPostRequest;\n  type blogV3Draft_universal_d_UnpublishPostResponse = UnpublishPostResponse;\n  type blogV3Draft_universal_d_GetDraftPostTotalsRequest = GetDraftPostTotalsRequest;\n  type blogV3Draft_universal_d_TotalDraftPostsGroupingField = TotalDraftPostsGroupingField;\n  const blogV3Draft_universal_d_TotalDraftPostsGroupingField: typeof TotalDraftPostsGroupingField;\n  type blogV3Draft_universal_d_GetDraftPostTotalsResponse = GetDraftPostTotalsResponse;\n  type blogV3Draft_universal_d_TotalDraftPosts = TotalDraftPosts;\n  type blogV3Draft_universal_d_TranslateCategoryRequest = TranslateCategoryRequest;\n  type blogV3Draft_universal_d_TranslateCategoryResponse = TranslateCategoryResponse;\n  type blogV3Draft_universal_d_TranslateDraftRequest = TranslateDraftRequest;\n  type blogV3Draft_universal_d_TranslateDraftResponse = TranslateDraftResponse;\n  type blogV3Draft_universal_d_IsDraftPostAutoTranslatableRequest = IsDraftPostAutoTranslatableRequest;\n  type blogV3Draft_universal_d_IsDraftPostAutoTranslatableResponse = IsDraftPostAutoTranslatableResponse;\n  type blogV3Draft_universal_d_UpdateDraftPostLanguageRequest = UpdateDraftPostLanguageRequest;\n  type blogV3Draft_universal_d_UpdateDraftPostLanguageResponse = UpdateDraftPostLanguageResponse;\n  type blogV3Draft_universal_d_BulkUpdateDraftPostLanguageRequest = BulkUpdateDraftPostLanguageRequest;\n  type blogV3Draft_universal_d_BulkUpdateDraftPostLanguageResponse = BulkUpdateDraftPostLanguageResponse;\n  type blogV3Draft_universal_d_GetPostAmountsByLanguageRequest = GetPostAmountsByLanguageRequest;\n  type blogV3Draft_universal_d_GetPostAmountsByLanguageResponse = GetPostAmountsByLanguageResponse;\n  type blogV3Draft_universal_d_PostAmountByLanguage = PostAmountByLanguage;\n  type blogV3Draft_universal_d_BulkRevertToUnpublishedRequest = BulkRevertToUnpublishedRequest;\n  type blogV3Draft_universal_d_BulkRevertToUnpublishedResponse = BulkRevertToUnpublishedResponse;\n  type blogV3Draft_universal_d_BulkRejectDraftPostRequest = BulkRejectDraftPostRequest;\n  type blogV3Draft_universal_d_BulkRejectDraftPostResponse = BulkRejectDraftPostResponse;\n  type blogV3Draft_universal_d_RevertToUnpublishedRequest = RevertToUnpublishedRequest;\n  type blogV3Draft_universal_d_RevertToUnpublishedResponse = RevertToUnpublishedResponse;\n  type blogV3Draft_universal_d_RejectDraftPostRequest = RejectDraftPostRequest;\n  type blogV3Draft_universal_d_RejectDraftPostResponse = RejectDraftPostResponse;\n  type blogV3Draft_universal_d_ApproveDraftPostRequest = ApproveDraftPostRequest;\n  type blogV3Draft_universal_d_ApproveDraftPostResponse = ApproveDraftPostResponse;\n  type blogV3Draft_universal_d_MarkPostAsInModerationRequest = MarkPostAsInModerationRequest;\n  type blogV3Draft_universal_d_MarkPostAsInModerationResponse = MarkPostAsInModerationResponse;\n  const blogV3Draft_universal_d_createDraftPost: typeof createDraftPost;\n  type blogV3Draft_universal_d_CreateDraftPostOptions = CreateDraftPostOptions;\n  const blogV3Draft_universal_d_bulkCreateDraftPosts: typeof bulkCreateDraftPosts;\n  type blogV3Draft_universal_d_BulkCreateDraftPostsOptions = BulkCreateDraftPostsOptions;\n  const blogV3Draft_universal_d_bulkUpdateDraftPosts: typeof bulkUpdateDraftPosts;\n  type blogV3Draft_universal_d_BulkUpdateDraftPostsOptions = BulkUpdateDraftPostsOptions;\n  const blogV3Draft_universal_d_listDeletedDraftPosts: typeof listDeletedDraftPosts;\n  type blogV3Draft_universal_d_ListDeletedDraftPostsOptions = ListDeletedDraftPostsOptions;\n  const blogV3Draft_universal_d_getDraftPost: typeof getDraftPost;\n  type blogV3Draft_universal_d_GetDraftPostOptions = GetDraftPostOptions;\n  const blogV3Draft_universal_d_updateDraftPostContent: typeof updateDraftPostContent;\n  type blogV3Draft_universal_d_UpdateDraftPostContentOptions = UpdateDraftPostContentOptions;\n  const blogV3Draft_universal_d_updateDraftPost: typeof updateDraftPost;\n  type blogV3Draft_universal_d_UpdateDraftPost = UpdateDraftPost;\n  type blogV3Draft_universal_d_UpdateDraftPostOptions = UpdateDraftPostOptions;\n  const blogV3Draft_universal_d_deleteDraftPost: typeof deleteDraftPost;\n  type blogV3Draft_universal_d_DeleteDraftPostOptions = DeleteDraftPostOptions;\n  const blogV3Draft_universal_d_removeFromTrashBin: typeof removeFromTrashBin;\n  const blogV3Draft_universal_d_bulkDeleteDraftPosts: typeof bulkDeleteDraftPosts;\n  type blogV3Draft_universal_d_BulkDeleteDraftPostsOptions = BulkDeleteDraftPostsOptions;\n  const blogV3Draft_universal_d_listDraftPosts: typeof listDraftPosts;\n  type blogV3Draft_universal_d_ListDraftPostsOptions = ListDraftPostsOptions;\n  const blogV3Draft_universal_d_getDeletedDraftPost: typeof getDeletedDraftPost;\n  const blogV3Draft_universal_d_restoreFromTrashBin: typeof restoreFromTrashBin;\n  const blogV3Draft_universal_d_queryDraftPosts: typeof queryDraftPosts;\n  type blogV3Draft_universal_d_QueryDraftPostsOptions = QueryDraftPostsOptions;\n  type blogV3Draft_universal_d_DraftPostsQueryResult = DraftPostsQueryResult;\n  type blogV3Draft_universal_d_DraftPostsQueryBuilder = DraftPostsQueryBuilder;\n  const blogV3Draft_universal_d_publishDraftPost: typeof publishDraftPost;\n  const blogV3Draft_universal_d_unpublishPost: typeof unpublishPost;\n  const blogV3Draft_universal_d_getDraftPostTotals: typeof getDraftPostTotals;\n  type blogV3Draft_universal_d_GetDraftPostTotalsOptions = GetDraftPostTotalsOptions;\n  const blogV3Draft_universal_d_translateCategory: typeof translateCategory;\n  const blogV3Draft_universal_d_translateDraft: typeof translateDraft;\n  type blogV3Draft_universal_d_TranslateDraftOptions = TranslateDraftOptions;\n  const blogV3Draft_universal_d_isDraftPostAutoTranslatable: typeof isDraftPostAutoTranslatable;\n  const blogV3Draft_universal_d_updateDraftPostLanguage: typeof updateDraftPostLanguage;\n  type blogV3Draft_universal_d_UpdateDraftPostLanguageOptions = UpdateDraftPostLanguageOptions;\n  const blogV3Draft_universal_d_bulkUpdateDraftPostLanguage: typeof bulkUpdateDraftPostLanguage;\n  type blogV3Draft_universal_d_BulkUpdateDraftPostLanguageOptions = BulkUpdateDraftPostLanguageOptions;\n  const blogV3Draft_universal_d_getPostAmountsByLanguage: typeof getPostAmountsByLanguage;\n  const blogV3Draft_universal_d_bulkRevertToUnpublished: typeof bulkRevertToUnpublished;\n  type blogV3Draft_universal_d_BulkRevertToUnpublishedOptions = BulkRevertToUnpublishedOptions;\n  const blogV3Draft_universal_d_bulkRejectDraftPost: typeof bulkRejectDraftPost;\n  type blogV3Draft_universal_d_BulkRejectDraftPostOptions = BulkRejectDraftPostOptions;\n  const blogV3Draft_universal_d_revertToUnpublished: typeof revertToUnpublished;\n  type blogV3Draft_universal_d_RevertToUnpublishedOptions = RevertToUnpublishedOptions;\n  const blogV3Draft_universal_d_rejectDraftPost: typeof rejectDraftPost;\n  type blogV3Draft_universal_d_RejectDraftPostOptions = RejectDraftPostOptions;\n  const blogV3Draft_universal_d_approveDraftPost: typeof approveDraftPost;\n  type blogV3Draft_universal_d_ApproveDraftPostOptions = ApproveDraftPostOptions;\n  const blogV3Draft_universal_d_markPostAsInModeration: typeof markPostAsInModeration;\n  type blogV3Draft_universal_d_MarkPostAsInModerationOptions = MarkPostAsInModerationOptions;\n  namespace blogV3Draft_universal_d {\n    export {\n      DraftPost$1 as DraftPost,\n      CoverMedia$1 as CoverMedia,\n      CoverMediaMediaOneOf$1 as CoverMediaMediaOneOf,\n      FocalPoint$1 as FocalPoint,\n      Origin$1 as Origin,\n      RichContent$1 as RichContent,\n      Node$1 as Node,\n      NodeDataOneOf$1 as NodeDataOneOf,\n      NodeType$1 as NodeType,\n      NodeStyle$1 as NodeStyle,\n      ButtonData$1 as ButtonData,\n      Border$1 as Border,\n      Colors$1 as Colors,\n      PluginContainerData$1 as PluginContainerData,\n      WidthType$1 as WidthType,\n      PluginContainerDataWidth$1 as PluginContainerDataWidth,\n      PluginContainerDataWidthDataOneOf$1 as PluginContainerDataWidthDataOneOf,\n      PluginContainerDataAlignment$1 as PluginContainerDataAlignment,\n      Spoiler$1 as Spoiler,\n      Height$1 as Height,\n      blogV3Draft_universal_d_ButtonDataType as ButtonDataType,\n      Styles$1 as Styles,\n      Link$1 as Link,\n      LinkDataOneOf$1 as LinkDataOneOf,\n      Target$1 as Target,\n      Rel$1 as Rel,\n      CodeBlockData$1 as CodeBlockData,\n      TextStyle$1 as TextStyle,\n      TextAlignment$1 as TextAlignment,\n      DividerData$1 as DividerData,\n      LineStyle$1 as LineStyle,\n      Width$1 as Width,\n      Alignment$1 as Alignment,\n      FileData$1 as FileData,\n      ViewMode$1 as ViewMode,\n      FileSource$1 as FileSource,\n      FileSourceDataOneOf$1 as FileSourceDataOneOf,\n      PDFSettings$1 as PDFSettings,\n      GalleryData$1 as GalleryData,\n      blogV3Draft_universal_d_V1Media as V1Media,\n      Image$1 as Image,\n      Video$1 as Video,\n      Item$1 as Item,\n      ItemDataOneOf$1 as ItemDataOneOf,\n      GalleryOptions$1 as GalleryOptions,\n      LayoutType$1 as LayoutType,\n      Orientation$1 as Orientation,\n      Crop$1 as Crop,\n      ThumbnailsAlignment$1 as ThumbnailsAlignment,\n      Layout$1 as Layout,\n      ItemStyle$1 as ItemStyle,\n      Thumbnails$1 as Thumbnails,\n      GIFData$1 as GIFData,\n      GIF$1 as GIF,\n      HeadingData$1 as HeadingData,\n      HTMLData$1 as HTMLData,\n      HTMLDataDataOneOf$1 as HTMLDataDataOneOf,\n      Source$1 as Source,\n      ImageData$1 as ImageData,\n      LinkPreviewData$1 as LinkPreviewData,\n      MapData$1 as MapData,\n      MapSettings$1 as MapSettings,\n      MapType$1 as MapType,\n      ParagraphData$1 as ParagraphData,\n      PollData$1 as PollData,\n      ViewRole$1 as ViewRole,\n      VoteRole$1 as VoteRole,\n      Permissions$1 as Permissions,\n      Option$1 as Option,\n      PollSettings$1 as PollSettings,\n      PollLayoutType$1 as PollLayoutType,\n      PollLayoutDirection$1 as PollLayoutDirection,\n      PollLayout$1 as PollLayout,\n      OptionLayout$1 as OptionLayout,\n      BackgroundType$1 as BackgroundType,\n      Gradient$1 as Gradient,\n      Background$1 as Background,\n      BackgroundBackgroundOneOf$1 as BackgroundBackgroundOneOf,\n      PollDesign$1 as PollDesign,\n      OptionDesign$1 as OptionDesign,\n      Poll$1 as Poll,\n      PollDataLayout$1 as PollDataLayout,\n      Design$1 as Design,\n      TextData$1 as TextData,\n      Decoration$1 as Decoration,\n      DecorationDataOneOf$1 as DecorationDataOneOf,\n      DecorationType$1 as DecorationType,\n      AnchorData$1 as AnchorData,\n      ColorData$1 as ColorData,\n      LinkData$1 as LinkData,\n      MentionData$1 as MentionData,\n      FontSizeData$1 as FontSizeData,\n      FontType$1 as FontType,\n      SpoilerData$1 as SpoilerData,\n      AppEmbedData$1 as AppEmbedData,\n      AppEmbedDataAppDataOneOf$1 as AppEmbedDataAppDataOneOf,\n      AppType$1 as AppType,\n      BookingData$1 as BookingData,\n      EventData$1 as EventData,\n      VideoData$1 as VideoData,\n      PlaybackOptions$1 as PlaybackOptions,\n      EmbedData$1 as EmbedData,\n      Oembed$1 as Oembed,\n      CollapsibleListData$1 as CollapsibleListData,\n      InitialExpandedItems$1 as InitialExpandedItems,\n      Direction$1 as Direction,\n      TableData$1 as TableData,\n      Dimensions$1 as Dimensions,\n      TableCellData$1 as TableCellData,\n      VerticalAlignment$1 as VerticalAlignment,\n      CellStyle$1 as CellStyle,\n      BorderColors$1 as BorderColors,\n      NullValue$1 as NullValue,\n      ListValue$1 as ListValue,\n      AudioData$1 as AudioData,\n      OrderedListData$1 as OrderedListData,\n      BulletedListData$1 as BulletedListData,\n      BlockquoteData$1 as BlockquoteData,\n      CaptionData$1 as CaptionData,\n      Metadata$1 as Metadata,\n      DocumentStyle$1 as DocumentStyle,\n      TextNodeStyle$1 as TextNodeStyle,\n      Status$1 as Status,\n      ModerationDetails$1 as ModerationDetails,\n      ModerationStatusStatus$1 as ModerationStatusStatus,\n      SeoSchema$2 as SeoSchema,\n      Keyword$2 as Keyword,\n      Tag$2 as Tag,\n      Settings$2 as Settings,\n      Media$1 as Media,\n      blogV3Draft_universal_d_MediaMediaOneOf as MediaMediaOneOf,\n      WixMedia$1 as WixMedia,\n      VideoResolution$1 as VideoResolution,\n      EmbedMedia$1 as EmbedMedia,\n      EmbedThumbnail$1 as EmbedThumbnail,\n      EmbedVideo$1 as EmbedVideo,\n      DraftPostTranslation$1 as DraftPostTranslation,\n      blogV3Draft_universal_d_InitialDraftPostsCopied as InitialDraftPostsCopied,\n      blogV3Draft_universal_d_CreateDraftPostRequest as CreateDraftPostRequest,\n      Type$1 as Type,\n      Field$2 as Field,\n      blogV3Draft_universal_d_CreateDraftPostResponse as CreateDraftPostResponse,\n      blogV3Draft_universal_d_BulkCreateDraftPostsRequest as BulkCreateDraftPostsRequest,\n      blogV3Draft_universal_d_BulkCreateDraftPostsResponse as BulkCreateDraftPostsResponse,\n      blogV3Draft_universal_d_BulkDraftPostResult as BulkDraftPostResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      blogV3Draft_universal_d_BulkUpdateDraftPostsRequest as BulkUpdateDraftPostsRequest,\n      blogV3Draft_universal_d_MaskedDraftPosts as MaskedDraftPosts,\n      blogV3Draft_universal_d_Action as Action,\n      blogV3Draft_universal_d_BulkUpdateDraftPostsResponse as BulkUpdateDraftPostsResponse,\n      blogV3Draft_universal_d_DraftPostOwnerChanged as DraftPostOwnerChanged,\n      blogV3Draft_universal_d_ListDeletedDraftPostsRequest as ListDeletedDraftPostsRequest,\n      blogV3Draft_universal_d_GetDraftPostsSort as GetDraftPostsSort,\n      BlogPaging$1 as BlogPaging,\n      blogV3Draft_universal_d_ListDeletedDraftPostsResponse as ListDeletedDraftPostsResponse,\n      MetaData$2 as MetaData,\n      blogV3Draft_universal_d_GetDraftPostRequest as GetDraftPostRequest,\n      blogV3Draft_universal_d_GetDraftPostResponse as GetDraftPostResponse,\n      blogV3Draft_universal_d_UpdateDraftPostContentRequest as UpdateDraftPostContentRequest,\n      blogV3Draft_universal_d_UpdateDraftPostContentRequestDraftContentOneOf as UpdateDraftPostContentRequestDraftContentOneOf,\n      blogV3Draft_universal_d_UpdateDraftPostContentResponse as UpdateDraftPostContentResponse,\n      blogV3Draft_universal_d_UpdateDraftPostRequest as UpdateDraftPostRequest,\n      blogV3Draft_universal_d_UpdateDraftPostResponse as UpdateDraftPostResponse,\n      blogV3Draft_universal_d_DeleteDraftPostRequest as DeleteDraftPostRequest,\n      blogV3Draft_universal_d_DeleteDraftPostResponse as DeleteDraftPostResponse,\n      blogV3Draft_universal_d_RemoveFromTrashBinRequest as RemoveFromTrashBinRequest,\n      blogV3Draft_universal_d_RemoveFromTrashBinResponse as RemoveFromTrashBinResponse,\n      blogV3Draft_universal_d_BulkDeleteDraftPostsRequest as BulkDeleteDraftPostsRequest,\n      blogV3Draft_universal_d_BulkDeleteDraftPostsResponse as BulkDeleteDraftPostsResponse,\n      blogV3Draft_universal_d_ListDraftPostsRequest as ListDraftPostsRequest,\n      blogV3Draft_universal_d_ListDraftPostsResponse as ListDraftPostsResponse,\n      blogV3Draft_universal_d_GetDeletedDraftPostRequest as GetDeletedDraftPostRequest,\n      blogV3Draft_universal_d_GetDeletedDraftPostResponse as GetDeletedDraftPostResponse,\n      blogV3Draft_universal_d_RestoreFromTrashBinRequest as RestoreFromTrashBinRequest,\n      blogV3Draft_universal_d_RestoreFromTrashBinResponse as RestoreFromTrashBinResponse,\n      blogV3Draft_universal_d_QueryDraftPostsRequest as QueryDraftPostsRequest,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      PlatformQuery$2 as PlatformQuery,\n      PlatformQueryPagingMethodOneOf$2 as PlatformQueryPagingMethodOneOf,\n      Paging$2 as Paging,\n      CursorPaging$2 as CursorPaging,\n      blogV3Draft_universal_d_QueryDraftPostsResponse as QueryDraftPostsResponse,\n      PagingMetadataV2$2 as PagingMetadataV2,\n      Cursors$2 as Cursors,\n      blogV3Draft_universal_d_PublishDraftPostRequest as PublishDraftPostRequest,\n      blogV3Draft_universal_d_PublishDraftPostResponse as PublishDraftPostResponse,\n      blogV3Draft_universal_d_UnpublishPostRequest as UnpublishPostRequest,\n      blogV3Draft_universal_d_UnpublishPostResponse as UnpublishPostResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      blogV3Draft_universal_d_GetDraftPostTotalsRequest as GetDraftPostTotalsRequest,\n      blogV3Draft_universal_d_TotalDraftPostsGroupingField as TotalDraftPostsGroupingField,\n      blogV3Draft_universal_d_GetDraftPostTotalsResponse as GetDraftPostTotalsResponse,\n      blogV3Draft_universal_d_TotalDraftPosts as TotalDraftPosts,\n      blogV3Draft_universal_d_TranslateCategoryRequest as TranslateCategoryRequest,\n      blogV3Draft_universal_d_TranslateCategoryResponse as TranslateCategoryResponse,\n      Category$1 as Category,\n      CategoryTranslation$1 as CategoryTranslation,\n      blogV3Draft_universal_d_TranslateDraftRequest as TranslateDraftRequest,\n      blogV3Draft_universal_d_TranslateDraftResponse as TranslateDraftResponse,\n      blogV3Draft_universal_d_IsDraftPostAutoTranslatableRequest as IsDraftPostAutoTranslatableRequest,\n      blogV3Draft_universal_d_IsDraftPostAutoTranslatableResponse as IsDraftPostAutoTranslatableResponse,\n      blogV3Draft_universal_d_UpdateDraftPostLanguageRequest as UpdateDraftPostLanguageRequest,\n      blogV3Draft_universal_d_UpdateDraftPostLanguageResponse as UpdateDraftPostLanguageResponse,\n      blogV3Draft_universal_d_BulkUpdateDraftPostLanguageRequest as BulkUpdateDraftPostLanguageRequest,\n      blogV3Draft_universal_d_BulkUpdateDraftPostLanguageResponse as BulkUpdateDraftPostLanguageResponse,\n      blogV3Draft_universal_d_GetPostAmountsByLanguageRequest as GetPostAmountsByLanguageRequest,\n      blogV3Draft_universal_d_GetPostAmountsByLanguageResponse as GetPostAmountsByLanguageResponse,\n      blogV3Draft_universal_d_PostAmountByLanguage as PostAmountByLanguage,\n      blogV3Draft_universal_d_BulkRevertToUnpublishedRequest as BulkRevertToUnpublishedRequest,\n      blogV3Draft_universal_d_BulkRevertToUnpublishedResponse as BulkRevertToUnpublishedResponse,\n      blogV3Draft_universal_d_BulkRejectDraftPostRequest as BulkRejectDraftPostRequest,\n      blogV3Draft_universal_d_BulkRejectDraftPostResponse as BulkRejectDraftPostResponse,\n      blogV3Draft_universal_d_RevertToUnpublishedRequest as RevertToUnpublishedRequest,\n      blogV3Draft_universal_d_RevertToUnpublishedResponse as RevertToUnpublishedResponse,\n      blogV3Draft_universal_d_RejectDraftPostRequest as RejectDraftPostRequest,\n      blogV3Draft_universal_d_RejectDraftPostResponse as RejectDraftPostResponse,\n      blogV3Draft_universal_d_ApproveDraftPostRequest as ApproveDraftPostRequest,\n      blogV3Draft_universal_d_ApproveDraftPostResponse as ApproveDraftPostResponse,\n      blogV3Draft_universal_d_MarkPostAsInModerationRequest as MarkPostAsInModerationRequest,\n      blogV3Draft_universal_d_MarkPostAsInModerationResponse as MarkPostAsInModerationResponse,\n      blogV3Draft_universal_d_createDraftPost as createDraftPost,\n      blogV3Draft_universal_d_CreateDraftPostOptions as CreateDraftPostOptions,\n      blogV3Draft_universal_d_bulkCreateDraftPosts as bulkCreateDraftPosts,\n      blogV3Draft_universal_d_BulkCreateDraftPostsOptions as BulkCreateDraftPostsOptions,\n      blogV3Draft_universal_d_bulkUpdateDraftPosts as bulkUpdateDraftPosts,\n      blogV3Draft_universal_d_BulkUpdateDraftPostsOptions as BulkUpdateDraftPostsOptions,\n      blogV3Draft_universal_d_listDeletedDraftPosts as listDeletedDraftPosts,\n      blogV3Draft_universal_d_ListDeletedDraftPostsOptions as ListDeletedDraftPostsOptions,\n      blogV3Draft_universal_d_getDraftPost as getDraftPost,\n      blogV3Draft_universal_d_GetDraftPostOptions as GetDraftPostOptions,\n      blogV3Draft_universal_d_updateDraftPostContent as updateDraftPostContent,\n      blogV3Draft_universal_d_UpdateDraftPostContentOptions as UpdateDraftPostContentOptions,\n      blogV3Draft_universal_d_updateDraftPost as updateDraftPost,\n      blogV3Draft_universal_d_UpdateDraftPost as UpdateDraftPost,\n      blogV3Draft_universal_d_UpdateDraftPostOptions as UpdateDraftPostOptions,\n      blogV3Draft_universal_d_deleteDraftPost as deleteDraftPost,\n      blogV3Draft_universal_d_DeleteDraftPostOptions as DeleteDraftPostOptions,\n      blogV3Draft_universal_d_removeFromTrashBin as removeFromTrashBin,\n      blogV3Draft_universal_d_bulkDeleteDraftPosts as bulkDeleteDraftPosts,\n      blogV3Draft_universal_d_BulkDeleteDraftPostsOptions as BulkDeleteDraftPostsOptions,\n      blogV3Draft_universal_d_listDraftPosts as listDraftPosts,\n      blogV3Draft_universal_d_ListDraftPostsOptions as ListDraftPostsOptions,\n      blogV3Draft_universal_d_getDeletedDraftPost as getDeletedDraftPost,\n      blogV3Draft_universal_d_restoreFromTrashBin as restoreFromTrashBin,\n      blogV3Draft_universal_d_queryDraftPosts as queryDraftPosts,\n      blogV3Draft_universal_d_QueryDraftPostsOptions as QueryDraftPostsOptions,\n      blogV3Draft_universal_d_DraftPostsQueryResult as DraftPostsQueryResult,\n      blogV3Draft_universal_d_DraftPostsQueryBuilder as DraftPostsQueryBuilder,\n      blogV3Draft_universal_d_publishDraftPost as publishDraftPost,\n      blogV3Draft_universal_d_unpublishPost as unpublishPost,\n      blogV3Draft_universal_d_getDraftPostTotals as getDraftPostTotals,\n      blogV3Draft_universal_d_GetDraftPostTotalsOptions as GetDraftPostTotalsOptions,\n      blogV3Draft_universal_d_translateCategory as translateCategory,\n      blogV3Draft_universal_d_translateDraft as translateDraft,\n      blogV3Draft_universal_d_TranslateDraftOptions as TranslateDraftOptions,\n      blogV3Draft_universal_d_isDraftPostAutoTranslatable as isDraftPostAutoTranslatable,\n      blogV3Draft_universal_d_updateDraftPostLanguage as updateDraftPostLanguage,\n      blogV3Draft_universal_d_UpdateDraftPostLanguageOptions as UpdateDraftPostLanguageOptions,\n      blogV3Draft_universal_d_bulkUpdateDraftPostLanguage as bulkUpdateDraftPostLanguage,\n      blogV3Draft_universal_d_BulkUpdateDraftPostLanguageOptions as BulkUpdateDraftPostLanguageOptions,\n      blogV3Draft_universal_d_getPostAmountsByLanguage as getPostAmountsByLanguage,\n      blogV3Draft_universal_d_bulkRevertToUnpublished as bulkRevertToUnpublished,\n      blogV3Draft_universal_d_BulkRevertToUnpublishedOptions as BulkRevertToUnpublishedOptions,\n      blogV3Draft_universal_d_bulkRejectDraftPost as bulkRejectDraftPost,\n      blogV3Draft_universal_d_BulkRejectDraftPostOptions as BulkRejectDraftPostOptions,\n      blogV3Draft_universal_d_revertToUnpublished as revertToUnpublished,\n      blogV3Draft_universal_d_RevertToUnpublishedOptions as RevertToUnpublishedOptions,\n      blogV3Draft_universal_d_rejectDraftPost as rejectDraftPost,\n      blogV3Draft_universal_d_RejectDraftPostOptions as RejectDraftPostOptions,\n      blogV3Draft_universal_d_approveDraftPost as approveDraftPost,\n      blogV3Draft_universal_d_ApproveDraftPostOptions as ApproveDraftPostOptions,\n      blogV3Draft_universal_d_markPostAsInModeration as markPostAsInModeration,\n      blogV3Draft_universal_d_MarkPostAsInModerationOptions as MarkPostAsInModerationOptions,\n    };\n  }\n  \n  interface Post {\n      /**\n       * Post ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Post title. */\n      title?: string;\n      /**\n       * Post excerpt.\n       * Can be selected by a site contributor. By default, it is extracted from the content text's first characters.\n       *\n       * Max: 500 characters\n       */\n      excerpt?: string;\n      /**\n       * The post's content in plain text.\n       * @readonly\n       */\n      contentText?: string | null;\n      /** Date the post was first published. */\n      firstPublishedDate?: Date | null;\n      /**\n       * Date the post was last published.\n       * @readonly\n       */\n      lastPublishedDate?: Date | null;\n      /** Post URL. */\n      url?: string;\n      /**\n       * Part of a post's URL that refers to a specific post.\n       *\n       *\n       * For example, `'https:/example.com/posts/my-post-slug'`.\n       *\n       */\n      slug?: string;\n      /** Whether the post is marked as featured. */\n      featured?: boolean;\n      /** Whether the post is pinned. If `true`, the post is placed at the top of the post list. */\n      pinned?: boolean;\n      /**\n       * [Category IDs](https://www.wix.com/velo/reference/wix-blog-backend/categories) of the post.\n       *\n       */\n      categoryIds?: string[];\n      /**\n       * Reserved for internal use.\n       * @deprecated\n       * @replacedBy media\n       * @targetRemovalDate 2024-06-30\n       */\n      coverMedia?: CoverMedia;\n      /**\n       * Post owner's [member ID](https://www.wix.com/velo/reference/wix-members-backend).\n       *\n       */\n      memberId?: string;\n      /**\n       * Hashtags in the post.\n       * @readonly\n       */\n      hashtags?: string[];\n      /** Whether commenting on the post is enabled. */\n      commentingEnabled?: boolean;\n      /**\n       * Dynamic post count info Comment Count, Like Count, View Count.\n       * @internal\n       * @deprecated Dynamic post count info Comment Count, Like Count, View Count.\n       * @replacedBy metrics\n       * @targetRemovalDate 2024-06-30\n       */\n      postCountInfo?: PostCountInfo;\n      /** Estimated reading time. */\n      minutesToRead?: number;\n      /** Image placed at the top of the blog page. Only displays on mobile devices.  */\n      heroImage?: string;\n      /**\n       * IDs of [tags](https://www.wix.com/velo/reference/wix-blog-backend/tags) the post is tagged with.\n       *\n       * @readonly\n       */\n      tagIds?: string[];\n      /**\n       * IDs of posts related to the post.\n       * @readonly\n       */\n      relatedPostIds?: string[];\n      /**\n       * Pricing plan IDs.\n       *\n       *\n       * If a post is assigned to a specific pricing plan.\n       * @readonly\n       */\n      pricingPlanIds?: string[];\n      /** ID of the post's translations when [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-translating-your-blog) is installed on a site. All translations of a single post will share the same `translationId`. */\n      translationId?: string | null;\n      /**\n       * Language the post is written in.\n       *\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Reserved for internal use.\n       * @internal\n       * @deprecated\n       */\n      metrics?: Metrics;\n      /** SEO data. */\n      seoData?: SeoSchema$1;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      content?: string | null;\n      /**\n       * Post owner's [contact ID](https://www.wix.com/velo/reference/wix-crm-backend/contacts).\n       *\n       */\n      contactId?: string | null;\n      /**\n       * Post rich content\n       * @readonly\n       */\n      richContent?: RichContent;\n      /**\n       * Whether the returned content is a preview of premium content. Defaults to `false`.\n       * A preview displays a limited number of paragraphs of paid content to non-subscribed users.\n       * @readonly\n       */\n      preview?: boolean;\n      /** Reserved for internal use. */\n      contentId?: string | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      mostRecentContributorId?: string | null;\n      /**\n       * Post moderation details.\n       *\n       *\n       * Only relevant to posts submitted by [guest writers](https://support.wix.com/en/article/wix-blog-moderating-blog-posts-from-your-guest-writers). Guest writers have the ability to write posts but not publish them. These posts can be rejected or approved for publishing by a blog editor or site owner.\n       * @readonly\n       */\n      moderationDetails?: ModerationDetails;\n      /** Post cover media. */\n      media?: BlogMedia;\n      /**\n       * Post rich content as a string\n       * @internal\n       * @readonly\n       */\n      richContentString?: string | null;\n      /**\n       * Post rich content as compressed binary data\n       * @internal\n       * @readonly\n       */\n      richContentCompressed?: Uint8Array | null;\n      /**\n       * Indicates if there is a draft post with changes that have not yet been published.\n       * @readonly\n       */\n      hasUnpublishedChanges?: boolean;\n      /**\n       * List of the post's translated posts.\n       * @internal\n       * @readonly\n       */\n      translations?: PostTranslation[];\n      /**\n       * Identifies whether excerpt was set by contributor.\n       * True - excerpt was set by contributor.\n       * False - excerpt was generated from content.\n       * @internal\n       * @readonly\n       */\n      customExcerpt?: boolean;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      internalId?: string | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      internalCategoryIds?: string[];\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      internalRelatedPostIds?: string[];\n      /**\n       * Identifies if post is created from template\n       * Reserved for internal use.\n       * @internal\n       * @readonly\n       */\n      isDemo?: boolean | null;\n  }\n  interface CoverMedia extends CoverMediaMediaOneOf {\n      /** Image url. */\n      image?: string;\n      /** Video url. */\n      video?: string;\n      /**\n       * Is cover media enabled.\n       * Selected by user whether to display cover media on the feed\n       * @deprecated Is cover media enabled.\n       * Selected by user whether to display cover media on the feed\n       * @replacedBy displayed\n       * @targetRemovalDate 2024-06-30\n       */\n      enabled?: boolean;\n      /** Whether cover media is displayed. */\n      displayed?: boolean;\n      /**\n       * Whether the cover media is custom.\n       *\n       * `false` if the cover media is the first image or video in the post. `true` if set to some other image or video.\n       */\n      custom?: boolean;\n  }\n  /** @oneof */\n  interface CoverMediaMediaOneOf {\n      /** Image url. */\n      image?: string;\n      /** Video url. */\n      video?: string;\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface PostCountInfo {\n      /**\n       * Total number of post comments\n       * @readonly\n       */\n      comments?: number;\n      /**\n       * Total number of post likes\n       * @readonly\n       */\n      likes?: number;\n      /**\n       * Total number of post views\n       * @readonly\n       */\n      views?: number;\n  }\n  interface Metrics {\n      /**\n       * Total number of post comments.\n       * @readonly\n       */\n      comments?: number;\n      /**\n       * Total number of post likes.\n       * @readonly\n       */\n      likes?: number;\n      /**\n       * Total number of post views.\n       * @readonly\n       */\n      views?: number;\n      /**\n       * Total number of post ratings.\n       * @internal\n       * @readonly\n       */\n      totalRatings?: number;\n      /**\n       * Average rating of post from 1 to 5.\n       * @internal\n       * @readonly\n       */\n      averageRating?: number;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$1 {\n      /** SEO tag information. */\n      tags?: Tag$1[];\n      /** SEO general settings. */\n      settings?: Settings$1;\n  }\n  interface Keyword$1 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n  }\n  interface Tag$1 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$1 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$1[];\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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. */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface PollSettings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: PollSettings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface CaptionData {\n      textStyle?: TextStyle;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date | null;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface ModerationDetails {\n      /** Member ID of the person who submitted the post. */\n      submittedBy?: string;\n      /** Date and time the post was submitted for moderation. */\n      submittedDate?: Date | null;\n      /** Status indicating whether the submission was approved or rejected by the moderator. */\n      status?: ModerationStatusStatus;\n      /** Member ID of the person who approved or rejected the post. */\n      moderatedBy?: string | null;\n      /** Date and time the post was approved or rejected by a moderator. */\n      moderationDate?: Date | null;\n  }\n  enum ModerationStatusStatus {\n      UNKNOWN = \"UNKNOWN\",\n      APPROVED = \"APPROVED\",\n      REJECTED = \"REJECTED\"\n  }\n  interface BlogMedia extends BlogMediaMediaOneOf {\n      /** Wix Media details. */\n      wixMedia?: WixMedia;\n      /** Embed media details. */\n      embedMedia?: EmbedMedia;\n      /** Whether cover media is displayed. */\n      displayed?: boolean;\n      /**\n       * Whether the media is custom.\n       *\n       *\n       * `false` if the media is the first image or video in the post. `true` if set to some other image or video.\",\n       */\n      custom?: boolean;\n  }\n  /** @oneof */\n  interface BlogMediaMediaOneOf {\n      /** Wix Media details. */\n      wixMedia?: WixMedia;\n      /** Embed media details. */\n      embedMedia?: EmbedMedia;\n  }\n  interface WixMedia {\n      /** Image details. */\n      image?: string;\n      /** Video details. */\n      videoV2?: string;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface EmbedMedia {\n      /** Thumbnail details. */\n      thumbnail?: EmbedThumbnail;\n      /** Video details. */\n      video?: EmbedVideo;\n  }\n  interface EmbedThumbnail {\n      /** Thumbnail url. */\n      url?: string;\n      /** Thumbnail width. */\n      width?: number;\n      /** Thumbnail height. */\n      height?: number;\n  }\n  interface EmbedVideo {\n      /** Video url. */\n      url?: string;\n      /** Video width. */\n      width?: number;\n      /** Video height. */\n      height?: number;\n  }\n  interface PostTranslation {\n      /** Post ID. */\n      _id?: string;\n      /** Language the post is written in. */\n      language?: string | null;\n      /** Post slug. For example, 'post-slug'. */\n      slug?: string | null;\n      /** SEO data. */\n      seoData?: SeoSchema$1;\n      /** Post URL. */\n      url?: string;\n  }\n  interface OldBlogMigratedEvent {\n      /** Instance id of new version of blog */\n      newBlogInstanceId?: string;\n      /** Instance id of old version of blog */\n      oldBlogInstanceId?: string;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ConvertDraftJsToRichContentRequest {\n      /** DraftJs content to convert to Rich content. */\n      content?: Record<string, any> | null;\n  }\n  interface ConvertDraftJsToRichContentResponse {\n      /** Rich content converted from DraftJs content. */\n      richContent?: string;\n  }\n  interface ConvertRichContentToDraftJsRequest {\n      /** Rich content to convert to DraftJs content. */\n      richContent?: string;\n  }\n  interface ConvertRichContentToDraftJsResponse {\n      /** DraftJs content converted from Rich content. */\n      content?: Record<string, any> | null;\n  }\n  interface ListDemoPostsRequest {\n      /**\n       * Whether to return only featured posts.\n       *\n       * Default: `false`\n       */\n      featured?: boolean;\n      /**\n       * Hashtag filter.\n       *\n       * Pass an array of hashtags to return only posts containing any of the provided hashtags.\n       * If omitted, all posts with or without hashtags are returned.\n       */\n      hashtags?: string[];\n      /**\n       * Category filter.\n       *\n       * Pass an array of category IDs to return only posts with any of the provided categories.\n       * If omitted, all posts with or without associated categories are returned.\n       */\n      categoryIds?: string[];\n      /**\n       * Tag filter.\n       *\n       * Pass an array of tag IDs to return only posts with any of the provided tags.\n       * If omitted, all posts with or without tags are returned.\n       */\n      tagIds?: string[];\n      /**\n       * Sorting options.\n       *\n       * - `FEED`: Ordered by `firstPublishedDate` in descending order with pinned posts first.\n       * - `VIEW_COUNT`: Ordered by total number of views in descending order.\n       * - `LIKE_COUNT`: Ordered by total number of likes in descending order.\n       * - `PUBLISHED_DATE_ASC`: Ordered by `firstPublishedDate` in ascending order.\n       * - `PUBLISHED_DATE_DESC`: Ordered by `firstPublishedDate` in descending order.\n       * - `TITLE_ASC`: Ordered by `title` in ascening order.\n       * - `TITLE_DESC`: Ordered by `title` in descending order.\n       * - `RATING`: reserved for internal use.\n       *\n       * Default: `FEED`\n       */\n      sort?: GetPostsSort;\n      /** Pagination options. */\n      paging?: BlogPaging;\n      /**\n       * __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @deprecated __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: PostFieldField[];\n      /**\n       * Language filter.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Pass a language to only receive posts that are in that language.\n       * If omitted, posts in all languages are returned.\n       */\n      language?: string | null;\n      /** Post owner's member ID. */\n      memberId?: string | null;\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  enum GetPostsSort {\n      /** Ordered by `firstPublishedDate` in descending order with pinned posts first. */\n      FEED = \"FEED\",\n      /** Ordered by `firstPublishedDate` in ascending order. */\n      PUBLISHED_DATE_ASC = \"PUBLISHED_DATE_ASC\",\n      /** Ordered by `firstPublishedDate` in descending order. */\n      PUBLISHED_DATE_DESC = \"PUBLISHED_DATE_DESC\",\n      /** Ordered by total number of views in descending order. */\n      VIEW_COUNT = \"VIEW_COUNT\",\n      /** Ordered by total number of likes in descending order. */\n      LIKE_COUNT = \"LIKE_COUNT\",\n      /** Ordered by `title` in ascening order. */\n      TITLE_ASC = \"TITLE_ASC\",\n      /** Ordered by `title` in descending order. */\n      TITLE_DESC = \"TITLE_DESC\",\n      /** Sorting by post rating descending. */\n      RATING = \"RATING\"\n  }\n  interface BlogPaging {\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       *\n       * Default: `0`\n       */\n      offset?: number;\n      /**\n       * Number of items to return.\n       *\n       *\n       * Default:`50`\n       */\n      limit?: number;\n      /** Pointer to the next or previous page in the list of results. */\n      cursor?: string | null;\n  }\n  enum PostFieldField {\n      UNKNOWN = \"UNKNOWN\",\n      /** Deprecated use `METRICS` instead. */\n      COUNTERS = \"COUNTERS\",\n      /** Includes Post url when present. */\n      URL = \"URL\",\n      /** Includes Post content text string when present. */\n      CONTENT_TEXT = \"CONTENT_TEXT\",\n      /** Includes Post metrics when present. */\n      METRICS = \"METRICS\",\n      /** Includes SEO data. */\n      SEO = \"SEO\",\n      /**\n       * Includes Post content as a stringified DraftJS document.\n       * Reserved for internal use.\n       */\n      CONTENT = \"CONTENT\",\n      /**\n       * Includes internal id field.\n       * Reserved for internal use.\n       */\n      INTERNAL_ID = \"INTERNAL_ID\",\n      /** Includes post owners Contact Id. */\n      CONTACT_ID = \"CONTACT_ID\",\n      /** Includes post rich content. */\n      RICH_CONTENT = \"RICH_CONTENT\",\n      /** Includes post rich content string. */\n      RICH_CONTENT_STRING = \"RICH_CONTENT_STRING\",\n      /** Includes compressed post rich content string. */\n      RICH_CONTENT_COMPRESSED = \"RICH_CONTENT_COMPRESSED\",\n      /** Includes post translations. */\n      TRANSLATIONS = \"TRANSLATIONS\"\n  }\n  interface ListDemoPostsResponse {\n      /** List of posts. */\n      posts?: Post[];\n      /** Details on the paged set of results returned. */\n      metaData?: MetaData$1;\n  }\n  interface MetaData$1 {\n      /** Number of items returned in this response. */\n      count?: number;\n      /**\n       * Number of items skipped in the current sort order.\n       *\n       *\n       */\n      offset?: number;\n      /** Total number of items that match the query. */\n      total?: number;\n      /** Pointer to the next or previous page in the list of results. */\n      cursor?: string | null;\n  }\n  interface ListTemplatesRequest {\n      /** Filter post templates by given template category ids */\n      categoryIds?: string[];\n      /** Filter post templates by provided language */\n      language?: string | null;\n      /** Returns post template categories when set to TRUE */\n      listTemplateCategories?: boolean;\n      /** Sort order by ascending/descending publish date. Default is ascending publish date sort */\n      sort?: GetPostTemplatesSort;\n      /** Pagination options. */\n      paging?: BlogPaging;\n  }\n  enum GetPostTemplatesSort {\n      /** Sort by ascending publishing date. */\n      PUBLISHED_DATE_ASC = \"PUBLISHED_DATE_ASC\",\n      /** Sort by descending publishing date. */\n      PUBLISHED_DATE_DESC = \"PUBLISHED_DATE_DESC\"\n  }\n  interface ListTemplatesResponse {\n      /** Available post templates */\n      postTemplates?: Post[];\n      /** Details on the paged set of posts templates returned. */\n      postTemplatesMetaData?: MetaData$1;\n      /** Post template categories. This value is returned empty unless asked explicitly */\n      templateCategories?: Category[];\n  }\n  interface Category {\n      /** Category ID. */\n      _id?: string;\n      /** Category label. Displayed in the Category Menu. */\n      label?: string;\n      /**\n       * Number of posts in the category.\n       * @readonly\n       */\n      postCount?: number;\n      /**\n       * The `url` of the page that lists every post with the specified category.\n       * @readonly\n       */\n      url?: string;\n      /** Category description. */\n      description?: string | null;\n      /**\n       * Category title.\n       * @deprecated Category title.\n       * @targetRemovalDate 2025-07-16\n       */\n      title?: string;\n      /**\n       * Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu).\n       * Categories are displayed in ascending order. Categories with a position of `-1` appear at the end of the sequence.\n       *\n       * Default: `-1`\n       */\n      displayPosition?: number | null;\n      /** ID of the category's translations. All translations of a single category share the same `translationId`. */\n      translationId?: string | null;\n      /**\n       * Category language.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /** Part of a category's URL that refers to a specific category. For example, the slug of `https:/example.com/blog/category/famous-cats` is `famous-cats`. */\n      slug?: string;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      internalId?: string | null;\n      /** SEO data. */\n      seoData?: SeoSchema$1;\n      /** Category cover image. */\n      coverImage?: string;\n      /**\n       * Category translations.\n       * @internal\n       * @readonly\n       */\n      translations?: CategoryTranslation[];\n      /**\n       * Date and time the Category was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface CategoryTranslation {\n      /** Category ID. */\n      _id?: string;\n      /** Label displayed in the categories menu on the site. */\n      label?: string | null;\n      /** Language of the category. */\n      language?: string | null;\n      /** URL of this category page. */\n      url?: string;\n  }\n  interface GetTemplateRequest {\n      /** Post template id */\n      postTemplateId: string;\n  }\n  interface GetTemplateResponse {\n      /** Post template */\n      postTemplate?: Post;\n  }\n  interface CreateDraftPostFromTemplateRequest {\n      /** Post template id */\n      postTemplateId: string;\n  }\n  interface CreateDraftPostFromTemplateResponse {\n      /** Created draft post */\n      draftPost?: DraftPost;\n  }\n  interface DraftPost {\n      /**\n       * Draft post ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Draft post title. */\n      title?: string;\n      /**\n       * Draft post excerpt.\n       *\n       * If no excerpt has been manually set, an excerpt is automatically generated from the post's text.\n       * This can be retrieved using the `GENERATED_EXCERPT` fieldset.\n       */\n      excerpt?: string | null;\n      /** Whether the draft post is marked as featured. */\n      featured?: boolean | null;\n      /** Category IDs of the draft post. */\n      categoryIds?: string[];\n      /**\n       * __Deprecated.__ Use `media` instead.\n       * This property will be removed on June 6, 2023.\n       *\n       * Draft post cover media.\n       * @internal\n       * @deprecated\n       * @replacedBy media\n       * @targetRemovalDate 2024-06-30\n       */\n      coverMedia?: CoverMedia;\n      /** Draft post owner's member ID. */\n      memberId?: string | null;\n      /** Hashtags in the post. */\n      hashtags?: string[];\n      /** Whether commenting on the draft post is enabled. */\n      commentingEnabled?: boolean | null;\n      /**\n       * Estimated reading time of the draft post (calculated automatically).\n       * @readonly\n       */\n      minutesToRead?: number;\n      /** Image placed at the top of the blog page. */\n      heroImage?: string;\n      /** Tag IDs the draft post is tagged with. */\n      tagIds?: string[];\n      /** IDs of posts related to this draft post. */\n      relatedPostIds?: string[];\n      /** [Pricing plan IDs](https://dev.wix.com/api/rest/wix-pricing-plans). Only relevant if a post is assigned to a specific pricing plan. */\n      pricingPlanIds?: string[];\n      /**\n       * ID of the draft post's translations.\n       *\n       * All translations of a single post share the same `translationId`.\n       * Available only if the [Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) app is installed.\n       */\n      translationId?: string | null;\n      /**\n       * Language the draft post is written in.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      changeOrigin?: Origin;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      contentId?: string | null;\n      /** Reserved for internal use. */\n      editingSessionId?: string | null;\n      /**\n       * Draft Post rich content.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"image.gallery.video.audio.divider.linkButton.html.giphy.codeBlock.file.hashtag.lineSpacing.indent.link.textColor.textHighlight.heading.verticalEmbed.table.collapsibleList.poll\" exampleid=\"72c23a25-524f-4f70-a260-4a2777b6f5d5\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       */\n      richContent?: RichContent;\n      /**\n       * Status of the draft post.\n       * @readonly\n       */\n      status?: Status;\n      /** Details of the draft post in review. Only relevant to posts submitted by guest writers. */\n      moderationDetails?: ModerationDetails;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      mostRecentContributorId?: string | null;\n      /**\n       * Indicates if there are changes made to the draft post that have not yet been published.\n       * @readonly\n       */\n      hasUnpublishedChanges?: boolean;\n      /**\n       * Date the draft post was last edited.\n       * @readonly\n       */\n      editedDate?: Date | null;\n      /**\n       * Date the draft post is scheduled to be published.\n       * @readonly\n       */\n      scheduledPublishDate?: Date | null;\n      /** Reserved for internal use. */\n      content?: Record<string, any> | null;\n      /** Date the post was first published. */\n      firstPublishedDate?: Date | null;\n      /** SEO data. */\n      seoData?: SeoSchema$1;\n      /**\n       * Reserved for internal use.\n       * @deprecated\n       * @replacedBy preview_text_paragraph\n       * @targetRemovalDate 2024-06-30\n       */\n      paidContentParagraph?: number | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      slugs?: string[];\n      /**\n       * Draft post URL preview. What the URL will look like once the post is published.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Date the draft post was first created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** SEO slug. */\n      seoSlug?: string | null;\n      /** Post cover media. */\n      media?: BlogMedia;\n      /** Number of paragraphs to display in a paid content preview for non-paying users. */\n      previewTextParagraph?: number | null;\n      /**\n       * List of the post's translated posts.\n       * @internal\n       * @readonly\n       */\n      translations?: DraftPostTranslation[];\n      /**\n       * Reserved for internal use, not included in base response.\n       * @internal\n       */\n      originPostId?: string | null;\n      /**\n       * Reserved for internal use, not included in base response.\n       * @internal\n       */\n      originPostInstanceId?: string | null;\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      internalId?: string | null;\n  }\n  enum Origin {\n      UNKNOWN = \"UNKNOWN\",\n      /** Changed by admin */\n      ADMIN = \"ADMIN\",\n      /** Categories were changed */\n      ADD_CATEGORIES = \"ADD_CATEGORIES\",\n      /** Saved automatically */\n      AUTO_SAVE = \"AUTO_SAVE\",\n      /** Copied from template */\n      COPY_TEMPLATE = \"COPY_TEMPLATE\",\n      /** Imported */\n      IMPORT = \"IMPORT\",\n      /** Imported in bulk */\n      IMPORT_BULK = \"IMPORT_BULK\",\n      /** Imported with html import */\n      IMPORT_HTML = \"IMPORT_HTML\",\n      /** Patch import */\n      IMPORT_PATCH = \"IMPORT_PATCH\",\n      /** Changed language */\n      LANGUAGE_CHANGE = \"LANGUAGE_CHANGE\",\n      /** Saved manually */\n      MANUAL_SAVE = \"MANUAL_SAVE\",\n      /** Affected by migration */\n      MIGRATION = \"MIGRATION\",\n      /** Affected by moderation */\n      MODERATION = \"MODERATION\",\n      /** Moved to trash */\n      MOVE_TO_TRASH = \"MOVE_TO_TRASH\",\n      /** Pricing plans were changed */\n      PRICING_PLANS_CHANGE = \"PRICING_PLANS_CHANGE\",\n      /** Was provisioned */\n      PROVISION = \"PROVISION\",\n      /** Was published */\n      PUBLISH = \"PUBLISH\",\n      /** Owner was reassigned */\n      REASSIGN_OWNER = \"REASSIGN_OWNER\",\n      /** Was reblogged */\n      REBLOG = \"REBLOG\",\n      /** Was restored */\n      RESTORE = \"RESTORE\",\n      /** Reverted to draft */\n      REVERT_TO_DRAFT = \"REVERT_TO_DRAFT\",\n      /** Was translated */\n      TRANSLATION = \"TRANSLATION\",\n      /** Was unpublished */\n      UNPUBLISH = \"UNPUBLISH\",\n      /** Was unscheduled */\n      UNSCHEDULE = \"UNSCHEDULE\",\n      /** New edit session started which updated editing_session_id id */\n      NEW_EDIT_SESSION = \"NEW_EDIT_SESSION\",\n      /** Was scheduled by Later */\n      SCHEDULING_SERVICE_SCHEDULE = \"SCHEDULING_SERVICE_SCHEDULE\",\n      /** Was unscheduled by Later */\n      SCHEDULING_SERVICE_UNSCHEDULE = \"SCHEDULING_SERVICE_UNSCHEDULE\",\n      /** Was published by Later */\n      SCHEDULING_SERVICE_PUBLISH = \"SCHEDULING_SERVICE_PUBLISH\",\n      /** Was scheduled */\n      SCHEDULE = \"SCHEDULE\",\n      /** Was removed from moderation */\n      REMOVE_FROM_MODERATION = \"REMOVE_FROM_MODERATION\",\n      /** Was rejected from moderation */\n      REJECT_FROM_MODERATION = \"REJECT_FROM_MODERATION\",\n      /** Was approved in moderation */\n      APPROVE_IN_MODERATION = \"APPROVE_IN_MODERATION\",\n      /** Tag was deleted */\n      DELETE_TAG = \"DELETE_TAG\",\n      /** Post was pinned */\n      PIN = \"PIN\",\n      /** Post was unpinned */\n      UNPIN = \"UNPIN\",\n      /** Saved automatically by AI tool. */\n      AI_AUTO_SAVE = \"AI_AUTO_SAVE\"\n  }\n  enum Status {\n      UNKNOWN = \"UNKNOWN\",\n      /** Status indicating the draft post is published. */\n      PUBLISHED = \"PUBLISHED\",\n      /** Status indicating the draft post is unpublished. */\n      UNPUBLISHED = \"UNPUBLISHED\",\n      /** Status indicating the draft post is scheduled for publication. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Status indicating the draft post is deleted. */\n      DELETED = \"DELETED\",\n      /**\n       * Deprecated. Use `IN_REVIEW` instead. Status indicating the draft post is in review.\n       * Target removal date 2024-06-30\n       * Reserved for internal use.\n       */\n      IN_MODERATION = \"IN_MODERATION\",\n      /** Status indicating the draft post is in review. */\n      IN_REVIEW = \"IN_REVIEW\"\n  }\n  interface DraftPostTranslation {\n      /** Post ID. */\n      _id?: string;\n      /** Post status. */\n      status?: Status;\n      /** Language the post is written in. */\n      language?: string | null;\n      /** Post slug. For example, 'post-slug'. */\n      slug?: string | null;\n      /** SEO data. */\n      seoData?: SeoSchema$1;\n      /** Post URL. */\n      url?: string;\n  }\n  interface GetTotalLikesPerMemberRequest {\n      /** Member ID. */\n      memberId: string;\n  }\n  interface GetTotalLikesPerMemberResponse {\n      /** The total number of likes of the member. */\n      total?: number;\n  }\n  interface PostLiked extends PostLikedInitiatorOneOf {\n      /** Member ID of person who liked the post (only returned when the member was logged in when liking the post). */\n      memberId?: string | null;\n      /** Visitor ID of person who liked the post when they are not logged in. */\n      anonymousVisitorId?: string | null;\n      /** ID of the liked post. */\n      postId?: string;\n  }\n  /** @oneof */\n  interface PostLikedInitiatorOneOf {\n      /** Member ID of person who liked the post (only returned when the member was logged in when liking the post). */\n      memberId?: string | null;\n      /** Visitor ID of person who liked the post when they are not logged in. */\n      anonymousVisitorId?: string | null;\n  }\n  interface PostUnliked extends PostUnlikedInitiatorOneOf {\n      /** Member ID of person who unliked the post (returned when the member was logged in when unliking the post). */\n      memberId?: string | null;\n      /** Visitor ID of person who unliked the post when they are not logged in. */\n      anonymousVisitorId?: string | null;\n      /** ID of the unliked post. */\n      postId?: string;\n  }\n  /** @oneof */\n  interface PostUnlikedInitiatorOneOf {\n      /** Member ID of person who unliked the post (returned when the member was logged in when unliking the post). */\n      memberId?: string | null;\n      /** Visitor ID of person who unliked the post when they are not logged in. */\n      anonymousVisitorId?: string | null;\n  }\n  interface PostCountersUpdated extends PostCountersUpdatedInitiatorOneOf {\n      /** Member ID of person who triggered the counter update */\n      memberId?: string | null;\n      /** Visitor ID if person that liked the post is not logged in */\n      anonymousVisitorId?: string | null;\n      /** ID of the post which counters were updated. */\n      postId?: string;\n      /**\n       * Internal ID of the post which counters were updated.\n       * @internal\n       */\n      postInternalId?: string;\n      /** Field of the updated counter. */\n      updatedCounterField?: Field$1;\n      /** New counter value. */\n      counter?: number;\n  }\n  /** @oneof */\n  interface PostCountersUpdatedInitiatorOneOf {\n      /** Member ID of person who triggered the counter update */\n      memberId?: string | null;\n      /** Visitor ID if person that liked the post is not logged in */\n      anonymousVisitorId?: string | null;\n  }\n  enum Field$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Total comments field. */\n      TOTAL_COMMENTS = \"TOTAL_COMMENTS\",\n      /** Like count field. */\n      LIKE_COUNT = \"LIKE_COUNT\",\n      /** View count field. */\n      VIEW_COUNT = \"VIEW_COUNT\",\n      /** Rating count field */\n      RATING_COUNT = \"RATING_COUNT\"\n  }\n  interface PostOwnerChanged {\n      /**\n       * Member ID of the post's owner before the change.\n       * @internal\n       */\n      oldMemberId?: string;\n      /**\n       * Member ID of the post's owner after the change.\n       * @internal\n       */\n      newMemberId?: string;\n  }\n  interface InitialPostsCopied {\n      /** Number of posts copied. */\n      count?: number;\n  }\n  interface GetPostRequest {\n      /** Post ID. */\n      postId: string;\n      /**\n       * Reserved for internal use.\n       * @deprecated __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** List of post fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: PostFieldField[];\n  }\n  interface GetPostResponse {\n      /** Post info. */\n      post?: Post;\n  }\n  interface GetPostBySlugRequest {\n      /** Slug of the post to retrieve. */\n      slug: string;\n      /**\n       * Reserved for internal use.\n       * @deprecated __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** List of post fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: PostFieldField[];\n  }\n  interface GetPostBySlugResponse {\n      /** Post info. */\n      post?: Post;\n  }\n  interface ListPostsRequest {\n      /**\n       * Whether to return only featured posts.\n       *\n       * Default: `false`\n       */\n      featured?: boolean;\n      /**\n       * Hashtag filter.\n       *\n       * Pass an array of hashtags to return only posts containing any of the provided hashtags.\n       * If omitted, all posts with or without hashtags are returned.\n       */\n      hashtags?: string[];\n      /**\n       * Category filter.\n       *\n       * Pass an array of category IDs to return only posts with any of the provided categories.\n       * If omitted, all posts with or without associated categories are returned.\n       */\n      categoryIds?: string[];\n      /**\n       * Tag filter.\n       *\n       * Pass an array of tag IDs to return only posts with any of the provided tags.\n       * If omitted, all posts with or without tags are returned.\n       */\n      tagIds?: string[];\n      /** Sort order by descending view count, ascending or descending publish date, or default to descending by publish date with pinned posts first. */\n      sort?: GetPostsSort;\n      /** Pagination options. */\n      paging?: BlogPaging;\n      /**\n       * Reserved for internal use.\n       * @deprecated __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: PostFieldField[];\n      /**\n       * Language filter.\n       *\n       *\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /** Post owner's member ID. */\n      memberId?: string | null;\n      /** List of post fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: PostFieldField[];\n  }\n  interface ListPostsResponse {\n      /** List of posts. */\n      posts?: Post[];\n      /** Details on the paged set of results returned. */\n      metaData?: MetaData$1;\n  }\n  interface QueryPostsRequest {\n      /**\n       * __Deprecated.__ Use `query` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * Pagination options.\n       * @deprecated __Deprecated.__ Use `query` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * Pagination options.\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      paging?: BlogPaging;\n      /**\n       * __Deprecated.__ Use `query` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * Filter object.\n       * @deprecated __Deprecated.__ Use `query` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * Filter object.\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * __Deprecated.__ Use `query` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * Sorting options. For a list of sortable fields, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @deprecated __Deprecated.__ Use `query` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * Sorting options. For a list of sortable fields, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      sort?: Sorting$1[];\n      /**\n       * Reserved for internal use.\n       * @deprecated __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** Query options. */\n      query?: PlatformQuery$1;\n      /** List of post fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: PostFieldField[];\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformQuery$1 extends PlatformQueryPagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryPostsResponse {\n      /** List of posts. */\n      posts?: Post[];\n      /**\n       * __Deprecated.__ Use `pagingMetadata` instead.\n       * This property will be removed on June 30, 2023.\n       *\n       * Details on the paged set of results returned.\n       * @deprecated __Deprecated.__ Use `pagingMetadata` instead.\n       * This property will be removed on June 30, 2023.\n       *\n       * Details on the paged set of results returned.\n       * @replacedBy pagingMetadata\n       * @targetRemovalDate 2024-06-30\n       */\n      metaData?: MetaData$1;\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetPostMetricsRequest {\n      /** Post ID. */\n      postId: string;\n  }\n  interface GetPostMetricsResponse {\n      /** Post metrics. */\n      metrics?: Metrics;\n  }\n  interface BulkGetPostMetricsRequest {\n      /** Post IDs. */\n      postIds: string[];\n  }\n  interface BulkGetPostMetricsResponse {\n      /** Map of post.id to metrics */\n      metrics?: Record<string, Metrics>;\n  }\n  interface ViewPostRequest {\n      /** Post ID. */\n      postId: string;\n  }\n  interface ViewPostResponse {\n      /** Total number of post views */\n      views?: number;\n  }\n  interface LikePostRequest {\n      /** Post ID. */\n      postId: string;\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  interface LikePostResponse {\n      /** Post info. */\n      post?: Post;\n  }\n  interface UnlikePostRequest {\n      /** Post ID. */\n      postId: string;\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  interface UnlikePostResponse {\n      /** Post info. */\n      post?: Post;\n  }\n  interface PinPostRequest {\n      /** Post ID. */\n      postId: string;\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  interface PinPostResponse {\n      /** Post info. */\n      post?: Post;\n  }\n  interface UnpinPostRequest {\n      /** Post ID. */\n      postId: string;\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  interface UnpinPostResponse {\n      /** Post info. */\n      post?: Post;\n  }\n  interface ListPostsArchiveRequest {\n      /** Month */\n      month: number | null;\n      /** Year */\n      year: number;\n      /** Time zone */\n      timeZone?: string | null;\n      /** Pagination options. */\n      paging?: BlogPaging;\n      /**\n       * Language filter.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Pass a language to only receive posts that are in that language.\n       * If omitted, posts in all languages are returned.\n       */\n      language?: string | null;\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  interface ListPostsArchiveResponse {\n      /** List of posts. */\n      posts?: Post[];\n      /** Details on the paged set of results returned. */\n      metaData?: MetaData$1;\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface BulkGetPostReactionsRequest {\n      /** Post IDs. */\n      postIds: string[];\n  }\n  interface BulkGetPostReactionsResponse {\n      /** Map of post.id to reactions */\n      reactionsMap?: Record<string, Reactions>;\n  }\n  interface Reactions {\n      /**\n       * Is post liked by the current user\n       * @readonly\n       */\n      liked?: boolean;\n  }\n  /** Get Blog Publications Count Stats request */\n  interface QueryPublicationsCountStatsRequest {\n      /** Start of time range to return, in ISO 8601 date and time format. */\n      rangeStart?: Date | null;\n      /** Non-inclusive end of time range to return, in ISO 8601 date and time format. */\n      rangeEnd?: Date | null;\n      /** Order of the returned results. */\n      order?: QueryPublicationsCountStatsRequestOrder;\n      /** Number of months to include in the response. */\n      months?: number;\n      /**\n       * Language filter\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /** Timezone of the client. */\n      timeZone?: string | null;\n  }\n  enum QueryPublicationsCountStatsRequestOrder {\n      UNKNOWN = \"UNKNOWN\",\n      OLDEST = \"OLDEST\",\n      NEWEST = \"NEWEST\"\n  }\n  /** Get Blog Publications Count Stats response */\n  interface QueryPublicationsCountStatsResponse {\n      /** Chronologically ordered list of publications. */\n      stats?: PeriodPublicationsCount[];\n  }\n  /** Publications count for a specific time period */\n  interface PeriodPublicationsCount {\n      /** Start of time range in ISO 8601 date and time format. */\n      periodStart?: Date | null;\n      /** Number of posts published during this month. */\n      publicationsCount?: number;\n  }\n  /** Get Blog Post Count Stats request */\n  interface QueryPostCountStatsRequest {\n      /** Start of time range to return, in ISO 8601 date and time format. */\n      rangeStart?: Date | null;\n      /**\n       * __Deprecated.__ Use `months` instead.\n       * This property will be removed on June 30, 2023.\n       *\n       * Non-inclusive end of time range to return, in ISO 8601 date and time format.\n       * @deprecated __Deprecated.__ Use `months` instead.\n       * This property will be removed on June 30, 2023.\n       *\n       * Non-inclusive end of time range to return, in ISO 8601 date and time format.\n       * @replacedBy months\n       * @targetRemovalDate 2024-06-30\n       */\n      rangeEnd?: Date | null;\n      /**\n       * Order of returned results.\n       *\n       * - `OLDEST`: posts by date in ascending order.\n       * - `NEWEST`: posts by date in descending order.\n       *\n       * Default: `OLDEST`\n       */\n      order?: Order;\n      /** Number of months to include in response. */\n      months?: number;\n      /**\n       * Language filter.\n       *\n       *\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Time zone to use when calculating the start of the month.\n       *\n       * [UTC timezone offset](https://en.wikipedia.org/wiki/List_of_UTC_offsets) format. For example, New York time zone is `-05`.\n       */\n      timeZone?: string | null;\n  }\n  enum Order {\n      UNKNOWN = \"UNKNOWN\",\n      OLDEST = \"OLDEST\",\n      NEWEST = \"NEWEST\"\n  }\n  /** Get Blog Post Count Stats response */\n  interface QueryPostCountStatsResponse {\n      /** List of posts in specified order. */\n      stats?: PeriodPostCount[];\n  }\n  /** Post count for a specific time period */\n  interface PeriodPostCount {\n      /** Start of time range in ISO 8601 date and time format. */\n      periodStart?: Date | null;\n      /** Number of posts published during this month. */\n      postCount?: number;\n  }\n  interface GetTotalPublicationsRequest {\n      /** Language filter */\n      language?: string | null;\n  }\n  interface GetTotalPublicationsResponse {\n      /** Total amount of publications. */\n      total?: number;\n  }\n  interface GetTotalPostsRequest {\n      /**\n       * Language filter.\n       *\n       *\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n  }\n  interface GetTotalPostsResponse {\n      /** Total amount of published posts. */\n      total?: number;\n  }\n  interface SendActionEventRequest extends SendActionEventRequestActionOneOf {\n      postLikedAction?: PostLiked;\n      postCountersUpdated?: PostCountersUpdated;\n      entityId?: string;\n  }\n  /** @oneof */\n  interface SendActionEventRequestActionOneOf {\n      postLikedAction?: PostLiked;\n      postCountersUpdated?: PostCountersUpdated;\n  }\n  interface SendActionEventResponse {\n  }\n  /**\n   * Retrieves a list of published demo posts.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BLOG.READ-PUBLICATION\n   */\n  function listDemoPosts(options?: ListDemoPostsOptions): Promise<ListDemoPostsResponse>;\n  interface ListDemoPostsOptions {\n      /**\n       * Whether to return only featured posts.\n       *\n       * Default: `false`\n       */\n      featured?: boolean;\n      /**\n       * Hashtag filter.\n       *\n       * Pass an array of hashtags to return only posts containing any of the provided hashtags.\n       * If omitted, all posts with or without hashtags are returned.\n       */\n      hashtags?: string[];\n      /**\n       * Category filter.\n       *\n       * Pass an array of category IDs to return only posts with any of the provided categories.\n       * If omitted, all posts with or without associated categories are returned.\n       */\n      categoryIds?: string[];\n      /**\n       * Tag filter.\n       *\n       * Pass an array of tag IDs to return only posts with any of the provided tags.\n       * If omitted, all posts with or without tags are returned.\n       */\n      tagIds?: string[];\n      /**\n       * Sorting options.\n       *\n       * - `FEED`: Ordered by `firstPublishedDate` in descending order with pinned posts first.\n       * - `VIEW_COUNT`: Ordered by total number of views in descending order.\n       * - `LIKE_COUNT`: Ordered by total number of likes in descending order.\n       * - `PUBLISHED_DATE_ASC`: Ordered by `firstPublishedDate` in ascending order.\n       * - `PUBLISHED_DATE_DESC`: Ordered by `firstPublishedDate` in descending order.\n       * - `TITLE_ASC`: Ordered by `title` in ascening order.\n       * - `TITLE_DESC`: Ordered by `title` in descending order.\n       * - `RATING`: reserved for internal use.\n       *\n       * Default: `FEED`\n       */\n      sort?: GetPostsSort;\n      /** Pagination options. */\n      paging?: BlogPaging;\n      /**\n       * __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @deprecated __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: PostFieldField[];\n      /**\n       * Language filter.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Pass a language to only receive posts that are in that language.\n       * If omitted, posts in all languages are returned.\n       */\n      language?: string | null;\n      /** Post owner's member ID. */\n      memberId?: string | null;\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  /**\n   * Retrieves available post templates and template categories if asked\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BLOG.READ-PUBLICATION\n   */\n  function listTemplates(options?: ListTemplatesOptions): Promise<ListTemplatesResponse>;\n  interface ListTemplatesOptions {\n      /** Filter post templates by given template category ids */\n      categoryIds?: string[];\n      /** Filter post templates by provided language */\n      language?: string | null;\n      /** Returns post template categories when set to TRUE */\n      listTemplateCategories?: boolean;\n      /** Sort order by ascending/descending publish date. Default is ascending publish date sort */\n      sort?: GetPostTemplatesSort;\n      /** Pagination options. */\n      paging?: BlogPaging;\n  }\n  /**\n   * Gets post template by given id\n   * @param postTemplateId - Post template id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postTemplateId\n   * @permissionId BLOG.READ-PUBLICATION\n   */\n  function getTemplate(postTemplateId: string): Promise<GetTemplateResponse>;\n  /**\n   * Creates draft post from specified post template\n   * @param postTemplateId - Post template id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postTemplateId\n   * @permissionId BLOG.CREATE-DRAFT\n   * @adminMethod\n   */\n  function createDraftPostFromTemplate(postTemplateId: string): Promise<CreateDraftPostFromTemplateResponse>;\n  /**\n   * Retrieves total likes of a member.\n   * @param memberId - Member ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId BLOG.READ_LIKE\n   */\n  function getTotalLikesPerMember(memberId: string): Promise<GetTotalLikesPerMemberResponse>;\n  /**\n   * Gets a post by the specified ID.\n   *\n   *\n   * The `getPost()` function returns a Promise that resolves to a post whose ID matches the given ID.\n   *\n   * @param postId - Post ID.\n   * @public\n   * @requiredField postId\n   * @param options - Options specifying which fields to return.\n   * @permissionId BLOG.READ-PUBLICATION\n   * @returns Fulfilled - The requested post.\n   */\n  function getPost(postId: string, options?: GetPostOptions): Promise<GetPostResponse>;\n  interface GetPostOptions {\n      /**\n       * @internal\n       * @deprecated __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** List of post fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: PostFieldField[];\n  }\n  /**\n   * Gets a post by the provided slug.\n   *\n   *\n   * The `getPostBySlug()` function returns a Promise that resolves to a post whose slug matches the given slug.\n   *\n   * The `slug` is the end of a post's URL that refers to a specific post. For example, if a post's URL is `https:/example.com/blog/post/my-post-slug`, the slug is `my-post-slug`. The slug is case-sensitive, and is generally derived from the post title, unless specified otherwise.\n   * @public\n   * @requiredField slug\n   * @param options - Options specifying which fields to return.\n   * @param slug - Slug of the post to retrieve.\n   *\n   * The end of a post's URL, for example, `https:/example.com/blog/post/my-post-slug`. Case sensitive and generally based on the post title if not specified.\n   * @permissionId BLOG.READ-PUBLICATION\n   * @returns Fulfilled - The requested post.\n   */\n  function getPostBySlug(slug: string, options?: GetPostBySlugOptions): Promise<GetPostBySlugResponse>;\n  interface GetPostBySlugOptions {\n      /**\n       * @internal\n       * @deprecated __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** List of post fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: PostFieldField[];\n  }\n  /**\n   * Retrieves a list of published posts.\n   *\n   *\n   * The `listPosts()` function returns a Promise that resolves to a list of up to 100 published posts.\n   *\n   * Using the `options` parameter, you can filter your list of posts, set the amount of posts to be returned, and sort your list in a specified order.\n   *\n   * By default, the list is sorted by `firstPublishedDate` in descending order, and the amount of posts returned is 50.\n   * @public\n   * @param options - Sort, filter, and paging options.\n   * @permissionId BLOG.READ-PUBLICATION\n   * @returns Fulfilled - List of retrieved posts.\n   */\n  function listPosts(options?: ListPostsOptions): Promise<ListPostsResponse>;\n  interface ListPostsOptions {\n      /** Featured filter. Whether to return only featured posts. */\n      featured?: boolean;\n      /**\n       * List of hashtags to filter for.\n       *\n       *\n       * Default: All hashtags\n       */\n      hashtags?: string[];\n      /**\n       * List of category IDs to filter for.\n       *\n       *\n       * Default: All categories\n       */\n      categoryIds?: string[];\n      /**\n       * List of [tag IDs](https://www.wix.com/velo/reference/wix-blog-backend/tags) to filter for.\n       *\n       *\n       * Default: All tags\n       */\n      tagIds?: string[];\n      /**\n       * Sort order.\n       *\n       * Sort by one of the following:\n       *  - `'VIEW_COUNT'` descending view count\n       *  - `'LIKE_COUNT'` descending like count\n       *  - `'PUBLISHED_DATE_ASC'` ascending published date\n       *  - `'PUBLISHED_DATE_DESC'` descending published date\n       *  - `'TITLE_ASC'` ascending title\n       *  - `'TITLE_DESC'` descending title\n       *\n       *  Default: `'PUBLISHED_DATE_DESC'`\n       */\n      sort?: GetPostsSort;\n      /** Pagination options. */\n      paging?: BlogPaging;\n      /**\n       * @internal\n       * @deprecated __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: PostFieldField[];\n      /**\n       * Language filter.\n       *\n       *\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Member ID to filter for.\n       *\n       *\n       * Default: All members\n       */\n      memberId?: string | null;\n      /** List of post fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: PostFieldField[];\n  }\n  /**\n   * Creates a query to retrieve a list of posts.\n   *\n   *\n   * The `queryPosts()` function builds a query to retrieve a list of up to 100 posts, and returns a [`PostsQueryBuilder`](https://www.wix.com/velo/reference/wix-blog-backend/posts/postsquerybuilder) object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the [`find()`](https://www.wix.com/velo/reference/wix-blog-backend/posts/postsquerybuilder/find) function.\n   *\n   * You can refine the query by chaining `PostsQueryBuilder` functions onto the query. `PostsQueryBuilder` functions enable you to sort, filter, and control the results that `queryPosts()` returns.\n   *\n   * `queryPosts()` runs with these `PostsQueryBuilder` defaults that can be overridden:\n   * + [`limit(50)`](https://www.wix.com/velo/reference/wix-blog-backend/posts/postsquerybuilder/limit)\n   * + [`descending('firstPublishedDate')`](https://www.wix.com/velo/reference/wix-blog-backend/posts/postsquerybuilder/descending)\n   *\n   * Note that the default limit is `'50'`, but the max limit is `'100'`.\n   *\n   * To learn how to query posts, refer to the table below.\n   *\n   * The following `PostsQueryBuilder` functions are supported for the `queryPosts()` function. For a full description of the Posts object, see the object returned for the [`items`](https://www.wix.com/velo/reference/wix-blog-backend/posts/postsqueryresult/items) property in [`PostsQueryResult`](https://www.wix.com/velo/reference/wix-blog-backend/posts/postsqueryresult).\n   * @public\n   * @param options - Options specifying which fields to return.\n   * @permissionId BLOG.READ-PUBLICATION\n   */\n  function queryPosts(options?: QueryPostsOptions): PostsQueryBuilder;\n  interface QueryPostsOptions {\n      /**\n       * @internal\n       * @deprecated __Deprecated.__ Use `query` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * Pagination options.\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      paging?: BlogPaging | undefined;\n      /**\n       * @internal\n       * @deprecated __Deprecated.__ Use `query` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * Filter object.\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      filter?: Record<string, any> | null | undefined;\n      /**\n       * @internal\n       * @deprecated __Deprecated.__ Use `query` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * Sorting options. For a list of sortable fields, see [Field Support for Filtering and Sorting](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/filter-and-sort).\n       * @replacedBy query\n       * @targetRemovalDate 2024-06-30\n       */\n      sort?: Sorting$1[] | undefined;\n      /**\n       * @internal\n       * @deprecated __Deprecated.__ Use `fieldsets` instead.\n       * This parameter will be removed on June 30, 2023.\n       *\n       * List of post fields to be included in the response.\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsToInclude?: PostFieldField[] | undefined;\n      /** List of post fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: PostFieldField[] | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface PostsQueryResult extends QueryCursorResult {\n      items: Post[];\n      query: PostsQueryBuilder;\n      next: () => Promise<PostsQueryResult>;\n      prev: () => Promise<PostsQueryResult>;\n  }\n  interface PostsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'title' | 'firstPublishedDate' | 'lastPublishedDate' | 'slug' | 'featured' | 'pinned' | 'coverMedia.enabled' | 'memberId' | 'commentingEnabled' | 'minutesToRead' | 'translationId' | 'language' | 'metrics.comments' | 'metrics.likes' | 'metrics.views', value: any) => PostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'title' | 'firstPublishedDate' | 'lastPublishedDate' | 'slug' | 'featured' | 'pinned' | 'coverMedia.enabled' | 'memberId' | 'commentingEnabled' | 'minutesToRead' | 'translationId' | 'language' | 'metrics.comments' | 'metrics.likes' | 'metrics.views', value: any) => PostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: 'firstPublishedDate' | 'lastPublishedDate' | 'minutesToRead' | 'metrics.comments' | 'metrics.likes' | 'metrics.views', value: any) => PostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: 'firstPublishedDate' | 'lastPublishedDate' | 'minutesToRead' | 'metrics.comments' | 'metrics.likes' | 'metrics.views', value: any) => PostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: 'firstPublishedDate' | 'lastPublishedDate' | 'minutesToRead' | 'metrics.comments' | 'metrics.likes' | 'metrics.views', value: any) => PostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: 'firstPublishedDate' | 'lastPublishedDate' | 'minutesToRead' | 'metrics.comments' | 'metrics.likes' | 'metrics.views', value: any) => PostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: 'title', value: string) => PostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: '_id' | 'title' | 'slug' | 'categoryIds' | 'memberId' | 'hashtags' | 'tagIds' | 'pricingPlanIds' | 'language', value: any[]) => PostsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasAll: (propertyName: 'categoryIds' | 'hashtags' | 'tagIds' | 'pricingPlanIds', value: any[]) => PostsQueryBuilder;\n      in: (propertyName: '_id' | 'title' | 'firstPublishedDate' | 'lastPublishedDate' | 'minutesToRead' | 'translationId' | 'language' | 'metrics.comments' | 'metrics.likes' | 'metrics.views', value: any) => PostsQueryBuilder;\n      exists: (propertyName: 'title' | 'translationId' | 'language', value: boolean) => PostsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | 'title' | 'firstPublishedDate' | 'lastPublishedDate' | 'slug' | 'featured' | 'pinned' | 'commentingEnabled' | 'metrics.comments' | 'metrics.likes' | 'metrics.views'>) => PostsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | 'title' | 'firstPublishedDate' | 'lastPublishedDate' | 'slug' | 'featured' | 'pinned' | 'commentingEnabled' | 'metrics.comments' | 'metrics.likes' | 'metrics.views'>) => PostsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => PostsQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => PostsQueryBuilder;\n      find: () => Promise<PostsQueryResult>;\n  }\n  /**\n   * Gets a specified post's metrics.\n   *\n   *\n   * The `getPostMetrics()` function returns a Promise that resolves to the specified post's metrics.\n   *\n   * A post's metrics include the comments, likes, and views the post receives.\n   * @param postId - Post ID.\n   * @public\n   * @requiredField postId\n   * @permissionId BLOG.READ-PUBLICATION\n   * @returns Fulfilled - Post metrics.\n   */\n  function getPostMetrics(postId: string): Promise<GetPostMetricsResponse>;\n  /**\n   * Retrieves a specified posts metrics.\n   * @param postIds - Post IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postIds\n   * @permissionId BLOG.READ-PUBLICATION\n   */\n  function bulkGetPostMetrics(postIds: string[]): Promise<BulkGetPostMetricsResponse>;\n  /**\n   * Increment view counter of a post.\n   * @param postId - Post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId BLOG.READ-PUBLICATION\n   */\n  function viewPost(postId: string): Promise<ViewPostResponse>;\n  /**\n   * Like post\n   * @param postId - Post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId BLOG.LIKE-POST\n   */\n  function likePost(postId: string, options?: LikePostOptions): Promise<LikePostResponse>;\n  interface LikePostOptions {\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  /**\n   * Unlike post\n   * @param postId - Post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId BLOG.LIKE-POST\n   */\n  function unlikePost(postId: string, options?: UnlikePostOptions): Promise<UnlikePostResponse>;\n  interface UnlikePostOptions {\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  /**\n   * Pin post in the feed\n   * @param postId - Post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId BLOG.PIN-POST\n   * @adminMethod\n   */\n  function pinPost(postId: string, options?: PinPostOptions): Promise<PinPostResponse>;\n  interface PinPostOptions {\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  /**\n   * Unpin post in the feed\n   * @param postId - Post ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId BLOG.PIN-POST\n   * @adminMethod\n   */\n  function unpinPost(postId: string, options?: UnpinPostOptions): Promise<UnpinPostResponse>;\n  interface UnpinPostOptions {\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  /**\n   * Retrieves a posts archive.\n   * @param month - Month\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField month\n   * @requiredField options.year\n   * @permissionId BLOG.READ-PUBLICATION\n   */\n  function listPostsArchive(month: number | null, options?: ListPostsArchiveOptions): Promise<ListPostsArchiveResponse>;\n  interface ListPostsArchiveOptions {\n      /** Year */\n      year: number;\n      /** Time zone */\n      timeZone?: string | null;\n      /** Pagination options. */\n      paging?: BlogPaging;\n      /**\n       * Language filter.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Pass a language to only receive posts that are in that language.\n       * If omitted, posts in all languages are returned.\n       */\n      language?: string | null;\n      /**\n       * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the post’s base fields are returned.\n       */\n      fieldsets?: PostFieldField[];\n  }\n  /**\n   * Retrieves reactions of the current user for specified posts.\n   * @param postIds - Post IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postIds\n   * @permissionId BLOG.READ-PUBLICATION\n   */\n  function bulkGetPostReactions(postIds: string[]): Promise<BulkGetPostReactionsResponse>;\n  /**\n   * Retrieves the number of posts per month published within a specified time span, from first day of a month - ignoring days value in period start field.\n   * If `periodStart` value is set to `2018-11-10` and `months` value is set to `1`, the day value is ignored and statistic are returned for one month from\n   * `2018-11-01` until `2018-11-30` and not between `2018-11-10` and `2018-12-10`.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BLOG.READ-PUBLICATION\n   * @returns Get Blog Publications Count Stats response\n   */\n  function queryPublicationsCountStats(options?: QueryPublicationsCountStatsOptions): Promise<QueryPublicationsCountStatsResponse>;\n  interface QueryPublicationsCountStatsOptions {\n      /** Start of time range to return, in ISO 8601 date and time format. */\n      rangeStart?: Date | null;\n      /** Non-inclusive end of time range to return, in ISO 8601 date and time format. */\n      rangeEnd?: Date | null;\n      /** Order of the returned results. */\n      order?: QueryPublicationsCountStatsRequestOrder;\n      /** Number of months to include in the response. */\n      months?: number;\n      /**\n       * Language filter\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /** Timezone of the client. */\n      timeZone?: string | null;\n  }\n  /**\n   * Retrieves the number of published posts per month within a specified time range.\n   *\n   *\n   * The `queryPostCountStats()` function returns a Promise that resolves to the number of posts per month within the specified time range.\n   *\n   * You can set the time range using the `rangeStart` and `months` properties. The time range always starts on the 1st day of the month set in `rangeStart` and includes the number of `months` following `rangeStart`. For example, if `rangeStart` is set to `'2022-03-13'` and `months` is set to `4`, the time range will be from `'2022-03-01'` until `'2022-06-30'`. The time range ends on the last day of the month.\n   *\n   * >**Note:** If there are no published posts in a specific month, that month is not included in the response. For example, let's say a blog has `0` posts dated in February 2022. If `rangeStart` is set to `'2022-01-01'` and `months` is set to `3`, the response includes `postCount` values for January and March, but not February.\n   * @public\n   * @param options - Options specifying time frame, sort, and filter.\n   * @permissionId BLOG.READ-PUBLICATION\n   * @returns Fulfilled - Post count stats.\n   */\n  function queryPostCountStats(options?: QueryPostCountStatsOptions): Promise<QueryPostCountStatsResponse>;\n  interface QueryPostCountStatsOptions {\n      /** Start of time range to return, in ISO 8601 date and time format. */\n      rangeStart?: Date | null;\n      /**\n       * Reserved for internal use.\n       * @deprecated __Deprecated.__ Use `months` instead.\n       * This property will be removed on June 30, 2023.\n       *\n       * Non-inclusive end of time range to return, in ISO 8601 date and time format.\n       * @replacedBy months\n       * @targetRemovalDate 2024-06-30\n       */\n      rangeEnd?: Date | null;\n      /**\n       * Sort order.\n       * Use `'ASC'` for ascending order or `'DESC'` for descending order.\n       *\n       * Default: `ASC`\n       */\n      order?: Order;\n      /** Number of months to include in response. */\n      months?: number;\n      /**\n       * Language filter.\n       *\n       *\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Time zone to use when calculating the start of the month.\n       *\n       * [UTC timezone offset](https://en.wikipedia.org/wiki/List_of_UTC_offsets) format. For example, New York time zone is `-05`.\n       */\n      timeZone?: string | null;\n  }\n  /**\n   * Retrieves the amount of published posts for the current blog.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BLOG.READ-PUBLICATION\n   */\n  function getTotalPublications(options?: GetTotalPublicationsOptions): Promise<GetTotalPublicationsResponse>;\n  interface GetTotalPublicationsOptions {\n      /** Language filter */\n      language?: string | null;\n  }\n  /**\n   * Gets the total amount of published posts on the blog.\n   *\n   *\n   * The `getTotalPosts()` function returns a Promise that resolves to the total amount of published posts on your blog's site.\n   *\n   *\n   * You can use the `language` option to filter posts for a specified language.\n   * @public\n   * @param options - Language Options.\n   * @permissionId BLOG.READ-PUBLICATION\n   * @returns Fulfilled - Total number of posts.\n   */\n  function getTotalPosts(options?: GetTotalPostsOptions): Promise<GetTotalPostsResponse>;\n  interface GetTotalPostsOptions {\n      /**\n       * Language filter.\n       *\n       *\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId PostKafkaProducer.DelegateEcho\n   * @adminMethod\n   */\n  function sendActionEvent(options?: SendActionEventOptions): Promise<void>;\n  interface SendActionEventOptions extends SendActionEventRequestActionOneOf {\n      entityId?: string;\n      postLikedAction?: PostLiked;\n      postCountersUpdated?: PostCountersUpdated;\n  }\n  \n  type blogV3Post_universal_d_Post = Post;\n  type blogV3Post_universal_d_CoverMedia = CoverMedia;\n  type blogV3Post_universal_d_CoverMediaMediaOneOf = CoverMediaMediaOneOf;\n  type blogV3Post_universal_d_FocalPoint = FocalPoint;\n  type blogV3Post_universal_d_PostCountInfo = PostCountInfo;\n  type blogV3Post_universal_d_Metrics = Metrics;\n  type blogV3Post_universal_d_RichContent = RichContent;\n  type blogV3Post_universal_d_Node = Node;\n  type blogV3Post_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type blogV3Post_universal_d_NodeType = NodeType;\n  const blogV3Post_universal_d_NodeType: typeof NodeType;\n  type blogV3Post_universal_d_NodeStyle = NodeStyle;\n  type blogV3Post_universal_d_ButtonData = ButtonData;\n  type blogV3Post_universal_d_Border = Border;\n  type blogV3Post_universal_d_Colors = Colors;\n  type blogV3Post_universal_d_PluginContainerData = PluginContainerData;\n  type blogV3Post_universal_d_WidthType = WidthType;\n  const blogV3Post_universal_d_WidthType: typeof WidthType;\n  type blogV3Post_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type blogV3Post_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type blogV3Post_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const blogV3Post_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type blogV3Post_universal_d_Spoiler = Spoiler;\n  type blogV3Post_universal_d_Height = Height;\n  type blogV3Post_universal_d_Type = Type;\n  const blogV3Post_universal_d_Type: typeof Type;\n  type blogV3Post_universal_d_Styles = Styles;\n  type blogV3Post_universal_d_Link = Link;\n  type blogV3Post_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type blogV3Post_universal_d_Target = Target;\n  const blogV3Post_universal_d_Target: typeof Target;\n  type blogV3Post_universal_d_Rel = Rel;\n  type blogV3Post_universal_d_CodeBlockData = CodeBlockData;\n  type blogV3Post_universal_d_TextStyle = TextStyle;\n  type blogV3Post_universal_d_TextAlignment = TextAlignment;\n  const blogV3Post_universal_d_TextAlignment: typeof TextAlignment;\n  type blogV3Post_universal_d_DividerData = DividerData;\n  type blogV3Post_universal_d_LineStyle = LineStyle;\n  const blogV3Post_universal_d_LineStyle: typeof LineStyle;\n  type blogV3Post_universal_d_Width = Width;\n  const blogV3Post_universal_d_Width: typeof Width;\n  type blogV3Post_universal_d_Alignment = Alignment;\n  const blogV3Post_universal_d_Alignment: typeof Alignment;\n  type blogV3Post_universal_d_FileData = FileData;\n  type blogV3Post_universal_d_ViewMode = ViewMode;\n  const blogV3Post_universal_d_ViewMode: typeof ViewMode;\n  type blogV3Post_universal_d_FileSource = FileSource;\n  type blogV3Post_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type blogV3Post_universal_d_PDFSettings = PDFSettings;\n  type blogV3Post_universal_d_GalleryData = GalleryData;\n  type blogV3Post_universal_d_Media = Media;\n  type blogV3Post_universal_d_Image = Image;\n  type blogV3Post_universal_d_Video = Video;\n  type blogV3Post_universal_d_Item = Item;\n  type blogV3Post_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type blogV3Post_universal_d_GalleryOptions = GalleryOptions;\n  type blogV3Post_universal_d_LayoutType = LayoutType;\n  const blogV3Post_universal_d_LayoutType: typeof LayoutType;\n  type blogV3Post_universal_d_Orientation = Orientation;\n  const blogV3Post_universal_d_Orientation: typeof Orientation;\n  type blogV3Post_universal_d_Crop = Crop;\n  const blogV3Post_universal_d_Crop: typeof Crop;\n  type blogV3Post_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const blogV3Post_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type blogV3Post_universal_d_Layout = Layout;\n  type blogV3Post_universal_d_ItemStyle = ItemStyle;\n  type blogV3Post_universal_d_Thumbnails = Thumbnails;\n  type blogV3Post_universal_d_GIFData = GIFData;\n  type blogV3Post_universal_d_GIF = GIF;\n  type blogV3Post_universal_d_HeadingData = HeadingData;\n  type blogV3Post_universal_d_HTMLData = HTMLData;\n  type blogV3Post_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type blogV3Post_universal_d_Source = Source;\n  const blogV3Post_universal_d_Source: typeof Source;\n  type blogV3Post_universal_d_ImageData = ImageData;\n  type blogV3Post_universal_d_LinkPreviewData = LinkPreviewData;\n  type blogV3Post_universal_d_MapData = MapData;\n  type blogV3Post_universal_d_MapSettings = MapSettings;\n  type blogV3Post_universal_d_MapType = MapType;\n  const blogV3Post_universal_d_MapType: typeof MapType;\n  type blogV3Post_universal_d_ParagraphData = ParagraphData;\n  type blogV3Post_universal_d_PollData = PollData;\n  type blogV3Post_universal_d_ViewRole = ViewRole;\n  const blogV3Post_universal_d_ViewRole: typeof ViewRole;\n  type blogV3Post_universal_d_VoteRole = VoteRole;\n  const blogV3Post_universal_d_VoteRole: typeof VoteRole;\n  type blogV3Post_universal_d_Permissions = Permissions;\n  type blogV3Post_universal_d_Option = Option;\n  type blogV3Post_universal_d_PollSettings = PollSettings;\n  type blogV3Post_universal_d_PollLayoutType = PollLayoutType;\n  const blogV3Post_universal_d_PollLayoutType: typeof PollLayoutType;\n  type blogV3Post_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const blogV3Post_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type blogV3Post_universal_d_PollLayout = PollLayout;\n  type blogV3Post_universal_d_OptionLayout = OptionLayout;\n  type blogV3Post_universal_d_BackgroundType = BackgroundType;\n  const blogV3Post_universal_d_BackgroundType: typeof BackgroundType;\n  type blogV3Post_universal_d_Gradient = Gradient;\n  type blogV3Post_universal_d_Background = Background;\n  type blogV3Post_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type blogV3Post_universal_d_PollDesign = PollDesign;\n  type blogV3Post_universal_d_OptionDesign = OptionDesign;\n  type blogV3Post_universal_d_Poll = Poll;\n  type blogV3Post_universal_d_PollDataLayout = PollDataLayout;\n  type blogV3Post_universal_d_Design = Design;\n  type blogV3Post_universal_d_TextData = TextData;\n  type blogV3Post_universal_d_Decoration = Decoration;\n  type blogV3Post_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type blogV3Post_universal_d_DecorationType = DecorationType;\n  const blogV3Post_universal_d_DecorationType: typeof DecorationType;\n  type blogV3Post_universal_d_AnchorData = AnchorData;\n  type blogV3Post_universal_d_ColorData = ColorData;\n  type blogV3Post_universal_d_LinkData = LinkData;\n  type blogV3Post_universal_d_MentionData = MentionData;\n  type blogV3Post_universal_d_FontSizeData = FontSizeData;\n  type blogV3Post_universal_d_FontType = FontType;\n  const blogV3Post_universal_d_FontType: typeof FontType;\n  type blogV3Post_universal_d_SpoilerData = SpoilerData;\n  type blogV3Post_universal_d_AppEmbedData = AppEmbedData;\n  type blogV3Post_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type blogV3Post_universal_d_AppType = AppType;\n  const blogV3Post_universal_d_AppType: typeof AppType;\n  type blogV3Post_universal_d_BookingData = BookingData;\n  type blogV3Post_universal_d_EventData = EventData;\n  type blogV3Post_universal_d_VideoData = VideoData;\n  type blogV3Post_universal_d_PlaybackOptions = PlaybackOptions;\n  type blogV3Post_universal_d_EmbedData = EmbedData;\n  type blogV3Post_universal_d_Oembed = Oembed;\n  type blogV3Post_universal_d_CollapsibleListData = CollapsibleListData;\n  type blogV3Post_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const blogV3Post_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type blogV3Post_universal_d_Direction = Direction;\n  const blogV3Post_universal_d_Direction: typeof Direction;\n  type blogV3Post_universal_d_TableData = TableData;\n  type blogV3Post_universal_d_Dimensions = Dimensions;\n  type blogV3Post_universal_d_TableCellData = TableCellData;\n  type blogV3Post_universal_d_VerticalAlignment = VerticalAlignment;\n  const blogV3Post_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type blogV3Post_universal_d_CellStyle = CellStyle;\n  type blogV3Post_universal_d_BorderColors = BorderColors;\n  type blogV3Post_universal_d_NullValue = NullValue;\n  const blogV3Post_universal_d_NullValue: typeof NullValue;\n  type blogV3Post_universal_d_ListValue = ListValue;\n  type blogV3Post_universal_d_AudioData = AudioData;\n  type blogV3Post_universal_d_OrderedListData = OrderedListData;\n  type blogV3Post_universal_d_BulletedListData = BulletedListData;\n  type blogV3Post_universal_d_BlockquoteData = BlockquoteData;\n  type blogV3Post_universal_d_CaptionData = CaptionData;\n  type blogV3Post_universal_d_Metadata = Metadata;\n  type blogV3Post_universal_d_DocumentStyle = DocumentStyle;\n  type blogV3Post_universal_d_TextNodeStyle = TextNodeStyle;\n  type blogV3Post_universal_d_ModerationDetails = ModerationDetails;\n  type blogV3Post_universal_d_ModerationStatusStatus = ModerationStatusStatus;\n  const blogV3Post_universal_d_ModerationStatusStatus: typeof ModerationStatusStatus;\n  type blogV3Post_universal_d_BlogMedia = BlogMedia;\n  type blogV3Post_universal_d_BlogMediaMediaOneOf = BlogMediaMediaOneOf;\n  type blogV3Post_universal_d_WixMedia = WixMedia;\n  type blogV3Post_universal_d_VideoResolution = VideoResolution;\n  type blogV3Post_universal_d_EmbedMedia = EmbedMedia;\n  type blogV3Post_universal_d_EmbedThumbnail = EmbedThumbnail;\n  type blogV3Post_universal_d_EmbedVideo = EmbedVideo;\n  type blogV3Post_universal_d_PostTranslation = PostTranslation;\n  type blogV3Post_universal_d_OldBlogMigratedEvent = OldBlogMigratedEvent;\n  type blogV3Post_universal_d_ConvertDraftJsToRichContentRequest = ConvertDraftJsToRichContentRequest;\n  type blogV3Post_universal_d_ConvertDraftJsToRichContentResponse = ConvertDraftJsToRichContentResponse;\n  type blogV3Post_universal_d_ConvertRichContentToDraftJsRequest = ConvertRichContentToDraftJsRequest;\n  type blogV3Post_universal_d_ConvertRichContentToDraftJsResponse = ConvertRichContentToDraftJsResponse;\n  type blogV3Post_universal_d_ListDemoPostsRequest = ListDemoPostsRequest;\n  type blogV3Post_universal_d_GetPostsSort = GetPostsSort;\n  const blogV3Post_universal_d_GetPostsSort: typeof GetPostsSort;\n  type blogV3Post_universal_d_BlogPaging = BlogPaging;\n  type blogV3Post_universal_d_PostFieldField = PostFieldField;\n  const blogV3Post_universal_d_PostFieldField: typeof PostFieldField;\n  type blogV3Post_universal_d_ListDemoPostsResponse = ListDemoPostsResponse;\n  type blogV3Post_universal_d_ListTemplatesRequest = ListTemplatesRequest;\n  type blogV3Post_universal_d_GetPostTemplatesSort = GetPostTemplatesSort;\n  const blogV3Post_universal_d_GetPostTemplatesSort: typeof GetPostTemplatesSort;\n  type blogV3Post_universal_d_ListTemplatesResponse = ListTemplatesResponse;\n  type blogV3Post_universal_d_Category = Category;\n  type blogV3Post_universal_d_CategoryTranslation = CategoryTranslation;\n  type blogV3Post_universal_d_GetTemplateRequest = GetTemplateRequest;\n  type blogV3Post_universal_d_GetTemplateResponse = GetTemplateResponse;\n  type blogV3Post_universal_d_CreateDraftPostFromTemplateRequest = CreateDraftPostFromTemplateRequest;\n  type blogV3Post_universal_d_CreateDraftPostFromTemplateResponse = CreateDraftPostFromTemplateResponse;\n  type blogV3Post_universal_d_DraftPost = DraftPost;\n  type blogV3Post_universal_d_Origin = Origin;\n  const blogV3Post_universal_d_Origin: typeof Origin;\n  type blogV3Post_universal_d_Status = Status;\n  const blogV3Post_universal_d_Status: typeof Status;\n  type blogV3Post_universal_d_DraftPostTranslation = DraftPostTranslation;\n  type blogV3Post_universal_d_GetTotalLikesPerMemberRequest = GetTotalLikesPerMemberRequest;\n  type blogV3Post_universal_d_GetTotalLikesPerMemberResponse = GetTotalLikesPerMemberResponse;\n  type blogV3Post_universal_d_PostLiked = PostLiked;\n  type blogV3Post_universal_d_PostLikedInitiatorOneOf = PostLikedInitiatorOneOf;\n  type blogV3Post_universal_d_PostUnliked = PostUnliked;\n  type blogV3Post_universal_d_PostUnlikedInitiatorOneOf = PostUnlikedInitiatorOneOf;\n  type blogV3Post_universal_d_PostCountersUpdated = PostCountersUpdated;\n  type blogV3Post_universal_d_PostCountersUpdatedInitiatorOneOf = PostCountersUpdatedInitiatorOneOf;\n  type blogV3Post_universal_d_PostOwnerChanged = PostOwnerChanged;\n  type blogV3Post_universal_d_InitialPostsCopied = InitialPostsCopied;\n  type blogV3Post_universal_d_GetPostRequest = GetPostRequest;\n  type blogV3Post_universal_d_GetPostResponse = GetPostResponse;\n  type blogV3Post_universal_d_GetPostBySlugRequest = GetPostBySlugRequest;\n  type blogV3Post_universal_d_GetPostBySlugResponse = GetPostBySlugResponse;\n  type blogV3Post_universal_d_ListPostsRequest = ListPostsRequest;\n  type blogV3Post_universal_d_ListPostsResponse = ListPostsResponse;\n  type blogV3Post_universal_d_QueryPostsRequest = QueryPostsRequest;\n  type blogV3Post_universal_d_QueryPostsResponse = QueryPostsResponse;\n  type blogV3Post_universal_d_GetPostMetricsRequest = GetPostMetricsRequest;\n  type blogV3Post_universal_d_GetPostMetricsResponse = GetPostMetricsResponse;\n  type blogV3Post_universal_d_BulkGetPostMetricsRequest = BulkGetPostMetricsRequest;\n  type blogV3Post_universal_d_BulkGetPostMetricsResponse = BulkGetPostMetricsResponse;\n  type blogV3Post_universal_d_ViewPostRequest = ViewPostRequest;\n  type blogV3Post_universal_d_ViewPostResponse = ViewPostResponse;\n  type blogV3Post_universal_d_LikePostRequest = LikePostRequest;\n  type blogV3Post_universal_d_LikePostResponse = LikePostResponse;\n  type blogV3Post_universal_d_UnlikePostRequest = UnlikePostRequest;\n  type blogV3Post_universal_d_UnlikePostResponse = UnlikePostResponse;\n  type blogV3Post_universal_d_PinPostRequest = PinPostRequest;\n  type blogV3Post_universal_d_PinPostResponse = PinPostResponse;\n  type blogV3Post_universal_d_UnpinPostRequest = UnpinPostRequest;\n  type blogV3Post_universal_d_UnpinPostResponse = UnpinPostResponse;\n  type blogV3Post_universal_d_ListPostsArchiveRequest = ListPostsArchiveRequest;\n  type blogV3Post_universal_d_ListPostsArchiveResponse = ListPostsArchiveResponse;\n  type blogV3Post_universal_d_BulkGetPostReactionsRequest = BulkGetPostReactionsRequest;\n  type blogV3Post_universal_d_BulkGetPostReactionsResponse = BulkGetPostReactionsResponse;\n  type blogV3Post_universal_d_Reactions = Reactions;\n  type blogV3Post_universal_d_QueryPublicationsCountStatsRequest = QueryPublicationsCountStatsRequest;\n  type blogV3Post_universal_d_QueryPublicationsCountStatsRequestOrder = QueryPublicationsCountStatsRequestOrder;\n  const blogV3Post_universal_d_QueryPublicationsCountStatsRequestOrder: typeof QueryPublicationsCountStatsRequestOrder;\n  type blogV3Post_universal_d_QueryPublicationsCountStatsResponse = QueryPublicationsCountStatsResponse;\n  type blogV3Post_universal_d_PeriodPublicationsCount = PeriodPublicationsCount;\n  type blogV3Post_universal_d_QueryPostCountStatsRequest = QueryPostCountStatsRequest;\n  type blogV3Post_universal_d_Order = Order;\n  const blogV3Post_universal_d_Order: typeof Order;\n  type blogV3Post_universal_d_QueryPostCountStatsResponse = QueryPostCountStatsResponse;\n  type blogV3Post_universal_d_PeriodPostCount = PeriodPostCount;\n  type blogV3Post_universal_d_GetTotalPublicationsRequest = GetTotalPublicationsRequest;\n  type blogV3Post_universal_d_GetTotalPublicationsResponse = GetTotalPublicationsResponse;\n  type blogV3Post_universal_d_GetTotalPostsRequest = GetTotalPostsRequest;\n  type blogV3Post_universal_d_GetTotalPostsResponse = GetTotalPostsResponse;\n  type blogV3Post_universal_d_SendActionEventRequest = SendActionEventRequest;\n  type blogV3Post_universal_d_SendActionEventRequestActionOneOf = SendActionEventRequestActionOneOf;\n  type blogV3Post_universal_d_SendActionEventResponse = SendActionEventResponse;\n  const blogV3Post_universal_d_listDemoPosts: typeof listDemoPosts;\n  type blogV3Post_universal_d_ListDemoPostsOptions = ListDemoPostsOptions;\n  const blogV3Post_universal_d_listTemplates: typeof listTemplates;\n  type blogV3Post_universal_d_ListTemplatesOptions = ListTemplatesOptions;\n  const blogV3Post_universal_d_getTemplate: typeof getTemplate;\n  const blogV3Post_universal_d_createDraftPostFromTemplate: typeof createDraftPostFromTemplate;\n  const blogV3Post_universal_d_getTotalLikesPerMember: typeof getTotalLikesPerMember;\n  const blogV3Post_universal_d_getPost: typeof getPost;\n  type blogV3Post_universal_d_GetPostOptions = GetPostOptions;\n  const blogV3Post_universal_d_getPostBySlug: typeof getPostBySlug;\n  type blogV3Post_universal_d_GetPostBySlugOptions = GetPostBySlugOptions;\n  const blogV3Post_universal_d_listPosts: typeof listPosts;\n  type blogV3Post_universal_d_ListPostsOptions = ListPostsOptions;\n  const blogV3Post_universal_d_queryPosts: typeof queryPosts;\n  type blogV3Post_universal_d_QueryPostsOptions = QueryPostsOptions;\n  type blogV3Post_universal_d_PostsQueryResult = PostsQueryResult;\n  type blogV3Post_universal_d_PostsQueryBuilder = PostsQueryBuilder;\n  const blogV3Post_universal_d_getPostMetrics: typeof getPostMetrics;\n  const blogV3Post_universal_d_bulkGetPostMetrics: typeof bulkGetPostMetrics;\n  const blogV3Post_universal_d_viewPost: typeof viewPost;\n  const blogV3Post_universal_d_likePost: typeof likePost;\n  type blogV3Post_universal_d_LikePostOptions = LikePostOptions;\n  const blogV3Post_universal_d_unlikePost: typeof unlikePost;\n  type blogV3Post_universal_d_UnlikePostOptions = UnlikePostOptions;\n  const blogV3Post_universal_d_pinPost: typeof pinPost;\n  type blogV3Post_universal_d_PinPostOptions = PinPostOptions;\n  const blogV3Post_universal_d_unpinPost: typeof unpinPost;\n  type blogV3Post_universal_d_UnpinPostOptions = UnpinPostOptions;\n  const blogV3Post_universal_d_listPostsArchive: typeof listPostsArchive;\n  type blogV3Post_universal_d_ListPostsArchiveOptions = ListPostsArchiveOptions;\n  const blogV3Post_universal_d_bulkGetPostReactions: typeof bulkGetPostReactions;\n  const blogV3Post_universal_d_queryPublicationsCountStats: typeof queryPublicationsCountStats;\n  type blogV3Post_universal_d_QueryPublicationsCountStatsOptions = QueryPublicationsCountStatsOptions;\n  const blogV3Post_universal_d_queryPostCountStats: typeof queryPostCountStats;\n  type blogV3Post_universal_d_QueryPostCountStatsOptions = QueryPostCountStatsOptions;\n  const blogV3Post_universal_d_getTotalPublications: typeof getTotalPublications;\n  type blogV3Post_universal_d_GetTotalPublicationsOptions = GetTotalPublicationsOptions;\n  const blogV3Post_universal_d_getTotalPosts: typeof getTotalPosts;\n  type blogV3Post_universal_d_GetTotalPostsOptions = GetTotalPostsOptions;\n  const blogV3Post_universal_d_sendActionEvent: typeof sendActionEvent;\n  type blogV3Post_universal_d_SendActionEventOptions = SendActionEventOptions;\n  namespace blogV3Post_universal_d {\n    export {\n      blogV3Post_universal_d_Post as Post,\n      blogV3Post_universal_d_CoverMedia as CoverMedia,\n      blogV3Post_universal_d_CoverMediaMediaOneOf as CoverMediaMediaOneOf,\n      blogV3Post_universal_d_FocalPoint as FocalPoint,\n      blogV3Post_universal_d_PostCountInfo as PostCountInfo,\n      blogV3Post_universal_d_Metrics as Metrics,\n      SeoSchema$1 as SeoSchema,\n      Keyword$1 as Keyword,\n      Tag$1 as Tag,\n      Settings$1 as Settings,\n      blogV3Post_universal_d_RichContent as RichContent,\n      blogV3Post_universal_d_Node as Node,\n      blogV3Post_universal_d_NodeDataOneOf as NodeDataOneOf,\n      blogV3Post_universal_d_NodeType as NodeType,\n      blogV3Post_universal_d_NodeStyle as NodeStyle,\n      blogV3Post_universal_d_ButtonData as ButtonData,\n      blogV3Post_universal_d_Border as Border,\n      blogV3Post_universal_d_Colors as Colors,\n      blogV3Post_universal_d_PluginContainerData as PluginContainerData,\n      blogV3Post_universal_d_WidthType as WidthType,\n      blogV3Post_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      blogV3Post_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      blogV3Post_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      blogV3Post_universal_d_Spoiler as Spoiler,\n      blogV3Post_universal_d_Height as Height,\n      blogV3Post_universal_d_Type as Type,\n      blogV3Post_universal_d_Styles as Styles,\n      blogV3Post_universal_d_Link as Link,\n      blogV3Post_universal_d_LinkDataOneOf as LinkDataOneOf,\n      blogV3Post_universal_d_Target as Target,\n      blogV3Post_universal_d_Rel as Rel,\n      blogV3Post_universal_d_CodeBlockData as CodeBlockData,\n      blogV3Post_universal_d_TextStyle as TextStyle,\n      blogV3Post_universal_d_TextAlignment as TextAlignment,\n      blogV3Post_universal_d_DividerData as DividerData,\n      blogV3Post_universal_d_LineStyle as LineStyle,\n      blogV3Post_universal_d_Width as Width,\n      blogV3Post_universal_d_Alignment as Alignment,\n      blogV3Post_universal_d_FileData as FileData,\n      blogV3Post_universal_d_ViewMode as ViewMode,\n      blogV3Post_universal_d_FileSource as FileSource,\n      blogV3Post_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      blogV3Post_universal_d_PDFSettings as PDFSettings,\n      blogV3Post_universal_d_GalleryData as GalleryData,\n      blogV3Post_universal_d_Media as Media,\n      blogV3Post_universal_d_Image as Image,\n      blogV3Post_universal_d_Video as Video,\n      blogV3Post_universal_d_Item as Item,\n      blogV3Post_universal_d_ItemDataOneOf as ItemDataOneOf,\n      blogV3Post_universal_d_GalleryOptions as GalleryOptions,\n      blogV3Post_universal_d_LayoutType as LayoutType,\n      blogV3Post_universal_d_Orientation as Orientation,\n      blogV3Post_universal_d_Crop as Crop,\n      blogV3Post_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      blogV3Post_universal_d_Layout as Layout,\n      blogV3Post_universal_d_ItemStyle as ItemStyle,\n      blogV3Post_universal_d_Thumbnails as Thumbnails,\n      blogV3Post_universal_d_GIFData as GIFData,\n      blogV3Post_universal_d_GIF as GIF,\n      blogV3Post_universal_d_HeadingData as HeadingData,\n      blogV3Post_universal_d_HTMLData as HTMLData,\n      blogV3Post_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      blogV3Post_universal_d_Source as Source,\n      blogV3Post_universal_d_ImageData as ImageData,\n      blogV3Post_universal_d_LinkPreviewData as LinkPreviewData,\n      blogV3Post_universal_d_MapData as MapData,\n      blogV3Post_universal_d_MapSettings as MapSettings,\n      blogV3Post_universal_d_MapType as MapType,\n      blogV3Post_universal_d_ParagraphData as ParagraphData,\n      blogV3Post_universal_d_PollData as PollData,\n      blogV3Post_universal_d_ViewRole as ViewRole,\n      blogV3Post_universal_d_VoteRole as VoteRole,\n      blogV3Post_universal_d_Permissions as Permissions,\n      blogV3Post_universal_d_Option as Option,\n      blogV3Post_universal_d_PollSettings as PollSettings,\n      blogV3Post_universal_d_PollLayoutType as PollLayoutType,\n      blogV3Post_universal_d_PollLayoutDirection as PollLayoutDirection,\n      blogV3Post_universal_d_PollLayout as PollLayout,\n      blogV3Post_universal_d_OptionLayout as OptionLayout,\n      blogV3Post_universal_d_BackgroundType as BackgroundType,\n      blogV3Post_universal_d_Gradient as Gradient,\n      blogV3Post_universal_d_Background as Background,\n      blogV3Post_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      blogV3Post_universal_d_PollDesign as PollDesign,\n      blogV3Post_universal_d_OptionDesign as OptionDesign,\n      blogV3Post_universal_d_Poll as Poll,\n      blogV3Post_universal_d_PollDataLayout as PollDataLayout,\n      blogV3Post_universal_d_Design as Design,\n      blogV3Post_universal_d_TextData as TextData,\n      blogV3Post_universal_d_Decoration as Decoration,\n      blogV3Post_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      blogV3Post_universal_d_DecorationType as DecorationType,\n      blogV3Post_universal_d_AnchorData as AnchorData,\n      blogV3Post_universal_d_ColorData as ColorData,\n      blogV3Post_universal_d_LinkData as LinkData,\n      blogV3Post_universal_d_MentionData as MentionData,\n      blogV3Post_universal_d_FontSizeData as FontSizeData,\n      blogV3Post_universal_d_FontType as FontType,\n      blogV3Post_universal_d_SpoilerData as SpoilerData,\n      blogV3Post_universal_d_AppEmbedData as AppEmbedData,\n      blogV3Post_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      blogV3Post_universal_d_AppType as AppType,\n      blogV3Post_universal_d_BookingData as BookingData,\n      blogV3Post_universal_d_EventData as EventData,\n      blogV3Post_universal_d_VideoData as VideoData,\n      blogV3Post_universal_d_PlaybackOptions as PlaybackOptions,\n      blogV3Post_universal_d_EmbedData as EmbedData,\n      blogV3Post_universal_d_Oembed as Oembed,\n      blogV3Post_universal_d_CollapsibleListData as CollapsibleListData,\n      blogV3Post_universal_d_InitialExpandedItems as InitialExpandedItems,\n      blogV3Post_universal_d_Direction as Direction,\n      blogV3Post_universal_d_TableData as TableData,\n      blogV3Post_universal_d_Dimensions as Dimensions,\n      blogV3Post_universal_d_TableCellData as TableCellData,\n      blogV3Post_universal_d_VerticalAlignment as VerticalAlignment,\n      blogV3Post_universal_d_CellStyle as CellStyle,\n      blogV3Post_universal_d_BorderColors as BorderColors,\n      blogV3Post_universal_d_NullValue as NullValue,\n      blogV3Post_universal_d_ListValue as ListValue,\n      blogV3Post_universal_d_AudioData as AudioData,\n      blogV3Post_universal_d_OrderedListData as OrderedListData,\n      blogV3Post_universal_d_BulletedListData as BulletedListData,\n      blogV3Post_universal_d_BlockquoteData as BlockquoteData,\n      blogV3Post_universal_d_CaptionData as CaptionData,\n      blogV3Post_universal_d_Metadata as Metadata,\n      blogV3Post_universal_d_DocumentStyle as DocumentStyle,\n      blogV3Post_universal_d_TextNodeStyle as TextNodeStyle,\n      blogV3Post_universal_d_ModerationDetails as ModerationDetails,\n      blogV3Post_universal_d_ModerationStatusStatus as ModerationStatusStatus,\n      blogV3Post_universal_d_BlogMedia as BlogMedia,\n      blogV3Post_universal_d_BlogMediaMediaOneOf as BlogMediaMediaOneOf,\n      blogV3Post_universal_d_WixMedia as WixMedia,\n      blogV3Post_universal_d_VideoResolution as VideoResolution,\n      blogV3Post_universal_d_EmbedMedia as EmbedMedia,\n      blogV3Post_universal_d_EmbedThumbnail as EmbedThumbnail,\n      blogV3Post_universal_d_EmbedVideo as EmbedVideo,\n      blogV3Post_universal_d_PostTranslation as PostTranslation,\n      blogV3Post_universal_d_OldBlogMigratedEvent as OldBlogMigratedEvent,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      blogV3Post_universal_d_ConvertDraftJsToRichContentRequest as ConvertDraftJsToRichContentRequest,\n      blogV3Post_universal_d_ConvertDraftJsToRichContentResponse as ConvertDraftJsToRichContentResponse,\n      blogV3Post_universal_d_ConvertRichContentToDraftJsRequest as ConvertRichContentToDraftJsRequest,\n      blogV3Post_universal_d_ConvertRichContentToDraftJsResponse as ConvertRichContentToDraftJsResponse,\n      blogV3Post_universal_d_ListDemoPostsRequest as ListDemoPostsRequest,\n      blogV3Post_universal_d_GetPostsSort as GetPostsSort,\n      blogV3Post_universal_d_BlogPaging as BlogPaging,\n      blogV3Post_universal_d_PostFieldField as PostFieldField,\n      blogV3Post_universal_d_ListDemoPostsResponse as ListDemoPostsResponse,\n      MetaData$1 as MetaData,\n      blogV3Post_universal_d_ListTemplatesRequest as ListTemplatesRequest,\n      blogV3Post_universal_d_GetPostTemplatesSort as GetPostTemplatesSort,\n      blogV3Post_universal_d_ListTemplatesResponse as ListTemplatesResponse,\n      blogV3Post_universal_d_Category as Category,\n      blogV3Post_universal_d_CategoryTranslation as CategoryTranslation,\n      blogV3Post_universal_d_GetTemplateRequest as GetTemplateRequest,\n      blogV3Post_universal_d_GetTemplateResponse as GetTemplateResponse,\n      blogV3Post_universal_d_CreateDraftPostFromTemplateRequest as CreateDraftPostFromTemplateRequest,\n      blogV3Post_universal_d_CreateDraftPostFromTemplateResponse as CreateDraftPostFromTemplateResponse,\n      blogV3Post_universal_d_DraftPost as DraftPost,\n      blogV3Post_universal_d_Origin as Origin,\n      blogV3Post_universal_d_Status as Status,\n      blogV3Post_universal_d_DraftPostTranslation as DraftPostTranslation,\n      blogV3Post_universal_d_GetTotalLikesPerMemberRequest as GetTotalLikesPerMemberRequest,\n      blogV3Post_universal_d_GetTotalLikesPerMemberResponse as GetTotalLikesPerMemberResponse,\n      blogV3Post_universal_d_PostLiked as PostLiked,\n      blogV3Post_universal_d_PostLikedInitiatorOneOf as PostLikedInitiatorOneOf,\n      blogV3Post_universal_d_PostUnliked as PostUnliked,\n      blogV3Post_universal_d_PostUnlikedInitiatorOneOf as PostUnlikedInitiatorOneOf,\n      blogV3Post_universal_d_PostCountersUpdated as PostCountersUpdated,\n      blogV3Post_universal_d_PostCountersUpdatedInitiatorOneOf as PostCountersUpdatedInitiatorOneOf,\n      Field$1 as Field,\n      blogV3Post_universal_d_PostOwnerChanged as PostOwnerChanged,\n      blogV3Post_universal_d_InitialPostsCopied as InitialPostsCopied,\n      blogV3Post_universal_d_GetPostRequest as GetPostRequest,\n      blogV3Post_universal_d_GetPostResponse as GetPostResponse,\n      blogV3Post_universal_d_GetPostBySlugRequest as GetPostBySlugRequest,\n      blogV3Post_universal_d_GetPostBySlugResponse as GetPostBySlugResponse,\n      blogV3Post_universal_d_ListPostsRequest as ListPostsRequest,\n      blogV3Post_universal_d_ListPostsResponse as ListPostsResponse,\n      blogV3Post_universal_d_QueryPostsRequest as QueryPostsRequest,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      PlatformQuery$1 as PlatformQuery,\n      PlatformQueryPagingMethodOneOf$1 as PlatformQueryPagingMethodOneOf,\n      Paging$1 as Paging,\n      CursorPaging$1 as CursorPaging,\n      blogV3Post_universal_d_QueryPostsResponse as QueryPostsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      blogV3Post_universal_d_GetPostMetricsRequest as GetPostMetricsRequest,\n      blogV3Post_universal_d_GetPostMetricsResponse as GetPostMetricsResponse,\n      blogV3Post_universal_d_BulkGetPostMetricsRequest as BulkGetPostMetricsRequest,\n      blogV3Post_universal_d_BulkGetPostMetricsResponse as BulkGetPostMetricsResponse,\n      blogV3Post_universal_d_ViewPostRequest as ViewPostRequest,\n      blogV3Post_universal_d_ViewPostResponse as ViewPostResponse,\n      blogV3Post_universal_d_LikePostRequest as LikePostRequest,\n      blogV3Post_universal_d_LikePostResponse as LikePostResponse,\n      blogV3Post_universal_d_UnlikePostRequest as UnlikePostRequest,\n      blogV3Post_universal_d_UnlikePostResponse as UnlikePostResponse,\n      blogV3Post_universal_d_PinPostRequest as PinPostRequest,\n      blogV3Post_universal_d_PinPostResponse as PinPostResponse,\n      blogV3Post_universal_d_UnpinPostRequest as UnpinPostRequest,\n      blogV3Post_universal_d_UnpinPostResponse as UnpinPostResponse,\n      blogV3Post_universal_d_ListPostsArchiveRequest as ListPostsArchiveRequest,\n      blogV3Post_universal_d_ListPostsArchiveResponse as ListPostsArchiveResponse,\n      blogV3Post_universal_d_BulkGetPostReactionsRequest as BulkGetPostReactionsRequest,\n      blogV3Post_universal_d_BulkGetPostReactionsResponse as BulkGetPostReactionsResponse,\n      blogV3Post_universal_d_Reactions as Reactions,\n      blogV3Post_universal_d_QueryPublicationsCountStatsRequest as QueryPublicationsCountStatsRequest,\n      blogV3Post_universal_d_QueryPublicationsCountStatsRequestOrder as QueryPublicationsCountStatsRequestOrder,\n      blogV3Post_universal_d_QueryPublicationsCountStatsResponse as QueryPublicationsCountStatsResponse,\n      blogV3Post_universal_d_PeriodPublicationsCount as PeriodPublicationsCount,\n      blogV3Post_universal_d_QueryPostCountStatsRequest as QueryPostCountStatsRequest,\n      blogV3Post_universal_d_Order as Order,\n      blogV3Post_universal_d_QueryPostCountStatsResponse as QueryPostCountStatsResponse,\n      blogV3Post_universal_d_PeriodPostCount as PeriodPostCount,\n      blogV3Post_universal_d_GetTotalPublicationsRequest as GetTotalPublicationsRequest,\n      blogV3Post_universal_d_GetTotalPublicationsResponse as GetTotalPublicationsResponse,\n      blogV3Post_universal_d_GetTotalPostsRequest as GetTotalPostsRequest,\n      blogV3Post_universal_d_GetTotalPostsResponse as GetTotalPostsResponse,\n      blogV3Post_universal_d_SendActionEventRequest as SendActionEventRequest,\n      blogV3Post_universal_d_SendActionEventRequestActionOneOf as SendActionEventRequestActionOneOf,\n      blogV3Post_universal_d_SendActionEventResponse as SendActionEventResponse,\n      blogV3Post_universal_d_listDemoPosts as listDemoPosts,\n      blogV3Post_universal_d_ListDemoPostsOptions as ListDemoPostsOptions,\n      blogV3Post_universal_d_listTemplates as listTemplates,\n      blogV3Post_universal_d_ListTemplatesOptions as ListTemplatesOptions,\n      blogV3Post_universal_d_getTemplate as getTemplate,\n      blogV3Post_universal_d_createDraftPostFromTemplate as createDraftPostFromTemplate,\n      blogV3Post_universal_d_getTotalLikesPerMember as getTotalLikesPerMember,\n      blogV3Post_universal_d_getPost as getPost,\n      blogV3Post_universal_d_GetPostOptions as GetPostOptions,\n      blogV3Post_universal_d_getPostBySlug as getPostBySlug,\n      blogV3Post_universal_d_GetPostBySlugOptions as GetPostBySlugOptions,\n      blogV3Post_universal_d_listPosts as listPosts,\n      blogV3Post_universal_d_ListPostsOptions as ListPostsOptions,\n      blogV3Post_universal_d_queryPosts as queryPosts,\n      blogV3Post_universal_d_QueryPostsOptions as QueryPostsOptions,\n      blogV3Post_universal_d_PostsQueryResult as PostsQueryResult,\n      blogV3Post_universal_d_PostsQueryBuilder as PostsQueryBuilder,\n      blogV3Post_universal_d_getPostMetrics as getPostMetrics,\n      blogV3Post_universal_d_bulkGetPostMetrics as bulkGetPostMetrics,\n      blogV3Post_universal_d_viewPost as viewPost,\n      blogV3Post_universal_d_likePost as likePost,\n      blogV3Post_universal_d_LikePostOptions as LikePostOptions,\n      blogV3Post_universal_d_unlikePost as unlikePost,\n      blogV3Post_universal_d_UnlikePostOptions as UnlikePostOptions,\n      blogV3Post_universal_d_pinPost as pinPost,\n      blogV3Post_universal_d_PinPostOptions as PinPostOptions,\n      blogV3Post_universal_d_unpinPost as unpinPost,\n      blogV3Post_universal_d_UnpinPostOptions as UnpinPostOptions,\n      blogV3Post_universal_d_listPostsArchive as listPostsArchive,\n      blogV3Post_universal_d_ListPostsArchiveOptions as ListPostsArchiveOptions,\n      blogV3Post_universal_d_bulkGetPostReactions as bulkGetPostReactions,\n      blogV3Post_universal_d_queryPublicationsCountStats as queryPublicationsCountStats,\n      blogV3Post_universal_d_QueryPublicationsCountStatsOptions as QueryPublicationsCountStatsOptions,\n      blogV3Post_universal_d_queryPostCountStats as queryPostCountStats,\n      blogV3Post_universal_d_QueryPostCountStatsOptions as QueryPostCountStatsOptions,\n      blogV3Post_universal_d_getTotalPublications as getTotalPublications,\n      blogV3Post_universal_d_GetTotalPublicationsOptions as GetTotalPublicationsOptions,\n      blogV3Post_universal_d_getTotalPosts as getTotalPosts,\n      blogV3Post_universal_d_GetTotalPostsOptions as GetTotalPostsOptions,\n      blogV3Post_universal_d_sendActionEvent as sendActionEvent,\n      blogV3Post_universal_d_SendActionEventOptions as SendActionEventOptions,\n    };\n  }\n  \n  interface Tag {\n      /**\n       * Tag ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Tag label.\n       *\n       * A blog can't have two tags with the same label.\n       */\n      label?: string;\n      /**\n       * Part of a tag's URL that refers to a specific tag.\n       *\n       *\n       * For example, `'https:/example.com/tags/{my-tag-slug}'`.\n       */\n      slug?: string;\n      /**\n       * Date the tag was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the tag was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Number of posts with this tag, including unpublished draft posts.\n       * @readonly\n       */\n      postCount?: number;\n      /**\n       * Tag URL.\n       *\n       *\n       * The `url` directs you to a page that lists every post with the specified tag.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Number of published posts with this tag.\n       * @readonly\n       */\n      publishedPostCount?: number;\n      /**\n       * ID of the tag's translations when [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-translating-your-blog) is installed on a site. All translations of a single tag will share the same `translationId`.\n       * @readonly\n       */\n      translationId?: string | null;\n      /**\n       * Tag language.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /**\n       * SEO data.\n       * @internal\n       */\n      seoData?: SeoSchema;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: SeoSchemaTag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface SeoSchemaTag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface InitialTagsCopied {\n      /** Number of tags copied. */\n      count?: number;\n  }\n  interface GetOrCreateTagRequest {\n      /** Tag name. Unique per blog. */\n      label: string;\n      /** Tag language. */\n      language?: string | null;\n      /**\n       * List of tag fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core tag properties.\n       * Example: When URL fieldset is selected, returned tag will have a set of base properties and tag url.\n       */\n      fieldsets?: Field[];\n      /**\n       * SEO data.\n       * @internal\n       */\n      seoData?: SeoSchema;\n  }\n  enum Field {\n      UNKNOWN = \"UNKNOWN\",\n      /** Includes Tag URL when present. */\n      URL = \"URL\",\n      /** Includes SEO data. */\n      SEO = \"SEO\"\n  }\n  interface GetOrCreateTagResponse {\n      /** Tag info. */\n      tag?: Tag;\n  }\n  interface CreateTagRequest {\n      /** Tag label. The label for each tag in a blog must be unique. */\n      label: string;\n      /**\n       * Tag language.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /** Preferred tag slug. For example, `'tag-slug'`. */\n      slug?: string | null;\n      /**\n       * List of additional tag fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the tag's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the tag's base fields are returned.\n       */\n      fieldsets?: Field[];\n      /**\n       * SEO data.\n       * @internal\n       */\n      seoData?: SeoSchema;\n  }\n  interface CreateTagResponse {\n      /** Tag info. */\n      tag?: Tag;\n  }\n  interface UpdateTagRequest {\n      /** Tag info. */\n      tag?: Tag;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * List of tag fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core tag properties.\n       * Example: When URL fieldset is selected, returned tag will have a set of base properties and tag url.\n       */\n      fieldsets?: Field[];\n  }\n  interface UpdateTagResponse {\n      /** Tag info. */\n      tag?: Tag;\n  }\n  interface BulkCreateTagsRequest {\n      /** Tags to create. */\n      tags: Tag[];\n      /** Whether to return the full created tag entities in the response. */\n      returnFullEntity?: boolean;\n      /**\n       * List of tag fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core tag properties.\n       * Example: When URL fieldset is selected, returned tag will have a set of base properties and tag url.\n       */\n      fieldsets?: Field[];\n  }\n  interface BulkCreateTagsResponse {\n      /** Tags created by bulk action. */\n      results?: BulkTagResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkTagResult {\n      /** Bulk actions metadata for tag. */\n      itemMetadata?: ItemMetadata;\n      /** Optional created tag. */\n      item?: Tag;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetTagsCountByLanguageRequest {\n  }\n  interface GetTagsCountByLanguageResponse {\n      /** The language and it's count. */\n      tagsLanguageCount?: TagLanguageCount[];\n  }\n  interface TagLanguageCount {\n      /** 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. */\n      languageCode?: string | null;\n      /** The count of tags for the language. */\n      tagCount?: number | null;\n  }\n  interface GetTagByLabelRequest {\n      /** Tag label. */\n      label: string;\n      /**\n       * Tag language.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If omitted, tags in all languages are returned.\n       */\n      language?: string | null;\n      /**\n       * List of additional tag fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the tag's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the tag's base fields are returned.\n       */\n      fieldsets?: Field[];\n  }\n  interface GetTagByLabelResponse {\n      /** Tag info. */\n      tag?: Tag;\n  }\n  interface GetTagRequest {\n      /** Tag ID. */\n      tagId: string;\n      /**\n       * List of additional tag fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the tag's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the tag's base fields are returned.\n       */\n      fieldsets?: Field[];\n  }\n  interface GetTagResponse {\n      /** Tag info. */\n      tag?: Tag;\n  }\n  interface GetTagBySlugRequest {\n      /** Slug of the tag to retrieve. */\n      slug: string;\n      /**\n       * List of additional tag fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the tag's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the tag's base fields are returned.\n       */\n      fieldsets?: Field[];\n      /**\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Language of the tag to retrieve.\n       */\n      language?: string | null;\n  }\n  interface GetTagBySlugResponse {\n      /** Tag info. */\n      tag?: Tag;\n  }\n  interface QueryTagsRequest {\n      /** Query options. */\n      query?: PlatformQuery;\n      /**\n       * List of additional tag fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the tag's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the tag's base fields are returned.\n       */\n      fieldsets?: Field[];\n  }\n  interface PlatformQuery extends PlatformQueryPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTagsResponse {\n      /** List of tags. */\n      tags?: Tag[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListTagsRequest extends ListTagsRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `sort`. */\n      cursorPaging?: CursorPaging;\n      /** Sorting options. For a list of sortable fields, see [Field Support for Filtering and Sorting](https://dev.wix.com/api/rest/community/blog/filter-and-sort). */\n      sort?: Sorting[];\n      /**\n       * List of tag fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core tag properties.\n       * Example: When URL fieldset is selected, returned tag will have a set of base properties and tag url.\n       */\n      fieldsets?: Field[];\n  }\n  /** @oneof */\n  interface ListTagsRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface ListTagsResponse {\n      /** List of tags. */\n      tags?: Tag[];\n      /** Details on the paged set of results returned. */\n      metaData?: MetaData;\n  }\n  interface MetaData {\n      /** Number of items returned in this response. */\n      count?: number;\n      /** Requested offset. */\n      offset?: number;\n      /** Total number of items that match the query. */\n      total?: number;\n      /** Pointer to the next or previous page in the list of results. */\n      cursor?: string | null;\n  }\n  interface BulkDeleteTagRequest {\n      /** Tag IDs. */\n      tagIds: string[];\n      /** Should delete bypassing the trash-bin. */\n      permanent?: boolean;\n  }\n  interface BulkDeleteTagResponse {\n  }\n  interface DeleteTagRequest {\n      /** Tag ID. */\n      tagId: string;\n  }\n  interface DeleteTagResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * If a tag already exists with the provided label, returns this tag. Otherwise, the request creates a new tag with the provided label.\n   * @param label - Tag name. Unique per blog.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField label\n   * @permissionId BLOG.READ_TAG\n   */\n  function getOrCreateTag(label: string, options?: GetOrCreateTagOptions): Promise<GetOrCreateTagResponse>;\n  interface GetOrCreateTagOptions {\n      /** Tag language. */\n      language?: string | null;\n      /**\n       * List of tag fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core tag properties.\n       * Example: When URL fieldset is selected, returned tag will have a set of base properties and tag url.\n       */\n      fieldsets?: Field[];\n      /**\n       * SEO data.\n       * @internal\n       */\n      seoData?: SeoSchema;\n  }\n  /**\n   * Creates a new tag with the provided label if a tag with the same label doesn't already exist.\n   * @param label - Tag label. The label for each tag in a blog must be unique.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField label\n   * @permissionId BLOG.CREATE-TAG\n   * @adminMethod\n   */\n  function createTag(label: string, options?: CreateTagOptions): Promise<CreateTagResponse>;\n  interface CreateTagOptions {\n      /**\n       * Tag language.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       */\n      language?: string | null;\n      /** Preferred tag slug. For example, `'tag-slug'`. */\n      slug?: string | null;\n      /**\n       * List of additional tag fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n       * the response in addition to the tag's base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the tag's base fields are returned.\n       */\n      fieldsets?: Field[];\n      /**\n       * SEO data.\n       * @internal\n       */\n      seoData?: SeoSchema;\n  }\n  /**\n   * Updates a tag.\n   * @param _id - Tag ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId BLOG.EDIT-TAG\n   * @adminMethod\n   * @returns Tag info.\n   */\n  function updateTag(_id: string, options?: UpdateTagOptions): Promise<Tag>;\n  interface UpdateTagOptions {\n      tag: {\n          /**\n           * Tag ID.\n           * @readonly\n           */\n          _id?: string;\n          /**\n           * Tag label.\n           *\n           * A blog can't have two tags with the same label.\n           */\n          label?: string;\n          /**\n           * Part of a tag's URL that refers to a specific tag.\n           *\n           *\n           * For example, `'https:/example.com/tags/{my-tag-slug}'`.\n           */\n          slug?: string;\n          /**\n           * Date the tag was created.\n           * @readonly\n           */\n          _createdDate?: Date | null;\n          /**\n           * Date the tag was last updated.\n           * @readonly\n           */\n          _updatedDate?: Date | null;\n          /**\n           * Number of posts with this tag, including unpublished draft posts.\n           * @readonly\n           */\n          postCount?: number;\n          /**\n           * Tag URL.\n           *\n           *\n           * The `url` directs you to a page that lists every post with the specified tag.\n           * @readonly\n           */\n          url?: string;\n          /**\n           * Number of published posts with this tag.\n           * @readonly\n           */\n          publishedPostCount?: number;\n          /**\n           * ID of the tag's translations when [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-translating-your-blog) is installed on a site. All translations of a single tag will share the same `translationId`.\n           * @readonly\n           */\n          translationId?: string | null;\n          /**\n           * Tag language.\n           *\n           * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n           */\n          language?: string | null;\n          /**\n           * SEO data.\n           * @internal\n           */\n          seoData?: SeoSchema;\n      };\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * List of tag fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core tag properties.\n       * Example: When URL fieldset is selected, returned tag will have a set of base properties and tag url.\n       */\n      fieldsets?: Field[];\n  }\n  /**\n   * Creates multiple tags.\n   * @param tags - Tags to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField tags\n   * @requiredField tags.label\n   * @permissionId BLOG.CREATE-TAG\n   * @adminMethod\n   */\n  function bulkCreateTags(tags: Tag[], options?: BulkCreateTagsOptions): Promise<BulkCreateTagsResponse>;\n  interface BulkCreateTagsOptions {\n      /** Whether to return the full created tag entities in the response. */\n      returnFullEntity?: boolean;\n      /**\n       * List of tag fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core tag properties.\n       * Example: When URL fieldset is selected, returned tag will have a set of base properties and tag url.\n       */\n      fieldsets?: Field[];\n  }\n  /**\n   * Retrieves a count of tags for every site language.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BLOG.READ_TAG\n   */\n  function getTagsCountByLanguage(): Promise<GetTagsCountByLanguageResponse>;\n  /**\n   * Gets a tag by the specified label.\n   *\n   * The `getTagByLabel()` function returns a Promise that resolves to a tag whose label matches the specified label.\n   * @param label - Tag label.\n   * @public\n   * @requiredField label\n   * @param options - Options specifying which additional fields to return.\n   * @permissionId BLOG.READ_TAG\n   */\n  function getTagByLabel(label: string, options?: GetTagByLabelOptions): Promise<GetTagByLabelResponse>;\n  interface GetTagByLabelOptions {\n      /**\n       * Tag language.\n       *\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If omitted, tags in all languages are returned.\n       */\n      language?: string | null;\n      /** List of additional tag fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: Field[];\n  }\n  /**\n   * Gets a tag by the specified ID.\n   *\n   *\n   * The `getTag()` function returns a Promise that resolves to a tag whose ID matches the specified ID.\n   * @param tagId - Tag ID.\n   * @public\n   * @requiredField tagId\n   * @param options - Options specifying which additional fields to return.\n   * @permissionId BLOG.READ_TAG\n   * @returns Tag info.\n   */\n  function getTag(tagId: string, options?: GetTagOptions): Promise<Tag>;\n  interface GetTagOptions {\n      /** List of additional tag fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: Field[];\n  }\n  /**\n   * Gets a tag by the specified slug.\n   *\n   *\n   * The `getTagBySlug()` function returns a Promise that resolves to a tag whose slug matches the specified slug.\n   *\n   * The `slug` is the end of a tag's URL that refers to a specific tag. For example, if a tag's URL is `https://example.com/blog/tag/{my-tag-slug}`, the slug is `my-tag-slug`. The slug is case-sensitive and derived from the tag's `label`.\n   * @param slug - Slug of the tag to retrieve.\n   * @public\n   * @requiredField slug\n   * @param options - Options specifying which additional fields to return.\n   * @permissionId BLOG.READ_TAG\n   */\n  function getTagBySlug(slug: string, options?: GetTagBySlugOptions): Promise<GetTagBySlugResponse>;\n  interface GetTagBySlugOptions {\n      /** List of additional tag fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: Field[];\n      /**\n       * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Language of the tag to retrieve.\n       */\n      language?: string | null;\n  }\n  /**\n   * Creates a query to retrieve a list of tags.\n   *\n   *\n   * The `queryTags()` function builds a query to retrieve a list of up to 4,000 tags per language, and returns a [`TagsQueryBuilder`](https://www.wix.com/velo/reference/wix-blog-backend/tags/tagsquerybuilder) object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [`find()`](https://www.wix.com/velo/reference/wix-blog-backend/tags/tagsquerybuilder/find) function.\n   *\n   * You can refine the query by chaining `TagsQueryBuilder` functions onto the query. `TagsQueryBuilder` functions enable you to sort, filter, and control the results that `queryTags()` returns.\n   *\n   * `queryTags()` runs with these `TagsQueryBuilder` defaults that can be overridden:\n   * - [`limit(50)`](https://www.wix.com/velo/reference/wix-blog-backend/tags/tagsquerybuilder/limit)\n   * - [`ascending('_id')`](https://www.wix.com/velo/reference/wix-blog-backend/tags/tagsquerybuilder/ascending)\n   *\n   * The following `TagQueryBuilder` functions are supported for `queryTags()`. For a full description of the Tags object, see the object returned for the [`items`](https://www.wix.com/velo/reference/wix-blog-backend/tags/tagsqueryresult/items) property in [`TagsQueryResult`](https://www.wix.com/velo/reference/wix-blog-backend/tags/tagsqueryresult).\n   * @public\n   * @param options - Options specifying which fields to return.\n   * @permissionId BLOG.READ_TAG\n   */\n  function queryTags(options?: QueryTagsOptions): TagsQueryBuilder;\n  interface QueryTagsOptions {\n      /** List of additional tag fields to be included in the response. By default, any fields not passed are not returned. */\n      fieldsets?: Field[] | undefined;\n  }\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TagsQueryResult extends QueryOffsetResult {\n      items: Tag[];\n      query: TagsQueryBuilder;\n      next: () => Promise<TagsQueryResult>;\n      prev: () => Promise<TagsQueryResult>;\n  }\n  interface TagsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'label' | 'slug' | 'postCount' | 'publishedPostCount' | 'translationId' | 'language', value: any) => TagsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'label' | 'slug' | 'postCount' | 'publishedPostCount' | 'translationId' | 'language', value: any) => TagsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: 'postCount' | 'publishedPostCount', value: any) => TagsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: 'postCount' | 'publishedPostCount', value: any) => TagsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: 'postCount' | 'publishedPostCount', value: any) => TagsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: 'postCount' | 'publishedPostCount', value: any) => TagsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: 'label' | 'slug', value: string) => TagsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: 'label' | 'slug', value: any[]) => TagsQueryBuilder;\n      in: (propertyName: '_id' | 'label' | 'slug' | 'postCount' | 'publishedPostCount' | 'translationId' | 'language', value: any) => TagsQueryBuilder;\n      exists: (propertyName: 'label' | 'slug' | 'translationId' | 'language', value: boolean) => TagsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'label' | 'slug' | 'postCount' | 'publishedPostCount' | 'language'>) => TagsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'label' | 'slug' | 'postCount' | 'publishedPostCount' | 'language'>) => TagsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => TagsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => TagsQueryBuilder;\n      find: () => Promise<TagsQueryResult>;\n  }\n  /**\n   * Lists tags. Default sort is descending by post count and default tag size is 50.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BLOG.READ_TAG\n   */\n  function listTags(options?: ListTagsOptions): Promise<ListTagsResponse>;\n  interface ListTagsOptions extends ListTagsRequestPagingMethodOneOf {\n      /** Sorting options. For a list of sortable fields, see [Field Support for Filtering and Sorting](https://dev.wix.com/api/rest/community/blog/filter-and-sort). */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * List of tag fields to be included if entities are present in the response.\n       * Base fieldset, which is default, will return all core tag properties.\n       * Example: When URL fieldset is selected, returned tag will have a set of base properties and tag url.\n       */\n      fieldsets?: Field[];\n  }\n  /**\n   * Bulk delete for tags\n   * @param tagIds - Tag IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField tagIds\n   * @permissionId BLOG.DELETE_TAG\n   * @adminMethod\n   */\n  function bulkDeleteTag(tagIds: string[], options?: BulkDeleteTagOptions): Promise<void>;\n  interface BulkDeleteTagOptions {\n      /** Should delete bypassing the trash-bin. */\n      permanent?: boolean;\n  }\n  /**\n   * Deletes a tag. Deleting a tag removes that tag from all blog posts that contain it.\n   * @param tagId - Tag ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tagId\n   * @permissionId BLOG.DELETE_TAG\n   * @adminMethod\n   */\n  function deleteTag(tagId: string): Promise<void>;\n  \n  type blogV3Tag_universal_d_Tag = Tag;\n  type blogV3Tag_universal_d_SeoSchema = SeoSchema;\n  type blogV3Tag_universal_d_Keyword = Keyword;\n  type blogV3Tag_universal_d_SeoSchemaTag = SeoSchemaTag;\n  type blogV3Tag_universal_d_Settings = Settings;\n  type blogV3Tag_universal_d_InitialTagsCopied = InitialTagsCopied;\n  type blogV3Tag_universal_d_GetOrCreateTagRequest = GetOrCreateTagRequest;\n  type blogV3Tag_universal_d_Field = Field;\n  const blogV3Tag_universal_d_Field: typeof Field;\n  type blogV3Tag_universal_d_GetOrCreateTagResponse = GetOrCreateTagResponse;\n  type blogV3Tag_universal_d_CreateTagRequest = CreateTagRequest;\n  type blogV3Tag_universal_d_CreateTagResponse = CreateTagResponse;\n  type blogV3Tag_universal_d_UpdateTagRequest = UpdateTagRequest;\n  type blogV3Tag_universal_d_UpdateTagResponse = UpdateTagResponse;\n  type blogV3Tag_universal_d_BulkCreateTagsRequest = BulkCreateTagsRequest;\n  type blogV3Tag_universal_d_BulkCreateTagsResponse = BulkCreateTagsResponse;\n  type blogV3Tag_universal_d_BulkTagResult = BulkTagResult;\n  type blogV3Tag_universal_d_ItemMetadata = ItemMetadata;\n  type blogV3Tag_universal_d_ApplicationError = ApplicationError;\n  type blogV3Tag_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type blogV3Tag_universal_d_GetTagsCountByLanguageRequest = GetTagsCountByLanguageRequest;\n  type blogV3Tag_universal_d_GetTagsCountByLanguageResponse = GetTagsCountByLanguageResponse;\n  type blogV3Tag_universal_d_TagLanguageCount = TagLanguageCount;\n  type blogV3Tag_universal_d_GetTagByLabelRequest = GetTagByLabelRequest;\n  type blogV3Tag_universal_d_GetTagByLabelResponse = GetTagByLabelResponse;\n  type blogV3Tag_universal_d_GetTagRequest = GetTagRequest;\n  type blogV3Tag_universal_d_GetTagResponse = GetTagResponse;\n  type blogV3Tag_universal_d_GetTagBySlugRequest = GetTagBySlugRequest;\n  type blogV3Tag_universal_d_GetTagBySlugResponse = GetTagBySlugResponse;\n  type blogV3Tag_universal_d_QueryTagsRequest = QueryTagsRequest;\n  type blogV3Tag_universal_d_PlatformQuery = PlatformQuery;\n  type blogV3Tag_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n  type blogV3Tag_universal_d_Sorting = Sorting;\n  type blogV3Tag_universal_d_SortOrder = SortOrder;\n  const blogV3Tag_universal_d_SortOrder: typeof SortOrder;\n  type blogV3Tag_universal_d_Paging = Paging;\n  type blogV3Tag_universal_d_CursorPaging = CursorPaging;\n  type blogV3Tag_universal_d_QueryTagsResponse = QueryTagsResponse;\n  type blogV3Tag_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type blogV3Tag_universal_d_Cursors = Cursors;\n  type blogV3Tag_universal_d_ListTagsRequest = ListTagsRequest;\n  type blogV3Tag_universal_d_ListTagsRequestPagingMethodOneOf = ListTagsRequestPagingMethodOneOf;\n  type blogV3Tag_universal_d_ListTagsResponse = ListTagsResponse;\n  type blogV3Tag_universal_d_MetaData = MetaData;\n  type blogV3Tag_universal_d_BulkDeleteTagRequest = BulkDeleteTagRequest;\n  type blogV3Tag_universal_d_BulkDeleteTagResponse = BulkDeleteTagResponse;\n  type blogV3Tag_universal_d_DeleteTagRequest = DeleteTagRequest;\n  type blogV3Tag_universal_d_DeleteTagResponse = DeleteTagResponse;\n  type blogV3Tag_universal_d_DomainEvent = DomainEvent;\n  type blogV3Tag_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type blogV3Tag_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type blogV3Tag_universal_d_RestoreInfo = RestoreInfo;\n  type blogV3Tag_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type blogV3Tag_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type blogV3Tag_universal_d_ActionEvent = ActionEvent;\n  type blogV3Tag_universal_d_MessageEnvelope = MessageEnvelope;\n  type blogV3Tag_universal_d_IdentificationData = IdentificationData;\n  type blogV3Tag_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type blogV3Tag_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const blogV3Tag_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const blogV3Tag_universal_d_getOrCreateTag: typeof getOrCreateTag;\n  type blogV3Tag_universal_d_GetOrCreateTagOptions = GetOrCreateTagOptions;\n  const blogV3Tag_universal_d_createTag: typeof createTag;\n  type blogV3Tag_universal_d_CreateTagOptions = CreateTagOptions;\n  const blogV3Tag_universal_d_updateTag: typeof updateTag;\n  type blogV3Tag_universal_d_UpdateTagOptions = UpdateTagOptions;\n  const blogV3Tag_universal_d_bulkCreateTags: typeof bulkCreateTags;\n  type blogV3Tag_universal_d_BulkCreateTagsOptions = BulkCreateTagsOptions;\n  const blogV3Tag_universal_d_getTagsCountByLanguage: typeof getTagsCountByLanguage;\n  const blogV3Tag_universal_d_getTagByLabel: typeof getTagByLabel;\n  type blogV3Tag_universal_d_GetTagByLabelOptions = GetTagByLabelOptions;\n  const blogV3Tag_universal_d_getTag: typeof getTag;\n  type blogV3Tag_universal_d_GetTagOptions = GetTagOptions;\n  const blogV3Tag_universal_d_getTagBySlug: typeof getTagBySlug;\n  type blogV3Tag_universal_d_GetTagBySlugOptions = GetTagBySlugOptions;\n  const blogV3Tag_universal_d_queryTags: typeof queryTags;\n  type blogV3Tag_universal_d_QueryTagsOptions = QueryTagsOptions;\n  type blogV3Tag_universal_d_TagsQueryResult = TagsQueryResult;\n  type blogV3Tag_universal_d_TagsQueryBuilder = TagsQueryBuilder;\n  const blogV3Tag_universal_d_listTags: typeof listTags;\n  type blogV3Tag_universal_d_ListTagsOptions = ListTagsOptions;\n  const blogV3Tag_universal_d_bulkDeleteTag: typeof bulkDeleteTag;\n  type blogV3Tag_universal_d_BulkDeleteTagOptions = BulkDeleteTagOptions;\n  const blogV3Tag_universal_d_deleteTag: typeof deleteTag;\n  namespace blogV3Tag_universal_d {\n    export {\n      blogV3Tag_universal_d_Tag as Tag,\n      blogV3Tag_universal_d_SeoSchema as SeoSchema,\n      blogV3Tag_universal_d_Keyword as Keyword,\n      blogV3Tag_universal_d_SeoSchemaTag as SeoSchemaTag,\n      blogV3Tag_universal_d_Settings as Settings,\n      blogV3Tag_universal_d_InitialTagsCopied as InitialTagsCopied,\n      blogV3Tag_universal_d_GetOrCreateTagRequest as GetOrCreateTagRequest,\n      blogV3Tag_universal_d_Field as Field,\n      blogV3Tag_universal_d_GetOrCreateTagResponse as GetOrCreateTagResponse,\n      blogV3Tag_universal_d_CreateTagRequest as CreateTagRequest,\n      blogV3Tag_universal_d_CreateTagResponse as CreateTagResponse,\n      blogV3Tag_universal_d_UpdateTagRequest as UpdateTagRequest,\n      blogV3Tag_universal_d_UpdateTagResponse as UpdateTagResponse,\n      blogV3Tag_universal_d_BulkCreateTagsRequest as BulkCreateTagsRequest,\n      blogV3Tag_universal_d_BulkCreateTagsResponse as BulkCreateTagsResponse,\n      blogV3Tag_universal_d_BulkTagResult as BulkTagResult,\n      blogV3Tag_universal_d_ItemMetadata as ItemMetadata,\n      blogV3Tag_universal_d_ApplicationError as ApplicationError,\n      blogV3Tag_universal_d_BulkActionMetadata as BulkActionMetadata,\n      blogV3Tag_universal_d_GetTagsCountByLanguageRequest as GetTagsCountByLanguageRequest,\n      blogV3Tag_universal_d_GetTagsCountByLanguageResponse as GetTagsCountByLanguageResponse,\n      blogV3Tag_universal_d_TagLanguageCount as TagLanguageCount,\n      blogV3Tag_universal_d_GetTagByLabelRequest as GetTagByLabelRequest,\n      blogV3Tag_universal_d_GetTagByLabelResponse as GetTagByLabelResponse,\n      blogV3Tag_universal_d_GetTagRequest as GetTagRequest,\n      blogV3Tag_universal_d_GetTagResponse as GetTagResponse,\n      blogV3Tag_universal_d_GetTagBySlugRequest as GetTagBySlugRequest,\n      blogV3Tag_universal_d_GetTagBySlugResponse as GetTagBySlugResponse,\n      blogV3Tag_universal_d_QueryTagsRequest as QueryTagsRequest,\n      blogV3Tag_universal_d_PlatformQuery as PlatformQuery,\n      blogV3Tag_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf,\n      blogV3Tag_universal_d_Sorting as Sorting,\n      blogV3Tag_universal_d_SortOrder as SortOrder,\n      blogV3Tag_universal_d_Paging as Paging,\n      blogV3Tag_universal_d_CursorPaging as CursorPaging,\n      blogV3Tag_universal_d_QueryTagsResponse as QueryTagsResponse,\n      blogV3Tag_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      blogV3Tag_universal_d_Cursors as Cursors,\n      blogV3Tag_universal_d_ListTagsRequest as ListTagsRequest,\n      blogV3Tag_universal_d_ListTagsRequestPagingMethodOneOf as ListTagsRequestPagingMethodOneOf,\n      blogV3Tag_universal_d_ListTagsResponse as ListTagsResponse,\n      blogV3Tag_universal_d_MetaData as MetaData,\n      blogV3Tag_universal_d_BulkDeleteTagRequest as BulkDeleteTagRequest,\n      blogV3Tag_universal_d_BulkDeleteTagResponse as BulkDeleteTagResponse,\n      blogV3Tag_universal_d_DeleteTagRequest as DeleteTagRequest,\n      blogV3Tag_universal_d_DeleteTagResponse as DeleteTagResponse,\n      blogV3Tag_universal_d_DomainEvent as DomainEvent,\n      blogV3Tag_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      blogV3Tag_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      blogV3Tag_universal_d_RestoreInfo as RestoreInfo,\n      blogV3Tag_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      blogV3Tag_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      blogV3Tag_universal_d_ActionEvent as ActionEvent,\n      blogV3Tag_universal_d_MessageEnvelope as MessageEnvelope,\n      blogV3Tag_universal_d_IdentificationData as IdentificationData,\n      blogV3Tag_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      blogV3Tag_universal_d_WebhookIdentityType as WebhookIdentityType,\n      blogV3Tag_universal_d_getOrCreateTag as getOrCreateTag,\n      blogV3Tag_universal_d_GetOrCreateTagOptions as GetOrCreateTagOptions,\n      blogV3Tag_universal_d_createTag as createTag,\n      blogV3Tag_universal_d_CreateTagOptions as CreateTagOptions,\n      blogV3Tag_universal_d_updateTag as updateTag,\n      blogV3Tag_universal_d_UpdateTagOptions as UpdateTagOptions,\n      blogV3Tag_universal_d_bulkCreateTags as bulkCreateTags,\n      blogV3Tag_universal_d_BulkCreateTagsOptions as BulkCreateTagsOptions,\n      blogV3Tag_universal_d_getTagsCountByLanguage as getTagsCountByLanguage,\n      blogV3Tag_universal_d_getTagByLabel as getTagByLabel,\n      blogV3Tag_universal_d_GetTagByLabelOptions as GetTagByLabelOptions,\n      blogV3Tag_universal_d_getTag as getTag,\n      blogV3Tag_universal_d_GetTagOptions as GetTagOptions,\n      blogV3Tag_universal_d_getTagBySlug as getTagBySlug,\n      blogV3Tag_universal_d_GetTagBySlugOptions as GetTagBySlugOptions,\n      blogV3Tag_universal_d_queryTags as queryTags,\n      blogV3Tag_universal_d_QueryTagsOptions as QueryTagsOptions,\n      blogV3Tag_universal_d_TagsQueryResult as TagsQueryResult,\n      blogV3Tag_universal_d_TagsQueryBuilder as TagsQueryBuilder,\n      blogV3Tag_universal_d_listTags as listTags,\n      blogV3Tag_universal_d_ListTagsOptions as ListTagsOptions,\n      blogV3Tag_universal_d_bulkDeleteTag as bulkDeleteTag,\n      blogV3Tag_universal_d_BulkDeleteTagOptions as BulkDeleteTagOptions,\n      blogV3Tag_universal_d_deleteTag as deleteTag,\n    };\n  }\n  \n  export { blogV1BlogCache_universal_d as blogCache, blogV1WordpressImport_universal_d as blogImporter, blogV3Category_universal_d as categories, blogV3Draft_universal_d as draftPosts, blogV3Post_universal_d as posts, blogV3Tag_universal_d as tags };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-ecom-backend.d.ts",
      "content": "declare module \"wix-ecom-backend\" {\n  interface GiftCard$7 {\n      /**\n       * Gift Card unique id\n       * @deprecated Gift Card unique id\n       */\n      _id?: string;\n      /** Gift Card obfuscated code */\n      obfuscatedCode?: string;\n      /** The currency code of the Gift Card */\n      currencyCode?: string;\n      /** The gift card currency balance */\n      balance?: Balance$2;\n      /** Gift card status */\n      status?: Status$6;\n      /** App def id of the GiftCard provider */\n      appDefId?: string;\n      /** Used for integration and tracking across different platforms. */\n      externalId?: string | null;\n  }\n  interface Balance$2 {\n      value?: number;\n  }\n  enum Status$6 {\n      UNDEFINED = \"UNDEFINED\",\n      VALID = \"VALID\",\n      EXPIRED = \"EXPIRED\",\n      DISABLED = \"DISABLED\"\n  }\n  interface GetRequest {\n      _id: string;\n  }\n  interface GetResponse {\n      giftCard?: DBGiftCard;\n  }\n  interface DBGiftCard {\n      _id?: string;\n      code?: string;\n      providerAppDefId?: string;\n      balance?: number;\n      currencyCode?: string;\n      orderId?: string;\n      _createdDate?: string;\n  }\n  interface ListGiftCardsRequest {\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$g[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$4;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$g {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$g;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$g {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$4 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListGiftCardsResponse {\n      giftCards?: DBGiftCard[];\n  }\n  interface ListTransactionsRequest {\n      query?: Query;\n  }\n  interface ListTransactionsResponse {\n      transactions?: DBTransaction[];\n  }\n  interface DBTransaction {\n      _id?: string;\n      giftCardId?: string;\n      amount?: number;\n      currencyCode?: string;\n      providerAppDefId?: string;\n      providerTransactionId?: string;\n      _createdDate?: string;\n      orderId?: string;\n      buyerMemberId?: string | null;\n      buyerVisitorId?: string | null;\n  }\n  interface GiftCardProviderWasProvisioned$1 {\n      /** The gift card provider which was installed */\n      providerAppDefId?: string;\n      providerInstanceId?: string;\n  }\n  interface CreateGiftCardRequest {\n      giftCardData: GiftCardData;\n  }\n  interface GiftCardData {\n      /** Gift Card unique code */\n      code?: string | null;\n      /** Gift Card initial balance */\n      balance?: number;\n      /** The currency code of the Gift Card */\n      currencyCode?: string;\n      /** External orderId by the Gift Card provider */\n      orderId?: string;\n  }\n  interface CreateGiftCardResponse {\n      giftCard?: GiftCard$7;\n  }\n  interface GetGiftCardRequest$1 {\n      /** Gift Card id */\n      _id: string;\n  }\n  interface GetGiftCardResponse$1 {\n      giftCard?: GiftCard$7;\n  }\n  interface GetGiftCardByCodeRequest {\n      /** Gift Card code */\n      code?: string;\n  }\n  interface GetGiftCardByCodeResponse {\n      giftCard?: GiftCard$7;\n  }\n  interface GetGiftCardByCodeRequestV2 {\n      /** Gift Card code */\n      code: string;\n      /**\n       * Physical location indicator\n       * This field is required for Square integration as a gift card provider, and should not be used with other providers\n       */\n      locationId?: string | null;\n  }\n  interface GetGiftCardByCodeResponseV2 {\n      giftCard?: GiftCard$7;\n  }\n  interface RedeemGiftCardRequest$1 {\n      /** Gift Card unique id */\n      _id?: string;\n      /** Amount to redeem from the gift card */\n      amount?: number;\n      /** The currency code to redeem */\n      currencyCode?: string;\n      /** Idempotency key for the current transaction */\n      orderId?: string;\n  }\n  interface RedeemGiftCardResponse$1 {\n      /** Unique id of the redemption transaction */\n      transactionId?: string;\n  }\n  interface RedeemGiftCardRequestV2 {\n      /** Gift Card code */\n      code: string;\n      /** Amount to redeem from the gift card */\n      amount: Money$1;\n      /** Idempotency key for the current transaction */\n      orderId?: string;\n      /** App def id of the GiftCard provider */\n      providerAppDefId: string;\n      /**\n       * Physical location indicator\n       * This field is required for Square integration as a gift card provider, and should not be used with other providers\n       */\n      locationId?: string | null;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money$1 {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface RedeemGiftCardResponseV2 {\n      /** Unique id of the gift card transaction */\n      transactionId?: string;\n  }\n  interface VoidTransactionRequest$1 {\n      /** Unique id of the redemption transaction */\n      transactionId?: string;\n  }\n  interface VoidTransactionResponse$1 {\n  }\n  /** Triggered when a gift card transaction is voided */\n  interface TransactionVoided {\n      /** The gift card which the transaction applies to */\n      giftCard?: GiftCard$7;\n      /** The transaction that was voided */\n      transaction?: Transaction$1;\n  }\n  interface Transaction$1 {\n      /** Transaction unique id */\n      _id?: string;\n      /** Gift Card obfuscated code */\n      obfuscatedCode?: string;\n      /** The currency code of the Gift Card */\n      providerUrl?: string;\n      /** App def id of the GiftCard provider */\n      providerAppDefId?: string;\n      /** Order id of the transaction */\n      orderId?: string;\n      /** Amount redeemed by the transaction */\n      amount?: number;\n      /** The currency code of the transaction */\n      currencyCode?: string;\n  }\n  interface VoidTransactionRequestV2 {\n      /** Unique id of the gift card transaction */\n      transactionId: string;\n      /** App def id of the GiftCard provider */\n      providerAppDefId: string;\n      /**\n       * Physical location indicator\n       * This field is required for Square integration as a gift card provider, and should not be used with other providers\n       */\n      locationId?: string | null;\n  }\n  interface VoidTransactionResponseV2 {\n  }\n  interface GetTransactionRequest {\n      /** Transaction id */\n      _id: string;\n  }\n  interface GetTransactionResponse {\n      /** Transaction */\n      transaction?: Transaction$1;\n  }\n  interface GetProviderUrlRequest {\n      /** App def id of the GiftCard provider */\n      providerAppDefId: string;\n  }\n  interface GetProviderUrlResponse {\n      /** The Dashboard URL of the gift card provider */\n      providerUrl?: string;\n  }\n  interface MetaSiteSpecialEvent$1 extends MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /** A list of \"assets\" (applications). The same as MetaSiteContext. */\n      assets?: Asset$1[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n  }\n  interface Asset$1 {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State$2;\n  }\n  enum State$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated$1 {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext$1;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace$2;\n  }\n  enum SiteCreatedContext$1 {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace$2 {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred$1 {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface DeleteContext$1 {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date;\n      /** A status. */\n      deleteStatus?: DeleteStatus$1;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus$1 {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted$1 {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished$1 {\n  }\n  interface SiteUnpublished$1 {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate$1 {\n  }\n  interface SiteMarkedAsWixSite$1 {\n  }\n  interface ServiceProvisioned$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  interface ServiceRemoved$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed$1 {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface NamespaceChanged$1 {\n      /** A previous namespace. */\n      oldNamespace?: Namespace$2;\n      /** A new namespace. */\n      newNamespace?: Namespace$2;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned$1 {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned$1 {\n  }\n  interface Empty$h {\n  }\n  interface DomainEvent$o extends DomainEventBodyOneOf$o {\n      createdEvent?: EntityCreatedEvent$o;\n      updatedEvent?: EntityUpdatedEvent$o;\n      deletedEvent?: EntityDeletedEvent$o;\n      actionEvent?: ActionEvent$o;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$o {\n      createdEvent?: EntityCreatedEvent$o;\n      updatedEvent?: EntityUpdatedEvent$o;\n      deletedEvent?: EntityDeletedEvent$o;\n      actionEvent?: ActionEvent$o;\n  }\n  interface EntityCreatedEvent$o {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$o;\n  }\n  interface RestoreInfo$o {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$o {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$o {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$o {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$n {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$o;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$o extends IdentificationDataIdOneOf$o {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$n;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$o {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$n {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function get(_id: string): Promise<GetResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listGiftCards(options?: ListGiftCardsOptions): Promise<ListGiftCardsResponse>;\n  interface ListGiftCardsOptions {\n      query?: Query;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listTransactions(options?: ListTransactionsOptions): Promise<ListTransactionsResponse>;\n  interface ListTransactionsOptions {\n      query?: Query;\n  }\n  /**\n   * Create a gift card\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField giftCardData\n   * @requiredField giftCardData.code\n   * @permissionId GIFT_CARDS_PROXY.CREATE\n   * @deprecated\n   * @targetRemovalDate 2025-08-01\n   */\n  function createGiftCard(giftCardData: GiftCardData): Promise<CreateGiftCardResponse>;\n  /**\n   * Get gift card by id\n   * @param _id - Gift Card id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId GIFT_CARDS_PROXY.READ\n   */\n  function getGiftCard$1(_id: string): Promise<GiftCard$7>;\n  /**\n   * Get gift card by code\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId GIFT_CARDS_PROXY.READ\n   */\n  function getGiftCardByCode(options?: GetGiftCardByCodeOptions): Promise<GetGiftCardByCodeResponse>;\n  interface GetGiftCardByCodeOptions {\n      /** Gift Card code */\n      code?: string;\n  }\n  /**\n   * Get gift card by code\n   * @param code - Gift Card code\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField code\n   * @permissionId GIFT_CARDS_PROXY.READ\n   */\n  function getGiftCardByCodeV2(code: string, options?: GetGiftCardByCodeV2Options): Promise<GetGiftCardByCodeResponseV2>;\n  interface GetGiftCardByCodeV2Options {\n      /**\n       * Physical location indicator\n       * This field is required for Square integration as a gift card provider, and should not be used with other providers\n       */\n      locationId?: string | null;\n  }\n  /**\n   * Redeem a gift card\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId GIFT_CARDS_PROXY.MODIFY\n   */\n  function redeemGiftCard$1(options?: RedeemGiftCardOptions$1): Promise<RedeemGiftCardResponse$1>;\n  interface RedeemGiftCardOptions$1 {\n      /** Gift Card unique id */\n      _id?: string;\n      /** Amount to redeem from the gift card */\n      amount?: number;\n      /** The currency code to redeem */\n      currencyCode?: string;\n      /** Idempotency key for the current transaction */\n      orderId?: string;\n  }\n  /**\n   * Redeem a gift card\n   * @param code - Gift Card code\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField code\n   * @requiredField options.amount\n   * @requiredField options.providerAppDefId\n   * @permissionId GIFT_CARDS_PROXY.MODIFY\n   */\n  function redeemGiftCardV2(code: string, options?: RedeemGiftCardV2Options): Promise<RedeemGiftCardResponseV2>;\n  interface RedeemGiftCardV2Options {\n      /** Amount to redeem from the gift card */\n      amount: Money$1;\n      /** Idempotency key for the current transaction */\n      orderId?: string;\n      /** App def id of the GiftCard provider */\n      providerAppDefId: string;\n      /**\n       * Physical location indicator\n       * This field is required for Square integration as a gift card provider, and should not be used with other providers\n       */\n      locationId?: string | null;\n  }\n  /**\n   * Void a gift card transaction\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId GIFT_CARDS_PROXY.MODIFY\n   */\n  function voidTransaction$1(options?: VoidTransactionOptions$1): Promise<void>;\n  interface VoidTransactionOptions$1 {\n      /** Unique id of the redemption transaction */\n      transactionId?: string;\n  }\n  /**\n   * Void a gift card transaction\n   * @param transactionId - Unique id of the gift card transaction\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.providerAppDefId\n   * @requiredField transactionId\n   * @permissionId GIFT_CARDS_PROXY.MODIFY\n   */\n  function voidTransactionV2(transactionId: string, options?: VoidTransactionV2Options): Promise<void>;\n  interface VoidTransactionV2Options {\n      /** App def id of the GiftCard provider */\n      providerAppDefId: string;\n      /**\n       * Physical location indicator\n       * This field is required for Square integration as a gift card provider, and should not be used with other providers\n       */\n      locationId?: string | null;\n  }\n  /**\n   * Get gift card transactions\n   * @param _id - Transaction id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId GIFT_CARDS_PROXY.READ\n   */\n  function getTransaction(_id: string): Promise<GetTransactionResponse>;\n  /**\n   * Get gift card provider URL\n   * @param providerAppDefId - App def id of the GiftCard provider\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField providerAppDefId\n   * @permissionId GIFT_CARDS_PROXY.READ\n   */\n  function getProviderUrl(providerAppDefId: string): Promise<GetProviderUrlResponse>;\n  \n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetRequest = GetRequest;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetResponse = GetResponse;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_DBGiftCard = DBGiftCard;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_ListGiftCardsRequest = ListGiftCardsRequest;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_Query = Query;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_ListGiftCardsResponse = ListGiftCardsResponse;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_ListTransactionsRequest = ListTransactionsRequest;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_ListTransactionsResponse = ListTransactionsResponse;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_DBTransaction = DBTransaction;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_CreateGiftCardRequest = CreateGiftCardRequest;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GiftCardData = GiftCardData;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_CreateGiftCardResponse = CreateGiftCardResponse;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeRequest = GetGiftCardByCodeRequest;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeResponse = GetGiftCardByCodeResponse;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeRequestV2 = GetGiftCardByCodeRequestV2;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeResponseV2 = GetGiftCardByCodeResponseV2;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_RedeemGiftCardRequestV2 = RedeemGiftCardRequestV2;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_RedeemGiftCardResponseV2 = RedeemGiftCardResponseV2;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_TransactionVoided = TransactionVoided;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_VoidTransactionRequestV2 = VoidTransactionRequestV2;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_VoidTransactionResponseV2 = VoidTransactionResponseV2;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetTransactionRequest = GetTransactionRequest;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetTransactionResponse = GetTransactionResponse;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetProviderUrlRequest = GetProviderUrlRequest;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetProviderUrlResponse = GetProviderUrlResponse;\n  const ecommerceGiftCardsProxyV1GiftCard_universal_d_get: typeof get;\n  const ecommerceGiftCardsProxyV1GiftCard_universal_d_listGiftCards: typeof listGiftCards;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_ListGiftCardsOptions = ListGiftCardsOptions;\n  const ecommerceGiftCardsProxyV1GiftCard_universal_d_listTransactions: typeof listTransactions;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_ListTransactionsOptions = ListTransactionsOptions;\n  const ecommerceGiftCardsProxyV1GiftCard_universal_d_createGiftCard: typeof createGiftCard;\n  const ecommerceGiftCardsProxyV1GiftCard_universal_d_getGiftCardByCode: typeof getGiftCardByCode;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeOptions = GetGiftCardByCodeOptions;\n  const ecommerceGiftCardsProxyV1GiftCard_universal_d_getGiftCardByCodeV2: typeof getGiftCardByCodeV2;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeV2Options = GetGiftCardByCodeV2Options;\n  const ecommerceGiftCardsProxyV1GiftCard_universal_d_redeemGiftCardV2: typeof redeemGiftCardV2;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_RedeemGiftCardV2Options = RedeemGiftCardV2Options;\n  const ecommerceGiftCardsProxyV1GiftCard_universal_d_voidTransactionV2: typeof voidTransactionV2;\n  type ecommerceGiftCardsProxyV1GiftCard_universal_d_VoidTransactionV2Options = VoidTransactionV2Options;\n  const ecommerceGiftCardsProxyV1GiftCard_universal_d_getTransaction: typeof getTransaction;\n  const ecommerceGiftCardsProxyV1GiftCard_universal_d_getProviderUrl: typeof getProviderUrl;\n  namespace ecommerceGiftCardsProxyV1GiftCard_universal_d {\n    export {\n      GiftCard$7 as GiftCard,\n      Balance$2 as Balance,\n      Status$6 as Status,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetRequest as GetRequest,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetResponse as GetResponse,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_DBGiftCard as DBGiftCard,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_ListGiftCardsRequest as ListGiftCardsRequest,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_Query as Query,\n      Sorting$g as Sorting,\n      SortOrder$g as SortOrder,\n      Paging$4 as Paging,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_ListGiftCardsResponse as ListGiftCardsResponse,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_ListTransactionsRequest as ListTransactionsRequest,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_ListTransactionsResponse as ListTransactionsResponse,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_DBTransaction as DBTransaction,\n      GiftCardProviderWasProvisioned$1 as GiftCardProviderWasProvisioned,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_CreateGiftCardRequest as CreateGiftCardRequest,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GiftCardData as GiftCardData,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_CreateGiftCardResponse as CreateGiftCardResponse,\n      GetGiftCardRequest$1 as GetGiftCardRequest,\n      GetGiftCardResponse$1 as GetGiftCardResponse,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeRequest as GetGiftCardByCodeRequest,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeResponse as GetGiftCardByCodeResponse,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeRequestV2 as GetGiftCardByCodeRequestV2,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeResponseV2 as GetGiftCardByCodeResponseV2,\n      RedeemGiftCardRequest$1 as RedeemGiftCardRequest,\n      RedeemGiftCardResponse$1 as RedeemGiftCardResponse,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_RedeemGiftCardRequestV2 as RedeemGiftCardRequestV2,\n      Money$1 as Money,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_RedeemGiftCardResponseV2 as RedeemGiftCardResponseV2,\n      VoidTransactionRequest$1 as VoidTransactionRequest,\n      VoidTransactionResponse$1 as VoidTransactionResponse,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_TransactionVoided as TransactionVoided,\n      Transaction$1 as Transaction,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_VoidTransactionRequestV2 as VoidTransactionRequestV2,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_VoidTransactionResponseV2 as VoidTransactionResponseV2,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetTransactionRequest as GetTransactionRequest,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetTransactionResponse as GetTransactionResponse,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetProviderUrlRequest as GetProviderUrlRequest,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetProviderUrlResponse as GetProviderUrlResponse,\n      MetaSiteSpecialEvent$1 as MetaSiteSpecialEvent,\n      MetaSiteSpecialEventPayloadOneOf$1 as MetaSiteSpecialEventPayloadOneOf,\n      Asset$1 as Asset,\n      State$2 as State,\n      SiteCreated$1 as SiteCreated,\n      SiteCreatedContext$1 as SiteCreatedContext,\n      Namespace$2 as Namespace,\n      SiteTransferred$1 as SiteTransferred,\n      SiteDeleted$1 as SiteDeleted,\n      DeleteContext$1 as DeleteContext,\n      DeleteStatus$1 as DeleteStatus,\n      SiteUndeleted$1 as SiteUndeleted,\n      SitePublished$1 as SitePublished,\n      SiteUnpublished$1 as SiteUnpublished,\n      SiteMarkedAsTemplate$1 as SiteMarkedAsTemplate,\n      SiteMarkedAsWixSite$1 as SiteMarkedAsWixSite,\n      ServiceProvisioned$1 as ServiceProvisioned,\n      ServiceRemoved$1 as ServiceRemoved,\n      SiteRenamed$1 as SiteRenamed,\n      SiteHardDeleted$1 as SiteHardDeleted,\n      NamespaceChanged$1 as NamespaceChanged,\n      StudioAssigned$1 as StudioAssigned,\n      StudioUnassigned$1 as StudioUnassigned,\n      Empty$h as Empty,\n      DomainEvent$o as DomainEvent,\n      DomainEventBodyOneOf$o as DomainEventBodyOneOf,\n      EntityCreatedEvent$o as EntityCreatedEvent,\n      RestoreInfo$o as RestoreInfo,\n      EntityUpdatedEvent$o as EntityUpdatedEvent,\n      EntityDeletedEvent$o as EntityDeletedEvent,\n      ActionEvent$o as ActionEvent,\n      MessageEnvelope$n as MessageEnvelope,\n      IdentificationData$o as IdentificationData,\n      IdentificationDataIdOneOf$o as IdentificationDataIdOneOf,\n      WebhookIdentityType$n as WebhookIdentityType,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_get as get,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_listGiftCards as listGiftCards,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_ListGiftCardsOptions as ListGiftCardsOptions,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_listTransactions as listTransactions,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_ListTransactionsOptions as ListTransactionsOptions,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_createGiftCard as createGiftCard,\n      getGiftCard$1 as getGiftCard,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_getGiftCardByCode as getGiftCardByCode,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeOptions as GetGiftCardByCodeOptions,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_getGiftCardByCodeV2 as getGiftCardByCodeV2,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_GetGiftCardByCodeV2Options as GetGiftCardByCodeV2Options,\n      redeemGiftCard$1 as redeemGiftCard,\n      RedeemGiftCardOptions$1 as RedeemGiftCardOptions,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_redeemGiftCardV2 as redeemGiftCardV2,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_RedeemGiftCardV2Options as RedeemGiftCardV2Options,\n      voidTransaction$1 as voidTransaction,\n      VoidTransactionOptions$1 as VoidTransactionOptions,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_voidTransactionV2 as voidTransactionV2,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_VoidTransactionV2Options as VoidTransactionV2Options,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_getTransaction as getTransaction,\n      ecommerceGiftCardsProxyV1GiftCard_universal_d_getProviderUrl as getProviderUrl,\n    };\n  }\n  \n  interface CheckoutContentProvider {\n      _id?: string | null;\n  }\n  interface GetCheckoutContentRequest {\n      /** ID of the app that provides the content. */\n      appId: string;\n      /** ID of the specific component content. */\n      componentId: string;\n      /** When a language is specified, it will be retrieved the content in that language. */\n      languageCode?: string | null;\n  }\n  interface GetCheckoutContentResponse {\n      /** The requested CheckoutContent. */\n      checkoutContent?: CheckoutContent;\n  }\n  interface CheckoutContent {\n      /**\n       * Text to display in place of the \"Continue shopping\" link.\n       * @readonly\n       */\n      continueShoppingLink?: string | null;\n      /**\n       * Text to display in place of the \"Order summary\" title.\n       * @readonly\n       */\n      orderSummary?: string | null;\n      /**\n       * Text to display in place of the \"Customer details\" title.\n       * @readonly\n       */\n      customerDetails?: string | null;\n      /**\n       * Text to display in place of the \"Review and place order\" title.\n       * @readonly\n       */\n      reviewAndPlaceOrder?: string | null;\n      /**\n       * Text to display in place of the \"Place order\" button.\n       * @readonly\n       */\n      placeOrderButton?: string | null;\n      /**\n       * Text to display in place of the \"Place order & pay\" button.\n       * @readonly\n       */\n      placeOrderPayButton?: string | null;\n  }\n  /**\n   * Retrieves a CheckoutContent.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.appId\n   * @requiredField identifiers.componentId\n   * @permissionId ECOM.CHECKOUT_CONTENT_READ\n   */\n  function getCheckoutContent(identifiers: GetCheckoutContentIdentifiers, options?: GetCheckoutContentOptions): Promise<GetCheckoutContentResponse>;\n  interface GetCheckoutContentIdentifiers {\n      /** ID of the app that provides the content. */\n      appId: string;\n      /** ID of the specific component content. */\n      componentId: string;\n  }\n  interface GetCheckoutContentOptions {\n      /** When a language is specified, it will be retrieved the content in that language. */\n      languageCode?: string | null;\n  }\n  \n  type ecomApiV1CheckoutContentProvider_universal_d_CheckoutContentProvider = CheckoutContentProvider;\n  type ecomApiV1CheckoutContentProvider_universal_d_GetCheckoutContentRequest = GetCheckoutContentRequest;\n  type ecomApiV1CheckoutContentProvider_universal_d_GetCheckoutContentResponse = GetCheckoutContentResponse;\n  type ecomApiV1CheckoutContentProvider_universal_d_CheckoutContent = CheckoutContent;\n  const ecomApiV1CheckoutContentProvider_universal_d_getCheckoutContent: typeof getCheckoutContent;\n  type ecomApiV1CheckoutContentProvider_universal_d_GetCheckoutContentIdentifiers = GetCheckoutContentIdentifiers;\n  type ecomApiV1CheckoutContentProvider_universal_d_GetCheckoutContentOptions = GetCheckoutContentOptions;\n  namespace ecomApiV1CheckoutContentProvider_universal_d {\n    export {\n      ecomApiV1CheckoutContentProvider_universal_d_CheckoutContentProvider as CheckoutContentProvider,\n      ecomApiV1CheckoutContentProvider_universal_d_GetCheckoutContentRequest as GetCheckoutContentRequest,\n      ecomApiV1CheckoutContentProvider_universal_d_GetCheckoutContentResponse as GetCheckoutContentResponse,\n      ecomApiV1CheckoutContentProvider_universal_d_CheckoutContent as CheckoutContent,\n      ecomApiV1CheckoutContentProvider_universal_d_getCheckoutContent as getCheckoutContent,\n      ecomApiV1CheckoutContentProvider_universal_d_GetCheckoutContentIdentifiers as GetCheckoutContentIdentifiers,\n      ecomApiV1CheckoutContentProvider_universal_d_GetCheckoutContentOptions as GetCheckoutContentOptions,\n    };\n  }\n  \n  interface CustomTrigger {\n      /** Unique ID of the trigger */\n      _id?: string;\n      /** App ID of the trigger provider */\n      appId?: string;\n      /**\n       * Optional - additional data in key:value form\n       * This data will be passed to `GetEligibleTriggers` SPI\n       * i.e weather trigger - be eligible if temp is above 30 degrees, params will have  { \"minTemp\": 30 }\n       * @internal\n       */\n      params?: Record<string, any> | null;\n  }\n  interface GetEligibleTriggersRequest {\n      /** List of line items to check the custom triggers on */\n      lineItems?: LineItem$8[];\n      /** List of custom triggers to check 'is eligible' on */\n      triggers?: TriggerToFilterBy[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n  }\n  interface LineItem$8 {\n      /** Line item ID. */\n      _id?: string;\n      /** Item quantity in this line item. */\n      quantity?: number | null;\n      /**\n       * Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info.\n       * This field may be empty in the case of a custom line item.\n       */\n      catalogReference?: CatalogReference$d;\n      /** Price of a single item. */\n      price?: string;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$d {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface TriggerToFilterBy {\n      /** Custom trigger */\n      customTrigger?: CustomTrigger;\n      /** Unique identifier that will return in `EligibleTrigger.identifier` to distinguish between scopes */\n      identifier?: string | null;\n  }\n  interface GetEligibleTriggersResponse {\n      /** A List of eligible custom triggers */\n      eligibleTriggers?: EligibleTrigger[];\n  }\n  interface EligibleTrigger {\n      /** The ID of the custom trigger */\n      customTriggerId?: string;\n      /** The id of the application implements this custom trigger */\n      appId?: string;\n      /** Unique identifier that was assigned in `TriggerToFilterBy.identifier` to distinguish between custom triggers */\n      identifier?: string | null;\n  }\n  interface ListTriggersRequest {\n  }\n  interface ListTriggersResponse {\n      /** A list of all custom triggers */\n      triggers?: ListTriggersResponseCustomTrigger[];\n  }\n  interface ListTriggersResponseCustomTrigger {\n      /** Unique ID of the custom trigger */\n      _id?: string;\n      /** App ID of the custom trigger provider */\n      appId?: string;\n      /** Custom Trigger display name */\n      name?: string;\n  }\n  /**\n   * Get the items that are included in some given custom triggers\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.GET_ELIGIBLE_TRIGGERS\n   */\n  function getEligibleTriggers(options?: GetEligibleTriggersOptions): Promise<GetEligibleTriggersResponse>;\n  interface GetEligibleTriggersOptions {\n      /** List of line items to check the custom triggers on */\n      lineItems?: LineItem$8[];\n      /** List of custom triggers to check 'is eligible' on */\n      triggers?: TriggerToFilterBy[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n  }\n  /**\n   * List all custom triggers that are available on a given site\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.CUSTOM_TRIGGERS_READ\n   * @adminMethod\n   */\n  function listTriggers(): Promise<ListTriggersResponse>;\n  \n  type ecomCustomTriggerV1CustomTrigger_universal_d_CustomTrigger = CustomTrigger;\n  type ecomCustomTriggerV1CustomTrigger_universal_d_GetEligibleTriggersRequest = GetEligibleTriggersRequest;\n  type ecomCustomTriggerV1CustomTrigger_universal_d_TriggerToFilterBy = TriggerToFilterBy;\n  type ecomCustomTriggerV1CustomTrigger_universal_d_GetEligibleTriggersResponse = GetEligibleTriggersResponse;\n  type ecomCustomTriggerV1CustomTrigger_universal_d_EligibleTrigger = EligibleTrigger;\n  type ecomCustomTriggerV1CustomTrigger_universal_d_ListTriggersRequest = ListTriggersRequest;\n  type ecomCustomTriggerV1CustomTrigger_universal_d_ListTriggersResponse = ListTriggersResponse;\n  type ecomCustomTriggerV1CustomTrigger_universal_d_ListTriggersResponseCustomTrigger = ListTriggersResponseCustomTrigger;\n  const ecomCustomTriggerV1CustomTrigger_universal_d_getEligibleTriggers: typeof getEligibleTriggers;\n  type ecomCustomTriggerV1CustomTrigger_universal_d_GetEligibleTriggersOptions = GetEligibleTriggersOptions;\n  const ecomCustomTriggerV1CustomTrigger_universal_d_listTriggers: typeof listTriggers;\n  namespace ecomCustomTriggerV1CustomTrigger_universal_d {\n    export {\n      ecomCustomTriggerV1CustomTrigger_universal_d_CustomTrigger as CustomTrigger,\n      ecomCustomTriggerV1CustomTrigger_universal_d_GetEligibleTriggersRequest as GetEligibleTriggersRequest,\n      LineItem$8 as LineItem,\n      CatalogReference$d as CatalogReference,\n      ecomCustomTriggerV1CustomTrigger_universal_d_TriggerToFilterBy as TriggerToFilterBy,\n      ecomCustomTriggerV1CustomTrigger_universal_d_GetEligibleTriggersResponse as GetEligibleTriggersResponse,\n      ecomCustomTriggerV1CustomTrigger_universal_d_EligibleTrigger as EligibleTrigger,\n      ecomCustomTriggerV1CustomTrigger_universal_d_ListTriggersRequest as ListTriggersRequest,\n      ecomCustomTriggerV1CustomTrigger_universal_d_ListTriggersResponse as ListTriggersResponse,\n      ecomCustomTriggerV1CustomTrigger_universal_d_ListTriggersResponseCustomTrigger as ListTriggersResponseCustomTrigger,\n      ecomCustomTriggerV1CustomTrigger_universal_d_getEligibleTriggers as getEligibleTriggers,\n      ecomCustomTriggerV1CustomTrigger_universal_d_GetEligibleTriggersOptions as GetEligibleTriggersOptions,\n      ecomCustomTriggerV1CustomTrigger_universal_d_listTriggers as listTriggers,\n    };\n  }\n  \n  interface DiscountRule$8 {\n      /**\n       * Discount rule ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the discount rule is updated.\n       * To prevent conflicting changes, the current `revision` must be passed when updating the discount rule.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the discount rule was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the discount rule was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Whether the discount rule is active.\n       *\n       * Default: `true`\n       */\n      active?: boolean | null;\n      /** Discount rule name. */\n      name?: string | null;\n      /**\n       * Discount rule trigger.\n       * A set of conditions that must be met for the `discounts` to be applied.\n       * Not passing a trigger will cause the discount to always apply.\n       */\n      trigger?: DiscountTrigger;\n      /** Time frame in which the discount rule is active. */\n      activeTimeInfo?: ActiveTimeInfo;\n      /**\n       * List of discounts that are applied when one or more triggers are met.\n       *\n       * > **Notes:**\n       * >\n       * > + Currently, only 1 discount can be defined per discount rule.\n       * > + A discount rule can be applied on multiple items per cart.\n       * > + A discount rule can only be applied once per item.\n       */\n      discounts?: Discounts;\n      /**\n       * Discount rule status.\n       * Default: `UNDEFINED`\n       * @readonly\n       */\n      status?: Status$5;\n      /**\n       * Number of times the discount rule was used.\n       * @readonly\n       */\n      usageCount?: number;\n      /**\n       * calculated string which describe the discount rule\n       * @internal\n       * @readonly\n       */\n      offer?: string | null;\n      /**\n       * Discount advance settings.\n       * @internal\n       */\n      settings?: DiscountSettings;\n      /**\n       * Data Extensions.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$c;\n  }\n  /** DiscountTrigger - description of a set of conditions, that if met, will trigger the associated rule actions */\n  interface DiscountTrigger extends DiscountTriggerTriggerOneOf {\n      /** Chain multiple triggers with the `and` operator. */\n      and?: And;\n      /** Chain multiple triggers with the `or` operator. */\n      or?: Or;\n      /** Custom trigger. */\n      customTrigger?: Custom;\n      /** Subtotal trigger range. */\n      subtotalRange?: SubtotalRange;\n      /** Item quantity trigger range. */\n      itemQuantityRange?: ItemQuantityRange;\n      /**\n       * Trigger type.\n       *\n       * + `\"AND\"`: Operator used for chaining multiple triggers. Currently 1 `\"AND\"` chain operator is supported.\n       * + `\"SUBTOTAL_RANGE\"`: Subtotal must be within the specified `subtotalRange` values.\n       * + `\"ITEM_QUANTITY_RANGE\"`: Quantity of items in scope must be within specified `itemQuantityRange` values.\n       * + `\"CUSTOM\"`: Custom trigger type defined in `customTrigger` object.\n       */\n      triggerType?: TriggerType;\n  }\n  /** @oneof */\n  interface DiscountTriggerTriggerOneOf {\n      /** Chain multiple triggers with the `and` operator. */\n      and?: And;\n      /** Chain multiple triggers with the `or` operator. */\n      or?: Or;\n      /** Custom trigger. */\n      customTrigger?: Custom;\n      /** Subtotal trigger range. */\n      subtotalRange?: SubtotalRange;\n      /** Item quantity trigger range. */\n      itemQuantityRange?: ItemQuantityRange;\n  }\n  /**\n   * This object represents a scope of catalog items. Examples:\n   * 1. All catalog items of a specific app - type = CATALOG_ITEM, CatalogItemFilter with `catalog_app_id`\n   * 2. Specific catalog item - type = CATALOG_ITEM, CatalogItemFilter with `catalog_app_id` + `catalog_item_ids`\n   * 3. External catalog filter - type = CUSTOM_FILTER, CustomFilter with 'app_id' + 'params'\n   */\n  interface Scope$5 extends ScopeScopeItemsOneOf {\n      /** Catalog item filter. Must be passed with `type.\"CATALOG_ITEM\"`. */\n      catalogItemFilter?: CatalogItemFilter;\n      /** Custom filter. Must be passed with `type.\"CATALOG_ITEM\"`. */\n      customFilter?: CustomFilter;\n      /** Scope ID. */\n      _id?: string;\n      /** Scope type. */\n      type?: ScopeType;\n  }\n  /** @oneof */\n  interface ScopeScopeItemsOneOf {\n      /** Catalog item filter. Must be passed with `type.\"CATALOG_ITEM\"`. */\n      catalogItemFilter?: CatalogItemFilter;\n      /** Custom filter. Must be passed with `type.\"CATALOG_ITEM\"`. */\n      customFilter?: CustomFilter;\n  }\n  enum ScopeType {\n      UNDEFINED_SCOPE = \"UNDEFINED_SCOPE\",\n      /** Specific catalog items */\n      CATALOG_ITEM = \"CATALOG_ITEM\",\n      /** Specific items by custom filters */\n      CUSTOM_FILTER = \"CUSTOM_FILTER\"\n  }\n  interface CatalogItemFilter {\n      /** Catalog App ID. For example, the Wix Stores, Wix Bookings, or 3rd-party `appId`. */\n      catalogAppId?: string;\n      /** ID of the item within its Wix or 3rd-party catalog. For example, `productId` for Wix Stores. */\n      catalogItemIds?: string[];\n  }\n  interface CustomFilter {\n      /** Custom filter app ID, when relevant. */\n      appId?: string;\n      /**\n       * Custom filter in `{ \"key\": \"value\" }` form.\n       * For example, an array of `collectionIDs`:\n       * `{ [\"collectionId\": \"12345\"], [\"collectionId\": \"67890\"] }`.\n       */\n      params?: Record<string, any> | null;\n  }\n  interface And {\n      /** List of triggers to have an \"AND\" operator between their results. */\n      triggers?: DiscountTrigger[];\n  }\n  interface Or {\n      /** List of triggers to have an \"OR\" operator between their results. */\n      triggers?: DiscountTrigger[];\n  }\n  interface Custom {\n      /** Trigger ID. */\n      _id?: string;\n      /** ID of the app that created the trigger. */\n      appId?: string;\n      /**\n       * Additional data in { \"key\": value } form.\n       * + This data will be passed to the Custom Triggers Service SPI.\n       * + For example, for a trigger that would activate if temperature is above 30 degrees, `params` field would be: `{ \"minTemp\": 30 }`.\n       * @internal\n       */\n      params?: Record<string, any> | null;\n  }\n  interface SubtotalRange {\n      /** Relevant scopes for `\"SPECIFIC_ITEMS\"` target type. */\n      scopes?: Scope$5[];\n      /** Minimum subtotal price (inclusive). */\n      from?: string | null;\n      /** Maximum subtotal price (inclusive). */\n      to?: string | null;\n  }\n  interface ItemQuantityRange {\n      /** Relevant scopes for `\"SPECIFIC_ITEMS\"` target type. */\n      scopes?: Scope$5[];\n      /** Minimum item quantity (inclusive). */\n      from?: number | null;\n      /** Maximum item quantity (inclusive). */\n      to?: number | null;\n  }\n  enum TriggerType {\n      UNDEFINED = \"UNDEFINED\",\n      /** Operator used for chaining multiple triggers. Currently 1 `AND` chain operator is supported. */\n      AND = \"AND\",\n      /** Subtotal must be within the specified `subtotalRange` values. */\n      SUBTOTAL_RANGE = \"SUBTOTAL_RANGE\",\n      /** Quantity of items in scope must be within specified `itemQuantityRange` values. */\n      ITEM_QUANTITY_RANGE = \"ITEM_QUANTITY_RANGE\",\n      /** Custom trigger type defined in `customTrigger` object. */\n      CUSTOM = \"CUSTOM\",\n      /** Chain multiple triggers with OR operator */\n      OR = \"OR\"\n  }\n  interface ActiveTimeInfo {\n      /** Date and time the discount rule is active **from**, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. */\n      start?: Date | null;\n      /** Date and time the discount rule is active **till**, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. */\n      end?: Date | null;\n  }\n  interface Discounts {\n      /** Discounts. */\n      values?: Discount$3[];\n  }\n  interface Discount$3 extends DiscountDiscountOneOf {\n      /** Percentage to discount from original price. */\n      percentage?: number;\n      /** Amount to discount from original price. */\n      fixedAmount?: string;\n      /** Fixed price. Line item will be fixed to this price. */\n      fixedPrice?: string;\n      /**\n       * Discount target.\n       *\n       * + `\"SPECIFIC_ITEMS\"`: Discount applies to a specific set of items.\n       */\n      targetType?: Type;\n      /** Data related to `\"SPECIFIC_ITEMS\"` target type. */\n      specificItemsInfo?: SpecificItemsInfo;\n      /**\n       * Discount type.\n       *\n       * + `\"PERCENTAGE\"`: Price is reduced by percentage value.\n       * + `\"FIXED_AMOUNT\"`: Price is reduced by fixed amount.\n       * + `\"FIXED_PRICE\"`: Price will be set to fixed amount.\n       */\n      discountType?: DiscountType$8;\n      /**\n       * Data related to `BUY_X_GET_Y` target type.\n       * @internal\n       */\n      buyXGetYInfo?: BuyXGetYInfo;\n  }\n  /** @oneof */\n  interface DiscountDiscountOneOf {\n      /** Percentage to discount from original price. */\n      percentage?: number;\n      /** Amount to discount from original price. */\n      fixedAmount?: string;\n      /** Fixed price. Line item will be fixed to this price. */\n      fixedPrice?: string;\n  }\n  enum Type {\n      /** Target type is not defined */\n      UNDEFINED = \"UNDEFINED\",\n      /** Target type is a set of specific items */\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      /** Target type is a buy x get y */\n      BUY_X_GET_Y = \"BUY_X_GET_Y\"\n  }\n  interface SpecificItemsInfo {\n      /** All associated scopes for `\"SPECIFIC_ITEMS\"` target type. */\n      scopes?: Scope$5[];\n      /**\n       * limit number of items the discount can be applied to\n       * if no limit specified, the discount will be applied to all items in the request that match 'scopes' field\n       * @internal\n       */\n      limit?: number | null;\n  }\n  enum DiscountType$8 {\n      UNDEFINED = \"UNDEFINED\",\n      /** Price is reduced by percentage value. */\n      PERCENTAGE = \"PERCENTAGE\",\n      /** Price is reduced by fixed amount. */\n      FIXED_AMOUNT = \"FIXED_AMOUNT\",\n      /** Price will be set to fixed amount. */\n      FIXED_PRICE = \"FIXED_PRICE\"\n  }\n  interface BuyXGetYInfo {\n      /** Information about which items must be in the cart (buy X) for the discount to apply (get Y). */\n      customerBuys?: CustomerBuy;\n      /** Information about which items will be discounted (get Y). */\n      customerGets?: CustomerGet;\n      /**\n       * The maximum number of times the 'buy X get Y' discount can be applied.\n       * For example, when the value of `limit` is `2`, with a \"2+1\" sale on all items, the following logic applies:\n       * + Buy 2 get 1, buy 3 get 1.\n       * + Buy 4 get 2, buy 6 get 2, buy 9 get 2, and so on.\n       */\n      limit?: number | null;\n  }\n  interface CustomerBuy extends CustomerBuyConditionOneOf {\n      /** Minimum number of items the customer must add to the cart to be eligible for a discount. */\n      minimumQuantity?: number;\n      /** Minimum price the customer must add to the cart to be eligible for a discount. */\n      minimumSpend?: string | null;\n      /** Scopes of the items that must be added to the cart to enable the discount. */\n      scopes?: Scope$5[];\n  }\n  /** @oneof */\n  interface CustomerBuyConditionOneOf {\n      /** Minimum number of items the customer must add to the cart to be eligible for a discount. */\n      minimumQuantity?: number;\n      /** Minimum price the customer must add to the cart to be eligible for a discount. */\n      minimumSpend?: string | null;\n  }\n  interface CustomerGet {\n      /**\n       * Exact number of items in the cart that will be discounted.\n       * If the cart contains fewer items than the value of quantity, the discount will not apply.\n       */\n      quantity?: number;\n      /** Scopes of the items that will be discounted. */\n      scopes?: Scope$5[];\n  }\n  enum Status$5 {\n      /** Rule status is not defined. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Rule status is live. */\n      LIVE = \"LIVE\",\n      /** Rule status is expired, it might have been live in the past. */\n      EXPIRED = \"EXPIRED\",\n      /** Rule status is pending, it might be live in the future. */\n      PENDING = \"PENDING\"\n  }\n  /** The discount settings */\n  interface DiscountSettings {\n      /** Discount applies to either `ALL_ITEMS`, or to the `LOWEST_PRICED_ITEM`. */\n      appliesTo?: AppliedSubjectType;\n      /**\n       * Whether the discount will apply to subscriptions.\n       *\n       * Default: `false`\n       */\n      includeSubscription?: boolean | null;\n      /** Maximum total number of uses allowed for the discount rule. */\n      usageLimit?: number | null;\n      /**\n       * The usage limit per user per discount.\n       * When not provided, this setting will not apply.\n       */\n      usageLimitPerUser?: number | null;\n      /**\n       * Opt in to indexing this discount rule by an offline pipeline.\n       * Default value is false (rules are not indexed by default).\n       * The purpose of indexing discount rules is to allow fast reads of potential discounts on given catalog items,\n       * without having to do heavy calculations like in `GetAppliedDiscounts` API.\n       * One can read this data from [Discounts Cache Reader Service](https://todo-add-working-link)\n       * This can be used for example, to display potential discounts on the storefront.\n       * @internal\n       */\n      indexOptIn?: boolean | null;\n  }\n  /** TODO: check if can be removed */\n  enum AppliedSubjectType {\n      UNDEFINED = \"UNDEFINED\",\n      /** Discount applies to all items at checkout. */\n      ALL_ITEMS = \"ALL_ITEMS\",\n      /** Discount applies to the lowest priced item at checkout. */\n      LOWEST_PRICED_ITEM = \"LOWEST_PRICED_ITEM\"\n  }\n  interface ExtendedFields$c {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateDiscountRuleRequest {\n      /** Discount rule info. */\n      discountRule: DiscountRule$8;\n  }\n  interface CreateDiscountRuleResponse {\n      /** Discount rule. */\n      discountRule?: DiscountRule$8;\n  }\n  interface GetDiscountRuleRequest {\n      /** ID of the discount rule to retrieve. */\n      discountRuleId: string;\n  }\n  interface GetDiscountRuleResponse {\n      /** The requested discount rule. */\n      discountRule?: DiscountRule$8;\n  }\n  interface UpdateDiscountRuleRequest {\n      /** Discount rule info. */\n      discountRule: DiscountRule$8;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateDiscountRuleResponse {\n      /** Updated discount rule. */\n      discountRule?: DiscountRule$8;\n  }\n  interface DeleteDiscountRuleRequest {\n      /** ID of the discount rule to delete. */\n      discountRuleId: string;\n  }\n  interface DeleteDiscountRuleResponse {\n  }\n  interface QueryDiscountRulesRequest {\n      /** Query options. */\n      query?: PlatformQuery$2;\n  }\n  interface PlatformQuery$2 extends PlatformQueryPagingMethodOneOf$2 {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging$2;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging$f;\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n      sort?: Sorting$f[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf$2 {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging$2;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging$f;\n  }\n  interface Sorting$f {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$f;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$f {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$f {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryDiscountRulesResponse {\n      /** List of discount rules. */\n      discountRules?: DiscountRule$8[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PlatformPagingMetadata$2;\n  }\n  interface PlatformPagingMetadata$2 {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /** The offset which was requested. Returned if offset paging was used. */\n      offset?: number | null;\n      /** The total number of items that match the query. Returned if offset paging was used. */\n      total?: number | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used. */\n      cursors?: Cursors$f;\n  }\n  interface Cursors$f {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetAppliedDiscountsRequest {\n      /** Line items for which to check for discount rules. */\n      lineItems?: LineItem$7[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n  }\n  interface LineItem$7 {\n      /** Line item ID. */\n      _id?: string;\n      /** Line item quantity. */\n      quantity?: number | null;\n      /** Catalog and item reference info. Learn more about [integrating Wix Stores products with Wix eCommerce](https://dev.wix.com/api/rest/wix-stores/catalog/ecommerce-integration). */\n      catalogReference?: CatalogReference$c;\n      /** Line item price. */\n      price?: string;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$c {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface GetAppliedDiscountsResponse {\n      /** All eligible discounts. */\n      appliedDiscounts?: AppliedDiscount$8[];\n  }\n  interface AppliedDiscount$8 {\n      /** Discount type. */\n      discountType?: Type;\n      /** IDs of line items the discount applies to, in GUID format. */\n      lineItemIds?: string[];\n      /** Applied discount rule. */\n      appliedDiscountRule?: AppliedDiscountRule;\n  }\n  interface AppliedDiscountRule {\n      /** Applied discount rule ID. */\n      _id?: string;\n      /** Discount rule name. */\n      name?: DiscountRuleName$8;\n      /** Total amount reduced from all discounted line items. */\n      amount?: MultiCurrencyPrice$6;\n      /** Discount rule type. */\n      discountRuleType?: DiscountType$8;\n  }\n  interface DiscountRuleName$8 {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /**\n       * Translated discount rule name according to buyer language.\n       *\n       * Default: `original`\n       */\n      translated?: string | null;\n  }\n  interface MultiCurrencyPrice$6 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface DomainEvent$n extends DomainEventBodyOneOf$n {\n      createdEvent?: EntityCreatedEvent$n;\n      updatedEvent?: EntityUpdatedEvent$n;\n      deletedEvent?: EntityDeletedEvent$n;\n      actionEvent?: ActionEvent$n;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$n {\n      createdEvent?: EntityCreatedEvent$n;\n      updatedEvent?: EntityUpdatedEvent$n;\n      deletedEvent?: EntityDeletedEvent$n;\n      actionEvent?: ActionEvent$n;\n  }\n  interface EntityCreatedEvent$n {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$n;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$n {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$n {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$n {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$n {\n      bodyAsJson?: string;\n  }\n  interface Empty$g {\n  }\n  interface DiscountRuleUsageLimitReached {\n      /** Discount Rule */\n      rule?: DiscountRule$8;\n  }\n  interface MessageEnvelope$m {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$n;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$n extends IdentificationDataIdOneOf$n {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$m;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$n {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$m {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new discount rule.\n   *\n   *\n   * The `createDiscountRule()` function returns a Promise that resolves to the new discount rule when it's created.\n   * @param discountRule - Discount rule info.\n   * @public\n   * @requiredField discountRule\n   * @requiredField discountRule.discounts\n   * @requiredField discountRule.name\n   * @permissionId ECOM.DISCOUNT_RULES_CREATE\n   * @adminMethod\n   * @returns Discount rule.\n   */\n  function createDiscountRule(discountRule: DiscountRule$8): Promise<DiscountRule$8>;\n  /**\n   * Retrieves a discount rule.\n   *\n   *\n   * The `getDiscountRule()` function returns a Promise that resolves when the specified discount rule is retrieved.\n   * @param discountRuleId - ID of the discount rule to retrieve.\n   * @public\n   * @requiredField discountRuleId\n   * @permissionId ECOM.DISCOUNT_RULES_READ\n   * @adminMethod\n   * @returns The requested discount rule.\n   */\n  function getDiscountRule(discountRuleId: string): Promise<DiscountRule$8>;\n  /**\n   * Updates a discount rule's properties.\n   *\n   *\n   * The `updateDiscountRule()` function returns a Promise that resolves when the specified discount rule's properties are updated.\n   *\n   * Each time the discount rule is updated, `revision` increments by 1. The existing `revision` must be included when updating the discount rule. This ensures you're working with the latest discount rule information, and it prevents unintended overwrites.\n   * @param _id - Discount rule ID.\n   * @public\n   * @requiredField _id\n   * @requiredField discountRule\n   * @requiredField discountRule.revision\n   * @param discountRule - Discount rule info.\n   * @param options - Discount rule info.\n   * @permissionId ECOM.DISCOUNT_RULES_UPDATE\n   * @adminMethod\n   * @returns Updated discount rule.\n   */\n  function updateDiscountRule(_id: string | null, discountRule: UpdateDiscountRule, options?: UpdateDiscountRuleOptions): Promise<DiscountRule$8>;\n  interface UpdateDiscountRule {\n      /**\n       * Discount rule ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the discount rule is updated.\n       * To prevent conflicting changes, the current `revision` must be passed when updating the discount rule.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the discount rule was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the discount rule was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Whether the discount rule is active.\n       *\n       * Default: `true`\n       */\n      active?: boolean | null;\n      /** Discount rule name. */\n      name?: string | null;\n      /**\n       * Discount rule trigger.\n       * A set of conditions that must be met for the `discounts` to be applied.\n       * Not passing a trigger will cause the discount to always apply.\n       */\n      trigger?: DiscountTrigger;\n      /** Time frame in which the discount rule is active. */\n      activeTimeInfo?: ActiveTimeInfo;\n      /**\n       * List of discounts that are applied when one or more triggers are met.\n       *\n       * > **Notes:**\n       * >\n       * > + Currently, only 1 discount can be defined per discount rule.\n       * > + A discount rule can be applied on multiple items per cart.\n       * > + A discount rule can only be applied once per item.\n       */\n      discounts?: Discounts;\n      /**\n       * Discount rule status.\n       * Default: `UNDEFINED`\n       * @readonly\n       */\n      status?: Status$5;\n      /**\n       * Number of times the discount rule was used.\n       * @readonly\n       */\n      usageCount?: number;\n      /**\n       * calculated string which describe the discount rule\n       * @internal\n       * @readonly\n       */\n      offer?: string | null;\n      /**\n       * Discount advance settings.\n       * @internal\n       */\n      settings?: DiscountSettings;\n      /**\n       * Data Extensions.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$c;\n  }\n  interface UpdateDiscountRuleOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a discount rule.\n   *\n   *\n   * The `deleteDiscountRule()` function returns a Promise that resolves when the specified discount rule is deleted.\n   * @param discountRuleId - ID of the discount rule to delete.\n   * @public\n   * @requiredField discountRuleId\n   * @permissionId ECOM.DISCOUNT_RULES_DELETE\n   * @adminMethod\n   */\n  function deleteDiscountRule(discountRuleId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of discount rules.\n   *\n   *\n   * The `queryDiscountRules()` function builds a query to retrieve a list of up to 100 discount rules, and returns a [`DiscountRulesQueryBuilder`](#discountrulesquerybuilder) object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the [`find()`](/discount-rules/discount-rules-query-builder/find) function.\n   *\n   * You can refine the query by chaining `DiscountRulesQueryBuilder` functions onto the query. `DiscountRulesQueryBuilder` functions enable you to sort, filter, and control the results queryDiscountRules() returns.\n   *\n   * By default, `queryDiscountRules()` sorts results by [`ascending(\"_id\")`](/discount-rules/discount-rules-query-builder/ascending) by default. This can be overridden.\n   *\n   * To learn how to query posts, refer to the table below.\n   *\n   * The following `DiscountRulesQueryBuilder` functions are supported for the `queryDiscountRules()` function. For a full description of the discount rule object, see the object returned for the [`items`](/discount-rules/discount-rules-query-result/items) property in the `DiscountRulesQueryResult`.\n   * @public\n   * @permissionId ECOM.DISCOUNT_RULES_READ\n   * @adminMethod\n   */\n  function queryDiscountRules(): DiscountRulesQueryBuilder;\n  interface QueryCursorResult$f {\n      cursors: Cursors$f;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface DiscountRulesQueryResult extends QueryCursorResult$f {\n      items: DiscountRule$8[];\n      query: DiscountRulesQueryBuilder;\n      next: () => Promise<DiscountRulesQueryResult>;\n      prev: () => Promise<DiscountRulesQueryResult>;\n  }\n  interface DiscountRulesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'active' | 'name' | 'activeTimeInfo.start' | 'activeTimeInfo.end', value: any) => DiscountRulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'active' | 'name' | 'activeTimeInfo.start' | 'activeTimeInfo.end', value: any) => DiscountRulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'activeTimeInfo.start' | 'activeTimeInfo.end', value: any) => DiscountRulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'activeTimeInfo.start' | 'activeTimeInfo.end', value: any) => DiscountRulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'activeTimeInfo.start' | 'activeTimeInfo.end', value: any) => DiscountRulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'activeTimeInfo.start' | 'activeTimeInfo.end', value: any) => DiscountRulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: '_id' | 'name', value: string) => DiscountRulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'active' | 'name' | 'activeTimeInfo.start' | 'activeTimeInfo.end', value: any[]) => DiscountRulesQueryBuilder;\n      in: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'active' | 'name' | 'activeTimeInfo.start' | 'activeTimeInfo.end', value: any) => DiscountRulesQueryBuilder;\n      exists: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'active' | 'name' | 'activeTimeInfo.start' | 'activeTimeInfo.end', value: boolean) => DiscountRulesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | 'revision' | '_createdDate' | '_updatedDate' | 'active' | 'name' | 'activeTimeInfo.start' | 'activeTimeInfo.end'>) => DiscountRulesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | 'revision' | '_createdDate' | '_updatedDate' | 'active' | 'name' | 'activeTimeInfo.start' | 'activeTimeInfo.end'>) => DiscountRulesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => DiscountRulesQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => DiscountRulesQueryBuilder;\n      find: () => Promise<DiscountRulesQueryResult>;\n  }\n  /**\n   * Retrieve all discounts that can be applied to the given line items.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.GET_APPLIED_DISCOUNTS\n   */\n  function getAppliedDiscounts(options?: GetAppliedDiscountsOptions): Promise<GetAppliedDiscountsResponse>;\n  interface GetAppliedDiscountsOptions {\n      /** Line items for which to check for discount rules. */\n      lineItems?: LineItem$7[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n  }\n  \n  type ecomDiscountsV1DiscountRule_universal_d_DiscountTrigger = DiscountTrigger;\n  type ecomDiscountsV1DiscountRule_universal_d_DiscountTriggerTriggerOneOf = DiscountTriggerTriggerOneOf;\n  type ecomDiscountsV1DiscountRule_universal_d_ScopeScopeItemsOneOf = ScopeScopeItemsOneOf;\n  type ecomDiscountsV1DiscountRule_universal_d_ScopeType = ScopeType;\n  const ecomDiscountsV1DiscountRule_universal_d_ScopeType: typeof ScopeType;\n  type ecomDiscountsV1DiscountRule_universal_d_CatalogItemFilter = CatalogItemFilter;\n  type ecomDiscountsV1DiscountRule_universal_d_CustomFilter = CustomFilter;\n  type ecomDiscountsV1DiscountRule_universal_d_And = And;\n  type ecomDiscountsV1DiscountRule_universal_d_Or = Or;\n  type ecomDiscountsV1DiscountRule_universal_d_Custom = Custom;\n  type ecomDiscountsV1DiscountRule_universal_d_SubtotalRange = SubtotalRange;\n  type ecomDiscountsV1DiscountRule_universal_d_ItemQuantityRange = ItemQuantityRange;\n  type ecomDiscountsV1DiscountRule_universal_d_TriggerType = TriggerType;\n  const ecomDiscountsV1DiscountRule_universal_d_TriggerType: typeof TriggerType;\n  type ecomDiscountsV1DiscountRule_universal_d_ActiveTimeInfo = ActiveTimeInfo;\n  type ecomDiscountsV1DiscountRule_universal_d_Discounts = Discounts;\n  type ecomDiscountsV1DiscountRule_universal_d_DiscountDiscountOneOf = DiscountDiscountOneOf;\n  type ecomDiscountsV1DiscountRule_universal_d_Type = Type;\n  const ecomDiscountsV1DiscountRule_universal_d_Type: typeof Type;\n  type ecomDiscountsV1DiscountRule_universal_d_SpecificItemsInfo = SpecificItemsInfo;\n  type ecomDiscountsV1DiscountRule_universal_d_BuyXGetYInfo = BuyXGetYInfo;\n  type ecomDiscountsV1DiscountRule_universal_d_CustomerBuy = CustomerBuy;\n  type ecomDiscountsV1DiscountRule_universal_d_CustomerBuyConditionOneOf = CustomerBuyConditionOneOf;\n  type ecomDiscountsV1DiscountRule_universal_d_CustomerGet = CustomerGet;\n  type ecomDiscountsV1DiscountRule_universal_d_DiscountSettings = DiscountSettings;\n  type ecomDiscountsV1DiscountRule_universal_d_AppliedSubjectType = AppliedSubjectType;\n  const ecomDiscountsV1DiscountRule_universal_d_AppliedSubjectType: typeof AppliedSubjectType;\n  type ecomDiscountsV1DiscountRule_universal_d_CreateDiscountRuleRequest = CreateDiscountRuleRequest;\n  type ecomDiscountsV1DiscountRule_universal_d_CreateDiscountRuleResponse = CreateDiscountRuleResponse;\n  type ecomDiscountsV1DiscountRule_universal_d_GetDiscountRuleRequest = GetDiscountRuleRequest;\n  type ecomDiscountsV1DiscountRule_universal_d_GetDiscountRuleResponse = GetDiscountRuleResponse;\n  type ecomDiscountsV1DiscountRule_universal_d_UpdateDiscountRuleRequest = UpdateDiscountRuleRequest;\n  type ecomDiscountsV1DiscountRule_universal_d_UpdateDiscountRuleResponse = UpdateDiscountRuleResponse;\n  type ecomDiscountsV1DiscountRule_universal_d_DeleteDiscountRuleRequest = DeleteDiscountRuleRequest;\n  type ecomDiscountsV1DiscountRule_universal_d_DeleteDiscountRuleResponse = DeleteDiscountRuleResponse;\n  type ecomDiscountsV1DiscountRule_universal_d_QueryDiscountRulesRequest = QueryDiscountRulesRequest;\n  type ecomDiscountsV1DiscountRule_universal_d_QueryDiscountRulesResponse = QueryDiscountRulesResponse;\n  type ecomDiscountsV1DiscountRule_universal_d_GetAppliedDiscountsRequest = GetAppliedDiscountsRequest;\n  type ecomDiscountsV1DiscountRule_universal_d_GetAppliedDiscountsResponse = GetAppliedDiscountsResponse;\n  type ecomDiscountsV1DiscountRule_universal_d_AppliedDiscountRule = AppliedDiscountRule;\n  type ecomDiscountsV1DiscountRule_universal_d_DiscountRuleUsageLimitReached = DiscountRuleUsageLimitReached;\n  const ecomDiscountsV1DiscountRule_universal_d_createDiscountRule: typeof createDiscountRule;\n  const ecomDiscountsV1DiscountRule_universal_d_getDiscountRule: typeof getDiscountRule;\n  const ecomDiscountsV1DiscountRule_universal_d_updateDiscountRule: typeof updateDiscountRule;\n  type ecomDiscountsV1DiscountRule_universal_d_UpdateDiscountRule = UpdateDiscountRule;\n  type ecomDiscountsV1DiscountRule_universal_d_UpdateDiscountRuleOptions = UpdateDiscountRuleOptions;\n  const ecomDiscountsV1DiscountRule_universal_d_deleteDiscountRule: typeof deleteDiscountRule;\n  const ecomDiscountsV1DiscountRule_universal_d_queryDiscountRules: typeof queryDiscountRules;\n  type ecomDiscountsV1DiscountRule_universal_d_DiscountRulesQueryResult = DiscountRulesQueryResult;\n  type ecomDiscountsV1DiscountRule_universal_d_DiscountRulesQueryBuilder = DiscountRulesQueryBuilder;\n  const ecomDiscountsV1DiscountRule_universal_d_getAppliedDiscounts: typeof getAppliedDiscounts;\n  type ecomDiscountsV1DiscountRule_universal_d_GetAppliedDiscountsOptions = GetAppliedDiscountsOptions;\n  namespace ecomDiscountsV1DiscountRule_universal_d {\n    export {\n      DiscountRule$8 as DiscountRule,\n      ecomDiscountsV1DiscountRule_universal_d_DiscountTrigger as DiscountTrigger,\n      ecomDiscountsV1DiscountRule_universal_d_DiscountTriggerTriggerOneOf as DiscountTriggerTriggerOneOf,\n      Scope$5 as Scope,\n      ecomDiscountsV1DiscountRule_universal_d_ScopeScopeItemsOneOf as ScopeScopeItemsOneOf,\n      ecomDiscountsV1DiscountRule_universal_d_ScopeType as ScopeType,\n      ecomDiscountsV1DiscountRule_universal_d_CatalogItemFilter as CatalogItemFilter,\n      ecomDiscountsV1DiscountRule_universal_d_CustomFilter as CustomFilter,\n      ecomDiscountsV1DiscountRule_universal_d_And as And,\n      ecomDiscountsV1DiscountRule_universal_d_Or as Or,\n      ecomDiscountsV1DiscountRule_universal_d_Custom as Custom,\n      ecomDiscountsV1DiscountRule_universal_d_SubtotalRange as SubtotalRange,\n      ecomDiscountsV1DiscountRule_universal_d_ItemQuantityRange as ItemQuantityRange,\n      ecomDiscountsV1DiscountRule_universal_d_TriggerType as TriggerType,\n      ecomDiscountsV1DiscountRule_universal_d_ActiveTimeInfo as ActiveTimeInfo,\n      ecomDiscountsV1DiscountRule_universal_d_Discounts as Discounts,\n      Discount$3 as Discount,\n      ecomDiscountsV1DiscountRule_universal_d_DiscountDiscountOneOf as DiscountDiscountOneOf,\n      ecomDiscountsV1DiscountRule_universal_d_Type as Type,\n      ecomDiscountsV1DiscountRule_universal_d_SpecificItemsInfo as SpecificItemsInfo,\n      DiscountType$8 as DiscountType,\n      ecomDiscountsV1DiscountRule_universal_d_BuyXGetYInfo as BuyXGetYInfo,\n      ecomDiscountsV1DiscountRule_universal_d_CustomerBuy as CustomerBuy,\n      ecomDiscountsV1DiscountRule_universal_d_CustomerBuyConditionOneOf as CustomerBuyConditionOneOf,\n      ecomDiscountsV1DiscountRule_universal_d_CustomerGet as CustomerGet,\n      Status$5 as Status,\n      ecomDiscountsV1DiscountRule_universal_d_DiscountSettings as DiscountSettings,\n      ecomDiscountsV1DiscountRule_universal_d_AppliedSubjectType as AppliedSubjectType,\n      ExtendedFields$c as ExtendedFields,\n      ecomDiscountsV1DiscountRule_universal_d_CreateDiscountRuleRequest as CreateDiscountRuleRequest,\n      ecomDiscountsV1DiscountRule_universal_d_CreateDiscountRuleResponse as CreateDiscountRuleResponse,\n      ecomDiscountsV1DiscountRule_universal_d_GetDiscountRuleRequest as GetDiscountRuleRequest,\n      ecomDiscountsV1DiscountRule_universal_d_GetDiscountRuleResponse as GetDiscountRuleResponse,\n      ecomDiscountsV1DiscountRule_universal_d_UpdateDiscountRuleRequest as UpdateDiscountRuleRequest,\n      ecomDiscountsV1DiscountRule_universal_d_UpdateDiscountRuleResponse as UpdateDiscountRuleResponse,\n      ecomDiscountsV1DiscountRule_universal_d_DeleteDiscountRuleRequest as DeleteDiscountRuleRequest,\n      ecomDiscountsV1DiscountRule_universal_d_DeleteDiscountRuleResponse as DeleteDiscountRuleResponse,\n      ecomDiscountsV1DiscountRule_universal_d_QueryDiscountRulesRequest as QueryDiscountRulesRequest,\n      PlatformQuery$2 as PlatformQuery,\n      PlatformQueryPagingMethodOneOf$2 as PlatformQueryPagingMethodOneOf,\n      Sorting$f as Sorting,\n      SortOrder$f as SortOrder,\n      PlatformPaging$2 as PlatformPaging,\n      CursorPaging$f as CursorPaging,\n      ecomDiscountsV1DiscountRule_universal_d_QueryDiscountRulesResponse as QueryDiscountRulesResponse,\n      PlatformPagingMetadata$2 as PlatformPagingMetadata,\n      Cursors$f as Cursors,\n      ecomDiscountsV1DiscountRule_universal_d_GetAppliedDiscountsRequest as GetAppliedDiscountsRequest,\n      LineItem$7 as LineItem,\n      CatalogReference$c as CatalogReference,\n      ecomDiscountsV1DiscountRule_universal_d_GetAppliedDiscountsResponse as GetAppliedDiscountsResponse,\n      AppliedDiscount$8 as AppliedDiscount,\n      ecomDiscountsV1DiscountRule_universal_d_AppliedDiscountRule as AppliedDiscountRule,\n      DiscountRuleName$8 as DiscountRuleName,\n      MultiCurrencyPrice$6 as MultiCurrencyPrice,\n      DomainEvent$n as DomainEvent,\n      DomainEventBodyOneOf$n as DomainEventBodyOneOf,\n      EntityCreatedEvent$n as EntityCreatedEvent,\n      RestoreInfo$n as RestoreInfo,\n      EntityUpdatedEvent$n as EntityUpdatedEvent,\n      EntityDeletedEvent$n as EntityDeletedEvent,\n      ActionEvent$n as ActionEvent,\n      Empty$g as Empty,\n      ecomDiscountsV1DiscountRule_universal_d_DiscountRuleUsageLimitReached as DiscountRuleUsageLimitReached,\n      MessageEnvelope$m as MessageEnvelope,\n      IdentificationData$n as IdentificationData,\n      IdentificationDataIdOneOf$n as IdentificationDataIdOneOf,\n      WebhookIdentityType$m as WebhookIdentityType,\n      ecomDiscountsV1DiscountRule_universal_d_createDiscountRule as createDiscountRule,\n      ecomDiscountsV1DiscountRule_universal_d_getDiscountRule as getDiscountRule,\n      ecomDiscountsV1DiscountRule_universal_d_updateDiscountRule as updateDiscountRule,\n      ecomDiscountsV1DiscountRule_universal_d_UpdateDiscountRule as UpdateDiscountRule,\n      ecomDiscountsV1DiscountRule_universal_d_UpdateDiscountRuleOptions as UpdateDiscountRuleOptions,\n      ecomDiscountsV1DiscountRule_universal_d_deleteDiscountRule as deleteDiscountRule,\n      ecomDiscountsV1DiscountRule_universal_d_queryDiscountRules as queryDiscountRules,\n      ecomDiscountsV1DiscountRule_universal_d_DiscountRulesQueryResult as DiscountRulesQueryResult,\n      ecomDiscountsV1DiscountRule_universal_d_DiscountRulesQueryBuilder as DiscountRulesQueryBuilder,\n      ecomDiscountsV1DiscountRule_universal_d_getAppliedDiscounts as getAppliedDiscounts,\n      ecomDiscountsV1DiscountRule_universal_d_GetAppliedDiscountsOptions as GetAppliedDiscountsOptions,\n    };\n  }\n  \n  interface Invoice {\n      /** Invoice ID. */\n      _id?: string;\n      /** ID of the app that set the invoice. */\n      appId?: string;\n  }\n  interface ListInvoicesForSingleOrderRequest$1 {\n      /** Order ID. */\n      orderId: string;\n  }\n  interface ListInvoicesForSingleOrderResponse$1 {\n      /** List of invoices. */\n      invoices?: Invoice[];\n  }\n  interface ListInvoicesForMultipleOrdersRequest$1 {\n      /** Order IDs for which to retrieve invoices. */\n      orderIds: string[];\n  }\n  interface ListInvoicesForMultipleOrdersResponse$1 {\n      /** List of order IDs and their associated invoices. */\n      invoicesForOrder?: InvoicesForOrder$1[];\n  }\n  interface InvoicesForOrder$1 {\n      /** Order ID. */\n      orderId?: string;\n      /**\n       * Invoices info. Deprecated: use `invoices_info` instead\n       * @internal\n       * @deprecated\n       */\n      invoices?: Invoice[];\n      /** Invoices info. */\n      invoicesInfo?: Invoice[];\n  }\n  interface GenerateInvoiceRequest$1 {\n      /** Order ID. */\n      orderId: string;\n  }\n  interface GenerateInvoiceResponse$1 {\n      /** Invoice ID. */\n      invoiceId?: string;\n  }\n  interface BulkGenerateInvoicesRequest$1 {\n      /** Order IDs. */\n      orderIds: string[];\n  }\n  interface BulkGenerateInvoicesResponse$1 {\n      results?: BulkInvoiceResult$1[];\n      bulkActionMetadata?: BulkActionMetadata$4;\n  }\n  interface BulkInvoiceResult$1 {\n      itemMetadata?: ItemMetadata$4;\n      item?: InvoiceForOrder$1;\n  }\n  interface ItemMetadata$4 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$c;\n  }\n  interface ApplicationError$c {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface InvoiceForOrder$1 {\n      /** Order ID. */\n      orderId?: string;\n      /** Invoice ID. */\n      invoiceId?: string;\n  }\n  interface BulkActionMetadata$4 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface AddInvoiceToOrderRequest$1 {\n      /** Order ID. */\n      orderId: string;\n      /** Invoice info. */\n      invoiceInfo: Invoice;\n  }\n  interface AddInvoiceToOrderResponse$1 {\n      /** List of order invoices. */\n      orderInvoices?: Invoice[];\n  }\n  interface DomainEvent$m extends DomainEventBodyOneOf$m {\n      createdEvent?: EntityCreatedEvent$m;\n      updatedEvent?: EntityUpdatedEvent$m;\n      deletedEvent?: EntityDeletedEvent$m;\n      actionEvent?: ActionEvent$m;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$m {\n      createdEvent?: EntityCreatedEvent$m;\n      updatedEvent?: EntityUpdatedEvent$m;\n      deletedEvent?: EntityDeletedEvent$m;\n      actionEvent?: ActionEvent$m;\n  }\n  interface EntityCreatedEvent$m {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$m;\n  }\n  interface RestoreInfo$m {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$m {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$m {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$m {\n      bodyAsJson?: string;\n  }\n  interface Empty$f {\n  }\n  interface GetOrderInvoiceRequest {\n      /** Invoice ID. */\n      invoiceId: string;\n  }\n  interface GetOrderInvoiceResponse {\n      /** Order ID. */\n      orderId?: string;\n      /** Invoice info. */\n      invoiceInfo?: Invoice;\n  }\n  interface GenerateInvoiceWithNumberRequest {\n      /** Order ID. */\n      orderId: string;\n      invoiceNumber: string;\n      /** Date and time the payment was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. */\n      issueDate?: Date | null;\n  }\n  interface GenerateInvoiceWithNumberResponse {\n      /** Invoice ID. */\n      invoiceId?: string;\n  }\n  interface MessageEnvelope$l {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$m;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$m extends IdentificationDataIdOneOf$m {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$l;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$m {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$l {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the IDs of invoices associated with a specified order.\n   *\n   *\n   * The `listInvoicesForSingleOrder()` function returns a Promise that resolves when the specified order's transaction records are retrieved.\n   * @param orderId - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.READ_INVOICES\n   */\n  function listInvoicesForSingleOrder$1(orderId: string): Promise<ListInvoicesForSingleOrderResponse$1>;\n  /**\n   * Retrieves the IDs of invoices associated with all specified orders.\n   *\n   *\n   * The `listInvoicesForSingleOrder()` function returns a Promise that resolves when the specified order's transaction records are retrieved.\n   * @param orderIds - Order IDs for which to retrieve invoices.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderIds\n   * @permissionId ECOM.READ_INVOICES\n   */\n  function listInvoicesForMultipleOrders$1(orderIds: string[]): Promise<ListInvoicesForMultipleOrdersResponse$1>;\n  /**\n   * Retrieves invoices associated with all specified orders.\n   * !!! Deprecated !!!\n   * @param orderIds - Order IDs for which to retrieve invoices.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderIds\n   * @permissionId ECOM.READ_INVOICES\n   * @deprecated\n   * @targetRemovalDate 2025-03-02\n   */\n  function listInvoicesForMultipleOrdersOld$1(orderIds: string[]): Promise<ListInvoicesForMultipleOrdersResponse$1>;\n  /**\n   * Generates and adds an invoice to a specified order.\n   * @param orderId - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.MODIFY_INVOICES\n   * @adminMethod\n   */\n  function generateInvoice$1(orderId: string): Promise<GenerateInvoiceResponse$1>;\n  /**\n   * Generates and adds invoices to all specified orders.\n   * @param orderIds - Order IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderIds\n   * @permissionId ECOM.MODIFY_INVOICES\n   * @adminMethod\n   */\n  function bulkGenerateInvoices$1(orderIds: string[]): Promise<BulkGenerateInvoicesResponse$1>;\n  /**\n   * Adds an invoice to a specified order.\n   * @param orderId - Order ID.\n   * @param invoiceInfo - Invoice info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField invoiceInfo\n   * @requiredField invoiceInfo._id\n   * @requiredField invoiceInfo.appId\n   * @requiredField orderId\n   * @permissionId ECOM.ADD_INVOICE\n   * @adminMethod\n   */\n  function addInvoiceToOrder$1(orderId: string, invoiceInfo: Invoice): Promise<AddInvoiceToOrderResponse$1>;\n  /** @param invoiceId - Invoice ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField invoiceId\n   * @permissionId ECOM.READ_INVOICES\n   */\n  function getOrderInvoice(invoiceId: string): Promise<GetOrderInvoiceResponse>;\n  /**\n   * Generates and adds an invoice to a specified order.\n   * @param orderId - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField invoiceNumber\n   * @requiredField orderId\n   * @permissionId ECOM.MODIFY_INVOICES\n   * @adminMethod\n   */\n  function generateInvoiceWithNumber(orderId: string, invoiceNumber: string, options?: GenerateInvoiceWithNumberOptions): Promise<GenerateInvoiceWithNumberResponse>;\n  interface GenerateInvoiceWithNumberOptions {\n      /** Date and time the payment was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. */\n      issueDate?: Date | null;\n  }\n  \n  type ecomOrdersV1Invoice_universal_d_Invoice = Invoice;\n  type ecomOrdersV1Invoice_universal_d_GetOrderInvoiceRequest = GetOrderInvoiceRequest;\n  type ecomOrdersV1Invoice_universal_d_GetOrderInvoiceResponse = GetOrderInvoiceResponse;\n  type ecomOrdersV1Invoice_universal_d_GenerateInvoiceWithNumberRequest = GenerateInvoiceWithNumberRequest;\n  type ecomOrdersV1Invoice_universal_d_GenerateInvoiceWithNumberResponse = GenerateInvoiceWithNumberResponse;\n  const ecomOrdersV1Invoice_universal_d_getOrderInvoice: typeof getOrderInvoice;\n  const ecomOrdersV1Invoice_universal_d_generateInvoiceWithNumber: typeof generateInvoiceWithNumber;\n  type ecomOrdersV1Invoice_universal_d_GenerateInvoiceWithNumberOptions = GenerateInvoiceWithNumberOptions;\n  namespace ecomOrdersV1Invoice_universal_d {\n    export {\n      ecomOrdersV1Invoice_universal_d_Invoice as Invoice,\n      ListInvoicesForSingleOrderRequest$1 as ListInvoicesForSingleOrderRequest,\n      ListInvoicesForSingleOrderResponse$1 as ListInvoicesForSingleOrderResponse,\n      ListInvoicesForMultipleOrdersRequest$1 as ListInvoicesForMultipleOrdersRequest,\n      ListInvoicesForMultipleOrdersResponse$1 as ListInvoicesForMultipleOrdersResponse,\n      InvoicesForOrder$1 as InvoicesForOrder,\n      GenerateInvoiceRequest$1 as GenerateInvoiceRequest,\n      GenerateInvoiceResponse$1 as GenerateInvoiceResponse,\n      BulkGenerateInvoicesRequest$1 as BulkGenerateInvoicesRequest,\n      BulkGenerateInvoicesResponse$1 as BulkGenerateInvoicesResponse,\n      BulkInvoiceResult$1 as BulkInvoiceResult,\n      ItemMetadata$4 as ItemMetadata,\n      ApplicationError$c as ApplicationError,\n      InvoiceForOrder$1 as InvoiceForOrder,\n      BulkActionMetadata$4 as BulkActionMetadata,\n      AddInvoiceToOrderRequest$1 as AddInvoiceToOrderRequest,\n      AddInvoiceToOrderResponse$1 as AddInvoiceToOrderResponse,\n      DomainEvent$m as DomainEvent,\n      DomainEventBodyOneOf$m as DomainEventBodyOneOf,\n      EntityCreatedEvent$m as EntityCreatedEvent,\n      RestoreInfo$m as RestoreInfo,\n      EntityUpdatedEvent$m as EntityUpdatedEvent,\n      EntityDeletedEvent$m as EntityDeletedEvent,\n      ActionEvent$m as ActionEvent,\n      Empty$f as Empty,\n      ecomOrdersV1Invoice_universal_d_GetOrderInvoiceRequest as GetOrderInvoiceRequest,\n      ecomOrdersV1Invoice_universal_d_GetOrderInvoiceResponse as GetOrderInvoiceResponse,\n      ecomOrdersV1Invoice_universal_d_GenerateInvoiceWithNumberRequest as GenerateInvoiceWithNumberRequest,\n      ecomOrdersV1Invoice_universal_d_GenerateInvoiceWithNumberResponse as GenerateInvoiceWithNumberResponse,\n      MessageEnvelope$l as MessageEnvelope,\n      IdentificationData$m as IdentificationData,\n      IdentificationDataIdOneOf$m as IdentificationDataIdOneOf,\n      WebhookIdentityType$l as WebhookIdentityType,\n      listInvoicesForSingleOrder$1 as listInvoicesForSingleOrder,\n      listInvoicesForMultipleOrders$1 as listInvoicesForMultipleOrders,\n      listInvoicesForMultipleOrdersOld$1 as listInvoicesForMultipleOrdersOld,\n      generateInvoice$1 as generateInvoice,\n      bulkGenerateInvoices$1 as bulkGenerateInvoices,\n      addInvoiceToOrder$1 as addInvoiceToOrder,\n      ecomOrdersV1Invoice_universal_d_getOrderInvoice as getOrderInvoice,\n      ecomOrdersV1Invoice_universal_d_generateInvoiceWithNumber as generateInvoiceWithNumber,\n      ecomOrdersV1Invoice_universal_d_GenerateInvoiceWithNumberOptions as GenerateInvoiceWithNumberOptions,\n    };\n  }\n  \n  interface Recommendation {\n      /** Recommended items. */\n      items?: CatalogReference$b[];\n      /** The algorithm used to provide the recommendation. */\n      algorithm?: Algorithm;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$b {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface Algorithm {\n      /** Algorithm ID defined by the app providing the algorithm. */\n      _id?: string;\n      /**\n       * App ID of the Wix or 3rd-party app providing the algorithm.\n       *\n       * Wix app IDs are <a href=\"https://dev.wix.com/api/rest/getting-started/wix-business-solutions#getting-started_wix-business-solutions_about-wix-business-solutions\" target=\"_blank\">listed here</a>.\n       */\n      appId?: string;\n  }\n  interface ListAvailableAlgorithmsRequest {\n  }\n  interface ListAvailableAlgorithmsResponse {\n      /** Algorithms available for use on your Wix site or project. See the method description for more information. */\n      availableAlgorithms?: AlgorithmInfo[];\n  }\n  interface AlgorithmInfo {\n      /** How the algorithm is configured. */\n      config?: AlgorithmConfig;\n      /**\n       * The app ID of the application providing the algorithm.\n       *\n       * Wix app IDs are <a href=\"https://dev.wix.com/api/rest/getting-started/wix-business-solutions#getting-started_wix-business-solutions_about-wix-business-solutions\" target=\"_blank\">listed here</a>.\n       */\n      appId?: string;\n      /**\n       * App IDs of catalogs to which the algorithm can be applied.\n       *\n       * Wix app IDs are <a href=\"https://dev.wix.com/api/rest/getting-started/wix-business-solutions#getting-started_wix-business-solutions_about-wix-business-solutions\" target=\"_blank\">listed here</a>.\n       */\n      catalogAppIds?: string[];\n  }\n  interface AlgorithmConfig {\n      /** Algorithm name. This value is not translatable. */\n      name?: string;\n      /** Algorithm description. This describes how the algorithm works and if it has any limitations regarding site content, number of items in the catalog, site traffic, and so on. This value is not translatable. */\n      description?: string;\n      /** A supplemental `description`. It can be used to help break up and organize information. You can, for example, display this information as a tooltip or as an additional section that is collapsed by default. */\n      additionalInfo?: string | null;\n      /**\n       * Algorithms may have the following types:\n       * * `RELATED_ITEMS` - This type of algorithm provides recommendations based on 1 or more other provided items. For example, when an item is added to a cart, the algorithm can suggest other items frequently bought together with that item.\n       * * `GLOBAL` - This type of algorithm provides general recommendations based on site or project statistics. For example, bestsellers or new arrivals.\n       */\n      algorithmType?: AlgorithmType;\n      /** Algorithm ID. This must be unique for a specific app but does not have to be unique across all apps on the site or in the project. */\n      algorithmId?: string;\n  }\n  enum AlgorithmType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      RELATED_ITEMS = \"RELATED_ITEMS\",\n      GLOBAL = \"GLOBAL\"\n  }\n  interface GetRecommendationRequest {\n      /** The set of items for which to get recommendations. Required if the `algorithmType` is `RELATED_ITEMS`. */\n      items?: CatalogReference$b[];\n      /**\n       * A list of algorithms checked in a specific order determined by their `appID` and their position in the `algorithms` array.\n       * See the method description for more information.\n       *\n       * If no algorithm is able to return at least `minimumRecommendedItems` items, an empty array is returned.\n       */\n      algorithms: Algorithm[];\n      /**\n       * The minimum number of items that must be recommended by the algorithm for those items to be returned in the response.\n       *\n       * Max: `100`\n       */\n      minimumRecommendedItems?: number;\n  }\n  interface GetRecommendationResponse {\n      /** An object containing a list of items recommended by 1 of the specified algorithms. The recommendation is empty if none of the specified algorithms recommended enough items. */\n      recommendation?: Recommendation;\n  }\n  interface ItemAppIdNotSupportedByProvider {\n      /** Items with an App ID not supported by the provider. Supported App IDs can be found in the provider config in the Dev Center. */\n      items?: CatalogReference$b[];\n      /** Algorithms that don't support the requested items. */\n      algorithms?: Algorithm[];\n  }\n  interface RecommendationAlgorithmNotSupported {\n      /** Algorithms not supported by the provider. */\n      unsupportedAlgorithms?: Algorithm[];\n  }\n  /**\n   * Returns a list of recommendation algorithms that can be used on your Wix site or project. These algorithms can be used with [`getRecommendation()`](#getRecommendation) to provide item recommendations to the customer.\n   *\n   * Algorithms are run by the apps that provide them, and can only be used on catalogs they support. Apps may provide algorithms for use with their own catalogs and/or catalogs from other apps.\n   *\n   * The app which provides an algorithm is referenced by that algorithm’s `appId`. The apps whose catalogs are supported by an algorithm are referenced by the IDs in that algorithm’s `catalogAppIds` array.\n   *\n   *\n   * For an algorithm to be considered “Available” and returned in this method’s response, the algorithm must meet the following conditions:\n   * 1. The algorithm’s `appId` must match the ID of an installed Wix app.\n   * 2. At least 1 of the IDs in `catalogAppIds` must match the ID of an installed Wix app.\n   *\n   * Wix app IDs are [listed here](https://dev.wix.com/api/rest/getting-started/wix-business-solutions#getting-started_wix-business-solutions_about-wix-business-solutions).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RECOMMENDATIONS.READ\n   */\n  function listAvailableAlgorithms(): Promise<ListAvailableAlgorithmsResponse>;\n  /**\n   * Returns a recommendation object containing a list of items to recommend to the customer.\n   *\n   * `getRecommendation()` determines which items to recommend based on the given recommendation algorithms.\n   *\n   * `getRecommendation()` doesn’t run the algorithms. It calls the installed apps that provide them.\n   *\n   * Apps may provide algorithms for use with their own catalogs, or for use with catalogs from other apps.\n   * For example, Wix Stores provides algorithms that can only be used on its own catalogs.\n   * To run an algorithm, the app providing it must be installed, and an app providing a supported catalog must be installed.\n   * For more information and to see which algorithms are available on your site or project, call [`listAvailableAlgorithms()`](#listavailablealgorithms).\n   *\n   * `getRecommendation()` operates as follows:\n   * 1. `getRecommendation()` receives as input a list of algorithms as an array. These algorithms can be provided by different apps and can apply to different catalogs.\n   * 2. `getRecommendation()` calls the app that corresponds to the `appId` of the first algorithm in the list of algorithms. It passes that algorithm’s ID and the IDs of any subsequent algorithms in the array for the same app.\n   * 3. The app runs the algorithms.\n   * 4. `getRecommendation()` returns items recommendations from the first algorithm (according to its position in the `algorithms` array) that meets the minimum number of recommendations. At that point `getRecommendation()` stops calling other apps.\n   * 5. If none of the algorithms run by the first app meet the minimum recommended items, `getRecommendation()` finds the next algorithm in the array with a new `appId` (an ID of an app that has not yet been called), and repeats the process.\n   * 6. If no algorithms in the `algorithms` array recommend at least the minimum recommended items, `getRecommendation()` returns an empty array.\n   * @param algorithms - A list of algorithms checked in a specific order determined by their `appID` and their position in the `algorithms` array.\n   * See the method description for more information.\n   *\n   * If no algorithm is able to return at least `minimumRecommendedItems` items, an empty array is returned.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField algorithms\n   * @requiredField algorithms._id\n   * @requiredField algorithms.appId\n   * @requiredField options.items.appId\n   * @requiredField options.items.catalogItemId\n   * @param options - Get recommendation options.\n   * @permissionId RECOMMENDATIONS.READ\n   */\n  function getRecommendation(algorithms: Algorithm[], options?: GetRecommendationOptions): Promise<GetRecommendationResponse>;\n  interface GetRecommendationOptions {\n      /** The set of items for which to get recommendations. Required if the `algorithmType` is `RELATED_ITEMS`. */\n      items?: CatalogReference$b[];\n      /**\n       * The minimum number of items that must be recommended by the algorithm for those items to be returned in the response.\n       *\n       * Max: `100`\n       */\n      minimumRecommendedItems?: number;\n  }\n  \n  type ecomRecommendationsV1Recommendation_universal_d_Recommendation = Recommendation;\n  type ecomRecommendationsV1Recommendation_universal_d_Algorithm = Algorithm;\n  type ecomRecommendationsV1Recommendation_universal_d_ListAvailableAlgorithmsRequest = ListAvailableAlgorithmsRequest;\n  type ecomRecommendationsV1Recommendation_universal_d_ListAvailableAlgorithmsResponse = ListAvailableAlgorithmsResponse;\n  type ecomRecommendationsV1Recommendation_universal_d_AlgorithmInfo = AlgorithmInfo;\n  type ecomRecommendationsV1Recommendation_universal_d_AlgorithmConfig = AlgorithmConfig;\n  type ecomRecommendationsV1Recommendation_universal_d_AlgorithmType = AlgorithmType;\n  const ecomRecommendationsV1Recommendation_universal_d_AlgorithmType: typeof AlgorithmType;\n  type ecomRecommendationsV1Recommendation_universal_d_GetRecommendationRequest = GetRecommendationRequest;\n  type ecomRecommendationsV1Recommendation_universal_d_GetRecommendationResponse = GetRecommendationResponse;\n  type ecomRecommendationsV1Recommendation_universal_d_ItemAppIdNotSupportedByProvider = ItemAppIdNotSupportedByProvider;\n  type ecomRecommendationsV1Recommendation_universal_d_RecommendationAlgorithmNotSupported = RecommendationAlgorithmNotSupported;\n  const ecomRecommendationsV1Recommendation_universal_d_listAvailableAlgorithms: typeof listAvailableAlgorithms;\n  const ecomRecommendationsV1Recommendation_universal_d_getRecommendation: typeof getRecommendation;\n  type ecomRecommendationsV1Recommendation_universal_d_GetRecommendationOptions = GetRecommendationOptions;\n  namespace ecomRecommendationsV1Recommendation_universal_d {\n    export {\n      ecomRecommendationsV1Recommendation_universal_d_Recommendation as Recommendation,\n      CatalogReference$b as CatalogReference,\n      ecomRecommendationsV1Recommendation_universal_d_Algorithm as Algorithm,\n      ecomRecommendationsV1Recommendation_universal_d_ListAvailableAlgorithmsRequest as ListAvailableAlgorithmsRequest,\n      ecomRecommendationsV1Recommendation_universal_d_ListAvailableAlgorithmsResponse as ListAvailableAlgorithmsResponse,\n      ecomRecommendationsV1Recommendation_universal_d_AlgorithmInfo as AlgorithmInfo,\n      ecomRecommendationsV1Recommendation_universal_d_AlgorithmConfig as AlgorithmConfig,\n      ecomRecommendationsV1Recommendation_universal_d_AlgorithmType as AlgorithmType,\n      ecomRecommendationsV1Recommendation_universal_d_GetRecommendationRequest as GetRecommendationRequest,\n      ecomRecommendationsV1Recommendation_universal_d_GetRecommendationResponse as GetRecommendationResponse,\n      ecomRecommendationsV1Recommendation_universal_d_ItemAppIdNotSupportedByProvider as ItemAppIdNotSupportedByProvider,\n      ecomRecommendationsV1Recommendation_universal_d_RecommendationAlgorithmNotSupported as RecommendationAlgorithmNotSupported,\n      ecomRecommendationsV1Recommendation_universal_d_listAvailableAlgorithms as listAvailableAlgorithms,\n      ecomRecommendationsV1Recommendation_universal_d_getRecommendation as getRecommendation,\n      ecomRecommendationsV1Recommendation_universal_d_GetRecommendationOptions as GetRecommendationOptions,\n    };\n  }\n  \n  /**\n   * A SubscriptionContract is a ...\n   * You can ...\n   * Read more about SubscriptionContracts\n   * in this [article](<LINK_TO_KB_ARTICLE>).\n   */\n  interface SubscriptionContract {\n      /**\n       * SubscriptionContract ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the SubscriptionContract is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the SubscriptionContract.\n       *\n       * Ignored when creating a SubscriptionOrderContract.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the subscription contract was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the subscription contract was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Corresponding billing subscription id\n       * @internal\n       */\n      billingSubscriptionId?: string | null;\n      /** Subscription option description. For example, `\"1kg of selected coffee, once a month\"`. */\n      description?: string | null;\n      /** Subscription detailed information. */\n      subscriptionSettings?: V1SubscriptionSettings$1;\n      /**\n       * Order line items.\n       * @readonly\n       */\n      lineItems?: OrderLineItem$2[];\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$9;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       */\n      buyerLanguage?: string | null;\n      /** Weight measurement unit - defaults to site's weight unit. */\n      weightUnit?: WeightUnit$9;\n      /** Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. */\n      currency?: string | null;\n      /**\n       * Whether tax is included in line item prices.\n       *\n       * Default: `false`\n       */\n      taxIncludedInPrices?: boolean;\n      /**\n       * Order price summary.\n       * @readonly\n       */\n      priceSummary?: PriceSummary$7;\n      /** Billing address and contact details. */\n      billingInfo?: AddressWithContact$6;\n      /** Shipping info and selected shipping option details. */\n      shippingInfo?: ShippingInformation$5;\n      /**\n       * Tax information.\n       * @internal\n       */\n      taxInfo?: OrderTaxInfo$2;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount$7[];\n      /** Information about the sales channel that submitted this order. */\n      channelInfo?: ChannelInfo$4;\n      /** Custom fields. */\n      customFields?: CustomField$5[];\n      /**\n       * Order recipient address and contact details.\n       *\n       * This field may differ from the address in `shippingInfo.logistics` when:\n       * + The chosen shipping option is pickup point or store pickup.\n       * + No shipping option is selected.\n       */\n      recipientInfo?: AddressWithContact$6;\n      /**\n       * Custom field data for the subscription contract object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$b;\n      /** Subscription option title. For example, `\"Monthly coffee Subscription\"`. */\n      title?: string | null;\n  }\n  interface V1SubscriptionSettings$1 {\n      /** Frequency of recurring payment. */\n      frequency?: V1SubscriptionFrequency;\n      /** Interval of recurring payment. */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n      /** Whether to allow the customer to cancel the subscription. */\n      enableCustomerCancellation?: boolean;\n  }\n  enum V1SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface OrderLineItem$2 {\n      /** Line item ID. */\n      _id?: string;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       */\n      productName?: ProductName$6;\n      /**\n       * References to the line item's origin catalog.\n       * This field may be empty in the case of a custom line item.\n       */\n      catalogReference?: CatalogReference$a;\n      /** Line item quantity. */\n      quantity?: number;\n      /**\n       * Total discount for this line item's entire quantity.\n       * @readonly\n       */\n      totalDiscount?: Price$5;\n      /** Line item description lines. Used for display purposes for the cart, checkout and order. */\n      descriptionLines?: DescriptionLine$6[];\n      /** Line item image. */\n      image?: string;\n      /** Physical properties of the item. When relevant, contains information such as SKU and item weight. */\n      physicalProperties?: PhysicalProperties$8;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType$7;\n      /**\n       * Fulfiller ID. Field is empty when the line item is self-fulfilled.\n       * To get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-fulfillments/list-fulfillments-for-single-order).\n       */\n      fulfillerId?: string | null;\n      /** Number of items that were refunded. */\n      refundQuantity?: number | null;\n      /** Number of items restocked. */\n      restockQuantity?: number | null;\n      /** Line item price after line item discounts for display purposes. */\n      price?: Price$5;\n      /**\n       * Line item price before line item discounts for display purposes. Defaults to `price` when not provided.\n       * @readonly\n       */\n      priceBeforeDiscounts?: Price$5;\n      /**\n       * Total price after discounts, and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: Price$5;\n      /**\n       * Total price after all discounts and tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: Price$5;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       * + `FULL_PAYMENT_ONLINE` - The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `DEPOSIT_ONLINE` - Partial payment for the given item to be paid upfront during the checkout. Eligible for catalog items with type `DEPOSIT_ONLINE` only.\n       */\n      paymentOption?: PaymentOptionType$4;\n      /**\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @deprecated Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxDetails?: ItemTaxFullDetails$7;\n      /** Represents all the relevant tax details for a specific line item. */\n      taxInfo?: LineItemTaxInfo$2;\n      /** Digital file identifier, relevant only for items with type DIGITAL. */\n      digitalFile?: DigitalFile$3;\n      /** Subscription info. */\n      subscriptionInfo?: SubscriptionInfo$3;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription$6;\n      /**\n       * Item's price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `\"DEPOSIT_ONLINE\"`.\n       * @readonly\n       */\n      depositAmount?: Price$5;\n      /**\n       * The Item's Delivery Profile Id\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** @internal */\n      shippingGroupId?: string | null;\n      /**\n       * Source locations for this line item. The location's total quantity must not exceed the line item quantity.\n       * @internal\n       */\n      locations?: LocationAndQuantity$2[];\n      /**\n       * Total price **after** catalog discounts and line item discounts.\n       * @internal\n       */\n      lineItemPrice?: Price$5;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @internal\n       * @readonly\n       */\n      customLineItem?: boolean | null;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n       * @internal\n       * @readonly\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Address used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress$7;\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       *\n       * Default: `false`\n       * @internal\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Custom extended fields for the line item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$b;\n  }\n  interface ProductName$6 {\n      /**\n       * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n       *\n       * Min: 1 character.\n       * Max: 200 characters.\n       */\n      original?: string;\n      /**\n       * Item name translated into the buyer's language.\n       *\n       * Min: 1 character.\n       * Max: 400 characters.\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$a {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface Price$5 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface DescriptionLine$6 extends DescriptionLineValueOneOf$6, DescriptionLineDescriptionLineValueOneOf$6 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$6;\n      /** Description line color value. */\n      colorInfo?: Color$6;\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$6;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n      /** Description line name. */\n      name?: DescriptionLineName$6;\n      /**\n       * Description line type.\n       * @internal\n       * @deprecated\n       */\n      lineType?: DescriptionLineType$6;\n  }\n  /** @oneof */\n  interface DescriptionLineValueOneOf$6 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$6;\n      /** Description line color value. */\n      colorInfo?: Color$6;\n  }\n  /** @oneof */\n  interface DescriptionLineDescriptionLineValueOneOf$6 {\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$6;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n  }\n  interface DescriptionLineName$6 {\n      /** Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface PlainTextValue$6 {\n      /** Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line plain text value translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Color$6 {\n      /** Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line color name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n      /** HEX or RGB color code for display. */\n      code?: string | null;\n  }\n  enum DescriptionLineType$6 {\n      /** Unrecognized type. */\n      UNRECOGNISED = \"UNRECOGNISED\",\n      /** Plain text type. */\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      /** Color type. */\n      COLOR = \"COLOR\"\n  }\n  interface FocalPoint$7 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface PhysicalProperties$8 {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface ItemType$7 extends ItemTypeItemTypeDataOneOf$7 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$7;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf$7 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$7;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType$7 {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  /** Type of selected payment option for catalog item */\n  enum PaymentOptionType$4 {\n      /** The entire payment for this item happens as part of the checkout. */\n      FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n      /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /** Payment for this item is done by charging a membership. When selected, `price` is `0`. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n      DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\",\n      /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface ItemTaxFullDetails$7 {\n      /** Taxable amount of this line item. */\n      taxableAmount?: Price$5;\n      /**\n       * ID of the item's tax group, if specified.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /** Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`. */\n      taxRate?: string;\n      /** The calculated tax, based on the `taxableAmount` and `taxRate`. */\n      totalTax?: Price$5;\n  }\n  interface LineItemTaxInfo$2 {\n      /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n      taxAmount?: Price$5;\n      /** Amount for which tax is calculated. */\n      taxableAmount?: Price$5;\n      /** Tax rate %, as a decimal point. */\n      taxRate?: string | null;\n      /**\n       * Tax group ID.\n       * Learn more about [Tax Groups](https://dev.wix.com/docs/rest/business-management/payments/tax/tax-groups/introduction).\n       */\n      taxGroupId?: string | null;\n      /** Indicates whether the price already includes tax. */\n      taxIncludedInPrice?: boolean;\n      /** Tax information for a line item. */\n      taxBreakdown?: LineItemTaxBreakdown$2[];\n  }\n  /**\n   * TaxBreakdown represents tax information for a line item.\n   * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface LineItemTaxBreakdown$2 {\n      /** Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000. */\n      rate?: string | null;\n      /** Amount of tax calculated for this line item. */\n      taxAmount?: Price$5;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** Type of jurisdiction that taxes were calculated for. */\n      jurisdictionType?: JurisdictionType$7;\n      /** Non-taxable amount of the line item price. */\n      nonTaxableAmount?: Price$5;\n      /** Taxable amount of the line item price. */\n      taxableAmount?: Price$5;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType$7 {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface DigitalFile$3 {\n      /** ID of the secure file in media. */\n      fileId?: string;\n      /** Link will exist after the digital links have been generated on the order. */\n      link?: string | null;\n      /**\n       * Link expiration time and date.\n       * @readonly\n       */\n      expirationDate?: Date | null;\n  }\n  interface SubscriptionInfo$3 {\n      /** Subscription ID. */\n      _id?: string | null;\n      /** Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be `3`. */\n      cycleNumber?: number;\n      /** Subscription option title. For example, `\"Monthly coffee Subscription\"`. */\n      subscriptionOptionTitle?: string;\n      /** Subscription option description. For example, `\"1kg of selected coffee, once a month\"`. */\n      subscriptionOptionDescription?: string | null;\n      /** Subscription detailed information. */\n      subscriptionSettings?: SubscriptionSettings$8;\n  }\n  interface SubscriptionSettings$8 {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency$8;\n      /** Interval of recurring payment. */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription.\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency$8 {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface PriceDescription$6 {\n      /** __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Price description translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface LocationAndQuantity$2 {\n      /** Location id in the associated owner app. */\n      _id?: string;\n      /** Location owner app, if not provided then the site business info locations will be used. */\n      appId?: string | null;\n      /** Quantity for specific location. */\n      quantity?: number;\n  }\n  interface TaxableAddress$7 extends TaxableAddressTaxableAddressDataOneOf$7 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$7;\n  }\n  /** @oneof */\n  interface TaxableAddressTaxableAddressDataOneOf$7 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$7;\n  }\n  enum TaxableAddressType$7 {\n      UNKNOWN_TAXABLE_ADDRESS = \"UNKNOWN_TAXABLE_ADDRESS\",\n      BUSINESS = \"BUSINESS\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface ExtendedFields$b {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  /** Buyer Info */\n  interface BuyerInfo$9 extends BuyerInfoIdOneOf$6 {\n      /** Visitor ID (if site visitor is not a member). */\n      visitorId?: string;\n      /** Member ID (if site visitor is a site member). */\n      memberId?: string;\n      /** Contact ID. Auto-created if one does not yet exist. For more information, see [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction). */\n      contactId?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface BuyerInfoIdOneOf$6 {\n      /** Visitor ID (if site visitor is not a member). */\n      visitorId?: string;\n      /** Member ID (if site visitor is a site member). */\n      memberId?: string;\n  }\n  enum WeightUnit$9 {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface PriceSummary$7 {\n      /** Subtotal of all the line items, before discounts and before tax. */\n      subtotal?: Price$5;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: Price$5;\n      /** Total tax on this order. */\n      tax?: Price$5;\n      /** Total calculated discount value. */\n      discount?: Price$5;\n      /**\n       * Deprecated - use `total` instead.\n       * @internal\n       * @deprecated\n       */\n      totalPrice?: Price$5;\n      /** Order’s total price after discounts and tax. */\n      total?: Price$5;\n      /**\n       * Order's total price including gift card.\n       * @internal\n       * @deprecated\n       */\n      totalWithGiftCard?: Price$5;\n      /**\n       * Order's total price after without gift card.\n       * @internal\n       * @deprecated\n       */\n      totalWithoutGiftCard?: Price$5;\n      /** Total price of additional fees before tax. */\n      totalAdditionalFees?: Price$5;\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact$6 {\n      /** Address. */\n      address?: Address$b;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails$8;\n  }\n  /** Physical address */\n  interface Address$b {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress$a;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation$a;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress$a {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$a {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails$8 {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId$9;\n  }\n  interface VatId$9 {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType$9;\n  }\n  /** tax info types */\n  enum VatType$9 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface ShippingInformation$5 {\n      /** App Def Id of external provider which was a source of shipping info */\n      carrierId?: string | null;\n      /** Unique code (or ID) of selected shipping option. For example, `\"usps_std_overnight\"`. */\n      code?: string | null;\n      /**\n       * Shipping option title.\n       * For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"` or `\"First-Class Package International\"`.\n       */\n      title?: string;\n      /** Shipping logistics. */\n      logistics?: DeliveryLogistics$8;\n      /** Shipping costs. */\n      cost?: ShippingPrice$7;\n      /** Shipping region. */\n      region?: ShippingRegion$7;\n  }\n  interface DeliveryLogistics$8 extends DeliveryLogisticsAddressOneOf$1 {\n      /** Shipping address and contact details. */\n      shippingDestination?: AddressWithContact$6;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails$9;\n      /** Expected delivery time in free text. For example, `\"3-5 business days\"`. */\n      deliveryTime?: string | null;\n      /** Instructions for carrier. For example, `\"Please knock on the door. If unanswered, please call contact number. Thanks.\"`. */\n      instructions?: string | null;\n      /**\n       * Deprecated - Latest expected delivery date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @deprecated\n       */\n      deliverByDate?: Date | null;\n      /** Expected delivery time. */\n      deliveryTimeSlot?: DeliveryTimeSlot$8;\n  }\n  /** @oneof */\n  interface DeliveryLogisticsAddressOneOf$1 {\n      /** Shipping address and contact details. */\n      shippingDestination?: AddressWithContact$6;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails$9;\n  }\n  interface PickupDetails$9 {\n      /** Pickup address. */\n      address?: PickupAddress$4;\n      /** Pickup method */\n      pickupMethod?: PickupMethod$8;\n  }\n  /** Physical address */\n  interface PickupAddress$4 {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address object, with number, name, and apartment number in separate fields. */\n      streetAddress?: StreetAddress$a;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n      /** @internal */\n      location?: AddressLocation$a;\n  }\n  enum PickupMethod$8 {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot$8 {\n      /** Delivery slot starting time. */\n      from?: Date | null;\n      /** Delivery slot ending time. */\n      to?: Date | null;\n  }\n  interface ShippingPrice$7 {\n      /** Shipping price for display purposes. */\n      price?: Price$5;\n      /**\n       * Total price of shipping after discounts (when relevant), and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: Price$5;\n      /**\n       * Shipping price after all discounts (if any exist), and after tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: Price$5;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$7;\n      /**\n       * Shipping discount before tax.\n       * @readonly\n       */\n      discount?: Price$5;\n  }\n  interface ShippingRegion$7 {\n      /** Name of shipping region. For example, `\"Metropolitan London\"`, or `\"Outer Melbourne suburbs\"`. */\n      name?: string | null;\n  }\n  interface OrderTaxInfo$2 {\n      /** Calculated tax, added from line items. */\n      totalTax?: Price$5;\n      /** The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate. */\n      taxBreakdown?: OrderTaxBreakdown$2[];\n      /**\n       * Manual tax rate\n       * @internal\n       * @readonly\n       */\n      manualTaxRate?: string | null;\n      /**\n       * Whether the draft order is exempt from tax calculations.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      taxExempt?: boolean | null;\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   */\n  interface OrderTaxBreakdown$2 {\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdiction?: string;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionType?: JurisdictionType$7;\n      /** The rate at which this tax detail was calculated. */\n      rate?: string;\n      /** The sum of all the tax from line items that calculated by the tax identifiers. */\n      aggregatedTaxAmount?: Price$5;\n      /**\n       * The sum of all the taxable amount from line items for tax identifiers.\n       * @internal\n       */\n      aggregatedTaxableAmount?: Price$5;\n  }\n  interface AppliedDiscount$7 extends AppliedDiscountDiscountSourceOneOf$7 {\n      /** Applied coupon info. */\n      coupon?: Coupon$7;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$7;\n      /** Automatic Discount */\n      discountRule?: DiscountRule$7;\n      /**\n       * Discount type.\n       * * `\"GLOBAL\"` - discount applies to entire order.\n       * * `\"SPECIFIC-ITEMS\"` - discount applies to specific items.\n       * * `\"SHIPPING\"` - discount applies to shipping. For example, free shipping.\n       */\n      discountType?: DiscountType$7;\n      /**\n       * IDs of line items discount applies to.\n       * Deprecated. Use `line_item_discounts` instead.\n       * @deprecated IDs of line items discount applies to.\n       * Deprecated. Use `line_item_discounts` instead.\n       * @replacedBy line_item_discounts\n       * @targetRemovalDate 2024-10-30\n       */\n      lineItemIds?: string[];\n      /** Discount id. */\n      _id?: string | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: LineItemDiscount$7[];\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf$7 {\n      /** Applied coupon info. */\n      coupon?: Coupon$7;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$7;\n      /** Automatic Discount */\n      discountRule?: DiscountRule$7;\n  }\n  enum DiscountType$7 {\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface Coupon$7 {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon name. */\n      name?: string;\n      /** Coupon value. */\n      amount?: Price$5;\n  }\n  interface MerchantDiscount$7 extends MerchantDiscountMerchantDiscountReasonOneOf$2 {\n      /**\n       * Pre-defined discount reason (optional).\n       * * `\"ITEMS_EXCHANGE\"` - exchange balance acquired as a result of items exchange.\n       */\n      discountReason?: DiscountReason$2;\n      /** Discount description as free text (optional). */\n      description?: string | null;\n      /** Discount amount. */\n      amount?: Price$5;\n      /**\n       * Discount percentage.\n       * @internal\n       */\n      percentage?: string | null;\n  }\n  /** @oneof */\n  interface MerchantDiscountMerchantDiscountReasonOneOf$2 {\n      /**\n       * Pre-defined discount reason (optional).\n       * * `\"ITEMS_EXCHANGE\"` - exchange balance acquired as a result of items exchange.\n       */\n      discountReason?: DiscountReason$2;\n      /** Discount description as free text (optional). */\n      description?: string | null;\n  }\n  enum DiscountReason$2 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      EXCHANGED_ITEMS = \"EXCHANGED_ITEMS\"\n  }\n  interface DiscountRule$7 {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: DiscountRuleName$7;\n      /** Discount value. */\n      amount?: Price$5;\n  }\n  interface DiscountRuleName$7 {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface LineItemDiscount$7 {\n      /** ID of line item the discount applies to. */\n      _id?: string;\n      /** Total discount for this line item. */\n      totalDiscount?: Price$5;\n  }\n  interface ChannelInfo$4 {\n      /** Sales channel that submitted the order. */\n      type?: ChannelType$7;\n      /** Reference to an order ID from an external system. */\n      externalOrderId?: string | null;\n      /** URL to the order in the external system. */\n      externalOrderUrl?: string | null;\n  }\n  enum ChannelType$7 {\n      /** Unspecified sales channel. This value is not supported. */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** A web client. */\n      WEB = \"WEB\",\n      /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n      POS = \"POS\",\n      /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n      EBAY = \"EBAY\",\n      /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n      AMAZON = \"AMAZON\",\n      /** Other sales platform. */\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n      WIX_INVOICES = \"WIX_INVOICES\",\n      /** Wix merchant backoffice. */\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      /** Wish sales channel. */\n      WISH = \"WISH\",\n      /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n      CLASS_PASS = \"CLASS_PASS\",\n      /** Global-E sales channel. */\n      GLOBAL_E = \"GLOBAL_E\",\n      /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n      FACEBOOK = \"FACEBOOK\",\n      /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n      ETSY = \"ETSY\",\n      /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n      TIKTOK = \"TIKTOK\",\n      /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n      FAIRE_COM = \"FAIRE_COM\"\n  }\n  interface CustomField$5 {\n      /** Custom field value. */\n      value?: any;\n      /** Custom field title. */\n      title?: string;\n      /** Translated custom field title. */\n      translatedTitle?: string | null;\n  }\n  interface CreateSubscriptionContractRequest {\n      /** SubscriptionContract to be created. */\n      subscriptionContract: SubscriptionContract;\n  }\n  interface CreateSubscriptionContractResponse {\n      /** The created SubscriptionContract. */\n      subscriptionContract?: SubscriptionContract;\n  }\n  interface GetSubscriptionContractRequest {\n      /** ID of the SubscriptionContract to retrieve. */\n      subscriptionContractId: string;\n  }\n  interface GetSubscriptionContractResponse {\n      /** The requested SubscriptionContract. */\n      subscriptionContract?: SubscriptionContract;\n  }\n  interface UpdateSubscriptionContractRequest {\n      /** SubscriptionContract to be updated, may be partial. */\n      subscriptionContract: SubscriptionContract;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateSubscriptionContractResponse {\n      /** Updated SubscriptionContract. */\n      subscriptionContract?: SubscriptionContract;\n  }\n  interface QuerySubscriptionContractsRequest {\n      /** WQL expression. */\n      query?: CursorQuery$8;\n  }\n  interface CursorQuery$8 extends CursorQueryPagingMethodOneOf$8 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$e;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       * Learn more about the [filter format](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       * Learn more about the [sort format](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$e[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$8 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$e;\n  }\n  interface Sorting$e {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$e;\n  }\n  enum SortOrder$e {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$e {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySubscriptionContractsResponse {\n      /** List of SubscriptionContracts. */\n      subscriptionContracts?: SubscriptionContract[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$b;\n  }\n  interface CursorPagingMetadata$b {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$e;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$e {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$l extends DomainEventBodyOneOf$l {\n      createdEvent?: EntityCreatedEvent$l;\n      updatedEvent?: EntityUpdatedEvent$l;\n      deletedEvent?: EntityDeletedEvent$l;\n      actionEvent?: ActionEvent$l;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$l {\n      createdEvent?: EntityCreatedEvent$l;\n      updatedEvent?: EntityUpdatedEvent$l;\n      deletedEvent?: EntityDeletedEvent$l;\n      actionEvent?: ActionEvent$l;\n  }\n  interface EntityCreatedEvent$l {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$l;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$l {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$l {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$l {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$l {\n      bodyAsJson?: string;\n  }\n  interface Empty$e {\n  }\n  interface MessageEnvelope$k {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$l;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$l extends IdentificationDataIdOneOf$l {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$k;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$l {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$k {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a SubscriptionContract.\n   * @param subscriptionContract - SubscriptionContract to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField subscriptionContract\n   * @requiredField subscriptionContract.billingInfo.contactDetails\n   * @requiredField subscriptionContract.billingInfo.contactDetails.firstName\n   * @requiredField subscriptionContract.channelInfo\n   * @requiredField subscriptionContract.lineItems\n   * @requiredField subscriptionContract.lineItems.catalogReference.appId\n   * @requiredField subscriptionContract.lineItems.catalogReference.catalogItemId\n   * @requiredField subscriptionContract.lineItems.itemType\n   * @requiredField subscriptionContract.lineItems.price\n   * @requiredField subscriptionContract.lineItems.productName\n   * @requiredField subscriptionContract.lineItems.productName.original\n   * @requiredField subscriptionContract.lineItems.quantity\n   * @requiredField subscriptionContract.priceSummary\n   * @requiredField subscriptionContract.subscriptionSettings\n   * @requiredField subscriptionContract.subscriptionSettings.interval\n   * @permissionId ECOM.SUBSCRIPTION_CONTRACT_CREATE\n   * @adminMethod\n   * @returns The created SubscriptionContract.\n   */\n  function createSubscriptionContract(subscriptionContract: SubscriptionContract): Promise<SubscriptionContract>;\n  /**\n   * Retrieves a SubscriptionContract.\n   * @param subscriptionContractId - ID of the SubscriptionContract to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField subscriptionContractId\n   * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n   * @adminMethod\n   * @returns The requested SubscriptionContract.\n   */\n  function getSubscriptionContract(subscriptionContractId: string): Promise<SubscriptionContract>;\n  /**\n   * Updates a SubscriptionContract.\n   *\n   * Each time the SubscriptionContract is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the SubscriptionContract.\n   * This ensures you're working with the latest SubscriptionContract and prevents unintended overwrites.\n   *\n   * Currently, the following fields can be updated:\n   * + `subscriptionContract.billingSubscriptionId`\n   * @param _id - SubscriptionContract ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField subscriptionContract\n   * @permissionId ECOM.SUBSCRIPTION_CONTRACT_UPDATE\n   * @adminMethod\n   * @returns Updated SubscriptionContract.\n   */\n  function updateSubscriptionContract(_id: string | null, subscriptionContract: UpdateSubscriptionContract, options?: UpdateSubscriptionContractOptions): Promise<SubscriptionContract>;\n  interface UpdateSubscriptionContract {\n      /**\n       * SubscriptionContract ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the SubscriptionContract is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the SubscriptionContract.\n       *\n       * Ignored when creating a SubscriptionOrderContract.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the subscription contract was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the subscription contract was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Corresponding billing subscription id\n       * @internal\n       */\n      billingSubscriptionId?: string | null;\n      /** Subscription option description. For example, `\"1kg of selected coffee, once a month\"`. */\n      description?: string | null;\n      /** Subscription detailed information. */\n      subscriptionSettings?: V1SubscriptionSettings$1;\n      /**\n       * Order line items.\n       * @readonly\n       */\n      lineItems?: OrderLineItem$2[];\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$9;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       */\n      buyerLanguage?: string | null;\n      /** Weight measurement unit - defaults to site's weight unit. */\n      weightUnit?: WeightUnit$9;\n      /** Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. */\n      currency?: string | null;\n      /**\n       * Whether tax is included in line item prices.\n       *\n       * Default: `false`\n       */\n      taxIncludedInPrices?: boolean;\n      /**\n       * Order price summary.\n       * @readonly\n       */\n      priceSummary?: PriceSummary$7;\n      /** Billing address and contact details. */\n      billingInfo?: AddressWithContact$6;\n      /** Shipping info and selected shipping option details. */\n      shippingInfo?: ShippingInformation$5;\n      /**\n       * Tax information.\n       * @internal\n       */\n      taxInfo?: OrderTaxInfo$2;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount$7[];\n      /** Information about the sales channel that submitted this order. */\n      channelInfo?: ChannelInfo$4;\n      /** Custom fields. */\n      customFields?: CustomField$5[];\n      /**\n       * Order recipient address and contact details.\n       *\n       * This field may differ from the address in `shippingInfo.logistics` when:\n       * + The chosen shipping option is pickup point or store pickup.\n       * + No shipping option is selected.\n       */\n      recipientInfo?: AddressWithContact$6;\n      /**\n       * Custom field data for the subscription contract object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$b;\n      /** Subscription option title. For example, `\"Monthly coffee Subscription\"`. */\n      title?: string | null;\n  }\n  interface UpdateSubscriptionContractOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Retrieves a list of SubscriptionContracts, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 300 SubscriptionContracts can be returned per request.\n   *\n   * To learn how to query SubscriptionContracts, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n   * @adminMethod\n   */\n  function querySubscriptionContracts(): SubscriptionContractsQueryBuilder;\n  interface QueryCursorResult$e {\n      cursors: Cursors$e;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SubscriptionContractsQueryResult extends QueryCursorResult$e {\n      items: SubscriptionContract[];\n      query: SubscriptionContractsQueryBuilder;\n      next: () => Promise<SubscriptionContractsQueryResult>;\n      prev: () => Promise<SubscriptionContractsQueryResult>;\n  }\n  interface SubscriptionContractsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'buyerInfo.contactId', value: any) => SubscriptionContractsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'buyerInfo.contactId', value: any) => SubscriptionContractsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'buyerInfo.contactId', value: string) => SubscriptionContractsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'buyerInfo.contactId', value: any[]) => SubscriptionContractsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'buyerInfo.contactId', value: any) => SubscriptionContractsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'buyerInfo.contactId', value: boolean) => SubscriptionContractsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'buyerInfo.contactId'>) => SubscriptionContractsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'buyerInfo.contactId'>) => SubscriptionContractsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SubscriptionContractsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SubscriptionContractsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SubscriptionContractsQueryResult>;\n  }\n  \n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_SubscriptionContract = SubscriptionContract;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_V1SubscriptionFrequency = V1SubscriptionFrequency;\n  const ecomSubscriptionContractsV1SubscriptionContract_universal_d_V1SubscriptionFrequency: typeof V1SubscriptionFrequency;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_CreateSubscriptionContractRequest = CreateSubscriptionContractRequest;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_CreateSubscriptionContractResponse = CreateSubscriptionContractResponse;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_GetSubscriptionContractRequest = GetSubscriptionContractRequest;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_GetSubscriptionContractResponse = GetSubscriptionContractResponse;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_UpdateSubscriptionContractRequest = UpdateSubscriptionContractRequest;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_UpdateSubscriptionContractResponse = UpdateSubscriptionContractResponse;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_QuerySubscriptionContractsRequest = QuerySubscriptionContractsRequest;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_QuerySubscriptionContractsResponse = QuerySubscriptionContractsResponse;\n  const ecomSubscriptionContractsV1SubscriptionContract_universal_d_createSubscriptionContract: typeof createSubscriptionContract;\n  const ecomSubscriptionContractsV1SubscriptionContract_universal_d_getSubscriptionContract: typeof getSubscriptionContract;\n  const ecomSubscriptionContractsV1SubscriptionContract_universal_d_updateSubscriptionContract: typeof updateSubscriptionContract;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_UpdateSubscriptionContract = UpdateSubscriptionContract;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_UpdateSubscriptionContractOptions = UpdateSubscriptionContractOptions;\n  const ecomSubscriptionContractsV1SubscriptionContract_universal_d_querySubscriptionContracts: typeof querySubscriptionContracts;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_SubscriptionContractsQueryResult = SubscriptionContractsQueryResult;\n  type ecomSubscriptionContractsV1SubscriptionContract_universal_d_SubscriptionContractsQueryBuilder = SubscriptionContractsQueryBuilder;\n  namespace ecomSubscriptionContractsV1SubscriptionContract_universal_d {\n    export {\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_SubscriptionContract as SubscriptionContract,\n      V1SubscriptionSettings$1 as V1SubscriptionSettings,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_V1SubscriptionFrequency as V1SubscriptionFrequency,\n      OrderLineItem$2 as OrderLineItem,\n      ProductName$6 as ProductName,\n      CatalogReference$a as CatalogReference,\n      Price$5 as Price,\n      DescriptionLine$6 as DescriptionLine,\n      DescriptionLineValueOneOf$6 as DescriptionLineValueOneOf,\n      DescriptionLineDescriptionLineValueOneOf$6 as DescriptionLineDescriptionLineValueOneOf,\n      DescriptionLineName$6 as DescriptionLineName,\n      PlainTextValue$6 as PlainTextValue,\n      Color$6 as Color,\n      DescriptionLineType$6 as DescriptionLineType,\n      FocalPoint$7 as FocalPoint,\n      PhysicalProperties$8 as PhysicalProperties,\n      ItemType$7 as ItemType,\n      ItemTypeItemTypeDataOneOf$7 as ItemTypeItemTypeDataOneOf,\n      ItemTypeItemType$7 as ItemTypeItemType,\n      PaymentOptionType$4 as PaymentOptionType,\n      ItemTaxFullDetails$7 as ItemTaxFullDetails,\n      LineItemTaxInfo$2 as LineItemTaxInfo,\n      LineItemTaxBreakdown$2 as LineItemTaxBreakdown,\n      JurisdictionType$7 as JurisdictionType,\n      DigitalFile$3 as DigitalFile,\n      SubscriptionInfo$3 as SubscriptionInfo,\n      SubscriptionSettings$8 as SubscriptionSettings,\n      SubscriptionFrequency$8 as SubscriptionFrequency,\n      PriceDescription$6 as PriceDescription,\n      LocationAndQuantity$2 as LocationAndQuantity,\n      TaxableAddress$7 as TaxableAddress,\n      TaxableAddressTaxableAddressDataOneOf$7 as TaxableAddressTaxableAddressDataOneOf,\n      TaxableAddressType$7 as TaxableAddressType,\n      ExtendedFields$b as ExtendedFields,\n      BuyerInfo$9 as BuyerInfo,\n      BuyerInfoIdOneOf$6 as BuyerInfoIdOneOf,\n      WeightUnit$9 as WeightUnit,\n      PriceSummary$7 as PriceSummary,\n      AddressWithContact$6 as AddressWithContact,\n      Address$b as Address,\n      StreetAddress$a as StreetAddress,\n      AddressLocation$a as AddressLocation,\n      FullAddressContactDetails$8 as FullAddressContactDetails,\n      VatId$9 as VatId,\n      VatType$9 as VatType,\n      ShippingInformation$5 as ShippingInformation,\n      DeliveryLogistics$8 as DeliveryLogistics,\n      DeliveryLogisticsAddressOneOf$1 as DeliveryLogisticsAddressOneOf,\n      PickupDetails$9 as PickupDetails,\n      PickupAddress$4 as PickupAddress,\n      PickupMethod$8 as PickupMethod,\n      DeliveryTimeSlot$8 as DeliveryTimeSlot,\n      ShippingPrice$7 as ShippingPrice,\n      ShippingRegion$7 as ShippingRegion,\n      OrderTaxInfo$2 as OrderTaxInfo,\n      OrderTaxBreakdown$2 as OrderTaxBreakdown,\n      AppliedDiscount$7 as AppliedDiscount,\n      AppliedDiscountDiscountSourceOneOf$7 as AppliedDiscountDiscountSourceOneOf,\n      DiscountType$7 as DiscountType,\n      Coupon$7 as Coupon,\n      MerchantDiscount$7 as MerchantDiscount,\n      MerchantDiscountMerchantDiscountReasonOneOf$2 as MerchantDiscountMerchantDiscountReasonOneOf,\n      DiscountReason$2 as DiscountReason,\n      DiscountRule$7 as DiscountRule,\n      DiscountRuleName$7 as DiscountRuleName,\n      LineItemDiscount$7 as LineItemDiscount,\n      ChannelInfo$4 as ChannelInfo,\n      ChannelType$7 as ChannelType,\n      CustomField$5 as CustomField,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_CreateSubscriptionContractRequest as CreateSubscriptionContractRequest,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_CreateSubscriptionContractResponse as CreateSubscriptionContractResponse,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_GetSubscriptionContractRequest as GetSubscriptionContractRequest,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_GetSubscriptionContractResponse as GetSubscriptionContractResponse,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_UpdateSubscriptionContractRequest as UpdateSubscriptionContractRequest,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_UpdateSubscriptionContractResponse as UpdateSubscriptionContractResponse,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_QuerySubscriptionContractsRequest as QuerySubscriptionContractsRequest,\n      CursorQuery$8 as CursorQuery,\n      CursorQueryPagingMethodOneOf$8 as CursorQueryPagingMethodOneOf,\n      Sorting$e as Sorting,\n      SortOrder$e as SortOrder,\n      CursorPaging$e as CursorPaging,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_QuerySubscriptionContractsResponse as QuerySubscriptionContractsResponse,\n      CursorPagingMetadata$b as CursorPagingMetadata,\n      Cursors$e as Cursors,\n      DomainEvent$l as DomainEvent,\n      DomainEventBodyOneOf$l as DomainEventBodyOneOf,\n      EntityCreatedEvent$l as EntityCreatedEvent,\n      RestoreInfo$l as RestoreInfo,\n      EntityUpdatedEvent$l as EntityUpdatedEvent,\n      EntityDeletedEvent$l as EntityDeletedEvent,\n      ActionEvent$l as ActionEvent,\n      Empty$e as Empty,\n      MessageEnvelope$k as MessageEnvelope,\n      IdentificationData$l as IdentificationData,\n      IdentificationDataIdOneOf$l as IdentificationDataIdOneOf,\n      WebhookIdentityType$k as WebhookIdentityType,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_createSubscriptionContract as createSubscriptionContract,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_getSubscriptionContract as getSubscriptionContract,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_updateSubscriptionContract as updateSubscriptionContract,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_UpdateSubscriptionContract as UpdateSubscriptionContract,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_UpdateSubscriptionContractOptions as UpdateSubscriptionContractOptions,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_querySubscriptionContracts as querySubscriptionContracts,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_SubscriptionContractsQueryResult as SubscriptionContractsQueryResult,\n      ecomSubscriptionContractsV1SubscriptionContract_universal_d_SubscriptionContractsQueryBuilder as SubscriptionContractsQueryBuilder,\n    };\n  }\n  \n  interface AbandonedCheckout {\n      /** Abandoned checkout ID. */\n      _id?: string;\n      /** Date and time the abandoned checkout was created. */\n      _createdDate?: Date | null;\n      /** Date and time the abandoned checkout was updated. */\n      _updatedDate?: Date | null;\n      /** The associated checkout ID. */\n      checkoutId?: string | null;\n      /** The associated cart ID. */\n      cartId?: string | null;\n      /** Status of the abandoned checkout. */\n      status?: Status$4;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       */\n      buyerLanguage?: string | null;\n      /** Buyer information. */\n      buyerInfo?: V1BuyerInfo$1;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails$7;\n      /** The store's currency. */\n      currency?: string;\n      /** Currency the buyer used in checkout. */\n      conversionCurrency?: string | null;\n      /** Total price after discounts, gift cards, and tax. */\n      totalPrice?: MultiCurrencyPrice$5;\n      /**\n       * List of all automation activities performed by [Wix Automations](https://support.wix.com/en/article/wix-automations-getting-started) regarding the abandoned checkout.\n       * Wix Automations updates the `activities` field for each actvity in the automation flow. Only relevant if you've set up [automations in the Dashboard](https://support.wix.com/en/article/wix-automations-creating-a-new-automation). Read more about `activities` in the [introduction](https://www.wix.com/velo/reference/wix-ecom-backend/abandonedcheckout/introduction).\n       */\n      activities?: Activity$3[];\n      /** Date and time the abandoned checkout was recovered. */\n      checkoutRecoveredDate?: Date | null;\n      /** Checkout URL. */\n      checkoutUrl?: string;\n      /** Subtotal price of all line items, before discounts and before tax. */\n      subtotalPrice?: MultiCurrencyPrice$5;\n  }\n  enum ActivityType$3 {\n      /** Not implemented. */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** Scheduled. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Email sent. */\n      EMAIL_SENT = \"EMAIL_SENT\",\n      /** Email not sent. */\n      EMAIL_NOT_SENT = \"EMAIL_NOT_SENT\",\n      /** Notification sent. */\n      NOTIFICATION_SENT = \"NOTIFICATION_SENT\",\n      /** Task created. */\n      TASK_CREATED = \"TASK_CREATED\"\n  }\n  /** Status of the abandoned checkout. */\n  enum Status$4 {\n      /** Abandoned. */\n      ABANDONED = \"ABANDONED\",\n      /** Recovered. */\n      RECOVERED = \"RECOVERED\"\n  }\n  /** Buyer information. */\n  interface V1BuyerInfo$1 extends V1BuyerInfoIdOneOf {\n      /** Visitor ID (if the site visitor is **not** a site member). */\n      visitorId?: string;\n      /** Member ID (if the site visitor is a site member). */\n      memberId?: string;\n      /** User ID (if the site visitor is a site owner or collaborator). */\n      userId?: string;\n      /**\n       * Contact ID. For more information, see the [Contacts API](https://www.wix.com/velo/reference/wix-crm-v2/contacts).\n       * @readonly\n       */\n      contactId?: string | null;\n      /**\n       * Buyer email address.\n       * Max: `50`\n       */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface V1BuyerInfoIdOneOf {\n      /** Visitor ID (if the site visitor is **not** a site member). */\n      visitorId?: string;\n      /** Member ID (if the site visitor is a site member). */\n      memberId?: string;\n      /** User ID (if the site visitor is a site owner or collaborator). */\n      userId?: string;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails$7 {\n      /**\n       * First name.\n       * Max length: `100`\n       */\n      firstName?: string | null;\n      /**\n       * Last name.\n       * Max length: `100`\n       */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /**\n       * Company name.\n       * Max length: `50`\n       */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId$8;\n  }\n  interface VatId$8 {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType$8;\n  }\n  /** tax info types */\n  enum VatType$8 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface MultiCurrencyPrice$5 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface Activity$3 {\n      /** Date and time the automation activity was created. */\n      _createdDate?: Date | null;\n      /**\n       * Automation activity type.\n       *\n       * Supported properties: `UNKNOWN_TYPE`, `SCHEDULED`, `EMAIL_SENT`, `EMAIL_NOT_SENT`, `NOTIFICATION_SENT`, `TASK_CREATED`\n       */\n      type?: ActivityType$3;\n  }\n  interface CartAbandonedEvent {\n      cartId?: string;\n      /**\n       * Time the cart was created\n       * @readonly\n       */\n      creationTime?: Date | null;\n      /**\n       * Time the cart was abandoned\n       * @readonly\n       */\n      abandonTime?: Date | null;\n      /** Buyer information */\n      buyerInfo?: BuyerInfo$8;\n      /** Amount of items in cart */\n      itemsCount?: number;\n      /** Coupon ID (if relevant) */\n      couponId?: string;\n      /** Subtotal of all line items in cart, not before shipping and taxes */\n      totals?: Totals$2;\n      /** Checkout URL - checkout with the abandoned cart details */\n      checkoutUrl?: string;\n      /**\n       * checkout id for buy now flow\n       * @internal\n       * @readonly\n       */\n      checkoutId?: string | null;\n  }\n  interface BuyerInfo$8 {\n      /** Wix customer ID */\n      _id?: string;\n      /** Customer information */\n      identityType?: Identity;\n      /** Customer's email address */\n      email?: string | null;\n      /** Customer's phone number */\n      phone?: string | null;\n      /** Customer's first name */\n      firstName?: string | null;\n      /** Customer's last name */\n      lastName?: string | null;\n  }\n  enum Identity {\n      /** Customer is the site owner */\n      ADMIN = \"ADMIN\",\n      /** Customer is logged in */\n      MEMBER = \"MEMBER\",\n      /** Customer is not logged in */\n      VISITOR = \"VISITOR\",\n      /** Contact was created for the customer */\n      CONTACT = \"CONTACT\"\n  }\n  interface Totals$2 {\n      /** Subtotal of all line items in cart, without shipping and taxes */\n      subtotal?: number | null;\n      /** Total cart price */\n      total?: number | null;\n      /** Formatted total cart price includes currency symbol */\n      formattedTotal?: string;\n  }\n  interface CartRecoveredEvent {\n      cartId?: string;\n      /**\n       * Time the cart was recovered\n       * @readonly\n       */\n      recoveredTime?: Date | null;\n      /**\n       * Time the cart was created\n       * @readonly\n       */\n      creationTime?: Date | null;\n      /**\n       * Time the cart was abandoned\n       * @readonly\n       */\n      abandonedTime?: Date | null;\n      /**\n       * Checkout id\n       * @internal\n       * @readonly\n       */\n      checkoutId?: string | null;\n  }\n  interface GetAbandonedCheckoutRequest {\n      /** Abandoned checkout ID. */\n      abandonedCheckoutId: string;\n  }\n  interface GetAbandonedCheckoutResponse {\n      /** The requested abandoned checkout. */\n      abandonedCheckout?: AbandonedCheckout;\n  }\n  interface DeleteAbandonedCheckoutRequest {\n      /** Id of the abandoned checkout to delete */\n      abandonedCheckoutId: string;\n  }\n  interface DeleteAbandonedCheckoutResponse {\n  }\n  interface QueryAbandonedCheckoutsRequest {\n      /** Query options. */\n      query: QueryV2$3;\n  }\n  interface QueryV2$3 extends QueryV2PagingMethodOneOf$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$3;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$d;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$d[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$3;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$d;\n  }\n  interface Sorting$d {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$d;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$d {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$d {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryAbandonedCheckoutsResponse {\n      /**\n       * __Deprecated.__ Use `abandonedCheckouts` instead.\n       * @deprecated\n       */\n      results?: AbandonedCheckout[];\n      /** List of abandoned checkouts. */\n      abandonedCheckouts?: AbandonedCheckout[];\n      /** Details on the paged set of results returned. */\n      metadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$d;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$d {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface SearchAbandonedCheckoutsRequest {\n      /** WQL query expression. */\n      search?: Search;\n  }\n  interface Search extends SearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: CommonPaging;\n      /** Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' */\n      cursorPaging?: CommonCursorPaging;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: CommonSorting[];\n      /** free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  /** @oneof */\n  interface SearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: CommonPaging;\n      /** Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface CommonSorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: CommonSortOrder;\n  }\n  enum CommonSortOrder {\n      /** Ascending order. */\n      ASC = \"ASC\",\n      /** Descending order. */\n      DESC = \"DESC\"\n  }\n  interface SearchDetails {\n      /** boolean search mode */\n      mode?: Mode;\n      /** search term or expression */\n      expression?: string | null;\n      /** fields to search in. if empty - server will search in own default fields */\n      fields?: string[];\n      /** flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** Any */\n      OR = \"OR\",\n      /** All */\n      AND = \"AND\"\n  }\n  interface CommonPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CommonCursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface SearchAbandonedCheckoutsResponse {\n      /** List of abandoned checkouts. */\n      abandonedCheckouts?: AbandonedCheckout[];\n      /** Paging metadata. Contains cursor which can be used in next query. */\n      pagingMetadata?: CommonPagingMetadataV2;\n  }\n  interface CommonPagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: CommonCursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AddAbandonedCheckoutActivityRequest {\n      /** Id of the abandoned checkout to update */\n      abandonedCheckoutId: string | null;\n      /** The type of the activity to add */\n      activityType?: ActivityType$3;\n  }\n  interface AddAbandonedCheckoutActivityResponse {\n      /** The updated abandoned checkout with the added activity */\n      abandonedCheckout?: AbandonedCheckout;\n  }\n  interface Task$1 {\n      key?: TaskKey$1;\n      executeAt?: Date | null;\n      payload?: string | null;\n  }\n  interface TaskKey$1 {\n      appId?: string;\n      instanceId?: string;\n      subjectId?: string | null;\n  }\n  interface TaskAction$1 extends TaskActionActionOneOf$1 {\n      complete?: Complete$1;\n      cancel?: Cancel$1;\n      reschedule?: Reschedule$1;\n  }\n  /** @oneof */\n  interface TaskActionActionOneOf$1 {\n      complete?: Complete$1;\n      cancel?: Cancel$1;\n      reschedule?: Reschedule$1;\n  }\n  interface Complete$1 {\n  }\n  interface Cancel$1 {\n  }\n  interface Reschedule$1 {\n      executeAt?: Date | null;\n      payload?: string | null;\n  }\n  interface RedirectToCheckoutRequest {\n      /** abandoned checkout id */\n      abandonedCheckoutId: string;\n      /** Identifier of the metaSite this checkout uses */\n      metasiteId: string;\n  }\n  interface RawHttpResponse$1 {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry$1[];\n  }\n  interface HeadersEntry$1 {\n      key?: string;\n      value?: string;\n  }\n  interface DomainEvent$k extends DomainEventBodyOneOf$k {\n      createdEvent?: EntityCreatedEvent$k;\n      updatedEvent?: EntityUpdatedEvent$k;\n      deletedEvent?: EntityDeletedEvent$k;\n      actionEvent?: ActionEvent$k;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$k {\n      createdEvent?: EntityCreatedEvent$k;\n      updatedEvent?: EntityUpdatedEvent$k;\n      deletedEvent?: EntityDeletedEvent$k;\n      actionEvent?: ActionEvent$k;\n  }\n  interface EntityCreatedEvent$k {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$k;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$k {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$k {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$k {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$k {\n      bodyAsJson?: string;\n  }\n  interface Empty$d {\n  }\n  /** Triggered when an abandoned checkout is recovered (the customer completes the checkout). */\n  interface AbandonedCheckoutRecovered {\n      abandonedCheckout?: AbandonedCheckout;\n  }\n  interface MessageEnvelope$j {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$k;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$k extends IdentificationDataIdOneOf$k {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$j;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$k {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$j {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves an abandoned checkout.\n   * @param abandonedCheckoutId - Abandoned checkout ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField abandonedCheckoutId\n   * @permissionId ECOM.ABANDONED_CHECKOUT_READ\n   * @adminMethod\n   * @returns The requested abandoned checkout.\n   */\n  function getAbandonedCheckout(abandonedCheckoutId: string): Promise<AbandonedCheckout>;\n  /**\n   * Delete an AbandonedCheckout\n   * @param abandonedCheckoutId - Id of the abandoned checkout to delete\n   * @public\n   * @documentationMaturity preview\n   * @requiredField abandonedCheckoutId\n   * @permissionId ECOM.ABANDONED_CHECKOUT_DELETE\n   * @adminMethod\n   */\n  function deleteAbandonedCheckout(abandonedCheckoutId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of abandoned checkouts.\n   *\n   * The `queryAbandonedCheckouts()` function builds a query to retrieve a list of abandoned checkouts and returns a `ResultsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `ResultsQueryBuilder` functions onto the query. `ResultsQueryBuilder` functions enable you to sort, filter, and control the results `queryAbandonedCheckouts()` returns.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.ABANDONED_CHECKOUT_READ\n   * @adminMethod\n   */\n  function queryAbandonedCheckouts(): AbandonedCheckoutsQueryBuilder;\n  interface QueryCursorResult$d {\n      cursors: CommonCursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface AbandonedCheckoutsQueryResult extends QueryCursorResult$d {\n      items: AbandonedCheckout[];\n      query: AbandonedCheckoutsQueryBuilder;\n      next: () => Promise<AbandonedCheckoutsQueryResult>;\n      prev: () => Promise<AbandonedCheckoutsQueryResult>;\n  }\n  interface AbandonedCheckoutsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'status' | 'buyerInfo.visitorId' | 'buyerInfo.memberId' | 'buyerInfo.userId' | 'buyerInfo.contactId' | 'buyerInfo.email', value: any) => AbandonedCheckoutsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'status' | 'buyerInfo.visitorId' | 'buyerInfo.memberId' | 'buyerInfo.userId' | 'buyerInfo.contactId' | 'buyerInfo.email', value: any) => AbandonedCheckoutsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => AbandonedCheckoutsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => AbandonedCheckoutsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => AbandonedCheckoutsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => AbandonedCheckoutsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'buyerInfo.visitorId' | 'buyerInfo.memberId' | 'buyerInfo.userId' | 'buyerInfo.contactId' | 'buyerInfo.email', value: string) => AbandonedCheckoutsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'status' | 'buyerInfo.visitorId' | 'buyerInfo.memberId' | 'buyerInfo.userId' | 'buyerInfo.contactId' | 'buyerInfo.email', value: any[]) => AbandonedCheckoutsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'status' | 'buyerInfo.visitorId' | 'buyerInfo.memberId' | 'buyerInfo.userId' | 'buyerInfo.contactId' | 'buyerInfo.email', value: any) => AbandonedCheckoutsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'status' | 'buyerInfo.visitorId' | 'buyerInfo.memberId' | 'buyerInfo.userId' | 'buyerInfo.contactId' | 'buyerInfo.email', value: boolean) => AbandonedCheckoutsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'status' | 'buyerInfo.visitorId' | 'buyerInfo.memberId' | 'buyerInfo.userId' | 'buyerInfo.contactId' | 'buyerInfo.email'>) => AbandonedCheckoutsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'status' | 'buyerInfo.visitorId' | 'buyerInfo.memberId' | 'buyerInfo.userId' | 'buyerInfo.contactId' | 'buyerInfo.email'>) => AbandonedCheckoutsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => AbandonedCheckoutsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => AbandonedCheckoutsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<AbandonedCheckoutsQueryResult>;\n  }\n  /**\n   * Retrieves a list of abandoned checkouts, given the provided paging, filtering, searchDetails and sorting. Up to 100 abandoned checkouts can be returned per request.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.ABANDONED_CHECKOUT_READ\n   * @adminMethod\n   */\n  function searchAbandonedCheckouts(options?: SearchAbandonedCheckoutsOptions): Promise<SearchAbandonedCheckoutsResponse>;\n  interface SearchAbandonedCheckoutsOptions {\n      /** WQL query expression. */\n      search?: Search;\n  }\n  /**\n   * Adds a new AbandonedCheckout activity\n   * @param abandonedCheckoutId - Id of the abandoned checkout to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField abandonedCheckoutId\n   * @permissionId ECOM.ABANDONED_CHECKOUT_UPDATE\n   * @adminMethod\n   */\n  function addAbandonedCheckoutActivity(abandonedCheckoutId: string | null, options?: AddAbandonedCheckoutActivityOptions): Promise<AddAbandonedCheckoutActivityResponse>;\n  interface AddAbandonedCheckoutActivityOptions {\n      /** The type of the activity to add */\n      activityType?: ActivityType$3;\n  }\n  /**\n   * Redirects the abandoned checkout to the checkout page.\n   * @param abandonedCheckoutId - abandoned checkout id\n   * @param metasiteId - Identifier of the metaSite this checkout uses\n   * @public\n   * @documentationMaturity preview\n   * @requiredField abandonedCheckoutId\n   * @requiredField metasiteId\n   * @adminMethod\n   */\n  function redirectToCheckout(abandonedCheckoutId: string, metasiteId: string): Promise<RawHttpResponse$1>;\n  \n  type ecomV1AbandonedCheckout_universal_d_AbandonedCheckout = AbandonedCheckout;\n  type ecomV1AbandonedCheckout_universal_d_V1BuyerInfoIdOneOf = V1BuyerInfoIdOneOf;\n  type ecomV1AbandonedCheckout_universal_d_CartAbandonedEvent = CartAbandonedEvent;\n  type ecomV1AbandonedCheckout_universal_d_Identity = Identity;\n  const ecomV1AbandonedCheckout_universal_d_Identity: typeof Identity;\n  type ecomV1AbandonedCheckout_universal_d_CartRecoveredEvent = CartRecoveredEvent;\n  type ecomV1AbandonedCheckout_universal_d_GetAbandonedCheckoutRequest = GetAbandonedCheckoutRequest;\n  type ecomV1AbandonedCheckout_universal_d_GetAbandonedCheckoutResponse = GetAbandonedCheckoutResponse;\n  type ecomV1AbandonedCheckout_universal_d_DeleteAbandonedCheckoutRequest = DeleteAbandonedCheckoutRequest;\n  type ecomV1AbandonedCheckout_universal_d_DeleteAbandonedCheckoutResponse = DeleteAbandonedCheckoutResponse;\n  type ecomV1AbandonedCheckout_universal_d_QueryAbandonedCheckoutsRequest = QueryAbandonedCheckoutsRequest;\n  type ecomV1AbandonedCheckout_universal_d_QueryAbandonedCheckoutsResponse = QueryAbandonedCheckoutsResponse;\n  type ecomV1AbandonedCheckout_universal_d_SearchAbandonedCheckoutsRequest = SearchAbandonedCheckoutsRequest;\n  type ecomV1AbandonedCheckout_universal_d_Search = Search;\n  type ecomV1AbandonedCheckout_universal_d_SearchPagingMethodOneOf = SearchPagingMethodOneOf;\n  type ecomV1AbandonedCheckout_universal_d_CommonSorting = CommonSorting;\n  type ecomV1AbandonedCheckout_universal_d_CommonSortOrder = CommonSortOrder;\n  const ecomV1AbandonedCheckout_universal_d_CommonSortOrder: typeof CommonSortOrder;\n  type ecomV1AbandonedCheckout_universal_d_SearchDetails = SearchDetails;\n  type ecomV1AbandonedCheckout_universal_d_Mode = Mode;\n  const ecomV1AbandonedCheckout_universal_d_Mode: typeof Mode;\n  type ecomV1AbandonedCheckout_universal_d_CommonPaging = CommonPaging;\n  type ecomV1AbandonedCheckout_universal_d_CommonCursorPaging = CommonCursorPaging;\n  type ecomV1AbandonedCheckout_universal_d_SearchAbandonedCheckoutsResponse = SearchAbandonedCheckoutsResponse;\n  type ecomV1AbandonedCheckout_universal_d_CommonPagingMetadataV2 = CommonPagingMetadataV2;\n  type ecomV1AbandonedCheckout_universal_d_CommonCursors = CommonCursors;\n  type ecomV1AbandonedCheckout_universal_d_AddAbandonedCheckoutActivityRequest = AddAbandonedCheckoutActivityRequest;\n  type ecomV1AbandonedCheckout_universal_d_AddAbandonedCheckoutActivityResponse = AddAbandonedCheckoutActivityResponse;\n  type ecomV1AbandonedCheckout_universal_d_RedirectToCheckoutRequest = RedirectToCheckoutRequest;\n  type ecomV1AbandonedCheckout_universal_d_AbandonedCheckoutRecovered = AbandonedCheckoutRecovered;\n  const ecomV1AbandonedCheckout_universal_d_getAbandonedCheckout: typeof getAbandonedCheckout;\n  const ecomV1AbandonedCheckout_universal_d_deleteAbandonedCheckout: typeof deleteAbandonedCheckout;\n  const ecomV1AbandonedCheckout_universal_d_queryAbandonedCheckouts: typeof queryAbandonedCheckouts;\n  type ecomV1AbandonedCheckout_universal_d_AbandonedCheckoutsQueryResult = AbandonedCheckoutsQueryResult;\n  type ecomV1AbandonedCheckout_universal_d_AbandonedCheckoutsQueryBuilder = AbandonedCheckoutsQueryBuilder;\n  const ecomV1AbandonedCheckout_universal_d_searchAbandonedCheckouts: typeof searchAbandonedCheckouts;\n  type ecomV1AbandonedCheckout_universal_d_SearchAbandonedCheckoutsOptions = SearchAbandonedCheckoutsOptions;\n  const ecomV1AbandonedCheckout_universal_d_addAbandonedCheckoutActivity: typeof addAbandonedCheckoutActivity;\n  type ecomV1AbandonedCheckout_universal_d_AddAbandonedCheckoutActivityOptions = AddAbandonedCheckoutActivityOptions;\n  const ecomV1AbandonedCheckout_universal_d_redirectToCheckout: typeof redirectToCheckout;\n  namespace ecomV1AbandonedCheckout_universal_d {\n    export {\n      ecomV1AbandonedCheckout_universal_d_AbandonedCheckout as AbandonedCheckout,\n      ActivityType$3 as ActivityType,\n      Status$4 as Status,\n      V1BuyerInfo$1 as V1BuyerInfo,\n      ecomV1AbandonedCheckout_universal_d_V1BuyerInfoIdOneOf as V1BuyerInfoIdOneOf,\n      FullAddressContactDetails$7 as FullAddressContactDetails,\n      VatId$8 as VatId,\n      VatType$8 as VatType,\n      MultiCurrencyPrice$5 as MultiCurrencyPrice,\n      Activity$3 as Activity,\n      ecomV1AbandonedCheckout_universal_d_CartAbandonedEvent as CartAbandonedEvent,\n      BuyerInfo$8 as BuyerInfo,\n      ecomV1AbandonedCheckout_universal_d_Identity as Identity,\n      Totals$2 as Totals,\n      ecomV1AbandonedCheckout_universal_d_CartRecoveredEvent as CartRecoveredEvent,\n      ecomV1AbandonedCheckout_universal_d_GetAbandonedCheckoutRequest as GetAbandonedCheckoutRequest,\n      ecomV1AbandonedCheckout_universal_d_GetAbandonedCheckoutResponse as GetAbandonedCheckoutResponse,\n      ecomV1AbandonedCheckout_universal_d_DeleteAbandonedCheckoutRequest as DeleteAbandonedCheckoutRequest,\n      ecomV1AbandonedCheckout_universal_d_DeleteAbandonedCheckoutResponse as DeleteAbandonedCheckoutResponse,\n      ecomV1AbandonedCheckout_universal_d_QueryAbandonedCheckoutsRequest as QueryAbandonedCheckoutsRequest,\n      QueryV2$3 as QueryV2,\n      QueryV2PagingMethodOneOf$3 as QueryV2PagingMethodOneOf,\n      Sorting$d as Sorting,\n      SortOrder$d as SortOrder,\n      Paging$3 as Paging,\n      CursorPaging$d as CursorPaging,\n      ecomV1AbandonedCheckout_universal_d_QueryAbandonedCheckoutsResponse as QueryAbandonedCheckoutsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$d as Cursors,\n      ecomV1AbandonedCheckout_universal_d_SearchAbandonedCheckoutsRequest as SearchAbandonedCheckoutsRequest,\n      ecomV1AbandonedCheckout_universal_d_Search as Search,\n      ecomV1AbandonedCheckout_universal_d_SearchPagingMethodOneOf as SearchPagingMethodOneOf,\n      ecomV1AbandonedCheckout_universal_d_CommonSorting as CommonSorting,\n      ecomV1AbandonedCheckout_universal_d_CommonSortOrder as CommonSortOrder,\n      ecomV1AbandonedCheckout_universal_d_SearchDetails as SearchDetails,\n      ecomV1AbandonedCheckout_universal_d_Mode as Mode,\n      ecomV1AbandonedCheckout_universal_d_CommonPaging as CommonPaging,\n      ecomV1AbandonedCheckout_universal_d_CommonCursorPaging as CommonCursorPaging,\n      ecomV1AbandonedCheckout_universal_d_SearchAbandonedCheckoutsResponse as SearchAbandonedCheckoutsResponse,\n      ecomV1AbandonedCheckout_universal_d_CommonPagingMetadataV2 as CommonPagingMetadataV2,\n      ecomV1AbandonedCheckout_universal_d_CommonCursors as CommonCursors,\n      ecomV1AbandonedCheckout_universal_d_AddAbandonedCheckoutActivityRequest as AddAbandonedCheckoutActivityRequest,\n      ecomV1AbandonedCheckout_universal_d_AddAbandonedCheckoutActivityResponse as AddAbandonedCheckoutActivityResponse,\n      Task$1 as Task,\n      TaskKey$1 as TaskKey,\n      TaskAction$1 as TaskAction,\n      TaskActionActionOneOf$1 as TaskActionActionOneOf,\n      Complete$1 as Complete,\n      Cancel$1 as Cancel,\n      Reschedule$1 as Reschedule,\n      ecomV1AbandonedCheckout_universal_d_RedirectToCheckoutRequest as RedirectToCheckoutRequest,\n      RawHttpResponse$1 as RawHttpResponse,\n      HeadersEntry$1 as HeadersEntry,\n      DomainEvent$k as DomainEvent,\n      DomainEventBodyOneOf$k as DomainEventBodyOneOf,\n      EntityCreatedEvent$k as EntityCreatedEvent,\n      RestoreInfo$k as RestoreInfo,\n      EntityUpdatedEvent$k as EntityUpdatedEvent,\n      EntityDeletedEvent$k as EntityDeletedEvent,\n      ActionEvent$k as ActionEvent,\n      Empty$d as Empty,\n      ecomV1AbandonedCheckout_universal_d_AbandonedCheckoutRecovered as AbandonedCheckoutRecovered,\n      MessageEnvelope$j as MessageEnvelope,\n      IdentificationData$k as IdentificationData,\n      IdentificationDataIdOneOf$k as IdentificationDataIdOneOf,\n      WebhookIdentityType$j as WebhookIdentityType,\n      ecomV1AbandonedCheckout_universal_d_getAbandonedCheckout as getAbandonedCheckout,\n      ecomV1AbandonedCheckout_universal_d_deleteAbandonedCheckout as deleteAbandonedCheckout,\n      ecomV1AbandonedCheckout_universal_d_queryAbandonedCheckouts as queryAbandonedCheckouts,\n      ecomV1AbandonedCheckout_universal_d_AbandonedCheckoutsQueryResult as AbandonedCheckoutsQueryResult,\n      ecomV1AbandonedCheckout_universal_d_AbandonedCheckoutsQueryBuilder as AbandonedCheckoutsQueryBuilder,\n      ecomV1AbandonedCheckout_universal_d_searchAbandonedCheckouts as searchAbandonedCheckouts,\n      ecomV1AbandonedCheckout_universal_d_SearchAbandonedCheckoutsOptions as SearchAbandonedCheckoutsOptions,\n      ecomV1AbandonedCheckout_universal_d_addAbandonedCheckoutActivity as addAbandonedCheckoutActivity,\n      ecomV1AbandonedCheckout_universal_d_AddAbandonedCheckoutActivityOptions as AddAbandonedCheckoutActivityOptions,\n      ecomV1AbandonedCheckout_universal_d_redirectToCheckout as redirectToCheckout,\n    };\n  }\n  \n  /**\n   * The back in stock notification request allows a customer to receive a notifiction when a specific item\n   * is available again. The request includes information about the person making the request, the item\n   * they want to receive a notification for, and the status of the notification.\n   */\n  interface BackInStockNotificationRequest {\n      /**\n       * Request ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Catalog and item reference that the notification request is for.\n       *\n       * Includes IDs for the catalog and item it came from, as well as additional, optional information.\n       */\n      catalogReference?: CatalogReference$9;\n      /** Email address to send notification to about item being back in stock. */\n      email?: string;\n      /**\n       * Contact ID for the contact with this `email`.\n       *\n       * If a contact does not already exist with the email address submitted when creating this request, then a new contact is created.\n       * For more information about contacts, see the Contacts API.\n       * @readonly\n       */\n      contactId?: string | null;\n      /**\n       * Status of the notification.\n       *\n       * `status` is set to `RECEIVED` when the notification request is created. The `status` changes once a notification email is sent for this request object:\n       * + When a notification email is sent through the site, either automatically or with the `reportItemsBackInStock()` function, then the `status` is briefly set to `PROCESSING` and then set to `NOTIFICATION_SENT` if the email is successul, and `FAILED` if it fails.\n       * + When a notification email is sent offline, use the `markAsNotificationSent()` function to set `status` to `NOTIFICATION_SENT`.\n       * @readonly\n       */\n      status?: Status$3;\n      /**\n       * Whether a notification was sent automatically.\n       *\n       * `autoNotified` is empty when the notification request is created and is not returned until the field has a value. `autoNotified` receives a value when a notification email is sent for this request object.\n       *\n       * `autoNotified` sets to `true` if the notification is sent through the site, either automatically or with the `reportItemsBackInStock()` function. If the notification email is sent offline but the `status` is updated with the `markAsNotificationSent()` function, then `autoNotified` sets to `false`.\n       * @readonly\n       */\n      autoNotified?: boolean | null;\n      /**\n       * Date and time the notification request was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Item URL for this request. */\n      itemUrl?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$9 {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  enum Status$3 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** initial status of all new requests */\n      RECEIVED = \"RECEIVED\",\n      PROCESSING = \"PROCESSING\",\n      NOTIFICATION_SENT = \"NOTIFICATION_SENT\",\n      FAILED = \"FAILED\"\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App$1 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateBackInStockNotificationRequestRequest {\n      /**\n       * Notification request information.\n       *\n       * Includes details for the out of stock item and the email address\n       * requesting to be notified when it's back in stock.\n       */\n      request: BackInStockNotificationRequest;\n      /** Item details to include in the notification when the item is back in stock. */\n      itemDetails: BackInStockItemDetails;\n  }\n  interface BackInStockItemDetails {\n      /** Item name. */\n      name?: string;\n      /** Item price. */\n      price?: string;\n      /** Item image. */\n      image?: string;\n  }\n  interface CreateBackInStockNotificationRequestResponse {\n      /** Created back in stock notification request. */\n      request?: BackInStockNotificationRequest;\n  }\n  interface GetBackInStockNotificationRequestRequest {\n      /** ID of the notification request to retrieve. */\n      _id: string;\n  }\n  interface GetBackInStockNotificationRequestResponse {\n      /** Retrieved back in stock notification request. */\n      request?: BackInStockNotificationRequest;\n  }\n  interface DeleteBackInStockNotificationRequestRequest {\n      /** ID of the notification request to delete. */\n      _id: string;\n  }\n  interface DeleteBackInStockNotificationRequestResponse {\n  }\n  interface MarkAsNotificationSentRequest {\n      /** ID of the notification request to mark. */\n      _id: string;\n  }\n  interface MarkAsNotificationSentResponse {\n      /** Marked back in stock notification request. */\n      request?: BackInStockNotificationRequest;\n  }\n  interface QueryBackInStockNotificationRequestsRequest {\n      /** Query options. */\n      query: PlatformQuery$1;\n  }\n  interface PlatformQuery$1 extends PlatformQueryPagingMethodOneOf$1 {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging$1;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging$c;\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n      sort?: Sorting$c[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf$1 {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging$1;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging$c;\n  }\n  interface Sorting$c {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$c;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$c {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$c {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryBackInStockNotificationRequestsResponse {\n      /** Retrieved back in stock requests. */\n      requests?: BackInStockNotificationRequest[];\n      /** Details on the paged set of results returned. */\n      metadata?: PlatformPagingMetadata$1;\n  }\n  interface PlatformPagingMetadata$1 {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /** The offset which was requested. Returned if offset paging was used. */\n      offset?: number | null;\n      /** The total number of items that match the query. Returned if offset paging was used. */\n      total?: number | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used. */\n      cursors?: Cursors$c;\n  }\n  interface Cursors$c {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetBackInStockNotificationRequestsCountByCatalogReferencesRequest {\n      /** `catalogReference` items to retrieve the notification request for. */\n      catalogReferences: CatalogReference$9[];\n  }\n  interface GetBackInStockNotificationRequestsCountByCatalogReferencesResponse {\n      /** Amount of back in stock notifications for each of the retrieved `catalogReference` items. */\n      countsPerCatalogReference?: BackInStockNotificationRequestsCount[];\n  }\n  /** Maps each back in stock CatalogReference to the results (the number of unique occurrences). */\n  interface BackInStockNotificationRequestsCount {\n      /**\n       * Catalog and item reference.\n       *\n       * Includes IDs and additional, optional information related to the item.\n       */\n      catalogReference?: CatalogReference$9;\n      /** The number of unique back in stock requests for given `catalogReference`. */\n      count?: number;\n  }\n  interface ReportItemsBackInStockRequest {\n      /**\n       * `catalogReference` item to send notifications for.\n       *\n       * Cannot be used with `requestIds`.\n       */\n      catalogReference?: CatalogReference$9;\n      /**\n       * IDs of requests to send notifications for.\n       *\n       * Cannot be used with `catalogReference`.\n       */\n      requestIds?: string[];\n      /**\n       * Item details to use in notifications.\n       *\n       * `itemDetails` may populate dynamic valyes in the notification template, as follows:\n       * + `itemDetails.name` passes to the template as `item.name`\n       * + `itemDetails.price` passes to the template as `item.price`\n       * + `itemDetails.image.url` passes to the template as `item.image.url`\n       *\n       * Use `extraAutomationTemplateParameters` to pass additional dynamic values.\n       */\n      itemDetails: BackInStockItemDetails;\n      /** Additional key-value pairs to pass to the back in stock notification template. */\n      extraAutomationTemplateParameters?: Record<string, string>;\n  }\n  interface ReportItemsBackInStockResponse {\n  }\n  interface DomainEvent$j extends DomainEventBodyOneOf$j {\n      createdEvent?: EntityCreatedEvent$j;\n      updatedEvent?: EntityUpdatedEvent$j;\n      deletedEvent?: EntityDeletedEvent$j;\n      actionEvent?: ActionEvent$j;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$j {\n      createdEvent?: EntityCreatedEvent$j;\n      updatedEvent?: EntityUpdatedEvent$j;\n      deletedEvent?: EntityDeletedEvent$j;\n      actionEvent?: ActionEvent$j;\n  }\n  interface EntityCreatedEvent$j {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$j;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$j {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$j {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$j {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$j {\n      bodyAsJson?: string;\n  }\n  interface Empty$c {\n  }\n  interface MessageEnvelope$i {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$j;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$j extends IdentificationDataIdOneOf$j {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$i;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$j {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$i {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a back in stock notification request.\n   *\n   * If a notification request already exists for the same `catalogReference` and `email`,\n   * then a new one isn't created and the existing request is returned.\n   * @param request - Notification request information.\n   *\n   * Includes details for the out of stock item and the email address\n   * requesting to be notified when it's back in stock.\n   * @param itemDetails - Item details to include in the notification when the item is back in stock.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemDetails\n   * @requiredField itemDetails.name\n   * @requiredField itemDetails.price\n   * @requiredField request\n   * @requiredField request.catalogReference\n   * @requiredField request.catalogReference.appId\n   * @requiredField request.catalogReference.catalogItemId\n   * @requiredField request.email\n   * @permissionId ECOM.CREATE_BACK_IN_STOCK_NOTIFICATION_REQUESTS\n   * @returns Created back in stock notification request.\n   */\n  function createBackInStockNotificationRequest(request: BackInStockNotificationRequest, itemDetails: BackInStockItemDetails): Promise<BackInStockNotificationRequest>;\n  /**\n   * Retrieves a back in stock notification request.\n   * @param _id - ID of the notification request to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.READ_BACK_IN_STOCK_NOTIFICATION_REQUESTS\n   * @adminMethod\n   * @returns Retrieved back in stock notification request.\n   */\n  function getBackInStockNotificationRequest(_id: string): Promise<BackInStockNotificationRequest>;\n  /**\n   * Deletes a back in stock notification request.\n   * @param _id - ID of the notification request to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_BACK_IN_STOCK_NOTIFICATION_REQUESTS\n   * @adminMethod\n   */\n  function deleteBackInStockNotificationRequest(_id: string): Promise<void>;\n  /**\n   * Sets `status` of a back in stock request to `NOTIFICATION_SENT`.\n   *\n   * Use this function if the notification is sent manually offline. If the notification is sent automatically or with the `reportItemsBackInStock()` function, then `status` updates on its own.\n   * @param _id - ID of the notification request to mark.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_BACK_IN_STOCK_NOTIFICATION_REQUESTS\n   * @adminMethod\n   */\n  function markAsNotificationSent(_id: string): Promise<MarkAsNotificationSentResponse>;\n  /**\n   * Creates a query to retrieve a list of back in stock notification requests.\n   *\n   * The `queryBackInStockNotificationRequests()` method builds a query to retrieve a list of back in stock notification requests and returns a `RequestsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` method.\n   *\n   * You can refine the query by chaining `RequestsQueryBuilder` methods onto the query. `RequestsQueryBuilder` methods enable you to sort, filter, and control the results that `queryBackInStockNotificationRequests()` returns.\n   *\n   * The following `RequestsQueryBuilder` methods are supported for `queryBackInStockNotificationRequests()`. For a full description of the Requests object, see the object returned for the `items` property in `RequestsQueryResult`.\"\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.READ_BACK_IN_STOCK_NOTIFICATION_REQUESTS\n   * @adminMethod\n   */\n  function queryBackInStockNotificationRequests(): RequestsQueryBuilder;\n  interface QueryCursorResult$c {\n      cursors: Cursors$c;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface RequestsQueryResult extends QueryCursorResult$c {\n      items: BackInStockNotificationRequest[];\n      query: RequestsQueryBuilder;\n      next: () => Promise<RequestsQueryResult>;\n      prev: () => Promise<RequestsQueryResult>;\n  }\n  interface RequestsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'contactId' | 'status' | 'autoNotified' | '_createdDate' | 'itemUrl', value: any) => RequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'contactId' | 'status' | 'autoNotified' | '_createdDate' | 'itemUrl', value: any) => RequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate', value: any) => RequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate', value: any) => RequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate', value: any) => RequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate', value: any) => RequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'contactId' | 'itemUrl', value: string) => RequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'contactId' | 'status' | 'autoNotified' | '_createdDate' | 'itemUrl', value: any[]) => RequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'contactId' | 'status' | 'autoNotified' | '_createdDate' | 'itemUrl', value: any) => RequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'contactId' | 'status' | 'autoNotified' | '_createdDate' | 'itemUrl', value: boolean) => RequestsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'contactId' | 'status' | 'autoNotified' | '_createdDate' | 'itemUrl'>) => RequestsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'contactId' | 'status' | 'autoNotified' | '_createdDate' | 'itemUrl'>) => RequestsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => RequestsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => RequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<RequestsQueryResult>;\n  }\n  /**\n   * Retrieves the amount of back in stock requests for a given `catalogReference` item.\n   * @param catalogReferences - `catalogReference` items to retrieve the notification request for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogReferences\n   * @permissionId ECOM.READ_BACK_IN_STOCK_NOTIFICATION_REQUESTS\n   * @adminMethod\n   */\n  function getBackInStockNotificationRequestsCountByCatalogReferences(catalogReferences: CatalogReference$9[]): Promise<GetBackInStockNotificationRequestsCountByCatalogReferencesResponse>;\n  /**\n   * Sends notifications for back in stock requests.\n   *\n   * > **Important:**\n   * > Automations must be turned on in a [site's dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Go%20to%20Back-in-Stock&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https://www.wix.com/dashboard/{{metaSiteId}}/store/back-in-stock) for notifications to send.\n   *\n   * This endpoint triggers notifications for requests in 1 of 2 ways:\n   * 1. For a specific item, with the `catalogReference` information.\n   * 2. For specific requests, with `requestIds`.\n   *\n   * `itemDetails` are required and may populate dynamic values in the notification template, as follows:\n   * + `itemDetails.name` passes to the template as `item.name`\n   * + `itemDetails.price` passes to the template as `item.price`\n   * + `itemDetails.image.url` passes to the template as `item.image.url`\n   *\n   * If the notification template doesn't include `item.price`, `item.name`, or `item.image.url`, values should\n   * be passed in `extraAutomationTemplateParameters`.\n   *\n   * After this endpoint is called, the `status` for the request will update to `NOTIFICATION_SENT` if it sends\n   * successfully, or to `FAILED` if it fails to send.\n   * @param itemDetails - Item details to use in notifications.\n   *\n   * `itemDetails` may populate dynamic valyes in the notification template, as follows:\n   * + `itemDetails.name` passes to the template as `item.name`\n   * + `itemDetails.price` passes to the template as `item.price`\n   * + `itemDetails.image.url` passes to the template as `item.image.url`\n   *\n   * Use `extraAutomationTemplateParameters` to pass additional dynamic values.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemDetails\n   * @requiredField itemDetails.name\n   * @requiredField itemDetails.price\n   * @param options - Report options.\n   * @permissionId ECOM.MODIFY_BACK_IN_STOCK_NOTIFICATION_REQUESTS\n   * @adminMethod\n   */\n  function reportItemsBackInStock(itemDetails: BackInStockItemDetails, options?: ReportItemsBackInStockOptions): Promise<void>;\n  interface ReportItemsBackInStockOptions {\n      /**\n       * `catalogReference` item to send notifications for.\n       *\n       * Cannot be used with `requestIds`.\n       */\n      catalogReference?: CatalogReference$9;\n      /**\n       * IDs of requests to send notifications for.\n       *\n       * Cannot be used with `catalogReference`.\n       */\n      requestIds?: string[];\n      /** Additional key-value pairs to pass to the back in stock notification template. */\n      extraAutomationTemplateParameters?: Record<string, string>;\n  }\n  \n  type ecomV1BackInStockNotificationRequest_universal_d_BackInStockNotificationRequest = BackInStockNotificationRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_InvalidateCache = InvalidateCache;\n  type ecomV1BackInStockNotificationRequest_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type ecomV1BackInStockNotificationRequest_universal_d_Page = Page;\n  type ecomV1BackInStockNotificationRequest_universal_d_URI = URI;\n  type ecomV1BackInStockNotificationRequest_universal_d_File = File;\n  type ecomV1BackInStockNotificationRequest_universal_d_CreateBackInStockNotificationRequestRequest = CreateBackInStockNotificationRequestRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_BackInStockItemDetails = BackInStockItemDetails;\n  type ecomV1BackInStockNotificationRequest_universal_d_CreateBackInStockNotificationRequestResponse = CreateBackInStockNotificationRequestResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestRequest = GetBackInStockNotificationRequestRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestResponse = GetBackInStockNotificationRequestResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_DeleteBackInStockNotificationRequestRequest = DeleteBackInStockNotificationRequestRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_DeleteBackInStockNotificationRequestResponse = DeleteBackInStockNotificationRequestResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_MarkAsNotificationSentRequest = MarkAsNotificationSentRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_MarkAsNotificationSentResponse = MarkAsNotificationSentResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_QueryBackInStockNotificationRequestsRequest = QueryBackInStockNotificationRequestsRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_QueryBackInStockNotificationRequestsResponse = QueryBackInStockNotificationRequestsResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesRequest = GetBackInStockNotificationRequestsCountByCatalogReferencesRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesResponse = GetBackInStockNotificationRequestsCountByCatalogReferencesResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_BackInStockNotificationRequestsCount = BackInStockNotificationRequestsCount;\n  type ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockRequest = ReportItemsBackInStockRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockResponse = ReportItemsBackInStockResponse;\n  const ecomV1BackInStockNotificationRequest_universal_d_createBackInStockNotificationRequest: typeof createBackInStockNotificationRequest;\n  const ecomV1BackInStockNotificationRequest_universal_d_getBackInStockNotificationRequest: typeof getBackInStockNotificationRequest;\n  const ecomV1BackInStockNotificationRequest_universal_d_deleteBackInStockNotificationRequest: typeof deleteBackInStockNotificationRequest;\n  const ecomV1BackInStockNotificationRequest_universal_d_markAsNotificationSent: typeof markAsNotificationSent;\n  const ecomV1BackInStockNotificationRequest_universal_d_queryBackInStockNotificationRequests: typeof queryBackInStockNotificationRequests;\n  type ecomV1BackInStockNotificationRequest_universal_d_RequestsQueryResult = RequestsQueryResult;\n  type ecomV1BackInStockNotificationRequest_universal_d_RequestsQueryBuilder = RequestsQueryBuilder;\n  const ecomV1BackInStockNotificationRequest_universal_d_getBackInStockNotificationRequestsCountByCatalogReferences: typeof getBackInStockNotificationRequestsCountByCatalogReferences;\n  const ecomV1BackInStockNotificationRequest_universal_d_reportItemsBackInStock: typeof reportItemsBackInStock;\n  type ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockOptions = ReportItemsBackInStockOptions;\n  namespace ecomV1BackInStockNotificationRequest_universal_d {\n    export {\n      ecomV1BackInStockNotificationRequest_universal_d_BackInStockNotificationRequest as BackInStockNotificationRequest,\n      CatalogReference$9 as CatalogReference,\n      Status$3 as Status,\n      ecomV1BackInStockNotificationRequest_universal_d_InvalidateCache as InvalidateCache,\n      ecomV1BackInStockNotificationRequest_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      App$1 as App,\n      ecomV1BackInStockNotificationRequest_universal_d_Page as Page,\n      ecomV1BackInStockNotificationRequest_universal_d_URI as URI,\n      ecomV1BackInStockNotificationRequest_universal_d_File as File,\n      ecomV1BackInStockNotificationRequest_universal_d_CreateBackInStockNotificationRequestRequest as CreateBackInStockNotificationRequestRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_BackInStockItemDetails as BackInStockItemDetails,\n      ecomV1BackInStockNotificationRequest_universal_d_CreateBackInStockNotificationRequestResponse as CreateBackInStockNotificationRequestResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestRequest as GetBackInStockNotificationRequestRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestResponse as GetBackInStockNotificationRequestResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_DeleteBackInStockNotificationRequestRequest as DeleteBackInStockNotificationRequestRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_DeleteBackInStockNotificationRequestResponse as DeleteBackInStockNotificationRequestResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_MarkAsNotificationSentRequest as MarkAsNotificationSentRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_MarkAsNotificationSentResponse as MarkAsNotificationSentResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_QueryBackInStockNotificationRequestsRequest as QueryBackInStockNotificationRequestsRequest,\n      PlatformQuery$1 as PlatformQuery,\n      PlatformQueryPagingMethodOneOf$1 as PlatformQueryPagingMethodOneOf,\n      Sorting$c as Sorting,\n      SortOrder$c as SortOrder,\n      PlatformPaging$1 as PlatformPaging,\n      CursorPaging$c as CursorPaging,\n      ecomV1BackInStockNotificationRequest_universal_d_QueryBackInStockNotificationRequestsResponse as QueryBackInStockNotificationRequestsResponse,\n      PlatformPagingMetadata$1 as PlatformPagingMetadata,\n      Cursors$c as Cursors,\n      ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesRequest as GetBackInStockNotificationRequestsCountByCatalogReferencesRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesResponse as GetBackInStockNotificationRequestsCountByCatalogReferencesResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_BackInStockNotificationRequestsCount as BackInStockNotificationRequestsCount,\n      ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockRequest as ReportItemsBackInStockRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockResponse as ReportItemsBackInStockResponse,\n      DomainEvent$j as DomainEvent,\n      DomainEventBodyOneOf$j as DomainEventBodyOneOf,\n      EntityCreatedEvent$j as EntityCreatedEvent,\n      RestoreInfo$j as RestoreInfo,\n      EntityUpdatedEvent$j as EntityUpdatedEvent,\n      EntityDeletedEvent$j as EntityDeletedEvent,\n      ActionEvent$j as ActionEvent,\n      Empty$c as Empty,\n      MessageEnvelope$i as MessageEnvelope,\n      IdentificationData$j as IdentificationData,\n      IdentificationDataIdOneOf$j as IdentificationDataIdOneOf,\n      WebhookIdentityType$i as WebhookIdentityType,\n      ecomV1BackInStockNotificationRequest_universal_d_createBackInStockNotificationRequest as createBackInStockNotificationRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_getBackInStockNotificationRequest as getBackInStockNotificationRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_deleteBackInStockNotificationRequest as deleteBackInStockNotificationRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_markAsNotificationSent as markAsNotificationSent,\n      ecomV1BackInStockNotificationRequest_universal_d_queryBackInStockNotificationRequests as queryBackInStockNotificationRequests,\n      ecomV1BackInStockNotificationRequest_universal_d_RequestsQueryResult as RequestsQueryResult,\n      ecomV1BackInStockNotificationRequest_universal_d_RequestsQueryBuilder as RequestsQueryBuilder,\n      ecomV1BackInStockNotificationRequest_universal_d_getBackInStockNotificationRequestsCountByCatalogReferences as getBackInStockNotificationRequestsCountByCatalogReferences,\n      ecomV1BackInStockNotificationRequest_universal_d_reportItemsBackInStock as reportItemsBackInStock,\n      ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockOptions as ReportItemsBackInStockOptions,\n    };\n  }\n  \n  /**\n   * The back in stock settings object holds information related to the state of collecting back in stock\n   * notification requests.\n   */\n  interface BackInStockSettings {\n      /**\n       * Information about collecting customer requests to receive\n       * back in stock notifications.\n       */\n      collectionStates?: BackInStockCollectionState[];\n  }\n  interface BackInStockCollectionState {\n      /** ID of the app to receive notification requests for. */\n      appId?: string;\n      /** Whether to collect requests for items from this app. */\n      collectingRequests?: boolean;\n  }\n  interface StartCollectingRequestsRequest {\n      /** ID of the app to start accepting notification requests for. */\n      appId: string;\n  }\n  interface StartCollectingRequestsResponse {\n      /** Back in stock settings info. */\n      settings?: BackInStockSettings;\n  }\n  interface StopCollectingRequestsRequest {\n      /** ID of the app to stop accepting notification requests for. */\n      appId: string;\n  }\n  interface StopCollectingRequestsResponse {\n      /** Back in stock settings info. */\n      settings?: BackInStockSettings;\n  }\n  interface GetSettingsRequest {\n  }\n  interface GetSettingsResponse {\n      /** Retrieved back in stock request settings. */\n      settings?: BackInStockSettings;\n  }\n  /**\n   * Sets `settings.collectionStates.collectingRequests` to `true` for given `appId`.\n   *\n   * When the collection state is set to `true`, collecting requests is enabled and customers may request\n   * notifications for out of stock products. While collecting is enabled, customers see a \"Notify When Available\"\n   * button on out-of-stock items. Customers can click the button to enter their email address, which creates the\n   * notification request.\n   * @param appId - ID of the app to start accepting notification requests for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @permissionId ECOM.MODIFY_BACK_IN_STOCK_NOTIFICATION_SETTINGS\n   * @adminMethod\n   */\n  function startCollectingRequests(appId: string): Promise<StartCollectingRequestsResponse>;\n  /**\n   * Sets `settings.collectionStates.collectingRequests` to `false` for given `appId`.\n   *\n   * When the collection state is set to `false`, collecting notification requests is disabled.\n   * @param appId - ID of the app to stop accepting notification requests for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @permissionId ECOM.MODIFY_BACK_IN_STOCK_NOTIFICATION_SETTINGS\n   * @adminMethod\n   */\n  function stopCollectingRequests(appId: string): Promise<StopCollectingRequestsResponse>;\n  /**\n   * Retrieves back in stock request settings.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.READ_BACK_IN_STOCK_NOTIFICATION_SETTINGS\n   */\n  function getSettings(): Promise<GetSettingsResponse>;\n  \n  type ecomV1BackInStockSettings_universal_d_BackInStockSettings = BackInStockSettings;\n  type ecomV1BackInStockSettings_universal_d_BackInStockCollectionState = BackInStockCollectionState;\n  type ecomV1BackInStockSettings_universal_d_StartCollectingRequestsRequest = StartCollectingRequestsRequest;\n  type ecomV1BackInStockSettings_universal_d_StartCollectingRequestsResponse = StartCollectingRequestsResponse;\n  type ecomV1BackInStockSettings_universal_d_StopCollectingRequestsRequest = StopCollectingRequestsRequest;\n  type ecomV1BackInStockSettings_universal_d_StopCollectingRequestsResponse = StopCollectingRequestsResponse;\n  type ecomV1BackInStockSettings_universal_d_GetSettingsRequest = GetSettingsRequest;\n  type ecomV1BackInStockSettings_universal_d_GetSettingsResponse = GetSettingsResponse;\n  const ecomV1BackInStockSettings_universal_d_startCollectingRequests: typeof startCollectingRequests;\n  const ecomV1BackInStockSettings_universal_d_stopCollectingRequests: typeof stopCollectingRequests;\n  const ecomV1BackInStockSettings_universal_d_getSettings: typeof getSettings;\n  namespace ecomV1BackInStockSettings_universal_d {\n    export {\n      ecomV1BackInStockSettings_universal_d_BackInStockSettings as BackInStockSettings,\n      ecomV1BackInStockSettings_universal_d_BackInStockCollectionState as BackInStockCollectionState,\n      ecomV1BackInStockSettings_universal_d_StartCollectingRequestsRequest as StartCollectingRequestsRequest,\n      ecomV1BackInStockSettings_universal_d_StartCollectingRequestsResponse as StartCollectingRequestsResponse,\n      ecomV1BackInStockSettings_universal_d_StopCollectingRequestsRequest as StopCollectingRequestsRequest,\n      ecomV1BackInStockSettings_universal_d_StopCollectingRequestsResponse as StopCollectingRequestsResponse,\n      ecomV1BackInStockSettings_universal_d_GetSettingsRequest as GetSettingsRequest,\n      ecomV1BackInStockSettings_universal_d_GetSettingsResponse as GetSettingsResponse,\n      ecomV1BackInStockSettings_universal_d_startCollectingRequests as startCollectingRequests,\n      ecomV1BackInStockSettings_universal_d_stopCollectingRequests as stopCollectingRequests,\n      ecomV1BackInStockSettings_universal_d_getSettings as getSettings,\n    };\n  }\n  \n  interface Cart$1 {\n      /** Cart ID. */\n      _id?: string | null;\n      /**\n       * Line items.\n       * @readonly\n       */\n      lineItems?: LineItem$6[];\n      /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n      buyerNote?: string | null;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$7;\n      /**\n       * Currency used for pricing.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Currency code used for all the converted prices that are returned.\n       * For a site that supports multiple currencies, this is the currency the buyer selected.\n       * @readonly\n       */\n      conversionCurrency?: string;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       * @readonly\n       */\n      buyerLanguage?: string | null;\n      /**\n       * Site language in which original values are displayed.\n       * @readonly\n       */\n      siteLanguage?: string | null;\n      /**\n       * Whether tax is included in line item prices.\n       * @readonly\n       */\n      taxIncludedInPrices?: boolean | null;\n      /**\n       * Weight measurement unit - defaults to site's weight unit.\n       * @readonly\n       */\n      weightUnit?: WeightUnit$8;\n      /**\n       * Combined price of all line items before discounts. Subtotal includes tax if `cart.tax_included_in_prices` is set to `true`.\n       * @internal\n       * @readonly\n       */\n      subtotal?: MultiCurrencyPrice$4;\n      /**\n       * Combined price of all line items after discounts.\n       * @internal\n       * @readonly\n       */\n      subtotalAfterDiscounts?: MultiCurrencyPrice$4;\n      /**\n       * ID of the checkout that originated from this cart.\n       * @readonly\n       */\n      checkoutId?: string | null;\n      /**\n       * Cart discounts.\n       * @readonly\n       */\n      appliedDiscounts?: CartDiscount$1[];\n      /**\n       * Date and time the cart was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the cart was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Contact info. */\n      contactInfo?: AddressWithContact$5;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /**\n       * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n       *\n       * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n       */\n      overrideCheckoutUrl?: string | null;\n      /**\n       * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n       * @readonly\n       */\n      purchaseFlowId?: string | null;\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$2;\n      /**\n       * Fields extended by data extensions\n       * @internal\n       */\n      extendedFields?: ExtendedFields$a;\n  }\n  interface LineItem$6 {\n      /**\n       * Line item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Item quantity. */\n      quantity?: number;\n      /** Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$8;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       * @readonly\n       */\n      productName?: ProductName$5;\n      /**\n       * URL to the item's page on the site.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Item price **after** catalog-defined discount and line item discounts.\n       * @readonly\n       */\n      price?: MultiCurrencyPrice$4;\n      /**\n       * Item price **before** catalog-defined discount. Defaults to `price` when not provided.\n       * @readonly\n       */\n      fullPrice?: MultiCurrencyPrice$4;\n      /**\n       * Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.\n       * @readonly\n       */\n      priceBeforeDiscounts?: MultiCurrencyPrice$4;\n      /**\n       * Total price **after** catalog-defined discount and line item discounts.\n       * @internal\n       * @readonly\n       */\n      lineItemPrice?: MultiCurrencyPrice$4;\n      /**\n       * Line item description lines. Used for displaying the cart, checkout and order.\n       * @readonly\n       */\n      descriptionLines?: DescriptionLine$5[];\n      /**\n       * Line item image details.\n       * @readonly\n       */\n      image?: string;\n      /**\n       * Item availability details.\n       * @readonly\n       */\n      availability?: ItemAvailabilityInfo$3;\n      /**\n       * Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.\n       * @readonly\n       */\n      physicalProperties?: PhysicalProperties$7;\n      /**\n       * Coupon scopes - which app and items a coupon applies to.\n       * This field is internal to Wix, and should be used by Bookings, Stores and Events as used by the current [Coupons API](https://bo.wix.com/wix-docs/rest/stores/coupons/valid-scope-values).\n       * @internal\n       * @readonly\n       */\n      couponScopes?: Scope$4[];\n      /**\n       * Item type. Either a preset type or custom.\n       * @readonly\n       */\n      itemType?: ItemType$6;\n      /**\n       * Subscription option information.\n       * @internal\n       * @readonly\n       */\n      subscriptionOptionInfo?: SubscriptionOptionInfo$4;\n      /**\n       * Digital file identifier, relevant only for items with type DIGITAL.\n       * @internal\n       * @readonly\n       */\n      digitalFile?: SecuredMedia$4;\n      /**\n       * Type of selected payment option for current item. Defaults to `\"FULL_PAYMENT_ONLINE\"`.\n       * + `\"FULL_PAYMENT_ONLINE\"` - The entire payment for this item happens as part of the checkout.\n       * + `\"FULL_PAYMENT_OFFLINE\"` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `\"MEMBERSHIP\"` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` will be 0.\n       * @readonly\n       */\n      paymentOption?: V1PaymentOptionType$2;\n      /**\n       * Service properties. When relevant, this contains information such as date and number of participants.\n       * @readonly\n       */\n      serviceProperties?: ServiceProperties$5;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + in most cases, this field is the same as `catalogReference.catalogItemId`.\n       * + Used in membership validation.\n       * @readonly\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".\n       * @readonly\n       */\n      priceDescription?: PriceDescription$5;\n      /**\n       * Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.\n       * @readonly\n       */\n      depositAmount?: MultiCurrencyPrice$4;\n      /** Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`. */\n      selectedMembership?: SelectedMembership$4;\n      /**\n       * The Item's Delivery Profile Id\n       * @internal\n       * @readonly\n       */\n      deliveryProfileId?: string | null;\n      /**\n       * Tax group ID for this line item.\n       * @readonly\n       */\n      taxGroupId?: string | null;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @readonly\n       */\n      customLineItem?: boolean;\n      /**\n       * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n       * @readonly\n       */\n      consentRequiredPaymentPolicy?: string | null;\n      /**\n       * Shipping group ID.\n       * @internal\n       * @readonly\n       */\n      shippingGroupId?: string | null;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       * @internal\n       * @readonly\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       * @internal\n       * @readonly\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Overriding values for catalog item properties.\n       *\n       * To override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      catalogOverrideFields?: CatalogOverrideFields$3;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      savePaymentMethod?: boolean;\n      /**\n       * Address to be used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress$6;\n      /**\n       * Custom extended fields for the line item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$a;\n      /**\n       * Policies to be displayed to the customer on the checkout page.\n       * @internal\n       * @readonly\n       */\n      policies?: Policy$3[];\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$8 {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs.\n       *\n       * Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from your Wix Stores catalog, learn more about [eCommerce integration](https://www.wix.com/velo/reference/wix-stores-backend/ecommerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface ProductName$5 {\n      /** **Required** - Original product name (in site's default language). */\n      original?: string;\n      /** Description product name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  interface MultiCurrencyPrice$4 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface DescriptionLine$5 extends DescriptionLineValueOneOf$5, DescriptionLineDescriptionLineValueOneOf$5 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$5;\n      /** Description line color value. */\n      colorInfo?: Color$5;\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$5;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n      /** Description line name. */\n      name?: DescriptionLineName$5;\n      /**\n       * Description line type.\n       * @internal\n       * @deprecated\n       */\n      lineType?: DescriptionLineType$5;\n  }\n  /** @oneof */\n  interface DescriptionLineValueOneOf$5 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$5;\n      /** Description line color value. */\n      colorInfo?: Color$5;\n  }\n  /** @oneof */\n  interface DescriptionLineDescriptionLineValueOneOf$5 {\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$5;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n  }\n  interface DescriptionLineName$5 {\n      /** Description line name in site's default language. */\n      original?: string;\n      /** Description line name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  interface PlainTextValue$5 {\n      /** Description line plain text value in site's default language. */\n      original?: string;\n      /** Description line plain text value translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  interface Color$5 {\n      /** Description line color name in site's default language. */\n      original?: string;\n      /** Description line color name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n      /**\n       * HEX or RGB color code for display.\n       *\n       */\n      code?: string | null;\n  }\n  enum DescriptionLineType$5 {\n      /** Unrecognized type. */\n      UNRECOGNISED = \"UNRECOGNISED\",\n      /** Plain text type. */\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      /** Color type. */\n      COLOR = \"COLOR\"\n  }\n  interface FocalPoint$6 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface ItemAvailabilityInfo$3 {\n      /**\n       * Item availability status.\n       *\n       * NOT_FOUND - Item does not exist.\n       * NOT_AVAILABLE - Not in stock.\n       * PARTIALLY_AVAILABLE - Available quantity is less than requested.\n       */\n      status?: ItemAvailabilityStatus$3;\n      /** Quantity available. */\n      quantityAvailable?: number | null;\n  }\n  enum ItemAvailabilityStatus$3 {\n      AVAILABLE = \"AVAILABLE\",\n      /** Item does not exist */\n      NOT_FOUND = \"NOT_FOUND\",\n      /** Item not in stock */\n      NOT_AVAILABLE = \"NOT_AVAILABLE\",\n      /** Available quantity is less than requested */\n      PARTIALLY_AVAILABLE = \"PARTIALLY_AVAILABLE\"\n  }\n  interface PhysicalProperties$7 {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface Scope$4 {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */\n      group?: Group$4;\n  }\n  interface Group$4 {\n      /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      name?: string;\n      /** Item ID (when the coupon scope is limited to just one item). */\n      entityId?: string | null;\n  }\n  interface ItemType$6 extends ItemTypeItemTypeDataOneOf$6 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$6;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf$6 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$6;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType$6 {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  interface SubscriptionOptionInfo$4 {\n      /** Subscription option settings. */\n      subscriptionSettings?: SubscriptionSettings$7;\n      /** Subscription option title. */\n      title?: Title$3;\n      /** Subscription option description. */\n      description?: Description$3;\n  }\n  interface SubscriptionSettings$7 {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency$7;\n      /**\n       * Interval of recurring payment.\n       *\n       * Default: `1`.\n       * If SubscriptionFrequency is Day the minimum interval is 7\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription..\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n      /**\n       * Period until first cycle starts. If applied payNow will be 0\n       * If None => no free trial\n       * @internal\n       */\n      freeTrialPeriod?: FreeTrialPeriod$3;\n      /**\n       * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * Whether to generate an order each billing cycle. An order will always be generated for the first billing cycle.\n       * Default None => will behave like true\n       * @internal\n       */\n      generateOrderEachBillingCycle?: boolean | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency$7 {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface FreeTrialPeriod$3 {\n      /** Frequency of priod. Values: DAY, WEEK, MONTH, YEAR */\n      frequency?: SubscriptionFrequency$7;\n      /** interval of period */\n      interval?: number;\n  }\n  interface Title$3 {\n      /** Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Subscription option name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Description$3 {\n      /** Subscription option description. */\n      original?: string;\n      /** Translated subscription option description. */\n      translated?: string | null;\n  }\n  interface SecuredMedia$4 {\n      /** Media ID in Wix Media Manager. */\n      _id?: string;\n      /** Original filename. */\n      fileName?: string;\n      /** File type. */\n      fileType?: FileType$4;\n  }\n  enum FileType$4 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  /** Type of selected payment option for catalog item */\n  enum V1PaymentOptionType$2 {\n      /** The entire payment for this item happens as part of the checkout. */\n      FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n      /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /** Payment for this item is done by charging a membership. When selected, `price` is `0`. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n      DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\",\n      /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface ServiceProperties$5 {\n      /** The date and time for which the service is supposed to be provided. For example, the time of the class. */\n      scheduledDate?: Date | null;\n      /** The number of people participating in this service. For example, the number of people attending the class or the number of people per hotel room. */\n      numberOfParticipants?: number | null;\n  }\n  interface PriceDescription$5 {\n      /**\n       * **Required** - Original price description (in site's default language).\n       *\n       */\n      original?: string;\n      /** Product name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  /** Selected Membership */\n  interface SelectedMembership$4 {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the app providing this payment option. */\n      appId?: string;\n  }\n  interface CatalogOverrideFields$3 {\n      /** Item name. */\n      productName?: ProductName$5;\n      /** Item price **after** discounts. */\n      price?: string | null;\n      /** Item price **before** discounts. */\n      fullPrice?: string | null;\n      /** Item description lines. Used when displaying the line item to customers. */\n      descriptionLines?: DescriptionLine$5[];\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties$7;\n      /** Item image. */\n      image?: string;\n      /** Payment method selected for the item. */\n      paymentOption?: PaymentOption$3;\n      /** Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`. */\n      depositAmount?: string | null;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       */\n      savePaymentMethod?: boolean | null;\n  }\n  interface PaymentOption$3 {\n      /**\n       * + `FULL_PAYMENT_ONLINE`: The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE`: The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP`: Payment for this item is done by charging a membership. When selected, `price` is `0`.\n       * + `DEPOSIT_ONLINE`: Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is specified in `depositAmount`.\n       * + `MEMBERSHIP_OFFLINE`: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.\n       */\n      value?: V1PaymentOptionType$2;\n  }\n  interface TaxableAddress$6 extends TaxableAddressTaxableAddressDataOneOf$6 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$6;\n  }\n  /** @oneof */\n  interface TaxableAddressTaxableAddressDataOneOf$6 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$6;\n  }\n  enum TaxableAddressType$6 {\n      UNKNOWN_TAXABLE_ADDRESS = \"UNKNOWN_TAXABLE_ADDRESS\",\n      BUSINESS = \"BUSINESS\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface ExtendedFields$a {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface Policy$3 {\n      /** Policy title - should be translated */\n      title?: string | null;\n      /** Policy content - should be translated */\n      content?: string;\n  }\n  /** Buyer Info */\n  interface BuyerInfo$7 extends BuyerInfoIdOneOf$5 {\n      /**\n       * Visitor ID - if the buyer is **not** a site member.\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID - if the buyer is a site member.\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * User ID - if the cart owner is a Wix user.\n       * @readonly\n       */\n      userId?: string;\n      /** Contact ID. For more information, see the Contacts API. */\n      contactId?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface BuyerInfoIdOneOf$5 {\n      /**\n       * Visitor ID - if the buyer is **not** a site member.\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID - if the buyer is a site member.\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * User ID - if the cart owner is a Wix user.\n       * @readonly\n       */\n      userId?: string;\n  }\n  enum WeightUnit$8 {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface CartDiscount$1 extends CartDiscountDiscountSourceOneOf$1 {\n      /** Coupon details. */\n      coupon?: Coupon$6;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$6;\n      /**\n       * Discount rule\n       * @internal\n       */\n      discountRule?: V1DiscountRule$1;\n      /** @internal */\n      lineItemIds?: string[];\n  }\n  /** @oneof */\n  interface CartDiscountDiscountSourceOneOf$1 {\n      /** Coupon details. */\n      coupon?: Coupon$6;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$6;\n      /**\n       * Discount rule\n       * @internal\n       */\n      discountRule?: V1DiscountRule$1;\n  }\n  interface Coupon$6 {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /**\n       * Coupon value.\n       * @internal\n       */\n      amount?: MultiCurrencyPrice$4;\n  }\n  interface MerchantDiscount$6 {\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$4;\n  }\n  interface V1DiscountRule$1 {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: V1DiscountRuleName$1;\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$4;\n  }\n  interface V1DiscountRuleName$1 {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact$5 {\n      /** Address. */\n      address?: Address$a;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails$6;\n  }\n  /** Physical address */\n  interface Address$a {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress$9;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation$9;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress$9 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$9 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails$6 {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId$7;\n  }\n  interface VatId$7 {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType$7;\n  }\n  /** tax info types */\n  enum VatType$7 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface SelectedShippingOption$2 {\n      /** Carrier ID. */\n      carrierId?: string | null;\n      /** Selected shipping option code. For example, \"usps_std_overnight\". */\n      code?: string;\n  }\n  interface GetCurrentCartRequest$1 {\n  }\n  interface GetCurrentCartResponse$1 {\n      /** Current session's active cart. */\n      cart?: Cart$1;\n  }\n  interface UpdateCartRequest$1 {\n      /** Cart info. */\n      cartInfo?: Cart$1;\n      /** The code of an existing coupon to apply to the cart. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart. */\n      merchantDiscounts?: MerchantDiscountInput$3[];\n      /** Catalog line items. */\n      lineItems?: LineItem$6[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$4[];\n      /**\n       * List of field names to determine which of cartInfo's fields will be updated\n       * @internal\n       */\n      cartFieldmask?: string[];\n  }\n  interface MerchantDiscountInput$3 {\n      /** Discount amount. */\n      amount?: string;\n      /** IDs of the line items the discount applies to. */\n      lineItemIds?: string[];\n  }\n  interface CustomLineItem$4 {\n      /**\n       * Custom line item quantity.\n       *\n       * Min: `1`\n       * Max: `100000`\n       */\n      quantity?: number;\n      /**\n       * Custom line item price.\n       *\n       * Must be a number or a decimal without symbols.\n       */\n      price?: string;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription$5;\n      /** Custom line item description lines. Used for displaying the cart, checkout and order. */\n      descriptionLines?: DescriptionLine$5[];\n      /**\n       * Custom line item media. Supported formats:\n       * + Link to an image/video from the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) - `\"wix:image://v1/3c76e2_c53...4ea4~mv2.jpg#originWidth=1000&originHeight=1000\"`.\n       * + An image from the web - `\"http(s)://<image url>\"`.\n       */\n      media?: string;\n      /**\n       * Custom line item ID. If passed, `id` must be unique.\n       *\n       * Default: auto-generated ID\n       */\n      _id?: string | null;\n      /** Tax group ID for this custom line item. */\n      taxGroupId?: string | null;\n      /** Name of the item or product. */\n      productName?: ProductName$5;\n      /** URL to the item's page on the site. When not provided, the link back from the cart page to the relevant product page will not work. */\n      url?: string;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType$6;\n      /** Item price **before** catalog-defined discount. Defaults to `price` when not provided. */\n      fullPrice?: string | null;\n      /**\n       * Item quantity available for purchase. Only return this if inventory is managed.\n       * Not returning this field means that the buyer can \"infinitely\" tick up the number of items in the cart.\n       */\n      quantityAvailable?: number | null;\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties$7;\n      /**\n       * Subscription option info. This field is internal and only used by Stores.\n       * @internal\n       */\n      subscriptionOptionInfo?: SubscriptionOptionInfo$4;\n      /**\n       * Digital file ID and name. Required if `itemType: DIGITAL`.\n       * @internal\n       */\n      digitalFile?: SecuredMedia$4;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       *\n       * + `FULL_PAYMENT_ONLINE` - Entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE` - Entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `DEPOSIT_ONLINE` -  Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.\n       */\n      paymentOption?: V1PaymentOptionType$2;\n      /**\n       * Service properties. When relevant, this contains information such as date and number of participants.\n       * Used, among other things, when checking for valid memberships.\n       */\n      serviceProperties?: ServiceProperties$5;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       *\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field is the same as `catalogReference.catalogItemId`.\n       * + Used in membership validation.\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Partial payment for the given item to be paid upfront during the checkout.\n       *\n       * Eligible for catalog items with type `DEPOSIT_ONLINE`.\n       * When omitted, the item's price will not be split and is expected to be paid in a single installment.\n       */\n      depositAmount?: string | null;\n      /**\n       * Delivery Profile ID.\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$8;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       *\n       * Default: `false`\n       * @internal\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n       * @readonly\n       */\n      consentRequiredPaymentPolicy?: string | null;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      savePaymentMethod?: boolean;\n      /**\n       * Policies to be displayed to the customer on the checkout page.\n       * @internal\n       */\n      policies?: Policy$3[];\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n  }\n  interface UpdateCartResponse$1 {\n      /** Updated Cart. */\n      cart?: Cart$1;\n  }\n  interface AddToCurrentCartRequest$1 {\n      /** Catalog line items. */\n      lineItems?: LineItem$6[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$4[];\n  }\n  interface AddToCartResponse$1 {\n      /** Updated cart. */\n      cart?: Cart$1;\n  }\n  interface AddToCurrentCartAndEstimateTotalsRequest$1 {\n      /** Catalog line items. */\n      lineItems?: LineItem$6[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$4[];\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$2;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$a;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$a;\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: SelectedMemberships$4;\n      /**\n       * Whether to calculate tax in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateTax?: boolean | null;\n      /**\n       * Whether to calculate shipping in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateShipping?: boolean | null;\n  }\n  interface SelectedMemberships$4 {\n      /** Selected memberships. */\n      memberships?: HostSelectedMembership$1[];\n  }\n  interface HostSelectedMembership$1 {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the app providing this payment option. */\n      appId?: string;\n      /** IDs of the line items this membership applies to. */\n      lineItemIds?: string[];\n  }\n  interface EstimateTotalsResponse$1 {\n      /** Cart. */\n      cart?: Cart$1;\n      /** Calculated line items. */\n      calculatedLineItems?: CalculatedLineItem$2[];\n      /** Price summary. */\n      priceSummary?: PriceSummary$6;\n      /** Applied gift card. */\n      giftCard?: GiftCard$6;\n      /** Tax summary. */\n      taxSummary?: TaxSummary$6;\n      /** Shipping information. */\n      shippingInfo?: ShippingInformation$4;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount$6[];\n      /** Calculation errors. */\n      calculationErrors?: CalculationErrors$5;\n      /** Weight measurement unit - defaults to site's weight unit. */\n      weightUnit?: WeightUnit$8;\n      /** Currency used for pricing in this store. */\n      currency?: string;\n      /**\n       * Minimal amount to pay in order to place the order.\n       * @readonly\n       */\n      payNow?: PriceSummary$6;\n      /**\n       * Remaining amount for the order to be fully paid.\n       * @readonly\n       */\n      payLater?: PriceSummary$6;\n      /** Information about valid and invalid memberships, and which ones are selected for usage. */\n      membershipOptions?: MembershipOptions$4;\n      /** Additional fees */\n      additionalFees?: AdditionalFee$6[];\n      /**\n       * List of validation violations raised by the [Validations Custom Extension SPI](https://www.wix.com/velo/reference/spis/wix-ecom/ecom-validations/introduction).\n       * @readonly\n       */\n      violations?: Violation$3[];\n  }\n  interface CalculatedLineItem$2 {\n      /** Line item ID. */\n      lineItemId?: string;\n      /** Price breakdown for this line item. */\n      pricesBreakdown?: LineItemPricesData$2;\n      /**\n       * Type of selected payment option for current item. Defaults to `\"FULL_PAYMENT_ONLINE\"`.\n       * + `\"FULL_PAYMENT_ONLINE\"` - The entire payment for this item happens as part of the checkout.\n       * + `\"FULL_PAYMENT_OFFLINE\"` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `\"MEMBERSHIP\"` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` will be 0.\n       */\n      paymentOption?: V1PaymentOptionType$2;\n      /**\n       * tax calculation address.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress$6;\n  }\n  interface LineItemPricesData$2 {\n      /** Total price after discounts and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice$4;\n      /** Total price after discounts, and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice$4;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$6;\n      /** Total discount for all line items. */\n      totalDiscount?: MultiCurrencyPrice$4;\n      /** Catalog price after catalog discount and automatic discounts. */\n      price?: MultiCurrencyPrice$4;\n      /** Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided. */\n      priceBeforeDiscounts?: MultiCurrencyPrice$4;\n      /** Total price **after** catalog-defined discount and line item discounts. */\n      lineItemPrice?: MultiCurrencyPrice$4;\n      /** Item price **before** line item discounts and **before** catalog-defined discount. Defaults to `price` when not provided. */\n      fullPrice?: MultiCurrencyPrice$4;\n  }\n  interface ItemTaxFullDetails$6 {\n      /** Amount for which tax is calculated. */\n      taxableAmount?: MultiCurrencyPrice$4;\n      /**\n       * Tax group ID, if specified.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /** Tax rate %, as a decimal point between 0 and 1. */\n      taxRate?: string;\n      /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n      totalTax?: MultiCurrencyPrice$4;\n      /**\n       * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead.\n       * @readonly\n       * @deprecated\n       */\n      rateBreakdown?: TaxRateBreakdown$4[];\n      /**\n       * The amount of this line item that was exempt.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice$4;\n      /**\n       * True for items we have a tax applied on them\n       * @internal\n       */\n      isItemTaxable?: boolean | null;\n      /**\n       * True if the lineAmount include tax in it.\n       * @internal\n       */\n      isTaxIncluded?: boolean | null;\n      /**\n       * The calculator that calculated this line tax\n       * @internal\n       */\n      calculatorName?: string | null;\n      /**\n       * tax information for a line item.\n       * @internal\n       * @readonly\n       */\n      taxBreakdown?: TaxBreakdown$4[];\n  }\n  interface TaxRateBreakdown$4 {\n      /** Name of tax against which the calculation was performed. */\n      name?: string;\n      /** Rate at which this tax detail was calculated. */\n      rate?: string;\n      /** Amount of tax for this tax detail. */\n      tax?: MultiCurrencyPrice$4;\n      /**\n       * The type of tax that was calculated\n       * @internal\n       */\n      taxType?: string | null;\n      /**\n       * The name of the jurisdiction in which this tax detail applies\n       * @internal\n       */\n      jurisdiction?: string | null;\n      /**\n       * The type of the jurisdiction in which this tax detail applies(Country,State,County,City,Special).\n       * @internal\n       */\n      jurisdictionType?: string | null;\n      /**\n       * The amount of this line item that was exempt from this authority.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice$4;\n      /**\n       * ids of the used exemptions from the TaxEstimate exemptions array.\n       * @internal\n       */\n      exemptionIds?: number[];\n      /**\n       * The taxable amount of this tax detail\n       * @internal\n       */\n      taxableAmount?: MultiCurrencyPrice$4;\n      /**\n       * The Taxes/Fee component. True if the fee is applied.\n       * @internal\n       */\n      isFee?: boolean | null;\n  }\n  /**\n   * TaxBreakdown represents tax information for a line item.\n   * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface TaxBreakdown$4 {\n      /** The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** The amount of this line item price that was considered nontaxable. (Decimal value) */\n      nonTaxableAmount?: MultiCurrencyPrice$4;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value) */\n      rate?: string | null;\n      /** The amount of tax estimated for this line item. (Decimal value) */\n      taxAmount?: MultiCurrencyPrice$4;\n      /** The taxable amount of this line item. */\n      taxableAmount?: MultiCurrencyPrice$4;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** The type of the jurisdiction in which this tax detail applies. */\n      jurisdictionType?: JurisdictionType$6;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType$6 {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface PriceSummary$6 {\n      /** Subtotal of all line items, before discounts and before tax. */\n      subtotal?: MultiCurrencyPrice$4;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: MultiCurrencyPrice$4;\n      /** Total tax. */\n      tax?: MultiCurrencyPrice$4;\n      /** Total calculated discount value. */\n      discount?: MultiCurrencyPrice$4;\n      /** Total price after discounts, gift cards, and tax. */\n      total?: MultiCurrencyPrice$4;\n      /** Total additional fees price before tax. */\n      additionalFees?: MultiCurrencyPrice$4;\n  }\n  interface GiftCard$6 {\n      /**\n       * Gift Card ID.\n       * @deprecated\n       */\n      _id?: string;\n      /** Gift card obfuscated code. */\n      obfuscatedCode?: string;\n      /** Gift card value. */\n      amount?: MultiCurrencyPrice$4;\n      /** App ID of the gift card provider. */\n      appId?: string;\n      /**\n       * External ID in the gift card provider's system.\n       * Used for integration and tracking across different platforms.\n       */\n      externalId?: string | null;\n  }\n  interface TaxSummary$6 {\n      /**\n       * Amount for which tax is calculated, added from line items.\n       * @readonly\n       */\n      taxableAmount?: MultiCurrencyPrice$4;\n      /**\n       * Calculated tax, added from line items.\n       * @readonly\n       */\n      totalTax?: MultiCurrencyPrice$4;\n      /**\n       * Manual tax rate\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      manualTaxRate?: string;\n      /**\n       * Tax calculator that was active when the order was created.\n       * @deprecated\n       */\n      calculationDetails?: TaxCalculationDetails$4;\n      /**\n       * Tax estimation id in tax service\n       * @internal\n       * @readonly\n       */\n      taxEstimationId?: string | null;\n      /**\n       * Average Tax Rate\n       * @internal\n       * @readonly\n       */\n      averageTaxRate?: string | null;\n      /**\n       * The amount of this estimate that was exempt (for all line items).\n       * @internal\n       * @readonly\n       */\n      totalExempt?: MultiCurrencyPrice$4;\n      /**\n       * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n       * @internal\n       * @readonly\n       */\n      aggregatedTaxBreakdown?: AggregatedTaxBreakdown$4[];\n  }\n  interface TaxCalculationDetails$4 extends TaxCalculationDetailsCalculationDetailsOneOf$4 {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason$4;\n      /** Error details and reason for tax rate fallback. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails$4;\n      /**\n       * Rate calculation type. Supported values:\n       * + `\"AUTO_RATE\"`\n       * + `\"FALLBACK_RATE\"`\n       * + `\"MANUAL_RATE\"`\n       * + `\"NO_TAX_COLLECTED\"`\n       */\n      rateType?: RateType$4;\n  }\n  /** @oneof */\n  interface TaxCalculationDetailsCalculationDetailsOneOf$4 {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason$4;\n      /** Details of the fallback rate calculation. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails$4;\n  }\n  enum RateType$4 {\n      /** no tax being collected for this request due to location of purchase */\n      NO_TAX_COLLECTED = \"NO_TAX_COLLECTED\",\n      /** manual rate used for calculation */\n      MANUAL_RATE = \"MANUAL_RATE\",\n      /** autotax rate used for calculation */\n      AUTO_RATE = \"AUTO_RATE\",\n      /** fallback rate used for calculation */\n      FALLBACK_RATE = \"FALLBACK_RATE\"\n  }\n  enum ManualCalculationReason$4 {\n      /** user set calculator in Business Manager to be Manual */\n      GLOBAL_SETTING_TO_MANUAL = \"GLOBAL_SETTING_TO_MANUAL\",\n      /** specific region is on manual even though Global setting is Auto-tax */\n      REGION_SETTING_TO_MANUAL = \"REGION_SETTING_TO_MANUAL\"\n  }\n  interface AutoTaxFallbackCalculationDetails$4 {\n      /**\n       * Reason for fallback. Supported values:\n       * + `\"AUTO_TAX_FAILED\"`\n       * + `\"AUTO_TAX_DEACTIVATED\"`\n       */\n      fallbackReason?: FallbackReason$4;\n      /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */\n      error?: ApplicationError$b;\n  }\n  enum FallbackReason$4 {\n      /** auto-tax failed to be calculated */\n      AUTO_TAX_FAILED = \"AUTO_TAX_FAILED\",\n      /** auto-tax was temporarily deactivated on a system-level */\n      AUTO_TAX_DEACTIVATED = \"AUTO_TAX_DEACTIVATED\"\n  }\n  interface ApplicationError$b {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   */\n  interface AggregatedTaxBreakdown$4 {\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdiction?: string;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionTypeEnum?: JurisdictionType$6;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value) */\n      rate?: string;\n      /** The sum of all the tax from line items that calculated by the tax identifiers. */\n      aggregatedTaxAmount?: MultiCurrencyPrice$4;\n      /**\n       * The sum of all the taxable amount from line items for tax identifiers.\n       * @internal\n       */\n      aggregatedTaxableAmount?: MultiCurrencyPrice$4;\n  }\n  interface ShippingInformation$4 {\n      /** Shipping region. */\n      region?: ShippingRegion$6;\n      /** Selected shipping option. */\n      selectedCarrierServiceOption?: SelectedCarrierServiceOption$4;\n      /** All shipping options. */\n      carrierServiceOptions?: CarrierServiceOption$4[];\n  }\n  interface ShippingRegion$6 {\n      /**\n       * Shipping region ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Shipping region name. */\n      name?: string;\n  }\n  interface SelectedCarrierServiceOption$4 {\n      /** Unique identifier of selected option. For example, \"usps_std_overnight\". */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       * @readonly\n       */\n      title?: string;\n      /**\n       * Delivery logistics.\n       * @readonly\n       */\n      logistics?: DeliveryLogistics$7;\n      /**\n       * Shipping costs.\n       * @readonly\n       */\n      cost?: SelectedCarrierServiceOptionPrices$4;\n      /**\n       * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)\n       * @readonly\n       */\n      requestedShippingOption?: boolean;\n      /** Other charges */\n      otherCharges?: SelectedCarrierServiceOptionOtherCharge$4[];\n      /** This carrier's unique ID */\n      carrierId?: string | null;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation$5[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface DeliveryLogistics$7 {\n      /** Expected delivery time, in free text. For example, \"3-5 business days\". */\n      deliveryTime?: string | null;\n      /** Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don't park in disabled parking spot\". */\n      instructions?: string | null;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails$8;\n      /**\n       * Expected delivery time slot (from and to time stamps representation)\n       * @internal\n       */\n      deliveryTimeSlot?: DeliveryTimeSlot$7;\n  }\n  interface PickupDetails$8 {\n      /** Pickup address. */\n      address?: Address$a;\n      /**\n       * Whether the pickup address is that of a business - this may effect tax calculation.\n       * @deprecated\n       */\n      businessLocation?: boolean;\n      /** Pickup method */\n      pickupMethod?: PickupMethod$7;\n  }\n  enum PickupMethod$7 {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot$7 {\n      /** starting time of the delivery time slot */\n      from?: Date | null;\n      /** ending time of the delivery time slot */\n      to?: Date | null;\n  }\n  interface SelectedCarrierServiceOptionPrices$4 {\n      /** Total shipping price, after discount and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice$4;\n      /** Total price of shipping after discounts (when relevant), and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice$4;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$6;\n      /** Shipping discount before tax. */\n      totalDiscount?: MultiCurrencyPrice$4;\n      /** Shipping price before discount and before tax. */\n      price?: MultiCurrencyPrice$4;\n  }\n  interface SelectedCarrierServiceOptionOtherCharge$4 {\n      /** Type of additional cost. */\n      type?: ChargeType$6;\n      /** Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'. */\n      details?: string | null;\n      /** Price of added charge. */\n      cost?: SelectedCarrierServiceOptionPrices$4;\n  }\n  enum ChargeType$6 {\n      HANDLING_FEE = \"HANDLING_FEE\",\n      INSURANCE = \"INSURANCE\"\n  }\n  interface DeliveryAllocation$5 {\n      /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n      deliveryCarrier?: Carrier$5;\n      /** The delivery region that are relevant for this delivery solution. */\n      deliveryRegion?: Region$5;\n      /** Populated if the delivery solution is a partially supplied by this carrier. */\n      applicableLineItems?: ApplicableLineItems$5;\n  }\n  interface Carrier$5 {\n      /** The carrier app id */\n      appId?: string | null;\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n  }\n  interface Region$5 {\n      /** The delivery region id. */\n      _id?: string | null;\n      /** The delivery region name. */\n      name?: string | null;\n  }\n  interface ApplicableLineItems$5 {\n      /** Line items that the delivery solution is for. */\n      lineItemIds?: string[];\n  }\n  interface CarrierServiceOption$4 {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Shipping options offered by this carrier for this request. */\n      shippingOptions?: ShippingOption$6[];\n  }\n  interface ShippingOption$6 {\n      /**\n       * Unique code of provided shipping option like \"usps_std_overnight\".\n       * For legacy calculators this would be the UUID of the option.\n       */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       */\n      title?: string;\n      /** Delivery logistics. */\n      logistics?: DeliveryLogistics$7;\n      /** Sipping price information. */\n      cost?: ShippingPrice$6;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation$5[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface ShippingPrice$6 {\n      /** Shipping price. */\n      price?: MultiCurrencyPrice$4;\n      /** Other costs such as insurance, handling & packaging for fragile items, etc. */\n      otherCharges?: OtherCharge$4[];\n  }\n  interface OtherCharge$4 {\n      /** Type of additional cost. */\n      type?: ChargeType$6;\n      /** Price of added cost. */\n      price?: MultiCurrencyPrice$4;\n  }\n  interface AppliedDiscount$6 extends AppliedDiscountDiscountSourceOneOf$6 {\n      /** Coupon details. */\n      coupon?: V1Coupon$1;\n      /** Merchant discount. */\n      merchantDiscount?: V1MerchantDiscount$1;\n      /** Discount rule */\n      discountRule?: DiscountRule$6;\n      /** Discount type. */\n      discountType?: DiscountType$6;\n      /**\n       * IDs of the line items the discount applies to.\n       * @deprecated IDs of line items the discount applies to.\n       * @replacedBy line_items_discounts\n       * @targetRemovalDate 2024-06-01\n       */\n      lineItemIds?: string[];\n      /**\n       * Discount ID.\n       * @internal\n       */\n      _id?: string | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: LineItemDiscount$6[];\n      /**\n       * Number of subscription cycle this discount applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf$6 {\n      /** Coupon details. */\n      coupon?: V1Coupon$1;\n      /** Merchant discount. */\n      merchantDiscount?: V1MerchantDiscount$1;\n      /** Discount rule */\n      discountRule?: DiscountRule$6;\n  }\n  enum DiscountType$6 {\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface V1Coupon$1 {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon value. */\n      amount?: MultiCurrencyPrice$4;\n      /** Coupon name. */\n      name?: string;\n      /**\n       * Coupon type: We want it to be an enum and not a string but currently we have no time to do it so we leave it as is to be aligned with cart summary.\n       * @internal\n       * @deprecated\n       */\n      couponType?: string;\n  }\n  interface V1MerchantDiscount$1 {\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$4;\n      /** Discount Percentage. Will be calculated from items price before other discounts. */\n      percentage?: number | null;\n  }\n  interface DiscountRule$6 {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: DiscountRuleName$6;\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$4;\n  }\n  interface DiscountRuleName$6 {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Discount rule name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  interface LineItemDiscount$6 {\n      /** ID of line item the discount applies to. */\n      _id?: string;\n      /** Discount value. */\n      totalDiscountAmount?: MultiCurrencyPrice$4;\n  }\n  interface CalculationErrors$5 extends CalculationErrorsShippingCalculationErrorOneOf$5 {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$6;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors$5;\n      /** Tax calculation error. */\n      taxCalculationError?: Details$6;\n      /** Coupon calculation error. */\n      couponCalculationError?: Details$6;\n      /** Gift card calculation error. */\n      giftCardCalculationError?: Details$6;\n      /** Order validation errors. */\n      orderValidationErrors?: ApplicationError$b[];\n      /**\n       * Membership payment methods calculation errors\n       * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid\n       */\n      membershipError?: Details$6;\n      /** Discount Rule calculation error. */\n      discountsCalculationError?: Details$6;\n  }\n  /** @oneof */\n  interface CalculationErrorsShippingCalculationErrorOneOf$5 {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$6;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors$5;\n  }\n  interface Details$6 extends DetailsKindOneOf$6 {\n      applicationError?: ApplicationError$b;\n      validationError?: ValidationError$6;\n      systemError?: SystemError$6;\n      /**\n       * Deprecated in APIs. Used to enable migration from rendering arbitrary tracing to rest response.\n       * @deprecated\n       */\n      tracing?: Record<string, string>;\n  }\n  /** @oneof */\n  interface DetailsKindOneOf$6 {\n      applicationError?: ApplicationError$b;\n      validationError?: ValidationError$6;\n      systemError?: SystemError$6;\n  }\n  /**\n   * example result:\n   * {\n   * \"fieldViolations\": [\n   * {\n   * \"field\": \"fieldA\",\n   * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n   * \"violatedRule\": \"OTHER\",\n   * \"ruleName\": \"INVALID_NOTE\",\n   * \"data\": {\n   * \"value\": \"FI\"\n   * }\n   * },\n   * {\n   * \"field\": \"fieldB\",\n   * \"description\": \"field value out of range. supported range: [0-20]\",\n   * \"violatedRule\": \"MAX\",\n   * \"data\": {\n   * \"threshold\": 20\n   * }\n   * },\n   * {\n   * \"field\": \"fieldC\",\n   * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n   * \"violatedRule\": \"FORMAT\",\n   * \"data\": {\n   * \"type\": \"PHONE\"\n   * }\n   * }\n   * ]\n   * }\n   */\n  interface ValidationError$6 {\n      fieldViolations?: FieldViolation$6[];\n  }\n  enum RuleType$6 {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\",\n      EXACT_LENGTH = \"EXACT_LENGTH\",\n      EXACT_SIZE = \"EXACT_SIZE\"\n  }\n  interface FieldViolation$6 {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType$6;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  interface SystemError$6 {\n      /** Error code. */\n      errorCode?: string | null;\n  }\n  interface CarrierErrors$5 {\n      /** Carrier errors. */\n      errors?: CarrierError$6[];\n  }\n  interface CarrierError$6 {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Error details. */\n      error?: Details$6;\n  }\n  interface MembershipOptions$4 {\n      /** List of payment options that can be used. */\n      eligibleMemberships?: Membership$4[];\n      /** List of payment options that are owned by the member, but cannot be used due to reason provided. */\n      invalidMemberships?: InvalidMembership$4[];\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: HostSelectedMembership$1[];\n  }\n  interface Membership$4 {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the application providing this payment option. */\n      appId?: string;\n      /** The name of this membership. */\n      name?: MembershipName$6;\n      /** Line item IDs which are \"paid\" for by this membership. */\n      lineItemIds?: string[];\n      /** Optional - For a membership that has limited credits, information about credit usage. */\n      credits?: MembershipPaymentCredits$4;\n      /** Optional - TMembership expiry date. */\n      expirationDate?: Date | null;\n      /** Additional data about this membership. */\n      additionalData?: Record<string, any> | null;\n  }\n  interface MembershipName$6 {\n      /** Membership name. */\n      original?: string;\n      /** Membership name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  interface MembershipPaymentCredits$4 {\n      /** Membership's total amount of credits. */\n      total?: number;\n      /** Membership's remaining amount of credits. */\n      remaining?: number;\n  }\n  interface InvalidMembership$4 {\n      /** Membership details. */\n      membership?: Membership$4;\n      /** Reason why this membership is invalid and cannot be used. */\n      reason?: string;\n  }\n  interface AdditionalFee$6 {\n      /** Additional fee's unique code (or ID) for future processing. */\n      code?: string | null;\n      /** Translated additional fee's name. */\n      name?: string;\n      /** Additional fee's price. */\n      price?: MultiCurrencyPrice$4;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$6;\n      /** Provider's app id. */\n      providerAppId?: string | null;\n      /** Additional fee's price before tax. */\n      priceBeforeTax?: MultiCurrencyPrice$4;\n      /** Additional fee's price after tax. */\n      priceAfterTax?: MultiCurrencyPrice$4;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n      /**\n       * Number of subscription cycle this fee applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  interface Violation$3 {\n      /** Severity of the violation. The violations are shown on the cart and checkout pages. A warning is displayed as yellow, and allows a site visitor to proceed with caution. An error is displayed as red, and doesn't allow a site visitor to proceed with the eCommerce flow. */\n      severity?: Severity$3;\n      /** Target location on a checkout or cart page where the violation will be displayed. */\n      target?: Target$3;\n      /** Violation description. Can include rich text. Only HTTP or HTTPS links in the following format are allowed: `<a href=\"https://www.wix.com\">Click me</a>`. */\n      description?: string | null;\n  }\n  enum Severity$3 {\n      /** The user is allowed to move forward in the flow. */\n      WARNING = \"WARNING\",\n      /**\n       * The user is blocked from moving forward in the flow.\n       * For example, if callerContext is CART - moving to checkout is blocked. if callerContext is CHECKOUT, placing an order is blocked.\n       */\n      ERROR = \"ERROR\"\n  }\n  interface Target$3 extends TargetTargetTypeOneOf$3 {\n      /** General (other) violation. */\n      other?: Other$3;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem$3;\n  }\n  /** @oneof */\n  interface TargetTargetTypeOneOf$3 {\n      /** General (other) violation. */\n      other?: Other$3;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem$3;\n  }\n  /** Available locations on the webpage */\n  enum NameInOther$3 {\n      /** Default location, in case no specific location is specified. */\n      OTHER_DEFAULT = \"OTHER_DEFAULT\",\n      /** Delivery section. */\n      DELIVERY = \"DELIVERY\"\n  }\n  /** Available locations on the line item */\n  enum NameInLineItem$3 {\n      /** Default location, in case no specific location is specified. */\n      LINE_ITEM_DEFAULT = \"LINE_ITEM_DEFAULT\"\n  }\n  enum SuggestedFix$3 {\n      /** No suggested fix is specified. The user should refer to the violation description to resolve the issue. */\n      UNKNOWN_SUGGESTED_FIX = \"UNKNOWN_SUGGESTED_FIX\",\n      /** The line item should be removed from the cart or checkout to resolve the violation. */\n      REMOVE_LINE_ITEM = \"REMOVE_LINE_ITEM\"\n  }\n  /** General (other) violation. */\n  interface Other$3 {\n      /** Location on a checkout or a cart page where a general (other) violation will be displayed. */\n      name?: NameInOther$3;\n  }\n  /** Specific line item violation. */\n  interface TargetLineItem$3 {\n      /** Location on a checkout or a cart page where the specific line item violation will be displayed. */\n      name?: NameInLineItem$3;\n      /** ID of the line item containing the violation. */\n      _id?: string | null;\n      /**\n       * Suggested fix for resolving the line item violation.\n       * @internal\n       */\n      suggestedFix?: SuggestedFix$3;\n  }\n  interface RemoveLineItemsFromCurrentCartRequest$1 {\n      /** IDs of the line items to remove from the cart. */\n      lineItemIds: string[];\n  }\n  interface RemoveLineItemsResponse$2 {\n      /** Updated cart. */\n      cart?: Cart$1;\n  }\n  interface CreateCheckoutFromCurrentCartRequest$1 {\n      /** **Required**. Sales channel type. */\n      channelType?: ChannelType$6;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$a;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$a;\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$2;\n      /** Mandatory when setting a billing or shipping address if the site visitor isn't logged in. */\n      email?: string | null;\n  }\n  enum ChannelType$6 {\n      /** Unspecified sales channel. This value is not supported. */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** A web client. */\n      WEB = \"WEB\",\n      /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n      POS = \"POS\",\n      /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n      EBAY = \"EBAY\",\n      /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n      AMAZON = \"AMAZON\",\n      /** Other sales platform. */\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n      WIX_INVOICES = \"WIX_INVOICES\",\n      /** Wix merchant backoffice. */\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      /** Wish sales channel. */\n      WISH = \"WISH\",\n      /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n      CLASS_PASS = \"CLASS_PASS\",\n      /** Global-E sales channel. */\n      GLOBAL_E = \"GLOBAL_E\",\n      /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n      FACEBOOK = \"FACEBOOK\",\n      /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n      ETSY = \"ETSY\",\n      /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n      TIKTOK = \"TIKTOK\",\n      /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n      FAIRE_COM = \"FAIRE_COM\"\n  }\n  interface CreateCheckoutResponse$2 {\n      /** The newly created checkout's ID. */\n      checkoutId?: string;\n  }\n  interface RemoveCouponFromCurrentCartRequest$1 {\n  }\n  interface RemoveCouponResponse$2 {\n      /** Updated cart. */\n      cart?: Cart$1;\n  }\n  interface UpdateCurrentCartLineItemQuantityRequest$1 {\n      /** Line item IDs and their new quantity. */\n      lineItems: LineItemQuantityUpdate$2[];\n  }\n  interface LineItemQuantityUpdate$2 {\n      /** Line item ID. Required. */\n      _id?: string;\n      /** New quantity. Number must be 1 or higher. Required. */\n      quantity?: number;\n  }\n  interface UpdateLineItemsQuantityResponse$2 {\n      /** Updated cart. */\n      cart?: Cart$1;\n  }\n  interface EstimateCurrentCartTotalsRequest$1 {\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$2;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$a;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$a;\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: SelectedMemberships$4;\n      /**\n       * Whether to calculate tax in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateTax?: boolean | null;\n      /**\n       * Whether to calculate shipping in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateShipping?: boolean | null;\n  }\n  interface DeleteCurrentCartRequest$1 {\n  }\n  interface DeleteCartResponse$1 {\n  }\n  interface DomainEvent$i extends DomainEventBodyOneOf$i {\n      createdEvent?: EntityCreatedEvent$i;\n      updatedEvent?: EntityUpdatedEvent$i;\n      deletedEvent?: EntityDeletedEvent$i;\n      actionEvent?: ActionEvent$i;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$i {\n      createdEvent?: EntityCreatedEvent$i;\n      updatedEvent?: EntityUpdatedEvent$i;\n      deletedEvent?: EntityDeletedEvent$i;\n      actionEvent?: ActionEvent$i;\n  }\n  interface EntityCreatedEvent$i {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$i;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$i {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$i {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$i {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$i {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$h {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$i;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$i extends IdentificationDataIdOneOf$i {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$h;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$i {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$h {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CreateCartRequest$1 {\n      /** Cart info. */\n      cartInfo?: Cart$1;\n      /** The code of an existing coupon to apply to the cart. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will apply to the whole cart. */\n      merchantDiscounts?: MerchantDiscountInput$3[];\n      /** Catalog line items. */\n      lineItems?: LineItem$6[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$4[];\n  }\n  interface CreateCartResponse$1 {\n      /** Cart. */\n      cart?: Cart$1;\n  }\n  interface GetCartRequest$1 {\n      /** ID of the cart to retrieve. */\n      _id: string;\n  }\n  interface GetCartResponse$1 {\n      /** The requested cart. */\n      cart?: Cart$1;\n  }\n  interface GetCartByCheckoutIdRequest$1 {\n      /** Checkout ID. */\n      _id: string;\n  }\n  interface GetCartByCheckoutIdResponse$1 {\n      /** The requested cart. */\n      cart?: Cart$1;\n  }\n  interface AddToCartRequest$1 {\n      /** Cart ID. */\n      _id: string;\n      /** Catalog line items. */\n      lineItems?: LineItem$6[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$4[];\n  }\n  interface RemoveLineItemsRequest$2 {\n      /** Cart ID. */\n      _id: string;\n      /** IDs of the line items to remove from the cart. */\n      lineItemIds: string[];\n  }\n  interface CreateCheckoutRequest$2 {\n      /** Cart ID. */\n      _id: string;\n      /** **Required**. Sales channel type. */\n      channelType?: ChannelType$6;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$a;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$a;\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$2;\n      /** Mandatory when setting a billing or shipping address if the site visitor isn't logged in. */\n      email?: string | null;\n  }\n  interface RemoveCouponRequest$2 {\n      /** Cart ID. */\n      _id: string;\n  }\n  interface UpdateLineItemsQuantityRequest$2 {\n      /** Cart ID. */\n      _id: string;\n      /** Line item IDs and their new quantity. */\n      lineItems: LineItemQuantityUpdate$2[];\n  }\n  interface EstimateTotalsRequest$1 {\n      /** Cart ID. */\n      _id: string;\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$2;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$a;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$a;\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: SelectedMemberships$4;\n      /**\n       * Whether to calculate tax in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateTax?: boolean | null;\n      /**\n       * Whether to calculate shipping in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateShipping?: boolean | null;\n  }\n  interface DeleteCartRequest$1 {\n      /** ID of the cart to delete. */\n      _id: string;\n  }\n  interface Empty$b {\n  }\n  /**\n   * Creates a new cart.\n   *\n   *\n   * The `createCart()` function returns a Promise that resolves to the new cart when it's created.\n   *\n   * > **Note:** When adding catalog items, `options.lineItems.catalogReference` is required.\n   * @public\n   * @requiredField options.customLineItems.descriptionLines\n   * @requiredField options.customLineItems.descriptionLines.name\n   * @requiredField options.customLineItems.itemType\n   * @requiredField options.customLineItems.price\n   * @requiredField options.customLineItems.productName\n   * @requiredField options.customLineItems.quantity\n   * @requiredField options.lineItems.catalogReference\n   * @requiredField options.lineItems.quantity\n   * @requiredField options.lineItems.selectedMembership._id\n   * @requiredField options.lineItems.selectedMembership.appId\n   * @param options - Cart creation options.\n   * @permissionId ECOM.MODIFY_CARTS\n   * @permissionId ECOM.ADMIN_MODIFY_CARTS\n   * @returns Fulfilled - Cart.\n   */\n  function createCart(options?: CreateCartOptions): Promise<Cart$1>;\n  interface CreateCartOptions {\n      /** Cart info. */\n      cartInfo?: Cart$1;\n      /** The code of an existing coupon to apply to the cart. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will apply to the whole cart. */\n      merchantDiscounts?: MerchantDiscountInput$3[];\n      /** Catalog line items. */\n      lineItems?: LineItem$6[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$4[];\n  }\n  /**\n   * Updates a specified cart's properties.\n   *\n   *\n   * The `updateCart()` function returns a Promise that resolves when the specified cart's properties are updated.\n   *\n   * > **Note:** When updating catalog items, `options.lineItems.catalogReference` is required.\n   * @public\n   * @requiredField _id\n   * @requiredField options.customLineItems.descriptionLines\n   * @requiredField options.customLineItems.descriptionLines.name\n   * @requiredField options.customLineItems.itemType\n   * @requiredField options.customLineItems.productName\n   * @requiredField options.lineItems.catalogReference\n   * @param options - Available options to use when updating a cart.\n   * @param _id - ID of the cart to be updated.\n   * @permissionId ECOM.MODIFY_CARTS\n   * @permissionId ECOM.ADMIN_MODIFY_CARTS\n   * @returns Fulfilled - Updated cart.\n   */\n  function updateCart(_id: string | null, options?: UpdateCartOptions): Promise<Cart$1>;\n  interface UpdateCartOptions {\n      /** The information for the cart being updated. */\n      cartInfo: {\n          /** ID of the cart to be updated. */\n          _id?: string | null;\n          /**\n           * Line items.\n           * @readonly\n           */\n          lineItems?: LineItem$6[];\n          /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n          buyerNote?: string | null;\n          /** Buyer information. */\n          buyerInfo?: BuyerInfo$7;\n          /**\n           * Currency used for pricing.\n           * @readonly\n           */\n          currency?: string;\n          /**\n           * Currency code used for all the converted prices that are returned.\n           * For a site that supports multiple currencies, this is the currency the buyer selected.\n           * @readonly\n           */\n          conversionCurrency?: string;\n          /**\n           * Language for communication with the buyer. Defaults to the site language.\n           * For a site that supports multiple languages, this is the language the buyer selected.\n           * @readonly\n           */\n          buyerLanguage?: string | null;\n          /**\n           * Site language in which original values are displayed.\n           * @readonly\n           */\n          siteLanguage?: string | null;\n          /**\n           * Whether tax is included in line item prices.\n           * @readonly\n           */\n          taxIncludedInPrices?: boolean | null;\n          /**\n           * Weight measurement unit - defaults to site's weight unit.\n           * @readonly\n           */\n          weightUnit?: WeightUnit$8;\n          /**\n           * Combined price of all line items before discounts. Subtotal includes tax if `cart.tax_included_in_prices` is set to `true`.\n           * @internal\n           * @readonly\n           */\n          subtotal?: MultiCurrencyPrice$4;\n          /**\n           * Combined price of all line items after discounts.\n           * @internal\n           * @readonly\n           */\n          subtotalAfterDiscounts?: MultiCurrencyPrice$4;\n          /**\n           * ID of the checkout that originated from this cart.\n           * @readonly\n           */\n          checkoutId?: string | null;\n          /**\n           * Cart discounts.\n           * @readonly\n           */\n          appliedDiscounts?: CartDiscount$1[];\n          /**\n           * Date and time the cart was created.\n           * @readonly\n           */\n          _createdDate?: Date | null;\n          /**\n           * Date and time the cart was updated.\n           * @readonly\n           */\n          _updatedDate?: Date | null;\n          /** Contact info. */\n          contactInfo?: AddressWithContact$5;\n          /**\n           * __Deprecated.__ Use `purchaseFlowId` instead.\n           * @internal\n           * @deprecated\n           */\n          ecomId?: string | null;\n          /**\n           * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n           *\n           * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n           */\n          overrideCheckoutUrl?: string | null;\n          /**\n           * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n           * @readonly\n           */\n          purchaseFlowId?: string | null;\n          /** Selected shipping option. */\n          selectedShippingOption?: SelectedShippingOption$2;\n          /**\n           * Fields extended by data extensions\n           * @internal\n           */\n          extendedFields?: ExtendedFields$a;\n      };\n      /** The code of an existing coupon to apply to the cart. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart. */\n      merchantDiscounts?: MerchantDiscountInput$3[];\n      /** Catalog line items. */\n      lineItems?: LineItem$6[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$4[];\n      /**\n       * List of field names to determine which of cartInfo's fields will be updated\n       * @internal\n       */\n      cartFieldmask?: string[];\n  }\n  /**\n   * Retrieves a cart.\n   *\n   *\n   * The `getCart()` function returns a Promise that resolves when the specified cart is retrieved.\n   * @param _id - ID of the cart to retrieve.\n   * @public\n   * @requiredField _id\n   * @permissionId ECOM.READ_CARTS\n   * @returns Fulfilled - The specified cart.\n   */\n  function getCart(_id: string): Promise<Cart$1>;\n  /**\n   * Retrieves the cart associated with a specified checkout.\n   * @param _id - Checkout ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.READ_CARTS\n   */\n  function getCartByCheckoutId(_id: string): Promise<GetCartByCheckoutIdResponse$1>;\n  /**\n   * Deprecated. Use CurrentCartService.GetCurrentCart instead.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.READ_CARTS\n   * @deprecated\n   * @replacedBy com.wix.ecom.cart.api.v1.CurrentCartService.GetCurrentCart\n   * @targetRemovalDate 2024-10-31\n   */\n  function internalGetCurrentCart(): Promise<GetCurrentCartResponse$1>;\n  /**\n   * Adds catalog line items to a cart.\n   *\n   *\n   * The `addToCart()` function returns a Promise that resolves to the updated cart when the specified items have been added.\n   *\n   * > **Note:** When adding catalog items, `options.lineItems.catalogReference` is required.\n   * @param _id - Cart ID.\n   * @public\n   * @requiredField _id\n   * @requiredField options.customLineItems.descriptionLines\n   * @requiredField options.customLineItems.descriptionLines.name\n   * @requiredField options.customLineItems.itemType\n   * @requiredField options.customLineItems.price\n   * @requiredField options.customLineItems.productName\n   * @requiredField options.customLineItems.quantity\n   * @requiredField options.lineItems.catalogReference\n   * @requiredField options.lineItems.selectedMembership._id\n   * @requiredField options.lineItems.selectedMembership.appId\n   * @param options - Items to be added to cart.\n   * @permissionId ECOM.MODIFY_CARTS\n   * @permissionId ECOM.ADMIN_MODIFY_CARTS\n   * @returns Fulfilled - Cart.\n   */\n  function addToCart(_id: string, options?: AddToCartOptions): Promise<AddToCartResponse$1>;\n  interface AddToCartOptions {\n      /** Catalog line items. */\n      lineItems?: LineItem$6[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$4[];\n  }\n  /**\n   * Removes line items from the specified cart.\n   *\n   *\n   * The `removeLineItems()` function returns a Promise that resolves to the updated cart when the line items are removed from the specified cart.\n   * @public\n   * @requiredField _id\n   * @requiredField lineItemIds\n   * @param lineItemIds - IDs of the line items to remove from the cart.\n   * @param _id - ID of the cart to remove line items from.\n   * @permissionId ECOM.MODIFY_CARTS\n   * @returns Fulfilled - Updated cart.\n   */\n  function removeLineItems$1(_id: string, lineItemIds: string[]): Promise<RemoveLineItemsResponse$2>;\n  /**\n   * Creates a checkout from a cart.\n   *\n   *\n   * The `createCheckout()` function returns a Promise that resolves to the new checkout's ID when it's created.\n   *\n   * If a checkout was already created from the specified cart, that checkout will be\n   * updated with any new information from the cart.\n   *\n   * > **Note:** `options.channelType` is a required field.\n   * @param _id - Cart ID.\n   * @public\n   * @requiredField _id\n   * @param options - Checkout creation options.\n   * @permissionId ECOM.CREATE_CHECKOUT_FROM_CART\n   * @returns Fulfilled - ID of the newly created checkout.\n   */\n  function createCheckout$1(_id: string, options?: CreateCheckoutOptions$1): Promise<CreateCheckoutResponse$2>;\n  interface CreateCheckoutOptions$1 {\n      /** **Required**. Sales channel type. */\n      channelType?: ChannelType$6;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$a;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$a;\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$2;\n      /** Mandatory when setting a billing or shipping address if the site visitor isn't logged in. */\n      email?: string | null;\n  }\n  /**\n   * Removes the coupon from a specified cart.\n   *\n   *\n   * The `removeCoupon()` function returns a Promise that resolves to the updated cart when the coupon is removed from the specified cart.\n   * @param _id - Cart ID.\n   * @public\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_CARTS\n   * @returns Fulfilled - Updated cart.\n   */\n  function removeCoupon$1(_id: string): Promise<RemoveCouponResponse$2>;\n  /**\n   * Updates the quantity of one or more line items in a specified cart.\n   *\n   *\n   * The `updateLineItemsQuantity()` function returns a Promise that resolves when the quantities of the specified cart's line items are updated.\n   *\n   * This endpoint is only for updating the quantity of line items. To entirely remove a line item from the cart, use [`removeLineItems()`](#removelineitems). To add a new line item to the cart, use [`addToCart()`](#addtocart).\n   *\n   * This endpoint checks the amount of stock remaining for this line item. If the specified `quantity` is greater than the remaining stock, then the `quantity` returned in the response is the total amount of remaining stock.\n   * @param _id - Cart ID.\n   * @param lineItems - Line item IDs and their new quantity.\n   * @public\n   * @requiredField _id\n   * @requiredField lineItems\n   * @permissionId ECOM.MODIFY_CARTS\n   * @returns Fulfilled - Updated cart.\n   */\n  function updateLineItemsQuantity$1(_id: string, lineItems: LineItemQuantityUpdate$2[]): Promise<UpdateLineItemsQuantityResponse$2>;\n  /**\n   * Estimates the subtotal and total for current site visitor’s cart. Totals include tax and are based on the selected carrier service, shipping address, and billing information.\n   *\n   *\n   * The `estimateTotals()` function returns a Promise that resolves when the estimated totals are generated.\n   *\n   * > **Note:** Not passing any `options` properties will only estimate the cart items price totals.\n   * @param _id - Cart ID.\n   * @public\n   * @requiredField _id\n   * @param options - Total estimation options.\n   * @permissionId ECOM.READ_CARTS\n   * @returns Fulfilled - Cart's estimated totals.\n   */\n  function estimateTotals(_id: string, options?: EstimateTotalsOptions): Promise<EstimateTotalsResponse$1>;\n  interface EstimateTotalsOptions {\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$2;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$a;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$a;\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: SelectedMemberships$4;\n      /**\n       * Whether to calculate tax in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateTax?: boolean | null;\n      /**\n       * Whether to calculate shipping in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateShipping?: boolean | null;\n  }\n  /**\n   * Deletes a cart.\n   *\n   *\n   * The `deleteCart()` function returns a Promise that resolves when the specified cart is deleted.\n   * @public\n   * @requiredField _id\n   * @param _id - ID of the cart to delete.\n   * @permissionId ECOM.MODIFY_CARTS\n   * @returns Fulfilled - When the cart is deleted. Rejected - Error message.\n   */\n  function deleteCart(_id: string): Promise<void>;\n  \n  const ecomV1CartCart_universal_d_createCart: typeof createCart;\n  type ecomV1CartCart_universal_d_CreateCartOptions = CreateCartOptions;\n  const ecomV1CartCart_universal_d_updateCart: typeof updateCart;\n  type ecomV1CartCart_universal_d_UpdateCartOptions = UpdateCartOptions;\n  const ecomV1CartCart_universal_d_getCart: typeof getCart;\n  const ecomV1CartCart_universal_d_getCartByCheckoutId: typeof getCartByCheckoutId;\n  const ecomV1CartCart_universal_d_internalGetCurrentCart: typeof internalGetCurrentCart;\n  const ecomV1CartCart_universal_d_addToCart: typeof addToCart;\n  type ecomV1CartCart_universal_d_AddToCartOptions = AddToCartOptions;\n  const ecomV1CartCart_universal_d_estimateTotals: typeof estimateTotals;\n  type ecomV1CartCart_universal_d_EstimateTotalsOptions = EstimateTotalsOptions;\n  const ecomV1CartCart_universal_d_deleteCart: typeof deleteCart;\n  namespace ecomV1CartCart_universal_d {\n    export {\n      Cart$1 as Cart,\n      LineItem$6 as LineItem,\n      CatalogReference$8 as CatalogReference,\n      ProductName$5 as ProductName,\n      MultiCurrencyPrice$4 as MultiCurrencyPrice,\n      DescriptionLine$5 as DescriptionLine,\n      DescriptionLineValueOneOf$5 as DescriptionLineValueOneOf,\n      DescriptionLineDescriptionLineValueOneOf$5 as DescriptionLineDescriptionLineValueOneOf,\n      DescriptionLineName$5 as DescriptionLineName,\n      PlainTextValue$5 as PlainTextValue,\n      Color$5 as Color,\n      DescriptionLineType$5 as DescriptionLineType,\n      FocalPoint$6 as FocalPoint,\n      ItemAvailabilityInfo$3 as ItemAvailabilityInfo,\n      ItemAvailabilityStatus$3 as ItemAvailabilityStatus,\n      PhysicalProperties$7 as PhysicalProperties,\n      Scope$4 as Scope,\n      Group$4 as Group,\n      ItemType$6 as ItemType,\n      ItemTypeItemTypeDataOneOf$6 as ItemTypeItemTypeDataOneOf,\n      ItemTypeItemType$6 as ItemTypeItemType,\n      SubscriptionOptionInfo$4 as SubscriptionOptionInfo,\n      SubscriptionSettings$7 as SubscriptionSettings,\n      SubscriptionFrequency$7 as SubscriptionFrequency,\n      FreeTrialPeriod$3 as FreeTrialPeriod,\n      Title$3 as Title,\n      Description$3 as Description,\n      SecuredMedia$4 as SecuredMedia,\n      FileType$4 as FileType,\n      V1PaymentOptionType$2 as V1PaymentOptionType,\n      ServiceProperties$5 as ServiceProperties,\n      PriceDescription$5 as PriceDescription,\n      SelectedMembership$4 as SelectedMembership,\n      CatalogOverrideFields$3 as CatalogOverrideFields,\n      PaymentOption$3 as PaymentOption,\n      TaxableAddress$6 as TaxableAddress,\n      TaxableAddressTaxableAddressDataOneOf$6 as TaxableAddressTaxableAddressDataOneOf,\n      TaxableAddressType$6 as TaxableAddressType,\n      ExtendedFields$a as ExtendedFields,\n      Policy$3 as Policy,\n      BuyerInfo$7 as BuyerInfo,\n      BuyerInfoIdOneOf$5 as BuyerInfoIdOneOf,\n      WeightUnit$8 as WeightUnit,\n      CartDiscount$1 as CartDiscount,\n      CartDiscountDiscountSourceOneOf$1 as CartDiscountDiscountSourceOneOf,\n      Coupon$6 as Coupon,\n      MerchantDiscount$6 as MerchantDiscount,\n      V1DiscountRule$1 as V1DiscountRule,\n      V1DiscountRuleName$1 as V1DiscountRuleName,\n      AddressWithContact$5 as AddressWithContact,\n      Address$a as Address,\n      StreetAddress$9 as StreetAddress,\n      AddressLocation$9 as AddressLocation,\n      FullAddressContactDetails$6 as FullAddressContactDetails,\n      VatId$7 as VatId,\n      VatType$7 as VatType,\n      SelectedShippingOption$2 as SelectedShippingOption,\n      GetCurrentCartRequest$1 as GetCurrentCartRequest,\n      GetCurrentCartResponse$1 as GetCurrentCartResponse,\n      UpdateCartRequest$1 as UpdateCartRequest,\n      MerchantDiscountInput$3 as MerchantDiscountInput,\n      CustomLineItem$4 as CustomLineItem,\n      UpdateCartResponse$1 as UpdateCartResponse,\n      AddToCurrentCartRequest$1 as AddToCurrentCartRequest,\n      AddToCartResponse$1 as AddToCartResponse,\n      AddToCurrentCartAndEstimateTotalsRequest$1 as AddToCurrentCartAndEstimateTotalsRequest,\n      SelectedMemberships$4 as SelectedMemberships,\n      HostSelectedMembership$1 as HostSelectedMembership,\n      EstimateTotalsResponse$1 as EstimateTotalsResponse,\n      CalculatedLineItem$2 as CalculatedLineItem,\n      LineItemPricesData$2 as LineItemPricesData,\n      ItemTaxFullDetails$6 as ItemTaxFullDetails,\n      TaxRateBreakdown$4 as TaxRateBreakdown,\n      TaxBreakdown$4 as TaxBreakdown,\n      JurisdictionType$6 as JurisdictionType,\n      PriceSummary$6 as PriceSummary,\n      GiftCard$6 as GiftCard,\n      TaxSummary$6 as TaxSummary,\n      TaxCalculationDetails$4 as TaxCalculationDetails,\n      TaxCalculationDetailsCalculationDetailsOneOf$4 as TaxCalculationDetailsCalculationDetailsOneOf,\n      RateType$4 as RateType,\n      ManualCalculationReason$4 as ManualCalculationReason,\n      AutoTaxFallbackCalculationDetails$4 as AutoTaxFallbackCalculationDetails,\n      FallbackReason$4 as FallbackReason,\n      ApplicationError$b as ApplicationError,\n      AggregatedTaxBreakdown$4 as AggregatedTaxBreakdown,\n      ShippingInformation$4 as ShippingInformation,\n      ShippingRegion$6 as ShippingRegion,\n      SelectedCarrierServiceOption$4 as SelectedCarrierServiceOption,\n      DeliveryLogistics$7 as DeliveryLogistics,\n      PickupDetails$8 as PickupDetails,\n      PickupMethod$7 as PickupMethod,\n      DeliveryTimeSlot$7 as DeliveryTimeSlot,\n      SelectedCarrierServiceOptionPrices$4 as SelectedCarrierServiceOptionPrices,\n      SelectedCarrierServiceOptionOtherCharge$4 as SelectedCarrierServiceOptionOtherCharge,\n      ChargeType$6 as ChargeType,\n      DeliveryAllocation$5 as DeliveryAllocation,\n      Carrier$5 as Carrier,\n      Region$5 as Region,\n      ApplicableLineItems$5 as ApplicableLineItems,\n      CarrierServiceOption$4 as CarrierServiceOption,\n      ShippingOption$6 as ShippingOption,\n      ShippingPrice$6 as ShippingPrice,\n      OtherCharge$4 as OtherCharge,\n      AppliedDiscount$6 as AppliedDiscount,\n      AppliedDiscountDiscountSourceOneOf$6 as AppliedDiscountDiscountSourceOneOf,\n      DiscountType$6 as DiscountType,\n      V1Coupon$1 as V1Coupon,\n      V1MerchantDiscount$1 as V1MerchantDiscount,\n      DiscountRule$6 as DiscountRule,\n      DiscountRuleName$6 as DiscountRuleName,\n      LineItemDiscount$6 as LineItemDiscount,\n      CalculationErrors$5 as CalculationErrors,\n      CalculationErrorsShippingCalculationErrorOneOf$5 as CalculationErrorsShippingCalculationErrorOneOf,\n      Details$6 as Details,\n      DetailsKindOneOf$6 as DetailsKindOneOf,\n      ValidationError$6 as ValidationError,\n      RuleType$6 as RuleType,\n      FieldViolation$6 as FieldViolation,\n      SystemError$6 as SystemError,\n      CarrierErrors$5 as CarrierErrors,\n      CarrierError$6 as CarrierError,\n      MembershipOptions$4 as MembershipOptions,\n      Membership$4 as Membership,\n      MembershipName$6 as MembershipName,\n      MembershipPaymentCredits$4 as MembershipPaymentCredits,\n      InvalidMembership$4 as InvalidMembership,\n      AdditionalFee$6 as AdditionalFee,\n      Violation$3 as Violation,\n      Severity$3 as Severity,\n      Target$3 as Target,\n      TargetTargetTypeOneOf$3 as TargetTargetTypeOneOf,\n      NameInOther$3 as NameInOther,\n      NameInLineItem$3 as NameInLineItem,\n      SuggestedFix$3 as SuggestedFix,\n      Other$3 as Other,\n      TargetLineItem$3 as TargetLineItem,\n      RemoveLineItemsFromCurrentCartRequest$1 as RemoveLineItemsFromCurrentCartRequest,\n      RemoveLineItemsResponse$2 as RemoveLineItemsResponse,\n      CreateCheckoutFromCurrentCartRequest$1 as CreateCheckoutFromCurrentCartRequest,\n      ChannelType$6 as ChannelType,\n      CreateCheckoutResponse$2 as CreateCheckoutResponse,\n      RemoveCouponFromCurrentCartRequest$1 as RemoveCouponFromCurrentCartRequest,\n      RemoveCouponResponse$2 as RemoveCouponResponse,\n      UpdateCurrentCartLineItemQuantityRequest$1 as UpdateCurrentCartLineItemQuantityRequest,\n      LineItemQuantityUpdate$2 as LineItemQuantityUpdate,\n      UpdateLineItemsQuantityResponse$2 as UpdateLineItemsQuantityResponse,\n      EstimateCurrentCartTotalsRequest$1 as EstimateCurrentCartTotalsRequest,\n      DeleteCurrentCartRequest$1 as DeleteCurrentCartRequest,\n      DeleteCartResponse$1 as DeleteCartResponse,\n      DomainEvent$i as DomainEvent,\n      DomainEventBodyOneOf$i as DomainEventBodyOneOf,\n      EntityCreatedEvent$i as EntityCreatedEvent,\n      RestoreInfo$i as RestoreInfo,\n      EntityUpdatedEvent$i as EntityUpdatedEvent,\n      EntityDeletedEvent$i as EntityDeletedEvent,\n      ActionEvent$i as ActionEvent,\n      MessageEnvelope$h as MessageEnvelope,\n      IdentificationData$i as IdentificationData,\n      IdentificationDataIdOneOf$i as IdentificationDataIdOneOf,\n      WebhookIdentityType$h as WebhookIdentityType,\n      CreateCartRequest$1 as CreateCartRequest,\n      CreateCartResponse$1 as CreateCartResponse,\n      GetCartRequest$1 as GetCartRequest,\n      GetCartResponse$1 as GetCartResponse,\n      GetCartByCheckoutIdRequest$1 as GetCartByCheckoutIdRequest,\n      GetCartByCheckoutIdResponse$1 as GetCartByCheckoutIdResponse,\n      AddToCartRequest$1 as AddToCartRequest,\n      RemoveLineItemsRequest$2 as RemoveLineItemsRequest,\n      CreateCheckoutRequest$2 as CreateCheckoutRequest,\n      RemoveCouponRequest$2 as RemoveCouponRequest,\n      UpdateLineItemsQuantityRequest$2 as UpdateLineItemsQuantityRequest,\n      EstimateTotalsRequest$1 as EstimateTotalsRequest,\n      DeleteCartRequest$1 as DeleteCartRequest,\n      Empty$b as Empty,\n      ecomV1CartCart_universal_d_createCart as createCart,\n      ecomV1CartCart_universal_d_CreateCartOptions as CreateCartOptions,\n      ecomV1CartCart_universal_d_updateCart as updateCart,\n      ecomV1CartCart_universal_d_UpdateCartOptions as UpdateCartOptions,\n      ecomV1CartCart_universal_d_getCart as getCart,\n      ecomV1CartCart_universal_d_getCartByCheckoutId as getCartByCheckoutId,\n      ecomV1CartCart_universal_d_internalGetCurrentCart as internalGetCurrentCart,\n      ecomV1CartCart_universal_d_addToCart as addToCart,\n      ecomV1CartCart_universal_d_AddToCartOptions as AddToCartOptions,\n      removeLineItems$1 as removeLineItems,\n      createCheckout$1 as createCheckout,\n      CreateCheckoutOptions$1 as CreateCheckoutOptions,\n      removeCoupon$1 as removeCoupon,\n      updateLineItemsQuantity$1 as updateLineItemsQuantity,\n      ecomV1CartCart_universal_d_estimateTotals as estimateTotals,\n      ecomV1CartCart_universal_d_EstimateTotalsOptions as EstimateTotalsOptions,\n      ecomV1CartCart_universal_d_deleteCart as deleteCart,\n    };\n  }\n  \n  interface Cart {\n      /** Cart ID. */\n      _id?: string | null;\n      /**\n       * Line items.\n       * @readonly\n       */\n      lineItems?: LineItem$5[];\n      /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n      buyerNote?: string | null;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$6;\n      /**\n       * Currency used for pricing.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Currency code used for all the converted prices that are returned.\n       * For a site that supports multiple currencies, this is the currency the buyer selected.\n       * @readonly\n       */\n      conversionCurrency?: string;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       * @readonly\n       */\n      buyerLanguage?: string | null;\n      /**\n       * Site language in which original values are displayed.\n       * @readonly\n       */\n      siteLanguage?: string | null;\n      /**\n       * Whether tax is included in line item prices.\n       * @readonly\n       */\n      taxIncludedInPrices?: boolean | null;\n      /**\n       * Weight measurement unit - defaults to site's weight unit.\n       * @readonly\n       */\n      weightUnit?: WeightUnit$7;\n      /**\n       * Combined price of all line items before discounts. Subtotal includes tax if `cart.tax_included_in_prices` is set to `true`.\n       * @internal\n       * @readonly\n       */\n      subtotal?: MultiCurrencyPrice$3;\n      /**\n       * Combined price of all line items after discounts.\n       * @internal\n       * @readonly\n       */\n      subtotalAfterDiscounts?: MultiCurrencyPrice$3;\n      /**\n       * ID of the checkout that originated from this cart.\n       * @readonly\n       */\n      checkoutId?: string | null;\n      /**\n       * Cart discounts.\n       * @readonly\n       */\n      appliedDiscounts?: CartDiscount[];\n      /**\n       * Date and time the cart was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the cart was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Contact info. */\n      contactInfo?: AddressWithContact$4;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /**\n       * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n       *\n       * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n       */\n      overrideCheckoutUrl?: string | null;\n      /**\n       * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n       * @readonly\n       */\n      purchaseFlowId?: string | null;\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$1;\n      /**\n       * Fields extended by data extensions\n       * @internal\n       */\n      extendedFields?: ExtendedFields$9;\n  }\n  interface LineItem$5 {\n      /**\n       * Line item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Item quantity. */\n      quantity?: number;\n      /** Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$7;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       * @readonly\n       */\n      productName?: ProductName$4;\n      /**\n       * URL to the item's page on the site.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Item price **after** catalog-defined discount and line item discounts.\n       * @readonly\n       */\n      price?: MultiCurrencyPrice$3;\n      /**\n       * Item price **before** catalog-defined discount. Defaults to `price` when not provided.\n       * @readonly\n       */\n      fullPrice?: MultiCurrencyPrice$3;\n      /**\n       * Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.\n       * @readonly\n       */\n      priceBeforeDiscounts?: MultiCurrencyPrice$3;\n      /**\n       * Total price **after** catalog-defined discount and line item discounts.\n       * @internal\n       * @readonly\n       */\n      lineItemPrice?: MultiCurrencyPrice$3;\n      /**\n       * Line item description lines. Used for displaying the cart, checkout and order.\n       * @readonly\n       */\n      descriptionLines?: DescriptionLine$4[];\n      /**\n       * Line item image details.\n       * @readonly\n       */\n      image?: string;\n      /**\n       * Item availability details.\n       * @readonly\n       */\n      availability?: ItemAvailabilityInfo$2;\n      /**\n       * Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.\n       * @readonly\n       */\n      physicalProperties?: PhysicalProperties$6;\n      /**\n       * Coupon scopes - which app and items a coupon applies to.\n       * This field is internal to Wix, and should be used by Bookings, Stores and Events as used by the current [Coupons API](https://bo.wix.com/wix-docs/rest/stores/coupons/valid-scope-values).\n       * @internal\n       * @readonly\n       */\n      couponScopes?: Scope$3[];\n      /**\n       * Item type. Either a preset type or custom.\n       * @readonly\n       */\n      itemType?: ItemType$5;\n      /**\n       * Subscription option information.\n       * @internal\n       * @readonly\n       */\n      subscriptionOptionInfo?: SubscriptionOptionInfo$3;\n      /**\n       * Digital file identifier, relevant only for items with type DIGITAL.\n       * @internal\n       * @readonly\n       */\n      digitalFile?: SecuredMedia$3;\n      /**\n       * Type of selected payment option for current item. Defaults to `\"FULL_PAYMENT_ONLINE\"`.\n       * + `\"FULL_PAYMENT_ONLINE\"` - The entire payment for this item happens as part of the checkout.\n       * + `\"FULL_PAYMENT_OFFLINE\"` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `\"MEMBERSHIP\"` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` will be 0.\n       * @readonly\n       */\n      paymentOption?: V1PaymentOptionType$1;\n      /**\n       * Service properties. When relevant, this contains information such as date and number of participants.\n       * @readonly\n       */\n      serviceProperties?: ServiceProperties$4;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + in most cases, this field is the same as `catalogReference.catalogItemId`.\n       * + Used in membership validation.\n       * @readonly\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".\n       * @readonly\n       */\n      priceDescription?: PriceDescription$4;\n      /**\n       * Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.\n       * @readonly\n       */\n      depositAmount?: MultiCurrencyPrice$3;\n      /** Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`. */\n      selectedMembership?: SelectedMembership$3;\n      /**\n       * The Item's Delivery Profile Id\n       * @internal\n       * @readonly\n       */\n      deliveryProfileId?: string | null;\n      /**\n       * Tax group ID for this line item.\n       * @readonly\n       */\n      taxGroupId?: string | null;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @readonly\n       */\n      customLineItem?: boolean;\n      /**\n       * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n       * @readonly\n       */\n      consentRequiredPaymentPolicy?: string | null;\n      /**\n       * Shipping group ID.\n       * @internal\n       * @readonly\n       */\n      shippingGroupId?: string | null;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       * @internal\n       * @readonly\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       * @internal\n       * @readonly\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Overriding values for catalog item properties.\n       *\n       * To override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      catalogOverrideFields?: CatalogOverrideFields$2;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      savePaymentMethod?: boolean;\n      /**\n       * Address to be used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress$5;\n      /**\n       * Custom extended fields for the line item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$9;\n      /**\n       * Policies to be displayed to the customer on the checkout page.\n       * @internal\n       * @readonly\n       */\n      policies?: Policy$2[];\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$7 {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs.\n       *\n       * Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from your Wix Stores catalog, learn more about [eCommerce integration](https://www.wix.com/velo/reference/wix-stores-backend/ecommerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface ProductName$4 {\n      /** **Required** - Original product name (in site's default language). */\n      original?: string;\n      /** Description product name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  interface MultiCurrencyPrice$3 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface DescriptionLine$4 extends DescriptionLineValueOneOf$4, DescriptionLineDescriptionLineValueOneOf$4 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$4;\n      /** Description line color value. */\n      colorInfo?: Color$4;\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$4;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n      /** Description line name. */\n      name?: DescriptionLineName$4;\n      /**\n       * Description line type.\n       * @internal\n       * @deprecated\n       */\n      lineType?: DescriptionLineType$4;\n  }\n  /** @oneof */\n  interface DescriptionLineValueOneOf$4 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$4;\n      /** Description line color value. */\n      colorInfo?: Color$4;\n  }\n  /** @oneof */\n  interface DescriptionLineDescriptionLineValueOneOf$4 {\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$4;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n  }\n  interface DescriptionLineName$4 {\n      /** Description line name in site's default language. */\n      original?: string;\n      /** Description line name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  interface PlainTextValue$4 {\n      /** Description line plain text value in site's default language. */\n      original?: string;\n      /** Description line plain text value translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  interface Color$4 {\n      /** Description line color name in site's default language. */\n      original?: string;\n      /** Description line color name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n      /**\n       * HEX or RGB color code for display.\n       *\n       */\n      code?: string | null;\n  }\n  enum DescriptionLineType$4 {\n      /** Unrecognized type. */\n      UNRECOGNISED = \"UNRECOGNISED\",\n      /** Plain text type. */\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      /** Color type. */\n      COLOR = \"COLOR\"\n  }\n  interface FocalPoint$5 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface ItemAvailabilityInfo$2 {\n      /**\n       * Item availability status.\n       *\n       * NOT_FOUND - Item does not exist.\n       * NOT_AVAILABLE - Not in stock.\n       * PARTIALLY_AVAILABLE - Available quantity is less than requested.\n       */\n      status?: ItemAvailabilityStatus$2;\n      /** Quantity available. */\n      quantityAvailable?: number | null;\n  }\n  enum ItemAvailabilityStatus$2 {\n      AVAILABLE = \"AVAILABLE\",\n      /** Item does not exist */\n      NOT_FOUND = \"NOT_FOUND\",\n      /** Item not in stock */\n      NOT_AVAILABLE = \"NOT_AVAILABLE\",\n      /** Available quantity is less than requested */\n      PARTIALLY_AVAILABLE = \"PARTIALLY_AVAILABLE\"\n  }\n  interface PhysicalProperties$6 {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface Scope$3 {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */\n      group?: Group$3;\n  }\n  interface Group$3 {\n      /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      name?: string;\n      /** Item ID (when the coupon scope is limited to just one item). */\n      entityId?: string | null;\n  }\n  interface ItemType$5 extends ItemTypeItemTypeDataOneOf$5 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$5;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf$5 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$5;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType$5 {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  interface SubscriptionOptionInfo$3 {\n      /** Subscription option settings. */\n      subscriptionSettings?: SubscriptionSettings$6;\n      /** Subscription option title. */\n      title?: Title$2;\n      /** Subscription option description. */\n      description?: Description$2;\n  }\n  interface SubscriptionSettings$6 {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency$6;\n      /**\n       * Interval of recurring payment.\n       *\n       * Default: `1`.\n       * If SubscriptionFrequency is Day the minimum interval is 7\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription..\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n      /**\n       * Period until first cycle starts. If applied payNow will be 0\n       * If None => no free trial\n       * @internal\n       */\n      freeTrialPeriod?: FreeTrialPeriod$2;\n      /**\n       * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * Whether to generate an order each billing cycle. An order will always be generated for the first billing cycle.\n       * Default None => will behave like true\n       * @internal\n       */\n      generateOrderEachBillingCycle?: boolean | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency$6 {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface FreeTrialPeriod$2 {\n      /** Frequency of priod. Values: DAY, WEEK, MONTH, YEAR */\n      frequency?: SubscriptionFrequency$6;\n      /** interval of period */\n      interval?: number;\n  }\n  interface Title$2 {\n      /** Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Subscription option name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Description$2 {\n      /** Subscription option description. */\n      original?: string;\n      /** Translated subscription option description. */\n      translated?: string | null;\n  }\n  interface SecuredMedia$3 {\n      /** Media ID in Wix Media Manager. */\n      _id?: string;\n      /** Original filename. */\n      fileName?: string;\n      /** File type. */\n      fileType?: FileType$3;\n  }\n  enum FileType$3 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  /** Type of selected payment option for catalog item */\n  enum V1PaymentOptionType$1 {\n      /** The entire payment for this item happens as part of the checkout. */\n      FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n      /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /** Payment for this item is done by charging a membership. When selected, `price` is `0`. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n      DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\",\n      /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface ServiceProperties$4 {\n      /** The date and time for which the service is supposed to be provided. For example, the time of the class. */\n      scheduledDate?: Date | null;\n      /** The number of people participating in this service. For example, the number of people attending the class or the number of people per hotel room. */\n      numberOfParticipants?: number | null;\n  }\n  interface PriceDescription$4 {\n      /**\n       * **Required** - Original price description (in site's default language).\n       *\n       */\n      original?: string;\n      /** Product name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  /** Selected Membership */\n  interface SelectedMembership$3 {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the app providing this payment option. */\n      appId?: string;\n  }\n  interface CatalogOverrideFields$2 {\n      /** Item name. */\n      productName?: ProductName$4;\n      /** Item price **after** discounts. */\n      price?: string | null;\n      /** Item price **before** discounts. */\n      fullPrice?: string | null;\n      /** Item description lines. Used when displaying the line item to customers. */\n      descriptionLines?: DescriptionLine$4[];\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties$6;\n      /** Item image. */\n      image?: string;\n      /** Payment method selected for the item. */\n      paymentOption?: PaymentOption$2;\n      /** Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`. */\n      depositAmount?: string | null;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       */\n      savePaymentMethod?: boolean | null;\n  }\n  interface PaymentOption$2 {\n      /**\n       * + `FULL_PAYMENT_ONLINE`: The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE`: The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP`: Payment for this item is done by charging a membership. When selected, `price` is `0`.\n       * + `DEPOSIT_ONLINE`: Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is specified in `depositAmount`.\n       * + `MEMBERSHIP_OFFLINE`: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.\n       */\n      value?: V1PaymentOptionType$1;\n  }\n  interface TaxableAddress$5 extends TaxableAddressTaxableAddressDataOneOf$5 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$5;\n  }\n  /** @oneof */\n  interface TaxableAddressTaxableAddressDataOneOf$5 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$5;\n  }\n  enum TaxableAddressType$5 {\n      UNKNOWN_TAXABLE_ADDRESS = \"UNKNOWN_TAXABLE_ADDRESS\",\n      BUSINESS = \"BUSINESS\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface ExtendedFields$9 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface Policy$2 {\n      /** Policy title - should be translated */\n      title?: string | null;\n      /** Policy content - should be translated */\n      content?: string;\n  }\n  /** Buyer Info */\n  interface BuyerInfo$6 extends BuyerInfoIdOneOf$4 {\n      /**\n       * Visitor ID - if the buyer is **not** a site member.\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID - if the buyer is a site member.\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * User ID - if the cart owner is a Wix user.\n       * @readonly\n       */\n      userId?: string;\n      /** Contact ID. For more information, see the Contacts API. */\n      contactId?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface BuyerInfoIdOneOf$4 {\n      /**\n       * Visitor ID - if the buyer is **not** a site member.\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID - if the buyer is a site member.\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * User ID - if the cart owner is a Wix user.\n       * @readonly\n       */\n      userId?: string;\n  }\n  enum WeightUnit$7 {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface CartDiscount extends CartDiscountDiscountSourceOneOf {\n      /** Coupon details. */\n      coupon?: Coupon$5;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$5;\n      /**\n       * Discount rule\n       * @internal\n       */\n      discountRule?: V1DiscountRule;\n      /** @internal */\n      lineItemIds?: string[];\n  }\n  /** @oneof */\n  interface CartDiscountDiscountSourceOneOf {\n      /** Coupon details. */\n      coupon?: Coupon$5;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$5;\n      /**\n       * Discount rule\n       * @internal\n       */\n      discountRule?: V1DiscountRule;\n  }\n  interface Coupon$5 {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /**\n       * Coupon value.\n       * @internal\n       */\n      amount?: MultiCurrencyPrice$3;\n  }\n  interface MerchantDiscount$5 {\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$3;\n  }\n  interface V1DiscountRule {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: V1DiscountRuleName;\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$3;\n  }\n  interface V1DiscountRuleName {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact$4 {\n      /** Address. */\n      address?: Address$9;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails$5;\n  }\n  /** Physical address */\n  interface Address$9 {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress$8;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation$8;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress$8 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$8 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails$5 {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId$6;\n  }\n  interface VatId$6 {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType$6;\n  }\n  /** tax info types */\n  enum VatType$6 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface SelectedShippingOption$1 {\n      /** Carrier ID. */\n      carrierId?: string | null;\n      /** Selected shipping option code. For example, \"usps_std_overnight\". */\n      code?: string;\n  }\n  interface GetCurrentCartRequest {\n  }\n  interface GetCurrentCartResponse {\n      /** Current session's active cart. */\n      cart?: Cart;\n  }\n  interface UpdateCartRequest {\n      /** Cart info. */\n      cartInfo?: Cart;\n      /** The code of an existing coupon to apply to the cart. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart. */\n      merchantDiscounts?: MerchantDiscountInput$2[];\n      /** Catalog line items. */\n      lineItems?: LineItem$5[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$3[];\n      /**\n       * List of field names to determine which of cartInfo's fields will be updated\n       * @internal\n       */\n      cartFieldmask?: string[];\n  }\n  interface MerchantDiscountInput$2 {\n      /** Discount amount. */\n      amount?: string;\n      /** IDs of the line items the discount applies to. */\n      lineItemIds?: string[];\n  }\n  interface CustomLineItem$3 {\n      /**\n       * Custom line item quantity.\n       *\n       * Min: `1`\n       * Max: `100000`\n       */\n      quantity?: number;\n      /**\n       * Custom line item price.\n       *\n       * Must be a number or a decimal without symbols.\n       */\n      price?: string;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription$4;\n      /** Custom line item description lines. Used for displaying the cart, checkout and order. */\n      descriptionLines?: DescriptionLine$4[];\n      /**\n       * Custom line item media. Supported formats:\n       * + Link to an image/video from the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) - `\"wix:image://v1/3c76e2_c53...4ea4~mv2.jpg#originWidth=1000&originHeight=1000\"`.\n       * + An image from the web - `\"http(s)://<image url>\"`.\n       */\n      media?: string;\n      /**\n       * Custom line item ID. If passed, `id` must be unique.\n       *\n       * Default: auto-generated ID\n       */\n      _id?: string | null;\n      /** Tax group ID for this custom line item. */\n      taxGroupId?: string | null;\n      /** Name of the item or product. */\n      productName?: ProductName$4;\n      /** URL to the item's page on the site. When not provided, the link back from the cart page to the relevant product page will not work. */\n      url?: string;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType$5;\n      /** Item price **before** catalog-defined discount. Defaults to `price` when not provided. */\n      fullPrice?: string | null;\n      /**\n       * Item quantity available for purchase. Only return this if inventory is managed.\n       * Not returning this field means that the buyer can \"infinitely\" tick up the number of items in the cart.\n       */\n      quantityAvailable?: number | null;\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties$6;\n      /**\n       * Subscription option info. This field is internal and only used by Stores.\n       * @internal\n       */\n      subscriptionOptionInfo?: SubscriptionOptionInfo$3;\n      /**\n       * Digital file ID and name. Required if `itemType: DIGITAL`.\n       * @internal\n       */\n      digitalFile?: SecuredMedia$3;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       *\n       * + `FULL_PAYMENT_ONLINE` - Entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE` - Entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `DEPOSIT_ONLINE` -  Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.\n       */\n      paymentOption?: V1PaymentOptionType$1;\n      /**\n       * Service properties. When relevant, this contains information such as date and number of participants.\n       * Used, among other things, when checking for valid memberships.\n       */\n      serviceProperties?: ServiceProperties$4;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       *\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field is the same as `catalogReference.catalogItemId`.\n       * + Used in membership validation.\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Partial payment for the given item to be paid upfront during the checkout.\n       *\n       * Eligible for catalog items with type `DEPOSIT_ONLINE`.\n       * When omitted, the item's price will not be split and is expected to be paid in a single installment.\n       */\n      depositAmount?: string | null;\n      /**\n       * Delivery Profile ID.\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$7;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       *\n       * Default: `false`\n       * @internal\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n       * @readonly\n       */\n      consentRequiredPaymentPolicy?: string | null;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      savePaymentMethod?: boolean;\n      /**\n       * Policies to be displayed to the customer on the checkout page.\n       * @internal\n       */\n      policies?: Policy$2[];\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n  }\n  interface UpdateCartResponse {\n      /** Updated Cart. */\n      cart?: Cart;\n  }\n  interface AddToCurrentCartRequest {\n      /** Catalog line items. */\n      lineItems?: LineItem$5[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$3[];\n  }\n  interface AddToCartResponse {\n      /** Updated cart. */\n      cart?: Cart;\n  }\n  interface AddToCurrentCartAndEstimateTotalsRequest {\n      /** Catalog line items. */\n      lineItems?: LineItem$5[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$3[];\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$1;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$9;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$9;\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: SelectedMemberships$3;\n      /**\n       * Whether to calculate tax in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateTax?: boolean | null;\n      /**\n       * Whether to calculate shipping in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateShipping?: boolean | null;\n  }\n  interface SelectedMemberships$3 {\n      /** Selected memberships. */\n      memberships?: HostSelectedMembership[];\n  }\n  interface HostSelectedMembership {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the app providing this payment option. */\n      appId?: string;\n      /** IDs of the line items this membership applies to. */\n      lineItemIds?: string[];\n  }\n  interface EstimateTotalsResponse {\n      /** Cart. */\n      cart?: Cart;\n      /** Calculated line items. */\n      calculatedLineItems?: CalculatedLineItem$1[];\n      /** Price summary. */\n      priceSummary?: PriceSummary$5;\n      /** Applied gift card. */\n      giftCard?: GiftCard$5;\n      /** Tax summary. */\n      taxSummary?: TaxSummary$5;\n      /** Shipping information. */\n      shippingInfo?: ShippingInformation$3;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount$5[];\n      /** Calculation errors. */\n      calculationErrors?: CalculationErrors$4;\n      /** Weight measurement unit - defaults to site's weight unit. */\n      weightUnit?: WeightUnit$7;\n      /** Currency used for pricing in this store. */\n      currency?: string;\n      /**\n       * Minimal amount to pay in order to place the order.\n       * @readonly\n       */\n      payNow?: PriceSummary$5;\n      /**\n       * Remaining amount for the order to be fully paid.\n       * @readonly\n       */\n      payLater?: PriceSummary$5;\n      /** Information about valid and invalid memberships, and which ones are selected for usage. */\n      membershipOptions?: MembershipOptions$3;\n      /** Additional fees */\n      additionalFees?: AdditionalFee$5[];\n      /**\n       * List of validation violations raised by the [Validations Custom Extension SPI](https://www.wix.com/velo/reference/spis/wix-ecom/ecom-validations/introduction).\n       * @readonly\n       */\n      violations?: Violation$2[];\n  }\n  interface CalculatedLineItem$1 {\n      /** Line item ID. */\n      lineItemId?: string;\n      /** Price breakdown for this line item. */\n      pricesBreakdown?: LineItemPricesData$1;\n      /**\n       * Type of selected payment option for current item. Defaults to `\"FULL_PAYMENT_ONLINE\"`.\n       * + `\"FULL_PAYMENT_ONLINE\"` - The entire payment for this item happens as part of the checkout.\n       * + `\"FULL_PAYMENT_OFFLINE\"` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `\"MEMBERSHIP\"` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` will be 0.\n       */\n      paymentOption?: V1PaymentOptionType$1;\n      /**\n       * tax calculation address.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress$5;\n  }\n  interface LineItemPricesData$1 {\n      /** Total price after discounts and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice$3;\n      /** Total price after discounts, and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice$3;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$5;\n      /** Total discount for all line items. */\n      totalDiscount?: MultiCurrencyPrice$3;\n      /** Catalog price after catalog discount and automatic discounts. */\n      price?: MultiCurrencyPrice$3;\n      /** Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided. */\n      priceBeforeDiscounts?: MultiCurrencyPrice$3;\n      /** Total price **after** catalog-defined discount and line item discounts. */\n      lineItemPrice?: MultiCurrencyPrice$3;\n      /** Item price **before** line item discounts and **before** catalog-defined discount. Defaults to `price` when not provided. */\n      fullPrice?: MultiCurrencyPrice$3;\n  }\n  interface ItemTaxFullDetails$5 {\n      /** Amount for which tax is calculated. */\n      taxableAmount?: MultiCurrencyPrice$3;\n      /**\n       * Tax group ID, if specified.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /** Tax rate %, as a decimal point between 0 and 1. */\n      taxRate?: string;\n      /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n      totalTax?: MultiCurrencyPrice$3;\n      /**\n       * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead.\n       * @readonly\n       * @deprecated\n       */\n      rateBreakdown?: TaxRateBreakdown$3[];\n      /**\n       * The amount of this line item that was exempt.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice$3;\n      /**\n       * True for items we have a tax applied on them\n       * @internal\n       */\n      isItemTaxable?: boolean | null;\n      /**\n       * True if the lineAmount include tax in it.\n       * @internal\n       */\n      isTaxIncluded?: boolean | null;\n      /**\n       * The calculator that calculated this line tax\n       * @internal\n       */\n      calculatorName?: string | null;\n      /**\n       * tax information for a line item.\n       * @internal\n       * @readonly\n       */\n      taxBreakdown?: TaxBreakdown$3[];\n  }\n  interface TaxRateBreakdown$3 {\n      /** Name of tax against which the calculation was performed. */\n      name?: string;\n      /** Rate at which this tax detail was calculated. */\n      rate?: string;\n      /** Amount of tax for this tax detail. */\n      tax?: MultiCurrencyPrice$3;\n      /**\n       * The type of tax that was calculated\n       * @internal\n       */\n      taxType?: string | null;\n      /**\n       * The name of the jurisdiction in which this tax detail applies\n       * @internal\n       */\n      jurisdiction?: string | null;\n      /**\n       * The type of the jurisdiction in which this tax detail applies(Country,State,County,City,Special).\n       * @internal\n       */\n      jurisdictionType?: string | null;\n      /**\n       * The amount of this line item that was exempt from this authority.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice$3;\n      /**\n       * ids of the used exemptions from the TaxEstimate exemptions array.\n       * @internal\n       */\n      exemptionIds?: number[];\n      /**\n       * The taxable amount of this tax detail\n       * @internal\n       */\n      taxableAmount?: MultiCurrencyPrice$3;\n      /**\n       * The Taxes/Fee component. True if the fee is applied.\n       * @internal\n       */\n      isFee?: boolean | null;\n  }\n  /**\n   * TaxBreakdown represents tax information for a line item.\n   * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface TaxBreakdown$3 {\n      /** The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** The amount of this line item price that was considered nontaxable. (Decimal value) */\n      nonTaxableAmount?: MultiCurrencyPrice$3;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value) */\n      rate?: string | null;\n      /** The amount of tax estimated for this line item. (Decimal value) */\n      taxAmount?: MultiCurrencyPrice$3;\n      /** The taxable amount of this line item. */\n      taxableAmount?: MultiCurrencyPrice$3;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** The type of the jurisdiction in which this tax detail applies. */\n      jurisdictionType?: JurisdictionType$5;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType$5 {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface PriceSummary$5 {\n      /** Subtotal of all line items, before discounts and before tax. */\n      subtotal?: MultiCurrencyPrice$3;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: MultiCurrencyPrice$3;\n      /** Total tax. */\n      tax?: MultiCurrencyPrice$3;\n      /** Total calculated discount value. */\n      discount?: MultiCurrencyPrice$3;\n      /** Total price after discounts, gift cards, and tax. */\n      total?: MultiCurrencyPrice$3;\n      /** Total additional fees price before tax. */\n      additionalFees?: MultiCurrencyPrice$3;\n  }\n  interface GiftCard$5 {\n      /**\n       * Gift Card ID.\n       * @deprecated\n       */\n      _id?: string;\n      /** Gift card obfuscated code. */\n      obfuscatedCode?: string;\n      /** Gift card value. */\n      amount?: MultiCurrencyPrice$3;\n      /** App ID of the gift card provider. */\n      appId?: string;\n      /**\n       * External ID in the gift card provider's system.\n       * Used for integration and tracking across different platforms.\n       */\n      externalId?: string | null;\n  }\n  interface TaxSummary$5 {\n      /**\n       * Amount for which tax is calculated, added from line items.\n       * @readonly\n       */\n      taxableAmount?: MultiCurrencyPrice$3;\n      /**\n       * Calculated tax, added from line items.\n       * @readonly\n       */\n      totalTax?: MultiCurrencyPrice$3;\n      /**\n       * Manual tax rate\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      manualTaxRate?: string;\n      /**\n       * Tax calculator that was active when the order was created.\n       * @deprecated\n       */\n      calculationDetails?: TaxCalculationDetails$3;\n      /**\n       * Tax estimation id in tax service\n       * @internal\n       * @readonly\n       */\n      taxEstimationId?: string | null;\n      /**\n       * Average Tax Rate\n       * @internal\n       * @readonly\n       */\n      averageTaxRate?: string | null;\n      /**\n       * The amount of this estimate that was exempt (for all line items).\n       * @internal\n       * @readonly\n       */\n      totalExempt?: MultiCurrencyPrice$3;\n      /**\n       * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n       * @internal\n       * @readonly\n       */\n      aggregatedTaxBreakdown?: AggregatedTaxBreakdown$3[];\n  }\n  interface TaxCalculationDetails$3 extends TaxCalculationDetailsCalculationDetailsOneOf$3 {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason$3;\n      /** Error details and reason for tax rate fallback. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails$3;\n      /**\n       * Rate calculation type. Supported values:\n       * + `\"AUTO_RATE\"`\n       * + `\"FALLBACK_RATE\"`\n       * + `\"MANUAL_RATE\"`\n       * + `\"NO_TAX_COLLECTED\"`\n       */\n      rateType?: RateType$3;\n  }\n  /** @oneof */\n  interface TaxCalculationDetailsCalculationDetailsOneOf$3 {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason$3;\n      /** Details of the fallback rate calculation. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails$3;\n  }\n  enum RateType$3 {\n      /** no tax being collected for this request due to location of purchase */\n      NO_TAX_COLLECTED = \"NO_TAX_COLLECTED\",\n      /** manual rate used for calculation */\n      MANUAL_RATE = \"MANUAL_RATE\",\n      /** autotax rate used for calculation */\n      AUTO_RATE = \"AUTO_RATE\",\n      /** fallback rate used for calculation */\n      FALLBACK_RATE = \"FALLBACK_RATE\"\n  }\n  enum ManualCalculationReason$3 {\n      /** user set calculator in Business Manager to be Manual */\n      GLOBAL_SETTING_TO_MANUAL = \"GLOBAL_SETTING_TO_MANUAL\",\n      /** specific region is on manual even though Global setting is Auto-tax */\n      REGION_SETTING_TO_MANUAL = \"REGION_SETTING_TO_MANUAL\"\n  }\n  interface AutoTaxFallbackCalculationDetails$3 {\n      /**\n       * Reason for fallback. Supported values:\n       * + `\"AUTO_TAX_FAILED\"`\n       * + `\"AUTO_TAX_DEACTIVATED\"`\n       */\n      fallbackReason?: FallbackReason$3;\n      /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */\n      error?: ApplicationError$a;\n  }\n  enum FallbackReason$3 {\n      /** auto-tax failed to be calculated */\n      AUTO_TAX_FAILED = \"AUTO_TAX_FAILED\",\n      /** auto-tax was temporarily deactivated on a system-level */\n      AUTO_TAX_DEACTIVATED = \"AUTO_TAX_DEACTIVATED\"\n  }\n  interface ApplicationError$a {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   */\n  interface AggregatedTaxBreakdown$3 {\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdiction?: string;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionTypeEnum?: JurisdictionType$5;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value) */\n      rate?: string;\n      /** The sum of all the tax from line items that calculated by the tax identifiers. */\n      aggregatedTaxAmount?: MultiCurrencyPrice$3;\n      /**\n       * The sum of all the taxable amount from line items for tax identifiers.\n       * @internal\n       */\n      aggregatedTaxableAmount?: MultiCurrencyPrice$3;\n  }\n  interface ShippingInformation$3 {\n      /** Shipping region. */\n      region?: ShippingRegion$5;\n      /** Selected shipping option. */\n      selectedCarrierServiceOption?: SelectedCarrierServiceOption$3;\n      /** All shipping options. */\n      carrierServiceOptions?: CarrierServiceOption$3[];\n  }\n  interface ShippingRegion$5 {\n      /**\n       * Shipping region ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Shipping region name. */\n      name?: string;\n  }\n  interface SelectedCarrierServiceOption$3 {\n      /** Unique identifier of selected option. For example, \"usps_std_overnight\". */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       * @readonly\n       */\n      title?: string;\n      /**\n       * Delivery logistics.\n       * @readonly\n       */\n      logistics?: DeliveryLogistics$6;\n      /**\n       * Shipping costs.\n       * @readonly\n       */\n      cost?: SelectedCarrierServiceOptionPrices$3;\n      /**\n       * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)\n       * @readonly\n       */\n      requestedShippingOption?: boolean;\n      /** Other charges */\n      otherCharges?: SelectedCarrierServiceOptionOtherCharge$3[];\n      /** This carrier's unique ID */\n      carrierId?: string | null;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation$4[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface DeliveryLogistics$6 {\n      /** Expected delivery time, in free text. For example, \"3-5 business days\". */\n      deliveryTime?: string | null;\n      /** Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don't park in disabled parking spot\". */\n      instructions?: string | null;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails$7;\n      /**\n       * Expected delivery time slot (from and to time stamps representation)\n       * @internal\n       */\n      deliveryTimeSlot?: DeliveryTimeSlot$6;\n  }\n  interface PickupDetails$7 {\n      /** Pickup address. */\n      address?: Address$9;\n      /**\n       * Whether the pickup address is that of a business - this may effect tax calculation.\n       * @deprecated\n       */\n      businessLocation?: boolean;\n      /** Pickup method */\n      pickupMethod?: PickupMethod$6;\n  }\n  enum PickupMethod$6 {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot$6 {\n      /** starting time of the delivery time slot */\n      from?: Date | null;\n      /** ending time of the delivery time slot */\n      to?: Date | null;\n  }\n  interface SelectedCarrierServiceOptionPrices$3 {\n      /** Total shipping price, after discount and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice$3;\n      /** Total price of shipping after discounts (when relevant), and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice$3;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$5;\n      /** Shipping discount before tax. */\n      totalDiscount?: MultiCurrencyPrice$3;\n      /** Shipping price before discount and before tax. */\n      price?: MultiCurrencyPrice$3;\n  }\n  interface SelectedCarrierServiceOptionOtherCharge$3 {\n      /** Type of additional cost. */\n      type?: ChargeType$5;\n      /** Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'. */\n      details?: string | null;\n      /** Price of added charge. */\n      cost?: SelectedCarrierServiceOptionPrices$3;\n  }\n  enum ChargeType$5 {\n      HANDLING_FEE = \"HANDLING_FEE\",\n      INSURANCE = \"INSURANCE\"\n  }\n  interface DeliveryAllocation$4 {\n      /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n      deliveryCarrier?: Carrier$4;\n      /** The delivery region that are relevant for this delivery solution. */\n      deliveryRegion?: Region$4;\n      /** Populated if the delivery solution is a partially supplied by this carrier. */\n      applicableLineItems?: ApplicableLineItems$4;\n  }\n  interface Carrier$4 {\n      /** The carrier app id */\n      appId?: string | null;\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n  }\n  interface Region$4 {\n      /** The delivery region id. */\n      _id?: string | null;\n      /** The delivery region name. */\n      name?: string | null;\n  }\n  interface ApplicableLineItems$4 {\n      /** Line items that the delivery solution is for. */\n      lineItemIds?: string[];\n  }\n  interface CarrierServiceOption$3 {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Shipping options offered by this carrier for this request. */\n      shippingOptions?: ShippingOption$5[];\n  }\n  interface ShippingOption$5 {\n      /**\n       * Unique code of provided shipping option like \"usps_std_overnight\".\n       * For legacy calculators this would be the UUID of the option.\n       */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       */\n      title?: string;\n      /** Delivery logistics. */\n      logistics?: DeliveryLogistics$6;\n      /** Sipping price information. */\n      cost?: ShippingPrice$5;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation$4[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface ShippingPrice$5 {\n      /** Shipping price. */\n      price?: MultiCurrencyPrice$3;\n      /** Other costs such as insurance, handling & packaging for fragile items, etc. */\n      otherCharges?: OtherCharge$3[];\n  }\n  interface OtherCharge$3 {\n      /** Type of additional cost. */\n      type?: ChargeType$5;\n      /** Price of added cost. */\n      price?: MultiCurrencyPrice$3;\n  }\n  interface AppliedDiscount$5 extends AppliedDiscountDiscountSourceOneOf$5 {\n      /** Coupon details. */\n      coupon?: V1Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: V1MerchantDiscount;\n      /** Discount rule */\n      discountRule?: DiscountRule$5;\n      /** Discount type. */\n      discountType?: DiscountType$5;\n      /**\n       * IDs of the line items the discount applies to.\n       * @deprecated IDs of line items the discount applies to.\n       * @replacedBy line_items_discounts\n       * @targetRemovalDate 2024-06-01\n       */\n      lineItemIds?: string[];\n      /**\n       * Discount ID.\n       * @internal\n       */\n      _id?: string | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: LineItemDiscount$5[];\n      /**\n       * Number of subscription cycle this discount applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf$5 {\n      /** Coupon details. */\n      coupon?: V1Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: V1MerchantDiscount;\n      /** Discount rule */\n      discountRule?: DiscountRule$5;\n  }\n  enum DiscountType$5 {\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface V1Coupon {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon value. */\n      amount?: MultiCurrencyPrice$3;\n      /** Coupon name. */\n      name?: string;\n      /**\n       * Coupon type: We want it to be an enum and not a string but currently we have no time to do it so we leave it as is to be aligned with cart summary.\n       * @internal\n       * @deprecated\n       */\n      couponType?: string;\n  }\n  interface V1MerchantDiscount {\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$3;\n      /** Discount Percentage. Will be calculated from items price before other discounts. */\n      percentage?: number | null;\n  }\n  interface DiscountRule$5 {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: DiscountRuleName$5;\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$3;\n  }\n  interface DiscountRuleName$5 {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Discount rule name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  interface LineItemDiscount$5 {\n      /** ID of line item the discount applies to. */\n      _id?: string;\n      /** Discount value. */\n      totalDiscountAmount?: MultiCurrencyPrice$3;\n  }\n  interface CalculationErrors$4 extends CalculationErrorsShippingCalculationErrorOneOf$4 {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$5;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors$4;\n      /** Tax calculation error. */\n      taxCalculationError?: Details$5;\n      /** Coupon calculation error. */\n      couponCalculationError?: Details$5;\n      /** Gift card calculation error. */\n      giftCardCalculationError?: Details$5;\n      /** Order validation errors. */\n      orderValidationErrors?: ApplicationError$a[];\n      /**\n       * Membership payment methods calculation errors\n       * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid\n       */\n      membershipError?: Details$5;\n      /** Discount Rule calculation error. */\n      discountsCalculationError?: Details$5;\n  }\n  /** @oneof */\n  interface CalculationErrorsShippingCalculationErrorOneOf$4 {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$5;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors$4;\n  }\n  interface Details$5 extends DetailsKindOneOf$5 {\n      applicationError?: ApplicationError$a;\n      validationError?: ValidationError$5;\n      systemError?: SystemError$5;\n      /**\n       * Deprecated in APIs. Used to enable migration from rendering arbitrary tracing to rest response.\n       * @deprecated\n       */\n      tracing?: Record<string, string>;\n  }\n  /** @oneof */\n  interface DetailsKindOneOf$5 {\n      applicationError?: ApplicationError$a;\n      validationError?: ValidationError$5;\n      systemError?: SystemError$5;\n  }\n  /**\n   * example result:\n   * {\n   * \"fieldViolations\": [\n   * {\n   * \"field\": \"fieldA\",\n   * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n   * \"violatedRule\": \"OTHER\",\n   * \"ruleName\": \"INVALID_NOTE\",\n   * \"data\": {\n   * \"value\": \"FI\"\n   * }\n   * },\n   * {\n   * \"field\": \"fieldB\",\n   * \"description\": \"field value out of range. supported range: [0-20]\",\n   * \"violatedRule\": \"MAX\",\n   * \"data\": {\n   * \"threshold\": 20\n   * }\n   * },\n   * {\n   * \"field\": \"fieldC\",\n   * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n   * \"violatedRule\": \"FORMAT\",\n   * \"data\": {\n   * \"type\": \"PHONE\"\n   * }\n   * }\n   * ]\n   * }\n   */\n  interface ValidationError$5 {\n      fieldViolations?: FieldViolation$5[];\n  }\n  enum RuleType$5 {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\",\n      EXACT_LENGTH = \"EXACT_LENGTH\",\n      EXACT_SIZE = \"EXACT_SIZE\"\n  }\n  interface FieldViolation$5 {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType$5;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  interface SystemError$5 {\n      /** Error code. */\n      errorCode?: string | null;\n  }\n  interface CarrierErrors$4 {\n      /** Carrier errors. */\n      errors?: CarrierError$5[];\n  }\n  interface CarrierError$5 {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Error details. */\n      error?: Details$5;\n  }\n  interface MembershipOptions$3 {\n      /** List of payment options that can be used. */\n      eligibleMemberships?: Membership$3[];\n      /** List of payment options that are owned by the member, but cannot be used due to reason provided. */\n      invalidMemberships?: InvalidMembership$3[];\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: HostSelectedMembership[];\n  }\n  interface Membership$3 {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the application providing this payment option. */\n      appId?: string;\n      /** The name of this membership. */\n      name?: MembershipName$5;\n      /** Line item IDs which are \"paid\" for by this membership. */\n      lineItemIds?: string[];\n      /** Optional - For a membership that has limited credits, information about credit usage. */\n      credits?: MembershipPaymentCredits$3;\n      /** Optional - TMembership expiry date. */\n      expirationDate?: Date | null;\n      /** Additional data about this membership. */\n      additionalData?: Record<string, any> | null;\n  }\n  interface MembershipName$5 {\n      /** Membership name. */\n      original?: string;\n      /** Membership name translated into buyer's language. Defaults to `original` when not defined. */\n      translated?: string | null;\n  }\n  interface MembershipPaymentCredits$3 {\n      /** Membership's total amount of credits. */\n      total?: number;\n      /** Membership's remaining amount of credits. */\n      remaining?: number;\n  }\n  interface InvalidMembership$3 {\n      /** Membership details. */\n      membership?: Membership$3;\n      /** Reason why this membership is invalid and cannot be used. */\n      reason?: string;\n  }\n  interface AdditionalFee$5 {\n      /** Additional fee's unique code (or ID) for future processing. */\n      code?: string | null;\n      /** Translated additional fee's name. */\n      name?: string;\n      /** Additional fee's price. */\n      price?: MultiCurrencyPrice$3;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$5;\n      /** Provider's app id. */\n      providerAppId?: string | null;\n      /** Additional fee's price before tax. */\n      priceBeforeTax?: MultiCurrencyPrice$3;\n      /** Additional fee's price after tax. */\n      priceAfterTax?: MultiCurrencyPrice$3;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n      /**\n       * Number of subscription cycle this fee applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  interface Violation$2 {\n      /** Severity of the violation. The violations are shown on the cart and checkout pages. A warning is displayed as yellow, and allows a site visitor to proceed with caution. An error is displayed as red, and doesn't allow a site visitor to proceed with the eCommerce flow. */\n      severity?: Severity$2;\n      /** Target location on a checkout or cart page where the violation will be displayed. */\n      target?: Target$2;\n      /** Violation description. Can include rich text. Only HTTP or HTTPS links in the following format are allowed: `<a href=\"https://www.wix.com\">Click me</a>`. */\n      description?: string | null;\n  }\n  enum Severity$2 {\n      /** The user is allowed to move forward in the flow. */\n      WARNING = \"WARNING\",\n      /**\n       * The user is blocked from moving forward in the flow.\n       * For example, if callerContext is CART - moving to checkout is blocked. if callerContext is CHECKOUT, placing an order is blocked.\n       */\n      ERROR = \"ERROR\"\n  }\n  interface Target$2 extends TargetTargetTypeOneOf$2 {\n      /** General (other) violation. */\n      other?: Other$2;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem$2;\n  }\n  /** @oneof */\n  interface TargetTargetTypeOneOf$2 {\n      /** General (other) violation. */\n      other?: Other$2;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem$2;\n  }\n  /** Available locations on the webpage */\n  enum NameInOther$2 {\n      /** Default location, in case no specific location is specified. */\n      OTHER_DEFAULT = \"OTHER_DEFAULT\",\n      /** Delivery section. */\n      DELIVERY = \"DELIVERY\"\n  }\n  /** Available locations on the line item */\n  enum NameInLineItem$2 {\n      /** Default location, in case no specific location is specified. */\n      LINE_ITEM_DEFAULT = \"LINE_ITEM_DEFAULT\"\n  }\n  enum SuggestedFix$2 {\n      /** No suggested fix is specified. The user should refer to the violation description to resolve the issue. */\n      UNKNOWN_SUGGESTED_FIX = \"UNKNOWN_SUGGESTED_FIX\",\n      /** The line item should be removed from the cart or checkout to resolve the violation. */\n      REMOVE_LINE_ITEM = \"REMOVE_LINE_ITEM\"\n  }\n  /** General (other) violation. */\n  interface Other$2 {\n      /** Location on a checkout or a cart page where a general (other) violation will be displayed. */\n      name?: NameInOther$2;\n  }\n  /** Specific line item violation. */\n  interface TargetLineItem$2 {\n      /** Location on a checkout or a cart page where the specific line item violation will be displayed. */\n      name?: NameInLineItem$2;\n      /** ID of the line item containing the violation. */\n      _id?: string | null;\n      /**\n       * Suggested fix for resolving the line item violation.\n       * @internal\n       */\n      suggestedFix?: SuggestedFix$2;\n  }\n  interface RemoveLineItemsFromCurrentCartRequest {\n      /** IDs of the line items to remove from the cart. */\n      lineItemIds: string[];\n  }\n  interface RemoveLineItemsResponse$1 {\n      /** Updated cart. */\n      cart?: Cart;\n  }\n  interface CreateCheckoutFromCurrentCartRequest {\n      /** **Required**. Sales channel type. */\n      channelType?: ChannelType$5;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$9;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$9;\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$1;\n      /** Mandatory when setting a billing or shipping address if the site visitor isn't logged in. */\n      email?: string | null;\n  }\n  enum ChannelType$5 {\n      /** Unspecified sales channel. This value is not supported. */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** A web client. */\n      WEB = \"WEB\",\n      /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n      POS = \"POS\",\n      /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n      EBAY = \"EBAY\",\n      /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n      AMAZON = \"AMAZON\",\n      /** Other sales platform. */\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n      WIX_INVOICES = \"WIX_INVOICES\",\n      /** Wix merchant backoffice. */\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      /** Wish sales channel. */\n      WISH = \"WISH\",\n      /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n      CLASS_PASS = \"CLASS_PASS\",\n      /** Global-E sales channel. */\n      GLOBAL_E = \"GLOBAL_E\",\n      /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n      FACEBOOK = \"FACEBOOK\",\n      /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n      ETSY = \"ETSY\",\n      /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n      TIKTOK = \"TIKTOK\",\n      /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n      FAIRE_COM = \"FAIRE_COM\"\n  }\n  interface CreateCheckoutResponse$1 {\n      /** The newly created checkout's ID. */\n      checkoutId?: string;\n  }\n  interface RemoveCouponFromCurrentCartRequest {\n  }\n  interface RemoveCouponResponse$1 {\n      /** Updated cart. */\n      cart?: Cart;\n  }\n  interface UpdateCurrentCartLineItemQuantityRequest {\n      /** Line item IDs and their new quantity. */\n      lineItems: LineItemQuantityUpdate$1[];\n  }\n  interface LineItemQuantityUpdate$1 {\n      /** Line item ID. Required. */\n      _id?: string;\n      /** New quantity. Number must be 1 or higher. Required. */\n      quantity?: number;\n  }\n  interface UpdateLineItemsQuantityResponse$1 {\n      /** Updated cart. */\n      cart?: Cart;\n  }\n  interface EstimateCurrentCartTotalsRequest {\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$1;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$9;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$9;\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: SelectedMemberships$3;\n      /**\n       * Whether to calculate tax in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateTax?: boolean | null;\n      /**\n       * Whether to calculate shipping in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateShipping?: boolean | null;\n  }\n  interface DeleteCurrentCartRequest {\n  }\n  interface DeleteCartResponse {\n  }\n  interface DomainEvent$h extends DomainEventBodyOneOf$h {\n      createdEvent?: EntityCreatedEvent$h;\n      updatedEvent?: EntityUpdatedEvent$h;\n      deletedEvent?: EntityDeletedEvent$h;\n      actionEvent?: ActionEvent$h;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$h {\n      createdEvent?: EntityCreatedEvent$h;\n      updatedEvent?: EntityUpdatedEvent$h;\n      deletedEvent?: EntityDeletedEvent$h;\n      actionEvent?: ActionEvent$h;\n  }\n  interface EntityCreatedEvent$h {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$h;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$h {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$h {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$h {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$h {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$g {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$h;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$h extends IdentificationDataIdOneOf$h {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$g;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$h {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$g {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CreateCartRequest {\n      /** Cart info. */\n      cartInfo?: Cart;\n      /** The code of an existing coupon to apply to the cart. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will apply to the whole cart. */\n      merchantDiscounts?: MerchantDiscountInput$2[];\n      /** Catalog line items. */\n      lineItems?: LineItem$5[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$3[];\n  }\n  interface CreateCartResponse {\n      /** Cart. */\n      cart?: Cart;\n  }\n  interface GetCartRequest {\n      /** ID of the cart to retrieve. */\n      _id: string;\n  }\n  interface GetCartResponse {\n      /** The requested cart. */\n      cart?: Cart;\n  }\n  interface GetCartByCheckoutIdRequest {\n      /** Checkout ID. */\n      _id: string;\n  }\n  interface GetCartByCheckoutIdResponse {\n      /** The requested cart. */\n      cart?: Cart;\n  }\n  interface AddToCartRequest {\n      /** Cart ID. */\n      _id: string;\n      /** Catalog line items. */\n      lineItems?: LineItem$5[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$3[];\n  }\n  interface RemoveLineItemsRequest$1 {\n      /** Cart ID. */\n      _id: string;\n      /** IDs of the line items to remove from the cart. */\n      lineItemIds: string[];\n  }\n  interface CreateCheckoutRequest$1 {\n      /** Cart ID. */\n      _id: string;\n      /** **Required**. Sales channel type. */\n      channelType?: ChannelType$5;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$9;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$9;\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$1;\n      /** Mandatory when setting a billing or shipping address if the site visitor isn't logged in. */\n      email?: string | null;\n  }\n  interface RemoveCouponRequest$1 {\n      /** Cart ID. */\n      _id: string;\n  }\n  interface UpdateLineItemsQuantityRequest$1 {\n      /** Cart ID. */\n      _id: string;\n      /** Line item IDs and their new quantity. */\n      lineItems: LineItemQuantityUpdate$1[];\n  }\n  interface EstimateTotalsRequest {\n      /** Cart ID. */\n      _id: string;\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$1;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$9;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$9;\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: SelectedMemberships$3;\n      /**\n       * Whether to calculate tax in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateTax?: boolean | null;\n      /**\n       * Whether to calculate shipping in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateShipping?: boolean | null;\n  }\n  interface DeleteCartRequest {\n      /** ID of the cart to delete. */\n      _id: string;\n  }\n  interface Empty$a {\n  }\n  /**\n   * Retrieves the current site visitor's cart.\n   *\n   *\n   * The `getCurrentCart()` function returns a Promise that resolves when the current cart is retrieved.\n   * @public\n   * @permissionId ECOM.READ_CARTS\n   * @returns Current session's active cart.\n   */\n  function getCurrentCart(): Promise<Cart>;\n  /**\n   * Updates the current site visitor's cart.\n   *\n   *\n   * The `updateCurrentCart()` function returns a Promise that resolves when the current cart's properties are updated.\n   *\n   * > **Note:** When updating catalog items, `options.lineItems.catalogReference` is required.\n   * @public\n   * @requiredField options.lineItems.catalogReference\n   * @param options - Current cart update options.\n   * @permissionId ECOM.MODIFY_CARTS\n   * @returns Fulfilled - The updated current cart.\n   */\n  function updateCurrentCart(options?: UpdateCurrentCartOptions): Promise<Cart>;\n  interface UpdateCurrentCartOptions {\n      /** Cart info. */\n      cartInfo?: Cart;\n      /** The code of an existing coupon to apply to the cart. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart. */\n      merchantDiscounts?: MerchantDiscountInput$2[];\n      /** Catalog line items. */\n      lineItems?: LineItem$5[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$3[];\n      /**\n       * List of field names to determine which of cartInfo's fields will be updated\n       * @internal\n       */\n      cartFieldmask?: string[];\n  }\n  /**\n   * Adds catalog line items to the current site visitor's cart.\n   *\n   *\n   * The `addToCurrentCart()` function returns a Promise that resolves to the updated current cart when the specified items have been added.\n   *\n   * > **Note:** When adding catalog items, `options.lineItems.catalogReference` is required.\n   * @public\n   * @requiredField options.customLineItems.descriptionLines\n   * @requiredField options.customLineItems.descriptionLines.name\n   * @requiredField options.customLineItems.itemType\n   * @requiredField options.customLineItems.price\n   * @requiredField options.customLineItems.productName\n   * @requiredField options.customLineItems.quantity\n   * @requiredField options.lineItems.catalogReference\n   * @requiredField options.lineItems.quantity\n   * @requiredField options.lineItems.selectedMembership._id\n   * @requiredField options.lineItems.selectedMembership.appId\n   * @param options - Items to be added to the current cart.\n   * @permissionId ECOM.MODIFY_CARTS\n   */\n  function addToCurrentCart(options?: AddToCurrentCartOptions): Promise<AddToCartResponse>;\n  interface AddToCurrentCartOptions {\n      /** Catalog line items. */\n      lineItems?: LineItem$5[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$3[];\n  }\n  /**\n   * Removes line items from the current site visitor's cart.\n   *\n   *\n   * The `removeLineItemsFromCurrentCart()` function returns a Promise that resolves to the updated current cart when the line items are removed.\n   * @public\n   * @requiredField lineItemIds\n   * @param lineItemIds - IDs of the line items to remove from the cart.\n   * @permissionId ECOM.MODIFY_CARTS\n   */\n  function removeLineItemsFromCurrentCart(lineItemIds: string[]): Promise<RemoveLineItemsResponse$1>;\n  /**\n   * Creates a checkout from the current site visitor’s cart.\n   *\n   *\n   * The `createCheckoutFromCurrentCart()` function returns a Promise that resolves to the new checkout's ID when it's created.\n   *\n   * If a checkout was already created from the current cart, that checkout will be updated with any new information from the cart.\n   *\n   * > **Note:** `options.channelType` is a required field.\n   * @public\n   * @param options - Checkout creation options.\n   * @permissionId ECOM.CREATE_CHECKOUT_FROM_CART\n   */\n  function createCheckoutFromCurrentCart(options?: CreateCheckoutFromCurrentCartOptions): Promise<CreateCheckoutResponse$1>;\n  interface CreateCheckoutFromCurrentCartOptions {\n      /** **Required**. Sales channel type. */\n      channelType?: ChannelType$5;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$9;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$9;\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$1;\n      /** Mandatory when setting a billing or shipping address if the site visitor isn't logged in. */\n      email?: string | null;\n  }\n  /**\n   * Removes the coupon from the current site visitor's cart.\n   *\n   *\n   * The `removeCouponFromCurrentCart()` function returns a Promise that resolves to the updated current cart when the coupon is removed.\n   * @public\n   * @permissionId ECOM.MODIFY_CARTS\n   * @returns Fulfilled - Updated current cart.\n   */\n  function removeCouponFromCurrentCart(): Promise<RemoveCouponResponse$1>;\n  /**\n   * Updates the quantity of one or more line items in the current site visitor's cart.\n   *\n   *\n   * The `updateCurrentCartLineItemQuantity()` function returns a Promise that resolves when the quantities of the current cart's line items are updated. This endpoint is only for updating the quantity of line items. To entirely remove a line item from the current cart, use [`removeLineItemsFromCurrentCart()`](#removelineitemsfromcurrentcart).\n   * To add a new line item to the current cart, use [`addToCurrentCart()`](#addtocurrentcart).\n   *\n   * This endpoint checks the amount of stock remaining for this line item. If the specified `quantity` is greater than the remaining stock, then the `quantity` returned in the response is the total amount of remaining stock.\n   * @param lineItems - Line item IDs and their new quantity.\n   * @public\n   * @requiredField lineItems\n   * @permissionId ECOM.MODIFY_CARTS\n   * @returns Fulfilled - The updated current cart.\n   */\n  function updateCurrentCartLineItemQuantity(lineItems: LineItemQuantityUpdate$1[]): Promise<UpdateLineItemsQuantityResponse$1>;\n  /**\n   * Estimates the current cart's price totals (including tax), based on a selected carrier service, shipping address, and billing information.\n   *\n   *\n   * The `estimateCurrentCartTotals()` function returns a Promise that resolves when the estimated totals are generated.\n   *\n   * > **Note:** Not passing any `options` properties will only estimate the cart items price totals.\n   * @public\n   * @param options - Total estimation options.\n   * @permissionId ECOM.READ_CARTS\n   */\n  function estimateCurrentCartTotals(options?: EstimateCurrentCartTotalsOptions): Promise<EstimateTotalsResponse>;\n  interface EstimateCurrentCartTotalsOptions {\n      /** Selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption$1;\n      /** Shipping address. Used for calculating tax and shipping (when applicable). */\n      shippingAddress?: Address$9;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$9;\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: SelectedMemberships$3;\n      /**\n       * Whether to calculate tax in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateTax?: boolean | null;\n      /**\n       * Whether to calculate shipping in the calculation request.\n       *\n       * Default: `true`\n       */\n      calculateShipping?: boolean | null;\n  }\n  /**\n   * Deletes the current site visitor's cart.\n   *\n   *\n   * The `deleteCurrentCart()` function returns a Promise that resolves when the current cart is deleted.\n   * @public\n   * @permissionId ECOM.MODIFY_CARTS\n   * @returns Fulfilled - When the current cart is deleted. Rejected - Error message.\n   */\n  function deleteCurrentCart(): Promise<void>;\n  \n  type ecomV1CartCurrentCart_universal_d_Cart = Cart;\n  type ecomV1CartCurrentCart_universal_d_CartDiscount = CartDiscount;\n  type ecomV1CartCurrentCart_universal_d_CartDiscountDiscountSourceOneOf = CartDiscountDiscountSourceOneOf;\n  type ecomV1CartCurrentCart_universal_d_V1DiscountRule = V1DiscountRule;\n  type ecomV1CartCurrentCart_universal_d_V1DiscountRuleName = V1DiscountRuleName;\n  type ecomV1CartCurrentCart_universal_d_GetCurrentCartRequest = GetCurrentCartRequest;\n  type ecomV1CartCurrentCart_universal_d_GetCurrentCartResponse = GetCurrentCartResponse;\n  type ecomV1CartCurrentCart_universal_d_UpdateCartRequest = UpdateCartRequest;\n  type ecomV1CartCurrentCart_universal_d_UpdateCartResponse = UpdateCartResponse;\n  type ecomV1CartCurrentCart_universal_d_AddToCurrentCartRequest = AddToCurrentCartRequest;\n  type ecomV1CartCurrentCart_universal_d_AddToCartResponse = AddToCartResponse;\n  type ecomV1CartCurrentCart_universal_d_AddToCurrentCartAndEstimateTotalsRequest = AddToCurrentCartAndEstimateTotalsRequest;\n  type ecomV1CartCurrentCart_universal_d_HostSelectedMembership = HostSelectedMembership;\n  type ecomV1CartCurrentCart_universal_d_EstimateTotalsResponse = EstimateTotalsResponse;\n  type ecomV1CartCurrentCart_universal_d_V1Coupon = V1Coupon;\n  type ecomV1CartCurrentCart_universal_d_V1MerchantDiscount = V1MerchantDiscount;\n  type ecomV1CartCurrentCart_universal_d_RemoveLineItemsFromCurrentCartRequest = RemoveLineItemsFromCurrentCartRequest;\n  type ecomV1CartCurrentCart_universal_d_CreateCheckoutFromCurrentCartRequest = CreateCheckoutFromCurrentCartRequest;\n  type ecomV1CartCurrentCart_universal_d_RemoveCouponFromCurrentCartRequest = RemoveCouponFromCurrentCartRequest;\n  type ecomV1CartCurrentCart_universal_d_UpdateCurrentCartLineItemQuantityRequest = UpdateCurrentCartLineItemQuantityRequest;\n  type ecomV1CartCurrentCart_universal_d_EstimateCurrentCartTotalsRequest = EstimateCurrentCartTotalsRequest;\n  type ecomV1CartCurrentCart_universal_d_DeleteCurrentCartRequest = DeleteCurrentCartRequest;\n  type ecomV1CartCurrentCart_universal_d_DeleteCartResponse = DeleteCartResponse;\n  type ecomV1CartCurrentCart_universal_d_CreateCartRequest = CreateCartRequest;\n  type ecomV1CartCurrentCart_universal_d_CreateCartResponse = CreateCartResponse;\n  type ecomV1CartCurrentCart_universal_d_GetCartRequest = GetCartRequest;\n  type ecomV1CartCurrentCart_universal_d_GetCartResponse = GetCartResponse;\n  type ecomV1CartCurrentCart_universal_d_GetCartByCheckoutIdRequest = GetCartByCheckoutIdRequest;\n  type ecomV1CartCurrentCart_universal_d_GetCartByCheckoutIdResponse = GetCartByCheckoutIdResponse;\n  type ecomV1CartCurrentCart_universal_d_AddToCartRequest = AddToCartRequest;\n  type ecomV1CartCurrentCart_universal_d_EstimateTotalsRequest = EstimateTotalsRequest;\n  type ecomV1CartCurrentCart_universal_d_DeleteCartRequest = DeleteCartRequest;\n  const ecomV1CartCurrentCart_universal_d_getCurrentCart: typeof getCurrentCart;\n  const ecomV1CartCurrentCart_universal_d_updateCurrentCart: typeof updateCurrentCart;\n  type ecomV1CartCurrentCart_universal_d_UpdateCurrentCartOptions = UpdateCurrentCartOptions;\n  const ecomV1CartCurrentCart_universal_d_addToCurrentCart: typeof addToCurrentCart;\n  type ecomV1CartCurrentCart_universal_d_AddToCurrentCartOptions = AddToCurrentCartOptions;\n  const ecomV1CartCurrentCart_universal_d_removeLineItemsFromCurrentCart: typeof removeLineItemsFromCurrentCart;\n  const ecomV1CartCurrentCart_universal_d_createCheckoutFromCurrentCart: typeof createCheckoutFromCurrentCart;\n  type ecomV1CartCurrentCart_universal_d_CreateCheckoutFromCurrentCartOptions = CreateCheckoutFromCurrentCartOptions;\n  const ecomV1CartCurrentCart_universal_d_removeCouponFromCurrentCart: typeof removeCouponFromCurrentCart;\n  const ecomV1CartCurrentCart_universal_d_updateCurrentCartLineItemQuantity: typeof updateCurrentCartLineItemQuantity;\n  const ecomV1CartCurrentCart_universal_d_estimateCurrentCartTotals: typeof estimateCurrentCartTotals;\n  type ecomV1CartCurrentCart_universal_d_EstimateCurrentCartTotalsOptions = EstimateCurrentCartTotalsOptions;\n  const ecomV1CartCurrentCart_universal_d_deleteCurrentCart: typeof deleteCurrentCart;\n  namespace ecomV1CartCurrentCart_universal_d {\n    export {\n      ecomV1CartCurrentCart_universal_d_Cart as Cart,\n      LineItem$5 as LineItem,\n      CatalogReference$7 as CatalogReference,\n      ProductName$4 as ProductName,\n      MultiCurrencyPrice$3 as MultiCurrencyPrice,\n      DescriptionLine$4 as DescriptionLine,\n      DescriptionLineValueOneOf$4 as DescriptionLineValueOneOf,\n      DescriptionLineDescriptionLineValueOneOf$4 as DescriptionLineDescriptionLineValueOneOf,\n      DescriptionLineName$4 as DescriptionLineName,\n      PlainTextValue$4 as PlainTextValue,\n      Color$4 as Color,\n      DescriptionLineType$4 as DescriptionLineType,\n      FocalPoint$5 as FocalPoint,\n      ItemAvailabilityInfo$2 as ItemAvailabilityInfo,\n      ItemAvailabilityStatus$2 as ItemAvailabilityStatus,\n      PhysicalProperties$6 as PhysicalProperties,\n      Scope$3 as Scope,\n      Group$3 as Group,\n      ItemType$5 as ItemType,\n      ItemTypeItemTypeDataOneOf$5 as ItemTypeItemTypeDataOneOf,\n      ItemTypeItemType$5 as ItemTypeItemType,\n      SubscriptionOptionInfo$3 as SubscriptionOptionInfo,\n      SubscriptionSettings$6 as SubscriptionSettings,\n      SubscriptionFrequency$6 as SubscriptionFrequency,\n      FreeTrialPeriod$2 as FreeTrialPeriod,\n      Title$2 as Title,\n      Description$2 as Description,\n      SecuredMedia$3 as SecuredMedia,\n      FileType$3 as FileType,\n      V1PaymentOptionType$1 as V1PaymentOptionType,\n      ServiceProperties$4 as ServiceProperties,\n      PriceDescription$4 as PriceDescription,\n      SelectedMembership$3 as SelectedMembership,\n      CatalogOverrideFields$2 as CatalogOverrideFields,\n      PaymentOption$2 as PaymentOption,\n      TaxableAddress$5 as TaxableAddress,\n      TaxableAddressTaxableAddressDataOneOf$5 as TaxableAddressTaxableAddressDataOneOf,\n      TaxableAddressType$5 as TaxableAddressType,\n      ExtendedFields$9 as ExtendedFields,\n      Policy$2 as Policy,\n      BuyerInfo$6 as BuyerInfo,\n      BuyerInfoIdOneOf$4 as BuyerInfoIdOneOf,\n      WeightUnit$7 as WeightUnit,\n      ecomV1CartCurrentCart_universal_d_CartDiscount as CartDiscount,\n      ecomV1CartCurrentCart_universal_d_CartDiscountDiscountSourceOneOf as CartDiscountDiscountSourceOneOf,\n      Coupon$5 as Coupon,\n      MerchantDiscount$5 as MerchantDiscount,\n      ecomV1CartCurrentCart_universal_d_V1DiscountRule as V1DiscountRule,\n      ecomV1CartCurrentCart_universal_d_V1DiscountRuleName as V1DiscountRuleName,\n      AddressWithContact$4 as AddressWithContact,\n      Address$9 as Address,\n      StreetAddress$8 as StreetAddress,\n      AddressLocation$8 as AddressLocation,\n      FullAddressContactDetails$5 as FullAddressContactDetails,\n      VatId$6 as VatId,\n      VatType$6 as VatType,\n      SelectedShippingOption$1 as SelectedShippingOption,\n      ecomV1CartCurrentCart_universal_d_GetCurrentCartRequest as GetCurrentCartRequest,\n      ecomV1CartCurrentCart_universal_d_GetCurrentCartResponse as GetCurrentCartResponse,\n      ecomV1CartCurrentCart_universal_d_UpdateCartRequest as UpdateCartRequest,\n      MerchantDiscountInput$2 as MerchantDiscountInput,\n      CustomLineItem$3 as CustomLineItem,\n      ecomV1CartCurrentCart_universal_d_UpdateCartResponse as UpdateCartResponse,\n      ecomV1CartCurrentCart_universal_d_AddToCurrentCartRequest as AddToCurrentCartRequest,\n      ecomV1CartCurrentCart_universal_d_AddToCartResponse as AddToCartResponse,\n      ecomV1CartCurrentCart_universal_d_AddToCurrentCartAndEstimateTotalsRequest as AddToCurrentCartAndEstimateTotalsRequest,\n      SelectedMemberships$3 as SelectedMemberships,\n      ecomV1CartCurrentCart_universal_d_HostSelectedMembership as HostSelectedMembership,\n      ecomV1CartCurrentCart_universal_d_EstimateTotalsResponse as EstimateTotalsResponse,\n      CalculatedLineItem$1 as CalculatedLineItem,\n      LineItemPricesData$1 as LineItemPricesData,\n      ItemTaxFullDetails$5 as ItemTaxFullDetails,\n      TaxRateBreakdown$3 as TaxRateBreakdown,\n      TaxBreakdown$3 as TaxBreakdown,\n      JurisdictionType$5 as JurisdictionType,\n      PriceSummary$5 as PriceSummary,\n      GiftCard$5 as GiftCard,\n      TaxSummary$5 as TaxSummary,\n      TaxCalculationDetails$3 as TaxCalculationDetails,\n      TaxCalculationDetailsCalculationDetailsOneOf$3 as TaxCalculationDetailsCalculationDetailsOneOf,\n      RateType$3 as RateType,\n      ManualCalculationReason$3 as ManualCalculationReason,\n      AutoTaxFallbackCalculationDetails$3 as AutoTaxFallbackCalculationDetails,\n      FallbackReason$3 as FallbackReason,\n      ApplicationError$a as ApplicationError,\n      AggregatedTaxBreakdown$3 as AggregatedTaxBreakdown,\n      ShippingInformation$3 as ShippingInformation,\n      ShippingRegion$5 as ShippingRegion,\n      SelectedCarrierServiceOption$3 as SelectedCarrierServiceOption,\n      DeliveryLogistics$6 as DeliveryLogistics,\n      PickupDetails$7 as PickupDetails,\n      PickupMethod$6 as PickupMethod,\n      DeliveryTimeSlot$6 as DeliveryTimeSlot,\n      SelectedCarrierServiceOptionPrices$3 as SelectedCarrierServiceOptionPrices,\n      SelectedCarrierServiceOptionOtherCharge$3 as SelectedCarrierServiceOptionOtherCharge,\n      ChargeType$5 as ChargeType,\n      DeliveryAllocation$4 as DeliveryAllocation,\n      Carrier$4 as Carrier,\n      Region$4 as Region,\n      ApplicableLineItems$4 as ApplicableLineItems,\n      CarrierServiceOption$3 as CarrierServiceOption,\n      ShippingOption$5 as ShippingOption,\n      ShippingPrice$5 as ShippingPrice,\n      OtherCharge$3 as OtherCharge,\n      AppliedDiscount$5 as AppliedDiscount,\n      AppliedDiscountDiscountSourceOneOf$5 as AppliedDiscountDiscountSourceOneOf,\n      DiscountType$5 as DiscountType,\n      ecomV1CartCurrentCart_universal_d_V1Coupon as V1Coupon,\n      ecomV1CartCurrentCart_universal_d_V1MerchantDiscount as V1MerchantDiscount,\n      DiscountRule$5 as DiscountRule,\n      DiscountRuleName$5 as DiscountRuleName,\n      LineItemDiscount$5 as LineItemDiscount,\n      CalculationErrors$4 as CalculationErrors,\n      CalculationErrorsShippingCalculationErrorOneOf$4 as CalculationErrorsShippingCalculationErrorOneOf,\n      Details$5 as Details,\n      DetailsKindOneOf$5 as DetailsKindOneOf,\n      ValidationError$5 as ValidationError,\n      RuleType$5 as RuleType,\n      FieldViolation$5 as FieldViolation,\n      SystemError$5 as SystemError,\n      CarrierErrors$4 as CarrierErrors,\n      CarrierError$5 as CarrierError,\n      MembershipOptions$3 as MembershipOptions,\n      Membership$3 as Membership,\n      MembershipName$5 as MembershipName,\n      MembershipPaymentCredits$3 as MembershipPaymentCredits,\n      InvalidMembership$3 as InvalidMembership,\n      AdditionalFee$5 as AdditionalFee,\n      Violation$2 as Violation,\n      Severity$2 as Severity,\n      Target$2 as Target,\n      TargetTargetTypeOneOf$2 as TargetTargetTypeOneOf,\n      NameInOther$2 as NameInOther,\n      NameInLineItem$2 as NameInLineItem,\n      SuggestedFix$2 as SuggestedFix,\n      Other$2 as Other,\n      TargetLineItem$2 as TargetLineItem,\n      ecomV1CartCurrentCart_universal_d_RemoveLineItemsFromCurrentCartRequest as RemoveLineItemsFromCurrentCartRequest,\n      RemoveLineItemsResponse$1 as RemoveLineItemsResponse,\n      ecomV1CartCurrentCart_universal_d_CreateCheckoutFromCurrentCartRequest as CreateCheckoutFromCurrentCartRequest,\n      ChannelType$5 as ChannelType,\n      CreateCheckoutResponse$1 as CreateCheckoutResponse,\n      ecomV1CartCurrentCart_universal_d_RemoveCouponFromCurrentCartRequest as RemoveCouponFromCurrentCartRequest,\n      RemoveCouponResponse$1 as RemoveCouponResponse,\n      ecomV1CartCurrentCart_universal_d_UpdateCurrentCartLineItemQuantityRequest as UpdateCurrentCartLineItemQuantityRequest,\n      LineItemQuantityUpdate$1 as LineItemQuantityUpdate,\n      UpdateLineItemsQuantityResponse$1 as UpdateLineItemsQuantityResponse,\n      ecomV1CartCurrentCart_universal_d_EstimateCurrentCartTotalsRequest as EstimateCurrentCartTotalsRequest,\n      ecomV1CartCurrentCart_universal_d_DeleteCurrentCartRequest as DeleteCurrentCartRequest,\n      ecomV1CartCurrentCart_universal_d_DeleteCartResponse as DeleteCartResponse,\n      DomainEvent$h as DomainEvent,\n      DomainEventBodyOneOf$h as DomainEventBodyOneOf,\n      EntityCreatedEvent$h as EntityCreatedEvent,\n      RestoreInfo$h as RestoreInfo,\n      EntityUpdatedEvent$h as EntityUpdatedEvent,\n      EntityDeletedEvent$h as EntityDeletedEvent,\n      ActionEvent$h as ActionEvent,\n      MessageEnvelope$g as MessageEnvelope,\n      IdentificationData$h as IdentificationData,\n      IdentificationDataIdOneOf$h as IdentificationDataIdOneOf,\n      WebhookIdentityType$g as WebhookIdentityType,\n      ecomV1CartCurrentCart_universal_d_CreateCartRequest as CreateCartRequest,\n      ecomV1CartCurrentCart_universal_d_CreateCartResponse as CreateCartResponse,\n      ecomV1CartCurrentCart_universal_d_GetCartRequest as GetCartRequest,\n      ecomV1CartCurrentCart_universal_d_GetCartResponse as GetCartResponse,\n      ecomV1CartCurrentCart_universal_d_GetCartByCheckoutIdRequest as GetCartByCheckoutIdRequest,\n      ecomV1CartCurrentCart_universal_d_GetCartByCheckoutIdResponse as GetCartByCheckoutIdResponse,\n      ecomV1CartCurrentCart_universal_d_AddToCartRequest as AddToCartRequest,\n      RemoveLineItemsRequest$1 as RemoveLineItemsRequest,\n      CreateCheckoutRequest$1 as CreateCheckoutRequest,\n      RemoveCouponRequest$1 as RemoveCouponRequest,\n      UpdateLineItemsQuantityRequest$1 as UpdateLineItemsQuantityRequest,\n      ecomV1CartCurrentCart_universal_d_EstimateTotalsRequest as EstimateTotalsRequest,\n      ecomV1CartCurrentCart_universal_d_DeleteCartRequest as DeleteCartRequest,\n      Empty$a as Empty,\n      ecomV1CartCurrentCart_universal_d_getCurrentCart as getCurrentCart,\n      ecomV1CartCurrentCart_universal_d_updateCurrentCart as updateCurrentCart,\n      ecomV1CartCurrentCart_universal_d_UpdateCurrentCartOptions as UpdateCurrentCartOptions,\n      ecomV1CartCurrentCart_universal_d_addToCurrentCart as addToCurrentCart,\n      ecomV1CartCurrentCart_universal_d_AddToCurrentCartOptions as AddToCurrentCartOptions,\n      ecomV1CartCurrentCart_universal_d_removeLineItemsFromCurrentCart as removeLineItemsFromCurrentCart,\n      ecomV1CartCurrentCart_universal_d_createCheckoutFromCurrentCart as createCheckoutFromCurrentCart,\n      ecomV1CartCurrentCart_universal_d_CreateCheckoutFromCurrentCartOptions as CreateCheckoutFromCurrentCartOptions,\n      ecomV1CartCurrentCart_universal_d_removeCouponFromCurrentCart as removeCouponFromCurrentCart,\n      ecomV1CartCurrentCart_universal_d_updateCurrentCartLineItemQuantity as updateCurrentCartLineItemQuantity,\n      ecomV1CartCurrentCart_universal_d_estimateCurrentCartTotals as estimateCurrentCartTotals,\n      ecomV1CartCurrentCart_universal_d_EstimateCurrentCartTotalsOptions as EstimateCurrentCartTotalsOptions,\n      ecomV1CartCurrentCart_universal_d_deleteCurrentCart as deleteCurrentCart,\n    };\n  }\n  \n  interface Checkout$1 {\n      /**\n       * Checkout ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Line items.\n       *\n       * Max: 300 items\n       * @readonly\n       */\n      lineItems?: LineItem$4[];\n      /** Billing information. */\n      billingInfo?: AddressWithContact$3;\n      /** Shipping information. */\n      shippingInfo?: ShippingInfo$2;\n      /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n      buyerNote?: string | null;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$5;\n      /**\n       * All converted prices are displayed in this currency in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * @readonly\n       */\n      conversionCurrency?: string;\n      /**\n       * Calculated price summary for the checkout.\n       * @readonly\n       */\n      priceSummary?: PriceSummary$4;\n      /**\n       * Errors when calculating totals.\n       * @readonly\n       */\n      calculationErrors?: CalculationErrors$3;\n      /**\n       * Applied gift card details.\n       *\n       * >**Note:** Gift cards are supported through the Wix UI, though the service plugin is not currently available. Learn more about [Wix Gift Cards](https://support.wix.com/en/article/wix-stores-setting-up-wix-gift-cards).\n       * @readonly\n       */\n      giftCard?: GiftCard$4;\n      /**\n       * Applied discounts.\n       * @readonly\n       */\n      appliedDiscounts?: AppliedDiscount$4[];\n      /** Custom fields. */\n      customFields?: CustomField$4[];\n      /**\n       * Weight measurement unit - defaults to site's weight unit.\n       * @readonly\n       */\n      weightUnit?: WeightUnit$6;\n      /**\n       * Tax summary.\n       * @readonly\n       */\n      taxSummary?: TaxSummary$4;\n      /**\n       * The currency used when submitting the order.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Sales channel that submitted the order.\n       * @readonly\n       */\n      channelType?: ChannelType$4;\n      /**\n       * Site language in which original values are shown.\n       * @readonly\n       */\n      siteLanguage?: string;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       * @readonly\n       */\n      buyerLanguage?: string;\n      /**\n       * Whether an order was successfully created from this checkout.\n       * For an order to be successful, it must be successfully paid for (unless the total is 0).\n       * @readonly\n       */\n      completed?: boolean;\n      /**\n       * Whether tax is included in line item prices.\n       * @readonly\n       */\n      taxIncludedInPrice?: boolean;\n      /**\n       * ID of the checkout's initiator.\n       * @readonly\n       */\n      createdBy?: CreatedBy$4;\n      /**\n       * Date and time the checkout was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the checkout was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Minimal amount to pay in order to place the order.\n       * @readonly\n       */\n      payNow?: PriceSummary$4;\n      /**\n       * Remaining amount for the order to be fully paid.\n       * @readonly\n       */\n      payLater?: PriceSummary$4;\n      /** Memberships to apply when creating the order. */\n      membershipOptions?: MembershipOptions$2;\n      /** Additional Fees. */\n      additionalFees?: AdditionalFee$4[];\n      /** Cart ID that this checkout was created from. Empty if this checkout wasn't created from a cart. */\n      cartId?: string | null;\n      /**\n       * Information about the currency conversion that took place if at all. Empty if no conversion took place.\n       * @internal\n       */\n      conversionInfo?: ConversionInfo$1;\n      /**\n       * The pay now total amount after gift card reduction\n       * @internal\n       * @readonly\n       */\n      payNowTotalAfterGiftCard?: MultiCurrencyPrice$2;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /**\n       * List of validation violations raised by the [Validations Custom Extension SPI](https://www.wix.com/velo/reference/spis/wix-ecom/ecom-validations/introduction).\n       * @readonly\n       */\n      violations?: Violation$1[];\n      /**\n       * The total payment amount after gift card reduction\n       * @internal\n       * @readonly\n       */\n      totalAfterGiftCard?: MultiCurrencyPrice$2;\n      /**\n       * Custom field data for the checkout object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$8;\n      /**\n       * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n       * @readonly\n       */\n      purchaseFlowId?: string | null;\n      /**\n       * Additional settings for customization of the checkout process.\n       *\n       * Custom settings can only be defined when [creating a checkout](https://www.wix.com/velo/reference/wix-ecom-backend/checkout/createcheckout).\n       */\n      customSettings?: CustomSettings$1;\n      /**\n       * Reference IDs for the app and component providing custom checkout page content.\n       *\n       * To access and manage custom checkout page content, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customContentReference?: CustomContentReference$1;\n      /**\n       * References to an external app and resource associated with this checkout.\n       * Used for integration and tracking across different platforms.\n       * @internal\n       */\n      externalReference?: ExternalReference$2;\n      /**\n       * Order ID.\n       *\n       * This field is empty until the checkout completes and becomes an order.\n       * @internal\n       * @readonly\n       */\n      orderId?: string | null;\n      /**\n       * Payment for subscriptions after free trial period.\n       * @internal\n       * @readonly\n       */\n      payAfterFreeTrial?: PriceSummary$4;\n  }\n  interface LineItem$4 {\n      /**\n       * Line item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Item quantity.\n       *\n       * Min: `\"1\"`\n       * Max: `\"100000\"`\n       */\n      quantity?: number;\n      /** Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$6;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       * @readonly\n       */\n      productName?: ProductName$3;\n      /**\n       * URL to the item's page on the site.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Item price **after** catalog-defined discount and line item discounts.\n       * @readonly\n       */\n      price?: MultiCurrencyPrice$2;\n      /**\n       * Total line item price **after** catalog-defined discount and line item discounts.\n       * @readonly\n       */\n      lineItemPrice?: MultiCurrencyPrice$2;\n      /**\n       * Item price **before** catalog-defined discount. Defaults to `price` when not provided.\n       * @readonly\n       */\n      fullPrice?: MultiCurrencyPrice$2;\n      /**\n       * Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.\n       * @readonly\n       */\n      priceBeforeDiscounts?: MultiCurrencyPrice$2;\n      /**\n       * Total price after all discounts and tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: MultiCurrencyPrice$2;\n      /**\n       * Total price after discounts, and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: MultiCurrencyPrice$2;\n      /**\n       * Tax details for this line item.\n       * @readonly\n       */\n      taxDetails?: ItemTaxFullDetails$4;\n      /**\n       * Discount for this line item's entire quantity.\n       * @readonly\n       */\n      discount?: MultiCurrencyPrice$2;\n      /**\n       * Line item description lines. Used for displaying the cart, checkout and order.\n       * @readonly\n       */\n      descriptionLines?: DescriptionLine$3[];\n      /**\n       * Line item image details.\n       * @readonly\n       */\n      media?: string;\n      /**\n       * Item availability details.\n       * @readonly\n       */\n      availability?: ItemAvailabilityInfo$1;\n      /**\n       * Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.\n       * @readonly\n       */\n      physicalProperties?: PhysicalProperties$5;\n      /**\n       * Coupon scopes - which app and items a coupon applies to.\n       * This field is internal to Wix, and should be used by Bookings, Stores and Events as used by the current [Coupons API](https://bo.wix.com/wix-docs/rest/stores/coupons/valid-scope-values).\n       * @internal\n       * @readonly\n       */\n      couponScopes?: Scope$2[];\n      /**\n       * Item type. Either a preset type or custom.\n       * @readonly\n       */\n      itemType?: ItemType$4;\n      /**\n       * Subscription option information.\n       * @readonly\n       */\n      subscriptionOptionInfo?: SubscriptionOptionInfo$2;\n      /**\n       * Fulfiller ID for this item. Field is empty when the item is self-fulfilled.\n       * @internal\n       * @readonly\n       */\n      fulfillerId?: string | null;\n      /**\n       * Shipping group ID.\n       * @internal\n       * @readonly\n       */\n      shippingGroupId?: string | null;\n      /**\n       * Digital file identifier, relevant only for items with type DIGITAL.\n       * @internal\n       * @readonly\n       */\n      digitalFile?: SecuredMedia$2;\n      /**\n       * Type of selected payment option for current item. Defaults to `\"FULL_PAYMENT_ONLINE\"`.\n       * + `\"FULL_PAYMENT_ONLINE\"`: The entire payment for this item happens as part of the checkout.\n       * + `\"FULL_PAYMENT_OFFLINE\"`: The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `\"MEMBERSHIP\"`: Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `\"DEPOSIT_ONLINE\"`: Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.\n       * @readonly\n       */\n      paymentOption?: V1PaymentOptionType;\n      /**\n       * Service properties. When relevant, this contains information such as date and number of participants.\n       * @readonly\n       */\n      serviceProperties?: ServiceProperties$3;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n       * + Used in membership validation.\n       * @readonly\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".\n       * @readonly\n       */\n      priceDescription?: PriceDescription$3;\n      /**\n       * Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.\n       * @readonly\n       */\n      depositAmount?: MultiCurrencyPrice$2;\n      /**\n       * Delivery Profile Id for the product\n       * @internal\n       * @readonly\n       */\n      deliveryProfileId?: string | null;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @readonly\n       */\n      customLineItem?: boolean;\n      /**\n       * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n       * @readonly\n       */\n      consentRequiredPaymentPolicy?: string | null;\n      /**\n       * Overriding values for catalog item properties.\n       *\n       * To override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      catalogOverrideFields?: CatalogOverrideFields$1;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       * @internal\n       * @readonly\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       * @internal\n       * @readonly\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      savePaymentMethod?: boolean;\n      /**\n       * Address to be used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress$4;\n      /**\n       * Custom extended fields for the line item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$8;\n      /**\n       * Policies to be displayed to the customer on the checkout page.\n       * @internal\n       * @readonly\n       */\n      policies?: Policy$1[];\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$6 {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs.\n       *\n       * Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from your Wix Stores catalog, learn more about [eCommerce integration](https://www.wix.com/velo/reference/wix-stores-backend/ecommerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface ProductName$3 {\n      /**\n       * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n       *\n       * Min: 1 character.\n       * Max: 200 characters.\n       */\n      original?: string;\n      /**\n       * Item name translated into the buyer's language.\n       *\n       * Min: 1 character.\n       * Max: 400 characters.\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface MultiCurrencyPrice$2 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface ItemTaxFullDetails$4 {\n      /** Amount for which tax is calculated. */\n      taxableAmount?: MultiCurrencyPrice$2;\n      /**\n       * Tax group ID, if specified.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /** Tax rate %, as a decimal point between 0 and 1. */\n      taxRate?: string;\n      /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n      totalTax?: MultiCurrencyPrice$2;\n      /**\n       * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead.\n       * @readonly\n       * @deprecated\n       */\n      rateBreakdown?: TaxRateBreakdown$2[];\n      /**\n       * The amount of this line item that was exempt.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice$2;\n      /**\n       * True for items we have a tax applied on them\n       * @internal\n       */\n      isItemTaxable?: boolean | null;\n      /**\n       * True if the lineAmount include tax in it.\n       * @internal\n       */\n      isTaxIncluded?: boolean | null;\n      /**\n       * The calculator that calculated this line tax\n       * @internal\n       */\n      calculatorName?: string | null;\n      /**\n       * tax information for a line item.\n       * @internal\n       * @readonly\n       */\n      taxBreakdown?: TaxBreakdown$2[];\n  }\n  interface TaxRateBreakdown$2 {\n      /** Name of tax against which the calculation was performed. */\n      name?: string;\n      /** Rate at which this tax detail was calculated. */\n      rate?: string;\n      /** Amount of tax for this tax detail. */\n      tax?: MultiCurrencyPrice$2;\n      /**\n       * The type of tax that was calculated\n       * @internal\n       */\n      taxType?: string | null;\n      /**\n       * The name of the jurisdiction in which this tax detail applies\n       * @internal\n       */\n      jurisdiction?: string | null;\n      /**\n       * The type of the jurisdiction in which this tax detail applies(Country,State,County,City,Special).\n       * @internal\n       */\n      jurisdictionType?: string | null;\n      /**\n       * The amount of this line item that was exempt from this authority.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice$2;\n      /**\n       * ids of the used exemptions from the TaxEstimate exemptions array.\n       * @internal\n       */\n      exemptionIds?: number[];\n      /**\n       * The taxable amount of this tax detail\n       * @internal\n       */\n      taxableAmount?: MultiCurrencyPrice$2;\n      /**\n       * The Taxes/Fee component. True if the fee is applied.\n       * @internal\n       */\n      isFee?: boolean | null;\n  }\n  /**\n   * TaxBreakdown represents tax information for a line item.\n   * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface TaxBreakdown$2 {\n      /** The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** The amount of this line item price that was considered nontaxable. (Decimal value) */\n      nonTaxableAmount?: MultiCurrencyPrice$2;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value) */\n      rate?: string | null;\n      /** The amount of tax estimated for this line item. (Decimal value) */\n      taxAmount?: MultiCurrencyPrice$2;\n      /** The taxable amount of this line item. */\n      taxableAmount?: MultiCurrencyPrice$2;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** The type of the jurisdiction in which this tax detail applies. */\n      jurisdictionType?: JurisdictionType$4;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType$4 {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface DescriptionLine$3 extends DescriptionLineValueOneOf$3, DescriptionLineDescriptionLineValueOneOf$3 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$3;\n      /** Description line color value. */\n      colorInfo?: Color$3;\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$3;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n      /** Description line name. */\n      name?: DescriptionLineName$3;\n      /**\n       * Description line type.\n       * @internal\n       * @deprecated\n       */\n      lineType?: DescriptionLineType$3;\n  }\n  /** @oneof */\n  interface DescriptionLineValueOneOf$3 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$3;\n      /** Description line color value. */\n      colorInfo?: Color$3;\n  }\n  /** @oneof */\n  interface DescriptionLineDescriptionLineValueOneOf$3 {\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$3;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n  }\n  interface DescriptionLineName$3 {\n      /** Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface PlainTextValue$3 {\n      /** Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line plain text value translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Color$3 {\n      /** Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line color name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n      /** HEX or RGB color code for display. */\n      code?: string | null;\n  }\n  enum DescriptionLineType$3 {\n      /** Unrecognized type. */\n      UNRECOGNISED = \"UNRECOGNISED\",\n      /** Plain text type. */\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      /** Color type. */\n      COLOR = \"COLOR\"\n  }\n  interface FocalPoint$4 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface ItemAvailabilityInfo$1 {\n      /** Item availability status. */\n      status?: ItemAvailabilityStatus$1;\n      /** Quantity available. */\n      quantityAvailable?: number | null;\n  }\n  enum ItemAvailabilityStatus$1 {\n      AVAILABLE = \"AVAILABLE\",\n      /** Item does not exist */\n      NOT_FOUND = \"NOT_FOUND\",\n      /** Item not in stock */\n      NOT_AVAILABLE = \"NOT_AVAILABLE\",\n      /** Available quantity is less than requested */\n      PARTIALLY_AVAILABLE = \"PARTIALLY_AVAILABLE\"\n  }\n  interface PhysicalProperties$5 {\n      /** Line item weight. Measurement unit (`\"KG\"` or `\"LB\"`) is taken from `order.weightUnit`. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface Scope$2 {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */\n      group?: Group$2;\n  }\n  interface Group$2 {\n      /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      name?: string;\n      /** Item ID (when the coupon scope is limited to just one item). */\n      entityId?: string | null;\n  }\n  interface ItemType$4 extends ItemTypeItemTypeDataOneOf$4 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$4;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf$4 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$4;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType$4 {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  interface SubscriptionOptionInfo$2 {\n      /** Subscription option settings. */\n      subscriptionSettings?: SubscriptionSettings$5;\n      /** Subscription option title. */\n      title?: Title$1;\n      /** Subscription option description. */\n      description?: Description$1;\n  }\n  interface SubscriptionSettings$5 {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency$5;\n      /**\n       * Interval of recurring payment.\n       *\n       * Default: `1`.\n       * If SubscriptionFrequency is Day the minimum interval is 7\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription..\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n      /**\n       * Period until first cycle starts. If applied payNow will be 0\n       * If None => no free trial\n       * @internal\n       */\n      freeTrialPeriod?: FreeTrialPeriod$1;\n      /**\n       * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * Whether to generate an order each billing cycle. An order will always be generated for the first billing cycle.\n       * Default None => will behave like true\n       * @internal\n       */\n      generateOrderEachBillingCycle?: boolean | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency$5 {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface FreeTrialPeriod$1 {\n      /** Frequency of priod. Values: DAY, WEEK, MONTH, YEAR */\n      frequency?: SubscriptionFrequency$5;\n      /** interval of period */\n      interval?: number;\n  }\n  interface Title$1 {\n      /** Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Subscription option name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Description$1 {\n      /** Subscription option description. */\n      original?: string;\n      /** Translated subscription option description. */\n      translated?: string | null;\n  }\n  interface SecuredMedia$2 {\n      /** Media ID in Wix Media Manager. */\n      _id?: string;\n      /** Original filename. */\n      fileName?: string;\n      /** File type. */\n      fileType?: FileType$2;\n  }\n  enum FileType$2 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  /** Type of selected payment option for catalog item */\n  enum V1PaymentOptionType {\n      /** The entire payment for this item happens as part of the checkout. */\n      FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n      /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /** Payment for this item is done by charging a membership. When selected, `price` is `0`. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n      DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\",\n      /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface ServiceProperties$3 {\n      /**\n       * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * For example, the start time of a class.\n       */\n      scheduledDate?: Date | null;\n      /** The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room. */\n      numberOfParticipants?: number | null;\n  }\n  interface PriceDescription$3 {\n      /** __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Price description translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface CatalogOverrideFields$1 {\n      /** Item name. */\n      productName?: ProductName$3;\n      /** Item price **after** discounts. */\n      price?: string | null;\n      /** Item price **before** discounts. */\n      fullPrice?: string | null;\n      /** Item description lines. Used when displaying the line item to customers. */\n      descriptionLines?: DescriptionLine$3[];\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties$5;\n      /** Item image. */\n      image?: string;\n      /** Payment method selected for the item. */\n      paymentOption?: V1PaymentOption;\n      /** Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`. */\n      depositAmount?: string | null;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       */\n      savePaymentMethod?: boolean | null;\n  }\n  interface V1PaymentOption {\n      /**\n       * + `FULL_PAYMENT_ONLINE`: The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE`: The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP`: Payment for this item is done by charging a membership. When selected, `price` is `0`.\n       * + `DEPOSIT_ONLINE`: Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is specified in `depositAmount`.\n       * + `MEMBERSHIP_OFFLINE`: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.\n       */\n      value?: V1PaymentOptionType;\n  }\n  interface TaxableAddress$4 extends TaxableAddressTaxableAddressDataOneOf$4 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$4;\n  }\n  /** @oneof */\n  interface TaxableAddressTaxableAddressDataOneOf$4 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$4;\n  }\n  enum TaxableAddressType$4 {\n      UNKNOWN_TAXABLE_ADDRESS = \"UNKNOWN_TAXABLE_ADDRESS\",\n      BUSINESS = \"BUSINESS\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface ExtendedFields$8 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface Policy$1 {\n      /** Policy title - should be translated */\n      title?: string | null;\n      /** Policy content - should be translated */\n      content?: string;\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact$3 {\n      /** Address. */\n      address?: ApiAddress;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails$4;\n      /**\n       * Reference to address service.\n       * @internal\n       */\n      addressesServiceId?: string | null;\n  }\n  /** Physical address */\n  interface ApiAddress {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress$7;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation$7;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress$7 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$7 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails$4 {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: CommonVatId;\n  }\n  interface CommonVatId {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: CommonVatType;\n  }\n  /** tax info types */\n  enum CommonVatType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface ShippingInfo$2 {\n      /** Shipping address and contact details. */\n      shippingDestination?: AddressWithContact$3;\n      /** Selected option out of the options allowed for the `region`. */\n      selectedCarrierServiceOption?: SelectedCarrierServiceOption$2;\n      /**\n       * Shipping region. Based on the address provided.\n       * @readonly\n       */\n      region?: ShippingRegion$4;\n      /**\n       * All carrier options for this shipping rule.\n       * @readonly\n       */\n      carrierServiceOptions?: CarrierServiceOption$2[];\n  }\n  interface SelectedCarrierServiceOption$2 {\n      /** Unique identifier of selected option. For example, \"usps_std_overnight\". */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       * @readonly\n       */\n      title?: string;\n      /**\n       * Delivery logistics.\n       * @readonly\n       */\n      logistics?: DeliveryLogistics$5;\n      /**\n       * Shipping costs.\n       * @readonly\n       */\n      cost?: SelectedCarrierServiceOptionPrices$2;\n      /**\n       * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)\n       * @readonly\n       */\n      requestedShippingOption?: boolean;\n      /** Other charges */\n      otherCharges?: SelectedCarrierServiceOptionOtherCharge$2[];\n      /** This carrier's unique ID */\n      carrierId?: string | null;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation$3[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface DeliveryLogistics$5 {\n      /** Expected delivery time, in free text. For example, \"3-5 business days\". */\n      deliveryTime?: string | null;\n      /** Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don't park in disabled parking spot\". */\n      instructions?: string | null;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails$6;\n      /**\n       * Expected delivery time slot (from and to time stamps representation)\n       * @internal\n       */\n      deliveryTimeSlot?: DeliveryTimeSlot$5;\n  }\n  interface PickupDetails$6 {\n      /** Pickup address. */\n      address?: ApiAddress;\n      /**\n       * Whether the pickup address is that of a business - this may effect tax calculation.\n       * @deprecated\n       */\n      businessLocation?: boolean;\n      /** Pickup method */\n      pickupMethod?: PickupMethod$5;\n  }\n  enum PickupMethod$5 {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot$5 {\n      /** starting time of the delivery time slot */\n      from?: Date | null;\n      /** ending time of the delivery time slot */\n      to?: Date | null;\n  }\n  interface SelectedCarrierServiceOptionPrices$2 {\n      /** Total shipping price, after discount and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice$2;\n      /** Total price of shipping after discounts (when relevant), and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice$2;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$4;\n      /** Shipping discount before tax. */\n      totalDiscount?: MultiCurrencyPrice$2;\n      /** Shipping price before discount and before tax. */\n      price?: MultiCurrencyPrice$2;\n  }\n  interface SelectedCarrierServiceOptionOtherCharge$2 {\n      /** Type of additional cost. */\n      type?: ChargeType$4;\n      /** Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'. */\n      details?: string | null;\n      /** Price of added charge. */\n      cost?: SelectedCarrierServiceOptionPrices$2;\n  }\n  enum ChargeType$4 {\n      HANDLING_FEE = \"HANDLING_FEE\",\n      INSURANCE = \"INSURANCE\"\n  }\n  interface DeliveryAllocation$3 {\n      /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n      deliveryCarrier?: Carrier$3;\n      /** The delivery region that are relevant for this delivery solution. */\n      deliveryRegion?: Region$3;\n      /** Populated if the delivery solution is a partially supplied by this carrier. */\n      applicableLineItems?: ApplicableLineItems$3;\n  }\n  interface Carrier$3 {\n      /** The carrier app id */\n      appId?: string | null;\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n  }\n  interface Region$3 {\n      /** The delivery region id. */\n      _id?: string | null;\n      /** The delivery region name. */\n      name?: string | null;\n  }\n  interface ApplicableLineItems$3 {\n      /** Line items that the delivery solution is for. */\n      lineItemIds?: string[];\n  }\n  interface ShippingRegion$4 {\n      /**\n       * Shipping region ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Shipping region name. */\n      name?: string;\n  }\n  interface CarrierServiceOption$2 {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Shipping options offered by this carrier for this request. */\n      shippingOptions?: ShippingOption$4[];\n  }\n  interface ShippingOption$4 {\n      /**\n       * Unique code of provided shipping option like \"usps_std_overnight\".\n       * For legacy calculators this would be the UUID of the option.\n       */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       */\n      title?: string;\n      /** Delivery logistics. */\n      logistics?: DeliveryLogistics$5;\n      /** Sipping price information. */\n      cost?: ShippingPrice$4;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation$3[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface ShippingPrice$4 {\n      /** Shipping price. */\n      price?: MultiCurrencyPrice$2;\n      /** Other costs such as insurance, handling & packaging for fragile items, etc. */\n      otherCharges?: OtherCharge$2[];\n  }\n  interface OtherCharge$2 {\n      /** Type of additional cost. */\n      type?: ChargeType$4;\n      /** Price of added cost. */\n      price?: MultiCurrencyPrice$2;\n  }\n  interface BuyerInfo$5 extends BuyerInfoIdOneOf$3 {\n      /**\n       * Visitor ID - if the buyer is **not** a site member.\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID - If the buyer is a site member.\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * + If `true`, the checkout doesn't have an owner yet and anyone can access it. The first to access it will be the new owner.\n       * + If `false`, the value in `checkout.createdBy` is the owner.\n       * @internal\n       */\n      openAccess?: boolean;\n      /**\n       * Contact ID. For more information, see the Contacts API.\n       * @readonly\n       */\n      contactId?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface BuyerInfoIdOneOf$3 {\n      /**\n       * Visitor ID - if the buyer is **not** a site member.\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID - If the buyer is a site member.\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * + If `true`, the checkout doesn't have an owner yet and anyone can access it. The first to access it will be the new owner.\n       * + If `false`, the value in `checkout.createdBy` is the owner.\n       * @internal\n       */\n      openAccess?: boolean;\n  }\n  interface PriceSummary$4 {\n      /** Subtotal of all line items, before discounts and before tax. */\n      subtotal?: MultiCurrencyPrice$2;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: MultiCurrencyPrice$2;\n      /** Total tax. */\n      tax?: MultiCurrencyPrice$2;\n      /** Total calculated discount value. */\n      discount?: MultiCurrencyPrice$2;\n      /** Total price after discounts, gift cards, and tax. */\n      total?: MultiCurrencyPrice$2;\n      /** Total additional fees price before tax. */\n      additionalFees?: MultiCurrencyPrice$2;\n  }\n  interface CalculationErrors$3 extends CalculationErrorsShippingCalculationErrorOneOf$3 {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$4;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors$3;\n      /** Tax calculation error. */\n      taxCalculationError?: Details$4;\n      /** Coupon calculation error. */\n      couponCalculationError?: Details$4;\n      /** Gift card calculation error. */\n      giftCardCalculationError?: Details$4;\n      /** Order validation errors. */\n      orderValidationErrors?: ApplicationError$9[];\n      /**\n       * Membership payment methods calculation errors\n       * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid\n       */\n      membershipError?: Details$4;\n      /** Discount Rule calculation error. */\n      discountsCalculationError?: Details$4;\n  }\n  /** @oneof */\n  interface CalculationErrorsShippingCalculationErrorOneOf$3 {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$4;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors$3;\n  }\n  interface Details$4 extends DetailsKindOneOf$4 {\n      applicationError?: ApplicationError$9;\n      validationError?: ValidationError$4;\n      systemError?: SystemError$4;\n      /**\n       * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n       * @deprecated\n       */\n      tracing?: Record<string, string>;\n  }\n  /** @oneof */\n  interface DetailsKindOneOf$4 {\n      applicationError?: ApplicationError$9;\n      validationError?: ValidationError$4;\n      systemError?: SystemError$4;\n  }\n  interface ApplicationError$9 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /**\n   * example result:\n   * {\n   * \"fieldViolations\": [\n   * {\n   * \"field\": \"fieldA\",\n   * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n   * \"violatedRule\": \"OTHER\",\n   * \"ruleName\": \"INVALID_NOTE\",\n   * \"data\": {\n   * \"value\": \"FI\"\n   * }\n   * },\n   * {\n   * \"field\": \"fieldB\",\n   * \"description\": \"field value out of range. supported range: [0-20]\",\n   * \"violatedRule\": \"MAX\",\n   * \"data\": {\n   * \"threshold\": 20\n   * }\n   * },\n   * {\n   * \"field\": \"fieldC\",\n   * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n   * \"violatedRule\": \"FORMAT\",\n   * \"data\": {\n   * \"type\": \"PHONE\"\n   * }\n   * }\n   * ]\n   * }\n   */\n  interface ValidationError$4 {\n      fieldViolations?: FieldViolation$4[];\n  }\n  enum RuleType$4 {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\",\n      EXACT_LENGTH = \"EXACT_LENGTH\",\n      EXACT_SIZE = \"EXACT_SIZE\"\n  }\n  interface FieldViolation$4 {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType$4;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  interface SystemError$4 {\n      /** Error code. */\n      errorCode?: string | null;\n  }\n  interface CarrierErrors$3 {\n      /** Carrier errors. */\n      errors?: CarrierError$4[];\n  }\n  interface CarrierError$4 {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Error details. */\n      error?: Details$4;\n  }\n  interface GiftCard$4 {\n      /**\n       * Gift Card ID.\n       * @deprecated\n       */\n      _id?: string;\n      /** Gift card obfuscated code. */\n      obfuscatedCode?: string;\n      /** Gift card value. */\n      amount?: MultiCurrencyPrice$2;\n      /** App ID of the gift card provider. */\n      appId?: string;\n      /**\n       * External ID in the gift card provider's system.\n       * Used for integration and tracking across different platforms.\n       */\n      externalId?: string | null;\n  }\n  interface AppliedDiscount$4 extends AppliedDiscountDiscountSourceOneOf$4 {\n      /** Coupon details. */\n      coupon?: Coupon$4;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$4;\n      /** Discount rule */\n      discountRule?: DiscountRule$4;\n      /** Discount type. */\n      discountType?: DiscountType$4;\n      /**\n       * IDs of the line items the discount applies to.\n       * @deprecated IDs of line items the discount applies to.\n       * @replacedBy line_items_discounts\n       * @targetRemovalDate 2024-06-01\n       */\n      lineItemIds?: string[];\n      /**\n       * Discount ID.\n       * @internal\n       */\n      _id?: string | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: LineItemDiscount$4[];\n      /**\n       * Number of subscription cycle this discount applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf$4 {\n      /** Coupon details. */\n      coupon?: Coupon$4;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$4;\n      /** Discount rule */\n      discountRule?: DiscountRule$4;\n  }\n  enum DiscountType$4 {\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface Coupon$4 {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon value. */\n      amount?: MultiCurrencyPrice$2;\n      /** Coupon name. */\n      name?: string;\n      /**\n       * Coupon type: We want it to be an enum and not a string but currently we have no time to do it so we leave it as is to be aligned with cart summary.\n       * @internal\n       * @deprecated\n       */\n      couponType?: string;\n  }\n  interface MerchantDiscount$4 {\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$2;\n      /** Discount Percentage. Will be calculated from items price before other discounts. */\n      percentage?: number | null;\n  }\n  interface DiscountRule$4 {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: DiscountRuleName$4;\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$2;\n  }\n  interface DiscountRuleName$4 {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface LineItemDiscount$4 {\n      /** ID of line item the discount applies to. */\n      _id?: string;\n      /** Discount value. */\n      totalDiscountAmount?: MultiCurrencyPrice$2;\n  }\n  interface CustomField$4 {\n      /** Custom field value. */\n      value?: any;\n      /** Custom field title. */\n      title?: string;\n      /** Translated custom field title. */\n      translatedTitle?: string | null;\n  }\n  enum WeightUnit$6 {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface TaxSummary$4 {\n      /**\n       * Amount for which tax is calculated, added from line items.\n       * @readonly\n       */\n      taxableAmount?: MultiCurrencyPrice$2;\n      /**\n       * Calculated tax, added from line items.\n       * @readonly\n       */\n      totalTax?: MultiCurrencyPrice$2;\n      /**\n       * Manual tax rate\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      manualTaxRate?: string;\n      /**\n       * Tax calculator that was active when the order was created.\n       * @deprecated\n       */\n      calculationDetails?: TaxCalculationDetails$2;\n      /**\n       * Tax estimation id in tax service\n       * @internal\n       * @readonly\n       */\n      taxEstimationId?: string | null;\n      /**\n       * Average Tax Rate\n       * @internal\n       * @readonly\n       */\n      averageTaxRate?: string | null;\n      /**\n       * The amount of this estimate that was exempt (for all line items).\n       * @internal\n       * @readonly\n       */\n      totalExempt?: MultiCurrencyPrice$2;\n      /**\n       * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n       * @internal\n       * @readonly\n       */\n      aggregatedTaxBreakdown?: AggregatedTaxBreakdown$2[];\n  }\n  interface TaxCalculationDetails$2 extends TaxCalculationDetailsCalculationDetailsOneOf$2 {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason$2;\n      /** Details of the fallback rate calculation. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails$2;\n      /** Rate calculation type. */\n      rateType?: RateType$2;\n  }\n  /** @oneof */\n  interface TaxCalculationDetailsCalculationDetailsOneOf$2 {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason$2;\n      /** Details of the fallback rate calculation. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails$2;\n  }\n  enum RateType$2 {\n      /** no tax being collected for this request due to location of purchase */\n      NO_TAX_COLLECTED = \"NO_TAX_COLLECTED\",\n      /** manual rate used for calculation */\n      MANUAL_RATE = \"MANUAL_RATE\",\n      /** autotax rate used for calculation */\n      AUTO_RATE = \"AUTO_RATE\",\n      /** fallback rate used for calculation */\n      FALLBACK_RATE = \"FALLBACK_RATE\"\n  }\n  enum ManualCalculationReason$2 {\n      /** user set calculator in Business Manager to be Manual */\n      GLOBAL_SETTING_TO_MANUAL = \"GLOBAL_SETTING_TO_MANUAL\",\n      /** specific region is on manual even though Global setting is Auto-tax */\n      REGION_SETTING_TO_MANUAL = \"REGION_SETTING_TO_MANUAL\"\n  }\n  interface AutoTaxFallbackCalculationDetails$2 {\n      /** reason for fallback */\n      fallbackReason?: FallbackReason$2;\n      /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */\n      error?: ApplicationError$9;\n  }\n  enum FallbackReason$2 {\n      /** auto-tax failed to be calculated */\n      AUTO_TAX_FAILED = \"AUTO_TAX_FAILED\",\n      /** auto-tax was temporarily deactivated on a system-level */\n      AUTO_TAX_DEACTIVATED = \"AUTO_TAX_DEACTIVATED\"\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   */\n  interface AggregatedTaxBreakdown$2 {\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdiction?: string;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionTypeEnum?: JurisdictionType$4;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value) */\n      rate?: string;\n      /** The sum of all the tax from line items that calculated by the tax identifiers. */\n      aggregatedTaxAmount?: MultiCurrencyPrice$2;\n      /**\n       * The sum of all the taxable amount from line items for tax identifiers.\n       * @internal\n       */\n      aggregatedTaxableAmount?: MultiCurrencyPrice$2;\n  }\n  enum ChannelType$4 {\n      /** Unspecified sales channel. This value is not supported. */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** A web client. */\n      WEB = \"WEB\",\n      /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n      POS = \"POS\",\n      /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n      EBAY = \"EBAY\",\n      /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n      AMAZON = \"AMAZON\",\n      /** Other sales platform. */\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n      WIX_INVOICES = \"WIX_INVOICES\",\n      /** Wix merchant backoffice. */\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      /** Wish sales channel. */\n      WISH = \"WISH\",\n      /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n      CLASS_PASS = \"CLASS_PASS\",\n      /** Global-E sales channel. */\n      GLOBAL_E = \"GLOBAL_E\",\n      /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n      FACEBOOK = \"FACEBOOK\",\n      /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n      ETSY = \"ETSY\",\n      /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n      TIKTOK = \"TIKTOK\",\n      /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n      FAIRE_COM = \"FAIRE_COM\"\n  }\n  interface CreatedBy$4 extends CreatedByIdOneOf$2 {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application or Wix service. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface CreatedByIdOneOf$2 {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application or Wix service. */\n      appId?: string;\n  }\n  /** Reserved for internal use. */\n  interface MembershipOptions$2 {\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      eligibleMemberships?: Membership$2[];\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      invalidMemberships?: InvalidMembership$2[];\n      /** Selected membership to apply to this checkout. */\n      selectedMemberships?: SelectedMemberships$2;\n  }\n  interface Membership$2 {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the application providing this payment option. */\n      appId?: string;\n      /** The name of this membership. */\n      name?: MembershipName$4;\n      /** Line item IDs which are \"paid for\" by this membership. */\n      lineItemIds?: string[];\n      /** Optional - For a membership that has limited credits, information about credit usage. */\n      credits?: MembershipPaymentCredits$2;\n      /** Optional - TMembership expiry date. */\n      expirationDate?: Date | null;\n      /** Additional data about this membership. */\n      additionalData?: Record<string, any> | null;\n  }\n  interface MembershipName$4 {\n      /** Membership name. */\n      original?: string;\n      /** Translated membership name. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface MembershipPaymentCredits$2 {\n      /** Membership's total amount of credits. */\n      total?: number;\n      /** Membership's remaining amount of credits. */\n      remaining?: number;\n  }\n  interface InvalidMembership$2 {\n      /** Membership details. */\n      membership?: Membership$2;\n      /** Reason why this membership is invalid and cannot be used. */\n      reason?: string;\n  }\n  interface SelectedMemberships$2 {\n      /** Selected memberships. */\n      memberships?: SelectedMembership$2[];\n  }\n  interface SelectedMembership$2 {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the app providing this payment option. */\n      appId?: string;\n      /** IDs of the line items this membership applies to. */\n      lineItemIds?: string[];\n  }\n  interface AdditionalFee$4 {\n      /** Additional fee's unique code (or ID) for future processing. */\n      code?: string | null;\n      /** Translated additional fee's name. */\n      name?: string;\n      /** Additional fee's price. */\n      price?: MultiCurrencyPrice$2;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$4;\n      /** Provider's app id. */\n      providerAppId?: string | null;\n      /** Additional fee's price before tax. */\n      priceBeforeTax?: MultiCurrencyPrice$2;\n      /** Additional fee's price after tax. */\n      priceAfterTax?: MultiCurrencyPrice$2;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n      /**\n       * Number of subscription cycle this fee applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  interface ConversionInfo$1 {\n      /**\n       * The site currency.\n       * @readonly\n       */\n      siteCurrency?: string;\n      /**\n       * The rate used when converting from the site currency to the checkout currency.\n       * @readonly\n       */\n      conversionRate?: string;\n  }\n  interface Violation$1 {\n      /** Severity of the violation. The violations are shown on the cart and checkout pages. A warning is displayed as yellow, and allows a site visitor to proceed with caution. An error is displayed as red, and doesn't allow a site visitor to proceed with the eCommerce flow. */\n      severity?: Severity$1;\n      /** Target location on a checkout or cart page where the violation will be displayed. */\n      target?: Target$1;\n      /** Violation description. Can include rich text. Only HTTP or HTTPS links in the following format are allowed: `<a href=\"https://www.wix.com\">Click me</a>`. */\n      description?: string | null;\n  }\n  enum Severity$1 {\n      /** The user is allowed to move forward in the flow. */\n      WARNING = \"WARNING\",\n      /**\n       * The user is blocked from moving forward in the flow.\n       * For example, if callerContext is CART - moving to checkout is blocked. if callerContext is CHECKOUT, placing an order is blocked.\n       */\n      ERROR = \"ERROR\"\n  }\n  interface Target$1 extends TargetTargetTypeOneOf$1 {\n      /** General (other) violation. */\n      other?: Other$1;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem$1;\n  }\n  /** @oneof */\n  interface TargetTargetTypeOneOf$1 {\n      /** General (other) violation. */\n      other?: Other$1;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem$1;\n  }\n  /** Available locations on the webpage */\n  enum NameInOther$1 {\n      /** Default location, in case no specific location is specified. */\n      OTHER_DEFAULT = \"OTHER_DEFAULT\",\n      /** Delivery section. */\n      DELIVERY = \"DELIVERY\"\n  }\n  /** Available locations on the line item */\n  enum NameInLineItem$1 {\n      /** Default location, in case no specific location is specified. */\n      LINE_ITEM_DEFAULT = \"LINE_ITEM_DEFAULT\"\n  }\n  enum SuggestedFix$1 {\n      /** No suggested fix is specified. The user should refer to the violation description to resolve the issue. */\n      UNKNOWN_SUGGESTED_FIX = \"UNKNOWN_SUGGESTED_FIX\",\n      /** The line item should be removed from the cart or checkout to resolve the violation. */\n      REMOVE_LINE_ITEM = \"REMOVE_LINE_ITEM\"\n  }\n  /** General (other) violation. */\n  interface Other$1 {\n      /** Location on a checkout or a cart page where a general (other) violation will be displayed. */\n      name?: NameInOther$1;\n  }\n  /** Specific line item violation. */\n  interface TargetLineItem$1 {\n      /** Location on a checkout or a cart page where the specific line item violation will be displayed. */\n      name?: NameInLineItem$1;\n      /** ID of the line item containing the violation. */\n      _id?: string | null;\n      /**\n       * Suggested fix for resolving the line item violation.\n       * @internal\n       */\n      suggestedFix?: SuggestedFix$1;\n  }\n  interface CustomSettings$1 {\n      /**\n       * Whether to restrict the option to add or remove a gift card on the checkout page.\n       *\n       * Default: `false`\n       */\n      lockGiftCard?: boolean;\n      /**\n       * Whether to restrict the option to add or remove a coupon code on the checkout page.\n       *\n       * Default: `false`\n       */\n      lockCouponCode?: boolean;\n      /**\n       * Whether to disable policy agreement checkout in the checkout page\n       *\n       * Default: `false`\n       */\n      disabledPolicyAgreementCheckbox?: boolean;\n      /**\n       * Whether to disable manual payment option for this checkout.\n       *\n       * Default: `false`\n       */\n      disabledManualPayment?: boolean;\n  }\n  interface CustomContentReference$1 {\n      /**\n       * ID of the app providing the content.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       */\n      appId?: string;\n      /**\n       * ID of the component within the app it belongs to.\n       *\n       * You can get your component's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       */\n      componentId?: string;\n  }\n  interface ExternalReference$2 {\n      /**\n       * ID of the app associated with the purchase flow.\n       * For example, the Wix Pay Links app ID.\n       */\n      appId?: string;\n      /**\n       * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n       * For example, a Wix Pay Link ID.\n       */\n      resourceId?: string | null;\n  }\n  interface UpdatedCheckoutMessage {\n      /** Previous checkout. */\n      oldCheckout?: Checkout$1;\n      /** Updated checkout. */\n      updatedCheckout?: Checkout$1;\n  }\n  interface CreateCheckoutRequest {\n      /** Checkout information. */\n      checkoutInfo?: Checkout$1;\n      /** The code of an existing coupon to apply to checkout. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Catalog line items to add to the checkout. */\n      lineItems?: LineItem$4[];\n      /**\n       * Custom line items to add to the checkout. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$2[];\n      /**\n       * Sales channel that submitted the order.\n       * + `\"UNSPECIFIED\"`: Unspecified sales channel. This value is not supported.\n       * + `\"WEB\"`: A web client.\n       * + `\"POS\"`: [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395)\n       * + `\"EBAY\"`: [eBay](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop)\n       * + `\"AMAZON\"`: [Amazon](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop)\n       * + `\"WISH\"`: [Wish](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-a-wish-shop)\n       * + `\"WIX_INVOICES\"`: Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings)\n       * + `\"WIX_APP_STORE\"`: [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview)\n       * + `\"BACKOFFICE_MERCHANT\"`: Wix merchant backoffice\n       * + `\"OTHER_PLATFORM\"`: Other sales platform.\n       */\n      channelType: ChannelType$4;\n      /**\n       * Gift card code.\n       *\n       * The checkout can only hold 1 `giftCardCode` at a time. If an additional `giftCardCode` is added, it will override the existing `giftCardCode`.\n       *\n       * >**Note:** Gift cards are supported through the Wix UI, though the service plugin is not currently available. Learn more about [Wix Gift Cards](https://support.wix.com/en/article/wix-stores-setting-up-wix-gift-cards).\n       */\n      giftCardCode?: string | null;\n      /**\n       * Merchant discounts to apply to specific line items.\n       * If no `lineItemIds` are passed, the discount will be applied to the whole checkout.\n       *\n       * >**Note:** Merchant discounts are restricted and can only be applied if you elevate permissions using the `wix-auth` [`elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n       * @internal\n       */\n      merchantDiscounts?: MerchantDiscountInput$1[];\n      /**\n       * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n       *\n       * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n       */\n      overrideCheckoutUrl?: string | null;\n  }\n  interface CustomLineItem$2 {\n      /**\n       * Custom line item quantity.\n       *\n       * Min: `1`\n       * Max: `100000`\n       */\n      quantity?: number;\n      /** Custom line item price. For security reasons, the `price` field should come from backend Velo code, and not be passed from the frontend. */\n      price?: string;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription$3;\n      /** Custom line item description lines. Used for displaying the cart, checkout and order. */\n      descriptionLines?: DescriptionLine$3[];\n      /**\n       * Custom line item media.\n       * + Link to an image/video from the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) - `\"wix:image://v1/3c76e2_c53...4ea4~mv2.jpg#originWidth=1000&originHeight=1000\"`.\n       * + An image from the web - `\"http(s)://<image url>\"`.\n       */\n      media?: string;\n      /**\n       * Custom line item ID. If passed, `id` must be unique.\n       *\n       * Default: auto-generated ID\n       */\n      _id?: string | null;\n      /** Tax group ID for this custom line item. */\n      taxGroupId?: string | null;\n      /** Name of the item or product. */\n      productName?: ProductName$3;\n      /** URL to the item's page on the site. When not provided, the link back from the cart page to the relevant product page will not work. */\n      url?: string;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType$4;\n      /** Item price **before** catalog-defined discount. Defaults to `price` when not provided. */\n      fullPrice?: string | null;\n      /**\n       * Item quantity available for purchase. Only return this if inventory is managed.\n       * Not returning this field means that the buyer can \"infinitely\" tick up the number of items in the cart.\n       */\n      quantityAvailable?: number | null;\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties$5;\n      /**\n       * Subscription option info. This field is internal and only used by Stores.\n       * @internal\n       */\n      subscriptionOptionInfo?: SubscriptionOptionInfo$2;\n      /**\n       * Digital file ID and name. Required if `itemType: DIGITAL`.\n       * @internal\n       */\n      digitalFile?: SecuredMedia$2;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       *\n       * + `FULL_PAYMENT_ONLINE` - Entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE` - Entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `DEPOSIT_ONLINE` -  Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.\n       */\n      paymentOption?: V1PaymentOptionType;\n      /**\n       * Service properties. When relevant, this contains information such as date and number of participants.\n       * Used, among other things, when checking for valid memberships.\n       */\n      serviceProperties?: ServiceProperties$3;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       *\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field is the same as `catalogReference.catalogItemId`.\n       * + Used in membership validation.\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Partial payment for the given item to be paid upfront during the checkout.\n       *\n       * Eligible for catalog items with type `DEPOSIT_ONLINE`.\n       * When omitted, the item's price will not be split and is expected to be paid in a single installment.\n       */\n      depositAmount?: string | null;\n      /**\n       * Delivery Profile ID.\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$6;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       *\n       * Default: `false`\n       * @internal\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n       * @readonly\n       */\n      consentRequiredPaymentPolicy?: string | null;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      savePaymentMethod?: boolean;\n      /**\n       * Policies to be displayed to the customer on the checkout page.\n       * @internal\n       */\n      policies?: Policy$1[];\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n  }\n  interface MerchantDiscountInput$1 {\n      /** Discount amount. */\n      amount?: string;\n      /** IDs of the line items the discount applies to. */\n      lineItemIds?: string[];\n  }\n  interface CreateCheckoutResponse {\n      /** Newly created checkout. */\n      checkout?: Checkout$1;\n  }\n  interface ShippingCalculationErrorData extends ShippingCalculationErrorDataShippingCalculationErrorOneOf {\n      generalShippingCalculationError?: Details$4;\n      carrierErrors?: CarrierErrors$3;\n  }\n  /** @oneof */\n  interface ShippingCalculationErrorDataShippingCalculationErrorOneOf {\n      generalShippingCalculationError?: Details$4;\n      carrierErrors?: CarrierErrors$3;\n  }\n  interface GetCheckoutRequest {\n      /** Checkout ID. */\n      _id: string;\n      /**\n       * Whether to refresh the checkout from external sources. Defaults to true.\n       * @internal\n       */\n      refresh?: boolean | null;\n  }\n  interface GetCheckoutResponse {\n      /** The requested checkout. */\n      checkout?: Checkout$1;\n  }\n  interface GetCheckoutWithAllExtendedFieldsRequest {\n      /** Checkout ID. */\n      _id?: string;\n      /**\n       * Whether to refresh the checkout from external sources. Defaults to true.\n       * @internal\n       */\n      refresh?: boolean | null;\n  }\n  interface GetCheckoutWithAllExtendedFieldsResponse {\n      /** The requested checkout. */\n      checkout?: Checkout$1;\n  }\n  interface GetCheckoutByCartIdRequest {\n      /** Cart ID. */\n      _id: string;\n  }\n  interface GetCheckoutByCartIdResponse {\n      /** The requested checkout. */\n      checkout?: Checkout$1;\n  }\n  interface GetWixCheckoutURLRequest {\n      /** Checkout ID. */\n      _id: string;\n      /**\n       * cart id to compare with for migration period\n       * @internal\n       */\n      cartId?: string | null;\n      /**\n       * checkout currency parameter to append\n       * @internal\n       */\n      currencyCode?: string | null;\n  }\n  interface GetWixCheckoutURLResponse {\n      /** Checkout URL. */\n      checkoutUrl?: string;\n  }\n  interface GetCheckoutURLRequest {\n      /** Checkout ID. */\n      _id: string;\n      /**\n       * Checkout currency parameter to append as a query param\n       * @internal\n       */\n      currencyCode?: string | null;\n  }\n  interface GetCheckoutURLResponse {\n      /** Checkout URL. */\n      checkoutUrl?: string;\n  }\n  interface UpdateCheckoutRequest {\n      /** Checkout information. */\n      checkout: Checkout$1;\n      /** The code of an existing coupon to apply to checkout. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Gift card code. */\n      giftCardCode?: string | null;\n      /**\n       * Set of fields to update. Fields are inferred.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Merchant discounts to apply to specific line items.\n       * If no `lineItemIds` are passed, the discount will be applied to the whole checkout.\n       *\n       * >**Note:** Merchant discounts are restricted and can only be applied if you elevate permissions using the `wix-auth` [`elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n       * @internal\n       */\n      merchantDiscounts?: MerchantDiscountInput$1[];\n      /**\n       * When true, calculation errors won't fail the update request. When empty or false, the update won't happen and relevant error will return\n       * @internal\n       */\n      ignoreCalculationErrors?: boolean | null;\n      /**\n       * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n       *\n       * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n       */\n      overrideCheckoutUrl?: string | null;\n      /** Catalog line items. */\n      lineItems?: LineItem$4[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$2[];\n  }\n  interface UpdateCheckoutResponse {\n      /** Updated checkout. */\n      checkout?: Checkout$1;\n  }\n  interface RemoveCouponRequest {\n      /** ID of the checkout to remove the coupon from. */\n      _id: string;\n  }\n  interface RemoveCouponResponse {\n      /** Updated checkout after removal of coupon. */\n      checkout?: Checkout$1;\n  }\n  interface RemoveGiftCardRequest {\n      /** ID of the checkout to remove the gift card from. */\n      _id: string;\n  }\n  interface RemoveGiftCardResponse {\n      /** Updated checkout after removal of gift card. */\n      checkout?: Checkout$1;\n  }\n  interface RemoveOverrideCheckoutUrlRequest {\n      /** ID of the checkout to remove the override checkout url from. */\n      _id: string;\n  }\n  interface RemoveOverrideCheckoutUrlResponse {\n      /** Updated checkout after removal of override checkout url. */\n      checkout?: Checkout$1;\n  }\n  interface AddToCheckoutRequest {\n      /** Checkout ID. */\n      _id: string;\n      /** Catalog line items. */\n      lineItems?: LineItem$4[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$2[];\n  }\n  interface AddToCheckoutResponse {\n      /** Updated checkout. */\n      checkout?: Checkout$1;\n  }\n  interface RemoveLineItemsRequest {\n      /** ID of the checkout to remove line items from. */\n      _id: string;\n      /** IDs of the line items to remove from the checkout. */\n      lineItemIds: string[];\n  }\n  interface RemoveLineItemsResponse {\n      /** Updated checkout after removal of line items. */\n      checkout?: Checkout$1;\n  }\n  interface CreateOrderRequest$1 {\n      /** Checkout ID. */\n      _id: string;\n      /**\n       * Custom URL params to be added to redirect URLs.\n       * @internal\n       */\n      urlParams?: Record<string, string>;\n      /** Indicates the payment method should be saved on the order */\n      savePaymentMethod?: boolean;\n      /** Indicates whether to authorize the payment and delay the capture */\n      delayCapture?: boolean;\n  }\n  interface CreateOrderResponse$1 extends CreateOrderResponseIdOneOf {\n      /** ID of the newly created order. */\n      orderId?: string;\n      /** ID of newly created subscription. Learn more about your site's [Subscriptions](https://support.wix.com/en/article/wix-stores-managing-product-subscriptions). */\n      subscriptionId?: string;\n      /**\n       * Payment gateway order ID.\n       *\n       * For online orders, pass this value as the `paymentId` parameter to the Wix Pay [`startPayment()`](https://www.wix.com/velo/reference/wix-pay-frontend/startpayment) function so your customer can pay for the order.\n       *\n       * This field will be returned if money needs to be charged. In some cases, money cannot be charged:\n       * + When the total price (the `priceSummary.total.amount` field in the checkout/order objects) is 0. For example, in the case of a free item or an item with a 100% discount.\n       * + If the total price is not 0, but the payment is covered by alternative payment methods, such as a gift card.\n       */\n      paymentGatewayOrderId?: string | null;\n  }\n  /** @oneof */\n  interface CreateOrderResponseIdOneOf {\n      /** ID of newly created order. */\n      orderId?: string;\n      /** ID of newly created subscription. Learn more about your site's [Subscriptions](https://support.wix.com/en/article/wix-stores-managing-product-subscriptions). */\n      subscriptionId?: string;\n  }\n  interface PaymentErrorResponseData {\n      paymentResponseToken?: string | null;\n      transactionStatus?: string;\n      failureDetails?: string | null;\n  }\n  interface DoublePaymentErrorData extends DoublePaymentErrorDataIdOneOf {\n      orderId?: string;\n      subscriptionId?: string;\n  }\n  /** @oneof */\n  interface DoublePaymentErrorDataIdOneOf {\n      orderId?: string;\n      subscriptionId?: string;\n  }\n  interface RedeemErrorData {\n      reason?: string;\n  }\n  interface ViolationsList {\n      /** Violations risen by ValidationsSPI implementers. */\n      violations?: Violation$1[];\n  }\n  interface CreateOrderAndChargeRequest {\n      /** Checkout ID. */\n      _id: string;\n      /** Payment token. */\n      paymentToken?: string | null;\n      /**\n       * Custom URL params to be added to redirect URLs.\n       * @internal\n       */\n      urlParams?: Record<string, string>;\n      /** Indicates the payment method should be saved on the order */\n      savePaymentMethod?: boolean;\n      /** Indicates whether to authorize the payment and delay the capture */\n      delayCapture?: boolean;\n  }\n  interface CreateOrderAndChargeResponse extends CreateOrderAndChargeResponseIdOneOf {\n      /** ID of newly created order. */\n      orderId?: string;\n      /** ID of newly created subscription. */\n      subscriptionId?: string;\n      /** Payment response token. */\n      paymentResponseToken?: string | null;\n      /**\n       * For online orders, send this value as a parameter to the Wix Pay [`startPayment()`](https://www.wix.com/velo/reference/wix-pay/startpayment) function to enable your buyer to pay for the order.\n       * `paymentGatewayOrderId` will be returned if money needs to be charged.\n       *\n       * In some cases, money should not be charged:\n       * + If the total price is 0. For example, in the case of a free item or an item with 100% discount.\n       * + If the total price is not 0, but the payment is covered by alternative payment methods, such as a gift card.\n       */\n      paymentGatewayOrderId?: string | null;\n  }\n  /** @oneof */\n  interface CreateOrderAndChargeResponseIdOneOf {\n      /** ID of newly created order. */\n      orderId?: string;\n      /** ID of newly created subscription. */\n      subscriptionId?: string;\n  }\n  interface MarkCheckoutAsCompletedRequest {\n      /** Checkout ID. */\n      _id: string;\n      /**\n       * Order ID.\n       * @internal\n       */\n      orderId?: string | null;\n  }\n  interface MarkCheckoutAsCompletedResponse {\n  }\n  /** Triggered when buyer successfully completed checkout flow */\n  interface CheckoutMarkedAsCompleted {\n      checkout?: Checkout$1;\n  }\n  interface UpdateLineItemsQuantityRequest {\n      /** Checkout ID. */\n      _id: string;\n      /** Line item info to update. */\n      lineItems: LineItemQuantityUpdate[];\n  }\n  interface LineItemQuantityUpdate {\n      /** ID of the line item to update. */\n      _id?: string;\n      /**\n       * New total amount of the line item,\n       * not the amount to add to the current `quantity`.\n       *\n       * Min: `1`\n       *\n       * Max: `100000`\n       */\n      quantity?: number;\n  }\n  interface UpdateLineItemsQuantityResponse {\n      /** Updated checkout. */\n      checkout?: Checkout$1;\n  }\n  interface GetCheckoutPaymentSettingsRequest {\n      /** Checkout ID. */\n      _id: string;\n  }\n  interface GetCheckoutPaymentSettingsResponse {\n      blockedPaymentOptions?: PaymentOption$1[];\n  }\n  enum PaymentOption$1 {\n      UNKNOWN_PAYMENT_OPTION = \"UNKNOWN_PAYMENT_OPTION\",\n      MANUAL = \"MANUAL\"\n  }\n  interface SubscriptionCreated {\n      subscription?: Subscription;\n  }\n  interface Subscription {\n      /**\n       * Subscription id (auto-generated upon subscription creation)\n       * @readonly\n       */\n      _id?: string;\n      /** id of subscription in external system */\n      externalId?: string | null;\n      /**\n       * Subscription creation date\n       * @readonly\n       */\n      dateCreated?: Date | null;\n      /** The id of the cart this order was created from */\n      cartId?: string | null;\n      /** The id of the checkout this subscriptions was created from */\n      checkoutId?: string | null;\n      /** member or contact */\n      buyerInfo?: V1BuyerInfo;\n      /** Line items ordered */\n      lineItems?: V1LineItem$1[];\n      /** Totals for subscription's line items */\n      totals?: Totals$1;\n      /** site settings at the moment when subscription created */\n      storeSettings?: StoreSettings;\n      /** Full billing address */\n      billingAddress?: Address$8;\n      /** Delivery information */\n      shippingInfo?: V1ShippingInfo;\n      /** Coupon that was applied to subscription */\n      appliedCoupon?: AppliedCoupon$1;\n      /** Message from the customer (e.g., customization request) */\n      buyerNote?: string | null;\n      /** Custom field */\n      customField?: V1CustomField;\n      /** Information about subscription option from which subscription was created */\n      subscriptionOptionInfo?: V1SubscriptionOptionInfo;\n      /** Sales channel that submitted this subscription */\n      channelInfo?: ChannelInfo$3;\n      /** defines when subscriber will be charged: for frequency=MONTH, billingCycles=6, interval=2 payment will be done every 2 month during one year */\n      subscriptionSettings?: V1SubscriptionSettings;\n      /**\n       * information about first subscription payment\n       * @readonly\n       */\n      billingInfo?: BillingInfo$1;\n  }\n  /** Buyer Info */\n  interface V1BuyerInfo {\n      /** Wix customer ID */\n      _id?: string;\n      /** Customer type */\n      identityType?: IdentityType$4;\n      /** @internal */\n      visitorId?: string | null;\n  }\n  enum IdentityType$4 {\n      UNSPECIFIED_IDENTITY_TYPE = \"UNSPECIFIED_IDENTITY_TYPE\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Contact */\n      CONTACT = \"CONTACT\"\n  }\n  interface V1LineItem$1 {\n      /** Line item ID (auto-generated) */\n      index?: number;\n      /** Line item quantity */\n      quantity?: number;\n      /** Line item variantId (from Stores Catalog) */\n      variantId?: string | null;\n      /** Line item options ordered */\n      options?: OptionSelection$1[];\n      /** Line item custom text field selections */\n      customTextFields?: CustomTextFieldSelection$1[];\n      /** Charges details */\n      chargeDetails?: ChargeDetails;\n      /** Product details */\n      productDetails?: ProductDetails;\n  }\n  interface OptionSelection$1 {\n      /** Option name */\n      option?: string;\n      /** Selected choice for this option */\n      selection?: string;\n  }\n  interface CustomTextFieldSelection$1 {\n      /** Custom text field name */\n      title?: string;\n      /** Custom text field value */\n      value?: string;\n  }\n  interface ChargeDetails {\n      /** price of line item (depends on subscription option) */\n      price?: number;\n      /** Total price charged to the customer (for this line items) after computation of quantity and discount */\n      totalPrice?: number | null;\n      /** Discount applied for this line item */\n      discount?: number | null;\n      /** Tax applied for this line item */\n      tax?: number | null;\n      /** Is tax applied for this line item */\n      taxIncludedInPrice?: boolean;\n      /** Tax rate %, as a decimal point >= 0 */\n      taxRate?: string | null;\n  }\n  interface ProductDetails {\n      /** Line item product ID (optional for POS orders) */\n      productId?: string | null;\n      /** Line item name */\n      name?: string;\n      /** Line item name translated to buyer's language */\n      translatedName?: string | null;\n      /** Line item type (may be extended) */\n      lineItemType?: LineItemType$1;\n      /** Line item primary media for preview */\n      mediaItem?: MediaItem$1;\n      /** Line item SKU */\n      sku?: string | null;\n      /** Line item weight */\n      weight?: number | null;\n      /** Line item notes */\n      notes?: string | null;\n      /** Line item fulfillerId from stores fulfillers. No value means self fulfilled */\n      fulfillerId?: string | null;\n      /** Tax group id */\n      taxGroupId?: string | null;\n      /** App id from the catalog reference */\n      appId?: string | null;\n  }\n  enum LineItemType$1 {\n      /** Line item type can't be classified, due to an error */\n      UNSPECIFIED_LINE_ITEM_TYPE = \"UNSPECIFIED_LINE_ITEM_TYPE\",\n      /** Physical item type */\n      PHYSICAL = \"PHYSICAL\",\n      /** Digital item type */\n      DIGITAL = \"DIGITAL\",\n      /** Custom item price */\n      CUSTOM_AMOUNT_ITEM = \"CUSTOM_AMOUNT_ITEM\"\n  }\n  interface MediaItem$1 {\n      /**\n       * Media type\n       * @readonly\n       */\n      mediaType?: MediaItemType$1;\n      /**\n       * Media URL\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Media item width\n       * @readonly\n       */\n      width?: number;\n      /**\n       * Media item height\n       * @readonly\n       */\n      height?: number;\n      /** Media ID (for media items previously saved in Wix Media) */\n      _id?: string | null;\n      /** Media external URL */\n      externalImageUrl?: string | null;\n      /** Alternative text for presentation when media cannot be displayed */\n      altText?: string | null;\n  }\n  enum MediaItemType$1 {\n      /** Media item type can't be classified, due to an error */\n      UNSPECIFIED_MEDIA_TYPE_ITEM = \"UNSPECIFIED_MEDIA_TYPE_ITEM\",\n      /** Image item type */\n      IMAGE = \"IMAGE\"\n  }\n  interface Totals$1 {\n      /** Subtotal of all line items, before tax */\n      subtotal?: number;\n      /** Total shipping price, including tax */\n      shipping?: number;\n      /**\n       * Total shipping price, after tax (identical to shipping)\n       * @internal\n       */\n      shippingAfterTax?: number;\n      /**\n       * Total shipping price, before tax\n       * @internal\n       */\n      shippingBeforeTax?: number;\n      /** Total tax */\n      tax?: number;\n      /** Total calculated discount value */\n      discount?: number;\n      /** Total price */\n      total?: number;\n      /** Total weight */\n      weight?: number | null;\n      /**\n       * Total line items quantity\n       * @readonly\n       */\n      quantity?: number;\n  }\n  interface StoreSettings {\n      /** Currency used for pricing in this store */\n      currency?: string | null;\n      /** Weight unit used in this store */\n      weightUnit?: WeightUnit$6;\n      /**\n       * The language to be used when communicating with the buyer\n       * For a site that support multiple languages, this would be the language the buyer selected\n       * Otherwise this would be the site language\n       */\n      buyerLanguage?: string | null;\n  }\n  interface Address$8 extends AddressAddressLine1OptionsOneOf$1 {\n      /** Address line 1 (free text) */\n      addressLine1?: string;\n      /** Address line 1 (street) */\n      street?: Street$1;\n      /** Addressee name */\n      fullName?: FullName$1;\n      /** Country code (2 letters) */\n      country?: string | null;\n      /** State or district */\n      subdivision?: string | null;\n      /** City name */\n      city?: string | null;\n      /** ZIP/postal code */\n      zipCode?: string | null;\n      /** Phone number */\n      phone?: string | null;\n      /** Company name */\n      company?: string | null;\n      /** Email address */\n      email?: string | null;\n      /** address line */\n      addressLine2?: string | null;\n      /** Tax information (for Brazil only) */\n      vatId?: VatId$5;\n  }\n  /** @oneof */\n  interface AddressAddressLine1OptionsOneOf$1 {\n      /** Address line 1 (free text) */\n      addressLine1?: string;\n      /** Address line 1 (street) */\n      street?: Street$1;\n  }\n  interface FullName$1 {\n      /** Customer's first name */\n      firstName?: string;\n      /** Customer's last name */\n      lastName?: string;\n  }\n  interface Street$1 {\n      /** Street number */\n      number?: string;\n      /** Street name */\n      name?: string;\n  }\n  interface VatId$5 {\n      /** Customer's tax ID. */\n      number?: string;\n      /**\n       * Tax type.\n       * + `CPF`: For individual tax payers.\n       * + `CNPJ`: For corporations.\n       */\n      type?: VatType$5;\n  }\n  /** Brazilian tax info types */\n  enum VatType$5 {\n      /** When the tax info type can't be classified, due to an error */\n      UNSPECIFIED_TAX_TYPE = \"UNSPECIFIED_TAX_TYPE\",\n      /** CPF - for individual tax payers */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface V1ShippingInfo extends V1ShippingInfoDetailsOneOf {\n      /** Shipment details (when this object describes shipment) */\n      shipmentDetails?: ShipmentDetails$1;\n      /** Pickup details (when this object describes pickup) */\n      pickupDetails?: V1PickupDetails$1;\n      /** Delivery option name */\n      deliveryOption?: string;\n      /** Delivery option delivery time */\n      estimatedDeliveryTime?: string | null;\n  }\n  /** @oneof */\n  interface V1ShippingInfoDetailsOneOf {\n      /** Shipment details (when this object describes shipment) */\n      shipmentDetails?: ShipmentDetails$1;\n      /** Pickup details (when this object describes pickup) */\n      pickupDetails?: V1PickupDetails$1;\n  }\n  interface ShipmentDetails$1 {\n      /** Shipping destination address */\n      address?: Address$8;\n      /** Discount applied for shipping */\n      discount?: number | null;\n      /** Tax applied for shipping */\n      tax?: number | null;\n      /** Whether tax is included in the price */\n      taxIncludedInPrice?: boolean;\n      /** Tax rate % for shipping, as a decimal point >= 0 */\n      taxRate?: string | null;\n  }\n  interface V1PickupDetails$1 {\n      /** Pickup address */\n      address?: PickupAddress$3;\n      /** Store owner's pickup instructions */\n      pickupInstructions?: string | null;\n  }\n  interface PickupAddress$3 {\n      /** Country code (2 letters) */\n      country?: string;\n      /** State/District */\n      subdivision?: string | null;\n      /** Address */\n      addressLine?: string;\n      /** City */\n      city?: string;\n      /** ZIP/postal code */\n      zipCode?: string;\n  }\n  interface AppliedCoupon$1 {\n      /** Coupon ID */\n      couponId?: string;\n      /** Coupon name */\n      name?: string;\n      /** Coupon code */\n      code?: string;\n  }\n  /** Custom field */\n  interface V1CustomField {\n      /** Free text that the customer entered in the custom field during the checkout process */\n      value?: string;\n      /** Title for the custom field */\n      title?: string;\n      /** The title translated according to the buyer language */\n      translatedTitle?: string;\n  }\n  interface V1SubscriptionOptionInfo {\n      _id?: string | null;\n      title?: string;\n      description?: string | null;\n      discount?: Discount$2;\n  }\n  interface Discount$2 {\n      /** Discount type. */\n      type?: DiscountDiscountType;\n      /** Discount value. */\n      value?: number;\n  }\n  enum DiscountDiscountType {\n      UNDEFINED = \"UNDEFINED\",\n      /** No discount */\n      AMOUNT = \"AMOUNT\",\n      PERCENT = \"PERCENT\"\n  }\n  interface ChannelInfo$3 {\n      /** Sales channel that submitted the subscription */\n      type?: ChannelInfoChannelType;\n  }\n  enum ChannelInfoChannelType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      WEB = \"WEB\",\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      WIX_APP_STORE = \"WIX_APP_STORE\"\n  }\n  interface V1SubscriptionSettings {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency$5;\n      /**\n       * Interval of recurring payment (optional: default value 1 will be used if not provided)\n       * @internal\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n  }\n  interface BillingInfo$1 {\n      /** Payment method used for this order */\n      paymentMethod?: string | null;\n      /** Transaction ID from payment gateway (e.g., Wix Payments) */\n      paymentGatewayTransactionId?: string | null;\n      /** Order ID from payment gateway (e.g., Wix Payments) */\n      paymentGatewayOrderId?: string | null;\n  }\n  interface Empty$9 {\n  }\n  interface DomainEvent$g extends DomainEventBodyOneOf$g {\n      createdEvent?: EntityCreatedEvent$g;\n      updatedEvent?: EntityUpdatedEvent$g;\n      deletedEvent?: EntityDeletedEvent$g;\n      actionEvent?: ActionEvent$g;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$g {\n      createdEvent?: EntityCreatedEvent$g;\n      updatedEvent?: EntityUpdatedEvent$g;\n      deletedEvent?: EntityDeletedEvent$g;\n      actionEvent?: ActionEvent$g;\n  }\n  interface EntityCreatedEvent$g {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$g;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$g {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$g {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$g {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$g {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$f {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$g;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$g extends IdentificationDataIdOneOf$g {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$f;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$g {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$f {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a checkout.\n   *\n   *\n   * The `createCheckout()` function returns a Promise that resolves to the new checkout when it's created.\n   *\n   * > **Notes:**\n   * > + Checkout must include at least 1 item in the `options.lineItems` array.\n   * > + `options.channelType` is required.\n   * > + If `_id` for `options.lineItems` is added, make sure that each `_id` is unique.\n   * > + If `options.checkoutInfo.customFields` are added, then `options.checkoutInfo.customFields.value` is required.\n   * @public\n   * @requiredField options.channelType\n   * @requiredField options.checkoutInfo.customFields.value\n   * @requiredField options.checkoutInfo.membershipOptions.selectedMemberships.memberships._id\n   * @requiredField options.checkoutInfo.membershipOptions.selectedMemberships.memberships.appId\n   * @requiredField options.checkoutInfo.membershipOptions.selectedMemberships.memberships.lineItemIds\n   * @requiredField options.customLineItems.descriptionLines\n   * @requiredField options.customLineItems.descriptionLines.name\n   * @requiredField options.customLineItems.itemType\n   * @requiredField options.customLineItems.price\n   * @requiredField options.customLineItems.productName\n   * @requiredField options.customLineItems.quantity\n   * @requiredField options.lineItems.catalogReference\n   * @requiredField options.lineItems.catalogReference.appId\n   * @requiredField options.lineItems.catalogReference.catalogItemId\n   * @requiredField options.lineItems.quantity\n   * @param options - Checkout creation options.\n   * @permissionId ECOM.MODIFY_CHECKOUTS\n   * @permissionId ECOM.ADMIN_MODIFY_CHECKOUTS\n   * @returns Fulfilled - the newly created checkout.\n   */\n  function createCheckout(options?: CreateCheckoutOptions): Promise<Checkout$1>;\n  interface CreateCheckoutOptions {\n      /** Checkout information. */\n      checkoutInfo?: Checkout$1;\n      /** The code of an existing coupon to apply to checkout. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Catalog line items to add to the checkout. */\n      lineItems?: LineItem$4[];\n      /**\n       * Custom line items to add to the checkout. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$2[];\n      /**\n       * Sales channel that submitted the order.\n       * + `\"UNSPECIFIED\"`: Unspecified sales channel. This value is not supported.\n       * + `\"WEB\"`: A web client.\n       * + `\"POS\"`: [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395)\n       * + `\"EBAY\"`: [eBay](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop)\n       * + `\"AMAZON\"`: [Amazon](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop)\n       * + `\"WISH\"`: [Wish](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-a-wish-shop)\n       * + `\"WIX_INVOICES\"`: Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings)\n       * + `\"WIX_APP_STORE\"`: [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview)\n       * + `\"BACKOFFICE_MERCHANT\"`: Wix merchant backoffice\n       * + `\"OTHER_PLATFORM\"`: Other sales platform.\n       */\n      channelType: ChannelType$4;\n      /**\n       * Gift card code.\n       *\n       * The checkout can only hold 1 `giftCardCode` at a time. If an additional `giftCardCode` is added, it will override the existing `giftCardCode`.\n       *\n       * >**Note:** Gift cards are supported through the Wix UI, though the service plugin is not currently available. Learn more about [Wix Gift Cards](https://support.wix.com/en/article/wix-stores-setting-up-wix-gift-cards).\n       */\n      giftCardCode?: string | null;\n      /**\n       * Merchant discounts to apply to specific line items.\n       * If no `lineItemIds` are passed, the discount will be applied to the whole checkout.\n       *\n       * >**Note:** Merchant discounts are restricted and can only be applied if you elevate permissions using the `wix-auth` [`elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n       * @internal\n       */\n      merchantDiscounts?: MerchantDiscountInput$1[];\n      /**\n       * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n       *\n       * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n       */\n      overrideCheckoutUrl?: string | null;\n  }\n  /**\n   * Retrieves a checkout.\n   *\n   *\n   * The `getCheckout()` function returns a Promise that resolves when the specified checkout is retrieved.\n   * @param _id - Checkout ID.\n   * @public\n   * @requiredField _id\n   * @permissionId ECOM.READ_CHECKOUTS\n   * @returns Fulfilled - the requested checkout.\n   */\n  function getCheckout(_id: string, options?: GetCheckoutOptions): Promise<Checkout$1>;\n  interface GetCheckoutOptions {\n      /**\n       * Whether to refresh the checkout from external sources. Defaults to true.\n       * @internal\n       */\n      refresh?: boolean | null;\n  }\n  /**\n   * Retrieves the checkout associated with a specified cart.\n   * @param _id - Cart ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.READ_CHECKOUTS\n   */\n  function getCheckoutByCartId(_id: string): Promise<GetCheckoutByCartIdResponse>;\n  /**\n   * Deprecated and will be removed soon, use GetCheckoutURL\n   * @param _id - Checkout ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.READ_CHECKOUTS\n   */\n  function getWixCheckoutUrl(_id: string, options?: GetWixCheckoutUrlOptions): Promise<GetWixCheckoutURLResponse>;\n  interface GetWixCheckoutUrlOptions {\n      /**\n       * cart id to compare with for migration period\n       * @internal\n       */\n      cartId?: string | null;\n      /**\n       * checkout currency parameter to append\n       * @internal\n       */\n      currencyCode?: string | null;\n  }\n  /**\n   * Retrieves the checkout page URL of a specified checkout.\n   *\n   * By default, a `checkoutUrl` generates for a checkout and directs to a standard Wix checkout page.\n   * However, if `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n   * @param _id - Checkout ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.READ_CHECKOUTS\n   */\n  function getCheckoutUrl(_id: string, options?: GetCheckoutUrlOptions): Promise<GetCheckoutURLResponse>;\n  interface GetCheckoutUrlOptions {\n      /**\n       * Checkout currency parameter to append as a query param\n       * @internal\n       */\n      currencyCode?: string | null;\n  }\n  /**\n   * Updates a checkout.\n   *\n   *\n   * The `updateCheckout()` function returns a Promise that resolves to the updated checkout when the specified properties are updated.\n   *\n   * >**Notes:**\n   * > + If nothing is passed in the request, the call will fail.\n   * > + The `checkout.buyerInfo.email` may not be removed once it is set.\n   * @param _id - Checkout ID.\n   * @public\n   * @requiredField _id\n   * @requiredField checkout\n   * @requiredField checkout.customFields.value\n   * @requiredField checkout.membershipOptions.selectedMemberships.memberships._id\n   * @requiredField checkout.membershipOptions.selectedMemberships.memberships.appId\n   * @requiredField checkout.membershipOptions.selectedMemberships.memberships.lineItemIds\n   * @requiredField options.customLineItems.descriptionLines\n   * @requiredField options.customLineItems.descriptionLines.name\n   * @requiredField options.customLineItems.itemType\n   * @requiredField options.customLineItems.productName\n   * @requiredField options.customLineItems.quantity\n   * @requiredField options.lineItems.catalogReference\n   * @requiredField options.lineItems.catalogReference.appId\n   * @requiredField options.lineItems.catalogReference.catalogItemId\n   * @requiredField options.lineItems.quantity\n   * @param options - Checkout update options.\n   * @permissionId ECOM.MODIFY_CHECKOUTS\n   * @permissionId ECOM.ADMIN_MODIFY_CHECKOUTS\n   * @returns Updated checkout.\n   */\n  function updateCheckout(_id: string | null, checkout: UpdateCheckout, options?: UpdateCheckoutOptions): Promise<Checkout$1>;\n  interface UpdateCheckout {\n      /**\n       * Checkout ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Line items.\n       *\n       * Max: 300 items\n       * @readonly\n       */\n      lineItems?: LineItem$4[];\n      /** Billing information. */\n      billingInfo?: AddressWithContact$3;\n      /** Shipping information. */\n      shippingInfo?: ShippingInfo$2;\n      /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n      buyerNote?: string | null;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$5;\n      /**\n       * All converted prices are displayed in this currency in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * @readonly\n       */\n      conversionCurrency?: string;\n      /**\n       * Calculated price summary for the checkout.\n       * @readonly\n       */\n      priceSummary?: PriceSummary$4;\n      /**\n       * Errors when calculating totals.\n       * @readonly\n       */\n      calculationErrors?: CalculationErrors$3;\n      /**\n       * Applied gift card details.\n       *\n       * >**Note:** Gift cards are supported through the Wix UI, though the service plugin is not currently available. Learn more about [Wix Gift Cards](https://support.wix.com/en/article/wix-stores-setting-up-wix-gift-cards).\n       * @readonly\n       */\n      giftCard?: GiftCard$4;\n      /**\n       * Applied discounts.\n       * @readonly\n       */\n      appliedDiscounts?: AppliedDiscount$4[];\n      /** Custom fields. */\n      customFields?: CustomField$4[];\n      /**\n       * Weight measurement unit - defaults to site's weight unit.\n       * @readonly\n       */\n      weightUnit?: WeightUnit$6;\n      /**\n       * Tax summary.\n       * @readonly\n       */\n      taxSummary?: TaxSummary$4;\n      /**\n       * The currency used when submitting the order.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Sales channel that submitted the order.\n       * @readonly\n       */\n      channelType?: ChannelType$4;\n      /**\n       * Site language in which original values are shown.\n       * @readonly\n       */\n      siteLanguage?: string;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       * @readonly\n       */\n      buyerLanguage?: string;\n      /**\n       * Whether an order was successfully created from this checkout.\n       * For an order to be successful, it must be successfully paid for (unless the total is 0).\n       * @readonly\n       */\n      completed?: boolean;\n      /**\n       * Whether tax is included in line item prices.\n       * @readonly\n       */\n      taxIncludedInPrice?: boolean;\n      /**\n       * ID of the checkout's initiator.\n       * @readonly\n       */\n      createdBy?: CreatedBy$4;\n      /**\n       * Date and time the checkout was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the checkout was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Minimal amount to pay in order to place the order.\n       * @readonly\n       */\n      payNow?: PriceSummary$4;\n      /**\n       * Remaining amount for the order to be fully paid.\n       * @readonly\n       */\n      payLater?: PriceSummary$4;\n      /** Memberships to apply when creating the order. */\n      membershipOptions?: MembershipOptions$2;\n      /** Additional Fees. */\n      additionalFees?: AdditionalFee$4[];\n      /** Cart ID that this checkout was created from. Empty if this checkout wasn't created from a cart. */\n      cartId?: string | null;\n      /**\n       * Information about the currency conversion that took place if at all. Empty if no conversion took place.\n       * @internal\n       */\n      conversionInfo?: ConversionInfo$1;\n      /**\n       * The pay now total amount after gift card reduction\n       * @internal\n       * @readonly\n       */\n      payNowTotalAfterGiftCard?: MultiCurrencyPrice$2;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /**\n       * List of validation violations raised by the [Validations Custom Extension SPI](https://www.wix.com/velo/reference/spis/wix-ecom/ecom-validations/introduction).\n       * @readonly\n       */\n      violations?: Violation$1[];\n      /**\n       * The total payment amount after gift card reduction\n       * @internal\n       * @readonly\n       */\n      totalAfterGiftCard?: MultiCurrencyPrice$2;\n      /**\n       * Custom field data for the checkout object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$8;\n      /**\n       * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n       * @readonly\n       */\n      purchaseFlowId?: string | null;\n      /**\n       * Additional settings for customization of the checkout process.\n       *\n       * Custom settings can only be defined when [creating a checkout](https://www.wix.com/velo/reference/wix-ecom-backend/checkout/createcheckout).\n       */\n      customSettings?: CustomSettings$1;\n      /**\n       * Reference IDs for the app and component providing custom checkout page content.\n       *\n       * To access and manage custom checkout page content, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customContentReference?: CustomContentReference$1;\n      /**\n       * References to an external app and resource associated with this checkout.\n       * Used for integration and tracking across different platforms.\n       * @internal\n       */\n      externalReference?: ExternalReference$2;\n      /**\n       * Order ID.\n       *\n       * This field is empty until the checkout completes and becomes an order.\n       * @internal\n       * @readonly\n       */\n      orderId?: string | null;\n      /**\n       * Payment for subscriptions after free trial period.\n       * @internal\n       * @readonly\n       */\n      payAfterFreeTrial?: PriceSummary$4;\n  }\n  interface UpdateCheckoutOptions {\n      /** The code of an existing coupon to apply to checkout. For more information, see the [Coupons API](https://www.wix.com/velo/reference/wix-marketing-backend/coupons). */\n      couponCode?: string | null;\n      /** Gift card code. */\n      giftCardCode?: string | null;\n      /**\n       * Set of fields to update. Fields are inferred.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Merchant discounts to apply to specific line items.\n       * If no `lineItemIds` are passed, the discount will be applied to the whole checkout.\n       *\n       * >**Note:** Merchant discounts are restricted and can only be applied if you elevate permissions using the `wix-auth` [`elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n       * @internal\n       */\n      merchantDiscounts?: MerchantDiscountInput$1[];\n      /**\n       * When true, calculation errors won't fail the update request. When empty or false, the update won't happen and relevant error will return\n       * @internal\n       */\n      ignoreCalculationErrors?: boolean | null;\n      /**\n       * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n       *\n       * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n       */\n      overrideCheckoutUrl?: string | null;\n      /** Catalog line items. */\n      lineItems?: LineItem$4[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$2[];\n  }\n  /**\n   * Removes the coupon from a specified checkout.\n   *\n   *\n   * The `removeCoupon()` function returns a Promise that resolves to the updated checkout when the coupon is removed from the specified checkout.\n   *\n   * >**Note:** A checkout can only hold 1 coupon.\n   * @param _id - ID of the checkout to remove the coupon from.\n   * @public\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_CHECKOUTS\n   */\n  function removeCoupon(_id: string): Promise<RemoveCouponResponse>;\n  /**\n   * Removes the gift card from a specified checkout.\n   *\n   *\n   * The `removeGiftCard()` function returns a Promise that resolves to the updated checkout when the gift card is removed from the specified checkout.\n   *\n   * >**Note:** A checkout can only hold 1 gift card.\n   * @param _id - ID of the checkout to remove the gift card from.\n   * @public\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_CHECKOUTS\n   */\n  function removeGiftCard(_id: string): Promise<RemoveGiftCardResponse>;\n  /**\n   * Removes the `overrideCheckoutUrl` from a specified checkout.\n   *\n   * When `overrideCheckoutUrl` is removed, the `checkoutUrl` will be set to the default, standard\n   * Wix checkout page URL.\n   * @param _id - ID of the checkout to remove the override checkout url from.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_CHECKOUTS\n   */\n  function removeOverrideCheckoutUrl(_id: string): Promise<RemoveOverrideCheckoutUrlResponse>;\n  /**\n   * Adds catalog line items and/or custom line items to a checkout.\n   *\n   *\n   * The `addToCheckout()` function returns a Promise that resolves to the updated checkout when the specified items have been added.\n   * > **Note:** When adding catalog items, `options.lineItems.catalogReference` is required.\n   * @param _id - Checkout ID.\n   * @public\n   * @requiredField _id\n   * @requiredField options.customLineItems.descriptionLines\n   * @requiredField options.customLineItems.descriptionLines.name\n   * @requiredField options.customLineItems.itemType\n   * @requiredField options.customLineItems.productName\n   * @requiredField options.customLineItems.quantity\n   * @requiredField options.lineItems.catalogReference\n   * @requiredField options.lineItems.catalogReference.appId\n   * @requiredField options.lineItems.catalogReference.catalogItemId\n   * @requiredField options.lineItems.quantity\n   * @param options - Items to be added to checkout.\n   * @permissionId ECOM.MODIFY_CHECKOUTS\n   * @permissionId ECOM.ADMIN_MODIFY_CHECKOUTS\n   */\n  function addToCheckout(_id: string, options?: AddToCheckoutOptions): Promise<AddToCheckoutResponse>;\n  interface AddToCheckoutOptions {\n      /** Catalog line items. */\n      lineItems?: LineItem$4[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customLineItems?: CustomLineItem$2[];\n  }\n  /**\n   * Removes line items from the specified checkout.\n   *\n   *\n   * The `removeLineItems()` function returns a Promise that resolves to the updated checkout when the line items are removed from the specified checkout.\n   * @param _id - ID of the checkout to remove line items from.\n   * @public\n   * @requiredField _id\n   * @requiredField lineItemIds\n   * @param lineItemIds - IDs of the line items to be removed.\n   * To find the IDs of the checkout line items you'd like to remove, pass the `checkout._id` to [getCheckout()](https://www.wix.com/velo/reference/wix-ecom-backend/checkout/getcheckout) and look for the IDs under `lineItems` and/or `customLineItems`.\n   * @permissionId ECOM.MODIFY_CHECKOUTS\n   */\n  function removeLineItems(_id: string, lineItemIds: string[]): Promise<RemoveLineItemsResponse>;\n  /**\n   * Creates an order from a specified checkout.\n   *\n   * The `createOrder()` function returns a Promise that resolves to the new order's ID and `paymentGatewayOrderID` when the order is created.\n   * Pass the `paymentGatewayOrderId` as the `paymentId` param to the [`startPayment()`](https://www.wix.com/velo/reference/wix-pay-frontend/startpayment) function to allow a customer to pay for their order.\n   *\n   * > **Note:** The following requirements must be met for an order to be created from a checkout.\n   * > + A checkout cannot have calculation errors. Pass the `checkout._id` to [Get Checkout](https://www.wix.com/velo/reference/wix-ecom-backend/checkout/getcheckout) and take a look at the `calculationErrors` field.\n   * > + A checkout must have at least 1 line item.\n   * > + All of the line Items have an `availability.status` of `\"AVAILABLE\"` or `\"PARTIALLY_AVAILABLE\"`.\n   * > + If there is a payment to be made, meaning that `priceSummary.total` is greater than 0, the `billingInfo.address` field must be provided.\n   * > + When a checkout has line items to be shipped, the `shippingInfo.shippingDestination.address` and `shippingInfo.selectedCarrierServiceOption` fields must be provided.\n   * > + When a checkout has line items for pickup, the `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails` field must be provided.\n   * @param _id - Checkout ID.\n   * @public\n   * @requiredField _id\n   * @param options - Further order creation options.\n   * @permissionId ECOM.CREATE_ORDER_FROM_CHECKOUT\n   */\n  function createOrder$1(_id: string, options?: CreateOrderOptions$1): Promise<CreateOrderResponse$1>;\n  interface CreateOrderOptions$1 {\n      /**\n       * Custom URL params to be added to redirect URLs.\n       * @internal\n       */\n      urlParams?: Record<string, string>;\n      /** Indicates the payment method should be saved on the order */\n      savePaymentMethod?: boolean;\n      /** Indicates whether to authorize the payment and delay the capture */\n      delayCapture?: boolean;\n  }\n  /**\n   * Deprecated (use createOrder instead)\n   * @param _id - Checkout ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.CREATE_ORDER_FROM_CHECKOUT\n   */\n  function createOrderAndCharge(_id: string, options?: CreateOrderAndChargeOptions): Promise<CreateOrderAndChargeResponse>;\n  interface CreateOrderAndChargeOptions {\n      /** Payment token. */\n      paymentToken?: string | null;\n      /**\n       * Custom URL params to be added to redirect URLs.\n       * @internal\n       */\n      urlParams?: Record<string, string>;\n      /** Indicates the payment method should be saved on the order */\n      savePaymentMethod?: boolean;\n      /** Indicates whether to authorize the payment and delay the capture */\n      delayCapture?: boolean;\n  }\n  /**\n   * Marks a checkout as completed - `checkout.complete` boolean is set to `true`.\n   *\n   *\n   * The `markCheckoutAsCompleted()` function returns a Promise that resolves when the specified checkout is marked as completed.\n   * @param _id - Checkout ID.\n   * @public\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_CHECKOUTS\n   */\n  function markCheckoutAsCompleted(_id: string, options?: MarkCheckoutAsCompletedOptions): Promise<void>;\n  interface MarkCheckoutAsCompletedOptions {\n      /**\n       * Order ID.\n       * @internal\n       */\n      orderId?: string | null;\n  }\n  /**\n   * Updates the quantity of one or more line items in a checkout.\n   *\n   * This endpoint is only for updating the quantity of line items. To entirely remove a line item from\n   * the checkout, use [`removeLineItems()`](#removelineitems).\n   * To add a new line item to the checkout, use [`addToCheckout()`](#addtocheckout).\n   *\n   * This endpoint checks the amount of stock remaining for this line item. If the specified `quantity`\n   * is greater than the remaining stock, then the `quantity` returned in the response is the total amount\n   * of remaining stock.\n   * @param _id - Checkout ID.\n   * @param lineItems - Line item info to update.\n   * @public\n   * @requiredField _id\n   * @requiredField lineItems\n   * @requiredField lineItems._id\n   * @requiredField lineItems.quantity\n   * @permissionId ECOM.MODIFY_CHECKOUTS\n   */\n  function updateLineItemsQuantity(_id: string, lineItems: LineItemQuantityUpdate[]): Promise<UpdateLineItemsQuantityResponse>;\n  /** @param _id - Checkout ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.READ_PAYMENT_SETTINGS\n   * @adminMethod\n   */\n  function getCheckoutPaymentSettings(_id: string): Promise<GetCheckoutPaymentSettingsResponse>;\n  \n  type ecomV1CheckoutCheckout_universal_d_V1PaymentOptionType = V1PaymentOptionType;\n  const ecomV1CheckoutCheckout_universal_d_V1PaymentOptionType: typeof V1PaymentOptionType;\n  type ecomV1CheckoutCheckout_universal_d_V1PaymentOption = V1PaymentOption;\n  type ecomV1CheckoutCheckout_universal_d_ApiAddress = ApiAddress;\n  type ecomV1CheckoutCheckout_universal_d_CommonVatId = CommonVatId;\n  type ecomV1CheckoutCheckout_universal_d_CommonVatType = CommonVatType;\n  const ecomV1CheckoutCheckout_universal_d_CommonVatType: typeof CommonVatType;\n  type ecomV1CheckoutCheckout_universal_d_UpdatedCheckoutMessage = UpdatedCheckoutMessage;\n  type ecomV1CheckoutCheckout_universal_d_CreateCheckoutRequest = CreateCheckoutRequest;\n  type ecomV1CheckoutCheckout_universal_d_CreateCheckoutResponse = CreateCheckoutResponse;\n  type ecomV1CheckoutCheckout_universal_d_ShippingCalculationErrorData = ShippingCalculationErrorData;\n  type ecomV1CheckoutCheckout_universal_d_ShippingCalculationErrorDataShippingCalculationErrorOneOf = ShippingCalculationErrorDataShippingCalculationErrorOneOf;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutRequest = GetCheckoutRequest;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutResponse = GetCheckoutResponse;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutWithAllExtendedFieldsRequest = GetCheckoutWithAllExtendedFieldsRequest;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutWithAllExtendedFieldsResponse = GetCheckoutWithAllExtendedFieldsResponse;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutByCartIdRequest = GetCheckoutByCartIdRequest;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutByCartIdResponse = GetCheckoutByCartIdResponse;\n  type ecomV1CheckoutCheckout_universal_d_GetWixCheckoutURLRequest = GetWixCheckoutURLRequest;\n  type ecomV1CheckoutCheckout_universal_d_GetWixCheckoutURLResponse = GetWixCheckoutURLResponse;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutURLRequest = GetCheckoutURLRequest;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutURLResponse = GetCheckoutURLResponse;\n  type ecomV1CheckoutCheckout_universal_d_UpdateCheckoutRequest = UpdateCheckoutRequest;\n  type ecomV1CheckoutCheckout_universal_d_UpdateCheckoutResponse = UpdateCheckoutResponse;\n  type ecomV1CheckoutCheckout_universal_d_RemoveCouponRequest = RemoveCouponRequest;\n  type ecomV1CheckoutCheckout_universal_d_RemoveCouponResponse = RemoveCouponResponse;\n  type ecomV1CheckoutCheckout_universal_d_RemoveGiftCardRequest = RemoveGiftCardRequest;\n  type ecomV1CheckoutCheckout_universal_d_RemoveGiftCardResponse = RemoveGiftCardResponse;\n  type ecomV1CheckoutCheckout_universal_d_RemoveOverrideCheckoutUrlRequest = RemoveOverrideCheckoutUrlRequest;\n  type ecomV1CheckoutCheckout_universal_d_RemoveOverrideCheckoutUrlResponse = RemoveOverrideCheckoutUrlResponse;\n  type ecomV1CheckoutCheckout_universal_d_AddToCheckoutRequest = AddToCheckoutRequest;\n  type ecomV1CheckoutCheckout_universal_d_AddToCheckoutResponse = AddToCheckoutResponse;\n  type ecomV1CheckoutCheckout_universal_d_RemoveLineItemsRequest = RemoveLineItemsRequest;\n  type ecomV1CheckoutCheckout_universal_d_RemoveLineItemsResponse = RemoveLineItemsResponse;\n  type ecomV1CheckoutCheckout_universal_d_CreateOrderResponseIdOneOf = CreateOrderResponseIdOneOf;\n  type ecomV1CheckoutCheckout_universal_d_PaymentErrorResponseData = PaymentErrorResponseData;\n  type ecomV1CheckoutCheckout_universal_d_DoublePaymentErrorData = DoublePaymentErrorData;\n  type ecomV1CheckoutCheckout_universal_d_DoublePaymentErrorDataIdOneOf = DoublePaymentErrorDataIdOneOf;\n  type ecomV1CheckoutCheckout_universal_d_RedeemErrorData = RedeemErrorData;\n  type ecomV1CheckoutCheckout_universal_d_ViolationsList = ViolationsList;\n  type ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeRequest = CreateOrderAndChargeRequest;\n  type ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeResponse = CreateOrderAndChargeResponse;\n  type ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeResponseIdOneOf = CreateOrderAndChargeResponseIdOneOf;\n  type ecomV1CheckoutCheckout_universal_d_MarkCheckoutAsCompletedRequest = MarkCheckoutAsCompletedRequest;\n  type ecomV1CheckoutCheckout_universal_d_MarkCheckoutAsCompletedResponse = MarkCheckoutAsCompletedResponse;\n  type ecomV1CheckoutCheckout_universal_d_CheckoutMarkedAsCompleted = CheckoutMarkedAsCompleted;\n  type ecomV1CheckoutCheckout_universal_d_UpdateLineItemsQuantityRequest = UpdateLineItemsQuantityRequest;\n  type ecomV1CheckoutCheckout_universal_d_LineItemQuantityUpdate = LineItemQuantityUpdate;\n  type ecomV1CheckoutCheckout_universal_d_UpdateLineItemsQuantityResponse = UpdateLineItemsQuantityResponse;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutPaymentSettingsRequest = GetCheckoutPaymentSettingsRequest;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutPaymentSettingsResponse = GetCheckoutPaymentSettingsResponse;\n  type ecomV1CheckoutCheckout_universal_d_SubscriptionCreated = SubscriptionCreated;\n  type ecomV1CheckoutCheckout_universal_d_Subscription = Subscription;\n  type ecomV1CheckoutCheckout_universal_d_V1BuyerInfo = V1BuyerInfo;\n  type ecomV1CheckoutCheckout_universal_d_ChargeDetails = ChargeDetails;\n  type ecomV1CheckoutCheckout_universal_d_ProductDetails = ProductDetails;\n  type ecomV1CheckoutCheckout_universal_d_StoreSettings = StoreSettings;\n  type ecomV1CheckoutCheckout_universal_d_V1ShippingInfo = V1ShippingInfo;\n  type ecomV1CheckoutCheckout_universal_d_V1ShippingInfoDetailsOneOf = V1ShippingInfoDetailsOneOf;\n  type ecomV1CheckoutCheckout_universal_d_V1CustomField = V1CustomField;\n  type ecomV1CheckoutCheckout_universal_d_V1SubscriptionOptionInfo = V1SubscriptionOptionInfo;\n  type ecomV1CheckoutCheckout_universal_d_DiscountDiscountType = DiscountDiscountType;\n  const ecomV1CheckoutCheckout_universal_d_DiscountDiscountType: typeof DiscountDiscountType;\n  type ecomV1CheckoutCheckout_universal_d_ChannelInfoChannelType = ChannelInfoChannelType;\n  const ecomV1CheckoutCheckout_universal_d_ChannelInfoChannelType: typeof ChannelInfoChannelType;\n  type ecomV1CheckoutCheckout_universal_d_V1SubscriptionSettings = V1SubscriptionSettings;\n  const ecomV1CheckoutCheckout_universal_d_createCheckout: typeof createCheckout;\n  type ecomV1CheckoutCheckout_universal_d_CreateCheckoutOptions = CreateCheckoutOptions;\n  const ecomV1CheckoutCheckout_universal_d_getCheckout: typeof getCheckout;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutOptions = GetCheckoutOptions;\n  const ecomV1CheckoutCheckout_universal_d_getCheckoutByCartId: typeof getCheckoutByCartId;\n  const ecomV1CheckoutCheckout_universal_d_getWixCheckoutUrl: typeof getWixCheckoutUrl;\n  type ecomV1CheckoutCheckout_universal_d_GetWixCheckoutUrlOptions = GetWixCheckoutUrlOptions;\n  const ecomV1CheckoutCheckout_universal_d_getCheckoutUrl: typeof getCheckoutUrl;\n  type ecomV1CheckoutCheckout_universal_d_GetCheckoutUrlOptions = GetCheckoutUrlOptions;\n  const ecomV1CheckoutCheckout_universal_d_updateCheckout: typeof updateCheckout;\n  type ecomV1CheckoutCheckout_universal_d_UpdateCheckout = UpdateCheckout;\n  type ecomV1CheckoutCheckout_universal_d_UpdateCheckoutOptions = UpdateCheckoutOptions;\n  const ecomV1CheckoutCheckout_universal_d_removeCoupon: typeof removeCoupon;\n  const ecomV1CheckoutCheckout_universal_d_removeGiftCard: typeof removeGiftCard;\n  const ecomV1CheckoutCheckout_universal_d_removeOverrideCheckoutUrl: typeof removeOverrideCheckoutUrl;\n  const ecomV1CheckoutCheckout_universal_d_addToCheckout: typeof addToCheckout;\n  type ecomV1CheckoutCheckout_universal_d_AddToCheckoutOptions = AddToCheckoutOptions;\n  const ecomV1CheckoutCheckout_universal_d_removeLineItems: typeof removeLineItems;\n  const ecomV1CheckoutCheckout_universal_d_createOrderAndCharge: typeof createOrderAndCharge;\n  type ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeOptions = CreateOrderAndChargeOptions;\n  const ecomV1CheckoutCheckout_universal_d_markCheckoutAsCompleted: typeof markCheckoutAsCompleted;\n  type ecomV1CheckoutCheckout_universal_d_MarkCheckoutAsCompletedOptions = MarkCheckoutAsCompletedOptions;\n  const ecomV1CheckoutCheckout_universal_d_updateLineItemsQuantity: typeof updateLineItemsQuantity;\n  const ecomV1CheckoutCheckout_universal_d_getCheckoutPaymentSettings: typeof getCheckoutPaymentSettings;\n  namespace ecomV1CheckoutCheckout_universal_d {\n    export {\n      Checkout$1 as Checkout,\n      LineItem$4 as LineItem,\n      CatalogReference$6 as CatalogReference,\n      ProductName$3 as ProductName,\n      MultiCurrencyPrice$2 as MultiCurrencyPrice,\n      ItemTaxFullDetails$4 as ItemTaxFullDetails,\n      TaxRateBreakdown$2 as TaxRateBreakdown,\n      TaxBreakdown$2 as TaxBreakdown,\n      JurisdictionType$4 as JurisdictionType,\n      DescriptionLine$3 as DescriptionLine,\n      DescriptionLineValueOneOf$3 as DescriptionLineValueOneOf,\n      DescriptionLineDescriptionLineValueOneOf$3 as DescriptionLineDescriptionLineValueOneOf,\n      DescriptionLineName$3 as DescriptionLineName,\n      PlainTextValue$3 as PlainTextValue,\n      Color$3 as Color,\n      DescriptionLineType$3 as DescriptionLineType,\n      FocalPoint$4 as FocalPoint,\n      ItemAvailabilityInfo$1 as ItemAvailabilityInfo,\n      ItemAvailabilityStatus$1 as ItemAvailabilityStatus,\n      PhysicalProperties$5 as PhysicalProperties,\n      Scope$2 as Scope,\n      Group$2 as Group,\n      ItemType$4 as ItemType,\n      ItemTypeItemTypeDataOneOf$4 as ItemTypeItemTypeDataOneOf,\n      ItemTypeItemType$4 as ItemTypeItemType,\n      SubscriptionOptionInfo$2 as SubscriptionOptionInfo,\n      SubscriptionSettings$5 as SubscriptionSettings,\n      SubscriptionFrequency$5 as SubscriptionFrequency,\n      FreeTrialPeriod$1 as FreeTrialPeriod,\n      Title$1 as Title,\n      Description$1 as Description,\n      SecuredMedia$2 as SecuredMedia,\n      FileType$2 as FileType,\n      ecomV1CheckoutCheckout_universal_d_V1PaymentOptionType as V1PaymentOptionType,\n      ServiceProperties$3 as ServiceProperties,\n      PriceDescription$3 as PriceDescription,\n      CatalogOverrideFields$1 as CatalogOverrideFields,\n      ecomV1CheckoutCheckout_universal_d_V1PaymentOption as V1PaymentOption,\n      TaxableAddress$4 as TaxableAddress,\n      TaxableAddressTaxableAddressDataOneOf$4 as TaxableAddressTaxableAddressDataOneOf,\n      TaxableAddressType$4 as TaxableAddressType,\n      ExtendedFields$8 as ExtendedFields,\n      Policy$1 as Policy,\n      AddressWithContact$3 as AddressWithContact,\n      ecomV1CheckoutCheckout_universal_d_ApiAddress as ApiAddress,\n      StreetAddress$7 as StreetAddress,\n      AddressLocation$7 as AddressLocation,\n      FullAddressContactDetails$4 as FullAddressContactDetails,\n      ecomV1CheckoutCheckout_universal_d_CommonVatId as CommonVatId,\n      ecomV1CheckoutCheckout_universal_d_CommonVatType as CommonVatType,\n      ShippingInfo$2 as ShippingInfo,\n      SelectedCarrierServiceOption$2 as SelectedCarrierServiceOption,\n      DeliveryLogistics$5 as DeliveryLogistics,\n      PickupDetails$6 as PickupDetails,\n      PickupMethod$5 as PickupMethod,\n      DeliveryTimeSlot$5 as DeliveryTimeSlot,\n      SelectedCarrierServiceOptionPrices$2 as SelectedCarrierServiceOptionPrices,\n      SelectedCarrierServiceOptionOtherCharge$2 as SelectedCarrierServiceOptionOtherCharge,\n      ChargeType$4 as ChargeType,\n      DeliveryAllocation$3 as DeliveryAllocation,\n      Carrier$3 as Carrier,\n      Region$3 as Region,\n      ApplicableLineItems$3 as ApplicableLineItems,\n      ShippingRegion$4 as ShippingRegion,\n      CarrierServiceOption$2 as CarrierServiceOption,\n      ShippingOption$4 as ShippingOption,\n      ShippingPrice$4 as ShippingPrice,\n      OtherCharge$2 as OtherCharge,\n      BuyerInfo$5 as BuyerInfo,\n      BuyerInfoIdOneOf$3 as BuyerInfoIdOneOf,\n      PriceSummary$4 as PriceSummary,\n      CalculationErrors$3 as CalculationErrors,\n      CalculationErrorsShippingCalculationErrorOneOf$3 as CalculationErrorsShippingCalculationErrorOneOf,\n      Details$4 as Details,\n      DetailsKindOneOf$4 as DetailsKindOneOf,\n      ApplicationError$9 as ApplicationError,\n      ValidationError$4 as ValidationError,\n      RuleType$4 as RuleType,\n      FieldViolation$4 as FieldViolation,\n      SystemError$4 as SystemError,\n      CarrierErrors$3 as CarrierErrors,\n      CarrierError$4 as CarrierError,\n      GiftCard$4 as GiftCard,\n      AppliedDiscount$4 as AppliedDiscount,\n      AppliedDiscountDiscountSourceOneOf$4 as AppliedDiscountDiscountSourceOneOf,\n      DiscountType$4 as DiscountType,\n      Coupon$4 as Coupon,\n      MerchantDiscount$4 as MerchantDiscount,\n      DiscountRule$4 as DiscountRule,\n      DiscountRuleName$4 as DiscountRuleName,\n      LineItemDiscount$4 as LineItemDiscount,\n      CustomField$4 as CustomField,\n      WeightUnit$6 as WeightUnit,\n      TaxSummary$4 as TaxSummary,\n      TaxCalculationDetails$2 as TaxCalculationDetails,\n      TaxCalculationDetailsCalculationDetailsOneOf$2 as TaxCalculationDetailsCalculationDetailsOneOf,\n      RateType$2 as RateType,\n      ManualCalculationReason$2 as ManualCalculationReason,\n      AutoTaxFallbackCalculationDetails$2 as AutoTaxFallbackCalculationDetails,\n      FallbackReason$2 as FallbackReason,\n      AggregatedTaxBreakdown$2 as AggregatedTaxBreakdown,\n      ChannelType$4 as ChannelType,\n      CreatedBy$4 as CreatedBy,\n      CreatedByIdOneOf$2 as CreatedByIdOneOf,\n      MembershipOptions$2 as MembershipOptions,\n      Membership$2 as Membership,\n      MembershipName$4 as MembershipName,\n      MembershipPaymentCredits$2 as MembershipPaymentCredits,\n      InvalidMembership$2 as InvalidMembership,\n      SelectedMemberships$2 as SelectedMemberships,\n      SelectedMembership$2 as SelectedMembership,\n      AdditionalFee$4 as AdditionalFee,\n      ConversionInfo$1 as ConversionInfo,\n      Violation$1 as Violation,\n      Severity$1 as Severity,\n      Target$1 as Target,\n      TargetTargetTypeOneOf$1 as TargetTargetTypeOneOf,\n      NameInOther$1 as NameInOther,\n      NameInLineItem$1 as NameInLineItem,\n      SuggestedFix$1 as SuggestedFix,\n      Other$1 as Other,\n      TargetLineItem$1 as TargetLineItem,\n      CustomSettings$1 as CustomSettings,\n      CustomContentReference$1 as CustomContentReference,\n      ExternalReference$2 as ExternalReference,\n      ecomV1CheckoutCheckout_universal_d_UpdatedCheckoutMessage as UpdatedCheckoutMessage,\n      ecomV1CheckoutCheckout_universal_d_CreateCheckoutRequest as CreateCheckoutRequest,\n      CustomLineItem$2 as CustomLineItem,\n      MerchantDiscountInput$1 as MerchantDiscountInput,\n      ecomV1CheckoutCheckout_universal_d_CreateCheckoutResponse as CreateCheckoutResponse,\n      ecomV1CheckoutCheckout_universal_d_ShippingCalculationErrorData as ShippingCalculationErrorData,\n      ecomV1CheckoutCheckout_universal_d_ShippingCalculationErrorDataShippingCalculationErrorOneOf as ShippingCalculationErrorDataShippingCalculationErrorOneOf,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutRequest as GetCheckoutRequest,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutResponse as GetCheckoutResponse,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutWithAllExtendedFieldsRequest as GetCheckoutWithAllExtendedFieldsRequest,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutWithAllExtendedFieldsResponse as GetCheckoutWithAllExtendedFieldsResponse,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutByCartIdRequest as GetCheckoutByCartIdRequest,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutByCartIdResponse as GetCheckoutByCartIdResponse,\n      ecomV1CheckoutCheckout_universal_d_GetWixCheckoutURLRequest as GetWixCheckoutURLRequest,\n      ecomV1CheckoutCheckout_universal_d_GetWixCheckoutURLResponse as GetWixCheckoutURLResponse,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutURLRequest as GetCheckoutURLRequest,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutURLResponse as GetCheckoutURLResponse,\n      ecomV1CheckoutCheckout_universal_d_UpdateCheckoutRequest as UpdateCheckoutRequest,\n      ecomV1CheckoutCheckout_universal_d_UpdateCheckoutResponse as UpdateCheckoutResponse,\n      ecomV1CheckoutCheckout_universal_d_RemoveCouponRequest as RemoveCouponRequest,\n      ecomV1CheckoutCheckout_universal_d_RemoveCouponResponse as RemoveCouponResponse,\n      ecomV1CheckoutCheckout_universal_d_RemoveGiftCardRequest as RemoveGiftCardRequest,\n      ecomV1CheckoutCheckout_universal_d_RemoveGiftCardResponse as RemoveGiftCardResponse,\n      ecomV1CheckoutCheckout_universal_d_RemoveOverrideCheckoutUrlRequest as RemoveOverrideCheckoutUrlRequest,\n      ecomV1CheckoutCheckout_universal_d_RemoveOverrideCheckoutUrlResponse as RemoveOverrideCheckoutUrlResponse,\n      ecomV1CheckoutCheckout_universal_d_AddToCheckoutRequest as AddToCheckoutRequest,\n      ecomV1CheckoutCheckout_universal_d_AddToCheckoutResponse as AddToCheckoutResponse,\n      ecomV1CheckoutCheckout_universal_d_RemoveLineItemsRequest as RemoveLineItemsRequest,\n      ecomV1CheckoutCheckout_universal_d_RemoveLineItemsResponse as RemoveLineItemsResponse,\n      CreateOrderRequest$1 as CreateOrderRequest,\n      CreateOrderResponse$1 as CreateOrderResponse,\n      ecomV1CheckoutCheckout_universal_d_CreateOrderResponseIdOneOf as CreateOrderResponseIdOneOf,\n      ecomV1CheckoutCheckout_universal_d_PaymentErrorResponseData as PaymentErrorResponseData,\n      ecomV1CheckoutCheckout_universal_d_DoublePaymentErrorData as DoublePaymentErrorData,\n      ecomV1CheckoutCheckout_universal_d_DoublePaymentErrorDataIdOneOf as DoublePaymentErrorDataIdOneOf,\n      ecomV1CheckoutCheckout_universal_d_RedeemErrorData as RedeemErrorData,\n      ecomV1CheckoutCheckout_universal_d_ViolationsList as ViolationsList,\n      ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeRequest as CreateOrderAndChargeRequest,\n      ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeResponse as CreateOrderAndChargeResponse,\n      ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeResponseIdOneOf as CreateOrderAndChargeResponseIdOneOf,\n      ecomV1CheckoutCheckout_universal_d_MarkCheckoutAsCompletedRequest as MarkCheckoutAsCompletedRequest,\n      ecomV1CheckoutCheckout_universal_d_MarkCheckoutAsCompletedResponse as MarkCheckoutAsCompletedResponse,\n      ecomV1CheckoutCheckout_universal_d_CheckoutMarkedAsCompleted as CheckoutMarkedAsCompleted,\n      ecomV1CheckoutCheckout_universal_d_UpdateLineItemsQuantityRequest as UpdateLineItemsQuantityRequest,\n      ecomV1CheckoutCheckout_universal_d_LineItemQuantityUpdate as LineItemQuantityUpdate,\n      ecomV1CheckoutCheckout_universal_d_UpdateLineItemsQuantityResponse as UpdateLineItemsQuantityResponse,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutPaymentSettingsRequest as GetCheckoutPaymentSettingsRequest,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutPaymentSettingsResponse as GetCheckoutPaymentSettingsResponse,\n      PaymentOption$1 as PaymentOption,\n      ecomV1CheckoutCheckout_universal_d_SubscriptionCreated as SubscriptionCreated,\n      ecomV1CheckoutCheckout_universal_d_Subscription as Subscription,\n      ecomV1CheckoutCheckout_universal_d_V1BuyerInfo as V1BuyerInfo,\n      IdentityType$4 as IdentityType,\n      V1LineItem$1 as V1LineItem,\n      OptionSelection$1 as OptionSelection,\n      CustomTextFieldSelection$1 as CustomTextFieldSelection,\n      ecomV1CheckoutCheckout_universal_d_ChargeDetails as ChargeDetails,\n      ecomV1CheckoutCheckout_universal_d_ProductDetails as ProductDetails,\n      LineItemType$1 as LineItemType,\n      MediaItem$1 as MediaItem,\n      MediaItemType$1 as MediaItemType,\n      Totals$1 as Totals,\n      ecomV1CheckoutCheckout_universal_d_StoreSettings as StoreSettings,\n      Address$8 as Address,\n      AddressAddressLine1OptionsOneOf$1 as AddressAddressLine1OptionsOneOf,\n      FullName$1 as FullName,\n      Street$1 as Street,\n      VatId$5 as VatId,\n      VatType$5 as VatType,\n      ecomV1CheckoutCheckout_universal_d_V1ShippingInfo as V1ShippingInfo,\n      ecomV1CheckoutCheckout_universal_d_V1ShippingInfoDetailsOneOf as V1ShippingInfoDetailsOneOf,\n      ShipmentDetails$1 as ShipmentDetails,\n      V1PickupDetails$1 as V1PickupDetails,\n      PickupAddress$3 as PickupAddress,\n      AppliedCoupon$1 as AppliedCoupon,\n      ecomV1CheckoutCheckout_universal_d_V1CustomField as V1CustomField,\n      ecomV1CheckoutCheckout_universal_d_V1SubscriptionOptionInfo as V1SubscriptionOptionInfo,\n      Discount$2 as Discount,\n      ecomV1CheckoutCheckout_universal_d_DiscountDiscountType as DiscountDiscountType,\n      ChannelInfo$3 as ChannelInfo,\n      ecomV1CheckoutCheckout_universal_d_ChannelInfoChannelType as ChannelInfoChannelType,\n      ecomV1CheckoutCheckout_universal_d_V1SubscriptionSettings as V1SubscriptionSettings,\n      BillingInfo$1 as BillingInfo,\n      Empty$9 as Empty,\n      DomainEvent$g as DomainEvent,\n      DomainEventBodyOneOf$g as DomainEventBodyOneOf,\n      EntityCreatedEvent$g as EntityCreatedEvent,\n      RestoreInfo$g as RestoreInfo,\n      EntityUpdatedEvent$g as EntityUpdatedEvent,\n      EntityDeletedEvent$g as EntityDeletedEvent,\n      ActionEvent$g as ActionEvent,\n      MessageEnvelope$f as MessageEnvelope,\n      IdentificationData$g as IdentificationData,\n      IdentificationDataIdOneOf$g as IdentificationDataIdOneOf,\n      WebhookIdentityType$f as WebhookIdentityType,\n      ecomV1CheckoutCheckout_universal_d_createCheckout as createCheckout,\n      ecomV1CheckoutCheckout_universal_d_CreateCheckoutOptions as CreateCheckoutOptions,\n      ecomV1CheckoutCheckout_universal_d_getCheckout as getCheckout,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutOptions as GetCheckoutOptions,\n      ecomV1CheckoutCheckout_universal_d_getCheckoutByCartId as getCheckoutByCartId,\n      ecomV1CheckoutCheckout_universal_d_getWixCheckoutUrl as getWixCheckoutUrl,\n      ecomV1CheckoutCheckout_universal_d_GetWixCheckoutUrlOptions as GetWixCheckoutUrlOptions,\n      ecomV1CheckoutCheckout_universal_d_getCheckoutUrl as getCheckoutUrl,\n      ecomV1CheckoutCheckout_universal_d_GetCheckoutUrlOptions as GetCheckoutUrlOptions,\n      ecomV1CheckoutCheckout_universal_d_updateCheckout as updateCheckout,\n      ecomV1CheckoutCheckout_universal_d_UpdateCheckout as UpdateCheckout,\n      ecomV1CheckoutCheckout_universal_d_UpdateCheckoutOptions as UpdateCheckoutOptions,\n      ecomV1CheckoutCheckout_universal_d_removeCoupon as removeCoupon,\n      ecomV1CheckoutCheckout_universal_d_removeGiftCard as removeGiftCard,\n      ecomV1CheckoutCheckout_universal_d_removeOverrideCheckoutUrl as removeOverrideCheckoutUrl,\n      ecomV1CheckoutCheckout_universal_d_addToCheckout as addToCheckout,\n      ecomV1CheckoutCheckout_universal_d_AddToCheckoutOptions as AddToCheckoutOptions,\n      ecomV1CheckoutCheckout_universal_d_removeLineItems as removeLineItems,\n      createOrder$1 as createOrder,\n      CreateOrderOptions$1 as CreateOrderOptions,\n      ecomV1CheckoutCheckout_universal_d_createOrderAndCharge as createOrderAndCharge,\n      ecomV1CheckoutCheckout_universal_d_CreateOrderAndChargeOptions as CreateOrderAndChargeOptions,\n      ecomV1CheckoutCheckout_universal_d_markCheckoutAsCompleted as markCheckoutAsCompleted,\n      ecomV1CheckoutCheckout_universal_d_MarkCheckoutAsCompletedOptions as MarkCheckoutAsCompletedOptions,\n      ecomV1CheckoutCheckout_universal_d_updateLineItemsQuantity as updateLineItemsQuantity,\n      ecomV1CheckoutCheckout_universal_d_getCheckoutPaymentSettings as getCheckoutPaymentSettings,\n    };\n  }\n  \n  interface CheckoutSettings {\n      /** Checkout policies. */\n      checkoutPolicies?: CheckoutPolicies;\n      /** Settings that apply to checkout fields and the checkout process. */\n      checkoutFields?: CheckoutFields;\n      /** Checkout brand settings. */\n      checkoutBrand?: CheckoutBrand;\n      /**\n       * Date and time the checkout settings were created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the checkout settings were updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface CheckoutPolicies {\n      /** Terms and conditions. */\n      termsAndConditions?: TermsAndConditionsPolicy;\n      /** Privacy policy. */\n      privacyPolicy?: PrivacyPolicy;\n      /** Return policy. */\n      returnPolicy?: ReturnPolicy;\n      /** Digital item policy. */\n      digitalItemPolicy?: DigitalItemPolicy;\n      /** \"Contact us\" information. */\n      contactUs?: ContactUsPolicy;\n      /** Custom policy. */\n      customPolicy?: CustomCheckoutPolicy;\n  }\n  interface TermsAndConditionsPolicy {\n      /**\n       * Whether the terms & conditions policy is visible to the customer in the checkout page. <br><br>\n       *\n       * Default: `false`\n       */\n      visible?: boolean | null;\n      /** Terms and conditions policy content. */\n      content?: string | null;\n  }\n  interface PrivacyPolicy {\n      /**\n       * Whether the privacy policy is visible to the customer in the checkout page. <br><br>\n       *\n       * Default: `false`\n       */\n      visible?: boolean | null;\n      /** Privacy policy content. */\n      content?: string | null;\n  }\n  interface ReturnPolicy {\n      /**\n       * Whether the return policy is visible to the customer in the checkout page. <br><br>\n       *\n       * Default: `false`\n       */\n      visible?: boolean | null;\n      /** Return policy content. */\n      content?: string | null;\n  }\n  interface DigitalItemPolicy {\n      /**\n       * Whether the digital item policy is visible to the customer in the checkout page. <br><br>\n       *\n       * Default: `false`\n       */\n      visible?: boolean | null;\n      /** Digital item policy content. */\n      content?: string | null;\n  }\n  interface ContactUsPolicy {\n      /**\n       * Whether the contact us policy is visible to the customer in the checkout page. <br><br>\n       *\n       * Default: `false`\n       */\n      visible?: boolean | null;\n      /** Contact us policy content. */\n      content?: string | null;\n  }\n  interface CustomCheckoutPolicy {\n      /**\n       * Whether the policy is visible to the customer on the checkout page.\n       * Default: `false`.\n       */\n      visible?: boolean | null;\n      /** Policy content. */\n      content?: string | null;\n      /** Policy title. */\n      title?: string | null;\n  }\n  interface CheckoutFields {\n      /**\n       * Subscription checkbox.\n       * Default:\n       * - `visible`: `false`,\n       * - `checkedByDefault`: `false`\n       */\n      subscriptionCheckbox?: CheckboxField;\n      /**\n       * Policy agreement checkbox.\n       * Default:\n       * - `visible`: `true`,\n       * - `checkedByDefault`: `true`\n       */\n      policyAgreementCheckbox?: CheckboxField;\n      /**\n       * Whether the ability to redeem a gift card is enabled.\n       * Default: `false`.\n       */\n      giftCardRedeemEnabled?: boolean | null;\n      /**\n       * Whether to allow for MIT transactions.\n       * Default: `false`.\n       */\n      mitEnabled?: boolean | null;\n      /**\n       * Whether to allow for Auth & Capture transactions. <br><br>\n       *\n       * Default: `false`\n       */\n      delayCaptureEnabled?: boolean | null;\n      /**\n       * Whether to automatically capture the transaction before the authorization expires.\n       *\n       * Default: `true`\n       * >**Note:** this setting is only relevant when `delay_capture_enabled: true`.\n       */\n      captureBeforeExpiryEnabled?: boolean | null;\n  }\n  interface CheckboxField {\n      /** Whether the checkbox is visible to the customer. */\n      visible?: boolean | null;\n      /** Whether the checkbox is checked by default. */\n      checkedByDefault?: boolean | null;\n  }\n  interface CheckoutBrand {\n      /** Checkout header. */\n      header?: CheckoutHeader;\n  }\n  interface CheckoutHeader {\n      /**\n       * Textual content to be included in the header (e.g. Business Name)\n       * TODO: update maxLength validation once limitation is known\n       */\n      text?: string | null;\n      /** Specifications for when a logo is included in the header. */\n      logo?: Logo;\n      /**\n       * Alignment within the header.\n       *\n       * >**Note:** `SIDE` alignment is decided depending on the locale's language. For example, scripts like Hebrew and Arabic will automatically align right-to-left.\n       */\n      alignment?: Alignment;\n      /**\n       * Whether to display the 'Checkout' label within the header.\n       * Depending on the locale, the label may be translated.\n       */\n      displayCheckoutLabel?: boolean | null;\n  }\n  interface Logo {\n      /**\n       * Logo image.\n       * @internal\n       */\n      image?: string;\n      /** Size of the logo. */\n      size?: LogoSize;\n  }\n  interface FocalPoint$3 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  enum LogoSize {\n      UNKNOWN_LOGO_SIZE = \"UNKNOWN_LOGO_SIZE\",\n      SMALL = \"SMALL\",\n      MEDIUM = \"MEDIUM\",\n      LARGE = \"LARGE\"\n  }\n  enum Alignment {\n      UNKNOWN_ALIGNMENT = \"UNKNOWN_ALIGNMENT\",\n      SIDE = \"SIDE\",\n      CENTER = \"CENTER\"\n  }\n  interface GetCheckoutSettingsRequest {\n  }\n  interface GetCheckoutSettingsResponse {\n      /** Checkout settings. */\n      checkoutSettings?: CheckoutSettings;\n  }\n  interface UpdateCheckoutSettingsRequest {\n      /** Checkout settings to update. */\n      checkoutSettings: CheckoutSettings;\n      /**\n       * List of exact fields to update. For example, if you define only `giftCardRedeemEnabled`, all other fields are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateCheckoutSettingsResponse {\n      /** The updated checkout settings. */\n      checkoutSettings?: CheckoutSettings;\n  }\n  interface ListCheckoutSettingsRequest {\n  }\n  interface ListCheckoutSettingsResponse {\n      /** List of retrieved checkout settings. */\n      checkoutSettings?: CheckoutSettings[];\n  }\n  interface GiftCardProviderWasProvisioned {\n      /** The gift card provider which was installed */\n      providerAppDefId?: string;\n      providerInstanceId?: string;\n  }\n  interface Empty$8 {\n  }\n  interface DeleteCheckoutSettingsRequest {\n  }\n  interface DeleteCheckoutSettingsResponse {\n  }\n  interface DomainEvent$f extends DomainEventBodyOneOf$f {\n      createdEvent?: EntityCreatedEvent$f;\n      updatedEvent?: EntityUpdatedEvent$f;\n      deletedEvent?: EntityDeletedEvent$f;\n      actionEvent?: ActionEvent$f;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$f {\n      createdEvent?: EntityCreatedEvent$f;\n      updatedEvent?: EntityUpdatedEvent$f;\n      deletedEvent?: EntityDeletedEvent$f;\n      actionEvent?: ActionEvent$f;\n  }\n  interface EntityCreatedEvent$f {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$f;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$f {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$f {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$f {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$f {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$e {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$f;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$f extends IdentificationDataIdOneOf$f {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$e;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$f {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$e {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the sites' checkout settings.\n   *\n   *\n   * The `getCheckoutSettings()` function returns a Promise that resolves to checkout settings.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.READ_CHECKOUT_SETTINGS\n   * @returns The requested checkout settings.\n   */\n  function getCheckoutSettings(): Promise<GetCheckoutSettingsResponse>;\n  /**\n   * Updates the sites' checkout settings.\n   *\n   *\n   * The `updateCheckoutSettings()` function returns a Promise that resolves to the newly updated checkout settings.\n   * @param checkoutSettings - Checkout settings to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField checkoutSettings\n   * @permissionId ECOM.UPDATE_CHECKOUT_SETTINGS\n   * @adminMethod\n   * @returns The updated checkout settings.\n   */\n  function updateCheckoutSettings(checkoutSettings: CheckoutSettings, options?: UpdateCheckoutSettingsOptions): Promise<UpdateCheckoutSettingsResponse>;\n  interface UpdateCheckoutSettingsOptions {\n      /**\n       * List of exact fields to update. For example, if you define only `giftCardRedeemEnabled`, all other fields are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  \n  type ecomV1CheckoutSettings_universal_d_CheckoutSettings = CheckoutSettings;\n  type ecomV1CheckoutSettings_universal_d_CheckoutPolicies = CheckoutPolicies;\n  type ecomV1CheckoutSettings_universal_d_TermsAndConditionsPolicy = TermsAndConditionsPolicy;\n  type ecomV1CheckoutSettings_universal_d_PrivacyPolicy = PrivacyPolicy;\n  type ecomV1CheckoutSettings_universal_d_ReturnPolicy = ReturnPolicy;\n  type ecomV1CheckoutSettings_universal_d_DigitalItemPolicy = DigitalItemPolicy;\n  type ecomV1CheckoutSettings_universal_d_ContactUsPolicy = ContactUsPolicy;\n  type ecomV1CheckoutSettings_universal_d_CustomCheckoutPolicy = CustomCheckoutPolicy;\n  type ecomV1CheckoutSettings_universal_d_CheckoutFields = CheckoutFields;\n  type ecomV1CheckoutSettings_universal_d_CheckboxField = CheckboxField;\n  type ecomV1CheckoutSettings_universal_d_CheckoutBrand = CheckoutBrand;\n  type ecomV1CheckoutSettings_universal_d_CheckoutHeader = CheckoutHeader;\n  type ecomV1CheckoutSettings_universal_d_Logo = Logo;\n  type ecomV1CheckoutSettings_universal_d_LogoSize = LogoSize;\n  const ecomV1CheckoutSettings_universal_d_LogoSize: typeof LogoSize;\n  type ecomV1CheckoutSettings_universal_d_Alignment = Alignment;\n  const ecomV1CheckoutSettings_universal_d_Alignment: typeof Alignment;\n  type ecomV1CheckoutSettings_universal_d_GetCheckoutSettingsRequest = GetCheckoutSettingsRequest;\n  type ecomV1CheckoutSettings_universal_d_GetCheckoutSettingsResponse = GetCheckoutSettingsResponse;\n  type ecomV1CheckoutSettings_universal_d_UpdateCheckoutSettingsRequest = UpdateCheckoutSettingsRequest;\n  type ecomV1CheckoutSettings_universal_d_UpdateCheckoutSettingsResponse = UpdateCheckoutSettingsResponse;\n  type ecomV1CheckoutSettings_universal_d_ListCheckoutSettingsRequest = ListCheckoutSettingsRequest;\n  type ecomV1CheckoutSettings_universal_d_ListCheckoutSettingsResponse = ListCheckoutSettingsResponse;\n  type ecomV1CheckoutSettings_universal_d_GiftCardProviderWasProvisioned = GiftCardProviderWasProvisioned;\n  type ecomV1CheckoutSettings_universal_d_DeleteCheckoutSettingsRequest = DeleteCheckoutSettingsRequest;\n  type ecomV1CheckoutSettings_universal_d_DeleteCheckoutSettingsResponse = DeleteCheckoutSettingsResponse;\n  const ecomV1CheckoutSettings_universal_d_getCheckoutSettings: typeof getCheckoutSettings;\n  const ecomV1CheckoutSettings_universal_d_updateCheckoutSettings: typeof updateCheckoutSettings;\n  type ecomV1CheckoutSettings_universal_d_UpdateCheckoutSettingsOptions = UpdateCheckoutSettingsOptions;\n  namespace ecomV1CheckoutSettings_universal_d {\n    export {\n      ecomV1CheckoutSettings_universal_d_CheckoutSettings as CheckoutSettings,\n      ecomV1CheckoutSettings_universal_d_CheckoutPolicies as CheckoutPolicies,\n      ecomV1CheckoutSettings_universal_d_TermsAndConditionsPolicy as TermsAndConditionsPolicy,\n      ecomV1CheckoutSettings_universal_d_PrivacyPolicy as PrivacyPolicy,\n      ecomV1CheckoutSettings_universal_d_ReturnPolicy as ReturnPolicy,\n      ecomV1CheckoutSettings_universal_d_DigitalItemPolicy as DigitalItemPolicy,\n      ecomV1CheckoutSettings_universal_d_ContactUsPolicy as ContactUsPolicy,\n      ecomV1CheckoutSettings_universal_d_CustomCheckoutPolicy as CustomCheckoutPolicy,\n      ecomV1CheckoutSettings_universal_d_CheckoutFields as CheckoutFields,\n      ecomV1CheckoutSettings_universal_d_CheckboxField as CheckboxField,\n      ecomV1CheckoutSettings_universal_d_CheckoutBrand as CheckoutBrand,\n      ecomV1CheckoutSettings_universal_d_CheckoutHeader as CheckoutHeader,\n      ecomV1CheckoutSettings_universal_d_Logo as Logo,\n      FocalPoint$3 as FocalPoint,\n      ecomV1CheckoutSettings_universal_d_LogoSize as LogoSize,\n      ecomV1CheckoutSettings_universal_d_Alignment as Alignment,\n      ecomV1CheckoutSettings_universal_d_GetCheckoutSettingsRequest as GetCheckoutSettingsRequest,\n      ecomV1CheckoutSettings_universal_d_GetCheckoutSettingsResponse as GetCheckoutSettingsResponse,\n      ecomV1CheckoutSettings_universal_d_UpdateCheckoutSettingsRequest as UpdateCheckoutSettingsRequest,\n      ecomV1CheckoutSettings_universal_d_UpdateCheckoutSettingsResponse as UpdateCheckoutSettingsResponse,\n      ecomV1CheckoutSettings_universal_d_ListCheckoutSettingsRequest as ListCheckoutSettingsRequest,\n      ecomV1CheckoutSettings_universal_d_ListCheckoutSettingsResponse as ListCheckoutSettingsResponse,\n      ecomV1CheckoutSettings_universal_d_GiftCardProviderWasProvisioned as GiftCardProviderWasProvisioned,\n      Empty$8 as Empty,\n      ecomV1CheckoutSettings_universal_d_DeleteCheckoutSettingsRequest as DeleteCheckoutSettingsRequest,\n      ecomV1CheckoutSettings_universal_d_DeleteCheckoutSettingsResponse as DeleteCheckoutSettingsResponse,\n      DomainEvent$f as DomainEvent,\n      DomainEventBodyOneOf$f as DomainEventBodyOneOf,\n      EntityCreatedEvent$f as EntityCreatedEvent,\n      RestoreInfo$f as RestoreInfo,\n      EntityUpdatedEvent$f as EntityUpdatedEvent,\n      EntityDeletedEvent$f as EntityDeletedEvent,\n      ActionEvent$f as ActionEvent,\n      MessageEnvelope$e as MessageEnvelope,\n      IdentificationData$f as IdentificationData,\n      IdentificationDataIdOneOf$f as IdentificationDataIdOneOf,\n      WebhookIdentityType$e as WebhookIdentityType,\n      ecomV1CheckoutSettings_universal_d_getCheckoutSettings as getCheckoutSettings,\n      ecomV1CheckoutSettings_universal_d_updateCheckoutSettings as updateCheckoutSettings,\n      ecomV1CheckoutSettings_universal_d_UpdateCheckoutSettingsOptions as UpdateCheckoutSettingsOptions,\n    };\n  }\n  \n  interface CheckoutTemplate {\n      /**\n       * Checkout template ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Status of the checkout template.\n       *\n       * When `status` is `INACTIVE` checkouts will not be created with this template `_id`. Instead, the function will redirect to the domain site.\n       *\n       * Default: `ACTIVE`\n       */\n      status?: Status$2;\n      /** Custom settings to apply to the checkout page created from this template. */\n      customization?: CheckoutCustomization;\n      /**\n       * Catalog line items.\n       *\n       * Max: 300 items\n       */\n      lineItems?: LineItem$3[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * Max: 300 items\n       */\n      customLineItems?: CustomLineItem$1[];\n      /**\n       * Coupon code.\n       *\n       * Note that a checkout can only hold one `couponCode` at a time. If an additional `couponCode` is added, it will override the existing `couponCode`.\n       * For additional information, see the Coupons API.\n       */\n      couponCode?: string | null;\n      /**\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$7;\n      /**\n       * Reference IDs for the app and component providing custom checkout page content.\n       *\n       * To access and manage custom checkout page content, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customContentReference?: CustomContentReference;\n      /**\n       * References to an external app and resource associated with the checkout.\n       * Used for integration and tracking across different platforms.\n       * @internal\n       */\n      externalReference?: ExternalReference$1;\n  }\n  enum Status$2 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  interface CheckoutCustomization {\n      /** Web client customizations. These customizations only apply to the standard Wix checkout page. */\n      webClient?: WebClientCustomization;\n      /**\n       * Whether to lock the ability to add or remove a gift card.\n       *\n       * Default: `false`\n       */\n      lockedGiftCard?: boolean;\n      /**\n       * Whether to lock the ability to apply or remove a coupon code.\n       *\n       * Default: `false`\n       */\n      lockedCoupon?: boolean;\n      /**\n       * Whether to disable manual payment option for this checkout.\n       *\n       * Default: `false`\n       */\n      disabledManualPayment?: boolean;\n  }\n  interface WebClientCustomization {\n      /**\n       * Whether to disable the \"Continue shopping\" button.\n       *\n       * Default: `false`\n       */\n      disabledContinueShoppingButton?: boolean;\n      /**\n       * Whether to disable policy agreement checkout in the checkout page\n       *\n       * Default: `false`\n       */\n      disabledPolicyAgreementCheckbox?: boolean;\n  }\n  interface LineItem$3 {\n      /**\n       * Item quantity.\n       *\n       * Min: `1` <br />\n       * Max: `100000`\n       */\n      quantity?: number;\n      /** Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$5;\n      /** Overriding values for catalog item properties. */\n      catalogOverrideFields?: CatalogOverrideFields;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$5 {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface CatalogOverrideFields {\n      /** Item name. */\n      productName?: ProductName$2;\n      /** Item price **after** discounts. */\n      price?: string | null;\n      /** Item price **before** discounts. */\n      fullPrice?: string | null;\n      /** Item description lines. Used when displaying the line item to customers. */\n      descriptionLines?: DescriptionLine$2[];\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties$4;\n      /** Item image. */\n      image?: string;\n      /** Payment method selected for the item. */\n      paymentOption?: PaymentOption;\n      /** Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`. */\n      depositAmount?: string | null;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       */\n      savePaymentMethod?: boolean | null;\n  }\n  interface ProductName$2 {\n      /**\n       * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n       *\n       * Min: 1 character.\n       * Max: 200 characters.\n       */\n      original?: string;\n      /**\n       * Item name translated into the buyer's language.\n       *\n       * Min: 1 character.\n       * Max: 400 characters.\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface DescriptionLine$2 extends DescriptionLineValueOneOf$2, DescriptionLineDescriptionLineValueOneOf$2 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$2;\n      /** Description line color value. */\n      colorInfo?: Color$2;\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$2;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n      /** Description line name. */\n      name?: DescriptionLineName$2;\n      /**\n       * Description line type.\n       * @internal\n       * @deprecated\n       */\n      lineType?: DescriptionLineType$2;\n  }\n  /** @oneof */\n  interface DescriptionLineValueOneOf$2 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$2;\n      /** Description line color value. */\n      colorInfo?: Color$2;\n  }\n  /** @oneof */\n  interface DescriptionLineDescriptionLineValueOneOf$2 {\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$2;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n  }\n  interface DescriptionLineName$2 {\n      /** Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface PlainTextValue$2 {\n      /** Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line plain text value translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Color$2 {\n      /** Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line color name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n      /** HEX or RGB color code for display. */\n      code?: string | null;\n  }\n  enum DescriptionLineType$2 {\n      /** Unrecognized type. */\n      UNRECOGNISED = \"UNRECOGNISED\",\n      /** Plain text type. */\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      /** Color type. */\n      COLOR = \"COLOR\"\n  }\n  interface PhysicalProperties$4 {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface PaymentOption {\n      /**\n       * + `FULL_PAYMENT_ONLINE`: The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE`: The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP`: Payment for this item is done by charging a membership. When selected, `price` is `0`.\n       * + `DEPOSIT_ONLINE`: Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is specified in `depositAmount`.\n       * + `MEMBERSHIP_OFFLINE`: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.\n       */\n      value?: PaymentOptionType$3;\n  }\n  /** Type of selected payment option for catalog item */\n  enum PaymentOptionType$3 {\n      /** The entire payment for this item happens as part of the checkout. */\n      FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n      /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /** Payment for this item is done by charging a membership. When selected, `price` is `0`. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n      DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\",\n      /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface CustomLineItem$1 {\n      /**\n       * Custom line item quantity.\n       *\n       * Min: `1`\n       * Max: `100000`\n       */\n      quantity?: number;\n      /**\n       * Custom line item price.\n       *\n       * Must be a number or a decimal without symbols.\n       */\n      price?: string;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription$2;\n      /** Custom line item description lines. Used for display purposes for the cart, checkout and order. */\n      descriptionLines?: DescriptionLine$2[];\n      /** Custom line item's media. */\n      media?: string;\n      /**\n       * Custom line item ID. If passed, `id` must be unique.\n       *\n       * Default: auto-generated ID\n       */\n      _id?: string | null;\n      /** Tax group ID for this custom line item. */\n      taxGroupId?: string | null;\n      /** Name of the item or product. */\n      productName?: ProductName$2;\n      /** URL to the item's page on the site. When not provided, the link back from the cart page to the relevant product page will not work. */\n      url?: string;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType$3;\n      /** Item price **before** catalog-defined discount. Defaults to `price` when not provided. */\n      fullPrice?: string | null;\n      /**\n       * Item quantity available for purchase. Only return this if inventory is managed.\n       * Not returning this field means that the buyer can \"infinitely\" tick up the number of items in the cart.\n       */\n      quantityAvailable?: number | null;\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties$4;\n      /**\n       * Subscription option info. This field is internal and only used by Stores.\n       * @internal\n       */\n      subscriptionOptionInfo?: SubscriptionOptionInfo$1;\n      /**\n       * Digital file ID and name. Required if `itemType: DIGITAL`.\n       * @internal\n       */\n      digitalFile?: SecuredMedia$1;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       *\n       * + `FULL_PAYMENT_ONLINE` - Entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE` - Entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `DEPOSIT_ONLINE` -  Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.\n       */\n      paymentOption?: PaymentOptionType$3;\n      /**\n       * Service properties. When relevant, this contains information such as date and number of participants.\n       * Used, among other things, when checking for valid memberships.\n       */\n      serviceProperties?: ServiceProperties$2;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       *\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field is the same as `catalogReference.catalogItemId`.\n       * + Used in membership validation.\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Partial payment for the given item to be paid upfront during the checkout.\n       *\n       * Eligible for catalog items with type `DEPOSIT_ONLINE`.\n       * When omitted, the item's price will not be split and is expected to be paid in a single installment.\n       */\n      depositAmount?: string | null;\n      /**\n       * Delivery Profile ID.\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$5;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       *\n       * Default: `false`\n       * @internal\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n       * @readonly\n       */\n      consentRequiredPaymentPolicy?: string | null;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      savePaymentMethod?: boolean;\n      /**\n       * Policies to be displayed to the customer on the checkout page.\n       * @internal\n       */\n      policies?: Policy[];\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n  }\n  interface PriceDescription$2 {\n      /** __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Price description translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface ItemType$3 extends ItemTypeItemTypeDataOneOf$3 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$3;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf$3 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$3;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType$3 {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  interface SubscriptionOptionInfo$1 {\n      /** Subscription option settings. */\n      subscriptionSettings?: SubscriptionSettings$4;\n      /** Subscription option title. */\n      title?: Title;\n      /** Subscription option description. */\n      description?: Description;\n  }\n  interface SubscriptionSettings$4 {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency$4;\n      /**\n       * Interval of recurring payment.\n       *\n       * Default: `1`.\n       * If SubscriptionFrequency is Day the minimum interval is 7\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription..\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n      /**\n       * Period until first cycle starts. If applied payNow will be 0\n       * If None => no free trial\n       * @internal\n       */\n      freeTrialPeriod?: FreeTrialPeriod;\n      /**\n       * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * Whether to generate an order each billing cycle. An order will always be generated for the first billing cycle.\n       * Default None => will behave like true\n       * @internal\n       */\n      generateOrderEachBillingCycle?: boolean | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency$4 {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface FreeTrialPeriod {\n      /** Frequency of priod. Values: DAY, WEEK, MONTH, YEAR */\n      frequency?: SubscriptionFrequency$4;\n      /** interval of period */\n      interval?: number;\n  }\n  interface Title {\n      /** Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Subscription option name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Description {\n      /** Subscription option description. */\n      original?: string;\n      /** Translated subscription option description. */\n      translated?: string | null;\n  }\n  interface SecuredMedia$1 {\n      /** Media ID in Wix Media Manager. */\n      _id?: string;\n      /** Original filename. */\n      fileName?: string;\n      /** File type. */\n      fileType?: FileType$1;\n  }\n  enum FileType$1 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  interface ServiceProperties$2 {\n      /**\n       * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * For example, the start time of a class.\n       */\n      scheduledDate?: Date | null;\n      /** The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room. */\n      numberOfParticipants?: number | null;\n  }\n  interface Policy {\n      /** Policy title - should be translated */\n      title?: string | null;\n      /** Policy content - should be translated */\n      content?: string;\n  }\n  interface ExtendedFields$7 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CustomContentReference {\n      /**\n       * ID of the app providing the content.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       */\n      appId?: string;\n      /**\n       * ID of the component within the app it belongs to.\n       *\n       * You can get your component's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       */\n      componentId?: string;\n  }\n  interface ExternalReference$1 {\n      /**\n       * ID of the app associated with the purchase flow.\n       * For example, the Wix Pay Links app ID.\n       */\n      appId?: string;\n      /**\n       * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n       * For example, a Wix Pay Link ID.\n       */\n      resourceId?: string | null;\n  }\n  interface CreateCheckoutTemplateRequest {\n      /** Checkout template to create. */\n      checkoutTemplate: CheckoutTemplate;\n  }\n  interface CreateCheckoutTemplateResponse {\n      /** Created checkout template. */\n      checkoutTemplate?: CheckoutTemplate;\n  }\n  interface GetCheckoutTemplateRequest {\n      /** ID of the checkout template to retrieve. */\n      checkoutTemplateId: string;\n  }\n  interface GetCheckoutTemplateResponse {\n      /** Retrieved checkout template. */\n      checkoutTemplate?: CheckoutTemplate;\n  }\n  interface UpdateCheckoutTemplateRequest {\n      /** Checkout template info to update. */\n      checkoutTemplate: CheckoutTemplate;\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateCheckoutTemplateResponse {\n      /** Updated checkout template. */\n      checkoutTemplate?: CheckoutTemplate;\n  }\n  interface DeleteCheckoutTemplateRequest {\n      /** ID of the checkout template to delete. */\n      checkoutTemplateId: string;\n  }\n  interface DeleteCheckoutTemplateResponse {\n  }\n  interface QueryCheckoutTemplatesRequest {\n      /** Query options. */\n      query?: CursorQuery$7;\n  }\n  interface CursorQuery$7 extends CursorQueryPagingMethodOneOf$7 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$b;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       *\n       * Example of operators: `$eq`, `$ne`, `$in`, `$startsWith`, `$exists`, `$hasSome`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$b[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$7 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$b;\n  }\n  interface Sorting$b {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$b;\n  }\n  enum SortOrder$b {\n      /** Ascending order. */\n      ASC = \"ASC\",\n      /** Descending order. */\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$b {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results. </ br>\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCheckoutTemplatesResponse {\n      /** Retrieved checkout templates. */\n      checkoutTemplates?: CheckoutTemplate[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$a;\n  }\n  interface CursorPagingMetadata$a {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$b;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$b {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CreateCheckoutFromTemplateRequest {\n      /** ID of the checkout template to use to create a checkout from. */\n      checkoutTemplateId: string;\n      /** ID of the site associated with the checkout template. */\n      siteId: string;\n  }\n  interface CreateCheckoutFromTemplateResponse {\n      /** ID of the created checkout. */\n      checkoutId?: string;\n      /** URL of the created checkout page. */\n      checkoutUrl?: string;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n  }\n  /** Triggered when newly checkout created successfully from checkout template */\n  interface CheckoutTemplateUsed {\n      /** checkout template */\n      checkoutTemplate?: CheckoutTemplate;\n      /** newly created checkout */\n      checkout?: Checkout;\n  }\n  interface Checkout {\n      /**\n       * Checkout ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Line items.\n       *\n       * Max: 300 items\n       * @readonly\n       */\n      lineItems?: V1LineItem[];\n      /** Billing information. */\n      billingInfo?: AddressWithContact$2;\n      /** Shipping information. */\n      shippingInfo?: ShippingInfo$1;\n      /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n      buyerNote?: string | null;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$4;\n      /**\n       * All converted prices are displayed in this currency in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * @readonly\n       */\n      conversionCurrency?: string;\n      /**\n       * Calculated price summary for the checkout.\n       * @readonly\n       */\n      priceSummary?: PriceSummary$3;\n      /**\n       * Errors when calculating totals.\n       * @readonly\n       */\n      calculationErrors?: CalculationErrors$2;\n      /**\n       * Applied gift card details.\n       *\n       * >**Note:** Gift cards are supported through the Wix UI, though the service plugin is not currently available. Learn more about [Wix Gift Cards](https://support.wix.com/en/article/wix-stores-setting-up-wix-gift-cards).\n       * @readonly\n       */\n      giftCard?: GiftCard$3;\n      /**\n       * Applied discounts.\n       * @readonly\n       */\n      appliedDiscounts?: AppliedDiscount$3[];\n      /** Custom fields. */\n      customFields?: CustomField$3[];\n      /**\n       * Weight measurement unit - defaults to site's weight unit.\n       * @readonly\n       */\n      weightUnit?: WeightUnit$5;\n      /**\n       * Tax summary.\n       * @readonly\n       */\n      taxSummary?: TaxSummary$3;\n      /**\n       * The currency used when submitting the order.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Sales channel that submitted the order.\n       * @readonly\n       */\n      channelType?: ChannelType$3;\n      /**\n       * Site language in which original values are shown.\n       * @readonly\n       */\n      siteLanguage?: string;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       * @readonly\n       */\n      buyerLanguage?: string;\n      /**\n       * Whether an order was successfully created from this checkout.\n       * For an order to be successful, it must be successfully paid for (unless the total is 0).\n       * @readonly\n       */\n      completed?: boolean;\n      /**\n       * Whether tax is included in line item prices.\n       * @readonly\n       */\n      taxIncludedInPrice?: boolean;\n      /**\n       * ID of the checkout's initiator.\n       * @readonly\n       */\n      createdBy?: CreatedBy$3;\n      /**\n       * Date and time the checkout was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the checkout was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Minimal amount to pay in order to place the order.\n       * @readonly\n       */\n      payNow?: PriceSummary$3;\n      /**\n       * Remaining amount for the order to be fully paid.\n       * @readonly\n       */\n      payLater?: PriceSummary$3;\n      /** Memberships to apply when creating the order. */\n      membershipOptions?: MembershipOptions$1;\n      /** Additional Fees. */\n      additionalFees?: AdditionalFee$3[];\n      /** Cart ID that this checkout was created from. Empty if this checkout wasn't created from a cart. */\n      cartId?: string | null;\n      /**\n       * Information about the currency conversion that took place if at all. Empty if no conversion took place.\n       * @internal\n       */\n      conversionInfo?: ConversionInfo;\n      /**\n       * The pay now total amount after gift card reduction\n       * @internal\n       * @readonly\n       */\n      payNowTotalAfterGiftCard?: MultiCurrencyPrice$1;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /**\n       * List of validation violations raised by the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction).\n       * @readonly\n       */\n      violations?: Violation[];\n      /**\n       * The total payment amount after gift card reduction\n       * @internal\n       * @readonly\n       */\n      totalAfterGiftCard?: MultiCurrencyPrice$1;\n      /**\n       * Custom field data for the checkout object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$7;\n      /**\n       * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n       * @readonly\n       */\n      purchaseFlowId?: string | null;\n      /**\n       * Additional settings for customization of the checkout process.\n       *\n       * > **Notes:**\n       * > * Custom settings can only be set when [creating a checkout](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/checkout/create-checkout).\n       * > * To access and manage custom checkout page content, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\". Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customSettings?: CustomSettings;\n      /**\n       * Reference IDs for the app and component providing custom checkout page content.\n       *\n       * To access and manage custom checkout page content, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customContentReference?: CustomContentReference;\n      /**\n       * References to an external app and resource associated with this checkout.\n       * Used for integration and tracking across different platforms.\n       * @internal\n       */\n      externalReference?: ExternalReference$1;\n      /**\n       * Order ID.\n       *\n       * This field is empty until the checkout completes and becomes an order.\n       * @internal\n       * @readonly\n       */\n      orderId?: string | null;\n      /**\n       * Payment for subscriptions after free trial period.\n       * @internal\n       * @readonly\n       */\n      payAfterFreeTrial?: PriceSummary$3;\n  }\n  interface V1LineItem {\n      /**\n       * Line item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Item quantity.\n       *\n       * Min: `\"1\"`\n       * Max: `\"100000\"`\n       */\n      quantity?: number;\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$5;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       * @readonly\n       */\n      productName?: ProductName$2;\n      /**\n       * URL to the item's page on the site.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Item price **after** catalog-defined discount and line item discounts.\n       * @readonly\n       */\n      price?: MultiCurrencyPrice$1;\n      /**\n       * Total line item price **after** catalog-defined discount and line item discounts.\n       * @readonly\n       */\n      lineItemPrice?: MultiCurrencyPrice$1;\n      /**\n       * Item price **before** catalog-defined discount. Defaults to `price` when not provided.\n       * @readonly\n       */\n      fullPrice?: MultiCurrencyPrice$1;\n      /**\n       * Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.\n       * @readonly\n       */\n      priceBeforeDiscounts?: MultiCurrencyPrice$1;\n      /**\n       * Total price after all discounts and tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: MultiCurrencyPrice$1;\n      /**\n       * Total price after discounts, and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: MultiCurrencyPrice$1;\n      /**\n       * Tax details for this line item.\n       * @readonly\n       */\n      taxDetails?: ItemTaxFullDetails$3;\n      /**\n       * Discount for this line item's entire quantity.\n       * @readonly\n       */\n      discount?: MultiCurrencyPrice$1;\n      /**\n       * Line item description lines. Used for display purposes for the cart, checkout and order.\n       * @readonly\n       */\n      descriptionLines?: DescriptionLine$2[];\n      /**\n       * Line item image details.\n       * @readonly\n       */\n      media?: string;\n      /**\n       * Item availability details.\n       * @readonly\n       */\n      availability?: ItemAvailabilityInfo;\n      /**\n       * Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.\n       * @readonly\n       */\n      physicalProperties?: PhysicalProperties$4;\n      /**\n       * Coupon scopes - which app and items a coupon applies to.\n       * This field is internal to Wix, and should be used by Bookings, Stores and Events as used by the current [Coupons API](https://bo.wix.com/wix-docs/rest/stores/coupons/valid-scope-values).\n       * @internal\n       * @readonly\n       */\n      couponScopes?: Scope$1[];\n      /**\n       * Item type. Either a preset type or custom.\n       * @readonly\n       */\n      itemType?: ItemType$3;\n      /**\n       * Subscription option information.\n       * @readonly\n       */\n      subscriptionOptionInfo?: SubscriptionOptionInfo$1;\n      /**\n       * Fulfiller ID for this item. Field is empty when the item is self-fulfilled.\n       * @internal\n       * @readonly\n       */\n      fulfillerId?: string | null;\n      /**\n       * Shipping group ID.\n       * @internal\n       * @readonly\n       */\n      shippingGroupId?: string | null;\n      /**\n       * Digital file identifier, relevant only for items with type DIGITAL.\n       * @internal\n       * @readonly\n       */\n      digitalFile?: SecuredMedia$1;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       * + `FULL_PAYMENT_ONLINE`: The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE`: The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP`: Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is `0`.\n       * + `DEPOSIT_ONLINE`: Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is defined by `lineItem.deposit`.\n       * + `MEMBERSHIP_OFFLINE`: Payment for this item can only be performed by using a membership and must be manually redeemed in the dashboard by the site owner. When this option is used, `lineItem.price.amount` is `0`.\n       * @readonly\n       */\n      paymentOption?: PaymentOptionType$3;\n      /**\n       * Service properties. When relevant, this contains information such as date and number of participants.\n       * @readonly\n       */\n      serviceProperties?: ServiceProperties$2;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n       * + Used in membership validation.\n       * @readonly\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".\n       * @readonly\n       */\n      priceDescription?: PriceDescription$2;\n      /**\n       * Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.\n       * @readonly\n       */\n      depositAmount?: MultiCurrencyPrice$1;\n      /**\n       * Delivery Profile Id for the product\n       * @internal\n       * @readonly\n       */\n      deliveryProfileId?: string | null;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @readonly\n       */\n      customLineItem?: boolean;\n      /**\n       * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n       * @readonly\n       */\n      consentRequiredPaymentPolicy?: string | null;\n      /**\n       * Overriding values for catalog item properties.\n       *\n       * To override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      catalogOverrideFields?: CatalogOverrideFields;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       * @internal\n       * @readonly\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       * @internal\n       * @readonly\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      savePaymentMethod?: boolean;\n      /**\n       * Address to be used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress$3;\n      /**\n       * Custom extended fields for the line item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$7;\n      /**\n       * Policies to be displayed to the customer on the checkout page.\n       * @internal\n       * @readonly\n       */\n      policies?: Policy[];\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n  }\n  interface MultiCurrencyPrice$1 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface ItemTaxFullDetails$3 {\n      /** Amount for which tax is calculated. */\n      taxableAmount?: MultiCurrencyPrice$1;\n      /**\n       * Tax group ID, if specified.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /** Tax rate %, as a decimal point between 0 and 1. */\n      taxRate?: string;\n      /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n      totalTax?: MultiCurrencyPrice$1;\n      /**\n       * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead.\n       * @readonly\n       * @deprecated\n       */\n      rateBreakdown?: TaxRateBreakdown$1[];\n      /**\n       * The amount of this line item that was exempt.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice$1;\n      /**\n       * True for items we have a tax applied on them\n       * @internal\n       */\n      isItemTaxable?: boolean | null;\n      /**\n       * True if the lineAmount include tax in it.\n       * @internal\n       */\n      isTaxIncluded?: boolean | null;\n      /**\n       * The calculator that calculated this line tax\n       * @internal\n       */\n      calculatorName?: string | null;\n      /**\n       * tax information for a line item.\n       * @internal\n       * @readonly\n       */\n      taxBreakdown?: TaxBreakdown$1[];\n  }\n  interface TaxRateBreakdown$1 {\n      /** Name of tax against which the calculation was performed. */\n      name?: string;\n      /** Rate at which this tax detail was calculated. */\n      rate?: string;\n      /** Amount of tax for this tax detail. */\n      tax?: MultiCurrencyPrice$1;\n      /**\n       * The type of tax that was calculated\n       * @internal\n       */\n      taxType?: string | null;\n      /**\n       * The name of the jurisdiction in which this tax detail applies\n       * @internal\n       */\n      jurisdiction?: string | null;\n      /**\n       * The type of the jurisdiction in which this tax detail applies(Country,State,County,City,Special).\n       * @internal\n       */\n      jurisdictionType?: string | null;\n      /**\n       * The amount of this line item that was exempt from this authority.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice$1;\n      /**\n       * ids of the used exemptions from the TaxEstimate exemptions array.\n       * @internal\n       */\n      exemptionIds?: number[];\n      /**\n       * The taxable amount of this tax detail\n       * @internal\n       */\n      taxableAmount?: MultiCurrencyPrice$1;\n      /**\n       * The Taxes/Fee component. True if the fee is applied.\n       * @internal\n       */\n      isFee?: boolean | null;\n  }\n  /**\n   * TaxBreakdown represents tax information for a line item.\n   * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface TaxBreakdown$1 {\n      /** The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** The amount of this line item price that was considered nontaxable. (Decimal value) */\n      nonTaxableAmount?: MultiCurrencyPrice$1;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value) */\n      rate?: string | null;\n      /** The amount of tax estimated for this line item. (Decimal value) */\n      taxAmount?: MultiCurrencyPrice$1;\n      /** The taxable amount of this line item. */\n      taxableAmount?: MultiCurrencyPrice$1;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** The type of the jurisdiction in which this tax detail applies. */\n      jurisdictionType?: JurisdictionType$3;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType$3 {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface FocalPoint$2 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface ItemAvailabilityInfo {\n      /** Item availability status. */\n      status?: ItemAvailabilityStatus;\n      /** Quantity available. */\n      quantityAvailable?: number | null;\n  }\n  enum ItemAvailabilityStatus {\n      AVAILABLE = \"AVAILABLE\",\n      /** Item does not exist */\n      NOT_FOUND = \"NOT_FOUND\",\n      /** Item not in stock */\n      NOT_AVAILABLE = \"NOT_AVAILABLE\",\n      /** Available quantity is less than requested */\n      PARTIALLY_AVAILABLE = \"PARTIALLY_AVAILABLE\"\n  }\n  interface Scope$1 {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */\n      group?: Group$1;\n  }\n  interface Group$1 {\n      /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      name?: string;\n      /** Item ID (when the coupon scope is limited to just one item). */\n      entityId?: string | null;\n  }\n  interface TaxableAddress$3 extends TaxableAddressTaxableAddressDataOneOf$3 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$3;\n  }\n  /** @oneof */\n  interface TaxableAddressTaxableAddressDataOneOf$3 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$3;\n  }\n  enum TaxableAddressType$3 {\n      UNKNOWN_TAXABLE_ADDRESS = \"UNKNOWN_TAXABLE_ADDRESS\",\n      BUSINESS = \"BUSINESS\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact$2 {\n      /** Address. */\n      address?: Address$7;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails$3;\n      /**\n       * Reference to address service.\n       * @internal\n       */\n      addressesServiceId?: string | null;\n  }\n  /** Physical address */\n  interface Address$7 {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress$6;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation$6;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress$6 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$6 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails$3 {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId$4;\n  }\n  interface VatId$4 {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType$4;\n  }\n  /** tax info types */\n  enum VatType$4 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface ShippingInfo$1 {\n      /** Shipping address and contact details. */\n      shippingDestination?: AddressWithContact$2;\n      /** Selected option out of the options allowed for the `region`. */\n      selectedCarrierServiceOption?: SelectedCarrierServiceOption$1;\n      /**\n       * Shipping region. Based on the address provided.\n       * @readonly\n       */\n      region?: ShippingRegion$3;\n      /**\n       * All carrier options for this shipping rule.\n       * @readonly\n       */\n      carrierServiceOptions?: CarrierServiceOption$1[];\n  }\n  interface SelectedCarrierServiceOption$1 {\n      /** Unique identifier of selected option. For example, \"usps_std_overnight\". */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       * @readonly\n       */\n      title?: string;\n      /**\n       * Delivery logistics.\n       * @readonly\n       */\n      logistics?: DeliveryLogistics$4;\n      /**\n       * Shipping costs.\n       * @readonly\n       */\n      cost?: SelectedCarrierServiceOptionPrices$1;\n      /**\n       * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)\n       * @readonly\n       */\n      requestedShippingOption?: boolean;\n      /** Other charges */\n      otherCharges?: SelectedCarrierServiceOptionOtherCharge$1[];\n      /** This carrier's unique ID */\n      carrierId?: string | null;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation$2[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface DeliveryLogistics$4 {\n      /** Expected delivery time, in free text. For example, \"3-5 business days\". */\n      deliveryTime?: string | null;\n      /** Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don't park in disabled parking spot\". */\n      instructions?: string | null;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails$5;\n      /**\n       * Expected delivery time slot (from and to time stamps representation)\n       * @internal\n       */\n      deliveryTimeSlot?: DeliveryTimeSlot$4;\n  }\n  interface PickupDetails$5 {\n      /** Pickup address. */\n      address?: Address$7;\n      /**\n       * Whether the pickup address is that of a business - this may effect tax calculation.\n       * @deprecated\n       */\n      businessLocation?: boolean;\n      /** Pickup method */\n      pickupMethod?: PickupMethod$4;\n  }\n  enum PickupMethod$4 {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot$4 {\n      /** starting time of the delivery time slot */\n      from?: Date | null;\n      /** ending time of the delivery time slot */\n      to?: Date | null;\n  }\n  interface SelectedCarrierServiceOptionPrices$1 {\n      /** Total shipping price, after discount and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice$1;\n      /** Total price of shipping after discounts (when relevant), and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice$1;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$3;\n      /** Shipping discount before tax. */\n      totalDiscount?: MultiCurrencyPrice$1;\n      /** Shipping price before discount and before tax. */\n      price?: MultiCurrencyPrice$1;\n  }\n  interface SelectedCarrierServiceOptionOtherCharge$1 {\n      /** Type of additional cost. */\n      type?: ChargeType$3;\n      /** Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'. */\n      details?: string | null;\n      /** Price of added charge. */\n      cost?: SelectedCarrierServiceOptionPrices$1;\n  }\n  enum ChargeType$3 {\n      HANDLING_FEE = \"HANDLING_FEE\",\n      INSURANCE = \"INSURANCE\"\n  }\n  interface DeliveryAllocation$2 {\n      /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n      deliveryCarrier?: Carrier$2;\n      /** The delivery region that are relevant for this delivery solution. */\n      deliveryRegion?: Region$2;\n      /** Populated if the delivery solution is a partially supplied by this carrier. */\n      applicableLineItems?: ApplicableLineItems$2;\n  }\n  interface Carrier$2 {\n      /** The carrier app id */\n      appId?: string | null;\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n  }\n  interface Region$2 {\n      /** The delivery region id. */\n      _id?: string | null;\n      /** The delivery region name. */\n      name?: string | null;\n  }\n  interface ApplicableLineItems$2 {\n      /** Line items that the delivery solution is for. */\n      lineItemIds?: string[];\n  }\n  interface ShippingRegion$3 {\n      /**\n       * Shipping region ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Shipping region name. */\n      name?: string;\n  }\n  interface CarrierServiceOption$1 {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Shipping options offered by this carrier for this request. */\n      shippingOptions?: ShippingOption$3[];\n  }\n  interface ShippingOption$3 {\n      /**\n       * Unique code of provided shipping option like \"usps_std_overnight\".\n       * For legacy calculators this would be the UUID of the option.\n       */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       */\n      title?: string;\n      /** Delivery logistics. */\n      logistics?: DeliveryLogistics$4;\n      /** Sipping price information. */\n      cost?: ShippingPrice$3;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation$2[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface ShippingPrice$3 {\n      /** Shipping price. */\n      price?: MultiCurrencyPrice$1;\n      /** Other costs such as insurance, handling & packaging for fragile items, etc. */\n      otherCharges?: OtherCharge$1[];\n  }\n  interface OtherCharge$1 {\n      /** Type of additional cost. */\n      type?: ChargeType$3;\n      /** Price of added cost. */\n      price?: MultiCurrencyPrice$1;\n  }\n  interface BuyerInfo$4 extends BuyerInfoIdOneOf$2 {\n      /**\n       * Visitor ID (if site visitor is **not** a member).\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID (if site visitor is a site member).\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * + If `true`, the checkout doesn't have an owner yet and anyone can access it. The first to access it will be the new owner.\n       * + If `false`, the value in `checkout.createdBy` is the owner.\n       * @internal\n       */\n      openAccess?: boolean;\n      /**\n       * Contact ID. Auto-created if one does not yet exist. For more information, see [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction).\n       * @readonly\n       */\n      contactId?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface BuyerInfoIdOneOf$2 {\n      /**\n       * Visitor ID (if site visitor is **not** a member).\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID (if site visitor is a site member).\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * + If `true`, the checkout doesn't have an owner yet and anyone can access it. The first to access it will be the new owner.\n       * + If `false`, the value in `checkout.createdBy` is the owner.\n       * @internal\n       */\n      openAccess?: boolean;\n  }\n  interface PriceSummary$3 {\n      /** Subtotal of all line items, before discounts and before tax. */\n      subtotal?: MultiCurrencyPrice$1;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: MultiCurrencyPrice$1;\n      /** Total tax. */\n      tax?: MultiCurrencyPrice$1;\n      /** Total calculated discount value. */\n      discount?: MultiCurrencyPrice$1;\n      /** Total price after discounts, gift cards, and tax. */\n      total?: MultiCurrencyPrice$1;\n      /** Total additional fees price before tax. */\n      additionalFees?: MultiCurrencyPrice$1;\n  }\n  interface CalculationErrors$2 extends CalculationErrorsShippingCalculationErrorOneOf$2 {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$3;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors$2;\n      /** Tax calculation error. */\n      taxCalculationError?: Details$3;\n      /** Coupon calculation error. */\n      couponCalculationError?: Details$3;\n      /** Gift card calculation error. */\n      giftCardCalculationError?: Details$3;\n      /** Order validation errors. */\n      orderValidationErrors?: ApplicationError$8[];\n      /**\n       * Membership payment methods calculation errors\n       * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid\n       */\n      membershipError?: Details$3;\n      /** Discount Rule calculation error. */\n      discountsCalculationError?: Details$3;\n  }\n  /** @oneof */\n  interface CalculationErrorsShippingCalculationErrorOneOf$2 {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$3;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors$2;\n  }\n  interface Details$3 extends DetailsKindOneOf$3 {\n      applicationError?: ApplicationError$8;\n      validationError?: ValidationError$3;\n      systemError?: SystemError$3;\n      /**\n       * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n       * @deprecated\n       */\n      tracing?: Record<string, string>;\n  }\n  /** @oneof */\n  interface DetailsKindOneOf$3 {\n      applicationError?: ApplicationError$8;\n      validationError?: ValidationError$3;\n      systemError?: SystemError$3;\n  }\n  interface ApplicationError$8 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /**\n   * example result:\n   * {\n   * \"fieldViolations\": [\n   * {\n   * \"field\": \"fieldA\",\n   * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n   * \"violatedRule\": \"OTHER\",\n   * \"ruleName\": \"INVALID_NOTE\",\n   * \"data\": {\n   * \"value\": \"FI\"\n   * }\n   * },\n   * {\n   * \"field\": \"fieldB\",\n   * \"description\": \"field value out of range. supported range: [0-20]\",\n   * \"violatedRule\": \"MAX\",\n   * \"data\": {\n   * \"threshold\": 20\n   * }\n   * },\n   * {\n   * \"field\": \"fieldC\",\n   * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n   * \"violatedRule\": \"FORMAT\",\n   * \"data\": {\n   * \"type\": \"PHONE\"\n   * }\n   * }\n   * ]\n   * }\n   */\n  interface ValidationError$3 {\n      fieldViolations?: FieldViolation$3[];\n  }\n  enum RuleType$3 {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\",\n      EXACT_LENGTH = \"EXACT_LENGTH\",\n      EXACT_SIZE = \"EXACT_SIZE\"\n  }\n  interface FieldViolation$3 {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType$3;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  interface SystemError$3 {\n      /** Error code. */\n      errorCode?: string | null;\n  }\n  interface CarrierErrors$2 {\n      /** Carrier errors. */\n      errors?: CarrierError$3[];\n  }\n  interface CarrierError$3 {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Error details. */\n      error?: Details$3;\n  }\n  interface GiftCard$3 {\n      /**\n       * Gift Card ID.\n       * @deprecated\n       */\n      _id?: string;\n      /** Gift card obfuscated code. */\n      obfuscatedCode?: string;\n      /** Gift card value. */\n      amount?: MultiCurrencyPrice$1;\n      /** App ID of the gift card provider. */\n      appId?: string;\n      /**\n       * External ID in the gift card provider's system.\n       * Used for integration and tracking across different platforms.\n       */\n      externalId?: string | null;\n  }\n  interface AppliedDiscount$3 extends AppliedDiscountDiscountSourceOneOf$3 {\n      /** Coupon details. */\n      coupon?: Coupon$3;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$3;\n      /** Discount rule */\n      discountRule?: DiscountRule$3;\n      /** Discount type. */\n      discountType?: DiscountType$3;\n      /**\n       * IDs of line items the discount applies to.\n       * @deprecated IDs of line items the discount applies to.\n       * @replacedBy line_items_discounts\n       * @targetRemovalDate 2024-06-01\n       */\n      lineItemIds?: string[];\n      /**\n       * Discount ID.\n       * @internal\n       */\n      _id?: string | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: LineItemDiscount$3[];\n      /**\n       * Number of subscription cycle this discount applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf$3 {\n      /** Coupon details. */\n      coupon?: Coupon$3;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$3;\n      /** Discount rule */\n      discountRule?: DiscountRule$3;\n  }\n  enum DiscountType$3 {\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface Coupon$3 {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon value. */\n      amount?: MultiCurrencyPrice$1;\n      /** Coupon name. */\n      name?: string;\n      /**\n       * Coupon type: We want it to be an enum and not a string but currently we have no time to do it so we leave it as is to be aligned with cart summary.\n       * @internal\n       * @deprecated\n       */\n      couponType?: string;\n  }\n  interface MerchantDiscount$3 {\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$1;\n      /** Discount Percentage. Will be calculated from items price before other discounts. */\n      percentage?: number | null;\n  }\n  interface DiscountRule$3 {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: DiscountRuleName$3;\n      /** Discount value. */\n      amount?: MultiCurrencyPrice$1;\n  }\n  interface DiscountRuleName$3 {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface LineItemDiscount$3 {\n      /** ID of line item the discount applies to. */\n      _id?: string;\n      /** Discount value. */\n      totalDiscountAmount?: MultiCurrencyPrice$1;\n  }\n  interface CustomField$3 {\n      /** Custom field value. */\n      value?: any;\n      /** Custom field title. */\n      title?: string;\n      /** Translated custom field title. */\n      translatedTitle?: string | null;\n  }\n  enum WeightUnit$5 {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface TaxSummary$3 {\n      /**\n       * Amount for which tax is calculated, added from line items.\n       * @readonly\n       */\n      taxableAmount?: MultiCurrencyPrice$1;\n      /**\n       * Calculated tax, added from line items.\n       * @readonly\n       */\n      totalTax?: MultiCurrencyPrice$1;\n      /**\n       * Manual tax rate\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      manualTaxRate?: string;\n      /**\n       * Tax calculator that was active when the order was created.\n       * @deprecated\n       */\n      calculationDetails?: TaxCalculationDetails$1;\n      /**\n       * Tax estimation id in tax service\n       * @internal\n       * @readonly\n       */\n      taxEstimationId?: string | null;\n      /**\n       * Average Tax Rate\n       * @internal\n       * @readonly\n       */\n      averageTaxRate?: string | null;\n      /**\n       * The amount of this estimate that was exempt (for all line items).\n       * @internal\n       * @readonly\n       */\n      totalExempt?: MultiCurrencyPrice$1;\n      /**\n       * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n       * @internal\n       * @readonly\n       */\n      aggregatedTaxBreakdown?: AggregatedTaxBreakdown$1[];\n  }\n  interface TaxCalculationDetails$1 extends TaxCalculationDetailsCalculationDetailsOneOf$1 {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason$1;\n      /** Details of the fallback rate calculation. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails$1;\n      /** Rate calculation type. */\n      rateType?: RateType$1;\n  }\n  /** @oneof */\n  interface TaxCalculationDetailsCalculationDetailsOneOf$1 {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason$1;\n      /** Details of the fallback rate calculation. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails$1;\n  }\n  enum RateType$1 {\n      /** no tax being collected for this request due to location of purchase */\n      NO_TAX_COLLECTED = \"NO_TAX_COLLECTED\",\n      /** manual rate used for calculation */\n      MANUAL_RATE = \"MANUAL_RATE\",\n      /** autotax rate used for calculation */\n      AUTO_RATE = \"AUTO_RATE\",\n      /** fallback rate used for calculation */\n      FALLBACK_RATE = \"FALLBACK_RATE\"\n  }\n  enum ManualCalculationReason$1 {\n      /** user set calculator in Business Manager to be Manual */\n      GLOBAL_SETTING_TO_MANUAL = \"GLOBAL_SETTING_TO_MANUAL\",\n      /** specific region is on manual even though Global setting is Auto-tax */\n      REGION_SETTING_TO_MANUAL = \"REGION_SETTING_TO_MANUAL\"\n  }\n  interface AutoTaxFallbackCalculationDetails$1 {\n      /** reason for fallback */\n      fallbackReason?: FallbackReason$1;\n      /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */\n      error?: ApplicationError$8;\n  }\n  enum FallbackReason$1 {\n      /** auto-tax failed to be calculated */\n      AUTO_TAX_FAILED = \"AUTO_TAX_FAILED\",\n      /** auto-tax was temporarily deactivated on a system-level */\n      AUTO_TAX_DEACTIVATED = \"AUTO_TAX_DEACTIVATED\"\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   */\n  interface AggregatedTaxBreakdown$1 {\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdiction?: string;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionTypeEnum?: JurisdictionType$3;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value) */\n      rate?: string;\n      /** The sum of all the tax from line items that calculated by the tax identifiers. */\n      aggregatedTaxAmount?: MultiCurrencyPrice$1;\n      /**\n       * The sum of all the taxable amount from line items for tax identifiers.\n       * @internal\n       */\n      aggregatedTaxableAmount?: MultiCurrencyPrice$1;\n  }\n  enum ChannelType$3 {\n      /** Unspecified sales channel. This value is not supported. */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** A web client. */\n      WEB = \"WEB\",\n      /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n      POS = \"POS\",\n      /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n      EBAY = \"EBAY\",\n      /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n      AMAZON = \"AMAZON\",\n      /** Other sales platform. */\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n      WIX_INVOICES = \"WIX_INVOICES\",\n      /** Wix merchant backoffice. */\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      /** Wish sales channel. */\n      WISH = \"WISH\",\n      /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n      CLASS_PASS = \"CLASS_PASS\",\n      /** Global-E sales channel. */\n      GLOBAL_E = \"GLOBAL_E\",\n      /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n      FACEBOOK = \"FACEBOOK\",\n      /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n      ETSY = \"ETSY\",\n      /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n      TIKTOK = \"TIKTOK\",\n      /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n      FAIRE_COM = \"FAIRE_COM\"\n  }\n  interface CreatedBy$3 extends CreatedByIdOneOf$1 {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application or Wix service. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface CreatedByIdOneOf$1 {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application or Wix service. */\n      appId?: string;\n  }\n  /** Reserved for internal use. */\n  interface MembershipOptions$1 {\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      eligibleMemberships?: Membership$1[];\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      invalidMemberships?: InvalidMembership$1[];\n      /** Selected membership to apply to this checkout. */\n      selectedMemberships?: SelectedMemberships$1;\n  }\n  interface Membership$1 {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the application providing this payment option. */\n      appId?: string;\n      /** The name of this membership. */\n      name?: MembershipName$3;\n      /** Line item IDs which are \"paid\" for by this membership. */\n      lineItemIds?: string[];\n      /** Optional - For a membership that has limited credits, information about credit usage. */\n      credits?: MembershipPaymentCredits$1;\n      /** Optional - TMembership expiry date. */\n      expirationDate?: Date | null;\n      /** Additional data about this membership. */\n      additionalData?: Record<string, any> | null;\n  }\n  interface MembershipName$3 {\n      /** Membership name. */\n      original?: string;\n      /** Translated membership name. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface MembershipPaymentCredits$1 {\n      /** Membership's total amount of credits. */\n      total?: number;\n      /** Membership's remaining amount of credits. */\n      remaining?: number;\n  }\n  interface InvalidMembership$1 {\n      /** Membership details. */\n      membership?: Membership$1;\n      /** Reason why this membership is invalid and cannot be used. */\n      reason?: string;\n  }\n  interface SelectedMemberships$1 {\n      /** Selected memberships. */\n      memberships?: SelectedMembership$1[];\n  }\n  interface SelectedMembership$1 {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the app providing this payment option. */\n      appId?: string;\n      /** IDs of the line items this membership applies to. */\n      lineItemIds?: string[];\n  }\n  interface AdditionalFee$3 {\n      /** Additional fee's unique code (or ID) for future processing. */\n      code?: string | null;\n      /** Translated additional fee's name. */\n      name?: string;\n      /** Additional fee's price. */\n      price?: MultiCurrencyPrice$1;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$3;\n      /** Provider's app id. */\n      providerAppId?: string | null;\n      /** Additional fee's price before tax. */\n      priceBeforeTax?: MultiCurrencyPrice$1;\n      /** Additional fee's price after tax. */\n      priceAfterTax?: MultiCurrencyPrice$1;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n      /**\n       * Number of subscription cycle this fee applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  interface ConversionInfo {\n      /**\n       * The site currency.\n       * @readonly\n       */\n      siteCurrency?: string;\n      /**\n       * The rate used when converting from the site currency to the checkout currency.\n       * @readonly\n       */\n      conversionRate?: string;\n  }\n  interface Violation {\n      /** Severity of the violation. The violations are shown on the cart and checkout pages. A warning is displayed as yellow, and allows a site visitor to proceed with caution. An error is displayed as red, and doesn't allow a site visitor to proceed with the eCommerce flow. */\n      severity?: Severity;\n      /** Target location on a checkout or cart page where the violation will be displayed. */\n      target?: Target;\n      /** Violation description. Can include rich text. Only HTTP or HTTPS links in the following format are allowed: `<a href=\"https://www.wix.com\">Click me</a>`. */\n      description?: string | null;\n  }\n  enum Severity {\n      /** The user is allowed to move forward in the flow. */\n      WARNING = \"WARNING\",\n      /**\n       * The user is blocked from moving forward in the flow.\n       * For example, if callerContext is CART - moving to checkout is blocked. if callerContext is CHECKOUT, placing an order is blocked.\n       */\n      ERROR = \"ERROR\"\n  }\n  interface Target extends TargetTargetTypeOneOf {\n      /** General (other) violation. */\n      other?: Other;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem;\n  }\n  /** @oneof */\n  interface TargetTargetTypeOneOf {\n      /** General (other) violation. */\n      other?: Other;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem;\n  }\n  /** Available locations on the webpage */\n  enum NameInOther {\n      /** Default location, in case no specific location is specified. */\n      OTHER_DEFAULT = \"OTHER_DEFAULT\",\n      /** Delivery section. */\n      DELIVERY = \"DELIVERY\"\n  }\n  /** Available locations on the line item */\n  enum NameInLineItem {\n      /** Default location, in case no specific location is specified. */\n      LINE_ITEM_DEFAULT = \"LINE_ITEM_DEFAULT\"\n  }\n  enum SuggestedFix {\n      /** No suggested fix is specified. The user should refer to the violation description to resolve the issue. */\n      UNKNOWN_SUGGESTED_FIX = \"UNKNOWN_SUGGESTED_FIX\",\n      /** The line item should be removed from the cart or checkout to resolve the violation. */\n      REMOVE_LINE_ITEM = \"REMOVE_LINE_ITEM\"\n  }\n  /** General (other) violation. */\n  interface Other {\n      /** Location on a checkout or a cart page where a general (other) violation will be displayed. */\n      name?: NameInOther;\n  }\n  /** Specific line item violation. */\n  interface TargetLineItem {\n      /** Location on a checkout or a cart page where the specific line item violation will be displayed. */\n      name?: NameInLineItem;\n      /** ID of the line item containing the violation. */\n      _id?: string | null;\n      /**\n       * Suggested fix for resolving the line item violation.\n       * @internal\n       */\n      suggestedFix?: SuggestedFix;\n  }\n  interface CustomSettings {\n      /**\n       * Whether to restrict the option to add or remove a gift card on the checkout page.\n       *\n       * Default: `false`\n       */\n      lockGiftCard?: boolean;\n      /**\n       * Whether to restrict the option to add or remove a coupon code on the checkout page.\n       *\n       * Default: `false`\n       */\n      lockCouponCode?: boolean;\n      /**\n       * Whether to disable policy agreement checkout in the checkout page\n       *\n       * Default: `false`\n       */\n      disabledPolicyAgreementCheckbox?: boolean;\n      /**\n       * Whether to disable manual payment option for this checkout.\n       *\n       * Default: `false`\n       */\n      disabledManualPayment?: boolean;\n  }\n  interface CreateAndRedirectToCheckoutRequest {\n      /** ID of the checkout template to use to create a checkout. */\n      checkoutTemplateId: string;\n      /** ID of the site associated with the checkout template. */\n      siteId: string;\n  }\n  interface RawHttpResponse {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry[];\n  }\n  interface HeadersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface DomainEvent$e extends DomainEventBodyOneOf$e {\n      createdEvent?: EntityCreatedEvent$e;\n      updatedEvent?: EntityUpdatedEvent$e;\n      deletedEvent?: EntityDeletedEvent$e;\n      actionEvent?: ActionEvent$e;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$e {\n      createdEvent?: EntityCreatedEvent$e;\n      updatedEvent?: EntityUpdatedEvent$e;\n      deletedEvent?: EntityDeletedEvent$e;\n      actionEvent?: ActionEvent$e;\n  }\n  interface EntityCreatedEvent$e {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$e;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$e {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$e {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$e {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$e {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$d {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$e;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$e extends IdentificationDataIdOneOf$e {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$d;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$e {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$d {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a checkout template.\n   *\n   * A checkout template is used to create a new checkout that will include predefined information. For example, a single link with\n   * a `checkoutTemplateId` can be shared with customers and each time the link is clicked, a new checkout page will be created\n   * for that customer with certain checkout information already populated.\n   *\n   * The customizable features include the option to allow or to lock coupon codes or gift cards. For example, if a store owner is\n   * using the checkout template to offer a flash sale to their social media followers, they may want to lock the option to apply an\n   * additional coupon on top of the sale being offered. If so, they can set `customization.lockedCoupon` to `true`.\n   *\n   * A checkout can be created with a checkout template by calling `createCheckoutFromTemplate()`. The site may add further customizations to the new checkout and then redirect the customer using the new checkout's `checkoutUrl`.\n   * @param checkoutTemplate - Checkout template to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField checkoutTemplate\n   * @requiredField checkoutTemplate.customLineItems.descriptionLines\n   * @requiredField checkoutTemplate.customLineItems.descriptionLines.name\n   * @requiredField checkoutTemplate.customLineItems.itemType\n   * @requiredField checkoutTemplate.customLineItems.productName\n   * @requiredField checkoutTemplate.customLineItems.quantity\n   * @requiredField checkoutTemplate.lineItems.catalogReference\n   * @requiredField checkoutTemplate.lineItems.catalogReference.appId\n   * @requiredField checkoutTemplate.lineItems.catalogReference.catalogItemId\n   * @requiredField checkoutTemplate.lineItems.quantity\n   * @permissionId ECOM.CHECKOUT_TEMPLATE_CREATE\n   * @adminMethod\n   * @returns Created checkout template.\n   */\n  function createCheckoutTemplate(checkoutTemplate: CheckoutTemplate): Promise<CheckoutTemplate>;\n  /**\n   * Retrieves a checkout template.\n   * @param checkoutTemplateId - ID of the checkout template to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField checkoutTemplateId\n   * @permissionId ECOM.CHECKOUT_TEMPLATE_READ\n   * @adminMethod\n   * @returns Retrieved checkout template.\n   */\n  function getCheckoutTemplate(checkoutTemplateId: string): Promise<CheckoutTemplate>;\n  /**\n   * Updates a checkout template.\n   *\n   * If the info in a checkout template is updated, only new checkouts created from this template will include the updated items. Checkouts previously\n   * created from this template before the update will not be affected.\n   * @param _id - Checkout template ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField checkoutTemplate\n   * @param checkoutTemplate - Checkout template info to update.\n   * @permissionId ECOM.CHECKOUT_TEMPLATE_UPDATE\n   * @adminMethod\n   * @returns Updated checkout template.\n   */\n  function updateCheckoutTemplate(_id: string | null, checkoutTemplate: UpdateCheckoutTemplate, options?: UpdateCheckoutTemplateOptions): Promise<CheckoutTemplate>;\n  interface UpdateCheckoutTemplate {\n      /**\n       * Checkout template ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Status of the checkout template.\n       *\n       * When `status` is `INACTIVE` checkouts will not be created with this template `_id`. Instead, the function will redirect to the domain site.\n       *\n       * Default: `ACTIVE`\n       */\n      status?: Status$2;\n      /** Custom settings to apply to the checkout page created from this template. */\n      customization?: CheckoutCustomization;\n      /**\n       * Catalog line items.\n       *\n       * Max: 300 items\n       */\n      lineItems?: LineItem$3[];\n      /**\n       * Custom line items. Custom line items don't trigger the Catalog service plugin.\n       *\n       * Max: 300 items\n       */\n      customLineItems?: CustomLineItem$1[];\n      /**\n       * Coupon code.\n       *\n       * Note that a checkout can only hold one `couponCode` at a time. If an additional `couponCode` is added, it will override the existing `couponCode`.\n       * For additional information, see the Coupons API.\n       */\n      couponCode?: string | null;\n      /**\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$7;\n      /**\n       * Reference IDs for the app and component providing custom checkout page content.\n       *\n       * To access and manage custom checkout page content, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customContentReference?: CustomContentReference;\n      /**\n       * References to an external app and resource associated with the checkout.\n       * Used for integration and tracking across different platforms.\n       * @internal\n       */\n      externalReference?: ExternalReference$1;\n  }\n  interface UpdateCheckoutTemplateOptions {\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a checkout template.\n   *\n   * If a checkout template is deleted and a customer attempts to create a checkout with that `checkoutTemplateId` then\n   * the customer will be redirected to the domain site.\n   * @param checkoutTemplateId - ID of the checkout template to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField checkoutTemplateId\n   * @permissionId ECOM.CHECKOUT_TEMPLATE_DELETE\n   * @adminMethod\n   */\n  function deleteCheckoutTemplate(checkoutTemplateId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of checkout templates.\n   *\n   * The `queryCheckoutTemplates()` function builds a query to retrieve a list of checkout templates and returns a `CheckoutTemplatesQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `CheckoutTemplatesQueryBuilder` functions onto the query. `CheckoutTemplatesQueryBuilder` functions enable you to sort, filter, and control the results that `queryCheckoutTemplates()` returns.\n   *\n   * `queryCheckoutTemplates()` runs with the following `CheckoutTemplatesQueryBuilder` default that you can override:\n   * + `ascending(\"_id\")`\n   *\n   * The functions that are chained to `queryCheckoutTemplates()` are applied in the order they are called. For example, if you apply `ascending(\"status\")` and then `ascending(\"_id\")`, the results are sorted first by the `\"status\"`, and then, if there are multiple results with the same `\"status\"`, the items are sorted by `\"_id\"`.\n   *\n   * The following `CheckoutTemplatesQueryBuilder` functions are supported for the `queryCheckoutTemplates()` function. For a full description of the checkout template object, see the object returned for the `items` property in `CheckoutTemplatesQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.CHECKOUT_TEMPLATE_READ\n   * @adminMethod\n   */\n  function queryCheckoutTemplates(): CheckoutTemplatesQueryBuilder;\n  interface QueryCursorResult$b {\n      cursors: Cursors$b;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CheckoutTemplatesQueryResult extends QueryCursorResult$b {\n      items: CheckoutTemplate[];\n      query: CheckoutTemplatesQueryBuilder;\n      next: () => Promise<CheckoutTemplatesQueryResult>;\n      prev: () => Promise<CheckoutTemplatesQueryResult>;\n  }\n  interface CheckoutTemplatesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'status', value: any) => CheckoutTemplatesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'status', value: any) => CheckoutTemplatesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id', value: string) => CheckoutTemplatesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'status', value: any[]) => CheckoutTemplatesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'status', value: any) => CheckoutTemplatesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'status', value: boolean) => CheckoutTemplatesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'status'>) => CheckoutTemplatesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'status'>) => CheckoutTemplatesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CheckoutTemplatesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => CheckoutTemplatesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CheckoutTemplatesQueryResult>;\n  }\n  /**\n   * Creates a new checkout based on the checkout template.\n   *\n   * Before using this function, you must have a checkout template available. Create a checkout template with `createCheckoutTemplate()`.\n   *\n   * The customer can be directed to the new checkout using the checkout's `checkoutUrl`.\n   * @param checkoutTemplateId - ID of the checkout template to use to create a checkout from.\n   * @param siteId - ID of the site associated with the checkout template.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField checkoutTemplateId\n   * @requiredField siteId\n   * @permissionId ECOM.CHECKOUT_TEMPLATE_CREATE_CHECKOUT\n   */\n  function createCheckoutFromTemplate(checkoutTemplateId: string, siteId: string): Promise<CreateCheckoutFromTemplateResponse>;\n  /**\n   * Creates a new checkout based on the checkout template and redirects to the new checkout page.\n   *\n   * Before using this function, you must have a checkout template available. Create a checkout template with `createCheckoutTemplate()`.\n   *\n   * To build a URL that uses this function, follow this format:\n   * `https://www.wixapis.com/ecom/v1/checkout-templates/{checkoutTemplateId}/create-and-redirect-to-checkout?siteId={siteId}`\n   *\n   * To create a checkout but not automatically redirect to the checkout page, use `createCheckoutFromTemplate()`.\n   * @param checkoutTemplateId - ID of the checkout template to use to create a checkout.\n   * @param siteId - ID of the site associated with the checkout template.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField checkoutTemplateId\n   * @requiredField siteId\n   * @adminMethod\n   */\n  function createAndRedirectToCheckout(checkoutTemplateId: string, siteId: string): Promise<RawHttpResponse>;\n  \n  type ecomV1CheckoutTemplate_universal_d_CheckoutTemplate = CheckoutTemplate;\n  type ecomV1CheckoutTemplate_universal_d_CheckoutCustomization = CheckoutCustomization;\n  type ecomV1CheckoutTemplate_universal_d_WebClientCustomization = WebClientCustomization;\n  type ecomV1CheckoutTemplate_universal_d_CatalogOverrideFields = CatalogOverrideFields;\n  type ecomV1CheckoutTemplate_universal_d_PaymentOption = PaymentOption;\n  type ecomV1CheckoutTemplate_universal_d_FreeTrialPeriod = FreeTrialPeriod;\n  type ecomV1CheckoutTemplate_universal_d_Title = Title;\n  type ecomV1CheckoutTemplate_universal_d_Description = Description;\n  type ecomV1CheckoutTemplate_universal_d_Policy = Policy;\n  type ecomV1CheckoutTemplate_universal_d_CustomContentReference = CustomContentReference;\n  type ecomV1CheckoutTemplate_universal_d_CreateCheckoutTemplateRequest = CreateCheckoutTemplateRequest;\n  type ecomV1CheckoutTemplate_universal_d_CreateCheckoutTemplateResponse = CreateCheckoutTemplateResponse;\n  type ecomV1CheckoutTemplate_universal_d_GetCheckoutTemplateRequest = GetCheckoutTemplateRequest;\n  type ecomV1CheckoutTemplate_universal_d_GetCheckoutTemplateResponse = GetCheckoutTemplateResponse;\n  type ecomV1CheckoutTemplate_universal_d_UpdateCheckoutTemplateRequest = UpdateCheckoutTemplateRequest;\n  type ecomV1CheckoutTemplate_universal_d_UpdateCheckoutTemplateResponse = UpdateCheckoutTemplateResponse;\n  type ecomV1CheckoutTemplate_universal_d_DeleteCheckoutTemplateRequest = DeleteCheckoutTemplateRequest;\n  type ecomV1CheckoutTemplate_universal_d_DeleteCheckoutTemplateResponse = DeleteCheckoutTemplateResponse;\n  type ecomV1CheckoutTemplate_universal_d_QueryCheckoutTemplatesRequest = QueryCheckoutTemplatesRequest;\n  type ecomV1CheckoutTemplate_universal_d_QueryCheckoutTemplatesResponse = QueryCheckoutTemplatesResponse;\n  type ecomV1CheckoutTemplate_universal_d_CreateCheckoutFromTemplateRequest = CreateCheckoutFromTemplateRequest;\n  type ecomV1CheckoutTemplate_universal_d_CreateCheckoutFromTemplateResponse = CreateCheckoutFromTemplateResponse;\n  type ecomV1CheckoutTemplate_universal_d_CheckoutTemplateUsed = CheckoutTemplateUsed;\n  type ecomV1CheckoutTemplate_universal_d_Checkout = Checkout;\n  type ecomV1CheckoutTemplate_universal_d_V1LineItem = V1LineItem;\n  type ecomV1CheckoutTemplate_universal_d_ItemAvailabilityInfo = ItemAvailabilityInfo;\n  type ecomV1CheckoutTemplate_universal_d_ItemAvailabilityStatus = ItemAvailabilityStatus;\n  const ecomV1CheckoutTemplate_universal_d_ItemAvailabilityStatus: typeof ItemAvailabilityStatus;\n  type ecomV1CheckoutTemplate_universal_d_ConversionInfo = ConversionInfo;\n  type ecomV1CheckoutTemplate_universal_d_Violation = Violation;\n  type ecomV1CheckoutTemplate_universal_d_Severity = Severity;\n  const ecomV1CheckoutTemplate_universal_d_Severity: typeof Severity;\n  type ecomV1CheckoutTemplate_universal_d_Target = Target;\n  type ecomV1CheckoutTemplate_universal_d_TargetTargetTypeOneOf = TargetTargetTypeOneOf;\n  type ecomV1CheckoutTemplate_universal_d_NameInOther = NameInOther;\n  const ecomV1CheckoutTemplate_universal_d_NameInOther: typeof NameInOther;\n  type ecomV1CheckoutTemplate_universal_d_NameInLineItem = NameInLineItem;\n  const ecomV1CheckoutTemplate_universal_d_NameInLineItem: typeof NameInLineItem;\n  type ecomV1CheckoutTemplate_universal_d_SuggestedFix = SuggestedFix;\n  const ecomV1CheckoutTemplate_universal_d_SuggestedFix: typeof SuggestedFix;\n  type ecomV1CheckoutTemplate_universal_d_Other = Other;\n  type ecomV1CheckoutTemplate_universal_d_TargetLineItem = TargetLineItem;\n  type ecomV1CheckoutTemplate_universal_d_CustomSettings = CustomSettings;\n  type ecomV1CheckoutTemplate_universal_d_CreateAndRedirectToCheckoutRequest = CreateAndRedirectToCheckoutRequest;\n  type ecomV1CheckoutTemplate_universal_d_RawHttpResponse = RawHttpResponse;\n  type ecomV1CheckoutTemplate_universal_d_HeadersEntry = HeadersEntry;\n  const ecomV1CheckoutTemplate_universal_d_createCheckoutTemplate: typeof createCheckoutTemplate;\n  const ecomV1CheckoutTemplate_universal_d_getCheckoutTemplate: typeof getCheckoutTemplate;\n  const ecomV1CheckoutTemplate_universal_d_updateCheckoutTemplate: typeof updateCheckoutTemplate;\n  type ecomV1CheckoutTemplate_universal_d_UpdateCheckoutTemplate = UpdateCheckoutTemplate;\n  type ecomV1CheckoutTemplate_universal_d_UpdateCheckoutTemplateOptions = UpdateCheckoutTemplateOptions;\n  const ecomV1CheckoutTemplate_universal_d_deleteCheckoutTemplate: typeof deleteCheckoutTemplate;\n  const ecomV1CheckoutTemplate_universal_d_queryCheckoutTemplates: typeof queryCheckoutTemplates;\n  type ecomV1CheckoutTemplate_universal_d_CheckoutTemplatesQueryResult = CheckoutTemplatesQueryResult;\n  type ecomV1CheckoutTemplate_universal_d_CheckoutTemplatesQueryBuilder = CheckoutTemplatesQueryBuilder;\n  const ecomV1CheckoutTemplate_universal_d_createCheckoutFromTemplate: typeof createCheckoutFromTemplate;\n  const ecomV1CheckoutTemplate_universal_d_createAndRedirectToCheckout: typeof createAndRedirectToCheckout;\n  namespace ecomV1CheckoutTemplate_universal_d {\n    export {\n      ecomV1CheckoutTemplate_universal_d_CheckoutTemplate as CheckoutTemplate,\n      Status$2 as Status,\n      ecomV1CheckoutTemplate_universal_d_CheckoutCustomization as CheckoutCustomization,\n      ecomV1CheckoutTemplate_universal_d_WebClientCustomization as WebClientCustomization,\n      LineItem$3 as LineItem,\n      CatalogReference$5 as CatalogReference,\n      ecomV1CheckoutTemplate_universal_d_CatalogOverrideFields as CatalogOverrideFields,\n      ProductName$2 as ProductName,\n      DescriptionLine$2 as DescriptionLine,\n      DescriptionLineValueOneOf$2 as DescriptionLineValueOneOf,\n      DescriptionLineDescriptionLineValueOneOf$2 as DescriptionLineDescriptionLineValueOneOf,\n      DescriptionLineName$2 as DescriptionLineName,\n      PlainTextValue$2 as PlainTextValue,\n      Color$2 as Color,\n      DescriptionLineType$2 as DescriptionLineType,\n      PhysicalProperties$4 as PhysicalProperties,\n      ecomV1CheckoutTemplate_universal_d_PaymentOption as PaymentOption,\n      PaymentOptionType$3 as PaymentOptionType,\n      CustomLineItem$1 as CustomLineItem,\n      PriceDescription$2 as PriceDescription,\n      ItemType$3 as ItemType,\n      ItemTypeItemTypeDataOneOf$3 as ItemTypeItemTypeDataOneOf,\n      ItemTypeItemType$3 as ItemTypeItemType,\n      SubscriptionOptionInfo$1 as SubscriptionOptionInfo,\n      SubscriptionSettings$4 as SubscriptionSettings,\n      SubscriptionFrequency$4 as SubscriptionFrequency,\n      ecomV1CheckoutTemplate_universal_d_FreeTrialPeriod as FreeTrialPeriod,\n      ecomV1CheckoutTemplate_universal_d_Title as Title,\n      ecomV1CheckoutTemplate_universal_d_Description as Description,\n      SecuredMedia$1 as SecuredMedia,\n      FileType$1 as FileType,\n      ServiceProperties$2 as ServiceProperties,\n      ecomV1CheckoutTemplate_universal_d_Policy as Policy,\n      ExtendedFields$7 as ExtendedFields,\n      ecomV1CheckoutTemplate_universal_d_CustomContentReference as CustomContentReference,\n      ExternalReference$1 as ExternalReference,\n      ecomV1CheckoutTemplate_universal_d_CreateCheckoutTemplateRequest as CreateCheckoutTemplateRequest,\n      ecomV1CheckoutTemplate_universal_d_CreateCheckoutTemplateResponse as CreateCheckoutTemplateResponse,\n      ecomV1CheckoutTemplate_universal_d_GetCheckoutTemplateRequest as GetCheckoutTemplateRequest,\n      ecomV1CheckoutTemplate_universal_d_GetCheckoutTemplateResponse as GetCheckoutTemplateResponse,\n      ecomV1CheckoutTemplate_universal_d_UpdateCheckoutTemplateRequest as UpdateCheckoutTemplateRequest,\n      ecomV1CheckoutTemplate_universal_d_UpdateCheckoutTemplateResponse as UpdateCheckoutTemplateResponse,\n      ecomV1CheckoutTemplate_universal_d_DeleteCheckoutTemplateRequest as DeleteCheckoutTemplateRequest,\n      ecomV1CheckoutTemplate_universal_d_DeleteCheckoutTemplateResponse as DeleteCheckoutTemplateResponse,\n      ecomV1CheckoutTemplate_universal_d_QueryCheckoutTemplatesRequest as QueryCheckoutTemplatesRequest,\n      CursorQuery$7 as CursorQuery,\n      CursorQueryPagingMethodOneOf$7 as CursorQueryPagingMethodOneOf,\n      Sorting$b as Sorting,\n      SortOrder$b as SortOrder,\n      CursorPaging$b as CursorPaging,\n      ecomV1CheckoutTemplate_universal_d_QueryCheckoutTemplatesResponse as QueryCheckoutTemplatesResponse,\n      CursorPagingMetadata$a as CursorPagingMetadata,\n      Cursors$b as Cursors,\n      ecomV1CheckoutTemplate_universal_d_CreateCheckoutFromTemplateRequest as CreateCheckoutFromTemplateRequest,\n      ecomV1CheckoutTemplate_universal_d_CreateCheckoutFromTemplateResponse as CreateCheckoutFromTemplateResponse,\n      ecomV1CheckoutTemplate_universal_d_CheckoutTemplateUsed as CheckoutTemplateUsed,\n      ecomV1CheckoutTemplate_universal_d_Checkout as Checkout,\n      ecomV1CheckoutTemplate_universal_d_V1LineItem as V1LineItem,\n      MultiCurrencyPrice$1 as MultiCurrencyPrice,\n      ItemTaxFullDetails$3 as ItemTaxFullDetails,\n      TaxRateBreakdown$1 as TaxRateBreakdown,\n      TaxBreakdown$1 as TaxBreakdown,\n      JurisdictionType$3 as JurisdictionType,\n      FocalPoint$2 as FocalPoint,\n      ecomV1CheckoutTemplate_universal_d_ItemAvailabilityInfo as ItemAvailabilityInfo,\n      ecomV1CheckoutTemplate_universal_d_ItemAvailabilityStatus as ItemAvailabilityStatus,\n      Scope$1 as Scope,\n      Group$1 as Group,\n      TaxableAddress$3 as TaxableAddress,\n      TaxableAddressTaxableAddressDataOneOf$3 as TaxableAddressTaxableAddressDataOneOf,\n      TaxableAddressType$3 as TaxableAddressType,\n      AddressWithContact$2 as AddressWithContact,\n      Address$7 as Address,\n      StreetAddress$6 as StreetAddress,\n      AddressLocation$6 as AddressLocation,\n      FullAddressContactDetails$3 as FullAddressContactDetails,\n      VatId$4 as VatId,\n      VatType$4 as VatType,\n      ShippingInfo$1 as ShippingInfo,\n      SelectedCarrierServiceOption$1 as SelectedCarrierServiceOption,\n      DeliveryLogistics$4 as DeliveryLogistics,\n      PickupDetails$5 as PickupDetails,\n      PickupMethod$4 as PickupMethod,\n      DeliveryTimeSlot$4 as DeliveryTimeSlot,\n      SelectedCarrierServiceOptionPrices$1 as SelectedCarrierServiceOptionPrices,\n      SelectedCarrierServiceOptionOtherCharge$1 as SelectedCarrierServiceOptionOtherCharge,\n      ChargeType$3 as ChargeType,\n      DeliveryAllocation$2 as DeliveryAllocation,\n      Carrier$2 as Carrier,\n      Region$2 as Region,\n      ApplicableLineItems$2 as ApplicableLineItems,\n      ShippingRegion$3 as ShippingRegion,\n      CarrierServiceOption$1 as CarrierServiceOption,\n      ShippingOption$3 as ShippingOption,\n      ShippingPrice$3 as ShippingPrice,\n      OtherCharge$1 as OtherCharge,\n      BuyerInfo$4 as BuyerInfo,\n      BuyerInfoIdOneOf$2 as BuyerInfoIdOneOf,\n      PriceSummary$3 as PriceSummary,\n      CalculationErrors$2 as CalculationErrors,\n      CalculationErrorsShippingCalculationErrorOneOf$2 as CalculationErrorsShippingCalculationErrorOneOf,\n      Details$3 as Details,\n      DetailsKindOneOf$3 as DetailsKindOneOf,\n      ApplicationError$8 as ApplicationError,\n      ValidationError$3 as ValidationError,\n      RuleType$3 as RuleType,\n      FieldViolation$3 as FieldViolation,\n      SystemError$3 as SystemError,\n      CarrierErrors$2 as CarrierErrors,\n      CarrierError$3 as CarrierError,\n      GiftCard$3 as GiftCard,\n      AppliedDiscount$3 as AppliedDiscount,\n      AppliedDiscountDiscountSourceOneOf$3 as AppliedDiscountDiscountSourceOneOf,\n      DiscountType$3 as DiscountType,\n      Coupon$3 as Coupon,\n      MerchantDiscount$3 as MerchantDiscount,\n      DiscountRule$3 as DiscountRule,\n      DiscountRuleName$3 as DiscountRuleName,\n      LineItemDiscount$3 as LineItemDiscount,\n      CustomField$3 as CustomField,\n      WeightUnit$5 as WeightUnit,\n      TaxSummary$3 as TaxSummary,\n      TaxCalculationDetails$1 as TaxCalculationDetails,\n      TaxCalculationDetailsCalculationDetailsOneOf$1 as TaxCalculationDetailsCalculationDetailsOneOf,\n      RateType$1 as RateType,\n      ManualCalculationReason$1 as ManualCalculationReason,\n      AutoTaxFallbackCalculationDetails$1 as AutoTaxFallbackCalculationDetails,\n      FallbackReason$1 as FallbackReason,\n      AggregatedTaxBreakdown$1 as AggregatedTaxBreakdown,\n      ChannelType$3 as ChannelType,\n      CreatedBy$3 as CreatedBy,\n      CreatedByIdOneOf$1 as CreatedByIdOneOf,\n      MembershipOptions$1 as MembershipOptions,\n      Membership$1 as Membership,\n      MembershipName$3 as MembershipName,\n      MembershipPaymentCredits$1 as MembershipPaymentCredits,\n      InvalidMembership$1 as InvalidMembership,\n      SelectedMemberships$1 as SelectedMemberships,\n      SelectedMembership$1 as SelectedMembership,\n      AdditionalFee$3 as AdditionalFee,\n      ecomV1CheckoutTemplate_universal_d_ConversionInfo as ConversionInfo,\n      ecomV1CheckoutTemplate_universal_d_Violation as Violation,\n      ecomV1CheckoutTemplate_universal_d_Severity as Severity,\n      ecomV1CheckoutTemplate_universal_d_Target as Target,\n      ecomV1CheckoutTemplate_universal_d_TargetTargetTypeOneOf as TargetTargetTypeOneOf,\n      ecomV1CheckoutTemplate_universal_d_NameInOther as NameInOther,\n      ecomV1CheckoutTemplate_universal_d_NameInLineItem as NameInLineItem,\n      ecomV1CheckoutTemplate_universal_d_SuggestedFix as SuggestedFix,\n      ecomV1CheckoutTemplate_universal_d_Other as Other,\n      ecomV1CheckoutTemplate_universal_d_TargetLineItem as TargetLineItem,\n      ecomV1CheckoutTemplate_universal_d_CustomSettings as CustomSettings,\n      ecomV1CheckoutTemplate_universal_d_CreateAndRedirectToCheckoutRequest as CreateAndRedirectToCheckoutRequest,\n      ecomV1CheckoutTemplate_universal_d_RawHttpResponse as RawHttpResponse,\n      ecomV1CheckoutTemplate_universal_d_HeadersEntry as HeadersEntry,\n      DomainEvent$e as DomainEvent,\n      DomainEventBodyOneOf$e as DomainEventBodyOneOf,\n      EntityCreatedEvent$e as EntityCreatedEvent,\n      RestoreInfo$e as RestoreInfo,\n      EntityUpdatedEvent$e as EntityUpdatedEvent,\n      EntityDeletedEvent$e as EntityDeletedEvent,\n      ActionEvent$e as ActionEvent,\n      MessageEnvelope$d as MessageEnvelope,\n      IdentificationData$e as IdentificationData,\n      IdentificationDataIdOneOf$e as IdentificationDataIdOneOf,\n      WebhookIdentityType$d as WebhookIdentityType,\n      ecomV1CheckoutTemplate_universal_d_createCheckoutTemplate as createCheckoutTemplate,\n      ecomV1CheckoutTemplate_universal_d_getCheckoutTemplate as getCheckoutTemplate,\n      ecomV1CheckoutTemplate_universal_d_updateCheckoutTemplate as updateCheckoutTemplate,\n      ecomV1CheckoutTemplate_universal_d_UpdateCheckoutTemplate as UpdateCheckoutTemplate,\n      ecomV1CheckoutTemplate_universal_d_UpdateCheckoutTemplateOptions as UpdateCheckoutTemplateOptions,\n      ecomV1CheckoutTemplate_universal_d_deleteCheckoutTemplate as deleteCheckoutTemplate,\n      ecomV1CheckoutTemplate_universal_d_queryCheckoutTemplates as queryCheckoutTemplates,\n      ecomV1CheckoutTemplate_universal_d_CheckoutTemplatesQueryResult as CheckoutTemplatesQueryResult,\n      ecomV1CheckoutTemplate_universal_d_CheckoutTemplatesQueryBuilder as CheckoutTemplatesQueryBuilder,\n      ecomV1CheckoutTemplate_universal_d_createCheckoutFromTemplate as createCheckoutFromTemplate,\n      ecomV1CheckoutTemplate_universal_d_createAndRedirectToCheckout as createAndRedirectToCheckout,\n    };\n  }\n  \n  /**\n   * A DeliveryProfile is a ...\n   * You can ...\n   * Read more about DeliveryProfiles\n   * in this [article](<LINK_TO_KB_ARTICLE>).\n   */\n  interface DeliveryProfile {\n      /**\n       * DeliveryProfile ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** DeliveryProfile name. */\n      name?: string | null;\n      /**\n       * Indicates that this DeliveryProfile is the default DeliveryProfile.\n       * @readonly\n       */\n      default?: boolean | null;\n      /** A list of DeliveryProfile regions. */\n      deliveryRegions?: DeliveryRegion[];\n      /** ID of the delivery profile's creator. */\n      createdBy?: CreatedBy$2;\n      /**\n       * DeliveryProfile revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the DeliveryProfile was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the DeliveryProfile was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$6;\n  }\n  /** DeliveryRegion can be used to config a Delivery Destinations with its providers */\n  interface DeliveryRegion {\n      /**\n       * The delivery region id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Optional name of the rule, for example: \"Domestic\". */\n      name?: string | null;\n      /** Indicates that this rule is active, default value is true. */\n      active?: boolean | null;\n      /**\n       * The spi implementers id of shipping-rates spi, assigned to this rule.\n       * @readonly\n       */\n      deliveryCarriers?: DeliveryCarrier[];\n      /** The operation region of this rule, if empty than it is global. */\n      destinations?: Destination$1[];\n      /**\n       * Represents the time this Profile was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  interface DeliveryCarrier {\n      /** AppDefId of the provider as it is registered in the [app dashboard](https://dev.wix.com/dc3/my-apps/). Can be fetched by listDeliveryProvider api. */\n      appId?: string;\n      /** Backup rate to be used in case the cost returned by the provider is empty. */\n      backupRate?: BackupRate;\n      /** Additional charges to add to the delivery rate for this carrier */\n      additionalCharges?: AdditionalCharge$1[];\n  }\n  interface BackupRate {\n      /** Default rate prefix that will concatenate to the delivery options the provider will offer. */\n      prefix?: string | null;\n      /** Default rate price for all delivery options that the provider will offer. */\n      rate?: string | null;\n      /** Should the default rate be used. Default value is false. */\n      enabled?: boolean | null;\n  }\n  interface AdditionalCharge$1 {\n      /** Additional charge type. */\n      type?: ChargeType$2;\n      /** Description of the additional charge. For example, `\"Handling fee of $5 applied for gift wrapping\"`. */\n      description?: string | null;\n      /** Cost of additional charge. For example, `12.5`. */\n      price?: string;\n  }\n  enum ChargeType$2 {\n      HANDLING_FEE = \"HANDLING_FEE\"\n  }\n  /** Defines the area inside one country that is relevant for this rule. */\n  interface Destination$1 {\n      /** 2-letters code represents the country of the delivery destinations */\n      countryCode?: string;\n      /**\n       * subdivisions - Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).\n       * If empty, the rule applies to the entire country.\n       */\n      subdivisions?: string[];\n  }\n  interface CreatedBy$2 extends CreatedByIdOneOf {\n      /** App ID - when the delivery profile was created by an external application or Wix service. */\n      appId?: string | null;\n      /** User ID - when the delivery profile was created by a Wix user. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface CreatedByIdOneOf {\n      /** App ID - when the delivery profile was created by an external application or Wix service. */\n      appId?: string | null;\n      /** User ID - when the delivery profile was created by a Wix user. */\n      userId?: string | null;\n  }\n  interface ExtendedFields$6 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface DeliveryRegionAdded {\n      /** The DeliveryProfile owns this region. */\n      deliveryProfileId?: string;\n      /**\n       * The delivery region id.\n       * @readonly\n       */\n      deliveryRegionId?: string | null;\n      /** Optional name of the rule, for example: \"Domestic\". */\n      name?: string | null;\n      /** Indicates that this rule is active, default value is true. */\n      active?: boolean | null;\n      /**\n       * The spi implementers id of shipping-rates spi, assigned to this rule.\n       * @readonly\n       */\n      deliveryCarriers?: DeliveryCarrier[];\n      /** The operation region of this rule, if empty than it is global. */\n      destinations?: Destination$1[];\n      /**\n       * Represents the time this Profile was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  interface DeliveryRegionRemoved {\n      /** The DeliveryProfile owns this region. */\n      deliveryProfileId?: string;\n      /** The removed DeliveryRegion id. */\n      deliveryRegionId?: string;\n  }\n  interface DeliveryRegionUpdated {\n      /** The DeliveryProfile owns this DeliveryRegion. */\n      deliveryProfileId?: string;\n      /**\n       * The delivery region id.\n       * @readonly\n       */\n      deliveryRegionId?: string | null;\n      /** Optional name of the rule, for example: \"Domestic\". */\n      name?: string | null;\n      /** Indicates that this rule is active, default value is true. */\n      active?: boolean | null;\n      /**\n       * The spi implementers id of shipping-rates spi, assigned to this rule.\n       * @readonly\n       */\n      deliveryCarriers?: DeliveryCarrier[];\n      /** The operation region of this rule, if empty than it is global. */\n      destinations?: Destination$1[];\n      /**\n       * Represents the time this Profile was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  interface CreateDeliveryProfileRequest {\n      /** DeliveryProfile to be created. */\n      deliveryProfile: DeliveryProfile;\n  }\n  interface CreateDeliveryProfileResponse {\n      /** The created DeliveryProfile. */\n      deliveryProfile?: DeliveryProfile;\n  }\n  interface GetDeliveryProfileRequest {\n      /** ID of the DeliveryProfile to retrieve. */\n      deliveryProfileId: string;\n  }\n  interface GetDeliveryProfileResponse {\n      /** The requested DeliveryProfile. */\n      deliveryProfile?: DeliveryProfile;\n  }\n  interface UpdateDeliveryProfileRequest {\n      /** DeliveryProfile to be updated, may be partial. */\n      deliveryProfile: DeliveryProfile;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateDeliveryProfileResponse {\n      /** Updated DeliveryProfile. */\n      deliveryProfile?: DeliveryProfile;\n  }\n  interface DeleteDeliveryProfileRequest {\n      /** Id of the DeliveryProfile to delete. */\n      deliveryProfileId: string;\n  }\n  interface DeleteDeliveryProfileResponse {\n  }\n  interface QueryDeliveryProfilesRequest {\n      /** WQL expression. */\n      query?: CursorQuery$6;\n  }\n  interface CursorQuery$6 extends CursorQueryPagingMethodOneOf$6 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$a;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$a[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$6 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$a;\n  }\n  interface Sorting$a {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$a;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$a {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$a {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryDeliveryProfilesResponse {\n      /** List of DeliveryProfiles. */\n      deliveryProfiles?: DeliveryProfile[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$9;\n  }\n  interface CursorPagingMetadata$9 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$a;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$a {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AddDeliveryRegionRequest$2 {\n      /** delivery profile id to associated with the DeliveryRegion */\n      deliveryProfileId: string;\n      /** DeliveryRegion to be created */\n      deliveryRegion: DeliveryRegion;\n      /**\n       * DeliveryProfile revision.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface AddDeliveryRegionResponse$2 {\n      /** The updated DeliveryProfile with the new DeliveryRegion */\n      deliveryProfile?: DeliveryProfile;\n  }\n  interface UpdateDeliveryRegionRequest {\n      /** DeliveryProfile id that owns the DeliveryRegion */\n      deliveryProfileId: string;\n      /** DeliveryRegion to be updated, may be partial */\n      deliveryRegion: DeliveryRegion;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * DeliveryProfile revision.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface UpdateDeliveryRegionResponse {\n      /** The updated DeliveryProfile with the updated DeliveryRegion */\n      deliveryProfile?: DeliveryProfile;\n  }\n  interface RemoveDeliveryRegionRequest$2 {\n      /** DeliveryProfile id that owns the DeliveryRegion */\n      deliveryProfileId: string;\n      /** Id of the DeliveryRegion to delete */\n      deliveryRegionId: string;\n      /**\n       * DeliveryProfile revision.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface RemoveDeliveryRegionResponse$2 {\n      /** The updated DeliveryProfile without DeliveryRegion */\n      deliveryProfile?: DeliveryProfile;\n  }\n  interface AddDeliveryCarrierRequest {\n      /** delivery_region id to associated with the delivery_carrier. */\n      deliveryRegionId: string;\n      /** delivery_carrier to be added. */\n      deliveryCarrier: DeliveryCarrier;\n  }\n  interface AddDeliveryCarrierResponse {\n      /** The updated DeliveryProfile */\n      deliveryProfile?: DeliveryProfile;\n  }\n  interface RemoveDeliveryCarrierRequest {\n      /** Id of the DeliveryRegion */\n      deliveryRegionId: string;\n      /** DeliveryCarrier app id to be removed. */\n      appId: string;\n  }\n  interface RemoveDeliveryCarrierResponse {\n      /** The updated DeliveryProfile */\n      deliveryProfile?: DeliveryProfile;\n  }\n  interface UpdateDeliveryCarrierRequest {\n      /** DeliveryRegion id */\n      deliveryRegionId: string;\n      /** Updated delivery_carrier */\n      deliveryCarrier?: DeliveryCarrier;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateDeliveryCarrierResponse {\n      /** The updated DeliveryProfile with the updated DeliveryCarrier */\n      deliveryProfile?: DeliveryProfile;\n  }\n  interface ListDeliveryCarrierDetailsRequest {\n  }\n  interface ListDeliveryCarrierDetailsResponse {\n      /** The list of carrier or multi-carrier services that has implemented the spi and installed on the current context(site) */\n      deliveryCarrierDetails?: DeliveryCarrierDetails[];\n  }\n  interface DeliveryCarrierDetails {\n      /** The id of the provider. */\n      _id?: string;\n      /** The name of the Provider. */\n      displayName?: string;\n      /** Provider's description. */\n      description?: string | null;\n      /** A link to learn more about the provider. */\n      learnMoreUrl?: string | null;\n      /** Dashboard URL for the provider. */\n      dashboardUrl?: string | null;\n      /** If the provider fallback definition is mandatory. */\n      fallbackDefinitionMandatory?: boolean | null;\n      /** Thumbnail image for provider. */\n      thumbnailUrl?: string | null;\n      /** feature toggle initialized with default value = false. should be true if implemented by spi provider */\n      toggleGetCarrierSettingsEnabled?: boolean;\n  }\n  interface ListDeliveryCarriersRequest {\n      /** Delivery profile id. */\n      deliveryProfileId: string;\n      /** Delivery app ids to get settings for. */\n      appIds?: string[];\n  }\n  interface ListDeliveryCarriersResponse {\n      /** The list of delivery settings for the given requests */\n      results?: ListDeliveryCarriersResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface ListDeliveryCarriersResult {\n      /** Information about successful action or error for failure. */\n      deliveryCarrierMetadata?: ItemMetadata$3;\n      /** The delivery carrier details */\n      deliveryCarrierDetails?: DeliveryCarrierDetails;\n      /** The delivery settings for the delivery profile and delivery region. */\n      deliveryCarrierRegionalSettings?: DeliveryCarrierRegionalSettings[];\n  }\n  interface ItemMetadata$3 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$7;\n  }\n  interface ApplicationError$7 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface DeliveryCarrierRegionalSettings {\n      /** The delivery rule id. */\n      deliveryRegionId?: string;\n      /** The shipping table values that are associated with the delivery rule. Can be multiple if the provider is an aggregator of multiple carriers. */\n      dashboardTables?: DashboardTable[];\n  }\n  interface DashboardTable {\n      /** The title of the delivery settings that will be displayed in the UI. */\n      title?: string;\n      /** The columns of the delivery settings that will be displayed in the UI. */\n      columns?: Column[];\n      /** The content of the delivery settings. Each row is a map of column name to value. */\n      rows?: Row[];\n  }\n  interface Column {\n      /** The name of the column. This is used to get the data from the row. */\n      key?: string;\n      /** The title of the column that will be displayed in the UI. */\n      name?: string;\n  }\n  interface Row {\n      /** The external key of the data presented in a row. This is used to identify the row in the UI for editing. */\n      key?: string;\n      /**\n       * The data presented in the row. The key is the column `name` and the value is the data in the specific row and column.\n       * Data will be in JSON format.\n       */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$3 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface UpdateExtendedFieldsRequest$4 {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse$4 {\n      /** Updated DeliveryProfile. */\n      deliveryProfile?: DeliveryProfile;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State$1;\n  }\n  enum State$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace$1;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace$1 {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace$1;\n      /** A new namespace. */\n      newNamespace?: Namespace$1;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface Empty$7 {\n  }\n  interface DomainEvent$d extends DomainEventBodyOneOf$d {\n      createdEvent?: EntityCreatedEvent$d;\n      updatedEvent?: EntityUpdatedEvent$d;\n      deletedEvent?: EntityDeletedEvent$d;\n      actionEvent?: ActionEvent$d;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$d {\n      createdEvent?: EntityCreatedEvent$d;\n      updatedEvent?: EntityUpdatedEvent$d;\n      deletedEvent?: EntityDeletedEvent$d;\n      actionEvent?: ActionEvent$d;\n  }\n  interface EntityCreatedEvent$d {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$d;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$d {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$d {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$d {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$d {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$c {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$d;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$d extends IdentificationDataIdOneOf$d {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$c;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$d {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$c {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a DeliveryProfile.\n   *\n   * The request body must include the DeliveryProfiles name. DeliveryRegions are optional.\n   * @param deliveryProfile - DeliveryProfile to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryProfile\n   * @requiredField deliveryProfile.deliveryRegions.deliveryCarriers.backupRate.rate\n   * @requiredField deliveryProfile.deliveryRegions.destinations\n   * @requiredField deliveryProfile.deliveryRegions.destinations.countryCode\n   * @requiredField deliveryProfile.deliveryRegions.name\n   * @requiredField deliveryProfile.name\n   * @permissionId ECOM.DELIVERY_PROFILE_CREATE\n   * @adminMethod\n   * @returns The created DeliveryProfile.\n   */\n  function createDeliveryProfile(deliveryProfile: DeliveryProfile): Promise<DeliveryProfile>;\n  /**\n   * Retrieves a DeliveryProfile.\n   * @param deliveryProfileId - ID of the DeliveryProfile to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryProfileId\n   * @permissionId ECOM.DELIVERY_PROFILE_READ\n   * @returns The requested DeliveryProfile.\n   */\n  function getDeliveryProfile(deliveryProfileId: string): Promise<DeliveryProfile>;\n  /**\n   * Updates a DeliveryProfile.\n   *\n   *\n   * Each time the DeliveryProfile is updated,\n   * `revision` increments by 1.\n   * The current `revision` must be passed when updating the DeliveryProfile.\n   * This ensures you're working with the latest DeliveryProfile\n   * and prevents unintended overwrites.\n   *\n   * This method does not allow updating the DeliveryRegions in this DeliveryProfile.\n   * Use AddDeliveryRegion, UpdateDeliveryRegion and RemoveDeliveryRegion for these functionalities.\n   * @param _id - DeliveryProfile ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField deliveryProfile\n   * @requiredField deliveryProfile.revision\n   * @permissionId ECOM.DELIVERY_PROFILE_UPDATE\n   * @adminMethod\n   * @returns Updated DeliveryProfile.\n   */\n  function updateDeliveryProfile(_id: string | null, deliveryProfile: UpdateDeliveryProfile, options?: UpdateDeliveryProfileOptions): Promise<DeliveryProfile>;\n  interface UpdateDeliveryProfile {\n      /**\n       * DeliveryProfile ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** DeliveryProfile name. */\n      name?: string | null;\n      /**\n       * Indicates that this DeliveryProfile is the default DeliveryProfile.\n       * @readonly\n       */\n      default?: boolean | null;\n      /** A list of DeliveryProfile regions. */\n      deliveryRegions?: DeliveryRegion[];\n      /** ID of the delivery profile's creator. */\n      createdBy?: CreatedBy$2;\n      /**\n       * DeliveryProfile revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the DeliveryProfile was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the DeliveryProfile was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$6;\n  }\n  interface UpdateDeliveryProfileOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a DeliveryProfile.\n   *\n   * Deleting a DeliveryProfile permanently removes them from the DeliveryProfile List.\n   * @param deliveryProfileId - Id of the DeliveryProfile to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryProfileId\n   * @permissionId ECOM.DELIVERY_PROFILE_DELETE\n   * @adminMethod\n   */\n  function deleteDeliveryProfile(deliveryProfileId: string): Promise<void>;\n  /**\n   * Retrieves a list of DeliveryProfiles, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 1,000 DeliveryProfiles can be returned per request.\n   *\n   * To learn how to query DeliveryProfiles, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.DELIVERY_PROFILE_READ\n   */\n  function queryDeliveryProfiles(): DeliveryProfilesQueryBuilder;\n  interface QueryCursorResult$a {\n      cursors: Cursors$a;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface DeliveryProfilesQueryResult extends QueryCursorResult$a {\n      items: DeliveryProfile[];\n      query: DeliveryProfilesQueryBuilder;\n      next: () => Promise<DeliveryProfilesQueryResult>;\n      prev: () => Promise<DeliveryProfilesQueryResult>;\n  }\n  interface DeliveryProfilesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name' | 'default' | 'deliveryRegions.id' | 'deliveryRegions.active' | 'deliveryRegions.createdDate' | '_createdDate', value: any) => DeliveryProfilesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name' | 'default' | 'deliveryRegions.id' | 'deliveryRegions.active' | 'deliveryRegions.createdDate' | '_createdDate', value: any) => DeliveryProfilesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'deliveryRegions.createdDate' | '_createdDate', value: any) => DeliveryProfilesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'deliveryRegions.createdDate' | '_createdDate', value: any) => DeliveryProfilesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'deliveryRegions.createdDate' | '_createdDate', value: any) => DeliveryProfilesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'deliveryRegions.createdDate' | '_createdDate', value: any) => DeliveryProfilesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'deliveryRegions.id', value: string) => DeliveryProfilesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'name' | 'default' | 'deliveryRegions.id' | 'deliveryRegions.active' | 'deliveryRegions.createdDate' | '_createdDate', value: any[]) => DeliveryProfilesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | 'default' | 'deliveryRegions.id' | 'deliveryRegions.active' | 'deliveryRegions.createdDate' | '_createdDate', value: any) => DeliveryProfilesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'name' | 'default' | 'deliveryRegions.id' | 'deliveryRegions.active' | 'deliveryRegions.createdDate' | '_createdDate', value: boolean) => DeliveryProfilesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'name' | 'default' | 'deliveryRegions.id' | 'deliveryRegions.active' | 'deliveryRegions.destinations' | 'deliveryRegions.createdDate' | '_createdDate'>) => DeliveryProfilesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'name' | 'default' | 'deliveryRegions.id' | 'deliveryRegions.active' | 'deliveryRegions.destinations' | 'deliveryRegions.createdDate' | '_createdDate'>) => DeliveryProfilesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => DeliveryProfilesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => DeliveryProfilesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<DeliveryProfilesQueryResult>;\n  }\n  /**\n   * Creates a new DeliveryRegion in an existing DeliveryProfile.\n   * @param deliveryProfileId - delivery profile id to associated with the DeliveryRegion\n   * @param deliveryRegion - DeliveryRegion to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryProfileId\n   * @requiredField deliveryRegion\n   * @requiredField deliveryRegion.deliveryCarriers.backupRate.rate\n   * @requiredField deliveryRegion.destinations.countryCode\n   * @requiredField deliveryRegion.name\n   * @permissionId ECOM.DELIVERY_REGION_CREATE\n   * @adminMethod\n   */\n  function addDeliveryRegion$2(deliveryProfileId: string, deliveryRegion: DeliveryRegion, options?: AddDeliveryRegionOptions$2): Promise<AddDeliveryRegionResponse$2>;\n  interface AddDeliveryRegionOptions$2 {\n      /**\n       * DeliveryProfile revision.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  /**\n   * Update a DeliveryRegion, supports partial update\n   * Pass the latest `revision` for a successful update\n   *\n   * This method does not allow setting or updating the delivery delivery_carriers in this delivery_region.\n   * Use AddDeliveryCarrier, UpdateDeliveryCarrier and RemoveDeliveryCarrier for these functionalities.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryRegion\n   * @requiredField identifiers\n   * @requiredField identifiers.deliveryProfileId\n   * @requiredField identifiers.deliveryRegionId\n   * @permissionId ECOM.DELIVERY_REGION_UPDATE\n   * @adminMethod\n   */\n  function updateDeliveryRegion(identifiers: UpdateDeliveryRegionIdentifiers, deliveryRegion: UpdateDeliveryRegion, options?: UpdateDeliveryRegionOptions): Promise<UpdateDeliveryRegionResponse>;\n  interface UpdateDeliveryRegionIdentifiers {\n      /** DeliveryProfile id that owns the DeliveryRegion */\n      deliveryProfileId: string;\n      /**\n       * The delivery region id.\n       * @readonly\n       */\n      deliveryRegionId?: string | null;\n  }\n  interface UpdateDeliveryRegion {\n      /**\n       * The delivery region id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Optional name of the rule, for example: \"Domestic\". */\n      name?: string | null;\n      /** Indicates that this rule is active, default value is true. */\n      active?: boolean | null;\n      /**\n       * The spi implementers id of shipping-rates spi, assigned to this rule.\n       * @readonly\n       */\n      deliveryCarriers?: DeliveryCarrier[];\n      /** The operation region of this rule, if empty than it is global. */\n      destinations?: Destination$1[];\n      /**\n       * Represents the time this Profile was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  interface UpdateDeliveryRegionOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * DeliveryProfile revision.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  /**\n   * Delete a DeliveryRegion\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.deliveryProfileId\n   * @requiredField identifiers.deliveryRegionId\n   * @permissionId ECOM.DELIVERY_REGION_DELETE\n   * @adminMethod\n   */\n  function removeDeliveryRegion$2(identifiers: RemoveDeliveryRegionIdentifiers, options?: RemoveDeliveryRegionOptions$2): Promise<RemoveDeliveryRegionResponse$2>;\n  interface RemoveDeliveryRegionIdentifiers {\n      /** DeliveryProfile id that owns the DeliveryRegion */\n      deliveryProfileId: string;\n      /** Id of the DeliveryRegion to delete */\n      deliveryRegionId: string;\n  }\n  interface RemoveDeliveryRegionOptions$2 {\n      /**\n       * DeliveryProfile revision.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  /**\n   * Add a delivery_carrier to a delivery region\n   * @param deliveryRegionId - delivery_region id to associated with the delivery_carrier.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryRegionId\n   * @requiredField options\n   * @requiredField options.deliveryCarrier\n   * @requiredField options.deliveryCarrier.backupRate.rate\n   * @permissionId ECOM.DELIVERY_CARRIER_ADD\n   * @adminMethod\n   */\n  function addDeliveryCarrier(deliveryRegionId: string, options: AddDeliveryCarrierOptions): Promise<AddDeliveryCarrierResponse>;\n  interface AddDeliveryCarrierOptions {\n      /** delivery_carrier to be added. */\n      deliveryCarrier: DeliveryCarrier;\n  }\n  /**\n   * Remove a delivery_carrier from a delivery region\n   * @param deliveryRegionId - Id of the DeliveryRegion\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryRegionId\n   * @requiredField options\n   * @requiredField options.appId\n   * @permissionId ECOM.DELIVERY_CARRIER_REMOVE\n   * @adminMethod\n   */\n  function removeDeliveryCarrier(deliveryRegionId: string, options: RemoveDeliveryCarrierOptions): Promise<RemoveDeliveryCarrierResponse>;\n  interface RemoveDeliveryCarrierOptions {\n      /** DeliveryCarrier app id to be removed. */\n      appId: string;\n  }\n  /**\n   * Update a delivery carrier in a delivery region\n   * @param deliveryRegionId - DeliveryRegion id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryRegionId\n   * @requiredField options.deliveryCarrier.appId\n   * @permissionId ECOM.DELIVERY_CARRIER_UPDATE\n   * @adminMethod\n   */\n  function updateDeliveryCarrier(deliveryRegionId: string, options?: UpdateDeliveryCarrierOptions): Promise<UpdateDeliveryCarrierResponse>;\n  interface UpdateDeliveryCarrierOptions {\n      /** Updated delivery_carrier */\n      deliveryCarrier?: DeliveryCarrier;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * List all installed delivery carriers in order to set their ids in delivery rules\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.DELIVERY_CARRIER_DETAILS_READ\n   * @adminMethod\n   */\n  function listDeliveryCarrierDetails(): Promise<ListDeliveryCarrierDetailsResponse>;\n  /**\n   * Get delivery carrier settings for a delivery profile and delivery region.\n   * These are returned in a table format for the dashboard.\n   * @param deliveryProfileId - Delivery profile id.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryProfileId\n   * @permissionId ECOM.DELIVERY_CARRIER_READ\n   * @adminMethod\n   */\n  function listDeliveryCarriers(deliveryProfileId: string, options?: ListDeliveryCarriersOptions): Promise<ListDeliveryCarriersResponse>;\n  interface ListDeliveryCarriersOptions {\n      /** Delivery app ids to get settings for. */\n      appIds?: string[];\n  }\n  /**\n   * Updates extended fields of a DeliveryProfile without incrementing revision\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId ECOM.DELIVERY_PROFILE_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields$4(_id: string, namespace: string, options: UpdateExtendedFieldsOptions$4): Promise<UpdateExtendedFieldsResponse$4>;\n  interface UpdateExtendedFieldsOptions$4 {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  \n  type ecomV1DeliveryProfile_universal_d_DeliveryProfile = DeliveryProfile;\n  type ecomV1DeliveryProfile_universal_d_DeliveryRegion = DeliveryRegion;\n  type ecomV1DeliveryProfile_universal_d_DeliveryCarrier = DeliveryCarrier;\n  type ecomV1DeliveryProfile_universal_d_BackupRate = BackupRate;\n  type ecomV1DeliveryProfile_universal_d_CreatedByIdOneOf = CreatedByIdOneOf;\n  type ecomV1DeliveryProfile_universal_d_DeliveryRegionAdded = DeliveryRegionAdded;\n  type ecomV1DeliveryProfile_universal_d_DeliveryRegionRemoved = DeliveryRegionRemoved;\n  type ecomV1DeliveryProfile_universal_d_DeliveryRegionUpdated = DeliveryRegionUpdated;\n  type ecomV1DeliveryProfile_universal_d_CreateDeliveryProfileRequest = CreateDeliveryProfileRequest;\n  type ecomV1DeliveryProfile_universal_d_CreateDeliveryProfileResponse = CreateDeliveryProfileResponse;\n  type ecomV1DeliveryProfile_universal_d_GetDeliveryProfileRequest = GetDeliveryProfileRequest;\n  type ecomV1DeliveryProfile_universal_d_GetDeliveryProfileResponse = GetDeliveryProfileResponse;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryProfileRequest = UpdateDeliveryProfileRequest;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryProfileResponse = UpdateDeliveryProfileResponse;\n  type ecomV1DeliveryProfile_universal_d_DeleteDeliveryProfileRequest = DeleteDeliveryProfileRequest;\n  type ecomV1DeliveryProfile_universal_d_DeleteDeliveryProfileResponse = DeleteDeliveryProfileResponse;\n  type ecomV1DeliveryProfile_universal_d_QueryDeliveryProfilesRequest = QueryDeliveryProfilesRequest;\n  type ecomV1DeliveryProfile_universal_d_QueryDeliveryProfilesResponse = QueryDeliveryProfilesResponse;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryRegionRequest = UpdateDeliveryRegionRequest;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryRegionResponse = UpdateDeliveryRegionResponse;\n  type ecomV1DeliveryProfile_universal_d_AddDeliveryCarrierRequest = AddDeliveryCarrierRequest;\n  type ecomV1DeliveryProfile_universal_d_AddDeliveryCarrierResponse = AddDeliveryCarrierResponse;\n  type ecomV1DeliveryProfile_universal_d_RemoveDeliveryCarrierRequest = RemoveDeliveryCarrierRequest;\n  type ecomV1DeliveryProfile_universal_d_RemoveDeliveryCarrierResponse = RemoveDeliveryCarrierResponse;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryCarrierRequest = UpdateDeliveryCarrierRequest;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryCarrierResponse = UpdateDeliveryCarrierResponse;\n  type ecomV1DeliveryProfile_universal_d_ListDeliveryCarrierDetailsRequest = ListDeliveryCarrierDetailsRequest;\n  type ecomV1DeliveryProfile_universal_d_ListDeliveryCarrierDetailsResponse = ListDeliveryCarrierDetailsResponse;\n  type ecomV1DeliveryProfile_universal_d_DeliveryCarrierDetails = DeliveryCarrierDetails;\n  type ecomV1DeliveryProfile_universal_d_ListDeliveryCarriersRequest = ListDeliveryCarriersRequest;\n  type ecomV1DeliveryProfile_universal_d_ListDeliveryCarriersResponse = ListDeliveryCarriersResponse;\n  type ecomV1DeliveryProfile_universal_d_ListDeliveryCarriersResult = ListDeliveryCarriersResult;\n  type ecomV1DeliveryProfile_universal_d_DeliveryCarrierRegionalSettings = DeliveryCarrierRegionalSettings;\n  type ecomV1DeliveryProfile_universal_d_DashboardTable = DashboardTable;\n  type ecomV1DeliveryProfile_universal_d_Column = Column;\n  type ecomV1DeliveryProfile_universal_d_Row = Row;\n  type ecomV1DeliveryProfile_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type ecomV1DeliveryProfile_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type ecomV1DeliveryProfile_universal_d_Asset = Asset;\n  type ecomV1DeliveryProfile_universal_d_SiteCreated = SiteCreated;\n  type ecomV1DeliveryProfile_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const ecomV1DeliveryProfile_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type ecomV1DeliveryProfile_universal_d_SiteTransferred = SiteTransferred;\n  type ecomV1DeliveryProfile_universal_d_SiteDeleted = SiteDeleted;\n  type ecomV1DeliveryProfile_universal_d_DeleteContext = DeleteContext;\n  type ecomV1DeliveryProfile_universal_d_DeleteStatus = DeleteStatus;\n  const ecomV1DeliveryProfile_universal_d_DeleteStatus: typeof DeleteStatus;\n  type ecomV1DeliveryProfile_universal_d_SiteUndeleted = SiteUndeleted;\n  type ecomV1DeliveryProfile_universal_d_SitePublished = SitePublished;\n  type ecomV1DeliveryProfile_universal_d_SiteUnpublished = SiteUnpublished;\n  type ecomV1DeliveryProfile_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type ecomV1DeliveryProfile_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type ecomV1DeliveryProfile_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type ecomV1DeliveryProfile_universal_d_ServiceRemoved = ServiceRemoved;\n  type ecomV1DeliveryProfile_universal_d_SiteRenamed = SiteRenamed;\n  type ecomV1DeliveryProfile_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type ecomV1DeliveryProfile_universal_d_NamespaceChanged = NamespaceChanged;\n  type ecomV1DeliveryProfile_universal_d_StudioAssigned = StudioAssigned;\n  type ecomV1DeliveryProfile_universal_d_StudioUnassigned = StudioUnassigned;\n  const ecomV1DeliveryProfile_universal_d_createDeliveryProfile: typeof createDeliveryProfile;\n  const ecomV1DeliveryProfile_universal_d_getDeliveryProfile: typeof getDeliveryProfile;\n  const ecomV1DeliveryProfile_universal_d_updateDeliveryProfile: typeof updateDeliveryProfile;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryProfile = UpdateDeliveryProfile;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryProfileOptions = UpdateDeliveryProfileOptions;\n  const ecomV1DeliveryProfile_universal_d_deleteDeliveryProfile: typeof deleteDeliveryProfile;\n  const ecomV1DeliveryProfile_universal_d_queryDeliveryProfiles: typeof queryDeliveryProfiles;\n  type ecomV1DeliveryProfile_universal_d_DeliveryProfilesQueryResult = DeliveryProfilesQueryResult;\n  type ecomV1DeliveryProfile_universal_d_DeliveryProfilesQueryBuilder = DeliveryProfilesQueryBuilder;\n  const ecomV1DeliveryProfile_universal_d_updateDeliveryRegion: typeof updateDeliveryRegion;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryRegionIdentifiers = UpdateDeliveryRegionIdentifiers;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryRegion = UpdateDeliveryRegion;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryRegionOptions = UpdateDeliveryRegionOptions;\n  type ecomV1DeliveryProfile_universal_d_RemoveDeliveryRegionIdentifiers = RemoveDeliveryRegionIdentifiers;\n  const ecomV1DeliveryProfile_universal_d_addDeliveryCarrier: typeof addDeliveryCarrier;\n  type ecomV1DeliveryProfile_universal_d_AddDeliveryCarrierOptions = AddDeliveryCarrierOptions;\n  const ecomV1DeliveryProfile_universal_d_removeDeliveryCarrier: typeof removeDeliveryCarrier;\n  type ecomV1DeliveryProfile_universal_d_RemoveDeliveryCarrierOptions = RemoveDeliveryCarrierOptions;\n  const ecomV1DeliveryProfile_universal_d_updateDeliveryCarrier: typeof updateDeliveryCarrier;\n  type ecomV1DeliveryProfile_universal_d_UpdateDeliveryCarrierOptions = UpdateDeliveryCarrierOptions;\n  const ecomV1DeliveryProfile_universal_d_listDeliveryCarrierDetails: typeof listDeliveryCarrierDetails;\n  const ecomV1DeliveryProfile_universal_d_listDeliveryCarriers: typeof listDeliveryCarriers;\n  type ecomV1DeliveryProfile_universal_d_ListDeliveryCarriersOptions = ListDeliveryCarriersOptions;\n  namespace ecomV1DeliveryProfile_universal_d {\n    export {\n      ecomV1DeliveryProfile_universal_d_DeliveryProfile as DeliveryProfile,\n      ecomV1DeliveryProfile_universal_d_DeliveryRegion as DeliveryRegion,\n      ecomV1DeliveryProfile_universal_d_DeliveryCarrier as DeliveryCarrier,\n      ecomV1DeliveryProfile_universal_d_BackupRate as BackupRate,\n      AdditionalCharge$1 as AdditionalCharge,\n      ChargeType$2 as ChargeType,\n      Destination$1 as Destination,\n      CreatedBy$2 as CreatedBy,\n      ecomV1DeliveryProfile_universal_d_CreatedByIdOneOf as CreatedByIdOneOf,\n      ExtendedFields$6 as ExtendedFields,\n      ecomV1DeliveryProfile_universal_d_DeliveryRegionAdded as DeliveryRegionAdded,\n      ecomV1DeliveryProfile_universal_d_DeliveryRegionRemoved as DeliveryRegionRemoved,\n      ecomV1DeliveryProfile_universal_d_DeliveryRegionUpdated as DeliveryRegionUpdated,\n      ecomV1DeliveryProfile_universal_d_CreateDeliveryProfileRequest as CreateDeliveryProfileRequest,\n      ecomV1DeliveryProfile_universal_d_CreateDeliveryProfileResponse as CreateDeliveryProfileResponse,\n      ecomV1DeliveryProfile_universal_d_GetDeliveryProfileRequest as GetDeliveryProfileRequest,\n      ecomV1DeliveryProfile_universal_d_GetDeliveryProfileResponse as GetDeliveryProfileResponse,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryProfileRequest as UpdateDeliveryProfileRequest,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryProfileResponse as UpdateDeliveryProfileResponse,\n      ecomV1DeliveryProfile_universal_d_DeleteDeliveryProfileRequest as DeleteDeliveryProfileRequest,\n      ecomV1DeliveryProfile_universal_d_DeleteDeliveryProfileResponse as DeleteDeliveryProfileResponse,\n      ecomV1DeliveryProfile_universal_d_QueryDeliveryProfilesRequest as QueryDeliveryProfilesRequest,\n      CursorQuery$6 as CursorQuery,\n      CursorQueryPagingMethodOneOf$6 as CursorQueryPagingMethodOneOf,\n      Sorting$a as Sorting,\n      SortOrder$a as SortOrder,\n      CursorPaging$a as CursorPaging,\n      ecomV1DeliveryProfile_universal_d_QueryDeliveryProfilesResponse as QueryDeliveryProfilesResponse,\n      CursorPagingMetadata$9 as CursorPagingMetadata,\n      Cursors$a as Cursors,\n      AddDeliveryRegionRequest$2 as AddDeliveryRegionRequest,\n      AddDeliveryRegionResponse$2 as AddDeliveryRegionResponse,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryRegionRequest as UpdateDeliveryRegionRequest,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryRegionResponse as UpdateDeliveryRegionResponse,\n      RemoveDeliveryRegionRequest$2 as RemoveDeliveryRegionRequest,\n      RemoveDeliveryRegionResponse$2 as RemoveDeliveryRegionResponse,\n      ecomV1DeliveryProfile_universal_d_AddDeliveryCarrierRequest as AddDeliveryCarrierRequest,\n      ecomV1DeliveryProfile_universal_d_AddDeliveryCarrierResponse as AddDeliveryCarrierResponse,\n      ecomV1DeliveryProfile_universal_d_RemoveDeliveryCarrierRequest as RemoveDeliveryCarrierRequest,\n      ecomV1DeliveryProfile_universal_d_RemoveDeliveryCarrierResponse as RemoveDeliveryCarrierResponse,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryCarrierRequest as UpdateDeliveryCarrierRequest,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryCarrierResponse as UpdateDeliveryCarrierResponse,\n      ecomV1DeliveryProfile_universal_d_ListDeliveryCarrierDetailsRequest as ListDeliveryCarrierDetailsRequest,\n      ecomV1DeliveryProfile_universal_d_ListDeliveryCarrierDetailsResponse as ListDeliveryCarrierDetailsResponse,\n      ecomV1DeliveryProfile_universal_d_DeliveryCarrierDetails as DeliveryCarrierDetails,\n      ecomV1DeliveryProfile_universal_d_ListDeliveryCarriersRequest as ListDeliveryCarriersRequest,\n      ecomV1DeliveryProfile_universal_d_ListDeliveryCarriersResponse as ListDeliveryCarriersResponse,\n      ecomV1DeliveryProfile_universal_d_ListDeliveryCarriersResult as ListDeliveryCarriersResult,\n      ItemMetadata$3 as ItemMetadata,\n      ApplicationError$7 as ApplicationError,\n      ecomV1DeliveryProfile_universal_d_DeliveryCarrierRegionalSettings as DeliveryCarrierRegionalSettings,\n      ecomV1DeliveryProfile_universal_d_DashboardTable as DashboardTable,\n      ecomV1DeliveryProfile_universal_d_Column as Column,\n      ecomV1DeliveryProfile_universal_d_Row as Row,\n      BulkActionMetadata$3 as BulkActionMetadata,\n      UpdateExtendedFieldsRequest$4 as UpdateExtendedFieldsRequest,\n      UpdateExtendedFieldsResponse$4 as UpdateExtendedFieldsResponse,\n      ecomV1DeliveryProfile_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      ecomV1DeliveryProfile_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      ecomV1DeliveryProfile_universal_d_Asset as Asset,\n      State$1 as State,\n      ecomV1DeliveryProfile_universal_d_SiteCreated as SiteCreated,\n      ecomV1DeliveryProfile_universal_d_SiteCreatedContext as SiteCreatedContext,\n      Namespace$1 as Namespace,\n      ecomV1DeliveryProfile_universal_d_SiteTransferred as SiteTransferred,\n      ecomV1DeliveryProfile_universal_d_SiteDeleted as SiteDeleted,\n      ecomV1DeliveryProfile_universal_d_DeleteContext as DeleteContext,\n      ecomV1DeliveryProfile_universal_d_DeleteStatus as DeleteStatus,\n      ecomV1DeliveryProfile_universal_d_SiteUndeleted as SiteUndeleted,\n      ecomV1DeliveryProfile_universal_d_SitePublished as SitePublished,\n      ecomV1DeliveryProfile_universal_d_SiteUnpublished as SiteUnpublished,\n      ecomV1DeliveryProfile_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      ecomV1DeliveryProfile_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      ecomV1DeliveryProfile_universal_d_ServiceProvisioned as ServiceProvisioned,\n      ecomV1DeliveryProfile_universal_d_ServiceRemoved as ServiceRemoved,\n      ecomV1DeliveryProfile_universal_d_SiteRenamed as SiteRenamed,\n      ecomV1DeliveryProfile_universal_d_SiteHardDeleted as SiteHardDeleted,\n      ecomV1DeliveryProfile_universal_d_NamespaceChanged as NamespaceChanged,\n      ecomV1DeliveryProfile_universal_d_StudioAssigned as StudioAssigned,\n      ecomV1DeliveryProfile_universal_d_StudioUnassigned as StudioUnassigned,\n      Empty$7 as Empty,\n      DomainEvent$d as DomainEvent,\n      DomainEventBodyOneOf$d as DomainEventBodyOneOf,\n      EntityCreatedEvent$d as EntityCreatedEvent,\n      RestoreInfo$d as RestoreInfo,\n      EntityUpdatedEvent$d as EntityUpdatedEvent,\n      EntityDeletedEvent$d as EntityDeletedEvent,\n      ActionEvent$d as ActionEvent,\n      MessageEnvelope$c as MessageEnvelope,\n      IdentificationData$d as IdentificationData,\n      IdentificationDataIdOneOf$d as IdentificationDataIdOneOf,\n      WebhookIdentityType$c as WebhookIdentityType,\n      ecomV1DeliveryProfile_universal_d_createDeliveryProfile as createDeliveryProfile,\n      ecomV1DeliveryProfile_universal_d_getDeliveryProfile as getDeliveryProfile,\n      ecomV1DeliveryProfile_universal_d_updateDeliveryProfile as updateDeliveryProfile,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryProfile as UpdateDeliveryProfile,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryProfileOptions as UpdateDeliveryProfileOptions,\n      ecomV1DeliveryProfile_universal_d_deleteDeliveryProfile as deleteDeliveryProfile,\n      ecomV1DeliveryProfile_universal_d_queryDeliveryProfiles as queryDeliveryProfiles,\n      ecomV1DeliveryProfile_universal_d_DeliveryProfilesQueryResult as DeliveryProfilesQueryResult,\n      ecomV1DeliveryProfile_universal_d_DeliveryProfilesQueryBuilder as DeliveryProfilesQueryBuilder,\n      addDeliveryRegion$2 as addDeliveryRegion,\n      AddDeliveryRegionOptions$2 as AddDeliveryRegionOptions,\n      ecomV1DeliveryProfile_universal_d_updateDeliveryRegion as updateDeliveryRegion,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryRegionIdentifiers as UpdateDeliveryRegionIdentifiers,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryRegion as UpdateDeliveryRegion,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryRegionOptions as UpdateDeliveryRegionOptions,\n      removeDeliveryRegion$2 as removeDeliveryRegion,\n      ecomV1DeliveryProfile_universal_d_RemoveDeliveryRegionIdentifiers as RemoveDeliveryRegionIdentifiers,\n      RemoveDeliveryRegionOptions$2 as RemoveDeliveryRegionOptions,\n      ecomV1DeliveryProfile_universal_d_addDeliveryCarrier as addDeliveryCarrier,\n      ecomV1DeliveryProfile_universal_d_AddDeliveryCarrierOptions as AddDeliveryCarrierOptions,\n      ecomV1DeliveryProfile_universal_d_removeDeliveryCarrier as removeDeliveryCarrier,\n      ecomV1DeliveryProfile_universal_d_RemoveDeliveryCarrierOptions as RemoveDeliveryCarrierOptions,\n      ecomV1DeliveryProfile_universal_d_updateDeliveryCarrier as updateDeliveryCarrier,\n      ecomV1DeliveryProfile_universal_d_UpdateDeliveryCarrierOptions as UpdateDeliveryCarrierOptions,\n      ecomV1DeliveryProfile_universal_d_listDeliveryCarrierDetails as listDeliveryCarrierDetails,\n      ecomV1DeliveryProfile_universal_d_listDeliveryCarriers as listDeliveryCarriers,\n      ecomV1DeliveryProfile_universal_d_ListDeliveryCarriersOptions as ListDeliveryCarriersOptions,\n      updateExtendedFields$4 as updateExtendedFields,\n      UpdateExtendedFieldsOptions$4 as UpdateExtendedFieldsOptions,\n    };\n  }\n  \n  /** DraftOrder is the main entity of DraftOrders service. It represents a single edit order. */\n  interface DraftOrder {\n      /**\n       * Draft order ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the order this draft commits to. */\n      orderId?: string | null;\n      /**\n       * Line items.\n       * Includes details about changes when relevant.\n       */\n      lineItems?: ItemDetails[];\n      /**\n       * Shipping info.\n       * Includes details about changes when relevant.\n       */\n      shippingInfo?: ShippingDetails;\n      /**\n       * Buyer information.\n       * @deprecated Buyer information.\n       * @replacedBy buyer_info_details\n       * @targetRemovalDate 2024-08-30\n       */\n      buyerInfo?: BuyerInfo$3;\n      /**\n       * Billing address and contact details.\n       * @deprecated Billing address and contact details.\n       * @replacedBy billing_info_details\n       * @targetRemovalDate 2024-08-30\n       */\n      billingInfo?: AddressWithContact$1;\n      /**\n       * Additional fees.\n       * Includes details about the source, and whether the additional fee is applied to the order.\n       */\n      additionalFees?: AdditionalFeeDetails[];\n      /**\n       * Discounts.\n       * Includes details about the source, and whether the discount is applied to the order.\n       */\n      discounts?: DiscountDetails[];\n      /**\n       * Date and time the draft order was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the draft order was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Identity of the draft order's initiator.\n       * @readonly\n       */\n      createdBy?: CreatedBy$1;\n      /**\n       * Draft order status.\n       * @readonly\n       */\n      status?: EditingStatus;\n      /** Weight measurement unit. Defaults to the site's weight unit. */\n      weightUnit?: WeightUnit$4;\n      /** Currency used for pricing. */\n      currency?: string | null;\n      /**\n       * Price summary.\n       * @readonly\n       */\n      priceSummary?: PriceSummary$2;\n      /**\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax summary.\n       * @readonly\n       * @deprecated Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax summary.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxSummary?: TaxSummary$2;\n      /**\n       * Balance summary.\n       * @readonly\n       */\n      balanceSummary?: BalanceSummary$1;\n      /** Side effects to perform on commit. */\n      commitSettings?: DraftOrderCommitSettings$1;\n      /** Member ID (if order created by a member). */\n      memberId?: string | null;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      recipientInfo?: RecipientInfoDetails;\n      /**\n       * Tax information.\n       * @internal\n       */\n      taxInfo?: OrderTaxInfo$1;\n      /**\n       * Custom field data for the draft order object.\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$5;\n      /**\n       * Buyer information.\n       * Includes details about changes when relevant.\n       * @internal\n       */\n      buyerDetails?: BuyerDetails$1;\n      /**\n       * Billing address and contact details.\n       * Includes details about changes when relevant.\n       * @internal\n       */\n      billingDetails?: BillingDetails;\n      /**\n       * Order business location\n       * Includes details about changes when relevant.\n       * @internal\n       */\n      businessLocationDetails?: BusinessLocationDetails;\n  }\n  interface ItemDetails extends ItemDetailsChangeTypeOneOf {\n      /** Whether the line item was added as part of the draft. */\n      added?: boolean;\n      /** Line item fields before the change. */\n      changedDetails?: ItemChangedDetails$1;\n      /** Whether the line item was removed as part of the draft. */\n      removed?: boolean;\n      /** Line item details after applied changes. */\n      lineItem?: OrderLineItem$1;\n  }\n  /** @oneof */\n  interface ItemDetailsChangeTypeOneOf {\n      /** Whether the line item was added as part of the draft. */\n      added?: boolean;\n      /** Line item fields before the change. */\n      changedDetails?: ItemChangedDetails$1;\n      /** Whether the line item was removed as part of the draft. */\n      removed?: boolean;\n  }\n  interface Price$4 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface PriceDescription$1 {\n      /** __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Price description translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface OrderLineItem$1 {\n      /** Line item ID. */\n      _id?: string;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       */\n      productName?: ProductName$1;\n      /**\n       * References to the line item's origin catalog.\n       * This field may be empty in the case of a custom line item.\n       */\n      catalogReference?: CatalogReference$4;\n      /** Line item quantity. */\n      quantity?: number;\n      /**\n       * Total discount for this line item's entire quantity.\n       * @readonly\n       */\n      totalDiscount?: Price$4;\n      /** Line item description lines. Used for display purposes for the cart, checkout and order. */\n      descriptionLines?: DescriptionLine$1[];\n      /** Line item image. */\n      image?: string;\n      /** Physical properties of the item. When relevant, contains information such as SKU and item weight. */\n      physicalProperties?: PhysicalProperties$3;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType$2;\n      /**\n       * Fulfiller ID. Field is empty when the line item is self-fulfilled.\n       * To get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-fulfillments/list-fulfillments-for-single-order).\n       */\n      fulfillerId?: string | null;\n      /** Number of items that were refunded. */\n      refundQuantity?: number | null;\n      /** Number of items restocked. */\n      restockQuantity?: number | null;\n      /** Line item price after line item discounts for display purposes. */\n      price?: Price$4;\n      /**\n       * Line item price before line item discounts for display purposes. Defaults to `price` when not provided.\n       * @readonly\n       */\n      priceBeforeDiscounts?: Price$4;\n      /**\n       * Total price after discounts, and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: Price$4;\n      /**\n       * Total price after all discounts and tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: Price$4;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       * + `FULL_PAYMENT_ONLINE` - The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `DEPOSIT_ONLINE` - Partial payment for the given item to be paid upfront during the checkout. Eligible for catalog items with type `DEPOSIT_ONLINE` only.\n       */\n      paymentOption?: PaymentOptionType$2;\n      /**\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @deprecated Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxDetails?: ItemTaxFullDetails$2;\n      /** Represents all the relevant tax details for a specific line item. */\n      taxInfo?: LineItemTaxInfo$1;\n      /** Digital file identifier, relevant only for items with type DIGITAL. */\n      digitalFile?: DigitalFile$2;\n      /** Subscription info. */\n      subscriptionInfo?: SubscriptionInfo$2;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription$1;\n      /**\n       * Item's price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `\"DEPOSIT_ONLINE\"`.\n       * @readonly\n       */\n      depositAmount?: Price$4;\n      /**\n       * The Item's Delivery Profile Id\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** @internal */\n      shippingGroupId?: string | null;\n      /**\n       * Source locations for this line item. The location's total quantity must not exceed the line item quantity.\n       * @internal\n       */\n      locations?: LocationAndQuantity$1[];\n      /**\n       * Total price **after** catalog discounts and line item discounts.\n       * @internal\n       */\n      lineItemPrice?: Price$4;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @internal\n       * @readonly\n       */\n      customLineItem?: boolean | null;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n       * @internal\n       * @readonly\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Address used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress$2;\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       *\n       * Default: `false`\n       * @internal\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Custom extended fields for the line item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$5;\n  }\n  interface ProductName$1 {\n      /**\n       * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n       *\n       * Min: 1 character.\n       * Max: 200 characters.\n       */\n      original?: string;\n      /**\n       * Item name translated into the buyer's language.\n       *\n       * Min: 1 character.\n       * Max: 400 characters.\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$4 {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface DescriptionLine$1 extends DescriptionLineValueOneOf$1, DescriptionLineDescriptionLineValueOneOf$1 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$1;\n      /** Description line color value. */\n      colorInfo?: Color$1;\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$1;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n      /** Description line name. */\n      name?: DescriptionLineName$1;\n      /**\n       * Description line type.\n       * @internal\n       * @deprecated\n       */\n      lineType?: DescriptionLineType$1;\n  }\n  /** @oneof */\n  interface DescriptionLineValueOneOf$1 {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue$1;\n      /** Description line color value. */\n      colorInfo?: Color$1;\n  }\n  /** @oneof */\n  interface DescriptionLineDescriptionLineValueOneOf$1 {\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue$1;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n  }\n  interface DescriptionLineName$1 {\n      /** Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface PlainTextValue$1 {\n      /** Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line plain text value translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Color$1 {\n      /** Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line color name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n      /** HEX or RGB color code for display. */\n      code?: string | null;\n  }\n  enum DescriptionLineType$1 {\n      /** Unrecognized type. */\n      UNRECOGNISED = \"UNRECOGNISED\",\n      /** Plain text type. */\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      /** Color type. */\n      COLOR = \"COLOR\"\n  }\n  interface FocalPoint$1 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface PhysicalProperties$3 {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface ItemType$2 extends ItemTypeItemTypeDataOneOf$2 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$2;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf$2 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$2;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType$2 {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  /** Type of selected payment option for catalog item */\n  enum PaymentOptionType$2 {\n      /** The entire payment for this item happens as part of the checkout. */\n      FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n      /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /** Payment for this item is done by charging a membership. When selected, `price` is `0`. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n      DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\",\n      /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface ItemTaxFullDetails$2 {\n      /** Taxable amount of this line item. */\n      taxableAmount?: Price$4;\n      /**\n       * ID of the item's tax group, if specified.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /** Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`. */\n      taxRate?: string;\n      /** The calculated tax, based on the `taxableAmount` and `taxRate`. */\n      totalTax?: Price$4;\n  }\n  interface LineItemTaxInfo$1 {\n      /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n      taxAmount?: Price$4;\n      /** Amount for which tax is calculated. */\n      taxableAmount?: Price$4;\n      /** Tax rate %, as a decimal point. */\n      taxRate?: string | null;\n      /**\n       * Tax group ID.\n       * Learn more about [Tax Groups](https://dev.wix.com/docs/rest/business-management/payments/tax/tax-groups/introduction).\n       */\n      taxGroupId?: string | null;\n      /** Indicates whether the price already includes tax. */\n      taxIncludedInPrice?: boolean;\n      /** Tax information for a line item. */\n      taxBreakdown?: LineItemTaxBreakdown$1[];\n  }\n  /**\n   * TaxBreakdown represents tax information for a line item.\n   * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface LineItemTaxBreakdown$1 {\n      /** Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000. */\n      rate?: string | null;\n      /** Amount of tax calculated for this line item. */\n      taxAmount?: Price$4;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** Type of jurisdiction that taxes were calculated for. */\n      jurisdictionType?: JurisdictionType$2;\n      /** Non-taxable amount of the line item price. */\n      nonTaxableAmount?: Price$4;\n      /** Taxable amount of the line item price. */\n      taxableAmount?: Price$4;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType$2 {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface DigitalFile$2 {\n      /** ID of the secure file in media. */\n      fileId?: string;\n      /** Link will exist after the digital links have been generated on the order. */\n      link?: string | null;\n      /**\n       * Link expiration time and date.\n       * @readonly\n       */\n      expirationDate?: Date | null;\n  }\n  interface SubscriptionInfo$2 {\n      /** Subscription ID. */\n      _id?: string | null;\n      /** Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be `3`. */\n      cycleNumber?: number;\n      /** Subscription option title. For example, `\"Monthly coffee Subscription\"`. */\n      subscriptionOptionTitle?: string;\n      /** Subscription option description. For example, `\"1kg of selected coffee, once a month\"`. */\n      subscriptionOptionDescription?: string | null;\n      /** Subscription detailed information. */\n      subscriptionSettings?: SubscriptionSettings$3;\n  }\n  interface SubscriptionSettings$3 {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency$3;\n      /** Interval of recurring payment. */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription.\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency$3 {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface LocationAndQuantity$1 {\n      /** Location id in the associated owner app. */\n      _id?: string;\n      /** Location owner app, if not provided then the site business info locations will be used. */\n      appId?: string | null;\n      /** Quantity for specific location. */\n      quantity?: number;\n  }\n  interface TaxableAddress$2 extends TaxableAddressTaxableAddressDataOneOf$2 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$2;\n  }\n  /** @oneof */\n  interface TaxableAddressTaxableAddressDataOneOf$2 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$2;\n  }\n  enum TaxableAddressType$2 {\n      UNKNOWN_TAXABLE_ADDRESS = \"UNKNOWN_TAXABLE_ADDRESS\",\n      BUSINESS = \"BUSINESS\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface ExtendedFields$5 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ItemChangedDetails$1 {\n      /** Line item quantity before change. */\n      quantityBeforeChange?: number | null;\n      /** Line item price before change. */\n      priceBeforeChange?: Price$4;\n      /** Line item price description before change. */\n      priceDescriptionBeforeChange?: PriceDescription$1;\n  }\n  interface ShippingDetails extends ShippingDetailsChangeTypeOneOf {\n      /** Whether shipping info was added as part of the draft. */\n      added?: boolean;\n      /** Shipping info before the change. */\n      changedDetails?: ShippingChangedDetails;\n      /** Whether shipping info was removed as part of the draft. */\n      removed?: boolean;\n      /** Selected Shipping details. */\n      shippingInfo?: ShippingInformation$2;\n  }\n  /** @oneof */\n  interface ShippingDetailsChangeTypeOneOf {\n      /** Whether shipping info was added as part of the draft. */\n      added?: boolean;\n      /** Shipping info before the change. */\n      changedDetails?: ShippingChangedDetails;\n      /** Whether shipping info was removed as part of the draft. */\n      removed?: boolean;\n  }\n  interface ShippingInformation$2 {\n      /** App Def Id of external provider which was a source of shipping info */\n      carrierId?: string | null;\n      /** Unique code (or ID) of selected shipping option. For example, `\"usps_std_overnight\"`. */\n      code?: string | null;\n      /**\n       * Shipping option title.\n       * For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"` or `\"First-Class Package International\"`.\n       */\n      title?: string;\n      /** Shipping logistics. */\n      logistics?: V1DeliveryLogistics;\n      /** Shipping costs. */\n      cost?: V1ShippingPrice;\n      /** Shipping region. */\n      region?: ShippingRegion$2;\n  }\n  interface V1DeliveryLogistics extends V1DeliveryLogisticsAddressOneOf {\n      /** Shipping address and contact details. */\n      shippingDestination?: AddressWithContact$1;\n      /** Pickup details. */\n      pickupDetails?: V1PickupDetails;\n      /** Expected delivery time in free text. For example, `\"3-5 business days\"`. */\n      deliveryTime?: string | null;\n      /** Instructions for carrier. For example, `\"Please knock on the door. If unanswered, please call contact number. Thanks.\"`. */\n      instructions?: string | null;\n      /**\n       * Deprecated - Latest expected delivery date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @deprecated\n       */\n      deliverByDate?: Date | null;\n      /** Expected delivery time. */\n      deliveryTimeSlot?: V1DeliveryTimeSlot;\n  }\n  /** @oneof */\n  interface V1DeliveryLogisticsAddressOneOf {\n      /** Shipping address and contact details. */\n      shippingDestination?: AddressWithContact$1;\n      /** Pickup details. */\n      pickupDetails?: V1PickupDetails;\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact$1 {\n      /** Address. */\n      address?: Address$6;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails$2;\n  }\n  /** Physical address */\n  interface Address$6 {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress$5;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation$5;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress$5 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$5 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails$2 {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId$3;\n  }\n  interface VatId$3 {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType$3;\n  }\n  /** tax info types */\n  enum VatType$3 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface V1PickupDetails {\n      /** Pickup address. */\n      address?: PickupAddress$2;\n      /** Pickup method */\n      pickupMethod?: PickupDetailsPickupMethod;\n  }\n  /** Physical address */\n  interface PickupAddress$2 {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address object, with number, name, and apartment number in separate fields. */\n      streetAddress?: StreetAddress$5;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n      /** @internal */\n      location?: AddressLocation$5;\n  }\n  enum PickupDetailsPickupMethod {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface V1DeliveryTimeSlot {\n      /** Delivery slot starting time. */\n      from?: Date | null;\n      /** Delivery slot ending time. */\n      to?: Date | null;\n  }\n  interface V1ShippingPrice {\n      /** Shipping price for display purposes. */\n      price?: Price$4;\n      /**\n       * Total price of shipping after discounts (when relevant), and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: Price$4;\n      /**\n       * Shipping price after all discounts (if any exist), and after tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: Price$4;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$2;\n      /**\n       * Shipping discount before tax.\n       * @readonly\n       */\n      discount?: Price$4;\n  }\n  interface ShippingRegion$2 {\n      /** Name of shipping region. For example, `\"Metropolitan London\"`, or `\"Outer Melbourne suburbs\"`. */\n      name?: string | null;\n  }\n  interface ShippingChangedDetails {\n      /** Shipping info before the change. */\n      shippingInfoBeforeChange?: ShippingInformation$2;\n  }\n  /** Buyer Info */\n  interface BuyerInfo$3 extends BuyerInfoIdOneOf$1 {\n      /** Visitor ID (if site visitor is not a member). */\n      visitorId?: string;\n      /** Member ID (if site visitor is a site member). */\n      memberId?: string;\n      /** Contact ID. Auto-created if one does not yet exist. For more information, see [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction). */\n      contactId?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface BuyerInfoIdOneOf$1 {\n      /** Visitor ID (if site visitor is not a member). */\n      visitorId?: string;\n      /** Member ID (if site visitor is a site member). */\n      memberId?: string;\n  }\n  interface AdditionalFeeDetails {\n      /** Additional fee. */\n      additionalFee?: AdditionalFee$2;\n      /** Tax details related to the additional fee. */\n      taxDetails?: TaxDetails$1;\n      /**\n       * Source of the additional fee.\n       *\n       * Supported values:\n       * + `ORIGINAL_ORDER`: This additional fee is part of the original order.\n       * + `CUSTOM`: This additional fee was created by the [Create Custom Additional Fees](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/draft-orders/create-custom-additional-fees) API.\n       */\n      source?: SourceType$1;\n      /** Whether this additional fee is applied to the order. */\n      applied?: boolean;\n  }\n  interface AdditionalFee$2 {\n      /** Additional fee's unique code for future processing. */\n      code?: string | null;\n      /** Name of additional fee. */\n      name?: string;\n      /** Additional fee's price. */\n      price?: Price$4;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$2;\n      /** SPI implementer's `appId`. */\n      providerAppId?: string | null;\n      /** Additional fee's price before tax. */\n      priceBeforeTax?: Price$4;\n      /** Additional fee's price after tax. */\n      priceAfterTax?: Price$4;\n      /** Additional fee's id. */\n      _id?: string;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n  }\n  interface TaxDetails$1 {\n      /** Indication if additional fee is taxable or not */\n      taxable?: boolean;\n      /** Optional tax group ID to use when calculating tax for this additional fee */\n      taxGroupId?: string | null;\n  }\n  enum SourceType$1 {\n      /** Part of the original order */\n      ORIGINAL_ORDER = \"ORIGINAL_ORDER\",\n      /** Added by estimate * */\n      AUTOMATIC = \"AUTOMATIC\",\n      /** Added manually to current draft order */\n      CUSTOM = \"CUSTOM\"\n  }\n  interface DiscountDetails {\n      /** Discount details. */\n      discount?: AppliedDiscount$2;\n      /**\n       * Source of the discount.\n       *\n       * Supported values:\n       * + `ORIGINAL_ORDER`: This discount is part of the original order.\n       * + `CUSTOM`: This discount was created by the [Create Custom Discounts](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/draft-orders/create-custom-discounts) API.\n       */\n      source?: SourceType$1;\n      /** Whether this discount is applied to the order. */\n      applied?: boolean;\n  }\n  interface AppliedDiscount$2 extends AppliedDiscountDiscountSourceOneOf$2 {\n      /** Applied coupon info. */\n      coupon?: Coupon$2;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$2;\n      /** Automatic Discount */\n      discountRule?: DiscountRule$2;\n      /**\n       * Discount type.\n       * * `\"GLOBAL\"` - discount applies to entire order.\n       * * `\"SPECIFIC-ITEMS\"` - discount applies to specific items.\n       * * `\"SHIPPING\"` - discount applies to shipping. For example, free shipping.\n       */\n      discountType?: AppliedDiscountDiscountType;\n      /**\n       * IDs of line items discount applies to.\n       * Deprecated. Use `line_item_discounts` instead.\n       * @deprecated IDs of line items discount applies to.\n       * Deprecated. Use `line_item_discounts` instead.\n       * @replacedBy line_item_discounts\n       * @targetRemovalDate 2024-10-30\n       */\n      lineItemIds?: string[];\n      /** Discount id. */\n      _id?: string | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: LineItemDiscount$2[];\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf$2 {\n      /** Applied coupon info. */\n      coupon?: Coupon$2;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$2;\n      /** Automatic Discount */\n      discountRule?: DiscountRule$2;\n  }\n  enum AppliedDiscountDiscountType {\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface Coupon$2 {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon name. */\n      name?: string;\n      /** Coupon value. */\n      amount?: Price$4;\n  }\n  interface MerchantDiscount$2 extends MerchantDiscountMerchantDiscountReasonOneOf$1 {\n      /**\n       * Pre-defined discount reason (optional).\n       * * `\"ITEMS_EXCHANGE\"` - exchange balance acquired as a result of items exchange.\n       */\n      discountReason?: DiscountReason$1;\n      /** Discount description as free text (optional). */\n      description?: string | null;\n      /** Discount amount. */\n      amount?: Price$4;\n      /**\n       * Discount percentage.\n       * @internal\n       */\n      percentage?: string | null;\n  }\n  /** @oneof */\n  interface MerchantDiscountMerchantDiscountReasonOneOf$1 {\n      /**\n       * Pre-defined discount reason (optional).\n       * * `\"ITEMS_EXCHANGE\"` - exchange balance acquired as a result of items exchange.\n       */\n      discountReason?: DiscountReason$1;\n      /** Discount description as free text (optional). */\n      description?: string | null;\n  }\n  enum DiscountReason$1 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      EXCHANGED_ITEMS = \"EXCHANGED_ITEMS\"\n  }\n  interface DiscountRule$2 {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: DiscountRuleName$2;\n      /** Discount value. */\n      amount?: Price$4;\n  }\n  interface DiscountRuleName$2 {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface LineItemDiscount$2 {\n      /** ID of line item the discount applies to. */\n      _id?: string;\n      /** Total discount for this line item. */\n      totalDiscount?: Price$4;\n  }\n  interface CreatedBy$1 extends CreatedByStringOneOf$1 {\n      /** User ID. When the draft order was created by a Wix user. */\n      userId?: string;\n      /** App ID. When the draft order was created by an app. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface CreatedByStringOneOf$1 {\n      /** User ID. When the draft order was created by a Wix user. */\n      userId?: string;\n      /** App ID. When the draft order was created by an app. */\n      appId?: string;\n  }\n  enum EditingStatus {\n      /** DraftOrder is in draft state. */\n      DRAFT = \"DRAFT\",\n      /** DraftOrder is in committed state. */\n      COMMITTED = \"COMMITTED\"\n  }\n  enum WeightUnit$4 {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface PriceSummary$2 {\n      /** Subtotal of all the line items, before discounts and before tax. */\n      subtotal?: Price$4;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: Price$4;\n      /** Total tax on this order. */\n      tax?: Price$4;\n      /** Total calculated discount value. */\n      discount?: Price$4;\n      /**\n       * Deprecated - use `total` instead.\n       * @internal\n       * @deprecated\n       */\n      totalPrice?: Price$4;\n      /** Order’s total price after discounts and tax. */\n      total?: Price$4;\n      /**\n       * Order's total price including gift card.\n       * @internal\n       * @deprecated\n       */\n      totalWithGiftCard?: Price$4;\n      /**\n       * Order's total price after without gift card.\n       * @internal\n       * @deprecated\n       */\n      totalWithoutGiftCard?: Price$4;\n      /** Total price of additional fees before tax. */\n      totalAdditionalFees?: Price$4;\n  }\n  interface TaxSummary$2 {\n      /**\n       * Total tax.\n       * @readonly\n       */\n      totalTax?: Price$4;\n      /**\n       * manual tax rate\n       * @internal\n       * @readonly\n       */\n      manualTaxRate?: string | null;\n  }\n  interface BalanceSummary$1 {\n      /**\n       * Amount left to pay for order to be considered paid.\n       * @readonly\n       */\n      balance?: Balance$1;\n      /**\n       * Sum of all approved and successful payments.\n       *\n       * The value includes payments that have subsequently been fully or partially refunded.\n       * @internal\n       * @readonly\n       */\n      paid?: Price$4;\n      /**\n       * Sum of all successfully refunded payments.\n       * @internal\n       * @readonly\n       */\n      refunded?: Price$4;\n      /**\n       * Sum of all authorized payments.\n       * @readonly\n       */\n      authorized?: Price$4;\n  }\n  /**\n   * Order balance. Reflects amount left to be paid on order and is calculated dynamically. Can be negative per balance definition.\n   * `amount` field depends on order payment status:\n   * + UNSPECIFIED, NOT_PAID: price_summary.total_price\n   * + PARTIALLY_PAID : price_summary.total_price - pay_now.total_price\n   * + PENDING, REFUNDED, PARTIALLY_REFUNDED, PAID : 0\n   */\n  interface Balance$1 {\n      /**\n       * Balance amount.\n       *\n       * A negative `amount` represents the amount to be refunded. This can happen due to overcharging or the order being modified after a payment has been made.\n       * @readonly\n       */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  /** Side-effects upon committing a draft order. */\n  interface DraftOrderCommitSettings$1 {\n      /**\n       * Whether to send notifications to the buyer.\n       *\n       * Default: `true`\n       */\n      sendNotificationsToBuyer?: boolean | null;\n      /**\n       * Whether to send notifications to the business.\n       *\n       * Default: `true`\n       */\n      sendNotificationsToBusiness?: boolean | null;\n      /**\n       * Whether to add activities to the order.\n       *\n       * Default: `true`\n       */\n      addActivitiesToOrder?: boolean | null;\n      /**\n       * Whether to send email notifications to custom fulfillers when there is a change in the shippable items they fulfill.\n       *\n       * Default: `true`\n       */\n      sendNotificationsToCustomFulfillers?: boolean | null;\n      /**\n       * Line item IDs for which to perform an inventory change.\n       * When not provided, inventory will not change.\n       */\n      updateInventory?: InventoryUpdate[];\n  }\n  interface InventoryUpdate {\n      /** Line item ID. */\n      lineItemId?: string;\n  }\n  interface RecipientInfoDetails extends RecipientInfoDetailsChangeTypeOneOf {\n      /** Indicates that recipient information was added during draft. */\n      added?: boolean;\n      /** Indicates that recipient information was changed. Contains recipient information before draft. */\n      changedDetails?: RecipientInfoChangedDetails;\n      /** Indicates that recipient information was removed during draft. */\n      removed?: boolean;\n      /** Order recipient address and contact details. */\n      recipientInfo?: AddressWithContact$1;\n  }\n  /** @oneof */\n  interface RecipientInfoDetailsChangeTypeOneOf {\n      /** Indicates that recipient information was added during draft. */\n      added?: boolean;\n      /** Indicates that recipient information was changed. Contains recipient information before draft. */\n      changedDetails?: RecipientInfoChangedDetails;\n      /** Indicates that recipient information was removed during draft. */\n      removed?: boolean;\n  }\n  interface RecipientInfoChangedDetails {\n      /** Order recipient address and contact details before draft. */\n      recipientInfoBeforeChange?: AddressWithContact$1;\n  }\n  interface OrderTaxInfo$1 {\n      /** Calculated tax, added from line items. */\n      totalTax?: Price$4;\n      /** The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate. */\n      taxBreakdown?: OrderTaxBreakdown$1[];\n      /**\n       * Manual tax rate\n       * @internal\n       * @readonly\n       */\n      manualTaxRate?: string | null;\n      /**\n       * Whether the draft order is exempt from tax calculations.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      taxExempt?: boolean | null;\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   */\n  interface OrderTaxBreakdown$1 {\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdiction?: string;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionType?: JurisdictionType$2;\n      /** The rate at which this tax detail was calculated. */\n      rate?: string;\n      /** The sum of all the tax from line items that calculated by the tax identifiers. */\n      aggregatedTaxAmount?: Price$4;\n      /**\n       * The sum of all the taxable amount from line items for tax identifiers.\n       * @internal\n       */\n      aggregatedTaxableAmount?: Price$4;\n  }\n  interface BuyerDetails$1 extends BuyerDetailsChangeTypeOneOf {\n      /**\n       * Indicates that buyer information was added during draft.\n       * @internal\n       */\n      added?: boolean;\n      /**\n       * Indicates that buyer information was changed. Contains billing information before draft.\n       * @internal\n       */\n      changedDetails?: BuyerChangedDetails;\n      /**\n       * Indicates that buyer information was removed during draft.\n       * @internal\n       */\n      removed?: boolean;\n      /**\n       * Buyer information.\n       * @internal\n       */\n      buyerInfo?: BuyerInfo$3;\n  }\n  /** @oneof */\n  interface BuyerDetailsChangeTypeOneOf {\n      /**\n       * Indicates that buyer information was added during draft.\n       * @internal\n       */\n      added?: boolean;\n      /**\n       * Indicates that buyer information was changed. Contains billing information before draft.\n       * @internal\n       */\n      changedDetails?: BuyerChangedDetails;\n      /**\n       * Indicates that buyer information was removed during draft.\n       * @internal\n       */\n      removed?: boolean;\n  }\n  interface BuyerChangedDetails {\n      /**\n       * Buyer information before draft.\n       * @internal\n       */\n      buyerInfoBeforeChange?: BuyerInfo$3;\n  }\n  interface BillingDetails extends BillingDetailsChangeTypeOneOf {\n      /**\n       * Indicates that billing information was added during draft.\n       * @internal\n       */\n      added?: boolean;\n      /**\n       * Indicates that billing information was changed. Contains billing information before draft.\n       * @internal\n       */\n      changedDetails?: BillingChangedDetails;\n      /**\n       * Indicates that billing information was removed during draft.\n       * @internal\n       */\n      removed?: boolean;\n      /**\n       * Billing address and contact details.\n       * @internal\n       */\n      billingInfo?: AddressWithContact$1;\n  }\n  /** @oneof */\n  interface BillingDetailsChangeTypeOneOf {\n      /**\n       * Indicates that billing information was added during draft.\n       * @internal\n       */\n      added?: boolean;\n      /**\n       * Indicates that billing information was changed. Contains billing information before draft.\n       * @internal\n       */\n      changedDetails?: BillingChangedDetails;\n      /**\n       * Indicates that billing information was removed during draft.\n       * @internal\n       */\n      removed?: boolean;\n  }\n  interface BillingChangedDetails {\n      /**\n       * Billing address and contact details before draft.\n       * @internal\n       */\n      billingInfoBeforeChange?: AddressWithContact$1;\n  }\n  interface BusinessLocationDetails extends BusinessLocationDetailsChangeTypeOneOf {\n      /**\n       * Indicates that business location was added during draft.\n       * @internal\n       */\n      added?: boolean;\n      /**\n       * Indicates that business location was changed. Contains business location before draft.\n       * @internal\n       */\n      changedDetails?: BusinessLocationChangedDetails;\n      /**\n       * Indicates that business location was removed during draft.\n       * @internal\n       */\n      removed?: boolean;\n      /**\n       * Business location.\n       * @internal\n       */\n      businessLocation?: Location$1;\n  }\n  /** @oneof */\n  interface BusinessLocationDetailsChangeTypeOneOf {\n      /**\n       * Indicates that business location was added during draft.\n       * @internal\n       */\n      added?: boolean;\n      /**\n       * Indicates that business location was changed. Contains business location before draft.\n       * @internal\n       */\n      changedDetails?: BusinessLocationChangedDetails;\n      /**\n       * Indicates that business location was removed during draft.\n       * @internal\n       */\n      removed?: boolean;\n  }\n  interface Location$1 {\n      /**\n       * Location ID.\n       * Learn more about the [Wix Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       */\n      _id?: string;\n      /**\n       * Location name.\n       * @readonly\n       */\n      name?: string;\n  }\n  interface BusinessLocationChangedDetails {\n      /**\n       * Business location before draft.\n       * @internal\n       */\n      businessLocationBeforeChange?: Location$1;\n  }\n  interface CreateDraftOrderRequest {\n      /** To create a draft from existing order, provide its id. Otherwise, an empty draft will be created. */\n      orderId: string | null;\n      /**\n       * If true and draft order already exists, it will be reset to the baseline order.\n       * should this be a bool? will it always be private?\n       * @internal\n       */\n      resetIfExists?: string | null;\n  }\n  interface CreateDraftOrderResponse {\n      /** The draft order details calculated with latest content */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n      /**\n       * Whether the draft order already exists.\n       * @internal\n       */\n      preexistingDraftOrder?: boolean | null;\n  }\n  interface CalculatedDraftOrder {\n      /**\n       * The draft order full details with calculations based on it's content.\n       * Discount and additional fee options are also included.\n       */\n      draftOrder?: DraftOrder;\n      /** Shipping options for the order. */\n      shippingOptions?: ShippingOption$2[];\n      /** Errors that occurred during calculation. */\n      calculationErrors?: CalculationErrors$1;\n  }\n  interface ShippingOption$2 {\n      /** This carrier's unique ID */\n      carrierId?: string | null;\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n      /** Shipping rate title. For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"`, or `\"First-Class Package International\"`. */\n      title?: string;\n      /** Shipping logistics. */\n      logistics?: DeliveryLogistics$3;\n      /** Shipping cost. */\n      cost?: ShippingPrice$2;\n  }\n  interface DeliveryLogistics$3 {\n      /** When the item is expected to be delivered in free text, e.g \"3-5 business days\" */\n      deliveryTime?: string | null;\n      /** Instructions for caller, e.g for pickup: \"Ensure to come during Opening Hours, and please don't park in disabled-spot\" */\n      instructions?: string | null;\n      /** Additional pickup details if it's a pickup */\n      pickupDetails?: PickupDetails$4;\n      /** Expected delivery time slot (from and to time stamps representation) */\n      deliveryTimeSlot?: DeliveryTimeSlot$3;\n  }\n  interface PickupDetails$4 {\n      /** Pickup address */\n      address?: Address$6;\n      /**\n       * Pickup method.\n       *\n       * Supported values:\n       * + `\"STORE_PICKUP\"`\n       * + `\"PICKUP_POINT\"`\n       */\n      pickupMethod?: PickupMethod$3;\n  }\n  enum PickupMethod$3 {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot$3 {\n      /** starting time of the delivery time slot */\n      from?: Date | null;\n      /** ending time of the delivery time slot */\n      to?: Date | null;\n  }\n  interface ShippingPrice$2 {\n      /** The shipping rate's price. Must align with the [currency's decimal separator](https://en.wikipedia.org/wiki/ISO_4217#Active_codes). */\n      price?: Price$4;\n      /** Currency of the shipping rate price as a 3-letter [ISO-4217 currency code](https://en.wikipedia.org/wiki/ISO_4217). Must align with the `currency` passed to the function. */\n      currency?: string;\n  }\n  interface CalculationErrors$1 extends CalculationErrorsShippingCalculationErrorOneOf$1 {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$2;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors$1;\n      /** Tax calculation error. */\n      taxCalculationError?: Details$2;\n      /** Order validation errors. */\n      orderValidationErrors?: ApplicationError$6[];\n  }\n  /** @oneof */\n  interface CalculationErrorsShippingCalculationErrorOneOf$1 {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$2;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors$1;\n  }\n  interface Details$2 extends DetailsKindOneOf$2 {\n      applicationError?: ApplicationError$6;\n      validationError?: ValidationError$2;\n      systemError?: SystemError$2;\n      /**\n       * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n       * @deprecated\n       */\n      tracing?: Record<string, string>;\n  }\n  /** @oneof */\n  interface DetailsKindOneOf$2 {\n      applicationError?: ApplicationError$6;\n      validationError?: ValidationError$2;\n      systemError?: SystemError$2;\n  }\n  interface ApplicationError$6 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /**\n   * example result:\n   * {\n   * \"fieldViolations\": [\n   * {\n   * \"field\": \"fieldA\",\n   * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n   * \"violatedRule\": \"OTHER\",\n   * \"ruleName\": \"INVALID_NOTE\",\n   * \"data\": {\n   * \"value\": \"FI\"\n   * }\n   * },\n   * {\n   * \"field\": \"fieldB\",\n   * \"description\": \"field value out of range. supported range: [0-20]\",\n   * \"violatedRule\": \"MAX\",\n   * \"data\": {\n   * \"threshold\": 20\n   * }\n   * },\n   * {\n   * \"field\": \"fieldC\",\n   * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n   * \"violatedRule\": \"FORMAT\",\n   * \"data\": {\n   * \"type\": \"PHONE\"\n   * }\n   * }\n   * ]\n   * }\n   */\n  interface ValidationError$2 {\n      fieldViolations?: FieldViolation$2[];\n  }\n  enum RuleType$2 {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\",\n      EXACT_LENGTH = \"EXACT_LENGTH\",\n      EXACT_SIZE = \"EXACT_SIZE\"\n  }\n  interface FieldViolation$2 {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType$2;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  interface SystemError$2 {\n      /** Error code. */\n      errorCode?: string | null;\n  }\n  interface CarrierErrors$1 {\n      /** Carrier errors. */\n      errors?: CarrierError$2[];\n  }\n  interface CarrierError$2 {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Error details. */\n      error?: Details$2;\n  }\n  interface CreateEmptyDraftOrderRequest {\n  }\n  interface CreateEmptyDraftOrderResponse {\n      /** The draft order details calculated with latest content */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface AddLineItemsToDraftOrderRequest {\n      /** The draft order id */\n      draftOrderId: string;\n      /** Catalog line items to add to draft order. */\n      catalogLineItems?: CatalogReferenceLineItem[];\n      /** Custom line items to add to draft order. Custom line items don't trigger the Catalog service plugin. */\n      customLineItems?: CustomLineItem[];\n  }\n  interface CatalogReferenceLineItem {\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$4;\n      /** Item quantity. */\n      quantity?: number;\n      /** Item price override. */\n      price?: Price$4;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n  }\n  interface CustomLineItem {\n      /** Line item ID. */\n      _id?: string | null;\n      /**\n       * Item quantity.\n       *\n       * Min: `\"1\"`\n       * Max: `\"100000\"`\n       */\n      quantity?: number;\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$4;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       */\n      productName?: ProductName$1;\n      /** URL to the item's page on the site. */\n      url?: string;\n      /** Item price **after** catalog-defined discount and line item discounts. */\n      price?: Price$4;\n      /** Total line item price **after** catalog-defined discount and line item discounts. */\n      lineItemPrice?: Price$4;\n      /** Item price **before** catalog-defined discount. Defaults to `price` when not provided. */\n      fullPrice?: Price$4;\n      /** Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided. */\n      priceBeforeDiscounts?: Price$4;\n      /** Line item description lines. Used for display purposes for order. */\n      descriptionLines?: DescriptionLine$1[];\n      /** Line item image details. */\n      media?: string;\n      /** Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability. */\n      physicalProperties?: PhysicalProperties$3;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType$2;\n      /**\n       * Fulfiller ID for this item. Field is empty when the item is self-fulfilled.\n       * @internal\n       */\n      fulfillerId?: string | null;\n      /**\n       * Shipping group ID.\n       * @internal\n       */\n      shippingGroupId?: string | null;\n      /**\n       * Digital file identifier, relevant only for items with type DIGITAL.\n       * @internal\n       */\n      digitalFile?: SecuredMedia;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription$1;\n      /** Delivery Profile Id for the product */\n      deliveryProfileId?: string | null;\n  }\n  interface SecuredMedia {\n      /** Media ID in Wix Media Manager. */\n      _id?: string;\n      /** Original filename. */\n      fileName?: string;\n      /** File type. */\n      fileType?: FileType;\n  }\n  enum FileType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  interface AddLineItemsToDraftOrderResponse {\n      /** The draft order details calculated with latest content */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface UpdateLineItemsRequest {\n      /** The draft order id */\n      draftOrderId: string;\n      /** Details of changes to apply per line item */\n      lineItemChanges?: LineItemChangeDetails[];\n  }\n  interface LineItemChangeDetails {\n      /** The line item id to change */\n      lineItemId?: string;\n      /** The new quantity for the line item. quantity zero means to remove the line item. */\n      newQuantity?: number | null;\n      /** The new price for 1 unit of the line item */\n      newPrice?: string | null;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      newPriceDescription?: PriceDescription$1;\n  }\n  interface UpdateLineItemsResponse {\n      /** The draft order details calculated with latest content */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface SetDiscountsRequest {\n      /** The draft order id */\n      draftOrderId: string;\n      /** The discount ids to opt-in. all existing discounts not listed are to be opted-out. */\n      discounts: IdAndApplied[];\n  }\n  interface IdAndApplied {\n      /** Discount ID. */\n      _id?: string;\n      /** Whether to apply the discount to the draft order. */\n      applied?: boolean;\n  }\n  interface SetDiscountsResponse {\n      /** The draft order details calculated with latest content */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface CreateCustomDiscountsRequest {\n      /** The draft order id */\n      draftOrderId: string;\n      /** The discounts to add. */\n      discounts?: DiscountOption[];\n  }\n  interface DiscountOption extends DiscountOptionDiscountAmountOneOf {\n      /**\n       * Discount price amount.\n       * @internal\n       */\n      priceAmount?: Price$4;\n      /**\n       * Discount percentage amount.\n       * @internal\n       */\n      percentage?: string | null;\n      /**\n       * Discount type.\n       * * `\"GLOBAL\"` - discount applies to entire order.\n       * * `\"SPECIFIC-ITEMS\"` - discount applies to a specific item.\n       * * `\"SHIPPING\"` - discount applies to shipping. For example, free shipping.\n       */\n      discountType?: DiscountType$2;\n      /**\n       * ID of line item discount applies to.\n       * @deprecated ID of line item discount applies to.\n       * @replacedBy line_item_discounts\n       * @targetRemovalDate 2024-10-30\n       */\n      lineItemId?: string | null;\n      /**\n       * Discount amount.\n       * @deprecated Discount amount.\n       * @replacedBy price_amount and percentage\n       * @targetRemovalDate 2024-08-30\n       */\n      amount?: Price$4;\n      /** Discount description as free text (optional). */\n      description?: string | null;\n      /**\n       * Should opt-in the added discount. default = false.\n       * if not set or false, then to opt-in them, please call SetDiscounts with the added discounts ids\n       */\n      applyToDraftOrder?: boolean | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: LineItemDiscount$2[];\n  }\n  /** @oneof */\n  interface DiscountOptionDiscountAmountOneOf {\n      /**\n       * Discount price amount.\n       * @internal\n       */\n      priceAmount?: Price$4;\n      /**\n       * Discount percentage amount.\n       * @internal\n       */\n      percentage?: string | null;\n  }\n  enum DiscountType$2 {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface CreateCustomDiscountsResponse {\n      /** The draft order details with the added discounts */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface DeleteCustomDiscountsRequest {\n      /** The draft order id */\n      draftOrderId: string;\n      /** The discounts to remove */\n      discountIds: string[];\n  }\n  interface DeleteCustomDiscountsResponse {\n      /** The draft order details calculated with latest content */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface SetAdditionalFeesRequest {\n      /** The draft order id */\n      draftOrderId: string;\n      /** The additional fees ids to opt-in. all existing additional fees not listed are to be opted-out */\n      additionalFees: IdAndApplied[];\n  }\n  interface SetAdditionalFeesResponse {\n      /** The draft order details calculated with modified additional fees */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface CreateCustomAdditionalFeesRequest {\n      /** The draft order id */\n      draftOrderId: string;\n      /** The additional fees to add. added with opted-out setting */\n      customAdditionalFees?: AdditionalFeeOption[];\n  }\n  interface AdditionalFeeOption {\n      /** Translated additional fee's name */\n      name?: string;\n      /** Additional fee's price */\n      price?: Price$4;\n      /** Tax calculation details */\n      taxDetails?: TaxDetails$1;\n      /**\n       * Should apply the additional fee. default = false.\n       * if not set or false, then to apply them, please call ApplyAdditionalFees with the added additional fee ids\n       */\n      applyToDraftOrder?: boolean | null;\n      /** Additional fee's unique code (or ID) for future processing */\n      code?: string | null;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole order.\n       * @internal\n       */\n      lineItemIds?: string[];\n  }\n  interface CreateCustomAdditionalFeesResponse {\n      /** The draft order details with added custom additional fees */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface DeleteCustomAdditionalFeesRequest {\n      /** The draft order id */\n      draftOrderId: string;\n      /** The additional fees to remove */\n      customAdditionalFees: string[];\n  }\n  interface DeleteCustomAdditionalFeesResponse {\n      /** The draft order details calculated with latest content */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface SetShippingInfoRequest {\n      /**\n       * The draft order id\n       * @internal\n       */\n      draftOrderId: string;\n      /**\n       * The shipping info to be set. If passed empty value - value will be reset\n       * @internal\n       */\n      shippingInfo?: ShippingInformation$2;\n  }\n  interface SetShippingInfoResponse {\n      /**\n       * The draft order details calculated with updated shipping info\n       * @internal\n       */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface SetBuyerInfoRequest {\n      /**\n       * The draft order id\n       * @internal\n       */\n      draftOrderId: string;\n      /**\n       * Buyer information. If passed empty value - value will be reset\n       * @internal\n       */\n      buyerInfo?: BuyerInfo$3;\n  }\n  interface SetBuyerInfoResponse {\n      /**\n       * The draft order details calculated with updated buyer info\n       * @internal\n       */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface SetRecipientInfoRequest {\n      /**\n       * The draft order id\n       * @internal\n       */\n      draftOrderId: string;\n      /**\n       * Order recipient address and contact details. If passed empty value - value will be reset\n       * @internal\n       */\n      recipientInfo?: AddressWithContact$1;\n  }\n  interface SetRecipientInfoResponse {\n      /**\n       * The draft order details calculated with updated recipient info\n       * @internal\n       */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface SetBillingInfoRequest {\n      /**\n       * The draft order id\n       * @internal\n       */\n      draftOrderId: string;\n      /**\n       * Billing address and contact details. If passed empty value - value will be reset\n       * @internal\n       */\n      billingInfo?: AddressWithContact$1;\n  }\n  interface SetBillingInfoResponse {\n      /**\n       * The draft order details calculated with updated billing info\n       * @internal\n       */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface UpdateShippingInfoRequest {\n      /** The draft order id */\n      draftOrderId: string;\n      /** update the shipping option on the order. if not set then the selected shipping is removed */\n      shippingOption?: ShippingOption$2;\n  }\n  interface UpdateShippingInfoResponse {\n      /** The draft order details calculated with de/selected shipping info */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface GetDraftOrderRequest {\n      /** The draft order id */\n      draftOrderId: string;\n  }\n  interface GetDraftOrderResponse {\n      /** The draft order details calculated with latest content */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface GetOrderDraftabilityStatusRequest {\n      /** Order ID. */\n      orderId: string;\n  }\n  interface GetOrderDraftabilityStatusResponse {\n      /** Order ID. */\n      orderId?: string;\n      /** Whether a draft can be created from this order */\n      orderDraftable?: boolean;\n      /** Reasons why the order is not draftable */\n      nonDraftableReasons?: NonDraftableReason[];\n  }\n  enum NonDraftableReason {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      PARTIALLY_OR_FULLY_REFUNDED = \"PARTIALLY_OR_FULLY_REFUNDED\",\n      UNSUPPORTED_CHANNEL_TYPE = \"UNSUPPORTED_CHANNEL_TYPE\",\n      ORDER_STATUS_IS_NOT_SUPPORTED = \"ORDER_STATUS_IS_NOT_SUPPORTED\",\n      ORDER_AND_SITE_CURRENCIES_ARE_INCONSISTENT = \"ORDER_AND_SITE_CURRENCIES_ARE_INCONSISTENT\",\n      ORDER_AND_SITE_WEIGHT_UNITS_ARE_INCONSISTENT = \"ORDER_AND_SITE_WEIGHT_UNITS_ARE_INCONSISTENT\",\n      AMOUNTS_DO_NOT_ADD_UP = \"AMOUNTS_DO_NOT_ADD_UP\",\n      /** remove - this is not a reason, it's an error */\n      ORDER_NOT_FOUND = \"ORDER_NOT_FOUND\",\n      SUBSCRIPTION_LINE_ITEM_EXISTS = \"SUBSCRIPTION_LINE_ITEM_EXISTS\",\n      UNSUPPORTED_CATALOG_ITEM = \"UNSUPPORTED_CATALOG_ITEM\",\n      TAXABLE_EXISTING_ADDITIONAL_FEE = \"TAXABLE_EXISTING_ADDITIONAL_FEE\"\n  }\n  interface CommitDraftOrderRequest {\n      /** The draft order id */\n      draftOrderId: string;\n      /** Optional side effects to trigger */\n      commitSettings?: DraftOrderCommitSettings$1;\n      /** Reason for edit, given by user (optional). */\n      reason?: string | null;\n  }\n  interface CommitDraftOrderResponse {\n      /** The draft order after commit. */\n      committedDraftOrder?: DraftOrder;\n      /** The updated order after commit. */\n      orderAfterCommit?: Order$2;\n  }\n  interface Order$2 {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Order number displayed in the site owner's dashboard (auto-generated).\n       * @readonly\n       */\n      number?: string;\n      /**\n       * Date and time the order was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the order was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Order line items.\n       * @readonly\n       */\n      lineItems?: OrderLineItem$1[];\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$3;\n      /**\n       * Order payment status.\n       * + `NOT_PAID` - This can be an order made online, but not yet paid. In such cases `order.status` will be `INITIALIZED`.\n       * + This status also applies when an offline order needs to be manually marked as paid. In such cases `order.status` will be `APPROVED`.\n       * + `PAID` - All payments associated with this order are paid. For online payments: [`payment.regularPaymentDetails.status: APPROVED`](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-transactions/order-transactions-object). For gift cards: [`payment.giftCardPaymentDetails.voided: false`](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-transactions/order-transactions-object).\n       * + `PARTIALLY_REFUNDED` - Order was refunded, but refund amount is less than order total price.\n       * + `FULLY_REFUNDED` - Order fully refunded. Refund amount equals total price.\n       * + `PENDING` - Payments received but not yet confirmed by the payment provider.\n       * + `PARTIALLY_PAID` -  At least one payment was received and approved, covering less than total price amount.\n       */\n      paymentStatus?: PaymentStatus$2;\n      /**\n       * Order fulfillment status.\n       * @readonly\n       */\n      fulfillmentStatus?: FulfillmentStatus$3;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       */\n      buyerLanguage?: string | null;\n      /** Weight measurement unit - defaults to site's weight unit. */\n      weightUnit?: WeightUnit$4;\n      /** Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. */\n      currency?: string | null;\n      /** Whether tax is included in line item prices. */\n      taxIncludedInPrices?: boolean;\n      /**\n       * Site language in which original values are shown.\n       * @readonly\n       */\n      siteLanguage?: string | null;\n      /**\n       * Order price summary.\n       * @readonly\n       */\n      priceSummary?: PriceSummary$2;\n      /** Billing address and contact details. */\n      billingInfo?: AddressWithContact$1;\n      /** Shipping info and selected shipping option details. */\n      shippingInfo?: ShippingInformation$2;\n      /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n      buyerNote?: string | null;\n      /**\n       * Order status.\n       * + `INITIALIZED`: Order created, but not yet approved or canceled.\n       * + `APPROVED`: Order approved. This happens when either an online payment is received **or** when `order.priceSummary.total = 0` (a zero-total order). Offline orders (cash payment) are automatically approved.\n       * + `CANCELED`: Order canceled by the user.\n       */\n      status?: OrderStatus$1;\n      /** Whether order is archived. */\n      archived?: boolean | null;\n      /**\n       * Tax summary.\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * @deprecated Tax summary.\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxSummary?: TaxSummary$2;\n      /** Tax information. */\n      taxInfo?: OrderTaxInfo$1;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount$2[];\n      /**\n       * Order activities.\n       * @readonly\n       */\n      activities?: Activity$2[];\n      /** Order attribution source. */\n      attributionSource?: AttributionSource$1;\n      /**\n       * ID of the order's initiator.\n       * @readonly\n       */\n      createdBy?: V1CreatedBy;\n      /** Information about the sales channel that submitted this order. */\n      channelInfo?: ChannelInfo$2;\n      /** Whether a human has seen the order. Set when an order is clicked on in the dashboard. */\n      seenByAHuman?: boolean | null;\n      /** Checkout ID. */\n      checkoutId?: string | null;\n      /** Custom fields. */\n      customFields?: CustomField$2[];\n      /**\n       * Cart ID - required by TYP OOI for legacy orders.\n       * @internal\n       */\n      cartId?: string | null;\n      /**\n       * Private API flag that allows using read-only \"id\" during order creation.\n       * @internal\n       */\n      isInternalOrderCreate?: boolean;\n      /**\n       * Pay now price summary. Part of price_summary that must be payed at checkout\n       * @internal\n       * @readonly\n       */\n      payNow?: PriceSummary$2;\n      /**\n       * Balance summary.\n       * @readonly\n       */\n      balanceSummary?: V1BalanceSummary;\n      /** Additional fees applied to the order. */\n      additionalFees?: AdditionalFee$2[];\n      /**\n       * Custom string status values aggregated from every fulfillment entity associated with current order\n       * @internal\n       * @readonly\n       */\n      fulfillmentStatusesAggregate?: FulfillmentStatusesAggregate$1;\n      /**\n       * Custom field data for the order object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$5;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /**\n       * Order recipient address and contact details.\n       *\n       * This field may differ from the address in `shippingInfo.logistics` when:\n       * + The chosen shipping option is pickup point or store pickup.\n       * + No shipping option is selected.\n       */\n      recipientInfo?: AddressWithContact$1;\n      /**\n       * Tag ids collections associated with current entity. private_tags requires separate permissions to be accessible and modifiable.\n       * @internal\n       */\n      tags?: Tags$1;\n      /**\n       * Date and time the order was originally purchased in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * Used for migration from external systems.\n       */\n      purchasedDate?: Date | null;\n      /**\n       * Order Location\n       * @internal\n       */\n      businessLocation?: Location$1;\n  }\n  enum PaymentStatus$2 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** Order is not paid */\n      NOT_PAID = \"NOT_PAID\",\n      /** Order is paid */\n      PAID = \"PAID\",\n      /** Order was refunded, refund amount less than order total price */\n      PARTIALLY_REFUNDED = \"PARTIALLY_REFUNDED\",\n      /** Full order total price was refunded */\n      FULLY_REFUNDED = \"FULLY_REFUNDED\",\n      /** Payments received but not yet confirmed by the payment provider */\n      PENDING = \"PENDING\",\n      /** At least one payment was received and approved, covering less than total price amount */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      /**\n       * Payment received but not yet confirmed by the payment provider and waits for some user action\n       * @documentationMaturity preview\n       */\n      PENDING_MERCHANT = \"PENDING_MERCHANT\",\n      /**\n       * Payment was canceled by user on payment provider side\n       * @documentationMaturity preview\n       */\n      CANCELED = \"CANCELED\",\n      /**\n       * Payment was declined by payment provider\n       * @documentationMaturity preview\n       */\n      DECLINED = \"DECLINED\"\n  }\n  enum FulfillmentStatus$3 {\n      /** None of the order items are fulfilled or the order was manually marked as unfulfilled. */\n      NOT_FULFILLED = \"NOT_FULFILLED\",\n      /**\n       * All of the order items are fulfilled or the order was manually marked as fulfilled.\n       * Orders without shipping info are fulfilled automatically.\n       */\n      FULFILLED = \"FULFILLED\",\n      /** Some, but not all, of the order items are fulfilled. */\n      PARTIALLY_FULFILLED = \"PARTIALLY_FULFILLED\"\n  }\n  enum OrderStatus$1 {\n      INITIALIZED = \"INITIALIZED\",\n      APPROVED = \"APPROVED\",\n      CANCELED = \"CANCELED\",\n      /** @documentationMaturity preview */\n      PENDING = \"PENDING\",\n      /** @documentationMaturity preview */\n      REJECTED = \"REJECTED\"\n  }\n  interface Activity$2 extends ActivityContentOneOf$1 {\n      /** Custom activity details (optional). `activity.type` must be `CUSTOM_ACTIVITY`. */\n      customActivity?: CustomActivity$1;\n      /** Merchant comment details (optional). `activity.type` must be `MERCHANT_COMMENT`. */\n      merchantComment?: MerchantComment$1;\n      /** Additional info about order refunded activity (optional). `activity.type` must be `ORDER_REFUNDED`. */\n      orderRefunded?: OrderRefunded$2;\n      /**\n       * Details of the original order for this exchange order. `activity.type` must be `ORDER_CREATED_FROM_EXCHANGE`.\n       * @internal\n       */\n      orderCreatedFromExchange?: OrderCreatedFromExchange$1;\n      /**\n       * Details of an order that was created as a result of an exchange of items in this order. `activity.type` must be `NEW_EXCHANGE_ORDER_CREATED`.\n       * @internal\n       */\n      newExchangeOrderCreated?: NewExchangeOrderCreated$1;\n      /**\n       * Details of changes made by the Draft Orders API.\n       * @internal\n       */\n      draftOrderChangesApplied?: DraftOrderChangesApplied$1;\n      /**\n       * Details of the payment method saved for order\n       * @internal\n       */\n      savedPaymentMethod?: SavedPaymentMethod$1;\n      /**\n       * Details of an authorized payment created.\n       * @internal\n       */\n      authorizedPaymentCreated?: AuthorizedPaymentCreated$1;\n      /**\n       * Details of an authorized payment captured.\n       * @internal\n       */\n      authorizedPaymentCaptured?: AuthorizedPaymentCaptured$1;\n      /**\n       * Details of an authorized payment voided.\n       * @internal\n       */\n      authorizedPaymentVoided?: AuthorizedPaymentVoided$1;\n      /**\n       * Details of an initiated refund process.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      refundInitiated?: RefundInitiated$1;\n      /**\n       * Details of a refunded payment.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefunded?: PaymentRefunded$1;\n      /**\n       * Details of a failed payment refund.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefundFailed?: PaymentRefundFailed$1;\n      /**\n       * Details of refund to store credit.\n       * @internal\n       */\n      refundedAsStoreCredit?: RefundedAsStoreCredit$1;\n      /**\n       * Details of a pending payment\n       * @internal\n       */\n      paymentPending?: PaymentPending$1;\n      /**\n       * Details of a canceled payment\n       * @internal\n       */\n      paymentCanceled?: PaymentCanceled$1;\n      /**\n       * Details of a declined payment\n       * @internal\n       */\n      paymentDeclined?: PaymentDeclined$1;\n      /**\n       * Activity ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Activity author's email.\n       * @readonly\n       */\n      authorEmail?: string | null;\n      /**\n       * Activity creation date and time.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Activity type. */\n      type?: ActivityType$2;\n  }\n  /** @oneof */\n  interface ActivityContentOneOf$1 {\n      /** Custom activity details (optional). `activity.type` must be `CUSTOM_ACTIVITY`. */\n      customActivity?: CustomActivity$1;\n      /** Merchant comment details (optional). `activity.type` must be `MERCHANT_COMMENT`. */\n      merchantComment?: MerchantComment$1;\n      /** Additional info about order refunded activity (optional). `activity.type` must be `ORDER_REFUNDED`. */\n      orderRefunded?: OrderRefunded$2;\n      /**\n       * Details of the original order for this exchange order. `activity.type` must be `ORDER_CREATED_FROM_EXCHANGE`.\n       * @internal\n       */\n      orderCreatedFromExchange?: OrderCreatedFromExchange$1;\n      /**\n       * Details of an order that was created as a result of an exchange of items in this order. `activity.type` must be `NEW_EXCHANGE_ORDER_CREATED`.\n       * @internal\n       */\n      newExchangeOrderCreated?: NewExchangeOrderCreated$1;\n      /**\n       * Details of changes made by the Draft Orders API.\n       * @internal\n       */\n      draftOrderChangesApplied?: DraftOrderChangesApplied$1;\n      /**\n       * Details of the payment method saved for order\n       * @internal\n       */\n      savedPaymentMethod?: SavedPaymentMethod$1;\n      /**\n       * Details of an authorized payment created.\n       * @internal\n       */\n      authorizedPaymentCreated?: AuthorizedPaymentCreated$1;\n      /**\n       * Details of an authorized payment captured.\n       * @internal\n       */\n      authorizedPaymentCaptured?: AuthorizedPaymentCaptured$1;\n      /**\n       * Details of an authorized payment voided.\n       * @internal\n       */\n      authorizedPaymentVoided?: AuthorizedPaymentVoided$1;\n      /**\n       * Details of an initiated refund process.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      refundInitiated?: RefundInitiated$1;\n      /**\n       * Details of a refunded payment.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefunded?: PaymentRefunded$1;\n      /**\n       * Details of a failed payment refund.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefundFailed?: PaymentRefundFailed$1;\n      /**\n       * Details of refund to store credit.\n       * @internal\n       */\n      refundedAsStoreCredit?: RefundedAsStoreCredit$1;\n      /**\n       * Details of a pending payment\n       * @internal\n       */\n      paymentPending?: PaymentPending$1;\n      /**\n       * Details of a canceled payment\n       * @internal\n       */\n      paymentCanceled?: PaymentCanceled$1;\n      /**\n       * Details of a declined payment\n       * @internal\n       */\n      paymentDeclined?: PaymentDeclined$1;\n  }\n  interface CustomActivity$1 {\n      /** ID of the app that created the custom activity. */\n      appId?: string;\n      /** Custom activity type. For example, `\"Ticket number set\"`. */\n      type?: string;\n      /** Additional data in key-value form. For example, `{ \"Ticket number\": \"123456\" }`. */\n      additionalData?: Record<string, string>;\n  }\n  /** Store owner added a comment */\n  interface MerchantComment$1 {\n      /** Merchant comment message. */\n      message?: string;\n  }\n  interface OrderRefunded$2 {\n      /** Whether order was refunded manually. For example, via payment provider or using cash. */\n      manual?: boolean;\n      /** Refund amount. */\n      amount?: Price$4;\n      /** Reason for refund. */\n      reason?: string;\n  }\n  interface OrderCreatedFromExchange$1 {\n      /** ID of the original order for which the exchange happened. */\n      originalOrderId?: string;\n  }\n  interface NewExchangeOrderCreated$1 {\n      /** ID of the new order created as a result of an exchange of items. */\n      exchangeOrderId?: string;\n      /** IDs of the items that were exchanged. */\n      lineItems?: LineItemExchangeData$1[];\n  }\n  interface LineItemExchangeData$1 {\n      /** ID of the exchanged line item. */\n      lineItemId?: string;\n      /** Line item quantity being exchanged. */\n      quantity?: number;\n  }\n  interface DraftOrderChangesApplied$1 {\n      /** Draft order id. */\n      draftOrderId?: string;\n      /** Reason for edit, given by user (optional). */\n      reason?: string | null;\n      /** Changes applied to order. */\n      changes?: OrderChange$1[];\n  }\n  interface OrderChange$1 extends OrderChangeValueOneOf$1 {\n      lineItemChanged?: LineItemChanges$1;\n      lineItemAdded?: ManagedLineItem$1;\n      lineItemRemoved?: ManagedLineItem$1;\n      discountAdded?: ManagedDiscount$1;\n      discountRemoved?: ManagedDiscount$1;\n      additionalFeeAdded?: ManagedAdditionalFee$1;\n      additionalFeeRemoved?: ManagedAdditionalFee$1;\n      totalPriceChanged?: TotalPriceChange$1;\n      shippingInformationChanged?: ShippingInformationChange$1;\n  }\n  /** @oneof */\n  interface OrderChangeValueOneOf$1 {\n      lineItemChanged?: LineItemChanges$1;\n      lineItemAdded?: ManagedLineItem$1;\n      lineItemRemoved?: ManagedLineItem$1;\n      discountAdded?: ManagedDiscount$1;\n      discountRemoved?: ManagedDiscount$1;\n      additionalFeeAdded?: ManagedAdditionalFee$1;\n      additionalFeeRemoved?: ManagedAdditionalFee$1;\n      totalPriceChanged?: TotalPriceChange$1;\n      shippingInformationChanged?: ShippingInformationChange$1;\n  }\n  interface LineItemChanges$1 {\n      /** Line item ID. */\n      _id?: string;\n      /** Item name. */\n      name?: ProductName$1;\n      /** Item quantity change. */\n      quantity?: LineItemQuantityChange$1;\n      /** Item price change. */\n      price?: LineItemPriceChange$1;\n  }\n  interface LineItemQuantityChange$1 {\n      /** Item quantity before update. */\n      originalQuantity?: number;\n      /** Item quantity after update. */\n      newQuantity?: number;\n      /** Difference between original and new quantity. Absolute value. */\n      diff?: number;\n      /** Type of quantity change: increase or decrease. */\n      deltaType?: LineItemQuantityChangeType$1;\n  }\n  enum LineItemQuantityChangeType$1 {\n      /** Quantity increased. */\n      QUANTITY_INCREASED = \"QUANTITY_INCREASED\",\n      /** Quantity decreased. */\n      QUANTITY_DECREASED = \"QUANTITY_DECREASED\"\n  }\n  interface LineItemPriceChange$1 {\n      /** Item price before update. */\n      originalPrice?: Price$4;\n      /** Item price after update. */\n      newPrice?: Price$4;\n  }\n  interface ManagedLineItem$1 {\n      /** Line item ID. */\n      _id?: string;\n      /** Item name. */\n      name?: ProductName$1;\n      /** Added or removed item quantity. */\n      quantity?: number;\n  }\n  interface ManagedDiscount$1 {\n      /** Discount id. */\n      _id?: string;\n      /** Discount name: coupon name / discount rule name / merchant discount description. */\n      name?: TranslatedValue$1;\n      /** Line items discount applies to. */\n      affectedLineItems?: LineItemAmount$1[];\n      /** Discount amount. */\n      totalAmount?: Price$4;\n  }\n  interface TranslatedValue$1 {\n      /** Value in site default language. */\n      original?: string;\n      /** Translated value. */\n      translated?: string | null;\n  }\n  interface LineItemAmount$1 {\n      /** Order line item id */\n      _id?: string;\n      /** Item name. */\n      name?: ProductName$1;\n      /** Amount associated with this item. (Discount amount for item / additional fee amount for item) */\n      amount?: Price$4;\n  }\n  interface ManagedAdditionalFee$1 {\n      /** Additional fee id. */\n      _id?: string;\n      /** Additional fee name. */\n      name?: TranslatedValue$1;\n      /** Line items additional fee applies to. */\n      affectedLineItems?: LineItemAmount$1[];\n      /** Additional fee amount. */\n      totalAmount?: Price$4;\n  }\n  interface TotalPriceChange$1 {\n      /** Order’s total price after discounts and tax. Before update */\n      originalTotal?: Price$4;\n      /** Order’s total price after discounts and tax. After update */\n      newTotal?: Price$4;\n  }\n  interface ShippingInformationChange$1 {\n      /** Order’s Shipping Information. Before update */\n      originalShippingInfo?: ShippingInformationChangeShippingInformation$1;\n      /** Order’s Shipping Information. After update */\n      newShippingInfo?: ShippingInformationChangeShippingInformation$1;\n  }\n  interface ShippingInformationChangeShippingInformation$1 {\n      /** Order’s shipping price. */\n      total?: Price$4;\n      /** Order’s shipping title. */\n      shippingTitle?: string;\n  }\n  /** Payment method is saved for order */\n  interface SavedPaymentMethod$1 {\n      /** Payment method name */\n      name?: string;\n      /** Payment method description */\n      description?: string | null;\n  }\n  interface AuthorizedPaymentCreated$1 {\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n      /** Payment amount */\n      amount?: Price$4;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface AuthorizedPaymentCaptured$1 {\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n      /** Payment amount */\n      amount?: Price$4;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface AuthorizedPaymentVoided$1 {\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n      /** Payment amount */\n      amount?: Price$4;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface RefundInitiated$1 {\n      /** Refund ID. */\n      refundId?: string;\n      /** Refund amount. */\n      amount?: Price$4;\n      /** Details about the payments being refunded. */\n      payments?: RefundedPayment$1[];\n      /** Reason for refund. */\n      reason?: string | null;\n  }\n  interface RefundedPayment$1 extends RefundedPaymentKindOneOf$1 {\n      /** Regular payment refund. */\n      regular?: RegularPaymentRefund$1;\n      /** Gift card payment refund. */\n      giftCard?: GiftCardPaymentRefund$1;\n      /** Membership payment refund. */\n      membership?: MembershipPaymentRefund$1;\n      /** Payment ID. */\n      paymentId?: string;\n      /** Whether refund was made externally and manually on the payment provider's side. */\n      externalRefund?: boolean;\n  }\n  /** @oneof */\n  interface RefundedPaymentKindOneOf$1 {\n      /** Regular payment refund. */\n      regular?: RegularPaymentRefund$1;\n      /** Gift card payment refund. */\n      giftCard?: GiftCardPaymentRefund$1;\n      /** Membership payment refund. */\n      membership?: MembershipPaymentRefund$1;\n  }\n  interface RegularPaymentRefund$1 {\n      /** Refund amount */\n      amount?: Price$4;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface GiftCardPaymentRefund$1 {\n      /** Gift card payment ID */\n      giftCardPaymentId?: string | null;\n      /** Refund amount */\n      amount?: Price$4;\n  }\n  interface MembershipPaymentRefund$1 {\n      /** Membership ID */\n      membershipId?: string | null;\n  }\n  interface PaymentRefunded$1 {\n      /** Refund ID. */\n      refundId?: string;\n      /** Details about the refunded payment. */\n      payment?: RefundedPayment$1;\n  }\n  interface PaymentRefundFailed$1 {\n      /** Refund ID. */\n      refundId?: string;\n      /** Details about the failed payment refund. */\n      payment?: RefundedPayment$1;\n  }\n  interface RefundedAsStoreCredit$1 {\n      /** Refund amount */\n      amount?: Price$4;\n      /** Reason for refund */\n      reason?: string | null;\n  }\n  interface PaymentPending$1 extends PaymentPendingPaymentDetailsOneOf$1 {\n      /** Regular payment. */\n      regular?: RegularPayment$1;\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n  }\n  /** @oneof */\n  interface PaymentPendingPaymentDetailsOneOf$1 {\n      /** Regular payment. */\n      regular?: RegularPayment$1;\n  }\n  interface RegularPayment$1 extends RegularPaymentPaymentMethodDetailsOneOf$1 {\n      /** Whether regular card used */\n      creditCardDetails?: CreditCardDetails$1;\n      /** Payment amount */\n      amount?: Price$4;\n  }\n  /** @oneof */\n  interface RegularPaymentPaymentMethodDetailsOneOf$1 {\n      /** Whether regular card used */\n      creditCardDetails?: CreditCardDetails$1;\n  }\n  interface CreditCardDetails$1 {\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface PaymentCanceled$1 extends PaymentCanceledPaymentDetailsOneOf$1 {\n      /** Regular payment. */\n      regular?: RegularPayment$1;\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n  }\n  /** @oneof */\n  interface PaymentCanceledPaymentDetailsOneOf$1 {\n      /** Regular payment. */\n      regular?: RegularPayment$1;\n  }\n  interface PaymentDeclined$1 extends PaymentDeclinedPaymentDetailsOneOf$1 {\n      /** Regular payment. */\n      regular?: RegularPayment$1;\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n  }\n  /** @oneof */\n  interface PaymentDeclinedPaymentDetailsOneOf$1 {\n      /** Regular payment. */\n      regular?: RegularPayment$1;\n  }\n  enum ActivityType$2 {\n      ORDER_REFUNDED = \"ORDER_REFUNDED\",\n      ORDER_PLACED = \"ORDER_PLACED\",\n      ORDER_PAID = \"ORDER_PAID\",\n      ORDER_FULFILLED = \"ORDER_FULFILLED\",\n      ORDER_NOT_FULFILLED = \"ORDER_NOT_FULFILLED\",\n      ORDER_CANCELED = \"ORDER_CANCELED\",\n      DOWNLOAD_LINK_SENT = \"DOWNLOAD_LINK_SENT\",\n      TRACKING_NUMBER_ADDED = \"TRACKING_NUMBER_ADDED\",\n      TRACKING_NUMBER_EDITED = \"TRACKING_NUMBER_EDITED\",\n      TRACKING_LINK_ADDED = \"TRACKING_LINK_ADDED\",\n      SHIPPING_CONFIRMATION_EMAIL_SENT = \"SHIPPING_CONFIRMATION_EMAIL_SENT\",\n      INVOICE_ADDED = \"INVOICE_ADDED\",\n      INVOICE_REMOVED = \"INVOICE_REMOVED\",\n      INVOICE_SENT = \"INVOICE_SENT\",\n      FULFILLER_EMAIL_SENT = \"FULFILLER_EMAIL_SENT\",\n      SHIPPING_ADDRESS_EDITED = \"SHIPPING_ADDRESS_EDITED\",\n      EMAIL_EDITED = \"EMAIL_EDITED\",\n      PICKUP_READY_EMAIL_SENT = \"PICKUP_READY_EMAIL_SENT\",\n      CUSTOM_ACTIVITY = \"CUSTOM_ACTIVITY\",\n      MERCHANT_COMMENT = \"MERCHANT_COMMENT\",\n      ORDER_CREATED_FROM_EXCHANGE = \"ORDER_CREATED_FROM_EXCHANGE\",\n      NEW_EXCHANGE_ORDER_CREATED = \"NEW_EXCHANGE_ORDER_CREATED\",\n      ORDER_PARTIALLY_PAID = \"ORDER_PARTIALLY_PAID\",\n      DRAFT_ORDER_CHANGES_APPLIED = \"DRAFT_ORDER_CHANGES_APPLIED\",\n      SAVED_PAYMENT_METHOD = \"SAVED_PAYMENT_METHOD\",\n      AUTHORIZED_PAYMENT_CREATED = \"AUTHORIZED_PAYMENT_CREATED\",\n      AUTHORIZED_PAYMENT_CAPTURED = \"AUTHORIZED_PAYMENT_CAPTURED\",\n      AUTHORIZED_PAYMENT_VOIDED = \"AUTHORIZED_PAYMENT_VOIDED\",\n      REFUND_INITIATED = \"REFUND_INITIATED\",\n      PAYMENT_REFUNDED = \"PAYMENT_REFUNDED\",\n      PAYMENT_REFUND_FAILED = \"PAYMENT_REFUND_FAILED\",\n      REFUNDED_AS_STORE_CREDIT = \"REFUNDED_AS_STORE_CREDIT\",\n      /** @documentationMaturity preview */\n      PAYMENT_PENDING = \"PAYMENT_PENDING\",\n      /** @documentationMaturity preview */\n      PAYMENT_CANCELED = \"PAYMENT_CANCELED\",\n      /** @documentationMaturity preview */\n      PAYMENT_DECLINED = \"PAYMENT_DECLINED\",\n      /** @documentationMaturity preview */\n      ORDER_PENDING = \"ORDER_PENDING\",\n      /** @documentationMaturity preview */\n      ORDER_REJECTED = \"ORDER_REJECTED\"\n  }\n  enum AttributionSource$1 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      FACEBOOK_ADS = \"FACEBOOK_ADS\"\n  }\n  interface V1CreatedBy extends V1CreatedByStringOneOf {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface V1CreatedByStringOneOf {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application. */\n      appId?: string;\n  }\n  interface ChannelInfo$2 {\n      /** Sales channel that submitted the order. */\n      type?: ChannelType$2;\n      /** Reference to an order ID from an external system. */\n      externalOrderId?: string | null;\n      /** URL to the order in the external system. */\n      externalOrderUrl?: string | null;\n  }\n  enum ChannelType$2 {\n      /** Unspecified sales channel. This value is not supported. */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** A web client. */\n      WEB = \"WEB\",\n      /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n      POS = \"POS\",\n      /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n      EBAY = \"EBAY\",\n      /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n      AMAZON = \"AMAZON\",\n      /** Other sales platform. */\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n      WIX_INVOICES = \"WIX_INVOICES\",\n      /** Wix merchant backoffice. */\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      /** Wish sales channel. */\n      WISH = \"WISH\",\n      /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n      CLASS_PASS = \"CLASS_PASS\",\n      /** Global-E sales channel. */\n      GLOBAL_E = \"GLOBAL_E\",\n      /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n      FACEBOOK = \"FACEBOOK\",\n      /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n      ETSY = \"ETSY\",\n      /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n      TIKTOK = \"TIKTOK\",\n      /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n      FAIRE_COM = \"FAIRE_COM\"\n  }\n  interface CustomField$2 {\n      /** Custom field value. */\n      value?: any;\n      /** Custom field title. */\n      title?: string;\n      /** Translated custom field title. */\n      translatedTitle?: string | null;\n  }\n  interface V1BalanceSummary {\n      /**\n       * Current amount left to pay.\n       * @readonly\n       */\n      balance?: Balance$1;\n      /**\n       * Sum of all approved and successful payments.\n       *\n       * The value includes payments that have subsequently been fully or partially refunded.\n       * @readonly\n       */\n      paid?: Price$4;\n      /**\n       * Sum of all successfully refunded payments.\n       * @readonly\n       */\n      refunded?: Price$4;\n      /**\n       * Sum of all authorized payments.\n       * @readonly\n       */\n      authorized?: Price$4;\n      /**\n       * Sum of all pending refund transactions.\n       * @internal\n       * @readonly\n       */\n      pendingRefund?: Price$4;\n      /**\n       * Sum of all pending transactions.\n       * @readonly\n       */\n      pending?: Price$4;\n  }\n  interface FulfillmentStatusesAggregate$1 {\n      /** Unique string values based on Fulfillment entities statuses */\n      statuses?: string[] | null;\n  }\n  /**\n   * Common object for tags.\n   * Should be use as in this example:\n   * message Foo {\n   * string id = 1;\n   * ...\n   * Tags tags = 5\n   * }\n   *\n   * example of taggable entity\n   * {\n   * id: \"123\"\n   * tags: {\n   * tags: {\n   * tag_ids:[\"11\",\"22\"]\n   * },\n   * private_tags: {\n   * tag_ids: [\"33\", \"44\"]\n   * }\n   * }\n   * }\n   */\n  interface Tags$1 {\n      /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n      privateTags?: TagList$1;\n      /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n      tags?: TagList$1;\n  }\n  interface TagList$1 {\n      /** List of tag IDs */\n      tagIds?: string[];\n  }\n  interface CreateOrderFromDraftRequest {\n      /**\n       * The draft order id\n       * @internal\n       */\n      draftOrderId: string;\n      /**\n       * Optional side effects to trigger\n       * @internal\n       */\n      createSettings?: OrderCreateSettings;\n      /**\n       * Reason for order creation, given by user (optional).\n       * @internal\n       */\n      reason?: string | null;\n      /**\n       * Information about the sales channel that submitted this order\n       * @internal\n       */\n      channelInfo?: ChannelInfo$2;\n  }\n  interface OrderCreateSettings {\n      /**\n       * Notification settings to be applied on order creation\n       * @internal\n       */\n      notifications?: OrderCreateNotifications$1;\n  }\n  interface OrderCreateNotifications$1 {\n      /**\n       * Whether to send notification to the buyer.\n       *\n       * Default: `true`\n       * @internal\n       */\n      sendNotificationToBuyer?: boolean | null;\n      /**\n       * Whether to send notifications to the business.\n       *\n       * Default: `true`\n       * @internal\n       */\n      sendNotificationsToBusiness?: boolean | null;\n  }\n  interface CreateOrderFromDraftResponse {\n      /**\n       * The draft order after commit.\n       * @internal\n       */\n      committedDraftOrder?: DraftOrder;\n      /**\n       * Created order\n       * @internal\n       */\n      createdOrder?: Order$2;\n  }\n  interface DeleteDraftOrderRequest {\n      /** The draft order id */\n      draftOrderId: string;\n  }\n  interface DeleteDraftOrderResponse {\n  }\n  interface QueryDraftOrdersRequest {\n      /** WQL expression */\n      query?: CursorQuery$5;\n  }\n  interface CursorQuery$5 extends CursorQueryPagingMethodOneOf$5 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$9;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$9[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$5 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$9;\n  }\n  interface Sorting$9 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$9;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$9 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$9 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryDraftOrdersResponse {\n      /** list of edits per order */\n      draftOrders?: DraftOrder[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$8;\n  }\n  interface CursorPagingMetadata$8 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$9;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$9 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateExtendedFieldsRequest$3 {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse$3 {\n      /** Updated DraftOrder */\n      draftOrder?: DraftOrder;\n  }\n  interface SetTaxExemptionRequest {\n      /**\n       * Draft order ID.\n       * @internal\n       */\n      draftOrderId: string;\n      /**\n       * Whether the draft order is exempt from tax calculations.\n       *\n       * Default: `false`\n       * @internal\n       */\n      taxExempt: boolean | null;\n  }\n  interface SetTaxExemptionResponse {\n      /**\n       * The draft order details calculated with updated tax exemption.\n       * @internal\n       */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface GetDraftEditabilityStatusRequest {\n      /** Draft order ID. */\n      draftOrderId?: string | null;\n  }\n  interface GetDraftEditabilityStatusResponse {\n      /** Draft order ID. */\n      draftOrderId?: string | null;\n      /**\n       * Draft order status.\n       * @readonly\n       */\n      status?: EditingStatus;\n  }\n  interface SetBusinessLocationRequest {\n      /**\n       * Draft order ID.\n       * @internal\n       */\n      draftOrderId: string;\n      /**\n       * Business location.\n       * @internal\n       */\n      businessLocation?: Location$1;\n  }\n  interface SetBusinessLocationResponse {\n      /**\n       * The draft order details calculated with updated business location.\n       * @internal\n       */\n      calculatedDraftOrder?: CalculatedDraftOrder;\n  }\n  interface DomainEvent$c extends DomainEventBodyOneOf$c {\n      createdEvent?: EntityCreatedEvent$c;\n      updatedEvent?: EntityUpdatedEvent$c;\n      deletedEvent?: EntityDeletedEvent$c;\n      actionEvent?: ActionEvent$c;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$c {\n      createdEvent?: EntityCreatedEvent$c;\n      updatedEvent?: EntityUpdatedEvent$c;\n      deletedEvent?: EntityDeletedEvent$c;\n      actionEvent?: ActionEvent$c;\n  }\n  interface EntityCreatedEvent$c {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$c;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$c {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$c {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$c {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$c {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$b {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$c;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$c extends IdentificationDataIdOneOf$c {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$b;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$c {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$b {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates or gets a draft order.\n   *\n   * When passing the ID of an order that is already in draft, the existing draft order will be returned.\n   * To complete a draft and update the order, call [Commit Draft Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/draft-orders/commit-draft-order).\n   * @param orderId - To create a draft from existing order, provide its id. Otherwise, an empty draft will be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.DRAFT_ORDERS_CREATE\n   * @permissionId ECOM.DRAFT_ORDER_READ_ALL_EXTENDED_FIELDS\n   * @permissionId DRAFT_ORDER_WRITE_ALL_EXTENDED_FIELDS\n   * @adminMethod\n   */\n  function createDraftOrder(orderId: string | null, options?: CreateDraftOrderOptions): Promise<CreateDraftOrderResponse>;\n  interface CreateDraftOrderOptions {\n      /**\n       * If true and draft order already exists, it will be reset to the baseline order.\n       * should this be a bool? will it always be private?\n       * @internal\n       */\n      resetIfExists?: string | null;\n  }\n  /**\n   * Creates an empty draft order.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.DRAFT_ORDERS_CREATE\n   * @permissionId ECOM.DRAFT_ORDER_READ_ALL_EXTENDED_FIELDS\n   * @permissionId DRAFT_ORDER_WRITE_ALL_EXTENDED_FIELDS\n   * @adminMethod\n   */\n  function createEmptyDraftOrder(): Promise<CreateEmptyDraftOrderResponse>;\n  /**\n   * Adds line items to a draft order.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @requiredField options.catalogLineItems.catalogReference\n   * @permissionId ECOM.DRAFT_ORDERS_ADD_LINE_ITEMS\n   * @adminMethod\n   */\n  function addLineItemsToDraftOrder(draftOrderId: string, options?: AddLineItemsToDraftOrderOptions): Promise<AddLineItemsToDraftOrderResponse>;\n  interface AddLineItemsToDraftOrderOptions {\n      /** Catalog line items to add to draft order. */\n      catalogLineItems?: CatalogReferenceLineItem[];\n      /** Custom line items to add to draft order. Custom line items don't trigger the Catalog service plugin. */\n      customLineItems?: CustomLineItem[];\n  }\n  /**\n   * Updates a draft order's line items.\n   *\n   * Using this API, you can update a line item's quantity, price, and description.\n   * > **Notes:**\n   * > + Passing a quantity of `0` will remove the line item.\n   * > + Price cannot be updated for line items with `paymentOption: MEMBERSHIP`.\n   * > + Quantity cannot be decreased fulfilled line items. To get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-fulfillments/list-fulfillments-for-single-order).\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDERS_MODIFY_ITEMS\n   * @adminMethod\n   */\n  function updateLineItems(draftOrderId: string, options?: UpdateLineItemsOptions): Promise<UpdateLineItemsResponse>;\n  interface UpdateLineItemsOptions {\n      /** Details of changes to apply per line item */\n      lineItemChanges?: LineItemChangeDetails[];\n  }\n  /**\n   * Sets and enables or disables discounts on a draft order.\n   *\n   * Any discounts not passed will not change.\n   * @param draftOrderId - The draft order id\n   * @param discounts - The discount ids to opt-in. all existing discounts not listed are to be opted-out.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField discounts\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDERS_SET_DISCOUNTS\n   * @adminMethod\n   */\n  function setDiscounts(draftOrderId: string, discounts: IdAndApplied[]): Promise<SetDiscountsResponse>;\n  /**\n   * Adds merchant discounts to the order.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @requiredField options.discounts.amount\n   * @requiredField options.discounts.amount.amount\n   * @requiredField options.discounts.discountType\n   * @permissionId ECOM.DRAFT_ORDERS_ADD_DISCOUNTS\n   * @adminMethod\n   */\n  function createCustomDiscounts(draftOrderId: string, options?: CreateCustomDiscountsOptions): Promise<CreateCustomDiscountsResponse>;\n  interface CreateCustomDiscountsOptions {\n      /** The discounts to add. */\n      discounts?: DiscountOption[];\n  }\n  /**\n   * Remove custom discounts from the order.\n   * @param draftOrderId - The draft order id\n   * @param discountIds - The discounts to remove\n   * @public\n   * @documentationMaturity preview\n   * @requiredField discountIds\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDERS_DELETE_DISCOUNTS\n   * @adminMethod\n   */\n  function deleteCustomDiscounts(draftOrderId: string, discountIds: string[]): Promise<DeleteCustomDiscountsResponse>;\n  /**\n   * Set which additional fees existing on the draft order are to be opt-in.\n   * All existing additional fees not provided on the call are opted-out.\n   * @param draftOrderId - The draft order id\n   * @param additionalFees - The additional fees ids to opt-in. all existing additional fees not listed are to be opted-out\n   * @public\n   * @documentationMaturity preview\n   * @requiredField additionalFees\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDERS_SET_ADDITIONAL_FEES\n   * @adminMethod\n   */\n  function setAdditionalFees(draftOrderId: string, additionalFees: IdAndApplied[]): Promise<SetAdditionalFeesResponse>;\n  /**\n   * Create custom additional fees to the order.\n   * added additional fees are by default opted-out.\n   * To opt-in them, please call SetAdditionalFees with the added additional fee ids.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @requiredField options.customAdditionalFees.name\n   * @requiredField options.customAdditionalFees.price\n   * @requiredField options.customAdditionalFees.price.amount\n   * @permissionId ECOM.DRAFT_ORDERS_CREATE_ADDITIONAL_FEES\n   * @adminMethod\n   */\n  function createCustomAdditionalFees(draftOrderId: string, options?: CreateCustomAdditionalFeesOptions): Promise<CreateCustomAdditionalFeesResponse>;\n  interface CreateCustomAdditionalFeesOptions {\n      /** The additional fees to add. added with opted-out setting */\n      customAdditionalFees?: AdditionalFeeOption[];\n  }\n  /**\n   * Remove custom additional fees from the order.\n   * @param draftOrderId - The draft order id\n   * @param customAdditionalFees - The additional fees to remove\n   * @public\n   * @documentationMaturity preview\n   * @requiredField customAdditionalFees\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDERS_DELETE_ADDITIONAL_FEES\n   * @adminMethod\n   */\n  function deleteCustomAdditionalFees(draftOrderId: string, customAdditionalFees: string[]): Promise<DeleteCustomAdditionalFeesResponse>;\n  /**\n   * Sets shipping info to a draft order.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDERS_SET_SHIPPING_INFO\n   * @adminMethod\n   */\n  function setShippingInfo(draftOrderId: string, options?: SetShippingInfoOptions): Promise<void>;\n  interface SetShippingInfoOptions {\n      /**\n       * The shipping info to be set. If passed empty value - value will be reset\n       * @internal\n       */\n      shippingInfo?: ShippingInformation$2;\n  }\n  /**\n   * Sets buyer info to a draft order.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDER_SET_BUYER_INFO\n   * @adminMethod\n   */\n  function setBuyerInfo(draftOrderId: string, options?: SetBuyerInfoOptions): Promise<void>;\n  interface SetBuyerInfoOptions {\n      /**\n       * Buyer information. If passed empty value - value will be reset\n       * @internal\n       */\n      buyerInfo?: BuyerInfo$3;\n  }\n  /**\n   * Sets recipient info to a draft order.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDER_SET_RECIPIENT_INFO\n   * @adminMethod\n   */\n  function setRecipientInfo(draftOrderId: string, options?: SetRecipientInfoOptions): Promise<void>;\n  interface SetRecipientInfoOptions {\n      /**\n       * Order recipient address and contact details. If passed empty value - value will be reset\n       * @internal\n       */\n      recipientInfo?: AddressWithContact$1;\n  }\n  /**\n   * Sets billing info to a draft order.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDER_SET_BILLING_INFO\n   * @adminMethod\n   */\n  function setBillingInfo(draftOrderId: string, options?: SetBillingInfoOptions): Promise<void>;\n  interface SetBillingInfoOptions {\n      /**\n       * Billing address and contact details. If passed empty value - value will be reset\n       * @internal\n       */\n      billingInfo?: AddressWithContact$1;\n  }\n  /**\n   * Update shipping information on the order.\n   * Allows also to remove the order shipping info.\n   * @param draftOrderId - The draft order id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @requiredField options.shippingOption.cost\n   * @requiredField options.shippingOption.cost.price\n   * @requiredField options.shippingOption.logistics\n   * @permissionId ECOM.DRAFT_ORDERS_SET_SHIPPING\n   * @adminMethod\n   * @deprecated\n   * @replacedBy set-shipping-info\n   * @targetRemovalDate 2024-08-30\n   */\n  function updateShippingInfo(draftOrderId: string, options?: UpdateShippingInfoOptions): Promise<UpdateShippingInfoResponse>;\n  interface UpdateShippingInfoOptions {\n      /** update the shipping option on the order. if not set then the selected shipping is removed */\n      shippingOption?: ShippingOption$2;\n  }\n  /**\n   * Get an order.\n   * When order is in draft status, it's re-estimated and return with latest tax and totals\n   * Automatic discounts and automatic additional fees will reflect the latest prices and eligibility.\n   * Calculation will be based on current draft order content - items, shipping info and eligible discounts and additional fees.\n   * When order is in committed status, it's returned with it's calculation at the moment it was committed.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDERS_READ\n   * @permissionId ECOM.DRAFT_ORDER_READ_ALL_EXTENDED_FIELDS\n   * @adminMethod\n   */\n  function getDraftOrder(draftOrderId: string): Promise<GetDraftOrderResponse>;\n  /**\n   * Checks whether a draft can be created for this order\n   * @param orderId - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.DRAFT_ORDERS_READ\n   * @adminMethod\n   */\n  function getOrderDraftabilityStatus(orderId: string): Promise<GetOrderDraftabilityStatusResponse>;\n  /**\n   * Commit latest changes to the baseline order and control what side-effects will be applied.\n   * Commit cannot be undone or reverted.\n   * Order-edit become closed for editing, however it's kept for reference and can be retrieved.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDERS_COMMIT\n   * @permissionId ECOM.DRAFT_ORDER_READ_ALL_EXTENDED_FIELDS\n   * @adminMethod\n   */\n  function commitDraftOrder(draftOrderId: string, options?: CommitDraftOrderOptions): Promise<CommitDraftOrderResponse>;\n  interface CommitDraftOrderOptions {\n      /** Optional side effects to trigger */\n      commitSettings?: DraftOrderCommitSettings$1;\n      /** Reason for edit, given by user (optional). */\n      reason?: string | null;\n  }\n  /**\n   * Create new order and control what side-effects will be applied\n   * Commit cannot be undone or reverted.\n   * Order-edit become closed for editing, however it's kept for reference and can be retrieved.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDER_CREATE_ORDER_FROM_DRAFT\n   * @permissionId ECOM.DRAFT_ORDER_READ_ALL_EXTENDED_FIELDS\n   * @adminMethod\n   */\n  function createOrderFromDraft(draftOrderId: string, options?: CreateOrderFromDraftOptions): Promise<void>;\n  interface CreateOrderFromDraftOptions {\n      /**\n       * Optional side effects to trigger\n       * @internal\n       */\n      createSettings?: OrderCreateSettings;\n      /**\n       * Reason for order creation, given by user (optional).\n       * @internal\n       */\n      reason?: string | null;\n      /**\n       * Information about the sales channel that submitted this order\n       * @internal\n       */\n      channelInfo?: ChannelInfo$2;\n  }\n  /**\n   * Delete order-edit entity with all pending changes.\n   * Order-edit in status 'COMMITTED' cannot be deleted.\n   * @param draftOrderId - The draft order id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDERS_DELETE\n   * @permissionId ECOM.DRAFT_ORDERS_ADMIN_DELETE\n   * @adminMethod\n   */\n  function deleteDraftOrder(draftOrderId: string): Promise<void>;\n  /**\n   * Query draft orders by order id or by date range or status.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.DRAFT_ORDERS_READ\n   * @adminMethod\n   */\n  function queryDraftOrders(): DraftOrdersQueryBuilder;\n  interface QueryCursorResult$9 {\n      cursors: Cursors$9;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface DraftOrdersQueryResult extends QueryCursorResult$9 {\n      items: DraftOrder[];\n      query: DraftOrdersQueryBuilder;\n      next: () => Promise<DraftOrdersQueryResult>;\n      prev: () => Promise<DraftOrdersQueryResult>;\n  }\n  interface DraftOrdersQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'orderId' | '_createdDate' | '_updatedDate' | 'status', value: any) => DraftOrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'orderId' | '_createdDate' | '_updatedDate' | 'status', value: any) => DraftOrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => DraftOrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => DraftOrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => DraftOrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => DraftOrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'orderId', value: string) => DraftOrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'orderId' | '_createdDate' | '_updatedDate' | 'status', value: any[]) => DraftOrdersQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'orderId' | '_createdDate' | '_updatedDate' | 'status', value: any) => DraftOrdersQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'orderId' | '_createdDate' | '_updatedDate' | 'status', value: boolean) => DraftOrdersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'status'>) => DraftOrdersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'status'>) => DraftOrdersQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => DraftOrdersQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => DraftOrdersQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<DraftOrdersQueryResult>;\n  }\n  /**\n   * Updates extended fields of a DraftOrder\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId ECOM.DRAFT_ORDER_UPDATE_EXTENDED_FIELDS\n   * @permissionId ECOM.DRAFT_ORDER_WRITE_ALL_EXTENDED_FIELDS\n   * @adminMethod\n   */\n  function updateExtendedFields$3(_id: string, namespace: string, options: UpdateExtendedFieldsOptions$3): Promise<UpdateExtendedFieldsResponse$3>;\n  interface UpdateExtendedFieldsOptions$3 {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  /**\n   * Sets tax exemption to a draft order.\n   * @param draftOrderId - Draft order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDER_SET_TAX_EXEMPTION\n   * @adminMethod\n   */\n  function setTaxExemption(draftOrderId: string, options?: SetTaxExemptionOptions): Promise<void>;\n  interface SetTaxExemptionOptions {\n      /**\n       * Whether the draft order is exempt from tax calculations.\n       *\n       * Default: `false`\n       * @internal\n       */\n      taxExempt: boolean | null;\n  }\n  /**\n   * This is a test endpoint to test additional_bindings\n   * @param draftOrderId - Draft order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDERS_READ\n   * @adminMethod\n   */\n  function getDraftEditabilityStatus(draftOrderId: string | null): Promise<GetDraftEditabilityStatusResponse>;\n  /**\n   * Sets business location to a draft order.\n   * @param draftOrderId - Draft order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId ECOM.DRAFT_ORDER_SET_BUSINESS_LOCATION\n   * @adminMethod\n   */\n  function setBusinessLocation(draftOrderId: string, options?: SetBusinessLocationOptions): Promise<void>;\n  interface SetBusinessLocationOptions {\n      /**\n       * Business location.\n       * @internal\n       */\n      businessLocation?: Location$1;\n  }\n  \n  type ecomV1DraftOrder_universal_d_DraftOrder = DraftOrder;\n  type ecomV1DraftOrder_universal_d_ItemDetails = ItemDetails;\n  type ecomV1DraftOrder_universal_d_ItemDetailsChangeTypeOneOf = ItemDetailsChangeTypeOneOf;\n  type ecomV1DraftOrder_universal_d_ShippingDetails = ShippingDetails;\n  type ecomV1DraftOrder_universal_d_ShippingDetailsChangeTypeOneOf = ShippingDetailsChangeTypeOneOf;\n  type ecomV1DraftOrder_universal_d_V1DeliveryLogistics = V1DeliveryLogistics;\n  type ecomV1DraftOrder_universal_d_V1DeliveryLogisticsAddressOneOf = V1DeliveryLogisticsAddressOneOf;\n  type ecomV1DraftOrder_universal_d_V1PickupDetails = V1PickupDetails;\n  type ecomV1DraftOrder_universal_d_PickupDetailsPickupMethod = PickupDetailsPickupMethod;\n  const ecomV1DraftOrder_universal_d_PickupDetailsPickupMethod: typeof PickupDetailsPickupMethod;\n  type ecomV1DraftOrder_universal_d_V1DeliveryTimeSlot = V1DeliveryTimeSlot;\n  type ecomV1DraftOrder_universal_d_V1ShippingPrice = V1ShippingPrice;\n  type ecomV1DraftOrder_universal_d_ShippingChangedDetails = ShippingChangedDetails;\n  type ecomV1DraftOrder_universal_d_AdditionalFeeDetails = AdditionalFeeDetails;\n  type ecomV1DraftOrder_universal_d_DiscountDetails = DiscountDetails;\n  type ecomV1DraftOrder_universal_d_AppliedDiscountDiscountType = AppliedDiscountDiscountType;\n  const ecomV1DraftOrder_universal_d_AppliedDiscountDiscountType: typeof AppliedDiscountDiscountType;\n  type ecomV1DraftOrder_universal_d_EditingStatus = EditingStatus;\n  const ecomV1DraftOrder_universal_d_EditingStatus: typeof EditingStatus;\n  type ecomV1DraftOrder_universal_d_InventoryUpdate = InventoryUpdate;\n  type ecomV1DraftOrder_universal_d_RecipientInfoDetails = RecipientInfoDetails;\n  type ecomV1DraftOrder_universal_d_RecipientInfoDetailsChangeTypeOneOf = RecipientInfoDetailsChangeTypeOneOf;\n  type ecomV1DraftOrder_universal_d_RecipientInfoChangedDetails = RecipientInfoChangedDetails;\n  type ecomV1DraftOrder_universal_d_BuyerDetailsChangeTypeOneOf = BuyerDetailsChangeTypeOneOf;\n  type ecomV1DraftOrder_universal_d_BuyerChangedDetails = BuyerChangedDetails;\n  type ecomV1DraftOrder_universal_d_BillingDetails = BillingDetails;\n  type ecomV1DraftOrder_universal_d_BillingDetailsChangeTypeOneOf = BillingDetailsChangeTypeOneOf;\n  type ecomV1DraftOrder_universal_d_BillingChangedDetails = BillingChangedDetails;\n  type ecomV1DraftOrder_universal_d_BusinessLocationDetails = BusinessLocationDetails;\n  type ecomV1DraftOrder_universal_d_BusinessLocationDetailsChangeTypeOneOf = BusinessLocationDetailsChangeTypeOneOf;\n  type ecomV1DraftOrder_universal_d_BusinessLocationChangedDetails = BusinessLocationChangedDetails;\n  type ecomV1DraftOrder_universal_d_CreateDraftOrderRequest = CreateDraftOrderRequest;\n  type ecomV1DraftOrder_universal_d_CreateDraftOrderResponse = CreateDraftOrderResponse;\n  type ecomV1DraftOrder_universal_d_CalculatedDraftOrder = CalculatedDraftOrder;\n  type ecomV1DraftOrder_universal_d_CreateEmptyDraftOrderRequest = CreateEmptyDraftOrderRequest;\n  type ecomV1DraftOrder_universal_d_CreateEmptyDraftOrderResponse = CreateEmptyDraftOrderResponse;\n  type ecomV1DraftOrder_universal_d_AddLineItemsToDraftOrderRequest = AddLineItemsToDraftOrderRequest;\n  type ecomV1DraftOrder_universal_d_CatalogReferenceLineItem = CatalogReferenceLineItem;\n  type ecomV1DraftOrder_universal_d_CustomLineItem = CustomLineItem;\n  type ecomV1DraftOrder_universal_d_SecuredMedia = SecuredMedia;\n  type ecomV1DraftOrder_universal_d_FileType = FileType;\n  const ecomV1DraftOrder_universal_d_FileType: typeof FileType;\n  type ecomV1DraftOrder_universal_d_AddLineItemsToDraftOrderResponse = AddLineItemsToDraftOrderResponse;\n  type ecomV1DraftOrder_universal_d_UpdateLineItemsRequest = UpdateLineItemsRequest;\n  type ecomV1DraftOrder_universal_d_LineItemChangeDetails = LineItemChangeDetails;\n  type ecomV1DraftOrder_universal_d_UpdateLineItemsResponse = UpdateLineItemsResponse;\n  type ecomV1DraftOrder_universal_d_SetDiscountsRequest = SetDiscountsRequest;\n  type ecomV1DraftOrder_universal_d_IdAndApplied = IdAndApplied;\n  type ecomV1DraftOrder_universal_d_SetDiscountsResponse = SetDiscountsResponse;\n  type ecomV1DraftOrder_universal_d_CreateCustomDiscountsRequest = CreateCustomDiscountsRequest;\n  type ecomV1DraftOrder_universal_d_DiscountOption = DiscountOption;\n  type ecomV1DraftOrder_universal_d_DiscountOptionDiscountAmountOneOf = DiscountOptionDiscountAmountOneOf;\n  type ecomV1DraftOrder_universal_d_CreateCustomDiscountsResponse = CreateCustomDiscountsResponse;\n  type ecomV1DraftOrder_universal_d_DeleteCustomDiscountsRequest = DeleteCustomDiscountsRequest;\n  type ecomV1DraftOrder_universal_d_DeleteCustomDiscountsResponse = DeleteCustomDiscountsResponse;\n  type ecomV1DraftOrder_universal_d_SetAdditionalFeesRequest = SetAdditionalFeesRequest;\n  type ecomV1DraftOrder_universal_d_SetAdditionalFeesResponse = SetAdditionalFeesResponse;\n  type ecomV1DraftOrder_universal_d_CreateCustomAdditionalFeesRequest = CreateCustomAdditionalFeesRequest;\n  type ecomV1DraftOrder_universal_d_AdditionalFeeOption = AdditionalFeeOption;\n  type ecomV1DraftOrder_universal_d_CreateCustomAdditionalFeesResponse = CreateCustomAdditionalFeesResponse;\n  type ecomV1DraftOrder_universal_d_DeleteCustomAdditionalFeesRequest = DeleteCustomAdditionalFeesRequest;\n  type ecomV1DraftOrder_universal_d_DeleteCustomAdditionalFeesResponse = DeleteCustomAdditionalFeesResponse;\n  type ecomV1DraftOrder_universal_d_SetShippingInfoRequest = SetShippingInfoRequest;\n  type ecomV1DraftOrder_universal_d_SetShippingInfoResponse = SetShippingInfoResponse;\n  type ecomV1DraftOrder_universal_d_SetBuyerInfoRequest = SetBuyerInfoRequest;\n  type ecomV1DraftOrder_universal_d_SetBuyerInfoResponse = SetBuyerInfoResponse;\n  type ecomV1DraftOrder_universal_d_SetRecipientInfoRequest = SetRecipientInfoRequest;\n  type ecomV1DraftOrder_universal_d_SetRecipientInfoResponse = SetRecipientInfoResponse;\n  type ecomV1DraftOrder_universal_d_SetBillingInfoRequest = SetBillingInfoRequest;\n  type ecomV1DraftOrder_universal_d_SetBillingInfoResponse = SetBillingInfoResponse;\n  type ecomV1DraftOrder_universal_d_UpdateShippingInfoRequest = UpdateShippingInfoRequest;\n  type ecomV1DraftOrder_universal_d_UpdateShippingInfoResponse = UpdateShippingInfoResponse;\n  type ecomV1DraftOrder_universal_d_GetDraftOrderRequest = GetDraftOrderRequest;\n  type ecomV1DraftOrder_universal_d_GetDraftOrderResponse = GetDraftOrderResponse;\n  type ecomV1DraftOrder_universal_d_GetOrderDraftabilityStatusRequest = GetOrderDraftabilityStatusRequest;\n  type ecomV1DraftOrder_universal_d_GetOrderDraftabilityStatusResponse = GetOrderDraftabilityStatusResponse;\n  type ecomV1DraftOrder_universal_d_NonDraftableReason = NonDraftableReason;\n  const ecomV1DraftOrder_universal_d_NonDraftableReason: typeof NonDraftableReason;\n  type ecomV1DraftOrder_universal_d_CommitDraftOrderRequest = CommitDraftOrderRequest;\n  type ecomV1DraftOrder_universal_d_CommitDraftOrderResponse = CommitDraftOrderResponse;\n  type ecomV1DraftOrder_universal_d_V1CreatedBy = V1CreatedBy;\n  type ecomV1DraftOrder_universal_d_V1CreatedByStringOneOf = V1CreatedByStringOneOf;\n  type ecomV1DraftOrder_universal_d_V1BalanceSummary = V1BalanceSummary;\n  type ecomV1DraftOrder_universal_d_CreateOrderFromDraftRequest = CreateOrderFromDraftRequest;\n  type ecomV1DraftOrder_universal_d_OrderCreateSettings = OrderCreateSettings;\n  type ecomV1DraftOrder_universal_d_CreateOrderFromDraftResponse = CreateOrderFromDraftResponse;\n  type ecomV1DraftOrder_universal_d_DeleteDraftOrderRequest = DeleteDraftOrderRequest;\n  type ecomV1DraftOrder_universal_d_DeleteDraftOrderResponse = DeleteDraftOrderResponse;\n  type ecomV1DraftOrder_universal_d_QueryDraftOrdersRequest = QueryDraftOrdersRequest;\n  type ecomV1DraftOrder_universal_d_QueryDraftOrdersResponse = QueryDraftOrdersResponse;\n  type ecomV1DraftOrder_universal_d_SetTaxExemptionRequest = SetTaxExemptionRequest;\n  type ecomV1DraftOrder_universal_d_SetTaxExemptionResponse = SetTaxExemptionResponse;\n  type ecomV1DraftOrder_universal_d_GetDraftEditabilityStatusRequest = GetDraftEditabilityStatusRequest;\n  type ecomV1DraftOrder_universal_d_GetDraftEditabilityStatusResponse = GetDraftEditabilityStatusResponse;\n  type ecomV1DraftOrder_universal_d_SetBusinessLocationRequest = SetBusinessLocationRequest;\n  type ecomV1DraftOrder_universal_d_SetBusinessLocationResponse = SetBusinessLocationResponse;\n  const ecomV1DraftOrder_universal_d_createDraftOrder: typeof createDraftOrder;\n  type ecomV1DraftOrder_universal_d_CreateDraftOrderOptions = CreateDraftOrderOptions;\n  const ecomV1DraftOrder_universal_d_createEmptyDraftOrder: typeof createEmptyDraftOrder;\n  const ecomV1DraftOrder_universal_d_addLineItemsToDraftOrder: typeof addLineItemsToDraftOrder;\n  type ecomV1DraftOrder_universal_d_AddLineItemsToDraftOrderOptions = AddLineItemsToDraftOrderOptions;\n  const ecomV1DraftOrder_universal_d_updateLineItems: typeof updateLineItems;\n  type ecomV1DraftOrder_universal_d_UpdateLineItemsOptions = UpdateLineItemsOptions;\n  const ecomV1DraftOrder_universal_d_setDiscounts: typeof setDiscounts;\n  const ecomV1DraftOrder_universal_d_createCustomDiscounts: typeof createCustomDiscounts;\n  type ecomV1DraftOrder_universal_d_CreateCustomDiscountsOptions = CreateCustomDiscountsOptions;\n  const ecomV1DraftOrder_universal_d_deleteCustomDiscounts: typeof deleteCustomDiscounts;\n  const ecomV1DraftOrder_universal_d_setAdditionalFees: typeof setAdditionalFees;\n  const ecomV1DraftOrder_universal_d_createCustomAdditionalFees: typeof createCustomAdditionalFees;\n  type ecomV1DraftOrder_universal_d_CreateCustomAdditionalFeesOptions = CreateCustomAdditionalFeesOptions;\n  const ecomV1DraftOrder_universal_d_deleteCustomAdditionalFees: typeof deleteCustomAdditionalFees;\n  const ecomV1DraftOrder_universal_d_setShippingInfo: typeof setShippingInfo;\n  type ecomV1DraftOrder_universal_d_SetShippingInfoOptions = SetShippingInfoOptions;\n  const ecomV1DraftOrder_universal_d_setBuyerInfo: typeof setBuyerInfo;\n  type ecomV1DraftOrder_universal_d_SetBuyerInfoOptions = SetBuyerInfoOptions;\n  const ecomV1DraftOrder_universal_d_setRecipientInfo: typeof setRecipientInfo;\n  type ecomV1DraftOrder_universal_d_SetRecipientInfoOptions = SetRecipientInfoOptions;\n  const ecomV1DraftOrder_universal_d_setBillingInfo: typeof setBillingInfo;\n  type ecomV1DraftOrder_universal_d_SetBillingInfoOptions = SetBillingInfoOptions;\n  const ecomV1DraftOrder_universal_d_updateShippingInfo: typeof updateShippingInfo;\n  type ecomV1DraftOrder_universal_d_UpdateShippingInfoOptions = UpdateShippingInfoOptions;\n  const ecomV1DraftOrder_universal_d_getDraftOrder: typeof getDraftOrder;\n  const ecomV1DraftOrder_universal_d_getOrderDraftabilityStatus: typeof getOrderDraftabilityStatus;\n  const ecomV1DraftOrder_universal_d_commitDraftOrder: typeof commitDraftOrder;\n  type ecomV1DraftOrder_universal_d_CommitDraftOrderOptions = CommitDraftOrderOptions;\n  const ecomV1DraftOrder_universal_d_createOrderFromDraft: typeof createOrderFromDraft;\n  type ecomV1DraftOrder_universal_d_CreateOrderFromDraftOptions = CreateOrderFromDraftOptions;\n  const ecomV1DraftOrder_universal_d_deleteDraftOrder: typeof deleteDraftOrder;\n  const ecomV1DraftOrder_universal_d_queryDraftOrders: typeof queryDraftOrders;\n  type ecomV1DraftOrder_universal_d_DraftOrdersQueryResult = DraftOrdersQueryResult;\n  type ecomV1DraftOrder_universal_d_DraftOrdersQueryBuilder = DraftOrdersQueryBuilder;\n  const ecomV1DraftOrder_universal_d_setTaxExemption: typeof setTaxExemption;\n  type ecomV1DraftOrder_universal_d_SetTaxExemptionOptions = SetTaxExemptionOptions;\n  const ecomV1DraftOrder_universal_d_getDraftEditabilityStatus: typeof getDraftEditabilityStatus;\n  const ecomV1DraftOrder_universal_d_setBusinessLocation: typeof setBusinessLocation;\n  type ecomV1DraftOrder_universal_d_SetBusinessLocationOptions = SetBusinessLocationOptions;\n  namespace ecomV1DraftOrder_universal_d {\n    export {\n      ecomV1DraftOrder_universal_d_DraftOrder as DraftOrder,\n      ecomV1DraftOrder_universal_d_ItemDetails as ItemDetails,\n      ecomV1DraftOrder_universal_d_ItemDetailsChangeTypeOneOf as ItemDetailsChangeTypeOneOf,\n      Price$4 as Price,\n      PriceDescription$1 as PriceDescription,\n      OrderLineItem$1 as OrderLineItem,\n      ProductName$1 as ProductName,\n      CatalogReference$4 as CatalogReference,\n      DescriptionLine$1 as DescriptionLine,\n      DescriptionLineValueOneOf$1 as DescriptionLineValueOneOf,\n      DescriptionLineDescriptionLineValueOneOf$1 as DescriptionLineDescriptionLineValueOneOf,\n      DescriptionLineName$1 as DescriptionLineName,\n      PlainTextValue$1 as PlainTextValue,\n      Color$1 as Color,\n      DescriptionLineType$1 as DescriptionLineType,\n      FocalPoint$1 as FocalPoint,\n      PhysicalProperties$3 as PhysicalProperties,\n      ItemType$2 as ItemType,\n      ItemTypeItemTypeDataOneOf$2 as ItemTypeItemTypeDataOneOf,\n      ItemTypeItemType$2 as ItemTypeItemType,\n      PaymentOptionType$2 as PaymentOptionType,\n      ItemTaxFullDetails$2 as ItemTaxFullDetails,\n      LineItemTaxInfo$1 as LineItemTaxInfo,\n      LineItemTaxBreakdown$1 as LineItemTaxBreakdown,\n      JurisdictionType$2 as JurisdictionType,\n      DigitalFile$2 as DigitalFile,\n      SubscriptionInfo$2 as SubscriptionInfo,\n      SubscriptionSettings$3 as SubscriptionSettings,\n      SubscriptionFrequency$3 as SubscriptionFrequency,\n      LocationAndQuantity$1 as LocationAndQuantity,\n      TaxableAddress$2 as TaxableAddress,\n      TaxableAddressTaxableAddressDataOneOf$2 as TaxableAddressTaxableAddressDataOneOf,\n      TaxableAddressType$2 as TaxableAddressType,\n      ExtendedFields$5 as ExtendedFields,\n      ItemChangedDetails$1 as ItemChangedDetails,\n      ecomV1DraftOrder_universal_d_ShippingDetails as ShippingDetails,\n      ecomV1DraftOrder_universal_d_ShippingDetailsChangeTypeOneOf as ShippingDetailsChangeTypeOneOf,\n      ShippingInformation$2 as ShippingInformation,\n      ecomV1DraftOrder_universal_d_V1DeliveryLogistics as V1DeliveryLogistics,\n      ecomV1DraftOrder_universal_d_V1DeliveryLogisticsAddressOneOf as V1DeliveryLogisticsAddressOneOf,\n      AddressWithContact$1 as AddressWithContact,\n      Address$6 as Address,\n      StreetAddress$5 as StreetAddress,\n      AddressLocation$5 as AddressLocation,\n      FullAddressContactDetails$2 as FullAddressContactDetails,\n      VatId$3 as VatId,\n      VatType$3 as VatType,\n      ecomV1DraftOrder_universal_d_V1PickupDetails as V1PickupDetails,\n      PickupAddress$2 as PickupAddress,\n      ecomV1DraftOrder_universal_d_PickupDetailsPickupMethod as PickupDetailsPickupMethod,\n      ecomV1DraftOrder_universal_d_V1DeliveryTimeSlot as V1DeliveryTimeSlot,\n      ecomV1DraftOrder_universal_d_V1ShippingPrice as V1ShippingPrice,\n      ShippingRegion$2 as ShippingRegion,\n      ecomV1DraftOrder_universal_d_ShippingChangedDetails as ShippingChangedDetails,\n      BuyerInfo$3 as BuyerInfo,\n      BuyerInfoIdOneOf$1 as BuyerInfoIdOneOf,\n      ecomV1DraftOrder_universal_d_AdditionalFeeDetails as AdditionalFeeDetails,\n      AdditionalFee$2 as AdditionalFee,\n      TaxDetails$1 as TaxDetails,\n      SourceType$1 as SourceType,\n      ecomV1DraftOrder_universal_d_DiscountDetails as DiscountDetails,\n      AppliedDiscount$2 as AppliedDiscount,\n      AppliedDiscountDiscountSourceOneOf$2 as AppliedDiscountDiscountSourceOneOf,\n      ecomV1DraftOrder_universal_d_AppliedDiscountDiscountType as AppliedDiscountDiscountType,\n      Coupon$2 as Coupon,\n      MerchantDiscount$2 as MerchantDiscount,\n      MerchantDiscountMerchantDiscountReasonOneOf$1 as MerchantDiscountMerchantDiscountReasonOneOf,\n      DiscountReason$1 as DiscountReason,\n      DiscountRule$2 as DiscountRule,\n      DiscountRuleName$2 as DiscountRuleName,\n      LineItemDiscount$2 as LineItemDiscount,\n      CreatedBy$1 as CreatedBy,\n      CreatedByStringOneOf$1 as CreatedByStringOneOf,\n      ecomV1DraftOrder_universal_d_EditingStatus as EditingStatus,\n      WeightUnit$4 as WeightUnit,\n      PriceSummary$2 as PriceSummary,\n      TaxSummary$2 as TaxSummary,\n      BalanceSummary$1 as BalanceSummary,\n      Balance$1 as Balance,\n      DraftOrderCommitSettings$1 as DraftOrderCommitSettings,\n      ecomV1DraftOrder_universal_d_InventoryUpdate as InventoryUpdate,\n      ecomV1DraftOrder_universal_d_RecipientInfoDetails as RecipientInfoDetails,\n      ecomV1DraftOrder_universal_d_RecipientInfoDetailsChangeTypeOneOf as RecipientInfoDetailsChangeTypeOneOf,\n      ecomV1DraftOrder_universal_d_RecipientInfoChangedDetails as RecipientInfoChangedDetails,\n      OrderTaxInfo$1 as OrderTaxInfo,\n      OrderTaxBreakdown$1 as OrderTaxBreakdown,\n      BuyerDetails$1 as BuyerDetails,\n      ecomV1DraftOrder_universal_d_BuyerDetailsChangeTypeOneOf as BuyerDetailsChangeTypeOneOf,\n      ecomV1DraftOrder_universal_d_BuyerChangedDetails as BuyerChangedDetails,\n      ecomV1DraftOrder_universal_d_BillingDetails as BillingDetails,\n      ecomV1DraftOrder_universal_d_BillingDetailsChangeTypeOneOf as BillingDetailsChangeTypeOneOf,\n      ecomV1DraftOrder_universal_d_BillingChangedDetails as BillingChangedDetails,\n      ecomV1DraftOrder_universal_d_BusinessLocationDetails as BusinessLocationDetails,\n      ecomV1DraftOrder_universal_d_BusinessLocationDetailsChangeTypeOneOf as BusinessLocationDetailsChangeTypeOneOf,\n      Location$1 as Location,\n      ecomV1DraftOrder_universal_d_BusinessLocationChangedDetails as BusinessLocationChangedDetails,\n      ecomV1DraftOrder_universal_d_CreateDraftOrderRequest as CreateDraftOrderRequest,\n      ecomV1DraftOrder_universal_d_CreateDraftOrderResponse as CreateDraftOrderResponse,\n      ecomV1DraftOrder_universal_d_CalculatedDraftOrder as CalculatedDraftOrder,\n      ShippingOption$2 as ShippingOption,\n      DeliveryLogistics$3 as DeliveryLogistics,\n      PickupDetails$4 as PickupDetails,\n      PickupMethod$3 as PickupMethod,\n      DeliveryTimeSlot$3 as DeliveryTimeSlot,\n      ShippingPrice$2 as ShippingPrice,\n      CalculationErrors$1 as CalculationErrors,\n      CalculationErrorsShippingCalculationErrorOneOf$1 as CalculationErrorsShippingCalculationErrorOneOf,\n      Details$2 as Details,\n      DetailsKindOneOf$2 as DetailsKindOneOf,\n      ApplicationError$6 as ApplicationError,\n      ValidationError$2 as ValidationError,\n      RuleType$2 as RuleType,\n      FieldViolation$2 as FieldViolation,\n      SystemError$2 as SystemError,\n      CarrierErrors$1 as CarrierErrors,\n      CarrierError$2 as CarrierError,\n      ecomV1DraftOrder_universal_d_CreateEmptyDraftOrderRequest as CreateEmptyDraftOrderRequest,\n      ecomV1DraftOrder_universal_d_CreateEmptyDraftOrderResponse as CreateEmptyDraftOrderResponse,\n      ecomV1DraftOrder_universal_d_AddLineItemsToDraftOrderRequest as AddLineItemsToDraftOrderRequest,\n      ecomV1DraftOrder_universal_d_CatalogReferenceLineItem as CatalogReferenceLineItem,\n      ecomV1DraftOrder_universal_d_CustomLineItem as CustomLineItem,\n      ecomV1DraftOrder_universal_d_SecuredMedia as SecuredMedia,\n      ecomV1DraftOrder_universal_d_FileType as FileType,\n      ecomV1DraftOrder_universal_d_AddLineItemsToDraftOrderResponse as AddLineItemsToDraftOrderResponse,\n      ecomV1DraftOrder_universal_d_UpdateLineItemsRequest as UpdateLineItemsRequest,\n      ecomV1DraftOrder_universal_d_LineItemChangeDetails as LineItemChangeDetails,\n      ecomV1DraftOrder_universal_d_UpdateLineItemsResponse as UpdateLineItemsResponse,\n      ecomV1DraftOrder_universal_d_SetDiscountsRequest as SetDiscountsRequest,\n      ecomV1DraftOrder_universal_d_IdAndApplied as IdAndApplied,\n      ecomV1DraftOrder_universal_d_SetDiscountsResponse as SetDiscountsResponse,\n      ecomV1DraftOrder_universal_d_CreateCustomDiscountsRequest as CreateCustomDiscountsRequest,\n      ecomV1DraftOrder_universal_d_DiscountOption as DiscountOption,\n      ecomV1DraftOrder_universal_d_DiscountOptionDiscountAmountOneOf as DiscountOptionDiscountAmountOneOf,\n      DiscountType$2 as DiscountType,\n      ecomV1DraftOrder_universal_d_CreateCustomDiscountsResponse as CreateCustomDiscountsResponse,\n      ecomV1DraftOrder_universal_d_DeleteCustomDiscountsRequest as DeleteCustomDiscountsRequest,\n      ecomV1DraftOrder_universal_d_DeleteCustomDiscountsResponse as DeleteCustomDiscountsResponse,\n      ecomV1DraftOrder_universal_d_SetAdditionalFeesRequest as SetAdditionalFeesRequest,\n      ecomV1DraftOrder_universal_d_SetAdditionalFeesResponse as SetAdditionalFeesResponse,\n      ecomV1DraftOrder_universal_d_CreateCustomAdditionalFeesRequest as CreateCustomAdditionalFeesRequest,\n      ecomV1DraftOrder_universal_d_AdditionalFeeOption as AdditionalFeeOption,\n      ecomV1DraftOrder_universal_d_CreateCustomAdditionalFeesResponse as CreateCustomAdditionalFeesResponse,\n      ecomV1DraftOrder_universal_d_DeleteCustomAdditionalFeesRequest as DeleteCustomAdditionalFeesRequest,\n      ecomV1DraftOrder_universal_d_DeleteCustomAdditionalFeesResponse as DeleteCustomAdditionalFeesResponse,\n      ecomV1DraftOrder_universal_d_SetShippingInfoRequest as SetShippingInfoRequest,\n      ecomV1DraftOrder_universal_d_SetShippingInfoResponse as SetShippingInfoResponse,\n      ecomV1DraftOrder_universal_d_SetBuyerInfoRequest as SetBuyerInfoRequest,\n      ecomV1DraftOrder_universal_d_SetBuyerInfoResponse as SetBuyerInfoResponse,\n      ecomV1DraftOrder_universal_d_SetRecipientInfoRequest as SetRecipientInfoRequest,\n      ecomV1DraftOrder_universal_d_SetRecipientInfoResponse as SetRecipientInfoResponse,\n      ecomV1DraftOrder_universal_d_SetBillingInfoRequest as SetBillingInfoRequest,\n      ecomV1DraftOrder_universal_d_SetBillingInfoResponse as SetBillingInfoResponse,\n      ecomV1DraftOrder_universal_d_UpdateShippingInfoRequest as UpdateShippingInfoRequest,\n      ecomV1DraftOrder_universal_d_UpdateShippingInfoResponse as UpdateShippingInfoResponse,\n      ecomV1DraftOrder_universal_d_GetDraftOrderRequest as GetDraftOrderRequest,\n      ecomV1DraftOrder_universal_d_GetDraftOrderResponse as GetDraftOrderResponse,\n      ecomV1DraftOrder_universal_d_GetOrderDraftabilityStatusRequest as GetOrderDraftabilityStatusRequest,\n      ecomV1DraftOrder_universal_d_GetOrderDraftabilityStatusResponse as GetOrderDraftabilityStatusResponse,\n      ecomV1DraftOrder_universal_d_NonDraftableReason as NonDraftableReason,\n      ecomV1DraftOrder_universal_d_CommitDraftOrderRequest as CommitDraftOrderRequest,\n      ecomV1DraftOrder_universal_d_CommitDraftOrderResponse as CommitDraftOrderResponse,\n      Order$2 as Order,\n      PaymentStatus$2 as PaymentStatus,\n      FulfillmentStatus$3 as FulfillmentStatus,\n      OrderStatus$1 as OrderStatus,\n      Activity$2 as Activity,\n      ActivityContentOneOf$1 as ActivityContentOneOf,\n      CustomActivity$1 as CustomActivity,\n      MerchantComment$1 as MerchantComment,\n      OrderRefunded$2 as OrderRefunded,\n      OrderCreatedFromExchange$1 as OrderCreatedFromExchange,\n      NewExchangeOrderCreated$1 as NewExchangeOrderCreated,\n      LineItemExchangeData$1 as LineItemExchangeData,\n      DraftOrderChangesApplied$1 as DraftOrderChangesApplied,\n      OrderChange$1 as OrderChange,\n      OrderChangeValueOneOf$1 as OrderChangeValueOneOf,\n      LineItemChanges$1 as LineItemChanges,\n      LineItemQuantityChange$1 as LineItemQuantityChange,\n      LineItemQuantityChangeType$1 as LineItemQuantityChangeType,\n      LineItemPriceChange$1 as LineItemPriceChange,\n      ManagedLineItem$1 as ManagedLineItem,\n      ManagedDiscount$1 as ManagedDiscount,\n      TranslatedValue$1 as TranslatedValue,\n      LineItemAmount$1 as LineItemAmount,\n      ManagedAdditionalFee$1 as ManagedAdditionalFee,\n      TotalPriceChange$1 as TotalPriceChange,\n      ShippingInformationChange$1 as ShippingInformationChange,\n      ShippingInformationChangeShippingInformation$1 as ShippingInformationChangeShippingInformation,\n      SavedPaymentMethod$1 as SavedPaymentMethod,\n      AuthorizedPaymentCreated$1 as AuthorizedPaymentCreated,\n      AuthorizedPaymentCaptured$1 as AuthorizedPaymentCaptured,\n      AuthorizedPaymentVoided$1 as AuthorizedPaymentVoided,\n      RefundInitiated$1 as RefundInitiated,\n      RefundedPayment$1 as RefundedPayment,\n      RefundedPaymentKindOneOf$1 as RefundedPaymentKindOneOf,\n      RegularPaymentRefund$1 as RegularPaymentRefund,\n      GiftCardPaymentRefund$1 as GiftCardPaymentRefund,\n      MembershipPaymentRefund$1 as MembershipPaymentRefund,\n      PaymentRefunded$1 as PaymentRefunded,\n      PaymentRefundFailed$1 as PaymentRefundFailed,\n      RefundedAsStoreCredit$1 as RefundedAsStoreCredit,\n      PaymentPending$1 as PaymentPending,\n      PaymentPendingPaymentDetailsOneOf$1 as PaymentPendingPaymentDetailsOneOf,\n      RegularPayment$1 as RegularPayment,\n      RegularPaymentPaymentMethodDetailsOneOf$1 as RegularPaymentPaymentMethodDetailsOneOf,\n      CreditCardDetails$1 as CreditCardDetails,\n      PaymentCanceled$1 as PaymentCanceled,\n      PaymentCanceledPaymentDetailsOneOf$1 as PaymentCanceledPaymentDetailsOneOf,\n      PaymentDeclined$1 as PaymentDeclined,\n      PaymentDeclinedPaymentDetailsOneOf$1 as PaymentDeclinedPaymentDetailsOneOf,\n      ActivityType$2 as ActivityType,\n      AttributionSource$1 as AttributionSource,\n      ecomV1DraftOrder_universal_d_V1CreatedBy as V1CreatedBy,\n      ecomV1DraftOrder_universal_d_V1CreatedByStringOneOf as V1CreatedByStringOneOf,\n      ChannelInfo$2 as ChannelInfo,\n      ChannelType$2 as ChannelType,\n      CustomField$2 as CustomField,\n      ecomV1DraftOrder_universal_d_V1BalanceSummary as V1BalanceSummary,\n      FulfillmentStatusesAggregate$1 as FulfillmentStatusesAggregate,\n      Tags$1 as Tags,\n      TagList$1 as TagList,\n      ecomV1DraftOrder_universal_d_CreateOrderFromDraftRequest as CreateOrderFromDraftRequest,\n      ecomV1DraftOrder_universal_d_OrderCreateSettings as OrderCreateSettings,\n      OrderCreateNotifications$1 as OrderCreateNotifications,\n      ecomV1DraftOrder_universal_d_CreateOrderFromDraftResponse as CreateOrderFromDraftResponse,\n      ecomV1DraftOrder_universal_d_DeleteDraftOrderRequest as DeleteDraftOrderRequest,\n      ecomV1DraftOrder_universal_d_DeleteDraftOrderResponse as DeleteDraftOrderResponse,\n      ecomV1DraftOrder_universal_d_QueryDraftOrdersRequest as QueryDraftOrdersRequest,\n      CursorQuery$5 as CursorQuery,\n      CursorQueryPagingMethodOneOf$5 as CursorQueryPagingMethodOneOf,\n      Sorting$9 as Sorting,\n      SortOrder$9 as SortOrder,\n      CursorPaging$9 as CursorPaging,\n      ecomV1DraftOrder_universal_d_QueryDraftOrdersResponse as QueryDraftOrdersResponse,\n      CursorPagingMetadata$8 as CursorPagingMetadata,\n      Cursors$9 as Cursors,\n      UpdateExtendedFieldsRequest$3 as UpdateExtendedFieldsRequest,\n      UpdateExtendedFieldsResponse$3 as UpdateExtendedFieldsResponse,\n      ecomV1DraftOrder_universal_d_SetTaxExemptionRequest as SetTaxExemptionRequest,\n      ecomV1DraftOrder_universal_d_SetTaxExemptionResponse as SetTaxExemptionResponse,\n      ecomV1DraftOrder_universal_d_GetDraftEditabilityStatusRequest as GetDraftEditabilityStatusRequest,\n      ecomV1DraftOrder_universal_d_GetDraftEditabilityStatusResponse as GetDraftEditabilityStatusResponse,\n      ecomV1DraftOrder_universal_d_SetBusinessLocationRequest as SetBusinessLocationRequest,\n      ecomV1DraftOrder_universal_d_SetBusinessLocationResponse as SetBusinessLocationResponse,\n      DomainEvent$c as DomainEvent,\n      DomainEventBodyOneOf$c as DomainEventBodyOneOf,\n      EntityCreatedEvent$c as EntityCreatedEvent,\n      RestoreInfo$c as RestoreInfo,\n      EntityUpdatedEvent$c as EntityUpdatedEvent,\n      EntityDeletedEvent$c as EntityDeletedEvent,\n      ActionEvent$c as ActionEvent,\n      MessageEnvelope$b as MessageEnvelope,\n      IdentificationData$c as IdentificationData,\n      IdentificationDataIdOneOf$c as IdentificationDataIdOneOf,\n      WebhookIdentityType$b as WebhookIdentityType,\n      ecomV1DraftOrder_universal_d_createDraftOrder as createDraftOrder,\n      ecomV1DraftOrder_universal_d_CreateDraftOrderOptions as CreateDraftOrderOptions,\n      ecomV1DraftOrder_universal_d_createEmptyDraftOrder as createEmptyDraftOrder,\n      ecomV1DraftOrder_universal_d_addLineItemsToDraftOrder as addLineItemsToDraftOrder,\n      ecomV1DraftOrder_universal_d_AddLineItemsToDraftOrderOptions as AddLineItemsToDraftOrderOptions,\n      ecomV1DraftOrder_universal_d_updateLineItems as updateLineItems,\n      ecomV1DraftOrder_universal_d_UpdateLineItemsOptions as UpdateLineItemsOptions,\n      ecomV1DraftOrder_universal_d_setDiscounts as setDiscounts,\n      ecomV1DraftOrder_universal_d_createCustomDiscounts as createCustomDiscounts,\n      ecomV1DraftOrder_universal_d_CreateCustomDiscountsOptions as CreateCustomDiscountsOptions,\n      ecomV1DraftOrder_universal_d_deleteCustomDiscounts as deleteCustomDiscounts,\n      ecomV1DraftOrder_universal_d_setAdditionalFees as setAdditionalFees,\n      ecomV1DraftOrder_universal_d_createCustomAdditionalFees as createCustomAdditionalFees,\n      ecomV1DraftOrder_universal_d_CreateCustomAdditionalFeesOptions as CreateCustomAdditionalFeesOptions,\n      ecomV1DraftOrder_universal_d_deleteCustomAdditionalFees as deleteCustomAdditionalFees,\n      ecomV1DraftOrder_universal_d_setShippingInfo as setShippingInfo,\n      ecomV1DraftOrder_universal_d_SetShippingInfoOptions as SetShippingInfoOptions,\n      ecomV1DraftOrder_universal_d_setBuyerInfo as setBuyerInfo,\n      ecomV1DraftOrder_universal_d_SetBuyerInfoOptions as SetBuyerInfoOptions,\n      ecomV1DraftOrder_universal_d_setRecipientInfo as setRecipientInfo,\n      ecomV1DraftOrder_universal_d_SetRecipientInfoOptions as SetRecipientInfoOptions,\n      ecomV1DraftOrder_universal_d_setBillingInfo as setBillingInfo,\n      ecomV1DraftOrder_universal_d_SetBillingInfoOptions as SetBillingInfoOptions,\n      ecomV1DraftOrder_universal_d_updateShippingInfo as updateShippingInfo,\n      ecomV1DraftOrder_universal_d_UpdateShippingInfoOptions as UpdateShippingInfoOptions,\n      ecomV1DraftOrder_universal_d_getDraftOrder as getDraftOrder,\n      ecomV1DraftOrder_universal_d_getOrderDraftabilityStatus as getOrderDraftabilityStatus,\n      ecomV1DraftOrder_universal_d_commitDraftOrder as commitDraftOrder,\n      ecomV1DraftOrder_universal_d_CommitDraftOrderOptions as CommitDraftOrderOptions,\n      ecomV1DraftOrder_universal_d_createOrderFromDraft as createOrderFromDraft,\n      ecomV1DraftOrder_universal_d_CreateOrderFromDraftOptions as CreateOrderFromDraftOptions,\n      ecomV1DraftOrder_universal_d_deleteDraftOrder as deleteDraftOrder,\n      ecomV1DraftOrder_universal_d_queryDraftOrders as queryDraftOrders,\n      ecomV1DraftOrder_universal_d_DraftOrdersQueryResult as DraftOrdersQueryResult,\n      ecomV1DraftOrder_universal_d_DraftOrdersQueryBuilder as DraftOrdersQueryBuilder,\n      updateExtendedFields$3 as updateExtendedFields,\n      UpdateExtendedFieldsOptions$3 as UpdateExtendedFieldsOptions,\n      ecomV1DraftOrder_universal_d_setTaxExemption as setTaxExemption,\n      ecomV1DraftOrder_universal_d_SetTaxExemptionOptions as SetTaxExemptionOptions,\n      ecomV1DraftOrder_universal_d_getDraftEditabilityStatus as getDraftEditabilityStatus,\n      ecomV1DraftOrder_universal_d_setBusinessLocation as setBusinessLocation,\n      ecomV1DraftOrder_universal_d_SetBusinessLocationOptions as SetBusinessLocationOptions,\n    };\n  }\n  \n  interface OrderWithFulfillments {\n      /** Order ID. */\n      orderId?: string;\n      /** Fulfillments associated with the order. */\n      fulfillments?: Fulfillment$1[];\n  }\n  /** for now, this is a sub-object of Orders, so can refer to order line items by id. */\n  interface Fulfillment$1 extends FulfillmentFulfillmentInfoOneOf {\n      /** Tracking info. */\n      trackingInfo?: FulfillmentTrackingInfo$1;\n      /** Custom fulfillment info. */\n      customInfo?: CustomFulfillmentInfo;\n      /**\n       * Fulfillment ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Fulfillment creation date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Line items being fulfilled. */\n      lineItems?: FulfillmentLineItem$1[];\n      /**\n       * Fulfillment status.\n       *\n       * Supported values:\n       * + `\"Pending\"`\n       * + `\"Accepted\"`\n       * + `\"Ready\"`\n       * + `\"In_Delivery\"`\n       * + `\"Fulfilled\"`\n       */\n      status?: string | null;\n      /** Fulfillment handling complete. */\n      completed?: boolean | null;\n  }\n  /** @oneof */\n  interface FulfillmentFulfillmentInfoOneOf {\n      /** Tracking info. */\n      trackingInfo?: FulfillmentTrackingInfo$1;\n      /** Custom fulfillment info. */\n      customInfo?: CustomFulfillmentInfo;\n  }\n  interface FulfillmentLineItem$1 {\n      /** Line item ID (mirrors the ID of the order line item). */\n      _id?: string;\n      /**\n       * Line item quantity.\n       * * If this property isn't passed on creation, it defaults to the number of items not already linked to a fulfillment.\n       * * If the order does not have the requested quantity of line items available to add to this fulfillment, the fulfillment will not be created and an error is returned.\n       *\n       * Min: `1`\n       * Max: `100000`\n       */\n      quantity?: number | null;\n  }\n  interface FulfillmentTrackingInfo$1 {\n      /** Shipping/delivery tracking number. */\n      trackingNumber?: string | null;\n      /**\n       * Shipping provider. Using one of the following shipping providers will allow for auto-filling the tracking link:\n       * * `'fedex'`\n       * * `'ups'`\n       * * `'usps'`\n       * * `'dhl'`\n       * * `'canadaPost'`\n       */\n      shippingProvider?: string | null;\n      /** Tracking link. Auto-filled if a predefined shipping provider is used, otherwise provided on creation. */\n      trackingLink?: string | null;\n  }\n  interface CustomFulfillmentInfo {\n      /** Custom fulfillment info in key:value form. */\n      fieldsData?: Record<string, string>;\n  }\n  interface FulfillmentCreated {\n      /** Order ID (auto generated upon order creation). */\n      orderId?: string;\n      /** ID of the newly created fulfillment. */\n      fulfillmentId?: string;\n      /** Fulfillment creation date and time. */\n      dateCreated?: Date | null;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$2;\n      /** Order fulfillment status. */\n      fulfillmentStatus?: FulfillmentStatus$2;\n      /** Fulfillment tracking information. */\n      trackingInfo?: V2FulfillmentTrackingInfo;\n  }\n  /** Buyer Info */\n  interface BuyerInfo$2 {\n      /** Wix customer ID */\n      _id?: string | null;\n      /**\n       * Deprecated (use identityType instead)\n       * @readonly\n       * @deprecated\n       */\n      type?: IdentityType$3;\n      /** Customer type */\n      identityType?: IdentityType$3;\n      /**\n       * Customer's first name\n       * @readonly\n       */\n      firstName?: string;\n      /**\n       * Customer's last name\n       * @readonly\n       */\n      lastName?: string;\n      /**\n       * Customer's phone number\n       * @readonly\n       */\n      phone?: string | null;\n      /**\n       * Customer's email address\n       * @readonly\n       */\n      email?: string;\n      /**\n       * Contact Id. needed for cases where the user is the buyer and so it doesn't exist on the buyer info\n       * @internal\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  enum IdentityType$3 {\n      UNSPECIFIED_IDENTITY_TYPE = \"UNSPECIFIED_IDENTITY_TYPE\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Contact */\n      CONTACT = \"CONTACT\"\n  }\n  enum FulfillmentStatus$2 {\n      /** None of the order items are fulfilled */\n      NOT_FULFILLED = \"NOT_FULFILLED\",\n      /**\n       * All of the order items are fulfilled\n       * Orders without shipping info are fulfilled automatically\n       */\n      FULFILLED = \"FULFILLED\",\n      /** Order is canceled */\n      CANCELED = \"CANCELED\",\n      /** Some, but not all of the order items are fulfilled */\n      PARTIALLY_FULFILLED = \"PARTIALLY_FULFILLED\"\n  }\n  interface V2FulfillmentTrackingInfo {\n      /** Tracking number. */\n      trackingNumber?: string;\n      /**\n       * Shipping provider. Using the following shipping providers will allow for autofilling the tracking link:\n       * * `fedex`\n       * * `ups`\n       * * `usps`\n       * * `dhl`\n       * * `canadaPost`\n       */\n      shippingProvider?: string;\n      /** Tracking link - autofilled if using a predefined shipping provider, otherwise provided on creation. */\n      trackingLink?: string | null;\n  }\n  interface FulfillmentUpdated {\n      /** Order ID (auto generated upon order creation). */\n      orderId?: string;\n      /** ID of the updated fulfillment. */\n      fulfillmentId?: string;\n      /** Fulfillment tracking information. */\n      trackingInfo?: V2FulfillmentTrackingInfo;\n  }\n  interface FulfillmentDeleted {\n      /** Order ID (auto generated upon order creation). */\n      orderId?: string;\n      /** ID of the deleted fulfillment. */\n      fulfillmentId?: string;\n      /** Order fulfillment status. */\n      fulfillmentStatus?: FulfillmentStatus$2;\n  }\n  interface ListFulfillmentsForSingleOrderRequest {\n      /** Order ID for which to retrieve fulfillments. */\n      orderId: string;\n  }\n  interface ListFulfillmentsForSingleOrderResponse {\n      /** List of fulfillments associated with the order. */\n      orderWithFulfillments?: OrderWithFulfillments;\n  }\n  interface ListFulfillmentsForMultipleOrdersRequest {\n      /** List of order IDs for which to retrieve fulfillments. */\n      orderIds: string[];\n  }\n  interface ListFulfillmentsForMultipleOrdersResponse {\n      /** List of order IDs and their associated fulfillments. */\n      ordersWithFulfillments?: OrderWithFulfillments[];\n  }\n  interface CreateFulfillmentRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Fulfillment info. */\n      fulfillment: Fulfillment$1;\n  }\n  interface CreateFulfillmentResponse {\n      /** Order ID and the orders' fulfillments. */\n      orderWithFulfillments?: OrderWithFulfillments;\n      /** ID of created fulfillment. */\n      fulfillmentId?: string;\n  }\n  interface UpdateFulfillmentRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Fulfillment info to update. */\n      fulfillment?: Fulfillment$1;\n      /**\n       * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateFulfillmentResponse {\n      /** Order ID and the orders' associated fulfillments after update. */\n      orderWithFulfillments?: OrderWithFulfillments;\n  }\n  interface DeleteFulfillmentRequest {\n      /** Order ID. */\n      orderId: string;\n      /** ID of the fulfillment to delete. */\n      fulfillmentId: string;\n  }\n  interface DeleteFulfillmentResponse {\n      /** Order ID and the order's associated fulfillments after deletion. */\n      orderWithFulfillments?: OrderWithFulfillments;\n  }\n  interface BulkCreateFulfillmentRequest {\n      /** List of order IDs and their associated fulfillments' info. */\n      ordersWithFulfillments: BulkCreateOrderWithFulfillments[];\n  }\n  interface BulkCreateOrderWithFulfillments {\n      /** Order ID. */\n      orderId?: string;\n      /** Fulfillments associated with the order. */\n      fulfillments?: Fulfillment$1[];\n  }\n  interface BulkCreateFulfillmentResponse {\n      /** Items updated by bulk action. */\n      results?: BulkOrderFulfillmentsResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkOrderFulfillmentsResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata$2;\n      /** List of order IDs and their associated fulfillments. */\n      ordersWithFulfillments?: OrderWithFulfillments;\n  }\n  interface ItemMetadata$2 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$5;\n  }\n  interface ApplicationError$5 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$2 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface DomainEvent$b extends DomainEventBodyOneOf$b {\n      createdEvent?: EntityCreatedEvent$b;\n      updatedEvent?: EntityUpdatedEvent$b;\n      deletedEvent?: EntityDeletedEvent$b;\n      actionEvent?: ActionEvent$b;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$b {\n      createdEvent?: EntityCreatedEvent$b;\n      updatedEvent?: EntityUpdatedEvent$b;\n      deletedEvent?: EntityDeletedEvent$b;\n      actionEvent?: ActionEvent$b;\n  }\n  interface EntityCreatedEvent$b {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$b;\n  }\n  interface RestoreInfo$b {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$b {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$b {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$b {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$a {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$b;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$b extends IdentificationDataIdOneOf$b {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$a;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$b {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$a {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves fulfillments associated with a specified order.\n   *\n   *\n   * The `listFulfillmentsForSingleOrder()` function returns a Promise that resolves when the fulfillments are retrieved.\n   * @param orderId - Order ID for which to retrieve fulfillments.\n   * @public\n   * @requiredField orderId\n   * @permissionId ECOM.READ_FULFILLMENTS\n   */\n  function listFulfillmentsForSingleOrder(orderId: string): Promise<ListFulfillmentsForSingleOrderResponse>;\n  /**\n   * Retrieves fulfillments associated with multiple specified orders.\n   *\n   *\n   * The `listFulfillmentsForMultipleOrders()` function returns a Promise that resolves when the fulfillments are retrieved.\n   * @param orderIds - List of order IDs for which to retrieve fulfillments.\n   * @public\n   * @requiredField orderIds\n   * @permissionId ECOM.READ_FULFILLMENTS\n   */\n  function listFulfillmentsForMultipleOrders(orderIds: string[]): Promise<ListFulfillmentsForMultipleOrdersResponse>;\n  /**\n   * Creates an order fulfillment.\n   *\n   *\n   * The `createFulfillment()` function returns a Promise that resolves when the fulfillment is created.\n   * @param orderId - Order ID.\n   * @param fulfillment - Fulfillment info.\n   * @public\n   * @requiredField fulfillment\n   * @requiredField fulfillment.lineItems\n   * @requiredField fulfillment.lineItems._id\n   * @requiredField orderId\n   * @permissionId ECOM.MODIFY_FULFILLMENTS\n   * @adminMethod\n   */\n  function createFulfillment(orderId: string, fulfillment: Fulfillment$1): Promise<CreateFulfillmentResponse>;\n  /**\n   * Updates a fulfillment's properties.\n   * To update a field's value, include the new value in the `fulfillment` field in the body params.\n   * To remove a field's value, pass `null`.\n   *\n   *\n   * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.\n   *\n   * > **Note:** Updating line item IDs or fulfilled quantities is not allowed. To update line item IDs or quantities, delete the fulfillment and create it again.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.fulfillmentId\n   * @requiredField identifiers.orderId\n   * @param identifiers - Order and fulfillment IDs to be updated.\n   * @param options - Available options to use when updating a fulfillment.\n   * @permissionId ECOM.MODIFY_FULFILLMENTS\n   * @adminMethod\n   * @returns Order ID and the orders' associated fulfillments after update.\n   */\n  function updateFulfillment(identifiers: UpdateFulfillmentIdentifiers, options?: UpdateFulfillmentOptions): Promise<OrderWithFulfillments>;\n  interface UpdateFulfillmentOptions {\n      /** Fulfillment info. */\n      fulfillment: {\n          /** Tracking info. */\n          trackingInfo?: FulfillmentTrackingInfo$1;\n          /** Custom fulfillment info. */\n          customInfo?: CustomFulfillmentInfo;\n          /**\n           * Fulfillment ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /**\n           * Fulfillment creation date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n           * @readonly\n           */\n          _createdDate?: Date | null;\n          /** Line items being fulfilled. */\n          lineItems?: FulfillmentLineItem$1[];\n          /**\n           * Fulfillment status.\n           *\n           * Supported values:\n           * + `\"Pending\"`\n           * + `\"Accepted\"`\n           * + `\"Ready\"`\n           * + `\"In_Delivery\"`\n           * + `\"Fulfilled\"`\n           */\n          status?: string | null;\n          /** Fulfillment handling complete. */\n          completed?: boolean | null;\n      };\n      /**\n       * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateFulfillmentIdentifiers {\n      /**\n       * ID of the fulfillment to be updated.\n       * @readonly\n       */\n      fulfillmentId?: string | null;\n      /** Order ID. */\n      orderId: string;\n  }\n  /**\n   * Deletes an existing order fulfillment.\n   *\n   *\n   * The `deleteFulfillment()` function returns a Promise that resolves when the fulfillment is deleted.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.fulfillmentId\n   * @requiredField identifiers.orderId\n   * @param identifiers - Order and fulfillment IDs.\n   * @permissionId ECOM.MODIFY_FULFILLMENTS\n   * @adminMethod\n   */\n  function deleteFulfillment(identifiers: DeleteFulfillmentIdentifiers): Promise<DeleteFulfillmentResponse>;\n  interface DeleteFulfillmentIdentifiers {\n      /** ID of the fulfillment to delete. */\n      fulfillmentId: string;\n      /** Order ID. */\n      orderId: string;\n  }\n  /**\n   * Creates multiple fulfillments for one or more orders.\n   *\n   *\n   * The `bulkCreateFulfillments()` function returns a Promise that resolves when the fulfillments are created.\n   * @param ordersWithFulfillments - List of order IDs and their associated fulfillments' info.\n   * @public\n   * @requiredField ordersWithFulfillments\n   * @requiredField ordersWithFulfillments.fulfillments\n   * @requiredField ordersWithFulfillments.fulfillments.lineItems\n   * @requiredField ordersWithFulfillments.fulfillments.lineItems._id\n   * @requiredField ordersWithFulfillments.orderId\n   * @permissionId ECOM.MODIFY_FULFILLMENTS\n   * @adminMethod\n   */\n  function bulkCreateFulfillments(ordersWithFulfillments: BulkCreateOrderWithFulfillments[]): Promise<BulkCreateFulfillmentResponse>;\n  \n  type ecomV1Fulfillments_universal_d_OrderWithFulfillments = OrderWithFulfillments;\n  type ecomV1Fulfillments_universal_d_FulfillmentFulfillmentInfoOneOf = FulfillmentFulfillmentInfoOneOf;\n  type ecomV1Fulfillments_universal_d_CustomFulfillmentInfo = CustomFulfillmentInfo;\n  type ecomV1Fulfillments_universal_d_FulfillmentCreated = FulfillmentCreated;\n  type ecomV1Fulfillments_universal_d_V2FulfillmentTrackingInfo = V2FulfillmentTrackingInfo;\n  type ecomV1Fulfillments_universal_d_FulfillmentUpdated = FulfillmentUpdated;\n  type ecomV1Fulfillments_universal_d_FulfillmentDeleted = FulfillmentDeleted;\n  type ecomV1Fulfillments_universal_d_ListFulfillmentsForSingleOrderRequest = ListFulfillmentsForSingleOrderRequest;\n  type ecomV1Fulfillments_universal_d_ListFulfillmentsForSingleOrderResponse = ListFulfillmentsForSingleOrderResponse;\n  type ecomV1Fulfillments_universal_d_ListFulfillmentsForMultipleOrdersRequest = ListFulfillmentsForMultipleOrdersRequest;\n  type ecomV1Fulfillments_universal_d_ListFulfillmentsForMultipleOrdersResponse = ListFulfillmentsForMultipleOrdersResponse;\n  type ecomV1Fulfillments_universal_d_CreateFulfillmentRequest = CreateFulfillmentRequest;\n  type ecomV1Fulfillments_universal_d_CreateFulfillmentResponse = CreateFulfillmentResponse;\n  type ecomV1Fulfillments_universal_d_UpdateFulfillmentRequest = UpdateFulfillmentRequest;\n  type ecomV1Fulfillments_universal_d_UpdateFulfillmentResponse = UpdateFulfillmentResponse;\n  type ecomV1Fulfillments_universal_d_DeleteFulfillmentRequest = DeleteFulfillmentRequest;\n  type ecomV1Fulfillments_universal_d_DeleteFulfillmentResponse = DeleteFulfillmentResponse;\n  type ecomV1Fulfillments_universal_d_BulkCreateFulfillmentRequest = BulkCreateFulfillmentRequest;\n  type ecomV1Fulfillments_universal_d_BulkCreateOrderWithFulfillments = BulkCreateOrderWithFulfillments;\n  type ecomV1Fulfillments_universal_d_BulkCreateFulfillmentResponse = BulkCreateFulfillmentResponse;\n  type ecomV1Fulfillments_universal_d_BulkOrderFulfillmentsResult = BulkOrderFulfillmentsResult;\n  const ecomV1Fulfillments_universal_d_listFulfillmentsForSingleOrder: typeof listFulfillmentsForSingleOrder;\n  const ecomV1Fulfillments_universal_d_listFulfillmentsForMultipleOrders: typeof listFulfillmentsForMultipleOrders;\n  const ecomV1Fulfillments_universal_d_createFulfillment: typeof createFulfillment;\n  const ecomV1Fulfillments_universal_d_updateFulfillment: typeof updateFulfillment;\n  type ecomV1Fulfillments_universal_d_UpdateFulfillmentOptions = UpdateFulfillmentOptions;\n  type ecomV1Fulfillments_universal_d_UpdateFulfillmentIdentifiers = UpdateFulfillmentIdentifiers;\n  const ecomV1Fulfillments_universal_d_deleteFulfillment: typeof deleteFulfillment;\n  type ecomV1Fulfillments_universal_d_DeleteFulfillmentIdentifiers = DeleteFulfillmentIdentifiers;\n  const ecomV1Fulfillments_universal_d_bulkCreateFulfillments: typeof bulkCreateFulfillments;\n  namespace ecomV1Fulfillments_universal_d {\n    export {\n      ecomV1Fulfillments_universal_d_OrderWithFulfillments as OrderWithFulfillments,\n      Fulfillment$1 as Fulfillment,\n      ecomV1Fulfillments_universal_d_FulfillmentFulfillmentInfoOneOf as FulfillmentFulfillmentInfoOneOf,\n      FulfillmentLineItem$1 as FulfillmentLineItem,\n      FulfillmentTrackingInfo$1 as FulfillmentTrackingInfo,\n      ecomV1Fulfillments_universal_d_CustomFulfillmentInfo as CustomFulfillmentInfo,\n      ecomV1Fulfillments_universal_d_FulfillmentCreated as FulfillmentCreated,\n      BuyerInfo$2 as BuyerInfo,\n      IdentityType$3 as IdentityType,\n      FulfillmentStatus$2 as FulfillmentStatus,\n      ecomV1Fulfillments_universal_d_V2FulfillmentTrackingInfo as V2FulfillmentTrackingInfo,\n      ecomV1Fulfillments_universal_d_FulfillmentUpdated as FulfillmentUpdated,\n      ecomV1Fulfillments_universal_d_FulfillmentDeleted as FulfillmentDeleted,\n      ecomV1Fulfillments_universal_d_ListFulfillmentsForSingleOrderRequest as ListFulfillmentsForSingleOrderRequest,\n      ecomV1Fulfillments_universal_d_ListFulfillmentsForSingleOrderResponse as ListFulfillmentsForSingleOrderResponse,\n      ecomV1Fulfillments_universal_d_ListFulfillmentsForMultipleOrdersRequest as ListFulfillmentsForMultipleOrdersRequest,\n      ecomV1Fulfillments_universal_d_ListFulfillmentsForMultipleOrdersResponse as ListFulfillmentsForMultipleOrdersResponse,\n      ecomV1Fulfillments_universal_d_CreateFulfillmentRequest as CreateFulfillmentRequest,\n      ecomV1Fulfillments_universal_d_CreateFulfillmentResponse as CreateFulfillmentResponse,\n      ecomV1Fulfillments_universal_d_UpdateFulfillmentRequest as UpdateFulfillmentRequest,\n      ecomV1Fulfillments_universal_d_UpdateFulfillmentResponse as UpdateFulfillmentResponse,\n      ecomV1Fulfillments_universal_d_DeleteFulfillmentRequest as DeleteFulfillmentRequest,\n      ecomV1Fulfillments_universal_d_DeleteFulfillmentResponse as DeleteFulfillmentResponse,\n      ecomV1Fulfillments_universal_d_BulkCreateFulfillmentRequest as BulkCreateFulfillmentRequest,\n      ecomV1Fulfillments_universal_d_BulkCreateOrderWithFulfillments as BulkCreateOrderWithFulfillments,\n      ecomV1Fulfillments_universal_d_BulkCreateFulfillmentResponse as BulkCreateFulfillmentResponse,\n      ecomV1Fulfillments_universal_d_BulkOrderFulfillmentsResult as BulkOrderFulfillmentsResult,\n      ItemMetadata$2 as ItemMetadata,\n      ApplicationError$5 as ApplicationError,\n      BulkActionMetadata$2 as BulkActionMetadata,\n      DomainEvent$b as DomainEvent,\n      DomainEventBodyOneOf$b as DomainEventBodyOneOf,\n      EntityCreatedEvent$b as EntityCreatedEvent,\n      RestoreInfo$b as RestoreInfo,\n      EntityUpdatedEvent$b as EntityUpdatedEvent,\n      EntityDeletedEvent$b as EntityDeletedEvent,\n      ActionEvent$b as ActionEvent,\n      MessageEnvelope$a as MessageEnvelope,\n      IdentificationData$b as IdentificationData,\n      IdentificationDataIdOneOf$b as IdentificationDataIdOneOf,\n      WebhookIdentityType$a as WebhookIdentityType,\n      ecomV1Fulfillments_universal_d_listFulfillmentsForSingleOrder as listFulfillmentsForSingleOrder,\n      ecomV1Fulfillments_universal_d_listFulfillmentsForMultipleOrders as listFulfillmentsForMultipleOrders,\n      ecomV1Fulfillments_universal_d_createFulfillment as createFulfillment,\n      ecomV1Fulfillments_universal_d_updateFulfillment as updateFulfillment,\n      ecomV1Fulfillments_universal_d_UpdateFulfillmentOptions as UpdateFulfillmentOptions,\n      ecomV1Fulfillments_universal_d_UpdateFulfillmentIdentifiers as UpdateFulfillmentIdentifiers,\n      ecomV1Fulfillments_universal_d_deleteFulfillment as deleteFulfillment,\n      ecomV1Fulfillments_universal_d_DeleteFulfillmentIdentifiers as DeleteFulfillmentIdentifiers,\n      ecomV1Fulfillments_universal_d_bulkCreateFulfillments as bulkCreateFulfillments,\n    };\n  }\n  \n  interface GiftCard$2 {\n      /**\n       * Gift card obfuscated code.\n       *\n       * For example: \"****-****-****-1234\".\n       */\n      obfuscatedCode?: string;\n      /** Gift card balance. */\n      balance?: Money;\n      /** Current gift card status. */\n      status?: Status$1;\n      /** App ID of the gift card provider, as returned in eCommerce Get Checkout or List Transactions for Single Order. */\n      appId?: string;\n      /**\n       * External ID in the gift card provider's system.\n       * Used for integration and tracking across different platforms.\n       */\n      externalId?: string | null;\n  }\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n  }\n  enum Status$1 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Gift card is active and can be used for purchases. */\n      VALID = \"VALID\",\n      /** Gift card expiration date has passed and can no longer be used. */\n      EXPIRED = \"EXPIRED\",\n      /** Gift card has been disabled by the merchant and can no longer be used. */\n      DISABLED = \"DISABLED\"\n  }\n  interface GetGiftCardRequest {\n      /** Gift card code. */\n      code: string;\n      /** Contextual information for the request, including the physical location ID if applicable. */\n      context?: Context;\n  }\n  interface Context {\n      /** Physical location ID. Can be based on the Locations API or an external provider. */\n      locationId?: string | null;\n  }\n  interface GetGiftCardResponse {\n      /** Retrieved gift card. */\n      giftCard?: GiftCard$2;\n  }\n  interface RedeemGiftCardRequest {\n      /** Gift card code. */\n      code: string;\n      /** Amount to redeem from the gift card. */\n      amount: Money;\n      /** Order ID to apply the gift card transaction, when applying a gift card after order creation. Order ID can be collected from the eCommerce Order Created webhook or by calling eCommerce Search Orders. */\n      orderId?: string;\n      /** App ID of the gift card provider. */\n      appId: string;\n      /** Contextual information for the request, including the physical location ID if applicable. */\n      context?: Context;\n  }\n  interface RedeemGiftCardResponse {\n      /** Gift card transaction ID. */\n      transactionId?: string;\n  }\n  interface VoidTransactionRequest {\n      /** Gift card transaction ID, as returned from Redeem Gift Card. */\n      transactionId: string;\n      /** App ID of the gift card provider. */\n      appId: string;\n      /** Contextual information for the request, including the physical location ID if applicable. */\n      context?: Context;\n  }\n  interface VoidTransactionResponse {\n  }\n  /**\n   * Retrieves a gift card.\n   * @param code - Gift card code.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField code\n   * @param options - Field options.\n   * @permissionId ECOM.GIFT_CARD_READ\n   * @adminMethod\n   */\n  function getGiftCard(code: string, options?: GetGiftCardOptions): Promise<GetGiftCardResponse>;\n  interface GetGiftCardOptions {\n      /** Contextual information for the request, including the physical location ID if applicable. */\n      context?: Context;\n  }\n  /**\n   * Redeems a gift card.\n   * Creates a transaction and lowers the card balance by the transaction amount.\n   * @param code - Gift card code.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField code\n   * @requiredField options.amount\n   * @requiredField options.amount.value\n   * @requiredField options.appId\n   * @param options - Field options. `amount` and `appId` **must** be passed.\n   * @permissionId ECOM.GIFT_CARD_REDEEM\n   * @adminMethod\n   */\n  function redeemGiftCard(code: string, options?: RedeemGiftCardOptions): Promise<RedeemGiftCardResponse>;\n  interface RedeemGiftCardOptions {\n      /** Amount to redeem from the gift card. */\n      amount: Money;\n      /** Order ID to apply the gift card transaction, when applying a gift card after order creation. Order ID can be collected from the eCommerce Order Created webhook or by calling eCommerce Search Orders. */\n      orderId?: string;\n      /** App ID of the gift card provider. */\n      appId: string;\n      /** Contextual information for the request, including the physical location ID if applicable. */\n      context?: Context;\n  }\n  /**\n   * Voids a gift card transaction.\n   * Transaction IDs are returned in Redeem Gift Card.\n   * @param transactionId - Gift card transaction ID, as returned from Redeem Gift Card.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.appId\n   * @requiredField transactionId\n   * @param options - Field options. `appId` **must** be passed.\n   * @permissionId ECOM.GIFT_CARD_TRANSACTION_VOID\n   * @adminMethod\n   */\n  function voidTransaction(transactionId: string, options?: VoidTransactionOptions): Promise<void>;\n  interface VoidTransactionOptions {\n      /** App ID of the gift card provider. */\n      appId: string;\n      /** Contextual information for the request, including the physical location ID if applicable. */\n      context?: Context;\n  }\n  \n  type ecomV1GiftCard_universal_d_Money = Money;\n  type ecomV1GiftCard_universal_d_GetGiftCardRequest = GetGiftCardRequest;\n  type ecomV1GiftCard_universal_d_Context = Context;\n  type ecomV1GiftCard_universal_d_GetGiftCardResponse = GetGiftCardResponse;\n  type ecomV1GiftCard_universal_d_RedeemGiftCardRequest = RedeemGiftCardRequest;\n  type ecomV1GiftCard_universal_d_RedeemGiftCardResponse = RedeemGiftCardResponse;\n  type ecomV1GiftCard_universal_d_VoidTransactionRequest = VoidTransactionRequest;\n  type ecomV1GiftCard_universal_d_VoidTransactionResponse = VoidTransactionResponse;\n  const ecomV1GiftCard_universal_d_getGiftCard: typeof getGiftCard;\n  type ecomV1GiftCard_universal_d_GetGiftCardOptions = GetGiftCardOptions;\n  const ecomV1GiftCard_universal_d_redeemGiftCard: typeof redeemGiftCard;\n  type ecomV1GiftCard_universal_d_RedeemGiftCardOptions = RedeemGiftCardOptions;\n  const ecomV1GiftCard_universal_d_voidTransaction: typeof voidTransaction;\n  type ecomV1GiftCard_universal_d_VoidTransactionOptions = VoidTransactionOptions;\n  namespace ecomV1GiftCard_universal_d {\n    export {\n      GiftCard$2 as GiftCard,\n      ecomV1GiftCard_universal_d_Money as Money,\n      Status$1 as Status,\n      ecomV1GiftCard_universal_d_GetGiftCardRequest as GetGiftCardRequest,\n      ecomV1GiftCard_universal_d_Context as Context,\n      ecomV1GiftCard_universal_d_GetGiftCardResponse as GetGiftCardResponse,\n      ecomV1GiftCard_universal_d_RedeemGiftCardRequest as RedeemGiftCardRequest,\n      ecomV1GiftCard_universal_d_RedeemGiftCardResponse as RedeemGiftCardResponse,\n      ecomV1GiftCard_universal_d_VoidTransactionRequest as VoidTransactionRequest,\n      ecomV1GiftCard_universal_d_VoidTransactionResponse as VoidTransactionResponse,\n      ecomV1GiftCard_universal_d_getGiftCard as getGiftCard,\n      ecomV1GiftCard_universal_d_GetGiftCardOptions as GetGiftCardOptions,\n      ecomV1GiftCard_universal_d_redeemGiftCard as redeemGiftCard,\n      ecomV1GiftCard_universal_d_RedeemGiftCardOptions as RedeemGiftCardOptions,\n      ecomV1GiftCard_universal_d_voidTransaction as voidTransaction,\n      ecomV1GiftCard_universal_d_VoidTransactionOptions as VoidTransactionOptions,\n    };\n  }\n  \n  interface LocalDeliveryOption extends LocalDeliveryOptionConfigOneOf {\n      zipConfig?: ZipCodeConfig;\n      radiusConfig?: RadiusConfig;\n      customAreaConfig?: CustomAreaConfig;\n      /**\n       * LocalDeliveryOptionId - unique identifier of local delivery option\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * External id of shipping rule which LocalDeliveryOption is linked to. Most commonly it would be shippingRuleId from WixStores\n       * @internal\n       * @deprecated External id of shipping rule which LocalDeliveryOption is linked to. Most commonly it would be shippingRuleId from WixStores\n       * @targetRemovalDate 2025-01-12\n       */\n      externalId?: string | null;\n      /** Area name of Local Delivery Option */\n      areaName?: string | null;\n      /**\n       * Flat price of local delivery\n       * @deprecated Flat price of local delivery\n       * @targetRemovalDate 2025-01-12\n       */\n      rate?: string | null;\n      /** Estimated delivery time description text */\n      estimatedDeliveryTime?: string | null;\n      /**\n       * Minimum order total to be eligible for free delivery\n       * @deprecated Minimum order total to be eligible for free delivery\n       * @targetRemovalDate 2025-01-12\n       */\n      minimumFreeDeliveryOrderAmount?: number | null;\n      /** List of countries with subdivisions */\n      destinations?: Destination[];\n      /**\n       * Database revision of LocalDeliveryOption entity. Incremented on each modification\n       * @readonly\n       */\n      revision?: string | null;\n      scheduledDeliveryConfig?: ScheduledDelivery;\n      /** at runtime for a given shipment input, up to one rate (price) should be returned in an option. If more than one rate is valid then we return the lowest one. */\n      rates?: ConditionalRates$2[];\n      /**\n       * Date and time the LocalDeliveryOption was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the LocalDeliveryOption was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** This local delivery is active for the following delivery regions. */\n      deliveryRegionIds?: string[];\n  }\n  /** @oneof */\n  interface LocalDeliveryOptionConfigOneOf {\n      zipConfig?: ZipCodeConfig;\n      radiusConfig?: RadiusConfig;\n      customAreaConfig?: CustomAreaConfig;\n  }\n  interface Destination {\n      /** Country ISO code */\n      code?: string;\n      /** List of subdivisions, empty means all */\n      subdivisions?: string[];\n  }\n  interface ZipCodeConfig {\n      /** List of ZipCodes and ZipCode regexes. Examples: 10001, 10002 or 1000* */\n      zipCodes?: string[];\n  }\n  interface RadiusConfig {\n      /** Delivery-from address */\n      address?: LocalDeliveryAddress;\n      /** Delivery circle's radius */\n      radius?: number;\n      /**\n       * Radius' unit, taken from site properties\n       * @readonly\n       */\n      lengthUnit?: LengthUnit;\n  }\n  interface LocalDeliveryAddress {\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation$4;\n  }\n  interface AddressLocation$4 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  enum LengthUnit {\n      /** Length unit can't be classified, due to an error */\n      UNSPECIFIED_LENGTH_UNIT = \"UNSPECIFIED_LENGTH_UNIT\",\n      /** Kilometers */\n      KM = \"KM\",\n      /** Miles */\n      MI = \"MI\"\n  }\n  interface CustomAreaConfig {\n      /** Geocodes of the polygon defining the delivery area. */\n      geocodes?: AddressLocation$4[];\n  }\n  interface ScheduledDelivery {\n      /**\n       * Days config which contain days when delivery is enabled with it's time slots\n       * @deprecated Days config which contain days when delivery is enabled with it's time slots\n       * @replacedBy time_windows\n       * @targetRemovalDate 2025-01-01\n       */\n      days?: Days;\n      /** Amount of days before first delivery option date */\n      handlingDays?: number | null;\n      /** Cut off time after which first delivery option would be for next day */\n      cutOffTime?: TimePoint;\n      /** availability times configuration. */\n      timeWindows?: TimeWindow[];\n  }\n  interface Days {\n      monday?: DaySlot;\n      tuesday?: DaySlot;\n      wednesday?: DaySlot;\n      thursday?: DaySlot;\n      friday?: DaySlot;\n      saturday?: DaySlot;\n      sunday?: DaySlot;\n  }\n  interface DaySlot {\n      /** Shows whether this day slot is enabled for delivery */\n      enabledForDelivery?: boolean | null;\n      /** Time slots for scheduled delivery during day */\n      timeSlots?: TimeSlot[];\n  }\n  interface TimeSlot {\n      /** Starting time point of time slot */\n      from?: TimePoint;\n      /** End time point of time slot */\n      to?: TimePoint;\n  }\n  interface TimePoint {\n      /** Hours in format 0-23 */\n      hours?: number | null;\n      /** Minutes 0-59 */\n      minutes?: number | null;\n  }\n  interface TimeWindow {\n      /** The day of week this availability relates to. */\n      day?: DayOfWeek;\n      /** The start time in time of day representation. */\n      start?: TimeOfDay;\n      /** The end time in time of day representation. */\n      end?: TimeOfDay;\n      /** Whether this timeWindow availability is enabled. */\n      enabled?: boolean | null;\n  }\n  enum DayOfWeek {\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface TimeOfDay {\n      /** Hours */\n      hours?: number;\n      /** Minutes */\n      minutes?: number;\n  }\n  interface ConditionalRates$2 {\n      /**\n       * there is an AND logic between all the conditions. Empty conditions means true.\n       * For example: weight > 0 and weight <= 10\n       */\n      conditions?: Condition$2[];\n      amount?: string;\n  }\n  interface Condition$2 {\n      type?: ConditionType$2;\n      /**\n       * The value in respective to the condition type\n       * Weight values should be in the same weight units of the store: KG / LB\n       * Total price is according to the store currency\n       * Quantity of items should be integers\n       */\n      value?: string;\n      operator?: LogicalOperator$2;\n  }\n  enum ConditionType$2 {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      BY_TOTAL_WEIGHT = \"BY_TOTAL_WEIGHT\",\n      BY_TOTAL_PRICE = \"BY_TOTAL_PRICE\",\n      BY_TOTAL_QUANTITY = \"BY_TOTAL_QUANTITY\"\n  }\n  enum LogicalOperator$2 {\n      UNKNOWN_LOGICAL_OPERATOR_TYPE = \"UNKNOWN_LOGICAL_OPERATOR_TYPE\",\n      EQ = \"EQ\",\n      GT = \"GT\",\n      GTE = \"GTE\",\n      LT = \"LT\",\n      LTE = \"LTE\"\n  }\n  interface CreateLocalDeliveryOptionRequest {\n      localDeliveryOption: LocalDeliveryOption;\n  }\n  interface CreateLocalDeliveryOptionResponse {\n      localDeliveryOption?: LocalDeliveryOption;\n  }\n  interface GetLocalDeliveryOptionRequest {\n      /**\n       * @deprecated\n       * @targetRemovalDate 2025-01-12\n       */\n      _id?: string;\n      localDeliveryOptionId: string;\n  }\n  interface GetLocalDeliveryOptionResponse {\n      localDeliveryOption?: LocalDeliveryOption;\n  }\n  interface ListLocalDeliveryOptionsRequest {\n      externalId: string;\n  }\n  interface ListLocalDeliveryOptionsResponse {\n      localDeliveryOptions?: LocalDeliveryOption[];\n  }\n  interface QueryLocalDeliveryOptionsRequest {\n      /** WQL expression */\n      query: QueryV2$2;\n  }\n  interface QueryV2$2 extends QueryV2PagingMethodOneOf$2 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$8;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$8[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$2 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$8;\n  }\n  interface Sorting$8 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$8;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$8 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$8 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryLocalDeliveryOptionsResponse {\n      /** Retrieved local delivery options. */\n      localDeliveryOptions?: LocalDeliveryOption[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$7;\n  }\n  interface CursorPagingMetadata$7 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$8;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$8 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateLocalDeliveryOptionRequest {\n      /** LocalDeliveryOption to be updated, may be partial. */\n      localDeliveryOption: LocalDeliveryOption;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateLocalDeliveryOptionResponse {\n      localDeliveryOption?: LocalDeliveryOption;\n  }\n  interface DeleteLocalDeliveryOptionRequest {\n      /**\n       * @deprecated\n       * @targetRemovalDate 2025-01-12\n       */\n      _id?: string;\n      localDeliveryOptionId: string;\n  }\n  interface DeleteLocalDeliveryOptionResponse {\n  }\n  interface BulkCreateLocalDeliveryOptionRequest {\n      localDeliveryOptions: LocalDeliveryOption[];\n  }\n  interface BulkCreateLocalDeliveryOptionResponse {\n      localDeliveryOptions?: LocalDeliveryOption[];\n      errors?: LocalDeliveryOptionError[];\n  }\n  interface LocalDeliveryOptionError {\n      _id?: string;\n      error?: string;\n  }\n  interface BulkUpdateLocalDeliveryOptionRequest {\n      localDeliveryOptions: LocalDeliveryOption[];\n  }\n  interface BulkUpdateLocalDeliveryOptionResponse {\n      localDeliveryOptions?: LocalDeliveryOption[];\n      errors?: LocalDeliveryOptionError[];\n  }\n  interface BulkDeleteLocalDeliveryOptionRequest {\n      ids: string[];\n  }\n  interface BulkDeleteLocalDeliveryOptionResponse {\n  }\n  interface Empty$6 {\n  }\n  interface DomainEvent$a extends DomainEventBodyOneOf$a {\n      createdEvent?: EntityCreatedEvent$a;\n      updatedEvent?: EntityUpdatedEvent$a;\n      deletedEvent?: EntityDeletedEvent$a;\n      actionEvent?: ActionEvent$a;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$a {\n      createdEvent?: EntityCreatedEvent$a;\n      updatedEvent?: EntityUpdatedEvent$a;\n      deletedEvent?: EntityDeletedEvent$a;\n      actionEvent?: ActionEvent$a;\n  }\n  interface EntityCreatedEvent$a {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$a;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$a {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$a {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$a {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$a {\n      bodyAsJson?: string;\n  }\n  interface AddDeliveryRegionRequest$1 {\n      deliveryRegionId: string;\n      localDeliveryOptionId: string;\n      /** Revision of the PickupLocation */\n      revision?: string | null;\n  }\n  interface AddDeliveryRegionResponse$1 {\n      localDeliveryOption?: LocalDeliveryOption;\n  }\n  interface RemoveDeliveryRegionRequest$1 {\n      deliveryRegionId: string;\n      localDeliveryOptionId: string;\n      /** Revision of the PickupLocation */\n      revision?: string | null;\n  }\n  interface RemoveDeliveryRegionResponse$1 {\n      localDeliveryOption?: LocalDeliveryOption;\n  }\n  interface MessageEnvelope$9 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$a;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$a extends IdentificationDataIdOneOf$a {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$9;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$a {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$9 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField localDeliveryOption\n   * @requiredField localDeliveryOption.areaName\n   * @requiredField localDeliveryOption.radiusConfig.address\n   * @requiredField localDeliveryOption.radiusConfig.address.formatted\n   * @requiredField localDeliveryOption.radiusConfig.address.location\n   * @requiredField localDeliveryOption.rate\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.handlingDays\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_CREATE\n   * @adminMethod\n   */\n  function createLocalDeliveryOption(localDeliveryOption: LocalDeliveryOption): Promise<LocalDeliveryOption>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField localDeliveryOptionId\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_READ\n   * @adminMethod\n   */\n  function getLocalDeliveryOption(localDeliveryOptionId: string, options?: GetLocalDeliveryOptionOptions): Promise<LocalDeliveryOption>;\n  interface GetLocalDeliveryOptionOptions {\n      /**\n       * @deprecated\n       * @targetRemovalDate 2025-01-12\n       */\n      _id?: string;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField externalId\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_READ\n   * @adminMethod\n   * @deprecated method is deprecated due to the fact that external_id is deprecated\n   * @replacedBy ListLocalDeliveryOptionsByDeliveryRegion\n   * @targetRemovalDate 2024-11-01\n   */\n  function listLocalDeliveryOptions(externalId: string): Promise<ListLocalDeliveryOptionsResponse>;\n  /**\n   * Retrieves a list of local delivery options, given the provided paging, filtering, and sorting.\n   *\n   * For field support for filters and sorting, see [Local Delivery: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/payments/tax/tax-regions/supported-filters-and-sorting).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/sorting-and-paging),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_READ\n   * @adminMethod\n   */\n  function queryLocalDeliveryOptions(): LocalDeliveryOptionsQueryBuilder;\n  interface QueryCursorResult$8 {\n      cursors: Cursors$8;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface LocalDeliveryOptionsQueryResult extends QueryCursorResult$8 {\n      items: LocalDeliveryOption[];\n      query: LocalDeliveryOptionsQueryBuilder;\n      next: () => Promise<LocalDeliveryOptionsQueryResult>;\n      prev: () => Promise<LocalDeliveryOptionsQueryResult>;\n  }\n  interface LocalDeliveryOptionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'areaName' | 'estimatedDeliveryTime' | 'deliveryRegionIds', value: any) => LocalDeliveryOptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'areaName' | 'estimatedDeliveryTime' | 'deliveryRegionIds', value: any) => LocalDeliveryOptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'areaName' | 'estimatedDeliveryTime', value: string) => LocalDeliveryOptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'areaName' | 'estimatedDeliveryTime' | 'deliveryRegionIds', value: any[]) => LocalDeliveryOptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasAll: (propertyName: 'deliveryRegionIds', value: any[]) => LocalDeliveryOptionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'areaName' | 'estimatedDeliveryTime' | 'deliveryRegionIds', value: any) => LocalDeliveryOptionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'areaName' | 'estimatedDeliveryTime' | 'deliveryRegionIds', value: boolean) => LocalDeliveryOptionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => LocalDeliveryOptionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => LocalDeliveryOptionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<LocalDeliveryOptionsQueryResult>;\n  }\n  /** @param _id - LocalDeliveryOptionId - unique identifier of local delivery option\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField localDeliveryOption\n   * @requiredField localDeliveryOption.radiusConfig.address\n   * @requiredField localDeliveryOption.radiusConfig.address.formatted\n   * @requiredField localDeliveryOption.radiusConfig.address.location\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.friday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.monday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.saturday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.sunday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.thursday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.tuesday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.enabledForDelivery\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.from\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.from.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.from.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.to\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.to.hours\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.days.wednesday.timeSlots.to.minutes\n   * @requiredField localDeliveryOption.scheduledDeliveryConfig.handlingDays\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_UPDATE\n   * @adminMethod\n   */\n  function updateLocalDeliveryOption(_id: string | null, localDeliveryOption: UpdateLocalDeliveryOption, options?: UpdateLocalDeliveryOptionOptions): Promise<LocalDeliveryOption>;\n  interface UpdateLocalDeliveryOption {\n      zipConfig?: ZipCodeConfig;\n      radiusConfig?: RadiusConfig;\n      customAreaConfig?: CustomAreaConfig;\n      /**\n       * LocalDeliveryOptionId - unique identifier of local delivery option\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * External id of shipping rule which LocalDeliveryOption is linked to. Most commonly it would be shippingRuleId from WixStores\n       * @internal\n       * @deprecated External id of shipping rule which LocalDeliveryOption is linked to. Most commonly it would be shippingRuleId from WixStores\n       * @targetRemovalDate 2025-01-12\n       */\n      externalId?: string | null;\n      /** Area name of Local Delivery Option */\n      areaName?: string | null;\n      /**\n       * Flat price of local delivery\n       * @deprecated Flat price of local delivery\n       * @targetRemovalDate 2025-01-12\n       */\n      rate?: string | null;\n      /** Estimated delivery time description text */\n      estimatedDeliveryTime?: string | null;\n      /**\n       * Minimum order total to be eligible for free delivery\n       * @deprecated Minimum order total to be eligible for free delivery\n       * @targetRemovalDate 2025-01-12\n       */\n      minimumFreeDeliveryOrderAmount?: number | null;\n      /** List of countries with subdivisions */\n      destinations?: Destination[];\n      /**\n       * Database revision of LocalDeliveryOption entity. Incremented on each modification\n       * @readonly\n       */\n      revision?: string | null;\n      scheduledDeliveryConfig?: ScheduledDelivery;\n      /** at runtime for a given shipment input, up to one rate (price) should be returned in an option. If more than one rate is valid then we return the lowest one. */\n      rates?: ConditionalRates$2[];\n      /**\n       * Date and time the LocalDeliveryOption was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the LocalDeliveryOption was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** This local delivery is active for the following delivery regions. */\n      deliveryRegionIds?: string[];\n  }\n  interface UpdateLocalDeliveryOptionOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField localDeliveryOptionId\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_DELETE\n   * @adminMethod\n   */\n  function deleteLocalDeliveryOption(localDeliveryOptionId: string, options?: DeleteLocalDeliveryOptionOptions): Promise<void>;\n  interface DeleteLocalDeliveryOptionOptions {\n      /**\n       * @deprecated\n       * @targetRemovalDate 2025-01-12\n       */\n      _id?: string;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField localDeliveryOptions\n   * @requiredField localDeliveryOptions.radiusConfig.address\n   * @requiredField localDeliveryOptions.radiusConfig.address.formatted\n   * @requiredField localDeliveryOptions.radiusConfig.address.location\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.handlingDays\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_CREATE\n   * @adminMethod\n   */\n  function bulkCreateLocalDeliveryOption(localDeliveryOptions: LocalDeliveryOption[]): Promise<BulkCreateLocalDeliveryOptionResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField localDeliveryOptions\n   * @requiredField localDeliveryOptions.radiusConfig.address\n   * @requiredField localDeliveryOptions.radiusConfig.address.formatted\n   * @requiredField localDeliveryOptions.radiusConfig.address.location\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.friday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.monday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.saturday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.sunday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.thursday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.tuesday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.enabledForDelivery\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.from\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.from.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.from.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.to\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.to.hours\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.days.wednesday.timeSlots.to.minutes\n   * @requiredField localDeliveryOptions.scheduledDeliveryConfig.handlingDays\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateLocalDeliveryOption(localDeliveryOptions: LocalDeliveryOption[]): Promise<BulkUpdateLocalDeliveryOptionResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteLocalDeliveryOption(ids: string[]): Promise<void>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField deliveryRegionId\n   * @requiredField options.localDeliveryOptionId\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_UPDATE\n   * @adminMethod\n   */\n  function addDeliveryRegion$1(deliveryRegionId: string, options?: AddDeliveryRegionOptions$1): Promise<AddDeliveryRegionResponse$1>;\n  interface AddDeliveryRegionOptions$1 {\n      localDeliveryOptionId: string;\n      /** Revision of the PickupLocation */\n      revision?: string | null;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField deliveryRegionId\n   * @requiredField options.localDeliveryOptionId\n   * @permissionId ECOM.LOCAL_DELIVERY_OPTION_UPDATE\n   * @adminMethod\n   */\n  function removeDeliveryRegion$1(deliveryRegionId: string, options?: RemoveDeliveryRegionOptions$1): Promise<RemoveDeliveryRegionResponse$1>;\n  interface RemoveDeliveryRegionOptions$1 {\n      localDeliveryOptionId: string;\n      /** Revision of the PickupLocation */\n      revision?: string | null;\n  }\n  \n  type ecomV1LocalDeliveryOption_universal_d_LocalDeliveryOption = LocalDeliveryOption;\n  type ecomV1LocalDeliveryOption_universal_d_LocalDeliveryOptionConfigOneOf = LocalDeliveryOptionConfigOneOf;\n  type ecomV1LocalDeliveryOption_universal_d_Destination = Destination;\n  type ecomV1LocalDeliveryOption_universal_d_ZipCodeConfig = ZipCodeConfig;\n  type ecomV1LocalDeliveryOption_universal_d_RadiusConfig = RadiusConfig;\n  type ecomV1LocalDeliveryOption_universal_d_LocalDeliveryAddress = LocalDeliveryAddress;\n  type ecomV1LocalDeliveryOption_universal_d_LengthUnit = LengthUnit;\n  const ecomV1LocalDeliveryOption_universal_d_LengthUnit: typeof LengthUnit;\n  type ecomV1LocalDeliveryOption_universal_d_CustomAreaConfig = CustomAreaConfig;\n  type ecomV1LocalDeliveryOption_universal_d_ScheduledDelivery = ScheduledDelivery;\n  type ecomV1LocalDeliveryOption_universal_d_Days = Days;\n  type ecomV1LocalDeliveryOption_universal_d_DaySlot = DaySlot;\n  type ecomV1LocalDeliveryOption_universal_d_TimeSlot = TimeSlot;\n  type ecomV1LocalDeliveryOption_universal_d_TimePoint = TimePoint;\n  type ecomV1LocalDeliveryOption_universal_d_TimeWindow = TimeWindow;\n  type ecomV1LocalDeliveryOption_universal_d_DayOfWeek = DayOfWeek;\n  const ecomV1LocalDeliveryOption_universal_d_DayOfWeek: typeof DayOfWeek;\n  type ecomV1LocalDeliveryOption_universal_d_TimeOfDay = TimeOfDay;\n  type ecomV1LocalDeliveryOption_universal_d_CreateLocalDeliveryOptionRequest = CreateLocalDeliveryOptionRequest;\n  type ecomV1LocalDeliveryOption_universal_d_CreateLocalDeliveryOptionResponse = CreateLocalDeliveryOptionResponse;\n  type ecomV1LocalDeliveryOption_universal_d_GetLocalDeliveryOptionRequest = GetLocalDeliveryOptionRequest;\n  type ecomV1LocalDeliveryOption_universal_d_GetLocalDeliveryOptionResponse = GetLocalDeliveryOptionResponse;\n  type ecomV1LocalDeliveryOption_universal_d_ListLocalDeliveryOptionsRequest = ListLocalDeliveryOptionsRequest;\n  type ecomV1LocalDeliveryOption_universal_d_ListLocalDeliveryOptionsResponse = ListLocalDeliveryOptionsResponse;\n  type ecomV1LocalDeliveryOption_universal_d_QueryLocalDeliveryOptionsRequest = QueryLocalDeliveryOptionsRequest;\n  type ecomV1LocalDeliveryOption_universal_d_QueryLocalDeliveryOptionsResponse = QueryLocalDeliveryOptionsResponse;\n  type ecomV1LocalDeliveryOption_universal_d_UpdateLocalDeliveryOptionRequest = UpdateLocalDeliveryOptionRequest;\n  type ecomV1LocalDeliveryOption_universal_d_UpdateLocalDeliveryOptionResponse = UpdateLocalDeliveryOptionResponse;\n  type ecomV1LocalDeliveryOption_universal_d_DeleteLocalDeliveryOptionRequest = DeleteLocalDeliveryOptionRequest;\n  type ecomV1LocalDeliveryOption_universal_d_DeleteLocalDeliveryOptionResponse = DeleteLocalDeliveryOptionResponse;\n  type ecomV1LocalDeliveryOption_universal_d_BulkCreateLocalDeliveryOptionRequest = BulkCreateLocalDeliveryOptionRequest;\n  type ecomV1LocalDeliveryOption_universal_d_BulkCreateLocalDeliveryOptionResponse = BulkCreateLocalDeliveryOptionResponse;\n  type ecomV1LocalDeliveryOption_universal_d_LocalDeliveryOptionError = LocalDeliveryOptionError;\n  type ecomV1LocalDeliveryOption_universal_d_BulkUpdateLocalDeliveryOptionRequest = BulkUpdateLocalDeliveryOptionRequest;\n  type ecomV1LocalDeliveryOption_universal_d_BulkUpdateLocalDeliveryOptionResponse = BulkUpdateLocalDeliveryOptionResponse;\n  type ecomV1LocalDeliveryOption_universal_d_BulkDeleteLocalDeliveryOptionRequest = BulkDeleteLocalDeliveryOptionRequest;\n  type ecomV1LocalDeliveryOption_universal_d_BulkDeleteLocalDeliveryOptionResponse = BulkDeleteLocalDeliveryOptionResponse;\n  const ecomV1LocalDeliveryOption_universal_d_createLocalDeliveryOption: typeof createLocalDeliveryOption;\n  const ecomV1LocalDeliveryOption_universal_d_getLocalDeliveryOption: typeof getLocalDeliveryOption;\n  type ecomV1LocalDeliveryOption_universal_d_GetLocalDeliveryOptionOptions = GetLocalDeliveryOptionOptions;\n  const ecomV1LocalDeliveryOption_universal_d_listLocalDeliveryOptions: typeof listLocalDeliveryOptions;\n  const ecomV1LocalDeliveryOption_universal_d_queryLocalDeliveryOptions: typeof queryLocalDeliveryOptions;\n  type ecomV1LocalDeliveryOption_universal_d_LocalDeliveryOptionsQueryResult = LocalDeliveryOptionsQueryResult;\n  type ecomV1LocalDeliveryOption_universal_d_LocalDeliveryOptionsQueryBuilder = LocalDeliveryOptionsQueryBuilder;\n  const ecomV1LocalDeliveryOption_universal_d_updateLocalDeliveryOption: typeof updateLocalDeliveryOption;\n  type ecomV1LocalDeliveryOption_universal_d_UpdateLocalDeliveryOption = UpdateLocalDeliveryOption;\n  type ecomV1LocalDeliveryOption_universal_d_UpdateLocalDeliveryOptionOptions = UpdateLocalDeliveryOptionOptions;\n  const ecomV1LocalDeliveryOption_universal_d_deleteLocalDeliveryOption: typeof deleteLocalDeliveryOption;\n  type ecomV1LocalDeliveryOption_universal_d_DeleteLocalDeliveryOptionOptions = DeleteLocalDeliveryOptionOptions;\n  const ecomV1LocalDeliveryOption_universal_d_bulkCreateLocalDeliveryOption: typeof bulkCreateLocalDeliveryOption;\n  const ecomV1LocalDeliveryOption_universal_d_bulkUpdateLocalDeliveryOption: typeof bulkUpdateLocalDeliveryOption;\n  const ecomV1LocalDeliveryOption_universal_d_bulkDeleteLocalDeliveryOption: typeof bulkDeleteLocalDeliveryOption;\n  namespace ecomV1LocalDeliveryOption_universal_d {\n    export {\n      ecomV1LocalDeliveryOption_universal_d_LocalDeliveryOption as LocalDeliveryOption,\n      ecomV1LocalDeliveryOption_universal_d_LocalDeliveryOptionConfigOneOf as LocalDeliveryOptionConfigOneOf,\n      ecomV1LocalDeliveryOption_universal_d_Destination as Destination,\n      ecomV1LocalDeliveryOption_universal_d_ZipCodeConfig as ZipCodeConfig,\n      ecomV1LocalDeliveryOption_universal_d_RadiusConfig as RadiusConfig,\n      ecomV1LocalDeliveryOption_universal_d_LocalDeliveryAddress as LocalDeliveryAddress,\n      AddressLocation$4 as AddressLocation,\n      ecomV1LocalDeliveryOption_universal_d_LengthUnit as LengthUnit,\n      ecomV1LocalDeliveryOption_universal_d_CustomAreaConfig as CustomAreaConfig,\n      ecomV1LocalDeliveryOption_universal_d_ScheduledDelivery as ScheduledDelivery,\n      ecomV1LocalDeliveryOption_universal_d_Days as Days,\n      ecomV1LocalDeliveryOption_universal_d_DaySlot as DaySlot,\n      ecomV1LocalDeliveryOption_universal_d_TimeSlot as TimeSlot,\n      ecomV1LocalDeliveryOption_universal_d_TimePoint as TimePoint,\n      ecomV1LocalDeliveryOption_universal_d_TimeWindow as TimeWindow,\n      ecomV1LocalDeliveryOption_universal_d_DayOfWeek as DayOfWeek,\n      ecomV1LocalDeliveryOption_universal_d_TimeOfDay as TimeOfDay,\n      ConditionalRates$2 as ConditionalRates,\n      Condition$2 as Condition,\n      ConditionType$2 as ConditionType,\n      LogicalOperator$2 as LogicalOperator,\n      ecomV1LocalDeliveryOption_universal_d_CreateLocalDeliveryOptionRequest as CreateLocalDeliveryOptionRequest,\n      ecomV1LocalDeliveryOption_universal_d_CreateLocalDeliveryOptionResponse as CreateLocalDeliveryOptionResponse,\n      ecomV1LocalDeliveryOption_universal_d_GetLocalDeliveryOptionRequest as GetLocalDeliveryOptionRequest,\n      ecomV1LocalDeliveryOption_universal_d_GetLocalDeliveryOptionResponse as GetLocalDeliveryOptionResponse,\n      ecomV1LocalDeliveryOption_universal_d_ListLocalDeliveryOptionsRequest as ListLocalDeliveryOptionsRequest,\n      ecomV1LocalDeliveryOption_universal_d_ListLocalDeliveryOptionsResponse as ListLocalDeliveryOptionsResponse,\n      ecomV1LocalDeliveryOption_universal_d_QueryLocalDeliveryOptionsRequest as QueryLocalDeliveryOptionsRequest,\n      QueryV2$2 as QueryV2,\n      QueryV2PagingMethodOneOf$2 as QueryV2PagingMethodOneOf,\n      Sorting$8 as Sorting,\n      SortOrder$8 as SortOrder,\n      Paging$2 as Paging,\n      CursorPaging$8 as CursorPaging,\n      ecomV1LocalDeliveryOption_universal_d_QueryLocalDeliveryOptionsResponse as QueryLocalDeliveryOptionsResponse,\n      CursorPagingMetadata$7 as CursorPagingMetadata,\n      Cursors$8 as Cursors,\n      ecomV1LocalDeliveryOption_universal_d_UpdateLocalDeliveryOptionRequest as UpdateLocalDeliveryOptionRequest,\n      ecomV1LocalDeliveryOption_universal_d_UpdateLocalDeliveryOptionResponse as UpdateLocalDeliveryOptionResponse,\n      ecomV1LocalDeliveryOption_universal_d_DeleteLocalDeliveryOptionRequest as DeleteLocalDeliveryOptionRequest,\n      ecomV1LocalDeliveryOption_universal_d_DeleteLocalDeliveryOptionResponse as DeleteLocalDeliveryOptionResponse,\n      ecomV1LocalDeliveryOption_universal_d_BulkCreateLocalDeliveryOptionRequest as BulkCreateLocalDeliveryOptionRequest,\n      ecomV1LocalDeliveryOption_universal_d_BulkCreateLocalDeliveryOptionResponse as BulkCreateLocalDeliveryOptionResponse,\n      ecomV1LocalDeliveryOption_universal_d_LocalDeliveryOptionError as LocalDeliveryOptionError,\n      ecomV1LocalDeliveryOption_universal_d_BulkUpdateLocalDeliveryOptionRequest as BulkUpdateLocalDeliveryOptionRequest,\n      ecomV1LocalDeliveryOption_universal_d_BulkUpdateLocalDeliveryOptionResponse as BulkUpdateLocalDeliveryOptionResponse,\n      ecomV1LocalDeliveryOption_universal_d_BulkDeleteLocalDeliveryOptionRequest as BulkDeleteLocalDeliveryOptionRequest,\n      ecomV1LocalDeliveryOption_universal_d_BulkDeleteLocalDeliveryOptionResponse as BulkDeleteLocalDeliveryOptionResponse,\n      Empty$6 as Empty,\n      DomainEvent$a as DomainEvent,\n      DomainEventBodyOneOf$a as DomainEventBodyOneOf,\n      EntityCreatedEvent$a as EntityCreatedEvent,\n      RestoreInfo$a as RestoreInfo,\n      EntityUpdatedEvent$a as EntityUpdatedEvent,\n      EntityDeletedEvent$a as EntityDeletedEvent,\n      ActionEvent$a as ActionEvent,\n      AddDeliveryRegionRequest$1 as AddDeliveryRegionRequest,\n      AddDeliveryRegionResponse$1 as AddDeliveryRegionResponse,\n      RemoveDeliveryRegionRequest$1 as RemoveDeliveryRegionRequest,\n      RemoveDeliveryRegionResponse$1 as RemoveDeliveryRegionResponse,\n      MessageEnvelope$9 as MessageEnvelope,\n      IdentificationData$a as IdentificationData,\n      IdentificationDataIdOneOf$a as IdentificationDataIdOneOf,\n      WebhookIdentityType$9 as WebhookIdentityType,\n      ecomV1LocalDeliveryOption_universal_d_createLocalDeliveryOption as createLocalDeliveryOption,\n      ecomV1LocalDeliveryOption_universal_d_getLocalDeliveryOption as getLocalDeliveryOption,\n      ecomV1LocalDeliveryOption_universal_d_GetLocalDeliveryOptionOptions as GetLocalDeliveryOptionOptions,\n      ecomV1LocalDeliveryOption_universal_d_listLocalDeliveryOptions as listLocalDeliveryOptions,\n      ecomV1LocalDeliveryOption_universal_d_queryLocalDeliveryOptions as queryLocalDeliveryOptions,\n      ecomV1LocalDeliveryOption_universal_d_LocalDeliveryOptionsQueryResult as LocalDeliveryOptionsQueryResult,\n      ecomV1LocalDeliveryOption_universal_d_LocalDeliveryOptionsQueryBuilder as LocalDeliveryOptionsQueryBuilder,\n      ecomV1LocalDeliveryOption_universal_d_updateLocalDeliveryOption as updateLocalDeliveryOption,\n      ecomV1LocalDeliveryOption_universal_d_UpdateLocalDeliveryOption as UpdateLocalDeliveryOption,\n      ecomV1LocalDeliveryOption_universal_d_UpdateLocalDeliveryOptionOptions as UpdateLocalDeliveryOptionOptions,\n      ecomV1LocalDeliveryOption_universal_d_deleteLocalDeliveryOption as deleteLocalDeliveryOption,\n      ecomV1LocalDeliveryOption_universal_d_DeleteLocalDeliveryOptionOptions as DeleteLocalDeliveryOptionOptions,\n      ecomV1LocalDeliveryOption_universal_d_bulkCreateLocalDeliveryOption as bulkCreateLocalDeliveryOption,\n      ecomV1LocalDeliveryOption_universal_d_bulkUpdateLocalDeliveryOption as bulkUpdateLocalDeliveryOption,\n      ecomV1LocalDeliveryOption_universal_d_bulkDeleteLocalDeliveryOption as bulkDeleteLocalDeliveryOption,\n      addDeliveryRegion$1 as addDeliveryRegion,\n      AddDeliveryRegionOptions$1 as AddDeliveryRegionOptions,\n      removeDeliveryRegion$1 as removeDeliveryRegion,\n      RemoveDeliveryRegionOptions$1 as RemoveDeliveryRegionOptions,\n    };\n  }\n  \n  interface Order$1 {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Order number displayed in the site owner's dashboard (auto-generated).\n       * @readonly\n       */\n      number?: string;\n      /**\n       * Date and time the order was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the order was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Order line items.\n       * @readonly\n       */\n      lineItems?: OrderLineItem[];\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$1;\n      /**\n       * Order payment status.\n       * + `NOT_PAID` - This can be an order made online, but not yet paid. In such cases `order.status` will be `INITIALIZED`.\n       * + This status also applies when an offline order needs to be manually marked as paid. In such cases `order.status` will be `APPROVED`.\n       * + `PAID` - All payments associated with this order are paid. For online payments: [`payment.regularPaymentDetails.status: APPROVED`](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-transactions/order-transactions-object). For gift cards: [`payment.giftCardPaymentDetails.voided: false`](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-transactions/order-transactions-object).\n       * + `PARTIALLY_REFUNDED` - Order was refunded, but refund amount is less than order total price.\n       * + `FULLY_REFUNDED` - Order fully refunded. Refund amount equals total price.\n       * + `PENDING` - Payments received but not yet confirmed by the payment provider.\n       * + `PARTIALLY_PAID` -  At least one payment was received and approved, covering less than total price amount.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /**\n       * Order fulfillment status.\n       * @readonly\n       */\n      fulfillmentStatus?: FulfillmentStatus$1;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       */\n      buyerLanguage?: string | null;\n      /** Weight measurement unit - defaults to site's weight unit. */\n      weightUnit?: WeightUnit$3;\n      /** Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. */\n      currency?: string | null;\n      /** Whether tax is included in line item prices. */\n      taxIncludedInPrices?: boolean;\n      /**\n       * Site language in which original values are shown.\n       * @readonly\n       */\n      siteLanguage?: string | null;\n      /**\n       * Order price summary.\n       * @readonly\n       */\n      priceSummary?: PriceSummary$1;\n      /** Billing address and contact details. */\n      billingInfo?: AddressWithContact;\n      /** Shipping info and selected shipping option details. */\n      shippingInfo?: ShippingInformation$1;\n      /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n      buyerNote?: string | null;\n      /**\n       * Order status.\n       * + `INITIALIZED`: Order created, but not yet approved or canceled.\n       * + `APPROVED`: Order approved. This happens when either an online payment is received **or** when `order.priceSummary.total = 0` (a zero-total order). Offline orders (cash payment) are automatically approved.\n       * + `CANCELED`: Order canceled by the user.\n       */\n      status?: OrderStatus;\n      /** Whether order is archived. */\n      archived?: boolean | null;\n      /**\n       * Tax summary.\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * @deprecated Tax summary.\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxSummary?: TaxSummary$1;\n      /** Tax information. */\n      taxInfo?: OrderTaxInfo;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount$1[];\n      /**\n       * Order activities.\n       * @readonly\n       */\n      activities?: Activity$1[];\n      /** Order attribution source. */\n      attributionSource?: AttributionSource;\n      /**\n       * ID of the order's initiator.\n       * @readonly\n       */\n      createdBy?: CreatedBy;\n      /** Information about the sales channel that submitted this order. */\n      channelInfo?: ChannelInfo$1;\n      /** Whether a human has seen the order. Set when an order is clicked on in the dashboard. */\n      seenByAHuman?: boolean | null;\n      /** Checkout ID. */\n      checkoutId?: string | null;\n      /** Custom fields. */\n      customFields?: CustomField$1[];\n      /**\n       * Cart ID - required by TYP OOI for legacy orders.\n       * @internal\n       */\n      cartId?: string | null;\n      /**\n       * Private API flag that allows using read-only \"id\" during order creation.\n       * @internal\n       */\n      isInternalOrderCreate?: boolean;\n      /**\n       * Pay now price summary. Part of price_summary that must be payed at checkout\n       * @internal\n       * @readonly\n       */\n      payNow?: PriceSummary$1;\n      /**\n       * Balance summary.\n       * @readonly\n       */\n      balanceSummary?: BalanceSummary;\n      /** Additional fees applied to the order. */\n      additionalFees?: AdditionalFee$1[];\n      /**\n       * Custom string status values aggregated from every fulfillment entity associated with current order\n       * @internal\n       * @readonly\n       */\n      fulfillmentStatusesAggregate?: FulfillmentStatusesAggregate;\n      /**\n       * Custom field data for the order object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$4;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /**\n       * Order recipient address and contact details.\n       *\n       * This field may differ from the address in `shippingInfo.logistics` when:\n       * + The chosen shipping option is pickup point or store pickup.\n       * + No shipping option is selected.\n       */\n      recipientInfo?: AddressWithContact;\n      /**\n       * Tag ids collections associated with current entity. private_tags requires separate permissions to be accessible and modifiable.\n       * @internal\n       */\n      tags?: Tags;\n      /**\n       * Date and time the order was originally purchased in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * Used for migration from external systems.\n       */\n      purchasedDate?: Date | null;\n      /**\n       * Order Location\n       * @internal\n       */\n      businessLocation?: Location;\n  }\n  interface OrderLineItem {\n      /** Line item ID. */\n      _id?: string;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       */\n      productName?: ProductName;\n      /** Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$3;\n      /** Line item quantity. */\n      quantity?: number;\n      /**\n       * Total discount for this line item's entire quantity.\n       * @readonly\n       */\n      totalDiscount?: Price$3;\n      /** Line item description lines. Used for display purposes for the cart, checkout and order. */\n      descriptionLines?: DescriptionLine[];\n      /** Line item image. */\n      image?: string;\n      /** Physical properties of the item. When relevant, contains information such as SKU and item weight. */\n      physicalProperties?: PhysicalProperties$2;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType$1;\n      /**\n       * Fulfiller ID. Field is empty when the line item is self-fulfilled.\n       *\n       * To get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://www.wix.com/velo/reference/wix-ecom-backend/orderfulfillments/listfulfillmentsforsingleorder).\n       */\n      fulfillerId?: string | null;\n      /** Number of items that were refunded. */\n      refundQuantity?: number | null;\n      /** Number of items restocked. */\n      restockQuantity?: number | null;\n      /** Line item price after line item discounts for display purposes. */\n      price?: Price$3;\n      /**\n       * Line item price before line item discounts for display purposes. Defaults to `price` when not provided.\n       * @readonly\n       */\n      priceBeforeDiscounts?: Price$3;\n      /**\n       * Total price after discounts, and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: Price$3;\n      /**\n       * Total price after all discounts and tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: Price$3;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       * + `FULL_PAYMENT_ONLINE` - The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `DEPOSIT_ONLINE` - Partial payment for the given item to be paid upfront during the checkout. Eligible for catalog items with type `DEPOSIT_ONLINE` only.\n       */\n      paymentOption?: PaymentOptionType$1;\n      /**\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @deprecated Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxDetails?: ItemTaxFullDetails$1;\n      /** Represents all the relevant tax details for a specific line item. */\n      taxInfo?: LineItemTaxInfo;\n      /** Digital file identifier, relevant only for items with type DIGITAL. */\n      digitalFile?: DigitalFile$1;\n      /** Subscription info. */\n      subscriptionInfo?: SubscriptionInfo$1;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription;\n      /**\n       * Item's price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `\"DEPOSIT_ONLINE\"`.\n       * @readonly\n       */\n      depositAmount?: Price$3;\n      /**\n       * The Item's Delivery Profile Id\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** @internal */\n      shippingGroupId?: string | null;\n      /**\n       * Source locations for this line item. The location's total quantity must not exceed the line item quantity.\n       * @internal\n       */\n      locations?: LocationAndQuantity[];\n      /**\n       * Total price **after** catalog discounts and line item discounts.\n       * @internal\n       */\n      lineItemPrice?: Price$3;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @internal\n       * @readonly\n       */\n      customLineItem?: boolean | null;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n       * @internal\n       * @readonly\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Address used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress$1;\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       *\n       * Default: `false`\n       * @internal\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Custom extended fields for the line item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$4;\n  }\n  interface ProductName {\n      /**\n       * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n       *\n       * Min: 1 character.\n       * Max: 200 characters.\n       */\n      original?: string;\n      /**\n       * Item name translated into the buyer's language.\n       *\n       * Min: 1 character.\n       * Max: 400 characters.\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$3 {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs.\n       *\n       * Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from your Wix Stores catalog, learn more about [eCommerce integration](https://www.wix.com/velo/reference/wix-stores-backend/ecommerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface Price$3 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface DescriptionLine extends DescriptionLineValueOneOf, DescriptionLineDescriptionLineValueOneOf {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue;\n      /** Description line color value. */\n      colorInfo?: Color;\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n      /** Description line name. */\n      name?: DescriptionLineName;\n      /**\n       * Description line type.\n       * @internal\n       * @deprecated\n       */\n      lineType?: DescriptionLineType;\n  }\n  /** @oneof */\n  interface DescriptionLineValueOneOf {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue;\n      /** Description line color value. */\n      colorInfo?: Color;\n  }\n  /** @oneof */\n  interface DescriptionLineDescriptionLineValueOneOf {\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n  }\n  interface DescriptionLineName {\n      /** Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface PlainTextValue {\n      /** Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line plain text value translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Color {\n      /** Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line color name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n      /** HEX or RGB color code for display. */\n      code?: string | null;\n  }\n  enum DescriptionLineType {\n      /** Unrecognized type. */\n      UNRECOGNISED = \"UNRECOGNISED\",\n      /** Plain text type. */\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      /** Color type. */\n      COLOR = \"COLOR\"\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface PhysicalProperties$2 {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface ItemType$1 extends ItemTypeItemTypeDataOneOf$1 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$1;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf$1 {\n      /** Preset item type. */\n      preset?: ItemTypeItemType$1;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType$1 {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  /** Type of selected payment option for catalog item */\n  enum PaymentOptionType$1 {\n      /** The entire payment for this item happens as part of the checkout. */\n      FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n      /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /** Payment for this item is done by charging a membership. When selected, `price` is `0`. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n      DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\",\n      /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface ItemTaxFullDetails$1 {\n      /** Taxable amount of this line item. */\n      taxableAmount?: Price$3;\n      /**\n       * ID of the item's tax group, if specified.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /** Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`. */\n      taxRate?: string;\n      /** The calculated tax, based on the `taxableAmount` and `taxRate`. */\n      totalTax?: Price$3;\n  }\n  interface LineItemTaxInfo {\n      /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n      taxAmount?: Price$3;\n      /** Amount for which tax is calculated. */\n      taxableAmount?: Price$3;\n      /** Tax rate %, as a decimal point. */\n      taxRate?: string | null;\n      /**\n       * Tax group ID.\n       * Learn more about [Tax Groups](https://dev.wix.com/docs/rest/business-management/payments/tax/tax-groups/introduction).\n       */\n      taxGroupId?: string | null;\n      /** Indicates whether the price already includes tax. */\n      taxIncludedInPrice?: boolean;\n      /** Tax information for a line item. */\n      taxBreakdown?: LineItemTaxBreakdown[];\n  }\n  /**\n   * TaxBreakdown represents tax information for a line item.\n   * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface LineItemTaxBreakdown {\n      /** Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000. */\n      rate?: string | null;\n      /** Amount of tax calculated for this line item. */\n      taxAmount?: Price$3;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** Type of jurisdiction that taxes were calculated for. */\n      jurisdictionType?: JurisdictionType$1;\n      /** Non-taxable amount of the line item price. */\n      nonTaxableAmount?: Price$3;\n      /** Taxable amount of the line item price. */\n      taxableAmount?: Price$3;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType$1 {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface DigitalFile$1 {\n      /** ID of the secure file in media. */\n      fileId?: string;\n      /** Link will exist after the digital links have been generated on the order. */\n      link?: string | null;\n      /**\n       * Link expiration time and date.\n       * @readonly\n       */\n      expirationDate?: Date | null;\n  }\n  interface SubscriptionInfo$1 {\n      /** Subscription ID. */\n      _id?: string | null;\n      /** Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be `3`. */\n      cycleNumber?: number;\n      /** Subscription option title. For example, `\"Monthly coffee Subscription\"`. */\n      subscriptionOptionTitle?: string;\n      /** Subscription option description. For example, `\"1kg of selected coffee, once a month\"`. */\n      subscriptionOptionDescription?: string | null;\n      /** Subscription detailed information. */\n      subscriptionSettings?: SubscriptionSettings$2;\n  }\n  interface SubscriptionSettings$2 {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency$2;\n      /** Interval of recurring payment. */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription.\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency$2 {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface PriceDescription {\n      /** __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Price description translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface LocationAndQuantity {\n      /** Location id in the associated owner app. */\n      _id?: string;\n      /** Location owner app, if not provided then the site business info locations will be used. */\n      appId?: string | null;\n      /** Quantity for specific location. */\n      quantity?: number;\n  }\n  interface TaxableAddress$1 extends TaxableAddressTaxableAddressDataOneOf$1 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$1;\n  }\n  /** @oneof */\n  interface TaxableAddressTaxableAddressDataOneOf$1 {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType$1;\n  }\n  enum TaxableAddressType$1 {\n      UNKNOWN_TAXABLE_ADDRESS = \"UNKNOWN_TAXABLE_ADDRESS\",\n      BUSINESS = \"BUSINESS\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface ExtendedFields$4 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  /** Buyer Info */\n  interface BuyerInfo$1 extends BuyerInfoIdOneOf {\n      /** Visitor ID (if site visitor is not a member). */\n      visitorId?: string;\n      /** Member ID (if site visitor is a site member). */\n      memberId?: string;\n      /** Contact ID. Auto-created if one does not yet exist. For more information, see [Contacts API](https://www.wix.com/velo/reference/wix-crm-backend/contacts/introduction). */\n      contactId?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface BuyerInfoIdOneOf {\n      /** Visitor ID (if site visitor is not a member). */\n      visitorId?: string;\n      /** Member ID (if site visitor is a site member). */\n      memberId?: string;\n  }\n  enum PaymentStatus$1 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** Order is not paid */\n      NOT_PAID = \"NOT_PAID\",\n      /** Order is paid */\n      PAID = \"PAID\",\n      /** Order was refunded, refund amount less than order total price */\n      PARTIALLY_REFUNDED = \"PARTIALLY_REFUNDED\",\n      /** Full order total price was refunded */\n      FULLY_REFUNDED = \"FULLY_REFUNDED\",\n      /** Payments received but not yet confirmed by the payment provider */\n      PENDING = \"PENDING\",\n      /** At least one payment was received and approved, covering less than total price amount */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      /**\n       * Payment received but not yet confirmed by the payment provider and waits for some user action\n       * @documentationMaturity preview\n       */\n      PENDING_MERCHANT = \"PENDING_MERCHANT\",\n      /**\n       * Payment was canceled by user on payment provider side\n       * @documentationMaturity preview\n       */\n      CANCELED = \"CANCELED\",\n      /**\n       * Payment was declined by payment provider\n       * @documentationMaturity preview\n       */\n      DECLINED = \"DECLINED\"\n  }\n  enum FulfillmentStatus$1 {\n      /** None of the order items are fulfilled or the order was manually marked as unfulfilled. */\n      NOT_FULFILLED = \"NOT_FULFILLED\",\n      /**\n       * All of the order items are fulfilled or the order was manually marked as fulfilled.\n       * Orders without shipping info are fulfilled automatically.\n       */\n      FULFILLED = \"FULFILLED\",\n      /** Some, but not all, of the order items are fulfilled. */\n      PARTIALLY_FULFILLED = \"PARTIALLY_FULFILLED\"\n  }\n  enum WeightUnit$3 {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface PriceSummary$1 {\n      /** Subtotal of all the line items, before discounts and before tax. */\n      subtotal?: Price$3;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: Price$3;\n      /** Total tax on this order. */\n      tax?: Price$3;\n      /** Total calculated discount value. */\n      discount?: Price$3;\n      /**\n       * Deprecated - use `total` instead.\n       * @internal\n       * @deprecated\n       */\n      totalPrice?: Price$3;\n      /** Order’s total price after discounts and tax. */\n      total?: Price$3;\n      /**\n       * Order's total price including gift card.\n       * @internal\n       * @deprecated\n       */\n      totalWithGiftCard?: Price$3;\n      /**\n       * Order's total price after without gift card.\n       * @internal\n       * @deprecated\n       */\n      totalWithoutGiftCard?: Price$3;\n      /** Total price of additional fees before tax. */\n      totalAdditionalFees?: Price$3;\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact {\n      /** Address. */\n      address?: Address$5;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails$1;\n  }\n  /** Physical address */\n  interface Address$5 {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress$4;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation$3;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress$4 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$3 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails$1 {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId$2;\n  }\n  interface VatId$2 {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType$2;\n  }\n  /** tax info types */\n  enum VatType$2 {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface ShippingInformation$1 {\n      /** App Def Id of external provider which was a source of shipping info */\n      carrierId?: string | null;\n      /** Unique code (or ID) of selected shipping option. For example, `\"usps_std_overnight\"`. */\n      code?: string | null;\n      /**\n       * Shipping option title.\n       * For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"` or `\"First-Class Package International\"`.\n       */\n      title?: string;\n      /** Shipping logistics. */\n      logistics?: DeliveryLogistics$2;\n      /** Shipping costs. */\n      cost?: ShippingPrice$1;\n      /** Shipping region. */\n      region?: ShippingRegion$1;\n  }\n  interface DeliveryLogistics$2 extends DeliveryLogisticsAddressOneOf {\n      /** Shipping address and contact details. */\n      shippingDestination?: AddressWithContact;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails$3;\n      /** Expected delivery time in free text. For example, `\"3-5 business days\"`. */\n      deliveryTime?: string | null;\n      /** Instructions for carrier. For example, `\"Please knock on the door. If unanswered, please call contact number. Thanks.\"`. */\n      instructions?: string | null;\n      /**\n       * Deprecated - Latest expected delivery date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @deprecated\n       */\n      deliverByDate?: Date | null;\n      /** Expected delivery time. */\n      deliveryTimeSlot?: DeliveryTimeSlot$2;\n  }\n  /** @oneof */\n  interface DeliveryLogisticsAddressOneOf {\n      /** Shipping address and contact details. */\n      shippingDestination?: AddressWithContact;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails$3;\n  }\n  interface PickupDetails$3 {\n      /** Pickup address. */\n      address?: PickupAddress$1;\n      /** Pickup method */\n      pickupMethod?: PickupMethod$2;\n  }\n  /** Physical address */\n  interface PickupAddress$1 {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address object, with number, name, and apartment number in separate fields. */\n      streetAddress?: StreetAddress$4;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n      /** @internal */\n      location?: AddressLocation$3;\n  }\n  enum PickupMethod$2 {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot$2 {\n      /** Delivery slot starting time. */\n      from?: Date | null;\n      /** Delivery slot ending time. */\n      to?: Date | null;\n  }\n  interface ShippingPrice$1 {\n      /** Shipping price for display purposes. */\n      price?: Price$3;\n      /**\n       * Total price of shipping after discounts (when relevant), and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: Price$3;\n      /**\n       * Shipping price after all discounts (if any exist), and after tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: Price$3;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$1;\n      /**\n       * Shipping discount before tax.\n       * @readonly\n       */\n      discount?: Price$3;\n  }\n  interface ShippingRegion$1 {\n      /** Name of shipping region. For example, `\"Metropolitan London\"`, or `\"Outer Melbourne suburbs\"`. */\n      name?: string | null;\n  }\n  enum OrderStatus {\n      INITIALIZED = \"INITIALIZED\",\n      APPROVED = \"APPROVED\",\n      CANCELED = \"CANCELED\",\n      /** @documentationMaturity preview */\n      PENDING = \"PENDING\",\n      /** @documentationMaturity preview */\n      REJECTED = \"REJECTED\"\n  }\n  interface TaxSummary$1 {\n      /**\n       * Total tax.\n       * @readonly\n       */\n      totalTax?: Price$3;\n      /**\n       * manual tax rate\n       * @internal\n       * @readonly\n       */\n      manualTaxRate?: string | null;\n  }\n  interface OrderTaxInfo {\n      /** Calculated tax, added from line items. */\n      totalTax?: Price$3;\n      /** The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate. */\n      taxBreakdown?: OrderTaxBreakdown[];\n      /**\n       * Manual tax rate\n       * @internal\n       * @readonly\n       */\n      manualTaxRate?: string | null;\n      /**\n       * Whether the draft order is exempt from tax calculations.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      taxExempt?: boolean | null;\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   */\n  interface OrderTaxBreakdown {\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdiction?: string;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionType?: JurisdictionType$1;\n      /** The rate at which this tax detail was calculated. */\n      rate?: string;\n      /** The sum of all the tax from line items that calculated by the tax identifiers. */\n      aggregatedTaxAmount?: Price$3;\n      /**\n       * The sum of all the taxable amount from line items for tax identifiers.\n       * @internal\n       */\n      aggregatedTaxableAmount?: Price$3;\n  }\n  interface AppliedDiscount$1 extends AppliedDiscountDiscountSourceOneOf$1 {\n      /** Applied coupon info. */\n      coupon?: Coupon$1;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$1;\n      /** Automatic Discount */\n      discountRule?: DiscountRule$1;\n      /**\n       * Discount type.\n       * * `\"GLOBAL\"` - discount applies to entire order.\n       * * `\"SPECIFIC-ITEMS\"` - discount applies to specific items.\n       * * `\"SHIPPING\"` - discount applies to shipping. For example, free shipping.\n       */\n      discountType?: DiscountType$1;\n      /**\n       * IDs of line items discount applies to.\n       * Deprecated. Use `line_item_discounts` instead.\n       * @deprecated IDs of line items discount applies to.\n       * Deprecated. Use `line_item_discounts` instead.\n       * @replacedBy line_item_discounts\n       * @targetRemovalDate 2024-10-30\n       */\n      lineItemIds?: string[];\n      /** Discount id. */\n      _id?: string | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: LineItemDiscount$1[];\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf$1 {\n      /** Applied coupon info. */\n      coupon?: Coupon$1;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount$1;\n      /** Automatic Discount */\n      discountRule?: DiscountRule$1;\n  }\n  enum DiscountType$1 {\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface Coupon$1 {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon name. */\n      name?: string;\n      /** Coupon value. */\n      amount?: Price$3;\n  }\n  interface MerchantDiscount$1 extends MerchantDiscountMerchantDiscountReasonOneOf {\n      /**\n       * Pre-defined discount reason (optional).\n       * * `\"ITEMS_EXCHANGE\"` - exchange balance acquired as a result of items exchange.\n       */\n      discountReason?: DiscountReason;\n      /** Discount description as free text (optional). */\n      description?: string | null;\n      /** Discount amount. */\n      amount?: Price$3;\n      /**\n       * Discount percentage.\n       * @internal\n       */\n      percentage?: string | null;\n  }\n  /** @oneof */\n  interface MerchantDiscountMerchantDiscountReasonOneOf {\n      /**\n       * Pre-defined discount reason (optional).\n       * * `\"ITEMS_EXCHANGE\"` - exchange balance acquired as a result of items exchange.\n       */\n      discountReason?: DiscountReason;\n      /** Discount description as free text (optional). */\n      description?: string | null;\n  }\n  enum DiscountReason {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      EXCHANGED_ITEMS = \"EXCHANGED_ITEMS\"\n  }\n  interface DiscountRule$1 {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: DiscountRuleName$1;\n      /** Discount value. */\n      amount?: Price$3;\n  }\n  interface DiscountRuleName$1 {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface LineItemDiscount$1 {\n      /** ID of line item the discount applies to. */\n      _id?: string;\n      /** Total discount for this line item. */\n      totalDiscount?: Price$3;\n  }\n  interface Activity$1 extends ActivityContentOneOf {\n      /** Custom activity details (optional). `activity.type` must be `CUSTOM_ACTIVITY`. */\n      customActivity?: CustomActivity;\n      /** Merchant comment details (optional). `activity.type` must be `MERCHANT_COMMENT`. */\n      merchantComment?: MerchantComment;\n      /** Additional info about order refunded activity (optional). `activity.type` must be `ORDER_REFUNDED`. */\n      orderRefunded?: OrderRefunded$1;\n      /**\n       * Details of the original order for this exchange order. `activity.type` must be `ORDER_CREATED_FROM_EXCHANGE`.\n       * @internal\n       */\n      orderCreatedFromExchange?: OrderCreatedFromExchange;\n      /**\n       * Details of an order that was created as a result of an exchange of items in this order. `activity.type` must be `NEW_EXCHANGE_ORDER_CREATED`.\n       * @internal\n       */\n      newExchangeOrderCreated?: NewExchangeOrderCreated;\n      /**\n       * Details of changes made by the Draft Orders API.\n       * @internal\n       */\n      draftOrderChangesApplied?: DraftOrderChangesApplied;\n      /**\n       * Details of the payment method saved for order\n       * @internal\n       */\n      savedPaymentMethod?: SavedPaymentMethod;\n      /**\n       * Details of an authorized payment created.\n       * @internal\n       */\n      authorizedPaymentCreated?: AuthorizedPaymentCreated;\n      /**\n       * Details of an authorized payment captured.\n       * @internal\n       */\n      authorizedPaymentCaptured?: AuthorizedPaymentCaptured;\n      /**\n       * Details of an authorized payment voided.\n       * @internal\n       */\n      authorizedPaymentVoided?: AuthorizedPaymentVoided;\n      /**\n       * Details of an initiated refund process.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      refundInitiated?: RefundInitiated;\n      /**\n       * Details of a refunded payment.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefunded?: PaymentRefunded;\n      /**\n       * Details of a failed payment refund.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefundFailed?: PaymentRefundFailed;\n      /**\n       * Details of refund to store credit.\n       * @internal\n       */\n      refundedAsStoreCredit?: RefundedAsStoreCredit;\n      /**\n       * Details of a pending payment\n       * @internal\n       */\n      paymentPending?: PaymentPending;\n      /**\n       * Details of a canceled payment\n       * @internal\n       */\n      paymentCanceled?: PaymentCanceled;\n      /**\n       * Details of a declined payment\n       * @internal\n       */\n      paymentDeclined?: PaymentDeclined;\n      /**\n       * Activity ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Activity author's email.\n       * @readonly\n       */\n      authorEmail?: string | null;\n      /**\n       * Activity creation date and time.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Activity type. */\n      type?: ActivityType$1;\n  }\n  /** @oneof */\n  interface ActivityContentOneOf {\n      /** Custom activity details (optional). `activity.type` must be `CUSTOM_ACTIVITY`. */\n      customActivity?: CustomActivity;\n      /** Merchant comment details (optional). `activity.type` must be `MERCHANT_COMMENT`. */\n      merchantComment?: MerchantComment;\n      /** Additional info about order refunded activity (optional). `activity.type` must be `ORDER_REFUNDED`. */\n      orderRefunded?: OrderRefunded$1;\n      /**\n       * Details of the original order for this exchange order. `activity.type` must be `ORDER_CREATED_FROM_EXCHANGE`.\n       * @internal\n       */\n      orderCreatedFromExchange?: OrderCreatedFromExchange;\n      /**\n       * Details of an order that was created as a result of an exchange of items in this order. `activity.type` must be `NEW_EXCHANGE_ORDER_CREATED`.\n       * @internal\n       */\n      newExchangeOrderCreated?: NewExchangeOrderCreated;\n      /**\n       * Details of changes made by the Draft Orders API.\n       * @internal\n       */\n      draftOrderChangesApplied?: DraftOrderChangesApplied;\n      /**\n       * Details of the payment method saved for order\n       * @internal\n       */\n      savedPaymentMethod?: SavedPaymentMethod;\n      /**\n       * Details of an authorized payment created.\n       * @internal\n       */\n      authorizedPaymentCreated?: AuthorizedPaymentCreated;\n      /**\n       * Details of an authorized payment captured.\n       * @internal\n       */\n      authorizedPaymentCaptured?: AuthorizedPaymentCaptured;\n      /**\n       * Details of an authorized payment voided.\n       * @internal\n       */\n      authorizedPaymentVoided?: AuthorizedPaymentVoided;\n      /**\n       * Details of an initiated refund process.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      refundInitiated?: RefundInitiated;\n      /**\n       * Details of a refunded payment.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefunded?: PaymentRefunded;\n      /**\n       * Details of a failed payment refund.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefundFailed?: PaymentRefundFailed;\n      /**\n       * Details of refund to store credit.\n       * @internal\n       */\n      refundedAsStoreCredit?: RefundedAsStoreCredit;\n      /**\n       * Details of a pending payment\n       * @internal\n       */\n      paymentPending?: PaymentPending;\n      /**\n       * Details of a canceled payment\n       * @internal\n       */\n      paymentCanceled?: PaymentCanceled;\n      /**\n       * Details of a declined payment\n       * @internal\n       */\n      paymentDeclined?: PaymentDeclined;\n  }\n  interface CustomActivity {\n      /** ID of the app that created the custom activity. */\n      appId?: string;\n      /** Custom activity type. For example, `\"Ticket number set\"`. */\n      type?: string;\n      /** Additional data in key-value form. For example, `{ \"Ticket number\": \"123456\" }`. */\n      additionalData?: Record<string, string>;\n  }\n  /** Store owner added a comment */\n  interface MerchantComment {\n      /** Merchant comment message. */\n      message?: string;\n  }\n  interface OrderRefunded$1 {\n      /** Whether order was refunded manually. For example, via payment provider or using cash. */\n      manual?: boolean;\n      /** Refund amount. */\n      amount?: Price$3;\n      /** Reason for refund. */\n      reason?: string;\n  }\n  interface OrderCreatedFromExchange {\n      /** ID of the original order for which the exchange happened. */\n      originalOrderId?: string;\n  }\n  interface NewExchangeOrderCreated {\n      /** ID of the new order created as a result of an exchange of items. */\n      exchangeOrderId?: string;\n      /** IDs of the items that were exchanged. */\n      lineItems?: LineItemExchangeData[];\n  }\n  interface LineItemExchangeData {\n      /** ID of the exchanged line item. */\n      lineItemId?: string;\n      /** Line item quantity being exchanged. */\n      quantity?: number;\n  }\n  interface DraftOrderChangesApplied {\n      /** Draft order id. */\n      draftOrderId?: string;\n      /** Reason for edit, given by user (optional). */\n      reason?: string | null;\n      /** Changes applied to order. */\n      changes?: OrderChange[];\n  }\n  interface OrderChange extends OrderChangeValueOneOf {\n      lineItemChanged?: LineItemChanges;\n      lineItemAdded?: ManagedLineItem;\n      lineItemRemoved?: ManagedLineItem;\n      discountAdded?: ManagedDiscount;\n      discountRemoved?: ManagedDiscount;\n      additionalFeeAdded?: ManagedAdditionalFee;\n      additionalFeeRemoved?: ManagedAdditionalFee;\n      totalPriceChanged?: TotalPriceChange;\n      shippingInformationChanged?: ShippingInformationChange;\n  }\n  /** @oneof */\n  interface OrderChangeValueOneOf {\n      lineItemChanged?: LineItemChanges;\n      lineItemAdded?: ManagedLineItem;\n      lineItemRemoved?: ManagedLineItem;\n      discountAdded?: ManagedDiscount;\n      discountRemoved?: ManagedDiscount;\n      additionalFeeAdded?: ManagedAdditionalFee;\n      additionalFeeRemoved?: ManagedAdditionalFee;\n      totalPriceChanged?: TotalPriceChange;\n      shippingInformationChanged?: ShippingInformationChange;\n  }\n  interface LineItemChanges {\n      /** Line item ID. */\n      _id?: string;\n      /** Item name. */\n      name?: ProductName;\n      /** Item quantity change. */\n      quantity?: LineItemQuantityChange;\n      /** Item price change. */\n      price?: LineItemPriceChange;\n  }\n  interface LineItemQuantityChange {\n      /** Item quantity before update. */\n      originalQuantity?: number;\n      /** Item quantity after update. */\n      newQuantity?: number;\n      /** Difference between original and new quantity. Absolute value. */\n      diff?: number;\n      /** Type of quantity change: increase or decrease. */\n      deltaType?: LineItemQuantityChangeType;\n  }\n  enum LineItemQuantityChangeType {\n      /** Quantity increased. */\n      QUANTITY_INCREASED = \"QUANTITY_INCREASED\",\n      /** Quantity decreased. */\n      QUANTITY_DECREASED = \"QUANTITY_DECREASED\"\n  }\n  interface LineItemPriceChange {\n      /** Item price before update. */\n      originalPrice?: Price$3;\n      /** Item price after update. */\n      newPrice?: Price$3;\n  }\n  interface ManagedLineItem {\n      /** Line item ID. */\n      _id?: string;\n      /** Item name. */\n      name?: ProductName;\n      /** Added or removed item quantity. */\n      quantity?: number;\n  }\n  interface ManagedDiscount {\n      /** Discount id. */\n      _id?: string;\n      /** Discount name: coupon name / discount rule name / merchant discount description. */\n      name?: TranslatedValue;\n      /** Line items discount applies to. */\n      affectedLineItems?: LineItemAmount[];\n      /** Discount amount. */\n      totalAmount?: Price$3;\n  }\n  interface TranslatedValue {\n      /** Value in site default language. */\n      original?: string;\n      /** Translated value. */\n      translated?: string | null;\n  }\n  interface LineItemAmount {\n      /** Order line item id */\n      _id?: string;\n      /** Item name. */\n      name?: ProductName;\n      /** Amount associated with this item. (Discount amount for item / additional fee amount for item) */\n      amount?: Price$3;\n  }\n  interface ManagedAdditionalFee {\n      /** Additional fee id. */\n      _id?: string;\n      /** Additional fee name. */\n      name?: TranslatedValue;\n      /** Line items additional fee applies to. */\n      affectedLineItems?: LineItemAmount[];\n      /** Additional fee amount. */\n      totalAmount?: Price$3;\n  }\n  interface TotalPriceChange {\n      /** Order’s total price after discounts and tax. Before update */\n      originalTotal?: Price$3;\n      /** Order’s total price after discounts and tax. After update */\n      newTotal?: Price$3;\n  }\n  interface ShippingInformationChange {\n      /** Order’s Shipping Information. Before update */\n      originalShippingInfo?: ShippingInformationChangeShippingInformation;\n      /** Order’s Shipping Information. After update */\n      newShippingInfo?: ShippingInformationChangeShippingInformation;\n  }\n  interface ShippingInformationChangeShippingInformation {\n      /** Order’s shipping price. */\n      total?: Price$3;\n      /** Order’s shipping title. */\n      shippingTitle?: string;\n  }\n  /** Payment method is saved for order */\n  interface SavedPaymentMethod {\n      /** Payment method name */\n      name?: string;\n      /** Payment method description */\n      description?: string | null;\n  }\n  interface AuthorizedPaymentCreated {\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n      /** Payment amount */\n      amount?: Price$3;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface AuthorizedPaymentCaptured {\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n      /** Payment amount */\n      amount?: Price$3;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface AuthorizedPaymentVoided {\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n      /** Payment amount */\n      amount?: Price$3;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface RefundInitiated {\n      /** Refund ID. */\n      refundId?: string;\n      /** Refund amount. */\n      amount?: Price$3;\n      /** Details about the payments being refunded. */\n      payments?: RefundedPayment[];\n      /** Reason for refund. */\n      reason?: string | null;\n  }\n  interface RefundedPayment extends RefundedPaymentKindOneOf {\n      /** Regular payment refund. */\n      regular?: RegularPaymentRefund;\n      /** Gift card payment refund. */\n      giftCard?: GiftCardPaymentRefund;\n      /** Membership payment refund. */\n      membership?: MembershipPaymentRefund;\n      /** Payment ID. */\n      paymentId?: string;\n      /** Whether refund was made externally and manually on the payment provider's side. */\n      externalRefund?: boolean;\n  }\n  /** @oneof */\n  interface RefundedPaymentKindOneOf {\n      /** Regular payment refund. */\n      regular?: RegularPaymentRefund;\n      /** Gift card payment refund. */\n      giftCard?: GiftCardPaymentRefund;\n      /** Membership payment refund. */\n      membership?: MembershipPaymentRefund;\n  }\n  interface RegularPaymentRefund {\n      /** Refund amount */\n      amount?: Price$3;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface GiftCardPaymentRefund {\n      /** Gift card payment ID */\n      giftCardPaymentId?: string | null;\n      /** Refund amount */\n      amount?: Price$3;\n  }\n  interface MembershipPaymentRefund {\n      /** Membership ID */\n      membershipId?: string | null;\n  }\n  interface PaymentRefunded {\n      /** Refund ID. */\n      refundId?: string;\n      /** Details about the refunded payment. */\n      payment?: RefundedPayment;\n  }\n  interface PaymentRefundFailed {\n      /** Refund ID. */\n      refundId?: string;\n      /** Details about the failed payment refund. */\n      payment?: RefundedPayment;\n  }\n  interface RefundedAsStoreCredit {\n      /** Refund amount */\n      amount?: Price$3;\n      /** Reason for refund */\n      reason?: string | null;\n  }\n  interface PaymentPending extends PaymentPendingPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n  }\n  /** @oneof */\n  interface PaymentPendingPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n  }\n  interface RegularPayment extends RegularPaymentPaymentMethodDetailsOneOf {\n      /** Whether regular card used */\n      creditCardDetails?: CreditCardDetails;\n      /** Payment amount */\n      amount?: Price$3;\n  }\n  /** @oneof */\n  interface RegularPaymentPaymentMethodDetailsOneOf {\n      /** Whether regular card used */\n      creditCardDetails?: CreditCardDetails;\n  }\n  interface CreditCardDetails {\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface PaymentCanceled extends PaymentCanceledPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n  }\n  /** @oneof */\n  interface PaymentCanceledPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n  }\n  interface PaymentDeclined extends PaymentDeclinedPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n  }\n  /** @oneof */\n  interface PaymentDeclinedPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n  }\n  enum ActivityType$1 {\n      ORDER_REFUNDED = \"ORDER_REFUNDED\",\n      ORDER_PLACED = \"ORDER_PLACED\",\n      ORDER_PAID = \"ORDER_PAID\",\n      ORDER_FULFILLED = \"ORDER_FULFILLED\",\n      ORDER_NOT_FULFILLED = \"ORDER_NOT_FULFILLED\",\n      ORDER_CANCELED = \"ORDER_CANCELED\",\n      DOWNLOAD_LINK_SENT = \"DOWNLOAD_LINK_SENT\",\n      TRACKING_NUMBER_ADDED = \"TRACKING_NUMBER_ADDED\",\n      TRACKING_NUMBER_EDITED = \"TRACKING_NUMBER_EDITED\",\n      TRACKING_LINK_ADDED = \"TRACKING_LINK_ADDED\",\n      SHIPPING_CONFIRMATION_EMAIL_SENT = \"SHIPPING_CONFIRMATION_EMAIL_SENT\",\n      INVOICE_ADDED = \"INVOICE_ADDED\",\n      INVOICE_REMOVED = \"INVOICE_REMOVED\",\n      INVOICE_SENT = \"INVOICE_SENT\",\n      FULFILLER_EMAIL_SENT = \"FULFILLER_EMAIL_SENT\",\n      SHIPPING_ADDRESS_EDITED = \"SHIPPING_ADDRESS_EDITED\",\n      EMAIL_EDITED = \"EMAIL_EDITED\",\n      PICKUP_READY_EMAIL_SENT = \"PICKUP_READY_EMAIL_SENT\",\n      CUSTOM_ACTIVITY = \"CUSTOM_ACTIVITY\",\n      MERCHANT_COMMENT = \"MERCHANT_COMMENT\",\n      ORDER_CREATED_FROM_EXCHANGE = \"ORDER_CREATED_FROM_EXCHANGE\",\n      NEW_EXCHANGE_ORDER_CREATED = \"NEW_EXCHANGE_ORDER_CREATED\",\n      ORDER_PARTIALLY_PAID = \"ORDER_PARTIALLY_PAID\",\n      DRAFT_ORDER_CHANGES_APPLIED = \"DRAFT_ORDER_CHANGES_APPLIED\",\n      SAVED_PAYMENT_METHOD = \"SAVED_PAYMENT_METHOD\",\n      AUTHORIZED_PAYMENT_CREATED = \"AUTHORIZED_PAYMENT_CREATED\",\n      AUTHORIZED_PAYMENT_CAPTURED = \"AUTHORIZED_PAYMENT_CAPTURED\",\n      AUTHORIZED_PAYMENT_VOIDED = \"AUTHORIZED_PAYMENT_VOIDED\",\n      REFUND_INITIATED = \"REFUND_INITIATED\",\n      PAYMENT_REFUNDED = \"PAYMENT_REFUNDED\",\n      PAYMENT_REFUND_FAILED = \"PAYMENT_REFUND_FAILED\",\n      REFUNDED_AS_STORE_CREDIT = \"REFUNDED_AS_STORE_CREDIT\",\n      /** @documentationMaturity preview */\n      PAYMENT_PENDING = \"PAYMENT_PENDING\",\n      /** @documentationMaturity preview */\n      PAYMENT_CANCELED = \"PAYMENT_CANCELED\",\n      /** @documentationMaturity preview */\n      PAYMENT_DECLINED = \"PAYMENT_DECLINED\",\n      /** @documentationMaturity preview */\n      ORDER_PENDING = \"ORDER_PENDING\",\n      /** @documentationMaturity preview */\n      ORDER_REJECTED = \"ORDER_REJECTED\"\n  }\n  enum AttributionSource {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      FACEBOOK_ADS = \"FACEBOOK_ADS\"\n  }\n  interface CreatedBy extends CreatedByStringOneOf {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface CreatedByStringOneOf {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application. */\n      appId?: string;\n  }\n  interface ChannelInfo$1 {\n      /** Sales channel that submitted the order. */\n      type?: ChannelType$1;\n      /** Reference to an order ID from an external system. */\n      externalOrderId?: string | null;\n      /** URL to the order in the external system. */\n      externalOrderUrl?: string | null;\n  }\n  enum ChannelType$1 {\n      /** Unspecified sales channel. This value is not supported. */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** A web client. */\n      WEB = \"WEB\",\n      /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n      POS = \"POS\",\n      /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n      EBAY = \"EBAY\",\n      /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n      AMAZON = \"AMAZON\",\n      /** Other sales platform. */\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n      WIX_INVOICES = \"WIX_INVOICES\",\n      /** Wix merchant backoffice. */\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      /** Wish sales channel. */\n      WISH = \"WISH\",\n      /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n      CLASS_PASS = \"CLASS_PASS\",\n      /** Global-E sales channel. */\n      GLOBAL_E = \"GLOBAL_E\",\n      /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n      FACEBOOK = \"FACEBOOK\",\n      /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n      ETSY = \"ETSY\",\n      /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n      TIKTOK = \"TIKTOK\",\n      /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n      FAIRE_COM = \"FAIRE_COM\"\n  }\n  interface CustomField$1 {\n      /** Custom field value. */\n      value?: any;\n      /** Custom field title. */\n      title?: string;\n      /** Translated custom field title. */\n      translatedTitle?: string | null;\n  }\n  interface BalanceSummary {\n      /**\n       * Current amount left to pay.\n       * @readonly\n       */\n      balance?: Balance;\n      /**\n       * Sum of all approved and successful payments.\n       *\n       * The value includes payments that have subsequently been fully or partially refunded.\n       * @readonly\n       */\n      paid?: Price$3;\n      /**\n       * Sum of all successfully refunded payments.\n       * @readonly\n       */\n      refunded?: Price$3;\n      /**\n       * Sum of all authorized payments.\n       * @readonly\n       */\n      authorized?: Price$3;\n      /**\n       * Sum of all pending refund transactions.\n       * @internal\n       * @readonly\n       */\n      pendingRefund?: Price$3;\n      /**\n       * Sum of all pending transactions.\n       * @readonly\n       */\n      pending?: Price$3;\n  }\n  /**\n   * Order balance. Reflects amount left to be paid on order and is calculated dynamically. Can be negative per balance definition.\n   * `amount` field depends on order payment status:\n   * + UNSPECIFIED, NOT_PAID: price_summary.total_price\n   * + PARTIALLY_PAID : price_summary.total_price - pay_now.total_price\n   * + PENDING, REFUNDED, PARTIALLY_REFUNDED, PAID : 0\n   */\n  interface Balance {\n      /**\n       * Balance amount.\n       *\n       * A negative `amount` represents the amount to be refunded. This can happen due to overcharging or the order being modified after a payment has been made.\n       * @readonly\n       */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface AdditionalFee$1 {\n      /** Additional fee's unique code for future processing. */\n      code?: string | null;\n      /** Name of additional fee. */\n      name?: string;\n      /** Additional fee's price. */\n      price?: Price$3;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails$1;\n      /** SPI implementer's `appId`. */\n      providerAppId?: string | null;\n      /** Additional fee's price before tax. */\n      priceBeforeTax?: Price$3;\n      /** Additional fee's price after tax. */\n      priceAfterTax?: Price$3;\n      /** Additional fee's id. */\n      _id?: string;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n  }\n  interface FulfillmentStatusesAggregate {\n      /** Unique string values based on Fulfillment entities statuses */\n      statuses?: string[] | null;\n  }\n  /**\n   * Common object for tags.\n   * Should be use as in this example:\n   * message Foo {\n   * string id = 1;\n   * ...\n   * Tags tags = 5\n   * }\n   *\n   * example of taggable entity\n   * {\n   * id: \"123\"\n   * tags: {\n   * tags: {\n   * tag_ids:[\"11\",\"22\"]\n   * },\n   * private_tags: {\n   * tag_ids: [\"33\", \"44\"]\n   * }\n   * }\n   * }\n   */\n  interface Tags {\n      /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n      privateTags?: TagList;\n      /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n      tags?: TagList;\n  }\n  interface TagList {\n      /** List of tag IDs */\n      tagIds?: string[];\n  }\n  interface Location {\n      /**\n       * Location ID.\n       * Learn more about the [Wix Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       */\n      _id?: string;\n      /**\n       * Location name.\n       * @readonly\n       */\n      name?: string;\n  }\n  interface TriggerReindexOrderRequest {\n      metasiteId?: string;\n      orderId?: string;\n  }\n  interface SnapshotMessage$1 {\n      _id?: string;\n      opType?: number;\n  }\n  /** Triggered when the payment status of an order is updated */\n  interface PaymentStatusUpdated {\n      /** The order that was updated */\n      order?: Order$1;\n      /** The previous status (before the update) */\n      previousPaymentStatus?: PaymentStatus$1;\n  }\n  interface OrderRejectedEventOrderRejected {\n      /** The order that was rejected */\n      order?: Order$1;\n  }\n  /** Triggered when order items are marked as restocked */\n  interface OrderItemsRestocked {\n      /** The order which items were restocked */\n      order?: Order$1;\n      /** Restocked items and quantities */\n      restockItems?: V1RestockItem[];\n  }\n  interface V1RestockItem {\n      /** ID of the line item being restocked. */\n      lineItemId?: string;\n      /** Line item quantity being restocked. */\n      quantity?: number;\n  }\n  interface GetMetasiteDataRequest {\n      /** meta site Id for data to retrieve */\n      metasiteId: string;\n  }\n  interface GetMetasiteDataResponse {\n      /** meta site data */\n      metasite?: MetaSite;\n      /** is metasite added to new SDL population via population manager */\n      isInNewPopulation?: boolean;\n      /** metasite url */\n      metasiteUrl?: string;\n      /** owner data */\n      userDataResponse?: UserDataResponse;\n  }\n  /**\n   * Represents Meta Site.\n   *\n   * Meta Site is a legacy concept, it aggregates data from several domains. Generally, it contains and manages\n   * relations between different entities related to the site (or, as a new concept, to the container).\n   *\n   * We prefer to pronounce it as 2 separate words, therefore we use terms \"meta site\" or \"metaSite\" or \"meta_site\" in code.\n   */\n  interface MetaSite {\n      /**\n       * Identifier of meta site.\n       * @readonly\n       */\n      metaSiteId?: string;\n      /**\n       * Internal version of meta site. Monotonically increasing number.\n       *\n       * If passed within update request, it will be used for optimistic locking. In this case,\n       * StaleStateException will be thrown if current version doesn't match.\n       *\n       * In old MetaSiteDTO -- revision.\n       * @readonly\n       */\n      version?: string;\n      /**\n       * Identifier of account that owns this meta site.\n       * @readonly\n       */\n      ownerId?: string;\n      /**\n       * Date and time when meta site was created.\n       * @readonly\n       */\n      dateCreated?: Date | null;\n      /**\n       * Date and time when meta site was updated for the last time.\n       * @readonly\n       */\n      dateUpdated?: Date | null;\n      /**\n       * All \"applications\" of this meta site.\n       *\n       * In old MetaSiteDTO -- embeddedServices.\n       */\n      apps?: App[];\n      /** Namespace of meta site. */\n      namespace?: Namespace;\n      /**\n       * Indicates whether https should be used for viewing a site.\n       *\n       * In old MetaSiteDTO -- flags.UseHttps.\n       */\n      useHttps?: boolean;\n      defaultSeoData?: SeoData;\n      /**\n       * Information about HTML application.\n       *\n       * In old MetaSiteDTO -- appplications.find(_.applicationType == HtmlWeb).\n       */\n      htmlApp?: HtmlApplication;\n      /** @deprecated */\n      externalUriMappings?: ExternalUriMapping[];\n      /** Indicates whether meta site was published. If true - site should be accessible for viewing. */\n      published?: boolean;\n      /**\n       * The name of meta site.\n       *\n       * Matches this regular expression: [a-z0-9_\\-]{4,20} (but for some legacy sites might be shorted/longer).\n       */\n      name?: string;\n      /**\n       * Indicates whether this site is managed by ADI editor\n       *\n       * Values:\n       * None - not managed.\n       * Some(false) - site was created via ADI editor, but later on user switched to regular editor.\n       * Some(true) - site was created and still is managed by ADI editor.\n       *\n       * In old MetaSiteDTO: embeddedService[embeddedServiceType=Onboarding].attributes.isInUse.\n       */\n      adi?: boolean | null;\n      /**\n       * Indicates whether this meta site is template.\n       *\n       * In old MetaSiteDTO: documentType == Template.\n       * @readonly\n       */\n      template?: boolean | null;\n      /**\n       * Identifier of a template (meta site) from which this site was created.\n       *\n       * If it's empty it either means that site wasn't created from a template OR it's very old, so we didn't store\n       * it back then.\n       *\n       * For example, if \"site\" was created from \"template\", then \"template\"'s id will be in origin_template_id.\n       * When \"site\" is cloned, clone will also have \"template\"'s id in origin_instance_id.\n       * @readonly\n       */\n      originTemplateId?: string | null;\n      /**\n       * Indicates meta site blocked from publishing and added additional filtering in listing API (MSS). READ_ONLY.\n       * @readonly\n       */\n      blocked?: boolean;\n      /**\n       * If true - default meta site routing (connected domains, free url, ML) is not used for this meta site.\n       *\n       * Meaning, that if `example.org` is connected to this meta site, `router-server` will return 404 for `example.org`\n       * anyway.\n       *\n       * This flag is set for some sites that have custom mapping in Routes API / wix-pages-bo.\n       */\n      dontUseDefaultRouting?: boolean;\n      /**\n       * Indicates the site is used as critical asset and as such is protected. You would be only able to provision applications to this meta site. READ_ONLY.\n       * @readonly\n       */\n      criticalAsset?: boolean;\n  }\n  interface App {\n      /**\n       * Identifier of application type (application definition id).\n       *\n       * Can be both UUID and non-UUID, for example: SiteMembers, Onboarding, CloudSiteExtension etc.\n       */\n      appDefId?: string;\n      /**\n       * Identifier of the instance (concrete application, installed on a site).\n       *\n       * Mostly UUID, but for some specific legacy cases might be something else.\n       */\n      instanceId?: string;\n      /**\n       * State of this app (see docs for state).\n       * @readonly\n       */\n      state?: State;\n      /**\n       * Identifier of the originating application. For example, if this app was part of a template,\n       * then an app will get instance_id of that app as origin instance id.\n       *\n       * If application was provisioned not from some template, it should be empty.\n       *\n       * Note, it could be == to instance_id (for old sites).\n       */\n      originInstanceId?: string;\n  }\n  /**\n   * Represents the actual state of the application on site. Do not confuse with the State in the old MetaSiteDTO,\n   * which has less values and doesn't have 1-to-1 correspondence with this one (this one is exact and correct!)\n   */\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      /** App is installed on a site. */\n      ENABLED = \"ENABLED\",\n      /** App is removed from a site (but we preserve it just in case). */\n      DISABLED = \"DISABLED\",\n      /** App is in \"demo\" mode, meaning that it's in read-only mode (it's in a template OR not installed yet). */\n      TEMPLATE = \"TEMPLATE\",\n      /** App is not installed, there is a user intention for it only (user will see the pimpl in the editor). */\n      PENDING = \"PENDING\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  interface SeoData {\n      /** A title. */\n      title?: string | null;\n      /** Indicates whether the site should be indexable by bots. */\n      indexable?: boolean;\n      /** TDB. */\n      suppressTrackingCookies?: boolean;\n      /** TDB. */\n      ogImage?: string | null;\n      /** A list of meta tags. */\n      metaTags?: MetaTag[];\n      /** A canonical URL for a site. */\n      canonicalUrl?: string | null;\n  }\n  interface MetaTag {\n      /** A name. */\n      name?: string;\n      /** A value. */\n      value?: string;\n      /** Indicates whether should be rendered as property. */\n      property?: boolean;\n  }\n  /** Represents an HTML application (HTML site). */\n  interface HtmlApplication {\n      /** Legacy, don't use it if you can. */\n      intId?: number;\n      /** Identifier of the instance. */\n      instanceId?: string;\n      seoData?: SeoData;\n      /** Language of this site. */\n      languageCode?: string;\n      /** File name for thumbnail. */\n      thumbnail?: string | null;\n      /** Indicates whether this site is managed by EditorX. */\n      editorX?: boolean;\n      /** Indicates whether this site is managed by Wix Studio. */\n      studio?: boolean;\n  }\n  interface ExternalUriMapping {\n      /** Deprecated. */\n      fromExternalUri?: string;\n      /** Deprecated. */\n      toWixUri?: string;\n      /** Deprecated. */\n      oldToWixUri?: string | null;\n      /** Deprecated. */\n      requireDomain?: boolean | null;\n  }\n  interface UserDataResponse {\n      userEmail?: string;\n      /** owner name */\n      userName?: string;\n      /** owner status */\n      userStatus?: string;\n      /** owner language */\n      userLanguage?: string;\n  }\n  interface QueryOrdersForMetasiteRequest {\n      /** meta site Id for EP orders to retrieve */\n      metasiteId: string;\n      /** paginated internal orders query request */\n      internalQueryOrdersRequest?: InternalQueryOrdersRequest;\n  }\n  interface InternalQueryOrdersRequest {\n      /** Query options. */\n      query?: PlatformQuery;\n  }\n  interface PlatformQuery extends PlatformQueryPagingMethodOneOf {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging$7;\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n      sort?: Sorting$7[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging$7;\n  }\n  interface Sorting$7 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$7;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$7 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$7 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryOrdersForMetasiteResponse {\n      /** found exisitng orders according to pagination and query provided. */\n      orders?: Order$1[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PlatformPagingMetadata;\n  }\n  interface PlatformPagingMetadata {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /** The offset which was requested. Returned if offset paging was used. */\n      offset?: number | null;\n      /** The total number of items that match the query. Returned if offset paging was used. */\n      total?: number | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used. */\n      cursors?: Cursors$7;\n  }\n  interface Cursors$7 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetOrderForMetasiteRequest {\n      /** meta site Id for EP order to retrieve */\n      metasiteId: string;\n      /** Order Id for EP order to retrieve */\n      orderId: string;\n  }\n  interface GetOrderForMetasiteResponse {\n      /** Existing EP order */\n      order?: Order$1;\n  }\n  interface ListOrderTransactionsForMetasiteRequest {\n      /** meta site Id for EP order transactions to retrieve */\n      metasiteId: string;\n      /** Order Id for EP order transactions to retrieve */\n      orderId: string;\n  }\n  interface ListOrderTransactionsForMetasiteResponse {\n      /** Order ID and its associated transactions. */\n      orderTransactions?: OrderTransactions$1;\n  }\n  interface OrderTransactions$1 {\n      /** Order ID. */\n      orderId?: string;\n      /** Record of payments made to the merchant. */\n      payments?: Payment$1[];\n      /** Record of refunds made to the buyer. */\n      refunds?: Refund$1[];\n  }\n  interface Payment$1 extends PaymentPaymentDetailsOneOf$1 {\n      /** Regular payment details. */\n      regularPaymentDetails?: RegularPaymentDetails$1;\n      /** Gift card payment details. */\n      giftcardPaymentDetails?: GiftCardPaymentDetails$1;\n      /**\n       * Membership payment details.\n       * @internal\n       */\n      membershipPaymentDetails?: MembershipPaymentDetails$1;\n      /**\n       * Payment ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Date and time the payment was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the payment was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Payment amount. */\n      amount?: Price$3;\n      /**\n       * Whether refunds for this payment are disabled.\n       * + `true`: This payment is not refundable.\n       * + `false`: This payment may be refunded. However, this ultimately depends on the payment provider.\n       */\n      refundDisabled?: boolean;\n  }\n  /** @oneof */\n  interface PaymentPaymentDetailsOneOf$1 {\n      /** Regular payment details. */\n      regularPaymentDetails?: RegularPaymentDetails$1;\n      /** Gift card payment details. */\n      giftcardPaymentDetails?: GiftCardPaymentDetails$1;\n      /**\n       * Membership payment details.\n       * @internal\n       */\n      membershipPaymentDetails?: MembershipPaymentDetails$1;\n  }\n  interface RegularPaymentDetails$1 extends RegularPaymentDetailsPaymentMethodDetailsOneOf$1 {\n      /** Whether regular card used */\n      creditCardDetails?: CreditCardPaymentMethodDetails$1;\n      /** Wix Payments order ID. */\n      paymentOrderId?: string | null;\n      /**\n       * Payment gateway's transaction ID. This ID can be used with the Wix Payments [Transactions API](https://dev.wix.com/docs/rest/api-reference/wix-payments/transactions/introduction).\n       * This field is only returned when the value of `offline_payment` is `false`.\n       */\n      gatewayTransactionId?: string | null;\n      /**\n       * Payment method. Non-exhaustive list of supported values:\n       * + `CreditCard`, `Alipay`, `AstropayCash`, `AstropayDBT`, `AstropayMBT`, `Bitcoin`, `BitPay`, `Cash`, `ConvenienceStore`, `EPay`, `Fake`, `Giropay`, `IDeal`, `InPerson`, `Klarna`, `MercadoPago`, `Netpay`, `NordeaSolo`, `Offline`, `PagSeguro`, `PayEasy`, `PayPal`, `Paysafecard`, `Paysafecash`, `PointOfSale`, `Poli`, `Privat24`, `Przelewy24`, `RapidTransfer`, `Sepa`, `Skrill`, `Sofort`, `Trustly`, `Neteller`, `Unionpay`, `UniPay`, `Yandex`\n       */\n      paymentMethod?: string | null;\n      /** Transaction ID in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for offline payments. */\n      providerTransactionId?: string | null;\n      /** Whether the payment was made offline. For example, when using cash or when marked as paid in the Business Manager. */\n      offlinePayment?: boolean;\n      /** Payment status. */\n      status?: TransactionStatus$1;\n      /** Whether there is a payment agreement that allows for future charges. */\n      savedPaymentMethod?: boolean;\n      /** Authorization details. */\n      authorizationDetails?: AuthorizationDetails$1;\n  }\n  /** @oneof */\n  interface RegularPaymentDetailsPaymentMethodDetailsOneOf$1 {\n      /** Whether regular card used */\n      creditCardDetails?: CreditCardPaymentMethodDetails$1;\n  }\n  enum TransactionStatus$1 {\n      UNDEFINED = \"UNDEFINED\",\n      APPROVED = \"APPROVED\",\n      PENDING = \"PENDING\",\n      PENDING_MERCHANT = \"PENDING_MERCHANT\",\n      CANCELED = \"CANCELED\",\n      DECLINED = \"DECLINED\",\n      REFUNDED = \"REFUNDED\",\n      PARTIALLY_REFUNDED = \"PARTIALLY_REFUNDED\",\n      AUTHORIZED = \"AUTHORIZED\",\n      VOIDED = \"VOIDED\"\n  }\n  interface CreditCardPaymentMethodDetails$1 {\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface AuthorizationDetails$1 {\n      /**\n       * Whether the authorized payment is of a delayed capture.\n       * @readonly\n       */\n      delayedCapture?: boolean;\n      /** Date and time the payment was authorized in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. */\n      authorizedDate?: Date | null;\n      /**\n       * List of captures associated with payment\n       * In case of failed it can be replaced with new one with PENDING or SUCCESS statuses\n       */\n      captures?: AuthorizationCapture$1[];\n      /** Void associated with payment */\n      void?: AuthorizationVoid$1;\n      /** Scheduled action for this transaction */\n      scheduledAction?: ScheduledAction$1;\n  }\n  interface AuthorizationCapture$1 {\n      /**\n       * Capture ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Status of this capture action */\n      status?: AuthorizationCaptureStatus$1;\n      /** Amount of this capture */\n      amount?: Price$3;\n      /** Date and time the capture was initiated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. */\n      _createdDate?: Date | null;\n      /** In case of status is FAILED may contain failure details */\n      failureDetails?: AuthorizationActionFailureDetails$1;\n  }\n  enum AuthorizationCaptureStatus$1 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Capture operation still in progress. */\n      PENDING = \"PENDING\",\n      /** Capture operation succeeded. */\n      SUCCEEDED = \"SUCCEEDED\",\n      /** Capture operation failed. */\n      FAILED = \"FAILED\"\n  }\n  interface AuthorizationActionFailureDetails$1 {\n      failureCode?: string;\n  }\n  interface AuthorizationVoid$1 {\n      /** Status of this void action */\n      status?: AuthorizationVoidStatus$1;\n      /** Date and time the void was initiated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. */\n      voidedDate?: Date | null;\n      /** In case of status is FAILED may contain failure details */\n      failureDetails?: AuthorizationActionFailureDetails$1;\n      /** Reason of void action */\n      reason?: Reason$1;\n  }\n  enum AuthorizationVoidStatus$1 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Void operation still in progress. */\n      PENDING = \"PENDING\",\n      /** Void operation succeeded. */\n      SUCCEEDED = \"SUCCEEDED\",\n      /** Void operation failed. */\n      FAILED = \"FAILED\"\n  }\n  /** Reason the authorization was voided. */\n  enum Reason$1 {\n      UNKNOWN_REASON = \"UNKNOWN_REASON\",\n      /** Authorization was voided by user. */\n      MANUAL = \"MANUAL\",\n      /** Authorization passed execution date. */\n      SCHEDULED = \"SCHEDULED\"\n  }\n  interface ScheduledAction$1 {\n      /** Type of the action. */\n      actionType?: ActionType$1;\n      /** The date and time of the action. */\n      executionDate?: Date | null;\n  }\n  enum ActionType$1 {\n      UNKNOWN_ACTION_TYPE = \"UNKNOWN_ACTION_TYPE\",\n      VOID = \"VOID\",\n      CAPTURE = \"CAPTURE\"\n  }\n  interface GiftCardPaymentDetails$1 {\n      /** Gift card payment ID. */\n      giftCardPaymentId?: string;\n      /**\n       * Gift card ID.\n       * @internal\n       * @deprecated\n       */\n      giftCardId?: string;\n      /** ID of the app that created the gift card. */\n      appId?: string;\n      /**\n       * Whether the gift card is voided.\n       * @readonly\n       */\n      voided?: boolean;\n      /**\n       * Gift card obfuscated code.\n       * @internal\n       */\n      obfuscatedCode?: string | null;\n  }\n  interface MembershipPaymentDetails$1 {\n      /** Membership ID. */\n      membershipId?: string;\n      /** ID of the line item this membership applies to. */\n      lineItemId?: string;\n      /** Payment status. */\n      status?: MembershipPaymentStatus$1;\n      /** Membership name. */\n      name?: MembershipName$2;\n      /** The transaction ID in the membership system. Can be used to void the transaction. */\n      externalTransactionId?: string | null;\n      /**\n       * Whether the membership is voided.\n       * @readonly\n       */\n      voided?: boolean;\n      /** ID of the application providing this payment option. */\n      providerAppId?: string;\n  }\n  enum MembershipPaymentStatus$1 {\n      /** Payment was charged. */\n      CHARGED = \"CHARGED\",\n      /** The attempt to charge the payment failed, for example, due to lack of credits. */\n      CHARGE_FAILED = \"CHARGE_FAILED\"\n  }\n  interface MembershipName$2 {\n      /** Membership name. */\n      original?: string;\n      /** Translated membership name. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface Refund$1 {\n      /**\n       * Refund ID.\n       * @readonly\n       */\n      _id?: string;\n      /** List of transactions. */\n      transactions?: RefundTransaction$1[];\n      /** Refund business details. */\n      details?: RefundDetails$1;\n      /**\n       * Date and time the refund was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Aggregated refund status\n       * @internal\n       * @readonly\n       */\n      summary?: AggregatedRefundSummary$1;\n  }\n  interface RefundTransaction$1 {\n      /** ID of the payment associated with this refund. */\n      paymentId?: string;\n      /** Refund amount. */\n      amount?: Price$3;\n      /** Refund status. */\n      refundStatus?: RefundStatus$1;\n      /**\n       * Payment gateway's refund ID. This ID can be used with the Wix Payments [Transactions API](https://dev.wix.com/docs/rest/api-reference/wix-payments/transactions/introduction).\n       * This field is only returned when the value of `external_refund` is `false`.\n       */\n      gatewayRefundId?: string | null;\n      /** ID of the refund in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for external refunds. */\n      providerRefundId?: string | null;\n      /** Whether refund was made externally and manually on the payment provider's side. */\n      externalRefund?: boolean;\n  }\n  /** Refund transaction status. */\n  enum RefundStatus$1 {\n      /** Refund was initiated on payment provider side. PENDING status was assigned by provider. */\n      PENDING = \"PENDING\",\n      /** Refund transaction succeeded. */\n      SUCCEEDED = \"SUCCEEDED\",\n      /** Refund transaction failed. */\n      FAILED = \"FAILED\",\n      /** Refund request acknowledged, and will be executed soon. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Refund was initiated on payment provider side. */\n      STARTED = \"STARTED\"\n  }\n  /** Business model of a refund request */\n  interface RefundDetails$1 {\n      /** Order line item IDs and quantities that were refunded. */\n      items?: RefundItem$1[];\n      /** Whether the shipping fee was also refunded. */\n      shippingIncluded?: boolean;\n      /** Reason for the refund, provided by customer (optional). */\n      reason?: string | null;\n      /**\n       * Line items that were refunded.\n       * @internal\n       */\n      lineItems?: V1LineItemRefund[];\n      /**\n       * Additional fees that were refunded.\n       * @internal\n       */\n      additionalFees?: V1AdditionalFeeRefund[];\n      /**\n       * Shipping amount that was refunded.\n       * @internal\n       */\n      shipping?: V1ShippingRefund;\n  }\n  interface RefundItem$1 {\n      /** Line item ID the refunded line item. */\n      lineItemId?: string;\n      /** Line item quantity refunded. */\n      quantity?: number;\n  }\n  interface V1LineItemRefund {\n      /**\n       * Line item ID.\n       * @internal\n       */\n      lineItemId?: string;\n      /**\n       * Refund quantity.\n       * @internal\n       */\n      quantity?: number;\n  }\n  interface V1AdditionalFeeRefund {\n      /**\n       * Additional fee ID.\n       * @internal\n       */\n      additionalFeeId?: string;\n      /**\n       * Refund amount.\n       * @internal\n       */\n      amount?: Price$3;\n  }\n  interface V1ShippingRefund {\n      /**\n       * Refund amount.\n       * @internal\n       */\n      amount?: Price$3;\n  }\n  interface AggregatedRefundSummary$1 {\n      /**\n       * Total refund amount requested\n       * @internal\n       */\n      requestedRefund?: Price$3;\n      /**\n       * Pending refund amount\n       * @internal\n       */\n      pendingRefund?: Price$3;\n      /**\n       * Refunded amount: portion of requested_refund_amount that succeeded\n       * @internal\n       */\n      refunded?: Price$3;\n      /**\n       * Failed refund amount: portion of requested_refund_amount that failed\n       * @internal\n       */\n      failedRefundAmount?: Price$3;\n      /**\n       * `true`: at least one refund transaction is still in PENDING status\n       * @internal\n       */\n      pending?: boolean;\n  }\n  interface UpsertRefundRequest {\n      /** Meta site ID. */\n      metasiteId?: string;\n      /** Order ID associated with refund. */\n      orderId?: string;\n      /** Refund to upsert. */\n      refund?: Refund$1;\n  }\n  interface UpsertRefundResponse {\n      /** Updated order transactions. */\n      orderTransactions?: OrderTransactions$1;\n  }\n  interface DomainEvent$9 extends DomainEventBodyOneOf$9 {\n      createdEvent?: EntityCreatedEvent$9;\n      updatedEvent?: EntityUpdatedEvent$9;\n      deletedEvent?: EntityDeletedEvent$9;\n      actionEvent?: ActionEvent$9;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$9 {\n      createdEvent?: EntityCreatedEvent$9;\n      updatedEvent?: EntityUpdatedEvent$9;\n      deletedEvent?: EntityDeletedEvent$9;\n      actionEvent?: ActionEvent$9;\n  }\n  interface EntityCreatedEvent$9 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$9;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$9 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$9 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$9 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$9 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$8 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$9;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$9 extends IdentificationDataIdOneOf$9 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$8;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$9 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$8 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface UpdateInternalDocumentsEvent extends UpdateInternalDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: InternalDocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update internal documents matching filter */\n      updateByFilter?: InternalDocumentUpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: InternalUpdateExistingOperation;\n      /** insert/update documents with versioning */\n      versionedUpdate?: VersionedDocumentUpdateOperation;\n      /** delete by document ids with versioning */\n      versionedDeleteByIds?: VersionedDeleteByIdsOperation;\n      /** type of the documents */\n      documentType?: string;\n      /** language of the documents (mandatory) */\n      language?: string | null;\n      /**\n       * one or more search documents\n       * @deprecated\n       */\n      addDocuments?: InternalDocument[];\n      /**\n       * one or more ids of indexed documents to be removed. Removal will happen before addition (if both provided)\n       * @deprecated\n       */\n      removeDocumentIds?: string[];\n      /** id to pass to processing notification */\n      correlationId?: string | null;\n      /** when event was created / issued */\n      issuedAt?: Date | null;\n  }\n  /** @oneof */\n  interface UpdateInternalDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: InternalDocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update internal documents matching filter */\n      updateByFilter?: InternalDocumentUpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: InternalUpdateExistingOperation;\n      /** insert/update documents with versioning */\n      versionedUpdate?: VersionedDocumentUpdateOperation;\n      /** delete by document ids with versioning */\n      versionedDeleteByIds?: VersionedDeleteByIdsOperation;\n  }\n  interface InternalDocument {\n      /** document with mandatory fields (id) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n  }\n  interface InternalDocumentUpdateOperation {\n      /** documents to index or update */\n      documents?: InternalDocument[];\n  }\n  interface DeleteByIdsOperation {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface DeleteByFilterOperation {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface InternalDocumentUpdateByFilterOperation {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: InternalDocument;\n  }\n  interface InternalUpdateExistingOperation {\n      /** documents to update */\n      documents?: InternalDocument[];\n  }\n  interface VersionedDocumentUpdateOperation {\n      /** documents to create or overwrite */\n      documents?: InternalDocument[];\n      /** versioning mode to use instead of default */\n      versioningMode?: VersioningMode;\n  }\n  enum VersioningMode {\n      /** use default versioning mode agreed with search team */\n      DEFAULT = \"DEFAULT\",\n      /** execute only if version is greater than existing */\n      GREATER_THAN = \"GREATER_THAN\",\n      /** execute only if version is greater or equal to existing */\n      GREATER_OR_EQUAL = \"GREATER_OR_EQUAL\"\n  }\n  interface VersionedDeleteByIdsOperation {\n      /** ids with version of the documents to delete */\n      documentIds?: VersionedDocumentId[];\n  }\n  interface VersionedDocumentId {\n      /** document id */\n      documentId?: string;\n      /** document version */\n      version?: string;\n      /** versioning mode to use instead of default */\n      versioningMode?: VersioningMode;\n  }\n  interface TriggerReindexRequest {\n      metasiteId: string;\n      orderIds?: string[];\n  }\n  interface TriggerReindexResponse {\n  }\n  interface Empty$5 {\n  }\n  interface BatchOfTriggerReindexOrderRequest {\n      requests?: TriggerReindexOrderRequest[];\n  }\n  interface SendBuyerConfirmationEmailRequest {\n      orderId: string;\n  }\n  interface SendBuyerConfirmationEmailResponse {\n  }\n  interface SendBuyerPaymentsReceivedEmailRequest {\n      orderId: string;\n  }\n  interface SendBuyerPaymentsReceivedEmailResponse {\n  }\n  interface SendBuyerPickupConfirmationEmailRequest {\n      orderId: string;\n  }\n  interface SendBuyerPickupConfirmationEmailResponse {\n  }\n  interface BulkSendBuyerPickupConfirmationEmailsRequest {\n      /** IDs of orders to send pickup emails for. */\n      orderIds?: string[];\n  }\n  interface BulkSendBuyerPickupConfirmationEmailsResponse {\n  }\n  interface SendBuyerShippingConfirmationEmailRequest {\n      orderId: string;\n  }\n  interface SendBuyerShippingConfirmationEmailResponse {\n  }\n  interface BulkSendBuyerShippingConfirmationEmailsRequest {\n      /** IDs of orders to send pickup emails for. */\n      orderIds?: string[];\n  }\n  interface BulkSendBuyerShippingConfirmationEmailsResponse {\n  }\n  interface SendMerchantOrderReceivedNotificationRequest {\n      orderId: string;\n  }\n  interface SendMerchantOrderReceivedNotificationResponse {\n  }\n  interface SendCancelRefundEmailRequest {\n      /** The ID of order that is canceled/refunded */\n      orderId: string;\n      /** Personal note added to the email (optional) */\n      customMessage?: string | null;\n      /** Refund amount */\n      refundAmount: Price$3;\n      /** Refund ID. (Optional) */\n      refundId?: string | null;\n  }\n  interface SendCancelRefundEmailResponse {\n  }\n  interface SendRefundEmailRequest {\n      /** The ID of order that is refunded */\n      orderId?: string;\n      /** Refund ID */\n      refundId?: string;\n      /** Personal note added to the email (optional) */\n      customMessage?: string | null;\n  }\n  interface SendRefundEmailResponse {\n  }\n  interface SendMerchantOrderReceivedPushRequest {\n      orderId: string;\n  }\n  interface SendMerchantOrderReceivedPushResponse {\n  }\n  interface PreviewEmailByTypeRequest {\n      emailType: PreviewEmailType;\n  }\n  enum PreviewEmailType {\n      ORDER_PLACED = \"ORDER_PLACED\",\n      DOWNLOAD_LINKS = \"DOWNLOAD_LINKS\",\n      ORDER_SHIPPED = \"ORDER_SHIPPED\",\n      ORDER_READY_FOR_PICKUP = \"ORDER_READY_FOR_PICKUP\"\n  }\n  interface PreviewEmailByTypeResponse {\n      emailPreview?: string;\n  }\n  interface PreviewRefundEmailRequest {\n      orderId: string;\n      /** Refund amount */\n      refundAmount: Price$3;\n      /** Refund business details */\n      details?: RefundDetails$1;\n      /** Personal note added to the email (optional) */\n      customMessage?: string | null;\n      /** Refund ID. (Optional) */\n      refundId?: string | null;\n  }\n  interface PreviewRefundEmailResponse {\n      emailPreview?: string;\n  }\n  interface PreviewCancelEmailRequest {\n      orderId: string;\n      /** Personal note added to the email (optional) */\n      customMessage?: string | null;\n  }\n  interface PreviewCancelEmailResponse {\n      emailPreview?: string;\n  }\n  interface PreviewCancelRefundEmailRequest {\n      orderId: string;\n      /** Personal note added to the email (optional) */\n      customMessage?: string | null;\n      /** Refund amount */\n      refundAmount?: Price$3;\n      /** Refund ID. (Optional) */\n      refundId?: string | null;\n  }\n  interface PreviewCancelRefundEmailResponse {\n      emailPreview?: string;\n  }\n  interface PreviewBuyerPaymentsReceivedEmailRequest {\n  }\n  interface PreviewBuyerPaymentsReceivedEmailResponse {\n      emailPreview?: string;\n  }\n  interface PreviewBuyerConfirmationEmailRequest {\n  }\n  interface PreviewBuyerConfirmationEmailResponse {\n      emailPreview?: string;\n  }\n  interface PreviewBuyerPickupConfirmationEmailRequest {\n  }\n  interface PreviewBuyerPickupConfirmationEmailResponse {\n      emailPreview?: string;\n  }\n  interface PreviewShippingConfirmationEmailRequest {\n  }\n  interface PreviewShippingConfirmationEmailResponse {\n      emailPreview?: string;\n  }\n  interface PreviewResendDownloadLinksEmailRequest {\n  }\n  interface PreviewResendDownloadLinksEmailResponse {\n      emailPreview?: string;\n  }\n  interface PreparePaymentCollectionRequest {\n      /** Ecom order ID. */\n      ecomOrderId: string;\n      /** Amount to collect */\n      amount: Price$3;\n      /**\n       * Optional parameter. When present, payment collection will be performed using given payment gateway order.\n       * Existing payment gateway order will be updated with a new amount.\n       * When parameter is absent, new payment gateway order will be created and used for payment collection.\n       */\n      paymentGatewayOrderId?: string | null;\n      /**\n       * Whether to delay capture of the payment.\n       * Default: false\n       * @deprecated Whether to delay capture of the payment.\n       * Default: false\n       * @replacedBy delayed_capture_settings.scheduled_action\n       * @targetRemovalDate 2024-09-30\n       */\n      delayedCapture?: boolean;\n      /**\n       * Specifies whether payment collection is initiated by Merchant or User of User\n       * Default: `true`\n       * @internal\n       */\n      merchantInitiated?: boolean | null;\n      /**\n       * Redirect urls which are used to return buyer to third party system.\n       * @internal\n       */\n      redirectUrls?: RedirectUrls;\n      /** Delayed capture payment settings */\n      delayedCaptureSettings?: DelayedCaptureSettings;\n  }\n  interface RedirectUrls {\n      /** URL to redirect buyer in case of approved (successful) transaction */\n      successUrl?: string | null;\n      /** URL to redirect buyer in case of buyer canceled the transaction */\n      cancelUrl?: string | null;\n      /** URL to redirect buyer in case of failed/rejected transaction */\n      errorUrl?: string | null;\n      /** URL to redirect buyer in case of pending transaction (that might take some time to process) */\n      pendingUrl?: string | null;\n  }\n  interface DelayedCaptureSettings {\n      /** Specifies the automatic action (void/capture) for authorized transaction after the specified duration */\n      scheduledAction?: DelayedCaptureSettingsScheduledAction;\n      /** Delay duration before execution. Optional - if not set, providers default period will be used */\n      delayDuration?: Duration;\n  }\n  enum DelayedCaptureSettingsScheduledAction {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** Whether payment will be auto-voided when duration passes */\n      VOID = \"VOID\",\n      /** Whether payment will be auto-captured when duration passes */\n      CAPTURE = \"CAPTURE\"\n  }\n  interface Duration {\n      /** Amount of units. For example, 30 MINUTES, 1 HOURS, 7 DAYS, etc */\n      count?: number;\n      /** Duration unit: MINUTES, HOURS and DAYS */\n      unit?: DurationUnit;\n  }\n  enum DurationUnit {\n      UNKNOWN_DURATION_UNIT = \"UNKNOWN_DURATION_UNIT\",\n      MINUTES = \"MINUTES\",\n      HOURS = \"HOURS\",\n      DAYS = \"DAYS\"\n  }\n  interface PreparePaymentCollectionResponse {\n      /** Payment gateway order id which is associated with given payment */\n      paymentGatewayOrderId?: string;\n  }\n  interface GetPaymentCollectabilityStatusRequest {\n      /** Ecom order ID. */\n      ecomOrderId: string;\n  }\n  interface GetPaymentCollectabilityStatusResponse {\n      /** Payment collectability status */\n      status?: PaymentCollectabilityStatus;\n      /** Collectable order amount */\n      amount?: Price$3;\n      /**\n       * Whether authorization supported\n       * @internal\n       */\n      authorizationSupported?: boolean;\n  }\n  enum PaymentCollectabilityStatus {\n      UNKNOWN = \"UNKNOWN\",\n      COLLECTABLE = \"COLLECTABLE\",\n      NONCOLLECTABLE_ORDER_IS_CANCELLED = \"NONCOLLECTABLE_ORDER_IS_CANCELLED\",\n      NONCOLLECTABLE_ORDER_IS_PAID = \"NONCOLLECTABLE_ORDER_IS_PAID\",\n      NONCOLLECTABLE_MISSING_PAYMENT_METHOD = \"NONCOLLECTABLE_MISSING_PAYMENT_METHOD\",\n      NONCOLLECTABLE_ORDER_IS_PENDING = \"NONCOLLECTABLE_ORDER_IS_PENDING\",\n      NONCOLLECTABLE_ORDER_IS_REJECTED = \"NONCOLLECTABLE_ORDER_IS_REJECTED\"\n  }\n  interface RecordManuallyCollectedPaymentRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Amount to be recorded as approved manual payment for given order */\n      amount: Price$3;\n  }\n  interface RecordManuallyCollectedPaymentResponse {\n  }\n  interface MarkOrderAsPaidRequest {\n      /** Ecom order ID. */\n      ecomOrderId: string;\n  }\n  interface MarkOrderAsPaidResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface BulkMarkOrdersAsPaidRequest {\n      /** IDs of orders to mark as paid. */\n      ecomOrderIds: string[];\n  }\n  interface BulkMarkOrdersAsPaidResponse {\n      /**\n       * Items updated by the bulk action.\n       * The Order entity within the results optimistically changes its payment status to paid, however this process is async.\n       */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkOrderResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata$1;\n      /**\n       * Updated order.\n       *\n       * Returned when `returnFullEntity = true`.\n       */\n      item?: Order$1;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$4;\n  }\n  interface ApplicationError$4 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetRefundabilityStatusRequest$1 {\n      /** Order ID. */\n      ecomOrderId: string;\n  }\n  interface GetRefundabilityStatusResponse$1 {\n      /** Refundability details. */\n      refundabilities?: Refundability$1[];\n      /**\n       * Whether the order supports refunding per item.\n       * @deprecated\n       */\n      refundablePerItem?: boolean;\n  }\n  interface Refundability$1 extends RefundabilityAdditionalRefundabilityInfoOneOf$1 {\n      /** Reason why payment is not refundable. */\n      nonRefundableReason?: NonRefundableReason$1;\n      /** Reason why payment is only refundable manually. */\n      manuallyRefundableReason?: ManuallyRefundableReason$1;\n      /** Payment ID. */\n      paymentId?: string;\n      /** Payment refundability status. */\n      refundabilityStatus?: RefundableStatus$1;\n      /** Link to payment provider dashboard. */\n      providerLink?: string | null;\n  }\n  /** @oneof */\n  interface RefundabilityAdditionalRefundabilityInfoOneOf$1 {\n      /** Reason why payment is not refundable. */\n      nonRefundableReason?: NonRefundableReason$1;\n      /** Reason why payment is only refundable manually. */\n      manuallyRefundableReason?: ManuallyRefundableReason$1;\n  }\n  enum RefundableStatus$1 {\n      NOT_REFUNDABLE = \"NOT_REFUNDABLE\",\n      MANUAL = \"MANUAL\",\n      REFUNDABLE = \"REFUNDABLE\"\n  }\n  enum NonRefundableReason$1 {\n      NONE = \"NONE\",\n      ALREADY_REFUNDED = \"ALREADY_REFUNDED\",\n      PROVIDER_IS_DOWN = \"PROVIDER_IS_DOWN\",\n      INTERNAL_ERROR = \"INTERNAL_ERROR\",\n      NOT_PAID = \"NOT_PAID\",\n      ACCESS_DENIED = \"ACCESS_DENIED\",\n      ZERO_PRICE = \"ZERO_PRICE\",\n      DISABLED_BY_PROVIDER = \"DISABLED_BY_PROVIDER\",\n      PENDING_REFUND = \"PENDING_REFUND\",\n      FORBIDDEN = \"FORBIDDEN\",\n      TRANSACTION_NOT_FOUND = \"TRANSACTION_NOT_FOUND\",\n      ORDER_IS_PENDING = \"ORDER_IS_PENDING\",\n      ORDER_IS_REJECTED = \"ORDER_IS_REJECTED\"\n  }\n  enum ManuallyRefundableReason$1 {\n      EXPIRED = \"EXPIRED\",\n      NOT_SUPPORTED = \"NOT_SUPPORTED\",\n      OFFLINE = \"OFFLINE\"\n  }\n  interface CreatePaymentGatewayOrderRequest {\n      /** Ecom order ID. */\n      ecomOrderId: string;\n      /** Information about the user who initiated the payment. */\n      chargedBy?: ChargedBy;\n      /**\n       * Whether to delay capture of the payment.\n       *\n       * Default: false\n       * @internal\n       */\n      delayedCapture?: boolean;\n  }\n  interface ChargedBy {\n      /** ID - id of the user who initiated the payment */\n      _id?: string;\n      /** Full name - name of the user who initiated the payment */\n      fullName?: string | null;\n  }\n  interface CreatePaymentGatewayOrderResponse {\n      /** ID of the order created in the payment gateway */\n      paymentGatewayOrderId?: string;\n  }\n  interface ChargeMembershipsRequest {\n      /** Order ID. */\n      ecomOrderId: string;\n      /**\n       * The member id. Do not attempt to get it from the request context, since in some cases the caller is not a member\n       * but a user which is using the membership on behalf of the a member\n       */\n      memberId: string;\n      /** List of items to be paid by memberships */\n      membershipCharges?: MembershipChargeItem[];\n  }\n  interface MembershipChargeItem {\n      /** The id of used membership */\n      membershipId?: string;\n      /** ID of the application providing this payment option */\n      appId?: string;\n      /** The name of used membership */\n      membershipName?: MembershipName$2;\n      /** Additional data about this membership */\n      membershipAdditionalData?: Record<string, any> | null;\n      /** Catalog and item reference info. */\n      catalogReference?: CatalogReference$3;\n      /** Properties of the service. When relevant, contains information such as date and number of participants. */\n      serviceProperties?: ServiceProperties$1;\n      /**\n       * Usually would be the same as catalogReference.catalogItemId\n       * For cases when these are not the same, this field would return the actual id of the item in the catalog\n       * For example, for Wix bookings, catalogReference.catalogItemId is the booking id, and this value is being set to be the service id\n       */\n      rootCatalogItemId?: string | null;\n      /** line item id of Checkout/Order line item */\n      lineItemId?: string;\n  }\n  interface ServiceProperties$1 {\n      /**\n       * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * For example, the start time of a class.\n       */\n      scheduledDate?: Date | null;\n      /** The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room. */\n      numberOfParticipants?: number | null;\n  }\n  interface ChargeMembershipsResponse {\n  }\n  interface TriggerRefundRequest$1 {\n      /** The order this refund related to */\n      ecomOrderId: string;\n      /** Refund operations information */\n      payments: PaymentRefund$1[];\n      /** Business model of a refund */\n      details?: RefundDetails$1;\n      /** Side effect details related to refund */\n      sideEffects?: RefundSideEffects$1;\n  }\n  interface PaymentRefund$1 {\n      /** Specific payment within the order to refund */\n      paymentId?: string;\n      /** Refund amount. Not relevant for membership and gift card refunds. */\n      amount?: Price$3;\n      /**\n       * Whether refund is made externally and manually (on the payment provider's side)\n       * When false (default), the payment gateway will be called in order to make an actual refund, and then the payment will be marked as refunded.\n       * When true, the payment will only be *marked* as refunded, and no actual refund will be performed.\n       */\n      externalRefund?: boolean;\n      /**\n       * Gateway refund id. When param is present, new refund is not created.\n       * Instead if order has a refund transaction with given gateway refund id, this refund will be updated with details from request,\n       * and all side effects from request will be executed.\n       * @internal\n       */\n      gatewayRefundId?: string | null;\n  }\n  interface RefundSideEffects$1 {\n      /** Inventory restock details as part of this refund. */\n      restockInfo?: RestockInfo$1;\n      /** Whether to send a refund confirmation email to the customer. */\n      sendOrderRefundedEmail?: boolean;\n      /** Custom message added to the refund confirmation email. */\n      customMessage?: string | null;\n  }\n  interface RestockInfo$1 {\n      /** Restock type. */\n      type?: RestockType$1;\n      /**\n       * Deprecated, use items instead\n       * @internal\n       * @deprecated\n       */\n      lineItemIds?: string[];\n      /** Restocked line items and quantities. Only relevant for `{\"type\": \"SOME_ITEMS\"}`. */\n      items?: RestockItem$1[];\n  }\n  enum RestockType$1 {\n      NO_ITEMS = \"NO_ITEMS\",\n      ALL_ITEMS = \"ALL_ITEMS\",\n      SOME_ITEMS = \"SOME_ITEMS\"\n  }\n  interface RestockItem$1 {\n      /** ID of the line item being restocked. */\n      lineItemId?: string;\n      /** Line item quantity being restocked. */\n      quantity?: number;\n  }\n  interface TriggerRefundResponse$1 {\n      /** All order's transactions after the refunds were added */\n      orderTransactions?: OrderTransactions$1;\n      /** Created refund ID */\n      refundId?: string | null;\n      /** Payment ID's that the refund execution had failed for */\n      failedPaymentIds?: ItemMetadata$1[];\n  }\n  interface CalculateRefundRequest$1 {\n      /** Order ID */\n      ecomOrderId: string;\n      /** Refunded line items and quantity */\n      refundItems?: CalculateRefundItemRequest$1[];\n      /** Should include shipping in refund calculation */\n      refundShipping?: boolean;\n  }\n  interface CalculateRefundItemRequest$1 {\n      /** ID of the line item being refunded */\n      _id?: string;\n      /** How much of that line item is being refunded */\n      quantity?: number;\n  }\n  interface CalculateRefundResponse$1 {\n      /** Total refundable amount */\n      total?: Price$3;\n      /** Tax cost of the order */\n      tax?: Price$3;\n      /** Discount given for this order */\n      discount?: Price$3;\n      /** Total cost of the order (without tax) */\n      subtotal?: Price$3;\n      /** Total shipping cost for order */\n      shipping?: Price$3;\n      /** Previous refund given on that order */\n      previouslyRefundedAmount?: Price$3;\n      /** The refundable items of that order */\n      items?: CalculateRefundItemResponse$1[];\n  }\n  interface CalculateRefundItemResponse$1 {\n      /** Line item ID */\n      _id?: string;\n      /** Refundable amount for requested quantity of items (price of requested quantity of items without tax and discount) */\n      price?: Price$3;\n  }\n  interface VoidAuthorizedPaymentsRequest {\n      /** Wix eCommerce order ID */\n      ecomOrderId: string;\n      /** Payment IDs */\n      paymentIds: string[];\n  }\n  interface VoidAuthorizedPaymentsResponse {\n      /** All order's transactions after the void was triggered */\n      orderTransactions?: OrderTransactions$1;\n  }\n  interface CaptureAuthorizedPaymentsRequest {\n      /** Wix eCommerce order ID */\n      ecomOrderId: string;\n      /** Capture payments information */\n      payments: PaymentCapture[];\n  }\n  interface PaymentCapture {\n      /** Payment ID */\n      paymentId?: string | null;\n      /**\n       * Capture amount.\n       * If not provided - full authorized amount will be captured.\n       */\n      amount?: Price$3;\n  }\n  interface CaptureAuthorizedPaymentsResponse {\n      /** All order's transactions after the capture was triggered */\n      orderTransactions?: OrderTransactions$1;\n  }\n  interface ChargeSavedPaymentMethodRequest {\n      /** Ecom Order ID. */\n      ecomOrderId: string;\n      /** Amount to be charged */\n      amount: Price$3;\n  }\n  interface ChargeSavedPaymentMethodResponse {\n      /** Payment gateway's order ID (e.g Wix Payments) */\n      paymentGatewayOrderId?: string;\n  }\n  interface DiffmatokyPayload$2 {\n      left?: string;\n      right?: string;\n      compareChannel?: string;\n      entityId?: string;\n      errorInformation?: ErrorInformation$2;\n      tags?: string[];\n  }\n  interface ErrorInformation$2 {\n      stackTrace?: string;\n  }\n  interface ContinueSideEffectsFlowInLegacyData {\n      storeId?: string;\n      orderId?: string;\n      ordersExperiments?: OrdersExperiments;\n  }\n  interface OrdersExperiments {\n      epCommitTax?: boolean;\n      moveMerchantEmailToEp?: boolean;\n      moveBuyerOrderConfirmationEmailToEp?: boolean;\n      producedByEpBridge?: boolean;\n      enableRewrittenSideEffects?: boolean;\n  }\n  interface IndexingMessage$1 {\n      _id?: string;\n      opType?: number;\n      requiredVersions?: string[];\n  }\n  interface GetOrderRequest {\n      /** ID of the order to retrieve. */\n      _id: string;\n  }\n  interface GetOrderResponse {\n      /** The requested order. */\n      order?: Order$1;\n  }\n  interface InternalQueryOrdersResponse {\n      /** List of orders. */\n      orders?: Order$1[];\n      /** Details on the paged set of results returned. */\n      metadata?: PlatformPagingMetadata;\n  }\n  interface QueryOrderRequest {\n      /** Query options. */\n      query?: PlatformQuery;\n  }\n  interface QueryOrderResponse {\n      /** List of orders. */\n      orders?: Order$1[];\n      /** Details on the paged set of results returned. */\n      metadata?: PlatformPagingMetadata;\n  }\n  interface SearchOrdersRequest {\n      /** Search options. */\n      search?: CursorSearch;\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$7;\n      /**\n       * Filter object.\n       *\n       * For example, the following `filter` object will only return orders with payment statuses of paid and/or partially paid:\n       *\n       * `\"filter\": {\"paymentStatus\": {\"$in\": [\"PAID\", \"PARTIALLY_PAID\"]}}`\n       *\n       * Learn more about the [filter format](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Array of sort objects that specify the order in which results should be sorted.\n       *\n       * For example, the following `sort` array will sort by `createdDate` in descending order:\n       *\n       * `\"sort\": [{\"fieldName\": \"createdDate\", \"order\":\"DESC\"}]`.\n       *\n       * Learn more about the [sort format](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$7[];\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$7;\n  }\n  interface SearchOrdersResponse {\n      /** List of orders. */\n      orders?: Order$1[];\n      /** Details on the paged set of results returned. */\n      metadata?: CursorPagingMetadata$6;\n  }\n  interface CursorPagingMetadata$6 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$7;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface CreateOrderRequest {\n      /** Order info. */\n      order: Order$1;\n      /**\n       * Determine order lifecycle\n       * @internal\n       */\n      settings?: OrderCreationSettings;\n  }\n  interface OrderCreationSettings {\n      /**\n       * Condition for the order to be approved.\n       * Default: `DEFAULT`\n       * @internal\n       */\n      orderApprovalStrategy?: OrderApprovalStrategy;\n      /**\n       * Notification settings to be applied on order creation\n       * @internal\n       */\n      notifications?: OrderCreateNotifications;\n  }\n  enum OrderApprovalStrategy {\n      /** When `order.priceSummary.total = 0`, **or** after receiving payment. */\n      DEFAULT = \"DEFAULT\",\n      /** Order is approved **only** after receiving payment. */\n      PAYMENT_RECEIVED = \"PAYMENT_RECEIVED\",\n      PAYMENT_METHOD_SAVED = \"PAYMENT_METHOD_SAVED\"\n  }\n  interface OrderCreateNotifications {\n      /**\n       * Whether to send notification to the buyer.\n       *\n       * Default: `true`\n       * @internal\n       */\n      sendNotificationToBuyer?: boolean | null;\n      /**\n       * Whether to send notifications to the business.\n       *\n       * Default: `true`\n       * @internal\n       */\n      sendNotificationsToBusiness?: boolean | null;\n  }\n  interface CreateOrderResponse {\n      /** Newly created order. */\n      order?: Order$1;\n  }\n  interface UpdateOrderRequest {\n      /** Order to be updated. */\n      order: Order$1;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateOrderResponse {\n      /** Newly created order. */\n      order?: Order$1;\n  }\n  interface BulkUpdateOrdersRequest {\n      /** Orders to update. */\n      orders: MaskedOrder[];\n      /**\n       * Whether to return the full order entities.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface MaskedOrder {\n      /** Order to be updated. */\n      order?: Order$1;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateOrdersResponse {\n      /** Bulk action results. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface CommitDeltasRequest {\n      /** Order id to be updated */\n      _id: string;\n      /**\n       * Draft order Id representing this change.\n       * Use this ID to get this specific draft content. call .../v1/draft-orders/{draft_order_id}/get\n       */\n      draftOrderId?: string;\n      /** Draft order changes to be applied */\n      changes: DraftOrderDiffs;\n      /** Side-effects to happen after order is updated */\n      commitSettings?: DraftOrderCommitSettings;\n      /** Reason for edit, given by user (optional). */\n      reason?: string | null;\n  }\n  interface DraftOrderDiffs extends DraftOrderDiffsShippingUpdateInfoOneOf, DraftOrderDiffsBuyerUpdateInfoOneOf, DraftOrderDiffsBillingUpdateInfoOneOf, DraftOrderDiffsRecipientUpdateInfoOneOf {\n      /** Shipping info and selected shipping option details. */\n      changedShippingInfo?: ShippingInformation$1;\n      /** Remove existing shipping info. */\n      shippingInfoRemoved?: boolean;\n      /**\n       * Buyer info and selected buyer option details.\n       * @internal\n       */\n      changedBuyerInfo?: BuyerInfo$1;\n      /**\n       * Remove existing buyer info.\n       * @internal\n       */\n      buyerInfoRemoved?: boolean;\n      /**\n       * Updated billing info.\n       * @internal\n       */\n      changedBillingInfo?: AddressWithContact;\n      /**\n       * Remove existing billing info.\n       * @internal\n       */\n      billingInfoRemoved?: boolean;\n      /**\n       * Updated recipient info.\n       * @internal\n       */\n      changedRecipientInfo?: AddressWithContact;\n      /**\n       * Remove existing recipient info.\n       * @internal\n       */\n      recipientInfoRemoved?: boolean;\n      /** Added/updated/removed order line items. */\n      lineItems?: V1LineItemDelta[];\n      /** Added/updated/removed discounts. */\n      appliedDiscounts?: AppliedDiscountDelta[];\n      /** Added/updated/removed additional fee. */\n      additionalFees?: AdditionalFeeDelta[];\n      /**\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Updated Tax summary. overwrites existing tax summary.\n       * @deprecated Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Updated Tax summary. overwrites existing tax summary.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxSummary?: TaxSummary$1;\n      /**\n       * Updated order price summary. overwrites existing price summary.\n       * balance will be updated automatically.\n       */\n      priceSummary?: PriceSummary$1;\n      /**\n       * Tax information.\n       * @internal\n       */\n      taxInfo?: OrderTaxInfo;\n      /**\n       * Updated order extended fields. Overrides existing extended fields. todo fully? partially?\n       * @internal\n       */\n      extendedFields?: ExtendedFields$4;\n  }\n  /** @oneof */\n  interface DraftOrderDiffsShippingUpdateInfoOneOf {\n      /** Shipping info and selected shipping option details. */\n      changedShippingInfo?: ShippingInformation$1;\n      /** Remove existing shipping info. */\n      shippingInfoRemoved?: boolean;\n  }\n  /** @oneof */\n  interface DraftOrderDiffsBuyerUpdateInfoOneOf {\n      /**\n       * Buyer info and selected buyer option details.\n       * @internal\n       */\n      changedBuyerInfo?: BuyerInfo$1;\n      /**\n       * Remove existing buyer info.\n       * @internal\n       */\n      buyerInfoRemoved?: boolean;\n  }\n  /** @oneof */\n  interface DraftOrderDiffsBillingUpdateInfoOneOf {\n      /**\n       * Updated billing info.\n       * @internal\n       */\n      changedBillingInfo?: AddressWithContact;\n      /**\n       * Remove existing billing info.\n       * @internal\n       */\n      billingInfoRemoved?: boolean;\n  }\n  /** @oneof */\n  interface DraftOrderDiffsRecipientUpdateInfoOneOf {\n      /**\n       * Updated recipient info.\n       * @internal\n       */\n      changedRecipientInfo?: AddressWithContact;\n      /**\n       * Remove existing recipient info.\n       * @internal\n       */\n      recipientInfoRemoved?: boolean;\n  }\n  interface V1LineItemDelta extends V1LineItemDeltaDeltaOneOf {\n      /** The line item was added. */\n      lineItemAdded?: boolean;\n      /** The line item was modified. */\n      changedDetails?: ItemChangedDetails;\n      /** The line item was added. */\n      lineItemRemoved?: boolean;\n      /** Line item ID. */\n      lineItemId?: string;\n      lineItem?: OrderLineItemChangedDetails;\n  }\n  /** @oneof */\n  interface V1LineItemDeltaDeltaOneOf {\n      /** The line item was added. */\n      lineItemAdded?: boolean;\n      /** The line item was modified. */\n      changedDetails?: ItemChangedDetails;\n      /** The line item was added. */\n      lineItemRemoved?: boolean;\n  }\n  interface OrderLineItemChangedDetails {\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       */\n      productName?: ProductName;\n      /**\n       * References to the line item's origin catalog.\n       * This field may be empty in the case of a custom line item.\n       */\n      catalogReference?: CatalogReference$3;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Total discount for this line item's entire quantity. */\n      totalDiscount?: Price$3;\n      /** Line item description lines. Used for display purposes for the cart, checkout and order. */\n      descriptionLines?: DescriptionLine[];\n      /** Line item image. */\n      image?: string;\n      /** Physical properties of the item. When relevant, contains information such as SKU and item weight. */\n      physicalProperties?: PhysicalProperties$2;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType$1;\n      /**\n       * Fulfiller ID. Field is empty when the line item is self-fulfilled.\n       *\n       * To get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://www.wix.com/velo/reference/wix-ecom-backend/orderfulfillments/listfulfillmentsforsingleorder).\n       */\n      fulfillerId?: string | null;\n      /** Line item price after line item discounts for display purposes. */\n      price?: Price$3;\n      /** Line item price before line item discounts for display purposes. Defaults to `price` when not provided. */\n      priceBeforeDiscounts?: Price$3;\n      /** Total price after all discounts and tax. */\n      totalPriceAfterTax?: Price$3;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       * + `FULL_PAYMENT_OFFLINE` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       */\n      paymentOption?: DeltaPaymentOptionType;\n      /**\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @deprecated Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxDetails?: ItemTaxFullDetails$1;\n      /**\n       * Represents all the relevant tax details for a specific line item.\n       * @internal\n       */\n      taxInfo?: LineItemTaxInfo;\n      /**\n       * Digital file identifier, relevant only for items with type DIGITAL.\n       * @internal\n       */\n      digitalFile?: DigitalFile$1;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription;\n      /** Total price **after** catalog-defined discount and line item discounts. */\n      lineItemPrice?: Price$3;\n      /** Total price after all discounts excluding tax. */\n      totalPriceBeforeTax?: Price$3;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @internal\n       */\n      customLineItem?: boolean | null;\n      /**\n       * Source locations for this line item. The location's total quantity must not exceed the line item quantity.\n       * @internal\n       */\n      locations?: LocationAndQuantity[];\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n      /** Subscription info. */\n      subscriptionInfo?: SubscriptionInfo$1;\n  }\n  /** Type of selected payment option for catalog item */\n  enum DeltaPaymentOptionType {\n      /** Irrelevant */\n      UNKNOWN_PAYMENT_OPTION = \"UNKNOWN_PAYMENT_OPTION\",\n      /** The entire payment for the given item will happen after checkout. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /**\n       * Payment for this item can only be done using a membership and must be manually redeemed in the dashboard by the site owner.\n       * Note: when this option is used, the price will be 0.\n       */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface ItemChangedDetails {\n      /** The quantity before the change. */\n      quantityBeforeChange?: number | null;\n      /** The price before the change. */\n      priceBeforeChange?: Price$3;\n      /** The price description before the change */\n      priceDescriptionBeforeChange?: PriceDescription;\n  }\n  interface AppliedDiscountDelta extends AppliedDiscountDeltaDeltaOneOf {\n      editedDiscount?: AppliedDiscount$1;\n      discountRemoved?: boolean;\n      /** Discount id. */\n      discountId?: string;\n  }\n  /** @oneof */\n  interface AppliedDiscountDeltaDeltaOneOf {\n      editedDiscount?: AppliedDiscount$1;\n      discountRemoved?: boolean;\n  }\n  interface AdditionalFeeDelta extends AdditionalFeeDeltaDeltaOneOf {\n      editedAdditionalFee?: AdditionalFee$1;\n      additionalFeeRemoved?: boolean;\n      /** Additional fee id. */\n      additionalFeeId?: string;\n  }\n  /** @oneof */\n  interface AdditionalFeeDeltaDeltaOneOf {\n      editedAdditionalFee?: AdditionalFee$1;\n      additionalFeeRemoved?: boolean;\n  }\n  interface DraftOrderCommitSettings {\n      /** If false, do not send notifications to buyer. Default is true. */\n      sendNotificationsToBuyer?: boolean | null;\n      /** If false, do not send notifications to business. Default is true. */\n      sendNotificationsToBusiness?: boolean | null;\n      /** If false, do not add activities to the order. Default is true. */\n      addActivitiesToOrder?: boolean | null;\n      /** If false, do not send mails to custom fulfillers in case of a change of shippable items fulfilled by custom fulfillers. Default is true. */\n      sendNotificationsToCustomFulfillers?: boolean | null;\n      /** Inventory changes to be applied. Either to restock, or decrease. */\n      inventoryUpdates?: InventoryUpdateDetails[];\n  }\n  interface InventoryUpdateDetails {\n      /** Action to be applied - decrease or restock */\n      actionType?: InventoryAction;\n      /** Order line item id */\n      lineItemId?: string;\n      /** The amount to be increased or restocked */\n      quantityChange?: number;\n  }\n  enum InventoryAction {\n      /** Restock inventory */\n      RESTOCK = \"RESTOCK\",\n      /** Decrease inventory. Without failing on negative inventory. */\n      DECREASE = \"DECREASE\"\n  }\n  interface CommitDeltasResponse {\n      /** Order after deltas are applied */\n      order?: Order$1;\n  }\n  /** Triggered when order is edited by draftOrders */\n  interface OrderDeltasCommitted {\n      /** The order after committed changes. */\n      order?: Order$1;\n      /** Draft order Id representing this change. */\n      draftOrderId?: string;\n      /** Applied changes. */\n      changes?: CommittedDiffs;\n      /** Side-effects requested to happen as a result of this edit. */\n      commitSettings?: DraftOrderCommitSettings;\n      /**\n       * Date and time when order deltas were committed.\n       * @readonly\n       */\n      commitDate?: Date | null;\n  }\n  interface CommittedDiffs extends CommittedDiffsShippingUpdateInfoOneOf {\n      /** Shipping info and selected shipping option details. */\n      changedShippingInfo?: ShippingInformation$1;\n      /** Remove existing shipping info. */\n      shippingInfoRemoved?: boolean;\n      /** Added/updated/removed order line items. */\n      lineItems?: LineItemDelta[];\n      /** Added/updated/removed discounts. */\n      appliedDiscounts?: AppliedDiscountDelta[];\n      /** Added/updated/removed additional fee. */\n      additionalFees?: AdditionalFeeDelta[];\n  }\n  /** @oneof */\n  interface CommittedDiffsShippingUpdateInfoOneOf {\n      /** Shipping info and selected shipping option details. */\n      changedShippingInfo?: ShippingInformation$1;\n      /** Remove existing shipping info. */\n      shippingInfoRemoved?: boolean;\n  }\n  interface LineItemDelta extends LineItemDeltaDeltaOneOf {\n      lineItemAdded?: boolean;\n      changedDetails?: ItemChangedDetails;\n      lineItemRemoved?: OrderLineItemChangedDetails;\n      /** Line item ID. */\n      lineItemId?: string;\n  }\n  /** @oneof */\n  interface LineItemDeltaDeltaOneOf {\n      lineItemAdded?: boolean;\n      changedDetails?: ItemChangedDetails;\n      lineItemRemoved?: OrderLineItemChangedDetails;\n  }\n  interface ArchiveOrderRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface ArchiveOrderResponse {\n      /** Archived order. */\n      order?: Order$1;\n  }\n  interface BulkArchiveOrdersRequest {\n      /** IDs of orders to archive. */\n      ids: string[];\n      /** Whether to return the full updated order entities in the response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkArchiveOrdersResponse {\n      /** Items updated by bulk action. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkArchiveOrdersByFilterRequest {\n      /** Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/ecommerce/orders/filter-and-sort). */\n      filter: Record<string, any> | null;\n  }\n  interface BulkArchiveOrdersByFilterResponse {\n      /** Items updated by bulk action. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface UnArchiveOrderRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface UnArchiveOrderResponse {\n      /** Unarchived order. */\n      order?: Order$1;\n  }\n  interface BulkUnArchiveOrdersRequest {\n      /** IDs or orders to unarchive. */\n      ids: string[];\n      /** Whether to return the full updated order entities in the response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkUnArchiveOrdersResponse {\n      /** Items updated by bulk action. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkUnArchiveOrdersByFilterRequest {\n      /** Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/ecommerce/orders/filter-and-sort). */\n      filter: Record<string, any> | null;\n  }\n  interface BulkUnArchiveOrdersByFilterResponse {\n      /** Items updated by bulk action. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface UpdateBuyerInfoRequest {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id: string;\n      /**\n       * Field mask of buyerInfo fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Buyer info. */\n      buyerInfo?: BuyerInfoUpdate;\n  }\n  interface BuyerInfoUpdate {\n      /** Contact ID. */\n      contactId?: string | null;\n      /** Email associated with the buyer. */\n      email?: string | null;\n  }\n  interface UpdateBuyerInfoResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface UpdateBuyerEmailRequest {\n      /** @readonly */\n      _id: string;\n      email?: string | null;\n  }\n  interface UpdateBuyerEmailResponse {\n      order?: Order$1;\n  }\n  interface UpdateOrderShippingAddressRequest {\n      /** Order ID. */\n      _id: string;\n      /**\n       * mask of shipping address fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Shipping address and contact details to be updated. */\n      shippingAddress: AddressWithContact;\n  }\n  interface UpdateOrderShippingAddressResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface UpdateBillingContactDetailsRequest {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id: string;\n      /**\n       * mask of contact details fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Contact details. */\n      addressContactDetails?: FullAddressContactDetails$1;\n  }\n  interface UpdateBillingContactDetailsResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface UpdateOrderLineItemRequest {\n      /** Order ID */\n      _id: string;\n      /** Order line item to update */\n      lineItem: OrderLineItem;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateOrderLineItemResponse {\n      /** Updated order data */\n      order?: Order$1;\n  }\n  interface UpdateOrderLineItemsRequest {\n      /** Order ID */\n      orderId: string;\n      /** Order line items to update */\n      lineItems: MaskedOrderLineItem[];\n  }\n  interface MaskedOrderLineItem {\n      /** Order line item to update */\n      lineItem?: OrderLineItem;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateOrderLineItemsResponse {\n      /** Updated order data */\n      order?: Order$1;\n  }\n  interface AddInternalActivityRequest {\n      /** Order ID. */\n      _id: string;\n      /** Activity info. */\n      activity: InternalActivity;\n  }\n  interface InternalActivity extends InternalActivityContentOneOf {\n      /** Order refunded. */\n      orderRefunded?: OrderRefunded$1;\n      /** Order placed. */\n      orderPlaced?: OrderPlaced;\n      /** Order paid. Either by the store owner (for offline orders), or when an online transaction was confirmed. */\n      orderPaid?: OrderPaid;\n      /** Order shipping status set as fulfilled. */\n      orderFulfilled?: OrderFulfilled;\n      /** Order shipping status set as not fulfilled. */\n      orderNotFulfilled?: OrderNotFulfilled;\n      /** Order canceled. */\n      orderCanceled?: OrderCanceled;\n      /** Download link was sent (relevant for orders with digital line items). */\n      downloadLinkSent?: DownloadLinkSent;\n      /** Shipping tracking number added to order. */\n      trackingNumberAdded?: TrackingNumberAdded;\n      /** Shipping tracking number was edited. */\n      trackingNumberEdited?: TrackingNumberEdited;\n      /** Shipping tracking link added to order. */\n      trackingLinkAdded?: TrackingLinkAdded;\n      /** An email confirmation of order shipment was sent. */\n      shippingConfirmationEmailSent?: ShippingConfirmationEmailSent;\n      /** Invoice was added to order. */\n      invoiceAdded?: InvoiceAdded;\n      /** Invoice sent to customer via email. */\n      invoiceSent?: InvoiceSent;\n      /** Email sent to fulfiller. */\n      fulfillerEmailSent?: FulfillerEmailSent;\n      /** Shipping address was updated. */\n      shippingAddressEdited?: ShippingAddressEdited;\n      /** Order email was updated. */\n      emailEdited?: EmailEdited;\n      /** Email notification for pickup sent. */\n      pickupReadyEmailSent?: PickupReadyEmailSent;\n      /** Order created as a result of items exchange. */\n      orderCreatedFromExchange?: OrderCreatedFromExchange;\n      /** New exchange order created. */\n      newExchangeOrderCreated?: NewExchangeOrderCreated;\n      /** Order partially paid. During the checkout for orders with deposit items. */\n      orderPartiallyPaid?: OrderPartiallyPaid;\n      /** Draft order changes applied */\n      draftOrderChangesApplied?: DraftOrderChangesApplied;\n      /** Payment method is saved for order */\n      savedPaymentMethod?: SavedPaymentMethod;\n      /**\n       * Details of an authorized payment created.\n       * @internal\n       */\n      authorizedPaymentCreated?: AuthorizedPaymentCreated;\n      /**\n       * Details of an authorized payment captured.\n       * @internal\n       */\n      authorizedPaymentCaptured?: AuthorizedPaymentCaptured;\n      /**\n       * Details of an authorized payment voided.\n       * @internal\n       */\n      authorizedPaymentVoided?: AuthorizedPaymentVoided;\n      /**\n       * Details of an initiated refund process.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      refundInitiated?: RefundInitiated;\n      /**\n       * Details of a refunded payment.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefunded?: PaymentRefunded;\n      /**\n       * Details of a failed payment refund.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefundFailed?: PaymentRefundFailed;\n      /**\n       * Details of refund to store credit.\n       * @internal\n       */\n      refundedAsStoreCredit?: RefundedAsStoreCredit;\n      /** Details of a pending payment */\n      paymentPending?: PaymentPending;\n      /** Details of a canceled payment */\n      paymentCanceled?: PaymentCanceled;\n      /** Details of a declined payment */\n      paymentDeclined?: PaymentDeclined;\n      /** Order pending */\n      orderPending?: OrderPending;\n      /** Order rejected */\n      orderRejected?: OrderRejected;\n      /**\n       * Internal activity ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Internal activity author's email.\n       * @readonly\n       */\n      authorEmail?: string | null;\n      /**\n       * Internal activity creation date and time.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  /** @oneof */\n  interface InternalActivityContentOneOf {\n      /** Order refunded. */\n      orderRefunded?: OrderRefunded$1;\n      /** Order placed. */\n      orderPlaced?: OrderPlaced;\n      /** Order paid. Either by the store owner (for offline orders), or when an online transaction was confirmed. */\n      orderPaid?: OrderPaid;\n      /** Order shipping status set as fulfilled. */\n      orderFulfilled?: OrderFulfilled;\n      /** Order shipping status set as not fulfilled. */\n      orderNotFulfilled?: OrderNotFulfilled;\n      /** Order canceled. */\n      orderCanceled?: OrderCanceled;\n      /** Download link was sent (relevant for orders with digital line items). */\n      downloadLinkSent?: DownloadLinkSent;\n      /** Shipping tracking number added to order. */\n      trackingNumberAdded?: TrackingNumberAdded;\n      /** Shipping tracking number was edited. */\n      trackingNumberEdited?: TrackingNumberEdited;\n      /** Shipping tracking link added to order. */\n      trackingLinkAdded?: TrackingLinkAdded;\n      /** An email confirmation of order shipment was sent. */\n      shippingConfirmationEmailSent?: ShippingConfirmationEmailSent;\n      /** Invoice was added to order. */\n      invoiceAdded?: InvoiceAdded;\n      /** Invoice sent to customer via email. */\n      invoiceSent?: InvoiceSent;\n      /** Email sent to fulfiller. */\n      fulfillerEmailSent?: FulfillerEmailSent;\n      /** Shipping address was updated. */\n      shippingAddressEdited?: ShippingAddressEdited;\n      /** Order email was updated. */\n      emailEdited?: EmailEdited;\n      /** Email notification for pickup sent. */\n      pickupReadyEmailSent?: PickupReadyEmailSent;\n      /** Order created as a result of items exchange. */\n      orderCreatedFromExchange?: OrderCreatedFromExchange;\n      /** New exchange order created. */\n      newExchangeOrderCreated?: NewExchangeOrderCreated;\n      /** Order partially paid. During the checkout for orders with deposit items. */\n      orderPartiallyPaid?: OrderPartiallyPaid;\n      /** Draft order changes applied */\n      draftOrderChangesApplied?: DraftOrderChangesApplied;\n      /** Payment method is saved for order */\n      savedPaymentMethod?: SavedPaymentMethod;\n      /**\n       * Details of an authorized payment created.\n       * @internal\n       */\n      authorizedPaymentCreated?: AuthorizedPaymentCreated;\n      /**\n       * Details of an authorized payment captured.\n       * @internal\n       */\n      authorizedPaymentCaptured?: AuthorizedPaymentCaptured;\n      /**\n       * Details of an authorized payment voided.\n       * @internal\n       */\n      authorizedPaymentVoided?: AuthorizedPaymentVoided;\n      /**\n       * Details of an initiated refund process.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      refundInitiated?: RefundInitiated;\n      /**\n       * Details of a refunded payment.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefunded?: PaymentRefunded;\n      /**\n       * Details of a failed payment refund.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefundFailed?: PaymentRefundFailed;\n      /**\n       * Details of refund to store credit.\n       * @internal\n       */\n      refundedAsStoreCredit?: RefundedAsStoreCredit;\n      /** Details of a pending payment */\n      paymentPending?: PaymentPending;\n      /** Details of a canceled payment */\n      paymentCanceled?: PaymentCanceled;\n      /** Details of a declined payment */\n      paymentDeclined?: PaymentDeclined;\n      /** Order pending */\n      orderPending?: OrderPending;\n      /** Order rejected */\n      orderRejected?: OrderRejected;\n  }\n  /** Order placed */\n  interface OrderPlaced {\n  }\n  /** Order marked as paid, either by the store owner (for offline orders), or when an online transaction was confirmed */\n  interface OrderPaid {\n  }\n  /** Order shipping status set as fulfilled */\n  interface OrderFulfilled {\n  }\n  /** Order shipping status set as not fulfilled */\n  interface OrderNotFulfilled {\n  }\n  /** Order canceled */\n  interface OrderCanceled {\n  }\n  /** A download link was sent (relevant for orders with digital line items) */\n  interface DownloadLinkSent {\n  }\n  /** Shipping tracking number was set */\n  interface TrackingNumberAdded {\n  }\n  /** Shipping tracking number was edited */\n  interface TrackingNumberEdited {\n  }\n  /** Shipping tracking link was set */\n  interface TrackingLinkAdded {\n  }\n  /** An email confirmation of order shipment was sent */\n  interface ShippingConfirmationEmailSent {\n  }\n  /** Invoice was set in the order */\n  interface InvoiceAdded {\n  }\n  /** Invoice sent to customer via email */\n  interface InvoiceSent {\n  }\n  /** Email was sent to fulfiller */\n  interface FulfillerEmailSent {\n  }\n  /** Shipping address was updated */\n  interface ShippingAddressEdited {\n  }\n  /** Order email was updated */\n  interface EmailEdited {\n  }\n  /** An email notification for pickup was sent */\n  interface PickupReadyEmailSent {\n  }\n  /** Order marked as partially paid when an online transaction was confirmed with partial minimal required amount of total sum */\n  interface OrderPartiallyPaid {\n  }\n  /** Order reject */\n  interface OrderPending {\n  }\n  /** Order reject */\n  interface OrderRejected {\n  }\n  interface AddInternalActivityResponse {\n      /** Updated order. */\n      order?: Order$1;\n      /**\n       * ID of the added internal activity.\n       * Use this ID to either [update](https://bo.wix.com/wix-docs/rest/ecommerce/orders/update-activity) or [delete](https://bo.wix.com/wix-docs/rest/ecommerce/orders/delete-activity) the activity.\n       */\n      activityId?: string;\n  }\n  interface AddActivityRequest {\n      /** Order ID. */\n      _id: string;\n      /** Activity info. */\n      activity: PublicActivity;\n  }\n  interface PublicActivity extends PublicActivityContentOneOf {\n      /** Custom activity details. */\n      customActivity?: CustomActivity;\n      /** Merchant commment. */\n      merchantComment?: MerchantComment;\n  }\n  /** @oneof */\n  interface PublicActivityContentOneOf {\n      /** Custom activity details. */\n      customActivity?: CustomActivity;\n      /** Merchant commment. */\n      merchantComment?: MerchantComment;\n  }\n  interface AddActivityResponse {\n      /** Updated order. */\n      order?: Order$1;\n      /**\n       * ID of the added activity.\n       * Use this ID to either [update](https://bo.wix.com/wix-docs/rest/ecommerce/orders/update-activity) or [delete](https://bo.wix.com/wix-docs/rest/ecommerce/orders/delete-activity) the activity.\n       */\n      activityId?: string;\n  }\n  interface AddActivitiesRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Activities to add. */\n      activities: PublicActivity[];\n  }\n  interface AddActivitiesResponse {\n      /** Updated order. */\n      order?: Order$1;\n      /**\n       * IDs of the added activities.\n       * Use this IDs to either [update](https://bo.wix.com/wix-docs/rest/ecommerce/orders/update-activities) or [delete](https://bo.wix.com/wix-docs/rest/ecommerce/orders/delete-activities) the activities.\n       */\n      activityIds?: string[];\n  }\n  interface UpdateActivityRequest {\n      /** Order ID. */\n      _id: string;\n      /** ID of the activity to update. */\n      activityId: string;\n      /** Activity info. */\n      activity: PublicActivity;\n  }\n  interface UpdateActivityResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface DeleteActivityRequest {\n      /** Order ID. */\n      _id: string;\n      /** ID of the activity to delete. */\n      activityId: string;\n  }\n  interface DeleteActivityResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface UpdateLineItemsDescriptionLinesRequest {\n      /** Order ID. */\n      _id: string;\n      /** Line items. */\n      lineItems: LineItemUpdate[];\n  }\n  interface LineItemUpdate {\n      /** Line item ID. */\n      lineItemId?: string;\n      /**\n       * Description lines' info.\n       * If description line already exists for this name, it will be replaced.\n       */\n      descriptionLines?: DescriptionLine[];\n  }\n  interface UpdateLineItemsDescriptionLinesResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface MarkOrderAsSeenByHumanRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface MarkOrderAsSeenByHumanResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface CancelOrderRequest {\n      /** Order ID. */\n      _id: string;\n      /** Whether to send an order canceled email to the buyer. */\n      sendOrderCanceledEmail?: boolean;\n      /** Custom note to be added to the email (optional). */\n      customMessage?: string | null;\n      /** Whether to restock all items in the order. This will only apply to products in the Wix Stores inventory. */\n      restockAllItems?: boolean;\n  }\n  interface CancelOrderResponse {\n      /** Canceled order. */\n      order?: Order$1;\n  }\n  interface OrderCanceledEventOrderCanceled {\n      /** The order that was cancelled */\n      order?: Order$1;\n      /** Should restock all items on that order */\n      restockAllItems?: boolean;\n      /** Should send a confirmation mail to the customer */\n      sendOrderCanceledEmail?: boolean;\n      /** Personal note added to the email */\n      customMessage?: string | null;\n  }\n  interface MarkAsFulfilledRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface MarkAsFulfilledResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  /** Triggered when the fulfillment status of an order is updated */\n  interface FulfillmentStatusUpdated {\n      /** The order that was updated */\n      order?: Order$1;\n      /** The previous status (before the update) */\n      previousFulfillmentStatus?: FulfillmentStatus$1;\n      /** the new status (after the update) */\n      newFulfillmentStatus?: FulfillmentStatus$1;\n      /** the action that caused this update */\n      action?: string;\n  }\n  interface BulkMarkAsFulfilledRequest {\n      /** IDs of orders to be marked as fulfilled. */\n      ids: string[];\n      /** Whether to return the full updated order entities in the response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkMarkAsFulfilledResponse {\n      /** Items updated by bulk action. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkMarkAsFulfilledByFilterRequest {\n      /** Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/ecommerce/orders/filter-and-sort). */\n      filter: Record<string, any> | null;\n  }\n  interface BulkMarkAsFulfilledByFilterResponse {\n      /** Items updated by bulk action. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface MarkAsUnfulfilledRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface MarkAsUnfulfilledResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface BulkMarkAsUnfulfilledRequest {\n      /** IDs of orders to be marked as not fulfilled. */\n      ids: string[];\n      /** Whether to return the full updated order entities in the response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkMarkAsUnfulfilledResponse {\n      /** Items updated by bulk action. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkMarkAsUnfulfilledByFilterRequest {\n      /** Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/ecommerce/orders/filter-and-sort). */\n      filter: Record<string, any> | null;\n  }\n  interface BulkMarkAsUnfulfilledByFilterResponse {\n      /** Items updated by bulk action. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface V1MarkOrderAsPaidRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface V1MarkOrderAsPaidResponse {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface V1BulkMarkOrdersAsPaidRequest {\n      /** IDs of orders to mark as paid. */\n      ids: string[];\n  }\n  interface V1BulkMarkOrdersAsPaidResponse {\n      /**\n       * Items updated by the bulk action.\n       * The Order entity within the results optimistically changes its payment status to paid, however this process is async.\n       */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface V1CreatePaymentGatewayOrderRequest {\n      /** eCom Order ID */\n      ecomOrderId: string;\n  }\n  interface V1CreatePaymentGatewayOrderResponse {\n      /** ID of the order created in the payment gateway */\n      paymentGatewayOrderId?: string;\n  }\n  interface GetShipmentsRequest {\n      _id: string;\n  }\n  interface GetShipmentsResponse {\n      shipmentIds?: string[];\n  }\n  interface AggregateOrdersRequest {\n      /** Filter applied to original data */\n      filter?: Record<string, any> | null;\n      /** This is an object defining aggregation itself */\n      aggregation: Record<string, any> | null;\n      /**\n       * Optional custom separator string that can be used to override default separator value '|'\n       * for hierarchical responses of multifaceted aggregation requests like:\n       * '{\"aggregation\": {\"example_request_key\": {\"$count\" : [\"deliveryMethod\", \"shippingRegion\"]}}}'\n       * with example response for default '|' separator like:\n       * '{\"aggregates\" :{\"example_request_key\": {\"(Mail|Region 1)\": 5, \"(Pickup|Region 2)\": 10}}}'\n       */\n      hierarchySeparatorOverride?: string | null;\n  }\n  interface AggregateOrdersResponse {\n      aggregates?: Record<string, any> | null;\n  }\n  interface DecrementItemsQuantityRequest {\n      /** Order ID */\n      _id: string;\n      /** Which items to decrement, and how much to decrement from each one */\n      decrementData: DecrementData[];\n  }\n  interface DecrementData {\n      /** ID of the line item being decremented. */\n      lineItemId?: string;\n      /** Line item quantity being decremented. */\n      decrementBy?: number;\n      /** Whether to restock the line item (triggers inventory update). */\n      restock?: boolean;\n  }\n  interface DecrementItemsQuantityResponse {\n      /** Updated order data */\n      order?: Order$1;\n  }\n  interface BulkUpdateOrderTagsRequest {\n      /** IDs of orders to update tags for. */\n      orderIds: string[];\n      /** Tags to be added to orders */\n      assignTags?: Tags;\n      /** Tags to be removed from orders */\n      unassignTags?: Tags;\n  }\n  interface BulkUpdateOrderTagsResponse {\n      results?: BulkUpdateOrderTagsResult[];\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkUpdateOrderTagsResult {\n      itemMetadata?: ItemMetadata$1;\n  }\n  /** Triggered when the the order status changes to approved */\n  interface OrderApproved {\n      /** The order that was updated */\n      order?: Order$1;\n      /** @internal */\n      ordersExperiments?: OrdersExperiments;\n  }\n  interface Task {\n      key?: TaskKey;\n      executeAt?: Date | null;\n      payload?: string | null;\n  }\n  interface TaskKey {\n      appId?: string;\n      instanceId?: string;\n      subjectId?: string | null;\n  }\n  interface TaskAction extends TaskActionActionOneOf {\n      complete?: Complete;\n      cancel?: Cancel;\n      reschedule?: Reschedule;\n  }\n  /** @oneof */\n  interface TaskActionActionOneOf {\n      complete?: Complete;\n      cancel?: Cancel;\n      reschedule?: Reschedule;\n  }\n  interface Complete {\n  }\n  interface Cancel {\n  }\n  interface Reschedule {\n      executeAt?: Date | null;\n      payload?: string | null;\n  }\n  interface InvoiceSentEvent {\n      _id?: IdAndVersion;\n      /** @readonly */\n      data?: InvoiceFields;\n      /** @readonly */\n      status?: InvoiceStatus;\n  }\n  interface IdAndVersion {\n      _id?: string | null;\n      version?: number | null;\n  }\n  interface InvoiceFields {\n      /** The invoice number allocated the invoice by the server. The number is limited to at most 11 digits. */\n      number?: string | null;\n      /** The invoice 3-letter currency code in [ISO-4217 alphabetic](https://www.iso.org/iso-4217-currency-codes.html) format. */\n      currencyCode?: string | null;\n      /** The invoice customer. The customer must be a contact of the site, with an email. */\n      customer?: Customer;\n      /**\n       * Invoice dates: issue date and due date are mandatory and provided when the invoice is created.\n       * Last seen date is the optional date when the invoice was last seen be UoU.\n       */\n      dates?: InvoiceDates;\n      /**\n       * Line items containing the details of the products or services relevant to the invoice, with their name, prices,\n       * and quantity. There must be at least one line item on the invoice.\n       */\n      lineItems?: LineItems;\n      /**\n       * Locale of the invoice, containing the language.\n       * This field is not mandatory but is used for display purposes, to determine the appearance of numbers and dates\n       * on the invoice.\n       */\n      locale?: Locale;\n      /**\n       * The totals on the invoice.\n       * The totals.subtotal, totals.total and totals.taxed_amount are calculated by the server based on the line items.\n       * Alternatively, these fields can be provided in the invoice creation request, in this case, these values are fixed.\n       * The totals contain fees and a discount, that apply to the invoice.\n       */\n      totals?: TotalPrice;\n      /** An optional discount on the invoice. */\n      discount?: Discount$1;\n      /** The taxes of the invoice. */\n      taxes?: CalculatedTaxes;\n      /** The payments on the invoice. The invoice has status paid if its payments cover the invoice total. */\n      payments?: Payments;\n      /** Invoice metadata */\n      metaData?: MetaData;\n      /**\n       * Not used\n       * @deprecated\n       */\n      creationAdditional_BIInformation?: string | null;\n      /**\n       * The balance and amount paid on the invoice.\n       * This read-only field is calculated based on the invoice totals and payments.\n       * @readonly\n       */\n      dynamicTotals?: InvoiceDynamicPriceTotals;\n      /** The invoice title */\n      title?: string | null;\n      /** Invoice custom fields */\n      customFields?: CustomFieldValue[];\n      /**\n       * Not used\n       * @deprecated\n       */\n      designTemplateId?: string | null;\n      /**\n       * Not used\n       * @deprecated\n       */\n      createOrder?: boolean | null;\n      /** The optional deposit of the invoice */\n      deposit?: Deposit;\n      /** Associated checkout for this invoice */\n      ecomCheckoutId?: string | null;\n      /**\n       * Deduct taxes from line items.\n       * Used in cases where line items already include taxes.\n       * @internal\n       */\n      deductTaxes?: boolean | null;\n  }\n  interface Customer {\n      contactId?: string | null;\n      name?: string | null;\n      email?: Email;\n      address?: QuotesAddress;\n      phone?: Phone;\n      company?: Company;\n      firstName?: string | null;\n      lastName?: string | null;\n      billingAddress?: CommonAddress;\n      shippingAddress?: CommonAddress;\n  }\n  interface Email {\n      address?: string;\n  }\n  interface QuotesAddress {\n      street?: string | null;\n      city?: string | null;\n      zip?: string | null;\n      state?: string | null;\n      country?: string | null;\n      /** @readonly */\n      description?: AddressDescription;\n  }\n  interface AddressDescription {\n      content?: string;\n      placement?: Placement;\n  }\n  enum Placement {\n      Unknown = \"Unknown\",\n      Replace = \"Replace\",\n      Before = \"Before\",\n      After = \"After\"\n  }\n  interface Phone {\n      number?: string;\n  }\n  interface Company {\n      name?: string;\n      _id?: string | null;\n  }\n  /** Physical address */\n  interface CommonAddress extends CommonAddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$4;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$3;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision$1[];\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$4;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface Subdivision$1 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$1;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails;\n  }\n  enum SubdivisionType$1 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  interface InvoiceDates {\n      /** use UTC midnight date to set the issue date according to the site time zone */\n      issueDate?: Date | null;\n      /** use UTC midnight date to set the due date according to the site time zone */\n      dueDate?: Date | null;\n      /** <a href=\"http://joda-time.sourceforge.net/timezones.html\">Valid time zones</a> */\n      timeZoneCode?: string | null;\n      /**\n       * ignored in request use in response to get the site time zone\n       * @readonly\n       */\n      lastSeenDate?: Date | null;\n  }\n  interface LineItems {\n      lineItems?: LineItem$2[];\n  }\n  interface LineItem$2 {\n      _id?: string;\n      name?: string;\n      description?: string | null;\n      price?: BigDecimalWrapper;\n      taxedTotal?: BigDecimalWrapper;\n      quantity?: BigDecimalWrapper;\n      taxes?: LineItemTax[];\n      /** The source of the line item */\n      source?: Source$2;\n      /** The line-item level metadata. */\n      metadata?: LineItemMetaData;\n  }\n  interface BigDecimalWrapper {\n      serializedValue?: number;\n  }\n  interface LineItemTax {\n      name?: string;\n      rate?: BigDecimalWrapper;\n      code?: string | null;\n  }\n  interface Source$2 {\n      /**\n       * Source app or service ID.\n       * @readonly\n       */\n      sourceId?: string;\n      /**\n       * App or service type.\n       * @readonly\n       */\n      sourceType?: SourceType;\n  }\n  enum SourceType {\n      UNKNOWN_SOURCE_TYPE = \"UNKNOWN_SOURCE_TYPE\",\n      WIX_APP = \"WIX_APP\",\n      EXTERNAL = \"EXTERNAL\",\n      ADMIN = \"ADMIN\",\n      OTHER = \"OTHER\"\n  }\n  interface LineItemMetaData {\n      metadata?: Record<string, string>;\n  }\n  interface Locale {\n      /** ISO 639 alpha-2 or alpha-3 language code, or a language subtag */\n      language?: string;\n      /** An ISO 3166 alpha-2 country code or a UN M.49 numeric-3 area code. */\n      country?: string | null;\n      invariant?: string | null;\n  }\n  interface TotalPrice {\n      /** the subtotal of the line items without the tax reduction */\n      subtotal?: BigDecimalWrapper;\n      /** the total price taking into account the itemized fees and the taxes */\n      total?: BigDecimalWrapper;\n      fees?: ItemizedFee[];\n      discountAmount?: BigDecimalWrapper;\n      taxedAmount?: BigDecimalWrapper;\n  }\n  interface ItemizedFee {\n      name?: string;\n      price?: BigDecimalWrapper;\n  }\n  interface Discount$1 extends DiscountOneDiscountTypeOneOf {\n      /**\n       * Discount as fixed value. Currently only for internal use.\n       * @internal\n       */\n      fixed?: BigDecimalWrapper;\n      /** Discount as percentage value. */\n      percentage?: BigDecimalWrapper;\n  }\n  /** @oneof */\n  interface DiscountOneDiscountTypeOneOf {\n      /**\n       * Discount as fixed value. Currently only for internal use.\n       * @internal\n       */\n      fixed?: BigDecimalWrapper;\n      /** Discount as percentage value. */\n      percentage?: BigDecimalWrapper;\n  }\n  interface CalculatedTaxes {\n      /** consider calculated or not - cannot enforce set */\n      taxes?: CalculatedTax[];\n  }\n  interface CalculatedTax {\n      name?: string;\n      rate?: BigDecimalWrapper;\n      /** the costs on which the taxes are applied */\n      taxable?: BigDecimalWrapper;\n      /** the taxes as a result of the */\n      taxed?: BigDecimalWrapper;\n      code?: string | null;\n  }\n  interface Payments {\n      payments?: InvoicesPayment[];\n  }\n  interface InvoicesPayment {\n      /** document */\n      _id?: string;\n      type?: string;\n      amount?: BigDecimalWrapper;\n      date?: Date | null;\n      /**\n       * The orderId of the order in cashier associated with the payment.\n       * This field is populated for external payments that are charged by invoices via AddPayment endpoint.\n       */\n      orderId?: string | null;\n      /**\n       * The transactionId corresponding to the orderId of the payment which are returned by cashier.\n       * This field is populated for external payments that are charged by invoices via AddPayment endpoint as well.\n       */\n      transactionId?: string | null;\n  }\n  interface MetaData {\n      notes?: string | null;\n      legalTerms?: string | null;\n      sourceUrl?: string | null;\n      sourceProperties?: Record<string, string>;\n      source?: string | null;\n      sourceRefId?: string | null;\n      /** Optional indicator whether to allow editing of the invoice by other applications other than the source. Default is true. */\n      allowEditByOthers?: boolean | null;\n  }\n  interface InvoiceDynamicPriceTotals {\n      paidAmount?: BigDecimalWrapper;\n      balance?: BigDecimalWrapper;\n  }\n  /**\n   * A custom field value is used to add additional data to a financial document or to a financial document template.\n   * The custom field value may be based on a custom field definition.\n   */\n  interface CustomFieldValue {\n      /**\n       * The unique id of the custom field value\n       * @readonly\n       */\n      _id?: string | null;\n      /** The display name of the custom field value */\n      displayName?: string;\n      /** The optional namespace of the custom field value. This field may be used to indicate intended usage or source. */\n      namespace?: string | null;\n      /** The group of the custom field indicates its intended placement in the financial document */\n      group?: CustomFieldGroup;\n      /** The value of the custom field */\n      value?: Value;\n      /** The optional key of the custom field definition on which the custom field value is based */\n      originCustomFieldKey?: string | null;\n  }\n  enum CustomFieldGroup {\n      UNKNOWN_CUSTOM_FIELD_GROUP = \"UNKNOWN_CUSTOM_FIELD_GROUP\",\n      BUSINESS_DETAILS = \"BUSINESS_DETAILS\",\n      CUSTOMER_DETAILS = \"CUSTOMER_DETAILS\",\n      DOCUMENT = \"DOCUMENT\",\n      FOOTER = \"FOOTER\",\n      OTHER = \"OTHER\"\n  }\n  interface Value {\n      value?: string;\n      valueType?: ValueType;\n  }\n  enum ValueType {\n      UNKNOWN_VALUE_TYPE = \"UNKNOWN_VALUE_TYPE\",\n      STRING = \"STRING\",\n      DATE = \"DATE\",\n      BOOLEAN = \"BOOLEAN\",\n      NUMBER = \"NUMBER\"\n  }\n  interface Deposit {\n      /** The flat amount of the deposit. The flat amount of the deposit must be less than the invoice total. */\n      flatAmount?: string;\n      /**\n       * The read-only percentage value of the deposit.\n       * It is computed according to the flat_amount and the invoice total and is rounded to 2 digits precision.\n       * @readonly\n       */\n      percentage?: string;\n      /** The type of the deposit. The default is FLAT. */\n      type?: DepositType;\n  }\n  enum DepositType {\n      UNKNOWN = \"UNKNOWN\",\n      FLAT = \"FLAT\",\n      PERCENTAGE = \"PERCENTAGE\"\n  }\n  /**\n   * InvoiceStatus allowed transitions based on current status:\n   * Draft -> Deleted, Paid, Partially Paid, Sent\n   * Sent -> Draft, Deleted, Void, Paid, Partially Paid, Processing, (Overdue)\n   * Processing -> PartiallyPaid, Paid, Sent\n   * Paid -> Void\n   * PartiallyPaid -> Void, (PartialAndOverdue)\n   * Void -> Deleted\n   * Deleted\n   */\n  enum InvoiceStatus {\n      Draft = \"Draft\",\n      Sent = \"Sent\",\n      Processing = \"Processing\",\n      Paid = \"Paid\",\n      Overdue = \"Overdue\",\n      Void = \"Void\",\n      Deleted = \"Deleted\",\n      PartiallyPaid = \"PartiallyPaid\",\n      PartialAndOverdue = \"PartialAndOverdue\"\n  }\n  interface TriggerSideEffectsFromLegacyData {\n      storeId?: string;\n      orderId?: string;\n      ordersExperiments?: OrdersExperiments;\n  }\n  /**\n   * Retrieves metadata for given metasiteID using metasiteReadApi get RPC call\n   * Target msid must be provided\n   * @param metasiteId - meta site Id for data to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metasiteId\n   * @adminMethod\n   */\n  function getMetasiteData(metasiteId: string): Promise<GetMetasiteDataResponse>;\n  /**\n   * Retrieves orders for given metasiteID using ep-orders internalQueryOrders RPC call\n   * Target msid must be provided\n   * @param metasiteId - meta site Id for EP orders to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metasiteId\n   * @adminMethod\n   */\n  function queryOrdersForMetasite(metasiteId: string, options?: QueryOrdersForMetasiteOptions): Promise<QueryOrdersForMetasiteResponse>;\n  interface QueryOrdersForMetasiteOptions {\n      /** paginated internal orders query request */\n      internalQueryOrdersRequest?: InternalQueryOrdersRequest;\n  }\n  /**\n   * Retrieves order for given metasiteId and orderId using ep-orders getOrder RPC call\n   * Target msid and orderId must be provided\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.metasiteId\n   * @requiredField identifiers.orderId\n   * @adminMethod\n   */\n  function getOrderForMetasite(identifiers: GetOrderForMetasiteIdentifiers): Promise<GetOrderForMetasiteResponse>;\n  interface GetOrderForMetasiteIdentifiers {\n      /** meta site Id for EP order to retrieve */\n      metasiteId: string;\n      /** Order Id for EP order to retrieve */\n      orderId: string;\n  }\n  /**\n   * Retrieves order transactions for given metasiteId and orderId using ep-payments listTransactionsForSingleOrder RPC call\n   * Target msid and orderId must be provided\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.metasiteId\n   * @requiredField identifiers.orderId\n   * @adminMethod\n   */\n  function listOrderTransactionsForMetasite(identifiers: ListOrderTransactionsForMetasiteIdentifiers): Promise<ListOrderTransactionsForMetasiteResponse>;\n  interface ListOrderTransactionsForMetasiteIdentifiers {\n      /** meta site Id for EP order transactions to retrieve */\n      metasiteId: string;\n      /** Order Id for EP order transactions to retrieve */\n      orderId: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField metasiteId\n   * @permissionId ECOM.REINDEX_ORDERS\n   * @adminMethod\n   */\n  function triggerReindex(metasiteId: string, options?: TriggerReindexOptions): Promise<void>;\n  interface TriggerReindexOptions {\n      orderIds?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.SEND_ORDER_MAIL\n   */\n  function sendBuyerConfirmationEmail(orderId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.SEND_ORDER_MAIL\n   */\n  function sendBuyerPaymentsReceivedEmail(orderId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.SEND_ORDER_MAIL\n   */\n  function sendBuyerPickupConfirmationEmail(orderId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.SEND_ORDER_MAIL\n   * @deprecated\n   * @targetRemovalDate 2025-03-02\n   */\n  function bulkSendBuyerPickupConfirmationEmails(options?: BulkSendBuyerPickupConfirmationEmailsOptions): Promise<void>;\n  interface BulkSendBuyerPickupConfirmationEmailsOptions {\n      /** IDs of orders to send pickup emails for. */\n      orderIds?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.SEND_ORDER_MAIL\n   */\n  function sendBuyerShippingConfirmationEmail(orderId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.SEND_ORDER_MAIL\n   * @deprecated\n   * @targetRemovalDate 2025-03-02\n   */\n  function bulkSendBuyerShippingConfirmationEmails(options?: BulkSendBuyerShippingConfirmationEmailsOptions): Promise<void>;\n  interface BulkSendBuyerShippingConfirmationEmailsOptions {\n      /** IDs of orders to send pickup emails for. */\n      orderIds?: string[];\n  }\n  /**\n   * this will send notification to merchant via both email and via Notification Hub\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.SEND_ORDER_MAIL\n   */\n  function sendMerchantOrderReceivedNotification(orderId: string): Promise<void>;\n  /** @param orderId - The ID of order that is canceled/refunded\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.refundAmount\n   * @requiredField options.refundAmount.amount\n   * @requiredField orderId\n   * @permissionId ECOM.SEND_ORDER_MAIL\n   */\n  function sendCancelRefundEmail(orderId: string, options?: SendCancelRefundEmailOptions): Promise<void>;\n  interface SendCancelRefundEmailOptions {\n      /** Personal note added to the email (optional) */\n      customMessage?: string | null;\n      /** Refund amount */\n      refundAmount: Price$3;\n      /** Refund ID. (Optional) */\n      refundId?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.SEND_ORDER_MAIL\n   */\n  function sendMerchantOrderReceivedPush(orderId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField emailType\n   * @permissionId ECOM.VIEW_ORDER_EMAIL_TEMPLATES\n   * @adminMethod\n   * @deprecated\n   * @targetRemovalDate 2025-03-02\n   */\n  function previewEmailByType(emailType: PreviewEmailType): Promise<PreviewEmailByTypeResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField options.refundAmount\n   * @requiredField options.refundAmount.amount\n   * @requiredField orderId\n   * @permissionId ECOM.VIEW_ORDER_EMAIL_TEMPLATES\n   * @adminMethod\n   */\n  function previewRefundEmail(orderId: string, options?: PreviewRefundEmailOptions): Promise<PreviewRefundEmailResponse>;\n  interface PreviewRefundEmailOptions {\n      /** Refund amount */\n      refundAmount: Price$3;\n      /** Refund business details */\n      details?: RefundDetails$1;\n      /** Personal note added to the email (optional) */\n      customMessage?: string | null;\n      /** Refund ID. (Optional) */\n      refundId?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.VIEW_ORDER_EMAIL_TEMPLATES\n   * @adminMethod\n   */\n  function previewCancelEmail(orderId: string, options?: PreviewCancelEmailOptions): Promise<PreviewCancelEmailResponse>;\n  interface PreviewCancelEmailOptions {\n      /** Personal note added to the email (optional) */\n      customMessage?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.VIEW_ORDER_EMAIL_TEMPLATES\n   * @adminMethod\n   */\n  function previewCancelRefundEmail(orderId: string, options?: PreviewCancelRefundEmailOptions): Promise<PreviewCancelRefundEmailResponse>;\n  interface PreviewCancelRefundEmailOptions {\n      /** Personal note added to the email (optional) */\n      customMessage?: string | null;\n      /** Refund amount */\n      refundAmount?: Price$3;\n      /** Refund ID. (Optional) */\n      refundId?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.VIEW_ORDER_EMAIL_TEMPLATES\n   * @adminMethod\n   */\n  function previewBuyerPaymentsReceivedEmail(): Promise<PreviewBuyerPaymentsReceivedEmailResponse>;\n  /**\n   * Deprecated, use PreviewEmailByType with ORDER_PLACED type instead\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.VIEW_ORDER_EMAIL_TEMPLATES\n   * @adminMethod\n   * @deprecated\n   */\n  function previewBuyerConfirmationEmail(): Promise<PreviewBuyerConfirmationEmailResponse>;\n  /**\n   * Deprecated, use PreviewEmailByType with ORDER_READY_FOR_PICKUP type instead\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.VIEW_ORDER_EMAIL_TEMPLATES\n   * @adminMethod\n   * @deprecated\n   */\n  function previewBuyerPickupConfirmationEmail(): Promise<PreviewBuyerPickupConfirmationEmailResponse>;\n  /**\n   * Deprecated, use PreviewEmailByType with ORDER_SHIPPED type instead\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.VIEW_ORDER_EMAIL_TEMPLATES\n   * @adminMethod\n   * @deprecated\n   */\n  function previewShippingConfirmationEmail(): Promise<PreviewShippingConfirmationEmailResponse>;\n  /**\n   * Deprecated, use PreviewEmailByType with DOWNLOAD_LINKS type instead\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.VIEW_ORDER_EMAIL_TEMPLATES\n   * @adminMethod\n   * @deprecated\n   */\n  function previewResendDownloadLinksEmail(): Promise<PreviewResendDownloadLinksEmailResponse>;\n  /**\n   * Prepares payment collection for given ecom order. This is the first of 2-step process of payment collection.\n   * Here we ensure that payment collection is possible for given order and store and prepare payment gateway order for future charge.\n   * 2nd step is an actual charge of prepared payment gateway order. This could be done either\n   * via Wix-Cashier's API (https://bo.wix.com/wix-docs/rest/wix-cashier/pay/charge/charge-for-order)\n   * or using Cashier Payments Widget (https://github.com/wix-private/cashier-client/tree/master/packages/cashier-payments-widget)\n   * @param ecomOrderId - Ecom order ID.\n   * @param amount - Amount to collect\n   * @public\n   * @documentationMaturity preview\n   * @requiredField amount\n   * @requiredField ecomOrderId\n   * @permissionId ECOM.COLLECT_PAYMENTS\n   * @adminMethod\n   */\n  function preparePaymentCollection(ecomOrderId: string, amount: Price$3, options?: PreparePaymentCollectionOptions): Promise<PreparePaymentCollectionResponse>;\n  interface PreparePaymentCollectionOptions {\n      /**\n       * Optional parameter. When present, payment collection will be performed using given payment gateway order.\n       * Existing payment gateway order will be updated with a new amount.\n       * When parameter is absent, new payment gateway order will be created and used for payment collection.\n       */\n      paymentGatewayOrderId?: string | null;\n      /**\n       * Whether to delay capture of the payment.\n       * Default: false\n       * @deprecated Whether to delay capture of the payment.\n       * Default: false\n       * @replacedBy delayed_capture_settings.scheduled_action\n       * @targetRemovalDate 2024-09-30\n       */\n      delayedCapture?: boolean;\n      /**\n       * Specifies whether payment collection is initiated by Merchant or User of User\n       * Default: `true`\n       * @internal\n       */\n      merchantInitiated?: boolean | null;\n      /**\n       * Redirect urls which are used to return buyer to third party system.\n       * @internal\n       */\n      redirectUrls?: RedirectUrls;\n      /** Delayed capture payment settings */\n      delayedCaptureSettings?: DelayedCaptureSettings;\n  }\n  /**\n   * Provides payment collectability status for given order. If payment collection is possible\n   * response will contain collectable amount for given ecom order. If not - response will contain\n   * reason why payment collection is not possible.\n   * @param ecomOrderId - Ecom order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ecomOrderId\n   * @permissionId ECOM.COLLECT_PAYMENTS\n   * @adminMethod\n   */\n  function getPaymentCollectabilityStatus(ecomOrderId: string): Promise<GetPaymentCollectabilityStatusResponse>;\n  /**\n   * Records and approves new manual payment with provided custom amount on given order.\n   * Existing pending payments are ignored.\n   * Custom amount is expected to be less or equal remaining amount to be paid on order (affected by approved payments, refunds and gift card payments)\n   * @param orderId - Order ID.\n   * @param amount - Amount to be recorded as approved manual payment for given order\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField amount\n   * @requiredField orderId\n   * @permissionId ECOM.COLLECT_PAYMENTS\n   * @adminMethod\n   */\n  function recordManuallyCollectedPayment(orderId: string, amount: Price$3): Promise<void>;\n  /**\n   * Marks the order as paid. `order.paymentStatus` field *eventually* changes to `PAID`.\n   * In case the order already has an offline payment transaction associated with it\n   * (usually when manual payment method is chosen at checkout) - This transaction will become approved.\n   * In case the order has no payment transactions associated with it\n   * (usually when the item is set to be paid offline after checkout or when an order is created from the backoffice) - A payment transaction\n   * will be created and approved.\n   * @param ecomOrderId - Ecom order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ecomOrderId\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function paymentCollectionMarkOrderAsPaid(ecomOrderId: string): Promise<MarkOrderAsPaidResponse>;\n  /**\n   * Marks multiple orders as paid. `order.paymentStatus` field *eventually* changes to `PAID`.\n   * @param ecomOrderIds - IDs of orders to mark as paid.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ecomOrderIds\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function paymentCollectionBulkMarkOrdersAsPaid(ecomOrderIds: string[]): Promise<BulkMarkOrdersAsPaidResponse>;\n  /**\n   * Checks whether this order can be refunded.\n   * @param ecomOrderId - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ecomOrderId\n   * @permissionId ECOM.READ_TRANSACTIONS\n   * @adminMethod\n   */\n  function getRefundabilityStatus$1(ecomOrderId: string): Promise<GetRefundabilityStatusResponse$1>;\n  /**\n   * Call this endpoint to create an order in the payment gateway system. The amount of the order would be either:\n   * 1. An explicit amount provided in the request, or;\n   * 2. If an explicit amount is not provided - the remaining amount to complete the payment of that eCom order.\n   * As a result, an ID of the created payment gateway order would be returned.\n   * You can then use Wix Payments APIs to approve that order or collect payment, which will eventually change the eCom order state (e.g mark it as paid).\n   * @param ecomOrderId - Ecom order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ecomOrderId\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function paymentCollectionCreatePaymentGatewayOrder(ecomOrderId: string, options?: PaymentCollectionCreatePaymentGatewayOrderOptions): Promise<CreatePaymentGatewayOrderResponse>;\n  interface PaymentCollectionCreatePaymentGatewayOrderOptions {\n      /** Information about the user who initiated the payment. */\n      chargedBy?: ChargedBy;\n      /**\n       * Whether to delay capture of the payment.\n       *\n       * Default: false\n       * @internal\n       */\n      delayedCapture?: boolean;\n  }\n  /** @param ecomOrderId - Order ID.\n   * @param memberId - The member id. Do not attempt to get it from the request context, since in some cases the caller is not a member\n   * but a user which is using the membership on behalf of the a member\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ecomOrderId\n   * @requiredField memberId\n   * @requiredField options.membershipCharges.appId\n   * @requiredField options.membershipCharges.catalogReference\n   * @requiredField options.membershipCharges.catalogReference.appId\n   * @requiredField options.membershipCharges.catalogReference.catalogItemId\n   * @requiredField options.membershipCharges.membershipId\n   * @requiredField options.membershipCharges.membershipName\n   * @requiredField options.membershipCharges.membershipName.original\n   * @requiredField options.membershipCharges.rootCatalogItemId\n   * @permissionId ECOM.MODIFY_TRANSACTIONS\n   * @adminMethod\n   */\n  function chargeMemberships(ecomOrderId: string, memberId: string, options?: ChargeMembershipsOptions): Promise<void>;\n  interface ChargeMembershipsOptions {\n      /** List of items to be paid by memberships */\n      membershipCharges?: MembershipChargeItem[];\n  }\n  /**\n   * Calls corresponding payment providers and creates refund transactions for requested payments.\n   * Updates order transactions based on refund results.\n   * For requested payments with `TriggerRefundRequest.payments.external_refund = true` will not call payment providers and\n   * will only update order transactions.\n   * @param ecomOrderId - The order this refund related to\n   * @param payments - Refund operations information\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ecomOrderId\n   * @requiredField payments\n   * @requiredField payments.paymentId\n   * @permissionId ECOM.MODIFY_TRANSACTIONS\n   * @adminMethod\n   */\n  function triggerRefund$1(ecomOrderId: string, payments: PaymentRefund$1[], options?: TriggerRefundOptions$1): Promise<TriggerRefundResponse$1>;\n  interface TriggerRefundOptions$1 {\n      /** Business model of a refund */\n      details?: RefundDetails$1;\n      /** Side effect details related to refund */\n      sideEffects?: RefundSideEffects$1;\n  }\n  /**\n   * Calculates refundable amount for order items specified in request.\n   * @param ecomOrderId - Order ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ecomOrderId\n   * @permissionId ECOM.READ_TRANSACTIONS\n   * @adminMethod\n   */\n  function calculateRefund$1(ecomOrderId: string, options?: CalculateRefundOptions$1): Promise<CalculateRefundResponse$1>;\n  interface CalculateRefundOptions$1 {\n      /** Refunded line items and quantity */\n      refundItems?: CalculateRefundItemRequest$1[];\n      /** Should include shipping in refund calculation */\n      refundShipping?: boolean;\n  }\n  /**\n   * Void authorized payments\n   * Transaction statuses for related payments will be updated in async way\n   * @param ecomOrderId - Wix eCommerce order ID\n   * @param paymentIds - Payment IDs\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ecomOrderId\n   * @requiredField paymentIds\n   * @permissionId ECOM.ORDER_VOID_AUTHORIZED_PAYMENT\n   * @adminMethod\n   */\n  function voidAuthorizedPayments(ecomOrderId: string, paymentIds: string[]): Promise<VoidAuthorizedPaymentsResponse>;\n  /**\n   * Capture authorized payments\n   * Transaction statuses for related payments will be updated in async way\n   * @param ecomOrderId - Wix eCommerce order ID\n   * @param payments - Capture payments information\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ecomOrderId\n   * @requiredField payments\n   * @requiredField payments.paymentId\n   * @permissionId ECOM.ORDER_CAPTURE_AUTHORIZED_PAYMENT\n   * @adminMethod\n   */\n  function captureAuthorizedPayments(ecomOrderId: string, payments: PaymentCapture[]): Promise<CaptureAuthorizedPaymentsResponse>;\n  /** @param ecomOrderId - Ecom Order ID.\n   * @param amount - Amount to be charged\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField amount\n   * @requiredField ecomOrderId\n   * @permissionId ECOM.ORDER_CHARGE_SAVED_PAYMENT_METHOD\n   * @adminMethod\n   */\n  function chargeSavedPaymentMethod(ecomOrderId: string, amount: Price$3): Promise<ChargeSavedPaymentMethodResponse>;\n  /**\n   * Retrieves an order.\n   *\n   *\n   * The `getOrder()` function returns a Promise that resolves when the specified order is retrieved.\n   *\n   * To retrieve an order's payment and refund details, including amounts, payment methods, and payment statuses, pass the order ID to [`listTransactionsForSingleOrder( )`](https://www.wix.com/velo/reference/wix-ecom-backend/ordertransactions/listtransactionsforsingleorder).\n   * @param _id - ID of the order to retrieve.\n   * @public\n   * @requiredField _id\n   * @permissionId ECOM.READ_ORDERS\n   * @permissionId ECOM.ORDER_READ_ALL_EXTENDED_FIELDS\n   * @adminMethod\n   * @returns Fulfilled - The requested order.\n   */\n  function getOrder(_id: string): Promise<Order$1>;\n  /**\n   * <!--ONLY:REST-->\n   * Internal query orders endpoint without additional logic to hide INIT orders.\n   * Returns a list of up to 100 orders, given the provided paging, filtering and sorting.\n   *\n   * To learn how to query orders, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * <!--END:ONLY:REST-->\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.READ_ALL_ORDERS\n   * @adminMethod\n   */\n  function internalQueryOrders(options?: InternalQueryOrdersOptions): Promise<InternalQueryOrdersResponse>;\n  interface InternalQueryOrdersOptions {\n      /** Query options. */\n      query?: PlatformQuery;\n  }\n  /**\n   * > **Note:** Use SearchOrders instead\n   * Retrieves a list of orders, given the provided paging, filtering, and sorting.\n   *\n   *\n   * Query Orders runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `paging.limit` is `100`\n   * - `paging.offset` is `0`\n   * - `filter: {\"status\": {\"$ne\": \"INITIALIZED\"}}` - other order statuses can be queried, but orders with `status: \"INITIALIZED\"` are never returned\n   *\n   * For field support for filters and sorting, see [Orders: Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/orders/filter-and-sort).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language), and\n   * [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.READ_ORDERS\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wix.ecom.orders.v1.Orders.SearchOrders\n   * @targetRemovalDate 2025-03-02\n   */\n  function queryOrders(): OrdersQueryBuilder;\n  interface QueryCursorResult$7 {\n      cursors: Cursors$7;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface OrdersQueryResult extends QueryCursorResult$7 {\n      items: Order$1[];\n      query: OrdersQueryBuilder;\n      next: () => Promise<OrdersQueryResult>;\n      prev: () => Promise<OrdersQueryResult>;\n  }\n  interface OrdersQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'number' | '_createdDate' | '_updatedDate' | 'lineItems.subscriptionInfo.id' | 'buyerInfo.memberId' | 'buyerInfo.contactId' | 'buyerInfo.email' | 'paymentStatus' | 'fulfillmentStatus' | 'priceSummary.total' | 'billingInfo.contactDetails.firstName' | 'billingInfo.contactDetails.lastName' | 'shippingInfo.title' | 'shippingInfo.logistics.deliveryTime' | 'shippingInfo.logistics.deliveryTimeSlot.from' | 'shippingInfo.logistics.deliveryTimeSlot.to' | 'shippingInfo.region.name' | 'status' | 'archived' | 'createdBy.userId' | 'channelInfo.type' | 'channelInfo.externalOrderId' | 'seenByAHuman' | 'checkoutId' | 'balanceSummary.authorized.amount' | 'balanceSummary.pendingRefund.amount' | 'balanceSummary.pending.amount' | 'purchasedDate' | 'businessLocation.id' | 'businessLocation.name', value: any) => OrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'number' | '_createdDate' | '_updatedDate' | 'lineItems.subscriptionInfo.id' | 'buyerInfo.memberId' | 'buyerInfo.contactId' | 'buyerInfo.email' | 'paymentStatus' | 'fulfillmentStatus' | 'priceSummary.total' | 'billingInfo.contactDetails.firstName' | 'billingInfo.contactDetails.lastName' | 'shippingInfo.title' | 'shippingInfo.logistics.deliveryTime' | 'shippingInfo.logistics.deliveryTimeSlot.from' | 'shippingInfo.logistics.deliveryTimeSlot.to' | 'shippingInfo.region.name' | 'status' | 'archived' | 'createdBy.userId' | 'channelInfo.type' | 'channelInfo.externalOrderId' | 'seenByAHuman' | 'checkoutId' | 'balanceSummary.authorized.amount' | 'balanceSummary.pendingRefund.amount' | 'balanceSummary.pending.amount' | 'purchasedDate' | 'businessLocation.id' | 'businessLocation.name', value: any) => OrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'number' | '_createdDate' | '_updatedDate' | 'shippingInfo.logistics.deliveryTimeSlot.from' | 'shippingInfo.logistics.deliveryTimeSlot.to' | 'purchasedDate', value: any) => OrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'number' | '_createdDate' | '_updatedDate' | 'shippingInfo.logistics.deliveryTimeSlot.from' | 'shippingInfo.logistics.deliveryTimeSlot.to' | 'purchasedDate', value: any) => OrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'number' | '_createdDate' | '_updatedDate' | 'shippingInfo.logistics.deliveryTimeSlot.from' | 'shippingInfo.logistics.deliveryTimeSlot.to' | 'purchasedDate', value: any) => OrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'number' | '_createdDate' | '_updatedDate' | 'shippingInfo.logistics.deliveryTimeSlot.from' | 'shippingInfo.logistics.deliveryTimeSlot.to' | 'purchasedDate', value: any) => OrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'buyerInfo.email' | 'billingInfo.contactDetails.firstName' | 'billingInfo.contactDetails.lastName' | 'shippingInfo.logistics.deliveryTime' | 'balanceSummary.authorized.amount' | 'balanceSummary.pendingRefund.amount' | 'balanceSummary.pending.amount' | 'businessLocation.id' | 'businessLocation.name', value: string) => OrdersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'number' | '_createdDate' | '_updatedDate' | 'buyerInfo.email' | 'priceSummary.total' | 'billingInfo.contactDetails.firstName' | 'billingInfo.contactDetails.lastName' | 'shippingInfo.logistics.deliveryTime' | 'shippingInfo.logistics.deliveryTimeSlot.from' | 'shippingInfo.logistics.deliveryTimeSlot.to' | 'archived' | 'seenByAHuman' | 'balanceSummary.authorized.amount' | 'balanceSummary.pendingRefund.amount' | 'balanceSummary.pending.amount' | 'purchasedDate' | 'businessLocation.id' | 'businessLocation.name', value: any[]) => OrdersQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'number' | '_createdDate' | '_updatedDate' | 'lineItems.subscriptionInfo.id' | 'buyerInfo.memberId' | 'buyerInfo.contactId' | 'buyerInfo.email' | 'paymentStatus' | 'fulfillmentStatus' | 'priceSummary.total' | 'billingInfo.contactDetails.firstName' | 'billingInfo.contactDetails.lastName' | 'shippingInfo.title' | 'shippingInfo.logistics.deliveryTime' | 'shippingInfo.logistics.deliveryTimeSlot.from' | 'shippingInfo.logistics.deliveryTimeSlot.to' | 'shippingInfo.region.name' | 'status' | 'archived' | 'createdBy.userId' | 'channelInfo.type' | 'channelInfo.externalOrderId' | 'seenByAHuman' | 'checkoutId' | 'balanceSummary.authorized.amount' | 'balanceSummary.pendingRefund.amount' | 'balanceSummary.pending.amount' | 'purchasedDate' | 'businessLocation.id' | 'businessLocation.name', value: any) => OrdersQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'number' | '_createdDate' | '_updatedDate' | 'buyerInfo.email' | 'priceSummary.total' | 'billingInfo.contactDetails.firstName' | 'billingInfo.contactDetails.lastName' | 'shippingInfo.logistics.deliveryTime' | 'shippingInfo.logistics.deliveryTimeSlot.from' | 'shippingInfo.logistics.deliveryTimeSlot.to' | 'archived' | 'seenByAHuman' | 'balanceSummary.authorized.amount' | 'balanceSummary.pendingRefund.amount' | 'balanceSummary.pending.amount' | 'purchasedDate' | 'businessLocation.id' | 'businessLocation.name', value: boolean) => OrdersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'number' | '_createdDate' | '_updatedDate' | 'buyerInfo.email' | 'paymentStatus' | 'fulfillmentStatus' | 'priceSummary.totalPrice' | 'priceSummary.total' | 'billingInfo.contactDetails.firstName' | 'billingInfo.contactDetails.lastName' | 'status' | 'balanceSummary.authorized.amount' | 'balanceSummary.pendingRefund.amount' | 'balanceSummary.pending.amount' | 'purchasedDate' | 'businessLocation.id' | 'businessLocation.name'>) => OrdersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'number' | '_createdDate' | '_updatedDate' | 'buyerInfo.email' | 'paymentStatus' | 'fulfillmentStatus' | 'priceSummary.totalPrice' | 'priceSummary.total' | 'billingInfo.contactDetails.firstName' | 'billingInfo.contactDetails.lastName' | 'status' | 'balanceSummary.authorized.amount' | 'balanceSummary.pendingRefund.amount' | 'balanceSummary.pending.amount' | 'purchasedDate' | 'businessLocation.id' | 'businessLocation.name'>) => OrdersQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => OrdersQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => OrdersQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<OrdersQueryResult>;\n  }\n  /**\n   * Retrieves a list of orders, given the provided paging, filtering, and sorting.\n   *\n   *\n   * Search Orders runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `cursorPaging.limit` is `100`\n   * - `filter: {\"status\": {\"$ne\": \"INITIALIZED\"}}` - other order statuses can be queried, but orders with `status: \"INITIALIZED\"` are never returned\n   *\n   * For field support for filters and sorting, see [Orders: Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/orders/supported-filters-and-sorting).\n   *\n   * To learn about working with _Search_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language), and\n   * [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.READ_ORDERS\n   * @adminMethod\n   */\n  function searchOrders(options?: SearchOrdersOptions): Promise<SearchOrdersResponse>;\n  interface SearchOrdersOptions {\n      /** Search options. */\n      search?: CursorSearch;\n  }\n  /**\n   * Creates an order.\n   *\n   *\n   * The `createOrder()` function returns a Promise that resolves when the order is created.\n   *\n   * > **Notes:**\n   * > + If an item is digital - `lineItems[i].itemType.preset: DIGITAL` - then `lineItems[i].digitalFile` must be provided.\n   * > + If `lineItems[i].id` is passed, it must be either a valid GUID, or empty.\n   * @param order - Order info.\n   * @public\n   * @requiredField order\n   * @requiredField order.billingInfo.contactDetails\n   * @requiredField order.billingInfo.contactDetails.firstName\n   * @requiredField order.channelInfo\n   * @requiredField order.lineItems\n   * @requiredField order.lineItems.catalogReference.appId\n   * @requiredField order.lineItems.catalogReference.catalogItemId\n   * @requiredField order.lineItems.itemType\n   * @requiredField order.lineItems.price\n   * @requiredField order.lineItems.productName\n   * @requiredField order.lineItems.productName.original\n   * @requiredField order.lineItems.quantity\n   * @requiredField order.lineItems.subscriptionInfo.subscriptionSettings.interval\n   * @requiredField order.priceSummary\n   * @permissionId ECOM.CREATE_ORDERS\n   * @permissionId ECOM.ORDER_WRITE_ALL_EXTENDED_FIELDS\n   * @adminMethod\n   * @returns Newly created order.\n   */\n  function createOrder(order: Order$1, options?: CreateOrderOptions): Promise<Order$1>;\n  interface CreateOrderOptions {\n      /**\n       * Determine order lifecycle\n       * @internal\n       */\n      settings?: OrderCreationSettings;\n  }\n  /**\n   * Updates an order.\n   *\n   *\n   * The `updateOrder()` function returns a Promise that resolves when the specified order's information is updated.\n   *\n   * Currently, the following fields can be updated:\n   * + `order.buyerInfo.email`\n   * + `order.buyerLanguage`\n   * + `order.weightUnit`\n   * + `order.billingInfo.address`\n   * + `order.billingInfo.contactDetails`\n   * + `order.archived`\n   * + `order.attributionSource`\n   * + `order.seenByAHuman`\n   * + `order.recipientInfo.address`\n   * + `order.recipientInfo.contactDetails`\n   * + `order.shippingInfo.logistics.shippingDestination.address`\n   * + `order.shippingInfo.logistics.shippingDestination.contactDetails`\n   *\n   * To update a field's value, include the new value in the `order` object in the method parameters.\n   * To remove a field's value, pass `null`.\n   *\n   * > **Note:** Removing `buyerInfo` or `contactDetails` fields results in an error.\n   *\n   * To update an order's payment status, use [`updatePaymentStatus( )`](https://www.wix.com/velo/reference/wix-ecom-backend/ordertransactions/updatepaymentstatus).\n   * @param _id - Order ID.\n   * @public\n   * @requiredField _id\n   * @requiredField order\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @permissionId ECOM.ORDER_WRITE_ALL_EXTENDED_FIELDS\n   * @adminMethod\n   * @returns Newly created order.\n   */\n  function updateOrder(_id: string | null, order: UpdateOrder, options?: UpdateOrderOptions): Promise<Order$1>;\n  interface UpdateOrder {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Order number displayed in the site owner's dashboard (auto-generated).\n       * @readonly\n       */\n      number?: string;\n      /**\n       * Date and time the order was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the order was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Order line items.\n       * @readonly\n       */\n      lineItems?: OrderLineItem[];\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$1;\n      /**\n       * Order payment status.\n       * + `NOT_PAID` - This can be an order made online, but not yet paid. In such cases `order.status` will be `INITIALIZED`.\n       * + This status also applies when an offline order needs to be manually marked as paid. In such cases `order.status` will be `APPROVED`.\n       * + `PAID` - All payments associated with this order are paid. For online payments: [`payment.regularPaymentDetails.status: APPROVED`](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-transactions/order-transactions-object). For gift cards: [`payment.giftCardPaymentDetails.voided: false`](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-transactions/order-transactions-object).\n       * + `PARTIALLY_REFUNDED` - Order was refunded, but refund amount is less than order total price.\n       * + `FULLY_REFUNDED` - Order fully refunded. Refund amount equals total price.\n       * + `PENDING` - Payments received but not yet confirmed by the payment provider.\n       * + `PARTIALLY_PAID` -  At least one payment was received and approved, covering less than total price amount.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /**\n       * Order fulfillment status.\n       * @readonly\n       */\n      fulfillmentStatus?: FulfillmentStatus$1;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       */\n      buyerLanguage?: string | null;\n      /** Weight measurement unit - defaults to site's weight unit. */\n      weightUnit?: WeightUnit$3;\n      /** Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. */\n      currency?: string | null;\n      /** Whether tax is included in line item prices. */\n      taxIncludedInPrices?: boolean;\n      /**\n       * Site language in which original values are shown.\n       * @readonly\n       */\n      siteLanguage?: string | null;\n      /**\n       * Order price summary.\n       * @readonly\n       */\n      priceSummary?: PriceSummary$1;\n      /** Billing address and contact details. */\n      billingInfo?: AddressWithContact;\n      /** Shipping info and selected shipping option details. */\n      shippingInfo?: ShippingInformation$1;\n      /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n      buyerNote?: string | null;\n      /**\n       * Order status.\n       * + `INITIALIZED`: Order created, but not yet approved or canceled.\n       * + `APPROVED`: Order approved. This happens when either an online payment is received **or** when `order.priceSummary.total = 0` (a zero-total order). Offline orders (cash payment) are automatically approved.\n       * + `CANCELED`: Order canceled by the user.\n       */\n      status?: OrderStatus;\n      /** Whether order is archived. */\n      archived?: boolean | null;\n      /**\n       * Tax summary.\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * @deprecated Tax summary.\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxSummary?: TaxSummary$1;\n      /** Tax information. */\n      taxInfo?: OrderTaxInfo;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount$1[];\n      /**\n       * Order activities.\n       * @readonly\n       */\n      activities?: Activity$1[];\n      /** Order attribution source. */\n      attributionSource?: AttributionSource;\n      /**\n       * ID of the order's initiator.\n       * @readonly\n       */\n      createdBy?: CreatedBy;\n      /** Information about the sales channel that submitted this order. */\n      channelInfo?: ChannelInfo$1;\n      /** Whether a human has seen the order. Set when an order is clicked on in the dashboard. */\n      seenByAHuman?: boolean | null;\n      /** Checkout ID. */\n      checkoutId?: string | null;\n      /** Custom fields. */\n      customFields?: CustomField$1[];\n      /**\n       * Cart ID - required by TYP OOI for legacy orders.\n       * @internal\n       */\n      cartId?: string | null;\n      /**\n       * Private API flag that allows using read-only \"id\" during order creation.\n       * @internal\n       */\n      isInternalOrderCreate?: boolean;\n      /**\n       * Pay now price summary. Part of price_summary that must be payed at checkout\n       * @internal\n       * @readonly\n       */\n      payNow?: PriceSummary$1;\n      /**\n       * Balance summary.\n       * @readonly\n       */\n      balanceSummary?: BalanceSummary;\n      /** Additional fees applied to the order. */\n      additionalFees?: AdditionalFee$1[];\n      /**\n       * Custom string status values aggregated from every fulfillment entity associated with current order\n       * @internal\n       * @readonly\n       */\n      fulfillmentStatusesAggregate?: FulfillmentStatusesAggregate;\n      /**\n       * Custom field data for the order object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$4;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /**\n       * Order recipient address and contact details.\n       *\n       * This field may differ from the address in `shippingInfo.logistics` when:\n       * + The chosen shipping option is pickup point or store pickup.\n       * + No shipping option is selected.\n       */\n      recipientInfo?: AddressWithContact;\n      /**\n       * Tag ids collections associated with current entity. private_tags requires separate permissions to be accessible and modifiable.\n       * @internal\n       */\n      tags?: Tags;\n      /**\n       * Date and time the order was originally purchased in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * Used for migration from external systems.\n       */\n      purchasedDate?: Date | null;\n      /**\n       * Order Location\n       * @internal\n       */\n      businessLocation?: Location;\n  }\n  interface UpdateOrderOptions {\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Updates up to 100 orders.\n   *\n   *\n   * The `bulkUpdateOrders()` function returns a Promise that resolves when the specified orders' information is updated.\n   *\n   * Currently, the following fields can be updated:\n   * + `order.buyerInfo.email`\n   * + `order.buyerLanguage`\n   * + `order.weightUnit`\n   * + `order.billingInfo.address`\n   * + `order.billingInfo.contactDetails`\n   * + `order.archived`\n   * + `order.attributionSource`\n   * + `order.seenByAHuman`\n   * + `order.recipientInfo.address`\n   * + `order.recipientInfo.contactDetails`\n   * + `order.shippingInfo.logistics.shippingDestination.address`\n   * + `order.shippingInfo.logistics.shippingDestination.contactDetails`\n   *\n   * To update a field's value, include the new value in the `orders.order` object in the method parameters.\n   * To remove a field's value, pass `null`.\n   *\n   * > **Note:** Removing `buyerInfo` or `contactDetails` fields results in an error.\n   *\n   * To update an order's payment status, use [`updatePaymentStatus( )`](https://www.wix.com/velo/reference/wix-ecom-backend/ordertransactions/updatepaymentstatus).\n   * @param orders - Orders to update.\n   * @public\n   * @requiredField orders\n   * @requiredField orders.order\n   * @requiredField orders.order._id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkUpdateOrders(orders: MaskedOrder[], options?: BulkUpdateOrdersOptions): Promise<BulkUpdateOrdersResponse>;\n  interface BulkUpdateOrdersOptions {\n      /**\n       * Whether to return the full order entities.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  /** @param _id - Order id to be updated\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.changes\n   * @requiredField options.changes.priceSummary.subtotal\n   * @requiredField options.changes.priceSummary.total\n   * @permissionId ECOM.ORDERS_DELTAS_COMMIT\n   * @permissionId ECOM.ORDER_WRITE_ALL_EXTENDED_FIELDS\n   * @adminMethod\n   */\n  function commitDeltas(_id: string, options?: CommitDeltasOptions): Promise<CommitDeltasResponse>;\n  interface CommitDeltasOptions {\n      /**\n       * Draft order Id representing this change.\n       * Use this ID to get this specific draft content. call .../v1/draft-orders/{draft_order_id}/get\n       */\n      draftOrderId?: string;\n      /** Draft order changes to be applied */\n      changes: DraftOrderDiffs;\n      /** Side-effects to happen after order is updated */\n      commitSettings?: DraftOrderCommitSettings;\n      /** Reason for edit, given by user (optional). */\n      reason?: string | null;\n  }\n  /**\n   * Archives an order. `order.archived` field changes to `true`.\n   * @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function archiveOrder(_id: string): Promise<ArchiveOrderResponse>;\n  /**\n   * Archives multiple orders. `order.archived` field changes to `true`.\n   * @param ids - IDs of orders to archive.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkArchiveOrders(ids: string[], options?: BulkArchiveOrdersOptions): Promise<BulkArchiveOrdersResponse>;\n  interface BulkArchiveOrdersOptions {\n      /** Whether to return the full updated order entities in the response. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Archives multiple orders, selected by filter. `order.archived` field changes to `true`.\n   * @param filter - Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/ecommerce/orders/filter-and-sort).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkArchiveOrdersByFilter(filter: Record<string, any> | null): Promise<BulkArchiveOrdersByFilterResponse>;\n  /**\n   * Unarchives an order. `order.archived` field changes to `false`.\n   * @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function unArchiveOrder(_id: string): Promise<UnArchiveOrderResponse>;\n  /**\n   * Unarchives multiple orders. `order.archived` field changes to `false`.\n   * @param ids - IDs or orders to unarchive.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkUnArchiveOrders(ids: string[], options?: BulkUnArchiveOrdersOptions): Promise<BulkUnArchiveOrdersResponse>;\n  interface BulkUnArchiveOrdersOptions {\n      /** Whether to return the full updated order entities in the response. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Unarchives multiple orders, selected by filter. `order.archived` field changes to `false`.\n   * @param filter - Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/ecommerce/orders/filter-and-sort).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkUnArchiveOrdersByFilter(filter: Record<string, any> | null): Promise<BulkUnArchiveOrdersByFilterResponse>;\n  /**\n   * Updates an order's contact ID and/or email.\n   * > **Note:** Neither `email`, nor `contactId` can be removed, only updated.\n   * @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function updateBuyerInfo(_id: string, options?: UpdateBuyerInfoOptions): Promise<UpdateBuyerInfoResponse>;\n  interface UpdateBuyerInfoOptions {\n      /**\n       * Field mask of buyerInfo fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Buyer info. */\n      buyerInfo?: BuyerInfoUpdate;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   * @deprecated\n   * @targetRemovalDate 2023-09-25\n   */\n  function updateBuyerEmail(_id: string, options?: UpdateBuyerEmailOptions): Promise<UpdateBuyerEmailResponse>;\n  interface UpdateBuyerEmailOptions {\n      email?: string | null;\n  }\n  /**\n   * Updates an order's shipping address and/or contact details.\n   * > **Notes:**\n   * > + Original order must have existing address to update - `order.shippingInfo.logistics.shippingDestination.address` must have existing value.\n   * > + Neither `address`, nor `contactDetails` can be removed, only updated.\n   * @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.shippingAddress\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function updateOrderShippingAddress(_id: string, options?: UpdateOrderShippingAddressOptions): Promise<UpdateOrderShippingAddressResponse>;\n  interface UpdateOrderShippingAddressOptions {\n      /**\n       * mask of shipping address fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Shipping address and contact details to be updated. */\n      shippingAddress: AddressWithContact;\n  }\n  /**\n   * Updates an order's billing contact details.\n   * @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function updateBillingContactDetails(_id: string, options?: UpdateBillingContactDetailsOptions): Promise<UpdateBillingContactDetailsResponse>;\n  interface UpdateBillingContactDetailsOptions {\n      /**\n       * mask of contact details fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Contact details. */\n      addressContactDetails?: FullAddressContactDetails$1;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.id\n   * @requiredField identifiers.lineItemId\n   * @requiredField lineItem\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   * @deprecated\n   * @targetRemovalDate 2024-02-15\n   */\n  function updateOrderLineItem(identifiers: UpdateOrderLineItemIdentifiers, lineItem: UpdateOrderLineItem, options?: UpdateOrderLineItemOptions): Promise<UpdateOrderLineItemResponse>;\n  interface UpdateOrderLineItemIdentifiers {\n      /** Order ID */\n      _id: string;\n      /** Line item ID. */\n      lineItemId?: string;\n  }\n  interface UpdateOrderLineItem {\n      /** Line item ID. */\n      _id?: string;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       */\n      productName?: ProductName;\n      /** Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference$3;\n      /** Line item quantity. */\n      quantity?: number;\n      /**\n       * Total discount for this line item's entire quantity.\n       * @readonly\n       */\n      totalDiscount?: Price$3;\n      /** Line item description lines. Used for display purposes for the cart, checkout and order. */\n      descriptionLines?: DescriptionLine[];\n      /** Line item image. */\n      image?: string;\n      /** Physical properties of the item. When relevant, contains information such as SKU and item weight. */\n      physicalProperties?: PhysicalProperties$2;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType$1;\n      /**\n       * Fulfiller ID. Field is empty when the line item is self-fulfilled.\n       *\n       * To get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://www.wix.com/velo/reference/wix-ecom-backend/orderfulfillments/listfulfillmentsforsingleorder).\n       */\n      fulfillerId?: string | null;\n      /** Number of items that were refunded. */\n      refundQuantity?: number | null;\n      /** Number of items restocked. */\n      restockQuantity?: number | null;\n      /** Line item price after line item discounts for display purposes. */\n      price?: Price$3;\n      /**\n       * Line item price before line item discounts for display purposes. Defaults to `price` when not provided.\n       * @readonly\n       */\n      priceBeforeDiscounts?: Price$3;\n      /**\n       * Total price after discounts, and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: Price$3;\n      /**\n       * Total price after all discounts and tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: Price$3;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       * + `FULL_PAYMENT_ONLINE` - The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `DEPOSIT_ONLINE` - Partial payment for the given item to be paid upfront during the checkout. Eligible for catalog items with type `DEPOSIT_ONLINE` only.\n       */\n      paymentOption?: PaymentOptionType$1;\n      /**\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @deprecated Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxDetails?: ItemTaxFullDetails$1;\n      /** Represents all the relevant tax details for a specific line item. */\n      taxInfo?: LineItemTaxInfo;\n      /** Digital file identifier, relevant only for items with type DIGITAL. */\n      digitalFile?: DigitalFile$1;\n      /** Subscription info. */\n      subscriptionInfo?: SubscriptionInfo$1;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription;\n      /**\n       * Item's price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `\"DEPOSIT_ONLINE\"`.\n       * @readonly\n       */\n      depositAmount?: Price$3;\n      /**\n       * The Item's Delivery Profile Id\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** @internal */\n      shippingGroupId?: string | null;\n      /**\n       * Source locations for this line item. The location's total quantity must not exceed the line item quantity.\n       * @internal\n       */\n      locations?: LocationAndQuantity[];\n      /**\n       * Total price **after** catalog discounts and line item discounts.\n       * @internal\n       */\n      lineItemPrice?: Price$3;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @internal\n       * @readonly\n       */\n      customLineItem?: boolean | null;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n       * @internal\n       * @readonly\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Address used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress$1;\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       *\n       * Default: `false`\n       * @internal\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Custom extended fields for the line item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields$4;\n  }\n  interface UpdateOrderLineItemOptions {\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Updates multiple items of an order.\n   * Currently, the following fields can be updated:\n   * + `lineItem.productName`\n   * + `lineItem.descriptionLines` (full replacement)\n   * + `lineItem.digitalFile`\n   * + `lineItem.priceDescription`\n   * @param orderId - Order ID\n   * @param lineItems - Order line items to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField lineItems\n   * @requiredField lineItems.lineItem\n   * @requiredField lineItems.lineItem._id\n   * @requiredField orderId\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @permissionId ECOM.ORDER_MODIFY_DIGITAL_FILE\n   * @adminMethod\n   */\n  function updateOrderLineItems(orderId: string, lineItems: MaskedOrderLineItem[]): Promise<UpdateOrderLineItemsResponse>;\n  /** @param _id - Order ID.\n   * @param activity - Activity info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField activity\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function addInternalActivity(_id: string, activity: InternalActivity): Promise<AddInternalActivityResponse>;\n  /**\n   * Adds a merchant comment to an order.\n   * > **Note:** Activities with type CustomActivity not supported\n   * @param _id - Order ID.\n   * @param activity - Activity info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField activity\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wix.ecom.orders.v1.OrdersService.AddActivities\n   * @targetRemovalDate 2024-11-01\n   */\n  function addActivity(_id: string, activity: PublicActivity): Promise<AddActivityResponse>;\n  /**\n   * Adds merchant comments to an order.\n   * > **Note:** Activities with type CustomActivity not supported\n   * @param orderId - Order ID.\n   * @param activities - Activities to add.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField activities\n   * @requiredField orderId\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function addActivities(orderId: string, activities: PublicActivity[]): Promise<AddActivitiesResponse>;\n  /**\n   * Updates an order's activity.\n   * @param activity - Activity info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField activity\n   * @requiredField identifiers\n   * @requiredField identifiers.activityId\n   * @requiredField identifiers.id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function updateActivity(identifiers: UpdateActivityIdentifiers, activity: PublicActivity): Promise<UpdateActivityResponse>;\n  interface UpdateActivityIdentifiers {\n      /** Order ID. */\n      _id: string;\n      /** ID of the activity to update. */\n      activityId: string;\n  }\n  /**\n   * Delete's an order's activity.\n   *\n   * Only custom activities and merchant comments can be deleted.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.activityId\n   * @requiredField identifiers.id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function deleteActivity(identifiers: DeleteActivityIdentifiers): Promise<DeleteActivityResponse>;\n  interface DeleteActivityIdentifiers {\n      /** Order ID. */\n      _id: string;\n      /** ID of the activity to delete. */\n      activityId: string;\n  }\n  /**\n   * Updates an order's line item descriptions.\n   * @param _id - Order ID.\n   * @param lineItems - Line items.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField lineItems\n   * @requiredField lineItems.descriptionLines.name\n   * @requiredField lineItems.lineItemId\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function updateLineItemsDescriptionLines(_id: string, lineItems: LineItemUpdate[]): Promise<UpdateLineItemsDescriptionLinesResponse>;\n  /**\n   * Marks an order as read in the dashboard. `order.seenByAHuman` field changes to `true`.\n   * @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function markOrderAsSeenByHuman(_id: string): Promise<MarkOrderAsSeenByHumanResponse>;\n  /**\n   * Cancels an order.\n   *\n   *\n   * The `cancelOrder()` function returns a Promise that resolves when the specified order is canceled and the `order.status` field changes to `CANCELED`.\n   * @param _id - Order ID.\n   * @public\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function cancelOrder(_id: string, options?: CancelOrderOptions): Promise<CancelOrderResponse>;\n  interface CancelOrderOptions {\n      /** Whether to send an order canceled email to the buyer. */\n      sendOrderCanceledEmail?: boolean;\n      /** Custom note to be added to the email (optional). */\n      customMessage?: string | null;\n      /** Whether to restock all items in the order. This will only apply to products in the Wix Stores inventory. */\n      restockAllItems?: boolean;\n  }\n  /**\n   * Marks an order as fulfilled. `order.fulfillmentStatus` field changes to `FULFILLED`.\n   * @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function markAsFulfilled(_id: string): Promise<MarkAsFulfilledResponse>;\n  /**\n   * Marks multiple orders as fulfilled. `order.fulfillmentStatus` field changes to `FULFILLED`.\n   * @param ids - IDs of orders to be marked as fulfilled.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkMarkAsFulfilled(ids: string[], options?: BulkMarkAsFulfilledOptions): Promise<BulkMarkAsFulfilledResponse>;\n  interface BulkMarkAsFulfilledOptions {\n      /** Whether to return the full updated order entities in the response. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Marks multiple orders as fulfilled, selected by filter. `order.fulfillmentStatus` field changes to `FULFILLED`.\n   * @param filter - Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/ecommerce/orders/filter-and-sort).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkMarkAsFulfilledByFilter(filter: Record<string, any> | null): Promise<BulkMarkAsFulfilledByFilterResponse>;\n  /**\n   * Marks an order as not fulfilled. `order.fulfillmentStatus` field changes to `NOT_FULFILLED`.\n   * @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function markAsUnfulfilled(_id: string): Promise<MarkAsUnfulfilledResponse>;\n  /**\n   * Marks multiple orders as not fulfilled. `order.fulfillmentStatus` field changes to `NOT_FULFILLED`.\n   * @param ids - IDs of orders to be marked as not fulfilled.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkMarkAsUnfulfilled(ids: string[], options?: BulkMarkAsUnfulfilledOptions): Promise<BulkMarkAsUnfulfilledResponse>;\n  interface BulkMarkAsUnfulfilledOptions {\n      /** Whether to return the full updated order entities in the response. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Marks multiple orders as not fulfilled, selected by filter. `order.fulfillmentStatus` field changes to `NOT_FULFILLED`.\n   * @param filter - Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/ecommerce/orders/filter-and-sort).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId ECOM.MODIFY_FULFILLMENTS\n   * @adminMethod\n   */\n  function bulkMarkAsUnfulfilledByFilter(filter: Record<string, any> | null): Promise<BulkMarkAsUnfulfilledByFilterResponse>;\n  /**\n   * Marks the order as paid. `order.paymentStatus` field *eventually* changes to `PAID`.\n   * In case the order already has an offline payment transaction associated with it (usually when manual payment method is chosen at checkout) - This transaction will become approved.\n   * In case the order has no payment transactions associated with it (usually when the item is set to be paid offline after checkout or when an order is created from the backoffice) - A payment transaction will be created and approved.\n   * @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function markOrderAsPaid(_id: string): Promise<V1MarkOrderAsPaidResponse>;\n  /**\n   * Marks multiple orders as paid. `order.paymentStatus` field *eventually* changes to `PAID`.\n   * @param ids - IDs of orders to mark as paid.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkMarkOrdersAsPaid(ids: string[]): Promise<V1BulkMarkOrdersAsPaidResponse>;\n  /**\n   * Call this endpoint to create an order in the payment gateway system. The amount of the order would be either:\n   * 1. An explicit amount provided in the request, or;\n   * 2. If an explicit amount is not provided - the remaining amount to complete the payment of that eCom order.\n   * As a result, an ID of the created payment gateway order would be returned.\n   * You can then use Wix Payments APIs to approve that order or collect payment, which will eventually change the eCom order state (e.g mark it as paid).\n   * @param ecomOrderId - eCom Order ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ecomOrderId\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function createPaymentGatewayOrder(ecomOrderId: string): Promise<V1CreatePaymentGatewayOrderResponse>;\n  /**\n   * returns shipping label ids - temporarily until fully modeled in fulfillments service\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ECOM.READ_ORDERS\n   * @adminMethod\n   * @deprecated\n   * @targetRemovalDate 2023-05-15\n   */\n  function getShipments(_id: string): Promise<GetShipmentsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField options.aggregation\n   * @permissionId ECOM.READ_ORDERS\n   * @adminMethod\n   */\n  function aggregateOrders(options?: AggregateOrdersOptions): Promise<AggregateOrdersResponse>;\n  interface AggregateOrdersOptions {\n      /** Filter applied to original data */\n      filter?: Record<string, any> | null;\n      /** This is an object defining aggregation itself */\n      aggregation: Record<string, any> | null;\n      /**\n       * Optional custom separator string that can be used to override default separator value '|'\n       * for hierarchical responses of multifaceted aggregation requests like:\n       * '{\"aggregation\": {\"example_request_key\": {\"$count\" : [\"deliveryMethod\", \"shippingRegion\"]}}}'\n       * with example response for default '|' separator like:\n       * '{\"aggregates\" :{\"example_request_key\": {\"(Mail|Region 1)\": 5, \"(Pickup|Region 2)\": 10}}}'\n       */\n      hierarchySeparatorOverride?: string | null;\n  }\n  /**\n   * Restock items on order - temporary solution for POS\n   * @param _id - Order ID\n   * @param decrementData - Which items to decrement, and how much to decrement from each one\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField decrementData\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function decrementItemsQuantity(_id: string, decrementData: DecrementData[]): Promise<DecrementItemsQuantityResponse>;\n  /**\n   * Synchronously update tags on multiple orders, by list of order ids\n   * A tag that appears both in the list of assign and unassign tags, will be assigned\n   * @param orderIds - IDs of orders to update tags for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderIds\n   * @permissionId ECOM.MODIFY_ORDERS\n   * @permissionId ECOM.ORDER_MODIFY_PRIVATE_TAGS\n   * @adminMethod\n   */\n  function bulkUpdateOrderTags(orderIds: string[], options?: BulkUpdateOrderTagsOptions): Promise<BulkUpdateOrderTagsResponse>;\n  interface BulkUpdateOrderTagsOptions {\n      /** Tags to be added to orders */\n      assignTags?: Tags;\n      /** Tags to be removed from orders */\n      unassignTags?: Tags;\n  }\n  \n  type ecomV1Order_universal_d_OrderLineItem = OrderLineItem;\n  type ecomV1Order_universal_d_ProductName = ProductName;\n  type ecomV1Order_universal_d_DescriptionLine = DescriptionLine;\n  type ecomV1Order_universal_d_DescriptionLineValueOneOf = DescriptionLineValueOneOf;\n  type ecomV1Order_universal_d_DescriptionLineDescriptionLineValueOneOf = DescriptionLineDescriptionLineValueOneOf;\n  type ecomV1Order_universal_d_DescriptionLineName = DescriptionLineName;\n  type ecomV1Order_universal_d_PlainTextValue = PlainTextValue;\n  type ecomV1Order_universal_d_Color = Color;\n  type ecomV1Order_universal_d_DescriptionLineType = DescriptionLineType;\n  const ecomV1Order_universal_d_DescriptionLineType: typeof DescriptionLineType;\n  type ecomV1Order_universal_d_FocalPoint = FocalPoint;\n  type ecomV1Order_universal_d_LineItemTaxInfo = LineItemTaxInfo;\n  type ecomV1Order_universal_d_LineItemTaxBreakdown = LineItemTaxBreakdown;\n  type ecomV1Order_universal_d_PriceDescription = PriceDescription;\n  type ecomV1Order_universal_d_LocationAndQuantity = LocationAndQuantity;\n  type ecomV1Order_universal_d_BuyerInfoIdOneOf = BuyerInfoIdOneOf;\n  type ecomV1Order_universal_d_AddressWithContact = AddressWithContact;\n  type ecomV1Order_universal_d_DeliveryLogisticsAddressOneOf = DeliveryLogisticsAddressOneOf;\n  type ecomV1Order_universal_d_OrderStatus = OrderStatus;\n  const ecomV1Order_universal_d_OrderStatus: typeof OrderStatus;\n  type ecomV1Order_universal_d_OrderTaxInfo = OrderTaxInfo;\n  type ecomV1Order_universal_d_OrderTaxBreakdown = OrderTaxBreakdown;\n  type ecomV1Order_universal_d_MerchantDiscountMerchantDiscountReasonOneOf = MerchantDiscountMerchantDiscountReasonOneOf;\n  type ecomV1Order_universal_d_DiscountReason = DiscountReason;\n  const ecomV1Order_universal_d_DiscountReason: typeof DiscountReason;\n  type ecomV1Order_universal_d_ActivityContentOneOf = ActivityContentOneOf;\n  type ecomV1Order_universal_d_CustomActivity = CustomActivity;\n  type ecomV1Order_universal_d_MerchantComment = MerchantComment;\n  type ecomV1Order_universal_d_OrderCreatedFromExchange = OrderCreatedFromExchange;\n  type ecomV1Order_universal_d_NewExchangeOrderCreated = NewExchangeOrderCreated;\n  type ecomV1Order_universal_d_LineItemExchangeData = LineItemExchangeData;\n  type ecomV1Order_universal_d_DraftOrderChangesApplied = DraftOrderChangesApplied;\n  type ecomV1Order_universal_d_OrderChange = OrderChange;\n  type ecomV1Order_universal_d_OrderChangeValueOneOf = OrderChangeValueOneOf;\n  type ecomV1Order_universal_d_LineItemChanges = LineItemChanges;\n  type ecomV1Order_universal_d_LineItemQuantityChange = LineItemQuantityChange;\n  type ecomV1Order_universal_d_LineItemQuantityChangeType = LineItemQuantityChangeType;\n  const ecomV1Order_universal_d_LineItemQuantityChangeType: typeof LineItemQuantityChangeType;\n  type ecomV1Order_universal_d_LineItemPriceChange = LineItemPriceChange;\n  type ecomV1Order_universal_d_ManagedLineItem = ManagedLineItem;\n  type ecomV1Order_universal_d_ManagedDiscount = ManagedDiscount;\n  type ecomV1Order_universal_d_TranslatedValue = TranslatedValue;\n  type ecomV1Order_universal_d_LineItemAmount = LineItemAmount;\n  type ecomV1Order_universal_d_ManagedAdditionalFee = ManagedAdditionalFee;\n  type ecomV1Order_universal_d_TotalPriceChange = TotalPriceChange;\n  type ecomV1Order_universal_d_ShippingInformationChange = ShippingInformationChange;\n  type ecomV1Order_universal_d_ShippingInformationChangeShippingInformation = ShippingInformationChangeShippingInformation;\n  type ecomV1Order_universal_d_SavedPaymentMethod = SavedPaymentMethod;\n  type ecomV1Order_universal_d_AuthorizedPaymentCreated = AuthorizedPaymentCreated;\n  type ecomV1Order_universal_d_AuthorizedPaymentCaptured = AuthorizedPaymentCaptured;\n  type ecomV1Order_universal_d_AuthorizedPaymentVoided = AuthorizedPaymentVoided;\n  type ecomV1Order_universal_d_RefundInitiated = RefundInitiated;\n  type ecomV1Order_universal_d_RefundedPayment = RefundedPayment;\n  type ecomV1Order_universal_d_RefundedPaymentKindOneOf = RefundedPaymentKindOneOf;\n  type ecomV1Order_universal_d_RegularPaymentRefund = RegularPaymentRefund;\n  type ecomV1Order_universal_d_GiftCardPaymentRefund = GiftCardPaymentRefund;\n  type ecomV1Order_universal_d_MembershipPaymentRefund = MembershipPaymentRefund;\n  type ecomV1Order_universal_d_PaymentRefunded = PaymentRefunded;\n  type ecomV1Order_universal_d_PaymentRefundFailed = PaymentRefundFailed;\n  type ecomV1Order_universal_d_RefundedAsStoreCredit = RefundedAsStoreCredit;\n  type ecomV1Order_universal_d_PaymentPending = PaymentPending;\n  type ecomV1Order_universal_d_PaymentPendingPaymentDetailsOneOf = PaymentPendingPaymentDetailsOneOf;\n  type ecomV1Order_universal_d_RegularPayment = RegularPayment;\n  type ecomV1Order_universal_d_RegularPaymentPaymentMethodDetailsOneOf = RegularPaymentPaymentMethodDetailsOneOf;\n  type ecomV1Order_universal_d_CreditCardDetails = CreditCardDetails;\n  type ecomV1Order_universal_d_PaymentCanceled = PaymentCanceled;\n  type ecomV1Order_universal_d_PaymentCanceledPaymentDetailsOneOf = PaymentCanceledPaymentDetailsOneOf;\n  type ecomV1Order_universal_d_PaymentDeclined = PaymentDeclined;\n  type ecomV1Order_universal_d_PaymentDeclinedPaymentDetailsOneOf = PaymentDeclinedPaymentDetailsOneOf;\n  type ecomV1Order_universal_d_AttributionSource = AttributionSource;\n  const ecomV1Order_universal_d_AttributionSource: typeof AttributionSource;\n  type ecomV1Order_universal_d_CreatedBy = CreatedBy;\n  type ecomV1Order_universal_d_CreatedByStringOneOf = CreatedByStringOneOf;\n  type ecomV1Order_universal_d_BalanceSummary = BalanceSummary;\n  type ecomV1Order_universal_d_Balance = Balance;\n  type ecomV1Order_universal_d_FulfillmentStatusesAggregate = FulfillmentStatusesAggregate;\n  type ecomV1Order_universal_d_Tags = Tags;\n  type ecomV1Order_universal_d_TagList = TagList;\n  type ecomV1Order_universal_d_Location = Location;\n  type ecomV1Order_universal_d_TriggerReindexOrderRequest = TriggerReindexOrderRequest;\n  type ecomV1Order_universal_d_PaymentStatusUpdated = PaymentStatusUpdated;\n  type ecomV1Order_universal_d_OrderRejectedEventOrderRejected = OrderRejectedEventOrderRejected;\n  type ecomV1Order_universal_d_OrderItemsRestocked = OrderItemsRestocked;\n  type ecomV1Order_universal_d_V1RestockItem = V1RestockItem;\n  type ecomV1Order_universal_d_GetMetasiteDataRequest = GetMetasiteDataRequest;\n  type ecomV1Order_universal_d_GetMetasiteDataResponse = GetMetasiteDataResponse;\n  type ecomV1Order_universal_d_MetaSite = MetaSite;\n  type ecomV1Order_universal_d_App = App;\n  type ecomV1Order_universal_d_State = State;\n  const ecomV1Order_universal_d_State: typeof State;\n  type ecomV1Order_universal_d_Namespace = Namespace;\n  const ecomV1Order_universal_d_Namespace: typeof Namespace;\n  type ecomV1Order_universal_d_SeoData = SeoData;\n  type ecomV1Order_universal_d_MetaTag = MetaTag;\n  type ecomV1Order_universal_d_HtmlApplication = HtmlApplication;\n  type ecomV1Order_universal_d_ExternalUriMapping = ExternalUriMapping;\n  type ecomV1Order_universal_d_UserDataResponse = UserDataResponse;\n  type ecomV1Order_universal_d_QueryOrdersForMetasiteRequest = QueryOrdersForMetasiteRequest;\n  type ecomV1Order_universal_d_InternalQueryOrdersRequest = InternalQueryOrdersRequest;\n  type ecomV1Order_universal_d_PlatformQuery = PlatformQuery;\n  type ecomV1Order_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n  type ecomV1Order_universal_d_PlatformPaging = PlatformPaging;\n  type ecomV1Order_universal_d_QueryOrdersForMetasiteResponse = QueryOrdersForMetasiteResponse;\n  type ecomV1Order_universal_d_PlatformPagingMetadata = PlatformPagingMetadata;\n  type ecomV1Order_universal_d_GetOrderForMetasiteRequest = GetOrderForMetasiteRequest;\n  type ecomV1Order_universal_d_GetOrderForMetasiteResponse = GetOrderForMetasiteResponse;\n  type ecomV1Order_universal_d_ListOrderTransactionsForMetasiteRequest = ListOrderTransactionsForMetasiteRequest;\n  type ecomV1Order_universal_d_ListOrderTransactionsForMetasiteResponse = ListOrderTransactionsForMetasiteResponse;\n  type ecomV1Order_universal_d_V1LineItemRefund = V1LineItemRefund;\n  type ecomV1Order_universal_d_V1AdditionalFeeRefund = V1AdditionalFeeRefund;\n  type ecomV1Order_universal_d_V1ShippingRefund = V1ShippingRefund;\n  type ecomV1Order_universal_d_UpsertRefundRequest = UpsertRefundRequest;\n  type ecomV1Order_universal_d_UpsertRefundResponse = UpsertRefundResponse;\n  type ecomV1Order_universal_d_UpdateInternalDocumentsEvent = UpdateInternalDocumentsEvent;\n  type ecomV1Order_universal_d_UpdateInternalDocumentsEventOperationOneOf = UpdateInternalDocumentsEventOperationOneOf;\n  type ecomV1Order_universal_d_InternalDocument = InternalDocument;\n  type ecomV1Order_universal_d_InternalDocumentUpdateOperation = InternalDocumentUpdateOperation;\n  type ecomV1Order_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n  type ecomV1Order_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n  type ecomV1Order_universal_d_InternalDocumentUpdateByFilterOperation = InternalDocumentUpdateByFilterOperation;\n  type ecomV1Order_universal_d_InternalUpdateExistingOperation = InternalUpdateExistingOperation;\n  type ecomV1Order_universal_d_VersionedDocumentUpdateOperation = VersionedDocumentUpdateOperation;\n  type ecomV1Order_universal_d_VersioningMode = VersioningMode;\n  const ecomV1Order_universal_d_VersioningMode: typeof VersioningMode;\n  type ecomV1Order_universal_d_VersionedDeleteByIdsOperation = VersionedDeleteByIdsOperation;\n  type ecomV1Order_universal_d_VersionedDocumentId = VersionedDocumentId;\n  type ecomV1Order_universal_d_TriggerReindexRequest = TriggerReindexRequest;\n  type ecomV1Order_universal_d_TriggerReindexResponse = TriggerReindexResponse;\n  type ecomV1Order_universal_d_BatchOfTriggerReindexOrderRequest = BatchOfTriggerReindexOrderRequest;\n  type ecomV1Order_universal_d_SendBuyerConfirmationEmailRequest = SendBuyerConfirmationEmailRequest;\n  type ecomV1Order_universal_d_SendBuyerConfirmationEmailResponse = SendBuyerConfirmationEmailResponse;\n  type ecomV1Order_universal_d_SendBuyerPaymentsReceivedEmailRequest = SendBuyerPaymentsReceivedEmailRequest;\n  type ecomV1Order_universal_d_SendBuyerPaymentsReceivedEmailResponse = SendBuyerPaymentsReceivedEmailResponse;\n  type ecomV1Order_universal_d_SendBuyerPickupConfirmationEmailRequest = SendBuyerPickupConfirmationEmailRequest;\n  type ecomV1Order_universal_d_SendBuyerPickupConfirmationEmailResponse = SendBuyerPickupConfirmationEmailResponse;\n  type ecomV1Order_universal_d_BulkSendBuyerPickupConfirmationEmailsRequest = BulkSendBuyerPickupConfirmationEmailsRequest;\n  type ecomV1Order_universal_d_BulkSendBuyerPickupConfirmationEmailsResponse = BulkSendBuyerPickupConfirmationEmailsResponse;\n  type ecomV1Order_universal_d_SendBuyerShippingConfirmationEmailRequest = SendBuyerShippingConfirmationEmailRequest;\n  type ecomV1Order_universal_d_SendBuyerShippingConfirmationEmailResponse = SendBuyerShippingConfirmationEmailResponse;\n  type ecomV1Order_universal_d_BulkSendBuyerShippingConfirmationEmailsRequest = BulkSendBuyerShippingConfirmationEmailsRequest;\n  type ecomV1Order_universal_d_BulkSendBuyerShippingConfirmationEmailsResponse = BulkSendBuyerShippingConfirmationEmailsResponse;\n  type ecomV1Order_universal_d_SendMerchantOrderReceivedNotificationRequest = SendMerchantOrderReceivedNotificationRequest;\n  type ecomV1Order_universal_d_SendMerchantOrderReceivedNotificationResponse = SendMerchantOrderReceivedNotificationResponse;\n  type ecomV1Order_universal_d_SendCancelRefundEmailRequest = SendCancelRefundEmailRequest;\n  type ecomV1Order_universal_d_SendCancelRefundEmailResponse = SendCancelRefundEmailResponse;\n  type ecomV1Order_universal_d_SendRefundEmailRequest = SendRefundEmailRequest;\n  type ecomV1Order_universal_d_SendRefundEmailResponse = SendRefundEmailResponse;\n  type ecomV1Order_universal_d_SendMerchantOrderReceivedPushRequest = SendMerchantOrderReceivedPushRequest;\n  type ecomV1Order_universal_d_SendMerchantOrderReceivedPushResponse = SendMerchantOrderReceivedPushResponse;\n  type ecomV1Order_universal_d_PreviewEmailByTypeRequest = PreviewEmailByTypeRequest;\n  type ecomV1Order_universal_d_PreviewEmailType = PreviewEmailType;\n  const ecomV1Order_universal_d_PreviewEmailType: typeof PreviewEmailType;\n  type ecomV1Order_universal_d_PreviewEmailByTypeResponse = PreviewEmailByTypeResponse;\n  type ecomV1Order_universal_d_PreviewRefundEmailRequest = PreviewRefundEmailRequest;\n  type ecomV1Order_universal_d_PreviewRefundEmailResponse = PreviewRefundEmailResponse;\n  type ecomV1Order_universal_d_PreviewCancelEmailRequest = PreviewCancelEmailRequest;\n  type ecomV1Order_universal_d_PreviewCancelEmailResponse = PreviewCancelEmailResponse;\n  type ecomV1Order_universal_d_PreviewCancelRefundEmailRequest = PreviewCancelRefundEmailRequest;\n  type ecomV1Order_universal_d_PreviewCancelRefundEmailResponse = PreviewCancelRefundEmailResponse;\n  type ecomV1Order_universal_d_PreviewBuyerPaymentsReceivedEmailRequest = PreviewBuyerPaymentsReceivedEmailRequest;\n  type ecomV1Order_universal_d_PreviewBuyerPaymentsReceivedEmailResponse = PreviewBuyerPaymentsReceivedEmailResponse;\n  type ecomV1Order_universal_d_PreviewBuyerConfirmationEmailRequest = PreviewBuyerConfirmationEmailRequest;\n  type ecomV1Order_universal_d_PreviewBuyerConfirmationEmailResponse = PreviewBuyerConfirmationEmailResponse;\n  type ecomV1Order_universal_d_PreviewBuyerPickupConfirmationEmailRequest = PreviewBuyerPickupConfirmationEmailRequest;\n  type ecomV1Order_universal_d_PreviewBuyerPickupConfirmationEmailResponse = PreviewBuyerPickupConfirmationEmailResponse;\n  type ecomV1Order_universal_d_PreviewShippingConfirmationEmailRequest = PreviewShippingConfirmationEmailRequest;\n  type ecomV1Order_universal_d_PreviewShippingConfirmationEmailResponse = PreviewShippingConfirmationEmailResponse;\n  type ecomV1Order_universal_d_PreviewResendDownloadLinksEmailRequest = PreviewResendDownloadLinksEmailRequest;\n  type ecomV1Order_universal_d_PreviewResendDownloadLinksEmailResponse = PreviewResendDownloadLinksEmailResponse;\n  type ecomV1Order_universal_d_PreparePaymentCollectionRequest = PreparePaymentCollectionRequest;\n  type ecomV1Order_universal_d_RedirectUrls = RedirectUrls;\n  type ecomV1Order_universal_d_DelayedCaptureSettings = DelayedCaptureSettings;\n  type ecomV1Order_universal_d_DelayedCaptureSettingsScheduledAction = DelayedCaptureSettingsScheduledAction;\n  const ecomV1Order_universal_d_DelayedCaptureSettingsScheduledAction: typeof DelayedCaptureSettingsScheduledAction;\n  type ecomV1Order_universal_d_Duration = Duration;\n  type ecomV1Order_universal_d_DurationUnit = DurationUnit;\n  const ecomV1Order_universal_d_DurationUnit: typeof DurationUnit;\n  type ecomV1Order_universal_d_PreparePaymentCollectionResponse = PreparePaymentCollectionResponse;\n  type ecomV1Order_universal_d_GetPaymentCollectabilityStatusRequest = GetPaymentCollectabilityStatusRequest;\n  type ecomV1Order_universal_d_GetPaymentCollectabilityStatusResponse = GetPaymentCollectabilityStatusResponse;\n  type ecomV1Order_universal_d_PaymentCollectabilityStatus = PaymentCollectabilityStatus;\n  const ecomV1Order_universal_d_PaymentCollectabilityStatus: typeof PaymentCollectabilityStatus;\n  type ecomV1Order_universal_d_RecordManuallyCollectedPaymentRequest = RecordManuallyCollectedPaymentRequest;\n  type ecomV1Order_universal_d_RecordManuallyCollectedPaymentResponse = RecordManuallyCollectedPaymentResponse;\n  type ecomV1Order_universal_d_MarkOrderAsPaidRequest = MarkOrderAsPaidRequest;\n  type ecomV1Order_universal_d_MarkOrderAsPaidResponse = MarkOrderAsPaidResponse;\n  type ecomV1Order_universal_d_BulkMarkOrdersAsPaidRequest = BulkMarkOrdersAsPaidRequest;\n  type ecomV1Order_universal_d_BulkMarkOrdersAsPaidResponse = BulkMarkOrdersAsPaidResponse;\n  type ecomV1Order_universal_d_BulkOrderResult = BulkOrderResult;\n  type ecomV1Order_universal_d_CreatePaymentGatewayOrderRequest = CreatePaymentGatewayOrderRequest;\n  type ecomV1Order_universal_d_ChargedBy = ChargedBy;\n  type ecomV1Order_universal_d_CreatePaymentGatewayOrderResponse = CreatePaymentGatewayOrderResponse;\n  type ecomV1Order_universal_d_ChargeMembershipsRequest = ChargeMembershipsRequest;\n  type ecomV1Order_universal_d_MembershipChargeItem = MembershipChargeItem;\n  type ecomV1Order_universal_d_ChargeMembershipsResponse = ChargeMembershipsResponse;\n  type ecomV1Order_universal_d_VoidAuthorizedPaymentsRequest = VoidAuthorizedPaymentsRequest;\n  type ecomV1Order_universal_d_VoidAuthorizedPaymentsResponse = VoidAuthorizedPaymentsResponse;\n  type ecomV1Order_universal_d_CaptureAuthorizedPaymentsRequest = CaptureAuthorizedPaymentsRequest;\n  type ecomV1Order_universal_d_PaymentCapture = PaymentCapture;\n  type ecomV1Order_universal_d_CaptureAuthorizedPaymentsResponse = CaptureAuthorizedPaymentsResponse;\n  type ecomV1Order_universal_d_ChargeSavedPaymentMethodRequest = ChargeSavedPaymentMethodRequest;\n  type ecomV1Order_universal_d_ChargeSavedPaymentMethodResponse = ChargeSavedPaymentMethodResponse;\n  type ecomV1Order_universal_d_ContinueSideEffectsFlowInLegacyData = ContinueSideEffectsFlowInLegacyData;\n  type ecomV1Order_universal_d_OrdersExperiments = OrdersExperiments;\n  type ecomV1Order_universal_d_GetOrderRequest = GetOrderRequest;\n  type ecomV1Order_universal_d_GetOrderResponse = GetOrderResponse;\n  type ecomV1Order_universal_d_InternalQueryOrdersResponse = InternalQueryOrdersResponse;\n  type ecomV1Order_universal_d_QueryOrderRequest = QueryOrderRequest;\n  type ecomV1Order_universal_d_QueryOrderResponse = QueryOrderResponse;\n  type ecomV1Order_universal_d_SearchOrdersRequest = SearchOrdersRequest;\n  type ecomV1Order_universal_d_CursorSearch = CursorSearch;\n  type ecomV1Order_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type ecomV1Order_universal_d_SearchOrdersResponse = SearchOrdersResponse;\n  type ecomV1Order_universal_d_CreateOrderRequest = CreateOrderRequest;\n  type ecomV1Order_universal_d_OrderCreationSettings = OrderCreationSettings;\n  type ecomV1Order_universal_d_OrderApprovalStrategy = OrderApprovalStrategy;\n  const ecomV1Order_universal_d_OrderApprovalStrategy: typeof OrderApprovalStrategy;\n  type ecomV1Order_universal_d_OrderCreateNotifications = OrderCreateNotifications;\n  type ecomV1Order_universal_d_CreateOrderResponse = CreateOrderResponse;\n  type ecomV1Order_universal_d_UpdateOrderRequest = UpdateOrderRequest;\n  type ecomV1Order_universal_d_UpdateOrderResponse = UpdateOrderResponse;\n  type ecomV1Order_universal_d_BulkUpdateOrdersRequest = BulkUpdateOrdersRequest;\n  type ecomV1Order_universal_d_MaskedOrder = MaskedOrder;\n  type ecomV1Order_universal_d_BulkUpdateOrdersResponse = BulkUpdateOrdersResponse;\n  type ecomV1Order_universal_d_CommitDeltasRequest = CommitDeltasRequest;\n  type ecomV1Order_universal_d_DraftOrderDiffs = DraftOrderDiffs;\n  type ecomV1Order_universal_d_DraftOrderDiffsShippingUpdateInfoOneOf = DraftOrderDiffsShippingUpdateInfoOneOf;\n  type ecomV1Order_universal_d_DraftOrderDiffsBuyerUpdateInfoOneOf = DraftOrderDiffsBuyerUpdateInfoOneOf;\n  type ecomV1Order_universal_d_DraftOrderDiffsBillingUpdateInfoOneOf = DraftOrderDiffsBillingUpdateInfoOneOf;\n  type ecomV1Order_universal_d_DraftOrderDiffsRecipientUpdateInfoOneOf = DraftOrderDiffsRecipientUpdateInfoOneOf;\n  type ecomV1Order_universal_d_V1LineItemDelta = V1LineItemDelta;\n  type ecomV1Order_universal_d_V1LineItemDeltaDeltaOneOf = V1LineItemDeltaDeltaOneOf;\n  type ecomV1Order_universal_d_OrderLineItemChangedDetails = OrderLineItemChangedDetails;\n  type ecomV1Order_universal_d_DeltaPaymentOptionType = DeltaPaymentOptionType;\n  const ecomV1Order_universal_d_DeltaPaymentOptionType: typeof DeltaPaymentOptionType;\n  type ecomV1Order_universal_d_ItemChangedDetails = ItemChangedDetails;\n  type ecomV1Order_universal_d_AppliedDiscountDelta = AppliedDiscountDelta;\n  type ecomV1Order_universal_d_AppliedDiscountDeltaDeltaOneOf = AppliedDiscountDeltaDeltaOneOf;\n  type ecomV1Order_universal_d_AdditionalFeeDelta = AdditionalFeeDelta;\n  type ecomV1Order_universal_d_AdditionalFeeDeltaDeltaOneOf = AdditionalFeeDeltaDeltaOneOf;\n  type ecomV1Order_universal_d_DraftOrderCommitSettings = DraftOrderCommitSettings;\n  type ecomV1Order_universal_d_InventoryUpdateDetails = InventoryUpdateDetails;\n  type ecomV1Order_universal_d_InventoryAction = InventoryAction;\n  const ecomV1Order_universal_d_InventoryAction: typeof InventoryAction;\n  type ecomV1Order_universal_d_CommitDeltasResponse = CommitDeltasResponse;\n  type ecomV1Order_universal_d_OrderDeltasCommitted = OrderDeltasCommitted;\n  type ecomV1Order_universal_d_CommittedDiffs = CommittedDiffs;\n  type ecomV1Order_universal_d_CommittedDiffsShippingUpdateInfoOneOf = CommittedDiffsShippingUpdateInfoOneOf;\n  type ecomV1Order_universal_d_LineItemDelta = LineItemDelta;\n  type ecomV1Order_universal_d_LineItemDeltaDeltaOneOf = LineItemDeltaDeltaOneOf;\n  type ecomV1Order_universal_d_ArchiveOrderRequest = ArchiveOrderRequest;\n  type ecomV1Order_universal_d_ArchiveOrderResponse = ArchiveOrderResponse;\n  type ecomV1Order_universal_d_BulkArchiveOrdersRequest = BulkArchiveOrdersRequest;\n  type ecomV1Order_universal_d_BulkArchiveOrdersResponse = BulkArchiveOrdersResponse;\n  type ecomV1Order_universal_d_BulkArchiveOrdersByFilterRequest = BulkArchiveOrdersByFilterRequest;\n  type ecomV1Order_universal_d_BulkArchiveOrdersByFilterResponse = BulkArchiveOrdersByFilterResponse;\n  type ecomV1Order_universal_d_UnArchiveOrderRequest = UnArchiveOrderRequest;\n  type ecomV1Order_universal_d_UnArchiveOrderResponse = UnArchiveOrderResponse;\n  type ecomV1Order_universal_d_BulkUnArchiveOrdersRequest = BulkUnArchiveOrdersRequest;\n  type ecomV1Order_universal_d_BulkUnArchiveOrdersResponse = BulkUnArchiveOrdersResponse;\n  type ecomV1Order_universal_d_BulkUnArchiveOrdersByFilterRequest = BulkUnArchiveOrdersByFilterRequest;\n  type ecomV1Order_universal_d_BulkUnArchiveOrdersByFilterResponse = BulkUnArchiveOrdersByFilterResponse;\n  type ecomV1Order_universal_d_UpdateBuyerInfoRequest = UpdateBuyerInfoRequest;\n  type ecomV1Order_universal_d_BuyerInfoUpdate = BuyerInfoUpdate;\n  type ecomV1Order_universal_d_UpdateBuyerInfoResponse = UpdateBuyerInfoResponse;\n  type ecomV1Order_universal_d_UpdateBuyerEmailRequest = UpdateBuyerEmailRequest;\n  type ecomV1Order_universal_d_UpdateBuyerEmailResponse = UpdateBuyerEmailResponse;\n  type ecomV1Order_universal_d_UpdateOrderShippingAddressRequest = UpdateOrderShippingAddressRequest;\n  type ecomV1Order_universal_d_UpdateOrderShippingAddressResponse = UpdateOrderShippingAddressResponse;\n  type ecomV1Order_universal_d_UpdateBillingContactDetailsRequest = UpdateBillingContactDetailsRequest;\n  type ecomV1Order_universal_d_UpdateBillingContactDetailsResponse = UpdateBillingContactDetailsResponse;\n  type ecomV1Order_universal_d_UpdateOrderLineItemRequest = UpdateOrderLineItemRequest;\n  type ecomV1Order_universal_d_UpdateOrderLineItemResponse = UpdateOrderLineItemResponse;\n  type ecomV1Order_universal_d_UpdateOrderLineItemsRequest = UpdateOrderLineItemsRequest;\n  type ecomV1Order_universal_d_MaskedOrderLineItem = MaskedOrderLineItem;\n  type ecomV1Order_universal_d_UpdateOrderLineItemsResponse = UpdateOrderLineItemsResponse;\n  type ecomV1Order_universal_d_AddInternalActivityRequest = AddInternalActivityRequest;\n  type ecomV1Order_universal_d_InternalActivity = InternalActivity;\n  type ecomV1Order_universal_d_InternalActivityContentOneOf = InternalActivityContentOneOf;\n  type ecomV1Order_universal_d_OrderPlaced = OrderPlaced;\n  type ecomV1Order_universal_d_OrderPaid = OrderPaid;\n  type ecomV1Order_universal_d_OrderFulfilled = OrderFulfilled;\n  type ecomV1Order_universal_d_OrderNotFulfilled = OrderNotFulfilled;\n  type ecomV1Order_universal_d_OrderCanceled = OrderCanceled;\n  type ecomV1Order_universal_d_DownloadLinkSent = DownloadLinkSent;\n  type ecomV1Order_universal_d_TrackingNumberAdded = TrackingNumberAdded;\n  type ecomV1Order_universal_d_TrackingNumberEdited = TrackingNumberEdited;\n  type ecomV1Order_universal_d_TrackingLinkAdded = TrackingLinkAdded;\n  type ecomV1Order_universal_d_ShippingConfirmationEmailSent = ShippingConfirmationEmailSent;\n  type ecomV1Order_universal_d_InvoiceAdded = InvoiceAdded;\n  type ecomV1Order_universal_d_InvoiceSent = InvoiceSent;\n  type ecomV1Order_universal_d_FulfillerEmailSent = FulfillerEmailSent;\n  type ecomV1Order_universal_d_ShippingAddressEdited = ShippingAddressEdited;\n  type ecomV1Order_universal_d_EmailEdited = EmailEdited;\n  type ecomV1Order_universal_d_PickupReadyEmailSent = PickupReadyEmailSent;\n  type ecomV1Order_universal_d_OrderPartiallyPaid = OrderPartiallyPaid;\n  type ecomV1Order_universal_d_OrderPending = OrderPending;\n  type ecomV1Order_universal_d_OrderRejected = OrderRejected;\n  type ecomV1Order_universal_d_AddInternalActivityResponse = AddInternalActivityResponse;\n  type ecomV1Order_universal_d_AddActivityRequest = AddActivityRequest;\n  type ecomV1Order_universal_d_PublicActivity = PublicActivity;\n  type ecomV1Order_universal_d_PublicActivityContentOneOf = PublicActivityContentOneOf;\n  type ecomV1Order_universal_d_AddActivityResponse = AddActivityResponse;\n  type ecomV1Order_universal_d_AddActivitiesRequest = AddActivitiesRequest;\n  type ecomV1Order_universal_d_AddActivitiesResponse = AddActivitiesResponse;\n  type ecomV1Order_universal_d_UpdateActivityRequest = UpdateActivityRequest;\n  type ecomV1Order_universal_d_UpdateActivityResponse = UpdateActivityResponse;\n  type ecomV1Order_universal_d_DeleteActivityRequest = DeleteActivityRequest;\n  type ecomV1Order_universal_d_DeleteActivityResponse = DeleteActivityResponse;\n  type ecomV1Order_universal_d_UpdateLineItemsDescriptionLinesRequest = UpdateLineItemsDescriptionLinesRequest;\n  type ecomV1Order_universal_d_LineItemUpdate = LineItemUpdate;\n  type ecomV1Order_universal_d_UpdateLineItemsDescriptionLinesResponse = UpdateLineItemsDescriptionLinesResponse;\n  type ecomV1Order_universal_d_MarkOrderAsSeenByHumanRequest = MarkOrderAsSeenByHumanRequest;\n  type ecomV1Order_universal_d_MarkOrderAsSeenByHumanResponse = MarkOrderAsSeenByHumanResponse;\n  type ecomV1Order_universal_d_CancelOrderRequest = CancelOrderRequest;\n  type ecomV1Order_universal_d_CancelOrderResponse = CancelOrderResponse;\n  type ecomV1Order_universal_d_OrderCanceledEventOrderCanceled = OrderCanceledEventOrderCanceled;\n  type ecomV1Order_universal_d_MarkAsFulfilledRequest = MarkAsFulfilledRequest;\n  type ecomV1Order_universal_d_MarkAsFulfilledResponse = MarkAsFulfilledResponse;\n  type ecomV1Order_universal_d_FulfillmentStatusUpdated = FulfillmentStatusUpdated;\n  type ecomV1Order_universal_d_BulkMarkAsFulfilledRequest = BulkMarkAsFulfilledRequest;\n  type ecomV1Order_universal_d_BulkMarkAsFulfilledResponse = BulkMarkAsFulfilledResponse;\n  type ecomV1Order_universal_d_BulkMarkAsFulfilledByFilterRequest = BulkMarkAsFulfilledByFilterRequest;\n  type ecomV1Order_universal_d_BulkMarkAsFulfilledByFilterResponse = BulkMarkAsFulfilledByFilterResponse;\n  type ecomV1Order_universal_d_MarkAsUnfulfilledRequest = MarkAsUnfulfilledRequest;\n  type ecomV1Order_universal_d_MarkAsUnfulfilledResponse = MarkAsUnfulfilledResponse;\n  type ecomV1Order_universal_d_BulkMarkAsUnfulfilledRequest = BulkMarkAsUnfulfilledRequest;\n  type ecomV1Order_universal_d_BulkMarkAsUnfulfilledResponse = BulkMarkAsUnfulfilledResponse;\n  type ecomV1Order_universal_d_BulkMarkAsUnfulfilledByFilterRequest = BulkMarkAsUnfulfilledByFilterRequest;\n  type ecomV1Order_universal_d_BulkMarkAsUnfulfilledByFilterResponse = BulkMarkAsUnfulfilledByFilterResponse;\n  type ecomV1Order_universal_d_V1MarkOrderAsPaidRequest = V1MarkOrderAsPaidRequest;\n  type ecomV1Order_universal_d_V1MarkOrderAsPaidResponse = V1MarkOrderAsPaidResponse;\n  type ecomV1Order_universal_d_V1BulkMarkOrdersAsPaidRequest = V1BulkMarkOrdersAsPaidRequest;\n  type ecomV1Order_universal_d_V1BulkMarkOrdersAsPaidResponse = V1BulkMarkOrdersAsPaidResponse;\n  type ecomV1Order_universal_d_V1CreatePaymentGatewayOrderRequest = V1CreatePaymentGatewayOrderRequest;\n  type ecomV1Order_universal_d_V1CreatePaymentGatewayOrderResponse = V1CreatePaymentGatewayOrderResponse;\n  type ecomV1Order_universal_d_GetShipmentsRequest = GetShipmentsRequest;\n  type ecomV1Order_universal_d_GetShipmentsResponse = GetShipmentsResponse;\n  type ecomV1Order_universal_d_AggregateOrdersRequest = AggregateOrdersRequest;\n  type ecomV1Order_universal_d_AggregateOrdersResponse = AggregateOrdersResponse;\n  type ecomV1Order_universal_d_DecrementItemsQuantityRequest = DecrementItemsQuantityRequest;\n  type ecomV1Order_universal_d_DecrementData = DecrementData;\n  type ecomV1Order_universal_d_DecrementItemsQuantityResponse = DecrementItemsQuantityResponse;\n  type ecomV1Order_universal_d_BulkUpdateOrderTagsRequest = BulkUpdateOrderTagsRequest;\n  type ecomV1Order_universal_d_BulkUpdateOrderTagsResponse = BulkUpdateOrderTagsResponse;\n  type ecomV1Order_universal_d_BulkUpdateOrderTagsResult = BulkUpdateOrderTagsResult;\n  type ecomV1Order_universal_d_OrderApproved = OrderApproved;\n  type ecomV1Order_universal_d_Task = Task;\n  type ecomV1Order_universal_d_TaskKey = TaskKey;\n  type ecomV1Order_universal_d_TaskAction = TaskAction;\n  type ecomV1Order_universal_d_TaskActionActionOneOf = TaskActionActionOneOf;\n  type ecomV1Order_universal_d_Complete = Complete;\n  type ecomV1Order_universal_d_Cancel = Cancel;\n  type ecomV1Order_universal_d_Reschedule = Reschedule;\n  type ecomV1Order_universal_d_InvoiceSentEvent = InvoiceSentEvent;\n  type ecomV1Order_universal_d_IdAndVersion = IdAndVersion;\n  type ecomV1Order_universal_d_InvoiceFields = InvoiceFields;\n  type ecomV1Order_universal_d_Customer = Customer;\n  type ecomV1Order_universal_d_Email = Email;\n  type ecomV1Order_universal_d_QuotesAddress = QuotesAddress;\n  type ecomV1Order_universal_d_AddressDescription = AddressDescription;\n  type ecomV1Order_universal_d_Placement = Placement;\n  const ecomV1Order_universal_d_Placement: typeof Placement;\n  type ecomV1Order_universal_d_Phone = Phone;\n  type ecomV1Order_universal_d_Company = Company;\n  type ecomV1Order_universal_d_CommonAddress = CommonAddress;\n  type ecomV1Order_universal_d_CommonAddressStreetOneOf = CommonAddressStreetOneOf;\n  type ecomV1Order_universal_d_StandardDetails = StandardDetails;\n  type ecomV1Order_universal_d_InvoiceDates = InvoiceDates;\n  type ecomV1Order_universal_d_LineItems = LineItems;\n  type ecomV1Order_universal_d_BigDecimalWrapper = BigDecimalWrapper;\n  type ecomV1Order_universal_d_LineItemTax = LineItemTax;\n  type ecomV1Order_universal_d_SourceType = SourceType;\n  const ecomV1Order_universal_d_SourceType: typeof SourceType;\n  type ecomV1Order_universal_d_LineItemMetaData = LineItemMetaData;\n  type ecomV1Order_universal_d_Locale = Locale;\n  type ecomV1Order_universal_d_TotalPrice = TotalPrice;\n  type ecomV1Order_universal_d_ItemizedFee = ItemizedFee;\n  type ecomV1Order_universal_d_DiscountOneDiscountTypeOneOf = DiscountOneDiscountTypeOneOf;\n  type ecomV1Order_universal_d_CalculatedTaxes = CalculatedTaxes;\n  type ecomV1Order_universal_d_CalculatedTax = CalculatedTax;\n  type ecomV1Order_universal_d_Payments = Payments;\n  type ecomV1Order_universal_d_InvoicesPayment = InvoicesPayment;\n  type ecomV1Order_universal_d_MetaData = MetaData;\n  type ecomV1Order_universal_d_InvoiceDynamicPriceTotals = InvoiceDynamicPriceTotals;\n  type ecomV1Order_universal_d_CustomFieldValue = CustomFieldValue;\n  type ecomV1Order_universal_d_CustomFieldGroup = CustomFieldGroup;\n  const ecomV1Order_universal_d_CustomFieldGroup: typeof CustomFieldGroup;\n  type ecomV1Order_universal_d_Value = Value;\n  type ecomV1Order_universal_d_ValueType = ValueType;\n  const ecomV1Order_universal_d_ValueType: typeof ValueType;\n  type ecomV1Order_universal_d_Deposit = Deposit;\n  type ecomV1Order_universal_d_DepositType = DepositType;\n  const ecomV1Order_universal_d_DepositType: typeof DepositType;\n  type ecomV1Order_universal_d_InvoiceStatus = InvoiceStatus;\n  const ecomV1Order_universal_d_InvoiceStatus: typeof InvoiceStatus;\n  type ecomV1Order_universal_d_TriggerSideEffectsFromLegacyData = TriggerSideEffectsFromLegacyData;\n  const ecomV1Order_universal_d_getMetasiteData: typeof getMetasiteData;\n  const ecomV1Order_universal_d_queryOrdersForMetasite: typeof queryOrdersForMetasite;\n  type ecomV1Order_universal_d_QueryOrdersForMetasiteOptions = QueryOrdersForMetasiteOptions;\n  const ecomV1Order_universal_d_getOrderForMetasite: typeof getOrderForMetasite;\n  type ecomV1Order_universal_d_GetOrderForMetasiteIdentifiers = GetOrderForMetasiteIdentifiers;\n  const ecomV1Order_universal_d_listOrderTransactionsForMetasite: typeof listOrderTransactionsForMetasite;\n  type ecomV1Order_universal_d_ListOrderTransactionsForMetasiteIdentifiers = ListOrderTransactionsForMetasiteIdentifiers;\n  const ecomV1Order_universal_d_triggerReindex: typeof triggerReindex;\n  type ecomV1Order_universal_d_TriggerReindexOptions = TriggerReindexOptions;\n  const ecomV1Order_universal_d_sendBuyerConfirmationEmail: typeof sendBuyerConfirmationEmail;\n  const ecomV1Order_universal_d_sendBuyerPaymentsReceivedEmail: typeof sendBuyerPaymentsReceivedEmail;\n  const ecomV1Order_universal_d_sendBuyerPickupConfirmationEmail: typeof sendBuyerPickupConfirmationEmail;\n  const ecomV1Order_universal_d_bulkSendBuyerPickupConfirmationEmails: typeof bulkSendBuyerPickupConfirmationEmails;\n  type ecomV1Order_universal_d_BulkSendBuyerPickupConfirmationEmailsOptions = BulkSendBuyerPickupConfirmationEmailsOptions;\n  const ecomV1Order_universal_d_sendBuyerShippingConfirmationEmail: typeof sendBuyerShippingConfirmationEmail;\n  const ecomV1Order_universal_d_bulkSendBuyerShippingConfirmationEmails: typeof bulkSendBuyerShippingConfirmationEmails;\n  type ecomV1Order_universal_d_BulkSendBuyerShippingConfirmationEmailsOptions = BulkSendBuyerShippingConfirmationEmailsOptions;\n  const ecomV1Order_universal_d_sendMerchantOrderReceivedNotification: typeof sendMerchantOrderReceivedNotification;\n  const ecomV1Order_universal_d_sendCancelRefundEmail: typeof sendCancelRefundEmail;\n  type ecomV1Order_universal_d_SendCancelRefundEmailOptions = SendCancelRefundEmailOptions;\n  const ecomV1Order_universal_d_sendMerchantOrderReceivedPush: typeof sendMerchantOrderReceivedPush;\n  const ecomV1Order_universal_d_previewEmailByType: typeof previewEmailByType;\n  const ecomV1Order_universal_d_previewRefundEmail: typeof previewRefundEmail;\n  type ecomV1Order_universal_d_PreviewRefundEmailOptions = PreviewRefundEmailOptions;\n  const ecomV1Order_universal_d_previewCancelEmail: typeof previewCancelEmail;\n  type ecomV1Order_universal_d_PreviewCancelEmailOptions = PreviewCancelEmailOptions;\n  const ecomV1Order_universal_d_previewCancelRefundEmail: typeof previewCancelRefundEmail;\n  type ecomV1Order_universal_d_PreviewCancelRefundEmailOptions = PreviewCancelRefundEmailOptions;\n  const ecomV1Order_universal_d_previewBuyerPaymentsReceivedEmail: typeof previewBuyerPaymentsReceivedEmail;\n  const ecomV1Order_universal_d_previewBuyerConfirmationEmail: typeof previewBuyerConfirmationEmail;\n  const ecomV1Order_universal_d_previewBuyerPickupConfirmationEmail: typeof previewBuyerPickupConfirmationEmail;\n  const ecomV1Order_universal_d_previewShippingConfirmationEmail: typeof previewShippingConfirmationEmail;\n  const ecomV1Order_universal_d_previewResendDownloadLinksEmail: typeof previewResendDownloadLinksEmail;\n  const ecomV1Order_universal_d_preparePaymentCollection: typeof preparePaymentCollection;\n  type ecomV1Order_universal_d_PreparePaymentCollectionOptions = PreparePaymentCollectionOptions;\n  const ecomV1Order_universal_d_getPaymentCollectabilityStatus: typeof getPaymentCollectabilityStatus;\n  const ecomV1Order_universal_d_recordManuallyCollectedPayment: typeof recordManuallyCollectedPayment;\n  const ecomV1Order_universal_d_paymentCollectionMarkOrderAsPaid: typeof paymentCollectionMarkOrderAsPaid;\n  const ecomV1Order_universal_d_paymentCollectionBulkMarkOrdersAsPaid: typeof paymentCollectionBulkMarkOrdersAsPaid;\n  const ecomV1Order_universal_d_paymentCollectionCreatePaymentGatewayOrder: typeof paymentCollectionCreatePaymentGatewayOrder;\n  type ecomV1Order_universal_d_PaymentCollectionCreatePaymentGatewayOrderOptions = PaymentCollectionCreatePaymentGatewayOrderOptions;\n  const ecomV1Order_universal_d_chargeMemberships: typeof chargeMemberships;\n  type ecomV1Order_universal_d_ChargeMembershipsOptions = ChargeMembershipsOptions;\n  const ecomV1Order_universal_d_voidAuthorizedPayments: typeof voidAuthorizedPayments;\n  const ecomV1Order_universal_d_captureAuthorizedPayments: typeof captureAuthorizedPayments;\n  const ecomV1Order_universal_d_chargeSavedPaymentMethod: typeof chargeSavedPaymentMethod;\n  const ecomV1Order_universal_d_getOrder: typeof getOrder;\n  const ecomV1Order_universal_d_internalQueryOrders: typeof internalQueryOrders;\n  type ecomV1Order_universal_d_InternalQueryOrdersOptions = InternalQueryOrdersOptions;\n  const ecomV1Order_universal_d_queryOrders: typeof queryOrders;\n  type ecomV1Order_universal_d_OrdersQueryResult = OrdersQueryResult;\n  type ecomV1Order_universal_d_OrdersQueryBuilder = OrdersQueryBuilder;\n  const ecomV1Order_universal_d_searchOrders: typeof searchOrders;\n  type ecomV1Order_universal_d_SearchOrdersOptions = SearchOrdersOptions;\n  const ecomV1Order_universal_d_createOrder: typeof createOrder;\n  type ecomV1Order_universal_d_CreateOrderOptions = CreateOrderOptions;\n  const ecomV1Order_universal_d_updateOrder: typeof updateOrder;\n  type ecomV1Order_universal_d_UpdateOrder = UpdateOrder;\n  type ecomV1Order_universal_d_UpdateOrderOptions = UpdateOrderOptions;\n  const ecomV1Order_universal_d_bulkUpdateOrders: typeof bulkUpdateOrders;\n  type ecomV1Order_universal_d_BulkUpdateOrdersOptions = BulkUpdateOrdersOptions;\n  const ecomV1Order_universal_d_commitDeltas: typeof commitDeltas;\n  type ecomV1Order_universal_d_CommitDeltasOptions = CommitDeltasOptions;\n  const ecomV1Order_universal_d_archiveOrder: typeof archiveOrder;\n  const ecomV1Order_universal_d_bulkArchiveOrders: typeof bulkArchiveOrders;\n  type ecomV1Order_universal_d_BulkArchiveOrdersOptions = BulkArchiveOrdersOptions;\n  const ecomV1Order_universal_d_bulkArchiveOrdersByFilter: typeof bulkArchiveOrdersByFilter;\n  const ecomV1Order_universal_d_unArchiveOrder: typeof unArchiveOrder;\n  const ecomV1Order_universal_d_bulkUnArchiveOrders: typeof bulkUnArchiveOrders;\n  type ecomV1Order_universal_d_BulkUnArchiveOrdersOptions = BulkUnArchiveOrdersOptions;\n  const ecomV1Order_universal_d_bulkUnArchiveOrdersByFilter: typeof bulkUnArchiveOrdersByFilter;\n  const ecomV1Order_universal_d_updateBuyerInfo: typeof updateBuyerInfo;\n  type ecomV1Order_universal_d_UpdateBuyerInfoOptions = UpdateBuyerInfoOptions;\n  const ecomV1Order_universal_d_updateBuyerEmail: typeof updateBuyerEmail;\n  type ecomV1Order_universal_d_UpdateBuyerEmailOptions = UpdateBuyerEmailOptions;\n  const ecomV1Order_universal_d_updateOrderShippingAddress: typeof updateOrderShippingAddress;\n  type ecomV1Order_universal_d_UpdateOrderShippingAddressOptions = UpdateOrderShippingAddressOptions;\n  const ecomV1Order_universal_d_updateBillingContactDetails: typeof updateBillingContactDetails;\n  type ecomV1Order_universal_d_UpdateBillingContactDetailsOptions = UpdateBillingContactDetailsOptions;\n  const ecomV1Order_universal_d_updateOrderLineItem: typeof updateOrderLineItem;\n  type ecomV1Order_universal_d_UpdateOrderLineItemIdentifiers = UpdateOrderLineItemIdentifiers;\n  type ecomV1Order_universal_d_UpdateOrderLineItem = UpdateOrderLineItem;\n  type ecomV1Order_universal_d_UpdateOrderLineItemOptions = UpdateOrderLineItemOptions;\n  const ecomV1Order_universal_d_updateOrderLineItems: typeof updateOrderLineItems;\n  const ecomV1Order_universal_d_addInternalActivity: typeof addInternalActivity;\n  const ecomV1Order_universal_d_addActivity: typeof addActivity;\n  const ecomV1Order_universal_d_addActivities: typeof addActivities;\n  const ecomV1Order_universal_d_updateActivity: typeof updateActivity;\n  type ecomV1Order_universal_d_UpdateActivityIdentifiers = UpdateActivityIdentifiers;\n  const ecomV1Order_universal_d_deleteActivity: typeof deleteActivity;\n  type ecomV1Order_universal_d_DeleteActivityIdentifiers = DeleteActivityIdentifiers;\n  const ecomV1Order_universal_d_updateLineItemsDescriptionLines: typeof updateLineItemsDescriptionLines;\n  const ecomV1Order_universal_d_markOrderAsSeenByHuman: typeof markOrderAsSeenByHuman;\n  const ecomV1Order_universal_d_cancelOrder: typeof cancelOrder;\n  type ecomV1Order_universal_d_CancelOrderOptions = CancelOrderOptions;\n  const ecomV1Order_universal_d_markAsFulfilled: typeof markAsFulfilled;\n  const ecomV1Order_universal_d_bulkMarkAsFulfilled: typeof bulkMarkAsFulfilled;\n  type ecomV1Order_universal_d_BulkMarkAsFulfilledOptions = BulkMarkAsFulfilledOptions;\n  const ecomV1Order_universal_d_bulkMarkAsFulfilledByFilter: typeof bulkMarkAsFulfilledByFilter;\n  const ecomV1Order_universal_d_markAsUnfulfilled: typeof markAsUnfulfilled;\n  const ecomV1Order_universal_d_bulkMarkAsUnfulfilled: typeof bulkMarkAsUnfulfilled;\n  type ecomV1Order_universal_d_BulkMarkAsUnfulfilledOptions = BulkMarkAsUnfulfilledOptions;\n  const ecomV1Order_universal_d_bulkMarkAsUnfulfilledByFilter: typeof bulkMarkAsUnfulfilledByFilter;\n  const ecomV1Order_universal_d_markOrderAsPaid: typeof markOrderAsPaid;\n  const ecomV1Order_universal_d_bulkMarkOrdersAsPaid: typeof bulkMarkOrdersAsPaid;\n  const ecomV1Order_universal_d_createPaymentGatewayOrder: typeof createPaymentGatewayOrder;\n  const ecomV1Order_universal_d_getShipments: typeof getShipments;\n  const ecomV1Order_universal_d_aggregateOrders: typeof aggregateOrders;\n  type ecomV1Order_universal_d_AggregateOrdersOptions = AggregateOrdersOptions;\n  const ecomV1Order_universal_d_decrementItemsQuantity: typeof decrementItemsQuantity;\n  const ecomV1Order_universal_d_bulkUpdateOrderTags: typeof bulkUpdateOrderTags;\n  type ecomV1Order_universal_d_BulkUpdateOrderTagsOptions = BulkUpdateOrderTagsOptions;\n  namespace ecomV1Order_universal_d {\n    export {\n      Order$1 as Order,\n      ecomV1Order_universal_d_OrderLineItem as OrderLineItem,\n      ecomV1Order_universal_d_ProductName as ProductName,\n      CatalogReference$3 as CatalogReference,\n      Price$3 as Price,\n      ecomV1Order_universal_d_DescriptionLine as DescriptionLine,\n      ecomV1Order_universal_d_DescriptionLineValueOneOf as DescriptionLineValueOneOf,\n      ecomV1Order_universal_d_DescriptionLineDescriptionLineValueOneOf as DescriptionLineDescriptionLineValueOneOf,\n      ecomV1Order_universal_d_DescriptionLineName as DescriptionLineName,\n      ecomV1Order_universal_d_PlainTextValue as PlainTextValue,\n      ecomV1Order_universal_d_Color as Color,\n      ecomV1Order_universal_d_DescriptionLineType as DescriptionLineType,\n      ecomV1Order_universal_d_FocalPoint as FocalPoint,\n      PhysicalProperties$2 as PhysicalProperties,\n      ItemType$1 as ItemType,\n      ItemTypeItemTypeDataOneOf$1 as ItemTypeItemTypeDataOneOf,\n      ItemTypeItemType$1 as ItemTypeItemType,\n      PaymentOptionType$1 as PaymentOptionType,\n      ItemTaxFullDetails$1 as ItemTaxFullDetails,\n      ecomV1Order_universal_d_LineItemTaxInfo as LineItemTaxInfo,\n      ecomV1Order_universal_d_LineItemTaxBreakdown as LineItemTaxBreakdown,\n      JurisdictionType$1 as JurisdictionType,\n      DigitalFile$1 as DigitalFile,\n      SubscriptionInfo$1 as SubscriptionInfo,\n      SubscriptionSettings$2 as SubscriptionSettings,\n      SubscriptionFrequency$2 as SubscriptionFrequency,\n      ecomV1Order_universal_d_PriceDescription as PriceDescription,\n      ecomV1Order_universal_d_LocationAndQuantity as LocationAndQuantity,\n      TaxableAddress$1 as TaxableAddress,\n      TaxableAddressTaxableAddressDataOneOf$1 as TaxableAddressTaxableAddressDataOneOf,\n      TaxableAddressType$1 as TaxableAddressType,\n      ExtendedFields$4 as ExtendedFields,\n      BuyerInfo$1 as BuyerInfo,\n      ecomV1Order_universal_d_BuyerInfoIdOneOf as BuyerInfoIdOneOf,\n      PaymentStatus$1 as PaymentStatus,\n      FulfillmentStatus$1 as FulfillmentStatus,\n      WeightUnit$3 as WeightUnit,\n      PriceSummary$1 as PriceSummary,\n      ecomV1Order_universal_d_AddressWithContact as AddressWithContact,\n      Address$5 as Address,\n      StreetAddress$4 as StreetAddress,\n      AddressLocation$3 as AddressLocation,\n      FullAddressContactDetails$1 as FullAddressContactDetails,\n      VatId$2 as VatId,\n      VatType$2 as VatType,\n      ShippingInformation$1 as ShippingInformation,\n      DeliveryLogistics$2 as DeliveryLogistics,\n      ecomV1Order_universal_d_DeliveryLogisticsAddressOneOf as DeliveryLogisticsAddressOneOf,\n      PickupDetails$3 as PickupDetails,\n      PickupAddress$1 as PickupAddress,\n      PickupMethod$2 as PickupMethod,\n      DeliveryTimeSlot$2 as DeliveryTimeSlot,\n      ShippingPrice$1 as ShippingPrice,\n      ShippingRegion$1 as ShippingRegion,\n      ecomV1Order_universal_d_OrderStatus as OrderStatus,\n      TaxSummary$1 as TaxSummary,\n      ecomV1Order_universal_d_OrderTaxInfo as OrderTaxInfo,\n      ecomV1Order_universal_d_OrderTaxBreakdown as OrderTaxBreakdown,\n      AppliedDiscount$1 as AppliedDiscount,\n      AppliedDiscountDiscountSourceOneOf$1 as AppliedDiscountDiscountSourceOneOf,\n      DiscountType$1 as DiscountType,\n      Coupon$1 as Coupon,\n      MerchantDiscount$1 as MerchantDiscount,\n      ecomV1Order_universal_d_MerchantDiscountMerchantDiscountReasonOneOf as MerchantDiscountMerchantDiscountReasonOneOf,\n      ecomV1Order_universal_d_DiscountReason as DiscountReason,\n      DiscountRule$1 as DiscountRule,\n      DiscountRuleName$1 as DiscountRuleName,\n      LineItemDiscount$1 as LineItemDiscount,\n      Activity$1 as Activity,\n      ecomV1Order_universal_d_ActivityContentOneOf as ActivityContentOneOf,\n      ecomV1Order_universal_d_CustomActivity as CustomActivity,\n      ecomV1Order_universal_d_MerchantComment as MerchantComment,\n      OrderRefunded$1 as OrderRefunded,\n      ecomV1Order_universal_d_OrderCreatedFromExchange as OrderCreatedFromExchange,\n      ecomV1Order_universal_d_NewExchangeOrderCreated as NewExchangeOrderCreated,\n      ecomV1Order_universal_d_LineItemExchangeData as LineItemExchangeData,\n      ecomV1Order_universal_d_DraftOrderChangesApplied as DraftOrderChangesApplied,\n      ecomV1Order_universal_d_OrderChange as OrderChange,\n      ecomV1Order_universal_d_OrderChangeValueOneOf as OrderChangeValueOneOf,\n      ecomV1Order_universal_d_LineItemChanges as LineItemChanges,\n      ecomV1Order_universal_d_LineItemQuantityChange as LineItemQuantityChange,\n      ecomV1Order_universal_d_LineItemQuantityChangeType as LineItemQuantityChangeType,\n      ecomV1Order_universal_d_LineItemPriceChange as LineItemPriceChange,\n      ecomV1Order_universal_d_ManagedLineItem as ManagedLineItem,\n      ecomV1Order_universal_d_ManagedDiscount as ManagedDiscount,\n      ecomV1Order_universal_d_TranslatedValue as TranslatedValue,\n      ecomV1Order_universal_d_LineItemAmount as LineItemAmount,\n      ecomV1Order_universal_d_ManagedAdditionalFee as ManagedAdditionalFee,\n      ecomV1Order_universal_d_TotalPriceChange as TotalPriceChange,\n      ecomV1Order_universal_d_ShippingInformationChange as ShippingInformationChange,\n      ecomV1Order_universal_d_ShippingInformationChangeShippingInformation as ShippingInformationChangeShippingInformation,\n      ecomV1Order_universal_d_SavedPaymentMethod as SavedPaymentMethod,\n      ecomV1Order_universal_d_AuthorizedPaymentCreated as AuthorizedPaymentCreated,\n      ecomV1Order_universal_d_AuthorizedPaymentCaptured as AuthorizedPaymentCaptured,\n      ecomV1Order_universal_d_AuthorizedPaymentVoided as AuthorizedPaymentVoided,\n      ecomV1Order_universal_d_RefundInitiated as RefundInitiated,\n      ecomV1Order_universal_d_RefundedPayment as RefundedPayment,\n      ecomV1Order_universal_d_RefundedPaymentKindOneOf as RefundedPaymentKindOneOf,\n      ecomV1Order_universal_d_RegularPaymentRefund as RegularPaymentRefund,\n      ecomV1Order_universal_d_GiftCardPaymentRefund as GiftCardPaymentRefund,\n      ecomV1Order_universal_d_MembershipPaymentRefund as MembershipPaymentRefund,\n      ecomV1Order_universal_d_PaymentRefunded as PaymentRefunded,\n      ecomV1Order_universal_d_PaymentRefundFailed as PaymentRefundFailed,\n      ecomV1Order_universal_d_RefundedAsStoreCredit as RefundedAsStoreCredit,\n      ecomV1Order_universal_d_PaymentPending as PaymentPending,\n      ecomV1Order_universal_d_PaymentPendingPaymentDetailsOneOf as PaymentPendingPaymentDetailsOneOf,\n      ecomV1Order_universal_d_RegularPayment as RegularPayment,\n      ecomV1Order_universal_d_RegularPaymentPaymentMethodDetailsOneOf as RegularPaymentPaymentMethodDetailsOneOf,\n      ecomV1Order_universal_d_CreditCardDetails as CreditCardDetails,\n      ecomV1Order_universal_d_PaymentCanceled as PaymentCanceled,\n      ecomV1Order_universal_d_PaymentCanceledPaymentDetailsOneOf as PaymentCanceledPaymentDetailsOneOf,\n      ecomV1Order_universal_d_PaymentDeclined as PaymentDeclined,\n      ecomV1Order_universal_d_PaymentDeclinedPaymentDetailsOneOf as PaymentDeclinedPaymentDetailsOneOf,\n      ActivityType$1 as ActivityType,\n      ecomV1Order_universal_d_AttributionSource as AttributionSource,\n      ecomV1Order_universal_d_CreatedBy as CreatedBy,\n      ecomV1Order_universal_d_CreatedByStringOneOf as CreatedByStringOneOf,\n      ChannelInfo$1 as ChannelInfo,\n      ChannelType$1 as ChannelType,\n      CustomField$1 as CustomField,\n      ecomV1Order_universal_d_BalanceSummary as BalanceSummary,\n      ecomV1Order_universal_d_Balance as Balance,\n      AdditionalFee$1 as AdditionalFee,\n      ecomV1Order_universal_d_FulfillmentStatusesAggregate as FulfillmentStatusesAggregate,\n      ecomV1Order_universal_d_Tags as Tags,\n      ecomV1Order_universal_d_TagList as TagList,\n      ecomV1Order_universal_d_Location as Location,\n      ecomV1Order_universal_d_TriggerReindexOrderRequest as TriggerReindexOrderRequest,\n      SnapshotMessage$1 as SnapshotMessage,\n      ecomV1Order_universal_d_PaymentStatusUpdated as PaymentStatusUpdated,\n      ecomV1Order_universal_d_OrderRejectedEventOrderRejected as OrderRejectedEventOrderRejected,\n      ecomV1Order_universal_d_OrderItemsRestocked as OrderItemsRestocked,\n      ecomV1Order_universal_d_V1RestockItem as V1RestockItem,\n      ecomV1Order_universal_d_GetMetasiteDataRequest as GetMetasiteDataRequest,\n      ecomV1Order_universal_d_GetMetasiteDataResponse as GetMetasiteDataResponse,\n      ecomV1Order_universal_d_MetaSite as MetaSite,\n      ecomV1Order_universal_d_App as App,\n      ecomV1Order_universal_d_State as State,\n      ecomV1Order_universal_d_Namespace as Namespace,\n      ecomV1Order_universal_d_SeoData as SeoData,\n      ecomV1Order_universal_d_MetaTag as MetaTag,\n      ecomV1Order_universal_d_HtmlApplication as HtmlApplication,\n      ecomV1Order_universal_d_ExternalUriMapping as ExternalUriMapping,\n      ecomV1Order_universal_d_UserDataResponse as UserDataResponse,\n      ecomV1Order_universal_d_QueryOrdersForMetasiteRequest as QueryOrdersForMetasiteRequest,\n      ecomV1Order_universal_d_InternalQueryOrdersRequest as InternalQueryOrdersRequest,\n      ecomV1Order_universal_d_PlatformQuery as PlatformQuery,\n      ecomV1Order_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf,\n      Sorting$7 as Sorting,\n      SortOrder$7 as SortOrder,\n      ecomV1Order_universal_d_PlatformPaging as PlatformPaging,\n      CursorPaging$7 as CursorPaging,\n      ecomV1Order_universal_d_QueryOrdersForMetasiteResponse as QueryOrdersForMetasiteResponse,\n      ecomV1Order_universal_d_PlatformPagingMetadata as PlatformPagingMetadata,\n      Cursors$7 as Cursors,\n      ecomV1Order_universal_d_GetOrderForMetasiteRequest as GetOrderForMetasiteRequest,\n      ecomV1Order_universal_d_GetOrderForMetasiteResponse as GetOrderForMetasiteResponse,\n      ecomV1Order_universal_d_ListOrderTransactionsForMetasiteRequest as ListOrderTransactionsForMetasiteRequest,\n      ecomV1Order_universal_d_ListOrderTransactionsForMetasiteResponse as ListOrderTransactionsForMetasiteResponse,\n      OrderTransactions$1 as OrderTransactions,\n      Payment$1 as Payment,\n      PaymentPaymentDetailsOneOf$1 as PaymentPaymentDetailsOneOf,\n      RegularPaymentDetails$1 as RegularPaymentDetails,\n      RegularPaymentDetailsPaymentMethodDetailsOneOf$1 as RegularPaymentDetailsPaymentMethodDetailsOneOf,\n      TransactionStatus$1 as TransactionStatus,\n      CreditCardPaymentMethodDetails$1 as CreditCardPaymentMethodDetails,\n      AuthorizationDetails$1 as AuthorizationDetails,\n      AuthorizationCapture$1 as AuthorizationCapture,\n      AuthorizationCaptureStatus$1 as AuthorizationCaptureStatus,\n      AuthorizationActionFailureDetails$1 as AuthorizationActionFailureDetails,\n      AuthorizationVoid$1 as AuthorizationVoid,\n      AuthorizationVoidStatus$1 as AuthorizationVoidStatus,\n      Reason$1 as Reason,\n      ScheduledAction$1 as ScheduledAction,\n      ActionType$1 as ActionType,\n      GiftCardPaymentDetails$1 as GiftCardPaymentDetails,\n      MembershipPaymentDetails$1 as MembershipPaymentDetails,\n      MembershipPaymentStatus$1 as MembershipPaymentStatus,\n      MembershipName$2 as MembershipName,\n      Refund$1 as Refund,\n      RefundTransaction$1 as RefundTransaction,\n      RefundStatus$1 as RefundStatus,\n      RefundDetails$1 as RefundDetails,\n      RefundItem$1 as RefundItem,\n      ecomV1Order_universal_d_V1LineItemRefund as V1LineItemRefund,\n      ecomV1Order_universal_d_V1AdditionalFeeRefund as V1AdditionalFeeRefund,\n      ecomV1Order_universal_d_V1ShippingRefund as V1ShippingRefund,\n      AggregatedRefundSummary$1 as AggregatedRefundSummary,\n      ecomV1Order_universal_d_UpsertRefundRequest as UpsertRefundRequest,\n      ecomV1Order_universal_d_UpsertRefundResponse as UpsertRefundResponse,\n      DomainEvent$9 as DomainEvent,\n      DomainEventBodyOneOf$9 as DomainEventBodyOneOf,\n      EntityCreatedEvent$9 as EntityCreatedEvent,\n      RestoreInfo$9 as RestoreInfo,\n      EntityUpdatedEvent$9 as EntityUpdatedEvent,\n      EntityDeletedEvent$9 as EntityDeletedEvent,\n      ActionEvent$9 as ActionEvent,\n      MessageEnvelope$8 as MessageEnvelope,\n      IdentificationData$9 as IdentificationData,\n      IdentificationDataIdOneOf$9 as IdentificationDataIdOneOf,\n      WebhookIdentityType$8 as WebhookIdentityType,\n      ecomV1Order_universal_d_UpdateInternalDocumentsEvent as UpdateInternalDocumentsEvent,\n      ecomV1Order_universal_d_UpdateInternalDocumentsEventOperationOneOf as UpdateInternalDocumentsEventOperationOneOf,\n      ecomV1Order_universal_d_InternalDocument as InternalDocument,\n      ecomV1Order_universal_d_InternalDocumentUpdateOperation as InternalDocumentUpdateOperation,\n      ecomV1Order_universal_d_DeleteByIdsOperation as DeleteByIdsOperation,\n      ecomV1Order_universal_d_DeleteByFilterOperation as DeleteByFilterOperation,\n      ecomV1Order_universal_d_InternalDocumentUpdateByFilterOperation as InternalDocumentUpdateByFilterOperation,\n      ecomV1Order_universal_d_InternalUpdateExistingOperation as InternalUpdateExistingOperation,\n      ecomV1Order_universal_d_VersionedDocumentUpdateOperation as VersionedDocumentUpdateOperation,\n      ecomV1Order_universal_d_VersioningMode as VersioningMode,\n      ecomV1Order_universal_d_VersionedDeleteByIdsOperation as VersionedDeleteByIdsOperation,\n      ecomV1Order_universal_d_VersionedDocumentId as VersionedDocumentId,\n      ecomV1Order_universal_d_TriggerReindexRequest as TriggerReindexRequest,\n      ecomV1Order_universal_d_TriggerReindexResponse as TriggerReindexResponse,\n      Empty$5 as Empty,\n      ecomV1Order_universal_d_BatchOfTriggerReindexOrderRequest as BatchOfTriggerReindexOrderRequest,\n      ecomV1Order_universal_d_SendBuyerConfirmationEmailRequest as SendBuyerConfirmationEmailRequest,\n      ecomV1Order_universal_d_SendBuyerConfirmationEmailResponse as SendBuyerConfirmationEmailResponse,\n      ecomV1Order_universal_d_SendBuyerPaymentsReceivedEmailRequest as SendBuyerPaymentsReceivedEmailRequest,\n      ecomV1Order_universal_d_SendBuyerPaymentsReceivedEmailResponse as SendBuyerPaymentsReceivedEmailResponse,\n      ecomV1Order_universal_d_SendBuyerPickupConfirmationEmailRequest as SendBuyerPickupConfirmationEmailRequest,\n      ecomV1Order_universal_d_SendBuyerPickupConfirmationEmailResponse as SendBuyerPickupConfirmationEmailResponse,\n      ecomV1Order_universal_d_BulkSendBuyerPickupConfirmationEmailsRequest as BulkSendBuyerPickupConfirmationEmailsRequest,\n      ecomV1Order_universal_d_BulkSendBuyerPickupConfirmationEmailsResponse as BulkSendBuyerPickupConfirmationEmailsResponse,\n      ecomV1Order_universal_d_SendBuyerShippingConfirmationEmailRequest as SendBuyerShippingConfirmationEmailRequest,\n      ecomV1Order_universal_d_SendBuyerShippingConfirmationEmailResponse as SendBuyerShippingConfirmationEmailResponse,\n      ecomV1Order_universal_d_BulkSendBuyerShippingConfirmationEmailsRequest as BulkSendBuyerShippingConfirmationEmailsRequest,\n      ecomV1Order_universal_d_BulkSendBuyerShippingConfirmationEmailsResponse as BulkSendBuyerShippingConfirmationEmailsResponse,\n      ecomV1Order_universal_d_SendMerchantOrderReceivedNotificationRequest as SendMerchantOrderReceivedNotificationRequest,\n      ecomV1Order_universal_d_SendMerchantOrderReceivedNotificationResponse as SendMerchantOrderReceivedNotificationResponse,\n      ecomV1Order_universal_d_SendCancelRefundEmailRequest as SendCancelRefundEmailRequest,\n      ecomV1Order_universal_d_SendCancelRefundEmailResponse as SendCancelRefundEmailResponse,\n      ecomV1Order_universal_d_SendRefundEmailRequest as SendRefundEmailRequest,\n      ecomV1Order_universal_d_SendRefundEmailResponse as SendRefundEmailResponse,\n      ecomV1Order_universal_d_SendMerchantOrderReceivedPushRequest as SendMerchantOrderReceivedPushRequest,\n      ecomV1Order_universal_d_SendMerchantOrderReceivedPushResponse as SendMerchantOrderReceivedPushResponse,\n      ecomV1Order_universal_d_PreviewEmailByTypeRequest as PreviewEmailByTypeRequest,\n      ecomV1Order_universal_d_PreviewEmailType as PreviewEmailType,\n      ecomV1Order_universal_d_PreviewEmailByTypeResponse as PreviewEmailByTypeResponse,\n      ecomV1Order_universal_d_PreviewRefundEmailRequest as PreviewRefundEmailRequest,\n      ecomV1Order_universal_d_PreviewRefundEmailResponse as PreviewRefundEmailResponse,\n      ecomV1Order_universal_d_PreviewCancelEmailRequest as PreviewCancelEmailRequest,\n      ecomV1Order_universal_d_PreviewCancelEmailResponse as PreviewCancelEmailResponse,\n      ecomV1Order_universal_d_PreviewCancelRefundEmailRequest as PreviewCancelRefundEmailRequest,\n      ecomV1Order_universal_d_PreviewCancelRefundEmailResponse as PreviewCancelRefundEmailResponse,\n      ecomV1Order_universal_d_PreviewBuyerPaymentsReceivedEmailRequest as PreviewBuyerPaymentsReceivedEmailRequest,\n      ecomV1Order_universal_d_PreviewBuyerPaymentsReceivedEmailResponse as PreviewBuyerPaymentsReceivedEmailResponse,\n      ecomV1Order_universal_d_PreviewBuyerConfirmationEmailRequest as PreviewBuyerConfirmationEmailRequest,\n      ecomV1Order_universal_d_PreviewBuyerConfirmationEmailResponse as PreviewBuyerConfirmationEmailResponse,\n      ecomV1Order_universal_d_PreviewBuyerPickupConfirmationEmailRequest as PreviewBuyerPickupConfirmationEmailRequest,\n      ecomV1Order_universal_d_PreviewBuyerPickupConfirmationEmailResponse as PreviewBuyerPickupConfirmationEmailResponse,\n      ecomV1Order_universal_d_PreviewShippingConfirmationEmailRequest as PreviewShippingConfirmationEmailRequest,\n      ecomV1Order_universal_d_PreviewShippingConfirmationEmailResponse as PreviewShippingConfirmationEmailResponse,\n      ecomV1Order_universal_d_PreviewResendDownloadLinksEmailRequest as PreviewResendDownloadLinksEmailRequest,\n      ecomV1Order_universal_d_PreviewResendDownloadLinksEmailResponse as PreviewResendDownloadLinksEmailResponse,\n      ecomV1Order_universal_d_PreparePaymentCollectionRequest as PreparePaymentCollectionRequest,\n      ecomV1Order_universal_d_RedirectUrls as RedirectUrls,\n      ecomV1Order_universal_d_DelayedCaptureSettings as DelayedCaptureSettings,\n      ecomV1Order_universal_d_DelayedCaptureSettingsScheduledAction as DelayedCaptureSettingsScheduledAction,\n      ecomV1Order_universal_d_Duration as Duration,\n      ecomV1Order_universal_d_DurationUnit as DurationUnit,\n      ecomV1Order_universal_d_PreparePaymentCollectionResponse as PreparePaymentCollectionResponse,\n      ecomV1Order_universal_d_GetPaymentCollectabilityStatusRequest as GetPaymentCollectabilityStatusRequest,\n      ecomV1Order_universal_d_GetPaymentCollectabilityStatusResponse as GetPaymentCollectabilityStatusResponse,\n      ecomV1Order_universal_d_PaymentCollectabilityStatus as PaymentCollectabilityStatus,\n      ecomV1Order_universal_d_RecordManuallyCollectedPaymentRequest as RecordManuallyCollectedPaymentRequest,\n      ecomV1Order_universal_d_RecordManuallyCollectedPaymentResponse as RecordManuallyCollectedPaymentResponse,\n      ecomV1Order_universal_d_MarkOrderAsPaidRequest as MarkOrderAsPaidRequest,\n      ecomV1Order_universal_d_MarkOrderAsPaidResponse as MarkOrderAsPaidResponse,\n      ecomV1Order_universal_d_BulkMarkOrdersAsPaidRequest as BulkMarkOrdersAsPaidRequest,\n      ecomV1Order_universal_d_BulkMarkOrdersAsPaidResponse as BulkMarkOrdersAsPaidResponse,\n      ecomV1Order_universal_d_BulkOrderResult as BulkOrderResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$4 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      GetRefundabilityStatusRequest$1 as GetRefundabilityStatusRequest,\n      GetRefundabilityStatusResponse$1 as GetRefundabilityStatusResponse,\n      Refundability$1 as Refundability,\n      RefundabilityAdditionalRefundabilityInfoOneOf$1 as RefundabilityAdditionalRefundabilityInfoOneOf,\n      RefundableStatus$1 as RefundableStatus,\n      NonRefundableReason$1 as NonRefundableReason,\n      ManuallyRefundableReason$1 as ManuallyRefundableReason,\n      ecomV1Order_universal_d_CreatePaymentGatewayOrderRequest as CreatePaymentGatewayOrderRequest,\n      ecomV1Order_universal_d_ChargedBy as ChargedBy,\n      ecomV1Order_universal_d_CreatePaymentGatewayOrderResponse as CreatePaymentGatewayOrderResponse,\n      ecomV1Order_universal_d_ChargeMembershipsRequest as ChargeMembershipsRequest,\n      ecomV1Order_universal_d_MembershipChargeItem as MembershipChargeItem,\n      ServiceProperties$1 as ServiceProperties,\n      ecomV1Order_universal_d_ChargeMembershipsResponse as ChargeMembershipsResponse,\n      TriggerRefundRequest$1 as TriggerRefundRequest,\n      PaymentRefund$1 as PaymentRefund,\n      RefundSideEffects$1 as RefundSideEffects,\n      RestockInfo$1 as RestockInfo,\n      RestockType$1 as RestockType,\n      RestockItem$1 as RestockItem,\n      TriggerRefundResponse$1 as TriggerRefundResponse,\n      CalculateRefundRequest$1 as CalculateRefundRequest,\n      CalculateRefundItemRequest$1 as CalculateRefundItemRequest,\n      CalculateRefundResponse$1 as CalculateRefundResponse,\n      CalculateRefundItemResponse$1 as CalculateRefundItemResponse,\n      ecomV1Order_universal_d_VoidAuthorizedPaymentsRequest as VoidAuthorizedPaymentsRequest,\n      ecomV1Order_universal_d_VoidAuthorizedPaymentsResponse as VoidAuthorizedPaymentsResponse,\n      ecomV1Order_universal_d_CaptureAuthorizedPaymentsRequest as CaptureAuthorizedPaymentsRequest,\n      ecomV1Order_universal_d_PaymentCapture as PaymentCapture,\n      ecomV1Order_universal_d_CaptureAuthorizedPaymentsResponse as CaptureAuthorizedPaymentsResponse,\n      ecomV1Order_universal_d_ChargeSavedPaymentMethodRequest as ChargeSavedPaymentMethodRequest,\n      ecomV1Order_universal_d_ChargeSavedPaymentMethodResponse as ChargeSavedPaymentMethodResponse,\n      DiffmatokyPayload$2 as DiffmatokyPayload,\n      ErrorInformation$2 as ErrorInformation,\n      ecomV1Order_universal_d_ContinueSideEffectsFlowInLegacyData as ContinueSideEffectsFlowInLegacyData,\n      ecomV1Order_universal_d_OrdersExperiments as OrdersExperiments,\n      IndexingMessage$1 as IndexingMessage,\n      ecomV1Order_universal_d_GetOrderRequest as GetOrderRequest,\n      ecomV1Order_universal_d_GetOrderResponse as GetOrderResponse,\n      ecomV1Order_universal_d_InternalQueryOrdersResponse as InternalQueryOrdersResponse,\n      ecomV1Order_universal_d_QueryOrderRequest as QueryOrderRequest,\n      ecomV1Order_universal_d_QueryOrderResponse as QueryOrderResponse,\n      ecomV1Order_universal_d_SearchOrdersRequest as SearchOrdersRequest,\n      ecomV1Order_universal_d_CursorSearch as CursorSearch,\n      ecomV1Order_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      ecomV1Order_universal_d_SearchOrdersResponse as SearchOrdersResponse,\n      CursorPagingMetadata$6 as CursorPagingMetadata,\n      ecomV1Order_universal_d_CreateOrderRequest as CreateOrderRequest,\n      ecomV1Order_universal_d_OrderCreationSettings as OrderCreationSettings,\n      ecomV1Order_universal_d_OrderApprovalStrategy as OrderApprovalStrategy,\n      ecomV1Order_universal_d_OrderCreateNotifications as OrderCreateNotifications,\n      ecomV1Order_universal_d_CreateOrderResponse as CreateOrderResponse,\n      ecomV1Order_universal_d_UpdateOrderRequest as UpdateOrderRequest,\n      ecomV1Order_universal_d_UpdateOrderResponse as UpdateOrderResponse,\n      ecomV1Order_universal_d_BulkUpdateOrdersRequest as BulkUpdateOrdersRequest,\n      ecomV1Order_universal_d_MaskedOrder as MaskedOrder,\n      ecomV1Order_universal_d_BulkUpdateOrdersResponse as BulkUpdateOrdersResponse,\n      ecomV1Order_universal_d_CommitDeltasRequest as CommitDeltasRequest,\n      ecomV1Order_universal_d_DraftOrderDiffs as DraftOrderDiffs,\n      ecomV1Order_universal_d_DraftOrderDiffsShippingUpdateInfoOneOf as DraftOrderDiffsShippingUpdateInfoOneOf,\n      ecomV1Order_universal_d_DraftOrderDiffsBuyerUpdateInfoOneOf as DraftOrderDiffsBuyerUpdateInfoOneOf,\n      ecomV1Order_universal_d_DraftOrderDiffsBillingUpdateInfoOneOf as DraftOrderDiffsBillingUpdateInfoOneOf,\n      ecomV1Order_universal_d_DraftOrderDiffsRecipientUpdateInfoOneOf as DraftOrderDiffsRecipientUpdateInfoOneOf,\n      ecomV1Order_universal_d_V1LineItemDelta as V1LineItemDelta,\n      ecomV1Order_universal_d_V1LineItemDeltaDeltaOneOf as V1LineItemDeltaDeltaOneOf,\n      ecomV1Order_universal_d_OrderLineItemChangedDetails as OrderLineItemChangedDetails,\n      ecomV1Order_universal_d_DeltaPaymentOptionType as DeltaPaymentOptionType,\n      ecomV1Order_universal_d_ItemChangedDetails as ItemChangedDetails,\n      ecomV1Order_universal_d_AppliedDiscountDelta as AppliedDiscountDelta,\n      ecomV1Order_universal_d_AppliedDiscountDeltaDeltaOneOf as AppliedDiscountDeltaDeltaOneOf,\n      ecomV1Order_universal_d_AdditionalFeeDelta as AdditionalFeeDelta,\n      ecomV1Order_universal_d_AdditionalFeeDeltaDeltaOneOf as AdditionalFeeDeltaDeltaOneOf,\n      ecomV1Order_universal_d_DraftOrderCommitSettings as DraftOrderCommitSettings,\n      ecomV1Order_universal_d_InventoryUpdateDetails as InventoryUpdateDetails,\n      ecomV1Order_universal_d_InventoryAction as InventoryAction,\n      ecomV1Order_universal_d_CommitDeltasResponse as CommitDeltasResponse,\n      ecomV1Order_universal_d_OrderDeltasCommitted as OrderDeltasCommitted,\n      ecomV1Order_universal_d_CommittedDiffs as CommittedDiffs,\n      ecomV1Order_universal_d_CommittedDiffsShippingUpdateInfoOneOf as CommittedDiffsShippingUpdateInfoOneOf,\n      ecomV1Order_universal_d_LineItemDelta as LineItemDelta,\n      ecomV1Order_universal_d_LineItemDeltaDeltaOneOf as LineItemDeltaDeltaOneOf,\n      ecomV1Order_universal_d_ArchiveOrderRequest as ArchiveOrderRequest,\n      ecomV1Order_universal_d_ArchiveOrderResponse as ArchiveOrderResponse,\n      ecomV1Order_universal_d_BulkArchiveOrdersRequest as BulkArchiveOrdersRequest,\n      ecomV1Order_universal_d_BulkArchiveOrdersResponse as BulkArchiveOrdersResponse,\n      ecomV1Order_universal_d_BulkArchiveOrdersByFilterRequest as BulkArchiveOrdersByFilterRequest,\n      ecomV1Order_universal_d_BulkArchiveOrdersByFilterResponse as BulkArchiveOrdersByFilterResponse,\n      ecomV1Order_universal_d_UnArchiveOrderRequest as UnArchiveOrderRequest,\n      ecomV1Order_universal_d_UnArchiveOrderResponse as UnArchiveOrderResponse,\n      ecomV1Order_universal_d_BulkUnArchiveOrdersRequest as BulkUnArchiveOrdersRequest,\n      ecomV1Order_universal_d_BulkUnArchiveOrdersResponse as BulkUnArchiveOrdersResponse,\n      ecomV1Order_universal_d_BulkUnArchiveOrdersByFilterRequest as BulkUnArchiveOrdersByFilterRequest,\n      ecomV1Order_universal_d_BulkUnArchiveOrdersByFilterResponse as BulkUnArchiveOrdersByFilterResponse,\n      ecomV1Order_universal_d_UpdateBuyerInfoRequest as UpdateBuyerInfoRequest,\n      ecomV1Order_universal_d_BuyerInfoUpdate as BuyerInfoUpdate,\n      ecomV1Order_universal_d_UpdateBuyerInfoResponse as UpdateBuyerInfoResponse,\n      ecomV1Order_universal_d_UpdateBuyerEmailRequest as UpdateBuyerEmailRequest,\n      ecomV1Order_universal_d_UpdateBuyerEmailResponse as UpdateBuyerEmailResponse,\n      ecomV1Order_universal_d_UpdateOrderShippingAddressRequest as UpdateOrderShippingAddressRequest,\n      ecomV1Order_universal_d_UpdateOrderShippingAddressResponse as UpdateOrderShippingAddressResponse,\n      ecomV1Order_universal_d_UpdateBillingContactDetailsRequest as UpdateBillingContactDetailsRequest,\n      ecomV1Order_universal_d_UpdateBillingContactDetailsResponse as UpdateBillingContactDetailsResponse,\n      ecomV1Order_universal_d_UpdateOrderLineItemRequest as UpdateOrderLineItemRequest,\n      ecomV1Order_universal_d_UpdateOrderLineItemResponse as UpdateOrderLineItemResponse,\n      ecomV1Order_universal_d_UpdateOrderLineItemsRequest as UpdateOrderLineItemsRequest,\n      ecomV1Order_universal_d_MaskedOrderLineItem as MaskedOrderLineItem,\n      ecomV1Order_universal_d_UpdateOrderLineItemsResponse as UpdateOrderLineItemsResponse,\n      ecomV1Order_universal_d_AddInternalActivityRequest as AddInternalActivityRequest,\n      ecomV1Order_universal_d_InternalActivity as InternalActivity,\n      ecomV1Order_universal_d_InternalActivityContentOneOf as InternalActivityContentOneOf,\n      ecomV1Order_universal_d_OrderPlaced as OrderPlaced,\n      ecomV1Order_universal_d_OrderPaid as OrderPaid,\n      ecomV1Order_universal_d_OrderFulfilled as OrderFulfilled,\n      ecomV1Order_universal_d_OrderNotFulfilled as OrderNotFulfilled,\n      ecomV1Order_universal_d_OrderCanceled as OrderCanceled,\n      ecomV1Order_universal_d_DownloadLinkSent as DownloadLinkSent,\n      ecomV1Order_universal_d_TrackingNumberAdded as TrackingNumberAdded,\n      ecomV1Order_universal_d_TrackingNumberEdited as TrackingNumberEdited,\n      ecomV1Order_universal_d_TrackingLinkAdded as TrackingLinkAdded,\n      ecomV1Order_universal_d_ShippingConfirmationEmailSent as ShippingConfirmationEmailSent,\n      ecomV1Order_universal_d_InvoiceAdded as InvoiceAdded,\n      ecomV1Order_universal_d_InvoiceSent as InvoiceSent,\n      ecomV1Order_universal_d_FulfillerEmailSent as FulfillerEmailSent,\n      ecomV1Order_universal_d_ShippingAddressEdited as ShippingAddressEdited,\n      ecomV1Order_universal_d_EmailEdited as EmailEdited,\n      ecomV1Order_universal_d_PickupReadyEmailSent as PickupReadyEmailSent,\n      ecomV1Order_universal_d_OrderPartiallyPaid as OrderPartiallyPaid,\n      ecomV1Order_universal_d_OrderPending as OrderPending,\n      ecomV1Order_universal_d_OrderRejected as OrderRejected,\n      ecomV1Order_universal_d_AddInternalActivityResponse as AddInternalActivityResponse,\n      ecomV1Order_universal_d_AddActivityRequest as AddActivityRequest,\n      ecomV1Order_universal_d_PublicActivity as PublicActivity,\n      ecomV1Order_universal_d_PublicActivityContentOneOf as PublicActivityContentOneOf,\n      ecomV1Order_universal_d_AddActivityResponse as AddActivityResponse,\n      ecomV1Order_universal_d_AddActivitiesRequest as AddActivitiesRequest,\n      ecomV1Order_universal_d_AddActivitiesResponse as AddActivitiesResponse,\n      ecomV1Order_universal_d_UpdateActivityRequest as UpdateActivityRequest,\n      ecomV1Order_universal_d_UpdateActivityResponse as UpdateActivityResponse,\n      ecomV1Order_universal_d_DeleteActivityRequest as DeleteActivityRequest,\n      ecomV1Order_universal_d_DeleteActivityResponse as DeleteActivityResponse,\n      ecomV1Order_universal_d_UpdateLineItemsDescriptionLinesRequest as UpdateLineItemsDescriptionLinesRequest,\n      ecomV1Order_universal_d_LineItemUpdate as LineItemUpdate,\n      ecomV1Order_universal_d_UpdateLineItemsDescriptionLinesResponse as UpdateLineItemsDescriptionLinesResponse,\n      ecomV1Order_universal_d_MarkOrderAsSeenByHumanRequest as MarkOrderAsSeenByHumanRequest,\n      ecomV1Order_universal_d_MarkOrderAsSeenByHumanResponse as MarkOrderAsSeenByHumanResponse,\n      ecomV1Order_universal_d_CancelOrderRequest as CancelOrderRequest,\n      ecomV1Order_universal_d_CancelOrderResponse as CancelOrderResponse,\n      ecomV1Order_universal_d_OrderCanceledEventOrderCanceled as OrderCanceledEventOrderCanceled,\n      ecomV1Order_universal_d_MarkAsFulfilledRequest as MarkAsFulfilledRequest,\n      ecomV1Order_universal_d_MarkAsFulfilledResponse as MarkAsFulfilledResponse,\n      ecomV1Order_universal_d_FulfillmentStatusUpdated as FulfillmentStatusUpdated,\n      ecomV1Order_universal_d_BulkMarkAsFulfilledRequest as BulkMarkAsFulfilledRequest,\n      ecomV1Order_universal_d_BulkMarkAsFulfilledResponse as BulkMarkAsFulfilledResponse,\n      ecomV1Order_universal_d_BulkMarkAsFulfilledByFilterRequest as BulkMarkAsFulfilledByFilterRequest,\n      ecomV1Order_universal_d_BulkMarkAsFulfilledByFilterResponse as BulkMarkAsFulfilledByFilterResponse,\n      ecomV1Order_universal_d_MarkAsUnfulfilledRequest as MarkAsUnfulfilledRequest,\n      ecomV1Order_universal_d_MarkAsUnfulfilledResponse as MarkAsUnfulfilledResponse,\n      ecomV1Order_universal_d_BulkMarkAsUnfulfilledRequest as BulkMarkAsUnfulfilledRequest,\n      ecomV1Order_universal_d_BulkMarkAsUnfulfilledResponse as BulkMarkAsUnfulfilledResponse,\n      ecomV1Order_universal_d_BulkMarkAsUnfulfilledByFilterRequest as BulkMarkAsUnfulfilledByFilterRequest,\n      ecomV1Order_universal_d_BulkMarkAsUnfulfilledByFilterResponse as BulkMarkAsUnfulfilledByFilterResponse,\n      ecomV1Order_universal_d_V1MarkOrderAsPaidRequest as V1MarkOrderAsPaidRequest,\n      ecomV1Order_universal_d_V1MarkOrderAsPaidResponse as V1MarkOrderAsPaidResponse,\n      ecomV1Order_universal_d_V1BulkMarkOrdersAsPaidRequest as V1BulkMarkOrdersAsPaidRequest,\n      ecomV1Order_universal_d_V1BulkMarkOrdersAsPaidResponse as V1BulkMarkOrdersAsPaidResponse,\n      ecomV1Order_universal_d_V1CreatePaymentGatewayOrderRequest as V1CreatePaymentGatewayOrderRequest,\n      ecomV1Order_universal_d_V1CreatePaymentGatewayOrderResponse as V1CreatePaymentGatewayOrderResponse,\n      ecomV1Order_universal_d_GetShipmentsRequest as GetShipmentsRequest,\n      ecomV1Order_universal_d_GetShipmentsResponse as GetShipmentsResponse,\n      ecomV1Order_universal_d_AggregateOrdersRequest as AggregateOrdersRequest,\n      ecomV1Order_universal_d_AggregateOrdersResponse as AggregateOrdersResponse,\n      ecomV1Order_universal_d_DecrementItemsQuantityRequest as DecrementItemsQuantityRequest,\n      ecomV1Order_universal_d_DecrementData as DecrementData,\n      ecomV1Order_universal_d_DecrementItemsQuantityResponse as DecrementItemsQuantityResponse,\n      ecomV1Order_universal_d_BulkUpdateOrderTagsRequest as BulkUpdateOrderTagsRequest,\n      ecomV1Order_universal_d_BulkUpdateOrderTagsResponse as BulkUpdateOrderTagsResponse,\n      ecomV1Order_universal_d_BulkUpdateOrderTagsResult as BulkUpdateOrderTagsResult,\n      ecomV1Order_universal_d_OrderApproved as OrderApproved,\n      ecomV1Order_universal_d_Task as Task,\n      ecomV1Order_universal_d_TaskKey as TaskKey,\n      ecomV1Order_universal_d_TaskAction as TaskAction,\n      ecomV1Order_universal_d_TaskActionActionOneOf as TaskActionActionOneOf,\n      ecomV1Order_universal_d_Complete as Complete,\n      ecomV1Order_universal_d_Cancel as Cancel,\n      ecomV1Order_universal_d_Reschedule as Reschedule,\n      ecomV1Order_universal_d_InvoiceSentEvent as InvoiceSentEvent,\n      ecomV1Order_universal_d_IdAndVersion as IdAndVersion,\n      ecomV1Order_universal_d_InvoiceFields as InvoiceFields,\n      ecomV1Order_universal_d_Customer as Customer,\n      ecomV1Order_universal_d_Email as Email,\n      ecomV1Order_universal_d_QuotesAddress as QuotesAddress,\n      ecomV1Order_universal_d_AddressDescription as AddressDescription,\n      ecomV1Order_universal_d_Placement as Placement,\n      ecomV1Order_universal_d_Phone as Phone,\n      ecomV1Order_universal_d_Company as Company,\n      ecomV1Order_universal_d_CommonAddress as CommonAddress,\n      ecomV1Order_universal_d_CommonAddressStreetOneOf as CommonAddressStreetOneOf,\n      Subdivision$1 as Subdivision,\n      SubdivisionType$1 as SubdivisionType,\n      ecomV1Order_universal_d_StandardDetails as StandardDetails,\n      ecomV1Order_universal_d_InvoiceDates as InvoiceDates,\n      ecomV1Order_universal_d_LineItems as LineItems,\n      LineItem$2 as LineItem,\n      ecomV1Order_universal_d_BigDecimalWrapper as BigDecimalWrapper,\n      ecomV1Order_universal_d_LineItemTax as LineItemTax,\n      Source$2 as Source,\n      ecomV1Order_universal_d_SourceType as SourceType,\n      ecomV1Order_universal_d_LineItemMetaData as LineItemMetaData,\n      ecomV1Order_universal_d_Locale as Locale,\n      ecomV1Order_universal_d_TotalPrice as TotalPrice,\n      ecomV1Order_universal_d_ItemizedFee as ItemizedFee,\n      Discount$1 as Discount,\n      ecomV1Order_universal_d_DiscountOneDiscountTypeOneOf as DiscountOneDiscountTypeOneOf,\n      ecomV1Order_universal_d_CalculatedTaxes as CalculatedTaxes,\n      ecomV1Order_universal_d_CalculatedTax as CalculatedTax,\n      ecomV1Order_universal_d_Payments as Payments,\n      ecomV1Order_universal_d_InvoicesPayment as InvoicesPayment,\n      ecomV1Order_universal_d_MetaData as MetaData,\n      ecomV1Order_universal_d_InvoiceDynamicPriceTotals as InvoiceDynamicPriceTotals,\n      ecomV1Order_universal_d_CustomFieldValue as CustomFieldValue,\n      ecomV1Order_universal_d_CustomFieldGroup as CustomFieldGroup,\n      ecomV1Order_universal_d_Value as Value,\n      ecomV1Order_universal_d_ValueType as ValueType,\n      ecomV1Order_universal_d_Deposit as Deposit,\n      ecomV1Order_universal_d_DepositType as DepositType,\n      ecomV1Order_universal_d_InvoiceStatus as InvoiceStatus,\n      ecomV1Order_universal_d_TriggerSideEffectsFromLegacyData as TriggerSideEffectsFromLegacyData,\n      ecomV1Order_universal_d_getMetasiteData as getMetasiteData,\n      ecomV1Order_universal_d_queryOrdersForMetasite as queryOrdersForMetasite,\n      ecomV1Order_universal_d_QueryOrdersForMetasiteOptions as QueryOrdersForMetasiteOptions,\n      ecomV1Order_universal_d_getOrderForMetasite as getOrderForMetasite,\n      ecomV1Order_universal_d_GetOrderForMetasiteIdentifiers as GetOrderForMetasiteIdentifiers,\n      ecomV1Order_universal_d_listOrderTransactionsForMetasite as listOrderTransactionsForMetasite,\n      ecomV1Order_universal_d_ListOrderTransactionsForMetasiteIdentifiers as ListOrderTransactionsForMetasiteIdentifiers,\n      ecomV1Order_universal_d_triggerReindex as triggerReindex,\n      ecomV1Order_universal_d_TriggerReindexOptions as TriggerReindexOptions,\n      ecomV1Order_universal_d_sendBuyerConfirmationEmail as sendBuyerConfirmationEmail,\n      ecomV1Order_universal_d_sendBuyerPaymentsReceivedEmail as sendBuyerPaymentsReceivedEmail,\n      ecomV1Order_universal_d_sendBuyerPickupConfirmationEmail as sendBuyerPickupConfirmationEmail,\n      ecomV1Order_universal_d_bulkSendBuyerPickupConfirmationEmails as bulkSendBuyerPickupConfirmationEmails,\n      ecomV1Order_universal_d_BulkSendBuyerPickupConfirmationEmailsOptions as BulkSendBuyerPickupConfirmationEmailsOptions,\n      ecomV1Order_universal_d_sendBuyerShippingConfirmationEmail as sendBuyerShippingConfirmationEmail,\n      ecomV1Order_universal_d_bulkSendBuyerShippingConfirmationEmails as bulkSendBuyerShippingConfirmationEmails,\n      ecomV1Order_universal_d_BulkSendBuyerShippingConfirmationEmailsOptions as BulkSendBuyerShippingConfirmationEmailsOptions,\n      ecomV1Order_universal_d_sendMerchantOrderReceivedNotification as sendMerchantOrderReceivedNotification,\n      ecomV1Order_universal_d_sendCancelRefundEmail as sendCancelRefundEmail,\n      ecomV1Order_universal_d_SendCancelRefundEmailOptions as SendCancelRefundEmailOptions,\n      ecomV1Order_universal_d_sendMerchantOrderReceivedPush as sendMerchantOrderReceivedPush,\n      ecomV1Order_universal_d_previewEmailByType as previewEmailByType,\n      ecomV1Order_universal_d_previewRefundEmail as previewRefundEmail,\n      ecomV1Order_universal_d_PreviewRefundEmailOptions as PreviewRefundEmailOptions,\n      ecomV1Order_universal_d_previewCancelEmail as previewCancelEmail,\n      ecomV1Order_universal_d_PreviewCancelEmailOptions as PreviewCancelEmailOptions,\n      ecomV1Order_universal_d_previewCancelRefundEmail as previewCancelRefundEmail,\n      ecomV1Order_universal_d_PreviewCancelRefundEmailOptions as PreviewCancelRefundEmailOptions,\n      ecomV1Order_universal_d_previewBuyerPaymentsReceivedEmail as previewBuyerPaymentsReceivedEmail,\n      ecomV1Order_universal_d_previewBuyerConfirmationEmail as previewBuyerConfirmationEmail,\n      ecomV1Order_universal_d_previewBuyerPickupConfirmationEmail as previewBuyerPickupConfirmationEmail,\n      ecomV1Order_universal_d_previewShippingConfirmationEmail as previewShippingConfirmationEmail,\n      ecomV1Order_universal_d_previewResendDownloadLinksEmail as previewResendDownloadLinksEmail,\n      ecomV1Order_universal_d_preparePaymentCollection as preparePaymentCollection,\n      ecomV1Order_universal_d_PreparePaymentCollectionOptions as PreparePaymentCollectionOptions,\n      ecomV1Order_universal_d_getPaymentCollectabilityStatus as getPaymentCollectabilityStatus,\n      ecomV1Order_universal_d_recordManuallyCollectedPayment as recordManuallyCollectedPayment,\n      ecomV1Order_universal_d_paymentCollectionMarkOrderAsPaid as paymentCollectionMarkOrderAsPaid,\n      ecomV1Order_universal_d_paymentCollectionBulkMarkOrdersAsPaid as paymentCollectionBulkMarkOrdersAsPaid,\n      getRefundabilityStatus$1 as getRefundabilityStatus,\n      ecomV1Order_universal_d_paymentCollectionCreatePaymentGatewayOrder as paymentCollectionCreatePaymentGatewayOrder,\n      ecomV1Order_universal_d_PaymentCollectionCreatePaymentGatewayOrderOptions as PaymentCollectionCreatePaymentGatewayOrderOptions,\n      ecomV1Order_universal_d_chargeMemberships as chargeMemberships,\n      ecomV1Order_universal_d_ChargeMembershipsOptions as ChargeMembershipsOptions,\n      triggerRefund$1 as triggerRefund,\n      TriggerRefundOptions$1 as TriggerRefundOptions,\n      calculateRefund$1 as calculateRefund,\n      CalculateRefundOptions$1 as CalculateRefundOptions,\n      ecomV1Order_universal_d_voidAuthorizedPayments as voidAuthorizedPayments,\n      ecomV1Order_universal_d_captureAuthorizedPayments as captureAuthorizedPayments,\n      ecomV1Order_universal_d_chargeSavedPaymentMethod as chargeSavedPaymentMethod,\n      ecomV1Order_universal_d_getOrder as getOrder,\n      ecomV1Order_universal_d_internalQueryOrders as internalQueryOrders,\n      ecomV1Order_universal_d_InternalQueryOrdersOptions as InternalQueryOrdersOptions,\n      ecomV1Order_universal_d_queryOrders as queryOrders,\n      ecomV1Order_universal_d_OrdersQueryResult as OrdersQueryResult,\n      ecomV1Order_universal_d_OrdersQueryBuilder as OrdersQueryBuilder,\n      ecomV1Order_universal_d_searchOrders as searchOrders,\n      ecomV1Order_universal_d_SearchOrdersOptions as SearchOrdersOptions,\n      ecomV1Order_universal_d_createOrder as createOrder,\n      ecomV1Order_universal_d_CreateOrderOptions as CreateOrderOptions,\n      ecomV1Order_universal_d_updateOrder as updateOrder,\n      ecomV1Order_universal_d_UpdateOrder as UpdateOrder,\n      ecomV1Order_universal_d_UpdateOrderOptions as UpdateOrderOptions,\n      ecomV1Order_universal_d_bulkUpdateOrders as bulkUpdateOrders,\n      ecomV1Order_universal_d_BulkUpdateOrdersOptions as BulkUpdateOrdersOptions,\n      ecomV1Order_universal_d_commitDeltas as commitDeltas,\n      ecomV1Order_universal_d_CommitDeltasOptions as CommitDeltasOptions,\n      ecomV1Order_universal_d_archiveOrder as archiveOrder,\n      ecomV1Order_universal_d_bulkArchiveOrders as bulkArchiveOrders,\n      ecomV1Order_universal_d_BulkArchiveOrdersOptions as BulkArchiveOrdersOptions,\n      ecomV1Order_universal_d_bulkArchiveOrdersByFilter as bulkArchiveOrdersByFilter,\n      ecomV1Order_universal_d_unArchiveOrder as unArchiveOrder,\n      ecomV1Order_universal_d_bulkUnArchiveOrders as bulkUnArchiveOrders,\n      ecomV1Order_universal_d_BulkUnArchiveOrdersOptions as BulkUnArchiveOrdersOptions,\n      ecomV1Order_universal_d_bulkUnArchiveOrdersByFilter as bulkUnArchiveOrdersByFilter,\n      ecomV1Order_universal_d_updateBuyerInfo as updateBuyerInfo,\n      ecomV1Order_universal_d_UpdateBuyerInfoOptions as UpdateBuyerInfoOptions,\n      ecomV1Order_universal_d_updateBuyerEmail as updateBuyerEmail,\n      ecomV1Order_universal_d_UpdateBuyerEmailOptions as UpdateBuyerEmailOptions,\n      ecomV1Order_universal_d_updateOrderShippingAddress as updateOrderShippingAddress,\n      ecomV1Order_universal_d_UpdateOrderShippingAddressOptions as UpdateOrderShippingAddressOptions,\n      ecomV1Order_universal_d_updateBillingContactDetails as updateBillingContactDetails,\n      ecomV1Order_universal_d_UpdateBillingContactDetailsOptions as UpdateBillingContactDetailsOptions,\n      ecomV1Order_universal_d_updateOrderLineItem as updateOrderLineItem,\n      ecomV1Order_universal_d_UpdateOrderLineItemIdentifiers as UpdateOrderLineItemIdentifiers,\n      ecomV1Order_universal_d_UpdateOrderLineItem as UpdateOrderLineItem,\n      ecomV1Order_universal_d_UpdateOrderLineItemOptions as UpdateOrderLineItemOptions,\n      ecomV1Order_universal_d_updateOrderLineItems as updateOrderLineItems,\n      ecomV1Order_universal_d_addInternalActivity as addInternalActivity,\n      ecomV1Order_universal_d_addActivity as addActivity,\n      ecomV1Order_universal_d_addActivities as addActivities,\n      ecomV1Order_universal_d_updateActivity as updateActivity,\n      ecomV1Order_universal_d_UpdateActivityIdentifiers as UpdateActivityIdentifiers,\n      ecomV1Order_universal_d_deleteActivity as deleteActivity,\n      ecomV1Order_universal_d_DeleteActivityIdentifiers as DeleteActivityIdentifiers,\n      ecomV1Order_universal_d_updateLineItemsDescriptionLines as updateLineItemsDescriptionLines,\n      ecomV1Order_universal_d_markOrderAsSeenByHuman as markOrderAsSeenByHuman,\n      ecomV1Order_universal_d_cancelOrder as cancelOrder,\n      ecomV1Order_universal_d_CancelOrderOptions as CancelOrderOptions,\n      ecomV1Order_universal_d_markAsFulfilled as markAsFulfilled,\n      ecomV1Order_universal_d_bulkMarkAsFulfilled as bulkMarkAsFulfilled,\n      ecomV1Order_universal_d_BulkMarkAsFulfilledOptions as BulkMarkAsFulfilledOptions,\n      ecomV1Order_universal_d_bulkMarkAsFulfilledByFilter as bulkMarkAsFulfilledByFilter,\n      ecomV1Order_universal_d_markAsUnfulfilled as markAsUnfulfilled,\n      ecomV1Order_universal_d_bulkMarkAsUnfulfilled as bulkMarkAsUnfulfilled,\n      ecomV1Order_universal_d_BulkMarkAsUnfulfilledOptions as BulkMarkAsUnfulfilledOptions,\n      ecomV1Order_universal_d_bulkMarkAsUnfulfilledByFilter as bulkMarkAsUnfulfilledByFilter,\n      ecomV1Order_universal_d_markOrderAsPaid as markOrderAsPaid,\n      ecomV1Order_universal_d_bulkMarkOrdersAsPaid as bulkMarkOrdersAsPaid,\n      ecomV1Order_universal_d_createPaymentGatewayOrder as createPaymentGatewayOrder,\n      ecomV1Order_universal_d_getShipments as getShipments,\n      ecomV1Order_universal_d_aggregateOrders as aggregateOrders,\n      ecomV1Order_universal_d_AggregateOrdersOptions as AggregateOrdersOptions,\n      ecomV1Order_universal_d_decrementItemsQuantity as decrementItemsQuantity,\n      ecomV1Order_universal_d_bulkUpdateOrderTags as bulkUpdateOrderTags,\n      ecomV1Order_universal_d_BulkUpdateOrderTagsOptions as BulkUpdateOrderTagsOptions,\n    };\n  }\n  \n  interface OrderPaymentRequest {\n      /**\n       * Order payment request ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Additional parameters to identify the source of the order payment request. */\n      source?: Source$1;\n      /**\n       * status.\n       * @readonly\n       */\n      status?: Status;\n      /** Order ID. */\n      orderId?: string;\n      /**\n       * Order number.\n       * @readonly\n       */\n      orderNumber?: string | null;\n      /**\n       * Amount to collect.\n       * > **Note:** The amount can only be set once.\n       */\n      amount?: Price$2;\n      /**\n       * Currency code. The value will always match the currency used in the order.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Payment gateway order id which is associated with this payment request\n       * @readonly\n       */\n      paymentGatewayOrderId?: string | null;\n      /** Title to be displayed to the customer on the payment page. Provide a clear and descriptive title to inform the customer about what they are paying for. */\n      title?: string;\n      /** Description to be displayed to the customer on the payment page. Write a detailed description so the customer understands what they are paying for. */\n      description?: string | null;\n      /** Image to be displayed to the customer on the payment page. */\n      image?: string;\n      /** Time and date the order payment request expires. */\n      expirationDate?: Date | null;\n      /** [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls. */\n      extendedFields?: ExtendedFields$3;\n      /**\n       * Date and time the OrderPaymentRequest was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the OrderPaymentRequest was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface Source$1 {\n      /** App Def ID that created the order payment request. */\n      appId?: string | null;\n      /** Reference to an ID from an external system, indicating the original source of the order payment request. */\n      externalId?: string;\n  }\n  enum Status {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      UNPAID = \"UNPAID\",\n      PAID = \"PAID\",\n      EXPIRED = \"EXPIRED\"\n  }\n  interface Price$2 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface ExtendedFields$3 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  /** Triggered when the the order payment request status changes to paid */\n  interface OrderPaymentRequestPaid {\n      /** The order that was updated */\n      orderPaymentRequest?: OrderPaymentRequest;\n  }\n  /** Triggered when the the order payment request status changes to expired */\n  interface OrderPaymentRequestExpired {\n      /** The order that was updated */\n      orderPaymentRequest?: OrderPaymentRequest;\n  }\n  interface CreateOrderPaymentRequestRequest {\n      /** OrderPaymentRequest to be created. */\n      orderPaymentRequest?: OrderPaymentRequest;\n  }\n  interface CreateOrderPaymentRequestResponse {\n      /** The created OrderPaymentRequest. */\n      orderPaymentRequest?: OrderPaymentRequest;\n      /** Order payment request URL. */\n      orderPaymentRequestUrl?: string;\n  }\n  interface GetOrderPaymentRequestRequest {\n      /** ID of the OrderPaymentRequest to retrieve. */\n      orderPaymentRequestId: string;\n  }\n  interface GetOrderPaymentRequestResponse {\n      /** The requested OrderPaymentRequest. */\n      orderPaymentRequest?: OrderPaymentRequest;\n  }\n  interface UpdateOrderPaymentRequestRequest {\n      /** OrderPaymentRequest to be updated, may be partial. */\n      orderPaymentRequest: OrderPaymentRequest;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateOrderPaymentRequestResponse {\n      /** Updated OrderPaymentRequest. */\n      orderPaymentRequest?: OrderPaymentRequest;\n  }\n  interface DeleteOrderPaymentRequestRequest {\n      /** Id of the OrderPaymentRequest to delete. */\n      orderPaymentRequestId: string;\n  }\n  interface DeleteOrderPaymentRequestResponse {\n  }\n  interface QueryOrderPaymentRequestsRequest {\n      /** WQL expression. */\n      query?: CursorQuery$4;\n  }\n  interface CursorQuery$4 extends CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$6;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$6[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$6;\n  }\n  interface Sorting$6 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$6;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$6 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$6 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryOrderPaymentRequestsResponse {\n      /** List of payment requests. */\n      orderPaymentRequests?: OrderPaymentRequest[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$5;\n  }\n  interface CursorPagingMetadata$5 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$6;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$6 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetOrderPaymentRequestURLRequest {\n      /** Order Payment Request ID. */\n      orderPaymentRequestId: string;\n  }\n  interface GetOrderPaymentRequestURLResponse {\n      /** Order Payment Request URL. */\n      orderPaymentRequestUrl?: string;\n  }\n  interface UpdateExtendedFieldsRequest$2 {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse$2 {\n      /** Updated OrderPaymentRequest. */\n      orderPaymentRequest?: OrderPaymentRequest;\n  }\n  interface DomainEvent$8 extends DomainEventBodyOneOf$8 {\n      createdEvent?: EntityCreatedEvent$8;\n      updatedEvent?: EntityUpdatedEvent$8;\n      deletedEvent?: EntityDeletedEvent$8;\n      actionEvent?: ActionEvent$8;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$8 {\n      createdEvent?: EntityCreatedEvent$8;\n      updatedEvent?: EntityUpdatedEvent$8;\n      deletedEvent?: EntityDeletedEvent$8;\n      actionEvent?: ActionEvent$8;\n  }\n  interface EntityCreatedEvent$8 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$8;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$8 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$8 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$8 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$8 {\n      bodyAsJson?: string;\n  }\n  interface Empty$4 {\n  }\n  interface MessageEnvelope$7 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$8;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$8 extends IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$7;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$7 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a order payment request.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.orderPaymentRequest.amount\n   * @requiredField options.orderPaymentRequest.orderId\n   * @requiredField options.orderPaymentRequest.title\n   * @permissionId ECOM.ORDER_PAYMENT_REQUEST_CREATE\n   * @adminMethod\n   * @returns The created OrderPaymentRequest.\n   */\n  function createOrderPaymentRequest(options?: CreateOrderPaymentRequestOptions): Promise<OrderPaymentRequest>;\n  interface CreateOrderPaymentRequestOptions {\n      /** OrderPaymentRequest to be created. */\n      orderPaymentRequest?: OrderPaymentRequest;\n  }\n  /**\n   * Retrieves a order payment request.\n   * @param orderPaymentRequestId - ID of the OrderPaymentRequest to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderPaymentRequestId\n   * @permissionId ECOM.ORDER_PAYMENT_REQUEST_READ\n   * @returns The requested OrderPaymentRequest.\n   */\n  function getOrderPaymentRequest(orderPaymentRequestId: string): Promise<OrderPaymentRequest>;\n  /**\n   * Updates a order payment request.\n   *\n   * Please note that only `UNPAID` payment requests can be updated.\n   * @param _id - Order payment request ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField orderPaymentRequest\n   * @permissionId ECOM.ORDER_PAYMENT_REQUEST_UPDATE\n   * @adminMethod\n   * @returns Updated OrderPaymentRequest.\n   */\n  function updateOrderPaymentRequest(_id: string | null, orderPaymentRequest: UpdateOrderPaymentRequest, options?: UpdateOrderPaymentRequestOptions): Promise<OrderPaymentRequest>;\n  interface UpdateOrderPaymentRequest {\n      /**\n       * Order payment request ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Additional parameters to identify the source of the order payment request. */\n      source?: Source$1;\n      /**\n       * status.\n       * @readonly\n       */\n      status?: Status;\n      /** Order ID. */\n      orderId?: string;\n      /**\n       * Order number.\n       * @readonly\n       */\n      orderNumber?: string | null;\n      /**\n       * Amount to collect.\n       * > **Note:** The amount can only be set once.\n       */\n      amount?: Price$2;\n      /**\n       * Currency code. The value will always match the currency used in the order.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Payment gateway order id which is associated with this payment request\n       * @readonly\n       */\n      paymentGatewayOrderId?: string | null;\n      /** Title to be displayed to the customer on the payment page. Provide a clear and descriptive title to inform the customer about what they are paying for. */\n      title?: string;\n      /** Description to be displayed to the customer on the payment page. Write a detailed description so the customer understands what they are paying for. */\n      description?: string | null;\n      /** Image to be displayed to the customer on the payment page. */\n      image?: string;\n      /** Time and date the order payment request expires. */\n      expirationDate?: Date | null;\n      /** [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls. */\n      extendedFields?: ExtendedFields$3;\n      /**\n       * Date and time the OrderPaymentRequest was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the OrderPaymentRequest was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateOrderPaymentRequestOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a order payment request.\n   *\n   * Please note that only `UNPAID` payment requests can be deleted.\n   * @param orderPaymentRequestId - Id of the OrderPaymentRequest to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderPaymentRequestId\n   * @permissionId ECOM.ORDER_PAYMENT_REQUEST_DELETE\n   * @adminMethod\n   */\n  function deleteOrderPaymentRequest(orderPaymentRequestId: string): Promise<void>;\n  /**\n   * Retrieves a list of Payment Requests, given the provided [paging, filtering, and sorting][1].\n   *\n   * Query Payment Requests runs with these defaults, which you can override:\n   * - `createdDate` is sorted in DESC order\n   * - `cursorPaging.limit` is 100\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language), and\n   * [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.ORDER_PAYMENT_REQUEST_READ\n   */\n  function queryOrderPaymentRequests(): OrderPaymentRequestsQueryBuilder;\n  interface QueryCursorResult$6 {\n      cursors: Cursors$6;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface OrderPaymentRequestsQueryResult extends QueryCursorResult$6 {\n      items: OrderPaymentRequest[];\n      query: OrderPaymentRequestsQueryBuilder;\n      next: () => Promise<OrderPaymentRequestsQueryResult>;\n      prev: () => Promise<OrderPaymentRequestsQueryResult>;\n  }\n  interface OrderPaymentRequestsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'source.appId' | 'source.externalId' | 'status' | 'orderId' | 'orderNumber' | 'amount.amount' | 'paymentGatewayOrderId' | 'title' | 'description' | 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => OrderPaymentRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'source.appId' | 'source.externalId' | 'status' | 'orderId' | 'orderNumber' | 'paymentGatewayOrderId' | 'title' | 'description' | 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => OrderPaymentRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => OrderPaymentRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => OrderPaymentRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => OrderPaymentRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => OrderPaymentRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'source.appId' | 'source.externalId' | 'orderId' | 'orderNumber' | 'paymentGatewayOrderId' | 'title' | 'description', value: string) => OrderPaymentRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'source.appId' | 'source.externalId' | 'status' | 'orderId' | 'orderNumber' | 'paymentGatewayOrderId' | 'title' | 'description' | 'expirationDate' | '_createdDate' | '_updatedDate', value: any[]) => OrderPaymentRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'source.appId' | 'source.externalId' | 'status' | 'orderId' | 'orderNumber' | 'paymentGatewayOrderId' | 'title' | 'description' | 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => OrderPaymentRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'source.appId' | 'source.externalId' | 'status' | 'orderId' | 'orderNumber' | 'paymentGatewayOrderId' | 'title' | 'description' | 'expirationDate' | '_createdDate' | '_updatedDate', value: boolean) => OrderPaymentRequestsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'status' | 'orderNumber' | 'amount.amount' | 'title' | 'description' | 'expirationDate' | '_createdDate' | '_updatedDate'>) => OrderPaymentRequestsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'status' | 'orderNumber' | 'amount.amount' | 'title' | 'description' | 'expirationDate' | '_createdDate' | '_updatedDate'>) => OrderPaymentRequestsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => OrderPaymentRequestsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => OrderPaymentRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<OrderPaymentRequestsQueryResult>;\n  }\n  /**\n   * Retrieves the order payment request page URL of a specified order payment request.\n   * @param orderPaymentRequestId - Order Payment Request ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderPaymentRequestId\n   * @permissionId ECOM.ORDER_PAYMENT_REQUEST_READ\n   */\n  function getOrderPaymentRequestUrl(orderPaymentRequestId: string): Promise<GetOrderPaymentRequestURLResponse>;\n  /**\n   * Updates extended fields of a order payment request\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId ECOM.ORDER_PAYMENT_REQUEST_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields$2(_id: string, namespace: string, options: UpdateExtendedFieldsOptions$2): Promise<UpdateExtendedFieldsResponse$2>;\n  interface UpdateExtendedFieldsOptions$2 {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  \n  type ecomV1OrderPaymentRequest_universal_d_OrderPaymentRequest = OrderPaymentRequest;\n  type ecomV1OrderPaymentRequest_universal_d_Status = Status;\n  const ecomV1OrderPaymentRequest_universal_d_Status: typeof Status;\n  type ecomV1OrderPaymentRequest_universal_d_OrderPaymentRequestPaid = OrderPaymentRequestPaid;\n  type ecomV1OrderPaymentRequest_universal_d_OrderPaymentRequestExpired = OrderPaymentRequestExpired;\n  type ecomV1OrderPaymentRequest_universal_d_CreateOrderPaymentRequestRequest = CreateOrderPaymentRequestRequest;\n  type ecomV1OrderPaymentRequest_universal_d_CreateOrderPaymentRequestResponse = CreateOrderPaymentRequestResponse;\n  type ecomV1OrderPaymentRequest_universal_d_GetOrderPaymentRequestRequest = GetOrderPaymentRequestRequest;\n  type ecomV1OrderPaymentRequest_universal_d_GetOrderPaymentRequestResponse = GetOrderPaymentRequestResponse;\n  type ecomV1OrderPaymentRequest_universal_d_UpdateOrderPaymentRequestRequest = UpdateOrderPaymentRequestRequest;\n  type ecomV1OrderPaymentRequest_universal_d_UpdateOrderPaymentRequestResponse = UpdateOrderPaymentRequestResponse;\n  type ecomV1OrderPaymentRequest_universal_d_DeleteOrderPaymentRequestRequest = DeleteOrderPaymentRequestRequest;\n  type ecomV1OrderPaymentRequest_universal_d_DeleteOrderPaymentRequestResponse = DeleteOrderPaymentRequestResponse;\n  type ecomV1OrderPaymentRequest_universal_d_QueryOrderPaymentRequestsRequest = QueryOrderPaymentRequestsRequest;\n  type ecomV1OrderPaymentRequest_universal_d_QueryOrderPaymentRequestsResponse = QueryOrderPaymentRequestsResponse;\n  type ecomV1OrderPaymentRequest_universal_d_GetOrderPaymentRequestURLRequest = GetOrderPaymentRequestURLRequest;\n  type ecomV1OrderPaymentRequest_universal_d_GetOrderPaymentRequestURLResponse = GetOrderPaymentRequestURLResponse;\n  const ecomV1OrderPaymentRequest_universal_d_createOrderPaymentRequest: typeof createOrderPaymentRequest;\n  type ecomV1OrderPaymentRequest_universal_d_CreateOrderPaymentRequestOptions = CreateOrderPaymentRequestOptions;\n  const ecomV1OrderPaymentRequest_universal_d_getOrderPaymentRequest: typeof getOrderPaymentRequest;\n  const ecomV1OrderPaymentRequest_universal_d_updateOrderPaymentRequest: typeof updateOrderPaymentRequest;\n  type ecomV1OrderPaymentRequest_universal_d_UpdateOrderPaymentRequest = UpdateOrderPaymentRequest;\n  type ecomV1OrderPaymentRequest_universal_d_UpdateOrderPaymentRequestOptions = UpdateOrderPaymentRequestOptions;\n  const ecomV1OrderPaymentRequest_universal_d_deleteOrderPaymentRequest: typeof deleteOrderPaymentRequest;\n  const ecomV1OrderPaymentRequest_universal_d_queryOrderPaymentRequests: typeof queryOrderPaymentRequests;\n  type ecomV1OrderPaymentRequest_universal_d_OrderPaymentRequestsQueryResult = OrderPaymentRequestsQueryResult;\n  type ecomV1OrderPaymentRequest_universal_d_OrderPaymentRequestsQueryBuilder = OrderPaymentRequestsQueryBuilder;\n  const ecomV1OrderPaymentRequest_universal_d_getOrderPaymentRequestUrl: typeof getOrderPaymentRequestUrl;\n  namespace ecomV1OrderPaymentRequest_universal_d {\n    export {\n      ecomV1OrderPaymentRequest_universal_d_OrderPaymentRequest as OrderPaymentRequest,\n      Source$1 as Source,\n      ecomV1OrderPaymentRequest_universal_d_Status as Status,\n      Price$2 as Price,\n      ExtendedFields$3 as ExtendedFields,\n      ecomV1OrderPaymentRequest_universal_d_OrderPaymentRequestPaid as OrderPaymentRequestPaid,\n      ecomV1OrderPaymentRequest_universal_d_OrderPaymentRequestExpired as OrderPaymentRequestExpired,\n      ecomV1OrderPaymentRequest_universal_d_CreateOrderPaymentRequestRequest as CreateOrderPaymentRequestRequest,\n      ecomV1OrderPaymentRequest_universal_d_CreateOrderPaymentRequestResponse as CreateOrderPaymentRequestResponse,\n      ecomV1OrderPaymentRequest_universal_d_GetOrderPaymentRequestRequest as GetOrderPaymentRequestRequest,\n      ecomV1OrderPaymentRequest_universal_d_GetOrderPaymentRequestResponse as GetOrderPaymentRequestResponse,\n      ecomV1OrderPaymentRequest_universal_d_UpdateOrderPaymentRequestRequest as UpdateOrderPaymentRequestRequest,\n      ecomV1OrderPaymentRequest_universal_d_UpdateOrderPaymentRequestResponse as UpdateOrderPaymentRequestResponse,\n      ecomV1OrderPaymentRequest_universal_d_DeleteOrderPaymentRequestRequest as DeleteOrderPaymentRequestRequest,\n      ecomV1OrderPaymentRequest_universal_d_DeleteOrderPaymentRequestResponse as DeleteOrderPaymentRequestResponse,\n      ecomV1OrderPaymentRequest_universal_d_QueryOrderPaymentRequestsRequest as QueryOrderPaymentRequestsRequest,\n      CursorQuery$4 as CursorQuery,\n      CursorQueryPagingMethodOneOf$4 as CursorQueryPagingMethodOneOf,\n      Sorting$6 as Sorting,\n      SortOrder$6 as SortOrder,\n      CursorPaging$6 as CursorPaging,\n      ecomV1OrderPaymentRequest_universal_d_QueryOrderPaymentRequestsResponse as QueryOrderPaymentRequestsResponse,\n      CursorPagingMetadata$5 as CursorPagingMetadata,\n      Cursors$6 as Cursors,\n      ecomV1OrderPaymentRequest_universal_d_GetOrderPaymentRequestURLRequest as GetOrderPaymentRequestURLRequest,\n      ecomV1OrderPaymentRequest_universal_d_GetOrderPaymentRequestURLResponse as GetOrderPaymentRequestURLResponse,\n      UpdateExtendedFieldsRequest$2 as UpdateExtendedFieldsRequest,\n      UpdateExtendedFieldsResponse$2 as UpdateExtendedFieldsResponse,\n      DomainEvent$8 as DomainEvent,\n      DomainEventBodyOneOf$8 as DomainEventBodyOneOf,\n      EntityCreatedEvent$8 as EntityCreatedEvent,\n      RestoreInfo$8 as RestoreInfo,\n      EntityUpdatedEvent$8 as EntityUpdatedEvent,\n      EntityDeletedEvent$8 as EntityDeletedEvent,\n      ActionEvent$8 as ActionEvent,\n      Empty$4 as Empty,\n      MessageEnvelope$7 as MessageEnvelope,\n      IdentificationData$8 as IdentificationData,\n      IdentificationDataIdOneOf$8 as IdentificationDataIdOneOf,\n      WebhookIdentityType$7 as WebhookIdentityType,\n      ecomV1OrderPaymentRequest_universal_d_createOrderPaymentRequest as createOrderPaymentRequest,\n      ecomV1OrderPaymentRequest_universal_d_CreateOrderPaymentRequestOptions as CreateOrderPaymentRequestOptions,\n      ecomV1OrderPaymentRequest_universal_d_getOrderPaymentRequest as getOrderPaymentRequest,\n      ecomV1OrderPaymentRequest_universal_d_updateOrderPaymentRequest as updateOrderPaymentRequest,\n      ecomV1OrderPaymentRequest_universal_d_UpdateOrderPaymentRequest as UpdateOrderPaymentRequest,\n      ecomV1OrderPaymentRequest_universal_d_UpdateOrderPaymentRequestOptions as UpdateOrderPaymentRequestOptions,\n      ecomV1OrderPaymentRequest_universal_d_deleteOrderPaymentRequest as deleteOrderPaymentRequest,\n      ecomV1OrderPaymentRequest_universal_d_queryOrderPaymentRequests as queryOrderPaymentRequests,\n      ecomV1OrderPaymentRequest_universal_d_OrderPaymentRequestsQueryResult as OrderPaymentRequestsQueryResult,\n      ecomV1OrderPaymentRequest_universal_d_OrderPaymentRequestsQueryBuilder as OrderPaymentRequestsQueryBuilder,\n      ecomV1OrderPaymentRequest_universal_d_getOrderPaymentRequestUrl as getOrderPaymentRequestUrl,\n      updateExtendedFields$2 as updateExtendedFields,\n      UpdateExtendedFieldsOptions$2 as UpdateExtendedFieldsOptions,\n    };\n  }\n  \n  interface OrderTransactions {\n      /** Order ID. */\n      orderId?: string;\n      /** Record of payments made to the merchant. */\n      payments?: Payment[];\n      /** Record of refunds made to the buyer. */\n      refunds?: Refund[];\n  }\n  interface Payment extends PaymentPaymentDetailsOneOf {\n      /** Regular payment details. */\n      regularPaymentDetails?: RegularPaymentDetails;\n      /** Gift card payment details. */\n      giftcardPaymentDetails?: GiftCardPaymentDetails;\n      /**\n       * Membership payment details.\n       * @internal\n       */\n      membershipPaymentDetails?: MembershipPaymentDetails;\n      /**\n       * Payment ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Date and time the payment was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the payment was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Payment amount. */\n      amount?: Price$1;\n      /**\n       * Whether refunds for this payment are disabled.\n       * + `true`: This payment is not refundable.\n       * + `false`: This payment may be refunded. However, this ultimately depends on the payment provider.\n       */\n      refundDisabled?: boolean;\n  }\n  /** @oneof */\n  interface PaymentPaymentDetailsOneOf {\n      /** Regular payment details. */\n      regularPaymentDetails?: RegularPaymentDetails;\n      /** Gift card payment details. */\n      giftcardPaymentDetails?: GiftCardPaymentDetails;\n      /**\n       * Membership payment details.\n       * @internal\n       */\n      membershipPaymentDetails?: MembershipPaymentDetails;\n  }\n  interface RegularPaymentDetails extends RegularPaymentDetailsPaymentMethodDetailsOneOf {\n      /** Whether regular card used */\n      creditCardDetails?: CreditCardPaymentMethodDetails;\n      /** Wix Payments order ID. */\n      paymentOrderId?: string | null;\n      /**\n       * Payment gateway's transaction ID. This ID can be used with the Wix Payments [Transactions API](https://dev.wix.com/docs/rest/api-reference/wix-payments/transactions/introduction).\n       * This field is only returned when the value of `offline_payment` is `false`.\n       */\n      gatewayTransactionId?: string | null;\n      /**\n       * Payment method. Non-exhaustive list of supported values:\n       * + `CreditCard`, `Alipay`, `AstropayCash`, `AstropayDBT`, `AstropayMBT`, `Bitcoin`, `BitPay`, `Cash`, `ConvenienceStore`, `EPay`, `Fake`, `Giropay`, `IDeal`, `InPerson`, `Klarna`, `MercadoPago`, `Netpay`, `NordeaSolo`, `Offline`, `PagSeguro`, `PayEasy`, `PayPal`, `Paysafecard`, `Paysafecash`, `PointOfSale`, `Poli`, `Privat24`, `Przelewy24`, `RapidTransfer`, `Sepa`, `Skrill`, `Sofort`, `Trustly`, `Neteller`, `Unionpay`, `UniPay`, `Yandex`\n       */\n      paymentMethod?: string | null;\n      /** Transaction ID in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for offline payments. */\n      providerTransactionId?: string | null;\n      /** Whether the payment was made offline. For example, when using cash or when marked as paid in the Business Manager. */\n      offlinePayment?: boolean;\n      /** Payment status. */\n      status?: TransactionStatus;\n      /** Whether there is a payment agreement that allows for future charges. */\n      savedPaymentMethod?: boolean;\n      /** Authorization details. */\n      authorizationDetails?: AuthorizationDetails;\n  }\n  /** @oneof */\n  interface RegularPaymentDetailsPaymentMethodDetailsOneOf {\n      /** Whether regular card used */\n      creditCardDetails?: CreditCardPaymentMethodDetails;\n  }\n  enum TransactionStatus {\n      UNDEFINED = \"UNDEFINED\",\n      APPROVED = \"APPROVED\",\n      PENDING = \"PENDING\",\n      PENDING_MERCHANT = \"PENDING_MERCHANT\",\n      CANCELED = \"CANCELED\",\n      DECLINED = \"DECLINED\",\n      REFUNDED = \"REFUNDED\",\n      PARTIALLY_REFUNDED = \"PARTIALLY_REFUNDED\",\n      AUTHORIZED = \"AUTHORIZED\",\n      VOIDED = \"VOIDED\"\n  }\n  interface CreditCardPaymentMethodDetails {\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface AuthorizationDetails {\n      /**\n       * Whether the authorized payment is of a delayed capture.\n       * @readonly\n       */\n      delayedCapture?: boolean;\n      /** Date and time the payment was authorized in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. */\n      authorizedDate?: Date | null;\n      /**\n       * List of captures associated with payment\n       * In case of failed it can be replaced with new one with PENDING or SUCCESS statuses\n       */\n      captures?: AuthorizationCapture[];\n      /** Void associated with payment */\n      void?: AuthorizationVoid;\n      /** Scheduled action for this transaction */\n      scheduledAction?: ScheduledAction;\n  }\n  interface AuthorizationCapture {\n      /**\n       * Capture ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Status of this capture action */\n      status?: AuthorizationCaptureStatus;\n      /** Amount of this capture */\n      amount?: Price$1;\n      /** Date and time the capture was initiated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. */\n      _createdDate?: Date | null;\n      /** In case of status is FAILED may contain failure details */\n      failureDetails?: AuthorizationActionFailureDetails;\n  }\n  enum AuthorizationCaptureStatus {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Capture operation still in progress. */\n      PENDING = \"PENDING\",\n      /** Capture operation succeeded. */\n      SUCCEEDED = \"SUCCEEDED\",\n      /** Capture operation failed. */\n      FAILED = \"FAILED\"\n  }\n  interface Price$1 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface AuthorizationActionFailureDetails {\n      failureCode?: string;\n  }\n  interface AuthorizationVoid {\n      /** Status of this void action */\n      status?: AuthorizationVoidStatus;\n      /** Date and time the void was initiated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. */\n      voidedDate?: Date | null;\n      /** In case of status is FAILED may contain failure details */\n      failureDetails?: AuthorizationActionFailureDetails;\n      /** Reason of void action */\n      reason?: Reason;\n  }\n  enum AuthorizationVoidStatus {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Void operation still in progress. */\n      PENDING = \"PENDING\",\n      /** Void operation succeeded. */\n      SUCCEEDED = \"SUCCEEDED\",\n      /** Void operation failed. */\n      FAILED = \"FAILED\"\n  }\n  /** Reason the authorization was voided. */\n  enum Reason {\n      UNKNOWN_REASON = \"UNKNOWN_REASON\",\n      /** Authorization was voided by user. */\n      MANUAL = \"MANUAL\",\n      /** Authorization passed execution date. */\n      SCHEDULED = \"SCHEDULED\"\n  }\n  interface ScheduledAction {\n      /** Type of the action. */\n      actionType?: ActionType;\n      /** The date and time of the action. */\n      executionDate?: Date | null;\n  }\n  enum ActionType {\n      UNKNOWN_ACTION_TYPE = \"UNKNOWN_ACTION_TYPE\",\n      VOID = \"VOID\",\n      CAPTURE = \"CAPTURE\"\n  }\n  interface GiftCardPaymentDetails {\n      /** Gift card payment ID. */\n      giftCardPaymentId?: string;\n      /**\n       * Gift card ID.\n       * @internal\n       * @deprecated\n       */\n      giftCardId?: string;\n      /** ID of the app that created the gift card. */\n      appId?: string;\n      /**\n       * Whether the gift card is voided.\n       * @readonly\n       */\n      voided?: boolean;\n      /**\n       * Gift card obfuscated code.\n       * @internal\n       */\n      obfuscatedCode?: string | null;\n  }\n  interface MembershipPaymentDetails {\n      /** Membership ID. */\n      membershipId?: string;\n      /** ID of the line item this membership applies to. */\n      lineItemId?: string;\n      /** Payment status. */\n      status?: MembershipPaymentStatus;\n      /** Membership name. */\n      name?: MembershipName$1;\n      /** The transaction ID in the membership system. Can be used to void the transaction. */\n      externalTransactionId?: string | null;\n      /**\n       * Whether the membership is voided.\n       * @readonly\n       */\n      voided?: boolean;\n      /** ID of the application providing this payment option. */\n      providerAppId?: string;\n  }\n  enum MembershipPaymentStatus {\n      /** Payment was charged. */\n      CHARGED = \"CHARGED\",\n      /** The attempt to charge the payment failed, for example, due to lack of credits. */\n      CHARGE_FAILED = \"CHARGE_FAILED\"\n  }\n  interface MembershipName$1 {\n      /** Membership name. */\n      original?: string;\n      /** Translated membership name. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface Refund {\n      /**\n       * Refund ID.\n       * @readonly\n       */\n      _id?: string;\n      /** List of transactions. */\n      transactions?: RefundTransaction[];\n      /** Refund business details. */\n      details?: RefundDetails;\n      /**\n       * Date and time the refund was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Aggregated refund status\n       * @internal\n       * @readonly\n       */\n      summary?: AggregatedRefundSummary;\n  }\n  interface RefundTransaction {\n      /** ID of the payment associated with this refund. */\n      paymentId?: string;\n      /** Refund amount. */\n      amount?: Price$1;\n      /** Refund status. */\n      refundStatus?: RefundStatus;\n      /**\n       * Payment gateway's refund ID. This ID can be used with the Wix Payments [Transactions API](https://dev.wix.com/docs/rest/api-reference/wix-payments/transactions/introduction).\n       * This field is only returned when the value of `external_refund` is `false`.\n       */\n      gatewayRefundId?: string | null;\n      /** ID of the refund in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for external refunds. */\n      providerRefundId?: string | null;\n      /** Whether refund was made externally and manually on the payment provider's side. */\n      externalRefund?: boolean;\n  }\n  /** Refund transaction status. */\n  enum RefundStatus {\n      /** Refund was initiated on payment provider side. PENDING status was assigned by provider. */\n      PENDING = \"PENDING\",\n      /** Refund transaction succeeded. */\n      SUCCEEDED = \"SUCCEEDED\",\n      /** Refund transaction failed. */\n      FAILED = \"FAILED\",\n      /** Refund request acknowledged, and will be executed soon. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Refund was initiated on payment provider side. */\n      STARTED = \"STARTED\"\n  }\n  /** Business model of a refund request */\n  interface RefundDetails {\n      /** Order line item IDs and quantities that were refunded. */\n      items?: RefundItem[];\n      /** Whether the shipping fee was also refunded. */\n      shippingIncluded?: boolean;\n      /** Reason for the refund, provided by customer (optional). */\n      reason?: string | null;\n      /**\n       * Line items that were refunded.\n       * @internal\n       */\n      lineItems?: LineItemRefund[];\n      /**\n       * Additional fees that were refunded.\n       * @internal\n       */\n      additionalFees?: AdditionalFeeRefund[];\n      /**\n       * Shipping amount that was refunded.\n       * @internal\n       */\n      shipping?: ShippingRefund;\n  }\n  interface RefundItem {\n      /** Line item ID the refunded line item. */\n      lineItemId?: string;\n      /** Line item quantity refunded. */\n      quantity?: number;\n  }\n  interface LineItemRefund {\n      /**\n       * Line item ID.\n       * @internal\n       */\n      lineItemId?: string;\n      /**\n       * Refund quantity.\n       * @internal\n       */\n      quantity?: number;\n  }\n  interface AdditionalFeeRefund {\n      /**\n       * Additional fee ID.\n       * @internal\n       */\n      additionalFeeId?: string;\n      /**\n       * Refund amount.\n       * @internal\n       */\n      amount?: Price$1;\n  }\n  interface ShippingRefund {\n      /**\n       * Refund amount.\n       * @internal\n       */\n      amount?: Price$1;\n  }\n  interface AggregatedRefundSummary {\n      /**\n       * Total refund amount requested\n       * @internal\n       */\n      requestedRefund?: Price$1;\n      /**\n       * Pending refund amount\n       * @internal\n       */\n      pendingRefund?: Price$1;\n      /**\n       * Refunded amount: portion of requested_refund_amount that succeeded\n       * @internal\n       */\n      refunded?: Price$1;\n      /**\n       * Failed refund amount: portion of requested_refund_amount that failed\n       * @internal\n       */\n      failedRefundAmount?: Price$1;\n      /**\n       * `true`: at least one refund transaction is still in PENDING status\n       * @internal\n       */\n      pending?: boolean;\n  }\n  interface SnapshotMessage {\n      _id?: string;\n      opType?: number;\n  }\n  interface IndexingMessage {\n      _id?: string;\n      opType?: number;\n      requiredVersions?: string[];\n  }\n  interface DiffmatokyPayload$1 {\n      left?: string;\n      right?: string;\n      compareChannel?: string;\n      entityId?: string;\n      errorInformation?: ErrorInformation$1;\n      tags?: string[];\n  }\n  interface ErrorInformation$1 {\n      stackTrace?: string;\n  }\n  interface OrderRefunded {\n      /**\n       * Refund ID.\n       * @readonly\n       */\n      refundId?: string;\n      /**\n       * Refunded order data.\n       * @readonly\n       */\n      order?: Order;\n  }\n  interface Order {\n      /**\n       * Order ID (auto-generated upon order creation).\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Order number displayed in the owner's store (auto-generated).\n       * @readonly\n       */\n      number?: number;\n      /**\n       * Order creation date and time.\n       * @readonly\n       */\n      dateCreated?: Date | null;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo;\n      /** Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. */\n      currency?: string | null;\n      /** Weight unit used in this store. */\n      weightUnit?: WeightUnit$2;\n      /** Totals for order's line items. */\n      totals?: Totals;\n      /** Billing information. */\n      billingInfo?: BillingInfo;\n      /** Shipping information. */\n      shippingInfo?: ShippingInfo;\n      /** A note added by the buyer. */\n      buyerNote?: string | null;\n      /**\n       * Deprecated.\n       * @readonly\n       * @deprecated\n       */\n      read?: boolean;\n      /**\n       * Whether or not the order was archived.\n       * @readonly\n       */\n      archived?: boolean;\n      /** Current status of the payment. */\n      paymentStatus?: PaymentStatus;\n      /**\n       * Order's current fulfillment status (whether the order received a tracking number or was delivered/picked up).\n       * @readonly\n       */\n      fulfillmentStatus?: FulfillmentStatus;\n      /** Line items ordered. */\n      lineItems?: LineItem$1[];\n      /**\n       * Log of updates related to the order.\n       * @readonly\n       */\n      activities?: Activity[];\n      /** Invoice information. */\n      invoiceInfo?: V2InvoiceInfo;\n      /**\n       * Order fulfillment information.\n       * @readonly\n       */\n      fulfillments?: Fulfillment[];\n      /** Discount information. */\n      discount?: Discount;\n      /** Custom field information. */\n      customField?: CustomField;\n      /** Shopping cart ID. */\n      cartId?: string | null;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       */\n      buyerLanguage?: string | null;\n      /** Information about the sales channel that submitted this order. */\n      channelInfo?: ChannelInfo;\n      /**\n       * Identity of the order's initiator.\n       * @readonly\n       */\n      enteredBy?: EnteredBy;\n      /**\n       * Date and time of latest update.\n       * @readonly\n       */\n      lastUpdated?: Date | null;\n      /** Subscription information. */\n      subscriptionInfo?: SubscriptionInfo;\n      /**\n       * Order’s unique numeric ID.\n       * Primarily used for sorting and filtering when crawling all orders.\n       * @readonly\n       */\n      numericId?: string;\n      /**\n       * Refund information.\n       * @readonly\n       */\n      refunds?: V2Refund[];\n      /**\n       * Gift card information.\n       * @internal\n       */\n      giftCard?: GiftCard$1;\n      /**\n       * ID of the checkout associated with this order.\n       * @internal\n       */\n      checkoutId?: string | null;\n      /**\n       * Private API flag that allows using read-only \"id\" during order creation\n       * @internal\n       */\n      isInternalOrderCreate?: boolean;\n  }\n  /** Buyer Info */\n  interface BuyerInfo {\n      /** Wix customer ID */\n      _id?: string | null;\n      /**\n       * Deprecated (use identityType instead)\n       * @readonly\n       * @deprecated\n       */\n      type?: IdentityType$2;\n      /** Customer type */\n      identityType?: IdentityType$2;\n      /**\n       * Customer's first name\n       * @readonly\n       */\n      firstName?: string;\n      /**\n       * Customer's last name\n       * @readonly\n       */\n      lastName?: string;\n      /**\n       * Customer's phone number\n       * @readonly\n       */\n      phone?: string | null;\n      /**\n       * Customer's email address\n       * @readonly\n       */\n      email?: string;\n      /**\n       * Contact Id. needed for cases where the user is the buyer and so it doesn't exist on the buyer info\n       * @internal\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  enum IdentityType$2 {\n      UNSPECIFIED_IDENTITY_TYPE = \"UNSPECIFIED_IDENTITY_TYPE\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Contact */\n      CONTACT = \"CONTACT\"\n  }\n  enum WeightUnit$2 {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface Totals {\n      /** Subtotal of all the line items, before tax. */\n      subtotal?: string;\n      /** Total shipping price, before tax. */\n      shipping?: string | null;\n      /** Total tax. */\n      tax?: string | null;\n      /** Total calculated discount value. */\n      discount?: string | null;\n      /** Total price charged. */\n      total?: string;\n      /**\n       * Total items weight.\n       * @readonly\n       */\n      weight?: string;\n      /**\n       * Total number of line items.\n       * @readonly\n       */\n      quantity?: number;\n      /**\n       * Total refund.\n       * @readonly\n       */\n      refund?: string | null;\n      /** Total calculated gift card value. */\n      giftCard?: string | null;\n  }\n  interface BillingInfo {\n      /** Payment method used for this order */\n      paymentMethod?: string | null;\n      /**\n       * Deprecated (use paymentProviderTransactionId instead)\n       * @readonly\n       * @deprecated\n       */\n      externalTransactionId?: string | null;\n      /** Transaction ID from payment provider (e.g., PayPal, Square, Stripe) transaction ID */\n      paymentProviderTransactionId?: string | null;\n      /** Transaction ID from payment gateway (e.g., Wix Payments) */\n      paymentGatewayTransactionId?: string | null;\n      /** Full billing address */\n      address?: Address$4;\n      /**\n       * Payment date\n       * @readonly\n       */\n      paidDate?: Date | null;\n      /** Whether order can be refunded by payment provider (manually or automatic) */\n      refundableByPaymentProvider?: boolean | null;\n  }\n  interface Address$4 extends AddressAddressLine1OptionsOneOf {\n      /** Address line 1 (free text) */\n      addressLine1?: string;\n      /** Address line 1 (street) */\n      street?: Street;\n      /** Addressee name */\n      fullName?: FullName;\n      /** Country code (2 letters) */\n      country?: string | null;\n      /** State or district */\n      subdivision?: string | null;\n      /** City name */\n      city?: string | null;\n      /** ZIP/postal code */\n      zipCode?: string | null;\n      /** Phone number */\n      phone?: string | null;\n      /** Company name */\n      company?: string | null;\n      /** Email address */\n      email?: string | null;\n      /** address line */\n      addressLine2?: string | null;\n      /** Tax information (for Brazil only) */\n      vatId?: VatId$1;\n  }\n  /** @oneof */\n  interface AddressAddressLine1OptionsOneOf {\n      /** Address line 1 (free text) */\n      addressLine1?: string;\n      /** Address line 1 (street) */\n      street?: Street;\n  }\n  interface FullName {\n      /** Customer's first name */\n      firstName?: string;\n      /** Customer's last name */\n      lastName?: string;\n  }\n  interface Street {\n      /** Street number */\n      number?: string;\n      /** Street name */\n      name?: string;\n  }\n  interface VatId$1 {\n      /** Customer's tax ID. */\n      number?: string;\n      /**\n       * Tax type.\n       * + `CPF`: For individual tax payers.\n       * + `CNPJ`: For corporations.\n       */\n      type?: VatType$1;\n  }\n  /** Brazilian tax info types */\n  enum VatType$1 {\n      /** When the tax info type can't be classified, due to an error */\n      UNSPECIFIED_TAX_TYPE = \"UNSPECIFIED_TAX_TYPE\",\n      /** CPF - for individual tax payers */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface ShippingInfo extends ShippingInfoDetailsOneOf {\n      /** Shipment details (when this object describes shipment). */\n      shipmentDetails?: ShipmentDetails;\n      /** Pickup details (when this object describes pickup). */\n      pickupDetails?: PickupDetails$2;\n      /** Shipping option name. */\n      deliveryOption?: string;\n      /** Shipping option delivery time. */\n      estimatedDeliveryTime?: string | null;\n      /**\n       * Deprecated - Latest expected delivery date.\n       * @deprecated\n       */\n      deliverByDate?: Date | null;\n      /** Shipping region. */\n      shippingRegion?: string | null;\n      /**\n       * Unique code of provided shipping option. For example, `\"usps_std_overnight\"`.\n       * @readonly\n       */\n      code?: string | null;\n  }\n  /** @oneof */\n  interface ShippingInfoDetailsOneOf {\n      /** Shipment details (when this object describes shipment). */\n      shipmentDetails?: ShipmentDetails;\n      /** Pickup details (when this object describes pickup). */\n      pickupDetails?: PickupDetails$2;\n  }\n  interface ShipmentDetails {\n      /** Shipping destination address. */\n      address?: Address$4;\n      /**\n       * Deprecated (use fulfillments instead).\n       * @readonly\n       * @deprecated\n       */\n      trackingInfo?: TrackingInfo;\n      /** Discount applied for shipping. */\n      discount?: string | null;\n      /** Tax applied for shipping. */\n      tax?: string | null;\n      /** Price data. */\n      priceData?: ShippingPriceData;\n  }\n  interface TrackingInfo {\n      /**\n       * Tracking number\n       * @readonly\n       */\n      trackingNumber?: string | null;\n      /**\n       * Shipping provider\n       * @readonly\n       */\n      shippingProvider?: string | null;\n      /**\n       * Tracking link\n       * @readonly\n       */\n      trackingLink?: string | null;\n  }\n  interface ShippingPriceData {\n      /** Whether tax is included in the price. */\n      taxIncludedInPrice?: boolean;\n      /** Shipping price. */\n      price?: string | null;\n  }\n  interface PickupDetails$2 {\n      /** Pickup address. */\n      pickupAddress?: PickupAddress;\n      /**\n       * Deprecated (use billingInfo instead).\n       * @readonly\n       * @deprecated\n       */\n      buyerDetails?: BuyerDetails;\n      /** Store owner's pickup instructions. */\n      pickupInstructions?: string | null;\n  }\n  interface PickupAddress {\n      /** Country code (3 letters) */\n      country?: string;\n      /** State/District */\n      subdivision?: string | null;\n      /** Address */\n      addressLine1?: string;\n      /** City */\n      city?: string;\n      /** ZIP/postal code */\n      zipCode?: string;\n  }\n  interface BuyerDetails {\n      /** Addressee name */\n      fullName?: FullName;\n      /** Email address */\n      email?: string;\n      /** Phone number */\n      phone?: string;\n  }\n  /** This might be extended in the future with pending orders statuses */\n  enum PaymentStatus {\n      /** Payment status can't be classified, due to an error */\n      UNSPECIFIED_PAYMENT_STATUS = \"UNSPECIFIED_PAYMENT_STATUS\",\n      /** Order is pending response from the payment provider */\n      PENDING = \"PENDING\",\n      /** Order is marked as not paid, and can be marked as paid later on. This is relevant for POS and offline orders */\n      NOT_PAID = \"NOT_PAID\",\n      /** The order is marked as paid */\n      PAID = \"PAID\",\n      /** Order was refunded, refund amount less than order total price */\n      PARTIALLY_REFUNDED = \"PARTIALLY_REFUNDED\",\n      /** Full order total price was refunded */\n      FULLY_REFUNDED = \"FULLY_REFUNDED\",\n      /** At least one payment was received and approved, covering less than total price amount */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\"\n  }\n  enum FulfillmentStatus {\n      /** None of the order items are fulfilled */\n      NOT_FULFILLED = \"NOT_FULFILLED\",\n      /**\n       * All of the order items are fulfilled\n       * Orders without shipping info are fulfilled automatically\n       */\n      FULFILLED = \"FULFILLED\",\n      /** Order is canceled */\n      CANCELED = \"CANCELED\",\n      /** Some, but not all of the order items are fulfilled */\n      PARTIALLY_FULFILLED = \"PARTIALLY_FULFILLED\"\n  }\n  interface LineItem$1 {\n      /**\n       * Line item ID (auto-generated, stable within this order only)\n       * @readonly\n       */\n      index?: number | null;\n      /** Line item quantity */\n      quantity?: number;\n      /**\n       * Deprecated (use priceData instead)\n       * @readonly\n       * @deprecated\n       */\n      price?: string | null;\n      /** Line item name */\n      name?: string | null;\n      /** Product name, translated into the customer's language */\n      translatedName?: string | null;\n      /** Line item product ID (optional for POS orders) */\n      productId?: string | null;\n      /**\n       * Deprecated (use priceData instead)\n       * @readonly\n       * @deprecated\n       */\n      totalPrice?: string | null;\n      /** Line item type (may be extended) */\n      lineItemType?: LineItemType;\n      /** Line item options ordered */\n      options?: OptionSelection[];\n      /** Line item custom text field entry */\n      customTextFields?: CustomTextFieldSelection[];\n      /** Line item weight */\n      weight?: string | null;\n      /** Primary media for preview of the line item */\n      mediaItem?: MediaItem;\n      /** Line item SKU */\n      sku?: string | null;\n      /** Line item notes */\n      notes?: string | null;\n      /** Line item variantId (from Stores Catalog) */\n      variantId?: string | null;\n      /** Line item fulfillerId from stores fulfillers. No value equals self fulfilled */\n      fulfillerId?: string | null;\n      /** Discount applied for this line item */\n      discount?: string | null;\n      /** Tax applied for this line item */\n      tax?: string | null;\n      /**\n       * Deprecated (use priceData instead)\n       * @readonly\n       * @deprecated\n       */\n      taxIncludedInPrice?: boolean;\n      /** Tax group ID */\n      taxGroupId?: string | null;\n      /** Price data */\n      priceData?: LineItemPriceData;\n      /**\n       * Line item refundedQuantity (from refund). No value means not refunded. Shows the number of line items that were refunded\n       * @internal\n       * @readonly\n       */\n      refundedQuantity?: number | null;\n      /**\n       * Digital file identifier, relevant only for items with type DIGITAL\n       * @internal\n       */\n      digitalFile?: DigitalFile;\n  }\n  enum LineItemType {\n      /** Line item type can't be classified, due to an error */\n      UNSPECIFIED_LINE_ITEM_TYPE = \"UNSPECIFIED_LINE_ITEM_TYPE\",\n      /** Physical item type */\n      PHYSICAL = \"PHYSICAL\",\n      /** Digital item type */\n      DIGITAL = \"DIGITAL\",\n      /** Custom item price */\n      CUSTOM_AMOUNT_ITEM = \"CUSTOM_AMOUNT_ITEM\"\n  }\n  interface OptionSelection {\n      /** Option name */\n      option?: string;\n      /** Selected choice for this option */\n      selection?: string;\n  }\n  interface CustomTextFieldSelection {\n      /** Custom text field name */\n      title?: string;\n      /** Custom text field value */\n      value?: string;\n  }\n  interface MediaItem {\n      /**\n       * Media type\n       * @readonly\n       */\n      mediaType?: MediaItemType;\n      /**\n       * Media URL\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Media item width\n       * @readonly\n       */\n      width?: number;\n      /**\n       * Media item height\n       * @readonly\n       */\n      height?: number;\n      /**\n       * Deprecated\n       * @deprecated\n       */\n      mediaId?: string | null;\n      /** Media ID (for media items previously saved in Wix Media) */\n      _id?: string | null;\n      /** Media external URL */\n      externalImageUrl?: string | null;\n      /** Alternative text for presentation when media cannot be displayed */\n      altText?: string | null;\n  }\n  enum MediaItemType {\n      /** Media item type can't be classified, due to an error */\n      UNSPECIFIED_MEDIA_TYPE_ITEM = \"UNSPECIFIED_MEDIA_TYPE_ITEM\",\n      /** Image item type */\n      IMAGE = \"IMAGE\"\n  }\n  interface LineItemPriceData {\n      /** Whether tax is included in the price set for this line item */\n      taxIncludedInPrice?: boolean;\n      /** Line item price */\n      price?: string;\n      /**\n       * Total price charged to the customer (per line item) after computation of quantity and discount\n       * @readonly\n       */\n      totalPrice?: string | null;\n  }\n  interface DigitalFile {\n      /** id of the secure file in media */\n      fileId?: string;\n  }\n  interface Activity {\n      /**\n       * Activity item type\n       * @readonly\n       */\n      type?: ActivityType;\n      /**\n       * Activity item author\n       * @readonly\n       */\n      author?: string | null;\n      /**\n       * Comment added to activity item\n       * @readonly\n       */\n      message?: string | null;\n      /**\n       * Activity item timestamp\n       * @readonly\n       */\n      timestamp?: Date | null;\n  }\n  enum ActivityType {\n      /** Activity item type can't be classified, due to an error */\n      UNSPECIFIED_ORDER_HISTORY_ITEM_TYPE = \"UNSPECIFIED_ORDER_HISTORY_ITEM_TYPE\",\n      /** Store owner added a comment */\n      MERCHANT_COMMENT = \"MERCHANT_COMMENT\",\n      /** Order placed */\n      ORDER_PLACED = \"ORDER_PLACED\",\n      /** Order marked as paid, either by the store owner (for offline orders), or when an online transaction was confirmed */\n      ORDER_PAID = \"ORDER_PAID\",\n      /** Order shipping status set as fulfilled */\n      ORDER_FULFILLED = \"ORDER_FULFILLED\",\n      /** Order shipping status set as not fulfilled */\n      ORDER_NOT_FULFILLED = \"ORDER_NOT_FULFILLED\",\n      /** A download link was sent (relevant for orders with digital line items) */\n      DOWNLOAD_LINK_SENT = \"DOWNLOAD_LINK_SENT\",\n      /** An email notification for pickup was sent */\n      PICKUP_READY_EMAIL_SENT = \"PICKUP_READY_EMAIL_SENT\",\n      /** Shipping tracking number was set */\n      TRACKING_NUMBER_ADDED = \"TRACKING_NUMBER_ADDED\",\n      /** Shipping tracking number was edited */\n      TRACKING_NUMBER_EDITED = \"TRACKING_NUMBER_EDITED\",\n      /** Shipping tracking link was set */\n      TRACKING_LINK_WAS_SET = \"TRACKING_LINK_WAS_SET\",\n      /** An email confirmation of order shipment was sent */\n      SHIPPING_CONFIRMATION_EMAIL_SENT = \"SHIPPING_CONFIRMATION_EMAIL_SENT\",\n      /** Invoice was set in the order */\n      INVOICE_WAS_SET = \"INVOICE_WAS_SET\",\n      /** Invoice was removed from the order */\n      INVOICE_WAS_REMOVED = \"INVOICE_WAS_REMOVED\",\n      /** Invoice was sent to customer via email */\n      INVOICE_WAS_SENT = \"INVOICE_WAS_SENT\",\n      /** Email was sent to fulfiller */\n      FULFILLER_EMAIL_SENT = \"FULFILLER_EMAIL_SENT\",\n      /** Shipping address was updated */\n      SHIPPING_ADDRESS_EDITED = \"SHIPPING_ADDRESS_EDITED\",\n      /** Order email was updated */\n      EMAIL_EDITED = \"EMAIL_EDITED\",\n      /** Order partially paid. During the checkout for orders with deposit items. */\n      ORDER_PARTIALLY_PAID = \"ORDER_PARTIALLY_PAID\"\n  }\n  interface V2InvoiceInfo {\n      /** Invoice ID */\n      _id?: string;\n      /** Invoice source */\n      source?: InvoiceSource;\n  }\n  enum InvoiceSource {\n      /** Invoice source can't be classified, due to an error */\n      UNSPECIFIED_INVOICE_SOURCE = \"UNSPECIFIED_INVOICE_SOURCE\",\n      /** Invoice created using the Invoices API */\n      WIX = \"WIX\"\n  }\n  interface Fulfillment {\n      /**\n       * Fulfillment ID (auto generated upon fulfillment creation).\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Fulfillment creation date and time.\n       * @readonly\n       */\n      dateCreated?: Date | null;\n      /** Information about the line items in the fulfilled order. */\n      lineItems?: FulfillmentLineItem[];\n      /** Tracking information. */\n      trackingInfo?: FulfillmentTrackingInfo;\n  }\n  interface FulfillmentLineItem {\n      /** Line item ID (mirrors the line item index of the order). */\n      index?: number;\n      /**\n       * Line item quantity.\n       * On creation, if this parameter isn't passed, the new fulfillment will automatically include all items of this line item that have not already been linked to a fulfillment.\n       * If the order does not have the requested quantity of line items available to add to this fulfillment, the fulfillment will not be created and an error will be returned.\n       * This property will always have a value when returned.\n       */\n      quantity?: number | null;\n  }\n  interface FulfillmentTrackingInfo {\n      /** Tracking number. */\n      trackingNumber?: string;\n      /**\n       * Shipping provider. Using the following shipping providers will allow for autofilling the tracking link:\n       * * `fedex`\n       * * `ups`\n       * * `usps`\n       * * `dhl`\n       * * `canadaPost`\n       */\n      shippingProvider?: string;\n      /** Tracking link - autofilled if using a predefined shipping provider, otherwise provided on creation. */\n      trackingLink?: string | null;\n  }\n  interface Discount {\n      /**\n       * Deprecated (use Totals.discount instead)\n       * @readonly\n       * @deprecated\n       */\n      value?: string;\n      /** Applied coupon */\n      appliedCoupon?: AppliedCoupon;\n  }\n  interface AppliedCoupon {\n      /** Coupon ID */\n      couponId?: string;\n      /** Coupon name */\n      name?: string;\n      /** Coupon code */\n      code?: string;\n  }\n  /** Custom field */\n  interface CustomField {\n      /** Free text that the customer entered in the custom field during the checkout process */\n      value?: string;\n      /** Title for the custom field */\n      title?: string;\n      /** The title translated according to the buyer language */\n      translatedTitle?: string;\n  }\n  interface ChannelInfo {\n      /** Sales channel that submitted the order */\n      type?: ChannelType;\n      /** Reference to an order ID from an external system, as defined in channelInfo (e.g., eBay or Amazon) */\n      externalOrderId?: string | null;\n      /** URL to the order in the external system, as defined in channelInfo (e.g., eBay or Amazon) */\n      externalOrderUrl?: string | null;\n  }\n  enum ChannelType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      WEB = \"WEB\",\n      POS = \"POS\",\n      EBAY = \"EBAY\",\n      AMAZON = \"AMAZON\",\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      WIX_INVOICES = \"WIX_INVOICES\",\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      WISH = \"WISH\",\n      CLASS_PASS = \"CLASS_PASS\",\n      GLOBAL_E = \"GLOBAL_E\",\n      FACEBOOK = \"FACEBOOK\",\n      ETSY = \"ETSY\",\n      TIKTOK = \"TIKTOK\",\n      FAIRE_COM = \"FAIRE_COM\"\n  }\n  interface EnteredBy {\n      _id?: string;\n      identityType?: EnteredByIdentityType;\n  }\n  enum EnteredByIdentityType {\n      USER = \"USER\",\n      MEMBER = \"MEMBER\",\n      CONTACT = \"CONTACT\",\n      APP = \"APP\"\n  }\n  interface SubscriptionInfo {\n      /** Subscription ID. */\n      _id?: string | null;\n      /** Current cycle number. For example, if the subscription is in the 3rd month of a 4-month subscription, the value will be `3`. */\n      cycleNumber?: number;\n      /** Subscription settings. */\n      subscriptionSettings?: SubscriptionSettings$1;\n      /** Subscription options info. */\n      subscriptionOptionInfo?: SubscriptionOptionInfo;\n  }\n  interface SubscriptionSettings$1 {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency$1;\n      /**\n       * Interval of recurring payment (optional: default value 1 will be used if not provided)\n       * @internal\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency$1 {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface SubscriptionOptionInfo {\n      /**\n       * Subscription option ID.\n       * @internal\n       */\n      _id?: string | null;\n      /** Subscription option title. */\n      title?: string;\n      /** Subscription option description. */\n      description?: string | null;\n  }\n  interface V2Refund {\n      /** Refund created timestamp. */\n      dateCreated?: Date | null;\n      /** Refund amount. */\n      amount?: string;\n      /** Reason for refund, given by user (optional). */\n      reason?: string | null;\n      /**\n       * Deprecated. Use externalRefund.\n       * @internal\n       * @deprecated\n       */\n      isManual?: boolean;\n      /**\n       * Deprecated. Use payment_provider_transaction_id.\n       * @internal\n       * @deprecated\n       */\n      providerTransactionId?: string | null;\n      /**\n       * Deprecated. Use id.\n       * @internal\n       * @deprecated\n       */\n      refundId?: string;\n      /** Payment provider transaction ID. Used to find refund transaction info on the payment provider's side. */\n      paymentProviderTransactionId?: string | null;\n      /** Refund ID. */\n      _id?: string;\n      /** Whether refund was made externally (on the payment provider's side). */\n      externalRefund?: boolean;\n  }\n  interface GiftCard$1 {\n      transactionId?: string;\n      /**\n       * giftcard internal ID\n       * @deprecated giftcard internal ID\n       * @targetRemovalDate 2024-12-31\n       */\n      _id?: string;\n      /** giftcard provider appid */\n      providerId?: string;\n      /** giftcard amount */\n      amount?: string;\n  }\n  /** Triggered when a payment is updated. */\n  interface PaymentsUpdated {\n      /** Updated order transactions. */\n      orderTransactions?: OrderTransactions;\n      /** List of IDs of the updated payments. */\n      paymentIds?: string[];\n      /** List of IDs of the updated refunds. */\n      refundIds?: string[];\n  }\n  /** Triggered when a refund is created. */\n  interface RefundCreated {\n      /** Updated order transactions. */\n      orderTransactions?: OrderTransactions;\n      /** ID of the created refund. */\n      refundId?: string;\n      /** Inventory restock details as part of this refund.. */\n      restockInfo?: RestockInfo;\n      /** Whether to send a refund confirmation email to the customer. */\n      sendOrderRefundedEmail?: boolean;\n      /** Custom message added to the refund confirmation email. */\n      customMessage?: string | null;\n      /** Refunded line items and quantities that are part of the created refund. */\n      refundItems?: RefundItem[];\n  }\n  interface RestockInfo {\n      /** Restock type. */\n      type?: RestockType;\n      /**\n       * Deprecated, use items instead\n       * @internal\n       * @deprecated\n       */\n      lineItemIds?: string[];\n      /** Restocked line items and quantities. Only relevant for `{\"type\": \"SOME_ITEMS\"}`. */\n      items?: RestockItem[];\n  }\n  enum RestockType {\n      NO_ITEMS = \"NO_ITEMS\",\n      ALL_ITEMS = \"ALL_ITEMS\",\n      SOME_ITEMS = \"SOME_ITEMS\"\n  }\n  interface RestockItem {\n      /** ID of the line item being restocked. */\n      lineItemId?: string;\n      /** Line item quantity being restocked. */\n      quantity?: number;\n  }\n  interface RefundCompleted {\n      /** Order ID. */\n      orderId?: string;\n      /** Completed refund. */\n      refund?: Refund;\n      /** Refund side effects. */\n      sideEffects?: RefundSideEffects;\n      /** Order transactions after refund is completed. */\n      orderTransactions?: OrderTransactions;\n  }\n  interface RefundSideEffects {\n      /** Inventory restock details as part of this refund. */\n      restockInfo?: RestockInfo;\n      /** Whether to send a refund confirmation email to the customer. */\n      sendOrderRefundedEmail?: boolean;\n      /** Custom message added to the refund confirmation email. */\n      customMessage?: string | null;\n  }\n  interface ListTransactionsForSingleOrderRequest {\n      /** Order ID. */\n      orderId: string;\n  }\n  interface ListTransactionsForSingleOrderResponse {\n      /** Order ID and its associated transactions. */\n      orderTransactions?: OrderTransactions;\n  }\n  interface ListTransactionsForMultipleOrdersRequest {\n      /** Order IDs for which to retrieve transactions. */\n      orderIds: string[];\n  }\n  interface ListTransactionsForMultipleOrdersResponse {\n      /** List of order IDs and their associated transactions. */\n      orderTransactions?: OrderTransactions[];\n  }\n  interface AddPaymentsRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Payments to be added to order. */\n      payments: Payment[];\n  }\n  interface AddPaymentsResponse {\n      /** Order ID and its associated transactions. */\n      orderTransactions?: OrderTransactions;\n      /** IDs of added order payments. */\n      paymentsIds?: string[];\n  }\n  interface AddRefundRequest {\n      /** Order ID this refunds related to */\n      orderId: string;\n      /** Refund with refund transactions to be added to order. */\n      refund: Refund;\n      /** Side effect details related to refund */\n      sideEffects?: RefundSideEffects;\n  }\n  interface AddRefundResponse {\n      /** Order ID and its associated transactions. */\n      orderTransactions?: OrderTransactions;\n      /** Created refund ID */\n      refundId?: string;\n  }\n  interface UpdatePaymentStatusRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Payment ID. */\n      paymentId: string;\n      /** Payment status. */\n      status?: TransactionStatus;\n      /**\n       * *TBD** NOT IMPLEMENTED\n       * Status update date\n       * When defined -> the update will be applied only if it's newer than existing one, otherwise will throw 409\n       * Not defined -> apply the update without any verification.\n       * @internal\n       */\n      statusUpdatedDate?: Date | null;\n  }\n  interface UpdatePaymentStatusResponse {\n      /** Order ID and its associated transactions after update. */\n      orderTransactions?: OrderTransactions;\n  }\n  interface BulkUpdatePaymentStatusesRequest {\n      /** Order and payment IDs for which to update payment status. */\n      paymentAndOrderIds: PaymentAndOrderId[];\n      /** Whether to return the full payment entity (`results.item`) in the response. */\n      returnFullEntity?: boolean;\n      /** Payment status. */\n      status?: TransactionStatus;\n      /**\n       * *TBD** NOT IMPLEMENTED\n       * Status update date\n       * When defined -> the update will be applied only if it's newer than existing one, otherwise will throw 409\n       * Not defined -> apply the update without any verification.\n       * @internal\n       */\n      statusUpdatedDate?: Date | null;\n  }\n  interface PaymentAndOrderId {\n      /** Order ID. */\n      orderId?: string;\n      /**\n       * Payment ID.\n       * todo: remove comment once UI will use BulkMarkOrderAsPaid\n       */\n      paymentId?: string;\n  }\n  interface BulkUpdatePaymentStatusesResponse {\n      /** Bulk operation results. */\n      results?: BulkPaymentResult[];\n      /** Bulk operation metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkPaymentResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Updated payment. Returned if `return_full_entity` set to `true`. */\n      item?: Payment;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$3;\n  }\n  interface ApplicationError$3 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface UpdateRefundRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Refund with updated field values. */\n      refund: Refund;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateRefundResponse {\n      /** Refund after update. */\n      refund?: Refund;\n      /** Order transactions after update. */\n      orderTransactions?: OrderTransactions;\n  }\n  interface UpdateRefundTransactionRequest {\n      /**\n       * Order ID.\n       * @internal\n       */\n      orderId: string;\n      /**\n       * Payment ID.\n       * @internal\n       */\n      refundId: string;\n      /**\n       * Updated refund transaction\n       * @internal\n       */\n      transaction: RefundTransaction;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateRefundTransactionResponse {\n      /**\n       * OrderTransactions with updated refund transaction\n       * @internal\n       */\n      orderTransactions?: OrderTransactions;\n  }\n  interface UpdatePaymentsRequest {\n      /**\n       * Order ID.\n       * @internal\n       */\n      orderId: string;\n      /**\n       * Payments to be updated\n       * @internal\n       */\n      payments: MaskedPayment[];\n  }\n  interface MaskedPayment {\n      /**\n       * Updated payment\n       * @internal\n       */\n      payment?: Payment;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Status update date\n       * When defined -> the update will be applied only if it's newer than existing one, otherwise will throw error\n       * Not defined -> apply the update without any verification.\n       * @internal\n       */\n      statusUpdatedDate?: Date | null;\n  }\n  interface UpdatePaymentsResponse {\n      /**\n       * OrderTransactions with updated payments\n       * @internal\n       */\n      orderTransactions?: OrderTransactions;\n  }\n  interface QueryOrderTransactionsRequest {\n      /**\n       * Query options.\n       * @internal\n       */\n      query?: CursorQuery$3;\n  }\n  interface CursorQuery$3 extends CursorQueryPagingMethodOneOf$3 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$5[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$3 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n  }\n  interface Sorting$5 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$5;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$5 {\n      /** Ascending order. */\n      ASC = \"ASC\",\n      /** Descending order. */\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$5 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryOrderTransactionsResponse {\n      /**\n       * Order transactions.\n       * @internal\n       */\n      orderTransactions?: OrderTransactions[];\n      /**\n       * Details on the paged set of results returned.\n       * @internal\n       */\n      metadata?: CursorPagingMetadata$4;\n  }\n  interface CursorPagingMetadata$4 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$5;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$5 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface TriggerRefundRequest {\n      /** The order this refund related to */\n      orderId: string;\n      /**\n       * Refund operations information\n       * Currently, only *one* payment refund is supported per request\n       */\n      payments: PaymentRefund[];\n      /** Business model of a refund */\n      details?: RefundDetails;\n      /** How to restock items as part of this refund */\n      restockInfo?: RestockInfo;\n      /** Should send a confirmation mail to the customer */\n      sendOrderRefundedEmail?: boolean;\n      /** Personal note added to the email */\n      customMessage?: string | null;\n  }\n  interface PaymentRefund {\n      /** Specific payment within the order to refund */\n      paymentId?: string;\n      /** Refund amount. Not relevant for membership and gift card refunds. */\n      amount?: Price$1;\n      /**\n       * Whether refund is made externally and manually (on the payment provider's side)\n       * When false (default), the payment gateway will be called in order to make an actual refund, and then the payment will be marked as refunded.\n       * When true, the payment will only be *marked* as refunded, and no actual refund will be performed.\n       */\n      externalRefund?: boolean;\n      /**\n       * Gateway refund id. When param is present, new refund is not created.\n       * Instead if order has a refund transaction with given gateway refund id, this refund will be updated with details from request,\n       * and all side effects from request will be executed.\n       * @internal\n       */\n      gatewayRefundId?: string | null;\n  }\n  interface TriggerRefundResponse {\n      /** All order's transactions after the refunds were added */\n      orderTransactions?: OrderTransactions;\n      /** Created refund ID */\n      refundId?: string;\n      /**\n       * Payment ID's that the refund execution had failed for\n       * @internal\n       * @deprecated\n       */\n      failedPaymentIds?: string[];\n  }\n  interface CalculateRefundRequest {\n      /** Order ID */\n      orderId: string;\n      /** Refunded line items and quantity */\n      refundItems?: CalculateRefundItemRequest[];\n      /** Should include shipping in refund calculation */\n      refundShipping?: boolean;\n  }\n  interface CalculateRefundItemRequest {\n      /** ID of the line item being refunded */\n      lineItemId?: string;\n      /** How much of that line item is being refunded */\n      quantity?: number;\n      /** Should this item be restocked (used for validation purposes) */\n      restock?: boolean;\n  }\n  interface CalculateRefundResponse {\n      /** Total refundable amount */\n      total?: string;\n      /** Tax cost of the order */\n      tax?: string;\n      /** Discount given for this order */\n      discount?: string;\n      /** Total cost of the order (without tax) */\n      subtotal?: string;\n      /** Previous refund given on that order */\n      previouslyRefundedAmount?: string | null;\n      /** The refundable items of that order */\n      items?: CalculateRefundItemResponse[];\n  }\n  interface CalculateRefundItemResponse {\n      /** Line item ID */\n      lineItemId?: string;\n      /** The line item's price */\n      lineItemPrice?: number;\n  }\n  interface GetRefundabilityStatusRequest {\n      /** Order ID. */\n      orderId: string;\n  }\n  interface GetRefundabilityStatusResponse {\n      /** Refundability details. */\n      refundabilities?: Refundability[];\n      /** Whether the order supports refunding per item. */\n      refundablePerItem?: boolean;\n  }\n  interface Refundability extends RefundabilityAdditionalRefundabilityInfoOneOf {\n      /** Reason why payment is not refundable. */\n      nonRefundableReason?: NonRefundableReason;\n      /** Reason why payment is only refundable manually. */\n      manuallyRefundableReason?: ManuallyRefundableReason;\n      /** Payment ID. */\n      paymentId?: string;\n      /** Payment refundability status. */\n      refundabilityStatus?: RefundableStatus;\n      /** Link to payment provider dashboard. */\n      providerLink?: string | null;\n  }\n  /** @oneof */\n  interface RefundabilityAdditionalRefundabilityInfoOneOf {\n      /** Reason why payment is not refundable. */\n      nonRefundableReason?: NonRefundableReason;\n      /** Reason why payment is only refundable manually. */\n      manuallyRefundableReason?: ManuallyRefundableReason;\n  }\n  enum RefundableStatus {\n      /** Not refundable. */\n      NOT_REFUNDABLE = \"NOT_REFUNDABLE\",\n      /** Refundable manually. */\n      MANUAL = \"MANUAL\",\n      /** Refundable. */\n      REFUNDABLE = \"REFUNDABLE\"\n  }\n  enum NonRefundableReason {\n      /** No reason. */\n      NONE = \"NONE\",\n      /** Payment already refunded. */\n      ALREADY_REFUNDED = \"ALREADY_REFUNDED\",\n      /** Payment provider is down. */\n      PROVIDER_IS_DOWN = \"PROVIDER_IS_DOWN\",\n      /** Internal error occurred. */\n      INTERNAL_ERROR = \"INTERNAL_ERROR\",\n      /** Payment not made. */\n      NOT_PAID = \"NOT_PAID\",\n      /** Access denied. */\n      ACCESS_DENIED = \"ACCESS_DENIED\",\n      /** Payment amount is zero. */\n      ZERO_PRICE = \"ZERO_PRICE\",\n      /** Disabled by provider. */\n      DISABLED_BY_PROVIDER = \"DISABLED_BY_PROVIDER\",\n      /** Payment partially paid. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      /** Deposit for online item. */\n      DEPOSIT_ONLINE_ITEM = \"DEPOSIT_ONLINE_ITEM\",\n      /** Refund is pending. */\n      PENDING_REFUND = \"PENDING_REFUND\",\n      /** Action forbidden. */\n      FORBIDDEN = \"FORBIDDEN\"\n  }\n  enum ManuallyRefundableReason {\n      /** Payment expired. */\n      EXPIRED = \"EXPIRED\",\n      /** Payment method not supported. */\n      NOT_SUPPORTED = \"NOT_SUPPORTED\",\n      /** Payment not found. */\n      NOT_FOUND = \"NOT_FOUND\",\n      /** Payment made offline. */\n      OFFLINE = \"OFFLINE\"\n  }\n  interface ListInvoicesForSingleOrderRequest {\n      /** Order ID. */\n      orderId: string;\n  }\n  interface ListInvoicesForSingleOrderResponse {\n      /** List of invoices. */\n      invoices?: InvoiceInfo[];\n  }\n  interface InvoiceInfo {\n      /** Invoice ID. */\n      _id?: string;\n      /** ID of the app that set the invoice. */\n      appId?: string;\n      /**\n       * Invoice URL.\n       * @deprecated\n       */\n      url?: string | null;\n      /**\n       * Invoice creation date and time.\n       * @deprecated\n       */\n      _createdDate?: Date | null;\n  }\n  interface ListInvoicesForMultipleOrdersRequest {\n      /** Order IDs for which to retrieve invoices. */\n      orderIds: string[];\n  }\n  interface ListInvoicesForMultipleOrdersResponse {\n      /** List of order IDs and their associated invoices. */\n      invoicesForOrder?: InvoicesForOrder[];\n  }\n  interface InvoicesForOrder {\n      /** Order ID. */\n      orderId?: string;\n      /** Invoices info. */\n      invoicesInfo?: InvoiceInfo[];\n  }\n  interface GenerateInvoiceRequest {\n      /** Order ID. */\n      orderId: string;\n  }\n  interface GenerateInvoiceResponse {\n      /** Invoice ID. */\n      invoiceId?: string;\n  }\n  interface BulkGenerateInvoicesRequest {\n      /** Order IDs. */\n      orderIds: string[];\n  }\n  interface BulkGenerateInvoicesResponse {\n      results?: BulkInvoiceResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkInvoiceResult {\n      itemMetadata?: ItemMetadata;\n      item?: InvoiceForOrder;\n  }\n  interface InvoiceForOrder {\n      /** Order ID. */\n      orderId?: string;\n      /** Invoice ID. */\n      invoiceId?: string;\n  }\n  interface AddInvoiceToOrderRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Invoice info. */\n      invoiceInfo: InvoiceInfo;\n  }\n  interface AddInvoiceToOrderResponse {\n      /** List of order invoices. */\n      orderInvoices?: InvoiceInfo[];\n  }\n  interface DomainEvent$7 extends DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n  }\n  interface EntityCreatedEvent$7 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$7;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$7 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$7 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$7 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$7 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$6 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$7;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$7 extends IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$6;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$6 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves information about payments and refunds associated with a specified order.\n   *\n   *\n   * The `listTransactionsForSingleOrder()` function returns a Promise that resolves when the specified order's transaction records are retrieved.\n   * @param orderId - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.READ_TRANSACTIONS\n   * @adminMethod\n   */\n  function listTransactionsForSingleOrder(orderId: string): Promise<ListTransactionsForSingleOrderResponse>;\n  /**\n   * Retrieves information about payments and refunds associated with all specified orders.\n   *\n   *\n   * The `listTransactionsForMultipleOrders()` function returns a Promise that resolves when the specified orders' transaction records are retrieved.\n   * @param orderIds - Order IDs for which to retrieve transactions.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderIds\n   * @permissionId ECOM.READ_TRANSACTIONS\n   * @adminMethod\n   */\n  function listTransactionsForMultipleOrders(orderIds: string[]): Promise<ListTransactionsForMultipleOrdersResponse>;\n  /**\n   * Adds up to 50 payment records to an order.\n   *\n   *\n   * The `addPayments()` function returns a Promise that resolves when the payment records are added to an order.\n   *\n   * > **Note:** This does **NOT** perform the actual charging - the order is only updated with records of the payments.\n   * @param orderId - Order ID.\n   * @param payments - Payments to be added to order.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @requiredField payments\n   * @requiredField payments.amount\n   * @requiredField payments.giftcardPaymentDetails.giftCardPaymentId\n   * @permissionId ECOM.MODIFY_TRANSACTIONS\n   * @adminMethod\n   */\n  function addPayments(orderId: string, payments: Payment[]): Promise<AddPaymentsResponse>;\n  /**\n   * Add refunds for payments for an order and changes payments statuses accordingly\n   * @param orderId - Order ID this refunds related to\n   * @param refund - Refund with refund transactions to be added to order.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @requiredField refund\n   * @requiredField refund.transactions\n   * @requiredField refund.transactions.paymentId\n   * @permissionId ECOM.MODIFY_TRANSACTIONS\n   * @adminMethod\n   */\n  function addRefund(orderId: string, refund: Refund, options?: AddRefundOptions): Promise<AddRefundResponse>;\n  interface AddRefundOptions {\n      /** Side effect details related to refund */\n      sideEffects?: RefundSideEffects;\n  }\n  /**\n   * Updates the status of an order's payment.\n   *\n   *\n   * The `updatePaymentStatus()` function returns a Promise that resolves when the payment status is updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.orderId\n   * @requiredField identifiers.paymentId\n   * @permissionId ECOM.MODIFY_TRANSACTIONS\n   * @adminMethod\n   */\n  function updatePaymentStatus(identifiers: UpdatePaymentStatusIdentifiers, options?: UpdatePaymentStatusOptions): Promise<UpdatePaymentStatusResponse>;\n  interface UpdatePaymentStatusIdentifiers {\n      /** Payment ID. */\n      paymentId: string;\n      /** Order ID. */\n      orderId: string;\n  }\n  interface UpdatePaymentStatusOptions {\n      /** Payment status. */\n      status?: TransactionStatus;\n      /**\n       * *TBD** NOT IMPLEMENTED\n       * Status update date\n       * When defined -> the update will be applied only if it's newer than existing one, otherwise will throw 409\n       * Not defined -> apply the update without any verification.\n       * @internal\n       */\n      statusUpdatedDate?: Date | null;\n  }\n  /**\n   * Updates multiple order payments with a specified status.\n   *\n   *\n   * The `bulkUpdatePaymentStatus()` function returns a Promise that resolves when the payment statuses are updated.\n   * @param paymentAndOrderIds - Order and payment IDs for which to update payment status.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField paymentAndOrderIds\n   * @permissionId ECOM.MODIFY_TRANSACTIONS\n   * @adminMethod\n   */\n  function bulkUpdatePaymentStatuses(paymentAndOrderIds: PaymentAndOrderId[], options?: BulkUpdatePaymentStatusesOptions): Promise<BulkUpdatePaymentStatusesResponse>;\n  interface BulkUpdatePaymentStatusesOptions {\n      /** Whether to return the full payment entity (`results.item`) in the response. */\n      returnFullEntity?: boolean;\n      /** Payment status. */\n      status?: TransactionStatus;\n      /**\n       * *TBD** NOT IMPLEMENTED\n       * Status update date\n       * When defined -> the update will be applied only if it's newer than existing one, otherwise will throw 409\n       * Not defined -> apply the update without any verification.\n       * @internal\n       */\n      statusUpdatedDate?: Date | null;\n  }\n  /**\n   * Updates OrderTransactions.refunds properties, except OrderTransactions.refunds.transactions, which are updated\n   * via UpdateRefundTransaction endpoint\n   * @param orderId - Order ID.\n   * @param refund - Refund with updated field values.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @requiredField refund\n   * @requiredField refund._id\n   * @requiredField refund.details.items.lineItemId\n   * @requiredField refund.details.items.quantity\n   * @permissionId ECOM.ORDER_TRANSACTIONS_UPDATE_REFUND\n   * @adminMethod\n   */\n  function updateRefund(orderId: string, refund: Refund, options?: UpdateRefundOptions): Promise<UpdateRefundResponse>;\n  interface UpdateRefundOptions {\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Updates OrderTransactions.refunds.transactions properties\n   * @param orderId - Order ID.\n   * @param refundId - Payment ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @requiredField refundId\n   * @permissionId ECOM.MODIFY_TRANSACTIONS\n   * @adminMethod\n   */\n  function updateRefundTransaction(orderId: string, refundId: string, options?: UpdateRefundTransactionOptions): Promise<void>;\n  interface UpdateRefundTransactionOptions {\n      /**\n       * Updated refund transaction\n       * @internal\n       */\n      transaction: RefundTransaction;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Updates properties of payments associated to order.\n   *\n   * Currently, the following fields can be updated:\n   * + `payment.payment_details.regular_payment_details.provider_transaction_id`\n   * + `payment.payment_details.regular_payment_details.status`\n   * + `payment.payment_details.regular_payment_details.payment_method_details.credit_card_details`\n   * + `payment.payment_details.regular_payment_details.authorization_details`\n   * + `payment.payment_details.regular_payment_details.authorization_details.scheduled_action`\n   * + `payment.payment_details.regular_payment_details.authorization_details.authorized_date`\n   * + `payment.payment_details.regular_payment_details.authorization_details.captures`\n   * + `payment.payment_details.regular_payment_details.authorization_details.captures.status`\n   * + `payment.payment_details.regular_payment_details.authorization_details.captures.created_date`\n   * + `payment.payment_details.regular_payment_details.authorization_details.captures.failure_details`\n   * + `payment.payment_details.regular_payment_details.authorization_details.void`\n   * + `payment.payment_details.regular_payment_details.authorization_details.void.status`\n   * + `payment.payment_details.regular_payment_details.authorization_details.void.voided_date`\n   * + `payment.payment_details.regular_payment_details.authorization_details.void.reason`\n   * + `payment.payment_details.regular_payment_details.authorization_details.void.failure_details`\n   *\n   * To update a field's value, include the new value in the `payment` object in the body params.\n   *\n   * > **Note:** Removing fields value results in an error.\n   * @param orderId - Order ID.\n   * @param payments - Payments to be updated\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @requiredField payments\n   * @permissionId ECOM.MODIFY_TRANSACTIONS\n   * @adminMethod\n   */\n  function updatePayments(orderId: string, payments: MaskedPayment[]): Promise<void>;\n  /**\n   * Retrieves a list of order transactions, given the provided paging, filtering, and sorting.\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language), and\n   * [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ECOM.READ_TRANSACTIONS\n   * @adminMethod\n   */\n  function queryOrderTransactions(): OrderTransactionsQueryBuilder;\n  interface QueryCursorResult$5 {\n      cursors: Cursors$5;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface OrderTransactionsQueryResult extends QueryCursorResult$5 {\n      items: OrderTransactions[];\n      query: OrderTransactionsQueryBuilder;\n      next: () => Promise<OrderTransactionsQueryResult>;\n      prev: () => Promise<OrderTransactionsQueryResult>;\n  }\n  interface OrderTransactionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'orderId', value: any) => OrderTransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'orderId', value: any) => OrderTransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'orderId', value: string) => OrderTransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'orderId', value: any[]) => OrderTransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'orderId', value: any) => OrderTransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'orderId', value: boolean) => OrderTransactionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'orderId'>) => OrderTransactionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'orderId'>) => OrderTransactionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => OrderTransactionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => OrderTransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<OrderTransactionsQueryResult>;\n  }\n  /**\n   * Triggers one or more refunds on an order and updates the order's transactions record.\n   * @param orderId - The order this refund related to\n   * @param payments - Refund operations information\n   * Currently, only *one* payment refund is supported per request\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @requiredField payments\n   * @requiredField payments.paymentId\n   * @permissionId ECOM.MODIFY_TRANSACTIONS\n   * @adminMethod\n   */\n  function triggerRefund(orderId: string, payments: PaymentRefund[], options?: TriggerRefundOptions): Promise<TriggerRefundResponse>;\n  interface TriggerRefundOptions {\n      /** Business model of a refund */\n      details?: RefundDetails;\n      /** How to restock items as part of this refund */\n      restockInfo?: RestockInfo;\n      /** Should send a confirmation mail to the customer */\n      sendOrderRefundedEmail?: boolean;\n      /** Personal note added to the email */\n      customMessage?: string | null;\n  }\n  /**\n   * Calculates what amount can still be refunded on this order.\n   * @param orderId - Order ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.READ_TRANSACTIONS\n   * @adminMethod\n   */\n  function calculateRefund(orderId: string, options?: CalculateRefundOptions): Promise<CalculateRefundResponse>;\n  interface CalculateRefundOptions {\n      /** Refunded line items and quantity */\n      refundItems?: CalculateRefundItemRequest[];\n      /** Should include shipping in refund calculation */\n      refundShipping?: boolean;\n  }\n  /**\n   * Checks whether this order can be refunded.\n   * @param orderId - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.READ_TRANSACTIONS\n   * @adminMethod\n   */\n  function getRefundabilityStatus(orderId: string): Promise<GetRefundabilityStatusResponse>;\n  /**\n   * Retrieves invoices associated with a specified order.\n   * !!! Deprecated !!!\n   * @param orderId - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.READ_INVOICES\n   */\n  function listInvoicesForSingleOrder(orderId: string): Promise<ListInvoicesForSingleOrderResponse>;\n  /**\n   * Retrieves invoices associated with all specified orders.\n   * !!! Deprecated !!!\n   * @param orderIds - Order IDs for which to retrieve invoices.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderIds\n   * @permissionId ECOM.READ_INVOICES\n   */\n  function listInvoicesForMultipleOrders(orderIds: string[]): Promise<ListInvoicesForMultipleOrdersResponse>;\n  /**\n   * Retrieves invoices associated with all specified orders.\n   * !!! Deprecated !!!\n   * @param orderIds - Order IDs for which to retrieve invoices.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderIds\n   * @permissionId ECOM.READ_INVOICES\n   */\n  function listInvoicesForMultipleOrdersOld(orderIds: string[]): Promise<ListInvoicesForMultipleOrdersResponse>;\n  /**\n   * Generates and adds an invoice to a specified order.\n   * @param orderId - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId ECOM.MODIFY_INVOICES\n   * @adminMethod\n   */\n  function generateInvoice(orderId: string): Promise<GenerateInvoiceResponse>;\n  /**\n   * Generates and adds invoices to all specified orders.\n   * @param orderIds - Order IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderIds\n   * @permissionId ECOM.MODIFY_INVOICES\n   * @adminMethod\n   */\n  function bulkGenerateInvoices(orderIds: string[]): Promise<BulkGenerateInvoicesResponse>;\n  /**\n   * Adds an invoice to a specified order.\n   * @param orderId - Order ID.\n   * @param invoiceInfo - Invoice info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField invoiceInfo\n   * @requiredField invoiceInfo._id\n   * @requiredField invoiceInfo.appId\n   * @requiredField orderId\n   * @permissionId ECOM.ADD_INVOICE\n   * @adminMethod\n   */\n  function addInvoiceToOrder(orderId: string, invoiceInfo: InvoiceInfo): Promise<AddInvoiceToOrderResponse>;\n  \n  type ecomV1OrderTransactions_universal_d_OrderTransactions = OrderTransactions;\n  type ecomV1OrderTransactions_universal_d_Payment = Payment;\n  type ecomV1OrderTransactions_universal_d_PaymentPaymentDetailsOneOf = PaymentPaymentDetailsOneOf;\n  type ecomV1OrderTransactions_universal_d_RegularPaymentDetails = RegularPaymentDetails;\n  type ecomV1OrderTransactions_universal_d_RegularPaymentDetailsPaymentMethodDetailsOneOf = RegularPaymentDetailsPaymentMethodDetailsOneOf;\n  type ecomV1OrderTransactions_universal_d_TransactionStatus = TransactionStatus;\n  const ecomV1OrderTransactions_universal_d_TransactionStatus: typeof TransactionStatus;\n  type ecomV1OrderTransactions_universal_d_CreditCardPaymentMethodDetails = CreditCardPaymentMethodDetails;\n  type ecomV1OrderTransactions_universal_d_AuthorizationDetails = AuthorizationDetails;\n  type ecomV1OrderTransactions_universal_d_AuthorizationCapture = AuthorizationCapture;\n  type ecomV1OrderTransactions_universal_d_AuthorizationCaptureStatus = AuthorizationCaptureStatus;\n  const ecomV1OrderTransactions_universal_d_AuthorizationCaptureStatus: typeof AuthorizationCaptureStatus;\n  type ecomV1OrderTransactions_universal_d_AuthorizationActionFailureDetails = AuthorizationActionFailureDetails;\n  type ecomV1OrderTransactions_universal_d_AuthorizationVoid = AuthorizationVoid;\n  type ecomV1OrderTransactions_universal_d_AuthorizationVoidStatus = AuthorizationVoidStatus;\n  const ecomV1OrderTransactions_universal_d_AuthorizationVoidStatus: typeof AuthorizationVoidStatus;\n  type ecomV1OrderTransactions_universal_d_Reason = Reason;\n  const ecomV1OrderTransactions_universal_d_Reason: typeof Reason;\n  type ecomV1OrderTransactions_universal_d_ScheduledAction = ScheduledAction;\n  type ecomV1OrderTransactions_universal_d_ActionType = ActionType;\n  const ecomV1OrderTransactions_universal_d_ActionType: typeof ActionType;\n  type ecomV1OrderTransactions_universal_d_GiftCardPaymentDetails = GiftCardPaymentDetails;\n  type ecomV1OrderTransactions_universal_d_MembershipPaymentDetails = MembershipPaymentDetails;\n  type ecomV1OrderTransactions_universal_d_MembershipPaymentStatus = MembershipPaymentStatus;\n  const ecomV1OrderTransactions_universal_d_MembershipPaymentStatus: typeof MembershipPaymentStatus;\n  type ecomV1OrderTransactions_universal_d_Refund = Refund;\n  type ecomV1OrderTransactions_universal_d_RefundTransaction = RefundTransaction;\n  type ecomV1OrderTransactions_universal_d_RefundStatus = RefundStatus;\n  const ecomV1OrderTransactions_universal_d_RefundStatus: typeof RefundStatus;\n  type ecomV1OrderTransactions_universal_d_RefundDetails = RefundDetails;\n  type ecomV1OrderTransactions_universal_d_RefundItem = RefundItem;\n  type ecomV1OrderTransactions_universal_d_LineItemRefund = LineItemRefund;\n  type ecomV1OrderTransactions_universal_d_AdditionalFeeRefund = AdditionalFeeRefund;\n  type ecomV1OrderTransactions_universal_d_ShippingRefund = ShippingRefund;\n  type ecomV1OrderTransactions_universal_d_AggregatedRefundSummary = AggregatedRefundSummary;\n  type ecomV1OrderTransactions_universal_d_SnapshotMessage = SnapshotMessage;\n  type ecomV1OrderTransactions_universal_d_IndexingMessage = IndexingMessage;\n  type ecomV1OrderTransactions_universal_d_OrderRefunded = OrderRefunded;\n  type ecomV1OrderTransactions_universal_d_Order = Order;\n  type ecomV1OrderTransactions_universal_d_BuyerInfo = BuyerInfo;\n  type ecomV1OrderTransactions_universal_d_Totals = Totals;\n  type ecomV1OrderTransactions_universal_d_BillingInfo = BillingInfo;\n  type ecomV1OrderTransactions_universal_d_AddressAddressLine1OptionsOneOf = AddressAddressLine1OptionsOneOf;\n  type ecomV1OrderTransactions_universal_d_FullName = FullName;\n  type ecomV1OrderTransactions_universal_d_Street = Street;\n  type ecomV1OrderTransactions_universal_d_ShippingInfo = ShippingInfo;\n  type ecomV1OrderTransactions_universal_d_ShippingInfoDetailsOneOf = ShippingInfoDetailsOneOf;\n  type ecomV1OrderTransactions_universal_d_ShipmentDetails = ShipmentDetails;\n  type ecomV1OrderTransactions_universal_d_TrackingInfo = TrackingInfo;\n  type ecomV1OrderTransactions_universal_d_ShippingPriceData = ShippingPriceData;\n  type ecomV1OrderTransactions_universal_d_PickupAddress = PickupAddress;\n  type ecomV1OrderTransactions_universal_d_BuyerDetails = BuyerDetails;\n  type ecomV1OrderTransactions_universal_d_PaymentStatus = PaymentStatus;\n  const ecomV1OrderTransactions_universal_d_PaymentStatus: typeof PaymentStatus;\n  type ecomV1OrderTransactions_universal_d_FulfillmentStatus = FulfillmentStatus;\n  const ecomV1OrderTransactions_universal_d_FulfillmentStatus: typeof FulfillmentStatus;\n  type ecomV1OrderTransactions_universal_d_LineItemType = LineItemType;\n  const ecomV1OrderTransactions_universal_d_LineItemType: typeof LineItemType;\n  type ecomV1OrderTransactions_universal_d_OptionSelection = OptionSelection;\n  type ecomV1OrderTransactions_universal_d_CustomTextFieldSelection = CustomTextFieldSelection;\n  type ecomV1OrderTransactions_universal_d_MediaItem = MediaItem;\n  type ecomV1OrderTransactions_universal_d_MediaItemType = MediaItemType;\n  const ecomV1OrderTransactions_universal_d_MediaItemType: typeof MediaItemType;\n  type ecomV1OrderTransactions_universal_d_LineItemPriceData = LineItemPriceData;\n  type ecomV1OrderTransactions_universal_d_DigitalFile = DigitalFile;\n  type ecomV1OrderTransactions_universal_d_Activity = Activity;\n  type ecomV1OrderTransactions_universal_d_ActivityType = ActivityType;\n  const ecomV1OrderTransactions_universal_d_ActivityType: typeof ActivityType;\n  type ecomV1OrderTransactions_universal_d_V2InvoiceInfo = V2InvoiceInfo;\n  type ecomV1OrderTransactions_universal_d_InvoiceSource = InvoiceSource;\n  const ecomV1OrderTransactions_universal_d_InvoiceSource: typeof InvoiceSource;\n  type ecomV1OrderTransactions_universal_d_Fulfillment = Fulfillment;\n  type ecomV1OrderTransactions_universal_d_FulfillmentLineItem = FulfillmentLineItem;\n  type ecomV1OrderTransactions_universal_d_FulfillmentTrackingInfo = FulfillmentTrackingInfo;\n  type ecomV1OrderTransactions_universal_d_Discount = Discount;\n  type ecomV1OrderTransactions_universal_d_AppliedCoupon = AppliedCoupon;\n  type ecomV1OrderTransactions_universal_d_CustomField = CustomField;\n  type ecomV1OrderTransactions_universal_d_ChannelInfo = ChannelInfo;\n  type ecomV1OrderTransactions_universal_d_ChannelType = ChannelType;\n  const ecomV1OrderTransactions_universal_d_ChannelType: typeof ChannelType;\n  type ecomV1OrderTransactions_universal_d_EnteredBy = EnteredBy;\n  type ecomV1OrderTransactions_universal_d_EnteredByIdentityType = EnteredByIdentityType;\n  const ecomV1OrderTransactions_universal_d_EnteredByIdentityType: typeof EnteredByIdentityType;\n  type ecomV1OrderTransactions_universal_d_SubscriptionInfo = SubscriptionInfo;\n  type ecomV1OrderTransactions_universal_d_SubscriptionOptionInfo = SubscriptionOptionInfo;\n  type ecomV1OrderTransactions_universal_d_V2Refund = V2Refund;\n  type ecomV1OrderTransactions_universal_d_PaymentsUpdated = PaymentsUpdated;\n  type ecomV1OrderTransactions_universal_d_RefundCreated = RefundCreated;\n  type ecomV1OrderTransactions_universal_d_RestockInfo = RestockInfo;\n  type ecomV1OrderTransactions_universal_d_RestockType = RestockType;\n  const ecomV1OrderTransactions_universal_d_RestockType: typeof RestockType;\n  type ecomV1OrderTransactions_universal_d_RestockItem = RestockItem;\n  type ecomV1OrderTransactions_universal_d_RefundCompleted = RefundCompleted;\n  type ecomV1OrderTransactions_universal_d_RefundSideEffects = RefundSideEffects;\n  type ecomV1OrderTransactions_universal_d_ListTransactionsForSingleOrderRequest = ListTransactionsForSingleOrderRequest;\n  type ecomV1OrderTransactions_universal_d_ListTransactionsForSingleOrderResponse = ListTransactionsForSingleOrderResponse;\n  type ecomV1OrderTransactions_universal_d_ListTransactionsForMultipleOrdersRequest = ListTransactionsForMultipleOrdersRequest;\n  type ecomV1OrderTransactions_universal_d_ListTransactionsForMultipleOrdersResponse = ListTransactionsForMultipleOrdersResponse;\n  type ecomV1OrderTransactions_universal_d_AddPaymentsRequest = AddPaymentsRequest;\n  type ecomV1OrderTransactions_universal_d_AddPaymentsResponse = AddPaymentsResponse;\n  type ecomV1OrderTransactions_universal_d_AddRefundRequest = AddRefundRequest;\n  type ecomV1OrderTransactions_universal_d_AddRefundResponse = AddRefundResponse;\n  type ecomV1OrderTransactions_universal_d_UpdatePaymentStatusRequest = UpdatePaymentStatusRequest;\n  type ecomV1OrderTransactions_universal_d_UpdatePaymentStatusResponse = UpdatePaymentStatusResponse;\n  type ecomV1OrderTransactions_universal_d_BulkUpdatePaymentStatusesRequest = BulkUpdatePaymentStatusesRequest;\n  type ecomV1OrderTransactions_universal_d_PaymentAndOrderId = PaymentAndOrderId;\n  type ecomV1OrderTransactions_universal_d_BulkUpdatePaymentStatusesResponse = BulkUpdatePaymentStatusesResponse;\n  type ecomV1OrderTransactions_universal_d_BulkPaymentResult = BulkPaymentResult;\n  type ecomV1OrderTransactions_universal_d_ItemMetadata = ItemMetadata;\n  type ecomV1OrderTransactions_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type ecomV1OrderTransactions_universal_d_UpdateRefundRequest = UpdateRefundRequest;\n  type ecomV1OrderTransactions_universal_d_UpdateRefundResponse = UpdateRefundResponse;\n  type ecomV1OrderTransactions_universal_d_UpdateRefundTransactionRequest = UpdateRefundTransactionRequest;\n  type ecomV1OrderTransactions_universal_d_UpdateRefundTransactionResponse = UpdateRefundTransactionResponse;\n  type ecomV1OrderTransactions_universal_d_UpdatePaymentsRequest = UpdatePaymentsRequest;\n  type ecomV1OrderTransactions_universal_d_MaskedPayment = MaskedPayment;\n  type ecomV1OrderTransactions_universal_d_UpdatePaymentsResponse = UpdatePaymentsResponse;\n  type ecomV1OrderTransactions_universal_d_QueryOrderTransactionsRequest = QueryOrderTransactionsRequest;\n  type ecomV1OrderTransactions_universal_d_QueryOrderTransactionsResponse = QueryOrderTransactionsResponse;\n  type ecomV1OrderTransactions_universal_d_TriggerRefundRequest = TriggerRefundRequest;\n  type ecomV1OrderTransactions_universal_d_PaymentRefund = PaymentRefund;\n  type ecomV1OrderTransactions_universal_d_TriggerRefundResponse = TriggerRefundResponse;\n  type ecomV1OrderTransactions_universal_d_CalculateRefundRequest = CalculateRefundRequest;\n  type ecomV1OrderTransactions_universal_d_CalculateRefundItemRequest = CalculateRefundItemRequest;\n  type ecomV1OrderTransactions_universal_d_CalculateRefundResponse = CalculateRefundResponse;\n  type ecomV1OrderTransactions_universal_d_CalculateRefundItemResponse = CalculateRefundItemResponse;\n  type ecomV1OrderTransactions_universal_d_GetRefundabilityStatusRequest = GetRefundabilityStatusRequest;\n  type ecomV1OrderTransactions_universal_d_GetRefundabilityStatusResponse = GetRefundabilityStatusResponse;\n  type ecomV1OrderTransactions_universal_d_Refundability = Refundability;\n  type ecomV1OrderTransactions_universal_d_RefundabilityAdditionalRefundabilityInfoOneOf = RefundabilityAdditionalRefundabilityInfoOneOf;\n  type ecomV1OrderTransactions_universal_d_RefundableStatus = RefundableStatus;\n  const ecomV1OrderTransactions_universal_d_RefundableStatus: typeof RefundableStatus;\n  type ecomV1OrderTransactions_universal_d_NonRefundableReason = NonRefundableReason;\n  const ecomV1OrderTransactions_universal_d_NonRefundableReason: typeof NonRefundableReason;\n  type ecomV1OrderTransactions_universal_d_ManuallyRefundableReason = ManuallyRefundableReason;\n  const ecomV1OrderTransactions_universal_d_ManuallyRefundableReason: typeof ManuallyRefundableReason;\n  type ecomV1OrderTransactions_universal_d_ListInvoicesForSingleOrderRequest = ListInvoicesForSingleOrderRequest;\n  type ecomV1OrderTransactions_universal_d_ListInvoicesForSingleOrderResponse = ListInvoicesForSingleOrderResponse;\n  type ecomV1OrderTransactions_universal_d_InvoiceInfo = InvoiceInfo;\n  type ecomV1OrderTransactions_universal_d_ListInvoicesForMultipleOrdersRequest = ListInvoicesForMultipleOrdersRequest;\n  type ecomV1OrderTransactions_universal_d_ListInvoicesForMultipleOrdersResponse = ListInvoicesForMultipleOrdersResponse;\n  type ecomV1OrderTransactions_universal_d_InvoicesForOrder = InvoicesForOrder;\n  type ecomV1OrderTransactions_universal_d_GenerateInvoiceRequest = GenerateInvoiceRequest;\n  type ecomV1OrderTransactions_universal_d_GenerateInvoiceResponse = GenerateInvoiceResponse;\n  type ecomV1OrderTransactions_universal_d_BulkGenerateInvoicesRequest = BulkGenerateInvoicesRequest;\n  type ecomV1OrderTransactions_universal_d_BulkGenerateInvoicesResponse = BulkGenerateInvoicesResponse;\n  type ecomV1OrderTransactions_universal_d_BulkInvoiceResult = BulkInvoiceResult;\n  type ecomV1OrderTransactions_universal_d_InvoiceForOrder = InvoiceForOrder;\n  type ecomV1OrderTransactions_universal_d_AddInvoiceToOrderRequest = AddInvoiceToOrderRequest;\n  type ecomV1OrderTransactions_universal_d_AddInvoiceToOrderResponse = AddInvoiceToOrderResponse;\n  const ecomV1OrderTransactions_universal_d_listTransactionsForSingleOrder: typeof listTransactionsForSingleOrder;\n  const ecomV1OrderTransactions_universal_d_listTransactionsForMultipleOrders: typeof listTransactionsForMultipleOrders;\n  const ecomV1OrderTransactions_universal_d_addPayments: typeof addPayments;\n  const ecomV1OrderTransactions_universal_d_addRefund: typeof addRefund;\n  type ecomV1OrderTransactions_universal_d_AddRefundOptions = AddRefundOptions;\n  const ecomV1OrderTransactions_universal_d_updatePaymentStatus: typeof updatePaymentStatus;\n  type ecomV1OrderTransactions_universal_d_UpdatePaymentStatusIdentifiers = UpdatePaymentStatusIdentifiers;\n  type ecomV1OrderTransactions_universal_d_UpdatePaymentStatusOptions = UpdatePaymentStatusOptions;\n  const ecomV1OrderTransactions_universal_d_bulkUpdatePaymentStatuses: typeof bulkUpdatePaymentStatuses;\n  type ecomV1OrderTransactions_universal_d_BulkUpdatePaymentStatusesOptions = BulkUpdatePaymentStatusesOptions;\n  const ecomV1OrderTransactions_universal_d_updateRefund: typeof updateRefund;\n  type ecomV1OrderTransactions_universal_d_UpdateRefundOptions = UpdateRefundOptions;\n  const ecomV1OrderTransactions_universal_d_updateRefundTransaction: typeof updateRefundTransaction;\n  type ecomV1OrderTransactions_universal_d_UpdateRefundTransactionOptions = UpdateRefundTransactionOptions;\n  const ecomV1OrderTransactions_universal_d_updatePayments: typeof updatePayments;\n  const ecomV1OrderTransactions_universal_d_queryOrderTransactions: typeof queryOrderTransactions;\n  type ecomV1OrderTransactions_universal_d_OrderTransactionsQueryResult = OrderTransactionsQueryResult;\n  type ecomV1OrderTransactions_universal_d_OrderTransactionsQueryBuilder = OrderTransactionsQueryBuilder;\n  const ecomV1OrderTransactions_universal_d_triggerRefund: typeof triggerRefund;\n  type ecomV1OrderTransactions_universal_d_TriggerRefundOptions = TriggerRefundOptions;\n  const ecomV1OrderTransactions_universal_d_calculateRefund: typeof calculateRefund;\n  type ecomV1OrderTransactions_universal_d_CalculateRefundOptions = CalculateRefundOptions;\n  const ecomV1OrderTransactions_universal_d_getRefundabilityStatus: typeof getRefundabilityStatus;\n  const ecomV1OrderTransactions_universal_d_listInvoicesForSingleOrder: typeof listInvoicesForSingleOrder;\n  const ecomV1OrderTransactions_universal_d_listInvoicesForMultipleOrders: typeof listInvoicesForMultipleOrders;\n  const ecomV1OrderTransactions_universal_d_listInvoicesForMultipleOrdersOld: typeof listInvoicesForMultipleOrdersOld;\n  const ecomV1OrderTransactions_universal_d_generateInvoice: typeof generateInvoice;\n  const ecomV1OrderTransactions_universal_d_bulkGenerateInvoices: typeof bulkGenerateInvoices;\n  const ecomV1OrderTransactions_universal_d_addInvoiceToOrder: typeof addInvoiceToOrder;\n  namespace ecomV1OrderTransactions_universal_d {\n    export {\n      ecomV1OrderTransactions_universal_d_OrderTransactions as OrderTransactions,\n      ecomV1OrderTransactions_universal_d_Payment as Payment,\n      ecomV1OrderTransactions_universal_d_PaymentPaymentDetailsOneOf as PaymentPaymentDetailsOneOf,\n      ecomV1OrderTransactions_universal_d_RegularPaymentDetails as RegularPaymentDetails,\n      ecomV1OrderTransactions_universal_d_RegularPaymentDetailsPaymentMethodDetailsOneOf as RegularPaymentDetailsPaymentMethodDetailsOneOf,\n      ecomV1OrderTransactions_universal_d_TransactionStatus as TransactionStatus,\n      ecomV1OrderTransactions_universal_d_CreditCardPaymentMethodDetails as CreditCardPaymentMethodDetails,\n      ecomV1OrderTransactions_universal_d_AuthorizationDetails as AuthorizationDetails,\n      ecomV1OrderTransactions_universal_d_AuthorizationCapture as AuthorizationCapture,\n      ecomV1OrderTransactions_universal_d_AuthorizationCaptureStatus as AuthorizationCaptureStatus,\n      Price$1 as Price,\n      ecomV1OrderTransactions_universal_d_AuthorizationActionFailureDetails as AuthorizationActionFailureDetails,\n      ecomV1OrderTransactions_universal_d_AuthorizationVoid as AuthorizationVoid,\n      ecomV1OrderTransactions_universal_d_AuthorizationVoidStatus as AuthorizationVoidStatus,\n      ecomV1OrderTransactions_universal_d_Reason as Reason,\n      ecomV1OrderTransactions_universal_d_ScheduledAction as ScheduledAction,\n      ecomV1OrderTransactions_universal_d_ActionType as ActionType,\n      ecomV1OrderTransactions_universal_d_GiftCardPaymentDetails as GiftCardPaymentDetails,\n      ecomV1OrderTransactions_universal_d_MembershipPaymentDetails as MembershipPaymentDetails,\n      ecomV1OrderTransactions_universal_d_MembershipPaymentStatus as MembershipPaymentStatus,\n      MembershipName$1 as MembershipName,\n      ecomV1OrderTransactions_universal_d_Refund as Refund,\n      ecomV1OrderTransactions_universal_d_RefundTransaction as RefundTransaction,\n      ecomV1OrderTransactions_universal_d_RefundStatus as RefundStatus,\n      ecomV1OrderTransactions_universal_d_RefundDetails as RefundDetails,\n      ecomV1OrderTransactions_universal_d_RefundItem as RefundItem,\n      ecomV1OrderTransactions_universal_d_LineItemRefund as LineItemRefund,\n      ecomV1OrderTransactions_universal_d_AdditionalFeeRefund as AdditionalFeeRefund,\n      ecomV1OrderTransactions_universal_d_ShippingRefund as ShippingRefund,\n      ecomV1OrderTransactions_universal_d_AggregatedRefundSummary as AggregatedRefundSummary,\n      ecomV1OrderTransactions_universal_d_SnapshotMessage as SnapshotMessage,\n      ecomV1OrderTransactions_universal_d_IndexingMessage as IndexingMessage,\n      DiffmatokyPayload$1 as DiffmatokyPayload,\n      ErrorInformation$1 as ErrorInformation,\n      ecomV1OrderTransactions_universal_d_OrderRefunded as OrderRefunded,\n      ecomV1OrderTransactions_universal_d_Order as Order,\n      ecomV1OrderTransactions_universal_d_BuyerInfo as BuyerInfo,\n      IdentityType$2 as IdentityType,\n      WeightUnit$2 as WeightUnit,\n      ecomV1OrderTransactions_universal_d_Totals as Totals,\n      ecomV1OrderTransactions_universal_d_BillingInfo as BillingInfo,\n      Address$4 as Address,\n      ecomV1OrderTransactions_universal_d_AddressAddressLine1OptionsOneOf as AddressAddressLine1OptionsOneOf,\n      ecomV1OrderTransactions_universal_d_FullName as FullName,\n      ecomV1OrderTransactions_universal_d_Street as Street,\n      VatId$1 as VatId,\n      VatType$1 as VatType,\n      ecomV1OrderTransactions_universal_d_ShippingInfo as ShippingInfo,\n      ecomV1OrderTransactions_universal_d_ShippingInfoDetailsOneOf as ShippingInfoDetailsOneOf,\n      ecomV1OrderTransactions_universal_d_ShipmentDetails as ShipmentDetails,\n      ecomV1OrderTransactions_universal_d_TrackingInfo as TrackingInfo,\n      ecomV1OrderTransactions_universal_d_ShippingPriceData as ShippingPriceData,\n      PickupDetails$2 as PickupDetails,\n      ecomV1OrderTransactions_universal_d_PickupAddress as PickupAddress,\n      ecomV1OrderTransactions_universal_d_BuyerDetails as BuyerDetails,\n      ecomV1OrderTransactions_universal_d_PaymentStatus as PaymentStatus,\n      ecomV1OrderTransactions_universal_d_FulfillmentStatus as FulfillmentStatus,\n      LineItem$1 as LineItem,\n      ecomV1OrderTransactions_universal_d_LineItemType as LineItemType,\n      ecomV1OrderTransactions_universal_d_OptionSelection as OptionSelection,\n      ecomV1OrderTransactions_universal_d_CustomTextFieldSelection as CustomTextFieldSelection,\n      ecomV1OrderTransactions_universal_d_MediaItem as MediaItem,\n      ecomV1OrderTransactions_universal_d_MediaItemType as MediaItemType,\n      ecomV1OrderTransactions_universal_d_LineItemPriceData as LineItemPriceData,\n      ecomV1OrderTransactions_universal_d_DigitalFile as DigitalFile,\n      ecomV1OrderTransactions_universal_d_Activity as Activity,\n      ecomV1OrderTransactions_universal_d_ActivityType as ActivityType,\n      ecomV1OrderTransactions_universal_d_V2InvoiceInfo as V2InvoiceInfo,\n      ecomV1OrderTransactions_universal_d_InvoiceSource as InvoiceSource,\n      ecomV1OrderTransactions_universal_d_Fulfillment as Fulfillment,\n      ecomV1OrderTransactions_universal_d_FulfillmentLineItem as FulfillmentLineItem,\n      ecomV1OrderTransactions_universal_d_FulfillmentTrackingInfo as FulfillmentTrackingInfo,\n      ecomV1OrderTransactions_universal_d_Discount as Discount,\n      ecomV1OrderTransactions_universal_d_AppliedCoupon as AppliedCoupon,\n      ecomV1OrderTransactions_universal_d_CustomField as CustomField,\n      ecomV1OrderTransactions_universal_d_ChannelInfo as ChannelInfo,\n      ecomV1OrderTransactions_universal_d_ChannelType as ChannelType,\n      ecomV1OrderTransactions_universal_d_EnteredBy as EnteredBy,\n      ecomV1OrderTransactions_universal_d_EnteredByIdentityType as EnteredByIdentityType,\n      ecomV1OrderTransactions_universal_d_SubscriptionInfo as SubscriptionInfo,\n      SubscriptionSettings$1 as SubscriptionSettings,\n      SubscriptionFrequency$1 as SubscriptionFrequency,\n      ecomV1OrderTransactions_universal_d_SubscriptionOptionInfo as SubscriptionOptionInfo,\n      ecomV1OrderTransactions_universal_d_V2Refund as V2Refund,\n      GiftCard$1 as GiftCard,\n      ecomV1OrderTransactions_universal_d_PaymentsUpdated as PaymentsUpdated,\n      ecomV1OrderTransactions_universal_d_RefundCreated as RefundCreated,\n      ecomV1OrderTransactions_universal_d_RestockInfo as RestockInfo,\n      ecomV1OrderTransactions_universal_d_RestockType as RestockType,\n      ecomV1OrderTransactions_universal_d_RestockItem as RestockItem,\n      ecomV1OrderTransactions_universal_d_RefundCompleted as RefundCompleted,\n      ecomV1OrderTransactions_universal_d_RefundSideEffects as RefundSideEffects,\n      ecomV1OrderTransactions_universal_d_ListTransactionsForSingleOrderRequest as ListTransactionsForSingleOrderRequest,\n      ecomV1OrderTransactions_universal_d_ListTransactionsForSingleOrderResponse as ListTransactionsForSingleOrderResponse,\n      ecomV1OrderTransactions_universal_d_ListTransactionsForMultipleOrdersRequest as ListTransactionsForMultipleOrdersRequest,\n      ecomV1OrderTransactions_universal_d_ListTransactionsForMultipleOrdersResponse as ListTransactionsForMultipleOrdersResponse,\n      ecomV1OrderTransactions_universal_d_AddPaymentsRequest as AddPaymentsRequest,\n      ecomV1OrderTransactions_universal_d_AddPaymentsResponse as AddPaymentsResponse,\n      ecomV1OrderTransactions_universal_d_AddRefundRequest as AddRefundRequest,\n      ecomV1OrderTransactions_universal_d_AddRefundResponse as AddRefundResponse,\n      ecomV1OrderTransactions_universal_d_UpdatePaymentStatusRequest as UpdatePaymentStatusRequest,\n      ecomV1OrderTransactions_universal_d_UpdatePaymentStatusResponse as UpdatePaymentStatusResponse,\n      ecomV1OrderTransactions_universal_d_BulkUpdatePaymentStatusesRequest as BulkUpdatePaymentStatusesRequest,\n      ecomV1OrderTransactions_universal_d_PaymentAndOrderId as PaymentAndOrderId,\n      ecomV1OrderTransactions_universal_d_BulkUpdatePaymentStatusesResponse as BulkUpdatePaymentStatusesResponse,\n      ecomV1OrderTransactions_universal_d_BulkPaymentResult as BulkPaymentResult,\n      ecomV1OrderTransactions_universal_d_ItemMetadata as ItemMetadata,\n      ApplicationError$3 as ApplicationError,\n      ecomV1OrderTransactions_universal_d_BulkActionMetadata as BulkActionMetadata,\n      ecomV1OrderTransactions_universal_d_UpdateRefundRequest as UpdateRefundRequest,\n      ecomV1OrderTransactions_universal_d_UpdateRefundResponse as UpdateRefundResponse,\n      ecomV1OrderTransactions_universal_d_UpdateRefundTransactionRequest as UpdateRefundTransactionRequest,\n      ecomV1OrderTransactions_universal_d_UpdateRefundTransactionResponse as UpdateRefundTransactionResponse,\n      ecomV1OrderTransactions_universal_d_UpdatePaymentsRequest as UpdatePaymentsRequest,\n      ecomV1OrderTransactions_universal_d_MaskedPayment as MaskedPayment,\n      ecomV1OrderTransactions_universal_d_UpdatePaymentsResponse as UpdatePaymentsResponse,\n      ecomV1OrderTransactions_universal_d_QueryOrderTransactionsRequest as QueryOrderTransactionsRequest,\n      CursorQuery$3 as CursorQuery,\n      CursorQueryPagingMethodOneOf$3 as CursorQueryPagingMethodOneOf,\n      Sorting$5 as Sorting,\n      SortOrder$5 as SortOrder,\n      CursorPaging$5 as CursorPaging,\n      ecomV1OrderTransactions_universal_d_QueryOrderTransactionsResponse as QueryOrderTransactionsResponse,\n      CursorPagingMetadata$4 as CursorPagingMetadata,\n      Cursors$5 as Cursors,\n      ecomV1OrderTransactions_universal_d_TriggerRefundRequest as TriggerRefundRequest,\n      ecomV1OrderTransactions_universal_d_PaymentRefund as PaymentRefund,\n      ecomV1OrderTransactions_universal_d_TriggerRefundResponse as TriggerRefundResponse,\n      ecomV1OrderTransactions_universal_d_CalculateRefundRequest as CalculateRefundRequest,\n      ecomV1OrderTransactions_universal_d_CalculateRefundItemRequest as CalculateRefundItemRequest,\n      ecomV1OrderTransactions_universal_d_CalculateRefundResponse as CalculateRefundResponse,\n      ecomV1OrderTransactions_universal_d_CalculateRefundItemResponse as CalculateRefundItemResponse,\n      ecomV1OrderTransactions_universal_d_GetRefundabilityStatusRequest as GetRefundabilityStatusRequest,\n      ecomV1OrderTransactions_universal_d_GetRefundabilityStatusResponse as GetRefundabilityStatusResponse,\n      ecomV1OrderTransactions_universal_d_Refundability as Refundability,\n      ecomV1OrderTransactions_universal_d_RefundabilityAdditionalRefundabilityInfoOneOf as RefundabilityAdditionalRefundabilityInfoOneOf,\n      ecomV1OrderTransactions_universal_d_RefundableStatus as RefundableStatus,\n      ecomV1OrderTransactions_universal_d_NonRefundableReason as NonRefundableReason,\n      ecomV1OrderTransactions_universal_d_ManuallyRefundableReason as ManuallyRefundableReason,\n      ecomV1OrderTransactions_universal_d_ListInvoicesForSingleOrderRequest as ListInvoicesForSingleOrderRequest,\n      ecomV1OrderTransactions_universal_d_ListInvoicesForSingleOrderResponse as ListInvoicesForSingleOrderResponse,\n      ecomV1OrderTransactions_universal_d_InvoiceInfo as InvoiceInfo,\n      ecomV1OrderTransactions_universal_d_ListInvoicesForMultipleOrdersRequest as ListInvoicesForMultipleOrdersRequest,\n      ecomV1OrderTransactions_universal_d_ListInvoicesForMultipleOrdersResponse as ListInvoicesForMultipleOrdersResponse,\n      ecomV1OrderTransactions_universal_d_InvoicesForOrder as InvoicesForOrder,\n      ecomV1OrderTransactions_universal_d_GenerateInvoiceRequest as GenerateInvoiceRequest,\n      ecomV1OrderTransactions_universal_d_GenerateInvoiceResponse as GenerateInvoiceResponse,\n      ecomV1OrderTransactions_universal_d_BulkGenerateInvoicesRequest as BulkGenerateInvoicesRequest,\n      ecomV1OrderTransactions_universal_d_BulkGenerateInvoicesResponse as BulkGenerateInvoicesResponse,\n      ecomV1OrderTransactions_universal_d_BulkInvoiceResult as BulkInvoiceResult,\n      ecomV1OrderTransactions_universal_d_InvoiceForOrder as InvoiceForOrder,\n      ecomV1OrderTransactions_universal_d_AddInvoiceToOrderRequest as AddInvoiceToOrderRequest,\n      ecomV1OrderTransactions_universal_d_AddInvoiceToOrderResponse as AddInvoiceToOrderResponse,\n      DomainEvent$7 as DomainEvent,\n      DomainEventBodyOneOf$7 as DomainEventBodyOneOf,\n      EntityCreatedEvent$7 as EntityCreatedEvent,\n      RestoreInfo$7 as RestoreInfo,\n      EntityUpdatedEvent$7 as EntityUpdatedEvent,\n      EntityDeletedEvent$7 as EntityDeletedEvent,\n      ActionEvent$7 as ActionEvent,\n      MessageEnvelope$6 as MessageEnvelope,\n      IdentificationData$7 as IdentificationData,\n      IdentificationDataIdOneOf$7 as IdentificationDataIdOneOf,\n      WebhookIdentityType$6 as WebhookIdentityType,\n      ecomV1OrderTransactions_universal_d_listTransactionsForSingleOrder as listTransactionsForSingleOrder,\n      ecomV1OrderTransactions_universal_d_listTransactionsForMultipleOrders as listTransactionsForMultipleOrders,\n      ecomV1OrderTransactions_universal_d_addPayments as addPayments,\n      ecomV1OrderTransactions_universal_d_addRefund as addRefund,\n      ecomV1OrderTransactions_universal_d_AddRefundOptions as AddRefundOptions,\n      ecomV1OrderTransactions_universal_d_updatePaymentStatus as updatePaymentStatus,\n      ecomV1OrderTransactions_universal_d_UpdatePaymentStatusIdentifiers as UpdatePaymentStatusIdentifiers,\n      ecomV1OrderTransactions_universal_d_UpdatePaymentStatusOptions as UpdatePaymentStatusOptions,\n      ecomV1OrderTransactions_universal_d_bulkUpdatePaymentStatuses as bulkUpdatePaymentStatuses,\n      ecomV1OrderTransactions_universal_d_BulkUpdatePaymentStatusesOptions as BulkUpdatePaymentStatusesOptions,\n      ecomV1OrderTransactions_universal_d_updateRefund as updateRefund,\n      ecomV1OrderTransactions_universal_d_UpdateRefundOptions as UpdateRefundOptions,\n      ecomV1OrderTransactions_universal_d_updateRefundTransaction as updateRefundTransaction,\n      ecomV1OrderTransactions_universal_d_UpdateRefundTransactionOptions as UpdateRefundTransactionOptions,\n      ecomV1OrderTransactions_universal_d_updatePayments as updatePayments,\n      ecomV1OrderTransactions_universal_d_queryOrderTransactions as queryOrderTransactions,\n      ecomV1OrderTransactions_universal_d_OrderTransactionsQueryResult as OrderTransactionsQueryResult,\n      ecomV1OrderTransactions_universal_d_OrderTransactionsQueryBuilder as OrderTransactionsQueryBuilder,\n      ecomV1OrderTransactions_universal_d_triggerRefund as triggerRefund,\n      ecomV1OrderTransactions_universal_d_TriggerRefundOptions as TriggerRefundOptions,\n      ecomV1OrderTransactions_universal_d_calculateRefund as calculateRefund,\n      ecomV1OrderTransactions_universal_d_CalculateRefundOptions as CalculateRefundOptions,\n      ecomV1OrderTransactions_universal_d_getRefundabilityStatus as getRefundabilityStatus,\n      ecomV1OrderTransactions_universal_d_listInvoicesForSingleOrder as listInvoicesForSingleOrder,\n      ecomV1OrderTransactions_universal_d_listInvoicesForMultipleOrders as listInvoicesForMultipleOrders,\n      ecomV1OrderTransactions_universal_d_listInvoicesForMultipleOrdersOld as listInvoicesForMultipleOrdersOld,\n      ecomV1OrderTransactions_universal_d_generateInvoice as generateInvoice,\n      ecomV1OrderTransactions_universal_d_bulkGenerateInvoices as bulkGenerateInvoices,\n      ecomV1OrderTransactions_universal_d_addInvoiceToOrder as addInvoiceToOrder,\n    };\n  }\n  \n  interface OrdersSettings {\n      /**\n       * Defines when to update the store inventory.\n       *\n       * - `ON_ORDER_PAID`: Stock quantities will update only after the payment is approved.\n       *  - `ON_ORDER_PLACED`: Stock quantities will update while the payment is being processed. If the payment did not go through, items will restock.\n       *\n       * Default: `ON_ORDER_PLACED`\n       */\n      inventoryUpdateTrigger?: InventoryUpdateTrigger;\n      /**\n       * Whether to automatically create invoices for every new order paid online.\n       * Default: `false`\n       */\n      createInvoice?: boolean | null;\n      /**\n       * Date and time the orders settings were created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the orders settings were updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  enum InventoryUpdateTrigger {\n      UNKNOWN_INVENTORY_UPDATE_TRIGGER = \"UNKNOWN_INVENTORY_UPDATE_TRIGGER\",\n      /** Stock quantities will update only after the payment is approved. */\n      ON_ORDER_PAID = \"ON_ORDER_PAID\",\n      /** Stock quantities will update while the payment is being processed. If the payment did not go through, items will restock. */\n      ON_ORDER_PLACED = \"ON_ORDER_PLACED\"\n  }\n  interface GetOrdersSettingsRequest {\n  }\n  interface GetOrdersSettingsResponse {\n      /** Orders settings. */\n      ordersSettings?: OrdersSettings;\n  }\n  interface UpdateOrdersSettingsRequest {\n      /** Orders settings to update. */\n      ordersSettings: OrdersSettings;\n      /**\n       * The list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateOrdersSettingsResponse {\n      /** The updated orders settings. */\n      ordersSettings?: OrdersSettings;\n  }\n  interface DeleteOrdersSettingsRequest {\n  }\n  interface DeleteOrdersSettingsResponse {\n  }\n  interface ListOrdersSettingsRequest {\n  }\n  interface ListOrdersSettingsResponse {\n      /** List of retrieved orders settings. */\n      ordersSettings?: OrdersSettings[];\n  }\n  interface DomainEvent$6 extends DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n  }\n  interface EntityCreatedEvent$6 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$6;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$6 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$6 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$6 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$6 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$6;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$6 extends IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the sites' order settings.\n   *\n   *\n   * The `getOrdersSettings()` function returns a Promise that resolves to orders settings.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.READ_ORDERS_SETTINGS\n   * @returns The requested orders settings.\n   */\n  function getOrdersSettings(): Promise<GetOrdersSettingsResponse>;\n  /**\n   * Updates the sites' orders settings.\n   *\n   *\n   * The `updateOrdersSettings()` function returns a Promise that resolves to the newly updated orders settings.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ordersSettings\n   * @param ordersSettings - Orders settings to update.\n   * @permissionId ECOM.UPDATE_ORDERS_SETTINGS\n   * @adminMethod\n   * @returns The updated orders settings.\n   */\n  function updateOrdersSettings(ordersSettings: OrdersSettings, options?: UpdateOrdersSettingsOptions): Promise<UpdateOrdersSettingsResponse>;\n  interface UpdateOrdersSettingsOptions {\n      /**\n       * The list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  \n  type ecomV1OrdersSettings_universal_d_OrdersSettings = OrdersSettings;\n  type ecomV1OrdersSettings_universal_d_InventoryUpdateTrigger = InventoryUpdateTrigger;\n  const ecomV1OrdersSettings_universal_d_InventoryUpdateTrigger: typeof InventoryUpdateTrigger;\n  type ecomV1OrdersSettings_universal_d_GetOrdersSettingsRequest = GetOrdersSettingsRequest;\n  type ecomV1OrdersSettings_universal_d_GetOrdersSettingsResponse = GetOrdersSettingsResponse;\n  type ecomV1OrdersSettings_universal_d_UpdateOrdersSettingsRequest = UpdateOrdersSettingsRequest;\n  type ecomV1OrdersSettings_universal_d_UpdateOrdersSettingsResponse = UpdateOrdersSettingsResponse;\n  type ecomV1OrdersSettings_universal_d_DeleteOrdersSettingsRequest = DeleteOrdersSettingsRequest;\n  type ecomV1OrdersSettings_universal_d_DeleteOrdersSettingsResponse = DeleteOrdersSettingsResponse;\n  type ecomV1OrdersSettings_universal_d_ListOrdersSettingsRequest = ListOrdersSettingsRequest;\n  type ecomV1OrdersSettings_universal_d_ListOrdersSettingsResponse = ListOrdersSettingsResponse;\n  const ecomV1OrdersSettings_universal_d_getOrdersSettings: typeof getOrdersSettings;\n  const ecomV1OrdersSettings_universal_d_updateOrdersSettings: typeof updateOrdersSettings;\n  type ecomV1OrdersSettings_universal_d_UpdateOrdersSettingsOptions = UpdateOrdersSettingsOptions;\n  namespace ecomV1OrdersSettings_universal_d {\n    export {\n      ecomV1OrdersSettings_universal_d_OrdersSettings as OrdersSettings,\n      ecomV1OrdersSettings_universal_d_InventoryUpdateTrigger as InventoryUpdateTrigger,\n      ecomV1OrdersSettings_universal_d_GetOrdersSettingsRequest as GetOrdersSettingsRequest,\n      ecomV1OrdersSettings_universal_d_GetOrdersSettingsResponse as GetOrdersSettingsResponse,\n      ecomV1OrdersSettings_universal_d_UpdateOrdersSettingsRequest as UpdateOrdersSettingsRequest,\n      ecomV1OrdersSettings_universal_d_UpdateOrdersSettingsResponse as UpdateOrdersSettingsResponse,\n      ecomV1OrdersSettings_universal_d_DeleteOrdersSettingsRequest as DeleteOrdersSettingsRequest,\n      ecomV1OrdersSettings_universal_d_DeleteOrdersSettingsResponse as DeleteOrdersSettingsResponse,\n      ecomV1OrdersSettings_universal_d_ListOrdersSettingsRequest as ListOrdersSettingsRequest,\n      ecomV1OrdersSettings_universal_d_ListOrdersSettingsResponse as ListOrdersSettingsResponse,\n      DomainEvent$6 as DomainEvent,\n      DomainEventBodyOneOf$6 as DomainEventBodyOneOf,\n      EntityCreatedEvent$6 as EntityCreatedEvent,\n      RestoreInfo$6 as RestoreInfo,\n      EntityUpdatedEvent$6 as EntityUpdatedEvent,\n      EntityDeletedEvent$6 as EntityDeletedEvent,\n      ActionEvent$6 as ActionEvent,\n      MessageEnvelope$5 as MessageEnvelope,\n      IdentificationData$6 as IdentificationData,\n      IdentificationDataIdOneOf$6 as IdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      ecomV1OrdersSettings_universal_d_getOrdersSettings as getOrdersSettings,\n      ecomV1OrdersSettings_universal_d_updateOrdersSettings as updateOrdersSettings,\n      ecomV1OrdersSettings_universal_d_UpdateOrdersSettingsOptions as UpdateOrdersSettingsOptions,\n    };\n  }\n  \n  /** PickupLocation is the main entity of PickupLocations that can be used for lorem ipsum dolor */\n  interface PickupLocation {\n      /**\n       * PickupLocation ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ShippingRuleId from ecom\n       * @internal\n       * @deprecated ShippingRuleId from ecom\n       * @replacedBy delivery_region_ids\n       * @targetRemovalDate 2024-11-01\n       */\n      shippingRuleId?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this PickupLocation was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this PickupLocation was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Pickup Location Name */\n      name?: string | null;\n      /** Pickup Location Address */\n      address?: Address$3;\n      /** Expected delivery time in free text. For example, `\"3-5 business days\"`. */\n      deliveryTime?: string | null;\n      /** Instructions for carrier. For example, `\"Please knock on the door. If unanswered, please call contact number. Thanks.\"`. */\n      instructions?: string | null;\n      /** inactive pickup locations should not be shown in checkout */\n      active?: boolean | null;\n      /** at runtime for a given pickup input, up to one rate (price) should be returned in an option. If more than one rate is valid then we return the lowest one. */\n      rates?: ConditionalRates$1[];\n      /** This pickup location is active for the following delivery regions. */\n      deliveryRegionIds?: string[];\n  }\n  /** Physical address */\n  interface Address$3 extends AddressStreetOneOf$1 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$3;\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$1 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$3;\n      addressLine?: string | null;\n  }\n  interface StreetAddress$3 {\n      number?: string;\n      name?: string;\n      /** @internal */\n      apt?: string;\n  }\n  interface ConditionalRates$1 {\n      /**\n       * there is an AND logic between all the conditions. Empty conditions means true.\n       * For example: weight > 0 and weight <= 10\n       */\n      conditions?: Condition$1[];\n      amount?: string;\n  }\n  interface Condition$1 {\n      type?: ConditionType$1;\n      /**\n       * The value in respective to the condition type\n       * Weight values should be in the same weight units of the store: KG / LB\n       * Total price is according to the store currency\n       * Quantity of items should be integers\n       */\n      value?: string;\n      operator?: LogicalOperator$1;\n  }\n  enum ConditionType$1 {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      BY_TOTAL_WEIGHT = \"BY_TOTAL_WEIGHT\",\n      BY_TOTAL_PRICE = \"BY_TOTAL_PRICE\",\n      BY_TOTAL_QUANTITY = \"BY_TOTAL_QUANTITY\"\n  }\n  enum LogicalOperator$1 {\n      UNKNOWN_LOGICAL_OPERATOR_TYPE = \"UNKNOWN_LOGICAL_OPERATOR_TYPE\",\n      EQ = \"EQ\",\n      GT = \"GT\",\n      GTE = \"GTE\",\n      LT = \"LT\",\n      LTE = \"LTE\"\n  }\n  interface DiffmatokyPayload {\n      left?: string;\n      right?: string;\n      compareChannel?: string;\n      entityId?: string;\n      errorInformation?: ErrorInformation;\n      tags?: string[];\n  }\n  interface ErrorInformation {\n      stackTrace?: string;\n  }\n  interface CreatePickupLocationRequest {\n      /** PickupLocation to be created */\n      pickupLocation: PickupLocation;\n  }\n  interface CreatePickupLocationResponse {\n      /** The created PickupLocation */\n      pickupLocation?: PickupLocation;\n  }\n  interface GetPickupLocationRequest {\n      /** Id of the PickupLocation to retrieve */\n      pickupLocationId: string;\n  }\n  interface GetPickupLocationResponse {\n      /** The retrieved PickupLocation */\n      pickupLocation?: PickupLocation;\n  }\n  interface UpdatePickupLocationRequest {\n      /** PickupLocation to be updated, may be partial */\n      pickupLocation: PickupLocation;\n      /**\n       * FieldMask for partial update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdatePickupLocationResponse {\n      /** The updated PickupLocation */\n      pickupLocation?: PickupLocation;\n  }\n  interface DeletePickupLocationRequest {\n      /** Id of the PickupLocation to delete */\n      pickupLocationId: string;\n  }\n  interface DeletePickupLocationResponse {\n  }\n  interface QueryPickupLocationRequest {\n      /** WQL expression */\n      query: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$4[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface Sorting$4 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$4;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$4 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$4 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryPickupLocationResponse {\n      /** The retrieved PickupLocations */\n      pickupLocations?: PickupLocation[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$3;\n  }\n  interface CursorPagingMetadata$3 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$4;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$4 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AddDeliveryRegionRequest {\n      /** Id of the PickupLocation to add to the delivery region */\n      pickupLocationId: string;\n      /** Id of the DeliveryRegion to add the PickupLocation to */\n      deliveryRegionId: string;\n      /** Revision of the PickupLocation */\n      revision: string | null;\n  }\n  interface AddDeliveryRegionResponse {\n      /** The updated PickupLocation */\n      pickupLocation?: PickupLocation;\n  }\n  interface RemoveDeliveryRegionRequest {\n      /** Id of the PickupLocation to add to the delivery region */\n      pickupLocationId: string;\n      /** Id of the DeliveryRegion to add the PickupLocation to */\n      deliveryRegionId: string;\n      /** Revision of the PickupLocation */\n      revision: string | null;\n  }\n  interface RemoveDeliveryRegionResponse {\n      /** The updated PickupLocation */\n      pickupLocation?: PickupLocation;\n  }\n  interface BulkCreatePickupLocationRequest {\n      pickupLocations: PickupLocation[];\n  }\n  interface BulkCreatePickupLocationResponse {\n      pickupLocations?: PickupLocation[];\n      errors?: PickupLocationError[];\n  }\n  interface PickupLocationError {\n      _id?: string;\n      error?: ApplicationError$2;\n  }\n  interface ApplicationError$2 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkUpdatePickupLocationRequest {\n      pickupLocations: PickupLocation[];\n  }\n  interface BulkUpdatePickupLocationResponse {\n      pickupLocations?: PickupLocation[];\n      errors?: PickupLocationError[];\n  }\n  interface BulkDeletePickupLocationRequest {\n      pickupLocationIds: string[];\n  }\n  interface BulkDeletePickupLocationResponse {\n      errors?: PickupLocationError[];\n  }\n  interface Empty$3 {\n  }\n  interface DomainEvent$5 extends DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n  }\n  interface EntityCreatedEvent$5 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$5;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$5 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$5 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$5 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$5 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$5;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new PickupLocation\n   * @param pickupLocation - PickupLocation to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField pickupLocation\n   * @requiredField pickupLocation.address\n   * @permissionId ECOM.PICKUP_LOCATION_CREATE\n   * @adminMethod\n   * @returns The created PickupLocation\n   */\n  function createPickupLocation(pickupLocation: PickupLocation): Promise<PickupLocation>;\n  /**\n   * Get a PickupLocation by id\n   * @param pickupLocationId - Id of the PickupLocation to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField pickupLocationId\n   * @permissionId ECOM.PICKUP_LOCATION_READ\n   * @adminMethod\n   * @returns The retrieved PickupLocation\n   */\n  function getPickupLocation(pickupLocationId: string): Promise<PickupLocation>;\n  /**\n   * Update a PickupLocation\n   * Delivery regions cannot be updated using this method, use AddDeliveryRegion and RemoveDeliveryRegion instead.\n   * @param _id - PickupLocation ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField pickupLocation\n   * @requiredField pickupLocation.revision\n   * @permissionId ECOM.PICKUP_LOCATION_UPDATE\n   * @adminMethod\n   * @returns The updated PickupLocation\n   */\n  function updatePickupLocation(_id: string | null, pickupLocation: UpdatePickupLocation, options?: UpdatePickupLocationOptions): Promise<PickupLocation>;\n  interface UpdatePickupLocation {\n      /**\n       * PickupLocation ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ShippingRuleId from ecom\n       * @internal\n       * @deprecated ShippingRuleId from ecom\n       * @replacedBy delivery_region_ids\n       * @targetRemovalDate 2024-11-01\n       */\n      shippingRuleId?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this PickupLocation was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this PickupLocation was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Pickup Location Name */\n      name?: string | null;\n      /** Pickup Location Address */\n      address?: Address$3;\n      /** Expected delivery time in free text. For example, `\"3-5 business days\"`. */\n      deliveryTime?: string | null;\n      /** Instructions for carrier. For example, `\"Please knock on the door. If unanswered, please call contact number. Thanks.\"`. */\n      instructions?: string | null;\n      /** inactive pickup locations should not be shown in checkout */\n      active?: boolean | null;\n      /** at runtime for a given pickup input, up to one rate (price) should be returned in an option. If more than one rate is valid then we return the lowest one. */\n      rates?: ConditionalRates$1[];\n      /** This pickup location is active for the following delivery regions. */\n      deliveryRegionIds?: string[];\n  }\n  interface UpdatePickupLocationOptions {\n      /**\n       * FieldMask for partial update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Delete a PickupLocation\n   * @param pickupLocationId - Id of the PickupLocation to delete\n   * @public\n   * @documentationMaturity preview\n   * @requiredField pickupLocationId\n   * @permissionId ECOM.PICKUP_LOCATION_DELETE\n   * @adminMethod\n   */\n  function deletePickupLocation(pickupLocationId: string): Promise<void>;\n  /**\n   * Query PickupLocations using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.PICKUP_LOCATION_READ\n   * @adminMethod\n   */\n  function queryPickupLocation(): PickupLocationsQueryBuilder;\n  interface QueryCursorResult$4 {\n      cursors: Cursors$4;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface PickupLocationsQueryResult extends QueryCursorResult$4 {\n      items: PickupLocation[];\n      query: PickupLocationsQueryBuilder;\n      next: () => Promise<PickupLocationsQueryResult>;\n      prev: () => Promise<PickupLocationsQueryResult>;\n  }\n  interface PickupLocationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_createdDate' | '_updatedDate' | 'name' | 'address.country' | 'address.subdivision' | 'address.city' | 'deliveryRegionIds', value: any) => PickupLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_createdDate' | '_updatedDate' | 'name' | 'address.country' | 'address.subdivision' | 'address.city' | 'deliveryRegionIds', value: any) => PickupLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => PickupLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => PickupLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => PickupLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => PickupLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'name' | 'address.country' | 'address.subdivision' | 'address.city', value: string) => PickupLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_createdDate' | '_updatedDate' | 'name' | 'address.country' | 'address.subdivision' | 'address.city' | 'deliveryRegionIds', value: any[]) => PickupLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasAll: (propertyName: 'deliveryRegionIds', value: any[]) => PickupLocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_createdDate' | '_updatedDate' | 'name' | 'address.country' | 'address.subdivision' | 'address.city' | 'deliveryRegionIds', value: any) => PickupLocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_createdDate' | '_updatedDate' | 'name' | 'address.country' | 'address.subdivision' | 'address.city' | 'deliveryRegionIds', value: boolean) => PickupLocationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => PickupLocationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => PickupLocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<PickupLocationsQueryResult>;\n  }\n  /**\n   * Add a DeliveryRegion to a PickupLocation\n   * @param pickupLocationId - Id of the PickupLocation to add to the delivery region\n   * @param deliveryRegionId - Id of the DeliveryRegion to add the PickupLocation to\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryRegionId\n   * @requiredField options\n   * @requiredField options.revision\n   * @requiredField pickupLocationId\n   * @permissionId ECOM.PICKUP_LOCATION_UPDATE\n   * @adminMethod\n   */\n  function addDeliveryRegion(pickupLocationId: string, deliveryRegionId: string, options: AddDeliveryRegionOptions): Promise<AddDeliveryRegionResponse>;\n  interface AddDeliveryRegionOptions {\n      /** Revision of the PickupLocation */\n      revision: string | null;\n  }\n  /**\n   * Remove a DeliveryRegion from a PickupLocation\n   * @param pickupLocationId - Id of the PickupLocation to add to the delivery region\n   * @param deliveryRegionId - Id of the DeliveryRegion to add the PickupLocation to\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deliveryRegionId\n   * @requiredField options\n   * @requiredField options.revision\n   * @requiredField pickupLocationId\n   * @permissionId ECOM.PICKUP_LOCATION_UPDATE\n   * @adminMethod\n   */\n  function removeDeliveryRegion(pickupLocationId: string, deliveryRegionId: string, options: RemoveDeliveryRegionOptions): Promise<RemoveDeliveryRegionResponse>;\n  interface RemoveDeliveryRegionOptions {\n      /** Revision of the PickupLocation */\n      revision: string | null;\n  }\n  /**\n   * Bulk Create for new PickupLocation\n   * @public\n   * @documentationMaturity preview\n   * @requiredField pickupLocations\n   * @requiredField pickupLocations.address\n   * @permissionId ECOM.PICKUP_LOCATION_CREATE\n   * @adminMethod\n   */\n  function bulkCreatePickupLocation(pickupLocations: PickupLocation[]): Promise<BulkCreatePickupLocationResponse>;\n  /**\n   * Update a PickupLocation\n   * @public\n   * @documentationMaturity preview\n   * @requiredField pickupLocations\n   * @requiredField pickupLocations._id\n   * @requiredField pickupLocations.revision\n   * @permissionId ECOM.PICKUP_LOCATION_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdatePickupLocation(pickupLocations: PickupLocation[]): Promise<BulkUpdatePickupLocationResponse>;\n  /**\n   * Delete a PickupLocation\n   * @public\n   * @documentationMaturity preview\n   * @requiredField pickupLocationIds\n   * @permissionId ECOM.PICKUP_LOCATION_DELETE\n   * @adminMethod\n   */\n  function bulkDeletePickupLocation(pickupLocationIds: string[]): Promise<BulkDeletePickupLocationResponse>;\n  \n  type ecomV1PickupLocation_universal_d_PickupLocation = PickupLocation;\n  type ecomV1PickupLocation_universal_d_DiffmatokyPayload = DiffmatokyPayload;\n  type ecomV1PickupLocation_universal_d_ErrorInformation = ErrorInformation;\n  type ecomV1PickupLocation_universal_d_CreatePickupLocationRequest = CreatePickupLocationRequest;\n  type ecomV1PickupLocation_universal_d_CreatePickupLocationResponse = CreatePickupLocationResponse;\n  type ecomV1PickupLocation_universal_d_GetPickupLocationRequest = GetPickupLocationRequest;\n  type ecomV1PickupLocation_universal_d_GetPickupLocationResponse = GetPickupLocationResponse;\n  type ecomV1PickupLocation_universal_d_UpdatePickupLocationRequest = UpdatePickupLocationRequest;\n  type ecomV1PickupLocation_universal_d_UpdatePickupLocationResponse = UpdatePickupLocationResponse;\n  type ecomV1PickupLocation_universal_d_DeletePickupLocationRequest = DeletePickupLocationRequest;\n  type ecomV1PickupLocation_universal_d_DeletePickupLocationResponse = DeletePickupLocationResponse;\n  type ecomV1PickupLocation_universal_d_QueryPickupLocationRequest = QueryPickupLocationRequest;\n  type ecomV1PickupLocation_universal_d_QueryPickupLocationResponse = QueryPickupLocationResponse;\n  type ecomV1PickupLocation_universal_d_AddDeliveryRegionRequest = AddDeliveryRegionRequest;\n  type ecomV1PickupLocation_universal_d_AddDeliveryRegionResponse = AddDeliveryRegionResponse;\n  type ecomV1PickupLocation_universal_d_RemoveDeliveryRegionRequest = RemoveDeliveryRegionRequest;\n  type ecomV1PickupLocation_universal_d_RemoveDeliveryRegionResponse = RemoveDeliveryRegionResponse;\n  type ecomV1PickupLocation_universal_d_BulkCreatePickupLocationRequest = BulkCreatePickupLocationRequest;\n  type ecomV1PickupLocation_universal_d_BulkCreatePickupLocationResponse = BulkCreatePickupLocationResponse;\n  type ecomV1PickupLocation_universal_d_PickupLocationError = PickupLocationError;\n  type ecomV1PickupLocation_universal_d_BulkUpdatePickupLocationRequest = BulkUpdatePickupLocationRequest;\n  type ecomV1PickupLocation_universal_d_BulkUpdatePickupLocationResponse = BulkUpdatePickupLocationResponse;\n  type ecomV1PickupLocation_universal_d_BulkDeletePickupLocationRequest = BulkDeletePickupLocationRequest;\n  type ecomV1PickupLocation_universal_d_BulkDeletePickupLocationResponse = BulkDeletePickupLocationResponse;\n  const ecomV1PickupLocation_universal_d_createPickupLocation: typeof createPickupLocation;\n  const ecomV1PickupLocation_universal_d_getPickupLocation: typeof getPickupLocation;\n  const ecomV1PickupLocation_universal_d_updatePickupLocation: typeof updatePickupLocation;\n  type ecomV1PickupLocation_universal_d_UpdatePickupLocation = UpdatePickupLocation;\n  type ecomV1PickupLocation_universal_d_UpdatePickupLocationOptions = UpdatePickupLocationOptions;\n  const ecomV1PickupLocation_universal_d_deletePickupLocation: typeof deletePickupLocation;\n  const ecomV1PickupLocation_universal_d_queryPickupLocation: typeof queryPickupLocation;\n  type ecomV1PickupLocation_universal_d_PickupLocationsQueryResult = PickupLocationsQueryResult;\n  type ecomV1PickupLocation_universal_d_PickupLocationsQueryBuilder = PickupLocationsQueryBuilder;\n  const ecomV1PickupLocation_universal_d_addDeliveryRegion: typeof addDeliveryRegion;\n  type ecomV1PickupLocation_universal_d_AddDeliveryRegionOptions = AddDeliveryRegionOptions;\n  const ecomV1PickupLocation_universal_d_removeDeliveryRegion: typeof removeDeliveryRegion;\n  type ecomV1PickupLocation_universal_d_RemoveDeliveryRegionOptions = RemoveDeliveryRegionOptions;\n  const ecomV1PickupLocation_universal_d_bulkCreatePickupLocation: typeof bulkCreatePickupLocation;\n  const ecomV1PickupLocation_universal_d_bulkUpdatePickupLocation: typeof bulkUpdatePickupLocation;\n  const ecomV1PickupLocation_universal_d_bulkDeletePickupLocation: typeof bulkDeletePickupLocation;\n  namespace ecomV1PickupLocation_universal_d {\n    export {\n      ecomV1PickupLocation_universal_d_PickupLocation as PickupLocation,\n      Address$3 as Address,\n      AddressStreetOneOf$1 as AddressStreetOneOf,\n      StreetAddress$3 as StreetAddress,\n      ConditionalRates$1 as ConditionalRates,\n      Condition$1 as Condition,\n      ConditionType$1 as ConditionType,\n      LogicalOperator$1 as LogicalOperator,\n      ecomV1PickupLocation_universal_d_DiffmatokyPayload as DiffmatokyPayload,\n      ecomV1PickupLocation_universal_d_ErrorInformation as ErrorInformation,\n      ecomV1PickupLocation_universal_d_CreatePickupLocationRequest as CreatePickupLocationRequest,\n      ecomV1PickupLocation_universal_d_CreatePickupLocationResponse as CreatePickupLocationResponse,\n      ecomV1PickupLocation_universal_d_GetPickupLocationRequest as GetPickupLocationRequest,\n      ecomV1PickupLocation_universal_d_GetPickupLocationResponse as GetPickupLocationResponse,\n      ecomV1PickupLocation_universal_d_UpdatePickupLocationRequest as UpdatePickupLocationRequest,\n      ecomV1PickupLocation_universal_d_UpdatePickupLocationResponse as UpdatePickupLocationResponse,\n      ecomV1PickupLocation_universal_d_DeletePickupLocationRequest as DeletePickupLocationRequest,\n      ecomV1PickupLocation_universal_d_DeletePickupLocationResponse as DeletePickupLocationResponse,\n      ecomV1PickupLocation_universal_d_QueryPickupLocationRequest as QueryPickupLocationRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Sorting$4 as Sorting,\n      SortOrder$4 as SortOrder,\n      Paging$1 as Paging,\n      CursorPaging$4 as CursorPaging,\n      ecomV1PickupLocation_universal_d_QueryPickupLocationResponse as QueryPickupLocationResponse,\n      CursorPagingMetadata$3 as CursorPagingMetadata,\n      Cursors$4 as Cursors,\n      ecomV1PickupLocation_universal_d_AddDeliveryRegionRequest as AddDeliveryRegionRequest,\n      ecomV1PickupLocation_universal_d_AddDeliveryRegionResponse as AddDeliveryRegionResponse,\n      ecomV1PickupLocation_universal_d_RemoveDeliveryRegionRequest as RemoveDeliveryRegionRequest,\n      ecomV1PickupLocation_universal_d_RemoveDeliveryRegionResponse as RemoveDeliveryRegionResponse,\n      ecomV1PickupLocation_universal_d_BulkCreatePickupLocationRequest as BulkCreatePickupLocationRequest,\n      ecomV1PickupLocation_universal_d_BulkCreatePickupLocationResponse as BulkCreatePickupLocationResponse,\n      ecomV1PickupLocation_universal_d_PickupLocationError as PickupLocationError,\n      ApplicationError$2 as ApplicationError,\n      ecomV1PickupLocation_universal_d_BulkUpdatePickupLocationRequest as BulkUpdatePickupLocationRequest,\n      ecomV1PickupLocation_universal_d_BulkUpdatePickupLocationResponse as BulkUpdatePickupLocationResponse,\n      ecomV1PickupLocation_universal_d_BulkDeletePickupLocationRequest as BulkDeletePickupLocationRequest,\n      ecomV1PickupLocation_universal_d_BulkDeletePickupLocationResponse as BulkDeletePickupLocationResponse,\n      Empty$3 as Empty,\n      DomainEvent$5 as DomainEvent,\n      DomainEventBodyOneOf$5 as DomainEventBodyOneOf,\n      EntityCreatedEvent$5 as EntityCreatedEvent,\n      RestoreInfo$5 as RestoreInfo,\n      EntityUpdatedEvent$5 as EntityUpdatedEvent,\n      EntityDeletedEvent$5 as EntityDeletedEvent,\n      ActionEvent$5 as ActionEvent,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      ecomV1PickupLocation_universal_d_createPickupLocation as createPickupLocation,\n      ecomV1PickupLocation_universal_d_getPickupLocation as getPickupLocation,\n      ecomV1PickupLocation_universal_d_updatePickupLocation as updatePickupLocation,\n      ecomV1PickupLocation_universal_d_UpdatePickupLocation as UpdatePickupLocation,\n      ecomV1PickupLocation_universal_d_UpdatePickupLocationOptions as UpdatePickupLocationOptions,\n      ecomV1PickupLocation_universal_d_deletePickupLocation as deletePickupLocation,\n      ecomV1PickupLocation_universal_d_queryPickupLocation as queryPickupLocation,\n      ecomV1PickupLocation_universal_d_PickupLocationsQueryResult as PickupLocationsQueryResult,\n      ecomV1PickupLocation_universal_d_PickupLocationsQueryBuilder as PickupLocationsQueryBuilder,\n      ecomV1PickupLocation_universal_d_addDeliveryRegion as addDeliveryRegion,\n      ecomV1PickupLocation_universal_d_AddDeliveryRegionOptions as AddDeliveryRegionOptions,\n      ecomV1PickupLocation_universal_d_removeDeliveryRegion as removeDeliveryRegion,\n      ecomV1PickupLocation_universal_d_RemoveDeliveryRegionOptions as RemoveDeliveryRegionOptions,\n      ecomV1PickupLocation_universal_d_bulkCreatePickupLocation as bulkCreatePickupLocation,\n      ecomV1PickupLocation_universal_d_bulkUpdatePickupLocation as bulkUpdatePickupLocation,\n      ecomV1PickupLocation_universal_d_bulkDeletePickupLocation as bulkDeletePickupLocation,\n    };\n  }\n  \n  interface ShippingOption$1 {\n      /**\n       * ShippingOption ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the ShippingOption is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the ShippingOption.\n       *\n       * Ignored when creating a ShippingOption.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the ShippingOption was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the ShippingOption was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Associated delivery region id. */\n      deliveryRegionId?: string;\n      /** Delivery option configured for the ShippingOption */\n      title?: string | null;\n      estimateDeliveryTime?: string | null;\n      /** at runtime for a given shipment input, up to one rate (price) should be returned in an option. If more than one rate is valid then we return the lowest one. */\n      rates?: ConditionalRates[];\n      /** Data Extensions */\n      extendedFields?: ExtendedFields$2;\n  }\n  interface ConditionalRates {\n      /**\n       * there is an AND logic between all the conditions. Empty conditions means true.\n       * For example: weight > 0 and weight <= 10\n       */\n      conditions?: Condition[];\n      amount?: string;\n  }\n  interface Condition {\n      type?: ConditionType;\n      /**\n       * The value in respective to the condition type\n       * Weight values should be in the same weight units of the store: KG / LB\n       * Total price is according to the store currency\n       * Quantity of items should be integers\n       */\n      value?: string;\n      operator?: LogicalOperator;\n  }\n  enum ConditionType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      BY_TOTAL_WEIGHT = \"BY_TOTAL_WEIGHT\",\n      BY_TOTAL_PRICE = \"BY_TOTAL_PRICE\",\n      BY_TOTAL_QUANTITY = \"BY_TOTAL_QUANTITY\"\n  }\n  enum LogicalOperator {\n      UNKNOWN_LOGICAL_OPERATOR_TYPE = \"UNKNOWN_LOGICAL_OPERATOR_TYPE\",\n      EQ = \"EQ\",\n      GT = \"GT\",\n      GTE = \"GTE\",\n      LT = \"LT\",\n      LTE = \"LTE\"\n  }\n  interface ExtendedFields$2 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateShippingOptionRequest {\n      /** ShippingOption to be created. */\n      shippingOption: ShippingOption$1;\n  }\n  interface CreateShippingOptionResponse {\n      /** The created ShippingOption. */\n      shippingOption?: ShippingOption$1;\n  }\n  interface GetShippingOptionRequest {\n      /** ID of the ShippingOption to retrieve. */\n      shippingOptionId: string;\n  }\n  interface GetShippingOptionResponse {\n      /** The requested ShippingOption. */\n      shippingOption?: ShippingOption$1;\n  }\n  interface UpdateShippingOptionRequest {\n      /** ShippingOption to be updated, may be partial. */\n      shippingOption: ShippingOption$1;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateShippingOptionResponse {\n      /** Updated ShippingOption. */\n      shippingOption?: ShippingOption$1;\n  }\n  interface DeleteShippingOptionRequest {\n      /** Id of the ShippingOption to delete. */\n      shippingOptionId: string;\n  }\n  interface DeleteShippingOptionResponse {\n  }\n  interface QueryShippingOptionsRequest {\n      /** WQL expression. */\n      query?: CursorQuery$2;\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$3 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryShippingOptionsResponse {\n      /** List of ShippingOptions. */\n      shippingOptions?: ShippingOption$1[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$3;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$3 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateExtendedFieldsRequest$1 {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse$1 {\n      /** Updated ShippingOption. */\n      shippingOption?: ShippingOption$1;\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface Empty$2 {\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a ShippingOption.\n   *\n   * The request body must include shipping option and delivery region associated to.\n   * @param shippingOption - ShippingOption to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField shippingOption\n   * @permissionId ECOM.SHIPPING_OPTION_CREATE\n   * @adminMethod\n   * @returns The created ShippingOption.\n   */\n  function createShippingOption(shippingOption: ShippingOption$1): Promise<ShippingOption$1>;\n  /**\n   * Retrieves a ShippingOption.\n   * @param shippingOptionId - ID of the ShippingOption to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField shippingOptionId\n   * @permissionId ECOM.SHIPPING_OPTION_READ\n   * @adminMethod\n   * @returns The requested ShippingOption.\n   */\n  function getShippingOption(shippingOptionId: string): Promise<ShippingOption$1>;\n  /**\n   * Updates a ShippingOption.\n   *\n   *\n   * Each time the ShippingOption is updated,\n   * `revision` increments by 1.\n   * The current `revision` must be passed when updating the ShippingOption.\n   * This ensures you're working with the latest ShippingOption\n   * and prevents unintended overwrites.\n   * @param _id - ShippingOption ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField shippingOption\n   * @requiredField shippingOption.revision\n   * @permissionId ECOM.SHIPPING_OPTION_UPDATE\n   * @adminMethod\n   * @returns Updated ShippingOption.\n   */\n  function updateShippingOption(_id: string | null, shippingOption: UpdateShippingOption, options?: UpdateShippingOptionOptions): Promise<ShippingOption$1>;\n  interface UpdateShippingOption {\n      /**\n       * ShippingOption ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the ShippingOption is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the ShippingOption.\n       *\n       * Ignored when creating a ShippingOption.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the ShippingOption was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the ShippingOption was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Associated delivery region id. */\n      deliveryRegionId?: string;\n      /** Delivery option configured for the ShippingOption */\n      title?: string | null;\n      estimateDeliveryTime?: string | null;\n      /** at runtime for a given shipment input, up to one rate (price) should be returned in an option. If more than one rate is valid then we return the lowest one. */\n      rates?: ConditionalRates[];\n      /** Data Extensions */\n      extendedFields?: ExtendedFields$2;\n  }\n  interface UpdateShippingOptionOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a ShippingOption.\n   * Deleting a ShippingOption permanently removes them from the ShippingOption List.\n   * @param shippingOptionId - Id of the ShippingOption to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField shippingOptionId\n   * @permissionId ECOM.SHIPPING_OPTION_DELETE\n   * @adminMethod\n   */\n  function deleteShippingOption(shippingOptionId: string): Promise<void>;\n  /**\n   * Retrieves a list of ShippingOptions, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 1,000 ShippingOptions can be returned per request.\n   *\n   * To learn how to query ShippingOptions, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.SHIPPING_OPTION_READ\n   * @adminMethod\n   */\n  function queryShippingOptions(): ShippingOptionsQueryBuilder;\n  interface QueryCursorResult$3 {\n      cursors: Cursors$3;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ShippingOptionsQueryResult extends QueryCursorResult$3 {\n      items: ShippingOption$1[];\n      query: ShippingOptionsQueryBuilder;\n      next: () => Promise<ShippingOptionsQueryResult>;\n      prev: () => Promise<ShippingOptionsQueryResult>;\n  }\n  interface ShippingOptionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'deliveryRegionId', value: any) => ShippingOptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'deliveryRegionId', value: any) => ShippingOptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'deliveryRegionId', value: string) => ShippingOptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'deliveryRegionId', value: any[]) => ShippingOptionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'deliveryRegionId', value: any) => ShippingOptionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'deliveryRegionId', value: boolean) => ShippingOptionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'deliveryRegionId'>) => ShippingOptionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'deliveryRegionId'>) => ShippingOptionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ShippingOptionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ShippingOptionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ShippingOptionsQueryResult>;\n  }\n  /**\n   * Updates extended fields of a ShippingOption without incrementing revision\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId ECOM.SHIPPING_OPTION_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields$1(_id: string, namespace: string, options: UpdateExtendedFieldsOptions$1): Promise<UpdateExtendedFieldsResponse$1>;\n  interface UpdateExtendedFieldsOptions$1 {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  \n  type ecomV1ShippingOption_universal_d_ConditionalRates = ConditionalRates;\n  type ecomV1ShippingOption_universal_d_Condition = Condition;\n  type ecomV1ShippingOption_universal_d_ConditionType = ConditionType;\n  const ecomV1ShippingOption_universal_d_ConditionType: typeof ConditionType;\n  type ecomV1ShippingOption_universal_d_LogicalOperator = LogicalOperator;\n  const ecomV1ShippingOption_universal_d_LogicalOperator: typeof LogicalOperator;\n  type ecomV1ShippingOption_universal_d_CreateShippingOptionRequest = CreateShippingOptionRequest;\n  type ecomV1ShippingOption_universal_d_CreateShippingOptionResponse = CreateShippingOptionResponse;\n  type ecomV1ShippingOption_universal_d_GetShippingOptionRequest = GetShippingOptionRequest;\n  type ecomV1ShippingOption_universal_d_GetShippingOptionResponse = GetShippingOptionResponse;\n  type ecomV1ShippingOption_universal_d_UpdateShippingOptionRequest = UpdateShippingOptionRequest;\n  type ecomV1ShippingOption_universal_d_UpdateShippingOptionResponse = UpdateShippingOptionResponse;\n  type ecomV1ShippingOption_universal_d_DeleteShippingOptionRequest = DeleteShippingOptionRequest;\n  type ecomV1ShippingOption_universal_d_DeleteShippingOptionResponse = DeleteShippingOptionResponse;\n  type ecomV1ShippingOption_universal_d_QueryShippingOptionsRequest = QueryShippingOptionsRequest;\n  type ecomV1ShippingOption_universal_d_QueryShippingOptionsResponse = QueryShippingOptionsResponse;\n  const ecomV1ShippingOption_universal_d_createShippingOption: typeof createShippingOption;\n  const ecomV1ShippingOption_universal_d_getShippingOption: typeof getShippingOption;\n  const ecomV1ShippingOption_universal_d_updateShippingOption: typeof updateShippingOption;\n  type ecomV1ShippingOption_universal_d_UpdateShippingOption = UpdateShippingOption;\n  type ecomV1ShippingOption_universal_d_UpdateShippingOptionOptions = UpdateShippingOptionOptions;\n  const ecomV1ShippingOption_universal_d_deleteShippingOption: typeof deleteShippingOption;\n  const ecomV1ShippingOption_universal_d_queryShippingOptions: typeof queryShippingOptions;\n  type ecomV1ShippingOption_universal_d_ShippingOptionsQueryResult = ShippingOptionsQueryResult;\n  type ecomV1ShippingOption_universal_d_ShippingOptionsQueryBuilder = ShippingOptionsQueryBuilder;\n  namespace ecomV1ShippingOption_universal_d {\n    export {\n      ShippingOption$1 as ShippingOption,\n      ecomV1ShippingOption_universal_d_ConditionalRates as ConditionalRates,\n      ecomV1ShippingOption_universal_d_Condition as Condition,\n      ecomV1ShippingOption_universal_d_ConditionType as ConditionType,\n      ecomV1ShippingOption_universal_d_LogicalOperator as LogicalOperator,\n      ExtendedFields$2 as ExtendedFields,\n      ecomV1ShippingOption_universal_d_CreateShippingOptionRequest as CreateShippingOptionRequest,\n      ecomV1ShippingOption_universal_d_CreateShippingOptionResponse as CreateShippingOptionResponse,\n      ecomV1ShippingOption_universal_d_GetShippingOptionRequest as GetShippingOptionRequest,\n      ecomV1ShippingOption_universal_d_GetShippingOptionResponse as GetShippingOptionResponse,\n      ecomV1ShippingOption_universal_d_UpdateShippingOptionRequest as UpdateShippingOptionRequest,\n      ecomV1ShippingOption_universal_d_UpdateShippingOptionResponse as UpdateShippingOptionResponse,\n      ecomV1ShippingOption_universal_d_DeleteShippingOptionRequest as DeleteShippingOptionRequest,\n      ecomV1ShippingOption_universal_d_DeleteShippingOptionResponse as DeleteShippingOptionResponse,\n      ecomV1ShippingOption_universal_d_QueryShippingOptionsRequest as QueryShippingOptionsRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      CursorPaging$3 as CursorPaging,\n      ecomV1ShippingOption_universal_d_QueryShippingOptionsResponse as QueryShippingOptionsResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$3 as Cursors,\n      UpdateExtendedFieldsRequest$1 as UpdateExtendedFieldsRequest,\n      UpdateExtendedFieldsResponse$1 as UpdateExtendedFieldsResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      Empty$2 as Empty,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      ecomV1ShippingOption_universal_d_createShippingOption as createShippingOption,\n      ecomV1ShippingOption_universal_d_getShippingOption as getShippingOption,\n      ecomV1ShippingOption_universal_d_updateShippingOption as updateShippingOption,\n      ecomV1ShippingOption_universal_d_UpdateShippingOption as UpdateShippingOption,\n      ecomV1ShippingOption_universal_d_UpdateShippingOptionOptions as UpdateShippingOptionOptions,\n      ecomV1ShippingOption_universal_d_deleteShippingOption as deleteShippingOption,\n      ecomV1ShippingOption_universal_d_queryShippingOptions as queryShippingOptions,\n      ecomV1ShippingOption_universal_d_ShippingOptionsQueryResult as ShippingOptionsQueryResult,\n      ecomV1ShippingOption_universal_d_ShippingOptionsQueryBuilder as ShippingOptionsQueryBuilder,\n      updateExtendedFields$1 as updateExtendedFields,\n      UpdateExtendedFieldsOptions$1 as UpdateExtendedFieldsOptions,\n    };\n  }\n  \n  interface ShippoConfiguration {\n      /**\n       * ShippoConfiguration ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** @readonly */\n      revision?: string | null;\n      /**\n       * Date and time the ShippoConfiguration was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the ShippoConfiguration was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Associated delivery region ID. */\n      deliveryRegionId?: string | null;\n      /** Settings of USPS domestic services. */\n      domesticServices?: DomesticServiceSettings[];\n      /** Settings of USPS international services. */\n      internationalServices?: InternationalServiceSettings[];\n      /** Package type. */\n      packageType?: PackageType;\n      /** Package details. */\n      packageDetails?: PackageDetails;\n      /** Location ID from OS location service. */\n      osLocationId?: string | null;\n      /**\n       * Ship from address materialized from OS location.\n       * @readonly\n       */\n      shipFromAddress?: Address$2;\n      /** Backup weight. */\n      backupWeight?: string | null;\n      /** Data extensions. */\n      extendedFields?: ExtendedFields$1;\n  }\n  interface DomesticServiceSettings {\n      /** USPS domestic service. */\n      service?: DomesticService;\n      /** Service settings. */\n      serviceSettings?: ServiceSettings;\n  }\n  enum DomesticService {\n      UNKNOWN_DOMESTIC_SERVICE = \"UNKNOWN_DOMESTIC_SERVICE\",\n      GROUND_ADVANTAGE = \"GROUND_ADVANTAGE\",\n      PRIORITY_MAIL = \"PRIORITY_MAIL\",\n      PRIORITY_MAIL_EXPRESS = \"PRIORITY_MAIL_EXPRESS\"\n  }\n  interface ServiceSettings {\n      /** Estimated delivery time. */\n      estimatedDeliveryTime?: string | null;\n      /** Handling fee. */\n      handlingFee?: HandlingFee;\n      /** Amount above which free delivery is offered. */\n      freeDeliveryMinimumAmount?: string | null;\n  }\n  interface HandlingFee {\n      /** Value that will be used to calculate the fee. For example, percentage fee with value 5% to calculate the fee. */\n      value?: string;\n      /** How to calculate the fee: fixed amount or by percentage. */\n      calculationType?: CalculationType;\n  }\n  enum CalculationType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      FIXED = \"FIXED\",\n      PERCENTAGE = \"PERCENTAGE\"\n  }\n  interface InternationalServiceSettings {\n      /** USPS international service. */\n      service?: InternationalService;\n      /** Service settings. */\n      serviceSettings?: ServiceSettings;\n  }\n  enum InternationalService {\n      UNKNOWN_INTERNATIONAL_SERVICE = \"UNKNOWN_INTERNATIONAL_SERVICE\",\n      FIRST_CLASS_PACKAGE_INTERNATIONAL = \"FIRST_CLASS_PACKAGE_INTERNATIONAL\",\n      PRIORITY_MAIL_INTERNATIONAL = \"PRIORITY_MAIL_INTERNATIONAL\",\n      PRIORITY_MAIL_EXPRESS_INTERNATIONAL = \"PRIORITY_MAIL_EXPRESS_INTERNATIONAL\"\n  }\n  enum PackageType {\n      UNKNOWN_PACKAGE_TYPE = \"UNKNOWN_PACKAGE_TYPE\",\n      CUSTOM = \"CUSTOM\",\n      FLAT_RATE_ENVELOPE = \"FLAT_RATE_ENVELOPE\",\n      PADDED_FLAT_RATE_ENVELOPE = \"PADDED_FLAT_RATE_ENVELOPE\",\n      SMALL_FLAT_RATE_BOX = \"SMALL_FLAT_RATE_BOX\",\n      MEDIUM_FLAT_RATE_BOX_1 = \"MEDIUM_FLAT_RATE_BOX_1\",\n      MEDIUM_FLAT_RATE_BOX_2 = \"MEDIUM_FLAT_RATE_BOX_2\",\n      LARGE_FLAT_RATE_BOX = \"LARGE_FLAT_RATE_BOX\"\n  }\n  interface PackageDetails {\n      /**\n       * Package name. Must be set when package type is CUSTOM.\n       * For other package types, it is read-only, and an exception will be thrown\n       * if it set when creating a ShippoConfiguration.\n       */\n      name?: string | null;\n      /**\n       * Package dimensions. Can only be set when package type is CUSTOM.\n       * For other package types, it is read-only, and an exception will be thrown\n       * if it set when creating a ShippoConfiguration.\n       */\n      dimensions?: PackageDimensions;\n      /**\n       * Maximum number of products. Must be set when package type is NOT CUSTOM.\n       * Otherwise, if the package type is CUSTOM, this field cannot be set and an\n       * exception will be thrown if it is set when creating a ShippoConfiguration.\n       */\n      maxNumberOfProducts?: string | null;\n  }\n  interface PackageDimensions {\n      /** Package length. */\n      length?: string;\n      /** Package width. */\n      width?: string;\n      /** Package height. */\n      height?: string;\n  }\n  /** Physical address */\n  interface Address$2 {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress$2;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation$2;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress$2 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$2 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateShippoConfigurationRequest {\n      /** ShippoConfiguration to be created. */\n      shippoConfiguration: ShippoConfiguration;\n      backupRate?: string | null;\n  }\n  interface CreateShippoConfigurationResponse {\n      /** The created ShippoConfiguration. */\n      shippoConfiguration?: ShippoConfiguration;\n  }\n  interface GetShippoConfigurationRequest {\n      /** ID of the ShippoConfiguration to retrieve. */\n      shippoConfigurationId: string;\n  }\n  interface GetShippoConfigurationResponse {\n      /** The requested ShippoConfiguration. */\n      shippoConfiguration?: ShippoConfiguration;\n  }\n  interface UpdateShippoConfigurationRequest {\n      /** ShippoConfiguration to be updated, may be partial. */\n      shippoConfiguration: ShippoConfiguration;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateShippoConfigurationResponse {\n      /** Updated ShippoConfiguration. */\n      shippoConfiguration?: ShippoConfiguration;\n  }\n  interface DeleteShippoConfigurationRequest {\n      /** ID of the ShippoConfiguration to delete. */\n      shippoConfigurationId: string;\n  }\n  interface DeleteShippoConfigurationResponse {\n  }\n  interface QueryShippoConfigurationsRequest {\n      /** WQL expression. */\n      query?: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryShippoConfigurationsResponse {\n      /** List of ShippoConfigurations. */\n      shippoConfigurations?: ShippoConfiguration[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$2;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** Updated ShippoConfiguration. */\n      shippoConfiguration?: ShippoConfiguration;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a ShippoConfiguration.\n   * @param shippoConfiguration - ShippoConfiguration to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField shippoConfiguration\n   * @requiredField shippoConfiguration.deliveryRegionId\n   * @requiredField shippoConfiguration.osLocationId\n   * @requiredField shippoConfiguration.packageDetails\n   * @requiredField shippoConfiguration.packageDetails.dimensions.height\n   * @requiredField shippoConfiguration.packageDetails.dimensions.length\n   * @requiredField shippoConfiguration.packageDetails.dimensions.width\n   * @requiredField shippoConfiguration.packageType\n   * @permissionId ECOM.SHIPPO_CONFIGURATION_CREATE\n   * @adminMethod\n   * @returns The created ShippoConfiguration.\n   */\n  function createShippoConfiguration(shippoConfiguration: ShippoConfiguration, options?: CreateShippoConfigurationOptions): Promise<ShippoConfiguration>;\n  interface CreateShippoConfigurationOptions {\n      backupRate?: string | null;\n  }\n  /**\n   * Retrieves a ShippoConfiguration.\n   * @param shippoConfigurationId - ID of the ShippoConfiguration to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField shippoConfigurationId\n   * @permissionId ECOM.SHIPPO_CONFIGURATION_READ\n   * @adminMethod\n   * @returns The requested ShippoConfiguration.\n   */\n  function getShippoConfiguration(shippoConfigurationId: string): Promise<ShippoConfiguration>;\n  /**\n   * Updates a ShippoConfiguration.\n   * @param _id - ShippoConfiguration ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField shippoConfiguration\n   * @requiredField shippoConfiguration.revision\n   * @permissionId ECOM.SHIPPO_CONFIGURATION_UPDATE\n   * @adminMethod\n   * @returns Updated ShippoConfiguration.\n   */\n  function updateShippoConfiguration(_id: string | null, shippoConfiguration: UpdateShippoConfiguration, options?: UpdateShippoConfigurationOptions): Promise<ShippoConfiguration>;\n  interface UpdateShippoConfiguration {\n      /**\n       * ShippoConfiguration ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** @readonly */\n      revision?: string | null;\n      /**\n       * Date and time the ShippoConfiguration was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the ShippoConfiguration was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Associated delivery region ID. */\n      deliveryRegionId?: string | null;\n      /** Settings of USPS domestic services. */\n      domesticServices?: DomesticServiceSettings[];\n      /** Settings of USPS international services. */\n      internationalServices?: InternationalServiceSettings[];\n      /** Package type. */\n      packageType?: PackageType;\n      /** Package details. */\n      packageDetails?: PackageDetails;\n      /** Location ID from OS location service. */\n      osLocationId?: string | null;\n      /**\n       * Ship from address materialized from OS location.\n       * @readonly\n       */\n      shipFromAddress?: Address$2;\n      /** Backup weight. */\n      backupWeight?: string | null;\n      /** Data extensions. */\n      extendedFields?: ExtendedFields$1;\n  }\n  interface UpdateShippoConfigurationOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a ShippoConfiguration.\n   * @param shippoConfigurationId - ID of the ShippoConfiguration to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField shippoConfigurationId\n   * @permissionId ECOM.SHIPPO_CONFIGURATION_DELETE\n   * @adminMethod\n   */\n  function deleteShippoConfiguration(shippoConfigurationId: string): Promise<void>;\n  /**\n   * Retrieves a list of ShippoConfigurations, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 1,000 ShippoConfigurations can be returned per request.\n   *\n   * To learn how to query ShippoConfigurations, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId ECOM.SHIPPO_CONFIGURATION_READ\n   * @adminMethod\n   */\n  function queryShippoConfigurations(): ShippoConfigurationsQueryBuilder;\n  interface QueryCursorResult$2 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ShippoConfigurationsQueryResult extends QueryCursorResult$2 {\n      items: ShippoConfiguration[];\n      query: ShippoConfigurationsQueryBuilder;\n      next: () => Promise<ShippoConfigurationsQueryResult>;\n      prev: () => Promise<ShippoConfigurationsQueryResult>;\n  }\n  interface ShippoConfigurationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'deliveryRegionId', value: any) => ShippoConfigurationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'deliveryRegionId', value: any) => ShippoConfigurationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'deliveryRegionId', value: string) => ShippoConfigurationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'deliveryRegionId', value: any[]) => ShippoConfigurationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'deliveryRegionId', value: any) => ShippoConfigurationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'deliveryRegionId', value: boolean) => ShippoConfigurationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'deliveryRegionId'>) => ShippoConfigurationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'deliveryRegionId'>) => ShippoConfigurationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ShippoConfigurationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ShippoConfigurationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ShippoConfigurationsQueryResult>;\n  }\n  /**\n   * Updates extended fields of a ShippoConfiguration without incrementing revision\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId ECOM.SHIPPO_CONFIGURATION_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  \n  type ecomV1ShippoConfiguration_universal_d_ShippoConfiguration = ShippoConfiguration;\n  type ecomV1ShippoConfiguration_universal_d_DomesticServiceSettings = DomesticServiceSettings;\n  type ecomV1ShippoConfiguration_universal_d_DomesticService = DomesticService;\n  const ecomV1ShippoConfiguration_universal_d_DomesticService: typeof DomesticService;\n  type ecomV1ShippoConfiguration_universal_d_ServiceSettings = ServiceSettings;\n  type ecomV1ShippoConfiguration_universal_d_HandlingFee = HandlingFee;\n  type ecomV1ShippoConfiguration_universal_d_CalculationType = CalculationType;\n  const ecomV1ShippoConfiguration_universal_d_CalculationType: typeof CalculationType;\n  type ecomV1ShippoConfiguration_universal_d_InternationalServiceSettings = InternationalServiceSettings;\n  type ecomV1ShippoConfiguration_universal_d_InternationalService = InternationalService;\n  const ecomV1ShippoConfiguration_universal_d_InternationalService: typeof InternationalService;\n  type ecomV1ShippoConfiguration_universal_d_PackageType = PackageType;\n  const ecomV1ShippoConfiguration_universal_d_PackageType: typeof PackageType;\n  type ecomV1ShippoConfiguration_universal_d_PackageDetails = PackageDetails;\n  type ecomV1ShippoConfiguration_universal_d_PackageDimensions = PackageDimensions;\n  type ecomV1ShippoConfiguration_universal_d_CreateShippoConfigurationRequest = CreateShippoConfigurationRequest;\n  type ecomV1ShippoConfiguration_universal_d_CreateShippoConfigurationResponse = CreateShippoConfigurationResponse;\n  type ecomV1ShippoConfiguration_universal_d_GetShippoConfigurationRequest = GetShippoConfigurationRequest;\n  type ecomV1ShippoConfiguration_universal_d_GetShippoConfigurationResponse = GetShippoConfigurationResponse;\n  type ecomV1ShippoConfiguration_universal_d_UpdateShippoConfigurationRequest = UpdateShippoConfigurationRequest;\n  type ecomV1ShippoConfiguration_universal_d_UpdateShippoConfigurationResponse = UpdateShippoConfigurationResponse;\n  type ecomV1ShippoConfiguration_universal_d_DeleteShippoConfigurationRequest = DeleteShippoConfigurationRequest;\n  type ecomV1ShippoConfiguration_universal_d_DeleteShippoConfigurationResponse = DeleteShippoConfigurationResponse;\n  type ecomV1ShippoConfiguration_universal_d_QueryShippoConfigurationsRequest = QueryShippoConfigurationsRequest;\n  type ecomV1ShippoConfiguration_universal_d_QueryShippoConfigurationsResponse = QueryShippoConfigurationsResponse;\n  type ecomV1ShippoConfiguration_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type ecomV1ShippoConfiguration_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  const ecomV1ShippoConfiguration_universal_d_createShippoConfiguration: typeof createShippoConfiguration;\n  type ecomV1ShippoConfiguration_universal_d_CreateShippoConfigurationOptions = CreateShippoConfigurationOptions;\n  const ecomV1ShippoConfiguration_universal_d_getShippoConfiguration: typeof getShippoConfiguration;\n  const ecomV1ShippoConfiguration_universal_d_updateShippoConfiguration: typeof updateShippoConfiguration;\n  type ecomV1ShippoConfiguration_universal_d_UpdateShippoConfiguration = UpdateShippoConfiguration;\n  type ecomV1ShippoConfiguration_universal_d_UpdateShippoConfigurationOptions = UpdateShippoConfigurationOptions;\n  const ecomV1ShippoConfiguration_universal_d_deleteShippoConfiguration: typeof deleteShippoConfiguration;\n  const ecomV1ShippoConfiguration_universal_d_queryShippoConfigurations: typeof queryShippoConfigurations;\n  type ecomV1ShippoConfiguration_universal_d_ShippoConfigurationsQueryResult = ShippoConfigurationsQueryResult;\n  type ecomV1ShippoConfiguration_universal_d_ShippoConfigurationsQueryBuilder = ShippoConfigurationsQueryBuilder;\n  const ecomV1ShippoConfiguration_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type ecomV1ShippoConfiguration_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  namespace ecomV1ShippoConfiguration_universal_d {\n    export {\n      ecomV1ShippoConfiguration_universal_d_ShippoConfiguration as ShippoConfiguration,\n      ecomV1ShippoConfiguration_universal_d_DomesticServiceSettings as DomesticServiceSettings,\n      ecomV1ShippoConfiguration_universal_d_DomesticService as DomesticService,\n      ecomV1ShippoConfiguration_universal_d_ServiceSettings as ServiceSettings,\n      ecomV1ShippoConfiguration_universal_d_HandlingFee as HandlingFee,\n      ecomV1ShippoConfiguration_universal_d_CalculationType as CalculationType,\n      ecomV1ShippoConfiguration_universal_d_InternationalServiceSettings as InternationalServiceSettings,\n      ecomV1ShippoConfiguration_universal_d_InternationalService as InternationalService,\n      ecomV1ShippoConfiguration_universal_d_PackageType as PackageType,\n      ecomV1ShippoConfiguration_universal_d_PackageDetails as PackageDetails,\n      ecomV1ShippoConfiguration_universal_d_PackageDimensions as PackageDimensions,\n      Address$2 as Address,\n      StreetAddress$2 as StreetAddress,\n      AddressLocation$2 as AddressLocation,\n      ExtendedFields$1 as ExtendedFields,\n      ecomV1ShippoConfiguration_universal_d_CreateShippoConfigurationRequest as CreateShippoConfigurationRequest,\n      ecomV1ShippoConfiguration_universal_d_CreateShippoConfigurationResponse as CreateShippoConfigurationResponse,\n      ecomV1ShippoConfiguration_universal_d_GetShippoConfigurationRequest as GetShippoConfigurationRequest,\n      ecomV1ShippoConfiguration_universal_d_GetShippoConfigurationResponse as GetShippoConfigurationResponse,\n      ecomV1ShippoConfiguration_universal_d_UpdateShippoConfigurationRequest as UpdateShippoConfigurationRequest,\n      ecomV1ShippoConfiguration_universal_d_UpdateShippoConfigurationResponse as UpdateShippoConfigurationResponse,\n      ecomV1ShippoConfiguration_universal_d_DeleteShippoConfigurationRequest as DeleteShippoConfigurationRequest,\n      ecomV1ShippoConfiguration_universal_d_DeleteShippoConfigurationResponse as DeleteShippoConfigurationResponse,\n      ecomV1ShippoConfiguration_universal_d_QueryShippoConfigurationsRequest as QueryShippoConfigurationsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      ecomV1ShippoConfiguration_universal_d_QueryShippoConfigurationsResponse as QueryShippoConfigurationsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      ecomV1ShippoConfiguration_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      ecomV1ShippoConfiguration_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      Empty$1 as Empty,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      ecomV1ShippoConfiguration_universal_d_createShippoConfiguration as createShippoConfiguration,\n      ecomV1ShippoConfiguration_universal_d_CreateShippoConfigurationOptions as CreateShippoConfigurationOptions,\n      ecomV1ShippoConfiguration_universal_d_getShippoConfiguration as getShippoConfiguration,\n      ecomV1ShippoConfiguration_universal_d_updateShippoConfiguration as updateShippoConfiguration,\n      ecomV1ShippoConfiguration_universal_d_UpdateShippoConfiguration as UpdateShippoConfiguration,\n      ecomV1ShippoConfiguration_universal_d_UpdateShippoConfigurationOptions as UpdateShippoConfigurationOptions,\n      ecomV1ShippoConfiguration_universal_d_deleteShippoConfiguration as deleteShippoConfiguration,\n      ecomV1ShippoConfiguration_universal_d_queryShippoConfigurations as queryShippoConfigurations,\n      ecomV1ShippoConfiguration_universal_d_ShippoConfigurationsQueryResult as ShippoConfigurationsQueryResult,\n      ecomV1ShippoConfiguration_universal_d_ShippoConfigurationsQueryBuilder as ShippoConfigurationsQueryBuilder,\n      ecomV1ShippoConfiguration_universal_d_updateExtendedFields as updateExtendedFields,\n      ecomV1ShippoConfiguration_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n    };\n  }\n  \n  interface TotalsCalculationEntity {\n  }\n  interface CalculateTotalsRequest extends CalculateTotalsRequestCouponOneOf, CalculateTotalsRequestGiftCardOneOf {\n      /** Coupon ID. */\n      couponId?: string | null;\n      /** Coupon code. */\n      couponCode?: string | null;\n      /** Gift card ID. */\n      giftCardId?: string | null;\n      /** Gift card code. */\n      giftCardCode?: string | null;\n      /**\n       * Calculation ID. An identifier of the entity that you are calculating totals for, for example, cart ID or checkout ID.\n       * This value will be used in order to optimise calculations by caching.\n       * If not passed, calculation might be slower in some cases.\n       */\n      calculationId?: string | null;\n      /** Line items for calculation. */\n      lineItems?: LineItem[];\n      /** Shipping address for tax and shipping calculation (if applicable). */\n      shippingAddress?: Address$1;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$1;\n      /** Details about selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption;\n      /**\n       * Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart/checkout.\n       * @deprecated\n       */\n      merchantDiscounts?: MerchantDiscountInput[];\n      /** Buyer email. Used to enforce coupon [single-use per customer](https://support.wix.com/en/article/wix-stores-limiting-coupon-usage). If not passed, single coupon usage per customer will not be enforced. */\n      buyerEmail?: string | null;\n      /**\n       * Whether to calculate tax in the calculation request.\n       *\n       * Default: `true`\n       * @internal\n       */\n      calculateTax?: boolean | null;\n      /**\n       * Member id to use for this calculation\n       * When not provided, given that the caller is a member, its member id will be used\n       * Providing this require elevated permissions - ECOM.ADMIN_CALCULATE_TOTALS\n       */\n      memberId?: string | null;\n      /**\n       * The selected memberships and which line items they apply to\n       * When not provided, default selection will be returned\n       * You can also set it to empty selection\n       */\n      selectedMemberships?: SelectedMemberships;\n      /**\n       * Whether to calculate shipping in the calculation request.\n       *\n       * Default: `true`\n       * @internal\n       */\n      calculateShipping?: boolean | null;\n      /** Buyer phone number. Used to get shipping rates. */\n      buyerPhone?: string | null;\n      /**\n       * Whether to calculate discount rules in the calculation request. If not passed, discount rules are being calculated.\n       * @internal\n       */\n      calculateDiscountRules?: boolean | null;\n      /**\n       * Shipping information that will be used instead of calculated shipping info.\n       * @internal\n       */\n      shippingOptions?: CarrierShippingOption[];\n      /**\n       * Applied discounts that will be used instead of calculated discounts.\n       * @internal\n       */\n      appliedDiscounts?: AppliedDiscount[];\n      /**\n       * Additional Fees that will be used instead of calculated additional fees\n       * @internal\n       */\n      additionalFees?: AdditionalFee[];\n      /**\n       * List of data that should not be fetched by Totals calculator\n       * @internal\n       */\n      skipDataFetch?: DataFetchType[];\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /**\n       * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n       * For example, a Wix Pay Link ID.\n       * @internal\n       */\n      externalReferences?: ExternalReference[];\n      /**\n       * The business location ID to be used as the basis for some calculations.\n       * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       * @internal\n       */\n      businessLocationId?: string | null;\n  }\n  /** @oneof */\n  interface CalculateTotalsRequestCouponOneOf {\n      /** Coupon ID. */\n      couponId?: string | null;\n      /** Coupon code. */\n      couponCode?: string | null;\n  }\n  /** @oneof */\n  interface CalculateTotalsRequestGiftCardOneOf {\n      /** Gift card ID. */\n      giftCardId?: string | null;\n      /** Gift card code. */\n      giftCardCode?: string | null;\n  }\n  interface LineItem {\n      /** Line item ID. */\n      _id?: string;\n      /** Quantity. */\n      quantity?: number | null;\n      /**\n       * Optional references to the line item's origin catalog.\n       * See [Catalog SPI](https://bo.wix.com/wix-docs/rest/ecommerce/catalog-spi/introduction) for more details.\n       * This field may be empty in the case of a custom line item.\n       * currently we only use the catalog app id to set tax=0 for specific apps.\n       */\n      catalogReference?: CatalogReference$2;\n      /** Product/booking/event name. */\n      productName?: string | null;\n      /** Price. */\n      price?: string;\n      /** Physical properties (if applicable). */\n      physicalProperties?: PhysicalProperties$1;\n      /**\n       * Coupon scopes - which app and items a coupon applies to.\n       * This field is internal to Wix, and should be used by Bookings, Stores and Events as used by the current [Coupons API](https://bo.wix.com/wix-docs/rest/stores/coupons/valid-scope-values).\n       * @internal\n       */\n      couponScopes?: Scope[];\n      /**\n       * Tax group ID.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /**\n       * Shipping group ID.\n       * @internal\n       */\n      shippingGroupId?: string | null;\n      /** Subscription settings. */\n      subscriptionSettings?: SubscriptionSettings;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       * + `FULL_PAYMENT_ONLINE` - The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `DEPOSIT_ONLINE` -  Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.\n       */\n      paymentOption?: PaymentOptionType;\n      /** Service properties. When relevant, this contains information such as date and number of participants. */\n      serviceProperties?: ServiceProperties;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n       * + Used in membership validation.\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Optional - partial amount of item's price to be paid now for checkout cases with DEPOSIT_ONLINE payment option\n       * If omitted - item's price will not be split and is expected to be paid in single installment\n       */\n      depositAmount?: string | null;\n      /** full price of the item before all the discounts */\n      fullPrice?: string | null;\n      /** The Item's Delivery Profile Id */\n      deliveryProfileId?: string | null;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType;\n      /**\n       * Address to be used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress;\n      /**\n       * Additional Fees to be added to used for calculation.\n       * @internal\n       * @readonly\n       */\n      additionalFees?: ApiV1AdditionalFee[];\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$2 {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface PhysicalProperties$1 {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface Scope {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */\n      group?: Group;\n  }\n  interface Group {\n      /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      name?: string;\n      /** Item ID (when the coupon scope is limited to just one item). */\n      entityId?: string | null;\n  }\n  interface SubscriptionSettings {\n      /** Frequency of recurring payment. Every day/week/month/year. */\n      frequency?: SubscriptionFrequency;\n      /**\n       * *Optional** - Interval of recurring payment. Defaults to 1 if not provided.\n       * @internal\n       */\n      interval?: number | null;\n      /**\n       * Whether this subscription offers a free trial period.\n       * @internal\n       */\n      freeTrial?: boolean;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  /** Type of selected payment option for catalog item */\n  enum PaymentOptionType {\n      /** The entire payment for this item happens as part of the checkout. */\n      FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n      /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /** Payment for this item is done by charging a membership. When selected, `price` is `0`. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n      DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\",\n      /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface ServiceProperties {\n      /**\n       * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * For example, the start time of a class.\n       */\n      scheduledDate?: Date | null;\n      /** The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room. */\n      numberOfParticipants?: number | null;\n  }\n  interface ItemType extends ItemTypeItemTypeDataOneOf {\n      /** Preset item type. */\n      preset?: ItemTypeItemType;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf {\n      /** Preset item type. */\n      preset?: ItemTypeItemType;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  interface TaxableAddress extends TaxableAddressTaxableAddressDataOneOf {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType;\n  }\n  /** @oneof */\n  interface TaxableAddressTaxableAddressDataOneOf {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType;\n  }\n  enum TaxableAddressType {\n      UNKNOWN_TAXABLE_ADDRESS = \"UNKNOWN_TAXABLE_ADDRESS\",\n      BUSINESS = \"BUSINESS\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface ApiV1AdditionalFee {\n      /** Additional fee's unique code or ID. */\n      code?: string | null;\n      /**\n       * Additional fee's name.\n       *\n       * Max: 50 characters\n       */\n      name?: string;\n      /** Total additional fees. This `price` does not include any taxes that may apply to these additional fees. */\n      price?: string;\n      /**\n       * Tax details.\n       *\n       * > **Note:** Tax is not calculated in the returned `price` even when `taxDetails.taxable` is `true`.\n       */\n      taxDetails?: V1TaxDetails;\n      /**\n       * Number of subscription cycle this fee applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /** Tax details. */\n  interface V1TaxDetails {\n      /** Whether additional fee is taxable. */\n      taxable?: boolean;\n      /** Reserved for internal use. */\n      taxGroupId?: string | null;\n  }\n  /** Physical address */\n  interface Address$1 {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation$1;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress$1 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$1 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface SelectedShippingOption {\n      /** Carrier ID. */\n      carrierId?: string | null;\n      /** Selected shipping option code. For example, \"usps_std_overnight\". */\n      code?: string;\n  }\n  interface MerchantDiscountInput {\n      /** Discount amount. */\n      amount?: string;\n      /** IDs of line items the discount applies to. */\n      lineItemIds?: string[];\n  }\n  interface SelectedMemberships {\n      /** Selected memberships. */\n      memberships?: SelectedMembership[];\n  }\n  interface SelectedMembership {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the app providing this payment option. */\n      appId?: string;\n      /** IDs of the line items this membership applies to. */\n      lineItemIds?: string[];\n  }\n  interface CarrierShippingOption {\n      /** This carrier's unique ID */\n      carrierId?: string | null;\n      /** Shipping service options offered by this carrier for this request */\n      shippingOptions?: ShippingOption;\n  }\n  interface ShippingOption {\n      /**\n       * Unique code of provided shipping option like \"usps_std_overnight\".\n       * For legacy calculators this would be the UUID of the option.\n       */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       */\n      title?: string;\n      /** Delivery logistics. */\n      logistics?: DeliveryLogistics$1;\n      /** Sipping price information. */\n      cost?: ShippingPrice;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation$1[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface DeliveryLogistics$1 {\n      /** Expected delivery time, in free text. For example, \"3-5 business days\". */\n      deliveryTime?: string | null;\n      /** Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don't park in disabled parking spot\". */\n      instructions?: string | null;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails$1;\n      /**\n       * Expected delivery time slot (from and to time stamps representation)\n       * @internal\n       */\n      deliveryTimeSlot?: DeliveryTimeSlot$1;\n  }\n  interface PickupDetails$1 {\n      /** Pickup address. */\n      address?: Address$1;\n      /**\n       * Whether the pickup address is that of a business - this may effect tax calculation.\n       * @deprecated\n       */\n      businessLocation?: boolean;\n      /** Pickup method */\n      pickupMethod?: PickupMethod$1;\n  }\n  enum PickupMethod$1 {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot$1 {\n      /** starting time of the delivery time slot */\n      from?: Date | null;\n      /** ending time of the delivery time slot */\n      to?: Date | null;\n  }\n  interface ShippingPrice {\n      /** Shipping price. */\n      price?: MultiCurrencyPrice;\n      /** Other costs such as insurance, handling & packaging for fragile items, etc. */\n      otherCharges?: OtherCharge[];\n  }\n  interface MultiCurrencyPrice {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface OtherCharge {\n      /** Type of additional cost. */\n      type?: ChargeType$1;\n      /** Price of added cost. */\n      price?: MultiCurrencyPrice;\n  }\n  enum ChargeType$1 {\n      HANDLING_FEE = \"HANDLING_FEE\",\n      INSURANCE = \"INSURANCE\"\n  }\n  interface DeliveryAllocation$1 {\n      /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n      deliveryCarrier?: Carrier$1;\n      /** The delivery region that are relevant for this delivery solution. */\n      deliveryRegion?: Region$1;\n      /** Populated if the delivery solution is a partially supplied by this carrier. */\n      applicableLineItems?: ApplicableLineItems$1;\n  }\n  interface Carrier$1 {\n      /** The carrier app id */\n      appId?: string | null;\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n  }\n  interface Region$1 {\n      /** The delivery region id. */\n      _id?: string | null;\n      /** The delivery region name. */\n      name?: string | null;\n  }\n  interface ApplicableLineItems$1 {\n      /** Line items that the delivery solution is for. */\n      lineItemIds?: string[];\n  }\n  interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n      /** Coupon details. */\n      coupon?: Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount;\n      /** Discount rule */\n      discountRule?: DiscountRule;\n      /** Discount type. */\n      discountType?: DiscountType;\n      /**\n       * IDs of line items the discount applies to.\n       * @deprecated IDs of line items the discount applies to.\n       * @replacedBy line_items_discounts\n       * @targetRemovalDate 2024-06-01\n       */\n      lineItemIds?: string[];\n      /**\n       * Discount ID.\n       * @internal\n       */\n      _id?: string | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: LineItemDiscount[];\n      /**\n       * Number of subscription cycle this discount applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf {\n      /** Coupon details. */\n      coupon?: Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount;\n      /** Discount rule */\n      discountRule?: DiscountRule;\n  }\n  enum DiscountType {\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface Coupon {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon value. */\n      amount?: MultiCurrencyPrice;\n      /** Coupon name. */\n      name?: string;\n      /**\n       * Coupon type: We want it to be an enum and not a string but currently we have no time to do it so we leave it as is to be aligned with cart summary.\n       * @internal\n       * @deprecated\n       */\n      couponType?: string;\n  }\n  interface MerchantDiscount {\n      /** Discount value. */\n      amount?: MultiCurrencyPrice;\n      /** Discount Percentage. Will be calculated from items price before other discounts. */\n      percentage?: number | null;\n  }\n  interface DiscountRule {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: DiscountRuleName;\n      /** Discount value. */\n      amount?: MultiCurrencyPrice;\n  }\n  interface DiscountRuleName {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface LineItemDiscount {\n      /** ID of line item the discount applies to. */\n      _id?: string;\n      /** Discount value. */\n      totalDiscountAmount?: MultiCurrencyPrice;\n  }\n  interface AdditionalFee {\n      /** Additional fee's unique code (or ID) for future processing */\n      code?: string | null;\n      /** Translated additional fee's name */\n      name?: string;\n      /** Additional fee's price */\n      price?: string;\n      /** Currency */\n      currency?: string;\n      /** Tax details */\n      taxDetails?: TaxDetails;\n      /** Provider's app id */\n      providerAppId?: string | null;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n      /**\n       * Number of subscription cycle this fee applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /** Tax Details. */\n  interface TaxDetails {\n      /** Indication if additional fee is taxable or not */\n      taxable?: boolean;\n      /** Optional tax group ID to use when calculating tax for this additional fee */\n      taxGroupId?: string | null;\n  }\n  enum DataFetchType {\n      SHIPPING = \"SHIPPING\",\n      DISCOUNT = \"DISCOUNT\",\n      ADDITIONAL_FEES = \"ADDITIONAL_FEES\",\n      ORDER_VALIDATION = \"ORDER_VALIDATION\"\n  }\n  interface ExternalReference {\n      /**\n       * ID of the app associated with the purchase flow.\n       * For example, the Wix Pay Links app ID.\n       */\n      appId?: string;\n      /**\n       * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n       * For example, a Wix Pay Link ID.\n       */\n      resourceId?: string | null;\n  }\n  interface CalculateTotalsResponse {\n      /** Calculate line items. */\n      calculatedLineItems?: CalculatedLineItem[];\n      /** Price summary. */\n      priceSummary?: PriceSummary;\n      /** Details of applied gift card. */\n      giftCard?: GiftCard;\n      /** Tax summary. */\n      taxSummary?: TaxSummary;\n      /** Shipping information. */\n      shippingInfo?: ShippingInformation;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount[];\n      /** Calculation errors. */\n      calculationErrors?: CalculationErrors;\n      /** Weight unit. */\n      weightUnit?: WeightUnit$1;\n      /** Currency. */\n      currency?: string;\n      /**\n       * This is the display currency. Converted prices are presented in this currency.\n       * @readonly\n       */\n      conversionCurrency?: string;\n      /** Whether tax is included in price. */\n      taxIncludedInPrice?: boolean;\n      /**\n       * Minimal amount to pay in order to place the order.\n       * @readonly\n       */\n      payNow?: PriceSummary;\n      /**\n       * Remaining amount for the order to be fully paid.\n       * @readonly\n       */\n      payLater?: PriceSummary;\n      /** Information about valid and invalid memberships, and which ones are selected for usage. */\n      membershipOptions?: MembershipOptions;\n      /** Additional Fees */\n      additionalFees?: V1AdditionalFee[];\n      /**\n       * The site currency.\n       * @readonly\n       */\n      siteCurrency?: string;\n      /**\n       * The rate used when converting from the site currency to the checkout currency.\n       * @readonly\n       */\n      checkoutConversionRate?: string | null;\n      /**\n       * The pay now total amount after the gift card is applied.\n       * @readonly\n       */\n      payNowTotalAfterGiftCard?: MultiCurrencyPrice;\n      /**\n       * The total amount after gift card is applied.\n       * @readonly\n       */\n      totalAfterGiftCard?: MultiCurrencyPrice;\n      /**\n       * Payment for subscriptions after free trial period.\n       * @internal\n       * @readonly\n       */\n      payAfterFreeTrial?: PriceSummary;\n  }\n  interface CalculatedLineItem {\n      /** Line item ID. */\n      lineItemId?: string;\n      /** Price breakdown for this line item. */\n      pricesBreakdown?: LineItemPricesData;\n      /**\n       * Type of selected payment option for current item. Supported values:\n       * + `\"FULL_PAYMENT_ONLINE\"` - The entire payment for this item will happen as part of the checkout\n       * + `\"FULL_PAYMENT_OFFLINE\"` - The entire payment for this item will happen after the checkout\n       * + `\"MEMBERSHIP\"` - This item cannot be paid via monetary payment options, only via non monetary option such membership. When this option is used, price must be set to 0\n       * + `\"DEPOSIT_ONLINE\"` -  Partial payment of the given item will happen as part of the checkout. Amount to be paid is defined by deposit_amount field.\n       */\n      paymentOption?: PaymentOptionType;\n      /**\n       * tax calculation address.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress;\n  }\n  interface LineItemPricesData {\n      /** Total price after discounts and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice;\n      /** Total price after discounts, and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails;\n      /** Total discount for all line items. */\n      totalDiscount?: MultiCurrencyPrice;\n      /** Catalog price after catalog discount and automatic discounts. */\n      price?: MultiCurrencyPrice;\n      /** Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided. */\n      priceBeforeDiscounts?: MultiCurrencyPrice;\n      /** Total price **after** catalog-defined discount and line item discounts. */\n      lineItemPrice?: MultiCurrencyPrice;\n      /** Item price **before** line item discounts and **before** catalog-defined discount. Defaults to `price` when not provided. */\n      fullPrice?: MultiCurrencyPrice;\n  }\n  interface ItemTaxFullDetails {\n      /** Amount for which tax is calculated. */\n      taxableAmount?: MultiCurrencyPrice;\n      /**\n       * Tax group ID, if specified.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /** Tax rate %, as a decimal point between 0 and 1. */\n      taxRate?: string;\n      /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n      totalTax?: MultiCurrencyPrice;\n      /**\n       * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead.\n       * @readonly\n       * @deprecated\n       */\n      rateBreakdown?: TaxRateBreakdown[];\n      /**\n       * The amount of this line item that was exempt.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice;\n      /**\n       * True for items we have a tax applied on them\n       * @internal\n       */\n      isItemTaxable?: boolean | null;\n      /**\n       * True if the lineAmount include tax in it.\n       * @internal\n       */\n      isTaxIncluded?: boolean | null;\n      /**\n       * The calculator that calculated this line tax\n       * @internal\n       */\n      calculatorName?: string | null;\n      /**\n       * tax information for a line item.\n       * @internal\n       * @readonly\n       */\n      taxBreakdown?: TaxBreakdown[];\n  }\n  interface TaxRateBreakdown {\n      /** Name of tax against which the calculation was performed. */\n      name?: string;\n      /** Rate at which this tax detail was calculated. */\n      rate?: string;\n      /** Amount of tax for this tax detail. */\n      tax?: MultiCurrencyPrice;\n      /**\n       * The type of tax that was calculated\n       * @internal\n       */\n      taxType?: string | null;\n      /**\n       * The name of the jurisdiction in which this tax detail applies\n       * @internal\n       */\n      jurisdiction?: string | null;\n      /**\n       * The type of the jurisdiction in which this tax detail applies(Country,State,County,City,Special).\n       * @internal\n       */\n      jurisdictionType?: string | null;\n      /**\n       * The amount of this line item that was exempt from this authority.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice;\n      /**\n       * ids of the used exemptions from the TaxEstimate exemptions array.\n       * @internal\n       */\n      exemptionIds?: number[];\n      /**\n       * The taxable amount of this tax detail\n       * @internal\n       */\n      taxableAmount?: MultiCurrencyPrice;\n      /**\n       * The Taxes/Fee component. True if the fee is applied.\n       * @internal\n       */\n      isFee?: boolean | null;\n  }\n  /**\n   * TaxBreakdown represents tax information for a line item.\n   * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface TaxBreakdown {\n      /** The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** The amount of this line item price that was considered nontaxable. (Decimal value) */\n      nonTaxableAmount?: MultiCurrencyPrice;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value) */\n      rate?: string | null;\n      /** The amount of tax estimated for this line item. (Decimal value) */\n      taxAmount?: MultiCurrencyPrice;\n      /** The taxable amount of this line item. */\n      taxableAmount?: MultiCurrencyPrice;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** The type of the jurisdiction in which this tax detail applies. */\n      jurisdictionType?: JurisdictionType;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface PriceSummary {\n      /** Subtotal of all line items, before discounts and before tax. */\n      subtotal?: MultiCurrencyPrice;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: MultiCurrencyPrice;\n      /** Total tax. */\n      tax?: MultiCurrencyPrice;\n      /** Total calculated discount value. */\n      discount?: MultiCurrencyPrice;\n      /** Total price after discounts, gift cards, and tax. */\n      total?: MultiCurrencyPrice;\n      /** Total additional fees price before tax. */\n      additionalFees?: MultiCurrencyPrice;\n  }\n  interface GiftCard {\n      /**\n       * Gift Card ID.\n       * @deprecated\n       */\n      _id?: string;\n      /** Gift card obfuscated code. */\n      obfuscatedCode?: string;\n      /** Gift card value. */\n      amount?: MultiCurrencyPrice;\n      /** App ID of the gift card provider. */\n      appId?: string;\n      /**\n       * External ID in the gift card provider's system.\n       * Used for integration and tracking across different platforms.\n       */\n      externalId?: string | null;\n  }\n  interface TaxSummary {\n      /**\n       * Amount for which tax is calculated, added from line items.\n       * @readonly\n       */\n      taxableAmount?: MultiCurrencyPrice;\n      /**\n       * Calculated tax, added from line items.\n       * @readonly\n       */\n      totalTax?: MultiCurrencyPrice;\n      /**\n       * Manual tax rate\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      manualTaxRate?: string;\n      /**\n       * Tax calculator that was active when the order was created.\n       * @deprecated\n       */\n      calculationDetails?: TaxCalculationDetails;\n      /**\n       * Tax estimation id in tax service\n       * @internal\n       * @readonly\n       */\n      taxEstimationId?: string | null;\n      /**\n       * Average Tax Rate\n       * @internal\n       * @readonly\n       */\n      averageTaxRate?: string | null;\n      /**\n       * The amount of this estimate that was exempt (for all line items).\n       * @internal\n       * @readonly\n       */\n      totalExempt?: MultiCurrencyPrice;\n      /**\n       * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n       * @internal\n       * @readonly\n       */\n      aggregatedTaxBreakdown?: AggregatedTaxBreakdown[];\n  }\n  interface TaxCalculationDetails extends TaxCalculationDetailsCalculationDetailsOneOf {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason;\n      /** Details of the fallback rate calculation. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;\n      /** Rate calculation type. */\n      rateType?: RateType;\n  }\n  /** @oneof */\n  interface TaxCalculationDetailsCalculationDetailsOneOf {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason;\n      /** Details of the fallback rate calculation. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;\n  }\n  enum RateType {\n      /** no tax being collected for this request due to location of purchase */\n      NO_TAX_COLLECTED = \"NO_TAX_COLLECTED\",\n      /** manual rate used for calculation */\n      MANUAL_RATE = \"MANUAL_RATE\",\n      /** autotax rate used for calculation */\n      AUTO_RATE = \"AUTO_RATE\",\n      /** fallback rate used for calculation */\n      FALLBACK_RATE = \"FALLBACK_RATE\"\n  }\n  enum ManualCalculationReason {\n      /** user set calculator in Business Manager to be Manual */\n      GLOBAL_SETTING_TO_MANUAL = \"GLOBAL_SETTING_TO_MANUAL\",\n      /** specific region is on manual even though Global setting is Auto-tax */\n      REGION_SETTING_TO_MANUAL = \"REGION_SETTING_TO_MANUAL\"\n  }\n  interface AutoTaxFallbackCalculationDetails {\n      /** reason for fallback */\n      fallbackReason?: FallbackReason;\n      /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */\n      error?: ApplicationError$1;\n  }\n  enum FallbackReason {\n      /** auto-tax failed to be calculated */\n      AUTO_TAX_FAILED = \"AUTO_TAX_FAILED\",\n      /** auto-tax was temporarily deactivated on a system-level */\n      AUTO_TAX_DEACTIVATED = \"AUTO_TAX_DEACTIVATED\"\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   */\n  interface AggregatedTaxBreakdown {\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdiction?: string;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionTypeEnum?: JurisdictionType;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value) */\n      rate?: string;\n      /** The sum of all the tax from line items that calculated by the tax identifiers. */\n      aggregatedTaxAmount?: MultiCurrencyPrice;\n      /**\n       * The sum of all the taxable amount from line items for tax identifiers.\n       * @internal\n       */\n      aggregatedTaxableAmount?: MultiCurrencyPrice;\n  }\n  interface ShippingInformation {\n      /** Shipping region. */\n      region?: ShippingRegion;\n      /** Selected shipping option. */\n      selectedCarrierServiceOption?: SelectedCarrierServiceOption;\n      /** All shipping options. */\n      carrierServiceOptions?: CarrierServiceOption[];\n  }\n  interface ShippingRegion {\n      /**\n       * Shipping region ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Shipping region name. */\n      name?: string;\n  }\n  interface SelectedCarrierServiceOption {\n      /** Unique identifier of selected option. For example, \"usps_std_overnight\". */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       * @readonly\n       */\n      title?: string;\n      /**\n       * Delivery logistics.\n       * @readonly\n       */\n      logistics?: DeliveryLogistics$1;\n      /**\n       * Shipping costs.\n       * @readonly\n       */\n      cost?: SelectedCarrierServiceOptionPrices;\n      /**\n       * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)\n       * @readonly\n       */\n      requestedShippingOption?: boolean;\n      /** Other charges */\n      otherCharges?: SelectedCarrierServiceOptionOtherCharge[];\n      /** This carrier's unique ID */\n      carrierId?: string | null;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation$1[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface SelectedCarrierServiceOptionPrices {\n      /** Total shipping price, after discount and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice;\n      /** Total price of shipping after discounts (when relevant), and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails;\n      /** Shipping discount before tax. */\n      totalDiscount?: MultiCurrencyPrice;\n      /** Shipping price before discount and before tax. */\n      price?: MultiCurrencyPrice;\n  }\n  interface SelectedCarrierServiceOptionOtherCharge {\n      /** Type of additional cost. */\n      type?: ChargeType$1;\n      /** Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'. */\n      details?: string | null;\n      /** Price of added charge. */\n      cost?: SelectedCarrierServiceOptionPrices;\n  }\n  interface CarrierServiceOption {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Shipping options offered by this carrier for this request. */\n      shippingOptions?: ShippingOption[];\n  }\n  interface CalculationErrors extends CalculationErrorsShippingCalculationErrorOneOf {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$1;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors;\n      /** Tax calculation error. */\n      taxCalculationError?: Details$1;\n      /** Coupon calculation error. */\n      couponCalculationError?: Details$1;\n      /** Gift card calculation error. */\n      giftCardCalculationError?: Details$1;\n      /** Order validation errors. */\n      orderValidationErrors?: ApplicationError$1[];\n      /**\n       * Membership payment methods calculation errors\n       * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid\n       */\n      membershipError?: Details$1;\n      /** Discount Rule calculation error. */\n      discountsCalculationError?: Details$1;\n  }\n  /** @oneof */\n  interface CalculationErrorsShippingCalculationErrorOneOf {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details$1;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors;\n  }\n  interface Details$1 extends DetailsKindOneOf$1 {\n      applicationError?: ApplicationError$1;\n      validationError?: ValidationError$1;\n      systemError?: SystemError$1;\n      /**\n       * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n       * @deprecated\n       */\n      tracing?: Record<string, string>;\n  }\n  /** @oneof */\n  interface DetailsKindOneOf$1 {\n      applicationError?: ApplicationError$1;\n      validationError?: ValidationError$1;\n      systemError?: SystemError$1;\n  }\n  /**\n   * example result:\n   * {\n   * \"fieldViolations\": [\n   * {\n   * \"field\": \"fieldA\",\n   * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n   * \"violatedRule\": \"OTHER\",\n   * \"ruleName\": \"INVALID_NOTE\",\n   * \"data\": {\n   * \"value\": \"FI\"\n   * }\n   * },\n   * {\n   * \"field\": \"fieldB\",\n   * \"description\": \"field value out of range. supported range: [0-20]\",\n   * \"violatedRule\": \"MAX\",\n   * \"data\": {\n   * \"threshold\": 20\n   * }\n   * },\n   * {\n   * \"field\": \"fieldC\",\n   * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n   * \"violatedRule\": \"FORMAT\",\n   * \"data\": {\n   * \"type\": \"PHONE\"\n   * }\n   * }\n   * ]\n   * }\n   */\n  interface ValidationError$1 {\n      fieldViolations?: FieldViolation$1[];\n  }\n  enum RuleType$1 {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\",\n      EXACT_LENGTH = \"EXACT_LENGTH\",\n      EXACT_SIZE = \"EXACT_SIZE\"\n  }\n  interface FieldViolation$1 {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType$1;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  interface SystemError$1 {\n      /** Error code. */\n      errorCode?: string | null;\n  }\n  interface CarrierErrors {\n      /** Carrier errors. */\n      errors?: CarrierError$1[];\n  }\n  interface CarrierError$1 {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Error details. */\n      error?: Details$1;\n  }\n  enum WeightUnit$1 {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface MembershipOptions {\n      /** List of payment options that can be used. */\n      eligibleMemberships?: Membership[];\n      /** List of payment options that are owned by the member, but cannot be used due to reason provided. */\n      invalidMemberships?: InvalidMembership[];\n      /** The selected membership payment options and which line items they apply to. */\n      selectedMemberships?: SelectedMembership[];\n  }\n  interface Membership {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the application providing this payment option. */\n      appId?: string;\n      /** The name of this membership. */\n      name?: MembershipName;\n      /** Line item IDs which are \"paid\" for by this membership. */\n      lineItemIds?: string[];\n      /** Optional - For a membership that has limited credits, information about credit usage. */\n      credits?: MembershipPaymentCredits;\n      /** Optional - TMembership expiry date. */\n      expirationDate?: Date | null;\n      /** Additional data about this membership. */\n      additionalData?: Record<string, any> | null;\n  }\n  interface MembershipName {\n      /** Membership name. */\n      original?: string;\n      /** Translated membership name. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface MembershipPaymentCredits {\n      /** Membership's total amount of credits. */\n      total?: number;\n      /** Membership's remaining amount of credits. */\n      remaining?: number;\n  }\n  interface InvalidMembership {\n      /** Membership details. */\n      membership?: Membership;\n      /** Reason why this membership is invalid and cannot be used. */\n      reason?: string;\n  }\n  interface V1AdditionalFee {\n      /** Additional fee's unique code (or ID) for future processing. */\n      code?: string | null;\n      /** Translated additional fee's name. */\n      name?: string;\n      /** Additional fee's price. */\n      price?: MultiCurrencyPrice;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails;\n      /** Provider's app id. */\n      providerAppId?: string | null;\n      /** Additional fee's price before tax. */\n      priceBeforeTax?: MultiCurrencyPrice;\n      /** Additional fee's price after tax. */\n      priceAfterTax?: MultiCurrencyPrice;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n      /**\n       * Number of subscription cycle this fee applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /**\n   * Returns a totals calculation for specified line items.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.lineItems._id\n   * @requiredField options.lineItems.price\n   * @requiredField options.lineItems.quantity\n   * @requiredField options.merchantDiscounts.amount\n   * @requiredField options.selectedMemberships.memberships._id\n   * @requiredField options.selectedMemberships.memberships.appId\n   * @requiredField options.selectedMemberships.memberships.lineItemIds\n   * @requiredField options.selectedShippingOption.code\n   * @permissionId ECOM.CALCULATE_TOTALS\n   * @adminMethod\n   */\n  function calculateTotals(options?: CalculateTotalsOptions): Promise<CalculateTotalsResponse>;\n  interface CalculateTotalsOptions extends CalculateTotalsRequestCouponOneOf, CalculateTotalsRequestGiftCardOneOf {\n      /**\n       * Calculation ID. An identifier of the entity that you are calculating totals for, for example, cart ID or checkout ID.\n       * This value will be used in order to optimise calculations by caching.\n       * If not passed, calculation might be slower in some cases.\n       */\n      calculationId?: string | null;\n      /** Line items for calculation. */\n      lineItems?: LineItem[];\n      /** Shipping address for tax and shipping calculation (if applicable). */\n      shippingAddress?: Address$1;\n      /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n      billingAddress?: Address$1;\n      /** Details about selected shipping option. */\n      selectedShippingOption?: SelectedShippingOption;\n      /** Coupon ID. */\n      couponId?: string | null;\n      /** Coupon code. */\n      couponCode?: string | null;\n      /** Gift card ID. */\n      giftCardId?: string | null;\n      /** Gift card code. */\n      giftCardCode?: string | null;\n      /**\n       * Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart/checkout.\n       * @deprecated\n       */\n      merchantDiscounts?: MerchantDiscountInput[];\n      /** Buyer email. Used to enforce coupon [single-use per customer](https://support.wix.com/en/article/wix-stores-limiting-coupon-usage). If not passed, single coupon usage per customer will not be enforced. */\n      buyerEmail?: string | null;\n      /**\n       * Whether to calculate tax in the calculation request.\n       *\n       * Default: `true`\n       * @internal\n       */\n      calculateTax?: boolean | null;\n      /**\n       * Member id to use for this calculation\n       * When not provided, given that the caller is a member, its member id will be used\n       * Providing this require elevated permissions - ECOM.ADMIN_CALCULATE_TOTALS\n       */\n      memberId?: string | null;\n      /**\n       * The selected memberships and which line items they apply to\n       * When not provided, default selection will be returned\n       * You can also set it to empty selection\n       */\n      selectedMemberships?: SelectedMemberships;\n      /**\n       * Whether to calculate shipping in the calculation request.\n       *\n       * Default: `true`\n       * @internal\n       */\n      calculateShipping?: boolean | null;\n      /** Buyer phone number. Used to get shipping rates. */\n      buyerPhone?: string | null;\n      /**\n       * Whether to calculate discount rules in the calculation request. If not passed, discount rules are being calculated.\n       * @internal\n       */\n      calculateDiscountRules?: boolean | null;\n      /**\n       * Shipping information that will be used instead of calculated shipping info.\n       * @internal\n       */\n      shippingOptions?: CarrierShippingOption[];\n      /**\n       * Applied discounts that will be used instead of calculated discounts.\n       * @internal\n       */\n      appliedDiscounts?: AppliedDiscount[];\n      /**\n       * Additional Fees that will be used instead of calculated additional fees\n       * @internal\n       */\n      additionalFees?: AdditionalFee[];\n      /**\n       * List of data that should not be fetched by Totals calculator\n       * @internal\n       */\n      skipDataFetch?: DataFetchType[];\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /**\n       * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n       * For example, a Wix Pay Link ID.\n       * @internal\n       */\n      externalReferences?: ExternalReference[];\n      /**\n       * The business location ID to be used as the basis for some calculations.\n       * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       * @internal\n       */\n      businessLocationId?: string | null;\n  }\n  \n  type ecomV1TotalsCalculation_universal_d_TotalsCalculationEntity = TotalsCalculationEntity;\n  type ecomV1TotalsCalculation_universal_d_CalculateTotalsRequest = CalculateTotalsRequest;\n  type ecomV1TotalsCalculation_universal_d_CalculateTotalsRequestCouponOneOf = CalculateTotalsRequestCouponOneOf;\n  type ecomV1TotalsCalculation_universal_d_CalculateTotalsRequestGiftCardOneOf = CalculateTotalsRequestGiftCardOneOf;\n  type ecomV1TotalsCalculation_universal_d_LineItem = LineItem;\n  type ecomV1TotalsCalculation_universal_d_Scope = Scope;\n  type ecomV1TotalsCalculation_universal_d_Group = Group;\n  type ecomV1TotalsCalculation_universal_d_SubscriptionSettings = SubscriptionSettings;\n  type ecomV1TotalsCalculation_universal_d_SubscriptionFrequency = SubscriptionFrequency;\n  const ecomV1TotalsCalculation_universal_d_SubscriptionFrequency: typeof SubscriptionFrequency;\n  type ecomV1TotalsCalculation_universal_d_PaymentOptionType = PaymentOptionType;\n  const ecomV1TotalsCalculation_universal_d_PaymentOptionType: typeof PaymentOptionType;\n  type ecomV1TotalsCalculation_universal_d_ServiceProperties = ServiceProperties;\n  type ecomV1TotalsCalculation_universal_d_ItemType = ItemType;\n  type ecomV1TotalsCalculation_universal_d_ItemTypeItemTypeDataOneOf = ItemTypeItemTypeDataOneOf;\n  type ecomV1TotalsCalculation_universal_d_ItemTypeItemType = ItemTypeItemType;\n  const ecomV1TotalsCalculation_universal_d_ItemTypeItemType: typeof ItemTypeItemType;\n  type ecomV1TotalsCalculation_universal_d_TaxableAddress = TaxableAddress;\n  type ecomV1TotalsCalculation_universal_d_TaxableAddressTaxableAddressDataOneOf = TaxableAddressTaxableAddressDataOneOf;\n  type ecomV1TotalsCalculation_universal_d_TaxableAddressType = TaxableAddressType;\n  const ecomV1TotalsCalculation_universal_d_TaxableAddressType: typeof TaxableAddressType;\n  type ecomV1TotalsCalculation_universal_d_ApiV1AdditionalFee = ApiV1AdditionalFee;\n  type ecomV1TotalsCalculation_universal_d_V1TaxDetails = V1TaxDetails;\n  type ecomV1TotalsCalculation_universal_d_SelectedShippingOption = SelectedShippingOption;\n  type ecomV1TotalsCalculation_universal_d_MerchantDiscountInput = MerchantDiscountInput;\n  type ecomV1TotalsCalculation_universal_d_SelectedMemberships = SelectedMemberships;\n  type ecomV1TotalsCalculation_universal_d_SelectedMembership = SelectedMembership;\n  type ecomV1TotalsCalculation_universal_d_CarrierShippingOption = CarrierShippingOption;\n  type ecomV1TotalsCalculation_universal_d_ShippingOption = ShippingOption;\n  type ecomV1TotalsCalculation_universal_d_ShippingPrice = ShippingPrice;\n  type ecomV1TotalsCalculation_universal_d_MultiCurrencyPrice = MultiCurrencyPrice;\n  type ecomV1TotalsCalculation_universal_d_OtherCharge = OtherCharge;\n  type ecomV1TotalsCalculation_universal_d_AppliedDiscount = AppliedDiscount;\n  type ecomV1TotalsCalculation_universal_d_AppliedDiscountDiscountSourceOneOf = AppliedDiscountDiscountSourceOneOf;\n  type ecomV1TotalsCalculation_universal_d_DiscountType = DiscountType;\n  const ecomV1TotalsCalculation_universal_d_DiscountType: typeof DiscountType;\n  type ecomV1TotalsCalculation_universal_d_Coupon = Coupon;\n  type ecomV1TotalsCalculation_universal_d_MerchantDiscount = MerchantDiscount;\n  type ecomV1TotalsCalculation_universal_d_DiscountRule = DiscountRule;\n  type ecomV1TotalsCalculation_universal_d_DiscountRuleName = DiscountRuleName;\n  type ecomV1TotalsCalculation_universal_d_LineItemDiscount = LineItemDiscount;\n  type ecomV1TotalsCalculation_universal_d_AdditionalFee = AdditionalFee;\n  type ecomV1TotalsCalculation_universal_d_TaxDetails = TaxDetails;\n  type ecomV1TotalsCalculation_universal_d_DataFetchType = DataFetchType;\n  const ecomV1TotalsCalculation_universal_d_DataFetchType: typeof DataFetchType;\n  type ecomV1TotalsCalculation_universal_d_ExternalReference = ExternalReference;\n  type ecomV1TotalsCalculation_universal_d_CalculateTotalsResponse = CalculateTotalsResponse;\n  type ecomV1TotalsCalculation_universal_d_CalculatedLineItem = CalculatedLineItem;\n  type ecomV1TotalsCalculation_universal_d_LineItemPricesData = LineItemPricesData;\n  type ecomV1TotalsCalculation_universal_d_ItemTaxFullDetails = ItemTaxFullDetails;\n  type ecomV1TotalsCalculation_universal_d_TaxRateBreakdown = TaxRateBreakdown;\n  type ecomV1TotalsCalculation_universal_d_TaxBreakdown = TaxBreakdown;\n  type ecomV1TotalsCalculation_universal_d_JurisdictionType = JurisdictionType;\n  const ecomV1TotalsCalculation_universal_d_JurisdictionType: typeof JurisdictionType;\n  type ecomV1TotalsCalculation_universal_d_PriceSummary = PriceSummary;\n  type ecomV1TotalsCalculation_universal_d_GiftCard = GiftCard;\n  type ecomV1TotalsCalculation_universal_d_TaxSummary = TaxSummary;\n  type ecomV1TotalsCalculation_universal_d_TaxCalculationDetails = TaxCalculationDetails;\n  type ecomV1TotalsCalculation_universal_d_TaxCalculationDetailsCalculationDetailsOneOf = TaxCalculationDetailsCalculationDetailsOneOf;\n  type ecomV1TotalsCalculation_universal_d_RateType = RateType;\n  const ecomV1TotalsCalculation_universal_d_RateType: typeof RateType;\n  type ecomV1TotalsCalculation_universal_d_ManualCalculationReason = ManualCalculationReason;\n  const ecomV1TotalsCalculation_universal_d_ManualCalculationReason: typeof ManualCalculationReason;\n  type ecomV1TotalsCalculation_universal_d_AutoTaxFallbackCalculationDetails = AutoTaxFallbackCalculationDetails;\n  type ecomV1TotalsCalculation_universal_d_FallbackReason = FallbackReason;\n  const ecomV1TotalsCalculation_universal_d_FallbackReason: typeof FallbackReason;\n  type ecomV1TotalsCalculation_universal_d_AggregatedTaxBreakdown = AggregatedTaxBreakdown;\n  type ecomV1TotalsCalculation_universal_d_ShippingInformation = ShippingInformation;\n  type ecomV1TotalsCalculation_universal_d_ShippingRegion = ShippingRegion;\n  type ecomV1TotalsCalculation_universal_d_SelectedCarrierServiceOption = SelectedCarrierServiceOption;\n  type ecomV1TotalsCalculation_universal_d_SelectedCarrierServiceOptionPrices = SelectedCarrierServiceOptionPrices;\n  type ecomV1TotalsCalculation_universal_d_SelectedCarrierServiceOptionOtherCharge = SelectedCarrierServiceOptionOtherCharge;\n  type ecomV1TotalsCalculation_universal_d_CarrierServiceOption = CarrierServiceOption;\n  type ecomV1TotalsCalculation_universal_d_CalculationErrors = CalculationErrors;\n  type ecomV1TotalsCalculation_universal_d_CalculationErrorsShippingCalculationErrorOneOf = CalculationErrorsShippingCalculationErrorOneOf;\n  type ecomV1TotalsCalculation_universal_d_CarrierErrors = CarrierErrors;\n  type ecomV1TotalsCalculation_universal_d_MembershipOptions = MembershipOptions;\n  type ecomV1TotalsCalculation_universal_d_Membership = Membership;\n  type ecomV1TotalsCalculation_universal_d_MembershipName = MembershipName;\n  type ecomV1TotalsCalculation_universal_d_MembershipPaymentCredits = MembershipPaymentCredits;\n  type ecomV1TotalsCalculation_universal_d_InvalidMembership = InvalidMembership;\n  type ecomV1TotalsCalculation_universal_d_V1AdditionalFee = V1AdditionalFee;\n  const ecomV1TotalsCalculation_universal_d_calculateTotals: typeof calculateTotals;\n  type ecomV1TotalsCalculation_universal_d_CalculateTotalsOptions = CalculateTotalsOptions;\n  namespace ecomV1TotalsCalculation_universal_d {\n    export {\n      ecomV1TotalsCalculation_universal_d_TotalsCalculationEntity as TotalsCalculationEntity,\n      ecomV1TotalsCalculation_universal_d_CalculateTotalsRequest as CalculateTotalsRequest,\n      ecomV1TotalsCalculation_universal_d_CalculateTotalsRequestCouponOneOf as CalculateTotalsRequestCouponOneOf,\n      ecomV1TotalsCalculation_universal_d_CalculateTotalsRequestGiftCardOneOf as CalculateTotalsRequestGiftCardOneOf,\n      ecomV1TotalsCalculation_universal_d_LineItem as LineItem,\n      CatalogReference$2 as CatalogReference,\n      PhysicalProperties$1 as PhysicalProperties,\n      ecomV1TotalsCalculation_universal_d_Scope as Scope,\n      ecomV1TotalsCalculation_universal_d_Group as Group,\n      ecomV1TotalsCalculation_universal_d_SubscriptionSettings as SubscriptionSettings,\n      ecomV1TotalsCalculation_universal_d_SubscriptionFrequency as SubscriptionFrequency,\n      ecomV1TotalsCalculation_universal_d_PaymentOptionType as PaymentOptionType,\n      ecomV1TotalsCalculation_universal_d_ServiceProperties as ServiceProperties,\n      ecomV1TotalsCalculation_universal_d_ItemType as ItemType,\n      ecomV1TotalsCalculation_universal_d_ItemTypeItemTypeDataOneOf as ItemTypeItemTypeDataOneOf,\n      ecomV1TotalsCalculation_universal_d_ItemTypeItemType as ItemTypeItemType,\n      ecomV1TotalsCalculation_universal_d_TaxableAddress as TaxableAddress,\n      ecomV1TotalsCalculation_universal_d_TaxableAddressTaxableAddressDataOneOf as TaxableAddressTaxableAddressDataOneOf,\n      ecomV1TotalsCalculation_universal_d_TaxableAddressType as TaxableAddressType,\n      ecomV1TotalsCalculation_universal_d_ApiV1AdditionalFee as ApiV1AdditionalFee,\n      ecomV1TotalsCalculation_universal_d_V1TaxDetails as V1TaxDetails,\n      Address$1 as Address,\n      StreetAddress$1 as StreetAddress,\n      AddressLocation$1 as AddressLocation,\n      ecomV1TotalsCalculation_universal_d_SelectedShippingOption as SelectedShippingOption,\n      ecomV1TotalsCalculation_universal_d_MerchantDiscountInput as MerchantDiscountInput,\n      ecomV1TotalsCalculation_universal_d_SelectedMemberships as SelectedMemberships,\n      ecomV1TotalsCalculation_universal_d_SelectedMembership as SelectedMembership,\n      ecomV1TotalsCalculation_universal_d_CarrierShippingOption as CarrierShippingOption,\n      ecomV1TotalsCalculation_universal_d_ShippingOption as ShippingOption,\n      DeliveryLogistics$1 as DeliveryLogistics,\n      PickupDetails$1 as PickupDetails,\n      PickupMethod$1 as PickupMethod,\n      DeliveryTimeSlot$1 as DeliveryTimeSlot,\n      ecomV1TotalsCalculation_universal_d_ShippingPrice as ShippingPrice,\n      ecomV1TotalsCalculation_universal_d_MultiCurrencyPrice as MultiCurrencyPrice,\n      ecomV1TotalsCalculation_universal_d_OtherCharge as OtherCharge,\n      ChargeType$1 as ChargeType,\n      DeliveryAllocation$1 as DeliveryAllocation,\n      Carrier$1 as Carrier,\n      Region$1 as Region,\n      ApplicableLineItems$1 as ApplicableLineItems,\n      ecomV1TotalsCalculation_universal_d_AppliedDiscount as AppliedDiscount,\n      ecomV1TotalsCalculation_universal_d_AppliedDiscountDiscountSourceOneOf as AppliedDiscountDiscountSourceOneOf,\n      ecomV1TotalsCalculation_universal_d_DiscountType as DiscountType,\n      ecomV1TotalsCalculation_universal_d_Coupon as Coupon,\n      ecomV1TotalsCalculation_universal_d_MerchantDiscount as MerchantDiscount,\n      ecomV1TotalsCalculation_universal_d_DiscountRule as DiscountRule,\n      ecomV1TotalsCalculation_universal_d_DiscountRuleName as DiscountRuleName,\n      ecomV1TotalsCalculation_universal_d_LineItemDiscount as LineItemDiscount,\n      ecomV1TotalsCalculation_universal_d_AdditionalFee as AdditionalFee,\n      ecomV1TotalsCalculation_universal_d_TaxDetails as TaxDetails,\n      ecomV1TotalsCalculation_universal_d_DataFetchType as DataFetchType,\n      ecomV1TotalsCalculation_universal_d_ExternalReference as ExternalReference,\n      ecomV1TotalsCalculation_universal_d_CalculateTotalsResponse as CalculateTotalsResponse,\n      ecomV1TotalsCalculation_universal_d_CalculatedLineItem as CalculatedLineItem,\n      ecomV1TotalsCalculation_universal_d_LineItemPricesData as LineItemPricesData,\n      ecomV1TotalsCalculation_universal_d_ItemTaxFullDetails as ItemTaxFullDetails,\n      ecomV1TotalsCalculation_universal_d_TaxRateBreakdown as TaxRateBreakdown,\n      ecomV1TotalsCalculation_universal_d_TaxBreakdown as TaxBreakdown,\n      ecomV1TotalsCalculation_universal_d_JurisdictionType as JurisdictionType,\n      ecomV1TotalsCalculation_universal_d_PriceSummary as PriceSummary,\n      ecomV1TotalsCalculation_universal_d_GiftCard as GiftCard,\n      ecomV1TotalsCalculation_universal_d_TaxSummary as TaxSummary,\n      ecomV1TotalsCalculation_universal_d_TaxCalculationDetails as TaxCalculationDetails,\n      ecomV1TotalsCalculation_universal_d_TaxCalculationDetailsCalculationDetailsOneOf as TaxCalculationDetailsCalculationDetailsOneOf,\n      ecomV1TotalsCalculation_universal_d_RateType as RateType,\n      ecomV1TotalsCalculation_universal_d_ManualCalculationReason as ManualCalculationReason,\n      ecomV1TotalsCalculation_universal_d_AutoTaxFallbackCalculationDetails as AutoTaxFallbackCalculationDetails,\n      ecomV1TotalsCalculation_universal_d_FallbackReason as FallbackReason,\n      ApplicationError$1 as ApplicationError,\n      ecomV1TotalsCalculation_universal_d_AggregatedTaxBreakdown as AggregatedTaxBreakdown,\n      ecomV1TotalsCalculation_universal_d_ShippingInformation as ShippingInformation,\n      ecomV1TotalsCalculation_universal_d_ShippingRegion as ShippingRegion,\n      ecomV1TotalsCalculation_universal_d_SelectedCarrierServiceOption as SelectedCarrierServiceOption,\n      ecomV1TotalsCalculation_universal_d_SelectedCarrierServiceOptionPrices as SelectedCarrierServiceOptionPrices,\n      ecomV1TotalsCalculation_universal_d_SelectedCarrierServiceOptionOtherCharge as SelectedCarrierServiceOptionOtherCharge,\n      ecomV1TotalsCalculation_universal_d_CarrierServiceOption as CarrierServiceOption,\n      ecomV1TotalsCalculation_universal_d_CalculationErrors as CalculationErrors,\n      ecomV1TotalsCalculation_universal_d_CalculationErrorsShippingCalculationErrorOneOf as CalculationErrorsShippingCalculationErrorOneOf,\n      Details$1 as Details,\n      DetailsKindOneOf$1 as DetailsKindOneOf,\n      ValidationError$1 as ValidationError,\n      RuleType$1 as RuleType,\n      FieldViolation$1 as FieldViolation,\n      SystemError$1 as SystemError,\n      ecomV1TotalsCalculation_universal_d_CarrierErrors as CarrierErrors,\n      CarrierError$1 as CarrierError,\n      WeightUnit$1 as WeightUnit,\n      ecomV1TotalsCalculation_universal_d_MembershipOptions as MembershipOptions,\n      ecomV1TotalsCalculation_universal_d_Membership as Membership,\n      ecomV1TotalsCalculation_universal_d_MembershipName as MembershipName,\n      ecomV1TotalsCalculation_universal_d_MembershipPaymentCredits as MembershipPaymentCredits,\n      ecomV1TotalsCalculation_universal_d_InvalidMembership as InvalidMembership,\n      ecomV1TotalsCalculation_universal_d_V1AdditionalFee as V1AdditionalFee,\n      ecomV1TotalsCalculation_universal_d_calculateTotals as calculateTotals,\n      ecomV1TotalsCalculation_universal_d_CalculateTotalsOptions as CalculateTotalsOptions,\n    };\n  }\n  \n  interface DeliveryRatesGateway {\n      /** @readonly */\n      _id?: string | null;\n  }\n  interface GetDeliveryOptionsRequest {\n      /** list of items to delivery that each of them points to delivery profile and delivery rule. */\n      items: DeliverableItem[];\n      /** Destination the items should deliver to */\n      destination: Address;\n      /** Origin the items should deliver from */\n      origin?: Address;\n      /** Currency - Defaults to site's currency */\n      currency: string | null;\n      /** Contact details */\n      buyerDetails?: FullAddressContactDetails;\n      /** Measure unit - defaults to site's weight unit */\n      weightUnit?: WeightUnit;\n      /** list of delivery preferences which are delivery options codes combined with provider app id */\n      userIntent?: UserIntent[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /** Whether tax is included in the items' prices. */\n      taxIncludedInPrices?: boolean | null;\n  }\n  interface DeliverableItem {\n      /** The ID of the line item. */\n      _id?: string;\n      /** Item name. */\n      name?: string;\n      /** The number of items ordered. */\n      quantity?: number;\n      /** Reference to the item's origin catalog. */\n      catalogReference?: CatalogReference$1;\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties;\n      /** Price of a single item after discounts. */\n      price?: string;\n      /** Total line item price before discounts. */\n      totalPriceBeforeDiscount?: string | null;\n      /** Price of a single item before discounts. */\n      priceBeforeDiscount?: string | null;\n      /** Total line item price after discounts. This is equal to `price` multiplied by `quantity`. */\n      totalPrice?: string | null;\n      /** For delivery rates by delivery profile id */\n      deliveryProfileId?: string | null;\n      /** whether tax is included in line item price */\n      taxIncludedInPrice?: boolean | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference$1 {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface PhysicalProperties {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails {\n      /** Contact's first name. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /**\n       * Contact's full name.\n       * @internal\n       */\n      fullName?: string | null;\n      /** Contact's phone number. */\n      phone?: string | null;\n      /** Contact's company name. */\n      company?: string | null;\n      /** Email associated with the address. */\n      email?: string | null;\n      /** Tax info. Currently usable only in Brazil. */\n      vatId?: VatId;\n  }\n  interface VatId {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType;\n  }\n  /** tax info types */\n  enum VatType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  enum WeightUnit {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface UserIntent {\n      /** The provider app id */\n      appId?: string | null;\n      /** Delivery option code to be used by the TPA as a hint to what delivery option to use */\n      code?: string;\n  }\n  /**\n   * Each delivery option has a list of items that can be delivered by it - the chosen one\n   * on Errors throw a business error from TC to catch and trigger destination completion\n   */\n  interface GetDeliveryOptionsResponse {\n      /** Delivery Options with their associated items */\n      deliveryOptions?: DeliveryOption[];\n      /** If a carrier could not calculate shipping rates, the error will be detailed here */\n      errors?: CarrierError[];\n  }\n  interface DeliveryOption {\n      /** If the delivery option is a partial and doesn't apply to all items, this field will be populated. */\n      partial?: PartialDeliveryOption;\n      /** The delivery option details */\n      details?: DeliveryDetails;\n      /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n      carrierDetails?: CarrierDetails[];\n      /** The delivery option's region details, could be multiple if the delivery option is a combination of multiple profiles */\n      regionDetails?: RegionDetails[];\n  }\n  interface PartialDeliveryOption {\n      /** Items that the delivery option is for. If empty, the delivery option is for all items. */\n      itemIds?: string[];\n  }\n  interface DeliveryDetails {\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n      /** Delivery rate title. For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"`, or `\"First-Class Package International\"`. */\n      title?: string;\n      /** Delivery logistics. */\n      logistics?: DeliveryLogistics;\n      /** Delivery cost. */\n      cost?: DeliveryCost;\n  }\n  interface DeliveryLogistics {\n      /** When the item is expected to be delivered in free text. For example, `\"3-5 business days\"`. */\n      deliveryTime?: string | null;\n      /** Instructions for delivery. For example, for pickup: `\"Ensure to come during business hours, and please don't park in the disabled spot\"`. */\n      instructions?: string | null;\n      /** Pickup details. Should be returned only if order is for pickup. */\n      pickupDetails?: PickupDetails;\n      /** Date and Time of the delivery option */\n      deliveryTimeSlot?: DeliveryTimeSlot;\n  }\n  interface PickupDetails {\n      /** Pickup address. */\n      address?: Address;\n      /**\n       * Pickup method.\n       *\n       * Supported values:\n       * + `\"STORE_PICKUP\"`: When pickup is from the merchant's brick and mortar store.\n       * + `\"PICKUP_POINT\"`: When item is shipped to a specified pickup point.\n       */\n      pickupMethod?: PickupMethod;\n  }\n  enum PickupMethod {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot {\n      /** starting time of the delivery time slot */\n      from?: Date | null;\n      /** ending time of the delivery time slot */\n      to?: Date | null;\n  }\n  interface DeliveryCost {\n      /** The shipping rate's price. Must align with the [currency's decimal separator](https://en.wikipedia.org/wiki/ISO_4217#Active_codes). */\n      price?: string;\n      /** Currency of the shipping rate price as a 3-letter [ISO-4217 currency code](https://en.wikipedia.org/wiki/ISO_4217). Must align with the `currency` passed to the function under the `metadata` field. */\n      currency?: string;\n      /** Additional costs. For example, a handling fee for packaging fragile items. */\n      additionalCharges?: AdditionalCharge[];\n  }\n  interface AdditionalCharge {\n      /** Additional charge type. */\n      type?: ChargeType;\n      /** Description of the additional charge. For example, `\"Handling fee of $5 applied for gift wrapping\"`. */\n      description?: string | null;\n      /** Cost of additional charge. For example, `12.5`. */\n      price?: string;\n  }\n  enum ChargeType {\n      HANDLING_FEE = \"HANDLING_FEE\"\n  }\n  interface CarrierDetails {\n      /** The carrier app id */\n      appId?: string | null;\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n  }\n  interface RegionDetails {\n      /** The delivery region id. */\n      _id?: string | null;\n      /** The delivery region name. */\n      name?: string | null;\n  }\n  interface CarrierError {\n      /** The carrier app id */\n      appId?: string | null;\n      /** The error details */\n      errorDetails?: Details;\n  }\n  interface Details extends DetailsKindOneOf {\n      applicationError?: ApplicationError;\n      validationError?: ValidationError;\n      systemError?: SystemError;\n      /**\n       * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n       * @deprecated\n       */\n      tracing?: Record<string, string>;\n  }\n  /** @oneof */\n  interface DetailsKindOneOf {\n      applicationError?: ApplicationError;\n      validationError?: ValidationError;\n      systemError?: SystemError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /**\n   * example result:\n   * {\n   * \"fieldViolations\": [\n   * {\n   * \"field\": \"fieldA\",\n   * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n   * \"violatedRule\": \"OTHER\",\n   * \"ruleName\": \"INVALID_NOTE\",\n   * \"data\": {\n   * \"value\": \"FI\"\n   * }\n   * },\n   * {\n   * \"field\": \"fieldB\",\n   * \"description\": \"field value out of range. supported range: [0-20]\",\n   * \"violatedRule\": \"MAX\",\n   * \"data\": {\n   * \"threshold\": 20\n   * }\n   * },\n   * {\n   * \"field\": \"fieldC\",\n   * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n   * \"violatedRule\": \"FORMAT\",\n   * \"data\": {\n   * \"type\": \"PHONE\"\n   * }\n   * }\n   * ]\n   * }\n   */\n  interface ValidationError {\n      fieldViolations?: FieldViolation[];\n  }\n  enum RuleType {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\",\n      EXACT_LENGTH = \"EXACT_LENGTH\",\n      EXACT_SIZE = \"EXACT_SIZE\"\n  }\n  interface FieldViolation {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  interface SystemError {\n      /** Error code. */\n      errorCode?: string | null;\n  }\n  interface ProviderErrors {\n      /** The list of errors the providers returned. */\n      errors?: CarrierError[];\n  }\n  interface GetDeliverySolutionsRequest {\n      /** list of items to delivery that each of them points to delivery profile and delivery rule. */\n      lineItems: DeliverableItem[];\n      /** Destination the items should deliver to */\n      destination: Address;\n      /** Origin the items should deliver from */\n      origin?: Address;\n      /** Currency - Defaults to site's currency */\n      currency: string | null;\n      /** Contact details */\n      contactDetails?: FullAddressContactDetails;\n      /** Measure unit - defaults to site's weight unit */\n      weightUnit?: WeightUnit;\n      /** list of user preferences which are delivery options codes combined with delivery carrier app id */\n      userPreferences?: UserPreference[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n  }\n  interface UserPreference {\n      /** The delivery carrier app id */\n      appId?: string | null;\n      /** The delivery option code */\n      code?: string;\n  }\n  /**\n   * Each delivery option has a list of items that can be delivered by it - the chosen one\n   * on Errors throw a business error from TC to catch and trigger destination completion\n   */\n  interface GetDeliverySolutionsResponse {\n      /** Delivery Options with their associated items */\n      deliverySolutions?: DeliverySolution[];\n      /** If a delivery carrier could not calculate rates, the error will be detailed here */\n      errors?: DeliveryCarrierError[];\n  }\n  interface DeliverySolution {\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n      /** Delivery rate title. For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"`, or `\"First-Class Package International\"`. */\n      title?: string;\n      /** Delivery logistics. */\n      logistics?: DeliveryLogistics;\n      /** Delivery cost. */\n      cost?: DeliveryCost;\n      /** Delivery solution allocations to different delivery carriers and delivery regions */\n      deliveryAllocations?: DeliveryAllocation[];\n      /** If the delivery solution is a partial and doesn't apply to all items. */\n      partial?: boolean | null;\n  }\n  interface DeliveryAllocation {\n      /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n      deliveryCarrier?: Carrier;\n      /** The delivery region that are relevant for this delivery solution. */\n      deliveryRegion?: Region;\n      /** Populated if the delivery solution is a partially supplied by this carrier. */\n      applicableLineItems?: ApplicableLineItems;\n  }\n  interface Carrier {\n      /** The carrier app id */\n      appId?: string | null;\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n  }\n  interface Region {\n      /** The delivery region id. */\n      _id?: string | null;\n      /** The delivery region name. */\n      name?: string | null;\n  }\n  interface ApplicableLineItems {\n      /** Line items that the delivery solution is for. */\n      lineItemIds?: string[];\n  }\n  interface DeliveryCarrierError {\n      /** The carrier app id */\n      appId?: string | null;\n      /** The error details */\n      errorDetails?: Details;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Get Delivery Options for the given items from all relevant providers, by destination\n   * @param items - list of items to delivery that each of them points to delivery profile and delivery rule.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField items\n   * @requiredField options.currency\n   * @requiredField options.destination\n   * @requiredField options.destination.country\n   * @permissionId ECOM.CALCULATE_DELIVERY\n   * @adminMethod\n   * @returns Each delivery option has a list of items that can be delivered by it - the chosen one\n   * on Errors throw a business error from TC to catch and trigger destination completion\n   * @deprecated\n   * @targetRemovalDate 2024-11-01\n   */\n  function getDeliveryOptions(items: DeliverableItem[], options?: GetDeliveryOptions): Promise<GetDeliveryOptionsResponse>;\n  interface GetDeliveryOptions {\n      /** Destination the items should deliver to */\n      destination: Address;\n      /** Origin the items should deliver from */\n      origin?: Address;\n      /** Currency - Defaults to site's currency */\n      currency: string | null;\n      /** Contact details */\n      buyerDetails?: FullAddressContactDetails;\n      /** Measure unit - defaults to site's weight unit */\n      weightUnit?: WeightUnit;\n      /** list of delivery preferences which are delivery options codes combined with provider app id */\n      userIntent?: UserIntent[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /** Whether tax is included in the items' prices. */\n      taxIncludedInPrices?: boolean | null;\n  }\n  /**\n   * Get Delivery Solutions for the given line items from all relevant delivery carriers\n   * @param lineItems - list of items to delivery that each of them points to delivery profile and delivery rule.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField lineItems\n   * @requiredField options.currency\n   * @requiredField options.destination\n   * @requiredField options.destination.country\n   * @permissionId ECOM.DELIVERY_SOLUTION_READ\n   * @returns Each delivery option has a list of items that can be delivered by it - the chosen one\n   * on Errors throw a business error from TC to catch and trigger destination completion\n   */\n  function getDeliverySolutions(lineItems: DeliverableItem[], options?: GetDeliverySolutionsOptions): Promise<GetDeliverySolutionsResponse>;\n  interface GetDeliverySolutionsOptions {\n      /** Destination the items should deliver to */\n      destination: Address;\n      /** Origin the items should deliver from */\n      origin?: Address;\n      /** Currency - Defaults to site's currency */\n      currency: string | null;\n      /** Contact details */\n      contactDetails?: FullAddressContactDetails;\n      /** Measure unit - defaults to site's weight unit */\n      weightUnit?: WeightUnit;\n      /** list of user preferences which are delivery options codes combined with delivery carrier app id */\n      userPreferences?: UserPreference[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n  }\n  \n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryRatesGateway = DeliveryRatesGateway;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliveryOptionsRequest = GetDeliveryOptionsRequest;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliverableItem = DeliverableItem;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_PhysicalProperties = PhysicalProperties;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_Address = Address;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_StreetAddress = StreetAddress;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_AddressLocation = AddressLocation;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_Subdivision = Subdivision;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_SubdivisionType = SubdivisionType;\n  const gatewaysEcomV1DeliveryRatesGateway_universal_d_SubdivisionType: typeof SubdivisionType;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_FullAddressContactDetails = FullAddressContactDetails;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_VatId = VatId;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_VatType = VatType;\n  const gatewaysEcomV1DeliveryRatesGateway_universal_d_VatType: typeof VatType;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_WeightUnit = WeightUnit;\n  const gatewaysEcomV1DeliveryRatesGateway_universal_d_WeightUnit: typeof WeightUnit;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_UserIntent = UserIntent;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliveryOptionsResponse = GetDeliveryOptionsResponse;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryOption = DeliveryOption;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_PartialDeliveryOption = PartialDeliveryOption;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryDetails = DeliveryDetails;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryLogistics = DeliveryLogistics;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_PickupDetails = PickupDetails;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_PickupMethod = PickupMethod;\n  const gatewaysEcomV1DeliveryRatesGateway_universal_d_PickupMethod: typeof PickupMethod;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryTimeSlot = DeliveryTimeSlot;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryCost = DeliveryCost;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_AdditionalCharge = AdditionalCharge;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_ChargeType = ChargeType;\n  const gatewaysEcomV1DeliveryRatesGateway_universal_d_ChargeType: typeof ChargeType;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_CarrierDetails = CarrierDetails;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_RegionDetails = RegionDetails;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_CarrierError = CarrierError;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_Details = Details;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DetailsKindOneOf = DetailsKindOneOf;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_ApplicationError = ApplicationError;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_ValidationError = ValidationError;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_RuleType = RuleType;\n  const gatewaysEcomV1DeliveryRatesGateway_universal_d_RuleType: typeof RuleType;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_FieldViolation = FieldViolation;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_SystemError = SystemError;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_ProviderErrors = ProviderErrors;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliverySolutionsRequest = GetDeliverySolutionsRequest;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_UserPreference = UserPreference;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliverySolutionsResponse = GetDeliverySolutionsResponse;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliverySolution = DeliverySolution;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryAllocation = DeliveryAllocation;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_Carrier = Carrier;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_Region = Region;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_ApplicableLineItems = ApplicableLineItems;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryCarrierError = DeliveryCarrierError;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_Empty = Empty;\n  const gatewaysEcomV1DeliveryRatesGateway_universal_d_getDeliveryOptions: typeof getDeliveryOptions;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliveryOptions = GetDeliveryOptions;\n  const gatewaysEcomV1DeliveryRatesGateway_universal_d_getDeliverySolutions: typeof getDeliverySolutions;\n  type gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliverySolutionsOptions = GetDeliverySolutionsOptions;\n  namespace gatewaysEcomV1DeliveryRatesGateway_universal_d {\n    export {\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryRatesGateway as DeliveryRatesGateway,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliveryOptionsRequest as GetDeliveryOptionsRequest,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliverableItem as DeliverableItem,\n      CatalogReference$1 as CatalogReference,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_PhysicalProperties as PhysicalProperties,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_Address as Address,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_StreetAddress as StreetAddress,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_AddressLocation as AddressLocation,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_Subdivision as Subdivision,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_SubdivisionType as SubdivisionType,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_FullAddressContactDetails as FullAddressContactDetails,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_VatId as VatId,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_VatType as VatType,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_WeightUnit as WeightUnit,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_UserIntent as UserIntent,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliveryOptionsResponse as GetDeliveryOptionsResponse,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryOption as DeliveryOption,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_PartialDeliveryOption as PartialDeliveryOption,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryDetails as DeliveryDetails,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryLogistics as DeliveryLogistics,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_PickupDetails as PickupDetails,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_PickupMethod as PickupMethod,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryTimeSlot as DeliveryTimeSlot,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryCost as DeliveryCost,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_AdditionalCharge as AdditionalCharge,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_ChargeType as ChargeType,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_CarrierDetails as CarrierDetails,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_RegionDetails as RegionDetails,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_CarrierError as CarrierError,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_Details as Details,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DetailsKindOneOf as DetailsKindOneOf,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_ApplicationError as ApplicationError,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_ValidationError as ValidationError,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_RuleType as RuleType,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_FieldViolation as FieldViolation,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_SystemError as SystemError,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_ProviderErrors as ProviderErrors,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliverySolutionsRequest as GetDeliverySolutionsRequest,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_UserPreference as UserPreference,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliverySolutionsResponse as GetDeliverySolutionsResponse,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliverySolution as DeliverySolution,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryAllocation as DeliveryAllocation,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_Carrier as Carrier,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_Region as Region,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_ApplicableLineItems as ApplicableLineItems,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_DeliveryCarrierError as DeliveryCarrierError,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_Empty as Empty,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_getDeliveryOptions as getDeliveryOptions,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliveryOptions as GetDeliveryOptions,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_getDeliverySolutions as getDeliverySolutions,\n      gatewaysEcomV1DeliveryRatesGateway_universal_d_GetDeliverySolutionsOptions as GetDeliverySolutionsOptions,\n    };\n  }\n  \n  /**\n   * Tip settings define how tips are calculated and distributed among staff. When\n   * Wix Tips is installed, default settings are automatically created. You can't\n   * delete these default settings but you can update them. Creating additional\n   * settings allows business owners to customize tip screens for different payment\n   * terminals or set specific presets for various products or services.\n   */\n  interface TipSettings extends TipSettingsIdentifierOneOf {\n      /**\n       * ID of the [location](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction)\n       * for which the tip settings apply.\n       */\n      locationId?: string | null;\n      /**\n       * ID of the payment terminal for which the tip settings apply. Wix Tips doesn't\n       * validate the ID you provide.\n       *\n       * Max: 30 characters\n       */\n      paymentTerminalId?: string | null;\n      /**\n       * ID of the Wix user for whom the tip settings apply. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      userId?: string | null;\n      /**\n       * ID of the tip settings.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Tip type.\n       *\n       * Supported values:\n       * + `UNKNOWN_TIP_TYPE`: There is no information about the tip type.\n       * + `PERCENTAGE`: The tip is calculated as a percentage of the subtotal for all related line items.\n       * + `AMOUNT`: The tip is a fixed amount.\n       */\n      tipType?: TipType$1;\n      /**\n       * Information about the tip choices that Wix Tips displays to customers during the\n       * [eCommerce checkout](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup).\n       *\n       * Min: `1` preset\n       * Max: `3` presets\n       */\n      presets?: Preset[];\n      /**\n       * Whether customer are allowed to tip during the\n       * [eCommerce checkout](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup).\n       */\n      allowCustomerTip?: boolean | null;\n      /**\n       * Whether the business owners are given the option to add a tip during the\n       * payment collection flow in their dashboard.\n       *\n       * Default: `true`\n       */\n      allowBusinessTipAtPayment?: boolean | null;\n      /**\n       * Whether customers can enter a custom tip amount. If set to `false`, customers\n       * can only select a tip value from the available `presets` and can't enter a\n       * custom amount.\n       *\n       * Default: `true`\n       */\n      allowCustomAmount?: boolean | null;\n      /**\n       * Whether business owners are allowed to edit tip distributions. If set to\n       * `false`, owners can't edit distributions after they were created.\n       *\n       * Default: `true`\n       */\n      allowEditDistribution?: boolean | null;\n      /**\n       * How the tip is distributed among staff.\n       *\n       * Supported values:\n       * `UNKNOWN_SPLIT_METHOD`: There is no information about the staff distribution method.\n       * `EQUAL`: The tip is distributed equally among all staff.\n       * `PROPORTIONAL`: The tip is distributed proportionally among staff.\n       */\n      staffDistributionMethod?: StaffDistributionMethod;\n      /**\n       * Revision number, which increments by 1 each time `tipSettings` object is\n       * updated. To prevent conflicting changes, the current revision must be passed\n       * when updating `tipSettings`. Ignored when creating a `tipSettings` object.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tip settings were created in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the tip settings were last updated\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Whether these are the default tip settings. Wix Tips automatically creates\n       * the default settings during the app's installation. You can't delete these\n       * default settings but you can update them. Wix Tips uses the default settings\n       * to calculate tips, unless you specify other settings.\n       * @readonly\n       */\n      default?: boolean | null;\n      /**\n       * ID of the app that has created the settings. See the list of app IDs for\n       * [Wix business solutions](https://dev.wix.com/docs/rest/articles/getting-started/wix-business-solutions).\n       */\n      appId?: string | null;\n      /**\n       * Custom field data for the `tipSettings` object. Extended fields must be\n       * configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  /** @oneof */\n  interface TipSettingsIdentifierOneOf {\n      /**\n       * ID of the [location](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction)\n       * for which the tip settings apply.\n       */\n      locationId?: string | null;\n      /**\n       * ID of the payment terminal for which the tip settings apply. Wix Tips doesn't\n       * validate the ID you provide.\n       *\n       * Max: 30 characters\n       */\n      paymentTerminalId?: string | null;\n      /**\n       * ID of the Wix user for whom the tip settings apply. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      userId?: string | null;\n  }\n  enum TipType$1 {\n      /** There is no information about the tip type. */\n      UNKNOWN_TIP_TYPE = \"UNKNOWN_TIP_TYPE\",\n      /** The tip is calculated as a percentage of the subtotal of all related line items. */\n      PERCENTAGE = \"PERCENTAGE\",\n      /** The tip is a fixed amount. */\n      AMOUNT = \"AMOUNT\"\n  }\n  interface Preset {\n      /**\n       * Value of the preset tip choice that's displayed to customers in the\n       * [eCommerce checkout](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup).\n       * For example, `5`, `10`, and `15` percent or `1`, `3`, and `5` USD.\n       *\n       * Min: `0`\n       */\n      value?: number | null;\n      /**\n       * Whether this tip choice value is the dafault preset that's highlighted automatically in the\n       * [eCommerce checkout](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup).\n       *\n       * Default: `false`\n       */\n      default?: boolean | null;\n  }\n  enum StaffDistributionMethod {\n      /** There is no information about the staff distribution method. */\n      UNKNOWN_SPLIT_METHOD = \"UNKNOWN_SPLIT_METHOD\",\n      /** All staff receive an equal amount of the tip. */\n      EQUAL = \"EQUAL\",\n      /** Staff receive a proportional amount of the tip. */\n      PROPORTIONAL = \"PROPORTIONAL\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface QueryTipSettingsRequest {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTipSettingsResponse {\n      /** Retrieved `tipSettings` objects. */\n      tipSettings?: TipSettings[];\n      /** Metadate for the paged set of retrieved `tipSettings` objects. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateTipSettingsRequest {\n      /** Tip settings to update. */\n      tipSettings: TipSettings;\n      /**\n       * Field mask.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateTipSettingsResponse {\n      /** Updated tip settings. */\n      tipSettings?: TipSettings;\n  }\n  interface CreateTipSettingsRequest {\n      /** Tip settings to create. */\n      tipSettings: TipSettings;\n  }\n  interface CreateTipSettingsResponse {\n      /** Created tip settings. */\n      tipSettings?: TipSettings;\n  }\n  interface CreateDefaultTipSettingsRequest {\n      /** Dafault tip settings to create. */\n      tipSettings: TipSettings;\n  }\n  interface CreateDefaultTipSettingsResponse {\n      /** Created default tip settings. */\n      tipSettings?: TipSettings;\n  }\n  interface DeleteTipSettingsRequest {\n      /** ID of the `tipSettings` object to delete. */\n      tipSettingsId: string | null;\n  }\n  interface DeleteTipSettingsResponse {\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a query to retrieve a list of tip settings.\n   *\n   * The `queryTipSettings()` function builds a query to retrieve a list of tip settings and returns a `TipSettingsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/ecom/tip-settings/tip-settings-query-builder/find) function.\n   *\n   * You can refine the query by chaining `TipSettingsQueryBuilder` functions onto the query. `TipSettingsQueryBuilder` functions enable you to sort, filter, and control the results that `queryTipSettings()` returns.\n   *\n   * `queryTipSettings()` runs with the following `TipSettingsQueryBuilder` default that you can override:\n   *\n   * + `limit` is `50`.\n   * + Sorted by `id` in ascending order.\n   *\n   * The functions that are chained to `queryTipSettings()` are applied in the order they are called. For example, if you apply `ascending(\"tipType\")` and then `ascending(\"locationId\")`, the results are sorted first by the `\"tipType\"`, and then, if there are multiple results with the same `\"tipType\"`, the items are sorted by `\"locationId\"`.\n   *\n   * The following `TipSettingsQueryBuilder` functions are supported for the `queryTipSettings()` function. For a full description of the tip settings object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/ecom/tip-settings/tip-settings-query-result/items) property in `TipSettingsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_TIPS.TIP_SETTINGS_READ\n   */\n  function queryTipSettings(): TipSettingsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TipSettingsQueryResult extends QueryCursorResult$1 {\n      items: TipSettings[];\n      query: TipSettingsQueryBuilder;\n      next: () => Promise<TipSettingsQueryResult>;\n      prev: () => Promise<TipSettingsQueryResult>;\n  }\n  interface TipSettingsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'locationId' | 'paymentTerminalId' | '_id' | 'tipType' | 'allowCustomerTip' | 'allowBusinessTipAtPayment' | 'allowCustomAmount' | 'allowEditDistribution' | 'default', value: any) => TipSettingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'locationId' | 'paymentTerminalId' | '_id' | 'tipType' | 'allowCustomerTip' | 'allowBusinessTipAtPayment' | 'allowCustomAmount' | 'allowEditDistribution' | 'default', value: any) => TipSettingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'locationId' | 'paymentTerminalId' | '_id', value: string) => TipSettingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'locationId' | 'paymentTerminalId' | '_id' | 'tipType' | 'allowCustomerTip' | 'allowBusinessTipAtPayment' | 'allowCustomAmount' | 'allowEditDistribution' | 'default', value: any[]) => TipSettingsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'locationId' | 'paymentTerminalId' | '_id' | 'tipType' | 'allowCustomerTip' | 'allowBusinessTipAtPayment' | 'allowCustomAmount' | 'allowEditDistribution' | 'default', value: any) => TipSettingsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'locationId' | 'paymentTerminalId' | '_id' | 'tipType' | 'allowCustomerTip' | 'allowBusinessTipAtPayment' | 'allowCustomAmount' | 'allowEditDistribution' | 'default', value: boolean) => TipSettingsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'locationId' | 'paymentTerminalId' | '_id' | 'tipType' | 'allowCustomerTip' | 'allowBusinessTipAtPayment' | 'allowCustomAmount' | 'allowEditDistribution' | 'default'>) => TipSettingsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'locationId' | 'paymentTerminalId' | '_id' | 'tipType' | 'allowCustomerTip' | 'allowBusinessTipAtPayment' | 'allowCustomAmount' | 'allowEditDistribution' | 'default'>) => TipSettingsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => TipSettingsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => TipSettingsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<TipSettingsQueryResult>;\n  }\n  /**\n   * Updates a `tipSettings` object.\n   *\n   *\n   * You can't update the `default` field.\n   * @param tipSettings - Tip settings to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tipSettings\n   * @param options - Options to use when updating tip settings.\n   * @permissionId WIX_TIPS.TIP_SETTINGS_UPDATE\n   * @adminMethod\n   * @returns Updated tip settings.\n   */\n  function updateTipSettings(tipSettings: TipSettings, options?: UpdateTipSettingsOptions): Promise<TipSettings>;\n  interface UpdateTipSettingsOptions {\n      /**\n       * Field mask.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Creates a `tipSettings` object.\n   *\n   *\n   * You can't create a `tipSettings` object with `{\"default\": true}`.\n   * @param tipSettings - Tip settings to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tipSettings\n   * @permissionId WIX_TIPS.TIP_SETTINGS_CREATE\n   * @adminMethod\n   * @returns Created tip settings.\n   */\n  function createTipSettings(tipSettings: TipSettings): Promise<TipSettings>;\n  /**\n   * Creates a default `tipSettings` object.\n   *\n   *\n   * The call fails if there is already an existing default `tipSettings` object.\n   * @param tipSettings - Dafault tip settings to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tipSettings\n   * @permissionId WIX_TIPS.TIP_SETTINGS_CREATE\n   * @adminMethod\n   */\n  function createDefaultTipSettings(tipSettings: TipSettings): Promise<CreateDefaultTipSettingsResponse>;\n  /**\n   * Deletes a `tipSettings` object.\n   *\n   *\n   * You can't delete the default `tipSettings` object.\n   * @param tipSettingsId - ID of the `tipSettings` object to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tipSettingsId\n   * @permissionId WIX_TIPS.TIP_SETTINGS_DELETE\n   * @adminMethod\n   */\n  function deleteTipSettings(tipSettingsId: string | null): Promise<void>;\n  \n  type tipsSettingsV1TipSettings_universal_d_TipSettings = TipSettings;\n  type tipsSettingsV1TipSettings_universal_d_TipSettingsIdentifierOneOf = TipSettingsIdentifierOneOf;\n  type tipsSettingsV1TipSettings_universal_d_Preset = Preset;\n  type tipsSettingsV1TipSettings_universal_d_StaffDistributionMethod = StaffDistributionMethod;\n  const tipsSettingsV1TipSettings_universal_d_StaffDistributionMethod: typeof StaffDistributionMethod;\n  type tipsSettingsV1TipSettings_universal_d_ExtendedFields = ExtendedFields;\n  type tipsSettingsV1TipSettings_universal_d_QueryTipSettingsRequest = QueryTipSettingsRequest;\n  type tipsSettingsV1TipSettings_universal_d_QueryV2 = QueryV2;\n  type tipsSettingsV1TipSettings_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type tipsSettingsV1TipSettings_universal_d_Paging = Paging;\n  type tipsSettingsV1TipSettings_universal_d_QueryTipSettingsResponse = QueryTipSettingsResponse;\n  type tipsSettingsV1TipSettings_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type tipsSettingsV1TipSettings_universal_d_UpdateTipSettingsRequest = UpdateTipSettingsRequest;\n  type tipsSettingsV1TipSettings_universal_d_UpdateTipSettingsResponse = UpdateTipSettingsResponse;\n  type tipsSettingsV1TipSettings_universal_d_CreateTipSettingsRequest = CreateTipSettingsRequest;\n  type tipsSettingsV1TipSettings_universal_d_CreateTipSettingsResponse = CreateTipSettingsResponse;\n  type tipsSettingsV1TipSettings_universal_d_CreateDefaultTipSettingsRequest = CreateDefaultTipSettingsRequest;\n  type tipsSettingsV1TipSettings_universal_d_CreateDefaultTipSettingsResponse = CreateDefaultTipSettingsResponse;\n  type tipsSettingsV1TipSettings_universal_d_DeleteTipSettingsRequest = DeleteTipSettingsRequest;\n  type tipsSettingsV1TipSettings_universal_d_DeleteTipSettingsResponse = DeleteTipSettingsResponse;\n  const tipsSettingsV1TipSettings_universal_d_queryTipSettings: typeof queryTipSettings;\n  type tipsSettingsV1TipSettings_universal_d_TipSettingsQueryResult = TipSettingsQueryResult;\n  type tipsSettingsV1TipSettings_universal_d_TipSettingsQueryBuilder = TipSettingsQueryBuilder;\n  const tipsSettingsV1TipSettings_universal_d_updateTipSettings: typeof updateTipSettings;\n  type tipsSettingsV1TipSettings_universal_d_UpdateTipSettingsOptions = UpdateTipSettingsOptions;\n  const tipsSettingsV1TipSettings_universal_d_createTipSettings: typeof createTipSettings;\n  const tipsSettingsV1TipSettings_universal_d_createDefaultTipSettings: typeof createDefaultTipSettings;\n  const tipsSettingsV1TipSettings_universal_d_deleteTipSettings: typeof deleteTipSettings;\n  namespace tipsSettingsV1TipSettings_universal_d {\n    export {\n      tipsSettingsV1TipSettings_universal_d_TipSettings as TipSettings,\n      tipsSettingsV1TipSettings_universal_d_TipSettingsIdentifierOneOf as TipSettingsIdentifierOneOf,\n      TipType$1 as TipType,\n      tipsSettingsV1TipSettings_universal_d_Preset as Preset,\n      tipsSettingsV1TipSettings_universal_d_StaffDistributionMethod as StaffDistributionMethod,\n      tipsSettingsV1TipSettings_universal_d_ExtendedFields as ExtendedFields,\n      tipsSettingsV1TipSettings_universal_d_QueryTipSettingsRequest as QueryTipSettingsRequest,\n      tipsSettingsV1TipSettings_universal_d_QueryV2 as QueryV2,\n      tipsSettingsV1TipSettings_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      tipsSettingsV1TipSettings_universal_d_Paging as Paging,\n      CursorPaging$1 as CursorPaging,\n      tipsSettingsV1TipSettings_universal_d_QueryTipSettingsResponse as QueryTipSettingsResponse,\n      tipsSettingsV1TipSettings_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      tipsSettingsV1TipSettings_universal_d_UpdateTipSettingsRequest as UpdateTipSettingsRequest,\n      tipsSettingsV1TipSettings_universal_d_UpdateTipSettingsResponse as UpdateTipSettingsResponse,\n      tipsSettingsV1TipSettings_universal_d_CreateTipSettingsRequest as CreateTipSettingsRequest,\n      tipsSettingsV1TipSettings_universal_d_CreateTipSettingsResponse as CreateTipSettingsResponse,\n      tipsSettingsV1TipSettings_universal_d_CreateDefaultTipSettingsRequest as CreateDefaultTipSettingsRequest,\n      tipsSettingsV1TipSettings_universal_d_CreateDefaultTipSettingsResponse as CreateDefaultTipSettingsResponse,\n      tipsSettingsV1TipSettings_universal_d_DeleteTipSettingsRequest as DeleteTipSettingsRequest,\n      tipsSettingsV1TipSettings_universal_d_DeleteTipSettingsResponse as DeleteTipSettingsResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      tipsSettingsV1TipSettings_universal_d_queryTipSettings as queryTipSettings,\n      tipsSettingsV1TipSettings_universal_d_TipSettingsQueryResult as TipSettingsQueryResult,\n      tipsSettingsV1TipSettings_universal_d_TipSettingsQueryBuilder as TipSettingsQueryBuilder,\n      tipsSettingsV1TipSettings_universal_d_updateTipSettings as updateTipSettings,\n      tipsSettingsV1TipSettings_universal_d_UpdateTipSettingsOptions as UpdateTipSettingsOptions,\n      tipsSettingsV1TipSettings_universal_d_createTipSettings as createTipSettings,\n      tipsSettingsV1TipSettings_universal_d_createDefaultTipSettings as createDefaultTipSettings,\n      tipsSettingsV1TipSettings_universal_d_deleteTipSettings as deleteTipSettings,\n    };\n  }\n  \n  /**\n   * Information about a team member who's eligible to receive a portion of the tip.\n   * Currently, only [Bookings staff members](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members/introduction)\n   * and [site collaborators](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site)\n   * are eligible for tip distributions.\n   */\n  interface Staff$1 {\n      /**\n       * Staff ID. Matches `staffMemberId` if available, or\n       * `identificationData.wixUserId` if not.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Staff name. Matches the name of the Bookings staff member if available. */\n      name?: string | null;\n      /**\n       * Staff member ID. Available only if the staff is connected to a\n       * Bookings staff member.\n       */\n      staffMemberId?: string | null;\n      /**\n       * Identification data of the staff. Available only if the staff is a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      identificationData?: IdentificationData$1;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor who hasn't logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor who has logged in to the site. */\n      memberId?: string;\n      /**\n       * ID of a Wix user. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /**\n       * ID of the [contact](https://dev.wix.com/docs/sdk/backend-modules/crm/contacts/introduction)\n       * in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system.\n       */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor who hasn't logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor who has logged in to the site. */\n      memberId?: string;\n      /**\n       * ID of a Wix user. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ListTippableStaffRequest {\n      /**\n       * Whether to include staff who are only Wix users and not\n       * Bookings staff members in the response. Setting `{\"includeWixUsers\": true}` returns all tippable\n       * staff, including Bookings staff, site collaborators, or those who are both.\n       * By default, or if you provide `{\"includeWixUsers\": false}`, only Bookings\n       * staff members or those who are both are returned.\n       *\n       * Default: `false`.\n       */\n      includeWixUsers?: boolean;\n      /**\n       * Filters the returned staff by name. If you provide a name as filter, only\n       * staff whose names start with the given input are returned. The filter isn't\n       * case sensitive.\n       *\n       * Max: 500 characters\n       */\n      filterByName?: string | null;\n      /**\n       * Filters the returned staff by ID. If you provide a list of IDs as filter,\n       * only staff members with exact matching IDs are returned.\n       *\n       * Max: 100 IDs\n       */\n      filterByIds?: string[] | null;\n  }\n  interface ListTippableStaffResponse {\n      /** Retrieved staff. */\n      staff?: Staff$1[];\n  }\n  /**\n   * Retrieves a list of up to 100 staff who are eligible to receive tips, given\n   * the provided filtering.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when listing tippable staff.\n   * @permissionId WIX_TIPS.STAFF_READ\n   * @adminMethod\n   */\n  function listTippableStaff(options?: ListTippableStaffOptions): Promise<ListTippableStaffResponse>;\n  interface ListTippableStaffOptions {\n      /**\n       * Whether to include staff who are only Wix users and not Bookings staff members in the response. Setting `{\"includeWixUsers\": true}` returns all tippable\n       * staff, including Bookings staff, site collaborators, or those who are both.\n       * By default, or if you provide `{\"includeWixUsers\": false}`, only Bookings\n       * staff members or those who are both are returned.\n       *\n       * Default: `false`.\n       */\n      includeWixUsers?: boolean;\n      /**\n       * Filters the returned staff by name. If you provide a name as filter, only\n       * staff whose names start with the given input are returned. The filter isn't\n       * case sensitive.\n       *\n       * Max: 500 characters\n       */\n      filterByName?: string | null;\n      /**\n       * Filters the returned staff by ID. If you provide a list of IDs as filter,\n       * only staff members with exact matching IDs are returned.\n       *\n       * Max: 100 IDs\n       */\n      filterByIds?: string[] | null;\n  }\n  \n  type tipsStaffV1Staff_universal_d_ListTippableStaffRequest = ListTippableStaffRequest;\n  type tipsStaffV1Staff_universal_d_ListTippableStaffResponse = ListTippableStaffResponse;\n  const tipsStaffV1Staff_universal_d_listTippableStaff: typeof listTippableStaff;\n  type tipsStaffV1Staff_universal_d_ListTippableStaffOptions = ListTippableStaffOptions;\n  namespace tipsStaffV1Staff_universal_d {\n    export {\n      Staff$1 as Staff,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      IdentityType$1 as IdentityType,\n      tipsStaffV1Staff_universal_d_ListTippableStaffRequest as ListTippableStaffRequest,\n      tipsStaffV1Staff_universal_d_ListTippableStaffResponse as ListTippableStaffResponse,\n      tipsStaffV1Staff_universal_d_listTippableStaff as listTippableStaff,\n      tipsStaffV1Staff_universal_d_ListTippableStaffOptions as ListTippableStaffOptions,\n    };\n  }\n  \n  /**\n   * A tip holds information about how much a customer has tipped, how the tip is\n   * distributed among staff, and the associated order’s line item subtotal.\n   */\n  interface Tip {\n      /**\n       * ID of the tip. Identical to the `code` of the related `order.additionalFee`.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Subtotal of all line items from the [eCommerce order](https://dev.wix.com/docs/sdk/backend-modules/ecom/orders/setup)\n       * that's related to the tip. In the response of\n       * [previewTip()](https://dev.wix.com/docs/sdk/backend-modules/ecom/tips/preview-tip),\n       * there is no related eCommerce order. Then, value of this field corresponds to\n       * the sum of all line item prices passed in the request.\n       * @readonly\n       */\n      lineItemSubtotal?: string | null;\n      /**\n       * Total amount of the tip.\n       *\n       * Min: `0.00`\n       */\n      amount?: string | null;\n      /**\n       * Details about how the tip is shared among staff. Available only if at least\n       * one staff member receives part of the tip, and it's not entirely allocated to\n       * the business.\n       *\n       * Max: 50 distributions\n       */\n      distributions?: TipDistribution[];\n      /**\n       * Undistributed tip amount. Calculated as the difference between `tip.amount`\n       * and the sum of all `tip.tipDistributions.amount` values.\n       *\n       * Min: `0.01`\n       * @readonly\n       */\n      undistributedAmount?: string | null;\n  }\n  interface TipDistribution {\n      /**\n       * ID of the tip distribution.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ID of the tip associated with the distribution. Matches the corresponding\n       * `order.additionalFee.code`.\n       * @readonly\n       */\n      tipId?: string | null;\n      /** Information about the business staff receiving the tip distribution. */\n      staff?: Staff;\n      /**\n       * Amount of the tip distribution.\n       *\n       * Min: `0.00`\n       */\n      amount?: string | null;\n      /**\n       * Details about the related line items from the\n       * [eCommerce order](https://dev.wix.com/docs/sdk/backend-modules/ecom/orders/setup).\n       *\n       */\n      lineItemInfo?: LineItemInfo[];\n      /**\n       * Details of how the customer is charged for the tip. Available only if the\n       * [transcation](https://dev.wix.com/docs/sdk/backend-modules/ecom/order-transactions/setup)\n       * has been created.\n       */\n      transaction?: Transaction;\n      /**\n       * ID of the [eCommerce order](https://dev.wix.com/docs/sdk/backend-modules/ecom/orders/setup)\n       * associated with the tip distribution. Identical for all distributions that\n       * belong to the same tip.\n       * @readonly\n       */\n      orderId?: string | null;\n      /**\n       * Date and time the distribution was created in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Information about who created the tip distributions.\n       *\n       * Supported values:\n       * + `UNKNOWN_SOURCE`: There is no information about who created the tip distributions.\n       * + `POS`: The customer added the tip distributions via an external payment terminal.\n       * + `WEB`: The customer added the tip distributions during an online [ecommerce checkout](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction).\n       * + `DASHBOARD`: The business added the tip distributions on behalf of the customer in the site's dashboard.\n       * @internal\n       */\n      source?: Source;\n  }\n  interface CommonIdentificationData extends CommonIdentificationDataIdOneOf {\n      /** ID of a site visitor who hasn't logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor who has logged in to the site. */\n      memberId?: string;\n      /**\n       * ID of a Wix user. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /**\n       * ID of the [contact](https://dev.wix.com/docs/sdk/backend-modules/crm/contacts/introduction)\n       * in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system.\n       */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface CommonIdentificationDataIdOneOf {\n      /** ID of a site visitor who hasn't logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor who has logged in to the site. */\n      memberId?: string;\n      /**\n       * ID of a Wix user. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface Staff {\n      /**\n       * ID of the staff receiving the tip. Matches `staffMemberId` if available, or\n       * `identificationData.wixUserId` if not.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Staff name. Matches `staffMember.name` if the staff is a\n       * Bookings staff member,\n       * or the [contact](https://dev.wix.com/docs/sdk/backend-modules/crm/contacts/introduction)'s\n       * `info.name` if not.\n       *\n       * Max: 500 characters\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * ID of the Bookings staff member.\n       * Available only if the staff is a staff member and not a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      staffMemberId?: string | null;\n      /**\n       * Identification data. Available only if the staff is a\n       * [contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/contact-object)\n       * on the Wix site. Note that not all site collaborators are also\n       * [staff members](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members/introduction).\n       */\n      identificationData?: CommonIdentificationData;\n  }\n  interface LineItemInfo {\n      /**\n       * IDs of the line items associated with the tip.\n       *\n       * Min: 1 character\n       * Max: 100 characters\n       */\n      lineItemId?: string | null;\n      /**\n       * Information about the line item and the corresponding catalog. Catalogs\n       * include Wix Bookings and Wix Stores.\n       */\n      catalogReference?: CatalogReference;\n      /**\n       * Price of the line item.\n       *\n       * Min: `0.00`\n       */\n      price?: string | null;\n      /**\n       * Name of the line item, which is identical to:\n       * + `product.name` for [Stores](https://dev.wix.com/docs/sdk/backend-modules/stores/products/introduction).\n       * + `service.name` for [Bookings](https://dev.wix.com/docs/sdk/backend-modules/bookings/introduction).\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      name?: string | null;\n      /**\n       * Quantity of the line item.\n       *\n       * Min: `1`\n       * Max: `100000` (one hundred thousand)\n       */\n      quantity?: number | null;\n  }\n  interface CatalogReference {\n      /**\n       * ID of the line item within its catalog, corresponding to:\n       * + `product.id` for [Stores](https://dev.wix.com/docs/rest/business-solutions/stores/about-wix-stores).\n       * + `service.id` for [Bookings](https://dev.wix.com/docs/rest/business-solutions/bookings/about-wix-bookings).\n       */\n      catalogItemId?: string | null;\n      /**\n       * ID of the [app](https://dev.wix.com/docs/rest/articles/getting-started/wix-business-solutions)\n       * to which the catalog belongs.\n       *\n       * Supported app IDs:\n       * + [Wix Tips](https://www.wix.com/app-market/wix-tips): `\"869a50c8-dd38-4324-b201-e33dc0747a5f\"`\n       * + [Wix Stores](https://www.wix.com/app-market/wix-stores): `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + [Wix Bookings](https://www.wix.com/app-market/bookings): `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + [Wix Restaurants Orders](https://www.wix.com/app-market/web-solution/wix-restaurants-orders-new): `\"13e8d036-5516-6104-b456-c8466db39542\"`\n       */\n      appId?: string | null;\n  }\n  interface Transaction {\n      /** ID of the transaction that's associated with the tip distribution. */\n      _id?: string | null;\n      /**\n       * Date and time the transaction was created in `YYYY-MM-DDThh:mm:ss.sssZ`\n       * format. Isn't identical to the time the customer was actually charged.\n       */\n      date?: Date | null;\n  }\n  enum Source {\n      /** There is no information about who created the tip distributions. */\n      UNKNOWN_SOURCE = \"UNKNOWN_SOURCE\",\n      /** The customer added the tip distributions via an external payment terminal. */\n      POS = \"POS\",\n      /** The customer added the tip distributions during an online [ecommerce checkout](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction). */\n      WEB = \"WEB\",\n      /** The business added the tip distributions on behalf of the customer in the site's dashboard. */\n      DASHBOARD = \"DASHBOARD\"\n  }\n  interface PreviewTipRequest {\n      /**\n       * Information about the line items to preview the tip for.\n       *\n       * Min: 1 line item\n       * Max: 50 line items\n       */\n      lineItemInfo: LineItemInfo[];\n      /**\n       * Information about how to calculate the total tip amount and the distribution\n       * amounts.\n       */\n      tipChoice: TipChoice;\n      /**\n       * ID of the tip settings used to preview the tip. If you don't provide a\n       * `tipSettingsId`, the `staffDistributionMethod` is based on the site's\n       * default tip settings.\n       */\n      tipSettingsId?: string | null;\n  }\n  interface TipChoice {\n      /** Value of the tip choice. */\n      value?: string | null;\n      /**\n       * Type of the tip choice.\n       *\n       * Supported values:\n       * + `UNKNOWN_TIP_TYPE`: There is no information about the tip type.\n       * + `PERCENTAGE`: The tip is calculated as a percentage of the subtotal of associated line items.\n       * + `AMOUNT`: The tip is a fixed value, pre-configured from the relevant settings presets.\n       * + `CUSTOM`: The customer, or the business on behalf of the customer, manually set a tip amount, which may not match any preset values.\n       */\n      tipType?: TipType;\n  }\n  enum TipType {\n      /** There is no information about the tip type. */\n      UNKNOWN_TIP_TYPE = \"UNKNOWN_TIP_TYPE\",\n      /** The tip is calculated as a percentage of the subtotal of associated line items. */\n      PERCENTAGE = \"PERCENTAGE\",\n      /** The tip is a fixed value, pre-configured from the relevant settings presets. */\n      AMOUNT = \"AMOUNT\",\n      /** The customer, or the business on behalf of the customer, manually set a tip amount, which may not match any preset values. */\n      CUSTOM = \"CUSTOM\"\n  }\n  interface PreviewTipResponse {\n      /** Tip. */\n      tip?: Tip;\n  }\n  interface GetTipByOrderIdRequest {\n      /** ID of the order to retrieve the tip for. */\n      orderId: string | null;\n  }\n  interface GetTipByOrderIdResponse {\n      /** Retrieved tip. */\n      tip?: Tip;\n  }\n  interface GetTipByDraftOrderIdRequest {\n      /** ID of the draft order to retrieve the tip for. */\n      draftOrderId: string | null;\n  }\n  interface GetTipByDraftOrderIdResponse {\n      /** Retrieved tip. */\n      tip?: Tip;\n  }\n  interface GetTipChoiceRequest {\n      /**\n       * ID of the [eCommerce purchase flow](https://dev.wix.com/docs/rest/business-solutions/e-commerce/wix-e-commerce-platform-handbook/overview/architecture-data-flow)\n       * to retrieve the tip choice for.\n       */\n      purchaseFlowId: string | null;\n  }\n  interface GetTipChoiceResponse {\n      /** Tip choice that's currently selected for the given purchase flow. */\n      tipChoice?: TipChoice;\n  }\n  interface UpdateTipChoiceRequest {\n      /**\n       * Tip choice to select for the purchase flow. The call fails if you provide a\n       * value for `tipChoice.tipType` that doesn't match the relevant tip settings\n       * configuration. For example:\n       * + `AMOUNT` when `tipSettings.tipType` isn't `AMOUNT`.\n       * + `PERCENTAGE` when `tipSettings.tipType` isn't `PERCENTAGE`.\n       * + `CUSTOM` when `tipSettings.allowCustomTip` is `false`.\n       */\n      tipChoice: TipChoice;\n      /**\n       * ID of the purchase flow that's associated with the\n       * [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/order/introduction)\n       */\n      purchaseFlowId: string | null;\n  }\n  interface UpdateTipChoiceResponse {\n      /**\n       * Tip choice currently selected in the\n       * [eCommerce checkout](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)\n       * for the given purchase flow.\n       */\n      tipChoice?: TipChoice;\n  }\n  interface SetTipOnOrderRequest extends SetTipOnOrderRequestIdentifierOneOf {\n      /** ID of the order for which to set the tip. */\n      orderId?: string | null;\n      /**\n       * ID of the draft order for which to set the tip.\n       * @internal\n       */\n      draftOrderId?: string | null;\n      /** Tip to set on the order. */\n      tip: Tip;\n  }\n  /** @oneof */\n  interface SetTipOnOrderRequestIdentifierOneOf {\n      /** ID of the order for which to set the tip. */\n      orderId?: string | null;\n      /**\n       * ID of the draft order for which to set the tip.\n       * @internal\n       */\n      draftOrderId?: string | null;\n  }\n  interface SetTipOnOrderResponse {\n      /** Set tip. */\n      tip?: Tip;\n      /** Information about the order on which the tip was set. */\n      orderInfo?: OrderInfo;\n  }\n  interface OrderInfo extends OrderInfoIdentifierOneOf {\n      /** Order ID. */\n      orderId?: string | null;\n      /**\n       * Draft order ID.\n       * @internal\n       */\n      draftOrderId?: string | null;\n      /** ID of the order's additional fee that's associated with the tip. */\n      additionalFeeId?: string | null;\n      /** Price of the order's additional fee that's associated with the tip. */\n      additionalFeePrice?: Price;\n  }\n  /** @oneof */\n  interface OrderInfoIdentifierOneOf {\n      /** Order ID. */\n      orderId?: string | null;\n      /**\n       * Draft order ID.\n       * @internal\n       */\n      draftOrderId?: string | null;\n  }\n  interface Price {\n      /** Amount of the additional fee that's associated with the tip. */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       *\n       * Max: 100 characters\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface RemoveTipFromOrderRequest extends RemoveTipFromOrderRequestIdentifierOneOf {\n      /** ID of the order from which to remove the tip. */\n      orderId?: string | null;\n      /**\n       * ID of the draft order from which to remove the tip.\n       * @internal\n       */\n      draftOrderId?: string | null;\n  }\n  /** @oneof */\n  interface RemoveTipFromOrderRequestIdentifierOneOf {\n      /** ID of the order from which to remove the tip. */\n      orderId?: string | null;\n      /**\n       * ID of the draft order from which to remove the tip.\n       * @internal\n       */\n      draftOrderId?: string | null;\n  }\n  interface RemoveTipFromOrderResponse {\n      /** Information about the order from which the tip was removed. */\n      orderInfo?: OrderInfo;\n  }\n  interface CreateTipDistributionsRequest {\n      /**\n       * Tip distributions to create.\n       *\n       * Min: 1 distribution\n       * Max: 50 distributions\n       */\n      tipDistributions: TipDistribution[];\n      /**\n       * ID of the order for which to create tip distributions.\n       * @internal\n       */\n      orderId?: string | null;\n      /** ID of the tip for which to create distributions. */\n      tipId: string | null;\n  }\n  interface CreateTipDistributionsResponse {\n      /**\n       * ID of the tip for which the distributions were created.\n       * @readonly\n       */\n      tipId?: string | null;\n      /** Created tip distributions. */\n      tipDistributions?: TipDistribution[];\n  }\n  interface DeleteTipDistributionsRequest extends DeleteTipDistributionsRequestDeleteByOneOf {\n      /** ID of the tip for which to delete all associated tip distributions. */\n      tipId: string | null;\n      /** ID of the order for which to delete all associated tip distributions. */\n      orderId?: string | null;\n  }\n  /** @oneof */\n  interface DeleteTipDistributionsRequestDeleteByOneOf {\n      /** ID of the tip for which to delete all associated tip distributions. */\n      tipId?: string | null;\n      /** ID of the order for which to delete all associated tip distributions. */\n      orderId?: string | null;\n  }\n  interface DeleteTipDistributionsResponse {\n  }\n  interface AddTipDistributionsToOrderRequest extends AddTipDistributionsToOrderRequestIdentifierOneOf {\n      /** ID of the order for which to add tip distributions. */\n      orderId?: string | null;\n      /**\n       * ID of the draft order for which to add tip distributions.\n       * @internal\n       */\n      draftOrderId?: string | null;\n      /** Tip distributions to add to the order. */\n      tipDistributions: TipDistribution[];\n  }\n  /** @oneof */\n  interface AddTipDistributionsToOrderRequestIdentifierOneOf {\n      /** ID of the order for which to add tip distributions. */\n      orderId?: string | null;\n      /**\n       * ID of the draft order for which to add tip distributions.\n       * @internal\n       */\n      draftOrderId?: string | null;\n  }\n  interface AddTipDistributionsToOrderResponse {\n      /** Tip distributions that were added to the order. */\n      tipDistributions?: TipDistribution[];\n      /** Information about the order to which the tip distributions were added. */\n      orderInfo?: OrderInfo;\n  }\n  interface QueryTipDistributionsRequest {\n      /** WQL expression. */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTipDistributionsResponse {\n      /** Retrieved tip distributions. */\n      tipDistributions?: TipDistribution[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface SumTipDistributionAmountsRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n  }\n  interface SumTipDistributionAmountsResponse {\n      /** Total amount of tip distributions matching the filter. */\n      totalAmount?: string | null;\n  }\n  interface ApplyTipDistributionsRequest {\n      /** ID of the tip for which all tip distributions are applied to the order. */\n      tipId: string | null;\n      /** ID of the order for which to apply all tip distributions. */\n      orderId: string | null;\n      /** Whether to query by order ID or tip ID. */\n      queryBy?: QueryBy;\n  }\n  enum QueryBy {\n      UNKNOWN_QUERY_BY = \"UNKNOWN_QUERY_BY\",\n      ORDER = \"ORDER\",\n      TIP = \"TIP\"\n  }\n  interface ApplyTipDistributionsResponse {\n      /** Applied tip distributions. */\n      tipDistributions?: TipDistribution[];\n  }\n  interface PublishTipDistributionsCreatedEventRequest {\n      /** The tip distributions that will be published on the event. */\n      tipDistributions?: TipDistribution[];\n      /** The tip ID of the distributions */\n      tipId: string | null;\n      /** The order ID that the tip is connected to */\n      orderId: string | null;\n  }\n  interface PublishTipDistributionsCreatedEventResponse {\n  }\n  interface TipDistributionsCreated {\n      /** ID of the tip to which the distribution belongs. */\n      tipId?: string | null;\n      /**\n       * Created tip distributions.\n       *\n       * Min: 1 tip distribution\n       * Max: 100 tip distributions\n       */\n      tipDistributions?: TipDistribution[];\n      /** The order ID that the tip is connected to */\n      orderId?: string | null;\n      /** The undistributed tip amount */\n      undistributedAmount?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Previews a tip for a list of line items.\n   *\n   *\n   * If you provide the Wix Bookings app ID `13d21c63-b5ec-5912-8397-c3a5ddb27a97` as `lineItemInfo.catalogReference.appId`, the response includes tip\n   * distributions for each associated Bookings staff member.\n   *\n   * If you don't provide a `tipSettingsId`, the `staffDistributionMethod` is\n   * based on the site's default tip settings.\n   * @param lineItemInfo - Information about the line items to preview the tip for.\n   *\n   * Min: 1 line item\n   * Max: 50 line items\n   * @public\n   * @documentationMaturity preview\n   * @requiredField lineItemInfo\n   * @requiredField lineItemInfo.catalogReference.appId\n   * @requiredField lineItemInfo.catalogReference.catalogItemId\n   * @requiredField lineItemInfo.price\n   * @requiredField options.tipChoice\n   * @requiredField options.tipChoice.tipType\n   * @requiredField options.tipChoice.value\n   * @param options - Options to use when previewing a tip.\n   * @permissionId WIX_TIPS.TIP_PREVIEW\n   * @adminMethod\n   */\n  function previewTip(lineItemInfo: LineItemInfo[], options?: PreviewTipOptions): Promise<PreviewTipResponse>;\n  interface PreviewTipOptions {\n      /**\n       * Information about how to calculate the total tip amount and the distribution\n       * amounts.\n       */\n      tipChoice: TipChoice;\n      /**\n       * ID of the tip settings used to preview the tip. If you don't provide a\n       * `tipSettingsId`, the `staffDistributionMethod` is based on the site's\n       * default tip settings.\n       */\n      tipSettingsId?: string | null;\n  }\n  /**\n   * Retrieves the tip that's associated with an\n   * [eCommerce order](https://dev.wix.com/docs/sdk/backend-modules/ecom/orders/setup).\n   * @param orderId - ID of the order to retrieve the tip for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId WIX_TIPS.TIP_READ\n   * @adminMethod\n   */\n  function getTipByOrderId(orderId: string | null): Promise<GetTipByOrderIdResponse>;\n  /**\n   * Retrieves the tip that's associated with an eCommerce draft order.\n   *\n   *\n   * <blockquote class=\"important\">\n   *\n   * __Important:__\n   * The eCommerce Draft Orders API is currently under development and not yet available to users.\n   *\n   * </blockquote>\n   * @param draftOrderId - ID of the draft order to retrieve the tip for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField draftOrderId\n   * @permissionId WIX_TIPS.TIP_READ\n   * @adminMethod\n   */\n  function getTipByDraftOrderId(draftOrderId: string | null): Promise<GetTipByDraftOrderIdResponse>;\n  /**\n   * Retrieves the tip choice that's currently selected by the customer for a specific [eCommerce checkout](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup).\n   * If the customer hasn't yet selected a tip choice, the response is empty.\n   * @param purchaseFlowId - ID of the [eCommerce purchase flow](https://dev.wix.com/docs/rest/business-solutions/e-commerce/wix-e-commerce-platform-handbook/overview/architecture-data-flow)\n   * to retrieve the tip choice for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField purchaseFlowId\n   * @permissionId WIX_TIPS.TIP_GET_CHOICE\n   */\n  function getTipChoice(purchaseFlowId: string | null): Promise<GetTipChoiceResponse>;\n  /**\n   * Updates the tip choice that's currently selected by the customer for a specific [eCommerce checkout](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup).\n   * @param tipChoice - Tip choice to select for the purchase flow. The call fails if you provide a\n   * value for `tipChoice.tipType` that doesn't match the relevant tip settings\n   * configuration. For example:\n   * + `AMOUNT` when `tipSettings.tipType` isn't `AMOUNT`.\n   * + `PERCENTAGE` when `tipSettings.tipType` isn't `PERCENTAGE`.\n   * + `CUSTOM` when `tipSettings.allowCustomTip` is `false`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.purchaseFlowId\n   * @requiredField tipChoice\n   * @param options - Options to use when updating a tip choice.\n   * @permissionId WIX_TIPS.TIP_UPDATE_CHOICE\n   */\n  function updateTipChoice(tipChoice: TipChoice, options: UpdateTipChoiceOptions): Promise<UpdateTipChoiceResponse>;\n  interface UpdateTipChoiceOptions {\n      /**\n       * ID of the purchase flow that's associated with the\n       * [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/order/introduction)\n       */\n      purchaseFlowId: string | null;\n  }\n  /**\n   * Updates the tip choice that's currently selected by the customer for a specific [eCommerce checkout](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.tip\n   * @requiredField options.tip.distributions.transaction._id\n   * @requiredField options.tip.distributions.transaction.date\n   * @param options - Options to use when setting a tip on an order.\n   * @permissionId WIX_TIPS.TIP_SET\n   * @adminMethod\n   */\n  function setTipOnOrder(options?: SetTipOnOrderOptions): Promise<SetTipOnOrderResponse>;\n  interface SetTipOnOrderOptions extends SetTipOnOrderRequestIdentifierOneOf {\n      /** ID of the order for which to set the tip. */\n      orderId?: string | null;\n      /**\n       * ID of the draft order for which to set the tip.\n       * @internal\n       */\n      draftOrderId?: string | null;\n      /** Tip to set on the order. */\n      tip: Tip;\n  }\n  /**\n   * Removes a tip from an\n   * [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction).\n   *\n   *\n   * If no tip exists on the order, the call succeeds and the response contains an\n   * empty `OrderInfo` object.\n   *\n   * The call fails if the customer has already been charged for at least one of\n   * the associated tip distributions.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when removing a tip from an order.\n   * @permissionId WIX_TIPS.TIP_REMOVE\n   * @adminMethod\n   */\n  function removeTipFromOrder(options?: RemoveTipFromOrderOptions): Promise<RemoveTipFromOrderResponse>;\n  interface RemoveTipFromOrderOptions extends RemoveTipFromOrderRequestIdentifierOneOf {\n      /** ID of the order from which to remove the tip. */\n      orderId?: string | null;\n      /**\n       * ID of the draft order from which to remove the tip.\n       * @internal\n       */\n      draftOrderId?: string | null;\n  }\n  /**\n   * Adds new distributions to a tip.\n   *\n   *\n   * The total tip amount and `undistributedAmount` remain unchanged.\n   *\n   * All tip distributions must belong to the same tip.\n   *\n   * You must provide either a `staffMemberId` or `identificationData.wixUserId`\n   * for every distribution to create.\n   * @param tipDistributions - Tip distributions to create.\n   *\n   * Min: 1 distribution\n   * Max: 50 distributions\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.tipId\n   * @requiredField tipDistributions\n   * @requiredField tipDistributions.transaction._id\n   * @requiredField tipDistributions.transaction.date\n   * @param options - Options to use when creating tip distributions.\n   * @permissionId WIX_TIPS.TIP_DISTRIBUTION_CREATE\n   * @adminMethod\n   */\n  function createTipDistributions(tipDistributions: TipDistribution[], options?: CreateTipDistributionsOptions): Promise<CreateTipDistributionsResponse>;\n  interface CreateTipDistributionsOptions {\n      /**\n       * ID of the order for which to create tip distributions.\n       * @internal\n       */\n      orderId?: string | null;\n      /** ID of the tip for which to create distributions. */\n      tipId: string | null;\n  }\n  /**\n   * Deletes a tip distribution.\n   *\n   *\n   * The total tip amount and `undistributedAmount` remain unchanged.\n   * @param tipId - ID of the tip for which to delete all associated tip distributions.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField tipId\n   * @param options - Options to use when deleting tip distributions.\n   * @permissionId WIX_TIPS.TIP_DISTRIBUTION_DELETE\n   * @adminMethod\n   */\n  function deleteTipDistributions(tipId: string | null, options?: DeleteTipDistributionsOptions): Promise<void>;\n  interface DeleteTipDistributionsOptions extends DeleteTipDistributionsRequestDeleteByOneOf {\n      /** ID of the order for which to delete all associated tip distributions. */\n      orderId?: string | null;\n  }\n  /**\n   * Adds tip distributions to an\n   * [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction).\n   *\n   *\n   * If no tip exists on the order, an `additionalFee` is added and the total tip\n   * amount is equal to the sum of all distribution amounts. If a tip is already\n   * present, the existing `additionalFee` is replaced and the total tip amount is\n   * increased by the sum of the new tip distributions.\n   *\n   * The call fails if:\n   * + The order's `paymentStatus` is either `FULLY_REFUNDED` or `PARTIALLY_REFUNDED`.\n   * + Any of the tip distribution amounts is zero or negative.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.tipDistributions\n   * @requiredField options.tipDistributions.transaction._id\n   * @requiredField options.tipDistributions.transaction.date\n   * @param options - Options to use when adding tip distributions to an order.\n   * @permissionId WIX_TIPS.TIP_DISTRIBUTION_ADD\n   * @adminMethod\n   */\n  function addTipDistributionsToOrder(options?: AddTipDistributionsToOrderOptions): Promise<AddTipDistributionsToOrderResponse>;\n  interface AddTipDistributionsToOrderOptions extends AddTipDistributionsToOrderRequestIdentifierOneOf {\n      /** ID of the order for which to add tip distributions. */\n      orderId?: string | null;\n      /**\n       * ID of the draft order for which to add tip distributions.\n       * @internal\n       */\n      draftOrderId?: string | null;\n      /** Tip distributions to add to the order. */\n      tipDistributions: TipDistribution[];\n  }\n  /**\n   * Creates a query to retrieve a list of tip distributions.\n   *\n   * The `queryTipDistributions()` function builds a query to retrieve a list of tip distributions and returns a `TipDistributionsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/ecom/tips/tip-distributions-query-builder/find) function.\n   *\n   * You can refine the query by chaining `TipDistributionsQueryBuilder` functions onto the query. `TipDistributionsQueryBuilder` functions enable you to sort, filter, and control the results that `queryTipDistributions()` returns.\n   *\n   * `queryTipDistributions()` runs with the following `TipDistributionsQueryBuilder` default that you can override:\n   *\n   * + `limit` is `50`\n   *\n   * The functions that are chained to `queryTipDistributions()` are applied in the order they are called. For example, if you apply `ascending(\"transaction.transactionDate\")` and then `ascending(\"staff.id\")`, the results are sorted first by the `\"transaction.transactionDate\"`, and then, if there are multiple results with the same `\"transaction.transactionDate\"`, the items are sorted by `\"staff.id\"`.\n   *\n   * When setting a date filter remember to use\n   * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n   *\n   * The following `TipDistributionsQueryBuilder` functions are supported for the `queryTipDistributions()` function. For a full description of the tip distributions object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/ecom/tips/tip-distributions-query-result/items) property in `TipDistributionsQueryResult`.\n   *\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_TIPS.TIP_DISTRIBUTION_READ\n   * @adminMethod\n   */\n  function queryTipDistributions(): TipDistributionsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TipDistributionsQueryResult extends QueryCursorResult {\n      items: TipDistribution[];\n      query: TipDistributionsQueryBuilder;\n      next: () => Promise<TipDistributionsQueryResult>;\n      prev: () => Promise<TipDistributionsQueryResult>;\n  }\n  interface TipDistributionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id', value: any) => TipDistributionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => TipDistributionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id', value: string) => TipDistributionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id', value: any[]) => TipDistributionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id', value: any) => TipDistributionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id', value: boolean) => TipDistributionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id'>) => TipDistributionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id'>) => TipDistributionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => TipDistributionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => TipDistributionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<TipDistributionsQueryResult>;\n  }\n  /**\n   * Sums tip distribution amounts, given the provided filtering.\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"fieldName1\": \"value1\",\n   * \"fieldName2\":{\"$operator\":\"value2\"}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_TIPS.TIP_DISTRIBUTION_READ\n   * @adminMethod\n   */\n  function sumTipDistributionAmounts(filter: Record<string, any> | null): Promise<SumTipDistributionAmountsResponse>;\n  /**\n   * Applies all tip distributions associated with the given tip as a single\n   * `additionalFee` to an\n   * [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction).\n   *\n   *\n   * You don't need to provide an order ID, it's automatically determined from the tip\n   * distributions.\n   *\n   * Any existing tip distributions linked to the same order, but associated with\n   * a different tip, are deleted.\n   * @param tipId - ID of the tip for which all tip distributions are applied to the order.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.orderId\n   * @requiredField tipId\n   * @param options - Options to use when applying tip distributions.\n   * @permissionId WIX_TIPS.TIP_DISTRIBUTION_SET\n   * @adminMethod\n   */\n  function applyTipDistributions(tipId: string | null, options?: ApplyTipDistributionsOptions): Promise<ApplyTipDistributionsResponse>;\n  interface ApplyTipDistributionsOptions {\n      /** ID of the order for which to apply all tip distributions. */\n      orderId: string | null;\n      /** Whether to query by order ID or tip ID. */\n      queryBy?: QueryBy;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField options.orderId\n   * @requiredField options.tipId\n   * @permissionId WIX_TIPS.TIP_DISTRIBUTION_PUBLISH\n   * @adminMethod\n   */\n  function publishTipDistributionsCreatedEvent(options?: PublishTipDistributionsCreatedEventOptions): Promise<void>;\n  interface PublishTipDistributionsCreatedEventOptions {\n      /** The tip distributions that will be published on the event. */\n      tipDistributions?: TipDistribution[];\n      /** The tip ID of the distributions */\n      tipId: string | null;\n      /** The order ID that the tip is connected to */\n      orderId: string | null;\n  }\n  \n  type tipsV1Tip_universal_d_Tip = Tip;\n  type tipsV1Tip_universal_d_TipDistribution = TipDistribution;\n  type tipsV1Tip_universal_d_CommonIdentificationData = CommonIdentificationData;\n  type tipsV1Tip_universal_d_CommonIdentificationDataIdOneOf = CommonIdentificationDataIdOneOf;\n  type tipsV1Tip_universal_d_IdentityType = IdentityType;\n  const tipsV1Tip_universal_d_IdentityType: typeof IdentityType;\n  type tipsV1Tip_universal_d_Staff = Staff;\n  type tipsV1Tip_universal_d_LineItemInfo = LineItemInfo;\n  type tipsV1Tip_universal_d_CatalogReference = CatalogReference;\n  type tipsV1Tip_universal_d_Transaction = Transaction;\n  type tipsV1Tip_universal_d_Source = Source;\n  const tipsV1Tip_universal_d_Source: typeof Source;\n  type tipsV1Tip_universal_d_PreviewTipRequest = PreviewTipRequest;\n  type tipsV1Tip_universal_d_TipChoice = TipChoice;\n  type tipsV1Tip_universal_d_TipType = TipType;\n  const tipsV1Tip_universal_d_TipType: typeof TipType;\n  type tipsV1Tip_universal_d_PreviewTipResponse = PreviewTipResponse;\n  type tipsV1Tip_universal_d_GetTipByOrderIdRequest = GetTipByOrderIdRequest;\n  type tipsV1Tip_universal_d_GetTipByOrderIdResponse = GetTipByOrderIdResponse;\n  type tipsV1Tip_universal_d_GetTipByDraftOrderIdRequest = GetTipByDraftOrderIdRequest;\n  type tipsV1Tip_universal_d_GetTipByDraftOrderIdResponse = GetTipByDraftOrderIdResponse;\n  type tipsV1Tip_universal_d_GetTipChoiceRequest = GetTipChoiceRequest;\n  type tipsV1Tip_universal_d_GetTipChoiceResponse = GetTipChoiceResponse;\n  type tipsV1Tip_universal_d_UpdateTipChoiceRequest = UpdateTipChoiceRequest;\n  type tipsV1Tip_universal_d_UpdateTipChoiceResponse = UpdateTipChoiceResponse;\n  type tipsV1Tip_universal_d_SetTipOnOrderRequest = SetTipOnOrderRequest;\n  type tipsV1Tip_universal_d_SetTipOnOrderRequestIdentifierOneOf = SetTipOnOrderRequestIdentifierOneOf;\n  type tipsV1Tip_universal_d_SetTipOnOrderResponse = SetTipOnOrderResponse;\n  type tipsV1Tip_universal_d_OrderInfo = OrderInfo;\n  type tipsV1Tip_universal_d_OrderInfoIdentifierOneOf = OrderInfoIdentifierOneOf;\n  type tipsV1Tip_universal_d_Price = Price;\n  type tipsV1Tip_universal_d_RemoveTipFromOrderRequest = RemoveTipFromOrderRequest;\n  type tipsV1Tip_universal_d_RemoveTipFromOrderRequestIdentifierOneOf = RemoveTipFromOrderRequestIdentifierOneOf;\n  type tipsV1Tip_universal_d_RemoveTipFromOrderResponse = RemoveTipFromOrderResponse;\n  type tipsV1Tip_universal_d_CreateTipDistributionsRequest = CreateTipDistributionsRequest;\n  type tipsV1Tip_universal_d_CreateTipDistributionsResponse = CreateTipDistributionsResponse;\n  type tipsV1Tip_universal_d_DeleteTipDistributionsRequest = DeleteTipDistributionsRequest;\n  type tipsV1Tip_universal_d_DeleteTipDistributionsRequestDeleteByOneOf = DeleteTipDistributionsRequestDeleteByOneOf;\n  type tipsV1Tip_universal_d_DeleteTipDistributionsResponse = DeleteTipDistributionsResponse;\n  type tipsV1Tip_universal_d_AddTipDistributionsToOrderRequest = AddTipDistributionsToOrderRequest;\n  type tipsV1Tip_universal_d_AddTipDistributionsToOrderRequestIdentifierOneOf = AddTipDistributionsToOrderRequestIdentifierOneOf;\n  type tipsV1Tip_universal_d_AddTipDistributionsToOrderResponse = AddTipDistributionsToOrderResponse;\n  type tipsV1Tip_universal_d_QueryTipDistributionsRequest = QueryTipDistributionsRequest;\n  type tipsV1Tip_universal_d_CursorQuery = CursorQuery;\n  type tipsV1Tip_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type tipsV1Tip_universal_d_Sorting = Sorting;\n  type tipsV1Tip_universal_d_SortOrder = SortOrder;\n  const tipsV1Tip_universal_d_SortOrder: typeof SortOrder;\n  type tipsV1Tip_universal_d_CursorPaging = CursorPaging;\n  type tipsV1Tip_universal_d_QueryTipDistributionsResponse = QueryTipDistributionsResponse;\n  type tipsV1Tip_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type tipsV1Tip_universal_d_Cursors = Cursors;\n  type tipsV1Tip_universal_d_SumTipDistributionAmountsRequest = SumTipDistributionAmountsRequest;\n  type tipsV1Tip_universal_d_SumTipDistributionAmountsResponse = SumTipDistributionAmountsResponse;\n  type tipsV1Tip_universal_d_ApplyTipDistributionsRequest = ApplyTipDistributionsRequest;\n  type tipsV1Tip_universal_d_QueryBy = QueryBy;\n  const tipsV1Tip_universal_d_QueryBy: typeof QueryBy;\n  type tipsV1Tip_universal_d_ApplyTipDistributionsResponse = ApplyTipDistributionsResponse;\n  type tipsV1Tip_universal_d_PublishTipDistributionsCreatedEventRequest = PublishTipDistributionsCreatedEventRequest;\n  type tipsV1Tip_universal_d_PublishTipDistributionsCreatedEventResponse = PublishTipDistributionsCreatedEventResponse;\n  type tipsV1Tip_universal_d_TipDistributionsCreated = TipDistributionsCreated;\n  type tipsV1Tip_universal_d_DomainEvent = DomainEvent;\n  type tipsV1Tip_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type tipsV1Tip_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type tipsV1Tip_universal_d_RestoreInfo = RestoreInfo;\n  type tipsV1Tip_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type tipsV1Tip_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type tipsV1Tip_universal_d_ActionEvent = ActionEvent;\n  type tipsV1Tip_universal_d_MessageEnvelope = MessageEnvelope;\n  type tipsV1Tip_universal_d_IdentificationData = IdentificationData;\n  type tipsV1Tip_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type tipsV1Tip_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const tipsV1Tip_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const tipsV1Tip_universal_d_previewTip: typeof previewTip;\n  type tipsV1Tip_universal_d_PreviewTipOptions = PreviewTipOptions;\n  const tipsV1Tip_universal_d_getTipByOrderId: typeof getTipByOrderId;\n  const tipsV1Tip_universal_d_getTipByDraftOrderId: typeof getTipByDraftOrderId;\n  const tipsV1Tip_universal_d_getTipChoice: typeof getTipChoice;\n  const tipsV1Tip_universal_d_updateTipChoice: typeof updateTipChoice;\n  type tipsV1Tip_universal_d_UpdateTipChoiceOptions = UpdateTipChoiceOptions;\n  const tipsV1Tip_universal_d_setTipOnOrder: typeof setTipOnOrder;\n  type tipsV1Tip_universal_d_SetTipOnOrderOptions = SetTipOnOrderOptions;\n  const tipsV1Tip_universal_d_removeTipFromOrder: typeof removeTipFromOrder;\n  type tipsV1Tip_universal_d_RemoveTipFromOrderOptions = RemoveTipFromOrderOptions;\n  const tipsV1Tip_universal_d_createTipDistributions: typeof createTipDistributions;\n  type tipsV1Tip_universal_d_CreateTipDistributionsOptions = CreateTipDistributionsOptions;\n  const tipsV1Tip_universal_d_deleteTipDistributions: typeof deleteTipDistributions;\n  type tipsV1Tip_universal_d_DeleteTipDistributionsOptions = DeleteTipDistributionsOptions;\n  const tipsV1Tip_universal_d_addTipDistributionsToOrder: typeof addTipDistributionsToOrder;\n  type tipsV1Tip_universal_d_AddTipDistributionsToOrderOptions = AddTipDistributionsToOrderOptions;\n  const tipsV1Tip_universal_d_queryTipDistributions: typeof queryTipDistributions;\n  type tipsV1Tip_universal_d_TipDistributionsQueryResult = TipDistributionsQueryResult;\n  type tipsV1Tip_universal_d_TipDistributionsQueryBuilder = TipDistributionsQueryBuilder;\n  const tipsV1Tip_universal_d_sumTipDistributionAmounts: typeof sumTipDistributionAmounts;\n  const tipsV1Tip_universal_d_applyTipDistributions: typeof applyTipDistributions;\n  type tipsV1Tip_universal_d_ApplyTipDistributionsOptions = ApplyTipDistributionsOptions;\n  const tipsV1Tip_universal_d_publishTipDistributionsCreatedEvent: typeof publishTipDistributionsCreatedEvent;\n  type tipsV1Tip_universal_d_PublishTipDistributionsCreatedEventOptions = PublishTipDistributionsCreatedEventOptions;\n  namespace tipsV1Tip_universal_d {\n    export {\n      tipsV1Tip_universal_d_Tip as Tip,\n      tipsV1Tip_universal_d_TipDistribution as TipDistribution,\n      tipsV1Tip_universal_d_CommonIdentificationData as CommonIdentificationData,\n      tipsV1Tip_universal_d_CommonIdentificationDataIdOneOf as CommonIdentificationDataIdOneOf,\n      tipsV1Tip_universal_d_IdentityType as IdentityType,\n      tipsV1Tip_universal_d_Staff as Staff,\n      tipsV1Tip_universal_d_LineItemInfo as LineItemInfo,\n      tipsV1Tip_universal_d_CatalogReference as CatalogReference,\n      tipsV1Tip_universal_d_Transaction as Transaction,\n      tipsV1Tip_universal_d_Source as Source,\n      tipsV1Tip_universal_d_PreviewTipRequest as PreviewTipRequest,\n      tipsV1Tip_universal_d_TipChoice as TipChoice,\n      tipsV1Tip_universal_d_TipType as TipType,\n      tipsV1Tip_universal_d_PreviewTipResponse as PreviewTipResponse,\n      tipsV1Tip_universal_d_GetTipByOrderIdRequest as GetTipByOrderIdRequest,\n      tipsV1Tip_universal_d_GetTipByOrderIdResponse as GetTipByOrderIdResponse,\n      tipsV1Tip_universal_d_GetTipByDraftOrderIdRequest as GetTipByDraftOrderIdRequest,\n      tipsV1Tip_universal_d_GetTipByDraftOrderIdResponse as GetTipByDraftOrderIdResponse,\n      tipsV1Tip_universal_d_GetTipChoiceRequest as GetTipChoiceRequest,\n      tipsV1Tip_universal_d_GetTipChoiceResponse as GetTipChoiceResponse,\n      tipsV1Tip_universal_d_UpdateTipChoiceRequest as UpdateTipChoiceRequest,\n      tipsV1Tip_universal_d_UpdateTipChoiceResponse as UpdateTipChoiceResponse,\n      tipsV1Tip_universal_d_SetTipOnOrderRequest as SetTipOnOrderRequest,\n      tipsV1Tip_universal_d_SetTipOnOrderRequestIdentifierOneOf as SetTipOnOrderRequestIdentifierOneOf,\n      tipsV1Tip_universal_d_SetTipOnOrderResponse as SetTipOnOrderResponse,\n      tipsV1Tip_universal_d_OrderInfo as OrderInfo,\n      tipsV1Tip_universal_d_OrderInfoIdentifierOneOf as OrderInfoIdentifierOneOf,\n      tipsV1Tip_universal_d_Price as Price,\n      tipsV1Tip_universal_d_RemoveTipFromOrderRequest as RemoveTipFromOrderRequest,\n      tipsV1Tip_universal_d_RemoveTipFromOrderRequestIdentifierOneOf as RemoveTipFromOrderRequestIdentifierOneOf,\n      tipsV1Tip_universal_d_RemoveTipFromOrderResponse as RemoveTipFromOrderResponse,\n      tipsV1Tip_universal_d_CreateTipDistributionsRequest as CreateTipDistributionsRequest,\n      tipsV1Tip_universal_d_CreateTipDistributionsResponse as CreateTipDistributionsResponse,\n      tipsV1Tip_universal_d_DeleteTipDistributionsRequest as DeleteTipDistributionsRequest,\n      tipsV1Tip_universal_d_DeleteTipDistributionsRequestDeleteByOneOf as DeleteTipDistributionsRequestDeleteByOneOf,\n      tipsV1Tip_universal_d_DeleteTipDistributionsResponse as DeleteTipDistributionsResponse,\n      tipsV1Tip_universal_d_AddTipDistributionsToOrderRequest as AddTipDistributionsToOrderRequest,\n      tipsV1Tip_universal_d_AddTipDistributionsToOrderRequestIdentifierOneOf as AddTipDistributionsToOrderRequestIdentifierOneOf,\n      tipsV1Tip_universal_d_AddTipDistributionsToOrderResponse as AddTipDistributionsToOrderResponse,\n      tipsV1Tip_universal_d_QueryTipDistributionsRequest as QueryTipDistributionsRequest,\n      tipsV1Tip_universal_d_CursorQuery as CursorQuery,\n      tipsV1Tip_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      tipsV1Tip_universal_d_Sorting as Sorting,\n      tipsV1Tip_universal_d_SortOrder as SortOrder,\n      tipsV1Tip_universal_d_CursorPaging as CursorPaging,\n      tipsV1Tip_universal_d_QueryTipDistributionsResponse as QueryTipDistributionsResponse,\n      tipsV1Tip_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      tipsV1Tip_universal_d_Cursors as Cursors,\n      tipsV1Tip_universal_d_SumTipDistributionAmountsRequest as SumTipDistributionAmountsRequest,\n      tipsV1Tip_universal_d_SumTipDistributionAmountsResponse as SumTipDistributionAmountsResponse,\n      tipsV1Tip_universal_d_ApplyTipDistributionsRequest as ApplyTipDistributionsRequest,\n      tipsV1Tip_universal_d_QueryBy as QueryBy,\n      tipsV1Tip_universal_d_ApplyTipDistributionsResponse as ApplyTipDistributionsResponse,\n      tipsV1Tip_universal_d_PublishTipDistributionsCreatedEventRequest as PublishTipDistributionsCreatedEventRequest,\n      tipsV1Tip_universal_d_PublishTipDistributionsCreatedEventResponse as PublishTipDistributionsCreatedEventResponse,\n      tipsV1Tip_universal_d_TipDistributionsCreated as TipDistributionsCreated,\n      tipsV1Tip_universal_d_DomainEvent as DomainEvent,\n      tipsV1Tip_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      tipsV1Tip_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      tipsV1Tip_universal_d_RestoreInfo as RestoreInfo,\n      tipsV1Tip_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      tipsV1Tip_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      tipsV1Tip_universal_d_ActionEvent as ActionEvent,\n      tipsV1Tip_universal_d_MessageEnvelope as MessageEnvelope,\n      tipsV1Tip_universal_d_IdentificationData as IdentificationData,\n      tipsV1Tip_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      tipsV1Tip_universal_d_WebhookIdentityType as WebhookIdentityType,\n      tipsV1Tip_universal_d_previewTip as previewTip,\n      tipsV1Tip_universal_d_PreviewTipOptions as PreviewTipOptions,\n      tipsV1Tip_universal_d_getTipByOrderId as getTipByOrderId,\n      tipsV1Tip_universal_d_getTipByDraftOrderId as getTipByDraftOrderId,\n      tipsV1Tip_universal_d_getTipChoice as getTipChoice,\n      tipsV1Tip_universal_d_updateTipChoice as updateTipChoice,\n      tipsV1Tip_universal_d_UpdateTipChoiceOptions as UpdateTipChoiceOptions,\n      tipsV1Tip_universal_d_setTipOnOrder as setTipOnOrder,\n      tipsV1Tip_universal_d_SetTipOnOrderOptions as SetTipOnOrderOptions,\n      tipsV1Tip_universal_d_removeTipFromOrder as removeTipFromOrder,\n      tipsV1Tip_universal_d_RemoveTipFromOrderOptions as RemoveTipFromOrderOptions,\n      tipsV1Tip_universal_d_createTipDistributions as createTipDistributions,\n      tipsV1Tip_universal_d_CreateTipDistributionsOptions as CreateTipDistributionsOptions,\n      tipsV1Tip_universal_d_deleteTipDistributions as deleteTipDistributions,\n      tipsV1Tip_universal_d_DeleteTipDistributionsOptions as DeleteTipDistributionsOptions,\n      tipsV1Tip_universal_d_addTipDistributionsToOrder as addTipDistributionsToOrder,\n      tipsV1Tip_universal_d_AddTipDistributionsToOrderOptions as AddTipDistributionsToOrderOptions,\n      tipsV1Tip_universal_d_queryTipDistributions as queryTipDistributions,\n      tipsV1Tip_universal_d_TipDistributionsQueryResult as TipDistributionsQueryResult,\n      tipsV1Tip_universal_d_TipDistributionsQueryBuilder as TipDistributionsQueryBuilder,\n      tipsV1Tip_universal_d_sumTipDistributionAmounts as sumTipDistributionAmounts,\n      tipsV1Tip_universal_d_applyTipDistributions as applyTipDistributions,\n      tipsV1Tip_universal_d_ApplyTipDistributionsOptions as ApplyTipDistributionsOptions,\n      tipsV1Tip_universal_d_publishTipDistributionsCreatedEvent as publishTipDistributionsCreatedEvent,\n      tipsV1Tip_universal_d_PublishTipDistributionsCreatedEventOptions as PublishTipDistributionsCreatedEventOptions,\n    };\n  }\n  \n  export { ecomV1AbandonedCheckout_universal_d as abandonedCheckouts, ecomV1BackInStockNotificationRequest_universal_d as backInStockNotifications, ecomV1BackInStockSettings_universal_d as backInStockSettings, ecomV1CartCart_universal_d as cart, ecomV1CheckoutCheckout_universal_d as checkout, ecomApiV1CheckoutContentProvider_universal_d as checkoutContent, ecomV1CheckoutSettings_universal_d as checkoutSettings, ecomV1CheckoutTemplate_universal_d as checkoutTemplates, ecomV1CartCurrentCart_universal_d as currentCart, ecomV1DeliveryProfile_universal_d as deliveryProfile, gatewaysEcomV1DeliveryRatesGateway_universal_d as deliverySolutions, ecomDiscountsV1DiscountRule_universal_d as discountRules, ecomCustomTriggerV1CustomTrigger_universal_d as discountsCustomTrigger, ecomV1DraftOrder_universal_d as draftOrders, ecommerceGiftCardsProxyV1GiftCard_universal_d as giftCards, ecomV1GiftCard_universal_d as giftVouchers, ecomV1LocalDeliveryOption_universal_d as localDeliveryOptions, ecomV1Fulfillments_universal_d as orderFulfillments, ecomOrdersV1Invoice_universal_d as orderInvoices, ecomV1OrderPaymentRequest_universal_d as orderPaymentRequests, ecomV1OrderTransactions_universal_d as orderTransactions, ecomV1Order_universal_d as orders, ecomV1OrdersSettings_universal_d as ordersSettings, ecomV1PickupLocation_universal_d as pickupLocations, ecomRecommendationsV1Recommendation_universal_d as recommendations, ecomV1ShippingOption_universal_d as shippingOptions, ecomV1ShippoConfiguration_universal_d as shippoConfigurations, ecomSubscriptionContractsV1SubscriptionContract_universal_d as subscriptionContracts, tipsSettingsV1TipSettings_universal_d as tipSettings, tipsStaffV1Staff_universal_d as tippableStaff, tipsV1Tip_universal_d as tips, ecomV1TotalsCalculation_universal_d as totalsCalculator };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-atlas-location-backend.d.ts",
      "content": "declare module \"wix-atlas-location-backend\" {\n  interface SearchResult {\n      address?: Address;\n      /** stores additional data about the proximity to the specified location */\n      proximity?: Proximity;\n  }\n  /** Physical address */\n  interface Address {\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formattedAddress?: string | null;\n      /** Free text for human-to-human textual orientation aid purposes */\n      hint?: string | null;\n      /** coordinates of the physical address */\n      geocode?: AddressLocation;\n      /** country full-name */\n      countryFullname?: string | null;\n      /** multi-level subdivisions from top to bottom */\n      subdivisions?: Subdivision[];\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /** apartment number */\n      apt?: string;\n  }\n  interface AddressLocation {\n      latitude?: number | null;\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      type?: SubdivisionType;\n      /** a free-text description of subdivision type */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** state */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** county */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** cities/towns */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** (ADMINISTRATIVE_AREA_LEVEL_0) indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  enum Proximity {\n      UNKNOWN_PROXIMITY = \"UNKNOWN_PROXIMITY\",\n      /** indicates that the returned result is a precise geocode for which we have location information accurate down to street address precision */\n      PINPOINT = \"PINPOINT\",\n      /** indicates that the returned result is the geometric center of a result */\n      APPROXIMATE = \"APPROXIMATE\",\n      /** indicates that the returned result is around an area */\n      GENERAL_AREA = \"GENERAL_AREA\"\n  }\n  interface FilterBy {\n      /** One of the filter types enum */\n      filterType?: FilterType;\n      /** Free text like \"us\" */\n      filterValue?: string;\n  }\n  enum FilterType {\n      /** Filter by zip code */\n      zip_code = \"zip_code\",\n      /** Filter by 2-letters or 3-letters country code */\n      country_code = \"country_code\"\n  }\n  interface SearchResponse {\n      /** List of 'Address' objects */\n      searchResults?: SearchResult[];\n  }\n  interface ReverseGeocodingResponse {\n      searchResults?: SearchResult[];\n  }\n  interface SearchOptions {\n      query?: string | null;\n      filterBy?: FilterBy[];\n      zipCode?: string | null;\n      countryCodes?: string[];\n  }\n  \n  function search(options: SearchOptions): Promise<SearchResponse>;\n  function reverseGeocoding(addressLocation: AddressLocation): Promise<ReverseGeocodingResponse>;\n  \n  export { reverseGeocoding, search };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-pro-gallery-backend.d.ts",
      "content": "declare module \"wix-pro-gallery-backend\" {\n  interface Gallery {\n      /**\n       * Gallery ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Gallery name. */\n      name?: string | null;\n      /**\n       * Total number of items in the gallery.\n       * @readonly\n       */\n      totalItems?: number | null;\n      /** Media items in the gallery. */\n      items?: Item[];\n      /**\n       * Index that determines which position a gallery is displayed on the site. <br />\n       *\n       * >**Note:** If you assign the same sort order index to more than one gallery, the function fails.\n       */\n      sortOrder?: number | null;\n      /**\n       * Date and time the gallery was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  interface Item extends ItemMetadataOneOf {\n      /** Details about the image. */\n      image?: Image;\n      /** Details about the video. */\n      video?: Video;\n      /** Details about the text file. */\n      text?: Text;\n      /**\n       * Item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Index that determines which position a media item is displayed in the gallery. <br />\n       *\n       * Default: [Epoch](https://www.epoch101.com/) timestamp. <br />\n       *\n       * >**Note:** If you assign the same sort order index to more than one media item in a gallery, the function fails.\n       */\n      sortOrder?: number | null;\n      /** Item title. */\n      title?: string | null;\n      /** Item description. */\n      description?: string | null;\n      /** Link from the item. You can link to Wix sites or external URLs. */\n      link?: Link;\n      /** @readonly */\n      type?: Type;\n      /**\n       * Date and time the item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Item tags. */\n      tags?: Tags;\n      /**\n       * item's secondary media (image or text media revealed on hover)\n       * @internal\n       */\n      secondaryMedia?: SecondaryMedia;\n  }\n  /** @oneof */\n  interface ItemMetadataOneOf {\n      /** Details about the image. */\n      image?: Image;\n      /** Details about the video. */\n      video?: Video;\n      /** Details about the text file. */\n      text?: Text;\n  }\n  interface Link {\n      /**\n       * Link type.\n       * @internal\n       */\n      type?: LinkType;\n      /** Display text of the link. */\n      text?: string | null;\n      /** Target URL of the link. */\n      url?: string | null;\n      /**\n       * Whether the link opens in a new tab or window. One of:\n       * * `'_blank'`: The link opens in a new tab or window.\n       * * `'_self'`: The link opens in the same tab or window.\n       * @internal\n       */\n      target?: string | null;\n      /**\n       * Information about the link. Reserved for internal use.\n       * @internal\n       */\n      wixLinkData?: WixLink;\n  }\n  enum LinkType {\n      UNDEFINED = \"UNDEFINED\",\n      /** external link */\n      EXTERNAL = \"EXTERNAL\",\n      /** for internal usage using wixLinkData */\n      INTERNAL = \"INTERNAL\"\n  }\n  /** The link object generated by panels in the editor and used by applications in Wix */\n  interface WixLink extends WixLinkLinkOneOf {\n      /** External link type */\n      external?: ExternalLink;\n      /** Page link type */\n      page?: PageLink;\n      /** Anchor link type */\n      anchor?: AnchorLink;\n      /** Dynamic page link type */\n      dynamicPage?: DynamicPageLink;\n      /** Document link type */\n      document?: DocumentLink;\n      /** Email link type */\n      email?: EmailLink;\n      /** Phone link type */\n      phone?: PhoneLink;\n      /** Address link type */\n      address?: AddressLink;\n      /** WhatsApp link type */\n      whatsApp?: WhatsAppLink;\n      /** TPA link type */\n      tpaPage?: TpaPageLink;\n  }\n  /** @oneof */\n  interface WixLinkLinkOneOf {\n      /** External link type */\n      external?: ExternalLink;\n      /** Page link type */\n      page?: PageLink;\n      /** Anchor link type */\n      anchor?: AnchorLink;\n      /** Dynamic page link type */\n      dynamicPage?: DynamicPageLink;\n      /** Document link type */\n      document?: DocumentLink;\n      /** Email link type */\n      email?: EmailLink;\n      /** Phone link type */\n      phone?: PhoneLink;\n      /** Address link type */\n      address?: AddressLink;\n      /** WhatsApp link type */\n      whatsApp?: WhatsAppLink;\n      /** TPA link type */\n      tpaPage?: TpaPageLink;\n  }\n  interface ExternalLink {\n      /** The url of the page */\n      url?: string;\n      /** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */\n      target?: string | null;\n  }\n  interface PageLink {\n      /** The page id we want from the site */\n      pageId?: string;\n      /** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */\n      target?: string | null;\n      /** rel of link */\n      rel?: LinkRel[];\n  }\n  /**\n   * The 'rel' attribute of the link. The rel attribute defines the relationship between a linked resource and the current document.\n   * Further reading (also about different possible rel types): https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel\n   * Following are the accepted 'rel' types by Wix applications.\n   */\n  enum LinkRel {\n      /** default (not implemented) */\n      unknown_link_rel = \"unknown_link_rel\",\n      /** Indicates that the current document's original author or publisher does not endorse the referenced document. */\n      nofollow = \"nofollow\",\n      /** Instructs the browser to navigate to the target resource without granting the new browsing context access to the document that opened it. */\n      noopener = \"noopener\",\n      /** No Referer header will be included. Additionally, has the same effect as noopener. */\n      noreferrer = \"noreferrer\",\n      /** Indicates a link that resulted from advertisements or paid placements. */\n      sponsored = \"sponsored\"\n  }\n  interface AnchorLink {\n      /** The name of the anchor */\n      anchorName?: string;\n      /** The data id (from the JSON page) of the anchor that should be used */\n      anchorDataId?: string;\n      /** The page id we want from the site */\n      pageId?: string;\n      /** rel of link */\n      rel?: LinkRel[];\n  }\n  interface DynamicPageLink {\n      /** The router that handles this link */\n      routerId?: string;\n      /** The path data we'd like */\n      innerRoute?: string;\n      /** The data id (from the JSON page) of the anchor that should be used */\n      anchorDataId?: string | null;\n      /** rel of link */\n      rel?: LinkRel[];\n  }\n  interface DocumentLink {\n      /** The id of the document */\n      docId?: string;\n      /** The name of the document for download purposes */\n      name?: string | null;\n      /** If this document can be indexed by scrapers, default is false */\n      indexable?: boolean;\n  }\n  interface EmailLink {\n      /** The email we will be sending a message to */\n      recipient?: string;\n      /** The subject of the email */\n      subject?: string | null;\n      /** The body of the email */\n      body?: string | null;\n  }\n  interface PhoneLink {\n      /** The phone number we want to link to */\n      phoneNumber?: string;\n  }\n  interface AddressLink {\n      /** An address that we can link to */\n      address?: string;\n  }\n  interface WhatsAppLink {\n      /** The whatsApp phone number we want to connect with */\n      phoneNumber?: string;\n  }\n  /** Link to a TPA page */\n  interface TpaPageLink {\n      /** Type of item (e.g. 'wix.stores.sub_pages.product') */\n      itemTypeIdentifier?: string;\n      /** Id of linked item */\n      itemId?: string;\n      /** Id of linked page */\n      pageId?: string;\n      /** Id of app being linked to (AppDefId) */\n      appDefinitionId?: string;\n      /** The relativepath of linked page */\n      path?: string;\n      /** rel of link */\n      rel?: LinkRel[];\n  }\n  enum Type {\n      UNDEFINED = \"UNDEFINED\",\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      TEXT = \"TEXT\"\n  }\n  interface Image {\n      /**\n       * @internal\n       * @deprecated\n       */\n      type?: ImageType;\n      /** The image's Wix media URL in the following format: `'wix:image://v1/<uri>/<filename>#originWidth=<width>&originHeight=<height>[&watermark=<watermark_manifest_string>]'`. */\n      imageInfo?: string;\n      /** Focal point of the image. */\n      focalPoint?: Point;\n      /** Set of key-value pairs describing the media in [Exchangeable Image File format](https://en.wikipedia.org/wiki/Exif). */\n      exif?: Record<string, any> | null;\n      /**\n       * Image compression level. <br />\n       *\n       * Min: `30` <br />\n       * Max: `100`\n       */\n      quality?: number | null;\n      /** [Unsharp masking](https://en.wikipedia.org/wiki/Unsharp_masking) values of the image. */\n      unsharpMasking?: UnsharpMasking;\n      /**\n       * Whether the image is saved in secure media.\n       * @internal\n       */\n      secure?: boolean | null;\n      /**\n       * When image is saved in secure media, token is generated.\n       * @internal\n       * @readonly\n       */\n      token?: string | null;\n  }\n  enum ImageType {\n      UNDEFINED = \"UNDEFINED\",\n      WIX_MEDIA = \"WIX_MEDIA\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface Point {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n  }\n  interface UnsharpMasking {\n      /**\n       * Unsharp masking amount. Controls the sharpening strength. <br />\n       *\n       * Min: `0` <br />\n       * Max: `5`\n       */\n      amount?: number | null;\n      /** Unsharp masking radius in pixels. Controls the sharpening width. */\n      radius?: number | null;\n      /**\n       * Unsharp masking threshold. Controls how different neighboring pixels must be for shapening to apply. <br />\n       *\n       * Min: `0` <br />\n       * Max: `1`\n       */\n      threshold?: number | null;\n  }\n  interface Video {\n      type?: VideoType;\n      /**\n       * The video's URL. Either a Wix media URL, or a supported https external URL in the following formats:\n       *\n       *  Wix Media: `'wix:video://v1/6e6ea4_461425d7e7db4d5487a28e00c5ba6244/9e6ea4_461425d7e7db4d5487a28e00c5ba6277#posterUri=9e6ea4_461425d7e7db4d5487a28e00c5ba6277f000.jpg&posterWidth=960&posterHeight=540'`\n       *\n       * Vimeo: `'https://vimeo.com/378840916'`\n       *\n       * Youtube: `'https://www.youtube.com/results?search_query=uplifting+upbeat+music'`\n       */\n      videoInfo?: string;\n      /**\n       * Video duration in milliseconds - deprecated.\n       * @internal\n       * @deprecated\n       */\n      duration?: string | null;\n      /** Manually defined video duration in milliseconds. */\n      durationInMillis?: number | null;\n  }\n  enum VideoType {\n      UNDEFINED = \"UNDEFINED\",\n      WIX_MEDIA = \"WIX_MEDIA\",\n      YOUTUBE = \"YOUTUBE\",\n      VIMEO = \"VIMEO\"\n  }\n  interface VideoResolution {\n      /** *Required.** Video URL. */\n      url?: string;\n      /** *Required.** Video height. */\n      height?: number;\n      /** *Required.** Video width. */\n      width?: number;\n      /**\n       * Video poster. Deprecated - please use the `posters` property in the parent entity.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** *Required.** Video format. For example, `mp4` or `hls`. */\n      format?: string;\n      /** Video quality. For example, `480p` or `720p`. */\n      quality?: string | null;\n      /** Video filename. */\n      filename?: string | null;\n  }\n  interface Text {\n      /** Text in HTML format. */\n      html?: string | null;\n      /**\n       * Set of key-value pairs describing the [CSS style](https://en.wikipedia.org/wiki/CSS) of the text.\n       *\n       * __Note:__ The object structure is customizable. See the [`listGalleryItems()`](/pro-gallery/list-gallery-items) code example for supported values.\n       */\n      css?: Record<string, any> | null;\n      /** Reserved for internal use. */\n      editorHtml?: string | null;\n      /** Reserved for internal use. */\n      editorFontId?: string | null;\n  }\n  interface Tags {\n      /** List of tags assigned to the media item. */\n      values?: string[];\n  }\n  interface SecondaryMedia extends SecondaryMediaMetadataOneOf {\n      /** secondary media photo metadata (optional) */\n      image?: Image;\n      /** secondary media text metadata (optional) */\n      text?: Text;\n  }\n  /** @oneof */\n  interface SecondaryMediaMetadataOneOf {\n      /** secondary media photo metadata (optional) */\n      image?: Image;\n      /** secondary media text metadata (optional) */\n      text?: Text;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: InvalidateCachePage;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: InvalidateCachePage;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface InvalidateCachePage {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface GalleryPublished {\n      /**\n       * id of the gallery that will be published\n       * @readonly\n       */\n      galleryId?: string;\n      isRc?: boolean;\n      /** @readonly */\n      newRevision?: Date | null;\n      /** @readonly */\n      oldRevision?: Date | null;\n  }\n  interface CleanDeletedGalleriesEvent {\n      /** @readonly */\n      instanceId?: string;\n      /** @readonly */\n      metaSiteId?: string;\n      /** @readonly */\n      htmlSiteRevision?: string;\n      /** @readonly */\n      timeSitePublished?: Date | null;\n  }\n  interface ProgallerypublisherPublishGalleryRequest {\n      /** id of the gallery that will be published */\n      galleryId?: string;\n  }\n  interface ProgallerypublisherPublishGalleryResponse {\n  }\n  interface GetActiveGalleryRevisionRequest {\n      galleryId?: string;\n  }\n  interface GetActiveGalleryRevisionResponse {\n      galleryActiveRevision?: Date | null;\n      htmlSiteRevision?: string | null;\n  }\n  interface GetGalleryRevisionRequest {\n      galleryId?: string;\n      revision?: Date | null;\n  }\n  interface GetGalleryRevisionResponse {\n      htmlSiteRevision?: string | null;\n      instanceId?: string | null;\n  }\n  interface PublishGalleryItemRequest {\n      /** id of the gallery that will be published */\n      galleryId?: string;\n      /** id of the item that will be published */\n      itemId?: string;\n  }\n  interface PublishGalleryItemResponse {\n  }\n  interface PublishGalleryItemsRequest {\n      /** id of the gallery that will be published */\n      galleryId?: string;\n      /** ids of the items that will be published */\n      itemIds?: string[];\n  }\n  interface PublishGalleryItemsResponse {\n  }\n  interface Empty {\n  }\n  interface HtmlSitePublished {\n      /** Application instance ID */\n      appInstanceId?: string;\n      /** Application type */\n      appType?: string;\n      /** Revision */\n      revision?: string;\n      /** MSID */\n      metaSiteId?: string | null;\n      /** optional branch id if publish is done from branch */\n      branchId?: string | null;\n      /** The site's last transactionId */\n      lastTransactionId?: string | null;\n      /** A list of the site's pages */\n      pages?: Page[];\n      /** Site's publish date */\n      publishDate?: string;\n  }\n  interface Page {\n      /** Page's Id */\n      _id?: string;\n  }\n  interface HtmlSiteRCPublished {\n      /** Application instance ID */\n      appInstanceId?: string;\n      /** Revision */\n      revision?: string;\n      /** Optional branch Id */\n      branchId?: string | null;\n      /** Site's publish date */\n      publishDate?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      /** Information about a newly-created gallery. */\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface UpdateDocumentsEvent extends UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n      /** application which owns documents */\n      appDefId?: string | null;\n      /** type of the documents */\n      documentType?: string | null;\n      /** language of the documents */\n      language?: string | null;\n      /** site documents belong to */\n      msId?: string | null;\n  }\n  /** @oneof */\n  interface UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n  }\n  interface DocumentUpdateOperation {\n      /** documents to index or update */\n      documents?: IndexDocument[];\n  }\n  interface IndexDocument {\n      /** data bag with non-searchable fields (url, image) */\n      payload?: DocumentPayload;\n      /** what type of users should documents be visible to */\n      exposure?: Enum;\n      /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n      /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */\n      permittedMemberGroups?: string[];\n      /** if true SEO is disabled for this document */\n      seoHidden?: boolean | null;\n      /** if true the page is a lightbox popup */\n      isPopup?: boolean | null;\n  }\n  interface DocumentPayload {\n      /** url of the page representing the document */\n      url?: string | null;\n      /** image which represents the document */\n      documentImage?: DocumentImage;\n  }\n  interface DocumentImage {\n      /** the name of the image */\n      name?: string;\n      /** the width of the image */\n      width?: number;\n      /** the height of the image */\n      height?: number;\n  }\n  enum Enum {\n      /** Default value. Means that permission not set */\n      UNKNOWN = \"UNKNOWN\",\n      /** Protected exposure. Exposed to members and owners */\n      PROTECTED = \"PROTECTED\",\n      /** Private exposure. Exposed to owners */\n      PRIVATE = \"PRIVATE\",\n      /** Public exposure. Visible to everyone */\n      PUBLIC = \"PUBLIC\",\n      /** Used for partial updates, to state that exposure is not changing */\n      UNCHANGED = \"UNCHANGED\",\n      /** Protected to members of permitted groups and owners */\n      GROUP_PROTECTED = \"GROUP_PROTECTED\"\n  }\n  interface DeleteByIdsOperation {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface DeleteByFilterOperation {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface UpdateByFilterOperation {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: IndexDocument;\n  }\n  interface UpdateExistingOperation {\n      /** documents to update */\n      documents?: IndexDocument[];\n  }\n  interface SearchIndexingNotification {\n      /** new state of indexing for the site specified in ms_id */\n      indexState?: SearchIndexingNotificationState;\n      /** type of the document the notification is targeted for. Applies to all types if not provided */\n      documentType?: string | null;\n      /** languaInternalDocumentUpdateByFilterOperationge the notification is targeted for. Applies to all languages if not provided */\n      language?: string | null;\n      /** site for which notification is targeted */\n      msId?: string | null;\n  }\n  enum SearchIndexingNotificationState {\n      /** default state */\n      Unknown = \"Unknown\",\n      /** metasite does not require site search indexing */\n      Off = \"Off\",\n      /** metasite requires site search indexing */\n      On = \"On\"\n  }\n  interface ListGalleriesItemsRequest {\n      /** IDs of the media items to retrieve. */\n      itemsId?: ItemId[];\n  }\n  interface ItemId {\n      /** Gallery ID. */\n      galleryId?: string;\n      /** Item ID. */\n      itemId?: string;\n  }\n  interface ListGalleriesItemsResponse {\n      /** Retrieved media items. */\n      itemsInGalleries?: ItemsInGallery[];\n  }\n  interface ItemsInGallery {\n      /** Gallery ID. */\n      galleryId?: string;\n      /** Retrieved media items. */\n      items?: Item[];\n  }\n  interface GalleryItemCreated {\n      /** Created gallery item. */\n      item?: Item;\n  }\n  interface GalleryItemUpdated {\n      /** Updated gallery item. */\n      updatedItem?: Item;\n  }\n  interface GalleryItemDeleted {\n      /** ID of the deleted gallery item. */\n      itemId?: string;\n  }\n  interface ListGalleriesRequest {\n      /** Number of galleries to list. Defaults to `10`. */\n      itemLimit?: number | null;\n      /** Number of galleries to skip in the returns. Defaults to `0`. */\n      offset?: number | null;\n      /** Number of galleries to list. Defaults to `10`. */\n      limit?: number | null;\n      /**\n       * The set of field mask paths of gallery.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * State of the galleries.\n       * @internal\n       */\n      state?: State;\n  }\n  enum State {\n      UNDEFINED = \"UNDEFINED\",\n      /** The gallery in the Editor segment */\n      SAVED = \"SAVED\",\n      /** The gallery in the LiveSite segment */\n      PUBLISHED = \"PUBLISHED\"\n  }\n  interface ListGalleriesResponse {\n      /** Total number of galleries in the site. */\n      totalGalleries?: number | null;\n      /** List of galleries. Sorted by `_createdDate`. */\n      galleries?: Gallery[];\n  }\n  interface GetGalleryRequest extends GetGalleryRequestVersionOneOf {\n      /** @internal */\n      htmlSiteRevision?: string | null;\n      /** Gallery ID. */\n      galleryId: string;\n      /** Number of media items to skip in the returns. Defaults to `0`. */\n      itemOffset?: number | null;\n      /**\n       * Maximum number of media items to return. <br />\n       *\n       * Min: `1` <br />\n       * Max: `100` <br />\n       * Default: `50`\n       */\n      itemLimit?: number | null;\n      /**\n       * State of the retrieved galleries.\n       * @internal\n       */\n      state?: State;\n      /**\n       * This allows us to fallback to legacy galleries until they are fully migrated. If this is not provided and a fallback is necessary, the process will fail\n       * External reference. **Note:** This property is not validated by Wix.\n       * @internal\n       * @deprecated\n       */\n      externalId?: string | null;\n  }\n  /** @oneof */\n  interface GetGalleryRequestVersionOneOf {\n      /** @internal */\n      htmlSiteRevision?: string | null;\n  }\n  interface GetGalleryResponse {\n      /** Returned gallery. */\n      gallery?: Gallery;\n  }\n  interface ListGalleryItemsRequest {\n      /** Gallery ID. */\n      galleryId: string;\n      /** Number of media items to skip in the returns. Defaults to `0`. */\n      itemOffset?: number | null;\n      /**\n       * Maximum number of media items to return. <br />\n       *\n       * Min: `1` <br />\n       * Max: `100` <br />\n       * Default: `50`\n       */\n      itemLimit?: number | null;\n      /**\n       * State of the retrieved gallery.\n       * @internal\n       */\n      state?: State;\n  }\n  interface ListGalleryItemsResponse {\n      /** List of media items in the gallery. */\n      items?: Item[];\n  }\n  interface GetGalleryItemRequest {\n      /** Gallery ID. */\n      galleryId: string;\n      /** Item ID. */\n      itemId: string;\n      /**\n       * State of the gallery.\n       * @internal\n       */\n      state?: State;\n  }\n  interface GetGalleryItemResponse {\n      /** Returned media item. */\n      item?: Item;\n  }\n  interface CreateGalleryRequest {\n      /** Gallery to create. */\n      gallery?: Gallery;\n      /**\n       * State of the gallery to create.\n       * @internal\n       */\n      state?: State;\n      /** Gallery ID to clone from. */\n      cloneFromGalleryId?: string | null;\n  }\n  interface CreateGalleryResponse {\n      /** Created gallery. */\n      gallery?: Gallery;\n  }\n  interface UpdateGalleryRequest {\n      /** Gallery to update. */\n      gallery: Gallery;\n      /**\n       * State of the gallery to update.\n       * @internal\n       */\n      state?: State;\n  }\n  interface UpdateGalleryResponse {\n      /** Updated gallery. */\n      gallery?: Gallery;\n  }\n  interface DeleteGalleryRequest {\n      /** ID of the gallery to delete. */\n      galleryId: string;\n      /**\n       * State of the gallery to delete.\n       * @internal\n       */\n      state?: State;\n  }\n  interface DeleteGalleryResponse {\n      /**\n       * ID of the deleted gallery.\n       * @readonly\n       */\n      galleryId?: string;\n  }\n  interface DeleteGalleryItemsRequest {\n      /** Gallery ID. */\n      galleryId: string;\n      /** ID of the media item to delete. */\n      itemsIds?: string[];\n      /**\n       * State of the gallery.\n       * @internal\n       */\n      state?: State;\n  }\n  interface DeleteGalleryItemsResponse {\n      /** Gallery that previously included the deleted media item. */\n      gallery?: Gallery;\n  }\n  interface BulkDeleteGalleryItemsRequest {\n      /** Gallery ID. */\n      galleryId: string;\n      /** IDs of the media items to delete. */\n      itemIds: string[];\n      /**\n       * State of the gallery.\n       * @internal\n       */\n      state?: State;\n  }\n  interface BulkDeleteGalleryItemsResponse {\n      /**\n       * IDs of the deleted media items.\n       * @readonly\n       */\n      itemIds?: string[];\n  }\n  interface CreateGalleryItemRequest {\n      /** Gallery ID. */\n      galleryId: string;\n      /** Media item to create. */\n      item: Item;\n      /**\n       * Gallery state.\n       * @internal\n       */\n      state?: State;\n  }\n  interface CreateGalleryItemResponse {\n      /** Created media item. */\n      item?: Item;\n  }\n  interface CreateGalleryItemsRequest {\n      /** Gallery ID. */\n      galleryId?: string;\n      /** Media items to create. */\n      items?: Item[];\n      /**\n       * Gallery state.\n       * @internal\n       */\n      state?: State;\n  }\n  interface CreateGalleryItemsResponse {\n      /** Created media items. */\n      items?: Item[];\n  }\n  interface UpdateGalleryItemRequest {\n      /** Gallery ID. */\n      galleryId: string;\n      /** The information for the media item being updated.  */\n      item: Item;\n      /**\n       * Gallery state.\n       * @internal\n       */\n      state?: State;\n  }\n  interface UpdateGalleryItemResponse {\n      /** Updated media item. */\n      item?: Item;\n  }\n  interface DeleteGalleryItemRequest {\n      /** Gallery ID. */\n      galleryId: string;\n      /** ID of the media item to delete. */\n      itemId: string;\n      /**\n       * Gallery state.\n       * @internal\n       */\n      state?: State;\n  }\n  interface DeleteGalleryItemResponse {\n      /**\n       * ID of the deleted media item.\n       * @readonly\n       */\n      itemId?: string;\n  }\n  interface PublishGalleryRequest {\n      /** ID of the gallery to publish. */\n      galleryId: string;\n  }\n  interface PublishGalleryResponse {\n      /** Published gallery. */\n      gallery?: Gallery;\n  }\n  /**\n   * Retrieves a list of galleries.\n   *\n   * This function retrieves a list of up to 10 galleries at a given time. To list the next 10 galleries in your site's backend, use the `offset` parameter.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when getting the list of galleries.\n   * @permissionId PRO_GALLERY.READ\n   */\n  function listGalleries(options?: ListGalleriesOptions): Promise<ListGalleriesResponse>;\n  interface ListGalleriesOptions {\n      /** Number of galleries to list. Defaults to `10`. */\n      itemLimit?: number | null;\n      /** Number of galleries to skip in the returns. Defaults to `0`. */\n      offset?: number | null;\n      /** Number of galleries to list. Defaults to `10`. */\n      limit?: number | null;\n      /**\n       * Fields to include in the response object. Setting the `fields` option filters the response object so that it only contains the specified fields.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * State of the galleries.\n       * @internal\n       */\n      state?: State;\n  }\n  /**\n   * Retrieves a gallery by ID.\n   * @param galleryId - Gallery ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField galleryId\n   * @param options - Options to use when getting the gallery.\n   * @permissionId PRO_GALLERY.READ\n   * @returns Returned gallery.\n   */\n  function getGallery(galleryId: string, options?: GetGalleryOptions): Promise<Gallery>;\n  interface GetGalleryOptions extends GetGalleryRequestVersionOneOf {\n      /** Number of media items to skip in the returns. Defaults to `0`. */\n      itemOffset?: number | null;\n      /**\n       * Maximum number of media items to return. <br />\n       *\n       * Min: `1` <br />\n       * Max: `100` <br />\n       * Default: `50`\n       */\n      itemLimit?: number | null;\n      /**\n       * State of the retrieved galleries.\n       * @internal\n       */\n      state?: State;\n      /**\n       * This allows us to fallback to legacy galleries until they are fully migrated. If this is not provided and a fallback is necessary, the process will fail\n       * External reference. **Note:** This property is not validated by Wix.\n       * @internal\n       * @deprecated\n       */\n      externalId?: string | null;\n      /** @internal */\n      htmlSiteRevision?: string | null;\n  }\n  /**\n   * Retrieves a list of media items in a specified gallery.\n   *\n   * This function retrieves a list of up to 100 gallery items. The gallery items are listed by `sortOrder` in descending order.\n   * @param galleryId - Gallery ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField galleryId\n   * @param options - Options to use when getting the list of gallery items.\n   * @permissionId PRO_GALLERY.READ\n   */\n  function listGalleryItems(galleryId: string, options?: ListGalleryItemsOptions): Promise<ListGalleryItemsResponse>;\n  interface ListGalleryItemsOptions {\n      /** Number of media items to skip in the returns. Defaults to `0`. */\n      itemOffset?: number | null;\n      /**\n       * Maximum number of media items to return. <br />\n       *\n       * Min: `1` <br />\n       * Max: `100` <br />\n       * Default: `50`\n       */\n      itemLimit?: number | null;\n      /**\n       * State of the retrieved gallery.\n       * @internal\n       */\n      state?: State;\n  }\n  /**\n   * Retrieves a gallery item by ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.galleryId\n   * @requiredField identifiers.itemId\n   * @param identifiers - Gallery ID and Item ID.\n   * @permissionId PRO_GALLERY.READ\n   * @returns Returned media item.\n   */\n  function getGalleryItem(identifiers: GetGalleryItemIdentifiers, options?: GetGalleryItemOptions): Promise<Item>;\n  interface GetGalleryItemIdentifiers {\n      /** Gallery ID. */\n      galleryId: string;\n      /** Item ID. */\n      itemId: string;\n  }\n  interface GetGalleryItemOptions {\n      /**\n       * State of the gallery.\n       * @internal\n       */\n      state?: State;\n  }\n  /**\n   * Creates a new gallery.\n   *\n   * You can create your own gallery by providing the gallery information, or clone an existing gallery using the ID of that existing gallery. When a gallery is cloned, the newly-created gallery includes the same properties as the existing gallery except for the gallery and item IDs, sort order, and created and updated dates.\n   *\n   * The newly-created gallery is only available on your backend, and doesn't appear on your live site. To display your backend gallery on your live site, you need to connect it to a gallery component on your live site. To do this, import the `createGallery()` function to your page code, and write code to convert the backend gallery object to the frontend gallery component object. Once converted, the newly created backend gallery is visible on your live site. For reference, check out the code example, \"Create a gallery and display it on your live site\". To learn more, see [Displaying a Pro Gallery on Your Site Using the Pro Gallery Backend API](https://support.wix.com/en/article/velo-tutorial-displaying-a-pro-gallery-on-your-site-using-the-pro-gallery-backend-api).\n   *\n   * <blockquote class=\"important\">\n   *\n   * __Important:__\n   * When creating `image` items in your gallery, the images must be uploaded to the [Wix Media Manager](https://support.wix.com/en/article/wix-media-uploading-media-to-the-media-manager) first as the `imageInfo` parameter currently only supports the Wix media URL.\n   *\n   * </blockquote>\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.gallery.items.image.imageInfo\n   * @requiredField options.gallery.items.text.html\n   * @requiredField options.gallery.items.video.videoInfo\n   * @param options - Options to use when creating the gallery.\n   * @permissionId PRO_GALLERY.MANAGE\n   * @adminMethod\n   * @returns Created gallery.\n   */\n  function createGallery(options?: CreateGalleryOptions): Promise<Gallery>;\n  interface CreateGalleryOptions {\n      /** Gallery to create. */\n      gallery?: Gallery;\n      /**\n       * State of the gallery to create.\n       * @internal\n       */\n      state?: State;\n      /** Gallery ID to clone from. */\n      cloneFromGalleryId?: string | null;\n  }\n  /**\n   * Updates a gallery.\n   *\n   * Only the fields in the `gallery` object parameter can be updated. Specify which fields to update. Unspecified fields remain the same.\n   *\n   * <blockquote class=\"important\">\n   *\n   * __Important:__\n   * When updating `image` items in your gallery, the images must be uploaded to the [Wix Media Manager](https://support.wix.com/en/article/wix-media-uploading-media-to-the-media-manager) first as the `imageInfo` parameter currently only supports the Wix media URL.\n   *\n   * </blockquote>\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField gallery\n   * @requiredField gallery.items.image.imageInfo\n   * @requiredField gallery.items.text.html\n   * @requiredField gallery.items.video.videoInfo\n   * @param _id - ID of the gallery to update.\n   * @param gallery - The information for the gallery being updated.\n   * @permissionId PRO_GALLERY.MANAGE\n   * @adminMethod\n   * @returns Updated gallery.\n   */\n  function updateGallery(_id: string | null, gallery: UpdateGallery, options?: UpdateGalleryOptions): Promise<Gallery>;\n  interface UpdateGallery {\n      /**\n       * Gallery ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Gallery name. */\n      name?: string | null;\n      /**\n       * Total number of items in the gallery.\n       * @readonly\n       */\n      totalItems?: number | null;\n      /** Media items in the gallery. */\n      items?: Item[];\n      /**\n       * Index that determines which position a gallery is displayed on the site. <br />\n       *\n       * >**Note:** If you assign the same sort order index to more than one gallery, the function fails.\n       */\n      sortOrder?: number | null;\n      /**\n       * Date and time the gallery was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  interface UpdateGalleryOptions {\n      /**\n       * State of the gallery to update.\n       * @internal\n       */\n      state?: State;\n  }\n  /**\n   * Deletes a gallery.\n   *\n   * When a gallery is deleted, the deleted gallery is no longer returned when calling the [`listGalleries()`](/pro-gallery/list-galleries) function.\n   * @param galleryId - ID of the gallery to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField galleryId\n   * @permissionId PRO_GALLERY.MANAGE\n   * @adminMethod\n   */\n  function deleteGallery(galleryId: string, options?: DeleteGalleryOptions): Promise<DeleteGalleryResponse>;\n  interface DeleteGalleryOptions {\n      /**\n       * State of the gallery to delete.\n       * @internal\n       */\n      state?: State;\n  }\n  /**\n   * Deletes multiple media items from a gallery.\n   * @param galleryId - Gallery ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField galleryId\n   * @permissionId PRO_GALLERY.MANAGE\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.exposure.progallery.BulkDeleteGalleryItems\n   * @targetRemovalDate 2024-08-15\n   */\n  function deleteGalleryItems(galleryId: string, options?: DeleteGalleryItemsOptions): Promise<DeleteGalleryItemsResponse>;\n  interface DeleteGalleryItemsOptions {\n      /** ID of the media item to delete. */\n      itemsIds?: string[];\n      /**\n       * State of the gallery.\n       * @internal\n       */\n      state?: State;\n  }\n  /**\n   * Deletes multiple media items from a gallery.\n   * @param galleryId - Gallery ID.\n   * @param itemIds - IDs of the media items to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField galleryId\n   * @requiredField itemIds\n   * @permissionId PRO_GALLERY.MANAGE\n   * @adminMethod\n   */\n  function bulkDeleteGalleryItems(galleryId: string, itemIds: string[], options?: BulkDeleteGalleryItemsOptions): Promise<BulkDeleteGalleryItemsResponse>;\n  interface BulkDeleteGalleryItemsOptions {\n      /**\n       * State of the gallery.\n       * @internal\n       */\n      state?: State;\n  }\n  /**\n   * Creates a media item in a specified gallery.\n   *\n   * The `createGalleryItem()` function returns a Promise that resolves to a newly-created gallery item after it has successfully been created.\n   *\n   * <blockquote class=\"important\">\n   *\n   * __Important:__\n   * When creating `image` items in your gallery, the images must be uploaded to the [Wix Media Manager](https://support.wix.com/en/article/wix-media-uploading-media-to-the-media-manager) first as the `imageInfo` parameter currently only supports the Wix media URL.\n   *\n   * </blockquote>\n   * @param galleryId - Gallery ID.\n   * @param item - Media item to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField galleryId\n   * @requiredField item\n   * @requiredField item.image.imageInfo\n   * @requiredField item.text.html\n   * @requiredField item.video.videoInfo\n   * @permissionId PRO_GALLERY.MANAGE\n   * @adminMethod\n   * @returns Created media item.\n   */\n  function createGalleryItem(galleryId: string, item: Item, options?: CreateGalleryItemOptions): Promise<Item>;\n  interface CreateGalleryItemOptions {\n      /**\n       * Gallery state.\n       * @internal\n       */\n      state?: State;\n  }\n  /**\n   * Updates a media item in a specified gallery.\n   *\n   * Only the fields in the `item` object parameter can be updated. Specify which fields to update. Unspecified fields remain the same.\n   *\n   * <blockquote class=\"important\">\n   *\n   * __Important:__\n   * When updating `image` items in your gallery, the images must be uploaded to the [Wix Media Manager](https://support.wix.com/en/article/wix-media-uploading-media-to-the-media-manager) first as the `imageInfo` parameter currently only supports the Wix media URL.\n   *\n   * </blockquote>\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.galleryId\n   * @requiredField identifiers.itemId\n   * @requiredField item\n   * @requiredField item.image.imageInfo\n   * @requiredField item.text.html\n   * @requiredField item.video.videoInfo\n   * @param item - The information for the gallery item being updated.\n   * @param identifiers - Gallery ID and Item ID.\n   * @permissionId PRO_GALLERY.MANAGE\n   * @adminMethod\n   * @returns Updated media item.\n   */\n  function updateGalleryItem(identifiers: UpdateGalleryItemIdentifiers, item: UpdateGalleryItem, options?: UpdateGalleryItemOptions): Promise<Item>;\n  interface UpdateGalleryItemIdentifiers {\n      /** ID of the gallery containing the item to update.  */\n      galleryId: string;\n      /**\n       * ID of the item to update.\n       * @readonly\n       */\n      itemId?: string | null;\n  }\n  interface UpdateGalleryItem {\n      /** Details about the image. */\n      image?: Image;\n      /** Details about the video. */\n      video?: Video;\n      /** Details about the text file. */\n      text?: Text;\n      /**\n       * Item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Index that determines which position a media item is displayed in the gallery. <br />\n       *\n       * Default: [Epoch](https://www.epoch101.com/) timestamp. <br />\n       *\n       * >**Note:** If you assign the same sort order index to more than one media item in a gallery, the function fails.\n       */\n      sortOrder?: number | null;\n      /** Item title. */\n      title?: string | null;\n      /** Item description. */\n      description?: string | null;\n      /** Link from the item. You can link to Wix sites or external URLs. */\n      link?: Link;\n      /** @readonly */\n      type?: Type;\n      /**\n       * Date and time the item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Item tags. */\n      tags?: Tags;\n      /**\n       * item's secondary media (image or text media revealed on hover)\n       * @internal\n       */\n      secondaryMedia?: SecondaryMedia;\n  }\n  interface UpdateGalleryItemOptions {\n      /**\n       * Gallery state.\n       * @internal\n       */\n      state?: State;\n  }\n  /**\n   * Deletes a media item from a gallery.\n   *\n   * When a gallery item is deleted, the deleted gallery item is no longer returned when calling the [`listGalleryItems()`](/pro-gallery/list-gallery-items) function.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.galleryId\n   * @requiredField identifiers.itemId\n   * @param identifiers - Gallery ID and Item ID.\n   * @permissionId PRO_GALLERY.MANAGE\n   * @adminMethod\n   */\n  function deleteGalleryItem(identifiers: DeleteGalleryItemIdentifiers, options?: DeleteGalleryItemOptions): Promise<DeleteGalleryItemResponse>;\n  interface DeleteGalleryItemIdentifiers {\n      /** Gallery ID. */\n      galleryId: string;\n      /** ID of the media item to delete. */\n      itemId: string;\n  }\n  interface DeleteGalleryItemOptions {\n      /**\n       * Gallery state.\n       * @internal\n       */\n      state?: State;\n  }\n  /**\n   * Publish gallery\n   * The changes that been done in SAVED state will be applied in the PUBLISHED gallery\n   * @param galleryId - ID of the gallery to publish.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField galleryId\n   * @permissionId PRO_GALLERY.MANAGE\n   * @adminMethod\n   */\n  function publishGallery(galleryId: string): Promise<PublishGalleryResponse>;\n  \n  type proGalleryV2Gallery_universal_d_Gallery = Gallery;\n  type proGalleryV2Gallery_universal_d_Item = Item;\n  type proGalleryV2Gallery_universal_d_ItemMetadataOneOf = ItemMetadataOneOf;\n  type proGalleryV2Gallery_universal_d_Link = Link;\n  type proGalleryV2Gallery_universal_d_LinkType = LinkType;\n  const proGalleryV2Gallery_universal_d_LinkType: typeof LinkType;\n  type proGalleryV2Gallery_universal_d_WixLink = WixLink;\n  type proGalleryV2Gallery_universal_d_WixLinkLinkOneOf = WixLinkLinkOneOf;\n  type proGalleryV2Gallery_universal_d_ExternalLink = ExternalLink;\n  type proGalleryV2Gallery_universal_d_PageLink = PageLink;\n  type proGalleryV2Gallery_universal_d_LinkRel = LinkRel;\n  const proGalleryV2Gallery_universal_d_LinkRel: typeof LinkRel;\n  type proGalleryV2Gallery_universal_d_AnchorLink = AnchorLink;\n  type proGalleryV2Gallery_universal_d_DynamicPageLink = DynamicPageLink;\n  type proGalleryV2Gallery_universal_d_DocumentLink = DocumentLink;\n  type proGalleryV2Gallery_universal_d_EmailLink = EmailLink;\n  type proGalleryV2Gallery_universal_d_PhoneLink = PhoneLink;\n  type proGalleryV2Gallery_universal_d_AddressLink = AddressLink;\n  type proGalleryV2Gallery_universal_d_WhatsAppLink = WhatsAppLink;\n  type proGalleryV2Gallery_universal_d_TpaPageLink = TpaPageLink;\n  type proGalleryV2Gallery_universal_d_Type = Type;\n  const proGalleryV2Gallery_universal_d_Type: typeof Type;\n  type proGalleryV2Gallery_universal_d_Image = Image;\n  type proGalleryV2Gallery_universal_d_ImageType = ImageType;\n  const proGalleryV2Gallery_universal_d_ImageType: typeof ImageType;\n  type proGalleryV2Gallery_universal_d_Point = Point;\n  type proGalleryV2Gallery_universal_d_UnsharpMasking = UnsharpMasking;\n  type proGalleryV2Gallery_universal_d_Video = Video;\n  type proGalleryV2Gallery_universal_d_VideoType = VideoType;\n  const proGalleryV2Gallery_universal_d_VideoType: typeof VideoType;\n  type proGalleryV2Gallery_universal_d_VideoResolution = VideoResolution;\n  type proGalleryV2Gallery_universal_d_Text = Text;\n  type proGalleryV2Gallery_universal_d_Tags = Tags;\n  type proGalleryV2Gallery_universal_d_SecondaryMedia = SecondaryMedia;\n  type proGalleryV2Gallery_universal_d_SecondaryMediaMetadataOneOf = SecondaryMediaMetadataOneOf;\n  type proGalleryV2Gallery_universal_d_InvalidateCache = InvalidateCache;\n  type proGalleryV2Gallery_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type proGalleryV2Gallery_universal_d_App = App;\n  type proGalleryV2Gallery_universal_d_InvalidateCachePage = InvalidateCachePage;\n  type proGalleryV2Gallery_universal_d_URI = URI;\n  type proGalleryV2Gallery_universal_d_File = File;\n  type proGalleryV2Gallery_universal_d_GalleryPublished = GalleryPublished;\n  type proGalleryV2Gallery_universal_d_CleanDeletedGalleriesEvent = CleanDeletedGalleriesEvent;\n  type proGalleryV2Gallery_universal_d_ProgallerypublisherPublishGalleryRequest = ProgallerypublisherPublishGalleryRequest;\n  type proGalleryV2Gallery_universal_d_ProgallerypublisherPublishGalleryResponse = ProgallerypublisherPublishGalleryResponse;\n  type proGalleryV2Gallery_universal_d_GetActiveGalleryRevisionRequest = GetActiveGalleryRevisionRequest;\n  type proGalleryV2Gallery_universal_d_GetActiveGalleryRevisionResponse = GetActiveGalleryRevisionResponse;\n  type proGalleryV2Gallery_universal_d_GetGalleryRevisionRequest = GetGalleryRevisionRequest;\n  type proGalleryV2Gallery_universal_d_GetGalleryRevisionResponse = GetGalleryRevisionResponse;\n  type proGalleryV2Gallery_universal_d_PublishGalleryItemRequest = PublishGalleryItemRequest;\n  type proGalleryV2Gallery_universal_d_PublishGalleryItemResponse = PublishGalleryItemResponse;\n  type proGalleryV2Gallery_universal_d_PublishGalleryItemsRequest = PublishGalleryItemsRequest;\n  type proGalleryV2Gallery_universal_d_PublishGalleryItemsResponse = PublishGalleryItemsResponse;\n  type proGalleryV2Gallery_universal_d_Empty = Empty;\n  type proGalleryV2Gallery_universal_d_HtmlSitePublished = HtmlSitePublished;\n  type proGalleryV2Gallery_universal_d_Page = Page;\n  type proGalleryV2Gallery_universal_d_HtmlSiteRCPublished = HtmlSiteRCPublished;\n  type proGalleryV2Gallery_universal_d_DomainEvent = DomainEvent;\n  type proGalleryV2Gallery_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type proGalleryV2Gallery_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type proGalleryV2Gallery_universal_d_RestoreInfo = RestoreInfo;\n  type proGalleryV2Gallery_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type proGalleryV2Gallery_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type proGalleryV2Gallery_universal_d_ActionEvent = ActionEvent;\n  type proGalleryV2Gallery_universal_d_MessageEnvelope = MessageEnvelope;\n  type proGalleryV2Gallery_universal_d_IdentificationData = IdentificationData;\n  type proGalleryV2Gallery_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type proGalleryV2Gallery_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const proGalleryV2Gallery_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type proGalleryV2Gallery_universal_d_UpdateDocumentsEvent = UpdateDocumentsEvent;\n  type proGalleryV2Gallery_universal_d_UpdateDocumentsEventOperationOneOf = UpdateDocumentsEventOperationOneOf;\n  type proGalleryV2Gallery_universal_d_DocumentUpdateOperation = DocumentUpdateOperation;\n  type proGalleryV2Gallery_universal_d_IndexDocument = IndexDocument;\n  type proGalleryV2Gallery_universal_d_DocumentPayload = DocumentPayload;\n  type proGalleryV2Gallery_universal_d_DocumentImage = DocumentImage;\n  type proGalleryV2Gallery_universal_d_Enum = Enum;\n  const proGalleryV2Gallery_universal_d_Enum: typeof Enum;\n  type proGalleryV2Gallery_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n  type proGalleryV2Gallery_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n  type proGalleryV2Gallery_universal_d_UpdateByFilterOperation = UpdateByFilterOperation;\n  type proGalleryV2Gallery_universal_d_UpdateExistingOperation = UpdateExistingOperation;\n  type proGalleryV2Gallery_universal_d_SearchIndexingNotification = SearchIndexingNotification;\n  type proGalleryV2Gallery_universal_d_SearchIndexingNotificationState = SearchIndexingNotificationState;\n  const proGalleryV2Gallery_universal_d_SearchIndexingNotificationState: typeof SearchIndexingNotificationState;\n  type proGalleryV2Gallery_universal_d_ListGalleriesItemsRequest = ListGalleriesItemsRequest;\n  type proGalleryV2Gallery_universal_d_ItemId = ItemId;\n  type proGalleryV2Gallery_universal_d_ListGalleriesItemsResponse = ListGalleriesItemsResponse;\n  type proGalleryV2Gallery_universal_d_ItemsInGallery = ItemsInGallery;\n  type proGalleryV2Gallery_universal_d_GalleryItemCreated = GalleryItemCreated;\n  type proGalleryV2Gallery_universal_d_GalleryItemUpdated = GalleryItemUpdated;\n  type proGalleryV2Gallery_universal_d_GalleryItemDeleted = GalleryItemDeleted;\n  type proGalleryV2Gallery_universal_d_ListGalleriesRequest = ListGalleriesRequest;\n  type proGalleryV2Gallery_universal_d_State = State;\n  const proGalleryV2Gallery_universal_d_State: typeof State;\n  type proGalleryV2Gallery_universal_d_ListGalleriesResponse = ListGalleriesResponse;\n  type proGalleryV2Gallery_universal_d_GetGalleryRequest = GetGalleryRequest;\n  type proGalleryV2Gallery_universal_d_GetGalleryRequestVersionOneOf = GetGalleryRequestVersionOneOf;\n  type proGalleryV2Gallery_universal_d_GetGalleryResponse = GetGalleryResponse;\n  type proGalleryV2Gallery_universal_d_ListGalleryItemsRequest = ListGalleryItemsRequest;\n  type proGalleryV2Gallery_universal_d_ListGalleryItemsResponse = ListGalleryItemsResponse;\n  type proGalleryV2Gallery_universal_d_GetGalleryItemRequest = GetGalleryItemRequest;\n  type proGalleryV2Gallery_universal_d_GetGalleryItemResponse = GetGalleryItemResponse;\n  type proGalleryV2Gallery_universal_d_CreateGalleryRequest = CreateGalleryRequest;\n  type proGalleryV2Gallery_universal_d_CreateGalleryResponse = CreateGalleryResponse;\n  type proGalleryV2Gallery_universal_d_UpdateGalleryRequest = UpdateGalleryRequest;\n  type proGalleryV2Gallery_universal_d_UpdateGalleryResponse = UpdateGalleryResponse;\n  type proGalleryV2Gallery_universal_d_DeleteGalleryRequest = DeleteGalleryRequest;\n  type proGalleryV2Gallery_universal_d_DeleteGalleryResponse = DeleteGalleryResponse;\n  type proGalleryV2Gallery_universal_d_DeleteGalleryItemsRequest = DeleteGalleryItemsRequest;\n  type proGalleryV2Gallery_universal_d_DeleteGalleryItemsResponse = DeleteGalleryItemsResponse;\n  type proGalleryV2Gallery_universal_d_BulkDeleteGalleryItemsRequest = BulkDeleteGalleryItemsRequest;\n  type proGalleryV2Gallery_universal_d_BulkDeleteGalleryItemsResponse = BulkDeleteGalleryItemsResponse;\n  type proGalleryV2Gallery_universal_d_CreateGalleryItemRequest = CreateGalleryItemRequest;\n  type proGalleryV2Gallery_universal_d_CreateGalleryItemResponse = CreateGalleryItemResponse;\n  type proGalleryV2Gallery_universal_d_CreateGalleryItemsRequest = CreateGalleryItemsRequest;\n  type proGalleryV2Gallery_universal_d_CreateGalleryItemsResponse = CreateGalleryItemsResponse;\n  type proGalleryV2Gallery_universal_d_UpdateGalleryItemRequest = UpdateGalleryItemRequest;\n  type proGalleryV2Gallery_universal_d_UpdateGalleryItemResponse = UpdateGalleryItemResponse;\n  type proGalleryV2Gallery_universal_d_DeleteGalleryItemRequest = DeleteGalleryItemRequest;\n  type proGalleryV2Gallery_universal_d_DeleteGalleryItemResponse = DeleteGalleryItemResponse;\n  type proGalleryV2Gallery_universal_d_PublishGalleryRequest = PublishGalleryRequest;\n  type proGalleryV2Gallery_universal_d_PublishGalleryResponse = PublishGalleryResponse;\n  const proGalleryV2Gallery_universal_d_listGalleries: typeof listGalleries;\n  type proGalleryV2Gallery_universal_d_ListGalleriesOptions = ListGalleriesOptions;\n  const proGalleryV2Gallery_universal_d_getGallery: typeof getGallery;\n  type proGalleryV2Gallery_universal_d_GetGalleryOptions = GetGalleryOptions;\n  const proGalleryV2Gallery_universal_d_listGalleryItems: typeof listGalleryItems;\n  type proGalleryV2Gallery_universal_d_ListGalleryItemsOptions = ListGalleryItemsOptions;\n  const proGalleryV2Gallery_universal_d_getGalleryItem: typeof getGalleryItem;\n  type proGalleryV2Gallery_universal_d_GetGalleryItemIdentifiers = GetGalleryItemIdentifiers;\n  type proGalleryV2Gallery_universal_d_GetGalleryItemOptions = GetGalleryItemOptions;\n  const proGalleryV2Gallery_universal_d_createGallery: typeof createGallery;\n  type proGalleryV2Gallery_universal_d_CreateGalleryOptions = CreateGalleryOptions;\n  const proGalleryV2Gallery_universal_d_updateGallery: typeof updateGallery;\n  type proGalleryV2Gallery_universal_d_UpdateGallery = UpdateGallery;\n  type proGalleryV2Gallery_universal_d_UpdateGalleryOptions = UpdateGalleryOptions;\n  const proGalleryV2Gallery_universal_d_deleteGallery: typeof deleteGallery;\n  type proGalleryV2Gallery_universal_d_DeleteGalleryOptions = DeleteGalleryOptions;\n  const proGalleryV2Gallery_universal_d_deleteGalleryItems: typeof deleteGalleryItems;\n  type proGalleryV2Gallery_universal_d_DeleteGalleryItemsOptions = DeleteGalleryItemsOptions;\n  const proGalleryV2Gallery_universal_d_bulkDeleteGalleryItems: typeof bulkDeleteGalleryItems;\n  type proGalleryV2Gallery_universal_d_BulkDeleteGalleryItemsOptions = BulkDeleteGalleryItemsOptions;\n  const proGalleryV2Gallery_universal_d_createGalleryItem: typeof createGalleryItem;\n  type proGalleryV2Gallery_universal_d_CreateGalleryItemOptions = CreateGalleryItemOptions;\n  const proGalleryV2Gallery_universal_d_updateGalleryItem: typeof updateGalleryItem;\n  type proGalleryV2Gallery_universal_d_UpdateGalleryItemIdentifiers = UpdateGalleryItemIdentifiers;\n  type proGalleryV2Gallery_universal_d_UpdateGalleryItem = UpdateGalleryItem;\n  type proGalleryV2Gallery_universal_d_UpdateGalleryItemOptions = UpdateGalleryItemOptions;\n  const proGalleryV2Gallery_universal_d_deleteGalleryItem: typeof deleteGalleryItem;\n  type proGalleryV2Gallery_universal_d_DeleteGalleryItemIdentifiers = DeleteGalleryItemIdentifiers;\n  type proGalleryV2Gallery_universal_d_DeleteGalleryItemOptions = DeleteGalleryItemOptions;\n  const proGalleryV2Gallery_universal_d_publishGallery: typeof publishGallery;\n  namespace proGalleryV2Gallery_universal_d {\n    export {\n      proGalleryV2Gallery_universal_d_Gallery as Gallery,\n      proGalleryV2Gallery_universal_d_Item as Item,\n      proGalleryV2Gallery_universal_d_ItemMetadataOneOf as ItemMetadataOneOf,\n      proGalleryV2Gallery_universal_d_Link as Link,\n      proGalleryV2Gallery_universal_d_LinkType as LinkType,\n      proGalleryV2Gallery_universal_d_WixLink as WixLink,\n      proGalleryV2Gallery_universal_d_WixLinkLinkOneOf as WixLinkLinkOneOf,\n      proGalleryV2Gallery_universal_d_ExternalLink as ExternalLink,\n      proGalleryV2Gallery_universal_d_PageLink as PageLink,\n      proGalleryV2Gallery_universal_d_LinkRel as LinkRel,\n      proGalleryV2Gallery_universal_d_AnchorLink as AnchorLink,\n      proGalleryV2Gallery_universal_d_DynamicPageLink as DynamicPageLink,\n      proGalleryV2Gallery_universal_d_DocumentLink as DocumentLink,\n      proGalleryV2Gallery_universal_d_EmailLink as EmailLink,\n      proGalleryV2Gallery_universal_d_PhoneLink as PhoneLink,\n      proGalleryV2Gallery_universal_d_AddressLink as AddressLink,\n      proGalleryV2Gallery_universal_d_WhatsAppLink as WhatsAppLink,\n      proGalleryV2Gallery_universal_d_TpaPageLink as TpaPageLink,\n      proGalleryV2Gallery_universal_d_Type as Type,\n      proGalleryV2Gallery_universal_d_Image as Image,\n      proGalleryV2Gallery_universal_d_ImageType as ImageType,\n      proGalleryV2Gallery_universal_d_Point as Point,\n      proGalleryV2Gallery_universal_d_UnsharpMasking as UnsharpMasking,\n      proGalleryV2Gallery_universal_d_Video as Video,\n      proGalleryV2Gallery_universal_d_VideoType as VideoType,\n      proGalleryV2Gallery_universal_d_VideoResolution as VideoResolution,\n      proGalleryV2Gallery_universal_d_Text as Text,\n      proGalleryV2Gallery_universal_d_Tags as Tags,\n      proGalleryV2Gallery_universal_d_SecondaryMedia as SecondaryMedia,\n      proGalleryV2Gallery_universal_d_SecondaryMediaMetadataOneOf as SecondaryMediaMetadataOneOf,\n      proGalleryV2Gallery_universal_d_InvalidateCache as InvalidateCache,\n      proGalleryV2Gallery_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      proGalleryV2Gallery_universal_d_App as App,\n      proGalleryV2Gallery_universal_d_InvalidateCachePage as InvalidateCachePage,\n      proGalleryV2Gallery_universal_d_URI as URI,\n      proGalleryV2Gallery_universal_d_File as File,\n      proGalleryV2Gallery_universal_d_GalleryPublished as GalleryPublished,\n      proGalleryV2Gallery_universal_d_CleanDeletedGalleriesEvent as CleanDeletedGalleriesEvent,\n      proGalleryV2Gallery_universal_d_ProgallerypublisherPublishGalleryRequest as ProgallerypublisherPublishGalleryRequest,\n      proGalleryV2Gallery_universal_d_ProgallerypublisherPublishGalleryResponse as ProgallerypublisherPublishGalleryResponse,\n      proGalleryV2Gallery_universal_d_GetActiveGalleryRevisionRequest as GetActiveGalleryRevisionRequest,\n      proGalleryV2Gallery_universal_d_GetActiveGalleryRevisionResponse as GetActiveGalleryRevisionResponse,\n      proGalleryV2Gallery_universal_d_GetGalleryRevisionRequest as GetGalleryRevisionRequest,\n      proGalleryV2Gallery_universal_d_GetGalleryRevisionResponse as GetGalleryRevisionResponse,\n      proGalleryV2Gallery_universal_d_PublishGalleryItemRequest as PublishGalleryItemRequest,\n      proGalleryV2Gallery_universal_d_PublishGalleryItemResponse as PublishGalleryItemResponse,\n      proGalleryV2Gallery_universal_d_PublishGalleryItemsRequest as PublishGalleryItemsRequest,\n      proGalleryV2Gallery_universal_d_PublishGalleryItemsResponse as PublishGalleryItemsResponse,\n      proGalleryV2Gallery_universal_d_Empty as Empty,\n      proGalleryV2Gallery_universal_d_HtmlSitePublished as HtmlSitePublished,\n      proGalleryV2Gallery_universal_d_Page as Page,\n      proGalleryV2Gallery_universal_d_HtmlSiteRCPublished as HtmlSiteRCPublished,\n      proGalleryV2Gallery_universal_d_DomainEvent as DomainEvent,\n      proGalleryV2Gallery_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      proGalleryV2Gallery_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      proGalleryV2Gallery_universal_d_RestoreInfo as RestoreInfo,\n      proGalleryV2Gallery_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      proGalleryV2Gallery_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      proGalleryV2Gallery_universal_d_ActionEvent as ActionEvent,\n      proGalleryV2Gallery_universal_d_MessageEnvelope as MessageEnvelope,\n      proGalleryV2Gallery_universal_d_IdentificationData as IdentificationData,\n      proGalleryV2Gallery_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      proGalleryV2Gallery_universal_d_WebhookIdentityType as WebhookIdentityType,\n      proGalleryV2Gallery_universal_d_UpdateDocumentsEvent as UpdateDocumentsEvent,\n      proGalleryV2Gallery_universal_d_UpdateDocumentsEventOperationOneOf as UpdateDocumentsEventOperationOneOf,\n      proGalleryV2Gallery_universal_d_DocumentUpdateOperation as DocumentUpdateOperation,\n      proGalleryV2Gallery_universal_d_IndexDocument as IndexDocument,\n      proGalleryV2Gallery_universal_d_DocumentPayload as DocumentPayload,\n      proGalleryV2Gallery_universal_d_DocumentImage as DocumentImage,\n      proGalleryV2Gallery_universal_d_Enum as Enum,\n      proGalleryV2Gallery_universal_d_DeleteByIdsOperation as DeleteByIdsOperation,\n      proGalleryV2Gallery_universal_d_DeleteByFilterOperation as DeleteByFilterOperation,\n      proGalleryV2Gallery_universal_d_UpdateByFilterOperation as UpdateByFilterOperation,\n      proGalleryV2Gallery_universal_d_UpdateExistingOperation as UpdateExistingOperation,\n      proGalleryV2Gallery_universal_d_SearchIndexingNotification as SearchIndexingNotification,\n      proGalleryV2Gallery_universal_d_SearchIndexingNotificationState as SearchIndexingNotificationState,\n      proGalleryV2Gallery_universal_d_ListGalleriesItemsRequest as ListGalleriesItemsRequest,\n      proGalleryV2Gallery_universal_d_ItemId as ItemId,\n      proGalleryV2Gallery_universal_d_ListGalleriesItemsResponse as ListGalleriesItemsResponse,\n      proGalleryV2Gallery_universal_d_ItemsInGallery as ItemsInGallery,\n      proGalleryV2Gallery_universal_d_GalleryItemCreated as GalleryItemCreated,\n      proGalleryV2Gallery_universal_d_GalleryItemUpdated as GalleryItemUpdated,\n      proGalleryV2Gallery_universal_d_GalleryItemDeleted as GalleryItemDeleted,\n      proGalleryV2Gallery_universal_d_ListGalleriesRequest as ListGalleriesRequest,\n      proGalleryV2Gallery_universal_d_State as State,\n      proGalleryV2Gallery_universal_d_ListGalleriesResponse as ListGalleriesResponse,\n      proGalleryV2Gallery_universal_d_GetGalleryRequest as GetGalleryRequest,\n      proGalleryV2Gallery_universal_d_GetGalleryRequestVersionOneOf as GetGalleryRequestVersionOneOf,\n      proGalleryV2Gallery_universal_d_GetGalleryResponse as GetGalleryResponse,\n      proGalleryV2Gallery_universal_d_ListGalleryItemsRequest as ListGalleryItemsRequest,\n      proGalleryV2Gallery_universal_d_ListGalleryItemsResponse as ListGalleryItemsResponse,\n      proGalleryV2Gallery_universal_d_GetGalleryItemRequest as GetGalleryItemRequest,\n      proGalleryV2Gallery_universal_d_GetGalleryItemResponse as GetGalleryItemResponse,\n      proGalleryV2Gallery_universal_d_CreateGalleryRequest as CreateGalleryRequest,\n      proGalleryV2Gallery_universal_d_CreateGalleryResponse as CreateGalleryResponse,\n      proGalleryV2Gallery_universal_d_UpdateGalleryRequest as UpdateGalleryRequest,\n      proGalleryV2Gallery_universal_d_UpdateGalleryResponse as UpdateGalleryResponse,\n      proGalleryV2Gallery_universal_d_DeleteGalleryRequest as DeleteGalleryRequest,\n      proGalleryV2Gallery_universal_d_DeleteGalleryResponse as DeleteGalleryResponse,\n      proGalleryV2Gallery_universal_d_DeleteGalleryItemsRequest as DeleteGalleryItemsRequest,\n      proGalleryV2Gallery_universal_d_DeleteGalleryItemsResponse as DeleteGalleryItemsResponse,\n      proGalleryV2Gallery_universal_d_BulkDeleteGalleryItemsRequest as BulkDeleteGalleryItemsRequest,\n      proGalleryV2Gallery_universal_d_BulkDeleteGalleryItemsResponse as BulkDeleteGalleryItemsResponse,\n      proGalleryV2Gallery_universal_d_CreateGalleryItemRequest as CreateGalleryItemRequest,\n      proGalleryV2Gallery_universal_d_CreateGalleryItemResponse as CreateGalleryItemResponse,\n      proGalleryV2Gallery_universal_d_CreateGalleryItemsRequest as CreateGalleryItemsRequest,\n      proGalleryV2Gallery_universal_d_CreateGalleryItemsResponse as CreateGalleryItemsResponse,\n      proGalleryV2Gallery_universal_d_UpdateGalleryItemRequest as UpdateGalleryItemRequest,\n      proGalleryV2Gallery_universal_d_UpdateGalleryItemResponse as UpdateGalleryItemResponse,\n      proGalleryV2Gallery_universal_d_DeleteGalleryItemRequest as DeleteGalleryItemRequest,\n      proGalleryV2Gallery_universal_d_DeleteGalleryItemResponse as DeleteGalleryItemResponse,\n      proGalleryV2Gallery_universal_d_PublishGalleryRequest as PublishGalleryRequest,\n      proGalleryV2Gallery_universal_d_PublishGalleryResponse as PublishGalleryResponse,\n      proGalleryV2Gallery_universal_d_listGalleries as listGalleries,\n      proGalleryV2Gallery_universal_d_ListGalleriesOptions as ListGalleriesOptions,\n      proGalleryV2Gallery_universal_d_getGallery as getGallery,\n      proGalleryV2Gallery_universal_d_GetGalleryOptions as GetGalleryOptions,\n      proGalleryV2Gallery_universal_d_listGalleryItems as listGalleryItems,\n      proGalleryV2Gallery_universal_d_ListGalleryItemsOptions as ListGalleryItemsOptions,\n      proGalleryV2Gallery_universal_d_getGalleryItem as getGalleryItem,\n      proGalleryV2Gallery_universal_d_GetGalleryItemIdentifiers as GetGalleryItemIdentifiers,\n      proGalleryV2Gallery_universal_d_GetGalleryItemOptions as GetGalleryItemOptions,\n      proGalleryV2Gallery_universal_d_createGallery as createGallery,\n      proGalleryV2Gallery_universal_d_CreateGalleryOptions as CreateGalleryOptions,\n      proGalleryV2Gallery_universal_d_updateGallery as updateGallery,\n      proGalleryV2Gallery_universal_d_UpdateGallery as UpdateGallery,\n      proGalleryV2Gallery_universal_d_UpdateGalleryOptions as UpdateGalleryOptions,\n      proGalleryV2Gallery_universal_d_deleteGallery as deleteGallery,\n      proGalleryV2Gallery_universal_d_DeleteGalleryOptions as DeleteGalleryOptions,\n      proGalleryV2Gallery_universal_d_deleteGalleryItems as deleteGalleryItems,\n      proGalleryV2Gallery_universal_d_DeleteGalleryItemsOptions as DeleteGalleryItemsOptions,\n      proGalleryV2Gallery_universal_d_bulkDeleteGalleryItems as bulkDeleteGalleryItems,\n      proGalleryV2Gallery_universal_d_BulkDeleteGalleryItemsOptions as BulkDeleteGalleryItemsOptions,\n      proGalleryV2Gallery_universal_d_createGalleryItem as createGalleryItem,\n      proGalleryV2Gallery_universal_d_CreateGalleryItemOptions as CreateGalleryItemOptions,\n      proGalleryV2Gallery_universal_d_updateGalleryItem as updateGalleryItem,\n      proGalleryV2Gallery_universal_d_UpdateGalleryItemIdentifiers as UpdateGalleryItemIdentifiers,\n      proGalleryV2Gallery_universal_d_UpdateGalleryItem as UpdateGalleryItem,\n      proGalleryV2Gallery_universal_d_UpdateGalleryItemOptions as UpdateGalleryItemOptions,\n      proGalleryV2Gallery_universal_d_deleteGalleryItem as deleteGalleryItem,\n      proGalleryV2Gallery_universal_d_DeleteGalleryItemIdentifiers as DeleteGalleryItemIdentifiers,\n      proGalleryV2Gallery_universal_d_DeleteGalleryItemOptions as DeleteGalleryItemOptions,\n      proGalleryV2Gallery_universal_d_publishGallery as publishGallery,\n    };\n  }\n  \n  export { proGalleryV2Gallery_universal_d as proGallery };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-alert-enricher-backend.d.ts",
      "content": "declare module \"wix-alert-enricher-backend\" {\n  /** EnrichmentConfig is the main entity of EnrichmentBo */\n  interface EnrichmentConfig {\n      /** EnrichmentConfig ID */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this EnrichmentConfig was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this EnrichmentConfig was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      show?: boolean | null;\n      /** implemented bu core / plugin */\n      enrichmentSource?: EnrichmentSource;\n      /**\n       * one of : base definition/ override /merge. merge may only be set by server\n       * @readonly\n       */\n      configurationType?: EnrichmentConfigType;\n      /** reserved 9; */\n      artifactId?: string | null;\n      /** slack channel */\n      channel?: string | null;\n      /** core: Last-ga-time/ sled-traffic/ top-exceptions plugin: free-text */\n      enrichmentType?: EnrichmentType;\n      /** app def id defined in dev-center */\n      implementorId?: string | null;\n      /** user properties for overrides  exp: last GA in X days */\n      enrichmentConfigProperties?: Record<string, string>;\n      /** free text */\n      description?: string | null;\n      /** implementer owner buildup or other */\n      owner?: string;\n      /** owner-ship tag */\n      createdBy?: string;\n      /** free -text */\n      overrideName?: string;\n      /** alert type: Error percentage / Unknown */\n      alertTypes?: AlertType[];\n  }\n  enum EnrichmentSource {\n      CORE = \"CORE\",\n      PLUGIN = \"PLUGIN\"\n  }\n  enum EnrichmentConfigType {\n      OVERRIDE = \"OVERRIDE\",\n      BASE_DEFINITION = \"BASE_DEFINITION\",\n      MERGED = \"MERGED\"\n  }\n  enum EnrichmentType {\n      UNKNOWN = \"UNKNOWN\",\n      LAST_GA_TIME = \"LAST_GA_TIME\",\n      GRAFANA_LINK_TIMESTAMP = \"GRAFANA_LINK_TIMESTAMP\",\n      TOP_EXCEPTIONS = \"TOP_EXCEPTIONS\",\n      SLED_INFO = \"SLED_INFO\",\n      ERROR_BY_METASITE = \"ERROR_BY_METASITE\",\n      DEBUG_PROD = \"DEBUG_PROD\",\n      LAST_EXPERIMENTS_CHANGES = \"LAST_EXPERIMENTS_CHANGES\",\n      LAST_KUBE_CHANGES = \"LAST_KUBE_CHANGES\",\n      APP_HEALTH_CHECK = \"APP_HEALTH_CHECK\",\n      IMMIGRATOR_ACTIVE_MIGRATION = \"IMMIGRATOR_ACTIVE_MIGRATION\",\n      OUTGOING_CALLS_ERROR_RATES = \"OUTGOING_CALLS_ERROR_RATES\",\n      SERVICE_INCOMING_CALLS_ERROR_RATES = \"SERVICE_INCOMING_CALLS_ERROR_RATES\",\n      ACTIVE_RESOURCE_TUNING = \"ACTIVE_RESOURCE_TUNING\",\n      ENDPOINT_CALLERS_ERROR_RATES = \"ENDPOINT_CALLERS_ERROR_RATES\",\n      SINGLE_EXCEPTION_DATA = \"SINGLE_EXCEPTION_DATA\",\n      ACTIVITY_IN_WAR_ROOM = \"ACTIVITY_IN_WAR_ROOM\",\n      PODS_DOMINANT_ERROR_RATES = \"PODS_DOMINANT_ERROR_RATES\",\n      PANORAMA_INFO = \"PANORAMA_INFO\",\n      TRAFFIC_SWITCH = \"TRAFFIC_SWITCH\",\n      PAYMENT_TRANSACTIONS = \"PAYMENT_TRANSACTIONS\",\n      ZIONA = \"ZIONA\",\n      DEAD_LETTER_QUEUE = \"DEAD_LETTER_QUEUE\"\n  }\n  enum AlertType {\n      UNKNOWN = \"UNKNOWN\",\n      ERROR_PERCENTAGE = \"ERROR_PERCENTAGE\",\n      APP_HEALTH_CHECK = \"APP_HEALTH_CHECK\",\n      KAFKA_LAG_GROWTH = \"KAFKA_LAG_GROWTH\",\n      CPU_THROTTLED = \"CPU_THROTTLED\",\n      POD_OUT_OF_MEMORY = \"POD_OUT_OF_MEMORY\",\n      ENDPOINT_ERROR_RATE = \"ENDPOINT_ERROR_RATE\",\n      SERVICE_ERROR_RATE = \"SERVICE_ERROR_RATE\",\n      ZERO_ERROR_POLICY = \"ZERO_ERROR_POLICY\",\n      PANORAMA = \"PANORAMA\",\n      PAYMENT_PROVIDER = \"PAYMENT_PROVIDER\",\n      JVM_OUT_OF_MEMORY = \"JVM_OUT_OF_MEMORY\",\n      JVM_GC_COLLECTION_TIME = \"JVM_GC_COLLECTION_TIME\",\n      ENDPOINT_WEIGHTED_RESPONSE_TIME = \"ENDPOINT_WEIGHTED_RESPONSE_TIME\",\n      CUSTOM = \"CUSTOM\",\n      DEAD_LETTER_QUEUE = \"DEAD_LETTER_QUEUE\"\n  }\n  interface CreateEnrichmentConfigRequest extends CreateEnrichmentConfigRequestCreateWithPropertiesOneOf {\n      enrichmentConfigBase?: EnrichmentConfigBase;\n      enrichmentConfigOverride?: EnrichmentConfigOverride;\n  }\n  /** @oneof */\n  interface CreateEnrichmentConfigRequestCreateWithPropertiesOneOf {\n      enrichmentConfigBase?: EnrichmentConfigBase;\n      enrichmentConfigOverride?: EnrichmentConfigOverride;\n  }\n  interface EnrichmentConfigBase {\n      /** implemented by core / plugin */\n      enrichmentSource?: EnrichmentSource;\n      /** reserve 2 */\n      enrichmentType?: EnrichmentType;\n      /** app def id defined in dev-center */\n      implementorId?: string;\n      /** user properties for overrides  exp: last GA in X days */\n      enrichmentConfigProperties?: Record<string, string>;\n      /** free text */\n      description?: string | null;\n      /** implementer owner buildup or other */\n      owner?: string;\n      /** owner tag */\n      createdBy?: string;\n      /** show enrichment */\n      show?: boolean | null;\n      /** alert type: Error percentage / Unknown */\n      alertTypes?: AlertType[];\n  }\n  interface EnrichmentConfigOverride {\n      /** reserved 9; */\n      artifactId?: string | null;\n      /** slack channel */\n      channel?: string | null;\n      enrichmentType?: EnrichmentType;\n      /** user properties for overrides  exp: last GA in X days */\n      enrichmentConfigProperties?: Record<string, string>;\n      /** owner-ship tag */\n      createdBy?: string;\n      /** free -text */\n      overrideName?: string | null;\n      show?: boolean | null;\n      /** alert type: Error percentage / Unknown */\n      alertTypes?: AlertType[];\n  }\n  interface CreateEnrichmentConfigResponse {\n      /** The created EnrichmentConfig */\n      enrichmentConfig?: EnrichmentConfig;\n  }\n  interface GetEnrichmentConfigRequest {\n      /** Id of the EnrichmentConfig to retrieve */\n      enrichmentConfigId: string;\n  }\n  interface GetEnrichmentConfigResponse {\n      /** The retrieved EnrichmentConfig */\n      enrichmentConfig?: EnrichmentConfig;\n  }\n  interface ListEnrichmentConfigRequest {\n      configurationType?: EnrichmentConfigType;\n      alertType?: string | null;\n      channel?: string | null;\n      artifactId?: string | null;\n      enrichmentType?: EnrichmentType;\n  }\n  interface ListEnrichmentConfigResponse {\n      enrichmentConfigs?: EnrichmentConfig[];\n  }\n  interface ListAllEnrichmentConfigRequest {\n  }\n  interface UpdateEnrichmentConfigRequest extends UpdateEnrichmentConfigRequestEnrichmentConfigUpdateOneOf {\n      enrichmentConfigOvr?: EnrichmentConfigOverrideUpdate;\n      enrichmentConfigBase?: EnrichmentConfigBaseUpdate;\n      /** Id of the EnrichmentConfig to retrieve */\n      _id: string;\n      /** The revision of the EnrichmentConfig */\n      revision?: string;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /** @oneof */\n  interface UpdateEnrichmentConfigRequestEnrichmentConfigUpdateOneOf {\n      enrichmentConfigOvr?: EnrichmentConfigOverrideUpdate;\n      enrichmentConfigBase?: EnrichmentConfigBaseUpdate;\n  }\n  interface EnrichmentConfigOverrideUpdate {\n      /** reserve 9; */\n      artifactId?: string | null;\n      /** slack channel */\n      channel?: string | null;\n      /** user properties for overrides  exp: last GA in X days */\n      enrichmentConfigProperties?: Record<string, string>;\n      /** owner-ship tag */\n      createdBy?: string;\n      /** free -text */\n      overrideName?: string;\n      show?: boolean;\n      /** alert type: Error percentage / Unknown */\n      alertTypes?: AlertType[];\n  }\n  interface EnrichmentConfigBaseUpdate {\n      /** implemented by core / plugin */\n      enrichmentSource?: EnrichmentSource;\n      /** reserve 2; */\n      enrichmentType?: EnrichmentType;\n      /** app def id defined in dev-center */\n      implementorId?: string | null;\n      /** user properties for overrides  exp: last GA in X days */\n      enrichmentConfigProperties?: Record<string, string>;\n      /** free text */\n      description?: string | null;\n      /** implementer owner buildup or other */\n      owner?: string;\n      /** owner-ship tag */\n      createdBy?: string;\n      /** show enrichment */\n      show?: boolean;\n      /** alert type: Error percentage / Unknown */\n      alertTypes?: AlertType[];\n  }\n  interface UpdateEnrichmentConfigResponse {\n      /** The updated EnrichmentConfig */\n      enrichmentConfig?: EnrichmentConfig;\n  }\n  interface UpdateEnrichmentConfigShowRequest {\n      /** Id of the EnrichmentConfig to retrieve */\n      enrichmentConfigId: string;\n      /** show property */\n      show: boolean;\n  }\n  interface UpdateEnrichmentConfigShowResponse {\n      /** The updated EnrichmentConfig */\n      enrichmentConfig?: EnrichmentConfig;\n  }\n  interface DeleteEnrichmentConfigRequest {\n      /** Id of the EnrichmentConfig to delete */\n      enrichmentConfigId: string;\n      /** The revision of the EnrichmentConfig */\n      revision?: string;\n  }\n  interface DeleteEnrichmentConfigResponse {\n  }\n  interface QueryEnrichmentConfigRequest {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryEnrichmentConfigResponse {\n      /** The retrieved EnrichmentConfigs */\n      enrichmentConfigs?: EnrichmentConfig[];\n  }\n  interface GetEnrichmentConfigForRequest {\n      channel?: string;\n      alertType?: AlertType;\n      artifactId?: string | null;\n  }\n  interface GetEnrichmentConfigForResponse {\n      enrichmentConfigs?: EnrichmentConfig[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId ALERT_ENRICHER.ENRICHMENT_CONFIG_API_CREATE\n   */\n  function createEnrichmentConfig(options?: CreateEnrichmentConfigOptions): Promise<CreateEnrichmentConfigResponse>;\n  interface CreateEnrichmentConfigOptions extends CreateEnrichmentConfigRequestCreateWithPropertiesOneOf {\n      enrichmentConfigBase?: EnrichmentConfigBase;\n      enrichmentConfigOverride?: EnrichmentConfigOverride;\n  }\n  /**\n   * Get a EnrichmentConfig by id\n   * @param enrichmentConfigId - Id of the EnrichmentConfig to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField enrichmentConfigId\n   * @permissionId ALERT_ENRICHER.ENRICHMENT_CONFIG_API_READ\n   */\n  function getEnrichmentConfig(enrichmentConfigId: string): Promise<GetEnrichmentConfigResponse>;\n  /**\n   * Get a EnrichmentConfig by ListEnrichmentConfigRequest\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ALERT_ENRICHER.ENRICHMENT_CONFIG_API_READ\n   */\n  function listEnrichmentConfig(options?: ListEnrichmentConfigOptions): Promise<ListEnrichmentConfigResponse>;\n  interface ListEnrichmentConfigOptions {\n      configurationType?: EnrichmentConfigType;\n      alertType?: string | null;\n      channel?: string | null;\n      artifactId?: string | null;\n      enrichmentType?: EnrichmentType;\n  }\n  /**\n   * Get a EnrichmentConfig by ListEnrichmentConfigRequest\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ALERT_ENRICHER.ENRICHMENT_CONFIG_API_READ\n   */\n  function listAllEnrichmentConfig(): Promise<ListEnrichmentConfigResponse>;\n  /** @param _id - Id of the EnrichmentConfig to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId ALERT_ENRICHER.ENRICHMENT_CONFIG_API_UPDATE\n   */\n  function updateEnrichmentConfig(_id: string, options?: UpdateEnrichmentConfigOptions): Promise<UpdateEnrichmentConfigResponse>;\n  interface UpdateEnrichmentConfigOptions extends UpdateEnrichmentConfigRequestEnrichmentConfigUpdateOneOf {\n      /** The revision of the EnrichmentConfig */\n      revision?: string;\n      enrichmentConfigOvr?: EnrichmentConfigOverrideUpdate;\n      enrichmentConfigBase?: EnrichmentConfigBaseUpdate;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.enrichmentConfigId\n   * @requiredField identifiers.show\n   * @permissionId ALERT_ENRICHER.ENRICHMENT_CONFIG_API_UPDATE\n   */\n  function updateEnrichmentConfigShow(identifiers: UpdateEnrichmentConfigShowIdentifiers): Promise<UpdateEnrichmentConfigShowResponse>;\n  interface UpdateEnrichmentConfigShowIdentifiers {\n      /** Id of the EnrichmentConfig to retrieve */\n      enrichmentConfigId: string;\n      /** show property */\n      show: boolean;\n  }\n  /**\n   * Delete a EnrichmentConfig\n   * @param enrichmentConfigId - Id of the EnrichmentConfig to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField enrichmentConfigId\n   * @permissionId ALERT_ENRICHER.ENRICHMENT_CONFIG_API_DELETE\n   */\n  function deleteEnrichmentConfig(enrichmentConfigId: string, options?: DeleteEnrichmentConfigOptions): Promise<void>;\n  interface DeleteEnrichmentConfigOptions {\n      /** The revision of the EnrichmentConfig */\n      revision?: string;\n  }\n  /**\n   * Query EnrichmentConfigs using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @param query - WQL expression\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId ALERT_ENRICHER.ENRICHMENT_CONFIG_API_READ\n   */\n  function queryEnrichmentConfig(query: QueryV2): Promise<QueryEnrichmentConfigResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId ALERT_ENRICHER.ENRICHMENT_CONFIG_API_READ\n   */\n  function getEnrichmentConfigFor(options?: GetEnrichmentConfigForOptions): Promise<GetEnrichmentConfigForResponse>;\n  interface GetEnrichmentConfigForOptions {\n      channel?: string;\n      alertType?: AlertType;\n      artifactId?: string | null;\n  }\n  \n  type primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfig = EnrichmentConfig;\n  type primeAutoV1EnrichmentConfig_universal_d_EnrichmentSource = EnrichmentSource;\n  const primeAutoV1EnrichmentConfig_universal_d_EnrichmentSource: typeof EnrichmentSource;\n  type primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigType = EnrichmentConfigType;\n  const primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigType: typeof EnrichmentConfigType;\n  type primeAutoV1EnrichmentConfig_universal_d_EnrichmentType = EnrichmentType;\n  const primeAutoV1EnrichmentConfig_universal_d_EnrichmentType: typeof EnrichmentType;\n  type primeAutoV1EnrichmentConfig_universal_d_AlertType = AlertType;\n  const primeAutoV1EnrichmentConfig_universal_d_AlertType: typeof AlertType;\n  type primeAutoV1EnrichmentConfig_universal_d_CreateEnrichmentConfigRequest = CreateEnrichmentConfigRequest;\n  type primeAutoV1EnrichmentConfig_universal_d_CreateEnrichmentConfigRequestCreateWithPropertiesOneOf = CreateEnrichmentConfigRequestCreateWithPropertiesOneOf;\n  type primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigBase = EnrichmentConfigBase;\n  type primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigOverride = EnrichmentConfigOverride;\n  type primeAutoV1EnrichmentConfig_universal_d_CreateEnrichmentConfigResponse = CreateEnrichmentConfigResponse;\n  type primeAutoV1EnrichmentConfig_universal_d_GetEnrichmentConfigRequest = GetEnrichmentConfigRequest;\n  type primeAutoV1EnrichmentConfig_universal_d_GetEnrichmentConfigResponse = GetEnrichmentConfigResponse;\n  type primeAutoV1EnrichmentConfig_universal_d_ListEnrichmentConfigRequest = ListEnrichmentConfigRequest;\n  type primeAutoV1EnrichmentConfig_universal_d_ListEnrichmentConfigResponse = ListEnrichmentConfigResponse;\n  type primeAutoV1EnrichmentConfig_universal_d_ListAllEnrichmentConfigRequest = ListAllEnrichmentConfigRequest;\n  type primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigRequest = UpdateEnrichmentConfigRequest;\n  type primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigRequestEnrichmentConfigUpdateOneOf = UpdateEnrichmentConfigRequestEnrichmentConfigUpdateOneOf;\n  type primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigOverrideUpdate = EnrichmentConfigOverrideUpdate;\n  type primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigBaseUpdate = EnrichmentConfigBaseUpdate;\n  type primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigResponse = UpdateEnrichmentConfigResponse;\n  type primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigShowRequest = UpdateEnrichmentConfigShowRequest;\n  type primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigShowResponse = UpdateEnrichmentConfigShowResponse;\n  type primeAutoV1EnrichmentConfig_universal_d_DeleteEnrichmentConfigRequest = DeleteEnrichmentConfigRequest;\n  type primeAutoV1EnrichmentConfig_universal_d_DeleteEnrichmentConfigResponse = DeleteEnrichmentConfigResponse;\n  type primeAutoV1EnrichmentConfig_universal_d_QueryEnrichmentConfigRequest = QueryEnrichmentConfigRequest;\n  type primeAutoV1EnrichmentConfig_universal_d_QueryV2 = QueryV2;\n  type primeAutoV1EnrichmentConfig_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type primeAutoV1EnrichmentConfig_universal_d_Sorting = Sorting;\n  type primeAutoV1EnrichmentConfig_universal_d_SortOrder = SortOrder;\n  const primeAutoV1EnrichmentConfig_universal_d_SortOrder: typeof SortOrder;\n  type primeAutoV1EnrichmentConfig_universal_d_Paging = Paging;\n  type primeAutoV1EnrichmentConfig_universal_d_CursorPaging = CursorPaging;\n  type primeAutoV1EnrichmentConfig_universal_d_QueryEnrichmentConfigResponse = QueryEnrichmentConfigResponse;\n  type primeAutoV1EnrichmentConfig_universal_d_GetEnrichmentConfigForRequest = GetEnrichmentConfigForRequest;\n  type primeAutoV1EnrichmentConfig_universal_d_GetEnrichmentConfigForResponse = GetEnrichmentConfigForResponse;\n  type primeAutoV1EnrichmentConfig_universal_d_DomainEvent = DomainEvent;\n  type primeAutoV1EnrichmentConfig_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type primeAutoV1EnrichmentConfig_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type primeAutoV1EnrichmentConfig_universal_d_RestoreInfo = RestoreInfo;\n  type primeAutoV1EnrichmentConfig_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type primeAutoV1EnrichmentConfig_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type primeAutoV1EnrichmentConfig_universal_d_ActionEvent = ActionEvent;\n  type primeAutoV1EnrichmentConfig_universal_d_MessageEnvelope = MessageEnvelope;\n  type primeAutoV1EnrichmentConfig_universal_d_IdentificationData = IdentificationData;\n  type primeAutoV1EnrichmentConfig_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type primeAutoV1EnrichmentConfig_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const primeAutoV1EnrichmentConfig_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const primeAutoV1EnrichmentConfig_universal_d_createEnrichmentConfig: typeof createEnrichmentConfig;\n  type primeAutoV1EnrichmentConfig_universal_d_CreateEnrichmentConfigOptions = CreateEnrichmentConfigOptions;\n  const primeAutoV1EnrichmentConfig_universal_d_getEnrichmentConfig: typeof getEnrichmentConfig;\n  const primeAutoV1EnrichmentConfig_universal_d_listEnrichmentConfig: typeof listEnrichmentConfig;\n  type primeAutoV1EnrichmentConfig_universal_d_ListEnrichmentConfigOptions = ListEnrichmentConfigOptions;\n  const primeAutoV1EnrichmentConfig_universal_d_listAllEnrichmentConfig: typeof listAllEnrichmentConfig;\n  const primeAutoV1EnrichmentConfig_universal_d_updateEnrichmentConfig: typeof updateEnrichmentConfig;\n  type primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigOptions = UpdateEnrichmentConfigOptions;\n  const primeAutoV1EnrichmentConfig_universal_d_updateEnrichmentConfigShow: typeof updateEnrichmentConfigShow;\n  type primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigShowIdentifiers = UpdateEnrichmentConfigShowIdentifiers;\n  const primeAutoV1EnrichmentConfig_universal_d_deleteEnrichmentConfig: typeof deleteEnrichmentConfig;\n  type primeAutoV1EnrichmentConfig_universal_d_DeleteEnrichmentConfigOptions = DeleteEnrichmentConfigOptions;\n  const primeAutoV1EnrichmentConfig_universal_d_queryEnrichmentConfig: typeof queryEnrichmentConfig;\n  const primeAutoV1EnrichmentConfig_universal_d_getEnrichmentConfigFor: typeof getEnrichmentConfigFor;\n  type primeAutoV1EnrichmentConfig_universal_d_GetEnrichmentConfigForOptions = GetEnrichmentConfigForOptions;\n  namespace primeAutoV1EnrichmentConfig_universal_d {\n    export {\n      primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfig as EnrichmentConfig,\n      primeAutoV1EnrichmentConfig_universal_d_EnrichmentSource as EnrichmentSource,\n      primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigType as EnrichmentConfigType,\n      primeAutoV1EnrichmentConfig_universal_d_EnrichmentType as EnrichmentType,\n      primeAutoV1EnrichmentConfig_universal_d_AlertType as AlertType,\n      primeAutoV1EnrichmentConfig_universal_d_CreateEnrichmentConfigRequest as CreateEnrichmentConfigRequest,\n      primeAutoV1EnrichmentConfig_universal_d_CreateEnrichmentConfigRequestCreateWithPropertiesOneOf as CreateEnrichmentConfigRequestCreateWithPropertiesOneOf,\n      primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigBase as EnrichmentConfigBase,\n      primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigOverride as EnrichmentConfigOverride,\n      primeAutoV1EnrichmentConfig_universal_d_CreateEnrichmentConfigResponse as CreateEnrichmentConfigResponse,\n      primeAutoV1EnrichmentConfig_universal_d_GetEnrichmentConfigRequest as GetEnrichmentConfigRequest,\n      primeAutoV1EnrichmentConfig_universal_d_GetEnrichmentConfigResponse as GetEnrichmentConfigResponse,\n      primeAutoV1EnrichmentConfig_universal_d_ListEnrichmentConfigRequest as ListEnrichmentConfigRequest,\n      primeAutoV1EnrichmentConfig_universal_d_ListEnrichmentConfigResponse as ListEnrichmentConfigResponse,\n      primeAutoV1EnrichmentConfig_universal_d_ListAllEnrichmentConfigRequest as ListAllEnrichmentConfigRequest,\n      primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigRequest as UpdateEnrichmentConfigRequest,\n      primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigRequestEnrichmentConfigUpdateOneOf as UpdateEnrichmentConfigRequestEnrichmentConfigUpdateOneOf,\n      primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigOverrideUpdate as EnrichmentConfigOverrideUpdate,\n      primeAutoV1EnrichmentConfig_universal_d_EnrichmentConfigBaseUpdate as EnrichmentConfigBaseUpdate,\n      primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigResponse as UpdateEnrichmentConfigResponse,\n      primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigShowRequest as UpdateEnrichmentConfigShowRequest,\n      primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigShowResponse as UpdateEnrichmentConfigShowResponse,\n      primeAutoV1EnrichmentConfig_universal_d_DeleteEnrichmentConfigRequest as DeleteEnrichmentConfigRequest,\n      primeAutoV1EnrichmentConfig_universal_d_DeleteEnrichmentConfigResponse as DeleteEnrichmentConfigResponse,\n      primeAutoV1EnrichmentConfig_universal_d_QueryEnrichmentConfigRequest as QueryEnrichmentConfigRequest,\n      primeAutoV1EnrichmentConfig_universal_d_QueryV2 as QueryV2,\n      primeAutoV1EnrichmentConfig_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      primeAutoV1EnrichmentConfig_universal_d_Sorting as Sorting,\n      primeAutoV1EnrichmentConfig_universal_d_SortOrder as SortOrder,\n      primeAutoV1EnrichmentConfig_universal_d_Paging as Paging,\n      primeAutoV1EnrichmentConfig_universal_d_CursorPaging as CursorPaging,\n      primeAutoV1EnrichmentConfig_universal_d_QueryEnrichmentConfigResponse as QueryEnrichmentConfigResponse,\n      primeAutoV1EnrichmentConfig_universal_d_GetEnrichmentConfigForRequest as GetEnrichmentConfigForRequest,\n      primeAutoV1EnrichmentConfig_universal_d_GetEnrichmentConfigForResponse as GetEnrichmentConfigForResponse,\n      primeAutoV1EnrichmentConfig_universal_d_DomainEvent as DomainEvent,\n      primeAutoV1EnrichmentConfig_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      primeAutoV1EnrichmentConfig_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      primeAutoV1EnrichmentConfig_universal_d_RestoreInfo as RestoreInfo,\n      primeAutoV1EnrichmentConfig_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      primeAutoV1EnrichmentConfig_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      primeAutoV1EnrichmentConfig_universal_d_ActionEvent as ActionEvent,\n      primeAutoV1EnrichmentConfig_universal_d_MessageEnvelope as MessageEnvelope,\n      primeAutoV1EnrichmentConfig_universal_d_IdentificationData as IdentificationData,\n      primeAutoV1EnrichmentConfig_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      primeAutoV1EnrichmentConfig_universal_d_WebhookIdentityType as WebhookIdentityType,\n      primeAutoV1EnrichmentConfig_universal_d_createEnrichmentConfig as createEnrichmentConfig,\n      primeAutoV1EnrichmentConfig_universal_d_CreateEnrichmentConfigOptions as CreateEnrichmentConfigOptions,\n      primeAutoV1EnrichmentConfig_universal_d_getEnrichmentConfig as getEnrichmentConfig,\n      primeAutoV1EnrichmentConfig_universal_d_listEnrichmentConfig as listEnrichmentConfig,\n      primeAutoV1EnrichmentConfig_universal_d_ListEnrichmentConfigOptions as ListEnrichmentConfigOptions,\n      primeAutoV1EnrichmentConfig_universal_d_listAllEnrichmentConfig as listAllEnrichmentConfig,\n      primeAutoV1EnrichmentConfig_universal_d_updateEnrichmentConfig as updateEnrichmentConfig,\n      primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigOptions as UpdateEnrichmentConfigOptions,\n      primeAutoV1EnrichmentConfig_universal_d_updateEnrichmentConfigShow as updateEnrichmentConfigShow,\n      primeAutoV1EnrichmentConfig_universal_d_UpdateEnrichmentConfigShowIdentifiers as UpdateEnrichmentConfigShowIdentifiers,\n      primeAutoV1EnrichmentConfig_universal_d_deleteEnrichmentConfig as deleteEnrichmentConfig,\n      primeAutoV1EnrichmentConfig_universal_d_DeleteEnrichmentConfigOptions as DeleteEnrichmentConfigOptions,\n      primeAutoV1EnrichmentConfig_universal_d_queryEnrichmentConfig as queryEnrichmentConfig,\n      primeAutoV1EnrichmentConfig_universal_d_getEnrichmentConfigFor as getEnrichmentConfigFor,\n      primeAutoV1EnrichmentConfig_universal_d_GetEnrichmentConfigForOptions as GetEnrichmentConfigForOptions,\n    };\n  }\n  \n  export { primeAutoV1EnrichmentConfig_universal_d as config };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-question-backend.d.ts",
      "content": "declare module \"wix-question-backend\" {\n  interface Question {\n      _id?: string | null;\n      author?: string | null;\n      content?: string;\n      status?: Status;\n      /** @readonly */\n      upvotes?: string;\n      spicyWords?: string[];\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n  }\n  enum Status {\n      SUBMITTED = \"SUBMITTED\",\n      ACCEPTED = \"ACCEPTED\",\n      REJECTED = \"REJECTED\",\n      ANSWERED = \"ANSWERED\"\n  }\n  interface CreateQuestionResponse {\n      question?: Question;\n  }\n  interface GetQuestionResponse {\n      question?: Question;\n  }\n  interface UpdateQuestionResponse {\n      question?: Question;\n  }\n  interface DeleteQuestionResponse {\n  }\n  interface QueryV2 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       *\n       * Defaults to `ASC`.\n       */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /**\n       * The number of items to load.\n       * Cursor token returned in the query response. To be used on the next query request, but not the first query request.\n       */\n      limit?: number | null;\n      /** Cursor returned in last query response. Should not be provided on first page request */\n      cursor?: string | null;\n  }\n  interface QueryQuestionResponse {\n      questions?: Question[];\n  }\n  interface QuestionsFeedResponse {\n      questions?: FeedQuestion[];\n  }\n  interface FeedQuestion {\n      _id?: string | null;\n      /** @readonly */\n      author?: string | null;\n      /** @readonly */\n      content?: string;\n      /** @readonly */\n      upvotes?: string;\n      upvotedByMe?: boolean;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n  }\n  interface UpvoteResponse {\n  }\n  interface UpdateQuestionQuestion {\n      author?: string | null;\n      content?: string;\n      status?: Status;\n      /** @readonly */\n      upvotes?: string;\n      spicyWords?: string[];\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n  }\n  interface UpdateQuestionOptions {\n      mask?: string[];\n  }\n  interface UpvoteOptions {\n      redeemVote?: boolean;\n  }\n  \n  function createQuestion(question: Question): Promise<CreateQuestionResponse>;\n  function getQuestion(questionId: string): Promise<GetQuestionResponse>;\n  function updateQuestion(_id: string | null, question: UpdateQuestionQuestion, options: UpdateQuestionOptions): Promise<UpdateQuestionResponse>;\n  function deleteQuestion(questionId: string, revision: string): Promise<DeleteQuestionResponse>;\n  function queryQuestion(query: QueryV2): Promise<QueryQuestionResponse>;\n  function questionsFeed(): Promise<QuestionsFeedResponse>;\n  function upvote(questionId: string, options: UpvoteOptions): Promise<UpvoteResponse>;\n  \n  const keynoteQuestionsV1Question_backend_d_createQuestion: typeof createQuestion;\n  const keynoteQuestionsV1Question_backend_d_getQuestion: typeof getQuestion;\n  const keynoteQuestionsV1Question_backend_d_updateQuestion: typeof updateQuestion;\n  const keynoteQuestionsV1Question_backend_d_deleteQuestion: typeof deleteQuestion;\n  const keynoteQuestionsV1Question_backend_d_queryQuestion: typeof queryQuestion;\n  const keynoteQuestionsV1Question_backend_d_questionsFeed: typeof questionsFeed;\n  const keynoteQuestionsV1Question_backend_d_upvote: typeof upvote;\n  namespace keynoteQuestionsV1Question_backend_d {\n    export {\n      keynoteQuestionsV1Question_backend_d_createQuestion as createQuestion,\n      keynoteQuestionsV1Question_backend_d_getQuestion as getQuestion,\n      keynoteQuestionsV1Question_backend_d_updateQuestion as updateQuestion,\n      keynoteQuestionsV1Question_backend_d_deleteQuestion as deleteQuestion,\n      keynoteQuestionsV1Question_backend_d_queryQuestion as queryQuestion,\n      keynoteQuestionsV1Question_backend_d_questionsFeed as questionsFeed,\n      keynoteQuestionsV1Question_backend_d_upvote as upvote,\n    };\n  }\n  \n  export { keynoteQuestionsV1Question_backend_d as wixKeynoteQuestionsV1Question };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-bobs-backend.d.ts",
      "content": "declare module \"wix-bobs-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Wishlist is the main entity of WishlistService that can be used for lorem ipsum dolor */\n  interface Wishlist {\n      /** Wishlist ID */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Wishlist was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Wishlist was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** An uppercase lorem ipsum dolor for your convenience */\n      loremUppercase?: string;\n      /** Just an ipsum, may be null */\n      ipsum?: string | null;\n      /** Business address */\n      businessAddress?: string;\n  }\n  interface CreateWishlistRequest {\n      /** Wishlist to be created */\n      wishlist: Wishlist;\n  }\n  interface CreateWishlistResponse {\n      /** The created Wishlist */\n      wishlist?: Wishlist;\n  }\n  interface GetWishlistRequest {\n      /** Id of the Wishlist to retrieve */\n      wishlistId: string;\n  }\n  interface GetWishlistResponse {\n      /** The retrieved Wishlist */\n      wishlist?: Wishlist;\n  }\n  interface UpdateWishlistRequest {\n      /** Wishlist to be updated, may be partial */\n      wishlist: Wishlist;\n      /** Explicit list of fields to update */\n      mask?: string[];\n  }\n  interface UpdateWishlistResponse {\n      /** The updated Wishlist */\n      wishlist?: Wishlist;\n  }\n  interface DeleteWishlistRequest {\n      /** Id of the Wishlist to delete */\n      wishlistId: string;\n      /** The revision of the Wishlist */\n      revision?: string;\n  }\n  interface DeleteWishlistResponse {\n  }\n  interface QueryWishlistRequest {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryWishlistResponse {\n      /** The retrieved Wishlists */\n      wishlists?: Wishlist[];\n  }\n  /**\n   * Creates a new Wishlist\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param wishlist - Wishlist to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField wishlist\n   * @adminMethod\n   */\n  function createWishlist(wishlist: Wishlist): Promise<CreateWishlistResponse>;\n  /**\n   * Get a Wishlist by id\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param wishlistId - Id of the Wishlist to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField wishlistId\n   * @adminMethod\n   */\n  function getWishlist(wishlistId: string): Promise<GetWishlistResponse>;\n  /**\n   * Update a Wishlist, supports partial update\n   * Pass the latest `revision` for a successful update\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param _id - Wishlist ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField wishlist\n   * @requiredField wishlist.revision\n   * @adminMethod\n   */\n  function updateWishlist(_id: string | null, wishlist: UpdateWishlist, options?: UpdateWishlistOptions): Promise<UpdateWishlistResponse>;\n  interface UpdateWishlist {\n      /** Wishlist ID */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Wishlist was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Wishlist was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** An uppercase lorem ipsum dolor for your convenience */\n      loremUppercase?: string;\n      /** Just an ipsum, may be null */\n      ipsum?: string | null;\n      /** Business address */\n      businessAddress?: string;\n  }\n  interface UpdateWishlistOptions {\n      /** Explicit list of fields to update */\n      mask?: string[];\n  }\n  /**\n   * Delete a Wishlist\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param wishlistId - Id of the Wishlist to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField wishlistId\n   * @adminMethod\n   */\n  function deleteWishlist(wishlistId: string, options?: DeleteWishlistOptions): Promise<void>;\n  interface DeleteWishlistOptions {\n      /** The revision of the Wishlist */\n      revision?: string;\n  }\n  /**\n   * Query Wishlists using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param query - WQL expression\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @adminMethod\n   */\n  function queryWishlist(query: QueryV2): Promise<QueryWishlistResponse>;\n  \n  export { CreateWishlistRequest, CreateWishlistResponse, CursorPaging, DeleteWishlistOptions, DeleteWishlistRequest, DeleteWishlistResponse, GetWishlistRequest, GetWishlistResponse, Paging, QueryV2, QueryV2PagingMethodOneOf, QueryWishlistRequest, QueryWishlistResponse, SortOrder, Sorting, UpdateWishlist, UpdateWishlistOptions, UpdateWishlistRequest, UpdateWishlistResponse, Wishlist, __debug, createWishlist, deleteWishlist, getWishlist, queryWishlist, updateWishlist };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-freds-backend.d.ts",
      "content": "declare module \"wix-freds-backend\" {\n  /** Wishlist is the main entity of WishlistService that can be used for lorem ipsum dolor */\n  interface Wishlist {\n      /** Wishlist ID */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Wishlist was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Wishlist was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** An uppercase lorem ipsum dolor for your convenience */\n      loremUppercase?: string;\n      /** Just an ipsum, may be null */\n      ipsum?: string | null;\n      /** Business address */\n      businessAddress?: string;\n  }\n  interface CreateWishlistResponse {\n      /** The created Wishlist */\n      wishlist?: Wishlist;\n  }\n  interface GetWishlistResponse {\n      /** The retrieved Wishlist */\n      wishlist?: Wishlist;\n  }\n  interface UpdateWishlistResponse {\n      /** The updated Wishlist */\n      wishlist?: Wishlist;\n  }\n  interface DeleteWishlistResponse {\n  }\n  interface QueryV2 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryWishlistResponse {\n      /** The retrieved Wishlists */\n      wishlists?: Wishlist[];\n  }\n  interface UpdateWishlistWishlist {\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Wishlist was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Wishlist was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** An uppercase lorem ipsum dolor for your convenience */\n      loremUppercase?: string;\n      /** Just an ipsum, may be null */\n      ipsum?: string | null;\n      /** Business address */\n      businessAddress?: string;\n  }\n  interface UpdateWishlistOptions {\n      mask?: string[];\n  }\n  interface DeleteWishlistOptions {\n      revision?: string;\n  }\n  \n  function createWishlist(wishlist: Wishlist): Promise<CreateWishlistResponse>;\n  function getWishlist(wishlistId: string): Promise<GetWishlistResponse>;\n  function updateWishlist(_id: string | null, wishlist: UpdateWishlistWishlist, options: UpdateWishlistOptions): Promise<UpdateWishlistResponse>;\n  function deleteWishlist(wishlistId: string, options: DeleteWishlistOptions): Promise<DeleteWishlistResponse>;\n  function queryWishlist(query: QueryV2): Promise<QueryWishlistResponse>;\n  \n  export { createWishlist, deleteWishlist, getWishlist, queryWishlist, updateWishlist };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-ratings-definition-backend.d.ts",
      "content": "declare module \"wix-ratings-definition-backend\" {\n  /** Definitions provide settings for ratings. */\n  interface Definition {\n      /**\n       * Definition ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Definition's namespace (the context of rated entities e.g. store). */\n      namespace?: string;\n      /** Definition's entity ID (the specific category of rated entities within their context, e.g. sports shoes). */\n      entityId?: string;\n      /** Attribute settings. */\n      attributeSettings?: AttributeSetting[];\n      /**\n       * Represents the time this definition was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this definition was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  interface AttributeSetting {\n      /** Attribute ID. Must be unique across all attributes in definition. */\n      _id?: string | null;\n      /** Range settings. */\n      rangeSetting?: RangeSetting;\n  }\n  interface RangeSetting {\n      /** Minimum (inclusive) value for this attribute. */\n      from?: number;\n      /** Maximum (inclusive) value for this attribute. */\n      to?: number;\n  }\n  interface CreateDefinitionResponse {\n      /** The created definition. */\n      definition?: Definition;\n  }\n  interface GetDefinitionResponse {\n      /** The retrieved definition. */\n      definition?: Definition;\n  }\n  interface GetEntityDefinitionResponse {\n      /** The retrieved definition. */\n      definition?: Definition;\n  }\n  interface UpdateDefinitionResponse {\n      /** The updated definition. */\n      definition?: Definition;\n  }\n  interface DeleteDefinitionResponse {\n  }\n  interface GetEntityDefinitionIdentifiers {\n      namespace: string;\n      entityId: string;\n  }\n  interface UpdateDefinitionDefinition {\n      /**\n       * Definition ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Definition's namespace (the context of rated entities e.g. store). */\n      namespace?: string;\n      /** Definition's entity ID (the specific category of rated entities within their context, e.g. sports shoes). */\n      entityId?: string;\n      /** Attribute settings. */\n      attributeSettings?: AttributeSetting[];\n      /**\n       * Represents the time this definition was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this definition was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  interface UpdateDefinitionOptions {\n      mask?: string[];\n  }\n  \n  function createDefinition(definition: Definition): Promise<CreateDefinitionResponse>;\n  function getDefinition(definitionId: string): Promise<GetDefinitionResponse>;\n  function getEntityDefinition(identifiers: GetEntityDefinitionIdentifiers): Promise<GetEntityDefinitionResponse>;\n  function updateDefinition(_id: string | null, definition: UpdateDefinitionDefinition, options: UpdateDefinitionOptions): Promise<UpdateDefinitionResponse>;\n  function deleteDefinition(definitionId: string, revision: string): Promise<DeleteDefinitionResponse>;\n  \n  export { createDefinition, deleteDefinition, getDefinition, getEntityDefinition, updateDefinition };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-echo-backend.d.ts",
      "content": "declare module \"wix-echo-backend\" {\n  interface CalculateMessage {\n      /** result of the calculation */\n      number?: number;\n      /** message comment from the operation */\n      message?: string;\n      /** fake entity id */\n      _id?: string;\n  }\n  interface CalculateRequest {\n      /** 1st number to calculate */\n      arg1: number;\n      /** 2nd number to calculate */\n      arg2: number;\n      /** operation to perform */\n      operation: CalculateOperation;\n  }\n  enum CalculateOperation {\n      UNDEFINED = \"UNDEFINED\",\n      ADD = \"ADD\",\n      SUBTRACT = \"SUBTRACT\"\n  }\n  interface CalculateResponse {\n      result?: CalculateMessage;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.arg1\n   * @requiredField identifiers.arg2\n   * @requiredField identifiers.operation\n   * @adminMethod\n   */\n  function calculate(identifiers: CalculateIdentifiers): Promise<CalculateResponse>;\n  interface CalculateIdentifiers {\n      /** 1st number to calculate */\n      arg1: number;\n      /** 2nd number to calculate */\n      arg2: number;\n      /** operation to perform */\n      operation: CalculateOperation;\n  }\n  \n  type metroinspectorV1Calculator_universal_d_CalculateMessage = CalculateMessage;\n  type metroinspectorV1Calculator_universal_d_CalculateRequest = CalculateRequest;\n  type metroinspectorV1Calculator_universal_d_CalculateOperation = CalculateOperation;\n  const metroinspectorV1Calculator_universal_d_CalculateOperation: typeof CalculateOperation;\n  type metroinspectorV1Calculator_universal_d_CalculateResponse = CalculateResponse;\n  const metroinspectorV1Calculator_universal_d_calculate: typeof calculate;\n  type metroinspectorV1Calculator_universal_d_CalculateIdentifiers = CalculateIdentifiers;\n  namespace metroinspectorV1Calculator_universal_d {\n    export {\n      metroinspectorV1Calculator_universal_d_CalculateMessage as CalculateMessage,\n      metroinspectorV1Calculator_universal_d_CalculateRequest as CalculateRequest,\n      metroinspectorV1Calculator_universal_d_CalculateOperation as CalculateOperation,\n      metroinspectorV1Calculator_universal_d_CalculateResponse as CalculateResponse,\n      metroinspectorV1Calculator_universal_d_calculate as calculate,\n      metroinspectorV1Calculator_universal_d_CalculateIdentifiers as CalculateIdentifiers,\n    };\n  }\n  \n  interface MessageItem {\n      /** inner_message comment from EchoMessage proto def */\n      innerMessage?: string;\n  }\n  interface EchoRequest {\n      /** 1st part of the message */\n      arg1: string;\n      /** 2nd part of the message */\n      arg2?: string;\n      /** this field test translatable annotation */\n      titleField?: string;\n      someInt32?: number;\n      someDate?: Date | null;\n  }\n  interface EchoResponse {\n      /**\n       * override EchoResponse.echoMessage\n       *\n       */\n      echoMessage?: EchoMessage;\n      /** messge reseult as string */\n      message?: string;\n  }\n  interface Dispatched {\n      /** the message someone says */\n      echo?: EchoMessage;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface EchoMessage {\n      veloMessage: string;\n      id: string;\n  }\n  /**\n   * Another override description function 4\n   * @param arg1 - 1st part of the message\n   * @public\n   * @documentationMaturity preview\n   * @requiredField arg1\n   * @param arg2 - modified comment for arg2 el hovav\n   * @adminMethod\n   * @returns ## override return 4\n   */\n  function echo(arg1: string, options?: EchoOptions): Promise<string>;\n  interface EchoOptions {\n      /** 2nd part of the message */\n      arg2?: string;\n      /** this field test translatable annotation */\n      titleField?: string;\n      someInt32?: number;\n      someDate?: Date | null;\n  }\n  \n  type metroinspectorV1Echo_universal_d_MessageItem = MessageItem;\n  type metroinspectorV1Echo_universal_d_EchoRequest = EchoRequest;\n  type metroinspectorV1Echo_universal_d_EchoResponse = EchoResponse;\n  type metroinspectorV1Echo_universal_d_Dispatched = Dispatched;\n  type metroinspectorV1Echo_universal_d_DomainEvent = DomainEvent;\n  type metroinspectorV1Echo_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type metroinspectorV1Echo_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type metroinspectorV1Echo_universal_d_RestoreInfo = RestoreInfo;\n  type metroinspectorV1Echo_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type metroinspectorV1Echo_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type metroinspectorV1Echo_universal_d_ActionEvent = ActionEvent;\n  type metroinspectorV1Echo_universal_d_MessageEnvelope = MessageEnvelope;\n  type metroinspectorV1Echo_universal_d_IdentificationData = IdentificationData;\n  type metroinspectorV1Echo_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type metroinspectorV1Echo_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const metroinspectorV1Echo_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type metroinspectorV1Echo_universal_d_EchoMessage = EchoMessage;\n  const metroinspectorV1Echo_universal_d_echo: typeof echo;\n  type metroinspectorV1Echo_universal_d_EchoOptions = EchoOptions;\n  namespace metroinspectorV1Echo_universal_d {\n    export {\n      metroinspectorV1Echo_universal_d_MessageItem as MessageItem,\n      metroinspectorV1Echo_universal_d_EchoRequest as EchoRequest,\n      metroinspectorV1Echo_universal_d_EchoResponse as EchoResponse,\n      metroinspectorV1Echo_universal_d_Dispatched as Dispatched,\n      metroinspectorV1Echo_universal_d_DomainEvent as DomainEvent,\n      metroinspectorV1Echo_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      metroinspectorV1Echo_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      metroinspectorV1Echo_universal_d_RestoreInfo as RestoreInfo,\n      metroinspectorV1Echo_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      metroinspectorV1Echo_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      metroinspectorV1Echo_universal_d_ActionEvent as ActionEvent,\n      metroinspectorV1Echo_universal_d_MessageEnvelope as MessageEnvelope,\n      metroinspectorV1Echo_universal_d_IdentificationData as IdentificationData,\n      metroinspectorV1Echo_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      metroinspectorV1Echo_universal_d_WebhookIdentityType as WebhookIdentityType,\n      metroinspectorV1Echo_universal_d_EchoMessage as EchoMessage,\n      metroinspectorV1Echo_universal_d_echo as echo,\n      metroinspectorV1Echo_universal_d_EchoOptions as EchoOptions,\n    };\n  }\n  \n  export { metroinspectorV1Calculator_universal_d as calculator, metroinspectorV1Echo_universal_d as metroinspector };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-backend.d.ts",
      "content": "declare module \"wix-restaurants-backend\" {\n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * `Operation` is the main entity of `OperationsService`.\n   * It represents a restaurant operation and encompasses various aspects of its online ordering.\n   */\n  interface Operation extends OperationOnlineOrderingStatusOptionsOneOf {\n      /** Data related to the `PAUSED_UNTIL` status. */\n      pausedUntilOptions?: OnlineOrderingPausedUntilOptions;\n      /**\n       * The ID of the operation.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Timestamp at which the operation was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Timestamp at which the operation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** The operation name. */\n      name?: string | null;\n      /** An indication of whether the operation is enabled or not. */\n      enabled?: boolean | null;\n      /**\n       * The scheduling data for this operation.\n       * Scheduling specifies the time-related aspects of order placement.\n       */\n      scheduling?: Scheduling;\n      /**\n       * The profile ID associated with this operation.\n       * TODO: talk with the tech writer to understand how best to document this field..\n       */\n      profileId?: string | null;\n      /** An indication of whether this operation is the default one. */\n      default?: boolean | null;\n      /** The ids of the fulfillment methods associated with this operation. */\n      fulfillmentIds?: string[] | null;\n      /** The ids of the service fee rules associated with this operation. */\n      serviceFeeRulesIds?: string[] | null;\n      /** The online ordering status of this operation. */\n      onlineOrderingStatus?: OnlineOrderingStatusType;\n  }\n  /** @oneof */\n  interface OperationOnlineOrderingStatusOptionsOneOf {\n      /** Data related to the `PAUSED_UNTIL` status. */\n      pausedUntilOptions?: OnlineOrderingPausedUntilOptions;\n  }\n  /** Represents the time-related aspects of order placement. */\n  interface Scheduling extends SchedulingSchedulingOptionsOneOf {\n      /** Data related to the `ASAP` scheduling type. */\n      asapOptions?: AsapScheduling;\n      /** Data related to the `PREORDER` scheduling type. */\n      preorderOptions?: PreorderScheduling;\n      /** The scheduling type. */\n      type?: SchedulingType;\n  }\n  /** @oneof */\n  interface SchedulingSchedulingOptionsOneOf {\n      /** Data related to the `ASAP` scheduling type. */\n      asapOptions?: AsapScheduling;\n      /** Data related to the `PREORDER` scheduling type. */\n      preorderOptions?: PreorderScheduling;\n  }\n  /** Scheduling type enum. */\n  enum SchedulingType {\n      /** Unknown scheduling type. */\n      UNKNOWN_SCHEDULING = \"UNKNOWN_SCHEDULING\",\n      /**\n       * Asap scheduling type.\n       * Refers to scheduling orders for as soon as possible handling or for a future time.\n       */\n      ASAP = \"ASAP\",\n      /**\n       * Preorder scheduling type.\n       * Refers to scheduling orders for a future time only.\n       */\n      PREORDER = \"PREORDER\"\n  }\n  /** Data related to `ASAP` scheduling type. */\n  interface AsapScheduling extends AsapSchedulingPreparationTimeOneOf, AsapSchedulingAsapPreorderOneOf {\n      /**\n       * Data related to the `MAX` preparation time type.\n       * The preparation time is bounded by a maximum time duration.\n       */\n      maxOptions?: TimeDuration;\n      /**\n       * Data related to the `RANGE` preparation time type.\n       * The preparation time is bounded by a range of time durations.\n       */\n      rangeOptions?: TimeDurationRange;\n      /** Data related to the `BUSINESS_DAYS_PREORDER` asap preorder type. */\n      businessDaysPreorderOptions?: BusinessDaysPreorder;\n      /** The type of the preparation time. */\n      type?: PreparationTimeType;\n      /** An indication of whether it is possible to place an order for a later time on the same day. */\n      allowSameDayPreorder?: boolean | null;\n      /** The type of preorder allowed for the ASAP scheduling. */\n      asapPreorderType?: AsapPreorderType;\n  }\n  /** @oneof */\n  interface AsapSchedulingPreparationTimeOneOf {\n      /**\n       * Data related to the `MAX` preparation time type.\n       * The preparation time is bounded by a maximum time duration.\n       */\n      maxOptions?: TimeDuration;\n      /**\n       * Data related to the `RANGE` preparation time type.\n       * The preparation time is bounded by a range of time durations.\n       */\n      rangeOptions?: TimeDurationRange;\n  }\n  /** @oneof */\n  interface AsapSchedulingAsapPreorderOneOf {\n      /** Data related to the `BUSINESS_DAYS_PREORDER` asap preorder type. */\n      businessDaysPreorderOptions?: BusinessDaysPreorder;\n  }\n  /** Preparation time type enum. */\n  enum PreparationTimeType {\n      /** Unknown preparation time type. */\n      UNKNOWN_PREPARATION_TIME = \"UNKNOWN_PREPARATION_TIME\",\n      /**\n       * Max preparation time type.\n       * Refers to a preparation time that is bounded by a maximum time.\n       */\n      MAX = \"MAX\",\n      /**\n       * Range preparation time type.\n       * Refers to a preparation time that is bounded by a range of times.\n       */\n      RANGE = \"RANGE\"\n  }\n  /** Represents a time duration. */\n  interface TimeDuration {\n      /** The time unit for the duration. */\n      timeUnit?: TimeUnit;\n      /**\n       * The duration value.\n       * Specified in the unit given in the `time_unit` field.\n       */\n      duration?: number | null;\n  }\n  /** Time unit enum. */\n  enum TimeUnit {\n      /** Unknown time unit. */\n      UNKNOWN_TIME_UNIT = \"UNKNOWN_TIME_UNIT\",\n      /** Minutes time unit. */\n      MINUTES = \"MINUTES\",\n      /** Hours time unit. */\n      HOURS = \"HOURS\",\n      /** Days time unit. */\n      DAYS = \"DAYS\"\n  }\n  /** Represents a time duration range. */\n  interface TimeDurationRange {\n      /** The time unit for the duration range. */\n      timeUnit?: TimeUnit;\n      /** Starting time value for the scheduling option. */\n      rangeMinimumDuration?: number | null;\n      /** Ending time value for the scheduling option. */\n      rangeMaximumDuration?: number | null;\n      /**\n       * The minimum duration value for the duration range.\n       * Specified in the unit given in the `time_unit` field.\n       */\n      minDuration?: number | null;\n      /**\n       * The maximum duration value for the duration range.\n       * Specified in the unit given in the `time_unit` field.\n       */\n      maxDuration?: number | null;\n  }\n  /** Asap preorder type enum. */\n  enum AsapPreorderType {\n      /** Unknown asap preorder type. */\n      UNKNOWN_ASAP_PREORDER = \"UNKNOWN_ASAP_PREORDER\",\n      /**\n       * No preorder type.\n       * Refers to not allowing to preorder.\n       */\n      NO_PREORDER = \"NO_PREORDER\",\n      /**\n       * Business days preorder type.\n       * Refers to allowing to preorder for a maximum number of business days in advance.\n       */\n      BUSINESS_DAYS_PREORDER = \"BUSINESS_DAYS_PREORDER\"\n  }\n  /** Represents data related to the `BUSINESS_DAYS_PREORDER` asap preorder type. */\n  interface BusinessDaysPreorder {\n      /**\n       * The maximum number of business days in advance an order can be scheduled.\n       * When the given value is 0, it means that an order can be scheduled until the end of the current business day.\n       * for any other value, the order can be scheduled until the end of the given number of business days.\n       */\n      businessDays?: number | null;\n  }\n  /** Data related to `PREORDER` scheduling type. */\n  interface PreorderScheduling {\n      /** The preorder method is the way by which preorders can be made. */\n      method?: PreorderMethod;\n      /** Configuration of how the fulfillment times should be displayed. */\n      fulfillmentTimesDisplayConfig?: FulfillmentTimesDisplayConfig;\n      /** Configuration of how the fulfillment times should be displayed. */\n      fulfillmentTimesDisplay?: FulfillmentTimesDisplayConfig;\n  }\n  /** Represents the preorder method for `PREORDER` scheduling type. */\n  interface PreorderMethod extends PreorderMethodMethodOptionsOneOf {\n      /** Data related to the `TIME_BOUNDED` method type. */\n      timeBoundedOptions?: TimeBounded;\n      /** Data related to the `WEEKLY_SCHEDULE` method type. */\n      weeklyScheduleOptions?: WeeklySchedule;\n      /**\n       * The type of preorder method.\n       * Represents the way by which the preorders can be made.\n       */\n      type?: MethodType;\n  }\n  /** @oneof */\n  interface PreorderMethodMethodOptionsOneOf {\n      /** Data related to the `TIME_BOUNDED` method type. */\n      timeBoundedOptions?: TimeBounded;\n      /** Data related to the `WEEKLY_SCHEDULE` method type. */\n      weeklyScheduleOptions?: WeeklySchedule;\n  }\n  /** Represents a day of week and a time of day. */\n  interface DayAndTime {\n      /** The day of week. */\n      dayOfWeek?: DayOfWeek$6;\n      /** The time of day. */\n      timeOfDay?: TimeOfDay$1;\n  }\n  enum DayOfWeek$6 {\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface TimeOfDay$1 {\n      /** Hours (0-23) */\n      hours?: number;\n      /** Minutes (0-59) */\n      minutes?: number;\n  }\n  /** The preorder method type enum. */\n  enum MethodType {\n      /** Unknown preorder method type. */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /**\n       * Time bounded preorder method type.\n       * Refers to allowing to preorder for a time bounded by a minimum and maximum time in advance.\n       */\n      TIME_BOUNDED = \"TIME_BOUNDED\",\n      /**\n       * Weekly schedule preorder method type.\n       * Refers to allowing to preorder by a weekly schedule given a cutoff time.\n       */\n      WEEKLY_SCHEDULE = \"WEEKLY_SCHEDULE\"\n  }\n  /** Represents data related to `TIME_BOUNDED` preorder method type. */\n  interface TimeBounded {\n      /** The minimum advance time required for scheduling the order. */\n      minimumInAdvanceTime?: TimeDuration;\n      /** The maximum advance time allowed for scheduling the order. */\n      maximumInAdvanceTime?: TimeDuration;\n      /** The minimum advance time required for scheduling the order. */\n      minTimeInAdvance?: TimeDuration;\n      /** The maximum advance time allowed for scheduling the order. */\n      maxTimeInAdvance?: TimeDuration;\n  }\n  /** Represents data related to `WEEKLY_SCHEDULE` preorder method type. */\n  interface WeeklySchedule {\n      /**\n       * The weekly schedule cutoff time.\n       * Orders placed before the cutoff time will be scheduled for the current week.\n       * Orders placed after the cutoff time will be scheduled for the next week.\n       */\n      cutOffTime?: DayAndTime;\n  }\n  /** Represents the way by which the fulfillment times should be displayed. */\n  interface FulfillmentTimesDisplayConfig extends FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf {\n      /** Data related to the `TIME_WINDOWS` fulfillment times type. */\n      timeWindowsOptions?: TimeDuration;\n      /** The type of the fulfillment times. */\n      fulfillmentTimesType?: FulfillmentTimesType;\n      /** The type of the fulfillment times. */\n      type?: FulfillmentTimesType;\n  }\n  /** @oneof */\n  interface FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf {\n      /** Data related to the `TIME_WINDOWS` fulfillment times type. */\n      timeWindowsOptions?: TimeDuration;\n  }\n  /** The fulfillment times type enum. */\n  enum FulfillmentTimesType {\n      /** Unknown fulfillment times type. */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /**\n       * Time windows fulfillment times type.\n       * Refers to displaying fulfillment times as time windows.\n       */\n      TIME_WINDOWS = \"TIME_WINDOWS\"\n  }\n  /** Online ordering status enum. */\n  enum OnlineOrderingStatusType {\n      /** Online ordering status is undefined. */\n      UNDEFINED_ONLINE_ORDERING_STATUS = \"UNDEFINED_ONLINE_ORDERING_STATUS\",\n      /** Online ordering is enabled. */\n      ENABLED = \"ENABLED\",\n      /** Online ordering is disabled. */\n      DISABLED = \"DISABLED\",\n      /** Online ordering is paused until some timestamp. */\n      PAUSED_UNTIL = \"PAUSED_UNTIL\"\n  }\n  /** Data related to the `PAUSED_UNTIL` status in the `online_ordering_status` field. */\n  interface OnlineOrderingPausedUntilOptions {\n      /** Timestamp until which online ordering is paused. */\n      onlineOrderingPausedUntil?: Date;\n  }\n  interface InvalidateCache$2 extends InvalidateCacheGetByOneOf$2 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$2;\n      /** Invalidate by page id */\n      page?: Page$2;\n      /** Invalidate by URI path */\n      uri?: URI$2;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$2 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$2;\n      /** Invalidate by page id */\n      page?: Page$2;\n      /** Invalidate by URI path */\n      uri?: URI$2;\n  }\n  interface App$2 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$2 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$2 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface CreateOperationRequest {\n      /** Operation to create. */\n      operation: Operation;\n  }\n  interface CreateOperationResponse {\n      /** The created operation. */\n      operation?: Operation;\n  }\n  interface GetOperationRequest {\n      /** The ID of the operation to retrieve. */\n      operationId: string;\n  }\n  interface GetOperationResponse {\n      /** The retrieved operation. */\n      operation?: Operation;\n  }\n  interface UpdateOperationRequest {\n      /**\n       * Operation to update.\n       * The operation update may be partial with the use of `field_mask`.\n       */\n      operation: Operation;\n      /**\n       * Field mask of the fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateOperationResponse {\n      /** The updated operation. */\n      operation?: Operation;\n  }\n  interface DeleteOperationRequest {\n      /** The ID of the operation to delete. */\n      operationId: string;\n  }\n  interface DeleteOperationResponse {\n  }\n  interface QueryOperationRequest {\n      /** The query by which to select operations. */\n      query: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryOperationResponse {\n      /** The retrieved operations. */\n      operations?: Operation[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListOperationsRequest {\n  }\n  interface ListOperationsResponse {\n      /** The retrieved operations. */\n      operations?: Operation[];\n  }\n  interface ListAvailableFulfillmentOptionsRequest {\n      /**\n       * The ID of the operation.\n       * The returned fulfillment options will belong to this operation.\n       */\n      operationId: string;\n      /**\n       * A delivery address. This parameter is optional.\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: Address$4;\n  }\n  /** Physical address */\n  interface Address$4 extends AddressStreetOneOf$1 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$4;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$5;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$1 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$4;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$4 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$5 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$2 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$2;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$2 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface ListAvailableFulfillmentOptionsResponse {\n      /** An indication of whether pickup fulfillment method is configured for the requested operation. */\n      pickupConfigured?: boolean;\n      /** An indication of whether delivery fulfillment method is configured for the requested operation. */\n      deliveryConfigured?: boolean;\n      /** A list of the available fulfillment options. */\n      fulfillmentOptions?: FulfillmentOption[];\n  }\n  /** Represents a fulfillment method that given its availability and the operation's scheduling configurations, is currently available for fulfilling orders. */\n  interface FulfillmentOption extends FulfillmentOptionFulfillmentTimeOptionsOneOf, FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf, FulfillmentOptionFulfillmentTypeOptionsOneOf {\n      /** The fulfillment time is bounded by a maximum time. */\n      maxTimeOptions?: number;\n      /** The fulfillment time is bounded by a duration range. */\n      durationRangeOptions?: DurationRange;\n      /** Data related to the `TIME_WINDOWS` fulfillment times display type. */\n      timeWindowsOptions?: TimeWindowDisplayConfig;\n      /** Data related  to the `PICKUP` fulfillment type. */\n      pickupOptions?: PickupDetails$1;\n      /**\n       * The ID of the fulfillment option.\n       * This is the ID of the fulfillment method.\n       */\n      _id?: string | null;\n      /** The fulfillment option type. */\n      type?: FulfillmentType$3;\n      /** The minimum order price to qualify for using this fulfillment option. */\n      minOrderPrice?: string | null;\n      /** The fee for using this fulfillment option. */\n      fee?: string | null;\n      /** The availability of this fulfillment option. */\n      availability?: FulfillmentOptionAvailability;\n      /**\n       * The fulfillment time type.\n       * This field will only be relevant to ASAP operations\n       */\n      fulfillmentTimeType?: FulfillmentTimeType;\n      /**\n       * The fulfillment times display type.\n       * This field will only be relevant to Preorder operations.\n       */\n      fulfillmentTimesDisplayType?: FulfillmentTimesDisplayType;\n      /**\n       * Threshold for offering free fulfillment.\n       * If order price exceeds this threshold, the given `fee` is waived.\n       */\n      freeFulfillmentPriceThreshold?: string | null;\n      /** The instructions for the fulfillment. */\n      instructions?: string | null;\n  }\n  /** @oneof */\n  interface FulfillmentOptionFulfillmentTimeOptionsOneOf {\n      /** The fulfillment time is bounded by a maximum time. */\n      maxTimeOptions?: number;\n      /** The fulfillment time is bounded by a duration range. */\n      durationRangeOptions?: DurationRange;\n  }\n  /** @oneof */\n  interface FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf {\n      /** Data related to the `TIME_WINDOWS` fulfillment times display type. */\n      timeWindowsOptions?: TimeWindowDisplayConfig;\n  }\n  /** @oneof */\n  interface FulfillmentOptionFulfillmentTypeOptionsOneOf {\n      /** Data related  to the `PICKUP` fulfillment type. */\n      pickupOptions?: PickupDetails$1;\n  }\n  /** The fulfillment type enum. */\n  enum FulfillmentType$3 {\n      /** Undefined fulfillment type. */\n      UNDEFINED_FULFILLMENT_TYPE = \"UNDEFINED_FULFILLMENT_TYPE\",\n      /** Pickup fulfillment. */\n      PICKUP = \"PICKUP\",\n      /** Delivery fulfillment. */\n      DELIVERY = \"DELIVERY\"\n  }\n  /** Represents the availability of the fulfillment option. */\n  interface FulfillmentOptionAvailability {\n      /** An indication of whether it is possible to submit an order for as soon as possible handling. */\n      canSubmitOrderForNow?: boolean;\n      /** Timestamp at which the fulfillment option's availability starts. */\n      startTime?: Date;\n      /** Timestamp at which the fulfillment option's availability ends. */\n      endTime?: Date;\n      /**\n       * A list of availability times for the days of the week.\n       * All the given times will be within the range defined by [`start_time`, `end_time`].\n       */\n      availableTimes?: DayOfWeekAvailability$1[];\n      /**\n       * A list of availability exception.\n       * An availability exception is some availability for a specific time, that is different from the usual availability defined in `available_times`.\n       * The availability exception overrides the availability defined in `available_times`.\n       * All the given times will be within the range defined by [`start_time`, `end_time`].\n       */\n      exceptions?: AvailabilityException$1[];\n      /** The timezone in which the availability times are given. */\n      timeZone?: string | null;\n      /** An indication of whether it is possible to submit an order for as soon as possible handling. */\n      asapHandlingAvailable?: boolean;\n  }\n  interface DayOfWeekAvailability$1 {\n      /** The day of week this availability relates to. */\n      dayOfWeek?: DayOfWeek$6;\n      /** A list of time ranges during which the fulfillment should be available. */\n      timeRanges?: TimeOfDayRange$1[];\n  }\n  interface TimeOfDayRange$1 {\n      /** The start time in time of day representation. */\n      startTime?: TimeOfDay$1;\n      /** The end time in time of day representation. */\n      endTime?: TimeOfDay$1;\n  }\n  interface AvailabilityException$1 {\n      /** The start time of the availability exception. */\n      startTime?: Date;\n      /** The end time of the availability exception. */\n      endTime?: Date;\n      /** An indication whether the exception makes the [`start_time`, `end_time`] range available. */\n      available?: boolean;\n      /** The reason for the exception. */\n      reason?: string | null;\n  }\n  /** The fulfillment time type enum. */\n  enum FulfillmentTimeType {\n      /** Undefined fulfillment time type. */\n      UNDEFINED_FULFILLMENT_TIME = \"UNDEFINED_FULFILLMENT_TIME\",\n      /** The fulfillment time is bounded by a maximum time. */\n      MAX_TIME = \"MAX_TIME\",\n      /** The fulfillment time is bounded by a range of times. */\n      DURATION_RANGE = \"DURATION_RANGE\"\n  }\n  /** Represents a duration range. */\n  interface DurationRange {\n      /** Minimum duration in minutes. */\n      minDuration?: number;\n      /** Maximum duration in minutes. */\n      maxDuration?: number;\n  }\n  /** The fulfillment times display type enum. */\n  enum FulfillmentTimesDisplayType {\n      /** Undefined fulfillment times display type. */\n      UNDEFINED_FULFILLMENT_TIMES_DISPLAY = \"UNDEFINED_FULFILLMENT_TIMES_DISPLAY\",\n      /** The fulfillment times will be displayed as a list of time windows. */\n      TIME_WINDOWS = \"TIME_WINDOWS\"\n  }\n  /** Represents a time window. */\n  interface TimeWindowDisplayConfig {\n      /** The time window duration in minutes. */\n      durationInMinutes?: number;\n  }\n  /** Represents data related to the `PICKUP` fulfillment type. */\n  interface PickupDetails$1 {\n      /**\n       * The pickup address.\n       * The address of the restaurant will be used.\n       */\n      address?: Address$4;\n  }\n  interface ListFirstAvailableTimeSlotForFulfillmentTypesRequest {\n      /**\n       * The ID of the operation.\n       * The returned fulfillment options will belong to this operation.\n       */\n      operationId: string;\n      /**\n       * A delivery address. This parameter is optional.\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: Address$4;\n  }\n  interface ListFirstAvailableTimeSlotForFulfillmentTypesResponse {\n      /**\n       * A list of available time slots for each fulfillment type.\n       * Each time slot will be the first available time slot for the given fulfillment type.\n       * A fulfillment type of Delivery will only be returned if the delivery address is provided\n       */\n      timeSlots?: TimeSlot[];\n  }\n  interface TimeSlot extends TimeSlotFeeOptionsOneOf, TimeSlotFulfillmentTimeOptionsOneOf, TimeSlotMinOrderPriceOptionsOneOf {\n      /** A single fee value. */\n      valueOptions?: string | null;\n      /** A range of fees. */\n      rangeOptions?: PriceRange;\n      /** The maximum time in minutes it will take to fulfill the order, e.g., 20 minutes. */\n      maxTimeOptions?: number;\n      /** The duration range in minutes it will take to fulfill the order, e.g., 20 - 30 minutes. */\n      durationRangeOptions?: DurationRange;\n      /** A single min order price value. */\n      priceValueOptions?: string | null;\n      /** A range of min order prices. */\n      priceRangeOptions?: MinOrderPriceRange;\n      /** The start time of the time slot. */\n      startTime?: Date;\n      /** The end time of the time slot. */\n      endTime?: Date;\n      /** The type of the fulfillment. */\n      fulfilmentType?: FulfillmentType$3;\n      /** Indication of whether the time slot starts now. */\n      startsNow?: boolean;\n      /** The fee type of the time slot. */\n      feeType?: FeeType;\n      /** The fulfillment time type. */\n      fulfillmentTimeType?: FulfillmentTimeType;\n      /** The min order price type. */\n      minOrderPriceType?: MinOrderPriceType;\n  }\n  /** @oneof */\n  interface TimeSlotFeeOptionsOneOf {\n      /** A single fee value. */\n      valueOptions?: string | null;\n      /** A range of fees. */\n      rangeOptions?: PriceRange;\n  }\n  /** @oneof */\n  interface TimeSlotFulfillmentTimeOptionsOneOf {\n      /** The maximum time in minutes it will take to fulfill the order, e.g., 20 minutes. */\n      maxTimeOptions?: number;\n      /** The duration range in minutes it will take to fulfill the order, e.g., 20 - 30 minutes. */\n      durationRangeOptions?: DurationRange;\n  }\n  /** @oneof */\n  interface TimeSlotMinOrderPriceOptionsOneOf {\n      /** A single min order price value. */\n      priceValueOptions?: string | null;\n      /** A range of min order prices. */\n      priceRangeOptions?: MinOrderPriceRange;\n  }\n  enum FeeType {\n      /** Undefined fee type. */\n      UNDEFINED_FEE_TYPE = \"UNDEFINED_FEE_TYPE\",\n      /** Single price value. */\n      VALUE = \"VALUE\",\n      /** Range of prices value. */\n      RANGE = \"RANGE\"\n  }\n  interface PriceRange {\n      /** The minimum price of the range. */\n      minPrice?: string | null;\n      /** The maximum price of the range. */\n      maxPrice?: string | null;\n  }\n  /** Min order price enum. */\n  enum MinOrderPriceType {\n      /** Undefined min order price type. */\n      UNDEFINED_MIN_ORDER_PRICE_TYPE = \"UNDEFINED_MIN_ORDER_PRICE_TYPE\",\n      /** Single min order price value. */\n      PRICE_VALUE = \"PRICE_VALUE\",\n      /** Range of min order price values. */\n      PRICE_RANGE = \"PRICE_RANGE\"\n  }\n  /** Min order price range. */\n  interface MinOrderPriceRange {\n      /** The lower bound of the min order prices range. */\n      lowerBound?: string | null;\n      /** The upper bound of the min order prices range. */\n      upperBound?: string | null;\n  }\n  interface ListAvailableTimeSlotsForDateRequest {\n      /**\n       * The ID of the operation.\n       * The returned fulfillment options will belong to this operation.\n       */\n      operationId: string;\n      /**\n       * A delivery address. This parameter is optional.\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: Address$4;\n      /** The date to get the available time slots for. */\n      date: _Date;\n  }\n  interface _Date {\n      /** The day of the month. */\n      day?: number;\n      /** The month of the year. */\n      month?: number;\n      /** The year of the date. */\n      year?: number;\n  }\n  interface ListAvailableTimeSlotsForDateResponse {\n      /** A list of the available time slots in the requested date. */\n      timeSlots?: TimeSlot[];\n  }\n  interface ListAvailableDatesInRangeRequest {\n      /**\n       * The ID of the operation.\n       * The returned fulfillment options will belong to this operation.\n       */\n      operationId: string;\n      /**\n       * A delivery address. This parameter is optional.\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: Address$4;\n      /** The start date of the range. */\n      from: _Date;\n      /** The end date of the range. */\n      until: _Date;\n  }\n  interface ListAvailableDatesInRangeResponse {\n      /** A list of the available dates in descending order. */\n      availableDates?: _Date[];\n  }\n  interface GetExpectedFulfillmentSelectionRequest {\n      /** The id of the operation. The returned fulfillment will belong to this operation. */\n      operationId: string;\n      /**\n       * A delivery address. This parameter is optional.\n       * If provided, the returned delivery fulfillment will be able to deliver to this address.\n       */\n      deliveryAddress?: Address$4;\n      /** The start time of the time slot. */\n      timeslotStartTime?: Date;\n      /** The end time of the time slot. */\n      timeslotEndTime?: Date;\n      /** The type of the fulfillment. */\n      fulfilmentType: FulfillmentType$3;\n      /** An indication whether it is possible to submit an order for now. */\n      canSubmitOrderForNow?: boolean | null;\n  }\n  interface GetExpectedFulfillmentSelectionResponse {\n      /** The expected fulfilment option to be selected. */\n      expectedFulfillmentSelections?: FulfillmentOption[];\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface Empty$4 {\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification$1 {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent$1;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation$1[];\n      /** Context of the notification */\n      changeContext?: ChangeContext$1;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent$1 {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /** Set of properties that were updated - corresponds to the fields in \"properties\". */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties$1;\n  }\n  interface Properties$1 {\n      /** Site categories. */\n      categories?: Categories$1;\n      /** Site locale. */\n      locale?: Locale$2;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: V4Address;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$1;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual$1;\n      /** Cookie policy the site owner defined for their site (before the users interacts with/limits it). */\n      consentPolicy?: ConsentPolicy$1;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site url that uses Wix as its headless business solution */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories$1 {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale$2 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface V4Address {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint$1;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates$1;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition the user can state where he wants that additional description - before, after, or instead\n   * the address string.\n   */\n  interface AddressHint$1 {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType$1;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType$1 {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates$1 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$1 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$6[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$6[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$6 {\n      /** Day of the week the period starts on. */\n      openDay?: V4DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: V4DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum V4DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$6 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual$1 {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage$1[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage$1 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale$2;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod$1;\n  }\n  enum ResolutionMethod$1 {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy$1 {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation$1 {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext$1 extends ChangeContextPayloadOneOf$1 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$1;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$1;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf$1 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$1;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$1;\n  }\n  interface PropertiesChange$1 {\n  }\n  interface SiteCreated$1 {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned$1 {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  /**\n   * Creates a new operation.\n   * @param operation - Operation to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField operation\n   * @adminMethod\n   * @returns The created operation.\n   */\n  function createOperation(operation: Operation): Promise<Operation>;\n  /**\n   * Retrieves an operation.\n   * @param operationId - The ID of the operation to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @returns The retrieved operation.\n   */\n  function getOperation(operationId: string): Promise<Operation>;\n  /**\n   * Updates an operation.\n   * Partial updates are supported, except for the scheduling field.\n   * Each time the operation is updated, the `revision` increments by 1.\n   * The existing `revision` must be included in the request when updating the operation.\n   * This ensures you're updating the latest version of the operation and it prevents unintended overwrites.\n   * @param _id - The ID of the operation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField operation\n   * @requiredField operation.revision\n   * @adminMethod\n   * @returns The updated operation.\n   */\n  function updateOperation(_id: string | null, operation: UpdateOperation, options?: UpdateOperationOptions): Promise<Operation>;\n  interface UpdateOperation {\n      /** Data related to the `PAUSED_UNTIL` status. */\n      pausedUntilOptions?: OnlineOrderingPausedUntilOptions;\n      /**\n       * The ID of the operation.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Timestamp at which the operation was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Timestamp at which the operation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** The operation name. */\n      name?: string | null;\n      /** An indication of whether the operation is enabled or not. */\n      enabled?: boolean | null;\n      /**\n       * The scheduling data for this operation.\n       * Scheduling specifies the time-related aspects of order placement.\n       */\n      scheduling?: Scheduling;\n      /**\n       * The profile ID associated with this operation.\n       * TODO: talk with the tech writer to understand how best to document this field..\n       */\n      profileId?: string | null;\n      /** An indication of whether this operation is the default one. */\n      default?: boolean | null;\n      /** The ids of the fulfillment methods associated with this operation. */\n      fulfillmentIds?: string[] | null;\n      /** The ids of the service fee rules associated with this operation. */\n      serviceFeeRulesIds?: string[] | null;\n      /** The online ordering status of this operation. */\n      onlineOrderingStatus?: OnlineOrderingStatusType;\n  }\n  interface UpdateOperationOptions {\n      /**\n       * Field mask of the fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes an operation.\n   * @param operationId - The ID of the operation to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @adminMethod\n   */\n  function deleteOperation(operationId: string): Promise<void>;\n  /**\n   * Retrieves a list of operations by a given query.\n   * To learn how to query operations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * Up to 100 operations can be returned per request.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryOperation(): OperationsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface OperationsQueryResult extends QueryCursorResult$1 {\n      items: Operation[];\n      query: OperationsQueryBuilder;\n      next: () => Promise<OperationsQueryResult>;\n      prev: () => Promise<OperationsQueryResult>;\n  }\n  interface OperationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id', value: any) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id', value: string) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id', value: any[]) => OperationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id', value: any) => OperationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id', value: boolean) => OperationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id'>) => OperationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id'>) => OperationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => OperationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => OperationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<OperationsQueryResult>;\n  }\n  /**\n   * Retrieves a list of operations.\n   * Up to 100 operations can be returned per request.\n   * TODO: support pagination\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listOperations(): Promise<ListOperationsResponse>;\n  /**\n   * Retrieves a list of available fulfillment options.\n   * What makes a fulfillment option available is whether it's possible to submit an order given the scheduling configurations and the fulfillment method's availability.\n   * When a `delivery_address` is not provided in the input, our system retrieves a list encompassing all types of fulfillment methods.\n   * Conversely, if a `delivery_address` is given, the response may includes non-delivery fulfillment options along with delivery fulfillment methods that are applicable to the given address, ensuring the address falls within the defined delivery area of these methods.\n   * @param operationId - The ID of the operation.\n   * The returned fulfillment options will belong to this operation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField operationId\n   */\n  function listAvailableFulfillmentOptions(operationId: string, options?: ListAvailableFulfillmentOptions): Promise<ListAvailableFulfillmentOptionsResponse>;\n  interface ListAvailableFulfillmentOptions {\n      /**\n       * A delivery address. This parameter is optional.\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: Address$4;\n  }\n  /**\n   * Retrieves a list of available time slots for each fulfillment type.\n   * Each time slot will be the first available time slot for the given fulfillment type.\n   * @param operationId - The ID of the operation.\n   * The returned fulfillment options will belong to this operation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField operationId\n   */\n  function listFirstAvailableTimeSlotForFulfillmentTypes(operationId: string, options?: ListFirstAvailableTimeSlotForFulfillmentTypesOptions): Promise<ListFirstAvailableTimeSlotForFulfillmentTypesResponse>;\n  interface ListFirstAvailableTimeSlotForFulfillmentTypesOptions {\n      /**\n       * A delivery address. This parameter is optional.\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: Address$4;\n  }\n  /**\n   * Retrieves a list of the available time slots for a given date.\n   * @param operationId - The ID of the operation.\n   * The returned fulfillment options will belong to this operation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @requiredField options.date\n   * @requiredField options.date.day\n   * @requiredField options.date.month\n   * @requiredField options.date.year\n   */\n  function listAvailableTimeSlotsForDate(operationId: string, options?: ListAvailableTimeSlotsForDateOptions): Promise<ListAvailableTimeSlotsForDateResponse>;\n  interface ListAvailableTimeSlotsForDateOptions {\n      /**\n       * A delivery address. This parameter is optional.\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: Address$4;\n      /** The date to get the available time slots for. */\n      date: _Date;\n  }\n  /**\n   * Retrieves a list of the available dates in a given time range.\n   * A date is considered available if it has at least one available time slot.\n   * @param operationId - The ID of the operation.\n   * The returned fulfillment options will belong to this operation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @requiredField options.from\n   * @requiredField options.until\n   */\n  function listAvailableDatesInRange(operationId: string, options?: ListAvailableDatesInRangeOptions): Promise<ListAvailableDatesInRangeResponse>;\n  interface ListAvailableDatesInRangeOptions {\n      /**\n       * A delivery address. This parameter is optional.\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: Address$4;\n      /** The start date of the range. */\n      from: _Date;\n      /** The end date of the range. */\n      until: _Date;\n  }\n  /**\n   * Retrieves a list of the fulfillment options that will be available given the provided filters.\n   * TODO: probably rename, the implementation took a different direction than the name suggests\n   * @param operationId - The id of the operation. The returned fulfillment will belong to this operation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @requiredField options.fulfilmentType\n   */\n  function getExpectedFulfillmentSelection(operationId: string, options?: GetExpectedFulfillmentSelectionOptions): Promise<GetExpectedFulfillmentSelectionResponse>;\n  interface GetExpectedFulfillmentSelectionOptions {\n      /**\n       * A delivery address. This parameter is optional.\n       * If provided, the returned delivery fulfillment will be able to deliver to this address.\n       */\n      deliveryAddress?: Address$4;\n      /** The start time of the time slot. */\n      timeslotStartTime?: Date;\n      /** The end time of the time slot. */\n      timeslotEndTime?: Date;\n      /** The type of the fulfillment. */\n      fulfilmentType: FulfillmentType$3;\n      /** An indication whether it is possible to submit an order for now. */\n      canSubmitOrderForNow?: boolean | null;\n  }\n  \n  type restaurantsOperationsV1Operation_universal_d_Operation = Operation;\n  type restaurantsOperationsV1Operation_universal_d_OperationOnlineOrderingStatusOptionsOneOf = OperationOnlineOrderingStatusOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_Scheduling = Scheduling;\n  type restaurantsOperationsV1Operation_universal_d_SchedulingSchedulingOptionsOneOf = SchedulingSchedulingOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_SchedulingType = SchedulingType;\n  const restaurantsOperationsV1Operation_universal_d_SchedulingType: typeof SchedulingType;\n  type restaurantsOperationsV1Operation_universal_d_AsapScheduling = AsapScheduling;\n  type restaurantsOperationsV1Operation_universal_d_AsapSchedulingPreparationTimeOneOf = AsapSchedulingPreparationTimeOneOf;\n  type restaurantsOperationsV1Operation_universal_d_AsapSchedulingAsapPreorderOneOf = AsapSchedulingAsapPreorderOneOf;\n  type restaurantsOperationsV1Operation_universal_d_PreparationTimeType = PreparationTimeType;\n  const restaurantsOperationsV1Operation_universal_d_PreparationTimeType: typeof PreparationTimeType;\n  type restaurantsOperationsV1Operation_universal_d_TimeDuration = TimeDuration;\n  type restaurantsOperationsV1Operation_universal_d_TimeUnit = TimeUnit;\n  const restaurantsOperationsV1Operation_universal_d_TimeUnit: typeof TimeUnit;\n  type restaurantsOperationsV1Operation_universal_d_TimeDurationRange = TimeDurationRange;\n  type restaurantsOperationsV1Operation_universal_d_AsapPreorderType = AsapPreorderType;\n  const restaurantsOperationsV1Operation_universal_d_AsapPreorderType: typeof AsapPreorderType;\n  type restaurantsOperationsV1Operation_universal_d_BusinessDaysPreorder = BusinessDaysPreorder;\n  type restaurantsOperationsV1Operation_universal_d_PreorderScheduling = PreorderScheduling;\n  type restaurantsOperationsV1Operation_universal_d_PreorderMethod = PreorderMethod;\n  type restaurantsOperationsV1Operation_universal_d_PreorderMethodMethodOptionsOneOf = PreorderMethodMethodOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_DayAndTime = DayAndTime;\n  type restaurantsOperationsV1Operation_universal_d_MethodType = MethodType;\n  const restaurantsOperationsV1Operation_universal_d_MethodType: typeof MethodType;\n  type restaurantsOperationsV1Operation_universal_d_TimeBounded = TimeBounded;\n  type restaurantsOperationsV1Operation_universal_d_WeeklySchedule = WeeklySchedule;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayConfig = FulfillmentTimesDisplayConfig;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf = FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimesType = FulfillmentTimesType;\n  const restaurantsOperationsV1Operation_universal_d_FulfillmentTimesType: typeof FulfillmentTimesType;\n  type restaurantsOperationsV1Operation_universal_d_OnlineOrderingStatusType = OnlineOrderingStatusType;\n  const restaurantsOperationsV1Operation_universal_d_OnlineOrderingStatusType: typeof OnlineOrderingStatusType;\n  type restaurantsOperationsV1Operation_universal_d_OnlineOrderingPausedUntilOptions = OnlineOrderingPausedUntilOptions;\n  type restaurantsOperationsV1Operation_universal_d_CreateOperationRequest = CreateOperationRequest;\n  type restaurantsOperationsV1Operation_universal_d_CreateOperationResponse = CreateOperationResponse;\n  type restaurantsOperationsV1Operation_universal_d_GetOperationRequest = GetOperationRequest;\n  type restaurantsOperationsV1Operation_universal_d_GetOperationResponse = GetOperationResponse;\n  type restaurantsOperationsV1Operation_universal_d_UpdateOperationRequest = UpdateOperationRequest;\n  type restaurantsOperationsV1Operation_universal_d_UpdateOperationResponse = UpdateOperationResponse;\n  type restaurantsOperationsV1Operation_universal_d_DeleteOperationRequest = DeleteOperationRequest;\n  type restaurantsOperationsV1Operation_universal_d_DeleteOperationResponse = DeleteOperationResponse;\n  type restaurantsOperationsV1Operation_universal_d_QueryOperationRequest = QueryOperationRequest;\n  type restaurantsOperationsV1Operation_universal_d_QueryOperationResponse = QueryOperationResponse;\n  type restaurantsOperationsV1Operation_universal_d_ListOperationsRequest = ListOperationsRequest;\n  type restaurantsOperationsV1Operation_universal_d_ListOperationsResponse = ListOperationsResponse;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptionsRequest = ListAvailableFulfillmentOptionsRequest;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptionsResponse = ListAvailableFulfillmentOptionsResponse;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentOption = FulfillmentOption;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTimeOptionsOneOf = FulfillmentOptionFulfillmentTimeOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf = FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTypeOptionsOneOf = FulfillmentOptionFulfillmentTypeOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentOptionAvailability = FulfillmentOptionAvailability;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimeType = FulfillmentTimeType;\n  const restaurantsOperationsV1Operation_universal_d_FulfillmentTimeType: typeof FulfillmentTimeType;\n  type restaurantsOperationsV1Operation_universal_d_DurationRange = DurationRange;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayType = FulfillmentTimesDisplayType;\n  const restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayType: typeof FulfillmentTimesDisplayType;\n  type restaurantsOperationsV1Operation_universal_d_TimeWindowDisplayConfig = TimeWindowDisplayConfig;\n  type restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesRequest = ListFirstAvailableTimeSlotForFulfillmentTypesRequest;\n  type restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesResponse = ListFirstAvailableTimeSlotForFulfillmentTypesResponse;\n  type restaurantsOperationsV1Operation_universal_d_TimeSlot = TimeSlot;\n  type restaurantsOperationsV1Operation_universal_d_TimeSlotFeeOptionsOneOf = TimeSlotFeeOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_TimeSlotFulfillmentTimeOptionsOneOf = TimeSlotFulfillmentTimeOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_TimeSlotMinOrderPriceOptionsOneOf = TimeSlotMinOrderPriceOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_FeeType = FeeType;\n  const restaurantsOperationsV1Operation_universal_d_FeeType: typeof FeeType;\n  type restaurantsOperationsV1Operation_universal_d_PriceRange = PriceRange;\n  type restaurantsOperationsV1Operation_universal_d_MinOrderPriceType = MinOrderPriceType;\n  const restaurantsOperationsV1Operation_universal_d_MinOrderPriceType: typeof MinOrderPriceType;\n  type restaurantsOperationsV1Operation_universal_d_MinOrderPriceRange = MinOrderPriceRange;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateRequest = ListAvailableTimeSlotsForDateRequest;\n  type restaurantsOperationsV1Operation_universal_d__Date = _Date;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateResponse = ListAvailableTimeSlotsForDateResponse;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeRequest = ListAvailableDatesInRangeRequest;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeResponse = ListAvailableDatesInRangeResponse;\n  type restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionRequest = GetExpectedFulfillmentSelectionRequest;\n  type restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionResponse = GetExpectedFulfillmentSelectionResponse;\n  type restaurantsOperationsV1Operation_universal_d_V4Address = V4Address;\n  type restaurantsOperationsV1Operation_universal_d_V4DayOfWeek = V4DayOfWeek;\n  const restaurantsOperationsV1Operation_universal_d_V4DayOfWeek: typeof V4DayOfWeek;\n  const restaurantsOperationsV1Operation_universal_d_createOperation: typeof createOperation;\n  const restaurantsOperationsV1Operation_universal_d_getOperation: typeof getOperation;\n  const restaurantsOperationsV1Operation_universal_d_updateOperation: typeof updateOperation;\n  type restaurantsOperationsV1Operation_universal_d_UpdateOperation = UpdateOperation;\n  type restaurantsOperationsV1Operation_universal_d_UpdateOperationOptions = UpdateOperationOptions;\n  const restaurantsOperationsV1Operation_universal_d_deleteOperation: typeof deleteOperation;\n  const restaurantsOperationsV1Operation_universal_d_queryOperation: typeof queryOperation;\n  type restaurantsOperationsV1Operation_universal_d_OperationsQueryResult = OperationsQueryResult;\n  type restaurantsOperationsV1Operation_universal_d_OperationsQueryBuilder = OperationsQueryBuilder;\n  const restaurantsOperationsV1Operation_universal_d_listOperations: typeof listOperations;\n  const restaurantsOperationsV1Operation_universal_d_listAvailableFulfillmentOptions: typeof listAvailableFulfillmentOptions;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptions = ListAvailableFulfillmentOptions;\n  const restaurantsOperationsV1Operation_universal_d_listFirstAvailableTimeSlotForFulfillmentTypes: typeof listFirstAvailableTimeSlotForFulfillmentTypes;\n  type restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesOptions = ListFirstAvailableTimeSlotForFulfillmentTypesOptions;\n  const restaurantsOperationsV1Operation_universal_d_listAvailableTimeSlotsForDate: typeof listAvailableTimeSlotsForDate;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateOptions = ListAvailableTimeSlotsForDateOptions;\n  const restaurantsOperationsV1Operation_universal_d_listAvailableDatesInRange: typeof listAvailableDatesInRange;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeOptions = ListAvailableDatesInRangeOptions;\n  const restaurantsOperationsV1Operation_universal_d_getExpectedFulfillmentSelection: typeof getExpectedFulfillmentSelection;\n  type restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionOptions = GetExpectedFulfillmentSelectionOptions;\n  namespace restaurantsOperationsV1Operation_universal_d {\n    export {\n      __debug$1 as __debug,\n      restaurantsOperationsV1Operation_universal_d_Operation as Operation,\n      restaurantsOperationsV1Operation_universal_d_OperationOnlineOrderingStatusOptionsOneOf as OperationOnlineOrderingStatusOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_Scheduling as Scheduling,\n      restaurantsOperationsV1Operation_universal_d_SchedulingSchedulingOptionsOneOf as SchedulingSchedulingOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_SchedulingType as SchedulingType,\n      restaurantsOperationsV1Operation_universal_d_AsapScheduling as AsapScheduling,\n      restaurantsOperationsV1Operation_universal_d_AsapSchedulingPreparationTimeOneOf as AsapSchedulingPreparationTimeOneOf,\n      restaurantsOperationsV1Operation_universal_d_AsapSchedulingAsapPreorderOneOf as AsapSchedulingAsapPreorderOneOf,\n      restaurantsOperationsV1Operation_universal_d_PreparationTimeType as PreparationTimeType,\n      restaurantsOperationsV1Operation_universal_d_TimeDuration as TimeDuration,\n      restaurantsOperationsV1Operation_universal_d_TimeUnit as TimeUnit,\n      restaurantsOperationsV1Operation_universal_d_TimeDurationRange as TimeDurationRange,\n      restaurantsOperationsV1Operation_universal_d_AsapPreorderType as AsapPreorderType,\n      restaurantsOperationsV1Operation_universal_d_BusinessDaysPreorder as BusinessDaysPreorder,\n      restaurantsOperationsV1Operation_universal_d_PreorderScheduling as PreorderScheduling,\n      restaurantsOperationsV1Operation_universal_d_PreorderMethod as PreorderMethod,\n      restaurantsOperationsV1Operation_universal_d_PreorderMethodMethodOptionsOneOf as PreorderMethodMethodOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_DayAndTime as DayAndTime,\n      DayOfWeek$6 as DayOfWeek,\n      TimeOfDay$1 as TimeOfDay,\n      restaurantsOperationsV1Operation_universal_d_MethodType as MethodType,\n      restaurantsOperationsV1Operation_universal_d_TimeBounded as TimeBounded,\n      restaurantsOperationsV1Operation_universal_d_WeeklySchedule as WeeklySchedule,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayConfig as FulfillmentTimesDisplayConfig,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf as FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimesType as FulfillmentTimesType,\n      restaurantsOperationsV1Operation_universal_d_OnlineOrderingStatusType as OnlineOrderingStatusType,\n      restaurantsOperationsV1Operation_universal_d_OnlineOrderingPausedUntilOptions as OnlineOrderingPausedUntilOptions,\n      InvalidateCache$2 as InvalidateCache,\n      InvalidateCacheGetByOneOf$2 as InvalidateCacheGetByOneOf,\n      App$2 as App,\n      Page$2 as Page,\n      URI$2 as URI,\n      restaurantsOperationsV1Operation_universal_d_CreateOperationRequest as CreateOperationRequest,\n      restaurantsOperationsV1Operation_universal_d_CreateOperationResponse as CreateOperationResponse,\n      restaurantsOperationsV1Operation_universal_d_GetOperationRequest as GetOperationRequest,\n      restaurantsOperationsV1Operation_universal_d_GetOperationResponse as GetOperationResponse,\n      restaurantsOperationsV1Operation_universal_d_UpdateOperationRequest as UpdateOperationRequest,\n      restaurantsOperationsV1Operation_universal_d_UpdateOperationResponse as UpdateOperationResponse,\n      restaurantsOperationsV1Operation_universal_d_DeleteOperationRequest as DeleteOperationRequest,\n      restaurantsOperationsV1Operation_universal_d_DeleteOperationResponse as DeleteOperationResponse,\n      restaurantsOperationsV1Operation_universal_d_QueryOperationRequest as QueryOperationRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$3 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      restaurantsOperationsV1Operation_universal_d_QueryOperationResponse as QueryOperationResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      restaurantsOperationsV1Operation_universal_d_ListOperationsRequest as ListOperationsRequest,\n      restaurantsOperationsV1Operation_universal_d_ListOperationsResponse as ListOperationsResponse,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptionsRequest as ListAvailableFulfillmentOptionsRequest,\n      Address$4 as Address,\n      AddressStreetOneOf$1 as AddressStreetOneOf,\n      StreetAddress$4 as StreetAddress,\n      AddressLocation$5 as AddressLocation,\n      Subdivision$2 as Subdivision,\n      SubdivisionType$2 as SubdivisionType,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptionsResponse as ListAvailableFulfillmentOptionsResponse,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentOption as FulfillmentOption,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTimeOptionsOneOf as FulfillmentOptionFulfillmentTimeOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf as FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTypeOptionsOneOf as FulfillmentOptionFulfillmentTypeOptionsOneOf,\n      FulfillmentType$3 as FulfillmentType,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentOptionAvailability as FulfillmentOptionAvailability,\n      DayOfWeekAvailability$1 as DayOfWeekAvailability,\n      TimeOfDayRange$1 as TimeOfDayRange,\n      AvailabilityException$1 as AvailabilityException,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimeType as FulfillmentTimeType,\n      restaurantsOperationsV1Operation_universal_d_DurationRange as DurationRange,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayType as FulfillmentTimesDisplayType,\n      restaurantsOperationsV1Operation_universal_d_TimeWindowDisplayConfig as TimeWindowDisplayConfig,\n      PickupDetails$1 as PickupDetails,\n      restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesRequest as ListFirstAvailableTimeSlotForFulfillmentTypesRequest,\n      restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesResponse as ListFirstAvailableTimeSlotForFulfillmentTypesResponse,\n      restaurantsOperationsV1Operation_universal_d_TimeSlot as TimeSlot,\n      restaurantsOperationsV1Operation_universal_d_TimeSlotFeeOptionsOneOf as TimeSlotFeeOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_TimeSlotFulfillmentTimeOptionsOneOf as TimeSlotFulfillmentTimeOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_TimeSlotMinOrderPriceOptionsOneOf as TimeSlotMinOrderPriceOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_FeeType as FeeType,\n      restaurantsOperationsV1Operation_universal_d_PriceRange as PriceRange,\n      restaurantsOperationsV1Operation_universal_d_MinOrderPriceType as MinOrderPriceType,\n      restaurantsOperationsV1Operation_universal_d_MinOrderPriceRange as MinOrderPriceRange,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateRequest as ListAvailableTimeSlotsForDateRequest,\n      restaurantsOperationsV1Operation_universal_d__Date as _Date,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateResponse as ListAvailableTimeSlotsForDateResponse,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeRequest as ListAvailableDatesInRangeRequest,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeResponse as ListAvailableDatesInRangeResponse,\n      restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionRequest as GetExpectedFulfillmentSelectionRequest,\n      restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionResponse as GetExpectedFulfillmentSelectionResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      Empty$4 as Empty,\n      SitePropertiesNotification$1 as SitePropertiesNotification,\n      SitePropertiesEvent$1 as SitePropertiesEvent,\n      Properties$1 as Properties,\n      Categories$1 as Categories,\n      Locale$2 as Locale,\n      restaurantsOperationsV1Operation_universal_d_V4Address as V4Address,\n      AddressHint$1 as AddressHint,\n      PlacementType$1 as PlacementType,\n      GeoCoordinates$1 as GeoCoordinates,\n      BusinessSchedule$1 as BusinessSchedule,\n      TimePeriod$6 as TimePeriod,\n      restaurantsOperationsV1Operation_universal_d_V4DayOfWeek as V4DayOfWeek,\n      SpecialHourPeriod$6 as SpecialHourPeriod,\n      Multilingual$1 as Multilingual,\n      SupportedLanguage$1 as SupportedLanguage,\n      ResolutionMethod$1 as ResolutionMethod,\n      ConsentPolicy$1 as ConsentPolicy,\n      Translation$1 as Translation,\n      ChangeContext$1 as ChangeContext,\n      ChangeContextPayloadOneOf$1 as ChangeContextPayloadOneOf,\n      PropertiesChange$1 as PropertiesChange,\n      SiteCreated$1 as SiteCreated,\n      SiteCloned$1 as SiteCloned,\n      restaurantsOperationsV1Operation_universal_d_createOperation as createOperation,\n      restaurantsOperationsV1Operation_universal_d_getOperation as getOperation,\n      restaurantsOperationsV1Operation_universal_d_updateOperation as updateOperation,\n      restaurantsOperationsV1Operation_universal_d_UpdateOperation as UpdateOperation,\n      restaurantsOperationsV1Operation_universal_d_UpdateOperationOptions as UpdateOperationOptions,\n      restaurantsOperationsV1Operation_universal_d_deleteOperation as deleteOperation,\n      restaurantsOperationsV1Operation_universal_d_queryOperation as queryOperation,\n      restaurantsOperationsV1Operation_universal_d_OperationsQueryResult as OperationsQueryResult,\n      restaurantsOperationsV1Operation_universal_d_OperationsQueryBuilder as OperationsQueryBuilder,\n      restaurantsOperationsV1Operation_universal_d_listOperations as listOperations,\n      restaurantsOperationsV1Operation_universal_d_listAvailableFulfillmentOptions as listAvailableFulfillmentOptions,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptions as ListAvailableFulfillmentOptions,\n      restaurantsOperationsV1Operation_universal_d_listFirstAvailableTimeSlotForFulfillmentTypes as listFirstAvailableTimeSlotForFulfillmentTypes,\n      restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesOptions as ListFirstAvailableTimeSlotForFulfillmentTypesOptions,\n      restaurantsOperationsV1Operation_universal_d_listAvailableTimeSlotsForDate as listAvailableTimeSlotsForDate,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateOptions as ListAvailableTimeSlotsForDateOptions,\n      restaurantsOperationsV1Operation_universal_d_listAvailableDatesInRange as listAvailableDatesInRange,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeOptions as ListAvailableDatesInRangeOptions,\n      restaurantsOperationsV1Operation_universal_d_getExpectedFulfillmentSelection as getExpectedFulfillmentSelection,\n      restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionOptions as GetExpectedFulfillmentSelectionOptions,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** `FulfillmentMethod` is the main entity of `FulfillmentMethodsService' and represents the way of a restaurant to provide orders to its customers. */\n  interface FulfillmentMethod$1 extends FulfillmentMethodMethodOptionsOneOf {\n      /** Data specific for pickup fulfillment method. */\n      pickupOptions?: PickupInfo$2;\n      /** Data specific for delivery fulfillment method. */\n      deliveryOptions?: DeliveryInfo$1;\n      /**\n       * The ID of the fulfillment method.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Timestamp at which the fulfillment method was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Timestamp at which the fulfillment method was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** The fulfillment method type. */\n      type?: FulfillmentMethodType$1;\n      /** The minimum order price to qualify for using this fulfillment method. */\n      minimumOrderAmount?: string | null;\n      /** The fulfillment method name. */\n      name?: string | null;\n      /** An indication of whether the fulfillment method is enabled or not. */\n      enabled?: boolean | null;\n      /** The fee for using this fulfillment method. */\n      fee?: string | null;\n      /** The availability of this fulfillment method. */\n      availability?: Availability$5;\n  }\n  /** @oneof */\n  interface FulfillmentMethodMethodOptionsOneOf {\n      /** Data specific for pickup fulfillment method. */\n      pickupOptions?: PickupInfo$2;\n      /** Data specific for delivery fulfillment method. */\n      deliveryOptions?: DeliveryInfo$1;\n  }\n  enum FulfillmentMethodType$1 {\n      /** Missing type due to an error. */\n      UNKNOWN_FULFILLMENT_TYPE = \"UNKNOWN_FULFILLMENT_TYPE\",\n      /** Pickup fulfillment method - refers to the customer picking up the order from the restaurant. */\n      PICKUP = \"PICKUP\",\n      /** Delivery fulfillment method - refers to the restaurant or someone on behalf of the restaurant delivering the order to the customer. */\n      DELIVERY = \"DELIVERY\"\n  }\n  interface PickupInfo$2 {\n      /** Instructions for the pickup. */\n      instructions?: string | null;\n      /**\n       * Pickup address.\n       * The address of the restaurant will be used.\n       * @readonly\n       */\n      address?: CommonAddress;\n  }\n  /** Physical address */\n  interface CommonAddress extends CommonAddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$3;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$4;\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$3;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$3 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$4 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$1 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$1;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$1 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface DeliveryInfo$1 {\n      /** The estimated delivery time in minutes. */\n      deliveryTimeInMinutes?: number | null;\n      /**\n       * Threshold for offering free delivery.\n       * If order price exceeds this threshold, the delivery fee is waived.\n       */\n      freeDeliveryThreshold?: string | null;\n      /** The delivery area that is supported by this delivery fulfillment method. */\n      deliveryArea?: DeliveryArea;\n  }\n  interface DeliveryArea extends DeliveryAreaAreaOptionsOneOf {\n      /** Data specific for radius delivery area. */\n      radiusOptions?: Radius;\n      /** Data specific for postal code delivery area. */\n      postalCodeOptions?: PostalCode;\n      /** Data specific for custom delivery area. */\n      customOptions?: CustomArea;\n      /** The type of the delivery area. */\n      type?: Type$4;\n  }\n  /** @oneof */\n  interface DeliveryAreaAreaOptionsOneOf {\n      /** Data specific for radius delivery area. */\n      radiusOptions?: Radius;\n      /** Data specific for postal code delivery area. */\n      postalCodeOptions?: PostalCode;\n      /** Data specific for custom delivery area. */\n      customOptions?: CustomArea;\n  }\n  enum Type$4 {\n      /** Unknown delivery area type. */\n      UNKNOWN_DELIVERY_AREA = \"UNKNOWN_DELIVERY_AREA\",\n      /**\n       * Delivery area that is defined by a radius around an address.\n       * The address of the restaurant will be used.\n       */\n      RADIUS = \"RADIUS\",\n      /** Delivery area that is defined by a list of postal codes. */\n      POSTAL_CODE = \"POSTAL_CODE\",\n      /** Delivery area that is defined by a custom polygon. */\n      CUSTOM = \"CUSTOM\"\n  }\n  interface Radius {\n      /**\n       * The radius value.\n       * The unit of the radius will be given in the `unit` field.\n       */\n      value?: string | null;\n      /**\n       * The address of the center of the circle.\n       * @readonly\n       */\n      centerPointAddress?: CommonAddress;\n      /** The distance unit of the radius. */\n      unit?: Unit;\n  }\n  enum Unit {\n      /** Unknown unit. */\n      UNKNOWN_UNIT = \"UNKNOWN_UNIT\",\n      /** Miles. */\n      MILES = \"MILES\",\n      /** Kilometers. */\n      KILOMETERS = \"KILOMETERS\"\n  }\n  interface PostalCode {\n      /** The postal code of the delivery area. */\n      postalCode?: string | null;\n      /**\n       * The country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n       * @readonly\n       */\n      countryCode?: string | null;\n      /**\n       * A list of postal codes and postal code regexes. List of postal codes and postal code regexes. Examples: 10001, 10002 or 1000*\n       * A postal code regex will enable you to define a range of postal codes using an asterisk (*).\n       * For example, in order to include the postal codes in the range of 10001-10009, 1000* can be used.\n       */\n      postalCodes?: string[] | null;\n  }\n  interface CustomArea {\n      /** Geocodes of the polygon that defines the delivery area. */\n      geocodes?: AddressLocation$4[];\n  }\n  interface Availability$5 {\n      /** A list of availability times for the days of the week. */\n      availableTimes?: DayOfWeekAvailability[];\n      /**\n       * A list of availability exception.\n       * An availability exception is some availability for a specific time, that is different from the usual availability defined in `available_times`. The availability exception overrides the availability defined in `available_times`.\n       * For example, a restaurants may decide to disable the availability for a specific time range, or to enable the availability for a specific time range that is not available in the usual availability.\n       */\n      exceptions?: AvailabilityException[];\n      /**\n       * The timezone in which the availability times are given.\n       * @readonly\n       */\n      timeZone?: string | null;\n  }\n  interface DayOfWeekAvailability {\n      /** The day of week this availability relates to. */\n      dayOfWeek?: EntitiesDayOfWeek;\n      /** A list of time ranges during which the fulfillment should be available. */\n      timeRanges?: TimeOfDayRange[];\n  }\n  enum EntitiesDayOfWeek {\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface TimeOfDayRange {\n      /** The start time in time of day representation. */\n      startTime?: TimeOfDay;\n      /** The end time in time of day representation. */\n      endTime?: TimeOfDay;\n  }\n  interface TimeOfDay {\n      /** Hours (0-23) */\n      hours?: number;\n      /** Minutes (0-59) */\n      minutes?: number;\n  }\n  interface AvailabilityException {\n      /** The start time of the availability exception. */\n      startTime?: Date;\n      /** The end time of the availability exception. */\n      endTime?: Date;\n      /** An indication whether the exception makes the [`start_time`, `end_time`] range available. */\n      available?: boolean;\n      /** The reason for the exception. */\n      reason?: string | null;\n  }\n  interface InvalidateCache$1 extends InvalidateCacheGetByOneOf$1 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page$1;\n      /** Invalidate by URI path */\n      uri?: URI$1;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$1 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page$1;\n      /** Invalidate by URI path */\n      uri?: URI$1;\n  }\n  interface App$1 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$1 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$1 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface CreateFulfillmentMethodRequest$1 {\n      /** Fulfillment method to create. */\n      fulfillmentMethod: FulfillmentMethod$1;\n  }\n  interface CreateFulfillmentMethodResponse$1 {\n      /** The created fulfillment method. */\n      fulfillmentMethod?: FulfillmentMethod$1;\n  }\n  interface GetFulfillmentMethodRequest$1 {\n      /** The ID of the fulfillment method to retrieve. */\n      fulfillmentMethodId: string;\n  }\n  interface GetFulfillmentMethodResponse$1 {\n      /** The retrieved fulfillment method. */\n      fulfillmentMethod?: FulfillmentMethod$1;\n  }\n  interface UpdateFulfillmentMethodRequest$1 {\n      /**\n       * Fulfillment method to update.\n       * The fulfillment method update may be partial with the use of `field_mask`.\n       */\n      fulfillmentMethod: FulfillmentMethod$1;\n      /**\n       * Field mask of the fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateFulfillmentMethodResponse$1 {\n      /** The updated fulfillment method. */\n      fulfillmentMethod?: FulfillmentMethod$1;\n  }\n  interface DeleteFulfillmentMethodRequest$1 {\n      /** The ID of the fulfillment method to delete. */\n      fulfillmentMethodId: string;\n  }\n  interface DeleteFulfillmentMethodResponse$1 {\n  }\n  interface QueryFulfillmentMethodsRequest {\n      /** The query by which to select fulfillment methods. */\n      query?: CursorQuery;\n      /** Projection mask of the fields to return. */\n      projectionMask?: string[];\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryFulfillmentMethodsResponse {\n      /** The retrieved fulfillment methods. */\n      fulfillmentMethods?: FulfillmentMethod$1[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListFulfillmentMethodsRequest$1 {\n      /** The address by which to filter delivery fulfillment methods. */\n      address?: CommonAddress;\n  }\n  interface ListFulfillmentMethodsResponse$1 {\n      /** The retrieved fulfillment methods. */\n      fulfillmentMethods?: FulfillmentMethod$1[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface ListAvailableFulfillmentMethodsForAddressRequest {\n      /** The address by which to filter delivery fulfillment methods. */\n      address?: CommonAddress;\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$1;\n      /** If provided, only fulfillment methods with the given IDs will be returned. */\n      fulfillmentMethodIds?: string[];\n  }\n  interface ListAvailableFulfillmentMethodsForAddressResponse {\n      /** The retrieved fulfillment methods. */\n      fulfillmentMethods?: FulfillmentMethod$1[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation[];\n      /** Context of the notification */\n      changeContext?: ChangeContext;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /** Set of properties that were updated - corresponds to the fields in \"properties\". */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties;\n  }\n  interface Properties {\n      /** Site categories. */\n      categories?: Categories;\n      /** Site locale. */\n      locale?: Locale$1;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address$3;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual;\n      /** Cookie policy the site owner defined for their site (before the users interacts with/limits it). */\n      consentPolicy?: ConsentPolicy;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site url that uses Wix as its headless business solution */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale$1 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address$3 {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition the user can state where he wants that additional description - before, after, or instead\n   * the address string.\n   */\n  interface AddressHint {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$5[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$5[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$5 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$5;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$5;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$5 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$5 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale$1;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod;\n  }\n  enum ResolutionMethod {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext extends ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  interface PropertiesChange {\n  }\n  interface SiteCreated {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface Empty$3 {\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  /**\n   * Creates a new fulfillment method.\n   *\n   * Regardless of the value specified in `fulfillment_method.availability.time_zone`, the timezone will be derived from the site properties.\n   * @param fulfillmentMethod - Fulfillment method to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fulfillmentMethod\n   * @requiredField fulfillmentMethod.availability.timeZone\n   * @requiredField fulfillmentMethod.deliveryOptions.deliveryArea\n   * @requiredField fulfillmentMethod.deliveryOptions.deliveryArea.postalCodeOptions.countryCode\n   * @requiredField fulfillmentMethod.deliveryOptions.deliveryArea.radiusOptions.centerPointAddress\n   * @requiredField fulfillmentMethod.deliveryOptions.deliveryArea.radiusOptions.value\n   * @requiredField fulfillmentMethod.pickupOptions.address\n   * @adminMethod\n   * @returns The created fulfillment method.\n   */\n  function createFulfillmentMethod$1(fulfillmentMethod: FulfillmentMethod$1): Promise<FulfillmentMethod$1>;\n  /**\n   * Retrieves a fulfillment method.\n   * @param fulfillmentMethodId - The ID of the fulfillment method to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fulfillmentMethodId\n   * @returns The retrieved fulfillment method.\n   */\n  function getFulfillmentMethod$1(fulfillmentMethodId: string): Promise<FulfillmentMethod$1>;\n  /**\n   * Updates a fulfillment method.\n   *\n   * Each time the fulfillment method is updated, revision increments by 1. The existing revision must be included when updating the fulfillment method. This ensures you're working with the latest fulfillment method information, and it prevents unintended overwrites.\n   * @param _id - The ID of the fulfillment method.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField fulfillmentMethod\n   * @requiredField fulfillmentMethod.revision\n   * @adminMethod\n   * @returns The updated fulfillment method.\n   */\n  function updateFulfillmentMethod$1(_id: string | null, fulfillmentMethod: UpdateFulfillmentMethod$1, options?: UpdateFulfillmentMethodOptions$1): Promise<FulfillmentMethod$1>;\n  interface UpdateFulfillmentMethod$1 {\n      /** Data specific for pickup fulfillment method. */\n      pickupOptions?: PickupInfo$2;\n      /** Data specific for delivery fulfillment method. */\n      deliveryOptions?: DeliveryInfo$1;\n      /**\n       * The ID of the fulfillment method.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Timestamp at which the fulfillment method was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Timestamp at which the fulfillment method was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** The fulfillment method type. */\n      type?: FulfillmentMethodType$1;\n      /** The minimum order price to qualify for using this fulfillment method. */\n      minimumOrderAmount?: string | null;\n      /** The fulfillment method name. */\n      name?: string | null;\n      /** An indication of whether the fulfillment method is enabled or not. */\n      enabled?: boolean | null;\n      /** The fee for using this fulfillment method. */\n      fee?: string | null;\n      /** The availability of this fulfillment method. */\n      availability?: Availability$5;\n  }\n  interface UpdateFulfillmentMethodOptions$1 {\n      /**\n       * Field mask of the fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a fulfillment method.\n   * @param fulfillmentMethodId - The ID of the fulfillment method to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fulfillmentMethodId\n   * @adminMethod\n   */\n  function deleteFulfillmentMethod$1(fulfillmentMethodId: string): Promise<void>;\n  /**\n   * Retrieves a list of fulfillment methods by a given query.\n   *\n   * To learn how to query fulfillment methods, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   *\n   * Up to 100 fulfillment methods can be returned per request.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryFulfillmentMethods(options?: QueryFulfillmentMethodsOptions): FulfillmentMethodsQueryBuilder;\n  interface QueryFulfillmentMethodsOptions {\n      /** Projection mask of the fields to return. */\n      projectionMask?: string[] | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface FulfillmentMethodsQueryResult extends QueryCursorResult {\n      items: FulfillmentMethod$1[];\n      query: FulfillmentMethodsQueryBuilder;\n      next: () => Promise<FulfillmentMethodsQueryResult>;\n      prev: () => Promise<FulfillmentMethodsQueryResult>;\n  }\n  interface FulfillmentMethodsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id', value: any) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id', value: string) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id', value: any[]) => FulfillmentMethodsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id', value: any) => FulfillmentMethodsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id', value: boolean) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id'>) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id'>) => FulfillmentMethodsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => FulfillmentMethodsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => FulfillmentMethodsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<FulfillmentMethodsQueryResult>;\n  }\n  /**\n   * Retrieves a list of fulfillment methods.\n   *\n   * When an address is not provided in the input, our system retrieves a list encompassing all types of fulfillment methods.\n   *\n   * Conversely, if an address is given, the response includes non-delivery fulfillment methods along with delivery fulfillment methods that are applicable to the given address, ensuring the address falls within the defined delivery area of these methods.\n   *\n   * Up to 100 fulfillment methods can be returned.\n   *\n   * TODO: add support for pagination in the request since it's given in the response, and add docs reference regarding how to do the pagination\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listFulfillmentMethods$1(options?: ListFulfillmentMethodsOptions$1): Promise<ListFulfillmentMethodsResponse$1>;\n  interface ListFulfillmentMethodsOptions$1 {\n      /** The address by which to filter delivery fulfillment methods. */\n      address?: CommonAddress;\n  }\n  /**\n   * Retrieves a list of fulfillment methods available for a given address.\n   *\n   * The response includes non-delivery fulfillment methods along with delivery fulfillment methods that are applicable to the given address, ensuring the address falls within the defined delivery area of these methods.\n   *\n   * Up to 100 fulfillment methods can be returned per request.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listAvailableFulfillmentMethodsForAddress(options?: ListAvailableFulfillmentMethodsForAddressOptions): Promise<ListAvailableFulfillmentMethodsForAddressResponse>;\n  interface ListAvailableFulfillmentMethodsForAddressOptions {\n      /** The address by which to filter delivery fulfillment methods. */\n      address?: CommonAddress;\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$1;\n      /** If provided, only fulfillment methods with the given IDs will be returned. */\n      fulfillmentMethodIds?: string[];\n  }\n  \n  const restaurantsV1FulfillmentMethod_universal_d___debug: typeof __debug;\n  type restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodMethodOptionsOneOf = FulfillmentMethodMethodOptionsOneOf;\n  type restaurantsV1FulfillmentMethod_universal_d_CommonAddress = CommonAddress;\n  type restaurantsV1FulfillmentMethod_universal_d_CommonAddressStreetOneOf = CommonAddressStreetOneOf;\n  type restaurantsV1FulfillmentMethod_universal_d_DeliveryArea = DeliveryArea;\n  type restaurantsV1FulfillmentMethod_universal_d_DeliveryAreaAreaOptionsOneOf = DeliveryAreaAreaOptionsOneOf;\n  type restaurantsV1FulfillmentMethod_universal_d_Radius = Radius;\n  type restaurantsV1FulfillmentMethod_universal_d_Unit = Unit;\n  const restaurantsV1FulfillmentMethod_universal_d_Unit: typeof Unit;\n  type restaurantsV1FulfillmentMethod_universal_d_PostalCode = PostalCode;\n  type restaurantsV1FulfillmentMethod_universal_d_CustomArea = CustomArea;\n  type restaurantsV1FulfillmentMethod_universal_d_DayOfWeekAvailability = DayOfWeekAvailability;\n  type restaurantsV1FulfillmentMethod_universal_d_EntitiesDayOfWeek = EntitiesDayOfWeek;\n  const restaurantsV1FulfillmentMethod_universal_d_EntitiesDayOfWeek: typeof EntitiesDayOfWeek;\n  type restaurantsV1FulfillmentMethod_universal_d_TimeOfDayRange = TimeOfDayRange;\n  type restaurantsV1FulfillmentMethod_universal_d_TimeOfDay = TimeOfDay;\n  type restaurantsV1FulfillmentMethod_universal_d_AvailabilityException = AvailabilityException;\n  type restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsRequest = QueryFulfillmentMethodsRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_CursorQuery = CursorQuery;\n  type restaurantsV1FulfillmentMethod_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsResponse = QueryFulfillmentMethodsResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressRequest = ListAvailableFulfillmentMethodsForAddressRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressResponse = ListAvailableFulfillmentMethodsForAddressResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n  type restaurantsV1FulfillmentMethod_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n  type restaurantsV1FulfillmentMethod_universal_d_Properties = Properties;\n  type restaurantsV1FulfillmentMethod_universal_d_Categories = Categories;\n  type restaurantsV1FulfillmentMethod_universal_d_AddressHint = AddressHint;\n  type restaurantsV1FulfillmentMethod_universal_d_PlacementType = PlacementType;\n  const restaurantsV1FulfillmentMethod_universal_d_PlacementType: typeof PlacementType;\n  type restaurantsV1FulfillmentMethod_universal_d_GeoCoordinates = GeoCoordinates;\n  type restaurantsV1FulfillmentMethod_universal_d_BusinessSchedule = BusinessSchedule;\n  type restaurantsV1FulfillmentMethod_universal_d_Multilingual = Multilingual;\n  type restaurantsV1FulfillmentMethod_universal_d_SupportedLanguage = SupportedLanguage;\n  type restaurantsV1FulfillmentMethod_universal_d_ResolutionMethod = ResolutionMethod;\n  const restaurantsV1FulfillmentMethod_universal_d_ResolutionMethod: typeof ResolutionMethod;\n  type restaurantsV1FulfillmentMethod_universal_d_ConsentPolicy = ConsentPolicy;\n  type restaurantsV1FulfillmentMethod_universal_d_Translation = Translation;\n  type restaurantsV1FulfillmentMethod_universal_d_ChangeContext = ChangeContext;\n  type restaurantsV1FulfillmentMethod_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n  type restaurantsV1FulfillmentMethod_universal_d_PropertiesChange = PropertiesChange;\n  type restaurantsV1FulfillmentMethod_universal_d_SiteCreated = SiteCreated;\n  type restaurantsV1FulfillmentMethod_universal_d_SiteCloned = SiteCloned;\n  const restaurantsV1FulfillmentMethod_universal_d_queryFulfillmentMethods: typeof queryFulfillmentMethods;\n  type restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsOptions = QueryFulfillmentMethodsOptions;\n  type restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodsQueryResult = FulfillmentMethodsQueryResult;\n  type restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodsQueryBuilder = FulfillmentMethodsQueryBuilder;\n  const restaurantsV1FulfillmentMethod_universal_d_listAvailableFulfillmentMethodsForAddress: typeof listAvailableFulfillmentMethodsForAddress;\n  type restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressOptions = ListAvailableFulfillmentMethodsForAddressOptions;\n  namespace restaurantsV1FulfillmentMethod_universal_d {\n    export {\n      restaurantsV1FulfillmentMethod_universal_d___debug as __debug,\n      FulfillmentMethod$1 as FulfillmentMethod,\n      restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodMethodOptionsOneOf as FulfillmentMethodMethodOptionsOneOf,\n      FulfillmentMethodType$1 as FulfillmentMethodType,\n      PickupInfo$2 as PickupInfo,\n      restaurantsV1FulfillmentMethod_universal_d_CommonAddress as CommonAddress,\n      restaurantsV1FulfillmentMethod_universal_d_CommonAddressStreetOneOf as CommonAddressStreetOneOf,\n      StreetAddress$3 as StreetAddress,\n      AddressLocation$4 as AddressLocation,\n      Subdivision$1 as Subdivision,\n      SubdivisionType$1 as SubdivisionType,\n      DeliveryInfo$1 as DeliveryInfo,\n      restaurantsV1FulfillmentMethod_universal_d_DeliveryArea as DeliveryArea,\n      restaurantsV1FulfillmentMethod_universal_d_DeliveryAreaAreaOptionsOneOf as DeliveryAreaAreaOptionsOneOf,\n      Type$4 as Type,\n      restaurantsV1FulfillmentMethod_universal_d_Radius as Radius,\n      restaurantsV1FulfillmentMethod_universal_d_Unit as Unit,\n      restaurantsV1FulfillmentMethod_universal_d_PostalCode as PostalCode,\n      restaurantsV1FulfillmentMethod_universal_d_CustomArea as CustomArea,\n      Availability$5 as Availability,\n      restaurantsV1FulfillmentMethod_universal_d_DayOfWeekAvailability as DayOfWeekAvailability,\n      restaurantsV1FulfillmentMethod_universal_d_EntitiesDayOfWeek as EntitiesDayOfWeek,\n      restaurantsV1FulfillmentMethod_universal_d_TimeOfDayRange as TimeOfDayRange,\n      restaurantsV1FulfillmentMethod_universal_d_TimeOfDay as TimeOfDay,\n      restaurantsV1FulfillmentMethod_universal_d_AvailabilityException as AvailabilityException,\n      InvalidateCache$1 as InvalidateCache,\n      InvalidateCacheGetByOneOf$1 as InvalidateCacheGetByOneOf,\n      App$1 as App,\n      Page$1 as Page,\n      URI$1 as URI,\n      CreateFulfillmentMethodRequest$1 as CreateFulfillmentMethodRequest,\n      CreateFulfillmentMethodResponse$1 as CreateFulfillmentMethodResponse,\n      GetFulfillmentMethodRequest$1 as GetFulfillmentMethodRequest,\n      GetFulfillmentMethodResponse$1 as GetFulfillmentMethodResponse,\n      UpdateFulfillmentMethodRequest$1 as UpdateFulfillmentMethodRequest,\n      UpdateFulfillmentMethodResponse$1 as UpdateFulfillmentMethodResponse,\n      DeleteFulfillmentMethodRequest$1 as DeleteFulfillmentMethodRequest,\n      DeleteFulfillmentMethodResponse$1 as DeleteFulfillmentMethodResponse,\n      restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsRequest as QueryFulfillmentMethodsRequest,\n      restaurantsV1FulfillmentMethod_universal_d_CursorQuery as CursorQuery,\n      restaurantsV1FulfillmentMethod_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsResponse as QueryFulfillmentMethodsResponse,\n      restaurantsV1FulfillmentMethod_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      ListFulfillmentMethodsRequest$1 as ListFulfillmentMethodsRequest,\n      ListFulfillmentMethodsResponse$1 as ListFulfillmentMethodsResponse,\n      restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressRequest as ListAvailableFulfillmentMethodsForAddressRequest,\n      restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressResponse as ListAvailableFulfillmentMethodsForAddressResponse,\n      restaurantsV1FulfillmentMethod_universal_d_SitePropertiesNotification as SitePropertiesNotification,\n      restaurantsV1FulfillmentMethod_universal_d_SitePropertiesEvent as SitePropertiesEvent,\n      restaurantsV1FulfillmentMethod_universal_d_Properties as Properties,\n      restaurantsV1FulfillmentMethod_universal_d_Categories as Categories,\n      Locale$1 as Locale,\n      Address$3 as Address,\n      restaurantsV1FulfillmentMethod_universal_d_AddressHint as AddressHint,\n      restaurantsV1FulfillmentMethod_universal_d_PlacementType as PlacementType,\n      restaurantsV1FulfillmentMethod_universal_d_GeoCoordinates as GeoCoordinates,\n      restaurantsV1FulfillmentMethod_universal_d_BusinessSchedule as BusinessSchedule,\n      TimePeriod$5 as TimePeriod,\n      DayOfWeek$5 as DayOfWeek,\n      SpecialHourPeriod$5 as SpecialHourPeriod,\n      restaurantsV1FulfillmentMethod_universal_d_Multilingual as Multilingual,\n      restaurantsV1FulfillmentMethod_universal_d_SupportedLanguage as SupportedLanguage,\n      restaurantsV1FulfillmentMethod_universal_d_ResolutionMethod as ResolutionMethod,\n      restaurantsV1FulfillmentMethod_universal_d_ConsentPolicy as ConsentPolicy,\n      restaurantsV1FulfillmentMethod_universal_d_Translation as Translation,\n      restaurantsV1FulfillmentMethod_universal_d_ChangeContext as ChangeContext,\n      restaurantsV1FulfillmentMethod_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf,\n      restaurantsV1FulfillmentMethod_universal_d_PropertiesChange as PropertiesChange,\n      restaurantsV1FulfillmentMethod_universal_d_SiteCreated as SiteCreated,\n      restaurantsV1FulfillmentMethod_universal_d_SiteCloned as SiteCloned,\n      Empty$3 as Empty,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      createFulfillmentMethod$1 as createFulfillmentMethod,\n      getFulfillmentMethod$1 as getFulfillmentMethod,\n      updateFulfillmentMethod$1 as updateFulfillmentMethod,\n      UpdateFulfillmentMethod$1 as UpdateFulfillmentMethod,\n      UpdateFulfillmentMethodOptions$1 as UpdateFulfillmentMethodOptions,\n      deleteFulfillmentMethod$1 as deleteFulfillmentMethod,\n      restaurantsV1FulfillmentMethod_universal_d_queryFulfillmentMethods as queryFulfillmentMethods,\n      restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsOptions as QueryFulfillmentMethodsOptions,\n      restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodsQueryResult as FulfillmentMethodsQueryResult,\n      restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodsQueryBuilder as FulfillmentMethodsQueryBuilder,\n      listFulfillmentMethods$1 as listFulfillmentMethods,\n      ListFulfillmentMethodsOptions$1 as ListFulfillmentMethodsOptions,\n      restaurantsV1FulfillmentMethod_universal_d_listAvailableFulfillmentMethodsForAddress as listAvailableFulfillmentMethodsForAddress,\n      restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressOptions as ListAvailableFulfillmentMethodsForAddressOptions,\n    };\n  }\n  \n  interface Tpa$1 {\n  }\n  interface ListAccountIdsRequest$1 {\n      /** Instance ID. */\n      instanceId: string;\n  }\n  interface ListAccountIdsResponse$1 {\n      /** Account IDs. */\n      accountIds?: string[];\n  }\n  interface BusinessStatusRequest {\n      /** Instance ID. */\n      instanceId: string;\n      /** Account ID. */\n      accountId: string;\n  }\n  interface BusinessStatusResponse {\n      /** List of statue. */\n      status?: BusinessStatus$1;\n      /** The reason for the error in free text. */\n      failureReasonMessage?: string | null;\n  }\n  /** Business Status. */\n  enum BusinessStatus$1 {\n      NONE = \"NONE\",\n      READY = \"READY\",\n      PENDING = \"PENDING\",\n      ERROR = \"ERROR\",\n      NOT_STARTED = \"NOT_STARTED\"\n  }\n  interface EstimateDeliveryRequest$1 extends EstimateDeliveryRequestDispatchTimeOneOf$1 {\n      /** Estimated pickup time. */\n      pickupTime?: Date | null;\n      /** Estimated dropoff time. */\n      dropoffTime?: Date | null;\n      /** Instance ID. */\n      instanceId: string;\n      /** Account ID. */\n      accountId: string;\n      /** Delivery pickup address. */\n      pickupAddress?: Address$2;\n      /** Delivery dropoff address. */\n      dropoffAddress?: Address$2;\n      /** Unique identifier of the specific store that the delivery is for. */\n      storeLocationId: string;\n      /** The subtotal for all items in the order, excluding tax/tip. */\n      orderTotal: Money$4;\n  }\n  /** @oneof */\n  interface EstimateDeliveryRequestDispatchTimeOneOf$1 {\n      /** Estimated pickup time. */\n      pickupTime?: Date | null;\n      /** Estimated dropoff time. */\n      dropoffTime?: Date | null;\n  }\n  /** Physical address */\n  interface Address$2 {\n      /** Country code. */\n      country?: string;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Street name and number. */\n      streetAddress?: StreetAddress$2;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** Coordinates of the physical address. */\n      location?: AddressLocation$3;\n  }\n  interface StreetAddress$2 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation$3 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money$4 {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface EstimateDeliveryResponse$1 {\n      /** Optional. Used as reference to the estimate when creating a new order. */\n      _id?: string | null;\n      /** Amount that is charged for this delivery. */\n      fee?: Money$4;\n      /** Estimated pickup time. */\n      promisedPickupTime?: Date | null;\n      /** Estimated dropoff time. */\n      promisedDropoffTime?: Date | null;\n  }\n  interface CreateDeliveryRequest$1 extends CreateDeliveryRequestDispatchTimeOneOf$1 {\n      /** The requested time at which the order should be picked up. */\n      pickupTime?: Date | null;\n      /** The requested time at which the order should be delivered. */\n      dropoffTime?: Date | null;\n      /** Instance ID. */\n      instanceId: string;\n      /** Account ID. */\n      accountId: string;\n      /** Unique identifier of the specific store that the delivery is for. */\n      storeLocationId: string;\n      /** The name of the business where the order should be picked up from. */\n      pickupBusinessName: string;\n      /** Estimate ID. */\n      estimateId?: string | null;\n      /** Delivery pickup address. */\n      pickupAddress: Address$2;\n      /** Delivery dropoff address. */\n      dropoffAddress: Address$2;\n      /** Phone number of the store where the order should be picked up from. */\n      pickupPhoneNumber: string;\n      /** Customer details. */\n      customer: Customer$2;\n      /** Instructions for the courier at the pickup location. */\n      pickupInstructions?: string | null;\n      /** Instructions for the courier at the dropoff location. */\n      dropoffInstructions?: string | null;\n      /** Is contactless delivery. */\n      contactlessDelivery?: boolean | null;\n      /** Order ID. */\n      orderId: string;\n      /** The subtotal for all items in the order, excluding tax/tip. */\n      orderTotal: Money$4;\n      /** Amount that will be paid to the courier. */\n      orderTip: Money$4;\n  }\n  /** @oneof */\n  interface CreateDeliveryRequestDispatchTimeOneOf$1 {\n      /** The requested time at which the order should be picked up. */\n      pickupTime?: Date | null;\n      /** The requested time at which the order should be delivered. */\n      dropoffTime?: Date | null;\n  }\n  interface Customer$2 {\n      /** First name. */\n      firstName?: string;\n      /** Last name. */\n      lastName?: string;\n      /** Phone number. */\n      phoneNumber?: string;\n      /** Email address. */\n      email?: string;\n  }\n  interface CreateDeliveryResponse$1 {\n      /** The vendor new order id */\n      _id?: string;\n      /** When a delivery is ready to be picked up. This is the start of the pickup window. */\n      pickupWindowStartTime?: Date | null;\n      /** When a delivery must be picked up by. This is the end of the pickup window. */\n      pickupWindowEndTime?: Date | null;\n      /** When a delivery is ready to be dropped off. This is the start of the dropoff window. */\n      dropoffWindowStartTime?: Date | null;\n      /** When a delivery must be dropped off by. This is the end of the dropoff window. */\n      dropoffWindowEndTime?: Date | null;\n      /** Amount that is charged for this delivery. */\n      fee?: Money$4;\n  }\n  /**\n   * Retrieves list of account belongs to given instance\n   * @param instanceId - Instance ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @permissionId WIX_RESTAURANTS.READ_LOCAL_DELIVERY\n   */\n  function listAccountIds$1(instanceId: string): Promise<ListAccountIdsResponse$1>;\n  /**\n   * Retrieves the delivery vendor business status\n   * @param instanceId - Instance ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @requiredField options\n   * @requiredField options.accountId\n   * @permissionId WIX_RESTAURANTS.READ_LOCAL_DELIVERY\n   */\n  function businessStatus(instanceId: string, options: BusinessStatusOptions): Promise<BusinessStatusResponse>;\n  interface BusinessStatusOptions {\n      /** Account ID. */\n      accountId: string;\n  }\n  /**\n   * Retrieves an estimate of the delivery\n   * @param instanceId - Instance ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @requiredField options.accountId\n   * @requiredField options.orderTotal\n   * @requiredField options.storeLocationId\n   * @permissionId WIX_RESTAURANTS.READ_LOCAL_DELIVERY\n   */\n  function estimateDelivery$1(instanceId: string, options?: EstimateDeliveryOptions$1): Promise<EstimateDeliveryResponse$1>;\n  interface EstimateDeliveryOptions$1 extends EstimateDeliveryRequestDispatchTimeOneOf$1 {\n      /** Account ID. */\n      accountId: string;\n      /** Delivery pickup address. */\n      pickupAddress?: Address$2;\n      /** Delivery dropoff address. */\n      dropoffAddress?: Address$2;\n      /** Estimated pickup time. */\n      pickupTime?: Date | null;\n      /** Estimated dropoff time. */\n      dropoffTime?: Date | null;\n      /** Unique identifier of the specific store that the delivery is for. */\n      storeLocationId: string;\n      /** The subtotal for all items in the order, excluding tax/tip. */\n      orderTotal: Money$4;\n  }\n  /**\n   * Creates a new delivery order\n   * @param instanceId - Instance ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @requiredField options.accountId\n   * @requiredField options.customer\n   * @requiredField options.customer.email\n   * @requiredField options.customer.firstName\n   * @requiredField options.customer.lastName\n   * @requiredField options.customer.phoneNumber\n   * @requiredField options.dropoffAddress\n   * @requiredField options.orderId\n   * @requiredField options.orderTip\n   * @requiredField options.orderTotal\n   * @requiredField options.pickupAddress\n   * @requiredField options.pickupBusinessName\n   * @requiredField options.pickupPhoneNumber\n   * @requiredField options.storeLocationId\n   * @permissionId WIX_RESTAURANTS.WRITE_LOCAL_DELIVERY\n   * @adminMethod\n   */\n  function createDelivery$1(instanceId: string, options?: CreateDeliveryOptions$1): Promise<CreateDeliveryResponse$1>;\n  interface CreateDeliveryOptions$1 extends CreateDeliveryRequestDispatchTimeOneOf$1 {\n      /** Account ID. */\n      accountId: string;\n      /** Unique identifier of the specific store that the delivery is for. */\n      storeLocationId: string;\n      /** The name of the business where the order should be picked up from. */\n      pickupBusinessName: string;\n      /** Estimate ID. */\n      estimateId?: string | null;\n      /** The requested time at which the order should be picked up. */\n      pickupTime?: Date | null;\n      /** The requested time at which the order should be delivered. */\n      dropoffTime?: Date | null;\n      /** Delivery pickup address. */\n      pickupAddress: Address$2;\n      /** Delivery dropoff address. */\n      dropoffAddress: Address$2;\n      /** Phone number of the store where the order should be picked up from. */\n      pickupPhoneNumber: string;\n      /** Customer details. */\n      customer: Customer$2;\n      /** Instructions for the courier at the pickup location. */\n      pickupInstructions?: string | null;\n      /** Instructions for the courier at the dropoff location. */\n      dropoffInstructions?: string | null;\n      /** Is contactless delivery. */\n      contactlessDelivery?: boolean | null;\n      /** Order ID. */\n      orderId: string;\n      /** The subtotal for all items in the order, excluding tax/tip. */\n      orderTotal: Money$4;\n      /** Amount that will be paid to the courier. */\n      orderTip: Money$4;\n  }\n  \n  type localdeliverySpiV1Tpa_universal_d_BusinessStatusRequest = BusinessStatusRequest;\n  type localdeliverySpiV1Tpa_universal_d_BusinessStatusResponse = BusinessStatusResponse;\n  const localdeliverySpiV1Tpa_universal_d_businessStatus: typeof businessStatus;\n  type localdeliverySpiV1Tpa_universal_d_BusinessStatusOptions = BusinessStatusOptions;\n  namespace localdeliverySpiV1Tpa_universal_d {\n    export {\n      Tpa$1 as Tpa,\n      ListAccountIdsRequest$1 as ListAccountIdsRequest,\n      ListAccountIdsResponse$1 as ListAccountIdsResponse,\n      localdeliverySpiV1Tpa_universal_d_BusinessStatusRequest as BusinessStatusRequest,\n      localdeliverySpiV1Tpa_universal_d_BusinessStatusResponse as BusinessStatusResponse,\n      BusinessStatus$1 as BusinessStatus,\n      EstimateDeliveryRequest$1 as EstimateDeliveryRequest,\n      EstimateDeliveryRequestDispatchTimeOneOf$1 as EstimateDeliveryRequestDispatchTimeOneOf,\n      Address$2 as Address,\n      StreetAddress$2 as StreetAddress,\n      AddressLocation$3 as AddressLocation,\n      Money$4 as Money,\n      EstimateDeliveryResponse$1 as EstimateDeliveryResponse,\n      CreateDeliveryRequest$1 as CreateDeliveryRequest,\n      CreateDeliveryRequestDispatchTimeOneOf$1 as CreateDeliveryRequestDispatchTimeOneOf,\n      Customer$2 as Customer,\n      CreateDeliveryResponse$1 as CreateDeliveryResponse,\n      listAccountIds$1 as listAccountIds,\n      localdeliverySpiV1Tpa_universal_d_businessStatus as businessStatus,\n      localdeliverySpiV1Tpa_universal_d_BusinessStatusOptions as BusinessStatusOptions,\n      estimateDelivery$1 as estimateDelivery,\n      EstimateDeliveryOptions$1 as EstimateDeliveryOptions,\n      createDelivery$1 as createDelivery,\n      CreateDeliveryOptions$1 as CreateDeliveryOptions,\n    };\n  }\n  \n  interface Tpa {\n      appDefId?: string;\n      name?: string;\n      businessStatus?: BusinessStatus;\n      errorReason?: string;\n  }\n  enum BusinessStatus {\n      NONE = \"NONE\",\n      READY = \"READY\",\n      PENDING = \"PENDING\",\n      ERROR = \"ERROR\",\n      NOT_STARTED = \"NOT_STARTED\"\n  }\n  interface ListAccountIdsRequest {\n      appDefId: string;\n  }\n  interface ListAccountIdsResponse {\n      accountIds?: string[];\n  }\n  interface ListAppDefIdsRequest {\n  }\n  interface ListAppDefIdsResponse {\n      appDefIds?: string[];\n  }\n  interface GetBusinessStatusRequest {\n      appDefId: string;\n      accountId: string;\n  }\n  interface GetBusinessStatusResponse {\n      status?: BusinessStatus;\n      failureReasonMessage?: string | null;\n  }\n  interface GetRegistrationUrlRequest {\n      appDefId: string;\n  }\n  interface GetRegistrationUrlResponse {\n      url?: string;\n  }\n  interface EstimateDeliveryRequest extends EstimateDeliveryRequestDispatchTimeOneOf {\n      pickupTime?: Date | null;\n      dropoffTime?: Date | null;\n      appDefId: string;\n      accountId: string;\n      pickupAddress?: Address$1;\n      dropoffAddress?: Address$1;\n      storeLocationId: string;\n      orderTotal: Money$3;\n  }\n  /** @oneof */\n  interface EstimateDeliveryRequestDispatchTimeOneOf {\n      pickupTime?: Date | null;\n      dropoffTime?: Date | null;\n  }\n  /** Physical address */\n  interface Address$1 {\n      /** Country code. */\n      country?: string;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Street name and number. */\n      streetAddress?: StreetAddress$1;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** Coordinates of the physical address. */\n      location?: AddressLocation$2;\n  }\n  interface StreetAddress$1 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation$2 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money$3 {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface EstimateDeliveryResponse {\n      /** Optional. Used as reference to the estimate when creating a new order */\n      _id?: string | null;\n      /** Delivery fee */\n      fee?: Money$3;\n      promisedPickupTime?: Date | null;\n      promisedDropoffTime?: Date | null;\n  }\n  interface CreateDeliveryRequest extends CreateDeliveryRequestDispatchTimeOneOf {\n      pickupTime?: Date | null;\n      dropoffTime?: Date | null;\n      appDefId: string;\n      accountId: string;\n      storeLocationId: string;\n      pickupBusinessName: string;\n      pickupAddress: Address$1;\n      dropoffAddress: Address$1;\n      estimateId?: string | null;\n      pickupPhoneNumber: string;\n      customer: Customer$1;\n      pickupInstructions?: string | null;\n      dropoffInstructions?: string | null;\n      contactlessDelivery?: boolean | null;\n      orderId: string;\n      orderTotal: Money$3;\n      orderTip: Money$3;\n  }\n  /** @oneof */\n  interface CreateDeliveryRequestDispatchTimeOneOf {\n      pickupTime?: Date | null;\n      dropoffTime?: Date | null;\n  }\n  interface Customer$1 {\n      firstName?: string;\n      lastName?: string;\n      phoneNumber?: string;\n      email?: string;\n  }\n  interface CreateDeliveryResponse {\n      /** The vendor new order id */\n      _id?: string;\n      /** Status of the order creation call */\n      pickupWindowStartTime?: Date | null;\n      pickupWindowEndTime?: Date | null;\n      dropoffWindowStartTime?: Date | null;\n      dropoffWindowEndTime?: Date | null;\n      fee?: Money$3;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField appDefId\n   * @permissionId WIX_RESTAURANTS.READ_LOCAL_DELIVERY\n   */\n  function listAccountIds(appDefId: string): Promise<ListAccountIdsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.READ_LOCAL_DELIVERY\n   */\n  function listAppDefIds(): Promise<ListAppDefIdsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField appDefId\n   * @requiredField options\n   * @requiredField options.accountId\n   * @permissionId WIX_RESTAURANTS.READ_LOCAL_DELIVERY\n   */\n  function getBusinessStatus(appDefId: string, options: GetBusinessStatusOptions): Promise<GetBusinessStatusResponse>;\n  interface GetBusinessStatusOptions {\n      accountId: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField appDefId\n   * @permissionId WIX_RESTAURANTS.READ_LOCAL_DELIVERY\n   */\n  function getRegistrationUrl(appDefId: string): Promise<GetRegistrationUrlResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField appDefId\n   * @requiredField options.accountId\n   * @requiredField options.orderTotal\n   * @requiredField options.storeLocationId\n   * @permissionId WIX_RESTAURANTS.READ_LOCAL_DELIVERY\n   */\n  function estimateDelivery(appDefId: string, options?: EstimateDeliveryOptions): Promise<EstimateDeliveryResponse>;\n  interface EstimateDeliveryOptions extends EstimateDeliveryRequestDispatchTimeOneOf {\n      accountId: string;\n      pickupAddress?: Address$1;\n      dropoffAddress?: Address$1;\n      pickupTime?: Date | null;\n      dropoffTime?: Date | null;\n      storeLocationId: string;\n      orderTotal: Money$3;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField appDefId\n   * @requiredField options.accountId\n   * @requiredField options.customer\n   * @requiredField options.customer.email\n   * @requiredField options.customer.firstName\n   * @requiredField options.customer.lastName\n   * @requiredField options.customer.phoneNumber\n   * @requiredField options.dropoffAddress\n   * @requiredField options.orderId\n   * @requiredField options.orderTip\n   * @requiredField options.orderTotal\n   * @requiredField options.pickupAddress\n   * @requiredField options.pickupBusinessName\n   * @requiredField options.pickupPhoneNumber\n   * @requiredField options.storeLocationId\n   * @permissionId WIX_RESTAURANTS.WRITE_LOCAL_DELIVERY\n   * @adminMethod\n   */\n  function createDelivery(appDefId: string, options?: CreateDeliveryOptions): Promise<CreateDeliveryResponse>;\n  interface CreateDeliveryOptions extends CreateDeliveryRequestDispatchTimeOneOf {\n      accountId: string;\n      storeLocationId: string;\n      pickupBusinessName: string;\n      pickupAddress: Address$1;\n      dropoffAddress: Address$1;\n      pickupTime?: Date | null;\n      dropoffTime?: Date | null;\n      estimateId?: string | null;\n      pickupPhoneNumber: string;\n      customer: Customer$1;\n      pickupInstructions?: string | null;\n      dropoffInstructions?: string | null;\n      contactlessDelivery?: boolean | null;\n      orderId: string;\n      orderTotal: Money$3;\n      orderTip: Money$3;\n  }\n  \n  type localdeliveryV1Tpa_universal_d_Tpa = Tpa;\n  type localdeliveryV1Tpa_universal_d_BusinessStatus = BusinessStatus;\n  const localdeliveryV1Tpa_universal_d_BusinessStatus: typeof BusinessStatus;\n  type localdeliveryV1Tpa_universal_d_ListAccountIdsRequest = ListAccountIdsRequest;\n  type localdeliveryV1Tpa_universal_d_ListAccountIdsResponse = ListAccountIdsResponse;\n  type localdeliveryV1Tpa_universal_d_ListAppDefIdsRequest = ListAppDefIdsRequest;\n  type localdeliveryV1Tpa_universal_d_ListAppDefIdsResponse = ListAppDefIdsResponse;\n  type localdeliveryV1Tpa_universal_d_GetBusinessStatusRequest = GetBusinessStatusRequest;\n  type localdeliveryV1Tpa_universal_d_GetBusinessStatusResponse = GetBusinessStatusResponse;\n  type localdeliveryV1Tpa_universal_d_GetRegistrationUrlRequest = GetRegistrationUrlRequest;\n  type localdeliveryV1Tpa_universal_d_GetRegistrationUrlResponse = GetRegistrationUrlResponse;\n  type localdeliveryV1Tpa_universal_d_EstimateDeliveryRequest = EstimateDeliveryRequest;\n  type localdeliveryV1Tpa_universal_d_EstimateDeliveryRequestDispatchTimeOneOf = EstimateDeliveryRequestDispatchTimeOneOf;\n  type localdeliveryV1Tpa_universal_d_EstimateDeliveryResponse = EstimateDeliveryResponse;\n  type localdeliveryV1Tpa_universal_d_CreateDeliveryRequest = CreateDeliveryRequest;\n  type localdeliveryV1Tpa_universal_d_CreateDeliveryRequestDispatchTimeOneOf = CreateDeliveryRequestDispatchTimeOneOf;\n  type localdeliveryV1Tpa_universal_d_CreateDeliveryResponse = CreateDeliveryResponse;\n  const localdeliveryV1Tpa_universal_d_listAccountIds: typeof listAccountIds;\n  const localdeliveryV1Tpa_universal_d_listAppDefIds: typeof listAppDefIds;\n  const localdeliveryV1Tpa_universal_d_getBusinessStatus: typeof getBusinessStatus;\n  type localdeliveryV1Tpa_universal_d_GetBusinessStatusOptions = GetBusinessStatusOptions;\n  const localdeliveryV1Tpa_universal_d_getRegistrationUrl: typeof getRegistrationUrl;\n  const localdeliveryV1Tpa_universal_d_estimateDelivery: typeof estimateDelivery;\n  type localdeliveryV1Tpa_universal_d_EstimateDeliveryOptions = EstimateDeliveryOptions;\n  const localdeliveryV1Tpa_universal_d_createDelivery: typeof createDelivery;\n  type localdeliveryV1Tpa_universal_d_CreateDeliveryOptions = CreateDeliveryOptions;\n  namespace localdeliveryV1Tpa_universal_d {\n    export {\n      localdeliveryV1Tpa_universal_d_Tpa as Tpa,\n      localdeliveryV1Tpa_universal_d_BusinessStatus as BusinessStatus,\n      localdeliveryV1Tpa_universal_d_ListAccountIdsRequest as ListAccountIdsRequest,\n      localdeliveryV1Tpa_universal_d_ListAccountIdsResponse as ListAccountIdsResponse,\n      localdeliveryV1Tpa_universal_d_ListAppDefIdsRequest as ListAppDefIdsRequest,\n      localdeliveryV1Tpa_universal_d_ListAppDefIdsResponse as ListAppDefIdsResponse,\n      localdeliveryV1Tpa_universal_d_GetBusinessStatusRequest as GetBusinessStatusRequest,\n      localdeliveryV1Tpa_universal_d_GetBusinessStatusResponse as GetBusinessStatusResponse,\n      localdeliveryV1Tpa_universal_d_GetRegistrationUrlRequest as GetRegistrationUrlRequest,\n      localdeliveryV1Tpa_universal_d_GetRegistrationUrlResponse as GetRegistrationUrlResponse,\n      localdeliveryV1Tpa_universal_d_EstimateDeliveryRequest as EstimateDeliveryRequest,\n      localdeliveryV1Tpa_universal_d_EstimateDeliveryRequestDispatchTimeOneOf as EstimateDeliveryRequestDispatchTimeOneOf,\n      Address$1 as Address,\n      StreetAddress$1 as StreetAddress,\n      AddressLocation$2 as AddressLocation,\n      Money$3 as Money,\n      localdeliveryV1Tpa_universal_d_EstimateDeliveryResponse as EstimateDeliveryResponse,\n      localdeliveryV1Tpa_universal_d_CreateDeliveryRequest as CreateDeliveryRequest,\n      localdeliveryV1Tpa_universal_d_CreateDeliveryRequestDispatchTimeOneOf as CreateDeliveryRequestDispatchTimeOneOf,\n      Customer$1 as Customer,\n      localdeliveryV1Tpa_universal_d_CreateDeliveryResponse as CreateDeliveryResponse,\n      localdeliveryV1Tpa_universal_d_listAccountIds as listAccountIds,\n      localdeliveryV1Tpa_universal_d_listAppDefIds as listAppDefIds,\n      localdeliveryV1Tpa_universal_d_getBusinessStatus as getBusinessStatus,\n      localdeliveryV1Tpa_universal_d_GetBusinessStatusOptions as GetBusinessStatusOptions,\n      localdeliveryV1Tpa_universal_d_getRegistrationUrl as getRegistrationUrl,\n      localdeliveryV1Tpa_universal_d_estimateDelivery as estimateDelivery,\n      localdeliveryV1Tpa_universal_d_EstimateDeliveryOptions as EstimateDeliveryOptions,\n      localdeliveryV1Tpa_universal_d_createDelivery as createDelivery,\n      localdeliveryV1Tpa_universal_d_CreateDeliveryOptions as CreateDeliveryOptions,\n    };\n  }\n  \n  /**\n   * Collection of menus and discounts available in a specific location.\n   * Use a [draft catalog](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs) to publish multiple changes to a catalog at the same time.\n   * You can read more about catalogs in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n   */\n  interface Catalog {\n      /**\n       * Catalog ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ID of the location the catalog belongs to. See the [Locations API](https://dev.wix.com/api/rest/business-info/locations/introduction) for more details.\n       * @readonly\n       */\n      locationId?: string | null;\n      /**\n       * Whether the catalog is archived.\n       * __Note:__ Archived catalogs can't be updated.\n       * @readonly\n       */\n      archived?: boolean;\n      /**\n       * Date and time the last time a draft catalog has been published in `yyyy-mm-ddThh:mm:sssZ` format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n       * @readonly\n       */\n      draftPublishedDate?: Date | null;\n      /**\n       * Revision number. Increments by 1 each time the catalog is updated.\n       * To prevent conflicting changes, the existing `revision` must be used when updating a catalog.\n       * @internal\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface CreateDraftCatalogRequest {\n      /** ID of the catalog to create a draft version for. */\n      catalogId: string;\n  }\n  interface CreateDraftCatalogResponse {\n      /** Created draft catalog. */\n      catalog?: Catalog;\n  }\n  interface PublishDraftCatalogRequest {\n      /** ID of the draft catalog to publish. */\n      catalogId: string;\n  }\n  interface PublishDraftCatalogResponse {\n      /** Published catalog. */\n      catalog?: Catalog;\n  }\n  interface DiscardDraftCatalogRequest {\n      /** ID of the draft catalog to discard. */\n      catalogId: string;\n  }\n  interface DiscardDraftCatalogResponse {\n  }\n  interface BulkCreateVariationsRequest {\n      /** ID of the catalog the variations will belong to. */\n      catalogId: string;\n      /** Variations to create. Limited to 20 variations. */\n      variations?: NewVariation[];\n      /** Whether the full variation entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  interface NewVariation {\n      /** Variation name. */\n      name?: string;\n  }\n  interface BulkCreateVariationsResponse {\n      /** Information about the created variations. */\n      results?: BulkItemResult[];\n      /** Bulk Create Variations metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkItemResult {\n      /** Metadata of the item. */\n      entityMetadata?: ItemMetadata;\n      /** Item. */\n      entity?: Item;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /**\n   * Anything that customers can buy in the restaurant. Items can be of type `DISH` or `VARIATION`.\n   * You can read more about items in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n   */\n  interface Item {\n      /**\n       * Item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Item name. */\n      name?: string | null;\n      /** Item description. */\n      description?: string | null;\n      /** Item price. */\n      price?: Money$2;\n      /** URL of the item's image file. */\n      imageUrl?: string | null;\n      /** Item labels. For example spicy, hot, vegan, gluten-free, or organic. */\n      labels?: Labels;\n      /** Whether the item is in stock. */\n      inStock?: boolean | null;\n      /** Tax rate of the item in percent. */\n      taxRate?: string | null;\n      /**\n       * Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\n       * @readonly\n       */\n      archived?: boolean | null;\n      /**\n       * Visibility criteria that must be met for the item to appear in the live site.\n       * In case of multiple visibility criteria, every criterion must be fulfilled.\n       */\n      visibilityCriteria?: VisibilityCriteria;\n      /** Items customers can choose to modify a dish. Can be an extra, selection, or deselection. */\n      dishOptions?: DishOptions;\n      /** Whether a customer can add a special request when ordering this item. Defaults to `true`. */\n      acceptSpecialRequest?: boolean | null;\n      /**\n       * Item type.\n       * @readonly\n       */\n      type?: ItemType;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money$2 {\n      /** Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values. */\n      value?: string;\n      /**\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Monetary amount. This is the number that will be displayed.\n       * @internal\n       * @readonly\n       */\n      formattedValue?: string | null;\n  }\n  interface Labels {\n      values?: string[];\n  }\n  interface VisibilityCriteria {\n      /**\n       * Whether the entity appears in the live site. Defaults to `true`.\n       * If `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\n       */\n      visible?: boolean | null;\n      /** Fulfillment types. */\n      fulfillmentTypes?: FulfillmentType$2[];\n      /** Ordering platforms. */\n      platforms?: Platform[];\n      /** Time periods when the entity is available. */\n      availability?: Availability$4;\n  }\n  enum FulfillmentType$2 {\n      UNSPECIFIED_FULFILLMENT_TYPE = \"UNSPECIFIED_FULFILLMENT_TYPE\",\n      DELIVERY = \"DELIVERY\",\n      PICKUP_OR_DINE_IN = \"PICKUP_OR_DINE_IN\"\n  }\n  enum Platform {\n      UNSPECIFIED_PLATFORM = \"UNSPECIFIED_PLATFORM\",\n      SITE = \"SITE\",\n      MOBILE_SITE = \"MOBILE_SITE\",\n      WIX_APP = \"WIX_APP\",\n      CALL_CENTER = \"CALL_CENTER\",\n      CHAT_BOT = \"CHAT_BOT\"\n  }\n  interface Availability$4 {\n      /**\n       * Weekly recurring time periods when the entity is available.\n       * Limited to 100 time periods.\n       */\n      periods?: TimePeriod$4[];\n      /** Exceptions to the entity's regular availability. The entity can be available or not available during the special hour period. */\n      specialHourPeriods?: SpecialHourPeriod$4[];\n  }\n  /** Weekly recurring time periods when the entity is available. */\n  interface TimePeriod$4 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$4;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$4;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  enum DayOfWeek$4 {\n      UNDEFINED = \"UNDEFINED\",\n      SUN = \"SUN\",\n      MON = \"MON\",\n      TUE = \"TUE\",\n      WED = \"WED\",\n      THU = \"THU\",\n      FRI = \"FRI\",\n      SAT = \"SAT\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$4 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /** Whether the item is available during the exception. Defaults to `true`. */\n      available?: boolean;\n      /** Name of the special hour period. In the dashboard, the special hour period is called event. */\n      eventName?: string | null;\n  }\n  interface DishOptions {\n      values?: DishOption[];\n  }\n  interface DishOption extends DishOptionMethodOneOf {\n      /** Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish. */\n      selection?: Selection;\n      /** Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish. */\n      extras?: Extras;\n      /** Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish. */\n      deselection?: Deselection;\n      /** Dish option name. */\n      name?: string;\n      /** @readonly */\n      type?: Type$3;\n  }\n  /** @oneof */\n  interface DishOptionMethodOneOf {\n      /** Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish. */\n      selection?: Selection;\n      /** Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish. */\n      extras?: Extras;\n      /** Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish. */\n      deselection?: Deselection;\n  }\n  interface DishOptionItem {\n      /** Item ID of the dish option. */\n      itemId?: string;\n      /** Dish option price. `0` for free choices that are included in the dish's price. */\n      price?: Money$2;\n  }\n  interface Selection {\n      /** Item ID of the default choice. */\n      defaultChoice?: string | null;\n      /** Item IDs of the available choices. */\n      availableChoices?: DishOptionItem[];\n  }\n  interface Extras {\n      /** Item IDs of the default choices. */\n      defaultChoices?: string[];\n      /** Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`. */\n      minChoices?: number | null;\n      /** Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`. */\n      maxChoices?: number | null;\n      /** Item IDs of the available choices. */\n      availableChoices?: DishOptionItem[];\n  }\n  interface Deselection {\n      /** Item IDs of the available choices. */\n      availableChoices?: DishOptionItem[];\n  }\n  enum Type$3 {\n      UNSPECIFIED_DISH_OPTION_TYPE = \"UNSPECIFIED_DISH_OPTION_TYPE\",\n      SELECTION = \"SELECTION\",\n      EXTRAS = \"EXTRAS\",\n      DESELECTION = \"DESELECTION\"\n  }\n  enum ItemType {\n      UNSPECIFIED_ITEM_TYPE = \"UNSPECIFIED_ITEM_TYPE\",\n      DISH = \"DISH\",\n      VARIATION = \"VARIATION\"\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateItemsRequest {\n      /** ID of the catalog the items belong to. */\n      catalogId: string;\n      /** Items to update. Limited to 20 items. */\n      items?: Item[];\n      /** Whether the full item entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkUpdateItemsResponse {\n      /** Information about the updated items. */\n      results?: BulkItemResult[];\n      /** Bulk Update Items metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCreateDishesRequest {\n      /** ID of the catalog the dishes will belong to. */\n      catalogId: string;\n      /** Information about the dishes to create. Limited to 20 dishes. */\n      createDishRequests?: CreateDishRequest[];\n      /** Whether the full item entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  interface CreateDishRequest {\n      /** ID of the menu the dish will belong to. */\n      menuId?: string;\n      /** ID of the section the dish will belong to. */\n      sectionId?: string;\n      /** Dish to create. */\n      dish?: Item;\n  }\n  interface BulkCreateDishesResponse {\n      /** Information about the created dishes. */\n      results?: BulkItemResult[];\n      /** Bulk Create Dishes metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCreateMenusRequest {\n      /** ID of the catalog the menus will belong to. */\n      catalogId: string;\n      /** Information about the menus to create. Limited to 20 menus. */\n      menus?: Menu[];\n      /** Whether the full menu entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Collection of sections that show what customers can buy in the restaurant.\n   * You can read more about menus in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n   */\n  interface Menu {\n      /**\n       * Menu ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Menu name. */\n      name?: string | null;\n      /** Menu description. */\n      description?: string | null;\n      /** URL of the menu's image file. */\n      imageUrl?: string | null;\n      /**\n       * Visibility criteria that must be met for the menu to appear in the live site.\n       * In case of multiple visibility criteria, every criterion must be fulfilled.\n       */\n      visibilityCriteria?: VisibilityCriteria;\n      /** IDs of the sections that are included in the menu. */\n      sectionIds?: MenuSectionIds;\n      /**\n       * Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\n       * @readonly\n       */\n      archived?: boolean | null;\n  }\n  interface MenuSectionIds {\n      values?: string[];\n  }\n  interface BulkCreateMenusResponse {\n      /** Information about the created menus. */\n      results?: BulkMenuResult[];\n      /** Bulk Create Menus metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkMenuResult {\n      /** Menu metadata. */\n      entityMetadata?: ItemMetadata;\n      /** Menu. */\n      entity?: Menu;\n  }\n  interface BulkUpdateMenusRequest {\n      /** ID of the catalog the menus belong to. */\n      catalogId: string;\n      /** Menus to update. */\n      menus?: Menu[];\n      /** Whether the full menu entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkUpdateMenusResponse {\n      /** Information about the updated menus. */\n      results?: BulkMenuResult[];\n      /** Bulk Update Menus metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCreateSectionsRequest {\n      /** ID of the catalog the sections will belong to. */\n      catalogId: string;\n      /** Information about the sections to create. Limited to 20 sections. */\n      createSectionRequests?: CreateSectionRequest[];\n      /** Whether the full section entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Collection of dishes that customers can buy in the restaurant.\n   * You can read more about sections in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n   */\n  interface Section {\n      /**\n       * Section ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ID of the menu the section belongs to.\n       * @readonly\n       */\n      menuId?: string | null;\n      /** Section name. */\n      name?: string | null;\n      /** Section description. */\n      description?: string | null;\n      /** URL of the section's image file. */\n      imageUrl?: string | null;\n      /** IDs of the items that belong to the section. */\n      itemIds?: SectionItemIds;\n      /**\n       * Visibility criteria that must be met for the section to appear in the live site.\n       * In case of multiple visibility criteria, every criterion must be fulfilled.\n       */\n      visibilityCriteria?: VisibilityCriteria;\n      /**\n       * Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\n       * @readonly\n       */\n      archived?: boolean | null;\n  }\n  /** Item IDs of the dishes that belong to this section. */\n  interface SectionItemIds {\n      values?: string[];\n  }\n  interface CreateSectionRequest {\n      /** ID of the menu the section will belong to. */\n      menuId?: string;\n      /** Section to create. */\n      section?: Section;\n  }\n  interface BulkCreateSectionsResponse {\n      /** Information about the created sections. */\n      results?: BulkSectionResult[];\n      /** Bulk Create Sections metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkSectionResult {\n      /** Section metadata. */\n      entityMetadata?: ItemMetadata;\n      /** Section. */\n      entity?: Section;\n  }\n  interface BulkUpdateSectionsRequest {\n      /** ID of the catalog the sections belong to. */\n      catalogId: string;\n      /** Information about the sections to update. Limited to 20 sections. */\n      updateSectionsRequests?: UpdateSectionRequest[];\n      /** Whether the full section entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  interface UpdateSectionRequest {\n      /** ID of the menu the section will belong to. */\n      menuId?: string;\n      /** Section to update. */\n      section?: Section;\n  }\n  interface BulkUpdateSectionsResponse {\n      /** Information about the updated sections. */\n      results?: BulkSectionResult[];\n      /** Bulk Update Sections metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkArchiveMenusRequest {\n      /** ID of the catalog the menus belong to. */\n      catalogId: string;\n      /** IDs of the menus to archive. */\n      ids?: string[];\n      /** Whether the full menu entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkArchiveMenusResponse {\n      /** Information about the archived menus. */\n      results?: BulkMenuResult[];\n      /** Bulk Archive Menus metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUnarchiveMenusRequest {\n      /** ID of the catalog the menus belong to. */\n      catalogId: string;\n      /** IDs of the menus to unarchive. */\n      ids?: string[];\n      /** Whether the full menu entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkUnarchiveMenusResponse {\n      /** Information about the unarchived menus. */\n      results?: BulkMenuResult[];\n      /** Bulk Unarchive Menus metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CatalogUpdated {\n      metaSiteId?: string;\n      locationId?: string | null;\n      catalogId?: string | null;\n      archived?: boolean;\n      catalogItems?: Item[];\n      catalogSections?: Section[];\n      catalogMenus?: Menu[];\n      catalogDiscounts?: Discount$2[];\n  }\n  /**\n   * Customers can use a discount to pay less. Can be an amount or a percentage.\n   * You can read more about discounts in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n   */\n  interface Discount$2 extends DiscountValueOneOf$1, DiscountApplyToFilterOneOf$1 {\n      /** Discount amount. */\n      amount?: Money$2;\n      /** Discount percentage. */\n      percentage?: string | null;\n      /** IDs of the sections the discount applies to. */\n      sectionIds?: SectionIds$1;\n      /** IDs of the items the discount applies to. **Note:** The items must be of type `dish`. */\n      itemIds?: ItemIds$1;\n      /**\n       * Discount ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Discount name. */\n      name?: string | null;\n      /** Discount description. */\n      description?: string | null;\n      /** Whether the discount is active. Defaults to `true`. */\n      active?: boolean | null;\n      /** Discount type. */\n      type?: DiscountType$2;\n      /**\n       * Discount condition.\n       * All conditions must be met so that a customer can apply the discount.\n       */\n      condition?: DiscountCondition$1;\n  }\n  /** @oneof */\n  interface DiscountValueOneOf$1 {\n      /** Discount amount. */\n      amount?: Money$2;\n      /** Discount percentage. */\n      percentage?: string | null;\n  }\n  /** @oneof */\n  interface DiscountApplyToFilterOneOf$1 {\n      /** IDs of the sections the discount applies to. */\n      sectionIds?: SectionIds$1;\n      /** IDs of the items the discount applies to. **Note:** The items must be of type `dish`. */\n      itemIds?: ItemIds$1;\n  }\n  enum DiscountType$2 {\n      UNSPECIFIED_TYPE = \"UNSPECIFIED_TYPE\",\n      OFF_ITEM = \"OFF_ITEM\",\n      OFF_ORDER = \"OFF_ORDER\"\n  }\n  interface SectionIds$1 {\n      values?: string[];\n  }\n  interface ItemIds$1 {\n      values?: string[];\n  }\n  interface DiscountCondition$1 {\n      /** Which fulfillment types the discount applies to. */\n      fulfillmentTypes?: FulfillmentType$2[];\n      /** Which ordering platforms the discount applies to. */\n      platforms?: DiscountPlatform$1[];\n      /** List of times when the discount is available. */\n      availability?: Availability$4;\n      /** Minimum order price for the discount. */\n      minOrderPrice?: Money$2;\n      /**\n       * Coupon associated with the discount.\n       * @readonly\n       */\n      coupon?: Coupon$2;\n  }\n  enum DiscountPlatform$1 {\n      UNSPECIFIED_PLATFORM = \"UNSPECIFIED_PLATFORM\",\n      SITE = \"SITE\",\n      MOBILE_SITE = \"MOBILE_SITE\",\n      CALL_CENTER = \"CALL_CENTER\"\n  }\n  interface Coupon$2 {\n      /**\n       * Whether the customer needs to enter the coupon code to receive the discount. Defaults to `true`.\n       * @readonly\n       */\n      applied?: boolean | null;\n      /**\n       * Coupon code.\n       * @readonly\n       */\n      code?: string | null;\n  }\n  interface PublishCatalogUpdated {\n      metaSiteId?: string;\n      locationId?: string | null;\n      catalogId?: string | null;\n      archived?: boolean;\n  }\n  interface IndexCacheCmd {\n      catalogId?: string;\n      orgId?: string;\n      orgLocale?: string;\n      metaSiteId?: string | null;\n  }\n  interface CatalogChanged {\n      /** Changed Catalog. */\n      catalog?: Catalog;\n  }\n  interface ListCatalogsRequest {\n      /** Sort order. Defaults to `ASC`. */\n      sort?: Sorting;\n      /** Paging information. `offset` defaults to `0` and `limit` defaults to `50`. The maximum for limit is `1,000`. */\n      paging?: Paging;\n      /** Whether archived catalogs are returned. Defaults to `false`. */\n      archived?: boolean;\n      /** IDs of the locations for which the catalog will be returned. See the [Locations API](https://dev.wix.com/api/rest/business-info/locations/introduction) for more details. */\n      locationIds?: string[];\n      /**\n       * IDs of the restaurant-locations for which the catalog will be returned.\n       * @internal\n       */\n      restaurantLocationIds?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListCatalogsResponse {\n      /** Retrieved catalogs. */\n      catalogs?: Catalog[];\n  }\n  interface GetMenuRequest {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n  }\n  interface GetMenuResponse {\n      /** Retrieved menu. */\n      menu?: Menu;\n  }\n  interface GetSectionRequest {\n      /** ID of the catalog the section belongs to. */\n      catalogId: string;\n      /** ID of the menu the catalog belongs to. */\n      menuId: string;\n      /** Section ID. */\n      sectionId: string;\n  }\n  interface GetSectionResponse {\n      /** Retrieved section. */\n      section?: Section;\n  }\n  interface UpdateMenuRequest {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu to update. */\n      menu?: Menu;\n  }\n  interface UpdateMenuResponse {\n      /** Updated Menu. */\n      menu?: Menu;\n  }\n  interface V3UpdateSectionRequest {\n      /** ID of the catalog the section belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n      /** Section to update. */\n      section?: Section;\n  }\n  interface UpdateSectionResponse {\n      /** Updated section. */\n      section?: Section;\n  }\n  interface ListMenusRequest {\n      /** ID of the catalog the menus belong to. */\n      catalogId: string;\n      /**\n       * Field mask path.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Whether archived menus are returned. Defaults to `false`. */\n      archived?: boolean;\n      /**\n       * Fulfillment types filter\n       * @internal\n       */\n      fulfillmentTypes?: FulfillmentType$2[];\n      /**\n       * Ordering platforms filter\n       * @internal\n       */\n      platforms?: Platform[];\n  }\n  interface ListMenusResponse {\n      /** Retrieved menus. */\n      menus?: Menu[];\n  }\n  interface ListSectionsRequest {\n      /** ID of the catalog the sections belong to. */\n      catalogId: string;\n      /**\n       * Field mask path.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Whether archived sections are returned. Defaults to `false`. */\n      archived?: boolean;\n      /**\n       * Fulfillment types filter\n       * @internal\n       */\n      fulfillmentTypes?: FulfillmentType$2[];\n      /**\n       * Ordering platforms filter\n       * @internal\n       */\n      platforms?: Platform[];\n  }\n  interface ListSectionsResponse {\n      /** Sections list. */\n      sections?: Section[];\n  }\n  interface CreateMenuRequest {\n      /** ID of the catalog the menu will belong to. */\n      catalogId: string;\n      /** Menu to create. */\n      menu: Menu;\n  }\n  interface CreateMenuResponse {\n      /** Created Menu. */\n      menu?: Menu;\n  }\n  interface ArchiveMenuRequest {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n  }\n  interface ArchiveMenuResponse {\n      /** Archived menu. */\n      menu?: Menu;\n  }\n  interface UnarchiveMenuRequest {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n  }\n  interface UnarchiveMenuResponse {\n      /** Unarchived menu. */\n      menu?: Menu;\n  }\n  interface ArchiveSectionRequest {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n      /** Section ID. */\n      sectionId: string;\n  }\n  interface ArchiveSectionResponse {\n      /** Archived section. */\n      section?: Section;\n  }\n  interface RemoveDishFromSectionRequest {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n      /** Section ID. */\n      sectionId: string;\n      /** Item ID. */\n      itemId: string;\n  }\n  interface RemoveDishFromSectionResponse {\n  }\n  interface V3CreateSectionRequest {\n      /** ID of the catalog the section will belong to. */\n      catalogId: string;\n      /** ID of the menu the section will belong to. */\n      menuId: string;\n      /** Section to create. */\n      section: Section;\n  }\n  interface CreateSectionResponse {\n      /** Created section. */\n      section?: Section;\n  }\n  interface GetItemRequest {\n      /** ID of the catalog the item belongs to. */\n      catalogId: string;\n      /** Item ID. */\n      itemId: string;\n      /** Whether `visibilityCriteria` is returned. Defaults to `false`. */\n      includeVisibilityCriteria?: boolean;\n  }\n  interface GetItemResponse {\n      /** Retrieved item. */\n      item?: Item;\n  }\n  interface ListItemsRequest {\n      /**\n       * Field mask path.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** ID of the catalog the items belong to. */\n      catalogId: string;\n      /** Whether archived items are returned. Defaults to `false`. */\n      archived?: boolean;\n      /**\n       * Fulfillment types filter\n       * @internal\n       */\n      fulfillmentTypes?: FulfillmentType$2[];\n      /**\n       * Ordering platforms filter\n       * @internal\n       */\n      platforms?: Platform[];\n  }\n  interface ListItemsResponse {\n      /** Retrieved items. */\n      items?: Item[];\n  }\n  interface UpdateItemRequest {\n      /** ID of the catalog the item belongs to. */\n      catalogId: string;\n      /** Item to update. */\n      item?: Item;\n  }\n  interface UpdateItemResponse {\n      /** Updated Item. */\n      item?: Item;\n  }\n  interface V3CreateDishRequest {\n      /** ID of the catalog the dish will belong to. */\n      catalogId: string;\n      /** ID of the menu the dish will belong to. */\n      menuId: string;\n      /** ID of the section the dish will belong to. */\n      sectionId: string;\n      /** Item of type `dish` to create. */\n      dish: Item;\n  }\n  interface CreateDishResponse {\n      /** Created Dish. */\n      dish?: Item;\n  }\n  interface CreateVariationRequest {\n      /** ID of the catalog the variation will belong to. */\n      catalogId: string;\n      /** Variation name. */\n      name: string;\n  }\n  interface CreateVariationResponse {\n      /** Created Variation. */\n      variation?: Item;\n  }\n  interface MenuUpdated {\n      metaSiteId?: string;\n      organizationId?: string;\n      locationId?: string | null;\n  }\n  interface Empty$2 {\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a draft version of the specified catalog.\n   * Then you can update and publish the draft catalog by using the endpoints in the [Draft Catalogs category](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs).\n   *\n   * > **Note:** You can't create more than one draft catalog per location.\n   * @param catalogId - ID of the catalog to create a draft version for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function createDraftCatalog(catalogId: string): Promise<CreateDraftCatalogResponse>;\n  /**\n   * Publishes a draft catalog to the live site by replacing the existing catalog.\n   * @param catalogId - ID of the draft catalog to publish.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function publishDraftCatalog(catalogId: string): Promise<PublishDraftCatalogResponse>;\n  /**\n   * Discards a draft catalog. If you want to continue using [Bulk endpoints](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs) for this catalog, you must first call the [Create Draft Catalog](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs/create-draft-catalog) endpoint again.\n   * @param catalogId - ID of the draft catalog to discard.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function discardDraftCatalog(catalogId: string): Promise<void>;\n  /**\n   * Adds multiple variations to a draft catalog.\n   * @param catalogId - ID of the catalog the variations will belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function bulkCreateVariations(catalogId: string, options?: BulkCreateVariationsOptions): Promise<BulkCreateVariationsResponse>;\n  interface BulkCreateVariationsOptions {\n      /** Variations to create. Limited to 20 variations. */\n      variations?: NewVariation[];\n      /** Whether the full variation entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Updates multiple items in a draft catalog.\n   * You can't update archived items.\n   * @param catalogId - ID of the catalog the items belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function bulkUpdateItems(catalogId: string, options?: BulkUpdateItemsOptions): Promise<BulkUpdateItemsResponse>;\n  interface BulkUpdateItemsOptions {\n      /** Items to update. Limited to 20 items. */\n      items?: Item[];\n      /** Whether the full item entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Adds multiple dishes to a draft catalog.\n   * @param catalogId - ID of the catalog the dishes will belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function bulkCreateDishes(catalogId: string, options?: BulkCreateDishesOptions): Promise<BulkCreateDishesResponse>;\n  interface BulkCreateDishesOptions {\n      /** Information about the dishes to create. Limited to 20 dishes. */\n      createDishRequests?: CreateDishRequest[];\n      /** Whether the full item entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Adds multiple menus to a draft catalog.\n   * @param catalogId - ID of the catalog the menus will belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function bulkCreateMenus(catalogId: string, options?: BulkCreateMenusOptions): Promise<BulkCreateMenusResponse>;\n  interface BulkCreateMenusOptions {\n      /** Information about the menus to create. Limited to 20 menus. */\n      menus?: Menu[];\n      /** Whether the full menu entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Updates multiple menus in a draft catalog.\n   * You can't update archived menus.\n   * @param catalogId - ID of the catalog the menus belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function bulkUpdateMenus(catalogId: string, options?: BulkUpdateMenusOptions): Promise<BulkUpdateMenusResponse>;\n  interface BulkUpdateMenusOptions {\n      /** Menus to update. */\n      menus?: Menu[];\n      /** Whether the full menu entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Adds multiple sections to a draft catalog.\n   * @param catalogId - ID of the catalog the sections will belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function bulkCreateSections(catalogId: string, options?: BulkCreateSectionsOptions): Promise<BulkCreateSectionsResponse>;\n  interface BulkCreateSectionsOptions {\n      /** Information about the sections to create. Limited to 20 sections. */\n      createSectionRequests?: CreateSectionRequest[];\n      /** Whether the full section entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Updates multiple sections in a draft catalog.\n   * You can't update archived sections.\n   * @param catalogId - ID of the catalog the sections belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function bulkUpdateSections(catalogId: string, options?: BulkUpdateSectionsOptions): Promise<BulkUpdateSectionsResponse>;\n  interface BulkUpdateSectionsOptions {\n      /** Information about the sections to update. Limited to 20 sections. */\n      updateSectionsRequests?: UpdateSectionRequest[];\n      /** Whether the full section entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Changes the `archived` boolean to `true` for multiple menus in a draft catalog.\n   * @param catalogId - ID of the catalog the menus belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function bulkArchiveMenus(catalogId: string, options?: BulkArchiveMenusOptions): Promise<BulkArchiveMenusResponse>;\n  interface BulkArchiveMenusOptions {\n      /** IDs of the menus to archive. */\n      ids?: string[];\n      /** Whether the full menu entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Changes the `archived` boolean to `false` for multiple menus in a draft catalog.\n   * @param catalogId - ID of the catalog the menus belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function bulkUnarchiveMenus(catalogId: string, options?: BulkUnarchiveMenusOptions): Promise<BulkUnarchiveMenusResponse>;\n  interface BulkUnarchiveMenusOptions {\n      /** IDs of the menus to unarchive. */\n      ids?: string[];\n      /** Whether the full menu entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Retrieves catalogs, given the provided filtering, sorting and paging.\n   * Note that there is a single catalog per location.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n   */\n  function listCatalogs(options?: ListCatalogsOptions): Promise<ListCatalogsResponse>;\n  interface ListCatalogsOptions {\n      /** Sort order. Defaults to `ASC`. */\n      sort?: Sorting;\n      /** Paging information. `offset` defaults to `0` and `limit` defaults to `50`. The maximum for limit is `1,000`. */\n      paging?: Paging;\n      /** Whether archived catalogs are returned. Defaults to `false`. */\n      archived?: boolean;\n      /** IDs of the locations for which the catalog will be returned. See the [Locations API](https://dev.wix.com/api/rest/business-info/locations/introduction) for more details. */\n      locationIds?: string[];\n      /**\n       * IDs of the restaurant-locations for which the catalog will be returned.\n       * @internal\n       */\n      restaurantLocationIds?: string[];\n  }\n  /**\n   * Retrieves a menu.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.menuId\n   * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n   */\n  function getMenu(identifiers: GetMenuIdentifiers): Promise<GetMenuResponse>;\n  interface GetMenuIdentifiers {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n  }\n  /**\n   * Retrieves a section.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.menuId\n   * @requiredField identifiers.sectionId\n   * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n   */\n  function getSection(identifiers: GetSectionIdentifiers): Promise<GetSectionResponse>;\n  interface GetSectionIdentifiers {\n      /** ID of the catalog the section belongs to. */\n      catalogId: string;\n      /** ID of the menu the catalog belongs to. */\n      menuId: string;\n      /** Section ID. */\n      sectionId: string;\n  }\n  /**\n   * Updates a menu.\n   * You can't update archived menus.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.menuId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function updateMenu(identifiers: UpdateMenuIdentifiers, options?: UpdateMenuOptions): Promise<UpdateMenuResponse>;\n  interface UpdateMenuIdentifiers {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /**\n       * Menu ID.\n       * @readonly\n       */\n      menuId?: string | null;\n  }\n  interface UpdateMenuOptions {\n      menu: {\n          /**\n           * Menu ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /** Menu name. */\n          name?: string | null;\n          /** Menu description. */\n          description?: string | null;\n          /** URL of the menu's image file. */\n          imageUrl?: string | null;\n          /**\n           * Visibility criteria that must be met for the menu to appear in the live site.\n           * In case of multiple visibility criteria, every criterion must be fulfilled.\n           */\n          visibilityCriteria?: VisibilityCriteria;\n          /** IDs of the sections that are included in the menu. */\n          sectionIds?: MenuSectionIds;\n          /**\n           * Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\n           * @readonly\n           */\n          archived?: boolean | null;\n      };\n  }\n  /**\n   * Updates a section.\n   * You can't update archived sections. Note that every section belongs to a single menu, you can't add it to another menu.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.menuId\n   * @requiredField identifiers.sectionId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function updateSection(identifiers: UpdateSectionIdentifiers, options?: UpdateSectionOptions): Promise<UpdateSectionResponse>;\n  interface UpdateSectionIdentifiers {\n      /** ID of the catalog the section belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n      /**\n       * Section ID.\n       * @readonly\n       */\n      sectionId?: string | null;\n  }\n  interface UpdateSectionOptions {\n      section: {\n          /**\n           * Section ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /**\n           * ID of the menu the section belongs to.\n           * @readonly\n           */\n          menuId?: string | null;\n          /** Section name. */\n          name?: string | null;\n          /** Section description. */\n          description?: string | null;\n          /** URL of the section's image file. */\n          imageUrl?: string | null;\n          /** IDs of the items that belong to the section. */\n          itemIds?: SectionItemIds;\n          /**\n           * Visibility criteria that must be met for the section to appear in the live site.\n           * In case of multiple visibility criteria, every criterion must be fulfilled.\n           */\n          visibilityCriteria?: VisibilityCriteria;\n          /**\n           * Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\n           * @readonly\n           */\n          archived?: boolean | null;\n      };\n  }\n  /**\n   * Retrieves menus, given the provided filtering, sorting and paging.\n   * @param catalogId - ID of the catalog the menus belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n   */\n  function listMenus(catalogId: string, options?: ListMenusOptions): Promise<ListMenusResponse>;\n  interface ListMenusOptions {\n      /**\n       * Field mask path.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Whether archived menus are returned. Defaults to `false`. */\n      archived?: boolean;\n      /**\n       * Fulfillment types filter\n       * @internal\n       */\n      fulfillmentTypes?: FulfillmentType$2[];\n      /**\n       * Ordering platforms filter\n       * @internal\n       */\n      platforms?: Platform[];\n  }\n  /**\n   * Retrieves sections, given the provided filtering, sorting and paging.\n   * @param catalogId - ID of the catalog the sections belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n   */\n  function listSections(catalogId: string, options?: ListSectionsOptions): Promise<ListSectionsResponse>;\n  interface ListSectionsOptions {\n      /**\n       * Field mask path.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Whether archived sections are returned. Defaults to `false`. */\n      archived?: boolean;\n      /**\n       * Fulfillment types filter\n       * @internal\n       */\n      fulfillmentTypes?: FulfillmentType$2[];\n      /**\n       * Ordering platforms filter\n       * @internal\n       */\n      platforms?: Platform[];\n  }\n  /**\n   * Creates a menu.\n   * @param catalogId - ID of the catalog the menu will belong to.\n   * @param menu - Menu to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @requiredField menu\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function createMenu(catalogId: string, menu: Menu): Promise<CreateMenuResponse>;\n  /**\n   * Archives a menu. You can't update archived menus.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.menuId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function archiveMenu(identifiers: ArchiveMenuIdentifiers): Promise<ArchiveMenuResponse>;\n  interface ArchiveMenuIdentifiers {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n  }\n  /**\n   * Unarchives a menu.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.menuId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function unarchiveMenu(identifiers: UnarchiveMenuIdentifiers): Promise<UnarchiveMenuResponse>;\n  interface UnarchiveMenuIdentifiers {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n  }\n  /**\n   * Archives a section. You can't update archived sections.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.menuId\n   * @requiredField identifiers.sectionId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function archiveSection(identifiers: ArchiveSectionIdentifiers): Promise<ArchiveSectionResponse>;\n  interface ArchiveSectionIdentifiers {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n      /** Section ID. */\n      sectionId: string;\n  }\n  /**\n   * Remove an item from a section\n   * @param itemId - Item ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.menuId\n   * @requiredField identifiers.sectionId\n   * @requiredField itemId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function removeDishFromSection(identifiers: RemoveDishFromSectionIdentifiers, itemId: string): Promise<void>;\n  interface RemoveDishFromSectionIdentifiers {\n      /** ID of the catalog the menu belongs to. */\n      catalogId: string;\n      /** Menu ID. */\n      menuId: string;\n      /** Section ID. */\n      sectionId: string;\n  }\n  /**\n   * Creates a section.\n   * You can't add the section to multiple menus, since every section belongs to a single menu.\n   * @param section - Section to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.menuId\n   * @requiredField section\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function createSection(identifiers: CreateSectionIdentifiers, section: Section): Promise<CreateSectionResponse>;\n  interface CreateSectionIdentifiers {\n      /** ID of the catalog the section will belong to. */\n      catalogId: string;\n      /** ID of the menu the section will belong to. */\n      menuId: string;\n  }\n  /**\n   * Retrieves an item.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.itemId\n   * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n   */\n  function getItem(identifiers: GetItemIdentifiers, options?: GetItemOptions): Promise<GetItemResponse>;\n  interface GetItemIdentifiers {\n      /** ID of the catalog the item belongs to. */\n      catalogId: string;\n      /** Item ID. */\n      itemId: string;\n  }\n  interface GetItemOptions {\n      /** Whether `visibilityCriteria` is returned. Defaults to `false`. */\n      includeVisibilityCriteria?: boolean;\n  }\n  /**\n   * Retrieves items, given the provided filtering, sorting and paging.\n   * @param catalogId - ID of the catalog the items belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n   */\n  function listItems(catalogId: string, options?: ListItemsOptions): Promise<ListItemsResponse>;\n  interface ListItemsOptions {\n      /**\n       * Field mask path.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Whether archived items are returned. Defaults to `false`. */\n      archived?: boolean;\n      /**\n       * Fulfillment types filter\n       * @internal\n       */\n      fulfillmentTypes?: FulfillmentType$2[];\n      /**\n       * Ordering platforms filter\n       * @internal\n       */\n      platforms?: Platform[];\n  }\n  /**\n   * Updates an item.\n   * You can't update archived items.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.itemId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function updateItem(identifiers: UpdateItemIdentifiers, options?: UpdateItemOptions): Promise<UpdateItemResponse>;\n  interface UpdateItemIdentifiers {\n      /** ID of the catalog the item belongs to. */\n      catalogId: string;\n      /**\n       * Item ID.\n       * @readonly\n       */\n      itemId?: string | null;\n  }\n  interface UpdateItemOptions {\n      item: {\n          /**\n           * Item ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /** Item name. */\n          name?: string | null;\n          /** Item description. */\n          description?: string | null;\n          /** Item price. */\n          price?: Money$2;\n          /** URL of the item's image file. */\n          imageUrl?: string | null;\n          /** Item labels. For example spicy, hot, vegan, gluten-free, or organic. */\n          labels?: Labels;\n          /** Whether the item is in stock. */\n          inStock?: boolean | null;\n          /** Tax rate of the item in percent. */\n          taxRate?: string | null;\n          /**\n           * Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\n           * @readonly\n           */\n          archived?: boolean | null;\n          /**\n           * Visibility criteria that must be met for the item to appear in the live site.\n           * In case of multiple visibility criteria, every criterion must be fulfilled.\n           */\n          visibilityCriteria?: VisibilityCriteria;\n          /** Items customers can choose to modify a dish. Can be an extra, selection, or deselection. */\n          dishOptions?: DishOptions;\n          /** Whether a customer can add a special request when ordering this item. Defaults to `true`. */\n          acceptSpecialRequest?: boolean | null;\n          /**\n           * Item type.\n           * @readonly\n           */\n          type?: ItemType;\n      };\n  }\n  /**\n   * Creates a dish.\n   * @param dish - Item of type `dish` to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField dish\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.menuId\n   * @requiredField identifiers.sectionId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function createDish(identifiers: CreateDishIdentifiers, dish: Item): Promise<CreateDishResponse>;\n  interface CreateDishIdentifiers {\n      /** ID of the catalog the dish will belong to. */\n      catalogId: string;\n      /** ID of the menu the dish will belong to. */\n      menuId: string;\n      /** ID of the section the dish will belong to. */\n      sectionId: string;\n  }\n  /**\n   * Creates a variation.\n   * @param catalogId - ID of the catalog the variation will belong to.\n   * @param name - Variation name.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @requiredField name\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function createVariation(catalogId: string, name: string): Promise<CreateVariationResponse>;\n  /**\n   * Adds multiple variations to a catalog.\n   * @param catalogId - ID of the catalog the variations will belong to.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function catalogsBulkCreateVariations(catalogId: string, options?: CatalogsBulkCreateVariationsOptions): Promise<BulkCreateVariationsResponse>;\n  interface CatalogsBulkCreateVariationsOptions {\n      /** Variations to create. Limited to 20 variations. */\n      variations?: NewVariation[];\n      /** Whether the full variation entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Changes the `archived` boolean to `true` for multiple menus.\n   * @param catalogId - ID of the catalog the menus belong to.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function catalogsBulkArchiveMenus(catalogId: string, options?: CatalogsBulkArchiveMenusOptions): Promise<BulkArchiveMenusResponse>;\n  interface CatalogsBulkArchiveMenusOptions {\n      /** IDs of the menus to archive. */\n      ids?: string[];\n      /** Whether the full menu entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Adds multiple dishes to a catalog.\n   * @param catalogId - ID of the catalog the dishes will belong to.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function catalogsBulkCreateDishes(catalogId: string, options?: CatalogsBulkCreateDishesOptions): Promise<BulkCreateDishesResponse>;\n  interface CatalogsBulkCreateDishesOptions {\n      /** Information about the dishes to create. Limited to 20 dishes. */\n      createDishRequests?: CreateDishRequest[];\n      /** Whether the full item entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Adds multiple sections to a catalog.\n   * @param catalogId - ID of the catalog the sections will belong to.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   */\n  function catalogsBulkCreateSections(catalogId: string, options?: CatalogsBulkCreateSectionsOptions): Promise<BulkCreateSectionsResponse>;\n  interface CatalogsBulkCreateSectionsOptions {\n      /** Information about the sections to create. Limited to 20 sections. */\n      createSectionRequests?: CreateSectionRequest[];\n      /** Whether the full section entity is returned. Defaults to `true`. */\n      returnFullEntity?: boolean;\n  }\n  \n  type restaurantsCatalogsV3Catalog_universal_d_Catalog = Catalog;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateDraftCatalogRequest = CreateDraftCatalogRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateDraftCatalogResponse = CreateDraftCatalogResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_PublishDraftCatalogRequest = PublishDraftCatalogRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_PublishDraftCatalogResponse = PublishDraftCatalogResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_DiscardDraftCatalogRequest = DiscardDraftCatalogRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_DiscardDraftCatalogResponse = DiscardDraftCatalogResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateVariationsRequest = BulkCreateVariationsRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_NewVariation = NewVariation;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateVariationsResponse = BulkCreateVariationsResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkItemResult = BulkItemResult;\n  type restaurantsCatalogsV3Catalog_universal_d_ItemMetadata = ItemMetadata;\n  type restaurantsCatalogsV3Catalog_universal_d_ApplicationError = ApplicationError;\n  type restaurantsCatalogsV3Catalog_universal_d_Item = Item;\n  type restaurantsCatalogsV3Catalog_universal_d_Labels = Labels;\n  type restaurantsCatalogsV3Catalog_universal_d_VisibilityCriteria = VisibilityCriteria;\n  type restaurantsCatalogsV3Catalog_universal_d_Platform = Platform;\n  const restaurantsCatalogsV3Catalog_universal_d_Platform: typeof Platform;\n  type restaurantsCatalogsV3Catalog_universal_d_DishOptions = DishOptions;\n  type restaurantsCatalogsV3Catalog_universal_d_DishOption = DishOption;\n  type restaurantsCatalogsV3Catalog_universal_d_DishOptionMethodOneOf = DishOptionMethodOneOf;\n  type restaurantsCatalogsV3Catalog_universal_d_DishOptionItem = DishOptionItem;\n  type restaurantsCatalogsV3Catalog_universal_d_Selection = Selection;\n  type restaurantsCatalogsV3Catalog_universal_d_Extras = Extras;\n  type restaurantsCatalogsV3Catalog_universal_d_Deselection = Deselection;\n  type restaurantsCatalogsV3Catalog_universal_d_ItemType = ItemType;\n  const restaurantsCatalogsV3Catalog_universal_d_ItemType: typeof ItemType;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUpdateItemsRequest = BulkUpdateItemsRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUpdateItemsResponse = BulkUpdateItemsResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateDishesRequest = BulkCreateDishesRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateDishRequest = CreateDishRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateDishesResponse = BulkCreateDishesResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateMenusRequest = BulkCreateMenusRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_Menu = Menu;\n  type restaurantsCatalogsV3Catalog_universal_d_MenuSectionIds = MenuSectionIds;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateMenusResponse = BulkCreateMenusResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkMenuResult = BulkMenuResult;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUpdateMenusRequest = BulkUpdateMenusRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUpdateMenusResponse = BulkUpdateMenusResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateSectionsRequest = BulkCreateSectionsRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_Section = Section;\n  type restaurantsCatalogsV3Catalog_universal_d_SectionItemIds = SectionItemIds;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateSectionRequest = CreateSectionRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateSectionsResponse = BulkCreateSectionsResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkSectionResult = BulkSectionResult;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUpdateSectionsRequest = BulkUpdateSectionsRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateSectionRequest = UpdateSectionRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUpdateSectionsResponse = BulkUpdateSectionsResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkArchiveMenusRequest = BulkArchiveMenusRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkArchiveMenusResponse = BulkArchiveMenusResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUnarchiveMenusRequest = BulkUnarchiveMenusRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUnarchiveMenusResponse = BulkUnarchiveMenusResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_InvalidateCache = InvalidateCache;\n  type restaurantsCatalogsV3Catalog_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type restaurantsCatalogsV3Catalog_universal_d_App = App;\n  type restaurantsCatalogsV3Catalog_universal_d_Page = Page;\n  type restaurantsCatalogsV3Catalog_universal_d_URI = URI;\n  type restaurantsCatalogsV3Catalog_universal_d_File = File;\n  type restaurantsCatalogsV3Catalog_universal_d_CatalogUpdated = CatalogUpdated;\n  type restaurantsCatalogsV3Catalog_universal_d_PublishCatalogUpdated = PublishCatalogUpdated;\n  type restaurantsCatalogsV3Catalog_universal_d_IndexCacheCmd = IndexCacheCmd;\n  type restaurantsCatalogsV3Catalog_universal_d_CatalogChanged = CatalogChanged;\n  type restaurantsCatalogsV3Catalog_universal_d_ListCatalogsRequest = ListCatalogsRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_Sorting = Sorting;\n  type restaurantsCatalogsV3Catalog_universal_d_Paging = Paging;\n  type restaurantsCatalogsV3Catalog_universal_d_ListCatalogsResponse = ListCatalogsResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_GetMenuRequest = GetMenuRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_GetMenuResponse = GetMenuResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_GetSectionRequest = GetSectionRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_GetSectionResponse = GetSectionResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateMenuRequest = UpdateMenuRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateMenuResponse = UpdateMenuResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_V3UpdateSectionRequest = V3UpdateSectionRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateSectionResponse = UpdateSectionResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_ListMenusRequest = ListMenusRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_ListMenusResponse = ListMenusResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_ListSectionsRequest = ListSectionsRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_ListSectionsResponse = ListSectionsResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateMenuRequest = CreateMenuRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateMenuResponse = CreateMenuResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_ArchiveMenuRequest = ArchiveMenuRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_ArchiveMenuResponse = ArchiveMenuResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_UnarchiveMenuRequest = UnarchiveMenuRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_UnarchiveMenuResponse = UnarchiveMenuResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_ArchiveSectionRequest = ArchiveSectionRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_ArchiveSectionResponse = ArchiveSectionResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_RemoveDishFromSectionRequest = RemoveDishFromSectionRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_RemoveDishFromSectionResponse = RemoveDishFromSectionResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_V3CreateSectionRequest = V3CreateSectionRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateSectionResponse = CreateSectionResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_GetItemRequest = GetItemRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_GetItemResponse = GetItemResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_ListItemsRequest = ListItemsRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_ListItemsResponse = ListItemsResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateItemRequest = UpdateItemRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateItemResponse = UpdateItemResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_V3CreateDishRequest = V3CreateDishRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateDishResponse = CreateDishResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateVariationRequest = CreateVariationRequest;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateVariationResponse = CreateVariationResponse;\n  type restaurantsCatalogsV3Catalog_universal_d_MenuUpdated = MenuUpdated;\n  const restaurantsCatalogsV3Catalog_universal_d_createDraftCatalog: typeof createDraftCatalog;\n  const restaurantsCatalogsV3Catalog_universal_d_publishDraftCatalog: typeof publishDraftCatalog;\n  const restaurantsCatalogsV3Catalog_universal_d_discardDraftCatalog: typeof discardDraftCatalog;\n  const restaurantsCatalogsV3Catalog_universal_d_bulkCreateVariations: typeof bulkCreateVariations;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateVariationsOptions = BulkCreateVariationsOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_bulkUpdateItems: typeof bulkUpdateItems;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUpdateItemsOptions = BulkUpdateItemsOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_bulkCreateDishes: typeof bulkCreateDishes;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateDishesOptions = BulkCreateDishesOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_bulkCreateMenus: typeof bulkCreateMenus;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateMenusOptions = BulkCreateMenusOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_bulkUpdateMenus: typeof bulkUpdateMenus;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUpdateMenusOptions = BulkUpdateMenusOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_bulkCreateSections: typeof bulkCreateSections;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkCreateSectionsOptions = BulkCreateSectionsOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_bulkUpdateSections: typeof bulkUpdateSections;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUpdateSectionsOptions = BulkUpdateSectionsOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_bulkArchiveMenus: typeof bulkArchiveMenus;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkArchiveMenusOptions = BulkArchiveMenusOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_bulkUnarchiveMenus: typeof bulkUnarchiveMenus;\n  type restaurantsCatalogsV3Catalog_universal_d_BulkUnarchiveMenusOptions = BulkUnarchiveMenusOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_listCatalogs: typeof listCatalogs;\n  type restaurantsCatalogsV3Catalog_universal_d_ListCatalogsOptions = ListCatalogsOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_getMenu: typeof getMenu;\n  type restaurantsCatalogsV3Catalog_universal_d_GetMenuIdentifiers = GetMenuIdentifiers;\n  const restaurantsCatalogsV3Catalog_universal_d_getSection: typeof getSection;\n  type restaurantsCatalogsV3Catalog_universal_d_GetSectionIdentifiers = GetSectionIdentifiers;\n  const restaurantsCatalogsV3Catalog_universal_d_updateMenu: typeof updateMenu;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateMenuIdentifiers = UpdateMenuIdentifiers;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateMenuOptions = UpdateMenuOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_updateSection: typeof updateSection;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateSectionIdentifiers = UpdateSectionIdentifiers;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateSectionOptions = UpdateSectionOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_listMenus: typeof listMenus;\n  type restaurantsCatalogsV3Catalog_universal_d_ListMenusOptions = ListMenusOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_listSections: typeof listSections;\n  type restaurantsCatalogsV3Catalog_universal_d_ListSectionsOptions = ListSectionsOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_createMenu: typeof createMenu;\n  const restaurantsCatalogsV3Catalog_universal_d_archiveMenu: typeof archiveMenu;\n  type restaurantsCatalogsV3Catalog_universal_d_ArchiveMenuIdentifiers = ArchiveMenuIdentifiers;\n  const restaurantsCatalogsV3Catalog_universal_d_unarchiveMenu: typeof unarchiveMenu;\n  type restaurantsCatalogsV3Catalog_universal_d_UnarchiveMenuIdentifiers = UnarchiveMenuIdentifiers;\n  const restaurantsCatalogsV3Catalog_universal_d_archiveSection: typeof archiveSection;\n  type restaurantsCatalogsV3Catalog_universal_d_ArchiveSectionIdentifiers = ArchiveSectionIdentifiers;\n  const restaurantsCatalogsV3Catalog_universal_d_removeDishFromSection: typeof removeDishFromSection;\n  type restaurantsCatalogsV3Catalog_universal_d_RemoveDishFromSectionIdentifiers = RemoveDishFromSectionIdentifiers;\n  const restaurantsCatalogsV3Catalog_universal_d_createSection: typeof createSection;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateSectionIdentifiers = CreateSectionIdentifiers;\n  const restaurantsCatalogsV3Catalog_universal_d_getItem: typeof getItem;\n  type restaurantsCatalogsV3Catalog_universal_d_GetItemIdentifiers = GetItemIdentifiers;\n  type restaurantsCatalogsV3Catalog_universal_d_GetItemOptions = GetItemOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_listItems: typeof listItems;\n  type restaurantsCatalogsV3Catalog_universal_d_ListItemsOptions = ListItemsOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_updateItem: typeof updateItem;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateItemIdentifiers = UpdateItemIdentifiers;\n  type restaurantsCatalogsV3Catalog_universal_d_UpdateItemOptions = UpdateItemOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_createDish: typeof createDish;\n  type restaurantsCatalogsV3Catalog_universal_d_CreateDishIdentifiers = CreateDishIdentifiers;\n  const restaurantsCatalogsV3Catalog_universal_d_createVariation: typeof createVariation;\n  const restaurantsCatalogsV3Catalog_universal_d_catalogsBulkCreateVariations: typeof catalogsBulkCreateVariations;\n  type restaurantsCatalogsV3Catalog_universal_d_CatalogsBulkCreateVariationsOptions = CatalogsBulkCreateVariationsOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_catalogsBulkArchiveMenus: typeof catalogsBulkArchiveMenus;\n  type restaurantsCatalogsV3Catalog_universal_d_CatalogsBulkArchiveMenusOptions = CatalogsBulkArchiveMenusOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_catalogsBulkCreateDishes: typeof catalogsBulkCreateDishes;\n  type restaurantsCatalogsV3Catalog_universal_d_CatalogsBulkCreateDishesOptions = CatalogsBulkCreateDishesOptions;\n  const restaurantsCatalogsV3Catalog_universal_d_catalogsBulkCreateSections: typeof catalogsBulkCreateSections;\n  type restaurantsCatalogsV3Catalog_universal_d_CatalogsBulkCreateSectionsOptions = CatalogsBulkCreateSectionsOptions;\n  namespace restaurantsCatalogsV3Catalog_universal_d {\n    export {\n      restaurantsCatalogsV3Catalog_universal_d_Catalog as Catalog,\n      restaurantsCatalogsV3Catalog_universal_d_CreateDraftCatalogRequest as CreateDraftCatalogRequest,\n      restaurantsCatalogsV3Catalog_universal_d_CreateDraftCatalogResponse as CreateDraftCatalogResponse,\n      restaurantsCatalogsV3Catalog_universal_d_PublishDraftCatalogRequest as PublishDraftCatalogRequest,\n      restaurantsCatalogsV3Catalog_universal_d_PublishDraftCatalogResponse as PublishDraftCatalogResponse,\n      restaurantsCatalogsV3Catalog_universal_d_DiscardDraftCatalogRequest as DiscardDraftCatalogRequest,\n      restaurantsCatalogsV3Catalog_universal_d_DiscardDraftCatalogResponse as DiscardDraftCatalogResponse,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateVariationsRequest as BulkCreateVariationsRequest,\n      restaurantsCatalogsV3Catalog_universal_d_NewVariation as NewVariation,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateVariationsResponse as BulkCreateVariationsResponse,\n      restaurantsCatalogsV3Catalog_universal_d_BulkItemResult as BulkItemResult,\n      restaurantsCatalogsV3Catalog_universal_d_ItemMetadata as ItemMetadata,\n      restaurantsCatalogsV3Catalog_universal_d_ApplicationError as ApplicationError,\n      restaurantsCatalogsV3Catalog_universal_d_Item as Item,\n      Money$2 as Money,\n      restaurantsCatalogsV3Catalog_universal_d_Labels as Labels,\n      restaurantsCatalogsV3Catalog_universal_d_VisibilityCriteria as VisibilityCriteria,\n      FulfillmentType$2 as FulfillmentType,\n      restaurantsCatalogsV3Catalog_universal_d_Platform as Platform,\n      Availability$4 as Availability,\n      TimePeriod$4 as TimePeriod,\n      DayOfWeek$4 as DayOfWeek,\n      SpecialHourPeriod$4 as SpecialHourPeriod,\n      restaurantsCatalogsV3Catalog_universal_d_DishOptions as DishOptions,\n      restaurantsCatalogsV3Catalog_universal_d_DishOption as DishOption,\n      restaurantsCatalogsV3Catalog_universal_d_DishOptionMethodOneOf as DishOptionMethodOneOf,\n      restaurantsCatalogsV3Catalog_universal_d_DishOptionItem as DishOptionItem,\n      restaurantsCatalogsV3Catalog_universal_d_Selection as Selection,\n      restaurantsCatalogsV3Catalog_universal_d_Extras as Extras,\n      restaurantsCatalogsV3Catalog_universal_d_Deselection as Deselection,\n      Type$3 as Type,\n      restaurantsCatalogsV3Catalog_universal_d_ItemType as ItemType,\n      restaurantsCatalogsV3Catalog_universal_d_BulkActionMetadata as BulkActionMetadata,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUpdateItemsRequest as BulkUpdateItemsRequest,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUpdateItemsResponse as BulkUpdateItemsResponse,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateDishesRequest as BulkCreateDishesRequest,\n      restaurantsCatalogsV3Catalog_universal_d_CreateDishRequest as CreateDishRequest,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateDishesResponse as BulkCreateDishesResponse,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateMenusRequest as BulkCreateMenusRequest,\n      restaurantsCatalogsV3Catalog_universal_d_Menu as Menu,\n      restaurantsCatalogsV3Catalog_universal_d_MenuSectionIds as MenuSectionIds,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateMenusResponse as BulkCreateMenusResponse,\n      restaurantsCatalogsV3Catalog_universal_d_BulkMenuResult as BulkMenuResult,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUpdateMenusRequest as BulkUpdateMenusRequest,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUpdateMenusResponse as BulkUpdateMenusResponse,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateSectionsRequest as BulkCreateSectionsRequest,\n      restaurantsCatalogsV3Catalog_universal_d_Section as Section,\n      restaurantsCatalogsV3Catalog_universal_d_SectionItemIds as SectionItemIds,\n      restaurantsCatalogsV3Catalog_universal_d_CreateSectionRequest as CreateSectionRequest,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateSectionsResponse as BulkCreateSectionsResponse,\n      restaurantsCatalogsV3Catalog_universal_d_BulkSectionResult as BulkSectionResult,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUpdateSectionsRequest as BulkUpdateSectionsRequest,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateSectionRequest as UpdateSectionRequest,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUpdateSectionsResponse as BulkUpdateSectionsResponse,\n      restaurantsCatalogsV3Catalog_universal_d_BulkArchiveMenusRequest as BulkArchiveMenusRequest,\n      restaurantsCatalogsV3Catalog_universal_d_BulkArchiveMenusResponse as BulkArchiveMenusResponse,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUnarchiveMenusRequest as BulkUnarchiveMenusRequest,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUnarchiveMenusResponse as BulkUnarchiveMenusResponse,\n      restaurantsCatalogsV3Catalog_universal_d_InvalidateCache as InvalidateCache,\n      restaurantsCatalogsV3Catalog_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      restaurantsCatalogsV3Catalog_universal_d_App as App,\n      restaurantsCatalogsV3Catalog_universal_d_Page as Page,\n      restaurantsCatalogsV3Catalog_universal_d_URI as URI,\n      restaurantsCatalogsV3Catalog_universal_d_File as File,\n      restaurantsCatalogsV3Catalog_universal_d_CatalogUpdated as CatalogUpdated,\n      Discount$2 as Discount,\n      DiscountValueOneOf$1 as DiscountValueOneOf,\n      DiscountApplyToFilterOneOf$1 as DiscountApplyToFilterOneOf,\n      DiscountType$2 as DiscountType,\n      SectionIds$1 as SectionIds,\n      ItemIds$1 as ItemIds,\n      DiscountCondition$1 as DiscountCondition,\n      DiscountPlatform$1 as DiscountPlatform,\n      Coupon$2 as Coupon,\n      restaurantsCatalogsV3Catalog_universal_d_PublishCatalogUpdated as PublishCatalogUpdated,\n      restaurantsCatalogsV3Catalog_universal_d_IndexCacheCmd as IndexCacheCmd,\n      restaurantsCatalogsV3Catalog_universal_d_CatalogChanged as CatalogChanged,\n      restaurantsCatalogsV3Catalog_universal_d_ListCatalogsRequest as ListCatalogsRequest,\n      restaurantsCatalogsV3Catalog_universal_d_Sorting as Sorting,\n      SortOrder$1 as SortOrder,\n      restaurantsCatalogsV3Catalog_universal_d_Paging as Paging,\n      restaurantsCatalogsV3Catalog_universal_d_ListCatalogsResponse as ListCatalogsResponse,\n      restaurantsCatalogsV3Catalog_universal_d_GetMenuRequest as GetMenuRequest,\n      restaurantsCatalogsV3Catalog_universal_d_GetMenuResponse as GetMenuResponse,\n      restaurantsCatalogsV3Catalog_universal_d_GetSectionRequest as GetSectionRequest,\n      restaurantsCatalogsV3Catalog_universal_d_GetSectionResponse as GetSectionResponse,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateMenuRequest as UpdateMenuRequest,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateMenuResponse as UpdateMenuResponse,\n      restaurantsCatalogsV3Catalog_universal_d_V3UpdateSectionRequest as V3UpdateSectionRequest,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateSectionResponse as UpdateSectionResponse,\n      restaurantsCatalogsV3Catalog_universal_d_ListMenusRequest as ListMenusRequest,\n      restaurantsCatalogsV3Catalog_universal_d_ListMenusResponse as ListMenusResponse,\n      restaurantsCatalogsV3Catalog_universal_d_ListSectionsRequest as ListSectionsRequest,\n      restaurantsCatalogsV3Catalog_universal_d_ListSectionsResponse as ListSectionsResponse,\n      restaurantsCatalogsV3Catalog_universal_d_CreateMenuRequest as CreateMenuRequest,\n      restaurantsCatalogsV3Catalog_universal_d_CreateMenuResponse as CreateMenuResponse,\n      restaurantsCatalogsV3Catalog_universal_d_ArchiveMenuRequest as ArchiveMenuRequest,\n      restaurantsCatalogsV3Catalog_universal_d_ArchiveMenuResponse as ArchiveMenuResponse,\n      restaurantsCatalogsV3Catalog_universal_d_UnarchiveMenuRequest as UnarchiveMenuRequest,\n      restaurantsCatalogsV3Catalog_universal_d_UnarchiveMenuResponse as UnarchiveMenuResponse,\n      restaurantsCatalogsV3Catalog_universal_d_ArchiveSectionRequest as ArchiveSectionRequest,\n      restaurantsCatalogsV3Catalog_universal_d_ArchiveSectionResponse as ArchiveSectionResponse,\n      restaurantsCatalogsV3Catalog_universal_d_RemoveDishFromSectionRequest as RemoveDishFromSectionRequest,\n      restaurantsCatalogsV3Catalog_universal_d_RemoveDishFromSectionResponse as RemoveDishFromSectionResponse,\n      restaurantsCatalogsV3Catalog_universal_d_V3CreateSectionRequest as V3CreateSectionRequest,\n      restaurantsCatalogsV3Catalog_universal_d_CreateSectionResponse as CreateSectionResponse,\n      restaurantsCatalogsV3Catalog_universal_d_GetItemRequest as GetItemRequest,\n      restaurantsCatalogsV3Catalog_universal_d_GetItemResponse as GetItemResponse,\n      restaurantsCatalogsV3Catalog_universal_d_ListItemsRequest as ListItemsRequest,\n      restaurantsCatalogsV3Catalog_universal_d_ListItemsResponse as ListItemsResponse,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateItemRequest as UpdateItemRequest,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateItemResponse as UpdateItemResponse,\n      restaurantsCatalogsV3Catalog_universal_d_V3CreateDishRequest as V3CreateDishRequest,\n      restaurantsCatalogsV3Catalog_universal_d_CreateDishResponse as CreateDishResponse,\n      restaurantsCatalogsV3Catalog_universal_d_CreateVariationRequest as CreateVariationRequest,\n      restaurantsCatalogsV3Catalog_universal_d_CreateVariationResponse as CreateVariationResponse,\n      restaurantsCatalogsV3Catalog_universal_d_MenuUpdated as MenuUpdated,\n      Empty$2 as Empty,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      restaurantsCatalogsV3Catalog_universal_d_createDraftCatalog as createDraftCatalog,\n      restaurantsCatalogsV3Catalog_universal_d_publishDraftCatalog as publishDraftCatalog,\n      restaurantsCatalogsV3Catalog_universal_d_discardDraftCatalog as discardDraftCatalog,\n      restaurantsCatalogsV3Catalog_universal_d_bulkCreateVariations as bulkCreateVariations,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateVariationsOptions as BulkCreateVariationsOptions,\n      restaurantsCatalogsV3Catalog_universal_d_bulkUpdateItems as bulkUpdateItems,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUpdateItemsOptions as BulkUpdateItemsOptions,\n      restaurantsCatalogsV3Catalog_universal_d_bulkCreateDishes as bulkCreateDishes,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateDishesOptions as BulkCreateDishesOptions,\n      restaurantsCatalogsV3Catalog_universal_d_bulkCreateMenus as bulkCreateMenus,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateMenusOptions as BulkCreateMenusOptions,\n      restaurantsCatalogsV3Catalog_universal_d_bulkUpdateMenus as bulkUpdateMenus,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUpdateMenusOptions as BulkUpdateMenusOptions,\n      restaurantsCatalogsV3Catalog_universal_d_bulkCreateSections as bulkCreateSections,\n      restaurantsCatalogsV3Catalog_universal_d_BulkCreateSectionsOptions as BulkCreateSectionsOptions,\n      restaurantsCatalogsV3Catalog_universal_d_bulkUpdateSections as bulkUpdateSections,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUpdateSectionsOptions as BulkUpdateSectionsOptions,\n      restaurantsCatalogsV3Catalog_universal_d_bulkArchiveMenus as bulkArchiveMenus,\n      restaurantsCatalogsV3Catalog_universal_d_BulkArchiveMenusOptions as BulkArchiveMenusOptions,\n      restaurantsCatalogsV3Catalog_universal_d_bulkUnarchiveMenus as bulkUnarchiveMenus,\n      restaurantsCatalogsV3Catalog_universal_d_BulkUnarchiveMenusOptions as BulkUnarchiveMenusOptions,\n      restaurantsCatalogsV3Catalog_universal_d_listCatalogs as listCatalogs,\n      restaurantsCatalogsV3Catalog_universal_d_ListCatalogsOptions as ListCatalogsOptions,\n      restaurantsCatalogsV3Catalog_universal_d_getMenu as getMenu,\n      restaurantsCatalogsV3Catalog_universal_d_GetMenuIdentifiers as GetMenuIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_getSection as getSection,\n      restaurantsCatalogsV3Catalog_universal_d_GetSectionIdentifiers as GetSectionIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_updateMenu as updateMenu,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateMenuIdentifiers as UpdateMenuIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateMenuOptions as UpdateMenuOptions,\n      restaurantsCatalogsV3Catalog_universal_d_updateSection as updateSection,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateSectionIdentifiers as UpdateSectionIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateSectionOptions as UpdateSectionOptions,\n      restaurantsCatalogsV3Catalog_universal_d_listMenus as listMenus,\n      restaurantsCatalogsV3Catalog_universal_d_ListMenusOptions as ListMenusOptions,\n      restaurantsCatalogsV3Catalog_universal_d_listSections as listSections,\n      restaurantsCatalogsV3Catalog_universal_d_ListSectionsOptions as ListSectionsOptions,\n      restaurantsCatalogsV3Catalog_universal_d_createMenu as createMenu,\n      restaurantsCatalogsV3Catalog_universal_d_archiveMenu as archiveMenu,\n      restaurantsCatalogsV3Catalog_universal_d_ArchiveMenuIdentifiers as ArchiveMenuIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_unarchiveMenu as unarchiveMenu,\n      restaurantsCatalogsV3Catalog_universal_d_UnarchiveMenuIdentifiers as UnarchiveMenuIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_archiveSection as archiveSection,\n      restaurantsCatalogsV3Catalog_universal_d_ArchiveSectionIdentifiers as ArchiveSectionIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_removeDishFromSection as removeDishFromSection,\n      restaurantsCatalogsV3Catalog_universal_d_RemoveDishFromSectionIdentifiers as RemoveDishFromSectionIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_createSection as createSection,\n      restaurantsCatalogsV3Catalog_universal_d_CreateSectionIdentifiers as CreateSectionIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_getItem as getItem,\n      restaurantsCatalogsV3Catalog_universal_d_GetItemIdentifiers as GetItemIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_GetItemOptions as GetItemOptions,\n      restaurantsCatalogsV3Catalog_universal_d_listItems as listItems,\n      restaurantsCatalogsV3Catalog_universal_d_ListItemsOptions as ListItemsOptions,\n      restaurantsCatalogsV3Catalog_universal_d_updateItem as updateItem,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateItemIdentifiers as UpdateItemIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_UpdateItemOptions as UpdateItemOptions,\n      restaurantsCatalogsV3Catalog_universal_d_createDish as createDish,\n      restaurantsCatalogsV3Catalog_universal_d_CreateDishIdentifiers as CreateDishIdentifiers,\n      restaurantsCatalogsV3Catalog_universal_d_createVariation as createVariation,\n      restaurantsCatalogsV3Catalog_universal_d_catalogsBulkCreateVariations as catalogsBulkCreateVariations,\n      restaurantsCatalogsV3Catalog_universal_d_CatalogsBulkCreateVariationsOptions as CatalogsBulkCreateVariationsOptions,\n      restaurantsCatalogsV3Catalog_universal_d_catalogsBulkArchiveMenus as catalogsBulkArchiveMenus,\n      restaurantsCatalogsV3Catalog_universal_d_CatalogsBulkArchiveMenusOptions as CatalogsBulkArchiveMenusOptions,\n      restaurantsCatalogsV3Catalog_universal_d_catalogsBulkCreateDishes as catalogsBulkCreateDishes,\n      restaurantsCatalogsV3Catalog_universal_d_CatalogsBulkCreateDishesOptions as CatalogsBulkCreateDishesOptions,\n      restaurantsCatalogsV3Catalog_universal_d_catalogsBulkCreateSections as catalogsBulkCreateSections,\n      restaurantsCatalogsV3Catalog_universal_d_CatalogsBulkCreateSectionsOptions as CatalogsBulkCreateSectionsOptions,\n    };\n  }\n  \n  /**\n   * Customers can use a discount to pay less. Can be an amount or a percentage.\n   * You can read more about discounts in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n   */\n  interface Discount$1 extends DiscountValueOneOf, DiscountApplyToFilterOneOf {\n      /** Discount amount. */\n      amount?: Money$1;\n      /** Discount percentage. */\n      percentage?: string | null;\n      /** IDs of the sections the discount applies to. */\n      sectionIds?: SectionIds;\n      /** IDs of the items the discount applies to. **Note:** The items must be of type `dish`. */\n      itemIds?: ItemIds;\n      /**\n       * Discount ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Discount name. */\n      name?: string | null;\n      /** Discount description. */\n      description?: string | null;\n      /** Whether the discount is active. Defaults to `true`. */\n      active?: boolean | null;\n      /** Discount type. */\n      type?: DiscountType$1;\n      /**\n       * Discount condition.\n       * All conditions must be met so that a customer can apply the discount.\n       */\n      condition?: DiscountCondition;\n  }\n  /** @oneof */\n  interface DiscountValueOneOf {\n      /** Discount amount. */\n      amount?: Money$1;\n      /** Discount percentage. */\n      percentage?: string | null;\n  }\n  /** @oneof */\n  interface DiscountApplyToFilterOneOf {\n      /** IDs of the sections the discount applies to. */\n      sectionIds?: SectionIds;\n      /** IDs of the items the discount applies to. **Note:** The items must be of type `dish`. */\n      itemIds?: ItemIds;\n  }\n  enum DiscountType$1 {\n      UNSPECIFIED_TYPE = \"UNSPECIFIED_TYPE\",\n      OFF_ITEM = \"OFF_ITEM\",\n      OFF_ORDER = \"OFF_ORDER\"\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money$1 {\n      /** Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values. */\n      value?: string;\n      /**\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Monetary amount. This is the number that will be displayed.\n       * @internal\n       * @readonly\n       */\n      formattedValue?: string | null;\n  }\n  interface SectionIds {\n      values?: string[];\n  }\n  interface ItemIds {\n      values?: string[];\n  }\n  interface DiscountCondition {\n      /** Which fulfillment types the discount applies to. */\n      fulfillmentTypes?: FulfillmentType$1[];\n      /** Which ordering platforms the discount applies to. */\n      platforms?: DiscountPlatform[];\n      /** List of times when the discount is available. */\n      availability?: Availability$3;\n      /** Minimum order price for the discount. */\n      minOrderPrice?: Money$1;\n      /**\n       * Coupon associated with the discount.\n       * @readonly\n       */\n      coupon?: Coupon$1;\n  }\n  enum FulfillmentType$1 {\n      UNSPECIFIED_FULFILLMENT_TYPE = \"UNSPECIFIED_FULFILLMENT_TYPE\",\n      DELIVERY = \"DELIVERY\",\n      PICKUP_OR_DINE_IN = \"PICKUP_OR_DINE_IN\"\n  }\n  enum DiscountPlatform {\n      UNSPECIFIED_PLATFORM = \"UNSPECIFIED_PLATFORM\",\n      SITE = \"SITE\",\n      MOBILE_SITE = \"MOBILE_SITE\",\n      CALL_CENTER = \"CALL_CENTER\"\n  }\n  interface Availability$3 {\n      /**\n       * Weekly recurring time periods when the entity is available.\n       * Limited to 100 time periods.\n       */\n      periods?: TimePeriod$3[];\n      /** Exceptions to the entity's regular availability. The entity can be available or not available during the special hour period. */\n      specialHourPeriods?: SpecialHourPeriod$3[];\n  }\n  /** Weekly recurring time periods when the entity is available. */\n  interface TimePeriod$3 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$3;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$3;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  enum DayOfWeek$3 {\n      UNDEFINED = \"UNDEFINED\",\n      SUN = \"SUN\",\n      MON = \"MON\",\n      TUE = \"TUE\",\n      WED = \"WED\",\n      THU = \"THU\",\n      FRI = \"FRI\",\n      SAT = \"SAT\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$3 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /** Whether the item is available during the exception. Defaults to `true`. */\n      available?: boolean;\n      /** Name of the special hour period. In the dashboard, the special hour period is called event. */\n      eventName?: string | null;\n  }\n  interface Coupon$1 {\n      /**\n       * Whether the customer needs to enter the coupon code to receive the discount. Defaults to `true`.\n       * @readonly\n       */\n      applied?: boolean | null;\n      /**\n       * Coupon code.\n       * @readonly\n       */\n      code?: string | null;\n  }\n  interface GetDiscountRequest {\n      /** ID of the discount to retrieve. */\n      discountId: string;\n      /** ID of the catalog the discount belongs to. */\n      catalogId: string;\n  }\n  interface GetDiscountResponse {\n      /** Retrieved discount. */\n      discount?: Discount$1;\n  }\n  interface UpdateDiscountRequest {\n      /** Discount to update. */\n      discount?: Discount$1;\n      /** ID of the catalog the discount belongs to. */\n      catalogId: string;\n  }\n  interface UpdateDiscountResponse {\n      /** Updated discount. */\n      discount?: Discount$1;\n  }\n  interface CreateDiscountRequest {\n      /** Discount to create. */\n      discount?: Discount$1;\n      /** ID of the catalog the discount belongs to. */\n      catalogId: string;\n  }\n  interface CreateDiscountResponse {\n      /** Created discount. */\n      discount?: Discount$1;\n  }\n  interface ListDiscountsRequest {\n      /**\n       * Filed mask path.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Whether only active discounts are returned. Defaults to `true`. */\n      active?: boolean | null;\n      /** ID of the catalog the discounts belong to. */\n      catalogId: string;\n  }\n  interface ListDiscountsResponse {\n      /** Retrieved discounts. */\n      discounts?: Discount$1[];\n  }\n  interface AddLoyaltyDiscount {\n      locationId?: string | null;\n  }\n  interface Empty$1 {\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a discount.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.discountId\n   * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n   * @returns Retrieved discount.\n   */\n  function getDiscount(identifiers: GetDiscountIdentifiers): Promise<Discount$1>;\n  interface GetDiscountIdentifiers {\n      /** ID of the catalog the discount belongs to. */\n      catalogId: string;\n      /** ID of the discount to retrieve. */\n      discountId: string;\n  }\n  /**\n   * Updates a discount.\n   * A discount can belong to a catalog, section, or dish. You can't create a discount that applies to a menu.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.catalogId\n   * @requiredField identifiers.discountId\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   * @returns Updated discount.\n   */\n  function updateDiscount(identifiers: UpdateDiscountIdentifiers, options?: UpdateDiscountOptions): Promise<Discount$1>;\n  interface UpdateDiscountIdentifiers {\n      /** ID of the catalog the discount belongs to. */\n      catalogId: string;\n      /**\n       * Discount ID.\n       * @readonly\n       */\n      discountId?: string | null;\n  }\n  interface UpdateDiscountOptions {\n      discount: {\n          /** Discount amount. */\n          amount?: Money$1;\n          /** Discount percentage. */\n          percentage?: string | null;\n          /** IDs of the sections the discount applies to. */\n          sectionIds?: SectionIds;\n          /** IDs of the items the discount applies to. **Note:** The items must be of type `dish`. */\n          itemIds?: ItemIds;\n          /**\n           * Discount ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /** Discount name. */\n          name?: string | null;\n          /** Discount description. */\n          description?: string | null;\n          /** Whether the discount is active. Defaults to `true`. */\n          active?: boolean | null;\n          /** Discount type. */\n          type?: DiscountType$1;\n          /**\n           * Discount condition.\n           * All conditions must be met so that a customer can apply the discount.\n           */\n          condition?: DiscountCondition;\n      };\n  }\n  /**\n   * Creates a discount.\n   * You can create discounts for catalogs, sections, or dishes. You can't create a discount that applies to a menu.\n   * @param catalogId - ID of the catalog the discount belongs to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @requiredField options\n   * @requiredField options.discount\n   * @requiredField options.discount.active\n   * @requiredField options.discount.condition.fulfillmentTypes\n   * @requiredField options.discount.condition.minOrderPrice\n   * @requiredField options.discount.condition.platforms\n   * @requiredField options.discount.name\n   * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n   * @adminMethod\n   * @returns Created discount.\n   */\n  function createDiscount(catalogId: string, options: CreateDiscountOptions): Promise<Discount$1>;\n  interface CreateDiscountOptions {\n      /** Discount to create. */\n      discount?: Discount$1;\n  }\n  /**\n   * Retrieves up to 1000 discounts.\n   * @param catalogId - ID of the catalog the discounts belong to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogId\n   * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n   */\n  function listDiscounts(catalogId: string, options?: ListDiscountsOptions): Promise<ListDiscountsResponse>;\n  interface ListDiscountsOptions {\n      /**\n       * Filed mask path.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Whether only active discounts are returned. Defaults to `true`. */\n      active?: boolean | null;\n  }\n  \n  type restaurantsCatalogsV3Discount_universal_d_DiscountValueOneOf = DiscountValueOneOf;\n  type restaurantsCatalogsV3Discount_universal_d_DiscountApplyToFilterOneOf = DiscountApplyToFilterOneOf;\n  type restaurantsCatalogsV3Discount_universal_d_SectionIds = SectionIds;\n  type restaurantsCatalogsV3Discount_universal_d_ItemIds = ItemIds;\n  type restaurantsCatalogsV3Discount_universal_d_DiscountCondition = DiscountCondition;\n  type restaurantsCatalogsV3Discount_universal_d_DiscountPlatform = DiscountPlatform;\n  const restaurantsCatalogsV3Discount_universal_d_DiscountPlatform: typeof DiscountPlatform;\n  type restaurantsCatalogsV3Discount_universal_d_GetDiscountRequest = GetDiscountRequest;\n  type restaurantsCatalogsV3Discount_universal_d_GetDiscountResponse = GetDiscountResponse;\n  type restaurantsCatalogsV3Discount_universal_d_UpdateDiscountRequest = UpdateDiscountRequest;\n  type restaurantsCatalogsV3Discount_universal_d_UpdateDiscountResponse = UpdateDiscountResponse;\n  type restaurantsCatalogsV3Discount_universal_d_CreateDiscountRequest = CreateDiscountRequest;\n  type restaurantsCatalogsV3Discount_universal_d_CreateDiscountResponse = CreateDiscountResponse;\n  type restaurantsCatalogsV3Discount_universal_d_ListDiscountsRequest = ListDiscountsRequest;\n  type restaurantsCatalogsV3Discount_universal_d_ListDiscountsResponse = ListDiscountsResponse;\n  type restaurantsCatalogsV3Discount_universal_d_AddLoyaltyDiscount = AddLoyaltyDiscount;\n  type restaurantsCatalogsV3Discount_universal_d_RestoreInfo = RestoreInfo;\n  const restaurantsCatalogsV3Discount_universal_d_getDiscount: typeof getDiscount;\n  type restaurantsCatalogsV3Discount_universal_d_GetDiscountIdentifiers = GetDiscountIdentifiers;\n  const restaurantsCatalogsV3Discount_universal_d_updateDiscount: typeof updateDiscount;\n  type restaurantsCatalogsV3Discount_universal_d_UpdateDiscountIdentifiers = UpdateDiscountIdentifiers;\n  type restaurantsCatalogsV3Discount_universal_d_UpdateDiscountOptions = UpdateDiscountOptions;\n  const restaurantsCatalogsV3Discount_universal_d_createDiscount: typeof createDiscount;\n  type restaurantsCatalogsV3Discount_universal_d_CreateDiscountOptions = CreateDiscountOptions;\n  const restaurantsCatalogsV3Discount_universal_d_listDiscounts: typeof listDiscounts;\n  type restaurantsCatalogsV3Discount_universal_d_ListDiscountsOptions = ListDiscountsOptions;\n  namespace restaurantsCatalogsV3Discount_universal_d {\n    export {\n      Discount$1 as Discount,\n      restaurantsCatalogsV3Discount_universal_d_DiscountValueOneOf as DiscountValueOneOf,\n      restaurantsCatalogsV3Discount_universal_d_DiscountApplyToFilterOneOf as DiscountApplyToFilterOneOf,\n      DiscountType$1 as DiscountType,\n      Money$1 as Money,\n      restaurantsCatalogsV3Discount_universal_d_SectionIds as SectionIds,\n      restaurantsCatalogsV3Discount_universal_d_ItemIds as ItemIds,\n      restaurantsCatalogsV3Discount_universal_d_DiscountCondition as DiscountCondition,\n      FulfillmentType$1 as FulfillmentType,\n      restaurantsCatalogsV3Discount_universal_d_DiscountPlatform as DiscountPlatform,\n      Availability$3 as Availability,\n      TimePeriod$3 as TimePeriod,\n      DayOfWeek$3 as DayOfWeek,\n      SpecialHourPeriod$3 as SpecialHourPeriod,\n      Coupon$1 as Coupon,\n      restaurantsCatalogsV3Discount_universal_d_GetDiscountRequest as GetDiscountRequest,\n      restaurantsCatalogsV3Discount_universal_d_GetDiscountResponse as GetDiscountResponse,\n      restaurantsCatalogsV3Discount_universal_d_UpdateDiscountRequest as UpdateDiscountRequest,\n      restaurantsCatalogsV3Discount_universal_d_UpdateDiscountResponse as UpdateDiscountResponse,\n      restaurantsCatalogsV3Discount_universal_d_CreateDiscountRequest as CreateDiscountRequest,\n      restaurantsCatalogsV3Discount_universal_d_CreateDiscountResponse as CreateDiscountResponse,\n      restaurantsCatalogsV3Discount_universal_d_ListDiscountsRequest as ListDiscountsRequest,\n      restaurantsCatalogsV3Discount_universal_d_ListDiscountsResponse as ListDiscountsResponse,\n      restaurantsCatalogsV3Discount_universal_d_AddLoyaltyDiscount as AddLoyaltyDiscount,\n      Empty$1 as Empty,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      restaurantsCatalogsV3Discount_universal_d_RestoreInfo as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      restaurantsCatalogsV3Discount_universal_d_getDiscount as getDiscount,\n      restaurantsCatalogsV3Discount_universal_d_GetDiscountIdentifiers as GetDiscountIdentifiers,\n      restaurantsCatalogsV3Discount_universal_d_updateDiscount as updateDiscount,\n      restaurantsCatalogsV3Discount_universal_d_UpdateDiscountIdentifiers as UpdateDiscountIdentifiers,\n      restaurantsCatalogsV3Discount_universal_d_UpdateDiscountOptions as UpdateDiscountOptions,\n      restaurantsCatalogsV3Discount_universal_d_createDiscount as createDiscount,\n      restaurantsCatalogsV3Discount_universal_d_CreateDiscountOptions as CreateDiscountOptions,\n      restaurantsCatalogsV3Discount_universal_d_listDiscounts as listDiscounts,\n      restaurantsCatalogsV3Discount_universal_d_ListDiscountsOptions as ListDiscountsOptions,\n    };\n  }\n  \n  /**\n   * FulfillmentMethod is the main entity of FulfillmentMethods that can be used to enable restaurant\n   * to configure the supported fulfillment methods.\n   */\n  interface FulfillmentMethod extends FulfillmentMethodMethodInfoOneOf {\n      /** Delivery info */\n      deliveryInfo?: DeliveryInfo;\n      /** Pickup info */\n      pickupInfo?: PickupInfo$1;\n      /** DineIn info */\n      dineInInfo?: DineInInfo;\n      /** Fulfillment Id */\n      _id?: string | null;\n      /** Fulfillment type. */\n      type?: FulfillmentMethodType;\n      /** The restaurantLocation id this fulfillment method is related to */\n      restaurantLocationId?: string | null;\n      /** Whether the fulfillment method is active or not - Defaults to `false` */\n      enabled?: boolean;\n      /** Time periods when the entity is available. */\n      availability?: Availability$2;\n      /**\n       * Current state of this fulfillment method.\n       * Each time the fulfillment method is modified, its `revision` changes.\n       */\n      revision?: string | null;\n  }\n  /** @oneof */\n  interface FulfillmentMethodMethodInfoOneOf {\n      /** Delivery info */\n      deliveryInfo?: DeliveryInfo;\n      /** Pickup info */\n      pickupInfo?: PickupInfo$1;\n      /** DineIn info */\n      dineInInfo?: DineInInfo;\n  }\n  enum FulfillmentMethodType {\n      /** Missing type due to an error */\n      UNSPECIFIED_FULFILLMENT_TYPE = \"UNSPECIFIED_FULFILLMENT_TYPE\",\n      /** Pickup */\n      PICKUP = \"PICKUP\",\n      /** Delivery */\n      DELIVERY = \"DELIVERY\",\n      /** DineIn */\n      DINE_IN = \"DINE_IN\"\n  }\n  interface Availability$2 {\n      /** Weekly recurring time periods when the entity is available. Limited to 100 time periods. */\n      periods?: TimePeriod$2[];\n      /** Exceptions to the entity's regular availability. The entity can be available or not available during the special hour period. */\n      specialHourPeriods?: SpecialHourPeriod$2[];\n  }\n  /** Weekly recurring time periods when the entity is available. */\n  interface TimePeriod$2 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$2;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https:en.wikipedia.orgwikiISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$2;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https:en.wikipedia.orgwikiISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  enum DayOfWeek$2 {\n      MON = \"MON\",\n      TUE = \"TUE\",\n      WED = \"WED\",\n      THU = \"THU\",\n      FRI = \"FRI\",\n      SAT = \"SAT\",\n      SUN = \"SUN\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$2 {\n      /** Start date and time of the exception in [ISO 8601](https:en.wikipedia.orgwikiISO_8601) format and [Coordinated Universal Time (UTC)](https:en.wikipedia.orgwikiCoordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https:en.wikipedia.orgwikiISO_8601) format and [Coordinated Universal Time (UTC)](https:en.wikipedia.orgwikiCoordinated_Universal_Time). */\n      endDate?: string;\n      /** Whether the item is available during the exception. Defaults to `false`. */\n      available?: boolean;\n      /** Name of the special hour period. In the Business Manager the special hour period is called event. */\n      eventName?: string | null;\n  }\n  interface DeliveryInfo extends DeliveryInfoProviderOneOf {\n      /** Delivery through the restaurant. */\n      restaurant?: Restaurant$1;\n      /** Delivery through an external provider. */\n      externalProvider?: ExternalProvider$1;\n      /** Delivery name */\n      name?: string | null;\n      /** Estimated delivery time */\n      deliveryTime?: number | null;\n      /** fulfillment method fee */\n      fee?: string | null;\n      /** Delivery time display unit */\n      deliveryTimeDisplayUnit?: TimeDisplayUnit;\n      /** The minimum amount of the order for using this fulfillment method. */\n      minimumOrderAmount?: string | null;\n  }\n  /** @oneof */\n  interface DeliveryInfoProviderOneOf {\n      /** Delivery through the restaurant. */\n      restaurant?: Restaurant$1;\n      /** Delivery through an external provider. */\n      externalProvider?: ExternalProvider$1;\n  }\n  interface Restaurant$1 {\n      /** Delivery range details */\n      deliveryRange?: DeliveryRange;\n  }\n  interface DeliveryRange extends DeliveryRangeValueOneOf {\n      /** radius of the delivery area from the location of the branch. */\n      radiusDetails?: RadiusDetails;\n      /** radius of the delivery area */\n      postalCodeDetails?: PostalCodeDetails;\n      /** Custom delivery range */\n      customDetails?: CustomDetails;\n      /** Area shape type */\n      type?: Type$2;\n  }\n  /** @oneof */\n  interface DeliveryRangeValueOneOf {\n      /** radius of the delivery area from the location of the branch. */\n      radiusDetails?: RadiusDetails;\n      /** radius of the delivery area */\n      postalCodeDetails?: PostalCodeDetails;\n      /** Custom delivery range */\n      customDetails?: CustomDetails;\n  }\n  enum Type$2 {\n      UNDEFINED = \"UNDEFINED\",\n      RADIUS = \"RADIUS\",\n      POSTAL_CODE = \"POSTAL_CODE\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface RadiusDetails {\n      /** radius of the delivery area from the location of the branch. */\n      radius?: string | null;\n      /** Geocodes of the delivery area */\n      geocode?: AddressLocation$1;\n  }\n  interface AddressLocation$1 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface PostalCodeDetails {\n      /** address of the delivery area */\n      postalCode?: string | null;\n      /**\n       * Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n       * @readonly\n       */\n      countryCode?: string | null;\n  }\n  interface CustomDetails {\n      /** Geocodes of the delivery area */\n      geocodes?: AddressLocation$1[];\n  }\n  interface ExternalProvider$1 {\n      /** Restaurant configuration id */\n      configurationId?: string;\n      /** Fee paid by the restaurant to the external delivery provider. */\n      commission?: string | null;\n      /** Pickup instructions of the order from the restaurant for the delivery provider */\n      pickupInstructions?: string | null;\n  }\n  enum TimeDisplayUnit {\n      UNDEFINED = \"UNDEFINED\",\n      MINUTES = \"MINUTES\",\n      HOURS = \"HOURS\",\n      DAYS = \"DAYS\"\n  }\n  interface PickupInfo$1 {\n      /** Curbside info */\n      curbsideInfo?: CurbsideInfo;\n      /** Estimated preparation time */\n      prepTime?: number | null;\n      /** The minimum amount of the order for using this fulfillment method. */\n      minimumOrderAmount?: string | null;\n  }\n  interface CurbsideInfo {\n      /** Whether curbside method is active or not - Defaults to `false` */\n      enabled?: boolean;\n      /** Curbside pickup instructions. Customers will see these instructions when placing their order. */\n      instructions?: string | null;\n      /** Additional informational field label. Customers will be required to fill in this field during checkout. */\n      additionalInfoLabel?: string | null;\n      /** Is the additional information field required */\n      additionalInfoLabelRequired?: boolean | null;\n  }\n  interface DineInInfo {\n      /**\n       * Estimated preparation time\n       * @readonly\n       */\n      prepTime?: number | null;\n      /**\n       * DineIn instructions. Customers will see these instructions during checkout.\n       * Example: Add your table number to place your order. We'll bring the order to you once ready.\n       */\n      instructions?: string | null;\n      /**\n       * Informational field label. Customers will be asked to fill this out while placing their order.\n       * Example: Table Number\n       */\n      additionalInfoLabel?: string | null;\n      /**\n       * The minimum amount of the order for using this fulfillment method.\n       * @readonly\n       */\n      minimumOrderAmount?: string | null;\n  }\n  interface CreateFulfillmentMethodRequest {\n      /** FulfillmentMethod to be created */\n      fulfillmentMethod: FulfillmentMethod;\n  }\n  interface CreateFulfillmentMethodResponse {\n      /** The created FulfillmentMethod */\n      fulfillmentMethod?: FulfillmentMethod;\n  }\n  interface GetFulfillmentMethodRequest {\n      /** Id of the FulfillmentMethod to retrieve */\n      fulfillmentMethodId: string;\n  }\n  interface GetFulfillmentMethodResponse {\n      /** The retrieved FulfillmentMethod */\n      fulfillmentMethod?: FulfillmentMethod;\n  }\n  interface UpdateFulfillmentMethodRequest {\n      /** FulfillmentMethod to be updated, may be partial */\n      fulfillmentMethod: FulfillmentMethod;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateFulfillmentMethodResponse {\n      /** The updated FulfillmentMethod */\n      fulfillmentMethod?: FulfillmentMethod;\n  }\n  interface DeleteFulfillmentMethodRequest {\n      /** Id of the FulfillmentMethod to delete */\n      fulfillmentMethodId: string;\n  }\n  interface DeleteFulfillmentMethodResponse {\n  }\n  interface ListFulfillmentMethodsRequest {\n      /** restaurant location ids */\n      restaurantLocationIds?: string[] | null;\n  }\n  interface ListFulfillmentMethodsResponse {\n      /** The retrieved fulfillment methods */\n      fulfillmentMethods?: FulfillmentMethod[];\n  }\n  interface FindBestDeliveryAreaRequest {\n      /** restaurant location id */\n      restaurantLocationId?: string | null;\n      /** order geocodes of the delivery area */\n      geocode?: AddressLocation$1;\n      /** order amount */\n      orderAmount?: string | null;\n      /** order delivery time */\n      deliveryTime?: Date | null;\n      /** category by which best delivery area is selected */\n      bestDeliveryByCategory?: BestDeliveryByCategory;\n  }\n  enum BestDeliveryByCategory {\n      /** minimum delivery fee */\n      DELIVERY_FEE = \"DELIVERY_FEE\"\n  }\n  interface FindBestDeliveryAreaResponse {\n      /** delivery info */\n      deliveryInfo?: DeliveryInfo;\n  }\n  /**\n   * Creates a new FulfillmentMethod\n   * @param fulfillmentMethod - FulfillmentMethod to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fulfillmentMethod\n   * @requiredField fulfillmentMethod.restaurantLocationId\n   * @permissionId WIX_RESTAURANTS.FULFILLMENT_METHODS_WRITE\n   * @adminMethod\n   * @returns The created FulfillmentMethod\n   */\n  function createFulfillmentMethod(fulfillmentMethod: FulfillmentMethod): Promise<FulfillmentMethod>;\n  /**\n   * Get a FulfillmentMethod by id\n   * @param fulfillmentMethodId - Id of the FulfillmentMethod to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fulfillmentMethodId\n   * @permissionId WIX_RESTAURANTS.FULFILLMENT_METHODS_READ\n   * @returns The retrieved FulfillmentMethod\n   */\n  function getFulfillmentMethod(fulfillmentMethodId: string): Promise<FulfillmentMethod>;\n  /**\n   * Update a FulfillmentMethod, supports partial update\n   * @param _id - Fulfillment Id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField fulfillmentMethod\n   * @permissionId WIX_RESTAURANTS.FULFILLMENT_METHODS_WRITE\n   * @adminMethod\n   * @returns The updated FulfillmentMethod\n   */\n  function updateFulfillmentMethod(_id: string | null, fulfillmentMethod: UpdateFulfillmentMethod, options?: UpdateFulfillmentMethodOptions): Promise<FulfillmentMethod>;\n  interface UpdateFulfillmentMethod {\n      /** Delivery info */\n      deliveryInfo?: DeliveryInfo;\n      /** Pickup info */\n      pickupInfo?: PickupInfo$1;\n      /** DineIn info */\n      dineInInfo?: DineInInfo;\n      /** Fulfillment Id */\n      _id?: string | null;\n      /** Fulfillment type. */\n      type?: FulfillmentMethodType;\n      /** The restaurantLocation id this fulfillment method is related to */\n      restaurantLocationId?: string | null;\n      /** Whether the fulfillment method is active or not - Defaults to `false` */\n      enabled?: boolean;\n      /** Time periods when the entity is available. */\n      availability?: Availability$2;\n      /**\n       * Current state of this fulfillment method.\n       * Each time the fulfillment method is modified, its `revision` changes.\n       */\n      revision?: string | null;\n  }\n  interface UpdateFulfillmentMethodOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Delete a FulfillmentMethod\n   * @param fulfillmentMethodId - Id of the FulfillmentMethod to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fulfillmentMethodId\n   * @permissionId WIX_RESTAURANTS.FULFILLMENT_METHODS_WRITE\n   * @adminMethod\n   */\n  function deleteFulfillmentMethod(fulfillmentMethodId: string): Promise<void>;\n  /**\n   * List Fulfillment Methods\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.FULFILLMENT_METHODS_READ\n   */\n  function listFulfillmentMethods(options?: ListFulfillmentMethodsOptions): Promise<ListFulfillmentMethodsResponse>;\n  interface ListFulfillmentMethodsOptions {\n      /** restaurant location ids */\n      restaurantLocationIds?: string[] | null;\n  }\n  /**\n   * Find the best delivery area for a geocoded order address\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.FULFILLMENT_METHODS_READ\n   */\n  function findBestDeliveryArea(options?: FindBestDeliveryAreaOptions): Promise<FindBestDeliveryAreaResponse>;\n  interface FindBestDeliveryAreaOptions {\n      /** restaurant location id */\n      restaurantLocationId?: string | null;\n      /** order geocodes of the delivery area */\n      geocode?: AddressLocation$1;\n      /** order amount */\n      orderAmount?: string | null;\n      /** order delivery time */\n      deliveryTime?: Date | null;\n      /** category by which best delivery area is selected */\n      bestDeliveryByCategory?: BestDeliveryByCategory;\n  }\n  \n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FulfillmentMethod = FulfillmentMethod;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FulfillmentMethodMethodInfoOneOf = FulfillmentMethodMethodInfoOneOf;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FulfillmentMethodType = FulfillmentMethodType;\n  const restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FulfillmentMethodType: typeof FulfillmentMethodType;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeliveryInfo = DeliveryInfo;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeliveryInfoProviderOneOf = DeliveryInfoProviderOneOf;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeliveryRange = DeliveryRange;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeliveryRangeValueOneOf = DeliveryRangeValueOneOf;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_RadiusDetails = RadiusDetails;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_PostalCodeDetails = PostalCodeDetails;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_CustomDetails = CustomDetails;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_TimeDisplayUnit = TimeDisplayUnit;\n  const restaurantsFulfillmentsV3FulfillmentMethod_universal_d_TimeDisplayUnit: typeof TimeDisplayUnit;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_CurbsideInfo = CurbsideInfo;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DineInInfo = DineInInfo;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_CreateFulfillmentMethodRequest = CreateFulfillmentMethodRequest;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_CreateFulfillmentMethodResponse = CreateFulfillmentMethodResponse;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_GetFulfillmentMethodRequest = GetFulfillmentMethodRequest;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_GetFulfillmentMethodResponse = GetFulfillmentMethodResponse;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_UpdateFulfillmentMethodRequest = UpdateFulfillmentMethodRequest;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_UpdateFulfillmentMethodResponse = UpdateFulfillmentMethodResponse;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeleteFulfillmentMethodRequest = DeleteFulfillmentMethodRequest;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeleteFulfillmentMethodResponse = DeleteFulfillmentMethodResponse;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_ListFulfillmentMethodsRequest = ListFulfillmentMethodsRequest;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_ListFulfillmentMethodsResponse = ListFulfillmentMethodsResponse;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FindBestDeliveryAreaRequest = FindBestDeliveryAreaRequest;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_BestDeliveryByCategory = BestDeliveryByCategory;\n  const restaurantsFulfillmentsV3FulfillmentMethod_universal_d_BestDeliveryByCategory: typeof BestDeliveryByCategory;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FindBestDeliveryAreaResponse = FindBestDeliveryAreaResponse;\n  const restaurantsFulfillmentsV3FulfillmentMethod_universal_d_createFulfillmentMethod: typeof createFulfillmentMethod;\n  const restaurantsFulfillmentsV3FulfillmentMethod_universal_d_getFulfillmentMethod: typeof getFulfillmentMethod;\n  const restaurantsFulfillmentsV3FulfillmentMethod_universal_d_updateFulfillmentMethod: typeof updateFulfillmentMethod;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_UpdateFulfillmentMethod = UpdateFulfillmentMethod;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_UpdateFulfillmentMethodOptions = UpdateFulfillmentMethodOptions;\n  const restaurantsFulfillmentsV3FulfillmentMethod_universal_d_deleteFulfillmentMethod: typeof deleteFulfillmentMethod;\n  const restaurantsFulfillmentsV3FulfillmentMethod_universal_d_listFulfillmentMethods: typeof listFulfillmentMethods;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_ListFulfillmentMethodsOptions = ListFulfillmentMethodsOptions;\n  const restaurantsFulfillmentsV3FulfillmentMethod_universal_d_findBestDeliveryArea: typeof findBestDeliveryArea;\n  type restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FindBestDeliveryAreaOptions = FindBestDeliveryAreaOptions;\n  namespace restaurantsFulfillmentsV3FulfillmentMethod_universal_d {\n    export {\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FulfillmentMethod as FulfillmentMethod,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FulfillmentMethodMethodInfoOneOf as FulfillmentMethodMethodInfoOneOf,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FulfillmentMethodType as FulfillmentMethodType,\n      Availability$2 as Availability,\n      TimePeriod$2 as TimePeriod,\n      DayOfWeek$2 as DayOfWeek,\n      SpecialHourPeriod$2 as SpecialHourPeriod,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeliveryInfo as DeliveryInfo,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeliveryInfoProviderOneOf as DeliveryInfoProviderOneOf,\n      Restaurant$1 as Restaurant,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeliveryRange as DeliveryRange,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeliveryRangeValueOneOf as DeliveryRangeValueOneOf,\n      Type$2 as Type,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_RadiusDetails as RadiusDetails,\n      AddressLocation$1 as AddressLocation,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_PostalCodeDetails as PostalCodeDetails,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_CustomDetails as CustomDetails,\n      ExternalProvider$1 as ExternalProvider,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_TimeDisplayUnit as TimeDisplayUnit,\n      PickupInfo$1 as PickupInfo,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_CurbsideInfo as CurbsideInfo,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DineInInfo as DineInInfo,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_CreateFulfillmentMethodRequest as CreateFulfillmentMethodRequest,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_CreateFulfillmentMethodResponse as CreateFulfillmentMethodResponse,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_GetFulfillmentMethodRequest as GetFulfillmentMethodRequest,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_GetFulfillmentMethodResponse as GetFulfillmentMethodResponse,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_UpdateFulfillmentMethodRequest as UpdateFulfillmentMethodRequest,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_UpdateFulfillmentMethodResponse as UpdateFulfillmentMethodResponse,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeleteFulfillmentMethodRequest as DeleteFulfillmentMethodRequest,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_DeleteFulfillmentMethodResponse as DeleteFulfillmentMethodResponse,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_ListFulfillmentMethodsRequest as ListFulfillmentMethodsRequest,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_ListFulfillmentMethodsResponse as ListFulfillmentMethodsResponse,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FindBestDeliveryAreaRequest as FindBestDeliveryAreaRequest,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_BestDeliveryByCategory as BestDeliveryByCategory,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FindBestDeliveryAreaResponse as FindBestDeliveryAreaResponse,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_createFulfillmentMethod as createFulfillmentMethod,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_getFulfillmentMethod as getFulfillmentMethod,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_updateFulfillmentMethod as updateFulfillmentMethod,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_UpdateFulfillmentMethod as UpdateFulfillmentMethod,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_UpdateFulfillmentMethodOptions as UpdateFulfillmentMethodOptions,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_deleteFulfillmentMethod as deleteFulfillmentMethod,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_listFulfillmentMethods as listFulfillmentMethods,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_ListFulfillmentMethodsOptions as ListFulfillmentMethodsOptions,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_findBestDeliveryArea as findBestDeliveryArea,\n      restaurantsFulfillmentsV3FulfillmentMethod_universal_d_FindBestDeliveryAreaOptions as FindBestDeliveryAreaOptions,\n    };\n  }\n  \n  /** OrderSettings is the main entity of OrderSettings service */\n  interface OrderSettings {\n      /** Order Settings id */\n      _id?: string | null;\n      /** Restaurant location id */\n      restaurantLocationId?: string | null;\n      /** Is Order settings enabled - customers can order through the system */\n      enabled?: boolean | null;\n      /**\n       * should we send a confirmation email to the UOU on new order. default true\n       * @internal\n       */\n      sendOrderConfirmationEmail?: boolean | null;\n      /** if UOU need to provide a valid google maps address */\n      approximateAddresses?: ApproximateAddresses;\n      /** Local regulations may require you to add a policy document to your site. */\n      policies?: Policies;\n      tips?: Tips;\n      futureOrders?: FutureOrdersSettings;\n      /** Represents only exceptions of when the user wants to turn off the online ordering for a period of time */\n      availability?: Availability$1;\n      revision?: string | null;\n      /** Restaurant charge rounding strategy */\n      chargeRoundingStrategy?: ChargeRoundingStrategy;\n  }\n  enum ApproximateAddresses {\n      EMPTY = \"EMPTY\",\n      BLOCK = \"BLOCK\",\n      ALLOW = \"ALLOW\"\n  }\n  /** Local regulations may require you to add a policy document to your site. */\n  interface Policies {\n      /** Privacy policy */\n      privacyPolicy?: Policy;\n      /** Terms and Conditions */\n      termsAndConditions?: Policy;\n      /** Is the Policies feature enabled, default value false */\n      enabled?: boolean;\n      /** Is the checkbox of the policy agreement marked by default */\n      checkedByDefault?: boolean | null;\n  }\n  interface Policy {\n      /** Default Policy type */\n      defaultType?: Type$1;\n      text?: string | null;\n      url?: string | null;\n  }\n  enum Type$1 {\n      /** Add a page to your site and put your policy document there. You can link to it from here. */\n      URL = \"URL\",\n      /** The policy will be displayed as plain text in a popup. */\n      TEXT = \"TEXT\"\n  }\n  /** Customers can leave a tip when placing an order. */\n  interface Tips {\n      /** Allow customers to leave a custom tips, default `false` */\n      allowCustom?: boolean | null;\n      /** tip type to display */\n      displayType?: TipsType;\n      /** Set different tipping suggestion options with exact amounts, for your customers to choose from */\n      suggestedAmounts?: TippingRate[];\n      /** Set different tipping rate options with percentage values, for your customers to choose from */\n      suggestedPercentages?: TippingRate[];\n      /** Is the Tips feature enabled, default value false */\n      enabled?: boolean;\n  }\n  enum TipsType {\n      /** Tip with exact amount ($) */\n      AMOUNT = \"AMOUNT\",\n      /** Tip in percentage */\n      PERCENTAGE = \"PERCENTAGE\"\n  }\n  interface TippingRate {\n      /** Can be exact amount or percentage */\n      value?: string;\n      /** Is default option */\n      default?: boolean;\n  }\n  interface FutureOrdersSettings {\n      /** Is Future Orders enabled */\n      enabled?: boolean | null;\n      /** latest time in advance in minutes that customers can place an order */\n      latestOrderBy?: number | null;\n      /** earliest time in advance in minutes that customers can place an order */\n      earliestOrderBy?: number | null;\n      /**\n       * How much time before order delivery to show it in the list, controlled from the advanced options\n       * @internal\n       */\n      displayOrderInAdvanceTime?: number | null;\n      /** Allow asap orders or not. If false, only future orders are allowed */\n      enableAsapOrders?: boolean | null;\n  }\n  interface Availability$1 {\n      /** Weekly recurring time periods when the entity is available. Limited to 100 time periods. */\n      periods?: TimePeriod$1[];\n      /** Exceptions to the entity's regular availability. The entity can be available or not available during the special hour period. */\n      specialHourPeriods?: SpecialHourPeriod$1[];\n  }\n  /** Weekly recurring time periods when the entity is available. */\n  interface TimePeriod$1 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$1;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https:en.wikipedia.orgwikiISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$1;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https:en.wikipedia.orgwikiISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  enum DayOfWeek$1 {\n      MON = \"MON\",\n      TUE = \"TUE\",\n      WED = \"WED\",\n      THU = \"THU\",\n      FRI = \"FRI\",\n      SAT = \"SAT\",\n      SUN = \"SUN\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$1 {\n      /** Start date and time of the exception in [ISO 8601](https:en.wikipedia.orgwikiISO_8601) format and [Coordinated Universal Time (UTC)](https:en.wikipedia.orgwikiCoordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https:en.wikipedia.orgwikiISO_8601) format and [Coordinated Universal Time (UTC)](https:en.wikipedia.orgwikiCoordinated_Universal_Time). */\n      endDate?: string;\n      /** Whether the item is available during the exception. Defaults to `false`. */\n      available?: boolean;\n      /** Name of the special hour period. In the Business Manager the special hour period is called event. */\n      eventName?: string | null;\n  }\n  enum ChargeRoundingStrategy {\n      UNDEFINED = \"UNDEFINED\",\n      /** https://en.wikipedia.org/wiki/Rounding#Round_half_away_from_zero */\n      HALF_AWAY_FROM_ZERO = \"HALF_AWAY_FROM_ZERO\",\n      /** https://en.wikipedia.org/wiki/Rounding#Round_half_to_even */\n      HALF_EVEN = \"HALF_EVEN\"\n  }\n  interface GetOrderSettingsRequest {\n      /** Id of the OrderSettings to retrieve */\n      orderSettingsId: string;\n  }\n  interface GetOrderSettingsResponse {\n      /** The retrieved OrderSettings */\n      orderSettings?: OrderSettings;\n  }\n  interface UpdateOrderSettingsRequest {\n      /** OrderSettings to be updated, may be partial */\n      orderSettings: OrderSettings;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateOrderSettingsResponse {\n      /** The updated OrderSettings */\n      orderSettings?: OrderSettings;\n  }\n  interface ListOrderSettingsRequest {\n      /** Ids of the restaurant locations for the OrderSettings to retrieve */\n      restaurantLocationIds?: string[];\n  }\n  interface ListOrderSettingsResponse {\n      /** The retrieved order settings */\n      orderSettings?: OrderSettings[];\n  }\n  /**\n   * Get a OrderSettings by id\n   * @param orderSettingsId - Id of the OrderSettings to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderSettingsId\n   * @permissionId WIX_RESTAURANTS.READ_ORDER_SETTINGS\n   * @returns The retrieved OrderSettings\n   */\n  function getOrderSettings(orderSettingsId: string): Promise<OrderSettings>;\n  /**\n   * Update a OrderSettings, supports partial update\n   * @param _id - Order Settings id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField orderSettings\n   * @requiredField orderSettings.revision\n   * @permissionId WIX_RESTAURANTS.MANAGE_ORDER_SETTINGS\n   * @adminMethod\n   * @returns The updated OrderSettings\n   */\n  function updateOrderSettings(_id: string | null, orderSettings: UpdateOrderSettings, options?: UpdateOrderSettingsOptions): Promise<OrderSettings>;\n  interface UpdateOrderSettings {\n      /** Order Settings id */\n      _id?: string | null;\n      /** Restaurant location id */\n      restaurantLocationId?: string | null;\n      /** Is Order settings enabled - customers can order through the system */\n      enabled?: boolean | null;\n      /**\n       * should we send a confirmation email to the UOU on new order. default true\n       * @internal\n       */\n      sendOrderConfirmationEmail?: boolean | null;\n      /** if UOU need to provide a valid google maps address */\n      approximateAddresses?: ApproximateAddresses;\n      /** Local regulations may require you to add a policy document to your site. */\n      policies?: Policies;\n      tips?: Tips;\n      futureOrders?: FutureOrdersSettings;\n      /** Represents only exceptions of when the user wants to turn off the online ordering for a period of time */\n      availability?: Availability$1;\n      revision?: string | null;\n      /** Restaurant charge rounding strategy */\n      chargeRoundingStrategy?: ChargeRoundingStrategy;\n  }\n  interface UpdateOrderSettingsOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * List Order settings\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.READ_ORDER_SETTINGS\n   */\n  function listOrderSettings(options?: ListOrderSettingsOptions): Promise<ListOrderSettingsResponse>;\n  interface ListOrderSettingsOptions {\n      /** Ids of the restaurant locations for the OrderSettings to retrieve */\n      restaurantLocationIds?: string[];\n  }\n  \n  type restaurantsOrdersettingsV3OrderSettings_universal_d_OrderSettings = OrderSettings;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_ApproximateAddresses = ApproximateAddresses;\n  const restaurantsOrdersettingsV3OrderSettings_universal_d_ApproximateAddresses: typeof ApproximateAddresses;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_Policies = Policies;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_Policy = Policy;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_Tips = Tips;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_TipsType = TipsType;\n  const restaurantsOrdersettingsV3OrderSettings_universal_d_TipsType: typeof TipsType;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_TippingRate = TippingRate;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_FutureOrdersSettings = FutureOrdersSettings;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_ChargeRoundingStrategy = ChargeRoundingStrategy;\n  const restaurantsOrdersettingsV3OrderSettings_universal_d_ChargeRoundingStrategy: typeof ChargeRoundingStrategy;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_GetOrderSettingsRequest = GetOrderSettingsRequest;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_GetOrderSettingsResponse = GetOrderSettingsResponse;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_UpdateOrderSettingsRequest = UpdateOrderSettingsRequest;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_UpdateOrderSettingsResponse = UpdateOrderSettingsResponse;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_ListOrderSettingsRequest = ListOrderSettingsRequest;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_ListOrderSettingsResponse = ListOrderSettingsResponse;\n  const restaurantsOrdersettingsV3OrderSettings_universal_d_getOrderSettings: typeof getOrderSettings;\n  const restaurantsOrdersettingsV3OrderSettings_universal_d_updateOrderSettings: typeof updateOrderSettings;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_UpdateOrderSettings = UpdateOrderSettings;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_UpdateOrderSettingsOptions = UpdateOrderSettingsOptions;\n  const restaurantsOrdersettingsV3OrderSettings_universal_d_listOrderSettings: typeof listOrderSettings;\n  type restaurantsOrdersettingsV3OrderSettings_universal_d_ListOrderSettingsOptions = ListOrderSettingsOptions;\n  namespace restaurantsOrdersettingsV3OrderSettings_universal_d {\n    export {\n      restaurantsOrdersettingsV3OrderSettings_universal_d_OrderSettings as OrderSettings,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_ApproximateAddresses as ApproximateAddresses,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_Policies as Policies,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_Policy as Policy,\n      Type$1 as Type,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_Tips as Tips,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_TipsType as TipsType,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_TippingRate as TippingRate,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_FutureOrdersSettings as FutureOrdersSettings,\n      Availability$1 as Availability,\n      TimePeriod$1 as TimePeriod,\n      DayOfWeek$1 as DayOfWeek,\n      SpecialHourPeriod$1 as SpecialHourPeriod,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_ChargeRoundingStrategy as ChargeRoundingStrategy,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_GetOrderSettingsRequest as GetOrderSettingsRequest,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_GetOrderSettingsResponse as GetOrderSettingsResponse,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_UpdateOrderSettingsRequest as UpdateOrderSettingsRequest,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_UpdateOrderSettingsResponse as UpdateOrderSettingsResponse,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_ListOrderSettingsRequest as ListOrderSettingsRequest,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_ListOrderSettingsResponse as ListOrderSettingsResponse,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_getOrderSettings as getOrderSettings,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_updateOrderSettings as updateOrderSettings,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_UpdateOrderSettings as UpdateOrderSettings,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_UpdateOrderSettingsOptions as UpdateOrderSettingsOptions,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_listOrderSettings as listOrderSettings,\n      restaurantsOrdersettingsV3OrderSettings_universal_d_ListOrderSettingsOptions as ListOrderSettingsOptions,\n    };\n  }\n  \n  interface Configuration {\n      /** Configuration ID for the location on the Wix site. */\n      _id?: string | null;\n      /**\n       * The corresponding Wix location for the configuration, as defined for the Wix site using the Business Info's [Locations](https://dev.wix.com/api/rest/business-info/locations) and/or [Site Properties](https://dev.wix.com/api/rest/business-info/site-properties) APIs,\n       * or using [Dashboard Settings](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsettings/business-info).\n       */\n      location?: Location$1;\n      /** Restaurant catalog ID. */\n      catalogId?: string;\n      /** Whether a configuration is archived. */\n      archived?: boolean;\n      /** Whether a configuration is enabled. */\n      enabled?: boolean;\n      /**\n       * URL linking to the POS integration settings in the Dashboard\n       * if an online POS ordering app is installed.\n       */\n      integrationSettingsUrl?: string | null;\n  }\n  interface Location$1 {\n      /** The Wix location [name](https://dev.wix.com/api/rest/business-info/locations/location-object). */\n      name?: string;\n  }\n  interface GetConfigurationRequest {\n      /** Configuration ID. */\n      _id: string;\n  }\n  interface GetConfigurationResponse {\n      /** The merchant's location configuration on Wix. */\n      configuration?: Configuration;\n  }\n  interface ListConfigurationsRequest {\n  }\n  interface ListConfigurationsResponse {\n      /** The merchant's configurations (locations) on Wix. */\n      configurations?: Configuration[];\n  }\n  interface DisconnectAccountRequest {\n      /** The app's definition ID. */\n      appDefId?: string;\n      /** The ID for the account between the merchant and the POS service provider. */\n      accountId: string;\n  }\n  interface DisconnectAccountResponse {\n  }\n  interface DisconnectConfigurationRequest {\n      /** The ID of the merchant's location configuration on Wix. */\n      configurationId: string;\n  }\n  interface DisconnectConfigurationResponse {\n  }\n  /**\n   * This endpoint gets a location configuration by ID on the Wix site.\n   * @param _id - Configuration ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_RESTAURANTS.READ_POS\n   * @returns The merchant's location configuration on Wix.\n   */\n  function getConfiguration(_id: string): Promise<Configuration>;\n  /**\n   * This endpoint retrieves a list of location configurations on the Wix site.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.READ_POS\n   */\n  function listConfigurations(): Promise<ListConfigurationsResponse>;\n  /**\n   * This endpoint disconnects the account between the merchant and the POS service provider.\n   *\n   * The account is not deleted. You can reconnect to the account using the POS integration settings in the Dashboard.\n   *\n   * Call the [List Account IDs](https://dev.wix.com/api/rest/wix-restaurants/point-of-sale-integration/pos-connectivity-spi/list-account-ids) SPI endpoint to retrieve a list of existing account IDs.\n   * @param accountId - The ID for the account between the merchant and the POS service provider.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @permissionId WIX_RESTAURANTS.WRITE_POS\n   * @adminMethod\n   */\n  function disconnectAccount(accountId: string, options?: DisconnectAccountOptions): Promise<void>;\n  interface DisconnectAccountOptions {\n      /** The app's definition ID. */\n      appDefId?: string;\n  }\n  /**\n   * This endpoint disconnects the Wix location configuration from a POS service provider's location.\n   *\n   * The configuration is not deleted. You can reconnect to the configuration using the POS integration settings in the Dashboard.\n   *\n   * Call the [List Configurations](https://dev.wix.com/api/rest/wix-restaurants/point-of-sale-integration/pos-connectivity-api/list-configurations) SPI endpoint to retrieve a list of existing configuration IDs.\n   * @param configurationId - The ID of the merchant's location configuration on Wix.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField configurationId\n   * @permissionId WIX_RESTAURANTS.WRITE_POS\n   * @adminMethod\n   */\n  function disconnectConfiguration(configurationId: string): Promise<void>;\n  \n  type restaurantsPostpaapiV1Configuration_universal_d_Configuration = Configuration;\n  type restaurantsPostpaapiV1Configuration_universal_d_GetConfigurationRequest = GetConfigurationRequest;\n  type restaurantsPostpaapiV1Configuration_universal_d_GetConfigurationResponse = GetConfigurationResponse;\n  type restaurantsPostpaapiV1Configuration_universal_d_ListConfigurationsRequest = ListConfigurationsRequest;\n  type restaurantsPostpaapiV1Configuration_universal_d_ListConfigurationsResponse = ListConfigurationsResponse;\n  type restaurantsPostpaapiV1Configuration_universal_d_DisconnectAccountRequest = DisconnectAccountRequest;\n  type restaurantsPostpaapiV1Configuration_universal_d_DisconnectAccountResponse = DisconnectAccountResponse;\n  type restaurantsPostpaapiV1Configuration_universal_d_DisconnectConfigurationRequest = DisconnectConfigurationRequest;\n  type restaurantsPostpaapiV1Configuration_universal_d_DisconnectConfigurationResponse = DisconnectConfigurationResponse;\n  const restaurantsPostpaapiV1Configuration_universal_d_getConfiguration: typeof getConfiguration;\n  const restaurantsPostpaapiV1Configuration_universal_d_listConfigurations: typeof listConfigurations;\n  const restaurantsPostpaapiV1Configuration_universal_d_disconnectAccount: typeof disconnectAccount;\n  type restaurantsPostpaapiV1Configuration_universal_d_DisconnectAccountOptions = DisconnectAccountOptions;\n  const restaurantsPostpaapiV1Configuration_universal_d_disconnectConfiguration: typeof disconnectConfiguration;\n  namespace restaurantsPostpaapiV1Configuration_universal_d {\n    export {\n      restaurantsPostpaapiV1Configuration_universal_d_Configuration as Configuration,\n      Location$1 as Location,\n      restaurantsPostpaapiV1Configuration_universal_d_GetConfigurationRequest as GetConfigurationRequest,\n      restaurantsPostpaapiV1Configuration_universal_d_GetConfigurationResponse as GetConfigurationResponse,\n      restaurantsPostpaapiV1Configuration_universal_d_ListConfigurationsRequest as ListConfigurationsRequest,\n      restaurantsPostpaapiV1Configuration_universal_d_ListConfigurationsResponse as ListConfigurationsResponse,\n      restaurantsPostpaapiV1Configuration_universal_d_DisconnectAccountRequest as DisconnectAccountRequest,\n      restaurantsPostpaapiV1Configuration_universal_d_DisconnectAccountResponse as DisconnectAccountResponse,\n      restaurantsPostpaapiV1Configuration_universal_d_DisconnectConfigurationRequest as DisconnectConfigurationRequest,\n      restaurantsPostpaapiV1Configuration_universal_d_DisconnectConfigurationResponse as DisconnectConfigurationResponse,\n      restaurantsPostpaapiV1Configuration_universal_d_getConfiguration as getConfiguration,\n      restaurantsPostpaapiV1Configuration_universal_d_listConfigurations as listConfigurations,\n      restaurantsPostpaapiV1Configuration_universal_d_disconnectAccount as disconnectAccount,\n      restaurantsPostpaapiV1Configuration_universal_d_DisconnectAccountOptions as DisconnectAccountOptions,\n      restaurantsPostpaapiV1Configuration_universal_d_disconnectConfiguration as disconnectConfiguration,\n    };\n  }\n  \n  /** RestaurantLocation is the main entity of RestaurantLocations that can be used for lorem ipsum dolor */\n  interface RestaurantLocation {\n      /** Restaurant Location ID */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Whether this restaurant location is active.\n       * @readonly\n       */\n      active?: boolean;\n      /**\n       * Restaurant location - location\n       * @readonly\n       */\n      location?: Location;\n  }\n  interface Location {\n      /** The associated location id */\n      locationId?: string | null;\n      /**\n       * Whether this is the default restaurant location. There can only be one default restaurant location per site.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Restaurant location address\n       * @readonly\n       */\n      address?: Address;\n      /**\n       * Restaurant location contact details\n       * @readonly\n       */\n      contactDetails?: ContactDetails;\n      /**\n       * Restaurant location timeZone\n       * @readonly\n       */\n      timeZone?: string;\n      /**\n       * Restaurant location locale\n       * @readonly\n       */\n      locale?: Locale;\n      /**\n       * Restaurant location name\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Restaurant location currency\n       * @readonly\n       */\n      currency?: string | null;\n      /**\n       * Restaurant location schedule. Array of weekly recurring time periods when the location is open for restaurant location. Limited to 100 time periods.\n       * @readonly\n       */\n      availability?: Availability;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  interface ContactDetails {\n      /** Restaurant location email */\n      email?: string | null;\n      /** Restaurant location phone */\n      phone?: string | null;\n      /** Restaurant location fax */\n      fax?: string | null;\n  }\n  interface Locale {\n      /**\n       * Locale in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Typically, this is a lowercase 2-letter language code,\n       * followed by a hyphen, followed by an uppercase 2-letter country code.\n       * For example, `en-US` for U.S. English, and `de-DE` for Germany German.\n       */\n      languageCode?: string | null;\n      /** 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string | null;\n  }\n  interface Availability {\n      /** Weekly recurring time periods when the entity is available. Limited to 100 time periods. */\n      periods?: TimePeriod[];\n      /** Exceptions to the entity's regular availability. The entity can be available or not available during the special hour period. */\n      specialHourPeriods?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the entity is available. */\n  interface TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https:en.wikipedia.orgwikiISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https:en.wikipedia.orgwikiISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  enum DayOfWeek {\n      MON = \"MON\",\n      TUE = \"TUE\",\n      WED = \"WED\",\n      THU = \"THU\",\n      FRI = \"FRI\",\n      SAT = \"SAT\",\n      SUN = \"SUN\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https:en.wikipedia.orgwikiISO_8601) format and [Coordinated Universal Time (UTC)](https:en.wikipedia.orgwikiCoordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https:en.wikipedia.orgwikiISO_8601) format and [Coordinated Universal Time (UTC)](https:en.wikipedia.orgwikiCoordinated_Universal_Time). */\n      endDate?: string;\n      /** Whether the item is available during the exception. Defaults to `false`. */\n      available?: boolean;\n      /** Name of the special hour period. In the Business Manager the special hour period is called event. */\n      eventName?: string | null;\n  }\n  interface GetRestaurantLocationRequest {\n      /** Id of the Restaurant location to retrieve */\n      restaurantLocationId: string;\n  }\n  interface GetRestaurantLocationResponse {\n      /** The retrieved RestaurantLocation */\n      restaurantLocation?: RestaurantLocation;\n  }\n  interface ListRestaurantLocationsRequest {\n      /** location ids */\n      locationIds?: string[] | null;\n      /** Includes archived restaurant locations. Default is false */\n      includeArchived?: boolean;\n      /** default restaurant location. Default is false */\n      default?: boolean;\n  }\n  interface ListRestaurantLocationsResponse {\n      /** The retrieved RestaurantLocation */\n      restaurantLocations?: RestaurantLocation[];\n  }\n  /**\n   * Get a RestaurantLocation by id\n   * @param restaurantLocationId - Id of the Restaurant location to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField restaurantLocationId\n   * @permissionId WIX_RESTAURANTS.RESTAURANT_LOCATIONS_READ\n   * @returns The retrieved RestaurantLocation\n   */\n  function getRestaurantLocation(restaurantLocationId: string): Promise<RestaurantLocation>;\n  /**\n   * Get Restaurant locations\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.RESTAURANT_LOCATIONS_READ\n   */\n  function listRestaurantLocations(options?: ListRestaurantLocationsOptions): Promise<ListRestaurantLocationsResponse>;\n  interface ListRestaurantLocationsOptions {\n      /** location ids */\n      locationIds?: string[] | null;\n      /** Includes archived restaurant locations. Default is false */\n      includeArchived?: boolean;\n      /** default restaurant location. Default is false */\n      default?: boolean;\n  }\n  \n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_RestaurantLocation = RestaurantLocation;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_Location = Location;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_Address = Address;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_StreetAddress = StreetAddress;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_AddressLocation = AddressLocation;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_Subdivision = Subdivision;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_SubdivisionType = SubdivisionType;\n  const restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_SubdivisionType: typeof SubdivisionType;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_StandardDetails = StandardDetails;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_ContactDetails = ContactDetails;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_Locale = Locale;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_Availability = Availability;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_TimePeriod = TimePeriod;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_DayOfWeek = DayOfWeek;\n  const restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_DayOfWeek: typeof DayOfWeek;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_GetRestaurantLocationRequest = GetRestaurantLocationRequest;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_GetRestaurantLocationResponse = GetRestaurantLocationResponse;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_ListRestaurantLocationsRequest = ListRestaurantLocationsRequest;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_ListRestaurantLocationsResponse = ListRestaurantLocationsResponse;\n  const restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_getRestaurantLocation: typeof getRestaurantLocation;\n  const restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_listRestaurantLocations: typeof listRestaurantLocations;\n  type restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_ListRestaurantLocationsOptions = ListRestaurantLocationsOptions;\n  namespace restaurantsRestaurantlocationsV3RestaurantLocation_universal_d {\n    export {\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_RestaurantLocation as RestaurantLocation,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_Location as Location,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_Address as Address,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_StreetAddress as StreetAddress,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_AddressLocation as AddressLocation,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_Subdivision as Subdivision,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_SubdivisionType as SubdivisionType,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_StandardDetails as StandardDetails,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_ContactDetails as ContactDetails,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_Locale as Locale,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_Availability as Availability,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_TimePeriod as TimePeriod,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_DayOfWeek as DayOfWeek,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_GetRestaurantLocationRequest as GetRestaurantLocationRequest,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_GetRestaurantLocationResponse as GetRestaurantLocationResponse,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_ListRestaurantLocationsRequest as ListRestaurantLocationsRequest,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_ListRestaurantLocationsResponse as ListRestaurantLocationsResponse,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_getRestaurantLocation as getRestaurantLocation,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_listRestaurantLocations as listRestaurantLocations,\n      restaurantsRestaurantlocationsV3RestaurantLocation_universal_d_ListRestaurantLocationsOptions as ListRestaurantLocationsOptions,\n    };\n  }\n  \n  interface Order {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Legacy restaurant ID, use only for legacy API\n       * @internal\n       * @readonly\n       */\n      restaurantId?: string;\n      /**\n       * ID of the restaurant’s location.\n       * @readonly\n       */\n      locationId?: string | null;\n      /**\n       * ID of the restaurant's location\n       * @internal\n       */\n      restaurantLocationId?: string | null;\n      /**\n       * Order creation date and time in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time of order's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Additional note to the order added by the customer. */\n      comment?: string | null;\n      /** Currency of the order. */\n      currency?: string | null;\n      /** Current order status. */\n      status?: Status;\n      /**\n       * TEST This is a line item for the order of the property\n       *\n       */\n      lineItems?: LineItem[];\n      /** Discounts associated with the order. */\n      discounts?: Discount[];\n      /** Coupon applied to the order. */\n      coupon?: Coupon;\n      /** Order payment information. */\n      payments?: Payment[];\n      /** Order fulfillment information. */\n      fulfillment?: Fulfillment;\n      /** Customer information. */\n      customer?: Customer;\n      /** Order totals. */\n      totals?: Totals;\n      /**\n       * Log of order updates.\n       * @readonly\n       */\n      activities?: Activity[];\n      /** Information about the sales channel that submitted the order. */\n      channelInfo?: ChannelInfo;\n      /**\n       * Information about the order’s loyalty points.\n       * Learn more about the [Wix Loyalty Program](https://dev.wix.com/api/rest/wix-loyalty-program/introduction).\n       */\n      loyaltyInfo?: LoyaltyInfo;\n      /**\n       * Information about the POS.\n       * @internal\n       */\n      posInfo?: PosInfo;\n  }\n  /** This might be extended in the future with pending orders statuses */\n  enum Status {\n      /** Order status can't be classified, due to an error */\n      UNSPECIFIED_ORDER_STATUS = \"UNSPECIFIED_ORDER_STATUS\",\n      /** Order is pending response from the payment provider - IF THIS WILL REMAIN PAYMENT PROVIDER SPECIFIC, THIS SHOULD BE CLEAR FROM THE NAME - E.G. PENDING_PAYMENT_PROVIDER. */\n      PENDING = \"PENDING\",\n      /** The order is marked as new - wait for state machine */\n      NEW = \"NEW\",\n      /** Order was accepted */\n      ACCEPTED = \"ACCEPTED\",\n      /** Order is canceled */\n      CANCELED = \"CANCELED\",\n      /** Order is fulfilled */\n      FULFILLED = \"FULFILLED\"\n  }\n  /** TEST  This is a line item for the order. */\n  interface LineItem {\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item price. */\n      price?: string;\n      /** Comment about the line item added by the customer. */\n      comment?: string | null;\n      /** List of all dish options available for the line item. */\n      dishOptions?: LineItemOption[];\n      /** References to the line item’s origin catalog. */\n      catalogReference?: CatalogReference;\n  }\n  interface LineItemOption {\n      /** Line item option name. */\n      name?: string | null;\n      /** List of all dish options selected by the customer. */\n      selectedChoices?: LineItem[];\n      /** Minimum number of dish options the customer is required to choose. */\n      minChoices?: number | null;\n      /** Maximum number of dish options the customer is allowed to choose. */\n      maxChoices?: number | null;\n      /** Dish option type. */\n      type?: DisplayType;\n      /** List of all available choices for the dish option. */\n      availableChoices?: LineItemOptionItem[];\n      /** List of dish option IDs selected by default. */\n      defaultChoices?: string[] | null;\n  }\n  enum DisplayType {\n      /** DisplayType, due to an error */\n      UNSPECIFIED_DISPLAY_TYPE = \"UNSPECIFIED_DISPLAY_TYPE\",\n      /** Single choice selection */\n      SELECTION = \"SELECTION\",\n      /** Multiple choices selection */\n      EXTRAS = \"EXTRAS\",\n      /** Allow choices removal */\n      DESELECTION = \"DESELECTION\"\n  }\n  interface LineItemOptionItem {\n      /** Line item ID as defined in the catalog. */\n      itemId?: string | null;\n      /** Line item price. */\n      price?: string | null;\n      /** Line item name. */\n      name?: string | null;\n  }\n  interface CatalogReference {\n      /** Line item ID as defined in the catalog. */\n      catalogItemId?: string;\n      /**\n       * Line item name as defined in the catalog.\n       * @readonly\n       */\n      catalogItemName?: string | null;\n      /**\n       * Item description as defined in the catalog.\n       * @readonly\n       */\n      catalogItemDescription?: string | null;\n      /**\n       * Item media url as defined in the catalog.\n       * @readonly\n       */\n      catalogItemMedia?: string | null;\n  }\n  interface Discount {\n      /** Discount ID as defined in the catalog. */\n      catalogDiscountId?: string;\n      /** Amount saved. */\n      appliedAmount?: string;\n      /** Discount type. */\n      catalogDiscountType?: DiscountType;\n      /** Discount name as defined in the catalog. */\n      catalogDiscountName?: string;\n      /**\n       * Discount description as defined in the catalog.\n       *\n       * Max: 1,000 characters\n       * @readonly\n       */\n      catalogDiscountDescription?: string;\n  }\n  enum DiscountType {\n      UNSPECIFIED_TYPE = \"UNSPECIFIED_TYPE\",\n      OFF_ITEM = \"OFF_ITEM\",\n      OFF_ORDER = \"OFF_ORDER\",\n      OFF_ORDER_MANAGER_DISCOUNT = \"OFF_ORDER_MANAGER_DISCOUNT\"\n  }\n  interface Coupon {\n      /** Coupon code. */\n      code?: string;\n      /** Coupon ID. */\n      _id?: string;\n  }\n  interface Payment {\n      /** Payment type. */\n      type?: PaymentType;\n      /** Amount paid using this payment type. Only differs from total amount paid in case of split payments. */\n      amount?: string | null;\n      /** Payment method. */\n      method?: string | null;\n      /**\n       * Transaction ID.\n       * See [Cashier API](https://dev.wix.com/api/rest/wix-cashier/payments/transaction) for more details.\n       */\n      providerTransactionId?: string | null;\n  }\n  enum PaymentType {\n      /** PaymentType, due to an error */\n      UNSPECIFIED_PAYMENT_TYPE = \"UNSPECIFIED_PAYMENT_TYPE\",\n      /** Cash */\n      CASH = \"CASH\",\n      /** credit */\n      CREDIT = \"CREDIT\",\n      /** Delivery club */\n      DELIVERY_CLUB = \"DELIVERY_CLUB\",\n      /** Delivery com */\n      DELIVERY_COM = \"DELIVERY_COM\",\n      /** Bitpay */\n      BITPAY = \"BITPAY\",\n      /** Cellarix */\n      CELLARIX = \"CELLARIX\",\n      /** Bits of gold */\n      BITSOFGOLD = \"BITSOFGOLD\",\n      /** Multi pass */\n      MULTIPASS = \"MULTIPASS\",\n      /** Tenbis */\n      TENBIS = \"TENBIS\",\n      /** Paypal */\n      PAYPAL = \"PAYPAL\",\n      /** Mysodexo */\n      MYSODEXO = \"MYSODEXO\",\n      /** Wix Payments */\n      WIX_PAYMENTS = \"WIX_PAYMENTS\"\n  }\n  interface Fulfillment extends FulfillmentDetailsOneOf {\n      /** Delivery details. */\n      deliveryDetails?: DeliveryDetails;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails;\n      /** Dine-in details */\n      dineInDetails?: DineInDetails;\n      /** Fulfillment type. */\n      type?: FulfillmentType;\n      /** Latest delivery time promised by the restaurant. */\n      promisedTime?: Date | null;\n      /** Whether the order should be fulfilled as soon as possible. Defaults to `true`. */\n      asap?: boolean | null;\n      /**\n       * The time it takes to prepare and deliver the order in minutes\n       * @internal\n       */\n      preparationTime?: number | null;\n  }\n  /** @oneof */\n  interface FulfillmentDetailsOneOf {\n      /** Delivery details. */\n      deliveryDetails?: DeliveryDetails;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails;\n      /** Dine-in details */\n      dineInDetails?: DineInDetails;\n  }\n  enum FulfillmentType {\n      /** Missing type due to an error */\n      UNSPECIFIED_FULFILLMENT_TYPE = \"UNSPECIFIED_FULFILLMENT_TYPE\",\n      /** Pickup */\n      PICKUP = \"PICKUP\",\n      /** Delivery */\n      DELIVERY = \"DELIVERY\",\n      /** Dine-in */\n      DINE_IN = \"DINE_IN\"\n  }\n  interface DeliveryDetails extends DeliveryDetailsProviderOneOf {\n      /** Delivery through the restaurant. */\n      restaurant?: Restaurant;\n      /** Delivery through an external provider. */\n      externalProvider?: ExternalProvider;\n      /** Delivery address. */\n      address?: DeliveryAddress;\n      /** Information about the delivery pickup. */\n      pickupInfo?: PickupInfo;\n      /**\n       * Information about the delivery drop-off.\n       * @internal\n       */\n      dropOffInfo?: DropOffInfo;\n  }\n  /** @oneof */\n  interface DeliveryDetailsProviderOneOf {\n      /** Delivery through the restaurant. */\n      restaurant?: Restaurant;\n      /** Delivery through an external provider. */\n      externalProvider?: ExternalProvider;\n  }\n  interface DeliveryAddress {\n      /** Formatted delivery address. */\n      formatted?: string | null;\n      /** Country. */\n      country?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Street name. */\n      street?: string | null;\n      /** Street number. */\n      streetNumber?: string | null;\n      /** Apartment number. */\n      apt?: string | null;\n      /** Floor. */\n      floor?: string | null;\n      /** Entrance. */\n      entrance?: string | null;\n      /** ZIP/postal code. */\n      zipCode?: string | null;\n      /** Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      countryCode?: string | null;\n      /** Special delivery instructions upon arrival to the address. */\n      onArrival?: OnArrival;\n      /** Whether an approximate address is used. Defaults to `false`. In case of `false` a house number is required. */\n      approximate?: boolean | null;\n      /** Delivery Instructions added by the customer. */\n      comment?: string | null;\n      /** Geo coordinates of the address. */\n      location?: DeliveryAddressLocation;\n      /** Address Line 2. */\n      addressLine2?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n  }\n  enum OnArrival {\n      /** Missing type due to an error */\n      UNSPECIFIED_ON_ARRIVAL_TYPE = \"UNSPECIFIED_ON_ARRIVAL_TYPE\",\n      /** Buzz the door */\n      BUZZ_DOOR = \"BUZZ_DOOR\",\n      /** Phone me */\n      CALL_ME = \"CALL_ME\"\n  }\n  interface DeliveryAddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Restaurant {\n      /** Delivery fee. */\n      fee?: string | null;\n  }\n  interface ExternalProvider {\n      /** ID of the external delivery provider. */\n      _id?: string;\n      /**\n       * Name of the external delivery provider.\n       * @readonly\n       */\n      name?: string;\n      /**\n       * Delivery ID.\n       * @internal\n       */\n      deliveryId?: string | null;\n      /**\n       * Estimate ID.\n       * @internal\n       */\n      estimateId?: string | null;\n      /** Delivery fee charged to the customer. */\n      customerFee?: string | null;\n      /**\n       * Fee paid by the restaurant to the external delivery provider.\n       * @readonly\n       */\n      commission?: string | null;\n      /** Order pickup time. */\n      pickupTime?: Date | null;\n      /** Order drop off time. */\n      dropOffTime?: Date | null;\n      /**\n       * Icon of the external delivery provider.\n       * @internal\n       */\n      iconUrl?: string | null;\n  }\n  interface PickupInfo {\n      /** When a delivery is ready to be picked up. This is the start time of the pickup window. */\n      windowStartTime?: Date | null;\n      /** When a delivery must be picked up by. This is the end time of the pickup window. */\n      windowEndTime?: Date | null;\n  }\n  interface DropOffInfo {\n      /** Whether the order is delivered contactless. */\n      contactless?: boolean;\n      /**\n       * When a delivery will be drop off. This is the start time of the drop off window.\n       * @internal\n       */\n      windowStartTime?: Date | null;\n      /**\n       * When a delivery will be drop off. This is the end time of the drop off window.\n       * @internal\n       */\n      windowEndTime?: Date | null;\n  }\n  interface PickupDetails {\n      /** Pickup fee charged to the customer. */\n      fee?: string | null;\n      /** Curbside pickup method */\n      curbside?: Curbside;\n  }\n  interface Curbside {\n      /** Additional information for curbside pickup. */\n      info?: string;\n  }\n  interface DineInDetails {\n      /** Label of dine-in information added by the restaurant, e.g. `table` or `booth`. */\n      label?: string;\n      /** Value of dine-in information added by the restaurant, e.g. `#6`. */\n      value?: string;\n  }\n  /** Customer information. */\n  interface Customer extends CustomerIdOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** First name. */\n      firstName?: string;\n      /** Last name. */\n      lastName?: string;\n      /** Phone number. */\n      phone?: string | null;\n      /** Email address. */\n      email?: string;\n      /**\n       * Customer's contact ID.\n       * See [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details.\n       */\n      contactId?: string | null;\n  }\n  /** @oneof */\n  interface CustomerIdOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n  }\n  interface Totals {\n      /** Order subtotal. Calculated by substracting delivery fee, tax and discount from order total. */\n      subtotal?: string;\n      /** Total order price. */\n      total?: string;\n      /** Total delivery fees charged to the customer. */\n      delivery?: string | null;\n      /** Total tax. */\n      tax?: string | null;\n      /** Total discount amount. */\n      discount?: string | null;\n      /** Total amount saved through the Wix Loyalty program. */\n      loyaltySavings?: string | null;\n      /**\n       * Total number of line items.\n       * @readonly\n       */\n      quantity?: number;\n      /** Total tip. */\n      tip?: string | null;\n      /**\n       * Information about the order's service fees.\n       * @internal\n       */\n      serviceFees?: ServiceFee[];\n  }\n  interface ServiceFee {\n      /** The service fee's unique id. */\n      ruleId?: string;\n      /**\n       * The service fee's name.\n       * @readonly\n       */\n      name?: string;\n      /** The service fee's fee as Money. */\n      fee?: Money;\n      /** The service fee's tax as Money. */\n      tax?: Money;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface Activity {\n      /**\n       * Activity timestamp.\n       * @readonly\n       */\n      timestamp?: Date | null;\n      /**\n       * Optional message added during order activity.\n       * @readonly\n       */\n      message?: string | null;\n  }\n  interface ChannelInfo {\n      type?: Type;\n  }\n  enum Type {\n      UNSPECIFIED_CHANNEL_TYPE = \"UNSPECIFIED_CHANNEL_TYPE\",\n      /** Web */\n      WEB = \"WEB\",\n      /** mobileWeb */\n      MOBILE_WEB = \"MOBILE_WEB\",\n      /** mobile */\n      MOBILE = \"MOBILE\",\n      /** callCenter */\n      CALL_CENTER = \"CALL_CENTER\",\n      /** facebook */\n      FACEBOOK = \"FACEBOOK\",\n      /** TPA */\n      TPA = \"TPA\"\n  }\n  interface LoyaltyInfo {\n      /** Associated Wix Loyalty reward ID. */\n      rewardId?: string | null;\n      /** Amount saved redeeming Wix Loyalty reward. */\n      appliedAmount?: string | null;\n      /**\n       * Wix Loyalty points redeemed.\n       * @readonly\n       */\n      redeemedPoints?: number | null;\n      /**\n       * Associated Wix Loyalty transaction ID.\n       * @readonly\n       */\n      transactionId?: string | null;\n      /**\n       * Wix Loyalty estimated account point balance.\n       * Equal to the sum of earned and adjusted points minus redeemed points.\n       * The estimated point balance is the value before the order is completed. Following the purchase, the point balance is updated.\n       * @readonly\n       */\n      estimatedAccountBalance?: number | null;\n      /**\n       * Wix Loyalty estimated total earned points.\n       * The estimated total earned points is the value before the order is completed. Following the purchase, the total is updated.\n       * @readonly\n       */\n      estimatedPointsEarned?: number | null;\n      /**\n       * Associated Wix Loyalty reward revision number, which increments by 1 each time the loyalty account is updated.\n       *\n       * To prevent conflicting changes, the current revision must be passed when updating the loyalty account.\n       * Ignored when creating an account.\n       * @readonly\n       */\n      rewardRevision?: string | null;\n  }\n  interface PosInfo {\n      externalProvider?: PosInfoExternalProvider;\n  }\n  interface Error {\n      /** Error code */\n      code?: string;\n      /** Error message */\n      message?: string;\n      /** Error params */\n      params?: Record<string, string>;\n  }\n  interface PosInfoExternalProvider {\n      /** ID of the external provider. */\n      _id?: string;\n      /** ID of the order in the external provider. */\n      orderId?: string;\n      /** Order creation success */\n      success?: boolean;\n      /** Order creation errors */\n      errors?: Error[];\n  }\n  interface GetTotalActiveOrdersRequest {\n      /** filter response to a specific location, otherwise return totals for all locations. */\n      locationId?: string | null;\n      organizationId?: string | null;\n      /** Order delivery date and time for filtering new orders count, Must include a `gte:` or `lte:` prefix, for example: `gte:2021-10-26T12:48:15Z`. */\n      promisedTimeNew?: string | null;\n      /** Order delivery date and time for filtering new orders count, Must include a `gte:` or `lte:` prefix, for example: `gte:2021-10-26T12:48:15Z`. */\n      promisedTimeInProgress?: string | null;\n      /**\n       * filter response to a specific Restaurant Location, otherwise return totals for all restaurant locations\n       * if the restaurant_location_id is provided, the location_id will be ignored\n       * @internal\n       */\n      restaurantLocationId?: string | null;\n  }\n  interface GetTotalActiveOrdersResponse {\n      /** list of locationId's mapped to the total number of orders. */\n      totals?: LocationToAmount[];\n  }\n  interface LocationToAmount {\n      locationId?: string;\n      locationName?: string | null;\n      totalNew?: number;\n      totalInProgress?: number;\n  }\n  interface NewOrder {\n      /** New order. */\n      order?: Order;\n  }\n  interface GetOrderRequest {\n      /** ID of the order to retrieve. */\n      _id: string;\n      /**\n       * Set of fields to retrieve.\n       * Fields that aren't included in `fieldmaks.paths` are ignored.\n       * See [the article about field masks](https://dev.wix.com/api/rest/restaurants/orders/supported-field-masks)\n       * for more details.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface GetOrderResponse {\n      /** Retrieved order. */\n      order?: Order;\n  }\n  interface ListOrdersRequest {\n      /**\n       * Set of fields to retrieve.\n       * Fields that aren't included in `fieldmaks.paths` are ignored.\n       * See [the article about field masks](https://dev.wix.com/api/rest/restaurants/orders/supported-field-masks)\n       * for more details.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Order status. Currently, it is not possible to filter by status `FULFILLED`. */\n      status?: Status;\n      /** Order creation date and time. Must include a `gte:` or `lte:` prefix, for example: `gte:2021-10-26T12:48:15Z`. */\n      _createdDate?: string | null;\n      /** Whether the order has been delivered. */\n      delivered?: boolean | null;\n      /** Location filter. Pass an array of location IDs to return orders with any of the provided locations. */\n      locationIds?: string[];\n      /** Sorting options. */\n      sort?: Sort;\n      /** Number of orders to return. The minimum limit is 1, the maximum 1000. */\n      limit?: number | null;\n      /**\n       * paging options (limit and cursor).\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Order phone number filter. for filtering orders by phone.\n       * @internal\n       */\n      phone?: string | null;\n      /**\n       * Whether the order should be delivered asap.\n       * @internal\n       */\n      asap?: boolean | null;\n      /**\n       * Order promised_time. Must include a prefix (`gt`,`gte`,`lte`,`lt`), for example: `gte:2021-10-26T12:48:15Z`.\n       * @internal\n       */\n      promisedTime?: string | null;\n      /**\n       * Location filter. Pass an array of location IDs to return orders with any of the provided locations.\n       * @internal\n       */\n      restaurantLocationIds?: string[];\n  }\n  interface Sort {\n      /** Field to sort by. */\n      fieldName?: FieldName;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum FieldName {\n      CREATED_DATE = \"CREATED_DATE\",\n      UPDATED_DATE = \"UPDATED_DATE\",\n      PROMISED_TIME = \"PROMISED_TIME\"\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListOrdersResponse {\n      /** List of retrieved orders. */\n      orders?: Order[];\n      /**\n       * Details on the paged set of results returned.\n       * @internal\n       */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AcceptOrderRequest extends AcceptOrderRequestDeliveryTimeOneOf {\n      /**\n       * Order pickup time.\n       * @internal\n       */\n      pickupTime?: Date | null;\n      /**\n       * Order drop off time.\n       * @internal\n       */\n      dropOffTime?: Date | null;\n      /** ID of the order to mark as `ACCEPTED`. */\n      _id: string;\n      /** Message when accepting the order. */\n      message?: string | null;\n  }\n  /** @oneof */\n  interface AcceptOrderRequestDeliveryTimeOneOf {\n      /**\n       * Order pickup time.\n       * @internal\n       */\n      pickupTime?: Date | null;\n      /**\n       * Order drop off time.\n       * @internal\n       */\n      dropOffTime?: Date | null;\n  }\n  interface AcceptOrderResponse {\n      /** Accepted order. */\n      order?: Order;\n  }\n  interface OrderAccepted {\n      /** Accepted order. */\n      order?: Order;\n  }\n  interface CancelOrderRequest {\n      /** ID of the order to mark as `CANCELED`. */\n      _id: string;\n      /** Message when canceling the order. */\n      message?: string | null;\n  }\n  interface CancelOrderResponse {\n      /** Canceled order. */\n      order?: Order;\n  }\n  interface OrderCanceled {\n      /** Canceled order. */\n      order?: Order;\n  }\n  interface FulfillOrderRequest {\n      /** ID of the order to mark as `FULFILLED`. */\n      _id: string;\n  }\n  interface FulfillOrderResponse {\n      /** Fulfilled order. */\n      order?: Order;\n  }\n  interface OrderFulfilled {\n      /** Fulfilled order. */\n      order?: Order;\n  }\n  interface CountOrdersRequest {\n      /** Count orders only for a specific restaurant location */\n      restaurantLocationId?: string | null;\n      /** Limit the count only for orders that match the query */\n      query?: CountOrdersQuery;\n      /** Count orders only for a specific OS location ID */\n      locationId?: string | null;\n  }\n  interface CountOrdersQuery {\n      /** Required - filter orders count by status. Supported values: NEW, ACCEPTED */\n      status?: Status;\n      /**\n       * Required - filter orders count by fulfillment promised time. (Latest delivery time promised by the restaurant)\n       * Maximum supported range is up to 30 days.\n       * NOTE: Count is a slow operation, for better performance request smaller time ranges.\n       */\n      promisedTime?: DateRangeFilter;\n  }\n  interface DateRangeFilter {\n      /** Filter by date range, starting from given timestamp */\n      startTime?: Date | null;\n      /** Filter by date range, ending by a given timestamp */\n      endTime?: Date | null;\n  }\n  interface CountOrdersResponse {\n      /** Number of orders count that match the query */\n      count?: number;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface NotifyOrderEventRequest {\n      /** Order ID. */\n      _id: string;\n      /** Metasite id */\n      msid?: string;\n      /** Notification event type */\n      eventType?: EventType;\n  }\n  enum EventType {\n      /** Order event can't be classified, due to an error/unhandled event */\n      UNKNOWN = \"UNKNOWN\",\n      /** Order Created. */\n      CREATED = \"CREATED\",\n      /** Order accepted */\n      ACCEPTED = \"ACCEPTED\",\n      /** Order Canceled */\n      CANCELED = \"CANCELED\",\n      /** Order Fulfilled */\n      FULFILLED = \"FULFILLED\"\n  }\n  interface Empty {\n  }\n  interface GetOrderByMsidRequest {\n      /** Order ID. */\n      _id: string;\n      /** Metasite id */\n      msid: string;\n      /**\n       * Controls what data is returned in the response\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface GetOrderByMsidResponse {\n      /** Order data. */\n      order?: Order;\n  }\n  interface ListOrdersByMsidRequest {\n      /**\n       * Controls what data is returned in the response.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Order status to filter by. Currently Status Fulfilled is not supported */\n      status?: Status;\n      /** Created date of the order epoch time. */\n      _createdDate?: string | null;\n      delivered?: boolean | null;\n      /** Sorting of Orders in response. Default \"CREATED_DATE:ASC\" */\n      sort?: Sort;\n      /** limit of records - min: 1 max: 2000 */\n      limit?: number | null;\n      /** Metasite id */\n      msid: string;\n  }\n  interface ListOrdersByMsidResponse {\n      /** Order data. */\n      orders?: Order[];\n  }\n  interface NotifyOrderEventResponse {\n  }\n  /**\n   * return list of orders total amount mapped to each location based on given status.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.READ_ORDERS\n   * @adminMethod\n   */\n  function getTotalActiveOrders(options?: GetTotalActiveOrdersOptions): Promise<GetTotalActiveOrdersResponse>;\n  interface GetTotalActiveOrdersOptions {\n      /** filter response to a specific location, otherwise return totals for all locations. */\n      locationId?: string | null;\n      organizationId?: string | null;\n      /** Order delivery date and time for filtering new orders count, Must include a `gte:` or `lte:` prefix, for example: `gte:2021-10-26T12:48:15Z`. */\n      promisedTimeNew?: string | null;\n      /** Order delivery date and time for filtering new orders count, Must include a `gte:` or `lte:` prefix, for example: `gte:2021-10-26T12:48:15Z`. */\n      promisedTimeInProgress?: string | null;\n      /**\n       * filter response to a specific Restaurant Location, otherwise return totals for all restaurant locations\n       * if the restaurant_location_id is provided, the location_id will be ignored\n       * @internal\n       */\n      restaurantLocationId?: string | null;\n  }\n  /**\n   * TEST The `getOrder()` function returns a Promise that is returned when an order is retrieved.\n   *\n   * 1. First do this.\n   * 1. The do that\n   *     + This is a bullet\n   *     + So is this.\n   *\n   * > **Note**: This indentation is not how our notes generally look but I will waiit to see the branch preview. I am just trying out some markdown here.\n   *\n   * @param _id - ID of the order to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_RESTAURANTS.READ_ORDERS\n   * @adminMethod\n   * @returns TEST Curious where this shows up.\n   */\n  function getOrder(_id: string, options?: GetOrderOptions): Promise<Order>;\n  /** TEST The options for the order. */\n  interface GetOrderOptions {\n      /**\n       * Set of fields to retrieve.\n       * Fields that aren't included in `fieldmaks.paths` are ignored.\n       * See [the article about field masks](https://dev.wix.com/api/rest/restaurants/orders/supported-field-masks)\n       * for more details.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Retrieves a list of up to 1000 orders, given the provided filters.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.READ_ORDERS\n   * @adminMethod\n   */\n  function listOrders(options?: ListOrdersOptions): Promise<ListOrdersResponse>;\n  interface ListOrdersOptions {\n      /**\n       * Set of fields to retrieve.\n       * Fields that aren't included in `fieldmaks.paths` are ignored.\n       * See [the article about field masks](https://dev.wix.com/api/rest/restaurants/orders/supported-field-masks)\n       * for more details.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Order status. Currently, it is not possible to filter by status `FULFILLED`. */\n      status?: Status;\n      /** Order creation date and time. Must include a `gte:` or `lte:` prefix, for example: `gte:2021-10-26T12:48:15Z`. */\n      _createdDate?: string | null;\n      /** Whether the order has been delivered. */\n      delivered?: boolean | null;\n      /** Location filter. Pass an array of location IDs to return orders with any of the provided locations. */\n      locationIds?: string[];\n      /** Sorting options. */\n      sort?: Sort;\n      /** Number of orders to return. The minimum limit is 1, the maximum 1000. */\n      limit?: number | null;\n      /**\n       * paging options (limit and cursor).\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Order phone number filter. for filtering orders by phone.\n       * @internal\n       */\n      phone?: string | null;\n      /**\n       * Whether the order should be delivered asap.\n       * @internal\n       */\n      asap?: boolean | null;\n      /**\n       * Order promised_time. Must include a prefix (`gt`,`gte`,`lte`,`lt`), for example: `gte:2021-10-26T12:48:15Z`.\n       * @internal\n       */\n      promisedTime?: string | null;\n      /**\n       * Location filter. Pass an array of location IDs to return orders with any of the provided locations.\n       * @internal\n       */\n      restaurantLocationIds?: string[];\n  }\n  /**\n   * Changes the order status to `ACCEPTED`.\n   *\n   * > **Note:** It is not possible to change the order status from `FULFILLED` to `ACCEPTED`.\n   * @param _id - ID of the order to mark as `ACCEPTED`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_RESTAURANTS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function acceptOrder(_id: string, options?: AcceptOrderOptions): Promise<AcceptOrderResponse>;\n  interface AcceptOrderOptions extends AcceptOrderRequestDeliveryTimeOneOf {\n      /** Message when accepting the order. */\n      message?: string | null;\n      /**\n       * Order pickup time.\n       * @internal\n       */\n      pickupTime?: Date | null;\n      /**\n       * Order drop off time.\n       * @internal\n       */\n      dropOffTime?: Date | null;\n  }\n  /**\n   * Changes the order status to `CANCELED`.\n   * @param _id - ID of the order to mark as `CANCELED`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_RESTAURANTS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function cancelOrder(_id: string, options?: CancelOrderOptions): Promise<CancelOrderResponse>;\n  interface CancelOrderOptions {\n      /** Message when canceling the order. */\n      message?: string | null;\n  }\n  /**\n   * Changes the order status to `FULFILLED`.\n   * @param _id - ID of the order to mark as `FULFILLED`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_RESTAURANTS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function fulfillOrder(_id: string): Promise<FulfillOrderResponse>;\n  /**\n   * Returns the number of orders that match the query.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.READ_ORDERS\n   * @adminMethod\n   */\n  function countOrders(options?: CountOrdersOptions): Promise<CountOrdersResponse>;\n  interface CountOrdersOptions {\n      /** Count orders only for a specific restaurant location */\n      restaurantLocationId?: string | null;\n      /** Limit the count only for orders that match the query */\n      query?: CountOrdersQuery;\n      /** Count orders only for a specific OS location ID */\n      locationId?: string | null;\n  }\n  /**\n   * Retrieves an order.\n   * @param _id - Order ID.\n   * @param msid - Metasite id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField msid\n   * @permissionId WIX_RESTAURANTS.BACK_OFFICE\n   * @adminMethod\n   */\n  function getOrderByMsid(_id: string, msid: string, options?: GetOrderByMsidOptions): Promise<GetOrderByMsidResponse>;\n  interface GetOrderByMsidOptions {\n      /**\n       * Controls what data is returned in the response\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Retrieves a list of up to 2000 orders, given the provided filters.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.msid\n   * @permissionId WIX_RESTAURANTS.BACK_OFFICE\n   * @adminMethod\n   */\n  function listOrdersByMsid(options?: ListOrdersByMsidOptions): Promise<ListOrdersByMsidResponse>;\n  interface ListOrdersByMsidOptions {\n      /**\n       * Controls what data is returned in the response.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Order status to filter by. Currently Status Fulfilled is not supported */\n      status?: Status;\n      /** Created date of the order epoch time. */\n      _createdDate?: string | null;\n      delivered?: boolean | null;\n      /** Sorting of Orders in response. Default \"CREATED_DATE:ASC\" */\n      sort?: Sort;\n      /** limit of records - min: 1 max: 2000 */\n      limit?: number | null;\n      /** Metasite id */\n      msid: string;\n  }\n  /** @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_RESTAURANTS.BACK_OFFICE\n   * @adminMethod\n   */\n  function notifyOrderEvent(_id: string, options?: NotifyOrderEventOptions): Promise<void>;\n  interface NotifyOrderEventOptions {\n      /** Metasite id */\n      msid?: string;\n      /** Notification event type */\n      eventType?: EventType;\n  }\n  \n  type restaurantsV3Order_universal_d_Order = Order;\n  type restaurantsV3Order_universal_d_Status = Status;\n  const restaurantsV3Order_universal_d_Status: typeof Status;\n  type restaurantsV3Order_universal_d_LineItem = LineItem;\n  type restaurantsV3Order_universal_d_LineItemOption = LineItemOption;\n  type restaurantsV3Order_universal_d_DisplayType = DisplayType;\n  const restaurantsV3Order_universal_d_DisplayType: typeof DisplayType;\n  type restaurantsV3Order_universal_d_LineItemOptionItem = LineItemOptionItem;\n  type restaurantsV3Order_universal_d_CatalogReference = CatalogReference;\n  type restaurantsV3Order_universal_d_Discount = Discount;\n  type restaurantsV3Order_universal_d_DiscountType = DiscountType;\n  const restaurantsV3Order_universal_d_DiscountType: typeof DiscountType;\n  type restaurantsV3Order_universal_d_Coupon = Coupon;\n  type restaurantsV3Order_universal_d_Payment = Payment;\n  type restaurantsV3Order_universal_d_PaymentType = PaymentType;\n  const restaurantsV3Order_universal_d_PaymentType: typeof PaymentType;\n  type restaurantsV3Order_universal_d_Fulfillment = Fulfillment;\n  type restaurantsV3Order_universal_d_FulfillmentDetailsOneOf = FulfillmentDetailsOneOf;\n  type restaurantsV3Order_universal_d_FulfillmentType = FulfillmentType;\n  const restaurantsV3Order_universal_d_FulfillmentType: typeof FulfillmentType;\n  type restaurantsV3Order_universal_d_DeliveryDetails = DeliveryDetails;\n  type restaurantsV3Order_universal_d_DeliveryDetailsProviderOneOf = DeliveryDetailsProviderOneOf;\n  type restaurantsV3Order_universal_d_DeliveryAddress = DeliveryAddress;\n  type restaurantsV3Order_universal_d_OnArrival = OnArrival;\n  const restaurantsV3Order_universal_d_OnArrival: typeof OnArrival;\n  type restaurantsV3Order_universal_d_DeliveryAddressLocation = DeliveryAddressLocation;\n  type restaurantsV3Order_universal_d_Restaurant = Restaurant;\n  type restaurantsV3Order_universal_d_ExternalProvider = ExternalProvider;\n  type restaurantsV3Order_universal_d_PickupInfo = PickupInfo;\n  type restaurantsV3Order_universal_d_DropOffInfo = DropOffInfo;\n  type restaurantsV3Order_universal_d_PickupDetails = PickupDetails;\n  type restaurantsV3Order_universal_d_Curbside = Curbside;\n  type restaurantsV3Order_universal_d_DineInDetails = DineInDetails;\n  type restaurantsV3Order_universal_d_Customer = Customer;\n  type restaurantsV3Order_universal_d_CustomerIdOneOf = CustomerIdOneOf;\n  type restaurantsV3Order_universal_d_Totals = Totals;\n  type restaurantsV3Order_universal_d_ServiceFee = ServiceFee;\n  type restaurantsV3Order_universal_d_Money = Money;\n  type restaurantsV3Order_universal_d_Activity = Activity;\n  type restaurantsV3Order_universal_d_ChannelInfo = ChannelInfo;\n  type restaurantsV3Order_universal_d_Type = Type;\n  const restaurantsV3Order_universal_d_Type: typeof Type;\n  type restaurantsV3Order_universal_d_LoyaltyInfo = LoyaltyInfo;\n  type restaurantsV3Order_universal_d_PosInfo = PosInfo;\n  type restaurantsV3Order_universal_d_Error = Error;\n  type restaurantsV3Order_universal_d_PosInfoExternalProvider = PosInfoExternalProvider;\n  type restaurantsV3Order_universal_d_GetTotalActiveOrdersRequest = GetTotalActiveOrdersRequest;\n  type restaurantsV3Order_universal_d_GetTotalActiveOrdersResponse = GetTotalActiveOrdersResponse;\n  type restaurantsV3Order_universal_d_LocationToAmount = LocationToAmount;\n  type restaurantsV3Order_universal_d_NewOrder = NewOrder;\n  type restaurantsV3Order_universal_d_GetOrderRequest = GetOrderRequest;\n  type restaurantsV3Order_universal_d_GetOrderResponse = GetOrderResponse;\n  type restaurantsV3Order_universal_d_ListOrdersRequest = ListOrdersRequest;\n  type restaurantsV3Order_universal_d_Sort = Sort;\n  type restaurantsV3Order_universal_d_FieldName = FieldName;\n  const restaurantsV3Order_universal_d_FieldName: typeof FieldName;\n  type restaurantsV3Order_universal_d_SortOrder = SortOrder;\n  const restaurantsV3Order_universal_d_SortOrder: typeof SortOrder;\n  type restaurantsV3Order_universal_d_CursorPaging = CursorPaging;\n  type restaurantsV3Order_universal_d_ListOrdersResponse = ListOrdersResponse;\n  type restaurantsV3Order_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type restaurantsV3Order_universal_d_Cursors = Cursors;\n  type restaurantsV3Order_universal_d_AcceptOrderRequest = AcceptOrderRequest;\n  type restaurantsV3Order_universal_d_AcceptOrderRequestDeliveryTimeOneOf = AcceptOrderRequestDeliveryTimeOneOf;\n  type restaurantsV3Order_universal_d_AcceptOrderResponse = AcceptOrderResponse;\n  type restaurantsV3Order_universal_d_OrderAccepted = OrderAccepted;\n  type restaurantsV3Order_universal_d_CancelOrderRequest = CancelOrderRequest;\n  type restaurantsV3Order_universal_d_CancelOrderResponse = CancelOrderResponse;\n  type restaurantsV3Order_universal_d_OrderCanceled = OrderCanceled;\n  type restaurantsV3Order_universal_d_FulfillOrderRequest = FulfillOrderRequest;\n  type restaurantsV3Order_universal_d_FulfillOrderResponse = FulfillOrderResponse;\n  type restaurantsV3Order_universal_d_OrderFulfilled = OrderFulfilled;\n  type restaurantsV3Order_universal_d_CountOrdersRequest = CountOrdersRequest;\n  type restaurantsV3Order_universal_d_CountOrdersQuery = CountOrdersQuery;\n  type restaurantsV3Order_universal_d_DateRangeFilter = DateRangeFilter;\n  type restaurantsV3Order_universal_d_CountOrdersResponse = CountOrdersResponse;\n  type restaurantsV3Order_universal_d_DomainEvent = DomainEvent;\n  type restaurantsV3Order_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type restaurantsV3Order_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type restaurantsV3Order_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type restaurantsV3Order_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type restaurantsV3Order_universal_d_ActionEvent = ActionEvent;\n  type restaurantsV3Order_universal_d_MessageEnvelope = MessageEnvelope;\n  type restaurantsV3Order_universal_d_IdentificationData = IdentificationData;\n  type restaurantsV3Order_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type restaurantsV3Order_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const restaurantsV3Order_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type restaurantsV3Order_universal_d_NotifyOrderEventRequest = NotifyOrderEventRequest;\n  type restaurantsV3Order_universal_d_EventType = EventType;\n  const restaurantsV3Order_universal_d_EventType: typeof EventType;\n  type restaurantsV3Order_universal_d_Empty = Empty;\n  type restaurantsV3Order_universal_d_GetOrderByMsidRequest = GetOrderByMsidRequest;\n  type restaurantsV3Order_universal_d_GetOrderByMsidResponse = GetOrderByMsidResponse;\n  type restaurantsV3Order_universal_d_ListOrdersByMsidRequest = ListOrdersByMsidRequest;\n  type restaurantsV3Order_universal_d_ListOrdersByMsidResponse = ListOrdersByMsidResponse;\n  type restaurantsV3Order_universal_d_NotifyOrderEventResponse = NotifyOrderEventResponse;\n  const restaurantsV3Order_universal_d_getTotalActiveOrders: typeof getTotalActiveOrders;\n  type restaurantsV3Order_universal_d_GetTotalActiveOrdersOptions = GetTotalActiveOrdersOptions;\n  const restaurantsV3Order_universal_d_getOrder: typeof getOrder;\n  type restaurantsV3Order_universal_d_GetOrderOptions = GetOrderOptions;\n  const restaurantsV3Order_universal_d_listOrders: typeof listOrders;\n  type restaurantsV3Order_universal_d_ListOrdersOptions = ListOrdersOptions;\n  const restaurantsV3Order_universal_d_acceptOrder: typeof acceptOrder;\n  type restaurantsV3Order_universal_d_AcceptOrderOptions = AcceptOrderOptions;\n  const restaurantsV3Order_universal_d_cancelOrder: typeof cancelOrder;\n  type restaurantsV3Order_universal_d_CancelOrderOptions = CancelOrderOptions;\n  const restaurantsV3Order_universal_d_fulfillOrder: typeof fulfillOrder;\n  const restaurantsV3Order_universal_d_countOrders: typeof countOrders;\n  type restaurantsV3Order_universal_d_CountOrdersOptions = CountOrdersOptions;\n  const restaurantsV3Order_universal_d_getOrderByMsid: typeof getOrderByMsid;\n  type restaurantsV3Order_universal_d_GetOrderByMsidOptions = GetOrderByMsidOptions;\n  const restaurantsV3Order_universal_d_listOrdersByMsid: typeof listOrdersByMsid;\n  type restaurantsV3Order_universal_d_ListOrdersByMsidOptions = ListOrdersByMsidOptions;\n  const restaurantsV3Order_universal_d_notifyOrderEvent: typeof notifyOrderEvent;\n  type restaurantsV3Order_universal_d_NotifyOrderEventOptions = NotifyOrderEventOptions;\n  namespace restaurantsV3Order_universal_d {\n    export {\n      restaurantsV3Order_universal_d_Order as Order,\n      restaurantsV3Order_universal_d_Status as Status,\n      restaurantsV3Order_universal_d_LineItem as LineItem,\n      restaurantsV3Order_universal_d_LineItemOption as LineItemOption,\n      restaurantsV3Order_universal_d_DisplayType as DisplayType,\n      restaurantsV3Order_universal_d_LineItemOptionItem as LineItemOptionItem,\n      restaurantsV3Order_universal_d_CatalogReference as CatalogReference,\n      restaurantsV3Order_universal_d_Discount as Discount,\n      restaurantsV3Order_universal_d_DiscountType as DiscountType,\n      restaurantsV3Order_universal_d_Coupon as Coupon,\n      restaurantsV3Order_universal_d_Payment as Payment,\n      restaurantsV3Order_universal_d_PaymentType as PaymentType,\n      restaurantsV3Order_universal_d_Fulfillment as Fulfillment,\n      restaurantsV3Order_universal_d_FulfillmentDetailsOneOf as FulfillmentDetailsOneOf,\n      restaurantsV3Order_universal_d_FulfillmentType as FulfillmentType,\n      restaurantsV3Order_universal_d_DeliveryDetails as DeliveryDetails,\n      restaurantsV3Order_universal_d_DeliveryDetailsProviderOneOf as DeliveryDetailsProviderOneOf,\n      restaurantsV3Order_universal_d_DeliveryAddress as DeliveryAddress,\n      restaurantsV3Order_universal_d_OnArrival as OnArrival,\n      restaurantsV3Order_universal_d_DeliveryAddressLocation as DeliveryAddressLocation,\n      restaurantsV3Order_universal_d_Restaurant as Restaurant,\n      restaurantsV3Order_universal_d_ExternalProvider as ExternalProvider,\n      restaurantsV3Order_universal_d_PickupInfo as PickupInfo,\n      restaurantsV3Order_universal_d_DropOffInfo as DropOffInfo,\n      restaurantsV3Order_universal_d_PickupDetails as PickupDetails,\n      restaurantsV3Order_universal_d_Curbside as Curbside,\n      restaurantsV3Order_universal_d_DineInDetails as DineInDetails,\n      restaurantsV3Order_universal_d_Customer as Customer,\n      restaurantsV3Order_universal_d_CustomerIdOneOf as CustomerIdOneOf,\n      restaurantsV3Order_universal_d_Totals as Totals,\n      restaurantsV3Order_universal_d_ServiceFee as ServiceFee,\n      restaurantsV3Order_universal_d_Money as Money,\n      restaurantsV3Order_universal_d_Activity as Activity,\n      restaurantsV3Order_universal_d_ChannelInfo as ChannelInfo,\n      restaurantsV3Order_universal_d_Type as Type,\n      restaurantsV3Order_universal_d_LoyaltyInfo as LoyaltyInfo,\n      restaurantsV3Order_universal_d_PosInfo as PosInfo,\n      restaurantsV3Order_universal_d_Error as Error,\n      restaurantsV3Order_universal_d_PosInfoExternalProvider as PosInfoExternalProvider,\n      restaurantsV3Order_universal_d_GetTotalActiveOrdersRequest as GetTotalActiveOrdersRequest,\n      restaurantsV3Order_universal_d_GetTotalActiveOrdersResponse as GetTotalActiveOrdersResponse,\n      restaurantsV3Order_universal_d_LocationToAmount as LocationToAmount,\n      restaurantsV3Order_universal_d_NewOrder as NewOrder,\n      restaurantsV3Order_universal_d_GetOrderRequest as GetOrderRequest,\n      restaurantsV3Order_universal_d_GetOrderResponse as GetOrderResponse,\n      restaurantsV3Order_universal_d_ListOrdersRequest as ListOrdersRequest,\n      restaurantsV3Order_universal_d_Sort as Sort,\n      restaurantsV3Order_universal_d_FieldName as FieldName,\n      restaurantsV3Order_universal_d_SortOrder as SortOrder,\n      restaurantsV3Order_universal_d_CursorPaging as CursorPaging,\n      restaurantsV3Order_universal_d_ListOrdersResponse as ListOrdersResponse,\n      restaurantsV3Order_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      restaurantsV3Order_universal_d_Cursors as Cursors,\n      restaurantsV3Order_universal_d_AcceptOrderRequest as AcceptOrderRequest,\n      restaurantsV3Order_universal_d_AcceptOrderRequestDeliveryTimeOneOf as AcceptOrderRequestDeliveryTimeOneOf,\n      restaurantsV3Order_universal_d_AcceptOrderResponse as AcceptOrderResponse,\n      restaurantsV3Order_universal_d_OrderAccepted as OrderAccepted,\n      restaurantsV3Order_universal_d_CancelOrderRequest as CancelOrderRequest,\n      restaurantsV3Order_universal_d_CancelOrderResponse as CancelOrderResponse,\n      restaurantsV3Order_universal_d_OrderCanceled as OrderCanceled,\n      restaurantsV3Order_universal_d_FulfillOrderRequest as FulfillOrderRequest,\n      restaurantsV3Order_universal_d_FulfillOrderResponse as FulfillOrderResponse,\n      restaurantsV3Order_universal_d_OrderFulfilled as OrderFulfilled,\n      restaurantsV3Order_universal_d_CountOrdersRequest as CountOrdersRequest,\n      restaurantsV3Order_universal_d_CountOrdersQuery as CountOrdersQuery,\n      restaurantsV3Order_universal_d_DateRangeFilter as DateRangeFilter,\n      restaurantsV3Order_universal_d_CountOrdersResponse as CountOrdersResponse,\n      restaurantsV3Order_universal_d_DomainEvent as DomainEvent,\n      restaurantsV3Order_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      restaurantsV3Order_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      restaurantsV3Order_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      restaurantsV3Order_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      restaurantsV3Order_universal_d_ActionEvent as ActionEvent,\n      restaurantsV3Order_universal_d_MessageEnvelope as MessageEnvelope,\n      restaurantsV3Order_universal_d_IdentificationData as IdentificationData,\n      restaurantsV3Order_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      restaurantsV3Order_universal_d_WebhookIdentityType as WebhookIdentityType,\n      restaurantsV3Order_universal_d_NotifyOrderEventRequest as NotifyOrderEventRequest,\n      restaurantsV3Order_universal_d_EventType as EventType,\n      restaurantsV3Order_universal_d_Empty as Empty,\n      restaurantsV3Order_universal_d_GetOrderByMsidRequest as GetOrderByMsidRequest,\n      restaurantsV3Order_universal_d_GetOrderByMsidResponse as GetOrderByMsidResponse,\n      restaurantsV3Order_universal_d_ListOrdersByMsidRequest as ListOrdersByMsidRequest,\n      restaurantsV3Order_universal_d_ListOrdersByMsidResponse as ListOrdersByMsidResponse,\n      restaurantsV3Order_universal_d_NotifyOrderEventResponse as NotifyOrderEventResponse,\n      restaurantsV3Order_universal_d_getTotalActiveOrders as getTotalActiveOrders,\n      restaurantsV3Order_universal_d_GetTotalActiveOrdersOptions as GetTotalActiveOrdersOptions,\n      restaurantsV3Order_universal_d_getOrder as getOrder,\n      restaurantsV3Order_universal_d_GetOrderOptions as GetOrderOptions,\n      restaurantsV3Order_universal_d_listOrders as listOrders,\n      restaurantsV3Order_universal_d_ListOrdersOptions as ListOrdersOptions,\n      restaurantsV3Order_universal_d_acceptOrder as acceptOrder,\n      restaurantsV3Order_universal_d_AcceptOrderOptions as AcceptOrderOptions,\n      restaurantsV3Order_universal_d_cancelOrder as cancelOrder,\n      restaurantsV3Order_universal_d_CancelOrderOptions as CancelOrderOptions,\n      restaurantsV3Order_universal_d_fulfillOrder as fulfillOrder,\n      restaurantsV3Order_universal_d_countOrders as countOrders,\n      restaurantsV3Order_universal_d_CountOrdersOptions as CountOrdersOptions,\n      restaurantsV3Order_universal_d_getOrderByMsid as getOrderByMsid,\n      restaurantsV3Order_universal_d_GetOrderByMsidOptions as GetOrderByMsidOptions,\n      restaurantsV3Order_universal_d_listOrdersByMsid as listOrdersByMsid,\n      restaurantsV3Order_universal_d_ListOrdersByMsidOptions as ListOrdersByMsidOptions,\n      restaurantsV3Order_universal_d_notifyOrderEvent as notifyOrderEvent,\n      restaurantsV3Order_universal_d_NotifyOrderEventOptions as NotifyOrderEventOptions,\n    };\n  }\n  \n  export { restaurantsCatalogsV3Catalog_universal_d as catalogs, restaurantsCatalogsV3Discount_universal_d as discount, restaurantsFulfillmentsV3FulfillmentMethod_universal_d as fulfillemtMethods, restaurantsV1FulfillmentMethod_universal_d as fulfillmentMethods, localdeliveryV1Tpa_universal_d as localDelivery, localdeliverySpiV1Tpa_universal_d as localDeliverySpi, restaurantsOperationsV1Operation_universal_d as operations, restaurantsOrdersettingsV3OrderSettings_universal_d as orderSettings, restaurantsV3Order_universal_d as orders, restaurantsPostpaapiV1Configuration_universal_d as posTpa, restaurantsRestaurantlocationsV3RestaurantLocation_universal_d as restaurantLocations };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-jackal-backend.d.ts",
      "content": "declare module \"wix-jackal-backend\" {\n  /** Wishlist is the main entity of WishlistService that can be used for lorem ipsum dolor */\n  interface Wishlist {\n      /** Wishlist ID */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      email?: string | null;\n      vip?: boolean;\n      items?: WishlistItem[];\n  }\n  interface WishlistItem {\n      _id?: string;\n      type?: string;\n  }\n  interface CreateWishlistResponse {\n      /** The created Wishlist */\n      wishlist?: Wishlist;\n  }\n  interface GetWishlistResponse {\n      /** The retrieved Wishlist */\n      wishlist?: Wishlist;\n  }\n  interface UpdateWishlistResponse {\n      /** The updated Wishlist */\n      wishlist?: Wishlist;\n  }\n  interface DeleteWishlistResponse {\n  }\n  interface QueryV2 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryWishlistResponse {\n      /** The retrieved Wishlists */\n      wishlists?: Wishlist[];\n  }\n  interface UpdateWishlistWishlist {\n      /** Wishlist ID */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      email?: string | null;\n      vip?: boolean;\n      items?: WishlistItem[];\n  }\n  interface UpdateWishlistOptions {\n      mask?: string[];\n  }\n  \n  function createWishlist(wishlist: Wishlist): Promise<CreateWishlistResponse>;\n  function getWishlist(wishlistId: string): Promise<GetWishlistResponse>;\n  function updateWishlist(_id: string | null, wishlist: UpdateWishlistWishlist, options: UpdateWishlistOptions): Promise<UpdateWishlistResponse>;\n  function deleteWishlist(wishlistId: string, revision: string): Promise<DeleteWishlistResponse>;\n  function queryWishlist(query: QueryV2): Promise<QueryWishlistResponse>;\n  \n  export { createWishlist, deleteWishlist, getWishlist, queryWishlist, updateWishlist };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-atlas-places-backend.d.ts",
      "content": "declare module \"wix-atlas-places-backend\" {\n  interface Place {\n      placeId?: string;\n      address?: Address;\n      types?: string[];\n  }\n  /** Physical address */\n  interface Address {\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formattedAddress?: string | null;\n      /** Free text for human-to-human textual orientation aid purposes */\n      hint?: string | null;\n      /** coordinates of the physical address */\n      geocode?: AddressLocation;\n      /** country full-name */\n      countryFullname?: string | null;\n      /** multi-level subdivisions from top to bottom */\n      subdivisions?: Subdivision[];\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /** apartment number */\n      apt?: string;\n  }\n  interface AddressLocation {\n      latitude?: number | null;\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      type?: SubdivisionType;\n      /** a free-text description of subdivision type */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** state */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** county */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** cities/towns */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** (ADMINISTRATIVE_AREA_LEVEL_0) indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface GetPlaceResponse {\n      place?: Place;\n  }\n  \n  function getPlace(searchId: string): Promise<GetPlaceResponse>;\n  \n  export { getPlace };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-activity-counters-backend.d.ts",
      "content": "declare module \"wix-activity-counters-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface ActivityCounter {\n      /** Member ID. */\n      memberId?: string;\n      /** App ID. */\n      appId?: string;\n      /** Counters for this member and this app. */\n      counters?: Counter[];\n  }\n  interface Counter {\n      /** Key of the counter. Must be unique within a given app. */\n      key?: string;\n      /** Whether count is available to all (if `public` is false, the counter is only available to the data owner; the site member, or the third party app that created the counter). */\n      public?: boolean;\n      /** Count of activity. */\n      count?: number;\n  }\n  interface SetActivityCountersRequest {\n      memberId: string;\n      /** Site member ID whose counter will be set. */\n      counter: Counter;\n  }\n  interface SetActivityCountersResponse {\n      activityCounter?: ActivityCounter;\n  }\n  interface IncrementActivityCountersRequest {\n      memberId: string;\n      /** Site member ID whose counter will be increment. */\n      counter: Counter;\n  }\n  interface IncrementActivityCountersResponse {\n      activityCounter?: ActivityCounter;\n  }\n  interface GetActivityCountersRequest {\n      memberId: string;\n  }\n  interface GetActivityCountersResponse {\n      activityCounters?: ActivityCounter[];\n  }\n  interface QueryActivityCountersRequest {\n      query?: Query;\n  }\n  interface Query {\n      /** A filter object. */\n      filter?: any;\n      /** Limit number of results. */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryActivityCountersResponse {\n      activityCounters?: ActivityCounter[];\n      /** Retrieved activity counters. */\n      metadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  /**\n   * Sets activity counters for a requested site member.\n   *\n   * If a counter does not yet exist, it will be created.\n   *\n   * Counters are set under a custom key, which is an ID for the counter, and is unique per app.\n   * @param counter - Site member ID whose counter will be set.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField counter\n   * @requiredField memberId\n   */\n  function setActivityCounters(memberId: string, counter: Counter): Promise<SetActivityCountersResponse>;\n  /**\n   * Increments activity counters for a requested site member by the count provided in counter.\n   *\n   * If a counter does not yet exist, it will be created.\n   *\n   * Counters are incremented under a custom key, which is an ID for the counter, and is unique per app.\n   * @param counter - Site member ID whose counter will be increment.\n   * @documentationMaturity preview\n   * @requiredField counter\n   * @requiredField memberId\n   */\n  function incrementActivityCounters(memberId: string, counter: Counter): Promise<IncrementActivityCountersResponse>;\n  /**\n   * Returns activity counters for a requested site member.\n   * A third party can read all the public counters, set by any apps. However, third parties can only read their own private counters, not those from others' apps.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   */\n  function getActivityCounters(memberId: string): Promise<GetActivityCountersResponse>;\n  /**\n   * Returns up to 100 activity counters for the provided filter and paging.\n   *\n   * Service will return only counters that are marked as public, or private counters from apps created by the requesting third party.\n   *\n   * Supported fields for filtering:\n   * - memberId\n   *\n   * Supported operations:\n   * Comparison:\n   * - $eq\n   * - $ne\n   * - $in\n   * Logical:\n   * - $and\n   * - $not\n   * - $or\n   * @public\n   * @documentationMaturity preview\n   */\n  function queryActivityCounters(options?: QueryActivityCountersOptions): Promise<QueryActivityCountersResponse>;\n  interface QueryActivityCountersOptions {\n      query?: Query;\n  }\n  \n  export { ActivityCounter, Counter, GetActivityCountersRequest, GetActivityCountersResponse, IncrementActivityCountersRequest, IncrementActivityCountersResponse, Paging, PagingMetadata, Query, QueryActivityCountersOptions, QueryActivityCountersRequest, QueryActivityCountersResponse, SetActivityCountersRequest, SetActivityCountersResponse, __debug, getActivityCounters, incrementActivityCounters, queryActivityCounters, setActivityCounters };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-atlas-autocomplete-backend.d.ts",
      "content": "declare module \"wix-atlas-autocomplete-backend\" {\n  interface Prediction {\n      /** The human-readable name of the prediction */\n      description?: string;\n      /** The id of the prediction that can be use in place api. Available for short time. */\n      searchId?: string;\n      /** Contains an array with offset value and length. These describe the location of the entered term in the prediction result text, so that the term can be highlighted if desired */\n      matchedSubstrings?: MatchedSubstrings[];\n      /** Provides pre-formatted text that can be shown in your autocomplete results */\n      textStructure?: TextStructure;\n      /** Contains an integer indicating the straight-line distance between the predicted place, and the specified origin point, in meters. */\n      distanceInMeters?: number | null;\n  }\n  interface MatchedSubstrings {\n      length?: number;\n      offset?: number;\n  }\n  interface TextStructure {\n      /** Contains the main text of a prediction, usually the name of the place */\n      mainText?: string;\n      /** Contains the secondary text of a prediction, usually the location of the place */\n      secondaryText?: string;\n      /** Contains an array with offset value and length. These describe the location of the entered term in the prediction result text, so that the term can be highlighted if desired */\n      mainTextMatchedSubstrings?: MatchedSubstrings[];\n  }\n  interface AddressLocation {\n      latitude?: number | null;\n      longitude?: number | null;\n  }\n  interface FilterBy {\n      /** One of the filter types enum */\n      filterType?: FilterType;\n      /** Free text like \"us\" */\n      filterValue?: string;\n  }\n  enum FilterType {\n      /** Filter by zip code */\n      zip_code = \"zip_code\",\n      /** Filter by 2-letters or 3-letters country code */\n      country_code = \"country_code\"\n  }\n  interface ListPredictionsResponse {\n      predictions?: Prediction[];\n  }\n  interface PredictResponse {\n      predictions?: Prediction[];\n  }\n  interface ListPredictionsOptions {\n      origin?: AddressLocation;\n      location?: AddressLocation;\n      radius?: string | null;\n      filterBy?: FilterBy[];\n  }\n  interface PredictOptions {\n      origin?: AddressLocation;\n      location?: AddressLocation;\n      radius?: string | null;\n      countryCodes?: string[];\n  }\n  \n  function listPredictions(input: string, options: ListPredictionsOptions): Promise<ListPredictionsResponse>;\n  function predict(input: string, options: PredictOptions): Promise<PredictResponse>;\n  \n  export { listPredictions, predict };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-livevideo-backend.d.ts",
      "content": "declare module \"wix-livevideo-backend\" {\n  interface ChatMessage {\n      /** Message unique ID. */\n      _id?: string | null;\n      /** Message body. */\n      body?: string | null;\n      /** Message timestamp. */\n      created?: Date | null;\n      /** Creator of this message. */\n      participantId?: string | null;\n      /** Indicates if message is highlighted. */\n      highlighted?: boolean | null;\n  }\n  interface ManagementListChatMessagesRequest {\n      /**\n       * Live session unique ID\n       * @readonly\n       */\n      sessionId: string;\n      /** Number of messages to load per page. */\n      limit?: number;\n      /**\n       * If defined - messages older than defined message will be returned (exclusive).\n       * Otherwise latest messages will be returned.\n       */\n      messageId?: string | null;\n      /** If true - only highlighted messaged will be returned. */\n      highlighted?: boolean | null;\n  }\n  interface ManagementListChatMessagesResponse {\n      messages?: ChatMessage[];\n  }\n  interface DeleteChatMessagesRequest {\n      /**\n       * Live session unique ID\n       * @readonly\n       */\n      sessionId: string;\n      /** Messages to delete. */\n      messages: string[];\n  }\n  interface DeleteChatMessagesResponse {\n  }\n  interface UpdateChatMessageRequest {\n      /**\n       * Live session unique ID\n       * @readonly\n       */\n      sessionId: string;\n      message: ChatMessage;\n      /** @internal */\n      fieldMask?: string[];\n  }\n  interface UpdateChatMessageResponse {\n      message?: ChatMessage;\n  }\n  interface SendChatMessageRequest {\n      /** Token for chat API authorization. */\n      authorization: string;\n      /** Chat message body. */\n      body: string | null;\n  }\n  interface SendChatMessageResponse {\n      message?: ChatMessage;\n  }\n  interface ListChatMessagesRequest {\n      /** Token for chat API authorization. */\n      authorization: string;\n      /** Number of messages to load per page. */\n      limit?: number;\n      /**\n       * If defined - messages older than defined message will be returned (exclusive).\n       * Otherwise latest messages will be returned.\n       */\n      messageId?: string | null;\n      /** If true - only highlighted messaged will be returned. */\n      highlighted?: boolean | null;\n  }\n  interface ListChatMessagesResponse {\n      messages?: ChatMessage[];\n  }\n  /**\n   * Endpoint for listing chat messages. Latest messages are returned first.\n   * @param sessionId - Live session unique ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.MANAGE_CHAT\n   * @adminMethod\n   */\n  function listChatMessages(sessionId: string, options?: ListChatMessagesOptions): Promise<ManagementListChatMessagesResponse>;\n  interface ListChatMessagesOptions {\n      /** Number of messages to load per page. */\n      limit?: number;\n      /**\n       * If defined - messages older than defined message will be returned (exclusive).\n       * Otherwise latest messages will be returned.\n       */\n      messageId?: string | null;\n      /** If true - only highlighted messaged will be returned. */\n      highlighted?: boolean | null;\n  }\n  /**\n   * Endpoint for deleting chat messages.\n   * @param sessionId - Live session unique ID\n   * @param messages - Messages to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField messages\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.MANAGE_CHAT\n   * @adminMethod\n   */\n  function deleteChatMessages(sessionId: string, messages: string[]): Promise<void>;\n  /**\n   * Endpoint for updating chat messages.\n   * @param sessionId - Live session unique ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField message\n   * @requiredField message._id\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.MANAGE_CHAT\n   * @adminMethod\n   */\n  function updateChatMessage(sessionId: string, message: ChatMessage, options?: UpdateChatMessageOptions): Promise<ChatMessage>;\n  interface UpdateChatMessageOptions {\n      /** @internal */\n      fieldMask?: string[];\n  }\n  /**\n   * Endpoint for creating a chat message.\n   * @param authorization - Token for chat API authorization.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField authorization\n   * @requiredField options\n   * @requiredField options.body\n   * @permissionId LIVE_VIDEO.CHAT\n   */\n  function sendChatMessage(authorization: string, options: SendChatMessageOptions): Promise<SendChatMessageResponse>;\n  interface SendChatMessageOptions {\n      /** Chat message body. */\n      body: string | null;\n  }\n  /**\n   * Endpoint for listing chat messages. Latest messages are returned first.\n   * @param authorization - Token for chat API authorization.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField authorization\n   * @permissionId LIVE_VIDEO.READ_CHAT\n   */\n  function publicListChatMessages(authorization: string, options?: PublicListChatMessagesOptions): Promise<ListChatMessagesResponse>;\n  interface PublicListChatMessagesOptions {\n      /** Number of messages to load per page. */\n      limit?: number;\n      /**\n       * If defined - messages older than defined message will be returned (exclusive).\n       * Otherwise latest messages will be returned.\n       */\n      messageId?: string | null;\n      /** If true - only highlighted messaged will be returned. */\n      highlighted?: boolean | null;\n  }\n  \n  type livevideoV1Chat_universal_d_ChatMessage = ChatMessage;\n  type livevideoV1Chat_universal_d_ManagementListChatMessagesRequest = ManagementListChatMessagesRequest;\n  type livevideoV1Chat_universal_d_ManagementListChatMessagesResponse = ManagementListChatMessagesResponse;\n  type livevideoV1Chat_universal_d_DeleteChatMessagesRequest = DeleteChatMessagesRequest;\n  type livevideoV1Chat_universal_d_DeleteChatMessagesResponse = DeleteChatMessagesResponse;\n  type livevideoV1Chat_universal_d_UpdateChatMessageRequest = UpdateChatMessageRequest;\n  type livevideoV1Chat_universal_d_UpdateChatMessageResponse = UpdateChatMessageResponse;\n  type livevideoV1Chat_universal_d_SendChatMessageRequest = SendChatMessageRequest;\n  type livevideoV1Chat_universal_d_SendChatMessageResponse = SendChatMessageResponse;\n  type livevideoV1Chat_universal_d_ListChatMessagesRequest = ListChatMessagesRequest;\n  type livevideoV1Chat_universal_d_ListChatMessagesResponse = ListChatMessagesResponse;\n  const livevideoV1Chat_universal_d_listChatMessages: typeof listChatMessages;\n  type livevideoV1Chat_universal_d_ListChatMessagesOptions = ListChatMessagesOptions;\n  const livevideoV1Chat_universal_d_deleteChatMessages: typeof deleteChatMessages;\n  const livevideoV1Chat_universal_d_updateChatMessage: typeof updateChatMessage;\n  type livevideoV1Chat_universal_d_UpdateChatMessageOptions = UpdateChatMessageOptions;\n  const livevideoV1Chat_universal_d_sendChatMessage: typeof sendChatMessage;\n  type livevideoV1Chat_universal_d_SendChatMessageOptions = SendChatMessageOptions;\n  const livevideoV1Chat_universal_d_publicListChatMessages: typeof publicListChatMessages;\n  type livevideoV1Chat_universal_d_PublicListChatMessagesOptions = PublicListChatMessagesOptions;\n  namespace livevideoV1Chat_universal_d {\n    export {\n      livevideoV1Chat_universal_d_ChatMessage as ChatMessage,\n      livevideoV1Chat_universal_d_ManagementListChatMessagesRequest as ManagementListChatMessagesRequest,\n      livevideoV1Chat_universal_d_ManagementListChatMessagesResponse as ManagementListChatMessagesResponse,\n      livevideoV1Chat_universal_d_DeleteChatMessagesRequest as DeleteChatMessagesRequest,\n      livevideoV1Chat_universal_d_DeleteChatMessagesResponse as DeleteChatMessagesResponse,\n      livevideoV1Chat_universal_d_UpdateChatMessageRequest as UpdateChatMessageRequest,\n      livevideoV1Chat_universal_d_UpdateChatMessageResponse as UpdateChatMessageResponse,\n      livevideoV1Chat_universal_d_SendChatMessageRequest as SendChatMessageRequest,\n      livevideoV1Chat_universal_d_SendChatMessageResponse as SendChatMessageResponse,\n      livevideoV1Chat_universal_d_ListChatMessagesRequest as ListChatMessagesRequest,\n      livevideoV1Chat_universal_d_ListChatMessagesResponse as ListChatMessagesResponse,\n      livevideoV1Chat_universal_d_listChatMessages as listChatMessages,\n      livevideoV1Chat_universal_d_ListChatMessagesOptions as ListChatMessagesOptions,\n      livevideoV1Chat_universal_d_deleteChatMessages as deleteChatMessages,\n      livevideoV1Chat_universal_d_updateChatMessage as updateChatMessage,\n      livevideoV1Chat_universal_d_UpdateChatMessageOptions as UpdateChatMessageOptions,\n      livevideoV1Chat_universal_d_sendChatMessage as sendChatMessage,\n      livevideoV1Chat_universal_d_SendChatMessageOptions as SendChatMessageOptions,\n      livevideoV1Chat_universal_d_publicListChatMessages as publicListChatMessages,\n      livevideoV1Chat_universal_d_PublicListChatMessagesOptions as PublicListChatMessagesOptions,\n    };\n  }\n  \n  interface Participant$1 {\n      /** The ID of the session. */\n      sessionId?: string;\n      participantId?: string;\n      /** Participant name */\n      name?: string | null;\n      /**\n       * External id of entrance\n       * @readonly\n       */\n      externalEntranceId?: string | null;\n      /** Participant state */\n      state?: ParticipantState$1[];\n      /** @readonly */\n      clientId?: string | null;\n      /** @readonly */\n      wixUserId?: string | null;\n      /** @readonly */\n      memberId?: string | null;\n      /** @readonly */\n      visitorId?: string | null;\n  }\n  enum ParticipantState$1 {\n      /** Participant is a session manager */\n      MANAGER = \"MANAGER\",\n      /** Participant is banned */\n      BANNED = \"BANNED\",\n      /** Participant is hidden */\n      HIDDEN = \"HIDDEN\",\n      /** Participant is video recording bot */\n      VIDEO_RECORDER = \"VIDEO_RECORDER\",\n      /** Participant is video streaming bot */\n      VIDEO_STREAMER = \"VIDEO_STREAMER\"\n  }\n  interface UpdateParticipantRequest$1 {\n      participant: Participant$1;\n      /** @internal */\n      fieldMask?: string[];\n  }\n  interface UpdateParticipantResponse$1 {\n      /** Updated participant */\n      participant?: Participant$1;\n  }\n  interface RemoveParticipantRequest$1 {\n      /** The ID of the session. */\n      sessionId: string;\n      /** The ID of the participant. */\n      participantId: string;\n  }\n  interface RemoveParticipantResponse$1 {\n      participant?: Participant$1;\n  }\n  interface QueryParticipantsRequest$1 {\n      /** Query for listing participants. session_id EQ filter is mandatory. */\n      query?: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryParticipantsResponse$1 {\n      /** Participants */\n      participants?: Participant$1[];\n      metaData?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField participant\n   * @requiredField participant.participantId\n   * @requiredField participant.sessionId\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   * @returns Updated participant\n   */\n  function updateParticipant(participant: Participant$1, options?: UpdateParticipantOptions): Promise<Participant$1>;\n  interface UpdateParticipantOptions {\n      /** @internal */\n      fieldMask?: string[];\n  }\n  /** @param sessionId - The ID of the session.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.participantId\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   */\n  function removeParticipant(sessionId: string, options: RemoveParticipantOptions): Promise<RemoveParticipantResponse$1>;\n  interface RemoveParticipantOptions {\n      /** The ID of the participant. */\n      participantId: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   */\n  function queryParticipants(): ParticipantsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ParticipantsQueryResult extends QueryCursorResult$1 {\n      items: Participant$1[];\n      query: ParticipantsQueryBuilder;\n      next: () => Promise<ParticipantsQueryResult>;\n      prev: () => Promise<ParticipantsQueryResult>;\n  }\n  interface ParticipantsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ParticipantsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ParticipantsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ParticipantsQueryResult>;\n  }\n  \n  const livevideoV1Participant_universal_d_updateParticipant: typeof updateParticipant;\n  type livevideoV1Participant_universal_d_UpdateParticipantOptions = UpdateParticipantOptions;\n  const livevideoV1Participant_universal_d_removeParticipant: typeof removeParticipant;\n  type livevideoV1Participant_universal_d_RemoveParticipantOptions = RemoveParticipantOptions;\n  const livevideoV1Participant_universal_d_queryParticipants: typeof queryParticipants;\n  type livevideoV1Participant_universal_d_ParticipantsQueryResult = ParticipantsQueryResult;\n  type livevideoV1Participant_universal_d_ParticipantsQueryBuilder = ParticipantsQueryBuilder;\n  namespace livevideoV1Participant_universal_d {\n    export {\n      Participant$1 as Participant,\n      ParticipantState$1 as ParticipantState,\n      UpdateParticipantRequest$1 as UpdateParticipantRequest,\n      UpdateParticipantResponse$1 as UpdateParticipantResponse,\n      RemoveParticipantRequest$1 as RemoveParticipantRequest,\n      RemoveParticipantResponse$1 as RemoveParticipantResponse,\n      QueryParticipantsRequest$1 as QueryParticipantsRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$1 as Paging,\n      CursorPaging$1 as CursorPaging,\n      QueryParticipantsResponse$1 as QueryParticipantsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      livevideoV1Participant_universal_d_updateParticipant as updateParticipant,\n      livevideoV1Participant_universal_d_UpdateParticipantOptions as UpdateParticipantOptions,\n      livevideoV1Participant_universal_d_removeParticipant as removeParticipant,\n      livevideoV1Participant_universal_d_RemoveParticipantOptions as RemoveParticipantOptions,\n      livevideoV1Participant_universal_d_queryParticipants as queryParticipants,\n      livevideoV1Participant_universal_d_ParticipantsQueryResult as ParticipantsQueryResult,\n      livevideoV1Participant_universal_d_ParticipantsQueryBuilder as ParticipantsQueryBuilder,\n    };\n  }\n  \n  interface Reaction {\n      /** Reaction unique ID. */\n      _id?: string | null;\n      /** Reaction emoji. */\n      emoji?: string;\n      /** Reaction timestamp. */\n      created?: Date | null;\n      /** Creator of this reaction. */\n      participantId?: string | null;\n  }\n  interface ManagementListReactionsRequest {\n      /**\n       * Live session unique ID\n       * @readonly\n       */\n      sessionId: string;\n      /** Number of reactions to load per page. */\n      limit?: number;\n      /** Number of reactions to skip per page. */\n      offset?: number;\n      /** Filter facets to include in the response. Supported facets: 'emoji' */\n      facet?: string[];\n  }\n  interface ManagementListReactionsResponse {\n      reactions?: Reaction[];\n      /** Total number of reactions. */\n      total?: number;\n      /** Facets. */\n      facets?: Record<string, ManagementFacetCounts>;\n  }\n  interface ManagementFacetCounts {\n      /** Facet counts aggregated per value. */\n      counts?: Record<string, number>;\n  }\n  interface ReactRequest {\n      /** Token for reactions API authorization. */\n      authorization: string;\n      /**\n       * Allowed emojis:\n       * :thumbsup:\n       * :raisedhand:\n       * :heart:\n       * :fire:\n       * :lolol:\n       */\n      emoji?: string;\n  }\n  interface ReactResponse {\n      reaction?: Reaction;\n  }\n  interface ListReactionsRequest {\n      /** Token for reactions API authorization. */\n      authorization: string;\n      /** Number of reactions to load per page. */\n      limit?: number;\n      /** Number of reactions to skip per page. */\n      offset?: number;\n      /** Filter facets to include in the response. Supported facets: 'emoji' */\n      facet?: string[];\n  }\n  interface ListReactionsResponse {\n      reactions?: Reaction[];\n      /** Total number of reactions. */\n      total?: number;\n      /** Facets. */\n      facets?: Record<string, FacetCounts>;\n  }\n  interface FacetCounts {\n      /** Facet counts aggregated per value. */\n      counts?: Record<string, number>;\n  }\n  /**\n   * Endpoint for listing reactions.\n   * @param sessionId - Live session unique ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.MANAGE_REACTIONS\n   * @adminMethod\n   */\n  function backofficeListReactions(sessionId: string, options?: BackofficeListReactionsOptions): Promise<ManagementListReactionsResponse>;\n  interface BackofficeListReactionsOptions {\n      /** Number of reactions to load per page. */\n      limit?: number;\n      /** Number of reactions to skip per page. */\n      offset?: number;\n      /** Filter facets to include in the response. Supported facets: 'emoji' */\n      facet?: string[];\n  }\n  /**\n   * Endpoint for sending a reaction.\n   * @param authorization - Token for reactions API authorization.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField authorization\n   * @permissionId LIVE_VIDEO.REACT\n   */\n  function react(authorization: string, options?: ReactOptions): Promise<ReactResponse>;\n  interface ReactOptions {\n      /**\n       * Allowed emojis:\n       * :thumbsup:\n       * :raisedhand:\n       * :heart:\n       * :fire:\n       * :lolol:\n       */\n      emoji?: string;\n  }\n  /**\n   * Endpoint for listing reactions.\n   * @param authorization - Token for reactions API authorization.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField authorization\n   * @permissionId LIVE_VIDEO.READ_REACTIONS\n   */\n  function listReactions(authorization: string, options?: ListReactionsOptions): Promise<ListReactionsResponse>;\n  interface ListReactionsOptions {\n      /** Number of reactions to load per page. */\n      limit?: number;\n      /** Number of reactions to skip per page. */\n      offset?: number;\n      /** Filter facets to include in the response. Supported facets: 'emoji' */\n      facet?: string[];\n  }\n  \n  type livevideoV1Reaction_universal_d_Reaction = Reaction;\n  type livevideoV1Reaction_universal_d_ManagementListReactionsRequest = ManagementListReactionsRequest;\n  type livevideoV1Reaction_universal_d_ManagementListReactionsResponse = ManagementListReactionsResponse;\n  type livevideoV1Reaction_universal_d_ManagementFacetCounts = ManagementFacetCounts;\n  type livevideoV1Reaction_universal_d_ReactRequest = ReactRequest;\n  type livevideoV1Reaction_universal_d_ReactResponse = ReactResponse;\n  type livevideoV1Reaction_universal_d_ListReactionsRequest = ListReactionsRequest;\n  type livevideoV1Reaction_universal_d_ListReactionsResponse = ListReactionsResponse;\n  type livevideoV1Reaction_universal_d_FacetCounts = FacetCounts;\n  const livevideoV1Reaction_universal_d_backofficeListReactions: typeof backofficeListReactions;\n  type livevideoV1Reaction_universal_d_BackofficeListReactionsOptions = BackofficeListReactionsOptions;\n  const livevideoV1Reaction_universal_d_react: typeof react;\n  type livevideoV1Reaction_universal_d_ReactOptions = ReactOptions;\n  const livevideoV1Reaction_universal_d_listReactions: typeof listReactions;\n  type livevideoV1Reaction_universal_d_ListReactionsOptions = ListReactionsOptions;\n  namespace livevideoV1Reaction_universal_d {\n    export {\n      livevideoV1Reaction_universal_d_Reaction as Reaction,\n      livevideoV1Reaction_universal_d_ManagementListReactionsRequest as ManagementListReactionsRequest,\n      livevideoV1Reaction_universal_d_ManagementListReactionsResponse as ManagementListReactionsResponse,\n      livevideoV1Reaction_universal_d_ManagementFacetCounts as ManagementFacetCounts,\n      livevideoV1Reaction_universal_d_ReactRequest as ReactRequest,\n      livevideoV1Reaction_universal_d_ReactResponse as ReactResponse,\n      livevideoV1Reaction_universal_d_ListReactionsRequest as ListReactionsRequest,\n      livevideoV1Reaction_universal_d_ListReactionsResponse as ListReactionsResponse,\n      livevideoV1Reaction_universal_d_FacetCounts as FacetCounts,\n      livevideoV1Reaction_universal_d_backofficeListReactions as backofficeListReactions,\n      livevideoV1Reaction_universal_d_BackofficeListReactionsOptions as BackofficeListReactionsOptions,\n      livevideoV1Reaction_universal_d_react as react,\n      livevideoV1Reaction_universal_d_ReactOptions as ReactOptions,\n      livevideoV1Reaction_universal_d_listReactions as listReactions,\n      livevideoV1Reaction_universal_d_ListReactionsOptions as ListReactionsOptions,\n    };\n  }\n  \n  interface LiveSession extends LiveSessionBroadcastChannelOneOf {\n      /** @readonly */\n      meeting?: Meeting;\n      /**\n       * Live session unique ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Live session name */\n      name?: string | null;\n      /** Session start timestamp. */\n      startDate?: Date | null;\n      /** Duration in minutes */\n      duration?: number | null;\n      /**\n       * Session time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`.\n       * @deprecated\n       */\n      timeZoneId?: string | null;\n      /** @deprecated */\n      broadcastType?: BroadcastType;\n      /**\n       * @readonly\n       * @deprecated\n       */\n      broadcastState?: BroadcastState;\n      /**\n       * Session created timestamp.\n       * @readonly\n       * @deprecated\n       */\n      created?: Date | null;\n      /**\n       * Session modified timestamp.\n       * @readonly\n       * @deprecated\n       */\n      modified?: Date | null;\n      /**\n       * Session entity reference.\n       * @internal\n       */\n      entityReference?: EntityReference;\n      /**\n       * Session time log.\n       * @readonly\n       */\n      sessionTimeLog?: TimeLog;\n      /**\n       * Session created timestamp.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Session modified timestamp.\n       * @readonly\n       */\n      modifiedDate?: Date | null;\n      sessionType?: SessionType;\n      /** @readonly */\n      sessionState?: SessionState;\n      sessionFlags?: SessionFlag[];\n      /** @readonly */\n      messagingChannel?: MessagingChannel[];\n      /** Client provided Optional External Id related to live session, e.g., Event, BroadcastChannel Meeting */\n      externalId?: string | null;\n  }\n  /** @oneof */\n  interface LiveSessionBroadcastChannelOneOf {\n      /** @readonly */\n      meeting?: Meeting;\n  }\n  enum BroadcastType {\n      /** Every participant is a publisher of video and audio */\n      MEETING = \"MEETING\",\n      /** Only organizers are publishers of video and audio */\n      WEBINAR = \"WEBINAR\"\n  }\n  enum BroadcastState {\n      NOT_STARTED = \"NOT_STARTED\",\n      STARTED = \"STARTED\",\n      ENDED = \"ENDED\"\n  }\n  interface Meeting {\n      /**\n       * External meeting ID\n       * @internal\n       * @readonly\n       */\n      externalId?: string | null;\n      /**\n       * Meeting started\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * AWS Chime media region\n       * @readonly\n       */\n      region?: string | null;\n  }\n  interface EntityReference {\n      /**\n       * App def ID.\n       * @deprecated\n       */\n      appDefId?: string;\n      /** App instance ID. */\n      instanceId?: string;\n      /** Entity type. */\n      entityType?: string;\n      /** Entity ID. Related to entity type. */\n      entityId?: string;\n      /** Wix App ID. */\n      wixAppId?: string | null;\n  }\n  interface TimeLog {\n      /**\n       * Time log start timestamp.\n       * @readonly\n       */\n      startDate?: Date | null;\n      /**\n       * Time log end timestamp.\n       * @readonly\n       */\n      endDate?: Date | null;\n      /**\n       * Time log seconds duration.\n       * @readonly\n       * @deprecated\n       */\n      duration?: number | null;\n      /**\n       * Time log seconds duration.\n       * @readonly\n       */\n      durationInSeconds?: number | null;\n  }\n  enum SessionType {\n      /** Every participant is a publisher of video and audio */\n      MEETING = \"MEETING\",\n      /** Only organizers are publishers of video and audio */\n      WEBINAR = \"WEBINAR\"\n  }\n  enum SessionState {\n      NOT_STARTED = \"NOT_STARTED\",\n      STARTED = \"STARTED\",\n      ENDED = \"ENDED\"\n  }\n  enum SessionFlag {\n      /** Can be used for filtering out hidden sessions in the UI */\n      HIDDEN = \"HIDDEN\",\n      /** Session is created for testing. Participant count and session duration restrictions apply. */\n      TEST = \"TEST\"\n  }\n  interface MessagingChannel {\n      /** @readonly */\n      channelName?: string | null;\n      /** @readonly */\n      resourceId?: string | null;\n  }\n  interface DescribeEntranceRequest {\n      /** The ID of the session. */\n      sessionId: string;\n      /** Token from entrance_link */\n      token: string | null;\n  }\n  interface DescribeEntranceResponse {\n      session?: LiveSession;\n      /** Participant details */\n      participant?: Participant;\n      /** Currently joined participant count */\n      joinedParticipantCount?: number | null;\n  }\n  interface Participant {\n      /** The ID of the session. */\n      sessionId?: string;\n      participantId?: string;\n      /** Participant name */\n      name?: string | null;\n      /**\n       * External id of entrance\n       * @readonly\n       */\n      externalEntranceId?: string | null;\n      /** Participant state */\n      state?: ParticipantState[];\n      /** @readonly */\n      clientId?: string | null;\n      /** @readonly */\n      wixUserId?: string | null;\n      /** @readonly */\n      memberId?: string | null;\n      /** @readonly */\n      visitorId?: string | null;\n  }\n  enum ParticipantState {\n      /** Participant is a session manager */\n      MANAGER = \"MANAGER\",\n      /** Participant is banned */\n      BANNED = \"BANNED\",\n      /** Participant is hidden */\n      HIDDEN = \"HIDDEN\",\n      /** Participant is video recording bot */\n      VIDEO_RECORDER = \"VIDEO_RECORDER\",\n      /** Participant is video streaming bot */\n      VIDEO_STREAMER = \"VIDEO_STREAMER\"\n  }\n  interface AddParticipantRequest {\n      /** The ID of the session. */\n      sessionId: string;\n      /** Token from entrance_link */\n      token?: string | null;\n      /** Update participant name */\n      name?: string | null;\n  }\n  interface AddParticipantResponse extends AddParticipantResponseClientPropertiesOneOf {\n      props?: PropsV1;\n      propsV2?: PropsV2;\n      session?: LiveSession;\n      /** Participant details */\n      participant?: Participant;\n      /** Token for participant api authorization */\n      authorization?: string;\n  }\n  /** @oneof */\n  interface AddParticipantResponseClientPropertiesOneOf {\n      props?: PropsV1;\n      propsV2?: PropsV2;\n  }\n  interface PropsV1 {\n      key?: number;\n      sid?: string;\n      token?: string;\n  }\n  interface PropsV2 {\n      meeting?: Record<string, any> | null;\n      attendee?: Record<string, any> | null;\n  }\n  interface ListParticipantsRequest {\n      /** Token for participant api authorization */\n      authorization?: string;\n      /** Optional participant id  filter */\n      participantId?: string[];\n  }\n  interface ListParticipantsResponse {\n      /** Participants */\n      participants?: Participant[];\n  }\n  interface FallbackJoinRequest {\n      /** The ID of the session. */\n      sessionId: string;\n      /** Meta site id. */\n      m: string;\n      /** Token. */\n      t: string;\n      /** Request language. */\n      lang?: string | null;\n  }\n  interface RawHttpResponse {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry[];\n  }\n  interface HeadersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface DescribeLiveSessionsRequest {\n  }\n  interface DescribeLiveSessionsResponse {\n      /** Limit of sessions to be created and started */\n      sessionLimit?: number | null;\n  }\n  interface GetLiveSessionRequest {\n      _id: string;\n  }\n  interface GetLiveSessionResponse {\n      session?: LiveSession;\n  }\n  interface CreateLiveSessionRequest {\n      session: LiveSession;\n  }\n  interface CreateLiveSessionResponse {\n      session?: LiveSession;\n  }\n  interface UpdateLiveSessionRequest {\n      session: LiveSession;\n      /** @internal */\n      fieldMask?: string[];\n  }\n  interface UpdateLiveSessionResponse {\n      session?: LiveSession;\n  }\n  interface DeleteLiveSessionRequest {\n      _id: string;\n  }\n  interface DeleteLiveSessionResponse {\n  }\n  interface QueryLiveSessionsRequest {\n      /**\n       * Query for listing LiveSessions, with the following indexes: \"LiveSession.id\", \"LiveSession.tag\", \"LiveSession.status\".\n       * The query is optional, if no query is provided then the non-deleted LiveSessions will be returned.\n       */\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryLiveSessionsResponse {\n      entries?: LiveSession[];\n      offset?: number;\n      totalCount?: number;\n      metaData?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface StartLiveSessionRequest {\n      /** The ID of the session. */\n      sessionId: string;\n      /**\n       * AWS Chime media region\n       * https://docs.aws.amazon.com/chime/latest/dg/chime-sdk-meetings-regions.html\n       * default: \"us-east-1\"\n       */\n      region?: string | null;\n  }\n  interface StartLiveSessionResponse {\n      session?: LiveSession;\n  }\n  interface EndLiveSessionRequest {\n      /** The ID of the session. */\n      sessionId: string;\n  }\n  interface EndLiveSessionResponse {\n      session?: LiveSession;\n  }\n  interface CreateEntranceLinkRequest {\n      /** Session to create an entrance link for */\n      sessionId: string;\n      /** Single participant use at the time */\n      limited?: boolean;\n      /** Optional participant name (can be changed later) */\n      name?: string | null;\n  }\n  interface CreateEntranceLinkResponse {\n      /** Link to dashboard */\n      managementLink?: string;\n      /** Format: https://mysite.com/live-video/{session_id}?t={token} */\n      entranceLink?: string;\n      /** Resolved entrance token */\n      entranceToken?: string;\n      /** Predefined for limited link */\n      participant?: Participant;\n  }\n  interface CreateEntranceRequest {\n      /** Session to create an entrance link for */\n      sessionId: string;\n      entrances?: Entrance[];\n  }\n  interface Entrance extends EntranceEntranceTypeOneOf {\n      universal?: UniversalEntrance;\n      personal?: PersonalEntrance;\n      videoRecorder?: VideoRecorderEntrance;\n      videoStreamer?: VideoStreamerEntrance;\n  }\n  /** @oneof */\n  interface EntranceEntranceTypeOneOf {\n      universal?: UniversalEntrance;\n      personal?: PersonalEntrance;\n      videoRecorder?: VideoRecorderEntrance;\n      videoStreamer?: VideoStreamerEntrance;\n  }\n  interface UniversalEntrance {\n      /**\n       * Entrance link\n       * @readonly\n       */\n      link?: EntranceLink;\n  }\n  interface EntranceLink {\n      /**\n       * Format: https://mysite.com/live-video/{session_id}?t={token}\n       * @readonly\n       */\n      url?: string | null;\n      /**\n       * Entrance token\n       * @readonly\n       */\n      token?: string | null;\n      /**\n       * Format: https://www.wix.com/_api/livevideo-server/v1/join/{session_id}?m={metasiteID}&t={token}\n       * @readonly\n       */\n      fallbackUrl?: string | null;\n  }\n  interface PersonalEntrance {\n      /** Unique per site external person id guarantees idempotent link generation */\n      externalId?: string;\n      /** Optional participant name (can be changed later) */\n      name?: string | null;\n      /**\n       * Entrance link\n       * @readonly\n       */\n      link?: EntranceLink;\n      /**\n       * Predefined participant\n       * @readonly\n       */\n      participant?: Participant;\n  }\n  interface VideoRecorderEntrance {\n      /**\n       * Entrance link\n       * @readonly\n       */\n      link?: EntranceLink;\n      /**\n       * Predefined participant\n       * @readonly\n       */\n      participant?: Participant;\n  }\n  interface VideoStreamerEntrance {\n      /**\n       * Entrance link\n       * @readonly\n       */\n      link?: EntranceLink;\n      /**\n       * Predefined participant\n       * @readonly\n       */\n      participant?: Participant;\n  }\n  interface CreateEntranceResponse {\n      /** Created entrances */\n      entrances?: Entrance[];\n  }\n  interface UpdateParticipantRequest {\n      participant?: Participant;\n      /** @internal */\n      fieldMask?: string[];\n  }\n  interface UpdateParticipantResponse {\n      /** Updated participant */\n      participant?: Participant;\n  }\n  interface RemoveParticipantRequest {\n      /** The ID of the session. */\n      sessionId?: string;\n      /** The ID of the participant. */\n      participantId?: string;\n  }\n  interface RemoveParticipantResponse {\n      participant?: Participant;\n  }\n  interface QueryParticipantsRequest {\n      /** Query for listing participants. session_id EQ filter is mandatory. */\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryParticipantsResponse {\n      /** Participants */\n      participants?: Participant[];\n      metaData?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  /** @param sessionId - The ID of the session.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.token\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.JOIN_SESSIONS\n   */\n  function describeEntrance(sessionId: string, options: DescribeEntranceOptions): Promise<DescribeEntranceResponse>;\n  interface DescribeEntranceOptions {\n      /** Token from entrance_link */\n      token: string | null;\n  }\n  /** @param sessionId - The ID of the session.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.JOIN_SESSIONS\n   */\n  function addParticipant(sessionId: string, options?: AddParticipantOptions): Promise<AddParticipantResponse>;\n  interface AddParticipantOptions {\n      /** Token from entrance_link */\n      token?: string | null;\n      /** Update participant name */\n      name?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId LIVE_VIDEO.JOIN_SESSIONS\n   */\n  function listParticipants(options?: ListParticipantsOptions): Promise<ListParticipantsResponse>;\n  interface ListParticipantsOptions {\n      /** Token for participant api authorization */\n      authorization?: string;\n      /** Optional participant id  filter */\n      participantId?: string[];\n  }\n  /** @param sessionId - The ID of the session.\n   * @param m - Meta site id.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField m\n   * @requiredField options.t\n   * @requiredField sessionId\n   * @adminMethod\n   */\n  function fallbackJoin(sessionId: string, m: string, options?: FallbackJoinOptions): Promise<RawHttpResponse>;\n  interface FallbackJoinOptions {\n      /** Token. */\n      t: string;\n      /** Request language. */\n      lang?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   */\n  function describeLiveSessions(): Promise<DescribeLiveSessionsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId LIVE_VIDEO.READ_SESSIONS\n   */\n  function getLiveSession(_id: string): Promise<LiveSession>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField session\n   * @requiredField session.duration\n   * @requiredField session.name\n   * @requiredField session.startDate\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   */\n  function createLiveSession(session: LiveSession): Promise<LiveSession>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField session\n   * @requiredField session._id\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   */\n  function updateLiveSession(session: LiveSession, options?: UpdateLiveSessionOptions): Promise<LiveSession>;\n  interface UpdateLiveSessionOptions {\n      /** @internal */\n      fieldMask?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   */\n  function deleteLiveSession(_id: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId LIVE_VIDEO.READ_SESSIONS\n   */\n  function queryLiveSessions(): EntriesQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface EntriesQueryResult extends QueryCursorResult {\n      items: LiveSession[];\n      query: EntriesQueryBuilder;\n      next: () => Promise<EntriesQueryResult>;\n      prev: () => Promise<EntriesQueryResult>;\n  }\n  interface EntriesQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => EntriesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => EntriesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<EntriesQueryResult>;\n  }\n  /** @param sessionId - The ID of the session.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   */\n  function startLiveSession(sessionId: string, options?: StartLiveSessionOptions): Promise<StartLiveSessionResponse>;\n  interface StartLiveSessionOptions {\n      /**\n       * AWS Chime media region\n       * https://docs.aws.amazon.com/chime/latest/dg/chime-sdk-meetings-regions.html\n       * default: \"us-east-1\"\n       */\n      region?: string | null;\n  }\n  /** @param sessionId - The ID of the session.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   */\n  function endLiveSession(sessionId: string): Promise<EndLiveSessionResponse>;\n  /** @param sessionId - Session to create an entrance link for\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   */\n  function createEntranceLink(sessionId: string, options?: CreateEntranceLinkOptions): Promise<CreateEntranceLinkResponse>;\n  interface CreateEntranceLinkOptions {\n      /** Single participant use at the time */\n      limited?: boolean;\n      /** Optional participant name (can be changed later) */\n      name?: string | null;\n  }\n  /** @param sessionId - Session to create an entrance link for\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.entrances.personal.externalId\n   * @requiredField sessionId\n   * @permissionId LIVE_VIDEO.MANAGE_SESSIONS\n   * @adminMethod\n   */\n  function createEntrance(sessionId: string, options?: CreateEntranceOptions): Promise<CreateEntranceResponse>;\n  interface CreateEntranceOptions {\n      entrances?: Entrance[];\n  }\n  \n  type livevideoV1Session_universal_d_LiveSession = LiveSession;\n  type livevideoV1Session_universal_d_LiveSessionBroadcastChannelOneOf = LiveSessionBroadcastChannelOneOf;\n  type livevideoV1Session_universal_d_BroadcastType = BroadcastType;\n  const livevideoV1Session_universal_d_BroadcastType: typeof BroadcastType;\n  type livevideoV1Session_universal_d_BroadcastState = BroadcastState;\n  const livevideoV1Session_universal_d_BroadcastState: typeof BroadcastState;\n  type livevideoV1Session_universal_d_Meeting = Meeting;\n  type livevideoV1Session_universal_d_EntityReference = EntityReference;\n  type livevideoV1Session_universal_d_TimeLog = TimeLog;\n  type livevideoV1Session_universal_d_SessionType = SessionType;\n  const livevideoV1Session_universal_d_SessionType: typeof SessionType;\n  type livevideoV1Session_universal_d_SessionState = SessionState;\n  const livevideoV1Session_universal_d_SessionState: typeof SessionState;\n  type livevideoV1Session_universal_d_SessionFlag = SessionFlag;\n  const livevideoV1Session_universal_d_SessionFlag: typeof SessionFlag;\n  type livevideoV1Session_universal_d_MessagingChannel = MessagingChannel;\n  type livevideoV1Session_universal_d_DescribeEntranceRequest = DescribeEntranceRequest;\n  type livevideoV1Session_universal_d_DescribeEntranceResponse = DescribeEntranceResponse;\n  type livevideoV1Session_universal_d_Participant = Participant;\n  type livevideoV1Session_universal_d_ParticipantState = ParticipantState;\n  const livevideoV1Session_universal_d_ParticipantState: typeof ParticipantState;\n  type livevideoV1Session_universal_d_AddParticipantRequest = AddParticipantRequest;\n  type livevideoV1Session_universal_d_AddParticipantResponse = AddParticipantResponse;\n  type livevideoV1Session_universal_d_AddParticipantResponseClientPropertiesOneOf = AddParticipantResponseClientPropertiesOneOf;\n  type livevideoV1Session_universal_d_PropsV1 = PropsV1;\n  type livevideoV1Session_universal_d_PropsV2 = PropsV2;\n  type livevideoV1Session_universal_d_ListParticipantsRequest = ListParticipantsRequest;\n  type livevideoV1Session_universal_d_ListParticipantsResponse = ListParticipantsResponse;\n  type livevideoV1Session_universal_d_FallbackJoinRequest = FallbackJoinRequest;\n  type livevideoV1Session_universal_d_RawHttpResponse = RawHttpResponse;\n  type livevideoV1Session_universal_d_HeadersEntry = HeadersEntry;\n  type livevideoV1Session_universal_d_DescribeLiveSessionsRequest = DescribeLiveSessionsRequest;\n  type livevideoV1Session_universal_d_DescribeLiveSessionsResponse = DescribeLiveSessionsResponse;\n  type livevideoV1Session_universal_d_GetLiveSessionRequest = GetLiveSessionRequest;\n  type livevideoV1Session_universal_d_GetLiveSessionResponse = GetLiveSessionResponse;\n  type livevideoV1Session_universal_d_CreateLiveSessionRequest = CreateLiveSessionRequest;\n  type livevideoV1Session_universal_d_CreateLiveSessionResponse = CreateLiveSessionResponse;\n  type livevideoV1Session_universal_d_UpdateLiveSessionRequest = UpdateLiveSessionRequest;\n  type livevideoV1Session_universal_d_UpdateLiveSessionResponse = UpdateLiveSessionResponse;\n  type livevideoV1Session_universal_d_DeleteLiveSessionRequest = DeleteLiveSessionRequest;\n  type livevideoV1Session_universal_d_DeleteLiveSessionResponse = DeleteLiveSessionResponse;\n  type livevideoV1Session_universal_d_QueryLiveSessionsRequest = QueryLiveSessionsRequest;\n  type livevideoV1Session_universal_d_Query = Query;\n  type livevideoV1Session_universal_d_Sorting = Sorting;\n  type livevideoV1Session_universal_d_SortOrder = SortOrder;\n  const livevideoV1Session_universal_d_SortOrder: typeof SortOrder;\n  type livevideoV1Session_universal_d_Paging = Paging;\n  type livevideoV1Session_universal_d_QueryLiveSessionsResponse = QueryLiveSessionsResponse;\n  type livevideoV1Session_universal_d_PagingMetadata = PagingMetadata;\n  type livevideoV1Session_universal_d_StartLiveSessionRequest = StartLiveSessionRequest;\n  type livevideoV1Session_universal_d_StartLiveSessionResponse = StartLiveSessionResponse;\n  type livevideoV1Session_universal_d_EndLiveSessionRequest = EndLiveSessionRequest;\n  type livevideoV1Session_universal_d_EndLiveSessionResponse = EndLiveSessionResponse;\n  type livevideoV1Session_universal_d_CreateEntranceLinkRequest = CreateEntranceLinkRequest;\n  type livevideoV1Session_universal_d_CreateEntranceLinkResponse = CreateEntranceLinkResponse;\n  type livevideoV1Session_universal_d_CreateEntranceRequest = CreateEntranceRequest;\n  type livevideoV1Session_universal_d_Entrance = Entrance;\n  type livevideoV1Session_universal_d_EntranceEntranceTypeOneOf = EntranceEntranceTypeOneOf;\n  type livevideoV1Session_universal_d_UniversalEntrance = UniversalEntrance;\n  type livevideoV1Session_universal_d_EntranceLink = EntranceLink;\n  type livevideoV1Session_universal_d_PersonalEntrance = PersonalEntrance;\n  type livevideoV1Session_universal_d_VideoRecorderEntrance = VideoRecorderEntrance;\n  type livevideoV1Session_universal_d_VideoStreamerEntrance = VideoStreamerEntrance;\n  type livevideoV1Session_universal_d_CreateEntranceResponse = CreateEntranceResponse;\n  type livevideoV1Session_universal_d_UpdateParticipantRequest = UpdateParticipantRequest;\n  type livevideoV1Session_universal_d_UpdateParticipantResponse = UpdateParticipantResponse;\n  type livevideoV1Session_universal_d_RemoveParticipantRequest = RemoveParticipantRequest;\n  type livevideoV1Session_universal_d_RemoveParticipantResponse = RemoveParticipantResponse;\n  type livevideoV1Session_universal_d_QueryParticipantsRequest = QueryParticipantsRequest;\n  type livevideoV1Session_universal_d_QueryV2 = QueryV2;\n  type livevideoV1Session_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type livevideoV1Session_universal_d_CursorPaging = CursorPaging;\n  type livevideoV1Session_universal_d_QueryParticipantsResponse = QueryParticipantsResponse;\n  type livevideoV1Session_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type livevideoV1Session_universal_d_Cursors = Cursors;\n  const livevideoV1Session_universal_d_describeEntrance: typeof describeEntrance;\n  type livevideoV1Session_universal_d_DescribeEntranceOptions = DescribeEntranceOptions;\n  const livevideoV1Session_universal_d_addParticipant: typeof addParticipant;\n  type livevideoV1Session_universal_d_AddParticipantOptions = AddParticipantOptions;\n  const livevideoV1Session_universal_d_listParticipants: typeof listParticipants;\n  type livevideoV1Session_universal_d_ListParticipantsOptions = ListParticipantsOptions;\n  const livevideoV1Session_universal_d_fallbackJoin: typeof fallbackJoin;\n  type livevideoV1Session_universal_d_FallbackJoinOptions = FallbackJoinOptions;\n  const livevideoV1Session_universal_d_describeLiveSessions: typeof describeLiveSessions;\n  const livevideoV1Session_universal_d_getLiveSession: typeof getLiveSession;\n  const livevideoV1Session_universal_d_createLiveSession: typeof createLiveSession;\n  const livevideoV1Session_universal_d_updateLiveSession: typeof updateLiveSession;\n  type livevideoV1Session_universal_d_UpdateLiveSessionOptions = UpdateLiveSessionOptions;\n  const livevideoV1Session_universal_d_deleteLiveSession: typeof deleteLiveSession;\n  const livevideoV1Session_universal_d_queryLiveSessions: typeof queryLiveSessions;\n  type livevideoV1Session_universal_d_EntriesQueryResult = EntriesQueryResult;\n  type livevideoV1Session_universal_d_EntriesQueryBuilder = EntriesQueryBuilder;\n  const livevideoV1Session_universal_d_startLiveSession: typeof startLiveSession;\n  type livevideoV1Session_universal_d_StartLiveSessionOptions = StartLiveSessionOptions;\n  const livevideoV1Session_universal_d_endLiveSession: typeof endLiveSession;\n  const livevideoV1Session_universal_d_createEntranceLink: typeof createEntranceLink;\n  type livevideoV1Session_universal_d_CreateEntranceLinkOptions = CreateEntranceLinkOptions;\n  const livevideoV1Session_universal_d_createEntrance: typeof createEntrance;\n  type livevideoV1Session_universal_d_CreateEntranceOptions = CreateEntranceOptions;\n  namespace livevideoV1Session_universal_d {\n    export {\n      livevideoV1Session_universal_d_LiveSession as LiveSession,\n      livevideoV1Session_universal_d_LiveSessionBroadcastChannelOneOf as LiveSessionBroadcastChannelOneOf,\n      livevideoV1Session_universal_d_BroadcastType as BroadcastType,\n      livevideoV1Session_universal_d_BroadcastState as BroadcastState,\n      livevideoV1Session_universal_d_Meeting as Meeting,\n      livevideoV1Session_universal_d_EntityReference as EntityReference,\n      livevideoV1Session_universal_d_TimeLog as TimeLog,\n      livevideoV1Session_universal_d_SessionType as SessionType,\n      livevideoV1Session_universal_d_SessionState as SessionState,\n      livevideoV1Session_universal_d_SessionFlag as SessionFlag,\n      livevideoV1Session_universal_d_MessagingChannel as MessagingChannel,\n      livevideoV1Session_universal_d_DescribeEntranceRequest as DescribeEntranceRequest,\n      livevideoV1Session_universal_d_DescribeEntranceResponse as DescribeEntranceResponse,\n      livevideoV1Session_universal_d_Participant as Participant,\n      livevideoV1Session_universal_d_ParticipantState as ParticipantState,\n      livevideoV1Session_universal_d_AddParticipantRequest as AddParticipantRequest,\n      livevideoV1Session_universal_d_AddParticipantResponse as AddParticipantResponse,\n      livevideoV1Session_universal_d_AddParticipantResponseClientPropertiesOneOf as AddParticipantResponseClientPropertiesOneOf,\n      livevideoV1Session_universal_d_PropsV1 as PropsV1,\n      livevideoV1Session_universal_d_PropsV2 as PropsV2,\n      livevideoV1Session_universal_d_ListParticipantsRequest as ListParticipantsRequest,\n      livevideoV1Session_universal_d_ListParticipantsResponse as ListParticipantsResponse,\n      livevideoV1Session_universal_d_FallbackJoinRequest as FallbackJoinRequest,\n      livevideoV1Session_universal_d_RawHttpResponse as RawHttpResponse,\n      livevideoV1Session_universal_d_HeadersEntry as HeadersEntry,\n      livevideoV1Session_universal_d_DescribeLiveSessionsRequest as DescribeLiveSessionsRequest,\n      livevideoV1Session_universal_d_DescribeLiveSessionsResponse as DescribeLiveSessionsResponse,\n      livevideoV1Session_universal_d_GetLiveSessionRequest as GetLiveSessionRequest,\n      livevideoV1Session_universal_d_GetLiveSessionResponse as GetLiveSessionResponse,\n      livevideoV1Session_universal_d_CreateLiveSessionRequest as CreateLiveSessionRequest,\n      livevideoV1Session_universal_d_CreateLiveSessionResponse as CreateLiveSessionResponse,\n      livevideoV1Session_universal_d_UpdateLiveSessionRequest as UpdateLiveSessionRequest,\n      livevideoV1Session_universal_d_UpdateLiveSessionResponse as UpdateLiveSessionResponse,\n      livevideoV1Session_universal_d_DeleteLiveSessionRequest as DeleteLiveSessionRequest,\n      livevideoV1Session_universal_d_DeleteLiveSessionResponse as DeleteLiveSessionResponse,\n      livevideoV1Session_universal_d_QueryLiveSessionsRequest as QueryLiveSessionsRequest,\n      livevideoV1Session_universal_d_Query as Query,\n      livevideoV1Session_universal_d_Sorting as Sorting,\n      livevideoV1Session_universal_d_SortOrder as SortOrder,\n      livevideoV1Session_universal_d_Paging as Paging,\n      livevideoV1Session_universal_d_QueryLiveSessionsResponse as QueryLiveSessionsResponse,\n      livevideoV1Session_universal_d_PagingMetadata as PagingMetadata,\n      livevideoV1Session_universal_d_StartLiveSessionRequest as StartLiveSessionRequest,\n      livevideoV1Session_universal_d_StartLiveSessionResponse as StartLiveSessionResponse,\n      livevideoV1Session_universal_d_EndLiveSessionRequest as EndLiveSessionRequest,\n      livevideoV1Session_universal_d_EndLiveSessionResponse as EndLiveSessionResponse,\n      livevideoV1Session_universal_d_CreateEntranceLinkRequest as CreateEntranceLinkRequest,\n      livevideoV1Session_universal_d_CreateEntranceLinkResponse as CreateEntranceLinkResponse,\n      livevideoV1Session_universal_d_CreateEntranceRequest as CreateEntranceRequest,\n      livevideoV1Session_universal_d_Entrance as Entrance,\n      livevideoV1Session_universal_d_EntranceEntranceTypeOneOf as EntranceEntranceTypeOneOf,\n      livevideoV1Session_universal_d_UniversalEntrance as UniversalEntrance,\n      livevideoV1Session_universal_d_EntranceLink as EntranceLink,\n      livevideoV1Session_universal_d_PersonalEntrance as PersonalEntrance,\n      livevideoV1Session_universal_d_VideoRecorderEntrance as VideoRecorderEntrance,\n      livevideoV1Session_universal_d_VideoStreamerEntrance as VideoStreamerEntrance,\n      livevideoV1Session_universal_d_CreateEntranceResponse as CreateEntranceResponse,\n      livevideoV1Session_universal_d_UpdateParticipantRequest as UpdateParticipantRequest,\n      livevideoV1Session_universal_d_UpdateParticipantResponse as UpdateParticipantResponse,\n      livevideoV1Session_universal_d_RemoveParticipantRequest as RemoveParticipantRequest,\n      livevideoV1Session_universal_d_RemoveParticipantResponse as RemoveParticipantResponse,\n      livevideoV1Session_universal_d_QueryParticipantsRequest as QueryParticipantsRequest,\n      livevideoV1Session_universal_d_QueryV2 as QueryV2,\n      livevideoV1Session_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      livevideoV1Session_universal_d_CursorPaging as CursorPaging,\n      livevideoV1Session_universal_d_QueryParticipantsResponse as QueryParticipantsResponse,\n      livevideoV1Session_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      livevideoV1Session_universal_d_Cursors as Cursors,\n      livevideoV1Session_universal_d_describeEntrance as describeEntrance,\n      livevideoV1Session_universal_d_DescribeEntranceOptions as DescribeEntranceOptions,\n      livevideoV1Session_universal_d_addParticipant as addParticipant,\n      livevideoV1Session_universal_d_AddParticipantOptions as AddParticipantOptions,\n      livevideoV1Session_universal_d_listParticipants as listParticipants,\n      livevideoV1Session_universal_d_ListParticipantsOptions as ListParticipantsOptions,\n      livevideoV1Session_universal_d_fallbackJoin as fallbackJoin,\n      livevideoV1Session_universal_d_FallbackJoinOptions as FallbackJoinOptions,\n      livevideoV1Session_universal_d_describeLiveSessions as describeLiveSessions,\n      livevideoV1Session_universal_d_getLiveSession as getLiveSession,\n      livevideoV1Session_universal_d_createLiveSession as createLiveSession,\n      livevideoV1Session_universal_d_updateLiveSession as updateLiveSession,\n      livevideoV1Session_universal_d_UpdateLiveSessionOptions as UpdateLiveSessionOptions,\n      livevideoV1Session_universal_d_deleteLiveSession as deleteLiveSession,\n      livevideoV1Session_universal_d_queryLiveSessions as queryLiveSessions,\n      livevideoV1Session_universal_d_EntriesQueryResult as EntriesQueryResult,\n      livevideoV1Session_universal_d_EntriesQueryBuilder as EntriesQueryBuilder,\n      livevideoV1Session_universal_d_startLiveSession as startLiveSession,\n      livevideoV1Session_universal_d_StartLiveSessionOptions as StartLiveSessionOptions,\n      livevideoV1Session_universal_d_endLiveSession as endLiveSession,\n      livevideoV1Session_universal_d_createEntranceLink as createEntranceLink,\n      livevideoV1Session_universal_d_CreateEntranceLinkOptions as CreateEntranceLinkOptions,\n      livevideoV1Session_universal_d_createEntrance as createEntrance,\n      livevideoV1Session_universal_d_CreateEntranceOptions as CreateEntranceOptions,\n    };\n  }\n  \n  export { livevideoV1Chat_universal_d as chat, livevideoV1Participant_universal_d as participant, livevideoV1Reaction_universal_d as reaction, livevideoV1Session_universal_d as session };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-iot-backend.d.ts",
      "content": "declare module \"wix-iot-backend\" {\n  interface State {\n      /** @readonly */\n      _id?: string;\n      /** @readonly */\n      entityId?: string;\n      state?: string;\n      /** @readonly */\n      lastChanged?: Date;\n      /** @readonly */\n      attributes?: Record<string, any> | null;\n  }\n  interface ListResponse {\n      states?: State[];\n  }\n  interface GetResponse {\n      state?: State;\n  }\n  interface UpdateResponse {\n      state?: State;\n  }\n  interface UpdateOptions {\n      state: {\n          /** @readonly */\n          _id?: string;\n          state?: string;\n          /** @readonly */\n          lastChanged?: Date;\n          /** @readonly */\n          attributes?: Record<string, any> | null;\n      };\n  }\n  \n  function list(): Promise<ListResponse>;\n  function get(entityId: string): Promise<GetResponse>;\n  function update(entityId: string, options?: UpdateOptions): Promise<UpdateResponse>;\n  \n  const iotV1State_backend_d_list: typeof list;\n  const iotV1State_backend_d_get: typeof get;\n  const iotV1State_backend_d_update: typeof update;\n  namespace iotV1State_backend_d {\n    export {\n      iotV1State_backend_d_list as list,\n      iotV1State_backend_d_get as get,\n      iotV1State_backend_d_update as update,\n    };\n  }\n  \n  export { iotV1State_backend_d as state };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-atlas-backend.d.ts",
      "content": "declare module \"wix-atlas-backend\" {\n  interface Place {\n      /** The given place id */\n      placeId?: string;\n      /** The Address object */\n      address?: Address$1;\n      /** The Place type. For example: airport, library etc... */\n      types?: string[];\n  }\n  /** Physical address */\n  interface Address$1 extends AddressStreetOneOf$1 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$2;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$1 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$1 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$2 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$1 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$1;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$1 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface GetPlaceRequest {\n      searchId: string;\n      /** A random string which identifies an autocomplete session for billing purposes. The session begins when the user starts typing a query, and concludes when they select a place and a call to Get Place is made. Once a session has concluded, the token is no longer valid. your app must generate a fresh token for each session. */\n      sessionToken?: string | null;\n  }\n  interface GetPlaceResponse {\n      place?: Place;\n  }\n  /**\n   * Once you have a search_id from a autocomplete Search, you can request more details about a particular establishment or point of interest by initiating a get place request.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField searchId\n   * @permissionId WIX_ATLAS.GET_PLACE\n   */\n  function getPlace(searchId: string, options?: GetPlaceOptions): Promise<GetPlaceResponse>;\n  interface GetPlaceOptions {\n      /** A random string which identifies an autocomplete session for billing purposes. The session begins when the user starts typing a query, and concludes when they select a place and a call to Get Place is made. Once a session has concluded, the token is no longer valid. your app must generate a fresh token for each session. */\n      sessionToken?: string | null;\n  }\n  \n  type atlasV2Place_universal_d_Place = Place;\n  type atlasV2Place_universal_d_GetPlaceRequest = GetPlaceRequest;\n  type atlasV2Place_universal_d_GetPlaceResponse = GetPlaceResponse;\n  const atlasV2Place_universal_d_getPlace: typeof getPlace;\n  type atlasV2Place_universal_d_GetPlaceOptions = GetPlaceOptions;\n  namespace atlasV2Place_universal_d {\n    export {\n      atlasV2Place_universal_d_Place as Place,\n      Address$1 as Address,\n      AddressStreetOneOf$1 as AddressStreetOneOf,\n      StreetAddress$1 as StreetAddress,\n      AddressLocation$2 as AddressLocation,\n      Subdivision$1 as Subdivision,\n      SubdivisionType$1 as SubdivisionType,\n      atlasV2Place_universal_d_GetPlaceRequest as GetPlaceRequest,\n      atlasV2Place_universal_d_GetPlaceResponse as GetPlaceResponse,\n      atlasV2Place_universal_d_getPlace as getPlace,\n      atlasV2Place_universal_d_GetPlaceOptions as GetPlaceOptions,\n    };\n  }\n  \n  interface Prediction {\n      /** The human-readable name of the prediction */\n      description?: string;\n      /** The id of the prediction that can be use in place api. Available for short time. */\n      searchId?: string;\n      /** Contains an array with offset value and length. These describe the location of the entered term in the prediction result text, so that the term can be highlighted if desired */\n      matchedSubstrings?: MatchedSubstrings[];\n      /** Provides pre-formatted text that can be shown in your autocomplete results */\n      textStructure?: TextStructure;\n      /** Contains an integer indicating the straight-line distance between the predicted place, and the specified origin point, in meters. */\n      distanceInMeters?: number | null;\n  }\n  interface MatchedSubstrings {\n      length?: number;\n      offset?: number;\n  }\n  interface TextStructure {\n      /** Contains the main text of a prediction, usually the name of the place */\n      mainText?: string;\n      /** Contains the secondary text of a prediction, usually the location of the place */\n      secondaryText?: string;\n      /** Contains an array with offset value and length. These describe the location of the entered term in the prediction result text, so that the term can be highlighted if desired */\n      mainTextMatchedSubstrings?: MatchedSubstrings[];\n  }\n  interface ListPredictionsRequest {\n      /** The text the predictions will be based on. */\n      input: string;\n      /** The origin point from which to calculate straight-line distance to the destination */\n      origin?: AddressLocation$1;\n      /** The point around which you wish to retrieve place information */\n      location?: AddressLocation$1;\n      /** The acceptable distance from that location (in meters) */\n      radius?: string | null;\n      /** Filters the user can add in order to get more accurate results */\n      filterBy?: FilterBy$1[];\n  }\n  interface AddressLocation$1 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface FilterBy$1 {\n      /** One of the filter types enum */\n      filterType?: FilterType$1;\n      /** Free text like \"us\" */\n      filterValue?: string;\n  }\n  enum FilterType$1 {\n      /** Filter by zip code */\n      zip_code = \"zip_code\",\n      /** Filter by 2-letters or 3-letters country code */\n      country_code = \"country_code\"\n  }\n  interface ListPredictionsResponse {\n      predictions?: Prediction[];\n  }\n  interface PredictRequest {\n      /** The text the predictions will be based on. */\n      input: string;\n      /** The origin point from which to calculate straight-line distance to the destination */\n      origin?: AddressLocation$1;\n      /** The point around which you wish to retrieve place information */\n      location?: AddressLocation$1;\n      /** The acceptable distance from that location (in meters) */\n      radius?: string | null;\n      /** alpha-2 or alpha-3 ISO-3166 country codes to filter by */\n      countryCodes?: string[];\n      /** A random string which identifies an autocomplete session for billing purposes. The session begins when the user starts typing a query, and concludes when they select a place and a call to Get Place is made. Once a session has concluded, the token is no longer valid. your app must generate a fresh token for each session. */\n      sessionToken?: string | null;\n  }\n  interface PredictResponse {\n      predictions?: Prediction[];\n  }\n  /**\n   * Deprecated!!!!  - Please use /Predict\n   * @param input - The text the predictions will be based on.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField input\n   * @permissionId WIX_ATLAS.LIST_PREDICTIONS\n   * @deprecated\n   */\n  function listPredictions(input: string, options?: ListPredictionsOptions): Promise<ListPredictionsResponse>;\n  interface ListPredictionsOptions {\n      /** The origin point from which to calculate straight-line distance to the destination */\n      origin?: AddressLocation$1;\n      /** The point around which you wish to retrieve place information */\n      location?: AddressLocation$1;\n      /** The acceptable distance from that location (in meters) */\n      radius?: string | null;\n      /** Filters the user can add in order to get more accurate results */\n      filterBy?: FilterBy$1[];\n  }\n  /**\n   * A Predict end-point take an input and returns an list of Prediction object.\n   * @param input - The text the predictions will be based on.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField input\n   * @permissionId WIX_ATLAS.LIST_PREDICTIONS\n   */\n  function predict(input: string, options?: PredictOptions): Promise<PredictResponse>;\n  interface PredictOptions {\n      /** The origin point from which to calculate straight-line distance to the destination */\n      origin?: AddressLocation$1;\n      /** The point around which you wish to retrieve place information */\n      location?: AddressLocation$1;\n      /** The acceptable distance from that location (in meters) */\n      radius?: string | null;\n      /** alpha-2 or alpha-3 ISO-3166 country codes to filter by */\n      countryCodes?: string[];\n      /** A random string which identifies an autocomplete session for billing purposes. The session begins when the user starts typing a query, and concludes when they select a place and a call to Get Place is made. Once a session has concluded, the token is no longer valid. your app must generate a fresh token for each session. */\n      sessionToken?: string | null;\n  }\n  \n  type atlasV2Prediction_universal_d_Prediction = Prediction;\n  type atlasV2Prediction_universal_d_MatchedSubstrings = MatchedSubstrings;\n  type atlasV2Prediction_universal_d_TextStructure = TextStructure;\n  type atlasV2Prediction_universal_d_ListPredictionsRequest = ListPredictionsRequest;\n  type atlasV2Prediction_universal_d_ListPredictionsResponse = ListPredictionsResponse;\n  type atlasV2Prediction_universal_d_PredictRequest = PredictRequest;\n  type atlasV2Prediction_universal_d_PredictResponse = PredictResponse;\n  const atlasV2Prediction_universal_d_listPredictions: typeof listPredictions;\n  type atlasV2Prediction_universal_d_ListPredictionsOptions = ListPredictionsOptions;\n  const atlasV2Prediction_universal_d_predict: typeof predict;\n  type atlasV2Prediction_universal_d_PredictOptions = PredictOptions;\n  namespace atlasV2Prediction_universal_d {\n    export {\n      atlasV2Prediction_universal_d_Prediction as Prediction,\n      atlasV2Prediction_universal_d_MatchedSubstrings as MatchedSubstrings,\n      atlasV2Prediction_universal_d_TextStructure as TextStructure,\n      atlasV2Prediction_universal_d_ListPredictionsRequest as ListPredictionsRequest,\n      AddressLocation$1 as AddressLocation,\n      FilterBy$1 as FilterBy,\n      FilterType$1 as FilterType,\n      atlasV2Prediction_universal_d_ListPredictionsResponse as ListPredictionsResponse,\n      atlasV2Prediction_universal_d_PredictRequest as PredictRequest,\n      atlasV2Prediction_universal_d_PredictResponse as PredictResponse,\n      atlasV2Prediction_universal_d_listPredictions as listPredictions,\n      atlasV2Prediction_universal_d_ListPredictionsOptions as ListPredictionsOptions,\n      atlasV2Prediction_universal_d_predict as predict,\n      atlasV2Prediction_universal_d_PredictOptions as PredictOptions,\n    };\n  }\n  \n  interface SearchResult {\n      /** The Address object */\n      address?: Address;\n      /** stores additional data about the proximity to the specified location */\n      proximity?: Proximity;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  enum Proximity {\n      UNKNOWN_PROXIMITY = \"UNKNOWN_PROXIMITY\",\n      /** indicates that the returned result is a precise geocode for which we have location information accurate down to street address precision */\n      PINPOINT = \"PINPOINT\",\n      /** indicates that the returned result is the geometric center of a result */\n      APPROXIMATE = \"APPROXIMATE\",\n      /** indicates that the returned result is around an area */\n      GENERAL_AREA = \"GENERAL_AREA\"\n  }\n  /** User must provide query or filter by parameters */\n  interface SearchRequest {\n      /** Free text */\n      query?: string | null;\n      /**\n       * Deprecate! - Please use 'zipCode' and 'countryCodes' fields\n       * @deprecated\n       */\n      filterBy?: FilterBy[];\n      /** Zip code filter the user can add in order to get more accurate results */\n      zipCode?: string | null;\n      /** Country codes filter the user can add in order to get more accurate results */\n      countryCodes?: string[];\n  }\n  interface FilterBy {\n      /** One of the filter types enum */\n      filterType?: FilterType;\n      /** Free text like \"us\" */\n      filterValue?: string;\n  }\n  enum FilterType {\n      /** Filter by zip code */\n      zip_code = \"zip_code\",\n      /** Filter by 2-letters or 3-letters country code */\n      country_code = \"country_code\"\n  }\n  interface SearchResponse {\n      /** List of 'Address' objects */\n      searchResults?: SearchResult[];\n  }\n  interface ReverseGeocodingRequest {\n      /** The latitude and longitude values specifying the location for which you wish to obtain the closest, human-readable address. */\n      addressLocation: AddressLocation;\n  }\n  interface ReverseGeocodingResponse {\n      searchResults?: SearchResult[];\n  }\n  /**\n   * A Search request takes a free text as an input and returns a list of 'Address' objects.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_ATLAS.SEARCH\n   */\n  function search(options?: SearchOptions): Promise<SearchResponse>;\n  interface SearchOptions {\n      /** Free text */\n      query?: string | null;\n      /**\n       * Deprecate! - Please use 'zipCode' and 'countryCodes' fields\n       * @deprecated\n       */\n      filterBy?: FilterBy[];\n      /** Zip code filter the user can add in order to get more accurate results */\n      zipCode?: string | null;\n      /** Country codes filter the user can add in order to get more accurate results */\n      countryCodes?: string[];\n  }\n  /**\n   * A Search request takes 'latitude' and 'longitude' values as an input and returns a list of 'Address' objects.\n   * @param addressLocation - The latitude and longitude values specifying the location for which you wish to obtain the closest, human-readable address.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField addressLocation\n   * @requiredField addressLocation.latitude\n   * @requiredField addressLocation.longitude\n   * @permissionId WIX_ATLAS.REVERSE_GEOCODING\n   */\n  function reverseGeocoding(addressLocation: AddressLocation): Promise<ReverseGeocodingResponse>;\n  \n  type atlasV2SearchResult_universal_d_SearchResult = SearchResult;\n  type atlasV2SearchResult_universal_d_Address = Address;\n  type atlasV2SearchResult_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type atlasV2SearchResult_universal_d_StreetAddress = StreetAddress;\n  type atlasV2SearchResult_universal_d_AddressLocation = AddressLocation;\n  type atlasV2SearchResult_universal_d_Subdivision = Subdivision;\n  type atlasV2SearchResult_universal_d_SubdivisionType = SubdivisionType;\n  const atlasV2SearchResult_universal_d_SubdivisionType: typeof SubdivisionType;\n  type atlasV2SearchResult_universal_d_Proximity = Proximity;\n  const atlasV2SearchResult_universal_d_Proximity: typeof Proximity;\n  type atlasV2SearchResult_universal_d_SearchRequest = SearchRequest;\n  type atlasV2SearchResult_universal_d_FilterBy = FilterBy;\n  type atlasV2SearchResult_universal_d_FilterType = FilterType;\n  const atlasV2SearchResult_universal_d_FilterType: typeof FilterType;\n  type atlasV2SearchResult_universal_d_SearchResponse = SearchResponse;\n  type atlasV2SearchResult_universal_d_ReverseGeocodingRequest = ReverseGeocodingRequest;\n  type atlasV2SearchResult_universal_d_ReverseGeocodingResponse = ReverseGeocodingResponse;\n  const atlasV2SearchResult_universal_d_search: typeof search;\n  type atlasV2SearchResult_universal_d_SearchOptions = SearchOptions;\n  const atlasV2SearchResult_universal_d_reverseGeocoding: typeof reverseGeocoding;\n  namespace atlasV2SearchResult_universal_d {\n    export {\n      atlasV2SearchResult_universal_d_SearchResult as SearchResult,\n      atlasV2SearchResult_universal_d_Address as Address,\n      atlasV2SearchResult_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      atlasV2SearchResult_universal_d_StreetAddress as StreetAddress,\n      atlasV2SearchResult_universal_d_AddressLocation as AddressLocation,\n      atlasV2SearchResult_universal_d_Subdivision as Subdivision,\n      atlasV2SearchResult_universal_d_SubdivisionType as SubdivisionType,\n      atlasV2SearchResult_universal_d_Proximity as Proximity,\n      atlasV2SearchResult_universal_d_SearchRequest as SearchRequest,\n      atlasV2SearchResult_universal_d_FilterBy as FilterBy,\n      atlasV2SearchResult_universal_d_FilterType as FilterType,\n      atlasV2SearchResult_universal_d_SearchResponse as SearchResponse,\n      atlasV2SearchResult_universal_d_ReverseGeocodingRequest as ReverseGeocodingRequest,\n      atlasV2SearchResult_universal_d_ReverseGeocodingResponse as ReverseGeocodingResponse,\n      atlasV2SearchResult_universal_d_search as search,\n      atlasV2SearchResult_universal_d_SearchOptions as SearchOptions,\n      atlasV2SearchResult_universal_d_reverseGeocoding as reverseGeocoding,\n    };\n  }\n  \n  export { atlasV2Prediction_universal_d as autocomplete, atlasV2SearchResult_universal_d as location, atlasV2Place_universal_d as places };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-orders-backend.d.ts",
      "content": "declare module \"wix-restaurants-orders-backend\" {\n  interface Order {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Legacy restaurant ID, use only for legacy API\n       * @internal\n       * @readonly\n       */\n      restaurantId?: string;\n      /**\n       * ID of the restaurant’s location.\n       * @readonly\n       */\n      locationId?: string | null;\n      /**\n       * Order creation date and time in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time of order's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Additional note to the order added by the customer. */\n      comment?: string | null;\n      /** Currency of the order. */\n      currency?: string | null;\n      /** Current order status. */\n      status?: Status;\n      /** Dishes and options included in the order. */\n      lineItems?: LineItem[];\n      /** Discounts associated with the order. */\n      discounts?: Discount[];\n      /** Coupon applied to the order. */\n      coupon?: Coupon;\n      /** Order payment information. */\n      payments?: Payment[];\n      /** Order fulfillment information. */\n      fulfillment?: Fulfillment;\n      /** Customer information. */\n      customer?: Customer;\n      /** Order totals. */\n      totals?: Totals;\n      /**\n       * Log of order updates.\n       * @readonly\n       */\n      activities?: Activity[];\n      /** Information about the sales channel that submitted the order. */\n      channelInfo?: ChannelInfo;\n      /** Information about the order’s loyalty points. */\n      loyaltyInfo?: LoyaltyInfo;\n      /**\n       * Information about the POS.\n       * @internal\n       */\n      posInfo?: PosInfo;\n  }\n  /** This might be extended in the future with pending orders statuses */\n  enum Status {\n      /** Order status can't be classified, due to an error */\n      UNSPECIFIED_ORDER_STATUS = \"UNSPECIFIED_ORDER_STATUS\",\n      /** Order is pending response from the payment provider - IF THIS WILL REMAIN PAYMENT PROVIDER SPECIFIC, THIS SHOULD BE CLEAR FROM THE NAME - E.G. PENDING_PAYMENT_PROVIDER. */\n      PENDING = \"PENDING\",\n      /** The order is marked as new - wait for state machine */\n      NEW = \"NEW\",\n      /** Order was accepted */\n      ACCEPTED = \"ACCEPTED\",\n      /** Order is canceled */\n      CANCELED = \"CANCELED\",\n      /** Order is fulfilled */\n      FULFILLED = \"FULFILLED\"\n  }\n  interface LineItem {\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item price. */\n      price?: string;\n      /** Comment about the line item added by the customer. */\n      comment?: string | null;\n      /** List of all dish options available for the line item. */\n      dishOptions?: LineItemOption[];\n      /** References to the line item’s origin catalog. */\n      catalogReference?: CatalogReference;\n  }\n  interface LineItemOption {\n      /** Line item option name. */\n      name?: string | null;\n      /** List of all dish options selected by the customer. */\n      selectedChoices?: LineItem[];\n      /** Minimum number of dish options the customer is required to choose. */\n      minChoices?: number | null;\n      /** Maximum number of dish options the customer is allowed to choose. */\n      maxChoices?: number | null;\n      /** Dish option type. */\n      type?: DisplayType;\n      /** List of all available choices for the dish option. */\n      availableChoices?: LineItemOptionItem[];\n      /** List of dish option IDs selected by default. */\n      defaultChoices?: string[] | null;\n  }\n  enum DisplayType {\n      /** DisplayType, due to an error */\n      UNSPECIFIED_DISPLAY_TYPE = \"UNSPECIFIED_DISPLAY_TYPE\",\n      /** Single choice selection */\n      SELECTION = \"SELECTION\",\n      /** Multiple choices selection */\n      EXTRAS = \"EXTRAS\",\n      /** Allow choices removal */\n      DESELECTION = \"DESELECTION\"\n  }\n  interface LineItemOptionItem {\n      /** Line item ID as defined in the catalog. */\n      itemId?: string | null;\n      /** Line item price. */\n      price?: string | null;\n  }\n  interface CatalogReference {\n      /** Line item ID as defined in the catalog. */\n      catalogItemId?: string;\n      /**\n       * Line item name as defined in the catalog.\n       * @readonly\n       */\n      catalogItemName?: string | null;\n      /**\n       * Item description as defined in the catalog.\n       * @readonly\n       */\n      catalogItemDescription?: string | null;\n      /**\n       * Item media url as defined in the catalog.\n       * @readonly\n       */\n      catalogItemMedia?: string | null;\n  }\n  interface Discount {\n      /** Discount ID as defined in the catalog. */\n      catalogDiscountId?: string;\n      /** Amount saved. */\n      appliedAmount?: string;\n      /** Discount type. */\n      catalogDiscountType?: DiscountType;\n      /** Discount name as defined in the catalog. */\n      catalogDiscountName?: string;\n  }\n  enum DiscountType {\n      UNSPECIFIED_TYPE = \"UNSPECIFIED_TYPE\",\n      OFF_ITEM = \"OFF_ITEM\",\n      OFF_ORDER = \"OFF_ORDER\",\n      OFF_ORDER_MANAGER_DISCOUNT = \"OFF_ORDER_MANAGER_DISCOUNT\"\n  }\n  interface Coupon {\n      /** Coupon code. */\n      code?: string;\n      /** Coupon ID. */\n      _id?: string;\n  }\n  interface Payment {\n      /** Payment type. */\n      type?: PaymentType;\n      /** Amount paid using this payment type. Only differs from total amount paid in case of split payments. */\n      amount?: string | null;\n      /** Payment method. */\n      method?: string | null;\n      /**\n       * Transaction ID.\n       * See [Cashier API](https://dev.wix.com/api/rest/wix-cashier/payments/transaction) for more details.\n       */\n      providerTransactionId?: string | null;\n  }\n  enum PaymentType {\n      /** PaymentType, due to an error */\n      UNSPECIFIED_PAYMENT_TYPE = \"UNSPECIFIED_PAYMENT_TYPE\",\n      /** Cash */\n      CASH = \"CASH\",\n      /** credit */\n      CREDIT = \"CREDIT\",\n      /** Delivery club */\n      DELIVERY_CLUB = \"DELIVERY_CLUB\",\n      /** Delivery com */\n      DELIVERY_COM = \"DELIVERY_COM\",\n      /** Bitpay */\n      BITPAY = \"BITPAY\",\n      /** Cellarix */\n      CELLARIX = \"CELLARIX\",\n      /** Bits of gold */\n      BITSOFGOLD = \"BITSOFGOLD\",\n      /** Multi pass */\n      MULTIPASS = \"MULTIPASS\",\n      /** Tenbis */\n      TENBIS = \"TENBIS\",\n      /** Paypal */\n      PAYPAL = \"PAYPAL\",\n      /** Mysodexo */\n      MYSODEXO = \"MYSODEXO\",\n      /** Wix Payments */\n      WIX_PAYMENTS = \"WIX_PAYMENTS\"\n  }\n  interface Fulfillment {\n      /** Fulfillment type. */\n      type?: FulfillmentType;\n      /** Latest delivery time promised by the restaurant. */\n      promisedTime?: Date;\n      /** Whether the order should be fulfilled as soon as possible. Defaults to `true`. */\n      asap?: boolean | null;\n      /**\n       * The time it takes to prepare and deliver the order in minutes\n       * @internal\n       */\n      preparationTime?: number | null;\n      /** Delivery details. */\n      deliveryDetails?: DeliveryDetails;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails;\n      /** Dine-in details */\n      dineInDetails?: DineInDetails;\n  }\n  enum FulfillmentType {\n      /** Missing type due to an error */\n      UNSPECIFIED_FULFILLMENT_TYPE = \"UNSPECIFIED_FULFILLMENT_TYPE\",\n      /** Pickup */\n      PICKUP = \"PICKUP\",\n      /** Delivery */\n      DELIVERY = \"DELIVERY\",\n      /** Dine-in */\n      DINE_IN = \"DINE_IN\"\n  }\n  interface DeliveryDetails {\n      /** Delivery address. */\n      address?: DeliveryAddress;\n      /** Information about the delivery pickup. */\n      pickupInfo?: PickupInfo;\n      /**\n       * Information about the delivery drop-off.\n       * @internal\n       */\n      dropOffInfo?: DropOffInfo;\n      /** Delivery through the restaurant. */\n      restaurant?: Restaurant;\n      /** Delivery through an external provider. */\n      externalProvider?: ExternalProvider;\n  }\n  interface DeliveryAddress {\n      /** Formatted delivery address. */\n      formatted?: string | null;\n      /** Country. */\n      country?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Street name. */\n      street?: string | null;\n      /** Street number. */\n      streetNumber?: string | null;\n      /** Apartment number. */\n      apt?: string | null;\n      /** Floor. */\n      floor?: string | null;\n      /** Entrance. */\n      entrance?: string | null;\n      /** ZIP/postal code. */\n      zipCode?: string | null;\n      /** Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      countryCode?: string | null;\n      /** Special delivery instructions upon arrival to the address. */\n      onArrival?: OnArrival;\n      /** Whether an approximate address is used. Defaults to `false`. In case of `false` a house number is required. */\n      approximate?: boolean | null;\n      /** Delivery Instructions added by the customer. */\n      comment?: string | null;\n      /** Geo coordinates of the address. */\n      location?: DeliveryAddressLocation;\n      /** Address Line 2. */\n      addressLine2?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n  }\n  enum OnArrival {\n      /** Missing type due to an error */\n      UNSPECIFIED_ON_ARRIVAL_TYPE = \"UNSPECIFIED_ON_ARRIVAL_TYPE\",\n      /** Buzz the door */\n      BUZZ_DOOR = \"BUZZ_DOOR\",\n      /** Phone me */\n      CALL_ME = \"CALL_ME\"\n  }\n  interface DeliveryAddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Restaurant {\n      /** Delivery fee. */\n      fee?: string | null;\n  }\n  interface ExternalProvider {\n      /** ID of the external delivery provider. */\n      _id?: string;\n      /**\n       * Name of the external delivery provider.\n       * @readonly\n       */\n      name?: string;\n      /**\n       * Delivery ID.\n       * @internal\n       */\n      deliveryId?: string | null;\n      /**\n       * Estimate ID.\n       * @internal\n       */\n      estimateId?: string | null;\n      /** Delivery fee charged to the customer. */\n      customerFee?: string | null;\n      /**\n       * Fee paid by the restaurant to the external delivery provider.\n       * @readonly\n       */\n      commission?: string | null;\n      /** Order pickup time. */\n      pickupTime?: Date;\n      /** Order drop off time. */\n      dropOffTime?: Date;\n      /**\n       * Icon of the external delivery provider.\n       * @internal\n       */\n      iconUrl?: string | null;\n  }\n  interface PickupInfo {\n      /** When a delivery is ready to be picked up. This is the start time of the pickup window. */\n      windowStartTime?: Date;\n      /** When a delivery must be picked up by. This is the end time of the pickup window. */\n      windowEndTime?: Date;\n  }\n  interface DropOffInfo {\n      /** Whether the order is delivered contactless. */\n      contactless?: boolean;\n  }\n  interface PickupDetails {\n      /** Pickup fee charged to the customer. */\n      fee?: string | null;\n      /** Curbside pickup method */\n      curbside?: Curbside;\n  }\n  interface Curbside {\n      /** Additional information for curbside pickup. */\n      info?: string;\n  }\n  interface DineInDetails {\n      /** Label of dine-in information added by the restaurant, e.g. `table` or `booth`. */\n      label?: string;\n      /** Value of dine-in information added by the restaurant, e.g. `#6`. */\n      value?: string;\n  }\n  /** Customer information. */\n  interface Customer {\n      /** First name. */\n      firstName?: string;\n      /** Last name. */\n      lastName?: string;\n      /** Phone number. */\n      phone?: string | null;\n      /** Email address. */\n      email?: string;\n      /**\n       * Customer's contact ID.\n       * See [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details.\n       */\n      contactId?: string | null;\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n  }\n  interface Totals {\n      /** Order subtotal. Calculated by substracting delivery fee, tax and discount from order total. */\n      subtotal?: string;\n      /** Total order price. */\n      total?: string;\n      /** Total delivery fees charged to the customer. */\n      delivery?: string | null;\n      /** Total tax. */\n      tax?: string | null;\n      /** Total discount amount. */\n      discount?: string | null;\n      /** Total amount saved through the Wix Loyalty program. */\n      loyaltySavings?: string | null;\n      /**\n       * Total number of line items.\n       * @readonly\n       */\n      quantity?: number;\n      /** Total tip. */\n      tip?: string | null;\n  }\n  interface Activity {\n      /**\n       * Activity timestamp.\n       * @readonly\n       */\n      timestamp?: Date;\n      /**\n       * Optional message added during order activity.\n       * @readonly\n       */\n      message?: string | null;\n  }\n  interface ChannelInfo {\n      type?: Type;\n  }\n  enum Type {\n      UNSPECIFIED_CHANNEL_TYPE = \"UNSPECIFIED_CHANNEL_TYPE\",\n      /** Web */\n      WEB = \"WEB\",\n      /** mobileWeb */\n      MOBILE_WEB = \"MOBILE_WEB\",\n      /** mobile */\n      MOBILE = \"MOBILE\",\n      /** callCenter */\n      CALL_CENTER = \"CALL_CENTER\",\n      /** facebook */\n      FACEBOOK = \"FACEBOOK\",\n      /** TPA */\n      TPA = \"TPA\"\n  }\n  interface LoyaltyInfo {\n      /** Associated Wix Loyalty reward ID. */\n      rewardId?: string | null;\n      /** Amount saved redeeming Wix Loyalty reward. */\n      appliedAmount?: string | null;\n      /**\n       * Wix Loyalty points redeemed.\n       * @readonly\n       */\n      redeemedPoints?: number | null;\n      /**\n       * Associated Wix Loyalty transaction ID.\n       * @readonly\n       */\n      transactionId?: string | null;\n  }\n  interface PosInfo {\n      externalProvider?: PosInfoExternalProvider;\n  }\n  interface PosInfoExternalProvider {\n      /** ID of the external provider. */\n      _id?: string;\n      /** ID of the order in the external provider. */\n      orderId?: string;\n  }\n  interface GetTotalActiveOrdersResponse {\n      /** list of locationId's mapped to the total number of orders. */\n      totals?: LocationToAmount[];\n  }\n  interface LocationToAmount {\n      locationId?: string;\n      locationName?: string | null;\n      totalNew?: number;\n      totalInProgress?: number;\n  }\n  interface GetOrderResponse {\n      /** Retrieved order. */\n      order?: Order;\n  }\n  interface Sort {\n      /** Field to sort by. */\n      fieldName?: FieldName;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum FieldName {\n      CREATED_DATE = \"CREATED_DATE\",\n      UPDATED_DATE = \"UPDATED_DATE\",\n      PROMISED_TIME = \"PROMISED_TIME\"\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListOrdersResponse {\n      /** List of retrieved orders. */\n      orders?: Order[];\n      /**\n       * Details on the paged set of results returned.\n       * @internal\n       */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AcceptOrderResponse {\n      /** Accepted order. */\n      order?: Order;\n  }\n  interface CancelOrderResponse {\n      /** Canceled order. */\n      order?: Order;\n  }\n  interface FulfillOrderResponse {\n      /** Fulfilled order. */\n      order?: Order;\n  }\n  enum EventType {\n      /** Order event can't be classified, due to an error/unhandled event */\n      UNKNOWN = \"UNKNOWN\",\n      /** Order Created. */\n      CREATED = \"CREATED\",\n      /** Order accepted */\n      ACCEPTED = \"ACCEPTED\",\n      /** Order Canceled */\n      CANCELED = \"CANCELED\",\n      /** Order Fulfilled */\n      FULFILLED = \"FULFILLED\"\n  }\n  interface GetOrderByMsidResponse {\n      /** Order data. */\n      order?: Order;\n  }\n  interface ListOrdersByMsidResponse {\n      /** Order data. */\n      orders?: Order[];\n  }\n  interface NotifyOrderEventResponse {\n  }\n  interface GetTotalActiveOrdersOptions {\n      locationId?: string | null;\n      organizationId?: string | null;\n  }\n  interface GetOrderOptions {\n      fieldMask?: string[];\n  }\n  interface ListOrdersOptions {\n      fieldMask?: string[];\n      status?: Status;\n      _createdDate?: string | null;\n      delivered?: boolean | null;\n      locationIds?: string[];\n      sort?: Sort;\n      limit?: number | null;\n      cursorPaging?: CursorPaging;\n      phone?: string | null;\n      asap?: boolean | null;\n      promisedTime?: string | null;\n  }\n  interface AcceptOrderOptions {\n      message?: string | null;\n      pickupTime?: Date;\n      dropOffTime?: Date;\n  }\n  interface CancelOrderOptions {\n      message?: string | null;\n  }\n  interface GetOrderByMsidOptions {\n      fieldMask?: string[];\n  }\n  interface ListOrdersByMsidOptions {\n      fieldMask?: string[];\n      status?: Status;\n      _createdDate?: string | null;\n      delivered?: boolean | null;\n      sort?: Sort;\n      limit?: number | null;\n      msid: string;\n  }\n  interface NotifyOrderEventOptions {\n      msid?: string;\n      eventType?: EventType;\n  }\n  \n  function getTotalActiveOrders(options: GetTotalActiveOrdersOptions): Promise<GetTotalActiveOrdersResponse>;\n  function getOrder(_id: string, options: GetOrderOptions): Promise<GetOrderResponse>;\n  function listOrders(options: ListOrdersOptions): Promise<ListOrdersResponse>;\n  function acceptOrder(_id: string, options: AcceptOrderOptions): Promise<AcceptOrderResponse>;\n  function cancelOrder(_id: string, options: CancelOrderOptions): Promise<CancelOrderResponse>;\n  function fulfillOrder(_id: string): Promise<FulfillOrderResponse>;\n  function getOrderByMsid(_id: string, msid: string, options: GetOrderByMsidOptions): Promise<GetOrderByMsidResponse>;\n  function listOrdersByMsid(options: ListOrdersByMsidOptions): Promise<ListOrdersByMsidResponse>;\n  function notifyOrderEvent(_id: string, options: NotifyOrderEventOptions): Promise<NotifyOrderEventResponse>;\n  \n  export { acceptOrder, cancelOrder, fulfillOrder, getOrder, getOrderByMsid, getTotalActiveOrders, listOrders, listOrdersByMsid, notifyOrderEvent };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-reviews-backend.d.ts",
      "content": "declare module \"wix-reviews-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Entity describing Review */\n  interface Review {\n      /** Namespace of app integrated with reviews */\n      namespace?: string;\n      /** Entity to what review is written id */\n      entityId?: string;\n      /**\n       * Review Id\n       * @readonly\n       */\n      _id?: string;\n      /** Review content */\n      content?: ReviewContent;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n      /**\n       * Author of review data\n       * @readonly\n       */\n      author?: Author;\n      /**\n       * Reply to review\n       * @readonly\n       */\n      reply?: Reply;\n      /**\n       * Number of reader found this review helpful\n       * @readonly\n       */\n      foundHelpful?: number;\n      /**\n       * Number of reader found this review unhelpful\n       * @readonly\n       */\n      foundUnhelpful?: number;\n      /**\n       * Helpfulness score\n       * @readonly\n       */\n      helpfulness?: number;\n      /** Moderation status of review content */\n      moderation?: Moderation;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  /** Entity describing review content */\n  interface ReviewContent {\n      /** Review title */\n      title?: string | null;\n      /** Review body */\n      body?: string | null;\n      /** List of media items in review */\n      media?: Media[];\n      /** Given rating to review */\n      rating?: number;\n  }\n  /** Entity describing media item of review */\n  interface Media extends MediaMediaOneOf {\n      /** image format media item */\n      image?: string;\n      /** video format media item */\n      video?: string;\n  }\n  /** @oneof */\n  interface MediaMediaOneOf {\n      /** image format media item */\n      image?: string;\n      /** video format media item */\n      video?: string;\n  }\n  interface VideoResolution {\n      /**\n       * Video URL.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Video height.\n       * @readonly\n       */\n      height?: number;\n      /**\n       * Video width.\n       * @readonly\n       */\n      width?: number;\n      /**\n       * Video thumbnail.\n       * @readonly\n       */\n      poster?: string;\n      /**\n       * Video format for example, mp4, hls.\n       * @readonly\n       */\n      format?: string;\n  }\n  /** Entity describing review author */\n  interface Author {\n      /** Contact id of author */\n      contactId?: string | null;\n      /** Author identity type */\n      authorType?: AuthorType;\n      /** Author name */\n      authorName?: string | null;\n  }\n  /** Supported types of review author */\n  enum AuthorType {\n      UNKNOWN = \"UNKNOWN\",\n      MEMBER = \"MEMBER\",\n      VISITOR = \"VISITOR\"\n  }\n  /** Entity describing reply to review */\n  interface Reply {\n      /** Reply content */\n      message?: string;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n  }\n  /** Entity defining review moderation status */\n  interface Moderation {\n      moderationStatus?: ModerationModerationStatus;\n      /**\n       * Indicates whether the moderation status of the review was changed manually by a moderator.\n       * i.e., when a moderator reviews the review and explicitly chooses to approve, reject.\n       * If the status is changed automatically, for example as a result of\n       * passing the moderation rules, this field will be set to false.\n       * @readonly\n       */\n      manuallyChanged?: boolean;\n  }\n  /** Supported states review can be during moderation */\n  enum ModerationModerationStatus {\n      UNKNOWN = \"UNKNOWN\",\n      APPROVED = \"APPROVED\",\n      IN_MODERATION = \"IN_MODERATION\",\n      REJECTED = \"REJECTED\",\n      SUBMITTED = \"SUBMITTED\"\n  }\n  interface AsyncSubmitModeratedContentRequest {\n      /** meta_site_id */\n      metaSiteId?: string | null;\n      /** App Def Id of moderated content owner vertical, if not provided, will be taken from CallScope */\n      appDefId?: string | null;\n      /** Content to moderate */\n      content?: Content;\n      /** optional content revision supplied and managed by vertical */\n      contentRevision?: string | null;\n  }\n  /** content data */\n  interface Content {\n      /** content id */\n      _id?: string;\n      /** fqdn for the content */\n      fqdn?: string;\n      /** optional content title */\n      title?: string | null;\n      /** content parts */\n      contentParts?: ContentPart[];\n      /** classifier values that apply to content (i.e. Blog categories) */\n      classifierValues?: ClassifierValues[];\n      /** author info */\n      authorInfo?: AuthorInfo;\n      /** time of content creation */\n      _createdDate?: Date;\n      /** parent content info, optional */\n      parent?: ParentInfo;\n      /** optional deep link to content in vertical ui */\n      deepLink?: Link;\n      /** content visibility (read access) settings */\n      visibility?: Visibility;\n  }\n  interface ContentPart extends ContentPartContentOneOf {\n      /** plain text content */\n      textContent?: string | null;\n      /** draftJs content */\n      draftJs?: string | null;\n      /** Wix Media item */\n      attachment?: MediaItem;\n      /** content id stored in the future (rich) content server */\n      storedContentId?: string | null;\n      jsonData?: any;\n      /** content part name */\n      name?: string;\n  }\n  /** @oneof */\n  interface ContentPartContentOneOf {\n      /** plain text content */\n      textContent?: string | null;\n      /** draftJs content */\n      draftJs?: string | null;\n      /** Wix Media item */\n      attachment?: MediaItem;\n      /** content id stored in the future (rich) content server */\n      storedContentId?: string | null;\n      jsonData?: any;\n  }\n  /** Deprecated - Copy this message into your service, do not reference it */\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n      /** WixMedia document */\n      document?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n      /** WixMedia document */\n      document?: string;\n  }\n  interface ClassifierValues {\n      /** classifier type, fqdn if applicable */\n      type?: string;\n      /** applicable value ids */\n      valueIds?: string[];\n  }\n  interface AuthorInfo extends AuthorInfoIdentityOneOf {\n      visitorId?: string;\n      siteMemberId?: string;\n      userId?: string;\n      service?: string;\n      externalApp?: string;\n  }\n  /** @oneof */\n  interface AuthorInfoIdentityOneOf {\n      visitorId?: string;\n      siteMemberId?: string;\n      userId?: string;\n      service?: string;\n      externalApp?: string;\n  }\n  interface ParentInfo {\n      /** fqdn for the parent */\n      fqdn?: string;\n      /** parent id */\n      parentId?: string;\n      /** classifier values that apply to parent (i.e. Blog categories) */\n      classifierValues?: ClassifierValues[];\n      /** classifier values for parent are not known and should be queried from SPI for parent if possible */\n      classifiersUnknown?: boolean;\n  }\n  /** to be replaced by commons wix.common.Link once merged */\n  interface Link {\n      /** Page url */\n      url?: string;\n      /** The mobile deeplink - e.g wix://app/1234-1234-1234-1234/memberships/manager */\n      mobileLink?: string;\n  }\n  interface Visibility {\n      /** enum stating content visibility type */\n      visibilityType?: VisibilityType;\n      /** array of permission ids or member groups that can be used with isPermitted to check content visibility */\n      permissions?: string[];\n  }\n  enum VisibilityType {\n      UNKNOWN = \"UNKNOWN\",\n      PUBLIC = \"PUBLIC\",\n      RESTRICTED = \"RESTRICTED\"\n  }\n  interface GetReviewRequest {\n      /** Review id */\n      reviewId: string;\n      /** Feature flag which enables to return private (not published) review */\n      returnPrivateReviews?: boolean;\n  }\n  interface GetReviewResponse {\n      /** Review entity */\n      review?: Review;\n  }\n  interface CreateReviewAndContactRequest {\n      /** Namespace where review is created */\n      namespace: string;\n      /** Entity id of reviewed entity */\n      entityId: string;\n      /** Review author name */\n      name?: string | null;\n      /** Review author email. Only required when review author is visitor */\n      email?: string | null;\n      /** Review content */\n      content: ReviewContent;\n  }\n  interface CreateReviewResponse {\n      /** Review entity */\n      review?: Review;\n  }\n  interface CreateReviewRequest {\n      /** Review entity to create */\n      review?: Review;\n  }\n  interface UpdateReviewContentRequest {\n      /** Review id */\n      reviewId: string;\n      /** Review content */\n      content?: ReviewContent;\n      /**\n       * Fieldmask with changed fields\n       * Supported fields: content.title, content.body, content.media, content.rating\n       */\n      fieldMask?: string[];\n      /** @internal */\n      mask?: string[];\n  }\n  interface UpdateReviewContentResponse {\n      /** Updated review data */\n      review?: Review;\n  }\n  /** Action describing changed review moderation status */\n  interface ModerationStatusChanged {\n      /** Review entity */\n      review?: Review;\n  }\n  interface UpdateReviewRequest {\n      /** Review to be updated */\n      review?: Review;\n      /**\n       * Fieldmask with changed fields\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateReviewResponse {\n      /** Updated review data */\n      review?: Review;\n  }\n  interface DeleteReviewRequest {\n      /** Review id */\n      reviewId: string;\n  }\n  interface DeleteReviewResponse {\n      /** Review entity */\n      review?: Review;\n  }\n  interface BulkDeleteReviewsRequest {\n      /** Reviews to delete */\n      filter?: Record<string, any> | null;\n  }\n  interface BulkDeleteReviewsResponse {\n      /** Reference to async job */\n      jobId?: string;\n  }\n  interface QueryReviewsRequest {\n      /** Review query */\n      query?: QueryV2;\n      /** Feature flag which enables to query private (not published) reviews */\n      returnPrivateReviews?: boolean;\n  }\n  interface QueryV2 {\n      filter?: Record<string, any> | null;\n      sort?: Sorting[];\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       *\n       * Defaults to `ASC`.\n       */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /**\n       * The number of items to load.\n       * Cursor token returned in the query response. To be used on the next query request, but not the first query request.\n       */\n      limit?: number | null;\n      /** Cursor returned in last query response. Should not be provided on first page request */\n      cursor?: string | null;\n  }\n  interface QueryReviewsResponse {\n      /** List of review */\n      results?: Review[];\n      /** Paging metadata */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n  }\n  interface Cursors {\n      /** Cursor pointing to next result page. */\n      next?: string | null;\n      /** Cursor pointing to previous result page. */\n      prev?: string | null;\n  }\n  interface SetReplyRequest {\n      /** Review id */\n      reviewId: string;\n      /** Response to review author */\n      message: string;\n  }\n  interface SetReplyResponse {\n      /** Review entity */\n      review?: Review;\n  }\n  interface RemoveReplyRequest {\n      /** Review id */\n      reviewId: string;\n  }\n  interface RemoveReplyResponse {\n      /** Review id */\n      review?: Review;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent {\n      currentEntityAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface BulkUpdateModerationStatusRequest {\n      /** Reviews to moderate */\n      filter?: Record<string, any> | null;\n      /** Moderation status to set */\n      status?: ModerationStatus;\n  }\n  enum ModerationStatus {\n      UNKNOWN = \"UNKNOWN\",\n      APPROVED = \"APPROVED\",\n      REJECTED = \"REJECTED\"\n  }\n  interface BulkUpdateModerationStatusResponse {\n      /** Reference to async job */\n      jobId?: string;\n  }\n  /**\n   * Returns requested review\n   * @param reviewId - Review id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reviewId\n   * @returns Review entity\n   */\n  function getReview(reviewId: string, options?: GetReviewOptions): Promise<Review>;\n  interface GetReviewOptions {\n      /** Feature flag which enables to return private (not published) review */\n      returnPrivateReviews?: boolean;\n  }\n  /**\n   * Creates review and author contact in contacts system\n   * @param namespace - Namespace where review is created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.content\n   * @requiredField options.entityId\n   */\n  function createReviewAndContact(namespace: string, options: CreateReviewAndContactOptions): Promise<CreateReviewResponse>;\n  interface CreateReviewAndContactOptions {\n      /** Entity id of reviewed entity */\n      entityId: string;\n      /** Review author name */\n      name?: string | null;\n      /** Review author email. Only required when review author is visitor */\n      email?: string | null;\n      /** Review content */\n      content: ReviewContent;\n  }\n  /**\n   * Creates review\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.review.author\n   * @requiredField options.review.author.contactId\n   * @requiredField options.review.content\n   * @requiredField options.review.entityId\n   * @requiredField options.review.namespace\n   * @returns Review entity\n   */\n  function createReview(options?: CreateReviewOptions): Promise<Review>;\n  interface CreateReviewOptions {\n      /** Review entity to create */\n      review?: Review;\n  }\n  /**\n   * Updates review content with provided data\n   * @param reviewId - Review id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reviewId\n   */\n  function updateReviewContent(reviewId: string, options?: UpdateReviewContentOptions): Promise<UpdateReviewContentResponse>;\n  interface UpdateReviewContentOptions {\n      /** Review content */\n      content?: ReviewContent;\n      /**\n       * Fieldmask with changed fields\n       * Supported fields: content.title, content.body, content.media, content.rating\n       */\n      fieldMask?: string[];\n      /** @internal */\n      mask?: string[];\n  }\n  /**\n   * Updates review with provided data.\n   * Pass the latest `revision` for a successful update.\n   *\n   * | Supported fields      |\n   * | ----------- |\n   * | content.title |\n   * | content.body |\n   * | content.media |\n   * | content.rating |\n   * @param _id - Review Id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.review.revision\n   * @returns Updated review data\n   */\n  function updateReview(_id: string, options?: UpdateReviewOptions): Promise<Review>;\n  interface UpdateReviewOptions {\n      review: {\n          /** Namespace of app integrated with reviews */\n          namespace?: string;\n          /** Entity to what review is written id */\n          entityId?: string;\n          /**\n           * Review Id\n           * @readonly\n           */\n          _id?: string;\n          /** Review content */\n          content?: ReviewContent;\n          /** @readonly */\n          _createdDate?: Date;\n          /** @readonly */\n          _updatedDate?: Date;\n          /**\n           * Author of review data\n           * @readonly\n           */\n          author?: Author;\n          /**\n           * Reply to review\n           * @readonly\n           */\n          reply?: Reply;\n          /**\n           * Number of reader found this review helpful\n           * @readonly\n           */\n          foundHelpful?: number;\n          /**\n           * Number of reader found this review unhelpful\n           * @readonly\n           */\n          foundUnhelpful?: number;\n          /**\n           * Helpfulness score\n           * @readonly\n           */\n          helpfulness?: number;\n          /** Moderation status of review content */\n          moderation?: Moderation;\n          /**\n           * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n           * @readonly\n           */\n          revision?: string | null;\n      };\n      /**\n       * Fieldmask with changed fields\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes review\n   * @param reviewId - Review id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reviewId\n   */\n  function deleteReview(reviewId: string): Promise<DeleteReviewResponse>;\n  /**\n   * Deletes list of reviews by ids\n   * @public\n   * @documentationMaturity preview\n   */\n  function bulkDeleteReviews(options?: BulkDeleteReviewsOptions): Promise<BulkDeleteReviewsResponse>;\n  interface BulkDeleteReviewsOptions {\n      /** Reviews to delete */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Return Reviews based on provided Query\n   *\n   *\n   * | Filterable fields      | Supported operators |\n   * | ----------- | ----------- |\n   * | id | `$eq`, `$ne`, `$in` |\n   * | namespace | `$eq`, `$ne`, `$in` |\n   * | entityId | `$eq`, `$ne`, `$in` |\n   * | content.rating | `$eq`, `$ne`, `$in`, `$lt`, `$lte`, `$gt`, `$gte` |\n   * | content.media | `$isEmpty` |\n   * | helpfulness | `$eq`, `$ne`, `$in`, `$lt`, `$lte`, `$gt`, `$gte` |\n   * | moderation.moderationStatus | `$eq`, `$ne`, `$in` |\n   * | createdDate | `$eq`, `$ne`, `$in`, `$lt`, `$lte`, `$gt`, `$gte` |\n   *\n   * | Sortable fields      | Supported directions |\n   * | ----------- | ----------- |\n   * | content.rating | `ASC`, `DESC` |\n   * | helpfulness | `ASC`, `DESC` |\n   * | createdDate | `ASC`, `DESC` |\n   * @public\n   * @documentationMaturity preview\n   */\n  function queryReviews(options?: QueryReviewsOptions): ResultsQueryBuilder;\n  interface QueryReviewsOptions {\n      /** Feature flag which enables to query private (not published) reviews */\n      returnPrivateReviews?: boolean | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ResultsQueryResult extends QueryCursorResult {\n      items: Review[];\n      query: ResultsQueryBuilder;\n      next: () => Promise<ResultsQueryResult>;\n      prev: () => Promise<ResultsQueryResult>;\n  }\n  interface ResultsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'namespace' | '_id' | 'content.rating' | '_createdDate' | 'helpfulness' | 'moderation.moderationStatus', value: any) => ResultsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'namespace' | '_id' | 'content.rating' | '_createdDate' | 'helpfulness' | 'moderation.moderationStatus', value: any) => ResultsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'content.rating' | 'helpfulness', value: any) => ResultsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'content.rating' | '_createdDate' | 'helpfulness', value: any) => ResultsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'content.rating' | '_createdDate' | 'helpfulness', value: any) => ResultsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'content.rating' | '_createdDate' | 'helpfulness', value: any) => ResultsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'namespace' | '_id' | 'content.rating' | '_createdDate' | 'helpfulness' | 'moderation.moderationStatus', value: any) => ResultsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'content.rating' | '_createdDate' | 'helpfulness'>) => ResultsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'content.rating' | '_createdDate' | 'helpfulness'>) => ResultsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ResultsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ResultsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ResultsQueryResult>;\n  }\n  /**\n   * Set reply on a review\n   * @param reviewId - Review id\n   * @param message - Response to review author\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField message\n   * @requiredField reviewId\n   */\n  function setReply(reviewId: string, message: string): Promise<SetReplyResponse>;\n  /**\n   * Removes reply from review\n   * @param reviewId - Review id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reviewId\n   */\n  function removeReply(reviewId: string): Promise<RemoveReplyResponse>;\n  /**\n   * Changes moderation status for multiple reviews\n   * @internal\n   * @documentationMaturity preview\n   */\n  function bulkUpdateModerationStatus(options?: BulkUpdateModerationStatusOptions): Promise<BulkUpdateModerationStatusResponse>;\n  interface BulkUpdateModerationStatusOptions {\n      /** Reviews to moderate */\n      filter?: Record<string, any> | null;\n      /** Moderation status to set */\n      status?: ModerationStatus;\n  }\n  \n  const reviewsV1Review_universal_d___debug: typeof __debug;\n  type reviewsV1Review_universal_d_Review = Review;\n  type reviewsV1Review_universal_d_ReviewContent = ReviewContent;\n  type reviewsV1Review_universal_d_Media = Media;\n  type reviewsV1Review_universal_d_MediaMediaOneOf = MediaMediaOneOf;\n  type reviewsV1Review_universal_d_VideoResolution = VideoResolution;\n  type reviewsV1Review_universal_d_Author = Author;\n  type reviewsV1Review_universal_d_AuthorType = AuthorType;\n  const reviewsV1Review_universal_d_AuthorType: typeof AuthorType;\n  type reviewsV1Review_universal_d_Reply = Reply;\n  type reviewsV1Review_universal_d_Moderation = Moderation;\n  type reviewsV1Review_universal_d_ModerationModerationStatus = ModerationModerationStatus;\n  const reviewsV1Review_universal_d_ModerationModerationStatus: typeof ModerationModerationStatus;\n  type reviewsV1Review_universal_d_AsyncSubmitModeratedContentRequest = AsyncSubmitModeratedContentRequest;\n  type reviewsV1Review_universal_d_Content = Content;\n  type reviewsV1Review_universal_d_ContentPart = ContentPart;\n  type reviewsV1Review_universal_d_ContentPartContentOneOf = ContentPartContentOneOf;\n  type reviewsV1Review_universal_d_MediaItem = MediaItem;\n  type reviewsV1Review_universal_d_MediaItemMediaOneOf = MediaItemMediaOneOf;\n  type reviewsV1Review_universal_d_ClassifierValues = ClassifierValues;\n  type reviewsV1Review_universal_d_AuthorInfo = AuthorInfo;\n  type reviewsV1Review_universal_d_AuthorInfoIdentityOneOf = AuthorInfoIdentityOneOf;\n  type reviewsV1Review_universal_d_ParentInfo = ParentInfo;\n  type reviewsV1Review_universal_d_Link = Link;\n  type reviewsV1Review_universal_d_Visibility = Visibility;\n  type reviewsV1Review_universal_d_VisibilityType = VisibilityType;\n  const reviewsV1Review_universal_d_VisibilityType: typeof VisibilityType;\n  type reviewsV1Review_universal_d_GetReviewRequest = GetReviewRequest;\n  type reviewsV1Review_universal_d_GetReviewResponse = GetReviewResponse;\n  type reviewsV1Review_universal_d_CreateReviewAndContactRequest = CreateReviewAndContactRequest;\n  type reviewsV1Review_universal_d_CreateReviewResponse = CreateReviewResponse;\n  type reviewsV1Review_universal_d_CreateReviewRequest = CreateReviewRequest;\n  type reviewsV1Review_universal_d_UpdateReviewContentRequest = UpdateReviewContentRequest;\n  type reviewsV1Review_universal_d_UpdateReviewContentResponse = UpdateReviewContentResponse;\n  type reviewsV1Review_universal_d_ModerationStatusChanged = ModerationStatusChanged;\n  type reviewsV1Review_universal_d_UpdateReviewRequest = UpdateReviewRequest;\n  type reviewsV1Review_universal_d_UpdateReviewResponse = UpdateReviewResponse;\n  type reviewsV1Review_universal_d_DeleteReviewRequest = DeleteReviewRequest;\n  type reviewsV1Review_universal_d_DeleteReviewResponse = DeleteReviewResponse;\n  type reviewsV1Review_universal_d_BulkDeleteReviewsRequest = BulkDeleteReviewsRequest;\n  type reviewsV1Review_universal_d_BulkDeleteReviewsResponse = BulkDeleteReviewsResponse;\n  type reviewsV1Review_universal_d_QueryReviewsRequest = QueryReviewsRequest;\n  type reviewsV1Review_universal_d_QueryV2 = QueryV2;\n  type reviewsV1Review_universal_d_Sorting = Sorting;\n  type reviewsV1Review_universal_d_SortOrder = SortOrder;\n  const reviewsV1Review_universal_d_SortOrder: typeof SortOrder;\n  type reviewsV1Review_universal_d_CursorPaging = CursorPaging;\n  type reviewsV1Review_universal_d_QueryReviewsResponse = QueryReviewsResponse;\n  type reviewsV1Review_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type reviewsV1Review_universal_d_Cursors = Cursors;\n  type reviewsV1Review_universal_d_SetReplyRequest = SetReplyRequest;\n  type reviewsV1Review_universal_d_SetReplyResponse = SetReplyResponse;\n  type reviewsV1Review_universal_d_RemoveReplyRequest = RemoveReplyRequest;\n  type reviewsV1Review_universal_d_RemoveReplyResponse = RemoveReplyResponse;\n  type reviewsV1Review_universal_d_DomainEvent = DomainEvent;\n  type reviewsV1Review_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type reviewsV1Review_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type reviewsV1Review_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type reviewsV1Review_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type reviewsV1Review_universal_d_ActionEvent = ActionEvent;\n  type reviewsV1Review_universal_d_ExtendedFieldsUpdatedEvent = ExtendedFieldsUpdatedEvent;\n  type reviewsV1Review_universal_d_Empty = Empty;\n  type reviewsV1Review_universal_d_BulkUpdateModerationStatusRequest = BulkUpdateModerationStatusRequest;\n  type reviewsV1Review_universal_d_ModerationStatus = ModerationStatus;\n  const reviewsV1Review_universal_d_ModerationStatus: typeof ModerationStatus;\n  type reviewsV1Review_universal_d_BulkUpdateModerationStatusResponse = BulkUpdateModerationStatusResponse;\n  const reviewsV1Review_universal_d_getReview: typeof getReview;\n  type reviewsV1Review_universal_d_GetReviewOptions = GetReviewOptions;\n  const reviewsV1Review_universal_d_createReviewAndContact: typeof createReviewAndContact;\n  type reviewsV1Review_universal_d_CreateReviewAndContactOptions = CreateReviewAndContactOptions;\n  const reviewsV1Review_universal_d_createReview: typeof createReview;\n  type reviewsV1Review_universal_d_CreateReviewOptions = CreateReviewOptions;\n  const reviewsV1Review_universal_d_updateReviewContent: typeof updateReviewContent;\n  type reviewsV1Review_universal_d_UpdateReviewContentOptions = UpdateReviewContentOptions;\n  const reviewsV1Review_universal_d_updateReview: typeof updateReview;\n  type reviewsV1Review_universal_d_UpdateReviewOptions = UpdateReviewOptions;\n  const reviewsV1Review_universal_d_deleteReview: typeof deleteReview;\n  const reviewsV1Review_universal_d_bulkDeleteReviews: typeof bulkDeleteReviews;\n  type reviewsV1Review_universal_d_BulkDeleteReviewsOptions = BulkDeleteReviewsOptions;\n  const reviewsV1Review_universal_d_queryReviews: typeof queryReviews;\n  type reviewsV1Review_universal_d_QueryReviewsOptions = QueryReviewsOptions;\n  type reviewsV1Review_universal_d_ResultsQueryResult = ResultsQueryResult;\n  type reviewsV1Review_universal_d_ResultsQueryBuilder = ResultsQueryBuilder;\n  const reviewsV1Review_universal_d_setReply: typeof setReply;\n  const reviewsV1Review_universal_d_removeReply: typeof removeReply;\n  const reviewsV1Review_universal_d_bulkUpdateModerationStatus: typeof bulkUpdateModerationStatus;\n  type reviewsV1Review_universal_d_BulkUpdateModerationStatusOptions = BulkUpdateModerationStatusOptions;\n  namespace reviewsV1Review_universal_d {\n    export {\n      reviewsV1Review_universal_d___debug as __debug,\n      reviewsV1Review_universal_d_Review as Review,\n      reviewsV1Review_universal_d_ReviewContent as ReviewContent,\n      reviewsV1Review_universal_d_Media as Media,\n      reviewsV1Review_universal_d_MediaMediaOneOf as MediaMediaOneOf,\n      reviewsV1Review_universal_d_VideoResolution as VideoResolution,\n      reviewsV1Review_universal_d_Author as Author,\n      reviewsV1Review_universal_d_AuthorType as AuthorType,\n      reviewsV1Review_universal_d_Reply as Reply,\n      reviewsV1Review_universal_d_Moderation as Moderation,\n      reviewsV1Review_universal_d_ModerationModerationStatus as ModerationModerationStatus,\n      reviewsV1Review_universal_d_AsyncSubmitModeratedContentRequest as AsyncSubmitModeratedContentRequest,\n      reviewsV1Review_universal_d_Content as Content,\n      reviewsV1Review_universal_d_ContentPart as ContentPart,\n      reviewsV1Review_universal_d_ContentPartContentOneOf as ContentPartContentOneOf,\n      reviewsV1Review_universal_d_MediaItem as MediaItem,\n      reviewsV1Review_universal_d_MediaItemMediaOneOf as MediaItemMediaOneOf,\n      reviewsV1Review_universal_d_ClassifierValues as ClassifierValues,\n      reviewsV1Review_universal_d_AuthorInfo as AuthorInfo,\n      reviewsV1Review_universal_d_AuthorInfoIdentityOneOf as AuthorInfoIdentityOneOf,\n      reviewsV1Review_universal_d_ParentInfo as ParentInfo,\n      reviewsV1Review_universal_d_Link as Link,\n      reviewsV1Review_universal_d_Visibility as Visibility,\n      reviewsV1Review_universal_d_VisibilityType as VisibilityType,\n      reviewsV1Review_universal_d_GetReviewRequest as GetReviewRequest,\n      reviewsV1Review_universal_d_GetReviewResponse as GetReviewResponse,\n      reviewsV1Review_universal_d_CreateReviewAndContactRequest as CreateReviewAndContactRequest,\n      reviewsV1Review_universal_d_CreateReviewResponse as CreateReviewResponse,\n      reviewsV1Review_universal_d_CreateReviewRequest as CreateReviewRequest,\n      reviewsV1Review_universal_d_UpdateReviewContentRequest as UpdateReviewContentRequest,\n      reviewsV1Review_universal_d_UpdateReviewContentResponse as UpdateReviewContentResponse,\n      reviewsV1Review_universal_d_ModerationStatusChanged as ModerationStatusChanged,\n      reviewsV1Review_universal_d_UpdateReviewRequest as UpdateReviewRequest,\n      reviewsV1Review_universal_d_UpdateReviewResponse as UpdateReviewResponse,\n      reviewsV1Review_universal_d_DeleteReviewRequest as DeleteReviewRequest,\n      reviewsV1Review_universal_d_DeleteReviewResponse as DeleteReviewResponse,\n      reviewsV1Review_universal_d_BulkDeleteReviewsRequest as BulkDeleteReviewsRequest,\n      reviewsV1Review_universal_d_BulkDeleteReviewsResponse as BulkDeleteReviewsResponse,\n      reviewsV1Review_universal_d_QueryReviewsRequest as QueryReviewsRequest,\n      reviewsV1Review_universal_d_QueryV2 as QueryV2,\n      reviewsV1Review_universal_d_Sorting as Sorting,\n      reviewsV1Review_universal_d_SortOrder as SortOrder,\n      reviewsV1Review_universal_d_CursorPaging as CursorPaging,\n      reviewsV1Review_universal_d_QueryReviewsResponse as QueryReviewsResponse,\n      reviewsV1Review_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      reviewsV1Review_universal_d_Cursors as Cursors,\n      reviewsV1Review_universal_d_SetReplyRequest as SetReplyRequest,\n      reviewsV1Review_universal_d_SetReplyResponse as SetReplyResponse,\n      reviewsV1Review_universal_d_RemoveReplyRequest as RemoveReplyRequest,\n      reviewsV1Review_universal_d_RemoveReplyResponse as RemoveReplyResponse,\n      reviewsV1Review_universal_d_DomainEvent as DomainEvent,\n      reviewsV1Review_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      reviewsV1Review_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      reviewsV1Review_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      reviewsV1Review_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      reviewsV1Review_universal_d_ActionEvent as ActionEvent,\n      reviewsV1Review_universal_d_ExtendedFieldsUpdatedEvent as ExtendedFieldsUpdatedEvent,\n      reviewsV1Review_universal_d_Empty as Empty,\n      reviewsV1Review_universal_d_BulkUpdateModerationStatusRequest as BulkUpdateModerationStatusRequest,\n      reviewsV1Review_universal_d_ModerationStatus as ModerationStatus,\n      reviewsV1Review_universal_d_BulkUpdateModerationStatusResponse as BulkUpdateModerationStatusResponse,\n      reviewsV1Review_universal_d_getReview as getReview,\n      reviewsV1Review_universal_d_GetReviewOptions as GetReviewOptions,\n      reviewsV1Review_universal_d_createReviewAndContact as createReviewAndContact,\n      reviewsV1Review_universal_d_CreateReviewAndContactOptions as CreateReviewAndContactOptions,\n      reviewsV1Review_universal_d_createReview as createReview,\n      reviewsV1Review_universal_d_CreateReviewOptions as CreateReviewOptions,\n      reviewsV1Review_universal_d_updateReviewContent as updateReviewContent,\n      reviewsV1Review_universal_d_UpdateReviewContentOptions as UpdateReviewContentOptions,\n      reviewsV1Review_universal_d_updateReview as updateReview,\n      reviewsV1Review_universal_d_UpdateReviewOptions as UpdateReviewOptions,\n      reviewsV1Review_universal_d_deleteReview as deleteReview,\n      reviewsV1Review_universal_d_bulkDeleteReviews as bulkDeleteReviews,\n      reviewsV1Review_universal_d_BulkDeleteReviewsOptions as BulkDeleteReviewsOptions,\n      reviewsV1Review_universal_d_queryReviews as queryReviews,\n      reviewsV1Review_universal_d_QueryReviewsOptions as QueryReviewsOptions,\n      reviewsV1Review_universal_d_ResultsQueryResult as ResultsQueryResult,\n      reviewsV1Review_universal_d_ResultsQueryBuilder as ResultsQueryBuilder,\n      reviewsV1Review_universal_d_setReply as setReply,\n      reviewsV1Review_universal_d_removeReply as removeReply,\n      reviewsV1Review_universal_d_bulkUpdateModerationStatus as bulkUpdateModerationStatus,\n      reviewsV1Review_universal_d_BulkUpdateModerationStatusOptions as BulkUpdateModerationStatusOptions,\n    };\n  }\n  \n  export { reviewsV1Review_universal_d as reviews };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-catalogs-backend.d.ts",
      "content": "declare module \"wix-restaurants-catalogs-backend\" {\n  /**\n   * Collection of menus and discounts available in a specific location.\n   * Use a [draft catalog](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs) to publish multiple changes to a catalog at the same time.\n   * You can read more about catalogs in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n   */\n  interface Catalog {\n      /**\n       * Catalog ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ID of the location the catalog belongs to. See the [Locations API](https://dev.wix.com/api/rest/business-info/locations/introduction) for more details.\n       * @readonly\n       */\n      locationId?: string | null;\n      /**\n       * Whether the catalog is archived.\n       * __Note:__ Archived catalogs can't be updated.\n       * @readonly\n       */\n      archived?: boolean;\n      /**\n       * Date and time the last time a draft catalog has been published in `yyyy-mm-ddThh:mm:sssZ` format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n       * @readonly\n       */\n      draftPublishedDate?: Date;\n      /**\n       * Revision number. Increments by 1 each time the catalog is updated.\n       * To prevent conflicting changes, the existing `revision` must be used when updating a catalog.\n       * @internal\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface CreateDraftCatalogResponse {\n      /** Created draft catalog. */\n      catalog?: Catalog;\n  }\n  interface PublishDraftCatalogResponse {\n      /** Published catalog. */\n      catalog?: Catalog;\n  }\n  interface DiscardDraftCatalogResponse {\n  }\n  interface NewVariation {\n      /** Variation name. */\n      name?: string;\n  }\n  interface BulkCreateVariationsResponse {\n      /** Information about the created variations. */\n      results?: BulkItemResult[];\n      /** Bulk Create Variations metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkItemResult {\n      /** Metadata of the item. */\n      entityMetadata?: ItemMetadata;\n      /** Item. */\n      entity?: Item;\n  }\n  interface ItemMetadata {\n      /** Item id. Should always be provided, unless it's impossible (e.g when failing to create an item) */\n      _id?: string | null;\n      /** The index of the item within the request array to allow the caller to correlate the request and response items */\n      originalIndex?: number;\n      /** Whether the action requested was successful for this item. When this value is false, error should be populated */\n      success?: boolean;\n      /** In case of failure, details about the error */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      code?: string;\n      description?: string;\n      data?: Record<string, any> | null;\n  }\n  /**\n   * Anything that customers can buy in the restaurant. Items can be of type `DISH` or `VARIATION`.\n   * You can read more about items in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n   */\n  interface Item {\n      /**\n       * Item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Item name. */\n      name?: string | null;\n      /** Item description. */\n      description?: string | null;\n      /** Item price. */\n      price?: Money;\n      /** URL of the item's image file. */\n      imageUrl?: string | null;\n      /** Item labels. For example spicy, hot, vegan, gluten-free, or organic. */\n      labels?: Labels;\n      /** Whether the item is in stock. */\n      inStock?: boolean | null;\n      /** Tax rate of the item in percent. */\n      taxRate?: string | null;\n      /**\n       * Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\n       * @readonly\n       */\n      archived?: boolean | null;\n      /**\n       * Visibility criteria that must be met for the item to appear in the live site.\n       * In case of multiple visibility criteria, every criterion must be fulfilled.\n       */\n      visibilityCriteria?: VisibilityCriteria;\n      /** Items customers can choose to modify a dish. Can be an extra, selection, or deselection. */\n      dishOptions?: DishOptions;\n      /** Whether a customer can add a special request when ordering this item. Defaults to `true`. */\n      acceptSpecialRequest?: boolean | null;\n      /**\n       * Item type.\n       * @readonly\n       */\n      type?: ItemType;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /**\n       * Currency code. Must be valid ISO 4217 currency code (e.g., USD).\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.\n       * @internal\n       * @readonly\n       */\n      formattedValue?: string | null;\n  }\n  interface Labels {\n      values?: string[];\n  }\n  interface VisibilityCriteria {\n      /**\n       * Whether the entity appears in the live site. Defaults to `true`.\n       * If `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\n       */\n      visible?: boolean | null;\n      /** Fulfillment types. */\n      fulfillmentTypes?: FulfillmentType[];\n      /** Ordering platforms. */\n      platforms?: Platform[];\n      /** Time periods when the entity is available. */\n      availability?: Availability;\n  }\n  enum FulfillmentType {\n      UNSPECIFIED_FULFILLMENT_TYPE = \"UNSPECIFIED_FULFILLMENT_TYPE\",\n      DELIVERY = \"DELIVERY\",\n      PICKUP_OR_DINE_IN = \"PICKUP_OR_DINE_IN\"\n  }\n  enum Platform {\n      UNSPECIFIED_PLATFORM = \"UNSPECIFIED_PLATFORM\",\n      SITE = \"SITE\",\n      MOBILE_SITE = \"MOBILE_SITE\",\n      WIX_APP = \"WIX_APP\",\n      CALL_CENTER = \"CALL_CENTER\",\n      CHAT_BOT = \"CHAT_BOT\"\n  }\n  interface Availability {\n      /**\n       * Weekly recurring time periods when the entity is available.\n       * Limited to 100 time periods.\n       */\n      periods?: TimePeriod[];\n      /** Exceptions to the entity's regular availability. The entity can be available or not available during the special hour period. */\n      specialHourPeriods?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the entity is available. */\n  interface TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n       * midnight at the end of the specified day.\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  enum DayOfWeek {\n      UNDEFINED = \"UNDEFINED\",\n      SUN = \"SUN\",\n      MON = \"MON\",\n      TUE = \"TUE\",\n      WED = \"WED\",\n      THU = \"THU\",\n      FRI = \"FRI\",\n      SAT = \"SAT\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /** Whether the item is available during the exception. Defaults to `true`. */\n      available?: boolean;\n      /** Name of the special hour period. In the Business Manager the special hour period is called event. */\n      eventName?: string | null;\n  }\n  interface DishOptions {\n      values?: DishOption[];\n  }\n  interface DishOption {\n      /** Dish option name. */\n      name?: string;\n      /** @readonly */\n      type?: Type;\n      /** Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish. */\n      selection?: Selection;\n      /** Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish. */\n      extras?: Extras;\n      /** Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish. */\n      deselection?: Deselection;\n  }\n  interface DishOptionItem {\n      /** Item ID of the dish option. */\n      itemId?: string;\n      /** Dish option price. `0` for free choices that are included in the dish's price. */\n      price?: Money;\n  }\n  interface Selection {\n      /** Item ID of the default choice. */\n      defaultChoice?: string | null;\n      /** Item IDs of the available choices. */\n      availableChoices?: DishOptionItem[];\n  }\n  interface Extras {\n      /** Item IDs of the default choices. */\n      defaultChoices?: string[];\n      /** Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`. */\n      minChoices?: number | null;\n      /** Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`. */\n      maxChoices?: number | null;\n      /** Item IDs of the available choices. */\n      availableChoices?: DishOptionItem[];\n  }\n  interface Deselection {\n      /** Item IDs of the available choices. */\n      availableChoices?: DishOptionItem[];\n  }\n  enum Type {\n      UNSPECIFIED_DISH_OPTION_TYPE = \"UNSPECIFIED_DISH_OPTION_TYPE\",\n      SELECTION = \"SELECTION\",\n      EXTRAS = \"EXTRAS\",\n      DESELECTION = \"DESELECTION\"\n  }\n  enum ItemType {\n      UNSPECIFIED_ITEM_TYPE = \"UNSPECIFIED_ITEM_TYPE\",\n      DISH = \"DISH\",\n      VARIATION = \"VARIATION\"\n  }\n  interface BulkActionMetadata {\n      /** For how many items the requested action was successful */\n      totalSuccesses?: number;\n      /** For how many items the requested action was not successful */\n      totalFailures?: number;\n      /** total number of failures without details because detailed-failure-threshold exceeded */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateItemsResponse {\n      /** Information about the updated items. */\n      results?: BulkItemResult[];\n      /** Bulk Update Items metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface CreateDishRequest {\n      /** ID of the menu the dish will belong to. */\n      menuId: string;\n      /** ID of the section the dish will belong to. */\n      sectionId: string;\n      /** Dish to create. */\n      dish: Item;\n  }\n  interface BulkCreateDishesResponse {\n      /** Information about the created dishes. */\n      results?: BulkItemResult[];\n      /** Bulk Create Dishes metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  /**\n   * Collection of sections that show what customers can buy in the restaurant.\n   * You can read more about menus in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n   */\n  interface Menu {\n      /**\n       * Menu ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Menu name. */\n      name?: string | null;\n      /** Menu description. */\n      description?: string | null;\n      /** URL of the menu's image file. */\n      imageUrl?: string | null;\n      /**\n       * Visibility criteria that must be met for the menu to appear in the live site.\n       * In case of multiple visibility criteria, every criterion must be fulfilled.\n       */\n      visibilityCriteria?: VisibilityCriteria;\n      /** IDs of the sections that are included in the menu. */\n      sectionIds?: MenuSectionIds;\n      /**\n       * Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\n       * @readonly\n       */\n      archived?: boolean | null;\n  }\n  interface MenuSectionIds {\n      values?: string[];\n  }\n  interface BulkCreateMenusResponse {\n      /** Information about the created menus. */\n      results?: BulkMenuResult[];\n      /** Bulk Create Menus metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkMenuResult {\n      /** Menu metadata. */\n      entityMetadata?: ItemMetadata;\n      /** Menu. */\n      entity?: Menu;\n  }\n  interface BulkUpdateMenusResponse {\n      /** Information about the updated menus. */\n      results?: BulkMenuResult[];\n      /** Bulk Update Menus metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  /**\n   * Collection of dishes that customers can buy in the restaurant.\n   * You can read more about sections in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n   */\n  interface Section {\n      /**\n       * Section ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ID of the menu the section belongs to.\n       * @readonly\n       */\n      menuId?: string | null;\n      /** Section name. */\n      name?: string | null;\n      /** Section description. */\n      description?: string | null;\n      /** URL of the section's image file. */\n      imageUrl?: string | null;\n      /** IDs of the items that belong to the section. */\n      itemIds?: SectionItemIds;\n      /**\n       * Visibility criteria that must be met for the section to appear in the live site.\n       * In case of multiple visibility criteria, every criterion must be fulfilled.\n       */\n      visibilityCriteria?: VisibilityCriteria;\n      /**\n       * Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\n       * @readonly\n       */\n      archived?: boolean | null;\n  }\n  /** Item IDs of the dishes that belong to this section. */\n  interface SectionItemIds {\n      values?: string[];\n  }\n  interface CreateSectionRequest {\n      /** ID of the menu the section will belong to. */\n      menuId: string;\n      /** Section to create. */\n      section: Section;\n  }\n  interface BulkCreateSectionsResponse {\n      /** Information about the created sections. */\n      results?: BulkSectionResult[];\n      /** Bulk Create Sections metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkSectionResult {\n      /** Section metadata. */\n      entityMetadata?: ItemMetadata;\n      /** Section. */\n      entity?: Section;\n  }\n  interface UpdateSectionRequest {\n      /** ID of the menu the section will belong to. */\n      menuId: string;\n      /** Section to update. */\n      section: Section;\n  }\n  interface BulkUpdateSectionsResponse {\n      /** Information about the updated sections. */\n      results?: BulkSectionResult[];\n      /** Bulk Update Sections metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkArchiveMenusResponse {\n      /** Information about the archived menus. */\n      results?: BulkMenuResult[];\n      /** Bulk Archive Menus metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUnarchiveMenusResponse {\n      /** Information about the unarchived menus. */\n      results?: BulkMenuResult[];\n      /** Bulk Unarchive Menus metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListCatalogsResponse {\n      /** Retrieved catalogs. */\n      catalogs?: Catalog[];\n  }\n  interface GetMenuResponse {\n      /** Retrieved menu. */\n      menu?: Menu;\n  }\n  interface GetSectionResponse {\n      /** Retrieved section. */\n      section?: Section;\n  }\n  interface UpdateMenuResponse {\n      /** Updated Menu. */\n      menu?: Menu;\n  }\n  interface UpdateSectionResponse {\n      /** Updated section. */\n      section?: Section;\n  }\n  interface ListMenusResponse {\n      /** Retrieved menus. */\n      menus?: Menu[];\n  }\n  interface ListSectionsResponse {\n      /** Sections list. */\n      sections?: Section[];\n  }\n  interface CreateMenuResponse {\n      /** Created Menu. */\n      menu?: Menu;\n  }\n  interface ArchiveMenuResponse {\n      /** Archived menu. */\n      menu?: Menu;\n  }\n  interface UnarchiveMenuResponse {\n      /** Unarchived menu. */\n      menu?: Menu;\n  }\n  interface CreateSectionResponse {\n      /** Created section. */\n      section?: Section;\n  }\n  interface GetItemResponse {\n      /** Retrieved item. */\n      item?: Item;\n  }\n  interface ListItemsResponse {\n      /** Retrieved items. */\n      items?: Item[];\n  }\n  interface UpdateItemResponse {\n      /** Updated Item. */\n      item?: Item;\n  }\n  interface CreateDishResponse {\n      /** Created Dish. */\n      dish?: Item;\n  }\n  interface CreateVariationResponse {\n      /** Created Variation. */\n      variation?: Item;\n  }\n  interface BulkCreateVariationsOptions {\n      returnFullEntity?: boolean;\n  }\n  interface BulkUpdateItemsOptions {\n      returnFullEntity?: boolean;\n  }\n  interface BulkCreateDishesOptions {\n      returnFullEntity?: boolean;\n  }\n  interface BulkCreateMenusOptions {\n      returnFullEntity?: boolean;\n  }\n  interface BulkUpdateMenusOptions {\n      returnFullEntity?: boolean;\n  }\n  interface BulkCreateSectionsOptions {\n      returnFullEntity?: boolean;\n  }\n  interface BulkUpdateSectionsOptions {\n      returnFullEntity?: boolean;\n  }\n  interface BulkArchiveMenusOptions {\n      returnFullEntity?: boolean;\n  }\n  interface BulkUnarchiveMenusOptions {\n      returnFullEntity?: boolean;\n  }\n  interface ListCatalogsOptions {\n      sort?: Sorting;\n      paging?: Paging;\n      archived?: boolean;\n      locationIds?: string[];\n  }\n  interface GetMenuIdentifiers {\n      catalogId: string;\n      menuId: string;\n  }\n  interface GetSectionIdentifiers {\n      catalogId: string;\n      menuId: string;\n      sectionId: string;\n  }\n  interface UpdateMenuIdentifiers {\n      catalogId: string;\n  }\n  interface UpdateMenuOptions {\n      menu: Menu;\n  }\n  interface UpdateSectionIdentifiers {\n      catalogId: string;\n      menuId: string;\n  }\n  interface UpdateSectionOptions {\n      section: Section;\n  }\n  interface ListMenusOptions {\n      fieldMask?: string[];\n      archived?: boolean;\n  }\n  interface ListSectionsOptions {\n      fieldMask?: string[];\n      archived?: boolean;\n  }\n  interface ArchiveMenuIdentifiers {\n      catalogId: string;\n      menuId: string;\n  }\n  interface UnarchiveMenuIdentifiers {\n      catalogId: string;\n      menuId: string;\n  }\n  interface CreateSectionIdentifiers {\n      catalogId: string;\n      menuId: string;\n  }\n  interface GetItemIdentifiers {\n      catalogId: string;\n      itemId: string;\n  }\n  interface GetItemOptions {\n      includeVisibilityCriteria?: boolean;\n  }\n  interface ListItemsOptions {\n      fieldMask?: string[];\n      archived?: boolean;\n  }\n  interface UpdateItemIdentifiers {\n      catalogId: string;\n  }\n  interface UpdateItemOptions {\n      item: Item;\n  }\n  interface CreateDishIdentifiers {\n      catalogId: string;\n      menuId: string;\n      sectionId: string;\n  }\n  \n  function createDraftCatalog(catalogId: string): Promise<CreateDraftCatalogResponse>;\n  function publishDraftCatalog(catalogId: string): Promise<PublishDraftCatalogResponse>;\n  function discardDraftCatalog(catalogId: string): Promise<DiscardDraftCatalogResponse>;\n  function bulkCreateVariations(catalogId: string, variations: NewVariation[], options: BulkCreateVariationsOptions): Promise<BulkCreateVariationsResponse>;\n  function bulkUpdateItems(catalogId: string, items: Item[], options: BulkUpdateItemsOptions): Promise<BulkUpdateItemsResponse>;\n  function bulkCreateDishes(catalogId: string, createDishRequests: CreateDishRequest[], options: BulkCreateDishesOptions): Promise<BulkCreateDishesResponse>;\n  function bulkCreateMenus(catalogId: string, menus: Menu[], options: BulkCreateMenusOptions): Promise<BulkCreateMenusResponse>;\n  function bulkUpdateMenus(catalogId: string, menus: Menu[], options: BulkUpdateMenusOptions): Promise<BulkUpdateMenusResponse>;\n  function bulkCreateSections(catalogId: string, createSectionRequests: CreateSectionRequest[], options: BulkCreateSectionsOptions): Promise<BulkCreateSectionsResponse>;\n  function bulkUpdateSections(catalogId: string, updateSectionsRequests: UpdateSectionRequest[], options: BulkUpdateSectionsOptions): Promise<BulkUpdateSectionsResponse>;\n  function bulkArchiveMenus(catalogId: string, ids: string[], options: BulkArchiveMenusOptions): Promise<BulkArchiveMenusResponse>;\n  function bulkUnarchiveMenus(catalogId: string, ids: string[], options: BulkUnarchiveMenusOptions): Promise<BulkUnarchiveMenusResponse>;\n  function listCatalogs(options: ListCatalogsOptions): Promise<ListCatalogsResponse>;\n  function getMenu(identifiers: GetMenuIdentifiers): Promise<GetMenuResponse>;\n  function getSection(identifiers: GetSectionIdentifiers): Promise<GetSectionResponse>;\n  function updateMenu(identifiers: UpdateMenuIdentifiers, options: UpdateMenuOptions): Promise<UpdateMenuResponse>;\n  function updateSection(identifiers: UpdateSectionIdentifiers, options: UpdateSectionOptions): Promise<UpdateSectionResponse>;\n  function listMenus(catalogId: string, options: ListMenusOptions): Promise<ListMenusResponse>;\n  function listSections(catalogId: string, options: ListSectionsOptions): Promise<ListSectionsResponse>;\n  function createMenu(catalogId: string, menu: Menu): Promise<CreateMenuResponse>;\n  function archiveMenu(identifiers: ArchiveMenuIdentifiers): Promise<ArchiveMenuResponse>;\n  function unarchiveMenu(identifiers: UnarchiveMenuIdentifiers): Promise<UnarchiveMenuResponse>;\n  function createSection(identifiers: CreateSectionIdentifiers, section: Section): Promise<CreateSectionResponse>;\n  function getItem(identifiers: GetItemIdentifiers, options: GetItemOptions): Promise<GetItemResponse>;\n  function listItems(catalogId: string, options: ListItemsOptions): Promise<ListItemsResponse>;\n  function updateItem(identifiers: UpdateItemIdentifiers, options: UpdateItemOptions): Promise<UpdateItemResponse>;\n  function createDish(identifiers: CreateDishIdentifiers, dish: Item): Promise<CreateDishResponse>;\n  function createVariation(catalogId: string, name: string): Promise<CreateVariationResponse>;\n  \n  export { archiveMenu, bulkArchiveMenus, bulkCreateDishes, bulkCreateMenus, bulkCreateSections, bulkCreateVariations, bulkUnarchiveMenus, bulkUpdateItems, bulkUpdateMenus, bulkUpdateSections, createDish, createDraftCatalog, createMenu, createSection, createVariation, discardDraftCatalog, getItem, getMenu, getSection, listCatalogs, listItems, listMenus, listSections, publishDraftCatalog, unarchiveMenu, updateItem, updateMenu, updateSection };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-iot-devices-backend.d.ts",
      "content": "declare module \"wix-iot-devices-backend\" {\n  interface Device {\n      /** @readonly */\n      deviceId?: string;\n      /** @readonly */\n      gatewayId?: string;\n      title?: string;\n      iconUrl?: string;\n      gatewayDeviceId?: string;\n      entities?: Entity[];\n  }\n  interface Entity extends EntityKindOneOf {\n      entityId?: string;\n      thermometer?: Thermometer;\n      switch?: Switch;\n      presenceSensor?: PresenceSensor;\n  }\n  /** @oneof */\n  interface EntityKindOneOf {\n      thermometer?: Thermometer;\n      switch?: Switch;\n      presenceSensor?: PresenceSensor;\n  }\n  interface Thermometer {\n      temperature?: number;\n  }\n  interface Switch {\n      on?: boolean;\n  }\n  interface PresenceSensor {\n      present?: boolean;\n  }\n  interface ListDevicesResponse {\n      devices?: Device[];\n  }\n  interface AddDeviceResponse {\n      device?: Device;\n  }\n  interface RemoveDeviceResponse {\n  }\n  interface ListDiscoveredDevicesResponse {\n      devices?: Device[];\n  }\n  interface SetDeviceStateResponse {\n      device?: Device;\n  }\n  interface TestResponse {\n  }\n  interface AddDeviceOptions {\n      deviceId?: string | null;\n      gatewayDeviceId?: string;\n      gatewayId?: string;\n      title?: string;\n  }\n  interface SetDeviceStateOptions {\n      deviceId?: string;\n      switch?: Switch;\n  }\n  \n  function listDevices(): Promise<ListDevicesResponse>;\n  function addDevice(options?: AddDeviceOptions): Promise<AddDeviceResponse>;\n  function removeDevice(deviceId: string): Promise<RemoveDeviceResponse>;\n  function listDiscoveredDevices(): Promise<ListDiscoveredDevicesResponse>;\n  function setDeviceState(options?: SetDeviceStateOptions): Promise<SetDeviceStateResponse>;\n  function test(): Promise<TestResponse>;\n  \n  const iotV1Device_backend_d_listDevices: typeof listDevices;\n  const iotV1Device_backend_d_addDevice: typeof addDevice;\n  const iotV1Device_backend_d_removeDevice: typeof removeDevice;\n  const iotV1Device_backend_d_listDiscoveredDevices: typeof listDiscoveredDevices;\n  const iotV1Device_backend_d_setDeviceState: typeof setDeviceState;\n  const iotV1Device_backend_d_test: typeof test;\n  namespace iotV1Device_backend_d {\n    export {\n      iotV1Device_backend_d_listDevices as listDevices,\n      iotV1Device_backend_d_addDevice as addDevice,\n      iotV1Device_backend_d_removeDevice as removeDevice,\n      iotV1Device_backend_d_listDiscoveredDevices as listDiscoveredDevices,\n      iotV1Device_backend_d_setDeviceState as setDeviceState,\n      iotV1Device_backend_d_test as test,\n    };\n  }\n  \n  export { iotV1Device_backend_d as state };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-showoff-backend.d.ts",
      "content": "declare module \"wix-showoff-backend\" {\n  /** TopWebsites is the main entity of ShowOff that can be used for lorem ipsum dolor */\n  interface TopWebsites {\n      websiteLists?: Websites[];\n  }\n  interface Websites {\n      criteria?: Criteria;\n      websites?: Website[];\n  }\n  enum Criteria {\n      UNKNOWN_KEY = \"UNKNOWN_KEY\",\n      LOCALE = \"LOCALE\",\n      TOP_IN_GOOGLE = \"TOP_IN_GOOGLE\",\n      GLOBAL = \"GLOBAL\",\n      BEST_LOOKING = \"BEST_LOOKING\",\n      TRAFFIC = \"TRAFFIC\"\n  }\n  interface Website {\n      metaSiteId?: string | null;\n      /** [(.wix.api.format) = URI]; */\n      link?: string | null;\n      /** [(.wix.api.format) = URI]; */\n      preview?: string | null;\n      score?: number | null;\n  }\n  interface GetTopWebsitesResponse {\n      /** The retrieved TopWebsites */\n      topWebsites?: TopWebsites;\n  }\n  interface OptOutResponse {\n  }\n  interface GetTopWebsitesOptions {\n      language: string | null;\n  }\n  \n  function getTopWebsites(structureId: string | null, countryCode: string | null, options: GetTopWebsitesOptions): Promise<GetTopWebsitesResponse>;\n  function optOut(metaSiteId: string): Promise<OptOutResponse>;\n  \n  const showoffV1TopWebsites_backend_d_getTopWebsites: typeof getTopWebsites;\n  const showoffV1TopWebsites_backend_d_optOut: typeof optOut;\n  namespace showoffV1TopWebsites_backend_d {\n    export {\n      showoffV1TopWebsites_backend_d_getTopWebsites as getTopWebsites,\n      showoffV1TopWebsites_backend_d_optOut as optOut,\n    };\n  }\n  \n  export { showoffV1TopWebsites_backend_d as wixShowoff };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-portfolio-backend.d.ts",
      "content": "declare module \"wix-portfolio-backend\" {\n  interface Collection {\n      /**\n       * Collection ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the collection is updated. To prevent conflicting changes, the existing revision must be passed when updating the collection object.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Collection title. */\n      title?: string | null;\n      /** Collection description. */\n      description?: string | null;\n      /** Collection slug. */\n      slug?: string | null;\n      /** Collection cover image. */\n      coverImage?: CommonImage$2;\n      /** Whether the collection is hidden from the portfolio. Default: `false` */\n      hidden?: boolean | null;\n      /**\n       * Index that determines which position a collection is displayed in the portfolio. <br />\n       *\n       * Default: [Epoch](https://www.epoch101.com/) timestamp. <br />\n       */\n      sortOrder?: number | null;\n      /**\n       * Date and time the collection was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the collection was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Collection page URL and and relative path. Returned when `includePageUrl` is `true` in the request.\n       * @readonly\n       */\n      url?: string;\n      /** Collection SEO data. */\n      seoData?: SeoSchema$2;\n  }\n  interface CommonImage$2 {\n      /**\n       * @internal\n       * @deprecated\n       */\n      type?: ImageImageType$2;\n      /** Information about the Wix Media image. */\n      imageInfo?: string;\n      /** Focal point of the image. */\n      focalPoint?: CommonPoint$2;\n      /**\n       * Set of key-value pairs describing the media in [Exchangeable Image File format](https://en.wikipedia.org/wiki/Exif).\n       * @internal\n       */\n      exif?: Record<string, any> | null;\n      /**\n       * Image compression level. <br />\n       *\n       * Min: `30` <br />\n       * Max: `100`\n       * @internal\n       */\n      quality?: number | null;\n      /**\n       * [Unsharp masking](https://en.wikipedia.org/wiki/Unsharp_masking) values of the image.\n       * @internal\n       */\n      unsharpMasking?: CommonUnsharpMasking$2;\n      /**\n       * Whether the image is saved in secure media.\n       * @internal\n       */\n      secure?: boolean | null;\n      /**\n       * When image is saved in secure media, token is generated.\n       * @internal\n       * @readonly\n       */\n      token?: string | null;\n  }\n  enum ImageImageType$2 {\n      UNDEFINED = \"UNDEFINED\",\n      WIX_MEDIA = \"WIX_MEDIA\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface CommonPoint$2 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n  }\n  interface CommonUnsharpMasking$2 {\n      /**\n       * Unsharp masking amount. Controls the sharpening strength. <br />\n       *\n       * Min: `0` <br />\n       * Max: `5`\n       */\n      amount?: number | null;\n      /** Unsharp masking radius in pixels. Controls the sharpening width. */\n      radius?: number | null;\n      /**\n       * Unsharp masking threshold. Controls how different neighboring pixels must be for shapening to apply. <br />\n       *\n       * Min: `0` <br />\n       * Max: `1`\n       */\n      threshold?: number | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$2 {\n      /** SEO tag information. */\n      tags?: Tag$2[];\n      /** SEO general settings. */\n      settings?: Settings$2;\n  }\n  interface Keyword$2 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag$2 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$2 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$2[];\n  }\n  interface DomainEvent$5 extends DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n  }\n  interface EntityCreatedEvent$5 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$5;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$5 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$5 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$5 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$5 {\n      bodyAsJson?: string;\n  }\n  interface Empty$3 {\n  }\n  interface AdminRemoveMenuItemsResponse {\n      /** number of items queried for deletion */\n      numItems?: number;\n      /** number of items sucessfully deleted */\n      numItemsSuccessfullyDeleted?: number;\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$5;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface InvalidateCache$2 extends InvalidateCacheGetByOneOf$2 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$2;\n      /** Invalidate by page id */\n      page?: Page$2;\n      /** Invalidate by URI path */\n      uri?: URI$2;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$2;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$2 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$2;\n      /** Invalidate by page id */\n      page?: Page$2;\n      /** Invalidate by URI path */\n      uri?: URI$2;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$2;\n  }\n  interface App$2 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$2 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$2 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$2 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateCollectionRequest {\n      /** Collection to create. */\n      collection: Collection;\n  }\n  interface CreateCollectionResponse {\n      /** Created collection. */\n      collection?: Collection;\n  }\n  interface GetCollectionRequest {\n      /** ID of the collection to retrieve. */\n      collectionId: string;\n      /** Whether to include the collection's page URL and relative path in the response. Default: `false` */\n      includePageUrl?: boolean | null;\n  }\n  interface GetCollectionResponse {\n      /** The requested collection. */\n      collection?: Collection;\n  }\n  interface ListCollectionsRequest {\n      paging?: CursorPaging$4;\n      /** Whether to include the collection's page URL and relative path in the response. Default: `false` */\n      includePageUrl?: boolean | null;\n  }\n  interface CursorPaging$4 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListCollectionsResponse {\n      /** List of collections. */\n      collections?: Collection[];\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      pagingMetadataV2?: PagingMetadataV2$4;\n      /** Paging metadata. */\n      metadata?: PagingMetadataV2$4;\n  }\n  interface PagingMetadataV2$4 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$4;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$4 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateCollectionRequest {\n      /** Collection to update. */\n      collection: Collection;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateCollectionResponse {\n      /** Updated collection. */\n      collection?: Collection;\n  }\n  interface DeleteCollectionRequest {\n      /** ID of the collection to delete. */\n      collectionId: string;\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      revision?: string;\n  }\n  interface DeleteCollectionResponse {\n      /** ID of the deleted collection. */\n      collectionId?: string;\n  }\n  interface QueryCollectionsRequest {\n      /** Query options. */\n      query: QueryV2$3;\n      /** Whether to include the collection's page URL and relative path in the response. Default: `false` */\n      includePageUrl?: boolean | null;\n  }\n  interface QueryV2$3 extends QueryV2PagingMethodOneOf$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$3;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$3[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$3;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryCollectionsResponse {\n      /** List of collections. */\n      collections?: Collection[];\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      pagingMetadataV2?: PagingMetadataV2$4;\n      /** Paging metadata. */\n      metadata?: PagingMetadataV2$4;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId PORTFOLIO.PROJECT_CREATE\n   * @adminMethod\n   */\n  function adminRemoveMenuItems(): Promise<AdminRemoveMenuItemsResponse>;\n  /**\n   * Creates a collection.\n   * @param collection - Collection to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collection\n   * @permissionId PORTFOLIO.COLLECTION_CREATE\n   * @adminMethod\n   * @returns Created collection.\n   */\n  function createCollection(collection: Collection): Promise<Collection>;\n  /**\n   * Retrieves a collection.\n   * @param collectionId - ID of the collection to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collectionId\n   * @permissionId PORTFOLIO.COLLECTION_READ\n   * @returns The requested collection.\n   */\n  function getCollection(collectionId: string, options?: GetCollectionOptions): Promise<Collection>;\n  interface GetCollectionOptions {\n      /** Whether to include the collection's page URL and relative path in the response. Default: `false` */\n      includePageUrl?: boolean | null;\n  }\n  /**\n   * Retrieves a list all collections in a portfolio.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PORTFOLIO.COLLECTION_READ\n   */\n  function listCollections(options?: ListCollectionsOptions): Promise<ListCollectionsResponse>;\n  interface ListCollectionsOptions {\n      paging?: CursorPaging$4;\n      /** Whether to include the collection's page URL and relative path in the response. Default: `false` */\n      includePageUrl?: boolean | null;\n  }\n  /**\n   * Updates a collection.\n   * @param _id - Collection ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField collection\n   * @requiredField collection.revision\n   * @permissionId PORTFOLIO.COLLECTION_UPDATE\n   * @adminMethod\n   * @returns Updated collection.\n   */\n  function updateCollection(_id: string | null, collection: UpdateCollection, options?: UpdateCollectionOptions): Promise<Collection>;\n  interface UpdateCollection {\n      /**\n       * Collection ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the collection is updated. To prevent conflicting changes, the existing revision must be passed when updating the collection object.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Collection title. */\n      title?: string | null;\n      /** Collection description. */\n      description?: string | null;\n      /** Collection slug. */\n      slug?: string | null;\n      /** Collection cover image. */\n      coverImage?: CommonImage$2;\n      /** Whether the collection is hidden from the portfolio. Default: `false` */\n      hidden?: boolean | null;\n      /**\n       * Index that determines which position a collection is displayed in the portfolio. <br />\n       *\n       * Default: [Epoch](https://www.epoch101.com/) timestamp. <br />\n       */\n      sortOrder?: number | null;\n      /**\n       * Date and time the collection was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the collection was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Collection page URL and and relative path. Returned when `includePageUrl` is `true` in the request.\n       * @readonly\n       */\n      url?: string;\n      /** Collection SEO data. */\n      seoData?: SeoSchema$2;\n  }\n  interface UpdateCollectionOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a collection.\n   * @param collectionId - ID of the collection to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collectionId\n   * @permissionId PORTFOLIO.COLLECTION_DELETE\n   * @adminMethod\n   */\n  function deleteCollection(collectionId: string, options?: DeleteCollectionOptions): Promise<DeleteCollectionResponse>;\n  interface DeleteCollectionOptions {\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      revision?: string;\n  }\n  /**\n   * Retrieves a list of collections given the provided paging, filtering, and sorting. Up to 100 collections can be returned per request.\n   *\n   * The default `sort` is `id` in `ASC`.\n   *\n   * For a detailed list of supported operations, see [Collections: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/portfolio/collections/sort-and-filter).\n   * To learn how to query collections, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PORTFOLIO.COLLECTION_READ\n   */\n  function queryCollections(options?: QueryCollectionsOptions): CollectionsQueryBuilder;\n  interface QueryCollectionsOptions {\n      /** Whether to include the collection's page URL and relative path in the response. Default: `false` */\n      includePageUrl?: boolean | null | undefined;\n  }\n  interface QueryCursorResult$2 {\n      cursors: Cursors$4;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CollectionsQueryResult extends QueryCursorResult$2 {\n      items: Collection[];\n      query: CollectionsQueryBuilder;\n      next: () => Promise<CollectionsQueryResult>;\n      prev: () => Promise<CollectionsQueryResult>;\n  }\n  interface CollectionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'title' | 'description' | 'slug' | 'hidden' | 'sortOrder' | '_createdDate' | '_updatedDate', value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'title' | 'description' | 'slug' | 'hidden' | 'sortOrder' | '_createdDate' | '_updatedDate', value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'sortOrder' | '_createdDate' | '_updatedDate', value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'sortOrder' | '_createdDate' | '_updatedDate', value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'sortOrder' | '_createdDate' | '_updatedDate', value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'sortOrder' | '_createdDate' | '_updatedDate', value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'title' | 'description' | 'slug', value: string) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'title' | 'description' | 'slug' | 'hidden' | 'sortOrder' | '_createdDate' | '_updatedDate', value: any[]) => CollectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'title' | 'description' | 'slug' | 'hidden' | 'sortOrder' | '_createdDate' | '_updatedDate', value: any) => CollectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'title' | 'description' | 'slug' | 'hidden' | 'sortOrder' | '_createdDate' | '_updatedDate', value: boolean) => CollectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'title' | 'description' | 'slug' | 'sortOrder' | '_createdDate' | '_updatedDate'>) => CollectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'title' | 'description' | 'slug' | 'sortOrder' | '_createdDate' | '_updatedDate'>) => CollectionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CollectionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => CollectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CollectionsQueryResult>;\n  }\n  \n  type portfolioCollectionsV1Collection_universal_d_Collection = Collection;\n  type portfolioCollectionsV1Collection_universal_d_AdminRemoveMenuItemsResponse = AdminRemoveMenuItemsResponse;\n  type portfolioCollectionsV1Collection_universal_d_CreateCollectionRequest = CreateCollectionRequest;\n  type portfolioCollectionsV1Collection_universal_d_CreateCollectionResponse = CreateCollectionResponse;\n  type portfolioCollectionsV1Collection_universal_d_GetCollectionRequest = GetCollectionRequest;\n  type portfolioCollectionsV1Collection_universal_d_GetCollectionResponse = GetCollectionResponse;\n  type portfolioCollectionsV1Collection_universal_d_ListCollectionsRequest = ListCollectionsRequest;\n  type portfolioCollectionsV1Collection_universal_d_ListCollectionsResponse = ListCollectionsResponse;\n  type portfolioCollectionsV1Collection_universal_d_UpdateCollectionRequest = UpdateCollectionRequest;\n  type portfolioCollectionsV1Collection_universal_d_UpdateCollectionResponse = UpdateCollectionResponse;\n  type portfolioCollectionsV1Collection_universal_d_DeleteCollectionRequest = DeleteCollectionRequest;\n  type portfolioCollectionsV1Collection_universal_d_DeleteCollectionResponse = DeleteCollectionResponse;\n  type portfolioCollectionsV1Collection_universal_d_QueryCollectionsRequest = QueryCollectionsRequest;\n  type portfolioCollectionsV1Collection_universal_d_QueryCollectionsResponse = QueryCollectionsResponse;\n  const portfolioCollectionsV1Collection_universal_d_adminRemoveMenuItems: typeof adminRemoveMenuItems;\n  const portfolioCollectionsV1Collection_universal_d_createCollection: typeof createCollection;\n  const portfolioCollectionsV1Collection_universal_d_getCollection: typeof getCollection;\n  type portfolioCollectionsV1Collection_universal_d_GetCollectionOptions = GetCollectionOptions;\n  const portfolioCollectionsV1Collection_universal_d_listCollections: typeof listCollections;\n  type portfolioCollectionsV1Collection_universal_d_ListCollectionsOptions = ListCollectionsOptions;\n  const portfolioCollectionsV1Collection_universal_d_updateCollection: typeof updateCollection;\n  type portfolioCollectionsV1Collection_universal_d_UpdateCollection = UpdateCollection;\n  type portfolioCollectionsV1Collection_universal_d_UpdateCollectionOptions = UpdateCollectionOptions;\n  const portfolioCollectionsV1Collection_universal_d_deleteCollection: typeof deleteCollection;\n  type portfolioCollectionsV1Collection_universal_d_DeleteCollectionOptions = DeleteCollectionOptions;\n  const portfolioCollectionsV1Collection_universal_d_queryCollections: typeof queryCollections;\n  type portfolioCollectionsV1Collection_universal_d_QueryCollectionsOptions = QueryCollectionsOptions;\n  type portfolioCollectionsV1Collection_universal_d_CollectionsQueryResult = CollectionsQueryResult;\n  type portfolioCollectionsV1Collection_universal_d_CollectionsQueryBuilder = CollectionsQueryBuilder;\n  namespace portfolioCollectionsV1Collection_universal_d {\n    export {\n      portfolioCollectionsV1Collection_universal_d_Collection as Collection,\n      CommonImage$2 as CommonImage,\n      ImageImageType$2 as ImageImageType,\n      CommonPoint$2 as CommonPoint,\n      CommonUnsharpMasking$2 as CommonUnsharpMasking,\n      SeoSchema$2 as SeoSchema,\n      Keyword$2 as Keyword,\n      Tag$2 as Tag,\n      Settings$2 as Settings,\n      DomainEvent$5 as DomainEvent,\n      DomainEventBodyOneOf$5 as DomainEventBodyOneOf,\n      EntityCreatedEvent$5 as EntityCreatedEvent,\n      RestoreInfo$5 as RestoreInfo,\n      EntityUpdatedEvent$5 as EntityUpdatedEvent,\n      EntityDeletedEvent$5 as EntityDeletedEvent,\n      ActionEvent$5 as ActionEvent,\n      Empty$3 as Empty,\n      portfolioCollectionsV1Collection_universal_d_AdminRemoveMenuItemsResponse as AdminRemoveMenuItemsResponse,\n      MessageEnvelope$5 as MessageEnvelope,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      InvalidateCache$2 as InvalidateCache,\n      InvalidateCacheGetByOneOf$2 as InvalidateCacheGetByOneOf,\n      App$2 as App,\n      Page$2 as Page,\n      URI$2 as URI,\n      File$2 as File,\n      portfolioCollectionsV1Collection_universal_d_CreateCollectionRequest as CreateCollectionRequest,\n      portfolioCollectionsV1Collection_universal_d_CreateCollectionResponse as CreateCollectionResponse,\n      portfolioCollectionsV1Collection_universal_d_GetCollectionRequest as GetCollectionRequest,\n      portfolioCollectionsV1Collection_universal_d_GetCollectionResponse as GetCollectionResponse,\n      portfolioCollectionsV1Collection_universal_d_ListCollectionsRequest as ListCollectionsRequest,\n      CursorPaging$4 as CursorPaging,\n      portfolioCollectionsV1Collection_universal_d_ListCollectionsResponse as ListCollectionsResponse,\n      PagingMetadataV2$4 as PagingMetadataV2,\n      Cursors$4 as Cursors,\n      portfolioCollectionsV1Collection_universal_d_UpdateCollectionRequest as UpdateCollectionRequest,\n      portfolioCollectionsV1Collection_universal_d_UpdateCollectionResponse as UpdateCollectionResponse,\n      portfolioCollectionsV1Collection_universal_d_DeleteCollectionRequest as DeleteCollectionRequest,\n      portfolioCollectionsV1Collection_universal_d_DeleteCollectionResponse as DeleteCollectionResponse,\n      portfolioCollectionsV1Collection_universal_d_QueryCollectionsRequest as QueryCollectionsRequest,\n      QueryV2$3 as QueryV2,\n      QueryV2PagingMethodOneOf$3 as QueryV2PagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      Paging$3 as Paging,\n      portfolioCollectionsV1Collection_universal_d_QueryCollectionsResponse as QueryCollectionsResponse,\n      portfolioCollectionsV1Collection_universal_d_adminRemoveMenuItems as adminRemoveMenuItems,\n      portfolioCollectionsV1Collection_universal_d_createCollection as createCollection,\n      portfolioCollectionsV1Collection_universal_d_getCollection as getCollection,\n      portfolioCollectionsV1Collection_universal_d_GetCollectionOptions as GetCollectionOptions,\n      portfolioCollectionsV1Collection_universal_d_listCollections as listCollections,\n      portfolioCollectionsV1Collection_universal_d_ListCollectionsOptions as ListCollectionsOptions,\n      portfolioCollectionsV1Collection_universal_d_updateCollection as updateCollection,\n      portfolioCollectionsV1Collection_universal_d_UpdateCollection as UpdateCollection,\n      portfolioCollectionsV1Collection_universal_d_UpdateCollectionOptions as UpdateCollectionOptions,\n      portfolioCollectionsV1Collection_universal_d_deleteCollection as deleteCollection,\n      portfolioCollectionsV1Collection_universal_d_DeleteCollectionOptions as DeleteCollectionOptions,\n      portfolioCollectionsV1Collection_universal_d_queryCollections as queryCollections,\n      portfolioCollectionsV1Collection_universal_d_QueryCollectionsOptions as QueryCollectionsOptions,\n      portfolioCollectionsV1Collection_universal_d_CollectionsQueryResult as CollectionsQueryResult,\n      portfolioCollectionsV1Collection_universal_d_CollectionsQueryBuilder as CollectionsQueryBuilder,\n    };\n  }\n  \n  interface PortfolioSettings {\n      /**\n       * Revision number. Increments by 1 each time the portfolio settings object is updated. To prevent conflicting changes, the existing revision must be passed when updating the portfolio settings object.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Portfolio's project item settings. */\n      projectItemSettings?: ProjectItemSettings;\n      /** Portfolio's media settings. */\n      mediaSettings?: MediaSettings;\n      /**\n       * The site menu settings\n       * @internal\n       */\n      siteMenuSettings?: SiteMenuSettings;\n      /**\n       * Date and time the portfolio settings were created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the portfolio settings were updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface ProjectItemSettings {\n      /** The direction in which to add new project items to a gallery. Default: `GALLERY_START` */\n      addItemDirection?: AddItemDirection;\n      /** Default title assigned to a project item if no title is provided. Default: `FILE_NAME` */\n      defaultItemName?: DefaultItemName;\n  }\n  enum AddItemDirection {\n      /** Add new project items to the beginning of the gallery. */\n      GALLERY_START = \"GALLERY_START\",\n      /** Add new project items to the end of the gallery. */\n      GALLERY_END = \"GALLERY_END\"\n  }\n  enum DefaultItemName {\n      /** File name assigned as the title. */\n      FILE_NAME = \"FILE_NAME\",\n      /** No title assigned. */\n      EMPTY = \"EMPTY\"\n  }\n  interface MediaSettings {\n      /** ID of the folder containing the media. */\n      folderId?: string | null;\n  }\n  interface SiteMenuSettings {\n      /** Whether to automatically update the site menu */\n      autoUpdateMenu?: boolean | null;\n  }\n  interface CreatePortfolioSettingsRequest {\n      /** The portfolio settings to create. */\n      portfolioSettings: PortfolioSettings;\n  }\n  interface CreatePortfolioSettingsResponse {\n      /** Newly created portfolio settings. */\n      portfolioSettings?: PortfolioSettings;\n  }\n  interface GetPortfolioSettingsRequest {\n  }\n  interface GetPortfolioSettingsResponse {\n      /** Portfolio settings. */\n      portfolioSettings?: PortfolioSettings;\n  }\n  interface UpdatePortfolioSettingsRequest {\n      /** The portfolio settings to update. */\n      portfolioSettings: PortfolioSettings;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdatePortfolioSettingsResponse {\n      /** Updated portfolio settings. */\n      updatedPortfolioSettings?: PortfolioSettings;\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a site's portfolio settings.\n   *\n   * > **Note:**\n   * >\n   * > This method is intended for creating portfolio settings. If settings already exist, the request will return an error. To update existing settings, call [Update Portfolio Settings](https://dev.wix.com/docs/rest/business-solutions/portfolio/portfolio-settings/update-portfolio-settings).\n   * @param portfolioSettings - The portfolio settings to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField portfolioSettings\n   * @requiredField portfolioSettings.projectItemSettings\n   * @permissionId PORTFOLIO.SETTINGS_CREATE\n   * @adminMethod\n   * @returns Newly created portfolio settings.\n   */\n  function createPortfolioSettings(portfolioSettings: PortfolioSettings): Promise<PortfolioSettings>;\n  /**\n   * Retrieves a site's portfolio settings.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PORTFOLIO.SETTINGS_READ\n   * @adminMethod\n   */\n  function getPortfolioSettings(): Promise<GetPortfolioSettingsResponse>;\n  /**\n   * Updates a site's portfolio settings.\n   * @param portfolioSettings - The portfolio settings to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField portfolioSettings\n   * @requiredField portfolioSettings.revision\n   * @permissionId PORTFOLIO.SETTINGS_UPDATE\n   * @adminMethod\n   */\n  function updatePortfolioSettings(portfolioSettings: PortfolioSettings, options?: UpdatePortfolioSettingsOptions): Promise<UpdatePortfolioSettingsResponse>;\n  interface UpdatePortfolioSettingsOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  \n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_PortfolioSettings = PortfolioSettings;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_ProjectItemSettings = ProjectItemSettings;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_AddItemDirection = AddItemDirection;\n  const portfolioPortfolioAppV1PortfolioSettings_universal_d_AddItemDirection: typeof AddItemDirection;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_DefaultItemName = DefaultItemName;\n  const portfolioPortfolioAppV1PortfolioSettings_universal_d_DefaultItemName: typeof DefaultItemName;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_MediaSettings = MediaSettings;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_SiteMenuSettings = SiteMenuSettings;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_CreatePortfolioSettingsRequest = CreatePortfolioSettingsRequest;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_CreatePortfolioSettingsResponse = CreatePortfolioSettingsResponse;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_GetPortfolioSettingsRequest = GetPortfolioSettingsRequest;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_GetPortfolioSettingsResponse = GetPortfolioSettingsResponse;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_UpdatePortfolioSettingsRequest = UpdatePortfolioSettingsRequest;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_UpdatePortfolioSettingsResponse = UpdatePortfolioSettingsResponse;\n  const portfolioPortfolioAppV1PortfolioSettings_universal_d_createPortfolioSettings: typeof createPortfolioSettings;\n  const portfolioPortfolioAppV1PortfolioSettings_universal_d_getPortfolioSettings: typeof getPortfolioSettings;\n  const portfolioPortfolioAppV1PortfolioSettings_universal_d_updatePortfolioSettings: typeof updatePortfolioSettings;\n  type portfolioPortfolioAppV1PortfolioSettings_universal_d_UpdatePortfolioSettingsOptions = UpdatePortfolioSettingsOptions;\n  namespace portfolioPortfolioAppV1PortfolioSettings_universal_d {\n    export {\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_PortfolioSettings as PortfolioSettings,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_ProjectItemSettings as ProjectItemSettings,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_AddItemDirection as AddItemDirection,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_DefaultItemName as DefaultItemName,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_MediaSettings as MediaSettings,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_SiteMenuSettings as SiteMenuSettings,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_CreatePortfolioSettingsRequest as CreatePortfolioSettingsRequest,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_CreatePortfolioSettingsResponse as CreatePortfolioSettingsResponse,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_GetPortfolioSettingsRequest as GetPortfolioSettingsRequest,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_GetPortfolioSettingsResponse as GetPortfolioSettingsResponse,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_UpdatePortfolioSettingsRequest as UpdatePortfolioSettingsRequest,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_UpdatePortfolioSettingsResponse as UpdatePortfolioSettingsResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_createPortfolioSettings as createPortfolioSettings,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_getPortfolioSettings as getPortfolioSettings,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_updatePortfolioSettings as updatePortfolioSettings,\n      portfolioPortfolioAppV1PortfolioSettings_universal_d_UpdatePortfolioSettingsOptions as UpdatePortfolioSettingsOptions,\n    };\n  }\n  \n  interface ProjectitemsItem extends ProjectitemsItemMetadataOneOf {\n      /** Information about the Wix Media image. */\n      image?: CommonImage$1;\n      /** Information about the Wix Media video. */\n      video?: CommonVideo;\n      /** Project ID. */\n      projectId?: string | null;\n      /**\n       * Project item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Index that determines which position a project is displayed in the project.  <br />\n       *\n       * Default: [Epoch](https://www.epoch101.com/) timestamp. <br />\n       */\n      sortOrder?: number | null;\n      /** Project item title. */\n      title?: string | null;\n      /** Project item description. */\n      description?: string | null;\n      /**\n       * Project item data type.\n       * @readonly\n       */\n      type?: ItemType;\n      /**\n       * Date and time the project item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the project item was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Project item tags.\n       * @internal\n       */\n      tags?: ProjectitemsTags;\n      /** Project item link. */\n      link?: Link;\n  }\n  /** @oneof */\n  interface ProjectitemsItemMetadataOneOf {\n      /** Information about the Wix Media image. */\n      image?: CommonImage$1;\n      /** Information about the Wix Media video. */\n      video?: CommonVideo;\n  }\n  enum ItemType {\n      /** Undefined item type. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Image item type. */\n      IMAGE = \"IMAGE\",\n      /** Video item type. */\n      VIDEO = \"VIDEO\"\n  }\n  interface CommonImage$1 {\n      /**\n       * @internal\n       * @deprecated\n       */\n      type?: ImageImageType$1;\n      /** Information about the Wix Media image. */\n      imageInfo?: string;\n      /** Focal point of the image. */\n      focalPoint?: CommonPoint$1;\n      /**\n       * Set of key-value pairs describing the media in [Exchangeable Image File format](https://en.wikipedia.org/wiki/Exif).\n       * @internal\n       */\n      exif?: Record<string, any> | null;\n      /**\n       * Image compression level. <br />\n       *\n       * Min: `30` <br />\n       * Max: `100`\n       * @internal\n       */\n      quality?: number | null;\n      /**\n       * [Unsharp masking](https://en.wikipedia.org/wiki/Unsharp_masking) values of the image.\n       * @internal\n       */\n      unsharpMasking?: CommonUnsharpMasking$1;\n      /**\n       * Whether the image is saved in secure media.\n       * @internal\n       */\n      secure?: boolean | null;\n      /**\n       * When image is saved in secure media, token is generated.\n       * @internal\n       * @readonly\n       */\n      token?: string | null;\n  }\n  enum ImageImageType$1 {\n      UNDEFINED = \"UNDEFINED\",\n      WIX_MEDIA = \"WIX_MEDIA\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface CommonPoint$1 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n  }\n  interface CommonUnsharpMasking$1 {\n      /**\n       * Unsharp masking amount. Controls the sharpening strength. <br />\n       *\n       * Min: `0` <br />\n       * Max: `5`\n       */\n      amount?: number | null;\n      /** Unsharp masking radius in pixels. Controls the sharpening width. */\n      radius?: number | null;\n      /**\n       * Unsharp masking threshold. Controls how different neighboring pixels must be for shapening to apply. <br />\n       *\n       * Min: `0` <br />\n       * Max: `1`\n       */\n      threshold?: number | null;\n  }\n  interface CommonVideo {\n      /** Information about the Wix Media video. */\n      videoInfo?: string;\n      /** Manually defined Video duration in milliseconds. */\n      durationInMillis?: number | null;\n  }\n  interface CommonVideoResolution {\n      /** Video URL.  Required. */\n      url?: string;\n      /** Video height. Required. */\n      height?: number;\n      /** Video width.  Required. */\n      width?: number;\n      /**\n       * Video poster. Deprecated, please use the `posters` property in the parent entity\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls.  Required. */\n      format?: string;\n      /** Video quality for example 480p, 720p. */\n      quality?: string | null;\n      /** Video filename. */\n      filename?: string | null;\n  }\n  interface ProjectitemsTags {\n      /** List of tags assigned to the media item. */\n      values?: string[];\n  }\n  interface Link {\n      /** Display text of the link. */\n      text?: string | null;\n      /** Target URL of the link. */\n      url?: string | null;\n      /**\n       * Whether the link opens in a new tab or window. One of:\n       * * `'_blank'`: The link opens in a new tab or window.\n       * * `'_self'`: The link opens in the same tab or window.\n       */\n      target?: string | null;\n  }\n  interface GenerateTokenForProjectItemsRequest {\n      /** Media ids of requested project items */\n      mediaIds: string[];\n  }\n  interface GenerateTokenForProjectItemsResponse {\n      /** Generated media tokens for project items */\n      mediaTokens?: ProjectItemMediaToken[];\n  }\n  interface ProjectItemMediaToken {\n      /** Media id of project item */\n      mediaId?: string;\n      /** Generated media token for project item */\n      mediaToken?: string;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface InvalidateCache$1 extends InvalidateCacheGetByOneOf$1 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page$1;\n      /** Invalidate by URI path */\n      uri?: URI$1;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$1;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$1 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page$1;\n      /** Invalidate by URI path */\n      uri?: URI$1;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$1;\n  }\n  interface App$1 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$1 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$1 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$1 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateProjectItemRequest {\n      /** Project item to create. */\n      item: ProjectitemsItem;\n  }\n  interface CreateProjectItemResponse {\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      projectId?: string;\n      /** Newly created project item. */\n      item?: ProjectitemsItem;\n  }\n  interface BulkCreateProjectItemsRequest {\n      /**\n       * Project ID.\n       * @internal\n       */\n      projectId: string;\n      /** Project items to create. */\n      items: ProjectitemsItem[];\n      /** Whether to include the created project items in the response. Set to `true` to receive the project items in the response. Default: `false` */\n      returnFullEntity?: boolean | null;\n  }\n  interface BulkCreateProjectItemsResponse {\n      /**\n       * Project ID.\n       * @internal\n       */\n      projectId?: string;\n      /** Project items created by bulk action. */\n      results?: BulkCreateProjectItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkCreateProjectItemResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata$1;\n      /** Newly created project item. */\n      item?: ProjectitemsItem;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetProjectItemRequest {\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      projectId?: string;\n      /** Project item ID. */\n      itemId: string;\n  }\n  interface GetProjectItemResponse {\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      projectId?: string;\n      /** Project item. */\n      item?: ProjectitemsItem;\n  }\n  interface ListProjectItemsRequest {\n      /** Project ID. */\n      projectId: string;\n      /** Maximum number of items to return in the results. */\n      paging?: Paging$2;\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListProjectItemsResponse {\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      projectId?: string;\n      /** Project items. */\n      items?: ProjectitemsItem[];\n      /**\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      pagingMetadataV2?: PagingMetadataV2$3;\n      /** Paging metadata. */\n      metadata?: PagingMetadataV2$3;\n  }\n  interface PagingMetadataV2$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$3;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$3 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryProjectItemsRequest {\n      /** WQL expression */\n      query?: QueryV2$2;\n  }\n  interface QueryV2$2 extends QueryV2PagingMethodOneOf$2 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$2[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$2 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$3 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryProjectItemsResponse {\n      /** Project items. */\n      items?: ProjectitemsItem[];\n      /** Paging metadata. */\n      metadata?: PagingMetadataV2$3;\n  }\n  interface UpdateProjectItemRequest {\n      /** The project item to update. */\n      item: ProjectitemsItem;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateProjectItemResponse {\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      projectId?: string;\n      /** The updated project item. */\n      item?: ProjectitemsItem;\n  }\n  interface BulkUpdateProjectItemsRequest {\n      /**\n       * Project ID.\n       * @internal\n       */\n      projectId: string;\n      /** items to be updated. */\n      items?: MaskedItem[];\n      /** Whether to include the updated project items in the response. Set to `true` to receive the project items in the response. Default: `false` */\n      returnFullEntity?: boolean | null;\n  }\n  interface MaskedItem {\n      /** Item to be updated. */\n      item?: ProjectitemsItem;\n      /**\n       * Fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateProjectItemsResponse {\n      /**\n       * Project ID.\n       * @internal\n       */\n      projectId?: string;\n      /** Project items updated by bulk action. */\n      results?: BulkUpdateProjectItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkUpdateProjectItemResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata$1;\n      /** Updated project item. */\n      item?: ProjectitemsItem;\n  }\n  interface DeleteProjectItemRequest {\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      projectId?: string;\n      /** ID of the project item to delete. */\n      itemId: string;\n  }\n  interface DeleteProjectItemResponse {\n      /** Project ID. */\n      projectId?: string;\n      /** ID of the deleted project item. */\n      itemId?: string;\n  }\n  interface BulkDeleteProjectItemsRequest {\n      /**\n       * Project ID.\n       * @internal\n       */\n      projectId: string;\n      /** Project item IDs. */\n      itemIds: string[];\n  }\n  interface BulkDeleteProjectItemsResponse {\n      /**\n       * Project ID.\n       * @internal\n       */\n      projectId?: string;\n      /** Project items deleted by bulk action. */\n      results?: BulkDeleteProjectItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkDeleteProjectItemResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata$1;\n      /** Project item ID. */\n      itemId?: string;\n  }\n  interface CreateProjectGalleryRequest {\n      /** Id of Project to create */\n      projectId?: string;\n  }\n  interface CreateProjectGalleryResponse {\n      /** Id of created Project */\n      projectId?: string;\n      /** Id of created gallery */\n      galleryId?: string;\n  }\n  interface Empty$2 {\n  }\n  interface DeletedProjectRestored$1 {\n      /** the id of the project that was restored */\n      projectId?: string;\n      /** timestamp for when the project was originally deleted. */\n      deletionTimestamp?: Date | null;\n  }\n  interface DuplicateProjectItemsRequest {\n      /** ID of the project containing the items to duplicate. */\n      originProjectId: string;\n      /** ID of the project where the duplicated items will be added. */\n      targetProjectId: string;\n  }\n  interface DuplicateProjectItemsResponse {\n      /** Project ID where the duplicated items have been added. */\n      projectId?: string;\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  /**\n   * Generate media token for project items\n   * @param mediaIds - Media ids of requested project items\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField mediaIds\n   * @permissionId PORTFOLIO.PROJECT_ITEM_CREATE\n   * @adminMethod\n   */\n  function generateTokenForProjectItems(mediaIds: string[]): Promise<GenerateTokenForProjectItemsResponse>;\n  /**\n   * Creates a project item.\n   * @param item - Project item to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField item\n   * @permissionId PORTFOLIO.PROJECT_ITEM_CREATE\n   * @adminMethod\n   * @returns Newly created project item.\n   */\n  function createProjectItem(item: ProjectitemsItem): Promise<ProjectitemsItem>;\n  /**\n   * Creates multiple project items.\n   * @param projectId - Project ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.items\n   * @requiredField projectId\n   * @permissionId PORTFOLIO.PROJECT_ITEM_CREATE\n   * @adminMethod\n   */\n  function bulkCreateProjectItems(projectId: string, options?: BulkCreateProjectItemsOptions): Promise<BulkCreateProjectItemsResponse>;\n  interface BulkCreateProjectItemsOptions {\n      /** Project items to create. */\n      items: ProjectitemsItem[];\n      /** Whether to include the created project items in the response. Set to `true` to receive the project items in the response. Default: `false` */\n      returnFullEntity?: boolean | null;\n  }\n  /**\n   * Retrieves a project item.\n   * @param itemId - Project item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @permissionId PORTFOLIO.PROJECT_ITEM_READ\n   * @returns Project item.\n   */\n  function getProjectItem(itemId: string, options?: GetProjectItemOptions): Promise<ProjectitemsItem>;\n  interface GetProjectItemOptions {\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      projectId?: string;\n  }\n  /**\n   * Retrieves a list of all project items in the specified project.\n   * @param projectId - Project ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField projectId\n   * @permissionId PORTFOLIO.PROJECT_ITEM_READ\n   */\n  function listProjectItems(projectId: string, options?: ListProjectItemsOptions): Promise<ListProjectItemsResponse>;\n  interface ListProjectItemsOptions {\n      /** Maximum number of items to return in the results. */\n      paging?: Paging$2;\n  }\n  /**\n   * Query Collections using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * supported only by projectId & id\n   * internal usage only - should not be used, created for auto-db-driver only\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId PORTFOLIO.PROJECT_ITEM_READ\n   */\n  function queryProjectItems(): ItemsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ItemsQueryResult extends QueryOffsetResult {\n      items: ProjectitemsItem[];\n      query: ItemsQueryBuilder;\n      next: () => Promise<ItemsQueryResult>;\n      prev: () => Promise<ItemsQueryResult>;\n  }\n  interface ItemsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'projectId' | '_id', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id', value: string) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id', value: any[]) => ItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id', value: any) => ItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id', value: boolean) => ItemsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ItemsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => ItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ItemsQueryResult>;\n  }\n  /**\n   * Updates a project item.\n   * @param _id - Project item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField item\n   * @permissionId PORTFOLIO.PROJECT_ITEM_UPDATE\n   * @adminMethod\n   * @returns The updated project item.\n   */\n  function updateProjectItem(_id: string | null, item: UpdateProjectItem, options?: UpdateProjectItemOptions): Promise<ProjectitemsItem>;\n  interface UpdateProjectItem {\n      /** Information about the Wix Media image. */\n      image?: CommonImage$1;\n      /** Information about the Wix Media video. */\n      video?: CommonVideo;\n      /** Project ID. */\n      projectId?: string | null;\n      /**\n       * Project item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Index that determines which position a project is displayed in the project.  <br />\n       *\n       * Default: [Epoch](https://www.epoch101.com/) timestamp. <br />\n       */\n      sortOrder?: number | null;\n      /** Project item title. */\n      title?: string | null;\n      /** Project item description. */\n      description?: string | null;\n      /**\n       * Project item data type.\n       * @readonly\n       */\n      type?: ItemType;\n      /**\n       * Date and time the project item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the project item was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Project item tags.\n       * @internal\n       */\n      tags?: ProjectitemsTags;\n      /** Project item link. */\n      link?: Link;\n  }\n  interface UpdateProjectItemOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Updates multiple project items.\n   * @param projectId - Project ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.items.item\n   * @requiredField options.items.item._id\n   * @requiredField projectId\n   * @permissionId PORTFOLIO.PROJECT_ITEM_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateProjectItems(projectId: string, options?: BulkUpdateProjectItemsOptions): Promise<BulkUpdateProjectItemsResponse>;\n  interface BulkUpdateProjectItemsOptions {\n      /** items to be updated. */\n      items?: MaskedItem[];\n      /** Whether to include the updated project items in the response. Set to `true` to receive the project items in the response. Default: `false` */\n      returnFullEntity?: boolean | null;\n  }\n  /**\n   * Deletes a project item.\n   * @param itemId - ID of the project item to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @permissionId PORTFOLIO.PROJECT_ITEM_DELETE\n   * @adminMethod\n   */\n  function deleteProjectItem(itemId: string, options?: DeleteProjectItemOptions): Promise<DeleteProjectItemResponse>;\n  interface DeleteProjectItemOptions {\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-05-25\n       */\n      projectId?: string;\n  }\n  /**\n   * Deletes multiple project items.\n   * @param projectId - Project ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.itemIds\n   * @requiredField projectId\n   * @permissionId PORTFOLIO.PROJECT_ITEM_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteProjectItems(projectId: string, options: BulkDeleteProjectItemsOptions): Promise<BulkDeleteProjectItemsResponse>;\n  interface BulkDeleteProjectItemsOptions {\n      /** Project item IDs. */\n      itemIds: string[];\n  }\n  /**\n   * Duplicates project items from one project (the origin) to another project (the target).\n   *\n   * <blockquote class=\"important\">\n   * <strong>Important:</strong>\n   *\n   * Both the origin and target projects must exist before calling this method.\n   * </blockquote>\n   * @param originProjectId - ID of the project containing the items to duplicate.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.targetProjectId\n   * @requiredField originProjectId\n   * @permissionId PORTFOLIO.PROJECT_ITEM_CREATE\n   * @adminMethod\n   */\n  function duplicateProjectItems(originProjectId: string, options: DuplicateProjectItemsOptions): Promise<DuplicateProjectItemsResponse>;\n  interface DuplicateProjectItemsOptions {\n      /** ID of the project where the duplicated items will be added. */\n      targetProjectId: string;\n  }\n  \n  type portfolioProjectItemsV1ProjectItem_universal_d_ProjectitemsItem = ProjectitemsItem;\n  type portfolioProjectItemsV1ProjectItem_universal_d_ProjectitemsItemMetadataOneOf = ProjectitemsItemMetadataOneOf;\n  type portfolioProjectItemsV1ProjectItem_universal_d_ItemType = ItemType;\n  const portfolioProjectItemsV1ProjectItem_universal_d_ItemType: typeof ItemType;\n  type portfolioProjectItemsV1ProjectItem_universal_d_CommonVideo = CommonVideo;\n  type portfolioProjectItemsV1ProjectItem_universal_d_CommonVideoResolution = CommonVideoResolution;\n  type portfolioProjectItemsV1ProjectItem_universal_d_ProjectitemsTags = ProjectitemsTags;\n  type portfolioProjectItemsV1ProjectItem_universal_d_Link = Link;\n  type portfolioProjectItemsV1ProjectItem_universal_d_GenerateTokenForProjectItemsRequest = GenerateTokenForProjectItemsRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_GenerateTokenForProjectItemsResponse = GenerateTokenForProjectItemsResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_ProjectItemMediaToken = ProjectItemMediaToken;\n  type portfolioProjectItemsV1ProjectItem_universal_d_CreateProjectItemRequest = CreateProjectItemRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_CreateProjectItemResponse = CreateProjectItemResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkCreateProjectItemsRequest = BulkCreateProjectItemsRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkCreateProjectItemsResponse = BulkCreateProjectItemsResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkCreateProjectItemResult = BulkCreateProjectItemResult;\n  type portfolioProjectItemsV1ProjectItem_universal_d_GetProjectItemRequest = GetProjectItemRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_GetProjectItemResponse = GetProjectItemResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_ListProjectItemsRequest = ListProjectItemsRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_ListProjectItemsResponse = ListProjectItemsResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_QueryProjectItemsRequest = QueryProjectItemsRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_QueryProjectItemsResponse = QueryProjectItemsResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_UpdateProjectItemRequest = UpdateProjectItemRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_UpdateProjectItemResponse = UpdateProjectItemResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkUpdateProjectItemsRequest = BulkUpdateProjectItemsRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_MaskedItem = MaskedItem;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkUpdateProjectItemsResponse = BulkUpdateProjectItemsResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkUpdateProjectItemResult = BulkUpdateProjectItemResult;\n  type portfolioProjectItemsV1ProjectItem_universal_d_DeleteProjectItemRequest = DeleteProjectItemRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_DeleteProjectItemResponse = DeleteProjectItemResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkDeleteProjectItemsRequest = BulkDeleteProjectItemsRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkDeleteProjectItemsResponse = BulkDeleteProjectItemsResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkDeleteProjectItemResult = BulkDeleteProjectItemResult;\n  type portfolioProjectItemsV1ProjectItem_universal_d_CreateProjectGalleryRequest = CreateProjectGalleryRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_CreateProjectGalleryResponse = CreateProjectGalleryResponse;\n  type portfolioProjectItemsV1ProjectItem_universal_d_DuplicateProjectItemsRequest = DuplicateProjectItemsRequest;\n  type portfolioProjectItemsV1ProjectItem_universal_d_DuplicateProjectItemsResponse = DuplicateProjectItemsResponse;\n  const portfolioProjectItemsV1ProjectItem_universal_d_generateTokenForProjectItems: typeof generateTokenForProjectItems;\n  const portfolioProjectItemsV1ProjectItem_universal_d_createProjectItem: typeof createProjectItem;\n  const portfolioProjectItemsV1ProjectItem_universal_d_bulkCreateProjectItems: typeof bulkCreateProjectItems;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkCreateProjectItemsOptions = BulkCreateProjectItemsOptions;\n  const portfolioProjectItemsV1ProjectItem_universal_d_getProjectItem: typeof getProjectItem;\n  type portfolioProjectItemsV1ProjectItem_universal_d_GetProjectItemOptions = GetProjectItemOptions;\n  const portfolioProjectItemsV1ProjectItem_universal_d_listProjectItems: typeof listProjectItems;\n  type portfolioProjectItemsV1ProjectItem_universal_d_ListProjectItemsOptions = ListProjectItemsOptions;\n  const portfolioProjectItemsV1ProjectItem_universal_d_queryProjectItems: typeof queryProjectItems;\n  type portfolioProjectItemsV1ProjectItem_universal_d_ItemsQueryResult = ItemsQueryResult;\n  type portfolioProjectItemsV1ProjectItem_universal_d_ItemsQueryBuilder = ItemsQueryBuilder;\n  const portfolioProjectItemsV1ProjectItem_universal_d_updateProjectItem: typeof updateProjectItem;\n  type portfolioProjectItemsV1ProjectItem_universal_d_UpdateProjectItem = UpdateProjectItem;\n  type portfolioProjectItemsV1ProjectItem_universal_d_UpdateProjectItemOptions = UpdateProjectItemOptions;\n  const portfolioProjectItemsV1ProjectItem_universal_d_bulkUpdateProjectItems: typeof bulkUpdateProjectItems;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkUpdateProjectItemsOptions = BulkUpdateProjectItemsOptions;\n  const portfolioProjectItemsV1ProjectItem_universal_d_deleteProjectItem: typeof deleteProjectItem;\n  type portfolioProjectItemsV1ProjectItem_universal_d_DeleteProjectItemOptions = DeleteProjectItemOptions;\n  const portfolioProjectItemsV1ProjectItem_universal_d_bulkDeleteProjectItems: typeof bulkDeleteProjectItems;\n  type portfolioProjectItemsV1ProjectItem_universal_d_BulkDeleteProjectItemsOptions = BulkDeleteProjectItemsOptions;\n  const portfolioProjectItemsV1ProjectItem_universal_d_duplicateProjectItems: typeof duplicateProjectItems;\n  type portfolioProjectItemsV1ProjectItem_universal_d_DuplicateProjectItemsOptions = DuplicateProjectItemsOptions;\n  namespace portfolioProjectItemsV1ProjectItem_universal_d {\n    export {\n      portfolioProjectItemsV1ProjectItem_universal_d_ProjectitemsItem as ProjectitemsItem,\n      portfolioProjectItemsV1ProjectItem_universal_d_ProjectitemsItemMetadataOneOf as ProjectitemsItemMetadataOneOf,\n      portfolioProjectItemsV1ProjectItem_universal_d_ItemType as ItemType,\n      CommonImage$1 as CommonImage,\n      ImageImageType$1 as ImageImageType,\n      CommonPoint$1 as CommonPoint,\n      CommonUnsharpMasking$1 as CommonUnsharpMasking,\n      portfolioProjectItemsV1ProjectItem_universal_d_CommonVideo as CommonVideo,\n      portfolioProjectItemsV1ProjectItem_universal_d_CommonVideoResolution as CommonVideoResolution,\n      portfolioProjectItemsV1ProjectItem_universal_d_ProjectitemsTags as ProjectitemsTags,\n      portfolioProjectItemsV1ProjectItem_universal_d_Link as Link,\n      portfolioProjectItemsV1ProjectItem_universal_d_GenerateTokenForProjectItemsRequest as GenerateTokenForProjectItemsRequest,\n      portfolioProjectItemsV1ProjectItem_universal_d_GenerateTokenForProjectItemsResponse as GenerateTokenForProjectItemsResponse,\n      portfolioProjectItemsV1ProjectItem_universal_d_ProjectItemMediaToken as ProjectItemMediaToken,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      InvalidateCache$1 as InvalidateCache,\n      InvalidateCacheGetByOneOf$1 as InvalidateCacheGetByOneOf,\n      App$1 as App,\n      Page$1 as Page,\n      URI$1 as URI,\n      File$1 as File,\n      portfolioProjectItemsV1ProjectItem_universal_d_CreateProjectItemRequest as CreateProjectItemRequest,\n      portfolioProjectItemsV1ProjectItem_universal_d_CreateProjectItemResponse as CreateProjectItemResponse,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkCreateProjectItemsRequest as BulkCreateProjectItemsRequest,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkCreateProjectItemsResponse as BulkCreateProjectItemsResponse,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkCreateProjectItemResult as BulkCreateProjectItemResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      portfolioProjectItemsV1ProjectItem_universal_d_GetProjectItemRequest as GetProjectItemRequest,\n      portfolioProjectItemsV1ProjectItem_universal_d_GetProjectItemResponse as GetProjectItemResponse,\n      portfolioProjectItemsV1ProjectItem_universal_d_ListProjectItemsRequest as ListProjectItemsRequest,\n      Paging$2 as Paging,\n      portfolioProjectItemsV1ProjectItem_universal_d_ListProjectItemsResponse as ListProjectItemsResponse,\n      PagingMetadataV2$3 as PagingMetadataV2,\n      Cursors$3 as Cursors,\n      portfolioProjectItemsV1ProjectItem_universal_d_QueryProjectItemsRequest as QueryProjectItemsRequest,\n      QueryV2$2 as QueryV2,\n      QueryV2PagingMethodOneOf$2 as QueryV2PagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$3 as CursorPaging,\n      portfolioProjectItemsV1ProjectItem_universal_d_QueryProjectItemsResponse as QueryProjectItemsResponse,\n      portfolioProjectItemsV1ProjectItem_universal_d_UpdateProjectItemRequest as UpdateProjectItemRequest,\n      portfolioProjectItemsV1ProjectItem_universal_d_UpdateProjectItemResponse as UpdateProjectItemResponse,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkUpdateProjectItemsRequest as BulkUpdateProjectItemsRequest,\n      portfolioProjectItemsV1ProjectItem_universal_d_MaskedItem as MaskedItem,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkUpdateProjectItemsResponse as BulkUpdateProjectItemsResponse,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkUpdateProjectItemResult as BulkUpdateProjectItemResult,\n      portfolioProjectItemsV1ProjectItem_universal_d_DeleteProjectItemRequest as DeleteProjectItemRequest,\n      portfolioProjectItemsV1ProjectItem_universal_d_DeleteProjectItemResponse as DeleteProjectItemResponse,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkDeleteProjectItemsRequest as BulkDeleteProjectItemsRequest,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkDeleteProjectItemsResponse as BulkDeleteProjectItemsResponse,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkDeleteProjectItemResult as BulkDeleteProjectItemResult,\n      portfolioProjectItemsV1ProjectItem_universal_d_CreateProjectGalleryRequest as CreateProjectGalleryRequest,\n      portfolioProjectItemsV1ProjectItem_universal_d_CreateProjectGalleryResponse as CreateProjectGalleryResponse,\n      Empty$2 as Empty,\n      DeletedProjectRestored$1 as DeletedProjectRestored,\n      portfolioProjectItemsV1ProjectItem_universal_d_DuplicateProjectItemsRequest as DuplicateProjectItemsRequest,\n      portfolioProjectItemsV1ProjectItem_universal_d_DuplicateProjectItemsResponse as DuplicateProjectItemsResponse,\n      portfolioProjectItemsV1ProjectItem_universal_d_generateTokenForProjectItems as generateTokenForProjectItems,\n      portfolioProjectItemsV1ProjectItem_universal_d_createProjectItem as createProjectItem,\n      portfolioProjectItemsV1ProjectItem_universal_d_bulkCreateProjectItems as bulkCreateProjectItems,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkCreateProjectItemsOptions as BulkCreateProjectItemsOptions,\n      portfolioProjectItemsV1ProjectItem_universal_d_getProjectItem as getProjectItem,\n      portfolioProjectItemsV1ProjectItem_universal_d_GetProjectItemOptions as GetProjectItemOptions,\n      portfolioProjectItemsV1ProjectItem_universal_d_listProjectItems as listProjectItems,\n      portfolioProjectItemsV1ProjectItem_universal_d_ListProjectItemsOptions as ListProjectItemsOptions,\n      portfolioProjectItemsV1ProjectItem_universal_d_queryProjectItems as queryProjectItems,\n      portfolioProjectItemsV1ProjectItem_universal_d_ItemsQueryResult as ItemsQueryResult,\n      portfolioProjectItemsV1ProjectItem_universal_d_ItemsQueryBuilder as ItemsQueryBuilder,\n      portfolioProjectItemsV1ProjectItem_universal_d_updateProjectItem as updateProjectItem,\n      portfolioProjectItemsV1ProjectItem_universal_d_UpdateProjectItem as UpdateProjectItem,\n      portfolioProjectItemsV1ProjectItem_universal_d_UpdateProjectItemOptions as UpdateProjectItemOptions,\n      portfolioProjectItemsV1ProjectItem_universal_d_bulkUpdateProjectItems as bulkUpdateProjectItems,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkUpdateProjectItemsOptions as BulkUpdateProjectItemsOptions,\n      portfolioProjectItemsV1ProjectItem_universal_d_deleteProjectItem as deleteProjectItem,\n      portfolioProjectItemsV1ProjectItem_universal_d_DeleteProjectItemOptions as DeleteProjectItemOptions,\n      portfolioProjectItemsV1ProjectItem_universal_d_bulkDeleteProjectItems as bulkDeleteProjectItems,\n      portfolioProjectItemsV1ProjectItem_universal_d_BulkDeleteProjectItemsOptions as BulkDeleteProjectItemsOptions,\n      portfolioProjectItemsV1ProjectItem_universal_d_duplicateProjectItems as duplicateProjectItems,\n      portfolioProjectItemsV1ProjectItem_universal_d_DuplicateProjectItemsOptions as DuplicateProjectItemsOptions,\n    };\n  }\n  \n  interface Project$1 extends ProjectCoverOneOf$1 {\n      /** Project cover image. */\n      coverImage?: CommonImage;\n      /** Project cover video. */\n      coverVideo?: Video$1;\n      /**\n       * Project ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the project is updated. To prevent conflicting changes, the existing revision must be passed when updating the project object.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Project title. */\n      title?: string | null;\n      /** Project description. */\n      description?: string | null;\n      /** Whether the project is hidden from the portfolio. Default: `false` */\n      hidden?: boolean | null;\n      /** IDs of the collections that include the project. */\n      collectionIds?: string[];\n      /** Project details. */\n      details?: ProjectDetail$1[];\n      /** Project slug. */\n      slug?: string | null;\n      /**\n       * Date and time the project was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the project was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * project source - When project is synced from external platform, this field will represent the app & source the projects synced from.\n       * @internal\n       */\n      source?: ProjectSource$1;\n      /**\n       * Project page URL and and relative path. Returned when `includePageUrl` is `true` in the request.\n       * @readonly\n       */\n      url?: string;\n      /** Project SEO data. */\n      seoData?: SeoSchema$1;\n      /**\n       * Whether the project is synced to an external platform and will receive daily updates.\n       * @internal\n       * @readonly\n       */\n      syncedProject?: boolean | null;\n  }\n  /** @oneof */\n  interface ProjectCoverOneOf$1 {\n      /** Project cover image. */\n      coverImage?: CommonImage;\n      /** Project cover video. */\n      coverVideo?: Video$1;\n  }\n  interface CommonImage {\n      /**\n       * @internal\n       * @deprecated\n       */\n      type?: ImageImageType;\n      /** Information about the Wix Media image. */\n      imageInfo?: string;\n      /** Focal point of the image. */\n      focalPoint?: CommonPoint;\n      /**\n       * Set of key-value pairs describing the media in [Exchangeable Image File format](https://en.wikipedia.org/wiki/Exif).\n       * @internal\n       */\n      exif?: Record<string, any> | null;\n      /**\n       * Image compression level. <br />\n       *\n       * Min: `30` <br />\n       * Max: `100`\n       * @internal\n       */\n      quality?: number | null;\n      /**\n       * [Unsharp masking](https://en.wikipedia.org/wiki/Unsharp_masking) values of the image.\n       * @internal\n       */\n      unsharpMasking?: CommonUnsharpMasking;\n      /**\n       * Whether the image is saved in secure media.\n       * @internal\n       */\n      secure?: boolean | null;\n      /**\n       * When image is saved in secure media, token is generated.\n       * @internal\n       * @readonly\n       */\n      token?: string | null;\n  }\n  enum ImageImageType {\n      UNDEFINED = \"UNDEFINED\",\n      WIX_MEDIA = \"WIX_MEDIA\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface CommonPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n  }\n  interface CommonUnsharpMasking {\n      /**\n       * Unsharp masking amount. Controls the sharpening strength. <br />\n       *\n       * Min: `0` <br />\n       * Max: `5`\n       */\n      amount?: number | null;\n      /** Unsharp masking radius in pixels. Controls the sharpening width. */\n      radius?: number | null;\n      /**\n       * Unsharp masking threshold. Controls how different neighboring pixels must be for shapening to apply. <br />\n       *\n       * Min: `0` <br />\n       * Max: `1`\n       */\n      threshold?: number | null;\n  }\n  interface Video$1 {\n      /** Information about the Wix Media video. */\n      videoInfo?: string;\n      /** Manually defined Video duration in milliseconds. */\n      durationInMillis?: number | null;\n  }\n  interface VideoResolution$1 {\n      /** Video URL.  Required. */\n      url?: string;\n      /** Video height. Required. */\n      height?: number;\n      /** Video width.  Required. */\n      width?: number;\n      /**\n       * Video poster. Deprecated, please use the `posters` property in the parent entity\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls.  Required. */\n      format?: string;\n      /** Video quality for example 480p, 720p. */\n      quality?: string | null;\n      /** Video filename. */\n      filename?: string | null;\n  }\n  /**\n   * Project label.\n   * One of:\n   * + `text`\n   * + `link`\n   */\n  interface ProjectDetail$1 extends ProjectDetailValueOneOf$1 {\n      /** Project label in plain text format. */\n      text?: string;\n      /** Project label in link format. */\n      link?: DetailsLink$1;\n      /** Project label. */\n      label?: string;\n  }\n  /** @oneof */\n  interface ProjectDetailValueOneOf$1 {\n      /** Project label in plain text format. */\n      text?: string;\n      /** Project label in link format. */\n      link?: DetailsLink$1;\n  }\n  interface DetailsLink$1 {\n      /** Display text of the link. */\n      text?: string | null;\n      /** Target URL of the link. */\n      url?: string | null;\n      /**\n       * Whether the link opens in a new tab or window. One of:\n       * * `'_blank'`: The link opens in a new tab or window.\n       * * `'_self'`: The link opens in the same tab or window.\n       */\n      target?: string | null;\n  }\n  interface ProjectSource$1 {\n      /** App definition id */\n      appDefId?: string;\n      /** External source id */\n      externalId?: string;\n      /** Source name */\n      sourceName?: string;\n      /** Source description */\n      description?: string | null;\n      /** link to external source */\n      link?: string | null;\n      /** Sync status */\n      syncStatus?: SyncStatus$2;\n      /** fields that are synced from external source, should be blocked to update in UI */\n      notEditableFields?: string[];\n      /** last date the project was synced */\n      lastSync?: Date | null;\n  }\n  enum SyncStatus$2 {\n      SYNCED = \"SYNCED\",\n      SYNCING = \"SYNCING\",\n      NOT_SYNCED = \"NOT_SYNCED\"\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$1 {\n      /** SEO tag information. */\n      tags?: Tag$1[];\n      /** SEO general settings. */\n      settings?: Settings$1;\n  }\n  interface Keyword$1 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag$1 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$1 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$1[];\n  }\n  interface MenuSettingUpdatedEvent {\n  }\n  interface GetProjectPageDataRequest {\n      /** Slug of the project's current collection */\n      collectionSlug: string;\n      /** Project's slug */\n      projectSlug: string;\n  }\n  interface GetProjectPageDataResponse {\n      /** Project data */\n      project?: Project$1;\n      /** Previous project slug */\n      previousProject?: ProjectSlug;\n      /** Next project slug */\n      nextProject?: ProjectSlug;\n  }\n  interface ProjectSlug {\n      /** Project id */\n      projectId?: string;\n      /** Project slug */\n      slug?: string;\n  }\n  interface CreateNewPortfolioAppRequest {\n  }\n  interface CreateNewPortfolioAppResponse {\n  }\n  interface MetaSiteSpecialEvent$1 extends MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset$1[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n  }\n  interface Asset$1 {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State$1;\n  }\n  enum State$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated$1 {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext$1;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace$1;\n  }\n  enum SiteCreatedContext$1 {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace$1 {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred$1 {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface DeleteContext$1 {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus$1;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus$1 {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted$1 {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished$1 {\n  }\n  interface SiteUnpublished$1 {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate$1 {\n  }\n  interface SiteMarkedAsWixSite$1 {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed$1 {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface NamespaceChanged$1 {\n      /** A previous namespace. */\n      oldNamespace?: Namespace$1;\n      /** A new namespace. */\n      newNamespace?: Namespace$1;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned$1 {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned$1 {\n  }\n  interface Empty$1 {\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface SyncProjectWithCollectionMappings {\n      /** Id of recently updated Project */\n      projectId?: string;\n      /** fields that were updated in the given project */\n      fieldMaskPaths?: string[];\n  }\n  interface DeletedProjectRestored {\n      /** the id of the project that was restored */\n      projectId?: string;\n      /** timestamp for when the project was originally deleted. */\n      deletionTimestamp?: Date | null;\n  }\n  interface CreateProjectRequest {\n      /** Project to create. */\n      project: Project$1;\n  }\n  interface CreateProjectResponse {\n      /** Created project. */\n      project?: Project$1;\n  }\n  interface GetProjectRequest {\n      /** ID of the project to retrieve. */\n      projectId: string;\n      /** Whether to include the project's relative path and full URL in the response. Default: `false` */\n      includePageUrl?: boolean | null;\n  }\n  interface GetProjectResponse {\n      /** The requested project. */\n      project?: Project$1;\n  }\n  interface ListProjectsRequest {\n      /** Projects limit per response is maximum 100, In the first request the cursor is None ? */\n      paging?: CursorPaging$2;\n      /** Whether to include the project's relative path and full URL in the response. Default: `false` */\n      includePageUrl?: boolean | null;\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListProjectsResponse {\n      /** List of projects. */\n      projects?: Project$1[];\n      /**\n       * Paging metadata.\n       * @internal\n       * @deprecated\n       */\n      pagingMetadataV2?: PagingMetadataV2$2;\n      /** Paging metadata. */\n      metadata?: PagingMetadataV2$2;\n  }\n  interface PagingMetadataV2$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateProjectRequest {\n      /** Project to update. */\n      project: Project$1;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateProjectResponse {\n      /** Updated project. */\n      project?: Project$1;\n  }\n  interface BulkUpdateProjectsRequest {\n      /** Projects to update. */\n      projects?: MaskedProject[];\n      /** Whether to include the updated projects in the response. Set to `true` to receive the projects in the response. Default: `false` */\n      returnFullEntity?: boolean | null;\n  }\n  interface MaskedProject {\n      /** Project to update. */\n      project?: Project$1;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateProjectsResponse {\n      /** Items created by bulk action. */\n      results?: BulkUpdateProjectsResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUpdateProjectsResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Updated project. */\n      project?: Project$1;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface DeleteProjectRequest {\n      /** ID of the project to delete. */\n      projectId: string;\n      /**\n       * The revision of the Project\n       * @internal\n       * @deprecated\n       */\n      revision?: string;\n  }\n  interface DeleteProjectResponse {\n      /** ID of the deleted project. */\n      projectId?: string;\n  }\n  interface QueryProjectsRequest {\n      /** Query options. */\n      query: QueryV2$1;\n      /** Whether to include the project's relative path and full URL in the response. Default: `false` */\n      includePageUrl?: boolean | null;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryProjectsResponse {\n      /** List of projects. */\n      projects?: Project$1[];\n      /**\n       * Paging metadata.\n       * @internal\n       * @deprecated\n       */\n      pagingMetadataV2?: PagingMetadataV2$2;\n      /** Paging metadata. */\n      metadata?: PagingMetadataV2$2;\n  }\n  interface UpdateProjectOrderInCollectionRequest$1 {\n      /** ID of the project to update. */\n      projectId: string;\n      /** Collection ID. */\n      collectionId: string;\n      /** Index that determines the placement of a project within the collection. */\n      sortOrder: number | null;\n  }\n  interface UpdateProjectOrderInCollectionResponse$1 {\n      /**\n       * @internal\n       * @deprecated\n       */\n      project?: ProjectsInCollections$1;\n      /** Updated project placement within the specified collection. */\n      projectInCollection?: ProjectsInCollections$1;\n  }\n  interface ProjectsInCollections$1 {\n      /** Collection ID. */\n      collectionId?: string;\n      /** Project object. */\n      project?: Project$1;\n      /**\n       * Index that determines the placement of a project within the collection.  <br />\n       *\n       * Default: [Epoch](https://www.epoch101.com/) timestamp. <br />\n       */\n      sortOrder?: number | null;\n      /**\n       * Project placement ID.\n       * @readonly\n       */\n      _id?: string | null;\n  }\n  interface QueryProjectWithCollectionInfoRequest {\n      /** WQL expression */\n      query: QueryV2$1;\n      /** Include page url */\n      includePageUrl?: boolean | null;\n  }\n  interface QueryProjectWithCollectionInfoResponse {\n      /** The retrieved Projects in Collection */\n      projects?: ProjectsInCollections$1[];\n      /**\n       * Paging metadata\n       * @internal\n       * @deprecated\n       */\n      pagingMetadataV2?: PagingMetadataV2$2;\n      /** Paging metadata */\n      metadata?: PagingMetadataV2$2;\n  }\n  interface RestoreProjectFromTrashBinRequest {\n      /** id of deleted project to restore from trash bin. */\n      projectId: string;\n  }\n  interface RestoreProjectFromTrashBinResponse {\n      /** project that was restored from trash bin */\n      project?: Project$1;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  /**\n   * Get project data for a specific project\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.collectionSlug\n   * @requiredField identifiers.projectSlug\n   * @permissionId PORTFOLIO.PROJECT_READ\n   */\n  function getProjectPageData(identifiers: GetProjectPageDataIdentifiers): Promise<GetProjectPageDataResponse>;\n  interface GetProjectPageDataIdentifiers {\n      /** Slug of the project's current collection */\n      collectionSlug: string;\n      /** Project's slug */\n      projectSlug: string;\n  }\n  /**\n   * create default Portfolio data\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId PORTFOLIO.PROJECT_CREATE\n   * @adminMethod\n   */\n  function createNewPortfolioApp(): Promise<void>;\n  /**\n   * Creates a project.\n   * @param project - Project to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField project\n   * @permissionId PORTFOLIO.PROJECT_CREATE\n   * @adminMethod\n   * @returns Created project.\n   */\n  function createProject(project: Project$1): Promise<Project$1>;\n  /**\n   * Retrieves a project.\n   * @param projectId - ID of the project to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField projectId\n   * @permissionId PORTFOLIO.PROJECT_READ\n   * @returns The requested project.\n   */\n  function getProject(projectId: string, options?: GetProjectOptions): Promise<Project$1>;\n  interface GetProjectOptions {\n      /** Whether to include the project's relative path and full URL in the response. Default: `false` */\n      includePageUrl?: boolean | null;\n  }\n  /**\n   * Retrieves a list of all projects in a portfolio.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PORTFOLIO.PROJECT_READ\n   */\n  function listProjects(options?: ListProjectsOptions): Promise<ListProjectsResponse>;\n  interface ListProjectsOptions {\n      /** Projects limit per response is maximum 100, In the first request the cursor is None ? */\n      paging?: CursorPaging$2;\n      /** Whether to include the project's relative path and full URL in the response. Default: `false` */\n      includePageUrl?: boolean | null;\n  }\n  /**\n   * Updates a project.\n   * @param _id - Project ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField project\n   * @requiredField project.revision\n   * @permissionId PORTFOLIO.PROJECT_UPDATE\n   * @adminMethod\n   * @returns Updated project.\n   */\n  function updateProject(_id: string | null, project: UpdateProject, options?: UpdateProjectOptions): Promise<Project$1>;\n  interface UpdateProject {\n      /** Project cover image. */\n      coverImage?: CommonImage;\n      /** Project cover video. */\n      coverVideo?: Video$1;\n      /**\n       * Project ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the project is updated. To prevent conflicting changes, the existing revision must be passed when updating the project object.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Project title. */\n      title?: string | null;\n      /** Project description. */\n      description?: string | null;\n      /** Whether the project is hidden from the portfolio. Default: `false` */\n      hidden?: boolean | null;\n      /** IDs of the collections that include the project. */\n      collectionIds?: string[];\n      /** Project details. */\n      details?: ProjectDetail$1[];\n      /** Project slug. */\n      slug?: string | null;\n      /**\n       * Date and time the project was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the project was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * project source - When project is synced from external platform, this field will represent the app & source the projects synced from.\n       * @internal\n       */\n      source?: ProjectSource$1;\n      /**\n       * Project page URL and and relative path. Returned when `includePageUrl` is `true` in the request.\n       * @readonly\n       */\n      url?: string;\n      /** Project SEO data. */\n      seoData?: SeoSchema$1;\n      /**\n       * Whether the project is synced to an external platform and will receive daily updates.\n       * @internal\n       * @readonly\n       */\n      syncedProject?: boolean | null;\n  }\n  interface UpdateProjectOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Updates multiple projects.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.projects.project\n   * @requiredField options.projects.project._id\n   * @requiredField options.projects.project.revision\n   * @permissionId PORTFOLIO.PROJECT_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateProjects(options?: BulkUpdateProjectsOptions): Promise<BulkUpdateProjectsResponse>;\n  interface BulkUpdateProjectsOptions {\n      /** Projects to update. */\n      projects?: MaskedProject[];\n      /** Whether to include the updated projects in the response. Set to `true` to receive the projects in the response. Default: `false` */\n      returnFullEntity?: boolean | null;\n  }\n  /**\n   * Deletes a project.\n   * @param projectId - ID of the project to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField projectId\n   * @permissionId PORTFOLIO.PROJECT_DELETE\n   * @adminMethod\n   */\n  function deleteProject(projectId: string, options?: DeleteProjectOptions): Promise<DeleteProjectResponse>;\n  interface DeleteProjectOptions {\n      /**\n       * The revision of the Project\n       * @internal\n       * @deprecated\n       */\n      revision?: string;\n  }\n  /**\n   * Retrieves a list of projects, given the provided paging, filtering, and sorting. Up to 100 projects can be returned per request.\n   *\n   * The default `sort` is `id` in `ASC`.\n   *\n   * For a detailed list of supported operations, see [Projects: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/portfolio/projects/sort-and-filter).\n   * To learn how to query projects, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PORTFOLIO.PROJECT_READ\n   */\n  function queryProjects(options?: QueryProjectsOptions): ProjectsQueryBuilder;\n  interface QueryProjectsOptions {\n      /** Whether to include the project's relative path and full URL in the response. Default: `false` */\n      includePageUrl?: boolean | null | undefined;\n  }\n  interface QueryCursorResult$1 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProjectsQueryResult extends QueryCursorResult$1 {\n      items: Project$1[];\n      query: ProjectsQueryBuilder;\n      next: () => Promise<ProjectsQueryResult>;\n      prev: () => Promise<ProjectsQueryResult>;\n  }\n  interface ProjectsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'title' | 'description' | 'hidden' | 'collectionIds' | 'slug' | '_createdDate' | '_updatedDate', value: any) => ProjectsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'title' | 'description' | 'hidden' | 'collectionIds' | 'slug' | '_createdDate' | '_updatedDate', value: any) => ProjectsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ProjectsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ProjectsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ProjectsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ProjectsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'title' | 'description' | 'slug', value: string) => ProjectsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'title' | 'description' | 'hidden' | 'collectionIds' | 'slug' | '_createdDate' | '_updatedDate', value: any[]) => ProjectsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasAll: (propertyName: 'collectionIds', value: any[]) => ProjectsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'title' | 'description' | 'hidden' | 'collectionIds' | 'slug' | '_createdDate' | '_updatedDate', value: any) => ProjectsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'title' | 'description' | 'hidden' | 'collectionIds' | 'slug' | '_createdDate' | '_updatedDate', value: boolean) => ProjectsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'title' | 'description' | 'slug' | '_createdDate' | '_updatedDate'>) => ProjectsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'title' | 'description' | 'slug' | '_createdDate' | '_updatedDate'>) => ProjectsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ProjectsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ProjectsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ProjectsQueryResult>;\n  }\n  /**\n   * Deprecated - please use ProjectsInCollectionsService.UpdateProjectOrderInCollection instead\n   * our Client still use it\n   * @param sortOrder - Index that determines the placement of a project within the collection.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.collectionId\n   * @requiredField identifiers.projectId\n   * @requiredField sortOrder\n   * @permissionId PORTFOLIO.PROJECT_UPDATE\n   * @adminMethod\n   * @deprecated\n   */\n  function updateProjectOrderInCollection$1(identifiers: UpdateProjectOrderInCollectionIdentifiers$1, sortOrder: number | null): Promise<UpdateProjectOrderInCollectionResponse$1>;\n  interface UpdateProjectOrderInCollectionIdentifiers$1 {\n      /** ID of the project to update. */\n      projectId: string;\n      /** Collection ID. */\n      collectionId: string;\n  }\n  /**\n   * Deprecated - please use ProjectsInCollectionsService.QueryProjectsInCollections instead\n   * our Client still use it\n   * @param query - WQL expression\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId PORTFOLIO.PROJECT_READ\n   * @deprecated\n   */\n  function queryProjectsWithCollectionInfo(query: QueryV2$1, options?: QueryProjectsWithCollectionInfoOptions): Promise<QueryProjectWithCollectionInfoResponse>;\n  interface QueryProjectsWithCollectionInfoOptions {\n      /** Include page url */\n      includePageUrl?: boolean | null;\n  }\n  /**\n   * Restore from trash bin a project that was deleted. Will lead to restoring Project's items as well.\n   * @param projectId - id of deleted project to restore from trash bin.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField projectId\n   * @permissionId PORTFOLIO.PROJECT_CREATE\n   * @adminMethod\n   */\n  function restoreProjectFromTrashBin(projectId: string): Promise<RestoreProjectFromTrashBinResponse>;\n  \n  type portfolioProjectsV1Project_universal_d_CommonImage = CommonImage;\n  type portfolioProjectsV1Project_universal_d_ImageImageType = ImageImageType;\n  const portfolioProjectsV1Project_universal_d_ImageImageType: typeof ImageImageType;\n  type portfolioProjectsV1Project_universal_d_CommonPoint = CommonPoint;\n  type portfolioProjectsV1Project_universal_d_CommonUnsharpMasking = CommonUnsharpMasking;\n  type portfolioProjectsV1Project_universal_d_MenuSettingUpdatedEvent = MenuSettingUpdatedEvent;\n  type portfolioProjectsV1Project_universal_d_GetProjectPageDataRequest = GetProjectPageDataRequest;\n  type portfolioProjectsV1Project_universal_d_GetProjectPageDataResponse = GetProjectPageDataResponse;\n  type portfolioProjectsV1Project_universal_d_ProjectSlug = ProjectSlug;\n  type portfolioProjectsV1Project_universal_d_CreateNewPortfolioAppRequest = CreateNewPortfolioAppRequest;\n  type portfolioProjectsV1Project_universal_d_CreateNewPortfolioAppResponse = CreateNewPortfolioAppResponse;\n  type portfolioProjectsV1Project_universal_d_InvalidateCache = InvalidateCache;\n  type portfolioProjectsV1Project_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type portfolioProjectsV1Project_universal_d_App = App;\n  type portfolioProjectsV1Project_universal_d_Page = Page;\n  type portfolioProjectsV1Project_universal_d_URI = URI;\n  type portfolioProjectsV1Project_universal_d_File = File;\n  type portfolioProjectsV1Project_universal_d_SyncProjectWithCollectionMappings = SyncProjectWithCollectionMappings;\n  type portfolioProjectsV1Project_universal_d_DeletedProjectRestored = DeletedProjectRestored;\n  type portfolioProjectsV1Project_universal_d_CreateProjectRequest = CreateProjectRequest;\n  type portfolioProjectsV1Project_universal_d_CreateProjectResponse = CreateProjectResponse;\n  type portfolioProjectsV1Project_universal_d_GetProjectRequest = GetProjectRequest;\n  type portfolioProjectsV1Project_universal_d_GetProjectResponse = GetProjectResponse;\n  type portfolioProjectsV1Project_universal_d_ListProjectsRequest = ListProjectsRequest;\n  type portfolioProjectsV1Project_universal_d_ListProjectsResponse = ListProjectsResponse;\n  type portfolioProjectsV1Project_universal_d_UpdateProjectRequest = UpdateProjectRequest;\n  type portfolioProjectsV1Project_universal_d_UpdateProjectResponse = UpdateProjectResponse;\n  type portfolioProjectsV1Project_universal_d_BulkUpdateProjectsRequest = BulkUpdateProjectsRequest;\n  type portfolioProjectsV1Project_universal_d_MaskedProject = MaskedProject;\n  type portfolioProjectsV1Project_universal_d_BulkUpdateProjectsResponse = BulkUpdateProjectsResponse;\n  type portfolioProjectsV1Project_universal_d_BulkUpdateProjectsResult = BulkUpdateProjectsResult;\n  type portfolioProjectsV1Project_universal_d_ItemMetadata = ItemMetadata;\n  type portfolioProjectsV1Project_universal_d_ApplicationError = ApplicationError;\n  type portfolioProjectsV1Project_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type portfolioProjectsV1Project_universal_d_DeleteProjectRequest = DeleteProjectRequest;\n  type portfolioProjectsV1Project_universal_d_DeleteProjectResponse = DeleteProjectResponse;\n  type portfolioProjectsV1Project_universal_d_QueryProjectsRequest = QueryProjectsRequest;\n  type portfolioProjectsV1Project_universal_d_QueryProjectsResponse = QueryProjectsResponse;\n  type portfolioProjectsV1Project_universal_d_QueryProjectWithCollectionInfoRequest = QueryProjectWithCollectionInfoRequest;\n  type portfolioProjectsV1Project_universal_d_QueryProjectWithCollectionInfoResponse = QueryProjectWithCollectionInfoResponse;\n  type portfolioProjectsV1Project_universal_d_RestoreProjectFromTrashBinRequest = RestoreProjectFromTrashBinRequest;\n  type portfolioProjectsV1Project_universal_d_RestoreProjectFromTrashBinResponse = RestoreProjectFromTrashBinResponse;\n  const portfolioProjectsV1Project_universal_d_getProjectPageData: typeof getProjectPageData;\n  type portfolioProjectsV1Project_universal_d_GetProjectPageDataIdentifiers = GetProjectPageDataIdentifiers;\n  const portfolioProjectsV1Project_universal_d_createNewPortfolioApp: typeof createNewPortfolioApp;\n  const portfolioProjectsV1Project_universal_d_createProject: typeof createProject;\n  const portfolioProjectsV1Project_universal_d_getProject: typeof getProject;\n  type portfolioProjectsV1Project_universal_d_GetProjectOptions = GetProjectOptions;\n  const portfolioProjectsV1Project_universal_d_listProjects: typeof listProjects;\n  type portfolioProjectsV1Project_universal_d_ListProjectsOptions = ListProjectsOptions;\n  const portfolioProjectsV1Project_universal_d_updateProject: typeof updateProject;\n  type portfolioProjectsV1Project_universal_d_UpdateProject = UpdateProject;\n  type portfolioProjectsV1Project_universal_d_UpdateProjectOptions = UpdateProjectOptions;\n  const portfolioProjectsV1Project_universal_d_bulkUpdateProjects: typeof bulkUpdateProjects;\n  type portfolioProjectsV1Project_universal_d_BulkUpdateProjectsOptions = BulkUpdateProjectsOptions;\n  const portfolioProjectsV1Project_universal_d_deleteProject: typeof deleteProject;\n  type portfolioProjectsV1Project_universal_d_DeleteProjectOptions = DeleteProjectOptions;\n  const portfolioProjectsV1Project_universal_d_queryProjects: typeof queryProjects;\n  type portfolioProjectsV1Project_universal_d_QueryProjectsOptions = QueryProjectsOptions;\n  type portfolioProjectsV1Project_universal_d_ProjectsQueryResult = ProjectsQueryResult;\n  type portfolioProjectsV1Project_universal_d_ProjectsQueryBuilder = ProjectsQueryBuilder;\n  const portfolioProjectsV1Project_universal_d_queryProjectsWithCollectionInfo: typeof queryProjectsWithCollectionInfo;\n  type portfolioProjectsV1Project_universal_d_QueryProjectsWithCollectionInfoOptions = QueryProjectsWithCollectionInfoOptions;\n  const portfolioProjectsV1Project_universal_d_restoreProjectFromTrashBin: typeof restoreProjectFromTrashBin;\n  namespace portfolioProjectsV1Project_universal_d {\n    export {\n      Project$1 as Project,\n      ProjectCoverOneOf$1 as ProjectCoverOneOf,\n      portfolioProjectsV1Project_universal_d_CommonImage as CommonImage,\n      portfolioProjectsV1Project_universal_d_ImageImageType as ImageImageType,\n      portfolioProjectsV1Project_universal_d_CommonPoint as CommonPoint,\n      portfolioProjectsV1Project_universal_d_CommonUnsharpMasking as CommonUnsharpMasking,\n      Video$1 as Video,\n      VideoResolution$1 as VideoResolution,\n      ProjectDetail$1 as ProjectDetail,\n      ProjectDetailValueOneOf$1 as ProjectDetailValueOneOf,\n      DetailsLink$1 as DetailsLink,\n      ProjectSource$1 as ProjectSource,\n      SyncStatus$2 as SyncStatus,\n      SeoSchema$1 as SeoSchema,\n      Keyword$1 as Keyword,\n      Tag$1 as Tag,\n      Settings$1 as Settings,\n      portfolioProjectsV1Project_universal_d_MenuSettingUpdatedEvent as MenuSettingUpdatedEvent,\n      portfolioProjectsV1Project_universal_d_GetProjectPageDataRequest as GetProjectPageDataRequest,\n      portfolioProjectsV1Project_universal_d_GetProjectPageDataResponse as GetProjectPageDataResponse,\n      portfolioProjectsV1Project_universal_d_ProjectSlug as ProjectSlug,\n      portfolioProjectsV1Project_universal_d_CreateNewPortfolioAppRequest as CreateNewPortfolioAppRequest,\n      portfolioProjectsV1Project_universal_d_CreateNewPortfolioAppResponse as CreateNewPortfolioAppResponse,\n      MetaSiteSpecialEvent$1 as MetaSiteSpecialEvent,\n      MetaSiteSpecialEventPayloadOneOf$1 as MetaSiteSpecialEventPayloadOneOf,\n      Asset$1 as Asset,\n      State$1 as State,\n      SiteCreated$1 as SiteCreated,\n      SiteCreatedContext$1 as SiteCreatedContext,\n      Namespace$1 as Namespace,\n      SiteTransferred$1 as SiteTransferred,\n      SiteDeleted$1 as SiteDeleted,\n      DeleteContext$1 as DeleteContext,\n      DeleteStatus$1 as DeleteStatus,\n      SiteUndeleted$1 as SiteUndeleted,\n      SitePublished$1 as SitePublished,\n      SiteUnpublished$1 as SiteUnpublished,\n      SiteMarkedAsTemplate$1 as SiteMarkedAsTemplate,\n      SiteMarkedAsWixSite$1 as SiteMarkedAsWixSite,\n      ServiceProvisioned$1 as ServiceProvisioned,\n      ServiceRemoved$1 as ServiceRemoved,\n      SiteRenamed$1 as SiteRenamed,\n      SiteHardDeleted$1 as SiteHardDeleted,\n      NamespaceChanged$1 as NamespaceChanged,\n      StudioAssigned$1 as StudioAssigned,\n      StudioUnassigned$1 as StudioUnassigned,\n      Empty$1 as Empty,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      portfolioProjectsV1Project_universal_d_InvalidateCache as InvalidateCache,\n      portfolioProjectsV1Project_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      portfolioProjectsV1Project_universal_d_App as App,\n      portfolioProjectsV1Project_universal_d_Page as Page,\n      portfolioProjectsV1Project_universal_d_URI as URI,\n      portfolioProjectsV1Project_universal_d_File as File,\n      portfolioProjectsV1Project_universal_d_SyncProjectWithCollectionMappings as SyncProjectWithCollectionMappings,\n      portfolioProjectsV1Project_universal_d_DeletedProjectRestored as DeletedProjectRestored,\n      portfolioProjectsV1Project_universal_d_CreateProjectRequest as CreateProjectRequest,\n      portfolioProjectsV1Project_universal_d_CreateProjectResponse as CreateProjectResponse,\n      portfolioProjectsV1Project_universal_d_GetProjectRequest as GetProjectRequest,\n      portfolioProjectsV1Project_universal_d_GetProjectResponse as GetProjectResponse,\n      portfolioProjectsV1Project_universal_d_ListProjectsRequest as ListProjectsRequest,\n      CursorPaging$2 as CursorPaging,\n      portfolioProjectsV1Project_universal_d_ListProjectsResponse as ListProjectsResponse,\n      PagingMetadataV2$2 as PagingMetadataV2,\n      Cursors$2 as Cursors,\n      portfolioProjectsV1Project_universal_d_UpdateProjectRequest as UpdateProjectRequest,\n      portfolioProjectsV1Project_universal_d_UpdateProjectResponse as UpdateProjectResponse,\n      portfolioProjectsV1Project_universal_d_BulkUpdateProjectsRequest as BulkUpdateProjectsRequest,\n      portfolioProjectsV1Project_universal_d_MaskedProject as MaskedProject,\n      portfolioProjectsV1Project_universal_d_BulkUpdateProjectsResponse as BulkUpdateProjectsResponse,\n      portfolioProjectsV1Project_universal_d_BulkUpdateProjectsResult as BulkUpdateProjectsResult,\n      portfolioProjectsV1Project_universal_d_ItemMetadata as ItemMetadata,\n      portfolioProjectsV1Project_universal_d_ApplicationError as ApplicationError,\n      portfolioProjectsV1Project_universal_d_BulkActionMetadata as BulkActionMetadata,\n      portfolioProjectsV1Project_universal_d_DeleteProjectRequest as DeleteProjectRequest,\n      portfolioProjectsV1Project_universal_d_DeleteProjectResponse as DeleteProjectResponse,\n      portfolioProjectsV1Project_universal_d_QueryProjectsRequest as QueryProjectsRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$1 as Paging,\n      portfolioProjectsV1Project_universal_d_QueryProjectsResponse as QueryProjectsResponse,\n      UpdateProjectOrderInCollectionRequest$1 as UpdateProjectOrderInCollectionRequest,\n      UpdateProjectOrderInCollectionResponse$1 as UpdateProjectOrderInCollectionResponse,\n      ProjectsInCollections$1 as ProjectsInCollections,\n      portfolioProjectsV1Project_universal_d_QueryProjectWithCollectionInfoRequest as QueryProjectWithCollectionInfoRequest,\n      portfolioProjectsV1Project_universal_d_QueryProjectWithCollectionInfoResponse as QueryProjectWithCollectionInfoResponse,\n      portfolioProjectsV1Project_universal_d_RestoreProjectFromTrashBinRequest as RestoreProjectFromTrashBinRequest,\n      portfolioProjectsV1Project_universal_d_RestoreProjectFromTrashBinResponse as RestoreProjectFromTrashBinResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      portfolioProjectsV1Project_universal_d_getProjectPageData as getProjectPageData,\n      portfolioProjectsV1Project_universal_d_GetProjectPageDataIdentifiers as GetProjectPageDataIdentifiers,\n      portfolioProjectsV1Project_universal_d_createNewPortfolioApp as createNewPortfolioApp,\n      portfolioProjectsV1Project_universal_d_createProject as createProject,\n      portfolioProjectsV1Project_universal_d_getProject as getProject,\n      portfolioProjectsV1Project_universal_d_GetProjectOptions as GetProjectOptions,\n      portfolioProjectsV1Project_universal_d_listProjects as listProjects,\n      portfolioProjectsV1Project_universal_d_ListProjectsOptions as ListProjectsOptions,\n      portfolioProjectsV1Project_universal_d_updateProject as updateProject,\n      portfolioProjectsV1Project_universal_d_UpdateProject as UpdateProject,\n      portfolioProjectsV1Project_universal_d_UpdateProjectOptions as UpdateProjectOptions,\n      portfolioProjectsV1Project_universal_d_bulkUpdateProjects as bulkUpdateProjects,\n      portfolioProjectsV1Project_universal_d_BulkUpdateProjectsOptions as BulkUpdateProjectsOptions,\n      portfolioProjectsV1Project_universal_d_deleteProject as deleteProject,\n      portfolioProjectsV1Project_universal_d_DeleteProjectOptions as DeleteProjectOptions,\n      portfolioProjectsV1Project_universal_d_queryProjects as queryProjects,\n      portfolioProjectsV1Project_universal_d_QueryProjectsOptions as QueryProjectsOptions,\n      portfolioProjectsV1Project_universal_d_ProjectsQueryResult as ProjectsQueryResult,\n      portfolioProjectsV1Project_universal_d_ProjectsQueryBuilder as ProjectsQueryBuilder,\n      updateProjectOrderInCollection$1 as updateProjectOrderInCollection,\n      UpdateProjectOrderInCollectionIdentifiers$1 as UpdateProjectOrderInCollectionIdentifiers,\n      portfolioProjectsV1Project_universal_d_queryProjectsWithCollectionInfo as queryProjectsWithCollectionInfo,\n      portfolioProjectsV1Project_universal_d_QueryProjectsWithCollectionInfoOptions as QueryProjectsWithCollectionInfoOptions,\n      portfolioProjectsV1Project_universal_d_restoreProjectFromTrashBin as restoreProjectFromTrashBin,\n    };\n  }\n  \n  interface ProjectsInCollections {\n      /** Collection ID. */\n      collectionId?: string;\n      /** Project object. */\n      project?: Project;\n      /**\n       * Index that determines the placement of a project within the collection.  <br />\n       *\n       * Default: [Epoch](https://www.epoch101.com/) timestamp. <br />\n       */\n      sortOrder?: number | null;\n      /**\n       * Project placement ID.\n       * @readonly\n       */\n      _id?: string | null;\n  }\n  interface Project extends ProjectCoverOneOf {\n      /** Project cover image. */\n      coverImage?: Image;\n      /** Project cover video. */\n      coverVideo?: Video;\n      /**\n       * Project ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the project is updated. To prevent conflicting changes, the existing revision must be passed when updating the project object.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Project title. */\n      title?: string | null;\n      /** Project description. */\n      description?: string | null;\n      /** Whether the project is hidden from the portfolio. Default: `false` */\n      hidden?: boolean | null;\n      /** IDs of the collections that include the project. */\n      collectionIds?: string[];\n      /** Project details. */\n      details?: ProjectDetail[];\n      /** Project slug. */\n      slug?: string | null;\n      /**\n       * Date and time the project was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the project was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * project source - When project is synced from external platform, this field will represent the app & source the projects synced from.\n       * @internal\n       */\n      source?: ProjectSource;\n      /**\n       * Project page URL and and relative path. Returned when `includePageUrl` is `true` in the request.\n       * @readonly\n       */\n      url?: string;\n      /** Project SEO data. */\n      seoData?: SeoSchema;\n      /**\n       * Whether the project is synced to an external platform and will receive daily updates.\n       * @internal\n       * @readonly\n       */\n      syncedProject?: boolean | null;\n  }\n  /** @oneof */\n  interface ProjectCoverOneOf {\n      /** Project cover image. */\n      coverImage?: Image;\n      /** Project cover video. */\n      coverVideo?: Video;\n  }\n  interface Image {\n      /**\n       * @internal\n       * @deprecated\n       */\n      type?: ImageType;\n      /** Information about the Wix Media image. */\n      imageInfo?: string;\n      /** Focal point of the image. */\n      focalPoint?: Point;\n      /**\n       * Set of key-value pairs describing the media in [Exchangeable Image File format](https://en.wikipedia.org/wiki/Exif).\n       * @internal\n       */\n      exif?: Record<string, any> | null;\n      /**\n       * Image compression level. <br />\n       *\n       * Min: `30` <br />\n       * Max: `100`\n       * @internal\n       */\n      quality?: number | null;\n      /**\n       * [Unsharp masking](https://en.wikipedia.org/wiki/Unsharp_masking) values of the image.\n       * @internal\n       */\n      unsharpMasking?: UnsharpMasking;\n      /**\n       * Whether the image is saved in secure media.\n       * @internal\n       */\n      secure?: boolean | null;\n      /**\n       * When image is saved in secure media, token is generated.\n       * @internal\n       * @readonly\n       */\n      token?: string | null;\n  }\n  enum ImageType {\n      UNDEFINED = \"UNDEFINED\",\n      WIX_MEDIA = \"WIX_MEDIA\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface Point {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n  }\n  interface UnsharpMasking {\n      /**\n       * Unsharp masking amount. Controls the sharpening strength. <br />\n       *\n       * Min: `0` <br />\n       * Max: `5`\n       */\n      amount?: number | null;\n      /** Unsharp masking radius in pixels. Controls the sharpening width. */\n      radius?: number | null;\n      /**\n       * Unsharp masking threshold. Controls how different neighboring pixels must be for shapening to apply. <br />\n       *\n       * Min: `0` <br />\n       * Max: `1`\n       */\n      threshold?: number | null;\n  }\n  interface Video {\n      /** Information about the Wix Media video. */\n      videoInfo?: string;\n      /** Manually defined Video duration in milliseconds. */\n      durationInMillis?: number | null;\n  }\n  interface VideoResolution {\n      /** Video URL.  Required. */\n      url?: string;\n      /** Video height. Required. */\n      height?: number;\n      /** Video width.  Required. */\n      width?: number;\n      /**\n       * Video poster. Deprecated, please use the `posters` property in the parent entity\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls.  Required. */\n      format?: string;\n      /** Video quality for example 480p, 720p. */\n      quality?: string | null;\n      /** Video filename. */\n      filename?: string | null;\n  }\n  /**\n   * Project label.\n   * One of:\n   * + `text`\n   * + `link`\n   */\n  interface ProjectDetail extends ProjectDetailValueOneOf {\n      /** Project label in plain text format. */\n      text?: string;\n      /** Project label in link format. */\n      link?: DetailsLink;\n      /** Project label. */\n      label?: string;\n  }\n  /** @oneof */\n  interface ProjectDetailValueOneOf {\n      /** Project label in plain text format. */\n      text?: string;\n      /** Project label in link format. */\n      link?: DetailsLink;\n  }\n  interface DetailsLink {\n      /** Display text of the link. */\n      text?: string | null;\n      /** Target URL of the link. */\n      url?: string | null;\n      /**\n       * Whether the link opens in a new tab or window. One of:\n       * * `'_blank'`: The link opens in a new tab or window.\n       * * `'_self'`: The link opens in the same tab or window.\n       */\n      target?: string | null;\n  }\n  interface ProjectSource {\n      /** App definition id */\n      appDefId?: string;\n      /** External source id */\n      externalId?: string;\n      /** Source name */\n      sourceName?: string;\n      /** Source description */\n      description?: string | null;\n      /** link to external source */\n      link?: string | null;\n      /** Sync status */\n      syncStatus?: SyncStatus$1;\n      /** fields that are synced from external source, should be blocked to update in UI */\n      notEditableFields?: string[];\n      /** last date the project was synced */\n      lastSync?: Date | null;\n  }\n  enum SyncStatus$1 {\n      SYNCED = \"SYNCED\",\n      SYNCING = \"SYNCING\",\n      NOT_SYNCED = \"NOT_SYNCED\"\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface QueryProjectInCollectionsRequest {\n      /** Query options. */\n      query: QueryV2;\n      /**\n       * Whether to include the project's relative path and full URL in the response.\n       * Default: `false`\n       */\n      includePageUrl?: boolean | null;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryProjectInCollectionsResponse {\n      /** List of projects and their placement within the specified collections. */\n      projectInCollections?: ProjectsInCollections[];\n      /** Paging metadata. */\n      metadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateProjectOrderInCollectionRequest {\n      /** ID of the project to update. */\n      projectId: string;\n      /** Collection ID. */\n      collectionId: string;\n      /** Index that determines the placement of a project within the collection. */\n      sortOrder: number | null;\n  }\n  interface UpdateProjectOrderInCollectionResponse {\n      /**\n       * @internal\n       * @deprecated\n       */\n      project?: ProjectsInCollections;\n      /** Updated project placement within the specified collection. */\n      projectInCollection?: ProjectsInCollections;\n  }\n  interface ProjectOrderInCollectionUpdatedEvent {\n      /** ID of the project to update. */\n      projectId?: string;\n      /** Collection ID. */\n      collectionId?: string;\n      /** Index that determines the placement of a project within the collection. */\n      sortOrder?: number | null;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a list of projects and their placement in the specified collections given the provided paging, filtering, and sorting. Up to 100 projects can be returned per request.\n   *\n   * The default `sort` is `project.id` in `ASC`.\n   *\n   * For additional field support for filters and sorting, see [Projects In Collections: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/portfolio/project-in-collection/sort-and-filter.\n   *\n   * To learn how to query projects and their placement in collections, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language).\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId PORTFOLIO.PROJECT_READ\n   */\n  function queryProjectInCollections(options?: QueryProjectInCollectionsOptions): ProjectInCollectionsQueryBuilder;\n  interface QueryProjectInCollectionsOptions {\n      /**\n       * Whether to include the project's relative path and full URL in the response.\n       * Default: `false`\n       */\n      includePageUrl?: boolean | null | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProjectInCollectionsQueryResult extends QueryCursorResult {\n      items: ProjectsInCollections[];\n      query: ProjectInCollectionsQueryBuilder;\n      next: () => Promise<ProjectInCollectionsQueryResult>;\n      prev: () => Promise<ProjectInCollectionsQueryResult>;\n  }\n  interface ProjectInCollectionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'collectionId' | 'project.id' | 'project.hidden' | 'project.slug' | 'sortOrder', value: any) => ProjectInCollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'collectionId' | 'project.id' | 'project.hidden' | 'project.slug' | 'sortOrder', value: any) => ProjectInCollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'sortOrder', value: any) => ProjectInCollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'sortOrder', value: any) => ProjectInCollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'sortOrder', value: any) => ProjectInCollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'sortOrder', value: any) => ProjectInCollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'collectionId' | 'project.id' | 'project.slug', value: string) => ProjectInCollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'collectionId' | 'project.id' | 'project.hidden' | 'project.slug' | 'sortOrder', value: any[]) => ProjectInCollectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'collectionId' | 'project.id' | 'project.hidden' | 'project.slug' | 'sortOrder', value: any) => ProjectInCollectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'collectionId' | 'project.id' | 'project.hidden' | 'project.slug' | 'sortOrder', value: boolean) => ProjectInCollectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'collectionId' | 'project.id' | 'project.slug' | 'sortOrder'>) => ProjectInCollectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'collectionId' | 'project.id' | 'project.slug' | 'sortOrder'>) => ProjectInCollectionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ProjectInCollectionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ProjectInCollectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ProjectInCollectionsQueryResult>;\n  }\n  /**\n   * Updates the placement of a project within a specified collection.\n   * @param sortOrder - Index that determines the placement of a project within the collection.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.collectionId\n   * @requiredField identifiers.projectId\n   * @requiredField sortOrder\n   * @permissionId PORTFOLIO.PROJECT_UPDATE\n   * @adminMethod\n   */\n  function updateProjectOrderInCollection(identifiers: UpdateProjectOrderInCollectionIdentifiers, sortOrder: number | null): Promise<UpdateProjectOrderInCollectionResponse>;\n  interface UpdateProjectOrderInCollectionIdentifiers {\n      /** ID of the project to update. */\n      projectId: string;\n      /** Collection ID. */\n      collectionId: string;\n  }\n  \n  type portfolioProjectsV1ProjectInCollection_universal_d_ProjectsInCollections = ProjectsInCollections;\n  type portfolioProjectsV1ProjectInCollection_universal_d_Project = Project;\n  type portfolioProjectsV1ProjectInCollection_universal_d_ProjectCoverOneOf = ProjectCoverOneOf;\n  type portfolioProjectsV1ProjectInCollection_universal_d_Image = Image;\n  type portfolioProjectsV1ProjectInCollection_universal_d_ImageType = ImageType;\n  const portfolioProjectsV1ProjectInCollection_universal_d_ImageType: typeof ImageType;\n  type portfolioProjectsV1ProjectInCollection_universal_d_Point = Point;\n  type portfolioProjectsV1ProjectInCollection_universal_d_UnsharpMasking = UnsharpMasking;\n  type portfolioProjectsV1ProjectInCollection_universal_d_Video = Video;\n  type portfolioProjectsV1ProjectInCollection_universal_d_VideoResolution = VideoResolution;\n  type portfolioProjectsV1ProjectInCollection_universal_d_ProjectDetail = ProjectDetail;\n  type portfolioProjectsV1ProjectInCollection_universal_d_ProjectDetailValueOneOf = ProjectDetailValueOneOf;\n  type portfolioProjectsV1ProjectInCollection_universal_d_DetailsLink = DetailsLink;\n  type portfolioProjectsV1ProjectInCollection_universal_d_ProjectSource = ProjectSource;\n  type portfolioProjectsV1ProjectInCollection_universal_d_SeoSchema = SeoSchema;\n  type portfolioProjectsV1ProjectInCollection_universal_d_Keyword = Keyword;\n  type portfolioProjectsV1ProjectInCollection_universal_d_Tag = Tag;\n  type portfolioProjectsV1ProjectInCollection_universal_d_Settings = Settings;\n  type portfolioProjectsV1ProjectInCollection_universal_d_QueryProjectInCollectionsRequest = QueryProjectInCollectionsRequest;\n  type portfolioProjectsV1ProjectInCollection_universal_d_QueryV2 = QueryV2;\n  type portfolioProjectsV1ProjectInCollection_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type portfolioProjectsV1ProjectInCollection_universal_d_Sorting = Sorting;\n  type portfolioProjectsV1ProjectInCollection_universal_d_SortOrder = SortOrder;\n  const portfolioProjectsV1ProjectInCollection_universal_d_SortOrder: typeof SortOrder;\n  type portfolioProjectsV1ProjectInCollection_universal_d_Paging = Paging;\n  type portfolioProjectsV1ProjectInCollection_universal_d_QueryProjectInCollectionsResponse = QueryProjectInCollectionsResponse;\n  type portfolioProjectsV1ProjectInCollection_universal_d_UpdateProjectOrderInCollectionRequest = UpdateProjectOrderInCollectionRequest;\n  type portfolioProjectsV1ProjectInCollection_universal_d_UpdateProjectOrderInCollectionResponse = UpdateProjectOrderInCollectionResponse;\n  type portfolioProjectsV1ProjectInCollection_universal_d_ProjectOrderInCollectionUpdatedEvent = ProjectOrderInCollectionUpdatedEvent;\n  const portfolioProjectsV1ProjectInCollection_universal_d_queryProjectInCollections: typeof queryProjectInCollections;\n  type portfolioProjectsV1ProjectInCollection_universal_d_QueryProjectInCollectionsOptions = QueryProjectInCollectionsOptions;\n  type portfolioProjectsV1ProjectInCollection_universal_d_ProjectInCollectionsQueryResult = ProjectInCollectionsQueryResult;\n  type portfolioProjectsV1ProjectInCollection_universal_d_ProjectInCollectionsQueryBuilder = ProjectInCollectionsQueryBuilder;\n  const portfolioProjectsV1ProjectInCollection_universal_d_updateProjectOrderInCollection: typeof updateProjectOrderInCollection;\n  type portfolioProjectsV1ProjectInCollection_universal_d_UpdateProjectOrderInCollectionIdentifiers = UpdateProjectOrderInCollectionIdentifiers;\n  namespace portfolioProjectsV1ProjectInCollection_universal_d {\n    export {\n      portfolioProjectsV1ProjectInCollection_universal_d_ProjectsInCollections as ProjectsInCollections,\n      portfolioProjectsV1ProjectInCollection_universal_d_Project as Project,\n      portfolioProjectsV1ProjectInCollection_universal_d_ProjectCoverOneOf as ProjectCoverOneOf,\n      portfolioProjectsV1ProjectInCollection_universal_d_Image as Image,\n      portfolioProjectsV1ProjectInCollection_universal_d_ImageType as ImageType,\n      portfolioProjectsV1ProjectInCollection_universal_d_Point as Point,\n      portfolioProjectsV1ProjectInCollection_universal_d_UnsharpMasking as UnsharpMasking,\n      portfolioProjectsV1ProjectInCollection_universal_d_Video as Video,\n      portfolioProjectsV1ProjectInCollection_universal_d_VideoResolution as VideoResolution,\n      portfolioProjectsV1ProjectInCollection_universal_d_ProjectDetail as ProjectDetail,\n      portfolioProjectsV1ProjectInCollection_universal_d_ProjectDetailValueOneOf as ProjectDetailValueOneOf,\n      portfolioProjectsV1ProjectInCollection_universal_d_DetailsLink as DetailsLink,\n      portfolioProjectsV1ProjectInCollection_universal_d_ProjectSource as ProjectSource,\n      SyncStatus$1 as SyncStatus,\n      portfolioProjectsV1ProjectInCollection_universal_d_SeoSchema as SeoSchema,\n      portfolioProjectsV1ProjectInCollection_universal_d_Keyword as Keyword,\n      portfolioProjectsV1ProjectInCollection_universal_d_Tag as Tag,\n      portfolioProjectsV1ProjectInCollection_universal_d_Settings as Settings,\n      portfolioProjectsV1ProjectInCollection_universal_d_QueryProjectInCollectionsRequest as QueryProjectInCollectionsRequest,\n      portfolioProjectsV1ProjectInCollection_universal_d_QueryV2 as QueryV2,\n      portfolioProjectsV1ProjectInCollection_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      portfolioProjectsV1ProjectInCollection_universal_d_Sorting as Sorting,\n      portfolioProjectsV1ProjectInCollection_universal_d_SortOrder as SortOrder,\n      portfolioProjectsV1ProjectInCollection_universal_d_Paging as Paging,\n      CursorPaging$1 as CursorPaging,\n      portfolioProjectsV1ProjectInCollection_universal_d_QueryProjectInCollectionsResponse as QueryProjectInCollectionsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      portfolioProjectsV1ProjectInCollection_universal_d_UpdateProjectOrderInCollectionRequest as UpdateProjectOrderInCollectionRequest,\n      portfolioProjectsV1ProjectInCollection_universal_d_UpdateProjectOrderInCollectionResponse as UpdateProjectOrderInCollectionResponse,\n      portfolioProjectsV1ProjectInCollection_universal_d_ProjectOrderInCollectionUpdatedEvent as ProjectOrderInCollectionUpdatedEvent,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      portfolioProjectsV1ProjectInCollection_universal_d_queryProjectInCollections as queryProjectInCollections,\n      portfolioProjectsV1ProjectInCollection_universal_d_QueryProjectInCollectionsOptions as QueryProjectInCollectionsOptions,\n      portfolioProjectsV1ProjectInCollection_universal_d_ProjectInCollectionsQueryResult as ProjectInCollectionsQueryResult,\n      portfolioProjectsV1ProjectInCollection_universal_d_ProjectInCollectionsQueryBuilder as ProjectInCollectionsQueryBuilder,\n      portfolioProjectsV1ProjectInCollection_universal_d_updateProjectOrderInCollection as updateProjectOrderInCollection,\n      portfolioProjectsV1ProjectInCollection_universal_d_UpdateProjectOrderInCollectionIdentifiers as UpdateProjectOrderInCollectionIdentifiers,\n    };\n  }\n  \n  interface SyncedProject {\n      /** Project ID in Portfolio - if project was yet to be create, will be None */\n      portfolioProjectId?: string | null;\n      /** External Project ID */\n      externalId?: string;\n      /** Project name */\n      title?: string | null;\n      /** Project media count */\n      mediaCount?: number;\n      /** Project image url */\n      coverImage?: string | null;\n      /** Project url in external */\n      link?: string | null;\n      /**\n       * Represents the last time project was synced - returned only if external project is synced\n       * @readonly\n       */\n      lastSynced?: Date | null;\n      /** External Project synced status */\n      status?: SyncStatus;\n  }\n  enum SyncStatus {\n      /** Project was not synced */\n      NOT_SYNCED = \"NOT_SYNCED\",\n      /** Project is in pending state */\n      PENDING = \"PENDING\",\n      /** Project is in syncing state */\n      SYNCING = \"SYNCING\",\n      /** Project was synced */\n      SYNCED = \"SYNCED\"\n  }\n  interface SyncingProjectEvent {\n      /** Provider appDefId */\n      appDefId?: string;\n      /** External Project ID */\n      externalProjectId?: string;\n      /** Portfolio Project ID */\n      portfolioProjectId?: string;\n      /** When the first event was produced, and started syncing */\n      firstProduceTimestamp?: Date | null;\n      /** Project Revision */\n      projectSyncRevision?: Date | null;\n  }\n  interface SyncProjectPagingEvent {\n      /** Provider appDefId */\n      appDefId?: string;\n      /** External Project ID */\n      externalProjectId?: string;\n      /** Portfolio Project ID */\n      portfolioProjectId?: string;\n      /** Next page cursor */\n      nextPageCursor?: string | null;\n      /** Project Revision */\n      projectSyncRevision?: Date | null;\n  }\n  interface SyncSiteEvent {\n      /** Portfolio instance id */\n      instanceId?: string;\n      /** Paging */\n      paging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface SyncProjectRequest {\n      /** Provider appDefId */\n      appDefId: string;\n      /** External Project ID */\n      externalId: string;\n  }\n  interface GetProjectsRequest {\n      /** Provider appDefId */\n      appDefId: string;\n      /** Paging */\n      paging?: CursorPaging;\n  }\n  interface GetProjectsResponse {\n      /** Provider appDefId */\n      projects?: SyncedProject[];\n      /** Paging metadata */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface SyncProjectResponse {\n      /** Portfolio project */\n      project?: SyncedProject;\n  }\n  interface GetSyncStatusRequest {\n      /** Provider appDefId */\n      appDefId: string;\n      /** External Project ID */\n      externalId: string;\n  }\n  interface GetSyncStatusResponse {\n      /** Provider appDefId */\n      appDefId?: string;\n      /** External Project ID */\n      externalId?: string;\n      /** Synced status */\n      status?: SyncStatus;\n  }\n  interface StopSyncRequest {\n      /** Provider appDefId */\n      appDefId: string;\n      /** External Project ID */\n      externalId: string;\n  }\n  interface StopSyncResponse {\n      /** Provider appDefId */\n      appDefId?: string;\n      /** External Project ID */\n      externalId?: string;\n  }\n  interface GetLoginRedirectableUrlRequest {\n      /** Provider appDefId */\n      appDefId: string;\n  }\n  interface GetLoginRedirectableUrlResponse {\n      /** Provider appDefId */\n      appDefId?: string;\n      /** Login url */\n      url?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface ItemCreatedMediaCallbackRequest {\n      appDefId: string;\n      /** External Project ID */\n      projectExternalId: string;\n      /** External Project ID */\n      itemExternalId: string;\n      fileName?: string | null;\n      mediaType?: string | null;\n      opStatus?: string | null;\n      fileSize?: number | null;\n      width?: number | null;\n      height?: number | null;\n      fileOutput?: MediaFileOutput;\n      siteId?: string | null;\n  }\n  interface MediaFileOutput {\n      video?: MediaVideoOutput[];\n      image?: MediaImageOutput[];\n  }\n  interface MediaVideoOutput {\n      key?: string | null;\n      status?: string | null;\n      url?: string | null;\n      quality?: string | null;\n      duration?: number | null;\n      width?: number | null;\n      height?: number | null;\n      format?: string | null;\n  }\n  interface MediaImageOutput {\n      key?: string | null;\n      status?: string | null;\n      url?: string | null;\n      width?: number | null;\n      height?: number | null;\n      format?: string | null;\n  }\n  interface ItemCreatedMediaCallbackResponse {\n  }\n  interface ProjectCoverImageCreatedMediaCallbackRequest {\n      appDefId: string;\n      /** External Project ID */\n      projectExternalId: string;\n      fileName?: string | null;\n      mediaType?: string | null;\n      opStatus?: string | null;\n      fileSize?: number | null;\n      width?: number | null;\n      height?: number | null;\n      fileOutput?: MediaFileOutput;\n      siteId?: string | null;\n  }\n  interface ProjectCoverImageCreatedMediaCallbackResponse {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface SyncAllSitesEvent {\n      /** Paging */\n      paging?: CursorPaging;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get projects per app\n   * @param appDefId - Provider appDefId\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appDefId\n   * @permissionId PORTFOLIO.SYNCED_PROJECTS_READ\n   * @adminMethod\n   */\n  function getProjects(appDefId: string, options?: GetProjectsOptions): Promise<GetProjectsResponse>;\n  interface GetProjectsOptions {\n      /** Paging */\n      paging?: CursorPaging;\n  }\n  /**\n   * Async Sync project\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.appDefId\n   * @requiredField identifiers.externalId\n   * @permissionId PORTFOLIO.SYNCED_PROJECTS_SYNC\n   * @adminMethod\n   */\n  function syncProject(identifiers: SyncProjectIdentifiers): Promise<SyncProjectResponse>;\n  interface SyncProjectIdentifiers {\n      /** Provider appDefId */\n      appDefId: string;\n      /** External Project ID */\n      externalId: string;\n  }\n  /**\n   * Get sync status (when was last synced and etc..)\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.appDefId\n   * @requiredField identifiers.externalId\n   * @permissionId PORTFOLIO.SYNCED_PROJECTS_READ\n   * @adminMethod\n   */\n  function getSyncStatus(identifiers: GetSyncStatusIdentifiers): Promise<GetSyncStatusResponse>;\n  interface GetSyncStatusIdentifiers {\n      /** Provider appDefId */\n      appDefId: string;\n      /** External Project ID */\n      externalId: string;\n  }\n  /**\n   * Stop sync project\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.appDefId\n   * @requiredField identifiers.externalId\n   * @permissionId PORTFOLIO.SYNCED_PROJECTS_STOP_SYNC\n   * @adminMethod\n   */\n  function stopSync(identifiers: StopSyncIdentifiers): Promise<StopSyncResponse>;\n  interface StopSyncIdentifiers {\n      /** Provider appDefId */\n      appDefId: string;\n      /** External Project ID */\n      externalId: string;\n  }\n  /**\n   * Get login redirectable url\n   * @param appDefId - Provider appDefId\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appDefId\n   * @permissionId PORTFOLIO.SYNCED_PROJECTS_READ\n   * @adminMethod\n   */\n  function getLoginRedirectableUrl(appDefId: string): Promise<GetLoginRedirectableUrlResponse>;\n  /**\n   * media-callback endpoint for item created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.appDefId\n   * @requiredField identifiers.itemExternalId\n   * @requiredField identifiers.projectExternalId\n   * @adminMethod\n   */\n  function itemCreatedMediaCallback(identifiers: ItemCreatedMediaCallbackIdentifiers, options?: ItemCreatedMediaCallbackOptions): Promise<void>;\n  interface ItemCreatedMediaCallbackIdentifiers {\n      appDefId: string;\n      /** External Project ID */\n      projectExternalId: string;\n      /** External Project ID */\n      itemExternalId: string;\n  }\n  interface ItemCreatedMediaCallbackOptions {\n      fileName?: string | null;\n      mediaType?: string | null;\n      opStatus?: string | null;\n      fileSize?: number | null;\n      width?: number | null;\n      height?: number | null;\n      fileOutput?: MediaFileOutput;\n      siteId?: string | null;\n  }\n  /**\n   * media-callback endpoint for project cover image created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.appDefId\n   * @requiredField identifiers.projectExternalId\n   * @adminMethod\n   */\n  function projectCoverImageCreatedMediaCallback(identifiers: ProjectCoverImageCreatedMediaCallbackIdentifiers, options?: ProjectCoverImageCreatedMediaCallbackOptions): Promise<void>;\n  interface ProjectCoverImageCreatedMediaCallbackIdentifiers {\n      appDefId: string;\n      /** External Project ID */\n      projectExternalId: string;\n  }\n  interface ProjectCoverImageCreatedMediaCallbackOptions {\n      fileName?: string | null;\n      mediaType?: string | null;\n      opStatus?: string | null;\n      fileSize?: number | null;\n      width?: number | null;\n      height?: number | null;\n      fileOutput?: MediaFileOutput;\n      siteId?: string | null;\n  }\n  \n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SyncedProject = SyncedProject;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SyncStatus = SyncStatus;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_SyncStatus: typeof SyncStatus;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SyncingProjectEvent = SyncingProjectEvent;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SyncProjectPagingEvent = SyncProjectPagingEvent;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SyncSiteEvent = SyncSiteEvent;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_CursorPaging = CursorPaging;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SyncProjectRequest = SyncProjectRequest;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_GetProjectsRequest = GetProjectsRequest;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_GetProjectsResponse = GetProjectsResponse;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_Cursors = Cursors;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SyncProjectResponse = SyncProjectResponse;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_GetSyncStatusRequest = GetSyncStatusRequest;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_GetSyncStatusResponse = GetSyncStatusResponse;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_StopSyncRequest = StopSyncRequest;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_StopSyncResponse = StopSyncResponse;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_GetLoginRedirectableUrlRequest = GetLoginRedirectableUrlRequest;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_GetLoginRedirectableUrlResponse = GetLoginRedirectableUrlResponse;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_DomainEvent = DomainEvent;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_RestoreInfo = RestoreInfo;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ActionEvent = ActionEvent;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_Empty = Empty;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ItemCreatedMediaCallbackRequest = ItemCreatedMediaCallbackRequest;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_MediaFileOutput = MediaFileOutput;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_MediaVideoOutput = MediaVideoOutput;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_MediaImageOutput = MediaImageOutput;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ItemCreatedMediaCallbackResponse = ItemCreatedMediaCallbackResponse;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ProjectCoverImageCreatedMediaCallbackRequest = ProjectCoverImageCreatedMediaCallbackRequest;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ProjectCoverImageCreatedMediaCallbackResponse = ProjectCoverImageCreatedMediaCallbackResponse;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_Asset = Asset;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_State = State;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_State: typeof State;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SiteCreated = SiteCreated;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_Namespace = Namespace;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_Namespace: typeof Namespace;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SiteTransferred = SiteTransferred;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SiteDeleted = SiteDeleted;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_DeleteContext = DeleteContext;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_DeleteStatus = DeleteStatus;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_DeleteStatus: typeof DeleteStatus;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SiteUndeleted = SiteUndeleted;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SitePublished = SitePublished;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SiteUnpublished = SiteUnpublished;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ServiceRemoved = ServiceRemoved;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SiteRenamed = SiteRenamed;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_NamespaceChanged = NamespaceChanged;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_StudioAssigned = StudioAssigned;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_StudioUnassigned = StudioUnassigned;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SyncAllSitesEvent = SyncAllSitesEvent;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_MessageEnvelope = MessageEnvelope;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_IdentificationData = IdentificationData;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_getProjects: typeof getProjects;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_GetProjectsOptions = GetProjectsOptions;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_syncProject: typeof syncProject;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_SyncProjectIdentifiers = SyncProjectIdentifiers;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_getSyncStatus: typeof getSyncStatus;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_GetSyncStatusIdentifiers = GetSyncStatusIdentifiers;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_stopSync: typeof stopSync;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_StopSyncIdentifiers = StopSyncIdentifiers;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_getLoginRedirectableUrl: typeof getLoginRedirectableUrl;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_itemCreatedMediaCallback: typeof itemCreatedMediaCallback;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ItemCreatedMediaCallbackIdentifiers = ItemCreatedMediaCallbackIdentifiers;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ItemCreatedMediaCallbackOptions = ItemCreatedMediaCallbackOptions;\n  const portfolioSyncedprojectsV1SyncedProject_universal_d_projectCoverImageCreatedMediaCallback: typeof projectCoverImageCreatedMediaCallback;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ProjectCoverImageCreatedMediaCallbackIdentifiers = ProjectCoverImageCreatedMediaCallbackIdentifiers;\n  type portfolioSyncedprojectsV1SyncedProject_universal_d_ProjectCoverImageCreatedMediaCallbackOptions = ProjectCoverImageCreatedMediaCallbackOptions;\n  namespace portfolioSyncedprojectsV1SyncedProject_universal_d {\n    export {\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SyncedProject as SyncedProject,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SyncStatus as SyncStatus,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SyncingProjectEvent as SyncingProjectEvent,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SyncProjectPagingEvent as SyncProjectPagingEvent,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SyncSiteEvent as SyncSiteEvent,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_CursorPaging as CursorPaging,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SyncProjectRequest as SyncProjectRequest,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_GetProjectsRequest as GetProjectsRequest,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_GetProjectsResponse as GetProjectsResponse,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_Cursors as Cursors,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SyncProjectResponse as SyncProjectResponse,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_GetSyncStatusRequest as GetSyncStatusRequest,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_GetSyncStatusResponse as GetSyncStatusResponse,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_StopSyncRequest as StopSyncRequest,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_StopSyncResponse as StopSyncResponse,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_GetLoginRedirectableUrlRequest as GetLoginRedirectableUrlRequest,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_GetLoginRedirectableUrlResponse as GetLoginRedirectableUrlResponse,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_DomainEvent as DomainEvent,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_RestoreInfo as RestoreInfo,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ActionEvent as ActionEvent,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_Empty as Empty,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ItemCreatedMediaCallbackRequest as ItemCreatedMediaCallbackRequest,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_MediaFileOutput as MediaFileOutput,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_MediaVideoOutput as MediaVideoOutput,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_MediaImageOutput as MediaImageOutput,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ItemCreatedMediaCallbackResponse as ItemCreatedMediaCallbackResponse,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ProjectCoverImageCreatedMediaCallbackRequest as ProjectCoverImageCreatedMediaCallbackRequest,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ProjectCoverImageCreatedMediaCallbackResponse as ProjectCoverImageCreatedMediaCallbackResponse,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_Asset as Asset,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_State as State,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SiteCreated as SiteCreated,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SiteCreatedContext as SiteCreatedContext,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_Namespace as Namespace,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SiteTransferred as SiteTransferred,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SiteDeleted as SiteDeleted,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_DeleteContext as DeleteContext,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_DeleteStatus as DeleteStatus,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SiteUndeleted as SiteUndeleted,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SitePublished as SitePublished,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SiteUnpublished as SiteUnpublished,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ServiceProvisioned as ServiceProvisioned,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ServiceRemoved as ServiceRemoved,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SiteRenamed as SiteRenamed,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SiteHardDeleted as SiteHardDeleted,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_NamespaceChanged as NamespaceChanged,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_StudioAssigned as StudioAssigned,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_StudioUnassigned as StudioUnassigned,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SyncAllSitesEvent as SyncAllSitesEvent,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_MessageEnvelope as MessageEnvelope,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_IdentificationData as IdentificationData,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_WebhookIdentityType as WebhookIdentityType,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_getProjects as getProjects,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_GetProjectsOptions as GetProjectsOptions,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_syncProject as syncProject,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_SyncProjectIdentifiers as SyncProjectIdentifiers,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_getSyncStatus as getSyncStatus,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_GetSyncStatusIdentifiers as GetSyncStatusIdentifiers,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_stopSync as stopSync,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_StopSyncIdentifiers as StopSyncIdentifiers,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_getLoginRedirectableUrl as getLoginRedirectableUrl,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_itemCreatedMediaCallback as itemCreatedMediaCallback,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ItemCreatedMediaCallbackIdentifiers as ItemCreatedMediaCallbackIdentifiers,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ItemCreatedMediaCallbackOptions as ItemCreatedMediaCallbackOptions,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_projectCoverImageCreatedMediaCallback as projectCoverImageCreatedMediaCallback,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ProjectCoverImageCreatedMediaCallbackIdentifiers as ProjectCoverImageCreatedMediaCallbackIdentifiers,\n      portfolioSyncedprojectsV1SyncedProject_universal_d_ProjectCoverImageCreatedMediaCallbackOptions as ProjectCoverImageCreatedMediaCallbackOptions,\n    };\n  }\n  \n  export { portfolioCollectionsV1Collection_universal_d as collections, portfolioPortfolioAppV1PortfolioSettings_universal_d as portfolioSettings, portfolioProjectsV1ProjectInCollection_universal_d as projectInCollections, portfolioProjectItemsV1ProjectItem_universal_d as projectItems, portfolioProjectsV1Project_universal_d as projects, portfolioSyncedprojectsV1SyncedProject_universal_d as syncedProject };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-additional-fees-provider.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-additional-fees-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface CalculateAdditionalFeesRequest {\n      /**\n       * Line items to calculate additional fees for.\n       *\n       * Max: 300 items\n       */\n      lineItems?: LineItem[];\n      /** Shipping address. */\n      shippingAddress?: Address;\n      /** Information about the buyer, such as contact details. */\n      buyerDetails?: BuyerDetails;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount[];\n      /** Shipping information. */\n      shippingInfo?: ShippingInformation;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /**\n       * The business location ID associated with the items.\n       * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       * @internal\n       */\n      businessLocationId?: string | null;\n  }\n  interface LineItem {\n      /** Line item ID. */\n      _id?: string;\n      /**\n       * Quantity of item.\n       *\n       * Min: `1`\n       * Max: `100000`\n       */\n      quantity?: number | null;\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference;\n      /** Item name. */\n      productName?: string | null;\n      /** Price for a single item. */\n      price?: string;\n      /** Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability. */\n      physicalProperties?: PhysicalProperties;\n      /**\n       * Partial payment to be paid upfront during the checkout.\n       * Only eligible for catalog items with `lineItem.paymentOption` type of `DEPOSIT_ONLINE`.\n       */\n      depositAmount?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface PhysicalProperties {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  /** Physical address */\n  interface Address {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface BuyerDetails {\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails {\n      /** Contact's first name. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /**\n       * Contact's full name.\n       * @internal\n       */\n      fullName?: string | null;\n      /** Contact's phone number. */\n      phone?: string | null;\n      /** Contact's company name. */\n      company?: string | null;\n      /** Email associated with the address. */\n      email?: string | null;\n      /** Tax info. Currently usable only in Brazil. */\n      vatId?: VatId;\n  }\n  interface VatId {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType;\n  }\n  /** tax info types */\n  enum VatType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n      /** Coupon details. */\n      coupon?: Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount;\n      /** Discount rule */\n      discountRule?: DiscountRule;\n      /** Discount type. */\n      discountType?: DiscountType;\n      /** IDs of line items the discount applies to. */\n      lineItemIds?: string[];\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf {\n      /** Coupon details. */\n      coupon?: Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount;\n      /** Discount rule */\n      discountRule?: DiscountRule;\n  }\n  enum DiscountType {\n      /** Global discount. */\n      GLOBAL = \"GLOBAL\",\n      /** Discount on specific items. */\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      /** Discount on shipping. */\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface Coupon {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon name. */\n      name?: string;\n      amount?: string;\n  }\n  interface MerchantDiscount {\n      amount?: string;\n  }\n  interface DiscountRule {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: DiscountRuleName;\n      amount?: string;\n  }\n  interface DiscountRuleName {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface ShippingInformation {\n      /** Selected carrier shipping option. */\n      selectedCarrierServiceOption?: SelectedCarrierServiceOption;\n  }\n  interface SelectedCarrierServiceOption {\n      /** Unique identifier of selected option. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       * @readonly\n       */\n      title?: string;\n      /**\n       * Delivery logistics.\n       * @readonly\n       */\n      logistics?: DeliveryLogistics;\n      /**\n       * Shipping costs.\n       * @readonly\n       */\n      cost?: SelectedCarrierServiceOptionPrices;\n      /** Other charges. */\n      otherCharges?: SelectedCarrierServiceOptionOtherCharge[];\n  }\n  interface DeliveryLogistics {\n      /** Expected delivery time. For example, \"3-5 business days\". */\n      deliveryTime?: string | null;\n      /** Instructions for deliver. For example, \"Please deliver during open hours and please don't park in disabled parking spot\". */\n      instructions?: string | null;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails;\n  }\n  interface PickupDetails {\n      /** Pickup address. */\n      address?: Address;\n      /**\n       * Whether the pickup address is a business. This may affect tax calculation.\n       * @deprecated\n       */\n      businessLocation?: boolean;\n      /** Pickup method. */\n      pickupMethod?: PickupMethod;\n  }\n  enum PickupMethod {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface SelectedCarrierServiceOptionPrices {\n      /** Price. */\n      price?: string;\n      /** Total shipping discount. */\n      totalDiscount?: string | null;\n  }\n  interface SelectedCarrierServiceOptionOtherCharge {\n      /** Type of charge. */\n      type?: ChargeType;\n      /**\n       * Details of the charge.\n       *\n       * Max: 200 characters\n       */\n      details?: string | null;\n      /**\n       * Cost.\n       *\n       * `cost` is `price` minus `totalDiscount`.\n       */\n      cost?: SelectedCarrierServiceOptionPrices;\n  }\n  enum ChargeType {\n      HANDLING_FEE = \"HANDLING_FEE\",\n      INSURANCE = \"INSURANCE\"\n  }\n  interface CalculateAdditionalFeesResponse {\n      /** Additional fees calculated. */\n      additionalFees?: AdditionalFee[];\n      /**\n       * Currency of additional fees calculated. In three-letter currency code\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       *\n       * The currency returned in the response object must match the wix site's currency or those fees will\n       * be filtered out and not returned. Extract the `currency` from the\n       * [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions-with-rest#request-envelope)\n       * to ensure the correct currency is used in your calculation.\n       */\n      currency?: string;\n  }\n  /** Additional fees calculated. */\n  interface AdditionalFee {\n      /** Additional fee's unique code or ID. */\n      code?: string | null;\n      /**\n       * Additional fee's name.\n       *\n       * Max: 50 characters\n       */\n      name?: string;\n      /** Total additional fees. This `price` does not include any taxes that may apply to these additional fees. */\n      price?: string;\n      /**\n       * Tax details.\n       *\n       * > **Note:** Tax is not calculated in the returned `price` even when `taxDetails.taxable` is `true`.\n       */\n      taxDetails?: TaxDetails;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n      /**\n       * Number of subscription cycle this fee applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /** Tax details. */\n  interface TaxDetails {\n      /** Whether additional fee is taxable. */\n      taxable?: boolean;\n      /** Reserved for internal use. */\n      taxGroupId?: string | null;\n  }\n  interface AdditionalFeesSPIConfig {\n      /**\n       * Whether to allow caching of the response for up to 5 minutes. Passing `false` will prevent caching, but this may affect performance.\n       *\n       * Default: `false`\n       * @internal\n       */\n      cacheable?: boolean | null;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CalculateAdditionalFeesOptions {\n      /**\n       * Line items to calculate additional fees for.\n       *\n       * Max: 300 items\n       */\n      lineItems?: LineItem[];\n      /** Shipping address. */\n      shippingAddress?: Address;\n      /** Information about the buyer, such as contact details. */\n      buyerDetails?: BuyerDetails;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount[];\n      /** Shipping information. */\n      shippingInfo?: ShippingInformation;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /**\n       * The business location ID associated with the items.\n       * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       * @internal\n       */\n      businessLocationId?: string | null;\n  }\n  \n  export { AdditionalFee, AdditionalFeesSPIConfig, Address, AddressLocation, AppliedDiscount, AppliedDiscountDiscountSourceOneOf, BusinessError, BuyerDetails, CalculateAdditionalFeesOptions, CalculateAdditionalFeesRequest, CalculateAdditionalFeesResponse, CatalogReference, ChargeType, Context, Coupon, DeliveryLogistics, DiscountRule, DiscountRuleName, DiscountType, FullAddressContactDetails, IdentificationData, IdentificationDataIdOneOf, IdentityType, LineItem, MerchantDiscount, PhysicalProperties, PickupDetails, PickupMethod, SelectedCarrierServiceOption, SelectedCarrierServiceOptionOtherCharge, SelectedCarrierServiceOptionPrices, ShippingInformation, StreetAddress, TaxDetails, VatId, VatType };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-catalog-provider.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-catalog-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetCatalogItemsRequest {\n      /** Catalog reference details for the items to retrieve, including quantity of each item. */\n      catalogReferences?: CatalogReferenceAndQuantity[];\n      /**\n       * Weight measurement unit.\n       *\n       * By default, Wix sends the weight unit specified in the site's settings.\n       */\n      weightUnit?: WeightUnit;\n      /**\n       * Currency to return item prices in, in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format. For example, `USD` or `EUR`.\n       *\n       * By default, Wix sends the currency specified in the site's settings.\n       */\n      currency?: string;\n      /**\n       * The business location ID associated with the requested items.\n       * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       * @internal\n       */\n      businessLocationId?: string | null;\n      /**\n       * Buyer information.\n       * @internal\n       */\n      buyerInfo?: BuyerInfo;\n  }\n  interface CatalogReferenceAndQuantity {\n      /** Catalog and item reference info. Holds IDs for the item and the catalog it belongs to, as well as further optional details. This is identical in the request and response. */\n      catalogReference?: CatalogReference;\n      /** Item quantity. */\n      quantity?: number;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  enum WeightUnit {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  /** Buyer Info */\n  interface BuyerInfo extends BuyerInfoIdOneOf {\n      /**\n       * Visitor ID - if the buyer is **not** a site member.\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID - if the buyer is a site member.\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * User ID - if the buyer (or cart owner) is a Wix user.\n       * @readonly\n       */\n      userId?: string;\n      /** Contact ID. For more information, see [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction). */\n      contactId?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface BuyerInfoIdOneOf {\n      /**\n       * Visitor ID - if the buyer is **not** a site member.\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID - if the buyer is a site member.\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * User ID - if the buyer (or cart owner) is a Wix user.\n       * @readonly\n       */\n      userId?: string;\n  }\n  interface GetCatalogItemsResponse {\n      /**\n       * Details for each item, including catalog reference details and item data. Any items that don't exist in the catalog are excluded.\n       * If none of the requested items exist in the catalog, this array must be empty.\n       */\n      catalogItems?: Item[];\n  }\n  interface Item {\n      /** Catalog and item reference info. Holds IDs for the item and the catalog it belongs to, as well as further optional details. This is identical in the request and response. */\n      catalogReference?: CatalogReference;\n      /** Item data. Contains full details about the item. */\n      data?: ItemData;\n  }\n  interface ItemData {\n      /** __Required.__ Item name. */\n      productName?: ProductName;\n      /**\n       * URL for the item's page on the site.\n       *\n       * This is used to link back to the relevant item page from the cart page. If not provided, the site URL is used.\n       */\n      url?: string;\n      /** __Required.__ Item type. Either one of the preset types or a custom type. */\n      itemType?: ItemType;\n      /** __Required.__ Item price with discounts applied. If a catalog-defined discount applies, the discount is reflected in this price. */\n      price?: string;\n      /**\n       * Item price **before** applying any catalog-defined discount.\n       *\n       * Default: Value of `price` field, if no catalog-defined discount applies.\n       */\n      fullPrice?: string | null;\n      /** The tax group ID associated with this item. Learn more about the [Tax Groups Service Plugin](https://dev.wix.com/docs/rest/business-management/payments/tax/tax-groups-integration-service-plugin/introduction). */\n      taxGroupId?: string | null;\n      /**\n       * Line item description lines. Used for displaying the item in a cart, checkout or order. For example, if you want `Size: Large` to appear under the item name, create a description line with `\"name\": {\"original\": \"Size\"}` and  `\"plainText\": {\"original\": \"Large\"}`.\n       *\n       * Default: No description line.\n       */\n      descriptionLines?: DescriptionLine[];\n      /**\n       * Line item image details. Supports images from the [Wix Media Manager](https://support.wix.com/en/article/wix-media-accessing-the-media-manager) only.\n       *\n       * To use an image from another source, first upload it to the Media Manager.\n       * You can retrieve the ID, width and height of an image from the Wix Media Manager.\n       */\n      media?: string;\n      /**\n       * Quantity of the item available for purchase. Only return if the catalog manages inventory.\n       * If not returned, a buyer can increase the quantity of this item to add to the cart or checkout without limit.\n       */\n      quantityAvailable?: number | null;\n      /** Physical properties of the item. Only return for physical items. When applicable, contains information such as SKU and item weight. */\n      physicalProperties?: PhysicalProperties;\n      /**\n       * Coupon scopes. These specify which app and items a coupon applies to.\n       * Should be used by Bookings, Stores, and Events in line with the current [Coupons API](https://bo.wix.com/wix-docs/rest/stores/coupons/valid-scope-values).\n       * @internal\n       */\n      couponScopes?: Scope[];\n      /** Subscription option info. */\n      subscriptionOptionInfo?: SubscriptionOptionInfo;\n      /**\n       * ID of the fulfiller for this item. This field is internal and only used by Stores.\n       * @internal\n       */\n      fulfillerId?: string | null;\n      /**\n       * Digital file details. Required if `itemType.preset` is `DIGITAL`.\n       * @internal\n       */\n      digitalFile?: SecuredMedia;\n      /**\n       * Shipping group ID. This field is internal and only used by Stores.\n       * @internal\n       * @readonly\n       */\n      shippingGroupId?: string | null;\n      /**\n       * Payment method selected for the item.\n       *\n       * + `FULL_PAYMENT_ONLINE`: The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE`: The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP`: Payment for this item is done by charging a membership. When selected, `price` is `0`.\n       * + `DEPOSIT_ONLINE`: Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is specified in `depositAmount`.\n       * + `MEMBERSHIP_OFFLINE`: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.\n       *\n       * Default: `FULL_PAYMENT_ONLINE`.\n       */\n      paymentOption?: PaymentOptionType;\n      /** Service properties. When applicable, this contains information such as time and number of participants. */\n      serviceProperties?: ServiceProperties;\n      /**\n       * Additional ID for the item in the catalog.\n       * This field provides an additional identifier for the item if your flow requires another ID as well as `catalogReference.catalogItemId`.\n       * Can be used for membership validation.\n       *\n       * Default: Same as `catalogReference.catalogItemId`.\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Additional description for the price. Return when additional information about the price is needed.\n       *\n       * For example, when `price` is `\"0\"` but additional details about the actual price are needed, such as `\"Starts at $67\"`.\n       */\n      priceDescription?: PriceDescription;\n      /**\n       * Partial payment to be paid upfront during the checkout. Return when `paymentOption` is `DEPOSIT_ONLINE`.\n       *\n       * Default: If `paymentOption` is `DEPOSIT_ONLINE` but `depositAmount` is not provided, the item is treated as if `paymentOption` is `FULL_PAYMENT_ONLINE`.\n       */\n      depositAmount?: string | null;\n      /**\n       * Delivery profile ID for the product.\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page. */\n      consentRequiredPaymentPolicy?: string | null;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       *\n       * Default: `false`\n       * @internal\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       */\n      savePaymentMethod?: boolean;\n      /**\n       * Address to be used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress;\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n      /**\n       * Policies to be displayed to the customer on the checkout page.\n       * @internal\n       */\n      policies?: Policy[];\n      /**\n       * Additional Fees to be added to this item calculation.\n       * @internal\n       */\n      additionalFees?: AdditionalFee[];\n  }\n  interface ProductName {\n      /**\n       * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n       *\n       * Min: 1 character.\n       * Max: 200 characters.\n       */\n      original?: string;\n      /**\n       * Item name translated into the buyer's language.\n       *\n       * Min: 1 character.\n       * Max: 400 characters.\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface ItemType extends ItemTypeItemTypeDataOneOf {\n      /** Preset item type. */\n      preset?: ItemTypeItemType;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf {\n      /** Preset item type. */\n      preset?: ItemTypeItemType;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  interface DescriptionLine extends DescriptionLineValueOneOf, DescriptionLineDescriptionLineValueOneOf {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue;\n      /** Description line color value. */\n      colorInfo?: Color;\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n      /** Description line name. */\n      name?: DescriptionLineName;\n      /**\n       * Description line type.\n       * @internal\n       * @deprecated\n       */\n      lineType?: DescriptionLineType;\n  }\n  /** @oneof */\n  interface DescriptionLineValueOneOf {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue;\n      /** Description line color value. */\n      colorInfo?: Color;\n  }\n  /** @oneof */\n  interface DescriptionLineDescriptionLineValueOneOf {\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n  }\n  interface DescriptionLineName {\n      /** Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface PlainTextValue {\n      /** Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line plain text value translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Color {\n      /** Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line color name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n      /** HEX or RGB color code for display. */\n      code?: string | null;\n  }\n  enum DescriptionLineType {\n      /** Unrecognized type. */\n      UNRECOGNISED = \"UNRECOGNISED\",\n      /** Plain text type. */\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      /** Color type. */\n      COLOR = \"COLOR\"\n  }\n  interface PhysicalProperties {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface Scope {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */\n      group?: Group;\n  }\n  interface Group {\n      /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      name?: string;\n      /** Item ID (when the coupon scope is limited to just one item). */\n      entityId?: string | null;\n  }\n  interface SubscriptionOptionInfo {\n      /** Subscription option settings. */\n      subscriptionSettings?: SubscriptionSettings;\n      /** Subscription option title. */\n      title?: Title;\n      /** Subscription option description. */\n      description?: Description;\n  }\n  interface SubscriptionSettings {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency;\n      /**\n       * Interval of recurring payment.\n       *\n       * Default: `1`.\n       * If SubscriptionFrequency is Day the minimum interval is 7\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription..\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n      /**\n       * Period until first cycle starts. If applied payNow will be 0\n       * If None => no free trial\n       * @internal\n       */\n      freeTrialPeriod?: FreeTrialPeriod;\n      /**\n       * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * Whether to generate an order each billing cycle. An order will always be generated for the first billing cycle.\n       * Default None => will behave like true\n       * @internal\n       */\n      generateOrderEachBillingCycle?: boolean | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface FreeTrialPeriod {\n      /** Frequency of priod. Values: DAY, WEEK, MONTH, YEAR */\n      frequency?: SubscriptionFrequency;\n      /** interval of period */\n      interval?: number;\n  }\n  interface Title {\n      /** Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Subscription option name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Description {\n      /** Subscription option description. */\n      original?: string;\n      /** Translated subscription option description. */\n      translated?: string | null;\n  }\n  interface SecuredMedia {\n      /** Media ID in Wix Media Manager. */\n      _id?: string;\n      /** Original filename. */\n      fileName?: string;\n      /** File type. */\n      fileType?: FileType;\n  }\n  enum FileType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  /** Type of selected payment option for catalog item */\n  enum PaymentOptionType {\n      /** The entire payment for this item happens as part of the checkout. */\n      FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n      /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /** Payment for this item is done by charging a membership. When selected, `price` is `0`. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n      DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\",\n      /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface ServiceProperties {\n      /**\n       * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * For example, the start time of a class.\n       */\n      scheduledDate?: Date | null;\n      /** The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room. */\n      numberOfParticipants?: number | null;\n  }\n  interface PriceDescription {\n      /** __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Price description translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface TaxableAddress extends TaxableAddressTaxableAddressDataOneOf {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType;\n  }\n  /** @oneof */\n  interface TaxableAddressTaxableAddressDataOneOf {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType;\n  }\n  enum TaxableAddressType {\n      UNKNOWN_TAXABLE_ADDRESS = \"UNKNOWN_TAXABLE_ADDRESS\",\n      BUSINESS = \"BUSINESS\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface Policy {\n      /** Policy title - should be translated */\n      title?: string | null;\n      /** Policy content - should be translated */\n      content?: string;\n  }\n  interface AdditionalFee {\n      /** Additional fee's unique code or ID. */\n      code?: string | null;\n      /**\n       * Additional fee's name.\n       *\n       * Max: 50 characters\n       */\n      name?: string;\n      /** Total additional fees. This `price` does not include any taxes that may apply to these additional fees. */\n      price?: string;\n      /**\n       * Tax details.\n       *\n       * > **Note:** Tax is not calculated in the returned `price` even when `taxDetails.taxable` is `true`.\n       */\n      taxDetails?: TaxDetails;\n      /**\n       * Number of subscription cycle this fee applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /** Tax details. */\n  interface TaxDetails {\n      /** Whether additional fee is taxable. */\n      taxable?: boolean;\n      /** Reserved for internal use. */\n      taxGroupId?: string | null;\n  }\n  interface QueryCatalogItemsRequest {\n      /** A list of itemIDs to filter by. If exists, the result will only include the items with the IDs passed. */\n      catalogItemIds?: string[] | null;\n      /** An item name to filter by. If exists, the result will only include items with name that starts with this string. */\n      catalogItemName?: string | null;\n      /** Paging options to limit and skip a number of items. */\n      paging?: Paging;\n      /**\n       * Optional, if exist add filter by numericId gt last_numeric_id\n       * https://dev.wix.com/api/rest/wix-stores/pagination#wix-stores_pagination_pagination\n       */\n      lastNumericId?: string | null;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryCatalogItemsResponse {\n      /** Catalog info and item data. */\n      catalogItems?: BasicItem[];\n      /** Paging metadata. */\n      metadata?: PagingMetadata;\n  }\n  interface BasicItem {\n      /** The ID of the the item. */\n      _id?: string;\n      /** The name of the item. */\n      name?: string;\n      /**\n       * Item price range - the minimum and maximum prices of all the item's variants.\n       * @internal\n       * @readonly\n       */\n      priceRange?: NumericPropertyRange;\n      /** Item Media items. */\n      image?: string[];\n      /** The current status of the inventory */\n      inStock?: boolean;\n      /** current version of an item. Each time the item is modified, its `revision` changes */\n      revision?: string | null;\n      /**\n       * True if the item has any subscription plan defined\n       * @internal\n       */\n      isSubscription?: boolean;\n      /**\n       * Unique numeric ID\n       * @readonly\n       */\n      numericId?: string | null;\n  }\n  interface NumericPropertyRange {\n      /** Minimum value. */\n      minValue?: number;\n      /** Maximum value. */\n      maxValue?: number;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface CatalogSPIConfig {\n      /** Configuration details for discounts applied to all items in the catalog. */\n      allItemsDiscount?: AllItemsDiscountConfig;\n      /** Configuration details for discounts applied to specific items in the catalog. */\n      specificItemsDiscount?: SpecificItemsDiscountConfig;\n  }\n  /** Configuration for all items discount functionality in the catalog. */\n  interface AllItemsDiscountConfig {\n      /**\n       * Whether the discount is enabled.\n       *\n       * Default: `false`.\n       */\n      enabled?: boolean;\n      /**\n       * Translation key for text to display to the site owner.\n       * __Deprecated.__ Use `name` instead.\n       * @internal\n       * @deprecated Translation key for text to display to the site owner.\n       * __Deprecated.__ Use `name` instead.\n       * @replacedBy name\n       * @targetRemovalDate 2024-05-01\n       */\n      translationKey?: string;\n      /**\n       * Translatable name for \"all items discount\" in the catalog.\n       * For example, for restaurant menus, this could be \"All dishes\".\n       */\n      name?: string | null;\n  }\n  /** Configuration for discount functionality in the catalog. */\n  interface SpecificItemsDiscountConfig {\n      /**\n       * Whether the discount is enabled.\n       *\n       * Default: `false`.\n       */\n      enabled?: boolean;\n      /**\n       * Translation key for text to display to the site owner. deprecated use name instead .\n       * For example, for restaurant menus, this could be \"Specific dishes\".\n       * @internal\n       * @deprecated Translation key for text to display to the site owner. deprecated use name instead .\n       * For example, for restaurant menus, this could be \"Specific dishes\".\n       * @replacedBy name\n       * @targetRemovalDate 2024-05-01\n       */\n      translationKey?: string;\n      /** Translatable name for \"all items discount\" in the catalog. */\n      name?: string | null;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetCatalogItemsOptions {\n      /** Catalog reference details for the items to retrieve, including quantity of each item. */\n      catalogReferences?: CatalogReferenceAndQuantity[];\n      /**\n       * Weight measurement unit.\n       *\n       * By default, Wix sends the weight unit specified in the site's settings.\n       */\n      weightUnit?: WeightUnit;\n      /**\n       * Currency to return item prices in, in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format. For example, `USD` or `EUR`.\n       *\n       * By default, Wix sends the currency specified in the site's settings.\n       */\n      currency?: string;\n      /**\n       * The business location ID associated with the requested items.\n       * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       * @internal\n       */\n      businessLocationId?: string | null;\n      /**\n       * Buyer information.\n       * @internal\n       */\n      buyerInfo?: BuyerInfo;\n  }\n  \n  export { AdditionalFee, AllItemsDiscountConfig, BasicItem, BusinessError, BuyerInfo, BuyerInfoIdOneOf, CatalogReference, CatalogReferenceAndQuantity, CatalogSPIConfig, Color, Context, Description, DescriptionLine, DescriptionLineDescriptionLineValueOneOf, DescriptionLineName, DescriptionLineType, DescriptionLineValueOneOf, FileType, FreeTrialPeriod, GetCatalogItemsOptions, GetCatalogItemsRequest, GetCatalogItemsResponse, Group, IdentificationData, IdentificationDataIdOneOf, IdentityType, Item, ItemData, ItemType, ItemTypeItemType, ItemTypeItemTypeDataOneOf, NumericPropertyRange, Paging, PagingMetadata, PaymentOptionType, PhysicalProperties, PlainTextValue, Policy, PriceDescription, ProductName, QueryCatalogItemsRequest, QueryCatalogItemsResponse, Scope, SecuredMedia, ServiceProperties, SpecificItemsDiscountConfig, SubscriptionFrequency, SubscriptionOptionInfo, SubscriptionSettings, TaxDetails, TaxableAddress, TaxableAddressTaxableAddressDataOneOf, TaxableAddressType, Title, WeightUnit };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-trigger-provider.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-custom-trigger-provider\" {\n  interface CustomTriggerProvider {\n  }\n  interface ListTriggersRequest {\n  }\n  interface ListTriggersResponse {\n      /** List of custom triggers */\n      customTriggers?: ListTriggersResponseCustomTrigger[];\n  }\n  interface ListTriggersResponseCustomTrigger {\n      /** Unique ID of the trigger */\n      _id?: string;\n      /** Trigger display name */\n      name?: string;\n  }\n  interface GetEligibleTriggersRequest {\n      /** List of line items to check the triggers on */\n      lineItems?: LineItem[];\n      /** List of custom triggers to check 'is eligible' on */\n      triggers?: TriggerToFilterBy[];\n  }\n  interface LineItem {\n      /** Line item ID. */\n      _id?: string;\n      /** Quantity. */\n      quantity?: number | null;\n      /**\n       * Optional references to the line item's origin catalog.\n       * See [Catalog SPI](https://bo.wix.com/wix-docs/rest/ecommerce/catalog-spi/introduction) for more details.\n       * This field is empty in the case of a custom line item.\n       * currently we only use the catalog app id to set tax=0 for specific apps.\n       */\n      catalogReference?: CatalogReference;\n      /** Price. */\n      price?: string;\n  }\n  /** Used for grouping line items and is sent on add to cart */\n  interface CatalogReference {\n      /** ID of the item within its Wix or 3rd-party catalog. For example, `productId` for Wix Stores or `eventId` for Wix Events. */\n      catalogItemId?: string;\n      /** ID of the catalog app. For example, the Wix Stores `appId`, or the 3rd-party `appId`. */\n      appId?: string;\n      /** Additional info in key:value form. For example, `{\"options\":{\"Size\": \"M\", \"Color\": \"Red\"}}` or `{\"variantId\": \"<VARIANT_ID>\"}`. */\n      options?: Record<string, any> | null;\n  }\n  interface TriggerToFilterBy {\n      /** Custom trigger */\n      customTrigger?: CustomTrigger;\n      /** Unique identifier that will return in `EligibleTrigger.identifier` to distinguish between scopes */\n      identifier?: string | null;\n  }\n  interface CustomTrigger {\n      /** Unique ID of the trigger */\n      _id?: string;\n      /**\n       * Optional - additional data in key:value form\n       * This data will be passed to `GetEligibleTriggers` SPI\n       * i.e weather trigger - be eligible if temp is above 30 degrees, params will have  { \"minTemp\": 30 }\n       * @internal\n       */\n      params?: Record<string, any> | null;\n  }\n  interface GetEligibleTriggersResponse {\n      /** A List of eligible triggers and the items included in each trigger */\n      eligibleTriggers?: EligibleTrigger[];\n  }\n  interface EligibleTrigger {\n      /** The id of the trigger */\n      customTriggerId?: string;\n      /** Unique identifier that was assigned in `TriggerToFilterBy.identifier` to distinguish between custom triggers */\n      identifier?: string | null;\n  }\n  interface CustomTriggerConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** @readonly */\n      identityType?: IdentityType;\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetEligibleTriggersOptions {\n      /** List of line items to check the triggers on */\n      lineItems?: LineItem[];\n      /** List of custom triggers to check 'is eligible' on */\n      triggers?: TriggerToFilterBy[];\n  }\n  \n  export { CatalogReference, Context, CustomTrigger, CustomTriggerConfig, CustomTriggerProvider, EligibleTrigger, GetEligibleTriggersOptions, GetEligibleTriggersRequest, GetEligibleTriggersResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, LineItem, ListTriggersRequest, ListTriggersResponse, ListTriggersResponseCustomTrigger, TriggerToFilterBy };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend.v2.d.ts",
      "content": "declare module \"wix-metro-backend.v2\" {\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formattedAddress?: string | null;\n      /**\n       * Free text to help find the address.\n       * @internal\n       */\n      hint?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      geocode?: AddressLocation;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision[];\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface PageLink {\n      /** The page id we want from the site */\n      pageId?: string;\n      /** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */\n      target?: string | null;\n  }\n  interface Variant {\n      name?: string;\n      value?: string;\n      image?: string;\n  }\n  interface MyAddress {\n      country?: string | null;\n      subdivision?: string | null;\n      city?: string | null;\n      postalCode?: string | null;\n      streetAddress?: StreetAddress;\n      /** @internal */\n      formattedAddress?: string | null;\n  }\n  type Product = {\n      _id: string;\n      name: string;\n      collectionId: string;\n      _createdDate: Date;\n      modifiedDate: Date;\n      image: string;\n      address: Address;\n      document: string;\n      video: string;\n      pageLink: PageLink;\n      audio: string;\n      color: string | null;\n      localDate: string | null;\n      localTime: string | null;\n      localDateTime: string | null;\n      variants: Variant[];\n      mainVariant: Variant;\n      customAddress: MyAddress;\n      guid: string;\n  };\n  interface CreateProductOptions {\n      product?: Product;\n  }\n  interface UpdateProductOptions {\n      product?: Product;\n  }\n  interface QueryCursorResult {\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProductsQueryResult extends QueryCursorResult {\n      items: Product[];\n      query: ProductsQueryBuilder;\n      next: () => Promise<ProductsQueryResult>;\n      prev: () => Promise<ProductsQueryResult>;\n  }\n  interface ProductsQueryBuilder {\n      eq: (propertyName: string, value: any) => ProductsQueryBuilder;\n      ne: (propertyName: string, value: any) => ProductsQueryBuilder;\n      startsWith: (propertyName: string, value: any) => ProductsQueryBuilder;\n      hasSome: (propertyName: string, value: any[]) => ProductsQueryBuilder;\n      in: (propertyName: string, value: any) => ProductsQueryBuilder;\n      exists: (propertyName: string, value: boolean) => ProductsQueryBuilder;\n      ascending: (...propertyNames: string[]) => ProductsQueryBuilder;\n      descending: (...propertyNames: string[]) => ProductsQueryBuilder;\n      limit: (limit: number) => ProductsQueryBuilder;\n      find: () => Promise<ProductsQueryResult>;\n  }\n  \n  function createProduct(options?: CreateProductOptions): Promise<Product>;\n  function deleteProduct(productId: string): Promise<void>;\n  function updateProduct(productId: string, options?: UpdateProductOptions): Promise<Product>;\n  function getProduct(productId: string): Promise<Product>;\n  function queryProducts(): ProductsQueryBuilder;\n  \n  const metroinspectorV1Product_backend_d_createProduct: typeof createProduct;\n  const metroinspectorV1Product_backend_d_deleteProduct: typeof deleteProduct;\n  const metroinspectorV1Product_backend_d_updateProduct: typeof updateProduct;\n  const metroinspectorV1Product_backend_d_getProduct: typeof getProduct;\n  const metroinspectorV1Product_backend_d_queryProducts: typeof queryProducts;\n  namespace metroinspectorV1Product_backend_d {\n    export {\n      metroinspectorV1Product_backend_d_createProduct as createProduct,\n      metroinspectorV1Product_backend_d_deleteProduct as deleteProduct,\n      metroinspectorV1Product_backend_d_updateProduct as updateProduct,\n      metroinspectorV1Product_backend_d_getProduct as getProduct,\n      metroinspectorV1Product_backend_d_queryProducts as queryProducts,\n    };\n  }\n  \n  export { metroinspectorV1Product_backend_d as products };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend-v2.d.ts",
      "content": "declare module \"wix-metro-backend-v2\" {\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formattedAddress?: string | null;\n      /**\n       * Free text to help find the address.\n       * @internal\n       */\n      hint?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      geocode?: AddressLocation;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision[];\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface PageLink {\n      /** The page id we want from the site */\n      pageId?: string;\n      /** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */\n      target?: string | null;\n  }\n  interface Variant {\n      name?: string;\n      value?: string;\n      image?: string;\n  }\n  interface MyAddress {\n      country?: string | null;\n      subdivision?: string | null;\n      city?: string | null;\n      postalCode?: string | null;\n      streetAddress?: StreetAddress;\n      /** @internal */\n      formattedAddress?: string | null;\n  }\n  type Product = {\n      _id: string;\n      name: string;\n      collectionId: string;\n      _createdDate: Date;\n      modifiedDate: Date;\n      image: string;\n      address: Address;\n      document: string;\n      video: string;\n      pageLink: PageLink;\n      audio: string;\n      color: string | null;\n      localDate: string | null;\n      localTime: string | null;\n      localDateTime: string | null;\n      variants: Variant[];\n      mainVariant: Variant;\n      customAddress: MyAddress;\n      guid: string;\n  };\n  interface CreateProductOptions {\n      product?: Product;\n  }\n  interface UpdateProductOptions {\n      product?: Product;\n  }\n  interface QueryCursorResult {\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProductsQueryResult extends QueryCursorResult {\n      items: Product[];\n      query: ProductsQueryBuilder;\n      next: () => Promise<ProductsQueryResult>;\n      prev: () => Promise<ProductsQueryResult>;\n  }\n  interface ProductsQueryBuilder {\n      eq: (propertyName: string, value: any) => ProductsQueryBuilder;\n      ne: (propertyName: string, value: any) => ProductsQueryBuilder;\n      startsWith: (propertyName: string, value: any) => ProductsQueryBuilder;\n      hasSome: (propertyName: string, value: any[]) => ProductsQueryBuilder;\n      in: (propertyName: string, value: any) => ProductsQueryBuilder;\n      exists: (propertyName: string, value: boolean) => ProductsQueryBuilder;\n      ascending: (...propertyNames: string[]) => ProductsQueryBuilder;\n      descending: (...propertyNames: string[]) => ProductsQueryBuilder;\n      limit: (limit: number) => ProductsQueryBuilder;\n      find: () => Promise<ProductsQueryResult>;\n  }\n  \n  function createProduct(options?: CreateProductOptions): Promise<Product>;\n  function deleteProduct(productId: string): Promise<void>;\n  function updateProduct(productId: string, options?: UpdateProductOptions): Promise<Product>;\n  function getProduct(productId: string): Promise<Product>;\n  function queryProducts(): ProductsQueryBuilder;\n  \n  const metroinspectorV1Product_backend_d_createProduct: typeof createProduct;\n  const metroinspectorV1Product_backend_d_deleteProduct: typeof deleteProduct;\n  const metroinspectorV1Product_backend_d_updateProduct: typeof updateProduct;\n  const metroinspectorV1Product_backend_d_getProduct: typeof getProduct;\n  const metroinspectorV1Product_backend_d_queryProducts: typeof queryProducts;\n  namespace metroinspectorV1Product_backend_d {\n    export {\n      metroinspectorV1Product_backend_d_createProduct as createProduct,\n      metroinspectorV1Product_backend_d_deleteProduct as deleteProduct,\n      metroinspectorV1Product_backend_d_updateProduct as updateProduct,\n      metroinspectorV1Product_backend_d_getProduct as getProduct,\n      metroinspectorV1Product_backend_d_queryProducts as queryProducts,\n    };\n  }\n  \n  export { metroinspectorV1Product_backend_d as products };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-v1-pricing-provider.d.ts",
      "content": "declare module \"interfaces-bookings-v1-pricing-provider\" {\n  interface PricingProvider {\n  }\n  interface CalculatePriceRequest {\n      /** Booking to calculate the price for. */\n      booking?: Booking;\n  }\n  /** The booking object, version 2. */\n  interface Booking extends BookingParticipantsInfoOneOf {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices;\n      /**\n       * Booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** An object describing the slot or schedule that was booked. */\n      bookedEntity?: BookedEntity;\n      /** Contact details of the site visitor or member making the booking. */\n      contactDetails?: ContactDetails;\n      /** Additional custom fields submitted with the booking form. */\n      additionalFields?: CustomFormField[];\n      /**\n       * Number of participants.\n       * @internal\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Internal business note\n       * @internal\n       */\n      internalBusinessNote?: string | null;\n      /**\n       * Booking status.\n       * One of:\n       * - `\"CREATED\"` - The booking was created.\n       * - `\"UPDATED\"` - The booking was updated.\n       * - `\"CONFIRMED\"` - The booking was confirmed and appears on the bookings calendar.\n       * A booking can be manually confirmed using the [`Confirm Or Decline API`](www.example.com).\n       * A booking can be automatically confirmed when the following requirements are met:\n       * + The service is configured as automatically confirmed.\n       * + The system invoked the eCommerce checkout API and created an order.\n       * - `\"CANCELED\"` - The booking has been canceled and synced to the bookings calendar.\n       * The booking can be canceled using [`Cancel Booking API`](www.example.com).\n       * - `\"PENDING\"` - The booking is waiting to be confirmed or declined by the owner and the booking is synced to the bookings calendar.\n       * Bookings can be manually set as `PENDING` using the [`setAsPending` API](www.example.com), by those with Manage Booking Status permissions scopes.\n       * Bookings can be automatically set as `PENDING` when the following requirements are met:\n       * + The service is configured as manually confirmed.\n       * + Invoking the eCommerce checkout API and an order has been created.\n       * - `\"WAITING_LIST\"` - The booking is on a waiting list.\n       * - `\"DECLINED\"` - The booking was declined by the owner and synced to the Bookings calendar.\n       * Bookings can be manually declined using the [`Decline Booking` API](www.example.com) by those with Manage Booking Status permissions scopes.\n       * Booking can be automatically declined when one of the following requirements are met:\n       * + Invoking the `eCommerce checkout` API and the order declined event has been sent.\n       * + Invoking the `eCommerce checkout` API and order approved event has been sent, but the booking is offline and the booking causes a double booking.\n       */\n      status?: BookingStatus;\n      /**\n       * Payment status.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * @readonly\n       */\n      paymentStatus?: PaymentStatus;\n      /**\n       * Selected payment option.\n       * One of the payment options offered by the service, or another option if `skipSelectedPaymentOptionValidation` is `true`.\n       * When undefined, the payment option is resolved by the service configuration on checkout.\n       */\n      selectedPaymentOption?: SelectedPaymentOption;\n      /**\n       * Date and time the booking was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** External ID provided by the client app on creation. */\n      externalUserId?: string | null;\n      /**\n       * An object describing the platform and application that made the booking.\n       * @internal\n       */\n      bookingSource?: BookingSource;\n      /**\n       * The last notification used by Cancel, Confirm, Decline, or Reschedule Booking.\n       * @internal\n       */\n      participantNotification?: ParticipantNotification;\n      /**\n       * When value is set to True, an SMS reminder would be sent to the phone number specified in the ContactDetails, 24 hours before the session starts.\n       * @internal\n       */\n      sendSmsReminder?: boolean | null;\n      /** Revision number to be used when updating, rescheduling, or cancelling the booking. Revision number, which increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes,the current revision must be passed when updating the booking. */\n      revision?: string | null;\n      /**\n       * ID of the creator of the Booking.\n       * If `appId` and another ID are present, the other ID takes precedence.\n       * @readonly\n       */\n      createdBy?: IdentificationData;\n      /**\n       * The start date of this booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.\n       * @readonly\n       */\n      startDate?: Date;\n      /**\n       * The end date of this booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.\n       * @readonly\n       */\n      endDate?: Date;\n      /**\n       * Sets the booking flow behavior. Some behaviors require permissions.\n       * @internal\n       */\n      flowControlSettings?: FlowControlSettings;\n      /**\n       * Date and time the booking was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Additional custom fields. This includes fields managed by Wix, by 3rd-party apps, and by the site.\n       *\n       * Empty fields are not returned.\n       */\n      extendedFields?: ExtendedFields;\n      /**\n       * Whether this booking overlaps another existing confirmed booking. Returned when: `true`\n       * @readonly\n       */\n      doubleBooked?: boolean | null;\n  }\n  /** @oneof */\n  interface BookingParticipantsInfoOneOf {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices;\n  }\n  interface BookedEntity extends BookedEntityItemOneOf {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule;\n      /** Session title at the time of booking. */\n      title?: string | null;\n      /**\n       * List of tags for the booking.\n       * System-assigned tags for sessions and schedules are:\n       * + \"INDIVIDUAL\" Appointments, including appointments with more than 1 participant.\n       * + \"GROUP\" Individual classes.\n       * + \"COURSE\" Courses.\n       */\n      tags?: string[] | null;\n  }\n  /** @oneof */\n  interface BookedEntityItemOneOf {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule;\n  }\n  interface BookedSlot {\n      /**\n       * ID of the underlying session when session is a single session or generated from a recurring session.\n       * If `sessionId` is defined in the `Create Booking` request, the `startDate`, `endDate`, `timezone`, `resource`, and `location` fields are ignored and populated from the existing session's information.\n       */\n      sessionId?: string | null;\n      /** Service ID. */\n      serviceId?: string;\n      /** Schedule ID. Required. */\n      scheduleId?: string;\n      /**\n       * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      startDate?: string | null;\n      /**\n       * The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      endDate?: string | null;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /** The resource assigned to the slot. */\n      resource?: BookedResource;\n      /** Location where the slot's session takes place. */\n      location?: Location;\n  }\n  interface BookedResource {\n      /** Booked resource ID. */\n      _id?: string;\n      /** Resource's name at the time of booking. */\n      name?: string | null;\n      /** Resource's email at the time of booking. */\n      email?: string | null;\n      /** Resource's schedule ID. */\n      scheduleId?: string | null;\n  }\n  interface Location {\n      /**\n       * Business location ID. Available only for locations that are business locations,\n       * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** The full address of this location. */\n      formattedAddress?: string | null;\n      /**\n       * Location type.\n       *\n       * - `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n       * - `\"CUSTOM\"`: The address as set for the individual session.\n       */\n      locationType?: LocationType;\n  }\n  enum LocationType {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface BookedSchedule {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /** Booked service ID. */\n      serviceId?: string | null;\n      /**\n       * Location where the schedule's sessions take place. Read only.\n       * @readonly\n       */\n      location?: Location;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The start time of the first session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      firstSessionStart?: string | null;\n      /**\n       * The end time of the last session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      lastSessionEnd?: string | null;\n  }\n  interface ContactDetails {\n      /** Contact's ID. */\n      contactId?: string | null;\n      /** Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /** Contact's email, used to create a new contact or get existing one from the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts). Used to validate coupon usage limitations per contact. If not passed, the coupon usage limitation will not be enforced. (Coupon usage limitation validation is not supported yet). */\n      email?: string | null;\n      /** Contact's phone number. */\n      phone?: string | null;\n      /** Contact's full address. */\n      fullAddress?: Address;\n      /** Contact's time zone. */\n      timeZone?: string | null;\n      /** Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      countryCode?: string | null;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface CustomFormField {\n      /** ID of the form field as defined in the form. */\n      _id?: string;\n      /** Value that was submitted for this field. */\n      value?: string | null;\n      /**\n       * Form field's label at the time of submission.\n       * @readonly\n       */\n      label?: string | null;\n      /**\n       * <!--ONLY:VELO\n       * One of:\n       * - `\"SHORT_TEXT\"`\n       * - `\"LONG_TEXT\"`\n       * - `\"CHECK_BOX\"`\n       * <!--END:ONLY:VELO-->\n       */\n      valueType?: ValueType;\n  }\n  enum ValueType {\n      /** Short text. This is the default value type. */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long text */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** a text that represent the check box value: if selected the value is \"true\", otherwise \"false\". */\n      CHECK_BOX = \"CHECK_BOX\"\n  }\n  /** Booking status. */\n  enum BookingStatus {\n      CREATED = \"CREATED\",\n      CONFIRMED = \"CONFIRMED\",\n      CANCELED = \"CANCELED\",\n      PENDING = \"PENDING\",\n      DECLINED = \"DECLINED\",\n      WAITING_LIST = \"WAITING_LIST\"\n  }\n  /**\n   * Payment status.\n   * Automatically updated when using eCom checkout APIs.\n   */\n  enum PaymentStatus {\n      UNDEFINED = \"UNDEFINED\",\n      NOT_PAID = \"NOT_PAID\",\n      PAID = \"PAID\",\n      /** not supported yet. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      /** not supported yet */\n      REFUNDED = \"REFUNDED\",\n      EXEMPT = \"EXEMPT\"\n  }\n  /**\n   * The selected payment option.\n   * One of the payment options offered by the service.\n   * This field is be set when the user selects an option during booking.\n   * If left undefined, the payment option is resolved by the service configuration on checkout.\n   */\n  enum SelectedPaymentOption {\n      UNDEFINED = \"UNDEFINED\",\n      OFFLINE = \"OFFLINE\",\n      ONLINE = \"ONLINE\",\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Payment can only be done using a membership and must be manually redeemed in the dashboard by the site owner. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface BookingSource {\n      /**\n       * Platform from which a booking was created\n       * <!--ONLY:VELO\n       * One of:\n       * - `\"WEB\"` Desktop browser.\n       * - `\"MOBILE_APP\"` Mobile application.\n       * <!--END:ONLY:VELO-->\n       */\n      platform?: Platform;\n      /**\n       * Actor that created this booking.\n       * <!--ONLY:VELO\n       * One of:\n       * - `\"BUSINESS\"`\n       * - `\"CUSTOMER\"`\n       * <!--END:ONLY:VELO-->\n       */\n      actor?: Actor;\n      /**\n       * Wix site ID of the application that created the booking.\n       * @readonly\n       */\n      appDefId?: string | null;\n      /**\n       * Name of the application that created the booking, as saved in Wix Developers Center at the time of booking.\n       * @readonly\n       */\n      appName?: string | null;\n  }\n  enum Platform {\n      UNDEFINED_PLATFORM = \"UNDEFINED_PLATFORM\",\n      WEB = \"WEB\",\n      MOBILE_APP = \"MOBILE_APP\"\n  }\n  enum Actor {\n      UNDEFINED_ACTOR = \"UNDEFINED_ACTOR\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\"\n  }\n  interface ParticipantNotification {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface FlowControlSettings {\n      /**\n       * When true, skips the service defined booking-window in the booking policy.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       * private because it's confusing to external users - collides with skip_availability_validation\n       * and yet, clients send it (though always with skip_availability_validation=true) so we're not just removing it\n       * When removing, we need to use proto's `reserved` field\n       * @internal\n       */\n      ignoreBookingWindow?: boolean;\n      /**\n       * When true, skips availability checking and allows booking.\n       * Requires BOOKINGS.OVERRIDE_AVAILABILITY permissions.\n       */\n      skipAvailabilityValidation?: boolean;\n      /**\n       * When true, allows booking a confirmation-required service without requiring confirmation.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       */\n      skipBusinessConfirmation?: boolean;\n      /**\n       * When true, skips selected payment option checking as defined in `selectedPaymentOption` field\n       * and allows booking.\n       * Requires BOOKINGS.MANAGE_PAYMENTS permissions.\n       */\n      skipSelectedPaymentOptionValidation?: boolean;\n      /** When true, refunds the booking's payment when the booking is canceled. */\n      withRefund?: boolean | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Data Extensions extended fields\n       * Key: Namespace\n       * Value: extended fields data in Struct format\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ParticipantChoices {\n      /** Information about the booked service choices. Includes the number of participants. */\n      serviceChoices?: ServiceChoices[];\n  }\n  interface ServiceChoices {\n      /** Number of participants for this variant. */\n      numberOfParticipants?: number | null;\n      /** Service choices for these participants. */\n      choices?: ServiceChoice[];\n  }\n  interface ServiceChoice extends ServiceChoiceChoiceOneOf {\n      /**\n       * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n      /**\n       * ID of the corresponding option for the choice. For example, the choice `child`\n       * could correspond to the option `ageGroup`. In this case, `optionId` is the ID\n       * for the `ageGroup` option.\n       */\n      optionId?: string;\n  }\n  /** @oneof */\n  interface ServiceChoiceChoiceOneOf {\n      /**\n       * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n  }\n  interface CalculatePriceResponse extends CalculatePriceResponseTotalPriceOneOf {\n      /**\n       * Calculated total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as numerical value in the\n       * `schedule.rate.labeledPriceOptions` object.\n       */\n      calculatedPrice?: number;\n      /**\n       * Description of the total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as text value in the\n       * `schedule.rate.priceText` field.\n       */\n      priceDescription?: string;\n      /**\n       * List of line items, including information about the number of participants and\n       * the price per participant.\n       */\n      bookingLineItems?: BookingLineItem[];\n      /**\n       * Total deposit the customer must pay when booking the service. Provide only when\n       * the service includes a deposit. Returning a `deposit` is optional. If you\n       * return a `deposit` that's greater than the `calculatedPrice`, the deposit's\n       * value is ignored. Instead, the customer must pay the total `calculatedPrice`\n       * in full upfront as if it was a deposit.\n       */\n      deposit?: number | null;\n      /**\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format. If you return a `currency`, it must be the one specified in the\n       * [Site Properties](https://dev.wix.com/api/rest/business-info/site-properties/properties/get-site-properties).\n       * @internal\n       */\n      currency?: string | null;\n  }\n  /** @oneof */\n  interface CalculatePriceResponseTotalPriceOneOf {\n      /**\n       * Calculated total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as numerical value in the\n       * `schedule.rate.labeledPriceOptions` object.\n       */\n      calculatedPrice?: number;\n      /**\n       * Description of the total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as text value in the\n       * `schedule.rate.priceText` field.\n       */\n      priceDescription?: string;\n  }\n  interface BookingLineItem {\n      /** Service ID. */\n      serviceId?: string | null;\n      /** Resource ID. Required for classes and appointments. */\n      resourceId?: string | null;\n      /** Custom [service choices](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction). */\n      choices?: ServiceChoice[];\n      /** Number of participants. */\n      numberOfParticipants?: number | null;\n      /** Price per participant. */\n      pricePerParticipant?: number | null;\n  }\n  interface BookingsPricingProviderConfig {\n      /** Human-readable name of the your pricing integration app. */\n      pricingProviderName?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: ContextIdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentificationDataIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ContextIdentificationData extends ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentificationDataIdentityType;\n  }\n  /** @oneof */\n  interface ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CalculatePriceOptions {\n      /** Booking to calculate the price for. */\n      booking?: Booking;\n  }\n  \n  export { Actor, Address, AddressLocation, AddressStreetOneOf, BookedEntity, BookedEntityItemOneOf, BookedResource, BookedSchedule, BookedSlot, Booking, BookingLineItem, BookingParticipantsInfoOneOf, BookingSource, BookingStatus, BookingsPricingProviderConfig, CalculatePriceOptions, CalculatePriceRequest, CalculatePriceResponse, CalculatePriceResponseTotalPriceOneOf, ContactDetails, Context, ContextIdentificationData, ContextIdentificationDataIdOneOf, CustomFormField, ExtendedFields, FlowControlSettings, IdentificationData, IdentificationDataIdOneOf, IdentificationDataIdentityType, IdentityType, Location, LocationType, ParticipantChoices, ParticipantNotification, PaymentStatus, Platform, PricingProvider, SelectedPaymentOption, ServiceChoice, ServiceChoiceChoiceOneOf, ServiceChoices, StreetAddress, Subdivision, ValueType };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-motion-backend.v2.d.ts",
      "content": "declare module \"wix-motion-backend.v2\" {\n  interface AlarmMessage {\n      _id?: string;\n      seconds?: number;\n  }\n  interface Dispatched$1 {\n      /** the message someone says */\n      echo?: EchoMessage$1;\n  }\n  interface EchoMessage$1 {\n      /** message comment from EchoMessage proto def, with special comment */\n      message?: string;\n      /** messages_list comment from EchoMessage proto def */\n      messagesList?: MessageItem$1[];\n      _id?: string;\n  }\n  interface MessageItem$1 {\n      /** inner_message comment from EchoMessage proto def */\n      innerMessage?: string;\n  }\n  interface AlarmTestRequest {\n  }\n  interface AlarmTestResponse {\n  }\n  interface AlarmRequest {\n      seconds: number;\n      someString?: string;\n      someOtherString?: string;\n      someOtherField?: string;\n  }\n  interface AlarmResponse {\n      time?: Date | null;\n  }\n  interface AlarmTriggered {\n  }\n  interface AlarmSnoozed {\n  }\n  interface AlarmDeleted {\n  }\n  interface UpdateAlarmRequest {\n      alarm: AlarmMessage;\n      /** @internal */\n      fieldMask?: string[];\n  }\n  interface UpdateAlarmResponse {\n      alarm?: AlarmMessage;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Some description\n   * @public\n   * @documentationMaturity preview\n   * @permissionId METRO.ALARM_TEST_FAKE\n   * @adminMethod\n   */\n  function alarmTest(): Promise<void>;\n  /**\n   * sets up an alarm after {seconds}\n   * @public\n   * @documentationMaturity preview\n   * @requiredField seconds\n   * @adminMethod\n   */\n  function alarm(seconds: number, options?: AlarmOptions): Promise<AlarmResponse>;\n  interface AlarmOptions {\n      someString?: string;\n      someOtherString?: string;\n      someOtherField?: string;\n  }\n  /**\n   * sets up an existing alarm with id {id}\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField alarm\n   * @adminMethod\n   */\n  function updateAlarm(_id: string, alarm: UpdateAlarm, options?: UpdateAlarmOptions): Promise<UpdateAlarmResponse>;\n  interface UpdateAlarm {\n      _id?: string;\n      seconds?: number;\n  }\n  interface UpdateAlarmOptions {\n      /** @internal */\n      fieldMask?: string[];\n  }\n  \n  type alarmV1Alarm_universal_d_AlarmMessage = AlarmMessage;\n  type alarmV1Alarm_universal_d_AlarmTestRequest = AlarmTestRequest;\n  type alarmV1Alarm_universal_d_AlarmTestResponse = AlarmTestResponse;\n  type alarmV1Alarm_universal_d_AlarmRequest = AlarmRequest;\n  type alarmV1Alarm_universal_d_AlarmResponse = AlarmResponse;\n  type alarmV1Alarm_universal_d_AlarmTriggered = AlarmTriggered;\n  type alarmV1Alarm_universal_d_AlarmSnoozed = AlarmSnoozed;\n  type alarmV1Alarm_universal_d_AlarmDeleted = AlarmDeleted;\n  type alarmV1Alarm_universal_d_UpdateAlarmRequest = UpdateAlarmRequest;\n  type alarmV1Alarm_universal_d_UpdateAlarmResponse = UpdateAlarmResponse;\n  const alarmV1Alarm_universal_d_alarmTest: typeof alarmTest;\n  const alarmV1Alarm_universal_d_alarm: typeof alarm;\n  type alarmV1Alarm_universal_d_AlarmOptions = AlarmOptions;\n  const alarmV1Alarm_universal_d_updateAlarm: typeof updateAlarm;\n  type alarmV1Alarm_universal_d_UpdateAlarm = UpdateAlarm;\n  type alarmV1Alarm_universal_d_UpdateAlarmOptions = UpdateAlarmOptions;\n  namespace alarmV1Alarm_universal_d {\n    export {\n      alarmV1Alarm_universal_d_AlarmMessage as AlarmMessage,\n      Dispatched$1 as Dispatched,\n      EchoMessage$1 as EchoMessage,\n      MessageItem$1 as MessageItem,\n      alarmV1Alarm_universal_d_AlarmTestRequest as AlarmTestRequest,\n      alarmV1Alarm_universal_d_AlarmTestResponse as AlarmTestResponse,\n      alarmV1Alarm_universal_d_AlarmRequest as AlarmRequest,\n      alarmV1Alarm_universal_d_AlarmResponse as AlarmResponse,\n      alarmV1Alarm_universal_d_AlarmTriggered as AlarmTriggered,\n      alarmV1Alarm_universal_d_AlarmSnoozed as AlarmSnoozed,\n      alarmV1Alarm_universal_d_AlarmDeleted as AlarmDeleted,\n      alarmV1Alarm_universal_d_UpdateAlarmRequest as UpdateAlarmRequest,\n      alarmV1Alarm_universal_d_UpdateAlarmResponse as UpdateAlarmResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      alarmV1Alarm_universal_d_alarmTest as alarmTest,\n      alarmV1Alarm_universal_d_alarm as alarm,\n      alarmV1Alarm_universal_d_AlarmOptions as AlarmOptions,\n      alarmV1Alarm_universal_d_updateAlarm as updateAlarm,\n      alarmV1Alarm_universal_d_UpdateAlarm as UpdateAlarm,\n      alarmV1Alarm_universal_d_UpdateAlarmOptions as UpdateAlarmOptions,\n    };\n  }\n  \n  interface MessageItem {\n      /** inner_message comment from EchoMessage proto def */\n      innerMessage?: string;\n  }\n  interface EchoRequest {\n      /** 1st part of the message */\n      arg1: string;\n      /** 2nd part of the message */\n      arg2?: string;\n      /** this field test translatable annotation */\n      titleField?: string;\n      someInt32?: number;\n      someDate?: Date | null;\n  }\n  interface EchoResponse {\n      /** message result as EchoMessage */\n      echoMessage?: EchoMessage;\n      /** messge reseult as string */\n      message?: string;\n  }\n  interface Dispatched {\n      /** the message someone says */\n      echo?: EchoMessage;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface EchoMessage {\n      veloMessage: string;\n      id: string;\n  }\n  /**\n   * echo given arg1 and arg2\n   * @param arg1 - 1st part of the message\n   * @public\n   * @documentationMaturity preview\n   * @requiredField arg1\n   * @param arg2 - modified comment for arg2 el hovav\n   * @adminMethod\n   * @returns messge reseult as string\n   */\n  function echo(arg1: string, options?: EchoOptions): Promise<string>;\n  interface EchoOptions {\n      /** 2nd part of the message */\n      arg2?: string;\n      /** this field test translatable annotation */\n      titleField?: string;\n      someInt32?: number;\n      someDate?: Date | null;\n  }\n  \n  type metroinspectorV1Echo_universal_d_MessageItem = MessageItem;\n  type metroinspectorV1Echo_universal_d_EchoRequest = EchoRequest;\n  type metroinspectorV1Echo_universal_d_EchoResponse = EchoResponse;\n  type metroinspectorV1Echo_universal_d_Dispatched = Dispatched;\n  type metroinspectorV1Echo_universal_d_DomainEvent = DomainEvent;\n  type metroinspectorV1Echo_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type metroinspectorV1Echo_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type metroinspectorV1Echo_universal_d_RestoreInfo = RestoreInfo;\n  type metroinspectorV1Echo_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type metroinspectorV1Echo_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type metroinspectorV1Echo_universal_d_ActionEvent = ActionEvent;\n  type metroinspectorV1Echo_universal_d_MessageEnvelope = MessageEnvelope;\n  type metroinspectorV1Echo_universal_d_IdentificationData = IdentificationData;\n  type metroinspectorV1Echo_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type metroinspectorV1Echo_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const metroinspectorV1Echo_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type metroinspectorV1Echo_universal_d_EchoMessage = EchoMessage;\n  const metroinspectorV1Echo_universal_d_echo: typeof echo;\n  type metroinspectorV1Echo_universal_d_EchoOptions = EchoOptions;\n  namespace metroinspectorV1Echo_universal_d {\n    export {\n      metroinspectorV1Echo_universal_d_MessageItem as MessageItem,\n      metroinspectorV1Echo_universal_d_EchoRequest as EchoRequest,\n      metroinspectorV1Echo_universal_d_EchoResponse as EchoResponse,\n      metroinspectorV1Echo_universal_d_Dispatched as Dispatched,\n      metroinspectorV1Echo_universal_d_DomainEvent as DomainEvent,\n      metroinspectorV1Echo_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      metroinspectorV1Echo_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      metroinspectorV1Echo_universal_d_RestoreInfo as RestoreInfo,\n      metroinspectorV1Echo_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      metroinspectorV1Echo_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      metroinspectorV1Echo_universal_d_ActionEvent as ActionEvent,\n      metroinspectorV1Echo_universal_d_MessageEnvelope as MessageEnvelope,\n      metroinspectorV1Echo_universal_d_IdentificationData as IdentificationData,\n      metroinspectorV1Echo_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      metroinspectorV1Echo_universal_d_WebhookIdentityType as WebhookIdentityType,\n      metroinspectorV1Echo_universal_d_EchoMessage as EchoMessage,\n      metroinspectorV1Echo_universal_d_echo as echo,\n      metroinspectorV1Echo_universal_d_EchoOptions as EchoOptions,\n    };\n  }\n  \n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface PageLink {\n      /** The page id we want from the site */\n      pageId?: string;\n      /** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */\n      target?: string | null;\n      /** rel of link */\n      rel?: LinkRel[];\n  }\n  /**\n   * The 'rel' attribute of the link. The rel attribute defines the relationship between a linked resource and the current document.\n   * Further reading (also about different possible rel types): https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel\n   * Following are the accepted 'rel' types by Wix applications.\n   */\n  enum LinkRel {\n      /** default (not implemented) */\n      unknown_link_rel = \"unknown_link_rel\",\n      /** Indicates that the current document's original author or publisher does not endorse the referenced document. */\n      nofollow = \"nofollow\",\n      /** Instructs the browser to navigate to the target resource without granting the new browsing context access to the document that opened it. */\n      noopener = \"noopener\",\n      /** No Referer header will be included. Additionally, has the same effect as noopener. */\n      noreferrer = \"noreferrer\",\n      /** Indicates a link that resulted from advertisements or paid placements. */\n      sponsored = \"sponsored\"\n  }\n  interface Variant {\n      name?: string;\n      value?: string;\n      image?: string;\n  }\n  interface MyAddress {\n      country?: string | null;\n      subdivision?: string | null;\n      city?: string | null;\n      postalCode?: string | null;\n      streetAddress?: StreetAddress;\n      /** @internal */\n      formatted?: string | null;\n  }\n  interface CreateProductRequest {\n      product?: Product;\n  }\n  interface CreateProductResponse {\n      product?: Product;\n  }\n  interface DeleteProductRequest {\n      productId: string;\n  }\n  interface DeleteProductResponse {\n  }\n  interface UpdateProductRequest {\n      productId: string;\n      product?: Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateProductResponse {\n      product?: Product;\n  }\n  interface GetProductRequest {\n      productId: string;\n  }\n  interface GetProductResponse {\n      product?: Product;\n  }\n  interface GetProductsStartWithRequest {\n      title: string;\n      addressLine2?: string | null;\n  }\n  interface GetProductsStartWithResponse {\n      products?: Product[];\n  }\n  interface QueryProductsRequest {\n      query?: QueryV2;\n      /** Whether variants should be included in the response. */\n      includeVariants?: boolean;\n      /** Whether hidden products should be included in the response. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryProductsResponse {\n      products?: Product[];\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkCreateProductsRequest {\n      products: Product[];\n      /** set to `true` if you wish to receive back the created products in the response */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateProductsResponse {\n      results?: BulkProductResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkProductResult {\n      /** Defined in wix.commons */\n      itemMetadata?: ItemMetadata;\n      /** Only exists if `returnEntity` was set to true in the request */\n      item?: Product;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateProductsRequest {\n      products: MaskedProduct[];\n      /** set to `true` if you wish to receive back the updated products in the response */\n      returnEntity?: boolean;\n  }\n  interface MaskedProduct {\n      /** Product to be updated, may be partial */\n      product?: Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateProductsResponse {\n      results?: BulkUpdateProductsResponseBulkProductResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUpdateProductsResponseBulkProductResult {\n      itemMetadata?: ItemMetadata;\n      /** Only exists if `returnEntity` was set to true in the request */\n      item?: Product;\n  }\n  interface BulkDeleteProductsRequest {\n      productIds: string[];\n  }\n  interface BulkDeleteProductsResponse {\n      results?: BulkDeleteProductsResponseBulkProductResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteProductsResponseBulkProductResult {\n      itemMetadata?: ItemMetadata;\n  }\n  interface ResetProductsDbRequest {\n  }\n  interface ResetProductsDbResponse {\n  }\n  interface Product {\n      _id: string;\n      name: string | null;\n      collectionId: string;\n      _createdDate: Date | null;\n      modifiedDate: Date | null;\n      image: string;\n      address: Address;\n      document: string;\n      video: string;\n      pageLink: PageLink;\n      audio: string;\n      color: string | null;\n      localDate: string | null;\n      localTime: string | null;\n      localDateTime: string | null;\n      variants: Variant[];\n      mainVariant: Variant;\n      customAddress: MyAddress;\n      guid: string;\n  }\n  /**\n   * Creating a product\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.product.title\n   * @adminMethod\n   */\n  function createProduct(options?: CreateProductOptions): Promise<Product>;\n  interface CreateProductOptions {\n      product?: Product;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @adminMethod\n   */\n  function deleteProduct(productId: string): Promise<void>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField options.product._id\n   * @requiredField productId\n   * @adminMethod\n   */\n  function updateProduct(productId: string, options?: UpdateProductOptions): Promise<Product>;\n  interface UpdateProductOptions {\n      product?: Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @adminMethod\n   */\n  function getProduct(productId: string): Promise<Product>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField title\n   * @adminMethod\n   */\n  function getProductsStartWith(title: string, options?: GetProductsStartWithOptions): Promise<GetProductsStartWithResponse>;\n  interface GetProductsStartWithOptions {\n      addressLine2?: string | null;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryProducts(options?: QueryProductsOptions): ProductsQueryBuilder;\n  interface QueryProductsOptions {\n      /** Whether variants should be included in the response. */\n      includeVariants?: boolean | undefined;\n      /** Whether hidden products should be included in the response. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean | undefined;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProductsQueryResult extends QueryCursorResult {\n      items: Product[];\n      query: ProductsQueryBuilder;\n      next: () => Promise<ProductsQueryResult>;\n      prev: () => Promise<ProductsQueryResult>;\n  }\n  interface ProductsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'title' | 'collectionId' | 'guid', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'title' | 'guid', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'title' | 'guid', value: string) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'title' | 'guid', value: any[]) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'title' | 'guid', value: any) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'title' | 'guid', value: boolean) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'title' | 'collectionId' | 'guid'>) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'title' | 'collectionId' | 'guid'>) => ProductsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ProductsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ProductsQueryResult>;\n  }\n  /**\n   * create multiple products in a single request. Works synchronously\n   * @public\n   * @documentationMaturity preview\n   * @requiredField products\n   * @adminMethod\n   */\n  function bulkCreateProducts(products: Product[], options?: BulkCreateProductsOptions): Promise<BulkCreateProductsResponse>;\n  interface BulkCreateProductsOptions {\n      /** set to `true` if you wish to receive back the created products in the response */\n      returnEntity?: boolean;\n  }\n  /**\n   * update multiple products in a single request. Works synchronously.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField products\n   * @adminMethod\n   */\n  function bulkUpdateProducts(products: MaskedProduct[], options?: BulkUpdateProductsOptions): Promise<BulkUpdateProductsResponse>;\n  interface BulkUpdateProductsOptions {\n      /** set to `true` if you wish to receive back the updated products in the response */\n      returnEntity?: boolean;\n  }\n  /**\n   * deletes multiple products in a single request. Works synchronously.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productIds\n   * @adminMethod\n   */\n  function bulkDeleteProducts(productIds: string[]): Promise<BulkDeleteProductsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function resetProductsDb(): Promise<void>;\n  \n  type metroinspectorV1Product_universal_d_FocalPoint = FocalPoint;\n  type metroinspectorV1Product_universal_d_Address = Address;\n  type metroinspectorV1Product_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type metroinspectorV1Product_universal_d_StreetAddress = StreetAddress;\n  type metroinspectorV1Product_universal_d_AddressLocation = AddressLocation;\n  type metroinspectorV1Product_universal_d_Subdivision = Subdivision;\n  type metroinspectorV1Product_universal_d_SubdivisionType = SubdivisionType;\n  const metroinspectorV1Product_universal_d_SubdivisionType: typeof SubdivisionType;\n  type metroinspectorV1Product_universal_d_StandardDetails = StandardDetails;\n  type metroinspectorV1Product_universal_d_VideoResolution = VideoResolution;\n  type metroinspectorV1Product_universal_d_PageLink = PageLink;\n  type metroinspectorV1Product_universal_d_LinkRel = LinkRel;\n  const metroinspectorV1Product_universal_d_LinkRel: typeof LinkRel;\n  type metroinspectorV1Product_universal_d_Variant = Variant;\n  type metroinspectorV1Product_universal_d_MyAddress = MyAddress;\n  type metroinspectorV1Product_universal_d_CreateProductRequest = CreateProductRequest;\n  type metroinspectorV1Product_universal_d_CreateProductResponse = CreateProductResponse;\n  type metroinspectorV1Product_universal_d_DeleteProductRequest = DeleteProductRequest;\n  type metroinspectorV1Product_universal_d_DeleteProductResponse = DeleteProductResponse;\n  type metroinspectorV1Product_universal_d_UpdateProductRequest = UpdateProductRequest;\n  type metroinspectorV1Product_universal_d_UpdateProductResponse = UpdateProductResponse;\n  type metroinspectorV1Product_universal_d_GetProductRequest = GetProductRequest;\n  type metroinspectorV1Product_universal_d_GetProductResponse = GetProductResponse;\n  type metroinspectorV1Product_universal_d_GetProductsStartWithRequest = GetProductsStartWithRequest;\n  type metroinspectorV1Product_universal_d_GetProductsStartWithResponse = GetProductsStartWithResponse;\n  type metroinspectorV1Product_universal_d_QueryProductsRequest = QueryProductsRequest;\n  type metroinspectorV1Product_universal_d_QueryV2 = QueryV2;\n  type metroinspectorV1Product_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type metroinspectorV1Product_universal_d_Sorting = Sorting;\n  type metroinspectorV1Product_universal_d_SortOrder = SortOrder;\n  const metroinspectorV1Product_universal_d_SortOrder: typeof SortOrder;\n  type metroinspectorV1Product_universal_d_Paging = Paging;\n  type metroinspectorV1Product_universal_d_CursorPaging = CursorPaging;\n  type metroinspectorV1Product_universal_d_QueryProductsResponse = QueryProductsResponse;\n  type metroinspectorV1Product_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type metroinspectorV1Product_universal_d_Cursors = Cursors;\n  type metroinspectorV1Product_universal_d_BulkCreateProductsRequest = BulkCreateProductsRequest;\n  type metroinspectorV1Product_universal_d_BulkCreateProductsResponse = BulkCreateProductsResponse;\n  type metroinspectorV1Product_universal_d_ItemMetadata = ItemMetadata;\n  type metroinspectorV1Product_universal_d_ApplicationError = ApplicationError;\n  type metroinspectorV1Product_universal_d_BulkProductResult = BulkProductResult;\n  type metroinspectorV1Product_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type metroinspectorV1Product_universal_d_BulkUpdateProductsRequest = BulkUpdateProductsRequest;\n  type metroinspectorV1Product_universal_d_MaskedProduct = MaskedProduct;\n  type metroinspectorV1Product_universal_d_BulkUpdateProductsResponse = BulkUpdateProductsResponse;\n  type metroinspectorV1Product_universal_d_BulkUpdateProductsResponseBulkProductResult = BulkUpdateProductsResponseBulkProductResult;\n  type metroinspectorV1Product_universal_d_BulkDeleteProductsRequest = BulkDeleteProductsRequest;\n  type metroinspectorV1Product_universal_d_BulkDeleteProductsResponse = BulkDeleteProductsResponse;\n  type metroinspectorV1Product_universal_d_BulkDeleteProductsResponseBulkProductResult = BulkDeleteProductsResponseBulkProductResult;\n  type metroinspectorV1Product_universal_d_ResetProductsDbRequest = ResetProductsDbRequest;\n  type metroinspectorV1Product_universal_d_ResetProductsDbResponse = ResetProductsDbResponse;\n  type metroinspectorV1Product_universal_d_Product = Product;\n  const metroinspectorV1Product_universal_d_createProduct: typeof createProduct;\n  type metroinspectorV1Product_universal_d_CreateProductOptions = CreateProductOptions;\n  const metroinspectorV1Product_universal_d_deleteProduct: typeof deleteProduct;\n  const metroinspectorV1Product_universal_d_updateProduct: typeof updateProduct;\n  type metroinspectorV1Product_universal_d_UpdateProductOptions = UpdateProductOptions;\n  const metroinspectorV1Product_universal_d_getProduct: typeof getProduct;\n  const metroinspectorV1Product_universal_d_getProductsStartWith: typeof getProductsStartWith;\n  type metroinspectorV1Product_universal_d_GetProductsStartWithOptions = GetProductsStartWithOptions;\n  const metroinspectorV1Product_universal_d_queryProducts: typeof queryProducts;\n  type metroinspectorV1Product_universal_d_QueryProductsOptions = QueryProductsOptions;\n  type metroinspectorV1Product_universal_d_ProductsQueryResult = ProductsQueryResult;\n  type metroinspectorV1Product_universal_d_ProductsQueryBuilder = ProductsQueryBuilder;\n  const metroinspectorV1Product_universal_d_bulkCreateProducts: typeof bulkCreateProducts;\n  type metroinspectorV1Product_universal_d_BulkCreateProductsOptions = BulkCreateProductsOptions;\n  const metroinspectorV1Product_universal_d_bulkUpdateProducts: typeof bulkUpdateProducts;\n  type metroinspectorV1Product_universal_d_BulkUpdateProductsOptions = BulkUpdateProductsOptions;\n  const metroinspectorV1Product_universal_d_bulkDeleteProducts: typeof bulkDeleteProducts;\n  const metroinspectorV1Product_universal_d_resetProductsDb: typeof resetProductsDb;\n  namespace metroinspectorV1Product_universal_d {\n    export {\n      metroinspectorV1Product_universal_d_FocalPoint as FocalPoint,\n      metroinspectorV1Product_universal_d_Address as Address,\n      metroinspectorV1Product_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      metroinspectorV1Product_universal_d_StreetAddress as StreetAddress,\n      metroinspectorV1Product_universal_d_AddressLocation as AddressLocation,\n      metroinspectorV1Product_universal_d_Subdivision as Subdivision,\n      metroinspectorV1Product_universal_d_SubdivisionType as SubdivisionType,\n      metroinspectorV1Product_universal_d_StandardDetails as StandardDetails,\n      metroinspectorV1Product_universal_d_VideoResolution as VideoResolution,\n      metroinspectorV1Product_universal_d_PageLink as PageLink,\n      metroinspectorV1Product_universal_d_LinkRel as LinkRel,\n      metroinspectorV1Product_universal_d_Variant as Variant,\n      metroinspectorV1Product_universal_d_MyAddress as MyAddress,\n      metroinspectorV1Product_universal_d_CreateProductRequest as CreateProductRequest,\n      metroinspectorV1Product_universal_d_CreateProductResponse as CreateProductResponse,\n      metroinspectorV1Product_universal_d_DeleteProductRequest as DeleteProductRequest,\n      metroinspectorV1Product_universal_d_DeleteProductResponse as DeleteProductResponse,\n      metroinspectorV1Product_universal_d_UpdateProductRequest as UpdateProductRequest,\n      metroinspectorV1Product_universal_d_UpdateProductResponse as UpdateProductResponse,\n      metroinspectorV1Product_universal_d_GetProductRequest as GetProductRequest,\n      metroinspectorV1Product_universal_d_GetProductResponse as GetProductResponse,\n      metroinspectorV1Product_universal_d_GetProductsStartWithRequest as GetProductsStartWithRequest,\n      metroinspectorV1Product_universal_d_GetProductsStartWithResponse as GetProductsStartWithResponse,\n      metroinspectorV1Product_universal_d_QueryProductsRequest as QueryProductsRequest,\n      metroinspectorV1Product_universal_d_QueryV2 as QueryV2,\n      metroinspectorV1Product_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      metroinspectorV1Product_universal_d_Sorting as Sorting,\n      metroinspectorV1Product_universal_d_SortOrder as SortOrder,\n      metroinspectorV1Product_universal_d_Paging as Paging,\n      metroinspectorV1Product_universal_d_CursorPaging as CursorPaging,\n      metroinspectorV1Product_universal_d_QueryProductsResponse as QueryProductsResponse,\n      metroinspectorV1Product_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      metroinspectorV1Product_universal_d_Cursors as Cursors,\n      metroinspectorV1Product_universal_d_BulkCreateProductsRequest as BulkCreateProductsRequest,\n      metroinspectorV1Product_universal_d_BulkCreateProductsResponse as BulkCreateProductsResponse,\n      metroinspectorV1Product_universal_d_ItemMetadata as ItemMetadata,\n      metroinspectorV1Product_universal_d_ApplicationError as ApplicationError,\n      metroinspectorV1Product_universal_d_BulkProductResult as BulkProductResult,\n      metroinspectorV1Product_universal_d_BulkActionMetadata as BulkActionMetadata,\n      metroinspectorV1Product_universal_d_BulkUpdateProductsRequest as BulkUpdateProductsRequest,\n      metroinspectorV1Product_universal_d_MaskedProduct as MaskedProduct,\n      metroinspectorV1Product_universal_d_BulkUpdateProductsResponse as BulkUpdateProductsResponse,\n      metroinspectorV1Product_universal_d_BulkUpdateProductsResponseBulkProductResult as BulkUpdateProductsResponseBulkProductResult,\n      metroinspectorV1Product_universal_d_BulkDeleteProductsRequest as BulkDeleteProductsRequest,\n      metroinspectorV1Product_universal_d_BulkDeleteProductsResponse as BulkDeleteProductsResponse,\n      metroinspectorV1Product_universal_d_BulkDeleteProductsResponseBulkProductResult as BulkDeleteProductsResponseBulkProductResult,\n      metroinspectorV1Product_universal_d_ResetProductsDbRequest as ResetProductsDbRequest,\n      metroinspectorV1Product_universal_d_ResetProductsDbResponse as ResetProductsDbResponse,\n      metroinspectorV1Product_universal_d_Product as Product,\n      metroinspectorV1Product_universal_d_createProduct as createProduct,\n      metroinspectorV1Product_universal_d_CreateProductOptions as CreateProductOptions,\n      metroinspectorV1Product_universal_d_deleteProduct as deleteProduct,\n      metroinspectorV1Product_universal_d_updateProduct as updateProduct,\n      metroinspectorV1Product_universal_d_UpdateProductOptions as UpdateProductOptions,\n      metroinspectorV1Product_universal_d_getProduct as getProduct,\n      metroinspectorV1Product_universal_d_getProductsStartWith as getProductsStartWith,\n      metroinspectorV1Product_universal_d_GetProductsStartWithOptions as GetProductsStartWithOptions,\n      metroinspectorV1Product_universal_d_queryProducts as queryProducts,\n      metroinspectorV1Product_universal_d_QueryProductsOptions as QueryProductsOptions,\n      metroinspectorV1Product_universal_d_ProductsQueryResult as ProductsQueryResult,\n      metroinspectorV1Product_universal_d_ProductsQueryBuilder as ProductsQueryBuilder,\n      metroinspectorV1Product_universal_d_bulkCreateProducts as bulkCreateProducts,\n      metroinspectorV1Product_universal_d_BulkCreateProductsOptions as BulkCreateProductsOptions,\n      metroinspectorV1Product_universal_d_bulkUpdateProducts as bulkUpdateProducts,\n      metroinspectorV1Product_universal_d_BulkUpdateProductsOptions as BulkUpdateProductsOptions,\n      metroinspectorV1Product_universal_d_bulkDeleteProducts as bulkDeleteProducts,\n      metroinspectorV1Product_universal_d_resetProductsDb as resetProductsDb,\n    };\n  }\n  \n  export { alarmV1Alarm_universal_d as alarms, metroinspectorV1Echo_universal_d as metroinspector, metroinspectorV1Product_universal_d as products };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-scopes-provider.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-custom-scopes-provider\" {\n  interface CustomScopesProvider {\n  }\n  interface GetScopesRequest {\n  }\n  interface GetScopesResponse {\n      /** A list of scopes */\n      scopes?: CustomScope[];\n  }\n  interface CustomScope {\n      /** The id of this scope. This should be a unique id for the implementer */\n      _id?: string;\n      /**\n       * The name of the scope, for example: \"Specific Collections, \"Specific Sizes\"\n       * Wix applications implementing this SPI should return the translation key of the scopes name,\n       * and make sure to add translations to this key the scopes SPI host\n       * External implementation should return the English name of the scope\n       */\n      nameTranslationKey?: string;\n      /**\n       * Optional - the app_id of the catalog this scope is applied on.\n       * This should be the app_id of the catalog this filter applies on, if there is one.\n       * If this scope applies on more than one catalog, or does not related to a catalog - this field can be empty\n       */\n      catalogAppId?: string | null;\n      /**\n       * Optional - additional data used in order to generate and resolve the the discount scope.\n       * If this scope represents \"specific\" items (collections, seasons, months, etc) - this should be defined with:\n       * title: a title to the selectable items (for example: \"specific collections\"),\n       * type: \"multi_select\",\n       * custom_filter_params_struct: {\"field_name\" : fieldName},\n       * where fieldName is the name of the field that will hold the selected items in the scope\n       * For example, \"Specific collections\" filter would have {\"field_name\" : \"collectionIds\"}\n       */\n      filterAdditionalData?: FilterAdditionalData;\n  }\n  /** Additional data of the scope - for the scope's query of type CATALOG_ITEM or CUSTOM_FILTER */\n  interface FilterAdditionalData {\n      /** The translated title of the list of scope items, for example: \"Specific collections\" */\n      title?: string;\n      /** The type of the additional data, for example: \"multi_select\" */\n      type?: string;\n      /**\n       * Optional - the object structure for customFilter.params (in discount scope).\n       * For example, \"Specific collections\" filter would have {\"field_name\" : \"collectionIds\"} under this filed,\n       * which will make the UI set scope.customFilter.params to { \"collectionIds\": [...]}\n       * Will be returned for scopes of type CUSTOM_FILTER only\n       */\n      customFilterParamsStruct?: Record<string, any> | null;\n  }\n  interface ListScopeItemsRequest {\n      /** Id of the Scope to retrieve */\n      scopeId: string;\n      /** A list of itemIDs to filter by. If exists, the result will only include the items with the IDs passed. */\n      itemIds?: string[];\n      /** An item name to filter by. If exists, the result will only include items with name that include this string. */\n      itemName?: string | null;\n      /** Paging options to limit and skip a number of items. */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListScopeItemsResponse {\n      /** A list of the Scope Items */\n      scopeItems?: ScopeItem[];\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n  }\n  interface ScopeItem {\n      /** The ID of the the item */\n      _id?: string;\n      /** The translated name of the item */\n      name?: string;\n  }\n  interface GetAppliedScopesRequest {\n      /** A list of scope to filter the line items by */\n      scopes?: ScopeToFilterBy[];\n      /**\n       * References to the line item's origin catalog to check if included in one of the scopes provided.\n       * See [Catalog SPI](https://bo.wix.com/wix-docs/rest/ecommerce/catalog-spi/introduction) for more details.\n       */\n      catalogReference?: CatalogReference[];\n  }\n  interface ScopeToFilterBy {\n      /** The ID of the the scope to filter items by */\n      scopeId?: string;\n      /** The scope's custom filter values */\n      customFilterParams?: Record<string, any> | null;\n      /** Unique identifier that will return in `AppliedItemsByScopes.identifier` to distinguish between scopes in the response */\n      identifier?: string | null;\n  }\n  /** Used for grouping line items and is sent on add to cart */\n  interface CatalogReference {\n      /** ID of the item within its Wix or 3rd-party catalog. For example, `productId` for Wix Stores or `eventId` for Wix Events. */\n      catalogItemId?: string;\n      /** ID of the catalog app. For example, the Wix Stores `appId`, or the 3rd-party `appId`. */\n      appId?: string;\n      /** Additional info in key:value form. For example, `{\"options\":{\"Size\": \"M\", \"Color\": \"Red\"}}` or `{\"variantId\": \"<VARIANT_ID>\"}`. */\n      options?: Record<string, any> | null;\n  }\n  interface GetAppliedScopesResponse {\n      /** A list of items and the scopes they included in */\n      appliedItemsByScopes?: AppliedItemsByScopes[];\n  }\n  interface AppliedItemsByScopes {\n      /** Id of the scope the provided items are valid for */\n      scopeId?: string;\n      /** A list of items that matches the scope */\n      catalogReferences?: CatalogReference[];\n      /** Unique identifier that was assigned in `ScopeToFilterBy.identifier` to distinguish between scopes */\n      identifier?: string | null;\n  }\n  interface CustomScopeConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** @readonly */\n      identityType?: IdentityType;\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ListScopeItemsOptions {\n      /** A list of itemIDs to filter by. If exists, the result will only include the items with the IDs passed. */\n      itemIds?: string[];\n      /** An item name to filter by. If exists, the result will only include items with name that include this string. */\n      itemName?: string | null;\n      /** Paging options to limit and skip a number of items. */\n      paging?: Paging;\n  }\n  interface GetAppliedScopesOptions {\n      /** A list of scope to filter the line items by */\n      scopes?: ScopeToFilterBy[];\n      /**\n       * References to the line item's origin catalog to check if included in one of the scopes provided.\n       * See [Catalog SPI](https://bo.wix.com/wix-docs/rest/ecommerce/catalog-spi/introduction) for more details.\n       */\n      catalogReference?: CatalogReference[];\n  }\n  \n  export { AppliedItemsByScopes, CatalogReference, Context, CustomScope, CustomScopeConfig, CustomScopesProvider, FilterAdditionalData, GetAppliedScopesOptions, GetAppliedScopesRequest, GetAppliedScopesResponse, GetScopesRequest, GetScopesResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, ListScopeItemsOptions, ListScopeItemsRequest, ListScopeItemsResponse, Paging, ScopeItem, ScopeToFilterBy };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-bookings-backend.v2.d.ts",
      "content": "declare module \"wix-bookings-backend.v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Resource {\n      /**\n       * Resource ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Resource name. */\n      name?: string | null;\n      /** Resource email address. */\n      email?: string | null;\n      /** Resource phone number. */\n      phone?: string | null;\n      /** Resource description. */\n      description?: string | null;\n      /** Deprecated. Please use tags. */\n      tag?: string | null;\n      /** Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'. */\n      tags?: string[] | null;\n      /** Resource images. */\n      images?: string[];\n      /** Deprecated. Please use scheduleIds. List of the schedules owned by this resource. Min size 1. */\n      schedules?: Schedule[];\n      /**\n       * List of IDs of schedules owned by this resource.\n       * @readonly\n       */\n      scheduleIds?: string[] | null;\n      /**\n       * Resource status.\n       * <!--ONLY:VELO\n       * One of:\n       * - `\"CREATED\"` Default status.\n       * - `\"DELETED\"` The resource was deleted.\n       * - `\"UPDATED\"` The resource was updated.\n       * <!--END:ONLY:VELO-->\n       * @readonly\n       */\n      status?: ResourceStatus;\n      /**\n       * Wix user ID, if the resource is associated with the Wix user.\n       * A staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager.\n       * <!--ONLY:VELO\n       * Click the **Set Permissions** button for the staff member on the Staff page on your site's dashboard.\n       * <!--END:ONLY:VELO-->\n       * @readonly\n       */\n      wixUserId?: string | null;\n  }\n  interface Schedule {\n      /** Schedule ID. */\n      _id?: string;\n      /** ID of the schedule's owner entity. This may be a resource ID or a service ID. */\n      scheduleOwnerId?: string | null;\n      /**\n       * Start time of the first session in the schedule.\n       * @internal\n       * @readonly\n       */\n      firstSessionStart?: Date;\n      /**\n       * End time of the last session in the schedule.\n       * @internal\n       * @readonly\n       */\n      lastSessionEnd?: Date;\n      /**\n       * Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\n       * Derived from the Wix Business time zone.\n       * @readonly\n       */\n      timeZone?: string | null;\n      /** Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead. */\n      intervals?: RecurringInterval[];\n      /** Default title for the schedule's sessions. Maximum length: 6000 characters. */\n      title?: string | null;\n      /**\n       * Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\n       * The Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags.\n       */\n      tags?: string[] | null;\n      /** Default location for the schedule's sessions. */\n      location?: Location;\n      /**\n       * Maximum number of participants that can be added to the schedule's sessions.\n       * Must be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app.\n       */\n      capacity?: number | null;\n      /** Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead. */\n      rate?: Rate;\n      /** Deprecated and will be removed soon. */\n      availability?: Availability;\n      /**\n       * Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes.\n       * @readonly\n       */\n      totalNumberOfParticipants?: number;\n      /**\n       * *Partial list** of participants which are registered to sessions in this schedule.\n       * Participants who are registered in the schedule are automatically registered to any session that is created for the schedule.\n       * To retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings).\n       * @readonly\n       */\n      participants?: Participant[];\n      /** Deprecated and will be removed soon. */\n      externalCalendarOverrides?: ExternalCalendarOverrides;\n      /**\n       * Schedule status.\n       * @readonly\n       */\n      status?: ScheduleStatus;\n      /**\n       * Schedule creation date.\n       * @readonly\n       */\n      created?: Date;\n      /**\n       * Schedule last update date.\n       * @readonly\n       */\n      updated?: Date;\n      /**\n       * Schedule version number, updated each time the schedule is updated.\n       * @readonly\n       */\n      version?: number;\n      /**\n       * The schedule version, updated each time the schedule or the schedule participants are updated.\n       * @internal\n       * @readonly\n       */\n      versions?: Version;\n      /**\n       * Fields which were inherited from the Business Info page under Settings in the Dashboard.\n       * @readonly\n       */\n      inheritedFields?: string[];\n      /** Deprecated and will be removed soon. */\n      conferenceProvider?: ConferenceProvider;\n      /**\n       * A conference created for the schedule. This is used when a participant is added to a schedule.\n       * **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.\n       */\n      calendarConference?: CalendarConference;\n      /**\n       * The name of the schedule owner. It may be a resource name or a service name. Optional.\n       * @internal\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the schedule owner. Optional.\n       * Currently, in Bookings system, it would be present when the schedule is owned by a staff resource and the resource is connected to a user.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  interface RecurringInterval {\n      /**\n       * The recurring interval identifier.\n       * @readonly\n       */\n      _id?: string;\n      /** The start time of the recurring interval. Required. */\n      start?: Date;\n      /** The end time of the recurring interval. Optional. Empty value indicates that there is no end time. */\n      end?: Date;\n      /** The interval rules. The day, hour and minutes the interval is recurring. */\n      interval?: Interval;\n      /** The frequency of the interval. Optional. The default is frequency with the default repetition. */\n      frequency?: Frequency;\n      /** Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval. */\n      affectedSchedules?: LinkedSchedule[];\n      /**\n       * The type of recurring interval.\n       * <!--ONLY:VELO\n       * One of:\n       * - `\"UNDEFINED\"` The default value. Sessions for this interval will be of type EVENT.\n       * - `\"EVENT\"` A recurring interval of events.\n       * - `\"WORKING_HOURS\"` A recurring interval for availability.\n       * <!--END:ONLY:VELO-->\n       */\n      intervalType?: RecurringIntervalType;\n  }\n  interface Interval {\n      /** The day the interval accrue. Optional. The default is the day of the recurring interval's start time. */\n      daysOfWeek?: Day;\n      /** The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23. */\n      hourOfDay?: number | null;\n      /** The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59. */\n      minuteOfHour?: number | null;\n      /** The duration of the interval in minutes. Required. Part of the session end time calculation. minimum: 1, maximum: 86400. */\n      duration?: number;\n  }\n  enum Day {\n      /** Undefined. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface Frequency {\n      /** The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52. */\n      repetition?: number | null;\n  }\n  interface LinkedSchedule {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /**\n       * Sets this schedule's availability for the duration of the linked schedule's sessions.  Default is `\"BUSY\"`.\n       * <!--ONLY:REST-->\n       * If set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\n       * If set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n       * <!--END:ONLY:REST-->\n       *\n       * <!--ONLY:VELO\n       * One of:\n       * - `\"FREE\"` This schedule can have available slots during the linked schedule's sessions.\n       * - `\"BUSY\"` This schedule cannot have any available slots during the linked schedule's sessions.\n       * <!--END:ONLY:VELO-->\n       */\n      transparency?: Transparency;\n      /**\n       * Owner ID, of the linked schedule.\n       * @readonly\n       */\n      scheduleOwnerId?: string;\n      /**\n       * The name of the linked schedule owner. It may be a resource name or a service name. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the linked schedule owner. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  enum Transparency {\n      UNDEFINED = \"UNDEFINED\",\n      /** The schedule can have available slots during the session. */\n      FREE = \"FREE\",\n      /** The schedule cannot have available slots during the session. Default value. */\n      BUSY = \"BUSY\"\n  }\n  enum RecurringIntervalType {\n      /** The default value. Sessions for this interval will be of type EVENT. */\n      UNDEFINED = \"UNDEFINED\",\n      /** A recurring interval of events */\n      EVENT = \"EVENT\",\n      /** Deprecated */\n      TIME_AVAILABILITY = \"TIME_AVAILABILITY\",\n      /** A recurring interval for availability */\n      AVAILABILITY = \"AVAILABILITY\"\n  }\n  interface Location {\n      /**\n       * Location type.\n       * One of:\n       * - `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"` The address as set when creating the service.\n       * - `\"CUSTOM\"` The address set for the individual session.\n       */\n      locationType?: LocationType;\n      /** Free text address used when locationType is `OWNER_CUSTOM`. */\n      address?: string | null;\n      /** Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default. */\n      customAddress?: Address;\n      /**\n       * The Wix Business location formatted address.\n       * Valid when `locationType` is `OWNER_BUSINESS`. Defaults to the business's location.\n       * To retrieve the full location data please use the [Locations API](https://dev.wix.com/api/rest/business-info/locations).\n       * @internal\n       */\n      businessLocation?: LocationsLocation;\n  }\n  enum LocationType {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface LocationsLocation {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string;\n      /** Location description. */\n      description?: string | null;\n      /**\n       * Whether this is the default location. There can only be one default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Location status. Defaults to `ACTIVE`.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect the location's status. `INACTIVE` is currently not supported.\n       */\n      status?: LocationStatus;\n      /** Location type. **Note:** Currently not supported. */\n      locationType?: LocationsLocationType;\n      /** Fax number. */\n      fax?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Address. */\n      address?: LocationsAddress;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /**\n       * Revision number, which increments by 1 each time the location is updated.\n       * To prevent conflicting changes, the existing revision must be used when updating a location.\n       */\n      revision?: string | null;\n      /**\n       * Whether the location is archived. Archived locations can't be updated.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect its `status`.\n       * @readonly\n       */\n      archived?: boolean;\n  }\n  /** For future use */\n  enum LocationStatus {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  /** For future use */\n  enum LocationsLocationType {\n      UNKNOWN = \"UNKNOWN\",\n      BRANCH = \"BRANCH\",\n      OFFICES = \"OFFICES\",\n      RECEPTION = \"RECEPTION\",\n      HEADQUARTERS = \"HEADQUARTERS\"\n  }\n  interface LocationsAddress {\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. Includes street name, number, and apartment number in separate fields. */\n      streetAddress?: LocationsStreetAddress;\n  }\n  /** Street address. Includes street name, number, and apartment number in separate fields. */\n  interface LocationsStreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  /** Address Geolocation */\n  interface LocationsAddressLocation {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number | null;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number | null;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Rate {\n      /**\n       * Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      labeledPriceOptions?: Record<string, Price>;\n      /**\n       * Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      priceText?: string | null;\n      /**\n       * Default service price. Always vailable when a service has\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Sometimes also available for services without variants.\n       * Ignored in [updates to a service](https://dev.wix.com/api/rest/wix-bookings/services/service/update-service),\n       * when either `labeled_price_options` or `price_text` is also specified.\n       * @internal\n       */\n      defaultVariedPrice?: Price;\n  }\n  interface Price {\n      /** Required payment amount. */\n      amount?: string;\n      /** Currency in which the amount is quoted. */\n      currency?: string;\n      /** Amount of a down payment or deposit as part of the transaction. */\n      downPayAmount?: string;\n  }\n  /**\n   * <!-- Needs updating when recurrence has been tested\n   * Schedule's availability calculation is executed by the schedule's available intervals and this additional information.\n   * Schedule's available intervals are recurring intervals (defined in the schedule) minus sessions that has no more spots for bookings (including time between_slots), or schedule's sessions with open spots for bookings.-->\n   */\n  interface Availability {\n      /** Date and time the schedule starts to be available for booking. */\n      start?: Date;\n      /** Date and time the schedule stops being available for booking. No value indicates no end time. */\n      end?: Date;\n      /** Other schedules that impact the availability calculation. Relevant only when there are availability constraints. */\n      linkedSchedules?: LinkedSchedule[];\n      /** Constraints for calculating the schedule's availability. */\n      constraints?: AvailabilityConstraints;\n      /**\n       * Not supported yet.\n       * A list of possible locations for the session when `use_default_location` is set to `false`. Slots are generated for each location. Only one of the possible locations can be chosen by the customer.\n       *\n       * **NOTE**: When using the `locations` parameter, the default location is not automatically included in the list.\n       * @internal\n       */\n      locations?: Location[];\n      /**\n       * Not supported yet.\n       * Whether the schedule's slots are only available at the schedule's default location, as set in `schedule.location`. If set to `false`, the `locations` array is used to set the possible locations of the schedule's sessions.\n       * Default is `true`.\n       * @internal\n       */\n      useDefaultLocation?: boolean | null;\n  }\n  /** Describes how to calculate the specific slots that are available for booking. */\n  interface AvailabilityConstraints {\n      /**\n       * A list of duration options for slots, in minutes. Minimum value for a duration is 1.\n       * The availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints.\n       */\n      slotDurations?: number[];\n      /**\n       * The number of minutes between the `end` of one slot, and the `start` of the next.\n       * Minimum value is 0, maximum value is 120.\n       */\n      timeBetweenSlots?: number;\n      /**\n       * Specify how to split the slots in intervals of minutes.\n       * This value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\n       * Optional. The default is the first duration in slot_durations field.\n       * Deprecated. Use the `split_slots_interval.value_in_minutes`.\n       */\n      splitInterval?: number | null;\n      /**\n       * An object defining the time between available slots' start times.  For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration.\n       * @readonly\n       */\n      slotsSplitInterval?: SplitInterval;\n  }\n  /** The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc. */\n  interface SplitInterval {\n      /**\n       * Whether the slot duration is used as the split interval value.\n       * If `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n       * `schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field.\n       */\n      sameAsDuration?: boolean | null;\n      /** Number of minutes between available slots' start times when `same_as_duration` is `false`. */\n      valueInMinutes?: number | null;\n  }\n  interface Participant {\n      /** Participant ID. Currently represents the booking.id. */\n      _id?: string;\n      /** Contact ID. */\n      contactId?: string | null;\n      /** Participant's name. */\n      name?: string | null;\n      /** Participant's phone number. */\n      phone?: string | null;\n      /** Participant's email address. */\n      email?: string | null;\n      /** Group or party size. The number of people attending. Defaults to 0. Maximum is 250. */\n      partySize?: number;\n      /**\n       * Approval status for the participant.\n       * <!-- Commented out untill updateParticipant is exposed Generally the same status as the booking, unless updated using the `updateParticipant()` API. Defaults to `\"UNDEFINED\"`.-->\n       * <!--ONLY:VELO\n       * One of:\n       * - `\"PENDING\"` Pending business approval.\n       * - `\"APPROVED\"` Approved by the business.\n       * - `\"DECLINED\"` Declined by the business.\n       * <!--END:ONLY:VELO-->\n       */\n      approvalStatus?: ApprovalStatus;\n      /**\n       * Whether the participant was inherited from the schedule, as opposed to being booked directly to the session.\n       * @readonly\n       */\n      inherited?: boolean;\n  }\n  enum ApprovalStatus {\n      /** Default. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Pending business approval. */\n      PENDING = \"PENDING\",\n      /** Approved by the business. */\n      APPROVED = \"APPROVED\",\n      /** Declined by the business. */\n      DECLINED = \"DECLINED\"\n  }\n  interface ExternalCalendarOverrides {\n      /** Synced title of the external calendar event. */\n      title?: string | null;\n      /** Synced description of the external calendar event. */\n      description?: string | null;\n  }\n  enum ScheduleStatus {\n      UNDEFINED = \"UNDEFINED\",\n      /** The default value when the schedule is created. */\n      CREATED = \"CREATED\",\n      /** The schedule has been canceled. */\n      CANCELLED = \"CANCELLED\"\n  }\n  interface Version {\n      /** Schedule version number, updated each time the schedule is updated. */\n      scheduleVersion?: number | null;\n      /** Participants version number, updated each time the schedule participants are updated. */\n      participantsVersion?: number | null;\n  }\n  interface ConferenceProvider {\n      /** Conferencing provider ID */\n      providerId?: string;\n  }\n  interface CalendarConference {\n      /** Wix Calendar conference ID. */\n      _id?: string;\n      /** Conference meeting ID in the provider's conferencing system. */\n      externalId?: string;\n      /** Conference provider ID. */\n      providerId?: string;\n      /** URL used by the host to start the conference. */\n      hostUrl?: string;\n      /** URL used by a guest to join the conference. */\n      guestUrl?: string;\n      /** Password to join the conference. */\n      password?: string | null;\n      /** Conference description. */\n      description?: string | null;\n      /**\n       * Conference type.\n       * <!--ONLY:VELO\n       * One of:\n       * - `\"ONLINE_MEETING_PROVIDER\"` API-generated online meeting.\n       * - `\"CUSTOM\"` User-defined meeting.\n       * <!--END:ONLY:VELO-->\n       */\n      conferenceType?: ConferenceType;\n      /** ID of the account owner in the video conferencing service. */\n      accountOwnerId?: string | null;\n  }\n  enum ConferenceType {\n      UNDEFINED = \"UNDEFINED\",\n      /** API-generated online meeting. */\n      ONLINE_MEETING_PROVIDER = \"ONLINE_MEETING_PROVIDER\",\n      /** User-defined meeting. */\n      CUSTOM = \"CUSTOM\"\n  }\n  enum ResourceStatus {\n      UNDEFINED = \"UNDEFINED\",\n      /** Default status. */\n      CREATED = \"CREATED\",\n      /** The resource was deleted. */\n      DELETED = \"DELETED\",\n      /** The resource was updated. */\n      UPDATED = \"UPDATED\"\n  }\n  interface ListResourcesRequest {\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListResourcesResponse {\n      /** List of resources matching the query object. */\n      resources?: Resource[];\n      metadata?: QueryMetaData;\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface QueryMetaData {\n      items?: number;\n      offset?: number;\n      totalCount?: number;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryResourcesRequest {\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryResourcesResponse {\n      /** List of resources matching the query object. */\n      resources?: Resource[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface CreateResourceRequest {\n      /** Resource details. */\n      resource: Resource;\n      /**\n       * List of schedules to be assigned for the created resource. Currently only a single schedule is allowed.\n       * If provided, any schedules in the resource entity will be ignored.\n       */\n      schedules?: Schedule[];\n  }\n  interface CreateResourceResponse {\n      /** Resource details. */\n      resource?: Resource;\n  }\n  interface ResourceNotification {\n      /**\n       * Updated resource entity.\n       * 'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead.\n       */\n      resource?: Resource;\n      /** Event type. */\n      event?: Event;\n  }\n  enum Event {\n      UNDEFINED = \"UNDEFINED\",\n      Updated = \"Updated\",\n      Deleted = \"Deleted\",\n      Created = \"Created\",\n      Schedule_Updated = \"Schedule_Updated\"\n  }\n  interface BatchCreateResourceRequest {\n      /** List of resource entities to create. */\n      resources?: Resource[];\n      /** Optional. If provided, the resources field is ignored. */\n      batchedResources?: CreateResourceRequest[];\n  }\n  interface BatchCreateResourceResponse {\n      /** List of the created resources. */\n      resources?: Resource[];\n  }\n  interface UpdateResourceRequest {\n      /** Resource details. */\n      resource?: Resource;\n      /** Field mask of fields to update. */\n      fieldMask?: string[];\n      /**\n       * Actions to perform on the resources schedules. Can contain schedules to create, update, and cancel.\n       * Either the 'schedules' or 'schedule_actions' should be specified but not both. If both are provided, the schedules in the resource entity is ignored.\n       * @internal\n       */\n      scheduleActions?: BatchRequest;\n  }\n  interface BatchRequest {\n      /** Create multiple schedules. */\n      createRequests?: CreateScheduleRequest[];\n      /** Update multiple schedules. Not Supported yet. */\n      updateRequests?: UpdateScheduleRequest[];\n      /**\n       * Cancel multiple schedules.\n       * The given schedules move to a CANCELLED status which means that all sessions up until\n       * the cancellation point in time are kept, while removing all following sessions.\n       */\n      cancelRequests?: CancelScheduleRequest[];\n  }\n  /** schedule */\n  interface CreateScheduleRequest {\n      /** Schedule. */\n      schedule?: Schedule;\n  }\n  interface UpdateScheduleRequest {\n      /** Schedule. */\n      schedule?: Schedule;\n      /** Field mask of fields to update. */\n      fieldMask?: string[];\n      /** Optional. Defaults to false. In case of updated intervals' start time, this field indicates whether to align those interval's time exceptions. */\n      alignTimeExceptions?: boolean;\n      /** Deprecated, use participant_notification. */\n      notifyParticipants?: boolean;\n      /** Whether to notify participants about the change, and an optional custom message. */\n      participantNotification?: ParticipantNotification;\n  }\n  interface ParticipantNotification {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n  }\n  interface CancelScheduleRequest {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /** Time to cancel the sessions from. Optional. If this field is empty, all of this schedule's sessions will be canceled. */\n      from?: Date;\n      /** Whether to preserve future sessions with reservations. Defaults to false. */\n      preserveFutureSessionsWithParticipants?: boolean;\n      /** Deprecated, use participant_notification */\n      notifyParticipants?: boolean;\n      /** Whether to notify participants about the change, and an optional custom message. */\n      participantNotification?: ParticipantNotification;\n  }\n  interface UpdateResourceResponse {\n      /** Resource details. */\n      resource?: Resource;\n      /** Updated Schedules */\n      schedules?: BatchResponse;\n  }\n  interface BatchResponse {\n      /** Created schedules. */\n      created?: Schedule[];\n      /** Updated schedules. */\n      updated?: Schedule[];\n      /** Cancelled schedules. */\n      cancelled?: Schedule[];\n  }\n  interface ResourceUpdateScheduleRequest {\n      /** Resource id to update. */\n      resourceId: string | null;\n      /** Fieldmask for schedule */\n      fieldmask?: string[];\n      /** The schedule to update */\n      schedule?: Schedule;\n  }\n  interface UpdateScheduleResponse {\n      /** The updated schedule. */\n      schedule?: Schedule;\n  }\n  interface DeleteResourceRequest {\n      /** ID of the resource to delete. */\n      _id: string;\n  }\n  interface DeleteResourceResponse {\n      /** Deleted resource id */\n      _id?: string;\n  }\n  interface BatchDeleteResourceRequest {\n      /** List of resource IDs to delete. */\n      ids: string[];\n  }\n  interface BatchDeleteResourceResponse {\n  }\n  interface LinkResourceToUserRequest {\n      /** The id of the resource to link. */\n      resourceId: string | null;\n      /** The id of Wix user to link. */\n      userId: string | null;\n  }\n  interface LinkResourceToUserResponse {\n      /** The updated resource. */\n      resource?: Resource;\n  }\n  interface UnLinkResourceFromOwnerRequest {\n      /** The id of the resource to unlink. */\n      resourceId: string | null;\n  }\n  interface UnLinkResourceFromOwnerResponse {\n      /** The updated resource. */\n      resource?: Resource;\n  }\n  /**\n   * > **Deprecation Notice**\n   * >\n   * > **This endpoint has been replaced with [Query Resource](https://dev.wix.com/api/rest/wix-bookings/resources/list-resources/query-resource) and will be removed on March 31, 2022.**\n   * > **If your app uses this endpoint, we recommend updating your code as soon as possible.**\n   *\n   * Retrieves a list of the resources according to the provided filters and paging.\n   * <!--ONLY:REST-->\n   * This query is optional. If no query is provided than all non-deleted resources are returned.\n   *\n   * |Property|Is supported|\n   * |--|--|\n   * |filter | supports `resource.id`, `resource.tag`, `resource.status`|\n   * |paging | supported |\n   * |fields | supported |\n   * |fieldsets | **not supported** |\n   * |sort| **not supported** |\n   *\n   * > **Permissions**\n   * > This endpoint requires the Read Bookings Calendar, Read Bookings - Public Data, Read Bookings - Including Participants or Manage Bookings permission scope.\n   * <!--END:ONLY:REST-->\n   * @public\n   * @documentationMaturity preview\n   */\n  function list(options?: ListOptions): Promise<ListResourcesResponse>;\n  interface ListOptions {\n      query?: Query;\n  }\n  /**\n   * Retrieves a list of the resources according to the specified filters and paging.\n   *\n   * The query parameter is optional. If no query is provided than all non-deleted resources are returned.\n   *\n   * |Property|Is supported|\n   * |--|--|\n   * |filter | supported fields: `resource.id`, `resource.tags`, `resource.status`|\n   * |paging | supported |\n   * |fields | supported |\n   * |fieldsets | **not supported**  |\n   * |sort | **not supported**  |\n   *\n   *\n   * >**Notes:**\n   * > + The following objects in the `query` parameter are not supported for this query:\n   * >    - `sort`\n   * >    - `fieldsets`\n   *\n   * > **Permissions**\n   * > This endpoint requires the Read Bookings Calendar, Read Bookings - Public Data, Read Bookings - Including Participants or Manage Bookings permission scope.\n   * @public\n   * @documentationMaturity preview\n   */\n  function query(options?: QueryOptions): Promise<QueryResourcesResponse>;\n  interface QueryOptions {\n      query?: QueryV2;\n  }\n  /**\n   * Creates a resource.\n   * <!--ONLY:VELO\n   * The `createResource()` function returns a Promise that resolves to the created resource.\n   * <!--END:ONLY:VELO-->\n   *\n   * Bookings resources are created with a schedule. The schedule and its sessions determine the resource's availability. Note that the schedule must contain a start date in the `availability.start` property.\n   * For resources that are available during the business's default hours, add the business's schedule as a linked schedule in the resource's schedule. For resources that have their own hours, create sessions with type `\"WORKING_HOURS\"` using the resource's schedule.\n   * You can use both individual and recurring sessions to define resource availability. You cannot use availability constraints for resource schedules.\n   *\n   * <!--ONLY:VELO\n   * When creating a resource using `createResource()`, include the resource's schedule information. Set the schedule information as follows:\n   * + If the resource uses the default business hours, get the business resource's schedule ID  and include it in the `scheduleInfo.availability.linkedSchedules` array in the `scheduleInfo` parameter. The default hours can bee found in the Dashboard under **Settings** in the **Bookings** section, on the **Appointment hours** page.\n   * + If the resource has its own custom working hours, create the resource, then create sessions of type `\"WORKING_HOURS\"` using the [`createSession()`](wix-bookings-backend.Sessions/createsession) function. Use the `scheduleId` returned from `createResource()` when creating the sessions. These session can be single sessions or recurring sessions.\n   * + You can have both default business hours and custom hours for the same resource schedule by combining the steps above.\n   *\n   * > **Notes:**\n   * > + The Wix Bookings app does not show both default business hours and custom hours on the **Staff** page in the dashboard. If you've set up both custom and default business hours, only the default business hours will appear in the app, although both are working.\n   * > + The Wix Bookings app does not show non-recurring `WORKING_HOURS` sessions in the resource calendar.\n   * > + You can only add the business resource's schedule as a linked schedule for a resource.\n   * > + A resource can have one schedule only.\n   * > + You can have up to 135 active resources and an additional 135 deleted resources.\n   * > + Only users with the **Bookings Admin** [role](https://support.wix.com/en/article/roles-permissions-overview#bookings-admin) can create a resource. You can override the role permissions by setting the `options.suppressAuth` parameter to `true`.\n   * <!--END:ONLY:VELO-->\n   *\n   * <!--ONLY:REST-->\n   * Use the following steps to create resources:\n   * - Create the resource using including schedule information.\n   * - If the resource uses the default business hours, get the business resource's schedule ID  and include it in the `scheduleInfo.availability.linkedSchedules` array in the in the schedule parameters.\n   * - If the resource has its own custom working hours, create sessions of type `\"WORKING_HOURS\"`. Use the `scheduleId` of the new resource when creating the sessions. These session can be single sessions or recurring sessions. You can have both business hours and custom hours for the same resource schedule.\n   *\n   * >**Notes:**\n   * > + A resource can have one schedule only.\n   * > + You can have up to 135 active resources and an additional 135 deleted resources.\n   * > + The `businessLocation.businessSchedule` object in the `schedule.location` object is not supported.\n   *\n   *\n   *\n   * >**Permissions:**\n   * > This endpoint requires the Manage Bookings [permission scope](https://devforum.wix.com/kb/en/article/available-permissions).\n   * <!--END:ONLY:REST-->\n   * @param resource - Resource details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.schedules.availability.start\n   * @requiredField options.schedules.intervals.start\n   * @requiredField resource\n   * @requiredField resource.name\n   */\n  function create(resource: Resource, options?: CreateOptions): Promise<CreateResourceResponse>;\n  interface CreateOptions {\n      /**\n       * List of schedules to be assigned for the created resource. Currently only a single schedule is allowed.\n       * If provided, any schedules in the resource entity will be ignored.\n       */\n      schedules?: Schedule[];\n  }\n  /**\n   * Creates multiple resources with corresponding schedules.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function batchCreate(options?: BatchCreateOptions): Promise<BatchCreateResourceResponse>;\n  interface BatchCreateOptions {\n      /** List of resource entities to create. */\n      resources?: Resource[];\n      /** Optional. If provided, the resources field is ignored. */\n      batchedResources?: CreateResourceRequest[];\n  }\n  /**\n   * Updates a resource.\n   * <!--ONLY:VELO\n   * The `updateResource()` function returns a Promise that resolves when a resource is updated.\n   * Use this function to update all bookings resource information except for the resource's schedule. To update a resource's schedule use [`updateResourceSchedule()`](wix-bookings-backend/resource/updateresourceschedule).\n   *\n   * >**Notes:**\n   * > + When updating a resource you cannot change the system tags used by the Wix Bookings app. Tags used by the app have the values `\"business\"` and `\"staff\"`.\n   * > + Only users with the **Bookings Admin** [role](https://support.wix.com/en/article/roles-permissions-overview#bookings-admin) can update a resource. You can override the role permissions by setting the `options.suppressAuth` parameter to `true`.\n   * <!--END:ONLY:VELO-->\n   * <!--ONLY:REST-->\n   * Use this endpoint to update all resource information except for the resource's schedule. To update a resource's schedule use\n   * the [Update Schedule](https://dev.wix.com/api/rest/wix-bookings/resources/update-schedule) endpoint.\n   *\n   * >**Notes:**\n   * > + When updating a resource you cannot change the system tags used by the Wix Bookings app. Tags used by the app have the values `\"business\"` and `\"staff\"`.\n   * > + When updating a resource's schedule you cannot change the resource tag used by the Wix Bookings app. Tags used by the app have the values `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE”`.\n   * > + The `businessLocation.businessSchedule` object in the `schedule.location` object is not supported.\n   *\n   * >**Permissions:**\n   * > This endpoint requires the Manage Bookings [permission scope](https://devforum.wix.com/kb/en/article/available-permissions).\n   * <!--END:ONLY:REST-->\n   * @param _id - Resource ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.scheduleActions.cancelRequests.scheduleId\n   * @requiredField options.scheduleActions.createRequests.schedule.availability.start\n   * @requiredField options.scheduleActions.createRequests.schedule.intervals.start\n   * @requiredField options.scheduleActions.createRequests.schedule.scheduleOwnerId\n   * @requiredField options.scheduleActions.updateRequests.schedule._id\n   */\n  function update(_id: string | null, options?: UpdateOptions): Promise<UpdateResourceResponse>;\n  interface UpdateOptions {\n      resource: {\n          /**\n           * Resource ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /** Resource name. */\n          name?: string | null;\n          /** Resource email address. */\n          email?: string | null;\n          /** Resource phone number. */\n          phone?: string | null;\n          /** Resource description. */\n          description?: string | null;\n          /** Deprecated. Please use tags. */\n          tag?: string | null;\n          /** Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'. */\n          tags?: string[] | null;\n          /** Resource images. */\n          images?: string[];\n          /** Deprecated. Please use scheduleIds. List of the schedules owned by this resource. Min size 1. */\n          schedules?: Schedule[];\n          /**\n           * List of IDs of schedules owned by this resource.\n           * @readonly\n           */\n          scheduleIds?: string[] | null;\n          /**\n           * Resource status.\n           * <!--ONLY:VELO\n           * One of:\n           * - `\"CREATED\"` Default status.\n           * - `\"DELETED\"` The resource was deleted.\n           * - `\"UPDATED\"` The resource was updated.\n           * <!--END:ONLY:VELO-->\n           * @readonly\n           */\n          status?: ResourceStatus;\n          /**\n           * Wix user ID, if the resource is associated with the Wix user.\n           * A staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager.\n           * <!--ONLY:VELO\n           * Click the **Set Permissions** button for the staff member on the Staff page on your site's dashboard.\n           * <!--END:ONLY:VELO-->\n           * @readonly\n           */\n          wixUserId?: string | null;\n      };\n      /** Field mask of fields to update. */\n      fieldMask?: string[];\n      /**\n       * Actions to perform on the resources schedules. Can contain schedules to create, update, and cancel.\n       * Either the 'schedules' or 'schedule_actions' should be specified but not both. If both are provided, the schedules in the resource entity is ignored.\n       * @internal\n       */\n      scheduleActions?: BatchRequest;\n  }\n  /**\n   * Updates a resource's schedule\n   * <!--ONLY:VELO\n   * The `updateResourceSchedule()` function returns a Promise that resolves when a resource's schedule has been updated.\n   * Use this function to update the bookings resource's schedule. To update other resource details  use [`updateResource()`]  (wix-bookings-backend/resources/updateresource).\n   * The following schedule properties can be updated:\n   * + `availability.start`\n   * + `availability.linkedSchedules`\n   * <!--END:ONLY:VELO-->\n   *\n   * To update a resource's schedule to remove business hours and add custom hours:\n   * <!--ONLY:REST-->\n   * + Update the resource's schedule to remove the business's `scheduleId` from the `availability.linkedSchedules` array.\n   * + Create a set of recurring sessions of type `\"WORKING_HOURS\"` to define the resource's new hours.\n   * <!--END:ONLY:REST-->\n   * <!--ONLY:VELO\n   * + Use [`updateResourceSchedule()`](wix-bookings-backend.Resources/updateresourcesession) to remove the business's scheduleId from the   `availability.linkedSchedules` array.\n   * + Use [`createSession()`](wix-bookings-backend.Sessions/createsession) to create a set of recurring sessions of type `\"WORKING_HOURS\"` to   define the resource's new hours.\n   * <!--END:ONLY:VELO-->\n   *\n   * To update a resource's schedule to add default business hours, and keep or remove custom hours:\n   * <!--ONLY:REST-->\n   * + Update the resource's schedule to add the business resource's `scheduleId` to the `availability.linkedSchedules` array.\n   * + If you want to remove the custom sessions, delete the resource's sessions of type `\"WORKING_HOURS\"`.\n   * You do not have to delete exiting custom sessions. Custom session that are not deleted will continue to be included in availability  calculations and can still be booked.\n   * <!--END:ONLY:REST-->\n   * <!--ONLY:VELO\n   * + Use [`updateResourceSchedule()`](wix-bookings-backend.Resources/updateresourcesession) to add the business resource's `scheduleId` to   the `availability.linkedSchedules` array.\n   * + If you want to remove the custom sessions, use [`deleteSession()`](wix-bookings-backend.Sessions/deletesession) to delete the   resource's sessions of type `\"WORKING_HOURS\"`. You do not have to delete exiting custom sessions. You can have both default working hours   and custom hours for the same schedule. Custom sessions that are not deleted will continue to be included in availability calculations  and can still be booked.\n   *\n   * > **Notes:**\n   * > + The Wix Bookings app does not show both default business hours and custom hours on the **Staff** page in the dashboard. If you've set   up both custom and default business hours, only the default business hours will appear in the app, although both are working.\n   * > + A resource can have one schedule only.\n   * > + A resource can have both default business hours and custom hours in its schedule.\n   * > + When updating a resource's schedule you cannot change the system tags used by the Wix Bookings app. Tags used by the app have the   values `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE”`.\n   * > + Only users with the **Bookings Admin** [role](https://support.wix.com/en/article/roles-permissions-overview#bookings-admin) can   update a resource schedule. You can override the role permissions by setting the `options.suppressAuth` parameter to `true`.\n   * @snippet [updateResourceScheduleDefaultToCustom.es6=Update a resource's schedule from business to custom hours]\n   * Update a resource's schedule from the business's default working hours to 2 custom days per week.\n   * @snippet [updateResourceScheduleCustomToDefault.es6=Update a resource's schedule from custom to business hours]\n   * <!--END:ONLY:VELO-->\n   * <!--ONLY:REST-->\n   * >**Notes:**\n   * > + A resource can have one schedule only.\n   * > + A resource can have both default business hours and custom hours in its schedule.\n   * > + When updating a resource's schedule you cannot change the system tags used by the Wix Bookings app. Tags used by the app have the   values `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE”`.\n   * > + The `businessLocation.businessSchedule` object in the `schedule.location` object is not supported.\n   *\n   *\n   *\n   * >**Permissions:**\n   * > This endpoint requires the Manage Bookings [permission scope](https://devforum.wix.com/kb/en/article/available-permissions).\n   * <!--END:ONLY:REST-->\n   * @param resourceId - Resource id to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.schedule._id\n   * @requiredField resourceId\n   */\n  function updateSchedule(resourceId: string | null, options?: UpdateScheduleOptions): Promise<UpdateScheduleResponse>;\n  interface UpdateScheduleOptions {\n      /** Fieldmask for schedule */\n      fieldmask?: string[];\n      /** The schedule to update */\n      schedule?: Schedule;\n  }\n  /**\n   * Deletes a resource.\n   * <!--ONLY:VELO\n   * The `deleteResource()` function returns a Promise that is resolved when a resource is deleted.\n   * <!--END:ONLY:VELO-->\n   * Deleting a resource updates its `status` to `\"DELETED\"`.\n   *\n   * You cannot delete a resource if it has booked sessions.\n   *\n   * <!--ONLY:VELO\n   * >**Notes:**\n   * > + The Bookings app automatically creates a resource with a name and tag of value `\"business\"``. This resource is used for the business's schedule and working hours and cannot be deleted.\n   * > + You can have up to 135 active resources and an additional 135 deleted resources.\n   * > + Only users with the **Bookings Admin** [role](https://support.wix.com/en/article/roles-permissions-overview#bookings-admin) can delete a resource. You can override the role permissions by setting the `options.suppressAuth` parameter to `true`.\n   * <!--END:ONLY:VELO-->\n   *\n   * <!--ONLY:REST-->\n   * >**Notes:**\n   * > + The Bookings app creates a resource with `\"business\"` in name and tag values. This resource is used for the business's schedule and working hours and cannot be deleted.\n   * > + You can have up to 135 active resources and an additional 135 deleted resources.\n   *\n   * >**Permissions:**\n   * > This endpoint requires the Manage Bookings [permission scope](https://devforum.wix.com/kb/en/article/available-permissions).\n   * <!--END:ONLY:REST-->\n   * @param _id - ID of the resource to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function _delete(_id: string): Promise<DeleteResourceResponse>;\n  /** @param ids - List of resource IDs to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   */\n  function batchDelete(ids: string[]): Promise<void>;\n  /**\n   * Links a resource to a Wix user.\n   * The user will be assigned with the `Bookings Staff Member` role, via the `SitePoliciesManagement.AssignPolicies` API.\n   *\n   * Preconditions:\n   * - The resource must not be linked to a user, or an active invite.\n   * - The user must be a site contributor\n   * - The user must not be linked to another resource.\n   *\n   * Note:\n   * The site owner may be linked to a resource, but will not be assigned with the 'Bookings Staff Member' role.\n   * @param resourceId - The id of the resource to link.\n   * @param userId - The id of Wix user to link.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField resourceId\n   * @requiredField userId\n   */\n  function linkResourceToUser(resourceId: string | null, userId: string | null): Promise<LinkResourceToUserResponse>;\n  /**\n   * Unlink a resource from the site owner.\n   * @param resourceId - The id of the resource to unlink.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField resourceId\n   */\n  function unLinkResourceFromOwner(resourceId: string | null): Promise<UnLinkResourceFromOwnerResponse>;\n  \n  const bookingsCatalogV1Resource_universal_d___debug: typeof __debug;\n  type bookingsCatalogV1Resource_universal_d_Resource = Resource;\n  type bookingsCatalogV1Resource_universal_d_Schedule = Schedule;\n  type bookingsCatalogV1Resource_universal_d_RecurringInterval = RecurringInterval;\n  type bookingsCatalogV1Resource_universal_d_Interval = Interval;\n  type bookingsCatalogV1Resource_universal_d_Day = Day;\n  const bookingsCatalogV1Resource_universal_d_Day: typeof Day;\n  type bookingsCatalogV1Resource_universal_d_Frequency = Frequency;\n  type bookingsCatalogV1Resource_universal_d_LinkedSchedule = LinkedSchedule;\n  type bookingsCatalogV1Resource_universal_d_Transparency = Transparency;\n  const bookingsCatalogV1Resource_universal_d_Transparency: typeof Transparency;\n  type bookingsCatalogV1Resource_universal_d_RecurringIntervalType = RecurringIntervalType;\n  const bookingsCatalogV1Resource_universal_d_RecurringIntervalType: typeof RecurringIntervalType;\n  type bookingsCatalogV1Resource_universal_d_Location = Location;\n  type bookingsCatalogV1Resource_universal_d_LocationType = LocationType;\n  const bookingsCatalogV1Resource_universal_d_LocationType: typeof LocationType;\n  type bookingsCatalogV1Resource_universal_d_Address = Address;\n  type bookingsCatalogV1Resource_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type bookingsCatalogV1Resource_universal_d_StreetAddress = StreetAddress;\n  type bookingsCatalogV1Resource_universal_d_AddressLocation = AddressLocation;\n  type bookingsCatalogV1Resource_universal_d_Subdivision = Subdivision;\n  type bookingsCatalogV1Resource_universal_d_LocationsLocation = LocationsLocation;\n  type bookingsCatalogV1Resource_universal_d_LocationStatus = LocationStatus;\n  const bookingsCatalogV1Resource_universal_d_LocationStatus: typeof LocationStatus;\n  type bookingsCatalogV1Resource_universal_d_LocationsLocationType = LocationsLocationType;\n  const bookingsCatalogV1Resource_universal_d_LocationsLocationType: typeof LocationsLocationType;\n  type bookingsCatalogV1Resource_universal_d_LocationsAddress = LocationsAddress;\n  type bookingsCatalogV1Resource_universal_d_LocationsStreetAddress = LocationsStreetAddress;\n  type bookingsCatalogV1Resource_universal_d_LocationsAddressLocation = LocationsAddressLocation;\n  type bookingsCatalogV1Resource_universal_d_BusinessSchedule = BusinessSchedule;\n  type bookingsCatalogV1Resource_universal_d_TimePeriod = TimePeriod;\n  type bookingsCatalogV1Resource_universal_d_DayOfWeek = DayOfWeek;\n  const bookingsCatalogV1Resource_universal_d_DayOfWeek: typeof DayOfWeek;\n  type bookingsCatalogV1Resource_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type bookingsCatalogV1Resource_universal_d_Rate = Rate;\n  type bookingsCatalogV1Resource_universal_d_Price = Price;\n  type bookingsCatalogV1Resource_universal_d_Availability = Availability;\n  type bookingsCatalogV1Resource_universal_d_AvailabilityConstraints = AvailabilityConstraints;\n  type bookingsCatalogV1Resource_universal_d_SplitInterval = SplitInterval;\n  type bookingsCatalogV1Resource_universal_d_Participant = Participant;\n  type bookingsCatalogV1Resource_universal_d_ApprovalStatus = ApprovalStatus;\n  const bookingsCatalogV1Resource_universal_d_ApprovalStatus: typeof ApprovalStatus;\n  type bookingsCatalogV1Resource_universal_d_ExternalCalendarOverrides = ExternalCalendarOverrides;\n  type bookingsCatalogV1Resource_universal_d_ScheduleStatus = ScheduleStatus;\n  const bookingsCatalogV1Resource_universal_d_ScheduleStatus: typeof ScheduleStatus;\n  type bookingsCatalogV1Resource_universal_d_Version = Version;\n  type bookingsCatalogV1Resource_universal_d_ConferenceProvider = ConferenceProvider;\n  type bookingsCatalogV1Resource_universal_d_CalendarConference = CalendarConference;\n  type bookingsCatalogV1Resource_universal_d_ConferenceType = ConferenceType;\n  const bookingsCatalogV1Resource_universal_d_ConferenceType: typeof ConferenceType;\n  type bookingsCatalogV1Resource_universal_d_ResourceStatus = ResourceStatus;\n  const bookingsCatalogV1Resource_universal_d_ResourceStatus: typeof ResourceStatus;\n  type bookingsCatalogV1Resource_universal_d_ListResourcesRequest = ListResourcesRequest;\n  type bookingsCatalogV1Resource_universal_d_Query = Query;\n  type bookingsCatalogV1Resource_universal_d_Sorting = Sorting;\n  type bookingsCatalogV1Resource_universal_d_SortOrder = SortOrder;\n  const bookingsCatalogV1Resource_universal_d_SortOrder: typeof SortOrder;\n  type bookingsCatalogV1Resource_universal_d_Paging = Paging;\n  type bookingsCatalogV1Resource_universal_d_ListResourcesResponse = ListResourcesResponse;\n  type bookingsCatalogV1Resource_universal_d_QueryMetaData = QueryMetaData;\n  type bookingsCatalogV1Resource_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type bookingsCatalogV1Resource_universal_d_Cursors = Cursors;\n  type bookingsCatalogV1Resource_universal_d_QueryResourcesRequest = QueryResourcesRequest;\n  type bookingsCatalogV1Resource_universal_d_QueryV2 = QueryV2;\n  type bookingsCatalogV1Resource_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type bookingsCatalogV1Resource_universal_d_CursorPaging = CursorPaging;\n  type bookingsCatalogV1Resource_universal_d_QueryResourcesResponse = QueryResourcesResponse;\n  type bookingsCatalogV1Resource_universal_d_CreateResourceRequest = CreateResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_CreateResourceResponse = CreateResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_ResourceNotification = ResourceNotification;\n  type bookingsCatalogV1Resource_universal_d_Event = Event;\n  const bookingsCatalogV1Resource_universal_d_Event: typeof Event;\n  type bookingsCatalogV1Resource_universal_d_BatchCreateResourceRequest = BatchCreateResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_BatchCreateResourceResponse = BatchCreateResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_UpdateResourceRequest = UpdateResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_BatchRequest = BatchRequest;\n  type bookingsCatalogV1Resource_universal_d_CreateScheduleRequest = CreateScheduleRequest;\n  type bookingsCatalogV1Resource_universal_d_UpdateScheduleRequest = UpdateScheduleRequest;\n  type bookingsCatalogV1Resource_universal_d_ParticipantNotification = ParticipantNotification;\n  type bookingsCatalogV1Resource_universal_d_CancelScheduleRequest = CancelScheduleRequest;\n  type bookingsCatalogV1Resource_universal_d_UpdateResourceResponse = UpdateResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_BatchResponse = BatchResponse;\n  type bookingsCatalogV1Resource_universal_d_ResourceUpdateScheduleRequest = ResourceUpdateScheduleRequest;\n  type bookingsCatalogV1Resource_universal_d_UpdateScheduleResponse = UpdateScheduleResponse;\n  type bookingsCatalogV1Resource_universal_d_DeleteResourceRequest = DeleteResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_DeleteResourceResponse = DeleteResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_BatchDeleteResourceRequest = BatchDeleteResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_BatchDeleteResourceResponse = BatchDeleteResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_LinkResourceToUserRequest = LinkResourceToUserRequest;\n  type bookingsCatalogV1Resource_universal_d_LinkResourceToUserResponse = LinkResourceToUserResponse;\n  type bookingsCatalogV1Resource_universal_d_UnLinkResourceFromOwnerRequest = UnLinkResourceFromOwnerRequest;\n  type bookingsCatalogV1Resource_universal_d_UnLinkResourceFromOwnerResponse = UnLinkResourceFromOwnerResponse;\n  const bookingsCatalogV1Resource_universal_d_list: typeof list;\n  type bookingsCatalogV1Resource_universal_d_ListOptions = ListOptions;\n  const bookingsCatalogV1Resource_universal_d_query: typeof query;\n  type bookingsCatalogV1Resource_universal_d_QueryOptions = QueryOptions;\n  const bookingsCatalogV1Resource_universal_d_create: typeof create;\n  type bookingsCatalogV1Resource_universal_d_CreateOptions = CreateOptions;\n  const bookingsCatalogV1Resource_universal_d_batchCreate: typeof batchCreate;\n  type bookingsCatalogV1Resource_universal_d_BatchCreateOptions = BatchCreateOptions;\n  const bookingsCatalogV1Resource_universal_d_update: typeof update;\n  type bookingsCatalogV1Resource_universal_d_UpdateOptions = UpdateOptions;\n  const bookingsCatalogV1Resource_universal_d_updateSchedule: typeof updateSchedule;\n  type bookingsCatalogV1Resource_universal_d_UpdateScheduleOptions = UpdateScheduleOptions;\n  const bookingsCatalogV1Resource_universal_d__delete: typeof _delete;\n  const bookingsCatalogV1Resource_universal_d_batchDelete: typeof batchDelete;\n  const bookingsCatalogV1Resource_universal_d_linkResourceToUser: typeof linkResourceToUser;\n  const bookingsCatalogV1Resource_universal_d_unLinkResourceFromOwner: typeof unLinkResourceFromOwner;\n  namespace bookingsCatalogV1Resource_universal_d {\n    export {\n      bookingsCatalogV1Resource_universal_d___debug as __debug,\n      bookingsCatalogV1Resource_universal_d_Resource as Resource,\n      bookingsCatalogV1Resource_universal_d_Schedule as Schedule,\n      bookingsCatalogV1Resource_universal_d_RecurringInterval as RecurringInterval,\n      bookingsCatalogV1Resource_universal_d_Interval as Interval,\n      bookingsCatalogV1Resource_universal_d_Day as Day,\n      bookingsCatalogV1Resource_universal_d_Frequency as Frequency,\n      bookingsCatalogV1Resource_universal_d_LinkedSchedule as LinkedSchedule,\n      bookingsCatalogV1Resource_universal_d_Transparency as Transparency,\n      bookingsCatalogV1Resource_universal_d_RecurringIntervalType as RecurringIntervalType,\n      bookingsCatalogV1Resource_universal_d_Location as Location,\n      bookingsCatalogV1Resource_universal_d_LocationType as LocationType,\n      bookingsCatalogV1Resource_universal_d_Address as Address,\n      bookingsCatalogV1Resource_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      bookingsCatalogV1Resource_universal_d_StreetAddress as StreetAddress,\n      bookingsCatalogV1Resource_universal_d_AddressLocation as AddressLocation,\n      bookingsCatalogV1Resource_universal_d_Subdivision as Subdivision,\n      bookingsCatalogV1Resource_universal_d_LocationsLocation as LocationsLocation,\n      bookingsCatalogV1Resource_universal_d_LocationStatus as LocationStatus,\n      bookingsCatalogV1Resource_universal_d_LocationsLocationType as LocationsLocationType,\n      bookingsCatalogV1Resource_universal_d_LocationsAddress as LocationsAddress,\n      bookingsCatalogV1Resource_universal_d_LocationsStreetAddress as LocationsStreetAddress,\n      bookingsCatalogV1Resource_universal_d_LocationsAddressLocation as LocationsAddressLocation,\n      bookingsCatalogV1Resource_universal_d_BusinessSchedule as BusinessSchedule,\n      bookingsCatalogV1Resource_universal_d_TimePeriod as TimePeriod,\n      bookingsCatalogV1Resource_universal_d_DayOfWeek as DayOfWeek,\n      bookingsCatalogV1Resource_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      bookingsCatalogV1Resource_universal_d_Rate as Rate,\n      bookingsCatalogV1Resource_universal_d_Price as Price,\n      bookingsCatalogV1Resource_universal_d_Availability as Availability,\n      bookingsCatalogV1Resource_universal_d_AvailabilityConstraints as AvailabilityConstraints,\n      bookingsCatalogV1Resource_universal_d_SplitInterval as SplitInterval,\n      bookingsCatalogV1Resource_universal_d_Participant as Participant,\n      bookingsCatalogV1Resource_universal_d_ApprovalStatus as ApprovalStatus,\n      bookingsCatalogV1Resource_universal_d_ExternalCalendarOverrides as ExternalCalendarOverrides,\n      bookingsCatalogV1Resource_universal_d_ScheduleStatus as ScheduleStatus,\n      bookingsCatalogV1Resource_universal_d_Version as Version,\n      bookingsCatalogV1Resource_universal_d_ConferenceProvider as ConferenceProvider,\n      bookingsCatalogV1Resource_universal_d_CalendarConference as CalendarConference,\n      bookingsCatalogV1Resource_universal_d_ConferenceType as ConferenceType,\n      bookingsCatalogV1Resource_universal_d_ResourceStatus as ResourceStatus,\n      bookingsCatalogV1Resource_universal_d_ListResourcesRequest as ListResourcesRequest,\n      bookingsCatalogV1Resource_universal_d_Query as Query,\n      bookingsCatalogV1Resource_universal_d_Sorting as Sorting,\n      bookingsCatalogV1Resource_universal_d_SortOrder as SortOrder,\n      bookingsCatalogV1Resource_universal_d_Paging as Paging,\n      bookingsCatalogV1Resource_universal_d_ListResourcesResponse as ListResourcesResponse,\n      bookingsCatalogV1Resource_universal_d_QueryMetaData as QueryMetaData,\n      bookingsCatalogV1Resource_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      bookingsCatalogV1Resource_universal_d_Cursors as Cursors,\n      bookingsCatalogV1Resource_universal_d_QueryResourcesRequest as QueryResourcesRequest,\n      bookingsCatalogV1Resource_universal_d_QueryV2 as QueryV2,\n      bookingsCatalogV1Resource_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      bookingsCatalogV1Resource_universal_d_CursorPaging as CursorPaging,\n      bookingsCatalogV1Resource_universal_d_QueryResourcesResponse as QueryResourcesResponse,\n      bookingsCatalogV1Resource_universal_d_CreateResourceRequest as CreateResourceRequest,\n      bookingsCatalogV1Resource_universal_d_CreateResourceResponse as CreateResourceResponse,\n      bookingsCatalogV1Resource_universal_d_ResourceNotification as ResourceNotification,\n      bookingsCatalogV1Resource_universal_d_Event as Event,\n      bookingsCatalogV1Resource_universal_d_BatchCreateResourceRequest as BatchCreateResourceRequest,\n      bookingsCatalogV1Resource_universal_d_BatchCreateResourceResponse as BatchCreateResourceResponse,\n      bookingsCatalogV1Resource_universal_d_UpdateResourceRequest as UpdateResourceRequest,\n      bookingsCatalogV1Resource_universal_d_BatchRequest as BatchRequest,\n      bookingsCatalogV1Resource_universal_d_CreateScheduleRequest as CreateScheduleRequest,\n      bookingsCatalogV1Resource_universal_d_UpdateScheduleRequest as UpdateScheduleRequest,\n      bookingsCatalogV1Resource_universal_d_ParticipantNotification as ParticipantNotification,\n      bookingsCatalogV1Resource_universal_d_CancelScheduleRequest as CancelScheduleRequest,\n      bookingsCatalogV1Resource_universal_d_UpdateResourceResponse as UpdateResourceResponse,\n      bookingsCatalogV1Resource_universal_d_BatchResponse as BatchResponse,\n      bookingsCatalogV1Resource_universal_d_ResourceUpdateScheduleRequest as ResourceUpdateScheduleRequest,\n      bookingsCatalogV1Resource_universal_d_UpdateScheduleResponse as UpdateScheduleResponse,\n      bookingsCatalogV1Resource_universal_d_DeleteResourceRequest as DeleteResourceRequest,\n      bookingsCatalogV1Resource_universal_d_DeleteResourceResponse as DeleteResourceResponse,\n      bookingsCatalogV1Resource_universal_d_BatchDeleteResourceRequest as BatchDeleteResourceRequest,\n      bookingsCatalogV1Resource_universal_d_BatchDeleteResourceResponse as BatchDeleteResourceResponse,\n      bookingsCatalogV1Resource_universal_d_LinkResourceToUserRequest as LinkResourceToUserRequest,\n      bookingsCatalogV1Resource_universal_d_LinkResourceToUserResponse as LinkResourceToUserResponse,\n      bookingsCatalogV1Resource_universal_d_UnLinkResourceFromOwnerRequest as UnLinkResourceFromOwnerRequest,\n      bookingsCatalogV1Resource_universal_d_UnLinkResourceFromOwnerResponse as UnLinkResourceFromOwnerResponse,\n      bookingsCatalogV1Resource_universal_d_list as list,\n      bookingsCatalogV1Resource_universal_d_ListOptions as ListOptions,\n      bookingsCatalogV1Resource_universal_d_query as query,\n      bookingsCatalogV1Resource_universal_d_QueryOptions as QueryOptions,\n      bookingsCatalogV1Resource_universal_d_create as create,\n      bookingsCatalogV1Resource_universal_d_CreateOptions as CreateOptions,\n      bookingsCatalogV1Resource_universal_d_batchCreate as batchCreate,\n      bookingsCatalogV1Resource_universal_d_BatchCreateOptions as BatchCreateOptions,\n      bookingsCatalogV1Resource_universal_d_update as update,\n      bookingsCatalogV1Resource_universal_d_UpdateOptions as UpdateOptions,\n      bookingsCatalogV1Resource_universal_d_updateSchedule as updateSchedule,\n      bookingsCatalogV1Resource_universal_d_UpdateScheduleOptions as UpdateScheduleOptions,\n      bookingsCatalogV1Resource_universal_d__delete as _delete,\n      bookingsCatalogV1Resource_universal_d_batchDelete as batchDelete,\n      bookingsCatalogV1Resource_universal_d_linkResourceToUser as linkResourceToUser,\n      bookingsCatalogV1Resource_universal_d_unLinkResourceFromOwner as unLinkResourceFromOwner,\n    };\n  }\n  \n  export { bookingsCatalogV1Resource_universal_d as resources };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-shipping-rates-provider.d.ts",
      "content": "declare module \"interfaces-ecom-v1-shipping-rates-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetShippingRatesRequest {\n      /** The line items to be shipped. */\n      lineItems?: ProductItem[];\n      /** Address to ship to. */\n      shippingDestination?: Address;\n      /** Address item is shipped from. This is the site owner's business address. */\n      shippingOrigin?: Address;\n      /** Buyer's contact details. */\n      buyerContactDetails?: FullAddressContactDetails;\n      /**\n       * Weight measurement unit used for all items in the shipment.\n       *\n       * Supported values:\n       * + `\"KG\"`: kilograms\n       * + `\"LB\"`: pounds\n       */\n      weightUnit?: WeightUnit;\n      /**\n       * Whether tax is included in the items' prices.\n       * @deprecated Whether tax is included in the items' prices.\n       * @targetRemovalDate 2025-05-01\n       */\n      taxIncludedInPrices?: boolean;\n      /** List of delivery preferences, for example preferred delivery code (`shippingOptionId`). */\n      deliveryPreferences?: DeliveryPreferences;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /**\n       * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n       * Used for integration and tracking across different platforms.\n       */\n      externalReferences?: ExternalReference[];\n  }\n  interface ProductItem {\n      /** Item name. */\n      name?: string;\n      /** The number of items ordered. */\n      quantity?: number;\n      /** Reference to the item's origin catalog. */\n      catalogReference?: CatalogReference;\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties;\n      /** Price of a single item after discounts. */\n      price?: string;\n      /**\n       * For shipping rates by product group\n       * @internal\n       */\n      shippingGroupId?: string | null;\n      /** Total line item price before discounts. */\n      totalPriceBeforeDiscount?: string | null;\n      /** Price of a single item before discounts. */\n      priceBeforeDiscount?: string | null;\n      /** Total line item price after discounts. This is equal to `price` multiplied by `quantity`. */\n      totalPrice?: string | null;\n      /**\n       * For delivery rates by delivery profile id\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** item delivery destination index in the shipping addresses list */\n      deliveryDestinationIndex?: number | null;\n      /** where the item is delivered from index in the from addresses list */\n      deliveryOriginIndex?: number | null;\n      /** whether tax is included in line item price */\n      taxIncludedInPrice?: boolean | null;\n      /**\n       * The ID of the line item.\n       * @internal\n       */\n      lineItemId?: string | null;\n      /**\n       * For delivery rates by delivery rule id (multiple delivery rules per delivery profile)\n       * @internal\n       */\n      deliveryRuleId?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface PhysicalProperties {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails {\n      /** Contact's first name. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /**\n       * Contact's full name.\n       * @internal\n       */\n      fullName?: string | null;\n      /** Contact's phone number. */\n      phone?: string | null;\n      /** Contact's company name. */\n      company?: string | null;\n      /** Email associated with the address. */\n      email?: string | null;\n      /** Tax info. Currently usable only in Brazil. */\n      vatId?: VatId;\n  }\n  interface VatId {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType;\n  }\n  /** tax info types */\n  enum VatType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  enum WeightUnit {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  /**\n   * delivery preferences, for example preferred delivery \"code\" (shippingOptionId).\n   * enrich the delivery providers with more data about the delivery\n   */\n  interface DeliveryPreferences {\n      preferredCode?: string | null;\n  }\n  interface ExternalReference {\n      /**\n       * ID of the app associated with the purchase flow.\n       * For example, the Wix Pay Links app ID.\n       */\n      appId?: string;\n      /**\n       * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n       * For example, a Wix Pay Link ID.\n       */\n      resourceId?: string | null;\n  }\n  interface GetShippingRatesResponse {\n      /** Available shipping rates. These define the shipping rate options that are displayed to site visitors on the cart and checkout pages. */\n      shippingRates?: ShippingOption[];\n  }\n  interface ShippingOption {\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n      /** Shipping rate title. For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"`, or `\"First-Class Package International\"`. */\n      title?: string;\n      /** Shipping logistics. */\n      logistics?: DeliveryLogistics;\n      /** Shipping cost. */\n      cost?: ShippingPrice;\n      /**\n       * If the option is a partial and doesn't apply to all line_items, this field will be populated.\n       * @internal\n       */\n      partial?: PartialOption;\n  }\n  interface DeliveryLogistics {\n      /** When the item is expected to be delivered in free text. For example, `\"3-5 business days\"`. */\n      deliveryTime?: string | null;\n      /** Instructions for delivery. For example, for pickup: `\"Ensure to come during business hours, and please don't park in the disabled spot\"`. */\n      instructions?: string | null;\n      /** Pickup details. Should be returned only if order is for pickup. */\n      pickupDetails?: PickupDetails;\n      /**\n       * Date and Time of the delivery option\n       * @internal\n       */\n      deliveryTimeSlot?: DeliveryTimeSlot;\n  }\n  interface PickupDetails {\n      /** Pickup address. */\n      address?: Address;\n      /**\n       * Pickup method.\n       *\n       * Supported values:\n       * + `\"STORE_PICKUP\"`: When pickup is from the merchant's brick and mortar store.\n       * + `\"PICKUP_POINT\"`: When item is shipped to a specified pickup point.\n       */\n      pickupMethod?: PickupMethod;\n  }\n  enum PickupMethod {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot {\n      /** starting time of the delivery time slot */\n      from?: Date | null;\n      /** ending time of the delivery time slot */\n      to?: Date | null;\n  }\n  interface ShippingPrice {\n      /** The shipping rate's price. Must align with the [currency's decimal separator](https://en.wikipedia.org/wiki/ISO_4217#Active_codes). */\n      price?: string;\n      /** Currency of the shipping rate price as a 3-letter [ISO-4217 currency code](https://en.wikipedia.org/wiki/ISO_4217). Must align with the `currency` passed to the function under the `metadata` field. */\n      currency?: string;\n      /** Additional costs. For example, a handling fee for packaging fragile items. */\n      additionalCharges?: AdditionalCharge[];\n  }\n  interface AdditionalCharge {\n      /** Additional charge type. */\n      type?: ChargeType;\n      /** Details of the additional charge. For example, `\"Handling fee of $5 applied for gift wrapping\"`. */\n      details?: string | null;\n      /** Cost of additional charge. For example, `12.5`. */\n      price?: string;\n  }\n  enum ChargeType {\n      HANDLING_FEE = \"HANDLING_FEE\"\n  }\n  interface PartialOption {\n      /** Items that the delivery option is for. If empty, the delivery option is for all items. */\n      lineItemIds?: string[];\n  }\n  interface MissingPostalCodeError {\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface InvalidPostalCodeError {\n      error?: ApplicationError;\n  }\n  interface InvalidAddressError {\n      fields?: FieldViolation[];\n  }\n  interface FieldViolation {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  enum RuleType {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\",\n      EXACT_LENGTH = \"EXACT_LENGTH\",\n      EXACT_SIZE = \"EXACT_SIZE\"\n  }\n  interface GenericShippingRatesError {\n      errors?: ApplicationError[];\n  }\n  interface GetDashboardTablesRequest {\n      /** Delivery profile id. */\n      deliveryProfileId?: string;\n      /** Delivery region ids to get settings for. */\n      deliveryRegionId?: string[];\n  }\n  interface GetDashboardTablesResponse {\n      /** The list of settings for the given requests. */\n      dashboardTableResults?: RegionDashboardTables[];\n  }\n  interface RegionDashboardTables {\n      /** The delivery rule id. */\n      deliveryRegionId?: string;\n      /** The shipping table values that are associated with the delivery rule. Can be multiple if the provider is an aggregator of multiple carriers. */\n      dashboardTables?: DashboardTable[];\n  }\n  interface DashboardTable {\n      /** The title of the delivery settings that will be displayed in the UI. */\n      title?: string;\n      /** The columns of the delivery settings that will be displayed in the UI. */\n      columns?: Column[];\n      /** The content of the delivery settings. Each row is a map of column name to value. */\n      rows?: Row[];\n  }\n  interface Column {\n      /** The name of the column. This is used to get the data from the row. */\n      key?: string;\n      /** The title of the column that will be displayed in the UI. */\n      name?: string;\n  }\n  interface Row {\n      /** The external key of the data presented in a row. This is used to identify the row in the UI for editing. */\n      key?: string;\n      /**\n       * The data presented in the row. The key is the column `name` and the value is the data in the specific row and column.\n       * Data will be in JSON format.\n       */\n      data?: Record<string, any> | null;\n  }\n  interface ShippingRatesConfig {\n      /** Human-readable name of the shipping provider. */\n      name?: string;\n      /** Description of the shipping provider. */\n      description?: string | null;\n      /** URL to more info about the shipping provider. */\n      learnMoreUrl?: string | null;\n      /** URL to reach the shipping provider app's dashboard. */\n      dashboardUrl?: string | null;\n      /** Whether to require the site owner to define a fallback/default rate. Set to `true` if you do not provide rates as part of the integration. */\n      fallbackDefinitionMandatory?: boolean;\n      /**\n       * Thumbnail image of the shipping rates provider. Displayed in the shipping settings section in the Dashboard.\n       * The URL must be of an image uploaded to the [Wix Media Manager](https://support.wix.com/en/article/wix-media-uploading-media-to-the-media-manager).\n       */\n      thumbnailUrl?: string | null;\n      /**\n       * feature toggle initialized with default value = false. should be true if implemented by spi provider\n       * @internal\n       */\n      toggleGetDashboardTableEnabled?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetShippingRatesOptions {\n      /** The line items to be shipped. */\n      lineItems?: ProductItem[];\n      /** Address to ship to. */\n      shippingDestination?: Address;\n      /** Address item is shipped from. This is the site owner's business address. */\n      shippingOrigin?: Address;\n      /** Buyer's contact details. */\n      buyerContactDetails?: FullAddressContactDetails;\n      /**\n       * Weight measurement unit used for all items in the shipment.\n       *\n       * Supported values:\n       * + `\"KG\"`: kilograms\n       * + `\"LB\"`: pounds\n       */\n      weightUnit?: WeightUnit;\n      /**\n       * Whether tax is included in the items' prices.\n       * @deprecated Whether tax is included in the items' prices.\n       * @targetRemovalDate 2025-05-01\n       */\n      taxIncludedInPrices?: boolean;\n      /** List of delivery preferences, for example preferred delivery code (`shippingOptionId`). */\n      deliveryPreferences?: DeliveryPreferences;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /**\n       * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n       * Used for integration and tracking across different platforms.\n       */\n      externalReferences?: ExternalReference[];\n  }\n  \n  function missingPostalCode(data: MissingPostalCodeError): BusinessError<MissingPostalCodeError>;\n  function invalidPostalCode(data: InvalidPostalCodeError): BusinessError<InvalidPostalCodeError>;\n  function invalidAddress(data: InvalidAddressError): BusinessError<InvalidAddressError>;\n  function genericShippingRatesError(data: GenericShippingRatesError): BusinessError<GenericShippingRatesError>;\n  \n  const getShippingRatesSpiErrors_d_missingPostalCode: typeof missingPostalCode;\n  const getShippingRatesSpiErrors_d_invalidPostalCode: typeof invalidPostalCode;\n  const getShippingRatesSpiErrors_d_invalidAddress: typeof invalidAddress;\n  const getShippingRatesSpiErrors_d_genericShippingRatesError: typeof genericShippingRatesError;\n  namespace getShippingRatesSpiErrors_d {\n    export {\n      getShippingRatesSpiErrors_d_missingPostalCode as missingPostalCode,\n      getShippingRatesSpiErrors_d_invalidPostalCode as invalidPostalCode,\n      getShippingRatesSpiErrors_d_invalidAddress as invalidAddress,\n      getShippingRatesSpiErrors_d_genericShippingRatesError as genericShippingRatesError,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      getShippingRatesSpiErrors_d as getShippingRates,\n    };\n  }\n  \n  export { AdditionalCharge, Address, AddressLocation, AddressStreetOneOf, ApplicationError, BusinessError, CatalogReference, ChargeType, Column, Context, DashboardTable, DeliveryLogistics, DeliveryPreferences, DeliveryTimeSlot, ExternalReference, FieldViolation, FullAddressContactDetails, GenericShippingRatesError, GetDashboardTablesRequest, GetDashboardTablesResponse, GetShippingRatesOptions, GetShippingRatesRequest, GetShippingRatesResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, InvalidAddressError, InvalidPostalCodeError, MissingPostalCodeError, PartialOption, PhysicalProperties, PickupDetails, PickupMethod, ProductItem, RegionDashboardTables, Row, RuleType, ShippingOption, ShippingPrice, ShippingRatesConfig, StandardDetails, StreetAddress, Subdivision, SubdivisionType, VatId, VatType, WeightUnit, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-backend-public-sdk-poc.d.ts",
      "content": "declare module \"wix-data-backend-public-sdk-poc\" {\n  interface Item {\n      item?: Record<string, any> | null;\n  }\n  interface InsertRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Item to insert. */\n      item?: Record<string, any> | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection in which to insert the item. */\n      dataCollectionId?: string;\n  }\n  enum Segment {\n      /** Access database used in the Live site. */\n      LIVE = \"LIVE\",\n      /** Access staging (sandbox) database used in the editor. */\n      SANDBOX = \"SANDBOX\",\n      /** Access deleted database used in the Live site. */\n      TRASH_LIVE = \"TRASH_LIVE\"\n  }\n  interface Options {\n      /**\n       * Should hooks execution be suppressed.\n       * This option can only be used with Corvid backend\n       * code identity.\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /** @internal */\n      includeReferences?: boolean;\n      /** @internal */\n      overrideExisting?: boolean;\n      /** @internal */\n      wrapDataHookErrors?: boolean;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n      /** @internal */\n      pluginOptions?: Record<string, any> | null;\n  }\n  interface InsertResponse {\n      /** Inserted item. */\n      item?: Record<string, any> | null;\n  }\n  interface UpdateRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Item to update. The existing item is replaced with this version. */\n      item: Record<string, any> | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Optional item constraint\n       * @internal\n       */\n      constraint?: Record<string, any> | null;\n      /**\n       * Optional item authorizationConstraint\n       * @internal\n       */\n      authorizationConstraint?: Record<string, any> | null;\n      /**\n       * Optional explicit ID of the item to be updated. If the ID is provided here, it doesn't need to be provided in the `item` body parameter.\n       * @internal\n       */\n      itemId: string;\n      /** ID of the collection containing the existing item. */\n      dataCollectionId?: string;\n  }\n  interface UpdateResponse {\n      /** Updated item */\n      item?: Record<string, any> | null;\n  }\n  interface SaveRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Item to insert or update. */\n      item?: Record<string, any> | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection in which to insert or update the item. */\n      dataCollectionId?: string;\n  }\n  interface SaveResponse {\n      /** Inserted or updated item. */\n      item?: Record<string, any> | null;\n  }\n  interface PatchRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** item id to patch */\n      itemId?: string;\n      /** Patch data */\n      patch?: Record<string, any> | null;\n      /** Data access options */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Optional item constraint\n       * @internal\n       */\n      constraint?: Record<string, any> | null;\n      /**\n       * Optional item authorizationConstraint\n       * @internal\n       */\n      authorizationConstraint?: Record<string, any> | null;\n      /** ID of the collection */\n      dataCollectionId?: string;\n  }\n  interface PatchResponse {\n      /** Patched item */\n      item?: Record<string, any> | null;\n  }\n  interface PatchWhereRequest {\n      /** Data segment */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** filter items to patch */\n      filter?: any;\n      /** Patch data */\n      patch?: Record<string, any> | null;\n      /** Data access options */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection */\n      dataCollectionId?: string;\n  }\n  interface PatchWhereResponse {\n      /** Number of patched items */\n      totalCount?: number;\n      totalAffectedValues?: number;\n  }\n  interface GetRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** ID of the item to retrieve. */\n      itemId: string;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection from which to retrieve the item. */\n      dataCollectionId?: string;\n  }\n  interface ReadOptions {\n      /** @internal */\n      suppressHooks?: boolean;\n      /** @internal */\n      includeReferences?: boolean;\n      /** @internal */\n      wrapDataHookErrors?: boolean;\n      /** @internal */\n      consistentRead?: boolean;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n      /** @internal */\n      pluginOptions?: Record<string, any> | null;\n      /** @internal */\n      language?: string | null;\n  }\n  interface GetResponse {\n      /** Retrieved item. */\n      item?: Record<string, any> | null;\n  }\n  interface RemoveRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** ID of the item to remove. */\n      itemId: string;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Optional item constraint\n       * @internal\n       */\n      constraint?: Record<string, any> | null;\n      /**\n       * Optional item authorizationConstraint\n       * @internal\n       */\n      authorizationConstraint?: Record<string, any> | null;\n      /** ID of the collection from which to remove the item. */\n      dataCollectionId?: string;\n  }\n  interface RemoveResponse {\n      /** Removed item. */\n      item?: Record<string, any> | null;\n  }\n  interface TruncateRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection to truncate. */\n      dataCollectionId?: string;\n  }\n  interface TruncateResponse {\n  }\n  interface QueryRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated. Use `dataCollectionId`` instead.\n       * Collection name.\n       * @internal\n       * @deprecated Deprecated. Use `dataCollectionId`` instead.\n       * Collection name.\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /**\n       * Deprecated. Use 'data_query' instead.  Query https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_api-query-language\n       * @internal\n       * @deprecated\n       */\n      query?: Query;\n      /**\n       * Deprecated. Use `includeReferencedItems` instead. Includes referenced items for the specified properties in a query's results.\n       * @internal\n       * @deprecated Deprecated. Use `includeReferencedItems` instead. Includes referenced items for the specified properties in a query's results.\n       * @replacedBy includeReferencedItems\n       */\n      include?: string[];\n      /**\n       * Data access options.\n       * @internal\n       */\n      options?: ReadOptions;\n      /**\n       * Grid app id. Optional in live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */\n      dataQuery?: QueryV2;\n      /**\n       * Optional item authorization constraint.\n       * @internal\n       */\n      authorizationConstraint?: Record<string, any> | null;\n      /**\n       * Whether to omit the total count in the response.\n       * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field.\n       *\n       * Default: `false`\n       */\n      omitTotalCount?: boolean;\n      /**\n       * Properties for which to include referenced items in the query's results.\n       * Up to 50 referenced items can be included for each item that matches the query.\n       * If more than 50 items are referenced, `partialIncludes` in the response is `true`.\n       */\n      includeReferencedItems?: string[];\n      /** ID of the collection to query. */\n      dataCollectionId?: string;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Array of projected fields. A list of specific field names to return. */\n      fields?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. */\n      fields?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryResponse {\n      /** Retrieved items. */\n      items?: Record<string, any>[] | null;\n      /**\n       * *Deprecated.** Refer to 'pagingMetadata' instead. Total number of items satisfying the query.\n       * @deprecated\n       */\n      totalCount?: number;\n      /**\n       * *Deprecated.** Refer to 'pagingMetadata' instead. Total number of items satisfying the query.\n       * @deprecated\n       */\n      totalResults?: number;\n      /** Whether referenced items are trimmed from the results. This occurs when there are more than 50 referenced items. */\n      partialIncludes?: boolean;\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AggregationRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /**\n       * Sorting preferences.\n       * @internal\n       * @deprecated\n       */\n      sorting?: Sorting[];\n      /** Paging preferences. */\n      paging?: Paging;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /**\n       * Cursor pointing to page of results. Can't be used together with 'paging'.\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n      /** Filter applied to the collection's data prior to running the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */\n      initialFilter?: Record<string, any> | null;\n      /**\n       * Object defining the steps of the aggregation to be This is an object defining aggregation itself.\n       *\n       * * Grouping rule is defined as _id field. It takes a form of:\n       * {\n       * \"_id\": \"$field\"\n       * }\n       *\n       * If multiple fields are used for grouping, Group takes a form of:\n       * {\n       * \"_id\": {\n       * \"field1\": \"$field1\"\n       * \"field2\": \"$field2\"\n       * }\n       * }\n       *\n       * * Aggregation functions are defined as special field definitions.\n       *\n       * Average:\n       * {\n       * \"_id\": \"$field\"\n       * \"my_avg\": {\n       * \"$avg\": \"$other_field\"\n       * }\n       * }\n       *\n       * Max:\n       * {\n       * \"_id\": \"$field\"\n       * \"my_max\": {\n       * \"$max\": \"$other_field\"\n       * }\n       * }\n       *\n       * Min:\n       * {\n       * \"_id\": \"$field\"\n       * \"my_min\": {\n       * \"$min\": \"$other_field\"\n       * }\n       * }\n       *\n       * Sum:\n       * {\n       * \"_id\": \"$field\"\n       * \"my_sum\": {\n       * \"$sum\": \"$other_field\"\n       * }\n       * }\n       */\n      aggregation?: Record<string, any> | null;\n      /** Filter applied to the processed data following the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */\n      finalFilter?: Record<string, any> | null;\n      /** Sorting preferences. */\n      sort?: Sorting[];\n      /** ID of the collection on which to run the aggregation. */\n      dataCollectionId?: string;\n  }\n  interface AggregationResponse {\n      /** Aggregation results. */\n      items?: Record<string, any>[] | null;\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface CountRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Filter preferences defining the query. For more information on how to structure a filter object, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section). */\n      filter?: Record<string, any> | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection for which to count query results. */\n      dataCollectionId?: string;\n  }\n  interface CountResponse {\n      /** Count of items matching the query. */\n      totalCount?: number;\n      /**\n       * *Deprecated.** Refer to `totalCount` instead.\n       * @deprecated\n       */\n      totalResults?: number;\n  }\n  interface DistinctRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */\n      dataQuery?: QueryV2;\n      /** Property name for which to return all distinct values. */\n      propertyName: string;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection to query. */\n      dataCollectionId?: string;\n      /**\n       * Whether to omit the total count in the response.\n       * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field.\n       *\n       * Default: `false`\n       */\n      omitTotalCount?: boolean;\n  }\n  interface DistinctResponse {\n      /** List of distinct values contained in the property specified in `propertyName`. */\n      items?: any[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface BulkInsertRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Items to insert. */\n      items: Record<string, any>[] | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection in which to insert the items. */\n      dataCollectionId?: string;\n  }\n  interface BulkInsertResponse {\n      /** IDs of items inserted. */\n      insertedItemIds?: string[];\n      /** Error details for items that couldn't be inserted. */\n      errors?: BulkError[];\n  }\n  interface BulkError {\n      /** ID of the item that couldn't be inserted. */\n      itemId?: string | null;\n      /** Error message. */\n      message?: string;\n      /** Error details. */\n      details?: Details;\n      /** Index of the failed item in the `items` paramater of the request. */\n      originalIndex?: number;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Error description. */\n      description?: string;\n      /** Error data. */\n      data?: Record<string, any> | null;\n  }\n  interface Details {\n      /** Application error. */\n      applicationError?: ApplicationError;\n  }\n  interface BulkSaveRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Items to insert or update. */\n      items: Record<string, any>[] | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection in which to insert or update the items. */\n      dataCollectionId?: string;\n  }\n  interface BulkSaveResponse {\n      /** IDs of items inserted. */\n      insertedItemIds?: string[];\n      /** IDs of items updated. */\n      updatedItemIds?: string[];\n      /** Errors for items that couldn't be inserted or updated. */\n      errors?: BulkError[];\n  }\n  interface BulkUpdateRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Items to update. */\n      items: Record<string, any>[] | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection in which to update items. */\n      dataCollectionId?: string;\n  }\n  interface BulkUpdateResponse {\n      /** IDs of items updated. */\n      updatedItemIds?: string[];\n      /** Errors for items that couldn't be updated. */\n      errors?: BulkError[];\n  }\n  interface BulkPatchRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** List of items and their patches */\n      entries?: Entry[];\n      /** Data access options */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection */\n      dataCollectionId?: string;\n  }\n  interface Entry {\n      /** item id to patch */\n      itemId?: string;\n      /** Patch data */\n      patch?: Record<string, any> | null;\n      /**\n       * Optional item constraint\n       * @internal\n       */\n      constraint?: Record<string, any> | null;\n  }\n  interface BulkPatchResponse {\n      /** Patched item ids */\n      patchedItemIds?: string[];\n      /** Errors */\n      errors?: BulkError[];\n  }\n  interface BulkRemoveRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** IDs of items to remove. */\n      entries?: BulkRemoveRequestEntry[];\n      /** ID of the collection from which to remove the items. */\n      dataCollectionId?: string;\n  }\n  interface BulkRemoveRequestEntry {\n      /** ID of item to remove. */\n      itemId?: string;\n      /**\n       * Optional item constraint\n       * @internal\n       */\n      constraint?: Record<string, any> | null;\n  }\n  interface BulkRemoveResponse {\n      /** IDs of items removed. */\n      removedItemIds?: string[];\n      /** Errors for items that couldn't be removed. */\n      errors?: BulkError[];\n  }\n  interface QueryReferencedRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** Property containing the references to the referenced items. */\n      propertyName: string;\n      /**\n       * Result order\n       * @internal\n       */\n      order?: Order;\n      /** Paging preferences. */\n      paging?: Paging;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Cursor pointing to page of results. Can't be used together with 'paging'.\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId?: string;\n      /**\n       * Whether to omit the total count in the response.\n       * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field.\n       *\n       * Default: `false`\n       */\n      omitTotalCount?: boolean;\n  }\n  enum Order {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryReferencedResponse {\n      /**\n       * *Deprecated.** Refer to `entities` instead. List of referenced items.\n       * @deprecated\n       */\n      items?: Record<string, any>[] | null;\n      /**\n       * *Deprecated**. Refer to 'pagingMetadata' instead. Total number of referenced items satisfying the query.\n       * @deprecated\n       */\n      totalCount?: number;\n      /**\n       * *Deprecated**. Refer to 'pagingMetadata' instead. Total number of referenced items satisfying the query.\n       * @deprecated\n       */\n      totalResults?: number;\n      /** List of referenced items and/or IDs. For successfully resolved references, the referenced data item appears. For references that can't be resolved, the ID appears. */\n      entities?: ReferencedEntity[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface ReferencedEntity extends ReferencedEntityEntityOneOf {\n      /** Data item referenced. */\n      item?: Record<string, any> | null;\n      /** Unresolved ID. Appears instead of the data item when the reference doesn't resolve. For example, when an ID isn't found or if an item is in draft state. */\n      referenceId?: string;\n  }\n  /** @oneof */\n  interface ReferencedEntityEntityOneOf {\n      /** Data item referenced. */\n      item?: Record<string, any> | null;\n      /** Unresolved ID. Appears instead of the data item when the reference doesn't resolve. For example, when an ID isn't found or if an item is in draft state. */\n      referenceId?: string;\n  }\n  interface BulkInsertReferencesRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use 'dataCollectionId' instead.\n       * Name of the collection that contains the referring item\n       * @internal\n       * @deprecated Deprecated, use 'dataCollectionId' instead.\n       * Name of the collection that contains the referring item\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** References to insert. */\n      references: Reference[];\n      /**\n       * Options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId?: string;\n  }\n  interface Reference {\n      /** Property containing the references to the referenced items. */\n      propertyName?: string;\n      /** ID of the referring item. */\n      referringItemId?: string;\n      /** ID of the referenced item. */\n      referencedItemId?: string;\n  }\n  interface BulkInsertReferencesResponse {\n  }\n  interface BulkReplaceReferencesRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Name of the collection that contains the referring item\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Name of the collection that contains the referring item\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Property containing the references to the referenced items. */\n      propertyName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** List of new referenced item IDs to replace the existing ones. */\n      newReferencedItemIds?: string[];\n      /**\n       * Options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in  Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId?: string;\n  }\n  interface BulkReplaceReferencesResponse {\n  }\n  interface BulkRemoveReferencesRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** References to be removed. */\n      references: Reference[];\n      /**\n       * Options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId?: string;\n  }\n  interface BulkRemoveReferencesResponse {\n  }\n  interface IsReferencedRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Name of the collection that contains the referring item\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Name of the collection that contains the referring item\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Property that may contain a reference to the specified item. */\n      propertyName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** ID of the item that may be referenced. */\n      referencedItemId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId?: string;\n  }\n  interface IsReferencedResponse {\n      /** Whether the specified property of the referring item contains a reference to the specified referenced item. */\n      isReferenced?: boolean;\n  }\n  interface RestoreFromTrashBinRequest {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Item id */\n      itemId?: string;\n      /** Data access options */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Optional item constraint\n       * @internal\n       */\n      constraint?: Record<string, any> | null;\n      /**\n       * Optional item authorizationConstraint\n       * @internal\n       */\n      authorizationConstraint?: Record<string, any> | null;\n      /** ID of the collection */\n      dataCollectionId?: string;\n  }\n  interface RestoreFromTrashBinResponse {\n      item?: Record<string, any> | null;\n  }\n  /**\n   * Adds an item to a collection.\n   *\n   * When an item is inserted into a collection, the following properties and values are added to it:\n   * * `_id`: A unique identifier for an item in a collection. You can optionally provide your own ID when inserting the item. If you specify an ID that already exists in the collection, the insertion will fail.\n   * * `_createdDate`: The date the item was added to the collection.\n   * * `_updatedDate`: The date the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.INSERT\n   * @adminMethod\n   */\n  function insert(options?: InsertOptions): Promise<InsertResponse>;\n  interface InsertOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Item to insert. */\n      item?: Record<string, any> | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection in which to insert the item. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Updates an item in a collection.\n   *\n   * An item ID must be submitted as part of the request, either as a path parameter or within the `item` body parameter. If an item is found in the specified collection with\n   * the same ID, that item is updated. If the collection doesn't contain an item with that ID, the request fails.\n   *\n   * When an item is updated, its `_updatedDate` property is changed to the current date.\n   *\n   * **Note:**\n   * After an item is updated, it only contains the properties included in the Update Data Item request. If the existing item has properties with values and those properties\n   * aren't included in the updated item, their values are lost.\n   * @param itemId - Optional explicit ID of the item to be updated. If the ID is provided here, it doesn't need to be provided in the `item` body parameter.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @requiredField options.item\n   * @permissionId WIX_DATA.UPDATE\n   * @adminMethod\n   */\n  function update(itemId: string, options?: UpdateOptions): Promise<UpdateResponse>;\n  interface UpdateOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Item to update. The existing item is replaced with this version. */\n      item: Record<string, any> | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Optional item constraint\n       * @internal\n       */\n      constraint?: Record<string, any> | null;\n      /**\n       * Optional item authorizationConstraint\n       * @internal\n       */\n      authorizationConstraint?: Record<string, any> | null;\n      /** ID of the collection containing the existing item. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Inserts or updates an item in a collection.\n   *\n   * The Save Data Item endpoint inserts or updates the specified item, depending on whether it already exists in the collection.\n   *\n   * * If you don't provide an ID, a new item is created.\n   *\n   * * If you provide an ID that doesn't exist in the collection, a new item is created with that ID.\n   *\n   * * If an item with the ID you provide already exists in the collection, that item is updated. When an item is updated, its `_updatedDate` property is changed to the current date.\n   *\n   * ***Note:*** When you provide an item with an ID that already exists in the collection, the item you provide completely replaces the existing item with that ID.\n   * This means that all of the item's previous properties and values are lost.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.UPDATE\n   * @adminMethod\n   */\n  function save(options?: SaveOptions): Promise<SaveResponse>;\n  interface SaveOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Item to insert or update. */\n      item?: Record<string, any> | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection in which to insert or update the item. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Retrieves an item from a collection.\n   * @param itemId - ID of the item to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @permissionId WIX_DATA.FIND\n   * @adminMethod\n   */\n  function get(itemId: string, options?: GetOptions): Promise<GetResponse>;\n  interface GetOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection from which to retrieve the item. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Removes an item from a collection.\n   *\n   * If any items in other collections reference the removed item in a reference or multi-reference field, the field is cleared.\n   *\n   * **Note:**\n   * Once an item has been removed from a collection, it can't be restored.\n   * @param itemId - ID of the item to remove.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @permissionId WIX_DATA.REMOVE\n   * @adminMethod\n   */\n  function remove(itemId: string, options?: RemoveOptions): Promise<RemoveResponse>;\n  interface RemoveOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Optional item constraint\n       * @internal\n       */\n      constraint?: Record<string, any> | null;\n      /**\n       * Optional item authorizationConstraint\n       * @internal\n       */\n      authorizationConstraint?: Record<string, any> | null;\n      /** ID of the collection from which to remove the item. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Removes all items from a collection. Site owner (`ADMIN`) permissions are required in order to invoke this operation.\n   *\n   * If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared.\n   *\n   * **Note:**\n   * Once items have been removed from a collection, they can't be restored.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.TRUNCATE\n   * @adminMethod\n   */\n  function truncate(options?: TruncateOptions): Promise<void>;\n  interface TruncateOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection to truncate. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Retrieves a list of items, on the basis of the filtering, sorting, and paging preferences you provide.\n   *\n   * For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.FIND\n   * @adminMethod\n   */\n  function query(options?: QueryOptions): Promise<QueryResponse>;\n  interface QueryOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated. Use `dataCollectionId`` instead.\n       * Collection name.\n       * @internal\n       * @deprecated Deprecated. Use `dataCollectionId`` instead.\n       * Collection name.\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /**\n       * Deprecated. Use 'data_query' instead.  Query https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_api-query-language\n       * @internal\n       * @deprecated\n       */\n      query?: Query;\n      /**\n       * Deprecated. Use `includeReferencedItems` instead. Includes referenced items for the specified properties in a query's results.\n       * @internal\n       * @deprecated Deprecated. Use `includeReferencedItems` instead. Includes referenced items for the specified properties in a query's results.\n       * @replacedBy includeReferencedItems\n       */\n      include?: string[];\n      /**\n       * Data access options.\n       * @internal\n       */\n      options?: ReadOptions;\n      /**\n       * Grid app id. Optional in live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */\n      dataQuery?: QueryV2;\n      /**\n       * Optional item authorization constraint.\n       * @internal\n       */\n      authorizationConstraint?: Record<string, any> | null;\n      /**\n       * Whether to omit the total count in the response.\n       * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field.\n       *\n       * Default: `false`\n       */\n      omitTotalCount?: boolean;\n      /**\n       * Properties for which to include referenced items in the query's results.\n       * Up to 50 referenced items can be included for each item that matches the query.\n       * If more than 50 items are referenced, `partialIncludes` in the response is `true`.\n       */\n      includeReferencedItems?: string[];\n      /** ID of the collection to query. */\n      dataCollectionId?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.AGGREGATE\n   * @adminMethod\n   */\n  function aggregate(options?: AggregateOptions): Promise<AggregationResponse>;\n  interface AggregateOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /**\n       * Sorting preferences.\n       * @internal\n       * @deprecated\n       */\n      sorting?: Sorting[];\n      /** Paging preferences. */\n      paging?: Paging;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /**\n       * Cursor pointing to page of results. Can't be used together with 'paging'.\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n      /** Filter applied to the collection's data prior to running the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */\n      initialFilter?: Record<string, any> | null;\n      /**\n       * Object defining the steps of the aggregation to be This is an object defining aggregation itself.\n       *\n       * * Grouping rule is defined as _id field. It takes a form of:\n       * {\n       * \"_id\": \"$field\"\n       * }\n       *\n       * If multiple fields are used for grouping, Group takes a form of:\n       * {\n       * \"_id\": {\n       * \"field1\": \"$field1\"\n       * \"field2\": \"$field2\"\n       * }\n       * }\n       *\n       * * Aggregation functions are defined as special field definitions.\n       *\n       * Average:\n       * {\n       * \"_id\": \"$field\"\n       * \"my_avg\": {\n       * \"$avg\": \"$other_field\"\n       * }\n       * }\n       *\n       * Max:\n       * {\n       * \"_id\": \"$field\"\n       * \"my_max\": {\n       * \"$max\": \"$other_field\"\n       * }\n       * }\n       *\n       * Min:\n       * {\n       * \"_id\": \"$field\"\n       * \"my_min\": {\n       * \"$min\": \"$other_field\"\n       * }\n       * }\n       *\n       * Sum:\n       * {\n       * \"_id\": \"$field\"\n       * \"my_sum\": {\n       * \"$sum\": \"$other_field\"\n       * }\n       * }\n       */\n      aggregation?: Record<string, any> | null;\n      /** Filter applied to the processed data following the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */\n      finalFilter?: Record<string, any> | null;\n      /** Sorting preferences. */\n      sort?: Sorting[];\n      /** ID of the collection on which to run the aggregation. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Returns the number of items in a collection that match a query.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.FIND\n   * @adminMethod\n   */\n  function count(options?: CountOptions): Promise<CountResponse>;\n  interface CountOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Filter preferences defining the query. For more information on how to structure a filter object, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section). */\n      filter?: Record<string, any> | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection for which to count query results. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Retrieves a list of distinct values for a given property in all items that match a query, without duplicates.\n   *\n   * As with the [Query Data Items]() endpoint, this endpoint retrieves items based on the filtering, sorting, and paging preferences you provide.\n   * However, the Query Distinct Values endpoint doesn't return all of the full items that match the query.\n   * Rather, it returns all unique values of the property you specify in `propertyName` for items that match the query.\n   * If more than one item has the same value for that property, that value appears only once.\n   *\n   * For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.propertyName\n   * @permissionId WIX_DATA.FIND\n   * @adminMethod\n   */\n  function distinct(options?: DistinctOptions): Promise<DistinctResponse>;\n  interface DistinctOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */\n      dataQuery?: QueryV2;\n      /** Property name for which to return all distinct values. */\n      propertyName: string;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection to query. */\n      dataCollectionId?: string;\n      /**\n       * Whether to omit the total count in the response.\n       * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field.\n       *\n       * Default: `false`\n       */\n      omitTotalCount?: boolean;\n  }\n  /**\n   * Adds multiple items to a collection.\n   *\n   * When each item is inserted into a collection, the following properties and values are added to it:\n   * * `_id`: A unique identifier for an item in a collection. You can optionally provide your own ID when inserting the item. If you specify an ID that already exists in the collection, the insertion will fail.\n   * * `_createdDate`: The date the item was added to the collection.\n   * * `_updatedDate`: The date the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value.\n   *\n   * The endpoint returns a list of the IDs of items successfully inserted in `insertedItemIds`.\n   * When any items can't be inserted, error details are provided for each failed item in `errors`.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.items\n   * @permissionId WIX_DATA.INSERT\n   * @adminMethod\n   */\n  function bulkInsert(options?: BulkInsertOptions): Promise<BulkInsertResponse>;\n  interface BulkInsertOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Items to insert. */\n      items: Record<string, any>[] | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection in which to insert the items. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Inserts or updates multiple items in a collection.\n   *\n   * The Bulk Save Data Items endpoint inserts or updates each item, depending on whether it already exists in the collection. For each item:\n   *\n   * * If you don't provide an ID, a new item is created.\n   *\n   * * If you provide an ID that doesn't exist in the collection, a new item is created with that ID.\n   *\n   * * If an item with the ID you provide already exists in the collection, that item is updated. When an item is updated, its `_updatedDate` property is changed to the current date.\n   *\n   * The endpoint returns a list of the IDs of items successfully inserted in `insertedItemIds` and a list of the IDs of items successfully updated in `updatedItemIds`.\n   * When any items can't be inserted or updated, error details are provided for each failed item in `errors`.\n   *\n   * ***Note:*** When you provide an item with an ID that already exists in the collection, the item you provide completely replaces the existing item with that ID.\n   * This means that all of the item's previous properties and values are lost.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.items\n   * @permissionId WIX_DATA.UPDATE\n   * @adminMethod\n   */\n  function bulkSave(options?: BulkSaveOptions): Promise<BulkSaveResponse>;\n  interface BulkSaveOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Items to insert or update. */\n      items: Record<string, any>[] | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection in which to insert or update the items. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Updates multiple items in a collection.\n   *\n   * Each item in the request must include an ID. If an item is found in the specified collection with\n   * the same ID, that item is updated. If the collection doesn't contain an item with that ID, the update fails.\n   *\n   * When an item is updated, its `_updatedDate` property is changed to the current date.\n   *\n   * The endpoint returns a list of the IDs of items successfully updated in `updatedItemIds`.\n   * When any items can't be inserted, error details are provided for each failed item in `errors`.\n   *\n   * **Note:**\n   * After each item is updated, it only contains the properties included in the Update Data Item request. If the existing item has properties with values and those properties\n   * aren't included in the updated item, their values are lost.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.items\n   * @permissionId WIX_DATA.UPDATE\n   * @adminMethod\n   */\n  function bulkUpdate(options?: BulkUpdateOptions): Promise<BulkUpdateResponse>;\n  interface BulkUpdateOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Items to update. */\n      items: Record<string, any>[] | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection in which to update items. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Removes multiple items from a collection.\n   *\n   * If any items in other collections reference the removed items in reference or multi-reference fields, the fields are cleared.\n   *\n   * The endpoint returns a list of the IDs of items successfully removed in `removedItemIds`.\n   * When any items can't be removed, error details are provided for each failed item in `errors`.\n   *\n   * **Note:** Once an item has been removed from a collection, it can't be restored.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.REMOVE\n   * @adminMethod\n   */\n  function bulkRemove(options?: BulkRemoveOptions): Promise<BulkRemoveResponse>;\n  interface BulkRemoveOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** IDs of items to remove. */\n      entries?: BulkRemoveRequestEntry[];\n      /** ID of the collection from which to remove the items. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Gets the full items referenced in the specified property of an item.\n   *\n   * For example, suppose you have a **Movies** collection with an **Actors** field that contains references to items in a **People** collection.\n   * Querying the **Movies** collection using the Query Referenced Data Items endpoint returns the relevant **People** items referenced in the **Actors** field of the specified **Movie** item.\n   * This gives you information from the **People** collection about each of the actors in the specified movie.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.propertyName\n   * @requiredField options.referringItemId\n   * @permissionId WIX_DATA.FIND\n   * @adminMethod\n   */\n  function queryReferenced(options?: QueryReferencedOptions): Promise<QueryReferencedResponse>;\n  interface QueryReferencedOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** Property containing the references to the referenced items. */\n      propertyName: string;\n      /**\n       * Result order\n       * @internal\n       */\n      order?: Order;\n      /** Paging preferences. */\n      paging?: Paging;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Cursor pointing to page of results. Can't be used together with 'paging'.\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId?: string;\n      /**\n       * Whether to omit the total count in the response.\n       * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field.\n       *\n       * Default: `false`\n       */\n      omitTotalCount?: boolean;\n  }\n  /**\n   * Inserts one or more references in the specified properties of items in a collection.\n   *\n   * The Bulk Insert References endpoint adds one or more references to a collection.\n   * Each new reference in the `references` field specifies a referring item's ID, the property in which to insert the reference, and the ID of the referenced item.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.references\n   * @requiredField options.references.propertyName\n   * @requiredField options.references.referencedItemId\n   * @requiredField options.references.referringItemId\n   * @permissionId WIX_DATA.INSERT\n   * @adminMethod\n   */\n  function bulkInsertReferences(options?: BulkInsertReferencesOptions): Promise<void>;\n  interface BulkInsertReferencesOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use 'dataCollectionId' instead.\n       * Name of the collection that contains the referring item\n       * @internal\n       * @deprecated Deprecated, use 'dataCollectionId' instead.\n       * Name of the collection that contains the referring item\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** References to insert. */\n      references: Reference[];\n      /**\n       * Options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Replaces references in a specified property of a specified data item.\n   *\n   * The Bulk Replace References endpoint replaces the existing reference or references contained in the property specified in `propertyName` within the data item specified in `referringItemId`.\n   * The endpoint removes existing references and in their place it adds references to the items specified in `newReferencedItemIds`.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.propertyName\n   * @requiredField options.referringItemId\n   * @permissionId WIX_DATA.UPDATE\n   * @adminMethod\n   */\n  function bulkReplaceReferences(options?: BulkReplaceReferencesOptions): Promise<void>;\n  interface BulkReplaceReferencesOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Name of the collection that contains the referring item\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Name of the collection that contains the referring item\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Property containing the references to the referenced items. */\n      propertyName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** List of new referenced item IDs to replace the existing ones. */\n      newReferencedItemIds?: string[];\n      /**\n       * Options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in  Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Removes one or more references.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.references\n   * @requiredField options.references.propertyName\n   * @permissionId WIX_DATA.REMOVE\n   * @adminMethod\n   */\n  function bulkRemoveReferences(options?: BulkRemoveReferencesOptions): Promise<void>;\n  interface BulkRemoveReferencesOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Collection name\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** References to be removed. */\n      references: Reference[];\n      /**\n       * Options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Checks if a specific property of a referring item contains a reference to another specific item.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.propertyName\n   * @requiredField options.referencedItemId\n   * @requiredField options.referringItemId\n   * @permissionId WIX_DATA.FIND\n   * @adminMethod\n   */\n  function isReferenced(options?: IsReferencedOptions): Promise<IsReferencedResponse>;\n  interface IsReferencedOptions {\n      /**\n       * Data segment\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * Deprecated, use dataCollectionId instead.\n       * Name of the collection that contains the referring item\n       * @internal\n       * @deprecated Deprecated, use dataCollectionId instead.\n       * Name of the collection that contains the referring item\n       * @replacedBy data_collection_id\n       */\n      collectionName?: string;\n      /** Property that may contain a reference to the specified item. */\n      propertyName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** ID of the item that may be referenced. */\n      referencedItemId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: ReadOptions;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId?: string;\n  }\n  \n  type dataV1DataService_universal_d_Item = Item;\n  type dataV1DataService_universal_d_InsertRequest = InsertRequest;\n  type dataV1DataService_universal_d_Segment = Segment;\n  const dataV1DataService_universal_d_Segment: typeof Segment;\n  type dataV1DataService_universal_d_Options = Options;\n  type dataV1DataService_universal_d_InsertResponse = InsertResponse;\n  type dataV1DataService_universal_d_UpdateRequest = UpdateRequest;\n  type dataV1DataService_universal_d_UpdateResponse = UpdateResponse;\n  type dataV1DataService_universal_d_SaveRequest = SaveRequest;\n  type dataV1DataService_universal_d_SaveResponse = SaveResponse;\n  type dataV1DataService_universal_d_PatchRequest = PatchRequest;\n  type dataV1DataService_universal_d_PatchResponse = PatchResponse;\n  type dataV1DataService_universal_d_PatchWhereRequest = PatchWhereRequest;\n  type dataV1DataService_universal_d_PatchWhereResponse = PatchWhereResponse;\n  type dataV1DataService_universal_d_GetRequest = GetRequest;\n  type dataV1DataService_universal_d_ReadOptions = ReadOptions;\n  type dataV1DataService_universal_d_GetResponse = GetResponse;\n  type dataV1DataService_universal_d_RemoveRequest = RemoveRequest;\n  type dataV1DataService_universal_d_RemoveResponse = RemoveResponse;\n  type dataV1DataService_universal_d_TruncateRequest = TruncateRequest;\n  type dataV1DataService_universal_d_TruncateResponse = TruncateResponse;\n  type dataV1DataService_universal_d_QueryRequest = QueryRequest;\n  type dataV1DataService_universal_d_Query = Query;\n  type dataV1DataService_universal_d_Sorting = Sorting;\n  type dataV1DataService_universal_d_SortOrder = SortOrder;\n  const dataV1DataService_universal_d_SortOrder: typeof SortOrder;\n  type dataV1DataService_universal_d_Paging = Paging;\n  type dataV1DataService_universal_d_QueryV2 = QueryV2;\n  type dataV1DataService_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type dataV1DataService_universal_d_CursorPaging = CursorPaging;\n  type dataV1DataService_universal_d_QueryResponse = QueryResponse;\n  type dataV1DataService_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type dataV1DataService_universal_d_Cursors = Cursors;\n  type dataV1DataService_universal_d_AggregationRequest = AggregationRequest;\n  type dataV1DataService_universal_d_AggregationResponse = AggregationResponse;\n  type dataV1DataService_universal_d_CountRequest = CountRequest;\n  type dataV1DataService_universal_d_CountResponse = CountResponse;\n  type dataV1DataService_universal_d_DistinctRequest = DistinctRequest;\n  type dataV1DataService_universal_d_DistinctResponse = DistinctResponse;\n  type dataV1DataService_universal_d_BulkInsertRequest = BulkInsertRequest;\n  type dataV1DataService_universal_d_BulkInsertResponse = BulkInsertResponse;\n  type dataV1DataService_universal_d_BulkError = BulkError;\n  type dataV1DataService_universal_d_ApplicationError = ApplicationError;\n  type dataV1DataService_universal_d_Details = Details;\n  type dataV1DataService_universal_d_BulkSaveRequest = BulkSaveRequest;\n  type dataV1DataService_universal_d_BulkSaveResponse = BulkSaveResponse;\n  type dataV1DataService_universal_d_BulkUpdateRequest = BulkUpdateRequest;\n  type dataV1DataService_universal_d_BulkUpdateResponse = BulkUpdateResponse;\n  type dataV1DataService_universal_d_BulkPatchRequest = BulkPatchRequest;\n  type dataV1DataService_universal_d_Entry = Entry;\n  type dataV1DataService_universal_d_BulkPatchResponse = BulkPatchResponse;\n  type dataV1DataService_universal_d_BulkRemoveRequest = BulkRemoveRequest;\n  type dataV1DataService_universal_d_BulkRemoveRequestEntry = BulkRemoveRequestEntry;\n  type dataV1DataService_universal_d_BulkRemoveResponse = BulkRemoveResponse;\n  type dataV1DataService_universal_d_QueryReferencedRequest = QueryReferencedRequest;\n  type dataV1DataService_universal_d_Order = Order;\n  const dataV1DataService_universal_d_Order: typeof Order;\n  type dataV1DataService_universal_d_QueryReferencedResponse = QueryReferencedResponse;\n  type dataV1DataService_universal_d_ReferencedEntity = ReferencedEntity;\n  type dataV1DataService_universal_d_ReferencedEntityEntityOneOf = ReferencedEntityEntityOneOf;\n  type dataV1DataService_universal_d_BulkInsertReferencesRequest = BulkInsertReferencesRequest;\n  type dataV1DataService_universal_d_Reference = Reference;\n  type dataV1DataService_universal_d_BulkInsertReferencesResponse = BulkInsertReferencesResponse;\n  type dataV1DataService_universal_d_BulkReplaceReferencesRequest = BulkReplaceReferencesRequest;\n  type dataV1DataService_universal_d_BulkReplaceReferencesResponse = BulkReplaceReferencesResponse;\n  type dataV1DataService_universal_d_BulkRemoveReferencesRequest = BulkRemoveReferencesRequest;\n  type dataV1DataService_universal_d_BulkRemoveReferencesResponse = BulkRemoveReferencesResponse;\n  type dataV1DataService_universal_d_IsReferencedRequest = IsReferencedRequest;\n  type dataV1DataService_universal_d_IsReferencedResponse = IsReferencedResponse;\n  type dataV1DataService_universal_d_RestoreFromTrashBinRequest = RestoreFromTrashBinRequest;\n  type dataV1DataService_universal_d_RestoreFromTrashBinResponse = RestoreFromTrashBinResponse;\n  const dataV1DataService_universal_d_insert: typeof insert;\n  type dataV1DataService_universal_d_InsertOptions = InsertOptions;\n  const dataV1DataService_universal_d_update: typeof update;\n  type dataV1DataService_universal_d_UpdateOptions = UpdateOptions;\n  const dataV1DataService_universal_d_save: typeof save;\n  type dataV1DataService_universal_d_SaveOptions = SaveOptions;\n  const dataV1DataService_universal_d_get: typeof get;\n  type dataV1DataService_universal_d_GetOptions = GetOptions;\n  const dataV1DataService_universal_d_remove: typeof remove;\n  type dataV1DataService_universal_d_RemoveOptions = RemoveOptions;\n  const dataV1DataService_universal_d_truncate: typeof truncate;\n  type dataV1DataService_universal_d_TruncateOptions = TruncateOptions;\n  const dataV1DataService_universal_d_query: typeof query;\n  type dataV1DataService_universal_d_QueryOptions = QueryOptions;\n  const dataV1DataService_universal_d_aggregate: typeof aggregate;\n  type dataV1DataService_universal_d_AggregateOptions = AggregateOptions;\n  const dataV1DataService_universal_d_count: typeof count;\n  type dataV1DataService_universal_d_CountOptions = CountOptions;\n  const dataV1DataService_universal_d_distinct: typeof distinct;\n  type dataV1DataService_universal_d_DistinctOptions = DistinctOptions;\n  const dataV1DataService_universal_d_bulkInsert: typeof bulkInsert;\n  type dataV1DataService_universal_d_BulkInsertOptions = BulkInsertOptions;\n  const dataV1DataService_universal_d_bulkSave: typeof bulkSave;\n  type dataV1DataService_universal_d_BulkSaveOptions = BulkSaveOptions;\n  const dataV1DataService_universal_d_bulkUpdate: typeof bulkUpdate;\n  type dataV1DataService_universal_d_BulkUpdateOptions = BulkUpdateOptions;\n  const dataV1DataService_universal_d_bulkRemove: typeof bulkRemove;\n  type dataV1DataService_universal_d_BulkRemoveOptions = BulkRemoveOptions;\n  const dataV1DataService_universal_d_queryReferenced: typeof queryReferenced;\n  type dataV1DataService_universal_d_QueryReferencedOptions = QueryReferencedOptions;\n  const dataV1DataService_universal_d_bulkInsertReferences: typeof bulkInsertReferences;\n  type dataV1DataService_universal_d_BulkInsertReferencesOptions = BulkInsertReferencesOptions;\n  const dataV1DataService_universal_d_bulkReplaceReferences: typeof bulkReplaceReferences;\n  type dataV1DataService_universal_d_BulkReplaceReferencesOptions = BulkReplaceReferencesOptions;\n  const dataV1DataService_universal_d_bulkRemoveReferences: typeof bulkRemoveReferences;\n  type dataV1DataService_universal_d_BulkRemoveReferencesOptions = BulkRemoveReferencesOptions;\n  const dataV1DataService_universal_d_isReferenced: typeof isReferenced;\n  type dataV1DataService_universal_d_IsReferencedOptions = IsReferencedOptions;\n  namespace dataV1DataService_universal_d {\n    export {\n      dataV1DataService_universal_d_Item as Item,\n      dataV1DataService_universal_d_InsertRequest as InsertRequest,\n      dataV1DataService_universal_d_Segment as Segment,\n      dataV1DataService_universal_d_Options as Options,\n      dataV1DataService_universal_d_InsertResponse as InsertResponse,\n      dataV1DataService_universal_d_UpdateRequest as UpdateRequest,\n      dataV1DataService_universal_d_UpdateResponse as UpdateResponse,\n      dataV1DataService_universal_d_SaveRequest as SaveRequest,\n      dataV1DataService_universal_d_SaveResponse as SaveResponse,\n      dataV1DataService_universal_d_PatchRequest as PatchRequest,\n      dataV1DataService_universal_d_PatchResponse as PatchResponse,\n      dataV1DataService_universal_d_PatchWhereRequest as PatchWhereRequest,\n      dataV1DataService_universal_d_PatchWhereResponse as PatchWhereResponse,\n      dataV1DataService_universal_d_GetRequest as GetRequest,\n      dataV1DataService_universal_d_ReadOptions as ReadOptions,\n      dataV1DataService_universal_d_GetResponse as GetResponse,\n      dataV1DataService_universal_d_RemoveRequest as RemoveRequest,\n      dataV1DataService_universal_d_RemoveResponse as RemoveResponse,\n      dataV1DataService_universal_d_TruncateRequest as TruncateRequest,\n      dataV1DataService_universal_d_TruncateResponse as TruncateResponse,\n      dataV1DataService_universal_d_QueryRequest as QueryRequest,\n      dataV1DataService_universal_d_Query as Query,\n      dataV1DataService_universal_d_Sorting as Sorting,\n      dataV1DataService_universal_d_SortOrder as SortOrder,\n      dataV1DataService_universal_d_Paging as Paging,\n      dataV1DataService_universal_d_QueryV2 as QueryV2,\n      dataV1DataService_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      dataV1DataService_universal_d_CursorPaging as CursorPaging,\n      dataV1DataService_universal_d_QueryResponse as QueryResponse,\n      dataV1DataService_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      dataV1DataService_universal_d_Cursors as Cursors,\n      dataV1DataService_universal_d_AggregationRequest as AggregationRequest,\n      dataV1DataService_universal_d_AggregationResponse as AggregationResponse,\n      dataV1DataService_universal_d_CountRequest as CountRequest,\n      dataV1DataService_universal_d_CountResponse as CountResponse,\n      dataV1DataService_universal_d_DistinctRequest as DistinctRequest,\n      dataV1DataService_universal_d_DistinctResponse as DistinctResponse,\n      dataV1DataService_universal_d_BulkInsertRequest as BulkInsertRequest,\n      dataV1DataService_universal_d_BulkInsertResponse as BulkInsertResponse,\n      dataV1DataService_universal_d_BulkError as BulkError,\n      dataV1DataService_universal_d_ApplicationError as ApplicationError,\n      dataV1DataService_universal_d_Details as Details,\n      dataV1DataService_universal_d_BulkSaveRequest as BulkSaveRequest,\n      dataV1DataService_universal_d_BulkSaveResponse as BulkSaveResponse,\n      dataV1DataService_universal_d_BulkUpdateRequest as BulkUpdateRequest,\n      dataV1DataService_universal_d_BulkUpdateResponse as BulkUpdateResponse,\n      dataV1DataService_universal_d_BulkPatchRequest as BulkPatchRequest,\n      dataV1DataService_universal_d_Entry as Entry,\n      dataV1DataService_universal_d_BulkPatchResponse as BulkPatchResponse,\n      dataV1DataService_universal_d_BulkRemoveRequest as BulkRemoveRequest,\n      dataV1DataService_universal_d_BulkRemoveRequestEntry as BulkRemoveRequestEntry,\n      dataV1DataService_universal_d_BulkRemoveResponse as BulkRemoveResponse,\n      dataV1DataService_universal_d_QueryReferencedRequest as QueryReferencedRequest,\n      dataV1DataService_universal_d_Order as Order,\n      dataV1DataService_universal_d_QueryReferencedResponse as QueryReferencedResponse,\n      dataV1DataService_universal_d_ReferencedEntity as ReferencedEntity,\n      dataV1DataService_universal_d_ReferencedEntityEntityOneOf as ReferencedEntityEntityOneOf,\n      dataV1DataService_universal_d_BulkInsertReferencesRequest as BulkInsertReferencesRequest,\n      dataV1DataService_universal_d_Reference as Reference,\n      dataV1DataService_universal_d_BulkInsertReferencesResponse as BulkInsertReferencesResponse,\n      dataV1DataService_universal_d_BulkReplaceReferencesRequest as BulkReplaceReferencesRequest,\n      dataV1DataService_universal_d_BulkReplaceReferencesResponse as BulkReplaceReferencesResponse,\n      dataV1DataService_universal_d_BulkRemoveReferencesRequest as BulkRemoveReferencesRequest,\n      dataV1DataService_universal_d_BulkRemoveReferencesResponse as BulkRemoveReferencesResponse,\n      dataV1DataService_universal_d_IsReferencedRequest as IsReferencedRequest,\n      dataV1DataService_universal_d_IsReferencedResponse as IsReferencedResponse,\n      dataV1DataService_universal_d_RestoreFromTrashBinRequest as RestoreFromTrashBinRequest,\n      dataV1DataService_universal_d_RestoreFromTrashBinResponse as RestoreFromTrashBinResponse,\n      dataV1DataService_universal_d_insert as insert,\n      dataV1DataService_universal_d_InsertOptions as InsertOptions,\n      dataV1DataService_universal_d_update as update,\n      dataV1DataService_universal_d_UpdateOptions as UpdateOptions,\n      dataV1DataService_universal_d_save as save,\n      dataV1DataService_universal_d_SaveOptions as SaveOptions,\n      dataV1DataService_universal_d_get as get,\n      dataV1DataService_universal_d_GetOptions as GetOptions,\n      dataV1DataService_universal_d_remove as remove,\n      dataV1DataService_universal_d_RemoveOptions as RemoveOptions,\n      dataV1DataService_universal_d_truncate as truncate,\n      dataV1DataService_universal_d_TruncateOptions as TruncateOptions,\n      dataV1DataService_universal_d_query as query,\n      dataV1DataService_universal_d_QueryOptions as QueryOptions,\n      dataV1DataService_universal_d_aggregate as aggregate,\n      dataV1DataService_universal_d_AggregateOptions as AggregateOptions,\n      dataV1DataService_universal_d_count as count,\n      dataV1DataService_universal_d_CountOptions as CountOptions,\n      dataV1DataService_universal_d_distinct as distinct,\n      dataV1DataService_universal_d_DistinctOptions as DistinctOptions,\n      dataV1DataService_universal_d_bulkInsert as bulkInsert,\n      dataV1DataService_universal_d_BulkInsertOptions as BulkInsertOptions,\n      dataV1DataService_universal_d_bulkSave as bulkSave,\n      dataV1DataService_universal_d_BulkSaveOptions as BulkSaveOptions,\n      dataV1DataService_universal_d_bulkUpdate as bulkUpdate,\n      dataV1DataService_universal_d_BulkUpdateOptions as BulkUpdateOptions,\n      dataV1DataService_universal_d_bulkRemove as bulkRemove,\n      dataV1DataService_universal_d_BulkRemoveOptions as BulkRemoveOptions,\n      dataV1DataService_universal_d_queryReferenced as queryReferenced,\n      dataV1DataService_universal_d_QueryReferencedOptions as QueryReferencedOptions,\n      dataV1DataService_universal_d_bulkInsertReferences as bulkInsertReferences,\n      dataV1DataService_universal_d_BulkInsertReferencesOptions as BulkInsertReferencesOptions,\n      dataV1DataService_universal_d_bulkReplaceReferences as bulkReplaceReferences,\n      dataV1DataService_universal_d_BulkReplaceReferencesOptions as BulkReplaceReferencesOptions,\n      dataV1DataService_universal_d_bulkRemoveReferences as bulkRemoveReferences,\n      dataV1DataService_universal_d_BulkRemoveReferencesOptions as BulkRemoveReferencesOptions,\n      dataV1DataService_universal_d_isReferenced as isReferenced,\n      dataV1DataService_universal_d_IsReferencedOptions as IsReferencedOptions,\n    };\n  }\n  \n  export { dataV1DataService_universal_d as data };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-line-items-enricher.d.ts",
      "content": "declare module \"interfaces-ecom-v1-line-items-enricher\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  /** typ */\n  interface EnrichLineItemsForThankYouPageRequest {\n      lineItems: LineItem[];\n  }\n  interface LineItem {\n      /** Line item ID. */\n      _id?: string;\n      /**\n       * References to the line item's origin catalog.\n       * This field is empty in the case of a custom line item.\n       */\n      catalogReference?: CatalogReference;\n      /** Line item description lines. Used for display purposes for the cart, checkout and order. */\n      descriptionLines?: V1DescriptionLine[];\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [Wix Dev Center](https://dev.wix.com/apps).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface V1DescriptionLine extends V1DescriptionLineValueOneOf, V1DescriptionLineDescriptionLineValueOneOf {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue;\n      /** Description line color value. */\n      colorInfo?: Color;\n      /**\n       * Description line plain text value.\n       * @internal\n       */\n      plainTextValue?: PlainTextValue;\n      /**\n       * Description line color.\n       * @internal\n       */\n      color?: string;\n      /** Description line name. */\n      name?: DescriptionLineName;\n      /**\n       * Description line type.\n       * @internal\n       */\n      lineType?: DescriptionLineType;\n  }\n  /** @oneof */\n  interface V1DescriptionLineValueOneOf {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue;\n      /** Description line color value. */\n      colorInfo?: Color;\n  }\n  /** @oneof */\n  interface V1DescriptionLineDescriptionLineValueOneOf {\n      /**\n       * Description line plain text value.\n       * @internal\n       */\n      plainTextValue?: PlainTextValue;\n      /**\n       * Description line color.\n       * @internal\n       */\n      color?: string;\n  }\n  interface DescriptionLineName {\n      /** Description line name in the site's default language. */\n      original?: string;\n      /**\n       * Description line name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface PlainTextValue {\n      /** Description line plain text value in the site's default language. */\n      original?: string;\n      /**\n       * Description line plain text value translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Color {\n      /** Description line color name in the site's default language. */\n      original?: string;\n      /**\n       * Description line color name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n      /** HEX or RGB color code for display. */\n      code?: string | null;\n  }\n  enum DescriptionLineType {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      COLOR = \"COLOR\"\n  }\n  interface EnrichLineItemsForThankYouPageResponse {\n      enrichedLineItems?: EnrichedLineItemWithActions[];\n  }\n  interface EnrichedLineItemWithActions {\n      /** Line item ID */\n      _id?: string;\n      /**\n       * Description lines to replace the original\n       * This is optional - If you do not want to override, do not return this and the original description lines will be used\n       * If you do pass it, it overrides the existing description line.\n       * If you want to append, copy the original description lines and add your own\n       */\n      overriddenDescriptionLines?: OverriddenDescriptionLines;\n      /** Option to hide specific sections */\n      renderingConfig?: LineItemRenderingConfig;\n      /**\n       * Optional list of actions to be rendered next to the line item\n       * Implementation depends on the client (checkout page, mobile)\n       */\n      actions?: LineItemAction[];\n  }\n  interface OverriddenDescriptionLines {\n      descriptionLines?: V1DescriptionLine[];\n  }\n  interface LineItemRenderingConfig {\n      hidePrice?: boolean;\n      hideQuantity?: boolean;\n  }\n  interface LineItemAction extends LineItemActionTextOneOf {\n      /** the key that we use to save the text in the editor settings panel */\n      settingsKey?: string;\n      /** the translated text to display (i.e. will be shown \"as is\") */\n      label?: string;\n      /**\n       * URL to navigate to in order to perform the action\n       * can be relative e.g \"/api/download\" or absolute e.g. \"http://www.google.com\"\n       * Note that a specific client may rely on action id and parameters and ignore the URL or the other way around\n       */\n      url?: string | null;\n      /**\n       * The unique id of the action\n       * for example: DOWNLOAD_LINK, ADD_TO_CALENDAR\n       * Note that a specific client may rely on action id and parameters and ignore the URL or the other way around\n       */\n      actionId?: string;\n      /** Parameters for the actions, will be used by the client implementing the action based on actionId */\n      actionParameters?: Record<string, any> | null;\n  }\n  /** @oneof */\n  interface LineItemActionTextOneOf {\n      /** the key that we use to save the text in the editor settings panel */\n      settingsKey?: string;\n      /** the translated text to display (i.e. will be shown \"as is\") */\n      label?: string;\n  }\n  /** typ example lines */\n  interface GenerateThankYouPageExampleLineItemsRequest {\n  }\n  interface GenerateThankYouPageExampleLineItemsResponse {\n      lineItems?: TYPEditorExampleLineItem[];\n  }\n  interface TYPEditorExampleLineItem {\n      /** Line item name in the language of the Editor User */\n      itemName?: string;\n      /** the example lines to present in the editor - in the language of the Editor User */\n      descriptionLines?: DescriptionLine[];\n      /** name of action in the language of the Editor User // 'Add to calendar'/'Download'... */\n      actionLabel?: string | null;\n      /** indicate to the Thank You Page if to show quantity */\n      hideQuantity?: boolean | null;\n      /**\n       * The unique id of the action\n       * for example: DOWNLOAD_LINK, ADD_TO_CALENDAR\n       */\n      actionId?: string | null;\n  }\n  interface DescriptionLine {\n      /** an optional name for the line */\n      name?: string | null;\n      /** the actual description value - in the language of the Editor User */\n      value?: string;\n  }\n  /** invoice */\n  interface EnrichLineItemsForInvoiceRequest {\n      lineItems: LineItem[];\n  }\n  interface EnrichLineItemsForInvoiceResponse {\n      enrichedLineItems?: EnrichedLineItem[];\n  }\n  interface EnrichedLineItem {\n      /** Line item ID. */\n      _id?: string;\n      /**\n       * Description lines to replace the original\n       * This is optional - If you do not want to override, do not return this and the original description lines will be used\n       * If you do pass it, it overrides the existing description line.\n       * If you want to append, copy the original description lines and add your own\n       */\n      overriddenDescriptionLines?: OverriddenDescriptionLines;\n      /** Option to hide specific sections */\n      renderingConfig?: LineItemRenderingConfig;\n  }\n  /** checkout */\n  interface EnrichLineItemsForCheckoutRequest {\n      lineItems: LineItem[];\n  }\n  interface EnrichLineItemsForCheckoutResponse {\n      enrichedLineItems?: EnrichedLineItem[];\n  }\n  /** cart */\n  interface EnrichLineItemsForCartRequest {\n      lineItems: LineItem[];\n  }\n  interface EnrichLineItemsForCartResponse {\n      enrichedLineItems?: EnrichedLineItem[];\n  }\n  /** order page */\n  interface EnrichLineItemsForOrderPageRequest {\n      lineItems: LineItem[];\n  }\n  interface EnrichLineItemsForOrderPageResponse {\n      enrichedLineItems?: EnrichedLineItem[];\n  }\n  interface LineItemsEnricherConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface EnrichLineItemsForThankYouPageOptions {\n      lineItems: LineItem[];\n  }\n  interface EnrichLineItemsForInvoiceOptions {\n      lineItems: LineItem[];\n  }\n  interface EnrichLineItemsForCheckoutOptions {\n      lineItems: LineItem[];\n  }\n  interface EnrichLineItemsForCartOptions {\n      lineItems: LineItem[];\n  }\n  interface EnrichLineItemsForOrderPageOptions {\n      lineItems: LineItem[];\n  }\n  \n  export { BusinessError, CatalogReference, Color, Context, DescriptionLine, DescriptionLineName, DescriptionLineType, EnrichLineItemsForCartOptions, EnrichLineItemsForCartRequest, EnrichLineItemsForCartResponse, EnrichLineItemsForCheckoutOptions, EnrichLineItemsForCheckoutRequest, EnrichLineItemsForCheckoutResponse, EnrichLineItemsForInvoiceOptions, EnrichLineItemsForInvoiceRequest, EnrichLineItemsForInvoiceResponse, EnrichLineItemsForOrderPageOptions, EnrichLineItemsForOrderPageRequest, EnrichLineItemsForOrderPageResponse, EnrichLineItemsForThankYouPageOptions, EnrichLineItemsForThankYouPageRequest, EnrichLineItemsForThankYouPageResponse, EnrichedLineItem, EnrichedLineItemWithActions, GenerateThankYouPageExampleLineItemsRequest, GenerateThankYouPageExampleLineItemsResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, LineItem, LineItemAction, LineItemActionTextOneOf, LineItemRenderingConfig, LineItemsEnricherConfig, OverriddenDescriptionLines, PlainTextValue, TYPEditorExampleLineItem, V1DescriptionLine, V1DescriptionLineDescriptionLineValueOneOf, V1DescriptionLineValueOneOf };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-site-media-backend.d.ts",
      "content": "declare module \"wix-site-media-backend\" {\n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Folder {\n      /** ID of the folder. Internal name (unique identifier) which is generated when a folder is created by the Media Manager */\n      _id?: string;\n      /** The display name that appears in the Media Manager. */\n      displayName?: string;\n      /** ID of the folder's parent folder */\n      parentFolderId?: string;\n      /** Date the folder was created */\n      _createdDate?: Date;\n      /** Date the folder was updated */\n      _updatedDate?: Date;\n  }\n  interface CreateFolderRequest {\n      /** Folder name */\n      displayName: string;\n      /**\n       * Optional - A folder id\n       * If provided, nest the created folder under this folder\n       * If not this folder will be under the media_root system folder\n       */\n      parentFolderId?: string | null;\n  }\n  interface CreateFolderResponse {\n      /** A folder object containing the newly created folder info */\n      folder?: Folder;\n  }\n  interface GetFolderRequest {\n      /** The folder id to get the information of */\n      folderId: string;\n  }\n  interface GetFolderResponse {\n      /** The information for the requested folder */\n      folder?: Folder;\n  }\n  interface ListFoldersRequest {\n      /** Optional list folders in a specific folder */\n      parentFolderId?: string | null;\n      /**\n       * Optional one of \"displayName\"/\"updatedDate\"\n       * Default updatedDate desc\n       */\n      sort?: Sorting$1;\n      /** Optional current cursor of the request if it exist */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListFoldersResponse {\n      /** The information for the subfolders of the requested folder */\n      folders?: Folder[];\n      /** The next cursor if one exists */\n      nextCursor?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n  }\n  interface UpdateFolderRequest {\n      /** The id of the folder to update */\n      folderId: string;\n      /** Optional - Folder name */\n      displayName?: string | null;\n      /**\n       * Optional - A folder id\n       * If provided, nest the folder under this folder, effectively moving the folder\n       */\n      parentFolderId?: string | null;\n  }\n  interface UpdateFolderResponse {\n      /** A folder object containing the newly updated folder info */\n      folder?: Folder;\n  }\n  interface GenerateFolderDownloadUrlRequest {\n      /** The ID of the folder to download */\n      folderId: string;\n  }\n  interface GenerateFolderDownloadUrlResponse {\n      /** The download URL of the folder */\n      downloadUrl?: string;\n  }\n  interface BulkDeleteFoldersRequest {\n      /** List of folder ids to move to Media Manager's trash */\n      folderIds?: string[];\n  }\n  interface BulkDeleteFoldersResponse {\n  }\n  interface BulkRemoveFoldersFromTrashBinRequest {\n      /** List of folder ids to remove from Media Manager's trash - permanently delete files */\n      folderIds?: string[];\n  }\n  interface BulkRemoveFoldersFromTrashBinResponse {\n  }\n  interface BulkRestoreFoldersFromTrashBinRequest {\n      /** List of folder ids to restore from Media Manager's trash */\n      folderIds?: string[];\n  }\n  interface BulkRestoreFoldersFromTrashBinResponse {\n  }\n  interface ListDeletedFoldersRequest {\n      /** Optional list folders in a specific folder */\n      parentFolderId?: string | null;\n      /**\n       * Optional one of \"displayName\"/\"updatedDate\"\n       * Default updatedDate desc\n       */\n      sort?: Sorting$1;\n      /** Optional current cursor of the request if it exist */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface ListDeletedFoldersResponse {\n      /** List of file info that will be restored */\n      folders?: Folder[];\n      /** The next cursor if one exists */\n      nextCursor?: PagingMetadataV2$1;\n  }\n  /**\n   * Create a new folder\n   * @param displayName - Folder name\n   * @requiredField displayName\n   */\n  function createFolder(displayName: string, options?: CreateFolderOptions): Promise<CreateFolderResponse>;\n  interface CreateFolderOptions {\n      /**\n       * Optional - A folder id\n       * If provided, nest the created folder under this folder\n       * If not this folder will be under the media_root system folder\n       */\n      parentFolderId?: string | null;\n  }\n  /**\n   * Gets the folder's information\n   * @param folderId - The folder id to get the information of\n   * @requiredField folderId\n   */\n  function getFolder(folderId: string): Promise<GetFolderResponse>;\n  /** Return a list of subfolders of the requested folder */\n  function listFolders(options?: ListFoldersOptions): Promise<ListFoldersResponse>;\n  interface ListFoldersOptions {\n      /** Optional list folders in a specific folder */\n      parentFolderId?: string | null;\n      /**\n       * Optional one of \"displayName\"/\"updatedDate\"\n       * Default updatedDate desc\n       */\n      sort?: Sorting$1;\n      /** Optional current cursor of the request if it exist */\n      cursorPaging?: CursorPaging$1;\n  }\n  /**\n   * Update the folder, allowing renaming and moving the folder\n   * @param folderId - The id of the folder to update\n   * @requiredField folderId\n   */\n  function updateFolder(folderId: string, options?: UpdateFolderOptions): Promise<UpdateFolderResponse>;\n  interface UpdateFolderOptions {\n      /** Optional - Folder name */\n      displayName?: string | null;\n      /**\n       * Optional - A folder id\n       * If provided, nest the folder under this folder, effectively moving the folder\n       */\n      parentFolderId?: string | null;\n  }\n  /**\n   * Generates a temporary URL that can be used to download a compressed file containing the requested folder\n   * The compressed file can contain up to 1000 files. Sub-folders are included\n   * The name of the top-level folder requested for download is not included.\n   * @param folderId - The ID of the folder to download\n   * @requiredField folderId\n   */\n  function generateFolderDownloadUrl(folderId: string): Promise<GenerateFolderDownloadUrlResponse>;\n  /**\n   * Move folders listed to Media Manager's trash\n   * Moving many folders to trash at once is an asynchronous action. It may take some time for the results to be seen in the Media Manager.\n   * Attempting to move already-trashed folders to trash again doesn't result in an error.\n   */\n  function bulkDeleteFolders(options?: BulkDeleteFoldersOptions): Promise<void>;\n  interface BulkDeleteFoldersOptions {\n      /** List of folder ids to move to Media Manager's trash */\n      folderIds?: string[];\n  }\n  /**\n   * Permanently deletes a folder from the site media, this action is not reversible\n   * Make sure this folder is not used in a site or in any other way as it will break\n   */\n  function bulkRemoveFoldersFromTrashBin(options?: BulkRemoveFoldersFromTrashBinOptions): Promise<void>;\n  interface BulkRemoveFoldersFromTrashBinOptions {\n      /** List of folder ids to remove from Media Manager's trash - permanently delete files */\n      folderIds?: string[];\n  }\n  /** Restore a folder to its original location in the site media. */\n  function bulkRestoreFoldersFromTrashBin(options?: BulkRestoreFoldersFromTrashBinOptions): Promise<void>;\n  interface BulkRestoreFoldersFromTrashBinOptions {\n      /** List of folder ids to restore from Media Manager's trash */\n      folderIds?: string[];\n  }\n  /** Returns a list of the folder infos of all the deleted folders as directed by the filter. */\n  function listDeletedFolders(options?: ListDeletedFoldersOptions): Promise<ListDeletedFoldersResponse>;\n  interface ListDeletedFoldersOptions {\n      /** Optional list folders in a specific folder */\n      parentFolderId?: string | null;\n      /**\n       * Optional one of \"displayName\"/\"updatedDate\"\n       * Default updatedDate desc\n       */\n      sort?: Sorting$1;\n      /** Optional current cursor of the request if it exist */\n      cursorPaging?: CursorPaging$1;\n  }\n  \n  type mediaSiteMediaV1Folder_universal_d_Folder = Folder;\n  type mediaSiteMediaV1Folder_universal_d_CreateFolderRequest = CreateFolderRequest;\n  type mediaSiteMediaV1Folder_universal_d_CreateFolderResponse = CreateFolderResponse;\n  type mediaSiteMediaV1Folder_universal_d_GetFolderRequest = GetFolderRequest;\n  type mediaSiteMediaV1Folder_universal_d_GetFolderResponse = GetFolderResponse;\n  type mediaSiteMediaV1Folder_universal_d_ListFoldersRequest = ListFoldersRequest;\n  type mediaSiteMediaV1Folder_universal_d_ListFoldersResponse = ListFoldersResponse;\n  type mediaSiteMediaV1Folder_universal_d_UpdateFolderRequest = UpdateFolderRequest;\n  type mediaSiteMediaV1Folder_universal_d_UpdateFolderResponse = UpdateFolderResponse;\n  type mediaSiteMediaV1Folder_universal_d_GenerateFolderDownloadUrlRequest = GenerateFolderDownloadUrlRequest;\n  type mediaSiteMediaV1Folder_universal_d_GenerateFolderDownloadUrlResponse = GenerateFolderDownloadUrlResponse;\n  type mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersRequest = BulkDeleteFoldersRequest;\n  type mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersResponse = BulkDeleteFoldersResponse;\n  type mediaSiteMediaV1Folder_universal_d_BulkRemoveFoldersFromTrashBinRequest = BulkRemoveFoldersFromTrashBinRequest;\n  type mediaSiteMediaV1Folder_universal_d_BulkRemoveFoldersFromTrashBinResponse = BulkRemoveFoldersFromTrashBinResponse;\n  type mediaSiteMediaV1Folder_universal_d_BulkRestoreFoldersFromTrashBinRequest = BulkRestoreFoldersFromTrashBinRequest;\n  type mediaSiteMediaV1Folder_universal_d_BulkRestoreFoldersFromTrashBinResponse = BulkRestoreFoldersFromTrashBinResponse;\n  type mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersRequest = ListDeletedFoldersRequest;\n  type mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersResponse = ListDeletedFoldersResponse;\n  const mediaSiteMediaV1Folder_universal_d_createFolder: typeof createFolder;\n  type mediaSiteMediaV1Folder_universal_d_CreateFolderOptions = CreateFolderOptions;\n  const mediaSiteMediaV1Folder_universal_d_getFolder: typeof getFolder;\n  const mediaSiteMediaV1Folder_universal_d_listFolders: typeof listFolders;\n  type mediaSiteMediaV1Folder_universal_d_ListFoldersOptions = ListFoldersOptions;\n  const mediaSiteMediaV1Folder_universal_d_updateFolder: typeof updateFolder;\n  type mediaSiteMediaV1Folder_universal_d_UpdateFolderOptions = UpdateFolderOptions;\n  const mediaSiteMediaV1Folder_universal_d_generateFolderDownloadUrl: typeof generateFolderDownloadUrl;\n  const mediaSiteMediaV1Folder_universal_d_bulkDeleteFolders: typeof bulkDeleteFolders;\n  type mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersOptions = BulkDeleteFoldersOptions;\n  const mediaSiteMediaV1Folder_universal_d_bulkRemoveFoldersFromTrashBin: typeof bulkRemoveFoldersFromTrashBin;\n  type mediaSiteMediaV1Folder_universal_d_BulkRemoveFoldersFromTrashBinOptions = BulkRemoveFoldersFromTrashBinOptions;\n  const mediaSiteMediaV1Folder_universal_d_bulkRestoreFoldersFromTrashBin: typeof bulkRestoreFoldersFromTrashBin;\n  type mediaSiteMediaV1Folder_universal_d_BulkRestoreFoldersFromTrashBinOptions = BulkRestoreFoldersFromTrashBinOptions;\n  const mediaSiteMediaV1Folder_universal_d_listDeletedFolders: typeof listDeletedFolders;\n  type mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersOptions = ListDeletedFoldersOptions;\n  namespace mediaSiteMediaV1Folder_universal_d {\n    export {\n      __debug$1 as __debug,\n      mediaSiteMediaV1Folder_universal_d_Folder as Folder,\n      mediaSiteMediaV1Folder_universal_d_CreateFolderRequest as CreateFolderRequest,\n      mediaSiteMediaV1Folder_universal_d_CreateFolderResponse as CreateFolderResponse,\n      mediaSiteMediaV1Folder_universal_d_GetFolderRequest as GetFolderRequest,\n      mediaSiteMediaV1Folder_universal_d_GetFolderResponse as GetFolderResponse,\n      mediaSiteMediaV1Folder_universal_d_ListFoldersRequest as ListFoldersRequest,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      mediaSiteMediaV1Folder_universal_d_ListFoldersResponse as ListFoldersResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      mediaSiteMediaV1Folder_universal_d_UpdateFolderRequest as UpdateFolderRequest,\n      mediaSiteMediaV1Folder_universal_d_UpdateFolderResponse as UpdateFolderResponse,\n      mediaSiteMediaV1Folder_universal_d_GenerateFolderDownloadUrlRequest as GenerateFolderDownloadUrlRequest,\n      mediaSiteMediaV1Folder_universal_d_GenerateFolderDownloadUrlResponse as GenerateFolderDownloadUrlResponse,\n      mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersRequest as BulkDeleteFoldersRequest,\n      mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersResponse as BulkDeleteFoldersResponse,\n      mediaSiteMediaV1Folder_universal_d_BulkRemoveFoldersFromTrashBinRequest as BulkRemoveFoldersFromTrashBinRequest,\n      mediaSiteMediaV1Folder_universal_d_BulkRemoveFoldersFromTrashBinResponse as BulkRemoveFoldersFromTrashBinResponse,\n      mediaSiteMediaV1Folder_universal_d_BulkRestoreFoldersFromTrashBinRequest as BulkRestoreFoldersFromTrashBinRequest,\n      mediaSiteMediaV1Folder_universal_d_BulkRestoreFoldersFromTrashBinResponse as BulkRestoreFoldersFromTrashBinResponse,\n      mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersRequest as ListDeletedFoldersRequest,\n      mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersResponse as ListDeletedFoldersResponse,\n      mediaSiteMediaV1Folder_universal_d_createFolder as createFolder,\n      mediaSiteMediaV1Folder_universal_d_CreateFolderOptions as CreateFolderOptions,\n      mediaSiteMediaV1Folder_universal_d_getFolder as getFolder,\n      mediaSiteMediaV1Folder_universal_d_listFolders as listFolders,\n      mediaSiteMediaV1Folder_universal_d_ListFoldersOptions as ListFoldersOptions,\n      mediaSiteMediaV1Folder_universal_d_updateFolder as updateFolder,\n      mediaSiteMediaV1Folder_universal_d_UpdateFolderOptions as UpdateFolderOptions,\n      mediaSiteMediaV1Folder_universal_d_generateFolderDownloadUrl as generateFolderDownloadUrl,\n      mediaSiteMediaV1Folder_universal_d_bulkDeleteFolders as bulkDeleteFolders,\n      mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersOptions as BulkDeleteFoldersOptions,\n      mediaSiteMediaV1Folder_universal_d_bulkRemoveFoldersFromTrashBin as bulkRemoveFoldersFromTrashBin,\n      mediaSiteMediaV1Folder_universal_d_BulkRemoveFoldersFromTrashBinOptions as BulkRemoveFoldersFromTrashBinOptions,\n      mediaSiteMediaV1Folder_universal_d_bulkRestoreFoldersFromTrashBin as bulkRestoreFoldersFromTrashBin,\n      mediaSiteMediaV1Folder_universal_d_BulkRestoreFoldersFromTrashBinOptions as BulkRestoreFoldersFromTrashBinOptions,\n      mediaSiteMediaV1Folder_universal_d_listDeletedFolders as listDeletedFolders,\n      mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersOptions as ListDeletedFoldersOptions,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface FileDescriptor {\n      /** Internal name (unique identifier) which is generated when a file is uploaded by the Media Manager */\n      _id?: string;\n      /** The display name that appears in the Media Manager. (original_file_name in private media api) */\n      displayName?: string;\n      /** URL of the file. */\n      url?: string;\n      /** ID of the file's parent folder */\n      parentFolderId?: string | null;\n      /** File hash. */\n      hash?: string;\n      /**\n       * Size of the uploaded file in bytes\n       * @internal\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Whether the link to the uploaded file is public or private. Private links require a token to be used\n       * @readonly\n       */\n      private?: boolean;\n      /** Type of the file that was uploaded. */\n      mediaType?: MediaType;\n      /** The content of the file */\n      media?: FileMedia;\n      /** Status of the file that was uploaded */\n      operationStatus?: OperationStatus;\n      /** URL where the file was uploaded from */\n      sourceUrl?: string | null;\n      /** URL of the file's icon */\n      thumbnailUrl?: string | null;\n      /** A list of terms that describe the media item, generated by an artificial intelligence service or provided by user. */\n      labels?: string[];\n      /** Date the file was created */\n      _createdDate?: Date;\n      /** Date the file was updated */\n      _updatedDate?: Date;\n      /** The site id where the file is stored */\n      siteId?: string;\n  }\n  enum MediaType {\n      UNKNOWN = \"UNKNOWN\",\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      AUDIO = \"AUDIO\",\n      DOCUMENT = \"DOCUMENT\",\n      VECTOR = \"VECTOR\"\n  }\n  interface FileMedia extends FileMediaMediaOneOf {\n      /** Image media information */\n      image?: ImageMedia;\n      /** video media information */\n      video?: string;\n      /** Audio media information */\n      audio?: AudioV2;\n      /** Document media information */\n      document?: string;\n      /** Vector media information */\n      vector?: ImageMedia;\n  }\n  /** @oneof */\n  interface FileMediaMediaOneOf {\n      /** Image media information */\n      image?: ImageMedia;\n      /** video media information */\n      video?: string;\n      /** Audio media information */\n      audio?: AudioV2;\n      /** Document media information */\n      document?: string;\n      /** Vector media information */\n      vector?: ImageMedia;\n  }\n  interface ImageMedia {\n      /** Image media information */\n      image?: string;\n      /** A representation of the colors in the image, Optional */\n      colors?: Colors;\n      /**\n       * An array with information about faces in the image\n       * Use to crop images without cutting faces\n       * Optional\n       */\n      faces?: FaceRecognition[];\n      /**\n       * Image media information for a preview of the original image\n       * Use this to display a preview for private images\n       * Optional\n       */\n      previewImage?: string;\n  }\n  interface Colors {\n      /** Main prominent color */\n      prominent?: Color;\n      /** Color palette */\n      palette?: Color[];\n  }\n  interface Color {\n      /** HEX color */\n      hex?: string | null;\n      /** RGB color */\n      rgb?: ColorRGB;\n  }\n  interface ColorRGB {\n      /** Red channel */\n      r?: number | null;\n      /** Green channel */\n      g?: number | null;\n      /** Blue channel */\n      b?: number | null;\n  }\n  /**\n   * Using this object you can crop images while centering on faces\n   * ------------------------\n   * |                      |\n   * |    x,y               |\n   * |    *--------         |\n   * |    |  .  . |         |\n   * |    |   |   | height  |\n   * |    |  \\ /  |         |\n   * |    |       |         |\n   * |    ---------         |\n   * |     width            |\n   * |                      |\n   * |______________________|\n   */\n  interface FaceRecognition {\n      /** The accuracy percentage of the face recognition - The likelihood that a face was detected */\n      confidence?: number;\n      /** Top left x pixel coordinate of the face */\n      x?: number;\n      /** Top left y pixel coordinate of the face */\n      y?: number;\n      /** The pixel height of the face */\n      height?: number;\n      /** The pixel width of the face */\n      width?: number;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       */\n      urlExpirationDate?: Date;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       */\n      durationInSeconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface AudioV2 {\n      /** WixMedia ID. */\n      _id?: string;\n      /** Audio formats available for this file. */\n      assets?: string[];\n      /**\n       * Audio bitrate. Optional.\n       * @internal\n       * @readonly\n       */\n      bitrate?: number | null;\n      /**\n       * Audio format. Optional.\n       * @internal\n       * @readonly\n       */\n      format?: string | null;\n      /**\n       * Audio duration in seconds. Optional.\n       * @internal\n       * @readonly\n       */\n      duration?: number | null;\n      /**\n       * Audio size in bytes. Optional.\n       * @internal\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n  }\n  enum OperationStatus {\n      /** File upload or processing failed */\n      FAILED = \"FAILED\",\n      /** File is ready for consumption */\n      READY = \"READY\",\n      /** File is waiting for processing or currently being processed */\n      PENDING = \"PENDING\"\n  }\n  interface FileReady {\n  }\n  interface FileFailed {\n  }\n  interface GenerateFilesDownloadUrlRequest {\n      /** A list of file urls to download */\n      fileIds?: string[];\n  }\n  interface GenerateFilesDownloadUrlResponse {\n      /** The download URL for the file(s) */\n      downloadUrl?: string;\n  }\n  interface GenerateFileDownloadUrlRequest {\n      /** Internal name (unique identifier) which is generated when a file is uploaded by the Media Manager */\n      fileId: string;\n      /** The downloaded file's name. Defaults to the file's name displayed in the Media Manager */\n      downloadFileName?: string | null;\n      /** The time (in minutes) it takes for the download URL to expire. Defaults to 600. Limit is 525600 (1 year). */\n      expirationInMinutes?: number | null;\n      /** The redirect URL for when the download URL with a token has expired. Defaults to a 403 Forbidden response page. */\n      expirationRedirectUrl?: string | null;\n      /**\n       * Optional Asset key\n       * The asset key is used to download a specific asset of the file\n       * A special asset key called `src` is used as a default, and describe the original file\n       */\n      assetKeys?: string[] | null;\n  }\n  interface GenerateFileDownloadUrlResponse {\n      /** A list containing requested download formats of the file */\n      downloadUrls?: DownloadUrl[];\n  }\n  interface DownloadUrl {\n      /** The download URL for the file */\n      url?: string;\n      /** The asset key of the file that this url points to, `src` is the original asset */\n      assetKey?: string;\n  }\n  interface GetFileDescriptorRequest {\n      /** Internal name (unique identifier) which is generated when a file is uploaded by the Media Manager */\n      fileId: string;\n  }\n  interface GetFileDescriptorResponse {\n      /** The information of the file */\n      file?: FileDescriptor;\n  }\n  interface UpdateFileRequest {\n      /** The id of the file to update */\n      fileId: string;\n      /** Optional - New file name */\n      displayName?: string | null;\n      /**\n       * Optional - A folder id\n       * If provided, nest the file under this folder, effectively moving the file\n       */\n      parentFolderId?: string | null;\n      /**\n       * Optional - A list of terms that describe the media item.\n       * The labels of the item will be replaced with the value provided here\n       */\n      labels?: string[] | null;\n  }\n  interface UpdateFileResponse {\n      /** A file object containing the newly updated file info */\n      file?: FileDescriptor;\n  }\n  interface GenerateFileUploadUrlRequest {\n      /** The mime type of the file that will be uploaded */\n      mimeType: string | null;\n      /**\n       * Optional - The current file name used to identify the file type\n       * The actual display name will get taken from the upload request\n       */\n      fileName?: string | null;\n      /** Size of the uploaded file in bytes */\n      sizeInBytes?: string | null;\n      /**\n       * Optional - A folder id\n       * If provided, nest the file under this folder\n       */\n      parentFolderId?: string | null;\n      /**\n       * Optional - if set to true, make the file private\n       * See `Private Files` in terminology\n       */\n      private?: boolean | null;\n      /** Optional - a list of file labels */\n      labels?: string[] | null;\n  }\n  interface GenerateFileUploadUrlResponse {\n      /** The single use upload url */\n      uploadUrl?: string;\n  }\n  interface GenerateFileResumableUploadUrlRequest {\n      /** The mime type of the file that will be uploaded */\n      mimeType: string | null;\n      /** Optional -The display name that appears in the Media Manager. */\n      fileName?: string | null;\n      /** Size of the uploaded file in bytes */\n      sizeInBytes?: string | null;\n      /**\n       * Optional - A folder id\n       * If provided, nest the file under this folder\n       */\n      parentFolderId?: string | null;\n      /**\n       * Optional - if set to true, make the file private\n       * See `Private Files` in terminology\n       */\n      private?: boolean | null;\n      /**\n       * Optional - A list of terms that describe the media item.\n       * The labels of the item will be replaced with the value provided here\n       */\n      labels?: string[] | null;\n      /**\n       * Optional - default to TUS\n       * The upload protocol that should be used when interacting with the resumable upload url that will be returned\n       */\n      uploadProtocol?: UploadProtocol;\n  }\n  enum UploadProtocol {\n      /** Use upload protocol */\n      TUS = \"TUS\"\n  }\n  interface GenerateFileResumableUploadUrlResponse {\n      /** The upload protocol that should be used when interacting with the url in the response */\n      uploadProtocol?: UploadProtocol;\n      /** The single use upload url */\n      uploadUrl?: string;\n      /** The single use upload token */\n      uploadToken?: string;\n  }\n  interface ImportFileRequest {\n      /** A publicly accessible url of the file to be imported */\n      url: string;\n      /** Optional -The display name that appears in the Media Manager. */\n      displayName?: string | null;\n      /**\n       * Optional - A folder id\n       * If provided, nest the file under this folder\n       */\n      parentFolderId?: string | null;\n      /**\n       * Optional - if set to true, make the file private\n       * See `Private Files` in terminology\n       */\n      private?: boolean | null;\n      /**\n       * Optional - A list of terms that describe the media item.\n       * The labels of the item will be replaced with the value provided here\n       */\n      labels?: string[] | null;\n      /** The mime type of the file that will be imported */\n      mimeType?: string;\n  }\n  interface ImportFileResponse {\n      /**\n       * A file object containing initial details on the file that will be imported\n       * This object will not contain the \"media\" property of the File object\n       */\n      file?: FileDescriptor;\n  }\n  interface BulkImportFilesRequest {\n      /** A list of import requests */\n      importFileRequests?: ImportFileRequest[];\n  }\n  interface BulkImportFilesResponse {\n      /**\n       * A list of file objects containing initial details on the files that will be imported\n       * Each object will not contain the \"media\" property of the File object\n       */\n      files?: FileDescriptor[];\n  }\n  interface ListFilesRequest {\n      /** Optional list files in a specific folder */\n      parentFolderId?: string | null;\n      /** Optional list of media types */\n      mediaTypes?: MediaType[];\n      /** Optional list only private or non-private files */\n      private?: boolean | null;\n      /**\n       * Optional one of \"displayName\"/\"updatedDate\"\n       * Default updatedDate desc\n       */\n      sort?: Sorting;\n      /** Optional current cursor of the request if it exist */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListFilesResponse {\n      /** The information for the files matching the query */\n      files?: FileDescriptor[];\n      /** The next cursor if one exists */\n      nextCursor?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n  }\n  interface GenerateVideoStreamingUrlRequest {\n      /** Internal name (unique identifier) which is generated when a file is uploaded by the Media Manager */\n      fileId: string;\n      /** The information for the files matching the query */\n      format?: StreamFormat;\n  }\n  enum StreamFormat {\n      UNKNOWN = \"UNKNOWN\",\n      HLS = \"HLS\",\n      DASH = \"DASH\"\n  }\n  interface GenerateVideoStreamingUrlResponse {\n      /** A url for the requested streaming format */\n      downloadUrl?: DownloadUrl;\n  }\n  interface GenerateWebSocketTokenRequest {\n  }\n  interface GenerateWebSocketTokenResponse {\n      /** The web socket token for the identity in the request */\n      token?: string;\n  }\n  interface BulkDeleteFilesRequest {\n      /** List of file urls to move to Media Manager's trash */\n      fileIds?: string[];\n  }\n  interface BulkDeleteFilesResponse {\n  }\n  interface BulkRemoveFilesFromTrashBinRequest {\n      /** List of file ids to remove from Media Manager's trash - permanently delete files */\n      fileIds?: string[];\n  }\n  interface BulkRemoveFilesFromTrashBinResponse {\n  }\n  interface BulkRestoreFilesFromTrashBinRequest {\n      /** List of file ids to restore from Media Manager's trash */\n      fileIds?: string[];\n  }\n  interface BulkRestoreFilesFromTrashBinResponse {\n  }\n  interface ListDeletedFilesRequest {\n      /** Optional list files in a specific folder */\n      parentFolderId?: string | null;\n      /** Optional list of media types */\n      mediaTypes?: MediaType[];\n      /** Optional list only private or non-private files */\n      private?: boolean | null;\n      /**\n       * Optional one of \"displayName\"/\"updatedDate\"\n       * Default updatedDate desc\n       */\n      sort?: Sorting;\n      /** Optional current cursor of the request if it exist */\n      cursorPaging?: CursorPaging;\n  }\n  interface ListDeletedFilesResponse {\n      /** List of file info that will be restored */\n      files?: FileDescriptor[];\n      /** The next cursor if one exists */\n      nextCursor?: PagingMetadataV2;\n  }\n  /**\n   * Returns a download URL for downloading a compressed file containing all the requested files.\n   * The compressed file can contain up to 1000 files\n   */\n  function generateFilesDownloadUrl(options?: GenerateFilesDownloadUrlOptions): Promise<GenerateFilesDownloadUrlResponse>;\n  interface GenerateFilesDownloadUrlOptions {\n      /** A list of file urls to download */\n      fileIds?: string[];\n  }\n  /**\n   * Gets a download URL that includes a temporary token from the Media Manager for a specified file\n   * Use this to grant access to a private file, or to provide a redirect url after the token expiration\n   * @param fileId - Internal name (unique identifier) which is generated when a file is uploaded by the Media Manager\n   * @requiredField fileId\n   */\n  function generateFileDownloadUrl(fileId: string, options?: GenerateFileDownloadUrlOptions): Promise<GenerateFileDownloadUrlResponse>;\n  interface GenerateFileDownloadUrlOptions {\n      /** The downloaded file's name. Defaults to the file's name displayed in the Media Manager */\n      downloadFileName?: string | null;\n      /** The time (in minutes) it takes for the download URL to expire. Defaults to 600. Limit is 525600 (1 year). */\n      expirationInMinutes?: number | null;\n      /** The redirect URL for when the download URL with a token has expired. Defaults to a 403 Forbidden response page. */\n      expirationRedirectUrl?: string | null;\n      /**\n       * Optional Asset key\n       * The asset key is used to download a specific asset of the file\n       * A special asset key called `src` is used as a default, and describe the original file\n       */\n      assetKeys?: string[] | null;\n  }\n  /**\n   * Gets a file's information from the Media Manager\n   * @param fileId - Internal name (unique identifier) which is generated when a file is uploaded by the Media Manager\n   * @requiredField fileId\n   */\n  function getFileDescriptor(fileId: string): Promise<GetFileDescriptorResponse>;\n  /**\n   * Update the file, allowing renaming and moving the file\n   * @param fileId - The id of the file to update\n   * @requiredField fileId\n   */\n  function updateFile(fileId: string, options?: UpdateFileOptions): Promise<UpdateFileResponse>;\n  interface UpdateFileOptions {\n      /** Optional - New file name */\n      displayName?: string | null;\n      /**\n       * Optional - A folder id\n       * If provided, nest the file under this folder, effectively moving the file\n       */\n      parentFolderId?: string | null;\n      /**\n       * Optional - A list of terms that describe the media item.\n       * The labels of the item will be replaced with the value provided here\n       */\n      labels?: string[] | null;\n  }\n  /**\n   * Returns an upload URL to allow an external client to upload a single file to the site's Media\n   * @param mimeType - The mime type of the file that will be uploaded\n   * @requiredField mimeType\n   */\n  function generateFileUploadUrl(mimeType: string | null, options?: GenerateFileUploadUrlOptions): Promise<GenerateFileUploadUrlResponse>;\n  interface GenerateFileUploadUrlOptions {\n      /**\n       * Optional - The current file name used to identify the file type\n       * The actual display name will get taken from the upload request\n       */\n      fileName?: string | null;\n      /** Size of the uploaded file in bytes */\n      sizeInBytes?: string | null;\n      /**\n       * Optional - A folder id\n       * If provided, nest the file under this folder\n       */\n      parentFolderId?: string | null;\n      /**\n       * Optional - if set to true, make the file private\n       * See `Private Files` in terminology\n       */\n      private?: boolean | null;\n      /** Optional - a list of file labels */\n      labels?: string[] | null;\n  }\n  /**\n   * Returns an resumable upload URL to allow an external client to upload a single file to the site's Media\n   * Resumable upload is recommended for files larger then 10MB or when network connection is poor\n   * Wix supports TUS protocol - https://tus.io/\n   * This protocol has implementations in multiple languages that can be used to manage the resumable upload processza\n   * @param mimeType - The mime type of the file that will be uploaded\n   * @requiredField mimeType\n   */\n  function generateFileResumableUploadUrl(mimeType: string | null, options?: GenerateFileResumableUploadUrlOptions): Promise<GenerateFileResumableUploadUrlResponse>;\n  interface GenerateFileResumableUploadUrlOptions {\n      /** Optional -The display name that appears in the Media Manager. */\n      fileName?: string | null;\n      /** Size of the uploaded file in bytes */\n      sizeInBytes?: string | null;\n      /**\n       * Optional - A folder id\n       * If provided, nest the file under this folder\n       */\n      parentFolderId?: string | null;\n      /**\n       * Optional - if set to true, make the file private\n       * See `Private Files` in terminology\n       */\n      private?: boolean | null;\n      /**\n       * Optional - A list of terms that describe the media item.\n       * The labels of the item will be replaced with the value provided here\n       */\n      labels?: string[] | null;\n      /**\n       * Optional - default to TUS\n       * The upload protocol that should be used when interacting with the resumable upload url that will be returned\n       */\n      uploadProtocol?: UploadProtocol;\n  }\n  /**\n   * Returns partial file info of the file that will be imported\n   * @param url - A publicly accessible url of the file to be imported\n   * @requiredField url\n   */\n  function importFile(url: string, options?: ImportFileOptions): Promise<ImportFileResponse>;\n  interface ImportFileOptions {\n      /** Optional -The display name that appears in the Media Manager. */\n      displayName?: string | null;\n      /**\n       * Optional - A folder id\n       * If provided, nest the file under this folder\n       */\n      parentFolderId?: string | null;\n      /**\n       * Optional - if set to true, make the file private\n       * See `Private Files` in terminology\n       */\n      private?: boolean | null;\n      /**\n       * Optional - A list of terms that describe the media item.\n       * The labels of the item will be replaced with the value provided here\n       */\n      labels?: string[] | null;\n      /** The mime type of the file that will be imported */\n      mimeType?: string;\n  }\n  /** Bulk import files from external URLs, returns partial file info of the file that will be imported */\n  function bulkImportFiles(options?: BulkImportFilesOptions): Promise<BulkImportFilesResponse>;\n  interface BulkImportFilesOptions {\n      /** A list of import requests */\n      importFileRequests?: ImportFileRequest[];\n  }\n  /** Return a list of files matching the query */\n  function listFiles(options?: ListFilesOptions): Promise<ListFilesResponse>;\n  interface ListFilesOptions {\n      /** Optional list files in a specific folder */\n      parentFolderId?: string | null;\n      /** Optional list of media types */\n      mediaTypes?: MediaType[];\n      /** Optional list only private or non-private files */\n      private?: boolean | null;\n      /**\n       * Optional one of \"displayName\"/\"updatedDate\"\n       * Default updatedDate desc\n       */\n      sort?: Sorting;\n      /** Optional current cursor of the request if it exist */\n      cursorPaging?: CursorPaging;\n  }\n  /**\n   * Return a url info object containing the stream url\n   * @param fileId - Internal name (unique identifier) which is generated when a file is uploaded by the Media Manager\n   * @requiredField fileId\n   */\n  function generateVideoStreamingUrl(fileId: string, options?: GenerateVideoStreamingUrlOptions): Promise<GenerateVideoStreamingUrlResponse>;\n  interface GenerateVideoStreamingUrlOptions {\n      /** The information for the files matching the query */\n      format?: StreamFormat;\n  }\n  /**\n   * Return a token for a direct web socket notification channel\n   * This API is not platformized (Contact the Media team for use instructions)\n   * This API should be internal only\n   */\n  function generateWebSocketToken(): Promise<GenerateWebSocketTokenResponse>;\n  /**\n   * Move files listed to Media Manager's trash\n   * Moving many files to trash at once is an asynchronous action. It may take some time for the results to be seen in the Media Manager.\n   * Attempting to move already-trashed files to trash again doesn't result in an error.\n   */\n  function bulkDeleteFiles(options?: BulkDeleteFilesOptions): Promise<void>;\n  interface BulkDeleteFilesOptions {\n      /** List of file urls to move to Media Manager's trash */\n      fileIds?: string[];\n  }\n  /**\n   * Permanently deletes a file from the site media, this action is not reversible\n   * Make sure this file is not used in a site or in any other way as it will break\n   */\n  function bulkRemoveFilesFromTrashBin(options?: BulkRemoveFilesFromTrashBinOptions): Promise<void>;\n  interface BulkRemoveFilesFromTrashBinOptions {\n      /** List of file ids to remove from Media Manager's trash - permanently delete files */\n      fileIds?: string[];\n  }\n  /** Restore a file to its original location in the site media. */\n  function bulkRestoreFilesFromTrashBin(options?: BulkRestoreFilesFromTrashBinOptions): Promise<void>;\n  interface BulkRestoreFilesFromTrashBinOptions {\n      /** List of file ids to restore from Media Manager's trash */\n      fileIds?: string[];\n  }\n  /** Returns a list of the file infos of all the deleted files as directed by the filter. */\n  function listDeletedFiles(options?: ListDeletedFilesOptions): Promise<ListDeletedFilesResponse>;\n  interface ListDeletedFilesOptions {\n      /** Optional list files in a specific folder */\n      parentFolderId?: string | null;\n      /** Optional list of media types */\n      mediaTypes?: MediaType[];\n      /** Optional list only private or non-private files */\n      private?: boolean | null;\n      /**\n       * Optional one of \"displayName\"/\"updatedDate\"\n       * Default updatedDate desc\n       */\n      sort?: Sorting;\n      /** Optional current cursor of the request if it exist */\n      cursorPaging?: CursorPaging;\n  }\n  \n  const mediaSiteMediaV1FileDescriptor_universal_d___debug: typeof __debug;\n  type mediaSiteMediaV1FileDescriptor_universal_d_FileDescriptor = FileDescriptor;\n  type mediaSiteMediaV1FileDescriptor_universal_d_MediaType = MediaType;\n  const mediaSiteMediaV1FileDescriptor_universal_d_MediaType: typeof MediaType;\n  type mediaSiteMediaV1FileDescriptor_universal_d_FileMedia = FileMedia;\n  type mediaSiteMediaV1FileDescriptor_universal_d_FileMediaMediaOneOf = FileMediaMediaOneOf;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ImageMedia = ImageMedia;\n  type mediaSiteMediaV1FileDescriptor_universal_d_Colors = Colors;\n  type mediaSiteMediaV1FileDescriptor_universal_d_Color = Color;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ColorRGB = ColorRGB;\n  type mediaSiteMediaV1FileDescriptor_universal_d_FaceRecognition = FaceRecognition;\n  type mediaSiteMediaV1FileDescriptor_universal_d_VideoResolution = VideoResolution;\n  type mediaSiteMediaV1FileDescriptor_universal_d_AudioV2 = AudioV2;\n  type mediaSiteMediaV1FileDescriptor_universal_d_OperationStatus = OperationStatus;\n  const mediaSiteMediaV1FileDescriptor_universal_d_OperationStatus: typeof OperationStatus;\n  type mediaSiteMediaV1FileDescriptor_universal_d_FileReady = FileReady;\n  type mediaSiteMediaV1FileDescriptor_universal_d_FileFailed = FileFailed;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFilesDownloadUrlRequest = GenerateFilesDownloadUrlRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFilesDownloadUrlResponse = GenerateFilesDownloadUrlResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlRequest = GenerateFileDownloadUrlRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlResponse = GenerateFileDownloadUrlResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_DownloadUrl = DownloadUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorRequest = GetFileDescriptorRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorResponse = GetFileDescriptorResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileRequest = UpdateFileRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileResponse = UpdateFileResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlRequest = GenerateFileUploadUrlRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlResponse = GenerateFileUploadUrlResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlRequest = GenerateFileResumableUploadUrlRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UploadProtocol = UploadProtocol;\n  const mediaSiteMediaV1FileDescriptor_universal_d_UploadProtocol: typeof UploadProtocol;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlResponse = GenerateFileResumableUploadUrlResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ImportFileRequest = ImportFileRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ImportFileResponse = ImportFileResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFilesRequest = BulkImportFilesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFilesResponse = BulkImportFilesResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListFilesRequest = ListFilesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_Sorting = Sorting;\n  type mediaSiteMediaV1FileDescriptor_universal_d_SortOrder = SortOrder;\n  const mediaSiteMediaV1FileDescriptor_universal_d_SortOrder: typeof SortOrder;\n  type mediaSiteMediaV1FileDescriptor_universal_d_CursorPaging = CursorPaging;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListFilesResponse = ListFilesResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type mediaSiteMediaV1FileDescriptor_universal_d_Cursors = Cursors;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlRequest = GenerateVideoStreamingUrlRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_StreamFormat = StreamFormat;\n  const mediaSiteMediaV1FileDescriptor_universal_d_StreamFormat: typeof StreamFormat;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlResponse = GenerateVideoStreamingUrlResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateWebSocketTokenRequest = GenerateWebSocketTokenRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateWebSocketTokenResponse = GenerateWebSocketTokenResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesRequest = BulkDeleteFilesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesResponse = BulkDeleteFilesResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkRemoveFilesFromTrashBinRequest = BulkRemoveFilesFromTrashBinRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkRemoveFilesFromTrashBinResponse = BulkRemoveFilesFromTrashBinResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkRestoreFilesFromTrashBinRequest = BulkRestoreFilesFromTrashBinRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkRestoreFilesFromTrashBinResponse = BulkRestoreFilesFromTrashBinResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesRequest = ListDeletedFilesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesResponse = ListDeletedFilesResponse;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateFilesDownloadUrl: typeof generateFilesDownloadUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFilesDownloadUrlOptions = GenerateFilesDownloadUrlOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateFileDownloadUrl: typeof generateFileDownloadUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlOptions = GenerateFileDownloadUrlOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_getFileDescriptor: typeof getFileDescriptor;\n  const mediaSiteMediaV1FileDescriptor_universal_d_updateFile: typeof updateFile;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileOptions = UpdateFileOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateFileUploadUrl: typeof generateFileUploadUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlOptions = GenerateFileUploadUrlOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateFileResumableUploadUrl: typeof generateFileResumableUploadUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlOptions = GenerateFileResumableUploadUrlOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_importFile: typeof importFile;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ImportFileOptions = ImportFileOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_bulkImportFiles: typeof bulkImportFiles;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFilesOptions = BulkImportFilesOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_listFiles: typeof listFiles;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListFilesOptions = ListFilesOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateVideoStreamingUrl: typeof generateVideoStreamingUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlOptions = GenerateVideoStreamingUrlOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateWebSocketToken: typeof generateWebSocketToken;\n  const mediaSiteMediaV1FileDescriptor_universal_d_bulkDeleteFiles: typeof bulkDeleteFiles;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesOptions = BulkDeleteFilesOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_bulkRemoveFilesFromTrashBin: typeof bulkRemoveFilesFromTrashBin;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkRemoveFilesFromTrashBinOptions = BulkRemoveFilesFromTrashBinOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_bulkRestoreFilesFromTrashBin: typeof bulkRestoreFilesFromTrashBin;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkRestoreFilesFromTrashBinOptions = BulkRestoreFilesFromTrashBinOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_listDeletedFiles: typeof listDeletedFiles;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesOptions = ListDeletedFilesOptions;\n  namespace mediaSiteMediaV1FileDescriptor_universal_d {\n    export {\n      mediaSiteMediaV1FileDescriptor_universal_d___debug as __debug,\n      mediaSiteMediaV1FileDescriptor_universal_d_FileDescriptor as FileDescriptor,\n      mediaSiteMediaV1FileDescriptor_universal_d_MediaType as MediaType,\n      mediaSiteMediaV1FileDescriptor_universal_d_FileMedia as FileMedia,\n      mediaSiteMediaV1FileDescriptor_universal_d_FileMediaMediaOneOf as FileMediaMediaOneOf,\n      mediaSiteMediaV1FileDescriptor_universal_d_ImageMedia as ImageMedia,\n      mediaSiteMediaV1FileDescriptor_universal_d_Colors as Colors,\n      mediaSiteMediaV1FileDescriptor_universal_d_Color as Color,\n      mediaSiteMediaV1FileDescriptor_universal_d_ColorRGB as ColorRGB,\n      mediaSiteMediaV1FileDescriptor_universal_d_FaceRecognition as FaceRecognition,\n      mediaSiteMediaV1FileDescriptor_universal_d_VideoResolution as VideoResolution,\n      mediaSiteMediaV1FileDescriptor_universal_d_AudioV2 as AudioV2,\n      mediaSiteMediaV1FileDescriptor_universal_d_OperationStatus as OperationStatus,\n      mediaSiteMediaV1FileDescriptor_universal_d_FileReady as FileReady,\n      mediaSiteMediaV1FileDescriptor_universal_d_FileFailed as FileFailed,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFilesDownloadUrlRequest as GenerateFilesDownloadUrlRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFilesDownloadUrlResponse as GenerateFilesDownloadUrlResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlRequest as GenerateFileDownloadUrlRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlResponse as GenerateFileDownloadUrlResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_DownloadUrl as DownloadUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorRequest as GetFileDescriptorRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorResponse as GetFileDescriptorResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileRequest as UpdateFileRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileResponse as UpdateFileResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlRequest as GenerateFileUploadUrlRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlResponse as GenerateFileUploadUrlResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlRequest as GenerateFileResumableUploadUrlRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_UploadProtocol as UploadProtocol,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlResponse as GenerateFileResumableUploadUrlResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_ImportFileRequest as ImportFileRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_ImportFileResponse as ImportFileResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFilesRequest as BulkImportFilesRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFilesResponse as BulkImportFilesResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListFilesRequest as ListFilesRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_Sorting as Sorting,\n      mediaSiteMediaV1FileDescriptor_universal_d_SortOrder as SortOrder,\n      mediaSiteMediaV1FileDescriptor_universal_d_CursorPaging as CursorPaging,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListFilesResponse as ListFilesResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      mediaSiteMediaV1FileDescriptor_universal_d_Cursors as Cursors,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlRequest as GenerateVideoStreamingUrlRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_StreamFormat as StreamFormat,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlResponse as GenerateVideoStreamingUrlResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateWebSocketTokenRequest as GenerateWebSocketTokenRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateWebSocketTokenResponse as GenerateWebSocketTokenResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesRequest as BulkDeleteFilesRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesResponse as BulkDeleteFilesResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkRemoveFilesFromTrashBinRequest as BulkRemoveFilesFromTrashBinRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkRemoveFilesFromTrashBinResponse as BulkRemoveFilesFromTrashBinResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkRestoreFilesFromTrashBinRequest as BulkRestoreFilesFromTrashBinRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkRestoreFilesFromTrashBinResponse as BulkRestoreFilesFromTrashBinResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesRequest as ListDeletedFilesRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesResponse as ListDeletedFilesResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateFilesDownloadUrl as generateFilesDownloadUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFilesDownloadUrlOptions as GenerateFilesDownloadUrlOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateFileDownloadUrl as generateFileDownloadUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlOptions as GenerateFileDownloadUrlOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_getFileDescriptor as getFileDescriptor,\n      mediaSiteMediaV1FileDescriptor_universal_d_updateFile as updateFile,\n      mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileOptions as UpdateFileOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateFileUploadUrl as generateFileUploadUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlOptions as GenerateFileUploadUrlOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateFileResumableUploadUrl as generateFileResumableUploadUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlOptions as GenerateFileResumableUploadUrlOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_importFile as importFile,\n      mediaSiteMediaV1FileDescriptor_universal_d_ImportFileOptions as ImportFileOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_bulkImportFiles as bulkImportFiles,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFilesOptions as BulkImportFilesOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_listFiles as listFiles,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListFilesOptions as ListFilesOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateVideoStreamingUrl as generateVideoStreamingUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlOptions as GenerateVideoStreamingUrlOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateWebSocketToken as generateWebSocketToken,\n      mediaSiteMediaV1FileDescriptor_universal_d_bulkDeleteFiles as bulkDeleteFiles,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesOptions as BulkDeleteFilesOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_bulkRemoveFilesFromTrashBin as bulkRemoveFilesFromTrashBin,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkRemoveFilesFromTrashBinOptions as BulkRemoveFilesFromTrashBinOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_bulkRestoreFilesFromTrashBin as bulkRestoreFilesFromTrashBin,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkRestoreFilesFromTrashBinOptions as BulkRestoreFilesFromTrashBinOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_listDeletedFiles as listDeletedFiles,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesOptions as ListDeletedFilesOptions,\n    };\n  }\n  \n  export { mediaSiteMediaV1FileDescriptor_universal_d as files, mediaSiteMediaV1Folder_universal_d as folders };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-coreservices-v1-coupons-provider.d.ts",
      "content": "declare module \"interfaces-coreservices-v1-coupons-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface CouponsProvider {\n  }\n  interface CalculateCartRequest {\n      /** The id of the cart */\n      cardId?: string;\n      /** The number of items in th cart */\n      numberOfItems?: number;\n      /** just a field */\n      someonesName?: string;\n      /** the time of the cart */\n      someTime?: Date | null;\n      complexMessage?: ComplexMessage;\n  }\n  interface ComplexMessage {\n      a?: string;\n      b?: string;\n      anAddress?: Address;\n      anImage?: string;\n      deepMessage?: DeepMessage;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  interface DeepMessage {\n      a?: string;\n  }\n  interface CalculateCartResponse {\n      /** The id of the cart */\n      cardId?: string;\n      /** The number of items in th cart */\n      numberOfItems?: number;\n      /** just a field */\n      someonesName?: string;\n      /** the time of the cart */\n      someTime?: Date | null;\n      complexMessage?: ComplexMessage;\n  }\n  interface TypeNotSupportedError {\n      /** The received type that is not supported by the service */\n      type?: string;\n  }\n  interface ReserveCouponRequest {\n  }\n  interface ReserveCouponResponse {\n  }\n  interface RedeemCouponRequest {\n  }\n  interface RedeemCouponResponse {\n  }\n  interface ExtendCouponRequest {\n  }\n  interface ExtendCouponResponse {\n  }\n  interface CouponsProviderConfig {\n      /** specific field related to this SPI */\n      supportedCouponTypes?: string[];\n      /** feature toggle initialized with default value = false. should be true if implemented by spi provider */\n      toggleExtendCouponEnabled?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CalculateCartOptions {\n      /** The id of the cart */\n      cardId?: string;\n      /** The number of items in th cart */\n      numberOfItems?: number;\n      /** just a field */\n      someonesName?: string;\n      /** the time of the cart */\n      someTime?: Date | null;\n      complexMessage?: ComplexMessage;\n  }\n  \n  function couponNotSupportedError(data: TypeNotSupportedError): BusinessError<TypeNotSupportedError>;\n  \n  const calculateCartSpiErrors_d_couponNotSupportedError: typeof couponNotSupportedError;\n  namespace calculateCartSpiErrors_d {\n    export {\n      calculateCartSpiErrors_d_couponNotSupportedError as couponNotSupportedError,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      calculateCartSpiErrors_d as calculateCart,\n    };\n  }\n  \n  export { Address, AddressLocation, AddressStreetOneOf, BusinessError, CalculateCartOptions, CalculateCartRequest, CalculateCartResponse, ComplexMessage, Context, CouponsProvider, CouponsProviderConfig, DeepMessage, ExtendCouponRequest, ExtendCouponResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, RedeemCouponRequest, RedeemCouponResponse, ReserveCouponRequest, ReserveCouponResponse, StandardDetails, StreetAddress, Subdivision, SubdivisionType, TypeNotSupportedError, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-forms-backend.d.ts",
      "content": "declare module \"wix-forms-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface FormSubmission {\n      /**\n       * Submission id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Id of a form to which submission belongs. */\n      formId?: string;\n      /**\n       * Form namespace to which submissions belong.\n       * @readonly\n       */\n      namespace?: string;\n      /** Status of the submission. */\n      status?: SubmissionStatus;\n      /** Submission values where key is a target of a form field and value is a submissions for the given field. */\n      submissions?: Record<string, any>;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Renamed to submitter\n       * @internal\n       * @readonly\n       */\n      owner?: Owner;\n      /**\n       * Identification of submission creator\n       * @readonly\n       */\n      submitter?: Submitter;\n      /** Flag identifying if submission was read by user */\n      seen?: boolean;\n  }\n  enum SubmissionStatus {\n      UNDEFINED = \"UNDEFINED\",\n      PENDING = \"PENDING\",\n      CONFIRMED = \"CONFIRMED\"\n  }\n  interface Owner extends OwnerOwnerOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Service ID. */\n      serviceId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n      /** External app id */\n      externalAppId?: string | null;\n  }\n  /** @oneof */\n  interface OwnerOwnerOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Service ID. */\n      serviceId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n      /** External app id */\n      externalAppId?: string | null;\n  }\n  interface Submitter extends SubmitterSubmitterOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Service ID. */\n      serviceId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n      /** External app id */\n      externalAppId?: string | null;\n  }\n  /** @oneof */\n  interface SubmitterSubmitterOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Service ID. */\n      serviceId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n      /** External app id */\n      externalAppId?: string | null;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      entityUpdates?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent {\n      currentEntityAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface UpsertContactFromSubmissionRequest {\n      /** Submission from which contact needs to be upserted. */\n      submissionId: string;\n      /** Optional contact id to which submission should be mapped. */\n      contactId?: string | null;\n      /** Indicates contact has verified primary email. */\n      emailVerified?: boolean;\n  }\n  interface UpsertContactFromSubmissionResponse {\n      /** Submit contact response. */\n      submitContactResponse?: SubmitContactResponse;\n  }\n  interface SubmitContactResponse {\n      /** ID of the contact that was found or created. */\n      contactId?: string;\n      /**\n       * Identity type of the returned contact.\n       *\n       * - `CONTACT`: The returned contact ID belongs to a new or existing contact.\n       * - `MEMBER`: The returned contact ID belongs to the currently logged-in site member.\n       * - `NOT_AUTHENTICATED_MEMBER`: The returned contact ID belongs to a site member who is not currently logged in.\n       */\n      identityType?: IdentityType;\n      /**\n       * Indicates whether the contact was just created or already existed.\n       *\n       * If the contact was just created, returns `true`.\n       * If it already existed, returns `false`.\n       */\n      newContact?: boolean;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Existing or new contact */\n      CONTACT = \"CONTACT\",\n      /** Member is logged in, matching logic skipped */\n      MEMBER = \"MEMBER\",\n      /** Matching contact is a member, Merge logic won't be applied */\n      NOT_AUTHENTICATED_MEMBER = \"NOT_AUTHENTICATED_MEMBER\"\n  }\n  interface SubmissionContactMapped {\n      /**\n       * Mapped upserted contact ID.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * Mapped contact emails.\n       * @readonly\n       */\n      emails?: string[];\n      /** Identifies the namespace that the submission's form belongs to. */\n      namespace?: string;\n  }\n  interface CreateSubmissionRequest {\n      /** Submission to be created. */\n      submission: FormSubmission;\n      /** Captcha token */\n      captchaToken?: string | null;\n  }\n  interface CreateSubmissionResponse {\n      /** The created submission. */\n      submission?: FormSubmission;\n  }\n  interface CreateSubmissionByOwnerRequest {\n      /** Submission to be created. */\n      submission: FormSubmission;\n  }\n  interface CreateSubmissionByOwnerResponse {\n      /** The created submission. */\n      submission?: FormSubmission;\n  }\n  interface CreateSubmissionBySubmitterRequest {\n      /** Submission to be created. */\n      submission: FormSubmission;\n  }\n  interface CreateSubmissionBySubmitterResponse {\n      /** The created submission. */\n      submission?: FormSubmission;\n  }\n  interface GetSubmissionRequest {\n      /** Id of the submission to retrieve. */\n      submissionId: string;\n  }\n  interface GetSubmissionResponse {\n      /** The retrieved submission. */\n      submission?: FormSubmission;\n  }\n  interface UpdateSubmissionRequest {\n      /** Submission to be updated, may be partial. */\n      submission: FormSubmission;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateSubmissionResponse {\n      /** The updated submission. */\n      submission?: FormSubmission;\n  }\n  interface ConfirmSubmissionRequest {\n      /** Submission id. */\n      submissionId: string;\n  }\n  interface ConfirmSubmissionResponse {\n      /** Confirmed submission. */\n      submission?: FormSubmission;\n  }\n  interface DeleteSubmissionRequest {\n      /** Id of the submission to delete. */\n      submissionId: string;\n  }\n  interface DeleteSubmissionResponse {\n  }\n  interface QuerySubmissionRequest {\n      /** WQL expression. */\n      query: CursorQuery$1;\n      /**\n       * Renamed to only_your_own;\n       * @internal\n       */\n      onlyOwn?: boolean;\n      /** Return only own submissions. */\n      onlyYourOwn?: boolean;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySubmissionResponse {\n      /** The retrieved Submissions. */\n      submissions?: FormSubmission[];\n      /** Paging metadata. */\n      metadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CountSubmissionsRequest {\n      /** Form IDs. */\n      formIds: string[];\n      /** Identifies the namespace that the forms belong to. */\n      namespace: string;\n  }\n  interface CountSubmissionsResponse {\n      /** Forms submissions count. */\n      formsSubmissionsCount?: FormSubmissionsCount[];\n  }\n  interface FormSubmissionsCount {\n      /** Form ID. */\n      formId?: string;\n      /** Total form submissions count. */\n      totalCount?: number;\n      /** Unseen form submissions count. */\n      unseenCount?: number;\n  }\n  interface GetMediaUploadURLRequest {\n      /** Form id. */\n      formId: string;\n      /** Name of file to upload. */\n      filename: string;\n      /** Mime type of file to upload. */\n      mimeType: string;\n  }\n  interface GetMediaUploadURLResponse {\n      /** Url to upload file. */\n      uploadUrl?: string;\n  }\n  interface BulkMarkSubmissionsAsSeenRequest {\n      /** Submission ids to mark as seen. */\n      ids: string[];\n      /** Submissions form id. */\n      formId: string;\n  }\n  interface BulkMarkSubmissionsAsSeenResponse {\n  }\n  interface Task {\n      key?: TaskKey;\n      executeAt?: Date;\n      payload?: string | null;\n  }\n  interface TaskKey {\n      appId?: string;\n      instanceId?: string;\n      subjectId?: string | null;\n  }\n  interface TaskAction extends TaskActionActionOneOf {\n      complete?: Complete;\n      cancel?: Cancel;\n      reschedule?: Reschedule;\n  }\n  /** @oneof */\n  interface TaskActionActionOneOf {\n      complete?: Complete;\n      cancel?: Cancel;\n      reschedule?: Reschedule;\n  }\n  interface Complete {\n  }\n  interface Cancel {\n  }\n  interface Reschedule {\n      executeAt?: Date;\n      payload?: string | null;\n  }\n  /**\n   * Upserts contact from submission.\n   * @param submissionId - Submission from which contact needs to be upserted.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   */\n  function upsertContactFromSubmission(submissionId: string, options?: UpsertContactFromSubmissionOptions): Promise<UpsertContactFromSubmissionResponse>;\n  interface UpsertContactFromSubmissionOptions {\n      /** Optional contact id to which submission should be mapped. */\n      contactId?: string | null;\n      /** Indicates contact has verified primary email. */\n      emailVerified?: boolean;\n  }\n  /**\n   * Creates a new submission.\n   * @param submission - Submission to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField submission\n   * @requiredField submission.formId\n   */\n  function createSubmission(submission: FormSubmission, options?: CreateSubmissionOptions): Promise<CreateSubmissionResponse>;\n  interface CreateSubmissionOptions {\n      /** Captcha token */\n      captchaToken?: string | null;\n  }\n  /**\n   * Creates a new submission with specified submitter.\n   * Internal, migration only.\n   * @param submission - Submission to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField submission\n   * @requiredField submission.formId\n   * @requiredField submission.submitter\n   * @returns The created submission.\n   */\n  function createSubmissionBySubmitter(submission: FormSubmission): Promise<FormSubmission>;\n  /**\n   * Gets a submission by id.\n   * @param submissionId - Id of the submission to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   * @returns The retrieved submission.\n   */\n  function getSubmission(submissionId: string): Promise<FormSubmission>;\n  /**\n   * Updates a submission, supports partial update.\n   * You need to pass the latest 'revision' for a successful update.\n   * @param _id - Submission id.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField submission\n   * @requiredField submission.formId\n   * @requiredField submission.revision\n   * @returns The updated submission.\n   */\n  function updateSubmission(_id: string | null, submission: UpdateSubmission, options?: UpdateSubmissionOptions): Promise<FormSubmission>;\n  interface UpdateSubmission {\n      /**\n       * Submission id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Id of a form to which submission belongs. */\n      formId?: string;\n      /**\n       * Form namespace to which submissions belong.\n       * @readonly\n       */\n      namespace?: string;\n      /** Status of the submission. */\n      status?: SubmissionStatus;\n      /** Submission values where key is a target of a form field and value is a submissions for the given field. */\n      submissions?: Record<string, any>;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Renamed to submitter\n       * @internal\n       * @readonly\n       */\n      owner?: Owner;\n      /**\n       * Identification of submission creator\n       * @readonly\n       */\n      submitter?: Submitter;\n      /** Flag identifying if submission was read by user */\n      seen?: boolean;\n  }\n  interface UpdateSubmissionOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Change submission status to 'CONFIRMED'\n   * @param submissionId - Submission id.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   */\n  function confirmSubmission(submissionId: string): Promise<ConfirmSubmissionResponse>;\n  /**\n   * Deletes a submission.\n   * @param submissionId - Id of the submission to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   */\n  function deleteSubmission(submissionId: string): Promise<void>;\n  /**\n   * Query submissions using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   */\n  function querySubmission(options?: QuerySubmissionOptions): SubmissionsQueryBuilder;\n  interface QuerySubmissionOptions {\n      /**\n       * Renamed to only_your_own;\n       * @internal\n       */\n      onlyOwn?: boolean | undefined;\n      /** Return only own submissions. */\n      onlyYourOwn?: boolean | undefined;\n  }\n  interface QueryCursorResult$1 {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SubmissionsQueryResult extends QueryCursorResult$1 {\n      items: FormSubmission[];\n      query: SubmissionsQueryBuilder;\n      next: () => Promise<SubmissionsQueryResult>;\n      prev: () => Promise<SubmissionsQueryResult>;\n  }\n  interface SubmissionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'formId' | 'namespace' | 'status' | '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'formId' | 'namespace' | 'status' | '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'formId' | 'namespace' | 'status' | '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'formId' | 'namespace' | 'status' | '_createdDate' | '_updatedDate'>) => SubmissionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'formId' | 'namespace' | 'status' | '_createdDate' | '_updatedDate'>) => SubmissionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SubmissionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SubmissionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SubmissionsQueryResult>;\n  }\n  /**\n   * Counts forms submissions.\n   * @param formIds - Form IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formIds\n   * @requiredField options\n   * @requiredField options.namespace\n   */\n  function countSubmissions(formIds: string[], options: CountSubmissionsOptions): Promise<CountSubmissionsResponse>;\n  interface CountSubmissionsOptions {\n      /** Identifies the namespace that the forms belong to. */\n      namespace: string;\n  }\n  /**\n   * Returns url to upload media file.\n   * @param formId - Form id.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @requiredField options\n   * @requiredField options.filename\n   * @requiredField options.mimeType\n   */\n  function getMediaUploadUrl(formId: string, options: GetMediaUploadUrlOptions): Promise<GetMediaUploadURLResponse>;\n  interface GetMediaUploadUrlOptions {\n      /** Name of file to upload. */\n      filename: string;\n      /** Mime type of file to upload. */\n      mimeType: string;\n  }\n  /**\n   * Marks submissions as seen.\n   * @param ids - Submission ids to mark as seen.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @requiredField options\n   * @requiredField options.formId\n   */\n  function bulkMarkSubmissionsAsSeen(ids: string[], options: BulkMarkSubmissionsAsSeenOptions): Promise<void>;\n  interface BulkMarkSubmissionsAsSeenOptions {\n      /** Submissions form id. */\n      formId: string;\n  }\n  \n  const formsV4Submission_universal_d___debug: typeof __debug;\n  type formsV4Submission_universal_d_FormSubmission = FormSubmission;\n  type formsV4Submission_universal_d_SubmissionStatus = SubmissionStatus;\n  const formsV4Submission_universal_d_SubmissionStatus: typeof SubmissionStatus;\n  type formsV4Submission_universal_d_Owner = Owner;\n  type formsV4Submission_universal_d_OwnerOwnerOneOf = OwnerOwnerOneOf;\n  type formsV4Submission_universal_d_Submitter = Submitter;\n  type formsV4Submission_universal_d_SubmitterSubmitterOneOf = SubmitterSubmitterOneOf;\n  type formsV4Submission_universal_d_ExtendedFieldsUpdatedEvent = ExtendedFieldsUpdatedEvent;\n  type formsV4Submission_universal_d_UpsertContactFromSubmissionRequest = UpsertContactFromSubmissionRequest;\n  type formsV4Submission_universal_d_UpsertContactFromSubmissionResponse = UpsertContactFromSubmissionResponse;\n  type formsV4Submission_universal_d_SubmitContactResponse = SubmitContactResponse;\n  type formsV4Submission_universal_d_IdentityType = IdentityType;\n  const formsV4Submission_universal_d_IdentityType: typeof IdentityType;\n  type formsV4Submission_universal_d_SubmissionContactMapped = SubmissionContactMapped;\n  type formsV4Submission_universal_d_CreateSubmissionRequest = CreateSubmissionRequest;\n  type formsV4Submission_universal_d_CreateSubmissionResponse = CreateSubmissionResponse;\n  type formsV4Submission_universal_d_CreateSubmissionByOwnerRequest = CreateSubmissionByOwnerRequest;\n  type formsV4Submission_universal_d_CreateSubmissionByOwnerResponse = CreateSubmissionByOwnerResponse;\n  type formsV4Submission_universal_d_CreateSubmissionBySubmitterRequest = CreateSubmissionBySubmitterRequest;\n  type formsV4Submission_universal_d_CreateSubmissionBySubmitterResponse = CreateSubmissionBySubmitterResponse;\n  type formsV4Submission_universal_d_GetSubmissionRequest = GetSubmissionRequest;\n  type formsV4Submission_universal_d_GetSubmissionResponse = GetSubmissionResponse;\n  type formsV4Submission_universal_d_UpdateSubmissionRequest = UpdateSubmissionRequest;\n  type formsV4Submission_universal_d_UpdateSubmissionResponse = UpdateSubmissionResponse;\n  type formsV4Submission_universal_d_ConfirmSubmissionRequest = ConfirmSubmissionRequest;\n  type formsV4Submission_universal_d_ConfirmSubmissionResponse = ConfirmSubmissionResponse;\n  type formsV4Submission_universal_d_DeleteSubmissionRequest = DeleteSubmissionRequest;\n  type formsV4Submission_universal_d_DeleteSubmissionResponse = DeleteSubmissionResponse;\n  type formsV4Submission_universal_d_QuerySubmissionRequest = QuerySubmissionRequest;\n  type formsV4Submission_universal_d_CursorPaging = CursorPaging;\n  type formsV4Submission_universal_d_QuerySubmissionResponse = QuerySubmissionResponse;\n  type formsV4Submission_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type formsV4Submission_universal_d_Cursors = Cursors;\n  type formsV4Submission_universal_d_CountSubmissionsRequest = CountSubmissionsRequest;\n  type formsV4Submission_universal_d_CountSubmissionsResponse = CountSubmissionsResponse;\n  type formsV4Submission_universal_d_FormSubmissionsCount = FormSubmissionsCount;\n  type formsV4Submission_universal_d_GetMediaUploadURLRequest = GetMediaUploadURLRequest;\n  type formsV4Submission_universal_d_GetMediaUploadURLResponse = GetMediaUploadURLResponse;\n  type formsV4Submission_universal_d_BulkMarkSubmissionsAsSeenRequest = BulkMarkSubmissionsAsSeenRequest;\n  type formsV4Submission_universal_d_BulkMarkSubmissionsAsSeenResponse = BulkMarkSubmissionsAsSeenResponse;\n  type formsV4Submission_universal_d_Task = Task;\n  type formsV4Submission_universal_d_TaskKey = TaskKey;\n  type formsV4Submission_universal_d_TaskAction = TaskAction;\n  type formsV4Submission_universal_d_TaskActionActionOneOf = TaskActionActionOneOf;\n  type formsV4Submission_universal_d_Complete = Complete;\n  type formsV4Submission_universal_d_Cancel = Cancel;\n  type formsV4Submission_universal_d_Reschedule = Reschedule;\n  const formsV4Submission_universal_d_upsertContactFromSubmission: typeof upsertContactFromSubmission;\n  type formsV4Submission_universal_d_UpsertContactFromSubmissionOptions = UpsertContactFromSubmissionOptions;\n  const formsV4Submission_universal_d_createSubmission: typeof createSubmission;\n  type formsV4Submission_universal_d_CreateSubmissionOptions = CreateSubmissionOptions;\n  const formsV4Submission_universal_d_createSubmissionBySubmitter: typeof createSubmissionBySubmitter;\n  const formsV4Submission_universal_d_getSubmission: typeof getSubmission;\n  const formsV4Submission_universal_d_updateSubmission: typeof updateSubmission;\n  type formsV4Submission_universal_d_UpdateSubmission = UpdateSubmission;\n  type formsV4Submission_universal_d_UpdateSubmissionOptions = UpdateSubmissionOptions;\n  const formsV4Submission_universal_d_confirmSubmission: typeof confirmSubmission;\n  const formsV4Submission_universal_d_deleteSubmission: typeof deleteSubmission;\n  const formsV4Submission_universal_d_querySubmission: typeof querySubmission;\n  type formsV4Submission_universal_d_QuerySubmissionOptions = QuerySubmissionOptions;\n  type formsV4Submission_universal_d_SubmissionsQueryResult = SubmissionsQueryResult;\n  type formsV4Submission_universal_d_SubmissionsQueryBuilder = SubmissionsQueryBuilder;\n  const formsV4Submission_universal_d_countSubmissions: typeof countSubmissions;\n  type formsV4Submission_universal_d_CountSubmissionsOptions = CountSubmissionsOptions;\n  const formsV4Submission_universal_d_getMediaUploadUrl: typeof getMediaUploadUrl;\n  type formsV4Submission_universal_d_GetMediaUploadUrlOptions = GetMediaUploadUrlOptions;\n  const formsV4Submission_universal_d_bulkMarkSubmissionsAsSeen: typeof bulkMarkSubmissionsAsSeen;\n  type formsV4Submission_universal_d_BulkMarkSubmissionsAsSeenOptions = BulkMarkSubmissionsAsSeenOptions;\n  namespace formsV4Submission_universal_d {\n    export {\n      formsV4Submission_universal_d___debug as __debug,\n      formsV4Submission_universal_d_FormSubmission as FormSubmission,\n      formsV4Submission_universal_d_SubmissionStatus as SubmissionStatus,\n      formsV4Submission_universal_d_Owner as Owner,\n      formsV4Submission_universal_d_OwnerOwnerOneOf as OwnerOwnerOneOf,\n      formsV4Submission_universal_d_Submitter as Submitter,\n      formsV4Submission_universal_d_SubmitterSubmitterOneOf as SubmitterSubmitterOneOf,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      formsV4Submission_universal_d_ExtendedFieldsUpdatedEvent as ExtendedFieldsUpdatedEvent,\n      Empty$1 as Empty,\n      formsV4Submission_universal_d_UpsertContactFromSubmissionRequest as UpsertContactFromSubmissionRequest,\n      formsV4Submission_universal_d_UpsertContactFromSubmissionResponse as UpsertContactFromSubmissionResponse,\n      formsV4Submission_universal_d_SubmitContactResponse as SubmitContactResponse,\n      formsV4Submission_universal_d_IdentityType as IdentityType,\n      formsV4Submission_universal_d_SubmissionContactMapped as SubmissionContactMapped,\n      formsV4Submission_universal_d_CreateSubmissionRequest as CreateSubmissionRequest,\n      formsV4Submission_universal_d_CreateSubmissionResponse as CreateSubmissionResponse,\n      formsV4Submission_universal_d_CreateSubmissionByOwnerRequest as CreateSubmissionByOwnerRequest,\n      formsV4Submission_universal_d_CreateSubmissionByOwnerResponse as CreateSubmissionByOwnerResponse,\n      formsV4Submission_universal_d_CreateSubmissionBySubmitterRequest as CreateSubmissionBySubmitterRequest,\n      formsV4Submission_universal_d_CreateSubmissionBySubmitterResponse as CreateSubmissionBySubmitterResponse,\n      formsV4Submission_universal_d_GetSubmissionRequest as GetSubmissionRequest,\n      formsV4Submission_universal_d_GetSubmissionResponse as GetSubmissionResponse,\n      formsV4Submission_universal_d_UpdateSubmissionRequest as UpdateSubmissionRequest,\n      formsV4Submission_universal_d_UpdateSubmissionResponse as UpdateSubmissionResponse,\n      formsV4Submission_universal_d_ConfirmSubmissionRequest as ConfirmSubmissionRequest,\n      formsV4Submission_universal_d_ConfirmSubmissionResponse as ConfirmSubmissionResponse,\n      formsV4Submission_universal_d_DeleteSubmissionRequest as DeleteSubmissionRequest,\n      formsV4Submission_universal_d_DeleteSubmissionResponse as DeleteSubmissionResponse,\n      formsV4Submission_universal_d_QuerySubmissionRequest as QuerySubmissionRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      formsV4Submission_universal_d_CursorPaging as CursorPaging,\n      formsV4Submission_universal_d_QuerySubmissionResponse as QuerySubmissionResponse,\n      formsV4Submission_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      formsV4Submission_universal_d_Cursors as Cursors,\n      formsV4Submission_universal_d_CountSubmissionsRequest as CountSubmissionsRequest,\n      formsV4Submission_universal_d_CountSubmissionsResponse as CountSubmissionsResponse,\n      formsV4Submission_universal_d_FormSubmissionsCount as FormSubmissionsCount,\n      formsV4Submission_universal_d_GetMediaUploadURLRequest as GetMediaUploadURLRequest,\n      formsV4Submission_universal_d_GetMediaUploadURLResponse as GetMediaUploadURLResponse,\n      formsV4Submission_universal_d_BulkMarkSubmissionsAsSeenRequest as BulkMarkSubmissionsAsSeenRequest,\n      formsV4Submission_universal_d_BulkMarkSubmissionsAsSeenResponse as BulkMarkSubmissionsAsSeenResponse,\n      formsV4Submission_universal_d_Task as Task,\n      formsV4Submission_universal_d_TaskKey as TaskKey,\n      formsV4Submission_universal_d_TaskAction as TaskAction,\n      formsV4Submission_universal_d_TaskActionActionOneOf as TaskActionActionOneOf,\n      formsV4Submission_universal_d_Complete as Complete,\n      formsV4Submission_universal_d_Cancel as Cancel,\n      formsV4Submission_universal_d_Reschedule as Reschedule,\n      formsV4Submission_universal_d_upsertContactFromSubmission as upsertContactFromSubmission,\n      formsV4Submission_universal_d_UpsertContactFromSubmissionOptions as UpsertContactFromSubmissionOptions,\n      formsV4Submission_universal_d_createSubmission as createSubmission,\n      formsV4Submission_universal_d_CreateSubmissionOptions as CreateSubmissionOptions,\n      formsV4Submission_universal_d_createSubmissionBySubmitter as createSubmissionBySubmitter,\n      formsV4Submission_universal_d_getSubmission as getSubmission,\n      formsV4Submission_universal_d_updateSubmission as updateSubmission,\n      formsV4Submission_universal_d_UpdateSubmission as UpdateSubmission,\n      formsV4Submission_universal_d_UpdateSubmissionOptions as UpdateSubmissionOptions,\n      formsV4Submission_universal_d_confirmSubmission as confirmSubmission,\n      formsV4Submission_universal_d_deleteSubmission as deleteSubmission,\n      formsV4Submission_universal_d_querySubmission as querySubmission,\n      formsV4Submission_universal_d_QuerySubmissionOptions as QuerySubmissionOptions,\n      formsV4Submission_universal_d_SubmissionsQueryResult as SubmissionsQueryResult,\n      formsV4Submission_universal_d_SubmissionsQueryBuilder as SubmissionsQueryBuilder,\n      formsV4Submission_universal_d_countSubmissions as countSubmissions,\n      formsV4Submission_universal_d_CountSubmissionsOptions as CountSubmissionsOptions,\n      formsV4Submission_universal_d_getMediaUploadUrl as getMediaUploadUrl,\n      formsV4Submission_universal_d_GetMediaUploadUrlOptions as GetMediaUploadUrlOptions,\n      formsV4Submission_universal_d_bulkMarkSubmissionsAsSeen as bulkMarkSubmissionsAsSeen,\n      formsV4Submission_universal_d_BulkMarkSubmissionsAsSeenOptions as BulkMarkSubmissionsAsSeenOptions,\n    };\n  }\n  \n  interface Form {\n      /**\n       * Form ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** List of form fields that represent input elements. */\n      fields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      fieldsV2?: FormFieldV2[];\n      /** Defines the layout for form fields in each submission step. */\n      steps?: Step[];\n      /** Form rules, can be applied to layout and items properties. */\n      rules?: FormRule[];\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Properties of the form. */\n      properties?: FormProperties;\n      /**\n       * Fields which were soft deleted.\n       * @readonly\n       */\n      deletedFields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      deletedFieldsV2?: FormFieldV2[];\n      /**\n       * Regular forms can be freely modified.\n       * Extensions are copied from templates and might have restrictions.\n       * @readonly\n       */\n      kind?: Kind;\n      /**\n       * Defines triggers that will be executed after the submission, for the submissions based on this schema.\n       * Forms provide a set of predefined triggers that allow it to assign specific business cases to created forms.\n       */\n      postSubmissionTriggers?: PostSubmissionTriggers;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields;\n      /** Identifies the namespace that the form belongs to. */\n      namespace?: string;\n      /**\n       * Nested forms.\n       * @internal\n       * @readonly\n       */\n      nestedForms?: NestedForm[];\n      /**\n       * Media folder ID.\n       * @readonly\n       */\n      mediaFolderId?: string | null;\n      /** Rules that limit submissions on this form. */\n      limitationRule?: LimitationRule;\n      /**\n       * Spam filter protection level.\n       * Default: ADVANCED.\n       */\n      spamFilterProtectionLevel?: SpamFilterProtectionLevel;\n      /** Required indicator properties. */\n      requiredIndicatorProperties?: RequiredIndicatorProperties;\n      /** Settings for actions to be taken after form submission. */\n      submitSettings?: SubmitSettings;\n      /** Settings for field groups */\n      fieldGroups?: FieldGroup[];\n      /** Message shown when the form is disabled */\n      disabledFormMessage?: RichContent;\n      /** Id of the source form. */\n      sourceFormId?: string | null;\n  }\n  enum RequiredIndicator {\n      /** Unknown required indicator. */\n      UNKNOWN_INDICATOR = \"UNKNOWN_INDICATOR\",\n      /** Asterisk (*). */\n      ASTERISK = \"ASTERISK\",\n      /** Text (default: \"Required\"). */\n      TEXT = \"TEXT\",\n      /** None. */\n      NONE = \"NONE\"\n  }\n  enum RequiredIndicatorPlacement {\n      /** Unknown required indicator placement. */\n      UNKNOWN_PLACEMENT = \"UNKNOWN_PLACEMENT\",\n      /** After field title. */\n      AFTER_FIELD_TITLE = \"AFTER_FIELD_TITLE\",\n      /** Before field title. */\n      BEFORE_FIELD_TITLE = \"BEFORE_FIELD_TITLE\"\n  }\n  interface FormField {\n      /** Item ID. */\n      _id?: string;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /** Validation of field output value. */\n      validation?: Validation;\n      /** Mark the field as containing personal information. This will encrypt user data when storing it. */\n      pii?: boolean;\n      /** Whether the field is hidden. */\n      hidden?: boolean;\n      /** Field view properties. */\n      view?: Record<string, any> | null;\n      /** Details identifying field, which is extension of other entity */\n      dataExtensionsDetails?: DataExtensionsDetails;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n      /**\n       * Nested form overrides.\n       * @internal\n       */\n      nestedFormOverrides?: NestedFormOverrides;\n      /**\n       * Whether the field is read only.\n       * Default: false\n       */\n      readOnly?: boolean;\n  }\n  interface StringType extends StringTypeFormatOptionsOneOf {\n      /** DATE format options */\n      dateOptions?: DateTimeConstraints;\n      /** DATE_TIME format options */\n      dateTimeOptions?: DateTimeConstraints;\n      /** TIME format options */\n      timeOptions?: DateTimeConstraints;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: DateTimeConstraints;\n      /** PHONE format options */\n      phoneOptions?: PhoneConstraints;\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: Format;\n      /** Custom error messages when validation fails. */\n      errorMessages?: StringErrorMessages;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  /** @oneof */\n  interface StringTypeFormatOptionsOneOf {\n      /** DATE format options */\n      dateOptions?: DateTimeConstraints;\n      /** DATE_TIME format options */\n      dateTimeOptions?: DateTimeConstraints;\n      /** TIME format options */\n      timeOptions?: DateTimeConstraints;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: DateTimeConstraints;\n      /** PHONE format options */\n      phoneOptions?: PhoneConstraints;\n  }\n  enum Format {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface StringErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface DateTimeConstraints {\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      minimum?: string | null;\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      maximum?: string | null;\n  }\n  interface PhoneConstraints {\n      /** Country codes for phone number that are allowed */\n      allowedCountryCodes?: string[];\n  }\n  interface NumberType {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface NumberErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface IntegerType {\n      /** Minimum value. */\n      maximum?: number | null;\n      /** Maximum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface BooleanType {\n      /** Custom error message when validation fails. */\n      errorMessages?: BooleanErrorMessages;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface BooleanErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayType {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayItems;\n      /** Custom error message when validation fails. */\n      errorMessages?: ArrayErrorMessages;\n  }\n  interface ObjectType {\n      /** Description of object properties. */\n      properties?: Record<string, PropertiesType>;\n      /** Custom error message when validation fails. */\n      errorMessages?: ObjectErrorMessages;\n  }\n  interface PropertiesType extends PropertiesTypePropertiesTypeOneOf {\n      /** String type validation for property. */\n      string?: StringType;\n      /** Number type validation for property. */\n      number?: NumberType;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType;\n      /** Integer type validation for property. */\n      integer?: IntegerType;\n      /** Array type validation for property. */\n      array?: ArrayType;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface PropertiesTypePropertiesTypeOneOf {\n      /** String type validation for property. */\n      string?: StringType;\n      /** Number type validation for property. */\n      number?: NumberType;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType;\n      /** Integer type validation for property. */\n      integer?: IntegerType;\n      /** Array type validation for property. */\n      array?: ArrayType;\n  }\n  interface ObjectErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayItems extends ArrayItemsItemsOneOf {\n      /** String type validation for items. */\n      string?: StringType;\n      /** Number type validation for items. */\n      number?: NumberType;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType;\n      /** Integer type validation for items. */\n      integer?: IntegerType;\n      /** Object type validation for items */\n      object?: ObjectType;\n  }\n  /** @oneof */\n  interface ArrayItemsItemsOneOf {\n      /** String type validation for items. */\n      string?: StringType;\n      /** Number type validation for items. */\n      number?: NumberType;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType;\n      /** Integer type validation for items. */\n      integer?: IntegerType;\n      /** Object type validation for items */\n      object?: ObjectType;\n  }\n  interface ArrayErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface PredefinedValidation extends PredefinedValidationFormatOptionsOneOf {\n      /** Payment input field. */\n      paymentOptions?: PaymentType;\n      /** Multiline address validation. */\n      multilineAddressOptions?: MultilineAddressValidation;\n      /** Format of predefined validation. */\n      format?: ValidationFormat;\n  }\n  /** @oneof */\n  interface PredefinedValidationFormatOptionsOneOf {\n      /** Payment input field. */\n      paymentOptions?: PaymentType;\n      /** Multiline address validation. */\n      multilineAddressOptions?: MultilineAddressValidation;\n  }\n  enum ValidationFormat {\n      UNDEFINED = \"UNDEFINED\",\n      /** File upload validation. */\n      WIX_FILE = \"WIX_FILE\",\n      /** Payment validation. */\n      PAYMENT = \"PAYMENT\",\n      /** Multiline address. */\n      MULTILINE_ADDRESS = \"MULTILINE_ADDRESS\"\n  }\n  interface PaymentType {\n      /** Field mapped to products. */\n      products?: Product[];\n      /** Minimum amount of different products. */\n      minItems?: number | null;\n      /** Maximum amount of different products. */\n      maxItems?: number | null;\n  }\n  enum ProductType {\n      /** Unknown product type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Shippable (physical) product. */\n      SHIPPABLE = \"SHIPPABLE\",\n      /** Digital product. */\n      DIGITAL = \"DIGITAL\"\n  }\n  enum PriceType {\n      /** Unknown price type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Fixed price. */\n      FIXED_PRICE = \"FIXED_PRICE\",\n      /** Dynamic price from price range. */\n      DYNAMIC_PRICE = \"DYNAMIC_PRICE\"\n  }\n  interface QuantityLimit {\n      /** Minimum quantity. */\n      minimum?: number | null;\n      /** Maximum quantity. */\n      maximum?: number | null;\n  }\n  interface FixedPriceOptions {\n      /** Fixed price monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). */\n      price?: string;\n  }\n  interface DynamicPriceOptions {\n      /** Minimal price monetary amount. */\n      minPrice?: string;\n      /** Maximal price monetary amount. */\n      maxPrice?: string | null;\n  }\n  interface Product extends ProductPriceOptionsOneOf {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Product type. */\n      productType?: ProductType;\n      /** Price type. */\n      priceType?: PriceType;\n      /** Quantity limit. */\n      quantityLimit?: QuantityLimit;\n  }\n  /** @oneof */\n  interface ProductPriceOptionsOneOf {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions;\n  }\n  interface MultilineAddressValidation {\n      /** Allowed countries. No countries treated as all. */\n      allowedCountries?: string[];\n      /** Fields overrides. */\n      fields?: FieldsOverrides;\n  }\n  interface FieldOverrides {\n      /** Whether the field is required. */\n      required?: boolean;\n  }\n  interface FieldsOverrides {\n      /** Subdivision. */\n      subdivision?: FieldOverrides;\n      /** City. */\n      city?: FieldOverrides;\n      /** Postal code. */\n      postalCode?: FieldOverrides;\n      /** Street name. */\n      streetName?: FieldOverrides;\n      /** Street number. */\n      streetNumber?: FieldOverrides;\n      /** Address line. */\n      addressLine?: FieldOverrides;\n      /** Address line 2. */\n      addressLine2?: FieldOverrides;\n      /** Country. */\n      country?: FieldOverrides;\n  }\n  interface NestedFormFieldOverrides {\n      /** Whether the field is required. Leave blank for no override. */\n      required?: boolean | null;\n      /** Whether the field is hidden. Leave blank for no override. */\n      hidden?: boolean | null;\n  }\n  interface Validation extends ValidationValidationOneOf {\n      /** Validation of string type. */\n      string?: StringType;\n      /** Validation of number type. */\n      number?: NumberType;\n      /** Validation of integer type. */\n      integer?: IntegerType;\n      /** Validation of boolean type. */\n      boolean?: BooleanType;\n      /** Validation of array type. */\n      array?: ArrayType;\n      /** Validation of object type. */\n      object?: ObjectType;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation;\n      /** Whether the field is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ValidationValidationOneOf {\n      /** Validation of string type. */\n      string?: StringType;\n      /** Validation of number type. */\n      number?: NumberType;\n      /** Validation of integer type. */\n      integer?: IntegerType;\n      /** Validation of boolean type. */\n      boolean?: BooleanType;\n      /** Validation of array type. */\n      array?: ArrayType;\n      /** Validation of object type. */\n      object?: ObjectType;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation;\n  }\n  interface DataExtensionsDetails {\n      /** FQDNS which can be extended with this field */\n      fqdns?: string[];\n  }\n  interface NestedFormOverrides {\n      /** Field overrides by field ID */\n      fieldOverrides?: Record<string, NestedFormFieldOverrides>;\n  }\n  interface FormFieldV2 extends FormFieldV2FieldTypeOptionsOneOf {\n      /** Field accept input of data */\n      inputOptions?: InputField;\n      /** Field for displaying information such as header or text paragraph */\n      displayOptions?: DisplayField;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton;\n      /** Field id. */\n      _id?: string;\n      /**\n       * Whether the field is hidden.\n       * Default: false\n       */\n      hidden?: boolean;\n      /** Custom identification of field, can be used to specify exceptional behaviour of client for specific field */\n      identifier?: string | null;\n      /**\n       * Type of the field\n       * @readonly\n       */\n      fieldType?: FieldType;\n  }\n  /** @oneof */\n  interface FormFieldV2FieldTypeOptionsOneOf {\n      /** Field accept input of data */\n      inputOptions?: InputField;\n      /** Field for displaying information such as header or text paragraph */\n      displayOptions?: DisplayField;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton;\n  }\n  interface InputFieldStringType extends InputFieldStringTypeFormatOptionsOneOf {\n      /** DATE format options */\n      dateOptions?: StringTypeDateTimeConstraints;\n      /** DATE_TIME format options */\n      dateTimeOptions?: StringTypeDateTimeConstraints;\n      /** TIME format options */\n      timeOptions?: StringTypeDateTimeConstraints;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: StringTypeDateTimeConstraints;\n      /** PHONE format options */\n      phoneOptions?: StringTypePhoneConstraints;\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: FormatEnumFormat;\n      /** Custom error messages when validation fails. */\n      errorMessages?: InputFieldStringErrorMessages;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  /** @oneof */\n  interface InputFieldStringTypeFormatOptionsOneOf {\n      /** DATE format options */\n      dateOptions?: StringTypeDateTimeConstraints;\n      /** DATE_TIME format options */\n      dateTimeOptions?: StringTypeDateTimeConstraints;\n      /** TIME format options */\n      timeOptions?: StringTypeDateTimeConstraints;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: StringTypeDateTimeConstraints;\n      /** PHONE format options */\n      phoneOptions?: StringTypePhoneConstraints;\n  }\n  enum FormatEnumFormat {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface InputFieldStringErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface StringTypeDateTimeConstraints {\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      minimum?: string | null;\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      maximum?: string | null;\n  }\n  interface StringTypePhoneConstraints {\n      /** Country codes for phone number that are allowed */\n      allowedCountryCodes?: string[];\n  }\n  enum StringComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      TEXT_INPUT = \"TEXT_INPUT\",\n      RADIO_GROUP = \"RADIO_GROUP\",\n      DROPDOWN = \"DROPDOWN\",\n      DATE_TIME = \"DATE_TIME\",\n      PHONE_INPUT = \"PHONE_INPUT\",\n      DATE_INPUT = \"DATE_INPUT\",\n      TIME_INPUT = \"TIME_INPUT\",\n      DATE_PICKER = \"DATE_PICKER\"\n  }\n  interface TextInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: LinkTarget;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum LinkTarget {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface PollOption {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: PollOption[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData {\n      textStyle?: TextStyle;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface RadioGroup {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to show option allowing input custom value\n       * List of options to select from\n       */\n      options?: RadioGroupOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: RadioGroupCustomOption;\n      /**\n       * Specifies the number of columns used to display the selections within the component.\n       * Default: ONE\n       */\n      numberOfColumns?: NumberOfColumns;\n  }\n  interface RadioGroupOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface RadioGroupCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  enum NumberOfColumns {\n      /** Undefined number of columns. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Zero columns. */\n      ZERO = \"ZERO\",\n      /** One column. */\n      ONE = \"ONE\",\n      /** Two columns. */\n      TWO = \"TWO\",\n      /** Three columns. */\n      THREE = \"THREE\"\n  }\n  interface Dropdown {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: DropdownOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: DropdownCustomOption;\n      /** Placeholder of dropdown input */\n      placeholder?: string | null;\n  }\n  interface DropdownOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface DropdownCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface DateTimeInput {\n      /** Label of the field. Displayed text for the date/time input. */\n      label?: string | null;\n      /** Description of the field. Additional information about the date/time input. */\n      description?: RichContent;\n      /**\n       * Flag identifying whether to show or hide the label.\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /**\n       * Flag identifying whether to show or hide the placeholder.\n       * Default: true\n       */\n      showPlaceholder?: boolean | null;\n      /**\n       * Flag indicating whether to use the 24-hour time format.\n       * Default: false.\n       */\n      use24HourFormat?: boolean;\n  }\n  interface PhoneInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to show label or not\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Default value of the country code */\n      defaultCountryCode?: string | null;\n      /**\n       * Flag identifying to show country flag or not\n       * Default: false\n       */\n      showCountryFlag?: boolean;\n  }\n  interface DateInput {\n      /** Label of the field. Displayed text for the date/time input. */\n      label?: string | null;\n      /** Description of the field. Additional information about the date/time input. */\n      description?: RichContent;\n      /**\n       * Flag identifying whether to show or hide the label.\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /**\n       * Flag identifying whether to show or hide the placeholder.\n       * Default: true\n       */\n      showPlaceholder?: boolean | null;\n  }\n  interface TimeInput {\n      /** Label of the field. Displayed text for the date/time input. */\n      label?: string | null;\n      /** Description of the field. Additional information about the date/time input. */\n      description?: RichContent;\n      /**\n       * Flag identifying whether to show or hide the label.\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /**\n       * Flag identifying whether to show or hide the placeholder.\n       * Default: true\n       */\n      showPlaceholder?: boolean | null;\n      /**\n       * Flag indicating whether to use the 24-hour time format.\n       * Default: false.\n       */\n      use24HourFormat?: boolean;\n  }\n  interface DatePicker {\n      /** Label of the field. Displayed text for the date/time input. */\n      label?: string | null;\n      /** Description of the field. Additional information about the date/time input. */\n      description?: RichContent;\n      /**\n       * Flag identifying whether to show or hide the label.\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Placeholder of date picker input */\n      placeholder?: string | null;\n      /** First day of the week displayed on date picker. */\n      firstDayOfWeek?: FirstDayOfWeekEnumFirstDayOfWeek;\n  }\n  enum FirstDayOfWeekEnumFirstDayOfWeek {\n      /** First day of the week is Monday. */\n      MONDAY = \"MONDAY\",\n      /** First day of the week is Sunday. */\n      SUNDAY = \"SUNDAY\"\n  }\n  interface InputFieldNumberType {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldNumberErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum NumberComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      NUMBER_INPUT = \"NUMBER_INPUT\",\n      RATING_INPUT = \"RATING_INPUT\"\n  }\n  interface NumberInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface RatingInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide label or not\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Default rating */\n      defaultValue?: number | null;\n  }\n  interface InputFieldBooleanType {\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldBooleanErrorMessages;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface InputFieldBooleanErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum BooleanComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      CHECKBOX = \"CHECKBOX\"\n  }\n  interface Checkbox {\n      /** Label of the field */\n      label?: RichContent;\n      /**\n       * Flag identifying if checked by default\n       * Default: false\n       */\n      checked?: boolean;\n  }\n  interface InputFieldArrayType {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayTypeArrayItems;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldArrayErrorMessages;\n  }\n  enum ItemType {\n      UNKNOWN_ITEM_TYPE = \"UNKNOWN_ITEM_TYPE\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      OBJECT = \"OBJECT\"\n  }\n  interface InputFieldIntegerType {\n      /** Maximum value. */\n      maximum?: number | null;\n      /** Minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldObjectType {\n      /** Description of object properties. */\n      properties?: Record<string, ObjectTypePropertiesType>;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldObjectErrorMessages;\n  }\n  enum PropertiesTypeEnum {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      ARRAY = \"ARRAY\"\n  }\n  interface ObjectTypePropertiesType extends ObjectTypePropertiesTypePropertiesTypeOptionsOneOf {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType;\n      /**\n       * Type of object properties\n       * @readonly\n       */\n      propertiesType?: PropertiesTypeEnum;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ObjectTypePropertiesTypePropertiesTypeOptionsOneOf {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType;\n  }\n  interface InputFieldObjectErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayTypeArrayItems extends ArrayTypeArrayItemsItemTypeOptionsOneOf {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType;\n      /**\n       * Type of array items\n       * @readonly\n       */\n      itemType?: ItemType;\n  }\n  /** @oneof */\n  interface ArrayTypeArrayItemsItemTypeOptionsOneOf {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType;\n  }\n  interface InputFieldArrayErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum ComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\",\n      TAGS = \"TAGS\"\n  }\n  interface CheckboxGroup {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: Option[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CustomOption;\n      /**\n       * Specifies the number of columns used to display the selections within the component.\n       * Default: ONE\n       */\n      numberOfColumns?: NumberOfColumns;\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** WixMedia image. */\n      image?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** WixMedia image. */\n      image?: string;\n  }\n  interface Option {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: any;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  interface CustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface Tags {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: TagsOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CommonCustomOption;\n      /**\n       * Specifies the number of columns used to display the selections within the component.\n       * Default: ONE\n       */\n      numberOfColumns?: NumberOfColumns;\n  }\n  interface TagsOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: any;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  interface CommonCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  enum WixFileComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      FILE_UPLOAD = \"FILE_UPLOAD\",\n      SIGNATURE = \"SIGNATURE\"\n  }\n  interface FileUpload {\n      /** Selectable option label */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Text on upload button */\n      buttonText?: string | null;\n      /** Amount of files allowed to upload */\n      fileLimit?: number;\n      /** Supported file formats for upload */\n      uploadFileFormats?: UploadFileFormat[];\n      /** Custom text which appears when file is uploaded, if missing file name will be shown */\n      explanationText?: string | null;\n  }\n  enum UploadFileFormat {\n      /** Undefined upload file format. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Video files. */\n      VIDEO = \"VIDEO\",\n      /** Image files. */\n      IMAGE = \"IMAGE\",\n      /** Audio files. */\n      AUDIO = \"AUDIO\",\n      /** Document files. */\n      DOCUMENT = \"DOCUMENT\",\n      /** Archive files. */\n      ARCHIVE = \"ARCHIVE\"\n  }\n  interface Signature {\n      /** Selectable option label */\n      label?: string | null;\n      /**\n       * Flag identifying to hide label or not\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Is image upload enabled */\n      imageUploadEnabled?: boolean;\n  }\n  enum PaymentComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\",\n      DONATION_INPUT = \"DONATION_INPUT\",\n      PAYMENT_INPUT = \"PAYMENT_INPUT\",\n      FIXED_PAYMENT = \"FIXED_PAYMENT\"\n  }\n  interface ProductCheckboxGroup {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /** List of options to select from. */\n      options?: ProductCheckboxGroupOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /**\n       * Defines how an image should be resized to fit within its option.\n       * Default: COVER\n       */\n      imageFit?: ImageFit;\n  }\n  interface ProductCheckboxGroupOption {\n      /** Selectable option label. */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. Corresponds to product id, found in field's products list. */\n      value?: any;\n      /** Option id. Used as binding for translations. */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  enum ImageFit {\n      UNKNOWN_IMAGE_FIT = \"UNKNOWN_IMAGE_FIT\",\n      /** Image is scaled to maintain its aspect ratio while filling the element's entire content box. Portions of the image may be clipped if the aspect ratios do not match. */\n      COVER = \"COVER\",\n      /** Image is resized to fill the element's content box. Aspect ratio may not be preserved. */\n      CONTAIN = \"CONTAIN\"\n  }\n  interface DonationInput {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /** List of options to select from. */\n      options?: DonationInputOption[];\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CommonCustomOption;\n      /**\n       * Specifies the number of columns used to display the selections within the component.\n       * Default: ONE\n       */\n      numberOfColumns?: NumberOfColumns;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface DonationInputOption {\n      /** Selectable option value, which is saved to DB. Corresponds to product id, found in field's products list. */\n      value?: string;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n  }\n  interface PaymentInput {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface FixedPayment {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  enum MultilineAddressComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      MULTILINE_ADDRESS = \"MULTILINE_ADDRESS\"\n  }\n  interface MultilineAddress {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /** Show country flags. */\n      showCountryFlags?: boolean;\n      /** Default country configuration. */\n      defaultCountryConfig?: DefaultCountryConfig;\n      /** Fields settings. */\n      fieldSettings?: FieldsSettings;\n      /** Autocomplete enabled for address line field. */\n      autocompleteEnabled?: boolean;\n  }\n  enum DefaultCountryConfigType {\n      /** Unknown default country config type. */\n      UNKNOWN_DEFAULT_COUNTRY = \"UNKNOWN_DEFAULT_COUNTRY\",\n      /** Country is determined by customer's IP address. */\n      BY_IP = \"BY_IP\",\n      /** Pre-selected default country. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface AddressLine2 {\n      /** Show address line 2 field. */\n      show?: boolean;\n  }\n  interface DefaultCountryConfig extends DefaultCountryConfigOptionsOneOf {\n      /** Country. */\n      countryOptions?: string;\n      /** Default country type. */\n      type?: DefaultCountryConfigType;\n  }\n  /** @oneof */\n  interface DefaultCountryConfigOptionsOneOf {\n      /** Country. */\n      countryOptions?: string;\n  }\n  interface FieldsSettings {\n      /** Address line 2. */\n      addressLine2?: AddressLine2;\n  }\n  enum InputType {\n      UNKNOWN_INPUT_TYPE = \"UNKNOWN_INPUT_TYPE\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      ARRAY = \"ARRAY\",\n      OBJECT = \"OBJECT\",\n      WIX_FILE = \"WIX_FILE\",\n      PAYMENT = \"PAYMENT\",\n      MULTILINE_ADDRESS = \"MULTILINE_ADDRESS\"\n  }\n  interface FormFieldContactInfo extends FormFieldContactInfoAdditionalInfoOneOf {\n      /** Email info. */\n      emailInfo?: EmailInfo;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo;\n      /** Address info. */\n      addressInfo?: AddressInfo;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo;\n      /** Subscription info */\n      subscriptionInfo?: SubscriptionInfo;\n      /** Field mapped to contacts. */\n      contactField?: ContactField;\n  }\n  /** @oneof */\n  interface FormFieldContactInfoAdditionalInfoOneOf {\n      /** Email info. */\n      emailInfo?: EmailInfo;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo;\n      /** Address info. */\n      addressInfo?: AddressInfo;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo;\n      /** Subscription info */\n      subscriptionInfo?: SubscriptionInfo;\n  }\n  enum EmailInfoTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum PhoneInfoTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum Tag {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\"\n  }\n  enum OptInLevel {\n      UNKNOWN = \"UNKNOWN\",\n      SINGLE_CONFIRMATION = \"SINGLE_CONFIRMATION\",\n      DOUBLE_CONFIRMATION = \"DOUBLE_CONFIRMATION\"\n  }\n  enum ContactField {\n      UNDEFINED = \"UNDEFINED\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      COMPANY = \"COMPANY\",\n      POSITION = \"POSITION\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      ADDRESS = \"ADDRESS\",\n      BIRTHDATE = \"BIRTHDATE\",\n      CUSTOM_FIELD = \"CUSTOM_FIELD\",\n      SUBSCRIPTION = \"SUBSCRIPTION\",\n      VAT_ID = \"VAT_ID\"\n  }\n  interface EmailInfo {\n      /** Email tag. */\n      tag?: EmailInfoTag;\n  }\n  interface PhoneInfo {\n      /** Phone tag. */\n      tag?: PhoneInfoTag;\n  }\n  interface AddressInfo {\n      /** Address tag. */\n      tag?: Tag;\n  }\n  interface CustomFieldInfo {\n      /** Custom field key. */\n      key?: string;\n  }\n  interface SubscriptionInfo {\n      /**\n       * Subscription consent opt in level, either single or double confirmation.\n       * Default: SINGLE_CONFIRMATION\n       */\n      optInLevel?: OptInLevel;\n  }\n  interface _String extends _StringComponentTypeOptionsOneOf {\n      /** Text input field */\n      textInputOptions?: TextInput;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown;\n      /** Field for selecting date and/or time */\n      dateTimeOptions?: DateTimeInput;\n      /** Phone input field */\n      phoneInputOptions?: PhoneInput;\n      /** Dropdown based component for selecting date */\n      dateInputOptions?: DateInput;\n      /** Field for selecting time */\n      timeInputOptions?: TimeInput;\n      /** Calendar type component for selecting date */\n      datePickerOptions?: DatePicker;\n      /** Validation of field output value. */\n      validation?: InputFieldStringType;\n      /**\n       * Component type of the string input field\n       * @readonly\n       */\n      componentType?: StringComponentType;\n  }\n  /** @oneof */\n  interface _StringComponentTypeOptionsOneOf {\n      /** Text input field */\n      textInputOptions?: TextInput;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown;\n      /** Field for selecting date and/or time */\n      dateTimeOptions?: DateTimeInput;\n      /** Phone input field */\n      phoneInputOptions?: PhoneInput;\n      /** Dropdown based component for selecting date */\n      dateInputOptions?: DateInput;\n      /** Field for selecting time */\n      timeInputOptions?: TimeInput;\n      /** Calendar type component for selecting date */\n      datePickerOptions?: DatePicker;\n  }\n  interface _Number extends _NumberComponentTypeOptionsOneOf {\n      /** Number value input field */\n      numberInputOptions?: NumberInput;\n      /** Rating value input field */\n      ratingInputOptions?: RatingInput;\n      /** Validation of field output value. */\n      validation?: InputFieldNumberType;\n      /**\n       * Component type of the number input field\n       * @readonly\n       */\n      componentType?: NumberComponentType;\n  }\n  /** @oneof */\n  interface _NumberComponentTypeOptionsOneOf {\n      /** Number value input field */\n      numberInputOptions?: NumberInput;\n      /** Rating value input field */\n      ratingInputOptions?: RatingInput;\n  }\n  interface _Boolean extends _BooleanComponentTypeOptionsOneOf {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox;\n      /** Validation of field output value. */\n      validation?: InputFieldBooleanType;\n      /**\n       * Component type of the boolean input field\n       * @readonly\n       */\n      componentType?: BooleanComponentType;\n  }\n  /** @oneof */\n  interface _BooleanComponentTypeOptionsOneOf {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox;\n  }\n  interface _Array extends _ArrayComponentTypeOptionsOneOf {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup;\n      /** Tags input field */\n      tagsOptions?: Tags;\n      /** Validation of array type. */\n      validation?: InputFieldArrayType;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: ComponentType;\n  }\n  /** @oneof */\n  interface _ArrayComponentTypeOptionsOneOf {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup;\n      /** Tags input field */\n      tagsOptions?: Tags;\n  }\n  interface _Object extends _ObjectValidationOneOf {\n      /** Validation of object type. */\n      object?: InputFieldObjectType;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  /** @oneof */\n  interface _ObjectValidationOneOf {\n      /** Validation of object type. */\n      object?: InputFieldObjectType;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  interface WixFile extends WixFileComponentTypeOptionsOneOf {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload;\n      /** Signature input field */\n      signatureOptions?: Signature;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: WixFileComponentType;\n  }\n  /** @oneof */\n  interface WixFileComponentTypeOptionsOneOf {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload;\n      /** Signature input field */\n      signatureOptions?: Signature;\n  }\n  interface Payment extends PaymentComponentTypeOptionsOneOf {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: ProductCheckboxGroup;\n      /** Donation input field. */\n      donationInputOptions?: DonationInput;\n      /** Payment input field. */\n      paymentInputOptions?: PaymentInput;\n      /** Fixed payment field. */\n      fixedPaymentOptions?: FixedPayment;\n      /**\n       * Component type of the payment input field.\n       * @readonly\n       */\n      componentType?: PaymentComponentType;\n      /** Validation of payment type. */\n      validation?: PaymentType;\n  }\n  /** @oneof */\n  interface PaymentComponentTypeOptionsOneOf {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: ProductCheckboxGroup;\n      /** Donation input field. */\n      donationInputOptions?: DonationInput;\n      /** Payment input field. */\n      paymentInputOptions?: PaymentInput;\n      /** Fixed payment field. */\n      fixedPaymentOptions?: FixedPayment;\n  }\n  interface InputFieldMultilineAddress extends InputFieldMultilineAddressComponentTypeOptionsOneOf {\n      /** Multiline address input field. */\n      multilineAddressOptions?: MultilineAddress;\n      /**\n       * Component type of the multiline address field.\n       * @readonly\n       */\n      componentType?: MultilineAddressComponentType;\n      /** Validation of multiline address field output value. */\n      validation?: MultilineAddressValidation;\n  }\n  /** @oneof */\n  interface InputFieldMultilineAddressComponentTypeOptionsOneOf {\n      /** Multiline address input field. */\n      multilineAddressOptions?: MultilineAddress;\n  }\n  enum Target {\n      /** Undefined target. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Open in the same browser tab. */\n      SELF = \"SELF\",\n      /** Open in a new tab. */\n      BLANK = \"BLANK\"\n  }\n  interface ThankYouMessage {\n      /** Message show after form submission */\n      text?: RichContent;\n      /**\n       * Duration after how much second it should disappear. If 0, will stay forever.\n       * Default: false\n       */\n      duration?: number | null;\n  }\n  interface Redirect {\n      /** Url to which UoU should be redirected after successful submit of form */\n      url?: string | null;\n      /** How should url be opened */\n      target?: Target;\n  }\n  enum FieldType {\n      UNKNOWN = \"UNKNOWN\",\n      INPUT = \"INPUT\",\n      DISPLAY = \"DISPLAY\",\n      SUBMIT = \"SUBMIT\"\n  }\n  interface InputField extends InputFieldInputTypeOptionsOneOf {\n      /** Input return string as value */\n      stringOptions?: _String;\n      /** Input return number as value */\n      numberOptions?: _Number;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean;\n      /** Input return array as value */\n      arrayOptions?: _Array;\n      /** Input return object as value */\n      objectOptions?: _Object;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment;\n      /** Input returns multiline address as value. */\n      multilineAddressOptions?: InputFieldMultilineAddress;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /**\n       * Mark the field as containing personal information. This will encrypt user data when storing it.\n       * Default: false\n       */\n      pii?: boolean;\n      /**\n       * Whether the field is required.\n       * Default: false\n       */\n      required?: boolean;\n      /**\n       * Type of the input field\n       * @readonly\n       */\n      inputType?: InputType;\n      /** Mapping to contacts, telling to what contact property field input value should be saved. */\n      contactMapping?: FormFieldContactInfo;\n      /**\n       * Whether the field is read only.\n       * Default: false\n       */\n      readOnly?: boolean;\n  }\n  /** @oneof */\n  interface InputFieldInputTypeOptionsOneOf {\n      /** Input return string as value */\n      stringOptions?: _String;\n      /** Input return number as value */\n      numberOptions?: _Number;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean;\n      /** Input return array as value */\n      arrayOptions?: _Array;\n      /** Input return object as value */\n      objectOptions?: _Object;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment;\n      /** Input returns multiline address as value. */\n      multilineAddressOptions?: InputFieldMultilineAddress;\n  }\n  /** Copy of the entity existing in form template project, needed to hide translations. */\n  interface DisplayField extends DisplayFieldDisplayFieldTypeOptionsOneOf, DisplayFieldComponentTypeOneOf {\n      /** Component displaying rich content */\n      richContentOptions?: RichContentOptions;\n      /** Page navigation component resolving as navigation or submit buttons */\n      pageNavigationOptions?: PageNavigationOptions;\n      /** Header field */\n      header?: Header;\n      /** Rich text field */\n      richText?: RichText;\n      /** Type of the display field */\n      displayFieldType?: DisplayFieldType;\n  }\n  /** @oneof */\n  interface DisplayFieldDisplayFieldTypeOptionsOneOf {\n      /** Component displaying rich content */\n      richContentOptions?: RichContentOptions;\n      /** Page navigation component resolving as navigation or submit buttons */\n      pageNavigationOptions?: PageNavigationOptions;\n  }\n  /** @oneof */\n  interface DisplayFieldComponentTypeOneOf {\n      /** Header field */\n      header?: Header;\n      /** Rich text field */\n      richText?: RichText;\n  }\n  enum DisplayFieldType {\n      UNKNOWN_FIELD_TYPE = \"UNKNOWN_FIELD_TYPE\",\n      RICH_CONTENT = \"RICH_CONTENT\",\n      PAGE_NAVIGATION = \"PAGE_NAVIGATION\"\n  }\n  interface RichContentOptions {\n      /** Content of the header */\n      richContent?: RichContent;\n  }\n  interface PageNavigationOptions {\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to next page. */\n      nextPageText?: string | null;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to previous page. */\n      previousPageText?: string | null;\n      /** Text on the button when button is submitting a form */\n      submitText?: string | null;\n  }\n  interface Header {\n      /** Content of the header */\n      content?: RichContent;\n  }\n  interface RichText {\n      /** Content of the rich text field */\n      content?: RichContent;\n  }\n  interface SubmitButton extends SubmitButtonSubmitActionOneOf {\n      /**\n       * Submit action effect is to show message\n       * @deprecated Submit action effect is to show message\n       * @replacedBy wix.forms.v4.SubmitSettings.ThankYouMessageOptions\n       * @targetRemovalDate 2025-01-06\n       */\n      thankYouMessage?: ThankYouMessage;\n      /**\n       * Submit action effect is to redirect to\n       * @deprecated Submit action effect is to redirect to\n       * @replacedBy wix.forms.v4.SubmitSettings.RedirectOptions\n       * @targetRemovalDate 2025-01-06\n       */\n      redirect?: Redirect;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to next page. */\n      nextText?: string | null;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to previous page. */\n      previousText?: string | null;\n      /** Text on the button when button is submitting a form */\n      submitText?: string | null;\n  }\n  /** @oneof */\n  interface SubmitButtonSubmitActionOneOf {\n      /**\n       * Submit action effect is to show message\n       * @deprecated Submit action effect is to show message\n       * @replacedBy wix.forms.v4.SubmitSettings.ThankYouMessageOptions\n       * @targetRemovalDate 2025-01-06\n       */\n      thankYouMessage?: ThankYouMessage;\n      /**\n       * Submit action effect is to redirect to\n       * @deprecated Submit action effect is to redirect to\n       * @replacedBy wix.forms.v4.SubmitSettings.RedirectOptions\n       * @targetRemovalDate 2025-01-06\n       */\n      redirect?: Redirect;\n  }\n  interface Step {\n      /** Step ID. */\n      _id?: string;\n      /** Name of the step. */\n      name?: string | null;\n      /** Is step hidden */\n      hidden?: boolean;\n      /** Form step properties */\n      layout?: FormLayout;\n  }\n  interface FormLayout {\n      /** Layout for large break point. */\n      large?: BreakPoint;\n      /** Layout for medium break point. */\n      medium?: BreakPoint;\n      /** Layout for small break point. */\n      small?: BreakPoint;\n  }\n  interface BreakPoint {\n      /** Description of layouts for items. */\n      items?: ItemLayout[];\n      /** Amount of columns of layout grid. */\n      columns?: number | null;\n      /** Row height of layout grid. */\n      rowHeight?: number | null;\n      /** Description of elements margins. */\n      margin?: Margin;\n      /** Description of elements paddings. */\n      padding?: Margin;\n      /** Sections of the layout, which allow manage fields */\n      sections?: Section[];\n  }\n  interface ItemLayout extends ItemLayoutItemOneOf {\n      /** Form field reference id. */\n      fieldId?: string;\n      /** Group info, defining that this item is a group of multiple fields */\n      group?: Group;\n      /** Horizontal coordinate in the grid. */\n      row?: number | null;\n      /** Vertical coordinate in the grid. */\n      column?: number | null;\n      /** Height. */\n      width?: number | null;\n      /** Width. */\n      height?: number | null;\n  }\n  /** @oneof */\n  interface ItemLayoutItemOneOf {\n      /** Form field reference id. */\n      fieldId?: string;\n      /** Group info, defining that this item is a group of multiple fields */\n      group?: Group;\n  }\n  interface Group {\n      /** Field group reference id. */\n      groupId?: string;\n      /** Description of layouts for items. */\n      items?: ItemLayout[];\n  }\n  interface Margin {\n      /** Horizontal value. */\n      horizontal?: number | null;\n      /** Vertical value. */\n      vertical?: number | null;\n  }\n  interface Section {\n      /** Id of the section */\n      _id?: string;\n      /** Horizontal coordinate in the grid. */\n      row?: number | null;\n      /**\n       * A list of field identifiers that are permitted to be placed within a section.\n       * The section will only accept fields with IDs specified in this list.\n       * If the section encounters the $new key within the list,\n       * it allows the inclusion of fields not explicitly listed,\n       * enabling dynamic addition of new fields.\n       */\n      allowedFieldIds?: string[];\n  }\n  interface FormRule {\n      /** Id of the rule */\n      _id?: string;\n      /** Rule on which item properties or layouts will be changed. */\n      condition?: Record<string, any> | null;\n      /**\n       * Form items with defined properties that will be\n       * changed when given condition is resolved to true.\n       */\n      overrides?: FormOverride[];\n      /** Name of the rule */\n      name?: string | null;\n  }\n  enum OverrideEntityType {\n      UNKNOWN = \"UNKNOWN\",\n      FIELD = \"FIELD\",\n      FORM = \"FORM\",\n      NESTED_FORM_FIELD = \"NESTED_FORM_FIELD\"\n  }\n  interface FormOverride {\n      /** Override entity type. */\n      entityType?: OverrideEntityType;\n      /** Overridden entity id. Either fieldId, or \"{fieldIdWithNestedForm}/{nestedFormFieldId}\" */\n      entityId?: string | null;\n      /** Form entity properties path with new value, that will be changed on condition. */\n      valueChanges?: Record<string, any>;\n  }\n  interface FormProperties {\n      /** Form name. */\n      name?: string | null;\n      /** Identifies if the form is disabled. */\n      disabled?: boolean;\n  }\n  enum Kind {\n      /** Return forms specific to tenant, excluding template based forms. */\n      REGULAR = \"REGULAR\",\n      /** Return forms based on common templates, with applied user overrides if they exist. */\n      EXTENSION = \"EXTENSION\"\n  }\n  interface PostSubmissionTriggers {\n      /** Upserts a contact from the submission data. */\n      upsertContact?: UpsertContact;\n  }\n  interface UpsertContact {\n      /** Fields mapping (target field mapped to corresponding contact field). */\n      fieldsMapping?: Record<string, FormFieldContactInfo>;\n      /**\n       * List of contact label keys.\n       * [Contact labels](https://support.wix.com/en/article/adding-labels-to-contacts-in-your-contact-list)\n       * help categorize contacts.\n       */\n      labels?: string[];\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface NestedForm {\n      /** Targets which have this form. */\n      targets?: string[];\n      /** Nested form. */\n      form?: Form;\n  }\n  interface LimitationRule {\n      /** Limitation by submission count, disables form when a set amount of submissions is reached. */\n      maxAllowedSubmissions?: number | null;\n      /** Limitation by submission date, disables form when a set date and time is reached. */\n      dateTimeDeadline?: Date | null;\n  }\n  enum SpamFilterProtectionLevel {\n      /** Unknown spam filter protection level. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Spam filter is not used. Form is open for spam submissions. */\n      NONE = \"NONE\",\n      /** Spam filter operates in basic mode. Form is open to high risk of spam submissions. */\n      BASIC = \"BASIC\",\n      /** Spam filter operates in advanced mode. Form is open to low risk of spam submissions. */\n      ADVANCED = \"ADVANCED\"\n  }\n  interface RequiredIndicatorProperties {\n      /** Required indicator. */\n      requiredIndicator?: RequiredIndicator;\n      /** Required indicator placement. */\n      requiredIndicatorPlacement?: RequiredIndicatorPlacement;\n  }\n  interface SubmitSettings extends SubmitSettingsSubmitSuccessActionOptionsOneOf {\n      /** Options for showing a thank you message after submission. */\n      thankYouMessageOptions?: ThankYouMessageOptions;\n      /** Options for redirecting to a URL after submission. */\n      redirectOptions?: RedirectOptions;\n      /** Action that is triggered after a successful form submission. */\n      submitSuccessAction?: SubmitSuccessAction;\n  }\n  /** @oneof */\n  interface SubmitSettingsSubmitSuccessActionOptionsOneOf {\n      /** Options for showing a thank you message after submission. */\n      thankYouMessageOptions?: ThankYouMessageOptions;\n      /** Options for redirecting to a URL after submission. */\n      redirectOptions?: RedirectOptions;\n  }\n  enum UrlTargetEnumTarget {\n      /** Unknown target. */\n      UNKNOWN_TARGET = \"UNKNOWN_TARGET\",\n      /** Open in the same browser tab. */\n      SELF = \"SELF\",\n      /** Open in a new browser tab. */\n      BLANK = \"BLANK\"\n  }\n  enum SubmitSuccessAction {\n      /** Unknown submit success action. */\n      UNKNOWN_SUBMIT_SUCCESS_ACTION = \"UNKNOWN_SUBMIT_SUCCESS_ACTION\",\n      /** No action will be taken after submission. */\n      NO_ACTION = \"NO_ACTION\",\n      /** A thank you message will be shown after submission. */\n      THANK_YOU_MESSAGE = \"THANK_YOU_MESSAGE\",\n      /** The user will be redirected to a URL after submission. */\n      REDIRECT = \"REDIRECT\"\n  }\n  interface ThankYouMessageOptions {\n      /** Duration in seconds after which the message should disappear. If 0, the message will stay forever. */\n      durationInSeconds?: number | null;\n      /** The message shown after form submission. */\n      richContent?: RichContent;\n  }\n  interface RedirectOptions {\n      /** The URL to which the user should be redirected after a successful form submission. */\n      redirectUrl?: string | null;\n      /** How the URL should be opened. */\n      target?: UrlTargetEnumTarget;\n  }\n  interface FieldGroup {\n      /** Id of group, on layout */\n      _id?: string;\n      /** Label of group */\n      label?: string | null;\n  }\n  interface PiiFieldsUpdated {\n      /** Collection of fields which are marked as PII */\n      piiFields?: string[];\n      /** Collection of fields which are non PII */\n      nonPiiFields?: string[];\n  }\n  interface FormChanged {\n      /** Form namespace */\n      namespace?: string;\n      /** Form after update */\n      form?: Form;\n      /** Form before update */\n      formBeforeUpdate?: Form;\n  }\n  interface FormDeleted {\n      /** Form namespace */\n      namespace?: string;\n      /** Form state on delete moment */\n      form?: Form;\n  }\n  interface SubmissionKeysPermanentlyDeleted {\n      /** Keys which should be deleted */\n      keys?: string[] | null;\n  }\n  interface CreateFormRequest {\n      /** Form to be created. */\n      form: Form;\n  }\n  interface CreateFormResponse {\n      /** The created form. */\n      form?: Form;\n  }\n  interface TargetBasedErrorDetails {\n      /** Targets which are related to the error. */\n      targets?: string[];\n  }\n  interface FieldIdBasedErrorDetails {\n      /** Field ids which are related to the error. */\n      ids?: string[];\n  }\n  interface StepIdBasedErrorDetails {\n      /** Step ids which are related to the error. */\n      ids?: string[];\n  }\n  interface RuleIdBasedErrorDetails {\n      /** Rule ids which are related to the error. */\n      ids?: string[];\n  }\n  interface NonExistingNestedFormsErrorDetails {\n      /** Non existing nested form ids by target */\n      targetToNestedFormId?: Record<string, string>;\n  }\n  interface NestedFormFieldsMissingErrorDetails {\n      /** Missing nested template field ids by target. */\n      targetToNestedFormFieldIds?: Record<string, FieldIdBasedErrorDetails>;\n  }\n  interface FormFieldV2ApiValidationErrorDetails {\n      /** Field ids which are related to the error. */\n      ids?: string[];\n      /** Violations which are related to the error. */\n      violations?: string[];\n  }\n  interface ProductIdBasedErrorDetails {\n      /** Product ids which are related to the error. */\n      ids?: string[];\n  }\n  interface BulkCreateFormRequest {\n      /** Forms to be created. */\n      forms?: Form[];\n      /** When set, items will be returned on successful create */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateFormResponse {\n      /** Created forms with metadata */\n      results?: BulkFormResult[];\n      /** Metadata of request */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkFormResult {\n      /** Created form metadata */\n      itemMetadata?: ItemMetadata;\n      /** Created form */\n      item?: Form;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface CloneFormRequest {\n      /** Id of the form to clone. */\n      formId: string;\n  }\n  interface CloneFormResponse {\n      /** The cloned form. */\n      form?: Form;\n  }\n  interface CloneFormFromTemplateRequest {\n      /** Namespace of the vertical owning template */\n      namespace: string;\n      /** Template id which can be copied */\n      templateId: string;\n      /**\n       * When true, will try to create form with same id as template\n       * Will fail if entity with such Id already exists\n       */\n      useTemplateId?: boolean;\n  }\n  interface CloneFormFromTemplateResponse {\n      /** The cloned form. */\n      form?: Form;\n  }\n  interface GetFormRequest {\n      /** Id of the form to retrieve. */\n      formId: string;\n      /**\n       * List of additional form fields to include in the response. For example, use the `NESTED_FORMS` fieldset to retrieve the nested forms field in\n       * the response in addition to the form’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the form’s base fields are returned.\n       */\n      fieldsets?: Fieldset[];\n      /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n      additionalMetadata?: Record<string, any> | null;\n  }\n  enum Fieldset {\n      UNKNOWN = \"UNKNOWN\",\n      /** Includes nested forms when present. */\n      NESTED_FORMS = \"NESTED_FORMS\"\n  }\n  interface GetFormResponse {\n      /** The retrieved form. */\n      form?: Form;\n  }\n  interface UpdateFormRequest {\n      /** Form to be updated, may be partial. */\n      form: Form;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateFormResponse {\n      /** The updated form. */\n      form?: Form;\n  }\n  interface RemoveFormFromTrashBinRequest {\n      /** Id of the form to delete. */\n      formId: string;\n  }\n  interface RemoveFormFromTrashBinResponse {\n  }\n  interface DeleteFormRequest {\n      /** Id of the form to delete. */\n      formId: string;\n      /**\n       * Delete form bypassing trash-bin.\n       * Default: false\n       */\n      permanent?: boolean;\n  }\n  interface DeleteFormResponse {\n  }\n  interface RestoreFromTrashBinRequest {\n      /** Id of the form to restore. */\n      formId: string;\n  }\n  interface RestoreFromTrashBinResponse {\n      /** The restored form. */\n      form?: Form;\n  }\n  interface QueryFormsRequest {\n      /** WQL expression, namespace equality filter is required. */\n      query: CursorQuery;\n      /**\n       * Kind of queried forms.\n       * REGULAR - will return forms specific to tenant, excluding template based forms.\n       * EXTENSION - will return forms based on common templates, with applied user overrides if there are such.\n       * @internal\n       */\n      kind?: Kind;\n      /**\n       * List of additional form fields to include in the response. For example, use the `NESTED_FORMS` fieldset to retrieve the nested forms field in\n       * the response in addition to the form’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the form’s base fields are returned.\n       */\n      fieldsets?: Fieldset[];\n      /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n      additionalMetadata?: Record<string, any> | null;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CommonCursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CommonCursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryFormsResponse {\n      /** The retrieved forms */\n      forms?: Form[];\n      /** Details on the paged set of results returned. */\n      metadata?: CommonCursorPagingMetadata;\n  }\n  interface CommonCursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: CommonCursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CountFormsRequest {\n      /** Namespace name. */\n      namespace: string;\n      /** Fieldsets. */\n      fieldsets?: CountFormsFieldset[];\n  }\n  enum CountFormsFieldset {\n      UNKNOWN = \"UNKNOWN\",\n      /** Include deleted forms count. */\n      DELETED = \"DELETED\"\n  }\n  interface CountFormsResponse {\n      /** Total forms count. Includes active and disabled forms. Does not include deleted forms. */\n      totalCount?: number;\n      /** Active forms count. Only includes non-disabled forms if FT CountFormsActiveCountExcludeDisabled is true, otherwise behaves like total_count. */\n      activeCount?: number;\n      /** Disabled forms count. */\n      disabledCount?: number;\n      /** Deleted forms count. Counted only if specifically requested using a fieldset. */\n      deletedCount?: number | null;\n  }\n  interface ListTemplateExtensionsRequest {\n      /** Namespace name. */\n      namespace: string;\n      /** Identifies if the form is disabled. */\n      disabled?: boolean | null;\n      /**\n       * Ordering options.\n       *\n       * - `UPDATED_DATE_DESC`: Ordered by `updatedDate` in descending order.\n       * - `UPDATED_DATE_ASC`: Ordered by `updatedDate` in ascending order.\n       * - `CREATED_DATE_ASC`: Ordered by `createdDate` in ascending order.\n       * - `CREATED_DATE_DESC`: Ordered by `createdDate` in descending order.\n       * - `NAME_ASC`: Ordered by `properties.name` in ascending order.\n       * - `NAME_DESC`: Ordered by `properties.name` in descending order.\n       *\n       * Default: `UPDATED_DATE_DESC`\n       */\n      order?: ListFormsOrderEnumListFormsOrder;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or `order`. */\n      paging?: CommonCursorPaging;\n      /**\n       * List of additional form fields to include in the response. For example, use the `NESTED_FORMS` fieldset to retrieve the nested forms field in\n       * the response in addition to the form’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the form’s base fields are returned.\n       */\n      fieldsets?: Fieldset[];\n      /** Form ids. */\n      formIds?: string[];\n      /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n      additionalMetadata?: Record<string, any> | null;\n      /** Filter by name */\n      nameFilter?: NameFilter;\n      /** List of templates id, which extensions expected */\n      templateIds: string[];\n  }\n  enum ListFormsOrderEnumListFormsOrder {\n      /** Sorting by updated date descending. The default value. */\n      UPDATED_DATE_DESC = \"UPDATED_DATE_DESC\",\n      /** Sorting by updated date ascending. */\n      UPDATED_DATE_ASC = \"UPDATED_DATE_ASC\",\n      /** Sorting by created date ascending. */\n      CREATED_DATE_ASC = \"CREATED_DATE_ASC\",\n      /** Sorting by created date descending. */\n      CREATED_DATE_DESC = \"CREATED_DATE_DESC\",\n      /** Sorting by name ascending. */\n      NAME_ASC = \"NAME_ASC\",\n      /** Sorting by name descending. */\n      NAME_DESC = \"NAME_DESC\"\n  }\n  interface NameFilter {\n      /** Type of filter */\n      filterType?: FilterType;\n      /** Expected name */\n      name?: string;\n  }\n  enum FilterType {\n      EXACT_MATCH = \"EXACT_MATCH\",\n      STARTS_WITH = \"STARTS_WITH\"\n  }\n  interface ListTemplateExtensionsResponse {\n      /** The retrieved forms. */\n      forms?: Form[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface ListFormsRequest {\n      /** Namespace name. */\n      namespace: string;\n      /** Identifies if the form is disabled. */\n      disabled?: boolean | null;\n      /**\n       * Kind of forms.\n       * @internal\n       */\n      kind?: Kind;\n      /**\n       * Ordering options.\n       *\n       * - `UPDATED_DATE_DESC`: Ordered by `updatedDate` in descending order.\n       * - `UPDATED_DATE_ASC`: Ordered by `updatedDate` in ascending order.\n       * - `CREATED_DATE_ASC`: Ordered by `createdDate` in ascending order.\n       * - `CREATED_DATE_DESC`: Ordered by `createdDate` in descending order.\n       * - `NAME_ASC`: Ordered by `properties.name` in ascending order.\n       * - `NAME_DESC`: Ordered by `properties.name` in descending order.\n       *\n       * Default: `UPDATED_DATE_DESC`\n       */\n      order?: ListFormsOrder;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or `order`. */\n      paging?: CommonCursorPaging;\n      /**\n       * List of additional form fields to include in the response. For example, use the `NESTED_FORMS` fieldset to retrieve the nested forms field in\n       * the response in addition to the form’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the form’s base fields are returned.\n       */\n      fieldsets?: Fieldset[];\n      /** Form ids. */\n      formIds?: string[];\n      /** Identifies if the form is a payment form */\n      paymentForm?: boolean | null;\n      /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n      additionalMetadata?: Record<string, any> | null;\n  }\n  enum ListFormsOrder {\n      /** Sorting by updated date descending. The default value. */\n      UPDATED_DATE_DESC = \"UPDATED_DATE_DESC\",\n      /** Sorting by updated date ascending. */\n      UPDATED_DATE_ASC = \"UPDATED_DATE_ASC\",\n      /** Sorting by created date ascending. */\n      CREATED_DATE_ASC = \"CREATED_DATE_ASC\",\n      /** Sorting by created date descending. */\n      CREATED_DATE_DESC = \"CREATED_DATE_DESC\",\n      /** Sorting by name ascending. */\n      NAME_ASC = \"NAME_ASC\",\n      /** Sorting by name descending. */\n      NAME_DESC = \"NAME_DESC\"\n  }\n  interface ListFormsResponse {\n      /** The retrieved forms. */\n      forms?: Form[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface GetDeletedFormRequest {\n      /** Id of the Form to retrieve */\n      formId: string;\n  }\n  interface GetDeletedFormResponse {\n      /** The retrieved Form */\n      form?: Form;\n  }\n  interface QueryDeletedFormsRequest {\n      /** WQL expression, namespace equality filter is required. */\n      query: CursorQuery;\n  }\n  interface QueryDeletedFormsResponse {\n      /** The retrieved Forms */\n      forms?: Form[];\n      /** Details on the paged set of results returned. */\n      metadata?: CommonCursorPagingMetadata;\n  }\n  interface ListDeletedFormsRequest {\n      /** Namespace name. */\n      namespace: string;\n      /** Identifies if the form is disabled. */\n      disabled?: boolean | null;\n      /** Form ids. */\n      formIds?: string[];\n      /**\n       * Ordering options.\n       *\n       * - `UPDATED_DATE_ASC`: Ordered by `updatedDate` in ascending order.\n       * - `UPDATED_DATE_DESC`: Ordered by `updatedDate` in descending order.\n       * - `NAME_ASC`: Ordered by `properties.name` in ascending order.\n       * - `NAME_DESC`: Ordered by `properties.name` in descending order.\n       *\n       * Default: `UPDATED_DATE_DESC`\n       */\n      order?: ListDeletedFormsOrder;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or `order`. */\n      paging?: CommonCursorPaging;\n      /** Identifies if the form is a payment form */\n      paymentForm?: boolean | null;\n  }\n  enum ListDeletedFormsOrder {\n      /** Sorting by updated date descending. The default value. */\n      UPDATED_DATE_DESC = \"UPDATED_DATE_DESC\",\n      /** Sorting by updated date ascending. */\n      UPDATED_DATE_ASC = \"UPDATED_DATE_ASC\",\n      /** Sorting by name descending. */\n      NAME_DESC = \"NAME_DESC\",\n      /** Sorting by name ascending. */\n      NAME_ASC = \"NAME_ASC\"\n  }\n  interface ListDeletedFormsResponse {\n      /** The retrieved forms. */\n      forms?: Form[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface BulkRemoveDeletedFieldRequest {\n      /** Id of the form to delete. */\n      formId: string;\n      /** Ids of the deleted fields to remove. */\n      fieldsIds?: string[];\n  }\n  interface BulkRemoveDeletedFieldResponse {\n      /** Form with the deleted fields. */\n      form?: Form;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** namespace that was updated */\n      namespace?: string;\n      /** only data from UpdateExtendedFieldsRequest namespace_data */\n      namespaceData?: Record<string, any> | null;\n  }\n  interface ListFormsProvidersConfigsRequest {\n  }\n  interface ListFormsProvidersConfigsResponse {\n      /** List of configs set by form providers */\n      configs?: FormsSchemaProvidersConfig[];\n  }\n  interface FormsSchemaProvidersConfig {\n      /** Namespace which can be used to create form */\n      namespace?: string;\n      /** Id of app which provides this config. */\n      appId?: string;\n      /** Restrictions associated with this namespace. */\n      restrictions?: FormProviderRestrictions;\n  }\n  interface FormProviderRestrictions {\n      /** Maximum amount of forms allowed per namespace. */\n      maxFormsAmount?: number;\n      /** Maximum amount of fields allowed per form. */\n      maxFieldsAmount?: number;\n      /** Maximum amount of deleted forms allowed per namespace. */\n      maxDeletedFormsAmount?: number | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface GetFormSummaryRequest {\n      /** Id of the form to retrieve. */\n      formId: string;\n  }\n  interface GetFormSummaryResponse {\n      /** The retrieved form field summary. */\n      formSummary?: FormSummary;\n  }\n  interface FormSummary {\n      /** Form ID. */\n      _id?: string;\n      /** Summarized form fields. */\n      fields?: Field[];\n  }\n  enum FieldInputType {\n      UNKNOWN_INPUT_TYPE = \"UNKNOWN_INPUT_TYPE\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      RATING = \"RATING\",\n      BOOLEAN = \"BOOLEAN\",\n      ARRAY = \"ARRAY\",\n      OBJECT = \"OBJECT\",\n      WIX_FILE = \"WIX_FILE\",\n      SIGNATURE = \"SIGNATURE\",\n      PAYMENT = \"PAYMENT\",\n      MULTILINE_ADDRESS = \"MULTILINE_ADDRESS\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface FieldOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n  }\n  interface Field {\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /** Label of the field */\n      label?: string | null;\n      /** Input type of the field */\n      type?: FieldInputType;\n      /** List of options to select from */\n      options?: FieldOption[];\n      /**\n       * Flag indicating whether field is deleted.\n       * Default: false.\n       */\n      deleted?: boolean;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new form.\n   * @param form - Form to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField form\n   * @requiredField form.fields._id\n   * @requiredField form.namespace\n   * @requiredField form.rules._id\n   * @requiredField form.steps._id\n   * @permissionId WIX_FORMS.FORM_SCHEMA_CREATE\n   * @adminMethod\n   * @returns The created form.\n   */\n  function createForm(form: Form): Promise<Form>;\n  /**\n   * Creates multiple new forms.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.forms.fields._id\n   * @requiredField options.forms.namespace\n   * @requiredField options.forms.rules._id\n   * @requiredField options.forms.steps._id\n   * @permissionId WIX_FORMS.FORM_SCHEMA_CREATE\n   * @adminMethod\n   */\n  function bulkCreateForm(options?: BulkCreateFormOptions): Promise<BulkCreateFormResponse>;\n  interface BulkCreateFormOptions {\n      /** Forms to be created. */\n      forms?: Form[];\n      /** When set, items will be returned on successful create */\n      returnEntity?: boolean;\n  }\n  /**\n   * Clones an existing form.\n   * @param formId - Id of the form to clone.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.FORM_SCHEMA_CREATE\n   * @adminMethod\n   */\n  function cloneForm(formId: string): Promise<CloneFormResponse>;\n  /**\n   * Clones template as a form.\n   * @param namespace - Namespace of the vertical owning template\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField namespace\n   * @requiredField options.templateId\n   * @permissionId WIX_FORMS.FORM_SCHEMA_CREATE\n   * @adminMethod\n   */\n  function cloneFormFromTemplate(namespace: string, options?: CloneFormFromTemplateOptions): Promise<CloneFormFromTemplateResponse>;\n  interface CloneFormFromTemplateOptions {\n      /** Template id which can be copied */\n      templateId: string;\n      /**\n       * When true, will try to create form with same id as template\n       * Will fail if entity with such Id already exists\n       */\n      useTemplateId?: boolean;\n  }\n  /**\n   * Gets a form by id.\n   * @param formId - Id of the form to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.FORM_SCHEMA_READ\n   * @returns The retrieved form.\n   */\n  function getForm(formId: string, options?: GetFormOptions): Promise<Form>;\n  interface GetFormOptions {\n      /**\n       * List of additional form fields to include in the response. For example, use the `NESTED_FORMS` fieldset to retrieve the nested forms field in\n       * the response in addition to the form’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the form’s base fields are returned.\n       */\n      fieldsets?: Fieldset[];\n      /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n      additionalMetadata?: Record<string, any> | null;\n  }\n  /**\n   * Updates a form, supports partial update.\n   * Pass the latest `revision` for a successful update.\n   * @param _id - Form ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField form\n   * @requiredField form.fields._id\n   * @requiredField form.revision\n   * @requiredField form.rules._id\n   * @requiredField form.steps._id\n   * @permissionId WIX_FORMS.FORM_SCHEMA_UPDATE\n   * @adminMethod\n   * @returns The updated form.\n   */\n  function updateForm(_id: string | null, form: UpdateForm, options?: UpdateFormOptions): Promise<Form>;\n  interface UpdateForm {\n      /**\n       * Form ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** List of form fields that represent input elements. */\n      fields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      fieldsV2?: FormFieldV2[];\n      /** Defines the layout for form fields in each submission step. */\n      steps?: Step[];\n      /** Form rules, can be applied to layout and items properties. */\n      rules?: FormRule[];\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Properties of the form. */\n      properties?: FormProperties;\n      /**\n       * Fields which were soft deleted.\n       * @readonly\n       */\n      deletedFields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      deletedFieldsV2?: FormFieldV2[];\n      /**\n       * Regular forms can be freely modified.\n       * Extensions are copied from templates and might have restrictions.\n       * @readonly\n       */\n      kind?: Kind;\n      /**\n       * Defines triggers that will be executed after the submission, for the submissions based on this schema.\n       * Forms provide a set of predefined triggers that allow it to assign specific business cases to created forms.\n       */\n      postSubmissionTriggers?: PostSubmissionTriggers;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields;\n      /** Identifies the namespace that the form belongs to. */\n      namespace?: string;\n      /**\n       * Nested forms.\n       * @internal\n       * @readonly\n       */\n      nestedForms?: NestedForm[];\n      /**\n       * Media folder ID.\n       * @readonly\n       */\n      mediaFolderId?: string | null;\n      /** Rules that limit submissions on this form. */\n      limitationRule?: LimitationRule;\n      /**\n       * Spam filter protection level.\n       * Default: ADVANCED.\n       */\n      spamFilterProtectionLevel?: SpamFilterProtectionLevel;\n      /** Required indicator properties. */\n      requiredIndicatorProperties?: RequiredIndicatorProperties;\n      /** Settings for actions to be taken after form submission. */\n      submitSettings?: SubmitSettings;\n      /** Settings for field groups */\n      fieldGroups?: FieldGroup[];\n      /** Message shown when the form is disabled */\n      disabledFormMessage?: RichContent;\n      /** Id of the source form. */\n      sourceFormId?: string | null;\n  }\n  interface UpdateFormOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a form. It is stored in trash for 90 days.\n   * On form permanent deletion, all submissions are also deleted.\n   * @param formId - Id of the form to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.FORM_SCHEMA_DELETE\n   * @adminMethod\n   */\n  function removeFormFromTrashBin(formId: string): Promise<void>;\n  /**\n   * Deletes a form. It is stored in trash for 90 days.\n   * On form permanent deletion, all submissions are also deleted.\n   * @param formId - Id of the form to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.FORM_SCHEMA_DELETE\n   * @adminMethod\n   */\n  function deleteForm(formId: string, options?: DeleteFormOptions): Promise<void>;\n  interface DeleteFormOptions {\n      /**\n       * Delete form bypassing trash-bin.\n       * Default: false\n       */\n      permanent?: boolean;\n  }\n  /**\n   * Restores a form from trash.\n   * @param formId - Id of the form to restore.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.FORM_SCHEMA_CREATE\n   * @adminMethod\n   */\n  function restoreFromTrashBin(formId: string): Promise<RestoreFromTrashBinResponse>;\n  /**\n   * Query forms using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_FORMS.FORM_SCHEMA_READ\n   */\n  function queryForms(options?: QueryFormsOptions): FormsQueryBuilder;\n  interface QueryFormsOptions {\n      /**\n       * Kind of queried forms.\n       * REGULAR - will return forms specific to tenant, excluding template based forms.\n       * EXTENSION - will return forms based on common templates, with applied user overrides if there are such.\n       * @internal\n       */\n      kind?: Kind | undefined;\n      /**\n       * List of additional form fields to include in the response. For example, use the `NESTED_FORMS` fieldset to retrieve the nested forms field in\n       * the response in addition to the form’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the form’s base fields are returned.\n       */\n      fieldsets?: Fieldset[] | undefined;\n      /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n      additionalMetadata?: Record<string, any> | null | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: CommonCursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface FormsQueryResult extends QueryCursorResult {\n      items: Form[];\n      query: FormsQueryBuilder;\n      next: () => Promise<FormsQueryResult>;\n      prev: () => Promise<FormsQueryResult>;\n  }\n  interface FormsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'properties.name' | 'properties.disabled' | 'namespace', value: any) => FormsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'properties.name' | 'properties.disabled', value: any) => FormsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => FormsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => FormsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => FormsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => FormsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'properties.name', value: string) => FormsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'properties.name', value: any) => FormsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'properties.name' | 'properties.disabled' | 'namespace'>) => FormsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'properties.name' | 'properties.disabled' | 'namespace'>) => FormsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => FormsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => FormsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<FormsQueryResult>;\n  }\n  /**\n   * Counts forms.\n   * @param namespace - Namespace name.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField namespace\n   * @permissionId WIX_FORMS.FORM_SCHEMA_READ\n   */\n  function countForms(namespace: string, options?: CountFormsOptions): Promise<CountFormsResponse>;\n  interface CountFormsOptions {\n      /** Fieldsets. */\n      fieldsets?: CountFormsFieldset[];\n  }\n  /**\n   * Lists template extension as forms, filtered by namespace, its disabled status and name.\n   * If specified, sorts forms in the desired order.\n   * @param namespace - Namespace name.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField namespace\n   * @requiredField options.templateIds\n   * @permissionId WIX_FORMS.FORM_SCHEMA_READ\n   */\n  function listTemplateExtensions(namespace: string, options?: ListTemplateExtensionsOptions): Promise<ListTemplateExtensionsResponse>;\n  interface ListTemplateExtensionsOptions {\n      /** Identifies if the form is disabled. */\n      disabled?: boolean | null;\n      /**\n       * Ordering options.\n       *\n       * - `UPDATED_DATE_DESC`: Ordered by `updatedDate` in descending order.\n       * - `UPDATED_DATE_ASC`: Ordered by `updatedDate` in ascending order.\n       * - `CREATED_DATE_ASC`: Ordered by `createdDate` in ascending order.\n       * - `CREATED_DATE_DESC`: Ordered by `createdDate` in descending order.\n       * - `NAME_ASC`: Ordered by `properties.name` in ascending order.\n       * - `NAME_DESC`: Ordered by `properties.name` in descending order.\n       *\n       * Default: `UPDATED_DATE_DESC`\n       */\n      order?: ListFormsOrderEnumListFormsOrder;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or `order`. */\n      paging?: CommonCursorPaging;\n      /**\n       * List of additional form fields to include in the response. For example, use the `NESTED_FORMS` fieldset to retrieve the nested forms field in\n       * the response in addition to the form’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the form’s base fields are returned.\n       */\n      fieldsets?: Fieldset[];\n      /** Form ids. */\n      formIds?: string[];\n      /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n      additionalMetadata?: Record<string, any> | null;\n      /** Filter by name */\n      nameFilter?: NameFilter;\n      /** List of templates id, which extensions expected */\n      templateIds: string[];\n  }\n  /**\n   * Lists forms, filtered by namespace and its disabled status. If specified, sorts forms in the desired order.\n   * Provides a subset of QueryForms supported capabilities.\n   * @param namespace - Namespace name.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField namespace\n   * @permissionId WIX_FORMS.FORM_SCHEMA_READ\n   */\n  function listForms(namespace: string, options?: ListFormsOptions): Promise<ListFormsResponse>;\n  interface ListFormsOptions {\n      /** Identifies if the form is disabled. */\n      disabled?: boolean | null;\n      /**\n       * Kind of forms.\n       * @internal\n       */\n      kind?: Kind;\n      /**\n       * Ordering options.\n       *\n       * - `UPDATED_DATE_DESC`: Ordered by `updatedDate` in descending order.\n       * - `UPDATED_DATE_ASC`: Ordered by `updatedDate` in ascending order.\n       * - `CREATED_DATE_ASC`: Ordered by `createdDate` in ascending order.\n       * - `CREATED_DATE_DESC`: Ordered by `createdDate` in descending order.\n       * - `NAME_ASC`: Ordered by `properties.name` in ascending order.\n       * - `NAME_DESC`: Ordered by `properties.name` in descending order.\n       *\n       * Default: `UPDATED_DATE_DESC`\n       */\n      order?: ListFormsOrder;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or `order`. */\n      paging?: CommonCursorPaging;\n      /**\n       * List of additional form fields to include in the response. For example, use the `NESTED_FORMS` fieldset to retrieve the nested forms field in\n       * the response in addition to the form’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the form’s base fields are returned.\n       */\n      fieldsets?: Fieldset[];\n      /** Form ids. */\n      formIds?: string[];\n      /** Identifies if the form is a payment form */\n      paymentForm?: boolean | null;\n      /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n      additionalMetadata?: Record<string, any> | null;\n  }\n  /**\n   * Get a deleted Form by id\n   * @param formId - Id of the Form to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.FORM_SCHEMA_READ\n   */\n  function getDeletedForm(formId: string): Promise<GetDeletedFormResponse>;\n  /**\n   * Query deleted Forms using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @param query - WQL expression, namespace equality filter is required.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId WIX_FORMS.FORM_SCHEMA_READ\n   */\n  function queryDeletedForms(query: CursorQuery): Promise<QueryDeletedFormsResponse>;\n  /**\n   * List deleted Forms\n   * @param namespace - Namespace name.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField namespace\n   * @permissionId WIX_FORMS.FORM_SCHEMA_READ\n   */\n  function listDeletedForms(namespace: string, options?: ListDeletedFormsOptions): Promise<ListDeletedFormsResponse>;\n  interface ListDeletedFormsOptions {\n      /** Identifies if the form is disabled. */\n      disabled?: boolean | null;\n      /** Form ids. */\n      formIds?: string[];\n      /**\n       * Ordering options.\n       *\n       * - `UPDATED_DATE_ASC`: Ordered by `updatedDate` in ascending order.\n       * - `UPDATED_DATE_DESC`: Ordered by `updatedDate` in descending order.\n       * - `NAME_ASC`: Ordered by `properties.name` in ascending order.\n       * - `NAME_DESC`: Ordered by `properties.name` in descending order.\n       *\n       * Default: `UPDATED_DATE_DESC`\n       */\n      order?: ListDeletedFormsOrder;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or `order`. */\n      paging?: CommonCursorPaging;\n      /** Identifies if the form is a payment form */\n      paymentForm?: boolean | null;\n  }\n  /**\n   * Remove delete field by its target\n   * @param formId - Id of the form to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.MANAGE\n   * @adminMethod\n   */\n  function bulkRemoveDeletedField(formId: string, options?: BulkRemoveDeletedFieldOptions): Promise<BulkRemoveDeletedFieldResponse>;\n  interface BulkRemoveDeletedFieldOptions {\n      /** Ids of the deleted fields to remove. */\n      fieldsIds?: string[];\n  }\n  /**\n   * Update Extended Fields of the Form\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId WIX_FORMS.FORM_SCHEMA_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  /**\n   * List configurations set by apps providing ability to create forms under their domain.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_FORMS.FORM_SCHEMA_UPDATE\n   * @adminMethod\n   */\n  function listFormsProvidersConfigs(): Promise<ListFormsProvidersConfigsResponse>;\n  /**\n   * Gets a summary of a form by id.\n   * @param formId - Id of the form to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.FORM_SCHEMA_READ\n   */\n  function getFormSummary(formId: string): Promise<GetFormSummaryResponse>;\n  \n  type formsV4Form_universal_d_Form = Form;\n  type formsV4Form_universal_d_RequiredIndicator = RequiredIndicator;\n  const formsV4Form_universal_d_RequiredIndicator: typeof RequiredIndicator;\n  type formsV4Form_universal_d_RequiredIndicatorPlacement = RequiredIndicatorPlacement;\n  const formsV4Form_universal_d_RequiredIndicatorPlacement: typeof RequiredIndicatorPlacement;\n  type formsV4Form_universal_d_FormField = FormField;\n  type formsV4Form_universal_d_StringType = StringType;\n  type formsV4Form_universal_d_StringTypeFormatOptionsOneOf = StringTypeFormatOptionsOneOf;\n  type formsV4Form_universal_d_Format = Format;\n  const formsV4Form_universal_d_Format: typeof Format;\n  type formsV4Form_universal_d_StringErrorMessages = StringErrorMessages;\n  type formsV4Form_universal_d_DateTimeConstraints = DateTimeConstraints;\n  type formsV4Form_universal_d_PhoneConstraints = PhoneConstraints;\n  type formsV4Form_universal_d_NumberType = NumberType;\n  type formsV4Form_universal_d_NumberErrorMessages = NumberErrorMessages;\n  type formsV4Form_universal_d_IntegerType = IntegerType;\n  type formsV4Form_universal_d_BooleanType = BooleanType;\n  type formsV4Form_universal_d_BooleanErrorMessages = BooleanErrorMessages;\n  type formsV4Form_universal_d_ArrayType = ArrayType;\n  type formsV4Form_universal_d_ObjectType = ObjectType;\n  type formsV4Form_universal_d_PropertiesType = PropertiesType;\n  type formsV4Form_universal_d_PropertiesTypePropertiesTypeOneOf = PropertiesTypePropertiesTypeOneOf;\n  type formsV4Form_universal_d_ObjectErrorMessages = ObjectErrorMessages;\n  type formsV4Form_universal_d_ArrayItems = ArrayItems;\n  type formsV4Form_universal_d_ArrayItemsItemsOneOf = ArrayItemsItemsOneOf;\n  type formsV4Form_universal_d_ArrayErrorMessages = ArrayErrorMessages;\n  type formsV4Form_universal_d_PredefinedValidation = PredefinedValidation;\n  type formsV4Form_universal_d_PredefinedValidationFormatOptionsOneOf = PredefinedValidationFormatOptionsOneOf;\n  type formsV4Form_universal_d_ValidationFormat = ValidationFormat;\n  const formsV4Form_universal_d_ValidationFormat: typeof ValidationFormat;\n  type formsV4Form_universal_d_PaymentType = PaymentType;\n  type formsV4Form_universal_d_ProductType = ProductType;\n  const formsV4Form_universal_d_ProductType: typeof ProductType;\n  type formsV4Form_universal_d_PriceType = PriceType;\n  const formsV4Form_universal_d_PriceType: typeof PriceType;\n  type formsV4Form_universal_d_QuantityLimit = QuantityLimit;\n  type formsV4Form_universal_d_FixedPriceOptions = FixedPriceOptions;\n  type formsV4Form_universal_d_DynamicPriceOptions = DynamicPriceOptions;\n  type formsV4Form_universal_d_Product = Product;\n  type formsV4Form_universal_d_ProductPriceOptionsOneOf = ProductPriceOptionsOneOf;\n  type formsV4Form_universal_d_MultilineAddressValidation = MultilineAddressValidation;\n  type formsV4Form_universal_d_FieldOverrides = FieldOverrides;\n  type formsV4Form_universal_d_FieldsOverrides = FieldsOverrides;\n  type formsV4Form_universal_d_NestedFormFieldOverrides = NestedFormFieldOverrides;\n  type formsV4Form_universal_d_Validation = Validation;\n  type formsV4Form_universal_d_ValidationValidationOneOf = ValidationValidationOneOf;\n  type formsV4Form_universal_d_DataExtensionsDetails = DataExtensionsDetails;\n  type formsV4Form_universal_d_NestedFormOverrides = NestedFormOverrides;\n  type formsV4Form_universal_d_FormFieldV2 = FormFieldV2;\n  type formsV4Form_universal_d_FormFieldV2FieldTypeOptionsOneOf = FormFieldV2FieldTypeOptionsOneOf;\n  type formsV4Form_universal_d_InputFieldStringType = InputFieldStringType;\n  type formsV4Form_universal_d_InputFieldStringTypeFormatOptionsOneOf = InputFieldStringTypeFormatOptionsOneOf;\n  type formsV4Form_universal_d_FormatEnumFormat = FormatEnumFormat;\n  const formsV4Form_universal_d_FormatEnumFormat: typeof FormatEnumFormat;\n  type formsV4Form_universal_d_InputFieldStringErrorMessages = InputFieldStringErrorMessages;\n  type formsV4Form_universal_d_StringTypeDateTimeConstraints = StringTypeDateTimeConstraints;\n  type formsV4Form_universal_d_StringTypePhoneConstraints = StringTypePhoneConstraints;\n  type formsV4Form_universal_d_StringComponentType = StringComponentType;\n  const formsV4Form_universal_d_StringComponentType: typeof StringComponentType;\n  type formsV4Form_universal_d_TextInput = TextInput;\n  type formsV4Form_universal_d_RichContent = RichContent;\n  type formsV4Form_universal_d_Node = Node;\n  type formsV4Form_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type formsV4Form_universal_d_NodeType = NodeType;\n  const formsV4Form_universal_d_NodeType: typeof NodeType;\n  type formsV4Form_universal_d_NodeStyle = NodeStyle;\n  type formsV4Form_universal_d_ButtonData = ButtonData;\n  type formsV4Form_universal_d_Border = Border;\n  type formsV4Form_universal_d_Colors = Colors;\n  type formsV4Form_universal_d_PluginContainerData = PluginContainerData;\n  type formsV4Form_universal_d_WidthType = WidthType;\n  const formsV4Form_universal_d_WidthType: typeof WidthType;\n  type formsV4Form_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type formsV4Form_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type formsV4Form_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const formsV4Form_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type formsV4Form_universal_d_Spoiler = Spoiler;\n  type formsV4Form_universal_d_Height = Height;\n  type formsV4Form_universal_d_Type = Type;\n  const formsV4Form_universal_d_Type: typeof Type;\n  type formsV4Form_universal_d_Styles = Styles;\n  type formsV4Form_universal_d_Link = Link;\n  type formsV4Form_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type formsV4Form_universal_d_LinkTarget = LinkTarget;\n  const formsV4Form_universal_d_LinkTarget: typeof LinkTarget;\n  type formsV4Form_universal_d_Rel = Rel;\n  type formsV4Form_universal_d_CodeBlockData = CodeBlockData;\n  type formsV4Form_universal_d_TextStyle = TextStyle;\n  type formsV4Form_universal_d_TextAlignment = TextAlignment;\n  const formsV4Form_universal_d_TextAlignment: typeof TextAlignment;\n  type formsV4Form_universal_d_DividerData = DividerData;\n  type formsV4Form_universal_d_LineStyle = LineStyle;\n  const formsV4Form_universal_d_LineStyle: typeof LineStyle;\n  type formsV4Form_universal_d_Width = Width;\n  const formsV4Form_universal_d_Width: typeof Width;\n  type formsV4Form_universal_d_Alignment = Alignment;\n  const formsV4Form_universal_d_Alignment: typeof Alignment;\n  type formsV4Form_universal_d_FileData = FileData;\n  type formsV4Form_universal_d_ViewMode = ViewMode;\n  const formsV4Form_universal_d_ViewMode: typeof ViewMode;\n  type formsV4Form_universal_d_FileSource = FileSource;\n  type formsV4Form_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type formsV4Form_universal_d_PDFSettings = PDFSettings;\n  type formsV4Form_universal_d_GalleryData = GalleryData;\n  type formsV4Form_universal_d_Media = Media;\n  type formsV4Form_universal_d_Image = Image;\n  type formsV4Form_universal_d_Video = Video;\n  type formsV4Form_universal_d_Item = Item;\n  type formsV4Form_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type formsV4Form_universal_d_GalleryOptions = GalleryOptions;\n  type formsV4Form_universal_d_LayoutType = LayoutType;\n  const formsV4Form_universal_d_LayoutType: typeof LayoutType;\n  type formsV4Form_universal_d_Orientation = Orientation;\n  const formsV4Form_universal_d_Orientation: typeof Orientation;\n  type formsV4Form_universal_d_Crop = Crop;\n  const formsV4Form_universal_d_Crop: typeof Crop;\n  type formsV4Form_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const formsV4Form_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type formsV4Form_universal_d_Layout = Layout;\n  type formsV4Form_universal_d_ItemStyle = ItemStyle;\n  type formsV4Form_universal_d_Thumbnails = Thumbnails;\n  type formsV4Form_universal_d_GIFData = GIFData;\n  type formsV4Form_universal_d_GIF = GIF;\n  type formsV4Form_universal_d_HeadingData = HeadingData;\n  type formsV4Form_universal_d_HTMLData = HTMLData;\n  type formsV4Form_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type formsV4Form_universal_d_Source = Source;\n  const formsV4Form_universal_d_Source: typeof Source;\n  type formsV4Form_universal_d_ImageData = ImageData;\n  type formsV4Form_universal_d_LinkPreviewData = LinkPreviewData;\n  type formsV4Form_universal_d_MapData = MapData;\n  type formsV4Form_universal_d_MapSettings = MapSettings;\n  type formsV4Form_universal_d_MapType = MapType;\n  const formsV4Form_universal_d_MapType: typeof MapType;\n  type formsV4Form_universal_d_ParagraphData = ParagraphData;\n  type formsV4Form_universal_d_PollData = PollData;\n  type formsV4Form_universal_d_ViewRole = ViewRole;\n  const formsV4Form_universal_d_ViewRole: typeof ViewRole;\n  type formsV4Form_universal_d_VoteRole = VoteRole;\n  const formsV4Form_universal_d_VoteRole: typeof VoteRole;\n  type formsV4Form_universal_d_Permissions = Permissions;\n  type formsV4Form_universal_d_PollOption = PollOption;\n  type formsV4Form_universal_d_Settings = Settings;\n  type formsV4Form_universal_d_PollLayoutType = PollLayoutType;\n  const formsV4Form_universal_d_PollLayoutType: typeof PollLayoutType;\n  type formsV4Form_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const formsV4Form_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type formsV4Form_universal_d_PollLayout = PollLayout;\n  type formsV4Form_universal_d_OptionLayout = OptionLayout;\n  type formsV4Form_universal_d_BackgroundType = BackgroundType;\n  const formsV4Form_universal_d_BackgroundType: typeof BackgroundType;\n  type formsV4Form_universal_d_Gradient = Gradient;\n  type formsV4Form_universal_d_Background = Background;\n  type formsV4Form_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type formsV4Form_universal_d_PollDesign = PollDesign;\n  type formsV4Form_universal_d_OptionDesign = OptionDesign;\n  type formsV4Form_universal_d_Poll = Poll;\n  type formsV4Form_universal_d_PollDataLayout = PollDataLayout;\n  type formsV4Form_universal_d_Design = Design;\n  type formsV4Form_universal_d_TextData = TextData;\n  type formsV4Form_universal_d_Decoration = Decoration;\n  type formsV4Form_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type formsV4Form_universal_d_DecorationType = DecorationType;\n  const formsV4Form_universal_d_DecorationType: typeof DecorationType;\n  type formsV4Form_universal_d_AnchorData = AnchorData;\n  type formsV4Form_universal_d_ColorData = ColorData;\n  type formsV4Form_universal_d_LinkData = LinkData;\n  type formsV4Form_universal_d_MentionData = MentionData;\n  type formsV4Form_universal_d_FontSizeData = FontSizeData;\n  type formsV4Form_universal_d_FontType = FontType;\n  const formsV4Form_universal_d_FontType: typeof FontType;\n  type formsV4Form_universal_d_SpoilerData = SpoilerData;\n  type formsV4Form_universal_d_AppEmbedData = AppEmbedData;\n  type formsV4Form_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type formsV4Form_universal_d_AppType = AppType;\n  const formsV4Form_universal_d_AppType: typeof AppType;\n  type formsV4Form_universal_d_BookingData = BookingData;\n  type formsV4Form_universal_d_EventData = EventData;\n  type formsV4Form_universal_d_VideoData = VideoData;\n  type formsV4Form_universal_d_PlaybackOptions = PlaybackOptions;\n  type formsV4Form_universal_d_EmbedData = EmbedData;\n  type formsV4Form_universal_d_Oembed = Oembed;\n  type formsV4Form_universal_d_CollapsibleListData = CollapsibleListData;\n  type formsV4Form_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const formsV4Form_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type formsV4Form_universal_d_Direction = Direction;\n  const formsV4Form_universal_d_Direction: typeof Direction;\n  type formsV4Form_universal_d_TableData = TableData;\n  type formsV4Form_universal_d_Dimensions = Dimensions;\n  type formsV4Form_universal_d_TableCellData = TableCellData;\n  type formsV4Form_universal_d_VerticalAlignment = VerticalAlignment;\n  const formsV4Form_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type formsV4Form_universal_d_CellStyle = CellStyle;\n  type formsV4Form_universal_d_BorderColors = BorderColors;\n  type formsV4Form_universal_d_NullValue = NullValue;\n  const formsV4Form_universal_d_NullValue: typeof NullValue;\n  type formsV4Form_universal_d_ListValue = ListValue;\n  type formsV4Form_universal_d_AudioData = AudioData;\n  type formsV4Form_universal_d_OrderedListData = OrderedListData;\n  type formsV4Form_universal_d_BulletedListData = BulletedListData;\n  type formsV4Form_universal_d_BlockquoteData = BlockquoteData;\n  type formsV4Form_universal_d_CaptionData = CaptionData;\n  type formsV4Form_universal_d_Metadata = Metadata;\n  type formsV4Form_universal_d_DocumentStyle = DocumentStyle;\n  type formsV4Form_universal_d_TextNodeStyle = TextNodeStyle;\n  type formsV4Form_universal_d_RadioGroup = RadioGroup;\n  type formsV4Form_universal_d_RadioGroupOption = RadioGroupOption;\n  type formsV4Form_universal_d_RadioGroupCustomOption = RadioGroupCustomOption;\n  type formsV4Form_universal_d_NumberOfColumns = NumberOfColumns;\n  const formsV4Form_universal_d_NumberOfColumns: typeof NumberOfColumns;\n  type formsV4Form_universal_d_Dropdown = Dropdown;\n  type formsV4Form_universal_d_DropdownOption = DropdownOption;\n  type formsV4Form_universal_d_DropdownCustomOption = DropdownCustomOption;\n  type formsV4Form_universal_d_DateTimeInput = DateTimeInput;\n  type formsV4Form_universal_d_PhoneInput = PhoneInput;\n  type formsV4Form_universal_d_DateInput = DateInput;\n  type formsV4Form_universal_d_TimeInput = TimeInput;\n  type formsV4Form_universal_d_DatePicker = DatePicker;\n  type formsV4Form_universal_d_FirstDayOfWeekEnumFirstDayOfWeek = FirstDayOfWeekEnumFirstDayOfWeek;\n  const formsV4Form_universal_d_FirstDayOfWeekEnumFirstDayOfWeek: typeof FirstDayOfWeekEnumFirstDayOfWeek;\n  type formsV4Form_universal_d_InputFieldNumberType = InputFieldNumberType;\n  type formsV4Form_universal_d_InputFieldNumberErrorMessages = InputFieldNumberErrorMessages;\n  type formsV4Form_universal_d_NumberComponentType = NumberComponentType;\n  const formsV4Form_universal_d_NumberComponentType: typeof NumberComponentType;\n  type formsV4Form_universal_d_NumberInput = NumberInput;\n  type formsV4Form_universal_d_RatingInput = RatingInput;\n  type formsV4Form_universal_d_InputFieldBooleanType = InputFieldBooleanType;\n  type formsV4Form_universal_d_InputFieldBooleanErrorMessages = InputFieldBooleanErrorMessages;\n  type formsV4Form_universal_d_BooleanComponentType = BooleanComponentType;\n  const formsV4Form_universal_d_BooleanComponentType: typeof BooleanComponentType;\n  type formsV4Form_universal_d_Checkbox = Checkbox;\n  type formsV4Form_universal_d_InputFieldArrayType = InputFieldArrayType;\n  type formsV4Form_universal_d_ItemType = ItemType;\n  const formsV4Form_universal_d_ItemType: typeof ItemType;\n  type formsV4Form_universal_d_InputFieldIntegerType = InputFieldIntegerType;\n  type formsV4Form_universal_d_InputFieldObjectType = InputFieldObjectType;\n  type formsV4Form_universal_d_PropertiesTypeEnum = PropertiesTypeEnum;\n  const formsV4Form_universal_d_PropertiesTypeEnum: typeof PropertiesTypeEnum;\n  type formsV4Form_universal_d_ObjectTypePropertiesType = ObjectTypePropertiesType;\n  type formsV4Form_universal_d_ObjectTypePropertiesTypePropertiesTypeOptionsOneOf = ObjectTypePropertiesTypePropertiesTypeOptionsOneOf;\n  type formsV4Form_universal_d_InputFieldObjectErrorMessages = InputFieldObjectErrorMessages;\n  type formsV4Form_universal_d_ArrayTypeArrayItems = ArrayTypeArrayItems;\n  type formsV4Form_universal_d_ArrayTypeArrayItemsItemTypeOptionsOneOf = ArrayTypeArrayItemsItemTypeOptionsOneOf;\n  type formsV4Form_universal_d_InputFieldArrayErrorMessages = InputFieldArrayErrorMessages;\n  type formsV4Form_universal_d_ComponentType = ComponentType;\n  const formsV4Form_universal_d_ComponentType: typeof ComponentType;\n  type formsV4Form_universal_d_CheckboxGroup = CheckboxGroup;\n  type formsV4Form_universal_d_MediaItem = MediaItem;\n  type formsV4Form_universal_d_MediaItemMediaOneOf = MediaItemMediaOneOf;\n  type formsV4Form_universal_d_Option = Option;\n  type formsV4Form_universal_d_CustomOption = CustomOption;\n  type formsV4Form_universal_d_Tags = Tags;\n  type formsV4Form_universal_d_TagsOption = TagsOption;\n  type formsV4Form_universal_d_CommonCustomOption = CommonCustomOption;\n  type formsV4Form_universal_d_WixFileComponentType = WixFileComponentType;\n  const formsV4Form_universal_d_WixFileComponentType: typeof WixFileComponentType;\n  type formsV4Form_universal_d_FileUpload = FileUpload;\n  type formsV4Form_universal_d_UploadFileFormat = UploadFileFormat;\n  const formsV4Form_universal_d_UploadFileFormat: typeof UploadFileFormat;\n  type formsV4Form_universal_d_Signature = Signature;\n  type formsV4Form_universal_d_PaymentComponentType = PaymentComponentType;\n  const formsV4Form_universal_d_PaymentComponentType: typeof PaymentComponentType;\n  type formsV4Form_universal_d_ProductCheckboxGroup = ProductCheckboxGroup;\n  type formsV4Form_universal_d_ProductCheckboxGroupOption = ProductCheckboxGroupOption;\n  type formsV4Form_universal_d_ImageFit = ImageFit;\n  const formsV4Form_universal_d_ImageFit: typeof ImageFit;\n  type formsV4Form_universal_d_DonationInput = DonationInput;\n  type formsV4Form_universal_d_DonationInputOption = DonationInputOption;\n  type formsV4Form_universal_d_PaymentInput = PaymentInput;\n  type formsV4Form_universal_d_FixedPayment = FixedPayment;\n  type formsV4Form_universal_d_MultilineAddressComponentType = MultilineAddressComponentType;\n  const formsV4Form_universal_d_MultilineAddressComponentType: typeof MultilineAddressComponentType;\n  type formsV4Form_universal_d_MultilineAddress = MultilineAddress;\n  type formsV4Form_universal_d_DefaultCountryConfigType = DefaultCountryConfigType;\n  const formsV4Form_universal_d_DefaultCountryConfigType: typeof DefaultCountryConfigType;\n  type formsV4Form_universal_d_AddressLine2 = AddressLine2;\n  type formsV4Form_universal_d_DefaultCountryConfig = DefaultCountryConfig;\n  type formsV4Form_universal_d_DefaultCountryConfigOptionsOneOf = DefaultCountryConfigOptionsOneOf;\n  type formsV4Form_universal_d_FieldsSettings = FieldsSettings;\n  type formsV4Form_universal_d_InputType = InputType;\n  const formsV4Form_universal_d_InputType: typeof InputType;\n  type formsV4Form_universal_d_FormFieldContactInfo = FormFieldContactInfo;\n  type formsV4Form_universal_d_FormFieldContactInfoAdditionalInfoOneOf = FormFieldContactInfoAdditionalInfoOneOf;\n  type formsV4Form_universal_d_EmailInfoTag = EmailInfoTag;\n  const formsV4Form_universal_d_EmailInfoTag: typeof EmailInfoTag;\n  type formsV4Form_universal_d_PhoneInfoTag = PhoneInfoTag;\n  const formsV4Form_universal_d_PhoneInfoTag: typeof PhoneInfoTag;\n  type formsV4Form_universal_d_Tag = Tag;\n  const formsV4Form_universal_d_Tag: typeof Tag;\n  type formsV4Form_universal_d_OptInLevel = OptInLevel;\n  const formsV4Form_universal_d_OptInLevel: typeof OptInLevel;\n  type formsV4Form_universal_d_ContactField = ContactField;\n  const formsV4Form_universal_d_ContactField: typeof ContactField;\n  type formsV4Form_universal_d_EmailInfo = EmailInfo;\n  type formsV4Form_universal_d_PhoneInfo = PhoneInfo;\n  type formsV4Form_universal_d_AddressInfo = AddressInfo;\n  type formsV4Form_universal_d_CustomFieldInfo = CustomFieldInfo;\n  type formsV4Form_universal_d_SubscriptionInfo = SubscriptionInfo;\n  type formsV4Form_universal_d__String = _String;\n  type formsV4Form_universal_d__StringComponentTypeOptionsOneOf = _StringComponentTypeOptionsOneOf;\n  type formsV4Form_universal_d__Number = _Number;\n  type formsV4Form_universal_d__NumberComponentTypeOptionsOneOf = _NumberComponentTypeOptionsOneOf;\n  type formsV4Form_universal_d__Boolean = _Boolean;\n  type formsV4Form_universal_d__BooleanComponentTypeOptionsOneOf = _BooleanComponentTypeOptionsOneOf;\n  type formsV4Form_universal_d__Array = _Array;\n  type formsV4Form_universal_d__ArrayComponentTypeOptionsOneOf = _ArrayComponentTypeOptionsOneOf;\n  type formsV4Form_universal_d__Object = _Object;\n  type formsV4Form_universal_d__ObjectValidationOneOf = _ObjectValidationOneOf;\n  type formsV4Form_universal_d_WixFile = WixFile;\n  type formsV4Form_universal_d_WixFileComponentTypeOptionsOneOf = WixFileComponentTypeOptionsOneOf;\n  type formsV4Form_universal_d_Payment = Payment;\n  type formsV4Form_universal_d_PaymentComponentTypeOptionsOneOf = PaymentComponentTypeOptionsOneOf;\n  type formsV4Form_universal_d_InputFieldMultilineAddress = InputFieldMultilineAddress;\n  type formsV4Form_universal_d_InputFieldMultilineAddressComponentTypeOptionsOneOf = InputFieldMultilineAddressComponentTypeOptionsOneOf;\n  type formsV4Form_universal_d_Target = Target;\n  const formsV4Form_universal_d_Target: typeof Target;\n  type formsV4Form_universal_d_ThankYouMessage = ThankYouMessage;\n  type formsV4Form_universal_d_Redirect = Redirect;\n  type formsV4Form_universal_d_FieldType = FieldType;\n  const formsV4Form_universal_d_FieldType: typeof FieldType;\n  type formsV4Form_universal_d_InputField = InputField;\n  type formsV4Form_universal_d_InputFieldInputTypeOptionsOneOf = InputFieldInputTypeOptionsOneOf;\n  type formsV4Form_universal_d_DisplayField = DisplayField;\n  type formsV4Form_universal_d_DisplayFieldDisplayFieldTypeOptionsOneOf = DisplayFieldDisplayFieldTypeOptionsOneOf;\n  type formsV4Form_universal_d_DisplayFieldComponentTypeOneOf = DisplayFieldComponentTypeOneOf;\n  type formsV4Form_universal_d_DisplayFieldType = DisplayFieldType;\n  const formsV4Form_universal_d_DisplayFieldType: typeof DisplayFieldType;\n  type formsV4Form_universal_d_RichContentOptions = RichContentOptions;\n  type formsV4Form_universal_d_PageNavigationOptions = PageNavigationOptions;\n  type formsV4Form_universal_d_Header = Header;\n  type formsV4Form_universal_d_RichText = RichText;\n  type formsV4Form_universal_d_SubmitButton = SubmitButton;\n  type formsV4Form_universal_d_SubmitButtonSubmitActionOneOf = SubmitButtonSubmitActionOneOf;\n  type formsV4Form_universal_d_Step = Step;\n  type formsV4Form_universal_d_FormLayout = FormLayout;\n  type formsV4Form_universal_d_BreakPoint = BreakPoint;\n  type formsV4Form_universal_d_ItemLayout = ItemLayout;\n  type formsV4Form_universal_d_ItemLayoutItemOneOf = ItemLayoutItemOneOf;\n  type formsV4Form_universal_d_Group = Group;\n  type formsV4Form_universal_d_Margin = Margin;\n  type formsV4Form_universal_d_Section = Section;\n  type formsV4Form_universal_d_FormRule = FormRule;\n  type formsV4Form_universal_d_OverrideEntityType = OverrideEntityType;\n  const formsV4Form_universal_d_OverrideEntityType: typeof OverrideEntityType;\n  type formsV4Form_universal_d_FormOverride = FormOverride;\n  type formsV4Form_universal_d_FormProperties = FormProperties;\n  type formsV4Form_universal_d_Kind = Kind;\n  const formsV4Form_universal_d_Kind: typeof Kind;\n  type formsV4Form_universal_d_PostSubmissionTriggers = PostSubmissionTriggers;\n  type formsV4Form_universal_d_UpsertContact = UpsertContact;\n  type formsV4Form_universal_d_ExtendedFields = ExtendedFields;\n  type formsV4Form_universal_d_NestedForm = NestedForm;\n  type formsV4Form_universal_d_LimitationRule = LimitationRule;\n  type formsV4Form_universal_d_SpamFilterProtectionLevel = SpamFilterProtectionLevel;\n  const formsV4Form_universal_d_SpamFilterProtectionLevel: typeof SpamFilterProtectionLevel;\n  type formsV4Form_universal_d_RequiredIndicatorProperties = RequiredIndicatorProperties;\n  type formsV4Form_universal_d_SubmitSettings = SubmitSettings;\n  type formsV4Form_universal_d_SubmitSettingsSubmitSuccessActionOptionsOneOf = SubmitSettingsSubmitSuccessActionOptionsOneOf;\n  type formsV4Form_universal_d_UrlTargetEnumTarget = UrlTargetEnumTarget;\n  const formsV4Form_universal_d_UrlTargetEnumTarget: typeof UrlTargetEnumTarget;\n  type formsV4Form_universal_d_SubmitSuccessAction = SubmitSuccessAction;\n  const formsV4Form_universal_d_SubmitSuccessAction: typeof SubmitSuccessAction;\n  type formsV4Form_universal_d_ThankYouMessageOptions = ThankYouMessageOptions;\n  type formsV4Form_universal_d_RedirectOptions = RedirectOptions;\n  type formsV4Form_universal_d_FieldGroup = FieldGroup;\n  type formsV4Form_universal_d_PiiFieldsUpdated = PiiFieldsUpdated;\n  type formsV4Form_universal_d_FormChanged = FormChanged;\n  type formsV4Form_universal_d_FormDeleted = FormDeleted;\n  type formsV4Form_universal_d_SubmissionKeysPermanentlyDeleted = SubmissionKeysPermanentlyDeleted;\n  type formsV4Form_universal_d_CreateFormRequest = CreateFormRequest;\n  type formsV4Form_universal_d_CreateFormResponse = CreateFormResponse;\n  type formsV4Form_universal_d_TargetBasedErrorDetails = TargetBasedErrorDetails;\n  type formsV4Form_universal_d_FieldIdBasedErrorDetails = FieldIdBasedErrorDetails;\n  type formsV4Form_universal_d_StepIdBasedErrorDetails = StepIdBasedErrorDetails;\n  type formsV4Form_universal_d_RuleIdBasedErrorDetails = RuleIdBasedErrorDetails;\n  type formsV4Form_universal_d_NonExistingNestedFormsErrorDetails = NonExistingNestedFormsErrorDetails;\n  type formsV4Form_universal_d_NestedFormFieldsMissingErrorDetails = NestedFormFieldsMissingErrorDetails;\n  type formsV4Form_universal_d_FormFieldV2ApiValidationErrorDetails = FormFieldV2ApiValidationErrorDetails;\n  type formsV4Form_universal_d_ProductIdBasedErrorDetails = ProductIdBasedErrorDetails;\n  type formsV4Form_universal_d_BulkCreateFormRequest = BulkCreateFormRequest;\n  type formsV4Form_universal_d_BulkCreateFormResponse = BulkCreateFormResponse;\n  type formsV4Form_universal_d_BulkFormResult = BulkFormResult;\n  type formsV4Form_universal_d_ItemMetadata = ItemMetadata;\n  type formsV4Form_universal_d_ApplicationError = ApplicationError;\n  type formsV4Form_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type formsV4Form_universal_d_CloneFormRequest = CloneFormRequest;\n  type formsV4Form_universal_d_CloneFormResponse = CloneFormResponse;\n  type formsV4Form_universal_d_CloneFormFromTemplateRequest = CloneFormFromTemplateRequest;\n  type formsV4Form_universal_d_CloneFormFromTemplateResponse = CloneFormFromTemplateResponse;\n  type formsV4Form_universal_d_GetFormRequest = GetFormRequest;\n  type formsV4Form_universal_d_Fieldset = Fieldset;\n  const formsV4Form_universal_d_Fieldset: typeof Fieldset;\n  type formsV4Form_universal_d_GetFormResponse = GetFormResponse;\n  type formsV4Form_universal_d_UpdateFormRequest = UpdateFormRequest;\n  type formsV4Form_universal_d_UpdateFormResponse = UpdateFormResponse;\n  type formsV4Form_universal_d_RemoveFormFromTrashBinRequest = RemoveFormFromTrashBinRequest;\n  type formsV4Form_universal_d_RemoveFormFromTrashBinResponse = RemoveFormFromTrashBinResponse;\n  type formsV4Form_universal_d_DeleteFormRequest = DeleteFormRequest;\n  type formsV4Form_universal_d_DeleteFormResponse = DeleteFormResponse;\n  type formsV4Form_universal_d_RestoreFromTrashBinRequest = RestoreFromTrashBinRequest;\n  type formsV4Form_universal_d_RestoreFromTrashBinResponse = RestoreFromTrashBinResponse;\n  type formsV4Form_universal_d_QueryFormsRequest = QueryFormsRequest;\n  type formsV4Form_universal_d_CursorQuery = CursorQuery;\n  type formsV4Form_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type formsV4Form_universal_d_Sorting = Sorting;\n  type formsV4Form_universal_d_SortOrder = SortOrder;\n  const formsV4Form_universal_d_SortOrder: typeof SortOrder;\n  type formsV4Form_universal_d_CommonCursorPaging = CommonCursorPaging;\n  type formsV4Form_universal_d_QueryFormsResponse = QueryFormsResponse;\n  type formsV4Form_universal_d_CommonCursorPagingMetadata = CommonCursorPagingMetadata;\n  type formsV4Form_universal_d_CommonCursors = CommonCursors;\n  type formsV4Form_universal_d_CountFormsRequest = CountFormsRequest;\n  type formsV4Form_universal_d_CountFormsFieldset = CountFormsFieldset;\n  const formsV4Form_universal_d_CountFormsFieldset: typeof CountFormsFieldset;\n  type formsV4Form_universal_d_CountFormsResponse = CountFormsResponse;\n  type formsV4Form_universal_d_ListTemplateExtensionsRequest = ListTemplateExtensionsRequest;\n  type formsV4Form_universal_d_ListFormsOrderEnumListFormsOrder = ListFormsOrderEnumListFormsOrder;\n  const formsV4Form_universal_d_ListFormsOrderEnumListFormsOrder: typeof ListFormsOrderEnumListFormsOrder;\n  type formsV4Form_universal_d_NameFilter = NameFilter;\n  type formsV4Form_universal_d_FilterType = FilterType;\n  const formsV4Form_universal_d_FilterType: typeof FilterType;\n  type formsV4Form_universal_d_ListTemplateExtensionsResponse = ListTemplateExtensionsResponse;\n  type formsV4Form_universal_d_ListFormsRequest = ListFormsRequest;\n  type formsV4Form_universal_d_ListFormsOrder = ListFormsOrder;\n  const formsV4Form_universal_d_ListFormsOrder: typeof ListFormsOrder;\n  type formsV4Form_universal_d_ListFormsResponse = ListFormsResponse;\n  type formsV4Form_universal_d_GetDeletedFormRequest = GetDeletedFormRequest;\n  type formsV4Form_universal_d_GetDeletedFormResponse = GetDeletedFormResponse;\n  type formsV4Form_universal_d_QueryDeletedFormsRequest = QueryDeletedFormsRequest;\n  type formsV4Form_universal_d_QueryDeletedFormsResponse = QueryDeletedFormsResponse;\n  type formsV4Form_universal_d_ListDeletedFormsRequest = ListDeletedFormsRequest;\n  type formsV4Form_universal_d_ListDeletedFormsOrder = ListDeletedFormsOrder;\n  const formsV4Form_universal_d_ListDeletedFormsOrder: typeof ListDeletedFormsOrder;\n  type formsV4Form_universal_d_ListDeletedFormsResponse = ListDeletedFormsResponse;\n  type formsV4Form_universal_d_BulkRemoveDeletedFieldRequest = BulkRemoveDeletedFieldRequest;\n  type formsV4Form_universal_d_BulkRemoveDeletedFieldResponse = BulkRemoveDeletedFieldResponse;\n  type formsV4Form_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type formsV4Form_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type formsV4Form_universal_d_ListFormsProvidersConfigsRequest = ListFormsProvidersConfigsRequest;\n  type formsV4Form_universal_d_ListFormsProvidersConfigsResponse = ListFormsProvidersConfigsResponse;\n  type formsV4Form_universal_d_FormsSchemaProvidersConfig = FormsSchemaProvidersConfig;\n  type formsV4Form_universal_d_FormProviderRestrictions = FormProviderRestrictions;\n  type formsV4Form_universal_d_DomainEvent = DomainEvent;\n  type formsV4Form_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type formsV4Form_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type formsV4Form_universal_d_RestoreInfo = RestoreInfo;\n  type formsV4Form_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type formsV4Form_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type formsV4Form_universal_d_ActionEvent = ActionEvent;\n  type formsV4Form_universal_d_Empty = Empty;\n  type formsV4Form_universal_d_GetFormSummaryRequest = GetFormSummaryRequest;\n  type formsV4Form_universal_d_GetFormSummaryResponse = GetFormSummaryResponse;\n  type formsV4Form_universal_d_FormSummary = FormSummary;\n  type formsV4Form_universal_d_FieldInputType = FieldInputType;\n  const formsV4Form_universal_d_FieldInputType: typeof FieldInputType;\n  type formsV4Form_universal_d_FieldOption = FieldOption;\n  type formsV4Form_universal_d_Field = Field;\n  type formsV4Form_universal_d_MessageEnvelope = MessageEnvelope;\n  type formsV4Form_universal_d_IdentificationData = IdentificationData;\n  type formsV4Form_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type formsV4Form_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const formsV4Form_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const formsV4Form_universal_d_createForm: typeof createForm;\n  const formsV4Form_universal_d_bulkCreateForm: typeof bulkCreateForm;\n  type formsV4Form_universal_d_BulkCreateFormOptions = BulkCreateFormOptions;\n  const formsV4Form_universal_d_cloneForm: typeof cloneForm;\n  const formsV4Form_universal_d_cloneFormFromTemplate: typeof cloneFormFromTemplate;\n  type formsV4Form_universal_d_CloneFormFromTemplateOptions = CloneFormFromTemplateOptions;\n  const formsV4Form_universal_d_getForm: typeof getForm;\n  type formsV4Form_universal_d_GetFormOptions = GetFormOptions;\n  const formsV4Form_universal_d_updateForm: typeof updateForm;\n  type formsV4Form_universal_d_UpdateForm = UpdateForm;\n  type formsV4Form_universal_d_UpdateFormOptions = UpdateFormOptions;\n  const formsV4Form_universal_d_removeFormFromTrashBin: typeof removeFormFromTrashBin;\n  const formsV4Form_universal_d_deleteForm: typeof deleteForm;\n  type formsV4Form_universal_d_DeleteFormOptions = DeleteFormOptions;\n  const formsV4Form_universal_d_restoreFromTrashBin: typeof restoreFromTrashBin;\n  const formsV4Form_universal_d_queryForms: typeof queryForms;\n  type formsV4Form_universal_d_QueryFormsOptions = QueryFormsOptions;\n  type formsV4Form_universal_d_FormsQueryResult = FormsQueryResult;\n  type formsV4Form_universal_d_FormsQueryBuilder = FormsQueryBuilder;\n  const formsV4Form_universal_d_countForms: typeof countForms;\n  type formsV4Form_universal_d_CountFormsOptions = CountFormsOptions;\n  const formsV4Form_universal_d_listTemplateExtensions: typeof listTemplateExtensions;\n  type formsV4Form_universal_d_ListTemplateExtensionsOptions = ListTemplateExtensionsOptions;\n  const formsV4Form_universal_d_listForms: typeof listForms;\n  type formsV4Form_universal_d_ListFormsOptions = ListFormsOptions;\n  const formsV4Form_universal_d_getDeletedForm: typeof getDeletedForm;\n  const formsV4Form_universal_d_queryDeletedForms: typeof queryDeletedForms;\n  const formsV4Form_universal_d_listDeletedForms: typeof listDeletedForms;\n  type formsV4Form_universal_d_ListDeletedFormsOptions = ListDeletedFormsOptions;\n  const formsV4Form_universal_d_bulkRemoveDeletedField: typeof bulkRemoveDeletedField;\n  type formsV4Form_universal_d_BulkRemoveDeletedFieldOptions = BulkRemoveDeletedFieldOptions;\n  const formsV4Form_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type formsV4Form_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  const formsV4Form_universal_d_listFormsProvidersConfigs: typeof listFormsProvidersConfigs;\n  const formsV4Form_universal_d_getFormSummary: typeof getFormSummary;\n  namespace formsV4Form_universal_d {\n    export {\n      formsV4Form_universal_d_Form as Form,\n      formsV4Form_universal_d_RequiredIndicator as RequiredIndicator,\n      formsV4Form_universal_d_RequiredIndicatorPlacement as RequiredIndicatorPlacement,\n      formsV4Form_universal_d_FormField as FormField,\n      formsV4Form_universal_d_StringType as StringType,\n      formsV4Form_universal_d_StringTypeFormatOptionsOneOf as StringTypeFormatOptionsOneOf,\n      formsV4Form_universal_d_Format as Format,\n      formsV4Form_universal_d_StringErrorMessages as StringErrorMessages,\n      formsV4Form_universal_d_DateTimeConstraints as DateTimeConstraints,\n      formsV4Form_universal_d_PhoneConstraints as PhoneConstraints,\n      formsV4Form_universal_d_NumberType as NumberType,\n      formsV4Form_universal_d_NumberErrorMessages as NumberErrorMessages,\n      formsV4Form_universal_d_IntegerType as IntegerType,\n      formsV4Form_universal_d_BooleanType as BooleanType,\n      formsV4Form_universal_d_BooleanErrorMessages as BooleanErrorMessages,\n      formsV4Form_universal_d_ArrayType as ArrayType,\n      formsV4Form_universal_d_ObjectType as ObjectType,\n      formsV4Form_universal_d_PropertiesType as PropertiesType,\n      formsV4Form_universal_d_PropertiesTypePropertiesTypeOneOf as PropertiesTypePropertiesTypeOneOf,\n      formsV4Form_universal_d_ObjectErrorMessages as ObjectErrorMessages,\n      formsV4Form_universal_d_ArrayItems as ArrayItems,\n      formsV4Form_universal_d_ArrayItemsItemsOneOf as ArrayItemsItemsOneOf,\n      formsV4Form_universal_d_ArrayErrorMessages as ArrayErrorMessages,\n      formsV4Form_universal_d_PredefinedValidation as PredefinedValidation,\n      formsV4Form_universal_d_PredefinedValidationFormatOptionsOneOf as PredefinedValidationFormatOptionsOneOf,\n      formsV4Form_universal_d_ValidationFormat as ValidationFormat,\n      formsV4Form_universal_d_PaymentType as PaymentType,\n      formsV4Form_universal_d_ProductType as ProductType,\n      formsV4Form_universal_d_PriceType as PriceType,\n      formsV4Form_universal_d_QuantityLimit as QuantityLimit,\n      formsV4Form_universal_d_FixedPriceOptions as FixedPriceOptions,\n      formsV4Form_universal_d_DynamicPriceOptions as DynamicPriceOptions,\n      formsV4Form_universal_d_Product as Product,\n      formsV4Form_universal_d_ProductPriceOptionsOneOf as ProductPriceOptionsOneOf,\n      formsV4Form_universal_d_MultilineAddressValidation as MultilineAddressValidation,\n      formsV4Form_universal_d_FieldOverrides as FieldOverrides,\n      formsV4Form_universal_d_FieldsOverrides as FieldsOverrides,\n      formsV4Form_universal_d_NestedFormFieldOverrides as NestedFormFieldOverrides,\n      formsV4Form_universal_d_Validation as Validation,\n      formsV4Form_universal_d_ValidationValidationOneOf as ValidationValidationOneOf,\n      formsV4Form_universal_d_DataExtensionsDetails as DataExtensionsDetails,\n      formsV4Form_universal_d_NestedFormOverrides as NestedFormOverrides,\n      formsV4Form_universal_d_FormFieldV2 as FormFieldV2,\n      formsV4Form_universal_d_FormFieldV2FieldTypeOptionsOneOf as FormFieldV2FieldTypeOptionsOneOf,\n      formsV4Form_universal_d_InputFieldStringType as InputFieldStringType,\n      formsV4Form_universal_d_InputFieldStringTypeFormatOptionsOneOf as InputFieldStringTypeFormatOptionsOneOf,\n      formsV4Form_universal_d_FormatEnumFormat as FormatEnumFormat,\n      formsV4Form_universal_d_InputFieldStringErrorMessages as InputFieldStringErrorMessages,\n      formsV4Form_universal_d_StringTypeDateTimeConstraints as StringTypeDateTimeConstraints,\n      formsV4Form_universal_d_StringTypePhoneConstraints as StringTypePhoneConstraints,\n      formsV4Form_universal_d_StringComponentType as StringComponentType,\n      formsV4Form_universal_d_TextInput as TextInput,\n      formsV4Form_universal_d_RichContent as RichContent,\n      formsV4Form_universal_d_Node as Node,\n      formsV4Form_universal_d_NodeDataOneOf as NodeDataOneOf,\n      formsV4Form_universal_d_NodeType as NodeType,\n      formsV4Form_universal_d_NodeStyle as NodeStyle,\n      formsV4Form_universal_d_ButtonData as ButtonData,\n      formsV4Form_universal_d_Border as Border,\n      formsV4Form_universal_d_Colors as Colors,\n      formsV4Form_universal_d_PluginContainerData as PluginContainerData,\n      formsV4Form_universal_d_WidthType as WidthType,\n      formsV4Form_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      formsV4Form_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      formsV4Form_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      formsV4Form_universal_d_Spoiler as Spoiler,\n      formsV4Form_universal_d_Height as Height,\n      formsV4Form_universal_d_Type as Type,\n      formsV4Form_universal_d_Styles as Styles,\n      formsV4Form_universal_d_Link as Link,\n      formsV4Form_universal_d_LinkDataOneOf as LinkDataOneOf,\n      formsV4Form_universal_d_LinkTarget as LinkTarget,\n      formsV4Form_universal_d_Rel as Rel,\n      formsV4Form_universal_d_CodeBlockData as CodeBlockData,\n      formsV4Form_universal_d_TextStyle as TextStyle,\n      formsV4Form_universal_d_TextAlignment as TextAlignment,\n      formsV4Form_universal_d_DividerData as DividerData,\n      formsV4Form_universal_d_LineStyle as LineStyle,\n      formsV4Form_universal_d_Width as Width,\n      formsV4Form_universal_d_Alignment as Alignment,\n      formsV4Form_universal_d_FileData as FileData,\n      formsV4Form_universal_d_ViewMode as ViewMode,\n      formsV4Form_universal_d_FileSource as FileSource,\n      formsV4Form_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      formsV4Form_universal_d_PDFSettings as PDFSettings,\n      formsV4Form_universal_d_GalleryData as GalleryData,\n      formsV4Form_universal_d_Media as Media,\n      formsV4Form_universal_d_Image as Image,\n      formsV4Form_universal_d_Video as Video,\n      formsV4Form_universal_d_Item as Item,\n      formsV4Form_universal_d_ItemDataOneOf as ItemDataOneOf,\n      formsV4Form_universal_d_GalleryOptions as GalleryOptions,\n      formsV4Form_universal_d_LayoutType as LayoutType,\n      formsV4Form_universal_d_Orientation as Orientation,\n      formsV4Form_universal_d_Crop as Crop,\n      formsV4Form_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      formsV4Form_universal_d_Layout as Layout,\n      formsV4Form_universal_d_ItemStyle as ItemStyle,\n      formsV4Form_universal_d_Thumbnails as Thumbnails,\n      formsV4Form_universal_d_GIFData as GIFData,\n      formsV4Form_universal_d_GIF as GIF,\n      formsV4Form_universal_d_HeadingData as HeadingData,\n      formsV4Form_universal_d_HTMLData as HTMLData,\n      formsV4Form_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      formsV4Form_universal_d_Source as Source,\n      formsV4Form_universal_d_ImageData as ImageData,\n      formsV4Form_universal_d_LinkPreviewData as LinkPreviewData,\n      formsV4Form_universal_d_MapData as MapData,\n      formsV4Form_universal_d_MapSettings as MapSettings,\n      formsV4Form_universal_d_MapType as MapType,\n      formsV4Form_universal_d_ParagraphData as ParagraphData,\n      formsV4Form_universal_d_PollData as PollData,\n      formsV4Form_universal_d_ViewRole as ViewRole,\n      formsV4Form_universal_d_VoteRole as VoteRole,\n      formsV4Form_universal_d_Permissions as Permissions,\n      formsV4Form_universal_d_PollOption as PollOption,\n      formsV4Form_universal_d_Settings as Settings,\n      formsV4Form_universal_d_PollLayoutType as PollLayoutType,\n      formsV4Form_universal_d_PollLayoutDirection as PollLayoutDirection,\n      formsV4Form_universal_d_PollLayout as PollLayout,\n      formsV4Form_universal_d_OptionLayout as OptionLayout,\n      formsV4Form_universal_d_BackgroundType as BackgroundType,\n      formsV4Form_universal_d_Gradient as Gradient,\n      formsV4Form_universal_d_Background as Background,\n      formsV4Form_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      formsV4Form_universal_d_PollDesign as PollDesign,\n      formsV4Form_universal_d_OptionDesign as OptionDesign,\n      formsV4Form_universal_d_Poll as Poll,\n      formsV4Form_universal_d_PollDataLayout as PollDataLayout,\n      formsV4Form_universal_d_Design as Design,\n      formsV4Form_universal_d_TextData as TextData,\n      formsV4Form_universal_d_Decoration as Decoration,\n      formsV4Form_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      formsV4Form_universal_d_DecorationType as DecorationType,\n      formsV4Form_universal_d_AnchorData as AnchorData,\n      formsV4Form_universal_d_ColorData as ColorData,\n      formsV4Form_universal_d_LinkData as LinkData,\n      formsV4Form_universal_d_MentionData as MentionData,\n      formsV4Form_universal_d_FontSizeData as FontSizeData,\n      formsV4Form_universal_d_FontType as FontType,\n      formsV4Form_universal_d_SpoilerData as SpoilerData,\n      formsV4Form_universal_d_AppEmbedData as AppEmbedData,\n      formsV4Form_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      formsV4Form_universal_d_AppType as AppType,\n      formsV4Form_universal_d_BookingData as BookingData,\n      formsV4Form_universal_d_EventData as EventData,\n      formsV4Form_universal_d_VideoData as VideoData,\n      formsV4Form_universal_d_PlaybackOptions as PlaybackOptions,\n      formsV4Form_universal_d_EmbedData as EmbedData,\n      formsV4Form_universal_d_Oembed as Oembed,\n      formsV4Form_universal_d_CollapsibleListData as CollapsibleListData,\n      formsV4Form_universal_d_InitialExpandedItems as InitialExpandedItems,\n      formsV4Form_universal_d_Direction as Direction,\n      formsV4Form_universal_d_TableData as TableData,\n      formsV4Form_universal_d_Dimensions as Dimensions,\n      formsV4Form_universal_d_TableCellData as TableCellData,\n      formsV4Form_universal_d_VerticalAlignment as VerticalAlignment,\n      formsV4Form_universal_d_CellStyle as CellStyle,\n      formsV4Form_universal_d_BorderColors as BorderColors,\n      formsV4Form_universal_d_NullValue as NullValue,\n      formsV4Form_universal_d_ListValue as ListValue,\n      formsV4Form_universal_d_AudioData as AudioData,\n      formsV4Form_universal_d_OrderedListData as OrderedListData,\n      formsV4Form_universal_d_BulletedListData as BulletedListData,\n      formsV4Form_universal_d_BlockquoteData as BlockquoteData,\n      formsV4Form_universal_d_CaptionData as CaptionData,\n      formsV4Form_universal_d_Metadata as Metadata,\n      formsV4Form_universal_d_DocumentStyle as DocumentStyle,\n      formsV4Form_universal_d_TextNodeStyle as TextNodeStyle,\n      formsV4Form_universal_d_RadioGroup as RadioGroup,\n      formsV4Form_universal_d_RadioGroupOption as RadioGroupOption,\n      formsV4Form_universal_d_RadioGroupCustomOption as RadioGroupCustomOption,\n      formsV4Form_universal_d_NumberOfColumns as NumberOfColumns,\n      formsV4Form_universal_d_Dropdown as Dropdown,\n      formsV4Form_universal_d_DropdownOption as DropdownOption,\n      formsV4Form_universal_d_DropdownCustomOption as DropdownCustomOption,\n      formsV4Form_universal_d_DateTimeInput as DateTimeInput,\n      formsV4Form_universal_d_PhoneInput as PhoneInput,\n      formsV4Form_universal_d_DateInput as DateInput,\n      formsV4Form_universal_d_TimeInput as TimeInput,\n      formsV4Form_universal_d_DatePicker as DatePicker,\n      formsV4Form_universal_d_FirstDayOfWeekEnumFirstDayOfWeek as FirstDayOfWeekEnumFirstDayOfWeek,\n      formsV4Form_universal_d_InputFieldNumberType as InputFieldNumberType,\n      formsV4Form_universal_d_InputFieldNumberErrorMessages as InputFieldNumberErrorMessages,\n      formsV4Form_universal_d_NumberComponentType as NumberComponentType,\n      formsV4Form_universal_d_NumberInput as NumberInput,\n      formsV4Form_universal_d_RatingInput as RatingInput,\n      formsV4Form_universal_d_InputFieldBooleanType as InputFieldBooleanType,\n      formsV4Form_universal_d_InputFieldBooleanErrorMessages as InputFieldBooleanErrorMessages,\n      formsV4Form_universal_d_BooleanComponentType as BooleanComponentType,\n      formsV4Form_universal_d_Checkbox as Checkbox,\n      formsV4Form_universal_d_InputFieldArrayType as InputFieldArrayType,\n      formsV4Form_universal_d_ItemType as ItemType,\n      formsV4Form_universal_d_InputFieldIntegerType as InputFieldIntegerType,\n      formsV4Form_universal_d_InputFieldObjectType as InputFieldObjectType,\n      formsV4Form_universal_d_PropertiesTypeEnum as PropertiesTypeEnum,\n      formsV4Form_universal_d_ObjectTypePropertiesType as ObjectTypePropertiesType,\n      formsV4Form_universal_d_ObjectTypePropertiesTypePropertiesTypeOptionsOneOf as ObjectTypePropertiesTypePropertiesTypeOptionsOneOf,\n      formsV4Form_universal_d_InputFieldObjectErrorMessages as InputFieldObjectErrorMessages,\n      formsV4Form_universal_d_ArrayTypeArrayItems as ArrayTypeArrayItems,\n      formsV4Form_universal_d_ArrayTypeArrayItemsItemTypeOptionsOneOf as ArrayTypeArrayItemsItemTypeOptionsOneOf,\n      formsV4Form_universal_d_InputFieldArrayErrorMessages as InputFieldArrayErrorMessages,\n      formsV4Form_universal_d_ComponentType as ComponentType,\n      formsV4Form_universal_d_CheckboxGroup as CheckboxGroup,\n      formsV4Form_universal_d_MediaItem as MediaItem,\n      formsV4Form_universal_d_MediaItemMediaOneOf as MediaItemMediaOneOf,\n      formsV4Form_universal_d_Option as Option,\n      formsV4Form_universal_d_CustomOption as CustomOption,\n      formsV4Form_universal_d_Tags as Tags,\n      formsV4Form_universal_d_TagsOption as TagsOption,\n      formsV4Form_universal_d_CommonCustomOption as CommonCustomOption,\n      formsV4Form_universal_d_WixFileComponentType as WixFileComponentType,\n      formsV4Form_universal_d_FileUpload as FileUpload,\n      formsV4Form_universal_d_UploadFileFormat as UploadFileFormat,\n      formsV4Form_universal_d_Signature as Signature,\n      formsV4Form_universal_d_PaymentComponentType as PaymentComponentType,\n      formsV4Form_universal_d_ProductCheckboxGroup as ProductCheckboxGroup,\n      formsV4Form_universal_d_ProductCheckboxGroupOption as ProductCheckboxGroupOption,\n      formsV4Form_universal_d_ImageFit as ImageFit,\n      formsV4Form_universal_d_DonationInput as DonationInput,\n      formsV4Form_universal_d_DonationInputOption as DonationInputOption,\n      formsV4Form_universal_d_PaymentInput as PaymentInput,\n      formsV4Form_universal_d_FixedPayment as FixedPayment,\n      formsV4Form_universal_d_MultilineAddressComponentType as MultilineAddressComponentType,\n      formsV4Form_universal_d_MultilineAddress as MultilineAddress,\n      formsV4Form_universal_d_DefaultCountryConfigType as DefaultCountryConfigType,\n      formsV4Form_universal_d_AddressLine2 as AddressLine2,\n      formsV4Form_universal_d_DefaultCountryConfig as DefaultCountryConfig,\n      formsV4Form_universal_d_DefaultCountryConfigOptionsOneOf as DefaultCountryConfigOptionsOneOf,\n      formsV4Form_universal_d_FieldsSettings as FieldsSettings,\n      formsV4Form_universal_d_InputType as InputType,\n      formsV4Form_universal_d_FormFieldContactInfo as FormFieldContactInfo,\n      formsV4Form_universal_d_FormFieldContactInfoAdditionalInfoOneOf as FormFieldContactInfoAdditionalInfoOneOf,\n      formsV4Form_universal_d_EmailInfoTag as EmailInfoTag,\n      formsV4Form_universal_d_PhoneInfoTag as PhoneInfoTag,\n      formsV4Form_universal_d_Tag as Tag,\n      formsV4Form_universal_d_OptInLevel as OptInLevel,\n      formsV4Form_universal_d_ContactField as ContactField,\n      formsV4Form_universal_d_EmailInfo as EmailInfo,\n      formsV4Form_universal_d_PhoneInfo as PhoneInfo,\n      formsV4Form_universal_d_AddressInfo as AddressInfo,\n      formsV4Form_universal_d_CustomFieldInfo as CustomFieldInfo,\n      formsV4Form_universal_d_SubscriptionInfo as SubscriptionInfo,\n      formsV4Form_universal_d__String as _String,\n      formsV4Form_universal_d__StringComponentTypeOptionsOneOf as _StringComponentTypeOptionsOneOf,\n      formsV4Form_universal_d__Number as _Number,\n      formsV4Form_universal_d__NumberComponentTypeOptionsOneOf as _NumberComponentTypeOptionsOneOf,\n      formsV4Form_universal_d__Boolean as _Boolean,\n      formsV4Form_universal_d__BooleanComponentTypeOptionsOneOf as _BooleanComponentTypeOptionsOneOf,\n      formsV4Form_universal_d__Array as _Array,\n      formsV4Form_universal_d__ArrayComponentTypeOptionsOneOf as _ArrayComponentTypeOptionsOneOf,\n      formsV4Form_universal_d__Object as _Object,\n      formsV4Form_universal_d__ObjectValidationOneOf as _ObjectValidationOneOf,\n      formsV4Form_universal_d_WixFile as WixFile,\n      formsV4Form_universal_d_WixFileComponentTypeOptionsOneOf as WixFileComponentTypeOptionsOneOf,\n      formsV4Form_universal_d_Payment as Payment,\n      formsV4Form_universal_d_PaymentComponentTypeOptionsOneOf as PaymentComponentTypeOptionsOneOf,\n      formsV4Form_universal_d_InputFieldMultilineAddress as InputFieldMultilineAddress,\n      formsV4Form_universal_d_InputFieldMultilineAddressComponentTypeOptionsOneOf as InputFieldMultilineAddressComponentTypeOptionsOneOf,\n      formsV4Form_universal_d_Target as Target,\n      formsV4Form_universal_d_ThankYouMessage as ThankYouMessage,\n      formsV4Form_universal_d_Redirect as Redirect,\n      formsV4Form_universal_d_FieldType as FieldType,\n      formsV4Form_universal_d_InputField as InputField,\n      formsV4Form_universal_d_InputFieldInputTypeOptionsOneOf as InputFieldInputTypeOptionsOneOf,\n      formsV4Form_universal_d_DisplayField as DisplayField,\n      formsV4Form_universal_d_DisplayFieldDisplayFieldTypeOptionsOneOf as DisplayFieldDisplayFieldTypeOptionsOneOf,\n      formsV4Form_universal_d_DisplayFieldComponentTypeOneOf as DisplayFieldComponentTypeOneOf,\n      formsV4Form_universal_d_DisplayFieldType as DisplayFieldType,\n      formsV4Form_universal_d_RichContentOptions as RichContentOptions,\n      formsV4Form_universal_d_PageNavigationOptions as PageNavigationOptions,\n      formsV4Form_universal_d_Header as Header,\n      formsV4Form_universal_d_RichText as RichText,\n      formsV4Form_universal_d_SubmitButton as SubmitButton,\n      formsV4Form_universal_d_SubmitButtonSubmitActionOneOf as SubmitButtonSubmitActionOneOf,\n      formsV4Form_universal_d_Step as Step,\n      formsV4Form_universal_d_FormLayout as FormLayout,\n      formsV4Form_universal_d_BreakPoint as BreakPoint,\n      formsV4Form_universal_d_ItemLayout as ItemLayout,\n      formsV4Form_universal_d_ItemLayoutItemOneOf as ItemLayoutItemOneOf,\n      formsV4Form_universal_d_Group as Group,\n      formsV4Form_universal_d_Margin as Margin,\n      formsV4Form_universal_d_Section as Section,\n      formsV4Form_universal_d_FormRule as FormRule,\n      formsV4Form_universal_d_OverrideEntityType as OverrideEntityType,\n      formsV4Form_universal_d_FormOverride as FormOverride,\n      formsV4Form_universal_d_FormProperties as FormProperties,\n      formsV4Form_universal_d_Kind as Kind,\n      formsV4Form_universal_d_PostSubmissionTriggers as PostSubmissionTriggers,\n      formsV4Form_universal_d_UpsertContact as UpsertContact,\n      formsV4Form_universal_d_ExtendedFields as ExtendedFields,\n      formsV4Form_universal_d_NestedForm as NestedForm,\n      formsV4Form_universal_d_LimitationRule as LimitationRule,\n      formsV4Form_universal_d_SpamFilterProtectionLevel as SpamFilterProtectionLevel,\n      formsV4Form_universal_d_RequiredIndicatorProperties as RequiredIndicatorProperties,\n      formsV4Form_universal_d_SubmitSettings as SubmitSettings,\n      formsV4Form_universal_d_SubmitSettingsSubmitSuccessActionOptionsOneOf as SubmitSettingsSubmitSuccessActionOptionsOneOf,\n      formsV4Form_universal_d_UrlTargetEnumTarget as UrlTargetEnumTarget,\n      formsV4Form_universal_d_SubmitSuccessAction as SubmitSuccessAction,\n      formsV4Form_universal_d_ThankYouMessageOptions as ThankYouMessageOptions,\n      formsV4Form_universal_d_RedirectOptions as RedirectOptions,\n      formsV4Form_universal_d_FieldGroup as FieldGroup,\n      formsV4Form_universal_d_PiiFieldsUpdated as PiiFieldsUpdated,\n      formsV4Form_universal_d_FormChanged as FormChanged,\n      formsV4Form_universal_d_FormDeleted as FormDeleted,\n      formsV4Form_universal_d_SubmissionKeysPermanentlyDeleted as SubmissionKeysPermanentlyDeleted,\n      formsV4Form_universal_d_CreateFormRequest as CreateFormRequest,\n      formsV4Form_universal_d_CreateFormResponse as CreateFormResponse,\n      formsV4Form_universal_d_TargetBasedErrorDetails as TargetBasedErrorDetails,\n      formsV4Form_universal_d_FieldIdBasedErrorDetails as FieldIdBasedErrorDetails,\n      formsV4Form_universal_d_StepIdBasedErrorDetails as StepIdBasedErrorDetails,\n      formsV4Form_universal_d_RuleIdBasedErrorDetails as RuleIdBasedErrorDetails,\n      formsV4Form_universal_d_NonExistingNestedFormsErrorDetails as NonExistingNestedFormsErrorDetails,\n      formsV4Form_universal_d_NestedFormFieldsMissingErrorDetails as NestedFormFieldsMissingErrorDetails,\n      formsV4Form_universal_d_FormFieldV2ApiValidationErrorDetails as FormFieldV2ApiValidationErrorDetails,\n      formsV4Form_universal_d_ProductIdBasedErrorDetails as ProductIdBasedErrorDetails,\n      formsV4Form_universal_d_BulkCreateFormRequest as BulkCreateFormRequest,\n      formsV4Form_universal_d_BulkCreateFormResponse as BulkCreateFormResponse,\n      formsV4Form_universal_d_BulkFormResult as BulkFormResult,\n      formsV4Form_universal_d_ItemMetadata as ItemMetadata,\n      formsV4Form_universal_d_ApplicationError as ApplicationError,\n      formsV4Form_universal_d_BulkActionMetadata as BulkActionMetadata,\n      formsV4Form_universal_d_CloneFormRequest as CloneFormRequest,\n      formsV4Form_universal_d_CloneFormResponse as CloneFormResponse,\n      formsV4Form_universal_d_CloneFormFromTemplateRequest as CloneFormFromTemplateRequest,\n      formsV4Form_universal_d_CloneFormFromTemplateResponse as CloneFormFromTemplateResponse,\n      formsV4Form_universal_d_GetFormRequest as GetFormRequest,\n      formsV4Form_universal_d_Fieldset as Fieldset,\n      formsV4Form_universal_d_GetFormResponse as GetFormResponse,\n      formsV4Form_universal_d_UpdateFormRequest as UpdateFormRequest,\n      formsV4Form_universal_d_UpdateFormResponse as UpdateFormResponse,\n      formsV4Form_universal_d_RemoveFormFromTrashBinRequest as RemoveFormFromTrashBinRequest,\n      formsV4Form_universal_d_RemoveFormFromTrashBinResponse as RemoveFormFromTrashBinResponse,\n      formsV4Form_universal_d_DeleteFormRequest as DeleteFormRequest,\n      formsV4Form_universal_d_DeleteFormResponse as DeleteFormResponse,\n      formsV4Form_universal_d_RestoreFromTrashBinRequest as RestoreFromTrashBinRequest,\n      formsV4Form_universal_d_RestoreFromTrashBinResponse as RestoreFromTrashBinResponse,\n      formsV4Form_universal_d_QueryFormsRequest as QueryFormsRequest,\n      formsV4Form_universal_d_CursorQuery as CursorQuery,\n      formsV4Form_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      formsV4Form_universal_d_Sorting as Sorting,\n      formsV4Form_universal_d_SortOrder as SortOrder,\n      formsV4Form_universal_d_CommonCursorPaging as CommonCursorPaging,\n      formsV4Form_universal_d_QueryFormsResponse as QueryFormsResponse,\n      formsV4Form_universal_d_CommonCursorPagingMetadata as CommonCursorPagingMetadata,\n      formsV4Form_universal_d_CommonCursors as CommonCursors,\n      formsV4Form_universal_d_CountFormsRequest as CountFormsRequest,\n      formsV4Form_universal_d_CountFormsFieldset as CountFormsFieldset,\n      formsV4Form_universal_d_CountFormsResponse as CountFormsResponse,\n      formsV4Form_universal_d_ListTemplateExtensionsRequest as ListTemplateExtensionsRequest,\n      formsV4Form_universal_d_ListFormsOrderEnumListFormsOrder as ListFormsOrderEnumListFormsOrder,\n      formsV4Form_universal_d_NameFilter as NameFilter,\n      formsV4Form_universal_d_FilterType as FilterType,\n      formsV4Form_universal_d_ListTemplateExtensionsResponse as ListTemplateExtensionsResponse,\n      formsV4Form_universal_d_ListFormsRequest as ListFormsRequest,\n      formsV4Form_universal_d_ListFormsOrder as ListFormsOrder,\n      formsV4Form_universal_d_ListFormsResponse as ListFormsResponse,\n      formsV4Form_universal_d_GetDeletedFormRequest as GetDeletedFormRequest,\n      formsV4Form_universal_d_GetDeletedFormResponse as GetDeletedFormResponse,\n      formsV4Form_universal_d_QueryDeletedFormsRequest as QueryDeletedFormsRequest,\n      formsV4Form_universal_d_QueryDeletedFormsResponse as QueryDeletedFormsResponse,\n      formsV4Form_universal_d_ListDeletedFormsRequest as ListDeletedFormsRequest,\n      formsV4Form_universal_d_ListDeletedFormsOrder as ListDeletedFormsOrder,\n      formsV4Form_universal_d_ListDeletedFormsResponse as ListDeletedFormsResponse,\n      formsV4Form_universal_d_BulkRemoveDeletedFieldRequest as BulkRemoveDeletedFieldRequest,\n      formsV4Form_universal_d_BulkRemoveDeletedFieldResponse as BulkRemoveDeletedFieldResponse,\n      formsV4Form_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      formsV4Form_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      formsV4Form_universal_d_ListFormsProvidersConfigsRequest as ListFormsProvidersConfigsRequest,\n      formsV4Form_universal_d_ListFormsProvidersConfigsResponse as ListFormsProvidersConfigsResponse,\n      formsV4Form_universal_d_FormsSchemaProvidersConfig as FormsSchemaProvidersConfig,\n      formsV4Form_universal_d_FormProviderRestrictions as FormProviderRestrictions,\n      formsV4Form_universal_d_DomainEvent as DomainEvent,\n      formsV4Form_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      formsV4Form_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      formsV4Form_universal_d_RestoreInfo as RestoreInfo,\n      formsV4Form_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      formsV4Form_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      formsV4Form_universal_d_ActionEvent as ActionEvent,\n      formsV4Form_universal_d_Empty as Empty,\n      formsV4Form_universal_d_GetFormSummaryRequest as GetFormSummaryRequest,\n      formsV4Form_universal_d_GetFormSummaryResponse as GetFormSummaryResponse,\n      formsV4Form_universal_d_FormSummary as FormSummary,\n      formsV4Form_universal_d_FieldInputType as FieldInputType,\n      formsV4Form_universal_d_FieldOption as FieldOption,\n      formsV4Form_universal_d_Field as Field,\n      formsV4Form_universal_d_MessageEnvelope as MessageEnvelope,\n      formsV4Form_universal_d_IdentificationData as IdentificationData,\n      formsV4Form_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      formsV4Form_universal_d_WebhookIdentityType as WebhookIdentityType,\n      formsV4Form_universal_d_createForm as createForm,\n      formsV4Form_universal_d_bulkCreateForm as bulkCreateForm,\n      formsV4Form_universal_d_BulkCreateFormOptions as BulkCreateFormOptions,\n      formsV4Form_universal_d_cloneForm as cloneForm,\n      formsV4Form_universal_d_cloneFormFromTemplate as cloneFormFromTemplate,\n      formsV4Form_universal_d_CloneFormFromTemplateOptions as CloneFormFromTemplateOptions,\n      formsV4Form_universal_d_getForm as getForm,\n      formsV4Form_universal_d_GetFormOptions as GetFormOptions,\n      formsV4Form_universal_d_updateForm as updateForm,\n      formsV4Form_universal_d_UpdateForm as UpdateForm,\n      formsV4Form_universal_d_UpdateFormOptions as UpdateFormOptions,\n      formsV4Form_universal_d_removeFormFromTrashBin as removeFormFromTrashBin,\n      formsV4Form_universal_d_deleteForm as deleteForm,\n      formsV4Form_universal_d_DeleteFormOptions as DeleteFormOptions,\n      formsV4Form_universal_d_restoreFromTrashBin as restoreFromTrashBin,\n      formsV4Form_universal_d_queryForms as queryForms,\n      formsV4Form_universal_d_QueryFormsOptions as QueryFormsOptions,\n      formsV4Form_universal_d_FormsQueryResult as FormsQueryResult,\n      formsV4Form_universal_d_FormsQueryBuilder as FormsQueryBuilder,\n      formsV4Form_universal_d_countForms as countForms,\n      formsV4Form_universal_d_CountFormsOptions as CountFormsOptions,\n      formsV4Form_universal_d_listTemplateExtensions as listTemplateExtensions,\n      formsV4Form_universal_d_ListTemplateExtensionsOptions as ListTemplateExtensionsOptions,\n      formsV4Form_universal_d_listForms as listForms,\n      formsV4Form_universal_d_ListFormsOptions as ListFormsOptions,\n      formsV4Form_universal_d_getDeletedForm as getDeletedForm,\n      formsV4Form_universal_d_queryDeletedForms as queryDeletedForms,\n      formsV4Form_universal_d_listDeletedForms as listDeletedForms,\n      formsV4Form_universal_d_ListDeletedFormsOptions as ListDeletedFormsOptions,\n      formsV4Form_universal_d_bulkRemoveDeletedField as bulkRemoveDeletedField,\n      formsV4Form_universal_d_BulkRemoveDeletedFieldOptions as BulkRemoveDeletedFieldOptions,\n      formsV4Form_universal_d_updateExtendedFields as updateExtendedFields,\n      formsV4Form_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n      formsV4Form_universal_d_listFormsProvidersConfigs as listFormsProvidersConfigs,\n      formsV4Form_universal_d_getFormSummary as getFormSummary,\n    };\n  }\n  \n  export { formsV4Form_universal_d as forms, formsV4Submission_universal_d as submissions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/auto-frontend-module-registry.d.ts",
      "content": "declare module \"auto-frontend-module-registry\" {\n  const ModuleList: string[];\n  \n  export { ModuleList };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-table-reservations-backend.d.ts",
      "content": "declare module \"wix-table-reservations-backend\" {\n  const __debug$2: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** The reservation domain object. */\n  interface Reservation {\n      /**\n       * Reservation ID. Read-Only.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Status of the reservation. */\n      status?: Status$1;\n      /** Reservation source. */\n      source?: Source;\n      /** Reservation details. */\n      details?: Details;\n      /** Info about the person the reservation is being made for. */\n      reservee?: Reservee;\n      /**\n       * Info about the person making the reservation.\n       * @readonly\n       */\n      reservedBy?: ReservedBy;\n      /** Team message. */\n      teamMessage?: string | null;\n      /**\n       * Date and time when the when reservation was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time when the when reservation was changed.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Decline reason. */\n      declineReason?: string | null;\n  }\n  enum Status$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** The reservation is held for a period of time during which person who makes reservation should fill details. */\n      HELD = \"HELD\",\n      /** The reservation has been reserved. */\n      RESERVED = \"RESERVED\",\n      /** The reservation has been canceled. */\n      CANCELED = \"CANCELED\",\n      /** The reservation has been successfully finished. */\n      FINISHED = \"FINISHED\",\n      /** The reservee didn't arrive. */\n      NO_SHOW = \"NO_SHOW\",\n      /** The reservee occupied the table. */\n      SEATED = \"SEATED\",\n      /** The reservee requested reservation and is waiting for manual approval. */\n      REQUESTED = \"REQUESTED\",\n      /** The owner declined reservee's request. */\n      DECLINED = \"DECLINED\"\n  }\n  enum Source {\n      UNKNOWN = \"UNKNOWN\",\n      /** The reservation is created by a User. */\n      OFFLINE = \"OFFLINE\",\n      /** The reservation is created by UoU. */\n      ONLINE = \"ONLINE\",\n      /** The reservation is created by a User. It can be created without reservee data. */\n      WALK_IN = \"WALK_IN\"\n  }\n  /** Reservation details. */\n  interface Details {\n      /** Reservation location ID where reservation is made. */\n      reservationLocationId?: string | null;\n      /** Table IDs. */\n      tableIds?: string[] | null;\n      /** Start date of the reservation. */\n      startDate?: Date;\n      /** End date of the reservation. */\n      endDate?: Date;\n      /** Party size. */\n      partySize?: number | null;\n  }\n  /** A person the reservation is being made for. */\n  interface Reservee {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Email. */\n      email?: string | null;\n      /** Phone. */\n      phone?: string | null;\n      /** Marketing consent. */\n      marketingConsent?: boolean | null;\n      /**\n       * Reservee's custom fields,\n       *\n       * where each key is the custom field definition id,\n       * and each value is the field's value for the contact.\n       *\n       * Empty fields are not returned.\n       */\n      customFields?: Record<string, any> | null;\n      /**\n       * CRM contact ID, create new one if not exist.\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  /** A person making reservation. */\n  interface ReservedBy {\n      /**\n       * CRM contact ID for the person who made the reservation.\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  interface CreateReservationRequest {\n      /** Reservation. */\n      reservation: Reservation;\n      /**\n       * If creation is forced.\n       * @internal\n       */\n      force?: boolean;\n      /** Ignore table combination conflicts. */\n      ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];\n      /** Ignore reservation location conflicts. */\n      ignoreReservationLocationConflicts?: Type$1[];\n  }\n  enum TableCombinationConflictType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      RESERVED = \"RESERVED\",\n      TOO_BIG = \"TOO_BIG\",\n      TOO_SMALL = \"TOO_SMALL\",\n      OFFLINE_ONLY = \"OFFLINE_ONLY\"\n  }\n  enum Type$1 {\n      UNKNOWN = \"UNKNOWN\",\n      PARTY_PACING = \"PARTY_PACING\",\n      SEAT_PACING = \"SEAT_PACING\"\n  }\n  interface CreateReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface ReservationDetailsConflicts {\n      /** Table combinations conflicts. */\n      tableCombinationConflicts?: TableCombinationConflict$1[];\n      /** Reservation location conflicts. */\n      reservationLocationConflicts?: ReservationLocationConflict$1[];\n  }\n  interface TableCombinationConflict$1 {\n      /** Conflict type. */\n      type?: TableCombinationConflictType$1;\n  }\n  interface ReservationLocationConflict$1 {\n      /** Reservation location conflict type. */\n      type?: Type$1;\n  }\n  interface GetReservationRequest {\n      /** Reservation id. */\n      reservationId: string;\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       */\n      fieldSet?: Set$1;\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. */\n      fieldsets?: Set$1[];\n  }\n  enum Set$1 {\n      PUBLIC = \"PUBLIC\",\n      FULL = \"FULL\"\n  }\n  interface GetReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface UpdateReservationRequest {\n      /** Reservation. */\n      reservation: Reservation;\n      /**\n       * Field mask.\n       * @internal\n       */\n      mask?: string[];\n      /**\n       * If update should be forced.\n       * @internal\n       */\n      force?: boolean;\n      /** Ignored table combination conflicts. */\n      ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];\n      /** Ignored reservation location conflicts. */\n      ignoreReservationLocationConflicts?: Type$1[];\n  }\n  interface UpdateReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface ReservationDataUpdated {\n      /** Reserved reservation. */\n      reservation?: Reservation;\n      /** Old reservation. */\n      oldReservation?: Reservation;\n  }\n  interface CreateHeldReservationRequest {\n      reservationDetails: HeldReservationDetails;\n  }\n  /** Reservation details when create reservation in status HELD. */\n  interface HeldReservationDetails {\n      /** Reservation location ID where reservation is made. */\n      reservationLocationId?: string | null;\n      /** Start date of the reservation. */\n      startDate?: Date;\n      /** Party size. */\n      partySize?: number | null;\n  }\n  interface CreateHeldReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface ReserveReservationRequest {\n      /** Reservation id. */\n      reservationId: string;\n      /** Reservee. */\n      reservee: Reservee;\n      revision: string | null;\n  }\n  interface ReserveReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface ReservationReserved {\n      /** Reserved reservation. */\n      reservation?: Reservation;\n  }\n  interface CancelReservationRequest {\n      /** Reservation id. */\n      reservationId: string;\n      revision: string | null;\n      /** Phone number that was used when the reservation was created. */\n      phone?: string | null;\n  }\n  interface CancelReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface ReservationCanceled {\n      /** Reserved reservation. */\n      reservation?: Reservation;\n  }\n  interface DeleteReservationRequest {\n      /** Reservation id. */\n      reservationId: string;\n      revision?: string;\n  }\n  interface DeleteReservationResponse {\n  }\n  interface ListReservationsRequest {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      paging?: CursorPaging$1;\n      /** The way how reservations in response should be sorted. */\n      sort?: Sorting$1;\n      /** Start date from. */\n      startDateFrom?: Date;\n      /** Start date to. */\n      startDateTo?: Date;\n      /** Only reservations with this status should be returned. */\n      status?: Status$1;\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface ListReservationsResponse {\n      /** List of the reservations. */\n      reservations?: Reservation[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryReservationsRequest {\n      /** Query to select reservations. */\n      query: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryReservationsResponse {\n      /** List of the reservations. */\n      reservations?: Reservation[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent$1;\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent$1 {\n      currentEntityAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  /**\n   * Creates a new reservation.\n   * @param reservation - Reservation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reservation\n   * @requiredField reservation.details\n   * @requiredField reservation.details.partySize\n   * @requiredField reservation.details.reservationLocationId\n   * @requiredField reservation.details.startDate\n   */\n  function createReservation(reservation: Reservation, options?: CreateReservationOptions): Promise<CreateReservationResponse>;\n  interface CreateReservationOptions {\n      /**\n       * If creation is forced.\n       * @internal\n       */\n      force?: boolean;\n      /** Ignore table combination conflicts. */\n      ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];\n      /** Ignore reservation location conflicts. */\n      ignoreReservationLocationConflicts?: Type$1[];\n  }\n  /**\n   * Get a reservation.\n   * @param reservationId - Reservation id.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reservationId\n   */\n  function getReservation(reservationId: string, options?: GetReservationOptions): Promise<GetReservationResponse>;\n  interface GetReservationOptions {\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       */\n      fieldSet?: Set$1;\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. */\n      fieldsets?: Set$1[];\n  }\n  /**\n   * Update a reservation's specified properties.\n   * @param _id - Reservation ID. Read-Only.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField reservation\n   * @requiredField reservation.revision\n   */\n  function updateReservation(_id: string | null, reservation: UpdateReservation, options?: UpdateReservationOptions): Promise<UpdateReservationResponse>;\n  interface UpdateReservation {\n      /**\n       * Reservation ID. Read-Only.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Status of the reservation. */\n      status?: Status$1;\n      /** Reservation source. */\n      source?: Source;\n      /** Reservation details. */\n      details?: Details;\n      /** Info about the person the reservation is being made for. */\n      reservee?: Reservee;\n      /**\n       * Info about the person making the reservation.\n       * @readonly\n       */\n      reservedBy?: ReservedBy;\n      /** Team message. */\n      teamMessage?: string | null;\n      /**\n       * Date and time when the when reservation was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time when the when reservation was changed.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Decline reason. */\n      declineReason?: string | null;\n  }\n  interface UpdateReservationOptions {\n      /**\n       * Field mask.\n       * @internal\n       */\n      mask?: string[];\n      /**\n       * If update should be forced.\n       * @internal\n       */\n      force?: boolean;\n      /** Ignored table combination conflicts. */\n      ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];\n      /** Ignored reservation location conflicts. */\n      ignoreReservationLocationConflicts?: Type$1[];\n  }\n  /**\n   * Creates a new reservation in a HELD status.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reservationDetails\n   * @requiredField reservationDetails.partySize\n   * @requiredField reservationDetails.reservationLocationId\n   * @requiredField reservationDetails.startDate\n   */\n  function createHeldReservation(reservationDetails: HeldReservationDetails): Promise<CreateHeldReservationResponse>;\n  /**\n   * Reserve reservation. Change HELD status to RESERVED.\n   * @param reservationId - Reservation id.\n   * @param reservee - Reservee.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reservationId\n   * @requiredField reservee\n   * @requiredField reservee.firstName\n   * @requiredField reservee.phone\n   * @requiredField revision\n   */\n  function reserveReservation(reservationId: string, reservee: Reservee, revision: string | null): Promise<ReserveReservationResponse>;\n  /**\n   * Cancel reservation. Set reservation status to CANCELED.\n   * @param reservationId - Reservation id.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reservationId\n   * @requiredField revision\n   */\n  function cancelReservation(reservationId: string, revision: string | null, options?: CancelReservationOptions): Promise<CancelReservationResponse>;\n  interface CancelReservationOptions {\n      /** Phone number that was used when the reservation was created. */\n      phone?: string | null;\n  }\n  /**\n   * Delete reservation. Only reservations in status HELD can be deleted.\n   * @param reservationId - Reservation id.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reservationId\n   * @requiredField revision\n   */\n  function deleteReservation(reservationId: string, revision: string): Promise<void>;\n  /**\n   * Lists reservations, given the providing paging and sorting.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listReservations(options?: ListReservationsOptions): Promise<ListReservationsResponse>;\n  interface ListReservationsOptions {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      paging?: CursorPaging$1;\n      /** The way how reservations in response should be sorted. */\n      sort?: Sorting$1;\n      /** Start date from. */\n      startDateFrom?: Date;\n      /** Start date to. */\n      startDateTo?: Date;\n      /** Only reservations with this status should be returned. */\n      status?: Status$1;\n  }\n  /**\n   * Retrieves a list of reservations, given the provided filters, sorting and paging.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryReservations(): ReservationsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReservationsQueryResult extends QueryCursorResult$1 {\n      items: Reservation[];\n      query: ReservationsQueryBuilder;\n      next: () => Promise<ReservationsQueryResult>;\n      prev: () => Promise<ReservationsQueryResult>;\n  }\n  interface ReservationsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReservationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReservationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReservationsQueryResult>;\n  }\n  \n  type tableReservationsV1Reservation_universal_d_Reservation = Reservation;\n  type tableReservationsV1Reservation_universal_d_Source = Source;\n  const tableReservationsV1Reservation_universal_d_Source: typeof Source;\n  type tableReservationsV1Reservation_universal_d_Details = Details;\n  type tableReservationsV1Reservation_universal_d_Reservee = Reservee;\n  type tableReservationsV1Reservation_universal_d_ReservedBy = ReservedBy;\n  type tableReservationsV1Reservation_universal_d_CreateReservationRequest = CreateReservationRequest;\n  type tableReservationsV1Reservation_universal_d_CreateReservationResponse = CreateReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ReservationDetailsConflicts = ReservationDetailsConflicts;\n  type tableReservationsV1Reservation_universal_d_GetReservationRequest = GetReservationRequest;\n  type tableReservationsV1Reservation_universal_d_GetReservationResponse = GetReservationResponse;\n  type tableReservationsV1Reservation_universal_d_UpdateReservationRequest = UpdateReservationRequest;\n  type tableReservationsV1Reservation_universal_d_UpdateReservationResponse = UpdateReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ReservationDataUpdated = ReservationDataUpdated;\n  type tableReservationsV1Reservation_universal_d_CreateHeldReservationRequest = CreateHeldReservationRequest;\n  type tableReservationsV1Reservation_universal_d_HeldReservationDetails = HeldReservationDetails;\n  type tableReservationsV1Reservation_universal_d_CreateHeldReservationResponse = CreateHeldReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ReserveReservationRequest = ReserveReservationRequest;\n  type tableReservationsV1Reservation_universal_d_ReserveReservationResponse = ReserveReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ReservationReserved = ReservationReserved;\n  type tableReservationsV1Reservation_universal_d_CancelReservationRequest = CancelReservationRequest;\n  type tableReservationsV1Reservation_universal_d_CancelReservationResponse = CancelReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ReservationCanceled = ReservationCanceled;\n  type tableReservationsV1Reservation_universal_d_DeleteReservationRequest = DeleteReservationRequest;\n  type tableReservationsV1Reservation_universal_d_DeleteReservationResponse = DeleteReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ListReservationsRequest = ListReservationsRequest;\n  type tableReservationsV1Reservation_universal_d_ListReservationsResponse = ListReservationsResponse;\n  type tableReservationsV1Reservation_universal_d_QueryReservationsRequest = QueryReservationsRequest;\n  type tableReservationsV1Reservation_universal_d_QueryReservationsResponse = QueryReservationsResponse;\n  const tableReservationsV1Reservation_universal_d_createReservation: typeof createReservation;\n  type tableReservationsV1Reservation_universal_d_CreateReservationOptions = CreateReservationOptions;\n  const tableReservationsV1Reservation_universal_d_getReservation: typeof getReservation;\n  type tableReservationsV1Reservation_universal_d_GetReservationOptions = GetReservationOptions;\n  const tableReservationsV1Reservation_universal_d_updateReservation: typeof updateReservation;\n  type tableReservationsV1Reservation_universal_d_UpdateReservation = UpdateReservation;\n  type tableReservationsV1Reservation_universal_d_UpdateReservationOptions = UpdateReservationOptions;\n  const tableReservationsV1Reservation_universal_d_createHeldReservation: typeof createHeldReservation;\n  const tableReservationsV1Reservation_universal_d_reserveReservation: typeof reserveReservation;\n  const tableReservationsV1Reservation_universal_d_cancelReservation: typeof cancelReservation;\n  type tableReservationsV1Reservation_universal_d_CancelReservationOptions = CancelReservationOptions;\n  const tableReservationsV1Reservation_universal_d_deleteReservation: typeof deleteReservation;\n  const tableReservationsV1Reservation_universal_d_listReservations: typeof listReservations;\n  type tableReservationsV1Reservation_universal_d_ListReservationsOptions = ListReservationsOptions;\n  const tableReservationsV1Reservation_universal_d_queryReservations: typeof queryReservations;\n  type tableReservationsV1Reservation_universal_d_ReservationsQueryResult = ReservationsQueryResult;\n  type tableReservationsV1Reservation_universal_d_ReservationsQueryBuilder = ReservationsQueryBuilder;\n  namespace tableReservationsV1Reservation_universal_d {\n    export {\n      __debug$2 as __debug,\n      tableReservationsV1Reservation_universal_d_Reservation as Reservation,\n      Status$1 as Status,\n      tableReservationsV1Reservation_universal_d_Source as Source,\n      tableReservationsV1Reservation_universal_d_Details as Details,\n      tableReservationsV1Reservation_universal_d_Reservee as Reservee,\n      tableReservationsV1Reservation_universal_d_ReservedBy as ReservedBy,\n      tableReservationsV1Reservation_universal_d_CreateReservationRequest as CreateReservationRequest,\n      TableCombinationConflictType$1 as TableCombinationConflictType,\n      Type$1 as Type,\n      tableReservationsV1Reservation_universal_d_CreateReservationResponse as CreateReservationResponse,\n      tableReservationsV1Reservation_universal_d_ReservationDetailsConflicts as ReservationDetailsConflicts,\n      TableCombinationConflict$1 as TableCombinationConflict,\n      ReservationLocationConflict$1 as ReservationLocationConflict,\n      tableReservationsV1Reservation_universal_d_GetReservationRequest as GetReservationRequest,\n      Set$1 as Set,\n      tableReservationsV1Reservation_universal_d_GetReservationResponse as GetReservationResponse,\n      tableReservationsV1Reservation_universal_d_UpdateReservationRequest as UpdateReservationRequest,\n      tableReservationsV1Reservation_universal_d_UpdateReservationResponse as UpdateReservationResponse,\n      tableReservationsV1Reservation_universal_d_ReservationDataUpdated as ReservationDataUpdated,\n      tableReservationsV1Reservation_universal_d_CreateHeldReservationRequest as CreateHeldReservationRequest,\n      tableReservationsV1Reservation_universal_d_HeldReservationDetails as HeldReservationDetails,\n      tableReservationsV1Reservation_universal_d_CreateHeldReservationResponse as CreateHeldReservationResponse,\n      tableReservationsV1Reservation_universal_d_ReserveReservationRequest as ReserveReservationRequest,\n      tableReservationsV1Reservation_universal_d_ReserveReservationResponse as ReserveReservationResponse,\n      tableReservationsV1Reservation_universal_d_ReservationReserved as ReservationReserved,\n      tableReservationsV1Reservation_universal_d_CancelReservationRequest as CancelReservationRequest,\n      tableReservationsV1Reservation_universal_d_CancelReservationResponse as CancelReservationResponse,\n      tableReservationsV1Reservation_universal_d_ReservationCanceled as ReservationCanceled,\n      tableReservationsV1Reservation_universal_d_DeleteReservationRequest as DeleteReservationRequest,\n      tableReservationsV1Reservation_universal_d_DeleteReservationResponse as DeleteReservationResponse,\n      tableReservationsV1Reservation_universal_d_ListReservationsRequest as ListReservationsRequest,\n      CursorPaging$1 as CursorPaging,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      tableReservationsV1Reservation_universal_d_ListReservationsResponse as ListReservationsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      tableReservationsV1Reservation_universal_d_QueryReservationsRequest as QueryReservationsRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Paging$1 as Paging,\n      tableReservationsV1Reservation_universal_d_QueryReservationsResponse as QueryReservationsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      ExtendedFieldsUpdatedEvent$1 as ExtendedFieldsUpdatedEvent,\n      Empty$1 as Empty,\n      tableReservationsV1Reservation_universal_d_createReservation as createReservation,\n      tableReservationsV1Reservation_universal_d_CreateReservationOptions as CreateReservationOptions,\n      tableReservationsV1Reservation_universal_d_getReservation as getReservation,\n      tableReservationsV1Reservation_universal_d_GetReservationOptions as GetReservationOptions,\n      tableReservationsV1Reservation_universal_d_updateReservation as updateReservation,\n      tableReservationsV1Reservation_universal_d_UpdateReservation as UpdateReservation,\n      tableReservationsV1Reservation_universal_d_UpdateReservationOptions as UpdateReservationOptions,\n      tableReservationsV1Reservation_universal_d_createHeldReservation as createHeldReservation,\n      tableReservationsV1Reservation_universal_d_reserveReservation as reserveReservation,\n      tableReservationsV1Reservation_universal_d_cancelReservation as cancelReservation,\n      tableReservationsV1Reservation_universal_d_CancelReservationOptions as CancelReservationOptions,\n      tableReservationsV1Reservation_universal_d_deleteReservation as deleteReservation,\n      tableReservationsV1Reservation_universal_d_listReservations as listReservations,\n      tableReservationsV1Reservation_universal_d_ListReservationsOptions as ListReservationsOptions,\n      tableReservationsV1Reservation_universal_d_queryReservations as queryReservations,\n      tableReservationsV1Reservation_universal_d_ReservationsQueryResult as ReservationsQueryResult,\n      tableReservationsV1Reservation_universal_d_ReservationsQueryBuilder as ReservationsQueryBuilder,\n    };\n  }\n  \n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** ReservationLocation is the main entity of ReservationLocationService. */\n  interface ReservationLocation {\n      /**\n       * ReservationLocation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of a reservation location. Each time the reservation location is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision. */\n      revision?: string | null;\n      /**\n       * Represents the time this ReservationLocation was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this ReservationLocation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Location data.\n       * @readonly\n       */\n      location?: Location;\n      /** Reservation configuration. */\n      configuration?: Configuration;\n      /**\n       * Whether this is the default location.\n       * @readonly\n       */\n      default?: boolean | null;\n      /**\n       * Whether the location is archived.\n       * @readonly\n       */\n      archived?: boolean | null;\n  }\n  /** Street address. Includes street name, number, and apartment number in separate fields. */\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  /** Address Geolocation */\n  interface AddressLocation {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number | null;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number | null;\n  }\n  interface Address {\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. Includes street name, number, and apartment number in separate fields. */\n      streetAddress?: StreetAddress;\n  }\n  /**\n   * Time periods that this location is open for business. Includes a collection of TimePeriod instances.\n   * Aligned with https://developers.google.com/my-business/reference/rest/v4/accounts.locations#businesshours\n   * With a few minor adjustments\n   */\n  interface BusinessSchedule {\n      periods?: TimePeriod[];\n      /** Exceptions to the business's regular hours. */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /**\n   * A span of time that the business is open,\n   * starting on the specified open day/time and closing on the specified close day/time.\n   * Closing time must occur after the opening time, for example later in the same day, or on a subsequent day.\n   */\n  interface TimePeriod {\n      /** Day of the week this period starts on. */\n      openDay?: DayOfWeek;\n      openTime?: string;\n      /** Day of the week this period ends on. */\n      closeDay?: DayOfWeek;\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Set of time periods when a location's operational hours differ from its normal business hours. */\n  interface SpecialHourPeriod {\n      /** Date and Time in 24hr iso-8601 Coordinated universal time (UTC) */\n      startDate?: string;\n      /** Date and Time in 24hr iso-8601 Coordinated universal time (UTC) */\n      endDate?: string;\n      isClosed?: boolean;\n      comment?: string;\n  }\n  /** Table definition. Definition of the tables. */\n  interface TableDefinition {\n      /**\n       * Table id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Table name. */\n      name?: string;\n      /** Min number of seats. */\n      seatsMin?: number;\n      /** Max number of seats. */\n      seatsMax?: number;\n      /** Is active. */\n      isActive?: boolean | null;\n  }\n  interface TableCombination$1 {\n      /**\n       * Table combination id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Ids of tables in the combination. */\n      tableIds?: string[] | null;\n      /** Min number of seats. */\n      seatsMin?: number;\n      /** Max number of seats. */\n      seatsMax?: number;\n      /** Is active. */\n      isActive?: boolean | null;\n  }\n  enum Unit {\n      UNKNOWN = \"UNKNOWN\",\n      MINUTES = \"MINUTES\",\n      HOURS = \"HOURS\",\n      DAYS = \"DAYS\"\n  }\n  /**\n   * Seat pacing.\n   * The pace is summarized separately for every 15 mins.\n   * Settings a new seat pace of X means that for example between 10:00.000-10:14.999 there will be no more than X new seats.\n   */\n  interface SeatPacing {\n      /** Max number of seats pace. */\n      number?: number;\n      /** Show if this option is enabled. */\n      enabled?: boolean;\n  }\n  /**\n   * Party pacing.\n   * The pace is summarized separately for every 15 mins.\n   * Settings a new parties pace of X means that for example between 10:00.000-10:14.999 there will be no more than X new parties.\n   */\n  interface PartyPacing {\n      /** Max number of parties pace. */\n      number?: number;\n      /** Show if this option is enabled. */\n      enabled?: boolean;\n  }\n  /** The party size that can be requested in a single reservation. */\n  interface PartiesSize {\n      /** Min number of seats. */\n      min?: number;\n      /** Max number of seats. */\n      max?: number;\n  }\n  /** The party size that can be requested in a single reservation. */\n  interface PartySize {\n      /** Min number of seats. */\n      min?: number;\n      /** Max number of seats. */\n      max?: number;\n  }\n  /** Reservation notice period. */\n  interface NoticePeriod {\n      /** The number of the unit. */\n      number?: number;\n      /** Time unit. */\n      unit?: Unit;\n  }\n  /** Turnover time rule. A turnover time is defined per party size range. */\n  interface TurnoverTimeRule {\n      /** Min number of seats. */\n      seatsMin?: number;\n      /** Max number of seats. */\n      seatsMax?: number;\n      /** Turnover time in minutes. */\n      minutes?: number;\n  }\n  /** Turnover rule. A turnover time is defined per party size range. */\n  interface TurnoverRule {\n      /** Min number of seats. */\n      minSeats?: number;\n      /** Max number of seats. */\n      maxSeats?: number;\n      /** Turnover time in minutes. */\n      minutes?: number;\n  }\n  /** Manual approval settings. */\n  interface ManualApproval extends ManualApprovalValueOneOf {\n      /** Party size threshold. */\n      partySizeThreshold?: number;\n      /** Show if it is shown to UoU. */\n      enabled?: boolean;\n  }\n  /** @oneof */\n  interface ManualApprovalValueOneOf {\n      /** Party size threshold. */\n      partySizeThreshold?: number;\n  }\n  /** Type of the field. */\n  enum FieldType {\n      UNKNOWN = \"UNKNOWN\",\n      TABLE = \"TABLE\",\n      START_DATE = \"START_DATE\",\n      END_DATE = \"END_DATE\",\n      CREATED_DATE = \"CREATED_DATE\",\n      UPDATED_DATE = \"UPDATED_DATE\",\n      PARTY_SIZE = \"PARTY_SIZE\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      ADDITIONAL_INFO = \"ADDITIONAL_INFO\",\n      TEAM_MESSAGE = \"TEAM_MESSAGE\",\n      CUSTOM_FIELD = \"CUSTOM_FIELD\",\n      STATUS = \"STATUS\"\n  }\n  /** Terms and conditions. */\n  interface TermsAndConditions extends TermsAndConditionsValueOneOf {\n      /** Url. */\n      url?: string;\n      /** Text. */\n      text?: string | null;\n      /** Show if it is shown to UoU. */\n      enabled?: boolean;\n  }\n  /** @oneof */\n  interface TermsAndConditionsValueOneOf {\n      /** Url. */\n      url?: string;\n      /** Text. */\n      text?: string | null;\n  }\n  /** Privacy policy. */\n  interface PrivacyPolicy extends PrivacyPolicyValueOneOf {\n      /** Url. */\n      url?: string;\n      /** Text. */\n      text?: string | null;\n      /** Show if it is shown to UoU. */\n      enabled?: boolean;\n  }\n  /** @oneof */\n  interface PrivacyPolicyValueOneOf {\n      /** Url. */\n      url?: string;\n      /** Text. */\n      text?: string | null;\n  }\n  /** Custom field definition. Definition of the fields that are added to the reservation form. */\n  interface CustomFieldDefinition {\n      /**\n       * Custom field id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Field name. */\n      name?: string;\n      /** Show if field is required. */\n      required?: boolean;\n  }\n  /** Email marketing checkbox. */\n  interface EmailMarketingCheckbox {\n      /** Show if it is shown to UoU. */\n      enabled?: boolean;\n      /** Show if checkbox is checked by default. */\n      checkedByDefault?: boolean;\n  }\n  interface OnlineReservations {\n      /** Seats pace. */\n      seatPacing?: SeatPacing;\n      /** Parties pace. */\n      partyPacing?: PartyPacing;\n      /**\n       * Parties size.\n       * @internal\n       */\n      partiesSize?: PartiesSize;\n      /** Party size. */\n      partySize?: PartySize;\n      /** Minimum reservation notice period. */\n      minimumReservationNotice?: NoticePeriod;\n      /** Default time in minutes for parties turnover. */\n      defaultTurnoverTime?: number | null;\n      /** Custom turnover time rules. */\n      turnoverTimeRules?: TurnoverTimeRule[];\n      /**\n       * Turnover rules.\n       * @internal\n       */\n      turnoverRules?: TurnoverRule[];\n      /** Business schedule for the reservation location. */\n      businessSchedule?: BusinessSchedule;\n      /** Show if phone number is shown in case of larger party. */\n      showPhoneNumber?: boolean | null;\n      /** Show if online reservations enabled. */\n      onlineReservationsEnabled?: boolean | null;\n      /** Manual approval settings. */\n      manualApproval?: ManualApproval;\n  }\n  /** Reservation form settings. */\n  interface ReservationForm {\n      /** Message that will be shown to UoU in registration form. */\n      submitMessage?: string | null;\n      /** Show if it is needed to show policies to the UoU. */\n      policiesEnabled?: boolean | null;\n      /** Terms and conditions. */\n      termsAndConditions?: TermsAndConditions;\n      /** Privacy policy. */\n      privacyPolicy?: PrivacyPolicy;\n      /** Fields that User add to the registration form for UoU. */\n      customFieldDefinitions?: CustomFieldDefinition[];\n      /** Show if it is needed to Validate phone number by SMS. */\n      validatePhoneNumber?: boolean | null;\n      /** Show if last_name is required in reservation form. Default is false. */\n      lastNameRequired?: boolean | null;\n      /** Show if email is required in reservation form. Default is false. */\n      emailRequired?: boolean | null;\n      /** Email marketing checkbox. */\n      emailMarketingCheckbox?: EmailMarketingCheckbox;\n  }\n  /** My reservations field definition. */\n  interface MyReservationsField {\n      /** Field type. */\n      fieldType?: FieldType;\n      /**\n       * Custom field id.\n       * @readonly\n       */\n      customFieldId?: string | null;\n      /** Shown. */\n      shown?: boolean;\n  }\n  interface TableManagement {\n      /** Table definitions. */\n      tableDefinitions?: TableDefinition[];\n      /** Deleted table definitions. */\n      deletedTableDefinitions?: TableDefinition[];\n      /** Table combinations. */\n      tableCombinations?: TableCombination$1[];\n  }\n  interface Location {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Location name.\n       * @internal\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Location description.\n       * @internal\n       * @readonly\n       */\n      description?: string | null;\n      /**\n       * Fax number.\n       * @internal\n       * @readonly\n       */\n      fax?: string | null;\n      /**\n       * Timezone in `America/New_York` format.\n       * @internal\n       * @readonly\n       */\n      timeZone?: string | null;\n      /**\n       * Email address.\n       * @internal\n       */\n      email?: string | null;\n      /**\n       * Phone number.\n       * @internal\n       * @readonly\n       */\n      phone?: string | null;\n      /**\n       * Address.\n       * @internal\n       * @readonly\n       */\n      address?: Address;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       * @internal\n       * @readonly\n       */\n      businessSchedule?: BusinessSchedule;\n  }\n  interface Configuration {\n      /** Location settings based on which reservation availability is calculated. */\n      onlineReservations?: OnlineReservations;\n      /** Reservation form settings. */\n      reservationForm?: ReservationForm;\n      /** My reservations fields view. */\n      myReservationsFields?: MyReservationsField[];\n      /** Table management. */\n      tableManagement?: TableManagement;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface GetReservationLocationRequest {\n      /** Id of the ReservationLocation to retrieve */\n      reservationLocationId: string;\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       */\n      fieldSet?: Set;\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. */\n      fieldsets?: Set[];\n  }\n  enum Set {\n      PUBLIC = \"PUBLIC\",\n      FULL = \"FULL\"\n  }\n  interface GetReservationLocationResponse {\n      /** The retrieved ReservationLocation */\n      reservationLocation?: ReservationLocation;\n  }\n  interface UpdateReservationLocationRequest {\n      /** ReservationLocation to be updated, may be partial */\n      reservationLocation: ReservationLocation;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateReservationLocationResponse {\n      /** The updated ReservationLocation */\n      reservationLocation?: ReservationLocation;\n  }\n  interface TablesDeleted {\n      /** Id of the affected reservationLocation. */\n      reservationLocationId?: string;\n      /** Ids of deleted tables. */\n      tableIds?: string[];\n  }\n  interface QueryReservationLocationsRequest {\n      /** Query expression */\n      query: QueryV2;\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       */\n      fieldSet?: Set;\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. */\n      fieldsets?: Set[];\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryReservationLocationsResponse {\n      /** The retrieved ReservationLocations */\n      reservationLocations?: ReservationLocation[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListReservationLocationsRequest {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      paging?: CursorPaging;\n      /** Sorting for the locations list. */\n      sort?: Sorting;\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       */\n      fieldSet?: Set;\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. */\n      fieldsets?: Set[];\n  }\n  interface ListReservationLocationsResponse {\n      /** Locations. */\n      reservationLocations?: ReservationLocation[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent {\n      currentEntityAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      siteCreated?: SiteCreated;\n      siteTransferred?: SiteTransferred;\n      siteDeleted?: SiteDeleted;\n      siteUndeleted?: SiteUndeleted;\n      sitePublished?: SitePublished;\n      siteUnpublished?: SiteUnpublished;\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      serviceProvisioned?: ServiceProvisioned;\n      serviceRemoved?: ServiceRemoved;\n      siteRenamedPayload?: SiteRenamed;\n      hardDeleted?: SiteHardDeleted;\n      namespaceChanged?: NamespaceChanged;\n      metaSiteId?: string;\n      version?: string;\n      timestamp?: string;\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      siteCreated?: SiteCreated;\n      siteTransferred?: SiteTransferred;\n      siteDeleted?: SiteDeleted;\n      siteUndeleted?: SiteUndeleted;\n      sitePublished?: SitePublished;\n      siteUnpublished?: SiteUnpublished;\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      serviceProvisioned?: ServiceProvisioned;\n      serviceRemoved?: ServiceRemoved;\n      siteRenamedPayload?: SiteRenamed;\n      hardDeleted?: SiteHardDeleted;\n      namespaceChanged?: NamespaceChanged;\n  }\n  interface Asset {\n      appDefId?: string;\n      instanceId?: string;\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      originTemplateId?: string;\n      ownerId?: string;\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      siteName?: string;\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      dateDeleted?: Date;\n      deleteStatus?: DeleteStatus;\n      deleteOrigin?: string;\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      originInstanceId?: string;\n      version?: string | null;\n  }\n  interface ServiceRemoved {\n      appDefId?: string;\n      instanceId?: string;\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      newSiteName?: string;\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      oldNamespace?: Namespace;\n      newNamespace?: Namespace;\n  }\n  /**\n   * Get a ReservationLocation by id\n   * @param reservationLocationId - Id of the ReservationLocation to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reservationLocationId\n   */\n  function getReservationLocation(reservationLocationId: string, options?: GetReservationLocationOptions): Promise<GetReservationLocationResponse>;\n  interface GetReservationLocationOptions {\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       */\n      fieldSet?: Set;\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. */\n      fieldsets?: Set[];\n  }\n  /**\n   * Update a ReservationLocation, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - ReservationLocation ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField reservationLocation\n   * @requiredField reservationLocation.revision\n   */\n  function updateReservationLocation(_id: string | null, reservationLocation: UpdateReservationLocation, options?: UpdateReservationLocationOptions): Promise<UpdateReservationLocationResponse>;\n  interface UpdateReservationLocation {\n      /**\n       * ReservationLocation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of a reservation location. Each time the reservation location is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision. */\n      revision?: string | null;\n      /**\n       * Represents the time this ReservationLocation was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this ReservationLocation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Location data.\n       * @readonly\n       */\n      location?: Location;\n      /** Reservation configuration. */\n      configuration?: Configuration;\n      /**\n       * Whether this is the default location.\n       * @readonly\n       */\n      default?: boolean | null;\n      /**\n       * Whether the location is archived.\n       * @readonly\n       */\n      archived?: boolean | null;\n  }\n  interface UpdateReservationLocationOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Query ReservationLocations using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryReservationLocations(options?: QueryReservationLocationsOptions): ReservationLocationsQueryBuilder;\n  interface QueryReservationLocationsOptions {\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       */\n      fieldSet?: Set | undefined;\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. */\n      fieldsets?: Set[] | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReservationLocationsQueryResult extends QueryCursorResult {\n      items: ReservationLocation[];\n      query: ReservationLocationsQueryBuilder;\n      next: () => Promise<ReservationLocationsQueryResult>;\n      prev: () => Promise<ReservationLocationsQueryResult>;\n  }\n  interface ReservationLocationsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReservationLocationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReservationLocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReservationLocationsQueryResult>;\n  }\n  /**\n   * Lists locations, given the providing paging and sorting.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listReservationLocations(options?: ListReservationLocationsOptions): Promise<ListReservationLocationsResponse>;\n  interface ListReservationLocationsOptions {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      paging?: CursorPaging;\n      /** Sorting for the locations list. */\n      sort?: Sorting;\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       */\n      fieldSet?: Set;\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. */\n      fieldsets?: Set[];\n  }\n  \n  type tableReservationsV1ReservationLocation_universal_d_ReservationLocation = ReservationLocation;\n  type tableReservationsV1ReservationLocation_universal_d_StreetAddress = StreetAddress;\n  type tableReservationsV1ReservationLocation_universal_d_AddressLocation = AddressLocation;\n  type tableReservationsV1ReservationLocation_universal_d_Address = Address;\n  type tableReservationsV1ReservationLocation_universal_d_BusinessSchedule = BusinessSchedule;\n  type tableReservationsV1ReservationLocation_universal_d_TimePeriod = TimePeriod;\n  type tableReservationsV1ReservationLocation_universal_d_DayOfWeek = DayOfWeek;\n  const tableReservationsV1ReservationLocation_universal_d_DayOfWeek: typeof DayOfWeek;\n  type tableReservationsV1ReservationLocation_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type tableReservationsV1ReservationLocation_universal_d_TableDefinition = TableDefinition;\n  type tableReservationsV1ReservationLocation_universal_d_Unit = Unit;\n  const tableReservationsV1ReservationLocation_universal_d_Unit: typeof Unit;\n  type tableReservationsV1ReservationLocation_universal_d_SeatPacing = SeatPacing;\n  type tableReservationsV1ReservationLocation_universal_d_PartyPacing = PartyPacing;\n  type tableReservationsV1ReservationLocation_universal_d_PartiesSize = PartiesSize;\n  type tableReservationsV1ReservationLocation_universal_d_PartySize = PartySize;\n  type tableReservationsV1ReservationLocation_universal_d_NoticePeriod = NoticePeriod;\n  type tableReservationsV1ReservationLocation_universal_d_TurnoverTimeRule = TurnoverTimeRule;\n  type tableReservationsV1ReservationLocation_universal_d_TurnoverRule = TurnoverRule;\n  type tableReservationsV1ReservationLocation_universal_d_ManualApproval = ManualApproval;\n  type tableReservationsV1ReservationLocation_universal_d_ManualApprovalValueOneOf = ManualApprovalValueOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_FieldType = FieldType;\n  const tableReservationsV1ReservationLocation_universal_d_FieldType: typeof FieldType;\n  type tableReservationsV1ReservationLocation_universal_d_TermsAndConditions = TermsAndConditions;\n  type tableReservationsV1ReservationLocation_universal_d_TermsAndConditionsValueOneOf = TermsAndConditionsValueOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_PrivacyPolicy = PrivacyPolicy;\n  type tableReservationsV1ReservationLocation_universal_d_PrivacyPolicyValueOneOf = PrivacyPolicyValueOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_CustomFieldDefinition = CustomFieldDefinition;\n  type tableReservationsV1ReservationLocation_universal_d_EmailMarketingCheckbox = EmailMarketingCheckbox;\n  type tableReservationsV1ReservationLocation_universal_d_OnlineReservations = OnlineReservations;\n  type tableReservationsV1ReservationLocation_universal_d_ReservationForm = ReservationForm;\n  type tableReservationsV1ReservationLocation_universal_d_MyReservationsField = MyReservationsField;\n  type tableReservationsV1ReservationLocation_universal_d_TableManagement = TableManagement;\n  type tableReservationsV1ReservationLocation_universal_d_Location = Location;\n  type tableReservationsV1ReservationLocation_universal_d_Configuration = Configuration;\n  type tableReservationsV1ReservationLocation_universal_d_InvalidateCache = InvalidateCache;\n  type tableReservationsV1ReservationLocation_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_App = App;\n  type tableReservationsV1ReservationLocation_universal_d_Page = Page;\n  type tableReservationsV1ReservationLocation_universal_d_URI = URI;\n  type tableReservationsV1ReservationLocation_universal_d_GetReservationLocationRequest = GetReservationLocationRequest;\n  type tableReservationsV1ReservationLocation_universal_d_Set = Set;\n  const tableReservationsV1ReservationLocation_universal_d_Set: typeof Set;\n  type tableReservationsV1ReservationLocation_universal_d_GetReservationLocationResponse = GetReservationLocationResponse;\n  type tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationRequest = UpdateReservationLocationRequest;\n  type tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationResponse = UpdateReservationLocationResponse;\n  type tableReservationsV1ReservationLocation_universal_d_TablesDeleted = TablesDeleted;\n  type tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsRequest = QueryReservationLocationsRequest;\n  type tableReservationsV1ReservationLocation_universal_d_QueryV2 = QueryV2;\n  type tableReservationsV1ReservationLocation_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_Sorting = Sorting;\n  type tableReservationsV1ReservationLocation_universal_d_SortOrder = SortOrder;\n  const tableReservationsV1ReservationLocation_universal_d_SortOrder: typeof SortOrder;\n  type tableReservationsV1ReservationLocation_universal_d_Paging = Paging;\n  type tableReservationsV1ReservationLocation_universal_d_CursorPaging = CursorPaging;\n  type tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsResponse = QueryReservationLocationsResponse;\n  type tableReservationsV1ReservationLocation_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type tableReservationsV1ReservationLocation_universal_d_Cursors = Cursors;\n  type tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsRequest = ListReservationLocationsRequest;\n  type tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsResponse = ListReservationLocationsResponse;\n  type tableReservationsV1ReservationLocation_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type tableReservationsV1ReservationLocation_universal_d_DomainEvent = DomainEvent;\n  type tableReservationsV1ReservationLocation_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type tableReservationsV1ReservationLocation_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type tableReservationsV1ReservationLocation_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type tableReservationsV1ReservationLocation_universal_d_ActionEvent = ActionEvent;\n  type tableReservationsV1ReservationLocation_universal_d_ExtendedFieldsUpdatedEvent = ExtendedFieldsUpdatedEvent;\n  type tableReservationsV1ReservationLocation_universal_d_Empty = Empty;\n  type tableReservationsV1ReservationLocation_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type tableReservationsV1ReservationLocation_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_Asset = Asset;\n  type tableReservationsV1ReservationLocation_universal_d_State = State;\n  const tableReservationsV1ReservationLocation_universal_d_State: typeof State;\n  type tableReservationsV1ReservationLocation_universal_d_SiteCreated = SiteCreated;\n  type tableReservationsV1ReservationLocation_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const tableReservationsV1ReservationLocation_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type tableReservationsV1ReservationLocation_universal_d_Namespace = Namespace;\n  const tableReservationsV1ReservationLocation_universal_d_Namespace: typeof Namespace;\n  type tableReservationsV1ReservationLocation_universal_d_SiteTransferred = SiteTransferred;\n  type tableReservationsV1ReservationLocation_universal_d_SiteDeleted = SiteDeleted;\n  type tableReservationsV1ReservationLocation_universal_d_DeleteContext = DeleteContext;\n  type tableReservationsV1ReservationLocation_universal_d_DeleteStatus = DeleteStatus;\n  const tableReservationsV1ReservationLocation_universal_d_DeleteStatus: typeof DeleteStatus;\n  type tableReservationsV1ReservationLocation_universal_d_SiteUndeleted = SiteUndeleted;\n  type tableReservationsV1ReservationLocation_universal_d_SitePublished = SitePublished;\n  type tableReservationsV1ReservationLocation_universal_d_SiteUnpublished = SiteUnpublished;\n  type tableReservationsV1ReservationLocation_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type tableReservationsV1ReservationLocation_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type tableReservationsV1ReservationLocation_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type tableReservationsV1ReservationLocation_universal_d_ServiceRemoved = ServiceRemoved;\n  type tableReservationsV1ReservationLocation_universal_d_SiteRenamed = SiteRenamed;\n  type tableReservationsV1ReservationLocation_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type tableReservationsV1ReservationLocation_universal_d_NamespaceChanged = NamespaceChanged;\n  const tableReservationsV1ReservationLocation_universal_d_getReservationLocation: typeof getReservationLocation;\n  type tableReservationsV1ReservationLocation_universal_d_GetReservationLocationOptions = GetReservationLocationOptions;\n  const tableReservationsV1ReservationLocation_universal_d_updateReservationLocation: typeof updateReservationLocation;\n  type tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocation = UpdateReservationLocation;\n  type tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationOptions = UpdateReservationLocationOptions;\n  const tableReservationsV1ReservationLocation_universal_d_queryReservationLocations: typeof queryReservationLocations;\n  type tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsOptions = QueryReservationLocationsOptions;\n  type tableReservationsV1ReservationLocation_universal_d_ReservationLocationsQueryResult = ReservationLocationsQueryResult;\n  type tableReservationsV1ReservationLocation_universal_d_ReservationLocationsQueryBuilder = ReservationLocationsQueryBuilder;\n  const tableReservationsV1ReservationLocation_universal_d_listReservationLocations: typeof listReservationLocations;\n  type tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsOptions = ListReservationLocationsOptions;\n  namespace tableReservationsV1ReservationLocation_universal_d {\n    export {\n      __debug$1 as __debug,\n      tableReservationsV1ReservationLocation_universal_d_ReservationLocation as ReservationLocation,\n      tableReservationsV1ReservationLocation_universal_d_StreetAddress as StreetAddress,\n      tableReservationsV1ReservationLocation_universal_d_AddressLocation as AddressLocation,\n      tableReservationsV1ReservationLocation_universal_d_Address as Address,\n      tableReservationsV1ReservationLocation_universal_d_BusinessSchedule as BusinessSchedule,\n      tableReservationsV1ReservationLocation_universal_d_TimePeriod as TimePeriod,\n      tableReservationsV1ReservationLocation_universal_d_DayOfWeek as DayOfWeek,\n      tableReservationsV1ReservationLocation_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      tableReservationsV1ReservationLocation_universal_d_TableDefinition as TableDefinition,\n      TableCombination$1 as TableCombination,\n      tableReservationsV1ReservationLocation_universal_d_Unit as Unit,\n      tableReservationsV1ReservationLocation_universal_d_SeatPacing as SeatPacing,\n      tableReservationsV1ReservationLocation_universal_d_PartyPacing as PartyPacing,\n      tableReservationsV1ReservationLocation_universal_d_PartiesSize as PartiesSize,\n      tableReservationsV1ReservationLocation_universal_d_PartySize as PartySize,\n      tableReservationsV1ReservationLocation_universal_d_NoticePeriod as NoticePeriod,\n      tableReservationsV1ReservationLocation_universal_d_TurnoverTimeRule as TurnoverTimeRule,\n      tableReservationsV1ReservationLocation_universal_d_TurnoverRule as TurnoverRule,\n      tableReservationsV1ReservationLocation_universal_d_ManualApproval as ManualApproval,\n      tableReservationsV1ReservationLocation_universal_d_ManualApprovalValueOneOf as ManualApprovalValueOneOf,\n      tableReservationsV1ReservationLocation_universal_d_FieldType as FieldType,\n      tableReservationsV1ReservationLocation_universal_d_TermsAndConditions as TermsAndConditions,\n      tableReservationsV1ReservationLocation_universal_d_TermsAndConditionsValueOneOf as TermsAndConditionsValueOneOf,\n      tableReservationsV1ReservationLocation_universal_d_PrivacyPolicy as PrivacyPolicy,\n      tableReservationsV1ReservationLocation_universal_d_PrivacyPolicyValueOneOf as PrivacyPolicyValueOneOf,\n      tableReservationsV1ReservationLocation_universal_d_CustomFieldDefinition as CustomFieldDefinition,\n      tableReservationsV1ReservationLocation_universal_d_EmailMarketingCheckbox as EmailMarketingCheckbox,\n      tableReservationsV1ReservationLocation_universal_d_OnlineReservations as OnlineReservations,\n      tableReservationsV1ReservationLocation_universal_d_ReservationForm as ReservationForm,\n      tableReservationsV1ReservationLocation_universal_d_MyReservationsField as MyReservationsField,\n      tableReservationsV1ReservationLocation_universal_d_TableManagement as TableManagement,\n      tableReservationsV1ReservationLocation_universal_d_Location as Location,\n      tableReservationsV1ReservationLocation_universal_d_Configuration as Configuration,\n      tableReservationsV1ReservationLocation_universal_d_InvalidateCache as InvalidateCache,\n      tableReservationsV1ReservationLocation_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      tableReservationsV1ReservationLocation_universal_d_App as App,\n      tableReservationsV1ReservationLocation_universal_d_Page as Page,\n      tableReservationsV1ReservationLocation_universal_d_URI as URI,\n      tableReservationsV1ReservationLocation_universal_d_GetReservationLocationRequest as GetReservationLocationRequest,\n      tableReservationsV1ReservationLocation_universal_d_Set as Set,\n      tableReservationsV1ReservationLocation_universal_d_GetReservationLocationResponse as GetReservationLocationResponse,\n      tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationRequest as UpdateReservationLocationRequest,\n      tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationResponse as UpdateReservationLocationResponse,\n      tableReservationsV1ReservationLocation_universal_d_TablesDeleted as TablesDeleted,\n      tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsRequest as QueryReservationLocationsRequest,\n      tableReservationsV1ReservationLocation_universal_d_QueryV2 as QueryV2,\n      tableReservationsV1ReservationLocation_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      tableReservationsV1ReservationLocation_universal_d_Sorting as Sorting,\n      tableReservationsV1ReservationLocation_universal_d_SortOrder as SortOrder,\n      tableReservationsV1ReservationLocation_universal_d_Paging as Paging,\n      tableReservationsV1ReservationLocation_universal_d_CursorPaging as CursorPaging,\n      tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsResponse as QueryReservationLocationsResponse,\n      tableReservationsV1ReservationLocation_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      tableReservationsV1ReservationLocation_universal_d_Cursors as Cursors,\n      tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsRequest as ListReservationLocationsRequest,\n      tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsResponse as ListReservationLocationsResponse,\n      tableReservationsV1ReservationLocation_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      tableReservationsV1ReservationLocation_universal_d_DomainEvent as DomainEvent,\n      tableReservationsV1ReservationLocation_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      tableReservationsV1ReservationLocation_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      tableReservationsV1ReservationLocation_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      tableReservationsV1ReservationLocation_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      tableReservationsV1ReservationLocation_universal_d_ActionEvent as ActionEvent,\n      tableReservationsV1ReservationLocation_universal_d_ExtendedFieldsUpdatedEvent as ExtendedFieldsUpdatedEvent,\n      tableReservationsV1ReservationLocation_universal_d_Empty as Empty,\n      tableReservationsV1ReservationLocation_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      tableReservationsV1ReservationLocation_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      tableReservationsV1ReservationLocation_universal_d_Asset as Asset,\n      tableReservationsV1ReservationLocation_universal_d_State as State,\n      tableReservationsV1ReservationLocation_universal_d_SiteCreated as SiteCreated,\n      tableReservationsV1ReservationLocation_universal_d_SiteCreatedContext as SiteCreatedContext,\n      tableReservationsV1ReservationLocation_universal_d_Namespace as Namespace,\n      tableReservationsV1ReservationLocation_universal_d_SiteTransferred as SiteTransferred,\n      tableReservationsV1ReservationLocation_universal_d_SiteDeleted as SiteDeleted,\n      tableReservationsV1ReservationLocation_universal_d_DeleteContext as DeleteContext,\n      tableReservationsV1ReservationLocation_universal_d_DeleteStatus as DeleteStatus,\n      tableReservationsV1ReservationLocation_universal_d_SiteUndeleted as SiteUndeleted,\n      tableReservationsV1ReservationLocation_universal_d_SitePublished as SitePublished,\n      tableReservationsV1ReservationLocation_universal_d_SiteUnpublished as SiteUnpublished,\n      tableReservationsV1ReservationLocation_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      tableReservationsV1ReservationLocation_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      tableReservationsV1ReservationLocation_universal_d_ServiceProvisioned as ServiceProvisioned,\n      tableReservationsV1ReservationLocation_universal_d_ServiceRemoved as ServiceRemoved,\n      tableReservationsV1ReservationLocation_universal_d_SiteRenamed as SiteRenamed,\n      tableReservationsV1ReservationLocation_universal_d_SiteHardDeleted as SiteHardDeleted,\n      tableReservationsV1ReservationLocation_universal_d_NamespaceChanged as NamespaceChanged,\n      tableReservationsV1ReservationLocation_universal_d_getReservationLocation as getReservationLocation,\n      tableReservationsV1ReservationLocation_universal_d_GetReservationLocationOptions as GetReservationLocationOptions,\n      tableReservationsV1ReservationLocation_universal_d_updateReservationLocation as updateReservationLocation,\n      tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocation as UpdateReservationLocation,\n      tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationOptions as UpdateReservationLocationOptions,\n      tableReservationsV1ReservationLocation_universal_d_queryReservationLocations as queryReservationLocations,\n      tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsOptions as QueryReservationLocationsOptions,\n      tableReservationsV1ReservationLocation_universal_d_ReservationLocationsQueryResult as ReservationLocationsQueryResult,\n      tableReservationsV1ReservationLocation_universal_d_ReservationLocationsQueryBuilder as ReservationLocationsQueryBuilder,\n      tableReservationsV1ReservationLocation_universal_d_listReservationLocations as listReservationLocations,\n      tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsOptions as ListReservationLocationsOptions,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface TimeSlot {\n      /** Start date. */\n      startDate?: Date;\n      /** Duration. */\n      duration?: number;\n      /** Status. */\n      status?: Status;\n      /**\n       * Table combinations.\n       * @internal\n       */\n      tableCombinations?: TableCombination[];\n      /** Manual approval. */\n      manualApproval?: boolean | null;\n  }\n  enum Status {\n      AVAILABLE = \"AVAILABLE\",\n      UNAVAILABLE = \"UNAVAILABLE\",\n      NON_WORKING_HOURS = \"NON_WORKING_HOURS\"\n  }\n  /** Table combination. */\n  interface TableCombination {\n      /** Table ids. */\n      tableIds?: string[];\n  }\n  interface GetTimeSlotsRequest {\n      /** Reservation location id. */\n      reservationLocationId: string;\n      /** Date. */\n      date: Date;\n      /** Duration. */\n      duration?: number | null;\n      /** Party size. */\n      partySize: number | null;\n      /** Slots before. */\n      slotsBefore?: number | null;\n      /** Slots after. */\n      slotsAfter?: number | null;\n  }\n  interface GetTimeSlotsResponse {\n      /** List of the time slots. */\n      timeSlots?: TimeSlot[];\n  }\n  interface CheckReservationDetailsRequest {\n      /** Reservation location id. */\n      reservationLocationId: string;\n      /** Date. */\n      date: Date;\n      /** Duration. */\n      duration: number | null;\n      /** Party size. */\n      partySize: number | null;\n      /** Reservation, that should be ignored during the check. */\n      excludeReservationId?: string | null;\n      /** Requested table combination. */\n      tableIds?: string[];\n  }\n  interface CheckReservationDetailsResponse {\n      /** Tables states. */\n      tables?: Table[];\n      /** Table combinations states. */\n      tableCombinations?: V1TableCombination[];\n      /** Reservation location conflicts. */\n      reservationLocationConflicts?: ReservationLocationConflict[];\n      /** Requested table combination state. */\n      requestedTableCombination?: V1TableCombination;\n  }\n  interface Table {\n      _id?: string;\n      /** Table conflicts. */\n      tableConflicts?: TableConflict[];\n  }\n  interface TableConflict {\n      /** Conflict type. */\n      type?: TableConflictType;\n  }\n  enum TableConflictType {\n      UNKNOWN = \"UNKNOWN\",\n      TABLE_RESERVED = \"TABLE_RESERVED\",\n      TABLE_TOO_BIG = \"TABLE_TOO_BIG\",\n      TABLE_TOO_SMALL = \"TABLE_TOO_SMALL\",\n      OFFLINE_ONLY = \"OFFLINE_ONLY\"\n  }\n  interface V1TableCombination {\n      tableIds?: string[];\n      tableCombinationConflicts?: TableCombinationConflict[];\n  }\n  interface TableCombinationConflict {\n      /** Conflict type. */\n      type?: TableCombinationConflictType;\n  }\n  enum TableCombinationConflictType {\n      UNKNOWN = \"UNKNOWN\",\n      RESERVED = \"RESERVED\",\n      TOO_BIG = \"TOO_BIG\",\n      TOO_SMALL = \"TOO_SMALL\",\n      OFFLINE_ONLY = \"OFFLINE_ONLY\"\n  }\n  interface ReservationLocationConflict {\n      /** Reservation location conflict type. */\n      type?: Type;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      PARTY_PACING = \"PARTY_PACING\",\n      SEAT_PACING = \"SEAT_PACING\"\n  }\n  /**\n   * Returns list of the time slots.\n   * @param reservationLocationId - Reservation location id.\n   * @param date - Date.\n   * @param partySize - Party size.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField date\n   * @requiredField partySize\n   * @requiredField reservationLocationId\n   */\n  function getTimeSlots(reservationLocationId: string, date: Date, partySize: number | null, options?: GetTimeSlotsOptions): Promise<GetTimeSlotsResponse>;\n  interface GetTimeSlotsOptions {\n      /** Duration. */\n      duration?: number | null;\n      /** Slots before. */\n      slotsBefore?: number | null;\n      /** Slots after. */\n      slotsAfter?: number | null;\n  }\n  /**\n   * Check reservation details.\n   * @param reservationLocationId - Reservation location id.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.date\n   * @requiredField options.duration\n   * @requiredField options.partySize\n   * @requiredField reservationLocationId\n   */\n  function checkReservationDetails(reservationLocationId: string, options: CheckReservationDetailsOptions): Promise<CheckReservationDetailsResponse>;\n  interface CheckReservationDetailsOptions {\n      /** Date. */\n      date: Date;\n      /** Duration. */\n      duration: number | null;\n      /** Party size. */\n      partySize: number | null;\n      /** Reservation, that should be ignored during the check. */\n      excludeReservationId?: string | null;\n      /** Requested table combination. */\n      tableIds?: string[];\n  }\n  \n  const tableReservationsV1TimeSlot_universal_d___debug: typeof __debug;\n  type tableReservationsV1TimeSlot_universal_d_TimeSlot = TimeSlot;\n  type tableReservationsV1TimeSlot_universal_d_Status = Status;\n  const tableReservationsV1TimeSlot_universal_d_Status: typeof Status;\n  type tableReservationsV1TimeSlot_universal_d_TableCombination = TableCombination;\n  type tableReservationsV1TimeSlot_universal_d_GetTimeSlotsRequest = GetTimeSlotsRequest;\n  type tableReservationsV1TimeSlot_universal_d_GetTimeSlotsResponse = GetTimeSlotsResponse;\n  type tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsRequest = CheckReservationDetailsRequest;\n  type tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsResponse = CheckReservationDetailsResponse;\n  type tableReservationsV1TimeSlot_universal_d_Table = Table;\n  type tableReservationsV1TimeSlot_universal_d_TableConflict = TableConflict;\n  type tableReservationsV1TimeSlot_universal_d_TableConflictType = TableConflictType;\n  const tableReservationsV1TimeSlot_universal_d_TableConflictType: typeof TableConflictType;\n  type tableReservationsV1TimeSlot_universal_d_V1TableCombination = V1TableCombination;\n  type tableReservationsV1TimeSlot_universal_d_TableCombinationConflict = TableCombinationConflict;\n  type tableReservationsV1TimeSlot_universal_d_TableCombinationConflictType = TableCombinationConflictType;\n  const tableReservationsV1TimeSlot_universal_d_TableCombinationConflictType: typeof TableCombinationConflictType;\n  type tableReservationsV1TimeSlot_universal_d_ReservationLocationConflict = ReservationLocationConflict;\n  type tableReservationsV1TimeSlot_universal_d_Type = Type;\n  const tableReservationsV1TimeSlot_universal_d_Type: typeof Type;\n  const tableReservationsV1TimeSlot_universal_d_getTimeSlots: typeof getTimeSlots;\n  type tableReservationsV1TimeSlot_universal_d_GetTimeSlotsOptions = GetTimeSlotsOptions;\n  const tableReservationsV1TimeSlot_universal_d_checkReservationDetails: typeof checkReservationDetails;\n  type tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsOptions = CheckReservationDetailsOptions;\n  namespace tableReservationsV1TimeSlot_universal_d {\n    export {\n      tableReservationsV1TimeSlot_universal_d___debug as __debug,\n      tableReservationsV1TimeSlot_universal_d_TimeSlot as TimeSlot,\n      tableReservationsV1TimeSlot_universal_d_Status as Status,\n      tableReservationsV1TimeSlot_universal_d_TableCombination as TableCombination,\n      tableReservationsV1TimeSlot_universal_d_GetTimeSlotsRequest as GetTimeSlotsRequest,\n      tableReservationsV1TimeSlot_universal_d_GetTimeSlotsResponse as GetTimeSlotsResponse,\n      tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsRequest as CheckReservationDetailsRequest,\n      tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsResponse as CheckReservationDetailsResponse,\n      tableReservationsV1TimeSlot_universal_d_Table as Table,\n      tableReservationsV1TimeSlot_universal_d_TableConflict as TableConflict,\n      tableReservationsV1TimeSlot_universal_d_TableConflictType as TableConflictType,\n      tableReservationsV1TimeSlot_universal_d_V1TableCombination as V1TableCombination,\n      tableReservationsV1TimeSlot_universal_d_TableCombinationConflict as TableCombinationConflict,\n      tableReservationsV1TimeSlot_universal_d_TableCombinationConflictType as TableCombinationConflictType,\n      tableReservationsV1TimeSlot_universal_d_ReservationLocationConflict as ReservationLocationConflict,\n      tableReservationsV1TimeSlot_universal_d_Type as Type,\n      tableReservationsV1TimeSlot_universal_d_getTimeSlots as getTimeSlots,\n      tableReservationsV1TimeSlot_universal_d_GetTimeSlotsOptions as GetTimeSlotsOptions,\n      tableReservationsV1TimeSlot_universal_d_checkReservationDetails as checkReservationDetails,\n      tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsOptions as CheckReservationDetailsOptions,\n    };\n  }\n  \n  export { tableReservationsV1ReservationLocation_universal_d as reservationLocations, tableReservationsV1Reservation_universal_d as reservations, tableReservationsV1TimeSlot_universal_d as timeSlots };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend.v2.d.ts",
      "content": "declare module \"wix-stores-backend.v2\" {\n  const __debug$2: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Collection {\n      /**\n       * Collection ID (generated automatically by the catalog).\n       * @readonly\n       */\n      _id?: string | null;\n      /** Collection name. */\n      name?: string | null;\n      /**\n       * Media items (images, videos etc) associated with this collection. Read only.\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Number of products in the collection. Read only.\n       * @readonly\n       */\n      numberOfProducts?: number;\n      /** Collection description. */\n      description?: string | null;\n      /** Collection slug. */\n      slug?: string | null;\n      /** Collection visibility. Only impacts dynamic pages, no impact on static pages. Default: `true`. */\n      visible?: boolean | null;\n      /**\n       * Custom SEO data for the collection.\n       * @internal\n       */\n      seoSchema?: SeoSchema;\n  }\n  interface Media {\n      /** Primary media (image, video etc) associated with this product. */\n      mainMedia?: MediaItem$1;\n      /** Media (images, videos etc) associated with this product. */\n      items?: MediaItem$1[];\n  }\n  interface MediaItem$1 extends MediaItemItemOneOf {\n      /** Media item thumbnail details. */\n      thumbnail?: MediaItemUrlAndSize;\n      /** Media item type (image, video, etc.). */\n      mediaType?: MediaItemType$1;\n      /** Media item title. */\n      title?: string;\n      /** Media ID (for example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`). */\n      _id?: string;\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo;\n  }\n  /** @oneof */\n  interface MediaItemItemOneOf {\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo;\n  }\n  interface MediaItemUrlAndSize {\n      /** Media item URL. */\n      url?: string;\n      /** Media item width. */\n      width?: number;\n      /** Media item height. */\n      height?: number;\n      /** Media format (mp4, png, etc.). */\n      format?: string | null;\n      /** Alt text. This text will be shown in case the image is not available. */\n      altText?: string | null;\n  }\n  enum MediaItemType$1 {\n      unspecified_media_item_type = \"unspecified_media_item_type\",\n      image = \"image\",\n      video = \"video\",\n      audio = \"audio\",\n      document = \"document\",\n      zip = \"zip\"\n  }\n  interface MediaItemVideo {\n      /** Data (URL, size) about each resolution for which this video is available. */\n      files?: MediaItemUrlAndSize[];\n      /** ID of an image taken from the video. Used primarily for Wix Search indexing. For example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`. */\n      stillFrameMediaId?: string;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tags information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'} pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the auto redirects feature creating `301 redirects` on a slug change is enabled.\n       *\n       *\n       * Default: enabled\n       */\n      preventAutoRedirect?: boolean;\n  }\n  interface QueryCollectionsRequest {\n      query?: PlatformQuery;\n  }\n  interface PlatformQuery extends PlatformQueryPagingMethodOneOf {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n      sort?: Sorting[];\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCollectionsResponse {\n      collections?: Collection[];\n      metadata?: PlatformPagingMetadata;\n  }\n  interface PlatformPagingMetadata {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /** The offset which was requested. Returned if offset paging was used. */\n      offset?: number | null;\n      /** The total number of items that match the query. Returned if offset paging was used. */\n      total?: number | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used. */\n      cursors?: Cursors;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetCollectionRequest {\n      /** Requested collection ID. */\n      _id: string;\n  }\n  interface GetCollectionResponse {\n      collection?: Collection;\n  }\n  /**\n   * Retrieves a list of up to 100 collections, given the provided paging, sorting and filtering.\n   * See [Stores Pagination](https://dev.wix.com/api/rest/wix-stores/pagination) for more information.\n   * @public */\n  function queryCollections(): CollectionsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number;\n      totalPages: number;\n      totalCount: number;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CollectionsQueryResult extends QueryOffsetResult {\n      items: Collection[];\n      query: CollectionsQueryBuilder;\n      next: () => Promise<CollectionsQueryResult>;\n      prev: () => Promise<CollectionsQueryResult>;\n  }\n  interface CollectionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: string, value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: string, value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: string, value: string) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: string, value: any[]) => CollectionsQueryBuilder;\n      in: (propertyName: string, value: any) => CollectionsQueryBuilder;\n      exists: (propertyName: string, value: boolean) => CollectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: string[]) => CollectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: string[]) => CollectionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => CollectionsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => CollectionsQueryBuilder;\n      find: () => Promise<CollectionsQueryResult>;\n  }\n  /**\n   * Retrieves a collection with the provided ID.\n   * @param _id - Requested collection ID.\n   * @public\n   * @requiredField _id\n   */\n  function getCollection(_id: string): Promise<Collection>;\n  \n  type storesCatalogV1Collection_universal_d_Collection = Collection;\n  type storesCatalogV1Collection_universal_d_Media = Media;\n  type storesCatalogV1Collection_universal_d_MediaItemItemOneOf = MediaItemItemOneOf;\n  type storesCatalogV1Collection_universal_d_MediaItemUrlAndSize = MediaItemUrlAndSize;\n  type storesCatalogV1Collection_universal_d_MediaItemVideo = MediaItemVideo;\n  type storesCatalogV1Collection_universal_d_SeoSchema = SeoSchema;\n  type storesCatalogV1Collection_universal_d_Tag = Tag;\n  type storesCatalogV1Collection_universal_d_Settings = Settings;\n  type storesCatalogV1Collection_universal_d_QueryCollectionsRequest = QueryCollectionsRequest;\n  type storesCatalogV1Collection_universal_d_PlatformQuery = PlatformQuery;\n  type storesCatalogV1Collection_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n  type storesCatalogV1Collection_universal_d_Sorting = Sorting;\n  type storesCatalogV1Collection_universal_d_SortOrder = SortOrder;\n  const storesCatalogV1Collection_universal_d_SortOrder: typeof SortOrder;\n  type storesCatalogV1Collection_universal_d_PlatformPaging = PlatformPaging;\n  type storesCatalogV1Collection_universal_d_CursorPaging = CursorPaging;\n  type storesCatalogV1Collection_universal_d_QueryCollectionsResponse = QueryCollectionsResponse;\n  type storesCatalogV1Collection_universal_d_PlatformPagingMetadata = PlatformPagingMetadata;\n  type storesCatalogV1Collection_universal_d_Cursors = Cursors;\n  type storesCatalogV1Collection_universal_d_GetCollectionRequest = GetCollectionRequest;\n  type storesCatalogV1Collection_universal_d_GetCollectionResponse = GetCollectionResponse;\n  const storesCatalogV1Collection_universal_d_queryCollections: typeof queryCollections;\n  type storesCatalogV1Collection_universal_d_CollectionsQueryResult = CollectionsQueryResult;\n  type storesCatalogV1Collection_universal_d_CollectionsQueryBuilder = CollectionsQueryBuilder;\n  const storesCatalogV1Collection_universal_d_getCollection: typeof getCollection;\n  namespace storesCatalogV1Collection_universal_d {\n    export {\n      __debug$2 as __debug,\n      storesCatalogV1Collection_universal_d_Collection as Collection,\n      storesCatalogV1Collection_universal_d_Media as Media,\n      MediaItem$1 as MediaItem,\n      storesCatalogV1Collection_universal_d_MediaItemItemOneOf as MediaItemItemOneOf,\n      storesCatalogV1Collection_universal_d_MediaItemUrlAndSize as MediaItemUrlAndSize,\n      MediaItemType$1 as MediaItemType,\n      storesCatalogV1Collection_universal_d_MediaItemVideo as MediaItemVideo,\n      storesCatalogV1Collection_universal_d_SeoSchema as SeoSchema,\n      storesCatalogV1Collection_universal_d_Tag as Tag,\n      storesCatalogV1Collection_universal_d_Settings as Settings,\n      storesCatalogV1Collection_universal_d_QueryCollectionsRequest as QueryCollectionsRequest,\n      storesCatalogV1Collection_universal_d_PlatformQuery as PlatformQuery,\n      storesCatalogV1Collection_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf,\n      storesCatalogV1Collection_universal_d_Sorting as Sorting,\n      storesCatalogV1Collection_universal_d_SortOrder as SortOrder,\n      storesCatalogV1Collection_universal_d_PlatformPaging as PlatformPaging,\n      storesCatalogV1Collection_universal_d_CursorPaging as CursorPaging,\n      storesCatalogV1Collection_universal_d_QueryCollectionsResponse as QueryCollectionsResponse,\n      storesCatalogV1Collection_universal_d_PlatformPagingMetadata as PlatformPagingMetadata,\n      storesCatalogV1Collection_universal_d_Cursors as Cursors,\n      storesCatalogV1Collection_universal_d_GetCollectionRequest as GetCollectionRequest,\n      storesCatalogV1Collection_universal_d_GetCollectionResponse as GetCollectionResponse,\n      storesCatalogV1Collection_universal_d_queryCollections as queryCollections,\n      storesCatalogV1Collection_universal_d_CollectionsQueryResult as CollectionsQueryResult,\n      storesCatalogV1Collection_universal_d_CollectionsQueryBuilder as CollectionsQueryBuilder,\n      storesCatalogV1Collection_universal_d_getCollection as getCollection,\n    };\n  }\n  \n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Order {\n      /**\n       * Order ID (auto-generated upon order creation).\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Order number displayed in the owner's store (auto-generated).\n       * @readonly\n       */\n      number?: number;\n      /**\n       * Order creation date and time.\n       * @readonly\n       */\n      dateCreated?: Date;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo;\n      /** Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. */\n      currency?: string | null;\n      /** Weight unit used in this store. */\n      weightUnit?: WeightUnit;\n      /** Totals for order's line items. */\n      totals?: Totals;\n      /** Billing information. */\n      billingInfo?: BillingInfo;\n      /** Shipping information. */\n      shippingInfo?: ShippingInfo;\n      /** A note added by the buyer. */\n      buyerNote?: string | null;\n      /**\n       * Deprecated.\n       * @readonly\n       */\n      read?: boolean;\n      /**\n       * Whether or not the order was archived.\n       * @readonly\n       */\n      archived?: boolean;\n      /** Current status of the payment. */\n      paymentStatus?: PaymentStatus;\n      /**\n       * Order's current fulfillment status (whether the order received a tracking number or was delivered/picked up).\n       * @readonly\n       */\n      fulfillmentStatus?: FulfillmentStatus;\n      /** Line items ordered. */\n      lineItems?: LineItem[];\n      /**\n       * Log of updates related to the order.\n       * @readonly\n       */\n      activities?: Activity[];\n      /** Invoice information. */\n      invoiceInfo?: InvoiceInfo;\n      /**\n       * Order fulfillment information.\n       * @readonly\n       */\n      fulfillments?: Fulfillment[];\n      /** Discount information. */\n      discount?: Discount;\n      /** Custom field information. */\n      customField?: CustomField;\n      /** Shopping cart ID. */\n      cartId?: string | null;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       */\n      buyerLanguage?: string | null;\n      /** Information about the sales channel that submitted this order. */\n      channelInfo?: ChannelInfo;\n      /**\n       * Identity of the order's initiator.\n       * @readonly\n       */\n      enteredBy?: EnteredBy;\n      /**\n       * Date and time of latest update.\n       * @readonly\n       */\n      lastUpdated?: Date;\n      /** Subscription information. */\n      subscriptionInfo?: SubscriptionInfo;\n      /**\n       * Order’s unique numeric ID.\n       * Primarily used for sorting and filtering when crawling all orders.\n       * @readonly\n       */\n      numericId?: string;\n      /**\n       * Refund information.\n       * @readonly\n       */\n      refunds?: Refund[];\n      /**\n       * Gift card information.\n       * @internal\n       */\n      giftCard?: GiftCard;\n      /**\n       * ID of the checkout associated with this order.\n       * @internal\n       */\n      checkoutId?: string | null;\n      /**\n       * Private API flag that allows using read-only \"id\" during order creation\n       * @internal\n       */\n      isInternalOrderCreate?: boolean;\n  }\n  /** Buyer Info */\n  interface BuyerInfo {\n      /** Wix customer ID */\n      _id?: string | null;\n      /**\n       * Deprecated (use identityType instead)\n       * @readonly\n       */\n      type?: IdentityType;\n      /** Customer type */\n      identityType?: IdentityType;\n      /**\n       * Customer's first name\n       * @readonly\n       */\n      firstName?: string;\n      /**\n       * Customer's last name\n       * @readonly\n       */\n      lastName?: string;\n      /**\n       * Customer's phone number\n       * @readonly\n       */\n      phone?: string | null;\n      /**\n       * Customer's email address\n       * @readonly\n       */\n      email?: string;\n      /**\n       * Contact Id. needed for cases where the user is the buyer and so it doesn't exist on the buyer info\n       * @internal\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  enum IdentityType {\n      UNSPECIFIED_IDENTITY_TYPE = \"UNSPECIFIED_IDENTITY_TYPE\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Contact */\n      CONTACT = \"CONTACT\"\n  }\n  enum WeightUnit {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface Totals {\n      /** Subtotal of all the line items, before tax. */\n      subtotal?: string;\n      /** Total shipping price, before tax. */\n      shipping?: string | null;\n      /** Total tax. */\n      tax?: string | null;\n      /** Total calculated discount value. */\n      discount?: string | null;\n      /** Total price charged. */\n      total?: string;\n      /**\n       * Total items weight.\n       * @readonly\n       */\n      weight?: string;\n      /**\n       * Total number of line items.\n       * @readonly\n       */\n      quantity?: number;\n      /**\n       * Total refund.\n       * @readonly\n       */\n      refund?: string | null;\n      /** Total calculated gift card value. */\n      giftCard?: string | null;\n  }\n  interface BillingInfo {\n      /** Payment method used for this order */\n      paymentMethod?: string | null;\n      /**\n       * Deprecated (use paymentProviderTransactionId instead)\n       * @readonly\n       */\n      externalTransactionId?: string | null;\n      /** Transaction ID from payment provider (e.g., PayPal, Square, Stripe) transaction ID */\n      paymentProviderTransactionId?: string | null;\n      /** Transaction ID from payment gateway (e.g., Wix Payments) */\n      paymentGatewayTransactionId?: string | null;\n      /** Full billing address */\n      address?: Address;\n      /**\n       * Payment date\n       * @readonly\n       */\n      paidDate?: Date;\n      /** Whether order can be refunded by payment provider (manually or automatic) */\n      refundableByPaymentProvider?: boolean | null;\n  }\n  interface Address extends AddressAddressLine1OptionsOneOf {\n      /** Addressee name */\n      fullName?: FullName;\n      /** Country code (2 letters) */\n      country?: string | null;\n      /** State or district */\n      subdivision?: string | null;\n      /** City name */\n      city?: string | null;\n      /** ZIP/postal code */\n      zipCode?: string | null;\n      /** Phone number */\n      phone?: string | null;\n      /** Company name */\n      company?: string | null;\n      /** Email address */\n      email?: string | null;\n      /** address line */\n      addressLine2?: string | null;\n      /** Tax information (for Brazil only) */\n      vatId?: VatId;\n      /** Address line 1 (free text) */\n      addressLine1?: string;\n      /** Address line 1 (street) */\n      street?: Street;\n  }\n  /** @oneof */\n  interface AddressAddressLine1OptionsOneOf {\n      /** Address line 1 (free text) */\n      addressLine1?: string;\n      /** Address line 1 (street) */\n      street?: Street;\n  }\n  interface FullName {\n      /** Customer's first name */\n      firstName?: string;\n      /** Customer's last name */\n      lastName?: string;\n  }\n  interface Street {\n      /** Street number */\n      number?: string;\n      /** Street name */\n      name?: string;\n  }\n  interface VatId {\n      /** Customer's tax ID */\n      number?: string;\n      /** tax type */\n      type?: VatType;\n  }\n  /** Brazilian tax info types */\n  enum VatType {\n      /** When the tax info type can't be classified, due to an error */\n      UNSPECIFIED_TAX_TYPE = \"UNSPECIFIED_TAX_TYPE\",\n      /** CPF - for individual tax payers */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface ShippingInfo extends ShippingInfoDetailsOneOf {\n      /** Shipping option name. */\n      deliveryOption?: string;\n      /** Shipping option delivery time. */\n      estimatedDeliveryTime?: string | null;\n      /** Latest expected delivery date. */\n      deliverByDate?: Date;\n      /** Shipping region. */\n      shippingRegion?: string | null;\n      /**\n       * Unique code of provided shipping option. For example, `\"usps_std_overnight\"`.\n       * @readonly\n       */\n      code?: string | null;\n      /** Shipment details (when this object describes shipment). */\n      shipmentDetails?: ShipmentDetails;\n      /** Pickup details (when this object describes pickup). */\n      pickupDetails?: PickupDetails;\n  }\n  /** @oneof */\n  interface ShippingInfoDetailsOneOf {\n      /** Shipment details (when this object describes shipment). */\n      shipmentDetails?: ShipmentDetails;\n      /** Pickup details (when this object describes pickup). */\n      pickupDetails?: PickupDetails;\n  }\n  interface ShipmentDetails {\n      /** Shipping destination address. */\n      address?: Address;\n      /**\n       * Deprecated (use fulfillments instead).\n       * @readonly\n       */\n      trackingInfo?: TrackingInfo;\n      /** Discount applied for shipping. */\n      discount?: string | null;\n      /** Tax applied for shipping. */\n      tax?: string | null;\n      /** Price data. */\n      priceData?: ShippingPriceData;\n  }\n  interface TrackingInfo {\n      /**\n       * Tracking number\n       * @readonly\n       */\n      trackingNumber?: string | null;\n      /**\n       * Shipping provider\n       * @readonly\n       */\n      shippingProvider?: string | null;\n      /**\n       * Tracking link\n       * @readonly\n       */\n      trackingLink?: string | null;\n  }\n  interface ShippingPriceData {\n      /** Whether tax is included in the price. */\n      taxIncludedInPrice?: boolean;\n      /** Shipping price. */\n      price?: string | null;\n  }\n  interface PickupDetails {\n      /** Pickup address. */\n      pickupAddress?: PickupAddress;\n      /**\n       * Deprecated (use billingInfo instead).\n       * @readonly\n       */\n      buyerDetails?: BuyerDetails;\n      /** Store owner's pickup instructions. */\n      pickupInstructions?: string | null;\n  }\n  interface PickupAddress {\n      /** Country code (3 letters) */\n      country?: string;\n      /** State/District */\n      subdivision?: string | null;\n      /** Address */\n      addressLine1?: string;\n      /** City */\n      city?: string;\n      /** ZIP/postal code */\n      zipCode?: string;\n  }\n  interface BuyerDetails {\n      /** Addressee name */\n      fullName?: FullName;\n      /** Email address */\n      email?: string;\n      /** Phone number */\n      phone?: string;\n  }\n  /** This might be extended in the future with pending orders statuses */\n  enum PaymentStatus {\n      /** Payment status can't be classified, due to an error */\n      UNSPECIFIED_PAYMENT_STATUS = \"UNSPECIFIED_PAYMENT_STATUS\",\n      /** Order is pending response from the payment provider */\n      PENDING = \"PENDING\",\n      /** Order is marked as not paid, and can be marked as paid later on. This is relevant for POS and offline orders */\n      NOT_PAID = \"NOT_PAID\",\n      /** The order is marked as paid */\n      PAID = \"PAID\",\n      /** Order was refunded, refund amount less than order total price */\n      PARTIALLY_REFUNDED = \"PARTIALLY_REFUNDED\",\n      /** Full order total price was refunded */\n      FULLY_REFUNDED = \"FULLY_REFUNDED\",\n      /** At least one payment was received and approved, covering less than total price amount */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\"\n  }\n  enum FulfillmentStatus {\n      /** None of the order items are fulfilled */\n      NOT_FULFILLED = \"NOT_FULFILLED\",\n      /**\n       * All of the order items are fulfilled\n       * Orders without shipping info are fulfilled automatically\n       */\n      FULFILLED = \"FULFILLED\",\n      /** Order is canceled */\n      CANCELED = \"CANCELED\",\n      /** Some, but not all of the order items are fulfilled */\n      PARTIALLY_FULFILLED = \"PARTIALLY_FULFILLED\"\n  }\n  interface LineItem {\n      /**\n       * Line item ID (auto-generated, stable within this order only)\n       * @readonly\n       */\n      index?: number | null;\n      /** Line item quantity */\n      quantity?: number;\n      /**\n       * Deprecated (use priceData instead)\n       * @readonly\n       */\n      price?: string | null;\n      /** Line item name */\n      name?: string | null;\n      /** Product name, translated into the customer's language */\n      translatedName?: string | null;\n      /** Line item product ID (optional for POS orders) */\n      productId?: string | null;\n      /**\n       * Deprecated (use priceData instead)\n       * @readonly\n       */\n      totalPrice?: string | null;\n      /** Line item type (may be extended) */\n      lineItemType?: LineItemType;\n      /** Line item options ordered */\n      options?: OptionSelection[];\n      /** Line item custom text field entry */\n      customTextFields?: CustomTextFieldSelection[];\n      /** Line item weight */\n      weight?: string | null;\n      /** Primary media for preview of the line item */\n      mediaItem?: MediaItem;\n      /** Line item SKU */\n      sku?: string | null;\n      /** Line item notes */\n      notes?: string | null;\n      /** Line item variantId (from Stores Catalog) */\n      variantId?: string | null;\n      /** Line item fulfillerId from stores fulfillers. No value equals self fulfilled */\n      fulfillerId?: string | null;\n      /** Discount applied for this line item */\n      discount?: string | null;\n      /** Tax applied for this line item */\n      tax?: string | null;\n      /**\n       * Deprecated (use priceData instead)\n       * @readonly\n       */\n      taxIncludedInPrice?: boolean;\n      /** Tax group ID */\n      taxGroupId?: string | null;\n      /** Price data */\n      priceData?: LineItemPriceData;\n      /**\n       * Line item refundedQuantity (from refund). No value means not refunded. Shows the number of line items that were refunded\n       * @internal\n       * @readonly\n       */\n      refundedQuantity?: number | null;\n      /**\n       * Digital file identifier, relevant only for items with type DIGITAL\n       * @internal\n       */\n      digitalFile?: DigitalFile;\n  }\n  enum LineItemType {\n      /** Line item type can't be classified, due to an error */\n      UNSPECIFIED_LINE_ITEM_TYPE = \"UNSPECIFIED_LINE_ITEM_TYPE\",\n      /** Physical item type */\n      PHYSICAL = \"PHYSICAL\",\n      /** Digital item type */\n      DIGITAL = \"DIGITAL\",\n      /** Custom item price */\n      CUSTOM_AMOUNT_ITEM = \"CUSTOM_AMOUNT_ITEM\"\n  }\n  interface OptionSelection {\n      /** Option name */\n      option?: string;\n      /** Selected choice for this option */\n      selection?: string;\n  }\n  interface CustomTextFieldSelection {\n      /** Custom text field name */\n      title?: string;\n      /** Custom text field value */\n      value?: string;\n  }\n  interface MediaItem {\n      /**\n       * Media type\n       * @readonly\n       */\n      mediaType?: MediaItemType;\n      /**\n       * Media URL\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Media item width\n       * @readonly\n       */\n      width?: number;\n      /**\n       * Media item height\n       * @readonly\n       */\n      height?: number;\n      /** Deprecated */\n      mediaId?: string | null;\n      /** Media ID (for media items previously saved in Wix Media) */\n      _id?: string | null;\n      /** Media external URL */\n      externalImageUrl?: string | null;\n      /** Alternative text for presentation when media cannot be displayed */\n      altText?: string | null;\n  }\n  enum MediaItemType {\n      /** Media item type can't be classified, due to an error */\n      UNSPECIFIED_MEDIA_TYPE_ITEM = \"UNSPECIFIED_MEDIA_TYPE_ITEM\",\n      /** Image item type */\n      IMAGE = \"IMAGE\"\n  }\n  interface LineItemPriceData {\n      /** Whether tax is included in the price set for this line item */\n      taxIncludedInPrice?: boolean;\n      /** Line item price */\n      price?: string;\n      /**\n       * Total price charged to the customer (per line item) after computation of quantity and discount\n       * @readonly\n       */\n      totalPrice?: string | null;\n  }\n  interface DigitalFile {\n      /** id of the secure file in media */\n      fileId?: string;\n  }\n  interface Activity {\n      /**\n       * Activity item type\n       * @readonly\n       */\n      type?: ActivityType;\n      /**\n       * Activity item author\n       * @readonly\n       */\n      author?: string | null;\n      /**\n       * Comment added to activity item\n       * @readonly\n       */\n      message?: string | null;\n      /**\n       * Activity item timestamp\n       * @readonly\n       */\n      timestamp?: Date;\n  }\n  enum ActivityType {\n      /** Activity item type can't be classified, due to an error */\n      UNSPECIFIED_ORDER_HISTORY_ITEM_TYPE = \"UNSPECIFIED_ORDER_HISTORY_ITEM_TYPE\",\n      /** Store owner added a comment */\n      MERCHANT_COMMENT = \"MERCHANT_COMMENT\",\n      /** Order placed */\n      ORDER_PLACED = \"ORDER_PLACED\",\n      /** Order marked as paid, either by the store owner (for offline orders), or when an online transaction was confirmed */\n      ORDER_PAID = \"ORDER_PAID\",\n      /** Order shipping status set as fulfilled */\n      ORDER_FULFILLED = \"ORDER_FULFILLED\",\n      /** Order shipping status set as not fulfilled */\n      ORDER_NOT_FULFILLED = \"ORDER_NOT_FULFILLED\",\n      /** A download link was sent (relevant for orders with digital line items) */\n      DOWNLOAD_LINK_SENT = \"DOWNLOAD_LINK_SENT\",\n      /** An email notification for pickup was sent */\n      PICKUP_READY_EMAIL_SENT = \"PICKUP_READY_EMAIL_SENT\",\n      /** Shipping tracking number was set */\n      TRACKING_NUMBER_ADDED = \"TRACKING_NUMBER_ADDED\",\n      /** Shipping tracking number was edited */\n      TRACKING_NUMBER_EDITED = \"TRACKING_NUMBER_EDITED\",\n      /** Shipping tracking link was set */\n      TRACKING_LINK_WAS_SET = \"TRACKING_LINK_WAS_SET\",\n      /** An email confirmation of order shipment was sent */\n      SHIPPING_CONFIRMATION_EMAIL_SENT = \"SHIPPING_CONFIRMATION_EMAIL_SENT\",\n      /** Invoice was set in the order */\n      INVOICE_WAS_SET = \"INVOICE_WAS_SET\",\n      /** Invoice was removed from the order */\n      INVOICE_WAS_REMOVED = \"INVOICE_WAS_REMOVED\",\n      /** Invoice was sent to customer via email */\n      INVOICE_WAS_SENT = \"INVOICE_WAS_SENT\",\n      /** Email was sent to fulfiller */\n      FULFILLER_EMAIL_SENT = \"FULFILLER_EMAIL_SENT\",\n      /** Shipping address was updated */\n      SHIPPING_ADDRESS_EDITED = \"SHIPPING_ADDRESS_EDITED\",\n      /** Order email was updated */\n      EMAIL_EDITED = \"EMAIL_EDITED\",\n      /** Order partially paid. During the checkout for orders with deposit items. */\n      ORDER_PARTIALLY_PAID = \"ORDER_PARTIALLY_PAID\"\n  }\n  interface InvoiceInfo {\n      /** Invoice ID */\n      _id?: string;\n      /** Invoice source */\n      source?: InvoiceSource;\n  }\n  enum InvoiceSource {\n      /** Invoice source can't be classified, due to an error */\n      UNSPECIFIED_INVOICE_SOURCE = \"UNSPECIFIED_INVOICE_SOURCE\",\n      /** Invoice created using the Invoices API */\n      WIX = \"WIX\"\n  }\n  interface Fulfillment {\n      /**\n       * Fulfillment ID (auto generated upon fulfillment creation).\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Fulfillment creation date and time.\n       * @readonly\n       */\n      dateCreated?: Date;\n      /** Information about the line items in the fulfilled order. */\n      lineItems?: FulfillmentLineItem[];\n      /** Tracking information. */\n      trackingInfo?: FulfillmentTrackingInfo;\n  }\n  interface FulfillmentLineItem {\n      /** Line item ID (mirrors the line item index of the order). */\n      index?: number;\n      /**\n       * Line item quantity.\n       * On creation, if this parameter isn't passed, the new fulfillment will automatically include all items of this line item that have not already been linked to a fulfillment.\n       * If the order does not have the requested quantity of line items available to add to this fulfillment, the fulfillment will not be created and an error will be returned.\n       * This property will always have a value when returned.\n       */\n      quantity?: number | null;\n  }\n  interface FulfillmentTrackingInfo {\n      /** Tracking number. */\n      trackingNumber?: string;\n      /**\n       * Shipping provider. Using the following shipping providers will allow for autofilling the tracking link:\n       * * `fedex`\n       * * `ups`\n       * * `usps`\n       * * `dhl`\n       * * `canadaPost`\n       */\n      shippingProvider?: string;\n      /** Tracking link - autofilled if using a predefined shipping provider, otherwise provided on creation. */\n      trackingLink?: string | null;\n  }\n  interface Discount {\n      /**\n       * Deprecated (use Totals.discount instead)\n       * @readonly\n       */\n      value?: string;\n      /** Applied coupon */\n      appliedCoupon?: AppliedCoupon;\n  }\n  interface AppliedCoupon {\n      /** Coupon ID */\n      couponId?: string;\n      /** Coupon name */\n      name?: string;\n      /** Coupon code */\n      code?: string;\n  }\n  /** Custom field */\n  interface CustomField {\n      /** Free text that the customer entered in the custom field during the checkout process */\n      value?: string;\n      /** Title for the custom field */\n      title?: string;\n      /** The title translated according to the buyer language */\n      translatedTitle?: string;\n  }\n  interface ChannelInfo {\n      /** Sales channel that submitted the order */\n      type?: ChannelType;\n      /** Reference to an order ID from an external system, as defined in channelInfo (e.g., eBay or Amazon) */\n      externalOrderId?: string | null;\n      /** URL to the order in the external system, as defined in channelInfo (e.g., eBay or Amazon) */\n      externalOrderUrl?: string | null;\n  }\n  enum ChannelType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      WEB = \"WEB\",\n      POS = \"POS\",\n      EBAY = \"EBAY\",\n      AMAZON = \"AMAZON\",\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      WIX_INVOICES = \"WIX_INVOICES\",\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      WISH = \"WISH\"\n  }\n  interface EnteredBy {\n      _id?: string;\n      identityType?: EnteredByIdentityType;\n  }\n  enum EnteredByIdentityType {\n      USER = \"USER\",\n      MEMBER = \"MEMBER\",\n      CONTACT = \"CONTACT\",\n      APP = \"APP\"\n  }\n  interface SubscriptionInfo {\n      /** Subscription ID. */\n      _id?: string | null;\n      /** Current cycle number. For example, if the subscription is in the 3rd month of a 4-month subscription, the value will be `3`. */\n      cycleNumber?: number;\n      /** Subscription settings. */\n      subscriptionSettings?: SubscriptionSettings;\n      /** Subscription options info. */\n      subscriptionOptionInfo?: SubscriptionOptionInfo;\n  }\n  interface SubscriptionSettings {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency;\n      /**\n       * Interval of recurring payment (optional: default value 1 will be used if not provided)\n       * @internal\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface SubscriptionOptionInfo {\n      /**\n       * Subscription option ID.\n       * @internal\n       */\n      _id?: string | null;\n      /** Subscription option title. */\n      title?: string;\n      /** Subscription option description. */\n      description?: string | null;\n  }\n  interface Refund {\n      /** Refund created timestamp. */\n      dateCreated?: Date;\n      /** Refund amount. */\n      amount?: string;\n      /** Reason for refund, given by user (optional). */\n      reason?: string | null;\n      /**\n       * Deprecated. Use externalRefund.\n       * @internal\n       */\n      isManual?: boolean;\n      /**\n       * Deprecated. Use payment_provider_transaction_id.\n       * @internal\n       */\n      providerTransactionId?: string | null;\n      /**\n       * Deprecated. Use id.\n       * @internal\n       */\n      refundId?: string;\n      /** Payment provider transaction ID. Used to find refund transaction info on the payment provider's side. */\n      paymentProviderTransactionId?: string | null;\n      /** Refund ID. */\n      _id?: string;\n      /** Whether refund was made externally (on the payment provider's side). */\n      externalRefund?: boolean;\n  }\n  interface GiftCard {\n      transactionId?: string;\n      /** giftcard internal ID */\n      _id?: string;\n      /** giftcard provider appid */\n      providerId?: string;\n      /** giftcard amount */\n      amount?: string;\n  }\n  interface OrderAddressUpdated {\n      /**\n       * Updated order data.\n       * @readonly\n       */\n      order?: Order;\n  }\n  interface CreateOrderRequest {\n      order: Order;\n      /**\n       * Additional order settings.\n       * @internal\n       */\n      additionalOrderSettings?: AdditionalOrderSettings[];\n  }\n  interface AdditionalOrderSettings {\n      /** ID of the line item this setting applies to */\n      lineItemId?: string | null;\n      /** Whether this line item purchase was made as part of a purchase that includes preorder items. */\n      preorderRequest?: boolean;\n  }\n  interface CreateOrderResponse {\n      order?: Order;\n  }\n  interface BulkFulfillOrdersRequest {\n      filter: Record<string, any> | null;\n      /** when true shipping confirmation email will be sent to the buyer for all orders with shipment delivery */\n      sendShippingConfirmationEmail?: boolean;\n      /** when true pickup ready email will be sent to the buyer for all orders with pickup delivery */\n      sendPickupReadyEmail?: boolean;\n  }\n  interface BulkFulfillOrdersResponse {\n  }\n  interface BulkMarkOrdersAsPaidRequest {\n      filter: Record<string, any> | null;\n  }\n  interface BulkMarkOrdersAsPaidResponse {\n  }\n  interface BulkArchiveOrdersRequest {\n      filter: Record<string, any> | null;\n  }\n  interface BulkArchiveOrdersResponse {\n  }\n  interface BulkUnarchiveOrdersRequest {\n      filter: Record<string, any> | null;\n  }\n  interface BulkUnarchiveOrdersResponse {\n  }\n  interface AddFulfillerEmailWasSentActivityRequest {\n      orderId: string;\n  }\n  interface AddFulfillerEmailWasSentActivityResponse {\n  }\n  interface DeclineOrderRequest {\n      orderId: string;\n      eventTime?: Date;\n      reason?: string | null;\n  }\n  interface DeclineOrderResponse {\n  }\n  interface UpdateOrderEmailRequest {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      orderId: string;\n      /** New email address for billing and shipping info. */\n      email?: string;\n  }\n  interface UpdateOrderEmailResponse {\n      /** Updated order data. */\n      order?: Order;\n  }\n  interface UpdateOrderShippingAddressRequest {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      orderId: string;\n      /** New order shipping address. */\n      shippingAddress?: Address;\n  }\n  interface UpdateOrderShippingAddressResponse {\n      /** Updated order data. */\n      order?: Order;\n  }\n  interface DiffmatokyPayload {\n      left?: string;\n      right?: string;\n      compareChannel?: string;\n      entityId?: string;\n      errorInformation?: ErrorInformation;\n      tags?: string[];\n  }\n  interface ErrorInformation {\n      stackTrace?: string;\n  }\n  interface OrderCreated {\n      /** Order ID (auto generated upon order creation) */\n      orderId?: string;\n      /** ID displayed in the owner's store (auto generated) */\n      number?: string;\n      /** Order creation date */\n      dateCreated?: Date;\n      /** Customer information */\n      buyerInfo?: BuyerInfo;\n      /** Currency used for pricing in this store */\n      currency?: string;\n      /** Weight unit used in this store */\n      weightUnit?: WeightUnit;\n      /** Totals for order's line items */\n      totals?: Totals;\n      /** Whether the order was read by the store owner */\n      read?: boolean;\n      /** Order archive status */\n      archived?: boolean;\n      /** Order payment status */\n      paymentStatus?: PaymentStatus;\n      /** Order fulfillment status */\n      fulfillmentStatus?: FulfillmentStatus;\n      /** @internal */\n      ordersExperiments?: OrdersExperiments;\n      /**\n       * Checkout id\n       * @internal\n       */\n      checkoutId?: string | null;\n      /**\n       * Applied coupon\n       * @internal\n       */\n      appliedCoupon?: AppliedCoupon;\n      /**\n       * Subscription information\n       * @internal\n       */\n      subscriptionInfo?: SubscriptionInfo;\n      /** @internal */\n      cartId?: string | null;\n      /**\n       * Billing information.\n       * @internal\n       */\n      billingInfo?: BillingInfo;\n  }\n  interface OrdersExperiments {\n      epCommitTax?: boolean;\n      moveMerchantEmailToEp?: boolean;\n      moveBuyerOrderConfirmationEmailToEp?: boolean;\n      producedByEpBridge?: boolean;\n  }\n  interface OrderPaid {\n      /** Paid order data. */\n      order?: Order;\n      /** @internal */\n      ordersExperiments?: OrdersExperiments;\n  }\n  interface OrderCancelRefundEvent {\n      /** @readonly */\n      isCancel?: boolean;\n      /**\n       * date when cancel/refund was issued\n       * @readonly\n       */\n      issueDate?: Date;\n      /** will be defined if order was refunded */\n      refund?: Refund;\n      orderData?: OrderData;\n  }\n  interface OrderData {\n      /**\n       * Order ID (auto generated upon order creation)\n       * @readonly\n       */\n      orderId?: string;\n      /**\n       * means that order paid with cash, such orders might be not paid\n       * @readonly\n       */\n      isOffline?: boolean;\n      /**\n       * Order payment status\n       * @readonly\n       */\n      paymentStatus?: PaymentStatus;\n      /** Total price charged when order placed, this value isn't affected by refunds */\n      originalTotal?: string;\n      /**\n       * Order creation date\n       * @readonly\n       */\n      dateCreated?: Date;\n  }\n  interface OrderCanceled {\n      /**\n       * Canceled order data.\n       * @readonly\n       */\n      order?: Order;\n  }\n  interface OrderRefunded {\n      /**\n       * Refund ID.\n       * @readonly\n       */\n      refundId?: string;\n      /**\n       * Refunded order data.\n       * @readonly\n       */\n      order?: Order;\n  }\n  interface FulfillmentCreated {\n      /** Order ID (auto generated upon order creation). */\n      orderId?: string;\n      /** ID of the newly created fulfillment. */\n      fulfillmentId?: string;\n      /** Fulfillment creation date and time. */\n      dateCreated?: Date;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo;\n      /** Order fulfillment status. */\n      fulfillmentStatus?: FulfillmentStatus;\n      /** Fulfillment tracking information. */\n      trackingInfo?: FulfillmentTrackingInfo;\n  }\n  interface FulfillmentUpdated {\n      /** Order ID (auto generated upon order creation). */\n      orderId?: string;\n      /** ID of the updated fulfillment. */\n      fulfillmentId?: string;\n      /** Fulfillment tracking information. */\n      trackingInfo?: FulfillmentTrackingInfo;\n  }\n  interface FulfillmentDeleted {\n      /** Order ID (auto generated upon order creation). */\n      orderId?: string;\n      /** ID of the deleted fulfillment. */\n      fulfillmentId?: string;\n      /** Order fulfillment status. */\n      fulfillmentStatus?: FulfillmentStatus;\n  }\n  interface OrderDeclined {\n      order?: Order;\n  }\n  interface GetOrderRequestV2 {\n      /** Requested order ID */\n      _id: string;\n  }\n  interface GetOrderResponseV2 {\n      /** Order data */\n      order?: Order;\n  }\n  interface QueryOrdersRequestV2 {\n      /** Query */\n      query?: Query;\n  }\n  interface Query {\n      paging?: Paging;\n      /** A filter string */\n      filter?: string | null;\n      /** A sort string */\n      sort?: string | null;\n  }\n  interface Paging {\n      /** Number of items to load */\n      limit?: number | null;\n      /** The offset since the beginning of the collection */\n      offset?: number | null;\n  }\n  interface QueryOrdersResponseV2 {\n      /** Order data */\n      orders?: Order[];\n      /** Paging metadata */\n      metadata?: PagingMetadata;\n      /** Total results */\n      totalResults?: number;\n  }\n  interface PagingMetadata {\n      /** Requested number of items to load */\n      items?: number;\n      /** Requested offset since the beginning of the collection */\n      offset?: number;\n  }\n  interface CreateFulfillmentRequest {\n      /** Order ID (to which the fulfillment will be related). */\n      orderId: string;\n      /** Fulfillment info. */\n      fulfillment: Fulfillment;\n  }\n  interface CreateFulfillmentResponse {\n      /** Fulfillment ID. */\n      _id?: string;\n      /** Updated order data. */\n      order?: Order;\n  }\n  interface UpdateFulfillmentRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Fulfillment ID */\n      fulfillmentId: string;\n      /** Updated tracking info. */\n      fulfillmentTrackingInfo?: FulfillmentTrackingInfo;\n  }\n  interface UpdateFulfillmentResponse {\n      /** Updated order data. */\n      order?: Order;\n  }\n  interface DeleteFulfillmentRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Fulfillment ID. */\n      fulfillmentId: string;\n  }\n  interface DeleteFulfillmentResponse {\n      /** Updated order data. */\n      order?: Order;\n  }\n  interface MarkAsPaidRequest {\n      /** The order id */\n      _id: string;\n      /** The payment info */\n      paymentInfo: RequestPaymentInfo;\n  }\n  interface RequestPaymentInfo {\n      /** Payment method used for this order */\n      paymentMethod?: string;\n      /** External transaction ID */\n      externalTransactionId?: string;\n  }\n  interface MarkAsPaidResponse {\n  }\n  interface SetShippingFulfillmentRequest {\n      /** The order id */\n      _id: string;\n      /** Shipment fulfillment status */\n      status?: ShipmentFulfillmentStatus;\n  }\n  /** This may be expanded in the future to include partial fulfillments */\n  enum ShipmentFulfillmentStatus {\n      /** Shipment fulfillment status can't be classified, due to an error */\n      UNSPECIFIED_SHIPMENT_FULFILLMENT_STATUS = \"UNSPECIFIED_SHIPMENT_FULFILLMENT_STATUS\",\n      /** Entire order's shipment is not fulfilled */\n      SHIPMENT_NOT_FULFILLED = \"SHIPMENT_NOT_FULFILLED\",\n      /** Entire order's shipment is fulfilled */\n      SHIPMENT_FULFILLED = \"SHIPMENT_FULFILLED\"\n  }\n  interface SetShippingFulfillmentResponse {\n  }\n  interface SendFulfillmentConfirmationRequest {\n      /** The order id */\n      _id: string;\n  }\n  interface SendFulfillmentConfirmationResponse {\n  }\n  interface MarkAsReadRequest {\n      /** The order id */\n      _id: string;\n  }\n  interface MarkAsReadResponse {\n  }\n  interface SetArchiveStatusRequest {\n      /** The order id */\n      _id: string;\n      /** New archive status */\n      archived?: boolean;\n  }\n  interface SetArchiveStatusResponse {\n  }\n  /**\n   * Creates a new order.\n   *\n   * > **Notes:**\n   * > + Only orders with the `paymentStatus` parameter set as `\"PAID\"` or `\"NOT_PAID\"` will show up in the site owner's Stores Orders tab in their dashboard.\n   * > + The `billingInfo.paymentProviderTransactionId` and `billingInfo.paymentMethod` parameters can only be passed when paymentStatus is PAID.\n   * > + The `billingInfo`.address parameter is required unless `channelInfo.type: \"POS\"`.\n   * > + The `shippingInfo.shipmentDetails.address` parameter is required unless one of the following is true:\n   * >   + The `shippingInfo.pickupDetails` is passed instead\n   * >   + `channelInfo.type: \"POS\"`\n   * >   + All order items are of type digital - `lineItems.lineItemType: \"DIGITAL\"`.\n   * > + When passing `lineItems.variantId`, `lineItems.options` is required.\n   * > + When passing `lineItems.productId`, `lineItem.lineItemType` is limited to `\"PHYSICAL\"`.\n   * > + When not passing `lineItems.productId`, `lineItem.lineItemType` is limited to `\"CUSTOM_AMOUNT_ITEM\"`.\n   * @public\n   * @requiredField order\n   * @requiredField order.totals\n   */\n  function createOrder(order: Order, options?: CreateOrderOptions): Promise<CreateOrderResponse>;\n  interface CreateOrderOptions {\n      /**\n       * Additional order settings.\n       * @internal\n       */\n      additionalOrderSettings?: AdditionalOrderSettings[];\n  }\n  /** @requiredField filter */\n  function bulkFulfillOrders(filter: Record<string, any> | null, options?: BulkFulfillOrdersOptions): Promise<void>;\n  interface BulkFulfillOrdersOptions {\n      /** when true shipping confirmation email will be sent to the buyer for all orders with shipment delivery */\n      sendShippingConfirmationEmail?: boolean;\n      /** when true pickup ready email will be sent to the buyer for all orders with pickup delivery */\n      sendPickupReadyEmail?: boolean;\n  }\n  /** @requiredField filter */\n  function bulkMarkOrdersAsPaid(filter: Record<string, any> | null): Promise<void>;\n  /** @requiredField filter */\n  function bulkArchiveOrders(filter: Record<string, any> | null): Promise<void>;\n  /** @requiredField filter */\n  function bulkUnarchiveOrders(filter: Record<string, any> | null): Promise<void>;\n  /** @requiredField orderId */\n  function addFulfillerEmailWasSentActivity(orderId: string): Promise<void>;\n  /** @requiredField orderId */\n  function declineOrder(orderId: string, options?: DeclineOrderOptions): Promise<void>;\n  interface DeclineOrderOptions {\n      eventTime?: Date;\n      reason?: string | null;\n  }\n  /**\n   * Updates the email address of a specified order's billing info.\n   * If shipping was selected as the delivery method, shipping info email will also be updated.\n   * @param orderId - Order ID.\n   * @public\n   * @requiredField orderId\n   */\n  function updateOrderEmail(orderId: string, options?: UpdateOrderEmailOptions): Promise<UpdateOrderEmailResponse>;\n  interface UpdateOrderEmailOptions {\n      /** New email address for billing and shipping info. */\n      email?: string;\n  }\n  /**\n   * Updates the shipping address of a specified order.\n   * @param orderId - Order ID.\n   * @public\n   * @requiredField orderId\n   */\n  function updateOrderShippingAddress(orderId: string, options?: UpdateOrderShippingAddressOptions): Promise<UpdateOrderShippingAddressResponse>;\n  interface UpdateOrderShippingAddressOptions {\n      /** New order shipping address. */\n      shippingAddress?: Address;\n  }\n  /**\n   * Returns an order with the provided ID\n   * @param _id - Requested order ID\n   * @public\n   * @requiredField _id\n   */\n  function getOrder(_id: string): Promise<GetOrderResponseV2>;\n  /**\n   * Returns a list of up to 100 orders, given the provided paging, sorting and filters.\n   * See [Stores Pagination](https://dev.wix.com/api/rest/wix-stores/pagination) for more information.\n   * Hidden orders are not returned\n   * @public */\n  function queryOrders(options?: QueryOrdersOptions): Promise<QueryOrdersResponseV2>;\n  interface QueryOrdersOptions {\n      /** Query */\n      query?: Query;\n  }\n  /** Temp method for analytics migration */\n  function queryOrdersEventuallyConsistent(options?: QueryOrdersEventuallyConsistentOptions): Promise<QueryOrdersResponseV2>;\n  interface QueryOrdersEventuallyConsistentOptions {\n      /** Query */\n      query?: Query;\n  }\n  /**\n   * Creates a fulfillment (a subset of an order, with line items that are being shipped together) based on the body parameters passed with the request.\n   * If the site owner has requested it, calling this request will trigger an email to the customer (based on the Wix store settings)\n   * @param orderId - Order ID (to which the fulfillment will be related).\n   * @param fulfillment - Fulfillment info.\n   * @public\n   * @requiredField fulfillment\n   * @requiredField orderId\n   */\n  function createFulfillment(orderId: string, fulfillment: Fulfillment): Promise<CreateFulfillmentResponse>;\n  /**\n   * Updates an existing fulfillment\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.fulfillmentId\n   * @requiredField identifiers.orderId\n   */\n  function updateFulfillment(identifiers: UpdateFulfillmentIdentifiers, options?: UpdateFulfillmentOptions): Promise<UpdateFulfillmentResponse>;\n  interface UpdateFulfillmentIdentifiers {\n      /** Order ID. */\n      orderId: string;\n      /** Fulfillment ID */\n      fulfillmentId: string;\n  }\n  interface UpdateFulfillmentOptions {\n      /** Updated tracking info. */\n      fulfillmentTrackingInfo?: FulfillmentTrackingInfo;\n  }\n  /**\n   * Deletes an existing fulfillment\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.fulfillmentId\n   * @requiredField identifiers.orderId\n   */\n  function deleteFulfillment(identifiers: DeleteFulfillmentIdentifiers): Promise<DeleteFulfillmentResponse>;\n  interface DeleteFulfillmentIdentifiers {\n      /** Order ID. */\n      orderId: string;\n      /** Fulfillment ID. */\n      fulfillmentId: string;\n  }\n  /**\n   * Add payment data for an order\n   * @param _id - The order id\n   * @param paymentInfo - The payment info\n   * @requiredField _id\n   * @requiredField paymentInfo\n   */\n  function markAsPaid(_id: string, paymentInfo: RequestPaymentInfo): Promise<void>;\n  /**\n   * Set order's shipping's fulfillment status\n   * @param _id - The order id\n   * @requiredField _id\n   */\n  function setShippingFulfillment(_id: string, options?: SetShippingFulfillmentOptions): Promise<void>;\n  interface SetShippingFulfillmentOptions {\n      /** Shipment fulfillment status */\n      status?: ShipmentFulfillmentStatus;\n  }\n  /**\n   * Send confirmation mail for either pickup/shipment fulfillment\n   * @param _id - The order id\n   * @requiredField _id\n   */\n  function sendFulfillmentConfirmation(_id: string): Promise<void>;\n  /**\n   * Mark order as read\n   * @param _id - The order id\n   * @requiredField _id\n   */\n  function markAsRead(_id: string): Promise<void>;\n  /**\n   * Set order's archive status\n   * @param _id - The order id\n   * @requiredField _id\n   */\n  function setArchiveStatus(_id: string, options?: SetArchiveStatusOptions): Promise<void>;\n  interface SetArchiveStatusOptions {\n      /** New archive status */\n      archived?: boolean;\n  }\n  \n  type storesV2Orders_universal_d_Order = Order;\n  type storesV2Orders_universal_d_BuyerInfo = BuyerInfo;\n  type storesV2Orders_universal_d_IdentityType = IdentityType;\n  const storesV2Orders_universal_d_IdentityType: typeof IdentityType;\n  type storesV2Orders_universal_d_WeightUnit = WeightUnit;\n  const storesV2Orders_universal_d_WeightUnit: typeof WeightUnit;\n  type storesV2Orders_universal_d_Totals = Totals;\n  type storesV2Orders_universal_d_BillingInfo = BillingInfo;\n  type storesV2Orders_universal_d_Address = Address;\n  type storesV2Orders_universal_d_AddressAddressLine1OptionsOneOf = AddressAddressLine1OptionsOneOf;\n  type storesV2Orders_universal_d_FullName = FullName;\n  type storesV2Orders_universal_d_Street = Street;\n  type storesV2Orders_universal_d_VatId = VatId;\n  type storesV2Orders_universal_d_VatType = VatType;\n  const storesV2Orders_universal_d_VatType: typeof VatType;\n  type storesV2Orders_universal_d_ShippingInfo = ShippingInfo;\n  type storesV2Orders_universal_d_ShippingInfoDetailsOneOf = ShippingInfoDetailsOneOf;\n  type storesV2Orders_universal_d_ShipmentDetails = ShipmentDetails;\n  type storesV2Orders_universal_d_TrackingInfo = TrackingInfo;\n  type storesV2Orders_universal_d_ShippingPriceData = ShippingPriceData;\n  type storesV2Orders_universal_d_PickupDetails = PickupDetails;\n  type storesV2Orders_universal_d_PickupAddress = PickupAddress;\n  type storesV2Orders_universal_d_BuyerDetails = BuyerDetails;\n  type storesV2Orders_universal_d_PaymentStatus = PaymentStatus;\n  const storesV2Orders_universal_d_PaymentStatus: typeof PaymentStatus;\n  type storesV2Orders_universal_d_FulfillmentStatus = FulfillmentStatus;\n  const storesV2Orders_universal_d_FulfillmentStatus: typeof FulfillmentStatus;\n  type storesV2Orders_universal_d_LineItem = LineItem;\n  type storesV2Orders_universal_d_LineItemType = LineItemType;\n  const storesV2Orders_universal_d_LineItemType: typeof LineItemType;\n  type storesV2Orders_universal_d_OptionSelection = OptionSelection;\n  type storesV2Orders_universal_d_CustomTextFieldSelection = CustomTextFieldSelection;\n  type storesV2Orders_universal_d_MediaItem = MediaItem;\n  type storesV2Orders_universal_d_MediaItemType = MediaItemType;\n  const storesV2Orders_universal_d_MediaItemType: typeof MediaItemType;\n  type storesV2Orders_universal_d_LineItemPriceData = LineItemPriceData;\n  type storesV2Orders_universal_d_DigitalFile = DigitalFile;\n  type storesV2Orders_universal_d_Activity = Activity;\n  type storesV2Orders_universal_d_ActivityType = ActivityType;\n  const storesV2Orders_universal_d_ActivityType: typeof ActivityType;\n  type storesV2Orders_universal_d_InvoiceInfo = InvoiceInfo;\n  type storesV2Orders_universal_d_InvoiceSource = InvoiceSource;\n  const storesV2Orders_universal_d_InvoiceSource: typeof InvoiceSource;\n  type storesV2Orders_universal_d_Fulfillment = Fulfillment;\n  type storesV2Orders_universal_d_FulfillmentLineItem = FulfillmentLineItem;\n  type storesV2Orders_universal_d_FulfillmentTrackingInfo = FulfillmentTrackingInfo;\n  type storesV2Orders_universal_d_Discount = Discount;\n  type storesV2Orders_universal_d_AppliedCoupon = AppliedCoupon;\n  type storesV2Orders_universal_d_CustomField = CustomField;\n  type storesV2Orders_universal_d_ChannelInfo = ChannelInfo;\n  type storesV2Orders_universal_d_ChannelType = ChannelType;\n  const storesV2Orders_universal_d_ChannelType: typeof ChannelType;\n  type storesV2Orders_universal_d_EnteredBy = EnteredBy;\n  type storesV2Orders_universal_d_EnteredByIdentityType = EnteredByIdentityType;\n  const storesV2Orders_universal_d_EnteredByIdentityType: typeof EnteredByIdentityType;\n  type storesV2Orders_universal_d_SubscriptionInfo = SubscriptionInfo;\n  type storesV2Orders_universal_d_SubscriptionSettings = SubscriptionSettings;\n  type storesV2Orders_universal_d_SubscriptionFrequency = SubscriptionFrequency;\n  const storesV2Orders_universal_d_SubscriptionFrequency: typeof SubscriptionFrequency;\n  type storesV2Orders_universal_d_SubscriptionOptionInfo = SubscriptionOptionInfo;\n  type storesV2Orders_universal_d_Refund = Refund;\n  type storesV2Orders_universal_d_GiftCard = GiftCard;\n  type storesV2Orders_universal_d_OrderAddressUpdated = OrderAddressUpdated;\n  type storesV2Orders_universal_d_CreateOrderRequest = CreateOrderRequest;\n  type storesV2Orders_universal_d_AdditionalOrderSettings = AdditionalOrderSettings;\n  type storesV2Orders_universal_d_CreateOrderResponse = CreateOrderResponse;\n  type storesV2Orders_universal_d_BulkFulfillOrdersRequest = BulkFulfillOrdersRequest;\n  type storesV2Orders_universal_d_BulkFulfillOrdersResponse = BulkFulfillOrdersResponse;\n  type storesV2Orders_universal_d_BulkMarkOrdersAsPaidRequest = BulkMarkOrdersAsPaidRequest;\n  type storesV2Orders_universal_d_BulkMarkOrdersAsPaidResponse = BulkMarkOrdersAsPaidResponse;\n  type storesV2Orders_universal_d_BulkArchiveOrdersRequest = BulkArchiveOrdersRequest;\n  type storesV2Orders_universal_d_BulkArchiveOrdersResponse = BulkArchiveOrdersResponse;\n  type storesV2Orders_universal_d_BulkUnarchiveOrdersRequest = BulkUnarchiveOrdersRequest;\n  type storesV2Orders_universal_d_BulkUnarchiveOrdersResponse = BulkUnarchiveOrdersResponse;\n  type storesV2Orders_universal_d_AddFulfillerEmailWasSentActivityRequest = AddFulfillerEmailWasSentActivityRequest;\n  type storesV2Orders_universal_d_AddFulfillerEmailWasSentActivityResponse = AddFulfillerEmailWasSentActivityResponse;\n  type storesV2Orders_universal_d_DeclineOrderRequest = DeclineOrderRequest;\n  type storesV2Orders_universal_d_DeclineOrderResponse = DeclineOrderResponse;\n  type storesV2Orders_universal_d_UpdateOrderEmailRequest = UpdateOrderEmailRequest;\n  type storesV2Orders_universal_d_UpdateOrderEmailResponse = UpdateOrderEmailResponse;\n  type storesV2Orders_universal_d_UpdateOrderShippingAddressRequest = UpdateOrderShippingAddressRequest;\n  type storesV2Orders_universal_d_UpdateOrderShippingAddressResponse = UpdateOrderShippingAddressResponse;\n  type storesV2Orders_universal_d_DiffmatokyPayload = DiffmatokyPayload;\n  type storesV2Orders_universal_d_ErrorInformation = ErrorInformation;\n  type storesV2Orders_universal_d_OrderCreated = OrderCreated;\n  type storesV2Orders_universal_d_OrdersExperiments = OrdersExperiments;\n  type storesV2Orders_universal_d_OrderPaid = OrderPaid;\n  type storesV2Orders_universal_d_OrderCancelRefundEvent = OrderCancelRefundEvent;\n  type storesV2Orders_universal_d_OrderData = OrderData;\n  type storesV2Orders_universal_d_OrderCanceled = OrderCanceled;\n  type storesV2Orders_universal_d_OrderRefunded = OrderRefunded;\n  type storesV2Orders_universal_d_FulfillmentCreated = FulfillmentCreated;\n  type storesV2Orders_universal_d_FulfillmentUpdated = FulfillmentUpdated;\n  type storesV2Orders_universal_d_FulfillmentDeleted = FulfillmentDeleted;\n  type storesV2Orders_universal_d_OrderDeclined = OrderDeclined;\n  type storesV2Orders_universal_d_GetOrderRequestV2 = GetOrderRequestV2;\n  type storesV2Orders_universal_d_GetOrderResponseV2 = GetOrderResponseV2;\n  type storesV2Orders_universal_d_QueryOrdersRequestV2 = QueryOrdersRequestV2;\n  type storesV2Orders_universal_d_Query = Query;\n  type storesV2Orders_universal_d_Paging = Paging;\n  type storesV2Orders_universal_d_QueryOrdersResponseV2 = QueryOrdersResponseV2;\n  type storesV2Orders_universal_d_PagingMetadata = PagingMetadata;\n  type storesV2Orders_universal_d_CreateFulfillmentRequest = CreateFulfillmentRequest;\n  type storesV2Orders_universal_d_CreateFulfillmentResponse = CreateFulfillmentResponse;\n  type storesV2Orders_universal_d_UpdateFulfillmentRequest = UpdateFulfillmentRequest;\n  type storesV2Orders_universal_d_UpdateFulfillmentResponse = UpdateFulfillmentResponse;\n  type storesV2Orders_universal_d_DeleteFulfillmentRequest = DeleteFulfillmentRequest;\n  type storesV2Orders_universal_d_DeleteFulfillmentResponse = DeleteFulfillmentResponse;\n  type storesV2Orders_universal_d_MarkAsPaidRequest = MarkAsPaidRequest;\n  type storesV2Orders_universal_d_RequestPaymentInfo = RequestPaymentInfo;\n  type storesV2Orders_universal_d_MarkAsPaidResponse = MarkAsPaidResponse;\n  type storesV2Orders_universal_d_SetShippingFulfillmentRequest = SetShippingFulfillmentRequest;\n  type storesV2Orders_universal_d_ShipmentFulfillmentStatus = ShipmentFulfillmentStatus;\n  const storesV2Orders_universal_d_ShipmentFulfillmentStatus: typeof ShipmentFulfillmentStatus;\n  type storesV2Orders_universal_d_SetShippingFulfillmentResponse = SetShippingFulfillmentResponse;\n  type storesV2Orders_universal_d_SendFulfillmentConfirmationRequest = SendFulfillmentConfirmationRequest;\n  type storesV2Orders_universal_d_SendFulfillmentConfirmationResponse = SendFulfillmentConfirmationResponse;\n  type storesV2Orders_universal_d_MarkAsReadRequest = MarkAsReadRequest;\n  type storesV2Orders_universal_d_MarkAsReadResponse = MarkAsReadResponse;\n  type storesV2Orders_universal_d_SetArchiveStatusRequest = SetArchiveStatusRequest;\n  type storesV2Orders_universal_d_SetArchiveStatusResponse = SetArchiveStatusResponse;\n  const storesV2Orders_universal_d_createOrder: typeof createOrder;\n  type storesV2Orders_universal_d_CreateOrderOptions = CreateOrderOptions;\n  const storesV2Orders_universal_d_bulkFulfillOrders: typeof bulkFulfillOrders;\n  type storesV2Orders_universal_d_BulkFulfillOrdersOptions = BulkFulfillOrdersOptions;\n  const storesV2Orders_universal_d_bulkMarkOrdersAsPaid: typeof bulkMarkOrdersAsPaid;\n  const storesV2Orders_universal_d_bulkArchiveOrders: typeof bulkArchiveOrders;\n  const storesV2Orders_universal_d_bulkUnarchiveOrders: typeof bulkUnarchiveOrders;\n  const storesV2Orders_universal_d_addFulfillerEmailWasSentActivity: typeof addFulfillerEmailWasSentActivity;\n  const storesV2Orders_universal_d_declineOrder: typeof declineOrder;\n  type storesV2Orders_universal_d_DeclineOrderOptions = DeclineOrderOptions;\n  const storesV2Orders_universal_d_updateOrderEmail: typeof updateOrderEmail;\n  type storesV2Orders_universal_d_UpdateOrderEmailOptions = UpdateOrderEmailOptions;\n  const storesV2Orders_universal_d_updateOrderShippingAddress: typeof updateOrderShippingAddress;\n  type storesV2Orders_universal_d_UpdateOrderShippingAddressOptions = UpdateOrderShippingAddressOptions;\n  const storesV2Orders_universal_d_getOrder: typeof getOrder;\n  const storesV2Orders_universal_d_queryOrders: typeof queryOrders;\n  type storesV2Orders_universal_d_QueryOrdersOptions = QueryOrdersOptions;\n  const storesV2Orders_universal_d_queryOrdersEventuallyConsistent: typeof queryOrdersEventuallyConsistent;\n  type storesV2Orders_universal_d_QueryOrdersEventuallyConsistentOptions = QueryOrdersEventuallyConsistentOptions;\n  const storesV2Orders_universal_d_createFulfillment: typeof createFulfillment;\n  const storesV2Orders_universal_d_updateFulfillment: typeof updateFulfillment;\n  type storesV2Orders_universal_d_UpdateFulfillmentIdentifiers = UpdateFulfillmentIdentifiers;\n  type storesV2Orders_universal_d_UpdateFulfillmentOptions = UpdateFulfillmentOptions;\n  const storesV2Orders_universal_d_deleteFulfillment: typeof deleteFulfillment;\n  type storesV2Orders_universal_d_DeleteFulfillmentIdentifiers = DeleteFulfillmentIdentifiers;\n  const storesV2Orders_universal_d_markAsPaid: typeof markAsPaid;\n  const storesV2Orders_universal_d_setShippingFulfillment: typeof setShippingFulfillment;\n  type storesV2Orders_universal_d_SetShippingFulfillmentOptions = SetShippingFulfillmentOptions;\n  const storesV2Orders_universal_d_sendFulfillmentConfirmation: typeof sendFulfillmentConfirmation;\n  const storesV2Orders_universal_d_markAsRead: typeof markAsRead;\n  const storesV2Orders_universal_d_setArchiveStatus: typeof setArchiveStatus;\n  type storesV2Orders_universal_d_SetArchiveStatusOptions = SetArchiveStatusOptions;\n  namespace storesV2Orders_universal_d {\n    export {\n      __debug$1 as __debug,\n      storesV2Orders_universal_d_Order as Order,\n      storesV2Orders_universal_d_BuyerInfo as BuyerInfo,\n      storesV2Orders_universal_d_IdentityType as IdentityType,\n      storesV2Orders_universal_d_WeightUnit as WeightUnit,\n      storesV2Orders_universal_d_Totals as Totals,\n      storesV2Orders_universal_d_BillingInfo as BillingInfo,\n      storesV2Orders_universal_d_Address as Address,\n      storesV2Orders_universal_d_AddressAddressLine1OptionsOneOf as AddressAddressLine1OptionsOneOf,\n      storesV2Orders_universal_d_FullName as FullName,\n      storesV2Orders_universal_d_Street as Street,\n      storesV2Orders_universal_d_VatId as VatId,\n      storesV2Orders_universal_d_VatType as VatType,\n      storesV2Orders_universal_d_ShippingInfo as ShippingInfo,\n      storesV2Orders_universal_d_ShippingInfoDetailsOneOf as ShippingInfoDetailsOneOf,\n      storesV2Orders_universal_d_ShipmentDetails as ShipmentDetails,\n      storesV2Orders_universal_d_TrackingInfo as TrackingInfo,\n      storesV2Orders_universal_d_ShippingPriceData as ShippingPriceData,\n      storesV2Orders_universal_d_PickupDetails as PickupDetails,\n      storesV2Orders_universal_d_PickupAddress as PickupAddress,\n      storesV2Orders_universal_d_BuyerDetails as BuyerDetails,\n      storesV2Orders_universal_d_PaymentStatus as PaymentStatus,\n      storesV2Orders_universal_d_FulfillmentStatus as FulfillmentStatus,\n      storesV2Orders_universal_d_LineItem as LineItem,\n      storesV2Orders_universal_d_LineItemType as LineItemType,\n      storesV2Orders_universal_d_OptionSelection as OptionSelection,\n      storesV2Orders_universal_d_CustomTextFieldSelection as CustomTextFieldSelection,\n      storesV2Orders_universal_d_MediaItem as MediaItem,\n      storesV2Orders_universal_d_MediaItemType as MediaItemType,\n      storesV2Orders_universal_d_LineItemPriceData as LineItemPriceData,\n      storesV2Orders_universal_d_DigitalFile as DigitalFile,\n      storesV2Orders_universal_d_Activity as Activity,\n      storesV2Orders_universal_d_ActivityType as ActivityType,\n      storesV2Orders_universal_d_InvoiceInfo as InvoiceInfo,\n      storesV2Orders_universal_d_InvoiceSource as InvoiceSource,\n      storesV2Orders_universal_d_Fulfillment as Fulfillment,\n      storesV2Orders_universal_d_FulfillmentLineItem as FulfillmentLineItem,\n      storesV2Orders_universal_d_FulfillmentTrackingInfo as FulfillmentTrackingInfo,\n      storesV2Orders_universal_d_Discount as Discount,\n      storesV2Orders_universal_d_AppliedCoupon as AppliedCoupon,\n      storesV2Orders_universal_d_CustomField as CustomField,\n      storesV2Orders_universal_d_ChannelInfo as ChannelInfo,\n      storesV2Orders_universal_d_ChannelType as ChannelType,\n      storesV2Orders_universal_d_EnteredBy as EnteredBy,\n      storesV2Orders_universal_d_EnteredByIdentityType as EnteredByIdentityType,\n      storesV2Orders_universal_d_SubscriptionInfo as SubscriptionInfo,\n      storesV2Orders_universal_d_SubscriptionSettings as SubscriptionSettings,\n      storesV2Orders_universal_d_SubscriptionFrequency as SubscriptionFrequency,\n      storesV2Orders_universal_d_SubscriptionOptionInfo as SubscriptionOptionInfo,\n      storesV2Orders_universal_d_Refund as Refund,\n      storesV2Orders_universal_d_GiftCard as GiftCard,\n      storesV2Orders_universal_d_OrderAddressUpdated as OrderAddressUpdated,\n      storesV2Orders_universal_d_CreateOrderRequest as CreateOrderRequest,\n      storesV2Orders_universal_d_AdditionalOrderSettings as AdditionalOrderSettings,\n      storesV2Orders_universal_d_CreateOrderResponse as CreateOrderResponse,\n      storesV2Orders_universal_d_BulkFulfillOrdersRequest as BulkFulfillOrdersRequest,\n      storesV2Orders_universal_d_BulkFulfillOrdersResponse as BulkFulfillOrdersResponse,\n      storesV2Orders_universal_d_BulkMarkOrdersAsPaidRequest as BulkMarkOrdersAsPaidRequest,\n      storesV2Orders_universal_d_BulkMarkOrdersAsPaidResponse as BulkMarkOrdersAsPaidResponse,\n      storesV2Orders_universal_d_BulkArchiveOrdersRequest as BulkArchiveOrdersRequest,\n      storesV2Orders_universal_d_BulkArchiveOrdersResponse as BulkArchiveOrdersResponse,\n      storesV2Orders_universal_d_BulkUnarchiveOrdersRequest as BulkUnarchiveOrdersRequest,\n      storesV2Orders_universal_d_BulkUnarchiveOrdersResponse as BulkUnarchiveOrdersResponse,\n      storesV2Orders_universal_d_AddFulfillerEmailWasSentActivityRequest as AddFulfillerEmailWasSentActivityRequest,\n      storesV2Orders_universal_d_AddFulfillerEmailWasSentActivityResponse as AddFulfillerEmailWasSentActivityResponse,\n      storesV2Orders_universal_d_DeclineOrderRequest as DeclineOrderRequest,\n      storesV2Orders_universal_d_DeclineOrderResponse as DeclineOrderResponse,\n      storesV2Orders_universal_d_UpdateOrderEmailRequest as UpdateOrderEmailRequest,\n      storesV2Orders_universal_d_UpdateOrderEmailResponse as UpdateOrderEmailResponse,\n      storesV2Orders_universal_d_UpdateOrderShippingAddressRequest as UpdateOrderShippingAddressRequest,\n      storesV2Orders_universal_d_UpdateOrderShippingAddressResponse as UpdateOrderShippingAddressResponse,\n      storesV2Orders_universal_d_DiffmatokyPayload as DiffmatokyPayload,\n      storesV2Orders_universal_d_ErrorInformation as ErrorInformation,\n      storesV2Orders_universal_d_OrderCreated as OrderCreated,\n      storesV2Orders_universal_d_OrdersExperiments as OrdersExperiments,\n      storesV2Orders_universal_d_OrderPaid as OrderPaid,\n      storesV2Orders_universal_d_OrderCancelRefundEvent as OrderCancelRefundEvent,\n      storesV2Orders_universal_d_OrderData as OrderData,\n      storesV2Orders_universal_d_OrderCanceled as OrderCanceled,\n      storesV2Orders_universal_d_OrderRefunded as OrderRefunded,\n      storesV2Orders_universal_d_FulfillmentCreated as FulfillmentCreated,\n      storesV2Orders_universal_d_FulfillmentUpdated as FulfillmentUpdated,\n      storesV2Orders_universal_d_FulfillmentDeleted as FulfillmentDeleted,\n      storesV2Orders_universal_d_OrderDeclined as OrderDeclined,\n      storesV2Orders_universal_d_GetOrderRequestV2 as GetOrderRequestV2,\n      storesV2Orders_universal_d_GetOrderResponseV2 as GetOrderResponseV2,\n      storesV2Orders_universal_d_QueryOrdersRequestV2 as QueryOrdersRequestV2,\n      storesV2Orders_universal_d_Query as Query,\n      storesV2Orders_universal_d_Paging as Paging,\n      storesV2Orders_universal_d_QueryOrdersResponseV2 as QueryOrdersResponseV2,\n      storesV2Orders_universal_d_PagingMetadata as PagingMetadata,\n      storesV2Orders_universal_d_CreateFulfillmentRequest as CreateFulfillmentRequest,\n      storesV2Orders_universal_d_CreateFulfillmentResponse as CreateFulfillmentResponse,\n      storesV2Orders_universal_d_UpdateFulfillmentRequest as UpdateFulfillmentRequest,\n      storesV2Orders_universal_d_UpdateFulfillmentResponse as UpdateFulfillmentResponse,\n      storesV2Orders_universal_d_DeleteFulfillmentRequest as DeleteFulfillmentRequest,\n      storesV2Orders_universal_d_DeleteFulfillmentResponse as DeleteFulfillmentResponse,\n      storesV2Orders_universal_d_MarkAsPaidRequest as MarkAsPaidRequest,\n      storesV2Orders_universal_d_RequestPaymentInfo as RequestPaymentInfo,\n      storesV2Orders_universal_d_MarkAsPaidResponse as MarkAsPaidResponse,\n      storesV2Orders_universal_d_SetShippingFulfillmentRequest as SetShippingFulfillmentRequest,\n      storesV2Orders_universal_d_ShipmentFulfillmentStatus as ShipmentFulfillmentStatus,\n      storesV2Orders_universal_d_SetShippingFulfillmentResponse as SetShippingFulfillmentResponse,\n      storesV2Orders_universal_d_SendFulfillmentConfirmationRequest as SendFulfillmentConfirmationRequest,\n      storesV2Orders_universal_d_SendFulfillmentConfirmationResponse as SendFulfillmentConfirmationResponse,\n      storesV2Orders_universal_d_MarkAsReadRequest as MarkAsReadRequest,\n      storesV2Orders_universal_d_MarkAsReadResponse as MarkAsReadResponse,\n      storesV2Orders_universal_d_SetArchiveStatusRequest as SetArchiveStatusRequest,\n      storesV2Orders_universal_d_SetArchiveStatusResponse as SetArchiveStatusResponse,\n      storesV2Orders_universal_d_createOrder as createOrder,\n      storesV2Orders_universal_d_CreateOrderOptions as CreateOrderOptions,\n      storesV2Orders_universal_d_bulkFulfillOrders as bulkFulfillOrders,\n      storesV2Orders_universal_d_BulkFulfillOrdersOptions as BulkFulfillOrdersOptions,\n      storesV2Orders_universal_d_bulkMarkOrdersAsPaid as bulkMarkOrdersAsPaid,\n      storesV2Orders_universal_d_bulkArchiveOrders as bulkArchiveOrders,\n      storesV2Orders_universal_d_bulkUnarchiveOrders as bulkUnarchiveOrders,\n      storesV2Orders_universal_d_addFulfillerEmailWasSentActivity as addFulfillerEmailWasSentActivity,\n      storesV2Orders_universal_d_declineOrder as declineOrder,\n      storesV2Orders_universal_d_DeclineOrderOptions as DeclineOrderOptions,\n      storesV2Orders_universal_d_updateOrderEmail as updateOrderEmail,\n      storesV2Orders_universal_d_UpdateOrderEmailOptions as UpdateOrderEmailOptions,\n      storesV2Orders_universal_d_updateOrderShippingAddress as updateOrderShippingAddress,\n      storesV2Orders_universal_d_UpdateOrderShippingAddressOptions as UpdateOrderShippingAddressOptions,\n      storesV2Orders_universal_d_getOrder as getOrder,\n      storesV2Orders_universal_d_queryOrders as queryOrders,\n      storesV2Orders_universal_d_QueryOrdersOptions as QueryOrdersOptions,\n      storesV2Orders_universal_d_queryOrdersEventuallyConsistent as queryOrdersEventuallyConsistent,\n      storesV2Orders_universal_d_QueryOrdersEventuallyConsistentOptions as QueryOrdersEventuallyConsistentOptions,\n      storesV2Orders_universal_d_createFulfillment as createFulfillment,\n      storesV2Orders_universal_d_updateFulfillment as updateFulfillment,\n      storesV2Orders_universal_d_UpdateFulfillmentIdentifiers as UpdateFulfillmentIdentifiers,\n      storesV2Orders_universal_d_UpdateFulfillmentOptions as UpdateFulfillmentOptions,\n      storesV2Orders_universal_d_deleteFulfillment as deleteFulfillment,\n      storesV2Orders_universal_d_DeleteFulfillmentIdentifiers as DeleteFulfillmentIdentifiers,\n      storesV2Orders_universal_d_markAsPaid as markAsPaid,\n      storesV2Orders_universal_d_setShippingFulfillment as setShippingFulfillment,\n      storesV2Orders_universal_d_SetShippingFulfillmentOptions as SetShippingFulfillmentOptions,\n      storesV2Orders_universal_d_sendFulfillmentConfirmation as sendFulfillmentConfirmation,\n      storesV2Orders_universal_d_markAsRead as markAsRead,\n      storesV2Orders_universal_d_setArchiveStatus as setArchiveStatus,\n      storesV2Orders_universal_d_SetArchiveStatusOptions as SetArchiveStatusOptions,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface WishlistData {\n      /** GUID unique to this list for this site */\n      _id?: string | null;\n      /** Member id the list belongs to */\n      ownerId?: string;\n      /** List of items in the list. Not necessarily the full list (can depends on request data) */\n      items?: WishlistItem[];\n      /** Total count of items in the list */\n      totalCount?: number;\n  }\n  interface WishlistItem {\n      /** Unique identifier for an item of this type and origin */\n      _id?: string;\n      /**\n       * The data the item was save to the list\n       * @readonly\n       */\n      dateAdded?: Date;\n      /** The type of the item. For example \"product\" */\n      type?: string;\n      /** The origin of the item. Should be the scope the item type is related to. For example \"wixstores\" */\n      origin?: string;\n  }\n  interface ItemsAddedToWishlist {\n      /** GUID unique to this list for its site */\n      _id?: string | null;\n      /** Member id the list belongs to */\n      ownerId?: string;\n      /** List of items that were added to wishlist */\n      items?: WishlistItem[];\n  }\n  interface ItemsRemovedFromWishlist {\n      /** GUID unique to this list for its site */\n      _id?: string | null;\n      /** Member id the list belongs to */\n      ownerId?: string;\n      /** List of items that were removed from wishlist */\n      items?: WishlistItem[];\n  }\n  interface GetWishlistRequest {\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n      /** Filter requested list by specific kinds of items */\n      kind?: WishlistItemKind[];\n  }\n  interface WishlistItemKind {\n      /** The type of the item. For example \"product\" */\n      type?: string;\n      /** The origin of the item. Should be the scope the item type is related to. For example \"wixstores\" */\n      origin?: string;\n  }\n  interface GetWishlistResponse {\n      /** Object containing requested list data */\n      wishlist?: WishlistData;\n  }\n  interface AddToWishlistRequest {\n      /** List of items to add to list */\n      items?: WishlistItem[];\n  }\n  interface AddToWishlistResponse {\n  }\n  interface RemoveFromWishlistRequest {\n      /** List of items to remove from list */\n      items?: WishlistItem[];\n  }\n  interface RemoveFromWishlistResponse {\n  }\n  interface GetWishlistByIdRequest {\n      /** Unique identifier representing requested list */\n      _id: string;\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n      /** Filter requested list by specific kinds of items */\n      kind?: WishlistItemKind[];\n  }\n  interface GetWishlistByIdResponse {\n      /** Object containing requested list data */\n      wishlist?: WishlistData;\n  }\n  interface GetWishlistsRequest {\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n  }\n  interface GetWishlistsResponse {\n      /** List result of requested wishlists */\n      wishlists?: WishlistData[];\n  }\n  /**\n   * Get default wishlist by context's member and site\n   * @internal\n   * @documentationMaturity preview\n   */\n  function getWishlist(options?: GetWishlistOptions): Promise<GetWishlistResponse>;\n  interface GetWishlistOptions {\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n      /** Filter requested list by specific kinds of items */\n      kind?: WishlistItemKind[];\n  }\n  /**\n   * Add items to default wishlist by context's member and site\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.items._id\n   * @requiredField options.items.origin\n   * @requiredField options.items.type\n   */\n  function addToWishlist(options?: AddToWishlistOptions): Promise<void>;\n  interface AddToWishlistOptions {\n      /** List of items to add to list */\n      items?: WishlistItem[];\n  }\n  /**\n   * Remove items to default wishlist by context's member and site\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.items._id\n   * @requiredField options.items.origin\n   * @requiredField options.items.type\n   */\n  function removeFromWishlist(options?: RemoveFromWishlistOptions): Promise<void>;\n  interface RemoveFromWishlistOptions {\n      /** List of items to remove from list */\n      items?: WishlistItem[];\n  }\n  /**\n   * Get wishlist by id\n   * @param _id - Unique identifier representing requested list\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @returns Object containing requested list data\n   */\n  function getWishlistById(_id: string, options?: GetWishlistByIdOptions): Promise<WishlistData>;\n  interface GetWishlistByIdOptions {\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n      /** Filter requested list by specific kinds of items */\n      kind?: WishlistItemKind[];\n  }\n  /**\n   * Get wishlists of site\n   * @internal\n   * @documentationMaturity preview\n   */\n  function getWishlists(options?: GetWishlistsOptions): Promise<GetWishlistsResponse>;\n  interface GetWishlistsOptions {\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n  }\n  \n  const platformV1Wishlist_universal_d___debug: typeof __debug;\n  type platformV1Wishlist_universal_d_WishlistData = WishlistData;\n  type platformV1Wishlist_universal_d_WishlistItem = WishlistItem;\n  type platformV1Wishlist_universal_d_ItemsAddedToWishlist = ItemsAddedToWishlist;\n  type platformV1Wishlist_universal_d_ItemsRemovedFromWishlist = ItemsRemovedFromWishlist;\n  type platformV1Wishlist_universal_d_GetWishlistRequest = GetWishlistRequest;\n  type platformV1Wishlist_universal_d_WishlistItemKind = WishlistItemKind;\n  type platformV1Wishlist_universal_d_GetWishlistResponse = GetWishlistResponse;\n  type platformV1Wishlist_universal_d_AddToWishlistRequest = AddToWishlistRequest;\n  type platformV1Wishlist_universal_d_AddToWishlistResponse = AddToWishlistResponse;\n  type platformV1Wishlist_universal_d_RemoveFromWishlistRequest = RemoveFromWishlistRequest;\n  type platformV1Wishlist_universal_d_RemoveFromWishlistResponse = RemoveFromWishlistResponse;\n  type platformV1Wishlist_universal_d_GetWishlistByIdRequest = GetWishlistByIdRequest;\n  type platformV1Wishlist_universal_d_GetWishlistByIdResponse = GetWishlistByIdResponse;\n  type platformV1Wishlist_universal_d_GetWishlistsRequest = GetWishlistsRequest;\n  type platformV1Wishlist_universal_d_GetWishlistsResponse = GetWishlistsResponse;\n  const platformV1Wishlist_universal_d_getWishlist: typeof getWishlist;\n  type platformV1Wishlist_universal_d_GetWishlistOptions = GetWishlistOptions;\n  const platformV1Wishlist_universal_d_addToWishlist: typeof addToWishlist;\n  type platformV1Wishlist_universal_d_AddToWishlistOptions = AddToWishlistOptions;\n  const platformV1Wishlist_universal_d_removeFromWishlist: typeof removeFromWishlist;\n  type platformV1Wishlist_universal_d_RemoveFromWishlistOptions = RemoveFromWishlistOptions;\n  const platformV1Wishlist_universal_d_getWishlistById: typeof getWishlistById;\n  type platformV1Wishlist_universal_d_GetWishlistByIdOptions = GetWishlistByIdOptions;\n  const platformV1Wishlist_universal_d_getWishlists: typeof getWishlists;\n  type platformV1Wishlist_universal_d_GetWishlistsOptions = GetWishlistsOptions;\n  namespace platformV1Wishlist_universal_d {\n    export {\n      platformV1Wishlist_universal_d___debug as __debug,\n      platformV1Wishlist_universal_d_WishlistData as WishlistData,\n      platformV1Wishlist_universal_d_WishlistItem as WishlistItem,\n      platformV1Wishlist_universal_d_ItemsAddedToWishlist as ItemsAddedToWishlist,\n      platformV1Wishlist_universal_d_ItemsRemovedFromWishlist as ItemsRemovedFromWishlist,\n      platformV1Wishlist_universal_d_GetWishlistRequest as GetWishlistRequest,\n      platformV1Wishlist_universal_d_WishlistItemKind as WishlistItemKind,\n      platformV1Wishlist_universal_d_GetWishlistResponse as GetWishlistResponse,\n      platformV1Wishlist_universal_d_AddToWishlistRequest as AddToWishlistRequest,\n      platformV1Wishlist_universal_d_AddToWishlistResponse as AddToWishlistResponse,\n      platformV1Wishlist_universal_d_RemoveFromWishlistRequest as RemoveFromWishlistRequest,\n      platformV1Wishlist_universal_d_RemoveFromWishlistResponse as RemoveFromWishlistResponse,\n      platformV1Wishlist_universal_d_GetWishlistByIdRequest as GetWishlistByIdRequest,\n      platformV1Wishlist_universal_d_GetWishlistByIdResponse as GetWishlistByIdResponse,\n      platformV1Wishlist_universal_d_GetWishlistsRequest as GetWishlistsRequest,\n      platformV1Wishlist_universal_d_GetWishlistsResponse as GetWishlistsResponse,\n      platformV1Wishlist_universal_d_getWishlist as getWishlist,\n      platformV1Wishlist_universal_d_GetWishlistOptions as GetWishlistOptions,\n      platformV1Wishlist_universal_d_addToWishlist as addToWishlist,\n      platformV1Wishlist_universal_d_AddToWishlistOptions as AddToWishlistOptions,\n      platformV1Wishlist_universal_d_removeFromWishlist as removeFromWishlist,\n      platformV1Wishlist_universal_d_RemoveFromWishlistOptions as RemoveFromWishlistOptions,\n      platformV1Wishlist_universal_d_getWishlistById as getWishlistById,\n      platformV1Wishlist_universal_d_GetWishlistByIdOptions as GetWishlistByIdOptions,\n      platformV1Wishlist_universal_d_getWishlists as getWishlists,\n      platformV1Wishlist_universal_d_GetWishlistsOptions as GetWishlistsOptions,\n    };\n  }\n  \n  export { storesCatalogV1Collection_universal_d as collections, storesV2Orders_universal_d as orders, platformV1Wishlist_universal_d as wishlist };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v3.d.ts",
      "content": "declare module \"wix-members-followers-backend.v3\" {\n  interface Follower {\n      /** Member ID of the member who performed the action. */\n      memberId?: string;\n      /** Member ID of the member being followed or unfollowed. */\n      affectedMemberId?: string;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface FollowMemberRequest {\n      /** The ID of the member who you want to follow. */\n      memberId: string;\n  }\n  interface FollowMemberResponse {\n  }\n  interface MemberFollowed {\n      /** Member who is following the other member. */\n      memberConnection?: Follower;\n  }\n  interface UnfollowMemberRequest {\n      /** The ID of the member who you want to unfollow. */\n      memberId: string;\n  }\n  interface UnfollowMemberResponse {\n  }\n  interface MemberUnfollowed {\n      /** Member who is unfollowing the other member. */\n      memberConnection?: Follower;\n  }\n  interface ListMyMemberFollowingRequest {\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Number of items to return. See [Pagination](https://dev.wix.com/docs/rest/business-solutions/events/events/rsvp/introduction) for more information. */\n      limit?: number | null;\n      /** Cursor returned from last query response. */\n      cursor?: string | null;\n  }\n  interface ListMyMemberFollowingResponse {\n      /** List of members followed by the current member. */\n      memberIds?: string[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items starting from given cursor. */\n      count?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListMemberFollowingRequest {\n      /** The ID of the member whose followers you want to list. */\n      memberId: string;\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: CursorPaging;\n  }\n  interface ListMemberFollowingResponse {\n      /** List of members who are followed by the given member. */\n      memberIds?: string[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface ListMyMemberFollowersRequest {\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: CursorPaging;\n  }\n  interface ListMyMemberFollowersResponse {\n      /** List of members who are following the current member. */\n      memberIds?: string[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface ListMemberFollowersRequest {\n      /** The ID of the member whose followed members you want to list. */\n      memberId: string;\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: CursorPaging;\n  }\n  interface ListMemberFollowersResponse {\n      /** List of members who are following the given member. */\n      memberIds?: string[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface QueryMyMemberConnectionsRequest {\n      /** List of member IDs whose connections to the current member will be retrieved. */\n      connectedMemberIds: string[];\n  }\n  interface QueryMyMemberConnectionsResponse {\n      /** List of members whose connections to the current member were retrieved. */\n      connectedMembers?: ConnectedMembers[];\n  }\n  interface ConnectedMembers {\n      /** Site member ID. */\n      connectedMemberId?: string;\n      /** Indicates if the listed member is followed by the given member. */\n      followedByMember?: boolean;\n      /** Indicates if the listed member is following the given member. */\n      followingMember?: boolean;\n  }\n  interface QueryMemberConnectionsRequest {\n      /** List of member IDs whose connections to the given member will be retrieved. */\n      connectedMemberIds: string[];\n      /** Member ID. */\n      memberId: string;\n  }\n  interface QueryMemberConnectionsResponse {\n      /** List of members whose connections to the given member were retrieved. */\n      connectedMembers?: ConnectedMembers[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Sets the current member to follow another member.\n   * @param memberId - The ID of the member who you want to follow.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.MEMBER_FOLLOW\n   */\n  function followMember(memberId: string): Promise<void>;\n  /**\n   * Sets the current member to unfollow another member.\n   * @param memberId - The ID of the member who you want to unfollow.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.MEMBER_FOLLOW\n   */\n  function unfollowMember(memberId: string): Promise<void>;\n  /**\n   * Lists members who are followed by the current member.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.FOLLOW_READ_MY\n   */\n  function listCurrentMemberFollowing(options?: ListCurrentMemberFollowingOptions): Promise<ListCurrentMemberFollowingResult>;\n  interface ListCurrentMemberFollowingOptions {\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: CursorPaging;\n  }\n  interface ListCurrentMemberFollowingResult {\n      memberIds: string[];\n      metadata: PagingMetadataV2;\n  }\n  /**\n   * Lists members who are followed by the given member.\n   * @param memberId - The ID of the member whose followers you want to list.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.FOLLOW_READ\n   */\n  function listMemberFollowing(memberId: string, options?: ListMemberFollowingOptions): Promise<ListMemberFollowingResult>;\n  interface ListMemberFollowingOptions {\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: CursorPaging;\n  }\n  interface ListMemberFollowingResult {\n      memberIds: string[];\n      metadata: PagingMetadataV2;\n  }\n  /**\n   * Lists members who are following the current member.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.FOLLOW_READ_MY\n   */\n  function listCurrentMemberFollowers(options?: ListCurrentMemberFollowersOptions): Promise<ListCurrentMemberFollowersResult>;\n  interface ListCurrentMemberFollowersOptions {\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: CursorPaging;\n  }\n  interface ListCurrentMemberFollowersResult {\n      memberIds: string[];\n      metadata: PagingMetadataV2;\n  }\n  /**\n   * Lists members who are following the given member.\n   * @param memberId - The ID of the member whose followed members you want to list.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.FOLLOW_READ\n   */\n  function listMemberFollowers(memberId: string, options?: ListMemberFollowersOptions): Promise<ListMemberFollowersResult>;\n  interface ListMemberFollowersOptions {\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: CursorPaging;\n  }\n  interface ListMemberFollowersResult {\n      memberIds: string[];\n      metadata: PagingMetadataV2;\n  }\n  /**\n   * Retrieves a list of members whose connections to the current member were retrieved.\n   * @param connectedMemberIds - List of member IDs whose connections to the current member will be retrieved.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField connectedMemberIds\n   * @permissionId MEMBERS.FOLLOW_READ_MY\n   */\n  function queryCurrentMemberConnections(connectedMemberIds: string[]): Promise<QueryMyMemberConnectionsResponse>;\n  /**\n   * Retrieves a list of members whose connections to the given member were retrieved.\n   * > **Note:** If an empty array is passed as `connectedMemberIds`, the call will succeed, but it will not return any data.\n   * @param memberId - Member ID.\n   * @param connectedMemberIds - List of member IDs whose connections to the given member will be retrieved.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField connectedMemberIds\n   * @requiredField memberId\n   * @permissionId MEMBERS.FOLLOW_READ\n   */\n  function queryMemberConnections(memberId: string, connectedMemberIds: string[]): Promise<QueryMemberConnectionsResponse>;\n  \n  export { ActionEvent, App, ConnectedMembers, CursorPaging, Cursors, DomainEvent, DomainEventBodyOneOf, Empty, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, File, FollowMemberRequest, FollowMemberResponse, Follower, IdentificationData, IdentificationDataIdOneOf, InvalidateCache, InvalidateCacheGetByOneOf, ListCurrentMemberFollowersOptions, ListCurrentMemberFollowersResult, ListCurrentMemberFollowingOptions, ListCurrentMemberFollowingResult, ListMemberFollowersOptions, ListMemberFollowersRequest, ListMemberFollowersResponse, ListMemberFollowersResult, ListMemberFollowingOptions, ListMemberFollowingRequest, ListMemberFollowingResponse, ListMemberFollowingResult, ListMyMemberFollowersRequest, ListMyMemberFollowersResponse, ListMyMemberFollowingRequest, ListMyMemberFollowingResponse, MemberFollowed, MemberUnfollowed, MessageEnvelope, Page, PagingMetadataV2, QueryMemberConnectionsRequest, QueryMemberConnectionsResponse, QueryMyMemberConnectionsRequest, QueryMyMemberConnectionsResponse, RestoreInfo, URI, UnfollowMemberRequest, UnfollowMemberResponse, WebhookIdentityType, followMember, listCurrentMemberFollowers, listCurrentMemberFollowing, listMemberFollowers, listMemberFollowing, queryCurrentMemberConnections, queryMemberConnections, unfollowMember };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-positions-backend.d.ts",
      "content": "declare module \"wix-recruitment-agencies-positions-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Position {\n      /** @readonly */\n      _id?: string;\n      /**\n       * postingId in People system - specific job description published instance\n       * @readonly\n       */\n      postingId?: string;\n      /** Posting title in People system - specific job description published instance */\n      title?: string;\n      /** Posting description in People system */\n      description?: string;\n      /** Posting requirements in People system */\n      requirements?: string;\n      /** Posting responsibilities in People system */\n      responsibilities?: string;\n  }\n  interface GetAgencyPositionsRequest {\n  }\n  interface GetAgencyPositionsResponse {\n      /** agency positions */\n      positions?: Position[];\n  }\n  /** GetAgencyPositions return positions for agency */\n  function getAgencyPositions(): Promise<GetAgencyPositionsResponse>;\n  \n  const peopleAgenciesPortalV1Position_universal_d___debug: typeof __debug;\n  type peopleAgenciesPortalV1Position_universal_d_Position = Position;\n  type peopleAgenciesPortalV1Position_universal_d_GetAgencyPositionsRequest = GetAgencyPositionsRequest;\n  type peopleAgenciesPortalV1Position_universal_d_GetAgencyPositionsResponse = GetAgencyPositionsResponse;\n  const peopleAgenciesPortalV1Position_universal_d_getAgencyPositions: typeof getAgencyPositions;\n  namespace peopleAgenciesPortalV1Position_universal_d {\n    export {\n      peopleAgenciesPortalV1Position_universal_d___debug as __debug,\n      peopleAgenciesPortalV1Position_universal_d_Position as Position,\n      peopleAgenciesPortalV1Position_universal_d_GetAgencyPositionsRequest as GetAgencyPositionsRequest,\n      peopleAgenciesPortalV1Position_universal_d_GetAgencyPositionsResponse as GetAgencyPositionsResponse,\n      peopleAgenciesPortalV1Position_universal_d_getAgencyPositions as getAgencyPositions,\n    };\n  }\n  \n  export { peopleAgenciesPortalV1Position_universal_d as recruitmentAgenciesPositions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-comm-channels-v1-communication-channels-provider.d.ts",
      "content": "declare module \"interfaces-comm-channels-v1-communication-channels-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface CommunicationChannelsProvider {\n      _id?: string | null;\n  }\n  interface GetChannelConnectionStatusRequest {\n  }\n  interface GetChannelConnectionStatusResponse {\n      connectionStatus?: ChannelConnectionStatus;\n      /** Usage information, can have multiple quotas (regular, booster, etc). */\n      quotaInfo?: QuotaInfo[];\n  }\n  interface ChannelConnectionStatus {\n      /** The connected channel account identifier (such as email address / phone number / facebook pageId etc) */\n      identifier?: string | null;\n      /** State of the connected channel, indicates if channel is valid for sending and receiving messages */\n      status?: ConnectionStatus;\n  }\n  enum ConnectionStatus {\n      UNKNOWN_CONNECTION_STATE = \"UNKNOWN_CONNECTION_STATE\",\n      VALID = \"VALID\",\n      DISCONNECTED = \"DISCONNECTED\",\n      INVALID = \"INVALID\",\n      PENDING = \"PENDING\",\n      SUSPENDED = \"SUSPENDED\"\n  }\n  interface QuotaInfo {\n      /** Name of the plan this quote is applied to. */\n      planName?: string;\n      /** Upcoming renewal date of the plan this quote is applied to. */\n      planRenewalDate?: Date;\n      /** Quantity usage limitation, for the specific period */\n      limit?: string | null;\n      /** Period the limitation applies to. */\n      period?: FeaturePeriod;\n      /** Counted usages until this moment. */\n      currentUsage?: string;\n      /**\n       * Remaining amount that can be used.\n       * Will be set to None in case for an unlimited usage feature\n       */\n      remainingUsage?: string | null;\n  }\n  /** Determines the cycle of the feature usage. */\n  enum FeaturePeriod {\n      NO_PERIOD = \"NO_PERIOD\",\n      MILLISECOND = \"MILLISECOND\",\n      SECOND = \"SECOND\",\n      MINUTE = \"MINUTE\",\n      HOUR = \"HOUR\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface GetQuotaInfoRequest {\n  }\n  interface GetQuotaInfoResponse {\n      quotaInfo?: QuotaInfo[];\n  }\n  interface CanSendMessageRequest {\n      to?: string | null;\n  }\n  interface CanSendMessageResponse {\n      canSendMessage?: boolean;\n      additionalInfo?: CanSendAdditionalInfo;\n  }\n  interface CanSendAdditionalInfo {\n      type?: CanSendInfoType;\n      /** get in the spi, and maybe only for logs and not expose in the API */\n      message?: string | null;\n  }\n  enum CanSendInfoType {\n      UNKNOWN_ADDITIONAL_INFO_TYPE = \"UNKNOWN_ADDITIONAL_INFO_TYPE\",\n      RECIPIENT_UNSUBSCRIBED = \"RECIPIENT_UNSUBSCRIBED\",\n      RECIPIENT_BLOCKED = \"RECIPIENT_BLOCKED\",\n      INVALID_RECIPIENT = \"INVALID_RECIPIENT\",\n      ADDITIONAL_ACTION_REQUIRED = \"ADDITIONAL_ACTION_REQUIRED\",\n      QUOTA_EXCEEDED = \"QUOTA_EXCEEDED\",\n      TOO_MANY_REQUESTS = \"TOO_MANY_REQUESTS\",\n      ACCOUNT_CONNECTION_NOT_ACTIVE = \"ACCOUNT_CONNECTION_NOT_ACTIVE\"\n  }\n  interface SendMessageRequest {\n      to?: Recipient;\n      message?: Message;\n  }\n  interface Recipient {\n      email?: EmailRecipient;\n      phone?: string | null;\n      recipientId?: string | null;\n  }\n  interface EmailRecipient {\n      address?: string;\n      name?: string | null;\n  }\n  interface Message extends MessageContentOneOf {\n      _id?: string | null;\n      _createdDate?: Date;\n      messageIdReference?: string | null;\n      summary?: string | null;\n      messageType?: MessageType;\n      directMessage?: DirectMessage;\n      emailMessage?: EmailMessage;\n      smsMessage?: SmsMessage;\n  }\n  /** @oneof */\n  interface MessageContentOneOf {\n      directMessage?: DirectMessage;\n      emailMessage?: EmailMessage;\n      smsMessage?: SmsMessage;\n  }\n  enum MessageType {\n      UNKNOWN_MESSAGE_TYPE = \"UNKNOWN_MESSAGE_TYPE\",\n      DIRECT_MESSAGE = \"DIRECT_MESSAGE\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\"\n  }\n  interface DirectMessage extends DirectMessagePayloadOneOf {\n      payloadType?: PayloadType;\n      /** simple messages */\n      textMessage?: TextMessage;\n      mediaMessage?: MediaMessage;\n      locationMessage?: LocationMessage;\n      /** templates */\n      cardTemplate?: CardTemplate;\n      announcementTemplate?: AnnouncementTemplate;\n      formTemplate?: FormTemplate;\n  }\n  /** @oneof */\n  interface DirectMessagePayloadOneOf {\n      /** simple messages */\n      textMessage?: TextMessage;\n      mediaMessage?: MediaMessage;\n      locationMessage?: LocationMessage;\n      /** templates */\n      cardTemplate?: CardTemplate;\n      announcementTemplate?: AnnouncementTemplate;\n      formTemplate?: FormTemplate;\n  }\n  enum PayloadType {\n      UNKNOWN_MESSAGE_TYPE = \"UNKNOWN_MESSAGE_TYPE\",\n      SIMPLE_TEXT = \"SIMPLE_TEXT\",\n      SIMPLE_MEDIA = \"SIMPLE_MEDIA\",\n      SIMPLE_LOCATION = \"SIMPLE_LOCATION\",\n      CARD = \"CARD\",\n      CONTACT = \"CONTACT\",\n      ANNOUNCEMENT = \"ANNOUNCEMENT\",\n      FORM = \"FORM\",\n      ACTIONABLE_FORM = \"ACTIONABLE_FORM\"\n  }\n  interface TextMessage {\n      mimeType?: TextMimeType;\n      content?: string | null;\n  }\n  enum TextMimeType {\n      TEXT_PLAIN = \"TEXT_PLAIN\"\n  }\n  interface MediaMessage {\n      mimeType?: MediaMimeType;\n      /** or URI ? */\n      url?: string | null;\n      altText?: string | null;\n      caption?: string | null;\n      fileName?: string | null;\n      fileSizeInBytes?: string | null;\n      lengthInMs?: string | null;\n  }\n  /** Mime type for relevant media entities in channels */\n  enum MediaMimeType {\n      UNKNOWN_MIME_TYPE = \"UNKNOWN_MIME_TYPE\",\n      IMAGE_JPEG = \"IMAGE_JPEG\",\n      IMAGE_PNG = \"IMAGE_PNG\",\n      IMAGE_WEBP = \"IMAGE_WEBP\",\n      VIDEO_MPEG = \"VIDEO_MPEG\",\n      VIDEO_MP4 = \"VIDEO_MP4\",\n      VIDEO_3GP = \"VIDEO_3GP\",\n      AUDIO_AAC = \"AUDIO_AAC\",\n      AUDIO_MP4 = \"AUDIO_MP4\",\n      AUDIO_MPEG = \"AUDIO_MPEG\",\n      AUDIO_OGG = \"AUDIO_OGG\",\n      AUDIO_OPUS = \"AUDIO_OPUS\",\n      APPLICATION_PDF = \"APPLICATION_PDF\",\n      APPLICATION_OCTET_STREAM = \"APPLICATION_OCTET_STREAM\"\n  }\n  interface LocationMessage {\n      coordinates?: Coordinates;\n      label?: string | null;\n      title?: string | null;\n      address?: string | null;\n  }\n  interface Coordinates {\n      longitude?: string | null;\n      latitude?: string | null;\n  }\n  interface CardTemplate {\n      title?: string | null;\n      description?: string | null;\n      imageUrl?: string | null;\n      orientation?: Orientation;\n      buttons?: Button[];\n  }\n  enum Orientation {\n      PORTRAIT = \"PORTRAIT\",\n      LANDSCAPE = \"LANDSCAPE\"\n  }\n  interface Button {\n      /** todo: explore action types e.g https://docs.smooch.io/guide/channel-capabilities/ */\n      type?: ButtonType;\n      url?: string | null;\n      title?: string | null;\n      postbackPayload?: string | null;\n  }\n  enum ButtonType {\n      CTA = \"CTA\",\n      POSTBACK = \"POSTBACK\",\n      POSTBACK_AND_CTA = \"POSTBACK_AND_CTA\"\n  }\n  interface AnnouncementTemplate {\n      text?: string;\n      iconUrl?: string | null;\n  }\n  interface FormTemplate {\n      title?: string | null;\n      fields?: FormField[];\n  }\n  interface FormField {\n      label?: string;\n      value?: string | null;\n  }\n  interface EmailMessage {\n      /** todo: how do we put here the in_reply_to */\n      replyTo?: string | null;\n      subject?: string;\n      content?: EmailContent[];\n      cc?: EmailRecipient[];\n      attachments?: EmailAttachment[];\n      sentDate?: Date;\n  }\n  interface EmailContent {\n      mimeType?: string;\n      content?: string | null;\n  }\n  interface EmailAttachment {\n      _id?: string | null;\n      name?: string;\n      mimeType?: string | null;\n      url?: string;\n      fileSizeInBytes?: string | null;\n      disposition?: AttachmentDisposition;\n  }\n  enum AttachmentDisposition {\n      ATTACHMENT = \"ATTACHMENT\",\n      INLINE = \"INLINE\"\n  }\n  interface SmsMessage extends SmsMessageBodyOneOf {\n      text?: TextSMS;\n      mms?: MediaSMS;\n  }\n  /** @oneof */\n  interface SmsMessageBodyOneOf {\n      text?: TextSMS;\n      mms?: MediaSMS;\n  }\n  interface TextSMS {\n      encoding?: string | null;\n      body?: string | null;\n  }\n  interface MediaSMS {\n      mimeType?: string | null;\n      urls?: string[] | null;\n  }\n  interface SendMessageResponse {\n      externalMessageId?: string;\n  }\n  interface InvalidRecipientError {\n      fields?: FieldViolation[];\n  }\n  interface FieldViolation {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  enum RuleType {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\"\n  }\n  interface UpdateMessageStatusRequest {\n      to?: Recipient;\n      status?: MessageStatus;\n  }\n  interface MessageStatus extends MessageStatusContentOneOf {\n      _id?: string | null;\n      messageIdReference?: string | null;\n      statusContext?: StatusContext;\n      statusType?: StatusType;\n      messageSentStatus?: MessageSentStatus;\n      messageDeliveredStatus?: MessageDeliveredStatus;\n      messageSeenStatus?: MessageSeenStatus;\n      failedDeliveryStatus?: FailedDeliveryStatus;\n      messageDeletedStatus?: MessageDeletedStatus;\n  }\n  /** @oneof */\n  interface MessageStatusContentOneOf {\n      messageSentStatus?: MessageSentStatus;\n      messageDeliveredStatus?: MessageDeliveredStatus;\n      messageSeenStatus?: MessageSeenStatus;\n      failedDeliveryStatus?: FailedDeliveryStatus;\n      messageDeletedStatus?: MessageDeletedStatus;\n  }\n  interface StatusContext {\n      initiatorId?: string | null;\n      statusChangedDate?: Date;\n  }\n  enum StatusType {\n      UNKNOWN_STATUS_TYPE = \"UNKNOWN_STATUS_TYPE\",\n      SENT = \"SENT\",\n      DELIVERED = \"DELIVERED\",\n      SEEN = \"SEEN\",\n      FAILED = \"FAILED\",\n      DELETED = \"DELETED\"\n  }\n  interface MessageSentStatus {\n  }\n  interface MessageDeliveredStatus {\n  }\n  interface MessageSeenStatus {\n  }\n  interface FailedDeliveryStatus {\n      errorCode?: ErrorCode;\n      cause?: string | null;\n  }\n  enum ErrorCode {\n      UNKNOWN_FAILED_CODE = \"UNKNOWN_FAILED_CODE\",\n      PERMISSION_DENIED = \"PERMISSION_DENIED\",\n      MISSING_PERMISSION = \"MISSING_PERMISSION\",\n      /** RATE_LIMIT_EXCEEDED */\n      TOO_MANY_REQUESTS = \"TOO_MANY_REQUESTS\",\n      QUOTA_EXCEEDED = \"QUOTA_EXCEEDED\",\n      INVALID_PARAMETER = \"INVALID_PARAMETER\",\n      EXPIRED_ACCESS_TOKEN = \"EXPIRED_ACCESS_TOKEN\",\n      POLICY_VIOLATION = \"POLICY_VIOLATION\",\n      BLOCKED = \"BLOCKED\",\n      MESSAGE_EXPIRED = \"MESSAGE_EXPIRED\",\n      GENERIC_ERROR = \"GENERIC_ERROR\",\n      UNSUPPORTED_MESSAGE_TYPE = \"UNSUPPORTED_MESSAGE_TYPE\",\n      BACKEND_ERROR = \"BACKEND_ERROR\"\n  }\n  interface MessageDeletedStatus {\n  }\n  interface UpdateMessageStatusResponse {\n  }\n  interface GetRecipientProfileRequest {\n      recipient?: Recipient;\n  }\n  interface GetRecipientProfileResponse {\n      profile?: RecipientProfile;\n  }\n  interface RecipientProfile {\n      recipient?: Recipient;\n      name?: string;\n      firstName?: string | null;\n      lastName?: string | null;\n      /** todo: use standard image object decomposition */\n      profilePicture?: string | null;\n  }\n  interface CommunicationChannelConfiguration {\n      config?: ChannelConfiguration;\n  }\n  interface ChannelConfiguration extends ChannelConfigurationMessagingConfigOneOf {\n      /** The type of the communication channel */\n      type?: ChannelType;\n      /** Specific provider branding parameters for the channel */\n      branding?: ChannelBranding;\n      /** Conversation initiation definition */\n      conversationLimitations?: ConversationLimitations;\n      directMessageConfig?: DirectMessageConfig;\n      emailMessageConfig?: EmailMessageConfig;\n      smsMessageConfig?: SmsMessageConfig;\n  }\n  /** @oneof */\n  interface ChannelConfigurationMessagingConfigOneOf {\n      directMessageConfig?: DirectMessageConfig;\n      emailMessageConfig?: EmailMessageConfig;\n      smsMessageConfig?: SmsMessageConfig;\n  }\n  /** The type of the communication channel */\n  enum ChannelType {\n      UNKNOWN_CHANNEL_TYPE = \"UNKNOWN_CHANNEL_TYPE\",\n      DIRECT_MESSAGING = \"DIRECT_MESSAGING\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\"\n  }\n  interface DirectMessageConfig {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      acceptAllMessageTypes?: boolean;\n      /**\n       * Direct message types accepted by the provider. only those types will be sent from Wix\n       * If all are excepted this field can be left empty and there's no need to explicitly state types\n       */\n      acceptedMessageTypes?: AcceptedDirectMessageType[];\n      /** Elaborates what media types (mime types) and sizes are supported */\n      mediaCapabilities?: MediaCapabilities;\n  }\n  enum AcceptedDirectMessageType {\n      TEXT = \"TEXT\",\n      MEDIA = \"MEDIA\",\n      CARD = \"CARD\",\n      ANNOUNCEMENT = \"ANNOUNCEMENT\",\n      FORM = \"FORM\"\n  }\n  interface MediaCapabilities {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      allMediaTypes?: boolean;\n      /**\n       * List for supported media types\n       * If all are excepted this field can be left empty and there's no need to explicitly state types\n       */\n      supportedMediaTypes?: MediaMimeType[];\n      /** Maximum file size in bytes of a single file in a message */\n      maxFileSizeInBytes?: number | null;\n  }\n  interface EmailMessageConfig {\n      /** Media (Attachment) types accepted by the provider */\n      mediaCapabilities?: MediaCapabilities;\n      /** Maximum size in bytes of total media items in a message. */\n      maxTotalFilesSizeInBytes?: number | null;\n  }\n  interface SmsMessageConfig {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      acceptAllMessageTypes?: boolean;\n      /** SMS message types accepted by the provider. only those types will be sent from Wix */\n      acceptedMessageTypes?: AcceptedSmsMessageType[];\n      /** Elaborates what media types (mime types) and sizes are supported */\n      mediaCapabilities?: MediaCapabilities;\n  }\n  enum AcceptedSmsMessageType {\n      SMS = \"SMS\",\n      MMS = \"MMS\"\n  }\n  interface ChannelBranding {\n      /** The name of the channel, e.g. `Facebook` / `SMS` */\n      displayName?: string;\n      /** Name of the channel provider (Wix, Meta, Google) */\n      providerName?: string | null;\n      /** Relevant brand icons, used when the channel is integrated */\n      brandIcons?: BrandIcons;\n  }\n  /**\n   * Brand icons required for correct channel integration\n   * todo: 1. which ones are required ?\n   * todo: 2. we may need to specify Icons specs (i.e. format and sizes)\n   */\n  interface BrandIcons {\n      default?: Icon;\n      vector?: Icon;\n      bwOutlineVector?: Icon;\n  }\n  interface Icon {\n      /** Specific Icon url */\n      url?: string | null;\n  }\n  interface ConversationLimitations {\n      /**\n       * Defines who can initiate conversation in this channel.\n       * If, `CUSTOMER` is selected, this means that only inbound\n       * messages can start a conversation (aka business can only reply and not initiate the first communication).\n       */\n      initDirection?: InitDirection;\n  }\n  enum InitDirection {\n      UNKNOWN_INIT_DIRECTION = \"UNKNOWN_INIT_DIRECTION\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\",\n      BOTH = \"BOTH\"\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** @readonly */\n      identityType?: IdentityType;\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CanSendMessageOptions {\n      to?: string | null;\n  }\n  interface SendMessageOptions {\n      to?: Recipient;\n      message?: Message;\n  }\n  interface UpdateMessageStatusOptions {\n      to?: Recipient;\n      status?: MessageStatus;\n  }\n  interface GetRecipientProfileOptions {\n      recipient?: Recipient;\n  }\n  \n  function invalidRecipient$1(data: InvalidRecipientError): BusinessError<InvalidRecipientError>;\n  \n  namespace sendMessageSpiErrors_d {\n    export {\n      invalidRecipient$1 as invalidRecipient,\n    };\n  }\n  \n  function invalidRecipient(data: InvalidRecipientError): BusinessError<InvalidRecipientError>;\n  \n  const updateMessageStatusSpiErrors_d_invalidRecipient: typeof invalidRecipient;\n  namespace updateMessageStatusSpiErrors_d {\n    export {\n      updateMessageStatusSpiErrors_d_invalidRecipient as invalidRecipient,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      sendMessageSpiErrors_d as sendMessage,\n      updateMessageStatusSpiErrors_d as updateMessageStatus,\n    };\n  }\n  \n  export { AcceptedDirectMessageType, AcceptedSmsMessageType, AnnouncementTemplate, AttachmentDisposition, BrandIcons, Button, ButtonType, CanSendAdditionalInfo, CanSendInfoType, CanSendMessageOptions, CanSendMessageRequest, CanSendMessageResponse, CardTemplate, ChannelBranding, ChannelConfiguration, ChannelConfigurationMessagingConfigOneOf, ChannelConnectionStatus, ChannelType, CommunicationChannelConfiguration, CommunicationChannelsProvider, ConnectionStatus, Context, ConversationLimitations, Coordinates, DirectMessage, DirectMessageConfig, DirectMessagePayloadOneOf, EmailAttachment, EmailContent, EmailMessage, EmailMessageConfig, EmailRecipient, ErrorCode, FailedDeliveryStatus, FeaturePeriod, FieldViolation, FormField, FormTemplate, GetChannelConnectionStatusRequest, GetChannelConnectionStatusResponse, GetQuotaInfoRequest, GetQuotaInfoResponse, GetRecipientProfileOptions, GetRecipientProfileRequest, GetRecipientProfileResponse, Icon, IdentificationData, IdentificationDataIdOneOf, IdentityType, InitDirection, InvalidRecipientError, LocationMessage, MediaCapabilities, MediaMessage, MediaMimeType, MediaSMS, Message, MessageContentOneOf, MessageDeletedStatus, MessageDeliveredStatus, MessageSeenStatus, MessageSentStatus, MessageStatus, MessageStatusContentOneOf, MessageType, Orientation, PayloadType, QuotaInfo, Recipient, RecipientProfile, RuleType, SendMessageOptions, SendMessageRequest, SendMessageResponse, SmsMessage, SmsMessageBodyOneOf, SmsMessageConfig, StatusContext, StatusType, TextMessage, TextMimeType, TextSMS, UpdateMessageStatusOptions, UpdateMessageStatusRequest, UpdateMessageStatusResponse, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-psp-v1-payment-service-provider.d.ts",
      "content": "declare module \"interfaces-psp-v1-payment-service-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface PaymentServiceProviderEntity {\n  }\n  interface ConnectAccountRequest {\n      /** Free format of the fields that describes merchant credentials for a PSP account. */\n      credentials: Record<string, string>;\n      /** The country in which the merchant will provide their services, in [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for the merchant's preferred [currency](https://en.wikipedia.org/wiki/ISO_4217). */\n      currency?: string | null;\n      /** Wix merchant ID. */\n      wixMerchantId: string;\n  }\n  interface ConnectAccountResponse {\n      /**\n       * Merchant credentials that will be used by Wix to make a payment on behalf of the merchant.\n       * The format must be specified in provider configuration.\n       */\n      credentials?: Record<string, string>;\n      /** Merchant account ID. This must not be changed over the lifetime of their account. */\n      accountId?: string;\n      /** Merchant account name. */\n      accountName?: string | null;\n      /** Reason code predefined by Wix that indicates call result. */\n      reasonCode?: number | null;\n      /** Error code specific for a Payment Service Provider. */\n      errorCode?: string | null;\n      /** Error description specific for a Payment Service Provider. */\n      errorMessage?: string | null;\n  }\n  interface CreateTransactionRequest {\n      /** Wix transaction ID. */\n      wixTransactionId: string;\n      /**\n       * Payment method supported by the payment service provider.\n       * These values will be displayed to the end-user upon checkout and will be passed to the payment service provider\n       * to understand what payment method a user selected on the Wix side.\n       */\n      paymentMethod?: string;\n      /** Payment Service Provider own credentials that were connected during the onboarding process. */\n      merchantCredentials: Record<string, string>;\n      /** Order information. */\n      order: Order;\n      /** Wix merchant ID. */\n      wixMerchantId?: string | null;\n      /** Information in case of fraud. */\n      fraudInformation?: FraudInformation;\n  }\n  interface Order {\n      /** Merchant order ID. Can be used by a merchant to correlate payment on Wix and on provider side. */\n      _id?: string | null;\n      description?: OrderDescription;\n      returnUrls?: OrderReturnUrls;\n  }\n  interface OrderDescription {\n      /**\n       * Total amount to pay in a currency’s smallest unit. In example it's a $10.00 payment.\n       * The amount includes all extra charges that are described in the order object like shipping, taxes, etc.\n       */\n      totalAmount?: string;\n      /** Code for the merchant's preferred [currency](https://en.wikipedia.org/wiki/ISO_4217). */\n      currency?: string;\n      items?: OrderItem[];\n      charges?: AdditionalCharges;\n      billingAddress?: Address;\n      shippingAddress?: Address;\n      buyerInfo?: BuyerInfo;\n  }\n  interface OrderItem {\n      /** Item ID. */\n      _id?: string | null;\n      /** Item name provided by the merchant. */\n      name?: string | null;\n      /** Item quantity. */\n      quantity?: number | null;\n      /** Item price. */\n      price?: string | null;\n      /** Item description provided by the merchant. */\n      description?: string | null;\n      /** Item weight in KG provided by the merchant. */\n      weightInKg?: number | null;\n      category?: OrderItemCategory;\n  }\n  enum OrderItemCategory {\n      undefined = \"undefined\",\n      physical = \"physical\",\n      digital = \"digital\"\n  }\n  interface AdditionalCharges {\n      /** Calculated taxes applied for the full order. */\n      tax?: string | null;\n      /** Order shipping cost. */\n      shipping?: string | null;\n      /** Discount amount applied to order. */\n      discount?: string | null;\n  }\n  interface Address {\n      /** Buyer's first name. */\n      firstName?: string | null;\n      /** Buyer's last name. */\n      lastName?: string | null;\n      /** Buyer's company name. */\n      company?: string | null;\n      /**\n       * Billing or delivery address line.\n       * This field represents a street and house number concatenation.\n       */\n      address?: string | null;\n      /** Street name. */\n      street?: string | null;\n      /** House number. */\n      houseNumber?: string | null;\n      /** City. */\n      city?: string | null;\n      /** State. */\n      state?: string | null;\n      /** Zip code. */\n      zipCode?: string | null;\n      /** Country of a buyer. */\n      countryCode?: string | null;\n      /** Phone of a buyer. */\n      phone?: string | null;\n      /** Fax of a buyer in free form format. */\n      fax?: string | null;\n      /** Email of a buyer. */\n      email?: string | null;\n      taxIdentifier?: TaxIdentifier;\n  }\n  interface TaxIdentifier {\n      /** Specific Tax id for merchant country. */\n      _id?: string;\n      /** Specific Tax type for merchant country. */\n      type?: string | null;\n  }\n  interface BuyerInfo {\n      /** Free format unique buyer identifier assigned by Wix. */\n      buyerId?: string | null;\n      /** Buyer language in [locale](https://en.wikipedia.org/wiki/Locale_(computer_software)) format. */\n      buyerLanguage?: string | null;\n  }\n  interface OrderReturnUrls {\n      /** URL destination to merchants site in case of successful payment. */\n      successUrl?: string;\n      /** URL destination to merchants site in case of failed payment. */\n      errorUrl?: string;\n      /** URL destination to merchants site in case of payment cancellation. */\n      cancelUrl?: string | null;\n      /** URL destination to merchants site in case of pending payment. */\n      pendingUrl?: string | null;\n  }\n  interface FraudInformation {\n      /** Customer (buyer) IP address. */\n      remoteIp?: string;\n  }\n  interface CreateTransactionResponse {\n      /** Transaction identifier on the side of a Payment Service Provider. */\n      pluginTransactionId?: string | null;\n      /** Reason code predefined by Wix that indicates call result. */\n      reasonCode?: number;\n      /** Error code specific for a Payment Service Provider. */\n      errorCode?: string | null;\n      /** Error description specific for a Payment Service Provider. */\n      errorMessage?: string | null;\n      /** Web page URL where a buyer can proceed with a payment. */\n      redirectUrl?: string | null;\n  }\n  interface CreateRefundRequest {\n      /** Wix transaction ID. */\n      wixTransactionId: string;\n      /** Refund ID. */\n      wixRefundId: string;\n      /** Provider transaction ID. */\n      pluginTransactionId: string;\n      /** Payment Service Provider own credentials that were connected during the onboarding process. */\n      merchantCredentials: Record<string, string>;\n      /**\n       * Total amount to pay in a currency’s smallest unit. In the example it's a $10.00 payment.\n       * The amount includes all extra charges that are described in the order object like shipping, taxes, etc.\n       */\n      refundAmount?: string;\n      /** Reason for refund. Defined by the merchant. */\n      reason?: RefundReason;\n  }\n  enum RefundReason {\n      UNKNOWN = \"UNKNOWN\",\n      DUPLICATE = \"DUPLICATE\",\n      FRAUDULENT = \"FRAUDULENT\",\n      REQUESTED_BY_CUSTOMER = \"REQUESTED_BY_CUSTOMER\"\n  }\n  interface CreateRefundResponse {\n      /** Refund identifier on the side of a *Payment Service Provider*. */\n      pluginRefundId?: string | null;\n      /** Reason code predefined by Wix that indicates call result. */\n      reasonCode?: number;\n      /** Error code specific for a Payment Service Provider. */\n      errorCode?: string | null;\n      /** Error description specific for a Payment Service Provider. */\n      errorMessage?: string | null;\n  }\n  /** Configuration for the payment service SPI implementor */\n  interface PaymentServiceProviderConfig {\n      /** Payment service provider to display on Accept payments tab in Business manager */\n      title?: string;\n      /** Available payment methods */\n      paymentMethods?: PaymentMethod[];\n      /** Provider authentication methods */\n      credentialsFields?: PaymentServiceProviderCredentialsField[];\n  }\n  interface PaymentMethod extends PaymentMethodMethodOneOf {\n      /** Information about hosted page payment method */\n      hostedPage?: HostedPage;\n  }\n  /** @oneof */\n  interface PaymentMethodMethodOneOf {\n      /** Information about hosted page payment method */\n      hostedPage?: HostedPage;\n  }\n  interface HostedPage {\n      /** The payment method title to be will be displayed on accept payments tab in business manager as well as on the checkout */\n      title?: string;\n      /** Url to images in different formats and colors */\n      logos?: Logos;\n      /** Billing address fields that buyer needs to fill in order to process payment with the specified payment method */\n      billingAddressMandatoryFields?: MandatoryField[];\n  }\n  interface Logos {\n      /** white theme logos */\n      white?: Color;\n      /** colored theme logos */\n      colored?: Color;\n  }\n  interface Color {\n      /** URL to SVG image */\n      svg?: string;\n      /** URL to PNG image */\n      png?: string;\n  }\n  enum MandatoryField {\n      ZIPCODE = \"ZIPCODE\",\n      CITY = \"CITY\",\n      STATE = \"STATE\",\n      ADDRESS = \"ADDRESS\",\n      COUNTRY_CODE = \"COUNTRY_CODE\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      STREET = \"STREET\",\n      HOUSE_NUMBER = \"HOUSE_NUMBER\",\n      TAX_IDENTIFIER = \"TAX_IDENTIFIER\"\n  }\n  interface PaymentServiceProviderCredentialsField extends PaymentServiceProviderCredentialsFieldFieldOneOf {\n      /** text field */\n      simpleField?: SimpleField;\n      /** checkbox field */\n      checkboxField?: CheckboxField;\n      /** dropdown field */\n      dropdownField?: DropdownField;\n  }\n  /** @oneof */\n  interface PaymentServiceProviderCredentialsFieldFieldOneOf {\n      /** text field */\n      simpleField?: SimpleField;\n      /** checkbox field */\n      checkboxField?: CheckboxField;\n      /** dropdown field */\n      dropdownField?: DropdownField;\n  }\n  interface SimpleField {\n      /** field name */\n      name?: string;\n      /** field label */\n      label?: string;\n  }\n  interface CheckboxField {\n      /** field name */\n      name?: string;\n      /** field label */\n      label?: string;\n      /** field tooltip */\n      tooltip?: string | null;\n  }\n  interface DropdownField {\n      /** field name */\n      name?: string;\n      /** field label */\n      label?: string;\n      /** specific options */\n      options?: DropdownFieldOption[];\n  }\n  interface DropdownFieldOption {\n      /** option key */\n      key?: string;\n      /** option value */\n      value?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ConnectAccountOptions {\n      /** Free format of the fields that describes merchant credentials for a PSP account. */\n      credentials: Record<string, string>;\n      /** The country in which the merchant will provide their services, in [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for the merchant's preferred [currency](https://en.wikipedia.org/wiki/ISO_4217). */\n      currency?: string | null;\n      /** Wix merchant ID. */\n      wixMerchantId: string;\n  }\n  interface CreateTransactionOptions {\n      /** Wix transaction ID. */\n      wixTransactionId: string;\n      /**\n       * Payment method supported by the payment service provider.\n       * These values will be displayed to the end-user upon checkout and will be passed to the payment service provider\n       * to understand what payment method a user selected on the Wix side.\n       */\n      paymentMethod?: string;\n      /** Payment Service Provider own credentials that were connected during the onboarding process. */\n      merchantCredentials: Record<string, string>;\n      /** Order information. */\n      order: Order;\n      /** Wix merchant ID. */\n      wixMerchantId?: string | null;\n      /** Information in case of fraud. */\n      fraudInformation?: FraudInformation;\n  }\n  interface RefundTransactionOptions {\n      /** Wix transaction ID. */\n      wixTransactionId: string;\n      /** Refund ID. */\n      wixRefundId: string;\n      /** Provider transaction ID. */\n      pluginTransactionId: string;\n      /** Payment Service Provider own credentials that were connected during the onboarding process. */\n      merchantCredentials: Record<string, string>;\n      /**\n       * Total amount to pay in a currency’s smallest unit. In the example it's a $10.00 payment.\n       * The amount includes all extra charges that are described in the order object like shipping, taxes, etc.\n       */\n      refundAmount?: string;\n      /** Reason for refund. Defined by the merchant. */\n      reason?: RefundReason;\n  }\n  \n  export { AdditionalCharges, Address, BusinessError, BuyerInfo, CheckboxField, Color, ConnectAccountOptions, ConnectAccountRequest, ConnectAccountResponse, Context, CreateRefundRequest, CreateRefundResponse, CreateTransactionOptions, CreateTransactionRequest, CreateTransactionResponse, DropdownField, DropdownFieldOption, FraudInformation, HostedPage, IdentificationData, IdentificationDataIdOneOf, IdentityType, Logos, MandatoryField, Order, OrderDescription, OrderItem, OrderItemCategory, OrderReturnUrls, PaymentMethod, PaymentMethodMethodOneOf, PaymentServiceProviderConfig, PaymentServiceProviderCredentialsField, PaymentServiceProviderCredentialsFieldFieldOneOf, PaymentServiceProviderEntity, RefundReason, RefundTransactionOptions, SimpleField, TaxIdentifier };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-sitetranslator-v1-translatableitem.d.ts",
      "content": "declare module \"interfaces-sitetranslator-v1-translatableitem\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface TranslatableItem {\n      /** Unique specifier of the item in the implementer */\n      _id?: string;\n      /** Value of the translatable item */\n      value?: string;\n      /** Format of the text sent to translation */\n      format?: TextFormat;\n  }\n  enum TextFormat {\n      UNKNOWN = \"UNKNOWN\",\n      TEXT = \"TEXT\",\n      RICH_CONTENT_EDITOR = \"RICH_CONTENT_EDITOR\",\n      HTML = \"HTML\"\n  }\n  interface CountNumberOfWordsRequest {\n      /** the locale on which to count number of words */\n      sourceLanguage: Locale;\n      /** the locale will be translate to (optional) */\n      targetLanguage?: Locale;\n  }\n  interface Locale {\n      /** A two-character identifier of the language */\n      language?: string;\n      /** Flag of the language. Only significant for Chinese dialects */\n      flag?: Flag;\n  }\n  enum Flag {\n      UNDEFINED_FLAG_CODE = \"UNDEFINED_FLAG_CODE\",\n      AFG = \"AFG\",\n      AGO = \"AGO\",\n      AIA = \"AIA\",\n      ALA = \"ALA\",\n      ALB = \"ALB\",\n      AND = \"AND\",\n      ARE = \"ARE\",\n      ARG = \"ARG\",\n      ARM = \"ARM\",\n      ASM = \"ASM\",\n      ATF = \"ATF\",\n      ATG = \"ATG\",\n      AUS = \"AUS\",\n      AUT = \"AUT\",\n      AZE = \"AZE\",\n      BDI = \"BDI\",\n      BEL = \"BEL\",\n      BEN = \"BEN\",\n      BES = \"BES\",\n      BFA = \"BFA\",\n      BGD = \"BGD\",\n      BGR = \"BGR\",\n      BHR = \"BHR\",\n      BHS = \"BHS\",\n      BIH = \"BIH\",\n      BLM = \"BLM\",\n      BLR = \"BLR\",\n      BLZ = \"BLZ\",\n      BMU = \"BMU\",\n      BOL = \"BOL\",\n      BRA = \"BRA\",\n      BRB = \"BRB\",\n      BRN = \"BRN\",\n      BRT = \"BRT\",\n      BTN = \"BTN\",\n      BWA = \"BWA\",\n      CAF = \"CAF\",\n      CAN = \"CAN\",\n      CAT = \"CAT\",\n      CHE = \"CHE\",\n      CHL = \"CHL\",\n      CHN = \"CHN\",\n      CIV = \"CIV\",\n      CMR = \"CMR\",\n      COD = \"COD\",\n      COG = \"COG\",\n      COL = \"COL\",\n      COM = \"COM\",\n      COR = \"COR\",\n      CPV = \"CPV\",\n      CRI = \"CRI\",\n      CUB = \"CUB\",\n      CUW = \"CUW\",\n      CYM = \"CYM\",\n      CZE = \"CZE\",\n      DEU = \"DEU\",\n      DJI = \"DJI\",\n      DMA = \"DMA\",\n      DNK = \"DNK\",\n      DOM = \"DOM\",\n      DZA = \"DZA\",\n      ECU = \"ECU\",\n      EGY = \"EGY\",\n      ERI = \"ERI\",\n      ESP = \"ESP\",\n      EST = \"EST\",\n      ETH = \"ETH\",\n      EUR = \"EUR\",\n      EUS = \"EUS\",\n      FIN = \"FIN\",\n      FJI = \"FJI\",\n      FLK = \"FLK\",\n      FRA = \"FRA\",\n      FRO = \"FRO\",\n      FSM = \"FSM\",\n      GAB = \"GAB\",\n      GBR = \"GBR\",\n      GEO = \"GEO\",\n      GGY = \"GGY\",\n      GHA = \"GHA\",\n      GIB = \"GIB\",\n      GIN = \"GIN\",\n      GLG = \"GLG\",\n      GLO = \"GLO\",\n      GLP = \"GLP\",\n      GMB = \"GMB\",\n      GNB = \"GNB\",\n      GNQ = \"GNQ\",\n      GRC = \"GRC\",\n      GRD = \"GRD\",\n      GRL = \"GRL\",\n      GTM = \"GTM\",\n      GUM = \"GUM\",\n      GUY = \"GUY\",\n      HKG = \"HKG\",\n      HND = \"HND\",\n      HRV = \"HRV\",\n      HTI = \"HTI\",\n      HUN = \"HUN\",\n      IDN = \"IDN\",\n      IMN = \"IMN\",\n      IND = \"IND\",\n      IOT = \"IOT\",\n      IRL = \"IRL\",\n      IRN = \"IRN\",\n      IRQ = \"IRQ\",\n      ISL = \"ISL\",\n      ISR = \"ISR\",\n      ITA = \"ITA\",\n      JAM = \"JAM\",\n      JEY = \"JEY\",\n      JOR = \"JOR\",\n      JPN = \"JPN\",\n      KAZ = \"KAZ\",\n      KEN = \"KEN\",\n      KGZ = \"KGZ\",\n      KHM = \"KHM\",\n      KIR = \"KIR\",\n      KNA = \"KNA\",\n      KOR = \"KOR\",\n      KUR = \"KUR\",\n      KWT = \"KWT\",\n      LAO = \"LAO\",\n      LBN = \"LBN\",\n      LBR = \"LBR\",\n      LBY = \"LBY\",\n      LCA = \"LCA\",\n      LIE = \"LIE\",\n      LKA = \"LKA\",\n      LSO = \"LSO\",\n      LTU = \"LTU\",\n      LUX = \"LUX\",\n      LVA = \"LVA\",\n      MAC = \"MAC\",\n      MAF = \"MAF\",\n      MAR = \"MAR\",\n      MCO = \"MCO\",\n      MDA = \"MDA\",\n      MDG = \"MDG\",\n      MDV = \"MDV\",\n      MEX = \"MEX\",\n      MHL = \"MHL\",\n      MKD = \"MKD\",\n      MLI = \"MLI\",\n      MLT = \"MLT\",\n      MMR = \"MMR\",\n      MNE = \"MNE\",\n      MNG = \"MNG\",\n      MNP = \"MNP\",\n      MOZ = \"MOZ\",\n      MRT = \"MRT\",\n      MSR = \"MSR\",\n      MTQ = \"MTQ\",\n      MWI = \"MWI\",\n      MYS = \"MYS\",\n      MYT = \"MYT\",\n      NAM = \"NAM\",\n      NCL = \"NCL\",\n      NER = \"NER\",\n      NFK = \"NFK\",\n      NGA = \"NGA\",\n      NIC = \"NIC\",\n      NIU = \"NIU\",\n      NLD = \"NLD\",\n      NOR = \"NOR\",\n      NPL = \"NPL\",\n      NRU = \"NRU\",\n      NZL = \"NZL\",\n      OMN = \"OMN\",\n      PAK = \"PAK\",\n      PAN = \"PAN\",\n      PCN = \"PCN\",\n      PER = \"PER\",\n      PHL = \"PHL\",\n      PLW = \"PLW\",\n      PNG = \"PNG\",\n      POL = \"POL\",\n      PRI = \"PRI\",\n      PRK = \"PRK\",\n      PRT = \"PRT\",\n      PRY = \"PRY\",\n      PSE = \"PSE\",\n      PYF = \"PYF\",\n      QAT = \"QAT\",\n      REU = \"REU\",\n      ROU = \"ROU\",\n      RUS = \"RUS\",\n      RWA = \"RWA\",\n      SAU = \"SAU\",\n      SDN = \"SDN\",\n      SEN = \"SEN\",\n      SGP = \"SGP\",\n      SGS = \"SGS\",\n      SHN = \"SHN\",\n      SJM = \"SJM\",\n      SLB = \"SLB\",\n      SLE = \"SLE\",\n      SLV = \"SLV\",\n      SMR = \"SMR\",\n      SOM = \"SOM\",\n      SPM = \"SPM\",\n      SRB = \"SRB\",\n      SSD = \"SSD\",\n      STP = \"STP\",\n      SUR = \"SUR\",\n      SVK = \"SVK\",\n      SVN = \"SVN\",\n      SWE = \"SWE\",\n      SWZ = \"SWZ\",\n      SXM = \"SXM\",\n      SYC = \"SYC\",\n      SYR = \"SYR\",\n      TCA = \"TCA\",\n      TCD = \"TCD\",\n      TGO = \"TGO\",\n      THA = \"THA\",\n      TJK = \"TJK\",\n      TKL = \"TKL\",\n      TKM = \"TKM\",\n      TLS = \"TLS\",\n      TON = \"TON\",\n      TTO = \"TTO\",\n      TUN = \"TUN\",\n      TUR = \"TUR\",\n      TUV = \"TUV\",\n      TWN = \"TWN\",\n      TZA = \"TZA\",\n      UGA = \"UGA\",\n      UKR = \"UKR\",\n      URY = \"URY\",\n      USA = \"USA\",\n      UZB = \"UZB\",\n      VAT = \"VAT\",\n      VCT = \"VCT\",\n      VEN = \"VEN\",\n      VGB = \"VGB\",\n      VIR = \"VIR\",\n      VLC = \"VLC\",\n      VNM = \"VNM\",\n      VUT = \"VUT\",\n      WLF = \"WLF\",\n      WLS = \"WLS\",\n      YEM = \"YEM\",\n      ZAF = \"ZAF\",\n      ZMB = \"ZMB\",\n      ZWE = \"ZWE\"\n  }\n  interface CountNumberOfWordsResponse {\n      /** count of all source_language words */\n      allNumberOfWords?: number;\n      /** count of all source_language items */\n      allNumberOfItems?: number;\n      /** count of translated to target_language words */\n      translatedNumberOfWords?: number;\n      /** count of translated to target_language items */\n      translatedNumberOfItems?: number;\n      /** translatable properties distributed be application */\n      properties?: ApplicationProperties[];\n  }\n  interface ApplicationProperties {\n      /** Unique identifier of application ID */\n      appId?: string;\n      /** count of all source_language words of a specific application */\n      allNumberOfWords?: number;\n      /** count of all source_language items of a specific application */\n      allNumberOfItems?: number;\n      /** count of translated to target_language words of a specific application */\n      translatedNumberOfWords?: number;\n      /** count of translated to target_language items of a specific application */\n      translatedNumberOfItems?: number;\n  }\n  interface ReadContentRequest {\n      /** The locale of the requested items */\n      sourceLanguage: Locale;\n      /** the locale will be translate to (optional) */\n      targetLanguage?: Locale;\n      /** Paging options. */\n      paging?: Paging;\n      /** Specific app ids to get their data; */\n      include?: IncludedAppIds;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface IncludedAppIds {\n      appIds?: string[];\n  }\n  interface ReadContentResponse {\n      /** items to be translated */\n      items?: TranslatableItem[];\n  }\n  interface UpdateContentRequest {\n      /** The locale to update items */\n      language: Locale;\n      /** items to be updated */\n      items?: TranslatableItem[];\n  }\n  interface UpdateContentResponse {\n  }\n  interface ContentProviderConfig {\n      /** a human readable name of the provider */\n      providerName?: string;\n      /** the maximum items allowed to read and update in a single request */\n      maximumReadingBulkSize?: number | null;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CountNumberOfWordsOptions {\n      /** the locale on which to count number of words */\n      sourceLanguage: Locale;\n      /** the locale will be translate to (optional) */\n      targetLanguage?: Locale;\n  }\n  interface ReadContentOptions {\n      /** The locale of the requested items */\n      sourceLanguage: Locale;\n      /** the locale will be translate to (optional) */\n      targetLanguage?: Locale;\n      /** Paging options. */\n      paging?: Paging;\n      /** Specific app ids to get their data; */\n      include?: IncludedAppIds;\n  }\n  interface UpdateContentOptions {\n      /** The locale to update items */\n      language: Locale;\n      /** items to be updated */\n      items?: TranslatableItem[];\n  }\n  \n  export { ApplicationProperties, BusinessError, ContentProviderConfig, Context, CountNumberOfWordsOptions, CountNumberOfWordsRequest, CountNumberOfWordsResponse, Flag, IdentificationData, IdentificationDataIdOneOf, IdentityType, IncludedAppIds, Locale, Paging, ReadContentOptions, ReadContentRequest, ReadContentResponse, TextFormat, TranslatableItem, UpdateContentOptions, UpdateContentRequest, UpdateContentResponse };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/portfolio-syncedprojects-v1-project.d.ts",
      "content": "declare module \"portfolio-syncedprojects-v1-project\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface Project {\n      /** External Project ID */\n      externalId?: string;\n      /** Project name */\n      title?: string | null;\n      /** Project description */\n      description?: string | null;\n      /** Project addition key-value data */\n      additionalPublicInfo?: Record<string, string>;\n      /** Project media count */\n      mediaCount?: number;\n      /** project image url */\n      coverImage?: string | null;\n      /** project url in external */\n      link?: string | null;\n      /** Project source description as appear in Dashboard project page */\n      sourceDescription?: string | null;\n      /** cover photo's file name in the provider */\n      coverImageFileName?: string | null;\n      /** project's cover image id */\n      externalCoverImageId?: string | null;\n  }\n  interface GetProjectsRequest {\n      /** Filter Designs by pages. Designs are sorted */\n      paging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface GetProjectsResponse {\n      /** Projects */\n      projects?: Project[];\n      /** projects paging metadata */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UserUnauthorizedError {\n      /** provider appDefId */\n      appDefId?: string;\n  }\n  interface DataNotReady {\n      /** provider appDefId */\n      appDefId?: string;\n  }\n  interface RateLimitExceeded {\n      /** provider appDefId */\n      appDefId?: string;\n  }\n  interface SyncProjectRequest {\n      /** External Project ID */\n      externalId: string;\n      /** if need to get the next items page that just asked for sync */\n      itemsPaging?: CursorPaging;\n  }\n  interface SyncProjectResponse {\n      /** project */\n      project?: Project;\n      items?: Item[];\n      /** items paging metadata */\n      metadata?: PagingMetadataV2;\n  }\n  interface Item {\n      /** External media ID */\n      externalId?: string;\n      /** External Project ID */\n      externalProjectId?: string;\n      /** Item name */\n      title?: string | null;\n      /** Item description */\n      description?: string | null;\n      /** image or video */\n      type?: MediaType;\n      /** Item image url */\n      mediaUrl?: string | null;\n      /** Item tags */\n      tags?: string[];\n      /** Media's file name in the provider */\n      fileName?: string | null;\n  }\n  enum MediaType {\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\"\n  }\n  interface StopSyncRequest {\n      /** External Project ID */\n      externalId: string;\n  }\n  interface StopSyncResponse {\n      /** External Project ID */\n      externalId?: string;\n  }\n  interface GetLoginRedirectableUrlRequest {\n  }\n  interface GetLoginRedirectableUrlResponse {\n      url?: string;\n  }\n  interface SyncedProjectsProviderConfig {\n      /** The Provider Name */\n      providerName?: string;\n      /** which project's fields are fully synced by the provider, and therefore will not be editable through Wix Portfolio project page. */\n      projectSyncedFields?: string[];\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetProjectsOptions {\n      /** Filter Designs by pages. Designs are sorted */\n      paging?: CursorPaging;\n  }\n  interface SyncProjectOptions {\n      /** if need to get the next items page that just asked for sync */\n      itemsPaging?: CursorPaging;\n  }\n  \n  function unauthenticated$2(data: UserUnauthorizedError): BusinessError<UserUnauthorizedError>;\n  function dataNotReady$1(data: DataNotReady): BusinessError<DataNotReady>;\n  function rateLimitExceeded$2(data: RateLimitExceeded): BusinessError<RateLimitExceeded>;\n  \n  namespace getProjectsSpiErrors_d {\n    export {\n      unauthenticated$2 as unauthenticated,\n      dataNotReady$1 as dataNotReady,\n      rateLimitExceeded$2 as rateLimitExceeded,\n    };\n  }\n  \n  function unauthenticated$1(data: UserUnauthorizedError): BusinessError<UserUnauthorizedError>;\n  function dataNotReady(data: DataNotReady): BusinessError<DataNotReady>;\n  function rateLimitExceeded$1(data: RateLimitExceeded): BusinessError<RateLimitExceeded>;\n  \n  const syncProjectSpiErrors_d_dataNotReady: typeof dataNotReady;\n  namespace syncProjectSpiErrors_d {\n    export {\n      unauthenticated$1 as unauthenticated,\n      syncProjectSpiErrors_d_dataNotReady as dataNotReady,\n      rateLimitExceeded$1 as rateLimitExceeded,\n    };\n  }\n  \n  function unauthenticated(data: UserUnauthorizedError): BusinessError<UserUnauthorizedError>;\n  function rateLimitExceeded(data: RateLimitExceeded): BusinessError<RateLimitExceeded>;\n  \n  const stopSyncSpiErrors_d_unauthenticated: typeof unauthenticated;\n  const stopSyncSpiErrors_d_rateLimitExceeded: typeof rateLimitExceeded;\n  namespace stopSyncSpiErrors_d {\n    export {\n      stopSyncSpiErrors_d_unauthenticated as unauthenticated,\n      stopSyncSpiErrors_d_rateLimitExceeded as rateLimitExceeded,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      getProjectsSpiErrors_d as getProjects,\n      syncProjectSpiErrors_d as syncProject,\n      stopSyncSpiErrors_d as stopSync,\n    };\n  }\n  \n  export { BusinessError, Context, CursorPaging, Cursors, DataNotReady, GetLoginRedirectableUrlRequest, GetLoginRedirectableUrlResponse, GetProjectsOptions, GetProjectsRequest, GetProjectsResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, Item, MediaType, PagingMetadataV2, Project, RateLimitExceeded, StopSyncRequest, StopSyncResponse, SyncProjectOptions, SyncProjectRequest, SyncProjectResponse, SyncedProjectsProviderConfig, UserUnauthorizedError, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-applications-backend.d.ts",
      "content": "declare module \"wix-recruitment-agencies-applications-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface AgencyApplication {\n      /** Candidate's name */\n      candidateFirstName?: string;\n      /** Candidate's name */\n      candidateLastName?: string;\n      /** Candidate's email */\n      candidateEmail?: string;\n      /** Candidate's application short (4 digits) number */\n      positionNum?: number;\n      /** Candidate's applications title (posting title in People system) */\n      positionTitle?: string;\n      /** Hiring process short status */\n      status?: HiringProcessStatusEnum;\n      /** Hiring process long status */\n      statusV2?: HiringProcessStatusV2Enum;\n      /** Hiring process source - where the process initiated from */\n      source?: Source;\n      /**\n       * PostingId in people system\n       * @readonly\n       */\n      postingId?: string;\n      /** is eligible for repeated application */\n      isEligibleForRepeatedApplication?: boolean;\n      /** @readonly */\n      _id?: string;\n  }\n  interface HiringProcessStatusEnum {\n      /** Hiring process status */\n      status?: HiringProcessStatus;\n  }\n  enum HiringProcessStatus {\n      ACTIVE = \"ACTIVE\",\n      REJECTED = \"REJECTED\",\n      HIRED = \"HIRED\"\n  }\n  interface HiringProcessStatusV2Enum {\n      /** Hiring process status */\n      status?: HiringProcessStatusV2;\n  }\n  enum HiringProcessStatusV2 {\n      ACTIVE = \"ACTIVE\",\n      AWAITING_REJECTION_NOTIFICATION = \"AWAITING_REJECTION_NOTIFICATION\",\n      REJECTED = \"REJECTED\",\n      KEPT_FOR_LATER = \"KEPT_FOR_LATER\",\n      MOVED_FOR_ANOTHER_POSITION = \"MOVED_FOR_ANOTHER_POSITION\",\n      HIRED = \"HIRED\",\n      HIRED_FOR_ANOTHER_POSITION = \"HIRED_FOR_ANOTHER_POSITION\",\n      STARTED_INTERNAL_PROCESS = \"STARTED_INTERNAL_PROCESS\"\n  }\n  interface Source extends SourceValueOneOf {\n      /** source type, available values defined in People system */\n      type?: string;\n      /** source type is referral */\n      referral?: Referral;\n      /** source type is value selected from list */\n      select?: Select;\n      /** source type is unstructured text */\n      text?: Text;\n  }\n  /** @oneof */\n  interface SourceValueOneOf {\n      /** source type is referral */\n      referral?: Referral;\n      /** source type is value selected from list */\n      select?: Select;\n      /** source type is unstructured text */\n      text?: Text;\n  }\n  interface Referral {\n      _id?: string;\n  }\n  interface Select {\n      /** available options to select */\n      option?: string[];\n  }\n  interface Text {\n      /** select values */\n      text?: string;\n  }\n  interface GetAgencyApplicationsRequest {\n  }\n  interface GetAgencyApplicationsResponse {\n      /** agency applications of applicants */\n      application?: AgencyApplication[];\n  }\n  /** GetAgencyPositions return application for agency */\n  function getAgencyApplications(): Promise<GetAgencyApplicationsResponse>;\n  \n  const peopleAgenciesPortalV1AgencyApplication_universal_d___debug: typeof __debug;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_AgencyApplication = AgencyApplication;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_HiringProcessStatusEnum = HiringProcessStatusEnum;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_HiringProcessStatus = HiringProcessStatus;\n  const peopleAgenciesPortalV1AgencyApplication_universal_d_HiringProcessStatus: typeof HiringProcessStatus;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_HiringProcessStatusV2Enum = HiringProcessStatusV2Enum;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_HiringProcessStatusV2 = HiringProcessStatusV2;\n  const peopleAgenciesPortalV1AgencyApplication_universal_d_HiringProcessStatusV2: typeof HiringProcessStatusV2;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_Source = Source;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_SourceValueOneOf = SourceValueOneOf;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_Referral = Referral;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_Select = Select;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_Text = Text;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_GetAgencyApplicationsRequest = GetAgencyApplicationsRequest;\n  type peopleAgenciesPortalV1AgencyApplication_universal_d_GetAgencyApplicationsResponse = GetAgencyApplicationsResponse;\n  const peopleAgenciesPortalV1AgencyApplication_universal_d_getAgencyApplications: typeof getAgencyApplications;\n  namespace peopleAgenciesPortalV1AgencyApplication_universal_d {\n    export {\n      peopleAgenciesPortalV1AgencyApplication_universal_d___debug as __debug,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_AgencyApplication as AgencyApplication,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_HiringProcessStatusEnum as HiringProcessStatusEnum,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_HiringProcessStatus as HiringProcessStatus,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_HiringProcessStatusV2Enum as HiringProcessStatusV2Enum,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_HiringProcessStatusV2 as HiringProcessStatusV2,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_Source as Source,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_SourceValueOneOf as SourceValueOneOf,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_Referral as Referral,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_Select as Select,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_Text as Text,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_GetAgencyApplicationsRequest as GetAgencyApplicationsRequest,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_GetAgencyApplicationsResponse as GetAgencyApplicationsResponse,\n      peopleAgenciesPortalV1AgencyApplication_universal_d_getAgencyApplications as getAgencyApplications,\n    };\n  }\n  \n  export { peopleAgenciesPortalV1AgencyApplication_universal_d as recruitmentAgenciesApplications };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-info-backend.d.ts",
      "content": "declare module \"wix-recruitment-agencies-info-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Agency {\n      /** @readonly */\n      _id?: string;\n      /** agency user */\n      agencyUser?: AgencyUser;\n      /** is this message for production or for testing? */\n      production?: boolean;\n      /** tenant id */\n      tenantId?: string;\n  }\n  interface AgencyUser {\n      /** agency user's email */\n      email?: string;\n      /** agency user's name */\n      firstName?: string;\n      /** agency user's name */\n      lastName?: string;\n      /** is agency user active? */\n      isActive?: boolean;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      entityUpdates?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent {\n      currentEntityAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface GetAgencyInfoRequest {\n  }\n  interface GetAgencyInfoResponse {\n      /** agency info of current user */\n      agency?: Agency;\n  }\n  /**\n   * GetAgencyInfo returns current agency info\n   * @internal\n   * @documentationMaturity preview\n   */\n  function getAgencyInfo(): Promise<GetAgencyInfoResponse>;\n  \n  const peopleAgenciesPortalV1Agency_universal_d___debug: typeof __debug;\n  type peopleAgenciesPortalV1Agency_universal_d_Agency = Agency;\n  type peopleAgenciesPortalV1Agency_universal_d_AgencyUser = AgencyUser;\n  type peopleAgenciesPortalV1Agency_universal_d_DomainEvent = DomainEvent;\n  type peopleAgenciesPortalV1Agency_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type peopleAgenciesPortalV1Agency_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type peopleAgenciesPortalV1Agency_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type peopleAgenciesPortalV1Agency_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type peopleAgenciesPortalV1Agency_universal_d_ActionEvent = ActionEvent;\n  type peopleAgenciesPortalV1Agency_universal_d_ExtendedFieldsUpdatedEvent = ExtendedFieldsUpdatedEvent;\n  type peopleAgenciesPortalV1Agency_universal_d_Empty = Empty;\n  type peopleAgenciesPortalV1Agency_universal_d_GetAgencyInfoRequest = GetAgencyInfoRequest;\n  type peopleAgenciesPortalV1Agency_universal_d_GetAgencyInfoResponse = GetAgencyInfoResponse;\n  const peopleAgenciesPortalV1Agency_universal_d_getAgencyInfo: typeof getAgencyInfo;\n  namespace peopleAgenciesPortalV1Agency_universal_d {\n    export {\n      peopleAgenciesPortalV1Agency_universal_d___debug as __debug,\n      peopleAgenciesPortalV1Agency_universal_d_Agency as Agency,\n      peopleAgenciesPortalV1Agency_universal_d_AgencyUser as AgencyUser,\n      peopleAgenciesPortalV1Agency_universal_d_DomainEvent as DomainEvent,\n      peopleAgenciesPortalV1Agency_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      peopleAgenciesPortalV1Agency_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      peopleAgenciesPortalV1Agency_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      peopleAgenciesPortalV1Agency_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      peopleAgenciesPortalV1Agency_universal_d_ActionEvent as ActionEvent,\n      peopleAgenciesPortalV1Agency_universal_d_ExtendedFieldsUpdatedEvent as ExtendedFieldsUpdatedEvent,\n      peopleAgenciesPortalV1Agency_universal_d_Empty as Empty,\n      peopleAgenciesPortalV1Agency_universal_d_GetAgencyInfoRequest as GetAgencyInfoRequest,\n      peopleAgenciesPortalV1Agency_universal_d_GetAgencyInfoResponse as GetAgencyInfoResponse,\n      peopleAgenciesPortalV1Agency_universal_d_getAgencyInfo as getAgencyInfo,\n    };\n  }\n  \n  export { peopleAgenciesPortalV1Agency_universal_d as recruitmentAgenciesInfo };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend-poc.v2.d.ts",
      "content": "declare module \"wix-stores-backend-poc.v2\" {\n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Collection {\n      /**\n       * Collection ID (generated automatically by the catalog)\n       * @readonly\n       */\n      _id?: string | null;\n      /** Collection name */\n      name?: string | null;\n      /**\n       * Media items (images, videos etc) associated with this collection. Read only.\n       * @readonly\n       */\n      media?: Media$1;\n      /**\n       * Number of products in the collection. Read only.\n       * @readonly\n       */\n      numberOfProducts?: number;\n      /** Collection description. The description length without HTML must not exceed 2000 characters (10K includes HTML) */\n      description?: string | null;\n      /** Collection slug */\n      slug?: string | null;\n      /** Collection visibility. Only impacts dynamic pages, no impact on static pages */\n      visible?: boolean | null;\n  }\n  interface Media$1 {\n      /** Primary media (image, video etc) associated with this product. */\n      mainMedia?: MediaItem$1;\n      /** Media (images, videos etc) associated with this product. */\n      items?: MediaItem$1[];\n  }\n  interface MediaItem$1 extends MediaItemItemOneOf$1 {\n      /** Media item thumbnail details. */\n      thumbnail?: MediaItemUrlAndSize$1;\n      /** Media item type (image, video, etc.). */\n      mediaType?: MediaItemType$1;\n      /** Media item title. */\n      title?: string;\n      /** Media ID (for example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`). */\n      _id?: string;\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize$1;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo$1;\n  }\n  /** @oneof */\n  interface MediaItemItemOneOf$1 {\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize$1;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo$1;\n  }\n  interface MediaItemUrlAndSize$1 {\n      /** Media item URL. */\n      url?: string;\n      /** Media item width. */\n      width?: number;\n      /** Media item height. */\n      height?: number;\n      /** Media format (mp4, png, etc.). */\n      format?: string | null;\n      /** Alt text. This text will be shown in case the image is not available. */\n      altText?: string | null;\n  }\n  enum MediaItemType$1 {\n      unspecified_media_item_type = \"unspecified_media_item_type\",\n      image = \"image\",\n      video = \"video\",\n      audio = \"audio\",\n      document = \"document\",\n      zip = \"zip\"\n  }\n  interface MediaItemVideo$1 {\n      /** Data (URL, size) about each resolution for which this video is available. */\n      files?: MediaItemUrlAndSize$1[];\n      /** ID of an image taken from the video. Used primarily for Wix Search indexing. For example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`. */\n      stillFrameMediaId?: string;\n  }\n  interface GetCollectionRequest {\n      /** Requested collection ID. */\n      collectionId: string;\n      /**\n       * Whether to return the `collection.numberOfProducts` field in the response.\n       * Defaults to false, in which case the value of `collection.numberOfProducts` will be 0.\n       */\n      includeNumberOfProducts?: boolean;\n      /** Include description in response. When False, description will be null */\n      includeDescription?: boolean;\n  }\n  interface GetCollectionResponse {\n      collection?: Collection;\n  }\n  interface QueryCollectionsRequest {\n      query?: PlatformQuery$1;\n      /** Whether number of products should be included in the response. */\n      includeNumberOfProducts?: boolean;\n      /** Include description in response. When False, description will be null */\n      includeDescription?: boolean;\n  }\n  interface PlatformQuery$1 extends PlatformQueryPagingMethodOneOf$1 {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n      sort?: Sorting$1[];\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging$1;\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf$1 {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryCollectionsResponse {\n      collections?: Collection[];\n      metadata?: PlatformPagingMetadata$1;\n  }\n  interface PlatformPagingMetadata$1 {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /** The offset which was requested. Returned if offset paging was used. */\n      offset?: number | null;\n      /** The total number of items that match the query. Returned if offset paging was used. */\n      total?: number | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used. */\n      cursors?: Cursors$1;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  /** @param collectionId - Requested collection ID.\n   * @public\n   * @requiredField collectionId\n   */\n  function getCollection(collectionId: string, options?: GetCollectionOptions): Promise<Collection>;\n  interface GetCollectionOptions {\n      /**\n       * Whether to return the `collection.numberOfProducts` field in the response.\n       * Defaults to false, in which case the value of `collection.numberOfProducts` will be 0.\n       */\n      includeNumberOfProducts?: boolean;\n      /** Include description in response. When False, description will be null */\n      includeDescription?: boolean;\n  }\n  /** @public */\n  function queryCollections(): CollectionsQueryBuilder;\n  interface QueryOffsetResult$1 {\n      currentPage: number;\n      totalPages: number;\n      totalCount: number;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CollectionsQueryResult extends QueryOffsetResult$1 {\n      items: Collection[];\n      query: CollectionsQueryBuilder;\n      next: () => Promise<CollectionsQueryResult>;\n      prev: () => Promise<CollectionsQueryResult>;\n  }\n  interface CollectionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: string, value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: string, value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: string, value: string) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: string, value: any[]) => CollectionsQueryBuilder;\n      in: (propertyName: string, value: any) => CollectionsQueryBuilder;\n      exists: (propertyName: string, value: boolean) => CollectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: string[]) => CollectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: string[]) => CollectionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => CollectionsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => CollectionsQueryBuilder;\n      find: () => Promise<CollectionsQueryResult>;\n  }\n  \n  type storesPocV1Collection_universal_d_Collection = Collection;\n  type storesPocV1Collection_universal_d_GetCollectionRequest = GetCollectionRequest;\n  type storesPocV1Collection_universal_d_GetCollectionResponse = GetCollectionResponse;\n  type storesPocV1Collection_universal_d_QueryCollectionsRequest = QueryCollectionsRequest;\n  type storesPocV1Collection_universal_d_QueryCollectionsResponse = QueryCollectionsResponse;\n  const storesPocV1Collection_universal_d_getCollection: typeof getCollection;\n  type storesPocV1Collection_universal_d_GetCollectionOptions = GetCollectionOptions;\n  const storesPocV1Collection_universal_d_queryCollections: typeof queryCollections;\n  type storesPocV1Collection_universal_d_CollectionsQueryResult = CollectionsQueryResult;\n  type storesPocV1Collection_universal_d_CollectionsQueryBuilder = CollectionsQueryBuilder;\n  namespace storesPocV1Collection_universal_d {\n    export {\n      __debug$1 as __debug,\n      storesPocV1Collection_universal_d_Collection as Collection,\n      Media$1 as Media,\n      MediaItem$1 as MediaItem,\n      MediaItemItemOneOf$1 as MediaItemItemOneOf,\n      MediaItemUrlAndSize$1 as MediaItemUrlAndSize,\n      MediaItemType$1 as MediaItemType,\n      MediaItemVideo$1 as MediaItemVideo,\n      storesPocV1Collection_universal_d_GetCollectionRequest as GetCollectionRequest,\n      storesPocV1Collection_universal_d_GetCollectionResponse as GetCollectionResponse,\n      storesPocV1Collection_universal_d_QueryCollectionsRequest as QueryCollectionsRequest,\n      PlatformQuery$1 as PlatformQuery,\n      PlatformQueryPagingMethodOneOf$1 as PlatformQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      PlatformPaging$1 as PlatformPaging,\n      storesPocV1Collection_universal_d_QueryCollectionsResponse as QueryCollectionsResponse,\n      PlatformPagingMetadata$1 as PlatformPagingMetadata,\n      Cursors$1 as Cursors,\n      storesPocV1Collection_universal_d_getCollection as getCollection,\n      storesPocV1Collection_universal_d_GetCollectionOptions as GetCollectionOptions,\n      storesPocV1Collection_universal_d_queryCollections as queryCollections,\n      storesPocV1Collection_universal_d_CollectionsQueryResult as CollectionsQueryResult,\n      storesPocV1Collection_universal_d_CollectionsQueryBuilder as CollectionsQueryBuilder,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Product {\n      /**\n       * Product ID (generated automatically by the catalog).\n       * @readonly\n       */\n      _id?: string;\n      /** Product name. */\n      name?: string | null;\n      /** A friendly URL name (generated automatically by the catalog when a product is created), can be updated. */\n      slug?: string;\n      /** Whether the product is visible to site visitors. */\n      visible?: boolean | null;\n      /** Currently, only creating physical products ( `\"productType\": \"physical\"` ) is supported via the API. */\n      productType?: ProductType;\n      /** Product description. Accepts [rich text](https://dev.wix.com/api/rest/wix-stores/rich-text). */\n      description?: string | null;\n      /** Stock keeping unit (if variant management is enabled, SKUs will be set per variant, and this field will be empty). */\n      sku?: string | null;\n      /** Product weight (if variant management is enabled, weight will be set per variant, and this field will be empty). */\n      weight?: number | null;\n      /**\n       * Product weight range. The minimum and maximum weights of all the variants.\n       * com.wix.ecommerce.catalog_spi.api.v1.NumericPropertyRange weight_range = 32 [(wix.api.readOnly) = true];\n       * Product inventory status (in future this will be writable via Inventory API).\n       * @readonly\n       */\n      stock?: Stock;\n      /**\n       * Deprecated (use `priceData` instead).\n       * @readonly\n       */\n      price?: PriceData;\n      /** Price data. */\n      priceData?: PriceData;\n      /**\n       * Price data, converted to the currency specified in request header.\n       * @readonly\n       */\n      convertedPriceData?: PriceData;\n      /**\n       * Product price range. The minimum and maximum prices of all the variants.\n       * com.wix.ecommerce.catalog_spi.api.v1.NumericPropertyRange price_range = 31 [(wix.api.readOnly) = true];\n       * Cost and profit data.\n       */\n      costAndProfitData?: CostAndProfitData;\n      /**\n       * Product cost range. The minimum and maximum costs of all the variants.\n       * com.wix.ecommerce.catalog_spi.api.v1.NumericPropertyRange cost_range = 33 [(wix.api.readOnly) = true];\n       * Price per unit data.\n       */\n      pricePerUnitData?: PricePerUnitData;\n      /**\n       * Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.). Currently writable only from the UI.\n       * @readonly\n       */\n      additionalInfoSections?: AdditionalInfoSection[];\n      /**\n       * Deprecated (use `ribbon` instead).\n       * @readonly\n       */\n      ribbons?: Ribbon[];\n      /**\n       * Media items (images, videos etc) associated with this product (writable via [Add Product Media](https://dev.wix.com/api/rest/wix-stores/catalog/products/add-product-media) endpoint).\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI.\n       * @readonly\n       */\n      customTextFields?: CustomTextField[];\n      /** Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data. */\n      manageVariants?: boolean | null;\n      /** Options (color, size, etc) for this product. */\n      productOptions?: ProductOption[];\n      /**\n       * Product page URL for this product (generated automatically by the server).\n       * @readonly\n       */\n      productPageUrl?: PageUrl;\n      /**\n       * Product’s unique numeric ID (assigned in ascending order).\n       * Primarily used for sorting and filtering when crawling all products.\n       * @readonly\n       */\n      numericId?: string;\n      /**\n       * Inventory item ID - ID referencing the inventory system.\n       * @readonly\n       */\n      inventoryItemId?: string;\n      /** Discount deducted from the product's original price. */\n      discount?: Discount;\n      /**\n       * A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).\n       * @readonly\n       */\n      collectionIds?: string[];\n      /**\n       * Product variants, will be provided if the the request was sent with the includeVariants flag.\n       * @readonly\n       */\n      variants?: Variant[];\n      /**\n       * Date and time the product was last updated.\n       * google.protobuf.Timestamp last_updated = 24 [(wix.api.readOnly) = true];\n       * Date and time the product was created.\n       * google.protobuf.Timestamp created_date = 34 [(wix.api.readOnly) = true];\n       * Custom SEO data for the product.\n       * com.wixpress.advanced.seo.SeoSchema seo_data = 27;\n       * Product ribbon. Used to highlight relevant information about a product. For example, \"Sale\", \"New Arrival\", \"Sold Out\".\n       */\n      ribbon?: string | null;\n      /** Product brand. Including a brand name can help improve site and product [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores). */\n      brand?: string | null;\n      /**\n       * tax group id\n       * @internal\n       * @readonly\n       */\n      taxGroupId?: string | null;\n      /**\n       * internal field used by import/export to know how to link products in csv file to product ids\n       * @internal\n       * @readonly\n       */\n      exportProductId?: string;\n  }\n  enum ProductType {\n      unspecified_product_type = \"unspecified_product_type\",\n      physical = \"physical\",\n      digital = \"digital\"\n  }\n  interface Stock {\n      /** Whether inventory is being tracked */\n      trackInventory?: boolean;\n      /** Quantity currently left in inventory */\n      quantity?: number | null;\n      /**\n       * Whether the product is currently in stock (relevant only when tracking manually)\n       * Deprecated (use `inventoryStatus` instead)\n       */\n      inStock?: boolean;\n      /**\n       * The current status of the inventory\n       * + `IN_STOCK` - In stock\n       * + `OUT_OF_STOCK` - Not in stock\n       * + `PARTIALLY_OUT_OF_STOCK` - Some of the variants are not in stock\n       */\n      inventoryStatus?: InventoryStatus;\n  }\n  enum InventoryStatus {\n      IN_STOCK = \"IN_STOCK\",\n      OUT_OF_STOCK = \"OUT_OF_STOCK\",\n      PARTIALLY_OUT_OF_STOCK = \"PARTIALLY_OUT_OF_STOCK\"\n  }\n  interface PriceData {\n      /**\n       * Product price currency\n       * @readonly\n       */\n      currency?: string;\n      /** Product price */\n      price?: number | null;\n      /**\n       * Discounted product price (if no discounted price is set, the product price is returned)\n       * @readonly\n       */\n      discountedPrice?: number;\n      /**\n       * The product price and discounted price, formatted with the currency\n       * @readonly\n       */\n      formatted?: FormattedPrice;\n      /**\n       * Price per unit\n       * @readonly\n       */\n      pricePerUnit?: number | null;\n  }\n  interface FormattedPrice {\n      /** Product price formatted with the currency */\n      price?: string;\n      /** Discounted product price formatted with the currency (if no discounted price is set, the product formatted price is returned) */\n      discountedPrice?: string;\n      /**\n       * Price per unit\n       * @readonly\n       */\n      pricePerUnit?: string | null;\n  }\n  interface CostAndProfitData {\n      /** Item cost. */\n      itemCost?: number | null;\n      /**\n       * Item cost formatted with currency symbol.\n       * @readonly\n       */\n      formattedItemCost?: string;\n      /**\n       * Profit. Calculated by reducing `cost` from `discounted_price`.\n       * @readonly\n       */\n      profit?: number;\n      /**\n       * Profit formatted with currency symbol.\n       * @readonly\n       */\n      formattedProfit?: string;\n      /**\n       * Profit Margin. Calculated by dividing `profit` by `discounted_price`.\n       * The result is rounded to 4 decimal places.\n       * @readonly\n       */\n      profitMargin?: number;\n  }\n  interface PricePerUnitData {\n      /** Total quantity */\n      totalQuantity?: number;\n      /** Total measurement unit */\n      totalMeasurementUnit?: MeasurementUnit;\n      /** Base quantity */\n      baseQuantity?: number;\n      /** Base measurement unit */\n      baseMeasurementUnit?: MeasurementUnit;\n  }\n  enum MeasurementUnit {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      ML = \"ML\",\n      CL = \"CL\",\n      L = \"L\",\n      CBM = \"CBM\",\n      MG = \"MG\",\n      G = \"G\",\n      KG = \"KG\",\n      MM = \"MM\",\n      CM = \"CM\",\n      M = \"M\",\n      SQM = \"SQM\",\n      OZ = \"OZ\",\n      LB = \"LB\",\n      FLOZ = \"FLOZ\",\n      PT = \"PT\",\n      QT = \"QT\",\n      GAL = \"GAL\",\n      IN = \"IN\",\n      FT = \"FT\",\n      YD = \"YD\",\n      SQFT = \"SQFT\"\n  }\n  interface AdditionalInfoSection {\n      /** Product info section title */\n      title?: string;\n      /** Product info section description */\n      description?: string;\n  }\n  interface Ribbon {\n      /** Ribbon text */\n      text?: string;\n  }\n  interface Media {\n      /** Primary media (image, video etc) associated with this product. */\n      mainMedia?: MediaItem;\n      /** Media (images, videos etc) associated with this product. */\n      items?: MediaItem[];\n  }\n  interface MediaItem extends MediaItemItemOneOf {\n      /** Media item thumbnail details. */\n      thumbnail?: MediaItemUrlAndSize;\n      /** Media item type (image, video, etc.). */\n      mediaType?: MediaItemType;\n      /** Media item title. */\n      title?: string;\n      /** Media ID (for example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`). */\n      _id?: string;\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo;\n  }\n  /** @oneof */\n  interface MediaItemItemOneOf {\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo;\n  }\n  interface MediaItemUrlAndSize {\n      /** Media item URL. */\n      url?: string;\n      /** Media item width. */\n      width?: number;\n      /** Media item height. */\n      height?: number;\n      /** Media format (mp4, png, etc.). */\n      format?: string | null;\n      /** Alt text. This text will be shown in case the image is not available. */\n      altText?: string | null;\n  }\n  enum MediaItemType {\n      unspecified_media_item_type = \"unspecified_media_item_type\",\n      image = \"image\",\n      video = \"video\",\n      audio = \"audio\",\n      document = \"document\",\n      zip = \"zip\"\n  }\n  interface MediaItemVideo {\n      /** Data (URL, size) about each resolution for which this video is available. */\n      files?: MediaItemUrlAndSize[];\n      /** ID of an image taken from the video. Used primarily for Wix Search indexing. For example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`. */\n      stillFrameMediaId?: string;\n  }\n  interface CustomTextField {\n      /** Text box title */\n      title?: string;\n      /** Text box input max length */\n      maxLength?: number;\n      /** Whether this text box is mandatory */\n      mandatory?: boolean;\n  }\n  interface ProductOption {\n      /**\n       * Option type - color or other(drop down)\n       * @readonly\n       */\n      optionType?: OptionType;\n      /** Option name (e.g., color, size) */\n      name?: string;\n      /** Choices available for this option */\n      choices?: Choice[];\n  }\n  enum OptionType {\n      unspecified_option_type = \"unspecified_option_type\",\n      drop_down = \"drop_down\",\n      color = \"color\"\n  }\n  interface Choice {\n      /** Color hex value or choice name */\n      value?: string;\n      /** Choice name */\n      description?: string;\n      /**\n       * Media items (images, videos) associated with this choice\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Based on the customer’s choices, which (if any) variants that include the selected choices are in stock\n       * @readonly\n       */\n      inStock?: boolean;\n      /**\n       * Based on the customer’s choices, which (if any) variants that include the selected choices are visible\n       * @readonly\n       */\n      visible?: boolean;\n  }\n  interface PageUrl {\n      /** Base URL. For premium sites, this is the domain. For free sites, this is the site URL (e.g mysite.wixsite.com/mysite). */\n      base?: string;\n      /** Path to the product page - e.g /product-page/a-product. */\n      path?: string;\n  }\n  interface Discount {\n      /** Discount type: amount / percent */\n      type?: DiscountType;\n      /** Discount value */\n      value?: number;\n  }\n  enum DiscountType {\n      UNDEFINED = \"UNDEFINED\",\n      /** No discount */\n      NONE = \"NONE\",\n      AMOUNT = \"AMOUNT\",\n      PERCENT = \"PERCENT\"\n  }\n  interface Variant {\n      /** Requested Variant ID */\n      _id?: string;\n      /** Specific choices within a selection, as option-choice key-value pairs */\n      choices?: Record<string, string>;\n      variant?: VariantDataWithNoStock;\n      /**\n       * Variant inventory status.\n       * @readonly\n       */\n      stock?: VariantStock;\n  }\n  interface VariantDataWithNoStock {\n      /** Variant price. */\n      priceData?: PriceData;\n      /**\n       * Variant price data, converted to currency requested in header.\n       * @readonly\n       */\n      convertedPriceData?: PriceData;\n      /** Cost and profit data. */\n      costAndProfitData?: CostAndProfitData;\n      /** Variant weight. */\n      weight?: number;\n      /** Variant SKU (stock keeping unit). */\n      sku?: string;\n      /** Whether the variant is visible to customers. */\n      visible?: boolean;\n  }\n  interface VariantStock {\n      /** Whether inventory is being tracked. */\n      trackQuantity?: boolean;\n      /** Quantity currently left in inventory. */\n      quantity?: number | null;\n      /** Whether the product is currently in stock (relevant only when tracking manually). */\n      inStock?: boolean;\n  }\n  interface GetProductRequest {\n      /** Requested product ID. */\n      productId: string;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  interface GetProductResponse {\n      /** Requested product data. */\n      product?: Product;\n  }\n  interface QueryProductsRequest {\n      query?: PlatformQuery;\n      /** Whether variants should be included in the response. */\n      includeVariants?: boolean;\n      /** Whether hidden products should be included in the response. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  interface PlatformQuery extends PlatformQueryPagingMethodOneOf {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n      sort?: Sorting[];\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging;\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryProductsResponse {\n      products?: Product[];\n      metadata?: PlatformPagingMetadata;\n  }\n  interface PlatformPagingMetadata {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /** The offset which was requested. Returned if offset paging was used. */\n      offset?: number | null;\n      /** The total number of items that match the query. Returned if offset paging was used. */\n      total?: number | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used. */\n      cursors?: Cursors;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  /** @param productId - Requested product ID.\n   * @public\n   * @requiredField productId\n   * @returns Requested product data.\n   */\n  function getProduct(productId: string, options?: GetProductOptions): Promise<Product>;\n  interface GetProductOptions {\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  /** @public */\n  function queryProducts(): ProductsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number;\n      totalPages: number;\n      totalCount: number;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProductsQueryResult extends QueryOffsetResult {\n      items: Product[];\n      query: ProductsQueryBuilder;\n      next: () => Promise<ProductsQueryResult>;\n      prev: () => Promise<ProductsQueryResult>;\n  }\n  interface ProductsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: string, value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: string, value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: string, value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: string, value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: string, value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: string, value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: string, value: string) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: string, value: any[]) => ProductsQueryBuilder;\n      in: (propertyName: string, value: any) => ProductsQueryBuilder;\n      exists: (propertyName: string, value: boolean) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: string[]) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: string[]) => ProductsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => ProductsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => ProductsQueryBuilder;\n      find: () => Promise<ProductsQueryResult>;\n  }\n  \n  const storesPocV1Product_universal_d___debug: typeof __debug;\n  type storesPocV1Product_universal_d_Product = Product;\n  type storesPocV1Product_universal_d_ProductType = ProductType;\n  const storesPocV1Product_universal_d_ProductType: typeof ProductType;\n  type storesPocV1Product_universal_d_Stock = Stock;\n  type storesPocV1Product_universal_d_InventoryStatus = InventoryStatus;\n  const storesPocV1Product_universal_d_InventoryStatus: typeof InventoryStatus;\n  type storesPocV1Product_universal_d_PriceData = PriceData;\n  type storesPocV1Product_universal_d_FormattedPrice = FormattedPrice;\n  type storesPocV1Product_universal_d_CostAndProfitData = CostAndProfitData;\n  type storesPocV1Product_universal_d_PricePerUnitData = PricePerUnitData;\n  type storesPocV1Product_universal_d_MeasurementUnit = MeasurementUnit;\n  const storesPocV1Product_universal_d_MeasurementUnit: typeof MeasurementUnit;\n  type storesPocV1Product_universal_d_AdditionalInfoSection = AdditionalInfoSection;\n  type storesPocV1Product_universal_d_Ribbon = Ribbon;\n  type storesPocV1Product_universal_d_Media = Media;\n  type storesPocV1Product_universal_d_MediaItem = MediaItem;\n  type storesPocV1Product_universal_d_MediaItemItemOneOf = MediaItemItemOneOf;\n  type storesPocV1Product_universal_d_MediaItemUrlAndSize = MediaItemUrlAndSize;\n  type storesPocV1Product_universal_d_MediaItemType = MediaItemType;\n  const storesPocV1Product_universal_d_MediaItemType: typeof MediaItemType;\n  type storesPocV1Product_universal_d_MediaItemVideo = MediaItemVideo;\n  type storesPocV1Product_universal_d_CustomTextField = CustomTextField;\n  type storesPocV1Product_universal_d_ProductOption = ProductOption;\n  type storesPocV1Product_universal_d_OptionType = OptionType;\n  const storesPocV1Product_universal_d_OptionType: typeof OptionType;\n  type storesPocV1Product_universal_d_Choice = Choice;\n  type storesPocV1Product_universal_d_PageUrl = PageUrl;\n  type storesPocV1Product_universal_d_Discount = Discount;\n  type storesPocV1Product_universal_d_DiscountType = DiscountType;\n  const storesPocV1Product_universal_d_DiscountType: typeof DiscountType;\n  type storesPocV1Product_universal_d_Variant = Variant;\n  type storesPocV1Product_universal_d_VariantDataWithNoStock = VariantDataWithNoStock;\n  type storesPocV1Product_universal_d_VariantStock = VariantStock;\n  type storesPocV1Product_universal_d_GetProductRequest = GetProductRequest;\n  type storesPocV1Product_universal_d_GetProductResponse = GetProductResponse;\n  type storesPocV1Product_universal_d_QueryProductsRequest = QueryProductsRequest;\n  type storesPocV1Product_universal_d_PlatformQuery = PlatformQuery;\n  type storesPocV1Product_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n  type storesPocV1Product_universal_d_Sorting = Sorting;\n  type storesPocV1Product_universal_d_SortOrder = SortOrder;\n  const storesPocV1Product_universal_d_SortOrder: typeof SortOrder;\n  type storesPocV1Product_universal_d_PlatformPaging = PlatformPaging;\n  type storesPocV1Product_universal_d_QueryProductsResponse = QueryProductsResponse;\n  type storesPocV1Product_universal_d_PlatformPagingMetadata = PlatformPagingMetadata;\n  type storesPocV1Product_universal_d_Cursors = Cursors;\n  const storesPocV1Product_universal_d_getProduct: typeof getProduct;\n  type storesPocV1Product_universal_d_GetProductOptions = GetProductOptions;\n  const storesPocV1Product_universal_d_queryProducts: typeof queryProducts;\n  type storesPocV1Product_universal_d_ProductsQueryResult = ProductsQueryResult;\n  type storesPocV1Product_universal_d_ProductsQueryBuilder = ProductsQueryBuilder;\n  namespace storesPocV1Product_universal_d {\n    export {\n      storesPocV1Product_universal_d___debug as __debug,\n      storesPocV1Product_universal_d_Product as Product,\n      storesPocV1Product_universal_d_ProductType as ProductType,\n      storesPocV1Product_universal_d_Stock as Stock,\n      storesPocV1Product_universal_d_InventoryStatus as InventoryStatus,\n      storesPocV1Product_universal_d_PriceData as PriceData,\n      storesPocV1Product_universal_d_FormattedPrice as FormattedPrice,\n      storesPocV1Product_universal_d_CostAndProfitData as CostAndProfitData,\n      storesPocV1Product_universal_d_PricePerUnitData as PricePerUnitData,\n      storesPocV1Product_universal_d_MeasurementUnit as MeasurementUnit,\n      storesPocV1Product_universal_d_AdditionalInfoSection as AdditionalInfoSection,\n      storesPocV1Product_universal_d_Ribbon as Ribbon,\n      storesPocV1Product_universal_d_Media as Media,\n      storesPocV1Product_universal_d_MediaItem as MediaItem,\n      storesPocV1Product_universal_d_MediaItemItemOneOf as MediaItemItemOneOf,\n      storesPocV1Product_universal_d_MediaItemUrlAndSize as MediaItemUrlAndSize,\n      storesPocV1Product_universal_d_MediaItemType as MediaItemType,\n      storesPocV1Product_universal_d_MediaItemVideo as MediaItemVideo,\n      storesPocV1Product_universal_d_CustomTextField as CustomTextField,\n      storesPocV1Product_universal_d_ProductOption as ProductOption,\n      storesPocV1Product_universal_d_OptionType as OptionType,\n      storesPocV1Product_universal_d_Choice as Choice,\n      storesPocV1Product_universal_d_PageUrl as PageUrl,\n      storesPocV1Product_universal_d_Discount as Discount,\n      storesPocV1Product_universal_d_DiscountType as DiscountType,\n      storesPocV1Product_universal_d_Variant as Variant,\n      storesPocV1Product_universal_d_VariantDataWithNoStock as VariantDataWithNoStock,\n      storesPocV1Product_universal_d_VariantStock as VariantStock,\n      storesPocV1Product_universal_d_GetProductRequest as GetProductRequest,\n      storesPocV1Product_universal_d_GetProductResponse as GetProductResponse,\n      storesPocV1Product_universal_d_QueryProductsRequest as QueryProductsRequest,\n      storesPocV1Product_universal_d_PlatformQuery as PlatformQuery,\n      storesPocV1Product_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf,\n      storesPocV1Product_universal_d_Sorting as Sorting,\n      storesPocV1Product_universal_d_SortOrder as SortOrder,\n      storesPocV1Product_universal_d_PlatformPaging as PlatformPaging,\n      storesPocV1Product_universal_d_QueryProductsResponse as QueryProductsResponse,\n      storesPocV1Product_universal_d_PlatformPagingMetadata as PlatformPagingMetadata,\n      storesPocV1Product_universal_d_Cursors as Cursors,\n      storesPocV1Product_universal_d_getProduct as getProduct,\n      storesPocV1Product_universal_d_GetProductOptions as GetProductOptions,\n      storesPocV1Product_universal_d_queryProducts as queryProducts,\n      storesPocV1Product_universal_d_ProductsQueryResult as ProductsQueryResult,\n      storesPocV1Product_universal_d_ProductsQueryBuilder as ProductsQueryBuilder,\n    };\n  }\n  \n  export { storesPocV1Collection_universal_d as collections, storesPocV1Product_universal_d as products };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-os-backend.d.ts",
      "content": "declare module \"wix-os-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Location {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string;\n      /** Location description. */\n      description?: string | null;\n      /**\n       * Whether this is the default location. There can only be one default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Location status. Defaults to `ACTIVE`.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect the location's status. `INACTIVE` is currently not supported.\n       */\n      status?: LocationStatus;\n      /** Location type. **Note:** Currently not supported. */\n      locationType?: LocationType;\n      /** Fax number. */\n      fax?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Address. */\n      address?: Address;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /**\n       * Revision number, which increments by 1 each time the location is updated.\n       * To prevent conflicting changes, the existing revision must be used when updating a location.\n       */\n      revision?: string | null;\n      /**\n       * Whether the location is archived. Archived locations can't be updated.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect its `status`.\n       * @readonly\n       */\n      archived?: boolean;\n  }\n  /** For future use */\n  enum LocationStatus {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  /** For future use */\n  enum LocationType {\n      UNKNOWN = \"UNKNOWN\",\n      BRANCH = \"BRANCH\",\n      OFFICES = \"OFFICES\",\n      RECEPTION = \"RECEPTION\",\n      HEADQUARTERS = \"HEADQUARTERS\"\n  }\n  interface Address {\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. Includes street name, number, and apartment number in separate fields. */\n      streetAddress?: StreetAddress;\n  }\n  /** Street address. Includes street name, number, and apartment number in separate fields. */\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  /** Address Geolocation */\n  interface AddressLocation {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number | null;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number | null;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface CreateLocationRequest {\n      /** Location to create. */\n      location: Location;\n  }\n  interface CreateLocationResponse {\n      /** Created location. */\n      location?: Location;\n  }\n  interface BulkCreateLocationRequest {\n      /** Locations to create. */\n      locations: Location[];\n  }\n  interface BulkCreateLocationResponse {\n      /** Locations that were created. */\n      successfulLocations?: Location[];\n      /** Locations that failed. */\n      failedLocations?: FailedCreateLocation[];\n  }\n  interface FailedCreateLocation {\n      /** Location that couldn't be created. */\n      location?: Location;\n      /** Error message. */\n      errorMessage?: string;\n  }\n  interface GetLocationRequest {\n      /** ID of the location to retrieve. */\n      _id: string;\n  }\n  interface GetLocationResponse {\n      /** Retrieved location. */\n      location?: Location;\n  }\n  interface ListLocationsRequest {\n      /** [Sort order](https://bo.wix.com/wix-docs/rest/crm/contacts/sort-and-filter). */\n      sort?: Sorting;\n      /** [Pagination](https://bo.wix.com/wix-docs/rest/crm/contacts/pagination), defaults to offset = 0 and limit = 50 (max limit 1,000). */\n      paging?: Paging;\n      /** Whether to include `archived` locations in the response. Defaults to `false`. */\n      includeArchived?: boolean;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListLocationsResponse {\n      /** Retrieved locations. */\n      locations?: Location[];\n      /** Paging info. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface UpdateLocationRequest {\n      /** Location to update. */\n      location: Location;\n  }\n  interface UpdateLocationResponse {\n      /** Updated location. */\n      location?: Location;\n  }\n  interface BulkUpdateLocationRequest {\n      /** Locations to update. */\n      locations: Location[];\n  }\n  interface BulkUpdateLocationResponse {\n      /** Locations that were updated. */\n      successfulLocations?: Location[];\n      /** Locations that failed. */\n      failedLocations?: FailedUpdateLocation[];\n  }\n  interface FailedUpdateLocation {\n      /** Location that couldn't be updated. */\n      _id?: string;\n      /** Error message. */\n      errorMessage?: string;\n  }\n  interface QueryLocationsRequest {\n      /** Information about the filters, sorting, and paging. */\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface QueryLocationsResponse {\n      /** Retrieved locations. */\n      locations?: Location[];\n      /** Paging info. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface SetDefaultLocationRequest {\n      /** ID of the location to set as default. */\n      _id: string;\n  }\n  interface SetDefaultLocationResponse {\n      /** New default location. */\n      location?: Location;\n  }\n  interface SetDefaultLocation {\n      /** Previous default location id. */\n      prevDefaultLocationId?: string;\n      /** Current default location id. */\n      currDefaultLocationId?: string;\n  }\n  interface ArchiveLocationRequest {\n      /** ID of the location to archive. */\n      _id: string;\n  }\n  interface ArchiveLocationResponse {\n      /** Archived location. */\n      location?: Location;\n  }\n  interface ArchiveLocation {\n      _id?: string;\n  }\n  /**\n   * Creates a location.\n   * @param location - Location to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField location\n   * @requiredField location.address\n   * @requiredField location.name\n   * @requiredField location.timeZone\n   */\n  function createLocation(location: Location): Promise<CreateLocationResponse>;\n  /**\n   * Creates locations in bulk.\n   * @param locations - Locations to create.\n   * @documentationMaturity preview\n   * @requiredField locations\n   */\n  function bulkCreateLocation(locations: Location[]): Promise<BulkCreateLocationResponse>;\n  /**\n   * Retrieves a location.\n   * @param _id - ID of the location to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function getLocation(_id: string): Promise<GetLocationResponse>;\n  /**\n   * Retrieves locations, given the provided filters, sorting, and paging.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listLocations(options?: ListLocationsOptions): Promise<ListLocationsResponse>;\n  interface ListLocationsOptions {\n      /** [Sort order](https://bo.wix.com/wix-docs/rest/crm/contacts/sort-and-filter). */\n      sort?: Sorting;\n      /** [Pagination](https://bo.wix.com/wix-docs/rest/crm/contacts/pagination), defaults to offset = 0 and limit = 50 (max limit 1,000). */\n      paging?: Paging;\n      /** Whether to include `archived` locations in the response. Defaults to `false`. */\n      includeArchived?: boolean;\n  }\n  /**\n   * Replaces a location.\n   *\n   * > **Note:** Currently, it isn't possible to partially update a location. Therefore, you'll need to pass the full location object in the body of the call.\n   * @param _id - Location ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField location\n   * @requiredField location.address\n   * @requiredField location.name\n   * @requiredField location.timeZone\n   */\n  function updateLocation(_id: string | null, location: UpdateLocation): Promise<UpdateLocationResponse>;\n  interface UpdateLocation {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string;\n      /** Location description. */\n      description?: string | null;\n      /**\n       * Whether this is the default location. There can only be one default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Location status. Defaults to `ACTIVE`.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect the location's status. `INACTIVE` is currently not supported.\n       */\n      status?: LocationStatus;\n      /** Location type. **Note:** Currently not supported. */\n      locationType?: LocationType;\n      /** Fax number. */\n      fax?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Address. */\n      address?: Address;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /**\n       * Revision number, which increments by 1 each time the location is updated.\n       * To prevent conflicting changes, the existing revision must be used when updating a location.\n       */\n      revision?: string | null;\n      /**\n       * Whether the location is archived. Archived locations can't be updated.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect its `status`.\n       * @readonly\n       */\n      archived?: boolean;\n  }\n  /**\n   * Replaces locations in bulk.\n   * > **Note:** Currently, it isn't possible to partially update a location. Therefore, you'll need to pass the full location object in the body of the call.\n   * @param locations - Locations to update.\n   * @documentationMaturity preview\n   * @requiredField locations\n   */\n  function bulkUpdateLocation(locations: Location[]): Promise<BulkUpdateLocationResponse>;\n  /**\n   * Retrieves locations, given the provided filters, sorting, and paging.\n   * @public\n   * @documentationMaturity preview\n   */\n  function queryLocations(options?: QueryLocationsOptions): Promise<QueryLocationsResponse>;\n  interface QueryLocationsOptions {\n      /** Information about the filters, sorting, and paging. */\n      query?: Query;\n  }\n  /**\n   * Sets a new default location.\n   *\n   * > **Notes:**\n   * > + There can only be one default location per site.\n   * > + The default location can't be archived.\n   * @param _id - ID of the location to set as default.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function setDefaultLocation(_id: string): Promise<SetDefaultLocationResponse>;\n  /**\n   * Archives a location.\n   *\n   * > **Notes:**\n   * > + Changes the `archived` boolean of a location to `true`.\n   * > + You can't change a location's `status` using this endpoint.\n   * > + Archived locations can't be updated.\n   * > + Currently, it isn't possible to unarchive locations.\n   * > + The `default` location can't be archived.\n   * @param _id - ID of the location to archive.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function archiveLocation(_id: string): Promise<ArchiveLocationResponse>;\n  \n  const locationsV1Location_universal_d___debug: typeof __debug;\n  type locationsV1Location_universal_d_Location = Location;\n  type locationsV1Location_universal_d_LocationStatus = LocationStatus;\n  const locationsV1Location_universal_d_LocationStatus: typeof LocationStatus;\n  type locationsV1Location_universal_d_LocationType = LocationType;\n  const locationsV1Location_universal_d_LocationType: typeof LocationType;\n  type locationsV1Location_universal_d_Address = Address;\n  type locationsV1Location_universal_d_StreetAddress = StreetAddress;\n  type locationsV1Location_universal_d_AddressLocation = AddressLocation;\n  type locationsV1Location_universal_d_BusinessSchedule = BusinessSchedule;\n  type locationsV1Location_universal_d_TimePeriod = TimePeriod;\n  type locationsV1Location_universal_d_DayOfWeek = DayOfWeek;\n  const locationsV1Location_universal_d_DayOfWeek: typeof DayOfWeek;\n  type locationsV1Location_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type locationsV1Location_universal_d_CreateLocationRequest = CreateLocationRequest;\n  type locationsV1Location_universal_d_CreateLocationResponse = CreateLocationResponse;\n  type locationsV1Location_universal_d_BulkCreateLocationRequest = BulkCreateLocationRequest;\n  type locationsV1Location_universal_d_BulkCreateLocationResponse = BulkCreateLocationResponse;\n  type locationsV1Location_universal_d_FailedCreateLocation = FailedCreateLocation;\n  type locationsV1Location_universal_d_GetLocationRequest = GetLocationRequest;\n  type locationsV1Location_universal_d_GetLocationResponse = GetLocationResponse;\n  type locationsV1Location_universal_d_ListLocationsRequest = ListLocationsRequest;\n  type locationsV1Location_universal_d_Sorting = Sorting;\n  type locationsV1Location_universal_d_SortOrder = SortOrder;\n  const locationsV1Location_universal_d_SortOrder: typeof SortOrder;\n  type locationsV1Location_universal_d_Paging = Paging;\n  type locationsV1Location_universal_d_ListLocationsResponse = ListLocationsResponse;\n  type locationsV1Location_universal_d_PagingMetadata = PagingMetadata;\n  type locationsV1Location_universal_d_UpdateLocationRequest = UpdateLocationRequest;\n  type locationsV1Location_universal_d_UpdateLocationResponse = UpdateLocationResponse;\n  type locationsV1Location_universal_d_BulkUpdateLocationRequest = BulkUpdateLocationRequest;\n  type locationsV1Location_universal_d_BulkUpdateLocationResponse = BulkUpdateLocationResponse;\n  type locationsV1Location_universal_d_FailedUpdateLocation = FailedUpdateLocation;\n  type locationsV1Location_universal_d_QueryLocationsRequest = QueryLocationsRequest;\n  type locationsV1Location_universal_d_Query = Query;\n  type locationsV1Location_universal_d_QueryLocationsResponse = QueryLocationsResponse;\n  type locationsV1Location_universal_d_SetDefaultLocationRequest = SetDefaultLocationRequest;\n  type locationsV1Location_universal_d_SetDefaultLocationResponse = SetDefaultLocationResponse;\n  type locationsV1Location_universal_d_SetDefaultLocation = SetDefaultLocation;\n  type locationsV1Location_universal_d_ArchiveLocationRequest = ArchiveLocationRequest;\n  type locationsV1Location_universal_d_ArchiveLocationResponse = ArchiveLocationResponse;\n  type locationsV1Location_universal_d_ArchiveLocation = ArchiveLocation;\n  const locationsV1Location_universal_d_createLocation: typeof createLocation;\n  const locationsV1Location_universal_d_bulkCreateLocation: typeof bulkCreateLocation;\n  const locationsV1Location_universal_d_getLocation: typeof getLocation;\n  const locationsV1Location_universal_d_listLocations: typeof listLocations;\n  type locationsV1Location_universal_d_ListLocationsOptions = ListLocationsOptions;\n  const locationsV1Location_universal_d_updateLocation: typeof updateLocation;\n  type locationsV1Location_universal_d_UpdateLocation = UpdateLocation;\n  const locationsV1Location_universal_d_bulkUpdateLocation: typeof bulkUpdateLocation;\n  const locationsV1Location_universal_d_queryLocations: typeof queryLocations;\n  type locationsV1Location_universal_d_QueryLocationsOptions = QueryLocationsOptions;\n  const locationsV1Location_universal_d_setDefaultLocation: typeof setDefaultLocation;\n  const locationsV1Location_universal_d_archiveLocation: typeof archiveLocation;\n  namespace locationsV1Location_universal_d {\n    export {\n      locationsV1Location_universal_d___debug as __debug,\n      locationsV1Location_universal_d_Location as Location,\n      locationsV1Location_universal_d_LocationStatus as LocationStatus,\n      locationsV1Location_universal_d_LocationType as LocationType,\n      locationsV1Location_universal_d_Address as Address,\n      locationsV1Location_universal_d_StreetAddress as StreetAddress,\n      locationsV1Location_universal_d_AddressLocation as AddressLocation,\n      locationsV1Location_universal_d_BusinessSchedule as BusinessSchedule,\n      locationsV1Location_universal_d_TimePeriod as TimePeriod,\n      locationsV1Location_universal_d_DayOfWeek as DayOfWeek,\n      locationsV1Location_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      locationsV1Location_universal_d_CreateLocationRequest as CreateLocationRequest,\n      locationsV1Location_universal_d_CreateLocationResponse as CreateLocationResponse,\n      locationsV1Location_universal_d_BulkCreateLocationRequest as BulkCreateLocationRequest,\n      locationsV1Location_universal_d_BulkCreateLocationResponse as BulkCreateLocationResponse,\n      locationsV1Location_universal_d_FailedCreateLocation as FailedCreateLocation,\n      locationsV1Location_universal_d_GetLocationRequest as GetLocationRequest,\n      locationsV1Location_universal_d_GetLocationResponse as GetLocationResponse,\n      locationsV1Location_universal_d_ListLocationsRequest as ListLocationsRequest,\n      locationsV1Location_universal_d_Sorting as Sorting,\n      locationsV1Location_universal_d_SortOrder as SortOrder,\n      locationsV1Location_universal_d_Paging as Paging,\n      locationsV1Location_universal_d_ListLocationsResponse as ListLocationsResponse,\n      locationsV1Location_universal_d_PagingMetadata as PagingMetadata,\n      locationsV1Location_universal_d_UpdateLocationRequest as UpdateLocationRequest,\n      locationsV1Location_universal_d_UpdateLocationResponse as UpdateLocationResponse,\n      locationsV1Location_universal_d_BulkUpdateLocationRequest as BulkUpdateLocationRequest,\n      locationsV1Location_universal_d_BulkUpdateLocationResponse as BulkUpdateLocationResponse,\n      locationsV1Location_universal_d_FailedUpdateLocation as FailedUpdateLocation,\n      locationsV1Location_universal_d_QueryLocationsRequest as QueryLocationsRequest,\n      locationsV1Location_universal_d_Query as Query,\n      locationsV1Location_universal_d_QueryLocationsResponse as QueryLocationsResponse,\n      locationsV1Location_universal_d_SetDefaultLocationRequest as SetDefaultLocationRequest,\n      locationsV1Location_universal_d_SetDefaultLocationResponse as SetDefaultLocationResponse,\n      locationsV1Location_universal_d_SetDefaultLocation as SetDefaultLocation,\n      locationsV1Location_universal_d_ArchiveLocationRequest as ArchiveLocationRequest,\n      locationsV1Location_universal_d_ArchiveLocationResponse as ArchiveLocationResponse,\n      locationsV1Location_universal_d_ArchiveLocation as ArchiveLocation,\n      locationsV1Location_universal_d_createLocation as createLocation,\n      locationsV1Location_universal_d_bulkCreateLocation as bulkCreateLocation,\n      locationsV1Location_universal_d_getLocation as getLocation,\n      locationsV1Location_universal_d_listLocations as listLocations,\n      locationsV1Location_universal_d_ListLocationsOptions as ListLocationsOptions,\n      locationsV1Location_universal_d_updateLocation as updateLocation,\n      locationsV1Location_universal_d_UpdateLocation as UpdateLocation,\n      locationsV1Location_universal_d_bulkUpdateLocation as bulkUpdateLocation,\n      locationsV1Location_universal_d_queryLocations as queryLocations,\n      locationsV1Location_universal_d_QueryLocationsOptions as QueryLocationsOptions,\n      locationsV1Location_universal_d_setDefaultLocation as setDefaultLocation,\n      locationsV1Location_universal_d_archiveLocation as archiveLocation,\n    };\n  }\n  \n  export { locationsV1Location_universal_d as siteManagement };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-email-marketing-backend.d.ts",
      "content": "declare module \"wix-email-marketing-backend\" {\n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * An account can be active or in some state of suspension (warned/suspended/banned).\n   * If a user is in a state of suspension they must visit their email marketing account in the Wix business manager and follow the instructions.\n   */\n  interface AccountDetails {\n      /** Account status. */\n      status?: Enum$1;\n      /** Current premium package information. */\n      package?: Package;\n      /** Quota period and usage. */\n      quotaPeriod?: QuotaPeriod;\n  }\n  enum Enum$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Able to use email marketing normally. */\n      ACTIVE = \"ACTIVE\",\n      /** Must explicitly agree to terms of use to activate account. */\n      WARNED = \"WARNED\",\n      /** Must fill out compliance questionnaire, unable to use email marketing. */\n      SUSPENDED = \"SUSPENDED\",\n      /** Able to open a support ticket, unable to use email marketing. */\n      BANNED = \"BANNED\"\n  }\n  interface Package {\n      /** Package ID. */\n      _id?: string;\n      /** Package group. */\n      group?: string;\n      /** Allocated quota per month. */\n      monthlyQuotaAllocation?: Quota;\n  }\n  interface Quota {\n      /** Number of allocated marketing campaigns per month (-1 means unlimited). */\n      campaigns?: number;\n      /** Number of allocated individual emails per month. */\n      emails?: number;\n  }\n  interface QuotaPeriod {\n      /** Current quota period start date. */\n      dateFrom?: Date;\n      /** Current quota period end date - after which quota will roll over. */\n      dateTo?: Date;\n      /** Information about allocated quota already used in this period. */\n      quotaUsage?: Quota;\n  }\n  interface GetAccountDetailsRequest {\n  }\n  interface GetAccountDetailsResponse {\n      /** Current account details. */\n      accountDetails?: AccountDetails;\n  }\n  /**\n   * Retrieves email marketing account details.\n   * @public */\n  function getAccountDetails(): Promise<GetAccountDetailsResponse>;\n  \n  type emailMarketingV1AccountDetails_universal_d_AccountDetails = AccountDetails;\n  type emailMarketingV1AccountDetails_universal_d_Package = Package;\n  type emailMarketingV1AccountDetails_universal_d_Quota = Quota;\n  type emailMarketingV1AccountDetails_universal_d_QuotaPeriod = QuotaPeriod;\n  type emailMarketingV1AccountDetails_universal_d_GetAccountDetailsRequest = GetAccountDetailsRequest;\n  type emailMarketingV1AccountDetails_universal_d_GetAccountDetailsResponse = GetAccountDetailsResponse;\n  const emailMarketingV1AccountDetails_universal_d_getAccountDetails: typeof getAccountDetails;\n  namespace emailMarketingV1AccountDetails_universal_d {\n    export {\n      __debug$1 as __debug,\n      emailMarketingV1AccountDetails_universal_d_AccountDetails as AccountDetails,\n      Enum$1 as Enum,\n      emailMarketingV1AccountDetails_universal_d_Package as Package,\n      emailMarketingV1AccountDetails_universal_d_Quota as Quota,\n      emailMarketingV1AccountDetails_universal_d_QuotaPeriod as QuotaPeriod,\n      emailMarketingV1AccountDetails_universal_d_GetAccountDetailsRequest as GetAccountDetailsRequest,\n      emailMarketingV1AccountDetails_universal_d_GetAccountDetailsResponse as GetAccountDetailsResponse,\n      emailMarketingV1AccountDetails_universal_d_getAccountDetails as getAccountDetails,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Campaign {\n      /** Campaign ID. */\n      campaignId?: string;\n      /**\n       * Marketing campaign title. For sent campaigns this will match the email subject if subject was not explicitly provided on sending.\n       * For published campaigns - the title will be the first line of text.\n       */\n      title?: string | null;\n      /** URL of first image after the logo. */\n      firstImageUrl?: string | null;\n      /** URL of the landing page snapshot. */\n      snapshotImageUrl?: string | null;\n      /** Editor type. Either web app, or mobile app. */\n      editorType?: CampaignEditorTypeEnum;\n      /** Campaign status. */\n      status?: CampaignStatusEnum;\n      /** Campaign visibility status. */\n      visibilityStatus?: CampaignVisibilityStatusEnum;\n      /** Campaign distribution status. */\n      distributionStatus?: Enum;\n      /** Publishing data (present only if campaign is published). */\n      publishingData?: PublishingData;\n      /** Campaign creation date. */\n      dateCreated?: Date;\n      /** Campaign last update date. */\n      dateUpdated?: Date;\n      /**\n       * Date when the campaign is scheduled, only set if it is a scheduled campaign.\n       * @internal\n       */\n      dateScheduled?: Date;\n      /**\n       * Rejection data (present only if campaign was rejected).\n       * @internal\n       */\n      rejectionData?: RejectionData;\n      /**\n       * The sending state of the campaign.\n       * @internal\n       */\n      sendingState?: CampaignSendingStateEnum;\n      /**\n       * The type of campaign: email marketing, triggered email or automations.\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  enum CampaignEditorTypeEnum {\n      UNKNOWN = \"UNKNOWN\",\n      WEB = \"WEB\",\n      MOBILE = \"MOBILE\"\n  }\n  enum CampaignStatusEnum {\n      UNKNOWN = \"UNKNOWN\",\n      /** Campaign is active. */\n      ACTIVE = \"ACTIVE\",\n      /** Campaign is archived. */\n      ARCHIVED = \"ARCHIVED\",\n      /** Campaign is deleted. */\n      DELETED = \"DELETED\"\n  }\n  enum CampaignVisibilityStatusEnum {\n      UNKNOWN = \"UNKNOWN\",\n      /** Campaign not yet published. */\n      DRAFT = \"DRAFT\",\n      /** Campaign published. */\n      PUBLISHED = \"PUBLISHED\",\n      /** Campaign is a template. */\n      TEMPLATE = \"TEMPLATE\"\n  }\n  enum Enum {\n      UNKNOWN = \"UNKNOWN\",\n      /** Campaign not yet distributed via emails. */\n      NOT_STARTED = \"NOT_STARTED\",\n      /** Campaign scheduled for distribution. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Campaign is being automatically screened for malicious content. */\n      IN_DETECTION = \"IN_DETECTION\",\n      /** Campaign is being manually reviewed by moderators. */\n      IN_MODERATION = \"IN_MODERATION\",\n      /** A fraction of recipients is selected as a sample and its performance will be assessed to determine further action. */\n      SAMPLING = \"SAMPLING\",\n      /** Campaign is being distributed to all recipients. */\n      SENDING = \"SENDING\",\n      /** Campaign was rejected. */\n      REJECTED = \"REJECTED\",\n      /** Campaign was terminated after unsuccessful sampling. */\n      TERMINATED = \"TERMINATED\",\n      /** Campaign fully distributed to recipients. */\n      DISTRIBUTED = \"DISTRIBUTED\",\n      /** Scheduled campaign has been paused. */\n      PAUSED = \"PAUSED\"\n  }\n  interface PublishingData {\n      /** Landing page URL. */\n      landingPageUrl?: string;\n      /** Marketing campaign statistics. */\n      statistics?: CampaignStatistics;\n      /** Marketing campaign publish date. */\n      datePublished?: Date;\n      /**\n       * \"Parent\" campaign ID.\n       * @internal\n       */\n      resentFromCampaignId?: string | null;\n      /**\n       * Whether this campaign was resent to recipients who did not open an email.\n       * @internal\n       */\n      wasResentToNonOpeners?: boolean;\n  }\n  interface CampaignStatistics {\n      /** Marketing campaign's landing page statistics. */\n      landingPage?: LandingPageStatistics;\n      /** Marketing campaign's email distribution statistics. */\n      emailCampaign?: DistributionStatistics;\n      /** Combined landing page and email distribution statistics. */\n      total?: TotalStatistics;\n  }\n  interface LandingPageStatistics {\n      /** Number of times landing page was loaded or viewed. */\n      opened?: number;\n      /** Number of times a link was clicked in landing page. */\n      clicked?: number;\n  }\n  interface DistributionStatistics {\n      /** Number of emails delivered. */\n      delivered?: number;\n      /**\n       * Number of recipients who opened an email.\n       *\n       * If a single recipient opens an email twice, it is counted as one unique open.\n       */\n      opened?: number;\n      /**\n       * Number of recipients who clicked a link in the email.\n       *\n       * If a single recipient clicks a link in an email twice, it is counted as one unique click.\n       * If a single recipient clicks different links in an email, it is counted as one unique click.\n       */\n      clicked?: number;\n      /** Number of emails that bounced. */\n      bounced?: number;\n      /** Number of recipients who reported email as spam. */\n      complained?: number;\n      /** Number of emails not sent because the campaign was terminated. */\n      notSent?: number;\n  }\n  interface TotalStatistics {\n      /** Total number of emails sent. */\n      mailsSent?: number;\n      /** Number of landing page views + emails opened. */\n      opened?: number;\n      /** Number of landing page link clicks + email link clicks. */\n      clicked?: number;\n  }\n  interface RejectionData {\n      rejectionReasons?: RejectionReasonEnum[];\n  }\n  enum RejectionReasonEnum {\n      UNKNOWN = \"UNKNOWN\",\n      LOW_ENGAGEMENT = \"LOW_ENGAGEMENT\",\n      SENDER_DETAILS = \"SENDER_DETAILS\",\n      SPAM_TRAPS = \"SPAM_TRAPS\",\n      OTHER = \"OTHER\",\n      ADULT_SEXUAL_CONTENT = \"ADULT_SEXUAL_CONTENT\",\n      AFFILIATE_MARKETING = \"AFFILIATE_MARKETING\",\n      BETTING_OR_GAMBLING = \"BETTING_OR_GAMBLING\",\n      CREDIT_REPAIR_OR_DEBT_RELIEF = \"CREDIT_REPAIR_OR_DEBT_RELIEF\",\n      GET_RICH_QUICK_SCHEME = \"GET_RICH_QUICK_SCHEME\",\n      ILLEGAL_SUBSTANCES_OR_WEAPONS = \"ILLEGAL_SUBSTANCES_OR_WEAPONS\",\n      MISLEADING_SUBJECT_LINE = \"MISLEADING_SUBJECT_LINE\",\n      TRADING_OR_CRYPTOCURRENCIES = \"TRADING_OR_CRYPTOCURRENCIES\",\n      UNSOLICITED_CONTENT = \"UNSOLICITED_CONTENT\"\n  }\n  enum CampaignSendingStateEnum {\n      /** Campaign not yet published. */\n      DRAFT = \"DRAFT\",\n      /** Campaign is being reviewed. */\n      REVIEW = \"REVIEW\",\n      /** Campaign was rejected. */\n      REJECTED = \"REJECTED\",\n      /** Campaign is scheduled. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Scheduled campaign was paused. */\n      PAUSED = \"PAUSED\",\n      /** Campaign is published. */\n      PUBLISHED = \"PUBLISHED\",\n      /** Campaign is being send. */\n      SENDING = \"SENDING\",\n      /**\n       * Campaign was partially sent.\n       * Happens when too many recipients bounce.\n       */\n      PARTIALLY_SENT = \"PARTIALLY_SENT\",\n      /** Campaign was sent. */\n      SENT = \"SENT\"\n  }\n  enum CampaignTypeEnum {\n      UNKNOWN = \"UNKNOWN\",\n      /** Regular email marketing campaign. */\n      EMAIL_MARKETING = \"EMAIL_MARKETING\",\n      /** mobile place invitation email */\n      INVITATION = \"INVITATION\",\n      /** automation */\n      AUTOMATION = \"AUTOMATION\",\n      /** triggered email */\n      TRIGGERED = \"TRIGGERED\"\n  }\n  interface ListStatisticsRequest {\n      /**\n       * IDs of the campaigns to retrieve.\n       *\n       * Max: 100 campaigns\n       */\n      campaignIds: string[];\n  }\n  interface ListStatisticsResponse {\n      /** List of statistics. */\n      statistics?: CampaignStatisticsContainer[];\n  }\n  interface CampaignStatisticsContainer {\n      /** Campaign ID. */\n      campaignId?: string;\n      /** Landing page statistics. */\n      landingPage?: LandingPageStatistics;\n      /** Email campaign statistics. */\n      email?: DistributionStatistics;\n  }\n  interface ListRecipientsRequest {\n      /** Campaign ID. */\n      campaignId: string;\n      /** __Required.__ Email activity to filter for. */\n      activity?: RecipientsActivityEnum;\n      /** Pagination options. */\n      paging?: CursorPaging;\n  }\n  enum RecipientsActivityEnum {\n      UNKNOWN = \"UNKNOWN\",\n      DELIVERED = \"DELIVERED\",\n      OPENED = \"OPENED\",\n      CLICKED = \"CLICKED\",\n      BOUNCED = \"BOUNCED\",\n      NOT_SENT = \"NOT_SENT\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListRecipientsResponse {\n      /** List of recipients. */\n      recipients?: CampaignRecipientDetails[];\n      /** Details on the paged set of returned results. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface CampaignRecipientDetails {\n      /** Contact ID. */\n      contactId?: string;\n      /** Date and time of the last activity. */\n      lastActivityDate?: Date;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetCampaignMappingRequest {\n      /** rule ID in automations */\n      automationRuleId: string;\n      /** template ID configured for the automation */\n      templateId: string;\n  }\n  interface GetCampaignMappingResponse {\n      campaignId?: string;\n  }\n  interface GetPingCampaignMappingRequest {\n      /** ping stream ID. */\n      streamId: string;\n      /** template ID configured for the ping automation. */\n      templateId: string;\n      /** ID of the initiating vertical. */\n      appDefId: string;\n      /** Ping template ID. */\n      pingTemplateId?: string | null;\n      /** Preferred language (optional). */\n      language: string;\n      /** rule ID in automations */\n      automationRuleId: string;\n  }\n  interface GetPingCampaignMappingResponse {\n      campaignId?: string;\n  }\n  interface QueryAutomationTemplatesRequest {\n      /** https://github.com/wix-private/p13n/blob/master/protos/query/src/main/proto/wix/common/query.proto */\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryAutomationTemplatesResponse {\n      entries?: AutomationTemplateContainer[];\n      metaData?: QueryMetadata;\n      total?: number;\n  }\n  interface AutomationTemplateContainer {\n      automationTemplate?: AutomationTemplate;\n      enrichmentData?: AutomationTemplateEnrichmentData;\n  }\n  interface AutomationTemplate {\n      /**\n       * Automation template ID (unique)\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Automation template current revision\n       * @readonly\n       */\n      revision?: number | null;\n      /** Automation template name */\n      name?: string | null;\n      /** Automation template description */\n      description?: string | null;\n      /** Automation template rule configuration */\n      rule?: RuleConfiguration;\n      /** Automation template correlation id - TODO: rename */\n      correlationId?: string | null;\n      /** Automation template type */\n      templateType?: TemplateType;\n      /** Automation template preconditions */\n      preconditions?: Precondition[];\n      /** used to determine which users will see the Automation template while in internal state */\n      groupIds?: string[];\n      /**\n       * Automation template state\n       * @readonly\n       */\n      templateState?: TemplateState;\n      /**\n       * Automation template created date\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Automation template updated date\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** @readonly */\n      translation?: Translation;\n      /**\n       * key -> english value, we will include those keys in the translator json and send them for translations.\n       * in the \"search rules\" api they will be resolved with their translation\n       */\n      additionalTranslations?: Record<string, string>;\n  }\n  interface RuleConfiguration {\n      /** Rule configuration name */\n      name?: string;\n      /** Rule configuration description */\n      description?: string;\n      /** Trigger configuration */\n      trigger?: TriggerConfiguration;\n      /** Actions configuration */\n      actions?: ActionConfiguration[];\n      /** Rule status */\n      ruleStatus?: RuleStatus;\n      /** Activation cycle */\n      activationCycle?: ActivationCycle;\n      metadata?: RuleMetadata;\n  }\n  interface ConditionConfiguration {\n      /** Condition schema key */\n      schemaKey?: string;\n      /** Condition operator */\n      operator?: Operator;\n      /** Condition values */\n      values?: string[];\n  }\n  enum Operator {\n      UNDEFINED = \"UNDEFINED\",\n      IN = \"IN\"\n  }\n  interface TriggerConfiguration {\n      /** Trigger source app def id */\n      appDefId?: string;\n      /** Trigger name */\n      triggerName?: string;\n      /** Trigger schema */\n      triggerSchema?: string;\n      /** Condition configuration */\n      conditions?: ConditionConfiguration[];\n      /** TODO - might need to replace the entire object */\n      triggerConfigurationId?: string | null;\n      /** Trigger Reengagement delay internal in sec */\n      reengagementDelaySec?: number | null;\n  }\n  interface ActionConfiguration {\n      _id?: string | null;\n      /** Action source app def id */\n      appDefId?: string;\n      /** Action name */\n      actionName?: string;\n      /** Action configuration */\n      configuration?: string;\n      /** Delay interval in seconds */\n      delayIntervalSec?: number;\n  }\n  enum RuleStatus {\n      UnknownStatus = \"UnknownStatus\",\n      Active = \"Active\",\n      Suspended = \"Suspended\"\n  }\n  interface ActivationCycle {\n      /** set a time frame in minutes for the once_per_user attribute, use 0 for infinite */\n      timeFrame?: number;\n      /** number of activations allowed in the given time_frame */\n      activations?: number;\n      rateLimitingJsonata?: string | null;\n  }\n  interface RuleMetadata {\n      /** default value is 'true', when this is set to 'false' user wont be able to toggle off the rule */\n      canBeSuspended?: boolean | null;\n      /** additional notes to describe the rule */\n      notes?: string | null;\n      /** will be used to indicate to user how urgent is this change during \"version\" changes */\n      versionType?: VersionType;\n  }\n  enum VersionType {\n      UNKNOWN_VERSION_TYPE = \"UNKNOWN_VERSION_TYPE\",\n      MINOR = \"MINOR\",\n      MAJOR = \"MAJOR\"\n  }\n  /** Type */\n  enum TemplateType {\n      UNKNOWN_TEMPLATE_TYPE = \"UNKNOWN_TEMPLATE_TYPE\",\n      PREINSTALLED = \"PREINSTALLED\",\n      RECIPE = \"RECIPE\"\n  }\n  /**\n   * {\n   * State message examples:\n   * precondition_type: PreconditionType.Petri,\n   * key: ‘specs.crm.InvoicesSendViaAutomationsABC’,\n   * value: ‘C’\n   * },\n   * {\n   * precondition_type: PreconditionType.STATE,\n   * key: ‘<froms_app_def_id>:double_opt_in’,\n   * value: ‘true’\n   * },\n   * {\n   * precondition_type: PreconditionType.APP_DEPENDENCY,\n   * key: ‘<paid_plans_app_def_id>’,\n   * value: ‘true’\n   * }\n   */\n  interface Precondition {\n      /** Precondition type */\n      preconditionType?: PreconditionType;\n      /** Precondition unique key */\n      key?: string;\n      /** Precondition value */\n      value?: string;\n  }\n  enum PreconditionType {\n      UNKNOWN_PRECONDITION_TYPE = \"UNKNOWN_PRECONDITION_TYPE\",\n      PETRI = \"PETRI\",\n      STATE = \"STATE\",\n      APP_DEPENDENCY = \"APP_DEPENDENCY\",\n      DEALER_OFFERING = \"DEALER_OFFERING\"\n  }\n  enum TemplateState {\n      UNKNOWN_TEMPLATE_STATUS = \"UNKNOWN_TEMPLATE_STATUS\",\n      INTERNAL = \"INTERNAL\",\n      PUBLIC = \"PUBLIC\",\n      ARCHIVED = \"ARCHIVED\",\n      LIVE = \"LIVE\"\n  }\n  interface Translation {\n      state?: TranslationState;\n  }\n  enum TranslationState {\n      UNKNOWN_TRANSLATION_STATE = \"UNKNOWN_TRANSLATION_STATE\",\n      NOT_REQUESTED = \"NOT_REQUESTED\",\n      PENDING = \"PENDING\",\n      PARTIAL = \"PARTIAL\",\n      TRANSLATED = \"TRANSLATED\"\n  }\n  interface AutomationTemplateEnrichmentData {\n      campaignId?: string;\n      metaSiteId?: string;\n  }\n  interface QueryMetadata {\n      /** Number of returned items */\n      items?: number;\n      /** Offset that was applied to the request */\n      offset?: number;\n  }\n  interface QueryAppTemplatesRequest {\n      queryType?: TemplateQueryType;\n  }\n  enum TemplateQueryType {\n      TRIGGERED_EMAILS = \"TRIGGERED_EMAILS\",\n      PING = \"PING\"\n  }\n  interface QueryAppTemplatesResponse {\n      template?: TemplateData[];\n  }\n  interface TemplateData {\n      templateName?: string;\n      templateId?: string;\n  }\n  interface CampaignLookupRequest {\n      campaignId: string;\n  }\n  interface CampaignLookupResponse {\n      campaignId?: string;\n      instanceId?: string;\n      metasiteId?: string;\n  }\n  interface CampaignLookupBatchRequest {\n      campaignIds?: string[];\n  }\n  interface CampaignLookupBatchResponse {\n      responses?: CampaignLookupResponse[];\n  }\n  /** Sent when status of the campaign is changed from \"Active\" to \"Archived\" */\n  interface CampaignArchivedEvent {\n      /** ID of the campaign that was archived. */\n      campaignId?: string;\n  }\n  /** Sent when status of the campaign is changed from \"Archived\" to \"Active\" */\n  interface CampaignUnarchivedEvent {\n      /** ID of the campaign whose status was changed to active. */\n      campaignId?: string;\n  }\n  interface GetCampaignRequest {\n      /** Campaign ID. */\n      campaignId: string;\n      /** If true, campaign should contain statistics (default is 'false'). */\n      optionIncludeStatistics?: boolean;\n  }\n  interface GetCampaignResponse {\n      /** Campaign information. */\n      campaign?: Campaign;\n  }\n  interface ListCampaignsRequest {\n      /** Paging parameters. */\n      paging?: Paging;\n      /** Whether a campaign should contain statistics (default is 'false'). */\n      optionIncludeStatistics?: boolean;\n      /** Include campaigns with the following statuses (no filtering by default). */\n      statuses?: CampaignStatusEnum[];\n      /** Include campaigns with the following visibility statuses (no filtering by default). */\n      visibilityStatuses?: CampaignVisibilityStatusEnum[];\n      /** Filter by the following campaign types. */\n      campaignType?: CampaignTypeEnum;\n      /**\n       * Include campaigns with the following distribution statuses (no filtering by default).\n       * @internal\n       */\n      distributionStatuses?: Enum[];\n      /**\n       * Filter campaigns by publish date (no filtering by default).\n       * @internal\n       */\n      datePublishedFrom?: Date;\n      /** @internal */\n      datePublishedTo?: Date;\n      /**\n       * Filter by subject line\n       * @internal\n       */\n      subjectSubstring?: string | null;\n  }\n  interface ListCampaignsResponse {\n      /** Paging parameters. */\n      paging?: Paging;\n      /** List of campaigns. */\n      campaigns?: Campaign[];\n  }\n  interface CreateFromTemplateRequest {\n      /** ID of the template to fork. */\n      templateId: string;\n      /** Values to replace template placeholders with (unique for each template). */\n      variables?: Record<string, string>;\n      /** Campaign type. */\n      campaignType?: CampaignTypeEnum;\n      /** Campaign editor type. Either web app or mobile app. */\n      campaignEditorType?: CampaignEditorTypeEnum;\n  }\n  interface CreateFromTemplateResponse {\n      /** Campaign information. */\n      campaign?: Campaign;\n  }\n  interface PublishCampaignRequest {\n      /** Campaign ID */\n      campaignId: string;\n      /** Email distribution options - provided only if marketing campaign is intended to be distributed via email. */\n      emailDistributionOptions?: EmailDistributionOptions;\n  }\n  interface EmailDistributionOptions {\n      /** Subject of an email sent to recipient. */\n      emailSubject?: string | null;\n      /** Label IDs to send campaign to. */\n      labelIds?: string[];\n      /** Contact IDs to send campaign to. */\n      contactIds?: string[];\n      /** Filter ids to send campaign to. */\n      filterIds?: string[];\n      /** For scheduling (at least one hour in the future, for premium users only). */\n      sendAt?: Date;\n      /**\n       * Contacts filter expression (json).\n       * @internal\n       */\n      contactsFilter?: Record<string, any> | null;\n      /**\n       * Segment ids to send campaign to.\n       * @internal\n       */\n      segmentIds?: string[];\n      /**\n       * Should \"inactive\" contacts be excluded or not (default value \"false\").\n       * @internal\n       */\n      activeContactsOnly?: boolean;\n  }\n  interface PublishCampaignResponse {\n      /** `publishingData.statistics` will be empty. */\n      publishingData?: PublishingData;\n  }\n  interface CampaignRejectedEvent {\n      /** ID of the campaign that was rejected. */\n      campaignId?: string;\n  }\n  interface CampaignPublishedEvent {\n      /** ID of the campaign that was published. */\n      campaignId?: string;\n      /** Campaign landing page URL. */\n      landingPageUrl?: string;\n      /** Estimation of recipient list size (optional). */\n      mailingListSizeEstimate?: number | null;\n  }\n  interface CampaignTerminatedEvent {\n      /** ID of the campaign that was terminated. */\n      campaignId?: string;\n  }\n  interface CampaignDistributedEvent {\n      /** ID of the campaign that was distributed. */\n      campaignId?: string;\n  }\n  interface EmailActivityUpdated extends EmailActivityUpdatedEventTypeOneOf {\n      /** Campaign ID. */\n      campaignId?: string;\n      /** [Contact ID](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-object) of recipient. */\n      contactId?: string;\n      /** Email address of recipient. */\n      recipientEmailAddress?: string;\n      /** Date and time of the event. */\n      timestamp?: Date;\n      activityType?: ActivityType;\n      click?: Click;\n      /** Recipient opened an email. */\n      open?: Open;\n      /**\n       * Email soft bounced when sent to a recipient.\n       *\n       * Indicates a temporary issue sending your email. For example, the email server receiving the email is under a heavy load.\n       * For soft bounces, you should wait and try again at a later time.\n       */\n      softBounce?: SoftBounce;\n      /**\n       * Email hard bounced when sent to a recipient.\n       *\n       * Indicates a permanent error sending your email. For example, the email address does not exist.\n       */\n      hardBounce?: HardBounce;\n  }\n  /** @oneof */\n  interface EmailActivityUpdatedEventTypeOneOf {\n      click?: Click;\n      /** Recipient opened an email. */\n      open?: Open;\n      /**\n       * Email soft bounced when sent to a recipient.\n       *\n       * Indicates a temporary issue sending your email. For example, the email server receiving the email is under a heavy load.\n       * For soft bounces, you should wait and try again at a later time.\n       */\n      softBounce?: SoftBounce;\n      /**\n       * Email hard bounced when sent to a recipient.\n       *\n       * Indicates a permanent error sending your email. For example, the email address does not exist.\n       */\n      hardBounce?: HardBounce;\n  }\n  /** The type of email activity that triggered the webhook. */\n  enum ActivityType {\n      /** Triggered when email is delivered to the recipient. */\n      DELIVERY = \"DELIVERY\",\n      /** Triggered when the recipient clicks on an url inside of the email. */\n      CLICK = \"CLICK\",\n      /** Triggered when the email is opened by the recipient. */\n      OPEN = \"OPEN\",\n      /** Triggered when the email is bounced softly. */\n      SOFT_BOUNCE = \"SOFT_BOUNCE\",\n      /** Triggered when the email bounces. */\n      HARD_BOUNCED = \"HARD_BOUNCED\"\n  }\n  interface Click {\n      /** URL that was clicked. */\n      url?: string;\n      /** Browser user agent of the recipient. */\n      userAgent?: string;\n  }\n  interface Open {\n      /** Browser user agent of the recipient. */\n      userAgent?: string;\n  }\n  interface SoftBounce {\n      /** Reason the email soft bounced. */\n      reason?: string;\n  }\n  interface HardBounce {\n      /** Reason the email hard bounced. */\n      reason?: string;\n  }\n  interface CampaignScheduledEvent {\n      /** ID of the campaign that was scheduled. */\n      campaignId?: string;\n      /** The timestamp campaign is scheduled for. */\n      sendAt?: Date;\n      /**\n       * Shows if this is a rescheduling of previously scheduled campaign.\n       * @internal\n       */\n      rescheduled?: boolean;\n  }\n  interface SendTestRequest {\n      /** Campaign ID. */\n      campaignId: string;\n      /** Subject of an email sent to recipient. */\n      emailSubject?: string | null;\n      /** Recipient's email address. */\n      toEmailAddress: string;\n      /**\n       * Values to replace campaign placeholders with (unique for each campaign).\n       * @internal\n       */\n      variables?: Record<string, PlaceholderValue>;\n      /**\n       * Preferred language for campaign content (optional).\n       * @internal\n       */\n      language?: string | null;\n      /**\n       * Values to replace campaign placeholders with (unique for each campaign).\n       * @internal\n       */\n      placeholders?: Record<string, PlaceholderContent>;\n      /**\n       * Sender from name.\n       * @internal\n       */\n      fromName?: string | null;\n      /**\n       * Reply-to email address.\n       * @internal\n       */\n      replyToEmailAddress?: string | null;\n  }\n  interface PlaceholderValue {\n      /** Placeholder value (string or stringified JSON). */\n      value?: string;\n      /** Placeholder type. */\n      valueType?: Type;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      HTML = \"HTML\",\n      LIVE_SITE_LINK = \"LIVE_SITE_LINK\",\n      BACKOFFICE_LINK = \"BACKOFFICE_LINK\",\n      MONEY = \"MONEY\",\n      DATETIME = \"DATETIME\",\n      DATETIME_WITH_TIMEZONE = \"DATETIME_WITH_TIMEZONE\",\n      ENUM = \"ENUM\"\n  }\n  interface PlaceholderContent extends PlaceholderContentValueOneOf {\n      text?: PlainText;\n      html?: Html;\n      money?: Money;\n      dateTime?: DateTime;\n      map?: Map;\n      array?: Array;\n      enum?: PlaceholderContentEnum;\n  }\n  /** @oneof */\n  interface PlaceholderContentValueOneOf {\n      text?: PlainText;\n      html?: Html;\n      money?: Money;\n      dateTime?: DateTime;\n      map?: Map;\n      array?: Array;\n      enum?: PlaceholderContentEnum;\n  }\n  interface PlainText {\n      text?: string;\n  }\n  interface Html {\n      html?: string;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface DateTime {\n      timestamp?: Date;\n      /** optional time zone is the full name. example: \"Asia/Jerusalem\" */\n      timeZone?: string | null;\n  }\n  interface Map {\n      variables?: Record<string, PlaceholderContent>;\n  }\n  interface Array {\n      items?: PlaceholderContent[];\n  }\n  interface PlaceholderContentEnum {\n      value?: string;\n      translation?: string;\n  }\n  interface SendTestResponse {\n  }\n  interface PauseSchedulingRequest {\n      /** Campaign ID. */\n      campaignId: string;\n  }\n  interface PauseSchedulingResponse {\n  }\n  interface CampaignPausedEvent {\n      /** ID of the campaign that was paused. */\n      campaignId?: string;\n  }\n  interface ArchiveCampaignRequest {\n      /** ID of the campaign to archive. */\n      campaignId: string;\n  }\n  interface ArchiveCampaignResponse {\n  }\n  interface UnarchiveCampaignRequest {\n      /** ID of the campaign to unarchive. */\n      campaignId: string;\n  }\n  interface UnarchiveCampaignResponse {\n  }\n  interface UpdateTitleRequest {\n      /** ID of the campaign to change title of. */\n      campaignId: string;\n      title: string;\n  }\n  interface UpdateTitleResponse {\n  }\n  interface DeleteCampaignRequest {\n      /** Campaign ID. */\n      campaignId: string;\n  }\n  interface DeleteCampaignResponse {\n  }\n  interface ReuseCampaignRequest {\n      /** ID of the message to be duplicated. */\n      campaignId: string;\n  }\n  interface ReuseCampaignResponse {\n      /** Campaign information. */\n      campaign?: Campaign;\n  }\n  interface CreatePublishedAutomationRequest {\n      /** ID of the template to fork. */\n      templateId: string;\n      /** Values to replace template placeholders with (unique for each template). */\n      variables?: Record<string, string>;\n  }\n  interface CreatePublishedAutomationResponse {\n      /** Campaign information. */\n      campaign?: Campaign;\n  }\n  interface PreviewCampaignRequest {\n      /** ID of the campaign to preview. */\n      campaignId: string;\n      /** Values to replace campaign placeholders with (unique for each campaign). */\n      variables?: Record<string, PlaceholderValue>;\n      /** Preferred language for campaign content (optional). */\n      language?: string | null;\n      /** Values to replace campaign placeholders with (unique for each campaign). */\n      placeholders?: Record<string, PlaceholderContent>;\n  }\n  interface PreviewCampaignResponse {\n      /** Preview HTML. */\n      html?: string;\n  }\n  interface GetComposerRequest {\n      /** Campaign ID. */\n      campaignId: string;\n  }\n  interface GetComposerResponse {\n      /** composer */\n      composer?: Composer;\n  }\n  /** INTERNAL */\n  interface Composer {\n      /** internal data structure for editor/viewer to render the campaign */\n      composerDataJson?: string;\n  }\n  interface CreateCampaignRequest {\n      /** Campaign composer. */\n      composer: Composer;\n  }\n  interface CreateCampaignResponse {\n      /** Campaign information. */\n      campaign?: Campaign;\n  }\n  interface ResendToNonOpenersRequest {\n      /** ID of the campaign to resend. */\n      campaignId: string;\n      /** Resend email message subject line. */\n      emailSubject?: string | null;\n  }\n  interface ResendToNonOpenersResponse {\n      /** ID of the newly created and resent campaign */\n      campaignId?: string;\n  }\n  /**\n   * Retrieves a list of statistics for up to 100 selected campaigns.\n   *\n   * For each campaign, you receive the total activity count for the campaign's landing page and email. For example, the total\n   * amount of times the landing page was opened, or the total amount of email recipients that clicked a link in an email.\n   *\n   * Use [List Campaigns](https://dev.wix.com/api/rest/marketing/email-marketing/campaign/list-campaigns) to retrieve additional information for your campaigns.\n   * Use [List Recipients](https://dev.wix.com/api/rest/marketing/email-marketing/campaign/list-recipients) to retrieve a list of recipients and their activities related to a selected campaign.\n   * @param campaignIds - IDs of the campaigns to retrieve.\n   *\n   * Max: 100 campaigns\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignIds\n   */\n  function listStatistics(campaignIds: string[]): Promise<ListStatisticsResponse>;\n  /**\n   * Retrieves a list of recipients for a selected campaign based on a specific recipient activity.\n   *\n   * Pages are returned with a maximum of 1,000 recipients per page and defaults to 40 recipients per page.\n   *\n   * Use [List Statistics](https://dev.wix.com/api/rest/marketing/email-marketing/campaign/list-statistics) to retrieve a list of activity for selected campaigns.\n   * Use [List Campaigns](https://dev.wix.com/api/rest/marketing/email-marketing/campaign/list-campaigns) to retrieve additional information for your campaigns.\n   *\n   * > __Note__: If no `activity` is included, this endpoint returns an error.\n   * @param campaignId - Campaign ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function listRecipients(campaignId: string, options?: ListRecipientsOptions): Promise<ListRecipientsResponse>;\n  interface ListRecipientsOptions {\n      /** __Required.__ Email activity to filter for. */\n      activity?: RecipientsActivityEnum;\n      /** Pagination options. */\n      paging?: CursorPaging;\n  }\n  /**\n   * get campaign mapping for automation\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.automationRuleId\n   * @requiredField identifiers.templateId\n   */\n  function getCampaignMapping(identifiers: GetCampaignMappingIdentifiers): Promise<GetCampaignMappingResponse>;\n  interface GetCampaignMappingIdentifiers {\n      /** rule ID in automations */\n      automationRuleId: string;\n      /** template ID configured for the automation */\n      templateId: string;\n  }\n  /**\n   * get campaign mapping for ping\n   * @param streamId - ping stream ID.\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.automationRuleId\n   * @requiredField identifiers.templateId\n   * @requiredField options.appDefId\n   * @requiredField options.language\n   * @requiredField streamId\n   */\n  function getPingCampaignMapping(identifiers: GetPingCampaignMappingIdentifiers, streamId: string, options?: GetPingCampaignMappingOptions): Promise<GetPingCampaignMappingResponse>;\n  interface GetPingCampaignMappingIdentifiers {\n      /** rule ID in automations */\n      automationRuleId: string;\n      /** template ID configured for the ping automation. */\n      templateId: string;\n  }\n  interface GetPingCampaignMappingOptions {\n      /** ID of the initiating vertical. */\n      appDefId: string;\n      /** Ping template ID. */\n      pingTemplateId?: string | null;\n      /** Preferred language (optional). */\n      language: string;\n  }\n  /**\n   * query automation templates from \"action-triggers-server\" (enriched with campaignId and metaSiteId)\n   * https://github.com/wix-private/crm/blob/master/action-triggers-server/action-triggers-integrator-idl/src/main/proto/services/AutomationTemplatesService.proto#L100\n   * NOTE: it does not support multi-step automations - enrichment will happen for the first shoutout template id found\n   * @documentationMaturity preview */\n  function queryAutomationTemplates(options?: QueryAutomationTemplatesOptions): Promise<QueryAutomationTemplatesResponse>;\n  interface QueryAutomationTemplatesOptions {\n      /** https://github.com/wix-private/p13n/blob/master/protos/query/src/main/proto/wix/common/query.proto */\n      query?: Query;\n  }\n  /** @documentationMaturity preview */\n  function queryAppTemplates(options?: QueryAppTemplatesOptions): Promise<QueryAppTemplatesResponse>;\n  interface QueryAppTemplatesOptions {\n      queryType?: TemplateQueryType;\n  }\n  /** @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function campaignLookup(campaignId: string): Promise<CampaignLookupResponse>;\n  /** @documentationMaturity preview */\n  function campaignLookupBatch(options?: CampaignLookupBatchOptions): Promise<CampaignLookupBatchResponse>;\n  interface CampaignLookupBatchOptions {\n      campaignIds?: string[];\n  }\n  /**\n   * Retrieves information about an email campaign.\n   * @param campaignId - Campaign ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function getCampaign(campaignId: string, options?: GetCampaignOptions): Promise<GetCampaignResponse>;\n  interface GetCampaignOptions {\n      /** If true, campaign should contain statistics (default is 'false'). */\n      optionIncludeStatistics?: boolean;\n  }\n  /**\n   * Returns a list of email campaigns. These are always ordered by `date_updated` in descending order.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listCampaigns(options?: ListCampaignsOptions): Promise<ListCampaignsResponse>;\n  interface ListCampaignsOptions {\n      /** Paging parameters. */\n      paging?: Paging;\n      /** Whether a campaign should contain statistics (default is 'false'). */\n      optionIncludeStatistics?: boolean;\n      /** Include campaigns with the following statuses (no filtering by default). */\n      statuses?: CampaignStatusEnum[];\n      /** Include campaigns with the following visibility statuses (no filtering by default). */\n      visibilityStatuses?: CampaignVisibilityStatusEnum[];\n      /** Filter by the following campaign types. */\n      campaignType?: CampaignTypeEnum;\n      /**\n       * Include campaigns with the following distribution statuses (no filtering by default).\n       * @internal\n       */\n      distributionStatuses?: Enum[];\n      /**\n       * Filter campaigns by publish date (no filtering by default).\n       * @internal\n       */\n      datePublishedFrom?: Date;\n      /** @internal */\n      datePublishedTo?: Date;\n      /**\n       * Filter by subject line\n       * @internal\n       */\n      subjectSubstring?: string | null;\n  }\n  /**\n   * Creates a new draft campaign from a specified template.\n   * It can be accessed from TemplateService by tag, or you can ask your designer.\n   * @param templateId - ID of the template to fork.\n   * @documentationMaturity preview\n   * @requiredField templateId\n   */\n  function createFromTemplate(templateId: string, options?: CreateFromTemplateOptions): Promise<CreateFromTemplateResponse>;\n  interface CreateFromTemplateOptions {\n      /** Values to replace template placeholders with (unique for each template). */\n      variables?: Record<string, string>;\n      /** Campaign type. */\n      campaignType?: CampaignTypeEnum;\n      /** Campaign editor type. Either web app or mobile app. */\n      campaignEditorType?: CampaignEditorTypeEnum;\n  }\n  /**\n   * Publishes/sends a specified campaign.\n   * If `email_distribution_options` are not supplied, the campaign is only published as a landing page.\n   * @param campaignId - Campaign ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function publishCampaign(campaignId: string, options?: PublishCampaignOptions): Promise<PublishCampaignResponse>;\n  interface PublishCampaignOptions {\n      /** Email distribution options - provided only if marketing campaign is intended to be distributed via email. */\n      emailDistributionOptions?: EmailDistributionOptions;\n  }\n  /**\n   * Sends a test email for preview purposes. It is heavily throttled - do not use this for regular campaign sending.\n   * @param campaignId - Campaign ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @requiredField options.toEmailAddress\n   */\n  function sendTest(campaignId: string, options?: SendTestOptions): Promise<void>;\n  interface SendTestOptions {\n      /** Subject of an email sent to recipient. */\n      emailSubject?: string | null;\n      /** Recipient's email address. */\n      toEmailAddress: string;\n      /**\n       * Values to replace campaign placeholders with (unique for each campaign).\n       * @internal\n       */\n      variables?: Record<string, PlaceholderValue>;\n      /**\n       * Preferred language for campaign content (optional).\n       * @internal\n       */\n      language?: string | null;\n      /**\n       * Values to replace campaign placeholders with (unique for each campaign).\n       * @internal\n       */\n      placeholders?: Record<string, PlaceholderContent>;\n      /**\n       * Sender from name.\n       * @internal\n       */\n      fromName?: string | null;\n      /**\n       * Reply-to email address.\n       * @internal\n       */\n      replyToEmailAddress?: string | null;\n  }\n  /**\n   * Pauses a scheduled campaign. Learn more about [market campaign scheduling](https://support.wix.com/en/article/managing-your-scheduled-email-marketing-campaign).\n   * @param campaignId - Campaign ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function pauseScheduling(campaignId: string): Promise<void>;\n  /**\n   * Marks a campaign as archived\n   * @param campaignId - ID of the campaign to archive.\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function archiveCampaign(campaignId: string): Promise<void>;\n  /**\n   * Marks a campaign as active\n   * @param campaignId - ID of the campaign to unarchive.\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function unarchiveCampaign(campaignId: string): Promise<void>;\n  /**\n   * Changes title of the campaign\n   * @param campaignId - ID of the campaign to change title of.\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @requiredField title\n   */\n  function updateTitle(campaignId: string, title: string): Promise<void>;\n  /**\n   * Deletes a campaign (cannot be undone).\n   * @param campaignId - Campaign ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function deleteCampaign(campaignId: string): Promise<void>;\n  /**\n   * Creates a (draft) copy of an existing campaign.\n   * @param campaignId - ID of the message to be duplicated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function reuseCampaign(campaignId: string): Promise<ReuseCampaignResponse>;\n  /**\n   * Used by verticals that need to create automations that are already enabled.\n   * @param templateId - ID of the template to fork.\n   * @documentationMaturity preview\n   * @requiredField templateId\n   */\n  function createPublishedAutomation(templateId: string, options?: CreatePublishedAutomationOptions): Promise<CreatePublishedAutomationResponse>;\n  interface CreatePublishedAutomationOptions {\n      /** Values to replace template placeholders with (unique for each template). */\n      variables?: Record<string, string>;\n  }\n  /**\n   * Build an HTML preview of the campaign. Useful if you need to show the user what their email will look like.\n   * @param campaignId - ID of the campaign to preview.\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function preview(campaignId: string, options?: PreviewOptions): Promise<PreviewCampaignResponse>;\n  interface PreviewOptions {\n      /** Values to replace campaign placeholders with (unique for each campaign). */\n      variables?: Record<string, PlaceholderValue>;\n      /** Preferred language for campaign content (optional). */\n      language?: string | null;\n      /** Values to replace campaign placeholders with (unique for each campaign). */\n      placeholders?: Record<string, PlaceholderContent>;\n  }\n  /**\n   * For internal use.\n   * @param campaignId - Campaign ID.\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function getComposer(campaignId: string): Promise<GetComposerResponse>;\n  /**\n   * For internal use.\n   * @param composer - Campaign composer.\n   * @documentationMaturity preview\n   * @requiredField composer\n   * @requiredField composer.composerDataJson\n   */\n  function create(composer: Composer): Promise<CreateCampaignResponse>;\n  /**\n   * Resends a copy of campaign to users that did not open it. Different subject line may be used for the new campaign if necessary.\n   * @param campaignId - ID of the campaign to resend.\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   */\n  function resendToNonOpeners(campaignId: string, options?: ResendToNonOpenersOptions): Promise<ResendToNonOpenersResponse>;\n  interface ResendToNonOpenersOptions {\n      /** Resend email message subject line. */\n      emailSubject?: string | null;\n  }\n  \n  const emailMarketingV1Campaign_universal_d___debug: typeof __debug;\n  type emailMarketingV1Campaign_universal_d_Campaign = Campaign;\n  type emailMarketingV1Campaign_universal_d_CampaignEditorTypeEnum = CampaignEditorTypeEnum;\n  const emailMarketingV1Campaign_universal_d_CampaignEditorTypeEnum: typeof CampaignEditorTypeEnum;\n  type emailMarketingV1Campaign_universal_d_CampaignStatusEnum = CampaignStatusEnum;\n  const emailMarketingV1Campaign_universal_d_CampaignStatusEnum: typeof CampaignStatusEnum;\n  type emailMarketingV1Campaign_universal_d_CampaignVisibilityStatusEnum = CampaignVisibilityStatusEnum;\n  const emailMarketingV1Campaign_universal_d_CampaignVisibilityStatusEnum: typeof CampaignVisibilityStatusEnum;\n  type emailMarketingV1Campaign_universal_d_Enum = Enum;\n  const emailMarketingV1Campaign_universal_d_Enum: typeof Enum;\n  type emailMarketingV1Campaign_universal_d_PublishingData = PublishingData;\n  type emailMarketingV1Campaign_universal_d_CampaignStatistics = CampaignStatistics;\n  type emailMarketingV1Campaign_universal_d_LandingPageStatistics = LandingPageStatistics;\n  type emailMarketingV1Campaign_universal_d_DistributionStatistics = DistributionStatistics;\n  type emailMarketingV1Campaign_universal_d_TotalStatistics = TotalStatistics;\n  type emailMarketingV1Campaign_universal_d_RejectionData = RejectionData;\n  type emailMarketingV1Campaign_universal_d_RejectionReasonEnum = RejectionReasonEnum;\n  const emailMarketingV1Campaign_universal_d_RejectionReasonEnum: typeof RejectionReasonEnum;\n  type emailMarketingV1Campaign_universal_d_CampaignSendingStateEnum = CampaignSendingStateEnum;\n  const emailMarketingV1Campaign_universal_d_CampaignSendingStateEnum: typeof CampaignSendingStateEnum;\n  type emailMarketingV1Campaign_universal_d_CampaignTypeEnum = CampaignTypeEnum;\n  const emailMarketingV1Campaign_universal_d_CampaignTypeEnum: typeof CampaignTypeEnum;\n  type emailMarketingV1Campaign_universal_d_ListStatisticsRequest = ListStatisticsRequest;\n  type emailMarketingV1Campaign_universal_d_ListStatisticsResponse = ListStatisticsResponse;\n  type emailMarketingV1Campaign_universal_d_CampaignStatisticsContainer = CampaignStatisticsContainer;\n  type emailMarketingV1Campaign_universal_d_ListRecipientsRequest = ListRecipientsRequest;\n  type emailMarketingV1Campaign_universal_d_RecipientsActivityEnum = RecipientsActivityEnum;\n  const emailMarketingV1Campaign_universal_d_RecipientsActivityEnum: typeof RecipientsActivityEnum;\n  type emailMarketingV1Campaign_universal_d_CursorPaging = CursorPaging;\n  type emailMarketingV1Campaign_universal_d_ListRecipientsResponse = ListRecipientsResponse;\n  type emailMarketingV1Campaign_universal_d_CampaignRecipientDetails = CampaignRecipientDetails;\n  type emailMarketingV1Campaign_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type emailMarketingV1Campaign_universal_d_Cursors = Cursors;\n  type emailMarketingV1Campaign_universal_d_GetCampaignMappingRequest = GetCampaignMappingRequest;\n  type emailMarketingV1Campaign_universal_d_GetCampaignMappingResponse = GetCampaignMappingResponse;\n  type emailMarketingV1Campaign_universal_d_GetPingCampaignMappingRequest = GetPingCampaignMappingRequest;\n  type emailMarketingV1Campaign_universal_d_GetPingCampaignMappingResponse = GetPingCampaignMappingResponse;\n  type emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesRequest = QueryAutomationTemplatesRequest;\n  type emailMarketingV1Campaign_universal_d_Query = Query;\n  type emailMarketingV1Campaign_universal_d_Sorting = Sorting;\n  type emailMarketingV1Campaign_universal_d_SortOrder = SortOrder;\n  const emailMarketingV1Campaign_universal_d_SortOrder: typeof SortOrder;\n  type emailMarketingV1Campaign_universal_d_Paging = Paging;\n  type emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesResponse = QueryAutomationTemplatesResponse;\n  type emailMarketingV1Campaign_universal_d_AutomationTemplateContainer = AutomationTemplateContainer;\n  type emailMarketingV1Campaign_universal_d_AutomationTemplate = AutomationTemplate;\n  type emailMarketingV1Campaign_universal_d_RuleConfiguration = RuleConfiguration;\n  type emailMarketingV1Campaign_universal_d_ConditionConfiguration = ConditionConfiguration;\n  type emailMarketingV1Campaign_universal_d_Operator = Operator;\n  const emailMarketingV1Campaign_universal_d_Operator: typeof Operator;\n  type emailMarketingV1Campaign_universal_d_TriggerConfiguration = TriggerConfiguration;\n  type emailMarketingV1Campaign_universal_d_ActionConfiguration = ActionConfiguration;\n  type emailMarketingV1Campaign_universal_d_RuleStatus = RuleStatus;\n  const emailMarketingV1Campaign_universal_d_RuleStatus: typeof RuleStatus;\n  type emailMarketingV1Campaign_universal_d_ActivationCycle = ActivationCycle;\n  type emailMarketingV1Campaign_universal_d_RuleMetadata = RuleMetadata;\n  type emailMarketingV1Campaign_universal_d_VersionType = VersionType;\n  const emailMarketingV1Campaign_universal_d_VersionType: typeof VersionType;\n  type emailMarketingV1Campaign_universal_d_TemplateType = TemplateType;\n  const emailMarketingV1Campaign_universal_d_TemplateType: typeof TemplateType;\n  type emailMarketingV1Campaign_universal_d_Precondition = Precondition;\n  type emailMarketingV1Campaign_universal_d_PreconditionType = PreconditionType;\n  const emailMarketingV1Campaign_universal_d_PreconditionType: typeof PreconditionType;\n  type emailMarketingV1Campaign_universal_d_TemplateState = TemplateState;\n  const emailMarketingV1Campaign_universal_d_TemplateState: typeof TemplateState;\n  type emailMarketingV1Campaign_universal_d_Translation = Translation;\n  type emailMarketingV1Campaign_universal_d_TranslationState = TranslationState;\n  const emailMarketingV1Campaign_universal_d_TranslationState: typeof TranslationState;\n  type emailMarketingV1Campaign_universal_d_AutomationTemplateEnrichmentData = AutomationTemplateEnrichmentData;\n  type emailMarketingV1Campaign_universal_d_QueryMetadata = QueryMetadata;\n  type emailMarketingV1Campaign_universal_d_QueryAppTemplatesRequest = QueryAppTemplatesRequest;\n  type emailMarketingV1Campaign_universal_d_TemplateQueryType = TemplateQueryType;\n  const emailMarketingV1Campaign_universal_d_TemplateQueryType: typeof TemplateQueryType;\n  type emailMarketingV1Campaign_universal_d_QueryAppTemplatesResponse = QueryAppTemplatesResponse;\n  type emailMarketingV1Campaign_universal_d_TemplateData = TemplateData;\n  type emailMarketingV1Campaign_universal_d_CampaignLookupRequest = CampaignLookupRequest;\n  type emailMarketingV1Campaign_universal_d_CampaignLookupResponse = CampaignLookupResponse;\n  type emailMarketingV1Campaign_universal_d_CampaignLookupBatchRequest = CampaignLookupBatchRequest;\n  type emailMarketingV1Campaign_universal_d_CampaignLookupBatchResponse = CampaignLookupBatchResponse;\n  type emailMarketingV1Campaign_universal_d_CampaignArchivedEvent = CampaignArchivedEvent;\n  type emailMarketingV1Campaign_universal_d_CampaignUnarchivedEvent = CampaignUnarchivedEvent;\n  type emailMarketingV1Campaign_universal_d_GetCampaignRequest = GetCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_GetCampaignResponse = GetCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_ListCampaignsRequest = ListCampaignsRequest;\n  type emailMarketingV1Campaign_universal_d_ListCampaignsResponse = ListCampaignsResponse;\n  type emailMarketingV1Campaign_universal_d_CreateFromTemplateRequest = CreateFromTemplateRequest;\n  type emailMarketingV1Campaign_universal_d_CreateFromTemplateResponse = CreateFromTemplateResponse;\n  type emailMarketingV1Campaign_universal_d_PublishCampaignRequest = PublishCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_EmailDistributionOptions = EmailDistributionOptions;\n  type emailMarketingV1Campaign_universal_d_PublishCampaignResponse = PublishCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_CampaignRejectedEvent = CampaignRejectedEvent;\n  type emailMarketingV1Campaign_universal_d_CampaignPublishedEvent = CampaignPublishedEvent;\n  type emailMarketingV1Campaign_universal_d_CampaignTerminatedEvent = CampaignTerminatedEvent;\n  type emailMarketingV1Campaign_universal_d_CampaignDistributedEvent = CampaignDistributedEvent;\n  type emailMarketingV1Campaign_universal_d_EmailActivityUpdated = EmailActivityUpdated;\n  type emailMarketingV1Campaign_universal_d_EmailActivityUpdatedEventTypeOneOf = EmailActivityUpdatedEventTypeOneOf;\n  type emailMarketingV1Campaign_universal_d_ActivityType = ActivityType;\n  const emailMarketingV1Campaign_universal_d_ActivityType: typeof ActivityType;\n  type emailMarketingV1Campaign_universal_d_Click = Click;\n  type emailMarketingV1Campaign_universal_d_Open = Open;\n  type emailMarketingV1Campaign_universal_d_SoftBounce = SoftBounce;\n  type emailMarketingV1Campaign_universal_d_HardBounce = HardBounce;\n  type emailMarketingV1Campaign_universal_d_CampaignScheduledEvent = CampaignScheduledEvent;\n  type emailMarketingV1Campaign_universal_d_SendTestRequest = SendTestRequest;\n  type emailMarketingV1Campaign_universal_d_PlaceholderValue = PlaceholderValue;\n  type emailMarketingV1Campaign_universal_d_Type = Type;\n  const emailMarketingV1Campaign_universal_d_Type: typeof Type;\n  type emailMarketingV1Campaign_universal_d_PlaceholderContent = PlaceholderContent;\n  type emailMarketingV1Campaign_universal_d_PlaceholderContentValueOneOf = PlaceholderContentValueOneOf;\n  type emailMarketingV1Campaign_universal_d_PlainText = PlainText;\n  type emailMarketingV1Campaign_universal_d_Html = Html;\n  type emailMarketingV1Campaign_universal_d_Money = Money;\n  type emailMarketingV1Campaign_universal_d_DateTime = DateTime;\n  type emailMarketingV1Campaign_universal_d_Map = Map;\n  type emailMarketingV1Campaign_universal_d_Array = Array;\n  type emailMarketingV1Campaign_universal_d_PlaceholderContentEnum = PlaceholderContentEnum;\n  type emailMarketingV1Campaign_universal_d_SendTestResponse = SendTestResponse;\n  type emailMarketingV1Campaign_universal_d_PauseSchedulingRequest = PauseSchedulingRequest;\n  type emailMarketingV1Campaign_universal_d_PauseSchedulingResponse = PauseSchedulingResponse;\n  type emailMarketingV1Campaign_universal_d_CampaignPausedEvent = CampaignPausedEvent;\n  type emailMarketingV1Campaign_universal_d_ArchiveCampaignRequest = ArchiveCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_ArchiveCampaignResponse = ArchiveCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_UnarchiveCampaignRequest = UnarchiveCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_UnarchiveCampaignResponse = UnarchiveCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_UpdateTitleRequest = UpdateTitleRequest;\n  type emailMarketingV1Campaign_universal_d_UpdateTitleResponse = UpdateTitleResponse;\n  type emailMarketingV1Campaign_universal_d_DeleteCampaignRequest = DeleteCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_DeleteCampaignResponse = DeleteCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_ReuseCampaignRequest = ReuseCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_ReuseCampaignResponse = ReuseCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_CreatePublishedAutomationRequest = CreatePublishedAutomationRequest;\n  type emailMarketingV1Campaign_universal_d_CreatePublishedAutomationResponse = CreatePublishedAutomationResponse;\n  type emailMarketingV1Campaign_universal_d_PreviewCampaignRequest = PreviewCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_PreviewCampaignResponse = PreviewCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_GetComposerRequest = GetComposerRequest;\n  type emailMarketingV1Campaign_universal_d_GetComposerResponse = GetComposerResponse;\n  type emailMarketingV1Campaign_universal_d_Composer = Composer;\n  type emailMarketingV1Campaign_universal_d_CreateCampaignRequest = CreateCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_CreateCampaignResponse = CreateCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_ResendToNonOpenersRequest = ResendToNonOpenersRequest;\n  type emailMarketingV1Campaign_universal_d_ResendToNonOpenersResponse = ResendToNonOpenersResponse;\n  const emailMarketingV1Campaign_universal_d_listStatistics: typeof listStatistics;\n  const emailMarketingV1Campaign_universal_d_listRecipients: typeof listRecipients;\n  type emailMarketingV1Campaign_universal_d_ListRecipientsOptions = ListRecipientsOptions;\n  const emailMarketingV1Campaign_universal_d_getCampaignMapping: typeof getCampaignMapping;\n  type emailMarketingV1Campaign_universal_d_GetCampaignMappingIdentifiers = GetCampaignMappingIdentifiers;\n  const emailMarketingV1Campaign_universal_d_getPingCampaignMapping: typeof getPingCampaignMapping;\n  type emailMarketingV1Campaign_universal_d_GetPingCampaignMappingIdentifiers = GetPingCampaignMappingIdentifiers;\n  type emailMarketingV1Campaign_universal_d_GetPingCampaignMappingOptions = GetPingCampaignMappingOptions;\n  const emailMarketingV1Campaign_universal_d_queryAutomationTemplates: typeof queryAutomationTemplates;\n  type emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesOptions = QueryAutomationTemplatesOptions;\n  const emailMarketingV1Campaign_universal_d_queryAppTemplates: typeof queryAppTemplates;\n  type emailMarketingV1Campaign_universal_d_QueryAppTemplatesOptions = QueryAppTemplatesOptions;\n  const emailMarketingV1Campaign_universal_d_campaignLookup: typeof campaignLookup;\n  const emailMarketingV1Campaign_universal_d_campaignLookupBatch: typeof campaignLookupBatch;\n  type emailMarketingV1Campaign_universal_d_CampaignLookupBatchOptions = CampaignLookupBatchOptions;\n  const emailMarketingV1Campaign_universal_d_getCampaign: typeof getCampaign;\n  type emailMarketingV1Campaign_universal_d_GetCampaignOptions = GetCampaignOptions;\n  const emailMarketingV1Campaign_universal_d_listCampaigns: typeof listCampaigns;\n  type emailMarketingV1Campaign_universal_d_ListCampaignsOptions = ListCampaignsOptions;\n  const emailMarketingV1Campaign_universal_d_createFromTemplate: typeof createFromTemplate;\n  type emailMarketingV1Campaign_universal_d_CreateFromTemplateOptions = CreateFromTemplateOptions;\n  const emailMarketingV1Campaign_universal_d_publishCampaign: typeof publishCampaign;\n  type emailMarketingV1Campaign_universal_d_PublishCampaignOptions = PublishCampaignOptions;\n  const emailMarketingV1Campaign_universal_d_sendTest: typeof sendTest;\n  type emailMarketingV1Campaign_universal_d_SendTestOptions = SendTestOptions;\n  const emailMarketingV1Campaign_universal_d_pauseScheduling: typeof pauseScheduling;\n  const emailMarketingV1Campaign_universal_d_archiveCampaign: typeof archiveCampaign;\n  const emailMarketingV1Campaign_universal_d_unarchiveCampaign: typeof unarchiveCampaign;\n  const emailMarketingV1Campaign_universal_d_updateTitle: typeof updateTitle;\n  const emailMarketingV1Campaign_universal_d_deleteCampaign: typeof deleteCampaign;\n  const emailMarketingV1Campaign_universal_d_reuseCampaign: typeof reuseCampaign;\n  const emailMarketingV1Campaign_universal_d_createPublishedAutomation: typeof createPublishedAutomation;\n  type emailMarketingV1Campaign_universal_d_CreatePublishedAutomationOptions = CreatePublishedAutomationOptions;\n  const emailMarketingV1Campaign_universal_d_preview: typeof preview;\n  type emailMarketingV1Campaign_universal_d_PreviewOptions = PreviewOptions;\n  const emailMarketingV1Campaign_universal_d_getComposer: typeof getComposer;\n  const emailMarketingV1Campaign_universal_d_create: typeof create;\n  const emailMarketingV1Campaign_universal_d_resendToNonOpeners: typeof resendToNonOpeners;\n  type emailMarketingV1Campaign_universal_d_ResendToNonOpenersOptions = ResendToNonOpenersOptions;\n  namespace emailMarketingV1Campaign_universal_d {\n    export {\n      emailMarketingV1Campaign_universal_d___debug as __debug,\n      emailMarketingV1Campaign_universal_d_Campaign as Campaign,\n      emailMarketingV1Campaign_universal_d_CampaignEditorTypeEnum as CampaignEditorTypeEnum,\n      emailMarketingV1Campaign_universal_d_CampaignStatusEnum as CampaignStatusEnum,\n      emailMarketingV1Campaign_universal_d_CampaignVisibilityStatusEnum as CampaignVisibilityStatusEnum,\n      emailMarketingV1Campaign_universal_d_Enum as Enum,\n      emailMarketingV1Campaign_universal_d_PublishingData as PublishingData,\n      emailMarketingV1Campaign_universal_d_CampaignStatistics as CampaignStatistics,\n      emailMarketingV1Campaign_universal_d_LandingPageStatistics as LandingPageStatistics,\n      emailMarketingV1Campaign_universal_d_DistributionStatistics as DistributionStatistics,\n      emailMarketingV1Campaign_universal_d_TotalStatistics as TotalStatistics,\n      emailMarketingV1Campaign_universal_d_RejectionData as RejectionData,\n      emailMarketingV1Campaign_universal_d_RejectionReasonEnum as RejectionReasonEnum,\n      emailMarketingV1Campaign_universal_d_CampaignSendingStateEnum as CampaignSendingStateEnum,\n      emailMarketingV1Campaign_universal_d_CampaignTypeEnum as CampaignTypeEnum,\n      emailMarketingV1Campaign_universal_d_ListStatisticsRequest as ListStatisticsRequest,\n      emailMarketingV1Campaign_universal_d_ListStatisticsResponse as ListStatisticsResponse,\n      emailMarketingV1Campaign_universal_d_CampaignStatisticsContainer as CampaignStatisticsContainer,\n      emailMarketingV1Campaign_universal_d_ListRecipientsRequest as ListRecipientsRequest,\n      emailMarketingV1Campaign_universal_d_RecipientsActivityEnum as RecipientsActivityEnum,\n      emailMarketingV1Campaign_universal_d_CursorPaging as CursorPaging,\n      emailMarketingV1Campaign_universal_d_ListRecipientsResponse as ListRecipientsResponse,\n      emailMarketingV1Campaign_universal_d_CampaignRecipientDetails as CampaignRecipientDetails,\n      emailMarketingV1Campaign_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      emailMarketingV1Campaign_universal_d_Cursors as Cursors,\n      emailMarketingV1Campaign_universal_d_GetCampaignMappingRequest as GetCampaignMappingRequest,\n      emailMarketingV1Campaign_universal_d_GetCampaignMappingResponse as GetCampaignMappingResponse,\n      emailMarketingV1Campaign_universal_d_GetPingCampaignMappingRequest as GetPingCampaignMappingRequest,\n      emailMarketingV1Campaign_universal_d_GetPingCampaignMappingResponse as GetPingCampaignMappingResponse,\n      emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesRequest as QueryAutomationTemplatesRequest,\n      emailMarketingV1Campaign_universal_d_Query as Query,\n      emailMarketingV1Campaign_universal_d_Sorting as Sorting,\n      emailMarketingV1Campaign_universal_d_SortOrder as SortOrder,\n      emailMarketingV1Campaign_universal_d_Paging as Paging,\n      emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesResponse as QueryAutomationTemplatesResponse,\n      emailMarketingV1Campaign_universal_d_AutomationTemplateContainer as AutomationTemplateContainer,\n      emailMarketingV1Campaign_universal_d_AutomationTemplate as AutomationTemplate,\n      emailMarketingV1Campaign_universal_d_RuleConfiguration as RuleConfiguration,\n      emailMarketingV1Campaign_universal_d_ConditionConfiguration as ConditionConfiguration,\n      emailMarketingV1Campaign_universal_d_Operator as Operator,\n      emailMarketingV1Campaign_universal_d_TriggerConfiguration as TriggerConfiguration,\n      emailMarketingV1Campaign_universal_d_ActionConfiguration as ActionConfiguration,\n      emailMarketingV1Campaign_universal_d_RuleStatus as RuleStatus,\n      emailMarketingV1Campaign_universal_d_ActivationCycle as ActivationCycle,\n      emailMarketingV1Campaign_universal_d_RuleMetadata as RuleMetadata,\n      emailMarketingV1Campaign_universal_d_VersionType as VersionType,\n      emailMarketingV1Campaign_universal_d_TemplateType as TemplateType,\n      emailMarketingV1Campaign_universal_d_Precondition as Precondition,\n      emailMarketingV1Campaign_universal_d_PreconditionType as PreconditionType,\n      emailMarketingV1Campaign_universal_d_TemplateState as TemplateState,\n      emailMarketingV1Campaign_universal_d_Translation as Translation,\n      emailMarketingV1Campaign_universal_d_TranslationState as TranslationState,\n      emailMarketingV1Campaign_universal_d_AutomationTemplateEnrichmentData as AutomationTemplateEnrichmentData,\n      emailMarketingV1Campaign_universal_d_QueryMetadata as QueryMetadata,\n      emailMarketingV1Campaign_universal_d_QueryAppTemplatesRequest as QueryAppTemplatesRequest,\n      emailMarketingV1Campaign_universal_d_TemplateQueryType as TemplateQueryType,\n      emailMarketingV1Campaign_universal_d_QueryAppTemplatesResponse as QueryAppTemplatesResponse,\n      emailMarketingV1Campaign_universal_d_TemplateData as TemplateData,\n      emailMarketingV1Campaign_universal_d_CampaignLookupRequest as CampaignLookupRequest,\n      emailMarketingV1Campaign_universal_d_CampaignLookupResponse as CampaignLookupResponse,\n      emailMarketingV1Campaign_universal_d_CampaignLookupBatchRequest as CampaignLookupBatchRequest,\n      emailMarketingV1Campaign_universal_d_CampaignLookupBatchResponse as CampaignLookupBatchResponse,\n      emailMarketingV1Campaign_universal_d_CampaignArchivedEvent as CampaignArchivedEvent,\n      emailMarketingV1Campaign_universal_d_CampaignUnarchivedEvent as CampaignUnarchivedEvent,\n      emailMarketingV1Campaign_universal_d_GetCampaignRequest as GetCampaignRequest,\n      emailMarketingV1Campaign_universal_d_GetCampaignResponse as GetCampaignResponse,\n      emailMarketingV1Campaign_universal_d_ListCampaignsRequest as ListCampaignsRequest,\n      emailMarketingV1Campaign_universal_d_ListCampaignsResponse as ListCampaignsResponse,\n      emailMarketingV1Campaign_universal_d_CreateFromTemplateRequest as CreateFromTemplateRequest,\n      emailMarketingV1Campaign_universal_d_CreateFromTemplateResponse as CreateFromTemplateResponse,\n      emailMarketingV1Campaign_universal_d_PublishCampaignRequest as PublishCampaignRequest,\n      emailMarketingV1Campaign_universal_d_EmailDistributionOptions as EmailDistributionOptions,\n      emailMarketingV1Campaign_universal_d_PublishCampaignResponse as PublishCampaignResponse,\n      emailMarketingV1Campaign_universal_d_CampaignRejectedEvent as CampaignRejectedEvent,\n      emailMarketingV1Campaign_universal_d_CampaignPublishedEvent as CampaignPublishedEvent,\n      emailMarketingV1Campaign_universal_d_CampaignTerminatedEvent as CampaignTerminatedEvent,\n      emailMarketingV1Campaign_universal_d_CampaignDistributedEvent as CampaignDistributedEvent,\n      emailMarketingV1Campaign_universal_d_EmailActivityUpdated as EmailActivityUpdated,\n      emailMarketingV1Campaign_universal_d_EmailActivityUpdatedEventTypeOneOf as EmailActivityUpdatedEventTypeOneOf,\n      emailMarketingV1Campaign_universal_d_ActivityType as ActivityType,\n      emailMarketingV1Campaign_universal_d_Click as Click,\n      emailMarketingV1Campaign_universal_d_Open as Open,\n      emailMarketingV1Campaign_universal_d_SoftBounce as SoftBounce,\n      emailMarketingV1Campaign_universal_d_HardBounce as HardBounce,\n      emailMarketingV1Campaign_universal_d_CampaignScheduledEvent as CampaignScheduledEvent,\n      emailMarketingV1Campaign_universal_d_SendTestRequest as SendTestRequest,\n      emailMarketingV1Campaign_universal_d_PlaceholderValue as PlaceholderValue,\n      emailMarketingV1Campaign_universal_d_Type as Type,\n      emailMarketingV1Campaign_universal_d_PlaceholderContent as PlaceholderContent,\n      emailMarketingV1Campaign_universal_d_PlaceholderContentValueOneOf as PlaceholderContentValueOneOf,\n      emailMarketingV1Campaign_universal_d_PlainText as PlainText,\n      emailMarketingV1Campaign_universal_d_Html as Html,\n      emailMarketingV1Campaign_universal_d_Money as Money,\n      emailMarketingV1Campaign_universal_d_DateTime as DateTime,\n      emailMarketingV1Campaign_universal_d_Map as Map,\n      emailMarketingV1Campaign_universal_d_Array as Array,\n      emailMarketingV1Campaign_universal_d_PlaceholderContentEnum as PlaceholderContentEnum,\n      emailMarketingV1Campaign_universal_d_SendTestResponse as SendTestResponse,\n      emailMarketingV1Campaign_universal_d_PauseSchedulingRequest as PauseSchedulingRequest,\n      emailMarketingV1Campaign_universal_d_PauseSchedulingResponse as PauseSchedulingResponse,\n      emailMarketingV1Campaign_universal_d_CampaignPausedEvent as CampaignPausedEvent,\n      emailMarketingV1Campaign_universal_d_ArchiveCampaignRequest as ArchiveCampaignRequest,\n      emailMarketingV1Campaign_universal_d_ArchiveCampaignResponse as ArchiveCampaignResponse,\n      emailMarketingV1Campaign_universal_d_UnarchiveCampaignRequest as UnarchiveCampaignRequest,\n      emailMarketingV1Campaign_universal_d_UnarchiveCampaignResponse as UnarchiveCampaignResponse,\n      emailMarketingV1Campaign_universal_d_UpdateTitleRequest as UpdateTitleRequest,\n      emailMarketingV1Campaign_universal_d_UpdateTitleResponse as UpdateTitleResponse,\n      emailMarketingV1Campaign_universal_d_DeleteCampaignRequest as DeleteCampaignRequest,\n      emailMarketingV1Campaign_universal_d_DeleteCampaignResponse as DeleteCampaignResponse,\n      emailMarketingV1Campaign_universal_d_ReuseCampaignRequest as ReuseCampaignRequest,\n      emailMarketingV1Campaign_universal_d_ReuseCampaignResponse as ReuseCampaignResponse,\n      emailMarketingV1Campaign_universal_d_CreatePublishedAutomationRequest as CreatePublishedAutomationRequest,\n      emailMarketingV1Campaign_universal_d_CreatePublishedAutomationResponse as CreatePublishedAutomationResponse,\n      emailMarketingV1Campaign_universal_d_PreviewCampaignRequest as PreviewCampaignRequest,\n      emailMarketingV1Campaign_universal_d_PreviewCampaignResponse as PreviewCampaignResponse,\n      emailMarketingV1Campaign_universal_d_GetComposerRequest as GetComposerRequest,\n      emailMarketingV1Campaign_universal_d_GetComposerResponse as GetComposerResponse,\n      emailMarketingV1Campaign_universal_d_Composer as Composer,\n      emailMarketingV1Campaign_universal_d_CreateCampaignRequest as CreateCampaignRequest,\n      emailMarketingV1Campaign_universal_d_CreateCampaignResponse as CreateCampaignResponse,\n      emailMarketingV1Campaign_universal_d_ResendToNonOpenersRequest as ResendToNonOpenersRequest,\n      emailMarketingV1Campaign_universal_d_ResendToNonOpenersResponse as ResendToNonOpenersResponse,\n      emailMarketingV1Campaign_universal_d_listStatistics as listStatistics,\n      emailMarketingV1Campaign_universal_d_listRecipients as listRecipients,\n      emailMarketingV1Campaign_universal_d_ListRecipientsOptions as ListRecipientsOptions,\n      emailMarketingV1Campaign_universal_d_getCampaignMapping as getCampaignMapping,\n      emailMarketingV1Campaign_universal_d_GetCampaignMappingIdentifiers as GetCampaignMappingIdentifiers,\n      emailMarketingV1Campaign_universal_d_getPingCampaignMapping as getPingCampaignMapping,\n      emailMarketingV1Campaign_universal_d_GetPingCampaignMappingIdentifiers as GetPingCampaignMappingIdentifiers,\n      emailMarketingV1Campaign_universal_d_GetPingCampaignMappingOptions as GetPingCampaignMappingOptions,\n      emailMarketingV1Campaign_universal_d_queryAutomationTemplates as queryAutomationTemplates,\n      emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesOptions as QueryAutomationTemplatesOptions,\n      emailMarketingV1Campaign_universal_d_queryAppTemplates as queryAppTemplates,\n      emailMarketingV1Campaign_universal_d_QueryAppTemplatesOptions as QueryAppTemplatesOptions,\n      emailMarketingV1Campaign_universal_d_campaignLookup as campaignLookup,\n      emailMarketingV1Campaign_universal_d_campaignLookupBatch as campaignLookupBatch,\n      emailMarketingV1Campaign_universal_d_CampaignLookupBatchOptions as CampaignLookupBatchOptions,\n      emailMarketingV1Campaign_universal_d_getCampaign as getCampaign,\n      emailMarketingV1Campaign_universal_d_GetCampaignOptions as GetCampaignOptions,\n      emailMarketingV1Campaign_universal_d_listCampaigns as listCampaigns,\n      emailMarketingV1Campaign_universal_d_ListCampaignsOptions as ListCampaignsOptions,\n      emailMarketingV1Campaign_universal_d_createFromTemplate as createFromTemplate,\n      emailMarketingV1Campaign_universal_d_CreateFromTemplateOptions as CreateFromTemplateOptions,\n      emailMarketingV1Campaign_universal_d_publishCampaign as publishCampaign,\n      emailMarketingV1Campaign_universal_d_PublishCampaignOptions as PublishCampaignOptions,\n      emailMarketingV1Campaign_universal_d_sendTest as sendTest,\n      emailMarketingV1Campaign_universal_d_SendTestOptions as SendTestOptions,\n      emailMarketingV1Campaign_universal_d_pauseScheduling as pauseScheduling,\n      emailMarketingV1Campaign_universal_d_archiveCampaign as archiveCampaign,\n      emailMarketingV1Campaign_universal_d_unarchiveCampaign as unarchiveCampaign,\n      emailMarketingV1Campaign_universal_d_updateTitle as updateTitle,\n      emailMarketingV1Campaign_universal_d_deleteCampaign as deleteCampaign,\n      emailMarketingV1Campaign_universal_d_reuseCampaign as reuseCampaign,\n      emailMarketingV1Campaign_universal_d_createPublishedAutomation as createPublishedAutomation,\n      emailMarketingV1Campaign_universal_d_CreatePublishedAutomationOptions as CreatePublishedAutomationOptions,\n      emailMarketingV1Campaign_universal_d_preview as preview,\n      emailMarketingV1Campaign_universal_d_PreviewOptions as PreviewOptions,\n      emailMarketingV1Campaign_universal_d_getComposer as getComposer,\n      emailMarketingV1Campaign_universal_d_create as create,\n      emailMarketingV1Campaign_universal_d_resendToNonOpeners as resendToNonOpeners,\n      emailMarketingV1Campaign_universal_d_ResendToNonOpenersOptions as ResendToNonOpenersOptions,\n    };\n  }\n  \n  export { emailMarketingV1AccountDetails_universal_d as accountDetails, emailMarketingV1Campaign_universal_d as campaigns };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-sender-details-backend.d.ts",
      "content": "declare module \"wix-sender-details-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * Contains information about what will be displayed as the sender's email and name.\n   * If public email domains (@gmail.com, @yahoo.com, etc.) are used for sending email campaigns, they will not be displayed in the 'from' header.\n   * Instead, they will be replaced with @pb0x.ascendbywix.com, and the sender's email will be placed in the 'reply-to' header.\n   * If the user uses an email from a Wix managed domain to send campaigns, that email will be displayed in the 'from' header.\n   * If the user uses an email from a custom domain that is not managed by Wix, a line will be inserted that states that the email was sent via ascendbywix.com.\n   */\n  interface SenderDetails {\n      /** Sender name. */\n      fromName?: string;\n      /** Sender email address. */\n      fromEmail?: string;\n      /**\n       * Email verification time (if relevant).\n       * @readonly\n       */\n      dateVerified?: Date;\n  }\n  interface GetSenderDetailsRequest {\n  }\n  interface GetSenderDetailsResponse {\n      /** Current sender details. */\n      senderDetails?: SenderDetails;\n  }\n  interface UpdateSenderDetailsRequest {\n      /** New sender details. */\n      senderDetails: SenderDetails;\n  }\n  interface UpdateSenderDetailsResponse {\n      /** Whether email address needs verification. */\n      verificationNeeded?: boolean;\n  }\n  interface VerifySenderEmailRequest {\n      /** Verification code. */\n      verificationCode: string;\n  }\n  interface VerifySenderEmailResponse {\n  }\n  interface ResolveActualFromAddressRequest {\n      /** User's provided address from which to send email marketing campaign. */\n      fromAddress: string;\n  }\n  interface ResolveActualFromAddressResponse {\n      /** Actual from-address that will be used for email distribution. */\n      actualFromAddress?: string;\n  }\n  /**\n   * Retrieves sender details.\n   * @public\n   * @documentationMaturity preview\n   */\n  function getSenderDetails(): Promise<GetSenderDetailsResponse>;\n  /**\n   * Updates sender details (only provided fields will be updated).\n   * If `from_email` is changed - a verification code will be sent to new email address.\n   * If verification is needed, a verification email will be sent to the user, and `verification_needed` will return true.\n   * @param senderDetails - New sender details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField senderDetails\n   */\n  function updateSenderDetails(senderDetails: SenderDetails): Promise<UpdateSenderDetailsResponse>;\n  /**\n   * Verifies the sender's email using a verification code sent to the user's email address upon update.\n   * @param verificationCode - Verification code.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField verificationCode\n   */\n  function verifyEmail(verificationCode: string): Promise<void>;\n  /**\n   * Checks if the sender's email address will be used as from-address or replaced (not related to current sender details).\n   * @param fromAddress - User's provided address from which to send email marketing campaign.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fromAddress\n   */\n  function resolveActualFromAddress(fromAddress: string): Promise<ResolveActualFromAddressResponse>;\n  \n  const emailMarketingV1SenderDetails_universal_d___debug: typeof __debug;\n  type emailMarketingV1SenderDetails_universal_d_SenderDetails = SenderDetails;\n  type emailMarketingV1SenderDetails_universal_d_GetSenderDetailsRequest = GetSenderDetailsRequest;\n  type emailMarketingV1SenderDetails_universal_d_GetSenderDetailsResponse = GetSenderDetailsResponse;\n  type emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsRequest = UpdateSenderDetailsRequest;\n  type emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsResponse = UpdateSenderDetailsResponse;\n  type emailMarketingV1SenderDetails_universal_d_VerifySenderEmailRequest = VerifySenderEmailRequest;\n  type emailMarketingV1SenderDetails_universal_d_VerifySenderEmailResponse = VerifySenderEmailResponse;\n  type emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressRequest = ResolveActualFromAddressRequest;\n  type emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressResponse = ResolveActualFromAddressResponse;\n  const emailMarketingV1SenderDetails_universal_d_getSenderDetails: typeof getSenderDetails;\n  const emailMarketingV1SenderDetails_universal_d_updateSenderDetails: typeof updateSenderDetails;\n  const emailMarketingV1SenderDetails_universal_d_verifyEmail: typeof verifyEmail;\n  const emailMarketingV1SenderDetails_universal_d_resolveActualFromAddress: typeof resolveActualFromAddress;\n  namespace emailMarketingV1SenderDetails_universal_d {\n    export {\n      emailMarketingV1SenderDetails_universal_d___debug as __debug,\n      emailMarketingV1SenderDetails_universal_d_SenderDetails as SenderDetails,\n      emailMarketingV1SenderDetails_universal_d_GetSenderDetailsRequest as GetSenderDetailsRequest,\n      emailMarketingV1SenderDetails_universal_d_GetSenderDetailsResponse as GetSenderDetailsResponse,\n      emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsRequest as UpdateSenderDetailsRequest,\n      emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsResponse as UpdateSenderDetailsResponse,\n      emailMarketingV1SenderDetails_universal_d_VerifySenderEmailRequest as VerifySenderEmailRequest,\n      emailMarketingV1SenderDetails_universal_d_VerifySenderEmailResponse as VerifySenderEmailResponse,\n      emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressRequest as ResolveActualFromAddressRequest,\n      emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressResponse as ResolveActualFromAddressResponse,\n      emailMarketingV1SenderDetails_universal_d_getSenderDetails as getSenderDetails,\n      emailMarketingV1SenderDetails_universal_d_updateSenderDetails as updateSenderDetails,\n      emailMarketingV1SenderDetails_universal_d_verifyEmail as verifyEmail,\n      emailMarketingV1SenderDetails_universal_d_resolveActualFromAddress as resolveActualFromAddress,\n    };\n  }\n  \n  export { emailMarketingV1SenderDetails_universal_d as senderDetails };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-comments-backend.d.ts",
      "content": "declare module \"wix-comments-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Comment definition */\n  interface Comment {\n      /**\n       * Comment ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Comment was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Comment was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Owning vertical identifier */\n      appId?: string | null;\n      /** Verticals context */\n      contextId?: string | null;\n      /** Vertical context type. A single application can have multiple contexts, and context_type can be used to distinguish in what context comments are being used. Reserved for internal use. */\n      contextType?: string | null;\n      /** Context resource */\n      resourceId?: string | null;\n      /** Published comment content */\n      content?: CommentContent;\n      /** Unpublished comment content */\n      draftContent?: CommentContent;\n      /**\n       * Comment's author\n       * @readonly\n       */\n      author?: CommentAuthor;\n      /** Reference to parent comment */\n      parentComment?: ParentComment;\n      /**\n       * Materialized path of comments hierarchy. List of all current comment’s parent ids\n       * @internal\n       * @readonly\n       */\n      parentIdsInThread?: string[];\n      /**\n       * How many published replies comment has\n       * @readonly\n       */\n      replyCount?: number;\n      /**\n       * Votes summary\n       * @readonly\n       */\n      voteSummary?: VoteSummary;\n      /**\n       * Comment status\n       * @readonly\n       */\n      status?: Status$1;\n      /**\n       * Comment rating value\n       * @readonly\n       */\n      rating?: number | null;\n      /**\n       * Comment reaction summary\n       * @readonly\n       */\n      reactionSummary?: CommentReactionSummary;\n      /** Indicates if comment is marked */\n      marked?: boolean;\n  }\n  /** Comment content */\n  interface CommentContent {\n      /** @internal */\n      draftJs?: string | null;\n      /** @internal */\n      plainText?: string | null;\n      richContent?: RichContent;\n      mentions?: Mention[];\n      /** @internal */\n      effects?: Record<string, string>;\n      attachments?: Attachment[];\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type$1;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type$1 {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions$1 {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions$1;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /** Deprecated: Use `image` instead. */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /** Deprecated: Use `rowHeader` and `columnHeader` instead. */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface Mention extends MentionIdentityOneOf {\n      userId?: string | null;\n      memberId?: string | null;\n      visitorId?: string | null;\n      groupId?: string | null;\n  }\n  /** @oneof */\n  interface MentionIdentityOneOf {\n      userId?: string | null;\n      memberId?: string | null;\n      visitorId?: string | null;\n      groupId?: string | null;\n  }\n  interface Attachment extends AttachmentMediaOneOf {\n      /** Image */\n      image?: string;\n      /** Video */\n      video?: string;\n      /** Audio */\n      audio?: string;\n      /** Document */\n      document?: string;\n      /** Mime type of attachment. */\n      mimeType?: string | null;\n  }\n  /** @oneof */\n  interface AttachmentMediaOneOf {\n      /** Image */\n      image?: string;\n      /** Video */\n      video?: string;\n      /** Audio */\n      audio?: string;\n      /** Document */\n      document?: string;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @readonly\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @readonly\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @readonly\n       */\n      durationInSeconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface CommentAuthor extends CommentAuthorIdentityOneOf {\n      userId?: string | null;\n      memberId?: string | null;\n      visitorId?: string | null;\n  }\n  /** @oneof */\n  interface CommentAuthorIdentityOneOf {\n      userId?: string | null;\n      memberId?: string | null;\n      visitorId?: string | null;\n  }\n  interface ParentComment {\n      _id?: string | null;\n      /** @readonly */\n      author?: CommentAuthor;\n  }\n  interface VoteSummary {\n      netVoteCount?: number;\n      upvoteCount?: number;\n      downvoteCount?: number;\n  }\n  enum Status$1 {\n      UNKNOWN = \"UNKNOWN\",\n      PUBLISHED = \"PUBLISHED\",\n      DELETED = \"DELETED\",\n      PENDING = \"PENDING\",\n      HIDDEN = \"HIDDEN\"\n  }\n  interface CommentReactionSummary {\n      total?: number;\n      reactionCodeCount?: Record<string, number>;\n  }\n  interface UpdateInternalDocumentsEvent extends UpdateInternalDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: InternalDocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update internal documents matching filter */\n      updateByFilter?: InternalDocumentUpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: InternalUpdateExistingOperation;\n      /** insert/update documents with versioning */\n      versionedUpdate?: VersionedDocumentUpdateOperation;\n      /** delete by document ids with versioning */\n      versionedDeleteByIds?: VersionedDeleteByIdsOperation;\n      /** type of the documents */\n      documentType?: string;\n      /** language of the documents (mandatory) */\n      language?: string | null;\n      /** one or more search documents */\n      addDocuments?: InternalDocument[];\n      /** one or more ids of indexed documents to be removed. Removal will happen before addition (if both provided) */\n      removeDocumentIds?: string[];\n      /** id to pass to processing notification */\n      correlationId?: string | null;\n  }\n  /** @oneof */\n  interface UpdateInternalDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: InternalDocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update internal documents matching filter */\n      updateByFilter?: InternalDocumentUpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: InternalUpdateExistingOperation;\n      /** insert/update documents with versioning */\n      versionedUpdate?: VersionedDocumentUpdateOperation;\n      /** delete by document ids with versioning */\n      versionedDeleteByIds?: VersionedDeleteByIdsOperation;\n  }\n  interface InternalDocument {\n      /** document with mandatory fields (id) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n  }\n  interface InternalDocumentUpdateOperation {\n      /** documents to index or update */\n      documents?: InternalDocument[];\n  }\n  interface DeleteByIdsOperation {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface DeleteByFilterOperation {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface InternalDocumentUpdateByFilterOperation {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: InternalDocument;\n  }\n  interface InternalUpdateExistingOperation {\n      /** documents to update */\n      documents?: InternalDocument[];\n  }\n  interface VersionedDocumentUpdateOperation {\n      /** documents to create or overwrite */\n      documents?: InternalDocument[];\n      /** versioning mode to use instead of default */\n      versioningMode?: VersioningMode;\n  }\n  enum VersioningMode {\n      /** use default versioning mode agreed with search team */\n      DEFAULT = \"DEFAULT\",\n      /** execute only if version is greater than existing */\n      GREATER_THAN = \"GREATER_THAN\",\n      /** execute only if version is greater or equal to existing */\n      GREATER_OR_EQUAL = \"GREATER_OR_EQUAL\"\n  }\n  interface VersionedDeleteByIdsOperation {\n      /** ids with version of the documents to delete */\n      documentIds?: VersionedDocumentId[];\n  }\n  interface VersionedDocumentId {\n      /** document id */\n      documentId?: string;\n      /** document version */\n      version?: string;\n      /** versioning mode to use instead of default */\n      versioningMode?: VersioningMode;\n  }\n  interface CreateCommentRequest {\n      /** Comment to create */\n      comment?: Comment;\n  }\n  interface CreateCommentResponse {\n      /** The created Comment */\n      comment?: Comment;\n  }\n  interface GetCommentRequest {\n      /** Id of the Comment to retrieve */\n      commentId: string;\n  }\n  interface GetCommentResponse {\n      /** The retrieved Comment */\n      comment?: Comment;\n  }\n  interface UpdateCommentRequest {\n      /** The updated Comment */\n      comment?: Comment;\n  }\n  interface UpdateCommentResponse {\n      /** The updated Comment */\n      comment?: Comment;\n  }\n  interface DeleteCommentRequest {\n      /** Id of the Comment to delete */\n      commentId: string;\n      /**\n       * The revision of the Comment\n       * @internal\n       */\n      revision?: string | null;\n      /**\n       * Indicates if child comments must be deleted as well.\n       * Will be deprecated and be replaced by BulkCommentDelete\n       */\n      cascade?: boolean | null;\n  }\n  interface DeleteCommentResponse {\n  }\n  interface CommentDeleted {\n      comment?: Comment;\n  }\n  interface ModerateDraftContentRequest {\n      /** Id of the Comment to modify */\n      commentId: string;\n      /** The revision of the Comment */\n      revision: string | null;\n      /** Action to do regarding draft content */\n      draftContentAction?: Action;\n  }\n  enum Action {\n      UNKNOWN = \"UNKNOWN\",\n      /** Approves draft content */\n      APPROVE = \"APPROVE\",\n      /** Rejects draft content */\n      REJECT = \"REJECT\"\n  }\n  interface ModerateDraftContentResponse {\n      /** Updated comment */\n      comment?: Comment;\n  }\n  interface CommentPublished {\n      comment?: Comment;\n      firstPublish?: boolean;\n  }\n  interface CommentHidden {\n      comment?: Comment;\n  }\n  interface QueryCommentsRequest {\n      appId: string;\n      /** WQL expression */\n      query: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCommentsResponse {\n      /** The retrieved Comments */\n      comments?: Comment[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface MarkCommentRequest {\n      /** Id of the Comment to mark */\n      commentId: string;\n      /**\n       * The revision of the Comment\n       * @internal\n       */\n      revision?: string | null;\n  }\n  interface MarkCommentResponse {\n      /** The marked Comment */\n      comment?: Comment;\n  }\n  interface CommentMarked {\n      comment?: Comment;\n  }\n  interface UnmarkCommentRequest {\n      /** Id of the Comment to mark */\n      commentId: string;\n      /**\n       * The revision of the Comment\n       * @internal\n       */\n      revision?: string | null;\n  }\n  interface UnmarkCommentResponse {\n      /** The unmarked Comment */\n      comment?: Comment;\n  }\n  interface CommentUnmarked {\n      comment?: Comment;\n  }\n  interface HideCommentRequest {\n      /** Id of the Comment to hide */\n      commentId: string;\n  }\n  interface HideCommentResponse {\n      /** Hidden comment */\n      comment?: Comment;\n  }\n  interface PublishCommentRequest {\n      /** Id of the Comment to publish */\n      commentId: string;\n  }\n  interface PublishCommentResponse {\n      /** Published comment */\n      comment?: Comment;\n  }\n  interface CountCommentsRequest {\n      appId?: string;\n      filter?: Record<string, any> | null;\n  }\n  interface CountCommentsResponse {\n      count?: number;\n  }\n  interface ListCommentsByResourceRequest {\n      /** App Id */\n      appId: string;\n      /** Context Id */\n      contextId: string;\n      /** Context Type. Reserved for internal use. */\n      contextType?: string;\n      /** Resource Id */\n      resourceId: string;\n      /** Comment sorting. Is ignored if cursorPaging.cursor is defined */\n      commentSort?: CommentSort;\n      /** Reply sorting. Is ignored if cursorPaging.cursor is defined */\n      replySort?: ReplySort;\n      cursorPaging?: ListCommentsByResourceCursorPaging;\n  }\n  interface CommentSort {\n      /** Sorting */\n      order?: Order;\n      /**\n       * If set to `true`, marked comments are included in the comments list but maintain their original order rather\n       * than being moved to the top.\n       * Defaults to `false`, which means marked comments, will be prioritized and listed first.\n       */\n      keepMarkedInOriginalOrder?: boolean;\n  }\n  enum Order {\n      UNKNOWN_ORDER = \"UNKNOWN_ORDER\",\n      OLDEST_FIRST = \"OLDEST_FIRST\",\n      NEWEST_FIRST = \"NEWEST_FIRST\",\n      REACTION_COUNT = \"REACTION_COUNT\",\n      NET_VOTE_COUNT = \"NET_VOTE_COUNT\",\n      RATING = \"RATING\"\n  }\n  interface ReplySort {\n      /** Sorting */\n      order?: ReplySortOrder;\n      /**\n       * If set to `true`, marked replies are included in the comments list but maintain their original order rather\n       * than being moved to the top.\n       * Defaults to `false`, which means marked replies, will be prioritized and listed first.\n       */\n      keepMarkedInOriginalOrder?: boolean;\n  }\n  enum ReplySortOrder {\n      UNKNOWN_ORDER = \"UNKNOWN_ORDER\",\n      OLDEST_FIRST = \"OLDEST_FIRST\",\n      NEWEST_FIRST = \"NEWEST_FIRST\",\n      REACTION_COUNT = \"REACTION_COUNT\"\n  }\n  interface ListCommentsByResourceCursorPaging {\n      cursor?: string | null;\n      limit?: number | null;\n      /** Only taken into account if listing root comments */\n      repliesLimit?: number | null;\n  }\n  interface ListCommentsByResourceResponse {\n      comments?: Comment[];\n      pagingMetadata?: CursorPagingMetadata$2;\n      commentReplies?: Record<string, RepliesListResponse>;\n  }\n  interface RepliesListResponse {\n      replies?: Comment[];\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface GetCommentThreadRequest {\n      /** App Id */\n      appId?: string;\n      /** Comment Id */\n      commentId: string;\n      /** Comment sorting. */\n      commentSort?: CommentSort;\n      /** Reply sorting */\n      replySort?: ReplySort;\n  }\n  interface GetCommentThreadResponse {\n      comments?: Comment[];\n      pagingMetadata?: CursorPagingMetadata$2;\n      commentReplies?: Record<string, RepliesListResponse>;\n  }\n  interface BulkPublishCommentRequest {\n      /** Owning vertical identifier */\n      appId: string;\n      /** Comments to publish */\n      filter: Record<string, any> | null;\n  }\n  interface BulkPublishCommentResponse {\n      /** Reference to async job */\n      jobId?: string;\n  }\n  interface BulkHideCommentRequest {\n      /** Owning vertical identifier */\n      appId: string;\n      /** Comments to hide */\n      filter: Record<string, any> | null;\n  }\n  interface BulkHideCommentResponse {\n      /** Reference to async job */\n      jobId?: string;\n  }\n  interface BulkDeleteCommentRequest {\n      /** Owning vertical identifier */\n      appId: string;\n      /** Comments to delete */\n      filter: Record<string, any> | null;\n  }\n  interface BulkDeleteCommentResponse {\n      /** Reference to async job */\n      jobId?: string;\n  }\n  /**\n   * Creates a new Comment.\n   * Provided content might be stored to draftContent field depending on moderation settings\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.comment.appId\n   * @requiredField options.comment.content\n   * @requiredField options.comment.contextId\n   * @requiredField options.comment.resourceId\n   */\n  function createComment(options?: CreateCommentOptions): Promise<CreateCommentResponse>;\n  interface CreateCommentOptions {\n      /** Comment to create */\n      comment?: Comment;\n  }\n  /**\n   * Get a Comment by id\n   * @param commentId - Id of the Comment to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField commentId\n   */\n  function getComment(commentId: string): Promise<GetCommentResponse>;\n  /**\n   * Update a Comment\n   * Provided content might be stored to draftContent field depending on moderation settings\n   * Pass the latest `revision` for a successful update\n   * @param _id - Comment ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.comment.revision\n   */\n  function updateComment(_id: string | null, options?: UpdateCommentOptions): Promise<UpdateCommentResponse>;\n  interface UpdateCommentOptions {\n      comment: {\n          /**\n           * Comment ID\n           * @readonly\n           */\n          _id?: string | null;\n          /**\n           * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n           * @readonly\n           */\n          revision?: string | null;\n          /**\n           * Represents the time this Comment was created\n           * @readonly\n           */\n          _createdDate?: Date;\n          /**\n           * Represents the time this Comment was last updated\n           * @readonly\n           */\n          _updatedDate?: Date;\n          /** Owning vertical identifier */\n          appId?: string | null;\n          /** Verticals context */\n          contextId?: string | null;\n          /** Vertical context type. A single application can have multiple contexts, and context_type can be used to distinguish in what context comments are being used. Reserved for internal use. */\n          contextType?: string | null;\n          /** Context resource */\n          resourceId?: string | null;\n          /** Published comment content */\n          content?: CommentContent;\n          /** Unpublished comment content */\n          draftContent?: CommentContent;\n          /**\n           * Comment's author\n           * @readonly\n           */\n          author?: CommentAuthor;\n          /** Reference to parent comment */\n          parentComment?: ParentComment;\n          /**\n           * Materialized path of comments hierarchy. List of all current comment’s parent ids\n           * @internal\n           * @readonly\n           */\n          parentIdsInThread?: string[];\n          /**\n           * How many published replies comment has\n           * @readonly\n           */\n          replyCount?: number;\n          /**\n           * Votes summary\n           * @readonly\n           */\n          voteSummary?: VoteSummary;\n          /**\n           * Comment status\n           * @readonly\n           */\n          status?: Status$1;\n          /**\n           * Comment rating value\n           * @readonly\n           */\n          rating?: number | null;\n          /**\n           * Comment reaction summary\n           * @readonly\n           */\n          reactionSummary?: CommentReactionSummary;\n          /** Indicates if comment is marked */\n          marked?: boolean;\n      };\n  }\n  /**\n   * Delete a Comment\n   * @param commentId - Id of the Comment to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField commentId\n   */\n  function deleteComment(commentId: string, options?: DeleteCommentOptions): Promise<void>;\n  interface DeleteCommentOptions {\n      /**\n       * The revision of the Comment\n       * @internal\n       */\n      revision?: string | null;\n      /**\n       * Indicates if child comments must be deleted as well.\n       * Will be deprecated and be replaced by BulkCommentDelete\n       */\n      cascade?: boolean | null;\n  }\n  /**\n   * Moderates the draft content of a comment.\n   *\n   * - `APPROVE`: Moves `draftContent` to `content` and updates the comment `status` to `PUBLISHED`.\n   * - `REJECT`: Clears `draftContent` if comment `status` is `PUBLISHED` or, if comment `status` is `PENDING` it will keep `draftContent` the same and change `status` to `HIDDEN`.\n   * @param commentId - Id of the Comment to modify\n   * @param revision - The revision of the Comment\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField commentId\n   * @requiredField revision\n   */\n  function moderateDraftContent(commentId: string, revision: string | null, options?: ModerateDraftContentOptions): Promise<ModerateDraftContentResponse>;\n  interface ModerateDraftContentOptions {\n      /** Action to do regarding draft content */\n      draftContentAction?: Action;\n  }\n  /**\n   * Query Comments using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.query\n   */\n  function queryComments(appId: string, options: QueryCommentsOptions): Promise<QueryCommentsResponse>;\n  interface QueryCommentsOptions {\n      /** WQL expression */\n      query: CursorQuery$1;\n  }\n  /**\n   * Mark a Comment\n   * @param commentId - Id of the Comment to mark\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField commentId\n   */\n  function markComment(commentId: string, options?: MarkCommentOptions): Promise<MarkCommentResponse>;\n  interface MarkCommentOptions {\n      /**\n       * The revision of the Comment\n       * @internal\n       */\n      revision?: string | null;\n  }\n  /**\n   * Unmark a Comment\n   * @param commentId - Id of the Comment to mark\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField commentId\n   */\n  function unmarkComment(commentId: string, options?: UnmarkCommentOptions): Promise<UnmarkCommentResponse>;\n  interface UnmarkCommentOptions {\n      /**\n       * The revision of the Comment\n       * @internal\n       */\n      revision?: string | null;\n  }\n  /**\n   * Hide a Comment\n   * @param commentId - Id of the Comment to hide\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField commentId\n   */\n  function hideComment(commentId: string): Promise<HideCommentResponse>;\n  /**\n   * Publish a Comment\n   * @param commentId - Id of the Comment to publish\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField commentId\n   */\n  function publishComment(commentId: string): Promise<PublishCommentResponse>;\n  /**\n   * Counts comments that matches given filter\n   * @internal\n   * @documentationMaturity preview\n   */\n  function countComments(options?: CountCommentsOptions): Promise<CountCommentsResponse>;\n  interface CountCommentsOptions {\n      appId?: string;\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Lists published comments and replies\n   *\n   * API designed to load comments and replies. It return only published comments and replies.\n   * Hidden or Deleted comment or reply are not returned unless they have more than one published reply.\n   * @param appId - App Id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.contextId\n   * @requiredField options.resourceId\n   */\n  function listCommentsByResource(appId: string, options: ListCommentsByResourceOptions): Promise<ListCommentsByResourceResponse>;\n  interface ListCommentsByResourceOptions {\n      /** Context Id */\n      contextId: string;\n      /** Context Type. Reserved for internal use. */\n      contextType?: string;\n      /** Resource Id */\n      resourceId: string;\n      /** Comment sorting. Is ignored if cursorPaging.cursor is defined */\n      commentSort?: CommentSort;\n      /** Reply sorting. Is ignored if cursorPaging.cursor is defined */\n      replySort?: ReplySort;\n      cursorPaging?: ListCommentsByResourceCursorPaging;\n  }\n  /**\n   * Return thread of a comment or reply\n   *\n   * If comment thread requested, the API will return a single comment along with cursors that can be utilized with the\n   * ListCommentsByResource API to load previous and subsequent comment pages.\n   *\n   * In case reply thread requested, the API will return the root parent comment, the reply itself, and cursors that\n   * can be utilized with the ListCommentsByResource API to load previous and subsequent pages of comments or replies.\n   * @param commentId - Comment Id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField commentId\n   */\n  function getCommentThread(commentId: string, options?: GetCommentThreadOptions): Promise<GetCommentThreadResponse>;\n  interface GetCommentThreadOptions {\n      /** App Id */\n      appId?: string;\n      /** Comment sorting. */\n      commentSort?: CommentSort;\n      /** Reply sorting */\n      replySort?: ReplySort;\n  }\n  /**\n   * Publishes multiple comments\n   * @param appId - Owning vertical identifier\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.filter\n   */\n  function bulkPublishComment(appId: string, options: BulkPublishCommentOptions): Promise<BulkPublishCommentResponse>;\n  interface BulkPublishCommentOptions {\n      /** Comments to publish */\n      filter: Record<string, any> | null;\n  }\n  /**\n   * Hides multiple comments\n   * @param appId - Owning vertical identifier\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.filter\n   */\n  function bulkHideComment(appId: string, options: BulkHideCommentOptions): Promise<BulkHideCommentResponse>;\n  interface BulkHideCommentOptions {\n      /** Comments to hide */\n      filter: Record<string, any> | null;\n  }\n  /**\n   * Deletes multiple comments\n   * @param appId - Owning vertical identifier\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.filter\n   */\n  function bulkDeleteComment(appId: string, options: BulkDeleteCommentOptions): Promise<BulkDeleteCommentResponse>;\n  interface BulkDeleteCommentOptions {\n      /** Comments to delete */\n      filter: Record<string, any> | null;\n  }\n  \n  const commentsV2Comment_universal_d___debug: typeof __debug;\n  type commentsV2Comment_universal_d_Comment = Comment;\n  type commentsV2Comment_universal_d_CommentContent = CommentContent;\n  type commentsV2Comment_universal_d_RichContent = RichContent;\n  type commentsV2Comment_universal_d_Node = Node;\n  type commentsV2Comment_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type commentsV2Comment_universal_d_NodeType = NodeType;\n  const commentsV2Comment_universal_d_NodeType: typeof NodeType;\n  type commentsV2Comment_universal_d_NodeStyle = NodeStyle;\n  type commentsV2Comment_universal_d_ButtonData = ButtonData;\n  type commentsV2Comment_universal_d_Border = Border;\n  type commentsV2Comment_universal_d_Colors = Colors;\n  type commentsV2Comment_universal_d_PluginContainerData = PluginContainerData;\n  type commentsV2Comment_universal_d_WidthType = WidthType;\n  const commentsV2Comment_universal_d_WidthType: typeof WidthType;\n  type commentsV2Comment_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type commentsV2Comment_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type commentsV2Comment_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const commentsV2Comment_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type commentsV2Comment_universal_d_Spoiler = Spoiler;\n  type commentsV2Comment_universal_d_Height = Height;\n  type commentsV2Comment_universal_d_Styles = Styles;\n  type commentsV2Comment_universal_d_Link = Link;\n  type commentsV2Comment_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type commentsV2Comment_universal_d_Target = Target;\n  const commentsV2Comment_universal_d_Target: typeof Target;\n  type commentsV2Comment_universal_d_Rel = Rel;\n  type commentsV2Comment_universal_d_CodeBlockData = CodeBlockData;\n  type commentsV2Comment_universal_d_TextStyle = TextStyle;\n  type commentsV2Comment_universal_d_TextAlignment = TextAlignment;\n  const commentsV2Comment_universal_d_TextAlignment: typeof TextAlignment;\n  type commentsV2Comment_universal_d_DividerData = DividerData;\n  type commentsV2Comment_universal_d_LineStyle = LineStyle;\n  const commentsV2Comment_universal_d_LineStyle: typeof LineStyle;\n  type commentsV2Comment_universal_d_Width = Width;\n  const commentsV2Comment_universal_d_Width: typeof Width;\n  type commentsV2Comment_universal_d_Alignment = Alignment;\n  const commentsV2Comment_universal_d_Alignment: typeof Alignment;\n  type commentsV2Comment_universal_d_FileData = FileData;\n  type commentsV2Comment_universal_d_ViewMode = ViewMode;\n  const commentsV2Comment_universal_d_ViewMode: typeof ViewMode;\n  type commentsV2Comment_universal_d_FileSource = FileSource;\n  type commentsV2Comment_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type commentsV2Comment_universal_d_PDFSettings = PDFSettings;\n  type commentsV2Comment_universal_d_GalleryData = GalleryData;\n  type commentsV2Comment_universal_d_Media = Media;\n  type commentsV2Comment_universal_d_Image = Image;\n  type commentsV2Comment_universal_d_Video = Video;\n  type commentsV2Comment_universal_d_Item = Item;\n  type commentsV2Comment_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type commentsV2Comment_universal_d_GalleryOptions = GalleryOptions;\n  type commentsV2Comment_universal_d_LayoutType = LayoutType;\n  const commentsV2Comment_universal_d_LayoutType: typeof LayoutType;\n  type commentsV2Comment_universal_d_Orientation = Orientation;\n  const commentsV2Comment_universal_d_Orientation: typeof Orientation;\n  type commentsV2Comment_universal_d_Crop = Crop;\n  const commentsV2Comment_universal_d_Crop: typeof Crop;\n  type commentsV2Comment_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const commentsV2Comment_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type commentsV2Comment_universal_d_Layout = Layout;\n  type commentsV2Comment_universal_d_ItemStyle = ItemStyle;\n  type commentsV2Comment_universal_d_Thumbnails = Thumbnails;\n  type commentsV2Comment_universal_d_GIFData = GIFData;\n  type commentsV2Comment_universal_d_GIF = GIF;\n  type commentsV2Comment_universal_d_HeadingData = HeadingData;\n  type commentsV2Comment_universal_d_HTMLData = HTMLData;\n  type commentsV2Comment_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type commentsV2Comment_universal_d_Source = Source;\n  const commentsV2Comment_universal_d_Source: typeof Source;\n  type commentsV2Comment_universal_d_ImageData = ImageData;\n  type commentsV2Comment_universal_d_LinkPreviewData = LinkPreviewData;\n  type commentsV2Comment_universal_d_MapData = MapData;\n  type commentsV2Comment_universal_d_MapSettings = MapSettings;\n  type commentsV2Comment_universal_d_MapType = MapType;\n  const commentsV2Comment_universal_d_MapType: typeof MapType;\n  type commentsV2Comment_universal_d_ParagraphData = ParagraphData;\n  type commentsV2Comment_universal_d_PollData = PollData;\n  type commentsV2Comment_universal_d_ViewRole = ViewRole;\n  const commentsV2Comment_universal_d_ViewRole: typeof ViewRole;\n  type commentsV2Comment_universal_d_VoteRole = VoteRole;\n  const commentsV2Comment_universal_d_VoteRole: typeof VoteRole;\n  type commentsV2Comment_universal_d_Option = Option;\n  type commentsV2Comment_universal_d_Settings = Settings;\n  type commentsV2Comment_universal_d_PollLayoutType = PollLayoutType;\n  const commentsV2Comment_universal_d_PollLayoutType: typeof PollLayoutType;\n  type commentsV2Comment_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const commentsV2Comment_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type commentsV2Comment_universal_d_PollLayout = PollLayout;\n  type commentsV2Comment_universal_d_OptionLayout = OptionLayout;\n  type commentsV2Comment_universal_d_BackgroundType = BackgroundType;\n  const commentsV2Comment_universal_d_BackgroundType: typeof BackgroundType;\n  type commentsV2Comment_universal_d_Gradient = Gradient;\n  type commentsV2Comment_universal_d_Background = Background;\n  type commentsV2Comment_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type commentsV2Comment_universal_d_PollDesign = PollDesign;\n  type commentsV2Comment_universal_d_OptionDesign = OptionDesign;\n  type commentsV2Comment_universal_d_Poll = Poll;\n  type commentsV2Comment_universal_d_PollDataLayout = PollDataLayout;\n  type commentsV2Comment_universal_d_Design = Design;\n  type commentsV2Comment_universal_d_TextData = TextData;\n  type commentsV2Comment_universal_d_Decoration = Decoration;\n  type commentsV2Comment_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type commentsV2Comment_universal_d_DecorationType = DecorationType;\n  const commentsV2Comment_universal_d_DecorationType: typeof DecorationType;\n  type commentsV2Comment_universal_d_AnchorData = AnchorData;\n  type commentsV2Comment_universal_d_ColorData = ColorData;\n  type commentsV2Comment_universal_d_LinkData = LinkData;\n  type commentsV2Comment_universal_d_MentionData = MentionData;\n  type commentsV2Comment_universal_d_FontSizeData = FontSizeData;\n  type commentsV2Comment_universal_d_FontType = FontType;\n  const commentsV2Comment_universal_d_FontType: typeof FontType;\n  type commentsV2Comment_universal_d_AppEmbedData = AppEmbedData;\n  type commentsV2Comment_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type commentsV2Comment_universal_d_AppType = AppType;\n  const commentsV2Comment_universal_d_AppType: typeof AppType;\n  type commentsV2Comment_universal_d_BookingData = BookingData;\n  type commentsV2Comment_universal_d_EventData = EventData;\n  type commentsV2Comment_universal_d_VideoData = VideoData;\n  type commentsV2Comment_universal_d_PlaybackOptions = PlaybackOptions;\n  type commentsV2Comment_universal_d_EmbedData = EmbedData;\n  type commentsV2Comment_universal_d_Oembed = Oembed;\n  type commentsV2Comment_universal_d_CollapsibleListData = CollapsibleListData;\n  type commentsV2Comment_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const commentsV2Comment_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type commentsV2Comment_universal_d_Direction = Direction;\n  const commentsV2Comment_universal_d_Direction: typeof Direction;\n  type commentsV2Comment_universal_d_TableData = TableData;\n  type commentsV2Comment_universal_d_Dimensions = Dimensions;\n  type commentsV2Comment_universal_d_TableCellData = TableCellData;\n  type commentsV2Comment_universal_d_VerticalAlignment = VerticalAlignment;\n  const commentsV2Comment_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type commentsV2Comment_universal_d_CellStyle = CellStyle;\n  type commentsV2Comment_universal_d_BorderColors = BorderColors;\n  type commentsV2Comment_universal_d_NullValue = NullValue;\n  const commentsV2Comment_universal_d_NullValue: typeof NullValue;\n  type commentsV2Comment_universal_d_ListValue = ListValue;\n  type commentsV2Comment_universal_d_AudioData = AudioData;\n  type commentsV2Comment_universal_d_OrderedListData = OrderedListData;\n  type commentsV2Comment_universal_d_BulletedListData = BulletedListData;\n  type commentsV2Comment_universal_d_BlockquoteData = BlockquoteData;\n  type commentsV2Comment_universal_d_Metadata = Metadata;\n  type commentsV2Comment_universal_d_DocumentStyle = DocumentStyle;\n  type commentsV2Comment_universal_d_TextNodeStyle = TextNodeStyle;\n  type commentsV2Comment_universal_d_Mention = Mention;\n  type commentsV2Comment_universal_d_MentionIdentityOneOf = MentionIdentityOneOf;\n  type commentsV2Comment_universal_d_Attachment = Attachment;\n  type commentsV2Comment_universal_d_AttachmentMediaOneOf = AttachmentMediaOneOf;\n  type commentsV2Comment_universal_d_VideoResolution = VideoResolution;\n  type commentsV2Comment_universal_d_CommentAuthor = CommentAuthor;\n  type commentsV2Comment_universal_d_CommentAuthorIdentityOneOf = CommentAuthorIdentityOneOf;\n  type commentsV2Comment_universal_d_ParentComment = ParentComment;\n  type commentsV2Comment_universal_d_VoteSummary = VoteSummary;\n  type commentsV2Comment_universal_d_CommentReactionSummary = CommentReactionSummary;\n  type commentsV2Comment_universal_d_UpdateInternalDocumentsEvent = UpdateInternalDocumentsEvent;\n  type commentsV2Comment_universal_d_UpdateInternalDocumentsEventOperationOneOf = UpdateInternalDocumentsEventOperationOneOf;\n  type commentsV2Comment_universal_d_InternalDocument = InternalDocument;\n  type commentsV2Comment_universal_d_InternalDocumentUpdateOperation = InternalDocumentUpdateOperation;\n  type commentsV2Comment_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n  type commentsV2Comment_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n  type commentsV2Comment_universal_d_InternalDocumentUpdateByFilterOperation = InternalDocumentUpdateByFilterOperation;\n  type commentsV2Comment_universal_d_InternalUpdateExistingOperation = InternalUpdateExistingOperation;\n  type commentsV2Comment_universal_d_VersionedDocumentUpdateOperation = VersionedDocumentUpdateOperation;\n  type commentsV2Comment_universal_d_VersioningMode = VersioningMode;\n  const commentsV2Comment_universal_d_VersioningMode: typeof VersioningMode;\n  type commentsV2Comment_universal_d_VersionedDeleteByIdsOperation = VersionedDeleteByIdsOperation;\n  type commentsV2Comment_universal_d_VersionedDocumentId = VersionedDocumentId;\n  type commentsV2Comment_universal_d_CreateCommentRequest = CreateCommentRequest;\n  type commentsV2Comment_universal_d_CreateCommentResponse = CreateCommentResponse;\n  type commentsV2Comment_universal_d_GetCommentRequest = GetCommentRequest;\n  type commentsV2Comment_universal_d_GetCommentResponse = GetCommentResponse;\n  type commentsV2Comment_universal_d_UpdateCommentRequest = UpdateCommentRequest;\n  type commentsV2Comment_universal_d_UpdateCommentResponse = UpdateCommentResponse;\n  type commentsV2Comment_universal_d_DeleteCommentRequest = DeleteCommentRequest;\n  type commentsV2Comment_universal_d_DeleteCommentResponse = DeleteCommentResponse;\n  type commentsV2Comment_universal_d_CommentDeleted = CommentDeleted;\n  type commentsV2Comment_universal_d_ModerateDraftContentRequest = ModerateDraftContentRequest;\n  type commentsV2Comment_universal_d_Action = Action;\n  const commentsV2Comment_universal_d_Action: typeof Action;\n  type commentsV2Comment_universal_d_ModerateDraftContentResponse = ModerateDraftContentResponse;\n  type commentsV2Comment_universal_d_CommentPublished = CommentPublished;\n  type commentsV2Comment_universal_d_CommentHidden = CommentHidden;\n  type commentsV2Comment_universal_d_QueryCommentsRequest = QueryCommentsRequest;\n  type commentsV2Comment_universal_d_QueryCommentsResponse = QueryCommentsResponse;\n  type commentsV2Comment_universal_d_MarkCommentRequest = MarkCommentRequest;\n  type commentsV2Comment_universal_d_MarkCommentResponse = MarkCommentResponse;\n  type commentsV2Comment_universal_d_CommentMarked = CommentMarked;\n  type commentsV2Comment_universal_d_UnmarkCommentRequest = UnmarkCommentRequest;\n  type commentsV2Comment_universal_d_UnmarkCommentResponse = UnmarkCommentResponse;\n  type commentsV2Comment_universal_d_CommentUnmarked = CommentUnmarked;\n  type commentsV2Comment_universal_d_HideCommentRequest = HideCommentRequest;\n  type commentsV2Comment_universal_d_HideCommentResponse = HideCommentResponse;\n  type commentsV2Comment_universal_d_PublishCommentRequest = PublishCommentRequest;\n  type commentsV2Comment_universal_d_PublishCommentResponse = PublishCommentResponse;\n  type commentsV2Comment_universal_d_CountCommentsRequest = CountCommentsRequest;\n  type commentsV2Comment_universal_d_CountCommentsResponse = CountCommentsResponse;\n  type commentsV2Comment_universal_d_ListCommentsByResourceRequest = ListCommentsByResourceRequest;\n  type commentsV2Comment_universal_d_CommentSort = CommentSort;\n  type commentsV2Comment_universal_d_Order = Order;\n  const commentsV2Comment_universal_d_Order: typeof Order;\n  type commentsV2Comment_universal_d_ReplySort = ReplySort;\n  type commentsV2Comment_universal_d_ReplySortOrder = ReplySortOrder;\n  const commentsV2Comment_universal_d_ReplySortOrder: typeof ReplySortOrder;\n  type commentsV2Comment_universal_d_ListCommentsByResourceCursorPaging = ListCommentsByResourceCursorPaging;\n  type commentsV2Comment_universal_d_ListCommentsByResourceResponse = ListCommentsByResourceResponse;\n  type commentsV2Comment_universal_d_RepliesListResponse = RepliesListResponse;\n  type commentsV2Comment_universal_d_GetCommentThreadRequest = GetCommentThreadRequest;\n  type commentsV2Comment_universal_d_GetCommentThreadResponse = GetCommentThreadResponse;\n  type commentsV2Comment_universal_d_BulkPublishCommentRequest = BulkPublishCommentRequest;\n  type commentsV2Comment_universal_d_BulkPublishCommentResponse = BulkPublishCommentResponse;\n  type commentsV2Comment_universal_d_BulkHideCommentRequest = BulkHideCommentRequest;\n  type commentsV2Comment_universal_d_BulkHideCommentResponse = BulkHideCommentResponse;\n  type commentsV2Comment_universal_d_BulkDeleteCommentRequest = BulkDeleteCommentRequest;\n  type commentsV2Comment_universal_d_BulkDeleteCommentResponse = BulkDeleteCommentResponse;\n  const commentsV2Comment_universal_d_createComment: typeof createComment;\n  type commentsV2Comment_universal_d_CreateCommentOptions = CreateCommentOptions;\n  const commentsV2Comment_universal_d_getComment: typeof getComment;\n  const commentsV2Comment_universal_d_updateComment: typeof updateComment;\n  type commentsV2Comment_universal_d_UpdateCommentOptions = UpdateCommentOptions;\n  const commentsV2Comment_universal_d_deleteComment: typeof deleteComment;\n  type commentsV2Comment_universal_d_DeleteCommentOptions = DeleteCommentOptions;\n  const commentsV2Comment_universal_d_moderateDraftContent: typeof moderateDraftContent;\n  type commentsV2Comment_universal_d_ModerateDraftContentOptions = ModerateDraftContentOptions;\n  const commentsV2Comment_universal_d_queryComments: typeof queryComments;\n  type commentsV2Comment_universal_d_QueryCommentsOptions = QueryCommentsOptions;\n  const commentsV2Comment_universal_d_markComment: typeof markComment;\n  type commentsV2Comment_universal_d_MarkCommentOptions = MarkCommentOptions;\n  const commentsV2Comment_universal_d_unmarkComment: typeof unmarkComment;\n  type commentsV2Comment_universal_d_UnmarkCommentOptions = UnmarkCommentOptions;\n  const commentsV2Comment_universal_d_hideComment: typeof hideComment;\n  const commentsV2Comment_universal_d_publishComment: typeof publishComment;\n  const commentsV2Comment_universal_d_countComments: typeof countComments;\n  type commentsV2Comment_universal_d_CountCommentsOptions = CountCommentsOptions;\n  const commentsV2Comment_universal_d_listCommentsByResource: typeof listCommentsByResource;\n  type commentsV2Comment_universal_d_ListCommentsByResourceOptions = ListCommentsByResourceOptions;\n  const commentsV2Comment_universal_d_getCommentThread: typeof getCommentThread;\n  type commentsV2Comment_universal_d_GetCommentThreadOptions = GetCommentThreadOptions;\n  const commentsV2Comment_universal_d_bulkPublishComment: typeof bulkPublishComment;\n  type commentsV2Comment_universal_d_BulkPublishCommentOptions = BulkPublishCommentOptions;\n  const commentsV2Comment_universal_d_bulkHideComment: typeof bulkHideComment;\n  type commentsV2Comment_universal_d_BulkHideCommentOptions = BulkHideCommentOptions;\n  const commentsV2Comment_universal_d_bulkDeleteComment: typeof bulkDeleteComment;\n  type commentsV2Comment_universal_d_BulkDeleteCommentOptions = BulkDeleteCommentOptions;\n  namespace commentsV2Comment_universal_d {\n    export {\n      commentsV2Comment_universal_d___debug as __debug,\n      commentsV2Comment_universal_d_Comment as Comment,\n      commentsV2Comment_universal_d_CommentContent as CommentContent,\n      commentsV2Comment_universal_d_RichContent as RichContent,\n      commentsV2Comment_universal_d_Node as Node,\n      commentsV2Comment_universal_d_NodeDataOneOf as NodeDataOneOf,\n      commentsV2Comment_universal_d_NodeType as NodeType,\n      commentsV2Comment_universal_d_NodeStyle as NodeStyle,\n      commentsV2Comment_universal_d_ButtonData as ButtonData,\n      commentsV2Comment_universal_d_Border as Border,\n      commentsV2Comment_universal_d_Colors as Colors,\n      commentsV2Comment_universal_d_PluginContainerData as PluginContainerData,\n      commentsV2Comment_universal_d_WidthType as WidthType,\n      commentsV2Comment_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      commentsV2Comment_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      commentsV2Comment_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      commentsV2Comment_universal_d_Spoiler as Spoiler,\n      commentsV2Comment_universal_d_Height as Height,\n      Type$1 as Type,\n      commentsV2Comment_universal_d_Styles as Styles,\n      commentsV2Comment_universal_d_Link as Link,\n      commentsV2Comment_universal_d_LinkDataOneOf as LinkDataOneOf,\n      commentsV2Comment_universal_d_Target as Target,\n      commentsV2Comment_universal_d_Rel as Rel,\n      commentsV2Comment_universal_d_CodeBlockData as CodeBlockData,\n      commentsV2Comment_universal_d_TextStyle as TextStyle,\n      commentsV2Comment_universal_d_TextAlignment as TextAlignment,\n      commentsV2Comment_universal_d_DividerData as DividerData,\n      commentsV2Comment_universal_d_LineStyle as LineStyle,\n      commentsV2Comment_universal_d_Width as Width,\n      commentsV2Comment_universal_d_Alignment as Alignment,\n      commentsV2Comment_universal_d_FileData as FileData,\n      commentsV2Comment_universal_d_ViewMode as ViewMode,\n      commentsV2Comment_universal_d_FileSource as FileSource,\n      commentsV2Comment_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      commentsV2Comment_universal_d_PDFSettings as PDFSettings,\n      commentsV2Comment_universal_d_GalleryData as GalleryData,\n      commentsV2Comment_universal_d_Media as Media,\n      commentsV2Comment_universal_d_Image as Image,\n      commentsV2Comment_universal_d_Video as Video,\n      commentsV2Comment_universal_d_Item as Item,\n      commentsV2Comment_universal_d_ItemDataOneOf as ItemDataOneOf,\n      commentsV2Comment_universal_d_GalleryOptions as GalleryOptions,\n      commentsV2Comment_universal_d_LayoutType as LayoutType,\n      commentsV2Comment_universal_d_Orientation as Orientation,\n      commentsV2Comment_universal_d_Crop as Crop,\n      commentsV2Comment_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      commentsV2Comment_universal_d_Layout as Layout,\n      commentsV2Comment_universal_d_ItemStyle as ItemStyle,\n      commentsV2Comment_universal_d_Thumbnails as Thumbnails,\n      commentsV2Comment_universal_d_GIFData as GIFData,\n      commentsV2Comment_universal_d_GIF as GIF,\n      commentsV2Comment_universal_d_HeadingData as HeadingData,\n      commentsV2Comment_universal_d_HTMLData as HTMLData,\n      commentsV2Comment_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      commentsV2Comment_universal_d_Source as Source,\n      commentsV2Comment_universal_d_ImageData as ImageData,\n      commentsV2Comment_universal_d_LinkPreviewData as LinkPreviewData,\n      commentsV2Comment_universal_d_MapData as MapData,\n      commentsV2Comment_universal_d_MapSettings as MapSettings,\n      commentsV2Comment_universal_d_MapType as MapType,\n      commentsV2Comment_universal_d_ParagraphData as ParagraphData,\n      commentsV2Comment_universal_d_PollData as PollData,\n      commentsV2Comment_universal_d_ViewRole as ViewRole,\n      commentsV2Comment_universal_d_VoteRole as VoteRole,\n      Permissions$1 as Permissions,\n      commentsV2Comment_universal_d_Option as Option,\n      commentsV2Comment_universal_d_Settings as Settings,\n      commentsV2Comment_universal_d_PollLayoutType as PollLayoutType,\n      commentsV2Comment_universal_d_PollLayoutDirection as PollLayoutDirection,\n      commentsV2Comment_universal_d_PollLayout as PollLayout,\n      commentsV2Comment_universal_d_OptionLayout as OptionLayout,\n      commentsV2Comment_universal_d_BackgroundType as BackgroundType,\n      commentsV2Comment_universal_d_Gradient as Gradient,\n      commentsV2Comment_universal_d_Background as Background,\n      commentsV2Comment_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      commentsV2Comment_universal_d_PollDesign as PollDesign,\n      commentsV2Comment_universal_d_OptionDesign as OptionDesign,\n      commentsV2Comment_universal_d_Poll as Poll,\n      commentsV2Comment_universal_d_PollDataLayout as PollDataLayout,\n      commentsV2Comment_universal_d_Design as Design,\n      commentsV2Comment_universal_d_TextData as TextData,\n      commentsV2Comment_universal_d_Decoration as Decoration,\n      commentsV2Comment_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      commentsV2Comment_universal_d_DecorationType as DecorationType,\n      commentsV2Comment_universal_d_AnchorData as AnchorData,\n      commentsV2Comment_universal_d_ColorData as ColorData,\n      commentsV2Comment_universal_d_LinkData as LinkData,\n      commentsV2Comment_universal_d_MentionData as MentionData,\n      commentsV2Comment_universal_d_FontSizeData as FontSizeData,\n      commentsV2Comment_universal_d_FontType as FontType,\n      commentsV2Comment_universal_d_AppEmbedData as AppEmbedData,\n      commentsV2Comment_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      commentsV2Comment_universal_d_AppType as AppType,\n      commentsV2Comment_universal_d_BookingData as BookingData,\n      commentsV2Comment_universal_d_EventData as EventData,\n      commentsV2Comment_universal_d_VideoData as VideoData,\n      commentsV2Comment_universal_d_PlaybackOptions as PlaybackOptions,\n      commentsV2Comment_universal_d_EmbedData as EmbedData,\n      commentsV2Comment_universal_d_Oembed as Oembed,\n      commentsV2Comment_universal_d_CollapsibleListData as CollapsibleListData,\n      commentsV2Comment_universal_d_InitialExpandedItems as InitialExpandedItems,\n      commentsV2Comment_universal_d_Direction as Direction,\n      commentsV2Comment_universal_d_TableData as TableData,\n      commentsV2Comment_universal_d_Dimensions as Dimensions,\n      commentsV2Comment_universal_d_TableCellData as TableCellData,\n      commentsV2Comment_universal_d_VerticalAlignment as VerticalAlignment,\n      commentsV2Comment_universal_d_CellStyle as CellStyle,\n      commentsV2Comment_universal_d_BorderColors as BorderColors,\n      commentsV2Comment_universal_d_NullValue as NullValue,\n      commentsV2Comment_universal_d_ListValue as ListValue,\n      commentsV2Comment_universal_d_AudioData as AudioData,\n      commentsV2Comment_universal_d_OrderedListData as OrderedListData,\n      commentsV2Comment_universal_d_BulletedListData as BulletedListData,\n      commentsV2Comment_universal_d_BlockquoteData as BlockquoteData,\n      commentsV2Comment_universal_d_Metadata as Metadata,\n      commentsV2Comment_universal_d_DocumentStyle as DocumentStyle,\n      commentsV2Comment_universal_d_TextNodeStyle as TextNodeStyle,\n      commentsV2Comment_universal_d_Mention as Mention,\n      commentsV2Comment_universal_d_MentionIdentityOneOf as MentionIdentityOneOf,\n      commentsV2Comment_universal_d_Attachment as Attachment,\n      commentsV2Comment_universal_d_AttachmentMediaOneOf as AttachmentMediaOneOf,\n      commentsV2Comment_universal_d_VideoResolution as VideoResolution,\n      commentsV2Comment_universal_d_CommentAuthor as CommentAuthor,\n      commentsV2Comment_universal_d_CommentAuthorIdentityOneOf as CommentAuthorIdentityOneOf,\n      commentsV2Comment_universal_d_ParentComment as ParentComment,\n      commentsV2Comment_universal_d_VoteSummary as VoteSummary,\n      Status$1 as Status,\n      commentsV2Comment_universal_d_CommentReactionSummary as CommentReactionSummary,\n      commentsV2Comment_universal_d_UpdateInternalDocumentsEvent as UpdateInternalDocumentsEvent,\n      commentsV2Comment_universal_d_UpdateInternalDocumentsEventOperationOneOf as UpdateInternalDocumentsEventOperationOneOf,\n      commentsV2Comment_universal_d_InternalDocument as InternalDocument,\n      commentsV2Comment_universal_d_InternalDocumentUpdateOperation as InternalDocumentUpdateOperation,\n      commentsV2Comment_universal_d_DeleteByIdsOperation as DeleteByIdsOperation,\n      commentsV2Comment_universal_d_DeleteByFilterOperation as DeleteByFilterOperation,\n      commentsV2Comment_universal_d_InternalDocumentUpdateByFilterOperation as InternalDocumentUpdateByFilterOperation,\n      commentsV2Comment_universal_d_InternalUpdateExistingOperation as InternalUpdateExistingOperation,\n      commentsV2Comment_universal_d_VersionedDocumentUpdateOperation as VersionedDocumentUpdateOperation,\n      commentsV2Comment_universal_d_VersioningMode as VersioningMode,\n      commentsV2Comment_universal_d_VersionedDeleteByIdsOperation as VersionedDeleteByIdsOperation,\n      commentsV2Comment_universal_d_VersionedDocumentId as VersionedDocumentId,\n      commentsV2Comment_universal_d_CreateCommentRequest as CreateCommentRequest,\n      commentsV2Comment_universal_d_CreateCommentResponse as CreateCommentResponse,\n      commentsV2Comment_universal_d_GetCommentRequest as GetCommentRequest,\n      commentsV2Comment_universal_d_GetCommentResponse as GetCommentResponse,\n      commentsV2Comment_universal_d_UpdateCommentRequest as UpdateCommentRequest,\n      commentsV2Comment_universal_d_UpdateCommentResponse as UpdateCommentResponse,\n      commentsV2Comment_universal_d_DeleteCommentRequest as DeleteCommentRequest,\n      commentsV2Comment_universal_d_DeleteCommentResponse as DeleteCommentResponse,\n      commentsV2Comment_universal_d_CommentDeleted as CommentDeleted,\n      commentsV2Comment_universal_d_ModerateDraftContentRequest as ModerateDraftContentRequest,\n      commentsV2Comment_universal_d_Action as Action,\n      commentsV2Comment_universal_d_ModerateDraftContentResponse as ModerateDraftContentResponse,\n      commentsV2Comment_universal_d_CommentPublished as CommentPublished,\n      commentsV2Comment_universal_d_CommentHidden as CommentHidden,\n      commentsV2Comment_universal_d_QueryCommentsRequest as QueryCommentsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      commentsV2Comment_universal_d_QueryCommentsResponse as QueryCommentsResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      commentsV2Comment_universal_d_MarkCommentRequest as MarkCommentRequest,\n      commentsV2Comment_universal_d_MarkCommentResponse as MarkCommentResponse,\n      commentsV2Comment_universal_d_CommentMarked as CommentMarked,\n      commentsV2Comment_universal_d_UnmarkCommentRequest as UnmarkCommentRequest,\n      commentsV2Comment_universal_d_UnmarkCommentResponse as UnmarkCommentResponse,\n      commentsV2Comment_universal_d_CommentUnmarked as CommentUnmarked,\n      commentsV2Comment_universal_d_HideCommentRequest as HideCommentRequest,\n      commentsV2Comment_universal_d_HideCommentResponse as HideCommentResponse,\n      commentsV2Comment_universal_d_PublishCommentRequest as PublishCommentRequest,\n      commentsV2Comment_universal_d_PublishCommentResponse as PublishCommentResponse,\n      commentsV2Comment_universal_d_CountCommentsRequest as CountCommentsRequest,\n      commentsV2Comment_universal_d_CountCommentsResponse as CountCommentsResponse,\n      commentsV2Comment_universal_d_ListCommentsByResourceRequest as ListCommentsByResourceRequest,\n      commentsV2Comment_universal_d_CommentSort as CommentSort,\n      commentsV2Comment_universal_d_Order as Order,\n      commentsV2Comment_universal_d_ReplySort as ReplySort,\n      commentsV2Comment_universal_d_ReplySortOrder as ReplySortOrder,\n      commentsV2Comment_universal_d_ListCommentsByResourceCursorPaging as ListCommentsByResourceCursorPaging,\n      commentsV2Comment_universal_d_ListCommentsByResourceResponse as ListCommentsByResourceResponse,\n      commentsV2Comment_universal_d_RepliesListResponse as RepliesListResponse,\n      commentsV2Comment_universal_d_GetCommentThreadRequest as GetCommentThreadRequest,\n      commentsV2Comment_universal_d_GetCommentThreadResponse as GetCommentThreadResponse,\n      commentsV2Comment_universal_d_BulkPublishCommentRequest as BulkPublishCommentRequest,\n      commentsV2Comment_universal_d_BulkPublishCommentResponse as BulkPublishCommentResponse,\n      commentsV2Comment_universal_d_BulkHideCommentRequest as BulkHideCommentRequest,\n      commentsV2Comment_universal_d_BulkHideCommentResponse as BulkHideCommentResponse,\n      commentsV2Comment_universal_d_BulkDeleteCommentRequest as BulkDeleteCommentRequest,\n      commentsV2Comment_universal_d_BulkDeleteCommentResponse as BulkDeleteCommentResponse,\n      commentsV2Comment_universal_d_createComment as createComment,\n      commentsV2Comment_universal_d_CreateCommentOptions as CreateCommentOptions,\n      commentsV2Comment_universal_d_getComment as getComment,\n      commentsV2Comment_universal_d_updateComment as updateComment,\n      commentsV2Comment_universal_d_UpdateCommentOptions as UpdateCommentOptions,\n      commentsV2Comment_universal_d_deleteComment as deleteComment,\n      commentsV2Comment_universal_d_DeleteCommentOptions as DeleteCommentOptions,\n      commentsV2Comment_universal_d_moderateDraftContent as moderateDraftContent,\n      commentsV2Comment_universal_d_ModerateDraftContentOptions as ModerateDraftContentOptions,\n      commentsV2Comment_universal_d_queryComments as queryComments,\n      commentsV2Comment_universal_d_QueryCommentsOptions as QueryCommentsOptions,\n      commentsV2Comment_universal_d_markComment as markComment,\n      commentsV2Comment_universal_d_MarkCommentOptions as MarkCommentOptions,\n      commentsV2Comment_universal_d_unmarkComment as unmarkComment,\n      commentsV2Comment_universal_d_UnmarkCommentOptions as UnmarkCommentOptions,\n      commentsV2Comment_universal_d_hideComment as hideComment,\n      commentsV2Comment_universal_d_publishComment as publishComment,\n      commentsV2Comment_universal_d_countComments as countComments,\n      commentsV2Comment_universal_d_CountCommentsOptions as CountCommentsOptions,\n      commentsV2Comment_universal_d_listCommentsByResource as listCommentsByResource,\n      commentsV2Comment_universal_d_ListCommentsByResourceOptions as ListCommentsByResourceOptions,\n      commentsV2Comment_universal_d_getCommentThread as getCommentThread,\n      commentsV2Comment_universal_d_GetCommentThreadOptions as GetCommentThreadOptions,\n      commentsV2Comment_universal_d_bulkPublishComment as bulkPublishComment,\n      commentsV2Comment_universal_d_BulkPublishCommentOptions as BulkPublishCommentOptions,\n      commentsV2Comment_universal_d_bulkHideComment as bulkHideComment,\n      commentsV2Comment_universal_d_BulkHideCommentOptions as BulkHideCommentOptions,\n      commentsV2Comment_universal_d_bulkDeleteComment as bulkDeleteComment,\n      commentsV2Comment_universal_d_BulkDeleteCommentOptions as BulkDeleteCommentOptions,\n    };\n  }\n  \n  /** CommentsWidget is the main entity of CommentsWidgetRegistry that can be used for lorem ipsum dolor */\n  interface CommentsWidget {\n      /**\n       * CommentsWidget ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Widget category ID */\n      categoryId?: string;\n      /** Widget resource ID */\n      resourceId?: string;\n      /** Path to widget location */\n      urlPath?: string;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this CommentsResource was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this CommentsResource was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Component ID of the widget to which the category is attached to */\n      componentId?: string | null;\n      /** Count indicating how many published comments exist in category and resource */\n      commentCount?: number | null;\n  }\n  interface RegisterCommentsWidgetRequest {\n      /** Widget category ID */\n      categoryId: string;\n      /** Widget resource ID */\n      resourceId: string;\n      /** Deprecated field */\n      componentId?: string;\n      /** Dynamic page tittle, if the widget is inside a dynamic page */\n      dynamicPageTitle?: string | null;\n      /** PageId of the page, which contains the widget */\n      pageId?: string | null;\n      /** Page Url, provided by the client */\n      urlPath?: string | null;\n  }\n  interface RegisterCommentsWidgetResponse {\n      /** The registered CommentsWidget */\n      commentsWidget?: CommentsWidget;\n  }\n  interface QueryCommentsWidgetResourcesRequest {\n      /** Cursor query */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCommentsWidgetResourcesResponse {\n      /** List of resources */\n      resourceIds?: string[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CreateCommentsWidgetRequest {\n      /** CommentsWidget to be created */\n      commentsWidget: CommentsWidget;\n  }\n  interface CreateCommentsWidgetResponse {\n      /** The created CommentsWidget */\n      commentsWidget?: CommentsWidget;\n  }\n  interface GetCommentsWidgetRequest {\n      /** Id of the CommentsWidget to retrieve */\n      commentsWidgetId: string;\n  }\n  interface GetCommentsWidgetResponse {\n      /** The retrieved CommentsWidget */\n      commentsWidget?: CommentsWidget;\n  }\n  interface UpdateCommentsWidgetRequest {\n      /** CommentsWidget to be updated, may be partial */\n      commentsWidget: CommentsWidget;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateCommentsWidgetResponse {\n      /** The updated CommentsWidget */\n      commentsWidget?: CommentsWidget;\n  }\n  interface DeleteCommentsWidgetRequest {\n      /** Id of the CommentsWidget to delete */\n      commentsWidgetId: string;\n      /** The revision of the CommentsWidget */\n      revision?: string;\n  }\n  interface DeleteCommentsWidgetResponse {\n  }\n  interface QueryCommentsWidgetRequest {\n      /** WQL expression */\n      query: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryCommentsWidgetResponse {\n      /** The retrieved CommentsWidgets */\n      commentsWidgets?: CommentsWidget[];\n      /** Paging metadata */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface Empty$2 {\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Registers CommentsWidget. Whenever a widget is loaded for the first time or its resourceId changes, it saves the new resource information about the widget\n   * @param categoryId - Widget category ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField options.resourceId\n   * @permissionId WIX_COMMENTS.COMMENTS_WIDGET_REGISTER\n   */\n  function registerCommentsWidget(categoryId: string, options?: RegisterCommentsWidgetOptions): Promise<RegisterCommentsWidgetResponse>;\n  interface RegisterCommentsWidgetOptions {\n      /** Widget resource ID */\n      resourceId: string;\n      /** Deprecated field */\n      componentId?: string;\n      /** Dynamic page tittle, if the widget is inside a dynamic page */\n      dynamicPageTitle?: string | null;\n      /** PageId of the page, which contains the widget */\n      pageId?: string | null;\n      /** Page Url, provided by the client */\n      urlPath?: string | null;\n  }\n  /**\n   * Returns all registered widget resource ids contained in metaSite\n   * @param query - Cursor query\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId WIX_COMMENTS.COMMENTS_WIDGET_RESOURCES_QUERY\n   * @adminMethod\n   */\n  function queryCommentsWidgetResources(query: CursorQuery): Promise<QueryCommentsWidgetResourcesResponse>;\n  /**\n   * Creates a new CommentsWidget\n   * @param commentsWidget - CommentsWidget to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentsWidget\n   * @requiredField commentsWidget.categoryId\n   * @requiredField commentsWidget.resourceId\n   * @permissionId WIX_COMMENTS.COMMENTS_WIDGET_CREATE\n   * @adminMethod\n   * @returns The created CommentsWidget\n   */\n  function createCommentsWidget(commentsWidget: CommentsWidget): Promise<CommentsWidget>;\n  /**\n   * Get a CommentsWidget by id\n   * @param commentsWidgetId - Id of the CommentsWidget to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentsWidgetId\n   * @permissionId WIX_COMMENTS.COMMENTS_WIDGET_READ\n   * @returns The retrieved CommentsWidget\n   */\n  function getCommentsWidget(commentsWidgetId: string): Promise<CommentsWidget>;\n  /**\n   * Update CommentsWidget, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - CommentsWidget ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField commentsWidget\n   * @requiredField commentsWidget.revision\n   * @permissionId WIX_COMMENTS.COMMENTS_WIDGET_EDIT\n   * @adminMethod\n   * @returns The updated CommentsWidget\n   */\n  function updateCommentsWidget(_id: string | null, commentsWidget: UpdateCommentsWidget, options?: UpdateCommentsWidgetOptions): Promise<CommentsWidget>;\n  interface UpdateCommentsWidget {\n      /**\n       * CommentsWidget ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Widget category ID */\n      categoryId?: string;\n      /** Widget resource ID */\n      resourceId?: string;\n      /** Path to widget location */\n      urlPath?: string;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this CommentsResource was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this CommentsResource was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Component ID of the widget to which the category is attached to */\n      componentId?: string | null;\n      /** Count indicating how many published comments exist in category and resource */\n      commentCount?: number | null;\n  }\n  interface UpdateCommentsWidgetOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Delete a CommentsWidget\n   * @param commentsWidgetId - Id of the CommentsWidget to delete\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentsWidgetId\n   * @permissionId WIX_COMMENTS.COMMENTS_WIDGET_DELETE\n   * @adminMethod\n   */\n  function deleteCommentsWidget(commentsWidgetId: string, options?: DeleteCommentsWidgetOptions): Promise<void>;\n  interface DeleteCommentsWidgetOptions {\n      /** The revision of the CommentsWidget */\n      revision?: string;\n  }\n  /**\n   * Query CommentsWidgets using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_COMMENTS.COMMENTS_WIDGET_QUERY\n   */\n  function queryCommentsWidget(): CommentsWidgetsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CommentsWidgetsQueryResult extends QueryCursorResult$1 {\n      items: CommentsWidget[];\n      query: CommentsWidgetsQueryBuilder;\n      next: () => Promise<CommentsWidgetsQueryResult>;\n      prev: () => Promise<CommentsWidgetsQueryResult>;\n  }\n  interface CommentsWidgetsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'categoryId' | 'resourceId' | 'urlPath' | '_createdDate' | '_updatedDate' | 'componentId' | 'commentCount', value: any) => CommentsWidgetsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'categoryId' | 'resourceId' | 'urlPath' | '_createdDate' | '_updatedDate' | 'componentId' | 'commentCount', value: any) => CommentsWidgetsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate' | 'commentCount', value: any) => CommentsWidgetsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate' | 'commentCount', value: any) => CommentsWidgetsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate' | 'commentCount', value: any) => CommentsWidgetsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate' | 'commentCount', value: any) => CommentsWidgetsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'categoryId' | 'resourceId' | 'componentId', value: string) => CommentsWidgetsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'categoryId' | 'resourceId' | 'urlPath' | '_createdDate' | '_updatedDate' | 'componentId' | 'commentCount', value: any[]) => CommentsWidgetsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'categoryId' | 'resourceId' | 'urlPath' | '_createdDate' | '_updatedDate' | 'componentId' | 'commentCount', value: any) => CommentsWidgetsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'categoryId' | 'resourceId' | 'urlPath' | '_createdDate' | '_updatedDate' | 'componentId' | 'commentCount', value: boolean) => CommentsWidgetsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'categoryId' | 'resourceId' | 'urlPath' | '_createdDate' | '_updatedDate' | 'componentId' | 'commentCount'>) => CommentsWidgetsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'categoryId' | 'resourceId' | 'urlPath' | '_createdDate' | '_updatedDate' | 'componentId' | 'commentCount'>) => CommentsWidgetsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CommentsWidgetsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => CommentsWidgetsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CommentsWidgetsQueryResult>;\n  }\n  \n  type commentsCategoriesV1CommentsWidget_universal_d_CommentsWidget = CommentsWidget;\n  type commentsCategoriesV1CommentsWidget_universal_d_RegisterCommentsWidgetRequest = RegisterCommentsWidgetRequest;\n  type commentsCategoriesV1CommentsWidget_universal_d_RegisterCommentsWidgetResponse = RegisterCommentsWidgetResponse;\n  type commentsCategoriesV1CommentsWidget_universal_d_QueryCommentsWidgetResourcesRequest = QueryCommentsWidgetResourcesRequest;\n  type commentsCategoriesV1CommentsWidget_universal_d_CursorQuery = CursorQuery;\n  type commentsCategoriesV1CommentsWidget_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type commentsCategoriesV1CommentsWidget_universal_d_QueryCommentsWidgetResourcesResponse = QueryCommentsWidgetResourcesResponse;\n  type commentsCategoriesV1CommentsWidget_universal_d_CreateCommentsWidgetRequest = CreateCommentsWidgetRequest;\n  type commentsCategoriesV1CommentsWidget_universal_d_CreateCommentsWidgetResponse = CreateCommentsWidgetResponse;\n  type commentsCategoriesV1CommentsWidget_universal_d_GetCommentsWidgetRequest = GetCommentsWidgetRequest;\n  type commentsCategoriesV1CommentsWidget_universal_d_GetCommentsWidgetResponse = GetCommentsWidgetResponse;\n  type commentsCategoriesV1CommentsWidget_universal_d_UpdateCommentsWidgetRequest = UpdateCommentsWidgetRequest;\n  type commentsCategoriesV1CommentsWidget_universal_d_UpdateCommentsWidgetResponse = UpdateCommentsWidgetResponse;\n  type commentsCategoriesV1CommentsWidget_universal_d_DeleteCommentsWidgetRequest = DeleteCommentsWidgetRequest;\n  type commentsCategoriesV1CommentsWidget_universal_d_DeleteCommentsWidgetResponse = DeleteCommentsWidgetResponse;\n  type commentsCategoriesV1CommentsWidget_universal_d_QueryCommentsWidgetRequest = QueryCommentsWidgetRequest;\n  type commentsCategoriesV1CommentsWidget_universal_d_QueryCommentsWidgetResponse = QueryCommentsWidgetResponse;\n  type commentsCategoriesV1CommentsWidget_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  const commentsCategoriesV1CommentsWidget_universal_d_registerCommentsWidget: typeof registerCommentsWidget;\n  type commentsCategoriesV1CommentsWidget_universal_d_RegisterCommentsWidgetOptions = RegisterCommentsWidgetOptions;\n  const commentsCategoriesV1CommentsWidget_universal_d_queryCommentsWidgetResources: typeof queryCommentsWidgetResources;\n  const commentsCategoriesV1CommentsWidget_universal_d_createCommentsWidget: typeof createCommentsWidget;\n  const commentsCategoriesV1CommentsWidget_universal_d_getCommentsWidget: typeof getCommentsWidget;\n  const commentsCategoriesV1CommentsWidget_universal_d_updateCommentsWidget: typeof updateCommentsWidget;\n  type commentsCategoriesV1CommentsWidget_universal_d_UpdateCommentsWidget = UpdateCommentsWidget;\n  type commentsCategoriesV1CommentsWidget_universal_d_UpdateCommentsWidgetOptions = UpdateCommentsWidgetOptions;\n  const commentsCategoriesV1CommentsWidget_universal_d_deleteCommentsWidget: typeof deleteCommentsWidget;\n  type commentsCategoriesV1CommentsWidget_universal_d_DeleteCommentsWidgetOptions = DeleteCommentsWidgetOptions;\n  const commentsCategoriesV1CommentsWidget_universal_d_queryCommentsWidget: typeof queryCommentsWidget;\n  type commentsCategoriesV1CommentsWidget_universal_d_CommentsWidgetsQueryResult = CommentsWidgetsQueryResult;\n  type commentsCategoriesV1CommentsWidget_universal_d_CommentsWidgetsQueryBuilder = CommentsWidgetsQueryBuilder;\n  namespace commentsCategoriesV1CommentsWidget_universal_d {\n    export {\n      commentsCategoriesV1CommentsWidget_universal_d_CommentsWidget as CommentsWidget,\n      commentsCategoriesV1CommentsWidget_universal_d_RegisterCommentsWidgetRequest as RegisterCommentsWidgetRequest,\n      commentsCategoriesV1CommentsWidget_universal_d_RegisterCommentsWidgetResponse as RegisterCommentsWidgetResponse,\n      commentsCategoriesV1CommentsWidget_universal_d_QueryCommentsWidgetResourcesRequest as QueryCommentsWidgetResourcesRequest,\n      commentsCategoriesV1CommentsWidget_universal_d_CursorQuery as CursorQuery,\n      commentsCategoriesV1CommentsWidget_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      commentsCategoriesV1CommentsWidget_universal_d_QueryCommentsWidgetResourcesResponse as QueryCommentsWidgetResourcesResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      commentsCategoriesV1CommentsWidget_universal_d_CreateCommentsWidgetRequest as CreateCommentsWidgetRequest,\n      commentsCategoriesV1CommentsWidget_universal_d_CreateCommentsWidgetResponse as CreateCommentsWidgetResponse,\n      commentsCategoriesV1CommentsWidget_universal_d_GetCommentsWidgetRequest as GetCommentsWidgetRequest,\n      commentsCategoriesV1CommentsWidget_universal_d_GetCommentsWidgetResponse as GetCommentsWidgetResponse,\n      commentsCategoriesV1CommentsWidget_universal_d_UpdateCommentsWidgetRequest as UpdateCommentsWidgetRequest,\n      commentsCategoriesV1CommentsWidget_universal_d_UpdateCommentsWidgetResponse as UpdateCommentsWidgetResponse,\n      commentsCategoriesV1CommentsWidget_universal_d_DeleteCommentsWidgetRequest as DeleteCommentsWidgetRequest,\n      commentsCategoriesV1CommentsWidget_universal_d_DeleteCommentsWidgetResponse as DeleteCommentsWidgetResponse,\n      commentsCategoriesV1CommentsWidget_universal_d_QueryCommentsWidgetRequest as QueryCommentsWidgetRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Paging$1 as Paging,\n      commentsCategoriesV1CommentsWidget_universal_d_QueryCommentsWidgetResponse as QueryCommentsWidgetResponse,\n      commentsCategoriesV1CommentsWidget_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      Empty$2 as Empty,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      commentsCategoriesV1CommentsWidget_universal_d_registerCommentsWidget as registerCommentsWidget,\n      commentsCategoriesV1CommentsWidget_universal_d_RegisterCommentsWidgetOptions as RegisterCommentsWidgetOptions,\n      commentsCategoriesV1CommentsWidget_universal_d_queryCommentsWidgetResources as queryCommentsWidgetResources,\n      commentsCategoriesV1CommentsWidget_universal_d_createCommentsWidget as createCommentsWidget,\n      commentsCategoriesV1CommentsWidget_universal_d_getCommentsWidget as getCommentsWidget,\n      commentsCategoriesV1CommentsWidget_universal_d_updateCommentsWidget as updateCommentsWidget,\n      commentsCategoriesV1CommentsWidget_universal_d_UpdateCommentsWidget as UpdateCommentsWidget,\n      commentsCategoriesV1CommentsWidget_universal_d_UpdateCommentsWidgetOptions as UpdateCommentsWidgetOptions,\n      commentsCategoriesV1CommentsWidget_universal_d_deleteCommentsWidget as deleteCommentsWidget,\n      commentsCategoriesV1CommentsWidget_universal_d_DeleteCommentsWidgetOptions as DeleteCommentsWidgetOptions,\n      commentsCategoriesV1CommentsWidget_universal_d_queryCommentsWidget as queryCommentsWidget,\n      commentsCategoriesV1CommentsWidget_universal_d_CommentsWidgetsQueryResult as CommentsWidgetsQueryResult,\n      commentsCategoriesV1CommentsWidget_universal_d_CommentsWidgetsQueryBuilder as CommentsWidgetsQueryBuilder,\n    };\n  }\n  \n  /** Category is the main entity for Comments widget service */\n  interface Category {\n      /**\n       * Category ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Name of the category */\n      name?: string | null;\n      /**\n       * Setting to allow or permit guest commenting\n       * @deprecated Setting to allow or permit guest commenting\n       */\n      guestCommenting?: boolean | null;\n      /**\n       * Setting to allow or permit guests to add reactions to comments\n       * @deprecated Setting to allow or permit guests to add reactions to comments\n       */\n      guestReactions?: boolean | null;\n      /** The selected type of reactions to be used in comments */\n      reactionType?: ReactionTypeType;\n      /** The selected type of reactions to be used in replies */\n      repliesReactionType?: RepliesReactionTypeType;\n      /** The default comment label for marked comment badges */\n      markedCommentLabelType?: Type;\n      /** Custom label value for marked comment badges */\n      customMarkedCommentLabel?: string | null;\n      /** The type of icons to be used for comment likes */\n      mainReaction?: ReactionIcon;\n      /** Category ratings settings. Describes whether ratings are enabled for category and if leaving a rating when placing a comment is mandatory */\n      ratingsSettings?: RatingsSettings;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Category was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this Category was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Category permissions settings. Describes what UoU entities are allowed to perform actions */\n      permissionsSettings?: PermissionsSettings;\n      /** Indication of whether the category is active and being used in live site */\n      active?: boolean | null;\n      /** Application owning category */\n      appId?: string | null;\n  }\n  enum ReactionTypeType {\n      UNKNOWN = \"UNKNOWN\",\n      VOTE = \"VOTE\",\n      REACTIONS = \"REACTIONS\",\n      MULTIPLE_REACTIONS = \"MULTIPLE_REACTIONS\"\n  }\n  enum RepliesReactionTypeType {\n      UNKNOWN = \"UNKNOWN\",\n      REACTIONS = \"REACTIONS\",\n      MULTIPLE_REACTIONS = \"MULTIPLE_REACTIONS\"\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      FEATURED = \"FEATURED\",\n      BEST_ANSWER = \"BEST_ANSWER\",\n      SOLVED = \"SOLVED\",\n      PINNED = \"PINNED\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface ReactionIcon extends ReactionIconIconsOneOf {\n      /** Type of icon to be used for reactions */\n      iconType?: IconTypeType;\n  }\n  /** @oneof */\n  interface ReactionIconIconsOneOf {\n      /** Type of icon to be used for reactions */\n      iconType?: IconTypeType;\n  }\n  enum IconTypeType {\n      UNKNOWN = \"UNKNOWN\",\n      LOVE = \"LOVE\",\n      THUMBS_UP = \"THUMBS_UP\"\n  }\n  interface RatingsSettings {\n      /** Indicates whether ratings are enabled */\n      ratingsEnabled?: boolean;\n      /** Indicates whether leaving a rating is required */\n      ratingRequired?: boolean;\n  }\n  interface PermissionsSettings {\n      /** Indicates whether commenting is enabled and with what role permissions */\n      createComment?: Permissions;\n      /** Indicates whether replying is enabled and with what role permissions */\n      createReply?: Permissions;\n      /** Indicates whether reacting is enabled and with what role permissions */\n      createReact?: Permissions;\n  }\n  interface Permissions {\n      /** Defines the role for permissions */\n      role?: Role;\n  }\n  enum Role {\n      UNKNOWN_ROLE = \"UNKNOWN_ROLE\",\n      ALL = \"ALL\",\n      MEMBER = \"MEMBER\",\n      ADMIN = \"ADMIN\"\n  }\n  interface CreateCategoryRequest {\n      /** Category to be created */\n      category: Category;\n  }\n  interface CreateCategoryResponse {\n      /** The created Category */\n      category?: Category;\n  }\n  interface GetCategoryRequest {\n      /** Id of the Category to retrieve */\n      categoryId: string;\n  }\n  interface GetCategoryResponse {\n      /** The retrieved Category */\n      category?: Category;\n  }\n  interface UpdateCategoryRequest {\n      /** Category to be updated, may be partial and include only CategoryId and the field to change */\n      category: Category;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateCategoryResponse {\n      /** The updated Category */\n      category?: Category;\n  }\n  interface DeleteCategoryRequest {\n      /** Id of the Category to delete */\n      categoryId: string;\n      /** The revision of the Category */\n      revision?: string;\n  }\n  interface DeleteCategoryResponse {\n  }\n  interface QueryCategoryRequest {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCategoryResponse {\n      /** The retrieved Categories */\n      categories?: Category[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new Category\n   * @param category - Category to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField category\n   * @requiredField category.guestCommenting\n   * @requiredField category.guestReactions\n   * @requiredField category.name\n   * @permissionId WIX_COMMENTS.CATEGORY_CREATE\n   * @adminMethod\n   * @returns The created Category\n   */\n  function createCategory(category: Category): Promise<Category>;\n  /**\n   * Get a Category by id\n   * @param categoryId - Id of the Category to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @permissionId WIX_COMMENTS.CATEGORY_READ\n   * @returns The retrieved Category\n   */\n  function getCategory(categoryId: string): Promise<Category>;\n  /**\n   * Update a Category, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - Category ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField category\n   * @requiredField category.name\n   * @requiredField category.revision\n   * @permissionId WIX_COMMENTS.CATEGORY_EDIT\n   * @adminMethod\n   * @returns The updated Category\n   */\n  function updateCategory(_id: string | null, category: UpdateCategory, options?: UpdateCategoryOptions): Promise<Category>;\n  interface UpdateCategory {\n      /**\n       * Category ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Name of the category */\n      name?: string | null;\n      /**\n       * Setting to allow or permit guest commenting\n       * @deprecated Setting to allow or permit guest commenting\n       */\n      guestCommenting?: boolean | null;\n      /**\n       * Setting to allow or permit guests to add reactions to comments\n       * @deprecated Setting to allow or permit guests to add reactions to comments\n       */\n      guestReactions?: boolean | null;\n      /** The selected type of reactions to be used in comments */\n      reactionType?: ReactionTypeType;\n      /** The selected type of reactions to be used in replies */\n      repliesReactionType?: RepliesReactionTypeType;\n      /** The default comment label for marked comment badges */\n      markedCommentLabelType?: Type;\n      /** Custom label value for marked comment badges */\n      customMarkedCommentLabel?: string | null;\n      /** The type of icons to be used for comment likes */\n      mainReaction?: ReactionIcon;\n      /** Category ratings settings. Describes whether ratings are enabled for category and if leaving a rating when placing a comment is mandatory */\n      ratingsSettings?: RatingsSettings;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Category was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this Category was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Category permissions settings. Describes what UoU entities are allowed to perform actions */\n      permissionsSettings?: PermissionsSettings;\n      /** Indication of whether the category is active and being used in live site */\n      active?: boolean | null;\n      /** Application owning category */\n      appId?: string | null;\n  }\n  interface UpdateCategoryOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Delete a Category\n   * @param categoryId - Id of the Category to delete\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @permissionId WIX_COMMENTS.CATEGORY_DELETE\n   * @adminMethod\n   */\n  function deleteCategory(categoryId: string, options?: DeleteCategoryOptions): Promise<void>;\n  interface DeleteCategoryOptions {\n      /** The revision of the Category */\n      revision?: string;\n  }\n  /**\n   * Query Category using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_COMMENTS.CATEGORY_READ\n   */\n  function queryCategory(): CategoriesQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CategoriesQueryResult extends QueryCursorResult {\n      items: Category[];\n      query: CategoriesQueryBuilder;\n      next: () => Promise<CategoriesQueryResult>;\n      prev: () => Promise<CategoriesQueryResult>;\n  }\n  interface CategoriesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name' | 'guestCommenting' | 'guestReactions' | 'ratingsSettings.ratingsEnabled' | 'ratingsSettings.ratingRequired' | '_createdDate' | 'permissionsSettings.createComment' | 'permissionsSettings.createReply' | 'permissionsSettings.createReact' | 'appId', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name' | 'guestCommenting' | 'guestReactions' | 'ratingsSettings.ratingsEnabled' | 'ratingsSettings.ratingRequired' | '_createdDate' | 'permissionsSettings.createComment' | 'permissionsSettings.createReply' | 'permissionsSettings.createReact' | 'appId', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'appId', value: string) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'name' | 'guestCommenting' | 'guestReactions' | 'ratingsSettings.ratingsEnabled' | 'ratingsSettings.ratingRequired' | '_createdDate' | 'permissionsSettings.createComment' | 'permissionsSettings.createReply' | 'permissionsSettings.createReact' | 'appId', value: any[]) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | 'guestCommenting' | 'guestReactions' | 'ratingsSettings.ratingsEnabled' | 'ratingsSettings.ratingRequired' | '_createdDate' | 'permissionsSettings.createComment' | 'permissionsSettings.createReply' | 'permissionsSettings.createReact' | 'appId', value: any) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'name' | 'guestCommenting' | 'guestReactions' | 'ratingsSettings.ratingsEnabled' | 'ratingsSettings.ratingRequired' | '_createdDate' | 'permissionsSettings.createComment' | 'permissionsSettings.createReply' | 'permissionsSettings.createReact' | 'appId', value: boolean) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'name' | 'guestCommenting' | 'guestReactions' | 'ratingsSettings.ratingsEnabled' | 'ratingsSettings.ratingRequired' | '_createdDate' | 'permissionsSettings.createComment' | 'permissionsSettings.createReply' | 'permissionsSettings.createReact' | 'appId'>) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'name' | 'guestCommenting' | 'guestReactions' | 'ratingsSettings.ratingsEnabled' | 'ratingsSettings.ratingRequired' | '_createdDate' | 'permissionsSettings.createComment' | 'permissionsSettings.createReply' | 'permissionsSettings.createReact' | 'appId'>) => CategoriesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CategoriesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CategoriesQueryResult>;\n  }\n  \n  type commentsV1Category_universal_d_Category = Category;\n  type commentsV1Category_universal_d_ReactionTypeType = ReactionTypeType;\n  const commentsV1Category_universal_d_ReactionTypeType: typeof ReactionTypeType;\n  type commentsV1Category_universal_d_RepliesReactionTypeType = RepliesReactionTypeType;\n  const commentsV1Category_universal_d_RepliesReactionTypeType: typeof RepliesReactionTypeType;\n  type commentsV1Category_universal_d_Type = Type;\n  const commentsV1Category_universal_d_Type: typeof Type;\n  type commentsV1Category_universal_d_ReactionIcon = ReactionIcon;\n  type commentsV1Category_universal_d_ReactionIconIconsOneOf = ReactionIconIconsOneOf;\n  type commentsV1Category_universal_d_IconTypeType = IconTypeType;\n  const commentsV1Category_universal_d_IconTypeType: typeof IconTypeType;\n  type commentsV1Category_universal_d_RatingsSettings = RatingsSettings;\n  type commentsV1Category_universal_d_PermissionsSettings = PermissionsSettings;\n  type commentsV1Category_universal_d_Permissions = Permissions;\n  type commentsV1Category_universal_d_Role = Role;\n  const commentsV1Category_universal_d_Role: typeof Role;\n  type commentsV1Category_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type commentsV1Category_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n  type commentsV1Category_universal_d_GetCategoryRequest = GetCategoryRequest;\n  type commentsV1Category_universal_d_GetCategoryResponse = GetCategoryResponse;\n  type commentsV1Category_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type commentsV1Category_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n  type commentsV1Category_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type commentsV1Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  type commentsV1Category_universal_d_QueryCategoryRequest = QueryCategoryRequest;\n  type commentsV1Category_universal_d_QueryV2 = QueryV2;\n  type commentsV1Category_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type commentsV1Category_universal_d_Sorting = Sorting;\n  type commentsV1Category_universal_d_SortOrder = SortOrder;\n  const commentsV1Category_universal_d_SortOrder: typeof SortOrder;\n  type commentsV1Category_universal_d_Paging = Paging;\n  type commentsV1Category_universal_d_CursorPaging = CursorPaging;\n  type commentsV1Category_universal_d_QueryCategoryResponse = QueryCategoryResponse;\n  type commentsV1Category_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type commentsV1Category_universal_d_Cursors = Cursors;\n  type commentsV1Category_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type commentsV1Category_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type commentsV1Category_universal_d_Asset = Asset;\n  type commentsV1Category_universal_d_State = State;\n  const commentsV1Category_universal_d_State: typeof State;\n  type commentsV1Category_universal_d_SiteCreated = SiteCreated;\n  type commentsV1Category_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const commentsV1Category_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type commentsV1Category_universal_d_Namespace = Namespace;\n  const commentsV1Category_universal_d_Namespace: typeof Namespace;\n  type commentsV1Category_universal_d_SiteTransferred = SiteTransferred;\n  type commentsV1Category_universal_d_SiteDeleted = SiteDeleted;\n  type commentsV1Category_universal_d_DeleteContext = DeleteContext;\n  type commentsV1Category_universal_d_DeleteStatus = DeleteStatus;\n  const commentsV1Category_universal_d_DeleteStatus: typeof DeleteStatus;\n  type commentsV1Category_universal_d_SiteUndeleted = SiteUndeleted;\n  type commentsV1Category_universal_d_SitePublished = SitePublished;\n  type commentsV1Category_universal_d_SiteUnpublished = SiteUnpublished;\n  type commentsV1Category_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type commentsV1Category_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type commentsV1Category_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type commentsV1Category_universal_d_ServiceRemoved = ServiceRemoved;\n  type commentsV1Category_universal_d_SiteRenamed = SiteRenamed;\n  type commentsV1Category_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type commentsV1Category_universal_d_NamespaceChanged = NamespaceChanged;\n  type commentsV1Category_universal_d_StudioAssigned = StudioAssigned;\n  type commentsV1Category_universal_d_StudioUnassigned = StudioUnassigned;\n  type commentsV1Category_universal_d_MessageEnvelope = MessageEnvelope;\n  type commentsV1Category_universal_d_IdentificationData = IdentificationData;\n  type commentsV1Category_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type commentsV1Category_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const commentsV1Category_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const commentsV1Category_universal_d_createCategory: typeof createCategory;\n  const commentsV1Category_universal_d_getCategory: typeof getCategory;\n  const commentsV1Category_universal_d_updateCategory: typeof updateCategory;\n  type commentsV1Category_universal_d_UpdateCategory = UpdateCategory;\n  type commentsV1Category_universal_d_UpdateCategoryOptions = UpdateCategoryOptions;\n  const commentsV1Category_universal_d_deleteCategory: typeof deleteCategory;\n  type commentsV1Category_universal_d_DeleteCategoryOptions = DeleteCategoryOptions;\n  const commentsV1Category_universal_d_queryCategory: typeof queryCategory;\n  type commentsV1Category_universal_d_CategoriesQueryResult = CategoriesQueryResult;\n  type commentsV1Category_universal_d_CategoriesQueryBuilder = CategoriesQueryBuilder;\n  namespace commentsV1Category_universal_d {\n    export {\n      commentsV1Category_universal_d_Category as Category,\n      commentsV1Category_universal_d_ReactionTypeType as ReactionTypeType,\n      commentsV1Category_universal_d_RepliesReactionTypeType as RepliesReactionTypeType,\n      commentsV1Category_universal_d_Type as Type,\n      commentsV1Category_universal_d_ReactionIcon as ReactionIcon,\n      commentsV1Category_universal_d_ReactionIconIconsOneOf as ReactionIconIconsOneOf,\n      commentsV1Category_universal_d_IconTypeType as IconTypeType,\n      commentsV1Category_universal_d_RatingsSettings as RatingsSettings,\n      commentsV1Category_universal_d_PermissionsSettings as PermissionsSettings,\n      commentsV1Category_universal_d_Permissions as Permissions,\n      commentsV1Category_universal_d_Role as Role,\n      commentsV1Category_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      commentsV1Category_universal_d_CreateCategoryResponse as CreateCategoryResponse,\n      commentsV1Category_universal_d_GetCategoryRequest as GetCategoryRequest,\n      commentsV1Category_universal_d_GetCategoryResponse as GetCategoryResponse,\n      commentsV1Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      commentsV1Category_universal_d_UpdateCategoryResponse as UpdateCategoryResponse,\n      commentsV1Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      commentsV1Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      commentsV1Category_universal_d_QueryCategoryRequest as QueryCategoryRequest,\n      commentsV1Category_universal_d_QueryV2 as QueryV2,\n      commentsV1Category_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      commentsV1Category_universal_d_Sorting as Sorting,\n      commentsV1Category_universal_d_SortOrder as SortOrder,\n      commentsV1Category_universal_d_Paging as Paging,\n      commentsV1Category_universal_d_CursorPaging as CursorPaging,\n      commentsV1Category_universal_d_QueryCategoryResponse as QueryCategoryResponse,\n      commentsV1Category_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      commentsV1Category_universal_d_Cursors as Cursors,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      Empty$1 as Empty,\n      commentsV1Category_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      commentsV1Category_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      commentsV1Category_universal_d_Asset as Asset,\n      commentsV1Category_universal_d_State as State,\n      commentsV1Category_universal_d_SiteCreated as SiteCreated,\n      commentsV1Category_universal_d_SiteCreatedContext as SiteCreatedContext,\n      commentsV1Category_universal_d_Namespace as Namespace,\n      commentsV1Category_universal_d_SiteTransferred as SiteTransferred,\n      commentsV1Category_universal_d_SiteDeleted as SiteDeleted,\n      commentsV1Category_universal_d_DeleteContext as DeleteContext,\n      commentsV1Category_universal_d_DeleteStatus as DeleteStatus,\n      commentsV1Category_universal_d_SiteUndeleted as SiteUndeleted,\n      commentsV1Category_universal_d_SitePublished as SitePublished,\n      commentsV1Category_universal_d_SiteUnpublished as SiteUnpublished,\n      commentsV1Category_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      commentsV1Category_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      commentsV1Category_universal_d_ServiceProvisioned as ServiceProvisioned,\n      commentsV1Category_universal_d_ServiceRemoved as ServiceRemoved,\n      commentsV1Category_universal_d_SiteRenamed as SiteRenamed,\n      commentsV1Category_universal_d_SiteHardDeleted as SiteHardDeleted,\n      commentsV1Category_universal_d_NamespaceChanged as NamespaceChanged,\n      commentsV1Category_universal_d_StudioAssigned as StudioAssigned,\n      commentsV1Category_universal_d_StudioUnassigned as StudioUnassigned,\n      commentsV1Category_universal_d_MessageEnvelope as MessageEnvelope,\n      commentsV1Category_universal_d_IdentificationData as IdentificationData,\n      commentsV1Category_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      commentsV1Category_universal_d_WebhookIdentityType as WebhookIdentityType,\n      commentsV1Category_universal_d_createCategory as createCategory,\n      commentsV1Category_universal_d_getCategory as getCategory,\n      commentsV1Category_universal_d_updateCategory as updateCategory,\n      commentsV1Category_universal_d_UpdateCategory as UpdateCategory,\n      commentsV1Category_universal_d_UpdateCategoryOptions as UpdateCategoryOptions,\n      commentsV1Category_universal_d_deleteCategory as deleteCategory,\n      commentsV1Category_universal_d_DeleteCategoryOptions as DeleteCategoryOptions,\n      commentsV1Category_universal_d_queryCategory as queryCategory,\n      commentsV1Category_universal_d_CategoriesQueryResult as CategoriesQueryResult,\n      commentsV1Category_universal_d_CategoriesQueryBuilder as CategoriesQueryBuilder,\n    };\n  }\n  \n  /** CommentsSubscription is the main entity for Comments subscriptions service */\n  interface CommentsSubscription extends CommentsSubscriptionSubscriptionTypeOneOf {\n      resource?: ResourceData;\n      comment?: CommentData;\n      /**\n       * Subscription status. Read-only field\n       * @readonly\n       */\n      subscriptionStatus?: Status;\n  }\n  /** @oneof */\n  interface CommentsSubscriptionSubscriptionTypeOneOf {\n      resource?: ResourceData;\n      comment?: CommentData;\n  }\n  /** ContextId and resource Id, to which subscriptions are attached to */\n  interface ResourceData {\n      contextId?: string;\n      resourceId?: string;\n  }\n  /** Context Id, resource Id and comment Id, to which subscriptions are attached to */\n  interface CommentData {\n      contextId?: string;\n      resourceId?: string;\n      commentId?: string;\n  }\n  enum Status {\n      UNKNOWN = \"UNKNOWN\",\n      UNSUBSCRIBED = \"UNSUBSCRIBED\",\n      SUBSCRIBED = \"SUBSCRIBED\"\n  }\n  interface SubscribeRequest {\n      /** Entity to which the user has to be subscribed to */\n      subscription: CommentsSubscription;\n  }\n  interface SubscribeResponse {\n  }\n  interface UnsubscribeRequest {\n      /** Entity from which the user is unsubscribing */\n      subscription: CommentsSubscription;\n  }\n  interface UnsubscribeResponse {\n  }\n  interface GetSubscriptionRequest {\n      /** Entity for which to get subscription status */\n      subscription: CommentsSubscription;\n  }\n  interface GetSubscriptionResponse {\n      /** Comments subscription with subscription status data */\n      subscription?: CommentsSubscription;\n  }\n  interface ListSubscriptionsRequest {\n      /** Comments subscriptions for which to get subscription statuses */\n      subscriptions: CommentsSubscription[];\n  }\n  interface ListSubscriptionsResponse {\n      /** Comments subscriptions with subscription statuses attached */\n      subscriptions?: CommentsSubscription[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Subscribes user to specified entity topic\n   * @param subscription - Entity to which the user has to be subscribed to\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField subscription\n   * @adminMethod\n   */\n  function subscribe(subscription: CommentsSubscription): Promise<void>;\n  /**\n   * Unsubscribes user from specified entity topic\n   * @param subscription - Entity from which the user is unsubscribing\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField subscription\n   * @adminMethod\n   */\n  function unsubscribe(subscription: CommentsSubscription): Promise<void>;\n  /**\n   * Gets subscription and its status\n   * @param subscription - Entity for which to get subscription status\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField subscription\n   * @adminMethod\n   */\n  function getSubscription(subscription: CommentsSubscription): Promise<GetSubscriptionResponse>;\n  /**\n   * List of subscriptions with their status\n   * @param subscriptions - Comments subscriptions for which to get subscription statuses\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField subscriptions\n   * @adminMethod\n   */\n  function listSubscriptions(subscriptions: CommentsSubscription[]): Promise<ListSubscriptionsResponse>;\n  \n  type commentsV1CommentsSubscription_universal_d_CommentsSubscription = CommentsSubscription;\n  type commentsV1CommentsSubscription_universal_d_CommentsSubscriptionSubscriptionTypeOneOf = CommentsSubscriptionSubscriptionTypeOneOf;\n  type commentsV1CommentsSubscription_universal_d_ResourceData = ResourceData;\n  type commentsV1CommentsSubscription_universal_d_CommentData = CommentData;\n  type commentsV1CommentsSubscription_universal_d_Status = Status;\n  const commentsV1CommentsSubscription_universal_d_Status: typeof Status;\n  type commentsV1CommentsSubscription_universal_d_SubscribeRequest = SubscribeRequest;\n  type commentsV1CommentsSubscription_universal_d_SubscribeResponse = SubscribeResponse;\n  type commentsV1CommentsSubscription_universal_d_UnsubscribeRequest = UnsubscribeRequest;\n  type commentsV1CommentsSubscription_universal_d_UnsubscribeResponse = UnsubscribeResponse;\n  type commentsV1CommentsSubscription_universal_d_GetSubscriptionRequest = GetSubscriptionRequest;\n  type commentsV1CommentsSubscription_universal_d_GetSubscriptionResponse = GetSubscriptionResponse;\n  type commentsV1CommentsSubscription_universal_d_ListSubscriptionsRequest = ListSubscriptionsRequest;\n  type commentsV1CommentsSubscription_universal_d_ListSubscriptionsResponse = ListSubscriptionsResponse;\n  type commentsV1CommentsSubscription_universal_d_DomainEvent = DomainEvent;\n  type commentsV1CommentsSubscription_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type commentsV1CommentsSubscription_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type commentsV1CommentsSubscription_universal_d_RestoreInfo = RestoreInfo;\n  type commentsV1CommentsSubscription_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type commentsV1CommentsSubscription_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type commentsV1CommentsSubscription_universal_d_ActionEvent = ActionEvent;\n  type commentsV1CommentsSubscription_universal_d_Empty = Empty;\n  const commentsV1CommentsSubscription_universal_d_subscribe: typeof subscribe;\n  const commentsV1CommentsSubscription_universal_d_unsubscribe: typeof unsubscribe;\n  const commentsV1CommentsSubscription_universal_d_getSubscription: typeof getSubscription;\n  const commentsV1CommentsSubscription_universal_d_listSubscriptions: typeof listSubscriptions;\n  namespace commentsV1CommentsSubscription_universal_d {\n    export {\n      commentsV1CommentsSubscription_universal_d_CommentsSubscription as CommentsSubscription,\n      commentsV1CommentsSubscription_universal_d_CommentsSubscriptionSubscriptionTypeOneOf as CommentsSubscriptionSubscriptionTypeOneOf,\n      commentsV1CommentsSubscription_universal_d_ResourceData as ResourceData,\n      commentsV1CommentsSubscription_universal_d_CommentData as CommentData,\n      commentsV1CommentsSubscription_universal_d_Status as Status,\n      commentsV1CommentsSubscription_universal_d_SubscribeRequest as SubscribeRequest,\n      commentsV1CommentsSubscription_universal_d_SubscribeResponse as SubscribeResponse,\n      commentsV1CommentsSubscription_universal_d_UnsubscribeRequest as UnsubscribeRequest,\n      commentsV1CommentsSubscription_universal_d_UnsubscribeResponse as UnsubscribeResponse,\n      commentsV1CommentsSubscription_universal_d_GetSubscriptionRequest as GetSubscriptionRequest,\n      commentsV1CommentsSubscription_universal_d_GetSubscriptionResponse as GetSubscriptionResponse,\n      commentsV1CommentsSubscription_universal_d_ListSubscriptionsRequest as ListSubscriptionsRequest,\n      commentsV1CommentsSubscription_universal_d_ListSubscriptionsResponse as ListSubscriptionsResponse,\n      commentsV1CommentsSubscription_universal_d_DomainEvent as DomainEvent,\n      commentsV1CommentsSubscription_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      commentsV1CommentsSubscription_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      commentsV1CommentsSubscription_universal_d_RestoreInfo as RestoreInfo,\n      commentsV1CommentsSubscription_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      commentsV1CommentsSubscription_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      commentsV1CommentsSubscription_universal_d_ActionEvent as ActionEvent,\n      commentsV1CommentsSubscription_universal_d_Empty as Empty,\n      commentsV1CommentsSubscription_universal_d_subscribe as subscribe,\n      commentsV1CommentsSubscription_universal_d_unsubscribe as unsubscribe,\n      commentsV1CommentsSubscription_universal_d_getSubscription as getSubscription,\n      commentsV1CommentsSubscription_universal_d_listSubscriptions as listSubscriptions,\n    };\n  }\n  \n  export { commentsV1Category_universal_d as categories, commentsV2Comment_universal_d as comments, commentsV1CommentsSubscription_universal_d as subscriptions, commentsCategoriesV1CommentsWidget_universal_d as widgets };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-marketing-tags-backend.d.ts",
      "content": "declare module \"wix-marketing-tags-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface MarketingTag extends MarketingTagParamsOneOf {\n      /**\n       * Marketing tag ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Marketing tag type.\n       * @readonly\n       */\n      type?: Type;\n      /**\n       * Whether this tag is enabled.\n       * Defaults to `true`.\n       */\n      enabled?: boolean | null;\n      /**\n       * A [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091)\n       * lets site owners analyze what a visitor does after clicking on a Google ad.\n       */\n      googleAds?: GoogleAds;\n      /**\n       * A [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579)\n       * lets site owners track page views, where visitors are coming from, how long they stay, and\n       * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310)\n       * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310)\n       * are supported.\n       */\n      googleAnalytics?: GoogleAnalytics;\n      /**\n       * A [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) lets site\n       * owners build visual reports of visitor activity that helps them evaluate the\n       * performance of their marketing campaigns.\n       */\n      yandexMetrica?: YandexMetrica;\n      /**\n       * A [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/)\n       * allows site owners to track Facebook ad-driven visitor activity on their site.\n       */\n      facebookPixel?: FacebookPixel;\n      /**\n       * A [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530)\n       * lets site owners implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManager?: GoogleTagManager;\n  }\n  /** @oneof */\n  interface MarketingTagParamsOneOf {\n      /**\n       * A [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091)\n       * lets site owners analyze what a visitor does after clicking on a Google ad.\n       */\n      googleAds?: GoogleAds;\n      /**\n       * A [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579)\n       * lets site owners track page views, where visitors are coming from, how long they stay, and\n       * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310)\n       * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310)\n       * are supported.\n       */\n      googleAnalytics?: GoogleAnalytics;\n      /**\n       * A [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) lets site\n       * owners build visual reports of visitor activity that helps them evaluate the\n       * performance of their marketing campaigns.\n       */\n      yandexMetrica?: YandexMetrica;\n      /**\n       * A [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/)\n       * allows site owners to track Facebook ad-driven visitor activity on their site.\n       */\n      facebookPixel?: FacebookPixel;\n      /**\n       * A [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530)\n       * lets site owners implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManager?: GoogleTagManager;\n  }\n  enum Type {\n      /** Illegal default value, exception will be thrown if used */\n      UNKNOWN = \"UNKNOWN\",\n      GOOGLE_ADS = \"GOOGLE_ADS\",\n      GOOGLE_ANALYTICS = \"GOOGLE_ANALYTICS\",\n      YANDEX_METRICA = \"YANDEX_METRICA\",\n      FACEBOOK_PIXEL = \"FACEBOOK_PIXEL\",\n      GOOGLE_TAG_MANAGER = \"GOOGLE_TAG_MANAGER\"\n  }\n  interface GoogleAds {\n      /** Domain associated with the Google Ads Conversion tag. */\n      domain?: string;\n      /**\n       * Conversion ID in AW-123456789 format.\n       * Specifies which Google property is associated with the site owner.\n       */\n      trackingId?: string;\n  }\n  interface GoogleAnalytics {\n      /** Domain associated with the Google Analytics tag. */\n      domain?: string;\n      /**\n       * Measurement ID for Google Analytics 4 tags in G-12345 format,\n       * or Analytics ID for Google Universal Analytics tags in UA-12345-1 format.\n       * Specifies which Google property is associated with the site owner.\n       */\n      trackingId?: string;\n      /** Whether IP addresses of site visitors are hidden from Google. */\n      ipAnonymization?: boolean | null;\n  }\n  interface YandexMetrica {\n      /** Domain associated with the Yandex Metrica tag. */\n      domain?: string;\n      /**\n       * Yandex Tag Number in 123456789 format.\n       * Specifies which Yandex tag is associated with the site owner.\n       */\n      trackingId?: string;\n  }\n  interface FacebookPixel {\n      /** Domain associated with the Facebook Pixel tag. */\n      domain?: string;\n      /**\n       * Pixel ID in 123456789 format.\n       * Specifies which Facebook Pixel is associated with the site owner.\n       */\n      trackingId?: string;\n  }\n  interface GoogleTagManager {\n      /** Domain associated with the Google tag. */\n      domain?: string;\n      /**\n       * Tag Manager Container ID in GTM-12345 format.\n       * Specifies which Google Tag Manager Container is associated with the site owner.\n       */\n      trackingId?: string;\n  }\n  interface UpsertMarketingTagRequest {\n      /** Marketing tag to create or update. */\n      tag: MarketingTag;\n  }\n  interface UpsertMarketingTagResponse {\n      /** Created or updated marketing tag. */\n      tag?: MarketingTag;\n  }\n  interface ListMarketingTagsRequest {\n      /** optional filter */\n      filter?: Filter;\n  }\n  interface Filter {\n      /** Filter by tag type. */\n      byType?: Type;\n  }\n  interface ListMarketingTagsResponse {\n      /** List of marketing tags. */\n      tags?: MarketingTag[];\n  }\n  interface DeleteMarketingTagRequest {\n      /** Marketing tag to delete. */\n      type?: Type;\n  }\n  interface DeleteMarketingTagResponse {\n  }\n  interface DeleteMarketingTagV2Request {\n      /** Marketing tag to delete. */\n      tagType?: Type;\n  }\n  interface DeleteMarketingTagV2Response {\n  }\n  /**\n   * Creates or updates a marketing tag.\n   * @param tag - Marketing tag to create or update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tag\n   * @requiredField tag\n   */\n  function upsertMarketingTag(tag: MarketingTag): Promise<UpsertMarketingTagResponse>;\n  /**\n   * Retrieves marketing tags given the provided filter.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listMarketingTags(options?: ListMarketingTagsOptions): Promise<ListMarketingTagsResponse>;\n  interface ListMarketingTagsOptions {\n      /** optional filter */\n      filter?: Filter;\n  }\n  /**\n   * Deletes a marketing tag.\n   * @public\n   * @documentationMaturity preview\n   */\n  function deleteMarketingTag(options?: DeleteMarketingTagOptions): Promise<void>;\n  interface DeleteMarketingTagOptions {\n      /** Marketing tag to delete. */\n      type?: Type;\n  }\n  /**\n   * Deletes a marketing tag\n   * @documentationMaturity preview */\n  function deleteMarketingTagV2(options?: DeleteMarketingTagV2Options): Promise<void>;\n  interface DeleteMarketingTagV2Options {\n      /** Marketing tag to delete. */\n      tagType?: Type;\n  }\n  \n  const marketingV1Tag_universal_d___debug: typeof __debug;\n  type marketingV1Tag_universal_d_MarketingTag = MarketingTag;\n  type marketingV1Tag_universal_d_MarketingTagParamsOneOf = MarketingTagParamsOneOf;\n  type marketingV1Tag_universal_d_Type = Type;\n  const marketingV1Tag_universal_d_Type: typeof Type;\n  type marketingV1Tag_universal_d_GoogleAds = GoogleAds;\n  type marketingV1Tag_universal_d_GoogleAnalytics = GoogleAnalytics;\n  type marketingV1Tag_universal_d_YandexMetrica = YandexMetrica;\n  type marketingV1Tag_universal_d_FacebookPixel = FacebookPixel;\n  type marketingV1Tag_universal_d_GoogleTagManager = GoogleTagManager;\n  type marketingV1Tag_universal_d_UpsertMarketingTagRequest = UpsertMarketingTagRequest;\n  type marketingV1Tag_universal_d_UpsertMarketingTagResponse = UpsertMarketingTagResponse;\n  type marketingV1Tag_universal_d_ListMarketingTagsRequest = ListMarketingTagsRequest;\n  type marketingV1Tag_universal_d_Filter = Filter;\n  type marketingV1Tag_universal_d_ListMarketingTagsResponse = ListMarketingTagsResponse;\n  type marketingV1Tag_universal_d_DeleteMarketingTagRequest = DeleteMarketingTagRequest;\n  type marketingV1Tag_universal_d_DeleteMarketingTagResponse = DeleteMarketingTagResponse;\n  type marketingV1Tag_universal_d_DeleteMarketingTagV2Request = DeleteMarketingTagV2Request;\n  type marketingV1Tag_universal_d_DeleteMarketingTagV2Response = DeleteMarketingTagV2Response;\n  const marketingV1Tag_universal_d_upsertMarketingTag: typeof upsertMarketingTag;\n  const marketingV1Tag_universal_d_listMarketingTags: typeof listMarketingTags;\n  type marketingV1Tag_universal_d_ListMarketingTagsOptions = ListMarketingTagsOptions;\n  const marketingV1Tag_universal_d_deleteMarketingTag: typeof deleteMarketingTag;\n  type marketingV1Tag_universal_d_DeleteMarketingTagOptions = DeleteMarketingTagOptions;\n  const marketingV1Tag_universal_d_deleteMarketingTagV2: typeof deleteMarketingTagV2;\n  type marketingV1Tag_universal_d_DeleteMarketingTagV2Options = DeleteMarketingTagV2Options;\n  namespace marketingV1Tag_universal_d {\n    export {\n      marketingV1Tag_universal_d___debug as __debug,\n      marketingV1Tag_universal_d_MarketingTag as MarketingTag,\n      marketingV1Tag_universal_d_MarketingTagParamsOneOf as MarketingTagParamsOneOf,\n      marketingV1Tag_universal_d_Type as Type,\n      marketingV1Tag_universal_d_GoogleAds as GoogleAds,\n      marketingV1Tag_universal_d_GoogleAnalytics as GoogleAnalytics,\n      marketingV1Tag_universal_d_YandexMetrica as YandexMetrica,\n      marketingV1Tag_universal_d_FacebookPixel as FacebookPixel,\n      marketingV1Tag_universal_d_GoogleTagManager as GoogleTagManager,\n      marketingV1Tag_universal_d_UpsertMarketingTagRequest as UpsertMarketingTagRequest,\n      marketingV1Tag_universal_d_UpsertMarketingTagResponse as UpsertMarketingTagResponse,\n      marketingV1Tag_universal_d_ListMarketingTagsRequest as ListMarketingTagsRequest,\n      marketingV1Tag_universal_d_Filter as Filter,\n      marketingV1Tag_universal_d_ListMarketingTagsResponse as ListMarketingTagsResponse,\n      marketingV1Tag_universal_d_DeleteMarketingTagRequest as DeleteMarketingTagRequest,\n      marketingV1Tag_universal_d_DeleteMarketingTagResponse as DeleteMarketingTagResponse,\n      marketingV1Tag_universal_d_DeleteMarketingTagV2Request as DeleteMarketingTagV2Request,\n      marketingV1Tag_universal_d_DeleteMarketingTagV2Response as DeleteMarketingTagV2Response,\n      marketingV1Tag_universal_d_upsertMarketingTag as upsertMarketingTag,\n      marketingV1Tag_universal_d_listMarketingTags as listMarketingTags,\n      marketingV1Tag_universal_d_ListMarketingTagsOptions as ListMarketingTagsOptions,\n      marketingV1Tag_universal_d_deleteMarketingTag as deleteMarketingTag,\n      marketingV1Tag_universal_d_DeleteMarketingTagOptions as DeleteMarketingTagOptions,\n      marketingV1Tag_universal_d_deleteMarketingTagV2 as deleteMarketingTagV2,\n      marketingV1Tag_universal_d_DeleteMarketingTagV2Options as DeleteMarketingTagV2Options,\n    };\n  }\n  \n  export { marketingV1Tag_universal_d as marketingTags };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-app-market-backend.d.ts",
      "content": "declare module \"wix-app-market-backend\" {\n  interface SendBIEventResponse {\n  }\n  interface SendBIEventRequest {\n      /**\n       * Name of the event that's triggered in your app.\n       *\n       * + `\"APP_DASHBOARD_LOADED\"`: A site onwer or contributor loads your app's dashboard.\n       * + `\"APP_FINISHED_CONFIGURATION\"`: The site owner completes all required configurations for your app in the Wix Developers Center.\n       * + `\"APP_UPGRADED\"`: The site owner upgrades your app's paid plan. An upgrade means that they have finished the checkout flow on the app's side but not necessarily on Wix's side.\n       * + `\"PRIMARY_ACTION_PERFORMED\"`: A site owner, contributor, or visitor triggers your app's primary action. For example, a site visitor writes a product review using your product review app.\n       * + `\"CHARGE\"`: You charge money from the site owner. For example, when the site owner purchases or renews a subscription for your app. Make sure to also send `eventData` and a key of `sum`.\n       * + `\"FUNDS_RETURNED\"`: Trigger this event when you send money back to a site owner (for example, refunds or chargebacks). Make sure to also send the charge amount inside `eventData`. For example, `{\"eventData\": {\"sum\": \"5.99\"}}`.\n       * + `\"CUSTOM\"`: Any event that's not listed here. Make sure to also send `customEventName`.\n       * + `\"APP_DEPLOYED\"`: Your app’s internal code implementation is changed and might affect user flows or cause a regression.\n       * + `\"APP_FINISH_BUSINESS_SETUP\"`: __Deprecation Notice:__ This enum value will be removed on March 30, 2023. Use `\"APP_SETUP_FINISHED\"` instead.\n       * + `\"APP_SETUP_FINISHED\"`: The site owner completes your app's required business setup.\n       */\n      eventName?: EventName;\n      /**\n       * Name of your app's custom event that was triggered. Required when `{\"eventName\": \"CUSTOM\"}`.\n       *\n       * Min: 2 characters\n       */\n      customEventName?: string | null;\n      /**\n       * Supported values include: `\"cycle_name\"`, `\"currency\"`, `\"sum\"`, `\"reason\"`, `\"app_plan_id\"`.\n       * You may also submit data with keys that aren't listed here.\n       *\n       * Additional data about your app's event.\n       *\n       * + `\"cycle_name\"`: Supported values: `\"monthly\"`, `\"yearly\"`, `\"2 years\"`, `\"one time\"`.\n       * + `\"currency\"`: 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * + `\"sum\"`: Amount of money. Required for `{\"eventName\": \"CHARGE\"}` and `{\"eventName\": \"FUNDS_RETURNED\"}`.\n       * + `\"reason\"`: Information about why the event was triggered in your app.\n       * + `\"app_plan_id\"`: ID of the your app's plan as displayed in the Developers Center. Note that it's the same value as `vendorProductId` in the [Paid Plan Purchased webhook](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/paid-plan-purchased).\n       */\n      eventData?: Record<string, string>;\n  }\n  enum EventName {\n      UNKNOWN = \"UNKNOWN\",\n      APP_DASHBOARD_LOADED = \"APP_DASHBOARD_LOADED\",\n      APP_FINISHED_CONFIGURATION = \"APP_FINISHED_CONFIGURATION\",\n      APP_UPGRADED = \"APP_UPGRADED\",\n      PRIMARY_ACTION_PERFORMED = \"PRIMARY_ACTION_PERFORMED\",\n      CUSTOM = \"CUSTOM\",\n      CHARGE = \"CHARGE\",\n      FUNDS_RETURNED = \"FUNDS_RETURNED\",\n      APP_FINISH_BUSINESS_SETUP = \"APP_FINISH_BUSINESS_SETUP\",\n      APP_DEPLOYED = \"APP_DEPLOYED\",\n      APP_SETUP_FINISHED = \"APP_SETUP_FINISHED\"\n  }\n  /**\n   * Submit a BI event to Wix.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function sendBiEvent(options?: SendBiEventOptions): Promise<void>;\n  interface SendBiEventOptions {\n      /**\n       * Name of the event that's triggered in your app.\n       *\n       * + `\"APP_DASHBOARD_LOADED\"`: A site onwer or contributor loads your app's dashboard.\n       * + `\"APP_FINISHED_CONFIGURATION\"`: The site owner completes all required configurations for your app in the Wix Developers Center.\n       * + `\"APP_UPGRADED\"`: The site owner upgrades your app's paid plan. An upgrade means that they have finished the checkout flow on the app's side but not necessarily on Wix's side.\n       * + `\"PRIMARY_ACTION_PERFORMED\"`: A site owner, contributor, or visitor triggers your app's primary action. For example, a site visitor writes a product review using your product review app.\n       * + `\"CHARGE\"`: You charge money from the site owner. For example, when the site owner purchases or renews a subscription for your app. Make sure to also send `eventData` and a key of `sum`.\n       * + `\"FUNDS_RETURNED\"`: Trigger this event when you send money back to a site owner (for example, refunds or chargebacks). Make sure to also send the charge amount inside `eventData`. For example, `{\"eventData\": {\"sum\": \"5.99\"}}`.\n       * + `\"CUSTOM\"`: Any event that's not listed here. Make sure to also send `customEventName`.\n       * + `\"APP_DEPLOYED\"`: Your app’s internal code implementation is changed and might affect user flows or cause a regression.\n       * + `\"APP_FINISH_BUSINESS_SETUP\"`: __Deprecation Notice:__ This enum value will be removed on March 30, 2023. Use `\"APP_SETUP_FINISHED\"` instead.\n       * + `\"APP_SETUP_FINISHED\"`: The site owner completes your app's required business setup.\n       */\n      eventName?: EventName;\n      /**\n       * Name of your app's custom event that was triggered. Required when `{\"eventName\": \"CUSTOM\"}`.\n       *\n       * Min: 2 characters\n       */\n      customEventName?: string | null;\n      /**\n       * Supported values include: `\"cycle_name\"`, `\"currency\"`, `\"sum\"`, `\"reason\"`, `\"app_plan_id\"`.\n       * You may also submit data with keys that aren't listed here.\n       *\n       * Additional data about your app's event.\n       *\n       * + `\"cycle_name\"`: Supported values: `\"monthly\"`, `\"yearly\"`, `\"2 years\"`, `\"one time\"`.\n       * + `\"currency\"`: 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * + `\"sum\"`: Amount of money. Required for `{\"eventName\": \"CHARGE\"}` and `{\"eventName\": \"FUNDS_RETURNED\"}`.\n       * + `\"reason\"`: Information about why the event was triggered in your app.\n       * + `\"app_plan_id\"`: ID of the your app's plan as displayed in the Developers Center. Note that it's the same value as `vendorProductId` in the [Paid Plan Purchased webhook](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/paid-plan-purchased).\n       */\n      eventData?: Record<string, string>;\n  }\n  \n  type devcenterBiEventsV1SendBiEventResponse_universal_d_SendBIEventResponse = SendBIEventResponse;\n  type devcenterBiEventsV1SendBiEventResponse_universal_d_SendBIEventRequest = SendBIEventRequest;\n  type devcenterBiEventsV1SendBiEventResponse_universal_d_EventName = EventName;\n  const devcenterBiEventsV1SendBiEventResponse_universal_d_EventName: typeof EventName;\n  const devcenterBiEventsV1SendBiEventResponse_universal_d_sendBiEvent: typeof sendBiEvent;\n  type devcenterBiEventsV1SendBiEventResponse_universal_d_SendBiEventOptions = SendBiEventOptions;\n  namespace devcenterBiEventsV1SendBiEventResponse_universal_d {\n    export {\n      devcenterBiEventsV1SendBiEventResponse_universal_d_SendBIEventResponse as SendBIEventResponse,\n      devcenterBiEventsV1SendBiEventResponse_universal_d_SendBIEventRequest as SendBIEventRequest,\n      devcenterBiEventsV1SendBiEventResponse_universal_d_EventName as EventName,\n      devcenterBiEventsV1SendBiEventResponse_universal_d_sendBiEvent as sendBiEvent,\n      devcenterBiEventsV1SendBiEventResponse_universal_d_SendBiEventOptions as SendBiEventOptions,\n    };\n  }\n  \n  interface PurchasedItem {\n      /** ID of your app's paid plan. */\n      productId?: string;\n      /** Price of your app's paid plan. For example, `9.95`. */\n      price?: string;\n      /**\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string;\n      /** Information about the billing cycle for your app's paid plan. */\n      billingCycle?: PaymentCycle;\n      /**\n       * Date and time the site onwers have purchased your app's paid plan in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      dateCreated?: Date;\n  }\n  enum PaymentCycle {\n      NO_CYCLE = \"NO_CYCLE\",\n      MONTHLY = \"MONTHLY\",\n      YEARLY = \"YEARLY\",\n      ONE_TIME = \"ONE_TIME\",\n      TWO_YEARS = \"TWO_YEARS\",\n      THREE_YEARS = \"THREE_YEARS\",\n      FOUR_YEARS = \"FOUR_YEARS\",\n      FIVE_YEARS = \"FIVE_YEARS\"\n  }\n  interface InvoiceStatusUpdate {\n      /** Invoice payment status. */\n      status?: InvoiceStatus;\n      /** Wix Premium invoice ID. */\n      invoiceId?: string;\n      /** App instance ID - a unique ID assigned to each app in each site. */\n      instanceId?: string | null;\n      /** Whether the invoice is for a single payment or for multiple, recurring payments. */\n      recurring?: boolean;\n  }\n  enum InvoiceStatus {\n      UNKNOWN_INVOICE_STATUS = \"UNKNOWN_INVOICE_STATUS\",\n      PAYMENT_FAILED = \"PAYMENT_FAILED\",\n      PAID = \"PAID\",\n      REFUNDED = \"REFUNDED\",\n      VOIDED = \"VOIDED\",\n      CHARGEDBACK = \"CHARGEDBACK\"\n  }\n  interface GetUrlRequest {\n      /**\n       * ID of your app's paid plan to retrieve the Wix checkout URL for. Check the\n       * Wix Developers Center for a list of your app's supported product IDs.\n       */\n      productId: string;\n      /**\n       * URL for the Wix checkout page. Redirect site owners to this URL after\n       * they've successfully purchased a paid plan for your app.\n       */\n      successUrl?: string | null;\n      /**\n       * Whether the checkout is for testing purposes only. Testing is mainly\n       * relevant for in-app purchase flows. When `true`, Wix charges the site\n       * owners an amount of `0.00`.\n       */\n      testCheckout?: boolean;\n      /** Information about the paid plan's billing cycle. */\n      billingCycle?: PaymentCycle;\n      /**\n       * 2-letter country code in\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format.\n       *\n       * Default: `\"US\"`\n       */\n      countryCode?: string | null;\n      /**\n       * 2-letter language code in\n       * [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       *\n       * Default: `\"EN\"`\n       */\n      languageCode?: string | null;\n      /**\n       * Price and currency Wix uses to charge the site owners. Overrides the\n       * default values you've set in the app's pricing plan in the Wix Developers\n       * Center. Only supported in combination with `{\"billingCycle\": \"ONE_TIME\"}`.\n       * Otherwise the call fails with a validation error.\n       * @internal\n       */\n      chargeOverride?: ChargeOverride;\n      /** Coupon code for the paid plan. Available only in case there is a discount. */\n      couponCode?: string | null;\n  }\n  interface ChargeOverride {\n      /**\n       * Override price. In case you omit the override price, Wix charges site\n       * owners the app's default price that's configured in the Wix Developers\n       * Center.\n       */\n      price?: number;\n      /**\n       * Override 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string;\n  }\n  interface GetUrlResponse {\n      /** URL for the Wix checkout page. */\n      checkoutUrl?: string;\n      /**\n       * Token for the Wix checkout page. The token holds all data about the order\n       * you're creating a checkout for.  It is [signed](),\n       * so you can verify that it comes from Wix.\n       */\n      token?: string | null;\n  }\n  interface GetPurchaseHistoryRequest {\n  }\n  interface GetPurchaseHistoryResponse {\n      /** Retrieved purchases the site owners have completed for you app. */\n      purchases?: PurchasedItem[];\n  }\n  interface GetSitePaymentMethodsStatusRequest {\n  }\n  interface GetSitePaymentMethodsStatusResponse {\n      /**\n       * Whether the site owners have enabled at least a single online payment method.\n       * Online payment methods include Wix Payments, Stripe, PayPal, and credit\n       * cards.\n       */\n      onlineProviderEnabled?: boolean;\n      /** Whether the site owners accept offline payments. */\n      offlineProviderEnabled?: boolean;\n      /**\n       * Whether the site owners have enabled the\n       * [Wix Point of Sale](https://www.wix.com/pos).\n       * This allows their customers to make electronic payments in person.\n       */\n      wixPosProviderEnabled?: boolean;\n      /**\n       * Whether the site owners have enabled at least one 3rd-party point-of-sale\n       * provider. This allows their customers to make electronic payments in person.\n       */\n      thirdPartyPosProviderEnabled?: boolean;\n  }\n  interface GetMeteredBillingChargesRequest {\n      /**\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string | null;\n      /**\n       * Start of the period you want to retrieve the custom charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      startDate?: Date;\n      /**\n       * End of the period you want to retrieve the custom charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      endDate?: Date;\n  }\n  interface GetMeteredBillingChargesResponse {\n      /** List of retrieved custom charges. */\n      charges?: Charge[];\n  }\n  interface Charge {\n      /** ID of the custom charge. The ID consists of 64 characters. */\n      _id?: string | null;\n      /** Description of the custom charge. */\n      description?: string;\n      /**\n       * Charge amount.\n       *\n       * Min: `0.50`\n       */\n      amount?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the URL for a Wix checkout page for the specified paid plan of your app.\n   *\n   *\n   * This call succeeds only in case you have previously\n   * [set up an external pricing page in the Wix Developers Center](https://dev.wix.com/docs/build-apps/build-your-app/pricing-plans/set-up-an-external-pricing-page).\n   *\n   * The returned checkout URL is valid for 48 hours.\n   *\n   * This API allows your app to manage your pricing page outside of Wix while\n   * still using the standard Wix checkout flow.\n   * @param productId - ID of your app's paid plan to retrieve the Wix checkout URL for. Check the\n   * Wix Developers Center for a list of your app's supported product IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @adminMethod\n   */\n  function getUrl(productId: string, options?: GetUrlOptions): Promise<GetUrlResponse>;\n  interface GetUrlOptions {\n      /**\n       * URL for the Wix checkout page. Redirect site owners to this URL after\n       * they've successfully purchased a paid plan for your app.\n       */\n      successUrl?: string | null;\n      /**\n       * Whether the checkout is for testing purposes only. Testing is mainly\n       * relevant for in-app purchase flows. When `true`, Wix charges the site\n       * owners an amount of `0.00`.\n       */\n      testCheckout?: boolean;\n      /** Information about the paid plan's billing cycle. */\n      billingCycle?: PaymentCycle;\n      /**\n       * 2-letter country code in\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format.\n       *\n       * Default: `\"US\"`\n       */\n      countryCode?: string | null;\n      /**\n       * 2-letter language code in\n       * [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       *\n       * Default: `\"EN\"`\n       */\n      languageCode?: string | null;\n      /**\n       * Price and currency Wix uses to charge the site owners. Overrides the\n       * default values you've set in the app's pricing plan in the Wix Developers\n       * Center. Only supported in combination with `{\"billingCycle\": \"ONE_TIME\"}`.\n       * Otherwise the call fails with a validation error.\n       * @internal\n       */\n      chargeOverride?: ChargeOverride;\n      /** Coupon code for the paid plan. Available only in case there is a discount. */\n      couponCode?: string | null;\n  }\n  /**\n   * Retrieves a list of the site owner's past purchases for your app.\n   *\n   *\n   * You don't have to explicitly pass an identifier for the Wix site as part of\n   * the request, since this information is taken automatically from the context.\n   *\n   * The response doesn't include any details about cancellations.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getPurchaseHistory(): Promise<GetPurchaseHistoryResponse>;\n  /**\n   * Retrieves information about the site's enabled payment methods.\n   *\n   *\n   * Checks whether online, offline, Wix POS, and external POS payments are\n   * enabled.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getSitePaymentMethodsStatus(): Promise<GetSitePaymentMethodsStatusResponse>;\n  /**\n   * Triggers Wix to call the\n   * [List Custom Charges SPI](https://dev.wix.com/docs/rest/internal-only/premium/custom-charges-spi/custom-charges-provider-v1/list-charges).\n   *\n   *\n   * Wix doesn't use the response from _List Charges_ SPI to actually create an\n   * invoice that's sent to the customer. Instead, calling _Get Metered Billing Charges_\n   * allows you confirm that your integration with the Custom Charges SPI is\n   * working as intended.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getMeteredBillingCharges(options?: GetMeteredBillingChargesOptions): Promise<GetMeteredBillingChargesResponse>;\n  interface GetMeteredBillingChargesOptions {\n      /**\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string | null;\n      /**\n       * Start of the period you want to retrieve the custom charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      startDate?: Date;\n      /**\n       * End of the period you want to retrieve the custom charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      endDate?: Date;\n  }\n  \n  type devcenterCheckoutV1PurchasedItem_universal_d_PurchasedItem = PurchasedItem;\n  type devcenterCheckoutV1PurchasedItem_universal_d_PaymentCycle = PaymentCycle;\n  const devcenterCheckoutV1PurchasedItem_universal_d_PaymentCycle: typeof PaymentCycle;\n  type devcenterCheckoutV1PurchasedItem_universal_d_InvoiceStatusUpdate = InvoiceStatusUpdate;\n  type devcenterCheckoutV1PurchasedItem_universal_d_InvoiceStatus = InvoiceStatus;\n  const devcenterCheckoutV1PurchasedItem_universal_d_InvoiceStatus: typeof InvoiceStatus;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetUrlRequest = GetUrlRequest;\n  type devcenterCheckoutV1PurchasedItem_universal_d_ChargeOverride = ChargeOverride;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetUrlResponse = GetUrlResponse;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetPurchaseHistoryRequest = GetPurchaseHistoryRequest;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetPurchaseHistoryResponse = GetPurchaseHistoryResponse;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetSitePaymentMethodsStatusRequest = GetSitePaymentMethodsStatusRequest;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetSitePaymentMethodsStatusResponse = GetSitePaymentMethodsStatusResponse;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesRequest = GetMeteredBillingChargesRequest;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesResponse = GetMeteredBillingChargesResponse;\n  type devcenterCheckoutV1PurchasedItem_universal_d_Charge = Charge;\n  type devcenterCheckoutV1PurchasedItem_universal_d_MessageEnvelope = MessageEnvelope;\n  type devcenterCheckoutV1PurchasedItem_universal_d_IdentificationData = IdentificationData;\n  type devcenterCheckoutV1PurchasedItem_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type devcenterCheckoutV1PurchasedItem_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const devcenterCheckoutV1PurchasedItem_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const devcenterCheckoutV1PurchasedItem_universal_d_getUrl: typeof getUrl;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetUrlOptions = GetUrlOptions;\n  const devcenterCheckoutV1PurchasedItem_universal_d_getPurchaseHistory: typeof getPurchaseHistory;\n  const devcenterCheckoutV1PurchasedItem_universal_d_getSitePaymentMethodsStatus: typeof getSitePaymentMethodsStatus;\n  const devcenterCheckoutV1PurchasedItem_universal_d_getMeteredBillingCharges: typeof getMeteredBillingCharges;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesOptions = GetMeteredBillingChargesOptions;\n  namespace devcenterCheckoutV1PurchasedItem_universal_d {\n    export {\n      devcenterCheckoutV1PurchasedItem_universal_d_PurchasedItem as PurchasedItem,\n      devcenterCheckoutV1PurchasedItem_universal_d_PaymentCycle as PaymentCycle,\n      devcenterCheckoutV1PurchasedItem_universal_d_InvoiceStatusUpdate as InvoiceStatusUpdate,\n      devcenterCheckoutV1PurchasedItem_universal_d_InvoiceStatus as InvoiceStatus,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetUrlRequest as GetUrlRequest,\n      devcenterCheckoutV1PurchasedItem_universal_d_ChargeOverride as ChargeOverride,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetUrlResponse as GetUrlResponse,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetPurchaseHistoryRequest as GetPurchaseHistoryRequest,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetPurchaseHistoryResponse as GetPurchaseHistoryResponse,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetSitePaymentMethodsStatusRequest as GetSitePaymentMethodsStatusRequest,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetSitePaymentMethodsStatusResponse as GetSitePaymentMethodsStatusResponse,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesRequest as GetMeteredBillingChargesRequest,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesResponse as GetMeteredBillingChargesResponse,\n      devcenterCheckoutV1PurchasedItem_universal_d_Charge as Charge,\n      devcenterCheckoutV1PurchasedItem_universal_d_MessageEnvelope as MessageEnvelope,\n      devcenterCheckoutV1PurchasedItem_universal_d_IdentificationData as IdentificationData,\n      devcenterCheckoutV1PurchasedItem_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      devcenterCheckoutV1PurchasedItem_universal_d_WebhookIdentityType as WebhookIdentityType,\n      devcenterCheckoutV1PurchasedItem_universal_d_getUrl as getUrl,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetUrlOptions as GetUrlOptions,\n      devcenterCheckoutV1PurchasedItem_universal_d_getPurchaseHistory as getPurchaseHistory,\n      devcenterCheckoutV1PurchasedItem_universal_d_getSitePaymentMethodsStatus as getSitePaymentMethodsStatus,\n      devcenterCheckoutV1PurchasedItem_universal_d_getMeteredBillingCharges as getMeteredBillingCharges,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesOptions as GetMeteredBillingChargesOptions,\n    };\n  }\n  \n  /** Embedded script data */\n  interface ScriptProperties {\n      /** Script parameters */\n      parameters?: Record<string, string>;\n      /** Whether script is disabled or not, defaults to false (not disabled) */\n      disabled?: boolean;\n  }\n  interface EmbedScriptRequest {\n      /** Details of the script to embed. */\n      properties: ScriptProperties;\n      /** ID of the corresponding embedded script component. */\n      componentId?: string | null;\n  }\n  interface EmbedScriptResponse {\n      /** Details of the embedded script. */\n      properties?: ScriptProperties;\n  }\n  interface GetEmbeddedScriptRequest {\n      /** Component ID of the embedded script to retrieve. */\n      componentId?: string | null;\n  }\n  interface GetEmbeddedScriptResponse {\n      /** Details of the retrieved embedded script. */\n      properties?: ScriptProperties;\n  }\n  interface EmbedScriptByInstanceIdRequest {\n      instanceId: string;\n      /** Parameters to embed */\n      properties: ScriptProperties;\n      componentId?: string | null;\n  }\n  interface GetEmbeddedScriptByInstanceIdRequest {\n      instanceId: string;\n      componentId?: string | null;\n  }\n  /**\n   * Inserts custom script tags into a site.\n   *\n   *\n   * Your app must have an existing\n   * [embedded script component](https://dev.wix.com/docs/build-apps/developer-tools/extensions/embedded-scripts),\n   * with exactly matching parameter names.\n   * @param properties - Details of the script to embed.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField properties\n   * @adminMethod\n   */\n  function embedScript(properties: ScriptProperties, options?: EmbedScriptOptions): Promise<EmbedScriptResponse>;\n  interface EmbedScriptOptions {\n      /** ID of the corresponding embedded script component. */\n      componentId?: string | null;\n  }\n  /**\n   * Retrieves information about your app's existing embedded script.\n   *\n   *\n   * The call fails with `404` error in case your app doesn't include an\n   * embedded script on the site.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   * @returns Details of the retrieved embedded script.\n   */\n  function getEmbeddedScript(options?: GetEmbeddedScriptOptions): Promise<ScriptProperties>;\n  interface GetEmbeddedScriptOptions {\n      /** Component ID of the embedded script to retrieve. */\n      componentId?: string | null;\n  }\n  /** @param properties - Parameters to embed\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @requiredField properties\n   * @adminMethod\n   */\n  function embedScriptByInstanceId(instanceId: string, properties: ScriptProperties, options?: EmbedScriptByInstanceIdOptions): Promise<EmbedScriptResponse>;\n  interface EmbedScriptByInstanceIdOptions {\n      componentId?: string | null;\n  }\n  /**\n   * Retrieves this app's existing embedded script parameters\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @adminMethod\n   */\n  function getEmbeddedScriptByInstanceId(instanceId: string, options?: GetEmbeddedScriptByInstanceIdOptions): Promise<GetEmbeddedScriptResponse>;\n  interface GetEmbeddedScriptByInstanceIdOptions {\n      componentId?: string | null;\n  }\n  \n  type devcenterScriptsV1ScriptProperties_universal_d_ScriptProperties = ScriptProperties;\n  type devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptRequest = EmbedScriptRequest;\n  type devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptResponse = EmbedScriptResponse;\n  type devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptRequest = GetEmbeddedScriptRequest;\n  type devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptResponse = GetEmbeddedScriptResponse;\n  type devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptByInstanceIdRequest = EmbedScriptByInstanceIdRequest;\n  type devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptByInstanceIdRequest = GetEmbeddedScriptByInstanceIdRequest;\n  const devcenterScriptsV1ScriptProperties_universal_d_embedScript: typeof embedScript;\n  type devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptOptions = EmbedScriptOptions;\n  const devcenterScriptsV1ScriptProperties_universal_d_getEmbeddedScript: typeof getEmbeddedScript;\n  type devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptOptions = GetEmbeddedScriptOptions;\n  const devcenterScriptsV1ScriptProperties_universal_d_embedScriptByInstanceId: typeof embedScriptByInstanceId;\n  type devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptByInstanceIdOptions = EmbedScriptByInstanceIdOptions;\n  const devcenterScriptsV1ScriptProperties_universal_d_getEmbeddedScriptByInstanceId: typeof getEmbeddedScriptByInstanceId;\n  type devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptByInstanceIdOptions = GetEmbeddedScriptByInstanceIdOptions;\n  namespace devcenterScriptsV1ScriptProperties_universal_d {\n    export {\n      devcenterScriptsV1ScriptProperties_universal_d_ScriptProperties as ScriptProperties,\n      devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptRequest as EmbedScriptRequest,\n      devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptResponse as EmbedScriptResponse,\n      devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptRequest as GetEmbeddedScriptRequest,\n      devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptResponse as GetEmbeddedScriptResponse,\n      devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptByInstanceIdRequest as EmbedScriptByInstanceIdRequest,\n      devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptByInstanceIdRequest as GetEmbeddedScriptByInstanceIdRequest,\n      devcenterScriptsV1ScriptProperties_universal_d_embedScript as embedScript,\n      devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptOptions as EmbedScriptOptions,\n      devcenterScriptsV1ScriptProperties_universal_d_getEmbeddedScript as getEmbeddedScript,\n      devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptOptions as GetEmbeddedScriptOptions,\n      devcenterScriptsV1ScriptProperties_universal_d_embedScriptByInstanceId as embedScriptByInstanceId,\n      devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptByInstanceIdOptions as EmbedScriptByInstanceIdOptions,\n      devcenterScriptsV1ScriptProperties_universal_d_getEmbeddedScriptByInstanceId as getEmbeddedScriptByInstanceId,\n      devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptByInstanceIdOptions as GetEmbeddedScriptByInstanceIdOptions,\n    };\n  }\n  \n  export { devcenterBiEventsV1SendBiEventResponse_universal_d as biEvents, devcenterCheckoutV1PurchasedItem_universal_d as checkout, devcenterScriptsV1ScriptProperties_universal_d as embeddedScripts };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-contacts-backend.v2.d.ts",
      "content": "declare module \"wix-contacts-backend.v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Contact {\n      /**\n       * Contact ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Revision number, which increments by 1 each time the contact is updated.\n       * To prevent conflicting changes,\n       * the existing `revision` must be used when updating a contact.\n       * @readonly\n       */\n      revision?: number;\n      /**\n       * Details about the contact's source.\n       * @readonly\n       */\n      source?: ContactSource;\n      /**\n       * Date and time the contact was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the contact was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Details about the contact's last action in the site.\n       * @readonly\n       */\n      lastActivity?: ContactActivity;\n      /**\n       * Contact's primary phone and email.\n       *\n       * This property reflects the email address in `contactInfo.emails` where `primary` is `true`.\n       * @readonly\n       */\n      primaryInfo?: PrimaryContactInfo;\n      /**\n       * Contact's profile picture.\n       * This can contain an image URL and a Wix Media image ID.\n       *\n       * > **Deprecation Notice:**\n       * > This property has been replaced with\n       * > `info.picture`\n       * > and will be removed on March 31, 2022. If your app uses this property,\n       * > we recommend updating your code as soon as possible.\n       * @readonly\n       */\n      picture?: string;\n      /** Contact's details. */\n      info?: ContactInfo;\n      /**\n       * Contact's segment IDs\n       * @internal\n       * @readonly\n       */\n      segments?: SegmentsWrapper;\n  }\n  interface ContactSource {\n      /**\n       * Some possible values:\n       *\n       * `\"OTHER\"`, `\"ADMIN\"`, `\"WIX_APP\"`, `\"IMPORT\"`, `\"THIRD_PARTY\"`,\n       * `\"WIX_BOOKINGS\"`, `\"WIX_CHAT\"`, `\"WIX_EMAIL_MARKETING\"`, `\"WIX_EVENTS\"`,\n       * `\"WIX_FORMS\"`, `\"WIX_GROUPS\"`, `\"WIX_HOTELS\"`, `\"WIX_MARKET_PLACE\"`,\n       * `\"WIX_MUSIC\"`, `\"WIX_RESTAURANTS\"`, `\"WIX_SITE_MEMBERS\"`, `\"WIX_STORES\"`.\n       * @readonly\n       */\n      sourceType?: ContactSourceType;\n      /**\n       * App ID, if the contact was created by a Wix app.\n       *\n       * > **Deprecation Notice:**\n       * > This property has been replaced with\n       * > `appId`\n       * > and will be removed on March 31, 2022. If your app uses this property,\n       * > we recommend updating your code as soon as possible.\n       * @readonly\n       */\n      wixAppId?: string | null;\n      /**\n       * App ID, if the contact was created by an app.\n       * @readonly\n       */\n      appId?: string | null;\n  }\n  enum ContactSourceType {\n      OTHER = \"OTHER\",\n      ADMIN = \"ADMIN\",\n      WIX_APP = \"WIX_APP\",\n      IMPORT = \"IMPORT\",\n      THIRD_PARTY = \"THIRD_PARTY\",\n      WIX_BOOKINGS = \"WIX_BOOKINGS\",\n      WIX_CHAT = \"WIX_CHAT\",\n      WIX_EMAIL_MARKETING = \"WIX_EMAIL_MARKETING\",\n      WIX_EVENTS = \"WIX_EVENTS\",\n      WIX_FORMS = \"WIX_FORMS\",\n      WIX_GROUPS = \"WIX_GROUPS\",\n      WIX_HOTELS = \"WIX_HOTELS\",\n      WIX_MARKET_PLACE = \"WIX_MARKET_PLACE\",\n      WIX_MUSIC = \"WIX_MUSIC\",\n      WIX_RESTAURANTS = \"WIX_RESTAURANTS\",\n      WIX_SITE_MEMBERS = \"WIX_SITE_MEMBERS\",\n      WIX_STORES = \"WIX_STORES\",\n      WIX_CODE = \"WIX_CODE\"\n  }\n  interface ContactActivity {\n      /** Date and time of the last action. */\n      activityDate?: Date;\n      /**\n       * Contact's last action in the site.\n       *\n       * Some possible values:\n       * `\"GENERAL\"`, `\"CONTACT_CREATED\"`, `\"MEMBER_LOGIN\"`, `\"MEMBER_REGISTER\"`,\n       * `\"MEMBER_STATUS_CHANGED\"`, `\"FORM_SUBMITTED\"`, `\"INBOX_FORM_SUBMITTED\"`,\n       * `\"INBOX_PAYMENT_REQUEST_PAID\"`, `\"INBOX_MESSAGE_TO_CUSTOMER\"`,\n       * `\"INBOX_MESSAGE_FROM_CUSTOMER\"`, `\"NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED\"`,\n       * `\"NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE\"`, `\"ECOM_PURCHASE\"`,\n       * `\"ECOM_CART_ABANDON\"`, `\"ECOM_CHECKOUT_BUYER\"`, `\"BOOKINGS_APPOINTMENT\"`,\n       * `\"HOTELS_RESERVATION\"`, `\"HOTELS_PURCHASE\"`, `\"HOTELS_CONFIRMATION\"`,\n       * `\"HOTELS_CANCEL\"`, `\"VIDEO_PURCHASE\"`, `\"VIDEO_RENT\"`,\n       * `\"CASHIER_BUTTON_PURCHASE\"`, `\"ARENA_NEW_LEAD\"`, `\"EVENTS_RSVP\"`,\n       * `\"INVOICE_PAY\"`, `\"INVOICE_OVERDUE\"`, `\"PRICE_QUOTE_ACCEPT\"`,\n       * `\"PRICE_QUOTE_EXPIRE\"`, `\"RESTAURANTS_ORDER\"`, `\"RESTAURANTS_RESERVATION\"`,\n       * `\"SHOUTOUT_OPEN\"`, `\"SHOUTOUT_CLICK\"`, `\"CONTACT_MERGED\"`.\n       */\n      activityType?: ContactActivityType;\n  }\n  enum ContactActivityType {\n      /** Last visit to your site (any unknown activity) */\n      GENERAL = \"GENERAL\",\n      /** This cannot be reported, used when contact created, will throw exception */\n      CONTACT_CREATED = \"CONTACT_CREATED\",\n      /** \"auth/login\" */\n      MEMBER_LOGIN = \"MEMBER_LOGIN\",\n      /** \"auth/register\" */\n      MEMBER_REGISTER = \"MEMBER_REGISTER\",\n      /** \"auth/status-change\" */\n      MEMBER_STATUS_CHANGED = \"MEMBER_STATUS_CHANGED\",\n      /** \"contact/contact-form\", (but also \"form/contact-form\", \"form/form\") */\n      FORM_SUBMITTED = \"FORM_SUBMITTED\",\n      /** \"form/lead-capture-form\" */\n      INBOX_FORM_SUBMITTED = \"INBOX_FORM_SUBMITTED\",\n      /** \"chat/payment-request-paid\" */\n      INBOX_PAYMENT_REQUEST_PAID = \"INBOX_PAYMENT_REQUEST_PAID\",\n      /** \"messaging/email\" - Direction BUSINESS_TO_CUSTOMER */\n      INBOX_MESSAGE_TO_CUSTOMER = \"INBOX_MESSAGE_TO_CUSTOMER\",\n      /** \"messaging/email\" - Direction CUSTOMER_TO_BUSINESS */\n      INBOX_MESSAGE_FROM_CUSTOMER = \"INBOX_MESSAGE_FROM_CUSTOMER\",\n      /** \"contact/subscription-form\" (but also \"form/subscription-form\") */\n      NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED = \"NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED\",\n      /** \"contact/unsubscribe\" */\n      NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE = \"NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE\",\n      /** \"e_commerce/purchase\" */\n      ECOM_PURCHASE = \"ECOM_PURCHASE\",\n      /** \"e_commerce/cart-abandon\" */\n      ECOM_CART_ABANDON = \"ECOM_CART_ABANDON\",\n      /** \"e_commerce/checkout-buyer\" */\n      ECOM_CHECKOUT_BUYER = \"ECOM_CHECKOUT_BUYER\",\n      /** \"scheduler/appointment\" */\n      BOOKINGS_APPOINTMENT = \"BOOKINGS_APPOINTMENT\",\n      /** \"hotels/reservation\" */\n      HOTELS_RESERVATION = \"HOTELS_RESERVATION\",\n      /** \"hotels/purchase\" */\n      HOTELS_PURCHASE = \"HOTELS_PURCHASE\",\n      /** \"hotels/confirmation\" */\n      HOTELS_CONFIRMATION = \"HOTELS_CONFIRMATION\",\n      /** \"hotels/cancel\" */\n      HOTELS_CANCEL = \"HOTELS_CANCEL\",\n      /** \"video/purchase\" */\n      VIDEO_PURCHASE = \"VIDEO_PURCHASE\",\n      /** \"video/rent\" */\n      VIDEO_RENT = \"VIDEO_RENT\",\n      /** \"cashier/button_purchase\" */\n      CASHIER_BUTTON_PURCHASE = \"CASHIER_BUTTON_PURCHASE\",\n      /** \"arena/new-lead\" */\n      ARENA_NEW_LEAD = \"ARENA_NEW_LEAD\",\n      /** \"events/rsvp\" */\n      EVENTS_RSVP = \"EVENTS_RSVP\",\n      /** \"invoice/pay\" */\n      INVOICE_PAY = \"INVOICE_PAY\",\n      /** \"invoice/overdue\" */\n      INVOICE_OVERDUE = \"INVOICE_OVERDUE\",\n      /** \"price-quote/accept\" */\n      PRICE_QUOTE_ACCEPT = \"PRICE_QUOTE_ACCEPT\",\n      /** \"price-quote/expire\" */\n      PRICE_QUOTE_EXPIRE = \"PRICE_QUOTE_EXPIRE\",\n      /** \"restaurants/order\" */\n      RESTAURANTS_ORDER = \"RESTAURANTS_ORDER\",\n      /** \"restaurants/reservation\" */\n      RESTAURANTS_RESERVATION = \"RESTAURANTS_RESERVATION\",\n      /** \"shoutout/open\" */\n      SHOUTOUT_OPEN = \"SHOUTOUT_OPEN\",\n      /** \"shoutout/click\" */\n      SHOUTOUT_CLICK = \"SHOUTOUT_CLICK\",\n      CONTACT_MERGED = \"CONTACT_MERGED\"\n  }\n  interface PrimaryContactInfo {\n      /**\n       * Primary email address.\n       *\n       * This property reflects the email address in `info.emails`\n       * where `primary` is `true`.\n       * @readonly\n       */\n      email?: string | null;\n      /**\n       * Primary phone number.\n       *\n       * This property reflects the phone number in `contactInfo.phones` where `primary` is `true`.\n       * @readonly\n       */\n      phone?: string | null;\n  }\n  interface ContactInfo {\n      /** Contact's first and last name. */\n      name?: ContactName;\n      /** Contact's email addresses. */\n      emails?: ContactEmailsWrapper;\n      /** Contact's phone numbers. */\n      phones?: ContactPhonesWrapper;\n      /** Contact's street addresses. */\n      addresses?: ContactAddressesWrapper;\n      /** Contact's company name. */\n      company?: string | null;\n      /**\n       * Contact's job title.\n       * Corresponds to the **Position** field in the Dashboard.\n       */\n      jobTitle?: string | null;\n      /** Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`. */\n      birthdate?: string | null;\n      /**\n       * Site contributors\n       * who are assigned to manage communication with the contact.\n       * @internal\n       */\n      assignedUserIds?: AssigneesWrapper;\n      /**\n       * Locale in\n       * [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Typically, this is a lowercase 2-letter language code,\n       * followed by a hyphen, followed by an uppercase 2-letter country code.\n       * For example, `en-US` for U.S. English, and `de-DE` for Germany German.\n       */\n      locale?: string | null;\n      /**\n       * List of contact label keys.\n       *  [Contact labels](https://support.wix.com/en/article/adding-labels-to-contacts-in-your-contact-list)\n       *  help categorize contacts.\n       *\n       *\n       *  Label keys must exist to be added to the contact.\n       *  Contact labels can be created or retrieved with\n       *  [`findOrCreateLabel()`](wix-crm-backend/contacts/findorcreatelabel)\n       *  or\n       *  [`queryLabels()`](wix-crm-backend/contacts/queryLabels).\n       *\n       */\n      labelKeys?: LabelsWrapper;\n      /**\n       * Additional custom fields.\n       * This includes fields managed by Wix, by 3rd-party apps, and by the site.\n       *\n       * Empty fields are not returned.\n       */\n      extendedFields?: ExtendedFieldsWrapper;\n      /**\n       * Contact locations\n       * @internal\n       */\n      locations?: LocationsWrapper;\n      /** Contact's profile picture. */\n      picture?: ContactPicture;\n  }\n  interface ContactName {\n      /** Contact's first name. */\n      first?: string | null;\n      /** Contact's last name. */\n      last?: string | null;\n  }\n  interface ContactEmailsWrapper {\n      /** List of up to 50 email addresses. */\n      items?: ContactEmail[];\n  }\n  interface ContactEmail {\n      /**\n       * Email ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Email type.\n       *\n       * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n       *\n       *  One of:\n       *\n       *  - `\"UNTAGGED\"`\n       * - `\"MAIN\"`\n       * - `\"HOME\"`\n       * - `\"WORK\"`\n       */\n      tag?: EmailTag;\n      /** Email address. */\n      email?: string;\n      /**\n       * Indicates whether this is the contact's primary email address.\n       * When changing `primary` to `true` for an email,\n       * the contact's other emails become `false`.\n       */\n      primary?: boolean | null;\n  }\n  enum EmailTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\",\n      HOME = \"HOME\",\n      WORK = \"WORK\"\n  }\n  interface ContactPhonesWrapper {\n      /** List of up to 50 phone numbers. */\n      items?: ContactPhone[];\n  }\n  interface ContactPhone {\n      /**\n       * Phone ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Phone type.\n       *\n       * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n       *\n       *  One of:\n       *\n       *  - `\"UNTAGGED\"`\n       * - `\"MAIN\"`\n       * - `\"HOME\"`\n       * - `\"MOBILE\"`\n       * - `\"WORK\"`\n       * - `\"FAX\"`\n       */\n      tag?: PhoneTag;\n      /** [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. */\n      countryCode?: string | null;\n      /** Phone number. */\n      phone?: string;\n      /**\n       * [ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\n       * phone number.\n       * Automatically generated using `phone` and `countryCode`,\n       * as long as both of those values are valid.\n       * @readonly\n       */\n      e164Phone?: string | null;\n      /**\n       * Human-readable phone number.\n       * Automatically generated using `phone` and `countryCode`,\n       * as long as both of those values are valid.\n       * @internal\n       * @readonly\n       */\n      formattedPhone?: string | null;\n      /**\n       * Whether this is the contact's primary phone number.\n       * When changing `primary` to `true` for a phone,\n       * the contact's other phones become `false`.\n       */\n      primary?: boolean | null;\n  }\n  enum PhoneTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\",\n      HOME = \"HOME\",\n      MOBILE = \"MOBILE\",\n      WORK = \"WORK\",\n      FAX = \"FAX\"\n  }\n  interface ContactAddressesWrapper {\n      /** List of up to 50 addresses. */\n      items?: ContactAddress[];\n  }\n  interface ContactAddress {\n      /**\n       * Street address ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       *  Address type.\n       *\n       *  `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n       *\n       *   One of:\n       *\n       *   - `\"UNTAGGED\"`\n       *   - `\"HOME\"`\n       *   - `\"WORK\"`\n       *   - `\"BILLING\"`\n       *   - `\"SHIPPING\"`\n       */\n      tag?: AddressTag;\n      /** Street address. */\n      address?: Address;\n  }\n  enum AddressTag {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\",\n      WORK = \"WORK\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street address object, with number and name in separate fields. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine1?: string | null;\n      /**\n       * 2-letter country code in an\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n       */\n      country?: string | null;\n      /**\n       * Code for a subdivision (such as state, prefecture, or province) in an\n       * [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n       */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /**\n       * Free text providing more detailed address information,\n       * such as apartment, suite, or floor.\n       */\n      addressLine2?: string | null;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street address object, with number and name in separate fields. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address's latitude. */\n      latitude?: number | null;\n      /** Address's longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** subdivision short code */\n      code?: string;\n      /** Full subdivision name. */\n      name?: string;\n      /** @internal */\n      type?: SubdivisionType;\n      /**\n       * Free text that describes the subdivision type.\n       *\n       * Examples: `\"state\"`, `\"province\"`, `\"prefecture\"`.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** state */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** county */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** cities/towns */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** (ADMINISTRATIVE_AREA_LEVEL_0) indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface AssigneesWrapper {\n      /** List of site contributor user IDs. */\n      items?: string[];\n  }\n  interface LabelsWrapper {\n      /**\n       * List of contact label keys.\n       * [Contact labels](https://support.wix.com/en/article/adding-labels-to-contacts-in-your-contact-list)\n       * help categorize contacts.\n       *\n       * Label keys must exist to be added to the contact.\n       * Contact labels can be created or retrieved with\n       * [Find or Create Label](https://dev.wix.com/api/rest/contacts/labels/find-or-create-label)\n       * or\n       * [List Labels](https://dev.wix.com/api/rest/contacts/labels/list-labels)\n       */\n      items?: string[];\n  }\n  interface ExtendedFieldsWrapper {\n      /**\n       * Set of key-value pairs.\n       *\n       * Contact's\n       * [extended fields](wix-crm-backend/contacts/introduction#about-extended-fields),\n       * which allow you to store additional information about your contacts.\n       *\n       *  To view or create extended fields, use\n       * [`findOrCreateExtendedField()`](wix-crm-backend/contacts/findorcreateextendedfield),\n       * [`getExtendedField()`](wix-crm-backend/contacts/getextendedfield), or\n       * [`queryExtendedFields()`](wix-crm-backend/contacts/queryextendedfields).\n       */\n      items?: Record<string, any>;\n  }\n  interface LocationsWrapper {\n      /** List of location ids. */\n      items?: string[];\n  }\n  /** TEST contact picture description */\n  interface ContactPicture {\n      /**\n       * Image.\n       * This can contain an image URL or a Wix Media image ID.\n       */\n      image?: string;\n      /**\n       * Indicates whether the image is retrieved from Wix Media\n       * or an external provider.\n       *\n       * - `EXTERNAL`: The image is retrieved from an external provider.\n       * - `WIX_MEDIA`: The image is retrieved from Wix Media.\n       * @internal\n       */\n      imageProvider?: ImageProvider;\n  }\n  enum ImageProvider {\n      UNKNOWN = \"UNKNOWN\",\n      /** Image stored outside Wix */\n      EXTERNAL = \"EXTERNAL\",\n      /** Stored in wix media platform, Must be uploaded by using `GeneratePictureUploadUrl` */\n      WIX_MEDIA = \"WIX_MEDIA\"\n  }\n  interface SegmentsWrapper {\n      /** List of Contact segment IDs */\n      items?: string[];\n  }\n  interface EstimateFilterSizeRequest {\n      /** Contacts filter expression. */\n      filter: Record<string, any> | null;\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n      /** Contacts plain text search expression (searches in name, phone and email fields). */\n      search?: string | null;\n  }\n  interface EstimateFilterSizeResponse {\n      /** Mailing list size estimation. */\n      estimation?: number;\n  }\n  interface EstimateAudienceSizeRequest {\n      /** Contact IDs of a campaign audience. */\n      contactIds?: string[];\n      /** Label IDs of a campaign audience. */\n      labelIds?: string[];\n      /** Contacts filter expression (json). */\n      contactsFilter?: Record<string, any> | null;\n      /** Contacts plain text search expression (searches in name, phone and email fields). */\n      search?: string | null;\n      /** Segment ids of a campaign audience. */\n      segmentIds?: string[];\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n      /** Id of a campaign that is to be resent. */\n      resendCampaignId?: string | null;\n  }\n  interface EstimateAudienceSizeResponse {\n      /** Audience size estimation. */\n      estimation?: number;\n  }\n  interface ContactSubmitted {\n      /** Pass through data, submitted with the contact */\n      passThroughData?: string | null;\n      /** Submitted activity */\n      activity?: ContactActivity;\n      /** Submitted Contact (after processing) */\n      contact?: Contact;\n  }\n  interface ContactChanged {\n      /** The Contact before the changes */\n      previousContact?: Contact;\n      /** The Contact after the changes */\n      currentContact?: Contact;\n  }\n  /** Contact creation options. */\n  interface CreateContactRequest {\n      /** Contact info. */\n      info: ContactInfo;\n      /**\n       * Controls whether the call will succeed\n       * if the new contact information contains an email or a phone number already used by another contact.\n       *\n       * If set to `true`,\n       * the call will succeed even if an email address or phone number is used by another contact.\n       * If set to `false`,\n       * the call will fail if the given email address is used by another contact or,\n       * if the email address is not given and the given phone number is used by another contact.\n       *\n       * Defaults to `false`.\n       */\n      allowDuplicates?: boolean;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** Contact. */\n  interface CreateContactResponse {\n      /** Contact. */\n      contact?: Contact;\n  }\n  interface DuplicateContactExists {\n      duplicateContactId?: string | null;\n      duplicateEmail?: string | null;\n      duplicatePhone?: string | null;\n  }\n  interface UpdateContactRequest {\n      /** ID of the contact to update. */\n      contactId: string;\n      /**\n       * Revision number.\n       * When updating, include the existing `revision`\n       * to prevent conflicting updates.\n       */\n      revision: number | null;\n      /**\n       * Controls whether the call will succeed\n       * if the new contact information contains an email or a phone number already used by another contact.\n       *\n       * If set to `true`,\n       * the call will succeed even if an email address or phone number is used by another contact.\n       * If set to `false`,\n       * the call will fail if the given email address is used by another contact or,\n       * if the email address is not given and the given phone number is used by another contact.\n       *\n       * Defaults to `false`.\n       */\n      allowDuplicates?: boolean;\n      /** Contact info. */\n      info: ContactInfo;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * See\n       * [Field Masks in Update Requests](https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests)\n       * for details on working with field masks.\n       *\n       * > **Deprecation Notice:**\n       * > This parameter will be removed on March 31, 2022.\n       * > If your app uses this parameter, update your code as soon as possible.\n       */\n      fieldMask?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** Updated contact. */\n  interface UpdateContactResponse {\n      /** Updated contact. */\n      contact?: Contact;\n  }\n  interface MergeContactsRequest {\n      /** Target contact ID. */\n      targetContactId: string;\n      /**\n       * Target contact revision number, which increments by 1 each time the contact is updated.\n       * To prevent conflicting changes,\n       * the target contact's current revision must be passed.\n       */\n      targetContactRevision: number | null;\n      /**\n       * IDs of up to 5 contacts to merge into the target contact.\n       * If merging more than one source contact,\n       * the first source is given precedence, then the second, and so on.\n       */\n      sourceContactIds?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface MergeContactsResponse {\n      /** Updated target contact. */\n      contact?: Contact;\n  }\n  interface ContactMerged {\n      /** ID of the contact the source contacts were merged into. */\n      targetContactId?: string;\n      /** IDs of contacts that were merged into the target contact. */\n      sourceContactIds?: string[];\n      /** Updated target contact. */\n      targetContact?: Contact;\n  }\n  interface PreviewMergeContactsRequest {\n      /** Target contact ID. */\n      targetContactId: string;\n      /**\n       * IDs of up to 5 contacts to merge into the target contact.\n       * If merging more than one source contact,\n       * the first source is given precedence, then the second, and so on.\n       */\n      sourceContactIds?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface PreviewMergeContactsResponse {\n      /** Preview of the updated target contact. */\n      contact?: Contact;\n  }\n  interface DeleteContactRequest {\n      /** ID of the contact to delete. */\n      contactId: string;\n  }\n  interface DeleteContactResponse {\n  }\n  interface LabelContactRequest {\n      /** ID of the contact to add labels to. */\n      contactId: string;\n      /**\n       * List of label keys to add to the contact.\n       *\n       * Label keys must exist to be added to the contact.\n       *  Contact labels can be created or retrieved with\n       *  [`findOrCreateLabel()`](wix-crm-backend/contacts/findorcreatelabel)\n       *  or\n       *  [`queryLabels()`](wix-crm-backend/contacts/queryLabels).\n       */\n      labelKeys: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** Updated contact. */\n  interface LabelContactResponse {\n      /** Updated contact. */\n      contact?: Contact;\n  }\n  interface UnlabelContactRequest {\n      /** ID of the contact to remove labels from. */\n      contactId: string;\n      /** List of label keys to remove from the contact. */\n      labelKeys: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** Updated contact. */\n  interface UnlabelContactResponse {\n      /** Updated contact. */\n      contact?: Contact;\n  }\n  interface LabelAndUnlabelContactRequest {\n      /** Contact ID. */\n      contactId: string;\n      /**\n       * List of label keys to add to the contact.\n       *\n       * Label keys must exist to be added to the contact.\n       *  Contact labels can be created or retrieved with\n       *  [`findOrCreateLabel()`](wix-crm-backend/contacts/findorcreatelabel)\n       *  or\n       *  [`queryLabels()`](wix-crm-backend/contacts/queryLabels).\n       */\n      labelKeysToAdd: string[];\n      /** List of label keys to remove from the contact. */\n      labelKeysToRemove: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface LabelAndUnlabelContactResponse {\n      /** Updated contact. */\n      contact?: Contact;\n  }\n  interface ListContactsRequest {\n      /** Sort order. */\n      sort?: Sorting;\n      /** Pagination, defaults to offset = 0 and limit = 50 (max limit 1,000). */\n      paging?: Paging;\n      /**\n       * List of projected fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       * `id` and `revision` are always returned.\n       *\n       * Supported properties:\n       * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`,\n       * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`,\n       * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`,\n       * `info.labelKeys`, `info.locations`, `info.extendedFields`\n       */\n      fields?: string[];\n      fieldsets?: ContactFieldSet[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface Sorting {\n      /**\n       * Field to sort by.\n       *\n       * Supported properties:\n       * `createdDate`, `lastActivity.activityDate`, `primaryInfo.email`,\n       * `info.name.first`, `info.name.last`, `info.company`, `info.jobTitle`,\n       * `info.birthdate`\n       */\n      fieldName?: string;\n      /**\n       * Sort order.\n       * Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Defaults to `ASC`.\n       */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to return. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  enum ContactFieldSet {\n      /** name, primaryEmail, primaryPhone */\n      BASIC = \"BASIC\",\n      /** name, phones, emails, addressses */\n      COMMUNICATION_DETAILS = \"COMMUNICATION_DETAILS\",\n      /** name, primaryInfo(email, phone), extendedFields */\n      EXTENDED = \"EXTENDED\",\n      /** Full contact object */\n      FULL = \"FULL\"\n  }\n  /** List of contacts. */\n  interface ListContactsResponse {\n      /** List of contacts. */\n      contacts?: Contact[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** The number of items returned in this response */\n      count?: number | null;\n      /** The offset which was requested */\n      offset?: number | null;\n      /** The total number of items that match the query */\n      total?: number | null;\n      /** A flag that indicates the server failed to calculate 'total' field */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryContactsRequest {\n      /**\n       * Plain text search for an exact match.\n       *\n       * Supported properties:\n       * `info.name.first`, `info.name.last`, `info.emails.email`, `info.phones.phone`\n       *\n       * Max: 100 characters\n       */\n      search?: string | null;\n      /** Query options. */\n      query?: Query;\n      /**\n       * Whether to calculate the total count the number of contacts\n       * @internal\n       */\n      omitTotal?: boolean | null;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface Query {\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n       * for more information.\n       *\n       * For a detailed list of supported filters, see\n       * [Supported Filters](https://dev.wix.com/api/rest/contacts/contacts/supported-filters).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sorting options.\n       * See [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination)\n       * for more information.\n       *\n       * Max: 1 sort object\n       */\n      sort?: Sorting[];\n      /** Pagination options. */\n      paging?: Paging;\n      /**\n       * List of projected fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       * `id` and `revision` are always returned.\n       *\n       * Supported properties:\n       * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`,\n       * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`,\n       * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`,\n       * `info.labelKeys`, `info.locations`, `info.extendedFields`\n       */\n      fields?: string[];\n      /**\n       * Predefined sets of fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       *\n       * - `BASIC`: Returns `id`, `revision`, `primaryInfo`, `info.name`.\n       * - `COMMUNICATION_DETAILS`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.emails`, `info.phones`, `info.addresses`.\n       * - `EXTENDED`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.extendedFields`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: If `fields` is omitted from the request, `FULL`.\n       */\n      fieldsets?: ContactFieldSet[];\n  }\n  /** List of contacts. */\n  interface QueryContactsResponse {\n      /** List of contacts. */\n      contacts?: Contact[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface ListFacetsRequest {\n      /** Allow paginating, default: offset = 0 and limit = 1000 */\n      paging?: Paging;\n      /** Language for localization */\n      language?: string | null;\n      /**\n       * Wheter to count the number of contacts per facet\n       * @internal\n       */\n      omitCount?: boolean;\n  }\n  interface ListFacetsResponse {\n      /** List of facets. */\n      facets?: ContactsFacet[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface ContactsFacet {\n      /** Type of facet. */\n      facetType?: ContactsFacetType;\n      /**\n       * Scope for facet keys.\n       * When a facet key exists in a namespace,\n       * each key is unique within that namespace.\n       *\n       * Currently, facets not created by Wix are in the `custom` namespace.\n       */\n      namespace?: string | null;\n      /** Human-readable display name. */\n      namespaceDisplayName?: string | null;\n      /** Facet key, automatically generated. */\n      facetKey?: string | null;\n      /** Human-readable name. Shown in the Wix UI. */\n      facetDisplayName?: string | null;\n      /** Number of contacts the facet is applied to. */\n      count?: number | null;\n      /**\n       * Legacy ID of the facet label\n       * @internal\n       */\n      legacyId?: string | null;\n      /** Filter used for query contacts of this facet */\n      queryFilter?: Record<string, any> | null;\n  }\n  enum ContactsFacetType {\n      UNKNOWN = \"UNKNOWN\",\n      ALL_CONTACTS = \"ALL_CONTACTS\",\n      NOT_LABELED = \"NOT_LABELED\",\n      LABEL = \"LABEL\",\n      SUBSCRIPTION_STATUS = \"SUBSCRIPTION_STATUS\",\n      MEMBERSHIP_STATUS = \"MEMBERSHIP_STATUS\"\n  }\n  interface QueryFacetsRequest {\n      /** Allow paginating, default: offset = 0 and limit = 1000 */\n      paging?: Paging;\n      /** Language for localization */\n      language?: string | null;\n      /**\n       * Wheter to count the number of contacts per facet\n       * @internal\n       */\n      omitCount?: boolean;\n      /**\n       * Only allowed fields:\n       * #info.extendedFields.emailSubscriptions.effectiveEmail ($exists)\n       * #info.extendedFields.emailSubscriptions.deliverabilityStatus ($eq, $ne, $in, $nin)\n       * #info.extendedFields.emailSubscriptions.subscriptionStatus ($eq, $ne, $in)\n       */\n      filter?: Record<string, any> | null;\n  }\n  interface QueryFacetsResponse {\n      /** List of facets. */\n      facets?: ContactsFacet[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface BulkDeleteContactsRequest {\n      /**\n       * Filter object.\n       *\n       * Possible filters:\n       * `$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n       *\n       * For a detailed list of supported filters, see\n       * filtering and sorting for\n       * [contact properties](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#contact-properties-filtering-sorting-and-searching),\n       * [extended fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#extended-fields-filtering-sorting-and-searching),\n       * and [custom fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#custom-fields-filtering-sorting-and-searching).\n       *\n       * Example:\n       * `{ \"filter\": { \"info.name.last\": \"Smith\" } }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       *\n       * Searchable fields:\n       *\n       * - `info.name.first`\n       * - `info.name.last`\n       * - `info.emails.email`\n       * - `info.phones.phone`\n       */\n      search?: string | null;\n  }\n  interface BulkDeleteContactsResponse {\n      /**\n       * Bulk job ID.\n       * The job's status can be retrieved with\n       * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n       * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n       */\n      jobId?: string;\n  }\n  interface BulkUpdateContactsRequest {\n      /**\n       * Filter object.\n       *\n       * Possible filters:\n       * `$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n       *\n       * For a detailed list of supported filters, see\n       * filtering and sorting for\n       * [contact properties](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#contact-properties-filtering-sorting-and-searching),\n       * [extended fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#extended-fields-filtering-sorting-and-searching),\n       * and [custom fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#custom-fields-filtering-sorting-and-searching).\n       *\n       * Example:\n       * `{ \"filter\": { \"info.name.last\": \"Smith\" } }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       *\n       * Searchable fields:\n       *\n       * - `info.name.first`\n       * - `info.name.last`\n       * - `info.emails.email`\n       * - `info.phones.phone`\n       */\n      search?: string | null;\n      /** Contact info. */\n      info?: ContactInfo;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * See\n       * [Field Masks in Update Requests](https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests)\n       * for details on working with field masks.\n       *\n       * > **Deprecation Notice:**\n       * > This parameter will be removed on March 31, 2022.\n       * > If your app uses this parameter, update your code as soon as possible.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateContactsResponse {\n      /**\n       * Bulk job ID.\n       * The job's status can be retrieved with\n       * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n       * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n       */\n      jobId?: string;\n  }\n  interface BulkLabelAndUnlabelContactsRequest {\n      /**\n       * Filter options.\n       * Labels will be removed from contacts that meet the `filter` and `search` criteria.\n       *\n       * See\n       * [Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/api/rest/contacts/contacts/sort-and-filter#contacts_contacts_sort-and-filter_field-support-for-filtering-sorting-and-searching)\n       * for a list of supported filters and fields.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       * Labels will be removed from contacts that meet the `filter` and `search` criteria.\n       *\n       * See\n       * [Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/api/rest/contacts/contacts/sort-and-filter#contacts_contacts_sort-and-filter_field-support-for-filtering-sorting-and-searching)\n       * for a list of searchable fields.\n       */\n      search?: string | null;\n      /**\n       * List of label keys to add to the contacts.\n       *\n       * Label keys must exist to be added to the contact.\n       *  Contact labels can be created or retrieved with\n       *  [`findOrCreateLabel()`](wix-crm-backend/contacts/findorcreatelabel)\n       *  or\n       *  [`queryLabels()`](wix-crm-backend/contacts/queryLabels).\n       */\n      labelKeysToAdd?: string[];\n      /** List of label keys to remove from the contacts. */\n      labelKeysToRemove?: string[];\n  }\n  interface BulkLabelAndUnlabelContactsResponse {\n      /**\n       * Bulk job ID.\n       * The job's status can be retrieved with\n       * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n       * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n       */\n      jobId?: string;\n  }\n  interface BulkUpsertContactsRequest {\n      info?: ContactInfo[];\n      returnFullEntity?: boolean;\n  }\n  interface BulkUpsertContactsResponse {\n      results?: Item[];\n      metadata?: BulkUpsertContactsResponseMetadata;\n  }\n  enum Action {\n      UNKNOWN = \"UNKNOWN\",\n      UPDATED = \"UPDATED\",\n      CREATED = \"CREATED\"\n  }\n  interface Error {\n      /** Error code. */\n      code?: string;\n      /** Error details. */\n      message?: string | null;\n  }\n  interface Metadata {\n      _id?: string | null;\n      originalIndex?: number;\n      action?: Action;\n      success?: boolean;\n      error?: Error;\n  }\n  interface Item {\n      contact?: Contact;\n      metadata?: Metadata;\n  }\n  interface BulkUpsertContactsResponseMetadata {\n      totalSuccess?: number;\n      totalFailure?: number;\n      totalCreated?: number;\n      totalUpdated?: number;\n  }\n  interface UpsertContactRequest {\n      info: ContactInfo;\n  }\n  interface UpsertContactResponse {\n      /** Upserted contact. */\n      contact?: Contact;\n      action?: UpsertContactResponseAction;\n  }\n  enum UpsertContactResponseAction {\n      UNKNOWN = \"UNKNOWN\",\n      UPDATED = \"UPDATED\",\n      CREATED = \"CREATED\"\n  }\n  interface GeneratePictureUploadUrlRequest {\n      /** ID of the contact whose picture is being updated. */\n      contactId: string;\n      /**\n       * Mime Type. Must be one of:\n       * `image/png`, `image/jpeg`.\n       * Defaults to `image/png`.\n       */\n      mimeType?: string | null;\n  }\n  interface GeneratePictureUploadUrlResponse {\n      /** URL to upload the image */\n      uploadUrl?: string;\n      /** @internal */\n      uploadId?: string;\n  }\n  interface GetContactRequest {\n      /** ID of the contact to retrieve. */\n      _id: string;\n      /**\n       * List of projected fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       * `id` and `revision` are always returned.\n       *\n       * Supported properties:\n       * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`,\n       * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`,\n       * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`,\n       * `info.labelKeys`, `info.locations`, `info.extendedFields`\n       */\n      fields?: string[];\n      /**\n       * Predefined sets of fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       *\n       * - `BASIC`: Returns `id`, `revision`, `primaryInfo`, `info.name`.\n       * - `COMMUNICATION_DETAILS`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.emails`, `info.phones`, `info.addresses`.\n       * - `EXTENDED`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.extendedFields`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: If `fields` is omitted from the request, `FULL`.\n       */\n      fieldsets?: ContactFieldSet[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** The requested contact. */\n  interface GetContactResponse {\n      /** The requested contact. */\n      contact?: Contact;\n      /**\n       * Contact response type.\n       *\n       * - `REGULAR`: The specified contact was returned.\n       * - `IMPLICIT`: Not used.\n       * - `MERGED`: The specified contact was previously merged with another contact, and the new contact was\n       */\n      responseType?: GetContactResponseType;\n  }\n  enum GetContactResponseType {\n      /** Normal contact */\n      REGULAR = \"REGULAR\",\n      /** Contact that id was already allocated for it, but the contact not yet created. */\n      IMPLICIT = \"IMPLICIT\",\n      /** Contact was merged into another contact */\n      MERGED = \"MERGED\"\n  }\n  interface SyncSubmitContactRequest {\n      contactInfo?: ContactInfo;\n      activity?: ContactActivity;\n      passThroughData?: string | null;\n      contactId?: string;\n      submitOperation?: SubmitOperation;\n      /** Need to resolve source in allocator, because of server sign */\n      sourceType?: ContactSourceType;\n      sourceId?: string | null;\n      hideFromContactList?: boolean;\n  }\n  enum SubmitOperation {\n      UNKNOWN = \"UNKNOWN\",\n      CREATE = \"CREATE\",\n      UPDATE = \"UPDATE\"\n  }\n  interface SyncSubmitContactResponse {\n  }\n  interface CountContactsRequest {\n  }\n  interface CountContactsResponse {\n      count?: number;\n  }\n  interface SearchContactsRequest {\n      /** Search object. Encapsulates filter, sorting, paging and other details */\n      search?: Search;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface Search extends SearchPagingMethodOneOf {\n      /** Cursor pointing to page of results. 'cursorPaging.cursor' can not be used together with 'filter' or 'sort' */\n      cursorPaging?: CursorPaging;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting[];\n      /**\n       * List of projected fields to return.\n       *\n       * If used in the request,\n       * all the fields contained in `fields` and `fieldsets` are returned.\n       * If left blank, `fieldsets` is used to determine which fields to return.\n       *\n       * For a list of valid projected fields, see\n       * [Valid Contact Projection Fields](https://dev.wix.com/api/rest/contacts/contacts/fieldsets-and-projected-fields#contacts_contacts_fieldsets-and-projected-fields_valid-contact-projection-fields).\n       */\n      fields?: string[];\n      /**\n       * Predefined sets of fields to return.\n       *\n       * Defaults to `FULL`.\n       * Ignored if left empty when `fields` is used in the request.\n       *\n       * For more information,\n       * see [Contact Fieldsets](https://dev.wix.com/api/rest/contacts/contacts/fieldsets-and-projected-fields#contacts_contacts_fieldsets-and-projected-fields_contact-fieldsets).\n       */\n      fieldsets?: string[];\n      /** free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  /** @oneof */\n  interface SearchPagingMethodOneOf {\n      /** Cursor pointing to page of results. 'cursorPaging.cursor' can not be used together with 'filter' or 'sort' */\n      cursorPaging?: CursorPaging;\n  }\n  interface SearchDetails {\n      /** boolean search mode. Default is `OR` */\n      mode?: Mode;\n      /** search term or expression */\n      expression?: string | null;\n      /**\n       * fields to search in. if empty - server will search in own default fieldsDefault searchable fields:\n       *\n       * - `info.name.first`\n       * - `info.name.last`\n       * - `info.emails.email`\n       * - `info.phones.phone`\n       */\n      fields?: string[];\n      /** flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** any */\n      OR = \"OR\",\n      /** all */\n      AND = \"AND\"\n  }\n  interface CursorPaging {\n      /** The number of contacts to load (default = 50, max = 1000) */\n      limit?: number | null;\n      /** Cursor returned in last query response. Should not be provided on first page request */\n      cursor?: string | null;\n  }\n  interface SearchContactsResponse {\n      /** List of contacts. */\n      contacts?: Contact[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** The number of items returned in this response */\n      count?: number | null;\n      /** The offset which was requested. Returned if offset paging was used */\n      offset?: number | null;\n      /** The total number of items that match the query. Returned if offset paging was used and 'too_many_to_count' flag is not set */\n      total?: number | null;\n      /** A flag that indicates the server failed to calculate 'total' field */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next result page */\n      next?: string | null;\n      /** Cursor pointing to previous result page */\n      prev?: string | null;\n  }\n  interface BulkAddSegmentToContactsRequest {\n      /** Segment id */\n      segmentId?: string;\n      /** List of Contact ids */\n      contactIds?: string[];\n      /** List of existing segment ids */\n      existsSegmentIds?: string[];\n  }\n  interface BulkAddSegmentToContactsResponse {\n      /** List of action results */\n      results?: ItemMetadata[];\n      /** Metadata on the bulk action */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ContactAddedToSegment {\n      /** Id of the segment to which the contact was added */\n      segmentId?: string;\n      /** The contact that was added */\n      contact?: Contact;\n  }\n  interface BulkRemoveSegmentFromContactsRequest {\n      /** Segment id */\n      segmentId?: string;\n      /** List of Contact ids */\n      contactIds?: string[];\n  }\n  interface BulkRemoveSegmentFromContactsResponse {\n      /** List of action results */\n      results?: ItemMetadata[];\n      /** Metadata on the bulk action */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ContactRemovedFromSegment {\n      /** Id of the segment from which the contact was removed */\n      segmentId?: string;\n      /** The contact that was removed */\n      contact?: Contact;\n  }\n  /**\n   * Estimates number of valid contacts by given filter and (optional) search expressions.\n   * In Email Marketing context \"valid\" means that bounced/unsubscribed/blacklisted contacts are filtered out.\n   * @param filter - Contacts filter expression.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   */\n  function estimateFilterSize(filter: Record<string, any> | null, options?: EstimateFilterSizeOptions): Promise<EstimateFilterSizeResponse>;\n  interface EstimateFilterSizeOptions {\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n      /** Contacts plain text search expression (searches in name, phone and email fields). */\n      search?: string | null;\n  }\n  /**\n   * Estimates number of contacts of campaign's audience.\n   * Audience size depends on various filters and search expressions.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function estimateAudienceSize(options?: EstimateAudienceSizeOptions): Promise<EstimateAudienceSizeResponse>;\n  interface EstimateAudienceSizeOptions {\n      /** Contact IDs of a campaign audience. */\n      contactIds?: string[];\n      /** Label IDs of a campaign audience. */\n      labelIds?: string[];\n      /** Contacts filter expression (json). */\n      contactsFilter?: Record<string, any> | null;\n      /** Contacts plain text search expression (searches in name, phone and email fields). */\n      search?: string | null;\n      /** Segment ids of a campaign audience. */\n      segmentIds?: string[];\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n      /** Id of a campaign that is to be resent. */\n      resendCampaignId?: string | null;\n  }\n  /**\n   * Creates a new contact.\n   *\n   *\n   * The `createContact()` function returns a Promise\n   * that resolves to the new contact when it is created.\n   *   > **Note:**\n   *  > This function replaces the deprecated\n   *  > `wixCrmBackend.createContact()`.\n   *  > The deprecated function will continue to work, but it will not receive updates.\n   *  > To keep any existing code compatible with future changes, see the\n   *  > [migration instructions](wix-crm-backend/createcontact#migration-instructions).\n   *\n   * The `contactInfo` parameter object must include a name, phone number, or email address.\n   *  If all 3 of these parameters are missing,\n   *  the contact won't be created.\n   *\n   * <!--\n   * > **Note:**\n   * > Only visitors with\n   * > **Manage Contacts** [permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Froles-and-permissions)\n   * > can create contacts.\n   * > You can override the permissions by setting the `suppressAuth` option to `true`.\n   * -->\n   *   By default,\n   *  if the call contains an email already in use by another contact,\n   *  the new contact won't be created.\n   *  To override this behavior,\n   *  set `allowDuplicates` in the `options` object to `true`.\n   * @param info - Contact info.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField info\n   * @param options - Create contact options.\n   * @returns Contact.\n   */\n  function createContact(info: ContactInfo, options?: CreateContactOptions): Promise<CreateContactResponse>;\n  interface CreateContactOptions {\n      /**\n       * Controls whether the call will succeed\n       * if the new contact information contains an email or a phone number already used by another contact.\n       *\n       * If set to `true`,\n       * the call will succeed even if an email address or phone number is used by another contact.\n       * If set to `false`,\n       * the call will fail if the given email address is used by another contact or,\n       * if the email address is not given and the given phone number is used by another contact.\n       *\n       * Defaults to `false`.\n       */\n      allowDuplicates?: boolean;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Updates a contact's properties.\n   *\n   * The `updateContact()` function returns a Promise that resolves\n   * when the specified contact's information is updated.\n   *\n   *  > **Note:**\n   * > This function replaces the deprecated\n   * > `wixCrmBackend.updateContact()`.\n   * > The deprecated function will continue to work, but it will not receive updates.\n   * > To keep any existing code compatible with future changes, see the\n   * > [migration instructions](wix-crm-backend/updatecontact#migration-instructions).\n   *\n   *  Each time the contact is updated,\n   * `revision` increments by 1.\n   * The existing `revision` must be included when updating the contact.\n   * This ensures you're working with the latest contact information,\n   * and it prevents unintended overwrites.\n   *\n   * <!--\n   *  > **Note:**\n   * > Only visitors with\n   * > **Manage Contacts** [permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Froles-and-permissions)\n   * > can update contacts.\n   * > You can override the permissions by setting the `suppressAuth` option to `true`.\n   * -->\n   * @param contactId - ID of the contact to update.\n   * @param revision - Revision number.\n   * When updating, include the existing `revision`\n   * to prevent conflicting updates.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @requiredField options\n   * @requiredField options.info\n   * @requiredField revision\n   * @param options - Contact update options.\n   * @returns Updated contact.\n   */\n  function updateContact(contactId: string, revision: number | null, options: UpdateContactOptions): Promise<UpdateContactResponse>;\n  interface UpdateContactOptions {\n      /**\n       * Controls whether the call will succeed if the new contact information contains an email already used by another contact.\n       *\n       * If set to `true`, the call will succeed even if an email address is used by another contact. If set to `false`, the call will fail if an email address is used by another contact.\n       *\n       * Defaults to `false`.\n       */\n      allowDuplicates?: boolean;\n      /** Contact info. */\n      info: ContactInfo;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * See\n       * [Field Masks in Update Requests](https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests)\n       * for details on working with field masks.\n       *\n       * > **Deprecation Notice:**\n       * > This parameter will be removed on March 31, 2022.\n       * > If your app uses this parameter, update your code as soon as possible.\n       */\n      fieldMask?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Merges source contacts into a target contact.\n   *\n   * Merging contacts has these effects on the target contact:\n   *\n   * - No target contact data is overwritten or deleted.\n   * - Arrays (emails, phones, addresses, and labels) are merged from the source contacts.\n   * - If merging more than one source contact, the 1st source is given precedence, then the 2nd, and so on.\n   *\n   * <blockquote class=\"important\">\n   *\n   * __Important:__\n   * Merges cannot be undone.\n   * Use [Preview Merge Contacts](#preview-merge-contacts)\n   * to test before merging.\n   *\n   * </blockquote>\n   *\n   * Source contacts are deleted when merging.\n   * However, if a source contact is a site member or contributor,\n   * the merge fails because site contributors and members can't be deleted.\n   * Site members and contributors can be target contacts only.\n   *\n   * After merging,\n   * if you call [Get Contact](#get-contact) with a deleted source contact ID,\n   * the target contact ID is returned.\n   * This is supported when calling Get Contact only.\n   * Deleted source contact IDs are not supported on any other endpoint.\n   *\n   * Merging contacts triggers these webhooks:\n   *\n   * - [Contact Merged](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-merged-webhook) is triggered.\n   * - [Contact Updated](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-updated-webhook) is triggered for the target contact. `originatedFrom` is set to `merge`.\n   * - [Contact Deleted](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-deleted-webhook) is triggered for each source contact. `originatedFrom` is set to `merge`.\n   * @param targetContactId - Target contact ID.\n   * @param targetContactRevision - Target contact revision number, which increments by 1 each time the contact is updated.\n   * To prevent conflicting changes,\n   * the target contact's current revision must be passed.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField targetContactId\n   * @requiredField targetContactRevision\n   * @param options - Merge contacts options.\n   */\n  function mergeContacts(targetContactId: string, targetContactRevision: number | null, options?: MergeContactsOptions): Promise<MergeContactsResponse>;\n  interface MergeContactsOptions {\n      /**\n       * IDs of up to 5 contacts to merge into the target contact.\n       * If merging more than one source contact,\n       * the first source is given precedence, then the second, and so on.\n       */\n      sourceContactIds?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Previews merging source contacts into a target contact.\n   *\n   * This endpoint performs a dry run without deleting or updating any contacts.\n   * A preview of the updated target contact is returned,\n   * but no data is changed in the Contact List.\n   *\n   * To perform the actual merge, use [Merge Contacts](#merge-contacts).\n   * @param targetContactId - Target contact ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField targetContactId\n   * @param options - Preview merge contacts options.\n   */\n  function previewMergeContacts(targetContactId: string, options?: PreviewMergeContactsOptions): Promise<PreviewMergeContactsResponse>;\n  interface PreviewMergeContactsOptions {\n      /**\n       * IDs of up to 5 contacts to merge into the target contact.\n       * If merging more than one source contact,\n       * the first source is given precedence, then the second, and so on.\n       */\n      sourceContactIds?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Deletes a contact who is not a site member or contributor.\n   *\n   * The `deleteContact()` function returns a Promise\n   * that resolves when the specified contact is deleted.\n   *  > **Note:**\n   * > This function replaces the deprecated\n   * > `wixCrmBackend.deleteContact()`.\n   * > The deprecated function will continue to work, but it will not receive updates.\n   * > To keep any existing code compatible with future changes, see the\n   * > [migration instructions](wix-crm-backend/deletecontact#migration-instructions).\n   *\n   *  Deleting a contact permanently removes them from your Contact List.\n   *\n   *  If the contact is also a site member,\n   * the member must be deleted first,\n   * and then the contact can be deleted.\n   *\n   * <!--\n   *  > **Note:**\n   * > Only visitors with\n   * > **Manage Contacts** [permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Froles-and-permissions)\n   * > can delete contacts.\n   * > You can override the permissions by setting the `suppressAuth` option to `true`.\n   * -->\n   * @param contactId - ID of the contact to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contactId\n   */\n  function deleteContact(contactId: string): Promise<void>;\n  /**\n   * Adds labels to a contact.\n   *\n   *\n   * The `labelContact()` function returns a Promise\n   * that resolves when the specified labels are added to the contact.\n   *  - **To create new labels:** Use [`findOrCreateLabel()`](wix-crm-backend/contacts/findorcreatelabel).\n   * - **To find labels:** Use [`findOrCreateLabel()`](wix-crm-backend/contacts/findorcreatelabel), [`getLabel()`](wix-crm-backend/contacts/getlabel), or [`queryLabels()`](wix-crm-backend/contacts/queryLabels).\n   *\n   * <!--\n   *  > **Note:**\n   * > Only visitors with\n   * > **Manage Contacts** [permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Froles-and-permissions)\n   * > can label contacts.\n   * > You can override the permissions by setting the `suppressAuth` option to `true`.\n   * -->\n   * @param contactId - ID of the contact to add labels to.\n   * @param labelKeys - List of label keys to add to the contact.\n   *\n   * Label keys must exist to be added to the contact.\n   *  Contact labels can be created or retrieved with\n   *  [`findOrCreateLabel()`](wix-crm-backend/contacts/findorcreatelabel)\n   *  or\n   *  [`queryLabels()`](wix-crm-backend/contacts/queryLabels).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @requiredField labelKeys\n   * @returns Updated contact.\n   */\n  function labelContact(contactId: string, labelKeys: string[], options?: LabelContactOptions): Promise<LabelContactResponse>;\n  interface LabelContactOptions {\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Removes labels from a contact.\n   *\n   *  The `unlabelContact()` function returns a Promise\n   *  that resolves when the specified labels are removed from the contact.\n   *\n   *   If a label is no longer needed\n   *  and you want to remove it from all contacts,\n   *  you can delete it with\n   *  [`deleteLabel()`](wix-crm-backend/contacts/deletelabel).\n   *\n   * <!--\n   *   > **Note:**\n   *  > Only visitors with\n   *  > **Manage Contacts** [permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Froles-and-permissions)\n   *  > can unlabel contacts.\n   *  > You can override the permissions by setting the `suppressAuth` option to `true`.\n   * -->\n   * @param contactId - ID of the contact to remove labels from.\n   * @param labelKeys - List of label keys to remove from the contact.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @requiredField labelKeys\n   * @returns Updated contact.\n   */\n  function unlabelContact(contactId: string, labelKeys: string[], options?: UnlabelContactOptions): Promise<UnlabelContactResponse>;\n  interface UnlabelContactOptions {\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Adds and removes labels from a contact.\n   * The requested labels must already exist for the site.\n   * To create new labels, use\n   * [Find or Create Label](https://dev.wix.com/api/rest/contacts/labels/find-or-create-label)\n   * (in the Contact Labels API) before running this request.\n   * @param contactId - Contact ID.\n   * @param labelKeysToAdd - List of label keys to add to the contact.\n   *\n   * Label keys must exist to be added to the contact.\n   *  Contact labels can be created or retrieved with\n   *  [`findOrCreateLabel()`](wix-crm-backend/contacts/findorcreatelabel)\n   *  or\n   *  [`queryLabels()`](wix-crm-backend/contacts/queryLabels).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @requiredField labelKeysToAdd\n   * @requiredField options\n   * @requiredField options.labelKeysToRemove\n   */\n  function labelAndUnlabelContact(contactId: string, labelKeysToAdd: string[], options: LabelAndUnlabelContactOptions): Promise<LabelAndUnlabelContactResponse>;\n  interface LabelAndUnlabelContactOptions {\n      /** List of label keys to remove from the contact. */\n      labelKeysToRemove: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Retrieves a list of up to 1,000 contacts per request.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Object containing list of options for retrieving contacts.\n   * @returns List of contacts.\n   */\n  function listContacts(options?: ListContactsOptions): Promise<ListContactsResponse>;\n  interface ListContactsOptions {\n      /** Sort order. */\n      sort?: Sorting;\n      /** Pagination, defaults to offset = 0 and limit = 50 (max limit 1,000). */\n      paging?: Paging;\n      /**\n       * List of projected fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       * `id` and `revision` are always returned.\n       *\n       * Supported properties:\n       * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`,\n       * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`,\n       * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`,\n       * `info.labelKeys`, `info.locations`, `info.extendedFields`\n       */\n      fields?: string[];\n      fieldsets?: ContactFieldSet[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Creates a query to retrieve a list of contacts.\n   *\n   * The `queryContacts()` function builds a query to retrieve a list of contacts\n   * and returns a\n   * [`ContactsQueryBuilder`](wix-crm-backend/contacts/contactsquerybuilder)\n   * object.\n   *\n   * The returned object contains the query definition,\n   * which is typically used to run the query using the\n   * [`find()`](wix-crm-backend/contacts/contactsquerybuilder/find)\n   * function.\n   *\n   * You can refine the query\n   * by chaining `ContactsQueryBuilder` functions onto the query.\n   * `ContactsQueryBuilder` functions enable you to sort, filter,\n   * and control the results `queryContacts()` returns.\n   *\n   * `queryContacts()` runs with these `ContactsQueryBuilder` defaults,\n   * which you can override:\n   *\n   * - [`skip(0)`](wix-crm-backend/contacts/contactsquerybuilder/skip)\n   * - [`limit(50)`](wix-crm-backend/contacts/contactsquerybuilder/limit)\n   * - [`descending(\"_createdDate\")`](wix-crm-backend/contacts/contactsquerybuilder/descending)\n   *\n   * The functions that are chained to `queryContacts()`\n   * are applied in the order they are called.\n   * For example, if you apply `ascending('info.company')`\n   * and then `descending('info.name.last')`,\n   * the results are sorted first by the company name, and then,\n   * if there are multiple results with the same company,\n   * the items are sorted by last name.\n   *\n   * <!--\n   * > **Note:**\n   * > Only visitors with\n   * > **Manage Contacts** [permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Froles-and-permissions)\n   * > can query contacts.\n   * > You can override the permissions by setting the `suppressAuth` option to `true`\n   * > in the [`find()`](wix-crm-backend/contacts/contactsquerybuilder/find) function.\n   * -->\n   *\n   * For property support for filters and sorting, see\n   * [Query contacts: Supported filters, sorting, and search](wix-crm-backend/contacts/sort-and-filter#query-contacts-supported-filters,-sorting,-and-search).\n   *\n   * @public\n   * @documentationMaturity preview\n   * @param options - Query contact options.\n   * @returns List of contacts.\n   */\n  function queryContacts(options?: QueryContactsOptions): Promise<QueryContactsResponse>;\n  interface QueryContactsOptions {\n      /**\n       * Plain text search for an exact match.\n       *\n       * Supported properties:\n       * `info.name.first`, `info.name.last`, `info.emails.email`, `info.phones.phone`\n       *\n       * Max: 100 characters\n       */\n      search?: string | null;\n      /** Query options. */\n      query?: Query;\n      /**\n       * Whether to calculate the total count the number of contacts\n       * @internal\n       */\n      omitTotal?: boolean | null;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Lists facets from the site’s Contact List.\n   * Facets are labels and subscription statuses.\n   * Each facet returns its details (such as `key` and `value`),\n   * as well as aggregated `count` of the number of contacts\n   * the facet applies to.\n   * @public\n   * @documentationMaturity preview\n   * @param options - List facets options.\n   */\n  function listFacets(options?: ListFacetsOptions): Promise<ListFacetsResponse>;\n  interface ListFacetsOptions {\n      /** Allow paginating, default: offset = 0 and limit = 1000 */\n      paging?: Paging;\n      /** Language for localization */\n      language?: string | null;\n      /**\n       * Wheter to count the number of contacts per facet\n       * @internal\n       */\n      omitCount?: boolean;\n  }\n  /**\n   * Retrieves facets from the site’s Contact List by filter.\n   * Facets are labels and subscription statuses.\n   * Each facet returns its details (such as `key` and `value`),\n   * as well as aggregated `count` of the number of contacts\n   * the facet applies to.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Query facets options.\n   */\n  function queryFacets(options?: QueryFacetsOptions): Promise<QueryFacetsResponse>;\n  interface QueryFacetsOptions {\n      /** Allow paginating, default: offset = 0 and limit = 1000 */\n      paging?: Paging;\n      /** Language for localization */\n      language?: string | null;\n      /**\n       * Wheter to count the number of contacts per facet\n       * @internal\n       */\n      omitCount?: boolean;\n      /**\n       * Only allowed fields:\n       * #info.extendedFields.emailSubscriptions.effectiveEmail ($exists)\n       * #info.extendedFields.emailSubscriptions.deliverabilityStatus ($eq, $ne, $in, $nin)\n       * #info.extendedFields.emailSubscriptions.subscriptionStatus ($eq, $ne, $in)\n       */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Deletes multiple contacts.\n   *\n   * All contacts that meet the specified `filter` and `search` criteria are deleted.\n   * The request should contain a `filter` value or a `search` value, or both.\n   * To perform a dry run, use the intended filter options with\n   * [Query Contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/query-contacts).\n   *\n   * When this endpoint is used, a bulk job is started and the job ID is returned.\n   * The job might not complete right away, depending on its size.\n   * The job's status can be retrieved with\n   * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n   * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n   * @public\n   * @documentationMaturity preview\n   * @param options - Bulk delete contacts options.\n   */\n  function bulkDeleteContacts(options?: BulkDeleteContactsOptions): Promise<BulkDeleteContactsResponse>;\n  interface BulkDeleteContactsOptions {\n      /**\n       * Filter object.\n       *\n       * Possible filters:\n       * `$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n       *\n       * For a detailed list of supported filters, see\n       * filtering and sorting for\n       * [contact properties](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#contact-properties-filtering-sorting-and-searching),\n       * [extended fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#extended-fields-filtering-sorting-and-searching),\n       * and [custom fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#custom-fields-filtering-sorting-and-searching).\n       *\n       * Example:\n       * `{ \"filter\": { \"info.name.last\": \"Smith\" } }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       *\n       * Searchable fields:\n       *\n       * - `info.name.first`\n       * - `info.name.last`\n       * - `info.emails.email`\n       * - `info.phones.phone`\n       */\n      search?: string | null;\n  }\n  /**\n   * Updates the specified properties for multiple contacts.\n   * Fields that are included in fieldMask.paths are updated,\n   * while all other fields stay the same.\n   *\n   * All contacts that meet the specified `filter` and `search` criteria are updated.\n   * To perform a dry run, use the intended filter options with\n   * [Query Contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/query-contacts).\n   *\n   * When this endpoint is used, a bulk job is started and the job ID is returned.\n   * The job may not complete right away, depending on its size.\n   * The job's status can be retrieved with\n   * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n   * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n   * @public\n   * @documentationMaturity preview\n   * @param options - Bulk update contacts options.\n   */\n  function bulkUpdateContacts(options?: BulkUpdateContactsOptions): Promise<BulkUpdateContactsResponse>;\n  interface BulkUpdateContactsOptions {\n      /**\n       * Filter object.\n       *\n       * Possible filters:\n       * `$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n       *\n       * For a detailed list of supported filters, see\n       * filtering and sorting for\n       * [contact properties](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#contact-properties-filtering-sorting-and-searching),\n       * [extended fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#extended-fields-filtering-sorting-and-searching),\n       * and [custom fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#custom-fields-filtering-sorting-and-searching).\n       *\n       * Example:\n       * `{ \"filter\": { \"info.name.last\": \"Smith\" } }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       *\n       * Searchable fields:\n       *\n       * - `info.name.first`\n       * - `info.name.last`\n       * - `info.emails.email`\n       * - `info.phones.phone`\n       */\n      search?: string | null;\n      /** Contact info. */\n      info?: ContactInfo;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * See\n       * [Field Masks in Update Requests](https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests)\n       * for details on working with field masks.\n       *\n       * > **Deprecation Notice:**\n       * > This parameter will be removed on March 31, 2022.\n       * > If your app uses this parameter, update your code as soon as possible.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Adds and removes labels from multiple contacts.\n   *\n   * Labels are added to and removed from all contacts that meet the specified\n   * `filter` and `search` criteria.\n   * The request should contain a `filter` value or a `search` value, or both.  To perform a dry run, use the intended filter options with\n   * [Query Contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/query-contacts).\n   *\n   * When this endpoint is used, a bulk job is started and the job ID is returned.\n   * The job might not not complete right away, depending on its size.\n   * The job's status can be retrieved with\n   * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n   * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n   * @public\n   * @documentationMaturity preview\n   * @param options - Bulk label and unlabel contacts options.\n   */\n  function bulkLabelAndUnlabelContacts(options?: BulkLabelAndUnlabelContactsOptions): Promise<BulkLabelAndUnlabelContactsResponse>;\n  interface BulkLabelAndUnlabelContactsOptions {\n      /**\n       * Filter options.\n       * Labels will be removed from contacts that meet the `filter` and `search` criteria.\n       *\n       * See\n       * [Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/api/rest/contacts/contacts/sort-and-filter#contacts_contacts_sort-and-filter_field-support-for-filtering-sorting-and-searching)\n       * for a list of supported filters and fields.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       * Labels will be removed from contacts that meet the `filter` and `search` criteria.\n       *\n       * See\n       * [Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/api/rest/contacts/contacts/sort-and-filter#contacts_contacts_sort-and-filter_field-support-for-filtering-sorting-and-searching)\n       * for a list of searchable fields.\n       */\n      search?: string | null;\n      /**\n       * List of label keys to add to the contacts.\n       *\n       * Label keys must exist to be added to the contact.\n       *  Contact labels can be created or retrieved with\n       *  [`findOrCreateLabel()`](wix-crm-backend/contacts/findorcreatelabel)\n       *  or\n       *  [`queryLabels()`](wix-crm-backend/contacts/queryLabels).\n       */\n      labelKeysToAdd?: string[];\n      /** List of label keys to remove from the contacts. */\n      labelKeysToRemove?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   */\n  function bulkUpsertContacts(options?: BulkUpsertContactsOptions): Promise<BulkUpsertContactsResponse>;\n  interface BulkUpsertContactsOptions {\n      info?: ContactInfo[];\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Update the requested contact, when found by given email and/or phone, otherwise create the contact.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField info\n   */\n  function upsertContact(info: ContactInfo): Promise<UpsertContactResponse>;\n  /**\n   * Generates an URL that can be used to upload a contact picture\n   * @param contactId - ID of the contact whose picture is being updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contactId\n   */\n  function generatePictureUploadUrl(contactId: string, options?: GeneratePictureUploadUrlOptions): Promise<GeneratePictureUploadUrlResponse>;\n  interface GeneratePictureUploadUrlOptions {\n      /**\n       * Mime Type. Must be one of:\n       * `image/png`, `image/jpeg`.\n       * Defaults to `image/png`.\n       */\n      mimeType?: string | null;\n  }\n  /**\n   * Retrieves a contact.\n   *\n   *\n   * The `getContact()` function returns a Promise\n   * that resolves when the contact is found.\n   * #### Getting Merged Contacts\n   * When a source contact is merged\n   * with a target contact, the source contact is deleted.\n   * When calling `getContact()` for a merged contact,\n   * you can use the source or target contact ID.\n   * In both cases, the target contact is returned.\n   *\n   * This is supported only when calling `getContact()`,\n   * and only for merged contacts.\n   * Deleted source contact IDs are not supported on any other function.\n   * > **Notes:**\n   * >\n   * > - This function replaces the deprecated\n   * >   `wixCrmBackend.getContactById()`.\n   * >   The deprecated function will continue to work, but it will not receive updates.\n   * >   To keep any existing code compatible with future changes, see the\n   * >   [migration instructions](wix-crm-backend/getcontactbyid#migration-instructions).\n   * <!-- > - Only visitors with\n   * >   **Manage Contacts** [permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Froles-and-permissions)\n   * >   can retrieve contacts.\n   * >   You can override the permissions by setting the `suppressAuth` option to `true`.\n   * -->\n   * @param _id - ID of the contact to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @param options - Get contact options.\n   * @returns The requested contact.\n   */\n  function getContact(_id: string, options?: GetContactOptions): Promise<Contact>;\n  interface GetContactOptions {\n      /**\n       * List of projected fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       * `id` and `revision` are always returned.\n       *\n       * Supported properties:\n       * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`,\n       * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`,\n       * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`,\n       * `info.labelKeys`, `info.locations`, `info.extendedFields`\n       */\n      fields?: string[];\n      /**\n       * Predefined sets of fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       *\n       * - `BASIC`: Returns `id`, `revision`, `primaryInfo`, `info.name`.\n       * - `COMMUNICATION_DETAILS`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.emails`, `info.phones`, `info.addresses`.\n       * - `EXTENDED`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.extendedFields`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: If `fields` is omitted from the request, `FULL`.\n       */\n      fieldsets?: ContactFieldSet[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   */\n  function countContacts(): Promise<CountContactsResponse>;\n  /**\n   * Retrieves a list of contacts, given the provided cursorPaging, [filtering, and sorting](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching).\n   * Up to 1,000 contacts can be returned per request.\n   *\n   * For a detailed list of supported operations, see\n   * filtering and sorting for\n   * [contact properties](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#contact-properties-filtering-sorting-and-searching),\n   * [extended fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#extended-fields-filtering-sorting-and-searching),\n   * and [custom fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#custom-fields-filtering-sorting-and-searching).\n   * To learn how to query contacts, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @internal\n   * @documentationMaturity preview\n   */\n  function searchContacts(options?: SearchContactsOptions): Promise<SearchContactsResponse>;\n  interface SearchContactsOptions {\n      /** Search object. Encapsulates filter, sorting, paging and other details */\n      search?: Search;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  \n  const contactsV4Contact_universal_d___debug: typeof __debug;\n  type contactsV4Contact_universal_d_Contact = Contact;\n  type contactsV4Contact_universal_d_ContactSource = ContactSource;\n  type contactsV4Contact_universal_d_ContactSourceType = ContactSourceType;\n  const contactsV4Contact_universal_d_ContactSourceType: typeof ContactSourceType;\n  type contactsV4Contact_universal_d_ContactActivity = ContactActivity;\n  type contactsV4Contact_universal_d_ContactActivityType = ContactActivityType;\n  const contactsV4Contact_universal_d_ContactActivityType: typeof ContactActivityType;\n  type contactsV4Contact_universal_d_PrimaryContactInfo = PrimaryContactInfo;\n  type contactsV4Contact_universal_d_ContactInfo = ContactInfo;\n  type contactsV4Contact_universal_d_ContactName = ContactName;\n  type contactsV4Contact_universal_d_ContactEmailsWrapper = ContactEmailsWrapper;\n  type contactsV4Contact_universal_d_ContactEmail = ContactEmail;\n  type contactsV4Contact_universal_d_EmailTag = EmailTag;\n  const contactsV4Contact_universal_d_EmailTag: typeof EmailTag;\n  type contactsV4Contact_universal_d_ContactPhonesWrapper = ContactPhonesWrapper;\n  type contactsV4Contact_universal_d_ContactPhone = ContactPhone;\n  type contactsV4Contact_universal_d_PhoneTag = PhoneTag;\n  const contactsV4Contact_universal_d_PhoneTag: typeof PhoneTag;\n  type contactsV4Contact_universal_d_ContactAddressesWrapper = ContactAddressesWrapper;\n  type contactsV4Contact_universal_d_ContactAddress = ContactAddress;\n  type contactsV4Contact_universal_d_AddressTag = AddressTag;\n  const contactsV4Contact_universal_d_AddressTag: typeof AddressTag;\n  type contactsV4Contact_universal_d_Address = Address;\n  type contactsV4Contact_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type contactsV4Contact_universal_d_StreetAddress = StreetAddress;\n  type contactsV4Contact_universal_d_AddressLocation = AddressLocation;\n  type contactsV4Contact_universal_d_Subdivision = Subdivision;\n  type contactsV4Contact_universal_d_SubdivisionType = SubdivisionType;\n  const contactsV4Contact_universal_d_SubdivisionType: typeof SubdivisionType;\n  type contactsV4Contact_universal_d_AssigneesWrapper = AssigneesWrapper;\n  type contactsV4Contact_universal_d_LabelsWrapper = LabelsWrapper;\n  type contactsV4Contact_universal_d_ExtendedFieldsWrapper = ExtendedFieldsWrapper;\n  type contactsV4Contact_universal_d_LocationsWrapper = LocationsWrapper;\n  type contactsV4Contact_universal_d_ContactPicture = ContactPicture;\n  type contactsV4Contact_universal_d_ImageProvider = ImageProvider;\n  const contactsV4Contact_universal_d_ImageProvider: typeof ImageProvider;\n  type contactsV4Contact_universal_d_SegmentsWrapper = SegmentsWrapper;\n  type contactsV4Contact_universal_d_EstimateFilterSizeRequest = EstimateFilterSizeRequest;\n  type contactsV4Contact_universal_d_EstimateFilterSizeResponse = EstimateFilterSizeResponse;\n  type contactsV4Contact_universal_d_EstimateAudienceSizeRequest = EstimateAudienceSizeRequest;\n  type contactsV4Contact_universal_d_EstimateAudienceSizeResponse = EstimateAudienceSizeResponse;\n  type contactsV4Contact_universal_d_ContactSubmitted = ContactSubmitted;\n  type contactsV4Contact_universal_d_ContactChanged = ContactChanged;\n  type contactsV4Contact_universal_d_CreateContactRequest = CreateContactRequest;\n  type contactsV4Contact_universal_d_CreateContactResponse = CreateContactResponse;\n  type contactsV4Contact_universal_d_DuplicateContactExists = DuplicateContactExists;\n  type contactsV4Contact_universal_d_UpdateContactRequest = UpdateContactRequest;\n  type contactsV4Contact_universal_d_UpdateContactResponse = UpdateContactResponse;\n  type contactsV4Contact_universal_d_MergeContactsRequest = MergeContactsRequest;\n  type contactsV4Contact_universal_d_MergeContactsResponse = MergeContactsResponse;\n  type contactsV4Contact_universal_d_ContactMerged = ContactMerged;\n  type contactsV4Contact_universal_d_PreviewMergeContactsRequest = PreviewMergeContactsRequest;\n  type contactsV4Contact_universal_d_PreviewMergeContactsResponse = PreviewMergeContactsResponse;\n  type contactsV4Contact_universal_d_DeleteContactRequest = DeleteContactRequest;\n  type contactsV4Contact_universal_d_DeleteContactResponse = DeleteContactResponse;\n  type contactsV4Contact_universal_d_LabelContactRequest = LabelContactRequest;\n  type contactsV4Contact_universal_d_LabelContactResponse = LabelContactResponse;\n  type contactsV4Contact_universal_d_UnlabelContactRequest = UnlabelContactRequest;\n  type contactsV4Contact_universal_d_UnlabelContactResponse = UnlabelContactResponse;\n  type contactsV4Contact_universal_d_LabelAndUnlabelContactRequest = LabelAndUnlabelContactRequest;\n  type contactsV4Contact_universal_d_LabelAndUnlabelContactResponse = LabelAndUnlabelContactResponse;\n  type contactsV4Contact_universal_d_ListContactsRequest = ListContactsRequest;\n  type contactsV4Contact_universal_d_Sorting = Sorting;\n  type contactsV4Contact_universal_d_SortOrder = SortOrder;\n  const contactsV4Contact_universal_d_SortOrder: typeof SortOrder;\n  type contactsV4Contact_universal_d_Paging = Paging;\n  type contactsV4Contact_universal_d_ContactFieldSet = ContactFieldSet;\n  const contactsV4Contact_universal_d_ContactFieldSet: typeof ContactFieldSet;\n  type contactsV4Contact_universal_d_ListContactsResponse = ListContactsResponse;\n  type contactsV4Contact_universal_d_PagingMetadata = PagingMetadata;\n  type contactsV4Contact_universal_d_QueryContactsRequest = QueryContactsRequest;\n  type contactsV4Contact_universal_d_Query = Query;\n  type contactsV4Contact_universal_d_QueryContactsResponse = QueryContactsResponse;\n  type contactsV4Contact_universal_d_ListFacetsRequest = ListFacetsRequest;\n  type contactsV4Contact_universal_d_ListFacetsResponse = ListFacetsResponse;\n  type contactsV4Contact_universal_d_ContactsFacet = ContactsFacet;\n  type contactsV4Contact_universal_d_ContactsFacetType = ContactsFacetType;\n  const contactsV4Contact_universal_d_ContactsFacetType: typeof ContactsFacetType;\n  type contactsV4Contact_universal_d_QueryFacetsRequest = QueryFacetsRequest;\n  type contactsV4Contact_universal_d_QueryFacetsResponse = QueryFacetsResponse;\n  type contactsV4Contact_universal_d_BulkDeleteContactsRequest = BulkDeleteContactsRequest;\n  type contactsV4Contact_universal_d_BulkDeleteContactsResponse = BulkDeleteContactsResponse;\n  type contactsV4Contact_universal_d_BulkUpdateContactsRequest = BulkUpdateContactsRequest;\n  type contactsV4Contact_universal_d_BulkUpdateContactsResponse = BulkUpdateContactsResponse;\n  type contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsRequest = BulkLabelAndUnlabelContactsRequest;\n  type contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsResponse = BulkLabelAndUnlabelContactsResponse;\n  type contactsV4Contact_universal_d_BulkUpsertContactsRequest = BulkUpsertContactsRequest;\n  type contactsV4Contact_universal_d_BulkUpsertContactsResponse = BulkUpsertContactsResponse;\n  type contactsV4Contact_universal_d_Action = Action;\n  const contactsV4Contact_universal_d_Action: typeof Action;\n  type contactsV4Contact_universal_d_Error = Error;\n  type contactsV4Contact_universal_d_Metadata = Metadata;\n  type contactsV4Contact_universal_d_Item = Item;\n  type contactsV4Contact_universal_d_BulkUpsertContactsResponseMetadata = BulkUpsertContactsResponseMetadata;\n  type contactsV4Contact_universal_d_UpsertContactRequest = UpsertContactRequest;\n  type contactsV4Contact_universal_d_UpsertContactResponse = UpsertContactResponse;\n  type contactsV4Contact_universal_d_UpsertContactResponseAction = UpsertContactResponseAction;\n  const contactsV4Contact_universal_d_UpsertContactResponseAction: typeof UpsertContactResponseAction;\n  type contactsV4Contact_universal_d_GeneratePictureUploadUrlRequest = GeneratePictureUploadUrlRequest;\n  type contactsV4Contact_universal_d_GeneratePictureUploadUrlResponse = GeneratePictureUploadUrlResponse;\n  type contactsV4Contact_universal_d_GetContactRequest = GetContactRequest;\n  type contactsV4Contact_universal_d_GetContactResponse = GetContactResponse;\n  type contactsV4Contact_universal_d_GetContactResponseType = GetContactResponseType;\n  const contactsV4Contact_universal_d_GetContactResponseType: typeof GetContactResponseType;\n  type contactsV4Contact_universal_d_SyncSubmitContactRequest = SyncSubmitContactRequest;\n  type contactsV4Contact_universal_d_SubmitOperation = SubmitOperation;\n  const contactsV4Contact_universal_d_SubmitOperation: typeof SubmitOperation;\n  type contactsV4Contact_universal_d_SyncSubmitContactResponse = SyncSubmitContactResponse;\n  type contactsV4Contact_universal_d_CountContactsRequest = CountContactsRequest;\n  type contactsV4Contact_universal_d_CountContactsResponse = CountContactsResponse;\n  type contactsV4Contact_universal_d_SearchContactsRequest = SearchContactsRequest;\n  type contactsV4Contact_universal_d_Search = Search;\n  type contactsV4Contact_universal_d_SearchPagingMethodOneOf = SearchPagingMethodOneOf;\n  type contactsV4Contact_universal_d_SearchDetails = SearchDetails;\n  type contactsV4Contact_universal_d_Mode = Mode;\n  const contactsV4Contact_universal_d_Mode: typeof Mode;\n  type contactsV4Contact_universal_d_CursorPaging = CursorPaging;\n  type contactsV4Contact_universal_d_SearchContactsResponse = SearchContactsResponse;\n  type contactsV4Contact_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type contactsV4Contact_universal_d_Cursors = Cursors;\n  type contactsV4Contact_universal_d_BulkAddSegmentToContactsRequest = BulkAddSegmentToContactsRequest;\n  type contactsV4Contact_universal_d_BulkAddSegmentToContactsResponse = BulkAddSegmentToContactsResponse;\n  type contactsV4Contact_universal_d_ItemMetadata = ItemMetadata;\n  type contactsV4Contact_universal_d_ApplicationError = ApplicationError;\n  type contactsV4Contact_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type contactsV4Contact_universal_d_ContactAddedToSegment = ContactAddedToSegment;\n  type contactsV4Contact_universal_d_BulkRemoveSegmentFromContactsRequest = BulkRemoveSegmentFromContactsRequest;\n  type contactsV4Contact_universal_d_BulkRemoveSegmentFromContactsResponse = BulkRemoveSegmentFromContactsResponse;\n  type contactsV4Contact_universal_d_ContactRemovedFromSegment = ContactRemovedFromSegment;\n  const contactsV4Contact_universal_d_estimateFilterSize: typeof estimateFilterSize;\n  type contactsV4Contact_universal_d_EstimateFilterSizeOptions = EstimateFilterSizeOptions;\n  const contactsV4Contact_universal_d_estimateAudienceSize: typeof estimateAudienceSize;\n  type contactsV4Contact_universal_d_EstimateAudienceSizeOptions = EstimateAudienceSizeOptions;\n  const contactsV4Contact_universal_d_createContact: typeof createContact;\n  type contactsV4Contact_universal_d_CreateContactOptions = CreateContactOptions;\n  const contactsV4Contact_universal_d_updateContact: typeof updateContact;\n  type contactsV4Contact_universal_d_UpdateContactOptions = UpdateContactOptions;\n  const contactsV4Contact_universal_d_mergeContacts: typeof mergeContacts;\n  type contactsV4Contact_universal_d_MergeContactsOptions = MergeContactsOptions;\n  const contactsV4Contact_universal_d_previewMergeContacts: typeof previewMergeContacts;\n  type contactsV4Contact_universal_d_PreviewMergeContactsOptions = PreviewMergeContactsOptions;\n  const contactsV4Contact_universal_d_deleteContact: typeof deleteContact;\n  const contactsV4Contact_universal_d_labelContact: typeof labelContact;\n  type contactsV4Contact_universal_d_LabelContactOptions = LabelContactOptions;\n  const contactsV4Contact_universal_d_unlabelContact: typeof unlabelContact;\n  type contactsV4Contact_universal_d_UnlabelContactOptions = UnlabelContactOptions;\n  const contactsV4Contact_universal_d_labelAndUnlabelContact: typeof labelAndUnlabelContact;\n  type contactsV4Contact_universal_d_LabelAndUnlabelContactOptions = LabelAndUnlabelContactOptions;\n  const contactsV4Contact_universal_d_listContacts: typeof listContacts;\n  type contactsV4Contact_universal_d_ListContactsOptions = ListContactsOptions;\n  const contactsV4Contact_universal_d_queryContacts: typeof queryContacts;\n  type contactsV4Contact_universal_d_QueryContactsOptions = QueryContactsOptions;\n  const contactsV4Contact_universal_d_listFacets: typeof listFacets;\n  type contactsV4Contact_universal_d_ListFacetsOptions = ListFacetsOptions;\n  const contactsV4Contact_universal_d_queryFacets: typeof queryFacets;\n  type contactsV4Contact_universal_d_QueryFacetsOptions = QueryFacetsOptions;\n  const contactsV4Contact_universal_d_bulkDeleteContacts: typeof bulkDeleteContacts;\n  type contactsV4Contact_universal_d_BulkDeleteContactsOptions = BulkDeleteContactsOptions;\n  const contactsV4Contact_universal_d_bulkUpdateContacts: typeof bulkUpdateContacts;\n  type contactsV4Contact_universal_d_BulkUpdateContactsOptions = BulkUpdateContactsOptions;\n  const contactsV4Contact_universal_d_bulkLabelAndUnlabelContacts: typeof bulkLabelAndUnlabelContacts;\n  type contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsOptions = BulkLabelAndUnlabelContactsOptions;\n  const contactsV4Contact_universal_d_bulkUpsertContacts: typeof bulkUpsertContacts;\n  type contactsV4Contact_universal_d_BulkUpsertContactsOptions = BulkUpsertContactsOptions;\n  const contactsV4Contact_universal_d_upsertContact: typeof upsertContact;\n  const contactsV4Contact_universal_d_generatePictureUploadUrl: typeof generatePictureUploadUrl;\n  type contactsV4Contact_universal_d_GeneratePictureUploadUrlOptions = GeneratePictureUploadUrlOptions;\n  const contactsV4Contact_universal_d_getContact: typeof getContact;\n  type contactsV4Contact_universal_d_GetContactOptions = GetContactOptions;\n  const contactsV4Contact_universal_d_countContacts: typeof countContacts;\n  const contactsV4Contact_universal_d_searchContacts: typeof searchContacts;\n  type contactsV4Contact_universal_d_SearchContactsOptions = SearchContactsOptions;\n  namespace contactsV4Contact_universal_d {\n    export {\n      contactsV4Contact_universal_d___debug as __debug,\n      contactsV4Contact_universal_d_Contact as Contact,\n      contactsV4Contact_universal_d_ContactSource as ContactSource,\n      contactsV4Contact_universal_d_ContactSourceType as ContactSourceType,\n      contactsV4Contact_universal_d_ContactActivity as ContactActivity,\n      contactsV4Contact_universal_d_ContactActivityType as ContactActivityType,\n      contactsV4Contact_universal_d_PrimaryContactInfo as PrimaryContactInfo,\n      contactsV4Contact_universal_d_ContactInfo as ContactInfo,\n      contactsV4Contact_universal_d_ContactName as ContactName,\n      contactsV4Contact_universal_d_ContactEmailsWrapper as ContactEmailsWrapper,\n      contactsV4Contact_universal_d_ContactEmail as ContactEmail,\n      contactsV4Contact_universal_d_EmailTag as EmailTag,\n      contactsV4Contact_universal_d_ContactPhonesWrapper as ContactPhonesWrapper,\n      contactsV4Contact_universal_d_ContactPhone as ContactPhone,\n      contactsV4Contact_universal_d_PhoneTag as PhoneTag,\n      contactsV4Contact_universal_d_ContactAddressesWrapper as ContactAddressesWrapper,\n      contactsV4Contact_universal_d_ContactAddress as ContactAddress,\n      contactsV4Contact_universal_d_AddressTag as AddressTag,\n      contactsV4Contact_universal_d_Address as Address,\n      contactsV4Contact_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      contactsV4Contact_universal_d_StreetAddress as StreetAddress,\n      contactsV4Contact_universal_d_AddressLocation as AddressLocation,\n      contactsV4Contact_universal_d_Subdivision as Subdivision,\n      contactsV4Contact_universal_d_SubdivisionType as SubdivisionType,\n      contactsV4Contact_universal_d_AssigneesWrapper as AssigneesWrapper,\n      contactsV4Contact_universal_d_LabelsWrapper as LabelsWrapper,\n      contactsV4Contact_universal_d_ExtendedFieldsWrapper as ExtendedFieldsWrapper,\n      contactsV4Contact_universal_d_LocationsWrapper as LocationsWrapper,\n      contactsV4Contact_universal_d_ContactPicture as ContactPicture,\n      contactsV4Contact_universal_d_ImageProvider as ImageProvider,\n      contactsV4Contact_universal_d_SegmentsWrapper as SegmentsWrapper,\n      contactsV4Contact_universal_d_EstimateFilterSizeRequest as EstimateFilterSizeRequest,\n      contactsV4Contact_universal_d_EstimateFilterSizeResponse as EstimateFilterSizeResponse,\n      contactsV4Contact_universal_d_EstimateAudienceSizeRequest as EstimateAudienceSizeRequest,\n      contactsV4Contact_universal_d_EstimateAudienceSizeResponse as EstimateAudienceSizeResponse,\n      contactsV4Contact_universal_d_ContactSubmitted as ContactSubmitted,\n      contactsV4Contact_universal_d_ContactChanged as ContactChanged,\n      contactsV4Contact_universal_d_CreateContactRequest as CreateContactRequest,\n      contactsV4Contact_universal_d_CreateContactResponse as CreateContactResponse,\n      contactsV4Contact_universal_d_DuplicateContactExists as DuplicateContactExists,\n      contactsV4Contact_universal_d_UpdateContactRequest as UpdateContactRequest,\n      contactsV4Contact_universal_d_UpdateContactResponse as UpdateContactResponse,\n      contactsV4Contact_universal_d_MergeContactsRequest as MergeContactsRequest,\n      contactsV4Contact_universal_d_MergeContactsResponse as MergeContactsResponse,\n      contactsV4Contact_universal_d_ContactMerged as ContactMerged,\n      contactsV4Contact_universal_d_PreviewMergeContactsRequest as PreviewMergeContactsRequest,\n      contactsV4Contact_universal_d_PreviewMergeContactsResponse as PreviewMergeContactsResponse,\n      contactsV4Contact_universal_d_DeleteContactRequest as DeleteContactRequest,\n      contactsV4Contact_universal_d_DeleteContactResponse as DeleteContactResponse,\n      contactsV4Contact_universal_d_LabelContactRequest as LabelContactRequest,\n      contactsV4Contact_universal_d_LabelContactResponse as LabelContactResponse,\n      contactsV4Contact_universal_d_UnlabelContactRequest as UnlabelContactRequest,\n      contactsV4Contact_universal_d_UnlabelContactResponse as UnlabelContactResponse,\n      contactsV4Contact_universal_d_LabelAndUnlabelContactRequest as LabelAndUnlabelContactRequest,\n      contactsV4Contact_universal_d_LabelAndUnlabelContactResponse as LabelAndUnlabelContactResponse,\n      contactsV4Contact_universal_d_ListContactsRequest as ListContactsRequest,\n      contactsV4Contact_universal_d_Sorting as Sorting,\n      contactsV4Contact_universal_d_SortOrder as SortOrder,\n      contactsV4Contact_universal_d_Paging as Paging,\n      contactsV4Contact_universal_d_ContactFieldSet as ContactFieldSet,\n      contactsV4Contact_universal_d_ListContactsResponse as ListContactsResponse,\n      contactsV4Contact_universal_d_PagingMetadata as PagingMetadata,\n      contactsV4Contact_universal_d_QueryContactsRequest as QueryContactsRequest,\n      contactsV4Contact_universal_d_Query as Query,\n      contactsV4Contact_universal_d_QueryContactsResponse as QueryContactsResponse,\n      contactsV4Contact_universal_d_ListFacetsRequest as ListFacetsRequest,\n      contactsV4Contact_universal_d_ListFacetsResponse as ListFacetsResponse,\n      contactsV4Contact_universal_d_ContactsFacet as ContactsFacet,\n      contactsV4Contact_universal_d_ContactsFacetType as ContactsFacetType,\n      contactsV4Contact_universal_d_QueryFacetsRequest as QueryFacetsRequest,\n      contactsV4Contact_universal_d_QueryFacetsResponse as QueryFacetsResponse,\n      contactsV4Contact_universal_d_BulkDeleteContactsRequest as BulkDeleteContactsRequest,\n      contactsV4Contact_universal_d_BulkDeleteContactsResponse as BulkDeleteContactsResponse,\n      contactsV4Contact_universal_d_BulkUpdateContactsRequest as BulkUpdateContactsRequest,\n      contactsV4Contact_universal_d_BulkUpdateContactsResponse as BulkUpdateContactsResponse,\n      contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsRequest as BulkLabelAndUnlabelContactsRequest,\n      contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsResponse as BulkLabelAndUnlabelContactsResponse,\n      contactsV4Contact_universal_d_BulkUpsertContactsRequest as BulkUpsertContactsRequest,\n      contactsV4Contact_universal_d_BulkUpsertContactsResponse as BulkUpsertContactsResponse,\n      contactsV4Contact_universal_d_Action as Action,\n      contactsV4Contact_universal_d_Error as Error,\n      contactsV4Contact_universal_d_Metadata as Metadata,\n      contactsV4Contact_universal_d_Item as Item,\n      contactsV4Contact_universal_d_BulkUpsertContactsResponseMetadata as BulkUpsertContactsResponseMetadata,\n      contactsV4Contact_universal_d_UpsertContactRequest as UpsertContactRequest,\n      contactsV4Contact_universal_d_UpsertContactResponse as UpsertContactResponse,\n      contactsV4Contact_universal_d_UpsertContactResponseAction as UpsertContactResponseAction,\n      contactsV4Contact_universal_d_GeneratePictureUploadUrlRequest as GeneratePictureUploadUrlRequest,\n      contactsV4Contact_universal_d_GeneratePictureUploadUrlResponse as GeneratePictureUploadUrlResponse,\n      contactsV4Contact_universal_d_GetContactRequest as GetContactRequest,\n      contactsV4Contact_universal_d_GetContactResponse as GetContactResponse,\n      contactsV4Contact_universal_d_GetContactResponseType as GetContactResponseType,\n      contactsV4Contact_universal_d_SyncSubmitContactRequest as SyncSubmitContactRequest,\n      contactsV4Contact_universal_d_SubmitOperation as SubmitOperation,\n      contactsV4Contact_universal_d_SyncSubmitContactResponse as SyncSubmitContactResponse,\n      contactsV4Contact_universal_d_CountContactsRequest as CountContactsRequest,\n      contactsV4Contact_universal_d_CountContactsResponse as CountContactsResponse,\n      contactsV4Contact_universal_d_SearchContactsRequest as SearchContactsRequest,\n      contactsV4Contact_universal_d_Search as Search,\n      contactsV4Contact_universal_d_SearchPagingMethodOneOf as SearchPagingMethodOneOf,\n      contactsV4Contact_universal_d_SearchDetails as SearchDetails,\n      contactsV4Contact_universal_d_Mode as Mode,\n      contactsV4Contact_universal_d_CursorPaging as CursorPaging,\n      contactsV4Contact_universal_d_SearchContactsResponse as SearchContactsResponse,\n      contactsV4Contact_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      contactsV4Contact_universal_d_Cursors as Cursors,\n      contactsV4Contact_universal_d_BulkAddSegmentToContactsRequest as BulkAddSegmentToContactsRequest,\n      contactsV4Contact_universal_d_BulkAddSegmentToContactsResponse as BulkAddSegmentToContactsResponse,\n      contactsV4Contact_universal_d_ItemMetadata as ItemMetadata,\n      contactsV4Contact_universal_d_ApplicationError as ApplicationError,\n      contactsV4Contact_universal_d_BulkActionMetadata as BulkActionMetadata,\n      contactsV4Contact_universal_d_ContactAddedToSegment as ContactAddedToSegment,\n      contactsV4Contact_universal_d_BulkRemoveSegmentFromContactsRequest as BulkRemoveSegmentFromContactsRequest,\n      contactsV4Contact_universal_d_BulkRemoveSegmentFromContactsResponse as BulkRemoveSegmentFromContactsResponse,\n      contactsV4Contact_universal_d_ContactRemovedFromSegment as ContactRemovedFromSegment,\n      contactsV4Contact_universal_d_estimateFilterSize as estimateFilterSize,\n      contactsV4Contact_universal_d_EstimateFilterSizeOptions as EstimateFilterSizeOptions,\n      contactsV4Contact_universal_d_estimateAudienceSize as estimateAudienceSize,\n      contactsV4Contact_universal_d_EstimateAudienceSizeOptions as EstimateAudienceSizeOptions,\n      contactsV4Contact_universal_d_createContact as createContact,\n      contactsV4Contact_universal_d_CreateContactOptions as CreateContactOptions,\n      contactsV4Contact_universal_d_updateContact as updateContact,\n      contactsV4Contact_universal_d_UpdateContactOptions as UpdateContactOptions,\n      contactsV4Contact_universal_d_mergeContacts as mergeContacts,\n      contactsV4Contact_universal_d_MergeContactsOptions as MergeContactsOptions,\n      contactsV4Contact_universal_d_previewMergeContacts as previewMergeContacts,\n      contactsV4Contact_universal_d_PreviewMergeContactsOptions as PreviewMergeContactsOptions,\n      contactsV4Contact_universal_d_deleteContact as deleteContact,\n      contactsV4Contact_universal_d_labelContact as labelContact,\n      contactsV4Contact_universal_d_LabelContactOptions as LabelContactOptions,\n      contactsV4Contact_universal_d_unlabelContact as unlabelContact,\n      contactsV4Contact_universal_d_UnlabelContactOptions as UnlabelContactOptions,\n      contactsV4Contact_universal_d_labelAndUnlabelContact as labelAndUnlabelContact,\n      contactsV4Contact_universal_d_LabelAndUnlabelContactOptions as LabelAndUnlabelContactOptions,\n      contactsV4Contact_universal_d_listContacts as listContacts,\n      contactsV4Contact_universal_d_ListContactsOptions as ListContactsOptions,\n      contactsV4Contact_universal_d_queryContacts as queryContacts,\n      contactsV4Contact_universal_d_QueryContactsOptions as QueryContactsOptions,\n      contactsV4Contact_universal_d_listFacets as listFacets,\n      contactsV4Contact_universal_d_ListFacetsOptions as ListFacetsOptions,\n      contactsV4Contact_universal_d_queryFacets as queryFacets,\n      contactsV4Contact_universal_d_QueryFacetsOptions as QueryFacetsOptions,\n      contactsV4Contact_universal_d_bulkDeleteContacts as bulkDeleteContacts,\n      contactsV4Contact_universal_d_BulkDeleteContactsOptions as BulkDeleteContactsOptions,\n      contactsV4Contact_universal_d_bulkUpdateContacts as bulkUpdateContacts,\n      contactsV4Contact_universal_d_BulkUpdateContactsOptions as BulkUpdateContactsOptions,\n      contactsV4Contact_universal_d_bulkLabelAndUnlabelContacts as bulkLabelAndUnlabelContacts,\n      contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsOptions as BulkLabelAndUnlabelContactsOptions,\n      contactsV4Contact_universal_d_bulkUpsertContacts as bulkUpsertContacts,\n      contactsV4Contact_universal_d_BulkUpsertContactsOptions as BulkUpsertContactsOptions,\n      contactsV4Contact_universal_d_upsertContact as upsertContact,\n      contactsV4Contact_universal_d_generatePictureUploadUrl as generatePictureUploadUrl,\n      contactsV4Contact_universal_d_GeneratePictureUploadUrlOptions as GeneratePictureUploadUrlOptions,\n      contactsV4Contact_universal_d_getContact as getContact,\n      contactsV4Contact_universal_d_GetContactOptions as GetContactOptions,\n      contactsV4Contact_universal_d_countContacts as countContacts,\n      contactsV4Contact_universal_d_searchContacts as searchContacts,\n      contactsV4Contact_universal_d_SearchContactsOptions as SearchContactsOptions,\n    };\n  }\n  \n  export { contactsV4Contact_universal_d as contacts };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-events-backend.v2.d.ts",
      "content": "declare module \"wix-events-backend.v2\" {\n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Each event can have up to 3 policies - free-text that define terms & conditions, refunds & exchanges and/or other policies, as relevant. */\n  interface Policy {\n      /**\n       * Policy ID. (generated automatically)\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of Policy. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date policy was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date policy was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Policy name. */\n      name?: string;\n      /** Policy body. */\n      body?: string;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface CreatePolicyRequest {\n      /** An Event Policy to be created */\n      policy: Policy;\n  }\n  interface CreatePolicyResponse {\n      /** The Event Policy that was created */\n      policy?: Policy;\n  }\n  interface UpdatePolicyRequest {\n      /** Event Policy to update */\n      policy: Policy;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdatePolicyResponse {\n      /** The updated Event Policy */\n      policy?: Policy;\n  }\n  interface UpdatePolicySortIndexRequest {\n      /** Policy's ID */\n      policyId?: string;\n      /** The revision of the Event Policy */\n      revision?: string;\n      /** the sort index of a policy to set */\n      sortIndex?: number;\n  }\n  interface UpdatePolicySortIndexResponse {\n      /** the updated Event Policy */\n      policy?: Policy;\n  }\n  interface DeletePolicyRequest {\n      /** Event Policy to delete */\n      policyId: string;\n      /** The revision of the Event Policy */\n      revision?: string;\n  }\n  interface DeletePolicyResponse {\n  }\n  interface QueryPoliciesRequest {\n      /** WQL expression */\n      query: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryPoliciesResponse {\n      /** Event Policies */\n      policies?: Policy[];\n      /** Query result's metadata */\n      metadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ReorderEventPoliciesRequest extends ReorderEventPoliciesRequestReferencePolicyOneOf {\n      /** Event ID */\n      eventId?: string;\n      /** Event Policy ID */\n      policyId?: string;\n      /** Move the Event Policy Id before this Event Policy ID */\n      beforePolicyId?: string;\n      /** Move the Event Policy Id after this Event Policy ID */\n      afterPolicyId?: string;\n  }\n  /** @oneof */\n  interface ReorderEventPoliciesRequestReferencePolicyOneOf {\n      /** Move the Event Policy Id before this Event Policy ID */\n      beforePolicyId?: string;\n      /** Move the Event Policy Id after this Event Policy ID */\n      afterPolicyId?: string;\n  }\n  interface ReorderEventPoliciesResponse {\n      /** Ordered Event Policies */\n      policies?: Policy[];\n  }\n  interface GetEventPoliciesRequest {\n      /** Event Id */\n      eventId: string;\n  }\n  interface GetEventPoliciesResponse {\n      /** All policies of a particular event */\n      policies?: Policy[];\n  }\n  interface EventCopied {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n      /**\n       * Map of copied ticket definitions from original event.\n       * Key represents ticket def id in the original event.\n       * Value represents ticket def id in the newly created event.\n       */\n      ticketDefinitions?: Record<string, string>;\n  }\n  interface Location {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationType;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address$1;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationType {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address$1 extends AddressStreetOneOf$1 {\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$1;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$1 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$1;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$1 {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /** @internal */\n      apt?: string;\n  }\n  interface AddressLocation$1 {\n      latitude?: number | null;\n      longitude?: number | null;\n  }\n  interface Subdivision$1 {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /** @internal */\n      type?: SubdivisionType$1;\n      /** @internal */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$1 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface ScheduleConfig {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date;\n      /** Event end timestamp. */\n      endDate?: Date;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: Recurrences;\n  }\n  interface Recurrences {\n      /** Event occurrences. */\n      occurrences?: Occurrence[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: Status;\n  }\n  interface Occurrence {\n      /** Event start timestamp. */\n      startDate?: Date;\n      /** Event end timestamp. */\n      endDate?: Date;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum Status {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  enum EventStatus {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface Empty$1 {\n  }\n  /**\n   * Creates a policy for an event.\n   * Each event can have up to 3 policies.\n   * @param policy - An Event Policy to be created\n   * @public\n   * @requiredField policy\n   * @requiredField policy.body\n   * @requiredField policy.eventId\n   * @requiredField policy.name\n   */\n  function createPolicy(policy: Policy): Promise<CreatePolicyResponse>;\n  /**\n   * Updates a policy.\n   * @param _id - Policy ID. (generated automatically)\n   * @public\n   * @requiredField _id\n   * @requiredField policy\n   * @requiredField policy.body\n   * @requiredField policy.eventId\n   * @requiredField policy.name\n   */\n  function updatePolicy(_id: string | null, policy: UpdatePolicy, options?: UpdatePolicyOptions): Promise<UpdatePolicyResponse>;\n  interface UpdatePolicy {\n      /**\n       * Policy ID. (generated automatically)\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of Policy. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date policy was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date policy was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Policy name. */\n      name?: string;\n      /** Policy body. */\n      body?: string;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface UpdatePolicyOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a policy.\n   * @param policyId - Event Policy to delete\n   * @public\n   * @requiredField policyId\n   */\n  function deletePolicy(policyId: string, options?: DeletePolicyOptions): Promise<void>;\n  interface DeletePolicyOptions {\n      /** The revision of the Event Policy */\n      revision?: string;\n  }\n  /**\n   * Retrieves a list of policies, given the provided paging and filter.\n   * @param query - WQL expression\n   * @public\n   * @requiredField query\n   */\n  function queryPolicies(query: QueryV2$1): Promise<QueryPoliciesResponse>;\n  /**\n   * Change the order of Event Policies\n   * @public */\n  function reorderEventPolicies(options?: ReorderEventPoliciesOptions): Promise<ReorderEventPoliciesResponse>;\n  interface ReorderEventPoliciesOptions {\n      /** Event ID */\n      eventId?: string;\n      /** Event Policy ID */\n      policyId?: string;\n      /** Move the Event Policy Id before this Event Policy ID */\n      beforePolicyId?: string;\n      /** Move the Event Policy Id after this Event Policy ID */\n      afterPolicyId?: string;\n  }\n  /**\n   * Get all Event Policies of an Event\n   * @param eventId - Event Id\n   * @public\n   * @requiredField eventId\n   */\n  function getEventPolicies(eventId: string): Promise<GetEventPoliciesResponse>;\n  \n  type eventsV2Policy_universal_d_Policy = Policy;\n  type eventsV2Policy_universal_d_CreatePolicyRequest = CreatePolicyRequest;\n  type eventsV2Policy_universal_d_CreatePolicyResponse = CreatePolicyResponse;\n  type eventsV2Policy_universal_d_UpdatePolicyRequest = UpdatePolicyRequest;\n  type eventsV2Policy_universal_d_UpdatePolicyResponse = UpdatePolicyResponse;\n  type eventsV2Policy_universal_d_UpdatePolicySortIndexRequest = UpdatePolicySortIndexRequest;\n  type eventsV2Policy_universal_d_UpdatePolicySortIndexResponse = UpdatePolicySortIndexResponse;\n  type eventsV2Policy_universal_d_DeletePolicyRequest = DeletePolicyRequest;\n  type eventsV2Policy_universal_d_DeletePolicyResponse = DeletePolicyResponse;\n  type eventsV2Policy_universal_d_QueryPoliciesRequest = QueryPoliciesRequest;\n  type eventsV2Policy_universal_d_QueryPoliciesResponse = QueryPoliciesResponse;\n  type eventsV2Policy_universal_d_ReorderEventPoliciesRequest = ReorderEventPoliciesRequest;\n  type eventsV2Policy_universal_d_ReorderEventPoliciesRequestReferencePolicyOneOf = ReorderEventPoliciesRequestReferencePolicyOneOf;\n  type eventsV2Policy_universal_d_ReorderEventPoliciesResponse = ReorderEventPoliciesResponse;\n  type eventsV2Policy_universal_d_GetEventPoliciesRequest = GetEventPoliciesRequest;\n  type eventsV2Policy_universal_d_GetEventPoliciesResponse = GetEventPoliciesResponse;\n  type eventsV2Policy_universal_d_EventCopied = EventCopied;\n  type eventsV2Policy_universal_d_Location = Location;\n  type eventsV2Policy_universal_d_MapCoordinates = MapCoordinates;\n  type eventsV2Policy_universal_d_LocationType = LocationType;\n  const eventsV2Policy_universal_d_LocationType: typeof LocationType;\n  type eventsV2Policy_universal_d_ScheduleConfig = ScheduleConfig;\n  type eventsV2Policy_universal_d_Recurrences = Recurrences;\n  type eventsV2Policy_universal_d_Occurrence = Occurrence;\n  type eventsV2Policy_universal_d_Status = Status;\n  const eventsV2Policy_universal_d_Status: typeof Status;\n  type eventsV2Policy_universal_d_EventStatus = EventStatus;\n  const eventsV2Policy_universal_d_EventStatus: typeof EventStatus;\n  const eventsV2Policy_universal_d_createPolicy: typeof createPolicy;\n  const eventsV2Policy_universal_d_updatePolicy: typeof updatePolicy;\n  type eventsV2Policy_universal_d_UpdatePolicy = UpdatePolicy;\n  type eventsV2Policy_universal_d_UpdatePolicyOptions = UpdatePolicyOptions;\n  const eventsV2Policy_universal_d_deletePolicy: typeof deletePolicy;\n  type eventsV2Policy_universal_d_DeletePolicyOptions = DeletePolicyOptions;\n  const eventsV2Policy_universal_d_queryPolicies: typeof queryPolicies;\n  const eventsV2Policy_universal_d_reorderEventPolicies: typeof reorderEventPolicies;\n  type eventsV2Policy_universal_d_ReorderEventPoliciesOptions = ReorderEventPoliciesOptions;\n  const eventsV2Policy_universal_d_getEventPolicies: typeof getEventPolicies;\n  namespace eventsV2Policy_universal_d {\n    export {\n      __debug$1 as __debug,\n      eventsV2Policy_universal_d_Policy as Policy,\n      eventsV2Policy_universal_d_CreatePolicyRequest as CreatePolicyRequest,\n      eventsV2Policy_universal_d_CreatePolicyResponse as CreatePolicyResponse,\n      eventsV2Policy_universal_d_UpdatePolicyRequest as UpdatePolicyRequest,\n      eventsV2Policy_universal_d_UpdatePolicyResponse as UpdatePolicyResponse,\n      eventsV2Policy_universal_d_UpdatePolicySortIndexRequest as UpdatePolicySortIndexRequest,\n      eventsV2Policy_universal_d_UpdatePolicySortIndexResponse as UpdatePolicySortIndexResponse,\n      eventsV2Policy_universal_d_DeletePolicyRequest as DeletePolicyRequest,\n      eventsV2Policy_universal_d_DeletePolicyResponse as DeletePolicyResponse,\n      eventsV2Policy_universal_d_QueryPoliciesRequest as QueryPoliciesRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$1 as Paging,\n      CursorPaging$1 as CursorPaging,\n      eventsV2Policy_universal_d_QueryPoliciesResponse as QueryPoliciesResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      eventsV2Policy_universal_d_ReorderEventPoliciesRequest as ReorderEventPoliciesRequest,\n      eventsV2Policy_universal_d_ReorderEventPoliciesRequestReferencePolicyOneOf as ReorderEventPoliciesRequestReferencePolicyOneOf,\n      eventsV2Policy_universal_d_ReorderEventPoliciesResponse as ReorderEventPoliciesResponse,\n      eventsV2Policy_universal_d_GetEventPoliciesRequest as GetEventPoliciesRequest,\n      eventsV2Policy_universal_d_GetEventPoliciesResponse as GetEventPoliciesResponse,\n      eventsV2Policy_universal_d_EventCopied as EventCopied,\n      eventsV2Policy_universal_d_Location as Location,\n      eventsV2Policy_universal_d_MapCoordinates as MapCoordinates,\n      eventsV2Policy_universal_d_LocationType as LocationType,\n      Address$1 as Address,\n      AddressStreetOneOf$1 as AddressStreetOneOf,\n      StreetAddress$1 as StreetAddress,\n      AddressLocation$1 as AddressLocation,\n      Subdivision$1 as Subdivision,\n      SubdivisionType$1 as SubdivisionType,\n      eventsV2Policy_universal_d_ScheduleConfig as ScheduleConfig,\n      eventsV2Policy_universal_d_Recurrences as Recurrences,\n      eventsV2Policy_universal_d_Occurrence as Occurrence,\n      eventsV2Policy_universal_d_Status as Status,\n      eventsV2Policy_universal_d_EventStatus as EventStatus,\n      Empty$1 as Empty,\n      eventsV2Policy_universal_d_createPolicy as createPolicy,\n      eventsV2Policy_universal_d_updatePolicy as updatePolicy,\n      eventsV2Policy_universal_d_UpdatePolicy as UpdatePolicy,\n      eventsV2Policy_universal_d_UpdatePolicyOptions as UpdatePolicyOptions,\n      eventsV2Policy_universal_d_deletePolicy as deletePolicy,\n      eventsV2Policy_universal_d_DeletePolicyOptions as DeletePolicyOptions,\n      eventsV2Policy_universal_d_queryPolicies as queryPolicies,\n      eventsV2Policy_universal_d_reorderEventPolicies as reorderEventPolicies,\n      eventsV2Policy_universal_d_ReorderEventPoliciesOptions as ReorderEventPoliciesOptions,\n      eventsV2Policy_universal_d_getEventPolicies as getEventPolicies,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface EventGuest {\n      /** Guest id. */\n      _id?: string | null;\n      /** Event id. */\n      eventId?: string | null;\n      /** Rsvp id. Available only when Guest type is RSVP. */\n      rsvpId?: string | null;\n      /** Order number. Available only when Guest type is ORDER or TICKET. */\n      orderNumber?: string | null;\n      /** Ticket number. Available only when Guest type is ORDER or TICKET. */\n      ticketNumber?: string | null;\n      /** List of bought tickets. */\n      tickets?: string[];\n      /** CRM contact ID for the person who is a guest. */\n      contactId?: string | null;\n      /** Guest details. */\n      guestDetails?: GuestDetails;\n      /** Attendance status */\n      attendanceStatus?: AttendanceStatus;\n      /** Secondary language code. */\n      secondaryLanguageCode?: string | null;\n      /** Date and time when the guest was created. */\n      _createdDate?: Date;\n      /** Date and time when the guest was updated. */\n      _updatedDate?: Date;\n      /** The last date and time when the guest attendance status was updated. */\n      attendanceStatusUpdatedDate?: Date;\n      /** Site member id. */\n      memberId?: string | null;\n      /** Guest source. */\n      guestSource?: GuestSource;\n  }\n  interface GuestDetails {\n      /** Email. */\n      email?: string | null;\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Form response. */\n      formResponse?: FormResponse;\n      /** Indicates if guests is checked in. */\n      checkedIn?: boolean;\n  }\n  interface FormResponse {\n      /** Input values entered upon ticket order. */\n      inputValues?: InputValue[];\n  }\n  interface InputValue {\n      /** Unique input name. */\n      inputName?: string;\n      /** Text value representation. */\n      value?: string;\n      /** Text value vector. */\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress;\n  }\n  interface FormattedAddress {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: Address;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  enum AttendanceStatus {\n      /** Not attending. */\n      NOT_ATTENDING = \"NOT_ATTENDING\",\n      /** Attending. */\n      ATTENDING = \"ATTENDING\",\n      /** In a waiting list. */\n      IN_WAITLIST = \"IN_WAITLIST\"\n  }\n  enum GuestSource {\n      /** Rsvp guest. */\n      RSVP = \"RSVP\",\n      /** Order source. */\n      ORDER = \"ORDER\",\n      /** Ticket source. */\n      TICKET = \"TICKET\"\n  }\n  interface QueryEventGuestsRequest {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryEventGuestsResponse {\n      /** List of guests. */\n      guests?: EventGuest[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface SecondaryLanguagesRequest {\n      /** Guest event id. */\n      eventId?: string;\n  }\n  interface SecondaryLanguagesResponse {\n      /** Aggregated guests languages. */\n      secondaryLanguages?: string[];\n  }\n  interface RsvpCreated {\n      /** RSVP created timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when RSVP created */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse;\n      /** RSVP response status. */\n      status?: RsvpStatus;\n      /** List of all guests. */\n      guests?: Guest[];\n  }\n  enum RsvpStatus {\n      YES = \"YES\",\n      NO = \"NO\",\n      WAITING = \"WAITING\"\n  }\n  interface Guest {\n      /** Index in the RSVP guest list. */\n      index?: number;\n      /** Guest full name. */\n      fullName?: string;\n      /** Guest check-in. */\n      checkIn?: CheckIn;\n      /** Unique guest ID per RSVP. */\n      _id?: number;\n  }\n  interface CheckIn {\n      /** Time of check-in */\n      created?: Date;\n  }\n  interface Empty {\n  }\n  interface RsvpUpdated {\n      /** RSVP updated timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when RSVP created */\n      language?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** RSVP created timestamp. */\n      created?: Date;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse;\n      /** RSVP response status. */\n      status?: RsvpStatus;\n      /** List of the guests. */\n      guests?: Guest[];\n  }\n  interface RsvpDeleted {\n      /** RSVP deleted timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** Whether RSVP was anonymized by GDPR delete. */\n      anonymized?: boolean;\n  }\n  interface OrderUpdated {\n      /** Order updated timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse;\n      /** Whether order is confirmed - occurs once payment gateway processes the payment and funds reach merchant's account. */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets generated after payment. */\n      tickets?: Ticket[];\n      /** Whether order was archived and excluded from results. */\n      archived?: boolean;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n  }\n  enum OrderStatus {\n      /** Order status not available for this request fieldset */\n      NA_ORDER_STATUS = \"NA_ORDER_STATUS\",\n      /** Order is confirmed, no payment required */\n      FREE = \"FREE\",\n      /** Order was paid but payment gateway suspended the payment. Eventually changes to PAID */\n      PENDING = \"PENDING\",\n      /** Order paid via payment gateway */\n      PAID = \"PAID\",\n      /** Order confirmed but has to be paid via offline payment and status manually updated to PAID */\n      OFFLINE_PENDING = \"OFFLINE_PENDING\",\n      /** Order is awaiting for payment in Cashier */\n      INITIATED = \"INITIATED\",\n      /** Order was canceled */\n      CANCELED = \"CANCELED\",\n      /** Order payment was declined */\n      DECLINED = \"DECLINED\"\n  }\n  interface Ticket {\n      /** Unique issued ticket number. */\n      ticketNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn;\n      /** Ticket price. */\n      price?: Money;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Contact ID associated with this ticket. */\n      contactId?: string | null;\n      /** Whether ticket is confirmed */\n      confirmed?: boolean;\n      /** Member ID associated with this ticket. */\n      memberId?: string | null;\n      /** Ticket form response (only assigned tickets contain separate forms). */\n      form?: FormResponse;\n      /** Anonymized tickets no longer contain personally identifiable information (PII). */\n      anonymized?: boolean;\n  }\n  interface Money {\n      /** Decimal amount representation. Deprecated, use `value` instead. */\n      amount?: string;\n      /** ISO 4217 format of the currency i.e. `USD`. */\n      currency?: string;\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string | null;\n  }\n  interface OrderDeleted {\n      /** Order deleted timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /** Whether order was anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /** Order type. */\n      orderType?: OrderType;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n      /** Tickets generated after payment. */\n      tickets?: Ticket[];\n  }\n  enum OrderType {\n      /** Buyer form is used for all tickets */\n      UNASSIGNED_TICKETS = \"UNASSIGNED_TICKETS\",\n      /** Each order ticket has its own form */\n      ASSIGNED_TICKETS = \"ASSIGNED_TICKETS\"\n  }\n  interface Task {\n      key?: TaskKey;\n      executeAt?: Date;\n      payload?: string | null;\n  }\n  interface TaskKey {\n      appId?: string;\n      instanceId?: string;\n      subjectId?: string | null;\n  }\n  /**\n   * Query to select guests.\n   * Supports efficient filtering by `createdDate`, `eventId`, `attendanceStatus`, `secondaryLanguageCode`, `rsvpId`, `orderNumber`, `ticketNumber`, `memberId` or `guestDetails.checkedIn`\n   * @param query - WQL expression\n   * @public\n   * @requiredField query\n   */\n  function queryEventGuests(query: QueryV2): Promise<QueryEventGuestsResponse>;\n  \n  const eventsGuestsV1Guest_universal_d___debug: typeof __debug;\n  type eventsGuestsV1Guest_universal_d_EventGuest = EventGuest;\n  type eventsGuestsV1Guest_universal_d_GuestDetails = GuestDetails;\n  type eventsGuestsV1Guest_universal_d_FormResponse = FormResponse;\n  type eventsGuestsV1Guest_universal_d_InputValue = InputValue;\n  type eventsGuestsV1Guest_universal_d_FormattedAddress = FormattedAddress;\n  type eventsGuestsV1Guest_universal_d_Address = Address;\n  type eventsGuestsV1Guest_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type eventsGuestsV1Guest_universal_d_StreetAddress = StreetAddress;\n  type eventsGuestsV1Guest_universal_d_AddressLocation = AddressLocation;\n  type eventsGuestsV1Guest_universal_d_Subdivision = Subdivision;\n  type eventsGuestsV1Guest_universal_d_SubdivisionType = SubdivisionType;\n  const eventsGuestsV1Guest_universal_d_SubdivisionType: typeof SubdivisionType;\n  type eventsGuestsV1Guest_universal_d_AttendanceStatus = AttendanceStatus;\n  const eventsGuestsV1Guest_universal_d_AttendanceStatus: typeof AttendanceStatus;\n  type eventsGuestsV1Guest_universal_d_GuestSource = GuestSource;\n  const eventsGuestsV1Guest_universal_d_GuestSource: typeof GuestSource;\n  type eventsGuestsV1Guest_universal_d_QueryEventGuestsRequest = QueryEventGuestsRequest;\n  type eventsGuestsV1Guest_universal_d_QueryV2 = QueryV2;\n  type eventsGuestsV1Guest_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type eventsGuestsV1Guest_universal_d_Sorting = Sorting;\n  type eventsGuestsV1Guest_universal_d_SortOrder = SortOrder;\n  const eventsGuestsV1Guest_universal_d_SortOrder: typeof SortOrder;\n  type eventsGuestsV1Guest_universal_d_Paging = Paging;\n  type eventsGuestsV1Guest_universal_d_CursorPaging = CursorPaging;\n  type eventsGuestsV1Guest_universal_d_QueryEventGuestsResponse = QueryEventGuestsResponse;\n  type eventsGuestsV1Guest_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type eventsGuestsV1Guest_universal_d_Cursors = Cursors;\n  type eventsGuestsV1Guest_universal_d_SecondaryLanguagesRequest = SecondaryLanguagesRequest;\n  type eventsGuestsV1Guest_universal_d_SecondaryLanguagesResponse = SecondaryLanguagesResponse;\n  type eventsGuestsV1Guest_universal_d_RsvpCreated = RsvpCreated;\n  type eventsGuestsV1Guest_universal_d_RsvpStatus = RsvpStatus;\n  const eventsGuestsV1Guest_universal_d_RsvpStatus: typeof RsvpStatus;\n  type eventsGuestsV1Guest_universal_d_Guest = Guest;\n  type eventsGuestsV1Guest_universal_d_CheckIn = CheckIn;\n  type eventsGuestsV1Guest_universal_d_Empty = Empty;\n  type eventsGuestsV1Guest_universal_d_RsvpUpdated = RsvpUpdated;\n  type eventsGuestsV1Guest_universal_d_RsvpDeleted = RsvpDeleted;\n  type eventsGuestsV1Guest_universal_d_OrderUpdated = OrderUpdated;\n  type eventsGuestsV1Guest_universal_d_OrderStatus = OrderStatus;\n  const eventsGuestsV1Guest_universal_d_OrderStatus: typeof OrderStatus;\n  type eventsGuestsV1Guest_universal_d_Ticket = Ticket;\n  type eventsGuestsV1Guest_universal_d_Money = Money;\n  type eventsGuestsV1Guest_universal_d_OrderDeleted = OrderDeleted;\n  type eventsGuestsV1Guest_universal_d_OrderType = OrderType;\n  const eventsGuestsV1Guest_universal_d_OrderType: typeof OrderType;\n  type eventsGuestsV1Guest_universal_d_Task = Task;\n  type eventsGuestsV1Guest_universal_d_TaskKey = TaskKey;\n  const eventsGuestsV1Guest_universal_d_queryEventGuests: typeof queryEventGuests;\n  namespace eventsGuestsV1Guest_universal_d {\n    export {\n      eventsGuestsV1Guest_universal_d___debug as __debug,\n      eventsGuestsV1Guest_universal_d_EventGuest as EventGuest,\n      eventsGuestsV1Guest_universal_d_GuestDetails as GuestDetails,\n      eventsGuestsV1Guest_universal_d_FormResponse as FormResponse,\n      eventsGuestsV1Guest_universal_d_InputValue as InputValue,\n      eventsGuestsV1Guest_universal_d_FormattedAddress as FormattedAddress,\n      eventsGuestsV1Guest_universal_d_Address as Address,\n      eventsGuestsV1Guest_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      eventsGuestsV1Guest_universal_d_StreetAddress as StreetAddress,\n      eventsGuestsV1Guest_universal_d_AddressLocation as AddressLocation,\n      eventsGuestsV1Guest_universal_d_Subdivision as Subdivision,\n      eventsGuestsV1Guest_universal_d_SubdivisionType as SubdivisionType,\n      eventsGuestsV1Guest_universal_d_AttendanceStatus as AttendanceStatus,\n      eventsGuestsV1Guest_universal_d_GuestSource as GuestSource,\n      eventsGuestsV1Guest_universal_d_QueryEventGuestsRequest as QueryEventGuestsRequest,\n      eventsGuestsV1Guest_universal_d_QueryV2 as QueryV2,\n      eventsGuestsV1Guest_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      eventsGuestsV1Guest_universal_d_Sorting as Sorting,\n      eventsGuestsV1Guest_universal_d_SortOrder as SortOrder,\n      eventsGuestsV1Guest_universal_d_Paging as Paging,\n      eventsGuestsV1Guest_universal_d_CursorPaging as CursorPaging,\n      eventsGuestsV1Guest_universal_d_QueryEventGuestsResponse as QueryEventGuestsResponse,\n      eventsGuestsV1Guest_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      eventsGuestsV1Guest_universal_d_Cursors as Cursors,\n      eventsGuestsV1Guest_universal_d_SecondaryLanguagesRequest as SecondaryLanguagesRequest,\n      eventsGuestsV1Guest_universal_d_SecondaryLanguagesResponse as SecondaryLanguagesResponse,\n      eventsGuestsV1Guest_universal_d_RsvpCreated as RsvpCreated,\n      eventsGuestsV1Guest_universal_d_RsvpStatus as RsvpStatus,\n      eventsGuestsV1Guest_universal_d_Guest as Guest,\n      eventsGuestsV1Guest_universal_d_CheckIn as CheckIn,\n      eventsGuestsV1Guest_universal_d_Empty as Empty,\n      eventsGuestsV1Guest_universal_d_RsvpUpdated as RsvpUpdated,\n      eventsGuestsV1Guest_universal_d_RsvpDeleted as RsvpDeleted,\n      eventsGuestsV1Guest_universal_d_OrderUpdated as OrderUpdated,\n      eventsGuestsV1Guest_universal_d_OrderStatus as OrderStatus,\n      eventsGuestsV1Guest_universal_d_Ticket as Ticket,\n      eventsGuestsV1Guest_universal_d_Money as Money,\n      eventsGuestsV1Guest_universal_d_OrderDeleted as OrderDeleted,\n      eventsGuestsV1Guest_universal_d_OrderType as OrderType,\n      eventsGuestsV1Guest_universal_d_Task as Task,\n      eventsGuestsV1Guest_universal_d_TaskKey as TaskKey,\n      eventsGuestsV1Guest_universal_d_queryEventGuests as queryEventGuests,\n    };\n  }\n  \n  export { eventsGuestsV1Guest_universal_d as guests, eventsV2Policy_universal_d as policy };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-inbox-conversations.backend.v1.d.ts",
      "content": "declare module \"wix-inbox-conversations.backend.v1\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Conversation {\n      /**\n       * Conversation ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * ID of the visitor, contact, or member who is chatting with the business.\n       * @readonly\n       */\n      participant?: IdentificationData;\n      /**\n       * List of communication channels where the visitor, contact, or member can receive messages.\n       * @readonly\n       */\n      channels?: ChannelType[];\n      /** Display name and avatar for the business. */\n      businessDisplayData?: ConversationDisplayData;\n      /** Display name and avatar for the visitor, contact, or member. */\n      participantDisplayData?: ConversationDisplayData;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /**\n       * ID of a site\n       * [contact](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n       * @readonly\n       */\n      contactId?: string | null;\n      /** ID of an anonymous site visitor. */\n      anonymousVisitorId?: string;\n      /**\n       * ID of a site\n       * [member](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/members).\n       */\n      memberId?: string;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of an anonymous site visitor. */\n      anonymousVisitorId?: string;\n      /**\n       * ID of a site\n       * [member](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/members).\n       */\n      memberId?: string;\n  }\n  enum ChannelType {\n      UNKNOWN_CHANNEL_TYPE = \"UNKNOWN_CHANNEL_TYPE\",\n      CHAT = \"CHAT\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\",\n      FACEBOOK = \"FACEBOOK\",\n      INSTAGRAM = \"INSTAGRAM\",\n      WHATSAPP = \"WHATSAPP\"\n  }\n  interface ConversationDisplayData {\n      /**\n       * Display name.\n       * @readonly\n       */\n      name?: string;\n      /**\n       * Avatar image URL.\n       * @readonly\n       */\n      imageUrl?: string | null;\n  }\n  interface ConversationsMerged {\n      /** List of old conversation IDs. */\n      oldConversationIds?: string[];\n      /** New conversation ID. */\n      targetConversationId?: string;\n  }\n  interface GetConversationRequest {\n      /** Conversation ID. */\n      conversationId: string;\n  }\n  interface GetConversationResponse {\n      /** Retrieved conversation. */\n      conversation?: Conversation;\n  }\n  interface GetOrCreateConversationRequest {\n      /**\n       * ID of the visitor, contact, or member chatting with the business.\n       *\n       * Required for 3rd-party apps.\n       */\n      participantId?: ParticipantId;\n  }\n  interface ParticipantId extends ParticipantIdIdOneOf {\n      /**\n       * ID of a site\n       * [contact](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n       */\n      contactId?: string;\n      /** ID of an anonymous site visitor. */\n      anonymousVisitorId?: string;\n      /**\n       * ID of a site\n       * [member](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/members).\n       */\n      memberId?: string;\n  }\n  /** @oneof */\n  interface ParticipantIdIdOneOf {\n      /**\n       * ID of a site\n       * [contact](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n       */\n      contactId?: string;\n      /** ID of an anonymous site visitor. */\n      anonymousVisitorId?: string;\n      /**\n       * ID of a site\n       * [member](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/members).\n       */\n      memberId?: string;\n  }\n  interface GetOrCreateConversationResponse {\n      /** Created or retrieved conversation. */\n      conversation?: Conversation;\n      /**\n       * Indicates whether the conversation was just created.\n       *\n       * If `true`, the conversation was just created.\n       * If `false`, the conversation already existed.\n       */\n      newConversation?: boolean;\n  }\n  interface ListConversationsRequest {\n      paging?: CursorPaging;\n      /** only message time is supported for field name */\n      sorting?: Sorting;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface ListConversationsResponse {\n      conversations?: Conversation[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DeleteConversationRequest {\n      conversationId: string;\n  }\n  interface DeleteConversationResponse {\n  }\n  interface AddConversationChannelsRequest {\n      conversationId: string;\n      conversationChannels?: ConversationChannel[];\n  }\n  interface ConversationChannel {\n      channel?: ChannelType;\n      /** TODO rename? - Shalom */\n      recipients?: string[];\n  }\n  interface AddConversationChannelsResponse {\n  }\n  interface ChatroomsMerged {\n      /** old chatroom ids */\n      oldChatroomIds?: string[];\n      /** new chatroom id */\n      targetChatroomId?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Retrieves a conversation by conversation ID.\n   *\n   * If you don't have the conversation ID,\n   * use [Get Or Create Conversation](#get-or-create-conversation)\n   * to retrieve the conversation with the visitor, contact, or member ID.\n   * @param conversationId - Conversation ID.\n   * @public\n   * @requiredField conversationId\n   */\n  function getConversation(conversationId: string): Promise<GetConversationResponse>;\n  /**\n   * Retrieves a conversation for the specified visitor, contact, or member ID,\n   * or creates one if it doesn't exist.\n   * @public */\n  function getOrCreateConversation(options?: GetOrCreateConversationOptions): Promise<GetOrCreateConversationResponse>;\n  interface GetOrCreateConversationOptions {\n      /**\n       * ID of the visitor, contact, or member chatting with the business.\n       *\n       * Required for 3rd-party apps.\n       */\n      participantId?: ParticipantId;\n  }\n  function listConversations(options?: ListConversationsOptions): Promise<ListConversationsResponse>;\n  interface ListConversationsOptions {\n      paging?: CursorPaging;\n      /** only message time is supported for field name */\n      sorting?: Sorting;\n  }\n  /** @requiredField conversationId */\n  function deleteConversation(conversationId: string): Promise<void>;\n  /** @requiredField conversationId */\n  function addConversationChannels(conversationId: string, options?: AddConversationChannelsOptions): Promise<void>;\n  interface AddConversationChannelsOptions {\n      conversationChannels?: ConversationChannel[];\n  }\n  \n  const crmInboxV2Conversation_universal_d___debug: typeof __debug;\n  type crmInboxV2Conversation_universal_d_Conversation = Conversation;\n  type crmInboxV2Conversation_universal_d_IdentificationData = IdentificationData;\n  type crmInboxV2Conversation_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type crmInboxV2Conversation_universal_d_ChannelType = ChannelType;\n  const crmInboxV2Conversation_universal_d_ChannelType: typeof ChannelType;\n  type crmInboxV2Conversation_universal_d_ConversationDisplayData = ConversationDisplayData;\n  type crmInboxV2Conversation_universal_d_ConversationsMerged = ConversationsMerged;\n  type crmInboxV2Conversation_universal_d_GetConversationRequest = GetConversationRequest;\n  type crmInboxV2Conversation_universal_d_GetConversationResponse = GetConversationResponse;\n  type crmInboxV2Conversation_universal_d_GetOrCreateConversationRequest = GetOrCreateConversationRequest;\n  type crmInboxV2Conversation_universal_d_ParticipantId = ParticipantId;\n  type crmInboxV2Conversation_universal_d_ParticipantIdIdOneOf = ParticipantIdIdOneOf;\n  type crmInboxV2Conversation_universal_d_GetOrCreateConversationResponse = GetOrCreateConversationResponse;\n  type crmInboxV2Conversation_universal_d_ListConversationsRequest = ListConversationsRequest;\n  type crmInboxV2Conversation_universal_d_CursorPaging = CursorPaging;\n  type crmInboxV2Conversation_universal_d_Sorting = Sorting;\n  type crmInboxV2Conversation_universal_d_SortOrder = SortOrder;\n  const crmInboxV2Conversation_universal_d_SortOrder: typeof SortOrder;\n  type crmInboxV2Conversation_universal_d_ListConversationsResponse = ListConversationsResponse;\n  type crmInboxV2Conversation_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type crmInboxV2Conversation_universal_d_Cursors = Cursors;\n  type crmInboxV2Conversation_universal_d_DeleteConversationRequest = DeleteConversationRequest;\n  type crmInboxV2Conversation_universal_d_DeleteConversationResponse = DeleteConversationResponse;\n  type crmInboxV2Conversation_universal_d_AddConversationChannelsRequest = AddConversationChannelsRequest;\n  type crmInboxV2Conversation_universal_d_ConversationChannel = ConversationChannel;\n  type crmInboxV2Conversation_universal_d_AddConversationChannelsResponse = AddConversationChannelsResponse;\n  type crmInboxV2Conversation_universal_d_ChatroomsMerged = ChatroomsMerged;\n  type crmInboxV2Conversation_universal_d_Empty = Empty;\n  const crmInboxV2Conversation_universal_d_getConversation: typeof getConversation;\n  const crmInboxV2Conversation_universal_d_getOrCreateConversation: typeof getOrCreateConversation;\n  type crmInboxV2Conversation_universal_d_GetOrCreateConversationOptions = GetOrCreateConversationOptions;\n  const crmInboxV2Conversation_universal_d_listConversations: typeof listConversations;\n  type crmInboxV2Conversation_universal_d_ListConversationsOptions = ListConversationsOptions;\n  const crmInboxV2Conversation_universal_d_deleteConversation: typeof deleteConversation;\n  const crmInboxV2Conversation_universal_d_addConversationChannels: typeof addConversationChannels;\n  type crmInboxV2Conversation_universal_d_AddConversationChannelsOptions = AddConversationChannelsOptions;\n  namespace crmInboxV2Conversation_universal_d {\n    export {\n      crmInboxV2Conversation_universal_d___debug as __debug,\n      crmInboxV2Conversation_universal_d_Conversation as Conversation,\n      crmInboxV2Conversation_universal_d_IdentificationData as IdentificationData,\n      crmInboxV2Conversation_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      crmInboxV2Conversation_universal_d_ChannelType as ChannelType,\n      crmInboxV2Conversation_universal_d_ConversationDisplayData as ConversationDisplayData,\n      crmInboxV2Conversation_universal_d_ConversationsMerged as ConversationsMerged,\n      crmInboxV2Conversation_universal_d_GetConversationRequest as GetConversationRequest,\n      crmInboxV2Conversation_universal_d_GetConversationResponse as GetConversationResponse,\n      crmInboxV2Conversation_universal_d_GetOrCreateConversationRequest as GetOrCreateConversationRequest,\n      crmInboxV2Conversation_universal_d_ParticipantId as ParticipantId,\n      crmInboxV2Conversation_universal_d_ParticipantIdIdOneOf as ParticipantIdIdOneOf,\n      crmInboxV2Conversation_universal_d_GetOrCreateConversationResponse as GetOrCreateConversationResponse,\n      crmInboxV2Conversation_universal_d_ListConversationsRequest as ListConversationsRequest,\n      crmInboxV2Conversation_universal_d_CursorPaging as CursorPaging,\n      crmInboxV2Conversation_universal_d_Sorting as Sorting,\n      crmInboxV2Conversation_universal_d_SortOrder as SortOrder,\n      crmInboxV2Conversation_universal_d_ListConversationsResponse as ListConversationsResponse,\n      crmInboxV2Conversation_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      crmInboxV2Conversation_universal_d_Cursors as Cursors,\n      crmInboxV2Conversation_universal_d_DeleteConversationRequest as DeleteConversationRequest,\n      crmInboxV2Conversation_universal_d_DeleteConversationResponse as DeleteConversationResponse,\n      crmInboxV2Conversation_universal_d_AddConversationChannelsRequest as AddConversationChannelsRequest,\n      crmInboxV2Conversation_universal_d_ConversationChannel as ConversationChannel,\n      crmInboxV2Conversation_universal_d_AddConversationChannelsResponse as AddConversationChannelsResponse,\n      crmInboxV2Conversation_universal_d_ChatroomsMerged as ChatroomsMerged,\n      crmInboxV2Conversation_universal_d_Empty as Empty,\n      crmInboxV2Conversation_universal_d_getConversation as getConversation,\n      crmInboxV2Conversation_universal_d_getOrCreateConversation as getOrCreateConversation,\n      crmInboxV2Conversation_universal_d_GetOrCreateConversationOptions as GetOrCreateConversationOptions,\n      crmInboxV2Conversation_universal_d_listConversations as listConversations,\n      crmInboxV2Conversation_universal_d_ListConversationsOptions as ListConversationsOptions,\n      crmInboxV2Conversation_universal_d_deleteConversation as deleteConversation,\n      crmInboxV2Conversation_universal_d_addConversationChannels as addConversationChannels,\n      crmInboxV2Conversation_universal_d_AddConversationChannelsOptions as AddConversationChannelsOptions,\n    };\n  }\n  \n  export { crmInboxV2Conversation_universal_d as inboxConversations };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-ratings-backend.d.ts",
      "content": "declare module \"wix-ratings-backend\" {\n  /**\n   * A Rating object includes all of the details related to the rating of an entity or its attributes.\n   * An entity is a resource to be rated, for example, a Wix Stores product.\n   * You can manage existing ratings, create new ratings, and retrieve rating data.\n   * Read more about ratings in this [tutorial](https://support.wix.com/en/article/velo-tutorial-capturing-and-displaying-ratings).\n   */\n  interface Rating {\n      /**\n       * Rating ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the rating is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the rating.\n       * Ignored when creating a rating.\n       * @readonly\n       */\n      revision?: string | null;\n      /** The Wix module or app that the Ratings API is integrated with. For example, Wix Reviews as `reviews`. */\n      namespace?: string | null;\n      /** A group of entities in a namespace. A namespace can have one or more groups. For example, `blog` and `forum` groups in the `comments` namespace. */\n      group?: string;\n      /** ID of the entity being rated. For example, a Wix Stores product. */\n      entityId?: string;\n      /** Characteristic of an entity that can be rated individually. For example, `value for money`. */\n      attributeName?: string;\n      /**\n       * Rating score.\n       *\n       * Min = `0` <br />\n       * Max = `100`\n       */\n      value?: number | null;\n      /** Rating owner. */\n      owner?: IdentificationData;\n      /**\n       * Date and time the rating was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the rating was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Entities related to the entity being rated.\n       * [Query Ratings](https://dev.wix.com/api/rest/ratings/query-ratings) can filter by this parameter.\n       */\n      relatedEntityIds?: string[] | null;\n      /**\n       * @internal\n       * @deprecated\n       * @replacedBy attribute_name\n       */\n      attributeId?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n  }\n  interface GroupAttributeSummaryUpdated {\n      /** The Wix module or app that the Ratings API is integrated with. For example, Wix Reviews as `reviews`. */\n      namespace?: string;\n      /** A group of entities in a namespace. A namespace can have one or more groups. For example, `blog` and `forum` groups in the `comments` namespace. */\n      group?: string;\n      /** Rating summary of the attributes. */\n      attributeSummary?: AttributeSummary;\n  }\n  interface AttributeSummary {\n      /** Attribute name. An attribute is a feature of an entity that can be rated individually. */\n      attributeName?: string | null;\n      /** Total number of ratings. */\n      total?: number;\n      /** Average rating score for the attribute. */\n      average?: number;\n      /** Details of the rating scores. This includes every rating `value` given for the attribute and the `total` number of ratings with the `value`. */\n      valueBreakdown?: ValueBreakdown[];\n      /**\n       * ID of the attribute.\n       * @internal\n       * @deprecated ID of the attribute.\n       * @replacedBy attribute_name\n       */\n      attributeId?: string | null;\n  }\n  interface ValueBreakdown {\n      /** Rating score. */\n      value?: number;\n      /** Total number of ratings scored with the `value`. */\n      total?: number;\n  }\n  interface EntityAttributeSummaryUpdated {\n      /** The Wix module or app that the Ratings API is integrated with. For example, Wix Reviews as `reviews`. */\n      namespace?: string;\n      /** A group of entities in a namespace. A namespace can have one or more groups. For example, `blog` and `forum` groups in the `comments` namespace. */\n      group?: string;\n      /** ID of the entity. */\n      entityId?: string;\n      /** Rating summary of the attributes. */\n      attributeSummary?: AttributeSummary;\n  }\n  interface CreateRatingRequest {\n      /** Rating to create. */\n      rating: Rating;\n  }\n  interface CreateRatingResponse {\n      /** Created rating. */\n      rating?: Rating;\n  }\n  interface GetRatingRequest {\n      /** ID of the rating to retrieve. */\n      _id: string;\n      /**\n       * Namespace of ratings to retrieve.\n       * @internal\n       * @deprecated Namespace of ratings to retrieve.\n       * @targetRemovalDate 2024-02-15\n       */\n      namespace?: string | null;\n  }\n  interface GetRatingResponse {\n      /** Retrieved rating. */\n      rating?: Rating;\n  }\n  interface UpdateRatingRequest {\n      /** Rating to update. */\n      rating: Rating;\n      /**\n       * Fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateRatingResponse {\n      /** Updated rating. */\n      rating?: Rating;\n  }\n  interface DeleteRatingRequest {\n      /** ID of the rating to delete. */\n      _id: string;\n  }\n  interface DeleteRatingResponse {\n  }\n  interface GetGroupSummaryRequest {\n      /** Name of group to calculate the rating summaries for. */\n      group: string;\n      /** List of attributes for the summaries. */\n      attributeNames?: string[];\n      /** Namespace for the summaries. */\n      namespace?: string | null;\n      /**\n       * List of attributes to calculate the summaries for.\n       * @internal\n       * @deprecated List of attributes to calculate the summaries for.\n       * @replacedBy attribute_ids\n       */\n      attributeIds?: string[];\n  }\n  interface GetGroupSummaryResponse {\n      /** Group name. */\n      group?: string;\n      /** List of attribute summaries. */\n      attributeSummaries?: AttributeSummary[];\n  }\n  interface GetEntitySummaryRequest {\n      /** Name of group to calculate the summaries for. */\n      group: string;\n      /** Entity ID. */\n      entityId: string;\n      /** List of attributes for the summaries. */\n      attributeNames?: string[];\n      /** Namespace for the summaries. */\n      namespace?: string | null;\n      /**\n       * List of attributes to calculate the summaries for.\n       * @internal\n       * @deprecated List of attributes to calculate the summaries for.\n       * @replacedBy attribute_names\n       */\n      attributeIds?: string[];\n  }\n  interface GetEntitySummaryResponse {\n      /** Group name. */\n      group?: string;\n      /** Entity ID. */\n      entityId?: string;\n      /** List of attribute summaries. */\n      attributeSummaries?: AttributeSummary[];\n  }\n  interface ListAttributeAveragesByEntityRequest {\n      /** Name of group to calculate rating averages for. */\n      group: string;\n      /** Entity IDs to calculate rating averages for. */\n      entityIds?: string[];\n      /** Attribute to calculate rating averages for. */\n      attributeName: string | null;\n      /** Namespace to calculate rating averages for. */\n      namespace?: string | null;\n      /**\n       * @internal\n       * @deprecated\n       * @replacedBy attribute_names\n       */\n      attributeId?: string | null;\n  }\n  interface ListAttributeAveragesByEntityResponse {\n      /** Group name. */\n      group?: string;\n      /** Entity averages. */\n      entityAverages?: EntityAverage[];\n  }\n  interface EntityAverage {\n      /** Entity ID. */\n      entityId?: string;\n      /** Total number of ratings for the entity. */\n      total?: number;\n      /** Average rating for the attributes of the entity. */\n      average?: number;\n  }\n  interface QueryRatingsRequest {\n      /** Rating query. */\n      query?: QueryV2;\n  }\n  interface QueryV2 {\n      /**\n       * Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       * For a detailed list of supported filters, see [Ratings: Supported Filters and Sorting](https://dev.wix.com/api/rest/ratings/sort-and-filter),\n       */\n      filter?: Record<string, any> | null;\n      /** Sorting options. See [Ratings: Supported Filters and Sorting](https://dev.wix.com/api/rest/ratings/sort-and-filter) for more information, */\n      sort?: Sorting[];\n      /** Cursor paging options. */\n      cursorPaging?: CursorPaging;\n  }\n  /** Sort options. */\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       *\n       * Default: `ASC`.\n       */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /**\n       * The number of items to load.\n       * Cursor token returned in the query response. To be used on the next query request, but not the first query request.\n       *\n       * Max: `100` <br />\n       * Default: `50`\n       */\n      limit?: number | null;\n      /** Cursor returned in last query response. Should not be provided on first page request. */\n      cursor?: string | null;\n  }\n  interface QueryRatingsResponse {\n      /** List of returned ratings. */\n      ratings?: Rating[];\n      /** Paging metadata. */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData extends WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new rating.\n   *\n   *\n   * The request body must include `group`, `entityId`, and rating `value`.\n   * @param rating - Rating to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField rating\n   * @requiredField rating.entityId\n   * @requiredField rating.group\n   * @requiredField rating.value\n   * @permissionId RATING.RATING_CREATE\n   * @adminMethod\n   * @returns Created rating.\n   */\n  function createRating(rating: Rating): Promise<Rating>;\n  /**\n   * Retrieves a rating by ID.\n   * @param _id - ID of the rating to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId RATING.RATING_READ\n   * @returns Retrieved rating.\n   */\n  function getRating(_id: string, options?: GetRatingOptions): Promise<Rating>;\n  interface GetRatingOptions {\n      /**\n       * Namespace of ratings to retrieve.\n       * @internal\n       * @deprecated Namespace of ratings to retrieve.\n       * @targetRemovalDate 2024-02-15\n       */\n      namespace?: string | null;\n  }\n  /**\n   * Updates a rating or list of related entities.\n   *\n   *\n   * Each time the rating is updated, `revision` increments by 1. The existing `revision` must be included\n   * when updating the rating. This ensures you're working with the latest rating information, and it prevents unintended overwrites.\n   * @param _id - Rating ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField rating\n   * @requiredField rating.revision\n   * @permissionId RATING.RATING_UPDATE\n   * @adminMethod\n   * @returns Updated rating.\n   */\n  function updateRating(_id: string | null, rating: UpdateRating, options?: UpdateRatingOptions): Promise<Rating>;\n  interface UpdateRating {\n      /**\n       * Rating ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the rating is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the rating.\n       * Ignored when creating a rating.\n       * @readonly\n       */\n      revision?: string | null;\n      /** The Wix module or app that the Ratings API is integrated with. For example, Wix Reviews as `reviews`. */\n      namespace?: string | null;\n      /** A group of entities in a namespace. A namespace can have one or more groups. For example, `blog` and `forum` groups in the `comments` namespace. */\n      group?: string;\n      /** ID of the entity being rated. For example, a Wix Stores product. */\n      entityId?: string;\n      /** Characteristic of an entity that can be rated individually. For example, `value for money`. */\n      attributeName?: string;\n      /**\n       * Rating score.\n       *\n       * Min = `0` <br />\n       * Max = `100`\n       */\n      value?: number | null;\n      /** Rating owner. */\n      owner?: IdentificationData;\n      /**\n       * Date and time the rating was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the rating was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Entities related to the entity being rated.\n       * [Query Ratings](https://dev.wix.com/api/rest/ratings/query-ratings) can filter by this parameter.\n       */\n      relatedEntityIds?: string[] | null;\n      /**\n       * @internal\n       * @deprecated\n       * @replacedBy attribute_name\n       */\n      attributeId?: string;\n  }\n  interface UpdateRatingOptions {\n      /**\n       * Fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a rating by ID.\n   * @param _id - ID of the rating to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId RATING.RATING_DELETE\n   * @adminMethod\n   */\n  function deleteRating(_id: string): Promise<void>;\n  /**\n   * Retrieves a rating summary for a group.\n   * @param group - Name of group to calculate the rating summaries for.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField group\n   * @permissionId RATING.RATING_GET_NAMESPACE_SUMMARY\n   */\n  function getGroupSummary(group: string, options?: GetGroupSummaryOptions): Promise<GetGroupSummaryResponse>;\n  interface GetGroupSummaryOptions {\n      /** List of attributes for the summaries. */\n      attributeNames?: string[];\n      /** Namespace for the summaries. */\n      namespace?: string | null;\n      /**\n       * List of attributes to calculate the summaries for.\n       * @internal\n       * @deprecated List of attributes to calculate the summaries for.\n       * @replacedBy attribute_ids\n       */\n      attributeIds?: string[];\n  }\n  /**\n   * Retrieves a rating summary for the requested entity.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.entityId\n   * @requiredField identifiers.group\n   * @permissionId RATING.RATING_GET_ENTITY_SUMMARY\n   */\n  function getEntitySummary(identifiers: GetEntitySummaryIdentifiers, options?: GetEntitySummaryOptions): Promise<GetEntitySummaryResponse>;\n  interface GetEntitySummaryIdentifiers {\n      /** Name of group to calculate the summaries for. */\n      group: string;\n      /** Entity ID. */\n      entityId: string;\n  }\n  interface GetEntitySummaryOptions {\n      /** List of attributes for the summaries. */\n      attributeNames?: string[];\n      /** Namespace for the summaries. */\n      namespace?: string | null;\n      /**\n       * List of attributes to calculate the summaries for.\n       * @internal\n       * @deprecated List of attributes to calculate the summaries for.\n       * @replacedBy attribute_names\n       */\n      attributeIds?: string[];\n  }\n  /**\n   * Retrieves average attribute ratings for entities in a group.\n   * @param group - Name of group to calculate rating averages for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField group\n   * @requiredField options.attributeName\n   * @permissionId RATING.RATING_READ\n   */\n  function listAttributeAveragesByEntity(group: string, options?: ListAttributeAveragesByEntityOptions): Promise<ListAttributeAveragesByEntityResponse>;\n  interface ListAttributeAveragesByEntityOptions {\n      /** Entity IDs to calculate rating averages for. */\n      entityIds?: string[];\n      /** Attribute to calculate rating averages for. */\n      attributeName: string | null;\n      /** Namespace to calculate rating averages for. */\n      namespace?: string | null;\n      /**\n       * @internal\n       * @deprecated\n       * @replacedBy attribute_names\n       */\n      attributeId?: string | null;\n  }\n  /**\n   * Retrieves a list of ratings, given the provided paging, filtering, and sorting.\n   * 100 ratings can be returned per request.\n   *\n   * Query Ratings runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `ASC` order\n   * - `paging.limit` is `100`\n   *\n   * For field support for filters and sorting, see\n   * [Ratings: Supported Filters and Sorting](https://dev.wix.com/api/rest/ratings/sort-and-filter).\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId RATING.RATING_READ\n   */\n  function queryRatings(): RatingsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface RatingsQueryResult extends QueryCursorResult {\n      items: Rating[];\n      query: RatingsQueryBuilder;\n      next: () => Promise<RatingsQueryResult>;\n      prev: () => Promise<RatingsQueryResult>;\n  }\n  interface RatingsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'revision' | 'namespace' | 'group' | 'entityId' | 'attributeName' | 'value' | 'owner' | 'owner.anonymousVisitorId' | 'owner.memberId' | 'owner.contactId' | '_createdDate' | '_updatedDate' | 'relatedEntityIds', value: any) => RatingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'revision' | 'namespace' | 'group' | 'entityId' | 'attributeName' | 'value' | 'owner' | 'owner.anonymousVisitorId' | 'owner.memberId' | 'owner.contactId' | '_createdDate' | '_updatedDate' | 'relatedEntityIds', value: any) => RatingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'revision' | 'value' | '_createdDate' | '_updatedDate', value: any) => RatingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'revision' | 'value' | '_createdDate' | '_updatedDate', value: any) => RatingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'revision' | 'value' | '_createdDate' | '_updatedDate', value: any) => RatingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'revision' | 'value' | '_createdDate' | '_updatedDate', value: any) => RatingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'namespace' | 'group' | 'entityId' | 'attributeName' | 'owner.anonymousVisitorId' | 'owner.memberId' | 'owner.contactId', value: string) => RatingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'revision' | 'namespace' | 'group' | 'entityId' | 'attributeName' | 'value' | 'owner' | 'owner.anonymousVisitorId' | 'owner.memberId' | 'owner.contactId' | '_createdDate' | '_updatedDate' | 'relatedEntityIds', value: any[]) => RatingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasAll: (propertyName: 'relatedEntityIds', value: any[]) => RatingsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'revision' | 'namespace' | 'group' | 'entityId' | 'attributeName' | 'value' | 'owner' | 'owner.anonymousVisitorId' | 'owner.memberId' | 'owner.contactId' | '_createdDate' | '_updatedDate' | 'relatedEntityIds', value: any) => RatingsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'revision' | 'namespace' | 'group' | 'entityId' | 'attributeName' | 'value' | 'owner' | 'owner.anonymousVisitorId' | 'owner.memberId' | 'owner.contactId' | '_createdDate' | '_updatedDate' | 'relatedEntityIds', value: boolean) => RatingsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'revision' | 'namespace' | 'group' | 'entityId' | 'attributeName' | 'value' | 'owner' | 'owner.anonymousVisitorId' | 'owner.memberId' | 'owner.contactId' | '_createdDate' | '_updatedDate' | 'relatedEntityIds' | 'attributeId'>) => RatingsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'revision' | 'namespace' | 'group' | 'entityId' | 'attributeName' | 'value' | 'owner' | 'owner.anonymousVisitorId' | 'owner.memberId' | 'owner.contactId' | '_createdDate' | '_updatedDate' | 'relatedEntityIds' | 'attributeId'>) => RatingsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => RatingsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => RatingsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<RatingsQueryResult>;\n  }\n  \n  export { ActionEvent, AttributeSummary, CreateRatingRequest, CreateRatingResponse, CursorPaging, Cursors, DeleteRatingRequest, DeleteRatingResponse, DomainEvent, DomainEventBodyOneOf, Empty, EntityAttributeSummaryUpdated, EntityAverage, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, GetEntitySummaryIdentifiers, GetEntitySummaryOptions, GetEntitySummaryRequest, GetEntitySummaryResponse, GetGroupSummaryOptions, GetGroupSummaryRequest, GetGroupSummaryResponse, GetRatingOptions, GetRatingRequest, GetRatingResponse, GroupAttributeSummaryUpdated, IdentificationData, IdentificationDataIdOneOf, ListAttributeAveragesByEntityOptions, ListAttributeAveragesByEntityRequest, ListAttributeAveragesByEntityResponse, MessageEnvelope, PagingMetadataV2, QueryRatingsRequest, QueryRatingsResponse, QueryV2, Rating, RatingsQueryBuilder, RatingsQueryResult, RestoreInfo, SortOrder, Sorting, UpdateRating, UpdateRatingOptions, UpdateRatingRequest, UpdateRatingResponse, ValueBreakdown, WebhookIdentityType, WebhooksIdentificationData, WebhooksIdentificationDataIdOneOf, createRating, deleteRating, getEntitySummary, getGroupSummary, getRating, listAttributeAveragesByEntity, queryRatings, updateRating };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-related-items-provider.d.ts",
      "content": "declare module \"interfaces-ecom-v1-related-items-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface RecommendationsProviderEntity {\n  }\n  /** additional information can be passed via aspects, for example GEO */\n  interface GetRecommendationsRequest {\n      /** items for which related items will be found */\n      items?: CatalogReference[];\n      /** List of algorithms to find recommended items. Related items will be returned separately for each algorithm */\n      algorithmIds?: string[];\n  }\n  /** Used for grouping line items and is sent on add to cart */\n  interface CatalogReference {\n      /** ID of the item within its Wix or 3rd-party catalog. For example, `productId` for Wix Stores or `eventId` for Wix Events. */\n      catalogItemId?: string;\n      /** ID of the catalog app. For example, the Wix Stores `appId`, or the 3rd-party `appId`. */\n      appId?: string;\n      /** Additional info in key:value form. For example, `{\"options\":{\"Size\": \"M\", \"Color\": \"Red\"}}` or `{\"variantId\": \"<VARIANT_ID>\"}`. */\n      options?: Record<string, any> | null;\n  }\n  interface GetRecommendationsResponse {\n      /** Related items for each algorithm */\n      recommendationPerAlgorithm?: RecommendationForAlgorithm[];\n  }\n  interface RecommendationForAlgorithm {\n      /** algorithm which was used to find recommendation */\n      algorithmId?: string;\n      /** recommended items according to algorithm and items in request (when provided) */\n      recommendedItems?: CatalogReference[];\n  }\n  interface RecommendationAlgorithmNotSupported {\n      /** Not supported algorithms. */\n      unsupportedAlgorithms?: string[];\n  }\n  interface ItemAppIdNotSupportedError {\n      /** Items with not supported catalogs. */\n      items?: CatalogReference[];\n  }\n  interface RecommendationsProviderConfig {\n      /** app ids of catalogs for which recommended items can be found */\n      catalogAppIds?: string[];\n      /** supported algorithms */\n      supportedAlgorithms?: AlgorithmConfig[];\n  }\n  interface AlgorithmConfig {\n      /** Algorithm id which will be sent in requests. It must be unique per provider. */\n      _id?: string;\n      /** Name which will be shown to user in list of algorithms available for site. For example \"Best sellers\", \"Frequently watched together\". This value is not translatable. */\n      name?: string;\n      /** Description of algorithm which will be shown to user in list of algorithms available for site. This value is not translatable. It should describe how algorithm works, if it has any limitations regarding site content, number of items, site traffic and so on. */\n      description?: string;\n      /** This field can be used when `description ` field is not enough to describe algorithm and you want to have separate section with additional info. It can be used to not overload user with too much information on main page. Depending on frontend implementation it can be displayed as tooltip or as additional section which is collapsed by default. */\n      additionalInfo?: string | null;\n      /**\n       * `RELATED_ITEMS` - algorithm provides recommendations based on some other items interested for user/user of user. For example once one item added to cart algorithm can suggest other items frequently bought together with given one.\n       * `GLOBAL` - algorithm provides generic recommendations for given site. For example, best sellers items or new arrivals\n       */\n      algorithmType?: AlgorithmType;\n  }\n  enum AlgorithmType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      RELATED_ITEMS = \"RELATED_ITEMS\",\n      GLOBAL = \"GLOBAL\"\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** @readonly */\n      identityType?: IdentityType;\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetRecommendationsOptions {\n      /** items for which related items will be found */\n      items?: CatalogReference[];\n      /** List of algorithms to find recommended items. Related items will be returned separately for each algorithm */\n      algorithmIds?: string[];\n  }\n  \n  function algorithmNotSupportedError(data: RecommendationAlgorithmNotSupported): BusinessError<RecommendationAlgorithmNotSupported>;\n  function itemAppIdNotSupportedError(data: ItemAppIdNotSupportedError): BusinessError<ItemAppIdNotSupportedError>;\n  \n  const getRecommendationsSpiErrors_d_algorithmNotSupportedError: typeof algorithmNotSupportedError;\n  const getRecommendationsSpiErrors_d_itemAppIdNotSupportedError: typeof itemAppIdNotSupportedError;\n  namespace getRecommendationsSpiErrors_d {\n    export {\n      getRecommendationsSpiErrors_d_algorithmNotSupportedError as algorithmNotSupportedError,\n      getRecommendationsSpiErrors_d_itemAppIdNotSupportedError as itemAppIdNotSupportedError,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      getRecommendationsSpiErrors_d as getRecommendations,\n    };\n  }\n  \n  export { AlgorithmConfig, AlgorithmType, CatalogReference, Context, GetRecommendationsOptions, GetRecommendationsRequest, GetRecommendationsResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, ItemAppIdNotSupportedError, RecommendationAlgorithmNotSupported, RecommendationForAlgorithm, RecommendationsProviderConfig, RecommendationsProviderEntity, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-groups-backend.v2.d.ts",
      "content": "declare module \"wix-groups-backend.v2\" {\n  const __debug$6: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * Guidelines ensuring that members post responsibly and respectfully. Site owners can set up Group Rules in the Business Manager.\n   * >**Note:** Only admins can update the group rules.\n   */\n  interface GroupRules {\n      /** Group rules. */\n      rules?: GroupRule[];\n  }\n  interface GroupRule {\n      /** Rule title. */\n      title?: string;\n      /** Rule description. */\n      description?: string;\n  }\n  interface ListRulesRequest {\n      /** Group ID. */\n      groupId: string;\n  }\n  interface ListRulesResponse {\n      /** Retrieved rules. */\n      rules?: GroupRule[];\n  }\n  interface CreateOrReplaceAllRulesRequest {\n      /** Group ID. */\n      groupId: string;\n      /** New rules. */\n      rules?: GroupRule[];\n  }\n  interface CreateOrReplaceAllRulesResponse {\n      /** Group ID. */\n      groupId?: string;\n      /** Rules. */\n      rules?: GroupRule[];\n  }\n  interface Empty {\n  }\n  interface ListTemplatesResponse {\n      /** Retrieved rule templates. */\n      rules?: GroupRule[];\n  }\n  /**\n   * Retrieves rules.\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function listRules(groupId: string): Promise<ListRulesResponse>;\n  /**\n   * Creates rules if no rules have been set up. Otherwise, replaces all existing rules.\n   * > **Note:** Only admins can create or replace rules.\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function createOrReplaceAllRules(groupId: string, options?: CreateOrReplaceAllRulesOptions): Promise<CreateOrReplaceAllRulesResponse>;\n  interface CreateOrReplaceAllRulesOptions {\n      /** New rules. */\n      rules?: GroupRule[];\n  }\n  /**\n   * Retrieves the rule templates.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listTemplates(): Promise<ListTemplatesResponse>;\n  \n  type socialGroupsV2GroupRules_universal_d_GroupRules = GroupRules;\n  type socialGroupsV2GroupRules_universal_d_GroupRule = GroupRule;\n  type socialGroupsV2GroupRules_universal_d_ListRulesRequest = ListRulesRequest;\n  type socialGroupsV2GroupRules_universal_d_ListRulesResponse = ListRulesResponse;\n  type socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesRequest = CreateOrReplaceAllRulesRequest;\n  type socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesResponse = CreateOrReplaceAllRulesResponse;\n  type socialGroupsV2GroupRules_universal_d_Empty = Empty;\n  type socialGroupsV2GroupRules_universal_d_ListTemplatesResponse = ListTemplatesResponse;\n  const socialGroupsV2GroupRules_universal_d_listRules: typeof listRules;\n  const socialGroupsV2GroupRules_universal_d_createOrReplaceAllRules: typeof createOrReplaceAllRules;\n  type socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesOptions = CreateOrReplaceAllRulesOptions;\n  const socialGroupsV2GroupRules_universal_d_listTemplates: typeof listTemplates;\n  namespace socialGroupsV2GroupRules_universal_d {\n    export {\n      __debug$6 as __debug,\n      socialGroupsV2GroupRules_universal_d_GroupRules as GroupRules,\n      socialGroupsV2GroupRules_universal_d_GroupRule as GroupRule,\n      socialGroupsV2GroupRules_universal_d_ListRulesRequest as ListRulesRequest,\n      socialGroupsV2GroupRules_universal_d_ListRulesResponse as ListRulesResponse,\n      socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesRequest as CreateOrReplaceAllRulesRequest,\n      socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesResponse as CreateOrReplaceAllRulesResponse,\n      socialGroupsV2GroupRules_universal_d_Empty as Empty,\n      socialGroupsV2GroupRules_universal_d_ListTemplatesResponse as ListTemplatesResponse,\n      socialGroupsV2GroupRules_universal_d_listRules as listRules,\n      socialGroupsV2GroupRules_universal_d_createOrReplaceAllRules as createOrReplaceAllRules,\n      socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesOptions as CreateOrReplaceAllRulesOptions,\n      socialGroupsV2GroupRules_universal_d_listTemplates as listTemplates,\n    };\n  }\n  \n  const __debug$5: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Group$1 {\n      /**\n       * Group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** A unique part of a group's URL, for example `https:/example.com/groups/slug`. */\n      slug?: string | null;\n      /**\n       * __Deprecated.__ Use `privacyStatus` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      privacyLevel?: PrivacyStatus$1;\n      /**\n       * Group privacy status.\n       * - `PUBLIC` - Anyone can see the group and its content. Anyone can join the group.\n       * - `PRIVATE` - Anyone can see the group, but only members can see its content. New member must submit a `Join Group Request`.\n       * - `SECRET` - Only admins and members can see the group. New members can only be added by other members.\n       */\n      privacyStatus?: PrivacyStatus$1;\n      /** @internal */\n      accessRestriction?: AccessRestriction$1;\n      /**\n       * __Deprecated.__ Use `name` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      title?: string | null;\n      /** Group name. */\n      name?: string | null;\n      /** Group description in DraftJS format. */\n      description?: string | null;\n      /** Group teaser. */\n      teaser?: string | null;\n      /**\n       * __Deprecated.__\n       * For `details.logo`, use `coverImage` instead.\n       * For `details.membersTitle`, `memberTitle` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      details?: GroupDetails$1;\n      /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n      memberTitle?: string | null;\n      /** Cover image. You cannot upload your own cover image. */\n      coverImage?: CoverImage$1;\n      /** Group specific settings. Available to the site owners under `Admin Tools` in the Business Manager. */\n      settings?: GroupSettings$1;\n      /**\n       * Total count of current group members.\n       * @readonly\n       */\n      membersCount?: number | null;\n      /**\n       * __Deprecated.__ Use `ownerId` instead.\n       * This property will be removed on June 30, 2022.\n       * @readonly\n       */\n      createdBy?: Identity$1;\n      /**\n       * Group owner.\n       * @readonly\n       */\n      ownerId?: string | null;\n      /**\n       * Group creation date and time.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time of the latest group update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * __Deprecated.__ Use `lastActivityDate` instead.\n       * This property will be removed on June 30, 2022.\n       * @readonly\n       */\n      recentActivityDate?: Date;\n      /**\n       * Date and time of the most recent group activity, for example a post or comment.\n       * @readonly\n       */\n      lastActivityDate?: Date;\n      /**\n       * Number of pending group members. Relevant only for `PRIVATE` groups.\n       * @internal\n       * @readonly\n       */\n      pendingMembersCount?: number | null;\n      /**\n       * Number of posts and comments in the group since the calling member last saw the group.\n       * @internal\n       * @readonly\n       */\n      updatesCount?: number | null;\n  }\n  enum Type$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ADMIN_APPROVAL = \"ADMIN_APPROVAL\",\n      PAID_PLANS = \"PAID_PLANS\",\n      EVENTS = \"EVENTS\"\n  }\n  interface Events$1 {\n      eventIds?: string[];\n  }\n  interface Logo$1 {\n      /** Logo image ID (for internal use). */\n      mediaId?: string | null;\n      /**\n       * Logo image file URL.\n       * @internal\n       */\n      fileUrl?: string | null;\n      /** Logo image width. */\n      width?: number | null;\n      /** Logo image height. */\n      height?: number | null;\n  }\n  interface GroupDetailsPosition$1 {\n      /** horizontal coordinate */\n      x?: number;\n      /** vertical coordinate */\n      y?: number;\n  }\n  interface Image$1 {\n      /** Image ID (for internal use). */\n      mediaId?: string | null;\n      /**\n       * Image file URL.\n       * @internal\n       */\n      fileUrl?: string | null;\n      /** Image width. */\n      width?: number | null;\n      /** Image height. */\n      height?: number | null;\n  }\n  interface Position$1 {\n      /** horizontal coordinate */\n      x?: number;\n      /** vertical coordinate */\n      y?: number;\n  }\n  enum PrivacyStatus$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Anyone can see the group in the group list and view its content. Anyone can join. */\n      PUBLIC = \"PUBLIC\",\n      /** Anyone can see the group in the group list, but only group members can see its content. In order to join a group, a group join request must be submitted. */\n      PRIVATE = \"PRIVATE\",\n      /** Only group members and admins can see the group in the group list. New group members can only be added by existing group members. */\n      SECRET = \"SECRET\"\n  }\n  interface AccessRestriction$1 extends AccessRestrictionDataOneOf$1 {\n      type?: Type$1;\n      events?: Events$1;\n  }\n  /** @oneof */\n  interface AccessRestrictionDataOneOf$1 {\n      events?: Events$1;\n  }\n  interface GroupDetails$1 {\n      /** Group logo. You cannot upload your own logo. */\n      logo?: Logo$1;\n      /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n      membersTitle?: string | null;\n      /**\n       * Position of the corner of the cover image (or logo).\n       * @internal\n       */\n      logoPosition?: GroupDetailsPosition$1;\n      /**\n       * Position of the corner of the cover image (or logo) for mobile browser.\n       * @internal\n       */\n      mobileLogoPosition?: GroupDetailsPosition$1;\n  }\n  interface CoverImage$1 {\n      /** Cover image. */\n      image?: Image$1;\n      /** Position of the corner of the cover image (or logo). */\n      position?: Position$1;\n      /** Position of the corner of the cover image (or logo) for mobile browser. */\n      mobilePosition?: Position$1;\n  }\n  interface GroupSettings$1 {\n      /**\n       * __Deprecated.__ Use `membersCanInvite` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      membersPermittedToInvite?: boolean | null;\n      /**\n       * Whether regular members are permitted to invite new members.\n       * If `false`, only admins can invite members. Defaults to `true`.\n       */\n      membersCanInvite?: boolean | null;\n      /**\n       * __Deprecated.__ Use `membersCanApprove` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      membersPermittedToApprove?: boolean | null;\n      /**\n       * Whether all group members are permitted to approve join group requests.\n       * If `false`, member approval is limited to the admins.\n       */\n      membersCanApprove?: boolean | null;\n      /**\n       * __Deprecated.__ Use `welcomeMemberPostEnabled` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      memberWelcomePostEnabled?: boolean | null;\n      /** Whether a daily post about new members is enabled. */\n      welcomeMemberPostEnabled?: boolean | null;\n      /** Whether an automatic post about changing the group details is enabled. */\n      groupDetailsChangedPostEnabled?: boolean | null;\n      /** Whether all members can see the full member list. */\n      showMemberList?: boolean | null;\n      /**\n       * Whether an automatic post about added events is enabled.\n       * @internal\n       */\n      eventAddedPostEnabled?: boolean | null;\n  }\n  interface Identity$1 {\n      /** Member ID of the group creator.  See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      _id?: string | null;\n      identityType?: IdentityType$1;\n  }\n  enum IdentityType$1 {\n      USER = \"USER\",\n      MEMBER = \"MEMBER\"\n  }\n  interface CreateGroupRequest {\n      /** Group to create. */\n      group?: Group$1;\n      /** ID of the member who created the group. This member will automatically become an admin. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      creatorId?: string | null;\n      /**\n       * Group ID.\n       * @internal\n       */\n      groupId?: string | null;\n  }\n  interface CreateGroupResponse {\n      /** Created group. */\n      group?: Group$1;\n  }\n  interface UpdateGroupRequest {\n      /** Group to update. */\n      group?: Group$1;\n  }\n  interface UpdateGroupResponse {\n      /** Updated group. */\n      group?: Group$1;\n  }\n  interface GroupCoverChanged {\n      oldUrl?: string | null;\n      newUrl?: string | null;\n  }\n  interface GroupDescriptionChanged {\n      oldDescription?: string | null;\n      newDescription?: string | null;\n  }\n  interface DeleteGroupRequest {\n      /** ID of the group to delete. */\n      groupId: string;\n  }\n  interface DeleteGroupResponse {\n      /** Deleted group. */\n      group?: Group$1;\n  }\n  interface GetGroupRequest {\n      /** ID of the group to retrieve. */\n      groupId: string;\n  }\n  interface GetGroupResponse {\n      /** Retrieved group. */\n      group?: Group$1;\n  }\n  interface GetGroupBySlugRequest {\n      /** Unique part of the group's URL, for example `group-1` in `https:/example.com/groups/group-1`. Pass only the slug. Case-sensitive. */\n      slug: string;\n  }\n  interface GetGroupBySlugResponse {\n      /** Retrieved group. */\n      group?: Group$1;\n  }\n  interface ListGroupsRequest {\n      /** Number of items to load. Maximum `100`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListGroupsResponse {\n      /** Retrieved Groups. */\n      groups?: Group$1[];\n      metadata?: PagingMetadata$4;\n  }\n  interface PagingMetadata$4 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface ListGroupsByUserIdRequest {\n  }\n  interface ListGroupsByUserIdResponse {\n      groups?: GroupWithMsId[];\n  }\n  /** Retrieved Groups by metasite id */\n  interface GroupWithMsId {\n      metaSiteId?: string;\n      groups?: Group$1[];\n  }\n  interface QueryGroupsRequest {\n      query?: Query$3;\n  }\n  interface Query$3 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$3[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$4;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$4 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryGroupsResponse {\n      /** Retrieved groups. */\n      groups?: Group$1[];\n      metadata?: PagingMetadata$4;\n  }\n  interface QueryJoinedGroupsRequest {\n      query?: Query$3;\n  }\n  interface QueryJoinedGroupsResponse {\n      /** Retrieved groups. */\n      groups?: Group$1[];\n      metadata?: PagingMetadata$4;\n  }\n  interface QueryGroupsByMembershipRequest {\n      query?: Query$3;\n      membershipStatus?: MembershipStatus$1;\n  }\n  enum MembershipStatus$1 {\n      NONE = \"NONE\",\n      JOINED = \"JOINED\",\n      PENDING = \"PENDING\"\n  }\n  interface QueryGroupsByMembershipResponse {\n      /** Retrieved groups. */\n      groups?: Group$1[];\n      metadata?: PagingMetadata$4;\n  }\n  /**\n   * Creates a group.\n   * >**Notes:**\n   * > + The site owners may not allow members to create groups.\n   * > + Specify a `creatorId` to set the group's creator.\n   * > + The group's creator will automatically become an admin.\n   * @public\n   * @documentationMaturity preview\n   */\n  function createGroup(options?: CreateGroupOptions): Promise<CreateGroupResponse>;\n  interface CreateGroupOptions {\n      /** Group to create. */\n      group?: Group$1;\n      /** ID of the member who created the group. This member will automatically become an admin. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      creatorId?: string | null;\n      /**\n       * Group ID.\n       * @internal\n       */\n      groupId?: string | null;\n  }\n  /**\n   * Updates a group.\n   * >**Note:**\n   * > + Only admins can update a group.\n   * > + When `group.privacyLevel` is updated from `PRIVATE` to `PUBLIC`, all pending group join requests are automatically approved.\n   * > + When `group.privacyLevel` is updated from `PRIVATE` to `SECRET`, all pending group join requests are automatically rejected.\n   * @param _id - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function updateGroup(_id: string | null, options?: UpdateGroupOptions): Promise<UpdateGroupResponse>;\n  interface UpdateGroupOptions {\n      group: {\n          /**\n           * Group ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /** A unique part of a group's URL, for example `https:/example.com/groups/slug`. */\n          slug?: string | null;\n          /**\n           * __Deprecated.__ Use `privacyStatus` instead.\n           * This property will be removed on June 30, 2022.\n           */\n          privacyLevel?: PrivacyStatus$1;\n          /**\n           * Group privacy status.\n           * - `PUBLIC` - Anyone can see the group and its content. Anyone can join the group.\n           * - `PRIVATE` - Anyone can see the group, but only members can see its content. New member must submit a `Join Group Request`.\n           * - `SECRET` - Only admins and members can see the group. New members can only be added by other members.\n           */\n          privacyStatus?: PrivacyStatus$1;\n          /** @internal */\n          accessRestriction?: AccessRestriction$1;\n          /**\n           * __Deprecated.__ Use `name` instead.\n           * This property will be removed on June 30, 2022.\n           */\n          title?: string | null;\n          /** Group name. */\n          name?: string | null;\n          /** Group description in DraftJS format. */\n          description?: string | null;\n          /** Group teaser. */\n          teaser?: string | null;\n          /**\n           * __Deprecated.__\n           * For `details.logo`, use `coverImage` instead.\n           * For `details.membersTitle`, `memberTitle` instead.\n           * This property will be removed on June 30, 2022.\n           */\n          details?: GroupDetails$1;\n          /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n          memberTitle?: string | null;\n          /** Cover image. You cannot upload your own cover image. */\n          coverImage?: CoverImage$1;\n          /** Group specific settings. Available to the site owners under `Admin Tools` in the Business Manager. */\n          settings?: GroupSettings$1;\n          /**\n           * Total count of current group members.\n           * @readonly\n           */\n          membersCount?: number | null;\n          /**\n           * __Deprecated.__ Use `ownerId` instead.\n           * This property will be removed on June 30, 2022.\n           * @readonly\n           */\n          createdBy?: Identity$1;\n          /**\n           * Group owner.\n           * @readonly\n           */\n          ownerId?: string | null;\n          /**\n           * Group creation date and time.\n           * @readonly\n           */\n          _createdDate?: Date;\n          /**\n           * Date and time of the latest group update.\n           * @readonly\n           */\n          _updatedDate?: Date;\n          /**\n           * __Deprecated.__ Use `lastActivityDate` instead.\n           * This property will be removed on June 30, 2022.\n           * @readonly\n           */\n          recentActivityDate?: Date;\n          /**\n           * Date and time of the most recent group activity, for example a post or comment.\n           * @readonly\n           */\n          lastActivityDate?: Date;\n          /**\n           * Number of pending group members. Relevant only for `PRIVATE` groups.\n           * @internal\n           * @readonly\n           */\n          pendingMembersCount?: number | null;\n          /**\n           * Number of posts and comments in the group since the calling member last saw the group.\n           * @internal\n           * @readonly\n           */\n          updatesCount?: number | null;\n      };\n  }\n  /**\n   * Hides a group from the Group List or cancels group request.\n   * >**Notes:**\n   * > + Only admins can delete a group.\n   * > + The group will no longer be visible in the live site or the Wix business manager.\n   * > + It is not possible to restore the group via the [Update Group](https://dev.wix.com/api/rest/wix-groups/groups/group/update-group) endpoint into the live site.\n   * > + It is still possible to retrieve the group via the [Get Group](https://dev.wix.com/api/rest/wix-groups/groups/group/get-group), [List Groups](https://dev.wix.com/api/rest/wix-groups/groups/group/list-groups) and [Query Groups](https://dev.wix.com/api/rest/wix-groups/groups/group/query-groups) endpoints.\n   * @param groupId - ID of the group to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function deleteGroup(groupId: string): Promise<DeleteGroupResponse>;\n  /**\n   * Retrieves a group.\n   * @param groupId - ID of the group to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function getGroup(groupId: string): Promise<GetGroupResponse>;\n  /**\n   * Retrieves a group by slug.\n   * @param slug - Unique part of the group's URL, for example `group-1` in `https:/example.com/groups/group-1`. Pass only the slug. Case-sensitive.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField slug\n   */\n  function getGroupBySlug(slug: string): Promise<GetGroupBySlugResponse>;\n  /**\n   * Retrieves up to 100 groups.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listGroups(options?: ListGroupsOptions): Promise<ListGroupsResponse>;\n  interface ListGroupsOptions {\n      /** Number of items to load. Maximum `100`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  /**\n   * Retrieves a list of all groups user is member of from all sites. Expects Wix User authorization.\n   * Used in My Activity widget inside of Spaces App\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listGroupsByUserId(): Promise<ListGroupsByUserIdResponse>;\n  /**\n   * Retrieves up to 100 groups, given the provided paging, filtering, and sorting.\n   *\n   * Supported fields for filtering:\n   * - `title`\n   *\n   * Supported fields for sorting:\n   * - `title`\n   * - `createdDate`\n   * - `membersCount`\n   * - `recentActivityDate`\n   * @public\n   * @documentationMaturity preview\n   */\n  function queryGroups(options?: QueryGroupsOptions): Promise<QueryGroupsResponse>;\n  interface QueryGroupsOptions {\n      query?: Query$3;\n  }\n  /**\n   * Retrieves groups that the current member has joined (deprecated, use `QueryGroupsByMembership`).\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryJoinedGroups(options?: QueryJoinedGroupsOptions): Promise<QueryJoinedGroupsResponse>;\n  interface QueryJoinedGroupsOptions {\n      query?: Query$3;\n  }\n  /**\n   * Retrieves groups by membership status for the current member.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryGroupsByMembership(options?: QueryGroupsByMembershipOptions): Promise<QueryGroupsByMembershipResponse>;\n  interface QueryGroupsByMembershipOptions {\n      query?: Query$3;\n      membershipStatus?: MembershipStatus$1;\n  }\n  \n  type socialGroupsV2Group_universal_d_CreateGroupRequest = CreateGroupRequest;\n  type socialGroupsV2Group_universal_d_CreateGroupResponse = CreateGroupResponse;\n  type socialGroupsV2Group_universal_d_UpdateGroupRequest = UpdateGroupRequest;\n  type socialGroupsV2Group_universal_d_UpdateGroupResponse = UpdateGroupResponse;\n  type socialGroupsV2Group_universal_d_GroupCoverChanged = GroupCoverChanged;\n  type socialGroupsV2Group_universal_d_GroupDescriptionChanged = GroupDescriptionChanged;\n  type socialGroupsV2Group_universal_d_DeleteGroupRequest = DeleteGroupRequest;\n  type socialGroupsV2Group_universal_d_DeleteGroupResponse = DeleteGroupResponse;\n  type socialGroupsV2Group_universal_d_GetGroupRequest = GetGroupRequest;\n  type socialGroupsV2Group_universal_d_GetGroupResponse = GetGroupResponse;\n  type socialGroupsV2Group_universal_d_GetGroupBySlugRequest = GetGroupBySlugRequest;\n  type socialGroupsV2Group_universal_d_GetGroupBySlugResponse = GetGroupBySlugResponse;\n  type socialGroupsV2Group_universal_d_ListGroupsRequest = ListGroupsRequest;\n  type socialGroupsV2Group_universal_d_ListGroupsResponse = ListGroupsResponse;\n  type socialGroupsV2Group_universal_d_ListGroupsByUserIdRequest = ListGroupsByUserIdRequest;\n  type socialGroupsV2Group_universal_d_ListGroupsByUserIdResponse = ListGroupsByUserIdResponse;\n  type socialGroupsV2Group_universal_d_GroupWithMsId = GroupWithMsId;\n  type socialGroupsV2Group_universal_d_QueryGroupsRequest = QueryGroupsRequest;\n  type socialGroupsV2Group_universal_d_QueryGroupsResponse = QueryGroupsResponse;\n  type socialGroupsV2Group_universal_d_QueryJoinedGroupsRequest = QueryJoinedGroupsRequest;\n  type socialGroupsV2Group_universal_d_QueryJoinedGroupsResponse = QueryJoinedGroupsResponse;\n  type socialGroupsV2Group_universal_d_QueryGroupsByMembershipRequest = QueryGroupsByMembershipRequest;\n  type socialGroupsV2Group_universal_d_QueryGroupsByMembershipResponse = QueryGroupsByMembershipResponse;\n  const socialGroupsV2Group_universal_d_createGroup: typeof createGroup;\n  type socialGroupsV2Group_universal_d_CreateGroupOptions = CreateGroupOptions;\n  const socialGroupsV2Group_universal_d_updateGroup: typeof updateGroup;\n  type socialGroupsV2Group_universal_d_UpdateGroupOptions = UpdateGroupOptions;\n  const socialGroupsV2Group_universal_d_deleteGroup: typeof deleteGroup;\n  const socialGroupsV2Group_universal_d_getGroup: typeof getGroup;\n  const socialGroupsV2Group_universal_d_getGroupBySlug: typeof getGroupBySlug;\n  const socialGroupsV2Group_universal_d_listGroups: typeof listGroups;\n  type socialGroupsV2Group_universal_d_ListGroupsOptions = ListGroupsOptions;\n  const socialGroupsV2Group_universal_d_listGroupsByUserId: typeof listGroupsByUserId;\n  const socialGroupsV2Group_universal_d_queryGroups: typeof queryGroups;\n  type socialGroupsV2Group_universal_d_QueryGroupsOptions = QueryGroupsOptions;\n  const socialGroupsV2Group_universal_d_queryJoinedGroups: typeof queryJoinedGroups;\n  type socialGroupsV2Group_universal_d_QueryJoinedGroupsOptions = QueryJoinedGroupsOptions;\n  const socialGroupsV2Group_universal_d_queryGroupsByMembership: typeof queryGroupsByMembership;\n  type socialGroupsV2Group_universal_d_QueryGroupsByMembershipOptions = QueryGroupsByMembershipOptions;\n  namespace socialGroupsV2Group_universal_d {\n    export {\n      __debug$5 as __debug,\n      Group$1 as Group,\n      Type$1 as Type,\n      Events$1 as Events,\n      Logo$1 as Logo,\n      GroupDetailsPosition$1 as GroupDetailsPosition,\n      Image$1 as Image,\n      Position$1 as Position,\n      PrivacyStatus$1 as PrivacyStatus,\n      AccessRestriction$1 as AccessRestriction,\n      AccessRestrictionDataOneOf$1 as AccessRestrictionDataOneOf,\n      GroupDetails$1 as GroupDetails,\n      CoverImage$1 as CoverImage,\n      GroupSettings$1 as GroupSettings,\n      Identity$1 as Identity,\n      IdentityType$1 as IdentityType,\n      socialGroupsV2Group_universal_d_CreateGroupRequest as CreateGroupRequest,\n      socialGroupsV2Group_universal_d_CreateGroupResponse as CreateGroupResponse,\n      socialGroupsV2Group_universal_d_UpdateGroupRequest as UpdateGroupRequest,\n      socialGroupsV2Group_universal_d_UpdateGroupResponse as UpdateGroupResponse,\n      socialGroupsV2Group_universal_d_GroupCoverChanged as GroupCoverChanged,\n      socialGroupsV2Group_universal_d_GroupDescriptionChanged as GroupDescriptionChanged,\n      socialGroupsV2Group_universal_d_DeleteGroupRequest as DeleteGroupRequest,\n      socialGroupsV2Group_universal_d_DeleteGroupResponse as DeleteGroupResponse,\n      socialGroupsV2Group_universal_d_GetGroupRequest as GetGroupRequest,\n      socialGroupsV2Group_universal_d_GetGroupResponse as GetGroupResponse,\n      socialGroupsV2Group_universal_d_GetGroupBySlugRequest as GetGroupBySlugRequest,\n      socialGroupsV2Group_universal_d_GetGroupBySlugResponse as GetGroupBySlugResponse,\n      socialGroupsV2Group_universal_d_ListGroupsRequest as ListGroupsRequest,\n      socialGroupsV2Group_universal_d_ListGroupsResponse as ListGroupsResponse,\n      PagingMetadata$4 as PagingMetadata,\n      socialGroupsV2Group_universal_d_ListGroupsByUserIdRequest as ListGroupsByUserIdRequest,\n      socialGroupsV2Group_universal_d_ListGroupsByUserIdResponse as ListGroupsByUserIdResponse,\n      socialGroupsV2Group_universal_d_GroupWithMsId as GroupWithMsId,\n      socialGroupsV2Group_universal_d_QueryGroupsRequest as QueryGroupsRequest,\n      Query$3 as Query,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      Paging$4 as Paging,\n      socialGroupsV2Group_universal_d_QueryGroupsResponse as QueryGroupsResponse,\n      socialGroupsV2Group_universal_d_QueryJoinedGroupsRequest as QueryJoinedGroupsRequest,\n      socialGroupsV2Group_universal_d_QueryJoinedGroupsResponse as QueryJoinedGroupsResponse,\n      socialGroupsV2Group_universal_d_QueryGroupsByMembershipRequest as QueryGroupsByMembershipRequest,\n      MembershipStatus$1 as MembershipStatus,\n      socialGroupsV2Group_universal_d_QueryGroupsByMembershipResponse as QueryGroupsByMembershipResponse,\n      socialGroupsV2Group_universal_d_createGroup as createGroup,\n      socialGroupsV2Group_universal_d_CreateGroupOptions as CreateGroupOptions,\n      socialGroupsV2Group_universal_d_updateGroup as updateGroup,\n      socialGroupsV2Group_universal_d_UpdateGroupOptions as UpdateGroupOptions,\n      socialGroupsV2Group_universal_d_deleteGroup as deleteGroup,\n      socialGroupsV2Group_universal_d_getGroup as getGroup,\n      socialGroupsV2Group_universal_d_getGroupBySlug as getGroupBySlug,\n      socialGroupsV2Group_universal_d_listGroups as listGroups,\n      socialGroupsV2Group_universal_d_ListGroupsOptions as ListGroupsOptions,\n      socialGroupsV2Group_universal_d_listGroupsByUserId as listGroupsByUserId,\n      socialGroupsV2Group_universal_d_queryGroups as queryGroups,\n      socialGroupsV2Group_universal_d_QueryGroupsOptions as QueryGroupsOptions,\n      socialGroupsV2Group_universal_d_queryJoinedGroups as queryJoinedGroups,\n      socialGroupsV2Group_universal_d_QueryJoinedGroupsOptions as QueryJoinedGroupsOptions,\n      socialGroupsV2Group_universal_d_queryGroupsByMembership as queryGroupsByMembership,\n      socialGroupsV2Group_universal_d_QueryGroupsByMembershipOptions as QueryGroupsByMembershipOptions,\n    };\n  }\n  \n  const __debug$4: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface GroupMember$1 {\n      /**\n       * __Deprecated.__ Use `memberId` instead.\n       * This property will be removed on June 30, 2022.\n       * @readonly\n       */\n      siteMemberId?: string;\n      /**\n       * Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details.\n       * @readonly\n       */\n      memberId?: string;\n      /** Group Member Role. */\n      role?: GroupRole$1;\n      /**\n       * Date and time the group Member joined the group.\n       * @readonly\n       */\n      joinedDate?: Date;\n      /**\n       * @internal\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  /**\n   * A group member may have multiple roles in a single group.\n   * Currently, only `MEMBER` and `ADMIN` roles are supported, but more roles may be available in the future.\n   */\n  interface GroupRole$1 {\n      /**\n       * Member's role.\n       * - `MEMBER` - Regular group member.\n       * - `ADMIN` - Group administrator.\n       */\n      value?: Role$1;\n  }\n  enum Role$1 {\n      UNKNOWN_ROLE = \"UNKNOWN_ROLE\",\n      /** Regular group member. */\n      MEMBER = \"MEMBER\",\n      /** Group administrator. */\n      ADMIN = \"ADMIN\"\n  }\n  /** ID of the group to join. */\n  interface JoinRequest {\n      groupId: string;\n      /** Answers to membership questions. A Join Request will fail, if the answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$2[];\n      autoInviteId?: string | null;\n  }\n  /** Answer to a membership question. */\n  interface MembershipQuestionAnswer$2 {\n      /** Question ID. */\n      _id?: string;\n      /** Answer text. */\n      text?: string | null;\n  }\n  interface JoinResponse {\n      /** New member. */\n      member?: GroupMember$1;\n  }\n  interface MemberJoined {\n      /** Group ID that member has joined. */\n      groupId?: string;\n      /** Joined group member. */\n      groupMember?: GroupMember$1;\n  }\n  interface LeaveRequest {\n      /** ID of the Group to leave. */\n      groupId: string;\n  }\n  interface LeaveResponse {\n  }\n  interface MemberLeft {\n      /** Group ID that member has left. */\n      groupId?: string;\n      /** Group member that left. */\n      groupMember?: GroupMember$1;\n  }\n  interface AddGroupMembersRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberIds?: string[];\n      /** Member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberIds?: string[];\n      /**\n       * Whether to send invitations to private site members. Defaults to `true`.\n       * @internal\n       */\n      invitePrivateMembers?: boolean | null;\n  }\n  interface AddGroupMembersResponse {\n      /** New members. */\n      members?: GroupMember$1[];\n  }\n  interface MemberAdded {\n      /** Group ID that member was added to. */\n      groupId?: string;\n      /** Added group member. */\n      groupMember?: GroupMember$1;\n  }\n  interface RemoveGroupMembersRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberIds?: string[];\n      /** Member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberIds?: string[];\n  }\n  interface RemoveGroupMembersResponse {\n  }\n  interface MemberRemoved {\n      /** Group ID that member was removed from. */\n      groupId?: string;\n      /** Removed group member. */\n      groupMember?: GroupMember$1;\n  }\n  interface ListGroupMembersRequest {\n      /** Group ID. */\n      groupId: string;\n      /** Number of items to load. Maximum `100.` */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n      /**\n       * Return members who left groups (internal, used for history in analytics)\n       * @internal\n       */\n      includeDeleted?: boolean;\n  }\n  interface ListGroupMembersResponse {\n      /** Retrieved members. */\n      members?: GroupMember$1[];\n      metadata?: PagingMetadata$3;\n  }\n  interface PagingMetadata$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryGroupMembersRequest {\n      /** Group ID. */\n      groupId: string;\n      query?: Query$2;\n  }\n  interface Query$2 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$3;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryGroupMembersResponse {\n      /** Group members. */\n      members?: GroupMember$1[];\n      metadata?: PagingMetadata$3;\n  }\n  interface QueryNonGroupMembersRequest {\n      /** Group ID. */\n      groupId: string;\n      query?: Query$2;\n  }\n  interface QueryNonGroupMembersResponse {\n      /** Retrieved members. */\n      members?: GroupMember$1[];\n  }\n  interface ListMembershipsRequest {\n      /**\n       * __Deprecated.__ Use `memberId` instead.\n       * This parameter will be removed on June 30, 2022.\n       * @internal\n       */\n      siteMemberId?: string | null;\n      /** Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberId: string | null;\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListMembershipsResponse {\n      /** Site member's memberships. */\n      memberships?: Membership[];\n      metadata?: PagingMetadata$3;\n  }\n  interface Membership {\n      /**\n       * Group ID.\n       * @readonly\n       */\n      groupId?: string;\n      /**\n       * Membership status with Group\n       * - `JOINED` - Site member is a group member.\n       * - `PENDING` - Site member has submitted a Join Request for this group that is still `PENDING`.\n       */\n      status?: MembershipStatus;\n      /** Group member role. When membership status is not `JOINED`, this is empty. */\n      role?: GroupRole$1;\n  }\n  enum MembershipStatus {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Site member is a group member. */\n      JOINED = \"JOINED\",\n      /** Site member has join group request with `PENDING` status for this group. */\n      PENDING = \"PENDING\"\n  }\n  interface QueryMembershipsRequest {\n      /**\n       * __Deprecated.__ Use the `memberId` path parameter instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberId?: string | null;\n      /** Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberId: string | null;\n      query?: Query$2;\n  }\n  interface QueryMembershipsResponse {\n      /** Site member's memberships. */\n      memberships?: Membership[];\n      metadata?: PagingMetadata$3;\n  }\n  /**\n   * Join a specific group.\n   * Site owners can use it for groups with any privacy level and automatically receives `ADMIN` group role. A site member can use it only for public groups.\n   * This endpoint doesn't support server signing.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function joinGroup(groupId: string, options?: JoinGroupOptions): Promise<JoinResponse>;\n  interface JoinGroupOptions {\n      /** Answers to membership questions. A Join Request will fail, if the answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$2[];\n      autoInviteId?: string | null;\n  }\n  /**\n   * Leave a group.\n   * This endpoint doesn't support server signing.\n   * @param groupId - ID of the Group to leave.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function leaveGroup(groupId: string): Promise<void>;\n  /**\n   * Add site members to a specific group.\n   * Admins always have access to this functionality. Site owners may allow members to use this functionality as well.\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function addGroupMembers(groupId: string, options?: AddGroupMembersOptions): Promise<AddGroupMembersResponse>;\n  interface AddGroupMembersOptions {\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberIds?: string[];\n      /** Member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberIds?: string[];\n      /**\n       * Whether to send invitations to private site members. Defaults to `true`.\n       * @internal\n       */\n      invitePrivateMembers?: boolean | null;\n  }\n  /**\n   * Removes site members from a specific group.\n   * Only admins have can remove members from a group.\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function removeGroupMembers(groupId: string, options?: RemoveGroupMembersOptions): Promise<void>;\n  interface RemoveGroupMembersOptions {\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberIds?: string[];\n      /** Member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberIds?: string[];\n  }\n  /**\n   * Retrieves a list of up to 100 group members, given the provided paging.\n   * Groups mangers can retrieve group members of any group.\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function listGroupMembers(groupId: string, options?: ListGroupMembersOptions): Promise<ListGroupMembersResponse>;\n  interface ListGroupMembersOptions {\n      /** Number of items to load. Maximum `100.` */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n      /**\n       * Return members who left groups (internal, used for history in analytics)\n       * @internal\n       */\n      includeDeleted?: boolean;\n  }\n  /**\n   * Retrieves a list of up to 100 group members, given the provided paging, sorting and filtering.\n   * Groups mangers can retrieve group members of any group.\n   *\n   * Supported fields for filtering:\n   * - `role`\n   *\n   * Supported fields for sorting:\n   * - `joinedOn`\n   * - `role`\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function queryGroupMembers(groupId: string, options?: QueryGroupMembersOptions): Promise<QueryGroupMembersResponse>;\n  interface QueryGroupMembersOptions {\n      query?: Query$2;\n  }\n  /**\n   * Don't expose to 3rd parties! (Use GroupMembersWithProfilesService.QueryNonGroupMembersWithProfiles)\n   * @param groupId - Group ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function queryNonGroupMembers(groupId: string, options?: QueryNonGroupMembersOptions): Promise<QueryNonGroupMembersResponse>;\n  interface QueryNonGroupMembersOptions {\n      query?: Query$2;\n  }\n  /**\n   * Retrieves a list of up to 100 members and their membership status, given the provided paging.\n   * Groups mangers can see all memberships for any group.\n   * @param memberId - Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   */\n  function listMemberships(memberId: string | null, options?: ListMembershipsOptions): Promise<ListMembershipsResponse>;\n  interface ListMembershipsOptions {\n      /**\n       * __Deprecated.__ Use `memberId` instead.\n       * This parameter will be removed on June 30, 2022.\n       * @internal\n       */\n      siteMemberId?: string | null;\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  /**\n   * Retrieves a list of up to 100 members and their membership status, given the provided paging and filtering.\n   * Groups mangers can see all memberships for any group.\n   *\n   * Supported fields for filtering:\n   * - `role`\n   * - `status`\n   *\n   * No supported fields for sorting.\n   * @param memberId - Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   */\n  function queryMemberships(memberId: string | null, options?: QueryMembershipsOptions): Promise<QueryMembershipsResponse>;\n  interface QueryMembershipsOptions {\n      /**\n       * __Deprecated.__ Use the `memberId` path parameter instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberId?: string | null;\n      query?: Query$2;\n  }\n  \n  type socialGroupsV2GroupMember_universal_d_JoinRequest = JoinRequest;\n  type socialGroupsV2GroupMember_universal_d_JoinResponse = JoinResponse;\n  type socialGroupsV2GroupMember_universal_d_MemberJoined = MemberJoined;\n  type socialGroupsV2GroupMember_universal_d_LeaveRequest = LeaveRequest;\n  type socialGroupsV2GroupMember_universal_d_LeaveResponse = LeaveResponse;\n  type socialGroupsV2GroupMember_universal_d_MemberLeft = MemberLeft;\n  type socialGroupsV2GroupMember_universal_d_AddGroupMembersRequest = AddGroupMembersRequest;\n  type socialGroupsV2GroupMember_universal_d_AddGroupMembersResponse = AddGroupMembersResponse;\n  type socialGroupsV2GroupMember_universal_d_MemberAdded = MemberAdded;\n  type socialGroupsV2GroupMember_universal_d_RemoveGroupMembersRequest = RemoveGroupMembersRequest;\n  type socialGroupsV2GroupMember_universal_d_RemoveGroupMembersResponse = RemoveGroupMembersResponse;\n  type socialGroupsV2GroupMember_universal_d_MemberRemoved = MemberRemoved;\n  type socialGroupsV2GroupMember_universal_d_ListGroupMembersRequest = ListGroupMembersRequest;\n  type socialGroupsV2GroupMember_universal_d_ListGroupMembersResponse = ListGroupMembersResponse;\n  type socialGroupsV2GroupMember_universal_d_QueryGroupMembersRequest = QueryGroupMembersRequest;\n  type socialGroupsV2GroupMember_universal_d_QueryGroupMembersResponse = QueryGroupMembersResponse;\n  type socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersRequest = QueryNonGroupMembersRequest;\n  type socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersResponse = QueryNonGroupMembersResponse;\n  type socialGroupsV2GroupMember_universal_d_ListMembershipsRequest = ListMembershipsRequest;\n  type socialGroupsV2GroupMember_universal_d_ListMembershipsResponse = ListMembershipsResponse;\n  type socialGroupsV2GroupMember_universal_d_Membership = Membership;\n  type socialGroupsV2GroupMember_universal_d_MembershipStatus = MembershipStatus;\n  const socialGroupsV2GroupMember_universal_d_MembershipStatus: typeof MembershipStatus;\n  type socialGroupsV2GroupMember_universal_d_QueryMembershipsRequest = QueryMembershipsRequest;\n  type socialGroupsV2GroupMember_universal_d_QueryMembershipsResponse = QueryMembershipsResponse;\n  const socialGroupsV2GroupMember_universal_d_joinGroup: typeof joinGroup;\n  type socialGroupsV2GroupMember_universal_d_JoinGroupOptions = JoinGroupOptions;\n  const socialGroupsV2GroupMember_universal_d_leaveGroup: typeof leaveGroup;\n  const socialGroupsV2GroupMember_universal_d_addGroupMembers: typeof addGroupMembers;\n  type socialGroupsV2GroupMember_universal_d_AddGroupMembersOptions = AddGroupMembersOptions;\n  const socialGroupsV2GroupMember_universal_d_removeGroupMembers: typeof removeGroupMembers;\n  type socialGroupsV2GroupMember_universal_d_RemoveGroupMembersOptions = RemoveGroupMembersOptions;\n  const socialGroupsV2GroupMember_universal_d_listGroupMembers: typeof listGroupMembers;\n  type socialGroupsV2GroupMember_universal_d_ListGroupMembersOptions = ListGroupMembersOptions;\n  const socialGroupsV2GroupMember_universal_d_queryGroupMembers: typeof queryGroupMembers;\n  type socialGroupsV2GroupMember_universal_d_QueryGroupMembersOptions = QueryGroupMembersOptions;\n  const socialGroupsV2GroupMember_universal_d_queryNonGroupMembers: typeof queryNonGroupMembers;\n  type socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersOptions = QueryNonGroupMembersOptions;\n  const socialGroupsV2GroupMember_universal_d_listMemberships: typeof listMemberships;\n  type socialGroupsV2GroupMember_universal_d_ListMembershipsOptions = ListMembershipsOptions;\n  const socialGroupsV2GroupMember_universal_d_queryMemberships: typeof queryMemberships;\n  type socialGroupsV2GroupMember_universal_d_QueryMembershipsOptions = QueryMembershipsOptions;\n  namespace socialGroupsV2GroupMember_universal_d {\n    export {\n      __debug$4 as __debug,\n      GroupMember$1 as GroupMember,\n      GroupRole$1 as GroupRole,\n      Role$1 as Role,\n      socialGroupsV2GroupMember_universal_d_JoinRequest as JoinRequest,\n      MembershipQuestionAnswer$2 as MembershipQuestionAnswer,\n      socialGroupsV2GroupMember_universal_d_JoinResponse as JoinResponse,\n      socialGroupsV2GroupMember_universal_d_MemberJoined as MemberJoined,\n      socialGroupsV2GroupMember_universal_d_LeaveRequest as LeaveRequest,\n      socialGroupsV2GroupMember_universal_d_LeaveResponse as LeaveResponse,\n      socialGroupsV2GroupMember_universal_d_MemberLeft as MemberLeft,\n      socialGroupsV2GroupMember_universal_d_AddGroupMembersRequest as AddGroupMembersRequest,\n      socialGroupsV2GroupMember_universal_d_AddGroupMembersResponse as AddGroupMembersResponse,\n      socialGroupsV2GroupMember_universal_d_MemberAdded as MemberAdded,\n      socialGroupsV2GroupMember_universal_d_RemoveGroupMembersRequest as RemoveGroupMembersRequest,\n      socialGroupsV2GroupMember_universal_d_RemoveGroupMembersResponse as RemoveGroupMembersResponse,\n      socialGroupsV2GroupMember_universal_d_MemberRemoved as MemberRemoved,\n      socialGroupsV2GroupMember_universal_d_ListGroupMembersRequest as ListGroupMembersRequest,\n      socialGroupsV2GroupMember_universal_d_ListGroupMembersResponse as ListGroupMembersResponse,\n      PagingMetadata$3 as PagingMetadata,\n      socialGroupsV2GroupMember_universal_d_QueryGroupMembersRequest as QueryGroupMembersRequest,\n      Query$2 as Query,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      Paging$3 as Paging,\n      socialGroupsV2GroupMember_universal_d_QueryGroupMembersResponse as QueryGroupMembersResponse,\n      socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersRequest as QueryNonGroupMembersRequest,\n      socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersResponse as QueryNonGroupMembersResponse,\n      socialGroupsV2GroupMember_universal_d_ListMembershipsRequest as ListMembershipsRequest,\n      socialGroupsV2GroupMember_universal_d_ListMembershipsResponse as ListMembershipsResponse,\n      socialGroupsV2GroupMember_universal_d_Membership as Membership,\n      socialGroupsV2GroupMember_universal_d_MembershipStatus as MembershipStatus,\n      socialGroupsV2GroupMember_universal_d_QueryMembershipsRequest as QueryMembershipsRequest,\n      socialGroupsV2GroupMember_universal_d_QueryMembershipsResponse as QueryMembershipsResponse,\n      socialGroupsV2GroupMember_universal_d_joinGroup as joinGroup,\n      socialGroupsV2GroupMember_universal_d_JoinGroupOptions as JoinGroupOptions,\n      socialGroupsV2GroupMember_universal_d_leaveGroup as leaveGroup,\n      socialGroupsV2GroupMember_universal_d_addGroupMembers as addGroupMembers,\n      socialGroupsV2GroupMember_universal_d_AddGroupMembersOptions as AddGroupMembersOptions,\n      socialGroupsV2GroupMember_universal_d_removeGroupMembers as removeGroupMembers,\n      socialGroupsV2GroupMember_universal_d_RemoveGroupMembersOptions as RemoveGroupMembersOptions,\n      socialGroupsV2GroupMember_universal_d_listGroupMembers as listGroupMembers,\n      socialGroupsV2GroupMember_universal_d_ListGroupMembersOptions as ListGroupMembersOptions,\n      socialGroupsV2GroupMember_universal_d_queryGroupMembers as queryGroupMembers,\n      socialGroupsV2GroupMember_universal_d_QueryGroupMembersOptions as QueryGroupMembersOptions,\n      socialGroupsV2GroupMember_universal_d_queryNonGroupMembers as queryNonGroupMembers,\n      socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersOptions as QueryNonGroupMembersOptions,\n      socialGroupsV2GroupMember_universal_d_listMemberships as listMemberships,\n      socialGroupsV2GroupMember_universal_d_ListMembershipsOptions as ListMembershipsOptions,\n      socialGroupsV2GroupMember_universal_d_queryMemberships as queryMemberships,\n      socialGroupsV2GroupMember_universal_d_QueryMembershipsOptions as QueryMembershipsOptions,\n    };\n  }\n  \n  const __debug$3: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * >**Notes:**\n   * > + Site owners may set that members are not permitted to create groups in the Wix Groups application settings.\n   * > + In this situation, site members have to submit a Group Request to create a new group.\n   * > + Group Requests can be approved or rejected by an admin.\n   * > + After a Group Request has been approved, the new group is added to the Group List in the Wix Groups app home page.\n   * > + See [Introduction](https://dev.wix.com/api/rest/wix-groups/groups/introduction#wix-groups_groups_introduction_terminology) for more details.\n   */\n  interface GroupRequest {\n      /**\n       * Group request ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Group requested for creation. */\n      group?: Group;\n      /**\n       * Status of group request.\n       * - `PENDING` - Pending group request.\n       * - `APPROVED` - Approved group request.\n       * - `REJECTED` - Rejected group request.\n       * - `CANCELED` - Canceled group request.\n       */\n      status?: RequestStatus$1;\n      /** Group request details. */\n      requestDetails?: RequestDetails$1;\n  }\n  interface Group {\n      /**\n       * Group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** A unique part of a group's URL, for example `https:/example.com/groups/slug`. */\n      slug?: string | null;\n      /**\n       * __Deprecated.__ Use `privacyStatus` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      privacyLevel?: PrivacyStatus;\n      /**\n       * Group privacy status.\n       * - `PUBLIC` - Anyone can see the group and its content. Anyone can join the group.\n       * - `PRIVATE` - Anyone can see the group, but only members can see its content. New member must submit a `Join Group Request`.\n       * - `SECRET` - Only admins and members can see the group. New members can only be added by other members.\n       */\n      privacyStatus?: PrivacyStatus;\n      /** @internal */\n      accessRestriction?: AccessRestriction;\n      /**\n       * __Deprecated.__ Use `name` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      title?: string | null;\n      /** Group name. */\n      name?: string | null;\n      /** Group description in DraftJS format. */\n      description?: string | null;\n      /** Group teaser. */\n      teaser?: string | null;\n      /**\n       * __Deprecated.__\n       * For `details.logo`, use `coverImage` instead.\n       * For `details.membersTitle`, `memberTitle` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      details?: GroupDetails;\n      /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n      memberTitle?: string | null;\n      /** Cover image. You cannot upload your own cover image. */\n      coverImage?: CoverImage;\n      /** Group specific settings. Available to the site owners under `Admin Tools` in the Business Manager. */\n      settings?: GroupSettings;\n      /**\n       * Total count of current group members.\n       * @readonly\n       */\n      membersCount?: number | null;\n      /**\n       * __Deprecated.__ Use `ownerId` instead.\n       * This property will be removed on June 30, 2022.\n       * @readonly\n       */\n      createdBy?: Identity;\n      /**\n       * Group owner.\n       * @readonly\n       */\n      ownerId?: string | null;\n      /**\n       * Group creation date and time.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time of the latest group update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * __Deprecated.__ Use `lastActivityDate` instead.\n       * This property will be removed on June 30, 2022.\n       * @readonly\n       */\n      recentActivityDate?: Date;\n      /**\n       * Date and time of the most recent group activity, for example a post or comment.\n       * @readonly\n       */\n      lastActivityDate?: Date;\n      /**\n       * Number of pending group members. Relevant only for `PRIVATE` groups.\n       * @internal\n       * @readonly\n       */\n      pendingMembersCount?: number | null;\n      /**\n       * Number of posts and comments in the group since the calling member last saw the group.\n       * @internal\n       * @readonly\n       */\n      updatesCount?: number | null;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      ADMIN_APPROVAL = \"ADMIN_APPROVAL\",\n      PAID_PLANS = \"PAID_PLANS\",\n      EVENTS = \"EVENTS\"\n  }\n  interface Events {\n      eventIds?: string[];\n  }\n  interface Logo {\n      /** Logo image ID (for internal use). */\n      mediaId?: string | null;\n      /**\n       * Logo image file URL.\n       * @internal\n       */\n      fileUrl?: string | null;\n      /** Logo image width. */\n      width?: number | null;\n      /** Logo image height. */\n      height?: number | null;\n  }\n  interface GroupDetailsPosition {\n      /** horizontal coordinate */\n      x?: number;\n      /** vertical coordinate */\n      y?: number;\n  }\n  interface Image {\n      /** Image ID (for internal use). */\n      mediaId?: string | null;\n      /**\n       * Image file URL.\n       * @internal\n       */\n      fileUrl?: string | null;\n      /** Image width. */\n      width?: number | null;\n      /** Image height. */\n      height?: number | null;\n  }\n  interface Position {\n      /** horizontal coordinate */\n      x?: number;\n      /** vertical coordinate */\n      y?: number;\n  }\n  enum PrivacyStatus {\n      UNKNOWN = \"UNKNOWN\",\n      /** Anyone can see the group in the group list and view its content. Anyone can join. */\n      PUBLIC = \"PUBLIC\",\n      /** Anyone can see the group in the group list, but only group members can see its content. In order to join a group, a group join request must be submitted. */\n      PRIVATE = \"PRIVATE\",\n      /** Only group members and admins can see the group in the group list. New group members can only be added by existing group members. */\n      SECRET = \"SECRET\"\n  }\n  interface AccessRestriction extends AccessRestrictionDataOneOf {\n      type?: Type;\n      events?: Events;\n  }\n  /** @oneof */\n  interface AccessRestrictionDataOneOf {\n      events?: Events;\n  }\n  interface GroupDetails {\n      /** Group logo. You cannot upload your own logo. */\n      logo?: Logo;\n      /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n      membersTitle?: string | null;\n      /**\n       * Position of the corner of the cover image (or logo).\n       * @internal\n       */\n      logoPosition?: GroupDetailsPosition;\n      /**\n       * Position of the corner of the cover image (or logo) for mobile browser.\n       * @internal\n       */\n      mobileLogoPosition?: GroupDetailsPosition;\n  }\n  interface CoverImage {\n      /** Cover image. */\n      image?: Image;\n      /** Position of the corner of the cover image (or logo). */\n      position?: Position;\n      /** Position of the corner of the cover image (or logo) for mobile browser. */\n      mobilePosition?: Position;\n  }\n  interface GroupSettings {\n      /**\n       * __Deprecated.__ Use `membersCanInvite` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      membersPermittedToInvite?: boolean | null;\n      /**\n       * Whether regular members are permitted to invite new members.\n       * If `false`, only admins can invite members. Defaults to `true`.\n       */\n      membersCanInvite?: boolean | null;\n      /**\n       * __Deprecated.__ Use `membersCanApprove` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      membersPermittedToApprove?: boolean | null;\n      /**\n       * Whether all group members are permitted to approve join group requests.\n       * If `false`, member approval is limited to the admins.\n       */\n      membersCanApprove?: boolean | null;\n      /**\n       * __Deprecated.__ Use `welcomeMemberPostEnabled` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      memberWelcomePostEnabled?: boolean | null;\n      /** Whether a daily post about new members is enabled. */\n      welcomeMemberPostEnabled?: boolean | null;\n      /** Whether an automatic post about changing the group details is enabled. */\n      groupDetailsChangedPostEnabled?: boolean | null;\n      /** Whether all members can see the full member list. */\n      showMemberList?: boolean | null;\n      /**\n       * Whether an automatic post about added events is enabled.\n       * @internal\n       */\n      eventAddedPostEnabled?: boolean | null;\n  }\n  interface Identity {\n      /** Member ID of the group creator.  See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      _id?: string | null;\n      identityType?: IdentityType;\n  }\n  enum IdentityType {\n      USER = \"USER\",\n      MEMBER = \"MEMBER\"\n  }\n  enum RequestStatus$1 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Pending request. */\n      PENDING = \"PENDING\",\n      /** Approved request. */\n      APPROVED = \"APPROVED\",\n      /** Rejected request. */\n      REJECTED = \"REJECTED\",\n      /** Cancelled request. */\n      CANCELLED = \"CANCELLED\",\n      /** Canceled request. */\n      CANCELED = \"CANCELED\"\n  }\n  interface RequestDetails$1 {\n      /** Reason the request has been rejected. */\n      rejectionReason?: string | null;\n  }\n  interface SubmitGroupRequestRequest {\n      /** Group submitted for creation. */\n      group?: Group;\n  }\n  interface SubmitGroupRequestResponse {\n      /** Submitted Group Request. */\n      groupRequest?: GroupRequest;\n  }\n  interface ApproveGroupRequestsRequest {\n      /**\n       * Which items to approve.\n       * @internal\n       */\n      itemsToApprove?: ItemsToUpdate$1;\n      /** Group Request IDs to approve. Limited to `100`. */\n      groupRequestIds?: string[];\n  }\n  enum ItemsToUpdate$1 {\n      /** Take into account only items which are listed in request. */\n      BY_ID = \"BY_ID\",\n      /** Update all items. */\n      ALL_ITEMS = \"ALL_ITEMS\"\n  }\n  interface ApproveGroupRequestsResponse {\n      /** Approved Group Requests. */\n      groupRequest?: GroupRequest[];\n  }\n  interface GroupRequestApproved {\n      /** Approved group request. */\n      groupRequest?: GroupRequest;\n  }\n  interface RejectGroupRequestsRequest {\n      /**\n       * Which items to reject.\n       * @internal\n       */\n      itemsToReject?: ItemsToUpdate$1;\n      /** Rejection data. */\n      rejections?: Rejection$1[];\n  }\n  interface Rejection$1 {\n      /** ID of the Group Request to reject. */\n      groupRequestId?: string;\n      /** Rejection reason. Free text displayed to the creator of the rejected Group Request. Limited to 1,000 characters. */\n      reason?: string | null;\n  }\n  interface RejectGroupRequestsResponse {\n      /** Rejected Group Requests. */\n      groupRequest?: GroupRequest[];\n  }\n  interface GroupRequestRejected {\n      /** Rejected group request. */\n      groupRequest?: GroupRequest;\n  }\n  interface CancelGroupRequestRequest {\n      /** ID of the Group Request to cancel. */\n      groupRequestId: string;\n  }\n  interface CancelGroupRequestResponse {\n      /** Canceled Group Request. */\n      groupRequest?: GroupRequest;\n  }\n  interface ListGroupRequestsRequest {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All Group requests.\n       * - `CURRENT_MEMBER` - Group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      /** Number of items to load. Maximum `100`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  enum OwnershipFilter$1 {\n      /** All items. */\n      ALL = \"ALL\",\n      /** Items for current site member. */\n      CURRENT_MEMBER = \"CURRENT_MEMBER\"\n  }\n  interface ListGroupRequestsResponse {\n      /** Group Requests. */\n      groupRequests?: GroupRequest[];\n      metadata?: PagingMetadata$2;\n  }\n  interface PagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryGroupRequestsRequest {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All group requests.\n       * - `CURRENT_MEMBER` - Group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      query?: Query$1;\n  }\n  interface Query$1 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryGroupRequestsResponse {\n      /** Retrieved Group Requests. */\n      groupRequests?: GroupRequest[];\n      metadata?: PagingMetadata$2;\n  }\n  /**\n   * Submit a group request.\n   * Can be used in case `GroupsAppSettings.create_groups_policy` = `MEMBERS_WITH_APPROVAL`.\n   * This endpoint doesn't support server signing.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function submitGroupRequest(options?: SubmitGroupRequestOptions): Promise<SubmitGroupRequestResponse>;\n  interface SubmitGroupRequestOptions {\n      /** Group submitted for creation. */\n      group?: Group;\n  }\n  /**\n   * Approves Group Requests.\n   * Only admins can approve Group Requests.\n   * @public\n   * @documentationMaturity preview\n   */\n  function approveGroupRequests(options?: ApproveGroupRequestsOptions): Promise<ApproveGroupRequestsResponse>;\n  interface ApproveGroupRequestsOptions {\n      /**\n       * Which items to approve.\n       * @internal\n       */\n      itemsToApprove?: ItemsToUpdate$1;\n      /** Group Request IDs to approve. Limited to `100`. */\n      groupRequestIds?: string[];\n  }\n  /**\n   * Rejects Group Requests.\n   * Only admins can reject Group Requests.\n   * @public\n   * @documentationMaturity preview\n   */\n  function rejectGroupRequests(options?: RejectGroupRequestsOptions): Promise<RejectGroupRequestsResponse>;\n  interface RejectGroupRequestsOptions {\n      /**\n       * Which items to reject.\n       * @internal\n       */\n      itemsToReject?: ItemsToUpdate$1;\n      /** Rejection data. */\n      rejections?: Rejection$1[];\n  }\n  /**\n   * Cancels a Group Request.\n   * Group managers always have access to this functionality. Site members can cancel their own group requests.\n   * This endpoint doesn't support server signing.\n   * @param groupRequestId - ID of the Group Request to cancel.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupRequestId\n   */\n  function cancelGroupRequest(groupRequestId: string): Promise<CancelGroupRequestResponse>;\n  /**\n   * Lists group requests across the site.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listGroupRequests(options?: ListGroupRequestsOptions): Promise<ListGroupRequestsResponse>;\n  interface ListGroupRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All Group requests.\n       * - `CURRENT_MEMBER` - Group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      /** Number of items to load. Maximum `100`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  /**\n   * Retrieves a list of groups requests across the site.\n   *\n   * Supported fields for filtering:\n   * - `status`\n   *\n   * Supported fields for sorting:\n   * - `createdDate`\n   * @public\n   * @documentationMaturity preview\n   */\n  function queryGroupRequests(options?: QueryGroupRequestsOptions): Promise<QueryGroupRequestsResponse>;\n  interface QueryGroupRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All group requests.\n       * - `CURRENT_MEMBER` - Group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      query?: Query$1;\n  }\n  \n  type socialGroupsV2GroupRequest_universal_d_GroupRequest = GroupRequest;\n  type socialGroupsV2GroupRequest_universal_d_Group = Group;\n  type socialGroupsV2GroupRequest_universal_d_Type = Type;\n  const socialGroupsV2GroupRequest_universal_d_Type: typeof Type;\n  type socialGroupsV2GroupRequest_universal_d_Events = Events;\n  type socialGroupsV2GroupRequest_universal_d_Logo = Logo;\n  type socialGroupsV2GroupRequest_universal_d_GroupDetailsPosition = GroupDetailsPosition;\n  type socialGroupsV2GroupRequest_universal_d_Image = Image;\n  type socialGroupsV2GroupRequest_universal_d_Position = Position;\n  type socialGroupsV2GroupRequest_universal_d_PrivacyStatus = PrivacyStatus;\n  const socialGroupsV2GroupRequest_universal_d_PrivacyStatus: typeof PrivacyStatus;\n  type socialGroupsV2GroupRequest_universal_d_AccessRestriction = AccessRestriction;\n  type socialGroupsV2GroupRequest_universal_d_AccessRestrictionDataOneOf = AccessRestrictionDataOneOf;\n  type socialGroupsV2GroupRequest_universal_d_GroupDetails = GroupDetails;\n  type socialGroupsV2GroupRequest_universal_d_CoverImage = CoverImage;\n  type socialGroupsV2GroupRequest_universal_d_GroupSettings = GroupSettings;\n  type socialGroupsV2GroupRequest_universal_d_Identity = Identity;\n  type socialGroupsV2GroupRequest_universal_d_IdentityType = IdentityType;\n  const socialGroupsV2GroupRequest_universal_d_IdentityType: typeof IdentityType;\n  type socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestRequest = SubmitGroupRequestRequest;\n  type socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestResponse = SubmitGroupRequestResponse;\n  type socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsRequest = ApproveGroupRequestsRequest;\n  type socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsResponse = ApproveGroupRequestsResponse;\n  type socialGroupsV2GroupRequest_universal_d_GroupRequestApproved = GroupRequestApproved;\n  type socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsRequest = RejectGroupRequestsRequest;\n  type socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsResponse = RejectGroupRequestsResponse;\n  type socialGroupsV2GroupRequest_universal_d_GroupRequestRejected = GroupRequestRejected;\n  type socialGroupsV2GroupRequest_universal_d_CancelGroupRequestRequest = CancelGroupRequestRequest;\n  type socialGroupsV2GroupRequest_universal_d_CancelGroupRequestResponse = CancelGroupRequestResponse;\n  type socialGroupsV2GroupRequest_universal_d_ListGroupRequestsRequest = ListGroupRequestsRequest;\n  type socialGroupsV2GroupRequest_universal_d_ListGroupRequestsResponse = ListGroupRequestsResponse;\n  type socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsRequest = QueryGroupRequestsRequest;\n  type socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsResponse = QueryGroupRequestsResponse;\n  const socialGroupsV2GroupRequest_universal_d_submitGroupRequest: typeof submitGroupRequest;\n  type socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestOptions = SubmitGroupRequestOptions;\n  const socialGroupsV2GroupRequest_universal_d_approveGroupRequests: typeof approveGroupRequests;\n  type socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsOptions = ApproveGroupRequestsOptions;\n  const socialGroupsV2GroupRequest_universal_d_rejectGroupRequests: typeof rejectGroupRequests;\n  type socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsOptions = RejectGroupRequestsOptions;\n  const socialGroupsV2GroupRequest_universal_d_cancelGroupRequest: typeof cancelGroupRequest;\n  const socialGroupsV2GroupRequest_universal_d_listGroupRequests: typeof listGroupRequests;\n  type socialGroupsV2GroupRequest_universal_d_ListGroupRequestsOptions = ListGroupRequestsOptions;\n  const socialGroupsV2GroupRequest_universal_d_queryGroupRequests: typeof queryGroupRequests;\n  type socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsOptions = QueryGroupRequestsOptions;\n  namespace socialGroupsV2GroupRequest_universal_d {\n    export {\n      __debug$3 as __debug,\n      socialGroupsV2GroupRequest_universal_d_GroupRequest as GroupRequest,\n      socialGroupsV2GroupRequest_universal_d_Group as Group,\n      socialGroupsV2GroupRequest_universal_d_Type as Type,\n      socialGroupsV2GroupRequest_universal_d_Events as Events,\n      socialGroupsV2GroupRequest_universal_d_Logo as Logo,\n      socialGroupsV2GroupRequest_universal_d_GroupDetailsPosition as GroupDetailsPosition,\n      socialGroupsV2GroupRequest_universal_d_Image as Image,\n      socialGroupsV2GroupRequest_universal_d_Position as Position,\n      socialGroupsV2GroupRequest_universal_d_PrivacyStatus as PrivacyStatus,\n      socialGroupsV2GroupRequest_universal_d_AccessRestriction as AccessRestriction,\n      socialGroupsV2GroupRequest_universal_d_AccessRestrictionDataOneOf as AccessRestrictionDataOneOf,\n      socialGroupsV2GroupRequest_universal_d_GroupDetails as GroupDetails,\n      socialGroupsV2GroupRequest_universal_d_CoverImage as CoverImage,\n      socialGroupsV2GroupRequest_universal_d_GroupSettings as GroupSettings,\n      socialGroupsV2GroupRequest_universal_d_Identity as Identity,\n      socialGroupsV2GroupRequest_universal_d_IdentityType as IdentityType,\n      RequestStatus$1 as RequestStatus,\n      RequestDetails$1 as RequestDetails,\n      socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestRequest as SubmitGroupRequestRequest,\n      socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestResponse as SubmitGroupRequestResponse,\n      socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsRequest as ApproveGroupRequestsRequest,\n      ItemsToUpdate$1 as ItemsToUpdate,\n      socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsResponse as ApproveGroupRequestsResponse,\n      socialGroupsV2GroupRequest_universal_d_GroupRequestApproved as GroupRequestApproved,\n      socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsRequest as RejectGroupRequestsRequest,\n      Rejection$1 as Rejection,\n      socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsResponse as RejectGroupRequestsResponse,\n      socialGroupsV2GroupRequest_universal_d_GroupRequestRejected as GroupRequestRejected,\n      socialGroupsV2GroupRequest_universal_d_CancelGroupRequestRequest as CancelGroupRequestRequest,\n      socialGroupsV2GroupRequest_universal_d_CancelGroupRequestResponse as CancelGroupRequestResponse,\n      socialGroupsV2GroupRequest_universal_d_ListGroupRequestsRequest as ListGroupRequestsRequest,\n      OwnershipFilter$1 as OwnershipFilter,\n      socialGroupsV2GroupRequest_universal_d_ListGroupRequestsResponse as ListGroupRequestsResponse,\n      PagingMetadata$2 as PagingMetadata,\n      socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsRequest as QueryGroupRequestsRequest,\n      Query$1 as Query,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$2 as Paging,\n      socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsResponse as QueryGroupRequestsResponse,\n      socialGroupsV2GroupRequest_universal_d_submitGroupRequest as submitGroupRequest,\n      socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestOptions as SubmitGroupRequestOptions,\n      socialGroupsV2GroupRequest_universal_d_approveGroupRequests as approveGroupRequests,\n      socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsOptions as ApproveGroupRequestsOptions,\n      socialGroupsV2GroupRequest_universal_d_rejectGroupRequests as rejectGroupRequests,\n      socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsOptions as RejectGroupRequestsOptions,\n      socialGroupsV2GroupRequest_universal_d_cancelGroupRequest as cancelGroupRequest,\n      socialGroupsV2GroupRequest_universal_d_listGroupRequests as listGroupRequests,\n      socialGroupsV2GroupRequest_universal_d_ListGroupRequestsOptions as ListGroupRequestsOptions,\n      socialGroupsV2GroupRequest_universal_d_queryGroupRequests as queryGroupRequests,\n      socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsOptions as QueryGroupRequestsOptions,\n    };\n  }\n  \n  const __debug$2: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * A group member may have multiple roles in a single group.\n   * Currently, only `MEMBER` and `ADMIN` roles are supported, but more roles may be available in the future.\n   */\n  interface GroupRole {\n      /**\n       * Member's role.\n       * - `MEMBER` - Regular group member.\n       * - `ADMIN` - Group administrator.\n       */\n      value?: Role;\n  }\n  enum Role {\n      UNKNOWN_ROLE = \"UNKNOWN_ROLE\",\n      /** Regular group member. */\n      MEMBER = \"MEMBER\",\n      /** Group administrator. */\n      ADMIN = \"ADMIN\"\n  }\n  interface AssignRoleRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberIds?: string[];\n      /** Member IDs. Limited to 100 member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberIds?: string[];\n      /** Role to assign. */\n      role?: GroupRole;\n  }\n  interface AssignRoleResponse {\n      /** Group ID. */\n      groupId?: string;\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberIds?: string[];\n      /** Member IDs. Limited to 100 member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberIds?: string[];\n      /** Assigned role. */\n      role?: GroupRole;\n  }\n  interface RoleAssignedToGroupMember {\n      /** Group ID in which role was assigned. */\n      groupId?: string;\n      /** Group member to whom the role was assigned. */\n      groupMember?: GroupMember;\n      /** Assigned group role. */\n      role?: GroupRole;\n      /** ID of site member who assigned the role. It can be empty if the role was assigned by a third-party application. */\n      assignedById?: string | null;\n  }\n  interface GroupMember {\n      /**\n       * __Deprecated.__ Use `memberId` instead.\n       * This property will be removed on June 30, 2022.\n       * @readonly\n       */\n      siteMemberId?: string;\n      /**\n       * Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details.\n       * @readonly\n       */\n      memberId?: string;\n      /** Group Member Role. */\n      role?: GroupRole;\n      /**\n       * Date and time the group Member joined the group.\n       * @readonly\n       */\n      joinedDate?: Date;\n      /**\n       * @internal\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  interface UnassignRoleRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberIds?: string[];\n      /** Member IDs. Limited to 100 member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberIds?: string[];\n      /** Role to unassign. */\n      role?: GroupRole;\n  }\n  interface UnassignRoleResponse {\n      /** Group ID. */\n      groupId?: string;\n      /** Member IDs. Limited to 100 member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      siteMemberIds?: string[];\n      /** Member IDs. Limited to 100 member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberIds?: string[];\n      /** Unassigned role. */\n      role?: GroupRole;\n  }\n  interface RoleUnassignedFromGroupMember {\n      /** Group ID in which role was unassigned. */\n      groupId?: string;\n      /** Group member from whom role was removed. */\n      groupMember?: GroupMember;\n      /** Unassigned group role. */\n      role?: GroupRole;\n      /** ID of site member who unassigned the role. It can be empty if the role was assigned by a third-party application. */\n      unassignedById?: string | null;\n  }\n  /**\n   * Assigns a specific role to members.\n   * >**Notes:**\n   * > + Only admins can assign roles.\n   * > + You cannot create new members via this endpoint.\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function assignRole(groupId: string, options?: AssignRoleOptions): Promise<AssignRoleResponse>;\n  interface AssignRoleOptions {\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberIds?: string[];\n      /** Member IDs. Limited to 100 member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberIds?: string[];\n      /** Role to assign. */\n      role?: GroupRole;\n  }\n  /**\n   * Unassigns a role from members.\n   * >**Notes:**\n   * > + Only admins can unassign roles.\n   * > + You cannot remove members via this endpoint.\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function unassignRole(groupId: string, options?: UnassignRoleOptions): Promise<UnassignRoleResponse>;\n  interface UnassignRoleOptions {\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       */\n      siteMemberIds?: string[];\n      /** Member IDs. Limited to 100 member IDs. See [Members API](https://dev.wix.com/api/rest/members/members/member-object) for details. */\n      memberIds?: string[];\n      /** Role to unassign. */\n      role?: GroupRole;\n  }\n  \n  type socialGroupsV2GroupRole_universal_d_GroupRole = GroupRole;\n  type socialGroupsV2GroupRole_universal_d_Role = Role;\n  const socialGroupsV2GroupRole_universal_d_Role: typeof Role;\n  type socialGroupsV2GroupRole_universal_d_AssignRoleRequest = AssignRoleRequest;\n  type socialGroupsV2GroupRole_universal_d_AssignRoleResponse = AssignRoleResponse;\n  type socialGroupsV2GroupRole_universal_d_RoleAssignedToGroupMember = RoleAssignedToGroupMember;\n  type socialGroupsV2GroupRole_universal_d_GroupMember = GroupMember;\n  type socialGroupsV2GroupRole_universal_d_UnassignRoleRequest = UnassignRoleRequest;\n  type socialGroupsV2GroupRole_universal_d_UnassignRoleResponse = UnassignRoleResponse;\n  type socialGroupsV2GroupRole_universal_d_RoleUnassignedFromGroupMember = RoleUnassignedFromGroupMember;\n  const socialGroupsV2GroupRole_universal_d_assignRole: typeof assignRole;\n  type socialGroupsV2GroupRole_universal_d_AssignRoleOptions = AssignRoleOptions;\n  const socialGroupsV2GroupRole_universal_d_unassignRole: typeof unassignRole;\n  type socialGroupsV2GroupRole_universal_d_UnassignRoleOptions = UnassignRoleOptions;\n  namespace socialGroupsV2GroupRole_universal_d {\n    export {\n      __debug$2 as __debug,\n      socialGroupsV2GroupRole_universal_d_GroupRole as GroupRole,\n      socialGroupsV2GroupRole_universal_d_Role as Role,\n      socialGroupsV2GroupRole_universal_d_AssignRoleRequest as AssignRoleRequest,\n      socialGroupsV2GroupRole_universal_d_AssignRoleResponse as AssignRoleResponse,\n      socialGroupsV2GroupRole_universal_d_RoleAssignedToGroupMember as RoleAssignedToGroupMember,\n      socialGroupsV2GroupRole_universal_d_GroupMember as GroupMember,\n      socialGroupsV2GroupRole_universal_d_UnassignRoleRequest as UnassignRoleRequest,\n      socialGroupsV2GroupRole_universal_d_UnassignRoleResponse as UnassignRoleResponse,\n      socialGroupsV2GroupRole_universal_d_RoleUnassignedFromGroupMember as RoleUnassignedFromGroupMember,\n      socialGroupsV2GroupRole_universal_d_assignRole as assignRole,\n      socialGroupsV2GroupRole_universal_d_AssignRoleOptions as AssignRoleOptions,\n      socialGroupsV2GroupRole_universal_d_unassignRole as unassignRole,\n      socialGroupsV2GroupRole_universal_d_UnassignRoleOptions as UnassignRoleOptions,\n    };\n  }\n  \n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * To join a private group, a site member must submit a Join Request, which can be approved or rejected by an admin.\n   * When the request is approved, the site member becomes a group member.\n   */\n  interface JoinGroupRequest {\n      /**\n       * Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details.\n       * @readonly\n       */\n      siteMemberId?: string;\n      /**\n       * Join group request status.\n       * - `PENDING` - Pending join group request.\n       * - `APPROVED` - Approved join group request.\n       * - `REJECTED` - Rejected join group request.\n       * - `CANCELED` - Canceled join group request.\n       */\n      status?: RequestStatus;\n      /** Join group request details. */\n      requestDetails?: RequestDetails;\n      /**\n       * Date and time the request was created.\n       * @internal\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Id of the group\n       * @internal\n       * @readonly\n       */\n      groupId?: string | null;\n  }\n  enum RequestStatus {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Pending request. */\n      PENDING = \"PENDING\",\n      /** Approved request. */\n      APPROVED = \"APPROVED\",\n      /** Rejected request. */\n      REJECTED = \"REJECTED\",\n      /** Cancelled request. */\n      CANCELLED = \"CANCELLED\",\n      /** Canceled request. */\n      CANCELED = \"CANCELED\"\n  }\n  interface RequestDetails {\n      /** Reason the request has been rejected. */\n      rejectionReason?: string | null;\n  }\n  interface GetJoinRequirementsRequest {\n      /** Group ID. */\n      groupId: string;\n      /** Answers to membership questions. They can be empty, but submit join group request will fail if an answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$1[];\n      autoInviteId?: string | null;\n  }\n  /** Answer to a membership question. */\n  interface MembershipQuestionAnswer$1 {\n      /** Question ID. */\n      _id?: string;\n      /** Answer text. */\n      text?: string | null;\n  }\n  interface GetJoinRequirementsResponse {\n      violation?: Violation;\n  }\n  interface PaidPlan {\n      planId?: string;\n      name?: string;\n      startsAt?: Date;\n  }\n  enum ViolationType {\n      NONE = \"NONE\",\n      NOT_LOGGED_IN = \"NOT_LOGGED_IN\",\n      ALREADY_JOINED = \"ALREADY_JOINED\",\n      SECRET_GROUP = \"SECRET_GROUP\",\n      EVENTS = \"EVENTS\",\n      PRICING_PlANS = \"PRICING_PlANS\",\n      MEMBERSHIP_QUESTIONS = \"MEMBERSHIP_QUESTIONS\",\n      ADMIN_APPROVAL = \"ADMIN_APPROVAL\"\n  }\n  interface EventsViolationOptions {\n      /** Events which allow user to join the group. */\n      eventIds?: string[];\n  }\n  interface PricingPlanViolationOptions {\n      installed?: boolean;\n      /** Plan ids which allow user to join the group. */\n      requiredPlans?: PaidPlan[];\n      /** Plan ids which user have, but they don't allow to join group right now, because they start some time in the future. */\n      futurePlans?: PaidPlan[];\n  }\n  interface MembershipQuestionViolationOptions {\n      requiredQuestionIds?: string[];\n  }\n  interface Violation extends ViolationViolationOptionsOneOf {\n      violationType?: ViolationType;\n      eventsOptions?: EventsViolationOptions;\n      pricingPlansOptions?: PricingPlanViolationOptions;\n      membershipQuestionsOptions?: MembershipQuestionViolationOptions;\n  }\n  /** @oneof */\n  interface ViolationViolationOptionsOneOf {\n      eventsOptions?: EventsViolationOptions;\n      pricingPlansOptions?: PricingPlanViolationOptions;\n      membershipQuestionsOptions?: MembershipQuestionViolationOptions;\n  }\n  interface SubmitJoinGroupRequestRequest {\n      /** Relevant group. */\n      groupId: string;\n      /** Answers to membership questions. They can be empty, but submit join group request will fail if an answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$1[];\n  }\n  interface SubmitJoinGroupRequestResponse {\n      /** Submitted join group request. */\n      joinGroupRequest?: JoinGroupRequest;\n  }\n  interface CancelJoinGroupRequestRequest {\n      /** Relevant group. */\n      groupId: string;\n  }\n  interface CancelJoinGroupRequestResponse {\n      /** Cancelled join group request. */\n      joinGroupRequest?: JoinGroupRequest;\n  }\n  interface JoinGroupRequestCancelled {\n      /** Group ID for which join request was cancelled. */\n      groupId?: string;\n      /** Cancelled join group request. */\n      joinGroupRequest?: JoinGroupRequest;\n  }\n  interface ApproveJoinGroupRequestsRequest {\n      /** Relevant group. */\n      groupId: string;\n      /** @internal */\n      itemsToApprove?: ItemsToUpdate;\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       *\n       * Required if `memberIds` is not provided.\n       */\n      siteMemberIds?: string[];\n      /**\n       * Member IDs to approve.\n       *\n       * <blockquote class='important'>\n       *\n       * __Important:__\n       * This parameter will be required after the deprecated `siteMemberIds` is removed\n       * on June 30, 2022.\n       *\n       * </blockquote>\n       */\n      memberIds?: string[];\n  }\n  enum ItemsToUpdate {\n      /** Take into account only items which are listed in request. */\n      BY_ID = \"BY_ID\",\n      /** Update all items. */\n      ALL_ITEMS = \"ALL_ITEMS\"\n  }\n  interface ApproveJoinGroupRequestsResponse {\n      /** Approved join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n  }\n  interface JoinGroupRequestApproved {\n      /** Group ID for which join request was approved. */\n      groupId?: string;\n      /** Approved join group request. */\n      joinGroupRequest?: JoinGroupRequest;\n  }\n  interface RejectJoinGroupRequestsRequest {\n      /** Relevant group. */\n      groupId: string;\n      /** @internal */\n      itemsToReject?: ItemsToUpdate;\n      /** Rejection data. */\n      rejections?: Rejection[];\n  }\n  interface Rejection {\n      /**\n       * __Deprecated.__ Use `memberId` instead.\n       * This parameter will be removed on June 30, 2022.\n       * @internal\n       */\n      siteMemberId?: string;\n      /** Member ID to reject. */\n      memberId?: string;\n      /** Rejection reason. Free text that will be displayed to the rejected site member (max 1,000 characters). */\n      reason?: string | null;\n  }\n  interface RejectJoinGroupRequestsResponse {\n      /** Rejected join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n  }\n  interface JoinGroupRequestRejected {\n      /** Group ID for which join request was rejected. */\n      groupId?: string;\n      /** Rejected join group request. */\n      joinGroupRequest?: JoinGroupRequest;\n  }\n  interface ListJoinGroupRequestsRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * Ownership filter. In case of server signing, `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      limit?: number | null;\n      offset?: number | null;\n  }\n  enum OwnershipFilter {\n      /** All items. */\n      ALL = \"ALL\",\n      /** Items for current site member. */\n      CURRENT_MEMBER = \"CURRENT_MEMBER\"\n  }\n  interface ListJoinGroupRequestsResponse {\n      /** Join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n      metadata?: PagingMetadata$1;\n  }\n  interface PagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryJoinGroupRequestsRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * Ownership filter. In case of server signing `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryJoinGroupRequestsResponse {\n      /** Join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n      metadata?: PagingMetadata$1;\n  }\n  interface RejectAllJoinGroupRequestsRequest {\n  }\n  interface RejectAllJoinGroupRequestsResponse {\n      /** Rejected join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n  }\n  interface ApproveAllJoinGroupRequestsRequest {\n  }\n  interface ApproveAllJoinGroupRequestsResponse {\n      /** Rejected join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n  }\n  interface ListAllJoinGroupRequestsRequest {\n  }\n  interface ListAllJoinGroupRequestsResponse {\n      /** Join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n  }\n  /**\n   * Get join group requirements. Will return empty response for public groups and details to fulfil if it's private.\n   * @param groupId - Group ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function getJoinRequirements(groupId: string, options?: GetJoinRequirementsOptions): Promise<GetJoinRequirementsResponse>;\n  interface GetJoinRequirementsOptions {\n      /** Answers to membership questions. They can be empty, but submit join group request will fail if an answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$1[];\n      autoInviteId?: string | null;\n  }\n  /**\n   * Submits a join group request.\n   * Relevant only for private groups.\n   * @param groupId - Relevant group.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function submitJoinGroupRequest(groupId: string, options?: SubmitJoinGroupRequestOptions): Promise<SubmitJoinGroupRequestResponse>;\n  interface SubmitJoinGroupRequestOptions {\n      /** Answers to membership questions. They can be empty, but submit join group request will fail if an answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$1[];\n  }\n  /**\n   * Cancels a join group request.\n   * A site member can cancel only their own pending Join group requests.\n   * @param groupId - Relevant group.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function cancelJoinGroupRequest(groupId: string): Promise<CancelJoinGroupRequestResponse>;\n  /**\n   * Approves pending join group requests.\n   * Group managers always have access to this functionality. In some cases, site owners will allow group members to use this functionality as well.\n   * @param groupId - Relevant group.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function approveJoinGroupRequests(groupId: string, options?: ApproveJoinGroupRequestsOptions): Promise<ApproveJoinGroupRequestsResponse>;\n  interface ApproveJoinGroupRequestsOptions {\n      /** @internal */\n      itemsToApprove?: ItemsToUpdate;\n      /**\n       * __Deprecated.__ Use `memberIds` instead.\n       * This parameter will be removed on June 30, 2022.\n       *\n       * Required if `memberIds` is not provided.\n       */\n      siteMemberIds?: string[];\n      /**\n       * Member IDs to approve.\n       *\n       * <blockquote class='important'>\n       *\n       * __Important:__\n       * This parameter will be required after the deprecated `siteMemberIds` is removed\n       * on June 30, 2022.\n       *\n       * </blockquote>\n       */\n      memberIds?: string[];\n  }\n  /**\n   * Rejects pending join group requests.\n   * Group managers always have access to this functionality. In some cases, site owners will allow group members to use this functionality as well.\n   * @param groupId - Relevant group.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function rejectJoinGroupRequests(groupId: string, options?: RejectJoinGroupRequestsOptions): Promise<RejectJoinGroupRequestsResponse>;\n  interface RejectJoinGroupRequestsOptions {\n      /** @internal */\n      itemsToReject?: ItemsToUpdate;\n      /** Rejection data. */\n      rejections?: Rejection[];\n  }\n  /**\n   * Retrieves a list of up to 100 join group requests, given the provided paging.\n   * Group managers always have access to this functionality (site members can access their own join group requests in the site).\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function listJoinGroupRequests(groupId: string, options?: ListJoinGroupRequestsOptions): Promise<ListJoinGroupRequestsResponse>;\n  interface ListJoinGroupRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing, `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      limit?: number | null;\n      offset?: number | null;\n  }\n  /**\n   * Retrieves a list of up to 100 join group requests, given the provided paging and filtering.\n   * Group managers always have access to this functionality (site members can access their own join group requests in the site).\n   *\n   * Supported fields for filtering:\n   * - `status`\n   *\n   * No supported fields for sorting\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function queryJoinGroupRequests(groupId: string, options?: QueryJoinGroupRequestsOptions): Promise<QueryJoinGroupRequestsResponse>;\n  interface QueryJoinGroupRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      query?: Query;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   */\n  function rejectAllJoinGroupRequests(): Promise<RejectAllJoinGroupRequestsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   */\n  function approveAllJoinGroupRequests(): Promise<ApproveAllJoinGroupRequestsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   */\n  function listAllJoinGroupRequests(): Promise<ListAllJoinGroupRequestsResponse>;\n  \n  type socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequest = JoinGroupRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_RequestStatus = RequestStatus;\n  const socialGroupsV2JoinGroupRequest_universal_d_RequestStatus: typeof RequestStatus;\n  type socialGroupsV2JoinGroupRequest_universal_d_RequestDetails = RequestDetails;\n  type socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsRequest = GetJoinRequirementsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsResponse = GetJoinRequirementsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_PaidPlan = PaidPlan;\n  type socialGroupsV2JoinGroupRequest_universal_d_ViolationType = ViolationType;\n  const socialGroupsV2JoinGroupRequest_universal_d_ViolationType: typeof ViolationType;\n  type socialGroupsV2JoinGroupRequest_universal_d_EventsViolationOptions = EventsViolationOptions;\n  type socialGroupsV2JoinGroupRequest_universal_d_PricingPlanViolationOptions = PricingPlanViolationOptions;\n  type socialGroupsV2JoinGroupRequest_universal_d_MembershipQuestionViolationOptions = MembershipQuestionViolationOptions;\n  type socialGroupsV2JoinGroupRequest_universal_d_Violation = Violation;\n  type socialGroupsV2JoinGroupRequest_universal_d_ViolationViolationOptionsOneOf = ViolationViolationOptionsOneOf;\n  type socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestRequest = SubmitJoinGroupRequestRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestResponse = SubmitJoinGroupRequestResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_CancelJoinGroupRequestRequest = CancelJoinGroupRequestRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_CancelJoinGroupRequestResponse = CancelJoinGroupRequestResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestCancelled = JoinGroupRequestCancelled;\n  type socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsRequest = ApproveJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_ItemsToUpdate = ItemsToUpdate;\n  const socialGroupsV2JoinGroupRequest_universal_d_ItemsToUpdate: typeof ItemsToUpdate;\n  type socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsResponse = ApproveJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestApproved = JoinGroupRequestApproved;\n  type socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsRequest = RejectJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_Rejection = Rejection;\n  type socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsResponse = RejectJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestRejected = JoinGroupRequestRejected;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsRequest = ListJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_OwnershipFilter = OwnershipFilter;\n  const socialGroupsV2JoinGroupRequest_universal_d_OwnershipFilter: typeof OwnershipFilter;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsResponse = ListJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsRequest = QueryJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_Query = Query;\n  type socialGroupsV2JoinGroupRequest_universal_d_Sorting = Sorting;\n  type socialGroupsV2JoinGroupRequest_universal_d_SortOrder = SortOrder;\n  const socialGroupsV2JoinGroupRequest_universal_d_SortOrder: typeof SortOrder;\n  type socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsResponse = QueryJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_RejectAllJoinGroupRequestsRequest = RejectAllJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_RejectAllJoinGroupRequestsResponse = RejectAllJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_ApproveAllJoinGroupRequestsRequest = ApproveAllJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_ApproveAllJoinGroupRequestsResponse = ApproveAllJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListAllJoinGroupRequestsRequest = ListAllJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListAllJoinGroupRequestsResponse = ListAllJoinGroupRequestsResponse;\n  const socialGroupsV2JoinGroupRequest_universal_d_getJoinRequirements: typeof getJoinRequirements;\n  type socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsOptions = GetJoinRequirementsOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_submitJoinGroupRequest: typeof submitJoinGroupRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestOptions = SubmitJoinGroupRequestOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_cancelJoinGroupRequest: typeof cancelJoinGroupRequest;\n  const socialGroupsV2JoinGroupRequest_universal_d_approveJoinGroupRequests: typeof approveJoinGroupRequests;\n  type socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsOptions = ApproveJoinGroupRequestsOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_rejectJoinGroupRequests: typeof rejectJoinGroupRequests;\n  type socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsOptions = RejectJoinGroupRequestsOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_listJoinGroupRequests: typeof listJoinGroupRequests;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsOptions = ListJoinGroupRequestsOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_queryJoinGroupRequests: typeof queryJoinGroupRequests;\n  type socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsOptions = QueryJoinGroupRequestsOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_rejectAllJoinGroupRequests: typeof rejectAllJoinGroupRequests;\n  const socialGroupsV2JoinGroupRequest_universal_d_approveAllJoinGroupRequests: typeof approveAllJoinGroupRequests;\n  const socialGroupsV2JoinGroupRequest_universal_d_listAllJoinGroupRequests: typeof listAllJoinGroupRequests;\n  namespace socialGroupsV2JoinGroupRequest_universal_d {\n    export {\n      __debug$1 as __debug,\n      socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequest as JoinGroupRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_RequestStatus as RequestStatus,\n      socialGroupsV2JoinGroupRequest_universal_d_RequestDetails as RequestDetails,\n      socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsRequest as GetJoinRequirementsRequest,\n      MembershipQuestionAnswer$1 as MembershipQuestionAnswer,\n      socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsResponse as GetJoinRequirementsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_PaidPlan as PaidPlan,\n      socialGroupsV2JoinGroupRequest_universal_d_ViolationType as ViolationType,\n      socialGroupsV2JoinGroupRequest_universal_d_EventsViolationOptions as EventsViolationOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_PricingPlanViolationOptions as PricingPlanViolationOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_MembershipQuestionViolationOptions as MembershipQuestionViolationOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_Violation as Violation,\n      socialGroupsV2JoinGroupRequest_universal_d_ViolationViolationOptionsOneOf as ViolationViolationOptionsOneOf,\n      socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestRequest as SubmitJoinGroupRequestRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestResponse as SubmitJoinGroupRequestResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_CancelJoinGroupRequestRequest as CancelJoinGroupRequestRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_CancelJoinGroupRequestResponse as CancelJoinGroupRequestResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestCancelled as JoinGroupRequestCancelled,\n      socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsRequest as ApproveJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_ItemsToUpdate as ItemsToUpdate,\n      socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsResponse as ApproveJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestApproved as JoinGroupRequestApproved,\n      socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsRequest as RejectJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_Rejection as Rejection,\n      socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsResponse as RejectJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestRejected as JoinGroupRequestRejected,\n      socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsRequest as ListJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_OwnershipFilter as OwnershipFilter,\n      socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsResponse as ListJoinGroupRequestsResponse,\n      PagingMetadata$1 as PagingMetadata,\n      socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsRequest as QueryJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_Query as Query,\n      socialGroupsV2JoinGroupRequest_universal_d_Sorting as Sorting,\n      socialGroupsV2JoinGroupRequest_universal_d_SortOrder as SortOrder,\n      Paging$1 as Paging,\n      socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsResponse as QueryJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_RejectAllJoinGroupRequestsRequest as RejectAllJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_RejectAllJoinGroupRequestsResponse as RejectAllJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_ApproveAllJoinGroupRequestsRequest as ApproveAllJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_ApproveAllJoinGroupRequestsResponse as ApproveAllJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_ListAllJoinGroupRequestsRequest as ListAllJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_ListAllJoinGroupRequestsResponse as ListAllJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_getJoinRequirements as getJoinRequirements,\n      socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsOptions as GetJoinRequirementsOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_submitJoinGroupRequest as submitJoinGroupRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestOptions as SubmitJoinGroupRequestOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_cancelJoinGroupRequest as cancelJoinGroupRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_approveJoinGroupRequests as approveJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsOptions as ApproveJoinGroupRequestsOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_rejectJoinGroupRequests as rejectJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsOptions as RejectJoinGroupRequestsOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_listJoinGroupRequests as listJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsOptions as ListJoinGroupRequestsOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_queryJoinGroupRequests as queryJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsOptions as QueryJoinGroupRequestsOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_rejectAllJoinGroupRequests as rejectAllJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_approveAllJoinGroupRequests as approveAllJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_listAllJoinGroupRequests as listAllJoinGroupRequests,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * Question asked to members when joining a group. Site owners can set whether it is required to answer the question in the Business Manager.\n   * > **Note:** Only admins can create or update membership questions.\n   */\n  interface MembershipQuestion {\n      /**\n       * Question ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Whether a member must answer this question when joining the group. */\n      required?: boolean;\n      /** Question text. */\n      text?: string;\n  }\n  interface ListMembershipQuestionsRequest {\n      /** Group ID. */\n      groupId: string;\n  }\n  interface ListMembershipQuestionsResponse {\n      /** Membership questions. */\n      questions?: MembershipQuestion[];\n  }\n  interface CreateOrReplaceAllMembershipQuestionsRequest {\n      /** Group ID. */\n      groupId: string;\n      /** New membership questions. */\n      questions?: MembershipQuestion[];\n  }\n  interface CreateOrReplaceAllMembershipQuestionsResponse {\n      /** Membership questions. */\n      questions?: MembershipQuestion[];\n  }\n  interface ListAnswersRequest {\n      /** Group ID. */\n      groupId: string;\n      /** Member IDs. If no member ID is provided, answers for all members will be returned. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      memberIds?: string[];\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListAnswersResponse {\n      /** Answers to the membership questions, grouped by member. */\n      memberAnswers?: MemberMembershipQuestionAnswers[];\n      /** Membership questions by question ID. Inludes only questions that have been answered by the specified members. */\n      questions?: Record<string, MembershipQuestion>;\n      metadata?: PagingMetadata;\n  }\n  interface MemberMembershipQuestionAnswers {\n      /** Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      memberId?: string;\n      /** Answers to the membership question. */\n      answers?: MembershipQuestionAnswer[];\n  }\n  /** Answer to a membership question. */\n  interface MembershipQuestionAnswer {\n      /** Question ID. */\n      _id?: string;\n      /** Answer text. */\n      text?: string | null;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface ListAnswerCountsRequest {\n      memberIds?: string[];\n  }\n  interface ListAnswerCountsResponse {\n      memberAnswerCounts?: MemberAnswerCount[];\n  }\n  interface MemberAnswerCount {\n      memberId?: string;\n      groupId?: string;\n      count?: number;\n  }\n  /**\n   * Retrieves the membership questions for the given group.\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function listMembershipQuestions(groupId: string): Promise<ListMembershipQuestionsResponse>;\n  /**\n   * Creates membership questions if none have been set up. Otherwise, replaces all existing questions.\n   * > **Notes:**\n   * > * Only admins can create or replace membership questions.\n   * > * Providing an empty array means that members won't have to answer any question when joining the group.\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function createOrReplaceAllMembershipQuestions(groupId: string, options?: CreateOrReplaceAllMembershipQuestionsOptions): Promise<CreateOrReplaceAllMembershipQuestionsResponse>;\n  interface CreateOrReplaceAllMembershipQuestionsOptions {\n      /** New membership questions. */\n      questions?: MembershipQuestion[];\n  }\n  /**\n   * Retrieves the answers to the membership questions, given the provided filters.\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   */\n  function listAnswers(groupId: string, options?: ListAnswersOptions): Promise<ListAnswersResponse>;\n  interface ListAnswersOptions {\n      /** Member IDs. If no member ID is provided, answers for all members will be returned. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      memberIds?: string[];\n      paging?: Paging;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   */\n  function listAnswerCounts(options?: ListAnswerCountsOptions): Promise<ListAnswerCountsResponse>;\n  interface ListAnswerCountsOptions {\n      memberIds?: string[];\n  }\n  \n  const socialGroupsV2MembershipQuestion_universal_d___debug: typeof __debug;\n  type socialGroupsV2MembershipQuestion_universal_d_MembershipQuestion = MembershipQuestion;\n  type socialGroupsV2MembershipQuestion_universal_d_ListMembershipQuestionsRequest = ListMembershipQuestionsRequest;\n  type socialGroupsV2MembershipQuestion_universal_d_ListMembershipQuestionsResponse = ListMembershipQuestionsResponse;\n  type socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsRequest = CreateOrReplaceAllMembershipQuestionsRequest;\n  type socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsResponse = CreateOrReplaceAllMembershipQuestionsResponse;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswersRequest = ListAnswersRequest;\n  type socialGroupsV2MembershipQuestion_universal_d_Paging = Paging;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswersResponse = ListAnswersResponse;\n  type socialGroupsV2MembershipQuestion_universal_d_MemberMembershipQuestionAnswers = MemberMembershipQuestionAnswers;\n  type socialGroupsV2MembershipQuestion_universal_d_MembershipQuestionAnswer = MembershipQuestionAnswer;\n  type socialGroupsV2MembershipQuestion_universal_d_PagingMetadata = PagingMetadata;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsRequest = ListAnswerCountsRequest;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsResponse = ListAnswerCountsResponse;\n  type socialGroupsV2MembershipQuestion_universal_d_MemberAnswerCount = MemberAnswerCount;\n  const socialGroupsV2MembershipQuestion_universal_d_listMembershipQuestions: typeof listMembershipQuestions;\n  const socialGroupsV2MembershipQuestion_universal_d_createOrReplaceAllMembershipQuestions: typeof createOrReplaceAllMembershipQuestions;\n  type socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsOptions = CreateOrReplaceAllMembershipQuestionsOptions;\n  const socialGroupsV2MembershipQuestion_universal_d_listAnswers: typeof listAnswers;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswersOptions = ListAnswersOptions;\n  const socialGroupsV2MembershipQuestion_universal_d_listAnswerCounts: typeof listAnswerCounts;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsOptions = ListAnswerCountsOptions;\n  namespace socialGroupsV2MembershipQuestion_universal_d {\n    export {\n      socialGroupsV2MembershipQuestion_universal_d___debug as __debug,\n      socialGroupsV2MembershipQuestion_universal_d_MembershipQuestion as MembershipQuestion,\n      socialGroupsV2MembershipQuestion_universal_d_ListMembershipQuestionsRequest as ListMembershipQuestionsRequest,\n      socialGroupsV2MembershipQuestion_universal_d_ListMembershipQuestionsResponse as ListMembershipQuestionsResponse,\n      socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsRequest as CreateOrReplaceAllMembershipQuestionsRequest,\n      socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsResponse as CreateOrReplaceAllMembershipQuestionsResponse,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswersRequest as ListAnswersRequest,\n      socialGroupsV2MembershipQuestion_universal_d_Paging as Paging,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswersResponse as ListAnswersResponse,\n      socialGroupsV2MembershipQuestion_universal_d_MemberMembershipQuestionAnswers as MemberMembershipQuestionAnswers,\n      socialGroupsV2MembershipQuestion_universal_d_MembershipQuestionAnswer as MembershipQuestionAnswer,\n      socialGroupsV2MembershipQuestion_universal_d_PagingMetadata as PagingMetadata,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsRequest as ListAnswerCountsRequest,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsResponse as ListAnswerCountsResponse,\n      socialGroupsV2MembershipQuestion_universal_d_MemberAnswerCount as MemberAnswerCount,\n      socialGroupsV2MembershipQuestion_universal_d_listMembershipQuestions as listMembershipQuestions,\n      socialGroupsV2MembershipQuestion_universal_d_createOrReplaceAllMembershipQuestions as createOrReplaceAllMembershipQuestions,\n      socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsOptions as CreateOrReplaceAllMembershipQuestionsOptions,\n      socialGroupsV2MembershipQuestion_universal_d_listAnswers as listAnswers,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswersOptions as ListAnswersOptions,\n      socialGroupsV2MembershipQuestion_universal_d_listAnswerCounts as listAnswerCounts,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsOptions as ListAnswerCountsOptions,\n    };\n  }\n  \n  export { socialGroupsV2GroupRequest_universal_d as createRequests, socialGroupsV2Group_universal_d as groups, socialGroupsV2JoinGroupRequest_universal_d as joinRequests, socialGroupsV2GroupMember_universal_d as members, socialGroupsV2MembershipQuestion_universal_d as membershipQuestions, socialGroupsV2GroupRole_universal_d as roles, socialGroupsV2GroupRules_universal_d as rules };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-recommendations-provider.d.ts",
      "content": "declare module \"interfaces-ecom-v1-recommendations-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  /** additional information can be passed via aspects, for example GEO */\n  interface GetRecommendationsRequest {\n      /** The set of items used by algorithms with the `RELATED_ITEMS` `algorithmType` to determine related item recommendations. */\n      items?: CatalogReference[];\n      /** List of algorithms used to find recommended items. Items will be returned in a separate object for each algorithm */\n      algorithmIds?: string[];\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface GetRecommendationsResponse {\n      /**\n       * Related items returned by each algorithm.\n       *\n       * Each object in the array contains an `algorithmId` and a list of the item recommendations provided by that algorithm.\n       */\n      recommendationPerAlgorithm?: RecommendationForAlgorithm[];\n  }\n  interface RecommendationForAlgorithm {\n      /** Id of the algorithm that provided the recommendation. */\n      algorithmId?: string;\n      /** Item recommendations provided by the algorithm. Depending on the algorithm, these recommendations may be influenced by the items provided in the request. */\n      recommendedItems?: CatalogReference[];\n  }\n  interface RecommendationAlgorithmNotSupported {\n      /** Not supported algorithms. */\n      unsupportedAlgorithms?: string[];\n  }\n  interface ItemAppIdNotSupportedError {\n      /** Items with not supported catalogs. */\n      items?: CatalogReference[];\n  }\n  interface RecommendationsProviderConfig {\n      /** App IDs of catalogs for which recommended items can be found. */\n      catalogAppIds?: string[];\n      /** The algorithms that this application can use to calculate item recommendations. */\n      supportedAlgorithms?: AlgorithmConfig[];\n  }\n  interface AlgorithmConfig {\n      /** Algorithm name. This value is not translatable. */\n      name?: string;\n      /** Algorithm description. This describes how the algorithm works and if it has any limitations regarding site content, number of items in the catalog, site traffic, and so on. This value is not translatable. */\n      description?: string;\n      /** A supplemental `description`. It can be used to help break up and organize information. You can, for example, display this information as a tooltip or as an additional section that is collapsed by default. */\n      additionalInfo?: string | null;\n      /**\n       * Algorithms may have the following types:\n       * * `RELATED_ITEMS` - This type of algorithm provides recommendations based on 1 or more other provided items. For example, when an item is added to a cart, the algorithm can suggest other items frequently bought together with that item.\n       * * `GLOBAL` - This type of algorithm provides general recommendations based on site or project statistics. For example, bestsellers or new arrivals.\n       */\n      algorithmType?: AlgorithmType;\n      /** Algorithm ID. This must be unique for a specific app but does not have to be unique across all apps on the site or in the project. */\n      algorithmId?: string;\n  }\n  enum AlgorithmType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      RELATED_ITEMS = \"RELATED_ITEMS\",\n      GLOBAL = \"GLOBAL\"\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetRecommendationsOptions {\n      /** The set of items used by algorithms with the `RELATED_ITEMS` `algorithmType` to determine related item recommendations. */\n      items?: CatalogReference[];\n      /** List of algorithms used to find recommended items. Items will be returned in a separate object for each algorithm */\n      algorithmIds?: string[];\n  }\n  \n  function algorithmNotSupportedError(data: RecommendationAlgorithmNotSupported): BusinessError<RecommendationAlgorithmNotSupported>;\n  function itemAppIdNotSupportedError(data: ItemAppIdNotSupportedError): BusinessError<ItemAppIdNotSupportedError>;\n  \n  const getRecommendationsSpiErrors_d_algorithmNotSupportedError: typeof algorithmNotSupportedError;\n  const getRecommendationsSpiErrors_d_itemAppIdNotSupportedError: typeof itemAppIdNotSupportedError;\n  namespace getRecommendationsSpiErrors_d {\n    export {\n      getRecommendationsSpiErrors_d_algorithmNotSupportedError as algorithmNotSupportedError,\n      getRecommendationsSpiErrors_d_itemAppIdNotSupportedError as itemAppIdNotSupportedError,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      getRecommendationsSpiErrors_d as getRecommendations,\n    };\n  }\n  \n  export { AlgorithmConfig, AlgorithmType, BusinessError, CatalogReference, Context, GetRecommendationsOptions, GetRecommendationsRequest, GetRecommendationsResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, ItemAppIdNotSupportedError, RecommendationAlgorithmNotSupported, RecommendationForAlgorithm, RecommendationsProviderConfig, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-identity-backend.d.ts",
      "content": "declare module \"wix-identity-backend\" {\n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface AccountInvite {\n      /** @readonly */\n      _id?: string;\n      /** @readonly */\n      accountId?: string;\n      email?: string;\n      role?: string;\n      /** @readonly */\n      inviterId?: string;\n      status?: InviteStatus;\n      acceptLink?: string;\n      /** @readonly */\n      inviterAccountId?: string;\n      /** @readonly */\n      acceptedByAccountId?: string | null;\n      dateCreated?: Date;\n      policyIds?: string[];\n      dateUpdated?: Date;\n      assignments?: InviteResourceAssignment[];\n      brandDomain?: string | null;\n      /** Invite expiration date */\n      expirationDate?: Date;\n  }\n  /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */\n  enum InviteStatus {\n      Pending = \"Pending\",\n      Used = \"Used\",\n      Deleted = \"Deleted\",\n      Declined = \"Declined\",\n      Expired = \"Expired\"\n  }\n  interface InviteResourceAssignment {\n      policyId?: string;\n      assignments?: InviteAssignment[];\n  }\n  interface InviteAssignment {\n      /** The resource of the invite assignment */\n      fullNameResource?: FullNameResource;\n      /** A condition that will be applied on the assignment */\n      condition?: PolicyCondition;\n  }\n  interface FullNameResource extends FullNameResourceResourceContextOneOf {\n      /** A specific resource. We will determine the resource type based on the action. */\n      resource?: Resource;\n      /** A specific site (we will retrieve the account that the site belongs to) */\n      siteContext?: SiteResourceContext;\n      /** A specific account */\n      accountContext?: AccountResourceContext;\n      /** A specific organization */\n      organizationContext?: OrganizationResourceContext;\n  }\n  /** @oneof */\n  interface FullNameResourceResourceContextOneOf {\n      /** A specific site (we will retrieve the account that the site belongs to) */\n      siteContext?: SiteResourceContext;\n      /** A specific account */\n      accountContext?: AccountResourceContext;\n      /** A specific organization */\n      organizationContext?: OrganizationResourceContext;\n  }\n  /** Site resource context. It indicates that the resource is under a site (can be the site itself or some asset of a site, like a blog post) */\n  interface SiteResourceContext {\n      metasiteId?: string;\n  }\n  /** Account resource contexts. It indicates that the resource is under the account (can be the account itself or some asset of an account, like a logo or a domain) */\n  interface AccountResourceContext {\n      accountId?: string;\n  }\n  interface OrganizationResourceContext {\n  }\n  /**\n   * A custom resource. Is used to represent some asset that is not a direct resource context (site or account), but something custom.\n   * For example: payment method, blog post, domain, logo.\n   */\n  interface Resource {\n      /** The resource id. */\n      _id?: string | null;\n      /** The resource type */\n      type?: string | null;\n  }\n  interface PolicyCondition {\n      /** The type of the condition */\n      condition?: ConditionType;\n  }\n  interface ConditionType extends ConditionTypeOfOneOf {\n      simpleCondition?: SimpleCondition;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition;\n      environmentCondition?: EnvironmentCondition;\n      /** A single condition */\n      condition?: Condition;\n  }\n  /** @oneof */\n  interface ConditionTypeOfOneOf {\n      simpleCondition?: SimpleCondition;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition;\n      environmentCondition?: EnvironmentCondition;\n      /** A single condition */\n      condition?: Condition;\n  }\n  interface SimpleCondition {\n      attrName?: string;\n      value?: SimpleConditionValue;\n      op?: SimpleConditionOperator;\n      conditionModelId?: string;\n  }\n  interface SimpleConditionValue extends SimpleConditionValueValueOneOf {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface SimpleConditionValueValueOneOf {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  enum SimpleConditionOperator {\n      UNKNOWN_SIMPLE_OP = \"UNKNOWN_SIMPLE_OP\",\n      EQUAL = \"EQUAL\"\n  }\n  interface JoinedCondition {\n      /** The operator that should be used when evaluating the condition */\n      op?: JoinedConditionOperator;\n      /** The conditions that should be evaluated, and then joined using the operator provided */\n      conditions?: ConditionType[];\n  }\n  enum JoinedConditionOperator {\n      UNKNOWN_JOIN_OP = \"UNKNOWN_JOIN_OP\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  interface EnvironmentCondition extends EnvironmentConditionConditionOneOf {\n      experimentCondition?: ExperimentCondition;\n  }\n  /** @oneof */\n  interface EnvironmentConditionConditionOneOf {\n      experimentCondition?: ExperimentCondition;\n  }\n  interface ExperimentCondition {\n      spec?: string;\n      fallbackValue?: string;\n      expectedValue?: string;\n  }\n  interface Condition {\n      /** The unique identifier of the condition model. Indicates which actions the condition is working on */\n      conditionModelId?: string;\n      /** The operator that should be evaluated */\n      operator?: ConditionOperator;\n  }\n  interface ConditionOperator extends ConditionOperatorOperatorsOneOf {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator;\n  }\n  /** @oneof */\n  interface ConditionOperatorOperatorsOneOf {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator;\n  }\n  interface EqualOperator {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the other side (attribute/value) */\n      attrName?: string;\n      /** The value to compare to. If the two parties are equal - we will return true. */\n      value?: ConditionValue;\n  }\n  interface ConditionValue extends ConditionValueValueOneOf {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface ConditionValueValueOneOf {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  interface LikeOperator {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the regex values provided. */\n      attrName?: string;\n      /** The regex values which the attribute value should be evaluated on. If the attribute value matches at least one of the regular expressions provided - we will return true */\n      values?: string[];\n  }\n  interface ExperimentOperator {\n      /** The spec to conduct the experiment on. */\n      spec?: string;\n      /** The value to use if the experiment could not be conducted */\n      fallbackValue?: string;\n      /** The expected value of the experiment conduction. If it matches the actual value - true will be returned. Otherwise - false. */\n      expectedValue?: string;\n  }\n  /** Implies that the policy takes affect only if the depend on subject is permitted as well. */\n  interface DependOnOperator {\n      /** The subject on which the current entry depends on. If the subject is allowed to perform what the query was about - the condition will be evaluated to true. Otherwise - false */\n      dependOnSubject?: Subject;\n  }\n  interface Subject {\n      _id?: string;\n      subjectType?: SubjectType;\n      /** The context of the subject. For example - the context of a user subject is his account. */\n      context?: SubjectContext;\n  }\n  enum SubjectType {\n      UNKNOWN = \"UNKNOWN\",\n      ACCOUNT = \"ACCOUNT\",\n      USER = \"USER\",\n      USER_GROUP = \"USER_GROUP\",\n      MEMBER_GROUP = \"MEMBER_GROUP\",\n      VISITOR_GROUP = \"VISITOR_GROUP\",\n      EXTERNAL_APP = \"EXTERNAL_APP\",\n      ACCOUNT_GROUP = \"ACCOUNT_GROUP\"\n  }\n  interface SubjectContext {\n      _id?: string;\n      contextType?: SubjectContextType;\n  }\n  enum SubjectContextType {\n      UNKNOWN_CTX = \"UNKNOWN_CTX\",\n      ORG_CTX = \"ORG_CTX\",\n      ACCOUNT_CTX = \"ACCOUNT_CTX\"\n  }\n  interface GetAccountInvitesRequest {\n  }\n  interface GetAccountInvitesResponse {\n      invites?: AccountInvite[];\n  }\n  interface GetAccountInviteRequest {\n      _id: string;\n  }\n  interface GetAccountInviteResponse {\n      invite?: AccountInvite;\n  }\n  interface AccountInviteRequest {\n      role?: string;\n      email?: string;\n      policyIds?: string[];\n  }\n  interface AccountInviteResponse {\n      invite?: AccountInvite;\n  }\n  interface CreateInviteRequest {\n      /** An array of new team members' email addresses and their corresponding new assignments to be assigned to it when their invite is accepted. */\n      subjectsAssignments: SubjectInviteAssignments[];\n      /**\n       * An indicator for suppressing (not sending) emails to the assignees.\n       * @internal\n       */\n      suppressEmail?: boolean;\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n  }\n  interface SubjectInviteAssignments {\n      /** invitee email. */\n      subjectEmail?: string;\n      /** an array of assignments to be assigned when the invitee accepts the invite. */\n      assignments?: InviteResourceAssignment[];\n  }\n  interface CreateInviteResponse {\n      successfulInvites?: AccountInvite[];\n      failedInvites?: InviteFailure[];\n  }\n  interface InviteFailure {\n      subjectEmail?: string;\n      errorMessage?: string;\n  }\n  interface BulkAccountInviteRequest {\n      role?: string;\n      emails?: string[];\n      policyIds?: string[];\n  }\n  interface BulkAccountInviteResponse {\n      invites?: AccountInvite[];\n      failedEmails?: string[];\n  }\n  interface ResendAccountInviteRequest {\n      inviteId: string;\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n  }\n  interface AcceptAccountInviteRequest {\n      inviteToken?: string;\n  }\n  interface AcceptAccountInviteResponse {\n  }\n  interface RevokeAccountInviteRequest {\n      inviteId: string;\n  }\n  interface RevokeAccountInviteResponse {\n  }\n  interface UpdateAccountInviteRequest {\n      inviteId: string;\n      role?: string;\n      policyIds?: string[];\n  }\n  interface UpdateAccountInviteResponse {\n  }\n  interface UpdateAccountInviteAssignmentsRequest {\n      inviteId: string;\n      assignments?: InviteResourceAssignment[];\n  }\n  interface UpdateAccountInviteAssignmentsResponse {\n  }\n  interface ParseAccountInviteTokenRequest {\n      inviteToken?: string;\n  }\n  interface ParseAccountInviteTokenResponse {\n      inviteId?: string;\n      accountId?: string;\n      status?: InviteStatus;\n  }\n  /** @documentationMaturity preview */\n  function getInvites(): Promise<GetAccountInvitesResponse>;\n  /** @documentationMaturity preview\n   * @requiredField _id\n   */\n  function getInvite(_id: string): Promise<GetAccountInviteResponse>;\n  /**\n   * Deprecated: please use CreateInvite\n   * @documentationMaturity preview */\n  function invite(options?: InviteOptions): Promise<AccountInviteResponse>;\n  interface InviteOptions {\n      role?: string;\n      email?: string;\n      policyIds?: string[];\n  }\n  /**\n   * Create and send an invite to an array of potential users via email to become team members on this account.\n   * The invite may be limited to a specific resource.\n   * The caller identity must have sufficient permissions to send invites to the account and to any additional site\n   * contexts.\n   * Maximum amount of new users per invite is 50.\n   * @param subjectsAssignments - An array of new team members' email addresses and their corresponding new assignments to be assigned to it when their invite is accepted.\n   * @documentationMaturity preview\n   * @requiredField subjectsAssignments\n   */\n  function createInvite(subjectsAssignments: SubjectInviteAssignments[], options?: CreateInviteOptions): Promise<CreateInviteResponse>;\n  interface CreateInviteOptions {\n      /**\n       * An indicator for suppressing (not sending) emails to the assignees.\n       * @internal\n       */\n      suppressEmail?: boolean;\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n  }\n  /**\n   * Deprecated: please use CreateInvite\n   * @documentationMaturity preview */\n  function bulkInvite(options?: BulkInviteOptions): Promise<BulkAccountInviteResponse>;\n  interface BulkInviteOptions {\n      role?: string;\n      emails?: string[];\n      policyIds?: string[];\n  }\n  /** @documentationMaturity preview\n   * @requiredField inviteId\n   */\n  function resendInvite(inviteId: string, options?: ResendInviteOptions): Promise<AccountInviteResponse>;\n  interface ResendInviteOptions {\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n  }\n  /** @documentationMaturity preview */\n  function acceptInvite(options?: AcceptInviteOptions): Promise<void>;\n  interface AcceptInviteOptions {\n      inviteToken?: string;\n  }\n  /** @documentationMaturity preview\n   * @requiredField inviteId\n   */\n  function revokeInvite(inviteId: string): Promise<void>;\n  /**\n   * Deprecated: please use UpdateInviteAssignments\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   */\n  function updateInvite(inviteId: string, options?: UpdateInviteOptions): Promise<void>;\n  interface UpdateInviteOptions {\n      role?: string;\n      policyIds?: string[];\n  }\n  /** @documentationMaturity preview\n   * @requiredField inviteId\n   */\n  function updateInviteAssignments(inviteId: string, options?: UpdateInviteAssignmentsOptions): Promise<void>;\n  interface UpdateInviteAssignmentsOptions {\n      assignments?: InviteResourceAssignment[];\n  }\n  \n  type identityInvitesV1AccountInvite_universal_d_AccountInvite = AccountInvite;\n  type identityInvitesV1AccountInvite_universal_d_InviteStatus = InviteStatus;\n  const identityInvitesV1AccountInvite_universal_d_InviteStatus: typeof InviteStatus;\n  type identityInvitesV1AccountInvite_universal_d_InviteResourceAssignment = InviteResourceAssignment;\n  type identityInvitesV1AccountInvite_universal_d_InviteAssignment = InviteAssignment;\n  type identityInvitesV1AccountInvite_universal_d_FullNameResource = FullNameResource;\n  type identityInvitesV1AccountInvite_universal_d_FullNameResourceResourceContextOneOf = FullNameResourceResourceContextOneOf;\n  type identityInvitesV1AccountInvite_universal_d_SiteResourceContext = SiteResourceContext;\n  type identityInvitesV1AccountInvite_universal_d_AccountResourceContext = AccountResourceContext;\n  type identityInvitesV1AccountInvite_universal_d_OrganizationResourceContext = OrganizationResourceContext;\n  type identityInvitesV1AccountInvite_universal_d_Resource = Resource;\n  type identityInvitesV1AccountInvite_universal_d_PolicyCondition = PolicyCondition;\n  type identityInvitesV1AccountInvite_universal_d_ConditionType = ConditionType;\n  type identityInvitesV1AccountInvite_universal_d_ConditionTypeOfOneOf = ConditionTypeOfOneOf;\n  type identityInvitesV1AccountInvite_universal_d_SimpleCondition = SimpleCondition;\n  type identityInvitesV1AccountInvite_universal_d_SimpleConditionValue = SimpleConditionValue;\n  type identityInvitesV1AccountInvite_universal_d_SimpleConditionValueValueOneOf = SimpleConditionValueValueOneOf;\n  type identityInvitesV1AccountInvite_universal_d_SimpleConditionOperator = SimpleConditionOperator;\n  const identityInvitesV1AccountInvite_universal_d_SimpleConditionOperator: typeof SimpleConditionOperator;\n  type identityInvitesV1AccountInvite_universal_d_JoinedCondition = JoinedCondition;\n  type identityInvitesV1AccountInvite_universal_d_JoinedConditionOperator = JoinedConditionOperator;\n  const identityInvitesV1AccountInvite_universal_d_JoinedConditionOperator: typeof JoinedConditionOperator;\n  type identityInvitesV1AccountInvite_universal_d_EnvironmentCondition = EnvironmentCondition;\n  type identityInvitesV1AccountInvite_universal_d_EnvironmentConditionConditionOneOf = EnvironmentConditionConditionOneOf;\n  type identityInvitesV1AccountInvite_universal_d_ExperimentCondition = ExperimentCondition;\n  type identityInvitesV1AccountInvite_universal_d_Condition = Condition;\n  type identityInvitesV1AccountInvite_universal_d_ConditionOperator = ConditionOperator;\n  type identityInvitesV1AccountInvite_universal_d_ConditionOperatorOperatorsOneOf = ConditionOperatorOperatorsOneOf;\n  type identityInvitesV1AccountInvite_universal_d_EqualOperator = EqualOperator;\n  type identityInvitesV1AccountInvite_universal_d_ConditionValue = ConditionValue;\n  type identityInvitesV1AccountInvite_universal_d_ConditionValueValueOneOf = ConditionValueValueOneOf;\n  type identityInvitesV1AccountInvite_universal_d_LikeOperator = LikeOperator;\n  type identityInvitesV1AccountInvite_universal_d_ExperimentOperator = ExperimentOperator;\n  type identityInvitesV1AccountInvite_universal_d_DependOnOperator = DependOnOperator;\n  type identityInvitesV1AccountInvite_universal_d_Subject = Subject;\n  type identityInvitesV1AccountInvite_universal_d_SubjectType = SubjectType;\n  const identityInvitesV1AccountInvite_universal_d_SubjectType: typeof SubjectType;\n  type identityInvitesV1AccountInvite_universal_d_SubjectContext = SubjectContext;\n  type identityInvitesV1AccountInvite_universal_d_SubjectContextType = SubjectContextType;\n  const identityInvitesV1AccountInvite_universal_d_SubjectContextType: typeof SubjectContextType;\n  type identityInvitesV1AccountInvite_universal_d_GetAccountInvitesRequest = GetAccountInvitesRequest;\n  type identityInvitesV1AccountInvite_universal_d_GetAccountInvitesResponse = GetAccountInvitesResponse;\n  type identityInvitesV1AccountInvite_universal_d_GetAccountInviteRequest = GetAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_GetAccountInviteResponse = GetAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_AccountInviteRequest = AccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_AccountInviteResponse = AccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_CreateInviteRequest = CreateInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_SubjectInviteAssignments = SubjectInviteAssignments;\n  type identityInvitesV1AccountInvite_universal_d_CreateInviteResponse = CreateInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_InviteFailure = InviteFailure;\n  type identityInvitesV1AccountInvite_universal_d_BulkAccountInviteRequest = BulkAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_BulkAccountInviteResponse = BulkAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_ResendAccountInviteRequest = ResendAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteRequest = AcceptAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteResponse = AcceptAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteRequest = RevokeAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteResponse = RevokeAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteRequest = UpdateAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteResponse = UpdateAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsRequest = UpdateAccountInviteAssignmentsRequest;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsResponse = UpdateAccountInviteAssignmentsResponse;\n  type identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenRequest = ParseAccountInviteTokenRequest;\n  type identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenResponse = ParseAccountInviteTokenResponse;\n  const identityInvitesV1AccountInvite_universal_d_getInvites: typeof getInvites;\n  const identityInvitesV1AccountInvite_universal_d_getInvite: typeof getInvite;\n  const identityInvitesV1AccountInvite_universal_d_invite: typeof invite;\n  type identityInvitesV1AccountInvite_universal_d_InviteOptions = InviteOptions;\n  const identityInvitesV1AccountInvite_universal_d_createInvite: typeof createInvite;\n  type identityInvitesV1AccountInvite_universal_d_CreateInviteOptions = CreateInviteOptions;\n  const identityInvitesV1AccountInvite_universal_d_bulkInvite: typeof bulkInvite;\n  type identityInvitesV1AccountInvite_universal_d_BulkInviteOptions = BulkInviteOptions;\n  const identityInvitesV1AccountInvite_universal_d_resendInvite: typeof resendInvite;\n  type identityInvitesV1AccountInvite_universal_d_ResendInviteOptions = ResendInviteOptions;\n  const identityInvitesV1AccountInvite_universal_d_acceptInvite: typeof acceptInvite;\n  type identityInvitesV1AccountInvite_universal_d_AcceptInviteOptions = AcceptInviteOptions;\n  const identityInvitesV1AccountInvite_universal_d_revokeInvite: typeof revokeInvite;\n  const identityInvitesV1AccountInvite_universal_d_updateInvite: typeof updateInvite;\n  type identityInvitesV1AccountInvite_universal_d_UpdateInviteOptions = UpdateInviteOptions;\n  const identityInvitesV1AccountInvite_universal_d_updateInviteAssignments: typeof updateInviteAssignments;\n  type identityInvitesV1AccountInvite_universal_d_UpdateInviteAssignmentsOptions = UpdateInviteAssignmentsOptions;\n  namespace identityInvitesV1AccountInvite_universal_d {\n    export {\n      __debug$1 as __debug,\n      identityInvitesV1AccountInvite_universal_d_AccountInvite as AccountInvite,\n      identityInvitesV1AccountInvite_universal_d_InviteStatus as InviteStatus,\n      identityInvitesV1AccountInvite_universal_d_InviteResourceAssignment as InviteResourceAssignment,\n      identityInvitesV1AccountInvite_universal_d_InviteAssignment as InviteAssignment,\n      identityInvitesV1AccountInvite_universal_d_FullNameResource as FullNameResource,\n      identityInvitesV1AccountInvite_universal_d_FullNameResourceResourceContextOneOf as FullNameResourceResourceContextOneOf,\n      identityInvitesV1AccountInvite_universal_d_SiteResourceContext as SiteResourceContext,\n      identityInvitesV1AccountInvite_universal_d_AccountResourceContext as AccountResourceContext,\n      identityInvitesV1AccountInvite_universal_d_OrganizationResourceContext as OrganizationResourceContext,\n      identityInvitesV1AccountInvite_universal_d_Resource as Resource,\n      identityInvitesV1AccountInvite_universal_d_PolicyCondition as PolicyCondition,\n      identityInvitesV1AccountInvite_universal_d_ConditionType as ConditionType,\n      identityInvitesV1AccountInvite_universal_d_ConditionTypeOfOneOf as ConditionTypeOfOneOf,\n      identityInvitesV1AccountInvite_universal_d_SimpleCondition as SimpleCondition,\n      identityInvitesV1AccountInvite_universal_d_SimpleConditionValue as SimpleConditionValue,\n      identityInvitesV1AccountInvite_universal_d_SimpleConditionValueValueOneOf as SimpleConditionValueValueOneOf,\n      identityInvitesV1AccountInvite_universal_d_SimpleConditionOperator as SimpleConditionOperator,\n      identityInvitesV1AccountInvite_universal_d_JoinedCondition as JoinedCondition,\n      identityInvitesV1AccountInvite_universal_d_JoinedConditionOperator as JoinedConditionOperator,\n      identityInvitesV1AccountInvite_universal_d_EnvironmentCondition as EnvironmentCondition,\n      identityInvitesV1AccountInvite_universal_d_EnvironmentConditionConditionOneOf as EnvironmentConditionConditionOneOf,\n      identityInvitesV1AccountInvite_universal_d_ExperimentCondition as ExperimentCondition,\n      identityInvitesV1AccountInvite_universal_d_Condition as Condition,\n      identityInvitesV1AccountInvite_universal_d_ConditionOperator as ConditionOperator,\n      identityInvitesV1AccountInvite_universal_d_ConditionOperatorOperatorsOneOf as ConditionOperatorOperatorsOneOf,\n      identityInvitesV1AccountInvite_universal_d_EqualOperator as EqualOperator,\n      identityInvitesV1AccountInvite_universal_d_ConditionValue as ConditionValue,\n      identityInvitesV1AccountInvite_universal_d_ConditionValueValueOneOf as ConditionValueValueOneOf,\n      identityInvitesV1AccountInvite_universal_d_LikeOperator as LikeOperator,\n      identityInvitesV1AccountInvite_universal_d_ExperimentOperator as ExperimentOperator,\n      identityInvitesV1AccountInvite_universal_d_DependOnOperator as DependOnOperator,\n      identityInvitesV1AccountInvite_universal_d_Subject as Subject,\n      identityInvitesV1AccountInvite_universal_d_SubjectType as SubjectType,\n      identityInvitesV1AccountInvite_universal_d_SubjectContext as SubjectContext,\n      identityInvitesV1AccountInvite_universal_d_SubjectContextType as SubjectContextType,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInvitesRequest as GetAccountInvitesRequest,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInvitesResponse as GetAccountInvitesResponse,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInviteRequest as GetAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInviteResponse as GetAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_AccountInviteRequest as AccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_AccountInviteResponse as AccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_CreateInviteRequest as CreateInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_SubjectInviteAssignments as SubjectInviteAssignments,\n      identityInvitesV1AccountInvite_universal_d_CreateInviteResponse as CreateInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_InviteFailure as InviteFailure,\n      identityInvitesV1AccountInvite_universal_d_BulkAccountInviteRequest as BulkAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_BulkAccountInviteResponse as BulkAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_ResendAccountInviteRequest as ResendAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteRequest as AcceptAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteResponse as AcceptAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteRequest as RevokeAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteResponse as RevokeAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteRequest as UpdateAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteResponse as UpdateAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsRequest as UpdateAccountInviteAssignmentsRequest,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsResponse as UpdateAccountInviteAssignmentsResponse,\n      identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenRequest as ParseAccountInviteTokenRequest,\n      identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenResponse as ParseAccountInviteTokenResponse,\n      identityInvitesV1AccountInvite_universal_d_getInvites as getInvites,\n      identityInvitesV1AccountInvite_universal_d_getInvite as getInvite,\n      identityInvitesV1AccountInvite_universal_d_invite as invite,\n      identityInvitesV1AccountInvite_universal_d_InviteOptions as InviteOptions,\n      identityInvitesV1AccountInvite_universal_d_createInvite as createInvite,\n      identityInvitesV1AccountInvite_universal_d_CreateInviteOptions as CreateInviteOptions,\n      identityInvitesV1AccountInvite_universal_d_bulkInvite as bulkInvite,\n      identityInvitesV1AccountInvite_universal_d_BulkInviteOptions as BulkInviteOptions,\n      identityInvitesV1AccountInvite_universal_d_resendInvite as resendInvite,\n      identityInvitesV1AccountInvite_universal_d_ResendInviteOptions as ResendInviteOptions,\n      identityInvitesV1AccountInvite_universal_d_acceptInvite as acceptInvite,\n      identityInvitesV1AccountInvite_universal_d_AcceptInviteOptions as AcceptInviteOptions,\n      identityInvitesV1AccountInvite_universal_d_revokeInvite as revokeInvite,\n      identityInvitesV1AccountInvite_universal_d_updateInvite as updateInvite,\n      identityInvitesV1AccountInvite_universal_d_UpdateInviteOptions as UpdateInviteOptions,\n      identityInvitesV1AccountInvite_universal_d_updateInviteAssignments as updateInviteAssignments,\n      identityInvitesV1AccountInvite_universal_d_UpdateInviteAssignmentsOptions as UpdateInviteAssignmentsOptions,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface RefreshToken {\n      token?: string;\n  }\n  interface AuthorizeRequest {\n      /** Tells the authorization server which grant to execute. */\n      responseType?: string;\n      /** The ID of the application that asks for authorization. */\n      clientId?: string;\n      /** Holds a URL. A successful response from this endpoint results in a redirect to this URL. */\n      redirectUri?: string | null;\n      /** A list of scopes that the application requires. */\n      scope?: Scope;\n      /** An opaque value, used for security purposes. If this request parameter is set in the request, then it is returned to the application as part of the redirect_uri. */\n      state?: string;\n      /** (Optional) How the result of the authorization request is formatted */\n      responseMode?: string | null;\n      /** PKCE hashed code */\n      codeChallenge?: string | null;\n      /** PKCE hashing method */\n      codeChallengeMethod?: string | null;\n      /** Current client session */\n      sessionToken?: string | null;\n  }\n  interface Scope {\n      /** A list of permissions that the application requires. Empty list means the default list of scopes. */\n      ids?: string[];\n  }\n  interface RawHttpResponse {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry[];\n  }\n  interface HeadersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface TokenRequest extends TokenRequestGrantTypeOneOf {\n      /** Authorization code given at the authorize endpoint. */\n      authorizationCode?: AuthorizationCode;\n      /** Authorization code given at the authorize endpoint with the PKCE extention. */\n      pkce?: PKCE;\n      /** Device code given at the device code endpoint. */\n      deviceCode?: DeviceCode;\n      /** Refresh Token that was issued by this service beforehand. */\n      refreshToken?: RefreshToken;\n      /** Client credentials for authenticating a client */\n      clientCredentials?: ClientCredentials;\n      /** Granting a pre authenticated token for basic access. */\n      preAuthenticated?: PreAuthenticated;\n  }\n  /** @oneof */\n  interface TokenRequestGrantTypeOneOf {\n      /** Authorization code given at the authorize endpoint. */\n      authorizationCode?: AuthorizationCode;\n      /** Authorization code given at the authorize endpoint with the PKCE extention. */\n      pkce?: PKCE;\n      /** Device code given at the device code endpoint. */\n      deviceCode?: DeviceCode;\n      /** Refresh Token that was issued by this service beforehand. */\n      refreshToken?: RefreshToken;\n      /** Client credentials for authenticating a client */\n      clientCredentials?: ClientCredentials;\n      /** Granting a pre authenticated token for basic access. */\n      preAuthenticated?: PreAuthenticated;\n  }\n  interface AuthorizationCode {\n      code?: string;\n  }\n  interface PKCE {\n      authorizationCode?: AuthorizationCode;\n      /** PKCE code */\n      code?: string | null;\n  }\n  interface DeviceCode {\n      deviceCode?: string;\n  }\n  interface ClientCredentials {\n  }\n  interface PreAuthenticated {\n      clientId?: string;\n  }\n  interface TokenResponse {\n      accessToken?: AccessToken;\n      refreshToken?: RefreshToken;\n  }\n  interface AccessToken {\n      /** The access token string as issued by the authorization server. */\n      token?: string;\n  }\n  interface DeviceCodeRequest {\n      /** The ID of the application that asks for authorization. */\n      clientId?: string;\n      /** A list of permissions that the application requires. Empty list means the default list of scopes. */\n      scope?: Scope;\n  }\n  interface DeviceCodeResponse {\n      /** is the unique code for the device. When the user goes to the verification_uri in their browser-based device, this code will be bound to their session. */\n      deviceCode?: string;\n      /** contains the code that should be input at the verification_uri to authorize the device. */\n      userCode?: string;\n      /** contains the URL the user should visit to authorize the device. */\n      verificationUri?: string;\n      /** indicates the lifetime (in seconds) of the device_code and user_code. */\n      expiresIn?: number;\n      /** indicates the interval (in seconds) at which the app should poll the token URL to request a token. clients MUST use 5 as the default */\n      interval?: number | null;\n  }\n  interface DeviceVerifyRequest {\n      /** User code representing a currently authorizing device. */\n      userCode?: string;\n  }\n  interface DeviceVerifyResponse {\n  }\n  /** @public\n   * @documentationMaturity preview\n   */\n  function authorize(options?: AuthorizeOptions): Promise<RawHttpResponse>;\n  interface AuthorizeOptions {\n      /** Tells the authorization server which grant to execute. */\n      responseType?: string;\n      /** The ID of the application that asks for authorization. */\n      clientId?: string;\n      /** Holds a URL. A successful response from this endpoint results in a redirect to this URL. */\n      redirectUri?: string | null;\n      /** A list of scopes that the application requires. */\n      scope?: Scope;\n      /** An opaque value, used for security purposes. If this request parameter is set in the request, then it is returned to the application as part of the redirect_uri. */\n      state?: string;\n      /** (Optional) How the result of the authorization request is formatted */\n      responseMode?: string | null;\n      /** PKCE hashed code */\n      codeChallenge?: string | null;\n      /** PKCE hashing method */\n      codeChallengeMethod?: string | null;\n      /** Current client session */\n      sessionToken?: string | null;\n  }\n  /** @public\n   * @documentationMaturity preview\n   */\n  function token(options?: TokenOptions): Promise<TokenResponse>;\n  interface TokenOptions {\n      /** Authorization code given at the authorize endpoint. */\n      authorizationCode?: AuthorizationCode;\n      /** Authorization code given at the authorize endpoint with the PKCE extention. */\n      pkce?: PKCE;\n      /** Device code given at the device code endpoint. */\n      deviceCode?: DeviceCode;\n      /** Refresh Token that was issued by this service beforehand. */\n      refreshToken?: RefreshToken;\n      /** Client credentials for authenticating a client */\n      clientCredentials?: ClientCredentials;\n      /** Granting a pre authenticated token for basic access. */\n      preAuthenticated?: PreAuthenticated;\n  }\n  /**\n   * this endpoint serves the Device Authorization Flow as described in https://www.rfc-editor.org/rfc/pdfrfc/rfc8628.txt.pdf\n   * @public\n   * @documentationMaturity preview\n   */\n  function deviceCode(options?: DeviceCodeOptions): Promise<DeviceCodeResponse>;\n  interface DeviceCodeOptions {\n      /** The ID of the application that asks for authorization. */\n      clientId?: string;\n      /** A list of permissions that the application requires. Empty list means the default list of scopes. */\n      scope?: Scope;\n  }\n  /**\n   * this endpoint serves the Device Authorization Flow as described in https://www.rfc-editor.org/rfc/pdfrfc/rfc8628.txt.pdf\n   * @public\n   * @documentationMaturity preview\n   */\n  function deviceVerify(options?: DeviceVerifyOptions): Promise<void>;\n  interface DeviceVerifyOptions {\n      /** User code representing a currently authorizing device. */\n      userCode?: string;\n  }\n  \n  const identityOauthV1RefreshToken_universal_d___debug: typeof __debug;\n  type identityOauthV1RefreshToken_universal_d_RefreshToken = RefreshToken;\n  type identityOauthV1RefreshToken_universal_d_AuthorizeRequest = AuthorizeRequest;\n  type identityOauthV1RefreshToken_universal_d_Scope = Scope;\n  type identityOauthV1RefreshToken_universal_d_RawHttpResponse = RawHttpResponse;\n  type identityOauthV1RefreshToken_universal_d_HeadersEntry = HeadersEntry;\n  type identityOauthV1RefreshToken_universal_d_TokenRequest = TokenRequest;\n  type identityOauthV1RefreshToken_universal_d_TokenRequestGrantTypeOneOf = TokenRequestGrantTypeOneOf;\n  type identityOauthV1RefreshToken_universal_d_AuthorizationCode = AuthorizationCode;\n  type identityOauthV1RefreshToken_universal_d_PKCE = PKCE;\n  type identityOauthV1RefreshToken_universal_d_DeviceCode = DeviceCode;\n  type identityOauthV1RefreshToken_universal_d_ClientCredentials = ClientCredentials;\n  type identityOauthV1RefreshToken_universal_d_PreAuthenticated = PreAuthenticated;\n  type identityOauthV1RefreshToken_universal_d_TokenResponse = TokenResponse;\n  type identityOauthV1RefreshToken_universal_d_AccessToken = AccessToken;\n  type identityOauthV1RefreshToken_universal_d_DeviceCodeRequest = DeviceCodeRequest;\n  type identityOauthV1RefreshToken_universal_d_DeviceCodeResponse = DeviceCodeResponse;\n  type identityOauthV1RefreshToken_universal_d_DeviceVerifyRequest = DeviceVerifyRequest;\n  type identityOauthV1RefreshToken_universal_d_DeviceVerifyResponse = DeviceVerifyResponse;\n  const identityOauthV1RefreshToken_universal_d_authorize: typeof authorize;\n  type identityOauthV1RefreshToken_universal_d_AuthorizeOptions = AuthorizeOptions;\n  const identityOauthV1RefreshToken_universal_d_token: typeof token;\n  type identityOauthV1RefreshToken_universal_d_TokenOptions = TokenOptions;\n  const identityOauthV1RefreshToken_universal_d_deviceCode: typeof deviceCode;\n  type identityOauthV1RefreshToken_universal_d_DeviceCodeOptions = DeviceCodeOptions;\n  const identityOauthV1RefreshToken_universal_d_deviceVerify: typeof deviceVerify;\n  type identityOauthV1RefreshToken_universal_d_DeviceVerifyOptions = DeviceVerifyOptions;\n  namespace identityOauthV1RefreshToken_universal_d {\n    export {\n      identityOauthV1RefreshToken_universal_d___debug as __debug,\n      identityOauthV1RefreshToken_universal_d_RefreshToken as RefreshToken,\n      identityOauthV1RefreshToken_universal_d_AuthorizeRequest as AuthorizeRequest,\n      identityOauthV1RefreshToken_universal_d_Scope as Scope,\n      identityOauthV1RefreshToken_universal_d_RawHttpResponse as RawHttpResponse,\n      identityOauthV1RefreshToken_universal_d_HeadersEntry as HeadersEntry,\n      identityOauthV1RefreshToken_universal_d_TokenRequest as TokenRequest,\n      identityOauthV1RefreshToken_universal_d_TokenRequestGrantTypeOneOf as TokenRequestGrantTypeOneOf,\n      identityOauthV1RefreshToken_universal_d_AuthorizationCode as AuthorizationCode,\n      identityOauthV1RefreshToken_universal_d_PKCE as PKCE,\n      identityOauthV1RefreshToken_universal_d_DeviceCode as DeviceCode,\n      identityOauthV1RefreshToken_universal_d_ClientCredentials as ClientCredentials,\n      identityOauthV1RefreshToken_universal_d_PreAuthenticated as PreAuthenticated,\n      identityOauthV1RefreshToken_universal_d_TokenResponse as TokenResponse,\n      identityOauthV1RefreshToken_universal_d_AccessToken as AccessToken,\n      identityOauthV1RefreshToken_universal_d_DeviceCodeRequest as DeviceCodeRequest,\n      identityOauthV1RefreshToken_universal_d_DeviceCodeResponse as DeviceCodeResponse,\n      identityOauthV1RefreshToken_universal_d_DeviceVerifyRequest as DeviceVerifyRequest,\n      identityOauthV1RefreshToken_universal_d_DeviceVerifyResponse as DeviceVerifyResponse,\n      identityOauthV1RefreshToken_universal_d_authorize as authorize,\n      identityOauthV1RefreshToken_universal_d_AuthorizeOptions as AuthorizeOptions,\n      identityOauthV1RefreshToken_universal_d_token as token,\n      identityOauthV1RefreshToken_universal_d_TokenOptions as TokenOptions,\n      identityOauthV1RefreshToken_universal_d_deviceCode as deviceCode,\n      identityOauthV1RefreshToken_universal_d_DeviceCodeOptions as DeviceCodeOptions,\n      identityOauthV1RefreshToken_universal_d_deviceVerify as deviceVerify,\n      identityOauthV1RefreshToken_universal_d_DeviceVerifyOptions as DeviceVerifyOptions,\n    };\n  }\n  \n  export { identityInvitesV1AccountInvite_universal_d as invitesService, identityOauthV1RefreshToken_universal_d as oauth };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-entitlements-backend.d.ts",
      "content": "declare module \"wix-entitlements-backend\" {\n  const __debug$2: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Balance {\n      /**\n       * The entitlement from which the balance has originated\n       * @readonly\n       */\n      poolId?: string;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * The owner of this balance\n       * @readonly\n       */\n      beneficiary?: IdentificationData$2;\n      /** Balance for the entitlement */\n      balance?: BalanceAmount;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface BalanceAmount {\n      /**\n       * Represents the sum of the available credits for the entitlement\n       * @readonly\n       */\n      available?: string;\n  }\n  interface GetBalanceRequest {\n      /** The id of the entitlement */\n      poolId: string;\n  }\n  interface GetBalanceResponse {\n      /** Requested balance */\n      balance?: Balance;\n  }\n  interface ChangeBalanceRequest extends ChangeBalanceRequestOperationOneOf {\n      /** Applies the delta to the current balance. If 0, change won't be performed, but the transaction is still going to be reported */\n      adjustOptions?: AdjustOptions;\n      /** Sets the balance to any amount. If the set amount is the same as the current balance no action will be performed */\n      setOptions?: SetOptions;\n      /**\n       * Sets the initial balance to any amount. Initializes the entitlement account. Must be the first operation performed on the account and only called once\n       * All subsequent SetInitialOperations will fail.\n       */\n      setInitialOptions?: SetInitialOptions;\n      /** The id of the entitlement */\n      poolId: string;\n      /** Unique value generated by the client which the service uses to recognize subsequent retries of the same request */\n      idempotencyKey: string;\n      /** Party that initiated this change. Could be the site use, the entitlement owner or the beneficiary */\n      instructingParty?: IdentificationData$2;\n      /** The operation to perform on the balance */\n      type?: Type$1;\n  }\n  /** @oneof */\n  interface ChangeBalanceRequestOperationOneOf {\n      /** Applies the delta to the current balance. If 0, change won't be performed, but the transaction is still going to be reported */\n      adjustOptions?: AdjustOptions;\n      /** Sets the balance to any amount. If the set amount is the same as the current balance no action will be performed */\n      setOptions?: SetOptions;\n      /**\n       * Sets the initial balance to any amount. Initializes the entitlement account. Must be the first operation performed on the account and only called once\n       * All subsequent SetInitialOperations will fail.\n       */\n      setInitialOptions?: SetInitialOptions;\n  }\n  enum Type$1 {\n      UNKNOWN_OPERATION = \"UNKNOWN_OPERATION\",\n      ADJUST = \"ADJUST\",\n      SET = \"SET\",\n      SET_INITIAL = \"SET_INITIAL\"\n  }\n  interface AdjustOptions {\n      /** Change the available balance by the provided amount. Can be negative and positive values. */\n      amount?: string;\n      /** Beneficiary of the operation */\n      beneficiary?: IdentificationData$2;\n      /** Related item id to the balance change */\n      itemId?: string | null;\n  }\n  interface SetOptions {\n      /** Set the available balance to the provided amount. */\n      amount?: string;\n      /** Beneficiary of the transaction */\n      beneficiary?: IdentificationData$2;\n  }\n  interface SetInitialOptions {\n      /** Set the available balance to the provided amount. */\n      amount?: string;\n      /** Beneficiary of the transaction */\n      beneficiary?: IdentificationData$2;\n  }\n  interface ChangeBalanceResponse {\n      /** Changed balance */\n      balance?: Balance;\n      /** Id of the resulting transaction from balance change operation */\n      transactionId?: string | null;\n  }\n  interface BalanceChanged {\n      /** Balance after change */\n      balance?: Balance;\n      /** Transaction that made the change */\n      lastTransaction?: Transaction$1;\n  }\n  interface Transaction$1 {\n      /** @readonly */\n      _id?: string | null;\n      /**\n       * Represents the time the transaction was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * The entitlement from which the balance was changed\n       * @readonly\n       */\n      poolId?: string;\n      /**\n       * The item for which the balance was changed, used only for records\n       * @readonly\n       */\n      itemId?: string | null;\n      /**\n       * Amount to adjust the balance with. Can be negative.\n       * @readonly\n       */\n      amount?: string;\n      /**\n       * The type defines different functionalities. Use DEBIT_AVAILABLE for normal balance debiting.\n       * @readonly\n       */\n      type?: TransactionType$1;\n      /**\n       * Generated idempotency key from the client when making a change to the balance.\n       * @readonly\n       */\n      idempotencyKey?: string;\n      /**\n       * Free format string\n       * @readonly\n       */\n      reason?: string | null;\n      /**\n       * The identity that benefited from this transaction\n       * @readonly\n       */\n      beneficiary?: IdentificationData$2;\n      /**\n       * Related transaction id. For example - for a reservation cancellation transaction, the related transaction is the redemption itself.\n       * @readonly\n       */\n      relatedTransactionId?: string | null;\n      /**\n       * The identity that created this transaction\n       * @readonly\n       */\n      instructingParty?: IdentificationData$2;\n      /**\n       * status of the transaction\n       * @readonly\n       */\n      status?: TransactionStatus$1;\n  }\n  enum TransactionType$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** Debits the AVAILABLE balance */\n      DEBIT_AVAILABLE = \"DEBIT_AVAILABLE\",\n      /** Moves the balance from AVAILABLE to RESERVED */\n      RESERVE = \"RESERVE\",\n      /** Debits the RESERVED balance */\n      RELEASE_RESERVATION = \"RELEASE_RESERVATION\",\n      /** Moves the balance back from RESERVED to AVAILABLE */\n      CANCEL_RESERVATION = \"CANCEL_RESERVATION\",\n      /** Credits the AVAILABLE balance */\n      CREDIT_AVAILABLE = \"CREDIT_AVAILABLE\",\n      /** Transaction type used for reporting free item usage */\n      NO_CHANGE = \"NO_CHANGE\"\n  }\n  enum TransactionStatus$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** Transaction is pending. This is the initial status of the transaction. Once the balance is updated, the transaction will become COMPLETED. If the balance update fails, the transaction will become FAILED. */\n      PENDING = \"PENDING\",\n      /** Transaction is completed */\n      COMPLETED = \"COMPLETED\",\n      /** Transaction is failed */\n      FAILED = \"FAILED\"\n  }\n  interface BalanceReachedZero {\n      /** Balance after change */\n      balance?: Balance;\n      /** Transaction that made the change */\n      lastTransaction?: Transaction$1;\n  }\n  interface TransactionAlreadyExists {\n      /** The id of the transaction which already exists with the same idempotency key */\n      transactionId?: string;\n  }\n  interface NotEnoughBalance$1 {\n      /** Current balance */\n      balance?: BalanceAmount;\n      /**\n       * The requested amount\n       * @readonly\n       */\n      requested?: string;\n  }\n  interface RevertBalanceChangeRequest {\n      /** Reverts the change to the balance made by the provided transaction */\n      transactionId: string;\n      /** Unique value generated by the client which the service uses to recognize subsequent retries of the same request */\n      idempotencyKey: string;\n      /** Party that initiated this change. Could be the site use, the entitlement owner or the beneficiary */\n      instructingParty?: IdentificationData$2;\n  }\n  interface RevertBalanceChangeResponse {\n      /** Id of the created reverse transaction */\n      transactionId?: string | null;\n  }\n  interface ChangeAlreadyReverted {\n      /** The id of the transaction which was already reverted */\n      originalTransactionId?: string;\n      /** The id of the transaction which reverted the original transaction */\n      revertedTransactionId?: string;\n  }\n  interface ChangeIsNotReversible {\n      /** The id of the transaction which cannot be reverted */\n      transactionId?: string;\n  }\n  /**\n   * Get the balance in the entitlement.\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param poolId - The id of the entitlement\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField poolId\n   * @adminMethod\n   * @returns Requested balance\n   */\n  function getBalance(poolId: string): Promise<Balance>;\n  /**\n   * Change balance using one of these operations:\n   * ADJUST\n   * SET\n   * SET_INITIAL\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param poolId - The id of the entitlement\n   * @param idempotencyKey - Unique value generated by the client which the service uses to recognize subsequent retries of the same request\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField idempotencyKey\n   * @requiredField poolId\n   * @adminMethod\n   */\n  function changeBalance(poolId: string, idempotencyKey: string, options?: ChangeBalanceOptions): Promise<ChangeBalanceResponse>;\n  interface ChangeBalanceOptions extends ChangeBalanceRequestOperationOneOf {\n      /** Party that initiated this change. Could be the site use, the entitlement owner or the beneficiary */\n      instructingParty?: IdentificationData$2;\n      /** The operation to perform on the balance */\n      type?: Type$1;\n      /** Applies the delta to the current balance. If 0, change won't be performed, but the transaction is still going to be reported */\n      adjustOptions?: AdjustOptions;\n      /** Sets the balance to any amount. If the set amount is the same as the current balance no action will be performed */\n      setOptions?: SetOptions;\n      /**\n       * Sets the initial balance to any amount. Initializes the entitlement account. Must be the first operation performed on the account and only called once\n       * All subsequent SetInitialOperations will fail.\n       */\n      setInitialOptions?: SetInitialOptions;\n  }\n  /**\n   * Reverts balance change done with ChangeBalance\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param transactionId - Reverts the change to the balance made by the provided transaction\n   * @param idempotencyKey - Unique value generated by the client which the service uses to recognize subsequent retries of the same request\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField idempotencyKey\n   * @requiredField transactionId\n   * @adminMethod\n   */\n  function revertBalanceChange(transactionId: string, idempotencyKey: string, options?: RevertBalanceChangeOptions): Promise<RevertBalanceChangeResponse>;\n  interface RevertBalanceChangeOptions {\n      /** Party that initiated this change. Could be the site use, the entitlement owner or the beneficiary */\n      instructingParty?: IdentificationData$2;\n  }\n  \n  type entitlementsV1Balance_universal_d_Balance = Balance;\n  type entitlementsV1Balance_universal_d_BalanceAmount = BalanceAmount;\n  type entitlementsV1Balance_universal_d_GetBalanceRequest = GetBalanceRequest;\n  type entitlementsV1Balance_universal_d_GetBalanceResponse = GetBalanceResponse;\n  type entitlementsV1Balance_universal_d_ChangeBalanceRequest = ChangeBalanceRequest;\n  type entitlementsV1Balance_universal_d_ChangeBalanceRequestOperationOneOf = ChangeBalanceRequestOperationOneOf;\n  type entitlementsV1Balance_universal_d_AdjustOptions = AdjustOptions;\n  type entitlementsV1Balance_universal_d_SetOptions = SetOptions;\n  type entitlementsV1Balance_universal_d_SetInitialOptions = SetInitialOptions;\n  type entitlementsV1Balance_universal_d_ChangeBalanceResponse = ChangeBalanceResponse;\n  type entitlementsV1Balance_universal_d_BalanceChanged = BalanceChanged;\n  type entitlementsV1Balance_universal_d_BalanceReachedZero = BalanceReachedZero;\n  type entitlementsV1Balance_universal_d_TransactionAlreadyExists = TransactionAlreadyExists;\n  type entitlementsV1Balance_universal_d_RevertBalanceChangeRequest = RevertBalanceChangeRequest;\n  type entitlementsV1Balance_universal_d_RevertBalanceChangeResponse = RevertBalanceChangeResponse;\n  type entitlementsV1Balance_universal_d_ChangeAlreadyReverted = ChangeAlreadyReverted;\n  type entitlementsV1Balance_universal_d_ChangeIsNotReversible = ChangeIsNotReversible;\n  const entitlementsV1Balance_universal_d_getBalance: typeof getBalance;\n  const entitlementsV1Balance_universal_d_changeBalance: typeof changeBalance;\n  type entitlementsV1Balance_universal_d_ChangeBalanceOptions = ChangeBalanceOptions;\n  const entitlementsV1Balance_universal_d_revertBalanceChange: typeof revertBalanceChange;\n  type entitlementsV1Balance_universal_d_RevertBalanceChangeOptions = RevertBalanceChangeOptions;\n  namespace entitlementsV1Balance_universal_d {\n    export {\n      __debug$2 as __debug,\n      entitlementsV1Balance_universal_d_Balance as Balance,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      IdentityType$2 as IdentityType,\n      entitlementsV1Balance_universal_d_BalanceAmount as BalanceAmount,\n      entitlementsV1Balance_universal_d_GetBalanceRequest as GetBalanceRequest,\n      entitlementsV1Balance_universal_d_GetBalanceResponse as GetBalanceResponse,\n      entitlementsV1Balance_universal_d_ChangeBalanceRequest as ChangeBalanceRequest,\n      entitlementsV1Balance_universal_d_ChangeBalanceRequestOperationOneOf as ChangeBalanceRequestOperationOneOf,\n      Type$1 as Type,\n      entitlementsV1Balance_universal_d_AdjustOptions as AdjustOptions,\n      entitlementsV1Balance_universal_d_SetOptions as SetOptions,\n      entitlementsV1Balance_universal_d_SetInitialOptions as SetInitialOptions,\n      entitlementsV1Balance_universal_d_ChangeBalanceResponse as ChangeBalanceResponse,\n      entitlementsV1Balance_universal_d_BalanceChanged as BalanceChanged,\n      Transaction$1 as Transaction,\n      TransactionType$1 as TransactionType,\n      TransactionStatus$1 as TransactionStatus,\n      entitlementsV1Balance_universal_d_BalanceReachedZero as BalanceReachedZero,\n      entitlementsV1Balance_universal_d_TransactionAlreadyExists as TransactionAlreadyExists,\n      NotEnoughBalance$1 as NotEnoughBalance,\n      entitlementsV1Balance_universal_d_RevertBalanceChangeRequest as RevertBalanceChangeRequest,\n      entitlementsV1Balance_universal_d_RevertBalanceChangeResponse as RevertBalanceChangeResponse,\n      entitlementsV1Balance_universal_d_ChangeAlreadyReverted as ChangeAlreadyReverted,\n      entitlementsV1Balance_universal_d_ChangeIsNotReversible as ChangeIsNotReversible,\n      entitlementsV1Balance_universal_d_getBalance as getBalance,\n      entitlementsV1Balance_universal_d_changeBalance as changeBalance,\n      entitlementsV1Balance_universal_d_ChangeBalanceOptions as ChangeBalanceOptions,\n      entitlementsV1Balance_universal_d_revertBalanceChange as revertBalanceChange,\n      entitlementsV1Balance_universal_d_RevertBalanceChangeOptions as RevertBalanceChangeOptions,\n    };\n  }\n  \n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * This represents the current state of what the beneficiary is entitled to. Entitlement is always created in the image of the template.\n   * + Entitlement supports basic lifecycle, can be paused or resumed. E.g. for recurring entitlements they should be active only when the underlying subscription is active. Redemption would fail on a non-active entitlement\n   * + Entitlement may be recurring. Recurrence is driven by an external system (e.g. pricing plans order billing cycle) via the grant method of this API.\n   * + Depending on user input updates to entitlement templates may cascade to entitlements in 3 different ways:\n   * + On Provision\n   * + On Grant\n   * + Immediately\n   *\n   * Entitlements much like their templates are also grouped together in packages which are identified by their id.\n   * When entitlements are provisioned from either a single template or a template package they are always assigned to a new entitlement package (id provided by the caller). This reference\n   * is then used throughout the lifecycle of the entitlement.\n   */\n  interface Entitlement {\n      /**\n       * Entitlement ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Entitlement was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Entitlement was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Template that this entitlement was created from\n       * @readonly\n       */\n      templateId?: string;\n      /**\n       * Template package from which this entitlement was provisioned from\n       * @readonly\n       */\n      templatePackageId?: string | null;\n      /**\n       * Package that this entitlement belongs to\n       * @readonly\n       */\n      packageId?: string;\n      /**\n       * Status of entitlement\n       * @readonly\n       */\n      status?: EntitlementStatus;\n      /** Who is getting the entitlement */\n      beneficiary?: IdentificationData$1;\n      /** Items and policies how the entitlement works */\n      details?: EntitlementDetails;\n      /**\n       * Name of the entitlement template that this Entitlement was provisioned from\n       * @readonly\n       */\n      name?: string;\n      /**\n       * ID of the app that this entitlement belongs to\n       * @readonly\n       */\n      appId?: string;\n  }\n  enum EntitlementStatus {\n      UNDEFINED = \"UNDEFINED\",\n      ACTIVE = \"ACTIVE\",\n      PAUSED = \"PAUSED\",\n      ENDED = \"ENDED\"\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface EntitlementDetails {\n      /** A set of benefits that share the credit pool and policies of the entitlement */\n      benefits?: Benefit[];\n      /** Settings that control the behavior of the credit pool. If this value is left empty, then the entitlement is unlimited and items should not have prices */\n      creditConfiguration?: CreditConfiguration;\n      /** Defines entitlement eligibility. Default policy for all items, but may be overridden by a specific item */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n      /** Entitlement provider */\n      provider?: Provider;\n  }\n  /** Groups items that share the same credit pool and policies */\n  interface Benefit {\n      /** A unique identifier for the group. May be empty, but only one group can have an empty key */\n      benefitKey?: string;\n      /** A set of items that share the credit pool and policies of the entitlement */\n      items?: Item[];\n      /** Price of the item expressed in credits */\n      price?: string | null;\n      /** Overrides the default policies in Entitlement Data */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n  }\n  /**\n   * Represents anything that an external system exposes as an entitlement. It could be a specific event, a booking session, or even a physical good.\n   * `category` is used to identify the type of the item and id is used to uniquely identify it within the category. The `name` is used for display purposes only.\n   * For example, if the item is a blog post, then the category could be \"post\" and the id could be the post id.\n   */\n  interface Item {\n      /** External item identifier */\n      _id?: string;\n      /** Item category. Discriminates between different types of items. E.g. posts, groups etc. */\n      category?: string | null;\n      /** Name of the item */\n      name?: string | null;\n  }\n  interface PolicyExpression extends PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n      type?: PolicyExpressionType;\n  }\n  /** @oneof */\n  interface PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n  }\n  enum PolicyExpressionType {\n      UNKNOWN = \"UNKNOWN\",\n      OPERATOR_NOT = \"OPERATOR_NOT\",\n      OPERATOR_AND = \"OPERATOR_AND\",\n      OPERATOR_OR = \"OPERATOR_OR\",\n      POLICY = \"POLICY\"\n  }\n  interface PolicyExpressionNot {\n      /** Expression that is negated */\n      expression?: PolicyExpression;\n  }\n  interface PolicyExpressionAnd {\n      /** Expressions that are combined with an `AND` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface PolicyExpressionOr {\n      /** Expressions that are combined with an `OR` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface Policy extends PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: CustomPolicy;\n      /** Policy type */\n      type?: Type;\n  }\n  /** @oneof */\n  interface PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: CustomPolicy;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      RATE_LIMITED = \"RATE_LIMITED\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface FixedIntervalPolicy {\n      /** Weekday that this interval starts from. If this is set then to_week_day must also be set */\n      fromWeekDay?: WeekDay;\n      /** Weekday that this interval ends at. If this is set then from_week_day must also be set */\n      toWeekDay?: WeekDay;\n      /** Hour that this interval starts from. If this is set then to_hour must also be set */\n      fromHour?: number | null;\n      /** Hour that this interval ends at. If this is set then from_hour must also be set */\n      toHour?: number | null;\n      /** Minute that this interval starts from. If this is set then to_minute must also be set */\n      fromMinute?: number | null;\n      /** Minute that this interval ends at. If this is set then from_minute must also be set */\n      toMinute?: number | null;\n  }\n  enum WeekDay {\n      UNKNOWN = \"UNKNOWN\",\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  interface RateLimitedPolicy extends RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Defines how many times it's allowed to consume a item over the period */\n      times?: number;\n      /** Type of period */\n      type?: RateLimitedPolicyType;\n  }\n  /** @oneof */\n  interface RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n  }\n  enum RateLimitedPolicyType {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      PER_CYCLE = \"PER_CYCLE\"\n  }\n  /** Custom policy as implemented by the Entitlement Policy Provider */\n  interface CustomPolicy {\n      /** References a specific custom policy on the provider's system */\n      _id?: string | null;\n      /** Custom policy provider id */\n      appId?: string | null;\n      /** Additional info for this custom policy. It's going to be passed to the policy provider during eligibility checks */\n      additionalData?: Record<string, any> | null;\n  }\n  interface CreditConfiguration {\n      /** The total amount of credits available for this entitlement */\n      amount?: string;\n      /** Unused credits are rolled over to the new cycle */\n      rollOver?: boolean;\n  }\n  interface Provider {\n      /** AppId of a provider defined in a dev center which implements this entitlement custom lifecycle and redeem logic */\n      appId?: string;\n      /** Type of the entitlement, giving information to the SPI implementer so it knows what kind of entitlement it is */\n      type?: string;\n  }\n  interface CreateEntitlementRequest {\n      /** Entitlement to be created */\n      entitlement: Entitlement;\n  }\n  interface CreateEntitlementResponse {\n      /** The created Entitlement */\n      entitlement?: Entitlement;\n  }\n  interface GetEntitlementRequest {\n      /** Id of the Entitlement to retrieve */\n      entitlementId: string;\n  }\n  interface GetEntitlementResponse {\n      /** The retrieved Entitlement */\n      entitlement?: Entitlement;\n  }\n  interface UpdateEntitlementRequest {\n      /** Entitlement to be updated, may be partial */\n      entitlement: Entitlement;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateEntitlementResponse {\n      /** The updated Entitlement */\n      entitlement?: Entitlement;\n  }\n  interface DeleteEntitlementRequest {\n      /** Id of the Entitlement to delete */\n      entitlementId: string;\n      /** The revision of the Entitlement */\n      revision?: string;\n  }\n  interface DeleteEntitlementResponse {\n  }\n  /** In case template_id is provided should test if it's part of a package. If it is, reject the request */\n  interface ProvisionEntitlementsRequest {\n      /** Reference of the template that is used to provision the entitlements */\n      templateReference: EntitlementTemplateReference;\n      /** The main beneficiary of the entitlement */\n      beneficiary: IdentificationData$1;\n      /** Package that the provisioned entitlement is part of */\n      packageId: string;\n  }\n  interface EntitlementTemplateReference extends EntitlementTemplateReferenceIdOneOf {\n      /** Individual entitlement template */\n      templateId?: string;\n      /** Package of entitlement templates */\n      templatePackageId?: string;\n  }\n  /** @oneof */\n  interface EntitlementTemplateReferenceIdOneOf {\n      /** Individual entitlement template */\n      templateId?: string;\n      /** Package of entitlement templates */\n      templatePackageId?: string;\n  }\n  interface ProvisionEntitlementsResponse {\n      /** Created entitlements as a result of provision */\n      entitlements?: Entitlement[];\n  }\n  interface PackageAlreadyExists {\n      /** Package id that already has entitlements */\n      packageId?: string;\n  }\n  /** Updates the entitlement according to its template and grants credits */\n  interface GrantEntitlementRequest {\n      /** Package of entitlements to grant. Package id should be the same that was used to provision entitlements. */\n      packageId: string;\n  }\n  interface GrantEntitlementResponse {\n      /** Updated entitlements as a result of the grant */\n      entitlements?: Entitlement[];\n  }\n  interface EntitlementGranted {\n      /** Entitlement which has been granted */\n      entitlement?: Entitlement;\n  }\n  interface QueryEntitlementsRequest {\n      /** WQL expression */\n      query: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryEntitlementsResponse {\n      /** The retrieved Entitlements */\n      entitlements?: Entitlement[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface PauseEntitlementRequest {\n      /** Package of entitlements */\n      packageId: string;\n  }\n  interface PauseEntitlementResponse {\n      /** Entitlements that were updated as a result of this request */\n      entitlements?: Entitlement[];\n  }\n  interface EntitlementPaused {\n      /** Entitlement which has been paused */\n      entitlement?: Entitlement;\n  }\n  interface ResumeEntitlementRequest {\n      /** Package of entitlements */\n      packageId: string;\n  }\n  interface ResumeEntitlementResponse {\n      /** Entitlements that were updated as a result of this request */\n      entitlements?: Entitlement[];\n  }\n  interface EntitlementResumed {\n      /** Entitlement which has been resumed */\n      entitlement?: Entitlement;\n  }\n  interface EndEntitlementRequest {\n      /** Package of entitlements */\n      packageId: string;\n  }\n  interface EndEntitlementResponse {\n      /** Entitlements that were updated as a result of this request */\n      entitlements?: Entitlement[];\n  }\n  interface EntitlementEnded {\n      /** Entitlement which has been ended */\n      entitlement?: Entitlement;\n  }\n  interface RedeemEntitlementRequest {\n      /** Id of the entitlement that is being redeemed from */\n      entitlementId: string;\n      /** Reference of the item that is being redeemed */\n      itemReference?: ItemReference;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Number of of items to redeem */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the entitlement. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$1;\n  }\n  interface ItemReference {\n      /** Id of the item */\n      _id?: string;\n      /** Item category */\n      category?: string | null;\n  }\n  interface RedeemEntitlementResponse {\n      /** Id of the resulting transaction */\n      transactionId?: string;\n  }\n  interface EntitlementRedeemed {\n      /** Entitlement which has been redeemed */\n      entitlement?: Entitlement;\n      /** Details of the redemption */\n      redemptionDetails?: RedemptionDetails;\n  }\n  interface RedemptionDetails {\n      /** Id of the redemption transaction */\n      transactionId?: string;\n      /** Reference of the item that is being redeemed */\n      itemReference?: ItemReference;\n      /** Number of of items to redeem */\n      itemCount?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by entitlement providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey?: string;\n      /** Additional info provided during redemption */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the entitlement */\n      beneficiary?: IdentificationData$1;\n  }\n  interface NotEnoughBalance {\n      /** Entitlement ID */\n      entitlementId?: string;\n      /** Item reference */\n      itemReference?: ItemReference;\n      /** Price of the item expressed in credits */\n      availableBalance?: string;\n      /** Price of the item expressed in credits */\n      requestedBalance?: string;\n  }\n  interface PolicyExpressionEvaluatedToFalse {\n      /** Entitlement ID */\n      entitlementId?: string;\n      /** Item reference */\n      itemReference?: ItemReference;\n  }\n  interface EntitlementNotActive {\n      /** Entitlement ID */\n      entitlementId?: string;\n      /** Entitlement status */\n      entitlementStatus?: EntitlementStatus;\n  }\n  interface EntitlementAlreadyRedeemed {\n      /** Entitlement ID */\n      entitlementId?: string;\n      /** Transaction that was used to redeem the entitlement */\n      transactionId?: string;\n      /** Idempotency key of the request that failed */\n      idempotencyKey?: string;\n  }\n  interface ReserveEntitlementRequest {\n      /** Id of the entitlement that is being redeemed from */\n      entitlementId: string;\n      /** Reference of the item that is being redeemed */\n      itemReference?: ItemReference;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Number of items to redeem */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by Policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the entitlement. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$1;\n  }\n  interface ReserveEntitlementResponse {\n      /** Id of the transaction that was created as a result of this request */\n      transactionId?: string;\n  }\n  interface EntitlementReserved {\n      /** Entitlement which was used to perform this transaction */\n      entitlement?: Entitlement;\n      /** Details of the redemption */\n      redemptionDetails?: RedemptionDetails;\n  }\n  interface CancelEntitlementReservationRequest {\n      /** Id of the transaction that was created as a result of this request */\n      transactionId: string;\n  }\n  interface CancelEntitlementReservationResponse {\n      /** Id of the transaction that was created as a result of this request */\n      transactionId?: string;\n  }\n  interface EntitlementReservationCanceled {\n      /** Entitlement which was used to perform this transaction */\n      entitlement?: Entitlement;\n      /** Id of the canceled reservation transaction */\n      transactionId?: string;\n  }\n  interface ReleaseEntitlementReservationRequest {\n      /** Id of the transaction that was created as a result of this request */\n      transactionId: string;\n  }\n  interface ReleaseEntitlementReservationResponse {\n      /** Id of the transaction that was created as a result of this request */\n      transactionId?: string;\n  }\n  interface EntitlementReservationReleased {\n      /** Entitlement which was used to perform this transaction */\n      entitlement?: Entitlement;\n      /** Id of the released reservation transaction */\n      transactionId?: string;\n  }\n  interface CheckEntitlementEligibilityRequest {\n      /** Id of the entitlement to check eligibility for */\n      entitlementId: string;\n      /** Reference of the item for which to check entitlement's eligibility */\n      itemReference?: ItemReference;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Number of items to check eligibility for. This number if checked against the policies and credit pool of the entitlements */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by entitlement providers\n       */\n      targetDate?: Date;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the entitlement. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$1;\n  }\n  interface CheckEntitlementEligibilityResponse {\n      /** The result of the eligibility check. Indicates whether the entitlement is eligible for redemption, and if not, returns the reason */\n      result?: EligibilityCheckResult;\n  }\n  enum EligibilityCheckResult {\n      UNKNOWN = \"UNKNOWN\",\n      ELIGIBLE = \"ELIGIBLE\",\n      NOT_ENOUGH_BALANCE = \"NOT_ENOUGH_BALANCE\",\n      POLICY_EXPRESSION_EVALUATED_TO_FALSE = \"POLICY_EXPRESSION_EVALUATED_TO_FALSE\",\n      ENTITLEMENT_NOT_ACTIVE = \"ENTITLEMENT_NOT_ACTIVE\"\n  }\n  /** TODO provide a bulk version of this endpoint */\n  interface GetEligibleEntitlementsRequest {\n      /** Reference of the item for which all eligible entitlements will be returned */\n      itemReference?: ItemReference;\n      /** Number of items to check eligibility for. This number is checked against the policies and credit pool of the entitlements */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by entitlement providers\n       */\n      targetDate?: Date;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the entitlement. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$1;\n  }\n  interface GetEligibleEntitlementsResponse {\n      /** Eligible benefits */\n      eligibleBenefits?: EligibleBenefit[];\n  }\n  interface EligibleBenefit {\n      /**\n       * Entitlement ID\n       * @readonly\n       */\n      entitlementId?: string;\n      /** A unique identifier for the group. May be empty, but only one group can have an empty key */\n      benefitKey?: string;\n      /** Item reference */\n      itemReference?: ItemReference;\n      /** Price of the item expressed in credits */\n      price?: string | null;\n  }\n  /**\n   * Creates a new Entitlement\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param entitlement - Entitlement to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField entitlement\n   * @adminMethod\n   * @returns The created Entitlement\n   */\n  function createEntitlement(entitlement: Entitlement): Promise<Entitlement>;\n  /**\n   * Get an Entitlement by id\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param entitlementId - Id of the Entitlement to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField entitlementId\n   * @adminMethod\n   * @returns The retrieved Entitlement\n   */\n  function getEntitlement(entitlementId: string): Promise<Entitlement>;\n  /**\n   * Update an Entitlement, supports partial update\n   * Pass the latest `revision` for a successful update\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param _id - Entitlement ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField entitlement\n   * @requiredField entitlement.revision\n   * @adminMethod\n   * @returns The updated Entitlement\n   */\n  function updateEntitlement(_id: string | null, entitlement: UpdateEntitlement, options?: UpdateEntitlementOptions): Promise<Entitlement>;\n  interface UpdateEntitlement {\n      /**\n       * Entitlement ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Entitlement was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Entitlement was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Template that this entitlement was created from\n       * @readonly\n       */\n      templateId?: string;\n      /**\n       * Template package from which this entitlement was provisioned from\n       * @readonly\n       */\n      templatePackageId?: string | null;\n      /**\n       * Package that this entitlement belongs to\n       * @readonly\n       */\n      packageId?: string;\n      /**\n       * Status of entitlement\n       * @readonly\n       */\n      status?: EntitlementStatus;\n      /** Who is getting the entitlement */\n      beneficiary?: IdentificationData$1;\n      /** Items and policies how the entitlement works */\n      details?: EntitlementDetails;\n      /**\n       * Name of the entitlement template that this Entitlement was provisioned from\n       * @readonly\n       */\n      name?: string;\n      /**\n       * ID of the app that this entitlement belongs to\n       * @readonly\n       */\n      appId?: string;\n  }\n  interface UpdateEntitlementOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Delete an Entitlement\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param entitlementId - Id of the Entitlement to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField entitlementId\n   * @adminMethod\n   */\n  function deleteEntitlement(entitlementId: string, options?: DeleteEntitlementOptions): Promise<void>;\n  interface DeleteEntitlementOptions {\n      /** The revision of the Entitlement */\n      revision?: string;\n  }\n  /**\n   * Provision entitlements from an individual template or a package of templates\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param templateReference - Reference of the template that is used to provision the entitlements\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.beneficiary\n   * @requiredField options.packageId\n   * @requiredField templateReference\n   * @adminMethod\n   */\n  function provisionEntitlements(templateReference: EntitlementTemplateReference, options: ProvisionEntitlementsOptions): Promise<ProvisionEntitlementsResponse>;\n  interface ProvisionEntitlementsOptions {\n      /** The main beneficiary of the entitlement */\n      beneficiary: IdentificationData$1;\n      /** Package that the provisioned entitlement is part of */\n      packageId: string;\n  }\n  /**\n   * Grants the entitlements as defined in the entitlement template configuration.\n   * Typically used if the entitlement is cyclical to renew the credit pool on new cycle\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param packageId - Package of entitlements to grant. Package id should be the same that was used to provision entitlements.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField packageId\n   * @adminMethod\n   */\n  function grantEntitlement(packageId: string): Promise<GrantEntitlementResponse>;\n  /**\n   * Query Entitlements using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryEntitlements(): EntitlementsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface EntitlementsQueryResult extends QueryCursorResult$1 {\n      items: Entitlement[];\n      query: EntitlementsQueryBuilder;\n      next: () => Promise<EntitlementsQueryResult>;\n      prev: () => Promise<EntitlementsQueryResult>;\n  }\n  interface EntitlementsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'templateId' | 'templatePackageId' | 'packageId' | 'status' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'details' | 'details.benefits.benefitKey' | 'details.benefits.items.id' | 'details.benefits.items.category' | 'details.benefits.items.name' | 'details.benefits.price' | 'details.benefits.policyExpression' | 'details.benefits.policyExpression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorAndOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorOrOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.policyOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.type' | 'details.benefits.policyExpression.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.type' | 'details.benefits.policyExpression.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.type' | 'details.benefits.policyExpression.policyOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.type' | 'details.benefits.policyExpression.policyOptions.customOptions' | 'details.benefits.policyExpression.policyOptions.customOptions.id' | 'details.benefits.policyExpression.policyOptions.customOptions.appId' | 'details.benefits.policyExpression.policyOptions.customOptions.additionalData' | 'details.benefits.policyExpression.policyOptions.type' | 'details.benefits.policyExpression.type' | 'details.benefits.additionalData' | 'details.creditConfiguration' | 'details.creditConfiguration.amount' | 'details.creditConfiguration.rollOver' | 'details.policyExpression' | 'details.policyExpression.operatorNotOptions' | 'details.policyExpression.operatorAndOptions' | 'details.policyExpression.operatorOrOptions' | 'details.policyExpression.policyOptions' | 'details.policyExpression.type' | 'details.additionalData' | 'details.provider' | 'details.provider.appId' | 'details.provider.type' | 'name' | 'appId', value: any) => EntitlementsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'templateId' | 'templatePackageId' | 'packageId' | 'status' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'details' | 'details.benefits.benefitKey' | 'details.benefits.items.id' | 'details.benefits.items.category' | 'details.benefits.items.name' | 'details.benefits.price' | 'details.benefits.policyExpression' | 'details.benefits.policyExpression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorAndOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorOrOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.policyOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.type' | 'details.benefits.policyExpression.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.type' | 'details.benefits.policyExpression.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.type' | 'details.benefits.policyExpression.policyOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.type' | 'details.benefits.policyExpression.policyOptions.customOptions' | 'details.benefits.policyExpression.policyOptions.customOptions.id' | 'details.benefits.policyExpression.policyOptions.customOptions.appId' | 'details.benefits.policyExpression.policyOptions.customOptions.additionalData' | 'details.benefits.policyExpression.policyOptions.type' | 'details.benefits.policyExpression.type' | 'details.benefits.additionalData' | 'details.creditConfiguration' | 'details.creditConfiguration.amount' | 'details.creditConfiguration.rollOver' | 'details.policyExpression' | 'details.policyExpression.operatorNotOptions' | 'details.policyExpression.operatorAndOptions' | 'details.policyExpression.operatorOrOptions' | 'details.policyExpression.policyOptions' | 'details.policyExpression.type' | 'details.additionalData' | 'details.provider' | 'details.provider.appId' | 'details.provider.type' | 'name' | 'appId', value: any) => EntitlementsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'revision' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times', value: any) => EntitlementsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times', value: any) => EntitlementsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'revision' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times', value: any) => EntitlementsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times', value: any) => EntitlementsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'templateId' | 'templatePackageId' | 'packageId' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'details.benefits.benefitKey' | 'details.benefits.items.id' | 'details.benefits.items.category' | 'details.benefits.items.name' | 'details.benefits.price' | 'details.benefits.policyExpression.policyOptions.customOptions.id' | 'details.benefits.policyExpression.policyOptions.customOptions.appId' | 'details.creditConfiguration.amount' | 'details.provider.appId' | 'details.provider.type' | 'name' | 'appId', value: string) => EntitlementsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'templateId' | 'templatePackageId' | 'packageId' | 'status' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'details' | 'details.benefits.benefitKey' | 'details.benefits.items.id' | 'details.benefits.items.category' | 'details.benefits.items.name' | 'details.benefits.price' | 'details.benefits.policyExpression' | 'details.benefits.policyExpression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorAndOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorOrOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.policyOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.type' | 'details.benefits.policyExpression.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.type' | 'details.benefits.policyExpression.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.type' | 'details.benefits.policyExpression.policyOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.type' | 'details.benefits.policyExpression.policyOptions.customOptions' | 'details.benefits.policyExpression.policyOptions.customOptions.id' | 'details.benefits.policyExpression.policyOptions.customOptions.appId' | 'details.benefits.policyExpression.policyOptions.customOptions.additionalData' | 'details.benefits.policyExpression.policyOptions.type' | 'details.benefits.policyExpression.type' | 'details.benefits.additionalData' | 'details.creditConfiguration' | 'details.creditConfiguration.amount' | 'details.creditConfiguration.rollOver' | 'details.policyExpression' | 'details.policyExpression.operatorNotOptions' | 'details.policyExpression.operatorAndOptions' | 'details.policyExpression.operatorOrOptions' | 'details.policyExpression.policyOptions' | 'details.policyExpression.type' | 'details.additionalData' | 'details.provider' | 'details.provider.appId' | 'details.provider.type' | 'name' | 'appId', value: any[]) => EntitlementsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'templateId' | 'templatePackageId' | 'packageId' | 'status' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'details' | 'details.benefits.benefitKey' | 'details.benefits.items.id' | 'details.benefits.items.category' | 'details.benefits.items.name' | 'details.benefits.price' | 'details.benefits.policyExpression' | 'details.benefits.policyExpression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorAndOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorOrOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.policyOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.type' | 'details.benefits.policyExpression.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.type' | 'details.benefits.policyExpression.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.type' | 'details.benefits.policyExpression.policyOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.type' | 'details.benefits.policyExpression.policyOptions.customOptions' | 'details.benefits.policyExpression.policyOptions.customOptions.id' | 'details.benefits.policyExpression.policyOptions.customOptions.appId' | 'details.benefits.policyExpression.policyOptions.customOptions.additionalData' | 'details.benefits.policyExpression.policyOptions.type' | 'details.benefits.policyExpression.type' | 'details.benefits.additionalData' | 'details.creditConfiguration' | 'details.creditConfiguration.amount' | 'details.creditConfiguration.rollOver' | 'details.policyExpression' | 'details.policyExpression.operatorNotOptions' | 'details.policyExpression.operatorAndOptions' | 'details.policyExpression.operatorOrOptions' | 'details.policyExpression.policyOptions' | 'details.policyExpression.type' | 'details.additionalData' | 'details.provider' | 'details.provider.appId' | 'details.provider.type' | 'name' | 'appId', value: any) => EntitlementsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'templateId' | 'templatePackageId' | 'packageId' | 'status' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'details' | 'details.benefits.benefitKey' | 'details.benefits.items.id' | 'details.benefits.items.category' | 'details.benefits.items.name' | 'details.benefits.price' | 'details.benefits.policyExpression' | 'details.benefits.policyExpression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorAndOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorOrOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.policyOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.type' | 'details.benefits.policyExpression.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.type' | 'details.benefits.policyExpression.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.type' | 'details.benefits.policyExpression.policyOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.type' | 'details.benefits.policyExpression.policyOptions.customOptions' | 'details.benefits.policyExpression.policyOptions.customOptions.id' | 'details.benefits.policyExpression.policyOptions.customOptions.appId' | 'details.benefits.policyExpression.policyOptions.customOptions.additionalData' | 'details.benefits.policyExpression.policyOptions.type' | 'details.benefits.policyExpression.type' | 'details.benefits.additionalData' | 'details.creditConfiguration' | 'details.creditConfiguration.amount' | 'details.creditConfiguration.rollOver' | 'details.policyExpression' | 'details.policyExpression.operatorNotOptions' | 'details.policyExpression.operatorAndOptions' | 'details.policyExpression.operatorOrOptions' | 'details.policyExpression.policyOptions' | 'details.policyExpression.type' | 'details.additionalData' | 'details.provider' | 'details.provider.appId' | 'details.provider.type' | 'name' | 'appId', value: boolean) => EntitlementsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'revision' | '_createdDate' | '_updatedDate' | 'templateId' | 'templatePackageId' | 'packageId' | 'status' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'beneficiary.identityType' | 'details' | 'details.benefits' | 'details.benefits.benefitKey' | 'details.benefits.items' | 'details.benefits.items.id' | 'details.benefits.items.category' | 'details.benefits.items.name' | 'details.benefits.price' | 'details.benefits.policyExpression' | 'details.benefits.policyExpression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorAndOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorOrOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.policyOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.type' | 'details.benefits.policyExpression.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.type' | 'details.benefits.policyExpression.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.type' | 'details.benefits.policyExpression.policyOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.type' | 'details.benefits.policyExpression.policyOptions.customOptions' | 'details.benefits.policyExpression.policyOptions.customOptions.id' | 'details.benefits.policyExpression.policyOptions.customOptions.appId' | 'details.benefits.policyExpression.policyOptions.customOptions.additionalData' | 'details.benefits.policyExpression.policyOptions.type' | 'details.benefits.policyExpression.type' | 'details.benefits.additionalData' | 'details.creditConfiguration' | 'details.creditConfiguration.amount' | 'details.creditConfiguration.rollOver' | 'details.policyExpression' | 'details.policyExpression.operatorNotOptions' | 'details.policyExpression.operatorAndOptions' | 'details.policyExpression.operatorOrOptions' | 'details.policyExpression.policyOptions' | 'details.policyExpression.type' | 'details.additionalData' | 'details.provider' | 'details.provider.appId' | 'details.provider.type' | 'name' | 'appId'>) => EntitlementsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'revision' | '_createdDate' | '_updatedDate' | 'templateId' | 'templatePackageId' | 'packageId' | 'status' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'beneficiary.identityType' | 'details' | 'details.benefits' | 'details.benefits.benefitKey' | 'details.benefits.items' | 'details.benefits.items.id' | 'details.benefits.items.category' | 'details.benefits.items.name' | 'details.benefits.price' | 'details.benefits.policyExpression' | 'details.benefits.policyExpression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorNotOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorAndOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.operatorOrOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.policyOptions' | 'details.benefits.policyExpression.operatorNotOptions.expression.type' | 'details.benefits.policyExpression.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorAndOptions.expressions.type' | 'details.benefits.policyExpression.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorNotOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorAndOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.operatorOrOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.policyOptions' | 'details.benefits.policyExpression.operatorOrOptions.expressions.type' | 'details.benefits.policyExpression.policyOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toWeekDay' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toHour' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.fromMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.fixedIntervalOptions.toMinute' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.times' | 'details.benefits.policyExpression.policyOptions.rateLimitedOptions.type' | 'details.benefits.policyExpression.policyOptions.customOptions' | 'details.benefits.policyExpression.policyOptions.customOptions.id' | 'details.benefits.policyExpression.policyOptions.customOptions.appId' | 'details.benefits.policyExpression.policyOptions.customOptions.additionalData' | 'details.benefits.policyExpression.policyOptions.type' | 'details.benefits.policyExpression.type' | 'details.benefits.additionalData' | 'details.creditConfiguration' | 'details.creditConfiguration.amount' | 'details.creditConfiguration.rollOver' | 'details.policyExpression' | 'details.policyExpression.operatorNotOptions' | 'details.policyExpression.operatorAndOptions' | 'details.policyExpression.operatorOrOptions' | 'details.policyExpression.policyOptions' | 'details.policyExpression.type' | 'details.additionalData' | 'details.provider' | 'details.provider.appId' | 'details.provider.type' | 'name' | 'appId'>) => EntitlementsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => EntitlementsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => EntitlementsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<EntitlementsQueryResult>;\n  }\n  /**\n   * Pauses the entitlements in the provided package. If the package contains service type entitlements, the services will be paused.\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param packageId - Package of entitlements\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField packageId\n   * @adminMethod\n   */\n  function pauseEntitlement(packageId: string): Promise<PauseEntitlementResponse>;\n  /**\n   * Resumes the entitlements in the provided package. If the package contains service type entitlements, the services will be resumed.\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param packageId - Package of entitlements\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField packageId\n   * @adminMethod\n   */\n  function resumeEntitlement(packageId: string): Promise<ResumeEntitlementResponse>;\n  /**\n   * Ends the entitlements in the provided package. If the package contains service type entitlements, the services will be paused.\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param packageId - Package of entitlements\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField packageId\n   * @adminMethod\n   */\n  function endEntitlement(packageId: string): Promise<EndEntitlementResponse>;\n  /**\n   * Redeems the requested number of credits for one specific item\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param entitlementId - Id of the entitlement that is being redeemed from\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField entitlementId\n   * @requiredField options.idempotencyKey\n   * @requiredField options.itemReference._id\n   * @adminMethod\n   */\n  function redeemEntitlement(entitlementId: string, options?: RedeemEntitlementOptions): Promise<RedeemEntitlementResponse>;\n  interface RedeemEntitlementOptions {\n      /** Reference of the item that is being redeemed */\n      itemReference?: ItemReference;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Number of of items to redeem */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the entitlement. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$1;\n  }\n  /**\n   * Performed as two-part redemption\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param entitlementId - Id of the entitlement that is being redeemed from\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField entitlementId\n   * @requiredField options.idempotencyKey\n   * @requiredField options.itemReference._id\n   * @adminMethod\n   */\n  function reserveEntitlement(entitlementId: string, options?: ReserveEntitlementOptions): Promise<ReserveEntitlementResponse>;\n  interface ReserveEntitlementOptions {\n      /** Reference of the item that is being redeemed */\n      itemReference?: ItemReference;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Number of items to redeem */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by Policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the entitlement. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$1;\n  }\n  /**\n   * Performed as two-part redemption\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param transactionId - Id of the transaction that was created as a result of this request\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField transactionId\n   * @adminMethod\n   */\n  function cancelEntitlementReservation(transactionId: string): Promise<CancelEntitlementReservationResponse>;\n  /**\n   * Performed as two-part redemption\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param transactionId - Id of the transaction that was created as a result of this request\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField transactionId\n   * @adminMethod\n   */\n  function releaseEntitlementReservation(transactionId: string): Promise<ReleaseEntitlementReservationResponse>;\n  /**\n   * Performed as part of redemption, but can be called on its own\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param entitlementId - Id of the entitlement to check eligibility for\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField entitlementId\n   * @requiredField options.itemReference._id\n   * @adminMethod\n   */\n  function checkEntitlementEligibility(entitlementId: string, options?: CheckEntitlementEligibilityOptions): Promise<CheckEntitlementEligibilityResponse>;\n  interface CheckEntitlementEligibilityOptions {\n      /** Reference of the item for which to check entitlement's eligibility */\n      itemReference?: ItemReference;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Number of items to check eligibility for. This number if checked against the policies and credit pool of the entitlements */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by entitlement providers\n       */\n      targetDate?: Date;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the entitlement. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$1;\n  }\n  /**\n   * Performed as part of redemption, but can be called on its own\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.itemReference._id\n   * @adminMethod\n   */\n  function getEligibleEntitlements(options?: GetEligibleEntitlementsOptions): Promise<GetEligibleEntitlementsResponse>;\n  interface GetEligibleEntitlementsOptions {\n      /** Reference of the item for which all eligible entitlements will be returned */\n      itemReference?: ItemReference;\n      /** Number of items to check eligibility for. This number is checked against the policies and credit pool of the entitlements */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by entitlement providers\n       */\n      targetDate?: Date;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the entitlement. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$1;\n  }\n  \n  type entitlementsV1Entitlement_universal_d_Entitlement = Entitlement;\n  type entitlementsV1Entitlement_universal_d_EntitlementStatus = EntitlementStatus;\n  const entitlementsV1Entitlement_universal_d_EntitlementStatus: typeof EntitlementStatus;\n  type entitlementsV1Entitlement_universal_d_EntitlementDetails = EntitlementDetails;\n  type entitlementsV1Entitlement_universal_d_Benefit = Benefit;\n  type entitlementsV1Entitlement_universal_d_Item = Item;\n  type entitlementsV1Entitlement_universal_d_PolicyExpression = PolicyExpression;\n  type entitlementsV1Entitlement_universal_d_PolicyExpressionExpressionOneOf = PolicyExpressionExpressionOneOf;\n  type entitlementsV1Entitlement_universal_d_PolicyExpressionType = PolicyExpressionType;\n  const entitlementsV1Entitlement_universal_d_PolicyExpressionType: typeof PolicyExpressionType;\n  type entitlementsV1Entitlement_universal_d_PolicyExpressionNot = PolicyExpressionNot;\n  type entitlementsV1Entitlement_universal_d_PolicyExpressionAnd = PolicyExpressionAnd;\n  type entitlementsV1Entitlement_universal_d_PolicyExpressionOr = PolicyExpressionOr;\n  type entitlementsV1Entitlement_universal_d_Policy = Policy;\n  type entitlementsV1Entitlement_universal_d_PolicyPolicyOneOf = PolicyPolicyOneOf;\n  type entitlementsV1Entitlement_universal_d_Type = Type;\n  const entitlementsV1Entitlement_universal_d_Type: typeof Type;\n  type entitlementsV1Entitlement_universal_d_FixedIntervalPolicy = FixedIntervalPolicy;\n  type entitlementsV1Entitlement_universal_d_WeekDay = WeekDay;\n  const entitlementsV1Entitlement_universal_d_WeekDay: typeof WeekDay;\n  type entitlementsV1Entitlement_universal_d_RateLimitedPolicy = RateLimitedPolicy;\n  type entitlementsV1Entitlement_universal_d_RateLimitedPolicyPeriodOneOf = RateLimitedPolicyPeriodOneOf;\n  type entitlementsV1Entitlement_universal_d_RateLimitedPolicyType = RateLimitedPolicyType;\n  const entitlementsV1Entitlement_universal_d_RateLimitedPolicyType: typeof RateLimitedPolicyType;\n  type entitlementsV1Entitlement_universal_d_CustomPolicy = CustomPolicy;\n  type entitlementsV1Entitlement_universal_d_CreditConfiguration = CreditConfiguration;\n  type entitlementsV1Entitlement_universal_d_Provider = Provider;\n  type entitlementsV1Entitlement_universal_d_CreateEntitlementRequest = CreateEntitlementRequest;\n  type entitlementsV1Entitlement_universal_d_CreateEntitlementResponse = CreateEntitlementResponse;\n  type entitlementsV1Entitlement_universal_d_GetEntitlementRequest = GetEntitlementRequest;\n  type entitlementsV1Entitlement_universal_d_GetEntitlementResponse = GetEntitlementResponse;\n  type entitlementsV1Entitlement_universal_d_UpdateEntitlementRequest = UpdateEntitlementRequest;\n  type entitlementsV1Entitlement_universal_d_UpdateEntitlementResponse = UpdateEntitlementResponse;\n  type entitlementsV1Entitlement_universal_d_DeleteEntitlementRequest = DeleteEntitlementRequest;\n  type entitlementsV1Entitlement_universal_d_DeleteEntitlementResponse = DeleteEntitlementResponse;\n  type entitlementsV1Entitlement_universal_d_ProvisionEntitlementsRequest = ProvisionEntitlementsRequest;\n  type entitlementsV1Entitlement_universal_d_EntitlementTemplateReference = EntitlementTemplateReference;\n  type entitlementsV1Entitlement_universal_d_EntitlementTemplateReferenceIdOneOf = EntitlementTemplateReferenceIdOneOf;\n  type entitlementsV1Entitlement_universal_d_ProvisionEntitlementsResponse = ProvisionEntitlementsResponse;\n  type entitlementsV1Entitlement_universal_d_PackageAlreadyExists = PackageAlreadyExists;\n  type entitlementsV1Entitlement_universal_d_GrantEntitlementRequest = GrantEntitlementRequest;\n  type entitlementsV1Entitlement_universal_d_GrantEntitlementResponse = GrantEntitlementResponse;\n  type entitlementsV1Entitlement_universal_d_EntitlementGranted = EntitlementGranted;\n  type entitlementsV1Entitlement_universal_d_QueryEntitlementsRequest = QueryEntitlementsRequest;\n  type entitlementsV1Entitlement_universal_d_QueryEntitlementsResponse = QueryEntitlementsResponse;\n  type entitlementsV1Entitlement_universal_d_PauseEntitlementRequest = PauseEntitlementRequest;\n  type entitlementsV1Entitlement_universal_d_PauseEntitlementResponse = PauseEntitlementResponse;\n  type entitlementsV1Entitlement_universal_d_EntitlementPaused = EntitlementPaused;\n  type entitlementsV1Entitlement_universal_d_ResumeEntitlementRequest = ResumeEntitlementRequest;\n  type entitlementsV1Entitlement_universal_d_ResumeEntitlementResponse = ResumeEntitlementResponse;\n  type entitlementsV1Entitlement_universal_d_EntitlementResumed = EntitlementResumed;\n  type entitlementsV1Entitlement_universal_d_EndEntitlementRequest = EndEntitlementRequest;\n  type entitlementsV1Entitlement_universal_d_EndEntitlementResponse = EndEntitlementResponse;\n  type entitlementsV1Entitlement_universal_d_EntitlementEnded = EntitlementEnded;\n  type entitlementsV1Entitlement_universal_d_RedeemEntitlementRequest = RedeemEntitlementRequest;\n  type entitlementsV1Entitlement_universal_d_ItemReference = ItemReference;\n  type entitlementsV1Entitlement_universal_d_RedeemEntitlementResponse = RedeemEntitlementResponse;\n  type entitlementsV1Entitlement_universal_d_EntitlementRedeemed = EntitlementRedeemed;\n  type entitlementsV1Entitlement_universal_d_RedemptionDetails = RedemptionDetails;\n  type entitlementsV1Entitlement_universal_d_NotEnoughBalance = NotEnoughBalance;\n  type entitlementsV1Entitlement_universal_d_PolicyExpressionEvaluatedToFalse = PolicyExpressionEvaluatedToFalse;\n  type entitlementsV1Entitlement_universal_d_EntitlementNotActive = EntitlementNotActive;\n  type entitlementsV1Entitlement_universal_d_EntitlementAlreadyRedeemed = EntitlementAlreadyRedeemed;\n  type entitlementsV1Entitlement_universal_d_ReserveEntitlementRequest = ReserveEntitlementRequest;\n  type entitlementsV1Entitlement_universal_d_ReserveEntitlementResponse = ReserveEntitlementResponse;\n  type entitlementsV1Entitlement_universal_d_EntitlementReserved = EntitlementReserved;\n  type entitlementsV1Entitlement_universal_d_CancelEntitlementReservationRequest = CancelEntitlementReservationRequest;\n  type entitlementsV1Entitlement_universal_d_CancelEntitlementReservationResponse = CancelEntitlementReservationResponse;\n  type entitlementsV1Entitlement_universal_d_EntitlementReservationCanceled = EntitlementReservationCanceled;\n  type entitlementsV1Entitlement_universal_d_ReleaseEntitlementReservationRequest = ReleaseEntitlementReservationRequest;\n  type entitlementsV1Entitlement_universal_d_ReleaseEntitlementReservationResponse = ReleaseEntitlementReservationResponse;\n  type entitlementsV1Entitlement_universal_d_EntitlementReservationReleased = EntitlementReservationReleased;\n  type entitlementsV1Entitlement_universal_d_CheckEntitlementEligibilityRequest = CheckEntitlementEligibilityRequest;\n  type entitlementsV1Entitlement_universal_d_CheckEntitlementEligibilityResponse = CheckEntitlementEligibilityResponse;\n  type entitlementsV1Entitlement_universal_d_EligibilityCheckResult = EligibilityCheckResult;\n  const entitlementsV1Entitlement_universal_d_EligibilityCheckResult: typeof EligibilityCheckResult;\n  type entitlementsV1Entitlement_universal_d_GetEligibleEntitlementsRequest = GetEligibleEntitlementsRequest;\n  type entitlementsV1Entitlement_universal_d_GetEligibleEntitlementsResponse = GetEligibleEntitlementsResponse;\n  type entitlementsV1Entitlement_universal_d_EligibleBenefit = EligibleBenefit;\n  const entitlementsV1Entitlement_universal_d_createEntitlement: typeof createEntitlement;\n  const entitlementsV1Entitlement_universal_d_getEntitlement: typeof getEntitlement;\n  const entitlementsV1Entitlement_universal_d_updateEntitlement: typeof updateEntitlement;\n  type entitlementsV1Entitlement_universal_d_UpdateEntitlement = UpdateEntitlement;\n  type entitlementsV1Entitlement_universal_d_UpdateEntitlementOptions = UpdateEntitlementOptions;\n  const entitlementsV1Entitlement_universal_d_deleteEntitlement: typeof deleteEntitlement;\n  type entitlementsV1Entitlement_universal_d_DeleteEntitlementOptions = DeleteEntitlementOptions;\n  const entitlementsV1Entitlement_universal_d_provisionEntitlements: typeof provisionEntitlements;\n  type entitlementsV1Entitlement_universal_d_ProvisionEntitlementsOptions = ProvisionEntitlementsOptions;\n  const entitlementsV1Entitlement_universal_d_grantEntitlement: typeof grantEntitlement;\n  const entitlementsV1Entitlement_universal_d_queryEntitlements: typeof queryEntitlements;\n  type entitlementsV1Entitlement_universal_d_EntitlementsQueryResult = EntitlementsQueryResult;\n  type entitlementsV1Entitlement_universal_d_EntitlementsQueryBuilder = EntitlementsQueryBuilder;\n  const entitlementsV1Entitlement_universal_d_pauseEntitlement: typeof pauseEntitlement;\n  const entitlementsV1Entitlement_universal_d_resumeEntitlement: typeof resumeEntitlement;\n  const entitlementsV1Entitlement_universal_d_endEntitlement: typeof endEntitlement;\n  const entitlementsV1Entitlement_universal_d_redeemEntitlement: typeof redeemEntitlement;\n  type entitlementsV1Entitlement_universal_d_RedeemEntitlementOptions = RedeemEntitlementOptions;\n  const entitlementsV1Entitlement_universal_d_reserveEntitlement: typeof reserveEntitlement;\n  type entitlementsV1Entitlement_universal_d_ReserveEntitlementOptions = ReserveEntitlementOptions;\n  const entitlementsV1Entitlement_universal_d_cancelEntitlementReservation: typeof cancelEntitlementReservation;\n  const entitlementsV1Entitlement_universal_d_releaseEntitlementReservation: typeof releaseEntitlementReservation;\n  const entitlementsV1Entitlement_universal_d_checkEntitlementEligibility: typeof checkEntitlementEligibility;\n  type entitlementsV1Entitlement_universal_d_CheckEntitlementEligibilityOptions = CheckEntitlementEligibilityOptions;\n  const entitlementsV1Entitlement_universal_d_getEligibleEntitlements: typeof getEligibleEntitlements;\n  type entitlementsV1Entitlement_universal_d_GetEligibleEntitlementsOptions = GetEligibleEntitlementsOptions;\n  namespace entitlementsV1Entitlement_universal_d {\n    export {\n      __debug$1 as __debug,\n      entitlementsV1Entitlement_universal_d_Entitlement as Entitlement,\n      entitlementsV1Entitlement_universal_d_EntitlementStatus as EntitlementStatus,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      IdentityType$1 as IdentityType,\n      entitlementsV1Entitlement_universal_d_EntitlementDetails as EntitlementDetails,\n      entitlementsV1Entitlement_universal_d_Benefit as Benefit,\n      entitlementsV1Entitlement_universal_d_Item as Item,\n      entitlementsV1Entitlement_universal_d_PolicyExpression as PolicyExpression,\n      entitlementsV1Entitlement_universal_d_PolicyExpressionExpressionOneOf as PolicyExpressionExpressionOneOf,\n      entitlementsV1Entitlement_universal_d_PolicyExpressionType as PolicyExpressionType,\n      entitlementsV1Entitlement_universal_d_PolicyExpressionNot as PolicyExpressionNot,\n      entitlementsV1Entitlement_universal_d_PolicyExpressionAnd as PolicyExpressionAnd,\n      entitlementsV1Entitlement_universal_d_PolicyExpressionOr as PolicyExpressionOr,\n      entitlementsV1Entitlement_universal_d_Policy as Policy,\n      entitlementsV1Entitlement_universal_d_PolicyPolicyOneOf as PolicyPolicyOneOf,\n      entitlementsV1Entitlement_universal_d_Type as Type,\n      entitlementsV1Entitlement_universal_d_FixedIntervalPolicy as FixedIntervalPolicy,\n      entitlementsV1Entitlement_universal_d_WeekDay as WeekDay,\n      entitlementsV1Entitlement_universal_d_RateLimitedPolicy as RateLimitedPolicy,\n      entitlementsV1Entitlement_universal_d_RateLimitedPolicyPeriodOneOf as RateLimitedPolicyPeriodOneOf,\n      entitlementsV1Entitlement_universal_d_RateLimitedPolicyType as RateLimitedPolicyType,\n      entitlementsV1Entitlement_universal_d_CustomPolicy as CustomPolicy,\n      entitlementsV1Entitlement_universal_d_CreditConfiguration as CreditConfiguration,\n      entitlementsV1Entitlement_universal_d_Provider as Provider,\n      entitlementsV1Entitlement_universal_d_CreateEntitlementRequest as CreateEntitlementRequest,\n      entitlementsV1Entitlement_universal_d_CreateEntitlementResponse as CreateEntitlementResponse,\n      entitlementsV1Entitlement_universal_d_GetEntitlementRequest as GetEntitlementRequest,\n      entitlementsV1Entitlement_universal_d_GetEntitlementResponse as GetEntitlementResponse,\n      entitlementsV1Entitlement_universal_d_UpdateEntitlementRequest as UpdateEntitlementRequest,\n      entitlementsV1Entitlement_universal_d_UpdateEntitlementResponse as UpdateEntitlementResponse,\n      entitlementsV1Entitlement_universal_d_DeleteEntitlementRequest as DeleteEntitlementRequest,\n      entitlementsV1Entitlement_universal_d_DeleteEntitlementResponse as DeleteEntitlementResponse,\n      entitlementsV1Entitlement_universal_d_ProvisionEntitlementsRequest as ProvisionEntitlementsRequest,\n      entitlementsV1Entitlement_universal_d_EntitlementTemplateReference as EntitlementTemplateReference,\n      entitlementsV1Entitlement_universal_d_EntitlementTemplateReferenceIdOneOf as EntitlementTemplateReferenceIdOneOf,\n      entitlementsV1Entitlement_universal_d_ProvisionEntitlementsResponse as ProvisionEntitlementsResponse,\n      entitlementsV1Entitlement_universal_d_PackageAlreadyExists as PackageAlreadyExists,\n      entitlementsV1Entitlement_universal_d_GrantEntitlementRequest as GrantEntitlementRequest,\n      entitlementsV1Entitlement_universal_d_GrantEntitlementResponse as GrantEntitlementResponse,\n      entitlementsV1Entitlement_universal_d_EntitlementGranted as EntitlementGranted,\n      entitlementsV1Entitlement_universal_d_QueryEntitlementsRequest as QueryEntitlementsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      entitlementsV1Entitlement_universal_d_QueryEntitlementsResponse as QueryEntitlementsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      entitlementsV1Entitlement_universal_d_PauseEntitlementRequest as PauseEntitlementRequest,\n      entitlementsV1Entitlement_universal_d_PauseEntitlementResponse as PauseEntitlementResponse,\n      entitlementsV1Entitlement_universal_d_EntitlementPaused as EntitlementPaused,\n      entitlementsV1Entitlement_universal_d_ResumeEntitlementRequest as ResumeEntitlementRequest,\n      entitlementsV1Entitlement_universal_d_ResumeEntitlementResponse as ResumeEntitlementResponse,\n      entitlementsV1Entitlement_universal_d_EntitlementResumed as EntitlementResumed,\n      entitlementsV1Entitlement_universal_d_EndEntitlementRequest as EndEntitlementRequest,\n      entitlementsV1Entitlement_universal_d_EndEntitlementResponse as EndEntitlementResponse,\n      entitlementsV1Entitlement_universal_d_EntitlementEnded as EntitlementEnded,\n      entitlementsV1Entitlement_universal_d_RedeemEntitlementRequest as RedeemEntitlementRequest,\n      entitlementsV1Entitlement_universal_d_ItemReference as ItemReference,\n      entitlementsV1Entitlement_universal_d_RedeemEntitlementResponse as RedeemEntitlementResponse,\n      entitlementsV1Entitlement_universal_d_EntitlementRedeemed as EntitlementRedeemed,\n      entitlementsV1Entitlement_universal_d_RedemptionDetails as RedemptionDetails,\n      entitlementsV1Entitlement_universal_d_NotEnoughBalance as NotEnoughBalance,\n      entitlementsV1Entitlement_universal_d_PolicyExpressionEvaluatedToFalse as PolicyExpressionEvaluatedToFalse,\n      entitlementsV1Entitlement_universal_d_EntitlementNotActive as EntitlementNotActive,\n      entitlementsV1Entitlement_universal_d_EntitlementAlreadyRedeemed as EntitlementAlreadyRedeemed,\n      entitlementsV1Entitlement_universal_d_ReserveEntitlementRequest as ReserveEntitlementRequest,\n      entitlementsV1Entitlement_universal_d_ReserveEntitlementResponse as ReserveEntitlementResponse,\n      entitlementsV1Entitlement_universal_d_EntitlementReserved as EntitlementReserved,\n      entitlementsV1Entitlement_universal_d_CancelEntitlementReservationRequest as CancelEntitlementReservationRequest,\n      entitlementsV1Entitlement_universal_d_CancelEntitlementReservationResponse as CancelEntitlementReservationResponse,\n      entitlementsV1Entitlement_universal_d_EntitlementReservationCanceled as EntitlementReservationCanceled,\n      entitlementsV1Entitlement_universal_d_ReleaseEntitlementReservationRequest as ReleaseEntitlementReservationRequest,\n      entitlementsV1Entitlement_universal_d_ReleaseEntitlementReservationResponse as ReleaseEntitlementReservationResponse,\n      entitlementsV1Entitlement_universal_d_EntitlementReservationReleased as EntitlementReservationReleased,\n      entitlementsV1Entitlement_universal_d_CheckEntitlementEligibilityRequest as CheckEntitlementEligibilityRequest,\n      entitlementsV1Entitlement_universal_d_CheckEntitlementEligibilityResponse as CheckEntitlementEligibilityResponse,\n      entitlementsV1Entitlement_universal_d_EligibilityCheckResult as EligibilityCheckResult,\n      entitlementsV1Entitlement_universal_d_GetEligibleEntitlementsRequest as GetEligibleEntitlementsRequest,\n      entitlementsV1Entitlement_universal_d_GetEligibleEntitlementsResponse as GetEligibleEntitlementsResponse,\n      entitlementsV1Entitlement_universal_d_EligibleBenefit as EligibleBenefit,\n      entitlementsV1Entitlement_universal_d_createEntitlement as createEntitlement,\n      entitlementsV1Entitlement_universal_d_getEntitlement as getEntitlement,\n      entitlementsV1Entitlement_universal_d_updateEntitlement as updateEntitlement,\n      entitlementsV1Entitlement_universal_d_UpdateEntitlement as UpdateEntitlement,\n      entitlementsV1Entitlement_universal_d_UpdateEntitlementOptions as UpdateEntitlementOptions,\n      entitlementsV1Entitlement_universal_d_deleteEntitlement as deleteEntitlement,\n      entitlementsV1Entitlement_universal_d_DeleteEntitlementOptions as DeleteEntitlementOptions,\n      entitlementsV1Entitlement_universal_d_provisionEntitlements as provisionEntitlements,\n      entitlementsV1Entitlement_universal_d_ProvisionEntitlementsOptions as ProvisionEntitlementsOptions,\n      entitlementsV1Entitlement_universal_d_grantEntitlement as grantEntitlement,\n      entitlementsV1Entitlement_universal_d_queryEntitlements as queryEntitlements,\n      entitlementsV1Entitlement_universal_d_EntitlementsQueryResult as EntitlementsQueryResult,\n      entitlementsV1Entitlement_universal_d_EntitlementsQueryBuilder as EntitlementsQueryBuilder,\n      entitlementsV1Entitlement_universal_d_pauseEntitlement as pauseEntitlement,\n      entitlementsV1Entitlement_universal_d_resumeEntitlement as resumeEntitlement,\n      entitlementsV1Entitlement_universal_d_endEntitlement as endEntitlement,\n      entitlementsV1Entitlement_universal_d_redeemEntitlement as redeemEntitlement,\n      entitlementsV1Entitlement_universal_d_RedeemEntitlementOptions as RedeemEntitlementOptions,\n      entitlementsV1Entitlement_universal_d_reserveEntitlement as reserveEntitlement,\n      entitlementsV1Entitlement_universal_d_ReserveEntitlementOptions as ReserveEntitlementOptions,\n      entitlementsV1Entitlement_universal_d_cancelEntitlementReservation as cancelEntitlementReservation,\n      entitlementsV1Entitlement_universal_d_releaseEntitlementReservation as releaseEntitlementReservation,\n      entitlementsV1Entitlement_universal_d_checkEntitlementEligibility as checkEntitlementEligibility,\n      entitlementsV1Entitlement_universal_d_CheckEntitlementEligibilityOptions as CheckEntitlementEligibilityOptions,\n      entitlementsV1Entitlement_universal_d_getEligibleEntitlements as getEligibleEntitlements,\n      entitlementsV1Entitlement_universal_d_GetEligibleEntitlementsOptions as GetEligibleEntitlementsOptions,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Transaction {\n      /** @readonly */\n      _id?: string | null;\n      /**\n       * Represents the time the transaction was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * The entitlement from which the balance was changed\n       * @readonly\n       */\n      poolId?: string;\n      /**\n       * The item for which the balance was changed, used only for records\n       * @readonly\n       */\n      itemId?: string | null;\n      /**\n       * Amount to adjust the balance with. Can be negative.\n       * @readonly\n       */\n      amount?: string;\n      /**\n       * The type defines different functionalities. Use DEBIT_AVAILABLE for normal balance debiting.\n       * @readonly\n       */\n      type?: TransactionType;\n      /**\n       * Generated idempotency key from the client when making a change to the balance.\n       * @readonly\n       */\n      idempotencyKey?: string;\n      /**\n       * Free format string\n       * @readonly\n       */\n      reason?: string | null;\n      /**\n       * The identity that benefited from this transaction\n       * @readonly\n       */\n      beneficiary?: IdentificationData;\n      /**\n       * Related transaction id. For example - for a reservation cancellation transaction, the related transaction is the redemption itself.\n       * @readonly\n       */\n      relatedTransactionId?: string | null;\n      /**\n       * The identity that created this transaction\n       * @readonly\n       */\n      instructingParty?: IdentificationData;\n      /**\n       * status of the transaction\n       * @readonly\n       */\n      status?: TransactionStatus;\n  }\n  enum TransactionType {\n      UNDEFINED = \"UNDEFINED\",\n      /** Debits the AVAILABLE balance */\n      DEBIT_AVAILABLE = \"DEBIT_AVAILABLE\",\n      /** Moves the balance from AVAILABLE to RESERVED */\n      RESERVE = \"RESERVE\",\n      /** Debits the RESERVED balance */\n      RELEASE_RESERVATION = \"RELEASE_RESERVATION\",\n      /** Moves the balance back from RESERVED to AVAILABLE */\n      CANCEL_RESERVATION = \"CANCEL_RESERVATION\",\n      /** Credits the AVAILABLE balance */\n      CREDIT_AVAILABLE = \"CREDIT_AVAILABLE\",\n      /** Transaction type used for reporting free item usage */\n      NO_CHANGE = \"NO_CHANGE\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  enum TransactionStatus {\n      UNDEFINED = \"UNDEFINED\",\n      /** Transaction is pending. This is the initial status of the transaction. Once the balance is updated, the transaction will become COMPLETED. If the balance update fails, the transaction will become FAILED. */\n      PENDING = \"PENDING\",\n      /** Transaction is completed */\n      COMPLETED = \"COMPLETED\",\n      /** Transaction is failed */\n      FAILED = \"FAILED\"\n  }\n  interface GetTransactionRequest {\n      /** Id of the transaction to retrieve */\n      transactionId: string;\n  }\n  interface GetTransactionResponse {\n      /** The retrieved transaction */\n      transaction?: Transaction;\n  }\n  interface GetTransactionReversibilityRequest {\n      /** Id of the transaction to get the reversibility */\n      transactionId: string;\n  }\n  interface GetTransactionReversibilityResponse {\n      /** The result of transaction reversibility validation */\n      transactionReversibility?: TransactionReversibility;\n  }\n  /** Transaction reversibility results */\n  enum TransactionReversibility {\n      /** Transaction is allowed to be reverted */\n      TRANSACTION_IS_REVERSIBLE = \"TRANSACTION_IS_REVERSIBLE\",\n      /** Transaction isn't allowed to be reverted, because it was already reverted */\n      TRANSACTION_ALREADY_REVERSED = \"TRANSACTION_ALREADY_REVERSED\",\n      /** Transaction isn't allowed to be reverted, because the type transaction type doesn't allow this action */\n      TRANSACTION_IS_NOT_REVERSIBLE = \"TRANSACTION_IS_NOT_REVERSIBLE\"\n  }\n  interface QueryTransactionsRequest {\n      /** WQL expression */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTransactionsResponse {\n      /** The retrieved transactions */\n      transactions?: Transaction[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  /**\n   * Get a transaction by id\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param transactionId - Id of the transaction to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField transactionId\n   * @adminMethod\n   * @returns The retrieved transaction\n   */\n  function getTransaction(transactionId: string): Promise<Transaction>;\n  /**\n   * Get a transaction reversibility by transaction id\n   *\n   * Should be always internal this is only used to support EcomMembershipSPI\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param transactionId - Id of the transaction to get the reversibility\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField transactionId\n   * @adminMethod\n   */\n  function getTransactionReversibility(transactionId: string): Promise<GetTransactionReversibilityResponse>;\n  /**\n   * Query transactions using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryTransactions(): TransactionsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TransactionsQueryResult extends QueryCursorResult {\n      items: Transaction[];\n      query: TransactionsQueryBuilder;\n      next: () => Promise<TransactionsQueryResult>;\n      prev: () => Promise<TransactionsQueryResult>;\n  }\n  interface TransactionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | 'poolId' | 'itemId' | 'amount' | 'type' | 'idempotencyKey' | 'reason' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'relatedTransactionId' | 'instructingParty' | 'instructingParty.anonymousVisitorId' | 'instructingParty.memberId' | 'instructingParty.wixUserId' | 'instructingParty.appId' | 'instructingParty.contactId' | 'status', value: any) => TransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | 'poolId' | 'itemId' | 'amount' | 'type' | 'idempotencyKey' | 'reason' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'relatedTransactionId' | 'instructingParty' | 'instructingParty.anonymousVisitorId' | 'instructingParty.memberId' | 'instructingParty.wixUserId' | 'instructingParty.appId' | 'instructingParty.contactId' | 'status', value: any) => TransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate', value: any) => TransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate', value: any) => TransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'poolId' | 'itemId' | 'amount' | 'idempotencyKey' | 'reason' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'relatedTransactionId' | 'instructingParty.anonymousVisitorId' | 'instructingParty.memberId' | 'instructingParty.wixUserId' | 'instructingParty.appId' | 'instructingParty.contactId', value: string) => TransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | 'poolId' | 'itemId' | 'amount' | 'type' | 'idempotencyKey' | 'reason' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'relatedTransactionId' | 'instructingParty' | 'instructingParty.anonymousVisitorId' | 'instructingParty.memberId' | 'instructingParty.wixUserId' | 'instructingParty.appId' | 'instructingParty.contactId' | 'status', value: any[]) => TransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | 'poolId' | 'itemId' | 'amount' | 'type' | 'idempotencyKey' | 'reason' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'relatedTransactionId' | 'instructingParty' | 'instructingParty.anonymousVisitorId' | 'instructingParty.memberId' | 'instructingParty.wixUserId' | 'instructingParty.appId' | 'instructingParty.contactId' | 'status', value: any) => TransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | 'poolId' | 'itemId' | 'amount' | 'type' | 'idempotencyKey' | 'reason' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'relatedTransactionId' | 'instructingParty' | 'instructingParty.anonymousVisitorId' | 'instructingParty.memberId' | 'instructingParty.wixUserId' | 'instructingParty.appId' | 'instructingParty.contactId' | 'status', value: boolean) => TransactionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | 'poolId' | 'itemId' | 'amount' | 'type' | 'idempotencyKey' | 'reason' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'beneficiary.identityType' | 'relatedTransactionId' | 'instructingParty' | 'instructingParty.anonymousVisitorId' | 'instructingParty.memberId' | 'instructingParty.wixUserId' | 'instructingParty.appId' | 'instructingParty.contactId' | 'instructingParty.identityType' | 'status'>) => TransactionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | 'poolId' | 'itemId' | 'amount' | 'type' | 'idempotencyKey' | 'reason' | 'beneficiary' | 'beneficiary.anonymousVisitorId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'beneficiary.appId' | 'beneficiary.contactId' | 'beneficiary.identityType' | 'relatedTransactionId' | 'instructingParty' | 'instructingParty.anonymousVisitorId' | 'instructingParty.memberId' | 'instructingParty.wixUserId' | 'instructingParty.appId' | 'instructingParty.contactId' | 'instructingParty.identityType' | 'status'>) => TransactionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => TransactionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => TransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<TransactionsQueryResult>;\n  }\n  \n  const entitlementsV1Transaction_universal_d___debug: typeof __debug;\n  type entitlementsV1Transaction_universal_d_Transaction = Transaction;\n  type entitlementsV1Transaction_universal_d_TransactionType = TransactionType;\n  const entitlementsV1Transaction_universal_d_TransactionType: typeof TransactionType;\n  type entitlementsV1Transaction_universal_d_IdentificationData = IdentificationData;\n  type entitlementsV1Transaction_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type entitlementsV1Transaction_universal_d_IdentityType = IdentityType;\n  const entitlementsV1Transaction_universal_d_IdentityType: typeof IdentityType;\n  type entitlementsV1Transaction_universal_d_TransactionStatus = TransactionStatus;\n  const entitlementsV1Transaction_universal_d_TransactionStatus: typeof TransactionStatus;\n  type entitlementsV1Transaction_universal_d_GetTransactionRequest = GetTransactionRequest;\n  type entitlementsV1Transaction_universal_d_GetTransactionResponse = GetTransactionResponse;\n  type entitlementsV1Transaction_universal_d_GetTransactionReversibilityRequest = GetTransactionReversibilityRequest;\n  type entitlementsV1Transaction_universal_d_GetTransactionReversibilityResponse = GetTransactionReversibilityResponse;\n  type entitlementsV1Transaction_universal_d_TransactionReversibility = TransactionReversibility;\n  const entitlementsV1Transaction_universal_d_TransactionReversibility: typeof TransactionReversibility;\n  type entitlementsV1Transaction_universal_d_QueryTransactionsRequest = QueryTransactionsRequest;\n  type entitlementsV1Transaction_universal_d_CursorQuery = CursorQuery;\n  type entitlementsV1Transaction_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type entitlementsV1Transaction_universal_d_Sorting = Sorting;\n  type entitlementsV1Transaction_universal_d_SortOrder = SortOrder;\n  const entitlementsV1Transaction_universal_d_SortOrder: typeof SortOrder;\n  type entitlementsV1Transaction_universal_d_CursorPaging = CursorPaging;\n  type entitlementsV1Transaction_universal_d_QueryTransactionsResponse = QueryTransactionsResponse;\n  type entitlementsV1Transaction_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type entitlementsV1Transaction_universal_d_Cursors = Cursors;\n  const entitlementsV1Transaction_universal_d_getTransaction: typeof getTransaction;\n  const entitlementsV1Transaction_universal_d_getTransactionReversibility: typeof getTransactionReversibility;\n  const entitlementsV1Transaction_universal_d_queryTransactions: typeof queryTransactions;\n  type entitlementsV1Transaction_universal_d_TransactionsQueryResult = TransactionsQueryResult;\n  type entitlementsV1Transaction_universal_d_TransactionsQueryBuilder = TransactionsQueryBuilder;\n  namespace entitlementsV1Transaction_universal_d {\n    export {\n      entitlementsV1Transaction_universal_d___debug as __debug,\n      entitlementsV1Transaction_universal_d_Transaction as Transaction,\n      entitlementsV1Transaction_universal_d_TransactionType as TransactionType,\n      entitlementsV1Transaction_universal_d_IdentificationData as IdentificationData,\n      entitlementsV1Transaction_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      entitlementsV1Transaction_universal_d_IdentityType as IdentityType,\n      entitlementsV1Transaction_universal_d_TransactionStatus as TransactionStatus,\n      entitlementsV1Transaction_universal_d_GetTransactionRequest as GetTransactionRequest,\n      entitlementsV1Transaction_universal_d_GetTransactionResponse as GetTransactionResponse,\n      entitlementsV1Transaction_universal_d_GetTransactionReversibilityRequest as GetTransactionReversibilityRequest,\n      entitlementsV1Transaction_universal_d_GetTransactionReversibilityResponse as GetTransactionReversibilityResponse,\n      entitlementsV1Transaction_universal_d_TransactionReversibility as TransactionReversibility,\n      entitlementsV1Transaction_universal_d_QueryTransactionsRequest as QueryTransactionsRequest,\n      entitlementsV1Transaction_universal_d_CursorQuery as CursorQuery,\n      entitlementsV1Transaction_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      entitlementsV1Transaction_universal_d_Sorting as Sorting,\n      entitlementsV1Transaction_universal_d_SortOrder as SortOrder,\n      entitlementsV1Transaction_universal_d_CursorPaging as CursorPaging,\n      entitlementsV1Transaction_universal_d_QueryTransactionsResponse as QueryTransactionsResponse,\n      entitlementsV1Transaction_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      entitlementsV1Transaction_universal_d_Cursors as Cursors,\n      entitlementsV1Transaction_universal_d_getTransaction as getTransaction,\n      entitlementsV1Transaction_universal_d_getTransactionReversibility as getTransactionReversibility,\n      entitlementsV1Transaction_universal_d_queryTransactions as queryTransactions,\n      entitlementsV1Transaction_universal_d_TransactionsQueryResult as TransactionsQueryResult,\n      entitlementsV1Transaction_universal_d_TransactionsQueryBuilder as TransactionsQueryBuilder,\n    };\n  }\n  \n  export { entitlementsV1Balance_universal_d as balance, entitlementsV1Entitlement_universal_d as entitlements, entitlementsV1Transaction_universal_d as transaction };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-events-backend.v1.d.ts",
      "content": "declare module \"wix-events-backend.v1\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Order {\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Reservation ID. */\n      reservationId?: string;\n      /**\n       * Payment snapshot ID.\n       * Empty for FREE order.\n       * @readonly\n       */\n      snapshotId?: string;\n      /** Event ID. */\n      eventId?: string;\n      /** Contact ID of buyer (resolved using email address). */\n      contactId?: string;\n      /** Member ID of buyer (if relevant). */\n      memberId?: string;\n      /**\n       * RSVP created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** Checkout form response. When each purchased ticket is assigned to a guest, guest forms are returned for each ticket, and buyer info is returned. */\n      checkoutForm?: FormResponse;\n      /** Whether the order is confirmed (triggered once payment gateway processes the payment and funds reach the merchant's account). */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus;\n      /** Payment method used for purchase, e.g., \"payPal\", \"creditCard\", etc. */\n      method?: string;\n      /** Tickets ordered. */\n      ticketsQuantity?: number;\n      /** Total order price. */\n      totalPrice?: Money;\n      /** URL to ticket PDF. */\n      ticketsPdf?: string;\n      /** Tickets (generated after payment). */\n      tickets?: TicketingTicket[];\n      /** Whether the order is archived. */\n      archived?: boolean;\n      /** Whether the order is anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /** Guest full name. */\n      fullName?: string;\n      /** Order invoice. */\n      invoice?: Invoice;\n      /** Whether all tickets in order are checked-in. */\n      fullyCheckedIn?: boolean;\n      /**\n       * Deprecated. Use `payment_details.transaction.transaction_id`.\n       * @internal\n       * @readonly\n       */\n      transactionId?: string;\n      /** Internal order payment details */\n      paymentDetails?: PaymentDetails;\n      /** Checkout channel type */\n      channel?: ChannelType;\n      /**\n       * Language in which Order was created.\n       * @internal\n       * @readonly\n       */\n      language?: string | null;\n  }\n  interface FormResponse {\n      /** Input values entered upon ticket order. */\n      inputValues?: InputValue[];\n  }\n  interface InputValue {\n      /** Unique input name. */\n      inputName?: string;\n      /** Text value representation. */\n      value?: string;\n      /** Text value vector. */\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress;\n  }\n  interface FormattedAddress {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: Address;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  enum OrderStatus {\n      /** Order status not available for this request fieldset */\n      NA_ORDER_STATUS = \"NA_ORDER_STATUS\",\n      /** Order is confirmed, no payment required */\n      FREE = \"FREE\",\n      /** Order was paid but payment gateway suspended the payment. Eventually changes to PAID */\n      PENDING = \"PENDING\",\n      /** Order paid via payment gateway */\n      PAID = \"PAID\",\n      /** Order confirmed but has to be paid via offline payment and status manually updated to PAID */\n      OFFLINE_PENDING = \"OFFLINE_PENDING\",\n      /** Order is awaiting for payment in Cashier */\n      INITIATED = \"INITIATED\",\n      /** Order was canceled */\n      CANCELED = \"CANCELED\",\n      /** Order payment was declined */\n      DECLINED = \"DECLINED\"\n  }\n  interface Money {\n      /** Decimal amount representation. Deprecated, use `value` instead. */\n      amount?: string;\n      /** ISO 4217 format of the currency i.e. `USD`. */\n      currency?: string;\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string | null;\n  }\n  interface TicketingTicket {\n      /** Unique ticket number (issued automatically). */\n      ticketNumber?: string;\n      /** Associated order number. */\n      orderNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket price. */\n      price?: Money;\n      /**\n       * Whether ticket requires payment.\n       * @readonly\n       */\n      free?: boolean;\n      /** Ticket policy (as displayed in PDF). */\n      policy?: string;\n      /** Deprecated, use `check_in_url`. */\n      qrCode?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn;\n      /** Associated order status. */\n      orderStatus?: OrderStatus;\n      /** Whether order and ticket are visible in order list. */\n      orderArchived?: boolean;\n      /** Buyer full name. */\n      orderFullName?: string;\n      /** Guest full name. */\n      guestFullName?: string | null;\n      /** Guest personal details. */\n      guestDetails?: GuestDetails;\n      /** Whether ticket is visible in guest list. */\n      archived?: boolean;\n      /** Deprecated, use `ticket_pdf_url`. */\n      ticketPdf?: string;\n      /** Ticket owner member ID. */\n      memberId?: string | null;\n      /**\n       * Whether ticket was anonymized by GDPR delete.\n       * Anonymized tickets no longer contain personally identifiable information (PII).\n       */\n      anonymized?: boolean;\n      /**\n       * Ticket check-in URL.\n       * Shown as QR code image in PDF.\n       * Format: `https://www.wixevents.com/check-in/{ticket number},{event id}`\n       * Example: `https://www.wixevents.com/check-in/AAAA-AAAA-BB021,00000000-0000-0000-0000-000000000000`\n       */\n      checkInUrl?: string;\n      /** URL for ticket PDF download. */\n      ticketPdfUrl?: string;\n      /** Associated order checkout channel type */\n      channel?: ChannelType;\n      /**\n       * URL to download ticket in .pkpass format for Apple Wallet\n       * @readonly\n       */\n      walletPassUrl?: string;\n      /**\n       * Additional ticket details.\n       * @internal\n       * @readonly\n       */\n      ticketDetails?: TicketDetails;\n  }\n  interface CheckIn {\n      /** Time of check-in */\n      created?: Date;\n  }\n  interface GuestDetails {\n      /** Whether ticket belongs to assigned guest. */\n      guestAssigned?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Full form response. */\n      form?: FormResponse;\n      /** Contact ID associated with this guest. */\n      contactId?: string | null;\n  }\n  enum ChannelType {\n      /** Buyer created order via one of the online channels (website, mobile app, etc.) */\n      ONLINE = \"ONLINE\",\n      /** Order created and money collected by the sales person */\n      OFFLINE_POS = \"OFFLINE_POS\"\n  }\n  interface TicketDetails {\n      /** Unique seat id in the event venue. */\n      seatId?: string | null;\n      /**\n       * Optional sector name.\n       * @internal\n       * @readonly\n       */\n      sectorName?: string | null;\n      /**\n       * Area name.\n       * @internal\n       * @readonly\n       */\n      areaName?: string | null;\n      /**\n       * Table name.\n       * @internal\n       * @readonly\n       */\n      tableName?: string | null;\n      /**\n       * Row label.\n       * @internal\n       * @readonly\n       */\n      rowNumber?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @internal\n       * @readonly\n       */\n      seatNumber?: string | null;\n      /**\n       * Optional sector label.\n       * @readonly\n       */\n      sectionLabel?: string | null;\n      /**\n       * Area label.\n       * @readonly\n       */\n      areaLabel?: string | null;\n      /**\n       * Table label.\n       * @readonly\n       */\n      tableLabel?: string | null;\n      /**\n       * Row label.\n       * @readonly\n       */\n      rowLabel?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @readonly\n       */\n      seatLabel?: string | null;\n      /** Number of places in the spot. If not provided - defaults to 1. */\n      capacity?: number | null;\n      /** Custom pricing of ticket. */\n      priceOverride?: string | null;\n      /** Pricing option id. */\n      pricingOptionId?: string | null;\n      /**\n       * Pricing option name.\n       * @internal\n       * @readonly\n       */\n      pricingOptionName?: string | null;\n  }\n  interface Invoice {\n      items?: Item[];\n      /** Total cart amount. */\n      total?: Money;\n      /** Discount applied to cart. */\n      discount?: Discount;\n      /** Tax applied to cart. */\n      tax?: Tax;\n      /** Total cart amount before discount, tax, and fees. */\n      subTotal?: Money;\n      /**\n       * Total amount of cart after discount, tax, and fees.\n       * Grand total is calculated in the following order:\n       * 1. Total prices of all items in the cart are calculated.\n       * 2. Discount is subtracted from the cart (if applicable).\n       * 3. Tax is added (if applicable).\n       * 4. Wix service fee is added.\n       */\n      grandTotal?: Money;\n      /**\n       * Fees applied to the cart.\n       * @readonly\n       */\n      fees?: Fee[];\n      /** Total revenue, excluding fees. (Taxes and payment provider fees are not deducted). */\n      revenue?: Money;\n      /** URL to invoice preview. Returned only if order is paid. */\n      previewUrl?: string | null;\n  }\n  interface Item {\n      /** Unique line item ID. */\n      _id?: string;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item mame. */\n      name?: string;\n      /** Line item price. */\n      price?: Money;\n      /** Total price for line items. Always equal to price * quantity. */\n      total?: Money;\n      /** Discount applied to the line item. */\n      discount?: Discount;\n      /** Tax applied to the item. */\n      tax?: Tax;\n      /**\n       * Fees applied to the item.\n       * @readonly\n       */\n      fees?: Fee[];\n  }\n  interface Discount {\n      /** Total discount amount. */\n      amount?: Money;\n      /** Total charge after applied discount. */\n      afterDiscount?: Money;\n      /** Discount coupon code. */\n      code?: string;\n      /** Discount coupon name. */\n      name?: string;\n      /** Discount coupon ID. */\n      couponId?: string;\n      /** Discount items. */\n      discounts?: DiscountItem[];\n  }\n  interface DiscountItem extends DiscountItemDiscountOneOf {\n      /** Total discount amount. */\n      amount?: Money;\n      /** Coupon discount. */\n      coupon?: CouponDiscount;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount;\n  }\n  /** @oneof */\n  interface DiscountItemDiscountOneOf {\n      /** Coupon discount. */\n      coupon?: CouponDiscount;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount;\n  }\n  interface CouponDiscount {\n      /** Discount coupon name. */\n      name?: string;\n      /** Discount coupon code. */\n      code?: string;\n      /** Discount coupon ID. */\n      couponId?: string;\n  }\n  interface PaidPlanDiscount extends PaidPlanDiscountDiscountOneOf {\n      /** Name of pricing plan. */\n      name?: string;\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount;\n  }\n  /** @oneof */\n  interface PaidPlanDiscountDiscountOneOf {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount;\n  }\n  interface PercentDiscount {\n      /** Percent rate. */\n      rate?: string;\n      /** Number of discounted tickets. */\n      quantityDiscounted?: number;\n  }\n  interface Tax {\n      /** Tax type. */\n      type?: TaxType;\n      /**\n       * Tax name.\n       * @readonly\n       */\n      name?: string;\n      /** Tax rate. */\n      rate?: string;\n      /** Taxable amount. */\n      taxable?: Money;\n      /** Total tax amount. */\n      amount?: Money;\n  }\n  enum TaxType {\n      /** Tax is included in the ticket price */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Fee {\n      /** Fee identifier. */\n      name?: FeeName;\n      /** How fee is calculated. */\n      type?: FeeType;\n      /**\n       * Fee rate.\n       * @readonly\n       */\n      rate?: string;\n      /** Total amount of fee charges. */\n      amount?: Money;\n  }\n  enum FeeName {\n      /** Wix service fee charges applied to the line item. */\n      WIX_FEE = \"WIX_FEE\"\n  }\n  enum FeeType {\n      /** Fee is added to the ticket price at checkout */\n      FEE_ADDED = \"FEE_ADDED\",\n      /** Seller absorbs the fee. It is deducted from the ticket price */\n      FEE_INCLUDED = \"FEE_INCLUDED\",\n      /** Fee is added to the ticket price at checkout */\n      FEE_ADDED_AT_CHECKOUT = \"FEE_ADDED_AT_CHECKOUT\"\n  }\n  interface PaymentDetails {\n      /** Wix Payments transaction */\n      transaction?: PaymentTransaction;\n  }\n  interface PaymentTransaction {\n      /**\n       * Wix Payments transaction id\n       * @readonly\n       */\n      transactionId?: string;\n      /**\n       * Transaction Payment method e.g., \"payPal\", \"creditCard\", etc.\n       * @readonly\n       */\n      method?: string;\n  }\n  interface OrderDeleted {\n      /** Order deleted timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /** Whether order was anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /** Order type. */\n      orderType?: OrderType;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n      /** Tickets generated after payment. */\n      tickets?: Ticket[];\n  }\n  enum OrderType {\n      /** Buyer form is used for all tickets */\n      UNASSIGNED_TICKETS = \"UNASSIGNED_TICKETS\",\n      /** Each order ticket has its own form */\n      ASSIGNED_TICKETS = \"ASSIGNED_TICKETS\"\n  }\n  interface Ticket {\n      /** Unique issued ticket number. */\n      ticketNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn;\n      /** Ticket price. */\n      price?: Money;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Contact ID associated with this ticket. */\n      contactId?: string | null;\n      /** Whether ticket is confirmed */\n      confirmed?: boolean;\n      /** Member ID associated with this ticket. */\n      memberId?: string | null;\n      /** Ticket form response (only assigned tickets contain separate forms). */\n      form?: FormResponse;\n      /** Anonymized tickets no longer contain personally identifiable information (PII). */\n      anonymized?: boolean;\n  }\n  interface ListOrdersRequest {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Controls which data is returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_order-fieldset). */\n      fieldset?: OrderFieldset[];\n      /** Status. */\n      status?: OrderStatus[];\n      /**\n       * Deprecated: use tag = CONFIRMED\n       * @internal\n       */\n      confirmed?: boolean | null;\n      /** Event ID. */\n      eventId?: string[];\n      /** Order number. */\n      orderNumber?: string[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       */\n      membersOnly?: boolean;\n      /**\n       * Field facets.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-orders).\n       */\n      facet?: string[];\n      /**\n       * Deprecated: use tag = ARCHIVED / NON_ARCHIVED\n       * @internal\n       */\n      archived?: boolean | null;\n      /** Textual search filter - search is performed on \"full_name\", \"email\" and \"order_number\". */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Deprecated: use tag = FULLY_CHECKED_IN / NOT_FULLY_CHECKED_IN\n       * @internal\n       */\n      fullyCheckedIn?: boolean | null;\n      /**\n       * Sort order. Defaults to \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-orders).\n       */\n      sort?: string;\n      /** Order tag. */\n      tag?: OrderTag[];\n  }\n  enum OrderFieldset {\n      /** Include tickets in response */\n      TICKETS = \"TICKETS\",\n      /** Include order details: status, first_name, last_name, email, created, etc. */\n      DETAILS = \"DETAILS\",\n      /** Include checkout_form */\n      FORM = \"FORM\",\n      /** Include invoice */\n      INVOICE = \"INVOICE\"\n  }\n  enum OrderTag {\n      /** Return only confirmed orders */\n      CONFIRMED = \"CONFIRMED\",\n      /** Return only unconfirmed orders */\n      UNCONFIRMED = \"UNCONFIRMED\",\n      /** Return only member orders */\n      MEMBER = \"MEMBER\",\n      /** Return only archived orders */\n      ARCHIVED = \"ARCHIVED\",\n      /** Return only non archived orders */\n      NON_ARCHIVED = \"NON_ARCHIVED\",\n      /** Return only orders with all guests checked-in */\n      FULLY_CHECKED_IN = \"FULLY_CHECKED_IN\",\n      /** Return only orders with no guests checked-in */\n      NOT_FULLY_CHECKED_IN = \"NOT_FULLY_CHECKED_IN\"\n  }\n  interface ListOrdersResponse {\n      /** Total orders matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Orders. */\n      orders?: Order[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts>;\n      /** Meta data of search results. */\n      searchMetaData?: SearchMetaData;\n      /** Order data enriched facets. */\n      orderFacets?: OrderFacets;\n  }\n  interface FacetCounts {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface SearchMetaData {\n      /** Search results */\n      results?: Result[];\n  }\n  interface Result {\n      /** Entity ID */\n      _id?: string;\n      /**\n       * Entity score.\n       * Higher is more relevant to search phrase.\n       */\n      score?: string;\n  }\n  interface OrderFacets {\n      /** Filter facets. */\n      facets?: Record<string, OrderFacetCounts>;\n  }\n  interface OrderFacetCounts {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, Counts>;\n  }\n  interface Counts {\n      /** Number or orders */\n      count?: number;\n      /** Number of tickets within orders */\n      tickets?: number;\n      /** Number of tickets with check-in */\n      ticketsCheckIn?: number;\n  }\n  interface GetOrderRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /** Controls which data is returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_order-fieldset). */\n      fieldset?: OrderFieldset[];\n  }\n  interface GetOrderResponse {\n      /** Requested order. */\n      order?: Order;\n      /** \"Add to calendar\" links. */\n      calendarLinks?: CalendarLinks;\n  }\n  interface CalendarLinks {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  interface UpdateOrderRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /** Set of field paths to update. */\n      fields: string[];\n      /** Checkout form. */\n      checkoutForm?: FormResponse;\n      /** Whether order is archived. */\n      archived?: boolean;\n  }\n  interface UpdateOrderResponse {\n      /** Updated order. */\n      order?: Order;\n  }\n  interface OrderUpdated {\n      /** Order updated timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse;\n      /** Whether order is confirmed - occurs once payment gateway processes the payment and funds reach merchant's account. */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets generated after payment. */\n      tickets?: Ticket[];\n      /** Whether order was archived and excluded from results. */\n      archived?: boolean;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n  }\n  interface BulkUpdateOrdersRequest {\n      /** Event ID. */\n      eventId: string;\n      orderNumber?: string[];\n      /** Set of fields to update. */\n      fields?: string[];\n      /** Whether to archive the order. */\n      archived?: boolean;\n  }\n  interface BulkUpdateOrdersResponse {\n      /** Updated orders. */\n      orders?: Order[];\n  }\n  interface ConfirmOrderRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Order numbers. */\n      orderNumber?: string[];\n  }\n  interface ConfirmOrderResponse {\n      /** Confirmed orders. */\n      orders?: Order[];\n  }\n  interface GetSummaryRequest {\n      /** Event ID. */\n      eventId?: string | null;\n  }\n  interface GetSummaryResponse {\n      /** Ticket sales grouped by currency. */\n      sales?: TicketSales[];\n  }\n  interface TicketSales {\n      /** Total balance of confirmed transactions. */\n      total?: Money;\n      /** Total number of confirmed orders. */\n      totalOrders?: number;\n      /** Total number of tickets purchased. */\n      totalTickets?: number;\n      /** Total revenue, excluding fees (taxes and payment provider fees are not deducted). */\n      revenue?: Money;\n  }\n  interface GetInvoicePreviewRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Order number. */\n      orderNumber: string;\n  }\n  interface RawHttpResponse {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry[];\n  }\n  interface HeadersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface GetPaymentInfoRequest {\n      /** Event ID. */\n      eventId?: string;\n      /** Order number. */\n      orderNumber?: string;\n  }\n  interface GetPaymentInfoResponse {\n      transactions?: PaymentTransactionSummary[];\n      status?: string | null;\n      /** @readonly */\n      transactionId?: string | null;\n  }\n  interface PaymentTransactionSummary {\n      /**\n       * Wix Payments transaction id\n       * @readonly\n       */\n      transactionId?: string;\n      /**\n       * Final transaction status\n       * @readonly\n       */\n      finalTransactionStatus?: string;\n      /** Transaction events */\n      events?: PaymentTransactionEvent[];\n  }\n  interface PaymentTransactionEvent {\n      /**\n       * Order snapshot id\n       * @readonly\n       */\n      snapshotId?: string;\n      /**\n       * Transaction status\n       * @readonly\n       */\n      transactionStatus?: string;\n      /**\n       * Transaction Payment method e.g., \"payPal\", \"creditCard\", etc.\n       * @readonly\n       */\n      paymentMethod?: string;\n      /**\n       * Transaction payment amount\n       * @readonly\n       */\n      paymentAmount?: Money;\n      /**\n       * Crated date\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Reason code\n       * @readonly\n       */\n      reasonCode?: string | null;\n      /**\n       * Refunded amount\n       * @readonly\n       */\n      refundedAmount?: Money;\n  }\n  interface OrderConfirmed {\n      /** Order confirmation timestamp in ISO UTC. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp\n       * @readonly\n       */\n      created?: Date;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse;\n      /** Order status. */\n      status?: OrderStatus;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets (generated after payment). */\n      tickets?: Ticket[];\n      /** Invoice. */\n      invoice?: Invoice;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  interface OrderPaid {\n      /** Order paid timestamp in ISO UTC. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  interface ReservationCreated {\n      /** Reservation created timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n      /** Reservation status. */\n      status?: ReservationStatus;\n  }\n  enum ReservationStatus {\n      /**\n       * Reservation is pending confirmation.\n       * The reservation will expire after the expiration due time.\n       */\n      RESERVATION_PENDING = \"RESERVATION_PENDING\",\n      /** The reservation was confirmed and will not expire. */\n      RESERVATION_CONFIRMED = \"RESERVATION_CONFIRMED\",\n      /** The reservation was canceled because of non payment. */\n      RESERVATION_CANCELED = \"RESERVATION_CANCELED\",\n      /** The reservation was canceled manually by the buyer. */\n      RESERVATION_CANCELED_MANUALLY = \"RESERVATION_CANCELED_MANUALLY\",\n      /** The reservation has expired. */\n      RESERVATION_EXPIRED = \"RESERVATION_EXPIRED\"\n  }\n  interface ReservationUpdated {\n      /** Reservation updated timestamp. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation status. */\n      status?: ReservationStatus;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n  }\n  interface GetCheckoutOptionsRequest {\n  }\n  interface GetCheckoutOptionsResponse {\n      /** Whether any payment method is configured and available for payment. */\n      paymentMethodConfigured?: boolean;\n      /** Whether coupons are accepted at checkout. */\n      acceptCoupons?: boolean;\n      /** Whether premium services are enabled. Enabled for free if site does not sell any paid tickets. Selling tickets for a fee requires a premium feature \"events_sell_tickets\". */\n      premiumServices?: boolean;\n      /** Whether there are any paid tickets available for sale. */\n      paidTickets?: boolean;\n  }\n  interface ListAvailableTicketsRequest {\n      /** Event ID. If not provided, available tickets for all events in the site will be returned. */\n      eventId?: string;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Sort order, defaults to \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-available-tickets).\n       */\n      sort?: string;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n      state?: State[];\n  }\n  enum State {\n      INCLUDE_HIDDEN_NOT_ON_SALE = \"INCLUDE_HIDDEN_NOT_ON_SALE\"\n  }\n  interface ListAvailableTicketsResponse {\n      /** Ticket definitions meta data. */\n      metaData?: ResponseMetaData;\n      /** Ticket definitions. */\n      definitions?: TicketDefinition[];\n  }\n  interface ResponseMetaData {\n      /** Number of items in the response. */\n      count?: number;\n      /** Offset of items. */\n      offset?: number;\n      /** Total number of matching items. */\n      total?: number;\n  }\n  interface TicketDefinition {\n      /** Ticket definition ID. */\n      _id?: string;\n      /** Ticket price. */\n      price?: Money;\n      /** Whether the ticket is free (read only). */\n      free?: boolean;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket description. */\n      description?: string;\n      /**\n       * Limit of tickets that can be purchased per checkout.\n       * Set to 20 for unlimited ticket definition.\n       */\n      limitPerCheckout?: number;\n      /** Custom sort index. */\n      orderIndex?: number;\n      /** Policy information plain text block, as printed on the ticket. */\n      policy?: string;\n      /** Sensitive dashboard data. */\n      dashboard?: Dashboard;\n      /** Event ID associated with the ticket. */\n      eventId?: string;\n      /**\n       * Whether the fixed-rate service fee is applied at checkout to each ticket sold.\n       * @readonly\n       */\n      wixFeeConfig?: WixFeeConfig;\n      /** Ticket sale period. */\n      salePeriod?: TicketSalePeriod;\n      /**\n       * Ticket sale status.\n       * @readonly\n       */\n      saleStatus?: TicketSaleStatus;\n      /** Ticket state. */\n      state?: State[];\n      /**\n       * Ticket pricing.\n       * @internal\n       */\n      pricing?: TicketPricing;\n  }\n  interface Dashboard {\n      /** Whether ticket is hidden and cannot be sold. */\n      hidden?: boolean;\n      /** Number of tickets sold and reserved. */\n      sold?: number;\n      /** Whether the ticket has limited quantity. */\n      limited?: boolean;\n      /** Ticket limit (NULL for unlimited ticket definition). */\n      quantity?: number | null;\n      /** Number of unsold tickets (NULL for unlimited ticket definition). */\n      unsold?: number | null;\n      /** Number of tickets sold. */\n      ticketsSold?: number;\n      /** Number of tickets reserved. */\n      ticketsReserved?: number;\n  }\n  interface WixFeeConfig {\n      /** Fee calculation method. */\n      type?: FeeType;\n  }\n  interface TicketSalePeriod {\n      /** Ticket sale start timestamp. */\n      startDate?: Date;\n      /** Ticket sale end timestamp. */\n      endDate?: Date;\n      /** Whether to hide this ticket if it's not on sale */\n      hideNotOnSale?: boolean;\n  }\n  enum TicketSaleStatus {\n      /** Ticket sale is scheduled to start */\n      SALE_SCHEDULED = \"SALE_SCHEDULED\",\n      /** Ticket sale has started */\n      SALE_STARTED = \"SALE_STARTED\",\n      /** Ticket sale has ended */\n      SALE_ENDED = \"SALE_ENDED\"\n  }\n  interface TicketPricing extends TicketPricingPriceOneOf {\n      /**\n       * Ticket pricing type.\n       * @internal\n       * @readonly\n       */\n      pricingType?: Type;\n      /** Ticket price which is read only. */\n      fixedPrice?: Money;\n      /** Min price per ticket, customizable. */\n      minPrice?: Money;\n      /** Ticket pricing options. */\n      pricingOptions?: PricingOptions;\n  }\n  /** @oneof */\n  interface TicketPricingPriceOneOf {\n      /** Ticket price which is read only. */\n      fixedPrice?: Money;\n      /** Min price per ticket, customizable. */\n      minPrice?: Money;\n      /** Ticket pricing options. */\n      pricingOptions?: PricingOptions;\n  }\n  interface PricingOptions {\n      /** Multiple ticket pricing options. */\n      options?: PricingOption[];\n  }\n  interface PricingOption {\n      /** Ticket pricing option ID. */\n      _id?: string | null;\n      /** Ticket pricing option name. */\n      name?: string | null;\n      /** Ticket pricing option price. */\n      price?: Money;\n  }\n  enum Type {\n      STANDARD = \"STANDARD\",\n      DONATION = \"DONATION\"\n  }\n  interface QueryAvailableTicketsRequest {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Ticket definition.\n       * See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-available-tickets).\n       */\n      filter?: Record<string, any> | null;\n      fieldset?: TicketDefinitionFieldset[];\n      /**\n       * Sort order, defaults to \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-available-tickets).\n       */\n      sort?: string;\n  }\n  enum TicketDefinitionFieldset {\n      /** Include policy in the response. */\n      POLICY = \"POLICY\",\n      /** Include dashboard in the response. */\n      DASHBOARD = \"DASHBOARD\"\n  }\n  interface QueryAvailableTicketsResponse {\n      /** Ticket definitions meta data. */\n      metaData?: ResponseMetaData;\n      /** Ticket definitions. */\n      definitions?: TicketDefinition[];\n  }\n  interface CreateReservationRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Tickets to reserve. */\n      ticketQuantities?: TicketReservationQuantity[];\n      /** Whether to ignore the available ticket limits upon reservation. */\n      ignoreLimits?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n      /** Whether to allow reservation for hidden tickets. */\n      allowHiddenTickets?: boolean;\n      /**\n       * Whether to exclude Wix fee.\n       * @internal\n       */\n      excludeFee?: boolean;\n  }\n  interface TicketReservationQuantity {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Quantity of tickets to reserve. */\n      quantity?: number;\n      /** Ticket price to charge - overriding the ticket price. */\n      priceOverride?: string | null;\n      /**\n       * Optional ticket details\n       * @internal\n       */\n      ticketDetails?: TicketDetails[];\n  }\n  interface CreateReservationResponse {\n      /** Reservation ID. */\n      _id?: string;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n      /** Reservation invoice. */\n      invoice?: Invoice;\n  }\n  interface TicketReservation {\n      /** Quantity of reserved tickets. */\n      quantity?: number;\n      ticket?: TicketDefinition;\n      /**\n       * Optional ticket details.\n       * @internal\n       */\n      ticketDetails?: TicketDetails[];\n  }\n  interface CancelReservationRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Reservation ID. */\n      _id: string;\n  }\n  interface CancelReservationResponse {\n  }\n  interface GetInvoiceRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Reservation ID. */\n      reservationId: string;\n      /** Optional discount to be applied on the returned invoice. */\n      withDiscount?: DiscountRequest;\n      /** Optional benefit granted by the pricing plan to be applied on the returned invoice. */\n      paidPlanBenefit?: PaidPlanBenefit;\n  }\n  interface DiscountRequest {\n      /** Discount coupon code. */\n      couponCode?: string;\n  }\n  interface PaidPlanBenefit {\n      /** Pricing plan ID. */\n      planOrderId?: string;\n      /** Pricing plan benefit ID. */\n      benefitId?: string;\n  }\n  interface GetInvoiceResponse {\n      /** Invoice with applied discount. */\n      invoice?: Invoice;\n      /** Discount errors, if relevant. */\n      discountErrors?: DiscountErrors;\n      /** Time when the reservation expires. */\n      expires?: Date;\n      /** Reservation status. */\n      reservationStatus?: ReservationStatus;\n      /** Whether this reservation is already used in checkout. */\n      reservationOccupied?: boolean;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n  }\n  interface DiscountErrors {\n      /** Error. */\n      error?: Error[];\n  }\n  interface Error {\n      code?: string;\n  }\n  interface CheckoutRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Ticket reservation ID. */\n      reservationId?: string;\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest;\n      /**\n       * Deprecated.\n       * @internal\n       */\n      silent?: boolean;\n      /**\n       * Deprecated.\n       * @internal\n       */\n      payInPerson?: boolean;\n      /** Buyer details. */\n      buyer?: Buyer;\n      /** Guest details. */\n      guests?: Guest[];\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit;\n      /** Options controlling the checkout process. */\n      options?: CheckoutOptions;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n  }\n  interface Buyer {\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n  }\n  interface Guest {\n      /** Specific guest info. */\n      form?: FormResponse;\n  }\n  interface CheckoutResponse {\n      /** Created order. */\n      order?: Order;\n      /** Time when the order expires, applies to orders with status = INITIATED. */\n      expires?: Date;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n  }\n  interface OrderInitiated {\n      /** Order initiated timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse;\n      /** Order status. */\n      status?: OrderStatus;\n      /** Invoice. */\n      invoice?: Invoice;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  interface UpdateCheckoutRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /** Buyer details. */\n      buyer?: Buyer;\n      /** Guest details. */\n      guests?: Guest[];\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string | null;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest;\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit;\n  }\n  interface UpdateCheckoutResponse {\n      /** Updated order. */\n      order?: Order;\n  }\n  interface PosCheckoutRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Ticket reservation ID. */\n      reservationId: string;\n      /**\n       * Payment details ID.\n       * Not required if reservation total is 0. In this case the order will be created with status Free and no payment.\n       */\n      paymentDetailsId?: string | null;\n  }\n  interface PosCheckoutResponse {\n      /** Created order. */\n      order?: Order;\n      /** Time when the order expires, applies to orders with status = INITIATED. */\n      expires?: Date;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n  }\n  /**\n   * Retrieves a list of orders, including ticket data, with basic filter support.\n   * @public */\n  function listOrders(options?: ListOrdersOptions): Promise<ListOrdersResponse>;\n  interface ListOrdersOptions {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Controls which data is returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_order-fieldset). */\n      fieldset?: OrderFieldset[];\n      /** Status. */\n      status?: OrderStatus[];\n      /**\n       * Deprecated: use tag = CONFIRMED\n       * @internal\n       */\n      confirmed?: boolean | null;\n      /** Event ID. */\n      eventId?: string[];\n      /** Order number. */\n      orderNumber?: string[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       */\n      membersOnly?: boolean;\n      /**\n       * Field facets.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-orders).\n       */\n      facet?: string[];\n      /**\n       * Deprecated: use tag = ARCHIVED / NON_ARCHIVED\n       * @internal\n       */\n      archived?: boolean | null;\n      /** Textual search filter - search is performed on \"full_name\", \"email\" and \"order_number\". */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Deprecated: use tag = FULLY_CHECKED_IN / NOT_FULLY_CHECKED_IN\n       * @internal\n       */\n      fullyCheckedIn?: boolean | null;\n      /**\n       * Sort order. Defaults to \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-orders).\n       */\n      sort?: string;\n      /** Order tag. */\n      tag?: OrderTag[];\n  }\n  /**\n   * Retrieves an order, including ticket data.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.orderNumber\n   */\n  function getOrder(identifiers: GetOrderIdentifiers, options?: GetOrderOptions): Promise<GetOrderResponse>;\n  interface GetOrderIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n  }\n  interface GetOrderOptions {\n      /** Controls which data is returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_order-fieldset). */\n      fieldset?: OrderFieldset[];\n  }\n  /**\n   * Updates an order's `checkoutForm` and/or `archived` status.\n   * @param fields - Set of field paths to update.\n   * @public\n   * @requiredField fields\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.orderNumber\n   */\n  function updateOrder(identifiers: UpdateOrderIdentifiers, fields: string[], options?: UpdateOrderOptions): Promise<UpdateOrderResponse>;\n  interface UpdateOrderIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n  }\n  interface UpdateOrderOptions {\n      /** Checkout form. */\n      checkoutForm?: FormResponse;\n      /** Whether order is archived. */\n      archived?: boolean;\n  }\n  /**\n   * Updates multiple orders' `archived` status.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   */\n  function bulkUpdateOrders(eventId: string, options?: BulkUpdateOrdersOptions): Promise<BulkUpdateOrdersResponse>;\n  interface BulkUpdateOrdersOptions {\n      orderNumber?: string[];\n      /** Set of fields to update. */\n      fields?: string[];\n      /** Whether to archive the order. */\n      archived?: boolean;\n  }\n  /**\n   * Changes order status to \"CONFIRMED\" - from \"INITIATED, \"PENDING\", \"OFFLINE_PENDING\" to \"PAID\".\n   * Previously confirmed orders (with status \"PAID\" or \"FREE\") are not changed.\n   * Confirming previously \"INITIATED\" or \"PENDING\" orders triggers an email with the tickets to the buyer (and to additional guests, if relevant and provided).\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   */\n  function confirmOrder(eventId: string, options?: ConfirmOrderOptions): Promise<ConfirmOrderResponse>;\n  interface ConfirmOrderOptions {\n      /** Order numbers. */\n      orderNumber?: string[];\n  }\n  /**\n   * Retrieves a summary of total ticket sales.\n   * @public */\n  function getSummary(options?: GetSummaryOptions): Promise<GetSummaryResponse>;\n  interface GetSummaryOptions {\n      /** Event ID. */\n      eventId?: string | null;\n  }\n  /**\n   * Returns invoice preview. Works only for PAID orders.\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.orderNumber\n   */\n  function getInvoicePreview(identifiers: GetInvoicePreviewIdentifiers): Promise<RawHttpResponse>;\n  interface GetInvoicePreviewIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Order number. */\n      orderNumber: string;\n  }\n  /**\n   * Returns checkout meta data used in checkout UX.\n   * @public */\n  function getCheckoutOptions(): Promise<GetCheckoutOptionsResponse>;\n  /**\n   * Returns tickets available to reserve.\n   * @public */\n  function listAvailableTickets(options?: ListAvailableTicketsOptions): Promise<ListAvailableTicketsResponse>;\n  interface ListAvailableTicketsOptions {\n      /** Event ID. If not provided, available tickets for all events in the site will be returned. */\n      eventId?: string;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Sort order, defaults to \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-available-tickets).\n       */\n      sort?: string;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n      state?: State[];\n  }\n  /**\n   * Returns tickets available to reserve.\n   * @public */\n  function queryAvailableTickets(options?: QueryAvailableTicketsOptions): Promise<QueryAvailableTicketsResponse>;\n  interface QueryAvailableTicketsOptions {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Ticket definition.\n       * See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-available-tickets).\n       */\n      filter?: Record<string, any> | null;\n      fieldset?: TicketDefinitionFieldset[];\n      /**\n       * Sort order, defaults to \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-available-tickets).\n       */\n      sort?: string;\n  }\n  /**\n   * Reserves tickets for 20 minutes.\n   * Reserved tickets are deducted from tickets stock and cannot be bought by another party.\n   * When the reservation expires, the tickets are added back in the stock.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   */\n  function createReservation(eventId: string, options?: CreateReservationOptions): Promise<CreateReservationResponse>;\n  interface CreateReservationOptions {\n      /** Tickets to reserve. */\n      ticketQuantities?: TicketReservationQuantity[];\n      /** Whether to ignore the available ticket limits upon reservation. */\n      ignoreLimits?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n      /** Whether to allow reservation for hidden tickets. */\n      allowHiddenTickets?: boolean;\n      /**\n       * Whether to exclude Wix fee.\n       * @internal\n       */\n      excludeFee?: boolean;\n  }\n  /**\n   * Cancels ticket reservation and returns tickets to stock.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.id\n   */\n  function cancelReservation(identifiers: CancelReservationIdentifiers): Promise<void>;\n  interface CancelReservationIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Reservation ID. */\n      _id: string;\n  }\n  /**\n   * Generates a preview of a reservation invoice, including the given coupon or pricing plan.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.reservationId\n   */\n  function getInvoice(identifiers: GetInvoiceIdentifiers, options?: GetInvoiceOptions): Promise<GetInvoiceResponse>;\n  interface GetInvoiceIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Reservation ID. */\n      reservationId: string;\n  }\n  interface GetInvoiceOptions {\n      /** Optional discount to be applied on the returned invoice. */\n      withDiscount?: DiscountRequest;\n      /** Optional benefit granted by the pricing plan to be applied on the returned invoice. */\n      paidPlanBenefit?: PaidPlanBenefit;\n  }\n  /**\n   * Checkout reserved tickets.\n   * Creates order and associates it with a site contact.\n   * Guest details must be sent according to Registration Form input fields.\n   * (To change an existing \"INITIATED, \"PENDING\", or \"OFFLINE_PENDING\" order, call the [Update Checkout](https://dev.wix.com/api/rest/wix-events/wix-events/checkout/update-checkout) endpoint).\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @requiredField options.guests.form\n   */\n  function checkout(eventId: string, options?: CheckoutOptions): Promise<CheckoutResponse>;\n  interface CheckoutOptions {\n      /** Whether to ignore settings to notify contacts or users. */\n      /**\n       * Deprecated.\n       * @internal\n       */\n      silent?: boolean;\n      /** Whether the payment is to be done in person between the buyer and the merchant. When true, the completed order is created with status OFFLINE_PENDING and inPerson payment method. */\n      /**\n       * Deprecated.\n       * @internal\n       */\n      payInPerson?: boolean;\n      /** Whether to ignore form validation. */\n      ignoreFormValidation?: boolean;\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest;\n      /** Buyer details. */\n      buyer?: Buyer;\n      /** Guest details. */\n      guests?: Guest[];\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit;\n      /** Options controlling the checkout process. */\n      options?: CheckoutOptions;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n  }\n  interface CheckoutOptions {\n      /** Ticket reservation ID. */\n      reservationId?: string;\n  }\n  /**\n   * Updates order and tickets (supported only for unconfirmed orders).\n   * Guest details must be sent according to Registration Form input fields.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.orderNumber\n   */\n  function updateCheckout(identifiers: UpdateCheckoutIdentifiers, options?: UpdateCheckoutOptions): Promise<UpdateCheckoutResponse>;\n  interface UpdateCheckoutIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n  }\n  interface UpdateCheckoutOptions {\n      /** Buyer details. */\n      buyer?: Buyer;\n      /** Guest details. */\n      guests?: Guest[];\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string | null;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest;\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit;\n  }\n  /**\n   * Creates order with payment details already initiated via Cashier Pay API.\n   * @param eventId - Event ID.\n   * @param reservationId - Ticket reservation ID.\n   * @requiredField eventId\n   * @requiredField reservationId\n   */\n  function posCheckout(eventId: string, reservationId: string, options?: PosCheckoutOptions): Promise<PosCheckoutResponse>;\n  interface PosCheckoutOptions {\n      /**\n       * Payment details ID.\n       * Not required if reservation total is 0. In this case the order will be created with status Free and no payment.\n       */\n      paymentDetailsId?: string | null;\n  }\n  \n  const eventsV1Order_universal_d___debug: typeof __debug;\n  type eventsV1Order_universal_d_Order = Order;\n  type eventsV1Order_universal_d_FormResponse = FormResponse;\n  type eventsV1Order_universal_d_InputValue = InputValue;\n  type eventsV1Order_universal_d_FormattedAddress = FormattedAddress;\n  type eventsV1Order_universal_d_Address = Address;\n  type eventsV1Order_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type eventsV1Order_universal_d_StreetAddress = StreetAddress;\n  type eventsV1Order_universal_d_AddressLocation = AddressLocation;\n  type eventsV1Order_universal_d_Subdivision = Subdivision;\n  type eventsV1Order_universal_d_SubdivisionType = SubdivisionType;\n  const eventsV1Order_universal_d_SubdivisionType: typeof SubdivisionType;\n  type eventsV1Order_universal_d_OrderStatus = OrderStatus;\n  const eventsV1Order_universal_d_OrderStatus: typeof OrderStatus;\n  type eventsV1Order_universal_d_Money = Money;\n  type eventsV1Order_universal_d_TicketingTicket = TicketingTicket;\n  type eventsV1Order_universal_d_CheckIn = CheckIn;\n  type eventsV1Order_universal_d_GuestDetails = GuestDetails;\n  type eventsV1Order_universal_d_ChannelType = ChannelType;\n  const eventsV1Order_universal_d_ChannelType: typeof ChannelType;\n  type eventsV1Order_universal_d_TicketDetails = TicketDetails;\n  type eventsV1Order_universal_d_Invoice = Invoice;\n  type eventsV1Order_universal_d_Item = Item;\n  type eventsV1Order_universal_d_Discount = Discount;\n  type eventsV1Order_universal_d_DiscountItem = DiscountItem;\n  type eventsV1Order_universal_d_DiscountItemDiscountOneOf = DiscountItemDiscountOneOf;\n  type eventsV1Order_universal_d_CouponDiscount = CouponDiscount;\n  type eventsV1Order_universal_d_PaidPlanDiscount = PaidPlanDiscount;\n  type eventsV1Order_universal_d_PaidPlanDiscountDiscountOneOf = PaidPlanDiscountDiscountOneOf;\n  type eventsV1Order_universal_d_PercentDiscount = PercentDiscount;\n  type eventsV1Order_universal_d_Tax = Tax;\n  type eventsV1Order_universal_d_TaxType = TaxType;\n  const eventsV1Order_universal_d_TaxType: typeof TaxType;\n  type eventsV1Order_universal_d_Fee = Fee;\n  type eventsV1Order_universal_d_FeeName = FeeName;\n  const eventsV1Order_universal_d_FeeName: typeof FeeName;\n  type eventsV1Order_universal_d_FeeType = FeeType;\n  const eventsV1Order_universal_d_FeeType: typeof FeeType;\n  type eventsV1Order_universal_d_PaymentDetails = PaymentDetails;\n  type eventsV1Order_universal_d_PaymentTransaction = PaymentTransaction;\n  type eventsV1Order_universal_d_OrderDeleted = OrderDeleted;\n  type eventsV1Order_universal_d_OrderType = OrderType;\n  const eventsV1Order_universal_d_OrderType: typeof OrderType;\n  type eventsV1Order_universal_d_Ticket = Ticket;\n  type eventsV1Order_universal_d_ListOrdersRequest = ListOrdersRequest;\n  type eventsV1Order_universal_d_OrderFieldset = OrderFieldset;\n  const eventsV1Order_universal_d_OrderFieldset: typeof OrderFieldset;\n  type eventsV1Order_universal_d_OrderTag = OrderTag;\n  const eventsV1Order_universal_d_OrderTag: typeof OrderTag;\n  type eventsV1Order_universal_d_ListOrdersResponse = ListOrdersResponse;\n  type eventsV1Order_universal_d_FacetCounts = FacetCounts;\n  type eventsV1Order_universal_d_SearchMetaData = SearchMetaData;\n  type eventsV1Order_universal_d_Result = Result;\n  type eventsV1Order_universal_d_OrderFacets = OrderFacets;\n  type eventsV1Order_universal_d_OrderFacetCounts = OrderFacetCounts;\n  type eventsV1Order_universal_d_Counts = Counts;\n  type eventsV1Order_universal_d_GetOrderRequest = GetOrderRequest;\n  type eventsV1Order_universal_d_GetOrderResponse = GetOrderResponse;\n  type eventsV1Order_universal_d_CalendarLinks = CalendarLinks;\n  type eventsV1Order_universal_d_UpdateOrderRequest = UpdateOrderRequest;\n  type eventsV1Order_universal_d_UpdateOrderResponse = UpdateOrderResponse;\n  type eventsV1Order_universal_d_OrderUpdated = OrderUpdated;\n  type eventsV1Order_universal_d_BulkUpdateOrdersRequest = BulkUpdateOrdersRequest;\n  type eventsV1Order_universal_d_BulkUpdateOrdersResponse = BulkUpdateOrdersResponse;\n  type eventsV1Order_universal_d_ConfirmOrderRequest = ConfirmOrderRequest;\n  type eventsV1Order_universal_d_ConfirmOrderResponse = ConfirmOrderResponse;\n  type eventsV1Order_universal_d_GetSummaryRequest = GetSummaryRequest;\n  type eventsV1Order_universal_d_GetSummaryResponse = GetSummaryResponse;\n  type eventsV1Order_universal_d_TicketSales = TicketSales;\n  type eventsV1Order_universal_d_GetInvoicePreviewRequest = GetInvoicePreviewRequest;\n  type eventsV1Order_universal_d_RawHttpResponse = RawHttpResponse;\n  type eventsV1Order_universal_d_HeadersEntry = HeadersEntry;\n  type eventsV1Order_universal_d_GetPaymentInfoRequest = GetPaymentInfoRequest;\n  type eventsV1Order_universal_d_GetPaymentInfoResponse = GetPaymentInfoResponse;\n  type eventsV1Order_universal_d_PaymentTransactionSummary = PaymentTransactionSummary;\n  type eventsV1Order_universal_d_PaymentTransactionEvent = PaymentTransactionEvent;\n  type eventsV1Order_universal_d_OrderConfirmed = OrderConfirmed;\n  type eventsV1Order_universal_d_OrderPaid = OrderPaid;\n  type eventsV1Order_universal_d_ReservationCreated = ReservationCreated;\n  type eventsV1Order_universal_d_ReservationStatus = ReservationStatus;\n  const eventsV1Order_universal_d_ReservationStatus: typeof ReservationStatus;\n  type eventsV1Order_universal_d_ReservationUpdated = ReservationUpdated;\n  type eventsV1Order_universal_d_GetCheckoutOptionsRequest = GetCheckoutOptionsRequest;\n  type eventsV1Order_universal_d_GetCheckoutOptionsResponse = GetCheckoutOptionsResponse;\n  type eventsV1Order_universal_d_ListAvailableTicketsRequest = ListAvailableTicketsRequest;\n  type eventsV1Order_universal_d_State = State;\n  const eventsV1Order_universal_d_State: typeof State;\n  type eventsV1Order_universal_d_ListAvailableTicketsResponse = ListAvailableTicketsResponse;\n  type eventsV1Order_universal_d_ResponseMetaData = ResponseMetaData;\n  type eventsV1Order_universal_d_TicketDefinition = TicketDefinition;\n  type eventsV1Order_universal_d_Dashboard = Dashboard;\n  type eventsV1Order_universal_d_WixFeeConfig = WixFeeConfig;\n  type eventsV1Order_universal_d_TicketSalePeriod = TicketSalePeriod;\n  type eventsV1Order_universal_d_TicketSaleStatus = TicketSaleStatus;\n  const eventsV1Order_universal_d_TicketSaleStatus: typeof TicketSaleStatus;\n  type eventsV1Order_universal_d_TicketPricing = TicketPricing;\n  type eventsV1Order_universal_d_TicketPricingPriceOneOf = TicketPricingPriceOneOf;\n  type eventsV1Order_universal_d_PricingOptions = PricingOptions;\n  type eventsV1Order_universal_d_PricingOption = PricingOption;\n  type eventsV1Order_universal_d_Type = Type;\n  const eventsV1Order_universal_d_Type: typeof Type;\n  type eventsV1Order_universal_d_QueryAvailableTicketsRequest = QueryAvailableTicketsRequest;\n  type eventsV1Order_universal_d_TicketDefinitionFieldset = TicketDefinitionFieldset;\n  const eventsV1Order_universal_d_TicketDefinitionFieldset: typeof TicketDefinitionFieldset;\n  type eventsV1Order_universal_d_QueryAvailableTicketsResponse = QueryAvailableTicketsResponse;\n  type eventsV1Order_universal_d_CreateReservationRequest = CreateReservationRequest;\n  type eventsV1Order_universal_d_TicketReservationQuantity = TicketReservationQuantity;\n  type eventsV1Order_universal_d_CreateReservationResponse = CreateReservationResponse;\n  type eventsV1Order_universal_d_TicketReservation = TicketReservation;\n  type eventsV1Order_universal_d_CancelReservationRequest = CancelReservationRequest;\n  type eventsV1Order_universal_d_CancelReservationResponse = CancelReservationResponse;\n  type eventsV1Order_universal_d_GetInvoiceRequest = GetInvoiceRequest;\n  type eventsV1Order_universal_d_DiscountRequest = DiscountRequest;\n  type eventsV1Order_universal_d_PaidPlanBenefit = PaidPlanBenefit;\n  type eventsV1Order_universal_d_GetInvoiceResponse = GetInvoiceResponse;\n  type eventsV1Order_universal_d_DiscountErrors = DiscountErrors;\n  type eventsV1Order_universal_d_Error = Error;\n  type eventsV1Order_universal_d_CheckoutRequest = CheckoutRequest;\n  type eventsV1Order_universal_d_Buyer = Buyer;\n  type eventsV1Order_universal_d_Guest = Guest;\n  type eventsV1Order_universal_d_CheckoutOptions = CheckoutOptions;\n  type eventsV1Order_universal_d_CheckoutResponse = CheckoutResponse;\n  type eventsV1Order_universal_d_OrderInitiated = OrderInitiated;\n  type eventsV1Order_universal_d_UpdateCheckoutRequest = UpdateCheckoutRequest;\n  type eventsV1Order_universal_d_UpdateCheckoutResponse = UpdateCheckoutResponse;\n  type eventsV1Order_universal_d_PosCheckoutRequest = PosCheckoutRequest;\n  type eventsV1Order_universal_d_PosCheckoutResponse = PosCheckoutResponse;\n  const eventsV1Order_universal_d_listOrders: typeof listOrders;\n  type eventsV1Order_universal_d_ListOrdersOptions = ListOrdersOptions;\n  const eventsV1Order_universal_d_getOrder: typeof getOrder;\n  type eventsV1Order_universal_d_GetOrderIdentifiers = GetOrderIdentifiers;\n  type eventsV1Order_universal_d_GetOrderOptions = GetOrderOptions;\n  const eventsV1Order_universal_d_updateOrder: typeof updateOrder;\n  type eventsV1Order_universal_d_UpdateOrderIdentifiers = UpdateOrderIdentifiers;\n  type eventsV1Order_universal_d_UpdateOrderOptions = UpdateOrderOptions;\n  const eventsV1Order_universal_d_bulkUpdateOrders: typeof bulkUpdateOrders;\n  type eventsV1Order_universal_d_BulkUpdateOrdersOptions = BulkUpdateOrdersOptions;\n  const eventsV1Order_universal_d_confirmOrder: typeof confirmOrder;\n  type eventsV1Order_universal_d_ConfirmOrderOptions = ConfirmOrderOptions;\n  const eventsV1Order_universal_d_getSummary: typeof getSummary;\n  type eventsV1Order_universal_d_GetSummaryOptions = GetSummaryOptions;\n  const eventsV1Order_universal_d_getInvoicePreview: typeof getInvoicePreview;\n  type eventsV1Order_universal_d_GetInvoicePreviewIdentifiers = GetInvoicePreviewIdentifiers;\n  const eventsV1Order_universal_d_getCheckoutOptions: typeof getCheckoutOptions;\n  const eventsV1Order_universal_d_listAvailableTickets: typeof listAvailableTickets;\n  type eventsV1Order_universal_d_ListAvailableTicketsOptions = ListAvailableTicketsOptions;\n  const eventsV1Order_universal_d_queryAvailableTickets: typeof queryAvailableTickets;\n  type eventsV1Order_universal_d_QueryAvailableTicketsOptions = QueryAvailableTicketsOptions;\n  const eventsV1Order_universal_d_createReservation: typeof createReservation;\n  type eventsV1Order_universal_d_CreateReservationOptions = CreateReservationOptions;\n  const eventsV1Order_universal_d_cancelReservation: typeof cancelReservation;\n  type eventsV1Order_universal_d_CancelReservationIdentifiers = CancelReservationIdentifiers;\n  const eventsV1Order_universal_d_getInvoice: typeof getInvoice;\n  type eventsV1Order_universal_d_GetInvoiceIdentifiers = GetInvoiceIdentifiers;\n  type eventsV1Order_universal_d_GetInvoiceOptions = GetInvoiceOptions;\n  const eventsV1Order_universal_d_checkout: typeof checkout;\n  const eventsV1Order_universal_d_updateCheckout: typeof updateCheckout;\n  type eventsV1Order_universal_d_UpdateCheckoutIdentifiers = UpdateCheckoutIdentifiers;\n  type eventsV1Order_universal_d_UpdateCheckoutOptions = UpdateCheckoutOptions;\n  const eventsV1Order_universal_d_posCheckout: typeof posCheckout;\n  type eventsV1Order_universal_d_PosCheckoutOptions = PosCheckoutOptions;\n  namespace eventsV1Order_universal_d {\n    export {\n      eventsV1Order_universal_d___debug as __debug,\n      eventsV1Order_universal_d_Order as Order,\n      eventsV1Order_universal_d_FormResponse as FormResponse,\n      eventsV1Order_universal_d_InputValue as InputValue,\n      eventsV1Order_universal_d_FormattedAddress as FormattedAddress,\n      eventsV1Order_universal_d_Address as Address,\n      eventsV1Order_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      eventsV1Order_universal_d_StreetAddress as StreetAddress,\n      eventsV1Order_universal_d_AddressLocation as AddressLocation,\n      eventsV1Order_universal_d_Subdivision as Subdivision,\n      eventsV1Order_universal_d_SubdivisionType as SubdivisionType,\n      eventsV1Order_universal_d_OrderStatus as OrderStatus,\n      eventsV1Order_universal_d_Money as Money,\n      eventsV1Order_universal_d_TicketingTicket as TicketingTicket,\n      eventsV1Order_universal_d_CheckIn as CheckIn,\n      eventsV1Order_universal_d_GuestDetails as GuestDetails,\n      eventsV1Order_universal_d_ChannelType as ChannelType,\n      eventsV1Order_universal_d_TicketDetails as TicketDetails,\n      eventsV1Order_universal_d_Invoice as Invoice,\n      eventsV1Order_universal_d_Item as Item,\n      eventsV1Order_universal_d_Discount as Discount,\n      eventsV1Order_universal_d_DiscountItem as DiscountItem,\n      eventsV1Order_universal_d_DiscountItemDiscountOneOf as DiscountItemDiscountOneOf,\n      eventsV1Order_universal_d_CouponDiscount as CouponDiscount,\n      eventsV1Order_universal_d_PaidPlanDiscount as PaidPlanDiscount,\n      eventsV1Order_universal_d_PaidPlanDiscountDiscountOneOf as PaidPlanDiscountDiscountOneOf,\n      eventsV1Order_universal_d_PercentDiscount as PercentDiscount,\n      eventsV1Order_universal_d_Tax as Tax,\n      eventsV1Order_universal_d_TaxType as TaxType,\n      eventsV1Order_universal_d_Fee as Fee,\n      eventsV1Order_universal_d_FeeName as FeeName,\n      eventsV1Order_universal_d_FeeType as FeeType,\n      eventsV1Order_universal_d_PaymentDetails as PaymentDetails,\n      eventsV1Order_universal_d_PaymentTransaction as PaymentTransaction,\n      eventsV1Order_universal_d_OrderDeleted as OrderDeleted,\n      eventsV1Order_universal_d_OrderType as OrderType,\n      eventsV1Order_universal_d_Ticket as Ticket,\n      eventsV1Order_universal_d_ListOrdersRequest as ListOrdersRequest,\n      eventsV1Order_universal_d_OrderFieldset as OrderFieldset,\n      eventsV1Order_universal_d_OrderTag as OrderTag,\n      eventsV1Order_universal_d_ListOrdersResponse as ListOrdersResponse,\n      eventsV1Order_universal_d_FacetCounts as FacetCounts,\n      eventsV1Order_universal_d_SearchMetaData as SearchMetaData,\n      eventsV1Order_universal_d_Result as Result,\n      eventsV1Order_universal_d_OrderFacets as OrderFacets,\n      eventsV1Order_universal_d_OrderFacetCounts as OrderFacetCounts,\n      eventsV1Order_universal_d_Counts as Counts,\n      eventsV1Order_universal_d_GetOrderRequest as GetOrderRequest,\n      eventsV1Order_universal_d_GetOrderResponse as GetOrderResponse,\n      eventsV1Order_universal_d_CalendarLinks as CalendarLinks,\n      eventsV1Order_universal_d_UpdateOrderRequest as UpdateOrderRequest,\n      eventsV1Order_universal_d_UpdateOrderResponse as UpdateOrderResponse,\n      eventsV1Order_universal_d_OrderUpdated as OrderUpdated,\n      eventsV1Order_universal_d_BulkUpdateOrdersRequest as BulkUpdateOrdersRequest,\n      eventsV1Order_universal_d_BulkUpdateOrdersResponse as BulkUpdateOrdersResponse,\n      eventsV1Order_universal_d_ConfirmOrderRequest as ConfirmOrderRequest,\n      eventsV1Order_universal_d_ConfirmOrderResponse as ConfirmOrderResponse,\n      eventsV1Order_universal_d_GetSummaryRequest as GetSummaryRequest,\n      eventsV1Order_universal_d_GetSummaryResponse as GetSummaryResponse,\n      eventsV1Order_universal_d_TicketSales as TicketSales,\n      eventsV1Order_universal_d_GetInvoicePreviewRequest as GetInvoicePreviewRequest,\n      eventsV1Order_universal_d_RawHttpResponse as RawHttpResponse,\n      eventsV1Order_universal_d_HeadersEntry as HeadersEntry,\n      eventsV1Order_universal_d_GetPaymentInfoRequest as GetPaymentInfoRequest,\n      eventsV1Order_universal_d_GetPaymentInfoResponse as GetPaymentInfoResponse,\n      eventsV1Order_universal_d_PaymentTransactionSummary as PaymentTransactionSummary,\n      eventsV1Order_universal_d_PaymentTransactionEvent as PaymentTransactionEvent,\n      eventsV1Order_universal_d_OrderConfirmed as OrderConfirmed,\n      eventsV1Order_universal_d_OrderPaid as OrderPaid,\n      eventsV1Order_universal_d_ReservationCreated as ReservationCreated,\n      eventsV1Order_universal_d_ReservationStatus as ReservationStatus,\n      eventsV1Order_universal_d_ReservationUpdated as ReservationUpdated,\n      eventsV1Order_universal_d_GetCheckoutOptionsRequest as GetCheckoutOptionsRequest,\n      eventsV1Order_universal_d_GetCheckoutOptionsResponse as GetCheckoutOptionsResponse,\n      eventsV1Order_universal_d_ListAvailableTicketsRequest as ListAvailableTicketsRequest,\n      eventsV1Order_universal_d_State as State,\n      eventsV1Order_universal_d_ListAvailableTicketsResponse as ListAvailableTicketsResponse,\n      eventsV1Order_universal_d_ResponseMetaData as ResponseMetaData,\n      eventsV1Order_universal_d_TicketDefinition as TicketDefinition,\n      eventsV1Order_universal_d_Dashboard as Dashboard,\n      eventsV1Order_universal_d_WixFeeConfig as WixFeeConfig,\n      eventsV1Order_universal_d_TicketSalePeriod as TicketSalePeriod,\n      eventsV1Order_universal_d_TicketSaleStatus as TicketSaleStatus,\n      eventsV1Order_universal_d_TicketPricing as TicketPricing,\n      eventsV1Order_universal_d_TicketPricingPriceOneOf as TicketPricingPriceOneOf,\n      eventsV1Order_universal_d_PricingOptions as PricingOptions,\n      eventsV1Order_universal_d_PricingOption as PricingOption,\n      eventsV1Order_universal_d_Type as Type,\n      eventsV1Order_universal_d_QueryAvailableTicketsRequest as QueryAvailableTicketsRequest,\n      eventsV1Order_universal_d_TicketDefinitionFieldset as TicketDefinitionFieldset,\n      eventsV1Order_universal_d_QueryAvailableTicketsResponse as QueryAvailableTicketsResponse,\n      eventsV1Order_universal_d_CreateReservationRequest as CreateReservationRequest,\n      eventsV1Order_universal_d_TicketReservationQuantity as TicketReservationQuantity,\n      eventsV1Order_universal_d_CreateReservationResponse as CreateReservationResponse,\n      eventsV1Order_universal_d_TicketReservation as TicketReservation,\n      eventsV1Order_universal_d_CancelReservationRequest as CancelReservationRequest,\n      eventsV1Order_universal_d_CancelReservationResponse as CancelReservationResponse,\n      eventsV1Order_universal_d_GetInvoiceRequest as GetInvoiceRequest,\n      eventsV1Order_universal_d_DiscountRequest as DiscountRequest,\n      eventsV1Order_universal_d_PaidPlanBenefit as PaidPlanBenefit,\n      eventsV1Order_universal_d_GetInvoiceResponse as GetInvoiceResponse,\n      eventsV1Order_universal_d_DiscountErrors as DiscountErrors,\n      eventsV1Order_universal_d_Error as Error,\n      eventsV1Order_universal_d_CheckoutRequest as CheckoutRequest,\n      eventsV1Order_universal_d_Buyer as Buyer,\n      eventsV1Order_universal_d_Guest as Guest,\n      eventsV1Order_universal_d_CheckoutOptions as CheckoutOptions,\n      eventsV1Order_universal_d_CheckoutResponse as CheckoutResponse,\n      eventsV1Order_universal_d_OrderInitiated as OrderInitiated,\n      eventsV1Order_universal_d_UpdateCheckoutRequest as UpdateCheckoutRequest,\n      eventsV1Order_universal_d_UpdateCheckoutResponse as UpdateCheckoutResponse,\n      eventsV1Order_universal_d_PosCheckoutRequest as PosCheckoutRequest,\n      eventsV1Order_universal_d_PosCheckoutResponse as PosCheckoutResponse,\n      eventsV1Order_universal_d_listOrders as listOrders,\n      eventsV1Order_universal_d_ListOrdersOptions as ListOrdersOptions,\n      eventsV1Order_universal_d_getOrder as getOrder,\n      eventsV1Order_universal_d_GetOrderIdentifiers as GetOrderIdentifiers,\n      eventsV1Order_universal_d_GetOrderOptions as GetOrderOptions,\n      eventsV1Order_universal_d_updateOrder as updateOrder,\n      eventsV1Order_universal_d_UpdateOrderIdentifiers as UpdateOrderIdentifiers,\n      eventsV1Order_universal_d_UpdateOrderOptions as UpdateOrderOptions,\n      eventsV1Order_universal_d_bulkUpdateOrders as bulkUpdateOrders,\n      eventsV1Order_universal_d_BulkUpdateOrdersOptions as BulkUpdateOrdersOptions,\n      eventsV1Order_universal_d_confirmOrder as confirmOrder,\n      eventsV1Order_universal_d_ConfirmOrderOptions as ConfirmOrderOptions,\n      eventsV1Order_universal_d_getSummary as getSummary,\n      eventsV1Order_universal_d_GetSummaryOptions as GetSummaryOptions,\n      eventsV1Order_universal_d_getInvoicePreview as getInvoicePreview,\n      eventsV1Order_universal_d_GetInvoicePreviewIdentifiers as GetInvoicePreviewIdentifiers,\n      eventsV1Order_universal_d_getCheckoutOptions as getCheckoutOptions,\n      eventsV1Order_universal_d_listAvailableTickets as listAvailableTickets,\n      eventsV1Order_universal_d_ListAvailableTicketsOptions as ListAvailableTicketsOptions,\n      eventsV1Order_universal_d_queryAvailableTickets as queryAvailableTickets,\n      eventsV1Order_universal_d_QueryAvailableTicketsOptions as QueryAvailableTicketsOptions,\n      eventsV1Order_universal_d_createReservation as createReservation,\n      eventsV1Order_universal_d_CreateReservationOptions as CreateReservationOptions,\n      eventsV1Order_universal_d_cancelReservation as cancelReservation,\n      eventsV1Order_universal_d_CancelReservationIdentifiers as CancelReservationIdentifiers,\n      eventsV1Order_universal_d_getInvoice as getInvoice,\n      eventsV1Order_universal_d_GetInvoiceIdentifiers as GetInvoiceIdentifiers,\n      eventsV1Order_universal_d_GetInvoiceOptions as GetInvoiceOptions,\n      eventsV1Order_universal_d_checkout as checkout,\n      eventsV1Order_universal_d_updateCheckout as updateCheckout,\n      eventsV1Order_universal_d_UpdateCheckoutIdentifiers as UpdateCheckoutIdentifiers,\n      eventsV1Order_universal_d_UpdateCheckoutOptions as UpdateCheckoutOptions,\n      eventsV1Order_universal_d_posCheckout as posCheckout,\n      eventsV1Order_universal_d_PosCheckoutOptions as PosCheckoutOptions,\n    };\n  }\n  \n  export { eventsV1Order_universal_d as order };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-index-service-v2.d.ts",
      "content": "declare module \"wix-data-index-service-v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** An index is a map of a collection's data, organized according to specific fields to increase query speed. */\n  interface Index {\n      /** Name of the index. */\n      name?: string;\n      /**\n       * Fields for which the index is defined.\n       *\n       * Max: 3 fields (for a unique index: 1 field)\n       */\n      fields?: Field[];\n      /**\n       * Current status of the index.\n       * - `BUILDING`: Index creation is in progress.\n       * - `ACTIVE`: Index has been successfully created and can be used in queries.\n       * - `DROPPING`: Index is in the process of being dropped.\n       * - `DROPPED`: Index has been dropped successfully.\n       * - `FAILED`: Index creation has failed.\n       * - `INVALID`: Index contains incorrectly indexed data.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Contains details about the reasons for failure when `status` is `FAILED`.\n       * @readonly\n       */\n      failure?: Failure;\n      /**\n       * Whether the index enforces uniqueness of values in the field for which it is defined.\n       * If `true`, the index can have only one field.\n       *\n       * Default: `false`\n       */\n      unique?: boolean;\n      /**\n       * Whether the index ignores case.\n       *\n       * Default: `false`\n       */\n      caseInsensitive?: boolean;\n  }\n  /**\n   * Order determines how values are ordered in the index. This is important when\n   * ordering and/or range querying by indexed fields.\n   */\n  enum Order {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Field {\n      /** Path of the field to index. For example: `title` or `options.price`. */\n      path?: string;\n      /**\n       * Sort order for the index. Base on how the data is regularly queried.\n       *\n       * Default: `ASC`\n       */\n      order?: Order;\n  }\n  enum Status {\n      /** Place holder. Never returned by the service. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Index creation is in progress. */\n      BUILDING = \"BUILDING\",\n      /** Index has been successfully created and can be used in queries. */\n      ACTIVE = \"ACTIVE\",\n      /** Index is in the process of being dropped. */\n      DROPPING = \"DROPPING\",\n      /** Index has been dropped successfully. */\n      DROPPED = \"DROPPED\",\n      /** Index creation has failed. */\n      FAILED = \"FAILED\",\n      /** Index contains incorrectly indexed data. */\n      INVALID = \"INVALID\"\n  }\n  interface Failure {\n      /**\n       * Error code.\n       * - `WDE0112`: Unknown error while building collection index.\n       * - `WDE0113`: Duplicate key error while building collection index.\n       * - `WDE0114`: Document too large while building collection index.\n       */\n      code?: string;\n      /**\n       * Broad error code.\n       * - `WD_UNKNOWN_ERROR`: Unknown error.\n       * @internal\n       */\n      broadCode?: string;\n      /** Description of the failure. */\n      description?: string;\n      /**\n       * ID of the data item that caused the failure.\n       * For example, if `unique` is `true`, the ID of an item containing a duplicate value.\n       */\n      itemId?: string | null;\n  }\n  interface CreateIndexRequest {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment on which to define the index. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n      /** Details of the index to be created. */\n      index: Index;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which to generate the index. */\n      dataCollectionId?: string;\n  }\n  enum Environment {\n      LIVE = \"LIVE\",\n      SANDBOX = \"SANDBOX\"\n  }\n  interface CreateIndexResponse {\n      /** Details of the index being generated. */\n      index?: Index;\n  }\n  interface DropIndexRequest {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment on which the index is defined. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n      /** Name of the index to drop. */\n      indexName: string;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which the index to be dropped is defined. */\n      dataCollectionId?: string;\n  }\n  interface DropIndexResponse {\n  }\n  interface ListIndexesRequest {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment to list indexes for\n       * @internal\n       */\n      environment?: Environment;\n      /**\n       * slower read but consistent with recent updates\n       * @internal\n       */\n      consistentRead?: boolean;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which to list indexes. */\n      dataCollectionId?: string;\n  }\n  interface ListIndexesResponse {\n      /** List of all indexes for the requested data collection. */\n      indexes?: Index[];\n  }\n  /**\n   * Creates an index for a data collection.\n   *\n   * The index can't be used immediately, as the process of generating the index takes time.\n   * You can check whether your index is ready using the [List Indexes](https://dev.wix.com/api/rest/wix-data/wix-data/indexes/list-indexes) endpoint.\n   *\n   * Note that when an index fails to create, the failed index still occupies a slot.\n   * To remove the failed index and free up the slot for a new index, use the Drop Index endpoint.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.index\n   * @requiredField options.index.fields\n   * @requiredField options.index.fields.path\n   * @requiredField options.index.name\n   */\n  function createIndex(options: CreateIndexOptions): Promise<CreateIndexResponse>;\n  interface CreateIndexOptions {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment on which to define the index. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n      /** Details of the index to be created. */\n      index: Index;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which to generate the index. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Removes an index from a data collection.\n   *\n   * The process of dropping an index from a collection takes time.\n   * You can check whether your index has been dropped by using the [List Indexes](https://dev.wix.com/api/rest/wix-data/wix-data/indexes/list-indexes) endpoint.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.indexName\n   */\n  function dropIndex(options: DropIndexOptions): Promise<void>;\n  interface DropIndexOptions {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment on which the index is defined. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n      /** Name of the index to drop. */\n      indexName: string;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which the index to be dropped is defined. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Lists all indexes defined for a data collection.\n   *\n   * When an index's status is `ACTIVE`, it is ready to use.\n   * While it is still being created, its status is `BUILDING`.\n   *\n   * When an index's status is `DROPPED`, it has been dropped successfully.\n   * While it is still in the process of being removed, its status is `DROPPING`.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listIndexes(options?: ListIndexesOptions): Promise<ListIndexesResponse>;\n  interface ListIndexesOptions {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment to list indexes for\n       * @internal\n       */\n      environment?: Environment;\n      /**\n       * slower read but consistent with recent updates\n       * @internal\n       */\n      consistentRead?: boolean;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which to list indexes. */\n      dataCollectionId?: string;\n  }\n  \n  const dataV2Index_universal_d___debug: typeof __debug;\n  type dataV2Index_universal_d_Index = Index;\n  type dataV2Index_universal_d_Order = Order;\n  const dataV2Index_universal_d_Order: typeof Order;\n  type dataV2Index_universal_d_Field = Field;\n  type dataV2Index_universal_d_Status = Status;\n  const dataV2Index_universal_d_Status: typeof Status;\n  type dataV2Index_universal_d_Failure = Failure;\n  type dataV2Index_universal_d_CreateIndexRequest = CreateIndexRequest;\n  type dataV2Index_universal_d_Environment = Environment;\n  const dataV2Index_universal_d_Environment: typeof Environment;\n  type dataV2Index_universal_d_CreateIndexResponse = CreateIndexResponse;\n  type dataV2Index_universal_d_DropIndexRequest = DropIndexRequest;\n  type dataV2Index_universal_d_DropIndexResponse = DropIndexResponse;\n  type dataV2Index_universal_d_ListIndexesRequest = ListIndexesRequest;\n  type dataV2Index_universal_d_ListIndexesResponse = ListIndexesResponse;\n  const dataV2Index_universal_d_createIndex: typeof createIndex;\n  type dataV2Index_universal_d_CreateIndexOptions = CreateIndexOptions;\n  const dataV2Index_universal_d_dropIndex: typeof dropIndex;\n  type dataV2Index_universal_d_DropIndexOptions = DropIndexOptions;\n  const dataV2Index_universal_d_listIndexes: typeof listIndexes;\n  type dataV2Index_universal_d_ListIndexesOptions = ListIndexesOptions;\n  namespace dataV2Index_universal_d {\n    export {\n      dataV2Index_universal_d___debug as __debug,\n      dataV2Index_universal_d_Index as Index,\n      dataV2Index_universal_d_Order as Order,\n      dataV2Index_universal_d_Field as Field,\n      dataV2Index_universal_d_Status as Status,\n      dataV2Index_universal_d_Failure as Failure,\n      dataV2Index_universal_d_CreateIndexRequest as CreateIndexRequest,\n      dataV2Index_universal_d_Environment as Environment,\n      dataV2Index_universal_d_CreateIndexResponse as CreateIndexResponse,\n      dataV2Index_universal_d_DropIndexRequest as DropIndexRequest,\n      dataV2Index_universal_d_DropIndexResponse as DropIndexResponse,\n      dataV2Index_universal_d_ListIndexesRequest as ListIndexesRequest,\n      dataV2Index_universal_d_ListIndexesResponse as ListIndexesResponse,\n      dataV2Index_universal_d_createIndex as createIndex,\n      dataV2Index_universal_d_CreateIndexOptions as CreateIndexOptions,\n      dataV2Index_universal_d_dropIndex as dropIndex,\n      dataV2Index_universal_d_DropIndexOptions as DropIndexOptions,\n      dataV2Index_universal_d_listIndexes as listIndexes,\n      dataV2Index_universal_d_ListIndexesOptions as ListIndexesOptions,\n    };\n  }\n  \n  export { dataV2Index_universal_d as data };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-category-backend.d.ts",
      "content": "declare module \"wix-category-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Category {\n      /** Category ID. */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Category was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Category was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Category name. */\n      name?: string | null;\n      /**\n       * Category image.\n       * Pass existing media ID for image previously saved in Wix media manager.\n       * Pass full image URL to upload an image to Wix media manager.\n       * In case of full url the image will be updated eventually.\n       */\n      image?: string;\n      /**\n       * Number of items in this category alone.\n       * @readonly\n       */\n      numberOfItems?: number;\n      /**\n       * Number of items including all items in subcategories.\n       * @readonly\n       */\n      totalNumberOfItems?: number;\n      /** Category description. */\n      description?: string | null;\n      /**\n       * Whether the category is visible to site visitors in dynamic pages (If not passed, the default is `false`).\n       * Even if visible is `false`, it can still be added manually to static page.\n       * If parent visibility is updated to `false`, all the children visibility will be updated eventually to `false`.\n       * It is not allowed to set visible as `true` if at least one of the parent categories has visible `false`.\n       */\n      visible?: boolean | null;\n      /**\n       * A category's breadcrumbs.\n       * Updated on moved to different parent or on renamed.\n       * @readonly\n       */\n      breadcrumbs?: BreadcrumbItem[];\n      /** The parent category. */\n      parentCategory?: ParentCategory;\n      /**\n       * A permanent, friendly URL name.\n       * When not provided, generated automatically.\n       * When provided, validated and should be unique.\n       */\n      slug?: string | null;\n      /**\n       * Custom SEO data for the category.\n       * @internal\n       */\n      seoData?: SeoSchema;\n      /**\n       * Category description which supports rich content. It is independent from `description` field and can be used instead of it or in addition to it.\n       * In order to use this field you have to integrate with \"Ricos\" on frontend side. To learn how to do it visit https://ricos.js.org/.\n       */\n      richContentDescription?: RichContent;\n  }\n  interface BreadcrumbItem {\n      /** Represents the id of the breadcrumb item. */\n      _id?: string;\n      /** Represents the name of the breadcrumb item. */\n      name?: string;\n      /** Represents the slug of the breadcrumb item. */\n      slug?: string;\n  }\n  interface ParentCategory {\n      /**\n       * Represents the id of the parent category.\n       * If not passed, the default is the root category.\n       */\n      _id?: string | null;\n      /**\n       * Represents the index of current category within the parent category.\n       * @readonly\n       */\n      index?: number | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tags information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'} pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the auto redirects feature creating `301 redirects` on a slug change is enabled.\n       *\n       *\n       * Default: enabled\n       */\n      preventAutoRedirect?: boolean;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface PollSettings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: PollSettings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /** Deprecated: Use `image` instead. */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /** Deprecated: Use `rowHeader` and `columnHeader` instead. */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface CreateCategoryRequest {\n      /** Category to be created. */\n      category: Category;\n  }\n  interface CreateCategoryResponse {\n      /** The created Category. */\n      category?: Category;\n  }\n  interface GetCategoryRequest {\n      /** Id of the Category to retrieve. */\n      categoryId: string;\n  }\n  interface GetCategoryResponse {\n      /** The retrieved Category. */\n      category?: Category;\n  }\n  interface UpdateCategoryRequest {\n      /** Category to be updated, may be partial. */\n      category: Category;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateCategoryResponse {\n      /** The updated Category. */\n      category?: Category;\n  }\n  interface DeleteCategoryRequest {\n      /** Id of the Category to delete. */\n      categoryId: string;\n  }\n  interface DeleteCategoryResponse {\n  }\n  interface QueryCategoriesRequest {\n      /** WQL query expression. */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCategoriesResponse {\n      /** Categories which satisfy the provided query. */\n      categories?: Category[];\n      /** Paging metadata. Contains cursor which can be used in next query. */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface PlaceCategoryInParentCategoryRequest {\n      /** ID of category to place. */\n      categoryId: string;\n      /**\n       * ID of parent category.\n       * Optional. When not passed it will fallback to the root category\n       */\n      parentCategoryId?: string | null;\n      /**\n       * Where to place the subcategory.\n       * `FIRST` - make category with `category_id` first subcategory with manual arrangement.\n       * `LAST` - make category with `category_id` last subcategory with manual arrangement.\n       * `BEFORE` - requires `move_before_category_id`, category with `category_id` will be moved before it.\n       */\n      position?: PlaceCategoryInParentCategoryRequestPosition;\n      /** Required when `position` is `BEFORE`. */\n      moveBeforeCategoryId?: string | null;\n  }\n  enum PlaceCategoryInParentCategoryRequestPosition {\n      UNKNOWN = \"UNKNOWN\",\n      FIRST = \"FIRST\",\n      LAST = \"LAST\",\n      BEFORE = \"BEFORE\"\n  }\n  interface PlaceCategoryInParentCategoryResponse {\n      /** ID of parent category. */\n      parentCategoryId?: string | null;\n      /** Information about manually arranged categories after move. */\n      arrangedCategoriesAfterMove?: string[];\n  }\n  interface BulkCreateCategoriesRequest {\n      /** List of categories to be created. */\n      categories: Category[];\n      /** Whether to return the full category entity in the response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkCreateCategoriesResponse {\n      /** Categories created by bulk action. */\n      results?: BulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCategoriesResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata;\n      /** Created category. Optional - returned only if requested with `return_full_entity` set to `true`. */\n      category?: Category;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      code?: string;\n      description?: string;\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkSetVisibilityRequest {\n      /** IDs of categories to be updated. */\n      categoryIds: string[];\n      /** Whether to return the full category entity in the response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkSetVisibilityResponse {\n      /** Categories updated by bulk action. */\n      results?: BulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkSetVisibilityByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n  }\n  interface BulkSetVisibilityByFilterResponse {\n      /** Token that can be used to query \"AsyncJobService\" */\n      jobId?: string;\n  }\n  interface BulkDeleteCategoriesRequest {\n      /** IDs of categories to be deleted. */\n      categoryIds: string[];\n  }\n  interface BulkDeleteCategoriesResponse {\n      /** Categories deleted by bulk action. */\n      results?: BulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteCategoriesByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n  }\n  interface BulkDeleteCategoriesByFilterResponse {\n      /** Token that can be used to query \"AsyncJobService\" */\n      jobId?: string;\n  }\n  interface AddItemsToCategoryRequest {\n      /** Category id. */\n      categoryId: string;\n      /** List of catalog items with reference info. */\n      items?: ItemReference[];\n  }\n  interface ItemReference {\n      /** ID of the item within its Wix or 3rd-party catalog. For example, `productId` for Wix Stores or `eventId` for Wix Events. */\n      catalogItemId?: string;\n      /** ID of the catalog app. For example, the Wix Stores `appId`, or the 3rd-party `appId`. */\n      appId?: string;\n  }\n  interface AddItemsToCategoryResponse {\n      /** Items added by bulk action. */\n      results?: BulkItemsToCategoryResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkItemsToCategoryResult {\n      /** Information about items that were added successfully and errors for failed items. */\n      itemMetadata?: ItemReferenceMetadata;\n  }\n  interface ItemReferenceMetadata {\n      /** Item reference from request. */\n      itemReference?: ItemReference;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ItemAddedToCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** Catalog item reference info. */\n      itemReference?: ItemReference;\n  }\n  interface AddItemToCategoriesRequest {\n      /** Catalog item reference info */\n      itemReference: ItemReference;\n      /** Category ids. */\n      categoryIds?: string[];\n  }\n  interface AddItemToCategoriesResponse {\n      /** Items added by bulk action. */\n      results?: BulkItemToCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkItemToCategoriesResult {\n      /** Information about categories to which item was added successfully and errors for failed items. `id` is ID of category. */\n      itemMetadata?: ItemMetadata;\n  }\n  interface RemoveItemsFromCategoryRequest {\n      /** Category id */\n      categoryId: string;\n      /** List of catalog items with reference info. */\n      items?: ItemReference[];\n  }\n  interface RemoveItemsFromCategoryResponse {\n      /** Items removed by bulk action. */\n      results?: BulkItemsToCategoryResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemRemovedFromCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** Catalog item reference info. */\n      itemReference?: ItemReference;\n  }\n  interface RemoveItemFromCategoriesRequest {\n      /** Catalog item reference info */\n      itemReference: ItemReference;\n      /** Category ids. */\n      categoryIds?: string[];\n  }\n  interface RemoveItemFromCategoriesResponse {\n      /** Items removed by bulk action. */\n      results?: BulkItemToCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ListItemsInCategoryRequest {\n      /** ID of category containing items. */\n      categoryId: string;\n      /** Default: `false`. When `true` items arranged by user will be return before all other items. */\n      useCategoryArrangement?: boolean;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `use_category_arrangement` or `include_items_from_subcategories`. */\n      paging?: CursorPaging;\n  }\n  interface ListItemsInCategoryResponse {\n      /** Items which satisfy query. */\n      items?: ItemReference[];\n      /** Paging metadata. Contains cursor which can be used in next query */\n      metadata?: PagingMetadataV2;\n  }\n  interface MoveItemInCategoryRequest {\n      /**\n       * ID of category.\n       * Item must be direct child of this category, otherwise error returned\n       */\n      categoryId: string;\n      /** Item to move. */\n      item: ItemReference;\n      /**\n       * Where to move item.\n       * `FIRST` - make `item` first item with manual arrangement. If before this operation category already has 100 manually arranged items, the 100th item will be removed from list of items with manual arrangement.\n       * `LAST` - make `item` last item with manual arrangement. If before this operation category already has 100 manually arranged items, moving item will be not last but 100th.\n       * `BEFORE` - requires `before_item`, `item` will be moved before it. If `before_item` was 100th item in category it will be removed from list of items with manual arrangement.\n       * `NONE` - don't use manual arrangement for `item`, it will be shown after all items with manual arrangement according to default sorting.\n       */\n      position?: Position;\n      /** Required when `position` is `BEFORE`. `before_item` must be manually arranged item. */\n      beforeItem?: ItemReference;\n  }\n  enum Position {\n      UNKNOWN_POSITION = \"UNKNOWN_POSITION\",\n      FIRST = \"FIRST\",\n      LAST = \"LAST\",\n      BEFORE = \"BEFORE\",\n      NONE = \"NONE\"\n  }\n  interface MoveItemInCategoryResponse {\n      /** Information about manually arranged items after move. */\n      arrangedItemsAfterMove?: ItemReference[];\n  }\n  interface PutCategoriesTreeRequest {\n      /** The number of categories to put */\n      numberOfCategories: number | null;\n  }\n  interface PutCategoriesTreeResponse {\n  }\n  interface GetCategoriesTreeRequest {\n  }\n  interface GetCategoriesTreeResponse {\n      /** Categories tree in dynamo */\n      categoryTreeNodeDynamo?: CategoryTreeNode;\n      /** Categories tree in sdl */\n      categoryTreeNodeSdl?: CategoryTreeNode;\n      /** Category ids in sdl */\n      categoryIdsSdl?: string[];\n  }\n  /** Represents a node in the view of categories tree */\n  interface CategoryTreeNode {\n      /** Category ID. */\n      _id?: Uint8Array;\n      /**\n       * The level of the category within the tree.\n       * int32 level = 2 [(.wix.api.min) = 0, (.wix.api.max) = 5];\n       * The parent category.\n       * google.protobuf.StringValue parent_category_id = 3 [(.wix.api.format) = GUID];\n       * A list of child category IDs arranged by the index.\n       * repeated string subcategory_ids = 4 [(.wix.api.format) = GUID, (.wix.api.maxSize) = 10000];\n       * A list of child categories.\n       */\n      subcategories?: CategoryTreeNode[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent {\n      currentEntityAsJson?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Creates a new Category.\n   * @param category - Category to be created.\n   * @requiredField category\n   * @requiredField category.name\n   * @requiredField category.parentCategory._id\n   * @returns The created Category.\n   */\n  function createCategory(category: Category): Promise<Category>;\n  /**\n   * Retrieves a category with the provided ID.\n   * @param categoryId - Id of the Category to retrieve.\n   * @requiredField categoryId\n   * @returns The retrieved Category.\n   */\n  function getCategory(categoryId: string): Promise<Category>;\n  /**\n   * Update a Category, supports partial update.\n   * Pass the latest `revision` for a successful update.\n   * Each time the category is updated, `revision` increments by 1.\n   * @param _id - Category ID.\n   * @requiredField _id\n   * @requiredField category\n   * @requiredField category.revision\n   * @returns The updated Category.\n   */\n  function updateCategory(_id: string | null, category: UpdateCategory, options?: UpdateCategoryOptions): Promise<Category>;\n  interface UpdateCategory {\n      /** Category ID. */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Category was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Category was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Category name. */\n      name?: string | null;\n      /**\n       * Category image.\n       * Pass existing media ID for image previously saved in Wix media manager.\n       * Pass full image URL to upload an image to Wix media manager.\n       * In case of full url the image will be updated eventually.\n       */\n      image?: string;\n      /**\n       * Number of items in this category alone.\n       * @readonly\n       */\n      numberOfItems?: number;\n      /**\n       * Number of items including all items in subcategories.\n       * @readonly\n       */\n      totalNumberOfItems?: number;\n      /** Category description. */\n      description?: string | null;\n      /**\n       * Whether the category is visible to site visitors in dynamic pages (If not passed, the default is `false`).\n       * Even if visible is `false`, it can still be added manually to static page.\n       * If parent visibility is updated to `false`, all the children visibility will be updated eventually to `false`.\n       * It is not allowed to set visible as `true` if at least one of the parent categories has visible `false`.\n       */\n      visible?: boolean | null;\n      /**\n       * A category's breadcrumbs.\n       * Updated on moved to different parent or on renamed.\n       * @readonly\n       */\n      breadcrumbs?: BreadcrumbItem[];\n      /** The parent category. */\n      parentCategory?: ParentCategory;\n      /**\n       * A permanent, friendly URL name.\n       * When not provided, generated automatically.\n       * When provided, validated and should be unique.\n       */\n      slug?: string | null;\n      /**\n       * Custom SEO data for the category.\n       * @internal\n       */\n      seoData?: SeoSchema;\n      /**\n       * Category description which supports rich content. It is independent from `description` field and can be used instead of it or in addition to it.\n       * In order to use this field you have to integrate with \"Ricos\" on frontend side. To learn how to do it visit https://ricos.js.org/.\n       */\n      richContentDescription?: RichContent;\n  }\n  interface UpdateCategoryOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a Category.\n   * @param categoryId - Id of the Category to delete.\n   * @requiredField categoryId\n   */\n  function deleteCategory(categoryId: string): Promise<void>;\n  /** Query Categories using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) */\n  function queryCategories(): CategoriesQueryBuilder;\n  interface QueryCursorResult {\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CategoriesQueryResult extends QueryCursorResult {\n      items: Category[];\n      query: CategoriesQueryBuilder;\n      next: () => Promise<CategoriesQueryResult>;\n      prev: () => Promise<CategoriesQueryResult>;\n  }\n  interface CategoriesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: string, value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: string, value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: string, value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: string, value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: string, value: string) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: string, value: any[]) => CategoriesQueryBuilder;\n      in: (propertyName: string, value: any) => CategoriesQueryBuilder;\n      exists: (propertyName: string, value: boolean) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: string[]) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: string[]) => CategoriesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => CategoriesQueryBuilder;\n      find: () => Promise<CategoriesQueryResult>;\n  }\n  /**\n   * Places category in parent category.\n   * This operation updates `parentCategory` (`id` and `index`) for category with `categoryId`.\n   * This endpoint can be used to move category to different parent or to change it's position in current parent.\n   * @param categoryId - ID of category to place.\n   * @requiredField categoryId\n   */\n  function placeCategoryInParentCategory(categoryId: string, options?: PlaceCategoryInParentCategoryOptions): Promise<PlaceCategoryInParentCategoryResponse>;\n  interface PlaceCategoryInParentCategoryOptions {\n      /**\n       * ID of parent category.\n       * Optional. When not passed it will fallback to the root category\n       */\n      parentCategoryId?: string | null;\n      /**\n       * Where to place the subcategory.\n       * `FIRST` - make category with `category_id` first subcategory with manual arrangement.\n       * `LAST` - make category with `category_id` last subcategory with manual arrangement.\n       * `BEFORE` - requires `move_before_category_id`, category with `category_id` will be moved before it.\n       */\n      position?: PlaceCategoryInParentCategoryRequestPosition;\n      /** Required when `position` is `BEFORE`. */\n      moveBeforeCategoryId?: string | null;\n  }\n  /**\n   * Creates multiple categories.\n   * @param categories - List of categories to be created.\n   * @requiredField categories\n   */\n  function bulkCreateCategories(categories: Category[], options?: BulkCreateCategoriesOptions): Promise<BulkCreateCategoriesResponse>;\n  interface BulkCreateCategoriesOptions {\n      /** Whether to return the full category entity in the response. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Update `visible` field for multiple categories.\n   * @param categoryIds - IDs of categories to be updated.\n   * @requiredField categoryIds\n   */\n  function bulkSetVisibility(categoryIds: string[], options?: BulkSetVisibilityOptions): Promise<BulkSetVisibilityResponse>;\n  interface BulkSetVisibilityOptions {\n      /** Whether to return the full category entity in the response. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Update `visible` field for categories which satisfy the provided filter.\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"fieldName1\": \"value1\",\n   * \"fieldName2\":{\"$operator\":\"value2\"}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @requiredField filter\n   */\n  function bulkSetVisibilityByFilter(filter: Record<string, any> | null): Promise<BulkSetVisibilityByFilterResponse>;\n  /**\n   * Deletes multiple categories.\n   * @param categoryIds - IDs of categories to be deleted.\n   * @requiredField categoryIds\n   */\n  function bulkDeleteCategories(categoryIds: string[]): Promise<BulkDeleteCategoriesResponse>;\n  /**\n   * Delete multiple categories which satisfy the provided filter.\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"fieldName1\": \"value1\",\n   * \"fieldName2\":{\"$operator\":\"value2\"}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @requiredField filter\n   */\n  function bulkDeleteCategoriesByFilter(filter: Record<string, any> | null): Promise<BulkDeleteCategoriesByFilterResponse>;\n  /**\n   * Adds multiple items to single category, fires as many domain events as many items successfully added.\n   * @param categoryId - Category id.\n   * @requiredField categoryId\n   */\n  function addItemsToCategory(categoryId: string, options?: AddItemsToCategoryOptions): Promise<AddItemsToCategoryResponse>;\n  interface AddItemsToCategoryOptions {\n      /** List of catalog items with reference info. */\n      items?: ItemReference[];\n  }\n  /**\n   * Adds single item to multiple categories, fires as many domain events as many categories were successfully added.\n   * @param itemReference - Catalog item reference info\n   * @requiredField itemReference\n   */\n  function addItemToCategories(itemReference: ItemReference, options?: AddItemToCategoriesOptions): Promise<AddItemToCategoriesResponse>;\n  interface AddItemToCategoriesOptions {\n      /** Category ids. */\n      categoryIds?: string[];\n  }\n  /**\n   * Removed multiple items from single category, fires as many domain events as many items successfully removed.\n   * @param categoryId - Category id\n   * @requiredField categoryId\n   */\n  function removeItemsFromCategory(categoryId: string, options?: RemoveItemsFromCategoryOptions): Promise<RemoveItemsFromCategoryResponse>;\n  interface RemoveItemsFromCategoryOptions {\n      /** List of catalog items with reference info. */\n      items?: ItemReference[];\n  }\n  /**\n   * Removes single item from multiple categories, fires as many domain events as many categories were successfully removed.\n   * @param itemReference - Catalog item reference info\n   * @requiredField itemReference\n   */\n  function removeItemFromCategories(itemReference: ItemReference, options?: RemoveItemFromCategoriesOptions): Promise<RemoveItemFromCategoriesResponse>;\n  interface RemoveItemFromCategoriesOptions {\n      /** Category ids. */\n      categoryIds?: string[];\n  }\n  /**\n   * Returns up to 100 items related to requested `category_id` sorted by time when item added to category, descending.\n   * When items added to category in bulk they considered as added at exactly same time so order will be random but always the same.\n   * @param categoryId - ID of category containing items.\n   * @requiredField categoryId\n   */\n  function listItemsInCategory(categoryId: string, options?: ListItemsInCategoryOptions): Promise<ListItemsInCategoryResponse>;\n  interface ListItemsInCategoryOptions {\n      /** Default: `false`. When `true` items arranged by user will be return before all other items. */\n      useCategoryArrangement?: boolean;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `use_category_arrangement` or `include_items_from_subcategories`. */\n      paging?: CursorPaging;\n  }\n  /**\n   * Changes position of `item` in category. Will be used when sort items by manual arrangement\n   * @param categoryId - ID of category.\n   * Item must be direct child of this category, otherwise error returned\n   * @param item - Item to move.\n   * @requiredField categoryId\n   * @requiredField item\n   */\n  function moveItemInCategory(categoryId: string, item: ItemReference, options?: MoveItemInCategoryOptions): Promise<MoveItemInCategoryResponse>;\n  interface MoveItemInCategoryOptions {\n      /**\n       * Where to move item.\n       * `FIRST` - make `item` first item with manual arrangement. If before this operation category already has 100 manually arranged items, the 100th item will be removed from list of items with manual arrangement.\n       * `LAST` - make `item` last item with manual arrangement. If before this operation category already has 100 manually arranged items, moving item will be not last but 100th.\n       * `BEFORE` - requires `before_item`, `item` will be moved before it. If `before_item` was 100th item in category it will be removed from list of items with manual arrangement.\n       * `NONE` - don't use manual arrangement for `item`, it will be shown after all items with manual arrangement according to default sorting.\n       */\n      position?: Position;\n      /** Required when `position` is `BEFORE`. `before_item` must be manually arranged item. */\n      beforeItem?: ItemReference;\n  }\n  /**\n   * Save the whole categories tree\n   * @param numberOfCategories - The number of categories to put\n   * @requiredField numberOfCategories\n   */\n  function putCategoriesTree(numberOfCategories: number | null): Promise<void>;\n  /** Retrieves the whole categories tree */\n  function getCategoriesTree(): Promise<GetCategoriesTreeResponse>;\n  \n  const ecomV1Category_universal_d___debug: typeof __debug;\n  type ecomV1Category_universal_d_Category = Category;\n  type ecomV1Category_universal_d_BreadcrumbItem = BreadcrumbItem;\n  type ecomV1Category_universal_d_ParentCategory = ParentCategory;\n  type ecomV1Category_universal_d_SeoSchema = SeoSchema;\n  type ecomV1Category_universal_d_Tag = Tag;\n  type ecomV1Category_universal_d_Settings = Settings;\n  type ecomV1Category_universal_d_RichContent = RichContent;\n  type ecomV1Category_universal_d_Node = Node;\n  type ecomV1Category_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type ecomV1Category_universal_d_NodeType = NodeType;\n  const ecomV1Category_universal_d_NodeType: typeof NodeType;\n  type ecomV1Category_universal_d_NodeStyle = NodeStyle;\n  type ecomV1Category_universal_d_ButtonData = ButtonData;\n  type ecomV1Category_universal_d_Border = Border;\n  type ecomV1Category_universal_d_Colors = Colors;\n  type ecomV1Category_universal_d_PluginContainerData = PluginContainerData;\n  type ecomV1Category_universal_d_WidthType = WidthType;\n  const ecomV1Category_universal_d_WidthType: typeof WidthType;\n  type ecomV1Category_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type ecomV1Category_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type ecomV1Category_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const ecomV1Category_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type ecomV1Category_universal_d_Spoiler = Spoiler;\n  type ecomV1Category_universal_d_Height = Height;\n  type ecomV1Category_universal_d_Type = Type;\n  const ecomV1Category_universal_d_Type: typeof Type;\n  type ecomV1Category_universal_d_Styles = Styles;\n  type ecomV1Category_universal_d_Link = Link;\n  type ecomV1Category_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type ecomV1Category_universal_d_Target = Target;\n  const ecomV1Category_universal_d_Target: typeof Target;\n  type ecomV1Category_universal_d_Rel = Rel;\n  type ecomV1Category_universal_d_CodeBlockData = CodeBlockData;\n  type ecomV1Category_universal_d_TextStyle = TextStyle;\n  type ecomV1Category_universal_d_TextAlignment = TextAlignment;\n  const ecomV1Category_universal_d_TextAlignment: typeof TextAlignment;\n  type ecomV1Category_universal_d_DividerData = DividerData;\n  type ecomV1Category_universal_d_LineStyle = LineStyle;\n  const ecomV1Category_universal_d_LineStyle: typeof LineStyle;\n  type ecomV1Category_universal_d_Width = Width;\n  const ecomV1Category_universal_d_Width: typeof Width;\n  type ecomV1Category_universal_d_Alignment = Alignment;\n  const ecomV1Category_universal_d_Alignment: typeof Alignment;\n  type ecomV1Category_universal_d_FileData = FileData;\n  type ecomV1Category_universal_d_ViewMode = ViewMode;\n  const ecomV1Category_universal_d_ViewMode: typeof ViewMode;\n  type ecomV1Category_universal_d_FileSource = FileSource;\n  type ecomV1Category_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type ecomV1Category_universal_d_PDFSettings = PDFSettings;\n  type ecomV1Category_universal_d_GalleryData = GalleryData;\n  type ecomV1Category_universal_d_Media = Media;\n  type ecomV1Category_universal_d_Image = Image;\n  type ecomV1Category_universal_d_Video = Video;\n  type ecomV1Category_universal_d_Item = Item;\n  type ecomV1Category_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type ecomV1Category_universal_d_GalleryOptions = GalleryOptions;\n  type ecomV1Category_universal_d_LayoutType = LayoutType;\n  const ecomV1Category_universal_d_LayoutType: typeof LayoutType;\n  type ecomV1Category_universal_d_Orientation = Orientation;\n  const ecomV1Category_universal_d_Orientation: typeof Orientation;\n  type ecomV1Category_universal_d_Crop = Crop;\n  const ecomV1Category_universal_d_Crop: typeof Crop;\n  type ecomV1Category_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const ecomV1Category_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type ecomV1Category_universal_d_Layout = Layout;\n  type ecomV1Category_universal_d_ItemStyle = ItemStyle;\n  type ecomV1Category_universal_d_Thumbnails = Thumbnails;\n  type ecomV1Category_universal_d_GIFData = GIFData;\n  type ecomV1Category_universal_d_GIF = GIF;\n  type ecomV1Category_universal_d_HeadingData = HeadingData;\n  type ecomV1Category_universal_d_HTMLData = HTMLData;\n  type ecomV1Category_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type ecomV1Category_universal_d_Source = Source;\n  const ecomV1Category_universal_d_Source: typeof Source;\n  type ecomV1Category_universal_d_ImageData = ImageData;\n  type ecomV1Category_universal_d_LinkPreviewData = LinkPreviewData;\n  type ecomV1Category_universal_d_MapData = MapData;\n  type ecomV1Category_universal_d_MapSettings = MapSettings;\n  type ecomV1Category_universal_d_MapType = MapType;\n  const ecomV1Category_universal_d_MapType: typeof MapType;\n  type ecomV1Category_universal_d_ParagraphData = ParagraphData;\n  type ecomV1Category_universal_d_PollData = PollData;\n  type ecomV1Category_universal_d_ViewRole = ViewRole;\n  const ecomV1Category_universal_d_ViewRole: typeof ViewRole;\n  type ecomV1Category_universal_d_VoteRole = VoteRole;\n  const ecomV1Category_universal_d_VoteRole: typeof VoteRole;\n  type ecomV1Category_universal_d_Permissions = Permissions;\n  type ecomV1Category_universal_d_Option = Option;\n  type ecomV1Category_universal_d_PollSettings = PollSettings;\n  type ecomV1Category_universal_d_PollLayoutType = PollLayoutType;\n  const ecomV1Category_universal_d_PollLayoutType: typeof PollLayoutType;\n  type ecomV1Category_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const ecomV1Category_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type ecomV1Category_universal_d_PollLayout = PollLayout;\n  type ecomV1Category_universal_d_OptionLayout = OptionLayout;\n  type ecomV1Category_universal_d_BackgroundType = BackgroundType;\n  const ecomV1Category_universal_d_BackgroundType: typeof BackgroundType;\n  type ecomV1Category_universal_d_Gradient = Gradient;\n  type ecomV1Category_universal_d_Background = Background;\n  type ecomV1Category_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type ecomV1Category_universal_d_PollDesign = PollDesign;\n  type ecomV1Category_universal_d_OptionDesign = OptionDesign;\n  type ecomV1Category_universal_d_Poll = Poll;\n  type ecomV1Category_universal_d_PollDataLayout = PollDataLayout;\n  type ecomV1Category_universal_d_Design = Design;\n  type ecomV1Category_universal_d_TextData = TextData;\n  type ecomV1Category_universal_d_Decoration = Decoration;\n  type ecomV1Category_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type ecomV1Category_universal_d_DecorationType = DecorationType;\n  const ecomV1Category_universal_d_DecorationType: typeof DecorationType;\n  type ecomV1Category_universal_d_AnchorData = AnchorData;\n  type ecomV1Category_universal_d_ColorData = ColorData;\n  type ecomV1Category_universal_d_LinkData = LinkData;\n  type ecomV1Category_universal_d_MentionData = MentionData;\n  type ecomV1Category_universal_d_FontSizeData = FontSizeData;\n  type ecomV1Category_universal_d_FontType = FontType;\n  const ecomV1Category_universal_d_FontType: typeof FontType;\n  type ecomV1Category_universal_d_AppEmbedData = AppEmbedData;\n  type ecomV1Category_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type ecomV1Category_universal_d_AppType = AppType;\n  const ecomV1Category_universal_d_AppType: typeof AppType;\n  type ecomV1Category_universal_d_BookingData = BookingData;\n  type ecomV1Category_universal_d_EventData = EventData;\n  type ecomV1Category_universal_d_VideoData = VideoData;\n  type ecomV1Category_universal_d_PlaybackOptions = PlaybackOptions;\n  type ecomV1Category_universal_d_EmbedData = EmbedData;\n  type ecomV1Category_universal_d_Oembed = Oembed;\n  type ecomV1Category_universal_d_CollapsibleListData = CollapsibleListData;\n  type ecomV1Category_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const ecomV1Category_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type ecomV1Category_universal_d_Direction = Direction;\n  const ecomV1Category_universal_d_Direction: typeof Direction;\n  type ecomV1Category_universal_d_TableData = TableData;\n  type ecomV1Category_universal_d_Dimensions = Dimensions;\n  type ecomV1Category_universal_d_TableCellData = TableCellData;\n  type ecomV1Category_universal_d_VerticalAlignment = VerticalAlignment;\n  const ecomV1Category_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type ecomV1Category_universal_d_CellStyle = CellStyle;\n  type ecomV1Category_universal_d_BorderColors = BorderColors;\n  type ecomV1Category_universal_d_NullValue = NullValue;\n  const ecomV1Category_universal_d_NullValue: typeof NullValue;\n  type ecomV1Category_universal_d_ListValue = ListValue;\n  type ecomV1Category_universal_d_AudioData = AudioData;\n  type ecomV1Category_universal_d_OrderedListData = OrderedListData;\n  type ecomV1Category_universal_d_BulletedListData = BulletedListData;\n  type ecomV1Category_universal_d_BlockquoteData = BlockquoteData;\n  type ecomV1Category_universal_d_Metadata = Metadata;\n  type ecomV1Category_universal_d_DocumentStyle = DocumentStyle;\n  type ecomV1Category_universal_d_TextNodeStyle = TextNodeStyle;\n  type ecomV1Category_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type ecomV1Category_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n  type ecomV1Category_universal_d_GetCategoryRequest = GetCategoryRequest;\n  type ecomV1Category_universal_d_GetCategoryResponse = GetCategoryResponse;\n  type ecomV1Category_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type ecomV1Category_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n  type ecomV1Category_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type ecomV1Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  type ecomV1Category_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n  type ecomV1Category_universal_d_QueryV2 = QueryV2;\n  type ecomV1Category_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type ecomV1Category_universal_d_Sorting = Sorting;\n  type ecomV1Category_universal_d_SortOrder = SortOrder;\n  const ecomV1Category_universal_d_SortOrder: typeof SortOrder;\n  type ecomV1Category_universal_d_Paging = Paging;\n  type ecomV1Category_universal_d_CursorPaging = CursorPaging;\n  type ecomV1Category_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n  type ecomV1Category_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type ecomV1Category_universal_d_Cursors = Cursors;\n  type ecomV1Category_universal_d_PlaceCategoryInParentCategoryRequest = PlaceCategoryInParentCategoryRequest;\n  type ecomV1Category_universal_d_PlaceCategoryInParentCategoryRequestPosition = PlaceCategoryInParentCategoryRequestPosition;\n  const ecomV1Category_universal_d_PlaceCategoryInParentCategoryRequestPosition: typeof PlaceCategoryInParentCategoryRequestPosition;\n  type ecomV1Category_universal_d_PlaceCategoryInParentCategoryResponse = PlaceCategoryInParentCategoryResponse;\n  type ecomV1Category_universal_d_BulkCreateCategoriesRequest = BulkCreateCategoriesRequest;\n  type ecomV1Category_universal_d_BulkCreateCategoriesResponse = BulkCreateCategoriesResponse;\n  type ecomV1Category_universal_d_BulkCategoriesResult = BulkCategoriesResult;\n  type ecomV1Category_universal_d_ItemMetadata = ItemMetadata;\n  type ecomV1Category_universal_d_ApplicationError = ApplicationError;\n  type ecomV1Category_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type ecomV1Category_universal_d_BulkSetVisibilityRequest = BulkSetVisibilityRequest;\n  type ecomV1Category_universal_d_BulkSetVisibilityResponse = BulkSetVisibilityResponse;\n  type ecomV1Category_universal_d_BulkSetVisibilityByFilterRequest = BulkSetVisibilityByFilterRequest;\n  type ecomV1Category_universal_d_BulkSetVisibilityByFilterResponse = BulkSetVisibilityByFilterResponse;\n  type ecomV1Category_universal_d_BulkDeleteCategoriesRequest = BulkDeleteCategoriesRequest;\n  type ecomV1Category_universal_d_BulkDeleteCategoriesResponse = BulkDeleteCategoriesResponse;\n  type ecomV1Category_universal_d_BulkDeleteCategoriesByFilterRequest = BulkDeleteCategoriesByFilterRequest;\n  type ecomV1Category_universal_d_BulkDeleteCategoriesByFilterResponse = BulkDeleteCategoriesByFilterResponse;\n  type ecomV1Category_universal_d_AddItemsToCategoryRequest = AddItemsToCategoryRequest;\n  type ecomV1Category_universal_d_ItemReference = ItemReference;\n  type ecomV1Category_universal_d_AddItemsToCategoryResponse = AddItemsToCategoryResponse;\n  type ecomV1Category_universal_d_BulkItemsToCategoryResult = BulkItemsToCategoryResult;\n  type ecomV1Category_universal_d_ItemReferenceMetadata = ItemReferenceMetadata;\n  type ecomV1Category_universal_d_ItemAddedToCategory = ItemAddedToCategory;\n  type ecomV1Category_universal_d_AddItemToCategoriesRequest = AddItemToCategoriesRequest;\n  type ecomV1Category_universal_d_AddItemToCategoriesResponse = AddItemToCategoriesResponse;\n  type ecomV1Category_universal_d_BulkItemToCategoriesResult = BulkItemToCategoriesResult;\n  type ecomV1Category_universal_d_RemoveItemsFromCategoryRequest = RemoveItemsFromCategoryRequest;\n  type ecomV1Category_universal_d_RemoveItemsFromCategoryResponse = RemoveItemsFromCategoryResponse;\n  type ecomV1Category_universal_d_ItemRemovedFromCategory = ItemRemovedFromCategory;\n  type ecomV1Category_universal_d_RemoveItemFromCategoriesRequest = RemoveItemFromCategoriesRequest;\n  type ecomV1Category_universal_d_RemoveItemFromCategoriesResponse = RemoveItemFromCategoriesResponse;\n  type ecomV1Category_universal_d_ListItemsInCategoryRequest = ListItemsInCategoryRequest;\n  type ecomV1Category_universal_d_ListItemsInCategoryResponse = ListItemsInCategoryResponse;\n  type ecomV1Category_universal_d_MoveItemInCategoryRequest = MoveItemInCategoryRequest;\n  type ecomV1Category_universal_d_Position = Position;\n  const ecomV1Category_universal_d_Position: typeof Position;\n  type ecomV1Category_universal_d_MoveItemInCategoryResponse = MoveItemInCategoryResponse;\n  type ecomV1Category_universal_d_PutCategoriesTreeRequest = PutCategoriesTreeRequest;\n  type ecomV1Category_universal_d_PutCategoriesTreeResponse = PutCategoriesTreeResponse;\n  type ecomV1Category_universal_d_GetCategoriesTreeRequest = GetCategoriesTreeRequest;\n  type ecomV1Category_universal_d_GetCategoriesTreeResponse = GetCategoriesTreeResponse;\n  type ecomV1Category_universal_d_CategoryTreeNode = CategoryTreeNode;\n  type ecomV1Category_universal_d_DomainEvent = DomainEvent;\n  type ecomV1Category_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type ecomV1Category_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type ecomV1Category_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type ecomV1Category_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type ecomV1Category_universal_d_ActionEvent = ActionEvent;\n  type ecomV1Category_universal_d_ExtendedFieldsUpdatedEvent = ExtendedFieldsUpdatedEvent;\n  type ecomV1Category_universal_d_Empty = Empty;\n  const ecomV1Category_universal_d_createCategory: typeof createCategory;\n  const ecomV1Category_universal_d_getCategory: typeof getCategory;\n  const ecomV1Category_universal_d_updateCategory: typeof updateCategory;\n  type ecomV1Category_universal_d_UpdateCategory = UpdateCategory;\n  type ecomV1Category_universal_d_UpdateCategoryOptions = UpdateCategoryOptions;\n  const ecomV1Category_universal_d_deleteCategory: typeof deleteCategory;\n  const ecomV1Category_universal_d_queryCategories: typeof queryCategories;\n  type ecomV1Category_universal_d_CategoriesQueryResult = CategoriesQueryResult;\n  type ecomV1Category_universal_d_CategoriesQueryBuilder = CategoriesQueryBuilder;\n  const ecomV1Category_universal_d_placeCategoryInParentCategory: typeof placeCategoryInParentCategory;\n  type ecomV1Category_universal_d_PlaceCategoryInParentCategoryOptions = PlaceCategoryInParentCategoryOptions;\n  const ecomV1Category_universal_d_bulkCreateCategories: typeof bulkCreateCategories;\n  type ecomV1Category_universal_d_BulkCreateCategoriesOptions = BulkCreateCategoriesOptions;\n  const ecomV1Category_universal_d_bulkSetVisibility: typeof bulkSetVisibility;\n  type ecomV1Category_universal_d_BulkSetVisibilityOptions = BulkSetVisibilityOptions;\n  const ecomV1Category_universal_d_bulkSetVisibilityByFilter: typeof bulkSetVisibilityByFilter;\n  const ecomV1Category_universal_d_bulkDeleteCategories: typeof bulkDeleteCategories;\n  const ecomV1Category_universal_d_bulkDeleteCategoriesByFilter: typeof bulkDeleteCategoriesByFilter;\n  const ecomV1Category_universal_d_addItemsToCategory: typeof addItemsToCategory;\n  type ecomV1Category_universal_d_AddItemsToCategoryOptions = AddItemsToCategoryOptions;\n  const ecomV1Category_universal_d_addItemToCategories: typeof addItemToCategories;\n  type ecomV1Category_universal_d_AddItemToCategoriesOptions = AddItemToCategoriesOptions;\n  const ecomV1Category_universal_d_removeItemsFromCategory: typeof removeItemsFromCategory;\n  type ecomV1Category_universal_d_RemoveItemsFromCategoryOptions = RemoveItemsFromCategoryOptions;\n  const ecomV1Category_universal_d_removeItemFromCategories: typeof removeItemFromCategories;\n  type ecomV1Category_universal_d_RemoveItemFromCategoriesOptions = RemoveItemFromCategoriesOptions;\n  const ecomV1Category_universal_d_listItemsInCategory: typeof listItemsInCategory;\n  type ecomV1Category_universal_d_ListItemsInCategoryOptions = ListItemsInCategoryOptions;\n  const ecomV1Category_universal_d_moveItemInCategory: typeof moveItemInCategory;\n  type ecomV1Category_universal_d_MoveItemInCategoryOptions = MoveItemInCategoryOptions;\n  const ecomV1Category_universal_d_putCategoriesTree: typeof putCategoriesTree;\n  const ecomV1Category_universal_d_getCategoriesTree: typeof getCategoriesTree;\n  namespace ecomV1Category_universal_d {\n    export {\n      ecomV1Category_universal_d___debug as __debug,\n      ecomV1Category_universal_d_Category as Category,\n      ecomV1Category_universal_d_BreadcrumbItem as BreadcrumbItem,\n      ecomV1Category_universal_d_ParentCategory as ParentCategory,\n      ecomV1Category_universal_d_SeoSchema as SeoSchema,\n      ecomV1Category_universal_d_Tag as Tag,\n      ecomV1Category_universal_d_Settings as Settings,\n      ecomV1Category_universal_d_RichContent as RichContent,\n      ecomV1Category_universal_d_Node as Node,\n      ecomV1Category_universal_d_NodeDataOneOf as NodeDataOneOf,\n      ecomV1Category_universal_d_NodeType as NodeType,\n      ecomV1Category_universal_d_NodeStyle as NodeStyle,\n      ecomV1Category_universal_d_ButtonData as ButtonData,\n      ecomV1Category_universal_d_Border as Border,\n      ecomV1Category_universal_d_Colors as Colors,\n      ecomV1Category_universal_d_PluginContainerData as PluginContainerData,\n      ecomV1Category_universal_d_WidthType as WidthType,\n      ecomV1Category_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      ecomV1Category_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      ecomV1Category_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      ecomV1Category_universal_d_Spoiler as Spoiler,\n      ecomV1Category_universal_d_Height as Height,\n      ecomV1Category_universal_d_Type as Type,\n      ecomV1Category_universal_d_Styles as Styles,\n      ecomV1Category_universal_d_Link as Link,\n      ecomV1Category_universal_d_LinkDataOneOf as LinkDataOneOf,\n      ecomV1Category_universal_d_Target as Target,\n      ecomV1Category_universal_d_Rel as Rel,\n      ecomV1Category_universal_d_CodeBlockData as CodeBlockData,\n      ecomV1Category_universal_d_TextStyle as TextStyle,\n      ecomV1Category_universal_d_TextAlignment as TextAlignment,\n      ecomV1Category_universal_d_DividerData as DividerData,\n      ecomV1Category_universal_d_LineStyle as LineStyle,\n      ecomV1Category_universal_d_Width as Width,\n      ecomV1Category_universal_d_Alignment as Alignment,\n      ecomV1Category_universal_d_FileData as FileData,\n      ecomV1Category_universal_d_ViewMode as ViewMode,\n      ecomV1Category_universal_d_FileSource as FileSource,\n      ecomV1Category_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      ecomV1Category_universal_d_PDFSettings as PDFSettings,\n      ecomV1Category_universal_d_GalleryData as GalleryData,\n      ecomV1Category_universal_d_Media as Media,\n      ecomV1Category_universal_d_Image as Image,\n      ecomV1Category_universal_d_Video as Video,\n      ecomV1Category_universal_d_Item as Item,\n      ecomV1Category_universal_d_ItemDataOneOf as ItemDataOneOf,\n      ecomV1Category_universal_d_GalleryOptions as GalleryOptions,\n      ecomV1Category_universal_d_LayoutType as LayoutType,\n      ecomV1Category_universal_d_Orientation as Orientation,\n      ecomV1Category_universal_d_Crop as Crop,\n      ecomV1Category_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      ecomV1Category_universal_d_Layout as Layout,\n      ecomV1Category_universal_d_ItemStyle as ItemStyle,\n      ecomV1Category_universal_d_Thumbnails as Thumbnails,\n      ecomV1Category_universal_d_GIFData as GIFData,\n      ecomV1Category_universal_d_GIF as GIF,\n      ecomV1Category_universal_d_HeadingData as HeadingData,\n      ecomV1Category_universal_d_HTMLData as HTMLData,\n      ecomV1Category_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      ecomV1Category_universal_d_Source as Source,\n      ecomV1Category_universal_d_ImageData as ImageData,\n      ecomV1Category_universal_d_LinkPreviewData as LinkPreviewData,\n      ecomV1Category_universal_d_MapData as MapData,\n      ecomV1Category_universal_d_MapSettings as MapSettings,\n      ecomV1Category_universal_d_MapType as MapType,\n      ecomV1Category_universal_d_ParagraphData as ParagraphData,\n      ecomV1Category_universal_d_PollData as PollData,\n      ecomV1Category_universal_d_ViewRole as ViewRole,\n      ecomV1Category_universal_d_VoteRole as VoteRole,\n      ecomV1Category_universal_d_Permissions as Permissions,\n      ecomV1Category_universal_d_Option as Option,\n      ecomV1Category_universal_d_PollSettings as PollSettings,\n      ecomV1Category_universal_d_PollLayoutType as PollLayoutType,\n      ecomV1Category_universal_d_PollLayoutDirection as PollLayoutDirection,\n      ecomV1Category_universal_d_PollLayout as PollLayout,\n      ecomV1Category_universal_d_OptionLayout as OptionLayout,\n      ecomV1Category_universal_d_BackgroundType as BackgroundType,\n      ecomV1Category_universal_d_Gradient as Gradient,\n      ecomV1Category_universal_d_Background as Background,\n      ecomV1Category_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      ecomV1Category_universal_d_PollDesign as PollDesign,\n      ecomV1Category_universal_d_OptionDesign as OptionDesign,\n      ecomV1Category_universal_d_Poll as Poll,\n      ecomV1Category_universal_d_PollDataLayout as PollDataLayout,\n      ecomV1Category_universal_d_Design as Design,\n      ecomV1Category_universal_d_TextData as TextData,\n      ecomV1Category_universal_d_Decoration as Decoration,\n      ecomV1Category_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      ecomV1Category_universal_d_DecorationType as DecorationType,\n      ecomV1Category_universal_d_AnchorData as AnchorData,\n      ecomV1Category_universal_d_ColorData as ColorData,\n      ecomV1Category_universal_d_LinkData as LinkData,\n      ecomV1Category_universal_d_MentionData as MentionData,\n      ecomV1Category_universal_d_FontSizeData as FontSizeData,\n      ecomV1Category_universal_d_FontType as FontType,\n      ecomV1Category_universal_d_AppEmbedData as AppEmbedData,\n      ecomV1Category_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      ecomV1Category_universal_d_AppType as AppType,\n      ecomV1Category_universal_d_BookingData as BookingData,\n      ecomV1Category_universal_d_EventData as EventData,\n      ecomV1Category_universal_d_VideoData as VideoData,\n      ecomV1Category_universal_d_PlaybackOptions as PlaybackOptions,\n      ecomV1Category_universal_d_EmbedData as EmbedData,\n      ecomV1Category_universal_d_Oembed as Oembed,\n      ecomV1Category_universal_d_CollapsibleListData as CollapsibleListData,\n      ecomV1Category_universal_d_InitialExpandedItems as InitialExpandedItems,\n      ecomV1Category_universal_d_Direction as Direction,\n      ecomV1Category_universal_d_TableData as TableData,\n      ecomV1Category_universal_d_Dimensions as Dimensions,\n      ecomV1Category_universal_d_TableCellData as TableCellData,\n      ecomV1Category_universal_d_VerticalAlignment as VerticalAlignment,\n      ecomV1Category_universal_d_CellStyle as CellStyle,\n      ecomV1Category_universal_d_BorderColors as BorderColors,\n      ecomV1Category_universal_d_NullValue as NullValue,\n      ecomV1Category_universal_d_ListValue as ListValue,\n      ecomV1Category_universal_d_AudioData as AudioData,\n      ecomV1Category_universal_d_OrderedListData as OrderedListData,\n      ecomV1Category_universal_d_BulletedListData as BulletedListData,\n      ecomV1Category_universal_d_BlockquoteData as BlockquoteData,\n      ecomV1Category_universal_d_Metadata as Metadata,\n      ecomV1Category_universal_d_DocumentStyle as DocumentStyle,\n      ecomV1Category_universal_d_TextNodeStyle as TextNodeStyle,\n      ecomV1Category_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      ecomV1Category_universal_d_CreateCategoryResponse as CreateCategoryResponse,\n      ecomV1Category_universal_d_GetCategoryRequest as GetCategoryRequest,\n      ecomV1Category_universal_d_GetCategoryResponse as GetCategoryResponse,\n      ecomV1Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      ecomV1Category_universal_d_UpdateCategoryResponse as UpdateCategoryResponse,\n      ecomV1Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      ecomV1Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      ecomV1Category_universal_d_QueryCategoriesRequest as QueryCategoriesRequest,\n      ecomV1Category_universal_d_QueryV2 as QueryV2,\n      ecomV1Category_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      ecomV1Category_universal_d_Sorting as Sorting,\n      ecomV1Category_universal_d_SortOrder as SortOrder,\n      ecomV1Category_universal_d_Paging as Paging,\n      ecomV1Category_universal_d_CursorPaging as CursorPaging,\n      ecomV1Category_universal_d_QueryCategoriesResponse as QueryCategoriesResponse,\n      ecomV1Category_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      ecomV1Category_universal_d_Cursors as Cursors,\n      ecomV1Category_universal_d_PlaceCategoryInParentCategoryRequest as PlaceCategoryInParentCategoryRequest,\n      ecomV1Category_universal_d_PlaceCategoryInParentCategoryRequestPosition as PlaceCategoryInParentCategoryRequestPosition,\n      ecomV1Category_universal_d_PlaceCategoryInParentCategoryResponse as PlaceCategoryInParentCategoryResponse,\n      ecomV1Category_universal_d_BulkCreateCategoriesRequest as BulkCreateCategoriesRequest,\n      ecomV1Category_universal_d_BulkCreateCategoriesResponse as BulkCreateCategoriesResponse,\n      ecomV1Category_universal_d_BulkCategoriesResult as BulkCategoriesResult,\n      ecomV1Category_universal_d_ItemMetadata as ItemMetadata,\n      ecomV1Category_universal_d_ApplicationError as ApplicationError,\n      ecomV1Category_universal_d_BulkActionMetadata as BulkActionMetadata,\n      ecomV1Category_universal_d_BulkSetVisibilityRequest as BulkSetVisibilityRequest,\n      ecomV1Category_universal_d_BulkSetVisibilityResponse as BulkSetVisibilityResponse,\n      ecomV1Category_universal_d_BulkSetVisibilityByFilterRequest as BulkSetVisibilityByFilterRequest,\n      ecomV1Category_universal_d_BulkSetVisibilityByFilterResponse as BulkSetVisibilityByFilterResponse,\n      ecomV1Category_universal_d_BulkDeleteCategoriesRequest as BulkDeleteCategoriesRequest,\n      ecomV1Category_universal_d_BulkDeleteCategoriesResponse as BulkDeleteCategoriesResponse,\n      ecomV1Category_universal_d_BulkDeleteCategoriesByFilterRequest as BulkDeleteCategoriesByFilterRequest,\n      ecomV1Category_universal_d_BulkDeleteCategoriesByFilterResponse as BulkDeleteCategoriesByFilterResponse,\n      ecomV1Category_universal_d_AddItemsToCategoryRequest as AddItemsToCategoryRequest,\n      ecomV1Category_universal_d_ItemReference as ItemReference,\n      ecomV1Category_universal_d_AddItemsToCategoryResponse as AddItemsToCategoryResponse,\n      ecomV1Category_universal_d_BulkItemsToCategoryResult as BulkItemsToCategoryResult,\n      ecomV1Category_universal_d_ItemReferenceMetadata as ItemReferenceMetadata,\n      ecomV1Category_universal_d_ItemAddedToCategory as ItemAddedToCategory,\n      ecomV1Category_universal_d_AddItemToCategoriesRequest as AddItemToCategoriesRequest,\n      ecomV1Category_universal_d_AddItemToCategoriesResponse as AddItemToCategoriesResponse,\n      ecomV1Category_universal_d_BulkItemToCategoriesResult as BulkItemToCategoriesResult,\n      ecomV1Category_universal_d_RemoveItemsFromCategoryRequest as RemoveItemsFromCategoryRequest,\n      ecomV1Category_universal_d_RemoveItemsFromCategoryResponse as RemoveItemsFromCategoryResponse,\n      ecomV1Category_universal_d_ItemRemovedFromCategory as ItemRemovedFromCategory,\n      ecomV1Category_universal_d_RemoveItemFromCategoriesRequest as RemoveItemFromCategoriesRequest,\n      ecomV1Category_universal_d_RemoveItemFromCategoriesResponse as RemoveItemFromCategoriesResponse,\n      ecomV1Category_universal_d_ListItemsInCategoryRequest as ListItemsInCategoryRequest,\n      ecomV1Category_universal_d_ListItemsInCategoryResponse as ListItemsInCategoryResponse,\n      ecomV1Category_universal_d_MoveItemInCategoryRequest as MoveItemInCategoryRequest,\n      ecomV1Category_universal_d_Position as Position,\n      ecomV1Category_universal_d_MoveItemInCategoryResponse as MoveItemInCategoryResponse,\n      ecomV1Category_universal_d_PutCategoriesTreeRequest as PutCategoriesTreeRequest,\n      ecomV1Category_universal_d_PutCategoriesTreeResponse as PutCategoriesTreeResponse,\n      ecomV1Category_universal_d_GetCategoriesTreeRequest as GetCategoriesTreeRequest,\n      ecomV1Category_universal_d_GetCategoriesTreeResponse as GetCategoriesTreeResponse,\n      ecomV1Category_universal_d_CategoryTreeNode as CategoryTreeNode,\n      ecomV1Category_universal_d_DomainEvent as DomainEvent,\n      ecomV1Category_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      ecomV1Category_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      ecomV1Category_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      ecomV1Category_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      ecomV1Category_universal_d_ActionEvent as ActionEvent,\n      ecomV1Category_universal_d_ExtendedFieldsUpdatedEvent as ExtendedFieldsUpdatedEvent,\n      ecomV1Category_universal_d_Empty as Empty,\n      ecomV1Category_universal_d_createCategory as createCategory,\n      ecomV1Category_universal_d_getCategory as getCategory,\n      ecomV1Category_universal_d_updateCategory as updateCategory,\n      ecomV1Category_universal_d_UpdateCategory as UpdateCategory,\n      ecomV1Category_universal_d_UpdateCategoryOptions as UpdateCategoryOptions,\n      ecomV1Category_universal_d_deleteCategory as deleteCategory,\n      ecomV1Category_universal_d_queryCategories as queryCategories,\n      ecomV1Category_universal_d_CategoriesQueryResult as CategoriesQueryResult,\n      ecomV1Category_universal_d_CategoriesQueryBuilder as CategoriesQueryBuilder,\n      ecomV1Category_universal_d_placeCategoryInParentCategory as placeCategoryInParentCategory,\n      ecomV1Category_universal_d_PlaceCategoryInParentCategoryOptions as PlaceCategoryInParentCategoryOptions,\n      ecomV1Category_universal_d_bulkCreateCategories as bulkCreateCategories,\n      ecomV1Category_universal_d_BulkCreateCategoriesOptions as BulkCreateCategoriesOptions,\n      ecomV1Category_universal_d_bulkSetVisibility as bulkSetVisibility,\n      ecomV1Category_universal_d_BulkSetVisibilityOptions as BulkSetVisibilityOptions,\n      ecomV1Category_universal_d_bulkSetVisibilityByFilter as bulkSetVisibilityByFilter,\n      ecomV1Category_universal_d_bulkDeleteCategories as bulkDeleteCategories,\n      ecomV1Category_universal_d_bulkDeleteCategoriesByFilter as bulkDeleteCategoriesByFilter,\n      ecomV1Category_universal_d_addItemsToCategory as addItemsToCategory,\n      ecomV1Category_universal_d_AddItemsToCategoryOptions as AddItemsToCategoryOptions,\n      ecomV1Category_universal_d_addItemToCategories as addItemToCategories,\n      ecomV1Category_universal_d_AddItemToCategoriesOptions as AddItemToCategoriesOptions,\n      ecomV1Category_universal_d_removeItemsFromCategory as removeItemsFromCategory,\n      ecomV1Category_universal_d_RemoveItemsFromCategoryOptions as RemoveItemsFromCategoryOptions,\n      ecomV1Category_universal_d_removeItemFromCategories as removeItemFromCategories,\n      ecomV1Category_universal_d_RemoveItemFromCategoriesOptions as RemoveItemFromCategoriesOptions,\n      ecomV1Category_universal_d_listItemsInCategory as listItemsInCategory,\n      ecomV1Category_universal_d_ListItemsInCategoryOptions as ListItemsInCategoryOptions,\n      ecomV1Category_universal_d_moveItemInCategory as moveItemInCategory,\n      ecomV1Category_universal_d_MoveItemInCategoryOptions as MoveItemInCategoryOptions,\n      ecomV1Category_universal_d_putCategoriesTree as putCategoriesTree,\n      ecomV1Category_universal_d_getCategoriesTree as getCategoriesTree,\n    };\n  }\n  \n  export { ecomV1Category_universal_d as category };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-events.v2.d.ts",
      "content": "declare module \"wix-events.v2\" {\n  interface EventGuest {\n      /** Guest ID. */\n      _id?: string | null;\n      /** Event ID. */\n      eventId?: string | null;\n      /** RSVP ID. <br/> <br/> **Note:** Only applicable when `guestType` is `RSVP`. */\n      rsvpId?: string | null;\n      /** Order number. <br/> <br/> **Note:** Only applicable when `guestType` is `BUYER` or `TICKET_HOLDER`. */\n      orderNumber?: string | null;\n      /** Ticket number. <br/> <br/> **Note:** Only applicable when `guestType` is `TICKET_HOLDER`. */\n      ticketNumber?: string | null;\n      /** List of names, numbers, and definition IDs for each ticket. */\n      tickets?: TicketDetails$2[];\n      /** Guest's contact ID. See [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details. */\n      contactId?: string | null;\n      /** Guest details. <br/> <br/> Returned only when the `guestDetails` fieldset is sent in the request. */\n      guestDetails?: GuestDetails$2;\n      /** Attendance status. The attendance status updates based on status values in an RSVP object (for RSVP events) or in an Order object (for ticketed events). For more information read [this article](https://dev.wix.com/docs/rest/business-solutions/events/event-guests/guest-attendance-status-mapping). <br/> <br/> **Note:** For `guestType` `BUYER` or `TICKET_HOLDER` the `IN_WAITLIST` value is not applicable. */\n      attendanceStatus?: AttendanceStatus;\n      /** Secondary language code in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. Used when the event ticket should be translated into another language. */\n      secondaryLanguageCode?: string | null;\n      /** Date and time the guest was created in `yyyy-mm-ddThh:mm:sssZ` format. */\n      _createdDate?: Date | null;\n      /** Date and time the guest was updated in `yyyy-mm-ddThh:mm:sssZ` format. */\n      _updatedDate?: Date | null;\n      /** Date and time of guest's latest attendance status update. */\n      attendanceStatusUpdatedDate?: Date | null;\n      /** Site member ID. */\n      memberId?: string | null;\n      /** Guest type. */\n      guestType?: GuestType;\n      /** Locale in [IETF BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) format. Used when the event date and time on a ticket should be formatted into another locale. */\n      locale?: string | null;\n      /**\n       * Number of total guests in an event (registered guests + additional ones).\n       * @readonly\n       */\n      totalGuests?: number | null;\n      /**\n       * Revision number, which increments by 1 each time the guest is updated.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface TicketDetails$2 {\n      /** Ticket number. */\n      number?: string;\n      /** Ticket definition ID. */\n      definitionId?: string | null;\n      /** Ticket name. */\n      name?: string | null;\n      /**\n       * Ticket guest details.\n       * @internal\n       */\n      guestDetails?: TicketGuestDetails;\n  }\n  interface TicketGuestDetails {\n      /** The login details for the guest to access the online conference event. */\n      onlineConferencingLogin?: OnlineConferencingLogin$5;\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n  }\n  interface OnlineConferencingLogin$5 {\n      /**\n       * Link URL to the online conference.\n       * @readonly\n       */\n      link?: string;\n      /**\n       * Password for the online conference.\n       * @readonly\n       */\n      password?: string | null;\n  }\n  interface GuestDetails$2 {\n      /** Email. */\n      email?: string | null;\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Form response. */\n      formResponse?: FormResponse$5;\n      /** Whether the guest has checked into the event. */\n      checkedIn?: boolean;\n      /** The login details for the guest to access the online conference event. */\n      onlineConferencingLogin?: OnlineConferencingLogin$5;\n      /** Phone extracted from form response. If multiples phone inputs are present, first one is returned. */\n      phone?: string | null;\n      /** Address extracted from form response. If multiples address inputs are present, first one is returned. */\n      address?: string | null;\n  }\n  interface FormResponse$5 {\n      inputValues?: InputValue$5[];\n  }\n  interface InputValue$5 {\n      inputName?: string;\n      value?: string;\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date | null;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress$5;\n  }\n  interface FormattedAddress$5 {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: Address$a;\n  }\n  /** Physical address */\n  interface Address$a extends AddressStreetOneOf$a {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$a;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$a;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision$a[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$a {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$a;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$a {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$a {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$a {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$a;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails$5;\n  }\n  enum SubdivisionType$a {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails$5 {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  enum AttendanceStatus {\n      /** Not attending. */\n      NOT_ATTENDING = \"NOT_ATTENDING\",\n      /** Attending. */\n      ATTENDING = \"ATTENDING\",\n      /** In a waiting list. */\n      IN_WAITLIST = \"IN_WAITLIST\"\n  }\n  enum GuestType {\n      /** An invited guest, no ticket necessary. */\n      RSVP = \"RSVP\",\n      /** The guest who bought the ticket. */\n      BUYER = \"BUYER\",\n      /** The guest for whom the ticket was bought. */\n      TICKET_HOLDER = \"TICKET_HOLDER\"\n  }\n  interface GuestCountUpdated {\n      /** Guest. */\n      guest?: EventGuest;\n      /** Guest count updates. */\n      guestCountUpdates?: GuestCountUpdate[];\n  }\n  interface GuestCountUpdate {\n      /** Attendance status. */\n      attendanceStatus?: AttendanceStatus;\n      /** Total guest count change. */\n      totalGuestsDelta?: number;\n      /** Guest count change. */\n      countDelta?: number;\n  }\n  interface MemberEventStatusUpdated {\n      /** Event id. */\n      eventId?: string | null;\n      /** Member id. */\n      memberId?: string | null;\n      /** Member event status. */\n      status?: MemberEventStatusUpdatedEventType;\n  }\n  enum MemberEventStatusUpdatedEventType {\n      /**\n       * Triggered every time a guest with a specified member ID is added to the event.\n       * This event can also be triggered if an existing guest changed their member ID.\n       */\n      MEMBER_JOINED = \"MEMBER_JOINED\",\n      /**\n       * Triggered every time a guest with a specified member ID is removed from the event.\n       * This event can also be triggered if an existing guest changed their member ID.\n       */\n      MEMBER_LEFT = \"MEMBER_LEFT\",\n      /**\n       * Triggered every time a guest with a specified member ID whose status is `ATTENDING` is added to the event.\n       * This event can also be triggered if an existing guest changed their member ID or changed their status to `ATTENDING`.\n       */\n      ATTENDING_MEMBER_JOINED = \"ATTENDING_MEMBER_JOINED\",\n      /**\n       * Triggered when the last guest with a specified member ID is removed from the event or their status changes to `ATTENDING`.\n       * Once triggered there are no more attending guests with a specified member ID in the event.\n       * This event can also be triggered if the last existing guest changed their member ID or their status to `NOT_ATTENDING`.\n       */\n      LAST_ATTENDING_MEMBER_LEFT = \"LAST_ATTENDING_MEMBER_LEFT\"\n  }\n  interface ContactEventStatusUpdated {\n      /** Event id. */\n      eventId?: string | null;\n      /** Contact id. */\n      contactId?: string | null;\n      /** Contact event status. */\n      status?: EventType$5;\n  }\n  enum EventType$5 {\n      /**\n       * Triggered every time a guest with a specified contact ID is added to the event.\n       * This event can also be triggered if an existing guest changed their contact ID.\n       */\n      CONTACT_JOINED = \"CONTACT_JOINED\",\n      /**\n       * Triggered every time a guest with a specified contact ID is removed from the event.\n       * This event can also be triggered if an existing guest changed their contact ID.\n       */\n      CONTACT_LEFT = \"CONTACT_LEFT\",\n      /**\n       * Triggred when the last guest with a specified contact ID is removed from the event.\n       * Once triggered there are no more guests with a specified contact ID in the event.\n       * This event can also be triggered if the last existing guest changed their contact ID.\n       */\n      LAST_CONTACT_LEFT = \"LAST_CONTACT_LEFT\"\n  }\n  interface GuestCheckedIn {\n      /** Event guest */\n      guest?: EventGuest;\n      /** Event details */\n      eventDetails?: EventDetails$1;\n  }\n  interface EventDetails$1 {\n      /**\n       * Event title.\n       * @readonly\n       */\n      title?: string | null;\n      /**\n       * Event short description.\n       * @readonly\n       */\n      shortDescription?: string | null;\n      /**\n       * Event location.\n       * @readonly\n       */\n      location?: Location$7;\n      /**\n       * Event date  and time settings.\n       * @readonly\n       */\n      dateAndTimeSettings?: DateAndTimeSettings$2;\n      /**\n       * Event page URL components.\n       * @readonly\n       */\n      eventPageUrl?: string;\n      /**\n       * Event status.\n       * @readonly\n       */\n      status?: Status$8;\n  }\n  interface Location$7 {\n      /** Location name. This value is displayed instead of the address when the location is defined as TBD by setting the `locationTbd` property to `true`. */\n      name?: string | null;\n      /** Location type. */\n      type?: LocationType$7;\n      /** Exact location address. */\n      address?: CommonAddress$4;\n      /** Whether the event location is TBD. */\n      locationTbd?: boolean | null;\n  }\n  enum LocationType$7 {\n      /** Unknown location type. */\n      UNKNOWN_LOCATION = \"UNKNOWN_LOCATION\",\n      /** Event is on-site at a specific physical location. */\n      VENUE = \"VENUE\",\n      /** Event is online, such as a virtual video conference. */\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface CommonAddress$4 extends CommonAddressStreetOneOf$4 {\n      /** Street address. */\n      streetAddress?: CommonStreetAddress$4;\n      /** Primary address information (street and building number). */\n      addressLine1?: string | null;\n      /** 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip or postal code. */\n      postalCode?: string | null;\n      /** Secondary address information (suite or apartment number and room number). */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: CommonAddressLocation$4;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: CommonSubdivision$4[];\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf$4 {\n      /** Street address. */\n      streetAddress?: CommonStreetAddress$4;\n      /** Primary address information (street and building number). */\n      addressLine?: string | null;\n  }\n  interface CommonStreetAddress$4 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface CommonAddressLocation$4 {\n      /** Address latitude coordinates. */\n      latitude?: number | null;\n      /** Address longitude coordinates. */\n      longitude?: number | null;\n  }\n  interface CommonSubdivision$4 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionSubdivisionType$2;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionSubdivisionType$2 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface DateAndTimeSettings$2 {\n      /** Whether the event date and time are TBD. */\n      dateAndTimeTbd?: boolean | null;\n      /** Message that is displayed when time and date is TBD. */\n      dateAndTimeTbdMessage?: string | null;\n      /** Event start date. */\n      startDate?: Date | null;\n      /** Event end date. */\n      endDate?: Date | null;\n      /** Event time zone ID in the [TZ database](https://www.iana.org/time-zones) format. */\n      timeZoneId?: string | null;\n      /** Whether the end date is hidden in the formatted date and time. */\n      hideEndDate?: boolean | null;\n      /** Whether the time zone is displayed in the formatted schedule. */\n      showTimeZone?: boolean | null;\n      /**\n       * Repeating event status.\n       * @readonly\n       */\n      recurrenceStatus?: RecurrenceStatusStatus$2;\n      /** Event repetitions. */\n      recurringEvents?: Recurrences$7;\n      /** Formatted date and time settings. */\n      formatted?: Formatted$2;\n  }\n  enum RecurrenceStatusStatus$2 {\n      /** Unknown recurrance status. */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Event happens only once and can last multiple days. */\n      ONE_TIME = \"ONE_TIME\",\n      /** A series of events that repeat. */\n      RECURRING = \"RECURRING\",\n      /** Next event in a schedule of recurring events. */\n      RECURRING_UPCOMING = \"RECURRING_UPCOMING\",\n      /** Latest event that ended in a schedule of recurring events. */\n      RECURRING_RECENTLY_ENDED = \"RECURRING_RECENTLY_ENDED\",\n      /** Latest canceled event in a schedule of recurring events */\n      RECURRING_RECENTLY_CANCELED = \"RECURRING_RECENTLY_CANCELED\"\n  }\n  interface Recurrences$7 {\n      /** Individual event dates. */\n      individualEventDates?: Occurrence$7[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n  }\n  interface Occurrence$7 {\n      /** Event start date. */\n      startDate?: Date | null;\n      /** Event end date. */\n      endDate?: Date | null;\n      /** Event time zone ID in the [TZ database](https://www.iana.org/time-zones) format. */\n      timeZoneId?: string | null;\n      /** Whether the time zone is displayed in a formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  interface Formatted$2 {\n      /**\n       * Formatted date and time representation. <br>\n       * Example of formatting when an event lasts multiple days and is in the UTC time zone: `September 1, 2015 at 10:20 AM – September 5, 2015 at 12:14 PM`. <br>\n       * Example of formatting when an event lasts 1 day and is in the GMT+2 time zone: `February 1, 2018, 12:10 – 2:50 PM GMT+2`.\n       * @readonly\n       */\n      dateAndTime?: string | null;\n      /**\n       * Formatted start date of the event. Empty for TBD schedules.\n       * @readonly\n       */\n      startDate?: string | null;\n      /**\n       * Formatted start time of the event. Empty for TBD schedules.\n       * @readonly\n       */\n      startTime?: string | null;\n      /**\n       * Formatted end date of the event. Empty for TBD schedules or when the end date is hidden.\n       * @readonly\n       */\n      endDate?: string | null;\n      /**\n       * Formatted end time of the event. Empty for TBD schedules or when the end date is hidden.\n       * @readonly\n       */\n      endTime?: string | null;\n  }\n  enum Status$8 {\n      /** Unknown event status. */\n      UNKNOWN_EVENT_STATUS = \"UNKNOWN_EVENT_STATUS\",\n      /** Event is published and scheduled to start. */\n      UPCOMING = \"UPCOMING\",\n      /** Event has started. */\n      STARTED = \"STARTED\",\n      /** Event has ended. */\n      ENDED = \"ENDED\",\n      /** Event is canceled. */\n      CANCELED = \"CANCELED\",\n      /** Event is not public. */\n      DRAFT = \"DRAFT\"\n  }\n  interface NotifyGuestAction {\n      /** Event guest. */\n      guest?: EventGuest;\n      /** Task context. */\n      taskContext?: TaskContext;\n  }\n  interface TaskContext {\n      /** Task id. */\n      _id?: string | null;\n      /** Notify action type. */\n      type?: NotifyActionType;\n      /** Timing. Used for EVENT_STARTS */\n      timing?: Timing;\n      /** Event context. */\n      event?: EventDetails$1;\n      /** Order context. */\n      order?: OrderDetails;\n  }\n  enum NotifyActionType {\n      UNKNOWN = \"UNKNOWN\",\n      EMAIL = \"EMAIL\",\n      AUTOMATION_TRIGGER = \"AUTOMATION_TRIGGER\",\n      PUSH = \"PUSH\",\n      EVENT_CANCELED = \"EVENT_CANCELED\",\n      EVENT_STARTS = \"EVENT_STARTS\",\n      ORDER_CANCELED = \"ORDER_CANCELED\"\n  }\n  enum Timing {\n      /** Unknown event start time. */\n      UNKNOWN_TIMING = \"UNKNOWN_TIMING\",\n      /** Instant. */\n      NOW = \"NOW\",\n      /** 24 hours prior. */\n      STARTS_IN_1_DAY = \"STARTS_IN_1_DAY\",\n      /** 3 days prior. */\n      STARTS_IN_3_DAYS = \"STARTS_IN_3_DAYS\",\n      /** 7 days prior. */\n      STARTS_IN_1_WEEK = \"STARTS_IN_1_WEEK\",\n      /** 1 hour prior. */\n      STARTS_IN_1_HOUR = \"STARTS_IN_1_HOUR\",\n      /** 30 minutes prior. */\n      STARTS_IN_30_MINUTES = \"STARTS_IN_30_MINUTES\",\n      /** 2 hours prior. */\n      STARTS_IN_2_HOURS = \"STARTS_IN_2_HOURS\"\n  }\n  interface OrderDetails {\n      /** Order status */\n      orderStatus?: OrderStatus$3;\n      /** Invoice */\n      invoice?: Invoice$2;\n  }\n  enum OrderStatus$3 {\n      /** Order status not available for this request fieldset. */\n      NA_ORDER_STATUS = \"NA_ORDER_STATUS\",\n      /** Order is confirmed and payment isn't required. */\n      FREE = \"FREE\",\n      /** Order is paid for but the payment gateway has suspended the payment. */\n      PENDING = \"PENDING\",\n      /** Order is paid via a payment gateway. */\n      PAID = \"PAID\",\n      /** Order is confirmed but must be paid via offline payment. Status needs to be manually updated to `PAID`. */\n      OFFLINE_PENDING = \"OFFLINE_PENDING\",\n      /** Order is awaiting payment at the cashier. */\n      INITIATED = \"INITIATED\",\n      /** Order is canceled. */\n      CANCELED = \"CANCELED\",\n      /** Order payment is declined. */\n      DECLINED = \"DECLINED\",\n      /** Order payment is authorized. */\n      AUTHORIZED = \"AUTHORIZED\",\n      /** Order payment is voided. */\n      VOIDED = \"VOIDED\",\n      /** Order is partially paid with less than the total amount. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\"\n  }\n  interface Invoice$2 {\n      items?: Item$3[];\n      /**\n       * Total cart amount.\n       * @deprecated\n       */\n      total?: Money$8;\n      /** Discount applied to cart. */\n      discount?: Discount$2;\n      /** Tax applied to cart. */\n      tax?: Tax$2;\n      /** Total cart amount before discount, tax, and fees. */\n      subTotal?: Money$8;\n      /**\n       * Total amount of cart after discount, tax, and fees.\n       * Grand total is calculated in the following order:\n       * 1. Total prices of all items in the cart are calculated.\n       * 2. Discount is subtracted from the cart (if applicable).\n       * 3. Tax is added (if applicable).\n       * 4. Wix ticket service fee is added.\n       */\n      grandTotal?: Money$8;\n      /**\n       * Fees applied to the cart.\n       * @readonly\n       */\n      fees?: Fee$2[];\n      /** Total revenue, excluding fees. (Taxes and payment provider fees are not deducted). */\n      revenue?: Money$8;\n      /** URL to invoice preview. Returned only if order is paid. */\n      previewUrl?: string | null;\n  }\n  interface Item$3 {\n      /** Unique line item ID. */\n      _id?: string;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item name. */\n      name?: string;\n      /** Line item price. */\n      price?: Money$8;\n      /** Total price for line items. Always equal to price * quantity. */\n      total?: Money$8;\n      /** Discount applied to the line item. */\n      discount?: Discount$2;\n      /** Tax applied to the item. */\n      tax?: Tax$2;\n      /**\n       * Fees applied to the item.\n       * @readonly\n       */\n      fees?: Fee$2[];\n  }\n  interface Money$8 {\n      /**\n       * *Deprecated:** Use `value` instead.\n       * @deprecated\n       */\n      amount?: string;\n      /** ISO 4217 format of the currency e.g., `USD`. */\n      currency?: string;\n      /** 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. */\n      value?: string | null;\n  }\n  interface Discount$2 {\n      /** Total discount amount. */\n      amount?: Money$8;\n      /** Total charge after applied discount. */\n      afterDiscount?: Money$8;\n      /**\n       * Discount coupon code.\n       * @deprecated\n       */\n      code?: string;\n      /**\n       * Discount coupon name.\n       * @deprecated\n       */\n      name?: string;\n      /**\n       * Discount coupon ID.\n       * @deprecated\n       */\n      couponId?: string;\n      /** Discount items. */\n      discounts?: DiscountItem$2[];\n  }\n  interface DiscountItem$2 extends DiscountItemDiscountOneOf$2 {\n      /** Coupon discount. */\n      coupon?: CouponDiscount$2;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount$2;\n      /** Total discount amount. */\n      amount?: Money$8;\n  }\n  /** @oneof */\n  interface DiscountItemDiscountOneOf$2 {\n      /** Coupon discount. */\n      coupon?: CouponDiscount$2;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount$2;\n  }\n  interface CouponDiscount$2 {\n      /** Discount coupon name. */\n      name?: string;\n      /** Discount coupon code. */\n      code?: string;\n      /** Discount coupon ID. */\n      couponId?: string;\n  }\n  interface PaidPlanDiscount$2 extends PaidPlanDiscountDiscountOneOf$2 {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount$2;\n      /** Name of pricing plan. */\n      name?: string;\n  }\n  /** @oneof */\n  interface PaidPlanDiscountDiscountOneOf$2 {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount$2;\n  }\n  interface PercentDiscount$2 {\n      /** Percent rate. */\n      rate?: string;\n      /** Number of discounted tickets. */\n      quantityDiscounted?: number;\n  }\n  interface Tax$2 {\n      /** Tax type. */\n      type?: TaxType$6;\n      /**\n       * Tax name.\n       * @readonly\n       */\n      name?: string;\n      /** Tax rate. */\n      rate?: string;\n      /** Taxable amount. */\n      taxable?: Money$8;\n      /** Total tax amount. */\n      amount?: Money$8;\n  }\n  enum TaxType$6 {\n      /** Tax is included in the ticket price. */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout. */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout. */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Fee$2 {\n      /** Fee identifier. */\n      name?: FeeName$2;\n      /** How fee is calculated. */\n      type?: FeeType$3;\n      /**\n       * Fee rate.\n       * @readonly\n       */\n      rate?: string;\n      /** Total amount of fee charges. */\n      amount?: Money$8;\n  }\n  enum FeeName$2 {\n      /** Wix ticket service fee charges applied to the line item. */\n      WIX_FEE = \"WIX_FEE\"\n  }\n  enum FeeType$3 {\n      /** Fee is added to the ticket price at checkout. */\n      FEE_ADDED = \"FEE_ADDED\",\n      /** Seller absorbs the fee. It is deducted from the ticket price. */\n      FEE_INCLUDED = \"FEE_INCLUDED\",\n      /** Fee is added to the ticket price at checkout. */\n      FEE_ADDED_AT_CHECKOUT = \"FEE_ADDED_AT_CHECKOUT\"\n  }\n  interface GuestEventCanceled {\n      /** Event guest. */\n      guest?: EventGuest;\n      /** Event context. */\n      event?: EventDetails$1;\n  }\n  interface GuestEventStarts {\n      /** Event guest. */\n      guest?: EventGuest;\n      /** Event context. */\n      event?: EventDetails$1;\n      /** Timing */\n      timing?: Timing;\n  }\n  interface GuestOrderCanceled {\n      /** Event guest. */\n      guest?: EventGuest;\n      /** Event context. */\n      event?: EventDetails$1;\n      /** Order context. */\n      order?: OrderDetails;\n  }\n  interface DomainEvent$9 extends DomainEventBodyOneOf$9 {\n      createdEvent?: EntityCreatedEvent$9;\n      updatedEvent?: EntityUpdatedEvent$9;\n      deletedEvent?: EntityDeletedEvent$9;\n      actionEvent?: ActionEvent$9;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$9 {\n      createdEvent?: EntityCreatedEvent$9;\n      updatedEvent?: EntityUpdatedEvent$9;\n      deletedEvent?: EntityDeletedEvent$9;\n      actionEvent?: ActionEvent$9;\n  }\n  interface EntityCreatedEvent$9 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$9;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$9 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$9 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$9 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$9 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$d {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$d;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$d extends IdentificationDataIdOneOf$d {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$d;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$d {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$d {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface QueryEventGuestsRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query: QueryV2$8;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFieldsEnumRequestedFields[];\n  }\n  interface QueryV2$8 extends QueryV2PagingMethodOneOf$8 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$9;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$7;\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\", \"fieldName2\":{\"$operator\":\"value2\"} }`. <br/> <br/> **Example:** <br/> `\"filter\" : { \"eventId\": \"sd3f-jhds-4fs77\", \"ticketNumber\": {\"$startsWith\":\"478\"} }` <br/> <br/> See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort) for more information. */\n      filter?: Record<string, any> | null;\n      /** Sort object in the following format: <br/> `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]` <br/> <br/> **Example:** <br/> `[{\"fieldName\":\"createdDate\",\"direction\":\"DESC\"}]` <br/> <br/> See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort) for more information. */\n      sort?: Sorting$a[];\n      /**\n       * Currently the only supported fieldset is `guestDetails`. The `WIX_EVENTS.READ_GUESTS_DETAILS` permission is required to access the guest details. <br/> <br/> See [field projection](https://dev.wix.com/api/rest/getting-started/field-projection) for more information.\n       * @deprecated Currently the only supported fieldset is `guestDetails`. The `WIX_EVENTS.READ_GUESTS_DETAILS` permission is required to access the guest details. <br/> <br/> See [field projection](https://dev.wix.com/api/rest/getting-started/field-projection) for more information.\n       * @replacedBy fields\n       * @targetRemovalDate 2024-06-30\n       */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$8 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$9;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$7;\n  }\n  interface Sorting$a {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$a;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$a {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$9 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$7 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  enum RequestedFieldsEnumRequestedFields {\n      /** Unknown requested field. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Returns `guestDetails` and `tickets`. */\n      GUEST_DETAILS = \"GUEST_DETAILS\",\n      /** Returns `totalGuests`. */\n      GUEST_TOTAL = \"GUEST_TOTAL\"\n  }\n  interface QueryEventGuestsResponse {\n      /** List of guests. */\n      guests?: EventGuest[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$9;\n  }\n  interface PagingMetadataV2$9 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$a;\n  }\n  interface Cursors$a {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface StreamEventGuestsRequest {\n      /** Filter. */\n      filter?: Record<string, any> | null;\n      /** Task context. */\n      taskContext?: TaskContext;\n  }\n  interface Empty$6 {\n  }\n  interface SecondaryLanguagesRequest {\n      /** Guest event id. */\n      eventId?: string;\n  }\n  interface SecondaryLanguagesResponse {\n      /** Aggregated guests secondary languages. */\n      secondaryLanguages?: string[];\n      /** Aggregated guests languages. */\n      languages?: Language[];\n  }\n  interface Language {\n      /** Guest language. */\n      language?: string | null;\n      /** Guest locale. */\n      locale?: string | null;\n  }\n  interface RsvpCreated$2 {\n      /** RSVP created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when RSVP created */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /**\n       * Locale in which Rsvp was created.\n       * @internal\n       */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$5;\n      /** RSVP response status. */\n      status?: RsvpStatus$3;\n      /** List of all guests. */\n      guests?: Guest$4[];\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$5;\n  }\n  enum RsvpStatus$3 {\n      YES = \"YES\",\n      NO = \"NO\",\n      WAITING = \"WAITING\"\n  }\n  interface Guest$4 {\n      /** Index in the RSVP guest list. */\n      index?: number;\n      /** Guest full name. */\n      fullName?: string;\n      /** Guest check-in. */\n      checkIn?: CheckIn$4;\n      /** Unique guest ID per RSVP. */\n      _id?: number;\n  }\n  interface CheckIn$4 {\n      /** Time of check-in */\n      created?: Date | null;\n  }\n  interface RsvpUpdated$2 {\n      /** RSVP updated timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when RSVP created */\n      language?: string | null;\n      /** Locale in which Rsvp was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** RSVP created timestamp. */\n      created?: Date | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$5;\n      /** RSVP response status. */\n      status?: RsvpStatus$3;\n      /** List of the guests. */\n      guests?: Guest$4[];\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$5;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n  }\n  interface RsvpDeleted$1 {\n      /** RSVP deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** Whether RSVP was anonymized by GDPR delete. */\n      anonymized?: boolean;\n  }\n  interface OrderConfirmed$2 {\n      /** Order confirmation timestamp in ISO UTC. */\n      timestamp?: Date | null;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp\n       * @readonly\n       */\n      created?: Date | null;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$5;\n      /** Order status. */\n      status?: OrderStatus$3;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets (generated after payment). */\n      tickets?: Ticket$3[];\n      /** Invoice. */\n      invoice?: Invoice$2;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  interface Ticket$3 {\n      /** Unique issued ticket number. */\n      ticketNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn$4;\n      /** Ticket price. */\n      price?: Money$8;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Contact ID associated with this ticket. */\n      contactId?: string | null;\n      /** Whether ticket is confirmed */\n      confirmed?: boolean;\n      /** Member ID associated with this ticket. */\n      memberId?: string | null;\n      /** Ticket form response (only assigned tickets contain separate forms). */\n      form?: FormResponse$5;\n      /** Ticket name. */\n      ticketName?: string;\n      /** Anonymized tickets no longer contain personally identifiable information (PII). */\n      anonymized?: boolean;\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$5;\n  }\n  interface OrderUpdated$2 {\n      /** Order updated timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date | null;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$5;\n      /** Whether order is confirmed - occurs once payment gateway processes the payment and funds reach merchant's account. */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus$3;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets generated after payment. */\n      tickets?: Ticket$3[];\n      /** Whether order was archived and excluded from results. */\n      archived?: boolean;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n  }\n  interface OrderDeleted$1 {\n      /** Order deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date | null;\n      /** Whether order was anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /** Order type. */\n      orderType?: OrderType$1;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n      /** Tickets generated after payment. */\n      tickets?: Ticket$3[];\n  }\n  enum OrderType$1 {\n      /** Buyer form is used for all tickets. */\n      UNASSIGNED_TICKETS = \"UNASSIGNED_TICKETS\",\n      /** Each order ticket has its own form. */\n      ASSIGNED_TICKETS = \"ASSIGNED_TICKETS\"\n  }\n  interface EventDeleted$5 {\n      /** Event deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /**\n       * Event categories.\n       * @internal\n       */\n      categories?: string[];\n  }\n  interface Task {\n      key?: TaskKey;\n      executeAt?: Date | null;\n      payload?: string | null;\n  }\n  interface TaskKey {\n      appId?: string;\n      instanceId?: string;\n      subjectId?: string | null;\n  }\n  interface ListGuestListPreviewsRequest {\n      /** Event ids. */\n      eventIds: string[];\n      /** Cursor paging. */\n      cursorPaging?: CursorPaging$7;\n      /** Requested fields. */\n      fields?: RequestedFields$3[];\n  }\n  enum RequestedFields$3 {\n      /** Unknown requested field. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Member guests. */\n      MEMBER_GUESTS = \"MEMBER_GUESTS\",\n      /** Waitlist count. */\n      WAITLIST_COUNT = \"WAITLIST_COUNT\"\n  }\n  interface ListGuestListPreviewsResponse {\n      /** List of guests. */\n      previews?: GuestListPreview[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$9;\n  }\n  interface GuestListPreview {\n      /** Event id. */\n      eventId?: string;\n      /** Latest attending members. */\n      latestAttendingMembers?: EventGuests$1;\n      /** Attending guests count. */\n      attending?: GuestCount;\n      /** Waiting guests count. */\n      inWaitlist?: GuestCount;\n      /** Not attending guests count. */\n      notAttending?: GuestCount;\n  }\n  interface EventGuests$1 {\n      guests?: EventGuest[];\n  }\n  interface GuestCount {\n      /** Total guest count. For Rsvp Event every RSVP guest and additional guest count, for Ticketed Event count of TICKET_HOLDER */\n      totalEventGuests?: number;\n      /** EventGuest count (RSVP, TICKET_HOLDER, BUYER); */\n      count?: number;\n  }\n  interface UpdateGuestRequest {\n      /** Updated guest */\n      guest?: EventGuest;\n      /** Guest revision */\n      revision?: string | null;\n  }\n  interface UpdateGuestResponse {\n      /** Updated guest */\n      guest?: EventGuest;\n  }\n  /**\n   * Creates a query to retrieve a list of guests.\n   *\n   *\n   * The `queryGuests()` function builds a query to retrieve a list of guests and returns a [GuestsQueryBuilder](https://www.wix.com/velo/reference/wix-events-v2/guests/guestsquerybuilder) object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `GuestsQueryBuilder` functions onto the query. `GuestsQueryBuilder` functions enable you to sort, filter, and control the results that `queryGuests.find()` returns.\n   *\n   * The query runs with the following `GuestsQueryBuilder` defaults that you can override:\n   *\n   * - [`skip(0)`](https://www.wix.com/velo/reference/wix-events-v2/guests/guestsquerybuilder/skipto)\n   * - [`limit(50)`](https://www.wix.com/velo/reference/wix-events-v2/guests/guestsquerybuilder/limit)\n   * - [`descending(\"_createdDate\")`](https://www.wix.com/velo/reference/wix-events-v2/guests/guestsquerybuilder/descending)\n   *\n   * The functions that are chained to `queryGuests()` are applied in the order they are called. For example, if you apply `ascending ('_createdDate')` and then `descending ('_updatedDate')`, the results are sorted first by the created date and then, if there are multiple results with the same date, the items are sorted by the updated date.\n   *\n   * The table below shows which `GuestsQueryBuilder` functions are supported for `queryGuests()`. You can only use one filter function for each property. Only the first filter will work if a property is used in more than one filter.\n   * @public\n   * @permissionId WIX_EVENTS.READ_GUESTS\n   * @adminMethod\n   */\n  function queryGuests(options?: QueryEventGuestsOptions): GuestsQueryBuilder;\n  interface QueryEventGuestsOptions {\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFieldsEnumRequestedFields[] | undefined;\n  }\n  interface QueryCursorResult$7 {\n      cursors: Cursors$a;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface GuestsQueryResult extends QueryCursorResult$7 {\n      items: EventGuest[];\n      query: GuestsQueryBuilder;\n      next: () => Promise<GuestsQueryResult>;\n      prev: () => Promise<GuestsQueryResult>;\n  }\n  interface GuestsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'eventId' | 'rsvpId' | 'orderNumber' | 'ticketNumber' | 'contactId' | 'guestDetails.checkedIn' | 'attendanceStatus' | 'secondaryLanguageCode' | '_createdDate' | '_updatedDate' | 'attendanceStatusUpdatedDate' | 'memberId' | 'guestType', value: any) => GuestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'eventId' | 'rsvpId' | 'orderNumber' | 'ticketNumber' | 'contactId' | 'guestDetails.checkedIn' | 'attendanceStatus' | 'secondaryLanguageCode' | '_createdDate' | '_updatedDate' | 'attendanceStatusUpdatedDate' | 'memberId' | 'guestType', value: any) => GuestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate' | 'attendanceStatusUpdatedDate', value: any) => GuestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate' | 'attendanceStatusUpdatedDate', value: any) => GuestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate' | 'attendanceStatusUpdatedDate', value: any) => GuestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate' | 'attendanceStatusUpdatedDate', value: any) => GuestsQueryBuilder;\n      in: (propertyName: '_id' | 'eventId' | 'rsvpId' | 'orderNumber' | 'ticketNumber' | 'contactId' | 'attendanceStatus' | 'secondaryLanguageCode' | '_createdDate' | '_updatedDate' | 'attendanceStatusUpdatedDate' | 'memberId' | 'guestType', value: any) => GuestsQueryBuilder;\n      exists: (propertyName: '_id' | 'eventId' | 'rsvpId' | 'orderNumber' | 'ticketNumber' | 'tickets' | 'contactId' | 'guestDetails.checkedIn' | 'secondaryLanguageCode' | '_createdDate' | '_updatedDate' | 'attendanceStatusUpdatedDate' | 'memberId', value: boolean) => GuestsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'attendanceStatusUpdatedDate'>) => GuestsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'attendanceStatusUpdatedDate'>) => GuestsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => GuestsQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => GuestsQueryBuilder;\n      find: () => Promise<GuestsQueryResult>;\n  }\n  /**\n   * Returns a list of guest list summaries per event.\n   * @param eventIds - Event ids.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField eventIds\n   * @permissionId WIX_EVENTS.READ_GUESTS\n   * @adminMethod\n   */\n  function listGuestListPreviews(eventIds: string[], options?: ListGuestListPreviewsOptions): Promise<ListGuestListPreviewsResponse>;\n  interface ListGuestListPreviewsOptions {\n      /** Cursor paging. */\n      cursorPaging?: CursorPaging$7;\n      /** Requested fields. */\n      fields?: RequestedFields$3[];\n  }\n  \n  type eventsGuestsV1Guest_universal_d_EventGuest = EventGuest;\n  type eventsGuestsV1Guest_universal_d_TicketGuestDetails = TicketGuestDetails;\n  type eventsGuestsV1Guest_universal_d_AttendanceStatus = AttendanceStatus;\n  const eventsGuestsV1Guest_universal_d_AttendanceStatus: typeof AttendanceStatus;\n  type eventsGuestsV1Guest_universal_d_GuestType = GuestType;\n  const eventsGuestsV1Guest_universal_d_GuestType: typeof GuestType;\n  type eventsGuestsV1Guest_universal_d_GuestCountUpdated = GuestCountUpdated;\n  type eventsGuestsV1Guest_universal_d_GuestCountUpdate = GuestCountUpdate;\n  type eventsGuestsV1Guest_universal_d_MemberEventStatusUpdated = MemberEventStatusUpdated;\n  type eventsGuestsV1Guest_universal_d_MemberEventStatusUpdatedEventType = MemberEventStatusUpdatedEventType;\n  const eventsGuestsV1Guest_universal_d_MemberEventStatusUpdatedEventType: typeof MemberEventStatusUpdatedEventType;\n  type eventsGuestsV1Guest_universal_d_ContactEventStatusUpdated = ContactEventStatusUpdated;\n  type eventsGuestsV1Guest_universal_d_GuestCheckedIn = GuestCheckedIn;\n  type eventsGuestsV1Guest_universal_d_NotifyGuestAction = NotifyGuestAction;\n  type eventsGuestsV1Guest_universal_d_TaskContext = TaskContext;\n  type eventsGuestsV1Guest_universal_d_NotifyActionType = NotifyActionType;\n  const eventsGuestsV1Guest_universal_d_NotifyActionType: typeof NotifyActionType;\n  type eventsGuestsV1Guest_universal_d_Timing = Timing;\n  const eventsGuestsV1Guest_universal_d_Timing: typeof Timing;\n  type eventsGuestsV1Guest_universal_d_OrderDetails = OrderDetails;\n  type eventsGuestsV1Guest_universal_d_GuestEventCanceled = GuestEventCanceled;\n  type eventsGuestsV1Guest_universal_d_GuestEventStarts = GuestEventStarts;\n  type eventsGuestsV1Guest_universal_d_GuestOrderCanceled = GuestOrderCanceled;\n  type eventsGuestsV1Guest_universal_d_QueryEventGuestsRequest = QueryEventGuestsRequest;\n  type eventsGuestsV1Guest_universal_d_RequestedFieldsEnumRequestedFields = RequestedFieldsEnumRequestedFields;\n  const eventsGuestsV1Guest_universal_d_RequestedFieldsEnumRequestedFields: typeof RequestedFieldsEnumRequestedFields;\n  type eventsGuestsV1Guest_universal_d_QueryEventGuestsResponse = QueryEventGuestsResponse;\n  type eventsGuestsV1Guest_universal_d_StreamEventGuestsRequest = StreamEventGuestsRequest;\n  type eventsGuestsV1Guest_universal_d_SecondaryLanguagesRequest = SecondaryLanguagesRequest;\n  type eventsGuestsV1Guest_universal_d_SecondaryLanguagesResponse = SecondaryLanguagesResponse;\n  type eventsGuestsV1Guest_universal_d_Language = Language;\n  type eventsGuestsV1Guest_universal_d_Task = Task;\n  type eventsGuestsV1Guest_universal_d_TaskKey = TaskKey;\n  type eventsGuestsV1Guest_universal_d_ListGuestListPreviewsRequest = ListGuestListPreviewsRequest;\n  type eventsGuestsV1Guest_universal_d_ListGuestListPreviewsResponse = ListGuestListPreviewsResponse;\n  type eventsGuestsV1Guest_universal_d_GuestListPreview = GuestListPreview;\n  type eventsGuestsV1Guest_universal_d_GuestCount = GuestCount;\n  type eventsGuestsV1Guest_universal_d_UpdateGuestRequest = UpdateGuestRequest;\n  type eventsGuestsV1Guest_universal_d_UpdateGuestResponse = UpdateGuestResponse;\n  const eventsGuestsV1Guest_universal_d_queryGuests: typeof queryGuests;\n  type eventsGuestsV1Guest_universal_d_QueryEventGuestsOptions = QueryEventGuestsOptions;\n  type eventsGuestsV1Guest_universal_d_GuestsQueryResult = GuestsQueryResult;\n  type eventsGuestsV1Guest_universal_d_GuestsQueryBuilder = GuestsQueryBuilder;\n  const eventsGuestsV1Guest_universal_d_listGuestListPreviews: typeof listGuestListPreviews;\n  type eventsGuestsV1Guest_universal_d_ListGuestListPreviewsOptions = ListGuestListPreviewsOptions;\n  namespace eventsGuestsV1Guest_universal_d {\n    export {\n      eventsGuestsV1Guest_universal_d_EventGuest as EventGuest,\n      TicketDetails$2 as TicketDetails,\n      eventsGuestsV1Guest_universal_d_TicketGuestDetails as TicketGuestDetails,\n      OnlineConferencingLogin$5 as OnlineConferencingLogin,\n      GuestDetails$2 as GuestDetails,\n      FormResponse$5 as FormResponse,\n      InputValue$5 as InputValue,\n      FormattedAddress$5 as FormattedAddress,\n      Address$a as Address,\n      AddressStreetOneOf$a as AddressStreetOneOf,\n      StreetAddress$a as StreetAddress,\n      AddressLocation$a as AddressLocation,\n      Subdivision$a as Subdivision,\n      SubdivisionType$a as SubdivisionType,\n      StandardDetails$5 as StandardDetails,\n      eventsGuestsV1Guest_universal_d_AttendanceStatus as AttendanceStatus,\n      eventsGuestsV1Guest_universal_d_GuestType as GuestType,\n      eventsGuestsV1Guest_universal_d_GuestCountUpdated as GuestCountUpdated,\n      eventsGuestsV1Guest_universal_d_GuestCountUpdate as GuestCountUpdate,\n      eventsGuestsV1Guest_universal_d_MemberEventStatusUpdated as MemberEventStatusUpdated,\n      eventsGuestsV1Guest_universal_d_MemberEventStatusUpdatedEventType as MemberEventStatusUpdatedEventType,\n      eventsGuestsV1Guest_universal_d_ContactEventStatusUpdated as ContactEventStatusUpdated,\n      EventType$5 as EventType,\n      eventsGuestsV1Guest_universal_d_GuestCheckedIn as GuestCheckedIn,\n      EventDetails$1 as EventDetails,\n      Location$7 as Location,\n      LocationType$7 as LocationType,\n      CommonAddress$4 as CommonAddress,\n      CommonAddressStreetOneOf$4 as CommonAddressStreetOneOf,\n      CommonStreetAddress$4 as CommonStreetAddress,\n      CommonAddressLocation$4 as CommonAddressLocation,\n      CommonSubdivision$4 as CommonSubdivision,\n      SubdivisionSubdivisionType$2 as SubdivisionSubdivisionType,\n      DateAndTimeSettings$2 as DateAndTimeSettings,\n      RecurrenceStatusStatus$2 as RecurrenceStatusStatus,\n      Recurrences$7 as Recurrences,\n      Occurrence$7 as Occurrence,\n      Formatted$2 as Formatted,\n      Status$8 as Status,\n      eventsGuestsV1Guest_universal_d_NotifyGuestAction as NotifyGuestAction,\n      eventsGuestsV1Guest_universal_d_TaskContext as TaskContext,\n      eventsGuestsV1Guest_universal_d_NotifyActionType as NotifyActionType,\n      eventsGuestsV1Guest_universal_d_Timing as Timing,\n      eventsGuestsV1Guest_universal_d_OrderDetails as OrderDetails,\n      OrderStatus$3 as OrderStatus,\n      Invoice$2 as Invoice,\n      Item$3 as Item,\n      Money$8 as Money,\n      Discount$2 as Discount,\n      DiscountItem$2 as DiscountItem,\n      DiscountItemDiscountOneOf$2 as DiscountItemDiscountOneOf,\n      CouponDiscount$2 as CouponDiscount,\n      PaidPlanDiscount$2 as PaidPlanDiscount,\n      PaidPlanDiscountDiscountOneOf$2 as PaidPlanDiscountDiscountOneOf,\n      PercentDiscount$2 as PercentDiscount,\n      Tax$2 as Tax,\n      TaxType$6 as TaxType,\n      Fee$2 as Fee,\n      FeeName$2 as FeeName,\n      FeeType$3 as FeeType,\n      eventsGuestsV1Guest_universal_d_GuestEventCanceled as GuestEventCanceled,\n      eventsGuestsV1Guest_universal_d_GuestEventStarts as GuestEventStarts,\n      eventsGuestsV1Guest_universal_d_GuestOrderCanceled as GuestOrderCanceled,\n      DomainEvent$9 as DomainEvent,\n      DomainEventBodyOneOf$9 as DomainEventBodyOneOf,\n      EntityCreatedEvent$9 as EntityCreatedEvent,\n      RestoreInfo$9 as RestoreInfo,\n      EntityUpdatedEvent$9 as EntityUpdatedEvent,\n      EntityDeletedEvent$9 as EntityDeletedEvent,\n      ActionEvent$9 as ActionEvent,\n      MessageEnvelope$d as MessageEnvelope,\n      IdentificationData$d as IdentificationData,\n      IdentificationDataIdOneOf$d as IdentificationDataIdOneOf,\n      WebhookIdentityType$d as WebhookIdentityType,\n      eventsGuestsV1Guest_universal_d_QueryEventGuestsRequest as QueryEventGuestsRequest,\n      QueryV2$8 as QueryV2,\n      QueryV2PagingMethodOneOf$8 as QueryV2PagingMethodOneOf,\n      Sorting$a as Sorting,\n      SortOrder$a as SortOrder,\n      Paging$9 as Paging,\n      CursorPaging$7 as CursorPaging,\n      eventsGuestsV1Guest_universal_d_RequestedFieldsEnumRequestedFields as RequestedFieldsEnumRequestedFields,\n      eventsGuestsV1Guest_universal_d_QueryEventGuestsResponse as QueryEventGuestsResponse,\n      PagingMetadataV2$9 as PagingMetadataV2,\n      Cursors$a as Cursors,\n      eventsGuestsV1Guest_universal_d_StreamEventGuestsRequest as StreamEventGuestsRequest,\n      Empty$6 as Empty,\n      eventsGuestsV1Guest_universal_d_SecondaryLanguagesRequest as SecondaryLanguagesRequest,\n      eventsGuestsV1Guest_universal_d_SecondaryLanguagesResponse as SecondaryLanguagesResponse,\n      eventsGuestsV1Guest_universal_d_Language as Language,\n      RsvpCreated$2 as RsvpCreated,\n      RsvpStatus$3 as RsvpStatus,\n      Guest$4 as Guest,\n      CheckIn$4 as CheckIn,\n      RsvpUpdated$2 as RsvpUpdated,\n      RsvpDeleted$1 as RsvpDeleted,\n      OrderConfirmed$2 as OrderConfirmed,\n      Ticket$3 as Ticket,\n      OrderUpdated$2 as OrderUpdated,\n      OrderDeleted$1 as OrderDeleted,\n      OrderType$1 as OrderType,\n      EventDeleted$5 as EventDeleted,\n      eventsGuestsV1Guest_universal_d_Task as Task,\n      eventsGuestsV1Guest_universal_d_TaskKey as TaskKey,\n      eventsGuestsV1Guest_universal_d_ListGuestListPreviewsRequest as ListGuestListPreviewsRequest,\n      RequestedFields$3 as RequestedFields,\n      eventsGuestsV1Guest_universal_d_ListGuestListPreviewsResponse as ListGuestListPreviewsResponse,\n      eventsGuestsV1Guest_universal_d_GuestListPreview as GuestListPreview,\n      EventGuests$1 as EventGuests,\n      eventsGuestsV1Guest_universal_d_GuestCount as GuestCount,\n      eventsGuestsV1Guest_universal_d_UpdateGuestRequest as UpdateGuestRequest,\n      eventsGuestsV1Guest_universal_d_UpdateGuestResponse as UpdateGuestResponse,\n      eventsGuestsV1Guest_universal_d_queryGuests as queryGuests,\n      eventsGuestsV1Guest_universal_d_QueryEventGuestsOptions as QueryEventGuestsOptions,\n      eventsGuestsV1Guest_universal_d_GuestsQueryResult as GuestsQueryResult,\n      eventsGuestsV1Guest_universal_d_GuestsQueryBuilder as GuestsQueryBuilder,\n      eventsGuestsV1Guest_universal_d_listGuestListPreviews as listGuestListPreviews,\n      eventsGuestsV1Guest_universal_d_ListGuestListPreviewsOptions as ListGuestListPreviewsOptions,\n    };\n  }\n  \n  interface NotificationConfig {\n      /** Event ID. */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision. */\n      revision?: string | null;\n      /**\n       * Represents the time this NotificationConfig was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this NotificationConfig was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Rsvp confirmation. */\n      rsvpConfirmation?: EmailNotificationConfig;\n      /** New spots available. */\n      newSpotsAvailable?: EmailNotificationConfig;\n      /** Event cancelation. */\n      eventCancelation?: EmailNotificationConfig;\n      /** Event reminder. */\n      upcomingEventReminder?: EmailNotificationConfig;\n      /** Order confirmation. */\n      orderConfirmation?: EmailNotificationConfig;\n      /** Ticket confirmation. */\n      ticketConfirmation?: EmailNotificationConfig;\n      /** Invoice. */\n      invoice?: EmailNotificationConfig;\n      /** Order confirmation with tickets link. */\n      orderConfirmationWithTicketsLink?: EmailNotificationConfig;\n  }\n  interface EmailNotificationConfig {\n      /**\n       * Predefined id of the notification type.\n       * @readonly\n       */\n      notificationType?: EmailNotificationType;\n      /** Email template values. */\n      template?: EmailTemplate;\n      /**\n       * Desired timing of the notification in hours respectfully to event start time.\n       * For example if value is 0 then notification is sent at the start of the event.\n       */\n      reminderTime?: EmailNotificationReminderTime;\n      /** When true the notification will be sent when certain trigger occurs. */\n      sendingEnabled?: boolean | null;\n  }\n  enum EmailNotificationType {\n      /** Default value. This value is unused. */\n      UNKNOWN_NOTIFICATION_TYPE = \"UNKNOWN_NOTIFICATION_TYPE\",\n      /** Triggered when site user RSVP to the event. */\n      EMAIL_RSVP_CONFIRMATION = \"EMAIL_RSVP_CONFIRMATION\",\n      /** Triggered for waiting guests when additional RSVP spots appears in the fully booked event. */\n      EMAIL_NEW_SPOTS_AVAILABLE = \"EMAIL_NEW_SPOTS_AVAILABLE\",\n      /** Triggered when event is canceled. */\n      EMAIL_EVENT_CANCELATION = \"EMAIL_EVENT_CANCELATION\",\n      /** Triggered before the event start time. */\n      EMAIL_UPCOMING_EVENT_REMINDER = \"EMAIL_UPCOMING_EVENT_REMINDER\",\n      /** Triggered when site user creates Order. */\n      EMAIL_ORDER_CONFIRMATION = \"EMAIL_ORDER_CONFIRMATION\",\n      /** Triggered when resending ticket to ticket holder. */\n      EMAIL_TICKET_CONFIRMATION = \"EMAIL_TICKET_CONFIRMATION\",\n      /** Triggered when sending invoice. Currently only `enabled` flag update is supported. */\n      EMAIL_INVOICE = \"EMAIL_INVOICE\",\n      /** Triggered when order confirmation sending is delayed. Tickets are accessible via link. */\n      EMAIL_ORDER_CONFIRMATION_WITH_TICKETS_LINK = \"EMAIL_ORDER_CONFIRMATION_WITH_TICKETS_LINK\"\n  }\n  interface EmailTemplate {\n      /** Email subject. */\n      subject?: string | null;\n      /** Plain text message body. */\n      body?: string | null;\n      /** Description link visibility and display text */\n      descriptionLink?: Link$1;\n      /** Calendar link visibility and display text */\n      calendarLink?: Link$1;\n      /** Online conferencing link visibility and display text */\n      onlineConferencingLink?: Link$1;\n      /** When true the tickets are attached to the order confirmation email. */\n      includeTickets?: boolean | null;\n  }\n  interface Link$1 {\n      /** When true the link is added to the email. */\n      display?: boolean | null;\n      /** Text of the link. */\n      linkText?: string | null;\n  }\n  enum EmailNotificationReminderTime {\n      /** Default value. This value is unused. */\n      UNKNOWN_REMINDER_TIME = \"UNKNOWN_REMINDER_TIME\",\n      /** Notification is sent instantly */\n      INSTANT = \"INSTANT\",\n      /** 24 hours prior */\n      BEFORE_1_DAY = \"BEFORE_1_DAY\",\n      /** 3 days prior */\n      BEFORE_3_DAYS = \"BEFORE_3_DAYS\",\n      /** 7 days prior */\n      BEFORE_1_WEEK = \"BEFORE_1_WEEK\",\n      /** 1 hour prior */\n      BEFORE_1_HOUR = \"BEFORE_1_HOUR\",\n      /** 30 minutes prior */\n      BEFORE_30_MINUTES = \"BEFORE_30_MINUTES\"\n  }\n  interface TriggerNotificationRequest extends TriggerNotificationRequestNotificationOneOf, TriggerNotificationRequestGuestsOneOf {\n      /** Email notification type */\n      emailNotificationType?: EmailNotificationType;\n      /** Push notification type */\n      pushNotificationType?: PushNotificationType;\n      /** Rsvp guest info */\n      rsvpGuest?: RsvpGuest;\n      /** Order guest info */\n      orderGuest?: OrderGuest;\n      /** Event guests info */\n      eventGuests?: EventGuests;\n      /** Ticket guests info */\n      ticketGuest?: TicketGuest;\n  }\n  /** @oneof */\n  interface TriggerNotificationRequestNotificationOneOf {\n      /** Email notification type */\n      emailNotificationType?: EmailNotificationType;\n      /** Push notification type */\n      pushNotificationType?: PushNotificationType;\n  }\n  /** @oneof */\n  interface TriggerNotificationRequestGuestsOneOf {\n      /** Rsvp guest info */\n      rsvpGuest?: RsvpGuest;\n      /** Order guest info */\n      orderGuest?: OrderGuest;\n      /** Event guests info */\n      eventGuests?: EventGuests;\n      /** Ticket guests info */\n      ticketGuest?: TicketGuest;\n  }\n  enum PushNotificationType {\n      /** This is default value. This value is unused. */\n      UNKNOWN_PUSH_TYPE = \"UNKNOWN_PUSH_TYPE\",\n      /** Triggered when event is updated. */\n      PUSH_EVENT_UPDATED = \"PUSH_EVENT_UPDATED\",\n      /** Triggered when event is canceled. */\n      PUSH_EVENT_CANCELATION = \"PUSH_EVENT_CANCELATION\",\n      /** Triggered before the event start time. */\n      PUSH_UPCOMING_EVENT_REMINDER = \"PUSH_UPCOMING_EVENT_REMINDER\",\n      /** Triggered when event is created. */\n      PUSH_EVENT_CREATED = \"PUSH_EVENT_CREATED\"\n  }\n  /** Single guest associated to the RSVP */\n  interface RsvpGuest {\n      /** Event id */\n      eventId?: string;\n      /** Rsvp id */\n      rsvpId?: string;\n  }\n  /** Single guest associated to the Order */\n  interface OrderGuest {\n      /** Event id */\n      eventId?: string;\n      /** Order number */\n      orderNumber?: string;\n  }\n  /** All event guest from RSVPs and Orders */\n  interface EventGuests {\n      /** Event id */\n      eventId?: string;\n  }\n  /** Multiple guests associated to Tickets */\n  interface TicketGuest {\n      /** Event id */\n      eventId?: string;\n      /** Order number */\n      orderNumber?: string | null;\n      /** Ticket numbers must be from the same order only. */\n      ticketNumber?: string[];\n  }\n  interface TriggerNotificationResponse {\n  }\n  interface RsvpCreated$1 {\n      /** RSVP created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when RSVP created */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /**\n       * Locale in which Rsvp was created.\n       * @internal\n       */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$4;\n      /** RSVP response status. */\n      status?: RsvpStatus$2;\n      /** List of all guests. */\n      guests?: Guest$3[];\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$4;\n  }\n  interface FormResponse$4 {\n      inputValues?: InputValue$4[];\n  }\n  interface InputValue$4 {\n      inputName?: string;\n      value?: string;\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date | null;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress$4;\n  }\n  interface FormattedAddress$4 {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: CommonAddress$3;\n  }\n  /** Physical address */\n  interface CommonAddress$3 extends CommonAddressStreetOneOf$3 {\n      /** Street name and number. */\n      streetAddress?: CommonStreetAddress$3;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: CommonAddressLocation$3;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: CommonSubdivision$3[];\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf$3 {\n      /** Street name and number. */\n      streetAddress?: CommonStreetAddress$3;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface CommonStreetAddress$3 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface CommonAddressLocation$3 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface CommonSubdivision$3 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$9;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails$4;\n  }\n  enum SubdivisionType$9 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails$4 {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  enum RsvpStatus$2 {\n      YES = \"YES\",\n      NO = \"NO\",\n      WAITING = \"WAITING\"\n  }\n  interface Guest$3 {\n      /** Index in the RSVP guest list. */\n      index?: number;\n      /** Guest full name. */\n      fullName?: string;\n      /** Guest check-in. */\n      checkIn?: CheckIn$3;\n      /** Unique guest ID per RSVP. */\n      _id?: number;\n  }\n  interface CheckIn$3 {\n      /** Time of check-in */\n      created?: Date | null;\n  }\n  interface OnlineConferencingLogin$4 {\n      /**\n       * Link URL to the online conference.\n       * @readonly\n       */\n      link?: string;\n      /**\n       * Password for the online conference.\n       * @readonly\n       */\n      password?: string | null;\n  }\n  interface Empty$5 {\n  }\n  interface RsvpUpdated$1 {\n      /** RSVP updated timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when RSVP created */\n      language?: string | null;\n      /** Locale in which Rsvp was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** RSVP created timestamp. */\n      created?: Date | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$4;\n      /** RSVP response status. */\n      status?: RsvpStatus$2;\n      /** List of the guests. */\n      guests?: Guest$3[];\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$4;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n  }\n  interface DomainEvent$8 extends DomainEventBodyOneOf$8 {\n      createdEvent?: EntityCreatedEvent$8;\n      updatedEvent?: EntityUpdatedEvent$8;\n      deletedEvent?: EntityDeletedEvent$8;\n      actionEvent?: ActionEvent$8;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$8 {\n      createdEvent?: EntityCreatedEvent$8;\n      updatedEvent?: EntityUpdatedEvent$8;\n      deletedEvent?: EntityDeletedEvent$8;\n      actionEvent?: ActionEvent$8;\n  }\n  interface EntityCreatedEvent$8 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$8;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$8 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$8 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$8 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$8 {\n      bodyAsJson?: string;\n  }\n  interface EventUpdated$3 {\n      /** Event update timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$6;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$6;\n      /** Event title. */\n      title?: string;\n      /**\n       * Whether schedule configuration was updated.\n       * @deprecated\n       */\n      scheduleConfigUpdated?: boolean;\n      /**\n       * The set of properties which were updated. For example 'title' or 'location'\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Whether event has opened new spots with this update.\n       * @internal\n       */\n      newSpotsOpened?: boolean | null;\n      /** Updated event */\n      event?: Event$4;\n  }\n  interface Location$6 {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates$6;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationType$6;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address$9;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates$6 {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationType$6 {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address$9 extends AddressStreetOneOf$9 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$9;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation$9;\n      /** country full-name */\n      countryFullname?: string | null;\n      /** multi-level subdivisions from top to bottom */\n      subdivisions?: Subdivision$9[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$9 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$9;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$9 {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /**\n       * apartment number\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation$9 {\n      /** address latitude coordinates */\n      latitude?: number | null;\n      /** address longitude coordinates */\n      longitude?: number | null;\n  }\n  interface Subdivision$9 {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /**\n       * subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$9;\n      /**\n       * free text description of subdivision type\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  interface ScheduleConfig$6 {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: Recurrences$6;\n  }\n  interface Recurrences$6 {\n      /** Event occurrences. */\n      occurrences?: Occurrence$6[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: Status$7;\n  }\n  interface Occurrence$6 {\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum Status$7 {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  interface Event$4 {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Event location. */\n      location?: Location$6;\n      /** Event scheduling. */\n      scheduling?: Scheduling$4;\n      /** Event title. */\n      title?: string;\n      /** Event description. */\n      description?: string;\n      /** Rich-text content displayed in Wix UI - \"About Event\" section (HTML). */\n      about?: string;\n      /** Main event image. */\n      mainImage?: string;\n      /** Event slug URL (generated from event title). */\n      slug?: string;\n      /** ISO 639-1 language code of the event (used in content translations). */\n      language?: string;\n      /** Event creation timestamp. */\n      created?: Date | null;\n      /** Event modified timestamp. */\n      modified?: Date | null;\n      /** Event status. */\n      status?: EventStatus$6;\n      /** RSVP or ticketing registration details. */\n      registration?: Registration$4;\n      /** \"Add to calendar\" URLs. */\n      calendarLinks?: CalendarLinks$6;\n      /** Event page URL components. */\n      eventPageUrl?: SiteUrl$4;\n      /** Event registration form. */\n      form?: Form$4;\n      /** Event dashboard summary of RSVP / ticket sales. */\n      dashboard?: Dashboard$6;\n      /** Instance ID of the site where event is hosted. */\n      instanceId?: string;\n      /** Guest list configuration. */\n      guestListConfig?: GuestListConfig$4;\n      /** Event creator user ID. */\n      userId?: string;\n      /** Event discussion feed. For internal use. */\n      feed?: Feed$4;\n      /** Online conferencing details. */\n      onlineConferencing?: OnlineConferencing$4;\n      /** SEO settings. */\n      seoSettings?: SeoSettings$4;\n      /** Assigned contacts label key. */\n      assignedContactsLabel?: string | null;\n      /** Agenda details. */\n      agenda?: Agenda$4;\n      /** Categories this event is assigned to. */\n      categories?: Category$5[];\n      /** Visual settings for event. */\n      eventDisplaySettings?: EventDisplaySettings$4;\n      /**\n       * @internal\n       * @readonly\n       */\n      customizableTickets?: boolean | null;\n      /**\n       * Labelling related data.\n       * @internal\n       */\n      labellingSettings?: LabellingSettings$4;\n  }\n  interface Scheduling$4 {\n      /** Schedule configuration. */\n      config?: ScheduleConfig$6;\n      /** Formatted schedule representation. */\n      formatted?: string;\n      /** Formatted start date of the event (empty for TBD schedules). */\n      startDateFormatted?: string;\n      /** Formatted start time of the event (empty for TBD schedules). */\n      startTimeFormatted?: string;\n      /** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */\n      endDateFormatted?: string;\n      /** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */\n      endTimeFormatted?: string;\n  }\n  enum EventStatus$6 {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface Registration$4 {\n      /** Event type. */\n      type?: EventType$4;\n      /** Event registration status. */\n      status?: RegistrationStatus$4;\n      /** RSVP collection details. */\n      rsvpCollection?: RsvpCollection$4;\n      /** Ticketing details. */\n      ticketing?: Ticketing$4;\n      /** External registration details. */\n      external?: ExternalEvent$4;\n      /** Types of users allowed to register. */\n      restrictedTo?: VisitorType$4;\n      /** Initial event type which was set when creating an event. */\n      initialType?: EventType$4;\n  }\n  enum EventType$4 {\n      /** Type not available for this request fieldset */\n      NA_EVENT_TYPE = \"NA_EVENT_TYPE\",\n      /** Registration via RSVP */\n      RSVP = \"RSVP\",\n      /** Registration via ticket purchase */\n      TICKETS = \"TICKETS\",\n      /** External registration */\n      EXTERNAL = \"EXTERNAL\",\n      /** Registration not available */\n      NO_REGISTRATION = \"NO_REGISTRATION\"\n  }\n  enum RegistrationStatus$4 {\n      /** Registration status is not applicable */\n      NA_REGISTRATION_STATUS = \"NA_REGISTRATION_STATUS\",\n      /** Registration to event is closed */\n      CLOSED = \"CLOSED\",\n      /** Registration to event is closed manually */\n      CLOSED_MANUALLY = \"CLOSED_MANUALLY\",\n      /** Registration is open via RSVP */\n      OPEN_RSVP = \"OPEN_RSVP\",\n      /** Registration to event waitlist is open via RSVP */\n      OPEN_RSVP_WAITLIST = \"OPEN_RSVP_WAITLIST\",\n      /** Registration is open via ticket purchase */\n      OPEN_TICKETS = \"OPEN_TICKETS\",\n      /** Registration is open via external URL */\n      OPEN_EXTERNAL = \"OPEN_EXTERNAL\",\n      /** Registration will be open via RSVP */\n      SCHEDULED_RSVP = \"SCHEDULED_RSVP\"\n  }\n  interface RsvpCollection$4 {\n      /** RSVP collection configuration. */\n      config?: RsvpCollectionConfig$4;\n  }\n  interface RsvpCollectionConfig$4 {\n      /** Defines the supported RSVP statuses. */\n      rsvpStatusOptions?: RsvpStatusOptions$4;\n      /**\n       * Total guest limit available to register to the event.\n       * Additional guests per RSVP are counted towards total guests.\n       */\n      limit?: number | null;\n      /** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */\n      waitlist?: boolean;\n      /** Registration start timestamp. */\n      startDate?: Date | null;\n      /** Registration end timestamp. */\n      endDate?: Date | null;\n  }\n  enum RsvpStatusOptions$4 {\n      /** Only YES RSVP status is available for RSVP registration */\n      YES_ONLY = \"YES_ONLY\",\n      /** YES and NO RSVP status options are available for the registration */\n      YES_AND_NO = \"YES_AND_NO\"\n  }\n  interface Ticketing$4 {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      lowestPrice?: string | null;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      highestPrice?: string | null;\n      /** Currency used in event transactions. */\n      currency?: string | null;\n      /** Ticketing configuration. */\n      config?: TicketingConfig$4;\n      /**\n       * Price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPrice?: Money$7;\n      /**\n       * Price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPrice?: Money$7;\n      /**\n       * Formatted price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPriceFormatted?: string | null;\n      /**\n       * Formatted price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPriceFormatted?: string | null;\n      /**\n       * Whether all tickets are sold for this event.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n  }\n  interface TicketingConfig$4 {\n      /** Whether the form must be filled out separately for each ticket. */\n      guestAssignedTickets?: boolean;\n      /** Tax configuration. */\n      taxConfig?: TaxConfig$4;\n      /** Limit of tickets that can be purchased per order, default 20. */\n      ticketLimitPerOrder?: number;\n      /**\n       * App Id for external ticket stock management.\n       * By default tickets stock is defined in TicketDefinition object.\n       * If defined then limitation from TicketDefinition is ignored.\n       * @internal\n       */\n      stockManagerAppId?: string | null;\n      /** Duration for which the tickets being bought are reserved. */\n      reservationDurationInMinutes?: number | null;\n  }\n  interface TaxConfig$4 {\n      /** Tax application settings. */\n      type?: TaxType$5;\n      /** Tax name. */\n      name?: string | null;\n      /** Tax rate (e.g.,`21.55`). */\n      rate?: string | null;\n      /** Applies taxes for donations, default true. */\n      appliesToDonations?: boolean | null;\n  }\n  enum TaxType$5 {\n      /** Tax is included in the ticket price. */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout. */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout. */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Money$7 {\n      /**\n       * *Deprecated:** Use `value` instead.\n       * @deprecated\n       */\n      amount?: string;\n      /** ISO 4217 format of the currency e.g., `USD`. */\n      currency?: string;\n      /** 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. */\n      value?: string | null;\n  }\n  interface ExternalEvent$4 {\n      /** External event registration URL. */\n      registration?: string;\n  }\n  enum VisitorType$4 {\n      /** Site visitor (including member) */\n      VISITOR = \"VISITOR\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Site visitor or member */\n      VISITOR_OR_MEMBER = \"VISITOR_OR_MEMBER\"\n  }\n  interface CalendarLinks$6 {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  /** Site URL components */\n  interface SiteUrl$4 {\n      /**\n       * Base URL. For premium sites, this will be the domain.\n       * For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`)\n       */\n      base?: string;\n      /** The path to that page - e.g `/my-events/weekly-meetup-2` */\n      path?: string;\n  }\n  /**\n   * The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout).\n   * It also contains customizable messages and labels.\n   *\n   *\n   * A form is an ordered list of controls (blocks), which accept guest information into a field input.\n   *\n   * Each control contains one or more nested inputs. For example, `Name` control has two inputs:\n   * - First Name\n   * - Last Name\n   *\n   * By default, name and email controls are always required and are pinned to the top of the form.\n   */\n  interface Form$4 {\n      /** Nested fields as an ordered list. */\n      controls?: InputControl$4[];\n      /** Set of configured form messages. */\n      messages?: FormMessages$4;\n  }\n  /**\n   * A block of nested fields.\n   * Used to aggregate similar inputs like First Name and Last Name.\n   */\n  interface InputControl$4 {\n      /** Field control type. */\n      type?: InputControlType$4;\n      /** Whether control is mandatory (such as name & email). When true, only label can be changed. */\n      system?: boolean;\n      /**\n       * Deprecated: Use `id`.\n       * @deprecated\n       */\n      name?: string;\n      /** Child inputs. */\n      inputs?: Input$4[];\n      /**\n       * Deprecated: use `inputs.label`.\n       * @deprecated\n       */\n      label?: string;\n      /** Field controls are sorted by this value in ascending order. */\n      orderIndex?: number;\n      /** Unique control ID. */\n      _id?: string;\n      /**\n       * Whether input control is deleted.\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  enum InputControlType$4 {\n      /** Single text value field. */\n      INPUT = \"INPUT\",\n      /** Single text value field. */\n      TEXTAREA = \"TEXTAREA\",\n      /** Single-choice field of predefined values. */\n      DROPDOWN = \"DROPDOWN\",\n      /** Single-choice field of predefined values. */\n      RADIO = \"RADIO\",\n      /** Multiple-choice field of predefined values. */\n      CHECKBOX = \"CHECKBOX\",\n      /** First and last name fields. */\n      NAME = \"NAME\",\n      /** Additional guests and respective guest names fields. */\n      GUEST_CONTROL = \"GUEST_CONTROL\",\n      /** Single-line address field. */\n      ADDRESS_SHORT = \"ADDRESS_SHORT\",\n      /** Full address field. */\n      ADDRESS_FULL = \"ADDRESS_FULL\",\n      /** Year, month and day fields. */\n      DATE = \"DATE\"\n  }\n  /** An input of one or multiple text values */\n  interface Input$4 {\n      /** Field name. */\n      name?: string;\n      /**\n       * Deprecated: use `ValueType.TEXT_ARRAY`.\n       * @deprecated\n       */\n      array?: boolean;\n      /** Main field label */\n      label?: string;\n      /** Additional labels for multi-valued fields such as address. */\n      additionalLabels?: Record<string, string>;\n      /** Predefined choice options for fields, such as dropdown. */\n      options?: string[];\n      /** Whether field is mandatory. */\n      mandatory?: boolean;\n      /** Maximum number of accepted characters (relevant for text fields). */\n      maxLength?: number;\n      /**\n       * Type which determines field format.\n       * Used to validate submitted response.\n       */\n      type?: ValueType$4;\n      /**\n       * A maximum accepted values for array input.\n       * Only applicable for inputs of valueType: TEXT_ARRAY.\n       */\n      maxSize?: number | null;\n      /**\n       * Preselected option.\n       * Currently only applicable for dropdown.\n       */\n      defaultOptionSelection?: OptionSelection$4;\n      /**\n       * Additional labels for multi-valued fields such as address.\n       * @readonly\n       */\n      labels?: Label$4[];\n  }\n  enum ValueType$4 {\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      TEXT_ARRAY = \"TEXT_ARRAY\",\n      DATE_TIME = \"DATE_TIME\",\n      ADDRESS = \"ADDRESS\"\n  }\n  /**\n   * Describes initially selected option when an input has multiple choices.\n   * Defaults to first (0th) option if not configured.\n   */\n  interface OptionSelection$4 extends OptionSelectionSelectedOptionOneOf$4 {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  /** @oneof */\n  interface OptionSelectionSelectedOptionOneOf$4 {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  interface Label$4 {\n      /** Field name. */\n      name?: string;\n      /** Field label. */\n      label?: string;\n  }\n  /**\n   * Defines form messages shown in UI before, during, and after registration flow.\n   * It enables configuration of form titles, response labels, \"thank you\" messages, and call-to-action texts.\n   */\n  interface FormMessages$4 {\n      /** RSVP form messages. */\n      rsvp?: RsvpFormMessages$4;\n      /** Checkout form messages. */\n      checkout?: CheckoutFormMessages$4;\n      /** Messages shown when event registration is closed. */\n      registrationClosed?: RegistrationClosedMessages$4;\n      /** Messages shown when event tickets are unavailable. */\n      ticketsUnavailable?: TicketsUnavailableMessages$4;\n  }\n  interface RsvpFormMessages$4 {\n      /** Label text indicating RSVP `YES` response. */\n      rsvpYesOption?: string;\n      /** Label text indicating RSVP `NO` response. */\n      rsvpNoOption?: string;\n      /** Messages shown for RSVP = `YES`. */\n      positiveMessages?: Positive$4;\n      /** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */\n      waitlistMessages?: Positive$4;\n      /** Messages shown for RSVP = `NO`. */\n      negativeMessages?: Negative$4;\n      /** \"Submit form\" call-to-action label text. */\n      submitActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface PositiveResponseConfirmation$4 {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarActionLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface NegativeResponseConfirmation$4 {\n      /** Confirmation message title. */\n      title?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Set of messages shown during registration when RSVP response is positive. */\n  interface Positive$4 {\n      /** Main form title for positive response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: PositiveResponseConfirmation$4;\n  }\n  /** A set of messages shown during registration with negative response */\n  interface Negative$4 {\n      /** Main form title for negative response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: NegativeResponseConfirmation$4;\n  }\n  interface CheckoutFormMessages$4 {\n      /** Main form title for response. */\n      title?: string;\n      /** Submit form call-to-action label text. */\n      submitActionLabel?: string;\n      /** Confirmation messages shown after checkout. */\n      confirmation?: ResponseConfirmation$4;\n  }\n  /** Confirmation messages shown after checkout. */\n  interface ResponseConfirmation$4 {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Download tickets\" call-to-action label text. */\n      downloadTicketsLabel?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareEventLabel?: string;\n  }\n  interface RegistrationClosedMessages$4 {\n      /** Message shown when event registration is closed. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface TicketsUnavailableMessages$4 {\n      /** Message shown when event tickets are unavailable. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface Dashboard$6 {\n      /** Guest RSVP summary. */\n      rsvpSummary?: RsvpSummary$5;\n      /**\n       * Summary of revenue and tickets sold.\n       * (Archived orders are not included).\n       */\n      ticketingSummary?: TicketingSummary$4;\n  }\n  interface RsvpSummary$5 {\n      /** Total number of RSVPs. */\n      total?: number;\n      /** Number of RSVPs with status `YES`. */\n      yes?: number;\n      /** Number of RSVPs with status `NO`. */\n      no?: number;\n      /** Number of RSVPs in waitlist. */\n      waitlist?: number;\n  }\n  interface TicketingSummary$4 {\n      /** Number of tickets sold. */\n      tickets?: number;\n      /**\n       * Total revenue, excluding fees.\n       * (taxes and payment provider fees are not deducted.)\n       */\n      revenue?: Money$7;\n      /** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */\n      currencyLocked?: boolean;\n      /** Number of orders placed. */\n      orders?: number;\n      /** Total balance of confirmed transactions. */\n      totalSales?: Money$7;\n  }\n  interface GuestListConfig$4 {\n      /** Whether members can see other members attending the event (defaults to true). */\n      publicGuestList?: boolean;\n  }\n  interface Feed$4 {\n      /** Event discussion feed token. */\n      token?: string;\n  }\n  interface OnlineConferencing$4 {\n      config?: OnlineConferencingConfig$4;\n      session?: OnlineConferencingSession$4;\n      /**\n       * Configured conferencing provider name.\n       * @internal\n       * @readonly\n       */\n      providerName?: string;\n  }\n  interface OnlineConferencingConfig$4 {\n      /**\n       * Whether online conferencing is enabled (not supported for TBD schedules).\n       * When enabled, links to join conferencing are generated and provided to guests.\n       */\n      enabled?: boolean;\n      /** Conferencing provider ID. */\n      providerId?: string | null;\n      /** Conference type */\n      conferenceType?: ConferenceType$4;\n  }\n  enum ConferenceType$4 {\n      /** Everyone in the meeting can publish and subscribe video and audio. */\n      MEETING = \"MEETING\",\n      /** Guests can only subscribe to video and audio. */\n      WEBINAR = \"WEBINAR\"\n  }\n  interface OnlineConferencingSession$4 {\n      /**\n       * Link for event host to start the online conference session.\n       * @readonly\n       */\n      hostLink?: string;\n      /**\n       * Link for guests to join the online conference session.\n       * @readonly\n       */\n      guestLink?: string;\n      /**\n       * The password required to join online conferencing session (when relevant).\n       * @readonly\n       */\n      password?: string | null;\n      /**\n       * Indicates that session was created successfully on providers side.\n       * @readonly\n       */\n      sessionCreated?: boolean | null;\n      /**\n       * Unique session id\n       * @readonly\n       */\n      sessionId?: string | null;\n  }\n  interface SeoSettings$4 {\n      /** URL slug */\n      slug?: string;\n      /** Advanced SEO data */\n      advancedSeoData?: SeoSchema$4;\n      /**\n       * Hidden from SEO Site Map\n       * @readonly\n       */\n      hidden?: boolean | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$4 {\n      /** SEO tag information. */\n      tags?: Tag$4[];\n      /** SEO general settings. */\n      settings?: Settings$5;\n  }\n  interface Keyword$4 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag$4 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$5 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$4[];\n  }\n  interface Agenda$4 {\n      /** Whether the schedule is enabled for the event. */\n      enabled?: boolean;\n      /**\n       * Agenda page URL.\n       * @readonly\n       */\n      pageUrl?: SiteUrl$4;\n  }\n  interface Category$5 {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Date and time when category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Assigned events count. Deleted events are excluded.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * The total number of draft and published events assigned to the category.\n       * @readonly\n       */\n      counts?: CategoryCounts$5;\n      /**\n       * Category state. Possible values:\n       *\n       * `MANUAL`: Category is created manually by the user.\n       * `AUTO`: Category is created automatically.\n       * `RECURRING_EVENT`: Category is created automatically when publishing recurring events.\n       * `HIDDEN`: Category can't be seen.\n       *\n       * Default: `MANUAL`.\n       *\n       * **Note:** The WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission scope is required to use states other than `MANUAL`.\n       */\n      states?: State$8[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  interface CategoryCounts$5 {\n      /** Total number of draft events assigned to the category. */\n      assignedEventsCount?: number | null;\n      /** Total number of published events assigned to the category. Deleted events are excluded. */\n      assignedDraftEventsCount?: number | null;\n  }\n  enum State$8 {\n      /** Created manually by the user. */\n      MANUAL = \"MANUAL\",\n      /** Created automatically. */\n      AUTO = \"AUTO\",\n      /** Created when publishing recurring events. */\n      RECURRING_EVENT = \"RECURRING_EVENT\",\n      /** Category is hidden. */\n      HIDDEN = \"HIDDEN\",\n      /** Category is used to store component events. */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface EventDisplaySettings$4 {\n      /** Whether event details button is hidden. Only available for events with no registration. */\n      hideEventDetailsButton?: boolean | null;\n      /** Disables event details page visibility. If event has an external registration configured visitors will be redirected from this page. */\n      hideEventDetailsPage?: boolean | null;\n  }\n  interface LabellingSettings$4 {\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLegacyLabelId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLabelDeleted?: boolean | null;\n  }\n  interface OrderConfirmed$1 {\n      /** Order confirmation timestamp in ISO UTC. */\n      timestamp?: Date | null;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp\n       * @readonly\n       */\n      created?: Date | null;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$4;\n      /** Order status. */\n      status?: OrderStatus$2;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets (generated after payment). */\n      tickets?: Ticket$2[];\n      /** Invoice. */\n      invoice?: Invoice$1;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  enum OrderStatus$2 {\n      /** Order status not available for this request fieldset. */\n      NA_ORDER_STATUS = \"NA_ORDER_STATUS\",\n      /** Order is confirmed and payment isn't required. */\n      FREE = \"FREE\",\n      /** Order is paid for but the payment gateway has suspended the payment. */\n      PENDING = \"PENDING\",\n      /** Order is paid via a payment gateway. */\n      PAID = \"PAID\",\n      /** Order is confirmed but must be paid via offline payment. Status needs to be manually updated to `PAID`. */\n      OFFLINE_PENDING = \"OFFLINE_PENDING\",\n      /** Order is awaiting payment at the cashier. */\n      INITIATED = \"INITIATED\",\n      /** Order is canceled. */\n      CANCELED = \"CANCELED\",\n      /** Order payment is declined. */\n      DECLINED = \"DECLINED\",\n      /** Order payment is authorized. */\n      AUTHORIZED = \"AUTHORIZED\",\n      /** Order payment is voided. */\n      VOIDED = \"VOIDED\",\n      /** Order is partially paid with less than the total amount. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\"\n  }\n  interface Ticket$2 {\n      /** Unique issued ticket number. */\n      ticketNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn$3;\n      /** Ticket price. */\n      price?: Money$7;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Contact ID associated with this ticket. */\n      contactId?: string | null;\n      /** Whether ticket is confirmed */\n      confirmed?: boolean;\n      /** Member ID associated with this ticket. */\n      memberId?: string | null;\n      /** Ticket form response (only assigned tickets contain separate forms). */\n      form?: FormResponse$4;\n      /** Ticket name. */\n      ticketName?: string;\n      /** Anonymized tickets no longer contain personally identifiable information (PII). */\n      anonymized?: boolean;\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$4;\n  }\n  interface Invoice$1 {\n      items?: Item$2[];\n      /**\n       * Total cart amount.\n       * @deprecated\n       */\n      total?: Money$7;\n      /** Discount applied to cart. */\n      discount?: Discount$1;\n      /** Tax applied to cart. */\n      tax?: Tax$1;\n      /** Total cart amount before discount, tax, and fees. */\n      subTotal?: Money$7;\n      /**\n       * Total amount of cart after discount, tax, and fees.\n       * Grand total is calculated in the following order:\n       * 1. Total prices of all items in the cart are calculated.\n       * 2. Discount is subtracted from the cart (if applicable).\n       * 3. Tax is added (if applicable).\n       * 4. Wix ticket service fee is added.\n       */\n      grandTotal?: Money$7;\n      /**\n       * Fees applied to the cart.\n       * @readonly\n       */\n      fees?: Fee$1[];\n      /** Total revenue, excluding fees. (Taxes and payment provider fees are not deducted). */\n      revenue?: Money$7;\n      /** URL to invoice preview. Returned only if order is paid. */\n      previewUrl?: string | null;\n  }\n  interface Item$2 {\n      /** Unique line item ID. */\n      _id?: string;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item name. */\n      name?: string;\n      /** Line item price. */\n      price?: Money$7;\n      /** Total price for line items. Always equal to price * quantity. */\n      total?: Money$7;\n      /** Discount applied to the line item. */\n      discount?: Discount$1;\n      /** Tax applied to the item. */\n      tax?: Tax$1;\n      /**\n       * Fees applied to the item.\n       * @readonly\n       */\n      fees?: Fee$1[];\n  }\n  interface Discount$1 {\n      /** Total discount amount. */\n      amount?: Money$7;\n      /** Total charge after applied discount. */\n      afterDiscount?: Money$7;\n      /**\n       * Discount coupon code.\n       * @deprecated\n       */\n      code?: string;\n      /**\n       * Discount coupon name.\n       * @deprecated\n       */\n      name?: string;\n      /**\n       * Discount coupon ID.\n       * @deprecated\n       */\n      couponId?: string;\n      /** Discount items. */\n      discounts?: DiscountItem$1[];\n  }\n  interface DiscountItem$1 extends DiscountItemDiscountOneOf$1 {\n      /** Coupon discount. */\n      coupon?: CouponDiscount$1;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount$1;\n      /** Total discount amount. */\n      amount?: Money$7;\n  }\n  /** @oneof */\n  interface DiscountItemDiscountOneOf$1 {\n      /** Coupon discount. */\n      coupon?: CouponDiscount$1;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount$1;\n  }\n  interface CouponDiscount$1 {\n      /** Discount coupon name. */\n      name?: string;\n      /** Discount coupon code. */\n      code?: string;\n      /** Discount coupon ID. */\n      couponId?: string;\n  }\n  interface PaidPlanDiscount$1 extends PaidPlanDiscountDiscountOneOf$1 {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount$1;\n      /** Name of pricing plan. */\n      name?: string;\n  }\n  /** @oneof */\n  interface PaidPlanDiscountDiscountOneOf$1 {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount$1;\n  }\n  interface PercentDiscount$1 {\n      /** Percent rate. */\n      rate?: string;\n      /** Number of discounted tickets. */\n      quantityDiscounted?: number;\n  }\n  interface Tax$1 {\n      /** Tax type. */\n      type?: TaxType$5;\n      /**\n       * Tax name.\n       * @readonly\n       */\n      name?: string;\n      /** Tax rate. */\n      rate?: string;\n      /** Taxable amount. */\n      taxable?: Money$7;\n      /** Total tax amount. */\n      amount?: Money$7;\n  }\n  interface Fee$1 {\n      /** Fee identifier. */\n      name?: FeeName$1;\n      /** How fee is calculated. */\n      type?: FeeType$2;\n      /**\n       * Fee rate.\n       * @readonly\n       */\n      rate?: string;\n      /** Total amount of fee charges. */\n      amount?: Money$7;\n  }\n  enum FeeName$1 {\n      /** Wix ticket service fee charges applied to the line item. */\n      WIX_FEE = \"WIX_FEE\"\n  }\n  enum FeeType$2 {\n      /** Fee is added to the ticket price at checkout. */\n      FEE_ADDED = \"FEE_ADDED\",\n      /** Seller absorbs the fee. It is deducted from the ticket price. */\n      FEE_INCLUDED = \"FEE_INCLUDED\",\n      /** Fee is added to the ticket price at checkout. */\n      FEE_ADDED_AT_CHECKOUT = \"FEE_ADDED_AT_CHECKOUT\"\n  }\n  /** Produced if a buyer email was added to the existing order */\n  interface OrderEmailAdded {\n      /** Order updated timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string | null;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date | null;\n      /** Buyer first name. */\n      firstName?: string | null;\n      /** Buyer last name. */\n      lastName?: string | null;\n      /** Buyer email. */\n      email?: string | null;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$4;\n      /** Whether order is confirmed - occurs once payment gateway processes the payment and funds reach merchant's account. */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus$2;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets generated after payment. */\n      tickets?: Ticket$2[];\n      /** Whether order was archived and excluded from results. */\n      archived?: boolean;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  interface EventCanceled$2 {\n      /** Event canceled timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n  }\n  interface EventReminder$1 {\n      /** Reminder timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$6;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$6;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Time until the event starts (currently, reminder is triggered 1 day before event starts). */\n      startsIn?: TimeDuration$1;\n  }\n  /**\n   * A coarse-grained representation of time duration divided into whole constituting components of days, hours, and minutes.\n   * For example, 25.5 hours duration is represented as `{ days: 1, hours: 1, minutes: 30 }`.\n   */\n  interface TimeDuration$1 {\n      /** Number of days. */\n      days?: number;\n      /** Number of hours. */\n      hours?: number;\n      /** Number of minutes. */\n      minutes?: number;\n  }\n  interface OrderPaid$1 {\n      /** Order paid timestamp in ISO UTC. */\n      timestamp?: Date | null;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp\n       * @readonly\n       */\n      created?: Date | null;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$4;\n      /** Order status. */\n      status?: OrderStatus$2;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets (generated after payment). */\n      tickets?: Ticket$2[];\n      /** Invoice. */\n      invoice?: Invoice$1;\n  }\n  interface TicketPdfResolved {\n      /** Optional order number */\n      orderNumber?: string | null;\n      /** Optional ticket number */\n      ticketNumber?: string | null;\n      /** Resolved download url */\n      downloadUrl?: string | null;\n      /** Resolve status */\n      resolveFailed?: boolean | null;\n      /** Papyrus document id */\n      documentId?: string | null;\n  }\n  interface TicketPdfResolveDelayed {\n      /** Optional order number */\n      orderNumber?: string | null;\n      /** Optional ticket number */\n      ticketNumber?: string | null;\n      /** Papyrus document id */\n      documentId?: string | null;\n  }\n  interface OrderCanceled {\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Buyer first name. */\n      firstName?: string | null;\n      /** Buyer last name. */\n      lastName?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$4;\n      /** Invoice. */\n      invoice?: Invoice$1;\n  }\n  interface EventEnded$2 {\n      /** Event end timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface EventStarted$1 {\n      /** Event start timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface ResolveNotificationConfigRequest {\n      /** Id of the NotificationConfig to retrieve */\n      notificationConfigId: string;\n  }\n  interface ResolveNotificationConfigResponse {\n      /** The retrieved NotificationConfig */\n      notificationConfig?: NotificationConfig;\n  }\n  interface UpsertNotificationConfigRequest {\n      /** NotificationConfig to be upserted */\n      notificationConfig: NotificationConfig;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpsertNotificationConfigResponse {\n      /** The upserted NotificationConfig */\n      notificationConfig?: NotificationConfig;\n  }\n  interface ResolveEmailNotificationConfigRequest {\n      /** Id of the NotificationConfig to retrieve */\n      notificationConfigId?: string;\n      /** Notification type */\n      notificationType?: EmailNotificationType;\n  }\n  interface ResolveEmailNotificationConfigResponse {\n      /** The retrieved EmailNotificationConfig */\n      emailNotificationConfig?: EmailNotificationConfig;\n  }\n  interface EventDeleted$4 {\n      /** Event deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /**\n       * Event categories.\n       * @internal\n       */\n      categories?: string[];\n  }\n  interface EventCopied$3 {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$6;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$6;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus$6;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n      /**\n       * Map of copied ticket definitions from original event.\n       * Key represents ticket def id in the original event.\n       * Value represents ticket def id in the newly created event.\n       */\n      ticketDefinitions?: Record<string, string>;\n  }\n  interface MessageEnvelope$c {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$c;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$c extends IdentificationDataIdOneOf$c {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$c;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$c {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$c {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Triggers notification\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_EVENTS.MANAGE\n   * @adminMethod\n   */\n  function triggerNotification(options?: TriggerNotificationOptions): Promise<void>;\n  interface TriggerNotificationOptions extends TriggerNotificationRequestNotificationOneOf, TriggerNotificationRequestGuestsOneOf {\n      /** Email notification type */\n      emailNotificationType?: EmailNotificationType;\n      /** Push notification type */\n      pushNotificationType?: PushNotificationType;\n      /** Rsvp guest info */\n      rsvpGuest?: RsvpGuest;\n      /** Order guest info */\n      orderGuest?: OrderGuest;\n      /** Event guests info */\n      eventGuests?: EventGuests;\n      /** Ticket guests info */\n      ticketGuest?: TicketGuest;\n  }\n  /**\n   * Resolves a NotificationConfig by id. Returns saved value or default value if not saved yet.\n   * @param notificationConfigId - Id of the NotificationConfig to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField notificationConfigId\n   * @permissionId WIX_EVENTS.READ_NOTIFICATION_CONFIG\n   * @adminMethod\n   */\n  function resolveNotificationConfig(notificationConfigId: string): Promise<ResolveNotificationConfigResponse>;\n  /**\n   * Upsert a NotificationConfig\n   * @param _id - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField notificationConfig\n   * @permissionId WIX_EVENTS.UPDATE_NOTIFICATION_CONFIG\n   * @adminMethod\n   */\n  function upsertNotificationConfig(_id: string | null, notificationConfig: UpsertNotificationConfig, options?: UpsertNotificationConfigOptions): Promise<UpsertNotificationConfigResponse>;\n  interface UpsertNotificationConfig {\n      /** Event ID. */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision. */\n      revision?: string | null;\n      /**\n       * Represents the time this NotificationConfig was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this NotificationConfig was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Rsvp confirmation. */\n      rsvpConfirmation?: EmailNotificationConfig;\n      /** New spots available. */\n      newSpotsAvailable?: EmailNotificationConfig;\n      /** Event cancelation. */\n      eventCancelation?: EmailNotificationConfig;\n      /** Event reminder. */\n      upcomingEventReminder?: EmailNotificationConfig;\n      /** Order confirmation. */\n      orderConfirmation?: EmailNotificationConfig;\n      /** Ticket confirmation. */\n      ticketConfirmation?: EmailNotificationConfig;\n      /** Invoice. */\n      invoice?: EmailNotificationConfig;\n      /** Order confirmation with tickets link. */\n      orderConfirmationWithTicketsLink?: EmailNotificationConfig;\n  }\n  interface UpsertNotificationConfigOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  \n  type eventsNotificationsV2NotificationConfig_universal_d_NotificationConfig = NotificationConfig;\n  type eventsNotificationsV2NotificationConfig_universal_d_EmailNotificationConfig = EmailNotificationConfig;\n  type eventsNotificationsV2NotificationConfig_universal_d_EmailNotificationType = EmailNotificationType;\n  const eventsNotificationsV2NotificationConfig_universal_d_EmailNotificationType: typeof EmailNotificationType;\n  type eventsNotificationsV2NotificationConfig_universal_d_EmailTemplate = EmailTemplate;\n  type eventsNotificationsV2NotificationConfig_universal_d_EmailNotificationReminderTime = EmailNotificationReminderTime;\n  const eventsNotificationsV2NotificationConfig_universal_d_EmailNotificationReminderTime: typeof EmailNotificationReminderTime;\n  type eventsNotificationsV2NotificationConfig_universal_d_TriggerNotificationRequest = TriggerNotificationRequest;\n  type eventsNotificationsV2NotificationConfig_universal_d_TriggerNotificationRequestNotificationOneOf = TriggerNotificationRequestNotificationOneOf;\n  type eventsNotificationsV2NotificationConfig_universal_d_TriggerNotificationRequestGuestsOneOf = TriggerNotificationRequestGuestsOneOf;\n  type eventsNotificationsV2NotificationConfig_universal_d_PushNotificationType = PushNotificationType;\n  const eventsNotificationsV2NotificationConfig_universal_d_PushNotificationType: typeof PushNotificationType;\n  type eventsNotificationsV2NotificationConfig_universal_d_RsvpGuest = RsvpGuest;\n  type eventsNotificationsV2NotificationConfig_universal_d_OrderGuest = OrderGuest;\n  type eventsNotificationsV2NotificationConfig_universal_d_EventGuests = EventGuests;\n  type eventsNotificationsV2NotificationConfig_universal_d_TicketGuest = TicketGuest;\n  type eventsNotificationsV2NotificationConfig_universal_d_TriggerNotificationResponse = TriggerNotificationResponse;\n  type eventsNotificationsV2NotificationConfig_universal_d_OrderEmailAdded = OrderEmailAdded;\n  type eventsNotificationsV2NotificationConfig_universal_d_TicketPdfResolved = TicketPdfResolved;\n  type eventsNotificationsV2NotificationConfig_universal_d_TicketPdfResolveDelayed = TicketPdfResolveDelayed;\n  type eventsNotificationsV2NotificationConfig_universal_d_OrderCanceled = OrderCanceled;\n  type eventsNotificationsV2NotificationConfig_universal_d_ResolveNotificationConfigRequest = ResolveNotificationConfigRequest;\n  type eventsNotificationsV2NotificationConfig_universal_d_ResolveNotificationConfigResponse = ResolveNotificationConfigResponse;\n  type eventsNotificationsV2NotificationConfig_universal_d_UpsertNotificationConfigRequest = UpsertNotificationConfigRequest;\n  type eventsNotificationsV2NotificationConfig_universal_d_UpsertNotificationConfigResponse = UpsertNotificationConfigResponse;\n  type eventsNotificationsV2NotificationConfig_universal_d_ResolveEmailNotificationConfigRequest = ResolveEmailNotificationConfigRequest;\n  type eventsNotificationsV2NotificationConfig_universal_d_ResolveEmailNotificationConfigResponse = ResolveEmailNotificationConfigResponse;\n  const eventsNotificationsV2NotificationConfig_universal_d_triggerNotification: typeof triggerNotification;\n  type eventsNotificationsV2NotificationConfig_universal_d_TriggerNotificationOptions = TriggerNotificationOptions;\n  const eventsNotificationsV2NotificationConfig_universal_d_resolveNotificationConfig: typeof resolveNotificationConfig;\n  const eventsNotificationsV2NotificationConfig_universal_d_upsertNotificationConfig: typeof upsertNotificationConfig;\n  type eventsNotificationsV2NotificationConfig_universal_d_UpsertNotificationConfig = UpsertNotificationConfig;\n  type eventsNotificationsV2NotificationConfig_universal_d_UpsertNotificationConfigOptions = UpsertNotificationConfigOptions;\n  namespace eventsNotificationsV2NotificationConfig_universal_d {\n    export {\n      eventsNotificationsV2NotificationConfig_universal_d_NotificationConfig as NotificationConfig,\n      eventsNotificationsV2NotificationConfig_universal_d_EmailNotificationConfig as EmailNotificationConfig,\n      eventsNotificationsV2NotificationConfig_universal_d_EmailNotificationType as EmailNotificationType,\n      eventsNotificationsV2NotificationConfig_universal_d_EmailTemplate as EmailTemplate,\n      Link$1 as Link,\n      eventsNotificationsV2NotificationConfig_universal_d_EmailNotificationReminderTime as EmailNotificationReminderTime,\n      eventsNotificationsV2NotificationConfig_universal_d_TriggerNotificationRequest as TriggerNotificationRequest,\n      eventsNotificationsV2NotificationConfig_universal_d_TriggerNotificationRequestNotificationOneOf as TriggerNotificationRequestNotificationOneOf,\n      eventsNotificationsV2NotificationConfig_universal_d_TriggerNotificationRequestGuestsOneOf as TriggerNotificationRequestGuestsOneOf,\n      eventsNotificationsV2NotificationConfig_universal_d_PushNotificationType as PushNotificationType,\n      eventsNotificationsV2NotificationConfig_universal_d_RsvpGuest as RsvpGuest,\n      eventsNotificationsV2NotificationConfig_universal_d_OrderGuest as OrderGuest,\n      eventsNotificationsV2NotificationConfig_universal_d_EventGuests as EventGuests,\n      eventsNotificationsV2NotificationConfig_universal_d_TicketGuest as TicketGuest,\n      eventsNotificationsV2NotificationConfig_universal_d_TriggerNotificationResponse as TriggerNotificationResponse,\n      RsvpCreated$1 as RsvpCreated,\n      FormResponse$4 as FormResponse,\n      InputValue$4 as InputValue,\n      FormattedAddress$4 as FormattedAddress,\n      CommonAddress$3 as CommonAddress,\n      CommonAddressStreetOneOf$3 as CommonAddressStreetOneOf,\n      CommonStreetAddress$3 as CommonStreetAddress,\n      CommonAddressLocation$3 as CommonAddressLocation,\n      CommonSubdivision$3 as CommonSubdivision,\n      SubdivisionType$9 as SubdivisionType,\n      StandardDetails$4 as StandardDetails,\n      RsvpStatus$2 as RsvpStatus,\n      Guest$3 as Guest,\n      CheckIn$3 as CheckIn,\n      OnlineConferencingLogin$4 as OnlineConferencingLogin,\n      Empty$5 as Empty,\n      RsvpUpdated$1 as RsvpUpdated,\n      DomainEvent$8 as DomainEvent,\n      DomainEventBodyOneOf$8 as DomainEventBodyOneOf,\n      EntityCreatedEvent$8 as EntityCreatedEvent,\n      RestoreInfo$8 as RestoreInfo,\n      EntityUpdatedEvent$8 as EntityUpdatedEvent,\n      EntityDeletedEvent$8 as EntityDeletedEvent,\n      ActionEvent$8 as ActionEvent,\n      EventUpdated$3 as EventUpdated,\n      Location$6 as Location,\n      MapCoordinates$6 as MapCoordinates,\n      LocationType$6 as LocationType,\n      Address$9 as Address,\n      AddressStreetOneOf$9 as AddressStreetOneOf,\n      StreetAddress$9 as StreetAddress,\n      AddressLocation$9 as AddressLocation,\n      Subdivision$9 as Subdivision,\n      ScheduleConfig$6 as ScheduleConfig,\n      Recurrences$6 as Recurrences,\n      Occurrence$6 as Occurrence,\n      Status$7 as Status,\n      Event$4 as Event,\n      Scheduling$4 as Scheduling,\n      EventStatus$6 as EventStatus,\n      Registration$4 as Registration,\n      EventType$4 as EventType,\n      RegistrationStatus$4 as RegistrationStatus,\n      RsvpCollection$4 as RsvpCollection,\n      RsvpCollectionConfig$4 as RsvpCollectionConfig,\n      RsvpStatusOptions$4 as RsvpStatusOptions,\n      Ticketing$4 as Ticketing,\n      TicketingConfig$4 as TicketingConfig,\n      TaxConfig$4 as TaxConfig,\n      TaxType$5 as TaxType,\n      Money$7 as Money,\n      ExternalEvent$4 as ExternalEvent,\n      VisitorType$4 as VisitorType,\n      CalendarLinks$6 as CalendarLinks,\n      SiteUrl$4 as SiteUrl,\n      Form$4 as Form,\n      InputControl$4 as InputControl,\n      InputControlType$4 as InputControlType,\n      Input$4 as Input,\n      ValueType$4 as ValueType,\n      OptionSelection$4 as OptionSelection,\n      OptionSelectionSelectedOptionOneOf$4 as OptionSelectionSelectedOptionOneOf,\n      Label$4 as Label,\n      FormMessages$4 as FormMessages,\n      RsvpFormMessages$4 as RsvpFormMessages,\n      PositiveResponseConfirmation$4 as PositiveResponseConfirmation,\n      NegativeResponseConfirmation$4 as NegativeResponseConfirmation,\n      Positive$4 as Positive,\n      Negative$4 as Negative,\n      CheckoutFormMessages$4 as CheckoutFormMessages,\n      ResponseConfirmation$4 as ResponseConfirmation,\n      RegistrationClosedMessages$4 as RegistrationClosedMessages,\n      TicketsUnavailableMessages$4 as TicketsUnavailableMessages,\n      Dashboard$6 as Dashboard,\n      RsvpSummary$5 as RsvpSummary,\n      TicketingSummary$4 as TicketingSummary,\n      GuestListConfig$4 as GuestListConfig,\n      Feed$4 as Feed,\n      OnlineConferencing$4 as OnlineConferencing,\n      OnlineConferencingConfig$4 as OnlineConferencingConfig,\n      ConferenceType$4 as ConferenceType,\n      OnlineConferencingSession$4 as OnlineConferencingSession,\n      SeoSettings$4 as SeoSettings,\n      SeoSchema$4 as SeoSchema,\n      Keyword$4 as Keyword,\n      Tag$4 as Tag,\n      Settings$5 as Settings,\n      Agenda$4 as Agenda,\n      Category$5 as Category,\n      CategoryCounts$5 as CategoryCounts,\n      State$8 as State,\n      EventDisplaySettings$4 as EventDisplaySettings,\n      LabellingSettings$4 as LabellingSettings,\n      OrderConfirmed$1 as OrderConfirmed,\n      OrderStatus$2 as OrderStatus,\n      Ticket$2 as Ticket,\n      Invoice$1 as Invoice,\n      Item$2 as Item,\n      Discount$1 as Discount,\n      DiscountItem$1 as DiscountItem,\n      DiscountItemDiscountOneOf$1 as DiscountItemDiscountOneOf,\n      CouponDiscount$1 as CouponDiscount,\n      PaidPlanDiscount$1 as PaidPlanDiscount,\n      PaidPlanDiscountDiscountOneOf$1 as PaidPlanDiscountDiscountOneOf,\n      PercentDiscount$1 as PercentDiscount,\n      Tax$1 as Tax,\n      Fee$1 as Fee,\n      FeeName$1 as FeeName,\n      FeeType$2 as FeeType,\n      eventsNotificationsV2NotificationConfig_universal_d_OrderEmailAdded as OrderEmailAdded,\n      EventCanceled$2 as EventCanceled,\n      EventReminder$1 as EventReminder,\n      TimeDuration$1 as TimeDuration,\n      OrderPaid$1 as OrderPaid,\n      eventsNotificationsV2NotificationConfig_universal_d_TicketPdfResolved as TicketPdfResolved,\n      eventsNotificationsV2NotificationConfig_universal_d_TicketPdfResolveDelayed as TicketPdfResolveDelayed,\n      eventsNotificationsV2NotificationConfig_universal_d_OrderCanceled as OrderCanceled,\n      EventEnded$2 as EventEnded,\n      EventStarted$1 as EventStarted,\n      eventsNotificationsV2NotificationConfig_universal_d_ResolveNotificationConfigRequest as ResolveNotificationConfigRequest,\n      eventsNotificationsV2NotificationConfig_universal_d_ResolveNotificationConfigResponse as ResolveNotificationConfigResponse,\n      eventsNotificationsV2NotificationConfig_universal_d_UpsertNotificationConfigRequest as UpsertNotificationConfigRequest,\n      eventsNotificationsV2NotificationConfig_universal_d_UpsertNotificationConfigResponse as UpsertNotificationConfigResponse,\n      eventsNotificationsV2NotificationConfig_universal_d_ResolveEmailNotificationConfigRequest as ResolveEmailNotificationConfigRequest,\n      eventsNotificationsV2NotificationConfig_universal_d_ResolveEmailNotificationConfigResponse as ResolveEmailNotificationConfigResponse,\n      EventDeleted$4 as EventDeleted,\n      EventCopied$3 as EventCopied,\n      MessageEnvelope$c as MessageEnvelope,\n      IdentificationData$c as IdentificationData,\n      IdentificationDataIdOneOf$c as IdentificationDataIdOneOf,\n      WebhookIdentityType$c as WebhookIdentityType,\n      eventsNotificationsV2NotificationConfig_universal_d_triggerNotification as triggerNotification,\n      eventsNotificationsV2NotificationConfig_universal_d_TriggerNotificationOptions as TriggerNotificationOptions,\n      eventsNotificationsV2NotificationConfig_universal_d_resolveNotificationConfig as resolveNotificationConfig,\n      eventsNotificationsV2NotificationConfig_universal_d_upsertNotificationConfig as upsertNotificationConfig,\n      eventsNotificationsV2NotificationConfig_universal_d_UpsertNotificationConfig as UpsertNotificationConfig,\n      eventsNotificationsV2NotificationConfig_universal_d_UpsertNotificationConfigOptions as UpsertNotificationConfigOptions,\n    };\n  }\n  \n  /** Schedule item describes the schedule within an event. Each event may contain multiple schedule items. */\n  interface ScheduleItem$1 {\n      /**\n       * Schedule item ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Whether a schedule item is hidden from guests. */\n      hidden?: boolean;\n      /** Schedule item name. */\n      name?: string;\n      /** Time slot of a schedule item. */\n      timeSlot?: TimeInterval$1;\n      /** Rich text schedule item description. */\n      description?: string;\n      /** Stage or room name in which the session takes place. */\n      stageName?: string;\n      /** Schedule item tags. They're used to organize the items to a theme. */\n      tags?: string[];\n      /**\n       * Schedule item status. Possible values:\n       * - `SCHEDULED`: An item is scheduled.\n       * - `CANCELED`: An item is canceled.\n       */\n      status?: ScheduleStatus$1;\n      /**\n       * Date and time when the schedule item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the schedule item was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Event ID to which the schedule belongs.\n       * @readonly\n       */\n      eventId?: string;\n      /**\n       * Whether the schedule item is draft.\n       * @readonly\n       */\n      draft?: boolean;\n  }\n  /** Time interval on the timeline between two points in time. */\n  interface TimeInterval$1 {\n      /** Start of the interval. Inclusive. */\n      start?: Date | null;\n      /** End of the interval. Non-inclusive. */\n      end?: Date | null;\n      /**\n       * Time zone ID in the [TZ database](https://www.iana.org/time-zones) format. For example, `EST`, `America/Los_Angeles`.\n       * Default: `Etc/UTC`.\n       */\n      timeZoneId?: string | null;\n  }\n  enum ScheduleStatus$1 {\n      /** Item is scheduled for a future date. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Item is canceled. */\n      CANCELED = \"CANCELED\"\n  }\n  interface ListScheduleItemsRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId?: string[];\n      /**\n       * Schedule item state filter. Possible values:\n       * - `PUBLISHED`: The schedule item is published.\n       * - `DRAFT`: The schedule item is in the draft. You need the \"WIX_EVENTS.MANAGE_AGENDA\" permissions to change this state.\n       * - `VISIBLE`: The schedule item is visible to guests.\n       * - `HIDDEN`: The schedule item is hidden from guests. You need the \"WIX_EVENTS.MANAGE_AGENDA\" permissions to change this state.\n       * Default: Filters by the `PUBLISHED` and `VISIBLE` states.\n       */\n      state?: StateFilter$1[];\n      /** Filters schedule items starting on or after specified point in time. Inclusive. */\n      startingFrom?: Date | null;\n      /** Filters schedule items starting before specified point in time. Non-inclusive. */\n      startingBefore?: Date | null;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       * @deprecated\n       */\n      offset?: number;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       * @deprecated\n       */\n      limit?: number;\n      /**\n       * Filter facets.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-schedule-items).\n       */\n      facet?: string[];\n      /** Schedule item ID. */\n      itemId?: string[];\n      /** Schedule item tags. They're used to organize the items to a theme. */\n      tag?: string[];\n      /** Stage or room name in which the session takes place. */\n      stageName?: string[];\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$8;\n  }\n  enum StateFilter$1 {\n      /** Schedule item is published. */\n      PUBLISHED = \"PUBLISHED\",\n      /** Opposite of `PUBLISHED`. Requires `WIX_EVENTS.MANAGE_AGENDA` permission. */\n      DRAFT = \"DRAFT\",\n      /** Schedule item is visible to the public. */\n      VISIBLE = \"VISIBLE\",\n      /** Opposite of `VISIBLE`. Requires `WIX_EVENTS.MANAGE_AGENDA` permission. */\n      HIDDEN = \"HIDDEN\"\n  }\n  interface Paging$8 {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListScheduleItemsResponse$1 {\n      /**\n       * Deprecated, use `paging_metadata.total`.\n       * Total schedule items matching the given filters.\n       * @readonly\n       * @deprecated\n       */\n      total?: number;\n      /**\n       * Deprecated.\n       * Limit.\n       * @deprecated\n       */\n      limit?: number;\n      /**\n       * Deprecated, use `paging_metadata.offset`.\n       * Offset.\n       * @deprecated\n       */\n      offset?: number;\n      /** Schedule items. */\n      items?: ScheduleItem$1[];\n      /**\n       * Facets.\n       * @readonly\n       */\n      facets?: Record<string, FacetCounts$7>;\n      /**\n       * Whether there are draft changes which have not been published yet.\n       * Returned only when filtering by single `event_id` with `WIX_EVENTS.MANAGE_AGENDA` permission.\n       * @readonly\n       */\n      draftNotPublished?: boolean | null;\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadataV2$8;\n  }\n  interface FacetCounts$7 {\n      /** Facet counts aggregated per value. */\n      counts?: Record<string, number>;\n  }\n  interface PagingMetadataV2$8 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$9;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$9 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryScheduleItemsRequest$1 {\n      query?: QueryV2$7;\n  }\n  interface QueryV2$7 extends QueryV2PagingMethodOneOf$7 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$8;\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: Sorting$9[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$7 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$8;\n  }\n  interface Sorting$9 {\n      /** Name of the field to sort by */\n      fieldName?: string;\n      /** Sort order (ASC/DESC). Defaults to ASC */\n      order?: SortOrder$9;\n  }\n  enum SortOrder$9 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryScheduleItemsResponse$1 {\n      pagingMetadata?: PagingMetadataV2$8;\n      /** Schedule items. */\n      items?: ScheduleItem$1[];\n  }\n  interface GetScheduleItemRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId?: string;\n      /** Schedule item ID. */\n      itemId: string;\n      /** Whether to include draft schedules in the response. */\n      includeDraft?: boolean;\n  }\n  interface GetScheduleItemResponse$1 {\n      /** Schedule item. */\n      item?: ScheduleItem$1;\n      /** Draft of the Schedule item. */\n      draft?: ScheduleItem$1;\n  }\n  interface AddScheduleItemRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /** Schedule item. */\n      item?: ScheduleItemData$1;\n  }\n  /** Schedule item describes the schedule within an event. Each event may contain multiple schedule items. */\n  interface ScheduleItemData$1 {\n      /** Whether a schedule item is hidden from guests. */\n      hidden?: boolean;\n      /** Schedule item name. */\n      name?: string;\n      /** Time slot of a schedule item. */\n      timeSlot?: TimeInterval$1;\n      /** Rich text schedule item description. */\n      description?: string;\n      /** Stage or room name in which the session takes place. */\n      stageName?: string;\n      /** Schedule item tags. They're used to organize the items to a theme. */\n      tags?: string[];\n      /**\n       * Schedule item status. Possible values:\n       * - `SCHEDULED`: An item is scheduled.\n       * - `CANCELED`: An item is canceled.\n       */\n      status?: ScheduleStatus$1;\n  }\n  interface AddScheduleItemResponse$1 {\n      /** Schedule item. */\n      item?: ScheduleItem$1;\n  }\n  interface UpdateScheduleItemRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n      /** Schedule item. */\n      item?: ScheduleItemData$1;\n      /**\n       * Set of field paths to update.\n       * When fields are empty, request is interpreted as full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface UpdateScheduleItemResponse$1 {\n      /** Schedule item. */\n      item?: ScheduleItem$1;\n  }\n  interface DeleteScheduleItemRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /** Schedule items to delete. */\n      itemIds?: string[];\n  }\n  interface DeleteScheduleItemResponse$1 {\n  }\n  interface DiscardDraftRequest$2 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n  }\n  interface DiscardDraftResponse$2 {\n  }\n  interface PublishDraftRequest$2 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n  }\n  interface PublishDraftResponse$2 {\n  }\n  interface RescheduleDraftRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /**\n       * Time zone ID in the [TZ database](https://www.iana.org/time-zones) format. For example, `EST`, `America/Los_Angeles`.\n       * Default: `Etc/UTC`.\n       */\n      timeZoneId: string;\n      /** Offset added or subtracted from the start and end times of schedule items. */\n      timeSlotOffset?: GoogleProtoDuration$1;\n  }\n  interface RescheduleDraftResponse$1 {\n  }\n  interface ListBookmarksRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n  }\n  interface ListBookmarksResponse$1 {\n      /** Schedule items. */\n      items?: ScheduleItem$1[];\n  }\n  interface CreateBookmarkRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n  }\n  interface CreateBookmarkResponse$1 {\n  }\n  interface DeleteBookmarkRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n  }\n  interface DeleteBookmarkResponse$1 {\n  }\n  type GoogleProtoDuration$1 = any;\n  /**\n   * Retrieves a list of bookmarked schedule items for a currently logged-in member.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the schedule belongs.\n   * @permissionId WIX_EVENTS.READ_AGENDA_BOOKMARKS\n   */\n  function listBookmarks(eventId: string): Promise<ListBookmarksResponse$1>;\n  /**\n   * Bookmarks a schedule item for a currently logged-in member.\n   * @param itemId - Schedule item ID.\n   * @public\n   * @requiredField eventId\n   * @requiredField itemId\n   * @param eventId - Event ID to which the schedule belongs.\n   * @permissionId WIX_EVENTS.MANAGE_AGENDA_BOOKMARKS\n   */\n  function createBookmark(itemId: string, eventId: string): Promise<void>;\n  /**\n   * Removes a schedule item bookmark for a currently logged-in member.\n   * @param itemId - Schedule item ID.\n   * @public\n   * @requiredField eventId\n   * @requiredField itemId\n   * @param eventId - Event ID to which the schedule belongs.\n   * @permissionId WIX_EVENTS.MANAGE_AGENDA_BOOKMARKS\n   */\n  function deleteBookmark(itemId: string, eventId: string): Promise<void>;\n  \n  const eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_listBookmarks: typeof listBookmarks;\n  const eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_createBookmark: typeof createBookmark;\n  const eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_deleteBookmark: typeof deleteBookmark;\n  namespace eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d {\n    export {\n      ScheduleItem$1 as ScheduleItem,\n      TimeInterval$1 as TimeInterval,\n      ScheduleStatus$1 as ScheduleStatus,\n      ListScheduleItemsRequest$1 as ListScheduleItemsRequest,\n      StateFilter$1 as StateFilter,\n      Paging$8 as Paging,\n      ListScheduleItemsResponse$1 as ListScheduleItemsResponse,\n      FacetCounts$7 as FacetCounts,\n      PagingMetadataV2$8 as PagingMetadataV2,\n      Cursors$9 as Cursors,\n      QueryScheduleItemsRequest$1 as QueryScheduleItemsRequest,\n      QueryV2$7 as QueryV2,\n      QueryV2PagingMethodOneOf$7 as QueryV2PagingMethodOneOf,\n      Sorting$9 as Sorting,\n      SortOrder$9 as SortOrder,\n      QueryScheduleItemsResponse$1 as QueryScheduleItemsResponse,\n      GetScheduleItemRequest$1 as GetScheduleItemRequest,\n      GetScheduleItemResponse$1 as GetScheduleItemResponse,\n      AddScheduleItemRequest$1 as AddScheduleItemRequest,\n      ScheduleItemData$1 as ScheduleItemData,\n      AddScheduleItemResponse$1 as AddScheduleItemResponse,\n      UpdateScheduleItemRequest$1 as UpdateScheduleItemRequest,\n      UpdateScheduleItemResponse$1 as UpdateScheduleItemResponse,\n      DeleteScheduleItemRequest$1 as DeleteScheduleItemRequest,\n      DeleteScheduleItemResponse$1 as DeleteScheduleItemResponse,\n      DiscardDraftRequest$2 as DiscardDraftRequest,\n      DiscardDraftResponse$2 as DiscardDraftResponse,\n      PublishDraftRequest$2 as PublishDraftRequest,\n      PublishDraftResponse$2 as PublishDraftResponse,\n      RescheduleDraftRequest$1 as RescheduleDraftRequest,\n      RescheduleDraftResponse$1 as RescheduleDraftResponse,\n      ListBookmarksRequest$1 as ListBookmarksRequest,\n      ListBookmarksResponse$1 as ListBookmarksResponse,\n      CreateBookmarkRequest$1 as CreateBookmarkRequest,\n      CreateBookmarkResponse$1 as CreateBookmarkResponse,\n      DeleteBookmarkRequest$1 as DeleteBookmarkRequest,\n      DeleteBookmarkResponse$1 as DeleteBookmarkResponse,\n      eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_listBookmarks as listBookmarks,\n      eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_createBookmark as createBookmark,\n      eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_deleteBookmark as deleteBookmark,\n    };\n  }\n  \n  /** Schedule item describes the schedule within an event. Each event may contain multiple schedule items. */\n  interface ScheduleItem {\n      /**\n       * Schedule item ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Whether a schedule item is hidden from guests. */\n      hidden?: boolean;\n      /** Schedule item name. */\n      name?: string;\n      /** Time slot of a schedule item. */\n      timeSlot?: TimeInterval;\n      /** Rich text schedule item description. */\n      description?: string;\n      /** Stage or room name in which the session takes place. */\n      stageName?: string;\n      /** Schedule item tags. They're used to organize the items to a theme. */\n      tags?: string[];\n      /**\n       * Schedule item status. Possible values:\n       * - `SCHEDULED`: An item is scheduled.\n       * - `CANCELED`: An item is canceled.\n       */\n      status?: ScheduleStatus;\n      /**\n       * Date and time when the schedule item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the schedule item was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Event ID to which the schedule belongs.\n       * @readonly\n       */\n      eventId?: string;\n      /**\n       * Whether the schedule item is draft.\n       * @readonly\n       */\n      draft?: boolean;\n  }\n  /** Time interval on the timeline between two points in time. */\n  interface TimeInterval {\n      /** Start of the interval. Inclusive. */\n      start?: Date | null;\n      /** End of the interval. Non-inclusive. */\n      end?: Date | null;\n      /**\n       * Time zone ID in the [TZ database](https://www.iana.org/time-zones) format. For example, `EST`, `America/Los_Angeles`.\n       * Default: `Etc/UTC`.\n       */\n      timeZoneId?: string | null;\n  }\n  enum ScheduleStatus {\n      /** Item is scheduled for a future date. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Item is canceled. */\n      CANCELED = \"CANCELED\"\n  }\n  interface ListScheduleItemsRequest {\n      /** Event ID to which the schedule belongs. */\n      eventId?: string[];\n      /**\n       * Schedule item state filter. Possible values:\n       * - `PUBLISHED`: The schedule item is published.\n       * - `DRAFT`: The schedule item is in the draft. You need the \"WIX_EVENTS.MANAGE_AGENDA\" permissions to change this state.\n       * - `VISIBLE`: The schedule item is visible to guests.\n       * - `HIDDEN`: The schedule item is hidden from guests. You need the \"WIX_EVENTS.MANAGE_AGENDA\" permissions to change this state.\n       * Default: Filters by the `PUBLISHED` and `VISIBLE` states.\n       */\n      state?: StateFilter[];\n      /** Filters schedule items starting on or after specified point in time. Inclusive. */\n      startingFrom?: Date | null;\n      /** Filters schedule items starting before specified point in time. Non-inclusive. */\n      startingBefore?: Date | null;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       * @deprecated\n       */\n      offset?: number;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       * @deprecated\n       */\n      limit?: number;\n      /**\n       * Filter facets.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-schedule-items).\n       */\n      facet?: string[];\n      /** Schedule item ID. */\n      itemId?: string[];\n      /** Schedule item tags. They're used to organize the items to a theme. */\n      tag?: string[];\n      /** Stage or room name in which the session takes place. */\n      stageName?: string[];\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$7;\n  }\n  enum StateFilter {\n      /** Schedule item is published. */\n      PUBLISHED = \"PUBLISHED\",\n      /** Opposite of `PUBLISHED`. Requires `WIX_EVENTS.MANAGE_AGENDA` permission. */\n      DRAFT = \"DRAFT\",\n      /** Schedule item is visible to the public. */\n      VISIBLE = \"VISIBLE\",\n      /** Opposite of `VISIBLE`. Requires `WIX_EVENTS.MANAGE_AGENDA` permission. */\n      HIDDEN = \"HIDDEN\"\n  }\n  interface Paging$7 {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListScheduleItemsResponse {\n      /**\n       * Deprecated, use `paging_metadata.total`.\n       * Total schedule items matching the given filters.\n       * @readonly\n       * @deprecated\n       */\n      total?: number;\n      /**\n       * Deprecated.\n       * Limit.\n       * @deprecated\n       */\n      limit?: number;\n      /**\n       * Deprecated, use `paging_metadata.offset`.\n       * Offset.\n       * @deprecated\n       */\n      offset?: number;\n      /** Schedule items. */\n      items?: ScheduleItem[];\n      /**\n       * Facets.\n       * @readonly\n       */\n      facets?: Record<string, FacetCounts$6>;\n      /**\n       * Whether there are draft changes which have not been published yet.\n       * Returned only when filtering by single `event_id` with `WIX_EVENTS.MANAGE_AGENDA` permission.\n       * @readonly\n       */\n      draftNotPublished?: boolean | null;\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadataV2$7;\n  }\n  interface FacetCounts$6 {\n      /** Facet counts aggregated per value. */\n      counts?: Record<string, number>;\n  }\n  interface PagingMetadataV2$7 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$8;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$8 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryScheduleItemsRequest {\n      query?: QueryV2$6;\n  }\n  interface QueryV2$6 extends QueryV2PagingMethodOneOf$6 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$7;\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: Sorting$8[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$6 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$7;\n  }\n  interface Sorting$8 {\n      /** Name of the field to sort by */\n      fieldName?: string;\n      /** Sort order (ASC/DESC). Defaults to ASC */\n      order?: SortOrder$8;\n  }\n  enum SortOrder$8 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryScheduleItemsResponse {\n      pagingMetadata?: PagingMetadataV2$7;\n      /** Schedule items. */\n      items?: ScheduleItem[];\n  }\n  interface GetScheduleItemRequest {\n      /** Event ID to which the schedule belongs. */\n      eventId?: string;\n      /** Schedule item ID. */\n      itemId: string;\n      /** Whether to include draft schedules in the response. */\n      includeDraft?: boolean;\n  }\n  interface GetScheduleItemResponse {\n      /** Schedule item. */\n      item?: ScheduleItem;\n      /** Draft of the Schedule item. */\n      draft?: ScheduleItem;\n  }\n  interface AddScheduleItemRequest {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /** Schedule item. */\n      item?: ScheduleItemData;\n  }\n  /** Schedule item describes the schedule within an event. Each event may contain multiple schedule items. */\n  interface ScheduleItemData {\n      /** Whether a schedule item is hidden from guests. */\n      hidden?: boolean;\n      /** Schedule item name. */\n      name?: string;\n      /** Time slot of a schedule item. */\n      timeSlot?: TimeInterval;\n      /** Rich text schedule item description. */\n      description?: string;\n      /** Stage or room name in which the session takes place. */\n      stageName?: string;\n      /** Schedule item tags. They're used to organize the items to a theme. */\n      tags?: string[];\n      /**\n       * Schedule item status. Possible values:\n       * - `SCHEDULED`: An item is scheduled.\n       * - `CANCELED`: An item is canceled.\n       */\n      status?: ScheduleStatus;\n  }\n  interface AddScheduleItemResponse {\n      /** Schedule item. */\n      item?: ScheduleItem;\n  }\n  interface UpdateScheduleItemRequest {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n      /** Schedule item. */\n      item?: ScheduleItemData;\n      /**\n       * Set of field paths to update.\n       * When fields are empty, request is interpreted as full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface UpdateScheduleItemResponse {\n      /** Schedule item. */\n      item?: ScheduleItem;\n  }\n  interface DeleteScheduleItemRequest {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /** Schedule items to delete. */\n      itemIds?: string[];\n  }\n  interface DeleteScheduleItemResponse {\n  }\n  interface DiscardDraftRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n  }\n  interface DiscardDraftResponse$1 {\n  }\n  interface PublishDraftRequest$1 {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n  }\n  interface PublishDraftResponse$1 {\n  }\n  interface RescheduleDraftRequest {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /**\n       * Time zone ID in the [TZ database](https://www.iana.org/time-zones) format. For example, `EST`, `America/Los_Angeles`.\n       * Default: `Etc/UTC`.\n       */\n      timeZoneId: string;\n      /** Offset added or subtracted from the start and end times of schedule items. */\n      timeSlotOffset?: GoogleProtoDuration;\n  }\n  interface RescheduleDraftResponse {\n  }\n  interface ListBookmarksRequest {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n  }\n  interface ListBookmarksResponse {\n      /** Schedule items. */\n      items?: ScheduleItem[];\n  }\n  interface CreateBookmarkRequest {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n  }\n  interface CreateBookmarkResponse {\n  }\n  interface DeleteBookmarkRequest {\n      /** Event ID to which the schedule belongs. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n  }\n  interface DeleteBookmarkResponse {\n  }\n  type GoogleProtoDuration = any;\n  /**\n   * Retrieves a list of up to 100 schedule items\n   * @public\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_AGENDA\n   */\n  function listScheduleItems(options?: ListScheduleItemsOptions): Promise<ListScheduleItemsResponse>;\n  interface ListScheduleItemsOptions {\n      /** Event ID to which the schedule belongs. */\n      eventId?: string[];\n      /**\n       * Schedule item state filter. Possible values:\n       * - `PUBLISHED`: The schedule item is published.\n       * - `DRAFT`: The schedule item is in the draft. You need the \"WIX_EVENTS.MANAGE_AGENDA\" permissions to change this state.\n       * - `VISIBLE`: The schedule item is visible to guests.\n       * - `HIDDEN`: The schedule item is hidden from guests. You need the \"WIX_EVENTS.MANAGE_AGENDA\" permissions to change this state.\n       * Default: Filters by the `PUBLISHED` and `VISIBLE` states.\n       */\n      state?: StateFilter[];\n      /** Filters schedule items starting on or after specified point in time. Inclusive. */\n      startingFrom?: Date | null;\n      /** Filters schedule items starting before specified point in time. Non-inclusive. */\n      startingBefore?: Date | null;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       * @deprecated\n       */\n      offset?: number;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       * @deprecated\n       */\n      limit?: number;\n      /**\n       * Filter facets.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-schedule-items).\n       */\n      facet?: string[];\n      /** Schedule item ID. */\n      itemId?: string[];\n      /** Schedule item tags. They're used to organize the items to a theme. */\n      tag?: string[];\n      /** Stage or room name in which the session takes place. */\n      stageName?: string[];\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$7;\n  }\n  /**\n   * Creates a query to retrieve a list of schedule items.\n   *\n   * The `queryScheduleItems( )` function builds a query to retrieve a list of schedule items and returns a [`ItemsQueryBuilder`](https://www.wix.com/velo/reference/wix-events-v2/schedule/itemsquerybuilder) object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [`find()`](https://www.wix.com/velo/reference/wix-events-v2/schedule/itemsquerybuilder/find) function.\n   *\n   * You can refine the query by chaining `ItemsQueryBuilder` functions onto the query. `ItemsQueryBuilder` functions enable you to sort, filter, and control the results `queryScheduleItems( )` returns.\n   *\n   * `queryScheduleItems( )` runs with these `ItemsQueryBuilder` defaults, which you can override:\n   *\n   *  - [`limit(50)`](https://www.wix.com/velo/reference/wix-events-v2/schedule/itemsquerybuilder/limit)\n   *  - [`descending(\"_createdDate\")`](https://www.wix.com/velo/reference/wix-events-v2/schedule/itemsquerybuilder/descending)\n   *\n   * The functions that are chained to `queryScheduleItems( )` are applied in the order they're called. For example, if you apply `ascending('name')` and then `descending('stageName')`, the results are sorted first by the `name`, and then, if there are multiple results with the same `name`, the items are sorted by `stageName`.\n   * @public\n   * @permissionId WIX_EVENTS.READ_AGENDA\n   */\n  function queryScheduleItems(): ItemsQueryBuilder;\n  interface QueryCursorResult$6 {\n      cursors: Cursors$8;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ItemsQueryResult extends QueryCursorResult$6 {\n      items: ScheduleItem[];\n      query: ItemsQueryBuilder;\n      next: () => Promise<ItemsQueryResult>;\n      prev: () => Promise<ItemsQueryResult>;\n  }\n  interface ItemsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'name' | 'description' | 'stageName' | '_createdDate' | '_updatedDate' | 'eventId', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'name' | 'description' | 'stageName' | '_createdDate' | '_updatedDate' | 'eventId', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | 'name' | 'description' | 'stageName' | '_createdDate' | '_updatedDate' | 'eventId'>) => ItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | 'name' | 'description' | 'stageName' | '_createdDate' | '_updatedDate' | 'eventId'>) => ItemsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => ItemsQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => ItemsQueryBuilder;\n      find: () => Promise<ItemsQueryResult>;\n  }\n  /**\n   * Retrieves schedule item by ID.\n   * @param itemId - Schedule item ID.\n   * @public\n   * @requiredField itemId\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_AGENDA\n   * @returns Schedule item.\n   */\n  function getScheduleItem(itemId: string, options?: GetScheduleItemOptions): Promise<ScheduleItem>;\n  interface GetScheduleItemOptions {\n      /** Event ID to which the schedule belongs. */\n      eventId?: string;\n      /** Whether to include draft schedules in the response. */\n      includeDraft?: boolean;\n  }\n  /**\n   * Adds a schedule item to the draft schedule.\n   * @public\n   * @requiredField eventId\n   * @requiredField options.item.name\n   * @requiredField options.item.timeSlot\n   * @requiredField options.item.timeSlot.end\n   * @requiredField options.item.timeSlot.start\n   * @param eventId - Event ID to which the schedule belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_AGENDA\n   * @adminMethod\n   */\n  function addScheduleItem(eventId: string, options?: AddScheduleItemOptions): Promise<AddScheduleItemResponse>;\n  interface AddScheduleItemOptions {\n      /** Schedule item. */\n      item?: ScheduleItemData;\n  }\n  /**\n   * Updates a schedule item in a draft schedule.\n   * @param itemId - Schedule item ID.\n   * @public\n   * @requiredField eventId\n   * @requiredField itemId\n   * @param eventId - Event ID to which the schedule belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_AGENDA\n   * @adminMethod\n   */\n  function updateScheduleItem(itemId: string, eventId: string, options?: UpdateScheduleItemOptions): Promise<UpdateScheduleItemResponse>;\n  interface UpdateScheduleItemOptions {\n      /** Schedule item. */\n      item?: ScheduleItemData;\n      /**\n       * Set of field paths to update.\n       * When fields are empty, request is interpreted as full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /**\n   * Deletes schedule items from the draft schedule.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the schedule belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_AGENDA\n   * @adminMethod\n   */\n  function deleteScheduleItem(eventId: string, options?: DeleteScheduleItemOptions): Promise<void>;\n  interface DeleteScheduleItemOptions {\n      /** Schedule items to delete. */\n      itemIds?: string[];\n  }\n  /**\n   * Clears all changes to the draft schedule.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the schedule belongs.\n   * @permissionId WIX_EVENTS.MANAGE_AGENDA\n   * @adminMethod\n   */\n  function discardDraft$1(eventId: string): Promise<void>;\n  /**\n   * Publishes the draft schedule.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the schedule belongs.\n   * @permissionId WIX_EVENTS.MANAGE_AGENDA\n   * @adminMethod\n   */\n  function publishDraft$1(eventId: string): Promise<void>;\n  /**\n   * Adjusts the time of all draft schedule items at once per event.\n   * @public\n   * @requiredField eventId\n   * @requiredField options.timeZoneId\n   * @param eventId - Event ID to which the schedule belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_AGENDA\n   * @adminMethod\n   */\n  function rescheduleDraft(eventId: string, options?: RescheduleDraftOptions): Promise<void>;\n  interface RescheduleDraftOptions {\n      /**\n       * Time zone ID in the [TZ database](https://www.iana.org/time-zones) format. For example, `EST`, `America/Los_Angeles`.\n       * Default: `Etc/UTC`.\n       */\n      timeZoneId: string;\n      /** Offset added or subtracted from the start and end times of schedule items. */\n      timeSlotOffset?: GoogleProtoDuration;\n  }\n  \n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleItem = ScheduleItem;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_TimeInterval = TimeInterval;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleStatus = ScheduleStatus;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleStatus: typeof ScheduleStatus;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsRequest = ListScheduleItemsRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_StateFilter = StateFilter;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_StateFilter: typeof StateFilter;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsResponse = ListScheduleItemsResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_QueryScheduleItemsRequest = QueryScheduleItemsRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_QueryScheduleItemsResponse = QueryScheduleItemsResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemRequest = GetScheduleItemRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemResponse = GetScheduleItemResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemRequest = AddScheduleItemRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleItemData = ScheduleItemData;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemResponse = AddScheduleItemResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemRequest = UpdateScheduleItemRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemResponse = UpdateScheduleItemResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemRequest = DeleteScheduleItemRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemResponse = DeleteScheduleItemResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftRequest = RescheduleDraftRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftResponse = RescheduleDraftResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ListBookmarksRequest = ListBookmarksRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ListBookmarksResponse = ListBookmarksResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_CreateBookmarkRequest = CreateBookmarkRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_CreateBookmarkResponse = CreateBookmarkResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteBookmarkRequest = DeleteBookmarkRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteBookmarkResponse = DeleteBookmarkResponse;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_listScheduleItems: typeof listScheduleItems;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsOptions = ListScheduleItemsOptions;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_queryScheduleItems: typeof queryScheduleItems;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ItemsQueryResult = ItemsQueryResult;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ItemsQueryBuilder = ItemsQueryBuilder;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_getScheduleItem: typeof getScheduleItem;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemOptions = GetScheduleItemOptions;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_addScheduleItem: typeof addScheduleItem;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemOptions = AddScheduleItemOptions;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_updateScheduleItem: typeof updateScheduleItem;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemOptions = UpdateScheduleItemOptions;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_deleteScheduleItem: typeof deleteScheduleItem;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemOptions = DeleteScheduleItemOptions;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_rescheduleDraft: typeof rescheduleDraft;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftOptions = RescheduleDraftOptions;\n  namespace eventsScheduleV1ScheduleItemSchedule_universal_d {\n    export {\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleItem as ScheduleItem,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_TimeInterval as TimeInterval,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleStatus as ScheduleStatus,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsRequest as ListScheduleItemsRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_StateFilter as StateFilter,\n      Paging$7 as Paging,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsResponse as ListScheduleItemsResponse,\n      FacetCounts$6 as FacetCounts,\n      PagingMetadataV2$7 as PagingMetadataV2,\n      Cursors$8 as Cursors,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_QueryScheduleItemsRequest as QueryScheduleItemsRequest,\n      QueryV2$6 as QueryV2,\n      QueryV2PagingMethodOneOf$6 as QueryV2PagingMethodOneOf,\n      Sorting$8 as Sorting,\n      SortOrder$8 as SortOrder,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_QueryScheduleItemsResponse as QueryScheduleItemsResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemRequest as GetScheduleItemRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemResponse as GetScheduleItemResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemRequest as AddScheduleItemRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleItemData as ScheduleItemData,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemResponse as AddScheduleItemResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemRequest as UpdateScheduleItemRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemResponse as UpdateScheduleItemResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemRequest as DeleteScheduleItemRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemResponse as DeleteScheduleItemResponse,\n      DiscardDraftRequest$1 as DiscardDraftRequest,\n      DiscardDraftResponse$1 as DiscardDraftResponse,\n      PublishDraftRequest$1 as PublishDraftRequest,\n      PublishDraftResponse$1 as PublishDraftResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftRequest as RescheduleDraftRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftResponse as RescheduleDraftResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ListBookmarksRequest as ListBookmarksRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ListBookmarksResponse as ListBookmarksResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_CreateBookmarkRequest as CreateBookmarkRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_CreateBookmarkResponse as CreateBookmarkResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteBookmarkRequest as DeleteBookmarkRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteBookmarkResponse as DeleteBookmarkResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_listScheduleItems as listScheduleItems,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsOptions as ListScheduleItemsOptions,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_queryScheduleItems as queryScheduleItems,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ItemsQueryResult as ItemsQueryResult,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ItemsQueryBuilder as ItemsQueryBuilder,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_getScheduleItem as getScheduleItem,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemOptions as GetScheduleItemOptions,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_addScheduleItem as addScheduleItem,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemOptions as AddScheduleItemOptions,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_updateScheduleItem as updateScheduleItem,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemOptions as UpdateScheduleItemOptions,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_deleteScheduleItem as deleteScheduleItem,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemOptions as DeleteScheduleItemOptions,\n      discardDraft$1 as discardDraft,\n      publishDraft$1 as publishDraft,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_rescheduleDraft as rescheduleDraft,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftOptions as RescheduleDraftOptions,\n    };\n  }\n  \n  /** Staff members are events hosts assigned persons who can perform check-in for tickets owners, sell tickets or add guests manually. */\n  interface StaffMember extends StaffMemberEventAccessOneOf {\n      /** All events. */\n      allEvents?: AllEvents;\n      /** Specific events. */\n      specificEvents?: SpecificEvents;\n      /**\n       * Staff member ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the staff member was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the staff member was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Name. */\n      name?: string | null;\n      /**\n       * Scopes.\n       * @deprecated Scopes.\n       * @replacedBy permissions\n       * @targetRemovalDate 2024-12-01\n       */\n      scopes?: Scope[];\n      /** Status. Remains PENDING until staff member joins. Switches to SUSPENDED if user decides to temporarily revoke staff member access. */\n      status?: Status$6;\n      /**\n       * Join link generated for staff member.\n       * @readonly\n       * @deprecated Join link generated for staff member.\n       * @replacedBy login_link\n       * @targetRemovalDate 2024-12-01\n       */\n      joinLink?: string | null;\n      /** Data extensions */\n      extendedFields?: ExtendedFields$3;\n      /** Permissions. */\n      permissions?: Permission[];\n      /**\n       * Login link generated for staff member.\n       * @readonly\n       */\n      loginLink?: string | null;\n  }\n  /** @oneof */\n  interface StaffMemberEventAccessOneOf {\n      /** All events. */\n      allEvents?: AllEvents;\n      /** Specific events. */\n      specificEvents?: SpecificEvents;\n  }\n  enum Scope {\n      UNKNOWN_SCOPE = \"UNKNOWN_SCOPE\",\n      /** Check in guests. */\n      CHECK_IN_GUESTS = \"CHECK_IN_GUESTS\",\n      /** Sell tickets. */\n      SELL_TICKETS = \"SELL_TICKETS\",\n      /** Add guests. */\n      ADD_GUESTS = \"ADD_GUESTS\",\n      /** Read analytics */\n      READ_ANALYTICS = \"READ_ANALYTICS\"\n  }\n  interface AllEvents {\n  }\n  interface SpecificEvents {\n      /** Specific events for which staff member have access (can perform check-in). */\n      events?: string[];\n  }\n  enum Status$6 {\n      /** Pending. Means that staff member has not joined. */\n      PENDING = \"PENDING\",\n      /** Has access. */\n      HAS_ACCESS = \"HAS_ACCESS\",\n      /** Access paused. When staff member is paused from performing actions. */\n      ACCESS_PAUSED = \"ACCESS_PAUSED\"\n  }\n  interface ExtendedFields$3 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  enum Permission {\n      UNKNOWN_PERMISSION = \"UNKNOWN_PERMISSION\",\n      /** Check in guests. */\n      CHECK_IN_GUESTS = \"CHECK_IN_GUESTS\",\n      /** Sell tickets. */\n      SELL_TICKETS = \"SELL_TICKETS\",\n      /** Add guests. */\n      ADD_GUESTS = \"ADD_GUESTS\",\n      /** Read analytics */\n      READ_ANALYTICS = \"READ_ANALYTICS\"\n  }\n  interface CreateStaffMemberRequest {\n      /** Staff member to be created. */\n      staffMember: StaffMember;\n  }\n  interface CreateStaffMemberResponse {\n      /** The created staff member. */\n      staffMember?: StaffMember;\n  }\n  interface GetStaffMemberRequest {\n      /** ID of the staff member to retrieve. */\n      staffMemberId: string;\n      /**\n       * List of additional staff member fields to include in the response. For example, use the `JOIN_LINK` fieldset to retrieve the join link field in\n       * the response in addition to the staff member’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the staff member’s base fields are returned.\n       */\n      fieldsets?: Fieldset[];\n  }\n  enum Fieldset {\n      /**\n       * Includes join link.\n       * Deprecated, use LOGIN_LINK\n       */\n      JOIN_LINK = \"JOIN_LINK\",\n      /** Includes login link. */\n      LOGIN_LINK = \"LOGIN_LINK\"\n  }\n  interface GetStaffMemberResponse {\n      /** The requested staff member. */\n      staffMember?: StaffMember;\n  }\n  interface UpdateStaffMemberRequest {\n      /** Staff member to be updated, may be partial. */\n      staffMember: StaffMember;\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateStaffMemberResponse {\n      /** Updated staff member. */\n      staffMember?: StaffMember;\n  }\n  interface DeleteStaffMemberRequest {\n      /** Id of the staff member to delete. */\n      staffMemberId: string;\n  }\n  interface DeleteStaffMemberResponse {\n  }\n  interface QueryStaffMembersRequest {\n      /** WQL expression. */\n      query?: QueryV2$5;\n      /**\n       * List of additional staff member fields to include in the response. For example, use the `JOIN_LINK` fieldset to retrieve the join link field in\n       * the response in addition to the staff member’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the staff member’s base fields are returned.\n       */\n      fieldsets?: Fieldset[];\n  }\n  interface QueryV2$5 extends QueryV2PagingMethodOneOf$5 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$6;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$6;\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\", \"fieldName2\":{\"$operator\":\"value2\"} }`. <br/> <br/> **Example:** <br/> `\"filter\" : { \"eventId\": \"sd3f-jhds-4fs77\", \"ticketNumber\": {\"$startsWith\":\"478\"} }` <br/> <br/> See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort) for more information. */\n      filter?: Record<string, any> | null;\n      /** Sort object in the following format: <br/> `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]` <br/> <br/> **Example:** <br/> `[{\"fieldName\":\"createdDate\",\"direction\":\"DESC\"}]` <br/> <br/> See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort) for more information. */\n      sort?: Sorting$7[];\n      /** Currently the only supported fieldset is `guestDetails`. The `WIX_EVENTS.READ_GUESTS_DETAILS` permission is required to access the guest details. <br/> <br/> See [field projection](https://dev.wix.com/api/rest/getting-started/field-projection) for more information. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$5 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$6;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$6;\n  }\n  interface Sorting$7 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order (ASC/DESC). Defaults to ASC */\n      order?: SortOrder$7;\n  }\n  enum SortOrder$7 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$6 {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$6 {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryStaffMembersResponse {\n      /** List of staff members. */\n      staffMembers?: StaffMember[];\n      /** Paging metadata */\n      pagingMetadata?: PagingMetadataV2$6;\n  }\n  interface PagingMetadataV2$6 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$7;\n  }\n  interface Cursors$7 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface JoinStaffMemberRequest {\n      /** Used to authorise staff member */\n      joinToken: string;\n  }\n  interface JoinStaffMemberResponse {\n      /** The activated staff member. */\n      staffMember?: StaffMember;\n      /** Used to authorise service calls */\n      accessToken?: string;\n      /** The device id to which staff member is authorized */\n      deviceId?: string;\n  }\n  interface LoginStaffMemberRequest {\n      /** Used to authorise staff member */\n      loginToken: string;\n  }\n  interface LoginStaffMemberResponse {\n      /** The activated staff member. */\n      staffMember?: StaffMember;\n      /** Used to authorise service calls */\n      accessToken?: string;\n      /** The device id to which staff member is authorized */\n      deviceId?: string;\n  }\n  interface AccessStaffMemberRequest {\n      /** Used to authorise staff member */\n      accessToken: string;\n  }\n  interface AccessStaffMemberResponse {\n      /** The staff member. */\n      staffMember?: StaffMember;\n  }\n  interface DomainEvent$7 extends DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n  }\n  interface EntityCreatedEvent$7 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$7;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$7 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$7 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$7 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$7 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$b {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$b;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$b extends IdentificationDataIdOneOf$b {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$b;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$b {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$b {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a staff member.\n   * @param staffMember - Staff member to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField staffMember\n   * @permissionId WIX_EVENTS.STAFF_MEMBER_CREATE\n   * @adminMethod\n   * @returns The created staff member.\n   */\n  function createStaffMember(staffMember: StaffMember): Promise<StaffMember>;\n  /**\n   * Retrieves a staff member.\n   * @param staffMemberId - ID of the staff member to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField staffMemberId\n   * @permissionId WIX_EVENTS.STAFF_MEMBER_READ\n   * @adminMethod\n   * @returns The requested staff member.\n   */\n  function getStaffMember(staffMemberId: string, options?: GetStaffMemberOptions): Promise<StaffMember>;\n  interface GetStaffMemberOptions {\n      /**\n       * List of additional staff member fields to include in the response. For example, use the `JOIN_LINK` fieldset to retrieve the join link field in\n       * the response in addition to the staff member’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the staff member’s base fields are returned.\n       */\n      fieldsets?: Fieldset[];\n  }\n  /**\n   * Updates a staff member.\n   *\n   * Each time the staff member is updated,\n   * `revision` increments by 1.\n   * The current `revision` must be passed when updating the staff member.\n   * This ensures you're working with the latest staff member\n   * and prevents unintended overwrites.\n   * @param _id - Staff member ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField staffMember\n   * @requiredField staffMember.revision\n   * @permissionId WIX_EVENTS.STAFF_MEMBER_UPDATE\n   * @adminMethod\n   * @returns Updated staff member.\n   */\n  function updateStaffMember(_id: string | null, staffMember: UpdateStaffMember, options?: UpdateStaffMemberOptions): Promise<StaffMember>;\n  interface UpdateStaffMember {\n      /** All events. */\n      allEvents?: AllEvents;\n      /** Specific events. */\n      specificEvents?: SpecificEvents;\n      /**\n       * Staff member ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the staff member was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the staff member was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Name. */\n      name?: string | null;\n      /**\n       * Scopes.\n       * @deprecated Scopes.\n       * @replacedBy permissions\n       * @targetRemovalDate 2024-12-01\n       */\n      scopes?: Scope[];\n      /** Status. Remains PENDING until staff member joins. Switches to SUSPENDED if user decides to temporarily revoke staff member access. */\n      status?: Status$6;\n      /**\n       * Join link generated for staff member.\n       * @readonly\n       * @deprecated Join link generated for staff member.\n       * @replacedBy login_link\n       * @targetRemovalDate 2024-12-01\n       */\n      joinLink?: string | null;\n      /** Data extensions */\n      extendedFields?: ExtendedFields$3;\n      /** Permissions. */\n      permissions?: Permission[];\n      /**\n       * Login link generated for staff member.\n       * @readonly\n       */\n      loginLink?: string | null;\n  }\n  interface UpdateStaffMemberOptions {\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a staff member.\n   *\n   * Deleting a staff member permanently removes them from the staff member List.\n   * @param staffMemberId - Id of the staff member to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField staffMemberId\n   * @permissionId WIX_EVENTS.STAFF_MEMBER_DELETE\n   * @adminMethod\n   */\n  function deleteStaffMember(staffMemberId: string): Promise<void>;\n  /**\n   * Retrieves a list of staff members, given the provided paging, filtering, and sorting.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_EVENTS.STAFF_MEMBER_READ\n   * @adminMethod\n   */\n  function queryStaffMembers(options?: QueryStaffMembersOptions): StaffMembersQueryBuilder;\n  interface QueryStaffMembersOptions {\n      /**\n       * List of additional staff member fields to include in the response. For example, use the `JOIN_LINK` fieldset to retrieve the join link field in\n       * the response in addition to the staff member’s base fields. Base fields don’t include any of the supported fieldset values. By default\n       * only the staff member’s base fields are returned.\n       */\n      fieldsets?: Fieldset[] | undefined;\n  }\n  interface QueryCursorResult$5 {\n      cursors: Cursors$7;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface StaffMembersQueryResult extends QueryCursorResult$5 {\n      items: StaffMember[];\n      query: StaffMembersQueryBuilder;\n      next: () => Promise<StaffMembersQueryResult>;\n      prev: () => Promise<StaffMembersQueryResult>;\n  }\n  interface StaffMembersQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id', value: any) => StaffMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => StaffMembersQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id', value: any) => StaffMembersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id'>) => StaffMembersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id'>) => StaffMembersQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => StaffMembersQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => StaffMembersQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<StaffMembersQueryResult>;\n  }\n  /**\n   * Joins as staff member if he's not in suspended status via provided token.\n   * @param joinToken - Used to authorise staff member\n   * @public\n   * @documentationMaturity preview\n   * @requiredField joinToken\n   * @permissionId WIX_EVENTS.STAFF_MEMBER_ACTIVATE\n   */\n  function joinStaffMember(joinToken: string): Promise<JoinStaffMemberResponse>;\n  /**\n   * Logins as staff member if he's not in suspended status via provided token.\n   * @param loginToken - Used to authorise staff member\n   * @public\n   * @documentationMaturity preview\n   * @requiredField loginToken\n   * @permissionId WIX_EVENTS.STAFF_MEMBER_ACTIVATE\n   */\n  function loginStaffMember(loginToken: string): Promise<LoginStaffMemberResponse>;\n  /**\n   * Retrieves a staff by access token.\n   * @param accessToken - Used to authorise staff member\n   * @public\n   * @documentationMaturity preview\n   * @requiredField accessToken\n   * @permissionId WIX_EVENTS.STAFF_MEMBER_ACTIVATE\n   */\n  function accessStaffMember(accessToken: string): Promise<AccessStaffMemberResponse>;\n  \n  type eventsStaffmembersV1StaffMember_universal_d_StaffMember = StaffMember;\n  type eventsStaffmembersV1StaffMember_universal_d_StaffMemberEventAccessOneOf = StaffMemberEventAccessOneOf;\n  type eventsStaffmembersV1StaffMember_universal_d_Scope = Scope;\n  const eventsStaffmembersV1StaffMember_universal_d_Scope: typeof Scope;\n  type eventsStaffmembersV1StaffMember_universal_d_AllEvents = AllEvents;\n  type eventsStaffmembersV1StaffMember_universal_d_SpecificEvents = SpecificEvents;\n  type eventsStaffmembersV1StaffMember_universal_d_Permission = Permission;\n  const eventsStaffmembersV1StaffMember_universal_d_Permission: typeof Permission;\n  type eventsStaffmembersV1StaffMember_universal_d_CreateStaffMemberRequest = CreateStaffMemberRequest;\n  type eventsStaffmembersV1StaffMember_universal_d_CreateStaffMemberResponse = CreateStaffMemberResponse;\n  type eventsStaffmembersV1StaffMember_universal_d_GetStaffMemberRequest = GetStaffMemberRequest;\n  type eventsStaffmembersV1StaffMember_universal_d_Fieldset = Fieldset;\n  const eventsStaffmembersV1StaffMember_universal_d_Fieldset: typeof Fieldset;\n  type eventsStaffmembersV1StaffMember_universal_d_GetStaffMemberResponse = GetStaffMemberResponse;\n  type eventsStaffmembersV1StaffMember_universal_d_UpdateStaffMemberRequest = UpdateStaffMemberRequest;\n  type eventsStaffmembersV1StaffMember_universal_d_UpdateStaffMemberResponse = UpdateStaffMemberResponse;\n  type eventsStaffmembersV1StaffMember_universal_d_DeleteStaffMemberRequest = DeleteStaffMemberRequest;\n  type eventsStaffmembersV1StaffMember_universal_d_DeleteStaffMemberResponse = DeleteStaffMemberResponse;\n  type eventsStaffmembersV1StaffMember_universal_d_QueryStaffMembersRequest = QueryStaffMembersRequest;\n  type eventsStaffmembersV1StaffMember_universal_d_QueryStaffMembersResponse = QueryStaffMembersResponse;\n  type eventsStaffmembersV1StaffMember_universal_d_JoinStaffMemberRequest = JoinStaffMemberRequest;\n  type eventsStaffmembersV1StaffMember_universal_d_JoinStaffMemberResponse = JoinStaffMemberResponse;\n  type eventsStaffmembersV1StaffMember_universal_d_LoginStaffMemberRequest = LoginStaffMemberRequest;\n  type eventsStaffmembersV1StaffMember_universal_d_LoginStaffMemberResponse = LoginStaffMemberResponse;\n  type eventsStaffmembersV1StaffMember_universal_d_AccessStaffMemberRequest = AccessStaffMemberRequest;\n  type eventsStaffmembersV1StaffMember_universal_d_AccessStaffMemberResponse = AccessStaffMemberResponse;\n  const eventsStaffmembersV1StaffMember_universal_d_createStaffMember: typeof createStaffMember;\n  const eventsStaffmembersV1StaffMember_universal_d_getStaffMember: typeof getStaffMember;\n  type eventsStaffmembersV1StaffMember_universal_d_GetStaffMemberOptions = GetStaffMemberOptions;\n  const eventsStaffmembersV1StaffMember_universal_d_updateStaffMember: typeof updateStaffMember;\n  type eventsStaffmembersV1StaffMember_universal_d_UpdateStaffMember = UpdateStaffMember;\n  type eventsStaffmembersV1StaffMember_universal_d_UpdateStaffMemberOptions = UpdateStaffMemberOptions;\n  const eventsStaffmembersV1StaffMember_universal_d_deleteStaffMember: typeof deleteStaffMember;\n  const eventsStaffmembersV1StaffMember_universal_d_queryStaffMembers: typeof queryStaffMembers;\n  type eventsStaffmembersV1StaffMember_universal_d_QueryStaffMembersOptions = QueryStaffMembersOptions;\n  type eventsStaffmembersV1StaffMember_universal_d_StaffMembersQueryResult = StaffMembersQueryResult;\n  type eventsStaffmembersV1StaffMember_universal_d_StaffMembersQueryBuilder = StaffMembersQueryBuilder;\n  const eventsStaffmembersV1StaffMember_universal_d_joinStaffMember: typeof joinStaffMember;\n  const eventsStaffmembersV1StaffMember_universal_d_loginStaffMember: typeof loginStaffMember;\n  const eventsStaffmembersV1StaffMember_universal_d_accessStaffMember: typeof accessStaffMember;\n  namespace eventsStaffmembersV1StaffMember_universal_d {\n    export {\n      eventsStaffmembersV1StaffMember_universal_d_StaffMember as StaffMember,\n      eventsStaffmembersV1StaffMember_universal_d_StaffMemberEventAccessOneOf as StaffMemberEventAccessOneOf,\n      eventsStaffmembersV1StaffMember_universal_d_Scope as Scope,\n      eventsStaffmembersV1StaffMember_universal_d_AllEvents as AllEvents,\n      eventsStaffmembersV1StaffMember_universal_d_SpecificEvents as SpecificEvents,\n      Status$6 as Status,\n      ExtendedFields$3 as ExtendedFields,\n      eventsStaffmembersV1StaffMember_universal_d_Permission as Permission,\n      eventsStaffmembersV1StaffMember_universal_d_CreateStaffMemberRequest as CreateStaffMemberRequest,\n      eventsStaffmembersV1StaffMember_universal_d_CreateStaffMemberResponse as CreateStaffMemberResponse,\n      eventsStaffmembersV1StaffMember_universal_d_GetStaffMemberRequest as GetStaffMemberRequest,\n      eventsStaffmembersV1StaffMember_universal_d_Fieldset as Fieldset,\n      eventsStaffmembersV1StaffMember_universal_d_GetStaffMemberResponse as GetStaffMemberResponse,\n      eventsStaffmembersV1StaffMember_universal_d_UpdateStaffMemberRequest as UpdateStaffMemberRequest,\n      eventsStaffmembersV1StaffMember_universal_d_UpdateStaffMemberResponse as UpdateStaffMemberResponse,\n      eventsStaffmembersV1StaffMember_universal_d_DeleteStaffMemberRequest as DeleteStaffMemberRequest,\n      eventsStaffmembersV1StaffMember_universal_d_DeleteStaffMemberResponse as DeleteStaffMemberResponse,\n      eventsStaffmembersV1StaffMember_universal_d_QueryStaffMembersRequest as QueryStaffMembersRequest,\n      QueryV2$5 as QueryV2,\n      QueryV2PagingMethodOneOf$5 as QueryV2PagingMethodOneOf,\n      Sorting$7 as Sorting,\n      SortOrder$7 as SortOrder,\n      Paging$6 as Paging,\n      CursorPaging$6 as CursorPaging,\n      eventsStaffmembersV1StaffMember_universal_d_QueryStaffMembersResponse as QueryStaffMembersResponse,\n      PagingMetadataV2$6 as PagingMetadataV2,\n      Cursors$7 as Cursors,\n      eventsStaffmembersV1StaffMember_universal_d_JoinStaffMemberRequest as JoinStaffMemberRequest,\n      eventsStaffmembersV1StaffMember_universal_d_JoinStaffMemberResponse as JoinStaffMemberResponse,\n      eventsStaffmembersV1StaffMember_universal_d_LoginStaffMemberRequest as LoginStaffMemberRequest,\n      eventsStaffmembersV1StaffMember_universal_d_LoginStaffMemberResponse as LoginStaffMemberResponse,\n      eventsStaffmembersV1StaffMember_universal_d_AccessStaffMemberRequest as AccessStaffMemberRequest,\n      eventsStaffmembersV1StaffMember_universal_d_AccessStaffMemberResponse as AccessStaffMemberResponse,\n      DomainEvent$7 as DomainEvent,\n      DomainEventBodyOneOf$7 as DomainEventBodyOneOf,\n      EntityCreatedEvent$7 as EntityCreatedEvent,\n      RestoreInfo$7 as RestoreInfo,\n      EntityUpdatedEvent$7 as EntityUpdatedEvent,\n      EntityDeletedEvent$7 as EntityDeletedEvent,\n      ActionEvent$7 as ActionEvent,\n      MessageEnvelope$b as MessageEnvelope,\n      IdentificationData$b as IdentificationData,\n      IdentificationDataIdOneOf$b as IdentificationDataIdOneOf,\n      WebhookIdentityType$b as WebhookIdentityType,\n      eventsStaffmembersV1StaffMember_universal_d_createStaffMember as createStaffMember,\n      eventsStaffmembersV1StaffMember_universal_d_getStaffMember as getStaffMember,\n      eventsStaffmembersV1StaffMember_universal_d_GetStaffMemberOptions as GetStaffMemberOptions,\n      eventsStaffmembersV1StaffMember_universal_d_updateStaffMember as updateStaffMember,\n      eventsStaffmembersV1StaffMember_universal_d_UpdateStaffMember as UpdateStaffMember,\n      eventsStaffmembersV1StaffMember_universal_d_UpdateStaffMemberOptions as UpdateStaffMemberOptions,\n      eventsStaffmembersV1StaffMember_universal_d_deleteStaffMember as deleteStaffMember,\n      eventsStaffmembersV1StaffMember_universal_d_queryStaffMembers as queryStaffMembers,\n      eventsStaffmembersV1StaffMember_universal_d_QueryStaffMembersOptions as QueryStaffMembersOptions,\n      eventsStaffmembersV1StaffMember_universal_d_StaffMembersQueryResult as StaffMembersQueryResult,\n      eventsStaffmembersV1StaffMember_universal_d_StaffMembersQueryBuilder as StaffMembersQueryBuilder,\n      eventsStaffmembersV1StaffMember_universal_d_joinStaffMember as joinStaffMember,\n      eventsStaffmembersV1StaffMember_universal_d_loginStaffMember as loginStaffMember,\n      eventsStaffmembersV1StaffMember_universal_d_accessStaffMember as accessStaffMember,\n    };\n  }\n  \n  interface Category$4 {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Date and time when category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Total number of published events assigned to the category. Deleted events are excluded.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * The total number of draft and published events assigned to the category.\n       * @readonly\n       */\n      counts?: CategoryCounts$4;\n      /**\n       * Category state. Possible values:\n       * - `MANUAL`: Category is created manually by the user.\n       * - `AUTO`: Category is created automatically.\n       * - `RECURRING_EVENT`: Category is created automatically when publishing recurring events.\n       * - `HIDDEN`: Category can't be seen.\n       *\n       * Default: `MANUAL`.\n       *\n       * **Note:** The WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission is required to use states other than `MANUAL`.\n       */\n      states?: State$7[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  interface CategoryCounts$4 {\n      /** Total number of published events assigned to the category. Deleted events are excluded. */\n      assignedEventsCount?: number | null;\n      /** Total number of draft events assigned to the category. */\n      assignedDraftEventsCount?: number | null;\n  }\n  enum State$7 {\n      /** Created manually by the user. */\n      MANUAL = \"MANUAL\",\n      /** Created automatically. */\n      AUTO = \"AUTO\",\n      /** Created when publishing recurring events. */\n      RECURRING_EVENT = \"RECURRING_EVENT\",\n      /** Category is hidden. */\n      HIDDEN = \"HIDDEN\",\n      /** Category is used to store component events. */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface CreateCategoryRequest {\n      /** Category to create. */\n      category: Category$4;\n  }\n  interface CreateCategoryResponse {\n      /** Created category. */\n      category?: Category$4;\n  }\n  interface BulkCreateCategoryRequest {\n      /** Categories to create. */\n      categories: Category$4[];\n  }\n  interface BulkCreateCategoryResponse {\n      /** Bulk create results. */\n      results?: BulkCategoryResult[];\n      /** Metadata of results. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkCategoryResult {\n      /** Metadata. */\n      itemMetadata?: ItemMetadata$1;\n      /** Created categories. */\n      item?: Category$4;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details due to exceeding the threshold for detailed failures. */\n      undetailedFailures?: number;\n  }\n  interface UpdateCategoryRequest {\n      /** Category to update. */\n      category: Category$4;\n  }\n  interface UpdateCategoryResponse {\n      /** Updated category. */\n      category?: Category$4;\n  }\n  interface DeleteCategoryRequest {\n      /** ID of category to be deleted. */\n      categoryId: string;\n  }\n  interface DeleteCategoryResponse {\n  }\n  interface QueryCategoriesRequest {\n      /** Options to use when querying categories. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query: QueryV2$4;\n      /**\n       * Predefined sets of fields to return.\n       * - `COUNTS`: Returns `assignedEventsCount`.\n       */\n      fieldset?: CategoryFieldset[];\n  }\n  interface QueryV2$4 extends QueryV2PagingMethodOneOf$4 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$5;\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: Sorting$6[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$4 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$5;\n  }\n  interface Sorting$6 {\n      /** Name of the field to sort by */\n      fieldName?: string;\n      /** Sort order (ASC/DESC). Defaults to ASC */\n      order?: SortOrder$6;\n  }\n  enum SortOrder$6 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$5 {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  enum CategoryFieldset {\n      /** Include `assignedEventsCount` in the response. */\n      COUNTS = \"COUNTS\"\n  }\n  interface QueryCategoriesResponse {\n      /** List of categories. */\n      categories?: Category$4[];\n      /** Metadata for the paginated results. */\n      metaData?: PagingMetadataV2$5;\n  }\n  interface PagingMetadataV2$5 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$6;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$6 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AssignEventsRequest {\n      /** ID of category to which events should be assigned. */\n      categoryId: string;\n      /** A list of events IDs. */\n      eventId: string[];\n  }\n  interface AssignEventsResponse {\n  }\n  interface BulkAssignEventsRequest {\n      /** A list of category IDs to which events should be assigned. */\n      categoryId: string[];\n      /** A list of events IDs. */\n      eventId: string[];\n  }\n  interface BulkAssignEventsResponse {\n      /** Bulk assign results. */\n      results?: BulkCategoryResult[];\n      /** Metadata of results. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkAssignEventsAsyncRequest {\n      /** Category IDs. */\n      categoryId: string[];\n      /**\n       * Criteria that must be met for an event to be considered for the bulk assign. Supported filters for this API:\n       * - `_id`: [`eq()`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder/eq)\n       * - `name`: [`eq()`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder/eq)\n       */\n      filter: Record<string, any> | null;\n  }\n  interface BulkAssignEventsAsyncResponse {\n  }\n  interface UnassignEventsRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** A list of events IDs. */\n      eventId: string[];\n  }\n  interface UnassignEventsResponse {\n  }\n  interface BulkUnassignEventsRequest {\n      /** A list of category IDs. */\n      categoryId: string[];\n      /** A list of events IDs. */\n      eventId?: string[];\n  }\n  interface BulkUnassignEventsResponse {\n      /** Results. */\n      results?: BulkCategoryResult[];\n      /** Metadata of results. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkUnassignEventsAsyncRequest {\n      /** Category ID. */\n      categoryId: string[];\n      /**\n       * Criteria that must be met for an event to be considered for the bulk assign. Supported filters for this API:\n       * - `_id`: [`eq()`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder/eq)\n       * - `name`: [`eq()`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder/eq)\n       */\n      filter: Record<string, any> | null;\n  }\n  interface BulkUnassignEventsAsyncResponse {\n  }\n  interface ListEventCategoriesRequest {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface ListEventCategoriesResponse {\n      /** A list of categories. */\n      categories?: Category$4[];\n  }\n  interface ReorderCategoryEventsRequest extends ReorderCategoryEventsRequestReferenceEventOneOf {\n      /** Move the event before defined `eventId`. */\n      beforeEventId?: string;\n      /** Move the event after defined `eventId`. */\n      afterEventId?: string;\n      /** Category ID. */\n      categoryId: string;\n      /** Event ID. */\n      eventId?: string;\n  }\n  /** @oneof */\n  interface ReorderCategoryEventsRequestReferenceEventOneOf {\n      /** Move the event before defined `eventId`. */\n      beforeEventId?: string;\n      /** Move the event after defined `eventId`. */\n      afterEventId?: string;\n  }\n  interface ReorderCategoryEventsResponse {\n  }\n  interface DomainEvent$6 extends DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n  }\n  interface EntityCreatedEvent$6 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$6;\n  }\n  interface RestoreInfo$6 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$6 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$6 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$6 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$a {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$a;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$a extends IdentificationDataIdOneOf$a {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$a;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$a {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$a {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a category.\n   * @public\n   * @requiredField category\n   * @param category - Category to create.\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   * @returns Created category.\n   */\n  function createCategory(category: Category$4): Promise<Category$4>;\n  /**\n   * Creates multipe categories at once.\n   * @param categories - Categories to create.\n   * @public\n   * @requiredField categories\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function bulkCreateCategory(categories: Category$4[]): Promise<BulkCreateCategoryResponse>;\n  /**\n   * Updates an existing category.\n   * @param _id - Category ID.\n   * @public\n   * @requiredField _id\n   * @requiredField category\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   * @returns Updated category.\n   */\n  function updateCategory(_id: string, category: UpdateCategory): Promise<Category$4>;\n  interface UpdateCategory {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Date and time when category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Total number of published events assigned to the category. Deleted events are excluded.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * The total number of draft and published events assigned to the category.\n       * @readonly\n       */\n      counts?: CategoryCounts$4;\n      /**\n       * Category state. Possible values:\n       * - `MANUAL`: Category is created manually by the user.\n       * - `AUTO`: Category is created automatically.\n       * - `RECURRING_EVENT`: Category is created automatically when publishing recurring events.\n       * - `HIDDEN`: Category can't be seen.\n       *\n       * Default: `MANUAL`.\n       *\n       * **Note:** The WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission is required to use states other than `MANUAL`.\n       */\n      states?: State$7[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  /**\n   * Deletes a category.\n   * @param categoryId - ID of category to be deleted.\n   * @public\n   * @requiredField categoryId\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function deleteCategory(categoryId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of categories.\n   *\n   *\n   * The `queryCategories()` function builds a query to retrieve a list of categories and returns a [`CategoriesQueryBuilder`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder) object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [`find()`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder/find) function.\n   *\n   * You can refine the query by chaining `CategoriesQueryBuilder` functions onto the query. `CategoriesQueryBuilder` functions enable you to sort, filter, and control the results `queryCategories()` returns.\n   *\n   * `queryCategories()` runs with these `CategoriesQueryBuilder` defaults, which you can override:\n   *\n   *  - [`limit(50)`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder/limit)\n   * @public\n   * @param options - Options to use when querying categories.\n   * @permissionId WIX_EVENTS.READ_CATEGORIES\n   */\n  function queryCategories(options?: QueryCategoriesOptions): CategoriesQueryBuilder;\n  interface QueryCategoriesOptions {\n      /**\n       * Predefined sets of fields to return.\n       * - `COUNTS`: Returns `assignedEventsCount`.\n       */\n      fieldset?: CategoryFieldset[] | undefined;\n  }\n  interface QueryOffsetResult$1 {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CategoriesQueryResult extends QueryOffsetResult$1 {\n      items: Category$4[];\n      query: CategoriesQueryBuilder;\n      next: () => Promise<CategoriesQueryResult>;\n      prev: () => Promise<CategoriesQueryResult>;\n  }\n  interface CategoriesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'name', value: any) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_createdDate'>) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_createdDate'>) => CategoriesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => CategoriesQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => CategoriesQueryBuilder;\n      find: () => Promise<CategoriesQueryResult>;\n  }\n  /**\n   * Assigns events to a single category.\n   * @param categoryId - ID of category to which events should be assigned.\n   * @param eventId - A list of events IDs.\n   * @public\n   * @requiredField categoryId\n   * @requiredField eventId\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function assignEvents(categoryId: string, eventId: string[]): Promise<void>;\n  /**\n   * Assigns events to multiple categories at once.\n   * @param categoryId - A list of category IDs to which events should be assigned.\n   * @public\n   * @requiredField categoryId\n   * @requiredField options\n   * @requiredField options.eventId\n   * @param options - Options to use when assigning events to multiple categories.\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function bulkAssignEvents(categoryId: string[], options: BulkAssignEventsOptions): Promise<BulkAssignEventsResponse>;\n  interface BulkAssignEventsOptions {\n      /** A list of events IDs. */\n      eventId: string[];\n  }\n  /**\n   * Assigns events that match given filter criteria to multiple categories.\n   *\n   * Unlike the [`bulkAssignEvents()`](https://www.wix.com/velo/reference/wix-events-v2/categories/bulkassignevents) function, this function can handle numerous requests and is less prone to failures.\n   *\n   * However, the events will not be instantly assigned to the categories (as with `bulkAssignEvents()`), but rather after some time. In this case, if try to [`listEventCategories`](https://www.wix.com/velo/reference/wix-events-v2/categories/listeventcategories) or [`queryCategories`](https://www.wix.com/velo/reference/wix-events-v2/categories/querycategories), you might not get the correct response.\n   * @param categoryId - Category IDs.\n   * @public\n   * @requiredField categoryId\n   * @requiredField options\n   * @requiredField options.filter\n   * @param options - Options to use when assigning events to multiple categories.\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function bulkAssignEventsAsync(categoryId: string[], options: BulkAssignEventsAsyncOptions): Promise<void>;\n  interface BulkAssignEventsAsyncOptions {\n      /**\n       * Criteria that must be met for an event to be considered for the bulk assign. Supported filters for this API:\n       * - `_id`: [`eq()`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder/eq)\n       * - `name`: [`eq()`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder/eq)\n       */\n      filter: Record<string, any> | null;\n  }\n  /**\n   * Unassigns events from a category.\n   * @param categoryId - Category ID.\n   * @param eventId - A list of events IDs.\n   * @public\n   * @requiredField categoryId\n   * @requiredField eventId\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function unassignEvents(categoryId: string, eventId: string[]): Promise<void>;\n  /**\n   * Unassigns events from multiple categories at once.\n   * @param categoryId - A list of category IDs.\n   * @public\n   * @requiredField categoryId\n   * @param options - Options to use when removing events from multiple categories.\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function bulkUnassignEvents(categoryId: string[], options?: BulkUnassignEventsOptions): Promise<BulkUnassignEventsResponse>;\n  interface BulkUnassignEventsOptions {\n      /** A list of events IDs. */\n      eventId?: string[];\n  }\n  /**\n   * Removes events that match given filter criteria from multiple categories.\n   *\n   * Unlike the [`bulkUnassignEvents()`](https://www.wix.com/velo/reference/wix-events-v2/categories/bulkunassignevents) function, this function can handle numerous requests and is less prone to failures.\n   *\n   * However, the events will not be instantly removed from the categories (as with `bulkUnassignEvents()`), but rather after some time. In this case, if try to [`listEventCategories`](https://www.wix.com/velo/reference/wix-events-v2/categories/listeventcategories) or [`queryCategories`](https://www.wix.com/velo/reference/wix-events-v2/categories/querycategories), you might not get the correct response.\n   * @param categoryId - Category ID.\n   * @public\n   * @requiredField categoryId\n   * @requiredField options\n   * @requiredField options.filter\n   * @param options - Options to use when removing events from multiple categories.\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function bulkUnassignEventsAsync(categoryId: string[], options: BulkUnassignEventsAsyncOptions): Promise<void>;\n  interface BulkUnassignEventsAsyncOptions {\n      /**\n       * Criteria that must be met for an event to be considered for the bulk assign. Supported filters for this API:\n       * - `_id`: [`eq()`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder/eq)\n       * - `name`: [`eq()`](https://www.wix.com/velo/reference/wix-events-v2/categories/categoriesquerybuilder/eq)\n       */\n      filter: Record<string, any> | null;\n  }\n  /**\n   * Retrieves a list of categories that are not in the `HIDDEN` state.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @permissionId WIX_EVENTS.READ_CATEGORIES\n   */\n  function listEventCategories(eventId: string): Promise<ListEventCategoriesResponse>;\n  /**\n   * Change the order of events that are assigned to the same category on the Events Widget.\n   *\n   *\n   * For more information see [this article](https://support.wix.com/en/article/creating-and-displaying-event-categories)\n   * @param categoryId - Category ID.\n   * @public\n   * @requiredField categoryId\n   * @param options - Options to use when reordering events.\n   * @permissionId WIX_EVENTS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function reorderCategoryEvents(categoryId: string, options?: ReorderCategoryEventsOptions): Promise<void>;\n  interface ReorderCategoryEventsOptions extends ReorderCategoryEventsRequestReferenceEventOneOf {\n      /** Event ID. */\n      eventId?: string;\n      /** Move the event before defined `eventId`. */\n      beforeEventId?: string;\n      /** Move the event after defined `eventId`. */\n      afterEventId?: string;\n  }\n  \n  type eventsV1Category_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type eventsV1Category_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n  type eventsV1Category_universal_d_BulkCreateCategoryRequest = BulkCreateCategoryRequest;\n  type eventsV1Category_universal_d_BulkCreateCategoryResponse = BulkCreateCategoryResponse;\n  type eventsV1Category_universal_d_BulkCategoryResult = BulkCategoryResult;\n  type eventsV1Category_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type eventsV1Category_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n  type eventsV1Category_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type eventsV1Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  type eventsV1Category_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n  type eventsV1Category_universal_d_CategoryFieldset = CategoryFieldset;\n  const eventsV1Category_universal_d_CategoryFieldset: typeof CategoryFieldset;\n  type eventsV1Category_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n  type eventsV1Category_universal_d_AssignEventsRequest = AssignEventsRequest;\n  type eventsV1Category_universal_d_AssignEventsResponse = AssignEventsResponse;\n  type eventsV1Category_universal_d_BulkAssignEventsRequest = BulkAssignEventsRequest;\n  type eventsV1Category_universal_d_BulkAssignEventsResponse = BulkAssignEventsResponse;\n  type eventsV1Category_universal_d_BulkAssignEventsAsyncRequest = BulkAssignEventsAsyncRequest;\n  type eventsV1Category_universal_d_BulkAssignEventsAsyncResponse = BulkAssignEventsAsyncResponse;\n  type eventsV1Category_universal_d_UnassignEventsRequest = UnassignEventsRequest;\n  type eventsV1Category_universal_d_UnassignEventsResponse = UnassignEventsResponse;\n  type eventsV1Category_universal_d_BulkUnassignEventsRequest = BulkUnassignEventsRequest;\n  type eventsV1Category_universal_d_BulkUnassignEventsResponse = BulkUnassignEventsResponse;\n  type eventsV1Category_universal_d_BulkUnassignEventsAsyncRequest = BulkUnassignEventsAsyncRequest;\n  type eventsV1Category_universal_d_BulkUnassignEventsAsyncResponse = BulkUnassignEventsAsyncResponse;\n  type eventsV1Category_universal_d_ListEventCategoriesRequest = ListEventCategoriesRequest;\n  type eventsV1Category_universal_d_ListEventCategoriesResponse = ListEventCategoriesResponse;\n  type eventsV1Category_universal_d_ReorderCategoryEventsRequest = ReorderCategoryEventsRequest;\n  type eventsV1Category_universal_d_ReorderCategoryEventsRequestReferenceEventOneOf = ReorderCategoryEventsRequestReferenceEventOneOf;\n  type eventsV1Category_universal_d_ReorderCategoryEventsResponse = ReorderCategoryEventsResponse;\n  const eventsV1Category_universal_d_createCategory: typeof createCategory;\n  const eventsV1Category_universal_d_bulkCreateCategory: typeof bulkCreateCategory;\n  const eventsV1Category_universal_d_updateCategory: typeof updateCategory;\n  type eventsV1Category_universal_d_UpdateCategory = UpdateCategory;\n  const eventsV1Category_universal_d_deleteCategory: typeof deleteCategory;\n  const eventsV1Category_universal_d_queryCategories: typeof queryCategories;\n  type eventsV1Category_universal_d_QueryCategoriesOptions = QueryCategoriesOptions;\n  type eventsV1Category_universal_d_CategoriesQueryResult = CategoriesQueryResult;\n  type eventsV1Category_universal_d_CategoriesQueryBuilder = CategoriesQueryBuilder;\n  const eventsV1Category_universal_d_assignEvents: typeof assignEvents;\n  const eventsV1Category_universal_d_bulkAssignEvents: typeof bulkAssignEvents;\n  type eventsV1Category_universal_d_BulkAssignEventsOptions = BulkAssignEventsOptions;\n  const eventsV1Category_universal_d_bulkAssignEventsAsync: typeof bulkAssignEventsAsync;\n  type eventsV1Category_universal_d_BulkAssignEventsAsyncOptions = BulkAssignEventsAsyncOptions;\n  const eventsV1Category_universal_d_unassignEvents: typeof unassignEvents;\n  const eventsV1Category_universal_d_bulkUnassignEvents: typeof bulkUnassignEvents;\n  type eventsV1Category_universal_d_BulkUnassignEventsOptions = BulkUnassignEventsOptions;\n  const eventsV1Category_universal_d_bulkUnassignEventsAsync: typeof bulkUnassignEventsAsync;\n  type eventsV1Category_universal_d_BulkUnassignEventsAsyncOptions = BulkUnassignEventsAsyncOptions;\n  const eventsV1Category_universal_d_listEventCategories: typeof listEventCategories;\n  const eventsV1Category_universal_d_reorderCategoryEvents: typeof reorderCategoryEvents;\n  type eventsV1Category_universal_d_ReorderCategoryEventsOptions = ReorderCategoryEventsOptions;\n  namespace eventsV1Category_universal_d {\n    export {\n      Category$4 as Category,\n      CategoryCounts$4 as CategoryCounts,\n      State$7 as State,\n      eventsV1Category_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      eventsV1Category_universal_d_CreateCategoryResponse as CreateCategoryResponse,\n      eventsV1Category_universal_d_BulkCreateCategoryRequest as BulkCreateCategoryRequest,\n      eventsV1Category_universal_d_BulkCreateCategoryResponse as BulkCreateCategoryResponse,\n      eventsV1Category_universal_d_BulkCategoryResult as BulkCategoryResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      eventsV1Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      eventsV1Category_universal_d_UpdateCategoryResponse as UpdateCategoryResponse,\n      eventsV1Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      eventsV1Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      eventsV1Category_universal_d_QueryCategoriesRequest as QueryCategoriesRequest,\n      QueryV2$4 as QueryV2,\n      QueryV2PagingMethodOneOf$4 as QueryV2PagingMethodOneOf,\n      Sorting$6 as Sorting,\n      SortOrder$6 as SortOrder,\n      Paging$5 as Paging,\n      eventsV1Category_universal_d_CategoryFieldset as CategoryFieldset,\n      eventsV1Category_universal_d_QueryCategoriesResponse as QueryCategoriesResponse,\n      PagingMetadataV2$5 as PagingMetadataV2,\n      Cursors$6 as Cursors,\n      eventsV1Category_universal_d_AssignEventsRequest as AssignEventsRequest,\n      eventsV1Category_universal_d_AssignEventsResponse as AssignEventsResponse,\n      eventsV1Category_universal_d_BulkAssignEventsRequest as BulkAssignEventsRequest,\n      eventsV1Category_universal_d_BulkAssignEventsResponse as BulkAssignEventsResponse,\n      eventsV1Category_universal_d_BulkAssignEventsAsyncRequest as BulkAssignEventsAsyncRequest,\n      eventsV1Category_universal_d_BulkAssignEventsAsyncResponse as BulkAssignEventsAsyncResponse,\n      eventsV1Category_universal_d_UnassignEventsRequest as UnassignEventsRequest,\n      eventsV1Category_universal_d_UnassignEventsResponse as UnassignEventsResponse,\n      eventsV1Category_universal_d_BulkUnassignEventsRequest as BulkUnassignEventsRequest,\n      eventsV1Category_universal_d_BulkUnassignEventsResponse as BulkUnassignEventsResponse,\n      eventsV1Category_universal_d_BulkUnassignEventsAsyncRequest as BulkUnassignEventsAsyncRequest,\n      eventsV1Category_universal_d_BulkUnassignEventsAsyncResponse as BulkUnassignEventsAsyncResponse,\n      eventsV1Category_universal_d_ListEventCategoriesRequest as ListEventCategoriesRequest,\n      eventsV1Category_universal_d_ListEventCategoriesResponse as ListEventCategoriesResponse,\n      eventsV1Category_universal_d_ReorderCategoryEventsRequest as ReorderCategoryEventsRequest,\n      eventsV1Category_universal_d_ReorderCategoryEventsRequestReferenceEventOneOf as ReorderCategoryEventsRequestReferenceEventOneOf,\n      eventsV1Category_universal_d_ReorderCategoryEventsResponse as ReorderCategoryEventsResponse,\n      DomainEvent$6 as DomainEvent,\n      DomainEventBodyOneOf$6 as DomainEventBodyOneOf,\n      EntityCreatedEvent$6 as EntityCreatedEvent,\n      RestoreInfo$6 as RestoreInfo,\n      EntityUpdatedEvent$6 as EntityUpdatedEvent,\n      EntityDeletedEvent$6 as EntityDeletedEvent,\n      ActionEvent$6 as ActionEvent,\n      MessageEnvelope$a as MessageEnvelope,\n      IdentificationData$a as IdentificationData,\n      IdentificationDataIdOneOf$a as IdentificationDataIdOneOf,\n      WebhookIdentityType$a as WebhookIdentityType,\n      eventsV1Category_universal_d_createCategory as createCategory,\n      eventsV1Category_universal_d_bulkCreateCategory as bulkCreateCategory,\n      eventsV1Category_universal_d_updateCategory as updateCategory,\n      eventsV1Category_universal_d_UpdateCategory as UpdateCategory,\n      eventsV1Category_universal_d_deleteCategory as deleteCategory,\n      eventsV1Category_universal_d_queryCategories as queryCategories,\n      eventsV1Category_universal_d_QueryCategoriesOptions as QueryCategoriesOptions,\n      eventsV1Category_universal_d_CategoriesQueryResult as CategoriesQueryResult,\n      eventsV1Category_universal_d_CategoriesQueryBuilder as CategoriesQueryBuilder,\n      eventsV1Category_universal_d_assignEvents as assignEvents,\n      eventsV1Category_universal_d_bulkAssignEvents as bulkAssignEvents,\n      eventsV1Category_universal_d_BulkAssignEventsOptions as BulkAssignEventsOptions,\n      eventsV1Category_universal_d_bulkAssignEventsAsync as bulkAssignEventsAsync,\n      eventsV1Category_universal_d_BulkAssignEventsAsyncOptions as BulkAssignEventsAsyncOptions,\n      eventsV1Category_universal_d_unassignEvents as unassignEvents,\n      eventsV1Category_universal_d_bulkUnassignEvents as bulkUnassignEvents,\n      eventsV1Category_universal_d_BulkUnassignEventsOptions as BulkUnassignEventsOptions,\n      eventsV1Category_universal_d_bulkUnassignEventsAsync as bulkUnassignEventsAsync,\n      eventsV1Category_universal_d_BulkUnassignEventsAsyncOptions as BulkUnassignEventsAsyncOptions,\n      eventsV1Category_universal_d_listEventCategories as listEventCategories,\n      eventsV1Category_universal_d_reorderCategoryEvents as reorderCategoryEvents,\n      eventsV1Category_universal_d_ReorderCategoryEventsOptions as ReorderCategoryEventsOptions,\n    };\n  }\n  \n  /**\n   * The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout).\n   * It also contains customizable messages and labels.\n   *\n   *\n   * A form is an ordered list of controls (blocks), which accept guest information into a field input.\n   *\n   * Each control contains one or more nested inputs. For example, `Name` control has two inputs:\n   * - First Name\n   * - Last Name\n   *\n   * By default, name and email controls are always required and are pinned to the top of the form.\n   */\n  interface Form$3 {\n      /** Nested fields as an ordered list. */\n      controls?: InputControl$3[];\n      /** Set of configured form messages. */\n      messages?: FormMessages$3;\n  }\n  /**\n   * A block of nested fields.\n   * Used to aggregate similar inputs like First Name and Last Name.\n   */\n  interface InputControl$3 {\n      /**\n       * Field control type. Possible values:\n       * - `INPUT`: Single text value field.\n       * - `TEXTAREA`: Single text value field with multiple lines.\n       * - `DROPDOWN`: Single-choice field with predefined values.\n       * - `RADIO`: Single-choice field with predefined values.\n       * - `CHECKBOX`: Multiple-choice field with predefined values.\n       * - `NAME`: Fields for entering first and last names.\n       * - `GUEST_CONTROL`: Fields for additional guests and their respective names.\n       * - `ADDRESS_SHORT`: Single-line address field.\n       * - `ADDRESS_FULL`: Full address field with multiple lines.\n       * - `DATE`: Fields for entering year, month, and day.\n       */\n      type?: InputControlType$3;\n      /**\n       * Whether the control is mandatory (such as `name` & `email`).\n       * When `true`, only the label can be changed.\n       */\n      system?: boolean;\n      /**\n       * Deprecated: Use `id`.\n       * @deprecated\n       */\n      name?: string;\n      /** Child inputs. */\n      inputs?: Input$3[];\n      /**\n       * Deprecated: use `inputs.label`.\n       * @deprecated\n       */\n      label?: string;\n      /** Field controls are sorted by this value in ascending order. */\n      orderIndex?: number;\n      /** Unique control ID. */\n      _id?: string;\n      /**\n       * Whether input control is deleted.\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  enum InputControlType$3 {\n      /** Single text value field. */\n      INPUT = \"INPUT\",\n      /** Single text value field. */\n      TEXTAREA = \"TEXTAREA\",\n      /** Single-choice field of predefined values. */\n      DROPDOWN = \"DROPDOWN\",\n      /** Single-choice field of predefined values. */\n      RADIO = \"RADIO\",\n      /** Multiple-choice field of predefined values. */\n      CHECKBOX = \"CHECKBOX\",\n      /** First and last name fields. */\n      NAME = \"NAME\",\n      /** Additional guests and respective guest names fields. */\n      GUEST_CONTROL = \"GUEST_CONTROL\",\n      /** Single-line address field. */\n      ADDRESS_SHORT = \"ADDRESS_SHORT\",\n      /** Full address field. */\n      ADDRESS_FULL = \"ADDRESS_FULL\",\n      /** Year, month and day fields. */\n      DATE = \"DATE\"\n  }\n  /** An input of one or multiple text values */\n  interface Input$3 {\n      /** Field name. */\n      name?: string;\n      /**\n       * Deprecated: use `ValueType.TEXT_ARRAY`.\n       * @deprecated\n       */\n      array?: boolean;\n      /** Main field label */\n      label?: string;\n      /** Additional labels for multi-valued fields such as address. */\n      additionalLabels?: Record<string, string>;\n      /** Predefined choice options for fields, such as dropdown. */\n      options?: string[];\n      /** Whether field is mandatory. */\n      mandatory?: boolean;\n      /** Maximum number of accepted characters (relevant for text fields). */\n      maxLength?: number;\n      /**\n       * Type which determines field format.\n       * Used to validate submitted response.\n       */\n      type?: ValueType$3;\n      /**\n       * The maximum number of accepted values for array input.\n       * **Note:** Only applicable for `TEXT_ARRAY` input fields.\n       */\n      maxSize?: number | null;\n      /**\n       * Preselected option.\n       * Currently only applicable for dropdown.\n       */\n      defaultOptionSelection?: OptionSelection$3;\n      /**\n       * Additional labels for multi-valued fields such as address.\n       * @readonly\n       */\n      labels?: Label$3[];\n  }\n  enum ValueType$3 {\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      TEXT_ARRAY = \"TEXT_ARRAY\",\n      DATE_TIME = \"DATE_TIME\",\n      ADDRESS = \"ADDRESS\"\n  }\n  /**\n   * Describes initially selected option when an input has multiple choices.\n   * Defaults to first (0th) option if not configured.\n   */\n  interface OptionSelection$3 extends OptionSelectionSelectedOptionOneOf$3 {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  /** @oneof */\n  interface OptionSelectionSelectedOptionOneOf$3 {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  interface Label$3 {\n      /** Field name. */\n      name?: string;\n      /** Field label. */\n      label?: string;\n  }\n  /**\n   * Defines form messages shown in UI before, during, and after registration flow.\n   * It enables configuration of form titles, response labels, \"thank you\" messages, and call-to-action texts.\n   */\n  interface FormMessages$3 {\n      /** RSVP form messages. */\n      rsvp?: RsvpFormMessages$3;\n      /** Checkout form messages. */\n      checkout?: CheckoutFormMessages$3;\n      /** Messages shown when event registration is closed. */\n      registrationClosed?: RegistrationClosedMessages$3;\n      /** Messages shown when event tickets are unavailable. */\n      ticketsUnavailable?: TicketsUnavailableMessages$3;\n  }\n  interface RsvpFormMessages$3 {\n      /** Label text indicating RSVP `YES` response. */\n      rsvpYesOption?: string;\n      /** Label text indicating RSVP `NO` response. */\n      rsvpNoOption?: string;\n      /** Messages shown for RSVP = `YES`. */\n      positiveMessages?: Positive$3;\n      /** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */\n      waitlistMessages?: Positive$3;\n      /** Messages shown for RSVP = `NO`. */\n      negativeMessages?: Negative$3;\n      /** \"Submit form\" call-to-action label text. */\n      submitActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface PositiveResponseConfirmation$3 {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarActionLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface NegativeResponseConfirmation$3 {\n      /** Confirmation message title. */\n      title?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Set of messages shown during registration when RSVP response is positive. */\n  interface Positive$3 {\n      /** Main form title for positive response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: PositiveResponseConfirmation$3;\n  }\n  /** A set of messages shown during registration with negative response */\n  interface Negative$3 {\n      /** Main form title for negative response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: NegativeResponseConfirmation$3;\n  }\n  interface CheckoutFormMessages$3 {\n      /** Main form title for response. */\n      title?: string;\n      /** Submit form call-to-action label text. */\n      submitActionLabel?: string;\n      /** Confirmation messages shown after checkout. */\n      confirmation?: ResponseConfirmation$3;\n  }\n  /** Confirmation messages shown after checkout. */\n  interface ResponseConfirmation$3 {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Download tickets\" call-to-action label text. */\n      downloadTicketsLabel?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareEventLabel?: string;\n  }\n  interface RegistrationClosedMessages$3 {\n      /** Message shown when event registration is closed. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface TicketsUnavailableMessages$3 {\n      /** Message shown when event tickets are unavailable. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface FormInputControlAdded {\n      /** Event ID to which the form belongs. */\n      eventId?: string;\n      /** Input control. */\n      inputControl?: InputControl$3;\n  }\n  interface FormInputControlUpdated {\n      /** Event ID to which the form belongs. */\n      eventId?: string;\n      /** Input control. */\n      updatedInputControl?: InputControl$3;\n  }\n  interface FormInputControlDeleted {\n      /** Event ID to which the form belongs. */\n      eventId?: string;\n      /** Input control. */\n      deletedInputControl?: InputControl$3;\n  }\n  interface GetFormRequest {\n      /** Event ID to which the form belongs. */\n      eventId: string;\n      /**\n       * Whether to return additional data with the response.\n       * @internal\n       */\n      fields?: RequestedFields$2[];\n  }\n  enum RequestedFields$2 {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Include soft deleted input controls in the response. */\n      DELETED = \"DELETED\"\n  }\n  interface GetFormResponse {\n      /**\n       * Currently published event form.\n       * Published form is visible to site visitors.\n       */\n      form?: Form$3;\n      /**\n       * Draft event form.\n       * Not available to visitors unless published.\n       */\n      draftForm?: Form$3;\n  }\n  interface AddControlRequest extends AddControlRequestControlOneOf {\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Deprecated. Use radioButton.\n       * @internal\n       * @deprecated\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Single-choice radio button style input control. */\n      radioButton?: RadioButtonControl;\n      /** Event ID to which the form belongs. */\n      eventId: string;\n  }\n  /** @oneof */\n  interface AddControlRequestControlOneOf {\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Deprecated. Use radioButton.\n       * @internal\n       * @deprecated\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Single-choice radio button style input control. */\n      radioButton?: RadioButtonControl;\n  }\n  interface PhoneControl {\n      /** Phone input label. */\n      label?: string;\n      /** Whether phone input is required. */\n      mandatory?: boolean;\n  }\n  interface AddressControl {\n      /** Address control labels for each input. */\n      labels?: AddressControlLabels;\n      /** Whether address is multi-line (consisting of multiple fields such as country, city, postal code). When false, address is single-line. */\n      full?: boolean;\n      /** Whether address input is required. */\n      mandatory?: boolean;\n  }\n  interface AddressControlLabels {\n      /** Single-line address input label. */\n      addressLine?: string;\n      /** Country input label. */\n      country?: string;\n      /** Subdivision input label. */\n      subdivision?: string;\n      /** City input label. */\n      city?: string;\n      /** Postal code input label. */\n      postalCode?: string;\n      /** Street address input label. */\n      streetAddress?: string;\n  }\n  interface DateControl {\n      /** Input control label. */\n      label?: string;\n      /** Whether date input is required */\n      mandatory?: boolean;\n  }\n  interface AdditionalGuestsControl {\n      /** Additional guests control labels for each input. */\n      labels?: Labels;\n      /** Whether individual guest names are required. */\n      namesMandatory?: boolean;\n      /** Maximum number of additional guests. */\n      maxGuests?: number;\n  }\n  interface Labels {\n      /** Input label for a single guest. */\n      single?: string;\n      /** Input label for multiple guests. */\n      multiple?: string;\n  }\n  interface DropdownControl {\n      /** Input control label. */\n      label?: string;\n      /** Predefined options guests can choose from. */\n      options?: string[];\n      /** Whether choice is required. */\n      mandatory?: boolean;\n      /** Preselected option. */\n      defaultOptionSelection?: OptionSelection$3;\n  }\n  interface RadioButtonControl {\n      /** Input control label. */\n      label?: string;\n      /** Predefined options guests can choose from. */\n      options?: string[];\n  }\n  interface CheckboxControl {\n      /** Input control label. */\n      label?: string;\n      /** Whether at least one checkbox is required. */\n      mandatory?: boolean;\n      /** Predefined options guests can choose from. */\n      options?: string[];\n  }\n  interface TextControl {\n      /** Input control label. */\n      label?: string;\n      /** Whether text input is required. */\n      mandatory?: boolean;\n      /** Maximum number of characters allowed. */\n      maxLength?: number;\n      /** Whether input control should allow multiple lines in text. */\n      multiLine?: boolean;\n      /** Whether input control should be displayed as a comment. */\n      comment?: boolean;\n  }\n  interface AddControlResponse {\n      /** Generated unique input control ID. */\n      _id?: string;\n      /** Modified draft event form. */\n      form?: Form$3;\n  }\n  interface UpdateControlRequest extends UpdateControlRequestControlOneOf {\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Single-choice radio style input control.\n       * @internal\n       * @deprecated\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Main guest name input control. */\n      name?: NameControl;\n      /** Main guest email input control. */\n      email?: EmailControl;\n      /** Single-choice radio style input control. */\n      radioButton?: RadioButtonControl;\n      /** Event ID to which the form belongs. */\n      eventId: string;\n      /** Unique input control ID. */\n      _id: string;\n      /** Index used to sort input controls in ascending order. */\n      orderIndex?: number;\n  }\n  /** @oneof */\n  interface UpdateControlRequestControlOneOf {\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Single-choice radio style input control.\n       * @internal\n       * @deprecated\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Main guest name input control. */\n      name?: NameControl;\n      /** Main guest email input control. */\n      email?: EmailControl;\n      /** Single-choice radio style input control. */\n      radioButton?: RadioButtonControl;\n  }\n  interface NameControl {\n      /** Name control labels of each input */\n      labels?: NameControlLabels;\n  }\n  interface NameControlLabels {\n      /** First name input label */\n      firstName?: string;\n      /** Last name input label */\n      lastName?: string;\n  }\n  interface EmailControl {\n      /** Email input label. */\n      label?: string;\n  }\n  interface UpdateControlResponse {\n      /** Modified draft event form. */\n      form?: Form$3;\n  }\n  interface DeleteControlRequest {\n      /** Event ID to which the form belongs. */\n      eventId: string;\n      /** Unique input control ID. */\n      _id: string;\n  }\n  interface DeleteControlResponse {\n      /** Modified draft event form. */\n      form?: Form$3;\n  }\n  interface UpdateMessagesRequest {\n      /** Event ID to which the form belongs. */\n      eventId: string;\n      /**\n       * Set of field paths, specifying which parts of this resource to update.\n       * When fields are empty, request is interpreted as full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n      /** Set of configured form messages. */\n      messages?: FormMessages$3;\n  }\n  interface UpdateMessagesResponse {\n      /** Modified draft event form. */\n      form?: Form$3;\n  }\n  interface PublishDraftRequest {\n      /** Event ID to which the form belongs. */\n      eventId: string;\n  }\n  interface PublishDraftResponse {\n      /** Published event form. */\n      form?: Form$3;\n  }\n  interface EventUpdated$2 {\n      /** Event update timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$5;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$5;\n      /** Event title. */\n      title?: string;\n      /**\n       * Whether schedule configuration was updated.\n       * @deprecated\n       */\n      scheduleConfigUpdated?: boolean;\n      /**\n       * The set of properties which were updated. For example 'title' or 'location'\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Whether event has opened new spots with this update.\n       * @internal\n       */\n      newSpotsOpened?: boolean | null;\n      /** Updated event */\n      event?: Event$3;\n  }\n  interface Location$5 {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates$5;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationType$5;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address$8;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates$5 {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationType$5 {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address$8 extends AddressStreetOneOf$8 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$8;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation$8;\n      /** country full-name */\n      countryFullname?: string | null;\n      /** multi-level subdivisions from top to bottom */\n      subdivisions?: Subdivision$8[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$8 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$8;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$8 {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /**\n       * apartment number\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation$8 {\n      /** address latitude coordinates */\n      latitude?: number | null;\n      /** address longitude coordinates */\n      longitude?: number | null;\n  }\n  interface Subdivision$8 {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /**\n       * subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$8;\n      /**\n       * free text description of subdivision type\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$8 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface ScheduleConfig$5 {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: Recurrences$5;\n  }\n  interface Recurrences$5 {\n      /** Event occurrences. */\n      occurrences?: Occurrence$5[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: Status$5;\n  }\n  interface Occurrence$5 {\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum Status$5 {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  interface Event$3 {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Event location. */\n      location?: Location$5;\n      /** Event scheduling. */\n      scheduling?: Scheduling$3;\n      /** Event title. */\n      title?: string;\n      /** Event description. */\n      description?: string;\n      /** Rich-text content displayed in Wix UI - \"About Event\" section (HTML). */\n      about?: string;\n      /** Main event image. */\n      mainImage?: string;\n      /** Event slug URL (generated from event title). */\n      slug?: string;\n      /** ISO 639-1 language code of the event (used in content translations). */\n      language?: string;\n      /** Event creation timestamp. */\n      created?: Date | null;\n      /** Event modified timestamp. */\n      modified?: Date | null;\n      /** Event status. */\n      status?: EventStatus$5;\n      /** RSVP or ticketing registration details. */\n      registration?: Registration$3;\n      /** \"Add to calendar\" URLs. */\n      calendarLinks?: CalendarLinks$5;\n      /** Event page URL components. */\n      eventPageUrl?: SiteUrl$3;\n      /** Event registration form. */\n      form?: Form$3;\n      /** Event dashboard summary of RSVP / ticket sales. */\n      dashboard?: Dashboard$5;\n      /** Instance ID of the site where event is hosted. */\n      instanceId?: string;\n      /** Guest list configuration. */\n      guestListConfig?: GuestListConfig$3;\n      /** Event creator user ID. */\n      userId?: string;\n      /** Event discussion feed. For internal use. */\n      feed?: Feed$3;\n      /** Online conferencing details. */\n      onlineConferencing?: OnlineConferencing$3;\n      /** SEO settings. */\n      seoSettings?: SeoSettings$3;\n      /** Assigned contacts label key. */\n      assignedContactsLabel?: string | null;\n      /** Agenda details. */\n      agenda?: Agenda$3;\n      /** Categories this event is assigned to. */\n      categories?: Category$3[];\n      /** Visual settings for event. */\n      eventDisplaySettings?: EventDisplaySettings$3;\n      /**\n       * @internal\n       * @readonly\n       */\n      customizableTickets?: boolean | null;\n      /**\n       * Labelling related data.\n       * @internal\n       */\n      labellingSettings?: LabellingSettings$3;\n  }\n  interface Scheduling$3 {\n      /** Schedule configuration. */\n      config?: ScheduleConfig$5;\n      /** Formatted schedule representation. */\n      formatted?: string;\n      /** Formatted start date of the event (empty for TBD schedules). */\n      startDateFormatted?: string;\n      /** Formatted start time of the event (empty for TBD schedules). */\n      startTimeFormatted?: string;\n      /** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */\n      endDateFormatted?: string;\n      /** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */\n      endTimeFormatted?: string;\n  }\n  enum EventStatus$5 {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface Registration$3 {\n      /** Event type. */\n      type?: EventType$3;\n      /** Event registration status. */\n      status?: RegistrationStatus$3;\n      /** RSVP collection details. */\n      rsvpCollection?: RsvpCollection$3;\n      /** Ticketing details. */\n      ticketing?: Ticketing$3;\n      /** External registration details. */\n      external?: ExternalEvent$3;\n      /** Types of users allowed to register. */\n      restrictedTo?: VisitorType$3;\n      /** Initial event type which was set when creating an event. */\n      initialType?: EventType$3;\n  }\n  enum EventType$3 {\n      /** Type not available for this request fieldset */\n      NA_EVENT_TYPE = \"NA_EVENT_TYPE\",\n      /** Registration via RSVP */\n      RSVP = \"RSVP\",\n      /** Registration via ticket purchase */\n      TICKETS = \"TICKETS\",\n      /** External registration */\n      EXTERNAL = \"EXTERNAL\",\n      /** Registration not available */\n      NO_REGISTRATION = \"NO_REGISTRATION\"\n  }\n  enum RegistrationStatus$3 {\n      /** Registration status is not applicable */\n      NA_REGISTRATION_STATUS = \"NA_REGISTRATION_STATUS\",\n      /** Registration to event is closed */\n      CLOSED = \"CLOSED\",\n      /** Registration to event is closed manually */\n      CLOSED_MANUALLY = \"CLOSED_MANUALLY\",\n      /** Registration is open via RSVP */\n      OPEN_RSVP = \"OPEN_RSVP\",\n      /** Registration to event waitlist is open via RSVP */\n      OPEN_RSVP_WAITLIST = \"OPEN_RSVP_WAITLIST\",\n      /** Registration is open via ticket purchase */\n      OPEN_TICKETS = \"OPEN_TICKETS\",\n      /** Registration is open via external URL */\n      OPEN_EXTERNAL = \"OPEN_EXTERNAL\",\n      /** Registration will be open via RSVP */\n      SCHEDULED_RSVP = \"SCHEDULED_RSVP\"\n  }\n  interface RsvpCollection$3 {\n      /** RSVP collection configuration. */\n      config?: RsvpCollectionConfig$3;\n  }\n  interface RsvpCollectionConfig$3 {\n      /** Defines the supported RSVP statuses. */\n      rsvpStatusOptions?: RsvpStatusOptions$3;\n      /**\n       * Total guest limit available to register to the event.\n       * Additional guests per RSVP are counted towards total guests.\n       */\n      limit?: number | null;\n      /** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */\n      waitlist?: boolean;\n      /** Registration start timestamp. */\n      startDate?: Date | null;\n      /** Registration end timestamp. */\n      endDate?: Date | null;\n  }\n  enum RsvpStatusOptions$3 {\n      /** Only YES RSVP status is available for RSVP registration */\n      YES_ONLY = \"YES_ONLY\",\n      /** YES and NO RSVP status options are available for the registration */\n      YES_AND_NO = \"YES_AND_NO\"\n  }\n  interface Ticketing$3 {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      lowestPrice?: string | null;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      highestPrice?: string | null;\n      /** Currency used in event transactions. */\n      currency?: string | null;\n      /** Ticketing configuration. */\n      config?: TicketingConfig$3;\n      /**\n       * Price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPrice?: Money$6;\n      /**\n       * Price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPrice?: Money$6;\n      /**\n       * Formatted price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPriceFormatted?: string | null;\n      /**\n       * Formatted price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPriceFormatted?: string | null;\n      /**\n       * Whether all tickets are sold for this event.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n  }\n  interface TicketingConfig$3 {\n      /** Whether the form must be filled out separately for each ticket. */\n      guestAssignedTickets?: boolean;\n      /** Tax configuration. */\n      taxConfig?: TaxConfig$3;\n      /** Limit of tickets that can be purchased per order, default 20. */\n      ticketLimitPerOrder?: number;\n      /**\n       * App Id for external ticket stock management.\n       * By default tickets stock is defined in TicketDefinition object.\n       * If defined then limitation from TicketDefinition is ignored.\n       * @internal\n       */\n      stockManagerAppId?: string | null;\n      /** Duration for which the tickets being bought are reserved. */\n      reservationDurationInMinutes?: number | null;\n  }\n  interface TaxConfig$3 {\n      /** Tax application settings. */\n      type?: TaxType$4;\n      /** Tax name. */\n      name?: string | null;\n      /** Tax rate (e.g.,`21.55`). */\n      rate?: string | null;\n      /** Applies taxes for donations, default true. */\n      appliesToDonations?: boolean | null;\n  }\n  enum TaxType$4 {\n      /** Tax is included in the ticket price. */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout. */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout. */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Money$6 {\n      /**\n       * *Deprecated:** Use `value` instead.\n       * @deprecated\n       */\n      amount?: string;\n      /** ISO 4217 format of the currency e.g., `USD`. */\n      currency?: string;\n      /** 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. */\n      value?: string | null;\n  }\n  interface ExternalEvent$3 {\n      /** External event registration URL. */\n      registration?: string;\n  }\n  enum VisitorType$3 {\n      /** Site visitor (including member) */\n      VISITOR = \"VISITOR\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Site visitor or member */\n      VISITOR_OR_MEMBER = \"VISITOR_OR_MEMBER\"\n  }\n  interface CalendarLinks$5 {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  /** Site URL components */\n  interface SiteUrl$3 {\n      /**\n       * Base URL. For premium sites, this will be the domain.\n       * For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`)\n       */\n      base?: string;\n      /** The path to that page - e.g `/my-events/weekly-meetup-2` */\n      path?: string;\n  }\n  interface Dashboard$5 {\n      /** Guest RSVP summary. */\n      rsvpSummary?: RsvpSummary$4;\n      /**\n       * Summary of revenue and tickets sold.\n       * (Archived orders are not included).\n       */\n      ticketingSummary?: TicketingSummary$3;\n  }\n  interface RsvpSummary$4 {\n      /** Total number of RSVPs. */\n      total?: number;\n      /** Number of RSVPs with status `YES`. */\n      yes?: number;\n      /** Number of RSVPs with status `NO`. */\n      no?: number;\n      /** Number of RSVPs in waitlist. */\n      waitlist?: number;\n  }\n  interface TicketingSummary$3 {\n      /** Number of tickets sold. */\n      tickets?: number;\n      /**\n       * Total revenue, excluding fees.\n       * (taxes and payment provider fees are not deducted.)\n       */\n      revenue?: Money$6;\n      /** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */\n      currencyLocked?: boolean;\n      /** Number of orders placed. */\n      orders?: number;\n      /** Total balance of confirmed transactions. */\n      totalSales?: Money$6;\n  }\n  interface GuestListConfig$3 {\n      /** Whether members can see other members attending the event (defaults to true). */\n      publicGuestList?: boolean;\n  }\n  interface Feed$3 {\n      /** Event discussion feed token. */\n      token?: string;\n  }\n  interface OnlineConferencing$3 {\n      config?: OnlineConferencingConfig$3;\n      session?: OnlineConferencingSession$3;\n      /**\n       * Configured conferencing provider name.\n       * @internal\n       * @readonly\n       */\n      providerName?: string;\n  }\n  interface OnlineConferencingConfig$3 {\n      /**\n       * Whether online conferencing is enabled (not supported for TBD schedules).\n       * When enabled, links to join conferencing are generated and provided to guests.\n       */\n      enabled?: boolean;\n      /** Conferencing provider ID. */\n      providerId?: string | null;\n      /** Conference type */\n      conferenceType?: ConferenceType$3;\n  }\n  enum ConferenceType$3 {\n      /** Everyone in the meeting can publish and subscribe video and audio. */\n      MEETING = \"MEETING\",\n      /** Guests can only subscribe to video and audio. */\n      WEBINAR = \"WEBINAR\"\n  }\n  interface OnlineConferencingSession$3 {\n      /**\n       * Link for event host to start the online conference session.\n       * @readonly\n       */\n      hostLink?: string;\n      /**\n       * Link for guests to join the online conference session.\n       * @readonly\n       */\n      guestLink?: string;\n      /**\n       * The password required to join online conferencing session (when relevant).\n       * @readonly\n       */\n      password?: string | null;\n      /**\n       * Indicates that session was created successfully on providers side.\n       * @readonly\n       */\n      sessionCreated?: boolean | null;\n      /**\n       * Unique session id\n       * @readonly\n       */\n      sessionId?: string | null;\n  }\n  interface SeoSettings$3 {\n      /** URL slug */\n      slug?: string;\n      /** Advanced SEO data */\n      advancedSeoData?: SeoSchema$3;\n      /**\n       * Hidden from SEO Site Map\n       * @readonly\n       */\n      hidden?: boolean | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$3 {\n      /** SEO tag information. */\n      tags?: Tag$3[];\n      /** SEO general settings. */\n      settings?: Settings$4;\n  }\n  interface Keyword$3 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag$3 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$4 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$3[];\n  }\n  interface Agenda$3 {\n      /** Whether the schedule is enabled for the event. */\n      enabled?: boolean;\n      /**\n       * Agenda page URL.\n       * @readonly\n       */\n      pageUrl?: SiteUrl$3;\n  }\n  interface Category$3 {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Date and time when category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Assigned events count. Deleted events are excluded.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * The total number of draft and published events assigned to the category.\n       * @readonly\n       */\n      counts?: CategoryCounts$3;\n      /**\n       * Category state. Possible values:\n       *\n       * `MANUAL`: Category is created manually by the user.\n       * `AUTO`: Category is created automatically.\n       * `RECURRING_EVENT`: Category is created automatically when publishing recurring events.\n       * `HIDDEN`: Category can't be seen.\n       *\n       * Default: `MANUAL`.\n       *\n       * **Note:** The WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission scope is required to use states other than `MANUAL`.\n       */\n      states?: State$6[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  interface CategoryCounts$3 {\n      /** Total number of draft events assigned to the category. */\n      assignedEventsCount?: number | null;\n      /** Total number of published events assigned to the category. Deleted events are excluded. */\n      assignedDraftEventsCount?: number | null;\n  }\n  enum State$6 {\n      /** Created manually by the user. */\n      MANUAL = \"MANUAL\",\n      /** Created automatically. */\n      AUTO = \"AUTO\",\n      /** Created when publishing recurring events. */\n      RECURRING_EVENT = \"RECURRING_EVENT\",\n      /** Category is hidden. */\n      HIDDEN = \"HIDDEN\",\n      /** Category is used to store component events. */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface EventDisplaySettings$3 {\n      /** Whether event details button is hidden. Only available for events with no registration. */\n      hideEventDetailsButton?: boolean | null;\n      /** Disables event details page visibility. If event has an external registration configured visitors will be redirected from this page. */\n      hideEventDetailsPage?: boolean | null;\n  }\n  interface LabellingSettings$3 {\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLegacyLabelId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLabelDeleted?: boolean | null;\n  }\n  interface DiscardDraftRequest {\n      /** Event ID to which the form belongs. */\n      eventId: string;\n  }\n  interface DiscardDraftResponse {\n  }\n  interface DomainEvent$5 extends DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n  }\n  interface EntityCreatedEvent$5 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$5;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$5 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$5 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$5 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$5 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$9 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$9;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$9 extends IdentificationDataIdOneOf$9 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$9;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$9 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$9 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves an event registration form (both the draft and published versions).\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the form belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   * @returns Currently published event form.\n   * Published form is visible to site visitors.\n   */\n  function getForm(eventId: string, options?: GetFormOptions): Promise<Form$3>;\n  interface GetFormOptions {\n      /**\n       * Whether to return additional data with the response.\n       * @internal\n       */\n      fields?: RequestedFields$2[];\n  }\n  /**\n   * Adds an input control to the draft form.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the form belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function addControl(eventId: string, options?: AddControlOptions): Promise<AddControlResponse>;\n  interface AddControlOptions extends AddControlRequestControlOneOf {\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Deprecated. Use radioButton.\n       * @internal\n       * @deprecated\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Single-choice radio button style input control. */\n      radioButton?: RadioButtonControl;\n  }\n  /**\n   * Updates an existing input control in the draft form.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.id\n   * @param options - Optional fields.\n   * @param identifiers - Identifies what form to update.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function updateControl(identifiers: UpdateControlIdentifiers, options?: UpdateControlOptions): Promise<UpdateControlResponse>;\n  interface UpdateControlIdentifiers extends UpdateControlRequestControlOneOf {\n      /** Event ID to which the form belongs. */\n      eventId: string;\n      /** Unique input control ID. */\n      _id: string;\n  }\n  interface UpdateControlOptions extends UpdateControlRequestControlOneOf {\n      /** Index used to sort input controls in ascending order. */\n      orderIndex?: number;\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Single-choice radio style input control.\n       * @internal\n       * @deprecated\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Main guest name input control. */\n      name?: NameControl;\n      /** Main guest email input control. */\n      email?: EmailControl;\n      /** Single-choice radio style input control. */\n      radioButton?: RadioButtonControl;\n  }\n  /**\n   * Deletes an input control from the draft form.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.id\n   * @param identifiers - Identifies what form to delete.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function deleteControl(identifiers: DeleteControlIdentifiers): Promise<DeleteControlResponse>;\n  interface DeleteControlIdentifiers {\n      /** Event ID to which the form belongs. */\n      eventId: string;\n      /** Unique input control ID. */\n      _id: string;\n  }\n  /**\n   * Updates draft form messages, as displayed in the Wix UI before, during, and after the registration flow.\n   * Configurable messages include form titles, response labels, \"thank you\" messages, and call-to-action texts.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the form belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function updateMessages(eventId: string, options?: UpdateMessagesOptions): Promise<UpdateMessagesResponse>;\n  interface UpdateMessagesOptions {\n      /**\n       * Set of field paths, specifying which parts of this resource to update.\n       * When fields are empty, request is interpreted as full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n      /** Set of configured form messages. */\n      messages?: FormMessages$3;\n  }\n  /**\n   * Publishes the draft form.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the form belongs.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function publishDraft(eventId: string): Promise<PublishDraftResponse>;\n  /**\n   * Clears all changes to the draft form.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the form belongs.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function discardDraft(eventId: string): Promise<void>;\n  \n  type eventsV1Form_universal_d_FormInputControlAdded = FormInputControlAdded;\n  type eventsV1Form_universal_d_FormInputControlUpdated = FormInputControlUpdated;\n  type eventsV1Form_universal_d_FormInputControlDeleted = FormInputControlDeleted;\n  type eventsV1Form_universal_d_GetFormRequest = GetFormRequest;\n  type eventsV1Form_universal_d_GetFormResponse = GetFormResponse;\n  type eventsV1Form_universal_d_AddControlRequest = AddControlRequest;\n  type eventsV1Form_universal_d_AddControlRequestControlOneOf = AddControlRequestControlOneOf;\n  type eventsV1Form_universal_d_PhoneControl = PhoneControl;\n  type eventsV1Form_universal_d_AddressControl = AddressControl;\n  type eventsV1Form_universal_d_AddressControlLabels = AddressControlLabels;\n  type eventsV1Form_universal_d_DateControl = DateControl;\n  type eventsV1Form_universal_d_AdditionalGuestsControl = AdditionalGuestsControl;\n  type eventsV1Form_universal_d_Labels = Labels;\n  type eventsV1Form_universal_d_DropdownControl = DropdownControl;\n  type eventsV1Form_universal_d_RadioButtonControl = RadioButtonControl;\n  type eventsV1Form_universal_d_CheckboxControl = CheckboxControl;\n  type eventsV1Form_universal_d_TextControl = TextControl;\n  type eventsV1Form_universal_d_AddControlResponse = AddControlResponse;\n  type eventsV1Form_universal_d_UpdateControlRequest = UpdateControlRequest;\n  type eventsV1Form_universal_d_UpdateControlRequestControlOneOf = UpdateControlRequestControlOneOf;\n  type eventsV1Form_universal_d_NameControl = NameControl;\n  type eventsV1Form_universal_d_NameControlLabels = NameControlLabels;\n  type eventsV1Form_universal_d_EmailControl = EmailControl;\n  type eventsV1Form_universal_d_UpdateControlResponse = UpdateControlResponse;\n  type eventsV1Form_universal_d_DeleteControlRequest = DeleteControlRequest;\n  type eventsV1Form_universal_d_DeleteControlResponse = DeleteControlResponse;\n  type eventsV1Form_universal_d_UpdateMessagesRequest = UpdateMessagesRequest;\n  type eventsV1Form_universal_d_UpdateMessagesResponse = UpdateMessagesResponse;\n  type eventsV1Form_universal_d_PublishDraftRequest = PublishDraftRequest;\n  type eventsV1Form_universal_d_PublishDraftResponse = PublishDraftResponse;\n  type eventsV1Form_universal_d_DiscardDraftRequest = DiscardDraftRequest;\n  type eventsV1Form_universal_d_DiscardDraftResponse = DiscardDraftResponse;\n  const eventsV1Form_universal_d_getForm: typeof getForm;\n  type eventsV1Form_universal_d_GetFormOptions = GetFormOptions;\n  const eventsV1Form_universal_d_addControl: typeof addControl;\n  type eventsV1Form_universal_d_AddControlOptions = AddControlOptions;\n  const eventsV1Form_universal_d_updateControl: typeof updateControl;\n  type eventsV1Form_universal_d_UpdateControlIdentifiers = UpdateControlIdentifiers;\n  type eventsV1Form_universal_d_UpdateControlOptions = UpdateControlOptions;\n  const eventsV1Form_universal_d_deleteControl: typeof deleteControl;\n  type eventsV1Form_universal_d_DeleteControlIdentifiers = DeleteControlIdentifiers;\n  const eventsV1Form_universal_d_updateMessages: typeof updateMessages;\n  type eventsV1Form_universal_d_UpdateMessagesOptions = UpdateMessagesOptions;\n  const eventsV1Form_universal_d_publishDraft: typeof publishDraft;\n  const eventsV1Form_universal_d_discardDraft: typeof discardDraft;\n  namespace eventsV1Form_universal_d {\n    export {\n      Form$3 as Form,\n      InputControl$3 as InputControl,\n      InputControlType$3 as InputControlType,\n      Input$3 as Input,\n      ValueType$3 as ValueType,\n      OptionSelection$3 as OptionSelection,\n      OptionSelectionSelectedOptionOneOf$3 as OptionSelectionSelectedOptionOneOf,\n      Label$3 as Label,\n      FormMessages$3 as FormMessages,\n      RsvpFormMessages$3 as RsvpFormMessages,\n      PositiveResponseConfirmation$3 as PositiveResponseConfirmation,\n      NegativeResponseConfirmation$3 as NegativeResponseConfirmation,\n      Positive$3 as Positive,\n      Negative$3 as Negative,\n      CheckoutFormMessages$3 as CheckoutFormMessages,\n      ResponseConfirmation$3 as ResponseConfirmation,\n      RegistrationClosedMessages$3 as RegistrationClosedMessages,\n      TicketsUnavailableMessages$3 as TicketsUnavailableMessages,\n      eventsV1Form_universal_d_FormInputControlAdded as FormInputControlAdded,\n      eventsV1Form_universal_d_FormInputControlUpdated as FormInputControlUpdated,\n      eventsV1Form_universal_d_FormInputControlDeleted as FormInputControlDeleted,\n      eventsV1Form_universal_d_GetFormRequest as GetFormRequest,\n      RequestedFields$2 as RequestedFields,\n      eventsV1Form_universal_d_GetFormResponse as GetFormResponse,\n      eventsV1Form_universal_d_AddControlRequest as AddControlRequest,\n      eventsV1Form_universal_d_AddControlRequestControlOneOf as AddControlRequestControlOneOf,\n      eventsV1Form_universal_d_PhoneControl as PhoneControl,\n      eventsV1Form_universal_d_AddressControl as AddressControl,\n      eventsV1Form_universal_d_AddressControlLabels as AddressControlLabels,\n      eventsV1Form_universal_d_DateControl as DateControl,\n      eventsV1Form_universal_d_AdditionalGuestsControl as AdditionalGuestsControl,\n      eventsV1Form_universal_d_Labels as Labels,\n      eventsV1Form_universal_d_DropdownControl as DropdownControl,\n      eventsV1Form_universal_d_RadioButtonControl as RadioButtonControl,\n      eventsV1Form_universal_d_CheckboxControl as CheckboxControl,\n      eventsV1Form_universal_d_TextControl as TextControl,\n      eventsV1Form_universal_d_AddControlResponse as AddControlResponse,\n      eventsV1Form_universal_d_UpdateControlRequest as UpdateControlRequest,\n      eventsV1Form_universal_d_UpdateControlRequestControlOneOf as UpdateControlRequestControlOneOf,\n      eventsV1Form_universal_d_NameControl as NameControl,\n      eventsV1Form_universal_d_NameControlLabels as NameControlLabels,\n      eventsV1Form_universal_d_EmailControl as EmailControl,\n      eventsV1Form_universal_d_UpdateControlResponse as UpdateControlResponse,\n      eventsV1Form_universal_d_DeleteControlRequest as DeleteControlRequest,\n      eventsV1Form_universal_d_DeleteControlResponse as DeleteControlResponse,\n      eventsV1Form_universal_d_UpdateMessagesRequest as UpdateMessagesRequest,\n      eventsV1Form_universal_d_UpdateMessagesResponse as UpdateMessagesResponse,\n      eventsV1Form_universal_d_PublishDraftRequest as PublishDraftRequest,\n      eventsV1Form_universal_d_PublishDraftResponse as PublishDraftResponse,\n      EventUpdated$2 as EventUpdated,\n      Location$5 as Location,\n      MapCoordinates$5 as MapCoordinates,\n      LocationType$5 as LocationType,\n      Address$8 as Address,\n      AddressStreetOneOf$8 as AddressStreetOneOf,\n      StreetAddress$8 as StreetAddress,\n      AddressLocation$8 as AddressLocation,\n      Subdivision$8 as Subdivision,\n      SubdivisionType$8 as SubdivisionType,\n      ScheduleConfig$5 as ScheduleConfig,\n      Recurrences$5 as Recurrences,\n      Occurrence$5 as Occurrence,\n      Status$5 as Status,\n      Event$3 as Event,\n      Scheduling$3 as Scheduling,\n      EventStatus$5 as EventStatus,\n      Registration$3 as Registration,\n      EventType$3 as EventType,\n      RegistrationStatus$3 as RegistrationStatus,\n      RsvpCollection$3 as RsvpCollection,\n      RsvpCollectionConfig$3 as RsvpCollectionConfig,\n      RsvpStatusOptions$3 as RsvpStatusOptions,\n      Ticketing$3 as Ticketing,\n      TicketingConfig$3 as TicketingConfig,\n      TaxConfig$3 as TaxConfig,\n      TaxType$4 as TaxType,\n      Money$6 as Money,\n      ExternalEvent$3 as ExternalEvent,\n      VisitorType$3 as VisitorType,\n      CalendarLinks$5 as CalendarLinks,\n      SiteUrl$3 as SiteUrl,\n      Dashboard$5 as Dashboard,\n      RsvpSummary$4 as RsvpSummary,\n      TicketingSummary$3 as TicketingSummary,\n      GuestListConfig$3 as GuestListConfig,\n      Feed$3 as Feed,\n      OnlineConferencing$3 as OnlineConferencing,\n      OnlineConferencingConfig$3 as OnlineConferencingConfig,\n      ConferenceType$3 as ConferenceType,\n      OnlineConferencingSession$3 as OnlineConferencingSession,\n      SeoSettings$3 as SeoSettings,\n      SeoSchema$3 as SeoSchema,\n      Keyword$3 as Keyword,\n      Tag$3 as Tag,\n      Settings$4 as Settings,\n      Agenda$3 as Agenda,\n      Category$3 as Category,\n      CategoryCounts$3 as CategoryCounts,\n      State$6 as State,\n      EventDisplaySettings$3 as EventDisplaySettings,\n      LabellingSettings$3 as LabellingSettings,\n      eventsV1Form_universal_d_DiscardDraftRequest as DiscardDraftRequest,\n      eventsV1Form_universal_d_DiscardDraftResponse as DiscardDraftResponse,\n      DomainEvent$5 as DomainEvent,\n      DomainEventBodyOneOf$5 as DomainEventBodyOneOf,\n      EntityCreatedEvent$5 as EntityCreatedEvent,\n      RestoreInfo$5 as RestoreInfo,\n      EntityUpdatedEvent$5 as EntityUpdatedEvent,\n      EntityDeletedEvent$5 as EntityDeletedEvent,\n      ActionEvent$5 as ActionEvent,\n      MessageEnvelope$9 as MessageEnvelope,\n      IdentificationData$9 as IdentificationData,\n      IdentificationDataIdOneOf$9 as IdentificationDataIdOneOf,\n      WebhookIdentityType$9 as WebhookIdentityType,\n      eventsV1Form_universal_d_getForm as getForm,\n      eventsV1Form_universal_d_GetFormOptions as GetFormOptions,\n      eventsV1Form_universal_d_addControl as addControl,\n      eventsV1Form_universal_d_AddControlOptions as AddControlOptions,\n      eventsV1Form_universal_d_updateControl as updateControl,\n      eventsV1Form_universal_d_UpdateControlIdentifiers as UpdateControlIdentifiers,\n      eventsV1Form_universal_d_UpdateControlOptions as UpdateControlOptions,\n      eventsV1Form_universal_d_deleteControl as deleteControl,\n      eventsV1Form_universal_d_DeleteControlIdentifiers as DeleteControlIdentifiers,\n      eventsV1Form_universal_d_updateMessages as updateMessages,\n      eventsV1Form_universal_d_UpdateMessagesOptions as UpdateMessagesOptions,\n      eventsV1Form_universal_d_publishDraft as publishDraft,\n      eventsV1Form_universal_d_discardDraft as discardDraft,\n    };\n  }\n  \n  interface Order {\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Reservation ID. */\n      reservationId?: string;\n      /**\n       * Payment snapshot ID. Empty for the `FREE` order.\n       * @readonly\n       */\n      snapshotId?: string;\n      /** Event ID to which the order belongs. */\n      eventId?: string;\n      /** Contact ID of buyer (resolved using email address). */\n      contactId?: string;\n      /** Buyer member ID, if applicable. */\n      memberId?: string;\n      /**\n       * RSVP created timestamp.\n       * @readonly\n       */\n      created?: Date | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** Checkout form response. When each purchased ticket is assigned to a guest, guest forms are returned for each ticket, and buyer info is returned. */\n      checkoutForm?: FormResponse$3;\n      /** Whether the order is confirmed (triggered once payment gateway processes the payment and funds reach the merchant's account). */\n      confirmed?: boolean;\n      /**\n       * Order status. Possible values:\n       * - `FREE`: The order is confirmed, no payment is required.\n       * - `PENDING`: The order was paid, but the payment gateway suspended the payment.\n       * - `PAID`: The order is paid.\n       * - `OFFLINE_PENDING`: The order is confirmed but has to be paid in cash and the status is manually updated to `PAID`.\n       * - `INITIATED`: The order is awaiting for payment.\n       * - `CANCELED`: The order is canceled.\n       * - `DECLINED`: The order is payment is declined.\n       */\n      status?: OrderStatus$1;\n      /** Payment method used for purchase, e.g., \"payPal\", \"creditCard\", etc. */\n      method?: string;\n      /** Quantity of ordered tickets. */\n      ticketsQuantity?: number;\n      /** Total order price. */\n      totalPrice?: Money$5;\n      /** Ticket PDF URL. */\n      ticketsPdf?: string;\n      /** Tickets (generated after payment). */\n      tickets?: TicketingTicket$1[];\n      /** Whether the order is archived. */\n      archived?: boolean;\n      /** Whether the order is anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /** Guest full name. */\n      fullName?: string;\n      /** Order invoice. */\n      invoice?: Invoice;\n      /** Whether all tickets in order are checked-in. */\n      fullyCheckedIn?: boolean;\n      /**\n       * Deprecated. Use `payment_details.transaction.transaction_id`.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      transactionId?: string;\n      /** Internal order payment details */\n      paymentDetails?: PaymentDetails;\n      /** Checkout channel type */\n      channel?: ChannelType$1;\n      /**\n       * Language in which Order was created.\n       * @internal\n       */\n      language?: string | null;\n      /**\n       * Locale in which Order was created.\n       * @internal\n       */\n      locale?: string | null;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date | null;\n      /**\n       * Possible order actions.\n       * @internal\n       * @readonly\n       */\n      availableActions?: Action[];\n      /**\n       * Gift card payments.\n       * @internal\n       */\n      giftCardPaymentDetails?: GiftCardPaymentDetails[];\n      /**\n       * Balance summary.\n       * @internal\n       */\n      balanceSummary?: BalanceSummary;\n  }\n  interface FormResponse$3 {\n      /** Input fields for a checkout form. */\n      inputValues?: InputValue$3[];\n  }\n  interface InputValue$3 {\n      /** Input field name. */\n      inputName?: string;\n      /** Input field value. */\n      value?: string;\n      /** Multiple input field values. */\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date | null;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress$3;\n  }\n  interface FormattedAddress$3 {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: Address$7;\n  }\n  /** Physical address */\n  interface Address$7 extends AddressStreetOneOf$7 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$7;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$7;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision$7[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$7 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$7;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$7 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$7 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$7 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$7;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails$3;\n  }\n  enum SubdivisionType$7 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails$3 {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  enum OrderStatus$1 {\n      /** Order status not available for this request fieldset. */\n      NA_ORDER_STATUS = \"NA_ORDER_STATUS\",\n      /** Order is confirmed and payment isn't required. */\n      FREE = \"FREE\",\n      /** Order is paid for but the payment gateway has suspended the payment. */\n      PENDING = \"PENDING\",\n      /** Order is paid via a payment gateway. */\n      PAID = \"PAID\",\n      /** Order is confirmed but must be paid via offline payment. Status needs to be manually updated to `PAID`. */\n      OFFLINE_PENDING = \"OFFLINE_PENDING\",\n      /** Order is awaiting payment at the cashier. */\n      INITIATED = \"INITIATED\",\n      /** Order is canceled. */\n      CANCELED = \"CANCELED\",\n      /** Order payment is declined. */\n      DECLINED = \"DECLINED\",\n      /** Order payment is authorized. */\n      AUTHORIZED = \"AUTHORIZED\",\n      /** Order payment is voided. */\n      VOIDED = \"VOIDED\",\n      /** Order is partially paid with less than the total amount. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\"\n  }\n  interface Money$5 {\n      /**\n       * *Deprecated:** Use `value` instead.\n       * @deprecated\n       */\n      amount?: string;\n      /** Currency code. Must be a valid [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code (e.g., USD). */\n      currency?: string;\n      /** 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. */\n      value?: string | null;\n  }\n  interface TicketingTicket$1 {\n      /** Unique ticket number (issued automatically). */\n      ticketNumber?: string;\n      /** Associated order number. */\n      orderNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket price. */\n      price?: Money$5;\n      /**\n       * Whether the ticket requires payment.\n       * @readonly\n       */\n      free?: boolean;\n      /** Event and ticket policies. */\n      policy?: string;\n      /**\n       * Deprecated, use `check_in_url`.\n       * @deprecated\n       */\n      qrCode?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn$2;\n      /** Associated order status. */\n      orderStatus?: OrderStatus$1;\n      /** Whether order and ticket are visible in order list. */\n      orderArchived?: boolean;\n      /** Buyer full name. */\n      orderFullName?: string;\n      /** Guest full name. */\n      guestFullName?: string | null;\n      /** Guest personal details. */\n      guestDetails?: GuestDetails$1;\n      /** Whether ticket is visible in guest list. */\n      archived?: boolean;\n      /**\n       * Deprecated, use `ticket_pdf_url`.\n       * @deprecated\n       */\n      ticketPdf?: string;\n      /** Ticket owner member ID. */\n      memberId?: string | null;\n      /**\n       * Whether ticket was anonymized by GDPR delete.\n       * Anonymized tickets no longer contain personally identifiable information (PII).\n       */\n      anonymized?: boolean;\n      /**\n       * Ticket check-in URL.\n       * Shown as a QR code image in PDF.\n       * Format: `https://www.wixevents.com/check-in/{ticket number},{event id}`.\n       * Example: `https://www.wixevents.com/check-in/AAAA-AAAA-BB021,00000000-0000-0000-0000-000000000000`\n       */\n      checkInUrl?: string;\n      /** URL for ticket PDF download. */\n      ticketPdfUrl?: string;\n      /** Associated order checkout channel type */\n      channel?: ChannelType$1;\n      /**\n       * URL to download ticket in the `.pkpass` format for Apple Wallet\n       * @readonly\n       */\n      walletPassUrl?: string;\n      /**\n       * Additional ticket details.\n       * @internal\n       * @readonly\n       */\n      ticketDetails?: TicketDetails$1;\n  }\n  interface CheckIn$2 {\n      /** Time of check-in */\n      created?: Date | null;\n  }\n  interface GuestDetails$1 {\n      /** Whether ticket belongs to assigned guest. */\n      guestAssigned?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Full form response. */\n      form?: FormResponse$3;\n      /** Contact ID associated with this guest. */\n      contactId?: string | null;\n      /** Guest phone number. */\n      phone?: string | null;\n  }\n  enum ChannelType$1 {\n      /** Buyer created the order via an online channel such as a website or mobile app. */\n      ONLINE = \"ONLINE\",\n      /** Sales person created the order and collected the money. */\n      OFFLINE_POS = \"OFFLINE_POS\"\n  }\n  interface TicketDetails$1 {\n      /** Unique seat id in the event venue. */\n      seatId?: string | null;\n      /**\n       * Optional sector name.\n       * @internal\n       * @readonly\n       */\n      sectorName?: string | null;\n      /**\n       * Area name.\n       * @internal\n       * @readonly\n       */\n      areaName?: string | null;\n      /**\n       * Table name.\n       * @internal\n       * @readonly\n       */\n      tableName?: string | null;\n      /**\n       * Row label.\n       * @internal\n       * @readonly\n       */\n      rowNumber?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @internal\n       * @readonly\n       */\n      seatNumber?: string | null;\n      /**\n       * Optional sector label.\n       * @readonly\n       */\n      sectionLabel?: string | null;\n      /**\n       * Area label.\n       * @readonly\n       */\n      areaLabel?: string | null;\n      /**\n       * Table label.\n       * @readonly\n       */\n      tableLabel?: string | null;\n      /**\n       * Row label.\n       * @readonly\n       */\n      rowLabel?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @readonly\n       */\n      seatLabel?: string | null;\n      /** Number of places in the spot. If not provided - defaults to 1. */\n      capacity?: number | null;\n      /** Custom pricing of ticket. */\n      priceOverride?: string | null;\n      /** Pricing option id. */\n      pricingOptionId?: string | null;\n      /**\n       * Pricing option name.\n       * @readonly\n       */\n      pricingOptionName?: string | null;\n  }\n  interface Invoice {\n      /** Items listed in the invoice. */\n      items?: Item$1[];\n      /**\n       * Total cart amount.\n       * @deprecated\n       */\n      total?: Money$5;\n      /** Discount applied to a cart. */\n      discount?: Discount;\n      /** Tax applied to cart. */\n      tax?: Tax;\n      /** Total cart amount before discount, tax, and fees. */\n      subTotal?: Money$5;\n      /**\n       * Total amount of cart after discount, tax, and fees.\n       * Grand total is calculated in the following order:\n       * 1. Total prices of all items in the cart are calculated.\n       * 2. Discount is subtracted from the cart (if applicable).\n       * 3. Tax is added (if applicable).\n       * 4. Wix ticket service fee is added.\n       */\n      grandTotal?: Money$5;\n      /**\n       * Fees applied to the cart.\n       * @readonly\n       */\n      fees?: Fee[];\n      /** Total revenue, excluding fees. (Taxes and payment provider fees are not deducted). */\n      revenue?: Money$5;\n      /** Invoice preview URL. This value is only returned when the order is paid. */\n      previewUrl?: string | null;\n  }\n  interface Item$1 {\n      /** Unique line item ID. */\n      _id?: string;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item name. */\n      name?: string;\n      /** Line item price. */\n      price?: Money$5;\n      /** Total price for line items. It's calculated by multiplying price and item quantity. */\n      total?: Money$5;\n      /** Discount applied to the line item. */\n      discount?: Discount;\n      /** Tax applied to the item. */\n      tax?: Tax;\n      /**\n       * Fees applied to the item.\n       * @readonly\n       */\n      fees?: Fee[];\n  }\n  interface Discount {\n      /** Total discount amount. */\n      amount?: Money$5;\n      /** Total sum after the discount. */\n      afterDiscount?: Money$5;\n      /**\n       * Discount coupon code.\n       * @deprecated\n       */\n      code?: string;\n      /**\n       * Discount coupon name.\n       * @deprecated\n       */\n      name?: string;\n      /**\n       * Discount coupon ID.\n       * @deprecated\n       */\n      couponId?: string;\n      /** Discount items. */\n      discounts?: DiscountItem[];\n  }\n  interface DiscountItem extends DiscountItemDiscountOneOf {\n      /** Coupon discount. */\n      coupon?: CouponDiscount;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount;\n      /** Total discount amount. */\n      amount?: Money$5;\n  }\n  /** @oneof */\n  interface DiscountItemDiscountOneOf {\n      /** Coupon discount. */\n      coupon?: CouponDiscount;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount;\n  }\n  interface CouponDiscount {\n      /** Discount coupon name. */\n      name?: string;\n      /** Discount coupon code. */\n      code?: string;\n      /** Discount coupon ID. */\n      couponId?: string;\n  }\n  interface PaidPlanDiscount extends PaidPlanDiscountDiscountOneOf {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount;\n      /** Name of pricing plan. */\n      name?: string;\n  }\n  /** @oneof */\n  interface PaidPlanDiscountDiscountOneOf {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount;\n  }\n  interface PercentDiscount {\n      /** Percent rate. */\n      rate?: string;\n      /** Number of discounted tickets. */\n      quantityDiscounted?: number;\n  }\n  interface Tax {\n      /** Tax type. */\n      type?: TaxType$3;\n      /**\n       * Tax name.\n       * @readonly\n       */\n      name?: string;\n      /** Tax rate. */\n      rate?: string;\n      /** Taxable amount. */\n      taxable?: Money$5;\n      /** Total tax amount. */\n      amount?: Money$5;\n  }\n  enum TaxType$3 {\n      /** Tax is included in the ticket price. */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout. */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout. */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Fee {\n      /** Fee identifier. */\n      name?: FeeName;\n      /** How fee is calculated. */\n      type?: FeeType$1;\n      /**\n       * Fee rate.\n       * @readonly\n       */\n      rate?: string;\n      /** Total amount of fee charges. */\n      amount?: Money$5;\n  }\n  enum FeeName {\n      /** Wix ticket service fee charges applied to the line item. */\n      WIX_FEE = \"WIX_FEE\"\n  }\n  enum FeeType$1 {\n      /** Fee is added to the ticket price at checkout. */\n      FEE_ADDED = \"FEE_ADDED\",\n      /** Seller absorbs the fee. It is deducted from the ticket price. */\n      FEE_INCLUDED = \"FEE_INCLUDED\",\n      /** Fee is added to the ticket price at checkout. */\n      FEE_ADDED_AT_CHECKOUT = \"FEE_ADDED_AT_CHECKOUT\"\n  }\n  interface PaymentDetails {\n      /** Wix Payments transaction */\n      transaction?: PaymentTransaction;\n  }\n  interface PaymentTransaction {\n      /**\n       * Wix Payments transaction id\n       * @readonly\n       */\n      transactionId?: string;\n      /**\n       * Transaction Payment method e.g., \"payPal\", \"creditCard\", etc.\n       * @readonly\n       */\n      method?: string;\n      /**\n       * Scheduled action.\n       * @internal\n       * @readonly\n       */\n      scheduledAction?: ScheduledActionEnumAction;\n      /**\n       * Scheduled action execution date. Non empty for delayed transactions.\n       * @internal\n       * @readonly\n       */\n      scheduledActionExecutionDate?: Date | null;\n  }\n  enum ScheduledActionEnumAction {\n      /** Action not scheduled. */\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      /** Captured after the delay. */\n      CAPTURE = \"CAPTURE\",\n      /** Void after the delay. */\n      VOID = \"VOID\"\n  }\n  enum Action {\n      /** Order can be archived. */\n      ARCHIVE = \"ARCHIVE\",\n      /** Order can be unarchived. */\n      UNARCHIVE = \"UNARCHIVE\",\n      /** Order can be confirmed. */\n      CONFIRM = \"CONFIRM\",\n      /** Order can be captured. */\n      CAPTURE = \"CAPTURE\",\n      /** Order can be voided. */\n      VOID = \"VOID\"\n  }\n  interface GiftCardPaymentDetails {\n      /** Gift card payment id. */\n      giftCardPaymentId?: string | null;\n      /** ID of the app that created the gift card. */\n      appId?: string | null;\n      /** Whether the gift card payment is voided. */\n      voided?: boolean | null;\n      /** Amount */\n      amount?: Money$5;\n      /** Obfuscated gift card code. */\n      obfuscatedCode?: string | null;\n  }\n  interface BalanceSummary {\n      /** Amount left to pay. */\n      balance?: Money$5;\n  }\n  interface OrderDeleted {\n      /** Order deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID to which the order belongs. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date | null;\n      /** Whether order was anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /** Order type. */\n      orderType?: OrderType;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n      /** Tickets generated after payment. */\n      tickets?: Ticket$1[];\n  }\n  enum OrderType {\n      /** Buyer form is used for all tickets. */\n      UNASSIGNED_TICKETS = \"UNASSIGNED_TICKETS\",\n      /** Each order ticket has its own form. */\n      ASSIGNED_TICKETS = \"ASSIGNED_TICKETS\"\n  }\n  interface Ticket$1 {\n      /** Unique issued ticket number. */\n      ticketNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn$2;\n      /** Ticket price. */\n      price?: Money$5;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Contact ID associated with this ticket. */\n      contactId?: string | null;\n      /** Whether ticket is confirmed */\n      confirmed?: boolean;\n      /** Member ID associated with this ticket. */\n      memberId?: string | null;\n      /** Ticket form response (only assigned tickets contain separate forms). */\n      form?: FormResponse$3;\n      /** Ticket name. */\n      ticketName?: string;\n      /** Anonymized tickets no longer contain personally identifiable information (PII). */\n      anonymized?: boolean;\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$3;\n  }\n  interface OnlineConferencingLogin$3 {\n      /**\n       * Link URL to the online conference.\n       * @readonly\n       */\n      link?: string;\n      /**\n       * Password for the online conference.\n       * @readonly\n       */\n      password?: string | null;\n  }\n  interface ListOrdersRequest {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKETS`: Returns `tickets`.\n       * - `DETAILS`: Returns `reservationId`, `snapshotId`, `created`, `firstName`, `lastName`, `confirmed`, `status`, `method`, `ticketsQuantity`, `totalPrice`, `ticketsPdf`, `archived`, `fullName`.\n       * - `FORM` : Returns `checkoutForm`.\n       * - `INVOICE`: Returns `invoice`.\n       *\n       * Default: If `fieldset` is not included in the request,  `orderNumber`, `eventId`, `contactId`, `memberId`, `anonymized`, `fullyCheckedIn` are returned.\n       *\n       */\n      fieldset?: OrderFieldset[];\n      /**\n       * Order status. Possible values:\n       * - `FREE`: The order is confirmed, no payment is required.\n       * - `PENDING`: The order was paid, but the payment gateway suspended the payment.\n       * - `PAID`: The order is paid.\n       * - `OFFLINE_PENDING`: The order is confirmed but has to be paid in cash and the status is manually updated to `PAID`.\n       * - `INITIATED`: The order is awaiting for payment.\n       * - `CANCELED`: The order is canceled.\n       * - `DECLINED`: The order is payment is declined.\n       */\n      status?: OrderStatus$1[];\n      /**\n       * Deprecated: use tag = CONFIRMED\n       * @internal\n       * @deprecated\n       */\n      confirmed?: boolean | null;\n      /** Event ID to which the order belongs. */\n      eventId?: string[];\n      /** Order number. */\n      orderNumber?: string[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       * @deprecated\n       */\n      membersOnly?: boolean;\n      /** Field facets, */\n      facet?: string[];\n      /**\n       * Deprecated: use tag = ARCHIVED / NON_ARCHIVED\n       * @internal\n       * @deprecated\n       */\n      archived?: boolean | null;\n      /** Search filter. You can search `fullName`, `email` and `orderNumber`. */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Deprecated: use tag = FULLY_CHECKED_IN / NOT_FULLY_CHECKED_IN\n       * @internal\n       * @deprecated\n       */\n      fullyCheckedIn?: boolean | null;\n      /**\n       * Sort order.\n       * Default: `created:asc`.\n       */\n      sort?: string;\n      /** Order tag. */\n      tag?: OrderTag[];\n      /** Guest contact IDs. */\n      contactId?: string[];\n  }\n  enum OrderFieldset {\n      /** Include tickets in response. */\n      TICKETS = \"TICKETS\",\n      /** Include order details in the response: `status`, `firstName`, `lastName`, `email`, `created`, etc. */\n      DETAILS = \"DETAILS\",\n      /** Include `checkoutForm` in the response. */\n      FORM = \"FORM\",\n      /** Include `invoice` in the response. */\n      INVOICE = \"INVOICE\"\n  }\n  enum OrderTag {\n      /** Return only confirmed orders. */\n      CONFIRMED = \"CONFIRMED\",\n      /** Return only unconfirmed orders. */\n      UNCONFIRMED = \"UNCONFIRMED\",\n      /** Return only member orders. */\n      MEMBER = \"MEMBER\",\n      /** Return only archived orders. */\n      ARCHIVED = \"ARCHIVED\",\n      /** Return only non archived orders. */\n      NON_ARCHIVED = \"NON_ARCHIVED\",\n      /** Return only orders with all guests checked-in. */\n      FULLY_CHECKED_IN = \"FULLY_CHECKED_IN\",\n      /** Return only orders with no guests checked-in. */\n      NOT_FULLY_CHECKED_IN = \"NOT_FULLY_CHECKED_IN\"\n  }\n  interface ListOrdersResponse {\n      /** Total orders matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Orders. */\n      orders?: Order[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$5>;\n      /** Order data enriched facets. */\n      orderFacets?: OrderFacets;\n  }\n  interface FacetCounts$5 {\n      /** Facet counts aggregated per value. */\n      counts?: Record<string, number>;\n  }\n  interface OrderFacets {\n      /** Filter facets. */\n      facets?: Record<string, OrderFacetCounts>;\n  }\n  interface OrderFacetCounts {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, Counts$2>;\n  }\n  interface Counts$2 {\n      /** Number or orders */\n      count?: number;\n      /** Number of tickets within orders */\n      tickets?: number;\n      /** Number of tickets with check-in */\n      ticketsCheckIn?: number;\n  }\n  interface GetOrderRequest {\n      /** Event ID to which the order belongs. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKETS`: Returns `tickets`.\n       * - `DETAILS`: Returns `reservationId`, `snapshotId`, `created`, `firstName`, `lastName`, `confirmed`, `status`, `method`, `ticketsQuantity`, `totalPrice`, `ticketsPdf`, `archived`, `fullName`.\n       * - `FORM` : Returns `checkoutForm`.\n       * - `INVOICE`: Returns `invoice`.\n       *\n       * Default: If `fieldset` is not included in the request,  `orderNumber`, `eventId`, `contactId`, `memberId`, `anonymized`, `fullyCheckedIn` are returned.\n       *\n       */\n      fieldset?: OrderFieldset[];\n  }\n  interface GetOrderResponse {\n      /** Requested order. */\n      order?: Order;\n      /** \"Add to calendar\" links. */\n      calendarLinks?: CalendarLinks$4;\n  }\n  interface CalendarLinks$4 {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  interface UpdateOrderRequest {\n      /** Event ID to which the order belongs. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /**\n       * Set of field paths to update.\n       * @internal\n       */\n      fields?: string[];\n      /** Checkout form. */\n      checkoutForm?: FormResponse$3;\n      /** Whether order is archived. */\n      archived?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      expires?: Date | null;\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2026-06-01\n       */\n      silent?: boolean | null;\n  }\n  interface UpdateOrderResponse {\n      /** Updated order. */\n      order?: Order;\n  }\n  interface OrderUpdated$1 {\n      /** Order updated timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID to which the order belongs. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date | null;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$3;\n      /** Whether order is confirmed - occurs once payment gateway processes the payment and funds reach merchant's account. */\n      confirmed?: boolean;\n      /**\n       * Order status. Possible values:\n       * - `FREE`: The order is confirmed, no payment is required.\n       * - `PENDING`: The order was paid, but the payment gateway suspended the payment.\n       * - `PAID`: The order is paid.\n       * - `OFFLINE_PENDING`: The order is confirmed but has to be paid in cash and the status is manually updated to `PAID`.\n       * - `INITIATED`: The order is awaiting for payment.\n       * - `CANCELED`: The order is canceled.\n       * - `DECLINED`: The order is payment is declined.\n       */\n      status?: OrderStatus$1;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets generated after payment. */\n      tickets?: Ticket$1[];\n      /** Whether order was archived and excluded from results. */\n      archived?: boolean;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n  }\n  interface BulkUpdateOrdersRequest {\n      /** Event ID to which the order belongs. */\n      eventId: string;\n      orderNumber?: string[];\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fields?: string[];\n      /** Whether to archive the order. */\n      archived?: boolean;\n  }\n  interface BulkUpdateOrdersResponse {\n      /** Updated orders. */\n      orders?: Order[];\n  }\n  interface ConfirmOrderRequest {\n      /** Event ID to which the order belongs. */\n      eventId: string;\n      /** Order numbers. */\n      orderNumber?: string[];\n  }\n  interface ConfirmOrderResponse {\n      /** Confirmed orders. */\n      orders?: Order[];\n  }\n  interface GetSummaryRequest {\n      /** Event ID. */\n      eventId?: string | null;\n  }\n  interface GetSummaryResponse {\n      /** Ticket sales grouped by currency. */\n      sales?: TicketSales[];\n  }\n  interface TicketSales {\n      /** Total balance of confirmed transactions. */\n      total?: Money$5;\n      /** Total number of confirmed orders. */\n      totalOrders?: number;\n      /** Total number of tickets purchased. */\n      totalTickets?: number;\n      /** Total revenue, excluding fees (taxes and payment provider fees are not deducted). */\n      revenue?: Money$5;\n  }\n  interface GetInvoicePreviewRequest {\n      /** Event ID to which the invoice belongs. */\n      eventId: string;\n      /** Order number. */\n      orderNumber: string;\n  }\n  interface RawHttpResponse {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry[];\n  }\n  interface HeadersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface GetPaymentInfoRequest {\n      /** Event ID. */\n      eventId?: string;\n      /** Order number. */\n      orderNumber?: string;\n  }\n  interface GetPaymentInfoResponse {\n      transactions?: PaymentTransactionSummary[];\n      status?: string | null;\n      /** @readonly */\n      transactionId?: string | null;\n  }\n  interface PaymentTransactionSummary {\n      /**\n       * Wix Payments transaction id\n       * @readonly\n       */\n      transactionId?: string;\n      /**\n       * Final transaction status\n       * @readonly\n       */\n      finalTransactionStatus?: string;\n      /** Transaction events */\n      events?: PaymentTransactionEvent[];\n  }\n  interface PaymentTransactionEvent {\n      /**\n       * Order snapshot id\n       * @readonly\n       */\n      snapshotId?: string;\n      /**\n       * Transaction status\n       * @readonly\n       */\n      transactionStatus?: string;\n      /**\n       * Transaction Payment method e.g., \"payPal\", \"creditCard\", etc.\n       * @readonly\n       */\n      paymentMethod?: string;\n      /**\n       * Transaction payment amount\n       * @readonly\n       */\n      paymentAmount?: Money$5;\n      /**\n       * Crated date\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Reason code\n       * @readonly\n       */\n      reasonCode?: string | null;\n      /**\n       * Refunded amount\n       * @readonly\n       */\n      refundedAmount?: Money$5;\n  }\n  interface CaptureAuthorizedPaymentRequest {\n      /** Event ID. */\n      eventId?: string;\n      /** Order number. */\n      orderNumber: string;\n  }\n  interface CaptureAuthorizedPaymentResponse {\n  }\n  interface VoidAuthorizedPaymentRequest {\n      /** Event ID. */\n      eventId?: string;\n      /** Order number. */\n      orderNumber: string;\n  }\n  interface VoidAuthorizedPaymentResponse {\n  }\n  interface MessageEnvelope$8 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$8;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$8 extends IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$8;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$8 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface OrderConfirmed {\n      /** Order confirmation timestamp in ISO UTC. */\n      timestamp?: Date | null;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID to which the order belongs. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp\n       * @readonly\n       */\n      created?: Date | null;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$3;\n      /**\n       * Order status. Possible values:\n       * - `FREE`: The order is confirmed, no payment is required.\n       * - `PENDING`: The order was paid, but the payment gateway suspended the payment.\n       * - `PAID`: The order is paid.\n       * - `OFFLINE_PENDING`: The order is confirmed but has to be paid in cash and the status is manually updated to `PAID`.\n       * - `INITIATED`: The order is awaiting for payment.\n       * - `CANCELED`: The order is canceled.\n       * - `DECLINED`: The order is payment is declined.\n       */\n      status?: OrderStatus$1;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets (generated after payment). */\n      tickets?: Ticket$1[];\n      /** Invoice. */\n      invoice?: Invoice;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  interface OrderPaid {\n      /** Order paid timestamp in ISO UTC. */\n      timestamp?: Date | null;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID to which the order belongs. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp\n       * @readonly\n       */\n      created?: Date | null;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$3;\n      /** Order status. */\n      status?: OrderStatus$1;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets (generated after payment). */\n      tickets?: Ticket$1[];\n      /** Invoice. */\n      invoice?: Invoice;\n  }\n  interface ReservationCreated$1 {\n      /** Reservation created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID to which the reservation belongs. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation expiration timestamp. */\n      expires?: Date | null;\n      /** Reservation status. */\n      status?: ReservationStatus$1;\n      /** Reservation ticket quantities. */\n      quantities?: TicketQuantity$1[];\n      /** Reservation update timestamp. */\n      _updatedDate?: Date | null;\n      /** Reservation counts. */\n      counts?: ReservationCount$1[];\n  }\n  enum ReservationStatus$1 {\n      /** The Reservation is pending confirmation and will expire after the expiration due time. */\n      RESERVATION_PENDING = \"RESERVATION_PENDING\",\n      /** The reservation is confirmed and will not expire. */\n      RESERVATION_CONFIRMED = \"RESERVATION_CONFIRMED\",\n      /** The reservation is canceled because of non payment. */\n      RESERVATION_CANCELED = \"RESERVATION_CANCELED\",\n      /** The reservation is canceled manually by the buyer. */\n      RESERVATION_CANCELED_MANUALLY = \"RESERVATION_CANCELED_MANUALLY\",\n      /** The reservation is expired. */\n      RESERVATION_EXPIRED = \"RESERVATION_EXPIRED\"\n  }\n  interface TicketQuantity$1 {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string | null;\n      /** Quantity. */\n      quantity?: number | null;\n      /** Quantity update timestamp. */\n      _updatedDate?: Date | null;\n  }\n  interface ReservationCount$1 {\n      /** Reservation Count snapshot timestamp. */\n      timestamp?: Date | null;\n      /** Ticket Definition ID. */\n      ticketDefinitionId?: string;\n      /** Confirmed reservation count. */\n      confirmedCount?: number;\n      /** Pending reservation count. */\n      pendingCount?: number;\n      /** True if paid ticket reservation exist. */\n      paidExists?: boolean;\n  }\n  interface ReservationUpdated$1 {\n      /** Reservation updated timestamp. */\n      timestamp?: Date | null;\n      /** Event ID to which the reservation belongs. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation status. */\n      status?: ReservationStatus$1;\n      /** Reservation expiration timestamp. */\n      expires?: Date | null;\n      /** Reservation ticket quantities. */\n      quantities?: TicketQuantity$1[];\n      /** Reservation update timestamp. */\n      _updatedDate?: Date | null;\n      /** Reservation counts. */\n      counts?: ReservationCount$1[];\n  }\n  interface GetCheckoutOptionsRequest {\n  }\n  interface GetCheckoutOptionsResponse {\n      /** Whether any payment method is configured and available for payment. */\n      paymentMethodConfigured?: boolean;\n      /** Whether coupons are accepted at checkout. */\n      acceptCoupons?: boolean;\n      /** Whether premium services are enabled. Enabled for free if site does not sell any paid tickets. Selling tickets for a fee requires a premium feature \"events_sell_tickets\". */\n      premiumServices?: boolean;\n      /** Whether there are any paid tickets available for sale. */\n      paidTickets?: boolean;\n      /** Whether gift cards are accepted at checkout. */\n      acceptGiftCards?: boolean;\n  }\n  interface ListAvailableTicketsRequest {\n      /** Event ID. If not provided, available tickets for all events in the site will be returned. */\n      eventId?: string;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Sort order.\n       * Default: `created:asc`.\n       */\n      sort?: string;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date | null;\n      state?: State$5[];\n  }\n  enum State$5 {\n      INCLUDE_HIDDEN_NOT_ON_SALE = \"INCLUDE_HIDDEN_NOT_ON_SALE\"\n  }\n  interface ListAvailableTicketsResponse {\n      /** Ticket definitions meta data. */\n      metaData?: ResponseMetaData$1;\n      /** Ticket definitions. */\n      definitions?: TicketDefinition$2[];\n  }\n  interface ResponseMetaData$1 {\n      /** Number of items in the response. */\n      count?: number;\n      /** Offset of items. */\n      offset?: number;\n      /** Total number of matching items. */\n      total?: number;\n  }\n  interface TicketDefinition$2 {\n      /** Ticket definition ID. */\n      _id?: string;\n      /** Ticket price. */\n      price?: Money$5;\n      /** Whether the ticket is free (read only). */\n      free?: boolean;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket description. */\n      description?: string;\n      /** Limit of tickets that can be purchased per checkout. If tickets are unlimited in the definition, the limit per checkout is 20 tickets. */\n      limitPerCheckout?: number;\n      /** Custom sort index. */\n      orderIndex?: number;\n      /** Event and ticket policies. */\n      policy?: string;\n      /** Sensitive dashboard data. */\n      dashboard?: Dashboard$4;\n      /** Event ID associated with the ticket. */\n      eventId?: string;\n      /**\n       * Configuration of the fixed-rate Wix service fee that is applied at checkout to each ticket sold.\n       * @readonly\n       */\n      wixFeeConfig?: WixFeeConfig$1;\n      /** Ticket sale period. */\n      salePeriod?: TicketSalePeriod$1;\n      /**\n       * Ticket sale status.\n       * @readonly\n       */\n      saleStatus?: TicketSaleStatus$1;\n      /** Ticket state. */\n      state?: State$5[];\n      /** Ticket pricing. */\n      pricing?: TicketPricing$1;\n  }\n  interface Dashboard$4 {\n      /** Whether ticket is hidden and cannot be sold. */\n      hidden?: boolean;\n      /**\n       * Number of tickets sold and reserved.\n       * @deprecated\n       */\n      sold?: number;\n      /** Whether the ticket has limited quantity. */\n      limited?: boolean;\n      /** Ticket limit. `NULL` if the tickets are unlimited. */\n      quantity?: number | null;\n      /** Number of unsold tickets. `NULL` if the tickets are unlimited. */\n      unsold?: number | null;\n      /** Number of tickets sold. */\n      ticketsSold?: number;\n      /** Number of tickets reserved. */\n      ticketsReserved?: number;\n  }\n  interface WixFeeConfig$1 {\n      /** Fee calculation method. */\n      type?: FeeType$1;\n  }\n  interface TicketSalePeriod$1 {\n      /** Ticket sale start timestamp. */\n      startDate?: Date | null;\n      /** Ticket sale end timestamp. */\n      endDate?: Date | null;\n      /** Whether to hide this ticket if it's not on sale */\n      hideNotOnSale?: boolean;\n  }\n  enum TicketSaleStatus$1 {\n      /** Ticket sale is scheduled to start. */\n      SALE_SCHEDULED = \"SALE_SCHEDULED\",\n      /** Ticket sale has started. */\n      SALE_STARTED = \"SALE_STARTED\",\n      /** Ticket sale has ended. */\n      SALE_ENDED = \"SALE_ENDED\"\n  }\n  interface TicketPricing$1 extends TicketPricingPriceOneOf$1 {\n      /** Ticket price which is read only. */\n      fixedPrice?: Money$5;\n      /** Min price per ticket, customizable. */\n      minPrice?: Money$5;\n      /** Ticket pricing options. */\n      pricingOptions?: PricingOptions$2;\n      /**\n       * Ticket pricing type.\n       * @readonly\n       */\n      pricingType?: Type$4;\n  }\n  /** @oneof */\n  interface TicketPricingPriceOneOf$1 {\n      /** Ticket price which is read only. */\n      fixedPrice?: Money$5;\n      /** Min price per ticket, customizable. */\n      minPrice?: Money$5;\n      /** Ticket pricing options. */\n      pricingOptions?: PricingOptions$2;\n  }\n  interface PricingOptions$2 {\n      /** Multiple ticket pricing options. */\n      options?: PricingOption$1[];\n  }\n  interface PricingOption$1 {\n      /** Ticket pricing option ID. */\n      _id?: string | null;\n      /** Ticket pricing option name. */\n      name?: string | null;\n      /** Ticket pricing option price. */\n      price?: Money$5;\n  }\n  enum Type$4 {\n      STANDARD = \"STANDARD\",\n      DONATION = \"DONATION\"\n  }\n  interface QueryAvailableTicketsRequest {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Ticket definition. */\n      filter?: Record<string, any> | null;\n      fieldset?: TicketDefinitionFieldset$1[];\n      /**\n       * Sort order.\n       * Default: `created:asc`.\n       */\n      sort?: string;\n  }\n  enum TicketDefinitionFieldset$1 {\n      /** Include `policy` in the response. */\n      POLICY = \"POLICY\",\n      /** Include `dashboard` in the response. */\n      DASHBOARD = \"DASHBOARD\"\n  }\n  interface QueryAvailableTicketsResponse {\n      /** Ticket definitions meta data. */\n      metaData?: ResponseMetaData$1;\n      /** Ticket definitions. */\n      definitions?: TicketDefinition$2[];\n  }\n  interface CreateReservationRequest {\n      /** Event ID to which the reservation belongs. */\n      eventId: string;\n      /** Tickets to reserve. */\n      ticketQuantities?: TicketReservationQuantity[];\n      /** Whether to ignore the available ticket limits upon reservation. */\n      ignoreLimits?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date | null;\n      /** Whether to allow reservation for hidden tickets. */\n      allowHiddenTickets?: boolean;\n      /**\n       * Whether to exclude Wix fee.\n       * @internal\n       */\n      excludeFee?: boolean;\n      /**\n       * Whether to skip `ticketQuantities.ticketDetails.priceOverride` min validation.\n       * @internal\n       */\n      skipPriceOverrideValidation?: boolean;\n  }\n  interface TicketReservationQuantity {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Quantity of tickets to reserve. */\n      quantity?: number;\n      /** Override the predefined ticket price. */\n      priceOverride?: string | null;\n      /** Optional ticket details */\n      ticketDetails?: TicketDetails$1[];\n  }\n  interface CreateReservationResponse {\n      /** Reservation ID. */\n      _id?: string;\n      /** Reservation expiration timestamp. */\n      expires?: Date | null;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n      /** Reservation invoice. */\n      invoice?: Invoice;\n  }\n  interface TicketReservation {\n      /** Quantity of reserved tickets. */\n      quantity?: number;\n      /** An object containing ticket information. */\n      ticket?: TicketDefinition$2;\n      /** Optional ticket details. */\n      ticketDetails?: TicketDetails$1[];\n  }\n  interface CancelReservationRequest {\n      /** Event ID to which the reservation belongs. */\n      eventId: string;\n      /** Reservation ID. */\n      _id: string;\n  }\n  interface CancelReservationResponse {\n  }\n  interface GetInvoiceRequest {\n      /** Event ID to which the invoice belongs. */\n      eventId: string;\n      /** Reservation ID. */\n      reservationId: string;\n      /** Optional discount to be applied on the returned invoice. */\n      withDiscount?: DiscountRequest;\n      /** Optional benefit granted by the pricing plan to be applied on the returned invoice. */\n      paidPlanBenefit?: PaidPlanBenefit;\n      /**\n       * Gift card code.\n       * @internal\n       */\n      giftCardCode?: string | null;\n  }\n  interface DiscountRequest {\n      /** Discount coupon code. */\n      couponCode?: string;\n  }\n  interface PaidPlanBenefit {\n      /** Pricing plan ID. */\n      planOrderId?: string;\n      /** Pricing plan benefit ID. */\n      benefitId?: string;\n  }\n  interface GetInvoiceResponse {\n      /** Invoice with applied discount. */\n      invoice?: Invoice;\n      /** Discount errors, if relevant. */\n      discountErrors?: DiscountErrors;\n      /** Reservation expiration time. */\n      expires?: Date | null;\n      /**\n       * Reservation status. Possible values:\n       * - `RESERVATION_PENDING`: The reservation is pending confirmation. It will expire after a certain amount of time.\n       * - `RESERVATION_CONFIRMED`: The reservation is confirmed and will not expire.\n       * - `RESERVATION_CANCELED`: The reservation is canceled because it's not paid.\n       * - `RESERVATION_CANCELED_MANUALLY`: The reservation is canceled manually by the buyer.\n       * - `RESERVATION_EXPIRED`: The reservation has expired.\n       */\n      reservationStatus?: ReservationStatus$1;\n      /** Whether this reservation is already used in checkout. */\n      reservationOccupied?: boolean;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n      /**\n       * Gift card payments.\n       * @internal\n       */\n      giftCardPaymentDetails?: GiftCardPaymentDetails[];\n      /**\n       * Balance summary.\n       * @internal\n       */\n      balanceSummary?: BalanceSummary;\n      /**\n       * Gift card errors, if relevant.\n       * @internal\n       */\n      giftCardErrors?: GiftCardErrors;\n  }\n  interface DiscountErrors {\n      /** Object containing error information. */\n      error?: Error[];\n  }\n  interface Error {\n      /** A code identifying the error type. */\n      code?: string;\n  }\n  interface GiftCardErrors {\n      /** Error. */\n      error?: GiftCardErrorsError[];\n  }\n  interface GiftCardErrorsError {\n      code?: string;\n  }\n  interface CheckoutRequest {\n      /** Event ID to which the checkout belongs. */\n      eventId: string;\n      /** Ticket reservation ID. */\n      reservationId?: string;\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest;\n      /**\n       * Deprecated.\n       * @internal\n       * @deprecated\n       */\n      silent?: boolean;\n      /**\n       * Deprecated.\n       * @internal\n       * @deprecated\n       */\n      payInPerson?: boolean;\n      /** Buyer details. */\n      buyer?: Buyer;\n      /** Guest details. */\n      guests?: Guest$2[];\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit;\n      /** Options controlling the checkout process. */\n      options?: CheckoutOptions;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date | null;\n      /**\n       * Gift card code.\n       * @internal\n       */\n      giftCardCode?: string | null;\n  }\n  interface Buyer {\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n  }\n  interface Guest$2 {\n      /** Specific guest info. */\n      form?: FormResponse$3;\n  }\n  interface CheckoutOptions {\n      /** Whether to ignore settings to notify contacts or users. */\n      silent?: boolean;\n      /** Whether the payment is to be done in person between the buyer and the merchant. When true, the completed order is created with status OFFLINE_PENDING and inPerson payment method. */\n      payInPerson?: boolean;\n      /** Whether to ignore form validation. */\n      ignoreFormValidation?: boolean;\n      /**\n       * URL which overrides default payment redirect URL.\n       * @internal\n       */\n      paymentRedirectUrl?: string | null;\n      /** Marks payment as already paid */\n      markAsPaid?: boolean | null;\n  }\n  interface CheckoutResponse {\n      /** Created order. */\n      order?: Order;\n      /**\n       * Order expiration time.\n       * **Note:** Only applicable to orders with the `INITIATED` status.\n       */\n      expires?: Date | null;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n      /** Order page URL. */\n      orderPageUrl?: string | null;\n  }\n  interface OrderInitiated {\n      /** Order initiated timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID to which the order belongs. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$3;\n      /**\n       * Order status. Possible values:\n       * - `FREE`: The order is confirmed, no payment is required.\n       * - `PENDING`: The order was paid, but the payment gateway suspended the payment.\n       * - `PAID`: The order is paid.\n       * - `OFFLINE_PENDING`: The order is confirmed but has to be paid in cash and the status is manually updated to `PAID`.\n       * - `INITIATED`: The order is awaiting for payment.\n       * - `CANCELED`: The order is canceled.\n       * - `DECLINED`: The order is payment is declined.\n       */\n      status?: OrderStatus$1;\n      /** Invoice. */\n      invoice?: Invoice;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n      /** Order was marked as paid. */\n      markedAsPaid?: boolean | null;\n  }\n  interface UpdateCheckoutRequest {\n      /** Event ID to which the checkout belongs. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /** Buyer details. */\n      buyer?: Buyer;\n      /** Guest details. */\n      guests?: Guest$2[];\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string | null;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest;\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit;\n      /**\n       * Payment details id.\n       * @internal\n       */\n      paymentDetailsId?: string | null;\n      /**\n       * Payment method.\n       * @internal\n       */\n      paymentMethod?: string | null;\n      /**\n       * Gift card code.\n       * @internal\n       */\n      giftCardCode?: string | null;\n  }\n  interface UpdateCheckoutResponse {\n      /** Updated order. */\n      order?: Order;\n      /** Order page URL. */\n      orderPageUrl?: string | null;\n      /**\n       * Payment response token.\n       * @internal\n       */\n      chargeToken?: string | null;\n      /**\n       * Order page URL.\n       * @internal\n       */\n      orderPageUrls?: OrderPageUrls;\n  }\n  interface OrderPageUrls {\n      /** Success order page URL. */\n      success?: string | null;\n      /** Pending order page URL. */\n      pending?: string | null;\n      /** Canceled order page URL. */\n      canceled?: string | null;\n      /** Error order page URL. */\n      error?: string | null;\n  }\n  interface PosCheckoutRequest {\n      /** Event ID to which the checkout belongs. */\n      eventId: string;\n      /** Ticket reservation ID. */\n      reservationId: string;\n      /**\n       * Payment details ID.\n       * Not required if reservation total is 0. In this case the order will be created with status Free and no payment.\n       */\n      paymentDetailsId?: string | null;\n  }\n  interface PosCheckoutResponse {\n      /** Created order. */\n      order?: Order;\n      /** Time when the order expires, applies to orders with status = INITIATED. */\n      expires?: Date | null;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n  }\n  /**\n   * Retrieves a list of orders, including ticket data.\n   * @public\n   * @param options - An object representing the available options for retrieving a list of orders.\n   * @permissionId WIX_EVENTS.READ_ORDERS\n   * @adminMethod\n   */\n  function listOrders(options?: ListOrdersOptions): Promise<ListOrdersResponse>;\n  interface ListOrdersOptions {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKETS`: Returns `tickets`.\n       * - `DETAILS`: Returns `reservationId`, `snapshotId`, `created`, `firstName`, `lastName`, `confirmed`, `status`, `method`, `ticketsQuantity`, `totalPrice`, `ticketsPdf`, `archived`, `fullName`.\n       * - `FORM` : Returns `checkoutForm`.\n       * - `INVOICE`: Returns `invoice`.\n       *\n       * Default: If `fieldset` is not included in the request,  `orderNumber`, `eventId`, `contactId`, `memberId`, `anonymized`, `fullyCheckedIn` are returned.\n       */\n      fieldset?: OrderFieldset[];\n      /**\n       * Order status. Possible values:\n       * - `FREE`: The order is confirmed, no payment is required.\n       * - `PENDING`: The order was paid, but the payment gateway suspended the payment.\n       * - `PAID`: The order is paid.\n       * - `OFFLINE_PENDING`: The order is confirmed but has to be paid in cash and the status is manually updated to `PAID`.\n       * - `INITIATED`: The order is awaiting for payment.\n       * - `CANCELED`: The order is canceled.\n       * - `DECLINED`: The order is payment is declined.\n       */\n      status?: OrderStatus$1[];\n      /**\n       * Deprecated: use tag = CONFIRMED\n       * @internal\n       * @deprecated\n       */\n      confirmed?: boolean | null;\n      /** Event ID to which the order belongs. */\n      eventId?: string[];\n      /** Order number. */\n      orderNumber?: string[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       * @deprecated\n       */\n      membersOnly?: boolean;\n      /** Field facets. */\n      facet?: string[];\n      /**\n       * Deprecated: use tag = ARCHIVED / NON_ARCHIVED\n       * @internal\n       * @deprecated\n       */\n      archived?: boolean | null;\n      /** Search filter. You can search `fullName`, `email` and `orderNumber`. */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Deprecated: use tag = FULLY_CHECKED_IN / NOT_FULLY_CHECKED_IN\n       * @internal\n       * @deprecated\n       */\n      fullyCheckedIn?: boolean | null;\n      /**\n       * Sort order.\n       * Default: `created:asc`.\n       */\n      sort?: string;\n      /** Order tag. */\n      tag?: OrderTag[];\n      /** Guest contact IDs. */\n      contactId?: string[];\n  }\n  /**\n   * Retrieves an order, including ticket data.\n   * <!--\n   * >The fieldsets in this function are restricted and only run if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.orderNumber\n   * @param options - An object representing the available options for getting an order.\n   * @param identifiers - An object containing identifiers for the order to be retrieved.\n   * @permissionId WIX_EVENTS.READ_ORDERS\n   * @adminMethod\n   * @returns Requested order.\n   */\n  function getOrder(identifiers: GetOrderIdentifiers, options?: GetOrderOptions): Promise<Order>;\n  interface GetOrderIdentifiers {\n      /** Event ID to which the order belongs. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n  }\n  interface GetOrderOptions {\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKETS`: Returns `tickets`.\n       * - `DETAILS`: Returns `reservationId`, `snapshotId`, `created`, `firstName`, `lastName`, `confirmed`, `status`, `method`, `ticketsQuantity`, `totalPrice`, `ticketsPdf`, `archived`, `fullName`.\n       * - `FORM` : Returns `checkoutForm`.\n       * - `INVOICE`: Returns `invoice`.\n       *\n       * Default: If `fieldset` is not included in the request,  `orderNumber`, `eventId`, `contactId`, `memberId`, `anonymized`, `fullyCheckedIn` are returned.\n       */\n      fieldset?: OrderFieldset[];\n  }\n  /**\n   * Updates an order.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.orderNumber\n   * @param options - An object representing the available options for updating an order.\n   * @param identifiers - An object containing identifiers for the order to be updated.\n   * @permissionId WIX_EVENTS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function updateOrder(identifiers: UpdateOrderIdentifiers, options?: UpdateOrderOptions): Promise<UpdateOrderResponse>;\n  interface UpdateOrderIdentifiers {\n      /** Event ID to which the order belongs. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n  }\n  interface UpdateOrderOptions {\n      /**\n       * Set of field paths to update.\n       * @internal\n       */\n      fields?: string[];\n      /** Checkout form. */\n      checkoutForm?: FormResponse$3;\n      /** Whether order is archived. */\n      archived?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      expires?: Date | null;\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2026-06-01\n       */\n      silent?: boolean | null;\n  }\n  /**\n   * Archives multiple orders.\n   * @public\n   * @requiredField eventId\n   * @param options - An object representing the available options for confirming an order.\n   * @param eventId - Event ID to which the order belongs.\n   * @permissionId WIX_EVENTS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function bulkUpdateOrders(eventId: string, options?: BulkUpdateOrdersOptions): Promise<BulkUpdateOrdersResponse>;\n  interface BulkUpdateOrdersOptions {\n      /** Unique order number. */\n      orderNumber?: string[];\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fields?: string[];\n      /** Whether to archive the order. */\n      archived?: boolean;\n  }\n  /**\n   * Confirms an order.\n   *\n   *\n   * This function changes order status from `INITIATED`, `PENDING`, `OFFLINE_PENDING` to `PAID`.\n   * Confirming orders with `INITIATED` or `PENDING` status triggers an email with the tickets to the buyer (and to additional guests, if provided).\n   * @public\n   * @requiredField eventId\n   * @param options - An object representing the available options for confirming an order.\n   * @param eventId - Event ID to which the order belongs.\n   * @permissionId WIX_EVENTS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function confirmOrder(eventId: string, options?: ConfirmOrderOptions): Promise<ConfirmOrderResponse>;\n  interface ConfirmOrderOptions {\n      /** Order numbers. */\n      orderNumber?: string[];\n  }\n  /**\n   * Retrieves a summary of total ticket sales.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @param options - An object representing the available options for retrieving a summary of total ticket sales.\n   * @permissionId WIX_EVENTS.READ_ORDERS\n   * @adminMethod\n   */\n  function getSummary(options?: GetSummaryOptions): Promise<GetSummaryResponse>;\n  interface GetSummaryOptions {\n      /** Event ID. */\n      eventId?: string | null;\n  }\n  /**\n   * Returns invoice preview. Works only for PAID orders.\n   * @internal\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.orderNumber\n   * @permissionId WIX_EVENTS.READ_ORDERS\n   * @adminMethod\n   */\n  function getInvoicePreview(identifiers: GetInvoicePreviewIdentifiers): Promise<RawHttpResponse>;\n  interface GetInvoicePreviewIdentifiers {\n      /** Event ID to which the invoice belongs. */\n      eventId: string;\n      /** Order number. */\n      orderNumber: string;\n  }\n  /**\n   * Captures authorized payment asynchronously.\n   * Eventually order will become paid.\n   * For orders with non-authorized payments request will fail.\n   * @param orderNumber - Order number.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderNumber\n   * @permissionId WIX_EVENTS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function captureAuthorizedPayment(orderNumber: string, options?: CaptureAuthorizedPaymentOptions): Promise<void>;\n  interface CaptureAuthorizedPaymentOptions {\n      /** Event ID. */\n      eventId?: string;\n  }\n  /**\n   * Voids authorized payment asynchronously.\n   * Eventually order will become voided.\n   * For orders with non-authorized payments request will fail.\n   * @param orderNumber - Order number.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField orderNumber\n   * @permissionId WIX_EVENTS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function voidAuthorizedPayment(orderNumber: string, options?: VoidAuthorizedPaymentOptions): Promise<void>;\n  interface VoidAuthorizedPaymentOptions {\n      /** Event ID. */\n      eventId?: string;\n  }\n  /**\n   * Retrieves checkout details.\n   * @public\n   * @permissionId WIX_EVENTS.READ_CHECKOUT\n   */\n  function getCheckoutOptions(): Promise<GetCheckoutOptionsResponse>;\n  /**\n   * Returns tickets available to reserve.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @param options - An object representing the available options for retrieving a list of tickets available for reservation.\n   * @permissionId WIX_EVENTS.READ_CHECKOUT\n   */\n  function listAvailableTickets(options?: ListAvailableTicketsOptions): Promise<ListAvailableTicketsResponse>;\n  interface ListAvailableTicketsOptions {\n      /** Event ID. If not provided, available tickets for all events in the site will be returned. */\n      eventId?: string;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Sort order.\n       * Default: `created:asc`.\n       */\n      sort?: string;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date | null;\n      state?: State$5[];\n  }\n  /**\n   * Returns tickets available to reserve.\n   * <!--\n   * > Note: The fieldsets in this function are restricted and only run if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @param options - An object representing the available options for retrieving a list of tickets available for reservation.\n   * @permissionId WIX_EVENTS.READ_CHECKOUT\n   */\n  function queryAvailableTickets(options?: QueryAvailableTicketsOptions): Promise<QueryAvailableTicketsResponse>;\n  interface QueryAvailableTicketsOptions {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Ticket definition. */\n      filter?: Record<string, any> | null;\n      fieldset?: TicketDefinitionFieldset$1[];\n      /**\n       * Sort order.\n       * Default: `created:asc`.\n       */\n      sort?: string;\n  }\n  /**\n   * Reserves tickets for 20 minutes.\n   *\n   *\n   * Reserved tickets are deducted from ticket stock and cannot be bought by another site visitor.\n   * When the reservation expires, the tickets are added back to the stock.\n   * @public\n   * @requiredField eventId\n   * @param options - An object representing the available options for creating a reservation.\n   * @param eventId - Event ID to which the reservation belongs.\n   * @permissionId WIX_EVENTS.CHECKOUT\n   */\n  function createReservation(eventId: string, options?: CreateReservationOptions): Promise<CreateReservationResponse>;\n  interface CreateReservationOptions {\n      /** Tickets to reserve. */\n      ticketQuantities?: TicketReservationQuantity[];\n      /** Whether to ignore the available ticket limits upon reservation. */\n      ignoreLimits?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date | null;\n      /** Whether to allow reservation for hidden tickets. */\n      allowHiddenTickets?: boolean;\n      /**\n       * Whether to exclude Wix fee.\n       * @internal\n       */\n      excludeFee?: boolean;\n      /**\n       * Whether to skip `ticketQuantities.ticketDetails.priceOverride` min validation.\n       * @internal\n       */\n      skipPriceOverrideValidation?: boolean;\n  }\n  /**\n   * Cancels ticket reservation and returns tickets to stock.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param _id - Reservation ID.\n   * @public\n   * @requiredField _id\n   * @requiredField eventId\n   * @param identifiers - An object containing identifiers for the reservation to be cancelled.\n   * @param eventId - Event ID to which the reservation belongs.\n   * @permissionId WIX_EVENTS.CHECKOUT\n   */\n  function cancelReservation(_id: string, eventId: string): Promise<void>;\n  /**\n   * Generates a preview of an invoice, including the given coupon or pricing plan.\n   * @param reservationId - Reservation ID.\n   * @public\n   * @requiredField eventId\n   * @requiredField reservationId\n   * @param options - An object representing the available options for generating a preview of a reservation invoice.\n   * @param identifiers - An object containing identifiers for the reservation invoice preview to be generated.\n   * @param eventId - Event ID to which the invoice belongs.\n   * @permissionId WIX_EVENTS.READ_INVOICE\n   */\n  function getInvoice(reservationId: string, eventId: string, options?: GetInvoiceOptions): Promise<GetInvoiceResponse>;\n  interface GetInvoiceOptions {\n      /** Optional discount to be applied on the returned invoice. */\n      withDiscount?: DiscountRequest;\n      /** Optional benefit granted by the pricing plan to be applied on the returned invoice. */\n      paidPlanBenefit?: PaidPlanBenefit;\n      /**\n       * Gift card code.\n       * @internal\n       */\n      giftCardCode?: string | null;\n  }\n  /**\n   * Checkouts the reserved tickets.\n   *\n   *\n   * Creates an order and associates it with a site visitor contact.\n   * Guest details are received from the [Registration Form](https://www.wix.com/velo/reference/wix-events-v2/forms/introduction) input fields.\n   *\n   * There is a possibility to use a separate ready-made Wix checkout form where the user will be redirected from your non-Wix site or a custom ticket picker created with Velo.\n   * To build the checkout form path, get your event base URL by using the [`getEvent()`](https://www.wix.com/velo/reference/wix-events-backend/wixevents/getevent) function and add the following path:\n   * `/{{EVENT_PAGE_SLUG}}/{{SLUG}}/ticket-form?reservationId={{YOUR_RESERVATION_ID}}`\n   *\n   * Example:  `https://johndoe.wixsite.com/weddings/event-details/doe-wedding/ticket-form?reservationId=2be6d34a-2a1e-459f-897b-b4a66e73f69a`\n   * @public\n   * @requiredField eventId\n   * @requiredField options.guests.form\n   * @param options - An object representing the available options for checking out a reserved ticket.\n   * @param eventId - Event ID to which the checkout belongs.\n   * @permissionId WIX_EVENTS.CHECKOUT\n   */\n  function checkout(eventId: string, options?: CheckoutOptionsForRequest): Promise<CheckoutResponse>;\n  interface CheckoutOptionsForRequest {\n      /** Ticket reservation ID. */\n      reservationId?: string;\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest;\n      /**\n       * Deprecated.\n       * @internal\n       * @deprecated\n       */\n      silent?: boolean;\n      /**\n       * Deprecated.\n       * @internal\n       * @deprecated\n       */\n      payInPerson?: boolean;\n      /** Buyer details. */\n      buyer?: Buyer;\n      /** Guest details. */\n      guests?: Guest$2[];\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit;\n      /** Options controlling the checkout process. */\n      options?: CheckoutOptions;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date | null;\n      /**\n       * Gift card code.\n       * @internal\n       */\n      giftCardCode?: string | null;\n  }\n  /**\n   * Updates order and tickets.\n   *\n   *\n   * Only applicable for orders with `INITIATED`, `PENDING`, `OFFLINE_PENDING` statuses.\n   * @param orderNumber - Unique order number.\n   * @public\n   * @requiredField eventId\n   * @requiredField orderNumber\n   * @param options - An object representing the available options for updating an order and tickets.\n   * @param identifiers - An object containing identifiers for the order and tickets to be updated.\n   * @param eventId - Event ID to which the checkout belongs.\n   * @permissionId WIX_EVENTS.CHECKOUT\n   */\n  function updateCheckout(orderNumber: string, eventId: string, options?: UpdateCheckoutOptions): Promise<UpdateCheckoutResponse>;\n  interface UpdateCheckoutOptions {\n      /** Buyer details. */\n      buyer?: Buyer;\n      /** Guest details. */\n      guests?: Guest$2[];\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string | null;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest;\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit;\n      /**\n       * Payment details id.\n       * @internal\n       */\n      paymentDetailsId?: string | null;\n      /**\n       * Payment method.\n       * @internal\n       */\n      paymentMethod?: string | null;\n      /**\n       * Gift card code.\n       * @internal\n       */\n      giftCardCode?: string | null;\n  }\n  /**\n   * Creates order with payment details already initiated via Cashier Pay API.\n   * @public\n   * @requiredField eventId\n   * @requiredField options.reservationId\n   * @param eventId - Event ID to which the checkout belongs.\n   * @permissionId WIX_EVENTS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function posCheckout(eventId: string, options?: PosCheckoutOptions): Promise<PosCheckoutResponse>;\n  interface PosCheckoutOptions {\n      /** Ticket reservation ID. */\n      reservationId: string;\n      /**\n       * Payment details ID.\n       * Not required if reservation total is 0. In this case the order will be created with status Free and no payment.\n       */\n      paymentDetailsId?: string | null;\n  }\n  \n  type eventsV1Order_universal_d_Order = Order;\n  type eventsV1Order_universal_d_Invoice = Invoice;\n  type eventsV1Order_universal_d_Discount = Discount;\n  type eventsV1Order_universal_d_DiscountItem = DiscountItem;\n  type eventsV1Order_universal_d_DiscountItemDiscountOneOf = DiscountItemDiscountOneOf;\n  type eventsV1Order_universal_d_CouponDiscount = CouponDiscount;\n  type eventsV1Order_universal_d_PaidPlanDiscount = PaidPlanDiscount;\n  type eventsV1Order_universal_d_PaidPlanDiscountDiscountOneOf = PaidPlanDiscountDiscountOneOf;\n  type eventsV1Order_universal_d_PercentDiscount = PercentDiscount;\n  type eventsV1Order_universal_d_Tax = Tax;\n  type eventsV1Order_universal_d_Fee = Fee;\n  type eventsV1Order_universal_d_FeeName = FeeName;\n  const eventsV1Order_universal_d_FeeName: typeof FeeName;\n  type eventsV1Order_universal_d_PaymentDetails = PaymentDetails;\n  type eventsV1Order_universal_d_PaymentTransaction = PaymentTransaction;\n  type eventsV1Order_universal_d_ScheduledActionEnumAction = ScheduledActionEnumAction;\n  const eventsV1Order_universal_d_ScheduledActionEnumAction: typeof ScheduledActionEnumAction;\n  type eventsV1Order_universal_d_Action = Action;\n  const eventsV1Order_universal_d_Action: typeof Action;\n  type eventsV1Order_universal_d_GiftCardPaymentDetails = GiftCardPaymentDetails;\n  type eventsV1Order_universal_d_BalanceSummary = BalanceSummary;\n  type eventsV1Order_universal_d_OrderDeleted = OrderDeleted;\n  type eventsV1Order_universal_d_OrderType = OrderType;\n  const eventsV1Order_universal_d_OrderType: typeof OrderType;\n  type eventsV1Order_universal_d_ListOrdersRequest = ListOrdersRequest;\n  type eventsV1Order_universal_d_OrderFieldset = OrderFieldset;\n  const eventsV1Order_universal_d_OrderFieldset: typeof OrderFieldset;\n  type eventsV1Order_universal_d_OrderTag = OrderTag;\n  const eventsV1Order_universal_d_OrderTag: typeof OrderTag;\n  type eventsV1Order_universal_d_ListOrdersResponse = ListOrdersResponse;\n  type eventsV1Order_universal_d_OrderFacets = OrderFacets;\n  type eventsV1Order_universal_d_OrderFacetCounts = OrderFacetCounts;\n  type eventsV1Order_universal_d_GetOrderRequest = GetOrderRequest;\n  type eventsV1Order_universal_d_GetOrderResponse = GetOrderResponse;\n  type eventsV1Order_universal_d_UpdateOrderRequest = UpdateOrderRequest;\n  type eventsV1Order_universal_d_UpdateOrderResponse = UpdateOrderResponse;\n  type eventsV1Order_universal_d_BulkUpdateOrdersRequest = BulkUpdateOrdersRequest;\n  type eventsV1Order_universal_d_BulkUpdateOrdersResponse = BulkUpdateOrdersResponse;\n  type eventsV1Order_universal_d_ConfirmOrderRequest = ConfirmOrderRequest;\n  type eventsV1Order_universal_d_ConfirmOrderResponse = ConfirmOrderResponse;\n  type eventsV1Order_universal_d_GetSummaryRequest = GetSummaryRequest;\n  type eventsV1Order_universal_d_GetSummaryResponse = GetSummaryResponse;\n  type eventsV1Order_universal_d_TicketSales = TicketSales;\n  type eventsV1Order_universal_d_GetInvoicePreviewRequest = GetInvoicePreviewRequest;\n  type eventsV1Order_universal_d_RawHttpResponse = RawHttpResponse;\n  type eventsV1Order_universal_d_HeadersEntry = HeadersEntry;\n  type eventsV1Order_universal_d_GetPaymentInfoRequest = GetPaymentInfoRequest;\n  type eventsV1Order_universal_d_GetPaymentInfoResponse = GetPaymentInfoResponse;\n  type eventsV1Order_universal_d_PaymentTransactionSummary = PaymentTransactionSummary;\n  type eventsV1Order_universal_d_PaymentTransactionEvent = PaymentTransactionEvent;\n  type eventsV1Order_universal_d_CaptureAuthorizedPaymentRequest = CaptureAuthorizedPaymentRequest;\n  type eventsV1Order_universal_d_CaptureAuthorizedPaymentResponse = CaptureAuthorizedPaymentResponse;\n  type eventsV1Order_universal_d_VoidAuthorizedPaymentRequest = VoidAuthorizedPaymentRequest;\n  type eventsV1Order_universal_d_VoidAuthorizedPaymentResponse = VoidAuthorizedPaymentResponse;\n  type eventsV1Order_universal_d_OrderConfirmed = OrderConfirmed;\n  type eventsV1Order_universal_d_OrderPaid = OrderPaid;\n  type eventsV1Order_universal_d_GetCheckoutOptionsRequest = GetCheckoutOptionsRequest;\n  type eventsV1Order_universal_d_GetCheckoutOptionsResponse = GetCheckoutOptionsResponse;\n  type eventsV1Order_universal_d_ListAvailableTicketsRequest = ListAvailableTicketsRequest;\n  type eventsV1Order_universal_d_ListAvailableTicketsResponse = ListAvailableTicketsResponse;\n  type eventsV1Order_universal_d_QueryAvailableTicketsRequest = QueryAvailableTicketsRequest;\n  type eventsV1Order_universal_d_QueryAvailableTicketsResponse = QueryAvailableTicketsResponse;\n  type eventsV1Order_universal_d_CreateReservationRequest = CreateReservationRequest;\n  type eventsV1Order_universal_d_TicketReservationQuantity = TicketReservationQuantity;\n  type eventsV1Order_universal_d_CreateReservationResponse = CreateReservationResponse;\n  type eventsV1Order_universal_d_TicketReservation = TicketReservation;\n  type eventsV1Order_universal_d_CancelReservationRequest = CancelReservationRequest;\n  type eventsV1Order_universal_d_CancelReservationResponse = CancelReservationResponse;\n  type eventsV1Order_universal_d_GetInvoiceRequest = GetInvoiceRequest;\n  type eventsV1Order_universal_d_DiscountRequest = DiscountRequest;\n  type eventsV1Order_universal_d_PaidPlanBenefit = PaidPlanBenefit;\n  type eventsV1Order_universal_d_GetInvoiceResponse = GetInvoiceResponse;\n  type eventsV1Order_universal_d_DiscountErrors = DiscountErrors;\n  type eventsV1Order_universal_d_Error = Error;\n  type eventsV1Order_universal_d_GiftCardErrors = GiftCardErrors;\n  type eventsV1Order_universal_d_GiftCardErrorsError = GiftCardErrorsError;\n  type eventsV1Order_universal_d_CheckoutRequest = CheckoutRequest;\n  type eventsV1Order_universal_d_Buyer = Buyer;\n  type eventsV1Order_universal_d_CheckoutOptions = CheckoutOptions;\n  type eventsV1Order_universal_d_CheckoutResponse = CheckoutResponse;\n  type eventsV1Order_universal_d_OrderInitiated = OrderInitiated;\n  type eventsV1Order_universal_d_UpdateCheckoutRequest = UpdateCheckoutRequest;\n  type eventsV1Order_universal_d_UpdateCheckoutResponse = UpdateCheckoutResponse;\n  type eventsV1Order_universal_d_OrderPageUrls = OrderPageUrls;\n  type eventsV1Order_universal_d_PosCheckoutRequest = PosCheckoutRequest;\n  type eventsV1Order_universal_d_PosCheckoutResponse = PosCheckoutResponse;\n  const eventsV1Order_universal_d_listOrders: typeof listOrders;\n  type eventsV1Order_universal_d_ListOrdersOptions = ListOrdersOptions;\n  const eventsV1Order_universal_d_getOrder: typeof getOrder;\n  type eventsV1Order_universal_d_GetOrderIdentifiers = GetOrderIdentifiers;\n  type eventsV1Order_universal_d_GetOrderOptions = GetOrderOptions;\n  const eventsV1Order_universal_d_updateOrder: typeof updateOrder;\n  type eventsV1Order_universal_d_UpdateOrderIdentifiers = UpdateOrderIdentifiers;\n  type eventsV1Order_universal_d_UpdateOrderOptions = UpdateOrderOptions;\n  const eventsV1Order_universal_d_bulkUpdateOrders: typeof bulkUpdateOrders;\n  type eventsV1Order_universal_d_BulkUpdateOrdersOptions = BulkUpdateOrdersOptions;\n  const eventsV1Order_universal_d_confirmOrder: typeof confirmOrder;\n  type eventsV1Order_universal_d_ConfirmOrderOptions = ConfirmOrderOptions;\n  const eventsV1Order_universal_d_getSummary: typeof getSummary;\n  type eventsV1Order_universal_d_GetSummaryOptions = GetSummaryOptions;\n  const eventsV1Order_universal_d_getInvoicePreview: typeof getInvoicePreview;\n  type eventsV1Order_universal_d_GetInvoicePreviewIdentifiers = GetInvoicePreviewIdentifiers;\n  const eventsV1Order_universal_d_captureAuthorizedPayment: typeof captureAuthorizedPayment;\n  type eventsV1Order_universal_d_CaptureAuthorizedPaymentOptions = CaptureAuthorizedPaymentOptions;\n  const eventsV1Order_universal_d_voidAuthorizedPayment: typeof voidAuthorizedPayment;\n  type eventsV1Order_universal_d_VoidAuthorizedPaymentOptions = VoidAuthorizedPaymentOptions;\n  const eventsV1Order_universal_d_getCheckoutOptions: typeof getCheckoutOptions;\n  const eventsV1Order_universal_d_listAvailableTickets: typeof listAvailableTickets;\n  type eventsV1Order_universal_d_ListAvailableTicketsOptions = ListAvailableTicketsOptions;\n  const eventsV1Order_universal_d_queryAvailableTickets: typeof queryAvailableTickets;\n  type eventsV1Order_universal_d_QueryAvailableTicketsOptions = QueryAvailableTicketsOptions;\n  const eventsV1Order_universal_d_createReservation: typeof createReservation;\n  type eventsV1Order_universal_d_CreateReservationOptions = CreateReservationOptions;\n  const eventsV1Order_universal_d_cancelReservation: typeof cancelReservation;\n  const eventsV1Order_universal_d_getInvoice: typeof getInvoice;\n  type eventsV1Order_universal_d_GetInvoiceOptions = GetInvoiceOptions;\n  const eventsV1Order_universal_d_checkout: typeof checkout;\n  type eventsV1Order_universal_d_CheckoutOptionsForRequest = CheckoutOptionsForRequest;\n  const eventsV1Order_universal_d_updateCheckout: typeof updateCheckout;\n  type eventsV1Order_universal_d_UpdateCheckoutOptions = UpdateCheckoutOptions;\n  const eventsV1Order_universal_d_posCheckout: typeof posCheckout;\n  type eventsV1Order_universal_d_PosCheckoutOptions = PosCheckoutOptions;\n  namespace eventsV1Order_universal_d {\n    export {\n      eventsV1Order_universal_d_Order as Order,\n      FormResponse$3 as FormResponse,\n      InputValue$3 as InputValue,\n      FormattedAddress$3 as FormattedAddress,\n      Address$7 as Address,\n      AddressStreetOneOf$7 as AddressStreetOneOf,\n      StreetAddress$7 as StreetAddress,\n      AddressLocation$7 as AddressLocation,\n      Subdivision$7 as Subdivision,\n      SubdivisionType$7 as SubdivisionType,\n      StandardDetails$3 as StandardDetails,\n      OrderStatus$1 as OrderStatus,\n      Money$5 as Money,\n      TicketingTicket$1 as TicketingTicket,\n      CheckIn$2 as CheckIn,\n      GuestDetails$1 as GuestDetails,\n      ChannelType$1 as ChannelType,\n      TicketDetails$1 as TicketDetails,\n      eventsV1Order_universal_d_Invoice as Invoice,\n      Item$1 as Item,\n      eventsV1Order_universal_d_Discount as Discount,\n      eventsV1Order_universal_d_DiscountItem as DiscountItem,\n      eventsV1Order_universal_d_DiscountItemDiscountOneOf as DiscountItemDiscountOneOf,\n      eventsV1Order_universal_d_CouponDiscount as CouponDiscount,\n      eventsV1Order_universal_d_PaidPlanDiscount as PaidPlanDiscount,\n      eventsV1Order_universal_d_PaidPlanDiscountDiscountOneOf as PaidPlanDiscountDiscountOneOf,\n      eventsV1Order_universal_d_PercentDiscount as PercentDiscount,\n      eventsV1Order_universal_d_Tax as Tax,\n      TaxType$3 as TaxType,\n      eventsV1Order_universal_d_Fee as Fee,\n      eventsV1Order_universal_d_FeeName as FeeName,\n      FeeType$1 as FeeType,\n      eventsV1Order_universal_d_PaymentDetails as PaymentDetails,\n      eventsV1Order_universal_d_PaymentTransaction as PaymentTransaction,\n      eventsV1Order_universal_d_ScheduledActionEnumAction as ScheduledActionEnumAction,\n      eventsV1Order_universal_d_Action as Action,\n      eventsV1Order_universal_d_GiftCardPaymentDetails as GiftCardPaymentDetails,\n      eventsV1Order_universal_d_BalanceSummary as BalanceSummary,\n      eventsV1Order_universal_d_OrderDeleted as OrderDeleted,\n      eventsV1Order_universal_d_OrderType as OrderType,\n      Ticket$1 as Ticket,\n      OnlineConferencingLogin$3 as OnlineConferencingLogin,\n      eventsV1Order_universal_d_ListOrdersRequest as ListOrdersRequest,\n      eventsV1Order_universal_d_OrderFieldset as OrderFieldset,\n      eventsV1Order_universal_d_OrderTag as OrderTag,\n      eventsV1Order_universal_d_ListOrdersResponse as ListOrdersResponse,\n      FacetCounts$5 as FacetCounts,\n      eventsV1Order_universal_d_OrderFacets as OrderFacets,\n      eventsV1Order_universal_d_OrderFacetCounts as OrderFacetCounts,\n      Counts$2 as Counts,\n      eventsV1Order_universal_d_GetOrderRequest as GetOrderRequest,\n      eventsV1Order_universal_d_GetOrderResponse as GetOrderResponse,\n      CalendarLinks$4 as CalendarLinks,\n      eventsV1Order_universal_d_UpdateOrderRequest as UpdateOrderRequest,\n      eventsV1Order_universal_d_UpdateOrderResponse as UpdateOrderResponse,\n      OrderUpdated$1 as OrderUpdated,\n      eventsV1Order_universal_d_BulkUpdateOrdersRequest as BulkUpdateOrdersRequest,\n      eventsV1Order_universal_d_BulkUpdateOrdersResponse as BulkUpdateOrdersResponse,\n      eventsV1Order_universal_d_ConfirmOrderRequest as ConfirmOrderRequest,\n      eventsV1Order_universal_d_ConfirmOrderResponse as ConfirmOrderResponse,\n      eventsV1Order_universal_d_GetSummaryRequest as GetSummaryRequest,\n      eventsV1Order_universal_d_GetSummaryResponse as GetSummaryResponse,\n      eventsV1Order_universal_d_TicketSales as TicketSales,\n      eventsV1Order_universal_d_GetInvoicePreviewRequest as GetInvoicePreviewRequest,\n      eventsV1Order_universal_d_RawHttpResponse as RawHttpResponse,\n      eventsV1Order_universal_d_HeadersEntry as HeadersEntry,\n      eventsV1Order_universal_d_GetPaymentInfoRequest as GetPaymentInfoRequest,\n      eventsV1Order_universal_d_GetPaymentInfoResponse as GetPaymentInfoResponse,\n      eventsV1Order_universal_d_PaymentTransactionSummary as PaymentTransactionSummary,\n      eventsV1Order_universal_d_PaymentTransactionEvent as PaymentTransactionEvent,\n      eventsV1Order_universal_d_CaptureAuthorizedPaymentRequest as CaptureAuthorizedPaymentRequest,\n      eventsV1Order_universal_d_CaptureAuthorizedPaymentResponse as CaptureAuthorizedPaymentResponse,\n      eventsV1Order_universal_d_VoidAuthorizedPaymentRequest as VoidAuthorizedPaymentRequest,\n      eventsV1Order_universal_d_VoidAuthorizedPaymentResponse as VoidAuthorizedPaymentResponse,\n      MessageEnvelope$8 as MessageEnvelope,\n      IdentificationData$8 as IdentificationData,\n      IdentificationDataIdOneOf$8 as IdentificationDataIdOneOf,\n      WebhookIdentityType$8 as WebhookIdentityType,\n      eventsV1Order_universal_d_OrderConfirmed as OrderConfirmed,\n      eventsV1Order_universal_d_OrderPaid as OrderPaid,\n      ReservationCreated$1 as ReservationCreated,\n      ReservationStatus$1 as ReservationStatus,\n      TicketQuantity$1 as TicketQuantity,\n      ReservationCount$1 as ReservationCount,\n      ReservationUpdated$1 as ReservationUpdated,\n      eventsV1Order_universal_d_GetCheckoutOptionsRequest as GetCheckoutOptionsRequest,\n      eventsV1Order_universal_d_GetCheckoutOptionsResponse as GetCheckoutOptionsResponse,\n      eventsV1Order_universal_d_ListAvailableTicketsRequest as ListAvailableTicketsRequest,\n      State$5 as State,\n      eventsV1Order_universal_d_ListAvailableTicketsResponse as ListAvailableTicketsResponse,\n      ResponseMetaData$1 as ResponseMetaData,\n      TicketDefinition$2 as TicketDefinition,\n      Dashboard$4 as Dashboard,\n      WixFeeConfig$1 as WixFeeConfig,\n      TicketSalePeriod$1 as TicketSalePeriod,\n      TicketSaleStatus$1 as TicketSaleStatus,\n      TicketPricing$1 as TicketPricing,\n      TicketPricingPriceOneOf$1 as TicketPricingPriceOneOf,\n      PricingOptions$2 as PricingOptions,\n      PricingOption$1 as PricingOption,\n      Type$4 as Type,\n      eventsV1Order_universal_d_QueryAvailableTicketsRequest as QueryAvailableTicketsRequest,\n      TicketDefinitionFieldset$1 as TicketDefinitionFieldset,\n      eventsV1Order_universal_d_QueryAvailableTicketsResponse as QueryAvailableTicketsResponse,\n      eventsV1Order_universal_d_CreateReservationRequest as CreateReservationRequest,\n      eventsV1Order_universal_d_TicketReservationQuantity as TicketReservationQuantity,\n      eventsV1Order_universal_d_CreateReservationResponse as CreateReservationResponse,\n      eventsV1Order_universal_d_TicketReservation as TicketReservation,\n      eventsV1Order_universal_d_CancelReservationRequest as CancelReservationRequest,\n      eventsV1Order_universal_d_CancelReservationResponse as CancelReservationResponse,\n      eventsV1Order_universal_d_GetInvoiceRequest as GetInvoiceRequest,\n      eventsV1Order_universal_d_DiscountRequest as DiscountRequest,\n      eventsV1Order_universal_d_PaidPlanBenefit as PaidPlanBenefit,\n      eventsV1Order_universal_d_GetInvoiceResponse as GetInvoiceResponse,\n      eventsV1Order_universal_d_DiscountErrors as DiscountErrors,\n      eventsV1Order_universal_d_Error as Error,\n      eventsV1Order_universal_d_GiftCardErrors as GiftCardErrors,\n      eventsV1Order_universal_d_GiftCardErrorsError as GiftCardErrorsError,\n      eventsV1Order_universal_d_CheckoutRequest as CheckoutRequest,\n      eventsV1Order_universal_d_Buyer as Buyer,\n      Guest$2 as Guest,\n      eventsV1Order_universal_d_CheckoutOptions as CheckoutOptions,\n      eventsV1Order_universal_d_CheckoutResponse as CheckoutResponse,\n      eventsV1Order_universal_d_OrderInitiated as OrderInitiated,\n      eventsV1Order_universal_d_UpdateCheckoutRequest as UpdateCheckoutRequest,\n      eventsV1Order_universal_d_UpdateCheckoutResponse as UpdateCheckoutResponse,\n      eventsV1Order_universal_d_OrderPageUrls as OrderPageUrls,\n      eventsV1Order_universal_d_PosCheckoutRequest as PosCheckoutRequest,\n      eventsV1Order_universal_d_PosCheckoutResponse as PosCheckoutResponse,\n      eventsV1Order_universal_d_listOrders as listOrders,\n      eventsV1Order_universal_d_ListOrdersOptions as ListOrdersOptions,\n      eventsV1Order_universal_d_getOrder as getOrder,\n      eventsV1Order_universal_d_GetOrderIdentifiers as GetOrderIdentifiers,\n      eventsV1Order_universal_d_GetOrderOptions as GetOrderOptions,\n      eventsV1Order_universal_d_updateOrder as updateOrder,\n      eventsV1Order_universal_d_UpdateOrderIdentifiers as UpdateOrderIdentifiers,\n      eventsV1Order_universal_d_UpdateOrderOptions as UpdateOrderOptions,\n      eventsV1Order_universal_d_bulkUpdateOrders as bulkUpdateOrders,\n      eventsV1Order_universal_d_BulkUpdateOrdersOptions as BulkUpdateOrdersOptions,\n      eventsV1Order_universal_d_confirmOrder as confirmOrder,\n      eventsV1Order_universal_d_ConfirmOrderOptions as ConfirmOrderOptions,\n      eventsV1Order_universal_d_getSummary as getSummary,\n      eventsV1Order_universal_d_GetSummaryOptions as GetSummaryOptions,\n      eventsV1Order_universal_d_getInvoicePreview as getInvoicePreview,\n      eventsV1Order_universal_d_GetInvoicePreviewIdentifiers as GetInvoicePreviewIdentifiers,\n      eventsV1Order_universal_d_captureAuthorizedPayment as captureAuthorizedPayment,\n      eventsV1Order_universal_d_CaptureAuthorizedPaymentOptions as CaptureAuthorizedPaymentOptions,\n      eventsV1Order_universal_d_voidAuthorizedPayment as voidAuthorizedPayment,\n      eventsV1Order_universal_d_VoidAuthorizedPaymentOptions as VoidAuthorizedPaymentOptions,\n      eventsV1Order_universal_d_getCheckoutOptions as getCheckoutOptions,\n      eventsV1Order_universal_d_listAvailableTickets as listAvailableTickets,\n      eventsV1Order_universal_d_ListAvailableTicketsOptions as ListAvailableTicketsOptions,\n      eventsV1Order_universal_d_queryAvailableTickets as queryAvailableTickets,\n      eventsV1Order_universal_d_QueryAvailableTicketsOptions as QueryAvailableTicketsOptions,\n      eventsV1Order_universal_d_createReservation as createReservation,\n      eventsV1Order_universal_d_CreateReservationOptions as CreateReservationOptions,\n      eventsV1Order_universal_d_cancelReservation as cancelReservation,\n      eventsV1Order_universal_d_getInvoice as getInvoice,\n      eventsV1Order_universal_d_GetInvoiceOptions as GetInvoiceOptions,\n      eventsV1Order_universal_d_checkout as checkout,\n      eventsV1Order_universal_d_CheckoutOptionsForRequest as CheckoutOptionsForRequest,\n      eventsV1Order_universal_d_updateCheckout as updateCheckout,\n      eventsV1Order_universal_d_UpdateCheckoutOptions as UpdateCheckoutOptions,\n      eventsV1Order_universal_d_posCheckout as posCheckout,\n      eventsV1Order_universal_d_PosCheckoutOptions as PosCheckoutOptions,\n    };\n  }\n  \n  interface RichContent {\n      /**\n       * Rich content ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the rich content is updated. To prevent conflicting changes, the existing revision must be used when updating rich content.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when rich content was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the rich content was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** ID of the event to which rich content is applied. */\n      eventId?: string | null;\n      /** Field name whose value uses rich content. For the event description, specify the `about` value. */\n      fieldName?: string | null;\n      /**\n       * Rich content of the event description.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"video.spoiler.linkPreview.link.lineSpacing.indent.image.html.heading.hashtag.giphy.gallery.file.emoji.divider.collapsibleList.codeBlock.audio.ai\" exampleid=\"6ff78d07-c535-4602-b50d-6f06055f4148\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       */\n      content?: V1RichContent;\n      /**\n       * Custom field data for the rich content object.\n       *\n       * **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.\n       */\n      extendedFields?: ExtendedFields$2;\n  }\n  interface V1RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type$3;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type$3 {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings$3 {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings$3;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData {\n      textStyle?: TextStyle;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface ExtendedFields$2 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateRichContentRequest {\n      /** Rich content details. */\n      richContent: RichContent;\n  }\n  interface CreateRichContentResponse {\n      /** Created rich content. */\n      richContent?: RichContent;\n  }\n  interface GetRichContentRequest {\n      /** Rich content ID. */\n      richContentId: string;\n  }\n  interface GetRichContentResponse {\n      /** The requested rich content. */\n      richContent?: RichContent;\n  }\n  interface FindRichContentBySlugRequest {\n      /** The event slug */\n      eventSlug: string;\n      /** The field name */\n      fieldName: string;\n  }\n  interface FindRichContentBySlugResponse {\n      /** The RichContent */\n      richContent?: RichContent;\n  }\n  interface UpdateRichContentRequest {\n      /** Fields to update. */\n      richContent: RichContent;\n      /**\n       * FieldMask to be applied to the RichContent.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateRichContentResponse {\n      /** Updated rich content. */\n      richContent?: RichContent;\n  }\n  interface DeleteRichContentRequest {\n      /** ID of rich content to delete. */\n      richContentId: string;\n  }\n  interface DeleteRichContentResponse {\n  }\n  interface QueryRichContentsRequest {\n      /** WQL expression. */\n      query?: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$5;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$5[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$5;\n  }\n  interface Sorting$5 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$5;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$5 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$5 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryRichContentsResponse {\n      /** List of RichContents. */\n      richContents?: RichContent[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$5;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$5 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryRichContentRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      query?: CursorQuery$1;\n  }\n  interface QueryRichContentResponse {\n      /** List of rich content entities. */\n      richContent?: RichContent[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface EventCopied$2 {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$4;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$4;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus$4;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n      /**\n       * Map of copied ticket definitions from original event.\n       * Key represents ticket def id in the original event.\n       * Value represents ticket def id in the newly created event.\n       */\n      ticketDefinitions?: Record<string, string>;\n  }\n  interface Location$4 {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates$4;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationType$4;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address$6;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates$4 {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationType$4 {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address$6 extends AddressStreetOneOf$6 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$6;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation$6;\n      /** country full-name */\n      countryFullname?: string | null;\n      /** multi-level subdivisions from top to bottom */\n      subdivisions?: Subdivision$6[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$6 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$6;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$6 {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /**\n       * apartment number\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation$6 {\n      /** address latitude coordinates */\n      latitude?: number | null;\n      /** address longitude coordinates */\n      longitude?: number | null;\n  }\n  interface Subdivision$6 {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /**\n       * subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$6;\n      /**\n       * free text description of subdivision type\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$6 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface ScheduleConfig$4 {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: Recurrences$4;\n  }\n  interface Recurrences$4 {\n      /** Event occurrences. */\n      occurrences?: Occurrence$4[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: Status$4;\n  }\n  interface Occurrence$4 {\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum Status$4 {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  enum EventStatus$4 {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface Empty$4 {\n  }\n  interface EventDeleted$3 {\n      /** Event deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /**\n       * Event categories.\n       * @internal\n       */\n      categories?: string[];\n  }\n  interface GetOrCreateRichContentRequest {\n      /** The event id */\n      eventId?: string;\n      /** The field name */\n      fieldName?: string;\n      /** HTML content to be converted to RichContent */\n      content?: string;\n  }\n  interface GetOrCreateRichContentResponse {\n      /** The RichContent */\n      richContent?: RichContent;\n  }\n  interface CountRichContentItemsRequest {\n      filter?: Record<string, any> | null;\n  }\n  interface CountRichContentItemsResponse {\n      count?: number;\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$7 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$7;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$7 extends IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$7;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$7 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates rich content, such as for an event description.\n   *\n   * This method passes rich content value to the description of an already created event.\n   * @param richContent - Rich content details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField richContent\n   * @requiredField richContent.content\n   * @requiredField richContent.fieldName\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   * @returns Created rich content.\n   */\n  function createRichContent(richContent: RichContent): Promise<RichContent>;\n  /**\n   * Retrieves rich content of an event's field.\n   * @param richContentId - Rich content ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField richContentId\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   * @returns The requested rich content.\n   */\n  function getRichContent(richContentId: string): Promise<RichContent>;\n  /**\n   * Retrieves a RichContent by event_slug and field_name. Return empty response if not found.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.eventSlug\n   * @requiredField identifiers.fieldName\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   * @deprecated\n   * @targetRemovalDate 2025-01-01\n   */\n  function findRichContentBySlug(identifiers: FindRichContentBySlugIdentifiers): Promise<FindRichContentBySlugResponse>;\n  interface FindRichContentBySlugIdentifiers {\n      /** The event slug */\n      eventSlug: string;\n      /** The field name */\n      fieldName: string;\n  }\n  /**\n   * Updates rich content of an event description.\n   *\n   * Each time rich content is updated, `revision` increments by 1. The current `revision` must be passed when updating rich content. This ensures you're working with the latest rich content and prevents unintended overwrites.\n   * @param _id - Rich content ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField richContent\n   * @requiredField richContent.revision\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   * @returns Updated rich content.\n   */\n  function updateRichContent(_id: string | null, richContent: UpdateRichContent, options?: UpdateRichContentOptions): Promise<RichContent>;\n  interface UpdateRichContent {\n      /**\n       * Rich content ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the rich content is updated. To prevent conflicting changes, the existing revision must be used when updating rich content.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when rich content was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the rich content was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** ID of the event to which rich content is applied. */\n      eventId?: string | null;\n      /** Field name whose value uses rich content. For the event description, specify the `about` value. */\n      fieldName?: string | null;\n      /**\n       * Rich content of the event description.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"video.spoiler.linkPreview.link.lineSpacing.indent.image.html.heading.hashtag.giphy.gallery.file.emoji.divider.collapsibleList.codeBlock.audio.ai\" exampleid=\"6ff78d07-c535-4602-b50d-6f06055f4148\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       */\n      content?: V1RichContent;\n      /**\n       * Custom field data for the rich content object.\n       *\n       * **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.\n       */\n      extendedFields?: ExtendedFields$2;\n  }\n  interface UpdateRichContentOptions {\n      /**\n       * FieldMask to be applied to the RichContent.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes rich content from the event description.\n   * @param richContentId - ID of rich content to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField richContentId\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function deleteRichContent(richContentId: string): Promise<void>;\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   * @deprecated\n   * @replacedBy QueryRichContent\n   * @targetRemovalDate 2025-01-01\n   */\n  function queryRichContents(options?: QueryRichContentsOptions): Promise<QueryRichContentsResponse>;\n  interface QueryRichContentsOptions {\n      /** WQL expression. */\n      query?: CursorQuery$1;\n  }\n  /**\n   * Creates a query to retrieve a list of rich content entities.\n   *\n   * The `queryRichContent()` function builds a query to retrieve a list of events and returns a `RichContentQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `RichContentQueryBuilder` functions onto the query. `RichContentQueryBuilder` functions enable you to sort, filter, and control the results `queryRichContent()` returns.\n   *\n   * `queryRichContent()` runs with these `RichContentQueryBuilder` defaults, which you can override:\n   *\n   * - `skip(0)`\n   * - `limit(50)`\n   * - `descending(\"_createdDate\")`\n   * The functions that are chained to `queryRichContent()` are applied in the order they're called. For example, if you apply ascending('eventId') and then descending('id'), the results are sorted first by the event ID, and then, if there are multiple results with the same event ID, the items are sorted by ID.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   */\n  function queryRichContent(): RichContentQueryBuilder;\n  interface QueryCursorResult$4 {\n      cursors: Cursors$5;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface RichContentQueryResult extends QueryCursorResult$4 {\n      items: RichContent[];\n      query: RichContentQueryBuilder;\n      next: () => Promise<RichContentQueryResult>;\n      prev: () => Promise<RichContentQueryResult>;\n  }\n  interface RichContentQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'eventId' | 'fieldName', value: any) => RichContentQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'eventId' | 'fieldName', value: any) => RichContentQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'eventId' | 'fieldName', value: string) => RichContentQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'eventId' | 'fieldName', value: any[]) => RichContentQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'eventId' | 'fieldName', value: any) => RichContentQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'eventId' | 'fieldName', value: boolean) => RichContentQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'eventId' | 'fieldName'>) => RichContentQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'eventId' | 'fieldName'>) => RichContentQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => RichContentQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => RichContentQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<RichContentQueryResult>;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function countRichContentItems(options?: CountRichContentItemsOptions): Promise<CountRichContentItemsResponse>;\n  interface CountRichContentItemsOptions {\n      filter?: Record<string, any> | null;\n  }\n  \n  type eventsV1RichContent_universal_d_RichContent = RichContent;\n  type eventsV1RichContent_universal_d_V1RichContent = V1RichContent;\n  type eventsV1RichContent_universal_d_Node = Node;\n  type eventsV1RichContent_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type eventsV1RichContent_universal_d_NodeType = NodeType;\n  const eventsV1RichContent_universal_d_NodeType: typeof NodeType;\n  type eventsV1RichContent_universal_d_NodeStyle = NodeStyle;\n  type eventsV1RichContent_universal_d_ButtonData = ButtonData;\n  type eventsV1RichContent_universal_d_Border = Border;\n  type eventsV1RichContent_universal_d_Colors = Colors;\n  type eventsV1RichContent_universal_d_PluginContainerData = PluginContainerData;\n  type eventsV1RichContent_universal_d_WidthType = WidthType;\n  const eventsV1RichContent_universal_d_WidthType: typeof WidthType;\n  type eventsV1RichContent_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type eventsV1RichContent_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type eventsV1RichContent_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const eventsV1RichContent_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type eventsV1RichContent_universal_d_Spoiler = Spoiler;\n  type eventsV1RichContent_universal_d_Height = Height;\n  type eventsV1RichContent_universal_d_Styles = Styles;\n  type eventsV1RichContent_universal_d_Link = Link;\n  type eventsV1RichContent_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type eventsV1RichContent_universal_d_Target = Target;\n  const eventsV1RichContent_universal_d_Target: typeof Target;\n  type eventsV1RichContent_universal_d_Rel = Rel;\n  type eventsV1RichContent_universal_d_CodeBlockData = CodeBlockData;\n  type eventsV1RichContent_universal_d_TextStyle = TextStyle;\n  type eventsV1RichContent_universal_d_TextAlignment = TextAlignment;\n  const eventsV1RichContent_universal_d_TextAlignment: typeof TextAlignment;\n  type eventsV1RichContent_universal_d_DividerData = DividerData;\n  type eventsV1RichContent_universal_d_LineStyle = LineStyle;\n  const eventsV1RichContent_universal_d_LineStyle: typeof LineStyle;\n  type eventsV1RichContent_universal_d_Width = Width;\n  const eventsV1RichContent_universal_d_Width: typeof Width;\n  type eventsV1RichContent_universal_d_Alignment = Alignment;\n  const eventsV1RichContent_universal_d_Alignment: typeof Alignment;\n  type eventsV1RichContent_universal_d_FileData = FileData;\n  type eventsV1RichContent_universal_d_ViewMode = ViewMode;\n  const eventsV1RichContent_universal_d_ViewMode: typeof ViewMode;\n  type eventsV1RichContent_universal_d_FileSource = FileSource;\n  type eventsV1RichContent_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type eventsV1RichContent_universal_d_PDFSettings = PDFSettings;\n  type eventsV1RichContent_universal_d_GalleryData = GalleryData;\n  type eventsV1RichContent_universal_d_Media = Media;\n  type eventsV1RichContent_universal_d_Image = Image;\n  type eventsV1RichContent_universal_d_Video = Video;\n  type eventsV1RichContent_universal_d_Item = Item;\n  type eventsV1RichContent_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type eventsV1RichContent_universal_d_GalleryOptions = GalleryOptions;\n  type eventsV1RichContent_universal_d_LayoutType = LayoutType;\n  const eventsV1RichContent_universal_d_LayoutType: typeof LayoutType;\n  type eventsV1RichContent_universal_d_Orientation = Orientation;\n  const eventsV1RichContent_universal_d_Orientation: typeof Orientation;\n  type eventsV1RichContent_universal_d_Crop = Crop;\n  const eventsV1RichContent_universal_d_Crop: typeof Crop;\n  type eventsV1RichContent_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const eventsV1RichContent_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type eventsV1RichContent_universal_d_Layout = Layout;\n  type eventsV1RichContent_universal_d_ItemStyle = ItemStyle;\n  type eventsV1RichContent_universal_d_Thumbnails = Thumbnails;\n  type eventsV1RichContent_universal_d_GIFData = GIFData;\n  type eventsV1RichContent_universal_d_GIF = GIF;\n  type eventsV1RichContent_universal_d_HeadingData = HeadingData;\n  type eventsV1RichContent_universal_d_HTMLData = HTMLData;\n  type eventsV1RichContent_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type eventsV1RichContent_universal_d_Source = Source;\n  const eventsV1RichContent_universal_d_Source: typeof Source;\n  type eventsV1RichContent_universal_d_ImageData = ImageData;\n  type eventsV1RichContent_universal_d_LinkPreviewData = LinkPreviewData;\n  type eventsV1RichContent_universal_d_MapData = MapData;\n  type eventsV1RichContent_universal_d_MapSettings = MapSettings;\n  type eventsV1RichContent_universal_d_MapType = MapType;\n  const eventsV1RichContent_universal_d_MapType: typeof MapType;\n  type eventsV1RichContent_universal_d_ParagraphData = ParagraphData;\n  type eventsV1RichContent_universal_d_PollData = PollData;\n  type eventsV1RichContent_universal_d_ViewRole = ViewRole;\n  const eventsV1RichContent_universal_d_ViewRole: typeof ViewRole;\n  type eventsV1RichContent_universal_d_VoteRole = VoteRole;\n  const eventsV1RichContent_universal_d_VoteRole: typeof VoteRole;\n  type eventsV1RichContent_universal_d_Permissions = Permissions;\n  type eventsV1RichContent_universal_d_Option = Option;\n  type eventsV1RichContent_universal_d_PollLayoutType = PollLayoutType;\n  const eventsV1RichContent_universal_d_PollLayoutType: typeof PollLayoutType;\n  type eventsV1RichContent_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const eventsV1RichContent_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type eventsV1RichContent_universal_d_PollLayout = PollLayout;\n  type eventsV1RichContent_universal_d_OptionLayout = OptionLayout;\n  type eventsV1RichContent_universal_d_BackgroundType = BackgroundType;\n  const eventsV1RichContent_universal_d_BackgroundType: typeof BackgroundType;\n  type eventsV1RichContent_universal_d_Gradient = Gradient;\n  type eventsV1RichContent_universal_d_Background = Background;\n  type eventsV1RichContent_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type eventsV1RichContent_universal_d_PollDesign = PollDesign;\n  type eventsV1RichContent_universal_d_OptionDesign = OptionDesign;\n  type eventsV1RichContent_universal_d_Poll = Poll;\n  type eventsV1RichContent_universal_d_PollDataLayout = PollDataLayout;\n  type eventsV1RichContent_universal_d_Design = Design;\n  type eventsV1RichContent_universal_d_TextData = TextData;\n  type eventsV1RichContent_universal_d_Decoration = Decoration;\n  type eventsV1RichContent_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type eventsV1RichContent_universal_d_DecorationType = DecorationType;\n  const eventsV1RichContent_universal_d_DecorationType: typeof DecorationType;\n  type eventsV1RichContent_universal_d_AnchorData = AnchorData;\n  type eventsV1RichContent_universal_d_ColorData = ColorData;\n  type eventsV1RichContent_universal_d_LinkData = LinkData;\n  type eventsV1RichContent_universal_d_MentionData = MentionData;\n  type eventsV1RichContent_universal_d_FontSizeData = FontSizeData;\n  type eventsV1RichContent_universal_d_FontType = FontType;\n  const eventsV1RichContent_universal_d_FontType: typeof FontType;\n  type eventsV1RichContent_universal_d_SpoilerData = SpoilerData;\n  type eventsV1RichContent_universal_d_AppEmbedData = AppEmbedData;\n  type eventsV1RichContent_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type eventsV1RichContent_universal_d_AppType = AppType;\n  const eventsV1RichContent_universal_d_AppType: typeof AppType;\n  type eventsV1RichContent_universal_d_BookingData = BookingData;\n  type eventsV1RichContent_universal_d_EventData = EventData;\n  type eventsV1RichContent_universal_d_VideoData = VideoData;\n  type eventsV1RichContent_universal_d_PlaybackOptions = PlaybackOptions;\n  type eventsV1RichContent_universal_d_EmbedData = EmbedData;\n  type eventsV1RichContent_universal_d_Oembed = Oembed;\n  type eventsV1RichContent_universal_d_CollapsibleListData = CollapsibleListData;\n  type eventsV1RichContent_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const eventsV1RichContent_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type eventsV1RichContent_universal_d_Direction = Direction;\n  const eventsV1RichContent_universal_d_Direction: typeof Direction;\n  type eventsV1RichContent_universal_d_TableData = TableData;\n  type eventsV1RichContent_universal_d_Dimensions = Dimensions;\n  type eventsV1RichContent_universal_d_TableCellData = TableCellData;\n  type eventsV1RichContent_universal_d_VerticalAlignment = VerticalAlignment;\n  const eventsV1RichContent_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type eventsV1RichContent_universal_d_CellStyle = CellStyle;\n  type eventsV1RichContent_universal_d_BorderColors = BorderColors;\n  type eventsV1RichContent_universal_d_NullValue = NullValue;\n  const eventsV1RichContent_universal_d_NullValue: typeof NullValue;\n  type eventsV1RichContent_universal_d_ListValue = ListValue;\n  type eventsV1RichContent_universal_d_AudioData = AudioData;\n  type eventsV1RichContent_universal_d_OrderedListData = OrderedListData;\n  type eventsV1RichContent_universal_d_BulletedListData = BulletedListData;\n  type eventsV1RichContent_universal_d_BlockquoteData = BlockquoteData;\n  type eventsV1RichContent_universal_d_CaptionData = CaptionData;\n  type eventsV1RichContent_universal_d_Metadata = Metadata;\n  type eventsV1RichContent_universal_d_DocumentStyle = DocumentStyle;\n  type eventsV1RichContent_universal_d_TextNodeStyle = TextNodeStyle;\n  type eventsV1RichContent_universal_d_CreateRichContentRequest = CreateRichContentRequest;\n  type eventsV1RichContent_universal_d_CreateRichContentResponse = CreateRichContentResponse;\n  type eventsV1RichContent_universal_d_GetRichContentRequest = GetRichContentRequest;\n  type eventsV1RichContent_universal_d_GetRichContentResponse = GetRichContentResponse;\n  type eventsV1RichContent_universal_d_FindRichContentBySlugRequest = FindRichContentBySlugRequest;\n  type eventsV1RichContent_universal_d_FindRichContentBySlugResponse = FindRichContentBySlugResponse;\n  type eventsV1RichContent_universal_d_UpdateRichContentRequest = UpdateRichContentRequest;\n  type eventsV1RichContent_universal_d_UpdateRichContentResponse = UpdateRichContentResponse;\n  type eventsV1RichContent_universal_d_DeleteRichContentRequest = DeleteRichContentRequest;\n  type eventsV1RichContent_universal_d_DeleteRichContentResponse = DeleteRichContentResponse;\n  type eventsV1RichContent_universal_d_QueryRichContentsRequest = QueryRichContentsRequest;\n  type eventsV1RichContent_universal_d_QueryRichContentsResponse = QueryRichContentsResponse;\n  type eventsV1RichContent_universal_d_QueryRichContentRequest = QueryRichContentRequest;\n  type eventsV1RichContent_universal_d_QueryRichContentResponse = QueryRichContentResponse;\n  type eventsV1RichContent_universal_d_GetOrCreateRichContentRequest = GetOrCreateRichContentRequest;\n  type eventsV1RichContent_universal_d_GetOrCreateRichContentResponse = GetOrCreateRichContentResponse;\n  type eventsV1RichContent_universal_d_CountRichContentItemsRequest = CountRichContentItemsRequest;\n  type eventsV1RichContent_universal_d_CountRichContentItemsResponse = CountRichContentItemsResponse;\n  const eventsV1RichContent_universal_d_createRichContent: typeof createRichContent;\n  const eventsV1RichContent_universal_d_getRichContent: typeof getRichContent;\n  const eventsV1RichContent_universal_d_findRichContentBySlug: typeof findRichContentBySlug;\n  type eventsV1RichContent_universal_d_FindRichContentBySlugIdentifiers = FindRichContentBySlugIdentifiers;\n  const eventsV1RichContent_universal_d_updateRichContent: typeof updateRichContent;\n  type eventsV1RichContent_universal_d_UpdateRichContent = UpdateRichContent;\n  type eventsV1RichContent_universal_d_UpdateRichContentOptions = UpdateRichContentOptions;\n  const eventsV1RichContent_universal_d_deleteRichContent: typeof deleteRichContent;\n  const eventsV1RichContent_universal_d_queryRichContents: typeof queryRichContents;\n  type eventsV1RichContent_universal_d_QueryRichContentsOptions = QueryRichContentsOptions;\n  const eventsV1RichContent_universal_d_queryRichContent: typeof queryRichContent;\n  type eventsV1RichContent_universal_d_RichContentQueryResult = RichContentQueryResult;\n  type eventsV1RichContent_universal_d_RichContentQueryBuilder = RichContentQueryBuilder;\n  const eventsV1RichContent_universal_d_countRichContentItems: typeof countRichContentItems;\n  type eventsV1RichContent_universal_d_CountRichContentItemsOptions = CountRichContentItemsOptions;\n  namespace eventsV1RichContent_universal_d {\n    export {\n      eventsV1RichContent_universal_d_RichContent as RichContent,\n      eventsV1RichContent_universal_d_V1RichContent as V1RichContent,\n      eventsV1RichContent_universal_d_Node as Node,\n      eventsV1RichContent_universal_d_NodeDataOneOf as NodeDataOneOf,\n      eventsV1RichContent_universal_d_NodeType as NodeType,\n      eventsV1RichContent_universal_d_NodeStyle as NodeStyle,\n      eventsV1RichContent_universal_d_ButtonData as ButtonData,\n      eventsV1RichContent_universal_d_Border as Border,\n      eventsV1RichContent_universal_d_Colors as Colors,\n      eventsV1RichContent_universal_d_PluginContainerData as PluginContainerData,\n      eventsV1RichContent_universal_d_WidthType as WidthType,\n      eventsV1RichContent_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      eventsV1RichContent_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      eventsV1RichContent_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      eventsV1RichContent_universal_d_Spoiler as Spoiler,\n      eventsV1RichContent_universal_d_Height as Height,\n      Type$3 as Type,\n      eventsV1RichContent_universal_d_Styles as Styles,\n      eventsV1RichContent_universal_d_Link as Link,\n      eventsV1RichContent_universal_d_LinkDataOneOf as LinkDataOneOf,\n      eventsV1RichContent_universal_d_Target as Target,\n      eventsV1RichContent_universal_d_Rel as Rel,\n      eventsV1RichContent_universal_d_CodeBlockData as CodeBlockData,\n      eventsV1RichContent_universal_d_TextStyle as TextStyle,\n      eventsV1RichContent_universal_d_TextAlignment as TextAlignment,\n      eventsV1RichContent_universal_d_DividerData as DividerData,\n      eventsV1RichContent_universal_d_LineStyle as LineStyle,\n      eventsV1RichContent_universal_d_Width as Width,\n      eventsV1RichContent_universal_d_Alignment as Alignment,\n      eventsV1RichContent_universal_d_FileData as FileData,\n      eventsV1RichContent_universal_d_ViewMode as ViewMode,\n      eventsV1RichContent_universal_d_FileSource as FileSource,\n      eventsV1RichContent_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      eventsV1RichContent_universal_d_PDFSettings as PDFSettings,\n      eventsV1RichContent_universal_d_GalleryData as GalleryData,\n      eventsV1RichContent_universal_d_Media as Media,\n      eventsV1RichContent_universal_d_Image as Image,\n      eventsV1RichContent_universal_d_Video as Video,\n      eventsV1RichContent_universal_d_Item as Item,\n      eventsV1RichContent_universal_d_ItemDataOneOf as ItemDataOneOf,\n      eventsV1RichContent_universal_d_GalleryOptions as GalleryOptions,\n      eventsV1RichContent_universal_d_LayoutType as LayoutType,\n      eventsV1RichContent_universal_d_Orientation as Orientation,\n      eventsV1RichContent_universal_d_Crop as Crop,\n      eventsV1RichContent_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      eventsV1RichContent_universal_d_Layout as Layout,\n      eventsV1RichContent_universal_d_ItemStyle as ItemStyle,\n      eventsV1RichContent_universal_d_Thumbnails as Thumbnails,\n      eventsV1RichContent_universal_d_GIFData as GIFData,\n      eventsV1RichContent_universal_d_GIF as GIF,\n      eventsV1RichContent_universal_d_HeadingData as HeadingData,\n      eventsV1RichContent_universal_d_HTMLData as HTMLData,\n      eventsV1RichContent_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      eventsV1RichContent_universal_d_Source as Source,\n      eventsV1RichContent_universal_d_ImageData as ImageData,\n      eventsV1RichContent_universal_d_LinkPreviewData as LinkPreviewData,\n      eventsV1RichContent_universal_d_MapData as MapData,\n      eventsV1RichContent_universal_d_MapSettings as MapSettings,\n      eventsV1RichContent_universal_d_MapType as MapType,\n      eventsV1RichContent_universal_d_ParagraphData as ParagraphData,\n      eventsV1RichContent_universal_d_PollData as PollData,\n      eventsV1RichContent_universal_d_ViewRole as ViewRole,\n      eventsV1RichContent_universal_d_VoteRole as VoteRole,\n      eventsV1RichContent_universal_d_Permissions as Permissions,\n      eventsV1RichContent_universal_d_Option as Option,\n      Settings$3 as Settings,\n      eventsV1RichContent_universal_d_PollLayoutType as PollLayoutType,\n      eventsV1RichContent_universal_d_PollLayoutDirection as PollLayoutDirection,\n      eventsV1RichContent_universal_d_PollLayout as PollLayout,\n      eventsV1RichContent_universal_d_OptionLayout as OptionLayout,\n      eventsV1RichContent_universal_d_BackgroundType as BackgroundType,\n      eventsV1RichContent_universal_d_Gradient as Gradient,\n      eventsV1RichContent_universal_d_Background as Background,\n      eventsV1RichContent_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      eventsV1RichContent_universal_d_PollDesign as PollDesign,\n      eventsV1RichContent_universal_d_OptionDesign as OptionDesign,\n      eventsV1RichContent_universal_d_Poll as Poll,\n      eventsV1RichContent_universal_d_PollDataLayout as PollDataLayout,\n      eventsV1RichContent_universal_d_Design as Design,\n      eventsV1RichContent_universal_d_TextData as TextData,\n      eventsV1RichContent_universal_d_Decoration as Decoration,\n      eventsV1RichContent_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      eventsV1RichContent_universal_d_DecorationType as DecorationType,\n      eventsV1RichContent_universal_d_AnchorData as AnchorData,\n      eventsV1RichContent_universal_d_ColorData as ColorData,\n      eventsV1RichContent_universal_d_LinkData as LinkData,\n      eventsV1RichContent_universal_d_MentionData as MentionData,\n      eventsV1RichContent_universal_d_FontSizeData as FontSizeData,\n      eventsV1RichContent_universal_d_FontType as FontType,\n      eventsV1RichContent_universal_d_SpoilerData as SpoilerData,\n      eventsV1RichContent_universal_d_AppEmbedData as AppEmbedData,\n      eventsV1RichContent_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      eventsV1RichContent_universal_d_AppType as AppType,\n      eventsV1RichContent_universal_d_BookingData as BookingData,\n      eventsV1RichContent_universal_d_EventData as EventData,\n      eventsV1RichContent_universal_d_VideoData as VideoData,\n      eventsV1RichContent_universal_d_PlaybackOptions as PlaybackOptions,\n      eventsV1RichContent_universal_d_EmbedData as EmbedData,\n      eventsV1RichContent_universal_d_Oembed as Oembed,\n      eventsV1RichContent_universal_d_CollapsibleListData as CollapsibleListData,\n      eventsV1RichContent_universal_d_InitialExpandedItems as InitialExpandedItems,\n      eventsV1RichContent_universal_d_Direction as Direction,\n      eventsV1RichContent_universal_d_TableData as TableData,\n      eventsV1RichContent_universal_d_Dimensions as Dimensions,\n      eventsV1RichContent_universal_d_TableCellData as TableCellData,\n      eventsV1RichContent_universal_d_VerticalAlignment as VerticalAlignment,\n      eventsV1RichContent_universal_d_CellStyle as CellStyle,\n      eventsV1RichContent_universal_d_BorderColors as BorderColors,\n      eventsV1RichContent_universal_d_NullValue as NullValue,\n      eventsV1RichContent_universal_d_ListValue as ListValue,\n      eventsV1RichContent_universal_d_AudioData as AudioData,\n      eventsV1RichContent_universal_d_OrderedListData as OrderedListData,\n      eventsV1RichContent_universal_d_BulletedListData as BulletedListData,\n      eventsV1RichContent_universal_d_BlockquoteData as BlockquoteData,\n      eventsV1RichContent_universal_d_CaptionData as CaptionData,\n      eventsV1RichContent_universal_d_Metadata as Metadata,\n      eventsV1RichContent_universal_d_DocumentStyle as DocumentStyle,\n      eventsV1RichContent_universal_d_TextNodeStyle as TextNodeStyle,\n      ExtendedFields$2 as ExtendedFields,\n      eventsV1RichContent_universal_d_CreateRichContentRequest as CreateRichContentRequest,\n      eventsV1RichContent_universal_d_CreateRichContentResponse as CreateRichContentResponse,\n      eventsV1RichContent_universal_d_GetRichContentRequest as GetRichContentRequest,\n      eventsV1RichContent_universal_d_GetRichContentResponse as GetRichContentResponse,\n      eventsV1RichContent_universal_d_FindRichContentBySlugRequest as FindRichContentBySlugRequest,\n      eventsV1RichContent_universal_d_FindRichContentBySlugResponse as FindRichContentBySlugResponse,\n      eventsV1RichContent_universal_d_UpdateRichContentRequest as UpdateRichContentRequest,\n      eventsV1RichContent_universal_d_UpdateRichContentResponse as UpdateRichContentResponse,\n      eventsV1RichContent_universal_d_DeleteRichContentRequest as DeleteRichContentRequest,\n      eventsV1RichContent_universal_d_DeleteRichContentResponse as DeleteRichContentResponse,\n      eventsV1RichContent_universal_d_QueryRichContentsRequest as QueryRichContentsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$5 as Sorting,\n      SortOrder$5 as SortOrder,\n      CursorPaging$5 as CursorPaging,\n      eventsV1RichContent_universal_d_QueryRichContentsResponse as QueryRichContentsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$5 as Cursors,\n      eventsV1RichContent_universal_d_QueryRichContentRequest as QueryRichContentRequest,\n      eventsV1RichContent_universal_d_QueryRichContentResponse as QueryRichContentResponse,\n      EventCopied$2 as EventCopied,\n      Location$4 as Location,\n      MapCoordinates$4 as MapCoordinates,\n      LocationType$4 as LocationType,\n      Address$6 as Address,\n      AddressStreetOneOf$6 as AddressStreetOneOf,\n      StreetAddress$6 as StreetAddress,\n      AddressLocation$6 as AddressLocation,\n      Subdivision$6 as Subdivision,\n      SubdivisionType$6 as SubdivisionType,\n      ScheduleConfig$4 as ScheduleConfig,\n      Recurrences$4 as Recurrences,\n      Occurrence$4 as Occurrence,\n      Status$4 as Status,\n      EventStatus$4 as EventStatus,\n      Empty$4 as Empty,\n      EventDeleted$3 as EventDeleted,\n      eventsV1RichContent_universal_d_GetOrCreateRichContentRequest as GetOrCreateRichContentRequest,\n      eventsV1RichContent_universal_d_GetOrCreateRichContentResponse as GetOrCreateRichContentResponse,\n      eventsV1RichContent_universal_d_CountRichContentItemsRequest as CountRichContentItemsRequest,\n      eventsV1RichContent_universal_d_CountRichContentItemsResponse as CountRichContentItemsResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      MessageEnvelope$7 as MessageEnvelope,\n      IdentificationData$7 as IdentificationData,\n      IdentificationDataIdOneOf$7 as IdentificationDataIdOneOf,\n      WebhookIdentityType$7 as WebhookIdentityType,\n      eventsV1RichContent_universal_d_createRichContent as createRichContent,\n      eventsV1RichContent_universal_d_getRichContent as getRichContent,\n      eventsV1RichContent_universal_d_findRichContentBySlug as findRichContentBySlug,\n      eventsV1RichContent_universal_d_FindRichContentBySlugIdentifiers as FindRichContentBySlugIdentifiers,\n      eventsV1RichContent_universal_d_updateRichContent as updateRichContent,\n      eventsV1RichContent_universal_d_UpdateRichContent as UpdateRichContent,\n      eventsV1RichContent_universal_d_UpdateRichContentOptions as UpdateRichContentOptions,\n      eventsV1RichContent_universal_d_deleteRichContent as deleteRichContent,\n      eventsV1RichContent_universal_d_queryRichContents as queryRichContents,\n      eventsV1RichContent_universal_d_QueryRichContentsOptions as QueryRichContentsOptions,\n      eventsV1RichContent_universal_d_queryRichContent as queryRichContent,\n      eventsV1RichContent_universal_d_RichContentQueryResult as RichContentQueryResult,\n      eventsV1RichContent_universal_d_RichContentQueryBuilder as RichContentQueryBuilder,\n      eventsV1RichContent_universal_d_countRichContentItems as countRichContentItems,\n      eventsV1RichContent_universal_d_CountRichContentItemsOptions as CountRichContentItemsOptions,\n    };\n  }\n  \n  interface Rsvp {\n      /** RSVP ID. */\n      _id?: string;\n      /** Event ID to which RSVP belongs. */\n      eventId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string;\n      /** RSVP created timestamp. */\n      created?: Date | null;\n      /** RSVP modified timestamp. */\n      modified?: Date | null;\n      /** First name. */\n      firstName?: string;\n      /** Last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$2;\n      /**\n       * RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1;\n      /** Total number of attendees. */\n      totalGuests?: number;\n      /** List of guests. */\n      guests?: Guest$1[];\n      /** Whether RSVP is anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /**\n       * Language in which Rsvp was created.\n       * @internal\n       * @readonly\n       */\n      language?: string | null;\n      /**\n       * Locale in which Rsvp was created.\n       * @internal\n       * @readonly\n       */\n      locale?: string | null;\n  }\n  interface FormResponse$2 {\n      /** Input form fields. */\n      inputValues?: InputValue$2[];\n  }\n  interface InputValue$2 {\n      /** Form field name. */\n      inputName?: string;\n      /** Form field value. */\n      value?: string;\n      /** Multiple form field values. */\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date | null;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress$2;\n  }\n  interface FormattedAddress$2 {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: Address$5;\n  }\n  /** Physical address */\n  interface Address$5 extends AddressStreetOneOf$5 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$5;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$5;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision$5[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$5 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$5;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$5 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$5 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$5 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$5;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails$2;\n  }\n  enum SubdivisionType$5 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails$2 {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  enum RsvpStatus$1 {\n      YES = \"YES\",\n      NO = \"NO\",\n      WAITING = \"WAITING\"\n  }\n  interface Guest$1 {\n      /** Index in the RSVP guest list. */\n      index?: number;\n      /** Guest full name. */\n      fullName?: string;\n      /** Guest check-in. */\n      checkIn?: CheckIn$1;\n      /** Unique guest ID per RSVP. */\n      _id?: number;\n  }\n  interface CheckIn$1 {\n      /** Time of check-in */\n      created?: Date | null;\n  }\n  interface ListRsvpRequest {\n      /** Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Number of items to load. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /**\n       * Set of fields to return. Possible values:\n       * - `DETAILS`: Returns `created`, `modified`, `firstName`, `lastName` fields.\n       * - `FORM`: Returns `rsvpForm` field.\n       * - `CONTACT_DETAILS`: Returns `email` field.\n       */\n      fieldset?: RsvpFieldset[];\n      /** Event ID to which RSVP belongs. */\n      eventId?: string[];\n      /** RSVP ID. */\n      rsvpId?: string[];\n      /**\n       * RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       * @deprecated\n       */\n      membersOnly?: boolean;\n      /**\n       * Facet counts to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      facet?: string[];\n      /** Textual search filter - search is performed on \"full_name\" and \"email\". */\n      searchPhrase?: string;\n      /** Event creator id filter, by default any. */\n      eventCreatorId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      sort?: string;\n      /** Contact ID. */\n      contactId?: string[];\n      /** RSVP tag */\n      tag?: RsvpTag[];\n  }\n  enum RsvpFieldset {\n      /** Include RSVP details including: `created`, `modified`, `firstName`, `lastName`, `status`, `totalGuests`, `guests`, and `annonymized`. */\n      DETAILS = \"DETAILS\",\n      /** Include RSVP form. */\n      FORM = \"FORM\",\n      /** Include RSVP email. */\n      CONTACT_DETAILS = \"CONTACT_DETAILS\"\n  }\n  enum RsvpTag {\n      /** Return only RSVPs of all guests that are fully checked-in. */\n      FULLY_CHECKED_IN = \"FULLY_CHECKED_IN\",\n      /** Return only RSVPs of all guests that aren't fully checked-in. */\n      NOT_FULLY_CHECKED_IN = \"NOT_FULLY_CHECKED_IN\",\n      /** Return only RSVPs of guests that are members. */\n      MEMBER = \"MEMBER\"\n  }\n  interface ListRsvpResponse {\n      /** Total RSVPs matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** RSVP list. */\n      rsvps?: Rsvp[];\n      /** Facet query result. */\n      facets?: Record<string, FacetCounts$4>;\n      /** Rsvp data enriched facets. */\n      rsvpFacets?: RsvpFacets;\n  }\n  interface FacetCounts$4 {\n      /** Facet counts aggregated per value. */\n      counts?: Record<string, number>;\n  }\n  interface RsvpFacets {\n      /** Filter facets. */\n      facets?: Record<string, RsvpFacetCounts>;\n  }\n  interface RsvpFacetCounts {\n      /** Facet totals, aggregated per filter. */\n      counts?: Record<string, Counts$1>;\n  }\n  interface Counts$1 {\n      /** Number of RSVPs. */\n      count?: number;\n      /** Number of guests within RSVPs. */\n      guests?: number;\n      /** Number of guests who have checked-in. */\n      guestsCheckIn?: number;\n  }\n  interface QueryRsvpRequest {\n      /** Offset. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Limit. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /**\n       * Set of fields to return. Possible values:\n       * - `DETAILS`: Returns `created`, `modified`, `firstName`, `lastName` fields.\n       * - `FORM`: Returns `rsvpForm` field.\n       * - `CONTACT_DETAILS`: Returns `email` field.\n       */\n      fieldset?: RsvpFieldset[];\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps). */\n      filter?: Record<string, any> | null;\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       * @deprecated\n       */\n      membersOnly?: boolean;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      facet?: string[];\n      /** Textual search filter - search is performed on \"guests.full_name\". */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      sort?: string;\n      /** Contact ID. */\n      contactId?: string[];\n      /** RSVP tag */\n      tag?: RsvpTag[];\n  }\n  interface QueryRsvpResponse {\n      /** Total RSVPs matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** RSVP list. */\n      rsvps?: Rsvp[];\n      /** Facet query result. */\n      facets?: Record<string, FacetCounts$4>;\n      /** Rsvp data enriched facets. */\n      rsvpFacets?: RsvpFacets;\n  }\n  interface GetRsvpRequest$1 {\n      /** Event ID to which RSVP belongs. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId: string;\n      /**\n       * Set of fields to return. Possible values:\n       * - `DETAILS`: Returns `created`, `modified`, `firstName`, `lastName` fields.\n       * - `FORM`: Returns `rsvpForm` field.\n       * - `CONTACT_DETAILS`: Returns `email` field.\n       */\n      fieldset?: RsvpFieldset[];\n  }\n  interface GetRsvpResponse$1 {\n      /** RSVP. */\n      rsvp?: Rsvp;\n  }\n  interface CreateRsvpRequest$1 {\n      /** Event ID to which RSVP belongs. */\n      eventId?: string;\n      /** RSVP form response. */\n      form?: FormResponse$2;\n      /**\n       * RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1;\n      /** Member ID of the RSVP. */\n      memberId?: string | null;\n      /**\n       * Add RSVP options.\n       * **Note:** WIX_EVENTS.MANAGE_RSVP permission is required.\n       */\n      options?: ModificationOptions$1;\n  }\n  interface ModificationOptions$1 {\n      /** Whether to ignore notification settings (when hen true, no notifications to contact or user are sent). */\n      silent?: boolean;\n      /** Whether to create/update regardless of event guest limit. */\n      ignoreLimits?: boolean;\n      /** Whether to ignore the form validation. */\n      ignoreFormValidation?: boolean;\n  }\n  interface CreateRsvpResponse$1 {\n      /** Created RSVP. */\n      rsvp?: Rsvp;\n      /** \"Add to calendar\" links. */\n      calendarLinks?: CalendarLinks$3;\n  }\n  interface CalendarLinks$3 {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  interface RsvpCreated {\n      /** RSVP created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when RSVP created */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /**\n       * Locale in which Rsvp was created.\n       * @internal\n       */\n      locale?: string | null;\n      /** Event ID to which RSVP belongs. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$2;\n      /**\n       * RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1;\n      /** List of all guests. */\n      guests?: Guest$1[];\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$2;\n  }\n  interface OnlineConferencingLogin$2 {\n      /**\n       * Link URL to the online conference.\n       * @readonly\n       */\n      link?: string;\n      /**\n       * Password for the online conference.\n       * @readonly\n       */\n      password?: string | null;\n  }\n  interface UpdateRsvpRequest$1 {\n      /** Event ID to which RSVP belongs. */\n      eventId: string;\n      /** RSVP ID. */\n      rsvpId: string;\n      /**\n       * Set of field paths, specifying which parts of RSVP to update.\n       * @internal\n       */\n      fields: string[];\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$2;\n      /**\n       * RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1;\n      /**\n       * Update RSVP options.\n       * WIX_EVENTS.MANAGE_RSVP permission is required.\n       */\n      options?: ModificationOptions$1;\n  }\n  interface UpdateRsvpResponse$1 {\n      /** Updated RSVP. */\n      rsvp?: Rsvp;\n  }\n  interface RsvpUpdated {\n      /** RSVP updated timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when RSVP created */\n      language?: string | null;\n      /** Locale in which Rsvp was created. */\n      locale?: string | null;\n      /** Event ID to which RSVP belongs. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** RSVP created timestamp. */\n      created?: Date | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$2;\n      /**\n       * RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1;\n      /** List of the guests. */\n      guests?: Guest$1[];\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$2;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n  }\n  interface BulkUpdateRsvpRequest$1 {\n      /** Event ID to which RSVP belongs. */\n      eventId: string;\n      /** RSVPs to update. */\n      rsvpId?: string[];\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * New RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1;\n  }\n  interface BulkUpdateRsvpResponse$1 {\n      /** Updated RSVPs. */\n      rsvps?: Rsvp[];\n  }\n  interface BulkUpdateRsvpContactIdRequest$1 {\n      /** RSVPs to update. */\n      rsvps?: BulkUpdateRsvpContactIdRequestRsvp[];\n      /** New RSVP contact ID. */\n      contactId?: string | null;\n  }\n  interface BulkUpdateRsvpContactIdRequestRsvp {\n      /** Event ID. */\n      eventId?: string | null;\n      /** Rsvp ID. */\n      rsvpId?: string | null;\n  }\n  interface BulkUpdateRsvpContactIdResponse$1 {\n  }\n  interface DeleteRsvpRequest$1 {\n      /** Event ID to which RSVP belongs. */\n      eventId: string;\n      /** RSVPs to delete. */\n      rsvps?: string[];\n  }\n  interface DeleteRsvpResponse$1 {\n  }\n  interface RsvpDeleted {\n      /** RSVP deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID to which RSVP belongs. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** Whether RSVP was anonymized by GDPR delete. */\n      anonymized?: boolean;\n  }\n  interface CheckInRsvpRequest {\n      /** Event ID to which RSVP belongs. */\n      eventId: string;\n      /** RSVP ID to check-in. */\n      rsvpId: string;\n      /** Guest IDs to check-in. */\n      guestId?: number[];\n  }\n  interface CheckInRsvpResponse {\n      /** Updated RSVP. */\n      rsvp?: Rsvp;\n  }\n  interface DeleteRsvpCheckInRequest {\n      /** Event ID to which RSVP belongs. */\n      eventId: string;\n      /** RSVP ID to delete check-in. */\n      rsvpId: string;\n      /** Guest IDs to delete check-in. */\n      guestId?: number[];\n  }\n  interface DeleteRsvpCheckInResponse {\n      /** Updated RSVP. */\n      rsvp?: Rsvp;\n  }\n  interface FindRsvpSummaryRequest {\n      /** Event id. */\n      eventId?: string | null;\n      /** Consistent read. */\n      consistentRead?: boolean | null;\n  }\n  interface FindRsvpSummaryResponse {\n      /** RSVP summary. */\n      rsvpSummary?: RsvpSummary$3;\n  }\n  interface RsvpSummary$3 {\n      /** Total number of RSVPs. */\n      total?: number;\n      /** Number of RSVPs with status `YES`. */\n      yes?: number;\n      /** Number of RSVPs with status `NO`. */\n      no?: number;\n      /** Number of RSVPs in waitlist. */\n      waitlist?: number;\n  }\n  interface CountRsvpAttendingGuestsRequest {\n      /** Event id. */\n      eventId?: string | null;\n      /** Consistent read. */\n      consistentRead?: boolean | null;\n  }\n  interface CountRsvpAttendingGuestsResponse {\n      /** RSVP attending guest count. */\n      count?: number | null;\n  }\n  interface MessageEnvelope$6 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$6;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$6 extends IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$6;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$6 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a list of up to 100 RSVPs.\n   * @public\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_RSVP\n   * @adminMethod\n   */\n  function listRsvp(options?: ListRsvpOptions): Promise<ListRsvpResponse>;\n  interface ListRsvpOptions {\n      /** Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Number of items to load. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /**\n       * Set of fields to return. Possible values:\n       * - `DETAILS`: Returns `created`, `modified`, `firstName`, `lastName` fields.\n       * - `FORM`: Returns `rsvpForm` field.\n       * - `CONTACT_DETAILS`: Returns `email` field.\n       */\n      fieldset?: RsvpFieldset[];\n      /** Event ID to which RSVP belongs. */\n      eventId?: string[];\n      /** RSVP ID. */\n      rsvpId?: string[];\n      /**\n       * RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       * @deprecated\n       */\n      membersOnly?: boolean;\n      /**\n       * Facet counts to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      facet?: string[];\n      /** Textual search filter - search is performed on \"full_name\" and \"email\". */\n      searchPhrase?: string;\n      /** Event creator id filter, by default any. */\n      eventCreatorId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      sort?: string;\n      /** Contact ID. */\n      contactId?: string[];\n      /** RSVP tag */\n      tag?: RsvpTag[];\n  }\n  /**\n   * Retrieves a list of up to 100 RSVPs.\n   * @public\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_RSVP\n   * @adminMethod\n   */\n  function queryRsvp(options?: QueryRsvpOptions): Promise<QueryRsvpResponse>;\n  interface QueryRsvpOptions {\n      /** Offset. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Limit. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /**\n       * Set of fields to return. Possible values:\n       * - `DETAILS`: Returns `created`, `modified`, `firstName`, `lastName` fields.\n       * - `FORM`: Returns `rsvpForm` field.\n       * - `CONTACT_DETAILS`: Returns `email` field.\n       */\n      fieldset?: RsvpFieldset[];\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps). */\n      filter?: Record<string, any> | null;\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       * @deprecated\n       */\n      membersOnly?: boolean;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      facet?: string[];\n      /** Textual search filter - search is performed on \"guests.full_name\". */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      sort?: string;\n      /** Contact ID. */\n      contactId?: string[];\n      /** RSVP tag */\n      tag?: RsvpTag[];\n  }\n  /**\n   * Retrieves an RSVP.\n   * @param rsvpId - RSVP ID.\n   * @public\n   * @requiredField rsvpId\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_RSVP\n   * @adminMethod\n   * @returns RSVP.\n   */\n  function getRsvp$1(rsvpId: string, options?: GetRsvpOptions$1): Promise<Rsvp>;\n  interface GetRsvpOptions$1 {\n      /** Event ID to which RSVP belongs. */\n      eventId?: string;\n      /**\n       * Set of fields to return. Possible values:\n       * - `DETAILS`: Returns `created`, `modified`, `firstName`, `lastName` fields.\n       * - `FORM`: Returns `rsvpForm` field.\n       * - `CONTACT_DETAILS`: Returns `email` field.\n       */\n      fieldset?: RsvpFieldset[];\n  }\n  /**\n   * Creates an RSVP, associated with a contact of the site.\n   * @public\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.CREATE_RSVP\n   */\n  function createRsvp$1(options?: CreateRsvpOptions$1): Promise<CreateRsvpResponse$1>;\n  interface CreateRsvpOptions$1 {\n      /** Event ID to which RSVP belongs. */\n      eventId?: string;\n      /** RSVP form response. */\n      form?: FormResponse$2;\n      /**\n       * RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1;\n      /** Member ID of the RSVP. */\n      memberId?: string | null;\n      /**\n       * Add RSVP options.\n       * **Note:** WIX_EVENTS.MANAGE_RSVP permission is required.\n       */\n      options?: ModificationOptions$1;\n  }\n  /**\n   * Updates an RSVP.\n   * @param rsvpId - RSVP ID.\n   * @public\n   * @requiredField eventId\n   * @requiredField rsvpId\n   * @param eventId - Event ID to which RSVP belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_RSVP\n   * @adminMethod\n   */\n  function updateRsvp$1(rsvpId: string, eventId: string, options?: UpdateRsvpOptions$1): Promise<UpdateRsvpResponse$1>;\n  interface UpdateRsvpOptions$1 {\n      /**\n       * Set of field paths, specifying which parts of RSVP to update.\n       * @internal\n       */\n      fields: string[];\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$2;\n      /**\n       * RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1;\n      /**\n       * Update RSVP options.\n       * WIX_EVENTS.MANAGE_RSVP permission is required.\n       */\n      options?: ModificationOptions$1;\n  }\n  /**\n   * Updates statuses of multiple RSVPs.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which RSVP belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_RSVP\n   * @adminMethod\n   */\n  function bulkUpdateRsvp$1(eventId: string, options?: BulkUpdateRsvpOptions$1): Promise<BulkUpdateRsvpResponse$1>;\n  interface BulkUpdateRsvpOptions$1 {\n      /** RSVPs to update. */\n      rsvpId?: string[];\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * New RSVP response status. Possible values:\n       * - `Yes`\n       * - `No`\n       * - `Waiting`: a guest is in the waitlist.\n       */\n      status?: RsvpStatus$1;\n  }\n  /**\n   * Deletes an RSVP.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which RSVP belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_RSVP\n   * @adminMethod\n   */\n  function deleteRsvp$1(eventId: string, options?: DeleteRsvpOptions): Promise<void>;\n  interface DeleteRsvpOptions {\n      /** RSVPs to delete. When not defined, all RSVPs associated with this event are deleted. */\n      rsvps?: string[];\n  }\n  /**\n   * Checks-in an RSVP.\n   * @public\n   * @requiredField eventId\n   * @requiredField options.rsvpId\n   * @param eventId - Event ID to which RSVP belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.CHECK_IN\n   * @adminMethod\n   */\n  function checkInRsvp(eventId: string, options?: CheckInRsvpOptions): Promise<CheckInRsvpResponse>;\n  interface CheckInRsvpOptions {\n      /** RSVP ID to check-in. */\n      rsvpId: string;\n      /** Guest IDs to check-in. */\n      guestId?: number[];\n  }\n  /**\n   * Deletes an RSVP check-in.\n   * @public\n   * @requiredField eventId\n   * @requiredField options.rsvpId\n   * @param eventId - Event ID to which RSVP belongs.\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.CHECK_IN\n   * @adminMethod\n   */\n  function deleteRsvpCheckIn(eventId: string, options?: DeleteRsvpCheckInOptions): Promise<DeleteRsvpCheckInResponse>;\n  interface DeleteRsvpCheckInOptions {\n      /** RSVP ID to delete check-in. */\n      rsvpId: string;\n      /** Guest IDs to delete check-in. */\n      guestId?: number[];\n  }\n  \n  type eventsV1Rsvp_universal_d_Rsvp = Rsvp;\n  type eventsV1Rsvp_universal_d_ListRsvpRequest = ListRsvpRequest;\n  type eventsV1Rsvp_universal_d_RsvpFieldset = RsvpFieldset;\n  const eventsV1Rsvp_universal_d_RsvpFieldset: typeof RsvpFieldset;\n  type eventsV1Rsvp_universal_d_RsvpTag = RsvpTag;\n  const eventsV1Rsvp_universal_d_RsvpTag: typeof RsvpTag;\n  type eventsV1Rsvp_universal_d_ListRsvpResponse = ListRsvpResponse;\n  type eventsV1Rsvp_universal_d_RsvpFacets = RsvpFacets;\n  type eventsV1Rsvp_universal_d_RsvpFacetCounts = RsvpFacetCounts;\n  type eventsV1Rsvp_universal_d_QueryRsvpRequest = QueryRsvpRequest;\n  type eventsV1Rsvp_universal_d_QueryRsvpResponse = QueryRsvpResponse;\n  type eventsV1Rsvp_universal_d_RsvpCreated = RsvpCreated;\n  type eventsV1Rsvp_universal_d_RsvpUpdated = RsvpUpdated;\n  type eventsV1Rsvp_universal_d_BulkUpdateRsvpContactIdRequestRsvp = BulkUpdateRsvpContactIdRequestRsvp;\n  type eventsV1Rsvp_universal_d_RsvpDeleted = RsvpDeleted;\n  type eventsV1Rsvp_universal_d_CheckInRsvpRequest = CheckInRsvpRequest;\n  type eventsV1Rsvp_universal_d_CheckInRsvpResponse = CheckInRsvpResponse;\n  type eventsV1Rsvp_universal_d_DeleteRsvpCheckInRequest = DeleteRsvpCheckInRequest;\n  type eventsV1Rsvp_universal_d_DeleteRsvpCheckInResponse = DeleteRsvpCheckInResponse;\n  type eventsV1Rsvp_universal_d_FindRsvpSummaryRequest = FindRsvpSummaryRequest;\n  type eventsV1Rsvp_universal_d_FindRsvpSummaryResponse = FindRsvpSummaryResponse;\n  type eventsV1Rsvp_universal_d_CountRsvpAttendingGuestsRequest = CountRsvpAttendingGuestsRequest;\n  type eventsV1Rsvp_universal_d_CountRsvpAttendingGuestsResponse = CountRsvpAttendingGuestsResponse;\n  const eventsV1Rsvp_universal_d_listRsvp: typeof listRsvp;\n  type eventsV1Rsvp_universal_d_ListRsvpOptions = ListRsvpOptions;\n  const eventsV1Rsvp_universal_d_queryRsvp: typeof queryRsvp;\n  type eventsV1Rsvp_universal_d_QueryRsvpOptions = QueryRsvpOptions;\n  type eventsV1Rsvp_universal_d_DeleteRsvpOptions = DeleteRsvpOptions;\n  const eventsV1Rsvp_universal_d_checkInRsvp: typeof checkInRsvp;\n  type eventsV1Rsvp_universal_d_CheckInRsvpOptions = CheckInRsvpOptions;\n  const eventsV1Rsvp_universal_d_deleteRsvpCheckIn: typeof deleteRsvpCheckIn;\n  type eventsV1Rsvp_universal_d_DeleteRsvpCheckInOptions = DeleteRsvpCheckInOptions;\n  namespace eventsV1Rsvp_universal_d {\n    export {\n      eventsV1Rsvp_universal_d_Rsvp as Rsvp,\n      FormResponse$2 as FormResponse,\n      InputValue$2 as InputValue,\n      FormattedAddress$2 as FormattedAddress,\n      Address$5 as Address,\n      AddressStreetOneOf$5 as AddressStreetOneOf,\n      StreetAddress$5 as StreetAddress,\n      AddressLocation$5 as AddressLocation,\n      Subdivision$5 as Subdivision,\n      SubdivisionType$5 as SubdivisionType,\n      StandardDetails$2 as StandardDetails,\n      RsvpStatus$1 as RsvpStatus,\n      Guest$1 as Guest,\n      CheckIn$1 as CheckIn,\n      eventsV1Rsvp_universal_d_ListRsvpRequest as ListRsvpRequest,\n      eventsV1Rsvp_universal_d_RsvpFieldset as RsvpFieldset,\n      eventsV1Rsvp_universal_d_RsvpTag as RsvpTag,\n      eventsV1Rsvp_universal_d_ListRsvpResponse as ListRsvpResponse,\n      FacetCounts$4 as FacetCounts,\n      eventsV1Rsvp_universal_d_RsvpFacets as RsvpFacets,\n      eventsV1Rsvp_universal_d_RsvpFacetCounts as RsvpFacetCounts,\n      Counts$1 as Counts,\n      eventsV1Rsvp_universal_d_QueryRsvpRequest as QueryRsvpRequest,\n      eventsV1Rsvp_universal_d_QueryRsvpResponse as QueryRsvpResponse,\n      GetRsvpRequest$1 as GetRsvpRequest,\n      GetRsvpResponse$1 as GetRsvpResponse,\n      CreateRsvpRequest$1 as CreateRsvpRequest,\n      ModificationOptions$1 as ModificationOptions,\n      CreateRsvpResponse$1 as CreateRsvpResponse,\n      CalendarLinks$3 as CalendarLinks,\n      eventsV1Rsvp_universal_d_RsvpCreated as RsvpCreated,\n      OnlineConferencingLogin$2 as OnlineConferencingLogin,\n      UpdateRsvpRequest$1 as UpdateRsvpRequest,\n      UpdateRsvpResponse$1 as UpdateRsvpResponse,\n      eventsV1Rsvp_universal_d_RsvpUpdated as RsvpUpdated,\n      BulkUpdateRsvpRequest$1 as BulkUpdateRsvpRequest,\n      BulkUpdateRsvpResponse$1 as BulkUpdateRsvpResponse,\n      BulkUpdateRsvpContactIdRequest$1 as BulkUpdateRsvpContactIdRequest,\n      eventsV1Rsvp_universal_d_BulkUpdateRsvpContactIdRequestRsvp as BulkUpdateRsvpContactIdRequestRsvp,\n      BulkUpdateRsvpContactIdResponse$1 as BulkUpdateRsvpContactIdResponse,\n      DeleteRsvpRequest$1 as DeleteRsvpRequest,\n      DeleteRsvpResponse$1 as DeleteRsvpResponse,\n      eventsV1Rsvp_universal_d_RsvpDeleted as RsvpDeleted,\n      eventsV1Rsvp_universal_d_CheckInRsvpRequest as CheckInRsvpRequest,\n      eventsV1Rsvp_universal_d_CheckInRsvpResponse as CheckInRsvpResponse,\n      eventsV1Rsvp_universal_d_DeleteRsvpCheckInRequest as DeleteRsvpCheckInRequest,\n      eventsV1Rsvp_universal_d_DeleteRsvpCheckInResponse as DeleteRsvpCheckInResponse,\n      eventsV1Rsvp_universal_d_FindRsvpSummaryRequest as FindRsvpSummaryRequest,\n      eventsV1Rsvp_universal_d_FindRsvpSummaryResponse as FindRsvpSummaryResponse,\n      RsvpSummary$3 as RsvpSummary,\n      eventsV1Rsvp_universal_d_CountRsvpAttendingGuestsRequest as CountRsvpAttendingGuestsRequest,\n      eventsV1Rsvp_universal_d_CountRsvpAttendingGuestsResponse as CountRsvpAttendingGuestsResponse,\n      MessageEnvelope$6 as MessageEnvelope,\n      IdentificationData$6 as IdentificationData,\n      IdentificationDataIdOneOf$6 as IdentificationDataIdOneOf,\n      WebhookIdentityType$6 as WebhookIdentityType,\n      eventsV1Rsvp_universal_d_listRsvp as listRsvp,\n      eventsV1Rsvp_universal_d_ListRsvpOptions as ListRsvpOptions,\n      eventsV1Rsvp_universal_d_queryRsvp as queryRsvp,\n      eventsV1Rsvp_universal_d_QueryRsvpOptions as QueryRsvpOptions,\n      getRsvp$1 as getRsvp,\n      GetRsvpOptions$1 as GetRsvpOptions,\n      createRsvp$1 as createRsvp,\n      CreateRsvpOptions$1 as CreateRsvpOptions,\n      updateRsvp$1 as updateRsvp,\n      UpdateRsvpOptions$1 as UpdateRsvpOptions,\n      bulkUpdateRsvp$1 as bulkUpdateRsvp,\n      BulkUpdateRsvpOptions$1 as BulkUpdateRsvpOptions,\n      deleteRsvp$1 as deleteRsvp,\n      eventsV1Rsvp_universal_d_DeleteRsvpOptions as DeleteRsvpOptions,\n      eventsV1Rsvp_universal_d_checkInRsvp as checkInRsvp,\n      eventsV1Rsvp_universal_d_CheckInRsvpOptions as CheckInRsvpOptions,\n      eventsV1Rsvp_universal_d_deleteRsvpCheckIn as deleteRsvpCheckIn,\n      eventsV1Rsvp_universal_d_DeleteRsvpCheckInOptions as DeleteRsvpCheckInOptions,\n    };\n  }\n  \n  interface TicketingTicket {\n      /** A unique ticket number which is assigned automatically when creating a ticket. */\n      ticketNumber?: string;\n      /** Associated order number. */\n      orderNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket price. */\n      price?: Money$4;\n      /**\n       * Whether ticket requires payment.\n       * @readonly\n       */\n      free?: boolean;\n      /** Ticket and event policies. */\n      policy?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      qrCode?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn;\n      /**\n       * Associated order status. Possible values:\n       * - `FREE`: The order is confirmed, no payment is required.\n       * - `PENDING`: The order was paid, but the payment gateway suspended the payment.\n       * - `PAID`: The order is paid.\n       * - `OFFLINE_PENDING`: The order is confirmed but has to be paid in cash and the status is manually updated to `PAID`.\n       * - `INITIATED`: The order is awaiting for payment.\n       * - `CANCELED`: The order is canceled.\n       * - `DECLINED`: The order is declined.\n       */\n      orderStatus?: OrderStatus;\n      /** Whether order and ticket are visible in order list. */\n      orderArchived?: boolean;\n      /** Buyer full name. */\n      orderFullName?: string;\n      /** Guest full name. */\n      guestFullName?: string | null;\n      /** Guest personal details. */\n      guestDetails?: GuestDetails;\n      /** Whether the ticket is visible in an order. */\n      archived?: boolean;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      ticketPdf?: string;\n      /** Ticket owner member ID. */\n      memberId?: string | null;\n      /**\n       * Whether ticket was anonymized by GDPR delete.\n       * Anonymized tickets no longer contain personally identifiable information (PII).\n       */\n      anonymized?: boolean;\n      /**\n       * Ticket check-in URL.\n       * Shown as QR code image in PDF.\n       *\n       * Format: `https://www.wixevents.com/check-in/{ticket number},{event id}`\n       *\n       * Example: `https://www.wixevents.com/check-in/AAAA-AAAA-BB021,00000000-0000-0000-0000-000000000000`\n       */\n      checkInUrl?: string;\n      /** URL for ticket PDF download. */\n      ticketPdfUrl?: string;\n      /** Associated order checkout channel type. */\n      channel?: ChannelType;\n      /**\n       * An URL to download a ticket in the `.pkpass` format for Apple Wallet.\n       * @readonly\n       */\n      walletPassUrl?: string;\n      /**\n       * Additional ticket details.\n       * @internal\n       * @readonly\n       */\n      ticketDetails?: TicketDetails;\n  }\n  interface Money$4 {\n      /**\n       * *Deprecated:** Use `value` instead.\n       * @deprecated\n       */\n      amount?: string;\n      /** Currency in the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) format. For example, `USD`. */\n      currency?: string;\n      /** 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. */\n      value?: string | null;\n  }\n  interface CheckIn {\n      /** Time of a ticket check-in. */\n      created?: Date | null;\n  }\n  enum OrderStatus {\n      /** Order status not available for this request fieldset. */\n      NA_ORDER_STATUS = \"NA_ORDER_STATUS\",\n      /** Order is confirmed and payment isn't required. */\n      FREE = \"FREE\",\n      /** Order is paid for but the payment gateway has suspended the payment. */\n      PENDING = \"PENDING\",\n      /** Order is paid via a payment gateway. */\n      PAID = \"PAID\",\n      /** Order is confirmed but must be paid via offline payment. Status needs to be manually updated to `PAID`. */\n      OFFLINE_PENDING = \"OFFLINE_PENDING\",\n      /** Order is awaiting payment at the cashier. */\n      INITIATED = \"INITIATED\",\n      /** Order is canceled. */\n      CANCELED = \"CANCELED\",\n      /** Order payment is declined. */\n      DECLINED = \"DECLINED\",\n      /** Order payment is authorized. */\n      AUTHORIZED = \"AUTHORIZED\",\n      /** Order payment is voided. */\n      VOIDED = \"VOIDED\",\n      /** Order is partially paid with less than the total amount. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\"\n  }\n  interface GuestDetails {\n      /** Whether ticket belongs to assigned guest. */\n      guestAssigned?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Full form response. */\n      form?: FormResponse$1;\n      /** Contact ID associated with this guest. */\n      contactId?: string | null;\n      /** Guest phone number. */\n      phone?: string | null;\n  }\n  interface FormResponse$1 {\n      /** Form field inputs. */\n      inputValues?: InputValue$1[];\n  }\n  interface InputValue$1 {\n      /** Form field input name. */\n      inputName?: string;\n      /** Form field value. */\n      value?: string;\n      /** Form field values. */\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date | null;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress$1;\n  }\n  interface FormattedAddress$1 {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: Address$4;\n  }\n  /** Physical address */\n  interface Address$4 extends AddressStreetOneOf$4 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$4;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$4;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision$4[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$4 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$4;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$4 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$4 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$4 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$4;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails$1;\n  }\n  enum SubdivisionType$4 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails$1 {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  enum ChannelType {\n      /** Buyer created the order via an online channel such as a website or mobile app. */\n      ONLINE = \"ONLINE\",\n      /** Sales person created the order and collected the money. */\n      OFFLINE_POS = \"OFFLINE_POS\"\n  }\n  interface TicketDetails {\n      /** Unique seat id in the event venue. */\n      seatId?: string | null;\n      /**\n       * Optional sector name.\n       * @internal\n       * @readonly\n       */\n      sectorName?: string | null;\n      /**\n       * Area name.\n       * @internal\n       * @readonly\n       */\n      areaName?: string | null;\n      /**\n       * Table name.\n       * @internal\n       * @readonly\n       */\n      tableName?: string | null;\n      /**\n       * Row label.\n       * @internal\n       * @readonly\n       */\n      rowNumber?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @internal\n       * @readonly\n       */\n      seatNumber?: string | null;\n      /**\n       * Optional sector label.\n       * @readonly\n       */\n      sectionLabel?: string | null;\n      /**\n       * Area label.\n       * @readonly\n       */\n      areaLabel?: string | null;\n      /**\n       * Table label.\n       * @readonly\n       */\n      tableLabel?: string | null;\n      /**\n       * Row label.\n       * @readonly\n       */\n      rowLabel?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @readonly\n       */\n      seatLabel?: string | null;\n      /** Number of places in the spot. If not provided - defaults to 1. */\n      capacity?: number | null;\n      /** Custom pricing of ticket. */\n      priceOverride?: string | null;\n      /** Pricing option id. */\n      pricingOptionId?: string | null;\n      /**\n       * Pricing option name.\n       * @readonly\n       */\n      pricingOptionName?: string | null;\n  }\n  interface ListTicketsRequest {\n      /** Event IDs. */\n      eventId: string[];\n      /** Offset. See [Pagination](/wix-events-v2/pagination). */\n      offset?: number;\n      /** Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /**\n       * Deprecated, use `sort` instead.\n       * Sort order. Defaults to \"ticket_number:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-tickets).\n       * @internal\n       * @deprecated\n       */\n      order?: string;\n      /** Order numbers. */\n      orderNumber?: string[];\n      /** Ticket numbers. */\n      ticketNumber?: string[];\n      /** Searches in the `orderFullName`, `guestFullName`, and `ticketNumber` fields. */\n      searchPhrase?: string;\n      /** Order statuses. */\n      orderStatus?: OrderStatus[];\n      /**\n       * Deprecated, use `ORDER_ARCHIVED` / `ORDER_ACTIVE` state filter instead.\n       * @internal\n       * @deprecated\n       */\n      orderArchived?: boolean | null;\n      /**\n       * Deprecated, use `CHECKED_IN` / `NON_CHECKED_IN` state filter instead.\n       * @internal\n       * @deprecated\n       */\n      checkedIn?: boolean | null;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKET_DETAILS`: Returns `ticketNumber`, `orderNumber`, `ticketDefinitionId`, `name`, `price`, `free`, `policy`, `qrCode`, `checkIn`, `orderStatus`, `orderArchived`, `archived`, `orderFullName`, `ticketPdf`, `checkInUrl` and `ticketPdfUrl`.\n       * - `GUEST_DETAILS`: Returns `guestDetails`.\n       * - `GUEST_FORM`: Returns `guestDetails.form`.\n       *\n       * Default: If a fieldset is not included in the request, returns only the `memberId` and `anonymized` fields.\n       */\n      fieldset?: TicketFieldset[];\n      /**\n       * Ticket states. Possible values:\n       * - `ORDER_ARCHIVED`: Returns tickets of the archived orders.\n       * - `ORDER_ACTIVE`: Returns tickets of the non-archived orders.\n       * - `TICKET_ARCHIVED`: Returns archived tickets.\n       * - `TICKET_ACTIVE`: Returns non-archived tickets.\n       * - `CHECKED_IN`: Returns checked-in tickets.\n       * - `NON_CHECKED_IN`: Returns tickets that are not checked in.\n       * - `FREE`: Returns free tickets.\n       * - `PAID`: Return paid tickets.\n       * - `MEMBER`: Return members' tickets.\n       */\n      state?: State$4[];\n      /** Site member IDs. */\n      memberId?: string[];\n      /** Filter facets. */\n      facet?: string[];\n      /** Sort order. Defaults to \"ticket_number:asc\". */\n      sort?: string;\n      /** Guest contact IDs. */\n      contactId?: string[];\n      /** Ticket definition IDs. */\n      ticketDefinitionId?: string[];\n  }\n  enum TicketFieldset {\n      /** Include guest details in the ticket response. */\n      GUEST_DETAILS = \"GUEST_DETAILS\",\n      /** Include ticket details in the ticket response. */\n      TICKET_DETAILS = \"TICKET_DETAILS\",\n      /** Include individual guest form in the ticket response. */\n      GUEST_FORM = \"GUEST_FORM\"\n  }\n  enum State$4 {\n      /** Returns only archived orders' tickets. */\n      ORDER_ARCHIVED = \"ORDER_ARCHIVED\",\n      /** Returns only non-archived orders' tickets. */\n      ORDER_ACTIVE = \"ORDER_ACTIVE\",\n      /** Returns only archived tickets. */\n      TICKET_ARCHIVED = \"TICKET_ARCHIVED\",\n      /** Returns only non-archived tickets. */\n      TICKET_ACTIVE = \"TICKET_ACTIVE\",\n      /** Returns only checked-in tickets. */\n      CHECKED_IN = \"CHECKED_IN\",\n      /** Returns only non-checked-in tickets. */\n      NON_CHECKED_IN = \"NON_CHECKED_IN\",\n      /** Returns only free tickets. */\n      FREE = \"FREE\",\n      /** Returns only paid tickets. */\n      PAID = \"PAID\",\n      /** Returns only member tickets. */\n      MEMBER = \"MEMBER\"\n  }\n  interface ListTicketsResponse {\n      /** Total tickets matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Tickets. */\n      tickets?: TicketingTicket[];\n      /** Facets. */\n      facets?: Record<string, FacetCounts$3>;\n      /**\n       * Ticket data enriched facets.\n       * @internal\n       */\n      ticketFacets?: TicketFacets;\n  }\n  interface FacetCounts$3 {\n      /** Facet counts aggregated per value. */\n      counts?: Record<string, number>;\n  }\n  interface TicketFacets {\n      /** Filter facets. */\n      facets?: Record<string, TicketFacetCounts>;\n  }\n  interface TicketFacetCounts {\n      /** Facet totals, aggregated per filter. */\n      counts?: Record<string, Counts>;\n  }\n  interface Counts {\n      /** Number of tickets. */\n      count?: number;\n      /** Number of checked in tickets. */\n      checkedIn?: number;\n  }\n  interface GetTicketRequest {\n      /** Event ID to which the ticket belongs. */\n      eventId: string;\n      /** A unique ticket number which is assigned automatically when creating a ticket. */\n      ticketNumber: string;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKET_DETAILS`: Returns `ticketNumber`, `orderNumber`, `ticketDefinitionId`, `name`, `price`, `free`, `policy`, `qrCode`, `checkIn`, `orderStatus`, `orderArchived`, `archived`, `orderFullName`, `ticketPdf`, `checkInUrl` and `ticketPdfUrl`.\n       * - `GUEST_DETAILS`: Returns `guestDetails`.\n       * - `GUEST_FORM`: Returns `guestDetails.form`.\n       *\n       * Default: If a fieldset is not included in the request, returns only the `memberId` and `anonymized` fields.\n       */\n      fieldset?: TicketFieldset[];\n  }\n  interface GetTicketResponse {\n      /** Ticket. */\n      ticket?: TicketingTicket;\n  }\n  interface CheckInTicketRequest {\n      /** Event ID to which the ticket belongs. */\n      eventId: string;\n      /**\n       * Deprecated, use individual ticket numbers.\n       * @internal\n       * @deprecated\n       */\n      orderNumber?: string;\n      /** Tickets to check-in. */\n      ticketNumber?: string[];\n  }\n  interface CheckInTicketResponse {\n      /** Updated tickets. */\n      tickets?: TicketingTicket[];\n  }\n  interface OrderUpdated {\n      /** Order updated timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID to which the ticket belongs. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date | null;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$1;\n      /** Whether order is confirmed - occurs once payment gateway processes the payment and funds reach merchant's account. */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets generated after payment. */\n      tickets?: Ticket[];\n      /** Whether order was archived and excluded from results. */\n      archived?: boolean;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n  }\n  interface Ticket {\n      /** Unique issued ticket number. */\n      ticketNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn;\n      /** Ticket price. */\n      price?: Money$4;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Contact ID associated with this ticket. */\n      contactId?: string | null;\n      /** Whether ticket is confirmed */\n      confirmed?: boolean;\n      /** Member ID associated with this ticket. */\n      memberId?: string | null;\n      /** Ticket form response (only assigned tickets contain separate forms). */\n      form?: FormResponse$1;\n      /** Ticket name. */\n      ticketName?: string;\n      /** Anonymized tickets no longer contain personally identifiable information (PII). */\n      anonymized?: boolean;\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$1;\n  }\n  interface OnlineConferencingLogin$1 {\n      /**\n       * Link URL to the online conference.\n       * @readonly\n       */\n      link?: string;\n      /**\n       * Password for the online conference.\n       * @readonly\n       */\n      password?: string | null;\n  }\n  interface DeleteTicketCheckInRequest {\n      /** Event ID to which the ticket belongs. */\n      eventId: string;\n      /**\n       * Deprecated, use individual ticket numbers.\n       * @internal\n       * @deprecated\n       */\n      orderNumber?: string;\n      /** Ticket numbers which check-ins to delete. */\n      ticketNumber?: string[];\n  }\n  interface DeleteTicketCheckInResponse {\n      /** Updated tickets. */\n      tickets?: TicketingTicket[];\n  }\n  interface UpdateTicketRequest {\n      /** Event ID to which the ticket belongs. */\n      eventId: string;\n      /** A unique ticket number which is assigned automatically when creating a ticket. */\n      ticketNumber: string;\n      /**\n       * Set of field paths, specifying which parts of this resource to update.\n       * When `fields` is empty, the request is interpreted as a full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Deprecated. Use `guestDetails.form`\n       * @internal\n       * @deprecated\n       */\n      checkoutForm?: FormResponse$1;\n      /** Whether to archive the tickets. */\n      archived?: boolean;\n      /** Assigned guest details. */\n      guestDetails?: GuestDetailsUpdate;\n  }\n  interface GuestDetailsUpdate {\n      /** Form of a guest assigned to a ticket. */\n      form?: FormResponse$1;\n  }\n  interface UpdateTicketResponse {\n      /** Updated ticket. */\n      ticket?: TicketingTicket;\n  }\n  interface BulkUpdateTicketsRequest {\n      /** Event ID to which the ticket belongs. */\n      eventId: string;\n      /** A unique ticket number which is assigned automatically when creating a ticket. */\n      ticketNumber?: string[];\n      /** Whether tickets are archived. */\n      archived?: boolean;\n  }\n  interface BulkUpdateTicketsResponse {\n      /** Updated tickets. */\n      tickets?: TicketingTicket[];\n  }\n  interface GetDemoTicketRequest {\n      /** Ticket definition ID. */\n      definitionId?: string;\n  }\n  interface GetDemoTicketResponse {\n      /** Ticket. */\n      ticket?: TicketingTicket;\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$5;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a list of up to 100 tickets.\n   *\n   * <!--\n   * >**Note:** This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param eventId - Event IDs.\n   * @public\n   * @requiredField eventId\n   * @param options - Options for defining the returned list of tickets.\n   * @permissionId WIX_EVENTS.READ_TICKETS\n   * @adminMethod\n   */\n  function listTickets(eventId: string[], options?: ListTicketsOptions): Promise<ListTicketsResponse>;\n  interface ListTicketsOptions {\n      /**\n       *\n       * Offset. See [Pagination](/wix-events-v2/pagination).\n       */\n      offset?: number;\n      /** Number of items to load per page. See [Pagination](/wix-events-v2/pagination).   */\n      limit?: number;\n      /**\n       * Deprecated, use `sort` instead.\n       * Sort order. Defaults to \"ticket_number:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-tickets).\n       * @internal\n       * @deprecated\n       */\n      order?: string;\n      /** Order numbers. */\n      orderNumber?: string[];\n      /** Ticket numbers. */\n      ticketNumber?: string[];\n      /** Textual search filter - search is performed on `\"orderFullName\"`, `\"guestFullName\"`, and `\"ticketNumber\"`. */\n      searchPhrase?: string;\n      /** Order statuses. */\n      orderStatus?: OrderStatus[];\n      /**\n       * Deprecated, use `ORDER_ARCHIVED` / `ORDER_ACTIVE` state filter instead.\n       * @internal\n       * @deprecated\n       */\n      orderArchived?: boolean | null;\n      /**\n       * Deprecated, use `CHECKED_IN` / `NON_CHECKED_IN` state filter instead.\n       * @internal\n       * @deprecated\n       */\n      checkedIn?: boolean | null;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKET_DETAILS`: Returns `ticketNumber`, `orderNumber`, `ticketDefinitionId`, `name`, `price`, `free`, `policy`, `qrCode`, `checkIn`, `orderStatus`, `orderArchived`, `archived`, `orderFullName`, `ticketPdf`, `checkInUrl` and `ticketPdfUrl`.\n       * - `GUEST_DETAILS`: Returns `guestDetails`.\n       * - `GUEST_FORM`: Returns `guestDetails.form`.\n       *\n       * Default: If a fieldset is not included in the request, returns only the `memberId` and `anonymized` fields.\n       */\n      fieldset?: TicketFieldset[];\n      /**\n       * Ticket states. Possible values:\n       * - `ORDER_ARCHIVED`: Returns tickets of the archived orders.\n       * - `ORDER_ACTIVE`: Returns tickets of the non-archived orders.\n       * - `TICKET_ARCHIVED`: Returns archived tickets.\n       * - `TICKET_ACTIVE`: Returns non-archived tickets.\n       * - `CHECKED_IN`: Returns checked-in tickets.\n       * - `NON_CHECKED_IN`: Returns tickets that are not checked in.\n       * - `FREE`: Returns free tickets.\n       * - `PAID`: Return paid tickets.\n       * - `MEMBER`: Return members' tickets.\n       */\n      state?: State$4[];\n      /** Site member IDs. */\n      memberId?: string[];\n      /** Filter facets. */\n      facet?: string[];\n      /**\n       * Sort order.\n       *\n       * Default: `\"ticketNumber\"`:`\"asc\"`.\n       */\n      sort?: string;\n      /** Guest contact IDs. */\n      contactId?: string[];\n      /** Ticket definition IDs. */\n      ticketDefinitionId?: string[];\n  }\n  /**\n   * Retrieves a ticket by the unique ticket number.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.ticketNumber\n   * @param identifiers - Details for the ticket to retrieve.\n   * @param options - Options for the returned ticket data.\n   * @permissionId WIX_EVENTS.READ_TICKET_DETAILS\n   * @adminMethod\n   * @returns Ticket.\n   */\n  function getTicket(identifiers: GetTicketIdentifiers, options?: GetTicketOptions): Promise<TicketingTicket>;\n  interface GetTicketIdentifiers {\n      /** Event ID to which the ticket belongs. */\n      eventId: string;\n      /** A unique ticket number which is assigned automatically when creating a ticket. */\n      ticketNumber: string;\n  }\n  interface GetTicketOptions {\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKET_DETAILS`: Returns `ticketNumber`, `orderNumber`, `ticketDefinitionId`, `name`, `price`, `free`, `policy`, `qrCode`, `checkIn`, `orderStatus`, `orderArchived`, `archived`, `orderFullName`, `ticketPdf`, `checkInUrl` and `ticketPdfUrl`.\n       * - `GUEST_DETAILS`: Returns `guestDetails`.\n       * - `GUEST_FORM`: Returns `guestDetails.form`.\n       *\n       * Default: If a fieldset is not included in the request, returns only the `memberId` and `anonymized` fields.\n       */\n      fieldset?: TicketFieldset[];\n  }\n  /**\n   * Checks in 1 or more tickets.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the ticket belongs.\n   * @param options - Options for tickets to check-in.\n   * @permissionId WIX_EVENTS.CHECK-IN\n   * @adminMethod\n   */\n  function checkInTickets(eventId: string, options?: CheckInTicketsOptions): Promise<CheckInTicketResponse>;\n  interface CheckInTicketsOptions {\n      /**\n       * Deprecated, use individual ticket numbers.\n       * @internal\n       * @deprecated\n       */\n      orderNumber?: string;\n      /** Tickets to check-in. */\n      ticketNumber?: string[];\n  }\n  /**\n   * Deletes check-ins for 1 or more tickets.\n   * @public\n   * @requiredField eventId\n   * @param eventId - Event ID to which the ticket belongs.\n   * @param options - Options for tickets to delete.\n   * @permissionId WIX_EVENTS.CHECK-IN\n   * @adminMethod\n   */\n  function deleteTicketCheckIns(eventId: string, options?: DeleteTicketCheckInsOptions): Promise<DeleteTicketCheckInResponse>;\n  interface DeleteTicketCheckInsOptions {\n      /**\n       * Deprecated, use individual ticket numbers.\n       * @internal\n       * @deprecated\n       */\n      orderNumber?: string;\n      /** Ticket numbers which check-ins to delete. */\n      ticketNumber?: string[];\n  }\n  /**\n   * Updates a ticket.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.ticketNumber\n   * @param identifiers - Details for the ticket to update.\n   * @param options - Ticket details to update.\n   * @permissionId WIX_EVENTS.MANAGE_TICKETS\n   * @adminMethod\n   */\n  function updateTicket(identifiers: UpdateTicketIdentifiers, options?: UpdateTicketOptions): Promise<UpdateTicketResponse>;\n  interface UpdateTicketIdentifiers {\n      /** Event ID to which the ticket belongs. */\n      eventId: string;\n      /** A unique ticket number which is assigned automatically when creating a ticket. */\n      ticketNumber: string;\n  }\n  interface UpdateTicketOptions {\n      /**\n       * Set of field paths, specifying which parts of this resource to update.\n       * When `fields` is empty, the request is interpreted as a full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Deprecated. Use `guestDetails.form`\n       * @internal\n       * @deprecated\n       */\n      checkoutForm?: FormResponse$1;\n      /** Whether to archive the ticket. */\n      archived?: boolean;\n      /** Assigned guest details. */\n      guestDetails?: GuestDetailsUpdate;\n  }\n  /**\n   * Archives multiple tickets.\n   * @public\n   * @requiredField eventId\n   * @param options - Options for updating the tickets.\n   * @param eventId - Event ID to which the ticket belongs.\n   * @permissionId WIX_EVENTS.MANAGE_TICKETS\n   * @adminMethod\n   */\n  function bulkUpdateTickets(eventId: string, options?: BulkUpdateTicketsOptions): Promise<BulkUpdateTicketsResponse>;\n  interface BulkUpdateTicketsOptions {\n      /** A unique ticket number which is assigned automatically when creating a ticket. */\n      ticketNumber?: string[];\n      /** Whether tickets are archived. */\n      archived?: boolean;\n  }\n  \n  type eventsV1Ticket_universal_d_TicketingTicket = TicketingTicket;\n  type eventsV1Ticket_universal_d_CheckIn = CheckIn;\n  type eventsV1Ticket_universal_d_OrderStatus = OrderStatus;\n  const eventsV1Ticket_universal_d_OrderStatus: typeof OrderStatus;\n  type eventsV1Ticket_universal_d_GuestDetails = GuestDetails;\n  type eventsV1Ticket_universal_d_ChannelType = ChannelType;\n  const eventsV1Ticket_universal_d_ChannelType: typeof ChannelType;\n  type eventsV1Ticket_universal_d_TicketDetails = TicketDetails;\n  type eventsV1Ticket_universal_d_ListTicketsRequest = ListTicketsRequest;\n  type eventsV1Ticket_universal_d_TicketFieldset = TicketFieldset;\n  const eventsV1Ticket_universal_d_TicketFieldset: typeof TicketFieldset;\n  type eventsV1Ticket_universal_d_ListTicketsResponse = ListTicketsResponse;\n  type eventsV1Ticket_universal_d_TicketFacets = TicketFacets;\n  type eventsV1Ticket_universal_d_TicketFacetCounts = TicketFacetCounts;\n  type eventsV1Ticket_universal_d_Counts = Counts;\n  type eventsV1Ticket_universal_d_GetTicketRequest = GetTicketRequest;\n  type eventsV1Ticket_universal_d_GetTicketResponse = GetTicketResponse;\n  type eventsV1Ticket_universal_d_CheckInTicketRequest = CheckInTicketRequest;\n  type eventsV1Ticket_universal_d_CheckInTicketResponse = CheckInTicketResponse;\n  type eventsV1Ticket_universal_d_OrderUpdated = OrderUpdated;\n  type eventsV1Ticket_universal_d_Ticket = Ticket;\n  type eventsV1Ticket_universal_d_DeleteTicketCheckInRequest = DeleteTicketCheckInRequest;\n  type eventsV1Ticket_universal_d_DeleteTicketCheckInResponse = DeleteTicketCheckInResponse;\n  type eventsV1Ticket_universal_d_UpdateTicketRequest = UpdateTicketRequest;\n  type eventsV1Ticket_universal_d_GuestDetailsUpdate = GuestDetailsUpdate;\n  type eventsV1Ticket_universal_d_UpdateTicketResponse = UpdateTicketResponse;\n  type eventsV1Ticket_universal_d_BulkUpdateTicketsRequest = BulkUpdateTicketsRequest;\n  type eventsV1Ticket_universal_d_BulkUpdateTicketsResponse = BulkUpdateTicketsResponse;\n  type eventsV1Ticket_universal_d_GetDemoTicketRequest = GetDemoTicketRequest;\n  type eventsV1Ticket_universal_d_GetDemoTicketResponse = GetDemoTicketResponse;\n  const eventsV1Ticket_universal_d_listTickets: typeof listTickets;\n  type eventsV1Ticket_universal_d_ListTicketsOptions = ListTicketsOptions;\n  const eventsV1Ticket_universal_d_getTicket: typeof getTicket;\n  type eventsV1Ticket_universal_d_GetTicketIdentifiers = GetTicketIdentifiers;\n  type eventsV1Ticket_universal_d_GetTicketOptions = GetTicketOptions;\n  const eventsV1Ticket_universal_d_checkInTickets: typeof checkInTickets;\n  type eventsV1Ticket_universal_d_CheckInTicketsOptions = CheckInTicketsOptions;\n  const eventsV1Ticket_universal_d_deleteTicketCheckIns: typeof deleteTicketCheckIns;\n  type eventsV1Ticket_universal_d_DeleteTicketCheckInsOptions = DeleteTicketCheckInsOptions;\n  const eventsV1Ticket_universal_d_updateTicket: typeof updateTicket;\n  type eventsV1Ticket_universal_d_UpdateTicketIdentifiers = UpdateTicketIdentifiers;\n  type eventsV1Ticket_universal_d_UpdateTicketOptions = UpdateTicketOptions;\n  const eventsV1Ticket_universal_d_bulkUpdateTickets: typeof bulkUpdateTickets;\n  type eventsV1Ticket_universal_d_BulkUpdateTicketsOptions = BulkUpdateTicketsOptions;\n  namespace eventsV1Ticket_universal_d {\n    export {\n      eventsV1Ticket_universal_d_TicketingTicket as TicketingTicket,\n      Money$4 as Money,\n      eventsV1Ticket_universal_d_CheckIn as CheckIn,\n      eventsV1Ticket_universal_d_OrderStatus as OrderStatus,\n      eventsV1Ticket_universal_d_GuestDetails as GuestDetails,\n      FormResponse$1 as FormResponse,\n      InputValue$1 as InputValue,\n      FormattedAddress$1 as FormattedAddress,\n      Address$4 as Address,\n      AddressStreetOneOf$4 as AddressStreetOneOf,\n      StreetAddress$4 as StreetAddress,\n      AddressLocation$4 as AddressLocation,\n      Subdivision$4 as Subdivision,\n      SubdivisionType$4 as SubdivisionType,\n      StandardDetails$1 as StandardDetails,\n      eventsV1Ticket_universal_d_ChannelType as ChannelType,\n      eventsV1Ticket_universal_d_TicketDetails as TicketDetails,\n      eventsV1Ticket_universal_d_ListTicketsRequest as ListTicketsRequest,\n      eventsV1Ticket_universal_d_TicketFieldset as TicketFieldset,\n      State$4 as State,\n      eventsV1Ticket_universal_d_ListTicketsResponse as ListTicketsResponse,\n      FacetCounts$3 as FacetCounts,\n      eventsV1Ticket_universal_d_TicketFacets as TicketFacets,\n      eventsV1Ticket_universal_d_TicketFacetCounts as TicketFacetCounts,\n      eventsV1Ticket_universal_d_Counts as Counts,\n      eventsV1Ticket_universal_d_GetTicketRequest as GetTicketRequest,\n      eventsV1Ticket_universal_d_GetTicketResponse as GetTicketResponse,\n      eventsV1Ticket_universal_d_CheckInTicketRequest as CheckInTicketRequest,\n      eventsV1Ticket_universal_d_CheckInTicketResponse as CheckInTicketResponse,\n      eventsV1Ticket_universal_d_OrderUpdated as OrderUpdated,\n      eventsV1Ticket_universal_d_Ticket as Ticket,\n      OnlineConferencingLogin$1 as OnlineConferencingLogin,\n      eventsV1Ticket_universal_d_DeleteTicketCheckInRequest as DeleteTicketCheckInRequest,\n      eventsV1Ticket_universal_d_DeleteTicketCheckInResponse as DeleteTicketCheckInResponse,\n      eventsV1Ticket_universal_d_UpdateTicketRequest as UpdateTicketRequest,\n      eventsV1Ticket_universal_d_GuestDetailsUpdate as GuestDetailsUpdate,\n      eventsV1Ticket_universal_d_UpdateTicketResponse as UpdateTicketResponse,\n      eventsV1Ticket_universal_d_BulkUpdateTicketsRequest as BulkUpdateTicketsRequest,\n      eventsV1Ticket_universal_d_BulkUpdateTicketsResponse as BulkUpdateTicketsResponse,\n      eventsV1Ticket_universal_d_GetDemoTicketRequest as GetDemoTicketRequest,\n      eventsV1Ticket_universal_d_GetDemoTicketResponse as GetDemoTicketResponse,\n      MessageEnvelope$5 as MessageEnvelope,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      eventsV1Ticket_universal_d_listTickets as listTickets,\n      eventsV1Ticket_universal_d_ListTicketsOptions as ListTicketsOptions,\n      eventsV1Ticket_universal_d_getTicket as getTicket,\n      eventsV1Ticket_universal_d_GetTicketIdentifiers as GetTicketIdentifiers,\n      eventsV1Ticket_universal_d_GetTicketOptions as GetTicketOptions,\n      eventsV1Ticket_universal_d_checkInTickets as checkInTickets,\n      eventsV1Ticket_universal_d_CheckInTicketsOptions as CheckInTicketsOptions,\n      eventsV1Ticket_universal_d_deleteTicketCheckIns as deleteTicketCheckIns,\n      eventsV1Ticket_universal_d_DeleteTicketCheckInsOptions as DeleteTicketCheckInsOptions,\n      eventsV1Ticket_universal_d_updateTicket as updateTicket,\n      eventsV1Ticket_universal_d_UpdateTicketIdentifiers as UpdateTicketIdentifiers,\n      eventsV1Ticket_universal_d_UpdateTicketOptions as UpdateTicketOptions,\n      eventsV1Ticket_universal_d_bulkUpdateTickets as bulkUpdateTickets,\n      eventsV1Ticket_universal_d_BulkUpdateTicketsOptions as BulkUpdateTicketsOptions,\n    };\n  }\n  \n  interface TicketDefinition$1 {\n      /** Ticket definition ID. */\n      _id?: string;\n      /** Ticket price. */\n      price?: Money$3;\n      /** Whether the ticket is free (read only). */\n      free?: boolean;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket description. */\n      description?: string;\n      /**\n       * Limit of tickets that can be purchased per checkout.\n       * Set to 20 for unlimited ticket definition.\n       */\n      limitPerCheckout?: number;\n      /** Custom sort index. */\n      orderIndex?: number;\n      /** Policy information plain text block, as printed on the ticket. */\n      policy?: string;\n      /** Sensitive dashboard data. */\n      dashboard?: Dashboard$3;\n      /** Event ID associated with the ticket. */\n      eventId?: string;\n      /**\n       * Configuration of the fixed-rate Wix ticket service fee that is applied at checkout to each ticket sold.\n       * @readonly\n       */\n      wixFeeConfig?: WixFeeConfig;\n      /** Ticket sale period. */\n      salePeriod?: TicketSalePeriod;\n      /**\n       * Ticket sale status.\n       * @readonly\n       */\n      saleStatus?: TicketSaleStatus;\n      /** Ticket state. */\n      state?: TicketDefinitionStateEnumState[];\n      /** Ticket pricing. */\n      pricing?: TicketPricing;\n  }\n  interface Money$3 {\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      amount?: string;\n      /**\n       * Three-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string;\n      /** 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. */\n      value?: string | null;\n  }\n  interface Dashboard$3 {\n      /** Whether ticket is hidden and cannot be sold. */\n      hidden?: boolean;\n      /**\n       * Number of tickets sold and reserved.\n       * @deprecated\n       */\n      sold?: number;\n      /** Whether the ticket has limited quantity. */\n      limited?: boolean;\n      /** Ticket limit. `NULL` for unlimited ticket definitions. */\n      quantity?: number | null;\n      /** Number of unsold tickets. `NULL` for unlimited ticket definitions. */\n      unsold?: number | null;\n      /** Number of tickets sold. */\n      ticketsSold?: number;\n      /** Number of tickets reserved. */\n      ticketsReserved?: number;\n  }\n  interface WixFeeConfig {\n      /**\n       * Fee calculation method.\n       *\n       * Supported values: `\"FEE_ADDED\"`, `\"FEE_INCLUDED\"`, `\"FEE_ADDED_AT_CHECKOUT\"`\n       *\n       * Default: `\"FEE_ADDED_AT_CHECKOUT\"`\n       */\n      type?: FeeType;\n  }\n  enum FeeType {\n      /** Fee is added to the ticket price at checkout. */\n      FEE_ADDED = \"FEE_ADDED\",\n      /** Seller absorbs the fee. It is deducted from the ticket price. */\n      FEE_INCLUDED = \"FEE_INCLUDED\",\n      /** Fee is added to the ticket price at checkout. */\n      FEE_ADDED_AT_CHECKOUT = \"FEE_ADDED_AT_CHECKOUT\"\n  }\n  interface TicketSalePeriod {\n      /** Ticket sale start timestamp. */\n      startDate?: Date | null;\n      /** Ticket sale end timestamp. */\n      endDate?: Date | null;\n      /** Whether to hide this ticket if it's not on sale */\n      hideNotOnSale?: boolean;\n  }\n  enum TicketSaleStatus {\n      /** Ticket sale is scheduled to start. */\n      SALE_SCHEDULED = \"SALE_SCHEDULED\",\n      /** Ticket sale has started. */\n      SALE_STARTED = \"SALE_STARTED\",\n      /** Ticket sale has ended. */\n      SALE_ENDED = \"SALE_ENDED\"\n  }\n  enum TicketDefinitionStateEnumState {\n      INCLUDE_HIDDEN_NOT_ON_SALE = \"INCLUDE_HIDDEN_NOT_ON_SALE\"\n  }\n  interface TicketPricing extends TicketPricingPriceOneOf {\n      /** Ticket price which is read only. */\n      fixedPrice?: Money$3;\n      /** Min price per ticket, customizable. */\n      minPrice?: Money$3;\n      /** Ticket pricing options. */\n      pricingOptions?: PricingOptions$1;\n      /**\n       * Ticket pricing type.\n       * @readonly\n       */\n      pricingType?: Type$2;\n  }\n  /** @oneof */\n  interface TicketPricingPriceOneOf {\n      /** Ticket price which is read only. */\n      fixedPrice?: Money$3;\n      /** Min price per ticket, customizable. */\n      minPrice?: Money$3;\n      /** Ticket pricing options. */\n      pricingOptions?: PricingOptions$1;\n  }\n  interface PricingOptions$1 {\n      /** Multiple ticket pricing options. */\n      options?: PricingOption[];\n  }\n  interface PricingOption {\n      /** Ticket pricing option ID. */\n      _id?: string | null;\n      /** Ticket pricing option name. */\n      name?: string | null;\n      /** Ticket pricing option price. */\n      price?: Money$3;\n  }\n  enum Type$2 {\n      STANDARD = \"STANDARD\",\n      DONATION = \"DONATION\"\n  }\n  interface QueryTicketDefinitionsRequest$1 {\n      /** Offset. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Limit. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /** Set of fields to return in the response. See [fieldsets](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_ticket-definition-fieldset). */\n      fieldset?: TicketDefinitionFieldset[];\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_query-ticket-definitions). */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort order. Defaults to: \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_query-ticket-definitions).\n       */\n      sort?: string;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_query-ticket-definitions).\n       */\n      facet?: string[];\n  }\n  enum TicketDefinitionFieldset {\n      /** Include `policy` in the response. */\n      POLICY = \"POLICY\",\n      /** Include `dashboard` in the response. */\n      DASHBOARD = \"DASHBOARD\"\n  }\n  interface QueryTicketDefinitionsResponse$1 {\n      /** Total ticket definitions matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Ticket definitions. */\n      definitions?: TicketDefinition$1[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$2>;\n  }\n  interface FacetCounts$2 {\n      /** Facet counts aggregated per value. */\n      counts?: Record<string, number>;\n  }\n  interface QueryTicketDefinitionsV2Request {\n      /** Query request object. */\n      query?: QueryV2$3;\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  interface QueryV2$3 extends QueryV2PagingMethodOneOf$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$4;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$4[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$4;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface Sorting$4 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$4;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$4 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$4 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$4 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTicketDefinitionsV2Response {\n      /** Ticket definitions. */\n      definitions?: TicketDefinition$1[];\n      /** Paging metadata definitions. */\n      metadata?: PagingMetadataV2$4;\n  }\n  interface PagingMetadataV2$4 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$4;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$4 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListTicketDefinitionsRequest {\n      /** Event ID. */\n      eventId?: string[];\n      /** Offset. */\n      offset?: number;\n      /** Paging limit. */\n      limit?: number;\n      /**\n       * Predefined sets of fields to return.\n       * - `DASHBOARD`: Returns `dashboard`.\n       * - `POLICY`: Returns `policy`.\n       *\n       * Default: If `fieldset` is omitted from the request,  `id`, `price`, `free`, `name`, `limitPerCheckout`, `orderIndex`, `eventId`.\n       *\n       */\n      fieldset?: TicketDefinitionFieldset[];\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Filter by ticket definition state.\n       *\n       * Supported values: `\"VISIBLE\"`, `\"HIDDEN\"`, `\"FREE\"`, `\"PAID\"`\n       */\n      state?: State$3[];\n      /**\n       * Sort order.\n       *\n       * Default: `\"created\"`:`\"asc\"`\n       */\n      sort?: string;\n      /**\n       * Ticket sale status.\n       *\n       * Supported values: `\"SALE_SCHEDULED\"`, `\"SALE_STARTED\"`, `\"SALE_ENDED\"`\n       */\n      saleStatus?: TicketSaleStatus[];\n      /** Filter facets. */\n      facet?: string[];\n      /**\n       * Visible for coupons. For internal use.\n       * @internal\n       */\n      visibleForCoupons?: boolean | null;\n      /**\n       * For internal use.\n       * @internal\n       */\n      groupBy?: GroupBy;\n      /**\n       * Ticket definition ID.\n       * @internal\n       */\n      _id?: string[];\n  }\n  enum State$3 {\n      /** The ticket is available for purchase. */\n      VISIBLE = \"VISIBLE\",\n      /** The ticket is unavailable for purchase. */\n      HIDDEN = \"HIDDEN\",\n      /** The ticket price is 0. */\n      FREE = \"FREE\",\n      /** The ticket price is greater than 0. */\n      PAID = \"PAID\"\n  }\n  enum GroupBy {\n      /** No grouping. */\n      NONE = \"NONE\",\n      /** Groups by event created date with descending sorting. */\n      EVENT_CREATED_DESC = \"EVENT_CREATED_DESC\",\n      /** Groups by event created date with ascending sorting. */\n      EVENT_CREATED_ASC = \"EVENT_CREATED_ASC\"\n  }\n  interface ListTicketDefinitionsResponse {\n      /** Meta data. */\n      metaData?: ResponseMetaData;\n      /** Retrieved ticket definitions. */\n      definitions?: TicketDefinition$1[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$2>;\n  }\n  interface ResponseMetaData {\n      /** Number of items in the response. */\n      count?: number;\n      /** Offset of items. */\n      offset?: number;\n      /** Total number of matching items. */\n      total?: number;\n  }\n  interface GetTicketDefinitionRequest$1 {\n      /** Ticket definition ID. */\n      definitionId: string;\n      /**\n       * Predefined sets of fields to return.\n       * - `DASHBOARD`: Returns `dashboard`.\n       * - `POLICY`: Returns `policy`.\n       *\n       * Default: If `fieldset` is omitted from the request,  `id`, `price`, `free`, `name`, `limitPerCheckout`, `orderIndex`, `eventId`.\n       */\n      fieldset?: TicketDefinitionFieldset[];\n  }\n  interface GetTicketDefinitionResponse$1 {\n      /** Retrieved ticket definition. */\n      definition?: TicketDefinition$1;\n  }\n  interface CreateTicketDefinitionRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Ticket definition data. */\n      definition: TicketDefinitionData;\n  }\n  interface TicketDefinitionData {\n      /** Ticket name. */\n      name?: string | null;\n      /** Ticket price. */\n      price?: Money$3;\n      /** Ticket description. */\n      description?: string | null;\n      /** Whether this ticket type is limited in quantity. */\n      limited?: boolean;\n      /**\n       * Limit for this ticket type.\n       *\n       * `NULL` for unlimited.\n       */\n      quantity?: number | null;\n      /** Custom sort index for manual tickets ordering implementation. */\n      orderIndex?: number;\n      /** Policy information in plain text (as listed on the ticket). */\n      policy?: string | null;\n      /** Whether this ticket type is hidden to customers and cannot be purchased. */\n      hidden?: boolean;\n      /** Configuration of the fixed-rate Wix ticket service fee that is applied to each ticket sold. */\n      wixFeeConfig?: WixFeeConfig;\n      /** Ticket sale period. */\n      salePeriod?: TicketSalePeriod;\n      /** Ticket pricing. */\n      pricing?: TicketPricing;\n  }\n  interface CreateTicketDefinitionResponse$1 {\n      /** Created ticket definition. */\n      definition?: TicketDefinition$1;\n  }\n  interface TicketDefinitionCreated {\n      /** Ticket Definition created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Ticket Definition ID. */\n      ticketDefinitionId?: string;\n      /** Event ID. */\n      eventId?: string;\n      /** Originated from. */\n      originatedFrom?: OriginatedFrom;\n  }\n  interface OriginatedFrom {\n      /** Instance ID. Indicates the original app instance which current entity originated from. */\n      instanceId?: string;\n      /** Event ID. Indicates the original event which current entity originated from. */\n      eventId?: string;\n      /** Event ID. Indicates the original entity which current entity originated from. */\n      entityId?: string;\n  }\n  interface UpdateTicketDefinitionRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Ticket definition ID. */\n      definitionId: string;\n      /** Ticket definition data. */\n      definition?: TicketDefinitionData;\n      /**\n       * Set of field paths, specifying which parts of ticket definition to update.\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface UpdateTicketDefinitionResponse$1 {\n      /** Updated ticket definition. */\n      definition?: TicketDefinition$1;\n  }\n  interface TicketDefinitionUpdated {\n      /** Ticket definition updated timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface DeleteTicketDefinitionRequest$1 extends DeleteTicketDefinitionRequestDeleteOneOf {\n      /** Ticket definitions to delete. */\n      byId?: ById;\n      /** Whether to delete all event tickets. */\n      all?: boolean;\n      /** Event ID. */\n      eventId: string;\n  }\n  /** @oneof */\n  interface DeleteTicketDefinitionRequestDeleteOneOf {\n      /** Ticket definitions to delete. */\n      byId?: ById;\n      /** Whether to delete all event tickets. */\n      all?: boolean;\n  }\n  interface ById {\n      /** Ticket definition IDs. */\n      definitionId?: string[];\n  }\n  interface DeleteTicketDefinitionResponse$1 {\n  }\n  interface TicketDefinitionDeleted {\n      /** Ticket definition deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface ChangeCurrencyRequest$1 {\n      /** Event ID. */\n      eventId?: string;\n      /** Event currency, in 3-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency: string;\n  }\n  interface ChangeCurrencyResponse$1 {\n  }\n  interface BulkCopyTicketDefinitionsByEventIdRequest$1 {\n      /** Origin instance ID. */\n      originInstanceId?: string | null;\n      /** Origin Event ID. */\n      originEventId?: string;\n      /** Target Event ID. */\n      targetEventId?: string;\n  }\n  interface BulkCopyTicketDefinitionsByEventIdResponse$1 {\n      /** Copied ticket definitions. */\n      definitions?: CopiedTicketDefinition$1[];\n  }\n  interface CopiedTicketDefinition$1 {\n      /** Origin Ticket definition ID. */\n      originTicketDefinitionId?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n  }\n  interface PaidTicketDefinitionExistsRequest {\n  }\n  interface PaidTicketDefinitionExistsResponse {\n      /** Paid exists. */\n      paidExists?: boolean;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * **Deprecated.** This function will continue to work until November 8, 2024, but a newer version is available. Use [`queryTicketDefinitions()`](/ticket-definitions-v2/query-ticket-definitions) function instead.\n   * >**Migration Instructions**.\n   * > If this function is already in your code, it will continue to work. To stay compatible with future changes, migrate to [`queryTicketDefinition()`](/ticket-definitions-v2/query-ticket-definitions).\n   * > To migrate to the new function:\n   * > 1. Add the new import statement:\n   * > ```js\n   * > import { ticketDefinitionsV2 } from 'wix-events.v2';\n   * > ```\n   * > 2. Look for any code that uses `ticketDefinitions.queryTicketDefinition()`, and replace it with `ticketDefinitionsV2.queryTicketDefinition()`. Update your code to work with the new `createTicketDefinition()` response properties.\n   * > 3. Test your changes to make sure your code behaves as expected.\n   *\n   * Retrieves a list of up to 100 ticket definitions.\n   * @public\n   * @permissionId WIX_EVENTS.READ_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function queryTicketDefinitions$1(options?: QueryTicketDefinitionsOptions$1): Promise<QueryTicketDefinitionsResponse$1>;\n  interface QueryTicketDefinitionsOptions$1 {\n      /** Offset. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Limit. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /** Set of fields to return in the response. See [fieldsets](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_ticket-definition-fieldset). */\n      fieldset?: TicketDefinitionFieldset[];\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_query-ticket-definitions). */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort order. Defaults to: \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_query-ticket-definitions).\n       */\n      sort?: string;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_query-ticket-definitions).\n       */\n      facet?: string[];\n  }\n  /**\n   * **Deprecated.** This function will continue to work until October 29, 2024, but a newer version is available at [`queryTicketDefinitions()`](/ticket-definitions-v2/query-ticket-definitions).\n   * >**Migration Instructions**.\n   * > If this function is already in your code, it will continue to work. To stay compatible with future changes, migrate to [`queryTicketDefinitions()`](/ticket-definitions-v2/query-ticket-definitions).\n   * > To migrate to the new function:\n   * > 1. Add the new import statement:\n   * > ```js\n   * > import { ticketDefinitionsV2 } from 'wix-events.v2';\n   * > ```\n   * > 2. Look for any code that uses `ticketDefinitions.queryTicketDefinitions()`, and replace it with `ticketDefinitionsV2.queryTicketDefinitions()`. Update your code to work with the new `queryTicketDefinition()` response properties.\n   * > 3. Test your changes to make sure your code behaves as expected.\n   *\n   * Retrieves a list of up to 1,000 ticket definitions, given the provided paging and filtering.\n   * @public\n   * @permissionId WIX_EVENTS.READ_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function queryTicketDefinitionsV2(options?: QueryTicketDefinitionsV2Options): DefinitionsQueryBuilder;\n  interface QueryTicketDefinitionsV2Options {\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null | undefined;\n  }\n  interface QueryCursorResult$3 {\n      cursors: Cursors$4;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface DefinitionsQueryResult extends QueryCursorResult$3 {\n      items: TicketDefinition$1[];\n      query: DefinitionsQueryBuilder;\n      next: () => Promise<DefinitionsQueryResult>;\n      prev: () => Promise<DefinitionsQueryResult>;\n  }\n  interface DefinitionsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => DefinitionsQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => DefinitionsQueryBuilder;\n      find: () => Promise<DefinitionsQueryResult>;\n  }\n  /**\n   * **Deprecated.** This function will continue to work until November 8, 2024, but a substitute is available. Use the [`queryTicketDefinitions()`](/ticket-definitions-v2/query-ticket-definitions) function instead.\n   * >**Migration Instructions**.\n   * > If this function is already in your code, it will continue to work. To stay compatible with future changes, migrate to [`queryTicketDefinitions()`](/ticket-definitions-v2/query-ticket-definitions).\n   * > To migrate to the new function:\n   * > 1. Add the new import statement:\n   * > ```js\n   * > import { ticketDefinitionsV2 } from 'wix-events.v2';\n   * > ```\n   * > 2. Look for any code that uses `ticketDefinitions.queryTicketDefinitions()`, and replace it with `ticketDefinitionsV2.queryTicketDefinitions()`. Update your code to work with the new `queryTicketDefinition()` response properties.\n   * > 3. Test your changes to make sure your code behaves as expected.\n   *\n   * Retrieves a list of up to 100 ticket definitions, with basic filter support.\n   * @public\n   * @param options - Details for the tickets to retrieve.\n   * @permissionId WIX_EVENTS.READ_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function listTicketDefinitions(options?: ListTicketDefinitionsOptions): Promise<ListTicketDefinitionsResponse>;\n  interface ListTicketDefinitionsOptions {\n      /** Event ID. */\n      eventId?: string[];\n      /** Offset. */\n      offset?: number;\n      /** Paging limit. */\n      limit?: number;\n      /**\n       * Predefined sets of fields to return.\n       * - `DASHBOARD`: Returns `dashboard`.\n       * - `POLICY`: Returns `policy`.\n       *\n       * Default: If `fieldset` is omitted from the request,  `id`, `price`, `free`, `name`, `limitPerCheckout`, `orderIndex`, `eventId`.\n       */\n      fieldset?: TicketDefinitionFieldset[];\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Filter by ticket definition state.\n       *\n       * Supported values: `\"VISIBLE\"`, `\"HIDDEN\"`, `\"FREE\"`, `\"PAID\"`\n       */\n      state?: State$3[];\n      /**\n       * Sort order.\n       *\n       * Default: `\"created\"`:`\"asc\"`.\n       *\n       * See [Ticket Definitions Sort](/wix-events-v2/ticketdefinitions/ticket-definitions-sort) for more information.\n       *\n       *\n       *\n       *\n       */\n      sort?: string;\n      /**\n       * Ticket sale status.\n       *\n       * Supported values: `\"SALE_SCHEDULED\"`, `\"SALE_STARTED\"`, `\"SALE_ENDED\"`\n       */\n      saleStatus?: TicketSaleStatus[];\n      /** Filter facets. */\n      facet?: string[];\n      /**\n       * Visible for coupons. For internal use.\n       * @internal\n       */\n      visibleForCoupons?: boolean | null;\n      /**\n       * For internal use.\n       * @internal\n       */\n      groupBy?: GroupBy;\n      /**\n       * Ticket definition ID.\n       * @internal\n       */\n      _id?: string[];\n  }\n  /**\n   * **Deprecated.** This function will continue to work until November 8, 2024, but a newer version is available. Use the [`getTicketDefinition()`](/ticket-definitions-v2/get-ticket-definition) function instead.\n   * >**Migration Instructions**.\n   * > If this function is already in your code, it will continue to work. To stay compatible with future changes, migrate to [`getTicketDefinition()`](/ticket-definitions-v2/get-ticket-definition).\n   * > To migrate to the new function:\n   * > 1. Add the new import statement:\n   * > ```js\n   * > import { ticketDefinitionsV2 } from 'wix-events.v2';\n   * > ```\n   * > 2. Look for any code that uses `ticketDefinitions.getTicketDefinition()`, and replace it with `ticketDefinitionsV2.getTicketDefinition()`. Update your code to work with the new `getTicketDefinition()` response properties.\n   * > 3. Test your changes to make sure your code behaves as expected.\n   *\n   * Retrieves a ticket definition.\n   * @param definitionId - Ticket definition ID.\n   * @public\n   * @requiredField definitionId\n   * @param options - Details for the ticket to retrieve.\n   * @permissionId WIX_EVENTS.READ_TICKET_DEFINITIONS\n   * @adminMethod\n   * @returns Retrieved ticket definition.\n   */\n  function getTicketDefinition$1(definitionId: string, options?: GetTicketDefinitionOptions$1): Promise<TicketDefinition$1>;\n  interface GetTicketDefinitionOptions$1 {\n      /**\n       * Predefined sets of fields to return.\n       * - `DASHBOARD`: Returns `dashboard`.\n       * - `POLICY`: Returns `policy`.\n       *\n       * Default: If `fieldset` is omitted from the request,  `id`, `price`, `free`, `name`, `limitPerCheckout`, `orderIndex`, `eventId`.\n       */\n      fieldset?: TicketDefinitionFieldset[];\n  }\n  /**\n   * **Deprecated.** This function will continue to work until November 8, 2024, but a newer version is available. Use the [`createTicketDefinition()`](/ticket-definitions-v2/create-ticket-definition) function instead.\n   * >**Migration Instructions**.\n   * > If this function is already in your code, it will continue to work. To stay compatible with future changes, migrate to [`createTicketDefinition()`](/ticket-definitions-v2/create-ticket-definition).\n   * > To migrate to the new function:\n   * > 1. Add the new import statement:\n   * > ```js\n   * > import { ticketDefinitionsV2 } from 'wix-events.v2';\n   * > ```\n   * > 2. Look for any code that uses `ticketDefinitions.createTicketDefinition()`, and replace it with `ticketDefinitionsV2.createTicketDefinition()`. Update your code to work with the new `createTicketDefinition()` response properties.\n   * > 3. Test your changes to make sure your code behaves as expected.\n   *\n   * Creates a ticket definition (and enables ticket sales).\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @requiredField options\n   * @requiredField options.definition\n   * @requiredField options.definition.name\n   * @permissionId WIX_EVENTS.MANAGE_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function createTicketDefinition$1(eventId: string, options: CreateTicketDefinitionOptions$1): Promise<CreateTicketDefinitionResponse$1>;\n  interface CreateTicketDefinitionOptions$1 {\n      /** Ticket definition data. */\n      definition: TicketDefinitionData;\n  }\n  /**\n   * **Deprecated.** This function will continue to work until November 8, 2024, but a newer version is available. Use the [`updateTicketDefinition()`](/ticket-definitions-v2/update-ticket-definition) function instead.\n   * >**Migration Instructions**.\n   * > If this function is already in your code, it will continue to work. To stay compatible with future changes, migrate to [`updateTicketDefinition()`](/ticket-definitions-v2/update-ticket-definition).\n   * > To migrate to the new function:\n   * > 1. Add the new import statement:\n   * > ```js\n   * > import { ticketDefinitionsV2 } from 'wix-events.v2';\n   * > ```\n   * > 2. Look for any code that uses `ticketDefinitions.updateTicketDefinition()`, and replace it with `ticketDefinitionsV2.updateTicketDefinition()`. Update your code to work with the new `updateTicketDefinition()` response properties.\n   * > 3. Test your changes to make sure your code behaves as expected.\n   *\n   *\n   * Updates a ticket definition.\n   *\n   * See [Partial Updates](/wix-events-v2/partial-updates) for more information.\n   * @param definitionId - Ticket definition ID.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField definitionId\n   * @requiredField eventId\n   * @requiredField options.definition.pricing\n   * @param identifiers - Details of the ticket definition to update.\n   * @param options - Ticket definition details to update.\n   * @permissionId WIX_EVENTS.MANAGE_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function updateTicketDefinition$1(definitionId: string, eventId: string, options?: UpdateTicketDefinitionOptions$1): Promise<UpdateTicketDefinitionResponse$1>;\n  interface UpdateTicketDefinitionOptions$1 {\n      /** Ticket definition data. */\n      definition?: TicketDefinitionData;\n      /**\n       * Set of field paths, specifying which parts of ticket definition to update.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /**\n   * **Deprecated.** This function will continue to work until November 8, 2024, but a newer version is available. Use the [`deleteTicketDefinition()`](/ticket-definitions-v2/delete-ticket-definition) function instead.\n   * >**Migration Instructions**.\n   * > If this function is already in your code, it will continue to work. To stay compatible with future changes, migrate to [`deleteTicketDefinition()`](/ticket-definitions-v2/delete-ticket-definition).\n   * > To migrate to the new function:\n   * > 1. Add the new import statement:\n   * > ```js\n   * > import { ticketDefinitionsV2 } from 'wix-events.v2';\n   * > ```\n   * > 2. Look for any code that uses `ticketDefinitions.deleteTicketDefinition()`, and replace it with `ticketDefinitionsV2.deleteTicketDefinition()`. Update your code to work with the new `deleteTicketDefinition()` response properties.\n   * > 3. Test your changes to make sure your code behaves as expected.\n   *\n   * Deletes a ticket definition.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @param options - Details of tickets to delete.\n   * @permissionId WIX_EVENTS.MANAGE_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function deleteTicketDefinition$1(eventId: string, options?: DeleteTicketDefinitionOptions): Promise<void>;\n  interface DeleteTicketDefinitionOptions extends DeleteTicketDefinitionRequestDeleteOneOf {\n      /** Ticket definitions to delete. */\n      byId?: ById;\n      /** Whether to delete all event tickets. */\n      all?: boolean;\n  }\n  /**\n   * **Deprecated.** This function will continue to work until November 8, 2024, but a newer version is available at [`changeCurrency()`](/ticket-definitions-v2/change-currency).\n   * >**Migration Instructions**.\n   * > If this function is already in your code, it will continue to work. To stay compatible with future changes, migrate to [`changeCurrency()`](/ticket-definitions-v2/change-currency).\n   * > To migrate to the new function:\n   * > 1. Add the new import statement:\n   * > ```js\n   * > import { ticketDefinitionsV2 } from 'wix-events.v2';\n   * > ```\n   * > 2. Look for any code that uses `ticketDefinitions.changeCurrency()`, and replace it with `ticketDefinitionsV2.changeCurrency()`. Update your code to work with the new `changeCurrency()` response properties.\n   * > 3. Test your changes to make sure your code behaves as expected.\n   *\n   * Changes the currency for all tickets per event.\n   *\n   * @public\n   * @requiredField options.currency\n   * @permissionId WIX_EVENTS.MANAGE_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function changeCurrency$1(options?: ChangeCurrencyOptions$1): Promise<void>;\n  interface ChangeCurrencyOptions$1 {\n      /** Event ID. */\n      eventId?: string;\n      /** Event currency, in 3-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency: string;\n  }\n  \n  type eventsV1TicketDefinition_universal_d_WixFeeConfig = WixFeeConfig;\n  type eventsV1TicketDefinition_universal_d_FeeType = FeeType;\n  const eventsV1TicketDefinition_universal_d_FeeType: typeof FeeType;\n  type eventsV1TicketDefinition_universal_d_TicketSalePeriod = TicketSalePeriod;\n  type eventsV1TicketDefinition_universal_d_TicketSaleStatus = TicketSaleStatus;\n  const eventsV1TicketDefinition_universal_d_TicketSaleStatus: typeof TicketSaleStatus;\n  type eventsV1TicketDefinition_universal_d_TicketDefinitionStateEnumState = TicketDefinitionStateEnumState;\n  const eventsV1TicketDefinition_universal_d_TicketDefinitionStateEnumState: typeof TicketDefinitionStateEnumState;\n  type eventsV1TicketDefinition_universal_d_TicketPricing = TicketPricing;\n  type eventsV1TicketDefinition_universal_d_TicketPricingPriceOneOf = TicketPricingPriceOneOf;\n  type eventsV1TicketDefinition_universal_d_PricingOption = PricingOption;\n  type eventsV1TicketDefinition_universal_d_TicketDefinitionFieldset = TicketDefinitionFieldset;\n  const eventsV1TicketDefinition_universal_d_TicketDefinitionFieldset: typeof TicketDefinitionFieldset;\n  type eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Request = QueryTicketDefinitionsV2Request;\n  type eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Response = QueryTicketDefinitionsV2Response;\n  type eventsV1TicketDefinition_universal_d_ListTicketDefinitionsRequest = ListTicketDefinitionsRequest;\n  type eventsV1TicketDefinition_universal_d_GroupBy = GroupBy;\n  const eventsV1TicketDefinition_universal_d_GroupBy: typeof GroupBy;\n  type eventsV1TicketDefinition_universal_d_ListTicketDefinitionsResponse = ListTicketDefinitionsResponse;\n  type eventsV1TicketDefinition_universal_d_ResponseMetaData = ResponseMetaData;\n  type eventsV1TicketDefinition_universal_d_TicketDefinitionData = TicketDefinitionData;\n  type eventsV1TicketDefinition_universal_d_TicketDefinitionCreated = TicketDefinitionCreated;\n  type eventsV1TicketDefinition_universal_d_OriginatedFrom = OriginatedFrom;\n  type eventsV1TicketDefinition_universal_d_TicketDefinitionUpdated = TicketDefinitionUpdated;\n  type eventsV1TicketDefinition_universal_d_DeleteTicketDefinitionRequestDeleteOneOf = DeleteTicketDefinitionRequestDeleteOneOf;\n  type eventsV1TicketDefinition_universal_d_ById = ById;\n  type eventsV1TicketDefinition_universal_d_TicketDefinitionDeleted = TicketDefinitionDeleted;\n  type eventsV1TicketDefinition_universal_d_PaidTicketDefinitionExistsRequest = PaidTicketDefinitionExistsRequest;\n  type eventsV1TicketDefinition_universal_d_PaidTicketDefinitionExistsResponse = PaidTicketDefinitionExistsResponse;\n  const eventsV1TicketDefinition_universal_d_queryTicketDefinitionsV2: typeof queryTicketDefinitionsV2;\n  type eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Options = QueryTicketDefinitionsV2Options;\n  type eventsV1TicketDefinition_universal_d_DefinitionsQueryResult = DefinitionsQueryResult;\n  type eventsV1TicketDefinition_universal_d_DefinitionsQueryBuilder = DefinitionsQueryBuilder;\n  const eventsV1TicketDefinition_universal_d_listTicketDefinitions: typeof listTicketDefinitions;\n  type eventsV1TicketDefinition_universal_d_ListTicketDefinitionsOptions = ListTicketDefinitionsOptions;\n  type eventsV1TicketDefinition_universal_d_DeleteTicketDefinitionOptions = DeleteTicketDefinitionOptions;\n  namespace eventsV1TicketDefinition_universal_d {\n    export {\n      TicketDefinition$1 as TicketDefinition,\n      Money$3 as Money,\n      Dashboard$3 as Dashboard,\n      eventsV1TicketDefinition_universal_d_WixFeeConfig as WixFeeConfig,\n      eventsV1TicketDefinition_universal_d_FeeType as FeeType,\n      eventsV1TicketDefinition_universal_d_TicketSalePeriod as TicketSalePeriod,\n      eventsV1TicketDefinition_universal_d_TicketSaleStatus as TicketSaleStatus,\n      eventsV1TicketDefinition_universal_d_TicketDefinitionStateEnumState as TicketDefinitionStateEnumState,\n      eventsV1TicketDefinition_universal_d_TicketPricing as TicketPricing,\n      eventsV1TicketDefinition_universal_d_TicketPricingPriceOneOf as TicketPricingPriceOneOf,\n      PricingOptions$1 as PricingOptions,\n      eventsV1TicketDefinition_universal_d_PricingOption as PricingOption,\n      Type$2 as Type,\n      QueryTicketDefinitionsRequest$1 as QueryTicketDefinitionsRequest,\n      eventsV1TicketDefinition_universal_d_TicketDefinitionFieldset as TicketDefinitionFieldset,\n      QueryTicketDefinitionsResponse$1 as QueryTicketDefinitionsResponse,\n      FacetCounts$2 as FacetCounts,\n      eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Request as QueryTicketDefinitionsV2Request,\n      QueryV2$3 as QueryV2,\n      QueryV2PagingMethodOneOf$3 as QueryV2PagingMethodOneOf,\n      Sorting$4 as Sorting,\n      SortOrder$4 as SortOrder,\n      Paging$4 as Paging,\n      CursorPaging$4 as CursorPaging,\n      eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Response as QueryTicketDefinitionsV2Response,\n      PagingMetadataV2$4 as PagingMetadataV2,\n      Cursors$4 as Cursors,\n      eventsV1TicketDefinition_universal_d_ListTicketDefinitionsRequest as ListTicketDefinitionsRequest,\n      State$3 as State,\n      eventsV1TicketDefinition_universal_d_GroupBy as GroupBy,\n      eventsV1TicketDefinition_universal_d_ListTicketDefinitionsResponse as ListTicketDefinitionsResponse,\n      eventsV1TicketDefinition_universal_d_ResponseMetaData as ResponseMetaData,\n      GetTicketDefinitionRequest$1 as GetTicketDefinitionRequest,\n      GetTicketDefinitionResponse$1 as GetTicketDefinitionResponse,\n      CreateTicketDefinitionRequest$1 as CreateTicketDefinitionRequest,\n      eventsV1TicketDefinition_universal_d_TicketDefinitionData as TicketDefinitionData,\n      CreateTicketDefinitionResponse$1 as CreateTicketDefinitionResponse,\n      eventsV1TicketDefinition_universal_d_TicketDefinitionCreated as TicketDefinitionCreated,\n      eventsV1TicketDefinition_universal_d_OriginatedFrom as OriginatedFrom,\n      UpdateTicketDefinitionRequest$1 as UpdateTicketDefinitionRequest,\n      UpdateTicketDefinitionResponse$1 as UpdateTicketDefinitionResponse,\n      eventsV1TicketDefinition_universal_d_TicketDefinitionUpdated as TicketDefinitionUpdated,\n      DeleteTicketDefinitionRequest$1 as DeleteTicketDefinitionRequest,\n      eventsV1TicketDefinition_universal_d_DeleteTicketDefinitionRequestDeleteOneOf as DeleteTicketDefinitionRequestDeleteOneOf,\n      eventsV1TicketDefinition_universal_d_ById as ById,\n      DeleteTicketDefinitionResponse$1 as DeleteTicketDefinitionResponse,\n      eventsV1TicketDefinition_universal_d_TicketDefinitionDeleted as TicketDefinitionDeleted,\n      ChangeCurrencyRequest$1 as ChangeCurrencyRequest,\n      ChangeCurrencyResponse$1 as ChangeCurrencyResponse,\n      BulkCopyTicketDefinitionsByEventIdRequest$1 as BulkCopyTicketDefinitionsByEventIdRequest,\n      BulkCopyTicketDefinitionsByEventIdResponse$1 as BulkCopyTicketDefinitionsByEventIdResponse,\n      CopiedTicketDefinition$1 as CopiedTicketDefinition,\n      eventsV1TicketDefinition_universal_d_PaidTicketDefinitionExistsRequest as PaidTicketDefinitionExistsRequest,\n      eventsV1TicketDefinition_universal_d_PaidTicketDefinitionExistsResponse as PaidTicketDefinitionExistsResponse,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      queryTicketDefinitions$1 as queryTicketDefinitions,\n      QueryTicketDefinitionsOptions$1 as QueryTicketDefinitionsOptions,\n      eventsV1TicketDefinition_universal_d_queryTicketDefinitionsV2 as queryTicketDefinitionsV2,\n      eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Options as QueryTicketDefinitionsV2Options,\n      eventsV1TicketDefinition_universal_d_DefinitionsQueryResult as DefinitionsQueryResult,\n      eventsV1TicketDefinition_universal_d_DefinitionsQueryBuilder as DefinitionsQueryBuilder,\n      eventsV1TicketDefinition_universal_d_listTicketDefinitions as listTicketDefinitions,\n      eventsV1TicketDefinition_universal_d_ListTicketDefinitionsOptions as ListTicketDefinitionsOptions,\n      getTicketDefinition$1 as getTicketDefinition,\n      GetTicketDefinitionOptions$1 as GetTicketDefinitionOptions,\n      createTicketDefinition$1 as createTicketDefinition,\n      CreateTicketDefinitionOptions$1 as CreateTicketDefinitionOptions,\n      updateTicketDefinition$1 as updateTicketDefinition,\n      UpdateTicketDefinitionOptions$1 as UpdateTicketDefinitionOptions,\n      deleteTicketDefinition$1 as deleteTicketDefinition,\n      eventsV1TicketDefinition_universal_d_DeleteTicketDefinitionOptions as DeleteTicketDefinitionOptions,\n      changeCurrency$1 as changeCurrency,\n      ChangeCurrencyOptions$1 as ChangeCurrencyOptions,\n    };\n  }\n  \n  interface Policy {\n      /**\n       * Policy ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the policy is updated. The existing revision must be used when updating a policy to prevent conflicting changes. You'll get an error if you try to use the previous revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when the policy was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time of the policy's latest update in.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Policy name that is visible in the dashboard and checkout form.\n       *\n       * Min: 1 character\n       *\n       * Max: 40 characters\n       */\n      name?: string;\n      /**\n       * Policy body, usually containing various terms and conditions.\n       *\n       * Min: 1 character\n       *\n       * Max: 50000 characters.\n       *\n       * **Note**: You can format text using various HTML tags such as `<p>`, `<b>`, `<ul>`, etc.\n       */\n      body?: string;\n      /** ID of the event to which the policy belongs. */\n      eventId?: string;\n  }\n  interface CreatePolicyRequest {\n      /** Policy info. */\n      policy: Policy;\n  }\n  interface CreatePolicyResponse {\n      /** Created policy. */\n      policy?: Policy;\n  }\n  interface UpdatePolicyRequest {\n      /** Policy to update. */\n      policy: Policy;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdatePolicyResponse {\n      /** The updated policy. */\n      policy?: Policy;\n  }\n  interface UpdatePolicySortIndexRequest {\n      /** Policy's ID */\n      policyId?: string;\n      /** The revision of the event policy. */\n      revision?: string;\n      /** The sort index of a policy to set. */\n      sortIndex?: number;\n  }\n  interface UpdatePolicySortIndexResponse {\n      /** The updated event policy. */\n      policy?: Policy;\n  }\n  interface DeletePolicyRequest {\n      /** ID of the policy to delete. */\n      policyId: string;\n  }\n  interface DeletePolicyResponse {\n  }\n  interface QueryPoliciesRequest {\n      /** Query options. See [API Query Langauge](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query: QueryV2$2;\n  }\n  interface QueryV2$2 extends QueryV2PagingMethodOneOf$2 {\n      /** Pagination options. */\n      paging?: Paging$3;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\", \"fieldName2\":{\"$operator\":\"value2\"} }`. <br/> <br/> **Example:** <br/> `\"filter\" : { \"id\": \"2224a9d1-79e6-4549-a5c5-bf7ce5aac1a5\", \"revision\": {\"$ne\":\"1\"} }` <br/> <br/> See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/policy-v2/filter-and-sort) for more information. */\n      filter?: Record<string, any> | null;\n      /** Sort object in the following format: <br/> `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]` <br/> <br/> **Example:** <br/> `[{\"fieldName\":\"createdDate\",\"direction\":\"DESC\"}]` <br/> <br/> See [supported fields](https://dev.wix.com/api/rest/wix-events/policy-v2/filter-and-sort) for more information. */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$2 {\n      /** Pagination options. */\n      paging?: Paging$3;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order (ASC/DESC). Defaults to ASC */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$3 {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$3 {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryPoliciesResponse {\n      /** Event policies. */\n      policies?: Policy[];\n      /** Query result's metadata. */\n      metadata?: PagingMetadataV2$3;\n  }\n  interface PagingMetadataV2$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$3;\n  }\n  interface Cursors$3 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ReorderEventPoliciesRequest extends ReorderEventPoliciesRequestReferencePolicyOneOf {\n      /** Move the given `policyId` before the specified policy. */\n      beforePolicyId?: string;\n      /** Move the given `policyId` after the specified policy. */\n      afterPolicyId?: string;\n      /** Event ID. */\n      eventId: string;\n      /** Event policy ID. */\n      policyId: string;\n  }\n  /** @oneof */\n  interface ReorderEventPoliciesRequestReferencePolicyOneOf {\n      /**   */\n      beforePolicyId?: string;\n      /** Move the given `policyId` after the specified policy. */\n      afterPolicyId?: string;\n  }\n  interface ReorderEventPoliciesResponse {\n      /** Ordered event policies. */\n      policies?: Policy[];\n  }\n  interface GetPolicyRequest {\n      /** Policy ID. */\n      policyId: string;\n  }\n  interface GetPolicyResponse {\n      /** The requested policy. */\n      policy?: Policy;\n  }\n  interface EventCopied$1 {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$3;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$3;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus$3;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n      /**\n       * Map of copied ticket definitions from original event.\n       * Key represents ticket def id in the original event.\n       * Value represents ticket def id in the newly created event.\n       */\n      ticketDefinitions?: Record<string, string>;\n  }\n  interface Location$3 {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates$3;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationType$3;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address$3;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates$3 {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationType$3 {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address$3 extends AddressStreetOneOf$3 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$3;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation$3;\n      /** country full-name */\n      countryFullname?: string | null;\n      /** multi-level subdivisions from top to bottom */\n      subdivisions?: Subdivision$3[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$3 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$3;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$3 {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /**\n       * apartment number\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation$3 {\n      /** address latitude coordinates */\n      latitude?: number | null;\n      /** address longitude coordinates */\n      longitude?: number | null;\n  }\n  interface Subdivision$3 {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /**\n       * subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$3;\n      /**\n       * free text description of subdivision type\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$3 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface ScheduleConfig$3 {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: Recurrences$3;\n  }\n  interface Recurrences$3 {\n      /** Event occurrences. */\n      occurrences?: Occurrence$3[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: Status$3;\n  }\n  interface Occurrence$3 {\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum Status$3 {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  enum EventStatus$3 {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface Empty$3 {\n  }\n  interface GetPolicyFromTrashBinRequest {\n      /** Policy ID. */\n      policyId?: string;\n  }\n  interface GetPolicyFromTrashBinResponse {\n      /** The requested policy. */\n      policy?: Policy;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a policy.\n   *\n   *\n   * <!--\n   * >  Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   *\n   * The `createPolicy()` function returns a Promise that resolves to the newly-created policy.\n   *\n   * You can create up to 3 policies per event. If you try to create more than 3, you'll get the \"Maximum number of policies for the event has been reached\" error.\n   * @public\n   * @requiredField policy\n   * @requiredField policy.body\n   * @requiredField policy.eventId\n   * @requiredField policy.name\n   * @param policy - Policy info.\n   * @permissionId WIX_EVENTS.MANAGE_POLICIES\n   * @adminMethod\n   * @returns Created policy.\n   */\n  function createPolicy(policy: Policy): Promise<Policy>;\n  /**\n   * Updates a policy.\n   *\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   *\n   * The `updatePolicy()` function returns a Promise that resolves to the newly-updated policy.\n   *\n   * Each time the policy is updated, `revision` increments by 1. The existing `revision` must be included when updating the policy. This ensures you're working with the latest policy and prevents unintended overwrites.\n   * @public\n   * @requiredField _id\n   * @requiredField policy\n   * @requiredField policy.body\n   * @requiredField policy.eventId\n   * @requiredField policy.name\n   * @requiredField policy.revision\n   * @param policy - Policy to update.\n   * @param _id - Policy ID.\n   * @permissionId WIX_EVENTS.MANAGE_POLICIES\n   * @adminMethod\n   * @returns The updated policy.\n   */\n  function updatePolicy(_id: string | null, policy: UpdatePolicy, options?: UpdatePolicyOptions): Promise<Policy>;\n  interface UpdatePolicy {\n      /**\n       * Policy ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the policy is updated. The existing revision must be used when updating a policy to prevent conflicting changes. You'll get an error if you try to use the previous revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date policy was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time of the policy's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Policy name that is visible in the dashboard and checkout form.\n       *\n       * Min: 1 character\n       *\n       * Max: 40 characters\n       */\n      name?: string;\n      /**\n       * Policy body. Here you can enter various terms and conditions.\n       *\n       * Min: 1 character\n       *\n       * Max: 50000 characters\n       *\n       * **Note**: You can format text using various HTML tags such as `<p>`, `<b>`, `<ul>`, etc.\n       */\n      body?: string;\n      /** ID of the event to which the policy belongs. */\n      eventId?: string;\n  }\n  interface UpdatePolicyOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Permanently deletes a policy.\n   *\n   *\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   *\n   * The `deletePolicy()` function returns a Promise that resolves when the specified policy is deleted.\n   *\n   * Deleted policies are not returned by the `getPolicy()` or `queryPolicies()` functions.\n   * @public\n   * @requiredField policyId\n   * @param options - Options for Delete Policy function.\n   * @param policyId - ID of the policy to delete.\n   * @permissionId WIX_EVENTS.MANAGE_POLICIES\n   * @adminMethod\n   */\n  function deletePolicy(policyId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of policies, given the provided paging and filter.\n   *\n   *\n   * The `queryPolicies()` function builds a query to retrieve a list of policies and returns a [PoliciesQueryBuilder](https://www.wix.com/velo/reference/wix-events-v2/policies/policiesquerybuilder) object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the [`find()`](https://www.wix.com/velo/reference/wix-events-v2/policies/policiesquerybuilder/find) function.\n   *\n   * You can refine the query by chaining `PoliciesQueryBuilder` functions onto the query. `PoliciesQueryBuilder` functions enable you to sort, filter and control the results that `PoliciesQueryBuilder.find()` returns.\n   *\n   * The query runs with the following `PoliciesQueryBuilder` defaults that you can override:\n   *\n   * [`limit`](https://www.wix.com/velo/reference/wix-events-v2/policies/policiesquerybuilder/limit): `50`\n   * [`descending`](https://www.wix.com/velo/reference/wix-events-v2/policies/policiesquerybuilder/descending): `_createdDate`\n   *\n   * The functions that are chained to `queryPolicies()` are applied in the order they are called. For example, if you sort on the `_createdDate` property in ascending order and then on the id property in descending order, the results are sorted by the created date and then, if there are multiple results with the same date, the items are sorted by the id.\n   *\n   * The table below shows which `PoliciesQueryBuilder` functions are supported for `queryPoliciesGuests()`. You can only use one filter function for each property. If a property is used in more than one filter, only the first filter will work.\n   * @public\n   * @permissionId WIX_EVENTS.READ_POLICIES\n   */\n  function queryPolicies(): PoliciesQueryBuilder;\n  interface QueryCursorResult$2 {\n      cursors: Cursors$3;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface PoliciesQueryResult extends QueryCursorResult$2 {\n      items: Policy[];\n      query: PoliciesQueryBuilder;\n      next: () => Promise<PoliciesQueryResult>;\n      prev: () => Promise<PoliciesQueryResult>;\n  }\n  interface PoliciesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId', value: any) => PoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId', value: any) => PoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => PoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => PoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => PoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => PoliciesQueryBuilder;\n      in: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId', value: any) => PoliciesQueryBuilder;\n      exists: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId', value: boolean) => PoliciesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId'>) => PoliciesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId'>) => PoliciesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => PoliciesQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => PoliciesQueryBuilder;\n      find: () => Promise<PoliciesQueryResult>;\n  }\n  /**\n   * Changes policy order in an event dashboard and agreement checkbox on the checkout form.\n   * For example, if we have 3 policies in the list, after using this function the 3rd policy will become the 1st, and other policies will move by 1 position. By default, the policies are arranged by the created date in descending order.\n   *\n   * >  **Note**: it is possible to use both `beforePolicyId` and `afterPolicyId` at the same time but only the last one defined will be executed.\n   *\n   * <!--\n   * >  Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   *\n   * The `reorderEventPolicies()` function returns a Promise that resolves to the newly-reordered policy.\n   * @param policyId - Event policy ID.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @requiredField policyId\n   * @param options - Options for Reorder Event Policies function.\n   * @permissionId WIX_EVENTS.MANAGE_POLICIES\n   * @adminMethod\n   */\n  function reorderEventPolicies(policyId: string, eventId: string, options?: ReorderEventPoliciesOptions): Promise<ReorderEventPoliciesResponse>;\n  interface ReorderEventPoliciesOptions extends ReorderEventPoliciesRequestReferencePolicyOneOf {\n      /** Move the given `policyId` before the specified policy. */\n      beforePolicyId?: string;\n      /** Move the given `policyId` after the specified policy. */\n      afterPolicyId?: string;\n  }\n  /**\n   * Retrieves a policy by ID.\n   *\n   *\n   * The `getPolicy()` function returns a Promise that resolves to a policy whose ID matches the given ID.\n   * @public\n   * @requiredField policyId\n   * @param policyId - Policy ID.\n   * @permissionId WIX_EVENTS.READ_POLICIES\n   * @returns The requested policy.\n   */\n  function getPolicy(policyId: string): Promise<Policy>;\n  \n  type eventsV2Policy_universal_d_Policy = Policy;\n  type eventsV2Policy_universal_d_CreatePolicyRequest = CreatePolicyRequest;\n  type eventsV2Policy_universal_d_CreatePolicyResponse = CreatePolicyResponse;\n  type eventsV2Policy_universal_d_UpdatePolicyRequest = UpdatePolicyRequest;\n  type eventsV2Policy_universal_d_UpdatePolicyResponse = UpdatePolicyResponse;\n  type eventsV2Policy_universal_d_UpdatePolicySortIndexRequest = UpdatePolicySortIndexRequest;\n  type eventsV2Policy_universal_d_UpdatePolicySortIndexResponse = UpdatePolicySortIndexResponse;\n  type eventsV2Policy_universal_d_DeletePolicyRequest = DeletePolicyRequest;\n  type eventsV2Policy_universal_d_DeletePolicyResponse = DeletePolicyResponse;\n  type eventsV2Policy_universal_d_QueryPoliciesRequest = QueryPoliciesRequest;\n  type eventsV2Policy_universal_d_QueryPoliciesResponse = QueryPoliciesResponse;\n  type eventsV2Policy_universal_d_ReorderEventPoliciesRequest = ReorderEventPoliciesRequest;\n  type eventsV2Policy_universal_d_ReorderEventPoliciesRequestReferencePolicyOneOf = ReorderEventPoliciesRequestReferencePolicyOneOf;\n  type eventsV2Policy_universal_d_ReorderEventPoliciesResponse = ReorderEventPoliciesResponse;\n  type eventsV2Policy_universal_d_GetPolicyRequest = GetPolicyRequest;\n  type eventsV2Policy_universal_d_GetPolicyResponse = GetPolicyResponse;\n  type eventsV2Policy_universal_d_GetPolicyFromTrashBinRequest = GetPolicyFromTrashBinRequest;\n  type eventsV2Policy_universal_d_GetPolicyFromTrashBinResponse = GetPolicyFromTrashBinResponse;\n  const eventsV2Policy_universal_d_createPolicy: typeof createPolicy;\n  const eventsV2Policy_universal_d_updatePolicy: typeof updatePolicy;\n  type eventsV2Policy_universal_d_UpdatePolicy = UpdatePolicy;\n  type eventsV2Policy_universal_d_UpdatePolicyOptions = UpdatePolicyOptions;\n  const eventsV2Policy_universal_d_deletePolicy: typeof deletePolicy;\n  const eventsV2Policy_universal_d_queryPolicies: typeof queryPolicies;\n  type eventsV2Policy_universal_d_PoliciesQueryResult = PoliciesQueryResult;\n  type eventsV2Policy_universal_d_PoliciesQueryBuilder = PoliciesQueryBuilder;\n  const eventsV2Policy_universal_d_reorderEventPolicies: typeof reorderEventPolicies;\n  type eventsV2Policy_universal_d_ReorderEventPoliciesOptions = ReorderEventPoliciesOptions;\n  const eventsV2Policy_universal_d_getPolicy: typeof getPolicy;\n  namespace eventsV2Policy_universal_d {\n    export {\n      eventsV2Policy_universal_d_Policy as Policy,\n      eventsV2Policy_universal_d_CreatePolicyRequest as CreatePolicyRequest,\n      eventsV2Policy_universal_d_CreatePolicyResponse as CreatePolicyResponse,\n      eventsV2Policy_universal_d_UpdatePolicyRequest as UpdatePolicyRequest,\n      eventsV2Policy_universal_d_UpdatePolicyResponse as UpdatePolicyResponse,\n      eventsV2Policy_universal_d_UpdatePolicySortIndexRequest as UpdatePolicySortIndexRequest,\n      eventsV2Policy_universal_d_UpdatePolicySortIndexResponse as UpdatePolicySortIndexResponse,\n      eventsV2Policy_universal_d_DeletePolicyRequest as DeletePolicyRequest,\n      eventsV2Policy_universal_d_DeletePolicyResponse as DeletePolicyResponse,\n      eventsV2Policy_universal_d_QueryPoliciesRequest as QueryPoliciesRequest,\n      QueryV2$2 as QueryV2,\n      QueryV2PagingMethodOneOf$2 as QueryV2PagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      Paging$3 as Paging,\n      CursorPaging$3 as CursorPaging,\n      eventsV2Policy_universal_d_QueryPoliciesResponse as QueryPoliciesResponse,\n      PagingMetadataV2$3 as PagingMetadataV2,\n      Cursors$3 as Cursors,\n      eventsV2Policy_universal_d_ReorderEventPoliciesRequest as ReorderEventPoliciesRequest,\n      eventsV2Policy_universal_d_ReorderEventPoliciesRequestReferencePolicyOneOf as ReorderEventPoliciesRequestReferencePolicyOneOf,\n      eventsV2Policy_universal_d_ReorderEventPoliciesResponse as ReorderEventPoliciesResponse,\n      eventsV2Policy_universal_d_GetPolicyRequest as GetPolicyRequest,\n      eventsV2Policy_universal_d_GetPolicyResponse as GetPolicyResponse,\n      EventCopied$1 as EventCopied,\n      Location$3 as Location,\n      MapCoordinates$3 as MapCoordinates,\n      LocationType$3 as LocationType,\n      Address$3 as Address,\n      AddressStreetOneOf$3 as AddressStreetOneOf,\n      StreetAddress$3 as StreetAddress,\n      AddressLocation$3 as AddressLocation,\n      Subdivision$3 as Subdivision,\n      SubdivisionType$3 as SubdivisionType,\n      ScheduleConfig$3 as ScheduleConfig,\n      Recurrences$3 as Recurrences,\n      Occurrence$3 as Occurrence,\n      Status$3 as Status,\n      EventStatus$3 as EventStatus,\n      Empty$3 as Empty,\n      eventsV2Policy_universal_d_GetPolicyFromTrashBinRequest as GetPolicyFromTrashBinRequest,\n      eventsV2Policy_universal_d_GetPolicyFromTrashBinResponse as GetPolicyFromTrashBinResponse,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      eventsV2Policy_universal_d_createPolicy as createPolicy,\n      eventsV2Policy_universal_d_updatePolicy as updatePolicy,\n      eventsV2Policy_universal_d_UpdatePolicy as UpdatePolicy,\n      eventsV2Policy_universal_d_UpdatePolicyOptions as UpdatePolicyOptions,\n      eventsV2Policy_universal_d_deletePolicy as deletePolicy,\n      eventsV2Policy_universal_d_queryPolicies as queryPolicies,\n      eventsV2Policy_universal_d_PoliciesQueryResult as PoliciesQueryResult,\n      eventsV2Policy_universal_d_PoliciesQueryBuilder as PoliciesQueryBuilder,\n      eventsV2Policy_universal_d_reorderEventPolicies as reorderEventPolicies,\n      eventsV2Policy_universal_d_ReorderEventPoliciesOptions as ReorderEventPoliciesOptions,\n      eventsV2Policy_universal_d_getPolicy as getPolicy,\n    };\n  }\n  \n  interface V2Rsvp {\n      /**\n       * RSVP ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the RSVP is updated. To prevent conflicting changes, the existing revision must be used when updating the RSVP.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Event ID to which the RSVP belongs. */\n      eventId?: string | null;\n      /**\n       * Date and time when the RSVP was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the RSVP was update.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Site member ID. You can override the field value when updating RSVP. Overriding member ID requires the **WIX_EVENTS.MANAGE_RSVP** permission. */\n      memberId?: string | null;\n      /** Contact ID of a guest who filled in the RSVP form. See [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details. */\n      contactId?: string | null;\n      /** First name of a guest who filled in the RSVP form. */\n      firstName?: string | null;\n      /** Last name of a guest who filled in the RSVP form. */\n      lastName?: string | null;\n      /** Email of a guest who filled in the RSVP form. */\n      email?: string | null;\n      /** Event registration form. */\n      form?: FormResponse;\n      /** RSVP response status. */\n      status?: RsvpStatus;\n      /**\n       * Total number of guests per 1 RSVP.\n       * @readonly\n       */\n      totalGuests?: number | null;\n      /**\n       * Guest list.\n       * @readonly\n       */\n      guestList?: GuestList;\n      /**\n       * Site language code in the [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       * @readonly\n       */\n      language?: string | null;\n      /**\n       * Locale in the [IETF BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * @readonly\n       */\n      locale?: string | null;\n      /**\n       * Whether all guests are checked in.\n       * @readonly\n       */\n      fullyCheckedIn?: boolean | null;\n      /**\n       * How many guests are checked in.\n       * @readonly\n       */\n      checkedInGuestCount?: number | null;\n      /** Additional guest details. */\n      additionalGuestDetails?: AdditionalGuestDetails;\n      /** Whether the notifications are disabled. */\n      disableNotifications?: boolean | null;\n      /**\n       * Guest login details for accessing the online conference event.\n       * @readonly\n       */\n      onlineConferencingLogin?: OnlineConferencingLogin;\n      /**\n       * Whether the RSVP is anonymized.\n       * @readonly\n       */\n      anonymized?: boolean | null;\n      /**\n       * Email domain of a guest who filled in the RSVP form.\n       * @internal\n       * @readonly\n       */\n      emailDomain?: string | null;\n      /**\n       * Custom field data for the RSVP object.\n       *\n       * **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.\n       */\n      extendedFields?: ExtendedFields$1;\n  }\n  interface FormResponse {\n      inputValues?: InputValue[];\n  }\n  interface InputValue {\n      inputName?: string;\n      value?: string;\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date | null;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress;\n  }\n  interface FormattedAddress {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: CommonAddress$2;\n  }\n  /** Physical address */\n  interface CommonAddress$2 extends CommonAddressStreetOneOf$2 {\n      /** Street name and number. */\n      streetAddress?: CommonStreetAddress$2;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: CommonAddressLocation$2;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: CommonSubdivision$2[];\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf$2 {\n      /** Street name and number. */\n      streetAddress?: CommonStreetAddress$2;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface CommonStreetAddress$2 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface CommonAddressLocation$2 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface CommonSubdivision$2 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$2;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n      /**\n       * Standard organizations details (e.g. ISO).\n       * @internal\n       */\n      standardDetails?: StandardDetails;\n  }\n  enum SubdivisionType$2 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  /** Subdivision Concordance values */\n  interface StandardDetails {\n      /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */\n      iso31662?: string | null;\n  }\n  enum RsvpStatus {\n      /** Unknown status. This value is not used. */\n      UNKNOWN_RSVP_STATUS = \"UNKNOWN_RSVP_STATUS\",\n      /** Guest is attending the event. */\n      YES = \"YES\",\n      /** Guest is not attending the event. */\n      NO = \"NO\",\n      /** Guest is in a waitlist. */\n      WAITLIST = \"WAITLIST\"\n  }\n  interface GuestList {\n      /** List of guests. */\n      guests?: Guest[];\n  }\n  interface Guest {\n      /** Index in the guest list. */\n      index?: number | null;\n      /** Full name. */\n      fullName?: string | null;\n      /** Check-in details. */\n      checkInDetails?: CheckInDetails;\n      /** Guest ID. */\n      guestId?: number | null;\n  }\n  interface CheckInDetails {\n      /** Whether the guest has checked in. */\n      checkedIn?: boolean | null;\n      /** Check-in date. */\n      checkInDate?: Date | null;\n  }\n  interface AdditionalGuestDetails {\n      /** Number of additional guests. */\n      guestCount?: number | null;\n      /** Names of additional guests. */\n      guestNames?: string[] | null;\n  }\n  interface OnlineConferencingLogin {\n      /**\n       * Link URL to the online conference.\n       * @readonly\n       */\n      link?: string;\n      /**\n       * Password for the online conference.\n       * @readonly\n       */\n      password?: string | null;\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface SearchRsvpsRequest {\n      /** Search options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      search?: CursorSearch;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n       */\n      sort?: Sorting$2[];\n      /**\n       * Logical groupings of data into facets, with summaries for each facet.\n       * For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories.\n       */\n      aggregations?: Aggregation[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n      /**\n       * Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format.\n       * Applies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, \"2023-12-20T10:52:34.795Z\".\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Aggregation extends AggregationKindOneOf {\n      /** A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of products for each price listed in the store. */\n      value?: ValueAggregation;\n      /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n      range?: RangeAggregation;\n      /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n      scalar?: ScalarAggregation;\n      /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n      dateHistogram?: DateHistogramAggregation;\n      /** A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on `discountedPriceNumeric`, and a second value aggregation on `inStock`. */\n      nested?: NestedAggregation;\n      /** Aggregation name displayed in the return. */\n      name?: string | null;\n      /** Type of aggregation to perform. */\n      type?: AggregationType;\n      /**\n       * Field to aggregate by.\n       * Use dot notation to specify a JSON path. For example, `order.address.streetName`.\n       */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      /** A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of products for each price listed in the store. */\n      value?: ValueAggregation;\n      /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n      range?: RangeAggregation;\n      /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n      scalar?: ScalarAggregation;\n      /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n      dateHistogram?: DateHistogramAggregation;\n      /** A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on `discountedPriceNumeric`, and a second value aggregation on `inStock`. */\n      nested?: NestedAggregation;\n  }\n  interface RangeBucket {\n      /** Inclusive lower bound of the range. Required if `to` is not given. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if `from` is not given. */\n      to?: number | null;\n  }\n  enum SortType {\n      /** Number of matches in the results. */\n      COUNT = \"COUNT\",\n      /** Alphabetically by the field value. */\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection {\n      /** Descending order. */\n      DESC = \"DESC\",\n      /** Ascending order. */\n      ASC = \"ASC\"\n  }\n  enum MissingValues {\n      /** Exclude missing values from the aggregation results. */\n      EXCLUDE = \"EXCLUDE\",\n      /** Include missing values in the aggregation results. */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions {\n      /**\n       * Specify a custom name for the bucket containing the missing values.\n       * Defaults: `\"N/A\"` for strings, `0` for integers, and `false` for booleans.\n       */\n      addToBucket?: string;\n  }\n  enum ScalarType {\n      /** Unknown scalar type. This value is not used. */\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Total number of distinct values. */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value. */\n      MIN = \"MIN\",\n      /** Maximum value. */\n      MAX = \"MAX\",\n      /** Sum of values. */\n      SUM = \"SUM\",\n      /** Average of values. */\n      AVG = \"AVG\"\n  }\n  interface ValueAggregation extends ValueAggregationOptionsOneOf {\n      /**\n       * Whether to include or exclude missing values in the aggregation results.\n       * Default: `EXCLUDE`.\n       */\n      includeOptions?: IncludeMissingValuesOptions;\n      /** Sort type. */\n      sortType?: SortType;\n      /** Sort direction. */\n      sortDirection?: SortDirection;\n      /**\n       * Number of aggregation results to return.\n       * Min: `1`\n       * Max: `250`\n       * Default: `10`\n       */\n      limit?: number | null;\n      /** Whether to include or exclude missing values from the aggregation results. Default: `EXCLUDE`. */\n      missingValues?: MissingValues;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf {\n      /**\n       * Whether to include or exclude missing values in the aggregation results.\n       * Default: `EXCLUDE`.\n       */\n      includeOptions?: IncludeMissingValuesOptions;\n  }\n  enum NestedAggregationType {\n      /** Unknown aggregation type. This value is not used. */\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */\n      VALUE = \"VALUE\",\n      /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */\n      RANGE = \"RANGE\",\n      /** Calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n      SCALAR = \"SCALAR\",\n      /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface RangeAggregation {\n      /** List of range buckets. During aggregation each entity is placed in the first bucket its value falls into, based on the provided range bounds. */\n      buckets?: RangeBucket[];\n  }\n  interface ScalarAggregation {\n      /** Operator type for the scalar aggregation. */\n      type?: ScalarType;\n  }\n  interface DateHistogramAggregation {\n      /** Interval for date histogram aggregation */\n      interval?: Interval;\n  }\n  enum Interval {\n      /** Unknown interval. This value is not used. */\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      YEAR = \"YEAR\",\n      MONTH = \"MONTH\",\n      WEEK = \"WEEK\",\n      DAY = \"DAY\",\n      HOUR = \"HOUR\",\n      MINUTE = \"MINUTE\",\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      /** A value aggregation calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of orders for each order status. */\n      value?: ValueAggregation;\n      /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */\n      range?: RangeAggregation;\n      /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n      scalar?: ScalarAggregation;\n      /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). For example, use a date histogram to determine how many reservations have been made at a restaurant each week. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */\n      dateHistogram?: DateHistogramAggregation;\n      /** Unique, caller-defined aggregation name, returned in `aggregations.results`. */\n      name?: string | null;\n      /** Type of aggregation to perform. The matching aggregation field must be passed. */\n      type?: NestedAggregationType;\n      /**\n       * Field to aggregate by.\n       * Use dot notation to specify a JSON path. For example, `order.address.streetName`.\n       */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      /** A value aggregation calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of orders for each order status. */\n      value?: ValueAggregation;\n      /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */\n      range?: RangeAggregation;\n      /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n      scalar?: ScalarAggregation;\n      /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). For example, use a date histogram to determine how many reservations have been made at a restaurant each week. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */\n      dateHistogram?: DateHistogramAggregation;\n  }\n  enum AggregationType {\n      /** Unknown type. This value is not used. */\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */\n      VALUE = \"VALUE\",\n      /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */\n      RANGE = \"RANGE\",\n      /** Calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n      SCALAR = \"SCALAR\",\n      /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Flattened list of aggregations, where each aggregation is nested within previous one. */\n      NESTED = \"NESTED\"\n  }\n  /** Flattened list of aggregations, where each aggregation is nested within previous one. */\n  interface NestedAggregation {\n      /** Flattened list of aggregations, where each aggregation is nested within previous one. */\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface SearchDetails {\n      /** Search mode. Defines the search logic for combining multiple terms in the `expression`. */\n      mode?: Mode;\n      /** Search term or expression. */\n      expression?: string | null;\n      /**\n       * Fields to search in. If the array is empty, all searchable fields are searched.\n       * Use dot notation to specify a JSON path. For example, For example, `order.address.streetName`.\n       */\n      fields?: string[];\n      /** Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** At least one of the search terms must be present. */\n      OR = \"OR\",\n      /** Searches by all provided words. */\n      AND = \"AND\"\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  enum RequestedFields$1 {\n      /** Unknown requested field. This value is not used. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Returns `createdDate`, `updatedDate`, `firstName`, `lastName`, `totalGuests`, `guests`. */\n      DETAILS = \"DETAILS\",\n      /** Returns `form`. */\n      FORM = \"FORM\",\n      /** Returns `email`. */\n      CONTACT_DETAILS = \"CONTACT_DETAILS\"\n  }\n  interface SearchRsvpsResponse {\n      /** List of RSVPs. */\n      rsvps?: V2Rsvp[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: CursorPagingMetadata;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$2;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AggregationData {\n      /** List of the aggregated data results. */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      /** Value of the field. */\n      value?: string;\n      /** Total number of entities with this value. */\n      count?: number;\n  }\n  interface RangeAggregationResult {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in this range. */\n      count?: number;\n  }\n  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** Unique, caller-defined aggregation name, identifiable by the requested aggregation `name`. */\n      name?: string;\n      /** Aggregation type. */\n      type?: AggregationType;\n      /** Field which the data was aggregated by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n  }\n  interface ValueResults {\n      /** List of ranges returned in the same order as requested. */\n      results?: ValueAggregationResult[];\n  }\n  interface RangeResults {\n      /** List of ranges returned in same order as requested. */\n      results?: RangeAggregationResult[];\n  }\n  interface AggregationResultsScalarResult {\n      /** Type of scalar aggregation. */\n      type?: ScalarType;\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedValueAggregationResult {\n      /** Value of the field. */\n      value?: string;\n      /** Nested aggregations. */\n      nestedResults?: NestedAggregationResults;\n  }\n  interface ValueResult {\n      /** Value of the field. */\n      value?: string;\n      /** Total number of entities with this value. */\n      count?: number | null;\n  }\n  interface RangeResult {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Total number of entities in this range. */\n      count?: number | null;\n  }\n  interface ScalarResult {\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation result. */\n      value?: ValueResult;\n      /** Range aggregation result. */\n      range?: RangeResult;\n      /** Scalar aggregation result. */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result. */\n      dateHistogram?: ValueResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation result. */\n      value?: ValueResult;\n      /** Range aggregation result. */\n      range?: RangeResult;\n      /** Scalar aggregation result. */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result. */\n      dateHistogram?: ValueResult;\n  }\n  interface Results {\n      /** List of nested aggregations. */\n      results?: Record<string, NestedResultValue>;\n  }\n  interface DateHistogramResult {\n      /** Date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. */\n      value?: string;\n      /** Total number of entities in the bucket. */\n      count?: number;\n  }\n  interface GroupByValueResults {\n      /** List of value aggregations. */\n      results?: NestedValueAggregationResult[];\n  }\n  interface DateHistogramResults {\n      /** List of date histogram aggregations. */\n      results?: DateHistogramResult[];\n  }\n  /** Results of `NESTED` aggregation type in a flattened array, identifiable by the requested aggregation `name`. */\n  interface NestedResults {\n      /** List of nested aggregations. */\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results. */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n      /** Aggregation name displayed in the return. */\n      name?: string;\n      /** Type of aggregation that was performed. */\n      type?: AggregationType;\n      /** Field which the data was aggregated by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results. */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n  }\n  interface SearchRsvpsWithOffsetRequest {\n      /** Search options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      search?: Search;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  interface Search extends SearchPagingMethodOneOf {\n      /** Paging options to limit and offset the number of items. */\n      paging?: Paging$2;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n       */\n      sort?: Sorting$2[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n      /**\n       * Logical groupings of data into facets, with summaries for each facet.\n       * For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories.\n       */\n      aggregations?: Aggregation[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n      /**\n       * Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format.\n       * Applies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, \"2023-12-20T10:52:34.795Z\".\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface SearchPagingMethodOneOf {\n      /** Paging options to limit and offset the number of items. */\n      paging?: Paging$2;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface SearchRsvpsWithOffsetResponse {\n      /** List of RSVPs. */\n      rsvps?: V2Rsvp[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$2;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface PagingMetadataV2$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryRsvpsRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query?: CursorQuery;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface QueryRsvpsResponse {\n      /** List of RSVPs. */\n      rsvps?: V2Rsvp[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CountRsvpsRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /** Search details. */\n      search?: SearchDetails;\n  }\n  interface CountRsvpsResponse {\n      /** Number of RSVPs. */\n      count?: number;\n  }\n  interface GetRsvpRequest {\n      /** RSVP ID. */\n      rsvpId: string;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  interface GetRsvpResponse {\n      /** The requested RSVP. */\n      rsvp?: V2Rsvp;\n  }\n  interface CreateRsvpRequest {\n      /** RSVP info. */\n      rsvp: V2Rsvp;\n      /** RSVP options. <br> The **WIX_EVENTS.MANAGE_RSVP** permission is required. */\n      options?: ModificationOptions;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  interface ModificationOptions {\n      /** Whether to create or update RSVP regardless of event's guest limit. */\n      ignoreLimits?: boolean;\n      /** Whether to ignore the form validation. */\n      ignoreFormValidation?: boolean;\n      /** Whether to ignore response status. */\n      ignoreResponseStatus?: boolean;\n      /** Whether to ignore additional guest names validation. */\n      ignoreAdditionalGuestNames?: boolean;\n  }\n  interface CreateRsvpResponse {\n      /** Created RSVP. */\n      rsvp?: V2Rsvp;\n      /** \"Add to calendar\" links. */\n      calendarLinks?: CalendarLinks$2;\n  }\n  interface CalendarLinks$2 {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  interface GuestLimitExceededData {\n      /** Max rsvp guest list size. */\n      maxRsvpSize?: number;\n  }\n  interface UpdateRsvpRequest {\n      /** RSVP to update. */\n      rsvp: V2Rsvp;\n      /**\n       * List of exact fields to update. For example, if you define only the `firstName`, all other fields are ignored.\n       * @internal\n       */\n      fieldMask: string[];\n      /** RSVP options. <br> The **WIX_EVENTS.MANAGE_RSVP** permission is required to pass these fields. */\n      options?: ModificationOptions;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  interface UpdateRsvpResponse {\n      /** Updated RSVP. */\n      rsvp?: V2Rsvp;\n  }\n  interface DeleteRsvpRequest {\n      /** ID of RSVP to delete. */\n      rsvpId: string | null;\n  }\n  interface DeleteRsvpResponse {\n  }\n  interface BulkUpdateRsvpRequest {\n      /** RSVPs to update. */\n      rsvps: MaskedRsvp[];\n      /** Whether to return the whole `rsvp` object in the response. If `false`, only metadata is returned. */\n      returnEntity?: boolean;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n      /** RSVP options. <br> The **WIX_EVENTS.MANAGE_RSVP** permission is required to pass these fields. */\n      options?: ModificationOptions;\n  }\n  interface MaskedRsvp {\n      /** RSVP to update. */\n      rsvp?: V2Rsvp;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateRsvpResponse {\n      /** Response of bulk update. */\n      results?: BulkRsvpResult[];\n      /** Response metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkRsvpResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Updated RSVP. */\n      rsvp?: V2Rsvp;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkDeleteRsvpsByFilterRequest {\n      /** Filter object. */\n      filter: Record<string, any> | null;\n      /** Search details. */\n      search?: SearchDetails;\n  }\n  interface BulkDeleteRsvpsByFilterResponse {\n      /** Job ID. Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata. */\n      jobId?: string;\n  }\n  interface CheckInRsvpGuestsRequest {\n      /** ID of RSVP to check-in. */\n      rsvpId: string | null;\n      /** IDs of guests to check-in. */\n      guestIds?: number[];\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  interface CheckInRsvpGuestsResponse {\n      /** Updated RSVP. */\n      rsvp?: V2Rsvp;\n  }\n  interface CancelRsvpGuestsCheckInRequest {\n      /** ID of RSVP to cancel check-in. */\n      rsvpId: string;\n      /** IDs of guests to check-in. */\n      guestIds?: number[];\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  interface CancelRsvpGuestsCheckInResponse {\n      /** Updated RSVP. */\n      rsvp?: V2Rsvp;\n  }\n  interface ListRsvpSummaryRequest {\n      /** Event ID. */\n      eventId: string[] | null;\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  interface ListRsvpSummaryResponse {\n      /** List of RSVP summary. */\n      summaries?: V2RsvpSummary[];\n  }\n  interface V2RsvpSummary {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      eventId?: string | null;\n      /**\n       * Number of RSVPs that answered `yes`.\n       * @readonly\n       */\n      yesGuestCount?: number | null;\n      /**\n       * Number of RSVPs that answered `no`.\n       * @readonly\n       */\n      noGuestCount?: number | null;\n      /**\n       * Number of RSVPs that are in the waitlist.\n       * @readonly\n       */\n      waitlistGuestCount?: number | null;\n      /**\n       * Total number of RSVPs.\n       * @readonly\n       */\n      totalRsvpCount?: number | null;\n  }\n  interface CompareRsvpSummaryRequest {\n      /** Event ID. */\n      eventId?: string | null;\n      /** Whether to apply fixes. */\n      applyFix?: boolean | null;\n  }\n  interface CompareRsvpSummaryResponse {\n      /** Actual Rsvp summary. */\n      actualSummary?: V2RsvpSummary;\n      /** Persisted Rsvp summary. */\n      persistedSummary?: V2RsvpSummary;\n  }\n  interface EventCreated$2 {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$2;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$2;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus$2;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n      /** Event that was created. */\n      event?: Event$2;\n  }\n  interface Location$2 {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates$2;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationType$2;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address$2;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates$2 {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationType$2 {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address$2 extends AddressStreetOneOf$2 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$2;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation$2;\n      /** country full-name */\n      countryFullname?: string | null;\n      /** multi-level subdivisions from top to bottom */\n      subdivisions?: Subdivision$2[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$2 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$2;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$2 {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /**\n       * apartment number\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation$2 {\n      /** address latitude coordinates */\n      latitude?: number | null;\n      /** address longitude coordinates */\n      longitude?: number | null;\n  }\n  interface Subdivision$2 {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /**\n       * subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$2;\n      /**\n       * free text description of subdivision type\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  interface ScheduleConfig$2 {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: Recurrences$2;\n  }\n  interface Recurrences$2 {\n      /** Event occurrences. */\n      occurrences?: Occurrence$2[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: Status$2;\n  }\n  interface Occurrence$2 {\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum Status$2 {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  enum EventStatus$2 {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface Event$2 {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Event location. */\n      location?: Location$2;\n      /** Event scheduling. */\n      scheduling?: Scheduling$2;\n      /** Event title. */\n      title?: string;\n      /** Event description. */\n      description?: string;\n      /** Rich-text content displayed in Wix UI - \"About Event\" section (HTML). */\n      about?: string;\n      /** Main event image. */\n      mainImage?: string;\n      /** Event slug URL (generated from event title). */\n      slug?: string;\n      /** ISO 639-1 language code of the event (used in content translations). */\n      language?: string;\n      /** Event creation timestamp. */\n      created?: Date | null;\n      /** Event modified timestamp. */\n      modified?: Date | null;\n      /** Event status. */\n      status?: EventStatus$2;\n      /** RSVP or ticketing registration details. */\n      registration?: Registration$2;\n      /** \"Add to calendar\" URLs. */\n      calendarLinks?: CalendarLinks$2;\n      /** Event page URL components. */\n      eventPageUrl?: SiteUrl$2;\n      /** Event registration form. */\n      form?: Form$2;\n      /** Event dashboard summary of RSVP / ticket sales. */\n      dashboard?: Dashboard$2;\n      /** Instance ID of the site where event is hosted. */\n      instanceId?: string;\n      /** Guest list configuration. */\n      guestListConfig?: GuestListConfig$2;\n      /** Event creator user ID. */\n      userId?: string;\n      /** Event discussion feed. For internal use. */\n      feed?: Feed$2;\n      /** Online conferencing details. */\n      onlineConferencing?: OnlineConferencing$2;\n      /** SEO settings. */\n      seoSettings?: SeoSettings$2;\n      /** Assigned contacts label key. */\n      assignedContactsLabel?: string | null;\n      /** Agenda details. */\n      agenda?: Agenda$2;\n      /** Categories this event is assigned to. */\n      categories?: Category$2[];\n      /** Visual settings for event. */\n      eventDisplaySettings?: EventDisplaySettings$2;\n      /**\n       * @internal\n       * @readonly\n       */\n      customizableTickets?: boolean | null;\n      /**\n       * Labelling related data.\n       * @internal\n       */\n      labellingSettings?: LabellingSettings$2;\n  }\n  interface Scheduling$2 {\n      /** Schedule configuration. */\n      config?: ScheduleConfig$2;\n      /** Formatted schedule representation. */\n      formatted?: string;\n      /** Formatted start date of the event (empty for TBD schedules). */\n      startDateFormatted?: string;\n      /** Formatted start time of the event (empty for TBD schedules). */\n      startTimeFormatted?: string;\n      /** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */\n      endDateFormatted?: string;\n      /** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */\n      endTimeFormatted?: string;\n  }\n  interface Registration$2 {\n      /** Event type. */\n      type?: EventType$2;\n      /** Event registration status. */\n      status?: RegistrationStatus$2;\n      /** RSVP collection details. */\n      rsvpCollection?: RsvpCollection$2;\n      /** Ticketing details. */\n      ticketing?: Ticketing$2;\n      /** External registration details. */\n      external?: ExternalEvent$2;\n      /** Types of users allowed to register. */\n      restrictedTo?: VisitorType$2;\n      /** Initial event type which was set when creating an event. */\n      initialType?: EventType$2;\n  }\n  enum EventType$2 {\n      /** Type not available for this request fieldset */\n      NA_EVENT_TYPE = \"NA_EVENT_TYPE\",\n      /** Registration via RSVP */\n      RSVP = \"RSVP\",\n      /** Registration via ticket purchase */\n      TICKETS = \"TICKETS\",\n      /** External registration */\n      EXTERNAL = \"EXTERNAL\",\n      /** Registration not available */\n      NO_REGISTRATION = \"NO_REGISTRATION\"\n  }\n  enum RegistrationStatus$2 {\n      /** Registration status is not applicable */\n      NA_REGISTRATION_STATUS = \"NA_REGISTRATION_STATUS\",\n      /** Registration to event is closed */\n      CLOSED = \"CLOSED\",\n      /** Registration to event is closed manually */\n      CLOSED_MANUALLY = \"CLOSED_MANUALLY\",\n      /** Registration is open via RSVP */\n      OPEN_RSVP = \"OPEN_RSVP\",\n      /** Registration to event waitlist is open via RSVP */\n      OPEN_RSVP_WAITLIST = \"OPEN_RSVP_WAITLIST\",\n      /** Registration is open via ticket purchase */\n      OPEN_TICKETS = \"OPEN_TICKETS\",\n      /** Registration is open via external URL */\n      OPEN_EXTERNAL = \"OPEN_EXTERNAL\",\n      /** Registration will be open via RSVP */\n      SCHEDULED_RSVP = \"SCHEDULED_RSVP\"\n  }\n  interface RsvpCollection$2 {\n      /** RSVP collection configuration. */\n      config?: RsvpCollectionConfig$2;\n  }\n  interface RsvpCollectionConfig$2 {\n      /** Defines the supported RSVP statuses. */\n      rsvpStatusOptions?: RsvpStatusOptions$2;\n      /**\n       * Total guest limit available to register to the event.\n       * Additional guests per RSVP are counted towards total guests.\n       */\n      limit?: number | null;\n      /** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */\n      waitlist?: boolean;\n      /** Registration start timestamp. */\n      startDate?: Date | null;\n      /** Registration end timestamp. */\n      endDate?: Date | null;\n  }\n  enum RsvpStatusOptions$2 {\n      /** Only YES RSVP status is available for RSVP registration */\n      YES_ONLY = \"YES_ONLY\",\n      /** YES and NO RSVP status options are available for the registration */\n      YES_AND_NO = \"YES_AND_NO\"\n  }\n  interface Ticketing$2 {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      lowestPrice?: string | null;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      highestPrice?: string | null;\n      /** Currency used in event transactions. */\n      currency?: string | null;\n      /** Ticketing configuration. */\n      config?: TicketingConfig$2;\n      /**\n       * Price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPrice?: Money$2;\n      /**\n       * Price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPrice?: Money$2;\n      /**\n       * Formatted price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPriceFormatted?: string | null;\n      /**\n       * Formatted price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPriceFormatted?: string | null;\n      /**\n       * Whether all tickets are sold for this event.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n  }\n  interface TicketingConfig$2 {\n      /** Whether the form must be filled out separately for each ticket. */\n      guestAssignedTickets?: boolean;\n      /** Tax configuration. */\n      taxConfig?: TaxConfig$2;\n      /** Limit of tickets that can be purchased per order, default 20. */\n      ticketLimitPerOrder?: number;\n      /**\n       * App Id for external ticket stock management.\n       * By default tickets stock is defined in TicketDefinition object.\n       * If defined then limitation from TicketDefinition is ignored.\n       * @internal\n       */\n      stockManagerAppId?: string | null;\n      /** Duration for which the tickets being bought are reserved. */\n      reservationDurationInMinutes?: number | null;\n  }\n  interface TaxConfig$2 {\n      /** Tax application settings. */\n      type?: TaxType$2;\n      /** Tax name. */\n      name?: string | null;\n      /** Tax rate (e.g.,`21.55`). */\n      rate?: string | null;\n      /** Applies taxes for donations, default true. */\n      appliesToDonations?: boolean | null;\n  }\n  enum TaxType$2 {\n      /** Tax is included in the ticket price. */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout. */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout. */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Money$2 {\n      /**\n       * *Deprecated:** Use `value` instead.\n       * @deprecated\n       */\n      amount?: string;\n      /** ISO 4217 format of the currency e.g., `USD`. */\n      currency?: string;\n      /** 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. */\n      value?: string | null;\n  }\n  interface ExternalEvent$2 {\n      /** External event registration URL. */\n      registration?: string;\n  }\n  enum VisitorType$2 {\n      /** Site visitor (including member) */\n      VISITOR = \"VISITOR\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Site visitor or member */\n      VISITOR_OR_MEMBER = \"VISITOR_OR_MEMBER\"\n  }\n  /** Site URL components */\n  interface SiteUrl$2 {\n      /**\n       * Base URL. For premium sites, this will be the domain.\n       * For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`)\n       */\n      base?: string;\n      /** The path to that page - e.g `/my-events/weekly-meetup-2` */\n      path?: string;\n  }\n  /**\n   * The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout).\n   * It also contains customizable messages and labels.\n   *\n   *\n   * A form is an ordered list of controls (blocks), which accept guest information into a field input.\n   *\n   * Each control contains one or more nested inputs. For example, `Name` control has two inputs:\n   * - First Name\n   * - Last Name\n   *\n   * By default, name and email controls are always required and are pinned to the top of the form.\n   */\n  interface Form$2 {\n      /** Nested fields as an ordered list. */\n      controls?: InputControl$2[];\n      /** Set of configured form messages. */\n      messages?: FormMessages$2;\n  }\n  /**\n   * A block of nested fields.\n   * Used to aggregate similar inputs like First Name and Last Name.\n   */\n  interface InputControl$2 {\n      /** Field control type. */\n      type?: InputControlType$2;\n      /** Whether control is mandatory (such as name & email). When true, only label can be changed. */\n      system?: boolean;\n      /**\n       * Deprecated: Use `id`.\n       * @deprecated\n       */\n      name?: string;\n      /** Child inputs. */\n      inputs?: Input$2[];\n      /**\n       * Deprecated: use `inputs.label`.\n       * @deprecated\n       */\n      label?: string;\n      /** Field controls are sorted by this value in ascending order. */\n      orderIndex?: number;\n      /** Unique control ID. */\n      _id?: string;\n      /**\n       * Whether input control is deleted.\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  enum InputControlType$2 {\n      /** Single text value field. */\n      INPUT = \"INPUT\",\n      /** Single text value field. */\n      TEXTAREA = \"TEXTAREA\",\n      /** Single-choice field of predefined values. */\n      DROPDOWN = \"DROPDOWN\",\n      /** Single-choice field of predefined values. */\n      RADIO = \"RADIO\",\n      /** Multiple-choice field of predefined values. */\n      CHECKBOX = \"CHECKBOX\",\n      /** First and last name fields. */\n      NAME = \"NAME\",\n      /** Additional guests and respective guest names fields. */\n      GUEST_CONTROL = \"GUEST_CONTROL\",\n      /** Single-line address field. */\n      ADDRESS_SHORT = \"ADDRESS_SHORT\",\n      /** Full address field. */\n      ADDRESS_FULL = \"ADDRESS_FULL\",\n      /** Year, month and day fields. */\n      DATE = \"DATE\"\n  }\n  /** An input of one or multiple text values */\n  interface Input$2 {\n      /** Field name. */\n      name?: string;\n      /**\n       * Deprecated: use `ValueType.TEXT_ARRAY`.\n       * @deprecated\n       */\n      array?: boolean;\n      /** Main field label */\n      label?: string;\n      /** Additional labels for multi-valued fields such as address. */\n      additionalLabels?: Record<string, string>;\n      /** Predefined choice options for fields, such as dropdown. */\n      options?: string[];\n      /** Whether field is mandatory. */\n      mandatory?: boolean;\n      /** Maximum number of accepted characters (relevant for text fields). */\n      maxLength?: number;\n      /**\n       * Type which determines field format.\n       * Used to validate submitted response.\n       */\n      type?: ValueType$2;\n      /**\n       * A maximum accepted values for array input.\n       * Only applicable for inputs of valueType: TEXT_ARRAY.\n       */\n      maxSize?: number | null;\n      /**\n       * Preselected option.\n       * Currently only applicable for dropdown.\n       */\n      defaultOptionSelection?: OptionSelection$2;\n      /**\n       * Additional labels for multi-valued fields such as address.\n       * @readonly\n       */\n      labels?: Label$2[];\n  }\n  enum ValueType$2 {\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      TEXT_ARRAY = \"TEXT_ARRAY\",\n      DATE_TIME = \"DATE_TIME\",\n      ADDRESS = \"ADDRESS\"\n  }\n  /**\n   * Describes initially selected option when an input has multiple choices.\n   * Defaults to first (0th) option if not configured.\n   */\n  interface OptionSelection$2 extends OptionSelectionSelectedOptionOneOf$2 {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  /** @oneof */\n  interface OptionSelectionSelectedOptionOneOf$2 {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  interface Label$2 {\n      /** Field name. */\n      name?: string;\n      /** Field label. */\n      label?: string;\n  }\n  /**\n   * Defines form messages shown in UI before, during, and after registration flow.\n   * It enables configuration of form titles, response labels, \"thank you\" messages, and call-to-action texts.\n   */\n  interface FormMessages$2 {\n      /** RSVP form messages. */\n      rsvp?: RsvpFormMessages$2;\n      /** Checkout form messages. */\n      checkout?: CheckoutFormMessages$2;\n      /** Messages shown when event registration is closed. */\n      registrationClosed?: RegistrationClosedMessages$2;\n      /** Messages shown when event tickets are unavailable. */\n      ticketsUnavailable?: TicketsUnavailableMessages$2;\n  }\n  interface RsvpFormMessages$2 {\n      /** Label text indicating RSVP `YES` response. */\n      rsvpYesOption?: string;\n      /** Label text indicating RSVP `NO` response. */\n      rsvpNoOption?: string;\n      /** Messages shown for RSVP = `YES`. */\n      positiveMessages?: Positive$2;\n      /** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */\n      waitlistMessages?: Positive$2;\n      /** Messages shown for RSVP = `NO`. */\n      negativeMessages?: Negative$2;\n      /** \"Submit form\" call-to-action label text. */\n      submitActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface PositiveResponseConfirmation$2 {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarActionLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface NegativeResponseConfirmation$2 {\n      /** Confirmation message title. */\n      title?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Set of messages shown during registration when RSVP response is positive. */\n  interface Positive$2 {\n      /** Main form title for positive response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: PositiveResponseConfirmation$2;\n  }\n  /** A set of messages shown during registration with negative response */\n  interface Negative$2 {\n      /** Main form title for negative response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: NegativeResponseConfirmation$2;\n  }\n  interface CheckoutFormMessages$2 {\n      /** Main form title for response. */\n      title?: string;\n      /** Submit form call-to-action label text. */\n      submitActionLabel?: string;\n      /** Confirmation messages shown after checkout. */\n      confirmation?: ResponseConfirmation$2;\n  }\n  /** Confirmation messages shown after checkout. */\n  interface ResponseConfirmation$2 {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Download tickets\" call-to-action label text. */\n      downloadTicketsLabel?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareEventLabel?: string;\n  }\n  interface RegistrationClosedMessages$2 {\n      /** Message shown when event registration is closed. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface TicketsUnavailableMessages$2 {\n      /** Message shown when event tickets are unavailable. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface Dashboard$2 {\n      /** Guest RSVP summary. */\n      rsvpSummary?: RsvpSummary$2;\n      /**\n       * Summary of revenue and tickets sold.\n       * (Archived orders are not included).\n       */\n      ticketingSummary?: TicketingSummary$2;\n  }\n  interface RsvpSummary$2 {\n      /** Total number of RSVPs. */\n      total?: number;\n      /** Number of RSVPs with status `YES`. */\n      yes?: number;\n      /** Number of RSVPs with status `NO`. */\n      no?: number;\n      /** Number of RSVPs in waitlist. */\n      waitlist?: number;\n  }\n  interface TicketingSummary$2 {\n      /** Number of tickets sold. */\n      tickets?: number;\n      /**\n       * Total revenue, excluding fees.\n       * (taxes and payment provider fees are not deducted.)\n       */\n      revenue?: Money$2;\n      /** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */\n      currencyLocked?: boolean;\n      /** Number of orders placed. */\n      orders?: number;\n      /** Total balance of confirmed transactions. */\n      totalSales?: Money$2;\n  }\n  interface GuestListConfig$2 {\n      /** Whether members can see other members attending the event (defaults to true). */\n      publicGuestList?: boolean;\n  }\n  interface Feed$2 {\n      /** Event discussion feed token. */\n      token?: string;\n  }\n  interface OnlineConferencing$2 {\n      config?: OnlineConferencingConfig$2;\n      session?: OnlineConferencingSession$2;\n      /**\n       * Configured conferencing provider name.\n       * @internal\n       * @readonly\n       */\n      providerName?: string;\n  }\n  interface OnlineConferencingConfig$2 {\n      /**\n       * Whether online conferencing is enabled (not supported for TBD schedules).\n       * When enabled, links to join conferencing are generated and provided to guests.\n       */\n      enabled?: boolean;\n      /** Conferencing provider ID. */\n      providerId?: string | null;\n      /** Conference type */\n      conferenceType?: ConferenceType$2;\n  }\n  enum ConferenceType$2 {\n      /** Everyone in the meeting can publish and subscribe video and audio. */\n      MEETING = \"MEETING\",\n      /** Guests can only subscribe to video and audio. */\n      WEBINAR = \"WEBINAR\"\n  }\n  interface OnlineConferencingSession$2 {\n      /**\n       * Link for event host to start the online conference session.\n       * @readonly\n       */\n      hostLink?: string;\n      /**\n       * Link for guests to join the online conference session.\n       * @readonly\n       */\n      guestLink?: string;\n      /**\n       * The password required to join online conferencing session (when relevant).\n       * @readonly\n       */\n      password?: string | null;\n      /**\n       * Indicates that session was created successfully on providers side.\n       * @readonly\n       */\n      sessionCreated?: boolean | null;\n      /**\n       * Unique session id\n       * @readonly\n       */\n      sessionId?: string | null;\n  }\n  interface SeoSettings$2 {\n      /** URL slug */\n      slug?: string;\n      /** Advanced SEO data */\n      advancedSeoData?: SeoSchema$2;\n      /**\n       * Hidden from SEO Site Map\n       * @readonly\n       */\n      hidden?: boolean | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$2 {\n      /** SEO tag information. */\n      tags?: Tag$2[];\n      /** SEO general settings. */\n      settings?: Settings$2;\n  }\n  interface Keyword$2 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag$2 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$2 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$2[];\n  }\n  interface Agenda$2 {\n      /** Whether the schedule is enabled for the event. */\n      enabled?: boolean;\n      /**\n       * Agenda page URL.\n       * @readonly\n       */\n      pageUrl?: SiteUrl$2;\n  }\n  interface Category$2 {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Date and time when category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Assigned events count. Deleted events are excluded.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * The total number of draft and published events assigned to the category.\n       * @readonly\n       */\n      counts?: CategoryCounts$2;\n      /**\n       * Category state. Possible values:\n       *\n       * `MANUAL`: Category is created manually by the user.\n       * `AUTO`: Category is created automatically.\n       * `RECURRING_EVENT`: Category is created automatically when publishing recurring events.\n       * `HIDDEN`: Category can't be seen.\n       *\n       * Default: `MANUAL`.\n       *\n       * **Note:** The WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission scope is required to use states other than `MANUAL`.\n       */\n      states?: State$2[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  interface CategoryCounts$2 {\n      /** Total number of draft events assigned to the category. */\n      assignedEventsCount?: number | null;\n      /** Total number of published events assigned to the category. Deleted events are excluded. */\n      assignedDraftEventsCount?: number | null;\n  }\n  enum State$2 {\n      /** Created manually by the user. */\n      MANUAL = \"MANUAL\",\n      /** Created automatically. */\n      AUTO = \"AUTO\",\n      /** Created when publishing recurring events. */\n      RECURRING_EVENT = \"RECURRING_EVENT\",\n      /** Category is hidden. */\n      HIDDEN = \"HIDDEN\",\n      /** Category is used to store component events. */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface EventDisplaySettings$2 {\n      /** Whether event details button is hidden. Only available for events with no registration. */\n      hideEventDetailsButton?: boolean | null;\n      /** Disables event details page visibility. If event has an external registration configured visitors will be redirected from this page. */\n      hideEventDetailsPage?: boolean | null;\n  }\n  interface LabellingSettings$2 {\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLegacyLabelId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLabelDeleted?: boolean | null;\n  }\n  interface Empty$2 {\n  }\n  interface EventDeleted$2 {\n      /** Event deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /**\n       * Event categories.\n       * @internal\n       */\n      categories?: string[];\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface BulkUpdateRsvpContactIdRequest {\n      /** RSVP IDs. */\n      rsvpIds?: string[] | null;\n      /** New RSVP contact ID. */\n      contactId?: string | null;\n  }\n  interface BulkUpdateRsvpContactIdResponse {\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a list of RSVPs that match the provided search query and optionally performs aggregations on the data queried.\n   *\n   * To learn about working with _Search_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_EVENTS.READ_RSVP\n   * @adminMethod\n   */\n  function searchRsvps(options?: SearchRsvpsOptions): Promise<SearchRsvpsResponse>;\n  interface SearchRsvpsOptions {\n      /** Search options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      search?: CursorSearch;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Retrieves a list of RSVPs, given the provided paging, filtering, and sorting. Query RSVPs runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `ASC` order\n   * - `paging.limit` is `100`\n   * - `paging.offset` is `0`\n   *\n   * For field support for filters and sorting, see [RSVP v2: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/events/rsvp-v2/filter-and-sort). To learn about working with Query endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   *\n   * > **Note:** This method is quite slow. We suggest you using the following filter pairs for the most optimal speed:\n   * > - `eventId` and `status`\n   * > - `eventId` and `fullyCheckedIn`\n   * > - `eventId` and `memberId`\n   * > - `eventId` and `contactId`\n   * > - `eventId` and `createdDate`\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_EVENTS.READ_RSVP\n   * @adminMethod\n   */\n  function queryRsvps(options?: QueryRsvpsOptions): RsvpsQueryBuilder;\n  interface QueryRsvpsOptions {\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[] | undefined;\n  }\n  interface QueryCursorResult$1 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface RsvpsQueryResult extends QueryCursorResult$1 {\n      items: V2Rsvp[];\n      query: RsvpsQueryBuilder;\n      next: () => Promise<RsvpsQueryResult>;\n      prev: () => Promise<RsvpsQueryResult>;\n  }\n  interface RsvpsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'eventId' | '_createdDate' | '_updatedDate' | 'memberId' | 'contactId' | 'status' | 'fullyCheckedIn', value: any) => RsvpsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'eventId' | '_createdDate' | '_updatedDate' | 'memberId' | 'contactId' | 'status' | 'fullyCheckedIn', value: any) => RsvpsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => RsvpsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => RsvpsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => RsvpsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => RsvpsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'eventId' | '_createdDate' | '_updatedDate' | 'memberId' | 'contactId' | 'status' | 'fullyCheckedIn', value: any) => RsvpsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'eventId' | 'memberId' | 'contactId', value: boolean) => RsvpsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'status' | 'fullyCheckedIn'>) => RsvpsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'status' | 'fullyCheckedIn'>) => RsvpsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => RsvpsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => RsvpsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<RsvpsQueryResult>;\n  }\n  /**\n   * Counts RSVPs given the provided filtering and searching.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_EVENTS.READ_RSVP\n   * @adminMethod\n   */\n  function countRsvps(options?: CountRsvpsOptions): Promise<CountRsvpsResponse>;\n  interface CountRsvpsOptions {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /** Search details. */\n      search?: SearchDetails;\n  }\n  /**\n   * Retrieves RSVP by ID.\n   * @param rsvpId - RSVP ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rsvpId\n   * @permissionId WIX_EVENTS.READ_RSVP\n   * @adminMethod\n   * @returns The requested RSVP.\n   */\n  function getRsvp(rsvpId: string, options?: GetRsvpOptions): Promise<V2Rsvp>;\n  interface GetRsvpOptions {\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Creates RSVP.\n   *\n   * To create RSVP with multiple guests, you have to specify the `additionalGuests` and `guestNames` fields.\n   * @param rsvp - RSVP info.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rsvp\n   * @requiredField rsvp.additionalGuestDetails.guestCount\n   * @requiredField rsvp.email\n   * @requiredField rsvp.eventId\n   * @requiredField rsvp.firstName\n   * @requiredField rsvp.lastName\n   * @requiredField rsvp.status\n   * @permissionId WIX_EVENTS.CREATE_RSVP\n   * @returns Created RSVP.\n   */\n  function createRsvp(rsvp: V2Rsvp, options?: CreateRsvpOptions): Promise<V2Rsvp>;\n  interface CreateRsvpOptions {\n      /** RSVP options. <br> The **WIX_EVENTS.MANAGE_RSVP** permission is required. */\n      options?: ModificationOptions;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Updates RSVP.\n   *\n   * Each time the RSVP is updated, `revision` increments by 1. The existing `revision` must be included when updating the RSVP. This ensures you're working with the latest RSVP and prevents unintended overwrites.\n   * @param _id - RSVP ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField rsvp\n   * @permissionId WIX_EVENTS.MANAGE_RSVP\n   * @adminMethod\n   * @returns Updated RSVP.\n   */\n  function updateRsvp(_id: string | null, rsvp: UpdateRsvp, options?: UpdateRsvpOptions): Promise<V2Rsvp>;\n  interface UpdateRsvp {\n      /**\n       * RSVP ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the RSVP is updated. To prevent conflicting changes, the existing revision must be used when updating the RSVP.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Event ID to which the RSVP belongs. */\n      eventId?: string | null;\n      /**\n       * Date and time when the RSVP was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the RSVP was update.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Site member ID. You can override the field value when updating RSVP. Overriding member ID requires the **WIX_EVENTS.MANAGE_RSVP** permission. */\n      memberId?: string | null;\n      /** Contact ID of a guest who filled in the RSVP form. See [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details. */\n      contactId?: string | null;\n      /** First name of a guest who filled in the RSVP form. */\n      firstName?: string | null;\n      /** Last name of a guest who filled in the RSVP form. */\n      lastName?: string | null;\n      /** Email of a guest who filled in the RSVP form. */\n      email?: string | null;\n      /** Event registration form. */\n      form?: FormResponse;\n      /** RSVP response status. */\n      status?: RsvpStatus;\n      /**\n       * Total number of guests per 1 RSVP.\n       * @readonly\n       */\n      totalGuests?: number | null;\n      /**\n       * Guest list.\n       * @readonly\n       */\n      guestList?: GuestList;\n      /**\n       * Site language code in the [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       * @readonly\n       */\n      language?: string | null;\n      /**\n       * Locale in the [IETF BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * @readonly\n       */\n      locale?: string | null;\n      /**\n       * Whether all guests are checked in.\n       * @readonly\n       */\n      fullyCheckedIn?: boolean | null;\n      /**\n       * How many guests are checked in.\n       * @readonly\n       */\n      checkedInGuestCount?: number | null;\n      /** Additional guest details. */\n      additionalGuestDetails?: AdditionalGuestDetails;\n      /** Whether the notifications are disabled. */\n      disableNotifications?: boolean | null;\n      /**\n       * Guest login details for accessing the online conference event.\n       * @readonly\n       */\n      onlineConferencingLogin?: OnlineConferencingLogin;\n      /**\n       * Whether the RSVP is anonymized.\n       * @readonly\n       */\n      anonymized?: boolean | null;\n      /**\n       * Email domain of a guest who filled in the RSVP form.\n       * @internal\n       * @readonly\n       */\n      emailDomain?: string | null;\n      /**\n       * Custom field data for the RSVP object.\n       *\n       * **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.\n       */\n      extendedFields?: ExtendedFields$1;\n  }\n  interface UpdateRsvpOptions {\n      /**\n       * List of exact fields to update. For example, if you define only the `firstName`, all other fields are ignored.\n       * @internal\n       */\n      fieldMask: string[];\n      /** RSVP options. <br> The **WIX_EVENTS.MANAGE_RSVP** permission is required to pass these fields. */\n      options?: ModificationOptions;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Permanently deletes RSVP.\n   * @param rsvpId - ID of RSVP to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rsvpId\n   * @permissionId WIX_EVENTS.MANAGE_RSVP\n   * @adminMethod\n   */\n  function deleteRsvp(rsvpId: string | null): Promise<void>;\n  /**\n   * Updates multiple RSVPs.\n   *\n   * You can update up to 100 RSVPs per request.\n   * @param rsvps - RSVPs to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rsvps\n   * @requiredField rsvps.rsvp._id\n   * @requiredField rsvps.rsvp.revision\n   * @permissionId WIX_EVENTS.MANAGE_RSVP\n   * @adminMethod\n   */\n  function bulkUpdateRsvp(rsvps: MaskedRsvp[], options?: BulkUpdateRsvpOptions): Promise<BulkUpdateRsvpResponse>;\n  interface BulkUpdateRsvpOptions {\n      /** Whether to return the whole `rsvp` object in the response. If `false`, only metadata is returned. */\n      returnEntity?: boolean;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n      /** RSVP options. <br> The **WIX_EVENTS.MANAGE_RSVP** permission is required to pass these fields. */\n      options?: ModificationOptions;\n  }\n  /**\n   * Permanently deletes multiple RSVPs by filter.\n   * @param filter - Filter object.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_EVENTS.MANAGE_RSVP\n   * @adminMethod\n   */\n  function bulkDeleteRsvpsByFilter(filter: Record<string, any> | null, options?: BulkDeleteRsvpsByFilterOptions): Promise<BulkDeleteRsvpsByFilterResponse>;\n  interface BulkDeleteRsvpsByFilterOptions {\n      /** Search details. */\n      search?: SearchDetails;\n  }\n  /**\n   * Checks in RSVP guests.\n   *\n   * You can check in up to 11 guests per request.\n   * @param rsvpId - ID of RSVP to check-in.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rsvpId\n   * @permissionId WIX_EVENTS.CHECK_IN\n   * @adminMethod\n   */\n  function checkInRsvpGuests(rsvpId: string | null, options?: CheckInRsvpGuestsOptions): Promise<CheckInRsvpGuestsResponse>;\n  interface CheckInRsvpGuestsOptions {\n      /** IDs of guests to check-in. */\n      guestIds?: number[];\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Cancels the check-in of RSVP guests.\n   *\n   * If the request body is empty, cancels all check-ins from the RSVP. After the cancellation, the `guests.checkInDate` value becomes empty.\n   *\n   * You can cancel check-in of up to 11 guests per request.\n   * @param rsvpId - ID of RSVP to cancel check-in.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rsvpId\n   * @permissionId WIX_EVENTS.CHECK_IN\n   * @adminMethod\n   */\n  function cancelRsvpGuestsCheckIn(rsvpId: string, options?: CancelRsvpGuestsCheckInOptions): Promise<CancelRsvpGuestsCheckInResponse>;\n  interface CancelRsvpGuestsCheckInOptions {\n      /** IDs of guests to check-in. */\n      guestIds?: number[];\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Retrieves RSVP summary by ID.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @permissionId WIX_EVENTS.READ_RSVP\n   * @adminMethod\n   */\n  function listRsvpSummary(eventId: string[] | null, options?: ListRsvpSummaryOptions): Promise<ListRsvpSummaryResponse>;\n  interface ListRsvpSummaryOptions {\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  \n  type eventsV2Rsvp_universal_d_V2Rsvp = V2Rsvp;\n  type eventsV2Rsvp_universal_d_FormResponse = FormResponse;\n  type eventsV2Rsvp_universal_d_InputValue = InputValue;\n  type eventsV2Rsvp_universal_d_FormattedAddress = FormattedAddress;\n  type eventsV2Rsvp_universal_d_StandardDetails = StandardDetails;\n  type eventsV2Rsvp_universal_d_RsvpStatus = RsvpStatus;\n  const eventsV2Rsvp_universal_d_RsvpStatus: typeof RsvpStatus;\n  type eventsV2Rsvp_universal_d_GuestList = GuestList;\n  type eventsV2Rsvp_universal_d_Guest = Guest;\n  type eventsV2Rsvp_universal_d_CheckInDetails = CheckInDetails;\n  type eventsV2Rsvp_universal_d_AdditionalGuestDetails = AdditionalGuestDetails;\n  type eventsV2Rsvp_universal_d_OnlineConferencingLogin = OnlineConferencingLogin;\n  type eventsV2Rsvp_universal_d_SearchRsvpsRequest = SearchRsvpsRequest;\n  type eventsV2Rsvp_universal_d_CursorSearch = CursorSearch;\n  type eventsV2Rsvp_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type eventsV2Rsvp_universal_d_Aggregation = Aggregation;\n  type eventsV2Rsvp_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type eventsV2Rsvp_universal_d_RangeBucket = RangeBucket;\n  type eventsV2Rsvp_universal_d_SortType = SortType;\n  const eventsV2Rsvp_universal_d_SortType: typeof SortType;\n  type eventsV2Rsvp_universal_d_SortDirection = SortDirection;\n  const eventsV2Rsvp_universal_d_SortDirection: typeof SortDirection;\n  type eventsV2Rsvp_universal_d_MissingValues = MissingValues;\n  const eventsV2Rsvp_universal_d_MissingValues: typeof MissingValues;\n  type eventsV2Rsvp_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n  type eventsV2Rsvp_universal_d_ScalarType = ScalarType;\n  const eventsV2Rsvp_universal_d_ScalarType: typeof ScalarType;\n  type eventsV2Rsvp_universal_d_ValueAggregation = ValueAggregation;\n  type eventsV2Rsvp_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n  type eventsV2Rsvp_universal_d_NestedAggregationType = NestedAggregationType;\n  const eventsV2Rsvp_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type eventsV2Rsvp_universal_d_RangeAggregation = RangeAggregation;\n  type eventsV2Rsvp_universal_d_ScalarAggregation = ScalarAggregation;\n  type eventsV2Rsvp_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n  type eventsV2Rsvp_universal_d_Interval = Interval;\n  const eventsV2Rsvp_universal_d_Interval: typeof Interval;\n  type eventsV2Rsvp_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type eventsV2Rsvp_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type eventsV2Rsvp_universal_d_AggregationType = AggregationType;\n  const eventsV2Rsvp_universal_d_AggregationType: typeof AggregationType;\n  type eventsV2Rsvp_universal_d_NestedAggregation = NestedAggregation;\n  type eventsV2Rsvp_universal_d_SearchDetails = SearchDetails;\n  type eventsV2Rsvp_universal_d_Mode = Mode;\n  const eventsV2Rsvp_universal_d_Mode: typeof Mode;\n  type eventsV2Rsvp_universal_d_SearchRsvpsResponse = SearchRsvpsResponse;\n  type eventsV2Rsvp_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type eventsV2Rsvp_universal_d_AggregationData = AggregationData;\n  type eventsV2Rsvp_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type eventsV2Rsvp_universal_d_RangeAggregationResult = RangeAggregationResult;\n  type eventsV2Rsvp_universal_d_NestedAggregationResults = NestedAggregationResults;\n  type eventsV2Rsvp_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n  type eventsV2Rsvp_universal_d_ValueResults = ValueResults;\n  type eventsV2Rsvp_universal_d_RangeResults = RangeResults;\n  type eventsV2Rsvp_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n  type eventsV2Rsvp_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n  type eventsV2Rsvp_universal_d_ValueResult = ValueResult;\n  type eventsV2Rsvp_universal_d_RangeResult = RangeResult;\n  type eventsV2Rsvp_universal_d_ScalarResult = ScalarResult;\n  type eventsV2Rsvp_universal_d_NestedResultValue = NestedResultValue;\n  type eventsV2Rsvp_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type eventsV2Rsvp_universal_d_Results = Results;\n  type eventsV2Rsvp_universal_d_DateHistogramResult = DateHistogramResult;\n  type eventsV2Rsvp_universal_d_GroupByValueResults = GroupByValueResults;\n  type eventsV2Rsvp_universal_d_DateHistogramResults = DateHistogramResults;\n  type eventsV2Rsvp_universal_d_NestedResults = NestedResults;\n  type eventsV2Rsvp_universal_d_AggregationResults = AggregationResults;\n  type eventsV2Rsvp_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type eventsV2Rsvp_universal_d_SearchRsvpsWithOffsetRequest = SearchRsvpsWithOffsetRequest;\n  type eventsV2Rsvp_universal_d_Search = Search;\n  type eventsV2Rsvp_universal_d_SearchPagingMethodOneOf = SearchPagingMethodOneOf;\n  type eventsV2Rsvp_universal_d_SearchRsvpsWithOffsetResponse = SearchRsvpsWithOffsetResponse;\n  type eventsV2Rsvp_universal_d_QueryRsvpsRequest = QueryRsvpsRequest;\n  type eventsV2Rsvp_universal_d_CursorQuery = CursorQuery;\n  type eventsV2Rsvp_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type eventsV2Rsvp_universal_d_QueryRsvpsResponse = QueryRsvpsResponse;\n  type eventsV2Rsvp_universal_d_CountRsvpsRequest = CountRsvpsRequest;\n  type eventsV2Rsvp_universal_d_CountRsvpsResponse = CountRsvpsResponse;\n  type eventsV2Rsvp_universal_d_GetRsvpRequest = GetRsvpRequest;\n  type eventsV2Rsvp_universal_d_GetRsvpResponse = GetRsvpResponse;\n  type eventsV2Rsvp_universal_d_CreateRsvpRequest = CreateRsvpRequest;\n  type eventsV2Rsvp_universal_d_ModificationOptions = ModificationOptions;\n  type eventsV2Rsvp_universal_d_CreateRsvpResponse = CreateRsvpResponse;\n  type eventsV2Rsvp_universal_d_GuestLimitExceededData = GuestLimitExceededData;\n  type eventsV2Rsvp_universal_d_UpdateRsvpRequest = UpdateRsvpRequest;\n  type eventsV2Rsvp_universal_d_UpdateRsvpResponse = UpdateRsvpResponse;\n  type eventsV2Rsvp_universal_d_DeleteRsvpRequest = DeleteRsvpRequest;\n  type eventsV2Rsvp_universal_d_DeleteRsvpResponse = DeleteRsvpResponse;\n  type eventsV2Rsvp_universal_d_BulkUpdateRsvpRequest = BulkUpdateRsvpRequest;\n  type eventsV2Rsvp_universal_d_MaskedRsvp = MaskedRsvp;\n  type eventsV2Rsvp_universal_d_BulkUpdateRsvpResponse = BulkUpdateRsvpResponse;\n  type eventsV2Rsvp_universal_d_ItemMetadata = ItemMetadata;\n  type eventsV2Rsvp_universal_d_ApplicationError = ApplicationError;\n  type eventsV2Rsvp_universal_d_BulkRsvpResult = BulkRsvpResult;\n  type eventsV2Rsvp_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterRequest = BulkDeleteRsvpsByFilterRequest;\n  type eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterResponse = BulkDeleteRsvpsByFilterResponse;\n  type eventsV2Rsvp_universal_d_CheckInRsvpGuestsRequest = CheckInRsvpGuestsRequest;\n  type eventsV2Rsvp_universal_d_CheckInRsvpGuestsResponse = CheckInRsvpGuestsResponse;\n  type eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInRequest = CancelRsvpGuestsCheckInRequest;\n  type eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInResponse = CancelRsvpGuestsCheckInResponse;\n  type eventsV2Rsvp_universal_d_ListRsvpSummaryRequest = ListRsvpSummaryRequest;\n  type eventsV2Rsvp_universal_d_ListRsvpSummaryResponse = ListRsvpSummaryResponse;\n  type eventsV2Rsvp_universal_d_V2RsvpSummary = V2RsvpSummary;\n  type eventsV2Rsvp_universal_d_CompareRsvpSummaryRequest = CompareRsvpSummaryRequest;\n  type eventsV2Rsvp_universal_d_CompareRsvpSummaryResponse = CompareRsvpSummaryResponse;\n  type eventsV2Rsvp_universal_d_BulkUpdateRsvpContactIdRequest = BulkUpdateRsvpContactIdRequest;\n  type eventsV2Rsvp_universal_d_BulkUpdateRsvpContactIdResponse = BulkUpdateRsvpContactIdResponse;\n  const eventsV2Rsvp_universal_d_searchRsvps: typeof searchRsvps;\n  type eventsV2Rsvp_universal_d_SearchRsvpsOptions = SearchRsvpsOptions;\n  const eventsV2Rsvp_universal_d_queryRsvps: typeof queryRsvps;\n  type eventsV2Rsvp_universal_d_QueryRsvpsOptions = QueryRsvpsOptions;\n  type eventsV2Rsvp_universal_d_RsvpsQueryResult = RsvpsQueryResult;\n  type eventsV2Rsvp_universal_d_RsvpsQueryBuilder = RsvpsQueryBuilder;\n  const eventsV2Rsvp_universal_d_countRsvps: typeof countRsvps;\n  type eventsV2Rsvp_universal_d_CountRsvpsOptions = CountRsvpsOptions;\n  const eventsV2Rsvp_universal_d_getRsvp: typeof getRsvp;\n  type eventsV2Rsvp_universal_d_GetRsvpOptions = GetRsvpOptions;\n  const eventsV2Rsvp_universal_d_createRsvp: typeof createRsvp;\n  type eventsV2Rsvp_universal_d_CreateRsvpOptions = CreateRsvpOptions;\n  const eventsV2Rsvp_universal_d_updateRsvp: typeof updateRsvp;\n  type eventsV2Rsvp_universal_d_UpdateRsvp = UpdateRsvp;\n  type eventsV2Rsvp_universal_d_UpdateRsvpOptions = UpdateRsvpOptions;\n  const eventsV2Rsvp_universal_d_deleteRsvp: typeof deleteRsvp;\n  const eventsV2Rsvp_universal_d_bulkUpdateRsvp: typeof bulkUpdateRsvp;\n  type eventsV2Rsvp_universal_d_BulkUpdateRsvpOptions = BulkUpdateRsvpOptions;\n  const eventsV2Rsvp_universal_d_bulkDeleteRsvpsByFilter: typeof bulkDeleteRsvpsByFilter;\n  type eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterOptions = BulkDeleteRsvpsByFilterOptions;\n  const eventsV2Rsvp_universal_d_checkInRsvpGuests: typeof checkInRsvpGuests;\n  type eventsV2Rsvp_universal_d_CheckInRsvpGuestsOptions = CheckInRsvpGuestsOptions;\n  const eventsV2Rsvp_universal_d_cancelRsvpGuestsCheckIn: typeof cancelRsvpGuestsCheckIn;\n  type eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInOptions = CancelRsvpGuestsCheckInOptions;\n  const eventsV2Rsvp_universal_d_listRsvpSummary: typeof listRsvpSummary;\n  type eventsV2Rsvp_universal_d_ListRsvpSummaryOptions = ListRsvpSummaryOptions;\n  namespace eventsV2Rsvp_universal_d {\n    export {\n      eventsV2Rsvp_universal_d_V2Rsvp as V2Rsvp,\n      eventsV2Rsvp_universal_d_FormResponse as FormResponse,\n      eventsV2Rsvp_universal_d_InputValue as InputValue,\n      eventsV2Rsvp_universal_d_FormattedAddress as FormattedAddress,\n      CommonAddress$2 as CommonAddress,\n      CommonAddressStreetOneOf$2 as CommonAddressStreetOneOf,\n      CommonStreetAddress$2 as CommonStreetAddress,\n      CommonAddressLocation$2 as CommonAddressLocation,\n      CommonSubdivision$2 as CommonSubdivision,\n      SubdivisionType$2 as SubdivisionType,\n      eventsV2Rsvp_universal_d_StandardDetails as StandardDetails,\n      eventsV2Rsvp_universal_d_RsvpStatus as RsvpStatus,\n      eventsV2Rsvp_universal_d_GuestList as GuestList,\n      eventsV2Rsvp_universal_d_Guest as Guest,\n      eventsV2Rsvp_universal_d_CheckInDetails as CheckInDetails,\n      eventsV2Rsvp_universal_d_AdditionalGuestDetails as AdditionalGuestDetails,\n      eventsV2Rsvp_universal_d_OnlineConferencingLogin as OnlineConferencingLogin,\n      ExtendedFields$1 as ExtendedFields,\n      eventsV2Rsvp_universal_d_SearchRsvpsRequest as SearchRsvpsRequest,\n      eventsV2Rsvp_universal_d_CursorSearch as CursorSearch,\n      eventsV2Rsvp_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      eventsV2Rsvp_universal_d_Aggregation as Aggregation,\n      eventsV2Rsvp_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      eventsV2Rsvp_universal_d_RangeBucket as RangeBucket,\n      eventsV2Rsvp_universal_d_SortType as SortType,\n      eventsV2Rsvp_universal_d_SortDirection as SortDirection,\n      eventsV2Rsvp_universal_d_MissingValues as MissingValues,\n      eventsV2Rsvp_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions,\n      eventsV2Rsvp_universal_d_ScalarType as ScalarType,\n      eventsV2Rsvp_universal_d_ValueAggregation as ValueAggregation,\n      eventsV2Rsvp_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf,\n      eventsV2Rsvp_universal_d_NestedAggregationType as NestedAggregationType,\n      eventsV2Rsvp_universal_d_RangeAggregation as RangeAggregation,\n      eventsV2Rsvp_universal_d_ScalarAggregation as ScalarAggregation,\n      eventsV2Rsvp_universal_d_DateHistogramAggregation as DateHistogramAggregation,\n      eventsV2Rsvp_universal_d_Interval as Interval,\n      eventsV2Rsvp_universal_d_NestedAggregationItem as NestedAggregationItem,\n      eventsV2Rsvp_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      eventsV2Rsvp_universal_d_AggregationType as AggregationType,\n      eventsV2Rsvp_universal_d_NestedAggregation as NestedAggregation,\n      eventsV2Rsvp_universal_d_SearchDetails as SearchDetails,\n      eventsV2Rsvp_universal_d_Mode as Mode,\n      CursorPaging$2 as CursorPaging,\n      RequestedFields$1 as RequestedFields,\n      eventsV2Rsvp_universal_d_SearchRsvpsResponse as SearchRsvpsResponse,\n      eventsV2Rsvp_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      eventsV2Rsvp_universal_d_AggregationData as AggregationData,\n      eventsV2Rsvp_universal_d_ValueAggregationResult as ValueAggregationResult,\n      eventsV2Rsvp_universal_d_RangeAggregationResult as RangeAggregationResult,\n      eventsV2Rsvp_universal_d_NestedAggregationResults as NestedAggregationResults,\n      eventsV2Rsvp_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,\n      eventsV2Rsvp_universal_d_ValueResults as ValueResults,\n      eventsV2Rsvp_universal_d_RangeResults as RangeResults,\n      eventsV2Rsvp_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult,\n      eventsV2Rsvp_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,\n      eventsV2Rsvp_universal_d_ValueResult as ValueResult,\n      eventsV2Rsvp_universal_d_RangeResult as RangeResult,\n      eventsV2Rsvp_universal_d_ScalarResult as ScalarResult,\n      eventsV2Rsvp_universal_d_NestedResultValue as NestedResultValue,\n      eventsV2Rsvp_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      eventsV2Rsvp_universal_d_Results as Results,\n      eventsV2Rsvp_universal_d_DateHistogramResult as DateHistogramResult,\n      eventsV2Rsvp_universal_d_GroupByValueResults as GroupByValueResults,\n      eventsV2Rsvp_universal_d_DateHistogramResults as DateHistogramResults,\n      eventsV2Rsvp_universal_d_NestedResults as NestedResults,\n      eventsV2Rsvp_universal_d_AggregationResults as AggregationResults,\n      eventsV2Rsvp_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      eventsV2Rsvp_universal_d_SearchRsvpsWithOffsetRequest as SearchRsvpsWithOffsetRequest,\n      eventsV2Rsvp_universal_d_Search as Search,\n      eventsV2Rsvp_universal_d_SearchPagingMethodOneOf as SearchPagingMethodOneOf,\n      Paging$2 as Paging,\n      eventsV2Rsvp_universal_d_SearchRsvpsWithOffsetResponse as SearchRsvpsWithOffsetResponse,\n      PagingMetadataV2$2 as PagingMetadataV2,\n      eventsV2Rsvp_universal_d_QueryRsvpsRequest as QueryRsvpsRequest,\n      eventsV2Rsvp_universal_d_CursorQuery as CursorQuery,\n      eventsV2Rsvp_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      eventsV2Rsvp_universal_d_QueryRsvpsResponse as QueryRsvpsResponse,\n      eventsV2Rsvp_universal_d_CountRsvpsRequest as CountRsvpsRequest,\n      eventsV2Rsvp_universal_d_CountRsvpsResponse as CountRsvpsResponse,\n      eventsV2Rsvp_universal_d_GetRsvpRequest as GetRsvpRequest,\n      eventsV2Rsvp_universal_d_GetRsvpResponse as GetRsvpResponse,\n      eventsV2Rsvp_universal_d_CreateRsvpRequest as CreateRsvpRequest,\n      eventsV2Rsvp_universal_d_ModificationOptions as ModificationOptions,\n      eventsV2Rsvp_universal_d_CreateRsvpResponse as CreateRsvpResponse,\n      CalendarLinks$2 as CalendarLinks,\n      eventsV2Rsvp_universal_d_GuestLimitExceededData as GuestLimitExceededData,\n      eventsV2Rsvp_universal_d_UpdateRsvpRequest as UpdateRsvpRequest,\n      eventsV2Rsvp_universal_d_UpdateRsvpResponse as UpdateRsvpResponse,\n      eventsV2Rsvp_universal_d_DeleteRsvpRequest as DeleteRsvpRequest,\n      eventsV2Rsvp_universal_d_DeleteRsvpResponse as DeleteRsvpResponse,\n      eventsV2Rsvp_universal_d_BulkUpdateRsvpRequest as BulkUpdateRsvpRequest,\n      eventsV2Rsvp_universal_d_MaskedRsvp as MaskedRsvp,\n      eventsV2Rsvp_universal_d_BulkUpdateRsvpResponse as BulkUpdateRsvpResponse,\n      eventsV2Rsvp_universal_d_ItemMetadata as ItemMetadata,\n      eventsV2Rsvp_universal_d_ApplicationError as ApplicationError,\n      eventsV2Rsvp_universal_d_BulkRsvpResult as BulkRsvpResult,\n      eventsV2Rsvp_universal_d_BulkActionMetadata as BulkActionMetadata,\n      eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterRequest as BulkDeleteRsvpsByFilterRequest,\n      eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterResponse as BulkDeleteRsvpsByFilterResponse,\n      eventsV2Rsvp_universal_d_CheckInRsvpGuestsRequest as CheckInRsvpGuestsRequest,\n      eventsV2Rsvp_universal_d_CheckInRsvpGuestsResponse as CheckInRsvpGuestsResponse,\n      eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInRequest as CancelRsvpGuestsCheckInRequest,\n      eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInResponse as CancelRsvpGuestsCheckInResponse,\n      eventsV2Rsvp_universal_d_ListRsvpSummaryRequest as ListRsvpSummaryRequest,\n      eventsV2Rsvp_universal_d_ListRsvpSummaryResponse as ListRsvpSummaryResponse,\n      eventsV2Rsvp_universal_d_V2RsvpSummary as V2RsvpSummary,\n      eventsV2Rsvp_universal_d_CompareRsvpSummaryRequest as CompareRsvpSummaryRequest,\n      eventsV2Rsvp_universal_d_CompareRsvpSummaryResponse as CompareRsvpSummaryResponse,\n      EventCreated$2 as EventCreated,\n      Location$2 as Location,\n      MapCoordinates$2 as MapCoordinates,\n      LocationType$2 as LocationType,\n      Address$2 as Address,\n      AddressStreetOneOf$2 as AddressStreetOneOf,\n      StreetAddress$2 as StreetAddress,\n      AddressLocation$2 as AddressLocation,\n      Subdivision$2 as Subdivision,\n      ScheduleConfig$2 as ScheduleConfig,\n      Recurrences$2 as Recurrences,\n      Occurrence$2 as Occurrence,\n      Status$2 as Status,\n      EventStatus$2 as EventStatus,\n      Event$2 as Event,\n      Scheduling$2 as Scheduling,\n      Registration$2 as Registration,\n      EventType$2 as EventType,\n      RegistrationStatus$2 as RegistrationStatus,\n      RsvpCollection$2 as RsvpCollection,\n      RsvpCollectionConfig$2 as RsvpCollectionConfig,\n      RsvpStatusOptions$2 as RsvpStatusOptions,\n      Ticketing$2 as Ticketing,\n      TicketingConfig$2 as TicketingConfig,\n      TaxConfig$2 as TaxConfig,\n      TaxType$2 as TaxType,\n      Money$2 as Money,\n      ExternalEvent$2 as ExternalEvent,\n      VisitorType$2 as VisitorType,\n      SiteUrl$2 as SiteUrl,\n      Form$2 as Form,\n      InputControl$2 as InputControl,\n      InputControlType$2 as InputControlType,\n      Input$2 as Input,\n      ValueType$2 as ValueType,\n      OptionSelection$2 as OptionSelection,\n      OptionSelectionSelectedOptionOneOf$2 as OptionSelectionSelectedOptionOneOf,\n      Label$2 as Label,\n      FormMessages$2 as FormMessages,\n      RsvpFormMessages$2 as RsvpFormMessages,\n      PositiveResponseConfirmation$2 as PositiveResponseConfirmation,\n      NegativeResponseConfirmation$2 as NegativeResponseConfirmation,\n      Positive$2 as Positive,\n      Negative$2 as Negative,\n      CheckoutFormMessages$2 as CheckoutFormMessages,\n      ResponseConfirmation$2 as ResponseConfirmation,\n      RegistrationClosedMessages$2 as RegistrationClosedMessages,\n      TicketsUnavailableMessages$2 as TicketsUnavailableMessages,\n      Dashboard$2 as Dashboard,\n      RsvpSummary$2 as RsvpSummary,\n      TicketingSummary$2 as TicketingSummary,\n      GuestListConfig$2 as GuestListConfig,\n      Feed$2 as Feed,\n      OnlineConferencing$2 as OnlineConferencing,\n      OnlineConferencingConfig$2 as OnlineConferencingConfig,\n      ConferenceType$2 as ConferenceType,\n      OnlineConferencingSession$2 as OnlineConferencingSession,\n      SeoSettings$2 as SeoSettings,\n      SeoSchema$2 as SeoSchema,\n      Keyword$2 as Keyword,\n      Tag$2 as Tag,\n      Settings$2 as Settings,\n      Agenda$2 as Agenda,\n      Category$2 as Category,\n      CategoryCounts$2 as CategoryCounts,\n      State$2 as State,\n      EventDisplaySettings$2 as EventDisplaySettings,\n      LabellingSettings$2 as LabellingSettings,\n      Empty$2 as Empty,\n      EventDeleted$2 as EventDeleted,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      eventsV2Rsvp_universal_d_BulkUpdateRsvpContactIdRequest as BulkUpdateRsvpContactIdRequest,\n      eventsV2Rsvp_universal_d_BulkUpdateRsvpContactIdResponse as BulkUpdateRsvpContactIdResponse,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      eventsV2Rsvp_universal_d_searchRsvps as searchRsvps,\n      eventsV2Rsvp_universal_d_SearchRsvpsOptions as SearchRsvpsOptions,\n      eventsV2Rsvp_universal_d_queryRsvps as queryRsvps,\n      eventsV2Rsvp_universal_d_QueryRsvpsOptions as QueryRsvpsOptions,\n      eventsV2Rsvp_universal_d_RsvpsQueryResult as RsvpsQueryResult,\n      eventsV2Rsvp_universal_d_RsvpsQueryBuilder as RsvpsQueryBuilder,\n      eventsV2Rsvp_universal_d_countRsvps as countRsvps,\n      eventsV2Rsvp_universal_d_CountRsvpsOptions as CountRsvpsOptions,\n      eventsV2Rsvp_universal_d_getRsvp as getRsvp,\n      eventsV2Rsvp_universal_d_GetRsvpOptions as GetRsvpOptions,\n      eventsV2Rsvp_universal_d_createRsvp as createRsvp,\n      eventsV2Rsvp_universal_d_CreateRsvpOptions as CreateRsvpOptions,\n      eventsV2Rsvp_universal_d_updateRsvp as updateRsvp,\n      eventsV2Rsvp_universal_d_UpdateRsvp as UpdateRsvp,\n      eventsV2Rsvp_universal_d_UpdateRsvpOptions as UpdateRsvpOptions,\n      eventsV2Rsvp_universal_d_deleteRsvp as deleteRsvp,\n      eventsV2Rsvp_universal_d_bulkUpdateRsvp as bulkUpdateRsvp,\n      eventsV2Rsvp_universal_d_BulkUpdateRsvpOptions as BulkUpdateRsvpOptions,\n      eventsV2Rsvp_universal_d_bulkDeleteRsvpsByFilter as bulkDeleteRsvpsByFilter,\n      eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterOptions as BulkDeleteRsvpsByFilterOptions,\n      eventsV2Rsvp_universal_d_checkInRsvpGuests as checkInRsvpGuests,\n      eventsV2Rsvp_universal_d_CheckInRsvpGuestsOptions as CheckInRsvpGuestsOptions,\n      eventsV2Rsvp_universal_d_cancelRsvpGuestsCheckIn as cancelRsvpGuestsCheckIn,\n      eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInOptions as CancelRsvpGuestsCheckInOptions,\n      eventsV2Rsvp_universal_d_listRsvpSummary as listRsvpSummary,\n      eventsV2Rsvp_universal_d_ListRsvpSummaryOptions as ListRsvpSummaryOptions,\n    };\n  }\n  \n  interface V3Event {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Event location. */\n      location?: Location$1;\n      /** Event date and time settings. */\n      dateAndTimeSettings?: DateAndTimeSettings$1;\n      /** Event title. */\n      title?: string | null;\n      /** Short description that appears under the event title. */\n      shortDescription?: string | null;\n      /**\n       * Detailed description of an event. You can enter the description using rich text format (add various types of markups, such as underlines, italics, bolding, color codes, bullet lists, and links by using HTML formatting tags).\n       * @deprecated Detailed description of an event.\n       *\n       * This field is deprecated. To create a description, see the flow in [introduction](https://dev.wix.com/docs/rest/business-solutions/events/events-v3/introduction).\n       * @replacedBy wix.events.v1.rich_content\n       * @targetRemovalDate 2025-06-01\n       */\n      detailedDescription?: string | null;\n      /**\n       * Main event image. <br>\n       * **Note:** This field is returned only when the `DETAILS` fieldset is included in the request.\n       */\n      mainImage?: string;\n      /**\n       * Unique identifier of the event page. The naming is the same as the event title written in kebab case. For example, if your event title is \"Leather Crafting 101\", then the slug is \"leather-crafting-101\".\n       * @readonly\n       */\n      slug?: string;\n      /**\n       * Date and time when the event was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the event was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Event status:\n       *\n       *   - `UPCOMING`: Event is published and scheduled to start.\n       *   - `STARTED`: Event has started.\n       *   - `ENDED`: Event has ended.\n       *   - `CANCELED`: Event is canceled.\n       *   - `DRAFT`: Event is not published.\n       * @readonly\n       */\n      status?: Status$1;\n      /**\n       * RSVP or ticketing registration details. <br>\n       * **Note:** This field is returned only when the `REGISTRATION` fieldset is included in the request.\n       */\n      registration?: Registration$1;\n      /**\n       * URLs that allow you to add an event to the Google calendar, or to download an [ICS calendar](https://icscalendar.com/) file. <br>\n       * **Note:** This field is returned only when the `DETAILS` fieldset is included in the request.\n       * @readonly\n       */\n      calendarUrls?: CalendarUrls;\n      /**\n       * Event page URL components. <br>\n       * **Note:** This field is returned only when the `URLS` fieldset is included in the request.\n       */\n      eventPageUrl?: string;\n      /**\n       * Event registration form. <br>\n       * **Note:** This field is returned only when the `FORM` fieldset is included in the request.\n       */\n      form?: Form$1;\n      /**\n       * Summary of RSVP or ticket sales. <br>\n       * **Note:** This field is returned only when the `DASHBOARD` fieldset is included in the request and you have the \"WIX_EVENTS.READ_EVENT_DASHBOARD\" permissions.\n       */\n      summaries?: Summaries;\n      /**\n       * Instance ID of the site where the event is hosted.\n       * @readonly\n       */\n      instanceId?: string;\n      /** Guest list configuration. */\n      guestListSettings?: GuestListSettings;\n      /**\n       * ID of the user who created the event.\n       * @readonly\n       */\n      userId?: string;\n      /**\n       * Event discussion feed. For internal use.\n       * @internal\n       */\n      feed?: Feed$1;\n      /**\n       * Online conferencing details. <br>\n       * **Note:** This field is returned only when the `ONLINE_CONFERENCING_SESSION` fieldset is included in the request and you have the \"WIX_EVENTS.READ_ONLINE_CONFERENCING\" permissions.\n       */\n      onlineConferencing?: OnlineConferencing$1;\n      /**\n       * SEO settings. <br>\n       * **Note:** This field is returned only when the `SEO_SETTINGS` fieldset is included in the request.\n       */\n      seoSettings?: SeoSettings$1;\n      /**\n       * Assigned contacts label key.\n       * @readonly\n       */\n      contactLabel?: string | null;\n      /**\n       * Event schedule details. <br>\n       * **Note:** This field is returned only when the `AGENDA` fieldset is included in the request.\n       */\n      agendaSettings?: AgendaSettings;\n      /**\n       * Event categories.\n       * @internal\n       */\n      categories?: EventCategories;\n      /** Visual settings for event. */\n      eventDisplaySettings?: V3EventDisplaySettings;\n      /**\n       * True if ticket can be customised\n       * @internal\n       */\n      customizableTickets?: boolean | null;\n      /**\n       * Labelling related data.\n       * @internal\n       */\n      labellingSettings?: V3LabellingSettings;\n  }\n  interface Location$1 {\n      /** Location name. This value is displayed instead of the address when the location is defined as TBD by setting the `locationTbd` property to `true`. */\n      name?: string | null;\n      /**\n       * Location type:\n       *\n       *   - `VENUE`: The event is on-site at a specific physical location.\n       *   - `ONLINE`: The event is online, such as a virtual video conference.\n       */\n      type?: LocationType$1;\n      /** Exact location address. */\n      address?: CommonAddress$1;\n      /** Whether the event location is TBD. */\n      locationTbd?: boolean | null;\n  }\n  enum LocationType$1 {\n      /** Unknown location type. */\n      UNKNOWN_LOCATION = \"UNKNOWN_LOCATION\",\n      /** Event is on-site at a specific physical location. */\n      VENUE = \"VENUE\",\n      /** Event is online, such as a virtual video conference. */\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface CommonAddress$1 extends CommonAddressStreetOneOf$1 {\n      /** Street address. */\n      streetAddress?: CommonStreetAddress$1;\n      /** Primary address information (street and building number). */\n      addressLine1?: string | null;\n      /** 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip or postal code. */\n      postalCode?: string | null;\n      /** Secondary address information (suite or apartment number and room number). */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: CommonAddressLocation$1;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: CommonSubdivision$1[];\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf$1 {\n      /** Street address. */\n      streetAddress?: CommonStreetAddress$1;\n      /** Primary address information (street and building number). */\n      addressLine?: string | null;\n  }\n  interface CommonStreetAddress$1 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface CommonAddressLocation$1 {\n      /** Address latitude coordinates. */\n      latitude?: number | null;\n      /** Address longitude coordinates. */\n      longitude?: number | null;\n  }\n  interface CommonSubdivision$1 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionSubdivisionType$1;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionSubdivisionType$1 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface DateAndTimeSettings$1 {\n      /** Whether the event date and time are TBD. */\n      dateAndTimeTbd?: boolean | null;\n      /** Message that is displayed when time and date is TBD. */\n      dateAndTimeTbdMessage?: string | null;\n      /** Event start date. */\n      startDate?: Date | null;\n      /** Event end date. */\n      endDate?: Date | null;\n      /** Event time zone ID in the [TZ database](https://www.iana.org/time-zones) format. */\n      timeZoneId?: string | null;\n      /** Whether the end date is hidden in the formatted date and time. */\n      hideEndDate?: boolean | null;\n      /** Whether the time zone is displayed in the formatted schedule. */\n      showTimeZone?: boolean | null;\n      /**\n       * Repeating event status. Possible values:\n       *\n       *   - `ONE_TIME`: The event happens only once and can last multiple days.\n       *   - `RECURRING`: A series of events that repeat.\n       *   - `RECURRING_UPCOMING`: Next event in a schedule of recurring events.\n       *   - `RECURRING_RECENTLY_ENDED`: Latest event that ended in a schedule of recurring events.\n       *   - `RECURRING_RECENTLY_CANCELED`: Latest canceled event tin a schedule of recurring events.\n       * @readonly\n       */\n      recurrenceStatus?: RecurrenceStatusStatus$1;\n      /** Event repetitions. */\n      recurringEvents?: Recurrences$1;\n      /** Formatted date and time settings. */\n      formatted?: Formatted$1;\n  }\n  enum RecurrenceStatusStatus$1 {\n      /** Unknown recurrance status. */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Event happens only once and can last multiple days. */\n      ONE_TIME = \"ONE_TIME\",\n      /** A series of events that repeat. */\n      RECURRING = \"RECURRING\",\n      /** Next event in a schedule of recurring events. */\n      RECURRING_UPCOMING = \"RECURRING_UPCOMING\",\n      /** Latest event that ended in a schedule of recurring events. */\n      RECURRING_RECENTLY_ENDED = \"RECURRING_RECENTLY_ENDED\",\n      /** Latest canceled event in a schedule of recurring events */\n      RECURRING_RECENTLY_CANCELED = \"RECURRING_RECENTLY_CANCELED\"\n  }\n  interface Recurrences$1 {\n      /** Individual event dates info. */\n      individualEventDates?: Occurrence$1[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n  }\n  interface Occurrence$1 {\n      /** Event start date. */\n      startDate?: Date | null;\n      /** Event end date. */\n      endDate?: Date | null;\n      /** Event time zone ID in the [TZ database](https://www.iana.org/time-zones) format. */\n      timeZoneId?: string | null;\n      /** Whether the time zone is displayed in a formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  interface Formatted$1 {\n      /**\n       * Formatted date and time representation.\n       *\n       * Example of formatting when an event lasts multiple days and is in the UTC time zone: `September 1, 2015 at 10:20 AM – September 5, 2015 at 12:14 PM`.\n       * Example of formatting when an event lasts 1 day and is in the GMT+2 time zone: `February 1, 2018, 12:10 – 2:50 PM GMT+2`.\n       * @readonly\n       */\n      dateAndTime?: string | null;\n      /**\n       * Formatted start date of the event. Empty for TBD schedules.\n       * @readonly\n       */\n      startDate?: string | null;\n      /**\n       * Formatted start time of the event. Empty for TBD schedules.\n       * @readonly\n       */\n      startTime?: string | null;\n      /**\n       * Formatted end date of the event. Empty for TBD schedules or when the end date is hidden.\n       * @readonly\n       */\n      endDate?: string | null;\n      /**\n       * Formatted end time of the event. Empty for TBD schedules or when the end date is hidden.\n       * @readonly\n       */\n      endTime?: string | null;\n  }\n  /**\n   * A coarse-grained representation of time duration divided into whole constituting components of days, hours, and minutes.\n   * For example, 25.5 hours duration is represented as `{ days: 1, hours: 1, minutes: 30 }`.\n   */\n  interface TimeDuration {\n      /** Number of days. */\n      days?: number;\n      /** Number of hours. */\n      hours?: number;\n      /** Number of minutes. */\n      minutes?: number;\n  }\n  enum Status$1 {\n      /** Unknown event status. */\n      UNKNOWN_EVENT_STATUS = \"UNKNOWN_EVENT_STATUS\",\n      /** Event is published and scheduled to start. */\n      UPCOMING = \"UPCOMING\",\n      /** Event has started. */\n      STARTED = \"STARTED\",\n      /** Event has ended. */\n      ENDED = \"ENDED\",\n      /** Event is canceled. */\n      CANCELED = \"CANCELED\",\n      /** Event is not public. */\n      DRAFT = \"DRAFT\"\n  }\n  interface Registration$1 {\n      /**\n       * Current registration type:\n       *\n       *   - `RSVP`: Guests register by RSVPing to the event.\n       *   - `TICKETING`: Guests register by buying tickets.\n       *   - `EXTERNAL`: Guests register externally using some other site or platform.\n       *   - `NONE`: No registration is required, all guests can attend. This registration type is for only displaying the event details on a site.\n       *\n       * The property value might change to `EXTERNAL` or `NONE` after initial event creation, depending on any additional configuration applied to the event.\n       * @readonly\n       */\n      type?: RegistrationTypeType;\n      /**\n       * Registration status. Possible values:\n       *\n       *   - `CLOSED_AUTOMATICALLY`: Registration is closed after tickets are sold out.\n       *   - `CLOSED_MANUALLY`: Registration is closed when the `registration.registrationDisabled` property is set to `true`.\n       *   - `OPEN_RSVP`: Guests can start RSVPing to the event.\n       *   - `OPEN_RSVP_WAITLIST_ONLY`: Guest list has reached the maximum, new guests are added to a waitlist.\n       *   - `OPEN_TICKETS`: Guests can buy tickets to the event.\n       *   - `OPEN_EXTERNAL`: Guests register on a different page or web address.\n       *   - `SCHEDULED_RSVP`: Registration via RSVP is scheduled for the future.\n       * @readonly\n       */\n      status?: RegistrationStatusStatus;\n      /** RSVP registration details. */\n      rsvp?: RsvpRegistration;\n      /** Ticket registration details. */\n      tickets?: TicketsRegistration;\n      /** External registration details. */\n      external?: ExternalRegistration;\n      /**\n       * Types of guests allowed to register. Possible values:\n       *\n       *   - `VISITOR_OR_MEMBER`: All site visitors can RSVP to the event.\n       *   - `MEMBER`: Only people who have signed up as members of your site are able to RSVP to the event.\n       */\n      allowedGuestTypes?: GuestTypeType;\n      /**\n       * Initial event type which is set when creating an event. Possible values:\n       *\n       *   - `RSVP`: Guests register by RSVPing to the event.\n       *   - `TICKETING`: Guests register by buying tickets.\n       *\n       *   This property value never changes.\n       */\n      initialType?: InitialRegistrationTypeType;\n      /** Whether the registration is paused. */\n      registrationPaused?: boolean;\n      /** Whether the registration is disabled. */\n      registrationDisabled?: boolean;\n  }\n  enum RegistrationTypeType {\n      /** Unknown registration type. */\n      UNKNOWN_REGISTRATION_TYPE = \"UNKNOWN_REGISTRATION_TYPE\",\n      /** Guests register by RSVPing to the event. */\n      RSVP = \"RSVP\",\n      /** Guests register by buying tickets. */\n      TICKETING = \"TICKETING\",\n      /** Guests register externally using some other site or platform. */\n      EXTERNAL = \"EXTERNAL\",\n      /** No registration is required, all guests can attend. This registration type is for only displaying the event details on a site. The property value can be changed from RSVP/TICKETING to EXTERNAL or NONE after the event is created, depending on any additional configurations applied to the event. */\n      NONE = \"NONE\"\n  }\n  enum RegistrationStatusStatus {\n      /** Registration status is not applicable */\n      UNKNOWN_REGISTRATION_STATUS = \"UNKNOWN_REGISTRATION_STATUS\",\n      /** Registration is closed after tickets are sold out. */\n      CLOSED_AUTOMATICALLY = \"CLOSED_AUTOMATICALLY\",\n      /** Registration is closed when the `registration.registrationDisabled` property is set to `true`. */\n      CLOSED_MANUALLY = \"CLOSED_MANUALLY\",\n      /** Guests can start RSVPing to the event. */\n      OPEN_RSVP = \"OPEN_RSVP\",\n      /** Guest list has reached the maximum, new guests are added to a waitlist. */\n      OPEN_RSVP_WAITLIST_ONLY = \"OPEN_RSVP_WAITLIST_ONLY\",\n      /** Guests can buy tickets to the event. */\n      OPEN_TICKETS = \"OPEN_TICKETS\",\n      /** Guests register on a different page or web address. */\n      OPEN_EXTERNAL = \"OPEN_EXTERNAL\",\n      /** Registration via RSVP is scheduled for the future. */\n      SCHEDULED_RSVP = \"SCHEDULED_RSVP\"\n  }\n  interface RsvpRegistration {\n      /** Available answers for registration to an event. */\n      responseType?: ResponseType;\n      /** How many guests can RSVP to an event. */\n      limit?: number | null;\n      /** Whether a waitlist is opened when the total guest limit is reached. If `true`, guests can RSVP to an event and are automatically put in the waitlist with the `IN_WAITLIST` status. */\n      waitlistEnabled?: boolean;\n      /** Registration start date. */\n      startDate?: Date | null;\n      /** Registration end date. */\n      endDate?: Date | null;\n  }\n  enum ResponseType {\n      /** Unknown response type. */\n      UNKNOWN_RESPONSE_TYPE = \"UNKNOWN_RESPONSE_TYPE\",\n      /** Only a **Yes** answer is available to select when RSVP'ing to an event. */\n      YES_ONLY = \"YES_ONLY\",\n      /** *Yes** and **No** answers are available to select when RSVP'ing to an event. */\n      YES_AND_NO = \"YES_AND_NO\"\n  }\n  interface TicketsRegistration {\n      /** Whether the registration form must be filled out separately for each ticket. */\n      guestsAssignedSeparately?: boolean;\n      /**\n       * Ticket limit per order.\n       * Default: 20 tickets.\n       */\n      ticketLimitPerOrder?: number;\n      /**\n       * App ID for external ticket stock management.\n       * The default ticket stock value is as defined in the `TicketDefinition` object. If the ticket stock is defined in the stock manager app, the default is ignored.\n       * @internal\n       */\n      stockManagerAppId?: string | null;\n      /** Ticket price currency. */\n      currency?: string | null;\n      /**\n       * Lowest ticket price.\n       * @readonly\n       */\n      lowestPrice?: Money$1;\n      /**\n       * Highest ticket price.\n       * @readonly\n       */\n      highestPrice?: Money$1;\n      /**\n       * Whether all tickets are sold for the event.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n      /** How tax is applied. */\n      taxSettings?: TaxSettings;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money$1 {\n      /** Amount of money in decimal form. A period is used as a decimal separator (for example, `3.99`). */\n      value?: string;\n      /** Currency code in 3-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency?: string;\n      /**\n       * Amount of money in decimal form. A period or comma are used as a decimal separator (for example, `1 000,30`).\n       * @readonly\n       */\n      formattedValue?: string | null;\n  }\n  interface TaxSettings {\n      /**\n       * Tax application settings:\n       *\n       *   - `INCLUDED_IN_PRICE`: Deduct the fee from the ticket price for a seller. For example, if you're selling tickets for $10, a ticket service fee of $0.25 is deducted from the price and you'll get $9.75.\n       *   - `ADDED_AT_CHECKOUT`: Show the fee iin addition to the ticket price at checkout and a guest pays the fee. For example, if you sell tickets for $10, a customer sees a ticket service fee of $0.25 and pays $10.25 in total.\n       */\n      type?: TaxType$1;\n      /** Tax name. */\n      name?: string | null;\n      /** Tax rate (for example,`21.55`). */\n      rate?: string | null;\n      /** Apply tax to donations. */\n      appliedToDonations?: boolean | null;\n  }\n  /** Tax application settings. */\n  enum TaxType$1 {\n      /** Unknown tax type. */\n      UNKNOWN_TAX_TYPE = \"UNKNOWN_TAX_TYPE\",\n      /** Deduct the fee from the ticket price for a seller. For example, if you're selling tickets for $10, a ticket ticket service fee of $0.25 is deducted from the price and you'll get $9.75. */\n      INCLUDED_IN_PRICE = \"INCLUDED_IN_PRICE\",\n      /** Show the fee in addition to the ticket price at checkout and a guest pays the fee. For example, if you sell tickets for $10, a customer sees a ticket ticket service fee of $0.25 and pays $10.25 in total. */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface ExternalRegistration {\n      /** External event registration URL. */\n      url?: string | null;\n  }\n  enum GuestTypeType {\n      /** Unknown guest type. */\n      UNKNOWN_GUEST_TYPE = \"UNKNOWN_GUEST_TYPE\",\n      /** All site visitors can RSVP to the event. */\n      VISITOR_OR_MEMBER = \"VISITOR_OR_MEMBER\",\n      /** Only people who have signed up as members of your site are able to RSVP to the event. */\n      MEMBER = \"MEMBER\"\n  }\n  enum InitialRegistrationTypeType {\n      /** Unknown initial registration type. */\n      UNKNOWN_INITIAL_REGISTRATION_TYPE = \"UNKNOWN_INITIAL_REGISTRATION_TYPE\",\n      /** Guests register by RSVPing to the event. */\n      RSVP = \"RSVP\",\n      /** Guests register by buying tickets. This property value never changes. */\n      TICKETING = \"TICKETING\"\n  }\n  interface CalendarUrls {\n      /**\n       * \"Add to Google calendar\" URL.\n       * @readonly\n       */\n      google?: string;\n      /**\n       * \"Download ICS calendar file\" URL.\n       * @readonly\n       */\n      ics?: string;\n  }\n  /**\n   * The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout).\n   * It also contains customizable messages and labels.\n   *\n   *\n   * A form is an ordered list of controls (blocks), which accept guest information into a field input.\n   *\n   * Each control contains one or more nested inputs. For example, `Name` control has two inputs:\n   * - First Name\n   * - Last Name\n   *\n   * By default, name and email controls are always required and are pinned to the top of the form.\n   */\n  interface Form$1 {\n      /** Nested fields as an ordered list. */\n      controls?: InputControl$1[];\n      /** Set of configured form messages. */\n      messages?: FormMessages$1;\n  }\n  /**\n   * A block of nested fields.\n   * Used to aggregate similar inputs like First Name and Last Name.\n   */\n  interface InputControl$1 {\n      /** Field control type. */\n      type?: InputControlType$1;\n      /** Whether control is mandatory (such as name & email). When true, only label can be changed. */\n      system?: boolean;\n      /**\n       * Deprecated: Use `id`.\n       * @deprecated\n       */\n      name?: string;\n      /** Child inputs. */\n      inputs?: Input$1[];\n      /**\n       * Deprecated: use `inputs.label`.\n       * @deprecated\n       */\n      label?: string;\n      /** Field controls are sorted by this value in ascending order. */\n      orderIndex?: number;\n      /** Unique control ID. */\n      _id?: string;\n      /**\n       * Whether input control is deleted.\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  enum InputControlType$1 {\n      /** Single text value field. */\n      INPUT = \"INPUT\",\n      /** Single text value field. */\n      TEXTAREA = \"TEXTAREA\",\n      /** Single-choice field of predefined values. */\n      DROPDOWN = \"DROPDOWN\",\n      /** Single-choice field of predefined values. */\n      RADIO = \"RADIO\",\n      /** Multiple-choice field of predefined values. */\n      CHECKBOX = \"CHECKBOX\",\n      /** First and last name fields. */\n      NAME = \"NAME\",\n      /** Additional guests and respective guest names fields. */\n      GUEST_CONTROL = \"GUEST_CONTROL\",\n      /** Single-line address field. */\n      ADDRESS_SHORT = \"ADDRESS_SHORT\",\n      /** Full address field. */\n      ADDRESS_FULL = \"ADDRESS_FULL\",\n      /** Year, month and day fields. */\n      DATE = \"DATE\"\n  }\n  /** An input of one or multiple text values */\n  interface Input$1 {\n      /** Field name. */\n      name?: string;\n      /**\n       * Deprecated: use `ValueType.TEXT_ARRAY`.\n       * @deprecated\n       */\n      array?: boolean;\n      /** Main field label */\n      label?: string;\n      /** Additional labels for multi-valued fields such as address. */\n      additionalLabels?: Record<string, string>;\n      /** Predefined choice options for fields, such as dropdown. */\n      options?: string[];\n      /** Whether field is mandatory. */\n      mandatory?: boolean;\n      /** Maximum number of accepted characters (relevant for text fields). */\n      maxLength?: number;\n      /**\n       * Type which determines field format.\n       * Used to validate submitted response.\n       */\n      type?: ValueType$1;\n      /**\n       * A maximum accepted values for array input.\n       * Only applicable for inputs of valueType: TEXT_ARRAY.\n       */\n      maxSize?: number | null;\n      /**\n       * Preselected option.\n       * Currently only applicable for dropdown.\n       */\n      defaultOptionSelection?: OptionSelection$1;\n      /**\n       * Additional labels for multi-valued fields such as address.\n       * @readonly\n       */\n      labels?: Label$1[];\n  }\n  enum ValueType$1 {\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      TEXT_ARRAY = \"TEXT_ARRAY\",\n      DATE_TIME = \"DATE_TIME\",\n      ADDRESS = \"ADDRESS\"\n  }\n  /**\n   * Describes initially selected option when an input has multiple choices.\n   * Defaults to first (0th) option if not configured.\n   */\n  interface OptionSelection$1 extends OptionSelectionSelectedOptionOneOf$1 {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  /** @oneof */\n  interface OptionSelectionSelectedOptionOneOf$1 {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  interface Label$1 {\n      /** Field name. */\n      name?: string;\n      /** Field label. */\n      label?: string;\n  }\n  /**\n   * Defines form messages shown in UI before, during, and after registration flow.\n   * It enables configuration of form titles, response labels, \"thank you\" messages, and call-to-action texts.\n   */\n  interface FormMessages$1 {\n      /** RSVP form messages. */\n      rsvp?: RsvpFormMessages$1;\n      /** Checkout form messages. */\n      checkout?: CheckoutFormMessages$1;\n      /** Messages shown when event registration is closed. */\n      registrationClosed?: RegistrationClosedMessages$1;\n      /** Messages shown when event tickets are unavailable. */\n      ticketsUnavailable?: TicketsUnavailableMessages$1;\n  }\n  interface RsvpFormMessages$1 {\n      /** Label text indicating RSVP `YES` response. */\n      rsvpYesOption?: string;\n      /** Label text indicating RSVP `NO` response. */\n      rsvpNoOption?: string;\n      /** Messages shown for RSVP = `YES`. */\n      positiveMessages?: Positive$1;\n      /** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */\n      waitlistMessages?: Positive$1;\n      /** Messages shown for RSVP = `NO`. */\n      negativeMessages?: Negative$1;\n      /** \"Submit form\" call-to-action label text. */\n      submitActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface PositiveResponseConfirmation$1 {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarActionLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface NegativeResponseConfirmation$1 {\n      /** Confirmation message title. */\n      title?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Set of messages shown during registration when RSVP response is positive. */\n  interface Positive$1 {\n      /** Main form title for positive response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: PositiveResponseConfirmation$1;\n  }\n  /** A set of messages shown during registration with negative response */\n  interface Negative$1 {\n      /** Main form title for negative response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: NegativeResponseConfirmation$1;\n  }\n  interface CheckoutFormMessages$1 {\n      /** Main form title for response. */\n      title?: string;\n      /** Submit form call-to-action label text. */\n      submitActionLabel?: string;\n      /** Confirmation messages shown after checkout. */\n      confirmation?: ResponseConfirmation$1;\n  }\n  /** Confirmation messages shown after checkout. */\n  interface ResponseConfirmation$1 {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Download tickets\" call-to-action label text. */\n      downloadTicketsLabel?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareEventLabel?: string;\n  }\n  interface RegistrationClosedMessages$1 {\n      /** Message shown when event registration is closed. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface TicketsUnavailableMessages$1 {\n      /** Message shown when event tickets are unavailable. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface Summaries {\n      /** RSVP summary of guests. */\n      rsvps?: Rsvps;\n      /** Summary of revenue and sold tickets. Archived orders are not included. */\n      tickets?: Tickets;\n  }\n  interface EventsMoney {\n      /**\n       * *Deprecated:** Use `value` instead.\n       * @deprecated\n       */\n      amount?: string;\n      /** ISO 4217 format of the currency e.g., `USD`. */\n      currency?: string;\n      /** 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. */\n      value?: string | null;\n  }\n  interface Rsvps {\n      /**\n       * Total number of RSVPs.\n       * @readonly\n       */\n      totalCount?: number;\n      /**\n       * Number of RSVPs with status `YES`.\n       * @readonly\n       */\n      yesCount?: number;\n      /**\n       * Number of RSVPs with status `NO`.\n       * @readonly\n       */\n      noCount?: number;\n      /**\n       * Number of RSVPs in a waitlist.\n       * @readonly\n       */\n      waitlistCount?: number;\n  }\n  interface Tickets {\n      /**\n       * Number of sold tickets.\n       * @readonly\n       */\n      ticketsSold?: number;\n      /**\n       * Total revenue. Taxes and payment provider fees aren't deducted.\n       * @readonly\n       */\n      revenue?: EventsMoney;\n      /**\n       * Whether the currency is locked and can’t be changed.\n       * @readonly\n       */\n      currencyLocked?: boolean;\n      /**\n       * Number of orders placed.\n       * @readonly\n       */\n      totalOrders?: number;\n      /**\n       * Total balance of confirmed transactions.\n       * @readonly\n       */\n      totalSales?: EventsMoney;\n  }\n  interface GuestListSettings {\n      /** Whether the guest list is public for all guests. */\n      displayedPublicly?: boolean;\n  }\n  interface Feed$1 {\n      /** Event discussion feed token. */\n      token?: string;\n  }\n  interface OnlineConferencing$1 {\n      /** Whether online conferencing is enabled. Not applicable for events, where date and time are TBD. When enabled, links to join the conference are generated and provided to guests. */\n      enabled?: boolean;\n      /** Conference host ID. */\n      providerId?: string | null;\n      /**\n       * Configured conferencing provider name.\n       * @internal\n       * @readonly\n       */\n      providerName?: string;\n      /**\n       * Conference type. Possible values:\n       *\n       *   - `MEETING`: Guests can do some actions during the conference, for example talk, turn on camera and show their screen.\n       *   - `WEBINAR`: Guests can only watch the conference.\n       */\n      type?: ConferenceTypeType;\n      /** Online conferencing session information. */\n      session?: OnlineConferencingSession$1;\n  }\n  enum ConferenceTypeType {\n      /** Default value. This value is unused */\n      UNKNOWN_CONFERENCE_TYPE = \"UNKNOWN_CONFERENCE_TYPE\",\n      /** Guests can do some actions during the conference, for example talk, turn on their camera and show their screen. */\n      MEETING = \"MEETING\",\n      /** Guests can only watch the conference. */\n      WEBINAR = \"WEBINAR\"\n  }\n  interface OnlineConferencingSession$1 {\n      /**\n       * Link for the event host to start the online conference session.\n       * @readonly\n       */\n      hostLink?: string;\n      /**\n       * Link for guests to join the online conference session.\n       * @readonly\n       */\n      guestLink?: string;\n      /**\n       * Password required to join the online conferencing session (when relevant).\n       * @readonly\n       */\n      password?: string | null;\n      /**\n       * Whether the session was created successfully on the event host side.\n       * @readonly\n       */\n      sessionCreated?: boolean | null;\n      /**\n       * Unique session ID.\n       * @readonly\n       */\n      sessionId?: string | null;\n  }\n  interface SeoSettings$1 {\n      /** URL slug. */\n      slug?: string;\n      /** Advanced SEO data. */\n      advancedSeoData?: SeoSchema$1;\n      /**\n       * Whether the slug is hidden from the SEO Site Map.\n       * @readonly\n       */\n      hidden?: boolean | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$1 {\n      /** SEO tag information. */\n      tags?: Tag$1[];\n      /** SEO general settings. */\n      settings?: Settings$1;\n  }\n  interface Keyword$1 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag$1 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$1 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$1[];\n  }\n  interface AgendaSettings {\n      /** Whether the schedule is enabled for the event. */\n      enabled?: boolean;\n      /**\n       * Schedule page URL.\n       * @readonly\n       */\n      pageUrl?: string;\n  }\n  interface EventCategories {\n      /** Event categories. */\n      categories?: EventCategory[];\n  }\n  interface EventCategory {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Category creation timestamp.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Category is hidden.\n       * @readonly\n       */\n      hidden?: boolean;\n      /**\n       * Category type.\n       * @readonly\n       */\n      type?: Type$1;\n  }\n  enum Type$1 {\n      /** Created manually by the user. */\n      MANUAL = \"MANUAL\",\n      /** Created automatically when publishing recurring events. */\n      RECURRING_EVENT = \"RECURRING_EVENT\",\n      /** Created automatically and used to store component events. */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface V3EventDisplaySettings {\n      /** Whether event details button is hidden. Only available for events with no registration. */\n      hideEventDetailsButton?: boolean | null;\n      /** Disables event details page visibility. If event has an external registration configured visitors will be redirected from this page. */\n      hideEventDetailsPage?: boolean | null;\n  }\n  interface V3LabellingSettings {\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLegacyLabelId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLabelDeleted?: boolean | null;\n  }\n  interface EventEventStarted {\n      /** Event schedule configuration. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface EventEventEnded {\n      /** Event end timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface EventEventReminder {\n      /** Reminder timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$1;\n      /** Event schedule configuration. */\n      dateAndTimeSettings?: DateAndTimeSettings$1;\n      /** Event title. */\n      title?: string;\n      /** ID of the user who created the event. */\n      userId?: string | null;\n      /** Time until the start of event (currently, reminder letter is triggered 1 day before the start of event). */\n      startsIn?: TimeDuration;\n  }\n  interface EventEventPublished {\n      /** Event publishing timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event status. */\n      status?: Status$1;\n      /**\n       * Event ID. Indicates the original event from which the current event was derived from.\n       * Can be used to track the original event and add missing information.\n       */\n      derivedFromEventId?: string | null;\n      /** Event title. */\n      title?: string | null;\n      /** Short description that appears under the event title. */\n      shortDescription?: string | null;\n      /** Event location. */\n      location?: Location$1;\n      /** Event date  and time settings. */\n      dateAndTimeSettings?: DateAndTimeSettings$1;\n      /** Event page URL components. */\n      eventPageUrl?: string;\n      /** RSVP or ticketing registration details. */\n      registration?: Registration$1;\n  }\n  interface EventCloned {\n      /** Event creation timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$1;\n      /** Event date and time settings. */\n      dateAndTimeSettings?: DateAndTimeSettings$1;\n      /** Event title. */\n      title?: string;\n      /** ID of the user who created the event. */\n      userId?: string | null;\n      /** Event status. */\n      status?: Status$1;\n      /** Instance ID. Indicates the original app instance from which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event from which current event was derived from. */\n      derivedFromEventId?: string | null;\n      /**\n       * Map of copied ticket definitions from the original event. <br>\n       * Key represents ticket definition ID in the original event. <br>\n       * Value represents ticket definition ID in the newly event.\n       */\n      ticketDefinitions?: Record<string, string>;\n  }\n  interface EventEventCanceled {\n      /** Event cancelation timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title. */\n      title?: string;\n      /** ID of the user who created the event. */\n      userId?: string | null;\n  }\n  interface CreateEventRequest {\n      /** Event data. */\n      event: V3Event;\n      /** Whether to create the event as a draft. */\n      draft?: boolean;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields[];\n  }\n  enum RequestedFields {\n      /** Unknown requested field. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Returns `shortDescription`, `mainImage` and `calendarUrls`. */\n      DETAILS = \"DETAILS\",\n      /** Returns `detailedDescription`. */\n      TEXTS = \"TEXTS\",\n      /** Returns `registration`. */\n      REGISTRATION = \"REGISTRATION\",\n      /** Returns `eventPageUrl`. */\n      URLS = \"URLS\",\n      /** Returns `form`. */\n      FORM = \"FORM\",\n      /** Returns `summaries`. */\n      DASHBOARD = \"DASHBOARD\",\n      /** Returns `feed`. */\n      FEED = \"FEED\",\n      /** Returns `onlineConferencing.session`. */\n      ONLINE_CONFERENCING_SESSION = \"ONLINE_CONFERENCING_SESSION\",\n      /** Returns `seoSettings`. */\n      SEO_SETTINGS = \"SEO_SETTINGS\",\n      /** Returns `agendaSettings`. */\n      AGENDA = \"AGENDA\",\n      /** Returns `categories`. */\n      CATEGORIES = \"CATEGORIES\",\n      CUSTOMIZABLE_TICKETS = \"CUSTOMIZABLE_TICKETS\"\n  }\n  interface CreateEventResponse {\n      /** Created event. */\n      event?: V3Event;\n  }\n  interface CloneEventRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Field values to be changed when cloning the event. */\n      event?: V3Event;\n      /**\n       * Fields that are included in this parameter are updated, while all other fields stay the same. If paths are not defined, all field values from the `event` object are updated.\n       * @internal\n       */\n      fieldmask?: string[];\n      /** Whether to clone the event as a draft. */\n      draft?: boolean;\n      /** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */\n      fields?: RequestedFields[];\n  }\n  interface CloneEventResponse {\n      /** Cloned event. */\n      event?: V3Event;\n  }\n  interface UpdateEventRequest {\n      /** Field values to be changed. */\n      event?: V3Event;\n      /**\n       * Fields that are included in this parameter are updated, while all other fields stay the same. If paths are not defined, all field values from the `event` object are updated.\n       * @internal\n       */\n      fieldmask?: string[];\n      /** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */\n      fields?: RequestedFields[];\n  }\n  interface UpdateEventResponse {\n      /** Updated event. */\n      event?: V3Event;\n  }\n  interface PublishDraftEventRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */\n      fields?: RequestedFields[];\n  }\n  interface PublishDraftEventResponse {\n      /** Published event. */\n      event?: V3Event;\n  }\n  interface CancelEventRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */\n      fields?: RequestedFields[];\n  }\n  interface CancelEventResponse {\n      /** Canceled event. */\n      event?: V3Event;\n  }\n  interface BulkCancelEventsByFilterRequest {\n      /** Filter. */\n      filter?: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /** Paging options. Can't be used together with `cursorPaging`. */\n      paging?: Paging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /** Paging options. Can't be used together with `cursorPaging`. */\n      paging?: Paging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       * Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Default: `ASC`.\n       */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to return. See [Paging](https://dev.wix.com/api/rest/getting-started/sorting-and-paging#getting-started_sorting-and-paging_paging) for more information. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface BulkCancelEventsByFilterResponse {\n  }\n  interface DeleteEventRequest {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface DeleteEventResponse {\n      /** Deleted event ID. */\n      eventId?: string;\n  }\n  interface BulkDeleteEventsByFilterRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      filter?: QueryV2$1;\n  }\n  interface BulkDeleteEventsByFilterResponse {\n  }\n  interface QueryEventsRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query?: QueryV2$1;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields[];\n      /**\n       * Whether draft events should be returned in the response. <br>\n       * **Note:** This parameter requires the `WIX_EVENTS.READ_DRAFT_EVENTS` permission.\n       */\n      includeDrafts?: boolean;\n  }\n  interface QueryEventsResponse {\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$1;\n      /** List of events. */\n      events?: V3Event[];\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items to return. See [Paging](https://dev.wix.com/api/rest/getting-started/sorting-and-paging#getting-started_sorting-and-paging_paging) for more information. */\n      count?: number | null;\n      /** Requested offset. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, the current page is the final page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ExportEventsRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query?: CommonQueryV2;\n  }\n  interface CommonQueryV2 extends CommonQueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: CommonPaging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: CommonSorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface CommonQueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: CommonPaging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface CommonSorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: CommonSortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum CommonSortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CommonPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ExportEventsResponse {\n      /** Metadata for the paginated results. */\n      pagingMetadata?: CommonPagingMetadataV2;\n      /** List of events. */\n      events?: V3Event[];\n  }\n  interface CommonPagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: CommonCursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CountEventsByStatusRequest {\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. */\n      filter?: Record<string, any> | null;\n      /** Parameters to count events by. */\n      facet?: string[];\n      /**\n       * Whether draft events should be returned in the response. <br>\n       * **Note:** This parameter requires the `WIX_EVENTS.READ_DRAFT_EVENTS` permission.\n       */\n      includeDrafts?: boolean;\n  }\n  interface CountEventsByStatusResponse {\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$1;\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$1>;\n  }\n  interface FacetCounts$1 {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface ListUserEventsRequest {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: Sorting$1[];\n      /** Event status. */\n      status?: Status$1[];\n      /** Allows to filter events by user relation to the event among all wix sites. */\n      userFilter?: UserFilter;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      facet?: string[];\n      /**\n       * Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned.\n       * @internal\n       */\n      fields?: RequestedFields[];\n  }\n  interface UserFilter {\n      /** User who is related to event */\n      userId?: string;\n      /** Relation of user to event. */\n      relation?: Relation[];\n  }\n  enum Relation {\n      /** User is attending the event. The user RSVP'd with status of `YES` or has ordered tickets. */\n      ATTENDING = \"ATTENDING\"\n  }\n  interface ListUserEventsResponse {\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$1;\n      /** List of events. */\n      events?: V3Event[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$1>;\n  }\n  interface ListEventsByCategoryRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */\n      fields?: RequestedFields[];\n  }\n  interface ListEventsByCategoryResponse {\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$1;\n      /** List of events. */\n      events?: V3Event[];\n  }\n  interface GetEventRequest {\n      /** Event ID. */\n      eventId: string | null;\n      fields?: RequestedFields[];\n      /**\n       * indicates whether full_address should be resolved\n       * @internal\n       */\n      resolveFullAddress?: boolean;\n  }\n  interface GetEventResponse {\n      /** Event. */\n      event?: V3Event;\n  }\n  interface GetEventBySlugRequest {\n      /** URL slug. */\n      slug: string | null;\n      fields?: RequestedFields[];\n      /**\n       * indicates whether full_address should be resolved\n       * @internal\n       */\n      resolveFullAddress?: boolean;\n  }\n  interface GetEventBySlugResponse {\n      /** Event. */\n      event?: V3Event;\n  }\n  interface FindEventRequest extends FindEventRequestFindByOneOf {\n      /** Event ID. */\n      eventId?: string | null;\n      /** URL slug. */\n      slug?: string | null;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields[];\n  }\n  /** @oneof */\n  interface FindEventRequestFindByOneOf {\n      /** Event ID. */\n      eventId?: string | null;\n      /** URL slug. */\n      slug?: string | null;\n  }\n  interface FindEventResponse {\n      /** Event. */\n      event?: V3Event;\n  }\n  interface EventCreated$1 {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: EventsLocation;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$1;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus$1;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n      /** Event that was created. */\n      event?: Event$1;\n  }\n  interface EventsLocation {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates$1;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationLocationType$1;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address$1;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates$1 {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationLocationType$1 {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address$1 extends AddressStreetOneOf$1 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$1;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation$1;\n      /** country full-name */\n      countryFullname?: string | null;\n      /** multi-level subdivisions from top to bottom */\n      subdivisions?: Subdivision$1[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$1 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$1;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$1 {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /**\n       * apartment number\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation$1 {\n      /** address latitude coordinates */\n      latitude?: number | null;\n      /** address longitude coordinates */\n      longitude?: number | null;\n  }\n  interface Subdivision$1 {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /**\n       * subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$1;\n      /**\n       * free text description of subdivision type\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$1 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface ScheduleConfig$1 {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: EventsRecurrences;\n  }\n  interface EventsRecurrences {\n      /** Event occurrences. */\n      occurrences?: EventsOccurrence[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: EventsRecurrenceStatusStatus;\n  }\n  interface EventsOccurrence {\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum EventsRecurrenceStatusStatus {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  enum EventStatus$1 {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface Event$1 {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Event location. */\n      location?: EventsLocation;\n      /** Event scheduling. */\n      scheduling?: Scheduling$1;\n      /** Event title. */\n      title?: string;\n      /** Event description. */\n      description?: string;\n      /** Rich-text content displayed in Wix UI - \"About Event\" section (HTML). */\n      about?: string;\n      /** Main event image. */\n      mainImage?: string;\n      /** Event slug URL (generated from event title). */\n      slug?: string;\n      /** ISO 639-1 language code of the event (used in content translations). */\n      language?: string;\n      /** Event creation timestamp. */\n      created?: Date | null;\n      /** Event modified timestamp. */\n      modified?: Date | null;\n      /** Event status. */\n      status?: EventStatus$1;\n      /** RSVP or ticketing registration details. */\n      registration?: EventsRegistration;\n      /** \"Add to calendar\" URLs. */\n      calendarLinks?: CalendarLinks$1;\n      /** Event page URL components. */\n      eventPageUrl?: SiteUrl$1;\n      /** Event registration form. */\n      form?: Form$1;\n      /** Event dashboard summary of RSVP / ticket sales. */\n      dashboard?: Dashboard$1;\n      /** Instance ID of the site where event is hosted. */\n      instanceId?: string;\n      /** Guest list configuration. */\n      guestListConfig?: GuestListConfig$1;\n      /** Event creator user ID. */\n      userId?: string;\n      /** Event discussion feed. For internal use. */\n      feed?: EventsFeed;\n      /** Online conferencing details. */\n      onlineConferencing?: EventsOnlineConferencing;\n      /** SEO settings. */\n      seoSettings?: EventsSeoSettings;\n      /** Assigned contacts label key. */\n      assignedContactsLabel?: string | null;\n      /** Agenda details. */\n      agenda?: Agenda$1;\n      /** Categories this event is assigned to. */\n      categories?: Category$1[];\n      /** Visual settings for event. */\n      eventDisplaySettings?: EventDisplaySettings$1;\n      /**\n       * @internal\n       * @readonly\n       */\n      customizableTickets?: boolean | null;\n      /**\n       * Labelling related data.\n       * @internal\n       */\n      labellingSettings?: LabellingSettings$1;\n  }\n  interface Scheduling$1 {\n      /** Schedule configuration. */\n      config?: ScheduleConfig$1;\n      /** Formatted schedule representation. */\n      formatted?: string;\n      /** Formatted start date of the event (empty for TBD schedules). */\n      startDateFormatted?: string;\n      /** Formatted start time of the event (empty for TBD schedules). */\n      startTimeFormatted?: string;\n      /** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */\n      endDateFormatted?: string;\n      /** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */\n      endTimeFormatted?: string;\n  }\n  interface EventsRegistration {\n      /** Event type. */\n      type?: EventType$1;\n      /** Event registration status. */\n      status?: RegistrationStatus$1;\n      /** RSVP collection details. */\n      rsvpCollection?: RsvpCollection$1;\n      /** Ticketing details. */\n      ticketing?: Ticketing$1;\n      /** External registration details. */\n      external?: ExternalEvent$1;\n      /** Types of users allowed to register. */\n      restrictedTo?: VisitorType$1;\n      /** Initial event type which was set when creating an event. */\n      initialType?: EventType$1;\n  }\n  enum EventType$1 {\n      /** Type not available for this request fieldset */\n      NA_EVENT_TYPE = \"NA_EVENT_TYPE\",\n      /** Registration via RSVP */\n      RSVP = \"RSVP\",\n      /** Registration via ticket purchase */\n      TICKETS = \"TICKETS\",\n      /** External registration */\n      EXTERNAL = \"EXTERNAL\",\n      /** Registration not available */\n      NO_REGISTRATION = \"NO_REGISTRATION\"\n  }\n  enum RegistrationStatus$1 {\n      /** Registration status is not applicable */\n      NA_REGISTRATION_STATUS = \"NA_REGISTRATION_STATUS\",\n      /** Registration to event is closed */\n      CLOSED = \"CLOSED\",\n      /** Registration to event is closed manually */\n      CLOSED_MANUALLY = \"CLOSED_MANUALLY\",\n      /** Registration is open via RSVP */\n      OPEN_RSVP = \"OPEN_RSVP\",\n      /** Registration to event waitlist is open via RSVP */\n      OPEN_RSVP_WAITLIST = \"OPEN_RSVP_WAITLIST\",\n      /** Registration is open via ticket purchase */\n      OPEN_TICKETS = \"OPEN_TICKETS\",\n      /** Registration is open via external URL */\n      OPEN_EXTERNAL = \"OPEN_EXTERNAL\",\n      /** Registration will be open via RSVP */\n      SCHEDULED_RSVP = \"SCHEDULED_RSVP\"\n  }\n  interface RsvpCollection$1 {\n      /** RSVP collection configuration. */\n      config?: RsvpCollectionConfig$1;\n  }\n  interface RsvpCollectionConfig$1 {\n      /** Defines the supported RSVP statuses. */\n      rsvpStatusOptions?: RsvpStatusOptions$1;\n      /**\n       * Total guest limit available to register to the event.\n       * Additional guests per RSVP are counted towards total guests.\n       */\n      limit?: number | null;\n      /** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */\n      waitlist?: boolean;\n      /** Registration start timestamp. */\n      startDate?: Date | null;\n      /** Registration end timestamp. */\n      endDate?: Date | null;\n  }\n  enum RsvpStatusOptions$1 {\n      /** Only YES RSVP status is available for RSVP registration */\n      YES_ONLY = \"YES_ONLY\",\n      /** YES and NO RSVP status options are available for the registration */\n      YES_AND_NO = \"YES_AND_NO\"\n  }\n  interface Ticketing$1 {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      lowestPrice?: string | null;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      highestPrice?: string | null;\n      /** Currency used in event transactions. */\n      currency?: string | null;\n      /** Ticketing configuration. */\n      config?: TicketingConfig$1;\n      /**\n       * Price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPrice?: EventsMoney;\n      /**\n       * Price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPrice?: EventsMoney;\n      /**\n       * Formatted price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPriceFormatted?: string | null;\n      /**\n       * Formatted price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPriceFormatted?: string | null;\n      /**\n       * Whether all tickets are sold for this event.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n  }\n  interface TicketingConfig$1 {\n      /** Whether the form must be filled out separately for each ticket. */\n      guestAssignedTickets?: boolean;\n      /** Tax configuration. */\n      taxConfig?: TaxConfig$1;\n      /** Limit of tickets that can be purchased per order, default 20. */\n      ticketLimitPerOrder?: number;\n      /**\n       * App Id for external ticket stock management.\n       * By default tickets stock is defined in TicketDefinition object.\n       * If defined then limitation from TicketDefinition is ignored.\n       * @internal\n       */\n      stockManagerAppId?: string | null;\n      /** Duration for which the tickets being bought are reserved. */\n      reservationDurationInMinutes?: number | null;\n  }\n  interface TaxConfig$1 {\n      /** Tax application settings. */\n      type?: EventsTaxType;\n      /** Tax name. */\n      name?: string | null;\n      /** Tax rate (e.g.,`21.55`). */\n      rate?: string | null;\n      /** Applies taxes for donations, default true. */\n      appliesToDonations?: boolean | null;\n  }\n  enum EventsTaxType {\n      /** Tax is included in the ticket price. */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout. */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout. */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface ExternalEvent$1 {\n      /** External event registration URL. */\n      registration?: string;\n  }\n  enum VisitorType$1 {\n      /** Site visitor (including member) */\n      VISITOR = \"VISITOR\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Site visitor or member */\n      VISITOR_OR_MEMBER = \"VISITOR_OR_MEMBER\"\n  }\n  interface CalendarLinks$1 {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  /** Site URL components */\n  interface SiteUrl$1 {\n      /**\n       * Base URL. For premium sites, this will be the domain.\n       * For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`)\n       */\n      base?: string;\n      /** The path to that page - e.g `/my-events/weekly-meetup-2` */\n      path?: string;\n  }\n  interface Dashboard$1 {\n      /** Guest RSVP summary. */\n      rsvpSummary?: RsvpSummary$1;\n      /**\n       * Summary of revenue and tickets sold.\n       * (Archived orders are not included).\n       */\n      ticketingSummary?: TicketingSummary$1;\n  }\n  interface RsvpSummary$1 {\n      /** Total number of RSVPs. */\n      total?: number;\n      /** Number of RSVPs with status `YES`. */\n      yes?: number;\n      /** Number of RSVPs with status `NO`. */\n      no?: number;\n      /** Number of RSVPs in waitlist. */\n      waitlist?: number;\n  }\n  interface TicketingSummary$1 {\n      /** Number of tickets sold. */\n      tickets?: number;\n      /**\n       * Total revenue, excluding fees.\n       * (taxes and payment provider fees are not deducted.)\n       */\n      revenue?: EventsMoney;\n      /** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */\n      currencyLocked?: boolean;\n      /** Number of orders placed. */\n      orders?: number;\n      /** Total balance of confirmed transactions. */\n      totalSales?: EventsMoney;\n  }\n  interface GuestListConfig$1 {\n      /** Whether members can see other members attending the event (defaults to true). */\n      publicGuestList?: boolean;\n  }\n  interface EventsFeed {\n      /** Event discussion feed token. */\n      token?: string;\n  }\n  interface EventsOnlineConferencing {\n      config?: OnlineConferencingConfig$1;\n      session?: EventsOnlineConferencingSession;\n      /**\n       * Configured conferencing provider name.\n       * @internal\n       * @readonly\n       */\n      providerName?: string;\n  }\n  interface OnlineConferencingConfig$1 {\n      /**\n       * Whether online conferencing is enabled (not supported for TBD schedules).\n       * When enabled, links to join conferencing are generated and provided to guests.\n       */\n      enabled?: boolean;\n      /** Conferencing provider ID. */\n      providerId?: string | null;\n      /** Conference type */\n      conferenceType?: ConferenceType$1;\n  }\n  enum ConferenceType$1 {\n      /** Everyone in the meeting can publish and subscribe video and audio. */\n      MEETING = \"MEETING\",\n      /** Guests can only subscribe to video and audio. */\n      WEBINAR = \"WEBINAR\"\n  }\n  interface EventsOnlineConferencingSession {\n      /**\n       * Link for event host to start the online conference session.\n       * @readonly\n       */\n      hostLink?: string;\n      /**\n       * Link for guests to join the online conference session.\n       * @readonly\n       */\n      guestLink?: string;\n      /**\n       * The password required to join online conferencing session (when relevant).\n       * @readonly\n       */\n      password?: string | null;\n      /**\n       * Indicates that session was created successfully on providers side.\n       * @readonly\n       */\n      sessionCreated?: boolean | null;\n      /**\n       * Unique session id\n       * @readonly\n       */\n      sessionId?: string | null;\n  }\n  interface EventsSeoSettings {\n      /** URL slug */\n      slug?: string;\n      /** Advanced SEO data */\n      advancedSeoData?: SeoSchema$1;\n      /**\n       * Hidden from SEO Site Map\n       * @readonly\n       */\n      hidden?: boolean | null;\n  }\n  interface Agenda$1 {\n      /** Whether the schedule is enabled for the event. */\n      enabled?: boolean;\n      /**\n       * Agenda page URL.\n       * @readonly\n       */\n      pageUrl?: SiteUrl$1;\n  }\n  interface Category$1 {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Date and time when category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Assigned events count. Deleted events are excluded.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * The total number of draft and published events assigned to the category.\n       * @readonly\n       */\n      counts?: CategoryCounts$1;\n      /**\n       * Category state. Possible values:\n       *\n       * `MANUAL`: Category is created manually by the user.\n       * `AUTO`: Category is created automatically.\n       * `RECURRING_EVENT`: Category is created automatically when publishing recurring events.\n       * `HIDDEN`: Category can't be seen.\n       *\n       * Default: `MANUAL`.\n       *\n       * **Note:** The WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission scope is required to use states other than `MANUAL`.\n       */\n      states?: State$1[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  interface CategoryCounts$1 {\n      /** Total number of draft events assigned to the category. */\n      assignedEventsCount?: number | null;\n      /** Total number of published events assigned to the category. Deleted events are excluded. */\n      assignedDraftEventsCount?: number | null;\n  }\n  enum State$1 {\n      /** Created manually by the user. */\n      MANUAL = \"MANUAL\",\n      /** Created automatically. */\n      AUTO = \"AUTO\",\n      /** Created when publishing recurring events. */\n      RECURRING_EVENT = \"RECURRING_EVENT\",\n      /** Category is hidden. */\n      HIDDEN = \"HIDDEN\",\n      /** Category is used to store component events. */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface EventDisplaySettings$1 {\n      /** Whether event details button is hidden. Only available for events with no registration. */\n      hideEventDetailsButton?: boolean | null;\n      /** Disables event details page visibility. If event has an external registration configured visitors will be redirected from this page. */\n      hideEventDetailsPage?: boolean | null;\n  }\n  interface LabellingSettings$1 {\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLegacyLabelId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLabelDeleted?: boolean | null;\n  }\n  interface Empty$1 {\n  }\n  interface EventUpdated$1 {\n      /** Event update timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: EventsLocation;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$1;\n      /** Event title. */\n      title?: string;\n      /**\n       * Whether schedule configuration was updated.\n       * @deprecated\n       */\n      scheduleConfigUpdated?: boolean;\n      /**\n       * The set of properties which were updated. For example 'title' or 'location'\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Whether event has opened new spots with this update.\n       * @internal\n       */\n      newSpotsOpened?: boolean | null;\n      /** Updated event */\n      event?: Event$1;\n  }\n  interface EventDeleted$1 {\n      /** Event deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /**\n       * Event categories.\n       * @internal\n       */\n      categories?: string[];\n  }\n  interface EventCopied {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: EventsLocation;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$1;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus$1;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n      /**\n       * Map of copied ticket definitions from original event.\n       * Key represents ticket def id in the original event.\n       * Value represents ticket def id in the newly created event.\n       */\n      ticketDefinitions?: Record<string, string>;\n  }\n  interface EventPublished {\n      /** Event publish timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event status. */\n      status?: EventStatus$1;\n      /**\n       * Event ID. Indicates the original event which current event was derived from.\n       * Can be used to track the original event and add missing information.\n       */\n      derivedFromEventId?: string | null;\n      /** Event title. */\n      title?: string | null;\n      /** Event description. */\n      description?: string | null;\n      /** Event location. */\n      location?: EventsLocation;\n      /** Event scheduling. */\n      scheduling?: Scheduling$1;\n      /** Event page URL components. */\n      eventPageUrl?: SiteUrl$1;\n      /** RSVP or ticketing registration details. */\n      registration?: EventsRegistration;\n  }\n  interface EventCanceled$1 {\n      /** Event canceled timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n  }\n  interface EventStarted {\n      /** Event start timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface EventEnded$1 {\n      /** Event end timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface EventReminder {\n      /** Reminder timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: EventsLocation;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$1;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Time until the event starts (currently, reminder is triggered 1 day before event starts). */\n      startsIn?: TimeDuration;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates an event.\n   *\n   *\n   * The event includes a default registration form in the selected language, which consists of input fields for first name, last name, and email. See [Registration Form](https://www.wix.com/velo/reference/wix-events-v2/forms/introduction) for more information.\n   *\n   * You can create the event as a draft by setting the draft value to true. Otherwise, the event is published right away.\n   *\n   * The event is automatically set up to send daily summary reports of new guests to your business email.\n   * @param event - Event data.\n   * @public\n   * @requiredField event\n   * @requiredField event.dateAndTimeSettings\n   * @requiredField event.location\n   * @requiredField event.registration.initialType\n   * @requiredField event.title\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   * @returns Created event.\n   */\n  function createEvent(event: V3Event, options?: CreateEventOptions): Promise<V3Event>;\n  interface CreateEventOptions {\n      /** Whether to create the event as a draft. */\n      draft?: boolean;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Clones an event, including the registration form, notifications, multilingual translations and ticket configuration from the original event.\n   *\n   *\n   * The new event's date is automatically set to 14 days from the original event date.\n   * If an event with the same title already exists, the new event's title gets a sequence number. For example, if you clone an event named \"Leather Crafting 101\", the new event's title is \"Leather Crafting 101 (1)\".  You can change the required entity field values while cloning an event.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function cloneEvent(eventId: string, options?: CloneEventOptions): Promise<CloneEventResponse>;\n  interface CloneEventOptions {\n      /** Field values to be changed when cloning the event. */\n      event?: V3Event;\n      /**\n       * Fields that are included in this parameter are updated, while all other fields stay the same. If paths are not defined, all field values from the `event` object are updated.\n       * @internal\n       */\n      fieldmask?: string[];\n      /** Whether to clone the event as a draft. */\n      draft?: boolean;\n      /** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Updates an event.\n   * @param _id - Event ID.\n   * @public\n   * @requiredField _id\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   * @returns Updated event.\n   */\n  function updateEvent(_id: string, options?: UpdateEventOptions): Promise<V3Event>;\n  interface UpdateEventOptions {\n      /** Event to update. */\n      event: {\n          /**\n           * Event ID.\n           * @readonly\n           */\n          _id?: string;\n          /** Event location. */\n          location?: Location$1;\n          /** Event date and time settings. */\n          dateAndTimeSettings?: DateAndTimeSettings$1;\n          /** Event title. */\n          title?: string | null;\n          /** Short description that appears under the event title. */\n          shortDescription?: string | null;\n          /**\n           * Detailed description of an event. You can enter the description using rich text format (add various types of markups, such as underlines, italics, bolding, color codes, bullet lists, and links by using HTML formatting tags).\n           * @deprecated Detailed description of an event.\n           *\n           * This field is deprecated. To create a description, see the flow in [introduction](https://dev.wix.com/docs/rest/business-solutions/events/events-v3/introduction).\n           * @replacedBy wix.events.v1.rich_content\n           * @targetRemovalDate 2025-06-01\n           */\n          detailedDescription?: string | null;\n          /**\n           * Main event image. <br>\n           * **Note:** This field is returned only when the `DETAILS` fieldset is included in the request.\n           */\n          mainImage?: string;\n          /**\n           * Unique identifier of the event page. The naming is the same as the event title written in kebab case. For example, if your event title is \"Leather Crafting 101\", then the slug is \"leather-crafting-101\".\n           * @readonly\n           */\n          slug?: string;\n          /**\n           * Date and time when the event was created.\n           * @readonly\n           */\n          _createdDate?: Date | null;\n          /**\n           * Date and time when the event was updated.\n           * @readonly\n           */\n          _updatedDate?: Date | null;\n          /**\n           * Event status. Possible values:\n           *\n           *   - `UPCOMING`: The event is published and scheduled to start.\n           *   - `STARTED`: The event has started.\n           *   - `ENDED`: The event has ended.\n           *   - `CANCELED`: The event is canceled.\n           *   - `DRAFT`: The event is not published.\n           * @readonly\n           */\n          status?: Status$1;\n          /**\n           * RSVP or ticketing registration details. <br>\n           * **Note:** This field is returned only when the `REGISTRATION` fieldset is included in the request.\n           */\n          registration?: Registration$1;\n          /**\n           * URLs that allow you to add an event to the Google calendar, or to download an [ICS calendar](https://icscalendar.com/) file. <br>\n           * **Note:** This field is returned only when the `DETAILS` fieldset is included in the request.\n           * @readonly\n           */\n          calendarUrls?: CalendarUrls;\n          /**\n           * Event page URL components. <br>\n           * **Note:** This field is returned only when the `URLS` fieldset is included in the request.\n           */\n          eventPageUrl?: string;\n          /**\n           * Event registration form. <br>\n           * **Note:** This field is returned only when the `FORM` fieldset is included in the request.\n           */\n          form?: Form$1;\n          /**\n           * Summary of RSVP or ticket sales. <br>\n           * **Note:** This field is returned only when the `DASHBOARD` fieldset is included in the request and you have the \"WIX_EVENTS.READ_EVENT_DASHBOARD\" permissions.\n           */\n          summaries?: Summaries;\n          /**\n           * Instance ID of the site where the event is hosted.\n           * @readonly\n           */\n          instanceId?: string;\n          /** Guest list configuration. */\n          guestListSettings?: GuestListSettings;\n          /**\n           * ID of the user who created the event.\n           * @readonly\n           */\n          userId?: string;\n          /**\n           * Event discussion feed. For internal use.\n           * @internal\n           */\n          feed?: Feed$1;\n          /**\n           * Online conferencing details. <br>\n           * **Note:** This field is returned only when the `ONLINE_CONFERENCING_SESSION` fieldset is included in the request and you have the \"WIX_EVENTS.READ_ONLINE_CONFERENCING\" permissions.\n           */\n          onlineConferencing?: OnlineConferencing$1;\n          /**\n           * SEO settings. <br>\n           * **Note:** This field is returned only when the `SEO_SETTINGS` fieldset is included in the request.\n           */\n          seoSettings?: SeoSettings$1;\n          /**\n           * Assigned contacts label key.\n           * @readonly\n           */\n          contactLabel?: string | null;\n          /**\n           * Event schedule details. <br>\n           * **Note:** This field is returned only when the `AGENDA` fieldset is included in the request.\n           */\n          agendaSettings?: AgendaSettings;\n          /**\n           * Event categories.\n           * @internal\n           */\n          categories?: EventCategories;\n          /** Visual settings for event. */\n          eventDisplaySettings?: V3EventDisplaySettings;\n          /**\n           * True if ticket can be customised\n           * @internal\n           */\n          customizableTickets?: boolean | null;\n          /**\n           * Labelling related data.\n           * @internal\n           */\n          labellingSettings?: V3LabellingSettings;\n      };\n      /**\n       * Fields that are included in this parameter are updated, while all other fields stay the same. If paths are not defined, all field values from the `event` object are updated.\n       * @internal\n       */\n      fieldmask?: string[];\n      /** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Publishes a draft event to your live site. Once published, the event's status changes from `DRAFT` to `UPCOMING.`\n   *\n   *\n   * It's impossible to revert the `DRAFT` status after publishing. The only option is to clone the event, and then delete the original one.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function publishDraftEvent(eventId: string, options?: PublishDraftEventOptions): Promise<PublishDraftEventResponse>;\n  interface PublishDraftEventOptions {\n      /** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Cancels an event.\n   *\n   *\n   * After cancellation, registration for an event is closed. To reuse the event, [clone](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/cloneevent) and [publish](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/publishdraftevent) it again.\n   * If event cancellation notifications are enabled, canceling an event automatically triggers the sending of cancellation emails and/or push notifications to registered guests.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function cancelEvent(eventId: string, options?: CancelEventOptions): Promise<CancelEventResponse>;\n  interface CancelEventOptions {\n      /** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Cancels multiple events that meet the given criteria.\n   *\n   *\n   * After cancellation, registration for an event is closed. To reuse the event, [clone](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/cloneevent) and [publish](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/publishdraftevent) it again.\n   * If event cancellation notifications are enabled, canceling an event automatically triggers the sending of cancellation emails and/or push notifications to registered guests.\n   * @public\n   * @requiredField options.filter.filter\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function bulkCancelEventsByFilter(options?: BulkCancelEventsByFilterOptions): Promise<void>;\n  interface BulkCancelEventsByFilterOptions {\n      /** Filter. */\n      filter?: QueryV2$1;\n  }\n  /**\n   * Permanently deletes an event. <br> <br>\n   * You can retrieve the deleted event through a GDPR access request.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function deleteEvent(eventId: string): Promise<DeleteEventResponse>;\n  /**\n   * Permanently deletes multiple events that meet the given criteria.\n   *\n   *\n   * You can retrieve the deleted events through a GDPR access request.\n   * @public\n   * @requiredField options.filter.filter\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_EVENTS\n   * @adminMethod\n   */\n  function bulkDeleteEventsByFilter(options?: BulkDeleteEventsByFilterOptions): Promise<void>;\n  interface BulkDeleteEventsByFilterOptions {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      filter?: QueryV2$1;\n  }\n  /**\n   * Creates a query to retrieve a list of events.\n   *\n   *\n   * The `queryEvents()` function builds a query to retrieve a list of events and returns a [`EventsQueryBuilder`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/eventsquerybuilder) object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [`find()`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/eventsquerybuilder/find) function.\n   *\n   * You can refine the query by chaining `EventsQueryBuilder` functions onto the query. `EventsQueryBuilder` functions enable you to sort, filter, and control the results `queryEvents()` returns.\n   *\n   * `queryEvents()` runs with these `EventsQueryBuilder` defaults, which you can override:\n   *\n   * - [`skip(0)`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/eventsquerybuilder/skip)\n   * - [`limit(50)`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/eventsquerybuilder/limit)\n   * - [`descending(\"_createdDate\")`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/eventsquerybuilder/descending)\n   *\n   * The functions that are chained to `queryEvents()` are applied in the order they're called. For example, if you apply `ascending('title')` and then `descending('status')`, the results are sorted first by the `title`, and then, if there are multiple results with the same `title`, the items are sorted by `status`.\n   * @public\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   */\n  function queryEvents(options?: QueryEventsOptions): EventsQueryBuilder;\n  interface QueryEventsOptions {\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields[] | undefined;\n      /**\n       * Whether draft events should be returned in the response. <br>\n       * **Note:** This parameter requires the `WIX_EVENTS.READ_DRAFT_EVENTS` permission.\n       */\n      includeDrafts?: boolean | undefined;\n  }\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface EventsQueryResult extends QueryOffsetResult {\n      items: V3Event[];\n      query: EventsQueryBuilder;\n      next: () => Promise<EventsQueryResult>;\n      prev: () => Promise<EventsQueryResult>;\n  }\n  interface EventsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | 'title' | 'slug' | '_createdDate' | '_updatedDate' | 'status' | 'registration.initialType' | 'userId', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | 'title' | 'slug' | '_createdDate' | '_updatedDate' | 'status' | 'userId', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | '_createdDate' | '_updatedDate', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | '_createdDate' | '_updatedDate', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | '_createdDate' | '_updatedDate', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | '_createdDate' | '_updatedDate', value: any) => EventsQueryBuilder;\n      in: (propertyName: '_id' | 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | 'title' | 'slug' | '_createdDate' | '_updatedDate' | 'status' | 'userId', value: any) => EventsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | 'title' | 'slug' | '_createdDate' | '_updatedDate'>) => EventsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | 'title' | 'slug' | '_createdDate' | '_updatedDate'>) => EventsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => EventsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => EventsQueryBuilder;\n      find: () => Promise<EventsQueryResult>;\n  }\n  /**\n   * Counts events by status.\n   * @public\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   */\n  function countEventsByStatus(options?: CountEventsByStatusOptions): Promise<CountEventsByStatusResponse>;\n  interface CountEventsByStatusOptions {\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. */\n      filter?: Record<string, any> | null;\n      /** Parameters to count events by. */\n      facet?: string[];\n      /**\n       * Whether draft events should be returned in the response. <br>\n       * **Note:** This parameter requires the `WIX_EVENTS.READ_DRAFT_EVENTS` permission.\n       */\n      includeDrafts?: boolean;\n  }\n  /**\n   * Retrieves a list of up to 100 events that belong to the same event category.\n   * @param categoryId - Category ID.\n   * @internal\n   * @requiredField categoryId\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   */\n  function listEventsByCategory(categoryId: string, options?: ListEventsByCategoryOptions): Promise<ListEventsByCategoryResponse>;\n  interface ListEventsByCategoryOptions {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Retrieves an event by ID.\n   *\n   * To retrieve an event description, call [Get Rich Content](https://dev.wix.com/docs/rest/business-solutions/events/rich-content/get-rich-content).\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   * @returns Event.\n   */\n  function getEvent(eventId: string | null, options?: GetEventOptions): Promise<V3Event>;\n  interface GetEventOptions {\n      fields?: RequestedFields[];\n      /**\n       * indicates whether full_address should be resolved\n       * @internal\n       */\n      resolveFullAddress?: boolean;\n  }\n  /**\n   * Retrieves an event by the `slug` URL.\n   *\n   *\n   * The slug is the end of an event URL that refers to a specific event. For example, if an events' URL is `https://example.com/events/event/{my-event-slug}`, the slug is `my-event-slug`.\n   * @param slug - URL slug.\n   * @public\n   * @requiredField slug\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   */\n  function getEventBySlug(slug: string | null, options?: GetEventBySlugOptions): Promise<GetEventBySlugResponse>;\n  interface GetEventBySlugOptions {\n      fields?: RequestedFields[];\n      /**\n       * indicates whether full_address should be resolved\n       * @internal\n       */\n      resolveFullAddress?: boolean;\n  }\n  /**\n   * Finds an event by ID or URL slug.\n   *\n   *\n   * Unlike the [`getEvent`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/getevent) function, which returns a \"not found\" error, `findEvent()` returns an empty response when an event is not found.\n   * @internal\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_EVENTS\n   */\n  function findEvent(options?: FindEventOptions): Promise<FindEventResponse>;\n  interface FindEventOptions extends FindEventRequestFindByOneOf {\n      /** Event ID. */\n      eventId?: string | null;\n      /** URL slug. */\n      slug?: string | null;\n      /** Predefined sets of fields to return. */\n      fields?: RequestedFields[];\n  }\n  \n  type eventsV3Event_universal_d_V3Event = V3Event;\n  type eventsV3Event_universal_d_TimeDuration = TimeDuration;\n  type eventsV3Event_universal_d_RegistrationTypeType = RegistrationTypeType;\n  const eventsV3Event_universal_d_RegistrationTypeType: typeof RegistrationTypeType;\n  type eventsV3Event_universal_d_RegistrationStatusStatus = RegistrationStatusStatus;\n  const eventsV3Event_universal_d_RegistrationStatusStatus: typeof RegistrationStatusStatus;\n  type eventsV3Event_universal_d_RsvpRegistration = RsvpRegistration;\n  type eventsV3Event_universal_d_ResponseType = ResponseType;\n  const eventsV3Event_universal_d_ResponseType: typeof ResponseType;\n  type eventsV3Event_universal_d_TicketsRegistration = TicketsRegistration;\n  type eventsV3Event_universal_d_TaxSettings = TaxSettings;\n  type eventsV3Event_universal_d_ExternalRegistration = ExternalRegistration;\n  type eventsV3Event_universal_d_GuestTypeType = GuestTypeType;\n  const eventsV3Event_universal_d_GuestTypeType: typeof GuestTypeType;\n  type eventsV3Event_universal_d_InitialRegistrationTypeType = InitialRegistrationTypeType;\n  const eventsV3Event_universal_d_InitialRegistrationTypeType: typeof InitialRegistrationTypeType;\n  type eventsV3Event_universal_d_CalendarUrls = CalendarUrls;\n  type eventsV3Event_universal_d_Summaries = Summaries;\n  type eventsV3Event_universal_d_EventsMoney = EventsMoney;\n  type eventsV3Event_universal_d_Rsvps = Rsvps;\n  type eventsV3Event_universal_d_Tickets = Tickets;\n  type eventsV3Event_universal_d_GuestListSettings = GuestListSettings;\n  type eventsV3Event_universal_d_ConferenceTypeType = ConferenceTypeType;\n  const eventsV3Event_universal_d_ConferenceTypeType: typeof ConferenceTypeType;\n  type eventsV3Event_universal_d_AgendaSettings = AgendaSettings;\n  type eventsV3Event_universal_d_EventCategories = EventCategories;\n  type eventsV3Event_universal_d_EventCategory = EventCategory;\n  type eventsV3Event_universal_d_V3EventDisplaySettings = V3EventDisplaySettings;\n  type eventsV3Event_universal_d_V3LabellingSettings = V3LabellingSettings;\n  type eventsV3Event_universal_d_EventEventStarted = EventEventStarted;\n  type eventsV3Event_universal_d_EventEventEnded = EventEventEnded;\n  type eventsV3Event_universal_d_EventEventReminder = EventEventReminder;\n  type eventsV3Event_universal_d_EventEventPublished = EventEventPublished;\n  type eventsV3Event_universal_d_EventCloned = EventCloned;\n  type eventsV3Event_universal_d_EventEventCanceled = EventEventCanceled;\n  type eventsV3Event_universal_d_CreateEventRequest = CreateEventRequest;\n  type eventsV3Event_universal_d_RequestedFields = RequestedFields;\n  const eventsV3Event_universal_d_RequestedFields: typeof RequestedFields;\n  type eventsV3Event_universal_d_CreateEventResponse = CreateEventResponse;\n  type eventsV3Event_universal_d_CloneEventRequest = CloneEventRequest;\n  type eventsV3Event_universal_d_CloneEventResponse = CloneEventResponse;\n  type eventsV3Event_universal_d_UpdateEventRequest = UpdateEventRequest;\n  type eventsV3Event_universal_d_UpdateEventResponse = UpdateEventResponse;\n  type eventsV3Event_universal_d_PublishDraftEventRequest = PublishDraftEventRequest;\n  type eventsV3Event_universal_d_PublishDraftEventResponse = PublishDraftEventResponse;\n  type eventsV3Event_universal_d_CancelEventRequest = CancelEventRequest;\n  type eventsV3Event_universal_d_CancelEventResponse = CancelEventResponse;\n  type eventsV3Event_universal_d_BulkCancelEventsByFilterRequest = BulkCancelEventsByFilterRequest;\n  type eventsV3Event_universal_d_BulkCancelEventsByFilterResponse = BulkCancelEventsByFilterResponse;\n  type eventsV3Event_universal_d_DeleteEventRequest = DeleteEventRequest;\n  type eventsV3Event_universal_d_DeleteEventResponse = DeleteEventResponse;\n  type eventsV3Event_universal_d_BulkDeleteEventsByFilterRequest = BulkDeleteEventsByFilterRequest;\n  type eventsV3Event_universal_d_BulkDeleteEventsByFilterResponse = BulkDeleteEventsByFilterResponse;\n  type eventsV3Event_universal_d_QueryEventsRequest = QueryEventsRequest;\n  type eventsV3Event_universal_d_QueryEventsResponse = QueryEventsResponse;\n  type eventsV3Event_universal_d_ExportEventsRequest = ExportEventsRequest;\n  type eventsV3Event_universal_d_CommonQueryV2 = CommonQueryV2;\n  type eventsV3Event_universal_d_CommonQueryV2PagingMethodOneOf = CommonQueryV2PagingMethodOneOf;\n  type eventsV3Event_universal_d_CommonSorting = CommonSorting;\n  type eventsV3Event_universal_d_CommonSortOrder = CommonSortOrder;\n  const eventsV3Event_universal_d_CommonSortOrder: typeof CommonSortOrder;\n  type eventsV3Event_universal_d_CommonPaging = CommonPaging;\n  type eventsV3Event_universal_d_ExportEventsResponse = ExportEventsResponse;\n  type eventsV3Event_universal_d_CommonPagingMetadataV2 = CommonPagingMetadataV2;\n  type eventsV3Event_universal_d_CommonCursors = CommonCursors;\n  type eventsV3Event_universal_d_CountEventsByStatusRequest = CountEventsByStatusRequest;\n  type eventsV3Event_universal_d_CountEventsByStatusResponse = CountEventsByStatusResponse;\n  type eventsV3Event_universal_d_ListUserEventsRequest = ListUserEventsRequest;\n  type eventsV3Event_universal_d_UserFilter = UserFilter;\n  type eventsV3Event_universal_d_Relation = Relation;\n  const eventsV3Event_universal_d_Relation: typeof Relation;\n  type eventsV3Event_universal_d_ListUserEventsResponse = ListUserEventsResponse;\n  type eventsV3Event_universal_d_ListEventsByCategoryRequest = ListEventsByCategoryRequest;\n  type eventsV3Event_universal_d_ListEventsByCategoryResponse = ListEventsByCategoryResponse;\n  type eventsV3Event_universal_d_GetEventRequest = GetEventRequest;\n  type eventsV3Event_universal_d_GetEventResponse = GetEventResponse;\n  type eventsV3Event_universal_d_GetEventBySlugRequest = GetEventBySlugRequest;\n  type eventsV3Event_universal_d_GetEventBySlugResponse = GetEventBySlugResponse;\n  type eventsV3Event_universal_d_FindEventRequest = FindEventRequest;\n  type eventsV3Event_universal_d_FindEventRequestFindByOneOf = FindEventRequestFindByOneOf;\n  type eventsV3Event_universal_d_FindEventResponse = FindEventResponse;\n  type eventsV3Event_universal_d_EventsLocation = EventsLocation;\n  type eventsV3Event_universal_d_EventsRecurrences = EventsRecurrences;\n  type eventsV3Event_universal_d_EventsOccurrence = EventsOccurrence;\n  type eventsV3Event_universal_d_EventsRecurrenceStatusStatus = EventsRecurrenceStatusStatus;\n  const eventsV3Event_universal_d_EventsRecurrenceStatusStatus: typeof EventsRecurrenceStatusStatus;\n  type eventsV3Event_universal_d_EventsRegistration = EventsRegistration;\n  type eventsV3Event_universal_d_EventsTaxType = EventsTaxType;\n  const eventsV3Event_universal_d_EventsTaxType: typeof EventsTaxType;\n  type eventsV3Event_universal_d_EventsFeed = EventsFeed;\n  type eventsV3Event_universal_d_EventsOnlineConferencing = EventsOnlineConferencing;\n  type eventsV3Event_universal_d_EventsOnlineConferencingSession = EventsOnlineConferencingSession;\n  type eventsV3Event_universal_d_EventsSeoSettings = EventsSeoSettings;\n  type eventsV3Event_universal_d_EventCopied = EventCopied;\n  type eventsV3Event_universal_d_EventPublished = EventPublished;\n  type eventsV3Event_universal_d_EventStarted = EventStarted;\n  type eventsV3Event_universal_d_EventReminder = EventReminder;\n  const eventsV3Event_universal_d_createEvent: typeof createEvent;\n  type eventsV3Event_universal_d_CreateEventOptions = CreateEventOptions;\n  const eventsV3Event_universal_d_cloneEvent: typeof cloneEvent;\n  type eventsV3Event_universal_d_CloneEventOptions = CloneEventOptions;\n  const eventsV3Event_universal_d_updateEvent: typeof updateEvent;\n  type eventsV3Event_universal_d_UpdateEventOptions = UpdateEventOptions;\n  const eventsV3Event_universal_d_publishDraftEvent: typeof publishDraftEvent;\n  type eventsV3Event_universal_d_PublishDraftEventOptions = PublishDraftEventOptions;\n  const eventsV3Event_universal_d_cancelEvent: typeof cancelEvent;\n  type eventsV3Event_universal_d_CancelEventOptions = CancelEventOptions;\n  const eventsV3Event_universal_d_bulkCancelEventsByFilter: typeof bulkCancelEventsByFilter;\n  type eventsV3Event_universal_d_BulkCancelEventsByFilterOptions = BulkCancelEventsByFilterOptions;\n  const eventsV3Event_universal_d_deleteEvent: typeof deleteEvent;\n  const eventsV3Event_universal_d_bulkDeleteEventsByFilter: typeof bulkDeleteEventsByFilter;\n  type eventsV3Event_universal_d_BulkDeleteEventsByFilterOptions = BulkDeleteEventsByFilterOptions;\n  const eventsV3Event_universal_d_queryEvents: typeof queryEvents;\n  type eventsV3Event_universal_d_QueryEventsOptions = QueryEventsOptions;\n  type eventsV3Event_universal_d_EventsQueryResult = EventsQueryResult;\n  type eventsV3Event_universal_d_EventsQueryBuilder = EventsQueryBuilder;\n  const eventsV3Event_universal_d_countEventsByStatus: typeof countEventsByStatus;\n  type eventsV3Event_universal_d_CountEventsByStatusOptions = CountEventsByStatusOptions;\n  const eventsV3Event_universal_d_listEventsByCategory: typeof listEventsByCategory;\n  type eventsV3Event_universal_d_ListEventsByCategoryOptions = ListEventsByCategoryOptions;\n  const eventsV3Event_universal_d_getEvent: typeof getEvent;\n  type eventsV3Event_universal_d_GetEventOptions = GetEventOptions;\n  const eventsV3Event_universal_d_getEventBySlug: typeof getEventBySlug;\n  type eventsV3Event_universal_d_GetEventBySlugOptions = GetEventBySlugOptions;\n  const eventsV3Event_universal_d_findEvent: typeof findEvent;\n  type eventsV3Event_universal_d_FindEventOptions = FindEventOptions;\n  namespace eventsV3Event_universal_d {\n    export {\n      eventsV3Event_universal_d_V3Event as V3Event,\n      Location$1 as Location,\n      LocationType$1 as LocationType,\n      CommonAddress$1 as CommonAddress,\n      CommonAddressStreetOneOf$1 as CommonAddressStreetOneOf,\n      CommonStreetAddress$1 as CommonStreetAddress,\n      CommonAddressLocation$1 as CommonAddressLocation,\n      CommonSubdivision$1 as CommonSubdivision,\n      SubdivisionSubdivisionType$1 as SubdivisionSubdivisionType,\n      DateAndTimeSettings$1 as DateAndTimeSettings,\n      RecurrenceStatusStatus$1 as RecurrenceStatusStatus,\n      Recurrences$1 as Recurrences,\n      Occurrence$1 as Occurrence,\n      Formatted$1 as Formatted,\n      eventsV3Event_universal_d_TimeDuration as TimeDuration,\n      Status$1 as Status,\n      Registration$1 as Registration,\n      eventsV3Event_universal_d_RegistrationTypeType as RegistrationTypeType,\n      eventsV3Event_universal_d_RegistrationStatusStatus as RegistrationStatusStatus,\n      eventsV3Event_universal_d_RsvpRegistration as RsvpRegistration,\n      eventsV3Event_universal_d_ResponseType as ResponseType,\n      eventsV3Event_universal_d_TicketsRegistration as TicketsRegistration,\n      Money$1 as Money,\n      eventsV3Event_universal_d_TaxSettings as TaxSettings,\n      TaxType$1 as TaxType,\n      eventsV3Event_universal_d_ExternalRegistration as ExternalRegistration,\n      eventsV3Event_universal_d_GuestTypeType as GuestTypeType,\n      eventsV3Event_universal_d_InitialRegistrationTypeType as InitialRegistrationTypeType,\n      eventsV3Event_universal_d_CalendarUrls as CalendarUrls,\n      Form$1 as Form,\n      InputControl$1 as InputControl,\n      InputControlType$1 as InputControlType,\n      Input$1 as Input,\n      ValueType$1 as ValueType,\n      OptionSelection$1 as OptionSelection,\n      OptionSelectionSelectedOptionOneOf$1 as OptionSelectionSelectedOptionOneOf,\n      Label$1 as Label,\n      FormMessages$1 as FormMessages,\n      RsvpFormMessages$1 as RsvpFormMessages,\n      PositiveResponseConfirmation$1 as PositiveResponseConfirmation,\n      NegativeResponseConfirmation$1 as NegativeResponseConfirmation,\n      Positive$1 as Positive,\n      Negative$1 as Negative,\n      CheckoutFormMessages$1 as CheckoutFormMessages,\n      ResponseConfirmation$1 as ResponseConfirmation,\n      RegistrationClosedMessages$1 as RegistrationClosedMessages,\n      TicketsUnavailableMessages$1 as TicketsUnavailableMessages,\n      eventsV3Event_universal_d_Summaries as Summaries,\n      eventsV3Event_universal_d_EventsMoney as EventsMoney,\n      eventsV3Event_universal_d_Rsvps as Rsvps,\n      eventsV3Event_universal_d_Tickets as Tickets,\n      eventsV3Event_universal_d_GuestListSettings as GuestListSettings,\n      Feed$1 as Feed,\n      OnlineConferencing$1 as OnlineConferencing,\n      eventsV3Event_universal_d_ConferenceTypeType as ConferenceTypeType,\n      OnlineConferencingSession$1 as OnlineConferencingSession,\n      SeoSettings$1 as SeoSettings,\n      SeoSchema$1 as SeoSchema,\n      Keyword$1 as Keyword,\n      Tag$1 as Tag,\n      Settings$1 as Settings,\n      eventsV3Event_universal_d_AgendaSettings as AgendaSettings,\n      eventsV3Event_universal_d_EventCategories as EventCategories,\n      eventsV3Event_universal_d_EventCategory as EventCategory,\n      Type$1 as Type,\n      eventsV3Event_universal_d_V3EventDisplaySettings as V3EventDisplaySettings,\n      eventsV3Event_universal_d_V3LabellingSettings as V3LabellingSettings,\n      eventsV3Event_universal_d_EventEventStarted as EventEventStarted,\n      eventsV3Event_universal_d_EventEventEnded as EventEventEnded,\n      eventsV3Event_universal_d_EventEventReminder as EventEventReminder,\n      eventsV3Event_universal_d_EventEventPublished as EventEventPublished,\n      eventsV3Event_universal_d_EventCloned as EventCloned,\n      eventsV3Event_universal_d_EventEventCanceled as EventEventCanceled,\n      eventsV3Event_universal_d_CreateEventRequest as CreateEventRequest,\n      eventsV3Event_universal_d_RequestedFields as RequestedFields,\n      eventsV3Event_universal_d_CreateEventResponse as CreateEventResponse,\n      eventsV3Event_universal_d_CloneEventRequest as CloneEventRequest,\n      eventsV3Event_universal_d_CloneEventResponse as CloneEventResponse,\n      eventsV3Event_universal_d_UpdateEventRequest as UpdateEventRequest,\n      eventsV3Event_universal_d_UpdateEventResponse as UpdateEventResponse,\n      eventsV3Event_universal_d_PublishDraftEventRequest as PublishDraftEventRequest,\n      eventsV3Event_universal_d_PublishDraftEventResponse as PublishDraftEventResponse,\n      eventsV3Event_universal_d_CancelEventRequest as CancelEventRequest,\n      eventsV3Event_universal_d_CancelEventResponse as CancelEventResponse,\n      eventsV3Event_universal_d_BulkCancelEventsByFilterRequest as BulkCancelEventsByFilterRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$1 as Paging,\n      eventsV3Event_universal_d_BulkCancelEventsByFilterResponse as BulkCancelEventsByFilterResponse,\n      eventsV3Event_universal_d_DeleteEventRequest as DeleteEventRequest,\n      eventsV3Event_universal_d_DeleteEventResponse as DeleteEventResponse,\n      eventsV3Event_universal_d_BulkDeleteEventsByFilterRequest as BulkDeleteEventsByFilterRequest,\n      eventsV3Event_universal_d_BulkDeleteEventsByFilterResponse as BulkDeleteEventsByFilterResponse,\n      eventsV3Event_universal_d_QueryEventsRequest as QueryEventsRequest,\n      eventsV3Event_universal_d_QueryEventsResponse as QueryEventsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      eventsV3Event_universal_d_ExportEventsRequest as ExportEventsRequest,\n      eventsV3Event_universal_d_CommonQueryV2 as CommonQueryV2,\n      eventsV3Event_universal_d_CommonQueryV2PagingMethodOneOf as CommonQueryV2PagingMethodOneOf,\n      eventsV3Event_universal_d_CommonSorting as CommonSorting,\n      eventsV3Event_universal_d_CommonSortOrder as CommonSortOrder,\n      eventsV3Event_universal_d_CommonPaging as CommonPaging,\n      CursorPaging$1 as CursorPaging,\n      eventsV3Event_universal_d_ExportEventsResponse as ExportEventsResponse,\n      eventsV3Event_universal_d_CommonPagingMetadataV2 as CommonPagingMetadataV2,\n      eventsV3Event_universal_d_CommonCursors as CommonCursors,\n      eventsV3Event_universal_d_CountEventsByStatusRequest as CountEventsByStatusRequest,\n      eventsV3Event_universal_d_CountEventsByStatusResponse as CountEventsByStatusResponse,\n      FacetCounts$1 as FacetCounts,\n      eventsV3Event_universal_d_ListUserEventsRequest as ListUserEventsRequest,\n      eventsV3Event_universal_d_UserFilter as UserFilter,\n      eventsV3Event_universal_d_Relation as Relation,\n      eventsV3Event_universal_d_ListUserEventsResponse as ListUserEventsResponse,\n      eventsV3Event_universal_d_ListEventsByCategoryRequest as ListEventsByCategoryRequest,\n      eventsV3Event_universal_d_ListEventsByCategoryResponse as ListEventsByCategoryResponse,\n      eventsV3Event_universal_d_GetEventRequest as GetEventRequest,\n      eventsV3Event_universal_d_GetEventResponse as GetEventResponse,\n      eventsV3Event_universal_d_GetEventBySlugRequest as GetEventBySlugRequest,\n      eventsV3Event_universal_d_GetEventBySlugResponse as GetEventBySlugResponse,\n      eventsV3Event_universal_d_FindEventRequest as FindEventRequest,\n      eventsV3Event_universal_d_FindEventRequestFindByOneOf as FindEventRequestFindByOneOf,\n      eventsV3Event_universal_d_FindEventResponse as FindEventResponse,\n      EventCreated$1 as EventCreated,\n      eventsV3Event_universal_d_EventsLocation as EventsLocation,\n      MapCoordinates$1 as MapCoordinates,\n      LocationLocationType$1 as LocationLocationType,\n      Address$1 as Address,\n      AddressStreetOneOf$1 as AddressStreetOneOf,\n      StreetAddress$1 as StreetAddress,\n      AddressLocation$1 as AddressLocation,\n      Subdivision$1 as Subdivision,\n      SubdivisionType$1 as SubdivisionType,\n      ScheduleConfig$1 as ScheduleConfig,\n      eventsV3Event_universal_d_EventsRecurrences as EventsRecurrences,\n      eventsV3Event_universal_d_EventsOccurrence as EventsOccurrence,\n      eventsV3Event_universal_d_EventsRecurrenceStatusStatus as EventsRecurrenceStatusStatus,\n      EventStatus$1 as EventStatus,\n      Event$1 as Event,\n      Scheduling$1 as Scheduling,\n      eventsV3Event_universal_d_EventsRegistration as EventsRegistration,\n      EventType$1 as EventType,\n      RegistrationStatus$1 as RegistrationStatus,\n      RsvpCollection$1 as RsvpCollection,\n      RsvpCollectionConfig$1 as RsvpCollectionConfig,\n      RsvpStatusOptions$1 as RsvpStatusOptions,\n      Ticketing$1 as Ticketing,\n      TicketingConfig$1 as TicketingConfig,\n      TaxConfig$1 as TaxConfig,\n      eventsV3Event_universal_d_EventsTaxType as EventsTaxType,\n      ExternalEvent$1 as ExternalEvent,\n      VisitorType$1 as VisitorType,\n      CalendarLinks$1 as CalendarLinks,\n      SiteUrl$1 as SiteUrl,\n      Dashboard$1 as Dashboard,\n      RsvpSummary$1 as RsvpSummary,\n      TicketingSummary$1 as TicketingSummary,\n      GuestListConfig$1 as GuestListConfig,\n      eventsV3Event_universal_d_EventsFeed as EventsFeed,\n      eventsV3Event_universal_d_EventsOnlineConferencing as EventsOnlineConferencing,\n      OnlineConferencingConfig$1 as OnlineConferencingConfig,\n      ConferenceType$1 as ConferenceType,\n      eventsV3Event_universal_d_EventsOnlineConferencingSession as EventsOnlineConferencingSession,\n      eventsV3Event_universal_d_EventsSeoSettings as EventsSeoSettings,\n      Agenda$1 as Agenda,\n      Category$1 as Category,\n      CategoryCounts$1 as CategoryCounts,\n      State$1 as State,\n      EventDisplaySettings$1 as EventDisplaySettings,\n      LabellingSettings$1 as LabellingSettings,\n      Empty$1 as Empty,\n      EventUpdated$1 as EventUpdated,\n      EventDeleted$1 as EventDeleted,\n      eventsV3Event_universal_d_EventCopied as EventCopied,\n      eventsV3Event_universal_d_EventPublished as EventPublished,\n      EventCanceled$1 as EventCanceled,\n      eventsV3Event_universal_d_EventStarted as EventStarted,\n      EventEnded$1 as EventEnded,\n      eventsV3Event_universal_d_EventReminder as EventReminder,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      eventsV3Event_universal_d_createEvent as createEvent,\n      eventsV3Event_universal_d_CreateEventOptions as CreateEventOptions,\n      eventsV3Event_universal_d_cloneEvent as cloneEvent,\n      eventsV3Event_universal_d_CloneEventOptions as CloneEventOptions,\n      eventsV3Event_universal_d_updateEvent as updateEvent,\n      eventsV3Event_universal_d_UpdateEventOptions as UpdateEventOptions,\n      eventsV3Event_universal_d_publishDraftEvent as publishDraftEvent,\n      eventsV3Event_universal_d_PublishDraftEventOptions as PublishDraftEventOptions,\n      eventsV3Event_universal_d_cancelEvent as cancelEvent,\n      eventsV3Event_universal_d_CancelEventOptions as CancelEventOptions,\n      eventsV3Event_universal_d_bulkCancelEventsByFilter as bulkCancelEventsByFilter,\n      eventsV3Event_universal_d_BulkCancelEventsByFilterOptions as BulkCancelEventsByFilterOptions,\n      eventsV3Event_universal_d_deleteEvent as deleteEvent,\n      eventsV3Event_universal_d_bulkDeleteEventsByFilter as bulkDeleteEventsByFilter,\n      eventsV3Event_universal_d_BulkDeleteEventsByFilterOptions as BulkDeleteEventsByFilterOptions,\n      eventsV3Event_universal_d_queryEvents as queryEvents,\n      eventsV3Event_universal_d_QueryEventsOptions as QueryEventsOptions,\n      eventsV3Event_universal_d_EventsQueryResult as EventsQueryResult,\n      eventsV3Event_universal_d_EventsQueryBuilder as EventsQueryBuilder,\n      eventsV3Event_universal_d_countEventsByStatus as countEventsByStatus,\n      eventsV3Event_universal_d_CountEventsByStatusOptions as CountEventsByStatusOptions,\n      eventsV3Event_universal_d_listEventsByCategory as listEventsByCategory,\n      eventsV3Event_universal_d_ListEventsByCategoryOptions as ListEventsByCategoryOptions,\n      eventsV3Event_universal_d_getEvent as getEvent,\n      eventsV3Event_universal_d_GetEventOptions as GetEventOptions,\n      eventsV3Event_universal_d_getEventBySlug as getEventBySlug,\n      eventsV3Event_universal_d_GetEventBySlugOptions as GetEventBySlugOptions,\n      eventsV3Event_universal_d_findEvent as findEvent,\n      eventsV3Event_universal_d_FindEventOptions as FindEventOptions,\n    };\n  }\n  \n  interface TicketDefinition {\n      /**\n       * Ticket definition ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Event ID to which the ticket definition belongs. */\n      eventId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the ticket definition is updated. To prevent conflicting changes, the existing revision must be used when updating a ticket definition.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when the ticket definition was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the ticket definition was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Ticket definition name. */\n      name?: string | null;\n      /** Ticket definition description. */\n      description?: string | null;\n      /** Ticket definition policy. */\n      policyText?: string | null;\n      /** Whether this ticket definition is hidden to site visitors and can't be purchased. */\n      hidden?: boolean;\n      /**\n       * Whether the ticket has a limited maximum quantity.\n       * @readonly\n       */\n      limited?: boolean;\n      /** The maximum number of tickets that can be sold for the event when first defining the event. If a seating map is defined after you created a ticket definition, this property is ignored and `actualLimit` is used instead. */\n      initialLimit?: number | null;\n      /**\n       * The maximum number of tickets that can be sold for the event after adding a seating map to the event. If no seating map is defined, this property is the same as `initialLimit`.\n       * @readonly\n       */\n      actualLimit?: number | null;\n      /** Ticket pricing method. */\n      pricingMethod?: PricingMethod;\n      /** Whether fee is included in the ticket price or customer pays it additionally at checkout. */\n      feeType?: Type;\n      /** Ticket sale period. */\n      salePeriod?: SalePeriod;\n      /**\n       * Ticket sale status.\n       * @readonly\n       */\n      saleStatus?: SaleStatusEnumStatus;\n      /**\n       * Ticket sales information. <br>\n       * **Note:** This field is only returned when `SALES_DETAILS` fieldset is included in the request.\n       */\n      salesDetails?: SalesDetails;\n      /**\n       * For proxy.\n       * @internal\n       * @readonly\n       */\n      sortIndex?: number;\n      /**\n       * Number of tickets that can be purchased per checkout. <br>\n       * **Note:** If the `actuaLimit` or `salesDetails.unsoldCount` field value is smaller than `limitPerCheckout`, then it overrides this field.\n       * @readonly\n       */\n      limitPerCheckout?: number | null;\n      /**\n       * Event created timestamp in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @internal\n       * @readonly\n       */\n      eventCreatedDate?: Date | null;\n      /** Data extensions. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Associated event information. <br>\n       * **Note:** This field is only returned when `EVENT_DETAILS` fieldset is included in the request.\n       */\n      eventDetails?: EventDetails;\n  }\n  interface SalePeriod {\n      /** Ticket sale start timestamp. */\n      startDate?: Date | null;\n      /** Ticket sale end timestamp. */\n      endDate?: Date | null;\n      /** Whether to display the ticket if it's not available to buy. */\n      displayNotOnSale?: boolean;\n  }\n  interface PricingMethod extends PricingMethodPriceOneOf {\n      /** Same ticket price for everyone. */\n      fixedPrice?: CommonMoney;\n      /** Guests choose how much they'd like to pay for the ticket. You can set the minimum price, or make the ticket free(enter `0` in the request). The price can be updated to a higher amount by a guest during the checkout. */\n      guestPrice?: CommonMoney;\n      /** Sets of various ticket prices. For example, you can charge different prices for children and adults. */\n      pricingOptions?: PricingOptions;\n      /**\n       * Ticket price type.\n       * @readonly\n       */\n      pricingType?: PricingTypeEnumType;\n      /**\n       * Whether the ticket is free. To create a free ticket, enter `0` in the `pricingMethod.fixedPrice.value` field.\n       * @readonly\n       */\n      free?: boolean;\n  }\n  /** @oneof */\n  interface PricingMethodPriceOneOf {\n      /** Same ticket price for everyone. */\n      fixedPrice?: CommonMoney;\n      /** Guests choose how much they'd like to pay for the ticket. You can set the minimum price, or make the ticket free(enter `0` in the request). The price can be updated to a higher amount by a guest during the checkout. */\n      guestPrice?: CommonMoney;\n      /** Sets of various ticket prices. For example, you can charge different prices for children and adults. */\n      pricingOptions?: PricingOptions;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface CommonMoney {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be a valid [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code (e.g., USD). */\n      currency?: string;\n  }\n  interface PricingOptions {\n      /** Ticket price option details. */\n      optionDetails?: OptionDetails[];\n  }\n  interface OptionDetails {\n      /** Ticket price option ID. */\n      optionId?: string | null;\n      /** Ticket price option name, such as \"Child Ticket\". */\n      name?: string | null;\n      /** Ticket price. */\n      price?: CommonMoney;\n  }\n  enum PricingTypeEnumType {\n      /** Undefined pricing type. */\n      UNKNOWN_PRICING_TYPE = \"UNKNOWN_PRICING_TYPE\",\n      /** All money goes to a seller. Applies to all ticket pricing methods except for `guestPrice`. */\n      STANDARD = \"STANDARD\",\n      /** All collected money is a donation. This pricing type is automatically assigned when you select the `guestPrice` pricing method. */\n      DONATION = \"DONATION\"\n  }\n  enum Type {\n      /** Unknown fee type. */\n      UNKNOWN_FEE_TYPE = \"UNKNOWN_FEE_TYPE\",\n      /** The fee is deducted from the ticket price for a seller. For example, if you're selling tickets for $10, then a ticket service fee of $0.25 will be deducted from the price and you'll get $9.75. */\n      FEE_INCLUDED = \"FEE_INCLUDED\",\n      /** The fee is shown in addition to the ticket price at checkout and a guest pays the fee. For example, if you sell tickets for $10, a customer will see a ticket service fee of $0.25 and will pay $10.25 in total. */\n      FEE_ADDED_AT_CHECKOUT = \"FEE_ADDED_AT_CHECKOUT\",\n      /** Ticket service fee is not collected. Available only for free tickets and legacy users. */\n      NO_FEE = \"NO_FEE\"\n  }\n  enum SaleStatusEnumStatus {\n      /** Undefined sale status. */\n      UNKNOWN_SALE_STATUS = \"UNKNOWN_SALE_STATUS\",\n      /** Tickets are not on sale yet. */\n      SALE_SCHEDULED = \"SALE_SCHEDULED\",\n      /** Tickets are on sale. */\n      SALE_STARTED = \"SALE_STARTED\",\n      /** Tickets are not on sale. */\n      SALE_ENDED = \"SALE_ENDED\"\n  }\n  interface SalesDetails {\n      /**\n       * Number of tickets that have not been purchased yet. The field is `null` if the ticket quantity is unlimited.\n       * @readonly\n       */\n      unsoldCount?: number | null;\n      /**\n       * Number of purchased tickets.\n       * @readonly\n       */\n      soldCount?: number | null;\n      /**\n       * Number of reserved tickets.\n       * @readonly\n       */\n      reservedCount?: number | null;\n      /**\n       * Whether the tickets are sold out.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface EventDetails {\n      /**\n       * Event title.\n       * @readonly\n       */\n      title?: string | null;\n      /**\n       * Event short description.\n       * @readonly\n       */\n      shortDescription?: string | null;\n      /**\n       * Event location.\n       * @readonly\n       */\n      location?: V3Location;\n      /**\n       * Event date  and time settings.\n       * @readonly\n       */\n      dateAndTimeSettings?: DateAndTimeSettings;\n      /**\n       * Event page URL components.\n       * @readonly\n       */\n      eventPageUrl?: string;\n      /**\n       * Event status.\n       * @readonly\n       */\n      status?: EventStatusStatus;\n  }\n  interface V3Location {\n      /** Location name. This value is displayed instead of the address when the location is defined as TBD by setting the `locationTbd` property to `true`. */\n      name?: string | null;\n      /** Location type. */\n      type?: LocationLocationType;\n      /** Exact location address. */\n      address?: CommonAddress;\n      /** Whether the event location is TBD. */\n      locationTbd?: boolean | null;\n  }\n  enum LocationLocationType {\n      /** Unknown location type. */\n      UNKNOWN_LOCATION = \"UNKNOWN_LOCATION\",\n      /** Event is on-site at a specific physical location. */\n      VENUE = \"VENUE\",\n      /** Event is online, such as a virtual video conference. */\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface CommonAddress extends CommonAddressStreetOneOf {\n      /** Street address. */\n      streetAddress?: CommonStreetAddress;\n      /** Primary address information (street and building number). */\n      addressLine1?: string | null;\n      /** 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip or postal code. */\n      postalCode?: string | null;\n      /** Secondary address information (suite or apartment number and room number). */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: CommonAddressLocation;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: CommonSubdivision[];\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf {\n      /** Street address. */\n      streetAddress?: CommonStreetAddress;\n      /** Primary address information (street and building number). */\n      addressLine?: string | null;\n  }\n  interface CommonStreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface CommonAddressLocation {\n      /** Address latitude coordinates. */\n      latitude?: number | null;\n      /** Address longitude coordinates. */\n      longitude?: number | null;\n  }\n  interface CommonSubdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionSubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionSubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface DateAndTimeSettings {\n      /** Whether the event date and time are TBD. */\n      dateAndTimeTbd?: boolean | null;\n      /** Message that is displayed when time and date is TBD. */\n      dateAndTimeTbdMessage?: string | null;\n      /** Event start date. */\n      startDate?: Date | null;\n      /** Event end date. */\n      endDate?: Date | null;\n      /** Event time zone ID in the [TZ database](https://www.iana.org/time-zones) format. */\n      timeZoneId?: string | null;\n      /** Whether the end date is hidden in the formatted date and time. */\n      hideEndDate?: boolean | null;\n      /** Whether the time zone is displayed in the formatted schedule. */\n      showTimeZone?: boolean | null;\n      /**\n       * Repeating event status.\n       * @readonly\n       */\n      recurrenceStatus?: RecurrenceStatusStatus;\n      /** Event repetitions. */\n      recurringEvents?: V3Recurrences;\n      /** Formatted date and time settings. */\n      formatted?: Formatted;\n  }\n  enum RecurrenceStatusStatus {\n      /** Unknown recurrance status. */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Event happens only once and can last multiple days. */\n      ONE_TIME = \"ONE_TIME\",\n      /** A series of events that repeat. */\n      RECURRING = \"RECURRING\",\n      /** Next event in a schedule of recurring events. */\n      RECURRING_UPCOMING = \"RECURRING_UPCOMING\",\n      /** Latest event that ended in a schedule of recurring events. */\n      RECURRING_RECENTLY_ENDED = \"RECURRING_RECENTLY_ENDED\",\n      /** Latest canceled event in a schedule of recurring events */\n      RECURRING_RECENTLY_CANCELED = \"RECURRING_RECENTLY_CANCELED\"\n  }\n  interface V3Recurrences {\n      /** Individual event dates. */\n      individualEventDates?: V3Occurrence[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n  }\n  interface V3Occurrence {\n      /** Event start date. */\n      startDate?: Date | null;\n      /** Event end date. */\n      endDate?: Date | null;\n      /** Event time zone ID in the [TZ database](https://www.iana.org/time-zones) format. */\n      timeZoneId?: string | null;\n      /** Whether the time zone is displayed in a formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  interface Formatted {\n      /**\n       * Formatted date and time representation. <br>\n       * Example of formatting when an event lasts multiple days and is in the UTC time zone: `September 1, 2015 at 10:20 AM – September 5, 2015 at 12:14 PM`. <br>\n       * Example of formatting when an event lasts 1 day and is in the GMT+2 time zone: `February 1, 2018, 12:10 – 2:50 PM GMT+2`.\n       * @readonly\n       */\n      dateAndTime?: string | null;\n      /**\n       * Formatted start date of the event. Empty for TBD schedules.\n       * @readonly\n       */\n      startDate?: string | null;\n      /**\n       * Formatted start time of the event. Empty for TBD schedules.\n       * @readonly\n       */\n      startTime?: string | null;\n      /**\n       * Formatted end date of the event. Empty for TBD schedules or when the end date is hidden.\n       * @readonly\n       */\n      endDate?: string | null;\n      /**\n       * Formatted end time of the event. Empty for TBD schedules or when the end date is hidden.\n       * @readonly\n       */\n      endTime?: string | null;\n  }\n  enum EventStatusStatus {\n      /** Unknown event status. */\n      UNKNOWN_EVENT_STATUS = \"UNKNOWN_EVENT_STATUS\",\n      /** Event is published and scheduled to start. */\n      UPCOMING = \"UPCOMING\",\n      /** Event has started. */\n      STARTED = \"STARTED\",\n      /** Event has ended. */\n      ENDED = \"ENDED\",\n      /** Event is canceled. */\n      CANCELED = \"CANCELED\",\n      /** Event is not public. */\n      DRAFT = \"DRAFT\"\n  }\n  interface SalePeriodUpdated {\n      /** Ticket definition sale period after update. */\n      afterUpdate?: SalePeriod;\n  }\n  interface TicketDefinitionSaleStarted {\n      /** Ticket definition. */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface TicketDefinitionSaleEnded {\n      /** Ticket definition. */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface GetTicketDefinitionSummaryRequest {\n      /** Ticket definition id. */\n      ticketDefinitionId?: string | null;\n  }\n  interface GetTicketDefinitionSummaryResponse {\n      /** Summary. */\n      summary?: TicketDefinitionSummary;\n  }\n  interface TicketDefinitionSummary {\n      /**\n       * Ticket definition ID.\n       * @readonly\n       */\n      definitionId?: string | null;\n      /**\n       * Event ID to which the ticket definition summary belongs.\n       * @readonly\n       */\n      eventId?: string | null;\n      /**\n       * Date and time of the ticket definition summary latest update in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Reserved count.\n       * @readonly\n       */\n      reservedCount?: number;\n      /**\n       * Sold count.\n       * @readonly\n       */\n      soldCount?: number;\n      /**\n       * Paid exists.\n       * @readonly\n       */\n      paidExists?: boolean;\n  }\n  interface ListEventTicketingSummaryRequest {\n      /** Event ID. */\n      eventId?: string[];\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  interface ListEventTicketingSummaryResponse {\n      /** Ticketing summaries. */\n      summaries?: EventTicketingSummary[];\n  }\n  interface EventTicketingSummary {\n      /**\n       * Event ID to which the ticketing summary belongs.\n       * @readonly\n       */\n      eventId?: string | null;\n      /**\n       * Date and time of the ticketing summary latest update in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Whether all tickets are sold for this event.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n      /**\n       * Price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPrice?: CommonMoney;\n      /**\n       * Price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPrice?: CommonMoney;\n      /**\n       * Currency used in event transactions.\n       * @readonly\n       */\n      currency?: string | null;\n      /**\n       * Formatted price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPriceFormatted?: string | null;\n      /**\n       * Formatted price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPriceFormatted?: string | null;\n  }\n  interface Empty {\n  }\n  interface ReservationCreated {\n      /** Reservation created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation expiration timestamp. */\n      expires?: Date | null;\n      /** Reservation status. */\n      status?: ReservationStatus;\n      /** Reservation ticket quantities. */\n      quantities?: TicketQuantity[];\n      /** Reservation update timestamp. */\n      _updatedDate?: Date | null;\n      /** Reservation counts. */\n      counts?: ReservationCount[];\n  }\n  enum ReservationStatus {\n      /** The Reservation is pending confirmation and will expire after the expiration due time. */\n      RESERVATION_PENDING = \"RESERVATION_PENDING\",\n      /** The reservation is confirmed and will not expire. */\n      RESERVATION_CONFIRMED = \"RESERVATION_CONFIRMED\",\n      /** The reservation is canceled because of non payment. */\n      RESERVATION_CANCELED = \"RESERVATION_CANCELED\",\n      /** The reservation is canceled manually by the buyer. */\n      RESERVATION_CANCELED_MANUALLY = \"RESERVATION_CANCELED_MANUALLY\",\n      /** The reservation is expired. */\n      RESERVATION_EXPIRED = \"RESERVATION_EXPIRED\"\n  }\n  interface TicketQuantity {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string | null;\n      /** Quantity. */\n      quantity?: number | null;\n      /** Quantity update timestamp. */\n      _updatedDate?: Date | null;\n  }\n  interface ReservationCount {\n      /** Reservation Count snapshot timestamp. */\n      timestamp?: Date | null;\n      /** Ticket Definition ID. */\n      ticketDefinitionId?: string;\n      /** Confirmed reservation count. */\n      confirmedCount?: number;\n      /** Pending reservation count. */\n      pendingCount?: number;\n      /** True if paid ticket reservation exist. */\n      paidExists?: boolean;\n  }\n  interface ReservationUpdated {\n      /** Reservation updated timestamp. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation status. */\n      status?: ReservationStatus;\n      /** Reservation expiration timestamp. */\n      expires?: Date | null;\n      /** Reservation ticket quantities. */\n      quantities?: TicketQuantity[];\n      /** Reservation update timestamp. */\n      _updatedDate?: Date | null;\n      /** Reservation counts. */\n      counts?: ReservationCount[];\n  }\n  interface EventDeleted {\n      /** Event deleted timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /**\n       * Event categories.\n       * @internal\n       */\n      categories?: string[];\n  }\n  interface CreateTicketDefinitionRequest {\n      /** Ticket definition info. */\n      ticketDefinition: TicketDefinition;\n      /** Predefined sets of fields to return. */\n      fields?: Field[];\n  }\n  enum Field {\n      /** Unknown requested field. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Returns `salesDetails` in the response. */\n      SALES_DETAILS = \"SALES_DETAILS\",\n      /** Returns `eventDetails` in the response. */\n      EVENT_DETAILS = \"EVENT_DETAILS\"\n  }\n  interface CreateTicketDefinitionResponse {\n      /** Created ticket definition. */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface UpdateTicketDefinitionRequest {\n      /** Ticket definition to update. */\n      ticketDefinition: TicketDefinition;\n      /**\n       * List of exact fields to update. For example, if you define only `name`, all other fields are ignored.\n       * @internal\n       */\n      mask?: string[];\n      /** Predefined sets of fields to return. */\n      fields?: Field[];\n  }\n  interface UpdateTicketDefinitionResponse {\n      /** The updated ticket definition. */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface GetTicketDefinitionRequest {\n      /** Ticket definition ID. */\n      ticketDefinitionId: string;\n      /** Predefined sets of fields to return. */\n      fields?: Field[];\n  }\n  interface GetTicketDefinitionResponse {\n      /** The requested ticket definition. */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface DeleteTicketDefinitionRequest {\n      /** ID of the ticket definition to delete. */\n      ticketDefinitionId: string;\n  }\n  interface DeleteTicketDefinitionResponse {\n  }\n  interface ReorderTicketDefinitionsRequest extends ReorderTicketDefinitionsRequestReferenceDefinitionOneOf {\n      /** Move the given `definitionId` before the referenced ticket definition. */\n      beforeDefinitionId?: string;\n      /** Move the given `definitionId` after the referenced ticket definition. */\n      afterDefinitionId?: string;\n      /** Event ID. */\n      eventId: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId: string;\n  }\n  /** @oneof */\n  interface ReorderTicketDefinitionsRequestReferenceDefinitionOneOf {\n      /** Move the given `definitionId` before the referenced ticket definition. */\n      beforeDefinitionId?: string;\n      /** Move the given `definitionId` after the referenced ticket definition. */\n      afterDefinitionId?: string;\n  }\n  interface ReorderTicketDefinitionsResponse {\n  }\n  interface UpdateTicketDefinitionSortIndexRequest {\n      /** Ticket definition ID */\n      ticketDefinitionId?: string;\n      /** The revision of the ticket definition */\n      revision?: string;\n      /** the sort index of a ticket definition to set */\n      sortIndex?: number;\n      /** Requested fields. */\n      fields?: Field[];\n  }\n  interface UpdateTicketDefinitionSortIndexResponse {\n      /** the updated ticket definition */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface QueryTicketDefinitionsRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query: QueryV2;\n      /** Predefined sets of fields to return. */\n      fields?: Field[];\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort` parameters. */\n      cursorPaging?: CursorPaging;\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\", \"fieldName2\":{\"$operator\":\"value2\"} }`. <br/> <br/> **Example:** <br/> `\"filter\" : { \"id\": \"2224a9d1-79e6-4549-a5c5-bf7ce5aac1a5\", \"revision\": {\"$ne\":\"1\"} }` */\n      filter?: Record<string, any> | null;\n      /** Sort object in the following format: <br/> `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]` <br/> <br/> **Example:** <br/> `[{\"fieldName\":\"createdDate\",\"direction\":\"DESC\"}]` <br/> <br/> See [supported fields](https://dev.wix.com/api/rest/wix-events/policy-v2/filter-and-sort) for more information. */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort` parameters. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Defaults to `ASC` */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTicketDefinitionsResponse {\n      /** List of ticket definitions. */\n      ticketDefinitions?: TicketDefinition[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryAvailableTicketDefinitionsRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query: QueryV2;\n      /** Predefined sets of fields to return. */\n      fields?: Field[];\n  }\n  interface QueryAvailableTicketDefinitionsResponse {\n      /** List of ticket definitions. */\n      ticketDefinitions?: TicketDefinition[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadataV2;\n  }\n  interface CountTicketDefinitionsRequest {\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. */\n      filter?: Record<string, any> | null;\n      /**\n       * Parameters to count ticket definitions by.\n       *\n       * - Max: 20 facets.\n       */\n      facet?: string[];\n  }\n  interface CountTicketDefinitionsResponse {\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadataV2;\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts>;\n  }\n  interface FacetCounts {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface CountAvailableTicketDefinitionsRequest {\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. */\n      filter?: Record<string, any> | null;\n  }\n  interface CountAvailableTicketDefinitionsResponse {\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadataV2;\n      /**\n       * Filter facets.\n       * @internal\n       */\n      facets?: Record<string, FacetCounts>;\n  }\n  interface BulkDeleteTicketDefinitionsByFilterRequest {\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. <br/> <br/> **Example:** <br/> `\"filter\" : { \"eventId\": \"3d3d5c04-ece0-45a8-85f0-11a58edaa192\" }` */\n      filter: Record<string, any> | null;\n  }\n  interface BulkDeleteTicketDefinitionsByFilterResponse {\n  }\n  interface ChangeCurrencyRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Ticket price currency in 3-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency: string;\n  }\n  interface ChangeCurrencyResponse {\n  }\n  interface BulkCopyTicketDefinitionsByEventIdRequest {\n      /** Origin instance ID. */\n      originInstanceId?: string | null;\n      /** Origin Event ID. */\n      originEventId?: string;\n      /** Target Event ID. */\n      targetEventId?: string;\n  }\n  interface BulkCopyTicketDefinitionsByEventIdResponse {\n      /** Copied ticket definitions. */\n      definitions?: CopiedTicketDefinition[];\n  }\n  interface CopiedTicketDefinition {\n      /** Origin Ticket definition ID. */\n      originTicketDefinitionId?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n  }\n  interface EventCanceled {\n      /** Event canceled timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n  }\n  interface EventEnded {\n      /** Event end timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface EventCreated {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n      /** Event that was created. */\n      event?: Event;\n  }\n  interface Location {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationType;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationType {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation;\n      /** country full-name */\n      countryFullname?: string | null;\n      /** multi-level subdivisions from top to bottom */\n      subdivisions?: Subdivision[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /**\n       * apartment number\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** address latitude coordinates */\n      latitude?: number | null;\n      /** address longitude coordinates */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /**\n       * subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * free text description of subdivision type\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface ScheduleConfig {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: Recurrences;\n  }\n  interface Recurrences {\n      /** Event occurrences. */\n      occurrences?: Occurrence[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: Status;\n  }\n  interface Occurrence {\n      /** Event start timestamp. */\n      startDate?: Date | null;\n      /** Event end timestamp. */\n      endDate?: Date | null;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum Status {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  enum EventStatus {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface Event {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Event location. */\n      location?: Location;\n      /** Event scheduling. */\n      scheduling?: Scheduling;\n      /** Event title. */\n      title?: string;\n      /** Event description. */\n      description?: string;\n      /** Rich-text content displayed in Wix UI - \"About Event\" section (HTML). */\n      about?: string;\n      /** Main event image. */\n      mainImage?: string;\n      /** Event slug URL (generated from event title). */\n      slug?: string;\n      /** ISO 639-1 language code of the event (used in content translations). */\n      language?: string;\n      /** Event creation timestamp. */\n      created?: Date | null;\n      /** Event modified timestamp. */\n      modified?: Date | null;\n      /** Event status. */\n      status?: EventStatus;\n      /** RSVP or ticketing registration details. */\n      registration?: Registration;\n      /** \"Add to calendar\" URLs. */\n      calendarLinks?: CalendarLinks;\n      /** Event page URL components. */\n      eventPageUrl?: SiteUrl;\n      /** Event registration form. */\n      form?: Form;\n      /** Event dashboard summary of RSVP / ticket sales. */\n      dashboard?: Dashboard;\n      /** Instance ID of the site where event is hosted. */\n      instanceId?: string;\n      /** Guest list configuration. */\n      guestListConfig?: GuestListConfig;\n      /** Event creator user ID. */\n      userId?: string;\n      /** Event discussion feed. For internal use. */\n      feed?: Feed;\n      /** Online conferencing details. */\n      onlineConferencing?: OnlineConferencing;\n      /** SEO settings. */\n      seoSettings?: SeoSettings;\n      /** Assigned contacts label key. */\n      assignedContactsLabel?: string | null;\n      /** Agenda details. */\n      agenda?: Agenda;\n      /** Categories this event is assigned to. */\n      categories?: Category[];\n      /** Visual settings for event. */\n      eventDisplaySettings?: EventDisplaySettings;\n      /**\n       * @internal\n       * @readonly\n       */\n      customizableTickets?: boolean | null;\n      /**\n       * Labelling related data.\n       * @internal\n       */\n      labellingSettings?: LabellingSettings;\n  }\n  interface Scheduling {\n      /** Schedule configuration. */\n      config?: ScheduleConfig;\n      /** Formatted schedule representation. */\n      formatted?: string;\n      /** Formatted start date of the event (empty for TBD schedules). */\n      startDateFormatted?: string;\n      /** Formatted start time of the event (empty for TBD schedules). */\n      startTimeFormatted?: string;\n      /** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */\n      endDateFormatted?: string;\n      /** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */\n      endTimeFormatted?: string;\n  }\n  interface Registration {\n      /** Event type. */\n      type?: EventType;\n      /** Event registration status. */\n      status?: RegistrationStatus;\n      /** RSVP collection details. */\n      rsvpCollection?: RsvpCollection;\n      /** Ticketing details. */\n      ticketing?: Ticketing;\n      /** External registration details. */\n      external?: ExternalEvent;\n      /** Types of users allowed to register. */\n      restrictedTo?: VisitorType;\n      /** Initial event type which was set when creating an event. */\n      initialType?: EventType;\n  }\n  enum EventType {\n      /** Type not available for this request fieldset */\n      NA_EVENT_TYPE = \"NA_EVENT_TYPE\",\n      /** Registration via RSVP */\n      RSVP = \"RSVP\",\n      /** Registration via ticket purchase */\n      TICKETS = \"TICKETS\",\n      /** External registration */\n      EXTERNAL = \"EXTERNAL\",\n      /** Registration not available */\n      NO_REGISTRATION = \"NO_REGISTRATION\"\n  }\n  enum RegistrationStatus {\n      /** Registration status is not applicable */\n      NA_REGISTRATION_STATUS = \"NA_REGISTRATION_STATUS\",\n      /** Registration to event is closed */\n      CLOSED = \"CLOSED\",\n      /** Registration to event is closed manually */\n      CLOSED_MANUALLY = \"CLOSED_MANUALLY\",\n      /** Registration is open via RSVP */\n      OPEN_RSVP = \"OPEN_RSVP\",\n      /** Registration to event waitlist is open via RSVP */\n      OPEN_RSVP_WAITLIST = \"OPEN_RSVP_WAITLIST\",\n      /** Registration is open via ticket purchase */\n      OPEN_TICKETS = \"OPEN_TICKETS\",\n      /** Registration is open via external URL */\n      OPEN_EXTERNAL = \"OPEN_EXTERNAL\",\n      /** Registration will be open via RSVP */\n      SCHEDULED_RSVP = \"SCHEDULED_RSVP\"\n  }\n  interface RsvpCollection {\n      /** RSVP collection configuration. */\n      config?: RsvpCollectionConfig;\n  }\n  interface RsvpCollectionConfig {\n      /** Defines the supported RSVP statuses. */\n      rsvpStatusOptions?: RsvpStatusOptions;\n      /**\n       * Total guest limit available to register to the event.\n       * Additional guests per RSVP are counted towards total guests.\n       */\n      limit?: number | null;\n      /** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */\n      waitlist?: boolean;\n      /** Registration start timestamp. */\n      startDate?: Date | null;\n      /** Registration end timestamp. */\n      endDate?: Date | null;\n  }\n  enum RsvpStatusOptions {\n      /** Only YES RSVP status is available for RSVP registration */\n      YES_ONLY = \"YES_ONLY\",\n      /** YES and NO RSVP status options are available for the registration */\n      YES_AND_NO = \"YES_AND_NO\"\n  }\n  interface Ticketing {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      lowestPrice?: string | null;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      highestPrice?: string | null;\n      /** Currency used in event transactions. */\n      currency?: string | null;\n      /** Ticketing configuration. */\n      config?: TicketingConfig;\n      /**\n       * Price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPrice?: Money;\n      /**\n       * Price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPrice?: Money;\n      /**\n       * Formatted price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPriceFormatted?: string | null;\n      /**\n       * Formatted price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPriceFormatted?: string | null;\n      /**\n       * Whether all tickets are sold for this event.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n  }\n  interface TicketingConfig {\n      /** Whether the form must be filled out separately for each ticket. */\n      guestAssignedTickets?: boolean;\n      /** Tax configuration. */\n      taxConfig?: TaxConfig;\n      /** Limit of tickets that can be purchased per order, default 20. */\n      ticketLimitPerOrder?: number;\n      /**\n       * App Id for external ticket stock management.\n       * By default tickets stock is defined in TicketDefinition object.\n       * If defined then limitation from TicketDefinition is ignored.\n       * @internal\n       */\n      stockManagerAppId?: string | null;\n      /** Duration for which the tickets being bought are reserved. */\n      reservationDurationInMinutes?: number | null;\n  }\n  interface TaxConfig {\n      /** Tax application settings. */\n      type?: TaxType;\n      /** Tax name. */\n      name?: string | null;\n      /** Tax rate (e.g.,`21.55`). */\n      rate?: string | null;\n      /** Applies taxes for donations, default true. */\n      appliesToDonations?: boolean | null;\n  }\n  enum TaxType {\n      /** Tax is included in the ticket price. */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout. */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout. */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Money {\n      /**\n       * *Deprecated:** Use `value` instead.\n       * @deprecated\n       */\n      amount?: string;\n      /** ISO 4217 format of the currency e.g., `USD`. */\n      currency?: string;\n      /** 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. */\n      value?: string | null;\n  }\n  interface ExternalEvent {\n      /** External event registration URL. */\n      registration?: string;\n  }\n  enum VisitorType {\n      /** Site visitor (including member) */\n      VISITOR = \"VISITOR\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Site visitor or member */\n      VISITOR_OR_MEMBER = \"VISITOR_OR_MEMBER\"\n  }\n  interface CalendarLinks {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  /** Site URL components */\n  interface SiteUrl {\n      /**\n       * Base URL. For premium sites, this will be the domain.\n       * For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`)\n       */\n      base?: string;\n      /** The path to that page - e.g `/my-events/weekly-meetup-2` */\n      path?: string;\n  }\n  /**\n   * The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout).\n   * It also contains customizable messages and labels.\n   *\n   *\n   * A form is an ordered list of controls (blocks), which accept guest information into a field input.\n   *\n   * Each control contains one or more nested inputs. For example, `Name` control has two inputs:\n   * - First Name\n   * - Last Name\n   *\n   * By default, name and email controls are always required and are pinned to the top of the form.\n   */\n  interface Form {\n      /** Nested fields as an ordered list. */\n      controls?: InputControl[];\n      /** Set of configured form messages. */\n      messages?: FormMessages;\n  }\n  /**\n   * A block of nested fields.\n   * Used to aggregate similar inputs like First Name and Last Name.\n   */\n  interface InputControl {\n      /** Field control type. */\n      type?: InputControlType;\n      /** Whether control is mandatory (such as name & email). When true, only label can be changed. */\n      system?: boolean;\n      /**\n       * Deprecated: Use `id`.\n       * @deprecated\n       */\n      name?: string;\n      /** Child inputs. */\n      inputs?: Input[];\n      /**\n       * Deprecated: use `inputs.label`.\n       * @deprecated\n       */\n      label?: string;\n      /** Field controls are sorted by this value in ascending order. */\n      orderIndex?: number;\n      /** Unique control ID. */\n      _id?: string;\n      /**\n       * Whether input control is deleted.\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  enum InputControlType {\n      /** Single text value field. */\n      INPUT = \"INPUT\",\n      /** Single text value field. */\n      TEXTAREA = \"TEXTAREA\",\n      /** Single-choice field of predefined values. */\n      DROPDOWN = \"DROPDOWN\",\n      /** Single-choice field of predefined values. */\n      RADIO = \"RADIO\",\n      /** Multiple-choice field of predefined values. */\n      CHECKBOX = \"CHECKBOX\",\n      /** First and last name fields. */\n      NAME = \"NAME\",\n      /** Additional guests and respective guest names fields. */\n      GUEST_CONTROL = \"GUEST_CONTROL\",\n      /** Single-line address field. */\n      ADDRESS_SHORT = \"ADDRESS_SHORT\",\n      /** Full address field. */\n      ADDRESS_FULL = \"ADDRESS_FULL\",\n      /** Year, month and day fields. */\n      DATE = \"DATE\"\n  }\n  /** An input of one or multiple text values */\n  interface Input {\n      /** Field name. */\n      name?: string;\n      /**\n       * Deprecated: use `ValueType.TEXT_ARRAY`.\n       * @deprecated\n       */\n      array?: boolean;\n      /** Main field label */\n      label?: string;\n      /** Additional labels for multi-valued fields such as address. */\n      additionalLabels?: Record<string, string>;\n      /** Predefined choice options for fields, such as dropdown. */\n      options?: string[];\n      /** Whether field is mandatory. */\n      mandatory?: boolean;\n      /** Maximum number of accepted characters (relevant for text fields). */\n      maxLength?: number;\n      /**\n       * Type which determines field format.\n       * Used to validate submitted response.\n       */\n      type?: ValueType;\n      /**\n       * A maximum accepted values for array input.\n       * Only applicable for inputs of valueType: TEXT_ARRAY.\n       */\n      maxSize?: number | null;\n      /**\n       * Preselected option.\n       * Currently only applicable for dropdown.\n       */\n      defaultOptionSelection?: OptionSelection;\n      /**\n       * Additional labels for multi-valued fields such as address.\n       * @readonly\n       */\n      labels?: Label[];\n  }\n  enum ValueType {\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      TEXT_ARRAY = \"TEXT_ARRAY\",\n      DATE_TIME = \"DATE_TIME\",\n      ADDRESS = \"ADDRESS\"\n  }\n  /**\n   * Describes initially selected option when an input has multiple choices.\n   * Defaults to first (0th) option if not configured.\n   */\n  interface OptionSelection extends OptionSelectionSelectedOptionOneOf {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  /** @oneof */\n  interface OptionSelectionSelectedOptionOneOf {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  interface Label {\n      /** Field name. */\n      name?: string;\n      /** Field label. */\n      label?: string;\n  }\n  /**\n   * Defines form messages shown in UI before, during, and after registration flow.\n   * It enables configuration of form titles, response labels, \"thank you\" messages, and call-to-action texts.\n   */\n  interface FormMessages {\n      /** RSVP form messages. */\n      rsvp?: RsvpFormMessages;\n      /** Checkout form messages. */\n      checkout?: CheckoutFormMessages;\n      /** Messages shown when event registration is closed. */\n      registrationClosed?: RegistrationClosedMessages;\n      /** Messages shown when event tickets are unavailable. */\n      ticketsUnavailable?: TicketsUnavailableMessages;\n  }\n  interface RsvpFormMessages {\n      /** Label text indicating RSVP `YES` response. */\n      rsvpYesOption?: string;\n      /** Label text indicating RSVP `NO` response. */\n      rsvpNoOption?: string;\n      /** Messages shown for RSVP = `YES`. */\n      positiveMessages?: Positive;\n      /** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */\n      waitlistMessages?: Positive;\n      /** Messages shown for RSVP = `NO`. */\n      negativeMessages?: Negative;\n      /** \"Submit form\" call-to-action label text. */\n      submitActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface PositiveResponseConfirmation {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarActionLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface NegativeResponseConfirmation {\n      /** Confirmation message title. */\n      title?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Set of messages shown during registration when RSVP response is positive. */\n  interface Positive {\n      /** Main form title for positive response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: PositiveResponseConfirmation;\n  }\n  /** A set of messages shown during registration with negative response */\n  interface Negative {\n      /** Main form title for negative response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: NegativeResponseConfirmation;\n  }\n  interface CheckoutFormMessages {\n      /** Main form title for response. */\n      title?: string;\n      /** Submit form call-to-action label text. */\n      submitActionLabel?: string;\n      /** Confirmation messages shown after checkout. */\n      confirmation?: ResponseConfirmation;\n  }\n  /** Confirmation messages shown after checkout. */\n  interface ResponseConfirmation {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Download tickets\" call-to-action label text. */\n      downloadTicketsLabel?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareEventLabel?: string;\n  }\n  interface RegistrationClosedMessages {\n      /** Message shown when event registration is closed. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface TicketsUnavailableMessages {\n      /** Message shown when event tickets are unavailable. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface Dashboard {\n      /** Guest RSVP summary. */\n      rsvpSummary?: RsvpSummary;\n      /**\n       * Summary of revenue and tickets sold.\n       * (Archived orders are not included).\n       */\n      ticketingSummary?: TicketingSummary;\n  }\n  interface RsvpSummary {\n      /** Total number of RSVPs. */\n      total?: number;\n      /** Number of RSVPs with status `YES`. */\n      yes?: number;\n      /** Number of RSVPs with status `NO`. */\n      no?: number;\n      /** Number of RSVPs in waitlist. */\n      waitlist?: number;\n  }\n  interface TicketingSummary {\n      /** Number of tickets sold. */\n      tickets?: number;\n      /**\n       * Total revenue, excluding fees.\n       * (taxes and payment provider fees are not deducted.)\n       */\n      revenue?: Money;\n      /** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */\n      currencyLocked?: boolean;\n      /** Number of orders placed. */\n      orders?: number;\n      /** Total balance of confirmed transactions. */\n      totalSales?: Money;\n  }\n  interface GuestListConfig {\n      /** Whether members can see other members attending the event (defaults to true). */\n      publicGuestList?: boolean;\n  }\n  interface Feed {\n      /** Event discussion feed token. */\n      token?: string;\n  }\n  interface OnlineConferencing {\n      config?: OnlineConferencingConfig;\n      session?: OnlineConferencingSession;\n      /**\n       * Configured conferencing provider name.\n       * @internal\n       * @readonly\n       */\n      providerName?: string;\n  }\n  interface OnlineConferencingConfig {\n      /**\n       * Whether online conferencing is enabled (not supported for TBD schedules).\n       * When enabled, links to join conferencing are generated and provided to guests.\n       */\n      enabled?: boolean;\n      /** Conferencing provider ID. */\n      providerId?: string | null;\n      /** Conference type */\n      conferenceType?: ConferenceType;\n  }\n  enum ConferenceType {\n      /** Everyone in the meeting can publish and subscribe video and audio. */\n      MEETING = \"MEETING\",\n      /** Guests can only subscribe to video and audio. */\n      WEBINAR = \"WEBINAR\"\n  }\n  interface OnlineConferencingSession {\n      /**\n       * Link for event host to start the online conference session.\n       * @readonly\n       */\n      hostLink?: string;\n      /**\n       * Link for guests to join the online conference session.\n       * @readonly\n       */\n      guestLink?: string;\n      /**\n       * The password required to join online conferencing session (when relevant).\n       * @readonly\n       */\n      password?: string | null;\n      /**\n       * Indicates that session was created successfully on providers side.\n       * @readonly\n       */\n      sessionCreated?: boolean | null;\n      /**\n       * Unique session id\n       * @readonly\n       */\n      sessionId?: string | null;\n  }\n  interface SeoSettings {\n      /** URL slug */\n      slug?: string;\n      /** Advanced SEO data */\n      advancedSeoData?: SeoSchema;\n      /**\n       * Hidden from SEO Site Map\n       * @readonly\n       */\n      hidden?: boolean | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface Agenda {\n      /** Whether the schedule is enabled for the event. */\n      enabled?: boolean;\n      /**\n       * Agenda page URL.\n       * @readonly\n       */\n      pageUrl?: SiteUrl;\n  }\n  interface Category {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Date and time when category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Assigned events count. Deleted events are excluded.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * The total number of draft and published events assigned to the category.\n       * @readonly\n       */\n      counts?: CategoryCounts;\n      /**\n       * Category state. Possible values:\n       *\n       * `MANUAL`: Category is created manually by the user.\n       * `AUTO`: Category is created automatically.\n       * `RECURRING_EVENT`: Category is created automatically when publishing recurring events.\n       * `HIDDEN`: Category can't be seen.\n       *\n       * Default: `MANUAL`.\n       *\n       * **Note:** The WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission scope is required to use states other than `MANUAL`.\n       */\n      states?: CategoryStateState[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  interface CategoryCounts {\n      /** Total number of draft events assigned to the category. */\n      assignedEventsCount?: number | null;\n      /** Total number of published events assigned to the category. Deleted events are excluded. */\n      assignedDraftEventsCount?: number | null;\n  }\n  enum CategoryStateState {\n      /** Created manually by the user. */\n      MANUAL = \"MANUAL\",\n      /** Created automatically. */\n      AUTO = \"AUTO\",\n      /** Created when publishing recurring events. */\n      RECURRING_EVENT = \"RECURRING_EVENT\",\n      /** Category is hidden. */\n      HIDDEN = \"HIDDEN\",\n      /** Category is used to store component events. */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface EventDisplaySettings {\n      /** Whether event details button is hidden. Only available for events with no registration. */\n      hideEventDetailsButton?: boolean | null;\n      /** Disables event details page visibility. If event has an external registration configured visitors will be redirected from this page. */\n      hideEventDetailsPage?: boolean | null;\n  }\n  interface LabellingSettings {\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLegacyLabelId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      assignedContactsLabelDeleted?: boolean | null;\n  }\n  interface EventUpdated {\n      /** Event update timestamp in ISO UTC format. */\n      timestamp?: Date | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig;\n      /** Event title. */\n      title?: string;\n      /**\n       * Whether schedule configuration was updated.\n       * @deprecated\n       */\n      scheduleConfigUpdated?: boolean;\n      /**\n       * The set of properties which were updated. For example 'title' or 'location'\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Whether event has opened new spots with this update.\n       * @internal\n       */\n      newSpotsOpened?: boolean | null;\n      /** Updated event */\n      event?: Event;\n  }\n  interface SeatingPlanCategoriesSummaryUpdated {\n      /** Seating plan id */\n      seatingPlanId?: string;\n      /** External seating plan id */\n      externalSeatingPlanId?: string | null;\n      /** Ticket counts by category */\n      categories?: CategoryDetails[];\n      /**\n       * Summary revision.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface CategoryDetails {\n      /**\n       * Seating plan id\n       * @readonly\n       */\n      seatingPlanId?: string | null;\n      /**\n       * External seating plan id\n       * @readonly\n       */\n      externalSeatingPlanId?: string | null;\n      /**\n       * External category id\n       * @readonly\n       */\n      externalCategoryId?: string | null;\n      /**\n       * Total capacity in the category\n       * @readonly\n       */\n      totalCapacity?: number | null;\n      /**\n       * Already reserved capacity\n       * @readonly\n       */\n      reserved?: number | null;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface GetTicketDefinitionFromTrashBinRequest {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Requested fields. Not implemented. */\n      fields?: Field[];\n  }\n  interface GetTicketDefinitionFromTrashBinResponse {\n      /** The requested ticket definition. */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface ScheduleLegacyTimeCapsuleTaskRequest {\n      /** Definition ID. */\n      ticketDefinitionId?: string;\n  }\n  /**\n   * > **Note:** This function replaces the deprecated `createTicketDefinition()` function. The deprecated function will continue to work until November 8, 2024, but it will not receive updates. To keep any existing code compatible with future changes, see the [migration instructions](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitions/createticketdefinition).\n   *\n   *\n   * Creates a ticket definition.\n   *\n   *\n   * It is allowed to create up to 100 definitions per event.\n   * @param ticketDefinition - Ticket definition info.\n   * @public\n   * @requiredField ticketDefinition\n   * @requiredField ticketDefinition.eventId\n   * @requiredField ticketDefinition.feeType\n   * @requiredField ticketDefinition.name\n   * @requiredField ticketDefinition.pricingMethod\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_TICKET_DEFINITIONS\n   * @adminMethod\n   * @returns Created ticket definition.\n   */\n  function createTicketDefinition(ticketDefinition: TicketDefinition, options?: CreateTicketDefinitionOptions): Promise<TicketDefinition>;\n  interface CreateTicketDefinitionOptions {\n      /** Predefined sets of fields to return. */\n      fields?: Field[];\n  }\n  /**\n   * > **Note:** This function replaces the deprecated `updateTicketDefinition()` function. The deprecated function will continue to work until November 8, 2024, but it will not receive updates. To keep any existing code compatible with future changes, see the [migration instructions](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitions/updateticketdefinition).\n   *\n   * Updates a ticket definition.\n   *\n   *\n   * Each time the ticket definition is updated, `revision` increments by 1. The existing `revision` must be included when updating the ticket definition. This ensures you're working with the latest ticket definition and prevents unintended overwrites.\n   * @param _id - Ticket definition ID.\n   * @public\n   * @requiredField _id\n   * @requiredField ticketDefinition\n   * @requiredField ticketDefinition.revision\n   * @param options - Optional fields.\n   * @param ticketDefinition - Ticket definition to update.\n   * @permissionId WIX_EVENTS.MANAGE_TICKET_DEFINITIONS\n   * @adminMethod\n   * @returns The updated ticket definition.\n   */\n  function updateTicketDefinition(_id: string | null, ticketDefinition: UpdateTicketDefinition, options?: UpdateTicketDefinitionOptions): Promise<TicketDefinition>;\n  interface UpdateTicketDefinition {\n      /**\n       * Ticket definition ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Event ID to which the ticket definition belongs. */\n      eventId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the ticket definition is updated. To prevent conflicting changes, the existing revision must be used when updating a ticket definition.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when the ticket definition was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the ticket definition was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Ticket definition name. */\n      name?: string | null;\n      /** Ticket definition description. */\n      description?: string | null;\n      /** Ticket definition policy. */\n      policyText?: string | null;\n      /** Whether this ticket definition is hidden to site visitors and can't be purchased. */\n      hidden?: boolean;\n      /**\n       * Whether the ticket has a limited maximum quantity.\n       * @readonly\n       */\n      limited?: boolean;\n      /** The maximum number of tickets that can be sold for the event when first defining the event. If a seating map is defined after you created a ticket definition, this property is ignored and `actualLimit` is used instead. */\n      initialLimit?: number | null;\n      /**\n       * The maximum number of tickets that can be sold for the event after adding a seating map to the event. If no seating map is defined, this property is the same as `initialLimit`.\n       * @readonly\n       */\n      actualLimit?: number | null;\n      /** Ticket pricing method. */\n      pricingMethod?: PricingMethod;\n      /** Whether fee is included in the ticket price or customer pays it additionally at checkout. */\n      feeType?: Type;\n      /** Ticket sale period. */\n      salePeriod?: SalePeriod;\n      /**\n       * Ticket sale status.\n       * @readonly\n       */\n      saleStatus?: SaleStatusEnumStatus;\n      /**\n       * Ticket sales information. <br>\n       * **Note:** This field is only returned when `SALES_DETAILS` fieldset is included in the request.\n       */\n      salesDetails?: SalesDetails;\n      /**\n       * For proxy.\n       * @internal\n       * @readonly\n       */\n      sortIndex?: number;\n      /**\n       * Number of tickets that can be purchased per checkout. <br>\n       * **Note:** If the `actuaLimit` or `salesDetails.unsoldCount` field value is smaller than `limitPerCheckout`, then it overrides this field.\n       * @readonly\n       */\n      limitPerCheckout?: number | null;\n      /**\n       * Event created timestamp in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @internal\n       * @readonly\n       */\n      eventCreatedDate?: Date | null;\n      /** Data extensions. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Associated event information. <br>\n       * **Note:** This field is only returned when `EVENT_DETAILS` fieldset is included in the request.\n       */\n      eventDetails?: EventDetails;\n  }\n  interface UpdateTicketDefinitionOptions {\n      /**\n       * List of exact fields to update. For example, if you define only `name`, all other fields are ignored.\n       * @internal\n       */\n      mask?: string[];\n      /** Predefined sets of fields to return. */\n      fields?: Field[];\n  }\n  /**\n   * > **Note:** This function replaces the deprecated `getTicketDefinition()` function. The deprecated function will continue to work until November 8, 2024, but it will not receive updates. To keep any existing code compatible with future changes, see the [migration instructions](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitions/getticketdefinition).\n   *\n   * Retrieves a ticket definition by ID.\n   * @param ticketDefinitionId - Ticket definition ID.\n   * @public\n   * @requiredField ticketDefinitionId\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_TICKET_DEFINITIONS\n   * @adminMethod\n   * @returns The requested ticket definition.\n   */\n  function getTicketDefinition(ticketDefinitionId: string, options?: GetTicketDefinitionOptions): Promise<TicketDefinition>;\n  interface GetTicketDefinitionOptions {\n      /** Predefined sets of fields to return. */\n      fields?: Field[];\n  }\n  /**\n   * > **Note:** This function replaces the deprecated `deleteTicketDefinition()` function. The deprecated function will continue to work until November 8, 2024, but it will not receive updates. To keep any existing code compatible with future changes, see the [migration instructions](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitions/deleteticketdefinition).\n   *\n   * Permanently deletes a ticket definition.\n   * @param ticketDefinitionId - ID of the ticket definition to delete.\n   * @public\n   * @requiredField ticketDefinitionId\n   * @permissionId WIX_EVENTS.MANAGE_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function deleteTicketDefinition(ticketDefinitionId: string): Promise<void>;\n  /**\n   * Changes ticket definitions order in an event dashboard and the list of available tickets in the ticket picker.\n   * > **Note:** It is possible to use both `beforeTicketDefinitionId` and `afterTicketDefinitionId` at the same time but only the last one defined will be executed.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @requiredField options.ticketDefinitionId\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function reorderTicketDefinitions(eventId: string, options?: ReorderTicketDefinitionsOptions): Promise<void>;\n  interface ReorderTicketDefinitionsOptions extends ReorderTicketDefinitionsRequestReferenceDefinitionOneOf {\n      /** Ticket definition ID. */\n      ticketDefinitionId: string;\n      /** Move the given `definitionId` before the referenced ticket definition. */\n      beforeDefinitionId?: string;\n      /** Move the given `definitionId` after the referenced ticket definition. */\n      afterDefinitionId?: string;\n  }\n  /**\n   * > **Note:** This function replaces the deprecated `listTicketDefinition()` and `queryTicketDefinitions` functions. The deprecated functions will continue to work until November 8, 2024, but it will not receive updates. To keep any existing code compatible with future changes, see the [migration instructions](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitions/queryticketdefinitions).\n   *\n   * Retrieves a list of ticket definitions, given the provided paging, filtering, and sorting.\n   * Query Ticket Definitions runs with these defaults, which you can override:\n   * - `createdDate` is sorted in `ASC` order\n   * - `paging.limit` is `100`\n   * - `paging.offset` is `0`\n   * @public\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function queryTicketDefinitions(options?: QueryTicketDefinitionsOptions): TicketDefinitionsQueryBuilder;\n  interface QueryTicketDefinitionsOptions {\n      /** Predefined sets of fields to return. */\n      fields?: Field[] | undefined;\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TicketDefinitionsQueryResult extends QueryCursorResult {\n      items: TicketDefinition[];\n      query: TicketDefinitionsQueryBuilder;\n      next: () => Promise<TicketDefinitionsQueryResult>;\n      prev: () => Promise<TicketDefinitionsQueryResult>;\n  }\n  interface TicketDefinitionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'hidden' | 'initialLimit' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus', value: any) => TicketDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'hidden' | 'initialLimit' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus', value: any) => TicketDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'initialLimit', value: any) => TicketDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'initialLimit', value: any) => TicketDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'initialLimit', value: any) => TicketDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'initialLimit', value: any) => TicketDefinitionsQueryBuilder;\n      in: (propertyName: '_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'hidden' | 'initialLimit' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus', value: any) => TicketDefinitionsQueryBuilder;\n      exists: (propertyName: '_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'hidden' | 'initialLimit' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus', value: boolean) => TicketDefinitionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'hidden' | 'initialLimit' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus'>) => TicketDefinitionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'hidden' | 'initialLimit' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus'>) => TicketDefinitionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => TicketDefinitionsQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => TicketDefinitionsQueryBuilder;\n      find: () => Promise<TicketDefinitionsQueryResult>;\n  }\n  /**\n   * Retrieves a list of available ticket definitions, given the provided paging, filtering, and sorting.\n   *\n   * This endpoint retrieves ticket definitions that aren't in the `hidden` state. The available ticket definitions can be retrieved by site visitors.\n   *\n   * > **Note:** You need the `WIX_EVENTS.READ_TICKET_DEFINITIONS` permission to get the `salesDetails` field values.\n   *\n   * Query Available Ticket Definitions runs with these defaults, which you can override:\n   * - `createdDate` is sorted in `ASC` order\n   * - `paging.limit` is `100`\n   * - `paging.offset` is `0`\n   *\n   * For field support for filters and sorting, see [Ticket Definitions: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/events/ticket-definition-v3/filter-and-sort).\n   * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @param query - Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details.\n   * @public\n   * @requiredField query\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_AVAILABLE_TICKET_DEFINITIONS\n   */\n  function queryAvailableTicketDefinitions(query: QueryV2, options?: QueryAvailableTicketDefinitionsOptions): Promise<QueryAvailableTicketDefinitionsResponse>;\n  interface QueryAvailableTicketDefinitionsOptions {\n      /** Predefined sets of fields to return. */\n      fields?: Field[];\n  }\n  /**\n   * Counts ticket definitions by the `saleStatus` field, including those with the `hidden` status.\n   * @public\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function countTicketDefinitions(options?: CountTicketDefinitionsOptions): Promise<CountTicketDefinitionsResponse>;\n  interface CountTicketDefinitionsOptions {\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. */\n      filter?: Record<string, any> | null;\n      /**\n       * Parameters to count ticket definitions by.\n       *\n       * - Max: 20 facets.\n       */\n      facet?: string[];\n  }\n  /**\n   * Counts ticket definitions by the `saleStatus`, excluding those with the `hidden` status.\n   * @public\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.READ_AVAILABLE_TICKET_DEFINITIONS\n   */\n  function countAvailableTicketDefinitions(options?: CountAvailableTicketDefinitionsOptions): Promise<CountAvailableTicketDefinitionsResponse>;\n  interface CountAvailableTicketDefinitionsOptions {\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Deletes multiple ticket definitions.\n   *\n   * All ticket definitions that meet the specified `filter` criteria are deleted.\n   * @param filter - Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. <br/> <br/> **Example:** <br/> `\"filter\" : { \"eventId\": \"3d3d5c04-ece0-45a8-85f0-11a58edaa192\" }`\n   * @public\n   * @requiredField filter\n   * @permissionId WIX_EVENTS.MANAGE_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function bulkDeleteTicketDefinitionsByFilter(filter: Record<string, any> | null): Promise<void>;\n  /**\n   * > **Note:** This function replaces the deprecated `changeCurrency()` function. The deprecated function will continue to work until November 8, 2024, but it will not receive updates. To keep any existing code compatible with future changes, see the [migration instructions](https://www.wix.com/velo/reference/wix-events-v2/ticketdefinitions/changecurrency).\n   *\n   * Changes ticket price currency per event.\n   * @param eventId - Event ID.\n   * @public\n   * @requiredField eventId\n   * @requiredField options\n   * @requiredField options.currency\n   * @param options - Optional fields.\n   * @permissionId WIX_EVENTS.MANAGE_TICKET_DEFINITIONS\n   * @adminMethod\n   */\n  function changeCurrency(eventId: string, options: ChangeCurrencyOptions): Promise<void>;\n  interface ChangeCurrencyOptions {\n      /** Ticket price currency in 3-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency: string;\n  }\n  \n  type eventsV3TicketDefinition_universal_d_TicketDefinition = TicketDefinition;\n  type eventsV3TicketDefinition_universal_d_SalePeriod = SalePeriod;\n  type eventsV3TicketDefinition_universal_d_PricingMethod = PricingMethod;\n  type eventsV3TicketDefinition_universal_d_PricingMethodPriceOneOf = PricingMethodPriceOneOf;\n  type eventsV3TicketDefinition_universal_d_CommonMoney = CommonMoney;\n  type eventsV3TicketDefinition_universal_d_PricingOptions = PricingOptions;\n  type eventsV3TicketDefinition_universal_d_OptionDetails = OptionDetails;\n  type eventsV3TicketDefinition_universal_d_PricingTypeEnumType = PricingTypeEnumType;\n  const eventsV3TicketDefinition_universal_d_PricingTypeEnumType: typeof PricingTypeEnumType;\n  type eventsV3TicketDefinition_universal_d_Type = Type;\n  const eventsV3TicketDefinition_universal_d_Type: typeof Type;\n  type eventsV3TicketDefinition_universal_d_SaleStatusEnumStatus = SaleStatusEnumStatus;\n  const eventsV3TicketDefinition_universal_d_SaleStatusEnumStatus: typeof SaleStatusEnumStatus;\n  type eventsV3TicketDefinition_universal_d_SalesDetails = SalesDetails;\n  type eventsV3TicketDefinition_universal_d_ExtendedFields = ExtendedFields;\n  type eventsV3TicketDefinition_universal_d_EventDetails = EventDetails;\n  type eventsV3TicketDefinition_universal_d_V3Location = V3Location;\n  type eventsV3TicketDefinition_universal_d_LocationLocationType = LocationLocationType;\n  const eventsV3TicketDefinition_universal_d_LocationLocationType: typeof LocationLocationType;\n  type eventsV3TicketDefinition_universal_d_CommonAddress = CommonAddress;\n  type eventsV3TicketDefinition_universal_d_CommonAddressStreetOneOf = CommonAddressStreetOneOf;\n  type eventsV3TicketDefinition_universal_d_CommonStreetAddress = CommonStreetAddress;\n  type eventsV3TicketDefinition_universal_d_CommonAddressLocation = CommonAddressLocation;\n  type eventsV3TicketDefinition_universal_d_CommonSubdivision = CommonSubdivision;\n  type eventsV3TicketDefinition_universal_d_SubdivisionSubdivisionType = SubdivisionSubdivisionType;\n  const eventsV3TicketDefinition_universal_d_SubdivisionSubdivisionType: typeof SubdivisionSubdivisionType;\n  type eventsV3TicketDefinition_universal_d_DateAndTimeSettings = DateAndTimeSettings;\n  type eventsV3TicketDefinition_universal_d_RecurrenceStatusStatus = RecurrenceStatusStatus;\n  const eventsV3TicketDefinition_universal_d_RecurrenceStatusStatus: typeof RecurrenceStatusStatus;\n  type eventsV3TicketDefinition_universal_d_V3Recurrences = V3Recurrences;\n  type eventsV3TicketDefinition_universal_d_V3Occurrence = V3Occurrence;\n  type eventsV3TicketDefinition_universal_d_Formatted = Formatted;\n  type eventsV3TicketDefinition_universal_d_EventStatusStatus = EventStatusStatus;\n  const eventsV3TicketDefinition_universal_d_EventStatusStatus: typeof EventStatusStatus;\n  type eventsV3TicketDefinition_universal_d_SalePeriodUpdated = SalePeriodUpdated;\n  type eventsV3TicketDefinition_universal_d_TicketDefinitionSaleStarted = TicketDefinitionSaleStarted;\n  type eventsV3TicketDefinition_universal_d_TicketDefinitionSaleEnded = TicketDefinitionSaleEnded;\n  type eventsV3TicketDefinition_universal_d_DomainEvent = DomainEvent;\n  type eventsV3TicketDefinition_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type eventsV3TicketDefinition_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type eventsV3TicketDefinition_universal_d_RestoreInfo = RestoreInfo;\n  type eventsV3TicketDefinition_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type eventsV3TicketDefinition_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type eventsV3TicketDefinition_universal_d_ActionEvent = ActionEvent;\n  type eventsV3TicketDefinition_universal_d_MessageEnvelope = MessageEnvelope;\n  type eventsV3TicketDefinition_universal_d_IdentificationData = IdentificationData;\n  type eventsV3TicketDefinition_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type eventsV3TicketDefinition_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const eventsV3TicketDefinition_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type eventsV3TicketDefinition_universal_d_InvalidateCache = InvalidateCache;\n  type eventsV3TicketDefinition_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type eventsV3TicketDefinition_universal_d_App = App;\n  type eventsV3TicketDefinition_universal_d_Page = Page;\n  type eventsV3TicketDefinition_universal_d_URI = URI;\n  type eventsV3TicketDefinition_universal_d_File = File;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionSummaryRequest = GetTicketDefinitionSummaryRequest;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionSummaryResponse = GetTicketDefinitionSummaryResponse;\n  type eventsV3TicketDefinition_universal_d_TicketDefinitionSummary = TicketDefinitionSummary;\n  type eventsV3TicketDefinition_universal_d_ListEventTicketingSummaryRequest = ListEventTicketingSummaryRequest;\n  type eventsV3TicketDefinition_universal_d_ListEventTicketingSummaryResponse = ListEventTicketingSummaryResponse;\n  type eventsV3TicketDefinition_universal_d_EventTicketingSummary = EventTicketingSummary;\n  type eventsV3TicketDefinition_universal_d_Empty = Empty;\n  type eventsV3TicketDefinition_universal_d_ReservationCreated = ReservationCreated;\n  type eventsV3TicketDefinition_universal_d_ReservationStatus = ReservationStatus;\n  const eventsV3TicketDefinition_universal_d_ReservationStatus: typeof ReservationStatus;\n  type eventsV3TicketDefinition_universal_d_TicketQuantity = TicketQuantity;\n  type eventsV3TicketDefinition_universal_d_ReservationCount = ReservationCount;\n  type eventsV3TicketDefinition_universal_d_ReservationUpdated = ReservationUpdated;\n  type eventsV3TicketDefinition_universal_d_EventDeleted = EventDeleted;\n  type eventsV3TicketDefinition_universal_d_CreateTicketDefinitionRequest = CreateTicketDefinitionRequest;\n  type eventsV3TicketDefinition_universal_d_Field = Field;\n  const eventsV3TicketDefinition_universal_d_Field: typeof Field;\n  type eventsV3TicketDefinition_universal_d_CreateTicketDefinitionResponse = CreateTicketDefinitionResponse;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionRequest = UpdateTicketDefinitionRequest;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionResponse = UpdateTicketDefinitionResponse;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionRequest = GetTicketDefinitionRequest;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionResponse = GetTicketDefinitionResponse;\n  type eventsV3TicketDefinition_universal_d_DeleteTicketDefinitionRequest = DeleteTicketDefinitionRequest;\n  type eventsV3TicketDefinition_universal_d_DeleteTicketDefinitionResponse = DeleteTicketDefinitionResponse;\n  type eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsRequest = ReorderTicketDefinitionsRequest;\n  type eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsRequestReferenceDefinitionOneOf = ReorderTicketDefinitionsRequestReferenceDefinitionOneOf;\n  type eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsResponse = ReorderTicketDefinitionsResponse;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionSortIndexRequest = UpdateTicketDefinitionSortIndexRequest;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionSortIndexResponse = UpdateTicketDefinitionSortIndexResponse;\n  type eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsRequest = QueryTicketDefinitionsRequest;\n  type eventsV3TicketDefinition_universal_d_QueryV2 = QueryV2;\n  type eventsV3TicketDefinition_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type eventsV3TicketDefinition_universal_d_Sorting = Sorting;\n  type eventsV3TicketDefinition_universal_d_SortOrder = SortOrder;\n  const eventsV3TicketDefinition_universal_d_SortOrder: typeof SortOrder;\n  type eventsV3TicketDefinition_universal_d_Paging = Paging;\n  type eventsV3TicketDefinition_universal_d_CursorPaging = CursorPaging;\n  type eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsResponse = QueryTicketDefinitionsResponse;\n  type eventsV3TicketDefinition_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type eventsV3TicketDefinition_universal_d_Cursors = Cursors;\n  type eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsRequest = QueryAvailableTicketDefinitionsRequest;\n  type eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsResponse = QueryAvailableTicketDefinitionsResponse;\n  type eventsV3TicketDefinition_universal_d_CountTicketDefinitionsRequest = CountTicketDefinitionsRequest;\n  type eventsV3TicketDefinition_universal_d_CountTicketDefinitionsResponse = CountTicketDefinitionsResponse;\n  type eventsV3TicketDefinition_universal_d_FacetCounts = FacetCounts;\n  type eventsV3TicketDefinition_universal_d_CountAvailableTicketDefinitionsRequest = CountAvailableTicketDefinitionsRequest;\n  type eventsV3TicketDefinition_universal_d_CountAvailableTicketDefinitionsResponse = CountAvailableTicketDefinitionsResponse;\n  type eventsV3TicketDefinition_universal_d_BulkDeleteTicketDefinitionsByFilterRequest = BulkDeleteTicketDefinitionsByFilterRequest;\n  type eventsV3TicketDefinition_universal_d_BulkDeleteTicketDefinitionsByFilterResponse = BulkDeleteTicketDefinitionsByFilterResponse;\n  type eventsV3TicketDefinition_universal_d_ChangeCurrencyRequest = ChangeCurrencyRequest;\n  type eventsV3TicketDefinition_universal_d_ChangeCurrencyResponse = ChangeCurrencyResponse;\n  type eventsV3TicketDefinition_universal_d_BulkCopyTicketDefinitionsByEventIdRequest = BulkCopyTicketDefinitionsByEventIdRequest;\n  type eventsV3TicketDefinition_universal_d_BulkCopyTicketDefinitionsByEventIdResponse = BulkCopyTicketDefinitionsByEventIdResponse;\n  type eventsV3TicketDefinition_universal_d_CopiedTicketDefinition = CopiedTicketDefinition;\n  type eventsV3TicketDefinition_universal_d_EventCanceled = EventCanceled;\n  type eventsV3TicketDefinition_universal_d_EventEnded = EventEnded;\n  type eventsV3TicketDefinition_universal_d_EventCreated = EventCreated;\n  type eventsV3TicketDefinition_universal_d_Location = Location;\n  type eventsV3TicketDefinition_universal_d_MapCoordinates = MapCoordinates;\n  type eventsV3TicketDefinition_universal_d_LocationType = LocationType;\n  const eventsV3TicketDefinition_universal_d_LocationType: typeof LocationType;\n  type eventsV3TicketDefinition_universal_d_Address = Address;\n  type eventsV3TicketDefinition_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type eventsV3TicketDefinition_universal_d_StreetAddress = StreetAddress;\n  type eventsV3TicketDefinition_universal_d_AddressLocation = AddressLocation;\n  type eventsV3TicketDefinition_universal_d_Subdivision = Subdivision;\n  type eventsV3TicketDefinition_universal_d_SubdivisionType = SubdivisionType;\n  const eventsV3TicketDefinition_universal_d_SubdivisionType: typeof SubdivisionType;\n  type eventsV3TicketDefinition_universal_d_ScheduleConfig = ScheduleConfig;\n  type eventsV3TicketDefinition_universal_d_Recurrences = Recurrences;\n  type eventsV3TicketDefinition_universal_d_Occurrence = Occurrence;\n  type eventsV3TicketDefinition_universal_d_Status = Status;\n  const eventsV3TicketDefinition_universal_d_Status: typeof Status;\n  type eventsV3TicketDefinition_universal_d_EventStatus = EventStatus;\n  const eventsV3TicketDefinition_universal_d_EventStatus: typeof EventStatus;\n  type eventsV3TicketDefinition_universal_d_Event = Event;\n  type eventsV3TicketDefinition_universal_d_Scheduling = Scheduling;\n  type eventsV3TicketDefinition_universal_d_Registration = Registration;\n  type eventsV3TicketDefinition_universal_d_EventType = EventType;\n  const eventsV3TicketDefinition_universal_d_EventType: typeof EventType;\n  type eventsV3TicketDefinition_universal_d_RegistrationStatus = RegistrationStatus;\n  const eventsV3TicketDefinition_universal_d_RegistrationStatus: typeof RegistrationStatus;\n  type eventsV3TicketDefinition_universal_d_RsvpCollection = RsvpCollection;\n  type eventsV3TicketDefinition_universal_d_RsvpCollectionConfig = RsvpCollectionConfig;\n  type eventsV3TicketDefinition_universal_d_RsvpStatusOptions = RsvpStatusOptions;\n  const eventsV3TicketDefinition_universal_d_RsvpStatusOptions: typeof RsvpStatusOptions;\n  type eventsV3TicketDefinition_universal_d_Ticketing = Ticketing;\n  type eventsV3TicketDefinition_universal_d_TicketingConfig = TicketingConfig;\n  type eventsV3TicketDefinition_universal_d_TaxConfig = TaxConfig;\n  type eventsV3TicketDefinition_universal_d_TaxType = TaxType;\n  const eventsV3TicketDefinition_universal_d_TaxType: typeof TaxType;\n  type eventsV3TicketDefinition_universal_d_Money = Money;\n  type eventsV3TicketDefinition_universal_d_ExternalEvent = ExternalEvent;\n  type eventsV3TicketDefinition_universal_d_VisitorType = VisitorType;\n  const eventsV3TicketDefinition_universal_d_VisitorType: typeof VisitorType;\n  type eventsV3TicketDefinition_universal_d_CalendarLinks = CalendarLinks;\n  type eventsV3TicketDefinition_universal_d_SiteUrl = SiteUrl;\n  type eventsV3TicketDefinition_universal_d_Form = Form;\n  type eventsV3TicketDefinition_universal_d_InputControl = InputControl;\n  type eventsV3TicketDefinition_universal_d_InputControlType = InputControlType;\n  const eventsV3TicketDefinition_universal_d_InputControlType: typeof InputControlType;\n  type eventsV3TicketDefinition_universal_d_Input = Input;\n  type eventsV3TicketDefinition_universal_d_ValueType = ValueType;\n  const eventsV3TicketDefinition_universal_d_ValueType: typeof ValueType;\n  type eventsV3TicketDefinition_universal_d_OptionSelection = OptionSelection;\n  type eventsV3TicketDefinition_universal_d_OptionSelectionSelectedOptionOneOf = OptionSelectionSelectedOptionOneOf;\n  type eventsV3TicketDefinition_universal_d_Label = Label;\n  type eventsV3TicketDefinition_universal_d_FormMessages = FormMessages;\n  type eventsV3TicketDefinition_universal_d_RsvpFormMessages = RsvpFormMessages;\n  type eventsV3TicketDefinition_universal_d_PositiveResponseConfirmation = PositiveResponseConfirmation;\n  type eventsV3TicketDefinition_universal_d_NegativeResponseConfirmation = NegativeResponseConfirmation;\n  type eventsV3TicketDefinition_universal_d_Positive = Positive;\n  type eventsV3TicketDefinition_universal_d_Negative = Negative;\n  type eventsV3TicketDefinition_universal_d_CheckoutFormMessages = CheckoutFormMessages;\n  type eventsV3TicketDefinition_universal_d_ResponseConfirmation = ResponseConfirmation;\n  type eventsV3TicketDefinition_universal_d_RegistrationClosedMessages = RegistrationClosedMessages;\n  type eventsV3TicketDefinition_universal_d_TicketsUnavailableMessages = TicketsUnavailableMessages;\n  type eventsV3TicketDefinition_universal_d_Dashboard = Dashboard;\n  type eventsV3TicketDefinition_universal_d_RsvpSummary = RsvpSummary;\n  type eventsV3TicketDefinition_universal_d_TicketingSummary = TicketingSummary;\n  type eventsV3TicketDefinition_universal_d_GuestListConfig = GuestListConfig;\n  type eventsV3TicketDefinition_universal_d_Feed = Feed;\n  type eventsV3TicketDefinition_universal_d_OnlineConferencing = OnlineConferencing;\n  type eventsV3TicketDefinition_universal_d_OnlineConferencingConfig = OnlineConferencingConfig;\n  type eventsV3TicketDefinition_universal_d_ConferenceType = ConferenceType;\n  const eventsV3TicketDefinition_universal_d_ConferenceType: typeof ConferenceType;\n  type eventsV3TicketDefinition_universal_d_OnlineConferencingSession = OnlineConferencingSession;\n  type eventsV3TicketDefinition_universal_d_SeoSettings = SeoSettings;\n  type eventsV3TicketDefinition_universal_d_SeoSchema = SeoSchema;\n  type eventsV3TicketDefinition_universal_d_Keyword = Keyword;\n  type eventsV3TicketDefinition_universal_d_Tag = Tag;\n  type eventsV3TicketDefinition_universal_d_Settings = Settings;\n  type eventsV3TicketDefinition_universal_d_Agenda = Agenda;\n  type eventsV3TicketDefinition_universal_d_Category = Category;\n  type eventsV3TicketDefinition_universal_d_CategoryCounts = CategoryCounts;\n  type eventsV3TicketDefinition_universal_d_CategoryStateState = CategoryStateState;\n  const eventsV3TicketDefinition_universal_d_CategoryStateState: typeof CategoryStateState;\n  type eventsV3TicketDefinition_universal_d_EventDisplaySettings = EventDisplaySettings;\n  type eventsV3TicketDefinition_universal_d_LabellingSettings = LabellingSettings;\n  type eventsV3TicketDefinition_universal_d_EventUpdated = EventUpdated;\n  type eventsV3TicketDefinition_universal_d_SeatingPlanCategoriesSummaryUpdated = SeatingPlanCategoriesSummaryUpdated;\n  type eventsV3TicketDefinition_universal_d_CategoryDetails = CategoryDetails;\n  type eventsV3TicketDefinition_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type eventsV3TicketDefinition_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type eventsV3TicketDefinition_universal_d_Asset = Asset;\n  type eventsV3TicketDefinition_universal_d_State = State;\n  const eventsV3TicketDefinition_universal_d_State: typeof State;\n  type eventsV3TicketDefinition_universal_d_SiteCreated = SiteCreated;\n  type eventsV3TicketDefinition_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const eventsV3TicketDefinition_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type eventsV3TicketDefinition_universal_d_Namespace = Namespace;\n  const eventsV3TicketDefinition_universal_d_Namespace: typeof Namespace;\n  type eventsV3TicketDefinition_universal_d_SiteTransferred = SiteTransferred;\n  type eventsV3TicketDefinition_universal_d_SiteDeleted = SiteDeleted;\n  type eventsV3TicketDefinition_universal_d_DeleteContext = DeleteContext;\n  type eventsV3TicketDefinition_universal_d_DeleteStatus = DeleteStatus;\n  const eventsV3TicketDefinition_universal_d_DeleteStatus: typeof DeleteStatus;\n  type eventsV3TicketDefinition_universal_d_SiteUndeleted = SiteUndeleted;\n  type eventsV3TicketDefinition_universal_d_SitePublished = SitePublished;\n  type eventsV3TicketDefinition_universal_d_SiteUnpublished = SiteUnpublished;\n  type eventsV3TicketDefinition_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type eventsV3TicketDefinition_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type eventsV3TicketDefinition_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type eventsV3TicketDefinition_universal_d_ServiceRemoved = ServiceRemoved;\n  type eventsV3TicketDefinition_universal_d_SiteRenamed = SiteRenamed;\n  type eventsV3TicketDefinition_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type eventsV3TicketDefinition_universal_d_NamespaceChanged = NamespaceChanged;\n  type eventsV3TicketDefinition_universal_d_StudioAssigned = StudioAssigned;\n  type eventsV3TicketDefinition_universal_d_StudioUnassigned = StudioUnassigned;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionFromTrashBinRequest = GetTicketDefinitionFromTrashBinRequest;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionFromTrashBinResponse = GetTicketDefinitionFromTrashBinResponse;\n  type eventsV3TicketDefinition_universal_d_ScheduleLegacyTimeCapsuleTaskRequest = ScheduleLegacyTimeCapsuleTaskRequest;\n  const eventsV3TicketDefinition_universal_d_createTicketDefinition: typeof createTicketDefinition;\n  type eventsV3TicketDefinition_universal_d_CreateTicketDefinitionOptions = CreateTicketDefinitionOptions;\n  const eventsV3TicketDefinition_universal_d_updateTicketDefinition: typeof updateTicketDefinition;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinition = UpdateTicketDefinition;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionOptions = UpdateTicketDefinitionOptions;\n  const eventsV3TicketDefinition_universal_d_getTicketDefinition: typeof getTicketDefinition;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionOptions = GetTicketDefinitionOptions;\n  const eventsV3TicketDefinition_universal_d_deleteTicketDefinition: typeof deleteTicketDefinition;\n  const eventsV3TicketDefinition_universal_d_reorderTicketDefinitions: typeof reorderTicketDefinitions;\n  type eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsOptions = ReorderTicketDefinitionsOptions;\n  const eventsV3TicketDefinition_universal_d_queryTicketDefinitions: typeof queryTicketDefinitions;\n  type eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsOptions = QueryTicketDefinitionsOptions;\n  type eventsV3TicketDefinition_universal_d_TicketDefinitionsQueryResult = TicketDefinitionsQueryResult;\n  type eventsV3TicketDefinition_universal_d_TicketDefinitionsQueryBuilder = TicketDefinitionsQueryBuilder;\n  const eventsV3TicketDefinition_universal_d_queryAvailableTicketDefinitions: typeof queryAvailableTicketDefinitions;\n  type eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsOptions = QueryAvailableTicketDefinitionsOptions;\n  const eventsV3TicketDefinition_universal_d_countTicketDefinitions: typeof countTicketDefinitions;\n  type eventsV3TicketDefinition_universal_d_CountTicketDefinitionsOptions = CountTicketDefinitionsOptions;\n  const eventsV3TicketDefinition_universal_d_countAvailableTicketDefinitions: typeof countAvailableTicketDefinitions;\n  type eventsV3TicketDefinition_universal_d_CountAvailableTicketDefinitionsOptions = CountAvailableTicketDefinitionsOptions;\n  const eventsV3TicketDefinition_universal_d_bulkDeleteTicketDefinitionsByFilter: typeof bulkDeleteTicketDefinitionsByFilter;\n  const eventsV3TicketDefinition_universal_d_changeCurrency: typeof changeCurrency;\n  type eventsV3TicketDefinition_universal_d_ChangeCurrencyOptions = ChangeCurrencyOptions;\n  namespace eventsV3TicketDefinition_universal_d {\n    export {\n      eventsV3TicketDefinition_universal_d_TicketDefinition as TicketDefinition,\n      eventsV3TicketDefinition_universal_d_SalePeriod as SalePeriod,\n      eventsV3TicketDefinition_universal_d_PricingMethod as PricingMethod,\n      eventsV3TicketDefinition_universal_d_PricingMethodPriceOneOf as PricingMethodPriceOneOf,\n      eventsV3TicketDefinition_universal_d_CommonMoney as CommonMoney,\n      eventsV3TicketDefinition_universal_d_PricingOptions as PricingOptions,\n      eventsV3TicketDefinition_universal_d_OptionDetails as OptionDetails,\n      eventsV3TicketDefinition_universal_d_PricingTypeEnumType as PricingTypeEnumType,\n      eventsV3TicketDefinition_universal_d_Type as Type,\n      eventsV3TicketDefinition_universal_d_SaleStatusEnumStatus as SaleStatusEnumStatus,\n      eventsV3TicketDefinition_universal_d_SalesDetails as SalesDetails,\n      eventsV3TicketDefinition_universal_d_ExtendedFields as ExtendedFields,\n      eventsV3TicketDefinition_universal_d_EventDetails as EventDetails,\n      eventsV3TicketDefinition_universal_d_V3Location as V3Location,\n      eventsV3TicketDefinition_universal_d_LocationLocationType as LocationLocationType,\n      eventsV3TicketDefinition_universal_d_CommonAddress as CommonAddress,\n      eventsV3TicketDefinition_universal_d_CommonAddressStreetOneOf as CommonAddressStreetOneOf,\n      eventsV3TicketDefinition_universal_d_CommonStreetAddress as CommonStreetAddress,\n      eventsV3TicketDefinition_universal_d_CommonAddressLocation as CommonAddressLocation,\n      eventsV3TicketDefinition_universal_d_CommonSubdivision as CommonSubdivision,\n      eventsV3TicketDefinition_universal_d_SubdivisionSubdivisionType as SubdivisionSubdivisionType,\n      eventsV3TicketDefinition_universal_d_DateAndTimeSettings as DateAndTimeSettings,\n      eventsV3TicketDefinition_universal_d_RecurrenceStatusStatus as RecurrenceStatusStatus,\n      eventsV3TicketDefinition_universal_d_V3Recurrences as V3Recurrences,\n      eventsV3TicketDefinition_universal_d_V3Occurrence as V3Occurrence,\n      eventsV3TicketDefinition_universal_d_Formatted as Formatted,\n      eventsV3TicketDefinition_universal_d_EventStatusStatus as EventStatusStatus,\n      eventsV3TicketDefinition_universal_d_SalePeriodUpdated as SalePeriodUpdated,\n      eventsV3TicketDefinition_universal_d_TicketDefinitionSaleStarted as TicketDefinitionSaleStarted,\n      eventsV3TicketDefinition_universal_d_TicketDefinitionSaleEnded as TicketDefinitionSaleEnded,\n      eventsV3TicketDefinition_universal_d_DomainEvent as DomainEvent,\n      eventsV3TicketDefinition_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      eventsV3TicketDefinition_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      eventsV3TicketDefinition_universal_d_RestoreInfo as RestoreInfo,\n      eventsV3TicketDefinition_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      eventsV3TicketDefinition_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      eventsV3TicketDefinition_universal_d_ActionEvent as ActionEvent,\n      eventsV3TicketDefinition_universal_d_MessageEnvelope as MessageEnvelope,\n      eventsV3TicketDefinition_universal_d_IdentificationData as IdentificationData,\n      eventsV3TicketDefinition_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      eventsV3TicketDefinition_universal_d_WebhookIdentityType as WebhookIdentityType,\n      eventsV3TicketDefinition_universal_d_InvalidateCache as InvalidateCache,\n      eventsV3TicketDefinition_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      eventsV3TicketDefinition_universal_d_App as App,\n      eventsV3TicketDefinition_universal_d_Page as Page,\n      eventsV3TicketDefinition_universal_d_URI as URI,\n      eventsV3TicketDefinition_universal_d_File as File,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionSummaryRequest as GetTicketDefinitionSummaryRequest,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionSummaryResponse as GetTicketDefinitionSummaryResponse,\n      eventsV3TicketDefinition_universal_d_TicketDefinitionSummary as TicketDefinitionSummary,\n      eventsV3TicketDefinition_universal_d_ListEventTicketingSummaryRequest as ListEventTicketingSummaryRequest,\n      eventsV3TicketDefinition_universal_d_ListEventTicketingSummaryResponse as ListEventTicketingSummaryResponse,\n      eventsV3TicketDefinition_universal_d_EventTicketingSummary as EventTicketingSummary,\n      eventsV3TicketDefinition_universal_d_Empty as Empty,\n      eventsV3TicketDefinition_universal_d_ReservationCreated as ReservationCreated,\n      eventsV3TicketDefinition_universal_d_ReservationStatus as ReservationStatus,\n      eventsV3TicketDefinition_universal_d_TicketQuantity as TicketQuantity,\n      eventsV3TicketDefinition_universal_d_ReservationCount as ReservationCount,\n      eventsV3TicketDefinition_universal_d_ReservationUpdated as ReservationUpdated,\n      eventsV3TicketDefinition_universal_d_EventDeleted as EventDeleted,\n      eventsV3TicketDefinition_universal_d_CreateTicketDefinitionRequest as CreateTicketDefinitionRequest,\n      eventsV3TicketDefinition_universal_d_Field as Field,\n      eventsV3TicketDefinition_universal_d_CreateTicketDefinitionResponse as CreateTicketDefinitionResponse,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionRequest as UpdateTicketDefinitionRequest,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionResponse as UpdateTicketDefinitionResponse,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionRequest as GetTicketDefinitionRequest,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionResponse as GetTicketDefinitionResponse,\n      eventsV3TicketDefinition_universal_d_DeleteTicketDefinitionRequest as DeleteTicketDefinitionRequest,\n      eventsV3TicketDefinition_universal_d_DeleteTicketDefinitionResponse as DeleteTicketDefinitionResponse,\n      eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsRequest as ReorderTicketDefinitionsRequest,\n      eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsRequestReferenceDefinitionOneOf as ReorderTicketDefinitionsRequestReferenceDefinitionOneOf,\n      eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsResponse as ReorderTicketDefinitionsResponse,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionSortIndexRequest as UpdateTicketDefinitionSortIndexRequest,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionSortIndexResponse as UpdateTicketDefinitionSortIndexResponse,\n      eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsRequest as QueryTicketDefinitionsRequest,\n      eventsV3TicketDefinition_universal_d_QueryV2 as QueryV2,\n      eventsV3TicketDefinition_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      eventsV3TicketDefinition_universal_d_Sorting as Sorting,\n      eventsV3TicketDefinition_universal_d_SortOrder as SortOrder,\n      eventsV3TicketDefinition_universal_d_Paging as Paging,\n      eventsV3TicketDefinition_universal_d_CursorPaging as CursorPaging,\n      eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsResponse as QueryTicketDefinitionsResponse,\n      eventsV3TicketDefinition_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      eventsV3TicketDefinition_universal_d_Cursors as Cursors,\n      eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsRequest as QueryAvailableTicketDefinitionsRequest,\n      eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsResponse as QueryAvailableTicketDefinitionsResponse,\n      eventsV3TicketDefinition_universal_d_CountTicketDefinitionsRequest as CountTicketDefinitionsRequest,\n      eventsV3TicketDefinition_universal_d_CountTicketDefinitionsResponse as CountTicketDefinitionsResponse,\n      eventsV3TicketDefinition_universal_d_FacetCounts as FacetCounts,\n      eventsV3TicketDefinition_universal_d_CountAvailableTicketDefinitionsRequest as CountAvailableTicketDefinitionsRequest,\n      eventsV3TicketDefinition_universal_d_CountAvailableTicketDefinitionsResponse as CountAvailableTicketDefinitionsResponse,\n      eventsV3TicketDefinition_universal_d_BulkDeleteTicketDefinitionsByFilterRequest as BulkDeleteTicketDefinitionsByFilterRequest,\n      eventsV3TicketDefinition_universal_d_BulkDeleteTicketDefinitionsByFilterResponse as BulkDeleteTicketDefinitionsByFilterResponse,\n      eventsV3TicketDefinition_universal_d_ChangeCurrencyRequest as ChangeCurrencyRequest,\n      eventsV3TicketDefinition_universal_d_ChangeCurrencyResponse as ChangeCurrencyResponse,\n      eventsV3TicketDefinition_universal_d_BulkCopyTicketDefinitionsByEventIdRequest as BulkCopyTicketDefinitionsByEventIdRequest,\n      eventsV3TicketDefinition_universal_d_BulkCopyTicketDefinitionsByEventIdResponse as BulkCopyTicketDefinitionsByEventIdResponse,\n      eventsV3TicketDefinition_universal_d_CopiedTicketDefinition as CopiedTicketDefinition,\n      eventsV3TicketDefinition_universal_d_EventCanceled as EventCanceled,\n      eventsV3TicketDefinition_universal_d_EventEnded as EventEnded,\n      eventsV3TicketDefinition_universal_d_EventCreated as EventCreated,\n      eventsV3TicketDefinition_universal_d_Location as Location,\n      eventsV3TicketDefinition_universal_d_MapCoordinates as MapCoordinates,\n      eventsV3TicketDefinition_universal_d_LocationType as LocationType,\n      eventsV3TicketDefinition_universal_d_Address as Address,\n      eventsV3TicketDefinition_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      eventsV3TicketDefinition_universal_d_StreetAddress as StreetAddress,\n      eventsV3TicketDefinition_universal_d_AddressLocation as AddressLocation,\n      eventsV3TicketDefinition_universal_d_Subdivision as Subdivision,\n      eventsV3TicketDefinition_universal_d_SubdivisionType as SubdivisionType,\n      eventsV3TicketDefinition_universal_d_ScheduleConfig as ScheduleConfig,\n      eventsV3TicketDefinition_universal_d_Recurrences as Recurrences,\n      eventsV3TicketDefinition_universal_d_Occurrence as Occurrence,\n      eventsV3TicketDefinition_universal_d_Status as Status,\n      eventsV3TicketDefinition_universal_d_EventStatus as EventStatus,\n      eventsV3TicketDefinition_universal_d_Event as Event,\n      eventsV3TicketDefinition_universal_d_Scheduling as Scheduling,\n      eventsV3TicketDefinition_universal_d_Registration as Registration,\n      eventsV3TicketDefinition_universal_d_EventType as EventType,\n      eventsV3TicketDefinition_universal_d_RegistrationStatus as RegistrationStatus,\n      eventsV3TicketDefinition_universal_d_RsvpCollection as RsvpCollection,\n      eventsV3TicketDefinition_universal_d_RsvpCollectionConfig as RsvpCollectionConfig,\n      eventsV3TicketDefinition_universal_d_RsvpStatusOptions as RsvpStatusOptions,\n      eventsV3TicketDefinition_universal_d_Ticketing as Ticketing,\n      eventsV3TicketDefinition_universal_d_TicketingConfig as TicketingConfig,\n      eventsV3TicketDefinition_universal_d_TaxConfig as TaxConfig,\n      eventsV3TicketDefinition_universal_d_TaxType as TaxType,\n      eventsV3TicketDefinition_universal_d_Money as Money,\n      eventsV3TicketDefinition_universal_d_ExternalEvent as ExternalEvent,\n      eventsV3TicketDefinition_universal_d_VisitorType as VisitorType,\n      eventsV3TicketDefinition_universal_d_CalendarLinks as CalendarLinks,\n      eventsV3TicketDefinition_universal_d_SiteUrl as SiteUrl,\n      eventsV3TicketDefinition_universal_d_Form as Form,\n      eventsV3TicketDefinition_universal_d_InputControl as InputControl,\n      eventsV3TicketDefinition_universal_d_InputControlType as InputControlType,\n      eventsV3TicketDefinition_universal_d_Input as Input,\n      eventsV3TicketDefinition_universal_d_ValueType as ValueType,\n      eventsV3TicketDefinition_universal_d_OptionSelection as OptionSelection,\n      eventsV3TicketDefinition_universal_d_OptionSelectionSelectedOptionOneOf as OptionSelectionSelectedOptionOneOf,\n      eventsV3TicketDefinition_universal_d_Label as Label,\n      eventsV3TicketDefinition_universal_d_FormMessages as FormMessages,\n      eventsV3TicketDefinition_universal_d_RsvpFormMessages as RsvpFormMessages,\n      eventsV3TicketDefinition_universal_d_PositiveResponseConfirmation as PositiveResponseConfirmation,\n      eventsV3TicketDefinition_universal_d_NegativeResponseConfirmation as NegativeResponseConfirmation,\n      eventsV3TicketDefinition_universal_d_Positive as Positive,\n      eventsV3TicketDefinition_universal_d_Negative as Negative,\n      eventsV3TicketDefinition_universal_d_CheckoutFormMessages as CheckoutFormMessages,\n      eventsV3TicketDefinition_universal_d_ResponseConfirmation as ResponseConfirmation,\n      eventsV3TicketDefinition_universal_d_RegistrationClosedMessages as RegistrationClosedMessages,\n      eventsV3TicketDefinition_universal_d_TicketsUnavailableMessages as TicketsUnavailableMessages,\n      eventsV3TicketDefinition_universal_d_Dashboard as Dashboard,\n      eventsV3TicketDefinition_universal_d_RsvpSummary as RsvpSummary,\n      eventsV3TicketDefinition_universal_d_TicketingSummary as TicketingSummary,\n      eventsV3TicketDefinition_universal_d_GuestListConfig as GuestListConfig,\n      eventsV3TicketDefinition_universal_d_Feed as Feed,\n      eventsV3TicketDefinition_universal_d_OnlineConferencing as OnlineConferencing,\n      eventsV3TicketDefinition_universal_d_OnlineConferencingConfig as OnlineConferencingConfig,\n      eventsV3TicketDefinition_universal_d_ConferenceType as ConferenceType,\n      eventsV3TicketDefinition_universal_d_OnlineConferencingSession as OnlineConferencingSession,\n      eventsV3TicketDefinition_universal_d_SeoSettings as SeoSettings,\n      eventsV3TicketDefinition_universal_d_SeoSchema as SeoSchema,\n      eventsV3TicketDefinition_universal_d_Keyword as Keyword,\n      eventsV3TicketDefinition_universal_d_Tag as Tag,\n      eventsV3TicketDefinition_universal_d_Settings as Settings,\n      eventsV3TicketDefinition_universal_d_Agenda as Agenda,\n      eventsV3TicketDefinition_universal_d_Category as Category,\n      eventsV3TicketDefinition_universal_d_CategoryCounts as CategoryCounts,\n      eventsV3TicketDefinition_universal_d_CategoryStateState as CategoryStateState,\n      eventsV3TicketDefinition_universal_d_EventDisplaySettings as EventDisplaySettings,\n      eventsV3TicketDefinition_universal_d_LabellingSettings as LabellingSettings,\n      eventsV3TicketDefinition_universal_d_EventUpdated as EventUpdated,\n      eventsV3TicketDefinition_universal_d_SeatingPlanCategoriesSummaryUpdated as SeatingPlanCategoriesSummaryUpdated,\n      eventsV3TicketDefinition_universal_d_CategoryDetails as CategoryDetails,\n      eventsV3TicketDefinition_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      eventsV3TicketDefinition_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      eventsV3TicketDefinition_universal_d_Asset as Asset,\n      eventsV3TicketDefinition_universal_d_State as State,\n      eventsV3TicketDefinition_universal_d_SiteCreated as SiteCreated,\n      eventsV3TicketDefinition_universal_d_SiteCreatedContext as SiteCreatedContext,\n      eventsV3TicketDefinition_universal_d_Namespace as Namespace,\n      eventsV3TicketDefinition_universal_d_SiteTransferred as SiteTransferred,\n      eventsV3TicketDefinition_universal_d_SiteDeleted as SiteDeleted,\n      eventsV3TicketDefinition_universal_d_DeleteContext as DeleteContext,\n      eventsV3TicketDefinition_universal_d_DeleteStatus as DeleteStatus,\n      eventsV3TicketDefinition_universal_d_SiteUndeleted as SiteUndeleted,\n      eventsV3TicketDefinition_universal_d_SitePublished as SitePublished,\n      eventsV3TicketDefinition_universal_d_SiteUnpublished as SiteUnpublished,\n      eventsV3TicketDefinition_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      eventsV3TicketDefinition_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      eventsV3TicketDefinition_universal_d_ServiceProvisioned as ServiceProvisioned,\n      eventsV3TicketDefinition_universal_d_ServiceRemoved as ServiceRemoved,\n      eventsV3TicketDefinition_universal_d_SiteRenamed as SiteRenamed,\n      eventsV3TicketDefinition_universal_d_SiteHardDeleted as SiteHardDeleted,\n      eventsV3TicketDefinition_universal_d_NamespaceChanged as NamespaceChanged,\n      eventsV3TicketDefinition_universal_d_StudioAssigned as StudioAssigned,\n      eventsV3TicketDefinition_universal_d_StudioUnassigned as StudioUnassigned,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionFromTrashBinRequest as GetTicketDefinitionFromTrashBinRequest,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionFromTrashBinResponse as GetTicketDefinitionFromTrashBinResponse,\n      eventsV3TicketDefinition_universal_d_ScheduleLegacyTimeCapsuleTaskRequest as ScheduleLegacyTimeCapsuleTaskRequest,\n      eventsV3TicketDefinition_universal_d_createTicketDefinition as createTicketDefinition,\n      eventsV3TicketDefinition_universal_d_CreateTicketDefinitionOptions as CreateTicketDefinitionOptions,\n      eventsV3TicketDefinition_universal_d_updateTicketDefinition as updateTicketDefinition,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinition as UpdateTicketDefinition,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionOptions as UpdateTicketDefinitionOptions,\n      eventsV3TicketDefinition_universal_d_getTicketDefinition as getTicketDefinition,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionOptions as GetTicketDefinitionOptions,\n      eventsV3TicketDefinition_universal_d_deleteTicketDefinition as deleteTicketDefinition,\n      eventsV3TicketDefinition_universal_d_reorderTicketDefinitions as reorderTicketDefinitions,\n      eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsOptions as ReorderTicketDefinitionsOptions,\n      eventsV3TicketDefinition_universal_d_queryTicketDefinitions as queryTicketDefinitions,\n      eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsOptions as QueryTicketDefinitionsOptions,\n      eventsV3TicketDefinition_universal_d_TicketDefinitionsQueryResult as TicketDefinitionsQueryResult,\n      eventsV3TicketDefinition_universal_d_TicketDefinitionsQueryBuilder as TicketDefinitionsQueryBuilder,\n      eventsV3TicketDefinition_universal_d_queryAvailableTicketDefinitions as queryAvailableTicketDefinitions,\n      eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsOptions as QueryAvailableTicketDefinitionsOptions,\n      eventsV3TicketDefinition_universal_d_countTicketDefinitions as countTicketDefinitions,\n      eventsV3TicketDefinition_universal_d_CountTicketDefinitionsOptions as CountTicketDefinitionsOptions,\n      eventsV3TicketDefinition_universal_d_countAvailableTicketDefinitions as countAvailableTicketDefinitions,\n      eventsV3TicketDefinition_universal_d_CountAvailableTicketDefinitionsOptions as CountAvailableTicketDefinitionsOptions,\n      eventsV3TicketDefinition_universal_d_bulkDeleteTicketDefinitionsByFilter as bulkDeleteTicketDefinitionsByFilter,\n      eventsV3TicketDefinition_universal_d_changeCurrency as changeCurrency,\n      eventsV3TicketDefinition_universal_d_ChangeCurrencyOptions as ChangeCurrencyOptions,\n    };\n  }\n  \n  export { eventsV1Category_universal_d as categories, eventsV1Form_universal_d as forms, eventsGuestsV1Guest_universal_d as guests, eventsNotificationsV2NotificationConfig_universal_d as notifications, eventsV1Order_universal_d as orders, eventsV2Policy_universal_d as policies, eventsV1RichContent_universal_d as ricos, eventsV1Rsvp_universal_d as rsvp, eventsV2Rsvp_universal_d as rsvpV2, eventsScheduleV1ScheduleItemSchedule_universal_d as schedule, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d as scheduleBookmarks, eventsStaffmembersV1StaffMember_universal_d as staffMembers, eventsV1TicketDefinition_universal_d as ticketDefinitions, eventsV3TicketDefinition_universal_d as ticketDefinitionsV2, eventsV1Ticket_universal_d as tickets, eventsV3Event_universal_d as wixEventsV2 };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-categories-backend.d.ts",
      "content": "declare module \"wix-categories-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Category {\n      /** Category ID. */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Category was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Category was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Category name. */\n      name?: string | null;\n      /**\n       * Category image.\n       * Pass existing media ID for image previously saved in Wix media manager.\n       * Pass full image URL to upload an image to Wix media manager.\n       * In case of full url the image will be updated eventually.\n       */\n      image?: string;\n      /**\n       * Number of items in this category alone.\n       * @readonly\n       */\n      numberOfItems?: number;\n      /**\n       * Number of items including all items in subcategories.\n       * @internal\n       * @readonly\n       */\n      totalNumberOfItems?: number;\n      /** Category description. */\n      description?: string | null;\n      /**\n       * Whether the category is visible to site visitors in dynamic pages (If not passed, the default is `false`).\n       * Even if visible is `false`, it can still be added manually to static page.\n       * If parent visibility is updated to `false`, all the children visibility will be updated eventually to `false`.\n       * It is not allowed to set visible as `true` if at least one of the parent categories has visible `false`.\n       */\n      visible?: boolean | null;\n      /**\n       * A category's breadcrumbs, Updated on moved to different parent or on renamed.\n       * This field will only be returned if request.fields contains `BREADCRUMBS`\n       * @readonly\n       */\n      breadcrumbs?: BreadcrumbItemValues;\n      /** The parent category. */\n      parentCategory?: ParentCategory;\n      /**\n       * A permanent, friendly URL name.\n       * If not provided, on create generated automatically.\n       * When provided, validated and must be unique.\n       */\n      slug?: string | null;\n      /**\n       * Custom SEO data for the category.\n       * @internal\n       */\n      seoData?: SeoSchema;\n      /**\n       * Category description which supports rich content. It is independent from `description` field and can be used instead of it or in addition to it.\n       * In order to use this field you have to integrate with \"Ricos\" on frontend side. To learn how to do it visit https://ricos.js.org/.\n       */\n      richContentDescription?: RichContent;\n      /**\n       * Data related to the tree that contains the category.\n       * @internal\n       * @readonly\n       */\n      treeReference?: TreeReference;\n      /** Extensions enabling users to save custom data related to the category. */\n      extendedFields?: ExtendedFields;\n  }\n  /** Wrapper for optional BreadcrumbItem values */\n  interface BreadcrumbItemValues {\n      /**\n       * The wrapped BreadcrumbItem values\n       * @readonly\n       */\n      values?: BreadcrumbItem[];\n  }\n  interface BreadcrumbItem {\n      /** Represents the id of the category. */\n      categoryId?: string;\n      /** Represents the name of the category. Translatable */\n      categoryName?: string;\n      /** Represents the slug. A permanent, friendly URL name of the category. */\n      categorySlug?: string;\n  }\n  interface ParentCategory {\n      /**\n       * Represents the id of the parent category.\n       * If not passed, the default is the root category.\n       */\n      _id?: string | null;\n      /**\n       * Represents the index of current category within the parent category.\n       * @readonly\n       */\n      index?: number | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface PollSettings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: PollSettings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /** Deprecated: Use `image` instead. */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /** Deprecated: Use `rowHeader` and `columnHeader` instead. */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface TreeReference {\n      /** The unique namespace of the app. */\n      appNamespace?: string;\n      /** Optional - The key of the tree. Must be provided when single app manages more than one tree. */\n      treeKey?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data as key:object pairs. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were created.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateCategoryRequest {\n      /** Category to be created. */\n      category: Category;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /** Fields to return in the response. When not provided, these fields are not returned. */\n      fields?: RequestedFields[];\n  }\n  enum RequestedFields {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      BREADCRUMBS = \"BREADCRUMBS\"\n  }\n  interface CreateCategoryResponse {\n      /** The created Category. */\n      category?: Category;\n  }\n  interface GetCategoryRequest {\n      /** Id of the Category to retrieve. */\n      categoryId: string;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /** Fields to return in the response. When not provided, these fields are not returned. */\n      fields?: RequestedFields[];\n  }\n  interface GetCategoryResponse {\n      /** The retrieved Category. */\n      category?: Category;\n  }\n  interface UpdateCategoryRequest {\n      /** Category to be updated, may be partial. */\n      category: Category;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Fields to return in the response. When not provided, these fields are not returned. */\n      fields?: RequestedFields[];\n  }\n  interface UpdateCategoryResponse {\n      /** The updated Category. */\n      category?: Category;\n  }\n  interface DeleteCategoryRequest {\n      /** Id of the Category to delete. */\n      categoryId: string;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n  }\n  interface DeleteCategoryResponse {\n  }\n  interface QueryCategoriesRequest {\n      /** WQL query expression. */\n      query: CursorQuery;\n      /**\n       * A reference to the tree that contains this category.\n       * Used only in the first request. Following requests use the cursor token.\n       */\n      treeReference: TreeReference;\n      /**\n       * Whether hidden categories should be included in the response. Default is `false`.\n       * Used only in the first request. Following requests use the cursor token.\n       */\n      includeHidden?: boolean;\n      /** Fields to return in the response. When not provided, these fields are not returned. */\n      fields?: RequestedFields[];\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCategoriesResponse {\n      /** Categories which satisfy the provided query. */\n      categories?: Category[];\n      /** Paging metadata. Contains cursor which can be used in next query. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface PlaceCategoryInParentCategoryRequest {\n      /** ID of category to place. */\n      categoryId: string;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /**\n       * ID of parent category.\n       * Optional. When not passed it will fallback to the root category\n       */\n      parentCategoryId?: string | null;\n      /**\n       * Where to place the subcategory.\n       * `FIRST` - make category with `category_id` first subcategory with manual arrangement.\n       * `LAST` - make category with `category_id` last subcategory with manual arrangement.\n       * `BEFORE` - requires `move_before_category_id`, category with `category_id` will be moved before it.\n       */\n      position: PlaceCategoryInParentCategoryRequestPosition;\n      /** Required when `position` is `BEFORE`. Otherwise ignored */\n      moveBeforeCategoryId?: string | null;\n  }\n  enum PlaceCategoryInParentCategoryRequestPosition {\n      UNKNOWN_POSITION = \"UNKNOWN_POSITION\",\n      FIRST = \"FIRST\",\n      LAST = \"LAST\",\n      BEFORE = \"BEFORE\"\n  }\n  interface PlaceCategoryInParentCategoryResponse {\n      /** ID of parent category. */\n      parentCategoryId?: string | null;\n      /** Information about manually arranged categories after move. */\n      arrangedCategoriesAfterMove?: string[];\n  }\n  interface BulkCreateCategoriesRequest {\n      /** List of categories to be created. */\n      categories: Category[];\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n      /** Whether to return the category entity in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateCategoriesResponse {\n      /** Categories created by bulk action. */\n      results?: BulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCategoriesResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata;\n      /** Created or updated category. Optional - returned only if requested with `return_entity` set to `true`. */\n      category?: Category;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateCategoriesRequest {\n      /** List of categories to be updated. */\n      categories: MaskedCategory[];\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n      /** Whether to return the category entity in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedCategory {\n      /** Category to be updated, may be partial. */\n      category?: Category;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateCategoriesResponse {\n      /** Categories updated by bulk action. */\n      results?: BulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface UpdateCategoryVisibilityRequest {\n      /** ID of category to be updated */\n      categoryId: string;\n      /** value to set `visible` to */\n      visible: boolean;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /** Latest revision of the category. */\n      revision: string | null;\n  }\n  interface UpdateCategoryVisibilityResponse {\n      /** The updated Category. */\n      category?: Category;\n  }\n  interface BulkSetVisibilityRequest {\n      /** IDs of categories to be updated. */\n      categoryIds: string[];\n      /** value to set `visible` to. This value will be set for all categories in the request */\n      visible: boolean;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /** Whether to return the category entity in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkSetVisibilityResponse {\n      /** Categories updated by bulk action. */\n      results?: BulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkSetVisibilityByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n      /** value to set `visible` to. This value will be set for all categories that match the filter */\n      visible: boolean;\n  }\n  interface BulkSetVisibilityByFilterResponse {\n      /** Token that can be used to query \"AsyncJobService\" */\n      jobId?: string;\n  }\n  interface BulkDeleteCategoriesRequest {\n      /** IDs of categories to be deleted. */\n      categoryIds: string[];\n  }\n  interface BulkDeleteCategoriesResponse {\n      /** Categories deleted by bulk action. */\n      results?: BulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteCategoriesByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n  }\n  interface BulkDeleteCategoriesByFilterResponse {\n      /** Token that can be used to query \"AsyncJobService\" */\n      jobId?: string;\n  }\n  interface AddItemsToCategoryRequest {\n      /** Category id. */\n      categoryId: string;\n      /** List of catalog items with reference info. */\n      items: ItemReference[];\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n  }\n  interface ItemReference {\n      /** ID of the item within its Wix or 3rd-party catalog. For example, `productId` for Wix Stores or `eventId` for Wix Events. */\n      catalogItemId?: string;\n      /** ID of the catalog app. For example, the Wix Stores `appId`, or the 3rd-party `appId`. */\n      appId?: string;\n  }\n  interface AddItemsToCategoryResponse {\n      /** Items added by bulk action. */\n      results?: BulkItemsToCategoryResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkItemsToCategoryResult {\n      /** Information about items that were added successfully and errors for failed items. */\n      itemMetadata?: ItemReferenceMetadata;\n  }\n  interface ItemReferenceMetadata {\n      /** Item reference from request. */\n      itemReference?: ItemReference;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ItemAddedToCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** Catalog item reference info. */\n      itemReference?: ItemReference;\n  }\n  interface ItemsAddedToCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** List of catalog items with reference info. */\n      items?: ItemReference[];\n  }\n  interface AddItemToCategoriesRequest {\n      /** Catalog item reference info */\n      itemReference: ItemReference;\n      /** Category ids. */\n      categoryIds: string[];\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n  }\n  interface AddItemToCategoriesResponse {\n      /** Items added by bulk action. */\n      results?: BulkItemToCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkItemToCategoriesResult {\n      /** Information about categories to which item was added successfully and errors for failed items. `id` is ID of category. */\n      itemMetadata?: ItemMetadata;\n  }\n  interface RemoveItemsFromCategoryRequest {\n      /** Category id */\n      categoryId: string;\n      /** List of catalog items with reference info. */\n      items: ItemReference[];\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n  }\n  interface RemoveItemsFromCategoryResponse {\n      /** Items removed by bulk action. */\n      results?: BulkItemsToCategoryResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemRemovedFromCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** Catalog item reference info. */\n      itemReference?: ItemReference;\n  }\n  interface ItemsRemovedFromCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** List of catalog items with reference info. */\n      items?: ItemReference[];\n  }\n  interface RemoveItemFromCategoriesRequest {\n      /** Catalog item reference info */\n      itemReference: ItemReference;\n      /** Category ids. */\n      categoryIds: string[];\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n  }\n  interface RemoveItemFromCategoriesResponse {\n      /** Items removed by bulk action. */\n      results?: BulkItemToCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ListItemsInCategoryRequest {\n      /** ID of category containing items. */\n      categoryId: string;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /** Default: `false`. When `true` items arranged by user will be return before all other items. */\n      useCategoryArrangement?: boolean;\n      /** Default: `false`. When `false` only direct items of category will be returned. When `true` response contains also items from all subcategories which current category contains */\n      includeItemsFromSubcategories?: boolean;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `use_category_arrangement` or `include_items_from_subcategories`. */\n      paging?: CursorPaging;\n  }\n  interface ListItemsInCategoryResponse {\n      /** Items which satisfy query. */\n      items?: ItemReference[];\n      /** Paging metadata. Contains cursor which can be used in next query */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface ListCategoriesForItemRequest {\n      /** Catalog item reference info. */\n      itemReference: ItemReference;\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n  }\n  interface ListCategoriesForItemResponse {\n      /** A list of category IDs that contain this item directly. */\n      directCategoryIds?: string[];\n      /** A list of category IDs that contain this item directly and their parent category IDs. */\n      allCategoryIds?: string[];\n  }\n  interface MoveItemInCategoryRequest {\n      /**\n       * ID of category.\n       * Item must be direct child of this category, otherwise error returned\n       */\n      categoryId: string;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /** Item to move. */\n      item: ItemReference;\n      /**\n       * Where to move item.\n       * `FIRST` - make `item` first item with manual arrangement. If before this operation category already has 100 manually arranged items, the 100th item will be removed from list of items with manual arrangement.\n       * `LAST` - make `item` last item with manual arrangement. If before this operation category already has 100 manually arranged items, moving item will be not last but 100th.\n       * `BEFORE` - requires `before_item`, `item` will be moved before it. If `before_item` was 100th item in category it will be removed from list of items with manual arrangement.\n       * `NONE` - don't use manual arrangement for `item`, it will be shown after all items with manual arrangement according to default sorting.\n       */\n      position: Position;\n      /** Required when `position` is `BEFORE`. `before_item` must be manually arranged item. */\n      beforeItem?: ItemReference;\n  }\n  enum Position {\n      UNKNOWN_POSITION = \"UNKNOWN_POSITION\",\n      FIRST = \"FIRST\",\n      LAST = \"LAST\",\n      BEFORE = \"BEFORE\",\n      NONE = \"NONE\"\n  }\n  interface MoveItemInCategoryResponse {\n      /** Information about manually arranged items after move. */\n      arrangedItemsAfterMove?: ItemReference[];\n  }\n  interface SetArrangedItemsRequest {\n      /** ID of category. */\n      categoryId: string;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /**\n       * List of arranged items to set.\n       * All items must be direct children of category with `category_id`, otherwise error returned.\n       */\n      items?: ItemReference[];\n  }\n  interface SetArrangedItemsResponse {\n      /** The updated list of arranged items in category. */\n      items?: ItemReference[];\n  }\n  interface GetArrangedItemsRequest {\n      /** ID of category. */\n      categoryId: string;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n  }\n  interface GetArrangedItemsResponse {\n      /** List of arranged items in category. */\n      items?: ItemReference[];\n  }\n  interface GetCategoriesTreeRequest {\n      /** The ID of the tree. */\n      treeId?: string;\n  }\n  interface GetCategoriesTreeResponse {\n      /** Categories tree. */\n      categoriesTree?: CategoryTreeNode[];\n  }\n  /** Represents a node in the view of categories tree */\n  interface CategoryTreeNode {\n      /** Category ID. */\n      _id?: Uint8Array;\n      /** A list of child categories. */\n      subcategories?: CategoryTreeNode[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent {\n      currentEntityAsJson?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Creates a new Category.\n   * @param category - Category to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField category\n   * @requiredField category.name\n   * @requiredField category.parentCategory._id\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @returns The created Category.\n   */\n  function createCategory(category: Category, options: CreateCategoryOptions): Promise<Category>;\n  interface CreateCategoryOptions {\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /** Fields to return in the response. When not provided, these fields are not returned. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Retrieves a category with the provided ID.\n   * @param categoryId - Id of the Category to retrieve.\n   * @param treeReference - A reference to the tree that contains this category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   * @returns The retrieved Category.\n   */\n  function getCategory(categoryId: string, treeReference: TreeReference, options?: GetCategoryOptions): Promise<Category>;\n  interface GetCategoryOptions {\n      /** Fields to return in the response. When not provided, these fields are not returned. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Update a Category, supports partial update.\n   * Pass the latest `revision` for a successful update.\n   * Each time the category is updated, `revision` increments by 1.\n   * @param _id - Category ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField category\n   * @requiredField category.revision\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @returns The updated Category.\n   */\n  function updateCategory(_id: string | null, category: UpdateCategory, options: UpdateCategoryOptions): Promise<Category>;\n  interface UpdateCategory {\n      /** Category ID. */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Category was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Category was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Category name. */\n      name?: string | null;\n      /**\n       * Category image.\n       * Pass existing media ID for image previously saved in Wix media manager.\n       * Pass full image URL to upload an image to Wix media manager.\n       * In case of full url the image will be updated eventually.\n       */\n      image?: string;\n      /**\n       * Number of items in this category alone.\n       * @readonly\n       */\n      numberOfItems?: number;\n      /**\n       * Number of items including all items in subcategories.\n       * @internal\n       * @readonly\n       */\n      totalNumberOfItems?: number;\n      /** Category description. */\n      description?: string | null;\n      /**\n       * Whether the category is visible to site visitors in dynamic pages (If not passed, the default is `false`).\n       * Even if visible is `false`, it can still be added manually to static page.\n       * If parent visibility is updated to `false`, all the children visibility will be updated eventually to `false`.\n       * It is not allowed to set visible as `true` if at least one of the parent categories has visible `false`.\n       */\n      visible?: boolean | null;\n      /**\n       * A category's breadcrumbs, Updated on moved to different parent or on renamed.\n       * This field will only be returned if request.fields contains `BREADCRUMBS`\n       * @readonly\n       */\n      breadcrumbs?: BreadcrumbItemValues;\n      /** The parent category. */\n      parentCategory?: ParentCategory;\n      /**\n       * A permanent, friendly URL name.\n       * If not provided, on create generated automatically.\n       * When provided, validated and must be unique.\n       */\n      slug?: string | null;\n      /**\n       * Custom SEO data for the category.\n       * @internal\n       */\n      seoData?: SeoSchema;\n      /**\n       * Category description which supports rich content. It is independent from `description` field and can be used instead of it or in addition to it.\n       * In order to use this field you have to integrate with \"Ricos\" on frontend side. To learn how to do it visit https://ricos.js.org/.\n       */\n      richContentDescription?: RichContent;\n      /**\n       * Data related to the tree that contains the category.\n       * @internal\n       * @readonly\n       */\n      treeReference?: TreeReference;\n      /** Extensions enabling users to save custom data related to the category. */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdateCategoryOptions {\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Fields to return in the response. When not provided, these fields are not returned. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Deletes a Category.\n   * @param categoryId - Id of the Category to delete.\n   * @param treeReference - A reference to the tree that contains this category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   */\n  function deleteCategory(categoryId: string, treeReference: TreeReference): Promise<void>;\n  /**\n   * Query Categories using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryCategories(options: QueryCategoriesOptions): CategoriesQueryBuilder;\n  interface QueryCategoriesOptions {\n      /**\n       * A reference to the tree that contains this category.\n       * Used only in the first request. Following requests use the cursor token.\n       */\n      treeReference: TreeReference;\n      /**\n       * Whether hidden categories should be included in the response. Default is `false`.\n       * Used only in the first request. Following requests use the cursor token.\n       */\n      includeHidden?: boolean | undefined;\n      /** Fields to return in the response. When not provided, these fields are not returned. */\n      fields?: RequestedFields[] | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CategoriesQueryResult extends QueryCursorResult {\n      items: Category[];\n      query: CategoriesQueryBuilder;\n      next: () => Promise<CategoriesQueryResult>;\n      prev: () => Promise<CategoriesQueryResult>;\n  }\n  interface CategoriesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'slug', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'slug', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'description' | 'slug', value: string) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'slug', value: any[]) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'slug', value: any) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'slug', value: boolean) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'name' | 'slug'>) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'name' | 'slug'>) => CategoriesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CategoriesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CategoriesQueryResult>;\n  }\n  /**\n   * Places category in parent category.\n   * This operation updates `parentCategory` (`id` and `index`) for category with `categoryId` in tree with `treeId`.\n   * This endpoint can be used to move category to different parent in the same tree or to change it's position in current parent.\n   * @param categoryId - ID of category to place.\n   * @param treeReference - A reference to the tree that contains this category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField options\n   * @requiredField options.position\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   */\n  function placeCategoryInParentCategory(categoryId: string, treeReference: TreeReference, options: PlaceCategoryInParentCategoryOptions): Promise<PlaceCategoryInParentCategoryResponse>;\n  interface PlaceCategoryInParentCategoryOptions {\n      /**\n       * ID of parent category.\n       * Optional. When not passed it will fallback to the root category\n       */\n      parentCategoryId?: string | null;\n      /**\n       * Where to place the subcategory.\n       * `FIRST` - make category with `category_id` first subcategory with manual arrangement.\n       * `LAST` - make category with `category_id` last subcategory with manual arrangement.\n       * `BEFORE` - requires `move_before_category_id`, category with `category_id` will be moved before it.\n       */\n      position: PlaceCategoryInParentCategoryRequestPosition;\n      /** Required when `position` is `BEFORE`. Otherwise ignored */\n      moveBeforeCategoryId?: string | null;\n  }\n  /**\n   * Creates multiple categories.\n   * Phase 2\n   * @param categories - List of categories to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categories\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   */\n  function bulkCreateCategories(categories: Category[], options: BulkCreateCategoriesOptions): Promise<BulkCreateCategoriesResponse>;\n  interface BulkCreateCategoriesOptions {\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n      /** Whether to return the category entity in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Update multiple Categories, supports partial update.\n   * Pass the latest `revision` for a successful update.\n   * To update visibility, call the BulkUpdateCategoryVisibility endpoint.\n   * @param categories - List of categories to be updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categories\n   * @requiredField categories.category\n   * @requiredField categories.category._id\n   * @requiredField categories.category.revision\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   */\n  function bulkUpdateCategories(categories: MaskedCategory[], options: BulkUpdateCategoriesOptions): Promise<BulkUpdateCategoriesResponse>;\n  interface BulkUpdateCategoriesOptions {\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n      /** Whether to return the category entity in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Update `visible` field. If visible is set to false, all subcategories will be set to `visible=false`\n   * @param categoryId - ID of category to be updated\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField options\n   * @requiredField options.revision\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @requiredField options.visible\n   */\n  function updateCategoryVisibility(categoryId: string, options: UpdateCategoryVisibilityOptions): Promise<UpdateCategoryVisibilityResponse>;\n  interface UpdateCategoryVisibilityOptions {\n      /** value to set `visible` to */\n      visible: boolean;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /** Latest revision of the category. */\n      revision: string | null;\n  }\n  /**\n   * Update `visible` field for multiple categories. If visible is set to false, all subcategories will be set to `visible=false`\n   * Phase 2\n   * @param categoryIds - IDs of categories to be updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryIds\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @requiredField options.visible\n   */\n  function bulkSetVisibility(categoryIds: string[], options: BulkSetVisibilityOptions): Promise<BulkSetVisibilityResponse>;\n  interface BulkSetVisibilityOptions {\n      /** value to set `visible` to. This value will be set for all categories in the request */\n      visible: boolean;\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n      /** Whether to return the category entity in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Update `visible` field for categories which satisfy the provided filter. If visible is set to false, all subcategories will be set to `visible=false` as well\n   * Phase 2\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"fieldName1\": \"value1\",\n   * \"fieldName2\":{\"$operator\":\"value2\"}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @requiredField options.visible\n   */\n  function bulkSetVisibilityByFilter(filter: Record<string, any> | null, options: BulkSetVisibilityByFilterOptions): Promise<BulkSetVisibilityByFilterResponse>;\n  interface BulkSetVisibilityByFilterOptions {\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n      /** value to set `visible` to. This value will be set for all categories that match the filter */\n      visible: boolean;\n  }\n  /**\n   * Deletes multiple categories.\n   * Phase 2\n   * @param categoryIds - IDs of categories to be deleted.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryIds\n   */\n  function bulkDeleteCategories(categoryIds: string[]): Promise<BulkDeleteCategoriesResponse>;\n  /**\n   * Delete multiple categories which satisfy the provided filter.\n   * Phase 2\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"fieldName1\": \"value1\",\n   * \"fieldName2\":{\"$operator\":\"value2\"}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   */\n  function bulkDeleteCategoriesByFilter(filter: Record<string, any> | null, options: BulkDeleteCategoriesByFilterOptions): Promise<BulkDeleteCategoriesByFilterResponse>;\n  interface BulkDeleteCategoriesByFilterOptions {\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Adds multiple items to single category, fires as many domain events as many items successfully added.\n   * @param categoryId - Category id.\n   * @param items - List of catalog items with reference info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField items\n   * @requiredField items.appId\n   * @requiredField items.catalogItemId\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   */\n  function addItemsToCategory(categoryId: string, items: ItemReference[], options: AddItemsToCategoryOptions): Promise<AddItemsToCategoryResponse>;\n  interface AddItemsToCategoryOptions {\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Adds single item to multiple categories, fires as many domain events as many categories were successfully added.\n   * @param itemReference - Catalog item reference info\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemReference\n   * @requiredField itemReference.appId\n   * @requiredField itemReference.catalogItemId\n   * @requiredField options\n   * @requiredField options.categoryIds\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   */\n  function addItemToCategories(itemReference: ItemReference, options: AddItemToCategoriesOptions): Promise<AddItemToCategoriesResponse>;\n  interface AddItemToCategoriesOptions {\n      /** Category ids. */\n      categoryIds: string[];\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Removed multiple items from single category, fires as many domain events as many items successfully removed.\n   * @param categoryId - Category id\n   * @param items - List of catalog items with reference info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField items\n   * @requiredField items.appId\n   * @requiredField items.catalogItemId\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   */\n  function removeItemsFromCategory(categoryId: string, items: ItemReference[], options: RemoveItemsFromCategoryOptions): Promise<RemoveItemsFromCategoryResponse>;\n  interface RemoveItemsFromCategoryOptions {\n      /** A reference to the tree that contains this category. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Removes single item from multiple categories, fires as many domain events as many categories were successfully removed.\n   * @param itemReference - Catalog item reference info\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemReference\n   * @requiredField itemReference.appId\n   * @requiredField itemReference.catalogItemId\n   * @requiredField options\n   * @requiredField options.categoryIds\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   */\n  function removeItemFromCategories(itemReference: ItemReference, options: RemoveItemFromCategoriesOptions): Promise<RemoveItemFromCategoriesResponse>;\n  interface RemoveItemFromCategoriesOptions {\n      /** Category ids. */\n      categoryIds: string[];\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Returns up to 100 items related to requested `category_id` sorted by time when item added to category, descending.\n   * When items added to category in bulk they considered as added at exactly same time so order will be random but always the same.\n   * @param categoryId - ID of category containing items.\n   * @param treeReference - A reference to the tree that contains this category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   */\n  function listItemsInCategory(categoryId: string, treeReference: TreeReference, options?: ListItemsInCategoryOptions): Promise<ListItemsInCategoryResponse>;\n  interface ListItemsInCategoryOptions {\n      /** Default: `false`. When `true` items arranged by user will be return before all other items. */\n      useCategoryArrangement?: boolean;\n      /** Default: `false`. When `false` only direct items of category will be returned. When `true` response contains also items from all subcategories which current category contains */\n      includeItemsFromSubcategories?: boolean;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `use_category_arrangement` or `include_items_from_subcategories`. */\n      paging?: CursorPaging;\n  }\n  /**\n   * Returns all category IDs that contain the item and their parent category IDs.\n   * @param itemReference - Catalog item reference info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemReference\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   */\n  function listCategoriesForItem(itemReference: ItemReference, options: ListCategoriesForItemOptions): Promise<ListCategoriesForItemResponse>;\n  interface ListCategoriesForItemOptions {\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Changes position of `item` in category. Will be used when sort items by manual arrangement\n   * @param categoryId - ID of category.\n   * Item must be direct child of this category, otherwise error returned\n   * @param treeReference - A reference to the tree that contains this category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField options\n   * @requiredField options.item\n   * @requiredField options.position\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   */\n  function moveItemInCategory(categoryId: string, treeReference: TreeReference, options: MoveItemInCategoryOptions): Promise<MoveItemInCategoryResponse>;\n  interface MoveItemInCategoryOptions {\n      /** Item to move. */\n      item: ItemReference;\n      /**\n       * Where to move item.\n       * `FIRST` - make `item` first item with manual arrangement. If before this operation category already has 100 manually arranged items, the 100th item will be removed from list of items with manual arrangement.\n       * `LAST` - make `item` last item with manual arrangement. If before this operation category already has 100 manually arranged items, moving item will be not last but 100th.\n       * `BEFORE` - requires `before_item`, `item` will be moved before it. If `before_item` was 100th item in category it will be removed from list of items with manual arrangement.\n       * `NONE` - don't use manual arrangement for `item`, it will be shown after all items with manual arrangement according to default sorting.\n       */\n      position: Position;\n      /** Required when `position` is `BEFORE`. `before_item` must be manually arranged item. */\n      beforeItem?: ItemReference;\n  }\n  /**\n   * Set arranged items in category. Will be used when sort items by manual arrangement.\n   * Calling this endpoint overrides existing list of arranged items in category.\n   * @param categoryId - ID of category.\n   * @param treeReference - A reference to the tree that contains this category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   */\n  function setArrangedItems(categoryId: string, treeReference: TreeReference, options?: SetArrangedItemsOptions): Promise<SetArrangedItemsResponse>;\n  interface SetArrangedItemsOptions {\n      /**\n       * List of arranged items to set.\n       * All items must be direct children of category with `category_id`, otherwise error returned.\n       */\n      items?: ItemReference[];\n  }\n  /**\n   * Returns arranged items in category\n   * @param categoryId - ID of category.\n   * @param treeReference - A reference to the tree that contains this category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   */\n  function getArrangedItems(categoryId: string, treeReference: TreeReference): Promise<GetArrangedItemsResponse>;\n  /**\n   * Retrieves the whole categories tree\n   * @internal\n   * @documentationMaturity preview\n   */\n  function getCategoriesTree(options?: GetCategoriesTreeOptions): Promise<GetCategoriesTreeResponse>;\n  interface GetCategoriesTreeOptions {\n      /** The ID of the tree. */\n      treeId?: string;\n  }\n  \n  const categoriesV1Category_universal_d___debug: typeof __debug;\n  type categoriesV1Category_universal_d_Category = Category;\n  type categoriesV1Category_universal_d_BreadcrumbItemValues = BreadcrumbItemValues;\n  type categoriesV1Category_universal_d_BreadcrumbItem = BreadcrumbItem;\n  type categoriesV1Category_universal_d_ParentCategory = ParentCategory;\n  type categoriesV1Category_universal_d_SeoSchema = SeoSchema;\n  type categoriesV1Category_universal_d_Keyword = Keyword;\n  type categoriesV1Category_universal_d_Tag = Tag;\n  type categoriesV1Category_universal_d_Settings = Settings;\n  type categoriesV1Category_universal_d_RichContent = RichContent;\n  type categoriesV1Category_universal_d_Node = Node;\n  type categoriesV1Category_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type categoriesV1Category_universal_d_NodeType = NodeType;\n  const categoriesV1Category_universal_d_NodeType: typeof NodeType;\n  type categoriesV1Category_universal_d_NodeStyle = NodeStyle;\n  type categoriesV1Category_universal_d_ButtonData = ButtonData;\n  type categoriesV1Category_universal_d_Border = Border;\n  type categoriesV1Category_universal_d_Colors = Colors;\n  type categoriesV1Category_universal_d_PluginContainerData = PluginContainerData;\n  type categoriesV1Category_universal_d_WidthType = WidthType;\n  const categoriesV1Category_universal_d_WidthType: typeof WidthType;\n  type categoriesV1Category_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type categoriesV1Category_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type categoriesV1Category_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const categoriesV1Category_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type categoriesV1Category_universal_d_Spoiler = Spoiler;\n  type categoriesV1Category_universal_d_Height = Height;\n  type categoriesV1Category_universal_d_Type = Type;\n  const categoriesV1Category_universal_d_Type: typeof Type;\n  type categoriesV1Category_universal_d_Styles = Styles;\n  type categoriesV1Category_universal_d_Link = Link;\n  type categoriesV1Category_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type categoriesV1Category_universal_d_Target = Target;\n  const categoriesV1Category_universal_d_Target: typeof Target;\n  type categoriesV1Category_universal_d_Rel = Rel;\n  type categoriesV1Category_universal_d_CodeBlockData = CodeBlockData;\n  type categoriesV1Category_universal_d_TextStyle = TextStyle;\n  type categoriesV1Category_universal_d_TextAlignment = TextAlignment;\n  const categoriesV1Category_universal_d_TextAlignment: typeof TextAlignment;\n  type categoriesV1Category_universal_d_DividerData = DividerData;\n  type categoriesV1Category_universal_d_LineStyle = LineStyle;\n  const categoriesV1Category_universal_d_LineStyle: typeof LineStyle;\n  type categoriesV1Category_universal_d_Width = Width;\n  const categoriesV1Category_universal_d_Width: typeof Width;\n  type categoriesV1Category_universal_d_Alignment = Alignment;\n  const categoriesV1Category_universal_d_Alignment: typeof Alignment;\n  type categoriesV1Category_universal_d_FileData = FileData;\n  type categoriesV1Category_universal_d_ViewMode = ViewMode;\n  const categoriesV1Category_universal_d_ViewMode: typeof ViewMode;\n  type categoriesV1Category_universal_d_FileSource = FileSource;\n  type categoriesV1Category_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type categoriesV1Category_universal_d_PDFSettings = PDFSettings;\n  type categoriesV1Category_universal_d_GalleryData = GalleryData;\n  type categoriesV1Category_universal_d_Media = Media;\n  type categoriesV1Category_universal_d_Image = Image;\n  type categoriesV1Category_universal_d_Video = Video;\n  type categoriesV1Category_universal_d_Item = Item;\n  type categoriesV1Category_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type categoriesV1Category_universal_d_GalleryOptions = GalleryOptions;\n  type categoriesV1Category_universal_d_LayoutType = LayoutType;\n  const categoriesV1Category_universal_d_LayoutType: typeof LayoutType;\n  type categoriesV1Category_universal_d_Orientation = Orientation;\n  const categoriesV1Category_universal_d_Orientation: typeof Orientation;\n  type categoriesV1Category_universal_d_Crop = Crop;\n  const categoriesV1Category_universal_d_Crop: typeof Crop;\n  type categoriesV1Category_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const categoriesV1Category_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type categoriesV1Category_universal_d_Layout = Layout;\n  type categoriesV1Category_universal_d_ItemStyle = ItemStyle;\n  type categoriesV1Category_universal_d_Thumbnails = Thumbnails;\n  type categoriesV1Category_universal_d_GIFData = GIFData;\n  type categoriesV1Category_universal_d_GIF = GIF;\n  type categoriesV1Category_universal_d_HeadingData = HeadingData;\n  type categoriesV1Category_universal_d_HTMLData = HTMLData;\n  type categoriesV1Category_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type categoriesV1Category_universal_d_Source = Source;\n  const categoriesV1Category_universal_d_Source: typeof Source;\n  type categoriesV1Category_universal_d_ImageData = ImageData;\n  type categoriesV1Category_universal_d_LinkPreviewData = LinkPreviewData;\n  type categoriesV1Category_universal_d_MapData = MapData;\n  type categoriesV1Category_universal_d_MapSettings = MapSettings;\n  type categoriesV1Category_universal_d_MapType = MapType;\n  const categoriesV1Category_universal_d_MapType: typeof MapType;\n  type categoriesV1Category_universal_d_ParagraphData = ParagraphData;\n  type categoriesV1Category_universal_d_PollData = PollData;\n  type categoriesV1Category_universal_d_ViewRole = ViewRole;\n  const categoriesV1Category_universal_d_ViewRole: typeof ViewRole;\n  type categoriesV1Category_universal_d_VoteRole = VoteRole;\n  const categoriesV1Category_universal_d_VoteRole: typeof VoteRole;\n  type categoriesV1Category_universal_d_Permissions = Permissions;\n  type categoriesV1Category_universal_d_Option = Option;\n  type categoriesV1Category_universal_d_PollSettings = PollSettings;\n  type categoriesV1Category_universal_d_PollLayoutType = PollLayoutType;\n  const categoriesV1Category_universal_d_PollLayoutType: typeof PollLayoutType;\n  type categoriesV1Category_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const categoriesV1Category_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type categoriesV1Category_universal_d_PollLayout = PollLayout;\n  type categoriesV1Category_universal_d_OptionLayout = OptionLayout;\n  type categoriesV1Category_universal_d_BackgroundType = BackgroundType;\n  const categoriesV1Category_universal_d_BackgroundType: typeof BackgroundType;\n  type categoriesV1Category_universal_d_Gradient = Gradient;\n  type categoriesV1Category_universal_d_Background = Background;\n  type categoriesV1Category_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type categoriesV1Category_universal_d_PollDesign = PollDesign;\n  type categoriesV1Category_universal_d_OptionDesign = OptionDesign;\n  type categoriesV1Category_universal_d_Poll = Poll;\n  type categoriesV1Category_universal_d_PollDataLayout = PollDataLayout;\n  type categoriesV1Category_universal_d_Design = Design;\n  type categoriesV1Category_universal_d_TextData = TextData;\n  type categoriesV1Category_universal_d_Decoration = Decoration;\n  type categoriesV1Category_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type categoriesV1Category_universal_d_DecorationType = DecorationType;\n  const categoriesV1Category_universal_d_DecorationType: typeof DecorationType;\n  type categoriesV1Category_universal_d_AnchorData = AnchorData;\n  type categoriesV1Category_universal_d_ColorData = ColorData;\n  type categoriesV1Category_universal_d_LinkData = LinkData;\n  type categoriesV1Category_universal_d_MentionData = MentionData;\n  type categoriesV1Category_universal_d_FontSizeData = FontSizeData;\n  type categoriesV1Category_universal_d_FontType = FontType;\n  const categoriesV1Category_universal_d_FontType: typeof FontType;\n  type categoriesV1Category_universal_d_AppEmbedData = AppEmbedData;\n  type categoriesV1Category_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type categoriesV1Category_universal_d_AppType = AppType;\n  const categoriesV1Category_universal_d_AppType: typeof AppType;\n  type categoriesV1Category_universal_d_BookingData = BookingData;\n  type categoriesV1Category_universal_d_EventData = EventData;\n  type categoriesV1Category_universal_d_VideoData = VideoData;\n  type categoriesV1Category_universal_d_PlaybackOptions = PlaybackOptions;\n  type categoriesV1Category_universal_d_EmbedData = EmbedData;\n  type categoriesV1Category_universal_d_Oembed = Oembed;\n  type categoriesV1Category_universal_d_CollapsibleListData = CollapsibleListData;\n  type categoriesV1Category_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const categoriesV1Category_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type categoriesV1Category_universal_d_Direction = Direction;\n  const categoriesV1Category_universal_d_Direction: typeof Direction;\n  type categoriesV1Category_universal_d_TableData = TableData;\n  type categoriesV1Category_universal_d_Dimensions = Dimensions;\n  type categoriesV1Category_universal_d_TableCellData = TableCellData;\n  type categoriesV1Category_universal_d_VerticalAlignment = VerticalAlignment;\n  const categoriesV1Category_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type categoriesV1Category_universal_d_CellStyle = CellStyle;\n  type categoriesV1Category_universal_d_BorderColors = BorderColors;\n  type categoriesV1Category_universal_d_NullValue = NullValue;\n  const categoriesV1Category_universal_d_NullValue: typeof NullValue;\n  type categoriesV1Category_universal_d_ListValue = ListValue;\n  type categoriesV1Category_universal_d_AudioData = AudioData;\n  type categoriesV1Category_universal_d_OrderedListData = OrderedListData;\n  type categoriesV1Category_universal_d_BulletedListData = BulletedListData;\n  type categoriesV1Category_universal_d_BlockquoteData = BlockquoteData;\n  type categoriesV1Category_universal_d_Metadata = Metadata;\n  type categoriesV1Category_universal_d_DocumentStyle = DocumentStyle;\n  type categoriesV1Category_universal_d_TextNodeStyle = TextNodeStyle;\n  type categoriesV1Category_universal_d_TreeReference = TreeReference;\n  type categoriesV1Category_universal_d_ExtendedFields = ExtendedFields;\n  type categoriesV1Category_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type categoriesV1Category_universal_d_RequestedFields = RequestedFields;\n  const categoriesV1Category_universal_d_RequestedFields: typeof RequestedFields;\n  type categoriesV1Category_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n  type categoriesV1Category_universal_d_GetCategoryRequest = GetCategoryRequest;\n  type categoriesV1Category_universal_d_GetCategoryResponse = GetCategoryResponse;\n  type categoriesV1Category_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type categoriesV1Category_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n  type categoriesV1Category_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type categoriesV1Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  type categoriesV1Category_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n  type categoriesV1Category_universal_d_CursorQuery = CursorQuery;\n  type categoriesV1Category_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type categoriesV1Category_universal_d_Sorting = Sorting;\n  type categoriesV1Category_universal_d_SortOrder = SortOrder;\n  const categoriesV1Category_universal_d_SortOrder: typeof SortOrder;\n  type categoriesV1Category_universal_d_CursorPaging = CursorPaging;\n  type categoriesV1Category_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n  type categoriesV1Category_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type categoriesV1Category_universal_d_Cursors = Cursors;\n  type categoriesV1Category_universal_d_PlaceCategoryInParentCategoryRequest = PlaceCategoryInParentCategoryRequest;\n  type categoriesV1Category_universal_d_PlaceCategoryInParentCategoryRequestPosition = PlaceCategoryInParentCategoryRequestPosition;\n  const categoriesV1Category_universal_d_PlaceCategoryInParentCategoryRequestPosition: typeof PlaceCategoryInParentCategoryRequestPosition;\n  type categoriesV1Category_universal_d_PlaceCategoryInParentCategoryResponse = PlaceCategoryInParentCategoryResponse;\n  type categoriesV1Category_universal_d_BulkCreateCategoriesRequest = BulkCreateCategoriesRequest;\n  type categoriesV1Category_universal_d_BulkCreateCategoriesResponse = BulkCreateCategoriesResponse;\n  type categoriesV1Category_universal_d_BulkCategoriesResult = BulkCategoriesResult;\n  type categoriesV1Category_universal_d_ItemMetadata = ItemMetadata;\n  type categoriesV1Category_universal_d_ApplicationError = ApplicationError;\n  type categoriesV1Category_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type categoriesV1Category_universal_d_BulkUpdateCategoriesRequest = BulkUpdateCategoriesRequest;\n  type categoriesV1Category_universal_d_MaskedCategory = MaskedCategory;\n  type categoriesV1Category_universal_d_BulkUpdateCategoriesResponse = BulkUpdateCategoriesResponse;\n  type categoriesV1Category_universal_d_UpdateCategoryVisibilityRequest = UpdateCategoryVisibilityRequest;\n  type categoriesV1Category_universal_d_UpdateCategoryVisibilityResponse = UpdateCategoryVisibilityResponse;\n  type categoriesV1Category_universal_d_BulkSetVisibilityRequest = BulkSetVisibilityRequest;\n  type categoriesV1Category_universal_d_BulkSetVisibilityResponse = BulkSetVisibilityResponse;\n  type categoriesV1Category_universal_d_BulkSetVisibilityByFilterRequest = BulkSetVisibilityByFilterRequest;\n  type categoriesV1Category_universal_d_BulkSetVisibilityByFilterResponse = BulkSetVisibilityByFilterResponse;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesRequest = BulkDeleteCategoriesRequest;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesResponse = BulkDeleteCategoriesResponse;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterRequest = BulkDeleteCategoriesByFilterRequest;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterResponse = BulkDeleteCategoriesByFilterResponse;\n  type categoriesV1Category_universal_d_AddItemsToCategoryRequest = AddItemsToCategoryRequest;\n  type categoriesV1Category_universal_d_ItemReference = ItemReference;\n  type categoriesV1Category_universal_d_AddItemsToCategoryResponse = AddItemsToCategoryResponse;\n  type categoriesV1Category_universal_d_BulkItemsToCategoryResult = BulkItemsToCategoryResult;\n  type categoriesV1Category_universal_d_ItemReferenceMetadata = ItemReferenceMetadata;\n  type categoriesV1Category_universal_d_ItemAddedToCategory = ItemAddedToCategory;\n  type categoriesV1Category_universal_d_ItemsAddedToCategory = ItemsAddedToCategory;\n  type categoriesV1Category_universal_d_AddItemToCategoriesRequest = AddItemToCategoriesRequest;\n  type categoriesV1Category_universal_d_AddItemToCategoriesResponse = AddItemToCategoriesResponse;\n  type categoriesV1Category_universal_d_BulkItemToCategoriesResult = BulkItemToCategoriesResult;\n  type categoriesV1Category_universal_d_RemoveItemsFromCategoryRequest = RemoveItemsFromCategoryRequest;\n  type categoriesV1Category_universal_d_RemoveItemsFromCategoryResponse = RemoveItemsFromCategoryResponse;\n  type categoriesV1Category_universal_d_ItemRemovedFromCategory = ItemRemovedFromCategory;\n  type categoriesV1Category_universal_d_ItemsRemovedFromCategory = ItemsRemovedFromCategory;\n  type categoriesV1Category_universal_d_RemoveItemFromCategoriesRequest = RemoveItemFromCategoriesRequest;\n  type categoriesV1Category_universal_d_RemoveItemFromCategoriesResponse = RemoveItemFromCategoriesResponse;\n  type categoriesV1Category_universal_d_ListItemsInCategoryRequest = ListItemsInCategoryRequest;\n  type categoriesV1Category_universal_d_ListItemsInCategoryResponse = ListItemsInCategoryResponse;\n  type categoriesV1Category_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type categoriesV1Category_universal_d_ListCategoriesForItemRequest = ListCategoriesForItemRequest;\n  type categoriesV1Category_universal_d_ListCategoriesForItemResponse = ListCategoriesForItemResponse;\n  type categoriesV1Category_universal_d_MoveItemInCategoryRequest = MoveItemInCategoryRequest;\n  type categoriesV1Category_universal_d_Position = Position;\n  const categoriesV1Category_universal_d_Position: typeof Position;\n  type categoriesV1Category_universal_d_MoveItemInCategoryResponse = MoveItemInCategoryResponse;\n  type categoriesV1Category_universal_d_SetArrangedItemsRequest = SetArrangedItemsRequest;\n  type categoriesV1Category_universal_d_SetArrangedItemsResponse = SetArrangedItemsResponse;\n  type categoriesV1Category_universal_d_GetArrangedItemsRequest = GetArrangedItemsRequest;\n  type categoriesV1Category_universal_d_GetArrangedItemsResponse = GetArrangedItemsResponse;\n  type categoriesV1Category_universal_d_GetCategoriesTreeRequest = GetCategoriesTreeRequest;\n  type categoriesV1Category_universal_d_GetCategoriesTreeResponse = GetCategoriesTreeResponse;\n  type categoriesV1Category_universal_d_CategoryTreeNode = CategoryTreeNode;\n  type categoriesV1Category_universal_d_DomainEvent = DomainEvent;\n  type categoriesV1Category_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type categoriesV1Category_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type categoriesV1Category_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type categoriesV1Category_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type categoriesV1Category_universal_d_ActionEvent = ActionEvent;\n  type categoriesV1Category_universal_d_ExtendedFieldsUpdatedEvent = ExtendedFieldsUpdatedEvent;\n  type categoriesV1Category_universal_d_Empty = Empty;\n  const categoriesV1Category_universal_d_createCategory: typeof createCategory;\n  type categoriesV1Category_universal_d_CreateCategoryOptions = CreateCategoryOptions;\n  const categoriesV1Category_universal_d_getCategory: typeof getCategory;\n  type categoriesV1Category_universal_d_GetCategoryOptions = GetCategoryOptions;\n  const categoriesV1Category_universal_d_updateCategory: typeof updateCategory;\n  type categoriesV1Category_universal_d_UpdateCategory = UpdateCategory;\n  type categoriesV1Category_universal_d_UpdateCategoryOptions = UpdateCategoryOptions;\n  const categoriesV1Category_universal_d_deleteCategory: typeof deleteCategory;\n  const categoriesV1Category_universal_d_queryCategories: typeof queryCategories;\n  type categoriesV1Category_universal_d_QueryCategoriesOptions = QueryCategoriesOptions;\n  type categoriesV1Category_universal_d_CategoriesQueryResult = CategoriesQueryResult;\n  type categoriesV1Category_universal_d_CategoriesQueryBuilder = CategoriesQueryBuilder;\n  const categoriesV1Category_universal_d_placeCategoryInParentCategory: typeof placeCategoryInParentCategory;\n  type categoriesV1Category_universal_d_PlaceCategoryInParentCategoryOptions = PlaceCategoryInParentCategoryOptions;\n  const categoriesV1Category_universal_d_bulkCreateCategories: typeof bulkCreateCategories;\n  type categoriesV1Category_universal_d_BulkCreateCategoriesOptions = BulkCreateCategoriesOptions;\n  const categoriesV1Category_universal_d_bulkUpdateCategories: typeof bulkUpdateCategories;\n  type categoriesV1Category_universal_d_BulkUpdateCategoriesOptions = BulkUpdateCategoriesOptions;\n  const categoriesV1Category_universal_d_updateCategoryVisibility: typeof updateCategoryVisibility;\n  type categoriesV1Category_universal_d_UpdateCategoryVisibilityOptions = UpdateCategoryVisibilityOptions;\n  const categoriesV1Category_universal_d_bulkSetVisibility: typeof bulkSetVisibility;\n  type categoriesV1Category_universal_d_BulkSetVisibilityOptions = BulkSetVisibilityOptions;\n  const categoriesV1Category_universal_d_bulkSetVisibilityByFilter: typeof bulkSetVisibilityByFilter;\n  type categoriesV1Category_universal_d_BulkSetVisibilityByFilterOptions = BulkSetVisibilityByFilterOptions;\n  const categoriesV1Category_universal_d_bulkDeleteCategories: typeof bulkDeleteCategories;\n  const categoriesV1Category_universal_d_bulkDeleteCategoriesByFilter: typeof bulkDeleteCategoriesByFilter;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterOptions = BulkDeleteCategoriesByFilterOptions;\n  const categoriesV1Category_universal_d_addItemsToCategory: typeof addItemsToCategory;\n  type categoriesV1Category_universal_d_AddItemsToCategoryOptions = AddItemsToCategoryOptions;\n  const categoriesV1Category_universal_d_addItemToCategories: typeof addItemToCategories;\n  type categoriesV1Category_universal_d_AddItemToCategoriesOptions = AddItemToCategoriesOptions;\n  const categoriesV1Category_universal_d_removeItemsFromCategory: typeof removeItemsFromCategory;\n  type categoriesV1Category_universal_d_RemoveItemsFromCategoryOptions = RemoveItemsFromCategoryOptions;\n  const categoriesV1Category_universal_d_removeItemFromCategories: typeof removeItemFromCategories;\n  type categoriesV1Category_universal_d_RemoveItemFromCategoriesOptions = RemoveItemFromCategoriesOptions;\n  const categoriesV1Category_universal_d_listItemsInCategory: typeof listItemsInCategory;\n  type categoriesV1Category_universal_d_ListItemsInCategoryOptions = ListItemsInCategoryOptions;\n  const categoriesV1Category_universal_d_listCategoriesForItem: typeof listCategoriesForItem;\n  type categoriesV1Category_universal_d_ListCategoriesForItemOptions = ListCategoriesForItemOptions;\n  const categoriesV1Category_universal_d_moveItemInCategory: typeof moveItemInCategory;\n  type categoriesV1Category_universal_d_MoveItemInCategoryOptions = MoveItemInCategoryOptions;\n  const categoriesV1Category_universal_d_setArrangedItems: typeof setArrangedItems;\n  type categoriesV1Category_universal_d_SetArrangedItemsOptions = SetArrangedItemsOptions;\n  const categoriesV1Category_universal_d_getArrangedItems: typeof getArrangedItems;\n  const categoriesV1Category_universal_d_getCategoriesTree: typeof getCategoriesTree;\n  type categoriesV1Category_universal_d_GetCategoriesTreeOptions = GetCategoriesTreeOptions;\n  namespace categoriesV1Category_universal_d {\n    export {\n      categoriesV1Category_universal_d___debug as __debug,\n      categoriesV1Category_universal_d_Category as Category,\n      categoriesV1Category_universal_d_BreadcrumbItemValues as BreadcrumbItemValues,\n      categoriesV1Category_universal_d_BreadcrumbItem as BreadcrumbItem,\n      categoriesV1Category_universal_d_ParentCategory as ParentCategory,\n      categoriesV1Category_universal_d_SeoSchema as SeoSchema,\n      categoriesV1Category_universal_d_Keyword as Keyword,\n      categoriesV1Category_universal_d_Tag as Tag,\n      categoriesV1Category_universal_d_Settings as Settings,\n      categoriesV1Category_universal_d_RichContent as RichContent,\n      categoriesV1Category_universal_d_Node as Node,\n      categoriesV1Category_universal_d_NodeDataOneOf as NodeDataOneOf,\n      categoriesV1Category_universal_d_NodeType as NodeType,\n      categoriesV1Category_universal_d_NodeStyle as NodeStyle,\n      categoriesV1Category_universal_d_ButtonData as ButtonData,\n      categoriesV1Category_universal_d_Border as Border,\n      categoriesV1Category_universal_d_Colors as Colors,\n      categoriesV1Category_universal_d_PluginContainerData as PluginContainerData,\n      categoriesV1Category_universal_d_WidthType as WidthType,\n      categoriesV1Category_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      categoriesV1Category_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      categoriesV1Category_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      categoriesV1Category_universal_d_Spoiler as Spoiler,\n      categoriesV1Category_universal_d_Height as Height,\n      categoriesV1Category_universal_d_Type as Type,\n      categoriesV1Category_universal_d_Styles as Styles,\n      categoriesV1Category_universal_d_Link as Link,\n      categoriesV1Category_universal_d_LinkDataOneOf as LinkDataOneOf,\n      categoriesV1Category_universal_d_Target as Target,\n      categoriesV1Category_universal_d_Rel as Rel,\n      categoriesV1Category_universal_d_CodeBlockData as CodeBlockData,\n      categoriesV1Category_universal_d_TextStyle as TextStyle,\n      categoriesV1Category_universal_d_TextAlignment as TextAlignment,\n      categoriesV1Category_universal_d_DividerData as DividerData,\n      categoriesV1Category_universal_d_LineStyle as LineStyle,\n      categoriesV1Category_universal_d_Width as Width,\n      categoriesV1Category_universal_d_Alignment as Alignment,\n      categoriesV1Category_universal_d_FileData as FileData,\n      categoriesV1Category_universal_d_ViewMode as ViewMode,\n      categoriesV1Category_universal_d_FileSource as FileSource,\n      categoriesV1Category_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      categoriesV1Category_universal_d_PDFSettings as PDFSettings,\n      categoriesV1Category_universal_d_GalleryData as GalleryData,\n      categoriesV1Category_universal_d_Media as Media,\n      categoriesV1Category_universal_d_Image as Image,\n      categoriesV1Category_universal_d_Video as Video,\n      categoriesV1Category_universal_d_Item as Item,\n      categoriesV1Category_universal_d_ItemDataOneOf as ItemDataOneOf,\n      categoriesV1Category_universal_d_GalleryOptions as GalleryOptions,\n      categoriesV1Category_universal_d_LayoutType as LayoutType,\n      categoriesV1Category_universal_d_Orientation as Orientation,\n      categoriesV1Category_universal_d_Crop as Crop,\n      categoriesV1Category_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      categoriesV1Category_universal_d_Layout as Layout,\n      categoriesV1Category_universal_d_ItemStyle as ItemStyle,\n      categoriesV1Category_universal_d_Thumbnails as Thumbnails,\n      categoriesV1Category_universal_d_GIFData as GIFData,\n      categoriesV1Category_universal_d_GIF as GIF,\n      categoriesV1Category_universal_d_HeadingData as HeadingData,\n      categoriesV1Category_universal_d_HTMLData as HTMLData,\n      categoriesV1Category_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      categoriesV1Category_universal_d_Source as Source,\n      categoriesV1Category_universal_d_ImageData as ImageData,\n      categoriesV1Category_universal_d_LinkPreviewData as LinkPreviewData,\n      categoriesV1Category_universal_d_MapData as MapData,\n      categoriesV1Category_universal_d_MapSettings as MapSettings,\n      categoriesV1Category_universal_d_MapType as MapType,\n      categoriesV1Category_universal_d_ParagraphData as ParagraphData,\n      categoriesV1Category_universal_d_PollData as PollData,\n      categoriesV1Category_universal_d_ViewRole as ViewRole,\n      categoriesV1Category_universal_d_VoteRole as VoteRole,\n      categoriesV1Category_universal_d_Permissions as Permissions,\n      categoriesV1Category_universal_d_Option as Option,\n      categoriesV1Category_universal_d_PollSettings as PollSettings,\n      categoriesV1Category_universal_d_PollLayoutType as PollLayoutType,\n      categoriesV1Category_universal_d_PollLayoutDirection as PollLayoutDirection,\n      categoriesV1Category_universal_d_PollLayout as PollLayout,\n      categoriesV1Category_universal_d_OptionLayout as OptionLayout,\n      categoriesV1Category_universal_d_BackgroundType as BackgroundType,\n      categoriesV1Category_universal_d_Gradient as Gradient,\n      categoriesV1Category_universal_d_Background as Background,\n      categoriesV1Category_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      categoriesV1Category_universal_d_PollDesign as PollDesign,\n      categoriesV1Category_universal_d_OptionDesign as OptionDesign,\n      categoriesV1Category_universal_d_Poll as Poll,\n      categoriesV1Category_universal_d_PollDataLayout as PollDataLayout,\n      categoriesV1Category_universal_d_Design as Design,\n      categoriesV1Category_universal_d_TextData as TextData,\n      categoriesV1Category_universal_d_Decoration as Decoration,\n      categoriesV1Category_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      categoriesV1Category_universal_d_DecorationType as DecorationType,\n      categoriesV1Category_universal_d_AnchorData as AnchorData,\n      categoriesV1Category_universal_d_ColorData as ColorData,\n      categoriesV1Category_universal_d_LinkData as LinkData,\n      categoriesV1Category_universal_d_MentionData as MentionData,\n      categoriesV1Category_universal_d_FontSizeData as FontSizeData,\n      categoriesV1Category_universal_d_FontType as FontType,\n      categoriesV1Category_universal_d_AppEmbedData as AppEmbedData,\n      categoriesV1Category_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      categoriesV1Category_universal_d_AppType as AppType,\n      categoriesV1Category_universal_d_BookingData as BookingData,\n      categoriesV1Category_universal_d_EventData as EventData,\n      categoriesV1Category_universal_d_VideoData as VideoData,\n      categoriesV1Category_universal_d_PlaybackOptions as PlaybackOptions,\n      categoriesV1Category_universal_d_EmbedData as EmbedData,\n      categoriesV1Category_universal_d_Oembed as Oembed,\n      categoriesV1Category_universal_d_CollapsibleListData as CollapsibleListData,\n      categoriesV1Category_universal_d_InitialExpandedItems as InitialExpandedItems,\n      categoriesV1Category_universal_d_Direction as Direction,\n      categoriesV1Category_universal_d_TableData as TableData,\n      categoriesV1Category_universal_d_Dimensions as Dimensions,\n      categoriesV1Category_universal_d_TableCellData as TableCellData,\n      categoriesV1Category_universal_d_VerticalAlignment as VerticalAlignment,\n      categoriesV1Category_universal_d_CellStyle as CellStyle,\n      categoriesV1Category_universal_d_BorderColors as BorderColors,\n      categoriesV1Category_universal_d_NullValue as NullValue,\n      categoriesV1Category_universal_d_ListValue as ListValue,\n      categoriesV1Category_universal_d_AudioData as AudioData,\n      categoriesV1Category_universal_d_OrderedListData as OrderedListData,\n      categoriesV1Category_universal_d_BulletedListData as BulletedListData,\n      categoriesV1Category_universal_d_BlockquoteData as BlockquoteData,\n      categoriesV1Category_universal_d_Metadata as Metadata,\n      categoriesV1Category_universal_d_DocumentStyle as DocumentStyle,\n      categoriesV1Category_universal_d_TextNodeStyle as TextNodeStyle,\n      categoriesV1Category_universal_d_TreeReference as TreeReference,\n      categoriesV1Category_universal_d_ExtendedFields as ExtendedFields,\n      categoriesV1Category_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      categoriesV1Category_universal_d_RequestedFields as RequestedFields,\n      categoriesV1Category_universal_d_CreateCategoryResponse as CreateCategoryResponse,\n      categoriesV1Category_universal_d_GetCategoryRequest as GetCategoryRequest,\n      categoriesV1Category_universal_d_GetCategoryResponse as GetCategoryResponse,\n      categoriesV1Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      categoriesV1Category_universal_d_UpdateCategoryResponse as UpdateCategoryResponse,\n      categoriesV1Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      categoriesV1Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      categoriesV1Category_universal_d_QueryCategoriesRequest as QueryCategoriesRequest,\n      categoriesV1Category_universal_d_CursorQuery as CursorQuery,\n      categoriesV1Category_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      categoriesV1Category_universal_d_Sorting as Sorting,\n      categoriesV1Category_universal_d_SortOrder as SortOrder,\n      categoriesV1Category_universal_d_CursorPaging as CursorPaging,\n      categoriesV1Category_universal_d_QueryCategoriesResponse as QueryCategoriesResponse,\n      categoriesV1Category_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      categoriesV1Category_universal_d_Cursors as Cursors,\n      categoriesV1Category_universal_d_PlaceCategoryInParentCategoryRequest as PlaceCategoryInParentCategoryRequest,\n      categoriesV1Category_universal_d_PlaceCategoryInParentCategoryRequestPosition as PlaceCategoryInParentCategoryRequestPosition,\n      categoriesV1Category_universal_d_PlaceCategoryInParentCategoryResponse as PlaceCategoryInParentCategoryResponse,\n      categoriesV1Category_universal_d_BulkCreateCategoriesRequest as BulkCreateCategoriesRequest,\n      categoriesV1Category_universal_d_BulkCreateCategoriesResponse as BulkCreateCategoriesResponse,\n      categoriesV1Category_universal_d_BulkCategoriesResult as BulkCategoriesResult,\n      categoriesV1Category_universal_d_ItemMetadata as ItemMetadata,\n      categoriesV1Category_universal_d_ApplicationError as ApplicationError,\n      categoriesV1Category_universal_d_BulkActionMetadata as BulkActionMetadata,\n      categoriesV1Category_universal_d_BulkUpdateCategoriesRequest as BulkUpdateCategoriesRequest,\n      categoriesV1Category_universal_d_MaskedCategory as MaskedCategory,\n      categoriesV1Category_universal_d_BulkUpdateCategoriesResponse as BulkUpdateCategoriesResponse,\n      categoriesV1Category_universal_d_UpdateCategoryVisibilityRequest as UpdateCategoryVisibilityRequest,\n      categoriesV1Category_universal_d_UpdateCategoryVisibilityResponse as UpdateCategoryVisibilityResponse,\n      categoriesV1Category_universal_d_BulkSetVisibilityRequest as BulkSetVisibilityRequest,\n      categoriesV1Category_universal_d_BulkSetVisibilityResponse as BulkSetVisibilityResponse,\n      categoriesV1Category_universal_d_BulkSetVisibilityByFilterRequest as BulkSetVisibilityByFilterRequest,\n      categoriesV1Category_universal_d_BulkSetVisibilityByFilterResponse as BulkSetVisibilityByFilterResponse,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesRequest as BulkDeleteCategoriesRequest,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesResponse as BulkDeleteCategoriesResponse,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterRequest as BulkDeleteCategoriesByFilterRequest,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterResponse as BulkDeleteCategoriesByFilterResponse,\n      categoriesV1Category_universal_d_AddItemsToCategoryRequest as AddItemsToCategoryRequest,\n      categoriesV1Category_universal_d_ItemReference as ItemReference,\n      categoriesV1Category_universal_d_AddItemsToCategoryResponse as AddItemsToCategoryResponse,\n      categoriesV1Category_universal_d_BulkItemsToCategoryResult as BulkItemsToCategoryResult,\n      categoriesV1Category_universal_d_ItemReferenceMetadata as ItemReferenceMetadata,\n      categoriesV1Category_universal_d_ItemAddedToCategory as ItemAddedToCategory,\n      categoriesV1Category_universal_d_ItemsAddedToCategory as ItemsAddedToCategory,\n      categoriesV1Category_universal_d_AddItemToCategoriesRequest as AddItemToCategoriesRequest,\n      categoriesV1Category_universal_d_AddItemToCategoriesResponse as AddItemToCategoriesResponse,\n      categoriesV1Category_universal_d_BulkItemToCategoriesResult as BulkItemToCategoriesResult,\n      categoriesV1Category_universal_d_RemoveItemsFromCategoryRequest as RemoveItemsFromCategoryRequest,\n      categoriesV1Category_universal_d_RemoveItemsFromCategoryResponse as RemoveItemsFromCategoryResponse,\n      categoriesV1Category_universal_d_ItemRemovedFromCategory as ItemRemovedFromCategory,\n      categoriesV1Category_universal_d_ItemsRemovedFromCategory as ItemsRemovedFromCategory,\n      categoriesV1Category_universal_d_RemoveItemFromCategoriesRequest as RemoveItemFromCategoriesRequest,\n      categoriesV1Category_universal_d_RemoveItemFromCategoriesResponse as RemoveItemFromCategoriesResponse,\n      categoriesV1Category_universal_d_ListItemsInCategoryRequest as ListItemsInCategoryRequest,\n      categoriesV1Category_universal_d_ListItemsInCategoryResponse as ListItemsInCategoryResponse,\n      categoriesV1Category_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      categoriesV1Category_universal_d_ListCategoriesForItemRequest as ListCategoriesForItemRequest,\n      categoriesV1Category_universal_d_ListCategoriesForItemResponse as ListCategoriesForItemResponse,\n      categoriesV1Category_universal_d_MoveItemInCategoryRequest as MoveItemInCategoryRequest,\n      categoriesV1Category_universal_d_Position as Position,\n      categoriesV1Category_universal_d_MoveItemInCategoryResponse as MoveItemInCategoryResponse,\n      categoriesV1Category_universal_d_SetArrangedItemsRequest as SetArrangedItemsRequest,\n      categoriesV1Category_universal_d_SetArrangedItemsResponse as SetArrangedItemsResponse,\n      categoriesV1Category_universal_d_GetArrangedItemsRequest as GetArrangedItemsRequest,\n      categoriesV1Category_universal_d_GetArrangedItemsResponse as GetArrangedItemsResponse,\n      categoriesV1Category_universal_d_GetCategoriesTreeRequest as GetCategoriesTreeRequest,\n      categoriesV1Category_universal_d_GetCategoriesTreeResponse as GetCategoriesTreeResponse,\n      categoriesV1Category_universal_d_CategoryTreeNode as CategoryTreeNode,\n      categoriesV1Category_universal_d_DomainEvent as DomainEvent,\n      categoriesV1Category_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      categoriesV1Category_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      categoriesV1Category_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      categoriesV1Category_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      categoriesV1Category_universal_d_ActionEvent as ActionEvent,\n      categoriesV1Category_universal_d_ExtendedFieldsUpdatedEvent as ExtendedFieldsUpdatedEvent,\n      categoriesV1Category_universal_d_Empty as Empty,\n      categoriesV1Category_universal_d_createCategory as createCategory,\n      categoriesV1Category_universal_d_CreateCategoryOptions as CreateCategoryOptions,\n      categoriesV1Category_universal_d_getCategory as getCategory,\n      categoriesV1Category_universal_d_GetCategoryOptions as GetCategoryOptions,\n      categoriesV1Category_universal_d_updateCategory as updateCategory,\n      categoriesV1Category_universal_d_UpdateCategory as UpdateCategory,\n      categoriesV1Category_universal_d_UpdateCategoryOptions as UpdateCategoryOptions,\n      categoriesV1Category_universal_d_deleteCategory as deleteCategory,\n      categoriesV1Category_universal_d_queryCategories as queryCategories,\n      categoriesV1Category_universal_d_QueryCategoriesOptions as QueryCategoriesOptions,\n      categoriesV1Category_universal_d_CategoriesQueryResult as CategoriesQueryResult,\n      categoriesV1Category_universal_d_CategoriesQueryBuilder as CategoriesQueryBuilder,\n      categoriesV1Category_universal_d_placeCategoryInParentCategory as placeCategoryInParentCategory,\n      categoriesV1Category_universal_d_PlaceCategoryInParentCategoryOptions as PlaceCategoryInParentCategoryOptions,\n      categoriesV1Category_universal_d_bulkCreateCategories as bulkCreateCategories,\n      categoriesV1Category_universal_d_BulkCreateCategoriesOptions as BulkCreateCategoriesOptions,\n      categoriesV1Category_universal_d_bulkUpdateCategories as bulkUpdateCategories,\n      categoriesV1Category_universal_d_BulkUpdateCategoriesOptions as BulkUpdateCategoriesOptions,\n      categoriesV1Category_universal_d_updateCategoryVisibility as updateCategoryVisibility,\n      categoriesV1Category_universal_d_UpdateCategoryVisibilityOptions as UpdateCategoryVisibilityOptions,\n      categoriesV1Category_universal_d_bulkSetVisibility as bulkSetVisibility,\n      categoriesV1Category_universal_d_BulkSetVisibilityOptions as BulkSetVisibilityOptions,\n      categoriesV1Category_universal_d_bulkSetVisibilityByFilter as bulkSetVisibilityByFilter,\n      categoriesV1Category_universal_d_BulkSetVisibilityByFilterOptions as BulkSetVisibilityByFilterOptions,\n      categoriesV1Category_universal_d_bulkDeleteCategories as bulkDeleteCategories,\n      categoriesV1Category_universal_d_bulkDeleteCategoriesByFilter as bulkDeleteCategoriesByFilter,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterOptions as BulkDeleteCategoriesByFilterOptions,\n      categoriesV1Category_universal_d_addItemsToCategory as addItemsToCategory,\n      categoriesV1Category_universal_d_AddItemsToCategoryOptions as AddItemsToCategoryOptions,\n      categoriesV1Category_universal_d_addItemToCategories as addItemToCategories,\n      categoriesV1Category_universal_d_AddItemToCategoriesOptions as AddItemToCategoriesOptions,\n      categoriesV1Category_universal_d_removeItemsFromCategory as removeItemsFromCategory,\n      categoriesV1Category_universal_d_RemoveItemsFromCategoryOptions as RemoveItemsFromCategoryOptions,\n      categoriesV1Category_universal_d_removeItemFromCategories as removeItemFromCategories,\n      categoriesV1Category_universal_d_RemoveItemFromCategoriesOptions as RemoveItemFromCategoriesOptions,\n      categoriesV1Category_universal_d_listItemsInCategory as listItemsInCategory,\n      categoriesV1Category_universal_d_ListItemsInCategoryOptions as ListItemsInCategoryOptions,\n      categoriesV1Category_universal_d_listCategoriesForItem as listCategoriesForItem,\n      categoriesV1Category_universal_d_ListCategoriesForItemOptions as ListCategoriesForItemOptions,\n      categoriesV1Category_universal_d_moveItemInCategory as moveItemInCategory,\n      categoriesV1Category_universal_d_MoveItemInCategoryOptions as MoveItemInCategoryOptions,\n      categoriesV1Category_universal_d_setArrangedItems as setArrangedItems,\n      categoriesV1Category_universal_d_SetArrangedItemsOptions as SetArrangedItemsOptions,\n      categoriesV1Category_universal_d_getArrangedItems as getArrangedItems,\n      categoriesV1Category_universal_d_getCategoriesTree as getCategoriesTree,\n      categoriesV1Category_universal_d_GetCategoriesTreeOptions as GetCategoriesTreeOptions,\n    };\n  }\n  \n  export { categoriesV1Category_universal_d as categories };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v3.d.ts",
      "content": "declare module \"wix-badges-backend.v3\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Badge {\n      /**\n       * Badge ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Text displayed on the badge in the Wix UI. */\n      title?: string | null;\n      /** Badge description. */\n      description?: string | null;\n      /**\n       * Badge background color in hexadecimal RGB format.\n       * Uppercase letters only.\n       * Example: `#FFFFFF`.\n       */\n      backgroundColor?: string | null;\n      /**\n       * Badge text color in hexadecimal RGB format.\n       * Uppercase letters only.\n       * Example: `#C81B53`.\n       */\n      textColor?: string | null;\n      /**\n       * URL of the badge icon image.\n       * _Recommended_ to use `SVG` image format as it is resolution independent and looks great at any scale.\n       */\n      icon?: string | null;\n      /**\n       * Whether the badge has special permissions\n       * to access specific members-only pages.\n       * When `true`, members with the badge receive special permissions,\n       * and site contributors can\n       * [manage badge permissions](https://support.wix.com/en/article/setting-permissions-for-a-member-badge)\n       * in the site dashboard.\n       * When `false`, members with the badge receive no special permissions.\n       */\n      permissionsEnabled?: boolean | null;\n      /**\n       * Slugified name. Used to represent the badge in a URL.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Date the badge was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date the badge was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  interface CreateBadgeRequest {\n      /** Badge to create. */\n      badge: Badge;\n  }\n  interface CreateBadgeResponse {\n      /** Created badge. */\n      badge?: Badge;\n  }\n  interface UpdateBadgeRequest {\n      /** Badge to update. */\n      badge: Badge;\n  }\n  interface UpdateBadgeResponse {\n      /** Updated badge. */\n      badge?: Badge;\n  }\n  interface ListBadgesRequest {\n      /**\n       * Pagination options. For more information, see\n       * [API Query Language: The Paging Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-paging-section).\n       */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListBadgesResponse {\n      /** List of badges. */\n      badges?: Badge[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryBadgesRequest {\n      /**\n       * Filter options.\n       * Currently supported fields for filtering:\n       * - id\n       * - title\n       * - slug\n       * For more details on how to use filter, see [API Query Language: The Filter Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sorting options.\n       * For more details on how to use sorting,\n       * see [API Query Language: The Sort Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-sort-section)\n       */\n      sort?: Sorting[];\n      /**\n       * Pagination options. For more information, see\n       * [API Query Language: The Paging Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-paging-section).\n       */\n      paging?: Paging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryBadgesResponse {\n      /** List of badges. */\n      badges?: Badge[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadata;\n  }\n  interface GetBadgeRequest {\n      /** Badge ID. */\n      _id: string;\n  }\n  interface GetBadgeResponse {\n      /** Badge. */\n      badge?: Badge;\n  }\n  interface DeleteBadgeRequest {\n      /** Badge ID. */\n      _id: string;\n  }\n  interface DeleteBadgeResponse {\n  }\n  interface CountBadgesRequest {\n      /**\n       * Filter options.\n       * Currently supported fields for filtering:\n       * - id\n       * - title\n       * - slug\n       * For more details on how to use filter, see [API Query Language: The Filter Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n  }\n  interface CountBadgesResponse {\n      /** Badge count. */\n      count?: string;\n  }\n  interface AssignBadgeRequest {\n      /** Badge ID. */\n      _id: string;\n      /** List of member IDs to assign to the badge. */\n      memberIds: string[];\n  }\n  interface AssignBadgeResponse {\n      /** List of member IDs assigned to the badge. */\n      memberIds?: string[];\n  }\n  interface BadgeAssigned {\n      /** ID of the member who received the badge. */\n      memberId?: string;\n  }\n  interface AssignBadgesRequest {\n      /** List of badge IDs to assign to the member. */\n      ids: string[];\n      /** Member ID. */\n      memberId: string;\n  }\n  interface AssignBadgesResponse {\n      /** List of badge IDs newly assigned to the member. */\n      ids?: string[];\n  }\n  interface UnassignBadgeRequest {\n      /** Badge ID. */\n      _id: string;\n      /** List of members to remove. */\n      memberIds: string[];\n  }\n  interface UnassignBadgeResponse {\n  }\n  interface BadgeUnassigned {\n      /** ID of the member who lost the badge. */\n      memberId?: string;\n  }\n  interface ListMembersRequest {\n      /** Badge ID. */\n      _id: string;\n      /**\n       * Pagination options. For more information, see\n       * [API Query Language: The Paging Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-paging-section).\n       */\n      paging?: Paging;\n  }\n  interface ListMembersResponse {\n      /** Member IDs assigned to the badge. */\n      memberIds?: string[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadata;\n  }\n  interface ListMembersBadgeIdsRequest {\n      /** List of members. */\n      memberIds: string[];\n  }\n  interface ListMembersBadgeIdsResponse {\n      /** List of members and the badges they're assigned to. */\n      memberBadgeIds?: MemberBadgeIds[];\n  }\n  interface MemberBadgeIds {\n      /** Member ID. */\n      memberId?: string;\n      /** List of badges the member is assigned to. */\n      badgeIds?: string[];\n  }\n  interface GetMemberCountsPerBadgeRequest {\n  }\n  interface GetMemberCountsPerBadgeResponse {\n      /** List of badges and counts of members who have each badge. */\n      badgeMemberCounts?: BadgeMemberCount[];\n  }\n  interface BadgeMemberCount {\n      /** Badge ID. */\n      badgeId?: string;\n      /** Badge member count. */\n      memberCount?: number;\n  }\n  interface UpdateBadgesDisplayOrderRequest {\n      /** Ordered badge IDs. */\n      badgeIds?: string[];\n  }\n  interface UpdateBadgesDisplayOrderResponse {\n      /** Reordered badges list. */\n      badges?: Badge[];\n  }\n  /**\n   * Creates a new badge.\n   * @param badge - Badge to create.\n   * @public\n   * @requiredField badge\n   * @requiredField badge.backgroundColor\n   * @requiredField badge.textColor\n   * @requiredField badge.title\n   */\n  function createBadge(badge: Badge): Promise<CreateBadgeResponse>;\n  /**\n   * Updates a badge's specified properties.\n   * @param _id - Badge ID.\n   * @public\n   * @requiredField _id\n   * @requiredField badge\n   */\n  function updateBadge(_id: string, badge: UpdateBadge): Promise<UpdateBadgeResponse>;\n  interface UpdateBadge {\n      /**\n       * Badge ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Text displayed on the badge in the Wix UI. */\n      title?: string | null;\n      /** Badge description. */\n      description?: string | null;\n      /**\n       * Badge background color in hexadecimal RGB format.\n       * Uppercase letters only.\n       * Example: `#FFFFFF`.\n       */\n      backgroundColor?: string | null;\n      /**\n       * Badge text color in hexadecimal RGB format.\n       * Uppercase letters only.\n       * Example: `#C81B53`.\n       */\n      textColor?: string | null;\n      /**\n       * URL of the badge icon image.\n       * _Recommended_ to use `SVG` image format as it is resolution independent and looks great at any scale.\n       */\n      icon?: string | null;\n      /**\n       * Whether the badge has special permissions\n       * to access specific members-only pages.\n       * When `true`, members with the badge receive special permissions,\n       * and site contributors can\n       * [manage badge permissions](https://support.wix.com/en/article/setting-permissions-for-a-member-badge)\n       * in the site dashboard.\n       * When `false`, members with the badge receive no special permissions.\n       */\n      permissionsEnabled?: boolean | null;\n      /**\n       * Slugified name. Used to represent the badge in a URL.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Date the badge was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date the badge was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  /**\n   * Retrieves up to 1000 badges, given the requested paging.\n   * Default `paging.limit` is 100, `paging.offset` - 0.\n   * For more information, see\n   * [API Query Language: The Paging Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-paging-section).\n   * @public */\n  function listBadges(options?: ListBadgesOptions): Promise<ListBadgesResponse>;\n  interface ListBadgesOptions {\n      /**\n       * Pagination options. For more information, see\n       * [API Query Language: The Paging Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-paging-section).\n       */\n      paging?: Paging;\n  }\n  /**\n   * Retrieves up to 1000 badges, given the requested query options, paging, and sorting.\n   * Default `paging.limit` is 100, `paging.offset` - 0.\n   * For more information, see\n   * [API Query Language: The Paging Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-paging-section).\n   * @public */\n  function queryBadges(options?: QueryBadgesOptions): Promise<QueryBadgesResponse>;\n  interface QueryBadgesOptions {\n      /**\n       * Filter options.\n       * Currently supported fields for filtering:\n       * - id\n       * - title\n       * - slug\n       * For more details on how to use filter, see [API Query Language: The Filter Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sorting options.\n       * For more details on how to use sorting,\n       * see [API Query Language: The Sort Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-sort-section)\n       */\n      sort?: Sorting[];\n      /**\n       * Pagination options. For more information, see\n       * [API Query Language: The Paging Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-paging-section).\n       */\n      paging?: Paging;\n  }\n  /**\n   * Retrieves a badge.\n   * @param _id - Badge ID.\n   * @public\n   * @requiredField _id\n   */\n  function getBadge(_id: string): Promise<GetBadgeResponse>;\n  /**\n   * Deletes a badge.\n   * @param _id - Badge ID.\n   * @public\n   * @requiredField _id\n   */\n  function deleteBadge(_id: string): Promise<void>;\n  /** Retrieves the site's badge count, given the requested filtering. */\n  function countBadges(options?: CountBadgesOptions): Promise<CountBadgesResponse>;\n  interface CountBadgesOptions {\n      /**\n       * Filter options.\n       * Currently supported fields for filtering:\n       * - id\n       * - title\n       * - slug\n       * For more details on how to use filter, see [API Query Language: The Filter Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Assigns a badge to the specified members.\n   * The members inherit the badge's permissions when they receive the badge, if applicable.\n   * Badge permissions are added to previous member permissions (they don't replace existing permissions).\n   * @param _id - Badge ID.\n   * @param memberIds - List of member IDs to assign to the badge.\n   * @public\n   * @requiredField _id\n   * @requiredField memberIds\n   */\n  function assignBadge(_id: string, memberIds: string[]): Promise<AssignBadgeResponse>;\n  /**\n   * Assigns multiple badges to the specified member.\n   * The member inherits the badges' permissions when they receive the badge, if applicable.\n   * Badge permissions are added to previous member permissions (they don't replace existing permissions).\n   * @param memberId - Member ID.\n   * @param ids - List of badge IDs to assign to the member.\n   * @requiredField ids\n   * @requiredField memberId\n   */\n  function assignBadges(memberId: string, ids: string[]): Promise<AssignBadgesResponse>;\n  /**\n   * Removes the requested members from a badge.\n   * Members removed from a badge lose the badge's permissions, if applicable.\n   * @param _id - Badge ID.\n   * @param memberIds - List of members to remove.\n   * @public\n   * @requiredField _id\n   * @requiredField memberIds\n   */\n  function unassignBadge(_id: string, memberIds: string[]): Promise<void>;\n  /**\n   * Retrieves up to 1000 site members\n   * who have a specified badge.\n   * Default `paging.limit` is 100, `paging.offset` - 0.\n   * For more details on how to use paging, see documentation\n   * [here](https://dev.wix.com/api/rest/getting-started/pagination).\n   * @param _id - Badge ID.\n   * @public\n   * @requiredField _id\n   */\n  function listMembers(_id: string, options?: ListMembersOptions): Promise<ListMembersResponse>;\n  interface ListMembersOptions {\n      /**\n       * Pagination options. For more information, see\n       * [API Query Language: The Paging Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-paging-section).\n       */\n      paging?: Paging;\n  }\n  /**\n   * Retrieves badges assigned to the requested members.\n   * @param memberIds - List of members.\n   * @public\n   * @requiredField memberIds\n   */\n  function listMembersBadgeIds(memberIds: string[]): Promise<ListMembersBadgeIdsResponse>;\n  /**\n   * Retrieves member count per badge.\n   * @public */\n  function getMemberCountsPerBadge(): Promise<GetMemberCountsPerBadgeResponse>;\n  /**\n   * Updates badges' display order.\n   * @public */\n  function updateBadgesDisplayOrder(options?: UpdateBadgesDisplayOrderOptions): Promise<UpdateBadgesDisplayOrderResponse>;\n  interface UpdateBadgesDisplayOrderOptions {\n      /** Ordered badge IDs. */\n      badgeIds?: string[];\n  }\n  \n  export { AssignBadgeRequest, AssignBadgeResponse, AssignBadgesRequest, AssignBadgesResponse, Badge, BadgeAssigned, BadgeMemberCount, BadgeUnassigned, CountBadgesOptions, CountBadgesRequest, CountBadgesResponse, CreateBadgeRequest, CreateBadgeResponse, DeleteBadgeRequest, DeleteBadgeResponse, GetBadgeRequest, GetBadgeResponse, GetMemberCountsPerBadgeRequest, GetMemberCountsPerBadgeResponse, ListBadgesOptions, ListBadgesRequest, ListBadgesResponse, ListMembersBadgeIdsRequest, ListMembersBadgeIdsResponse, ListMembersOptions, ListMembersRequest, ListMembersResponse, MemberBadgeIds, Paging, PagingMetadata, QueryBadgesOptions, QueryBadgesRequest, QueryBadgesResponse, SortOrder, Sorting, UnassignBadgeRequest, UnassignBadgeResponse, UpdateBadge, UpdateBadgeRequest, UpdateBadgeResponse, UpdateBadgesDisplayOrderOptions, UpdateBadgesDisplayOrderRequest, UpdateBadgesDisplayOrderResponse, __debug, assignBadge, assignBadges, countBadges, createBadge, deleteBadge, getBadge, getMemberCountsPerBadge, listBadges, listMembers, listMembersBadgeIds, queryBadges, unassignBadge, updateBadge, updateBadgesDisplayOrder };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v1.d.ts",
      "content": "declare module \"wix-badges-backend.v1\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Badge {\n      /** Badge id */\n      _id?: string;\n      /** Badge title */\n      title?: string;\n      /** Badge description */\n      description?: string;\n      /** Badge background color in 6-digit color hex (e.g. #FFFFFF) */\n      backgroundColor?: string;\n      /** Badge text color in 6-digit color hex (e.g. #FFFFFF) */\n      textColor?: string;\n      /** Badge icon SVG as 'https://...' */\n      icon?: string;\n      /** Id of role/group in groups service that badge assignee belongs to */\n      roleId?: string;\n      /** Indicates whether badge has permissions */\n      hasPermissions?: boolean;\n      /** Badge url keyword operator */\n      slug?: string;\n      /** Date when badge was created */\n      dateCreated?: Date;\n      /** Date when badge was last updated */\n      dateUpdated?: Date;\n  }\n  interface CreateRequest {\n      /** Badge title */\n      title: string;\n      /** Badge description */\n      description?: string;\n      /** Badge background color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      backgroundColor: string;\n      /** Badge text color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      textColor: string;\n      /** Badge icon SVG as 'https://...' */\n      icon?: string;\n      /** Indicates whether badge has permissions */\n      hasPermissions?: boolean;\n  }\n  interface CreateResponse {\n      /** Created badge */\n      badge?: Badge;\n  }\n  interface UpdateRequest {\n      /** Badge id */\n      _id: string;\n      /** Badge title */\n      title: string;\n      /** Badge description */\n      description?: string;\n      /** Badge background color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      backgroundColor: string;\n      /** Badge text color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      textColor: string;\n      /** Badge icon SVG as 'https://...' */\n      icon?: string;\n      /** Indicates whether badge has permissions */\n      hasPermissions?: boolean;\n  }\n  interface UpdateResponse {\n      /** Updated badge */\n      badge?: Badge;\n  }\n  interface ListRequest {\n      /** Limit the number of badges to return */\n      limit?: number | null;\n      /** Default offset is 0. */\n      offset?: number | null;\n  }\n  interface ListResponse {\n      /** List of badges in a site */\n      badges?: Badge[];\n  }\n  interface QueryRequest {\n      /** Filter criteria */\n      filter?: Record<string, any> | null;\n      /** Sorting criteria */\n      sorting?: Sorting[];\n      /** Result paging data */\n      paging?: Paging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Limit the number of badges to return */\n      limit?: number | null;\n      /** Default offset is 0. */\n      offset?: number | null;\n  }\n  interface QueryResponse {\n      /** List of sorted badges in a site that satisfy filter and paging */\n      badges?: Badge[];\n      /** Total count of badges in a site that satisfy given filter */\n      count?: string;\n  }\n  interface GetRequest {\n      /** Badge id */\n      _id: string;\n  }\n  interface GetResponse {\n      /** Badge */\n      badge?: Badge;\n  }\n  interface DeleteRequest {\n      /** Badge id */\n      _id: string;\n  }\n  interface DeleteResponse {\n  }\n  interface CountRequest {\n      /** Filter criteria used for counting */\n      filter?: Record<string, any> | null;\n  }\n  interface CountResponse {\n      /** Badges count */\n      count?: string;\n  }\n  interface AssignMembersRequest {\n      /** Badge id */\n      _id: string;\n      /** Ids of members this badge should be assigned to */\n      memberIds: string[];\n  }\n  interface AssignMembersResponse {\n      /** Ids of members given badge has been assigned to */\n      memberIds?: string[];\n  }\n  interface ListMembersRequest {\n      /** Badge id */\n      _id: string;\n  }\n  interface ListMembersResponse {\n      /** Member ids who have the given badge assigned */\n      memberIds?: string[];\n  }\n  interface ListMembersBadgeIdsRequest {\n      /** Ids of members whose badge ids should be listed */\n      memberIds: string[];\n  }\n  interface ListMembersBadgeIdsResponse {\n      /** List of members with Ids of badges assigned to them */\n      memberBadgeIds?: MemberBadgeIds[];\n  }\n  interface MemberBadgeIds {\n      /** Member id */\n      memberId?: string;\n      /** Badge ids assigned to a given member */\n      badgeId?: string[];\n  }\n  interface BulkRemoveMembersFromBadgeRequest {\n      /** Badge id */\n      _id: string;\n      /** Ids of members given badge will be removed from */\n      memberIds: string[];\n  }\n  interface BulkRemoveMembersFromBadgeResponse {\n  }\n  interface GetBadgesMembersCountRequest {\n  }\n  interface GetBadgesMembersCountResponse {\n      /** Ids of badges with a member count with this assigned badge */\n      badgeMemberCount?: BadgeMemberCount[];\n  }\n  interface BadgeMemberCount {\n      /** Badge id */\n      badgeId?: string;\n      /** Number of members with assigned badge */\n      memberCount?: number;\n  }\n  /**\n   * Create badge\n   * @param title - Badge title\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.backgroundColor\n   * @requiredField options.textColor\n   * @requiredField title\n   * @adminMethod\n   */\n  function create(title: string, options?: CreateOptions): Promise<CreateResponse>;\n  interface CreateOptions {\n      /** Badge description */\n      description?: string;\n      /** Badge background color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      backgroundColor: string;\n      /** Badge text color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      textColor: string;\n      /** Badge icon SVG as 'https://...' */\n      icon?: string;\n      /** Indicates whether badge has permissions */\n      hasPermissions?: boolean;\n  }\n  /**\n   * Update badge\n   * @param _id - Badge id\n   * @param title - Badge title\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.backgroundColor\n   * @requiredField options.textColor\n   * @requiredField title\n   * @adminMethod\n   */\n  function update(_id: string, title: string, options?: UpdateOptions): Promise<UpdateResponse>;\n  interface UpdateOptions {\n      /** Badge description */\n      description?: string;\n      /** Badge background color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      backgroundColor: string;\n      /** Badge text color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      textColor: string;\n      /** Badge icon SVG as 'https://...' */\n      icon?: string;\n      /** Indicates whether badge has permissions */\n      hasPermissions?: boolean;\n  }\n  /**\n   * List all badges in a site\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function list(options?: ListOptions): Promise<ListResponse>;\n  interface ListOptions {\n      /** Limit the number of badges to return */\n      limit?: number | null;\n      /** Default offset is 0. */\n      offset?: number | null;\n  }\n  /**\n   * Query badges in a site\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function query(options?: QueryOptions): Promise<QueryResponse>;\n  interface QueryOptions {\n      /** Filter criteria */\n      filter?: Record<string, any> | null;\n      /** Sorting criteria */\n      sorting?: Sorting[];\n      /** Result paging data */\n      paging?: Paging;\n  }\n  /**\n   * Get a badge\n   * @param _id - Badge id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function get(_id: string): Promise<GetResponse>;\n  /**\n   * Delete a badge\n   * @param _id - Badge id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function _delete(_id: string): Promise<void>;\n  /**\n   * Count badges in a site\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function count(options?: CountOptions): Promise<CountResponse>;\n  interface CountOptions {\n      /** Filter criteria used for counting */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Assign a badge to the given members\n   * @param _id - Badge id\n   * @param memberIds - Ids of members this badge should be assigned to\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField memberIds\n   * @adminMethod\n   */\n  function assignMembers(_id: string, memberIds: string[]): Promise<AssignMembersResponse>;\n  /**\n   * Return list of members that have the given badge\n   * @param _id - Badge id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function listMembers(_id: string): Promise<ListMembersResponse>;\n  /**\n   * Return list of badge ids assigned to a given members\n   * @param memberIds - Ids of members whose badge ids should be listed\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField memberIds\n   * @adminMethod\n   */\n  function listMembersBadgeIds(memberIds: string[]): Promise<ListMembersBadgeIdsResponse>;\n  /**\n   * Remove badge from given members\n   * @param _id - Badge id\n   * @param memberIds - Ids of members given badge will be removed from\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField memberIds\n   * @adminMethod\n   */\n  function bulkRemoveMembersFromBadge(_id: string, memberIds: string[]): Promise<void>;\n  /**\n   * Return badge ids with a count of members they are assigned to\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getBadgesMembersCount(): Promise<GetBadgesMembersCountResponse>;\n  \n  export { AssignMembersRequest, AssignMembersResponse, Badge, BadgeMemberCount, BulkRemoveMembersFromBadgeRequest, BulkRemoveMembersFromBadgeResponse, CountOptions, CountRequest, CountResponse, CreateOptions, CreateRequest, CreateResponse, DeleteRequest, DeleteResponse, GetBadgesMembersCountRequest, GetBadgesMembersCountResponse, GetRequest, GetResponse, ListMembersBadgeIdsRequest, ListMembersBadgeIdsResponse, ListMembersRequest, ListMembersResponse, ListOptions, ListRequest, ListResponse, MemberBadgeIds, Paging, QueryOptions, QueryRequest, QueryResponse, SortOrder, Sorting, UpdateOptions, UpdateRequest, UpdateResponse, __debug, _delete, assignMembers, bulkRemoveMembersFromBadge, count, create, get, getBadgesMembersCount, list, listMembers, listMembersBadgeIds, query, update };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v2.d.ts",
      "content": "declare module \"wix-badges-backend.v2\" {\n  interface Badge {\n      /** Badge id */\n      _id?: string;\n      /** Badge title */\n      title?: string;\n      /** Badge description */\n      description?: string;\n      /** Badge background color in 6-digit color hex in upper case (e.g. #FFFFFF) */\n      backgroundColor?: string;\n      /** Badge text color in 6-digit color hex in upper case (e.g. #FFFFFF) */\n      textColor?: string;\n      /** Badge icon SVG as 'https://...' */\n      icon?: string;\n      /** Id of role/group in groups service that badge assignee belongs to */\n      roleId?: string;\n      /**\n       * Indicates whether badge has permissions.\n       *\n       * Badges can have special permissions to access specific members-only pages.\n       *\n       * When the value is set to **true**, badge permissions can be managed in\n       * [permissions table](https://www.wix.com/my-account/site-selector/?buttonText=Manage%20Permissions&amp;title=Select%20a%20Site&amp;autoSelectOnSingleSite=true&amp;actionUrl=https://www.wix.com/dashboard/{{metaSiteId}}/member-permissions/roles/manage-permissions).\n       * Site members will receive relevant permissions once assigned such badge.\n       *\n       * When the value is set to **false**, badge has no associated permissions\n       * and is not visible in permissions table.\n       * Site member will not receive any permissions once assigned such badge.\n       */\n      hasPermissions?: boolean;\n      /** Badge url keyword operator */\n      slug?: string;\n      /** Date when badge was created */\n      createDate?: Date | null;\n      /** Date when badge was last updated */\n      updateDate?: Date | null;\n  }\n  interface CreateRequest {\n      /** Badge title */\n      title: string;\n      /** Badge description */\n      description?: string;\n      /** Badge background color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      backgroundColor: string;\n      /** Badge text color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      textColor: string;\n      /** Badge icon SVG as 'https://...' */\n      icon?: string;\n      /** Indicates whether badge has permissions */\n      hasPermissions?: boolean;\n  }\n  interface CreateResponse {\n      /** Created badge */\n      badge?: Badge;\n  }\n  interface UpdateRequest {\n      /** Badge id */\n      _id: string;\n      /** Badge title */\n      title?: string | null;\n      /** Badge description */\n      description?: string | null;\n      /** Badge background color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      backgroundColor?: string | null;\n      /** Badge text color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      textColor?: string | null;\n      /** Badge icon SVG as 'https://...' */\n      icon?: string | null;\n      /** Indicates whether badge has permissions */\n      hasPermissions?: boolean | null;\n  }\n  interface UpdateResponse {\n      /** Updated badge */\n      badge?: Badge;\n  }\n  interface ListRequest {\n      /** Limit the number of badges to return */\n      limit?: number | null;\n      /** Default offset is 0. */\n      offset?: number | null;\n  }\n  interface ListResponse {\n      /** List of badges in a site */\n      badges?: Badge[];\n  }\n  interface QueryRequest {\n      /** Filter criteria */\n      filter?: Record<string, any> | null;\n      /** Sorting criteria */\n      sort?: Sorting[];\n      /** Result paging data */\n      paging?: Paging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Limit the number of badges to return */\n      limit?: number | null;\n      /** Default offset is 0. */\n      offset?: number | null;\n  }\n  interface QueryResponse {\n      /** List of sorted badges in a site that satisfy filter and paging */\n      badges?: Badge[];\n      /** Total count of badges in a site that satisfy given filter */\n      count?: string;\n  }\n  interface GetRequest {\n      /** Badge id */\n      _id: string;\n  }\n  interface GetResponse {\n      /** Badge */\n      badge?: Badge;\n  }\n  interface DeleteRequest {\n      /** Badge id */\n      _id: string;\n  }\n  interface DeleteResponse {\n  }\n  interface CountRequest {\n      /** Filter criteria used for counting */\n      filter?: Record<string, any> | null;\n  }\n  interface CountResponse {\n      /** Badges count */\n      count?: string;\n  }\n  interface AssignBadgeRequest {\n      /** Badge id */\n      _id: string;\n      /** Ids of members this badge should be assigned to */\n      memberIds: string[];\n  }\n  interface AssignBadgeResponse {\n      /** Ids of members given badge has been assigned to */\n      memberIds?: string[];\n  }\n  interface BadgeAssigned {\n      /** Member ids who have the given badge assigned */\n      memberId?: string;\n  }\n  interface UnassignBadgeRequest {\n      /** Badge id */\n      _id: string;\n      /** Ids of members given badge will be removed from */\n      memberIds: string[];\n  }\n  interface UnassignBadgeResponse {\n  }\n  interface BadgeUnassigned {\n      /** Member id who had the badge unassigned */\n      memberId?: string;\n  }\n  interface ListMembersRequest {\n      /** Badge id */\n      _id: string;\n  }\n  interface ListMembersResponse {\n      /** Member ids who have the given badge assigned */\n      memberIds?: string[];\n  }\n  interface ListMembersBadgeIdsRequest {\n      /** Ids of members whose badge ids should be listed */\n      memberIds: string[];\n  }\n  interface ListMembersBadgeIdsResponse {\n      /** List of members with Ids of badges assigned to them */\n      memberBadgeIds?: MemberBadgeIds[];\n  }\n  interface MemberBadgeIds {\n      /** Member id */\n      memberId?: string;\n      /** Badge ids assigned to a given member */\n      badgeIds?: string[];\n  }\n  interface GetBadgeCountersRequest {\n  }\n  interface GetBadgeCountersResponse {\n      /** Ids of badges with a member count with this assigned badge */\n      badgeMemberCounts?: BadgeMemberCount[];\n  }\n  interface BadgeMemberCount {\n      /** Badge id */\n      badgeId?: string;\n      /** Number of members with assigned badge */\n      memberCount?: number;\n  }\n  interface UpdateBadgesOrderRequest {\n      /** Ordered badges ids */\n      badgeIds?: string[];\n  }\n  interface UpdateBadgesOrderResponse {\n      /** Reordered badges */\n      badges?: Badge[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Create badge\n   * @param title - Badge title\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.backgroundColor\n   * @requiredField options.textColor\n   * @requiredField title\n   * @permissionId badges.manage\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.CreateBadge\n   * @targetRemovalDate 2022-03-31\n   */\n  function create(title: string, options?: CreateOptions): Promise<CreateResponse>;\n  interface CreateOptions {\n      /** Badge description */\n      description?: string;\n      /** Badge background color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      backgroundColor: string;\n      /** Badge text color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      textColor: string;\n      /** Badge icon SVG as 'https://...' */\n      icon?: string;\n      /** Indicates whether badge has permissions */\n      hasPermissions?: boolean;\n  }\n  /**\n   * Update badge\n   * @param _id - Badge id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId badges.manage\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.UpdateBadge\n   * @targetRemovalDate 2022-03-31\n   */\n  function update(_id: string, options?: UpdateOptions): Promise<UpdateResponse>;\n  interface UpdateOptions {\n      /** Badge title */\n      title?: string | null;\n      /** Badge description */\n      description?: string | null;\n      /** Badge background color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      backgroundColor?: string | null;\n      /** Badge text color in 6-digit upper-cased color hex (e.g. #FFFFFF) */\n      textColor?: string | null;\n      /** Badge icon SVG as 'https://...' */\n      icon?: string | null;\n      /** Indicates whether badge has permissions */\n      hasPermissions?: boolean | null;\n  }\n  /**\n   * List all badges in a site\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BADGES.READ\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.ListBadges\n   * @targetRemovalDate 2022-03-31\n   */\n  function list(options?: ListOptions): Promise<ListResponse>;\n  interface ListOptions {\n      /** Limit the number of badges to return */\n      limit?: number | null;\n      /** Default offset is 0. */\n      offset?: number | null;\n  }\n  /**\n   * Query badges in a site\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BADGES.READ\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.QueryBadges\n   * @targetRemovalDate 2022-03-31\n   */\n  function query(options?: QueryOptions): Promise<QueryResponse>;\n  interface QueryOptions {\n      /** Filter criteria */\n      filter?: Record<string, any> | null;\n      /** Sorting criteria */\n      sort?: Sorting[];\n      /** Result paging data */\n      paging?: Paging;\n  }\n  /**\n   * Get a badge\n   * @param _id - Badge id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId BADGES.READ\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.GetBadge\n   * @targetRemovalDate 2022-03-31\n   */\n  function get(_id: string): Promise<GetResponse>;\n  /**\n   * Delete a badge\n   * @param _id - Badge id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId badges.manage\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.DeleteBadge\n   * @targetRemovalDate 2022-03-31\n   */\n  function _delete(_id: string): Promise<void>;\n  /**\n   * Count badges in a site\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BADGES.READ\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.CountBadges\n   * @targetRemovalDate 2022-03-31\n   */\n  function count(options?: CountOptions): Promise<CountResponse>;\n  interface CountOptions {\n      /** Filter criteria used for counting */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Assign a badge to the given members\n   * @param _id - Badge id\n   * @param memberIds - Ids of members this badge should be assigned to\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField memberIds\n   * @permissionId BADGES.ASSIGN\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.AssignBadge\n   * @targetRemovalDate 2022-03-31\n   */\n  function assignBadge(_id: string, memberIds: string[]): Promise<AssignBadgeResponse>;\n  /**\n   * Remove badge from given members\n   * @param _id - Badge id\n   * @param memberIds - Ids of members given badge will be removed from\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField memberIds\n   * @permissionId BADGES.ASSIGN\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.UnassignBadge\n   * @targetRemovalDate 2022-03-31\n   */\n  function unassignBadge(_id: string, memberIds: string[]): Promise<void>;\n  /**\n   * Return list of members that have the given badge\n   * @param _id - Badge id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId BADGES.READ\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.ListMembers\n   * @targetRemovalDate 2022-03-31\n   */\n  function listMembers(_id: string): Promise<ListMembersResponse>;\n  /**\n   * Return list of badge ids assigned to a given members\n   * @param memberIds - Ids of members whose badge ids should be listed\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField memberIds\n   * @permissionId BADGES.READ\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.ListMembersBadgeIds\n   * @targetRemovalDate 2022-03-31\n   */\n  function listMembersBadgeIds(memberIds: string[]): Promise<ListMembersBadgeIdsResponse>;\n  /**\n   * Return badge ids with a count of members they are assigned to\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BADGES.READ\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.GetMemberCountsPerBadge\n   * @targetRemovalDate 2022-03-31\n   */\n  function getBadgeCounters(): Promise<GetBadgeCountersResponse>;\n  /**\n   * Update badges order\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId badges.manage\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.badges.v3.BadgesServiceV3.UpdateBadgesDisplayOrder\n   * @targetRemovalDate 2022-03-31\n   */\n  function updateBadgesOrder(options?: UpdateBadgesOrderOptions): Promise<UpdateBadgesOrderResponse>;\n  interface UpdateBadgesOrderOptions {\n      /** Ordered badges ids */\n      badgeIds?: string[];\n  }\n  \n  export { ActionEvent, AssignBadgeRequest, AssignBadgeResponse, Badge, BadgeAssigned, BadgeMemberCount, BadgeUnassigned, CountOptions, CountRequest, CountResponse, CreateOptions, CreateRequest, CreateResponse, DeleteRequest, DeleteResponse, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, GetBadgeCountersRequest, GetBadgeCountersResponse, GetRequest, GetResponse, IdentificationData, IdentificationDataIdOneOf, ListMembersBadgeIdsRequest, ListMembersBadgeIdsResponse, ListMembersRequest, ListMembersResponse, ListOptions, ListRequest, ListResponse, MemberBadgeIds, MessageEnvelope, Paging, QueryOptions, QueryRequest, QueryResponse, RestoreInfo, SortOrder, Sorting, UnassignBadgeRequest, UnassignBadgeResponse, UpdateBadgesOrderOptions, UpdateBadgesOrderRequest, UpdateBadgesOrderResponse, UpdateOptions, UpdateRequest, UpdateResponse, WebhookIdentityType, _delete, assignBadge, count, create, get, getBadgeCounters, list, listMembers, listMembersBadgeIds, query, unassignBadge, update, updateBadgesOrder };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/localdelivery-spi-v2-tpa.d.ts",
      "content": "declare module \"localdelivery-spi-v2-tpa\" {\n  interface Tpa {\n  }\n  interface ListAccountIdsRequest {\n  }\n  interface ListAccountIdsResponse {\n      /** Account IDs. */\n      accountIds?: string[];\n  }\n  interface GetAccountStatusRequest {\n      /** Account ID. */\n      accountId: string;\n  }\n  interface GetAccountStatusResponse {\n      /** Account status. */\n      status?: Status;\n  }\n  enum Status {\n      UNKNOWN = \"UNKNOWN\",\n      CREATED = \"CREATED\",\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  interface GetDeliveryEstimateRequest {\n      /** Account ID. */\n      accountId: string;\n      /** Delivery pickup address. */\n      pickupAddress?: Address;\n      /** Delivery drop-off address. */\n      dropOffAddress?: Address;\n      /** Unique identifier of the specific store location that the delivery is for. */\n      configurationId: string;\n      /** Wix order details. */\n      order: EstimateOrder;\n      /** Estimated pickup time. */\n      pickupTime?: Date;\n      /** Estimated drop-off time. */\n      dropOffTime?: Date;\n  }\n  /** Physical address */\n  interface Address {\n      /** Country code. */\n      country?: string;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface EstimateOrder {\n      /** The subtotal for all items in the order, excluding tax/tip. */\n      subtotal?: Money;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface GetDeliveryEstimateResponse {\n      /** Retrieved Estimate. */\n      estimate?: Estimate;\n  }\n  interface Estimate {\n      /** Optional. Used as reference to the estimate when creating a new order. */\n      deliveryId?: string | null;\n      /** Estimate amount that is charged for this delivery. */\n      deliveryFee?: Money;\n      /** Estimated pickup time. */\n      pickupTime?: Date;\n      /** Estimated drop-off time. */\n      dropOffTime?: Date;\n  }\n  interface CreateDeliveryRequest {\n      /** Account ID. */\n      accountId: string;\n      /** Pickup Info in order to create a new delivery. */\n      pickupInfo: PickupInfo;\n      /** Drop-off Info in order to create a new delivery. */\n      dropOffInfo: DropOffInfo;\n      /** Optional. Estimate ID if needed. */\n      estimateId?: string | null;\n      /** Wix order details. */\n      order: WixOrder;\n      /** Is contactless delivery. */\n      contactlessDelivery?: boolean | null;\n      /** The requested time at which the order should be picked up. */\n      pickupTime?: Date;\n      /** The requested time at which the order should be delivered. */\n      dropOffTime?: Date;\n  }\n  interface PickupInfo {\n      /** Unique identifier of the specific store location that the delivery is for. */\n      configurationId?: string;\n      /** The name of the store where the order should be picked up from. */\n      storeName?: string;\n      /** Delivery pickup address. */\n      address?: Address;\n      /** Phone number of the store where the order should be picked up from. */\n      phone?: string;\n      /** Instructions for the courier at the pickup location. */\n      instructions?: string | null;\n  }\n  interface DropOffInfo {\n      /** Delivery drop-off address. */\n      address?: Address;\n      /** Instructions for the courier at the drop-off location. */\n      instructions?: string | null;\n  }\n  interface WixOrder {\n      /** Order ID. */\n      _id?: string;\n      /** Customer details. */\n      customer?: Customer;\n      /** The subtotal for all items in the order, excluding tax/tip. */\n      subtotal?: Money;\n      /** Amount that will be paid to the courier. */\n      tip?: Money;\n      /** Dishes and options included in the order. */\n      lineItems?: LineItem[];\n  }\n  interface CatalogReference {\n      /** Line item name as defined in the catalog. */\n      catalogItemName?: string | null;\n  }\n  interface Customer {\n      /** First name. */\n      firstName?: string;\n      /** Last name. */\n      lastName?: string;\n      /** Phone number. */\n      phone?: string;\n      /** Email address. */\n      email?: string;\n  }\n  interface LineItem {\n      /** Line item quantity. */\n      quantity?: number;\n      /** References to the line item’s origin catalog. */\n      catalogReference?: CatalogReference;\n  }\n  interface CreateDeliveryResponse {\n      /** The vendor new delivery order id */\n      deliveryId?: string;\n      /** When a delivery is ready to be picked up. This is the start of the pickup window. */\n      pickupWindowStartTime?: Date;\n      /** When a delivery must be picked up by. This is the end of the pickup window. */\n      pickupWindowEndTime?: Date;\n      /** When a delivery is ready to be dropped off. This is the start of the drop-off window. */\n      dropOffWindowStartTime?: Date;\n      /** When a delivery must be dropped off by. This is the end of the drop-off window. */\n      dropOffWindowEndTime?: Date;\n      /** Amount that is charged for this delivery. */\n      deliveryFee?: Money;\n  }\n  /** Local Delivery component */\n  interface LocalDeliveryComponentData {\n      /**\n       * URL for the Delivery provider registration web page.\n       * The App Instance and Account Id query parameters are attached to the registration URL\n       * so that you can identify your account when accessing the vendor api. [learn more](https://devforum.wix.com/en/article/app-instance)\n       */\n      registrationUrl?: string;\n  }\n  interface GetDeliveryEstimateOptions {\n      pickupAddress?: Address;\n      dropOffAddress?: Address;\n      pickupTime?: Date;\n      dropOffTime?: Date;\n      configurationId: string;\n      order: EstimateOrder;\n  }\n  interface CreateDeliveryOptions {\n      pickupInfo: PickupInfo;\n      dropOffInfo: DropOffInfo;\n      pickupTime?: Date;\n      dropOffTime?: Date;\n      estimateId?: string | null;\n      order: WixOrder;\n      contactlessDelivery?: boolean | null;\n  }\n  \n  export { Address, AddressLocation, CatalogReference, CreateDeliveryOptions, CreateDeliveryRequest, CreateDeliveryResponse, Customer, DropOffInfo, Estimate, EstimateOrder, GetAccountStatusRequest, GetAccountStatusResponse, GetDeliveryEstimateOptions, GetDeliveryEstimateRequest, GetDeliveryEstimateResponse, LineItem, ListAccountIdsRequest, ListAccountIdsResponse, LocalDeliveryComponentData, Money, PickupInfo, Status, StreetAddress, Tpa, WixOrder };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-forum-backend.d.ts",
      "content": "declare module \"wix-forum-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Comment {\n      /**\n       * Comment ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ID of parent comment (if relevant)\n       * @readonly\n       */\n      parentId?: string | null;\n      /** ID of post comment was made on */\n      postId?: string | null;\n      /**\n       * SiteMember ID of comment owner\n       * @readonly\n       */\n      ownerId?: string | null;\n      /** Plain content text (no formatting) */\n      contentText?: string | null;\n      /**\n       * Total number of comments made responding to this comment\n       * @readonly\n       */\n      replyCount?: number | null;\n      /**\n       * Total number of comment likes\n       * @readonly\n       */\n      likeCount?: number | null;\n      /**\n       * Date comment was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date comment was edited\n       * @readonly\n       */\n      editedDate?: Date;\n      /**\n       * Date of latest activity on this comment (e.g., date the latest reply was added to comment)\n       * @readonly\n       */\n      lastActivityDate?: Date;\n      /**\n       * Comment URL\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Total number of comment upvotes\n       * @readonly\n       */\n      upvoteCount?: number | null;\n      /**\n       * Total number of comment downvotes\n       * @readonly\n       */\n      downvoteCount?: number | null;\n      /**\n       * Score of comment\n       * @readonly\n       */\n      score?: number | null;\n      /**\n       * Comment legacy ID\n       * @internal\n       * @readonly\n       */\n      legacyId?: string | null;\n      /**\n       * The comment content as a stringified DraftJs document.\n       * @internal\n       * @readonly\n       */\n      content?: string | null;\n      /**\n       * Whether comment is marked.\n       * @readonly\n       */\n      marked?: boolean;\n      /**\n       * Ids of members mentioned in comment content\n       * @readonly\n       */\n      mentions?: string[];\n      /**\n       * Images from comment content.\n       * @readonly\n       */\n      images?: string[];\n  }\n  interface Upvoted {\n      /** Comment ID */\n      commentId?: string;\n      /** Post ID */\n      postId?: string;\n  }\n  interface Downvoted {\n      /** Comment ID */\n      commentId?: string;\n      /** Post ID */\n      postId?: string;\n  }\n  interface Unvoted {\n      /** Comment ID */\n      commentId?: string;\n      /** Post ID */\n      postId?: string;\n  }\n  interface Liked {\n      /** Comment ID */\n      commentId?: string;\n      /** Post ID */\n      postId?: string;\n  }\n  interface Unliked {\n      /** Comment ID */\n      commentId?: string;\n      /** Post ID */\n      postId?: string;\n  }\n  interface MarkedAsBest {\n      /** Comment ID */\n      commentId?: string;\n      /** Post ID */\n      postId?: string;\n  }\n  interface UnmarkedAsBest {\n      /** Comment ID */\n      commentId?: string;\n      /** Post ID */\n      postId?: string;\n  }\n  interface Reported {\n      /** Report Type */\n      reportType?: ReportType;\n      /** Comment ID */\n      commentId?: string;\n      /** Post ID */\n      postId?: string;\n  }\n  enum ReportType {\n      OFFENSIVE_CONTENT = \"OFFENSIVE_CONTENT\",\n      OFFENSIVE_MEDIA = \"OFFENSIVE_MEDIA\",\n      SPAM = \"SPAM\"\n  }\n  interface Deleted {\n      /** ID of the deleted comment. */\n      commentId?: string;\n      /** Post ID */\n      postId?: string;\n  }\n  interface CommentRequest {\n      /** Comment ID */\n      commentId: string;\n      /** Supported values: URL, CONTENT */\n      fieldsets?: string[];\n  }\n  interface CommentResponse {\n      /** Comment for provided post ID */\n      comment?: Comment;\n  }\n  interface ApiQueryCommentsRequest {\n      /** Paging object (e.g., { limit: 10, offset: 100 } ) */\n      paging?: CommentsPaging;\n      /** Filter object (e.g., { $and: [{ ownerId: { eq: 'ownerId' } }, { likeCount: { $gt: 0 }] } ) */\n      filter?: Record<string, any> | null;\n      /** Array of sort objects (e.g.,  [{ fieldName: createdDate, order: Order.ASC }] ) */\n      sort?: CommentsSort[];\n      /** Supported values: URL, CONTENT */\n      fieldsets?: string[];\n  }\n  interface CommentsPaging {\n      /** The number of items to load */\n      limit?: number;\n      /** Number of items to skip in the current sort order */\n      offset?: number;\n  }\n  interface CommentsSort {\n      /**\n       * Records can be sorted by:\n       * lastActivityDate\n       * createdDate\n       * replyCount\n       * likeCount\n       */\n      fieldName?: string;\n      /** Records can be sorted in ascending (default) or descending order */\n      order?: Order;\n  }\n  enum Order {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface ApiQueryCommentsResponse {\n      /** Comments list */\n      comments?: Comment[];\n      /** Pagination */\n      metaData?: QueryCommentsResponseMetaData;\n  }\n  interface QueryCommentsResponseMetaData {\n      /** Total number of records returned */\n      count?: number;\n      /** Offset of records */\n      offset?: number;\n      /** Total number of records that match the filters */\n      total?: number;\n  }\n  interface CreateCommentRequest {\n      /** Comment to create */\n      comment?: Comment;\n  }\n  interface CreateCommentResponse {\n      /** Created comment */\n      comment?: Comment;\n  }\n  interface UpdateCommentRequest {\n      /** ID of the comment to update */\n      commentId: string;\n      /** Field mask of fields to update */\n      fieldMask?: string[];\n      /** Comment data with partial data to update */\n      comment?: Comment;\n  }\n  interface UpdateCommentResponse {\n      /** Updated comment */\n      comment?: Comment;\n  }\n  interface DeleteCommentRequest {\n      /** ID of the comment to delete */\n      commentId: string;\n  }\n  interface DeleteCommentResponse {\n      /** Deleted comment */\n      comment?: Comment;\n  }\n  interface GetCommentRequest {\n      commentId: string;\n      /** Supported values: URL, CONTENT */\n      fieldsets?: string[];\n  }\n  interface GetCommentResponse {\n      comment?: Comment;\n  }\n  interface QueryCommentsRequest {\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCommentsResponse {\n      comments?: Comment[];\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent {\n      currentEntityAsJson?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Returns a single comment by ID\n   * @param commentId - Comment ID\n   * @requiredField commentId\n   */\n  function getComment(commentId: string, options?: GetCommentOptions): Promise<CommentResponse>;\n  interface GetCommentOptions {\n      /** Supported values: URL, CONTENT */\n      fieldsets?: string[];\n  }\n  /**\n   * Returns a list of comments by [query](https://github.com/wix-private/platformization-guidelines/blob/master/Server/API-Query.md)\n   *\n   * Paging\n   * - limit: default - 10, min - 0, max - 100\n   * - offset: default - 0, min - 0\n   *\n   * Filterable fields:\n   * - id\n   * - parentId\n   * - postId\n   * - ownerId\n   * - contentText\n   * - replyCount\n   * - likeCount\n   * - createdDate\n   * - editedDate\n   * - lastActivityDate\n   *\n   * Sortable fields:\n   * - lastActivityDate\n   * - createdDate\n   * - replyCount\n   * - likeCount\n   */\n  function queryComments(options?: QueryCommentsOptions): Promise<ApiQueryCommentsResponse>;\n  interface QueryCommentsOptions {\n      /** Paging object (e.g., { limit: 10, offset: 100 } ) */\n      paging?: CommentsPaging;\n      /** Filter object (e.g., { $and: [{ ownerId: { eq: 'ownerId' } }, { likeCount: { $gt: 0 }] } ) */\n      filter?: Record<string, any> | null;\n      /** Array of sort objects (e.g.,  [{ fieldName: createdDate, order: Order.ASC }] ) */\n      sort?: CommentsSort[];\n      /** Supported values: URL, CONTENT */\n      fieldsets?: string[];\n  }\n  /**\n   * Creates comment\n   * @requiredField options.comment.contentText\n   * @requiredField options.comment.postId\n   */\n  function createComment(options?: CreateCommentOptions): Promise<CreateCommentResponse>;\n  interface CreateCommentOptions {\n      /** Comment to create */\n      comment?: Comment;\n  }\n  /**\n   * Updates comment fields according to fieldMask\n   * @param commentId - ID of the comment to update\n   * @requiredField commentId\n   */\n  function updateComment(commentId: string, options?: UpdateCommentOptions): Promise<UpdateCommentResponse>;\n  interface UpdateCommentOptions {\n      /** Field mask of fields to update */\n      fieldMask?: string[];\n      /** Comment data with partial data to update */\n      comment?: Comment;\n  }\n  /**\n   * Deletes comment\n   * @param commentId - ID of the comment to delete\n   * @requiredField commentId\n   */\n  function deleteComment(commentId: string): Promise<DeleteCommentResponse>;\n  /** @requiredField commentId */\n  function forumCommentsAdapterGetComment(commentId: string, options?: ForumCommentsAdapterGetCommentOptions): Promise<GetCommentResponse>;\n  interface ForumCommentsAdapterGetCommentOptions {\n      /** Supported values: URL, CONTENT */\n      fieldsets?: string[];\n  }\n  /** @requiredField QueryCommentsRequest */\n  function forumCommentsAdapterQueryComments(query?: QueryV2): Promise<QueryCommentsResponse>;\n  \n  const forumV1Comment_universal_d___debug: typeof __debug;\n  type forumV1Comment_universal_d_Comment = Comment;\n  type forumV1Comment_universal_d_Upvoted = Upvoted;\n  type forumV1Comment_universal_d_Downvoted = Downvoted;\n  type forumV1Comment_universal_d_Unvoted = Unvoted;\n  type forumV1Comment_universal_d_Liked = Liked;\n  type forumV1Comment_universal_d_Unliked = Unliked;\n  type forumV1Comment_universal_d_MarkedAsBest = MarkedAsBest;\n  type forumV1Comment_universal_d_UnmarkedAsBest = UnmarkedAsBest;\n  type forumV1Comment_universal_d_Reported = Reported;\n  type forumV1Comment_universal_d_ReportType = ReportType;\n  const forumV1Comment_universal_d_ReportType: typeof ReportType;\n  type forumV1Comment_universal_d_Deleted = Deleted;\n  type forumV1Comment_universal_d_CommentRequest = CommentRequest;\n  type forumV1Comment_universal_d_CommentResponse = CommentResponse;\n  type forumV1Comment_universal_d_ApiQueryCommentsRequest = ApiQueryCommentsRequest;\n  type forumV1Comment_universal_d_CommentsPaging = CommentsPaging;\n  type forumV1Comment_universal_d_CommentsSort = CommentsSort;\n  type forumV1Comment_universal_d_Order = Order;\n  const forumV1Comment_universal_d_Order: typeof Order;\n  type forumV1Comment_universal_d_ApiQueryCommentsResponse = ApiQueryCommentsResponse;\n  type forumV1Comment_universal_d_QueryCommentsResponseMetaData = QueryCommentsResponseMetaData;\n  type forumV1Comment_universal_d_CreateCommentRequest = CreateCommentRequest;\n  type forumV1Comment_universal_d_CreateCommentResponse = CreateCommentResponse;\n  type forumV1Comment_universal_d_UpdateCommentRequest = UpdateCommentRequest;\n  type forumV1Comment_universal_d_UpdateCommentResponse = UpdateCommentResponse;\n  type forumV1Comment_universal_d_DeleteCommentRequest = DeleteCommentRequest;\n  type forumV1Comment_universal_d_DeleteCommentResponse = DeleteCommentResponse;\n  type forumV1Comment_universal_d_GetCommentRequest = GetCommentRequest;\n  type forumV1Comment_universal_d_GetCommentResponse = GetCommentResponse;\n  type forumV1Comment_universal_d_QueryCommentsRequest = QueryCommentsRequest;\n  type forumV1Comment_universal_d_QueryV2 = QueryV2;\n  type forumV1Comment_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type forumV1Comment_universal_d_Sorting = Sorting;\n  type forumV1Comment_universal_d_SortOrder = SortOrder;\n  const forumV1Comment_universal_d_SortOrder: typeof SortOrder;\n  type forumV1Comment_universal_d_Paging = Paging;\n  type forumV1Comment_universal_d_CursorPaging = CursorPaging;\n  type forumV1Comment_universal_d_QueryCommentsResponse = QueryCommentsResponse;\n  type forumV1Comment_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type forumV1Comment_universal_d_Cursors = Cursors;\n  type forumV1Comment_universal_d_DomainEvent = DomainEvent;\n  type forumV1Comment_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type forumV1Comment_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type forumV1Comment_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type forumV1Comment_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type forumV1Comment_universal_d_ActionEvent = ActionEvent;\n  type forumV1Comment_universal_d_ExtendedFieldsUpdatedEvent = ExtendedFieldsUpdatedEvent;\n  type forumV1Comment_universal_d_Empty = Empty;\n  const forumV1Comment_universal_d_getComment: typeof getComment;\n  type forumV1Comment_universal_d_GetCommentOptions = GetCommentOptions;\n  const forumV1Comment_universal_d_queryComments: typeof queryComments;\n  type forumV1Comment_universal_d_QueryCommentsOptions = QueryCommentsOptions;\n  const forumV1Comment_universal_d_createComment: typeof createComment;\n  type forumV1Comment_universal_d_CreateCommentOptions = CreateCommentOptions;\n  const forumV1Comment_universal_d_updateComment: typeof updateComment;\n  type forumV1Comment_universal_d_UpdateCommentOptions = UpdateCommentOptions;\n  const forumV1Comment_universal_d_deleteComment: typeof deleteComment;\n  const forumV1Comment_universal_d_forumCommentsAdapterGetComment: typeof forumCommentsAdapterGetComment;\n  type forumV1Comment_universal_d_ForumCommentsAdapterGetCommentOptions = ForumCommentsAdapterGetCommentOptions;\n  const forumV1Comment_universal_d_forumCommentsAdapterQueryComments: typeof forumCommentsAdapterQueryComments;\n  namespace forumV1Comment_universal_d {\n    export {\n      forumV1Comment_universal_d___debug as __debug,\n      forumV1Comment_universal_d_Comment as Comment,\n      forumV1Comment_universal_d_Upvoted as Upvoted,\n      forumV1Comment_universal_d_Downvoted as Downvoted,\n      forumV1Comment_universal_d_Unvoted as Unvoted,\n      forumV1Comment_universal_d_Liked as Liked,\n      forumV1Comment_universal_d_Unliked as Unliked,\n      forumV1Comment_universal_d_MarkedAsBest as MarkedAsBest,\n      forumV1Comment_universal_d_UnmarkedAsBest as UnmarkedAsBest,\n      forumV1Comment_universal_d_Reported as Reported,\n      forumV1Comment_universal_d_ReportType as ReportType,\n      forumV1Comment_universal_d_Deleted as Deleted,\n      forumV1Comment_universal_d_CommentRequest as CommentRequest,\n      forumV1Comment_universal_d_CommentResponse as CommentResponse,\n      forumV1Comment_universal_d_ApiQueryCommentsRequest as ApiQueryCommentsRequest,\n      forumV1Comment_universal_d_CommentsPaging as CommentsPaging,\n      forumV1Comment_universal_d_CommentsSort as CommentsSort,\n      forumV1Comment_universal_d_Order as Order,\n      forumV1Comment_universal_d_ApiQueryCommentsResponse as ApiQueryCommentsResponse,\n      forumV1Comment_universal_d_QueryCommentsResponseMetaData as QueryCommentsResponseMetaData,\n      forumV1Comment_universal_d_CreateCommentRequest as CreateCommentRequest,\n      forumV1Comment_universal_d_CreateCommentResponse as CreateCommentResponse,\n      forumV1Comment_universal_d_UpdateCommentRequest as UpdateCommentRequest,\n      forumV1Comment_universal_d_UpdateCommentResponse as UpdateCommentResponse,\n      forumV1Comment_universal_d_DeleteCommentRequest as DeleteCommentRequest,\n      forumV1Comment_universal_d_DeleteCommentResponse as DeleteCommentResponse,\n      forumV1Comment_universal_d_GetCommentRequest as GetCommentRequest,\n      forumV1Comment_universal_d_GetCommentResponse as GetCommentResponse,\n      forumV1Comment_universal_d_QueryCommentsRequest as QueryCommentsRequest,\n      forumV1Comment_universal_d_QueryV2 as QueryV2,\n      forumV1Comment_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      forumV1Comment_universal_d_Sorting as Sorting,\n      forumV1Comment_universal_d_SortOrder as SortOrder,\n      forumV1Comment_universal_d_Paging as Paging,\n      forumV1Comment_universal_d_CursorPaging as CursorPaging,\n      forumV1Comment_universal_d_QueryCommentsResponse as QueryCommentsResponse,\n      forumV1Comment_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      forumV1Comment_universal_d_Cursors as Cursors,\n      forumV1Comment_universal_d_DomainEvent as DomainEvent,\n      forumV1Comment_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      forumV1Comment_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      forumV1Comment_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      forumV1Comment_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      forumV1Comment_universal_d_ActionEvent as ActionEvent,\n      forumV1Comment_universal_d_ExtendedFieldsUpdatedEvent as ExtendedFieldsUpdatedEvent,\n      forumV1Comment_universal_d_Empty as Empty,\n      forumV1Comment_universal_d_getComment as getComment,\n      forumV1Comment_universal_d_GetCommentOptions as GetCommentOptions,\n      forumV1Comment_universal_d_queryComments as queryComments,\n      forumV1Comment_universal_d_QueryCommentsOptions as QueryCommentsOptions,\n      forumV1Comment_universal_d_createComment as createComment,\n      forumV1Comment_universal_d_CreateCommentOptions as CreateCommentOptions,\n      forumV1Comment_universal_d_updateComment as updateComment,\n      forumV1Comment_universal_d_UpdateCommentOptions as UpdateCommentOptions,\n      forumV1Comment_universal_d_deleteComment as deleteComment,\n      forumV1Comment_universal_d_forumCommentsAdapterGetComment as forumCommentsAdapterGetComment,\n      forumV1Comment_universal_d_ForumCommentsAdapterGetCommentOptions as ForumCommentsAdapterGetCommentOptions,\n      forumV1Comment_universal_d_forumCommentsAdapterQueryComments as forumCommentsAdapterQueryComments,\n    };\n  }\n  \n  export { forumV1Comment_universal_d as forum };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-v1-shipping-label-carrier-quote.d.ts",
      "content": "declare module \"interfaces-v1-shipping-label-carrier-quote\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface ShippingLabelCarrierQuote {\n      /** service unique id */\n      serviceId?: string;\n      /** service display name (translated) */\n      serviceName?: string;\n      /** total value */\n      total?: string;\n      /** total breakdown details */\n      details?: ShippingLabelQuoteDetail[];\n  }\n  interface ShippingLabelQuoteDetail {\n      /** display name (translated) */\n      title?: string;\n      /** value */\n      value?: string;\n  }\n  interface GetQuotesRequest {\n      /** address and contact details of sender */\n      originAddressWithContact?: AddressWithContact;\n      /** address and contact details of receiver */\n      destinationAddressWithContact?: AddressWithContact;\n      /** carrier specific key for preset package types (Optional) */\n      packageTypeId?: string | null;\n      /** package dimension */\n      packageDimension?: PackageDimension;\n      /** weight of the package */\n      weight?: number;\n      /** require signature from receiver */\n      requireSignature?: boolean | null;\n      /** value for insurance */\n      insuranceValue?: string | null;\n      /** international customs information */\n      internationalCustomsInfo?: InternationalCustomsInfo;\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact {\n      /** Address. */\n      address?: Address;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails;\n  }\n  /** Physical address */\n  interface Address {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId;\n  }\n  interface VatId {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType;\n  }\n  /** tax info types */\n  enum VatType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface PackageDimension {\n      /** width of the package */\n      width?: number;\n      /** length of the package */\n      length?: number;\n      /** height of the package (Optional) */\n      height?: number | null;\n  }\n  interface InternationalCustomsInfo {\n      /** package content type for customs */\n      packageContentType?: PackageContentType;\n      /** description (Optional when package_content_type is not OTHER) */\n      contentDescription?: string | null;\n      /** item details for customs */\n      itemsDetails?: ItemDetails[];\n  }\n  enum PackageContentType {\n      GIFT = \"GIFT\",\n      MERCHANDISE = \"MERCHANDISE\",\n      OTHER = \"OTHER\"\n  }\n  interface ItemDetails {\n      /** item unique id */\n      _id?: string;\n      /** quantity of item */\n      quantity?: number;\n      /** description */\n      description?: string;\n      /** weight of single item */\n      weight?: number;\n      /** value of single item */\n      value?: string;\n  }\n  interface GetQuotesResponse {\n      /** list of quotes */\n      quotes?: ShippingLabelCarrierQuote[];\n  }\n  interface ShippingLabelCarrierSpiConfig {\n      /** the countries supported to send from */\n      originCountries?: string[];\n      /** the countries supported to send to */\n      destinationCountries?: string[];\n      /** the currency of the labels */\n      currency?: string;\n      /** the measurement system of he labels (Metric or Imperial) */\n      measurementSystem?: MeasurementSystem;\n      /** does carrier support insurance */\n      isInsuranceSupported?: boolean;\n      /** preset carrier packages */\n      packageTypes?: PackageType[];\n  }\n  enum MeasurementSystem {\n      Metric = \"Metric\",\n      Imperial = \"Imperial\"\n  }\n  interface PackageType {\n      /** carrier id that can be used to get quotes and purchase */\n      _id?: string;\n      /** display name of the package (translated) */\n      name?: string;\n      /** description (translated) */\n      description?: string;\n      /** the dimensions of the package */\n      dimension?: PackageDimension;\n      /** image of the package (Optional) */\n      image?: Image;\n  }\n  interface Image {\n      /** WixMedia image ID. */\n      _id?: string;\n      /** Image URL. */\n      url?: string;\n      /**\n       * Original image height.\n       * @readonly\n       */\n      height?: number;\n      /**\n       * Original image width.\n       * @readonly\n       */\n      width?: number;\n      /** Image alt text. Optional. */\n      altText?: string | null;\n      /**\n       * Optional - Image URL expiry date (when relevant).\n       * @internal\n       */\n      urlExpirationDate?: Date;\n      /** Optional - Image filename. */\n      filename?: string | null;\n      /**\n       * Optional - Image size in bytes.\n       * @internal\n       */\n      sizeInBytes?: string | null;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetQuotesOptions {\n      /** address and contact details of sender */\n      originAddressWithContact?: AddressWithContact;\n      /** address and contact details of receiver */\n      destinationAddressWithContact?: AddressWithContact;\n      /** carrier specific key for preset package types (Optional) */\n      packageTypeId?: string | null;\n      /** package dimension */\n      packageDimension?: PackageDimension;\n      /** weight of the package */\n      weight?: number;\n      /** require signature from receiver */\n      requireSignature?: boolean | null;\n      /** value for insurance */\n      insuranceValue?: string | null;\n      /** international customs information */\n      internationalCustomsInfo?: InternationalCustomsInfo;\n  }\n  \n  export { Address, AddressLocation, AddressWithContact, BusinessError, Context, FullAddressContactDetails, GetQuotesOptions, GetQuotesRequest, GetQuotesResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, Image, InternationalCustomsInfo, ItemDetails, MeasurementSystem, PackageContentType, PackageDimension, PackageType, ShippingLabelCarrierQuote, ShippingLabelCarrierSpiConfig, ShippingLabelQuoteDetail, StreetAddress, VatId, VatType };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-gift-card-provider-entity.d.ts",
      "content": "declare module \"interfaces-ecom-v1-gift-card-provider-entity\" {\n  interface GiftCardProviderEntity {\n  }\n  interface GetBalanceRequest {\n      /** Gift Card unique code */\n      code?: string;\n      /** Gift Card provider app instance id */\n      appInstanceId?: string;\n  }\n  interface GetBalanceResponse {\n      /** Current Gift Card balance */\n      balance?: number;\n      /** The currency code of the Gift Card */\n      currencyCode?: string;\n  }\n  interface RedeemRequest {\n      /** Gift Card unique code */\n      code?: string;\n      /** Gift Card provider app instance id */\n      appInstanceId?: string;\n      /** Amount to redeem from the given Gift Card */\n      amount?: number;\n      /** Idempotency key for the current transaction */\n      orderId?: string;\n      /** The currency code to redeem */\n      currencyCode?: string;\n  }\n  interface RedeemResponse {\n      /** Remaining balance of the Gift Card after the redeem */\n      remainingBalance?: number;\n      /** The currency code of the Gift Card */\n      currencyCode?: string;\n      /** Id of the redeem transaction */\n      transactionId?: string;\n  }\n  interface VoidRequest {\n      /** Gift Card provider app instance id */\n      appInstanceId?: string;\n      /** Transaction id to void */\n      transactionId?: string;\n  }\n  interface VoidResponse {\n      /** Remaining balance of the Gift Card after void */\n      remainingBalance?: number;\n      /** The currency code of the Gift Card */\n      currencyCode?: string;\n  }\n  interface GiftCardProviderConfig {\n  }\n  interface GetBalanceOptions {\n      /** Gift Card unique code */\n      code?: string;\n      /** Gift Card provider app instance id */\n      appInstanceId?: string;\n  }\n  interface RedeemOptions {\n      /** Gift Card unique code */\n      code?: string;\n      /** Gift Card provider app instance id */\n      appInstanceId?: string;\n      /** Amount to redeem from the given Gift Card */\n      amount?: number;\n      /** Idempotency key for the current transaction */\n      orderId?: string;\n      /** The currency code to redeem */\n      currencyCode?: string;\n  }\n  interface VoidOptions {\n      /** Gift Card provider app instance id */\n      appInstanceId?: string;\n      /** Transaction id to void */\n      transactionId?: string;\n  }\n  \n  export { GetBalanceOptions, GetBalanceRequest, GetBalanceResponse, GiftCardProviderConfig, GiftCardProviderEntity, RedeemOptions, RedeemRequest, RedeemResponse, VoidOptions, VoidRequest, VoidResponse };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-notifications-backend.d.ts",
      "content": "declare module \"wix-notifications-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Notification {\n      /** The id of the notification */\n      _id?: string;\n  }\n  interface NotifyRequest {\n      /**\n       * Notification template ID. A notification template specifies the text and recipients for notifications.\n       * To obtain a notification template ID, [create a notification template](https://dev.wix.com/api/rest/wix-notifications/notifications/creating-a-notification-template) in the Wix Dev Center.\n       */\n      notificationTemplateId: string;\n      /**\n       * Each key is a placeholder name you specify when [creating a notification template](https://dev.wix.com/api/rest/wix-notifications/notifications/creating-a-notification-template).\n       * The value is an object containing the text to replace the placeholder in the notifications.\n       */\n      dynamicValues?: Record<string, DynamicValue>;\n  }\n  interface DynamicValue extends DynamicValueOfTypeOneOf {\n      /** Text to be integrated into the notification. */\n      text?: string;\n      /**\n       * localized money parameter\n       * @internal\n       */\n      money?: Money;\n      /**\n       * ISO 8601 timestamp\n       * @internal\n       */\n      timestamp?: string;\n      /**\n       * map\n       * @internal\n       */\n      map?: MapDynamicValue;\n      /**\n       * array\n       * @internal\n       */\n      array?: ArrayDynamicValue;\n  }\n  /** @oneof */\n  interface DynamicValueOfTypeOneOf {\n      /** Text to be integrated into the notification. */\n      text?: string;\n      /**\n       * localized money parameter\n       * @internal\n       */\n      money?: Money;\n      /**\n       * ISO 8601 timestamp\n       * @internal\n       */\n      timestamp?: string;\n      /**\n       * map\n       * @internal\n       */\n      map?: MapDynamicValue;\n      /**\n       * array\n       * @internal\n       */\n      array?: ArrayDynamicValue;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface MapDynamicValue {\n      /** items */\n      items?: Record<string, DynamicValue>;\n  }\n  interface ArrayDynamicValue {\n      /** items */\n      items?: DynamicValue[];\n  }\n  interface NotifyResponse {\n      /** ID of the batch of notifications triggered by one request. */\n      notificationBatchId?: string;\n  }\n  interface NotifyByAppRequest {\n      /** notification_template_id */\n      notificationTemplateId: string;\n      /** app_def_id */\n      appDefId: string;\n      /** dynamic_values */\n      dynamicValues?: Record<string, DynamicValue>;\n      /** template tenant */\n      templateTenant?: string | null;\n      /** overrides */\n      overrides?: Overrides;\n  }\n  interface Overrides {\n      /** excluded_channels */\n      excludedChannels?: TemplateChannel[];\n      /** excluded_audiences */\n      excludedAudiences?: ExcludedAudiences;\n      /** content overrides */\n      content?: ChannelsContent;\n  }\n  enum TemplateChannel {\n      WEB_FEED = \"WEB_FEED\",\n      MOBILE_FEED = \"MOBILE_FEED\",\n      MOBILE_PUSH = \"MOBILE_PUSH\",\n      BROWSER = \"BROWSER\",\n      SMS = \"SMS\",\n      EMAIL = \"EMAIL\",\n      KAFKA = \"KAFKA\",\n      VOICE = \"VOICE\"\n  }\n  interface ExcludedAudiences {\n      /** audience_key */\n      audienceKey?: string[];\n  }\n  interface ChannelsContent {\n      /** mobile push override */\n      mobileContent?: MobileContent;\n  }\n  interface MobileContent {\n      /** title override of mobile push content */\n      title?: string;\n      /** body override of mobile push content */\n      body?: string;\n  }\n  interface NotifyByAppResponse {\n      /** notification_batch_id */\n      notificationBatchId?: string;\n  }\n  /**\n   * Sends notifications based on the template and dynamic values provided.\n   *\n   * > This feature is not yet available to all users.\n   *\n   * An app can call this endpoint up to 100,000 times per month for each site.\n   *\n   * When you [create a notification template](https://dev.wix.com/api/rest/wix-notifications/notifications/creating-a-notification-template) in the Wix Dev Center, you are given a notification template ID.\n   * Call the Notify endpoint with this ID as `notificationTemplateID` to trigger notifications based on the notification template.\n   * If the notification template contains placeholders for dynamic values, provide those values as key-value pairs in the `dynamicValues` array.\n   * The values you specify are incorporated seamlessly in the notifications sent out.\n   * @param notificationTemplateId - Notification template ID. A notification template specifies the text and recipients for notifications.\n   * To obtain a notification template ID, [create a notification template](https://dev.wix.com/api/rest/wix-notifications/notifications/creating-a-notification-template) in the Wix Dev Center.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField notificationTemplateId\n   */\n  function notify(notificationTemplateId: string, options?: NotifyOptions): Promise<NotifyResponse>;\n  interface NotifyOptions {\n      /**\n       * Each key is a placeholder name you specify when [creating a notification template](https://dev.wix.com/api/rest/wix-notifications/notifications/creating-a-notification-template).\n       * The value is an object containing the text to replace the placeholder in the notifications.\n       */\n      dynamicValues?: Record<string, DynamicValue>;\n  }\n  /**\n   * NotifyByApp\n   * @param notificationTemplateId - notification_template_id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField notificationTemplateId\n   * @requiredField options\n   * @requiredField options.appDefId\n   */\n  function notifyByApp(notificationTemplateId: string, options: NotifyByAppOptions): Promise<NotifyByAppResponse>;\n  interface NotifyByAppOptions {\n      /** app_def_id */\n      appDefId: string;\n      /** dynamic_values */\n      dynamicValues?: Record<string, DynamicValue>;\n      /** template tenant */\n      templateTenant?: string | null;\n      /** overrides */\n      overrides?: Overrides;\n  }\n  \n  const pingNotificationsV3Notification_universal_d___debug: typeof __debug;\n  type pingNotificationsV3Notification_universal_d_Notification = Notification;\n  type pingNotificationsV3Notification_universal_d_NotifyRequest = NotifyRequest;\n  type pingNotificationsV3Notification_universal_d_DynamicValue = DynamicValue;\n  type pingNotificationsV3Notification_universal_d_DynamicValueOfTypeOneOf = DynamicValueOfTypeOneOf;\n  type pingNotificationsV3Notification_universal_d_Money = Money;\n  type pingNotificationsV3Notification_universal_d_MapDynamicValue = MapDynamicValue;\n  type pingNotificationsV3Notification_universal_d_ArrayDynamicValue = ArrayDynamicValue;\n  type pingNotificationsV3Notification_universal_d_NotifyResponse = NotifyResponse;\n  type pingNotificationsV3Notification_universal_d_NotifyByAppRequest = NotifyByAppRequest;\n  type pingNotificationsV3Notification_universal_d_Overrides = Overrides;\n  type pingNotificationsV3Notification_universal_d_TemplateChannel = TemplateChannel;\n  const pingNotificationsV3Notification_universal_d_TemplateChannel: typeof TemplateChannel;\n  type pingNotificationsV3Notification_universal_d_ExcludedAudiences = ExcludedAudiences;\n  type pingNotificationsV3Notification_universal_d_ChannelsContent = ChannelsContent;\n  type pingNotificationsV3Notification_universal_d_MobileContent = MobileContent;\n  type pingNotificationsV3Notification_universal_d_NotifyByAppResponse = NotifyByAppResponse;\n  const pingNotificationsV3Notification_universal_d_notify: typeof notify;\n  type pingNotificationsV3Notification_universal_d_NotifyOptions = NotifyOptions;\n  const pingNotificationsV3Notification_universal_d_notifyByApp: typeof notifyByApp;\n  type pingNotificationsV3Notification_universal_d_NotifyByAppOptions = NotifyByAppOptions;\n  namespace pingNotificationsV3Notification_universal_d {\n    export {\n      pingNotificationsV3Notification_universal_d___debug as __debug,\n      pingNotificationsV3Notification_universal_d_Notification as Notification,\n      pingNotificationsV3Notification_universal_d_NotifyRequest as NotifyRequest,\n      pingNotificationsV3Notification_universal_d_DynamicValue as DynamicValue,\n      pingNotificationsV3Notification_universal_d_DynamicValueOfTypeOneOf as DynamicValueOfTypeOneOf,\n      pingNotificationsV3Notification_universal_d_Money as Money,\n      pingNotificationsV3Notification_universal_d_MapDynamicValue as MapDynamicValue,\n      pingNotificationsV3Notification_universal_d_ArrayDynamicValue as ArrayDynamicValue,\n      pingNotificationsV3Notification_universal_d_NotifyResponse as NotifyResponse,\n      pingNotificationsV3Notification_universal_d_NotifyByAppRequest as NotifyByAppRequest,\n      pingNotificationsV3Notification_universal_d_Overrides as Overrides,\n      pingNotificationsV3Notification_universal_d_TemplateChannel as TemplateChannel,\n      pingNotificationsV3Notification_universal_d_ExcludedAudiences as ExcludedAudiences,\n      pingNotificationsV3Notification_universal_d_ChannelsContent as ChannelsContent,\n      pingNotificationsV3Notification_universal_d_MobileContent as MobileContent,\n      pingNotificationsV3Notification_universal_d_NotifyByAppResponse as NotifyByAppResponse,\n      pingNotificationsV3Notification_universal_d_notify as notify,\n      pingNotificationsV3Notification_universal_d_NotifyOptions as NotifyOptions,\n      pingNotificationsV3Notification_universal_d_notifyByApp as notifyByApp,\n      pingNotificationsV3Notification_universal_d_NotifyByAppOptions as NotifyByAppOptions,\n    };\n  }\n  \n  export { pingNotificationsV3Notification_universal_d as notifications };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-marketing-backend.v2.d.ts",
      "content": "declare module \"wix-marketing-backend.v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * The `Coupon` object represents all information available for a coupon\n   * including its basic definition and runtime information.\n   */\n  interface Coupon {\n      /** Coupon ID (should not be passed on creation). */\n      _id?: string;\n      /** Basic coupon metadata. */\n      specification?: Specification;\n      /** Time the coupon was created (UNIX Epoch time in milliseconds). */\n      dateCreated?: string;\n      /** Whether the coupon is expired. */\n      expired?: boolean;\n      /** How many times this coupon has been used. */\n      numberOfUsages?: number;\n      /** Coupon display information. */\n      displayData?: DisplayData;\n      /**\n       * ID of the app that created the coupon. Empty if created by the site owner.\n       * @readonly\n       */\n      appId?: string | null;\n  }\n  interface MediaItem {\n      /** Media item URL. */\n      url?: string;\n      /** Media item width. */\n      width?: number;\n      /** Media item height. */\n      height?: number;\n  }\n  interface Specification extends SpecificationScopeOrMinSubtotalOneOf, SpecificationBehaviorOneOf {\n      /** Friendly name for display (up to 80 characters). */\n      name?: string | null;\n      /** Unique code entered to apply the coupon (up to 20 characters). */\n      code?: string | null;\n      /** Coupon valid from, in milliseconds (required). */\n      startTime?: string | null;\n      /** Coupon expiration time, in milliseconds (optional). */\n      expirationTime?: string | null;\n      /** Maximum number of times the coupon can be used (optional). */\n      usageLimit?: number | null;\n      /** Maximum number of times the coupon can be used **per customer** (optional). */\n      limitPerCustomer?: number | null;\n      /** Whether the coupon is limited to one item. */\n      limitedToOneItem?: boolean | null;\n      /** Whether the coupon applies to subscription products. */\n      appliesToSubscriptions?: boolean | null;\n      /**\n       * Specifies the amount of discounted cycles for subscription item.\n       * Can only be set when applies_to_subscriptions is true and scope namespace is 'pricingPlans'\n       * Valid range is from 1 to 999, inclusive. Empty field specifies that the coupon applies to all available cycles.\n       */\n      discountedCycleCount?: number | null;\n      /** Whether the coupon is currently active (if not passed - the default is active). */\n      active?: boolean | null;\n      /** Coupon type. Read-only. */\n      type?: string;\n      /** Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      scope?: Scope;\n      /** Limit the coupon to carts with a subtotal above this number. */\n      minimumSubtotal?: number | null;\n      /** Discount as a fixed amount. */\n      moneyOffAmount?: number;\n      /** Discount as a percentage. */\n      percentOffRate?: number;\n      /** Free shipping. */\n      freeShipping?: boolean;\n      /** Fixed sale price. */\n      fixedPriceAmount?: number;\n      /** For example: buy 3, get 1. */\n      buyXGetY?: BuyXGetY;\n  }\n  /** @oneof */\n  interface SpecificationScopeOrMinSubtotalOneOf {\n      /** Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      scope?: Scope;\n      /** Limit the coupon to carts with a subtotal above this number. */\n      minimumSubtotal?: number | null;\n  }\n  /** @oneof */\n  interface SpecificationBehaviorOneOf {\n      /** Discount as a fixed amount. */\n      moneyOffAmount?: number;\n      /** Discount as a percentage. */\n      percentOffRate?: number;\n      /** Free shipping. */\n      freeShipping?: boolean;\n      /** Fixed sale price. */\n      fixedPriceAmount?: number;\n      /** For example: buy 3, get 1. */\n      buyXGetY?: BuyXGetY;\n  }\n  interface Scope {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events) */\n      namespace?: string;\n      /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */\n      group?: Group;\n  }\n  interface Group {\n      /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      name?: string;\n      /** Item ID (when the coupon scope is limited to just one item). */\n      entityId?: string | null;\n  }\n  /** Coupon type and information */\n  interface BuyXGetY {\n      /** Coupon type and information */\n      x?: number;\n      /** Coupon type and information */\n      y?: number;\n  }\n  interface DisplayData {\n      /** Coupon name to be displayed. */\n      name?: string;\n      /** Displayed media item information. */\n      mediaItem?: MediaItem;\n      /** Formatted price for display. */\n      formattedPrice?: string | null;\n  }\n  interface CreateCouponRequest {\n      /** Coupon metadata. ID is ignored and created by the server. */\n      specification?: Specification;\n  }\n  interface CreateCouponResponse {\n      /** ID of the newly created coupon. */\n      _id?: string;\n  }\n  interface UpdateCouponRequest {\n      /** Coupon ID. */\n      _id: string;\n      /** Field mask of fields to update (required - passing an empty `fieldMask` will return an error). Valid field masks are any of those in the `specification` field. */\n      fieldMask?: string[];\n      /** Coupon metadata to change. Changing the type is not allowed. */\n      specification?: Specification;\n  }\n  interface UpdateCouponResponse {\n  }\n  interface GetCouponRequest {\n      /** Coupon ID. */\n      _id: string;\n  }\n  interface GetCouponResponse {\n      /** Requested coupon. */\n      coupon?: Coupon;\n  }\n  interface DeleteCouponRequest {\n      /** Coupon ID. */\n      _id: string;\n  }\n  interface DeleteCouponResponse {\n  }\n  interface QueryCouponsRequest {\n      query?: Query;\n  }\n  interface Query {\n      /** Optional pagination parameters */\n      paging?: Paging;\n      /** Filter string (e.g., when {\"expired\":\"true\"}, expired coupons will be returned). */\n      filter?: string | null;\n      /** Sort string. */\n      sort?: string | null;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Offset since the beginning of the collection. */\n      offset?: number | null;\n  }\n  interface QueryCouponsResponse {\n      /** Returned coupons. */\n      coupons?: Coupon[];\n      /** Total results. */\n      totalResults?: number | null;\n  }\n  interface CalculateRequest extends CalculateRequestCalculateByOneOf {\n      /** Cart to which the coupon will be applied. */\n      cart?: Cart;\n      /** Currency symbol for error message and applied coupon. */\n      currencySymbol?: string;\n      /** Round the result to <precision> places after the decimal dot. Defaults to 2 if not provided. */\n      precision?: number | null;\n      /** Unique identifier of a buyer that applied the coupon. Used to limit coupon use per customer. */\n      uniqueUserIdentifier?: string | null;\n      /** For calculating by coupon ID (usually for cart calculate phase). */\n      _id?: string;\n      /** For calculating by coupon code (usually for apply coupon phase - for validation). */\n      code: string;\n      /** Type of in-memory discount that can be applied when coupon doesn't exist. */\n      discount?: Specification;\n  }\n  /** @oneof */\n  interface CalculateRequestCalculateByOneOf {\n      /** For calculating by coupon ID (usually for cart calculate phase). */\n      _id?: string;\n      /** For calculating by coupon code (usually for apply coupon phase - for validation). */\n      code?: string;\n      /** Type of in-memory discount that can be applied when coupon doesn't exist. */\n      discount?: Specification;\n  }\n  /**\n   * Cart is passed to coupon service's apply function in order to\n   * apply the coupons calculation on it\n   */\n  interface Cart {\n      /** Array of cart line items. */\n      lineItems?: LineItem[];\n      /** Cart shipping information. */\n      shipping?: Shipping;\n      /** Summary of cart totals. */\n      totals?: Totals;\n  }\n  interface AppliedDiscount {\n      /** Discount amount, in case discount is applied per line. */\n      discountAmount?: number;\n      /** Line item price after applied discount. */\n      afterDiscountAmount?: number;\n  }\n  /** represents a single line in the cart */\n  interface LineItem {\n      /** Cart line item ID - represents index position (required). */\n      lineId?: string;\n      /** Item ID in the external system - will usually be a product ID. */\n      externalId?: string;\n      /** Line item amount (while quantity = 1). */\n      amount?: number;\n      /** Line item quantity. Must be greater than 0. */\n      quantity?: number;\n      /** Coupon scopes this line item applies to. */\n      scopes?: Scope[];\n      /** Applied discount on line item after calculation. */\n      appliedDiscount?: AppliedDiscount;\n      /** Whether the line item is of type subscription. */\n      subscription?: boolean;\n  }\n  /**\n   * represents the shipping line in the cart\n   * the coupons need to know about it because of the free shipping coupon\n   */\n  interface Shipping {\n      /** Shipping price before applying the coupon. */\n      amount?: number;\n      /** Discount on shipping price. */\n      appliedDiscount?: AppliedDiscount;\n  }\n  interface Totals {\n      /** Cart subtotal. */\n      subTotal?: number;\n      /** Sum of all discounts. */\n      discount?: number;\n      total?: number;\n  }\n  interface CalculateResponse {\n      /** Cart after applying the coupon. */\n      cart?: Cart;\n      /** Applied coupon information. */\n      appliedCoupon?: AppliedCoupon;\n      /** Errors, in case call failed. */\n      error?: Error[];\n  }\n  interface AppliedCoupon {\n      /** Name of the coupon applied. */\n      name?: string;\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Whether the coupon type entitles free shipping. */\n      isFreeShipping?: boolean;\n      /** Coupon type (e.g., moneyOffAmount, buyXGetY, percentOffRate). */\n      couponType?: string;\n      /** Discount value (e.g., $10, 10%). */\n      discountValue?: string;\n      /** Amount of discounted cycles for subscription item. None specifies for all cycles. */\n      discountedCycleCount?: number | null;\n  }\n  interface Error {\n      /** error code */\n      code?: string;\n      /** descriptive error message */\n      message?: string;\n  }\n  interface IncreaseUsageRequest {\n      /** Coupon ID. */\n      _id: string;\n      /** Unique ID of the entity that the coupon was applied to (e.g., orderId). */\n      usedBy?: string | null;\n      /** Unique identifier of a buyer that applied the coupon. Used to limit coupon use per customer. */\n      uniqueUserIdentifier?: string | null;\n      /** ID of app that applied the coupon (e.g. bookings appDefId). */\n      wixAppId?: string | null;\n  }\n  interface IncreaseUsageResponse {\n      /** Errors, in case call failed. */\n      error?: Error[];\n  }\n  interface CouponApplied {\n      /** Applied coupon information. */\n      coupon?: Coupon;\n      /**\n       * ID of Wix app that applied the coupon. Supported values:\n       * + Wix Stores - `1380b703-ce81-ff05-f115-39571d94dfcd`\n       * + Wix Bookings - `13d21c63-b5ec-5912-8397-c3a5ddb27a97`\n       * + Wix Events - `140603ad-af8d-84a5-2c80-a0f60cb47351`\n       */\n      wixAppId?: string;\n      /** ID of the entity that the coupon was applied to (orderId, bookingId, etc.). */\n      wixAppOrderId?: string;\n  }\n  interface HasCouponsRequest {\n  }\n  interface HasCouponsResponse {\n      /** True if site has ever had a coupon. */\n      hasCoupons?: boolean;\n  }\n  interface BulkDeleteCouponsRequest {\n      /** List of coupon IDs to delete. */\n      ids?: string[];\n  }\n  interface BulkDeleteCouponsResponse {\n      /** Item metadata. */\n      results?: ItemMetadata[];\n      /** Bulk action metadata. */\n      deleteMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      code?: string;\n      description?: string;\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkCreateCouponsRequest {\n      /** List of coupon specifications to be created. */\n      specifications?: Specification[];\n      /** Whether to return full coupon entity in the response. Defaults to `false`. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkCreateCouponsResponse {\n      /** Items created by bulk action. */\n      results?: BulkCreateCouponResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCreateCouponResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** New coupon. */\n      coupon?: Coupon;\n  }\n  /**\n   * Creates a new coupon.\n   * @public\n   * @documentationMaturity preview\n   */\n  function create(options?: CreateOptions): Promise<CreateCouponResponse>;\n  interface CreateOptions {\n      /** Coupon metadata. ID is ignored and created by the server. */\n      specification?: Specification;\n  }\n  /**\n   * Updates a coupon (coupon type can't be changed).\n   * @param _id - Coupon ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function update(_id: string, options?: UpdateOptions): Promise<void>;\n  interface UpdateOptions {\n      /** Field mask of fields to update (required - passing an empty `fieldMask` will return an error). Valid field masks are any of those in the `specification` field. */\n      fieldMask?: string[];\n      /** Coupon metadata to change. Changing the type is not allowed. */\n      specification?: Specification;\n  }\n  /**\n   * Retrieves a coupon by ID.\n   * @param _id - Coupon ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @returns Requested coupon.\n   */\n  function get(_id: string): Promise<Coupon>;\n  /**\n   * Deletes a coupon by ID.\n   * @param _id - Coupon ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function _delete(_id: string): Promise<void>;\n  /**\n   * Retrieves a list of coupons with pagination and filters.\n   * A maximum of 100 coupons will be returned per request.\n   * @public\n   * @documentationMaturity preview\n   */\n  function query(options?: QueryOptions): Promise<QueryCouponsResponse>;\n  interface QueryOptions {\n      query?: Query;\n  }\n  /**\n   * Calculate a cart's total price after applying a coupon.\n   * Pass the Cart with line items and shipping, and the cart will be returned\n   * along with its coupon's calculations applied.\n   * @param code - For calculating by coupon code (usually for apply coupon phase - for validation).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField code\n   */\n  function calculateCart(code: string, options?: CalculateCartOptions): Promise<CalculateResponse>;\n  interface CalculateCartOptions {\n      /** For calculating by coupon ID (usually for cart calculate phase). */\n      _id?: string;\n      /** Type of in-memory discount that can be applied when coupon doesn't exist. */\n      discount?: Specification;\n      /** Cart to which the coupon will be applied. */\n      cart?: Cart;\n      /** Currency symbol for error message and applied coupon. */\n      currencySymbol?: string;\n      /** Round the result to <precision> places after the decimal dot. Defaults to 2 if not provided. */\n      precision?: number | null;\n      /** Unique identifier of a buyer that applied the coupon. Used to limit coupon use per customer. */\n      uniqueUserIdentifier?: string | null;\n  }\n  /**\n   * It is the responsibility of the payment process to call this endpoint after\n   * the coupon was used.\n   * @param _id - Coupon ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function increaseUsage(_id: string, options?: IncreaseUsageOptions): Promise<IncreaseUsageResponse>;\n  interface IncreaseUsageOptions {\n      /** Unique ID of the entity that the coupon was applied to (e.g., orderId). */\n      usedBy?: string | null;\n      /** Unique identifier of a buyer that applied the coupon. Used to limit coupon use per customer. */\n      uniqueUserIdentifier?: string | null;\n      /** ID of app that applied the coupon (e.g. bookings appDefId). */\n      wixAppId?: string | null;\n  }\n  /**\n   * Returns true if the site has ever had any coupons (even if they have all been deleted or deactivated).\n   * @internal\n   * @documentationMaturity preview\n   */\n  function hasCoupons(): Promise<HasCouponsResponse>;\n  /**\n   * Deletes multiple coupons.\n   * @public\n   * @documentationMaturity preview\n   */\n  function bulkDeleteCoupons(options?: BulkDeleteCouponsOptions): Promise<BulkDeleteCouponsResponse>;\n  interface BulkDeleteCouponsOptions {\n      /** List of coupon IDs to delete. */\n      ids?: string[];\n  }\n  /**\n   * Creates multiple new coupons.\n   * @public\n   * @documentationMaturity preview\n   */\n  function bulkCreateCoupons(options?: BulkCreateCouponsOptions): Promise<BulkCreateCouponsResponse>;\n  interface BulkCreateCouponsOptions {\n      /** List of coupon specifications to be created. */\n      specifications?: Specification[];\n      /** Whether to return full coupon entity in the response. Defaults to `false`. */\n      returnFullEntity?: boolean;\n  }\n  \n  const ecommerceCouponsV2Coupon_universal_d___debug: typeof __debug;\n  type ecommerceCouponsV2Coupon_universal_d_Coupon = Coupon;\n  type ecommerceCouponsV2Coupon_universal_d_MediaItem = MediaItem;\n  type ecommerceCouponsV2Coupon_universal_d_Specification = Specification;\n  type ecommerceCouponsV2Coupon_universal_d_SpecificationScopeOrMinSubtotalOneOf = SpecificationScopeOrMinSubtotalOneOf;\n  type ecommerceCouponsV2Coupon_universal_d_SpecificationBehaviorOneOf = SpecificationBehaviorOneOf;\n  type ecommerceCouponsV2Coupon_universal_d_Scope = Scope;\n  type ecommerceCouponsV2Coupon_universal_d_Group = Group;\n  type ecommerceCouponsV2Coupon_universal_d_BuyXGetY = BuyXGetY;\n  type ecommerceCouponsV2Coupon_universal_d_DisplayData = DisplayData;\n  type ecommerceCouponsV2Coupon_universal_d_CreateCouponRequest = CreateCouponRequest;\n  type ecommerceCouponsV2Coupon_universal_d_CreateCouponResponse = CreateCouponResponse;\n  type ecommerceCouponsV2Coupon_universal_d_UpdateCouponRequest = UpdateCouponRequest;\n  type ecommerceCouponsV2Coupon_universal_d_UpdateCouponResponse = UpdateCouponResponse;\n  type ecommerceCouponsV2Coupon_universal_d_GetCouponRequest = GetCouponRequest;\n  type ecommerceCouponsV2Coupon_universal_d_GetCouponResponse = GetCouponResponse;\n  type ecommerceCouponsV2Coupon_universal_d_DeleteCouponRequest = DeleteCouponRequest;\n  type ecommerceCouponsV2Coupon_universal_d_DeleteCouponResponse = DeleteCouponResponse;\n  type ecommerceCouponsV2Coupon_universal_d_QueryCouponsRequest = QueryCouponsRequest;\n  type ecommerceCouponsV2Coupon_universal_d_Query = Query;\n  type ecommerceCouponsV2Coupon_universal_d_Paging = Paging;\n  type ecommerceCouponsV2Coupon_universal_d_QueryCouponsResponse = QueryCouponsResponse;\n  type ecommerceCouponsV2Coupon_universal_d_CalculateRequest = CalculateRequest;\n  type ecommerceCouponsV2Coupon_universal_d_CalculateRequestCalculateByOneOf = CalculateRequestCalculateByOneOf;\n  type ecommerceCouponsV2Coupon_universal_d_Cart = Cart;\n  type ecommerceCouponsV2Coupon_universal_d_AppliedDiscount = AppliedDiscount;\n  type ecommerceCouponsV2Coupon_universal_d_LineItem = LineItem;\n  type ecommerceCouponsV2Coupon_universal_d_Shipping = Shipping;\n  type ecommerceCouponsV2Coupon_universal_d_Totals = Totals;\n  type ecommerceCouponsV2Coupon_universal_d_CalculateResponse = CalculateResponse;\n  type ecommerceCouponsV2Coupon_universal_d_AppliedCoupon = AppliedCoupon;\n  type ecommerceCouponsV2Coupon_universal_d_Error = Error;\n  type ecommerceCouponsV2Coupon_universal_d_IncreaseUsageRequest = IncreaseUsageRequest;\n  type ecommerceCouponsV2Coupon_universal_d_IncreaseUsageResponse = IncreaseUsageResponse;\n  type ecommerceCouponsV2Coupon_universal_d_CouponApplied = CouponApplied;\n  type ecommerceCouponsV2Coupon_universal_d_HasCouponsRequest = HasCouponsRequest;\n  type ecommerceCouponsV2Coupon_universal_d_HasCouponsResponse = HasCouponsResponse;\n  type ecommerceCouponsV2Coupon_universal_d_BulkDeleteCouponsRequest = BulkDeleteCouponsRequest;\n  type ecommerceCouponsV2Coupon_universal_d_BulkDeleteCouponsResponse = BulkDeleteCouponsResponse;\n  type ecommerceCouponsV2Coupon_universal_d_ItemMetadata = ItemMetadata;\n  type ecommerceCouponsV2Coupon_universal_d_ApplicationError = ApplicationError;\n  type ecommerceCouponsV2Coupon_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsRequest = BulkCreateCouponsRequest;\n  type ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsResponse = BulkCreateCouponsResponse;\n  type ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponResult = BulkCreateCouponResult;\n  const ecommerceCouponsV2Coupon_universal_d_create: typeof create;\n  type ecommerceCouponsV2Coupon_universal_d_CreateOptions = CreateOptions;\n  const ecommerceCouponsV2Coupon_universal_d_update: typeof update;\n  type ecommerceCouponsV2Coupon_universal_d_UpdateOptions = UpdateOptions;\n  const ecommerceCouponsV2Coupon_universal_d_get: typeof get;\n  const ecommerceCouponsV2Coupon_universal_d__delete: typeof _delete;\n  const ecommerceCouponsV2Coupon_universal_d_query: typeof query;\n  type ecommerceCouponsV2Coupon_universal_d_QueryOptions = QueryOptions;\n  const ecommerceCouponsV2Coupon_universal_d_calculateCart: typeof calculateCart;\n  type ecommerceCouponsV2Coupon_universal_d_CalculateCartOptions = CalculateCartOptions;\n  const ecommerceCouponsV2Coupon_universal_d_increaseUsage: typeof increaseUsage;\n  type ecommerceCouponsV2Coupon_universal_d_IncreaseUsageOptions = IncreaseUsageOptions;\n  const ecommerceCouponsV2Coupon_universal_d_hasCoupons: typeof hasCoupons;\n  const ecommerceCouponsV2Coupon_universal_d_bulkDeleteCoupons: typeof bulkDeleteCoupons;\n  type ecommerceCouponsV2Coupon_universal_d_BulkDeleteCouponsOptions = BulkDeleteCouponsOptions;\n  const ecommerceCouponsV2Coupon_universal_d_bulkCreateCoupons: typeof bulkCreateCoupons;\n  type ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsOptions = BulkCreateCouponsOptions;\n  namespace ecommerceCouponsV2Coupon_universal_d {\n    export {\n      ecommerceCouponsV2Coupon_universal_d___debug as __debug,\n      ecommerceCouponsV2Coupon_universal_d_Coupon as Coupon,\n      ecommerceCouponsV2Coupon_universal_d_MediaItem as MediaItem,\n      ecommerceCouponsV2Coupon_universal_d_Specification as Specification,\n      ecommerceCouponsV2Coupon_universal_d_SpecificationScopeOrMinSubtotalOneOf as SpecificationScopeOrMinSubtotalOneOf,\n      ecommerceCouponsV2Coupon_universal_d_SpecificationBehaviorOneOf as SpecificationBehaviorOneOf,\n      ecommerceCouponsV2Coupon_universal_d_Scope as Scope,\n      ecommerceCouponsV2Coupon_universal_d_Group as Group,\n      ecommerceCouponsV2Coupon_universal_d_BuyXGetY as BuyXGetY,\n      ecommerceCouponsV2Coupon_universal_d_DisplayData as DisplayData,\n      ecommerceCouponsV2Coupon_universal_d_CreateCouponRequest as CreateCouponRequest,\n      ecommerceCouponsV2Coupon_universal_d_CreateCouponResponse as CreateCouponResponse,\n      ecommerceCouponsV2Coupon_universal_d_UpdateCouponRequest as UpdateCouponRequest,\n      ecommerceCouponsV2Coupon_universal_d_UpdateCouponResponse as UpdateCouponResponse,\n      ecommerceCouponsV2Coupon_universal_d_GetCouponRequest as GetCouponRequest,\n      ecommerceCouponsV2Coupon_universal_d_GetCouponResponse as GetCouponResponse,\n      ecommerceCouponsV2Coupon_universal_d_DeleteCouponRequest as DeleteCouponRequest,\n      ecommerceCouponsV2Coupon_universal_d_DeleteCouponResponse as DeleteCouponResponse,\n      ecommerceCouponsV2Coupon_universal_d_QueryCouponsRequest as QueryCouponsRequest,\n      ecommerceCouponsV2Coupon_universal_d_Query as Query,\n      ecommerceCouponsV2Coupon_universal_d_Paging as Paging,\n      ecommerceCouponsV2Coupon_universal_d_QueryCouponsResponse as QueryCouponsResponse,\n      ecommerceCouponsV2Coupon_universal_d_CalculateRequest as CalculateRequest,\n      ecommerceCouponsV2Coupon_universal_d_CalculateRequestCalculateByOneOf as CalculateRequestCalculateByOneOf,\n      ecommerceCouponsV2Coupon_universal_d_Cart as Cart,\n      ecommerceCouponsV2Coupon_universal_d_AppliedDiscount as AppliedDiscount,\n      ecommerceCouponsV2Coupon_universal_d_LineItem as LineItem,\n      ecommerceCouponsV2Coupon_universal_d_Shipping as Shipping,\n      ecommerceCouponsV2Coupon_universal_d_Totals as Totals,\n      ecommerceCouponsV2Coupon_universal_d_CalculateResponse as CalculateResponse,\n      ecommerceCouponsV2Coupon_universal_d_AppliedCoupon as AppliedCoupon,\n      ecommerceCouponsV2Coupon_universal_d_Error as Error,\n      ecommerceCouponsV2Coupon_universal_d_IncreaseUsageRequest as IncreaseUsageRequest,\n      ecommerceCouponsV2Coupon_universal_d_IncreaseUsageResponse as IncreaseUsageResponse,\n      ecommerceCouponsV2Coupon_universal_d_CouponApplied as CouponApplied,\n      ecommerceCouponsV2Coupon_universal_d_HasCouponsRequest as HasCouponsRequest,\n      ecommerceCouponsV2Coupon_universal_d_HasCouponsResponse as HasCouponsResponse,\n      ecommerceCouponsV2Coupon_universal_d_BulkDeleteCouponsRequest as BulkDeleteCouponsRequest,\n      ecommerceCouponsV2Coupon_universal_d_BulkDeleteCouponsResponse as BulkDeleteCouponsResponse,\n      ecommerceCouponsV2Coupon_universal_d_ItemMetadata as ItemMetadata,\n      ecommerceCouponsV2Coupon_universal_d_ApplicationError as ApplicationError,\n      ecommerceCouponsV2Coupon_universal_d_BulkActionMetadata as BulkActionMetadata,\n      ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsRequest as BulkCreateCouponsRequest,\n      ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsResponse as BulkCreateCouponsResponse,\n      ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponResult as BulkCreateCouponResult,\n      ecommerceCouponsV2Coupon_universal_d_create as create,\n      ecommerceCouponsV2Coupon_universal_d_CreateOptions as CreateOptions,\n      ecommerceCouponsV2Coupon_universal_d_update as update,\n      ecommerceCouponsV2Coupon_universal_d_UpdateOptions as UpdateOptions,\n      ecommerceCouponsV2Coupon_universal_d_get as get,\n      ecommerceCouponsV2Coupon_universal_d__delete as _delete,\n      ecommerceCouponsV2Coupon_universal_d_query as query,\n      ecommerceCouponsV2Coupon_universal_d_QueryOptions as QueryOptions,\n      ecommerceCouponsV2Coupon_universal_d_calculateCart as calculateCart,\n      ecommerceCouponsV2Coupon_universal_d_CalculateCartOptions as CalculateCartOptions,\n      ecommerceCouponsV2Coupon_universal_d_increaseUsage as increaseUsage,\n      ecommerceCouponsV2Coupon_universal_d_IncreaseUsageOptions as IncreaseUsageOptions,\n      ecommerceCouponsV2Coupon_universal_d_hasCoupons as hasCoupons,\n      ecommerceCouponsV2Coupon_universal_d_bulkDeleteCoupons as bulkDeleteCoupons,\n      ecommerceCouponsV2Coupon_universal_d_BulkDeleteCouponsOptions as BulkDeleteCouponsOptions,\n      ecommerceCouponsV2Coupon_universal_d_bulkCreateCoupons as bulkCreateCoupons,\n      ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsOptions as BulkCreateCouponsOptions,\n    };\n  }\n  \n  export { ecommerceCouponsV2Coupon_universal_d as coupons };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-groups-backend.v3.d.ts",
      "content": "declare module \"wix-groups-backend.v3\" {\n  /**\n   * >**Notes:**\n   * > + Site owners may set that members are not permitted to create groups in the Wix Groups application settings.\n   * > + In this situation, site members have to submit a Create Request to create a new group.\n   * > + Create Requests can be approved or rejected by an admin.\n   * > + After a Create Request has been approved, the new group is added to the Group List in the Wix Groups app home page.\n   * > + See [Introduction](https://dev.wix.com/api/rest/wix-groups/groups/introduction#wix-groups_groups_introduction_terminology) for more details.\n   */\n  interface CreateRequest {\n      /**\n       * Create request ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Group requested for creation. */\n      group?: Group;\n      /**\n       * Status of request.\n       * - `PENDING` - Pending request.\n       * - `APPROVED` - Approved request.\n       * - `REJECTED` - Rejected request.\n       * - `CANCELED` - Canceled request.\n       */\n      status?: RequestStatus$1;\n      /** Request details. */\n      requestDetails?: RequestDetails$1;\n  }\n  interface Group {\n      /**\n       * Group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** A unique part of a group's URL, for example `https:/example.com/groups/slug`. */\n      slug?: string | null;\n      /**\n       * __Deprecated.__ Use `privacyStatus` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      privacyLevel?: PrivacyStatus;\n      /**\n       * Group privacy status.\n       * - `PUBLIC` - Anyone can see the group and its content. Anyone can join the group.\n       * - `PRIVATE` - Anyone can see the group, but only members can see its content. New member must submit a `Join Group Request`.\n       * - `SECRET` - Only admins and members can see the group. New members can only be added by other members.\n       */\n      privacyStatus?: PrivacyStatus;\n      /** @internal */\n      accessRestriction?: AccessRestriction;\n      /**\n       * __Deprecated.__ Use `name` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      title?: string | null;\n      /** Group name. */\n      name?: string | null;\n      /** Group description in DraftJS format. */\n      description?: string | null;\n      /** Group teaser. */\n      teaser?: string | null;\n      /**\n       * __Deprecated.__\n       * For `details.logo`, use `coverImage` instead.\n       * For `details.membersTitle`, `memberTitle` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      details?: GroupDetails;\n      /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n      memberTitle?: string | null;\n      /** Cover image. You cannot upload your own cover image. */\n      coverImage?: CoverImage;\n      /** Group specific settings. Available to the site owners under `Admin Tools` in the dashboard. */\n      settings?: GroupSettings;\n      /**\n       * Total count of current group members.\n       * @readonly\n       */\n      membersCount?: number | null;\n      /**\n       * __Deprecated.__ Use `ownerId` instead.\n       * This property will be removed on June 30, 2022.\n       * @readonly\n       */\n      createdBy?: Identity;\n      /**\n       * Group owner.\n       * @readonly\n       */\n      ownerId?: string | null;\n      /**\n       * Group creation date and time.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time of the latest group update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * __Deprecated.__ Use `lastActivityDate` instead.\n       * This property will be removed on June 30, 2022.\n       * @readonly\n       */\n      recentActivityDate?: Date;\n      /**\n       * Date and time of the most recent group activity, for example a post or comment.\n       * @readonly\n       */\n      lastActivityDate?: Date;\n      /**\n       * Number of pending group members. Relevant only for `PRIVATE` groups.\n       * @internal\n       * @readonly\n       */\n      pendingMembersCount?: number | null;\n      /**\n       * Number of posts and comments in the group since the calling member last saw the group.\n       * @internal\n       * @readonly\n       */\n      updatesCount?: number | null;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      ADMIN_APPROVAL = \"ADMIN_APPROVAL\",\n      PAID_PLANS = \"PAID_PLANS\",\n      EVENTS = \"EVENTS\"\n  }\n  interface Events {\n      eventIds?: string[];\n  }\n  interface Logo {\n      /** Logo image ID (for internal use). */\n      mediaId?: string | null;\n      /**\n       * Logo image file URL.\n       * @internal\n       */\n      fileUrl?: string | null;\n      /** Logo image width. */\n      width?: number | null;\n      /** Logo image height. */\n      height?: number | null;\n  }\n  interface GroupDetailsPosition {\n      /** horizontal coordinate */\n      x?: number;\n      /** vertical coordinate */\n      y?: number;\n  }\n  interface Image {\n      /** Image ID (for internal use). */\n      mediaId?: string | null;\n      /**\n       * Image file URL.\n       * @internal\n       */\n      fileUrl?: string | null;\n      /** Image width. */\n      width?: number | null;\n      /** Image height. */\n      height?: number | null;\n  }\n  interface Position {\n      /** horizontal coordinate */\n      x?: number;\n      /** vertical coordinate */\n      y?: number;\n  }\n  enum AllowPolicy {\n      UNKNOWN = \"UNKNOWN\",\n      OWNER_AND_ADMINS = \"OWNER_AND_ADMINS\",\n      OWNER = \"OWNER\",\n      ALL_MEMBERS = \"ALL_MEMBERS\"\n  }\n  interface OnboardingStepSettings {\n      stepKey?: StepKey;\n      visible?: boolean;\n  }\n  enum StepKey {\n      UNKNOWN = \"UNKNOWN\",\n      CREATE_POST = \"CREATE_POST\",\n      REACT_TO_POST = \"REACT_TO_POST\",\n      INVITE_MEMBERS = \"INVITE_MEMBERS\"\n  }\n  enum PrivacyStatus {\n      UNKNOWN = \"UNKNOWN\",\n      /** Anyone can see the group in the group list and view its content. Anyone can join. */\n      PUBLIC = \"PUBLIC\",\n      /** Anyone can see the group in the group list, but only group members can see its content. In order to join a group, a group join request must be submitted. */\n      PRIVATE = \"PRIVATE\",\n      /** Only group members and admins can see the group in the group list. New group members can only be added by existing group members. */\n      SECRET = \"SECRET\"\n  }\n  interface AccessRestriction extends AccessRestrictionDataOneOf {\n      events?: Events;\n      type?: Type;\n  }\n  /** @oneof */\n  interface AccessRestrictionDataOneOf {\n      events?: Events;\n  }\n  interface GroupDetails {\n      /** Group logo. You cannot upload your own logo. */\n      logo?: Logo;\n      /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n      membersTitle?: string | null;\n      /**\n       * Position of the corner of the cover image (or logo).\n       * @internal\n       */\n      logoPosition?: GroupDetailsPosition;\n      /**\n       * Position of the corner of the cover image (or logo) for mobile browser.\n       * @internal\n       */\n      mobileLogoPosition?: GroupDetailsPosition;\n  }\n  interface CoverImage {\n      /** Cover image. */\n      image?: Image;\n      /** Position of the corner of the cover image (or logo). */\n      position?: Position;\n      /** Position of the corner of the cover image (or logo) for mobile browser. */\n      mobilePosition?: Position;\n  }\n  interface GroupSettings {\n      /**\n       * __Deprecated.__ Use `allowedToInviteMembers` instead.\n       * Whether regular members are permitted to invite new members.\n       * If `false`, only admins can invite members. Defaults to `true`.\n       */\n      membersCanInvite?: boolean | null;\n      /**\n       * __Deprecated.__ Use `allowedToApproveJoinRequests` instead.\n       * Whether all group members are permitted to approve join group requests.\n       * If `false`, member approval is limited to the admins.\n       */\n      membersCanApprove?: boolean | null;\n      /**\n       * __Deprecated.__ Use `welcomeMemberPostEnabled` instead.\n       * This property will be removed on June 30, 2022.\n       */\n      memberWelcomePostEnabled?: boolean | null;\n      /** Whether a daily post about new members is enabled. */\n      welcomeMemberPostEnabled?: boolean | null;\n      /** Whether an automatic post about changing the group details is enabled. */\n      groupDetailsChangedPostEnabled?: boolean | null;\n      /** Whether all members can see the full member list. */\n      showMemberList?: boolean | null;\n      /**\n       * Whether an automatic post about added events is enabled.\n       * @internal\n       */\n      eventAddedPostEnabled?: boolean | null;\n      /**\n       * Determines who can invite members to the group\n       * @internal\n       */\n      allowedToInviteMembers?: AllowPolicy;\n      /**\n       * Determines who can approve member join requests to the group\n       * @internal\n       */\n      allowedToApproveJoinRequests?: AllowPolicy;\n      /**\n       * Determines who can add site members to the group\n       * @internal\n       */\n      allowedToAddMembers?: AllowPolicy;\n      /**\n       * Determines who can create posts in the group\n       * @internal\n       */\n      allowedToCreatePosts?: AllowPolicy;\n      /**\n       * Determines who can comment posts in the group\n       * @internal\n       */\n      allowedToCommentPosts?: AllowPolicy;\n      onboardingStepsSettings?: OnboardingStepSettings[];\n  }\n  interface Identity {\n      /** Member ID of the group creator.  See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      _id?: string | null;\n      identityType?: IdentityType;\n  }\n  enum IdentityType {\n      USER = \"USER\",\n      MEMBER = \"MEMBER\"\n  }\n  enum RequestStatus$1 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Pending request. */\n      PENDING = \"PENDING\",\n      /** Approved request. */\n      APPROVED = \"APPROVED\",\n      /** Rejected request. */\n      REJECTED = \"REJECTED\",\n      /** Cancelled request. */\n      CANCELLED = \"CANCELLED\",\n      /** Canceled request. */\n      CANCELED = \"CANCELED\"\n  }\n  interface RequestDetails$1 {\n      /** Reason the request has been rejected. */\n      rejectionReason?: string | null;\n  }\n  interface SubmitCreateRequestRequest {\n      /** Group submitted for creation. */\n      group?: Group;\n  }\n  interface SubmitCreateRequestResponse {\n      /** Submitted Create Request. */\n      createRequest?: CreateRequest;\n  }\n  interface ApproveCreateRequestsRequest {\n      /**\n       * Which items to approve.\n       * @internal\n       */\n      itemsToApprove?: ItemsToUpdate$1;\n      /** Create Request IDs to approve. Limited to `100`. */\n      createRequestIds?: string[];\n  }\n  enum ItemsToUpdate$1 {\n      /** Take into account only items which are listed in request. */\n      BY_ID = \"BY_ID\",\n      /** Update all items. */\n      ALL_ITEMS = \"ALL_ITEMS\"\n  }\n  interface ApproveCreateRequestsResponse {\n      /** Approved Create Requests. */\n      createRequest?: CreateRequest[];\n  }\n  interface CreateRequestApproved {\n      /** Approved create request. */\n      createRequest?: CreateRequest;\n  }\n  interface RejectCreateRequestsRequest {\n      /**\n       * Which items to reject.\n       * @internal\n       */\n      itemsToReject?: ItemsToUpdate$1;\n      /** Rejection data. */\n      rejections?: Rejection$1[];\n  }\n  interface Rejection$1 {\n      /** ID of the Create Request to reject. */\n      createRequestId?: string;\n      /** Rejection reason. Free text displayed to the creator of the rejected Create Request. Limited to 1,000 characters. */\n      reason?: string | null;\n  }\n  interface RejectCreateRequestsResponse {\n      /** Rejected Create Requests. */\n      createRequest?: CreateRequest[];\n  }\n  interface CreateRequestRejected {\n      /** Rejected create request. */\n      createRequest?: CreateRequest;\n  }\n  interface CancelCreateRequestRequest {\n      /** ID of the Create Request to cancel. */\n      createRequestId: string;\n  }\n  interface CancelCreateRequestResponse {\n      /** Canceled Create Request. */\n      createRequest?: CreateRequest;\n  }\n  interface ListCreateRequestsRequest {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All Create requests.\n       * - `CURRENT_MEMBER` - Create requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      /** Number of items to load. Maximum `100`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  enum OwnershipFilter$1 {\n      /** All items. */\n      ALL = \"ALL\",\n      /** Items for current site member. */\n      CURRENT_MEMBER = \"CURRENT_MEMBER\"\n  }\n  interface ListCreateRequestsResponse {\n      /** Create Requests. */\n      createRequests?: CreateRequest[];\n      metadata?: PagingMetadata$1;\n  }\n  interface PagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryCreateRequestsRequest {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All create requests.\n       * - `CURRENT_MEMBER` - Create requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      query?: Query$1;\n  }\n  interface Query$1 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryCreateRequestsResponse {\n      /** Retrieved Create Requests. */\n      createRequests?: CreateRequest[];\n      metadata?: PagingMetadata$1;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Submit a create request.\n   * Can be used in case `GroupsAppSettings.create_groups_policy` = `MEMBERS_WITH_APPROVAL`.\n   * This endpoint doesn't support server signing.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function submitCreateRequest(options?: SubmitCreateRequestOptions): Promise<SubmitCreateRequestResponse>;\n  interface SubmitCreateRequestOptions {\n      /** Group submitted for creation. */\n      group?: Group;\n  }\n  /**\n   * Approves Create Requests.\n   * Only admins can approve Create Requests.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function approveCreateRequests(options?: ApproveCreateRequestsOptions): Promise<ApproveCreateRequestsResponse>;\n  interface ApproveCreateRequestsOptions {\n      /**\n       * Which items to approve.\n       * @internal\n       */\n      itemsToApprove?: ItemsToUpdate$1;\n      /** Create Request IDs to approve. Limited to `100`. */\n      createRequestIds?: string[];\n  }\n  /**\n   * Rejects Create Requests.\n   * Only admins can reject Create Requests.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function rejectCreateRequests(options?: RejectCreateRequestsOptions): Promise<RejectCreateRequestsResponse>;\n  interface RejectCreateRequestsOptions {\n      /**\n       * Which items to reject.\n       * @internal\n       */\n      itemsToReject?: ItemsToUpdate$1;\n      /** Rejection data. */\n      rejections?: Rejection$1[];\n  }\n  /**\n   * Cancels a Create Request.\n   * Group managers always have access to this functionality. Site members can cancel their own create requests.\n   * This endpoint doesn't support server signing.\n   * @param createRequestId - ID of the Create Request to cancel.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField createRequestId\n   * @adminMethod\n   */\n  function cancelCreateRequest(createRequestId: string): Promise<CancelCreateRequestResponse>;\n  /**\n   * Lists create requests across the site.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listCreateRequests(options?: ListCreateRequestsOptions): Promise<ListCreateRequestsResponse>;\n  interface ListCreateRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All Create requests.\n       * - `CURRENT_MEMBER` - Create requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      /** Number of items to load. Maximum `100`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  /**\n   * Retrieves a list of create requests across the site.\n   *\n   * Supported fields for filtering:\n   * - `status`\n   *\n   * Supported fields for sorting:\n   * - `createdDate`\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryCreateRequests(options?: QueryCreateRequestsOptions): Promise<QueryCreateRequestsResponse>;\n  interface QueryCreateRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All create requests.\n       * - `CURRENT_MEMBER` - Create requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      query?: Query$1;\n  }\n  \n  type socialGroupsV3CreateRequest_universal_d_CreateRequest = CreateRequest;\n  type socialGroupsV3CreateRequest_universal_d_Group = Group;\n  type socialGroupsV3CreateRequest_universal_d_Type = Type;\n  const socialGroupsV3CreateRequest_universal_d_Type: typeof Type;\n  type socialGroupsV3CreateRequest_universal_d_Events = Events;\n  type socialGroupsV3CreateRequest_universal_d_Logo = Logo;\n  type socialGroupsV3CreateRequest_universal_d_GroupDetailsPosition = GroupDetailsPosition;\n  type socialGroupsV3CreateRequest_universal_d_Image = Image;\n  type socialGroupsV3CreateRequest_universal_d_Position = Position;\n  type socialGroupsV3CreateRequest_universal_d_AllowPolicy = AllowPolicy;\n  const socialGroupsV3CreateRequest_universal_d_AllowPolicy: typeof AllowPolicy;\n  type socialGroupsV3CreateRequest_universal_d_OnboardingStepSettings = OnboardingStepSettings;\n  type socialGroupsV3CreateRequest_universal_d_StepKey = StepKey;\n  const socialGroupsV3CreateRequest_universal_d_StepKey: typeof StepKey;\n  type socialGroupsV3CreateRequest_universal_d_PrivacyStatus = PrivacyStatus;\n  const socialGroupsV3CreateRequest_universal_d_PrivacyStatus: typeof PrivacyStatus;\n  type socialGroupsV3CreateRequest_universal_d_AccessRestriction = AccessRestriction;\n  type socialGroupsV3CreateRequest_universal_d_AccessRestrictionDataOneOf = AccessRestrictionDataOneOf;\n  type socialGroupsV3CreateRequest_universal_d_GroupDetails = GroupDetails;\n  type socialGroupsV3CreateRequest_universal_d_CoverImage = CoverImage;\n  type socialGroupsV3CreateRequest_universal_d_GroupSettings = GroupSettings;\n  type socialGroupsV3CreateRequest_universal_d_Identity = Identity;\n  type socialGroupsV3CreateRequest_universal_d_IdentityType = IdentityType;\n  const socialGroupsV3CreateRequest_universal_d_IdentityType: typeof IdentityType;\n  type socialGroupsV3CreateRequest_universal_d_SubmitCreateRequestRequest = SubmitCreateRequestRequest;\n  type socialGroupsV3CreateRequest_universal_d_SubmitCreateRequestResponse = SubmitCreateRequestResponse;\n  type socialGroupsV3CreateRequest_universal_d_ApproveCreateRequestsRequest = ApproveCreateRequestsRequest;\n  type socialGroupsV3CreateRequest_universal_d_ApproveCreateRequestsResponse = ApproveCreateRequestsResponse;\n  type socialGroupsV3CreateRequest_universal_d_CreateRequestApproved = CreateRequestApproved;\n  type socialGroupsV3CreateRequest_universal_d_RejectCreateRequestsRequest = RejectCreateRequestsRequest;\n  type socialGroupsV3CreateRequest_universal_d_RejectCreateRequestsResponse = RejectCreateRequestsResponse;\n  type socialGroupsV3CreateRequest_universal_d_CreateRequestRejected = CreateRequestRejected;\n  type socialGroupsV3CreateRequest_universal_d_CancelCreateRequestRequest = CancelCreateRequestRequest;\n  type socialGroupsV3CreateRequest_universal_d_CancelCreateRequestResponse = CancelCreateRequestResponse;\n  type socialGroupsV3CreateRequest_universal_d_ListCreateRequestsRequest = ListCreateRequestsRequest;\n  type socialGroupsV3CreateRequest_universal_d_ListCreateRequestsResponse = ListCreateRequestsResponse;\n  type socialGroupsV3CreateRequest_universal_d_QueryCreateRequestsRequest = QueryCreateRequestsRequest;\n  type socialGroupsV3CreateRequest_universal_d_QueryCreateRequestsResponse = QueryCreateRequestsResponse;\n  const socialGroupsV3CreateRequest_universal_d_submitCreateRequest: typeof submitCreateRequest;\n  type socialGroupsV3CreateRequest_universal_d_SubmitCreateRequestOptions = SubmitCreateRequestOptions;\n  const socialGroupsV3CreateRequest_universal_d_approveCreateRequests: typeof approveCreateRequests;\n  type socialGroupsV3CreateRequest_universal_d_ApproveCreateRequestsOptions = ApproveCreateRequestsOptions;\n  const socialGroupsV3CreateRequest_universal_d_rejectCreateRequests: typeof rejectCreateRequests;\n  type socialGroupsV3CreateRequest_universal_d_RejectCreateRequestsOptions = RejectCreateRequestsOptions;\n  const socialGroupsV3CreateRequest_universal_d_cancelCreateRequest: typeof cancelCreateRequest;\n  const socialGroupsV3CreateRequest_universal_d_listCreateRequests: typeof listCreateRequests;\n  type socialGroupsV3CreateRequest_universal_d_ListCreateRequestsOptions = ListCreateRequestsOptions;\n  const socialGroupsV3CreateRequest_universal_d_queryCreateRequests: typeof queryCreateRequests;\n  type socialGroupsV3CreateRequest_universal_d_QueryCreateRequestsOptions = QueryCreateRequestsOptions;\n  namespace socialGroupsV3CreateRequest_universal_d {\n    export {\n      socialGroupsV3CreateRequest_universal_d_CreateRequest as CreateRequest,\n      socialGroupsV3CreateRequest_universal_d_Group as Group,\n      socialGroupsV3CreateRequest_universal_d_Type as Type,\n      socialGroupsV3CreateRequest_universal_d_Events as Events,\n      socialGroupsV3CreateRequest_universal_d_Logo as Logo,\n      socialGroupsV3CreateRequest_universal_d_GroupDetailsPosition as GroupDetailsPosition,\n      socialGroupsV3CreateRequest_universal_d_Image as Image,\n      socialGroupsV3CreateRequest_universal_d_Position as Position,\n      socialGroupsV3CreateRequest_universal_d_AllowPolicy as AllowPolicy,\n      socialGroupsV3CreateRequest_universal_d_OnboardingStepSettings as OnboardingStepSettings,\n      socialGroupsV3CreateRequest_universal_d_StepKey as StepKey,\n      socialGroupsV3CreateRequest_universal_d_PrivacyStatus as PrivacyStatus,\n      socialGroupsV3CreateRequest_universal_d_AccessRestriction as AccessRestriction,\n      socialGroupsV3CreateRequest_universal_d_AccessRestrictionDataOneOf as AccessRestrictionDataOneOf,\n      socialGroupsV3CreateRequest_universal_d_GroupDetails as GroupDetails,\n      socialGroupsV3CreateRequest_universal_d_CoverImage as CoverImage,\n      socialGroupsV3CreateRequest_universal_d_GroupSettings as GroupSettings,\n      socialGroupsV3CreateRequest_universal_d_Identity as Identity,\n      socialGroupsV3CreateRequest_universal_d_IdentityType as IdentityType,\n      RequestStatus$1 as RequestStatus,\n      RequestDetails$1 as RequestDetails,\n      socialGroupsV3CreateRequest_universal_d_SubmitCreateRequestRequest as SubmitCreateRequestRequest,\n      socialGroupsV3CreateRequest_universal_d_SubmitCreateRequestResponse as SubmitCreateRequestResponse,\n      socialGroupsV3CreateRequest_universal_d_ApproveCreateRequestsRequest as ApproveCreateRequestsRequest,\n      ItemsToUpdate$1 as ItemsToUpdate,\n      socialGroupsV3CreateRequest_universal_d_ApproveCreateRequestsResponse as ApproveCreateRequestsResponse,\n      socialGroupsV3CreateRequest_universal_d_CreateRequestApproved as CreateRequestApproved,\n      socialGroupsV3CreateRequest_universal_d_RejectCreateRequestsRequest as RejectCreateRequestsRequest,\n      Rejection$1 as Rejection,\n      socialGroupsV3CreateRequest_universal_d_RejectCreateRequestsResponse as RejectCreateRequestsResponse,\n      socialGroupsV3CreateRequest_universal_d_CreateRequestRejected as CreateRequestRejected,\n      socialGroupsV3CreateRequest_universal_d_CancelCreateRequestRequest as CancelCreateRequestRequest,\n      socialGroupsV3CreateRequest_universal_d_CancelCreateRequestResponse as CancelCreateRequestResponse,\n      socialGroupsV3CreateRequest_universal_d_ListCreateRequestsRequest as ListCreateRequestsRequest,\n      OwnershipFilter$1 as OwnershipFilter,\n      socialGroupsV3CreateRequest_universal_d_ListCreateRequestsResponse as ListCreateRequestsResponse,\n      PagingMetadata$1 as PagingMetadata,\n      socialGroupsV3CreateRequest_universal_d_QueryCreateRequestsRequest as QueryCreateRequestsRequest,\n      Query$1 as Query,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$1 as Paging,\n      socialGroupsV3CreateRequest_universal_d_QueryCreateRequestsResponse as QueryCreateRequestsResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      socialGroupsV3CreateRequest_universal_d_submitCreateRequest as submitCreateRequest,\n      socialGroupsV3CreateRequest_universal_d_SubmitCreateRequestOptions as SubmitCreateRequestOptions,\n      socialGroupsV3CreateRequest_universal_d_approveCreateRequests as approveCreateRequests,\n      socialGroupsV3CreateRequest_universal_d_ApproveCreateRequestsOptions as ApproveCreateRequestsOptions,\n      socialGroupsV3CreateRequest_universal_d_rejectCreateRequests as rejectCreateRequests,\n      socialGroupsV3CreateRequest_universal_d_RejectCreateRequestsOptions as RejectCreateRequestsOptions,\n      socialGroupsV3CreateRequest_universal_d_cancelCreateRequest as cancelCreateRequest,\n      socialGroupsV3CreateRequest_universal_d_listCreateRequests as listCreateRequests,\n      socialGroupsV3CreateRequest_universal_d_ListCreateRequestsOptions as ListCreateRequestsOptions,\n      socialGroupsV3CreateRequest_universal_d_queryCreateRequests as queryCreateRequests,\n      socialGroupsV3CreateRequest_universal_d_QueryCreateRequestsOptions as QueryCreateRequestsOptions,\n    };\n  }\n  \n  /**\n   * To join a private group, a site member must submit a Join Request, which can be approved or rejected by an admin.\n   * When the request is approved, the site member becomes a group member.\n   */\n  interface JoinRequest {\n      /**\n       * Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details.\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * Join request status.\n       * - `PENDING` - Pending join request.\n       * - `APPROVED` - Approved join request.\n       * - `REJECTED` - Rejected join request.\n       * - `CANCELED` - Canceled join request.\n       */\n      status?: RequestStatus;\n      /** Join request details. */\n      requestDetails?: RequestDetails;\n      /**\n       * Date and time the request was created.\n       * @internal\n       * @readonly\n       */\n      _createdDate?: Date;\n  }\n  enum RequestStatus {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Pending request. */\n      PENDING = \"PENDING\",\n      /** Approved request. */\n      APPROVED = \"APPROVED\",\n      /** Rejected request. */\n      REJECTED = \"REJECTED\",\n      /** Cancelled request. */\n      CANCELLED = \"CANCELLED\",\n      /** Canceled request. */\n      CANCELED = \"CANCELED\"\n  }\n  interface RequestDetails {\n      /** Reason the request has been rejected. */\n      rejectionReason?: string | null;\n  }\n  interface SubmitJoinRequestRequest {\n      /** Relevant group. */\n      groupId: string;\n      /** Answers to membership questions. They can be empty, but submit join group request will fail if an answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer[];\n  }\n  /** Answer to a membership question. */\n  interface MembershipQuestionAnswer {\n      /** Question ID. */\n      _id?: string;\n      /** Answer text. */\n      text?: string | null;\n  }\n  interface SubmitJoinRequestResponse {\n      /** Submitted join request. */\n      joinRequest?: JoinRequest;\n  }\n  interface CancelJoinRequestRequest {\n      /** Relevant group. */\n      groupId: string;\n  }\n  interface CancelJoinRequestResponse {\n      /** Cancelled join request. */\n      joinRequest?: JoinRequest;\n  }\n  interface JoinRequestCancelled {\n      /** Group ID for which join request was cancelled. */\n      groupId?: string;\n      /** Cancelled join request. */\n      joinRequest?: JoinRequest;\n  }\n  interface ApproveJoinRequestsRequest {\n      /** Relevant group. */\n      groupId: string;\n      /** @internal */\n      itemsToApprove?: ItemsToUpdate;\n      /** Member IDs to approve. */\n      memberIds: string[];\n  }\n  enum ItemsToUpdate {\n      /** Take into account only items which are listed in request. */\n      BY_ID = \"BY_ID\",\n      /** Update all items. */\n      ALL_ITEMS = \"ALL_ITEMS\"\n  }\n  interface ApproveJoinRequestsResponse {\n      /** Approved join requests. */\n      joinRequests?: JoinRequest[];\n  }\n  interface JoinRequestApproved {\n      /** Group ID for which join request was approved. */\n      groupId?: string;\n      /** Approved join request. */\n      joinRequest?: JoinRequest;\n  }\n  interface RejectJoinRequestsRequest {\n      /** Relevant group. */\n      groupId: string;\n      /** @internal */\n      itemsToReject?: ItemsToUpdate;\n      /** Rejection data. */\n      rejections?: Rejection[];\n  }\n  interface Rejection {\n      /** Member ID to reject. */\n      memberId?: string;\n      /** Rejection reason. Free text that will be displayed to the rejected site member (max 1,000 characters). */\n      reason?: string | null;\n  }\n  interface RejectJoinRequestsResponse {\n      /** Rejected join requests. */\n      joinRequests?: JoinRequest[];\n  }\n  interface JoinRequestRejected {\n      /** Group ID for which join request was rejected. */\n      groupId?: string;\n      /** Rejected join request. */\n      joinRequest?: JoinRequest;\n  }\n  interface ListJoinRequestsRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * Ownership filter. In case of server signing, `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      limit?: number | null;\n      offset?: number | null;\n  }\n  enum OwnershipFilter {\n      /** All items. */\n      ALL = \"ALL\",\n      /** Items for current site member. */\n      CURRENT_MEMBER = \"CURRENT_MEMBER\"\n  }\n  interface ListJoinRequestsResponse {\n      /** Join requests. */\n      joinRequests?: JoinRequest[];\n      metadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryJoinRequestsRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * Ownership filter. In case of server signing `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryJoinRequestsResponse {\n      /** Join requests. */\n      joinRequests?: JoinRequest[];\n      metadata?: PagingMetadata;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Submits a join request.\n   * Relevant only for private groups.\n   * @param groupId - Relevant group.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function submitJoinRequest(groupId: string, options?: SubmitJoinRequestOptions): Promise<SubmitJoinRequestResponse>;\n  interface SubmitJoinRequestOptions {\n      /** Answers to membership questions. They can be empty, but submit join group request will fail if an answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer[];\n  }\n  /**\n   * Cancels a join request.\n   * A site member can cancel only their own pending Join requests.\n   * @param groupId - Relevant group.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function cancelJoinRequest(groupId: string): Promise<CancelJoinRequestResponse>;\n  /**\n   * Approves pending join requests.\n   * Group managers always have access to this functionality. In some cases, site owners will allow group members to use this functionality as well.\n   * @param groupId - Relevant group.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @requiredField options.memberIds\n   * @adminMethod\n   */\n  function approveJoinRequests(groupId: string, options?: ApproveJoinRequestsOptions): Promise<ApproveJoinRequestsResponse>;\n  interface ApproveJoinRequestsOptions {\n      /** @internal */\n      itemsToApprove?: ItemsToUpdate;\n      /** Member IDs to approve. */\n      memberIds: string[];\n  }\n  /**\n   * Rejects pending join requests.\n   * Group managers always have access to this functionality. In some cases, site owners will allow group members to use this functionality as well.\n   * @param groupId - Relevant group.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function rejectJoinRequests(groupId: string, options?: RejectJoinRequestsOptions): Promise<RejectJoinRequestsResponse>;\n  interface RejectJoinRequestsOptions {\n      /** @internal */\n      itemsToReject?: ItemsToUpdate;\n      /** Rejection data. */\n      rejections?: Rejection[];\n  }\n  /**\n   * Retrieves a list of up to 100 join requests, given the provided paging.\n   * Group managers always have access to this functionality (site members can access their own join requests in the site).\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function listJoinRequests(groupId: string, options?: ListJoinRequestsOptions): Promise<ListJoinRequestsResponse>;\n  interface ListJoinRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing, `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      limit?: number | null;\n      offset?: number | null;\n  }\n  /**\n   * Retrieves a list of up to 100 join requests, given the provided paging and filtering.\n   * Group managers always have access to this functionality (site members can access their own join requests in the site).\n   *\n   * Supported fields for filtering:\n   * - `status`\n   *\n   * No supported fields for sorting\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function queryJoinRequests(groupId: string, options?: QueryJoinRequestsOptions): Promise<QueryJoinRequestsResponse>;\n  interface QueryJoinRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      query?: Query;\n  }\n  \n  type socialGroupsV3JoinRequest_universal_d_JoinRequest = JoinRequest;\n  type socialGroupsV3JoinRequest_universal_d_RequestStatus = RequestStatus;\n  const socialGroupsV3JoinRequest_universal_d_RequestStatus: typeof RequestStatus;\n  type socialGroupsV3JoinRequest_universal_d_RequestDetails = RequestDetails;\n  type socialGroupsV3JoinRequest_universal_d_SubmitJoinRequestRequest = SubmitJoinRequestRequest;\n  type socialGroupsV3JoinRequest_universal_d_MembershipQuestionAnswer = MembershipQuestionAnswer;\n  type socialGroupsV3JoinRequest_universal_d_SubmitJoinRequestResponse = SubmitJoinRequestResponse;\n  type socialGroupsV3JoinRequest_universal_d_CancelJoinRequestRequest = CancelJoinRequestRequest;\n  type socialGroupsV3JoinRequest_universal_d_CancelJoinRequestResponse = CancelJoinRequestResponse;\n  type socialGroupsV3JoinRequest_universal_d_JoinRequestCancelled = JoinRequestCancelled;\n  type socialGroupsV3JoinRequest_universal_d_ApproveJoinRequestsRequest = ApproveJoinRequestsRequest;\n  type socialGroupsV3JoinRequest_universal_d_ItemsToUpdate = ItemsToUpdate;\n  const socialGroupsV3JoinRequest_universal_d_ItemsToUpdate: typeof ItemsToUpdate;\n  type socialGroupsV3JoinRequest_universal_d_ApproveJoinRequestsResponse = ApproveJoinRequestsResponse;\n  type socialGroupsV3JoinRequest_universal_d_JoinRequestApproved = JoinRequestApproved;\n  type socialGroupsV3JoinRequest_universal_d_RejectJoinRequestsRequest = RejectJoinRequestsRequest;\n  type socialGroupsV3JoinRequest_universal_d_Rejection = Rejection;\n  type socialGroupsV3JoinRequest_universal_d_RejectJoinRequestsResponse = RejectJoinRequestsResponse;\n  type socialGroupsV3JoinRequest_universal_d_JoinRequestRejected = JoinRequestRejected;\n  type socialGroupsV3JoinRequest_universal_d_ListJoinRequestsRequest = ListJoinRequestsRequest;\n  type socialGroupsV3JoinRequest_universal_d_OwnershipFilter = OwnershipFilter;\n  const socialGroupsV3JoinRequest_universal_d_OwnershipFilter: typeof OwnershipFilter;\n  type socialGroupsV3JoinRequest_universal_d_ListJoinRequestsResponse = ListJoinRequestsResponse;\n  type socialGroupsV3JoinRequest_universal_d_PagingMetadata = PagingMetadata;\n  type socialGroupsV3JoinRequest_universal_d_QueryJoinRequestsRequest = QueryJoinRequestsRequest;\n  type socialGroupsV3JoinRequest_universal_d_Query = Query;\n  type socialGroupsV3JoinRequest_universal_d_Sorting = Sorting;\n  type socialGroupsV3JoinRequest_universal_d_SortOrder = SortOrder;\n  const socialGroupsV3JoinRequest_universal_d_SortOrder: typeof SortOrder;\n  type socialGroupsV3JoinRequest_universal_d_Paging = Paging;\n  type socialGroupsV3JoinRequest_universal_d_QueryJoinRequestsResponse = QueryJoinRequestsResponse;\n  type socialGroupsV3JoinRequest_universal_d_DomainEvent = DomainEvent;\n  type socialGroupsV3JoinRequest_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type socialGroupsV3JoinRequest_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type socialGroupsV3JoinRequest_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type socialGroupsV3JoinRequest_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type socialGroupsV3JoinRequest_universal_d_ActionEvent = ActionEvent;\n  type socialGroupsV3JoinRequest_universal_d_MessageEnvelope = MessageEnvelope;\n  type socialGroupsV3JoinRequest_universal_d_IdentificationData = IdentificationData;\n  type socialGroupsV3JoinRequest_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type socialGroupsV3JoinRequest_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const socialGroupsV3JoinRequest_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const socialGroupsV3JoinRequest_universal_d_submitJoinRequest: typeof submitJoinRequest;\n  type socialGroupsV3JoinRequest_universal_d_SubmitJoinRequestOptions = SubmitJoinRequestOptions;\n  const socialGroupsV3JoinRequest_universal_d_cancelJoinRequest: typeof cancelJoinRequest;\n  const socialGroupsV3JoinRequest_universal_d_approveJoinRequests: typeof approveJoinRequests;\n  type socialGroupsV3JoinRequest_universal_d_ApproveJoinRequestsOptions = ApproveJoinRequestsOptions;\n  const socialGroupsV3JoinRequest_universal_d_rejectJoinRequests: typeof rejectJoinRequests;\n  type socialGroupsV3JoinRequest_universal_d_RejectJoinRequestsOptions = RejectJoinRequestsOptions;\n  const socialGroupsV3JoinRequest_universal_d_listJoinRequests: typeof listJoinRequests;\n  type socialGroupsV3JoinRequest_universal_d_ListJoinRequestsOptions = ListJoinRequestsOptions;\n  const socialGroupsV3JoinRequest_universal_d_queryJoinRequests: typeof queryJoinRequests;\n  type socialGroupsV3JoinRequest_universal_d_QueryJoinRequestsOptions = QueryJoinRequestsOptions;\n  namespace socialGroupsV3JoinRequest_universal_d {\n    export {\n      socialGroupsV3JoinRequest_universal_d_JoinRequest as JoinRequest,\n      socialGroupsV3JoinRequest_universal_d_RequestStatus as RequestStatus,\n      socialGroupsV3JoinRequest_universal_d_RequestDetails as RequestDetails,\n      socialGroupsV3JoinRequest_universal_d_SubmitJoinRequestRequest as SubmitJoinRequestRequest,\n      socialGroupsV3JoinRequest_universal_d_MembershipQuestionAnswer as MembershipQuestionAnswer,\n      socialGroupsV3JoinRequest_universal_d_SubmitJoinRequestResponse as SubmitJoinRequestResponse,\n      socialGroupsV3JoinRequest_universal_d_CancelJoinRequestRequest as CancelJoinRequestRequest,\n      socialGroupsV3JoinRequest_universal_d_CancelJoinRequestResponse as CancelJoinRequestResponse,\n      socialGroupsV3JoinRequest_universal_d_JoinRequestCancelled as JoinRequestCancelled,\n      socialGroupsV3JoinRequest_universal_d_ApproveJoinRequestsRequest as ApproveJoinRequestsRequest,\n      socialGroupsV3JoinRequest_universal_d_ItemsToUpdate as ItemsToUpdate,\n      socialGroupsV3JoinRequest_universal_d_ApproveJoinRequestsResponse as ApproveJoinRequestsResponse,\n      socialGroupsV3JoinRequest_universal_d_JoinRequestApproved as JoinRequestApproved,\n      socialGroupsV3JoinRequest_universal_d_RejectJoinRequestsRequest as RejectJoinRequestsRequest,\n      socialGroupsV3JoinRequest_universal_d_Rejection as Rejection,\n      socialGroupsV3JoinRequest_universal_d_RejectJoinRequestsResponse as RejectJoinRequestsResponse,\n      socialGroupsV3JoinRequest_universal_d_JoinRequestRejected as JoinRequestRejected,\n      socialGroupsV3JoinRequest_universal_d_ListJoinRequestsRequest as ListJoinRequestsRequest,\n      socialGroupsV3JoinRequest_universal_d_OwnershipFilter as OwnershipFilter,\n      socialGroupsV3JoinRequest_universal_d_ListJoinRequestsResponse as ListJoinRequestsResponse,\n      socialGroupsV3JoinRequest_universal_d_PagingMetadata as PagingMetadata,\n      socialGroupsV3JoinRequest_universal_d_QueryJoinRequestsRequest as QueryJoinRequestsRequest,\n      socialGroupsV3JoinRequest_universal_d_Query as Query,\n      socialGroupsV3JoinRequest_universal_d_Sorting as Sorting,\n      socialGroupsV3JoinRequest_universal_d_SortOrder as SortOrder,\n      socialGroupsV3JoinRequest_universal_d_Paging as Paging,\n      socialGroupsV3JoinRequest_universal_d_QueryJoinRequestsResponse as QueryJoinRequestsResponse,\n      socialGroupsV3JoinRequest_universal_d_DomainEvent as DomainEvent,\n      socialGroupsV3JoinRequest_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      socialGroupsV3JoinRequest_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      socialGroupsV3JoinRequest_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      socialGroupsV3JoinRequest_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      socialGroupsV3JoinRequest_universal_d_ActionEvent as ActionEvent,\n      socialGroupsV3JoinRequest_universal_d_MessageEnvelope as MessageEnvelope,\n      socialGroupsV3JoinRequest_universal_d_IdentificationData as IdentificationData,\n      socialGroupsV3JoinRequest_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      socialGroupsV3JoinRequest_universal_d_WebhookIdentityType as WebhookIdentityType,\n      socialGroupsV3JoinRequest_universal_d_submitJoinRequest as submitJoinRequest,\n      socialGroupsV3JoinRequest_universal_d_SubmitJoinRequestOptions as SubmitJoinRequestOptions,\n      socialGroupsV3JoinRequest_universal_d_cancelJoinRequest as cancelJoinRequest,\n      socialGroupsV3JoinRequest_universal_d_approveJoinRequests as approveJoinRequests,\n      socialGroupsV3JoinRequest_universal_d_ApproveJoinRequestsOptions as ApproveJoinRequestsOptions,\n      socialGroupsV3JoinRequest_universal_d_rejectJoinRequests as rejectJoinRequests,\n      socialGroupsV3JoinRequest_universal_d_RejectJoinRequestsOptions as RejectJoinRequestsOptions,\n      socialGroupsV3JoinRequest_universal_d_listJoinRequests as listJoinRequests,\n      socialGroupsV3JoinRequest_universal_d_ListJoinRequestsOptions as ListJoinRequestsOptions,\n      socialGroupsV3JoinRequest_universal_d_queryJoinRequests as queryJoinRequests,\n      socialGroupsV3JoinRequest_universal_d_QueryJoinRequestsOptions as QueryJoinRequestsOptions,\n    };\n  }\n  \n  export { socialGroupsV3CreateRequest_universal_d as createRequests, socialGroupsV3JoinRequest_universal_d as joinRequests };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-collection-service-v2.d.ts",
      "content": "declare module \"wix-data-collection-service-v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** A data collection determines the structure of data to be stored in a database. */\n  interface DataCollection {\n      /** Collection ID. For example, `my-first-collection`. May include a namespace. */\n      _id?: string;\n      /**\n       * Collection type. Indicates how the collection was created and is stored.\n       *\n       * * `NATIVE`: User-created collection.\n       * * `WIX_APP`: [Collection](https://support.wix.com/en/article/velo-working-with-wix-app-collections-and-code#what-are-wix-app-collections) created by a Wix app, including [starter collections](https://support.wix.com/en/article/velo-working-with-wix-app-collections-and-code#what-are-wix-app-starter-collections) created when a Wix app is installed.\n       * * `BLOCKS_APP`: Collection created by a Wix Blocks app.\n       * * `EXTERNAL`: Collection located in externally connected storage.\n       * @readonly\n       */\n      collectionType?: CollectionType;\n      /**\n       * ID of the app that defined this collection. For user-defined collections, this value is null.\n       * @readonly\n       */\n      ownerAppId?: string | null;\n      /**\n       * Maximum number of items returned in a single query, based on the underlying storage.\n       * Native collections have a maximum page size of 1000 for offset-based queries or 100 for cursor-based queries.\n       * External collections' maximum page size defaults to 50, but an external provider can set any maximum value up to 1000.\n       * @readonly\n       */\n      maxPageSize?: number | null;\n      /** Collection's display name as shown in the Content Manager. For example, `My First Collection`. */\n      displayName?: string | null;\n      /**\n       * Indicates how the collection's items are sorted by default when a query doesn't specify an order.\n       * @readonly\n       */\n      defaultDisplayOrder?: Sort;\n      /**\n       * UI-friendly namespace of the Wix app with which the data collection is associated, such as Stores or Bookings.\n       * Empty for all data collections not owned by internal Wix apps.\n       */\n      displayNamespace?: string | null;\n      /**\n       * The field whose value the Content Manager displays to represent the collection item when referenced in a different collection.\n       * @readonly\n       */\n      displayField?: string;\n      /**\n       * Capabilities the collection supports.\n       * @readonly\n       */\n      capabilities?: CollectionCapabilities;\n      /** Collection's field structure. A collection must have at least 1 field. */\n      fields?: Field[];\n      /** Levels of permission for accessing and modifying data, defined by lowest role needed to perform each action. */\n      permissions?: Permissions;\n      /**\n       * Collection's current revision number, which increments each time the collection is updated. For an update operation to succeed, you must pass the latest revision number.\n       * @readonly\n       */\n      revision?: string | null;\n      /** All plugins the collection uses. Plugins apply additional capabilities to the collection or extend its functionality. */\n      plugins?: Plugin[];\n      /**\n       * All paging modes the collection supports. In native collections, offset-based paging is supported by default.\n       * @readonly\n       */\n      pagingModes?: PagingMode[];\n      /**\n       * Date the collection was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date the collection was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  enum CollectionType {\n      /** User-created collection. */\n      NATIVE = \"NATIVE\",\n      /** [Collection](https://support.wix.com/en/article/velo-working-with-wix-app-collections-and-code#what-are-wix-app-collections) created by a Wix app when it is installed. This type of collection can be modified dynamically by that app (for example, Wix Forms). */\n      WIX_APP = \"WIX_APP\",\n      /** Collection created by a Wix Blocks app. */\n      BLOCKS_APP = \"BLOCKS_APP\",\n      /** Collection located in externally connected storage. */\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface Sort {\n      /** Field to sort by. */\n      fieldKey?: string;\n      /**\n       * Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Default: `ASC`\n       */\n      direction?: Direction;\n  }\n  enum Direction {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CollectionCapabilities {\n      /** Data operations the collection supports. */\n      dataOperations?: DataOperation[];\n  }\n  enum DataOperation {\n      AGGREGATE = \"AGGREGATE\",\n      BULK_INSERT = \"BULK_INSERT\",\n      BULK_REMOVE = \"BULK_REMOVE\",\n      BULK_SAVE = \"BULK_SAVE\",\n      BULK_UPDATE = \"BULK_UPDATE\",\n      COUNT = \"COUNT\",\n      DISTINCT = \"DISTINCT\",\n      FIND = \"FIND\",\n      GET = \"GET\",\n      INSERT = \"INSERT\",\n      INSERT_REFERENCE = \"INSERT_REFERENCE\",\n      IS_REFERENCED = \"IS_REFERENCED\",\n      QUERY_REFERENCED = \"QUERY_REFERENCED\",\n      REMOVE = \"REMOVE\",\n      REMOVE_REFERENCE = \"REMOVE_REFERENCE\",\n      REPLACE_REFERENCES = \"REPLACE_REFERENCES\",\n      SAVE = \"SAVE\",\n      TRUNCATE = \"TRUNCATE\",\n      UPDATE = \"UPDATE\"\n  }\n  interface Field extends FieldRangeValidationsOneOf {\n      /** Range of possible values for a numerical field. */\n      numberRange?: NumberRange;\n      /** Length range permitted for a text field. Relevant for fields that hold strings, such as those of type `TEXT` or `RICH_TEXT`. */\n      stringLengthRange?: StringLengthRange;\n      /** Array size range permitted. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`. */\n      arraySizeRange?: ArraySizeRange;\n      /** Unique identifier for the field. For example, `firstName`. */\n      key?: string;\n      /** Field's display name when shown in the Content Manager. For example, `First Name`. */\n      displayName?: string;\n      /** Field's data type. */\n      type?: TypeEnum;\n      /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */\n      typeMetadata?: TypeMetadata;\n      /**\n       * Whether the field is a system field (created automatically).\n       * @readonly\n       */\n      systemField?: boolean;\n      /** Capabilities the field supports. */\n      capabilities?: FieldCapabilities;\n      /** Indicates if field is encrypted. */\n      encrypted?: boolean;\n      /** Defines reference to router pattern in the site document. */\n      linkedRouterPage?: string | null;\n      /** Description of the field. */\n      description?: string | null;\n      plugin?: string | null;\n      /**\n       * Whether the field is read-only. A read-only field can't be changed.\n       *\n       * Default: `false`\n       */\n      readOnly?: boolean | null;\n      /**\n       * Whether the field is immutable. An immutable field can be set once, but then cannot be updated.\n       *\n       * Default: `false`\n       */\n      immutable?: boolean | null;\n      /**\n       * Whether the field is required.\n       *\n       * Default: `false`\n       */\n      required?: boolean | null;\n  }\n  /** @oneof */\n  interface FieldRangeValidationsOneOf {\n      /** Range of possible values for a numerical field. */\n      numberRange?: NumberRange;\n      /** Length range permitted for a text field. Relevant for fields that hold strings, such as those of type `TEXT` or `RICH_TEXT`. */\n      stringLengthRange?: StringLengthRange;\n      /** Array size range permitted. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`. */\n      arraySizeRange?: ArraySizeRange;\n  }\n  enum TypeEnum {\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      DATE = \"DATE\",\n      DATETIME = \"DATETIME\",\n      IMAGE = \"IMAGE\",\n      BOOLEAN = \"BOOLEAN\",\n      DOCUMENT = \"DOCUMENT\",\n      URL = \"URL\",\n      RICH_TEXT = \"RICH_TEXT\",\n      VIDEO = \"VIDEO\",\n      ANY = \"ANY\",\n      ARRAY_STRING = \"ARRAY_STRING\",\n      ARRAY_DOCUMENT = \"ARRAY_DOCUMENT\",\n      AUDIO = \"AUDIO\",\n      TIME = \"TIME\",\n      LANGUAGE = \"LANGUAGE\",\n      RICH_CONTENT = \"RICH_CONTENT\",\n      MEDIA_GALLERY = \"MEDIA_GALLERY\",\n      ADDRESS = \"ADDRESS\",\n      PAGE_LINK = \"PAGE_LINK\",\n      REFERENCE = \"REFERENCE\",\n      MULTI_REFERENCE = \"MULTI_REFERENCE\",\n      OBJECT = \"OBJECT\",\n      ARRAY = \"ARRAY\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_TIME = \"LEGACY_TIME\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_BOOK = \"LEGACY_BOOK\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_EXTERNAL_URL = \"LEGACY_EXTERNAL_URL\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_BROKEN_REFERENCE = \"LEGACY_BROKEN_REFERENCE\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_IMAGE = \"LEGACY_IMAGE\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_COLOR = \"LEGACY_COLOR\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_EXTERNAL_VIDEO = \"LEGACY_EXTERNAL_VIDEO\"\n  }\n  interface TypeMetadata extends TypeMetadataMetadataOneOf {\n      /** Metadata for a reference field. */\n      reference?: Reference;\n      /** Metadata for a multi-reference field. */\n      multiReference?: MultiReference;\n      /** Metadata for an object field. */\n      object?: Object$1;\n      /** Metadata for an array field. */\n      array?: Array;\n      /** Metadata for a page link field. */\n      pageLink?: PageLink;\n  }\n  /** @oneof */\n  interface TypeMetadataMetadataOneOf {\n      /** Metadata for a reference field. */\n      reference?: Reference;\n      /** Metadata for a multi-reference field. */\n      multiReference?: MultiReference;\n      /** Metadata for an object field. */\n      object?: Object$1;\n      /** Metadata for an array field. */\n      array?: Array;\n      /** Metadata for a page link field. */\n      pageLink?: PageLink;\n  }\n  interface FieldCapabilities {\n      /**\n       * Whether the collection can be sorted by this field.\n       *\n       * Default: `false`\n       */\n      sortable?: boolean;\n      /** Query operators that can be used for this field. */\n      queryOperators?: QueryOperator[];\n  }\n  enum QueryOperator {\n      EQ = \"EQ\",\n      LT = \"LT\",\n      GT = \"GT\",\n      NE = \"NE\",\n      LTE = \"LTE\",\n      GTE = \"GTE\",\n      STARTS_WITH = \"STARTS_WITH\",\n      ENDS_WITH = \"ENDS_WITH\",\n      CONTAINS = \"CONTAINS\",\n      HAS_SOME = \"HAS_SOME\",\n      HAS_ALL = \"HAS_ALL\",\n      EXISTS = \"EXISTS\",\n      URLIZED = \"URLIZED\"\n  }\n  interface ObjectField {\n      /** Field key. */\n      key?: string;\n      /** Display name for the field. */\n      displayName?: string;\n      /** Field type. */\n      type?: TypeEnum;\n      /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */\n      typeMetadata?: TypeMetadata;\n      /** Capabilities the object field supports. */\n      capabilities?: FieldCapabilities;\n  }\n  interface FieldsPattern {\n      pattern?: string;\n      lowercase?: boolean;\n  }\n  interface UrlizedOnlyPattern {\n      pattern?: string;\n  }\n  interface Calculator extends CalculatorPatternOneOf {\n      /** Value is calculated according to pattern, whitespaces are replaced with dash [-]. */\n      fieldsPattern?: FieldsPattern;\n      /** Value is only URL encoded. */\n      urlizedOnlyPattern?: UrlizedOnlyPattern;\n      _id?: string;\n  }\n  /** @oneof */\n  interface CalculatorPatternOneOf {\n      /** Value is calculated according to pattern, whitespaces are replaced with dash [-]. */\n      fieldsPattern?: FieldsPattern;\n      /** Value is only URL encoded. */\n      urlizedOnlyPattern?: UrlizedOnlyPattern;\n  }\n  interface Reference {\n      /** Referenced collection ID. */\n      referencedCollectionId?: string;\n  }\n  interface MultiReference {\n      /** Referenced collection ID. */\n      referencedCollectionId?: string;\n      /** Referencing field key. */\n      referencingFieldKey?: string;\n      /** Display name in the Content Manager for the referenced data. */\n      referencingDisplayName?: string;\n  }\n  interface Object$1 {\n      /** Fields within the object. */\n      fields?: ObjectField[];\n  }\n  interface Array {\n      /** Element's data type. */\n      elementType?: TypeEnum;\n      /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */\n      typeMetadata?: TypeMetadata;\n  }\n  interface PageLink {\n      calculator?: Calculator;\n  }\n  interface NumberRange {\n      /**\n       * Minimum permitted value for a numerical field.\n       *\n       * Default: No validation\n       */\n      min?: number | null;\n      /**\n       * Maximum permitted value for a numerical field.\n       *\n       * Default: No validation\n       */\n      max?: number | null;\n  }\n  interface StringLengthRange {\n      /**\n       * Minimum permitted length for a text field.\n       *\n       * Default: No validation\n       */\n      minLength?: number | null;\n      /**\n       * Maximum permitted length for a text field.\n       *\n       * Default: No validation\n       */\n      maxLength?: number | null;\n  }\n  interface ArraySizeRange {\n      /**\n       * Minimum permitted number of items in an array field. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`.\n       *\n       * Default: No validation\n       */\n      minSize?: number | null;\n      /**\n       * Maximum permitted number of items in an array field. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`.\n       *\n       * Default: No validation\n       */\n      maxSize?: number | null;\n  }\n  /** Permissions defined by the lowest role needed to perform each action. */\n  interface Permissions {\n      /** Lowest role needed to add a collection. */\n      insert?: Role;\n      /** Lowest role needed to update a collection. */\n      update?: Role;\n      /** Lowest role needed to remove a collection. */\n      remove?: Role;\n      /** Lowest role needed to read a collection. */\n      read?: Role;\n  }\n  enum Role {\n      /** Site administrator. */\n      ADMIN = \"ADMIN\",\n      /** Signed-in user who added content to this collection. */\n      SITE_MEMBER_AUTHOR = \"SITE_MEMBER_AUTHOR\",\n      /** Any signed-in user. */\n      SITE_MEMBER = \"SITE_MEMBER\",\n      /** Any site visitor. */\n      ANYONE = \"ANYONE\"\n  }\n  interface Plugin extends PluginOptionsOneOf {\n      /** Options for the Publish plugin. */\n      publishOptions?: PublishPluginOptions;\n      /** Options for the Single Item plugin. */\n      singleItemOptions?: SingleItemPluginOptions;\n      /** Options for the Urlized plugin. */\n      urlizedOptions?: UrlizedPluginOptions;\n      /** Options for Gridappless plugin. */\n      gridapplessOptions?: GridapplessPluginOptions;\n      /**\n       * Plugin types. The following plugins are supported:\n       *\n       * * `PUBLISH`: Allows items to be marked as either draft or published. For each item you can set a publishing time when the item will become visible to site visitors.\n       * * `SINGLE_ITEM`: Ensures the collection can have one item at most. Can only be applied to a new collection.\n       * * `URLIZED`: Generates item URLs for collections used by dynamic pages.\n       * * `GRIDAPPLESS`: This plugin is read-only and can't be manually added. Indicates the collection structure is shared between sandbox and live environments.\n       */\n      type?: Type;\n  }\n  /** @oneof */\n  interface PluginOptionsOneOf {\n      /** Options for the Publish plugin. */\n      publishOptions?: PublishPluginOptions;\n      /** Options for the Single Item plugin. */\n      singleItemOptions?: SingleItemPluginOptions;\n      /** Options for the Urlized plugin. */\n      urlizedOptions?: UrlizedPluginOptions;\n      /** Options for Gridappless plugin. */\n      gridapplessOptions?: GridapplessPluginOptions;\n  }\n  enum Status {\n      PUBLISHED = \"PUBLISHED\",\n      DRAFT = \"DRAFT\"\n  }\n  enum Format {\n      ORIGINAL = \"ORIGINAL\",\n      PLAIN = \"PLAIN\"\n  }\n  enum Type {\n      /** Allows items to be marked as either draft or published. For each item you can set a publishing time when the item will become visible to site visitors. */\n      PUBLISH = \"PUBLISH\",\n      /** Ensures the collection can have one item at most. Can only be applied to a new collection. */\n      SINGLE_ITEM = \"SINGLE_ITEM\",\n      /** Generates item URLs for collections used by dynamic pages. */\n      URLIZED = \"URLIZED\",\n      /** This plugin is read-only and can't be manually added. Indicates collection structure is shared between sandbox and live environments. */\n      GRIDAPPLESS = \"GRIDAPPLESS\"\n  }\n  interface PublishPluginOptions {\n      /** Default status. */\n      defaultStatus?: Status;\n  }\n  interface SingleItemPluginOptions {\n      /** ID of the single item in this collection. If you insert or update an item, its ID value is always changed to this. */\n      singleItemId?: string;\n  }\n  interface UrlizedPluginOptions {\n      /**\n       * Encoding method for generating a URL in ASCII characters.\n       *\n       * * `ORIGINAL`: Letters are converted to lower case and spaces are replaced with dashes before generating the encoded URL.\n       * * `PLAIN`: No changes are made before generating the encoded URL.\n       */\n      format?: Format;\n  }\n  interface GridapplessPluginOptions {\n      /** indicates if tenant is migrated to gridappless or initially on it */\n      migrated?: boolean;\n  }\n  enum PagingMode {\n      /** Offset-based paging. */\n      OFFSET = \"OFFSET\",\n      /** Cursor-based paging. */\n      CURSOR = \"CURSOR\"\n  }\n  interface DataCollectionClonedEvent {\n      /** original instance collection is cloned from */\n      originInstanceId?: string;\n      /** original collection ID, may be same as current one */\n      originId?: string;\n  }\n  interface DataCollectionChangedEvent {\n      /** list of new fields */\n      fieldsAdded?: Field[];\n      /** list of changed fields */\n      fieldsUpdated?: Field[];\n      /** list of removed fields */\n      fieldsRemoved?: Field[];\n      /** list of new plugins */\n      pluginsAdded?: Plugin[];\n      /** list of changed plugins */\n      pluginsUpdated?: Plugin[];\n      /** list of removed plugins */\n      pluginsRemoved?: Plugin[];\n  }\n  interface CreateDataCollectionRequest {\n      /** Collection details. */\n      collection?: DataCollection;\n  }\n  interface CreateDataCollectionResponse {\n      /** Details of collection created. */\n      collection?: DataCollection;\n  }\n  interface GetDataCollectionRequest {\n      /** ID of the collection to retrieve. */\n      dataCollectionId: string;\n      /**\n       * Whether to return all collections referenced by the requested collection.\n       *\n       * Default: `false`\n       */\n      includeReferencedCollections?: boolean;\n  }\n  interface GetDataCollectionResponse {\n      /** Details of the collection requested. */\n      collection?: DataCollection;\n      /**\n       * Details of collections referenced by the collection requested.\n       * Only populated when `includeReferencedCollections` is `true` in the request.\n       */\n      referencedCollections?: DataCollection[];\n  }\n  interface ListDataCollectionsRequest extends ListDataCollectionsRequestPagingMethodOneOf {\n      /** Offset-based paging. */\n      paging?: Paging;\n      /** Cursor-based paging. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Defines how collections in the response are sorted.\n       *\n       * Default: Ordered by ID in ascending order.\n       */\n      sort?: Sorting;\n  }\n  /** @oneof */\n  interface ListDataCollectionsRequestPagingMethodOneOf {\n      /** Offset-based paging. */\n      paging?: Paging;\n      /** Cursor-based paging. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListDataCollectionsResponse {\n      /** List of collections. */\n      collections?: DataCollection[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkGetDataCollectionsRequest {\n      /** IDs of the collections to retrieve. */\n      dataCollectionIds?: string[];\n      /**\n       * Whether to include deleted collections.\n       *\n       * Default: `false`\n       */\n      showDeletedCollections?: boolean;\n      /**\n       * Whether the returned collection list should include referenced collections.\n       *\n       * Default: `false`\n       */\n      includeReferencedCollections?: boolean;\n      /** Sorting preferences. */\n      sort?: Sorting;\n  }\n  interface BulkGetDataCollectionsResponse {\n      /**\n       * List of requested collections.\n       * When `include_referenced_collections` is `true` in the request, referenced collections are included here.\n       */\n      activeCollections?: DataCollection[];\n      /** List of requested deleted collections. Only populated when `showDeletedCollections` is true in the request. */\n      deletedCollections?: DataCollection[];\n  }\n  interface BulkGetDataCollectionsBySnapshotsRequest {\n      /** Ids of schema snapshot */\n      snapshotIds?: string[];\n  }\n  interface BulkGetDataCollectionsBySnapshotsResponse {\n      /** List of snapshot collection map */\n      snapshotCollections?: SnapshotDataCollections[];\n  }\n  interface SnapshotDataCollections {\n      snapshotId?: string;\n      collections?: DataCollection[];\n  }\n  interface UpdateDataCollectionRequest {\n      /** Updated collection details. The existing collection is replaced with this version. */\n      collection?: DataCollection;\n  }\n  interface UpdateDataCollectionResponse {\n      /** Updated collection details. */\n      collection?: DataCollection;\n  }\n  interface DeleteDataCollectionRequest {\n      /** ID of the collection to delete. */\n      dataCollectionId: string;\n  }\n  interface DeleteDataCollectionResponse {\n  }\n  /**\n   * Creates a new data collection.\n   *\n   * The request body must include an ID, details for at least 1 field, and a permissions object. If any of these are missing, the collection isn't created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.collection._id\n   * @requiredField options.collection.fields\n   * @requiredField options.collection.permissions\n   */\n  function createDataCollection(options?: CreateDataCollectionOptions): Promise<CreateDataCollectionResponse>;\n  interface CreateDataCollectionOptions {\n      /** Collection details. */\n      collection?: DataCollection;\n  }\n  /**\n   * Retrieves a data collection by ID.\n   * @param dataCollectionId - ID of the collection to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField GetDataCollectionRequest\n   * @requiredField dataCollectionId\n   */\n  function getDataCollection(dataCollectionId: string, options?: GetDataCollectionOptions): Promise<GetDataCollectionResponse>;\n  interface GetDataCollectionOptions {\n      /**\n       * Whether to return all collections referenced by the requested collection.\n       *\n       * Default: `false`\n       */\n      includeReferencedCollections?: boolean;\n  }\n  /**\n   * Retrieves a list of all data collections associated with the site.\n   *\n   * By default, the list is ordered by ID in ascending order.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listDataCollections(options?: ListDataCollectionsOptions): Promise<ListDataCollectionsResponse>;\n  interface ListDataCollectionsOptions extends ListDataCollectionsRequestPagingMethodOneOf {\n      /**\n       * Defines how collections in the response are sorted.\n       *\n       * Default: Ordered by ID in ascending order.\n       */\n      sort?: Sorting;\n      /** Offset-based paging. */\n      paging?: Paging;\n      /** Cursor-based paging. */\n      cursorPaging?: CursorPaging;\n  }\n  /**\n   * Retrieves multiple data collections by ID.\n   * Used in frontend databinding to load multiple specific collections at once. For internal use only.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function bulkGetDataCollections(options?: BulkGetDataCollectionsOptions): Promise<BulkGetDataCollectionsResponse>;\n  interface BulkGetDataCollectionsOptions {\n      /** IDs of the collections to retrieve. */\n      dataCollectionIds?: string[];\n      /**\n       * Whether to include deleted collections.\n       *\n       * Default: `false`\n       */\n      showDeletedCollections?: boolean;\n      /**\n       * Whether the returned collection list should include referenced collections.\n       *\n       * Default: `false`\n       */\n      includeReferencedCollections?: boolean;\n      /** Sorting preferences. */\n      sort?: Sorting;\n  }\n  /**\n   * Updates a data collection.\n   *\n   * A collection ID, revision number, permissions, and at least 1 field must be provided within the `collection` body parameter.\n   * If a collection with that ID exists, and if its current `revision` number matches the one provided, it is updated.\n   * Otherwise, the request fails.\n   *\n   * When a collection is updated, its `updatedDate` property is changed to the current date and its `revision` property is incremented.\n   *\n   * > **Note:**\n   * > After a collection is updated, it only contains the properties included in the Update Data Collection request. If the existing collection has properties with values and those properties\n   * > aren't included in the updated collection details, their values are lost.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.collection._id\n   * @requiredField options.collection.fields\n   * @requiredField options.collection.permissions\n   * @requiredField options.collection.revision\n   */\n  function updateDataCollection(options?: UpdateDataCollectionOptions): Promise<UpdateDataCollectionResponse>;\n  interface UpdateDataCollectionOptions {\n      /** Updated collection details. The existing collection is replaced with this version. */\n      collection?: DataCollection;\n  }\n  /**\n   * Deletes a data collection.\n   *\n   * > **Note:**\n   * > Once a collection is deleted, it can't be restored.\n   * @param dataCollectionId - ID of the collection to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField DeleteDataCollectionRequest\n   * @requiredField dataCollectionId\n   */\n  function deleteDataCollection(dataCollectionId: string): Promise<void>;\n  \n  const dataV1DataCollection_universal_d___debug: typeof __debug;\n  type dataV1DataCollection_universal_d_DataCollection = DataCollection;\n  type dataV1DataCollection_universal_d_CollectionType = CollectionType;\n  const dataV1DataCollection_universal_d_CollectionType: typeof CollectionType;\n  type dataV1DataCollection_universal_d_Sort = Sort;\n  type dataV1DataCollection_universal_d_Direction = Direction;\n  const dataV1DataCollection_universal_d_Direction: typeof Direction;\n  type dataV1DataCollection_universal_d_CollectionCapabilities = CollectionCapabilities;\n  type dataV1DataCollection_universal_d_DataOperation = DataOperation;\n  const dataV1DataCollection_universal_d_DataOperation: typeof DataOperation;\n  type dataV1DataCollection_universal_d_Field = Field;\n  type dataV1DataCollection_universal_d_FieldRangeValidationsOneOf = FieldRangeValidationsOneOf;\n  type dataV1DataCollection_universal_d_TypeEnum = TypeEnum;\n  const dataV1DataCollection_universal_d_TypeEnum: typeof TypeEnum;\n  type dataV1DataCollection_universal_d_TypeMetadata = TypeMetadata;\n  type dataV1DataCollection_universal_d_TypeMetadataMetadataOneOf = TypeMetadataMetadataOneOf;\n  type dataV1DataCollection_universal_d_FieldCapabilities = FieldCapabilities;\n  type dataV1DataCollection_universal_d_QueryOperator = QueryOperator;\n  const dataV1DataCollection_universal_d_QueryOperator: typeof QueryOperator;\n  type dataV1DataCollection_universal_d_ObjectField = ObjectField;\n  type dataV1DataCollection_universal_d_FieldsPattern = FieldsPattern;\n  type dataV1DataCollection_universal_d_UrlizedOnlyPattern = UrlizedOnlyPattern;\n  type dataV1DataCollection_universal_d_Calculator = Calculator;\n  type dataV1DataCollection_universal_d_CalculatorPatternOneOf = CalculatorPatternOneOf;\n  type dataV1DataCollection_universal_d_Reference = Reference;\n  type dataV1DataCollection_universal_d_MultiReference = MultiReference;\n  type dataV1DataCollection_universal_d_Array = Array;\n  type dataV1DataCollection_universal_d_PageLink = PageLink;\n  type dataV1DataCollection_universal_d_NumberRange = NumberRange;\n  type dataV1DataCollection_universal_d_StringLengthRange = StringLengthRange;\n  type dataV1DataCollection_universal_d_ArraySizeRange = ArraySizeRange;\n  type dataV1DataCollection_universal_d_Permissions = Permissions;\n  type dataV1DataCollection_universal_d_Role = Role;\n  const dataV1DataCollection_universal_d_Role: typeof Role;\n  type dataV1DataCollection_universal_d_Plugin = Plugin;\n  type dataV1DataCollection_universal_d_PluginOptionsOneOf = PluginOptionsOneOf;\n  type dataV1DataCollection_universal_d_Status = Status;\n  const dataV1DataCollection_universal_d_Status: typeof Status;\n  type dataV1DataCollection_universal_d_Format = Format;\n  const dataV1DataCollection_universal_d_Format: typeof Format;\n  type dataV1DataCollection_universal_d_Type = Type;\n  const dataV1DataCollection_universal_d_Type: typeof Type;\n  type dataV1DataCollection_universal_d_PublishPluginOptions = PublishPluginOptions;\n  type dataV1DataCollection_universal_d_SingleItemPluginOptions = SingleItemPluginOptions;\n  type dataV1DataCollection_universal_d_UrlizedPluginOptions = UrlizedPluginOptions;\n  type dataV1DataCollection_universal_d_GridapplessPluginOptions = GridapplessPluginOptions;\n  type dataV1DataCollection_universal_d_PagingMode = PagingMode;\n  const dataV1DataCollection_universal_d_PagingMode: typeof PagingMode;\n  type dataV1DataCollection_universal_d_DataCollectionClonedEvent = DataCollectionClonedEvent;\n  type dataV1DataCollection_universal_d_DataCollectionChangedEvent = DataCollectionChangedEvent;\n  type dataV1DataCollection_universal_d_CreateDataCollectionRequest = CreateDataCollectionRequest;\n  type dataV1DataCollection_universal_d_CreateDataCollectionResponse = CreateDataCollectionResponse;\n  type dataV1DataCollection_universal_d_GetDataCollectionRequest = GetDataCollectionRequest;\n  type dataV1DataCollection_universal_d_GetDataCollectionResponse = GetDataCollectionResponse;\n  type dataV1DataCollection_universal_d_ListDataCollectionsRequest = ListDataCollectionsRequest;\n  type dataV1DataCollection_universal_d_ListDataCollectionsRequestPagingMethodOneOf = ListDataCollectionsRequestPagingMethodOneOf;\n  type dataV1DataCollection_universal_d_Sorting = Sorting;\n  type dataV1DataCollection_universal_d_SortOrder = SortOrder;\n  const dataV1DataCollection_universal_d_SortOrder: typeof SortOrder;\n  type dataV1DataCollection_universal_d_Paging = Paging;\n  type dataV1DataCollection_universal_d_CursorPaging = CursorPaging;\n  type dataV1DataCollection_universal_d_ListDataCollectionsResponse = ListDataCollectionsResponse;\n  type dataV1DataCollection_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type dataV1DataCollection_universal_d_Cursors = Cursors;\n  type dataV1DataCollection_universal_d_BulkGetDataCollectionsRequest = BulkGetDataCollectionsRequest;\n  type dataV1DataCollection_universal_d_BulkGetDataCollectionsResponse = BulkGetDataCollectionsResponse;\n  type dataV1DataCollection_universal_d_BulkGetDataCollectionsBySnapshotsRequest = BulkGetDataCollectionsBySnapshotsRequest;\n  type dataV1DataCollection_universal_d_BulkGetDataCollectionsBySnapshotsResponse = BulkGetDataCollectionsBySnapshotsResponse;\n  type dataV1DataCollection_universal_d_SnapshotDataCollections = SnapshotDataCollections;\n  type dataV1DataCollection_universal_d_UpdateDataCollectionRequest = UpdateDataCollectionRequest;\n  type dataV1DataCollection_universal_d_UpdateDataCollectionResponse = UpdateDataCollectionResponse;\n  type dataV1DataCollection_universal_d_DeleteDataCollectionRequest = DeleteDataCollectionRequest;\n  type dataV1DataCollection_universal_d_DeleteDataCollectionResponse = DeleteDataCollectionResponse;\n  const dataV1DataCollection_universal_d_createDataCollection: typeof createDataCollection;\n  type dataV1DataCollection_universal_d_CreateDataCollectionOptions = CreateDataCollectionOptions;\n  const dataV1DataCollection_universal_d_getDataCollection: typeof getDataCollection;\n  type dataV1DataCollection_universal_d_GetDataCollectionOptions = GetDataCollectionOptions;\n  const dataV1DataCollection_universal_d_listDataCollections: typeof listDataCollections;\n  type dataV1DataCollection_universal_d_ListDataCollectionsOptions = ListDataCollectionsOptions;\n  const dataV1DataCollection_universal_d_bulkGetDataCollections: typeof bulkGetDataCollections;\n  type dataV1DataCollection_universal_d_BulkGetDataCollectionsOptions = BulkGetDataCollectionsOptions;\n  const dataV1DataCollection_universal_d_updateDataCollection: typeof updateDataCollection;\n  type dataV1DataCollection_universal_d_UpdateDataCollectionOptions = UpdateDataCollectionOptions;\n  const dataV1DataCollection_universal_d_deleteDataCollection: typeof deleteDataCollection;\n  namespace dataV1DataCollection_universal_d {\n    export {\n      dataV1DataCollection_universal_d___debug as __debug,\n      dataV1DataCollection_universal_d_DataCollection as DataCollection,\n      dataV1DataCollection_universal_d_CollectionType as CollectionType,\n      dataV1DataCollection_universal_d_Sort as Sort,\n      dataV1DataCollection_universal_d_Direction as Direction,\n      dataV1DataCollection_universal_d_CollectionCapabilities as CollectionCapabilities,\n      dataV1DataCollection_universal_d_DataOperation as DataOperation,\n      dataV1DataCollection_universal_d_Field as Field,\n      dataV1DataCollection_universal_d_FieldRangeValidationsOneOf as FieldRangeValidationsOneOf,\n      dataV1DataCollection_universal_d_TypeEnum as TypeEnum,\n      dataV1DataCollection_universal_d_TypeMetadata as TypeMetadata,\n      dataV1DataCollection_universal_d_TypeMetadataMetadataOneOf as TypeMetadataMetadataOneOf,\n      dataV1DataCollection_universal_d_FieldCapabilities as FieldCapabilities,\n      dataV1DataCollection_universal_d_QueryOperator as QueryOperator,\n      dataV1DataCollection_universal_d_ObjectField as ObjectField,\n      dataV1DataCollection_universal_d_FieldsPattern as FieldsPattern,\n      dataV1DataCollection_universal_d_UrlizedOnlyPattern as UrlizedOnlyPattern,\n      dataV1DataCollection_universal_d_Calculator as Calculator,\n      dataV1DataCollection_universal_d_CalculatorPatternOneOf as CalculatorPatternOneOf,\n      dataV1DataCollection_universal_d_Reference as Reference,\n      dataV1DataCollection_universal_d_MultiReference as MultiReference,\n      Object$1 as Object,\n      dataV1DataCollection_universal_d_Array as Array,\n      dataV1DataCollection_universal_d_PageLink as PageLink,\n      dataV1DataCollection_universal_d_NumberRange as NumberRange,\n      dataV1DataCollection_universal_d_StringLengthRange as StringLengthRange,\n      dataV1DataCollection_universal_d_ArraySizeRange as ArraySizeRange,\n      dataV1DataCollection_universal_d_Permissions as Permissions,\n      dataV1DataCollection_universal_d_Role as Role,\n      dataV1DataCollection_universal_d_Plugin as Plugin,\n      dataV1DataCollection_universal_d_PluginOptionsOneOf as PluginOptionsOneOf,\n      dataV1DataCollection_universal_d_Status as Status,\n      dataV1DataCollection_universal_d_Format as Format,\n      dataV1DataCollection_universal_d_Type as Type,\n      dataV1DataCollection_universal_d_PublishPluginOptions as PublishPluginOptions,\n      dataV1DataCollection_universal_d_SingleItemPluginOptions as SingleItemPluginOptions,\n      dataV1DataCollection_universal_d_UrlizedPluginOptions as UrlizedPluginOptions,\n      dataV1DataCollection_universal_d_GridapplessPluginOptions as GridapplessPluginOptions,\n      dataV1DataCollection_universal_d_PagingMode as PagingMode,\n      dataV1DataCollection_universal_d_DataCollectionClonedEvent as DataCollectionClonedEvent,\n      dataV1DataCollection_universal_d_DataCollectionChangedEvent as DataCollectionChangedEvent,\n      dataV1DataCollection_universal_d_CreateDataCollectionRequest as CreateDataCollectionRequest,\n      dataV1DataCollection_universal_d_CreateDataCollectionResponse as CreateDataCollectionResponse,\n      dataV1DataCollection_universal_d_GetDataCollectionRequest as GetDataCollectionRequest,\n      dataV1DataCollection_universal_d_GetDataCollectionResponse as GetDataCollectionResponse,\n      dataV1DataCollection_universal_d_ListDataCollectionsRequest as ListDataCollectionsRequest,\n      dataV1DataCollection_universal_d_ListDataCollectionsRequestPagingMethodOneOf as ListDataCollectionsRequestPagingMethodOneOf,\n      dataV1DataCollection_universal_d_Sorting as Sorting,\n      dataV1DataCollection_universal_d_SortOrder as SortOrder,\n      dataV1DataCollection_universal_d_Paging as Paging,\n      dataV1DataCollection_universal_d_CursorPaging as CursorPaging,\n      dataV1DataCollection_universal_d_ListDataCollectionsResponse as ListDataCollectionsResponse,\n      dataV1DataCollection_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      dataV1DataCollection_universal_d_Cursors as Cursors,\n      dataV1DataCollection_universal_d_BulkGetDataCollectionsRequest as BulkGetDataCollectionsRequest,\n      dataV1DataCollection_universal_d_BulkGetDataCollectionsResponse as BulkGetDataCollectionsResponse,\n      dataV1DataCollection_universal_d_BulkGetDataCollectionsBySnapshotsRequest as BulkGetDataCollectionsBySnapshotsRequest,\n      dataV1DataCollection_universal_d_BulkGetDataCollectionsBySnapshotsResponse as BulkGetDataCollectionsBySnapshotsResponse,\n      dataV1DataCollection_universal_d_SnapshotDataCollections as SnapshotDataCollections,\n      dataV1DataCollection_universal_d_UpdateDataCollectionRequest as UpdateDataCollectionRequest,\n      dataV1DataCollection_universal_d_UpdateDataCollectionResponse as UpdateDataCollectionResponse,\n      dataV1DataCollection_universal_d_DeleteDataCollectionRequest as DeleteDataCollectionRequest,\n      dataV1DataCollection_universal_d_DeleteDataCollectionResponse as DeleteDataCollectionResponse,\n      dataV1DataCollection_universal_d_createDataCollection as createDataCollection,\n      dataV1DataCollection_universal_d_CreateDataCollectionOptions as CreateDataCollectionOptions,\n      dataV1DataCollection_universal_d_getDataCollection as getDataCollection,\n      dataV1DataCollection_universal_d_GetDataCollectionOptions as GetDataCollectionOptions,\n      dataV1DataCollection_universal_d_listDataCollections as listDataCollections,\n      dataV1DataCollection_universal_d_ListDataCollectionsOptions as ListDataCollectionsOptions,\n      dataV1DataCollection_universal_d_bulkGetDataCollections as bulkGetDataCollections,\n      dataV1DataCollection_universal_d_BulkGetDataCollectionsOptions as BulkGetDataCollectionsOptions,\n      dataV1DataCollection_universal_d_updateDataCollection as updateDataCollection,\n      dataV1DataCollection_universal_d_UpdateDataCollectionOptions as UpdateDataCollectionOptions,\n      dataV1DataCollection_universal_d_deleteDataCollection as deleteDataCollection,\n    };\n  }\n  \n  export { dataV1DataCollection_universal_d as data };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-inbox.v2.d.ts",
      "content": "declare module \"wix-inbox.v2\" {\n  interface Conversation {\n      /**\n       * Conversation ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * ID of the visitor, contact, or member who is chatting with the business.\n       * @readonly\n       */\n      participant?: IdentificationData$1;\n      /**\n       * List of communication channels where the visitor, contact, or member can receive messages.\n       * @readonly\n       */\n      channels?: ChannelType$1[];\n      /** Display name and avatar for the business. */\n      businessDisplayData?: ConversationDisplayData;\n      /** Display name and avatar for the visitor, contact, or member. */\n      participantDisplayData?: ConversationDisplayData;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of an anonymous site visitor. */\n      anonymousVisitorId?: string;\n      /** ID of a site member. */\n      memberId?: string;\n      /**\n       * ID of a site contact.\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of an anonymous site visitor. */\n      anonymousVisitorId?: string;\n      /** ID of a site member. */\n      memberId?: string;\n  }\n  enum ChannelType$1 {\n      UNKNOWN_CHANNEL_TYPE = \"UNKNOWN_CHANNEL_TYPE\",\n      CHAT = \"CHAT\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\",\n      FACEBOOK = \"FACEBOOK\",\n      INSTAGRAM = \"INSTAGRAM\",\n      WHATSAPP = \"WHATSAPP\",\n      AI_ASSISTANT = \"AI_ASSISTANT\",\n      PHONE = \"PHONE\"\n  }\n  interface ConversationDisplayData {\n      /**\n       * Display name.\n       * @readonly\n       */\n      name?: string;\n      /**\n       * Avatar image URL.\n       * @readonly\n       */\n      imageUrl?: string | null;\n  }\n  interface ConversationsMerged {\n      /** List of old conversation IDs. */\n      oldConversationIds?: string[];\n      /** New conversation ID. */\n      targetConversationId?: string;\n  }\n  interface GetConversationRequest {\n      /** Conversation ID. */\n      conversationId: string;\n  }\n  interface GetConversationResponse {\n      /** Retrieved conversation. */\n      conversation?: Conversation;\n  }\n  interface GetOrCreateConversationRequest {\n      /**\n       * ID of the visitor, contact, or member chatting with the business.\n       *\n       * Required for 3rd-party apps.\n       */\n      participantId?: ParticipantId;\n  }\n  interface ParticipantId extends ParticipantIdIdOneOf {\n      /** ID of a site contact. */\n      contactId?: string;\n      /** ID of an anonymous site visitor. */\n      anonymousVisitorId?: string;\n      /** ID of a site member. */\n      memberId?: string;\n  }\n  /** @oneof */\n  interface ParticipantIdIdOneOf {\n      /** ID of a site contact. */\n      contactId?: string;\n      /** ID of an anonymous site visitor. */\n      anonymousVisitorId?: string;\n      /** ID of a site member. */\n      memberId?: string;\n  }\n  interface GetOrCreateConversationResponse {\n      /** Created or retrieved conversation. */\n      conversation?: Conversation;\n      /**\n       * Indicates whether the conversation previously exists or was just created.\n       *\n       * If `true`, the conversation was just created.\n       * If `false`, the conversation already existed.\n       */\n      newConversation?: boolean;\n  }\n  interface ListConversationsRequest {\n      paging?: CursorPaging$1;\n      /** only message time is supported for field name */\n      sorting?: Sorting$1;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface ListConversationsResponse {\n      conversations?: Conversation[];\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DeleteConversationRequest {\n      conversationId: string;\n  }\n  interface DeleteConversationResponse {\n  }\n  interface AddConversationChannelsRequest {\n      conversationId: string;\n      conversationChannels?: ConversationChannel[];\n  }\n  interface ConversationChannel {\n      channel?: ChannelType$1;\n      /** TODO rename? - Shalom */\n      recipients?: string[];\n  }\n  interface AddConversationChannelsResponse {\n  }\n  interface ChatroomsMerged {\n      /** old chatroom ids */\n      oldChatroomIds?: string[];\n      /** new chatroom id */\n      targetChatroomId?: string;\n  }\n  interface Empty$1 {\n  }\n  interface ReadConversationRequest {\n      conversationId: string;\n      channelId: string | null;\n      readBy: ParticipantId;\n      timestamp: Date | null;\n  }\n  interface ReadConversationResponse {\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData$1 extends WebhooksIdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a conversation by conversation ID.\n   *\n   * If you don't have the conversation ID, use `getOrCreateConversation()` to retrieve the conversation using the visitor, contact, or member ID.\n   *\n   * @param conversationId - Conversation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @permissionId INBOX.READ_CONVERSATIONS\n   * @adminMethod\n   * @returns Retrieved conversation.\n   */\n  function getConversation(conversationId: string): Promise<Conversation>;\n  /**\n   * Retrieves a conversation by the specified visitor, contact, or member ID. If the conversation does not exist for the provided visitor, contact, or member, the function creates a new conversation.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField participantId\n   * @param participantId - ID of the visitor, contact, or member chatting with the business.\n   * @permissionId INBOX.CREATE_CONVERSATIONS\n   * @adminMethod\n   */\n  function getOrCreateConversation(participantId: ParticipantId): Promise<GetOrCreateConversationResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId INBOX.READ_CONVERSATIONS\n   * @adminMethod\n   */\n  function listConversations(options?: ListConversationsOptions): Promise<ListConversationsResponse>;\n  interface ListConversationsOptions {\n      paging?: CursorPaging$1;\n      /** only message time is supported for field name */\n      sorting?: Sorting$1;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @permissionId INBOX.DELETE_CONVERSATIONS\n   * @adminMethod\n   */\n  function deleteConversation(conversationId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @permissionId INBOX.CREATE_CONVERSATIONS\n   * @adminMethod\n   */\n  function addConversationChannels(conversationId: string, options?: AddConversationChannelsOptions): Promise<void>;\n  interface AddConversationChannelsOptions {\n      conversationChannels?: ConversationChannel[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField channelId\n   * @requiredField conversationId\n   * @requiredField options\n   * @requiredField options.readBy\n   * @requiredField options.timestamp\n   * @permissionId INBOX.READ_CONVERSATIONS\n   * @adminMethod\n   */\n  function readConversation(conversationId: string, channelId: string | null, options: ReadConversationOptions): Promise<void>;\n  interface ReadConversationOptions {\n      readBy: ParticipantId;\n      timestamp: Date | null;\n  }\n  \n  type crmInboxV2Conversation_universal_d_Conversation = Conversation;\n  type crmInboxV2Conversation_universal_d_ConversationDisplayData = ConversationDisplayData;\n  type crmInboxV2Conversation_universal_d_ConversationsMerged = ConversationsMerged;\n  type crmInboxV2Conversation_universal_d_GetConversationRequest = GetConversationRequest;\n  type crmInboxV2Conversation_universal_d_GetConversationResponse = GetConversationResponse;\n  type crmInboxV2Conversation_universal_d_GetOrCreateConversationRequest = GetOrCreateConversationRequest;\n  type crmInboxV2Conversation_universal_d_ParticipantId = ParticipantId;\n  type crmInboxV2Conversation_universal_d_ParticipantIdIdOneOf = ParticipantIdIdOneOf;\n  type crmInboxV2Conversation_universal_d_GetOrCreateConversationResponse = GetOrCreateConversationResponse;\n  type crmInboxV2Conversation_universal_d_ListConversationsRequest = ListConversationsRequest;\n  type crmInboxV2Conversation_universal_d_ListConversationsResponse = ListConversationsResponse;\n  type crmInboxV2Conversation_universal_d_DeleteConversationRequest = DeleteConversationRequest;\n  type crmInboxV2Conversation_universal_d_DeleteConversationResponse = DeleteConversationResponse;\n  type crmInboxV2Conversation_universal_d_AddConversationChannelsRequest = AddConversationChannelsRequest;\n  type crmInboxV2Conversation_universal_d_ConversationChannel = ConversationChannel;\n  type crmInboxV2Conversation_universal_d_AddConversationChannelsResponse = AddConversationChannelsResponse;\n  type crmInboxV2Conversation_universal_d_ChatroomsMerged = ChatroomsMerged;\n  type crmInboxV2Conversation_universal_d_ReadConversationRequest = ReadConversationRequest;\n  type crmInboxV2Conversation_universal_d_ReadConversationResponse = ReadConversationResponse;\n  const crmInboxV2Conversation_universal_d_getConversation: typeof getConversation;\n  const crmInboxV2Conversation_universal_d_getOrCreateConversation: typeof getOrCreateConversation;\n  const crmInboxV2Conversation_universal_d_listConversations: typeof listConversations;\n  type crmInboxV2Conversation_universal_d_ListConversationsOptions = ListConversationsOptions;\n  const crmInboxV2Conversation_universal_d_deleteConversation: typeof deleteConversation;\n  const crmInboxV2Conversation_universal_d_addConversationChannels: typeof addConversationChannels;\n  type crmInboxV2Conversation_universal_d_AddConversationChannelsOptions = AddConversationChannelsOptions;\n  const crmInboxV2Conversation_universal_d_readConversation: typeof readConversation;\n  type crmInboxV2Conversation_universal_d_ReadConversationOptions = ReadConversationOptions;\n  namespace crmInboxV2Conversation_universal_d {\n    export {\n      crmInboxV2Conversation_universal_d_Conversation as Conversation,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      ChannelType$1 as ChannelType,\n      crmInboxV2Conversation_universal_d_ConversationDisplayData as ConversationDisplayData,\n      crmInboxV2Conversation_universal_d_ConversationsMerged as ConversationsMerged,\n      crmInboxV2Conversation_universal_d_GetConversationRequest as GetConversationRequest,\n      crmInboxV2Conversation_universal_d_GetConversationResponse as GetConversationResponse,\n      crmInboxV2Conversation_universal_d_GetOrCreateConversationRequest as GetOrCreateConversationRequest,\n      crmInboxV2Conversation_universal_d_ParticipantId as ParticipantId,\n      crmInboxV2Conversation_universal_d_ParticipantIdIdOneOf as ParticipantIdIdOneOf,\n      crmInboxV2Conversation_universal_d_GetOrCreateConversationResponse as GetOrCreateConversationResponse,\n      crmInboxV2Conversation_universal_d_ListConversationsRequest as ListConversationsRequest,\n      CursorPaging$1 as CursorPaging,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      crmInboxV2Conversation_universal_d_ListConversationsResponse as ListConversationsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      crmInboxV2Conversation_universal_d_DeleteConversationRequest as DeleteConversationRequest,\n      crmInboxV2Conversation_universal_d_DeleteConversationResponse as DeleteConversationResponse,\n      crmInboxV2Conversation_universal_d_AddConversationChannelsRequest as AddConversationChannelsRequest,\n      crmInboxV2Conversation_universal_d_ConversationChannel as ConversationChannel,\n      crmInboxV2Conversation_universal_d_AddConversationChannelsResponse as AddConversationChannelsResponse,\n      crmInboxV2Conversation_universal_d_ChatroomsMerged as ChatroomsMerged,\n      Empty$1 as Empty,\n      crmInboxV2Conversation_universal_d_ReadConversationRequest as ReadConversationRequest,\n      crmInboxV2Conversation_universal_d_ReadConversationResponse as ReadConversationResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      WebhooksIdentificationData$1 as WebhooksIdentificationData,\n      WebhooksIdentificationDataIdOneOf$1 as WebhooksIdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      crmInboxV2Conversation_universal_d_getConversation as getConversation,\n      crmInboxV2Conversation_universal_d_getOrCreateConversation as getOrCreateConversation,\n      crmInboxV2Conversation_universal_d_listConversations as listConversations,\n      crmInboxV2Conversation_universal_d_ListConversationsOptions as ListConversationsOptions,\n      crmInboxV2Conversation_universal_d_deleteConversation as deleteConversation,\n      crmInboxV2Conversation_universal_d_addConversationChannels as addConversationChannels,\n      crmInboxV2Conversation_universal_d_AddConversationChannelsOptions as AddConversationChannelsOptions,\n      crmInboxV2Conversation_universal_d_readConversation as readConversation,\n      crmInboxV2Conversation_universal_d_ReadConversationOptions as ReadConversationOptions,\n    };\n  }\n  \n  interface Message {\n      /**\n       * Message ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Structured message content. */\n      content?: MessageContent;\n      /**\n       * ID of the message sender.\n       *\n       * Defaults to the caller's ID using the property that matches their identity type.\n       *\n       * You can override the default behavior when calling\n       * `sendMessage()` by using the `sendAs` field from the `options` object.\n       *\n       * @readonly\n       */\n      sender?: IdentificationData;\n      /**\n       * Optional icon and short text providing additional details about the message,\n       * such as the app from which the message was sent, or whether the message was an automated response.\n       *\n       * Currently only 1 badge is supported.\n       */\n      badges?: Badge[];\n      /**\n       * Communication channel to send the message to.\n       *\n       * Currently messages can be sent to 1 channel only.\n       */\n      targetChannels?: ChannelType[];\n      /** Communication channel the message is sent from. */\n      sourceChannel?: ChannelType;\n      /**\n       * Reserved for internal use.\n       *\n       * ID of the application that sent the message.Omitted if the message was sent with the Chat widget.\n       * @readonly\n       */\n      appId?: string | null;\n      /**\n       * __Required.__\n       * Controls who can see the message.\n       *\n       * - `\"BUSINESS_AND_PARTICIPANT\"`: Visible to the participant and site collaborators.\n       * - `\"BUSINESS\"`: Visible to site collaborators only.\n       */\n      visibility?: MessageVisibility;\n      /**\n       * Sequential ordering of the message.\n       *\n       * Ensures more accurate sorting than `createdDate`\n       * if two messages are sent at the same time.\n       * @readonly\n       */\n      sequence?: string | null;\n      /**\n       * __Required.__\n       * Message direction.\n       *\n       * - `\"BUSINESS_TO_PARTICIPANT\"`: The message was sent from the business to the participant.\n       * - `\"PARTICIPANT_TO_BUSINESS\"`: The message was sent from the participant to the business.\n       */\n      direction?: MessageDirection;\n      /** Date and time the message was sent. */\n      _createdDate?: Date | null;\n      /**\n       * Sequence of channel IDs required for channels integration via the CC host\n       * @internal\n       */\n      targetChannelIds?: string[];\n      /** @internal */\n      sourceChannelId?: string | null;\n  }\n  interface MessageContent extends MessageContentPayloadOneOf {\n      /** Plain text, file, or image message. */\n      basic?: BasicMessagePayload;\n      /**\n       * Template containing an image, title, text,\n       * and/or up to 10 call-to-action buttons.\n       */\n      template?: TemplateMessagePayload;\n      /**\n       * Minimal message containing a single line of text\n       * and an optional icon.\n       * Often reports an activity that took place.\n       */\n      minimal?: MinimalMessagePayload;\n      /**\n       * Message containing submitted form data.\n       * Typically sent with a `direction` of `\"PARTICIPANT_TO_BUSINESS\"`\n       * and message `visibility` of `\"BUSINESS\"`.\n       */\n      form?: FormMessagePayload;\n      /**\n       * Reserved for internal use.\n       *\n       * System message.\n       */\n      system?: SystemMessagePayload;\n      /**\n       * Summary of message contents.\n       * Displayed in Inbox in the\n       * [Message List](https://support.wix.com/en/article/wix-inbox-getting-started#view-your-messages).\n       */\n      previewText?: string | null;\n      /** Message title. */\n      title?: string | null;\n      /**\n       * An enum that says what the Content Type expected to be populated inside payload\n       * @internal\n       */\n      contentType?: ContentType;\n  }\n  /** @oneof */\n  interface MessageContentPayloadOneOf {\n      /** Plain text, file, or image message. */\n      basic?: BasicMessagePayload;\n      /**\n       * Template containing an image, title, text,\n       * and/or up to 10 call-to-action buttons.\n       */\n      template?: TemplateMessagePayload;\n      /**\n       * Minimal message containing a single line of text\n       * and an optional icon.\n       * Often reports an activity that took place.\n       */\n      minimal?: MinimalMessagePayload;\n      /**\n       * Message containing submitted form data.\n       * Typically sent with a `direction` of `PARTICIPANT_TO_BUSINESS`\n       * and message `visibility` of `BUSINESS`.\n       */\n      form?: FormMessagePayload;\n      /**\n       * System message.\n       * For internal use.\n       */\n      system?: SystemMessagePayload;\n  }\n  interface BasicMessagePayload {\n      /**\n       * List of plain text messages, images, and/or files.\n       * List items are displayed as separate messages\n       * in Inbox and the site's chat widget.\n       */\n      items?: BasicMessageData[];\n  }\n  interface BasicMessageData extends BasicMessageDataDataOneOf {\n      /** Text message. */\n      text?: string;\n      /**\n       * Image message.\n       * Can contain an image from Wix Media\n       * or from an external provider.\n       */\n      image?: ImageMessage;\n      /**\n       * File attachment.\n       * Can contain a file from Wix Media or an external provider.\n       */\n      file?: FileMessage;\n  }\n  /** @oneof */\n  interface BasicMessageDataDataOneOf {\n      /** Text message. */\n      text?: string;\n      /**\n       * Image message.\n       * Can contain an image from Wix Media\n       * or from an external provider.\n       */\n      image?: ImageMessage;\n      /**\n       * File attachment.\n       * Can contain a file from Wix Media or an external provider.\n       */\n      file?: FileMessage;\n  }\n  interface ImageMessage {\n      /** Wix Media ID. */\n      _id?: string | null;\n      /** URL where the image is hosted. */\n      url?: string;\n      /** File name of the original file. */\n      filename?: string | null;\n      /**\n       * File size, in bytes.\n       * @internal\n       */\n      fileSize?: string | null;\n      /** Original image width, in pixels. */\n      width?: number;\n      /** Original image height, in pixels. */\n      height?: number;\n  }\n  interface FileMessage {\n      /** Wix Media ID. */\n      _id?: string | null;\n      /** URL where the file is hosted. */\n      url?: string;\n      /** File name of the original file. */\n      filename?: string | null;\n      /**\n       * File size, in bytes.\n       * @internal\n       */\n      fileSize?: string | null;\n      /** File [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types). */\n      mimeType?: string | null;\n  }\n  interface TemplateMessagePayload {\n      /** Title displayed in the message. */\n      title?: string | null;\n      /**\n       * List of buttons to display with the message.\n       * Buttons can either open a URL or pass interaction details to the\n       * `onMessageButtonInteracted()` event.\n       *\n       * Max: 10 buttons.\n       */\n      buttons?: Button[];\n      /** Controls whether the message is displayed in portrait or landscape layout. */\n      orientation?: Orientation;\n      /**\n       * an icon key\n       * @internal\n       */\n      icon?: string | null;\n      /**\n       * List of lines of text. Each item in the array is displayed on a new line.\n       *\n       * Max: 10 lines (up to 512 characters per line).\n       */\n      textLines?: string[];\n      /** URL where the icon is hosted. */\n      imageUrl?: string | null;\n  }\n  interface Button {\n      /** Button label text. */\n      label?: string;\n      /** If included, the button launches the specified URL. */\n      launchUrl?: string | null;\n      /** Properties to pass to the `onMessageButtonInteracted()` event when the button is clicked. */\n      postbackProperties?: PostbackProperties;\n  }\n  interface PostbackProperties {\n      /**\n       * For internal use.\n       *\n       * @readonly\n       */\n      appId?: string | null;\n      /** ID you define for the interaction, to be handled by your server. */\n      interactionId?: string;\n  }\n  enum Orientation {\n      /** Unknown orientation. */\n      UNKNOWN_ORIENTATION = \"UNKNOWN_ORIENTATION\",\n      /** Portrait layout. */\n      PORTRAIT = \"PORTRAIT\",\n      /** Landscape layout. */\n      LANDSCAPE = \"LANDSCAPE\"\n  }\n  interface MinimalMessagePayload {\n      /** Message text. */\n      text?: string;\n      /**\n       * an icon key\n       * @internal\n       */\n      icon?: string | null;\n      /** URL where the icon is hosted. */\n      iconUrl?: string | null;\n      /** If included, URL the user is redirected to when clicking the message. */\n      url?: string | null;\n  }\n  interface FormMessagePayload {\n      /** Form title displayed in the message. */\n      title?: string | null;\n      /** Form description displayed below the title. */\n      description?: string | null;\n      /** List of form fields and values. */\n      fields?: FormField[];\n      /**\n       * List of files and/or images attached to the form.\n       *\n       * List items are displayed as separate messages\n       * in Inbox and the site's chat widget.\n       */\n      media?: MediaItem[];\n  }\n  interface FormField {\n      /** Form field display name. */\n      name?: string;\n      /** Submitted value. */\n      value?: string;\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      /**\n       * Image message.\n       * Can contain an image from Wix Media\n       * or from an external provider.\n       */\n      image?: ImageMessage;\n      /**\n       * File attachment.\n       * Can contain a file from Wix Media or an external provider.\n       */\n      file?: FileMessage;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /**\n       * Image message.\n       * Can contain an image from Wix Media\n       * or from an external provider.\n       */\n      image?: ImageMessage;\n      /**\n       * File attachment.\n       * Can contain a file from Wix Media or an external provider.\n       */\n      file?: FileMessage;\n  }\n  interface SystemMessagePayload {\n      /** Text message. `\\n` renders as a line break. */\n      text?: string;\n      /**\n       * List of buttons to display with the message.\n       * Buttons can either open a URL or pass interaction details to the\n       * `onMessageButtonInteracted()` event.\n       *\n       * Maximum: 10 buttons.\n       */\n      buttons?: Button[];\n      /** URL where the icon is hosted. */\n      imageUrl?: string | null;\n  }\n  enum ContentType {\n      UNKNOWN_CONTENT = \"UNKNOWN_CONTENT\",\n      BASIC = \"BASIC\",\n      TEMPLATE = \"TEMPLATE\",\n      MINIMAL = \"MINIMAL\",\n      FORM = \"FORM\",\n      SYSTEM = \"SYSTEM\",\n      UNSUPPORTED = \"UNSUPPORTED\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** Anonymous site visitor ID. */\n      anonymousVisitorId?: string;\n      /**\n       * Site\n       * [member](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/members)\n       * ID.\n       */\n      memberId?: string;\n      /** User ID of the site owner or a site contributor. */\n      wixUserId?: string;\n      /** App ID. */\n      appId?: string;\n      /**\n       * Optional site\n       * [contact](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts) ID.\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** Anonymous site visitor ID. */\n      anonymousVisitorId?: string;\n      /**\n       * Site\n       * [member](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/members)\n       * ID.\n       */\n      memberId?: string;\n      /** User ID of the site owner or a site contributor. */\n      wixUserId?: string;\n      /** App ID. */\n      appId?: string;\n  }\n  interface Badge {\n      /** Display text. */\n      text?: string;\n      /**\n       * an icon key\n       * @internal\n       */\n      icon?: string | null;\n      /** URL where the icon is hosted. */\n      iconUrl?: string | null;\n      /**\n       * Controls whether the badge is visible to the participant.\n       * Currently not supported in the Chat widget.\n       */\n      badgeVisibility?: BadgeVisibility;\n  }\n  enum BadgeVisibility {\n      /** Unkown visibility. */\n      UNKNOWN_BADGE_VISIBILITY = \"UNKNOWN_BADGE_VISIBILITY\",\n      /** Visible to the participant and site collaborators. */\n      BUSINESS_AND_PARTICIPANT = \"BUSINESS_AND_PARTICIPANT\",\n      /** Visible to site collaborators only. */\n      BUSINESS = \"BUSINESS\"\n  }\n  enum ChannelType {\n      UNKNOWN_CHANNEL_TYPE = \"UNKNOWN_CHANNEL_TYPE\",\n      CHAT = \"CHAT\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\",\n      FACEBOOK = \"FACEBOOK\",\n      INSTAGRAM = \"INSTAGRAM\",\n      WHATSAPP = \"WHATSAPP\",\n      AI_ASSISTANT = \"AI_ASSISTANT\",\n      PHONE = \"PHONE\"\n  }\n  enum MessageVisibility {\n      /** Unknown message visibility. */\n      UNKNOWN_VISIBILITY = \"UNKNOWN_VISIBILITY\",\n      /** Visible to the participant and site collaborators. */\n      BUSINESS_AND_PARTICIPANT = \"BUSINESS_AND_PARTICIPANT\",\n      /** Visible to site collaborators only. */\n      BUSINESS = \"BUSINESS\"\n  }\n  enum MessageDirection {\n      /** Unknown message direction. */\n      UNKNOWN_DIRECTION = \"UNKNOWN_DIRECTION\",\n      /** The message was sent from the business to the participant. */\n      BUSINESS_TO_PARTICIPANT = \"BUSINESS_TO_PARTICIPANT\",\n      /** The message was sent from the participant to the business. */\n      PARTICIPANT_TO_BUSINESS = \"PARTICIPANT_TO_BUSINESS\"\n  }\n  interface GetMessageIndicationsRequest {\n      conversationId: string;\n      messageId: string;\n  }\n  interface GetMessageIndicationsResponse {\n      messageIndications?: MessageIndication[];\n  }\n  interface MessageIndication {\n      /** @readonly */\n      conversationId?: string | null;\n      /**\n       * The time when the message was sent\n       * @readonly\n       */\n      messageId?: string | null;\n      /**\n       * The type of the indication\n       * - `UNKNOWN_INDICATION_TYPE`: Unknown indication type.\n       * - `SENT`: Message was sent.\n       * - `SEEN`: Message was seen.\n       * - `ERROR`: There was an error.\n       * - `DELIVERED`: Message was delivered.\n       */\n      type?: IndicationType;\n      /** The channel to which this indication was added */\n      channel?: ChannelType;\n      /**\n       * The error code when it is an ERROR indication\n       * @internal\n       */\n      errorCode?: string | null;\n      /** The time when action happened */\n      timestamp?: Date | null;\n      /**\n       * The channel id that the message was sent in\n       * @internal\n       */\n      channelId?: string | null;\n  }\n  enum IndicationType {\n      /** Unknown indication type. */\n      UNKNOWN_INDICATION_TYPE = \"UNKNOWN_INDICATION_TYPE\",\n      /** Message was sent. */\n      SENT = \"SENT\",\n      /** Message was seen. */\n      SEEN = \"SEEN\",\n      /** There was an error. */\n      ERROR = \"ERROR\",\n      /** Message was delivered. */\n      DELIVERED = \"DELIVERED\"\n  }\n  interface AddMessageIndicationsRequest {\n      conversationId: string;\n      messageIds: string[];\n      /** by whom this action was done, defaults to PARTICIPANT in case of UNKNOWN_PERFORMED_BY */\n      performedBy?: PerformedBy;\n      indication: MessageIndication;\n  }\n  enum PerformedBy {\n      /** Unknown performer. */\n      UNKNOWN_PERFORMED_BY = \"UNKNOWN_PERFORMED_BY\",\n      /** Business performed the action. */\n      BUSINESS = \"BUSINESS\",\n      /** Participant performed the action. */\n      PARTICIPANT = \"PARTICIPANT\"\n  }\n  interface AddMessageIndicationsResponse {\n  }\n  interface MessageSentToParticipant {\n      /** Conversation ID. */\n      conversationId?: string;\n      /** Sent message. */\n      message?: Message;\n      /**\n       * Internal data about custom messages\n       * @internal\n       */\n      customMessageData?: CustomMessageData;\n  }\n  interface CustomMessageData {\n      /** Name of the app this message belong to */\n      appName?: string | null;\n      /** Data set by the sending application */\n      appData?: Record<string, string>;\n  }\n  interface MessageSentToBusiness {\n      /** Conversation ID. */\n      conversationId?: string;\n      /** Sent message. */\n      message?: Message;\n      /**\n       * Internal data about custom messages\n       * @internal\n       */\n      customMessageData?: CustomMessageData;\n      /** Optional info about interaction with app done by the user */\n      interactionInfo?: InteractionInfo;\n  }\n  /**\n   * Source of interaction message, will be available when message originated by interaction with an application.\n   * like clicking a button.\n   */\n  interface InteractionInfo {\n      appId?: string | null;\n      interactionId?: string | null;\n  }\n  interface ButtonInteracted {\n      /** Conversation ID. */\n      conversationId?: string;\n      /** [Your app's](https://dev.wix.com/dc3/my-apps) app ID. */\n      appId?: string | null;\n      /**\n       * ID you define for the interaction,\n       * to be handled by your server.\n       */\n      interactionId?: string | null;\n      /** ID of the participant who pressed the button. */\n      interactedBy?: IdentificationData;\n  }\n  interface ListMessagesRequest {\n      /** ID of the conversation that contains the intended messages. */\n      conversationId: string;\n      /**\n       * __Required.__\n       * Filters for messages with the specified visibility setting.\n       *\n       * - `\"BUSINESS_AND_PARTICIPANT\"`: Return messages visible to the business and the participant.\n       * - `\"BUSINESS\"`: Return all messages.\n       */\n      visibility?: MessageVisibility;\n      /** Paging options. */\n      paging?: CursorPaging;\n      /** Sorting options. */\n      sorting?: Sorting;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface ListMessagesResponse {\n      /** List of messages between the specified visitor and the site. */\n      messages?: Message[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface SendMessageRequest {\n      /** ID of the conversation to add the message to. */\n      conversationId: string;\n      /** Message to send. */\n      message: Message;\n      /**\n       * Controls whether the message triggers notifications when it's received.\n       *\n       * Default: `false`\n       */\n      sendNotifications?: boolean;\n      /**\n       * Controls whether the unread count and conversation summary\n       * are updated in the\n       * [Message List](https://support.wix.com/en/article/wix-inbox-getting-started#view-your-messages).\n       *\n       * If `true`, unread count and conversation summary are not updated.\n       *\n       * Default: `false`\n       */\n      silent?: boolean;\n      /** @internal */\n      typingDelay?: number | null;\n      /**\n       * Controls which identity to use in the message's `sender` property.\n       * Default: `CALLER`\n       * For 3rd-party apps, the app is the caller.\n       */\n      sendAs?: OverrideSenderOptions;\n      /**\n       * Wix user ID of the message sender.\n       *\n       * Required if `sendAs` is set to `BUSINESS_USER`.\n       * @internal\n       */\n      businessUserId?: string | null;\n  }\n  enum OverrideSenderOptions {\n      /** Uses the identity included in the request header. */\n      CALLER = \"CALLER\",\n      /** Uses the `anonymousVisitorId`, `contactId`, or `memberId` of the conversation's participant. */\n      PARTICIPANT = \"PARTICIPANT\",\n      /** For internal use. Uses the `wixUserId` of the person sending messages on behalf of the business. */\n      BUSINESS_USER = \"BUSINESS_USER\"\n  }\n  interface SendMessageResponse {\n      /** Sent message. */\n      message?: Message;\n  }\n  interface Empty {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData extends WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @requiredField messageId\n   * @permissionId INBOX.READ_MESSAGES\n   * @adminMethod\n   */\n  function getMessageIndications(messageId: string, conversationId: string): Promise<GetMessageIndicationsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @requiredField options.indication\n   * @requiredField options.messageIds\n   * @permissionId INBOX.ADD_MESSAGE_INDICATIONS\n   * @adminMethod\n   */\n  function addMessageIndications(conversationId: string, options?: AddMessageIndicationsOptions): Promise<void>;\n  interface AddMessageIndicationsOptions {\n      messageIds: string[];\n      /** by whom this action was done, defaults to PARTICIPANT in case of UNKNOWN_PERFORMED_BY */\n      performedBy?: PerformedBy;\n      indication: MessageIndication;\n  }\n  /**\n   * Retrieves messages between the business and participant.\n   *\n   *\n   * Up to 30 messages are returned per request. If the number of messages in a conversation is larger than 30,\n   * `pagingMetadata.cursors` is returned in the response, indicating that another page of results is available.\n   * To retrieve the next page of messages, pass the `next` cursor value\n   * in the next request's `paging.cursor` parameter.\n   *\n   * To ensure you'll always retrieve the next record,\n   * use the same visibility and sorting\n   * in the first request and all subsequent requests.\n   *\n   * By default,\n   * 30 messages are retrieved and sorted by `sequence` in descending order\n   * (the most recent messages are first in the list).\n   * @param conversationId - ID of the conversation that contains the intended messages.\n   * @param visibility - __Required.__\n   * Filters for messages with the specified visibility setting.\n   *\n   * - `\"BUSINESS_AND_PARTICIPANT\"`: Return messages visible to the business and the participant.\n   * - `\"BUSINESS\"`: Return all messages.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @requiredField visibility\n   * @param options - Additional options for listing messages.\n   * @permissionId INBOX.READ_MESSAGES\n   * @adminMethod\n   */\n  function listMessages(conversationId: string, visibility: MessageVisibility, options?: ListMessagesOptions): Promise<ListMessagesResponse>;\n  interface ListMessagesOptions {\n      /** Paging options. */\n      paging?: CursorPaging;\n      /** Sorting options. */\n      sorting?: Sorting;\n  }\n  /**\n   * Sends a message to the business or participant.\n   *\n   *\n   * Specify the message type in `message.content`\n   * by including the appropriate object: `basic`, `template`, `minimal`, or `form`.\n   * For more information on message types\n   * and how each type renders in Inbox and the Chat widget,\n   * see [Message Types](#message-types).\n   * @param conversationId - ID of the conversation to add the message to.\n   * @param message - Message to send.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @requiredField message\n   * @requiredField message.content\n   * @param options - Additional options for sending a message.\n   * @permissionId INBOX.SEND_MESSAGES\n   * @adminMethod\n   */\n  function sendMessage(conversationId: string, message: Message, options?: SendMessageOptions): Promise<SendMessageResponse>;\n  interface SendMessageOptions {\n      /**\n       * Controls whether the message triggers notifications when it's received.\n       *\n       * Default: `false`\n       */\n      sendNotifications?: boolean;\n      /**\n       * Controls whether the unread count and conversation summary\n       * are updated in the\n       * [Message List](https://support.wix.com/en/article/wix-inbox-getting-started#view-your-messages).\n       *\n       * If `true`, unread count and conversation summary are not updated.\n       *\n       * Default: `false`\n       */\n      silent?: boolean;\n      /** @internal */\n      typingDelay?: number | null;\n      /**\n       * Controls which identity to use in the message's `sender` property.\n       *\n       * - `\"CALLER\"`: Uses the identity of the initiator of the sent message.\n       * - `\"PARTICIPANT\"`: Uses the `anonymousVisitorId`, `contactId`, or `memberId` of the conversation's participant.\n       *\n       * Default: `\"CALLER\"`\n       *\n       */\n      sendAs?: OverrideSenderOptions;\n      /**\n       * Wix user ID of the message sender.\n       *\n       * Required if `sendAs` is set to `BUSINESS_USER`.\n       * @internal\n       */\n      businessUserId?: string | null;\n  }\n  \n  type crmInboxV2Message_universal_d_Message = Message;\n  type crmInboxV2Message_universal_d_MessageContent = MessageContent;\n  type crmInboxV2Message_universal_d_MessageContentPayloadOneOf = MessageContentPayloadOneOf;\n  type crmInboxV2Message_universal_d_BasicMessagePayload = BasicMessagePayload;\n  type crmInboxV2Message_universal_d_BasicMessageData = BasicMessageData;\n  type crmInboxV2Message_universal_d_BasicMessageDataDataOneOf = BasicMessageDataDataOneOf;\n  type crmInboxV2Message_universal_d_ImageMessage = ImageMessage;\n  type crmInboxV2Message_universal_d_FileMessage = FileMessage;\n  type crmInboxV2Message_universal_d_TemplateMessagePayload = TemplateMessagePayload;\n  type crmInboxV2Message_universal_d_Button = Button;\n  type crmInboxV2Message_universal_d_PostbackProperties = PostbackProperties;\n  type crmInboxV2Message_universal_d_Orientation = Orientation;\n  const crmInboxV2Message_universal_d_Orientation: typeof Orientation;\n  type crmInboxV2Message_universal_d_MinimalMessagePayload = MinimalMessagePayload;\n  type crmInboxV2Message_universal_d_FormMessagePayload = FormMessagePayload;\n  type crmInboxV2Message_universal_d_FormField = FormField;\n  type crmInboxV2Message_universal_d_MediaItem = MediaItem;\n  type crmInboxV2Message_universal_d_MediaItemMediaOneOf = MediaItemMediaOneOf;\n  type crmInboxV2Message_universal_d_SystemMessagePayload = SystemMessagePayload;\n  type crmInboxV2Message_universal_d_ContentType = ContentType;\n  const crmInboxV2Message_universal_d_ContentType: typeof ContentType;\n  type crmInboxV2Message_universal_d_IdentificationData = IdentificationData;\n  type crmInboxV2Message_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type crmInboxV2Message_universal_d_Badge = Badge;\n  type crmInboxV2Message_universal_d_BadgeVisibility = BadgeVisibility;\n  const crmInboxV2Message_universal_d_BadgeVisibility: typeof BadgeVisibility;\n  type crmInboxV2Message_universal_d_ChannelType = ChannelType;\n  const crmInboxV2Message_universal_d_ChannelType: typeof ChannelType;\n  type crmInboxV2Message_universal_d_MessageVisibility = MessageVisibility;\n  const crmInboxV2Message_universal_d_MessageVisibility: typeof MessageVisibility;\n  type crmInboxV2Message_universal_d_MessageDirection = MessageDirection;\n  const crmInboxV2Message_universal_d_MessageDirection: typeof MessageDirection;\n  type crmInboxV2Message_universal_d_GetMessageIndicationsRequest = GetMessageIndicationsRequest;\n  type crmInboxV2Message_universal_d_GetMessageIndicationsResponse = GetMessageIndicationsResponse;\n  type crmInboxV2Message_universal_d_MessageIndication = MessageIndication;\n  type crmInboxV2Message_universal_d_IndicationType = IndicationType;\n  const crmInboxV2Message_universal_d_IndicationType: typeof IndicationType;\n  type crmInboxV2Message_universal_d_AddMessageIndicationsRequest = AddMessageIndicationsRequest;\n  type crmInboxV2Message_universal_d_PerformedBy = PerformedBy;\n  const crmInboxV2Message_universal_d_PerformedBy: typeof PerformedBy;\n  type crmInboxV2Message_universal_d_AddMessageIndicationsResponse = AddMessageIndicationsResponse;\n  type crmInboxV2Message_universal_d_MessageSentToParticipant = MessageSentToParticipant;\n  type crmInboxV2Message_universal_d_CustomMessageData = CustomMessageData;\n  type crmInboxV2Message_universal_d_MessageSentToBusiness = MessageSentToBusiness;\n  type crmInboxV2Message_universal_d_InteractionInfo = InteractionInfo;\n  type crmInboxV2Message_universal_d_ButtonInteracted = ButtonInteracted;\n  type crmInboxV2Message_universal_d_ListMessagesRequest = ListMessagesRequest;\n  type crmInboxV2Message_universal_d_CursorPaging = CursorPaging;\n  type crmInboxV2Message_universal_d_Sorting = Sorting;\n  type crmInboxV2Message_universal_d_SortOrder = SortOrder;\n  const crmInboxV2Message_universal_d_SortOrder: typeof SortOrder;\n  type crmInboxV2Message_universal_d_ListMessagesResponse = ListMessagesResponse;\n  type crmInboxV2Message_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type crmInboxV2Message_universal_d_Cursors = Cursors;\n  type crmInboxV2Message_universal_d_SendMessageRequest = SendMessageRequest;\n  type crmInboxV2Message_universal_d_OverrideSenderOptions = OverrideSenderOptions;\n  const crmInboxV2Message_universal_d_OverrideSenderOptions: typeof OverrideSenderOptions;\n  type crmInboxV2Message_universal_d_SendMessageResponse = SendMessageResponse;\n  type crmInboxV2Message_universal_d_Empty = Empty;\n  type crmInboxV2Message_universal_d_DomainEvent = DomainEvent;\n  type crmInboxV2Message_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type crmInboxV2Message_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type crmInboxV2Message_universal_d_RestoreInfo = RestoreInfo;\n  type crmInboxV2Message_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type crmInboxV2Message_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type crmInboxV2Message_universal_d_ActionEvent = ActionEvent;\n  type crmInboxV2Message_universal_d_MessageEnvelope = MessageEnvelope;\n  type crmInboxV2Message_universal_d_WebhooksIdentificationData = WebhooksIdentificationData;\n  type crmInboxV2Message_universal_d_WebhooksIdentificationDataIdOneOf = WebhooksIdentificationDataIdOneOf;\n  type crmInboxV2Message_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const crmInboxV2Message_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const crmInboxV2Message_universal_d_getMessageIndications: typeof getMessageIndications;\n  const crmInboxV2Message_universal_d_addMessageIndications: typeof addMessageIndications;\n  type crmInboxV2Message_universal_d_AddMessageIndicationsOptions = AddMessageIndicationsOptions;\n  const crmInboxV2Message_universal_d_listMessages: typeof listMessages;\n  type crmInboxV2Message_universal_d_ListMessagesOptions = ListMessagesOptions;\n  const crmInboxV2Message_universal_d_sendMessage: typeof sendMessage;\n  type crmInboxV2Message_universal_d_SendMessageOptions = SendMessageOptions;\n  namespace crmInboxV2Message_universal_d {\n    export {\n      crmInboxV2Message_universal_d_Message as Message,\n      crmInboxV2Message_universal_d_MessageContent as MessageContent,\n      crmInboxV2Message_universal_d_MessageContentPayloadOneOf as MessageContentPayloadOneOf,\n      crmInboxV2Message_universal_d_BasicMessagePayload as BasicMessagePayload,\n      crmInboxV2Message_universal_d_BasicMessageData as BasicMessageData,\n      crmInboxV2Message_universal_d_BasicMessageDataDataOneOf as BasicMessageDataDataOneOf,\n      crmInboxV2Message_universal_d_ImageMessage as ImageMessage,\n      crmInboxV2Message_universal_d_FileMessage as FileMessage,\n      crmInboxV2Message_universal_d_TemplateMessagePayload as TemplateMessagePayload,\n      crmInboxV2Message_universal_d_Button as Button,\n      crmInboxV2Message_universal_d_PostbackProperties as PostbackProperties,\n      crmInboxV2Message_universal_d_Orientation as Orientation,\n      crmInboxV2Message_universal_d_MinimalMessagePayload as MinimalMessagePayload,\n      crmInboxV2Message_universal_d_FormMessagePayload as FormMessagePayload,\n      crmInboxV2Message_universal_d_FormField as FormField,\n      crmInboxV2Message_universal_d_MediaItem as MediaItem,\n      crmInboxV2Message_universal_d_MediaItemMediaOneOf as MediaItemMediaOneOf,\n      crmInboxV2Message_universal_d_SystemMessagePayload as SystemMessagePayload,\n      crmInboxV2Message_universal_d_ContentType as ContentType,\n      crmInboxV2Message_universal_d_IdentificationData as IdentificationData,\n      crmInboxV2Message_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      crmInboxV2Message_universal_d_Badge as Badge,\n      crmInboxV2Message_universal_d_BadgeVisibility as BadgeVisibility,\n      crmInboxV2Message_universal_d_ChannelType as ChannelType,\n      crmInboxV2Message_universal_d_MessageVisibility as MessageVisibility,\n      crmInboxV2Message_universal_d_MessageDirection as MessageDirection,\n      crmInboxV2Message_universal_d_GetMessageIndicationsRequest as GetMessageIndicationsRequest,\n      crmInboxV2Message_universal_d_GetMessageIndicationsResponse as GetMessageIndicationsResponse,\n      crmInboxV2Message_universal_d_MessageIndication as MessageIndication,\n      crmInboxV2Message_universal_d_IndicationType as IndicationType,\n      crmInboxV2Message_universal_d_AddMessageIndicationsRequest as AddMessageIndicationsRequest,\n      crmInboxV2Message_universal_d_PerformedBy as PerformedBy,\n      crmInboxV2Message_universal_d_AddMessageIndicationsResponse as AddMessageIndicationsResponse,\n      crmInboxV2Message_universal_d_MessageSentToParticipant as MessageSentToParticipant,\n      crmInboxV2Message_universal_d_CustomMessageData as CustomMessageData,\n      crmInboxV2Message_universal_d_MessageSentToBusiness as MessageSentToBusiness,\n      crmInboxV2Message_universal_d_InteractionInfo as InteractionInfo,\n      crmInboxV2Message_universal_d_ButtonInteracted as ButtonInteracted,\n      crmInboxV2Message_universal_d_ListMessagesRequest as ListMessagesRequest,\n      crmInboxV2Message_universal_d_CursorPaging as CursorPaging,\n      crmInboxV2Message_universal_d_Sorting as Sorting,\n      crmInboxV2Message_universal_d_SortOrder as SortOrder,\n      crmInboxV2Message_universal_d_ListMessagesResponse as ListMessagesResponse,\n      crmInboxV2Message_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      crmInboxV2Message_universal_d_Cursors as Cursors,\n      crmInboxV2Message_universal_d_SendMessageRequest as SendMessageRequest,\n      crmInboxV2Message_universal_d_OverrideSenderOptions as OverrideSenderOptions,\n      crmInboxV2Message_universal_d_SendMessageResponse as SendMessageResponse,\n      crmInboxV2Message_universal_d_Empty as Empty,\n      crmInboxV2Message_universal_d_DomainEvent as DomainEvent,\n      crmInboxV2Message_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      crmInboxV2Message_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      crmInboxV2Message_universal_d_RestoreInfo as RestoreInfo,\n      crmInboxV2Message_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      crmInboxV2Message_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      crmInboxV2Message_universal_d_ActionEvent as ActionEvent,\n      crmInboxV2Message_universal_d_MessageEnvelope as MessageEnvelope,\n      crmInboxV2Message_universal_d_WebhooksIdentificationData as WebhooksIdentificationData,\n      crmInboxV2Message_universal_d_WebhooksIdentificationDataIdOneOf as WebhooksIdentificationDataIdOneOf,\n      crmInboxV2Message_universal_d_WebhookIdentityType as WebhookIdentityType,\n      crmInboxV2Message_universal_d_getMessageIndications as getMessageIndications,\n      crmInboxV2Message_universal_d_addMessageIndications as addMessageIndications,\n      crmInboxV2Message_universal_d_AddMessageIndicationsOptions as AddMessageIndicationsOptions,\n      crmInboxV2Message_universal_d_listMessages as listMessages,\n      crmInboxV2Message_universal_d_ListMessagesOptions as ListMessagesOptions,\n      crmInboxV2Message_universal_d_sendMessage as sendMessage,\n      crmInboxV2Message_universal_d_SendMessageOptions as SendMessageOptions,\n    };\n  }\n  \n  export { crmInboxV2Conversation_universal_d as conversations, crmInboxV2Message_universal_d as messages };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-email-marketing.v2.d.ts",
      "content": "declare module \"wix-email-marketing.v2\" {\n  /**\n   * An account can be active or in some state of suspension (warned/suspended/banned).\n   * If a user is in a state of suspension they must visit their email marketing account in the dashboard and follow the instructions.\n   */\n  interface AccountDetails {\n      /**\n       * Account status. One of:\n       * + `'ACTIVE'`\n       * + `'WARNED'`\n       * + `'SUSPENDED'`\n       * + `'BANNED'`\n       */\n      status?: Enum$1;\n      /** Current premium package information. */\n      package?: Package;\n      /** Quota period and usage. */\n      quotaPeriod?: QuotaPeriod;\n      /**\n       * Features.\n       * @internal\n       */\n      features?: Features;\n  }\n  enum Enum$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Able to use email marketing normally. */\n      ACTIVE = \"ACTIVE\",\n      /** Must explicitly agree to terms of use to activate the account. */\n      WARNED = \"WARNED\",\n      /** Must fill out compliance questionnaire, unable to use email marketing. */\n      SUSPENDED = \"SUSPENDED\",\n      /** Must fill out compliance questionnaire, unable to use email marketing. */\n      BANNED = \"BANNED\",\n      /** Must fill out compliance questionnaire to activate the account. */\n      SUSPENDED_AUTOLIFT = \"SUSPENDED_AUTOLIFT\"\n  }\n  interface Package {\n      /** Package ID. */\n      _id?: string;\n      /** Package group. */\n      group?: string;\n      /** Allocated quota per month. */\n      monthlyQuotaAllocation?: Quota;\n      /**\n       * Billing cycle.\n       * @internal\n       */\n      billingCycle?: BillingCycle;\n      /**\n       * \"false\" if premium plan can be upgraded, \"true\" if it's already the most advanced.\n       * @internal\n       */\n      topTier?: boolean;\n  }\n  interface Quota {\n      /** Number of allocated marketing campaigns per month (-1 means unlimited). */\n      campaigns?: number;\n      /** Number of allocated individual emails per month. */\n      emails?: number;\n  }\n  enum BillingCycle {\n      UNKNOWN = \"UNKNOWN\",\n      TWO_YEARS = \"TWO_YEARS\",\n      YEARLY = \"YEARLY\",\n      MONTHLY = \"MONTHLY\"\n  }\n  interface QuotaPeriod {\n      /** Current quota period start date. */\n      dateFrom?: Date | null;\n      /** Current quota period end date - after which quota will roll over. */\n      dateTo?: Date | null;\n      /** Information about allocated quota already used in this period. */\n      quotaUsage?: Quota;\n  }\n  interface Features {\n      multipleSenderDetails?: boolean;\n      removeWixBranding?: boolean;\n      scheduling?: boolean;\n  }\n  interface GetAccountDetailsRequest {\n  }\n  interface GetAccountDetailsResponse {\n      /** Current account details. */\n      accountDetails?: AccountDetails;\n  }\n  interface GetComplianceDetailsRequest {\n  }\n  interface GetComplianceDetailsResponse {\n      /** Current compliance details. */\n      complianceDetails?: ComplianceDetails;\n  }\n  interface ComplianceDetails {\n      /** Account status. */\n      status?: Enum$1;\n      /** Suspension reasons. */\n      suspensionReasons?: string[];\n      /** Suspension description. */\n      note?: string | null;\n      /** Support ticket id. */\n      supportTicketId?: string | null;\n  }\n  interface RespondRequest {\n      action: Action;\n      supportTicketData?: SupportTicketData;\n  }\n  enum Action {\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      AGREE_TO_TERMS = \"AGREE_TO_TERMS\",\n      OPEN_TICKET = \"OPEN_TICKET\",\n      FILL_FORM = \"FILL_FORM\",\n      ANSWER_QUESTIONS = \"ANSWER_QUESTIONS\",\n      FILL_AUTOLIFT_FORM = \"FILL_AUTOLIFT_FORM\"\n  }\n  interface SupportTicketData {\n      subject?: string;\n      body?: string;\n      agentReplyBody?: string | null;\n  }\n  interface RespondResponse {\n      /** ID of the support ticket created (optional). */\n      supportTicketId?: string | null;\n  }\n  /**\n   * Retrieves email marketing account details.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function getAccountDetails(): Promise<GetAccountDetailsResponse>;\n  /**\n   * Retrieves email marketing account compliance details.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId Shoutout.Read\n   * @adminMethod\n   */\n  function getComplianceDetails(): Promise<GetComplianceDetailsResponse>;\n  /**\n   * User response to an existing account suspension.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField action\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function respond(action: Action, options?: RespondOptions): Promise<RespondResponse>;\n  interface RespondOptions {\n      supportTicketData?: SupportTicketData;\n  }\n  \n  type emailMarketingV1AccountDetails_universal_d_AccountDetails = AccountDetails;\n  type emailMarketingV1AccountDetails_universal_d_Package = Package;\n  type emailMarketingV1AccountDetails_universal_d_Quota = Quota;\n  type emailMarketingV1AccountDetails_universal_d_BillingCycle = BillingCycle;\n  const emailMarketingV1AccountDetails_universal_d_BillingCycle: typeof BillingCycle;\n  type emailMarketingV1AccountDetails_universal_d_QuotaPeriod = QuotaPeriod;\n  type emailMarketingV1AccountDetails_universal_d_Features = Features;\n  type emailMarketingV1AccountDetails_universal_d_GetAccountDetailsRequest = GetAccountDetailsRequest;\n  type emailMarketingV1AccountDetails_universal_d_GetAccountDetailsResponse = GetAccountDetailsResponse;\n  type emailMarketingV1AccountDetails_universal_d_GetComplianceDetailsRequest = GetComplianceDetailsRequest;\n  type emailMarketingV1AccountDetails_universal_d_GetComplianceDetailsResponse = GetComplianceDetailsResponse;\n  type emailMarketingV1AccountDetails_universal_d_ComplianceDetails = ComplianceDetails;\n  type emailMarketingV1AccountDetails_universal_d_RespondRequest = RespondRequest;\n  type emailMarketingV1AccountDetails_universal_d_Action = Action;\n  const emailMarketingV1AccountDetails_universal_d_Action: typeof Action;\n  type emailMarketingV1AccountDetails_universal_d_SupportTicketData = SupportTicketData;\n  type emailMarketingV1AccountDetails_universal_d_RespondResponse = RespondResponse;\n  const emailMarketingV1AccountDetails_universal_d_getAccountDetails: typeof getAccountDetails;\n  const emailMarketingV1AccountDetails_universal_d_getComplianceDetails: typeof getComplianceDetails;\n  const emailMarketingV1AccountDetails_universal_d_respond: typeof respond;\n  type emailMarketingV1AccountDetails_universal_d_RespondOptions = RespondOptions;\n  namespace emailMarketingV1AccountDetails_universal_d {\n    export {\n      emailMarketingV1AccountDetails_universal_d_AccountDetails as AccountDetails,\n      Enum$1 as Enum,\n      emailMarketingV1AccountDetails_universal_d_Package as Package,\n      emailMarketingV1AccountDetails_universal_d_Quota as Quota,\n      emailMarketingV1AccountDetails_universal_d_BillingCycle as BillingCycle,\n      emailMarketingV1AccountDetails_universal_d_QuotaPeriod as QuotaPeriod,\n      emailMarketingV1AccountDetails_universal_d_Features as Features,\n      emailMarketingV1AccountDetails_universal_d_GetAccountDetailsRequest as GetAccountDetailsRequest,\n      emailMarketingV1AccountDetails_universal_d_GetAccountDetailsResponse as GetAccountDetailsResponse,\n      emailMarketingV1AccountDetails_universal_d_GetComplianceDetailsRequest as GetComplianceDetailsRequest,\n      emailMarketingV1AccountDetails_universal_d_GetComplianceDetailsResponse as GetComplianceDetailsResponse,\n      emailMarketingV1AccountDetails_universal_d_ComplianceDetails as ComplianceDetails,\n      emailMarketingV1AccountDetails_universal_d_RespondRequest as RespondRequest,\n      emailMarketingV1AccountDetails_universal_d_Action as Action,\n      emailMarketingV1AccountDetails_universal_d_SupportTicketData as SupportTicketData,\n      emailMarketingV1AccountDetails_universal_d_RespondResponse as RespondResponse,\n      emailMarketingV1AccountDetails_universal_d_getAccountDetails as getAccountDetails,\n      emailMarketingV1AccountDetails_universal_d_getComplianceDetails as getComplianceDetails,\n      emailMarketingV1AccountDetails_universal_d_respond as respond,\n      emailMarketingV1AccountDetails_universal_d_RespondOptions as RespondOptions,\n    };\n  }\n  \n  interface Campaign {\n      /** Campaign ID. */\n      campaignId?: string;\n      /**\n       * Marketing campaign title. For sent campaigns this will match the email subject if subject was not explicitly provided on sending.\n       * For published campaigns - the title will be the first line of text.\n       */\n      title?: string | null;\n      /** URL of the first image after the logo. */\n      firstImageUrl?: string | null;\n      /**\n       * Landing page snapshot URL. <br>\n       * This field is deprecated and snapshot images are no longer supported. Instead, use the `firstImageUrl` field.\n       * The value of this field will soon become the same as the value of the `firstImageUrl` field.\n       * @deprecated Landing page snapshot URL. <br>\n       * This field is deprecated and snapshot images are no longer supported. Instead, use the `firstImageUrl` field.\n       * The value of this field will soon become the same as the value of the `firstImageUrl` field.\n       * @replacedBy firstImageUrl\n       * @targetRemovalDate 2024-12-01\n       */\n      snapshotImageUrl?: string | null;\n      /**\n       * Editor type. Either web app, or mobile app. One of:\n       * + `'WEB'`\n       * + `'MOBILE'`\n       */\n      editorType?: CampaignEditorTypeEnum;\n      /**\n       * Campaign status. One of:\n       * + `'ACTIVE'`\n       * + `'ARCHIVED'`\n       * + `'DELETED'`\n       */\n      status?: CampaignStatusEnum;\n      /**\n       * Campaign visibility status. One of:\n       * + `'DRAFT'`\n       * + `'PUBLISHED'`\n       * + `'TEMPLATE'`\n       */\n      visibilityStatus?: CampaignVisibilityStatusEnum;\n      /**\n       * Campaign distribution status. One of:\n       * + `'NOT_STARTED'`\n       * + `'SCHEDULED'`\n       * + `'IN_DETECTION'`\n       * + `'IN_MODERATION'`\n       * + `'SAMPLING'`\n       * + `'SENDING'`\n       * + `'REJECTED'`\n       * + `'TERMINATED'`\n       * + `'DISTRIBUTED'`\n       * + `'PAUSED'`\n       */\n      distributionStatus?: Enum;\n      /** Publishing data (present only if campaign is published). */\n      publishingData?: PublishingData;\n      /** Campaign creation date. */\n      dateCreated?: Date | null;\n      /** Campaign last update date. */\n      dateUpdated?: Date | null;\n      /**\n       * Date when the campaign is scheduled, only set if it is a scheduled campaign.\n       * @internal\n       */\n      dateScheduled?: Date | null;\n      /**\n       * Rejection data (present only if campaign was rejected).\n       * @internal\n       */\n      rejectionData?: RejectionData;\n      /**\n       * The sending state of the campaign.\n       * @internal\n       */\n      sendingState?: CampaignSendingStateEnum;\n      /**\n       * The type of campaign: email marketing, triggered email or automations.\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n      /**\n       * Email subject of the campaign (initially copied from the template).\n       * TODO: Deprecated (moved to \"GetComposerResponse\").\n       * @deprecated\n       */\n      emailSubject?: string;\n      /**\n       * Transactional code of the campaign (only relevant for triggered emails).\n       * @internal\n       */\n      transactionalCode?: string | null;\n  }\n  enum CampaignEditorTypeEnum {\n      UNKNOWN = \"UNKNOWN\",\n      WEB = \"WEB\",\n      MOBILE = \"MOBILE\"\n  }\n  enum CampaignStatusEnum {\n      UNKNOWN = \"UNKNOWN\",\n      /** Campaign is active. */\n      ACTIVE = \"ACTIVE\",\n      /** Campaign is archived. */\n      ARCHIVED = \"ARCHIVED\",\n      /** Campaign is deleted. */\n      DELETED = \"DELETED\"\n  }\n  enum CampaignVisibilityStatusEnum {\n      UNKNOWN = \"UNKNOWN\",\n      /** Campaign not yet published. */\n      DRAFT = \"DRAFT\",\n      /** Campaign published. */\n      PUBLISHED = \"PUBLISHED\",\n      /** Campaign is a template. */\n      TEMPLATE = \"TEMPLATE\"\n  }\n  enum Enum {\n      UNKNOWN = \"UNKNOWN\",\n      /** Campaign not yet distributed via emails. */\n      NOT_STARTED = \"NOT_STARTED\",\n      /** Campaign scheduled for distribution. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Campaign is being automatically screened for malicious content. */\n      IN_DETECTION = \"IN_DETECTION\",\n      /** Campaign is being manually reviewed by moderators. */\n      IN_MODERATION = \"IN_MODERATION\",\n      /** A fraction of recipients is selected as a sample and its performance will be assessed to determine further action. */\n      SAMPLING = \"SAMPLING\",\n      /** Campaign is being distributed to all recipients. */\n      SENDING = \"SENDING\",\n      /** Campaign was rejected. */\n      REJECTED = \"REJECTED\",\n      /** Campaign was terminated after unsuccessful sampling. */\n      TERMINATED = \"TERMINATED\",\n      /** Campaign fully distributed to recipients. */\n      DISTRIBUTED = \"DISTRIBUTED\",\n      /** Scheduled campaign has been paused. */\n      PAUSED = \"PAUSED\"\n  }\n  interface PublishingData {\n      /** Landing page URL. */\n      landingPageUrl?: string;\n      /** Marketing campaign statistics. */\n      statistics?: CampaignStatistics;\n      /** Marketing campaign publish date. */\n      datePublished?: Date | null;\n      /**\n       * \"Parent\" campaign ID.\n       * @internal\n       */\n      resentFromCampaignId?: string | null;\n      /**\n       * Whether this campaign was resent to recipients who did not open an email.\n       * @internal\n       */\n      wasResentToNonOpeners?: boolean;\n  }\n  interface CampaignStatistics {\n      /** Marketing campaign's landing page statistics. */\n      landingPage?: LandingPageStatistics;\n      /** Marketing campaign's email distribution statistics. */\n      emailCampaign?: DistributionStatistics;\n      /** Combined landing page and email distribution statistics. */\n      total?: TotalStatistics;\n  }\n  interface LandingPageStatistics {\n      /** Number of times landing page was loaded or viewed. */\n      opened?: number;\n      /** Number of times a link was clicked in landing page. */\n      clicked?: number;\n  }\n  interface DistributionStatistics {\n      /** Number of emails delivered. */\n      delivered?: number;\n      /**\n       * Number of recipients who opened an email.\n       *\n       * If a single recipient opens an email twice, it is counted as one unique open.\n       */\n      opened?: number;\n      /**\n       * Number of recipients who clicked a link in the email.\n       *\n       * If a single recipient clicks a link in an email twice, it is counted as one unique click.\n       * If a single recipient clicks different links in an email, it is counted as one unique click.\n       */\n      clicked?: number;\n      /** Number of emails that bounced. */\n      bounced?: number;\n      /** Number of recipients who reported email as spam. */\n      complained?: number;\n      /** Number of emails not sent because the campaign was terminated. */\n      notSent?: number;\n  }\n  interface TotalStatistics {\n      /** Total number of emails sent. */\n      mailsSent?: number;\n      /** Number of landing page views + emails opened. */\n      opened?: number;\n      /** Number of landing page link clicks + email link clicks. */\n      clicked?: number;\n  }\n  interface RejectionData {\n      rejectionReasons?: RejectionReasonEnum[];\n  }\n  enum RejectionReasonEnum {\n      UNKNOWN = \"UNKNOWN\",\n      LOW_ENGAGEMENT = \"LOW_ENGAGEMENT\",\n      SENDER_DETAILS = \"SENDER_DETAILS\",\n      SPAM_TRAPS = \"SPAM_TRAPS\",\n      OTHER = \"OTHER\",\n      ADULT_SEXUAL_CONTENT = \"ADULT_SEXUAL_CONTENT\",\n      AFFILIATE_MARKETING = \"AFFILIATE_MARKETING\",\n      BETTING_OR_GAMBLING = \"BETTING_OR_GAMBLING\",\n      CREDIT_REPAIR_OR_DEBT_RELIEF = \"CREDIT_REPAIR_OR_DEBT_RELIEF\",\n      GET_RICH_QUICK_SCHEME = \"GET_RICH_QUICK_SCHEME\",\n      ILLEGAL_SUBSTANCES_OR_WEAPONS = \"ILLEGAL_SUBSTANCES_OR_WEAPONS\",\n      MISLEADING_SUBJECT_LINE = \"MISLEADING_SUBJECT_LINE\",\n      TRADING_OR_CRYPTOCURRENCIES = \"TRADING_OR_CRYPTOCURRENCIES\",\n      UNSOLICITED_CONTENT = \"UNSOLICITED_CONTENT\"\n  }\n  enum CampaignSendingStateEnum {\n      /** Campaign not yet published. */\n      DRAFT = \"DRAFT\",\n      /** Campaign is being reviewed. */\n      REVIEW = \"REVIEW\",\n      /** Campaign was rejected. */\n      REJECTED = \"REJECTED\",\n      /** Campaign is scheduled. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Scheduled campaign was paused. */\n      PAUSED = \"PAUSED\",\n      /** Campaign is published. */\n      PUBLISHED = \"PUBLISHED\",\n      /** Campaign is being send. */\n      SENDING = \"SENDING\",\n      /**\n       * Campaign was partially sent.\n       * Happens when too many recipients bounce.\n       */\n      PARTIALLY_SENT = \"PARTIALLY_SENT\",\n      /** Campaign was sent. */\n      SENT = \"SENT\"\n  }\n  enum CampaignTypeEnum {\n      UNKNOWN = \"UNKNOWN\",\n      /** Regular email marketing campaign. */\n      EMAIL_MARKETING = \"EMAIL_MARKETING\",\n      /** mobile place invitation email */\n      INVITATION = \"INVITATION\",\n      /** automation */\n      AUTOMATION = \"AUTOMATION\",\n      /** triggered email */\n      TRIGGERED = \"TRIGGERED\"\n  }\n  interface EstimateFilterSizeRequest {\n      /** Contacts filter expression. */\n      filter: Record<string, any> | null;\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n      /** Contacts plain text search expression (searches in name, phone and email fields). */\n      search?: string | null;\n  }\n  interface EstimateFilterSizeResponse {\n      /** Mailing list size estimation. */\n      estimation?: number;\n  }\n  interface EstimateAudienceSizeRequest {\n      /** Contact IDs of a campaign audience. */\n      contactIds?: string[];\n      /** Label IDs of a campaign audience. */\n      labelIds?: string[];\n      /** Contacts filter expression (json). */\n      contactsFilter?: Record<string, any> | null;\n      /** Contacts plain text search expression (searches in name, phone and email fields). */\n      search?: string | null;\n      /** Segment ids of a campaign audience. */\n      segmentIds?: string[];\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n      /** Id of a campaign that is to be resent. */\n      resendCampaignId?: string | null;\n      /** Should total number of contacts in provided audience be returned or not (default value \"false\"). */\n      withTotal?: boolean;\n  }\n  interface EstimateAudienceSizeResponse {\n      /** Audience size (estimated number of emails to be sent). */\n      estimation?: number;\n      /** Total number of contacts in provided audience (optional). */\n      total?: number | null;\n  }\n  interface ReconcileContactRequest {\n      /** Email address of the contact. */\n      emailAddress: string;\n  }\n  interface ReconcileContactResponse {\n      /** Created or retrieved contact. */\n      contact?: Contact;\n  }\n  interface Contact {\n      /** Unique ID of the contact entity. */\n      _id?: string;\n      /** Primary email address of the contact. */\n      emailAddress?: string;\n      /** Full name of the contact (optional). */\n      fullName?: string | null;\n      /** Profile picture of the contact (optional). */\n      pictureUrl?: string | null;\n  }\n  interface SearchContactsRequest {\n      /** Text to search contacts by - can search by name or email address. */\n      searchTerm: string;\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n      /** Page size (default 50, max 1000). */\n      pageSize?: number | null;\n  }\n  interface SearchContactsResponse {\n      /** Search results. */\n      contacts?: Contact[];\n  }\n  interface GetLabelsRequest {\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n  }\n  interface GetLabelsResponse {\n      /** Returned labels with contact counts. */\n      labels?: Label[];\n  }\n  interface Label {\n      /** Unique ID of the label entity. */\n      _id?: string;\n      /** Name of the label. */\n      name?: string;\n      /** Amount of contacts assigned to the label. */\n      contactsCount?: number;\n  }\n  interface SubscribeFromLandingPageRequest {\n      /** Campaign ID that the subscription is happening from. */\n      campaignId: string;\n      /** Email address that is entered into subscription field. */\n      emailAddress: string;\n      /** Did UoU explicitly consent to terms of use or not (optional, default value \"false\") */\n      consent?: boolean;\n  }\n  interface SubscribeFromLandingPageResponse {\n      contactId?: string;\n  }\n  interface GetPlaceholderKeysRequest {\n      /** Campaign ID. */\n      campaignId: string;\n  }\n  interface GetPlaceholderKeysResponse {\n      /** Keys of placeholders used in the campaign. */\n      placeholderKeys?: string[];\n  }\n  interface GetDefaultComponentsRequest {\n  }\n  interface GetDefaultComponentsResponse {\n      footer?: Record<string, any> | null;\n      logo?: Record<string, any> | null;\n      follow?: Record<string, any> | null;\n  }\n  interface ValidateLinkRequest {\n      /** web URL */\n      url: string;\n  }\n  interface ValidateLinkResponse {\n      /** Whether link is valid */\n      valid?: boolean;\n  }\n  interface ValidateHtmlLinksRequest {\n      /** string containing HTML */\n      html: string;\n  }\n  interface ValidateHtmlLinksResponse {\n      /** array of blacklisted links */\n      blacklistedLinks?: string[];\n  }\n  interface ListStatisticsRequest {\n      /** IDs of the campaigns to retrieve (max 100 campaigns). */\n      campaignIds: string[];\n  }\n  interface ListStatisticsResponse {\n      /** List of statistics. */\n      statistics?: CampaignStatisticsContainer[];\n  }\n  interface CampaignStatisticsContainer {\n      /** Campaign ID. */\n      campaignId?: string;\n      /** Landing page statistics. */\n      landingPage?: LandingPageStatistics;\n      /** Email campaign statistics. */\n      email?: DistributionStatistics;\n  }\n  interface ListRecipientsRequest {\n      /** Campaign ID. */\n      campaignId: string;\n      /**\n       * __Required.__ Email activity to filter for. One of:\n       * + `'DELIVERED'`\n       * + `'OPENED'`\n       * + `'CLICKED'`\n       * + `'BOUNCED'`\n       * + `'NOT_SENT'`\n       */\n      activity: RecipientsActivityEnum;\n      /** Pagination options. */\n      paging?: CursorPaging;\n  }\n  enum RecipientsActivityEnum {\n      UNKNOWN = \"UNKNOWN\",\n      DELIVERED = \"DELIVERED\",\n      OPENED = \"OPENED\",\n      CLICKED = \"CLICKED\",\n      BOUNCED = \"BOUNCED\",\n      NOT_SENT = \"NOT_SENT\",\n      SENT = \"SENT\",\n      NOT_OPENED = \"NOT_OPENED\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListRecipientsResponse {\n      /** List of recipients. */\n      recipients?: CampaignRecipientDetails[];\n      /** Details on the paged set of returned results. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface CampaignRecipientDetails {\n      /** Contact ID. */\n      contactId?: string;\n      /** Date and time of the last activity. */\n      lastActivityDate?: Date | null;\n      /** Primary email address of the contact. */\n      emailAddress?: string;\n      /** Full name of the contact (optional). */\n      fullName?: string | null;\n      /** Is this contact currently deleted from the site or not. */\n      contactDeleted?: boolean;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetCampaignMappingRequest {\n      /** rule ID in automations */\n      automationRuleId: string;\n      /** template ID configured for the automation */\n      templateId: string;\n  }\n  interface GetCampaignMappingResponse {\n      campaignId?: string;\n  }\n  interface GetPingCampaignMappingRequest {\n      /** ping stream ID. */\n      streamId: string;\n      /** template ID configured for the ping automation. */\n      templateId: string;\n      /** ID of the initiating vertical. */\n      appDefId: string;\n      /** Ping template ID. */\n      pingTemplateId?: string | null;\n      /** Preferred language. */\n      language: string;\n      /** rule ID in automations */\n      automationRuleId: string;\n  }\n  interface GetPingCampaignMappingResponse {\n      campaignId?: string;\n  }\n  interface QueryAutomationTemplatesRequest {\n      /** https://github.com/wix-private/p13n/blob/master/protos/query/src/main/proto/wix/common/query.proto */\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryAutomationTemplatesResponse {\n      entries?: AutomationTemplateContainer[];\n      metaData?: QueryMetadata;\n      total?: number;\n  }\n  interface AutomationTemplateContainer {\n      automationTemplate?: AutomationTemplate;\n      enrichmentData?: AutomationTemplateEnrichmentData;\n  }\n  interface AutomationTemplate {\n      /**\n       * Automation template ID (unique)\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Automation template current revision\n       * @readonly\n       */\n      revision?: number | null;\n      /** Automation template name */\n      name?: string | null;\n      /** Automation template description */\n      description?: string | null;\n      /** Automation template rule configuration */\n      rule?: RuleConfiguration;\n      /** Automation template correlation id - TODO: rename */\n      correlationId?: string | null;\n      /** Automation template type */\n      templateType?: TemplateType;\n      /** Automation template preconditions */\n      preconditions?: Precondition[];\n      /** used to determine which users will see the Automation template while in internal state */\n      groupIds?: string[];\n      /**\n       * Automation template state\n       * @readonly\n       */\n      templateState?: TemplateState;\n      /**\n       * Automation template created date\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Automation template updated date\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** @readonly */\n      translation?: Translation;\n      /**\n       * key -> english value, we will include those keys in the translator json and send them for translations.\n       * in the \"search rules\" api they will be resolved with their translation\n       */\n      additionalTranslations?: Record<string, string>;\n  }\n  interface RuleConfiguration {\n      /** Rule configuration name */\n      name?: string;\n      /** Rule configuration description */\n      description?: string;\n      /** Trigger configuration */\n      trigger?: TriggerConfiguration;\n      /** Actions configuration */\n      actions?: ActionConfiguration[];\n      /** Rule status */\n      ruleStatus?: RuleStatus;\n      /** Activation cycle */\n      activationCycle?: ActivationCycle;\n      metadata?: RuleMetadata;\n  }\n  interface ConditionConfiguration {\n      /** Condition schema key */\n      schemaKey?: string;\n      /** Condition operator */\n      operator?: Operator;\n      /** Condition values */\n      values?: string[];\n  }\n  enum Operator {\n      UNDEFINED = \"UNDEFINED\",\n      IN = \"IN\"\n  }\n  interface TriggerConfiguration {\n      /** Trigger source app def id */\n      appDefId?: string;\n      /** Trigger name */\n      triggerName?: string;\n      /** Trigger schema */\n      triggerSchema?: string;\n      /** Condition configuration */\n      conditions?: ConditionConfiguration[];\n      /** TODO - might need to replace the entire object */\n      triggerConfigurationId?: string | null;\n      /** Trigger Reengagement delay internal in sec */\n      reengagementDelaySec?: number | null;\n  }\n  interface ActionConfiguration {\n      _id?: string | null;\n      /** Action source app def id */\n      appDefId?: string;\n      /** Action name */\n      actionName?: string;\n      /** Action configuration */\n      configuration?: string;\n      /** Delay interval in seconds */\n      delayIntervalSec?: number;\n  }\n  enum RuleStatus {\n      UnknownStatus = \"UnknownStatus\",\n      Active = \"Active\",\n      Suspended = \"Suspended\"\n  }\n  interface ActivationCycle {\n      /** set a time frame in minutes for the once_per_user attribute, use 0 for infinite */\n      timeFrame?: number;\n      /** number of activations allowed in the given time_frame */\n      activations?: number;\n      rateLimitingJsonata?: string | null;\n  }\n  interface RuleMetadata {\n      /** default value is 'true', when this is set to 'false' user wont be able to toggle off the rule */\n      canBeSuspended?: boolean | null;\n      /** additional notes to describe the rule */\n      notes?: string | null;\n      /** will be used to indicate to user how urgent is this change during \"version\" changes */\n      versionType?: VersionType;\n  }\n  enum VersionType {\n      UNKNOWN_VERSION_TYPE = \"UNKNOWN_VERSION_TYPE\",\n      MINOR = \"MINOR\",\n      MAJOR = \"MAJOR\"\n  }\n  /** Type */\n  enum TemplateType {\n      UNKNOWN_TEMPLATE_TYPE = \"UNKNOWN_TEMPLATE_TYPE\",\n      PREINSTALLED = \"PREINSTALLED\",\n      RECIPE = \"RECIPE\"\n  }\n  /**\n   * {\n   * State message examples:\n   * precondition_type: PreconditionType.Petri,\n   * key: ‘specs.crm.InvoicesSendViaAutomationsABC’,\n   * value: ‘C’\n   * },\n   * {\n   * precondition_type: PreconditionType.STATE,\n   * key: ‘<froms_app_def_id>:double_opt_in’,\n   * value: ‘true’\n   * },\n   * {\n   * precondition_type: PreconditionType.APP_DEPENDENCY,\n   * key: ‘<paid_plans_app_def_id>’,\n   * value: ‘true’\n   * }\n   */\n  interface Precondition {\n      /** Precondition type */\n      preconditionType?: PreconditionType;\n      /** Precondition unique key */\n      key?: string;\n      /** Precondition value */\n      value?: string;\n      /** Precondition fallback */\n      fallback?: boolean | null;\n  }\n  enum PreconditionType {\n      UNKNOWN_PRECONDITION_TYPE = \"UNKNOWN_PRECONDITION_TYPE\",\n      PETRI = \"PETRI\",\n      STATE = \"STATE\",\n      APP_DEPENDENCY = \"APP_DEPENDENCY\",\n      DEALER_OFFERING = \"DEALER_OFFERING\"\n  }\n  enum TemplateState {\n      UNKNOWN_TEMPLATE_STATUS = \"UNKNOWN_TEMPLATE_STATUS\",\n      INTERNAL = \"INTERNAL\",\n      PUBLIC = \"PUBLIC\",\n      ARCHIVED = \"ARCHIVED\",\n      LIVE = \"LIVE\"\n  }\n  interface Translation {\n      state?: TranslationState;\n  }\n  enum TranslationState {\n      UNKNOWN_TRANSLATION_STATE = \"UNKNOWN_TRANSLATION_STATE\",\n      NOT_REQUESTED = \"NOT_REQUESTED\",\n      PENDING = \"PENDING\",\n      PARTIAL = \"PARTIAL\",\n      TRANSLATED = \"TRANSLATED\"\n  }\n  interface AutomationTemplateEnrichmentData {\n      campaignId?: string;\n      metaSiteId?: string;\n  }\n  interface QueryMetadata {\n      /** Number of returned items */\n      items?: number;\n      /** Offset that was applied to the request */\n      offset?: number;\n  }\n  interface QueryAppTemplatesRequest {\n      queryType?: TemplateQueryType;\n  }\n  enum TemplateQueryType {\n      TRIGGERED_EMAILS = \"TRIGGERED_EMAILS\",\n      PING = \"PING\"\n  }\n  interface QueryAppTemplatesResponse {\n      template?: TemplateData[];\n  }\n  interface TemplateData {\n      templateName?: string;\n      templateId?: string;\n  }\n  interface CampaignLookupRequest {\n      campaignId: string;\n  }\n  interface CampaignLookupResponse {\n      campaignId?: string;\n      instanceId?: string;\n      metasiteId?: string;\n  }\n  interface CampaignLookupBatchRequest {\n      campaignIds?: string[];\n  }\n  interface CampaignLookupBatchResponse {\n      responses?: CampaignLookupResponse[];\n  }\n  interface UpsertTranslationRequest {\n      /** Campaign ID. */\n      campaignId: string;\n      /** Composer data. */\n      composer?: Composer;\n      /** Translation language (optional, default value \"EN\"). */\n      language?: string | null;\n      /** For BI event [36:1031] only (optional, default value \"n/a\"). */\n      automationRuleId?: string | null;\n      /** Should campaign also be published or not (default value \"false\"). */\n      publish?: boolean;\n      /** Campaign subject (optional). */\n      emailSubject?: string | null;\n      /** Campaign preheader (optional). */\n      emailPreheader?: string | null;\n  }\n  interface Composer {\n      /** Internal data structure for editor/viewer to render the campaign. */\n      composerDataJson?: string;\n      /** Default values of existing placeholders. */\n      defaultValues?: DefaultValues;\n  }\n  interface DefaultValues {\n      map?: Record<string, string>;\n  }\n  interface UpsertTranslationResponse {\n  }\n  interface GetUsedPlaceholderKeysRequest {\n      /** Campaign ID. */\n      campaignId: string;\n  }\n  interface GetUsedPlaceholderKeysResponse {\n      /** Keys of placeholders used in the automation. */\n      placeholderKeys?: string[];\n  }\n  interface LookupCampaignMappingRequest {\n      /** rule ID in automations */\n      automationRuleId?: string;\n      /** template ID configured for the automation */\n      templateId?: string;\n  }\n  interface LookupCampaignMappingResponse {\n      campaignId?: string | null;\n  }\n  interface GetCampaignRequest {\n      /** Campaign ID. */\n      campaignId: string;\n      /**\n       * Whether a returned campaign object should include `publishingData.statistics`.\n       * Default: `false`.\n       */\n      optionIncludeStatistics?: boolean;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  interface GetCampaignResponse {\n      /** Campaign information. */\n      campaign?: Campaign;\n  }\n  interface ListCampaignsRequest {\n      /** Paging parameters. */\n      paging?: Paging;\n      /**\n       * Whether to include `publishingData.statistics` in the returned campaign object.\n       * Default: `false`\n       */\n      optionIncludeStatistics?: boolean;\n      /**\n       * Include campaigns with the following statuses (no filtering by default). One of:\n       * + `'ACTIVE'`\n       * + `'ARCHIVED'`\n       * + `'DELETED'`\n       */\n      statuses?: CampaignStatusEnum[];\n      /**\n       * Include campaigns with the following visibility statuses (no filtering by default). One of:\n       * + `'DRAFT'`\n       * + `'PUBLISHED'`\n       * + `'TEMPLATE'`\n       */\n      visibilityStatuses?: CampaignVisibilityStatusEnum[];\n      /**\n       * Filter by the following campaign types. One of:\n       * + `'EMAIL_MARKETING'`\n       * + `INVITATION'`\n       * + `'AUTOMATION'`\n       * + `'TRIGGERED'`\n       */\n      campaignType?: CampaignTypeEnum;\n      /**\n       * Include campaigns with the following distribution statuses (no filtering by default). One of:\n       * + `'NOT_STARTED'`\n       * + `'SCHEDULED'`\n       * + `'IN_DETECTION'`\n       * + `'IN_MODERATION'`\n       * + `'SAMPLING'`\n       * + `'SENDING'`\n       * + `'REJECTED'`\n       * + `'TERMINATED'`\n       * + `'DISTRIBUTED'`\n       * + `'PAUSED'`\n       * @internal\n       */\n      distributionStatuses?: Enum[];\n      /**\n       * Filter campaigns by publish date (no filtering by default).\n       * @internal\n       */\n      datePublishedFrom?: Date | null;\n      /** @internal */\n      datePublishedTo?: Date | null;\n      /**\n       * Filter by subject line.\n       * @internal\n       */\n      subjectSubstring?: string | null;\n      /**\n       * Preferred language for campaign content (optional).\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface ListCampaignsResponse {\n      /** Paging parameters. */\n      paging?: Paging;\n      /** List of campaigns. */\n      campaigns?: Campaign[];\n  }\n  interface CountCampaignsRequest {\n      /** Since when should we start counting (optional, default value \"1970-01-01T00:00:00.000Z\") */\n      dateFrom?: Date | null;\n  }\n  interface CountCampaignsResponse {\n      /** \"drafts\" + \"scheduled\" + \"published\" (excluding \"archived\"). */\n      total?: number;\n      /** Non published (draft) campaigns. */\n      drafts?: number;\n      /** Campaigns scheduled for publishing in the future. */\n      scheduled?: number;\n      /** Campaigns published or sent. */\n      published?: number;\n      /** Campaigns moved to archive (regardless of the status). */\n      archived?: number;\n  }\n  interface CreateFromTemplateRequest {\n      /** ID of the template to fork. */\n      templateId: string;\n      /** Values to replace template placeholders with (unique for each template). */\n      variables?: Record<string, string>;\n      /** Campaign type. */\n      campaignType?: CampaignTypeEnum;\n      /** Campaign editor type. Either web app or mobile app. */\n      campaignEditorType?: CampaignEditorTypeEnum;\n  }\n  interface CreateFromTemplateResponse {\n      /** Campaign information. */\n      campaign?: Campaign;\n  }\n  interface CreateUserTemplateRequest {\n      /** ID of campaign to create template from. */\n      campaignId: string;\n      /** Title of template. */\n      title?: string | null;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  interface CreateUserTemplateResponse {\n      /** Created user template information. */\n      campaign?: Campaign;\n  }\n  interface CreateFromUserTemplateRequest {\n      /** ID of the user template campaign to use. */\n      campaignId: string;\n  }\n  interface CreateFromUserTemplateResponse {\n      /** Campaign created from user template. */\n      campaign?: Campaign;\n  }\n  interface PublishCampaignRequest {\n      /** Campaign ID */\n      campaignId: string;\n      /** Email distribution options - provided only if marketing campaign is intended to be distributed via email. */\n      emailDistributionOptions?: EmailDistributionOptions;\n  }\n  interface EmailDistributionOptions {\n      /** Subject of an email sent to recipient. */\n      emailSubject?: string | null;\n      /** Label IDs to send campaign to. */\n      labelIds?: string[];\n      /** Contact IDs to send campaign to. */\n      contactIds?: string[];\n      /**\n       * Filter ids to send campaign to (unsupported).\n       * @deprecated Filter ids to send campaign to (unsupported).\n       * @replacedBy contacts_filter\n       * @targetRemovalDate 2023-10-10\n       */\n      filterIds?: string[];\n      /** For scheduling (at least 30 minutes in the future, for premium users only). */\n      sendAt?: Date | null;\n      /**\n       * Contacts filter expression (json).\n       * @internal\n       */\n      contactsFilter?: Record<string, any> | null;\n      /**\n       * Segment ids to send campaign to.\n       * @internal\n       */\n      segmentIds?: string[];\n      /**\n       * Should \"inactive\" contacts be excluded or not (default value \"false\").\n       * @internal\n       */\n      activeContactsOnly?: boolean;\n      /**\n       * Contacts plain text search expression (searches in name, phone and email fields).\n       * @internal\n       */\n      search?: string | null;\n  }\n  interface PublishCampaignResponse {\n      /** `publishingData.statistics` will be empty. */\n      publishingData?: PublishingData;\n  }\n  interface Rejected {\n      /** ID of the campaign that was rejected. */\n      campaignId?: string;\n  }\n  interface Published {\n      /** ID of the campaign that was published. */\n      campaignId?: string;\n      /** Campaign landing page URL. */\n      landingPageUrl?: string;\n      /** Estimation of recipient list size (optional). */\n      mailingListSizeEstimate?: number | null;\n  }\n  interface Terminated {\n      /** ID of the campaign that was terminated. */\n      campaignId?: string;\n  }\n  interface Distributed {\n      /** ID of the campaign that was distributed. */\n      campaignId?: string;\n  }\n  interface EmailActivityUpdated extends EmailActivityUpdatedEventTypeOneOf {\n      click?: Click;\n      /** Recipient opened an email. */\n      open?: Open;\n      /**\n       * Email soft bounced when sent to a recipient.\n       *\n       * Indicates a temporary issue sending your email. For example, the email server receiving the email is under a heavy load.\n       * For soft bounces, you should wait and try again at a later time.\n       */\n      softBounce?: SoftBounce;\n      /**\n       * Email hard bounced when sent to a recipient.\n       *\n       * Indicates a permanent error sending your email. For example, the email address does not exist.\n       */\n      hardBounce?: HardBounce;\n      /** Campaign ID. */\n      campaignId?: string;\n      /** [Contact ID](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-object) of recipient. */\n      contactId?: string;\n      /** Email address of recipient. */\n      recipientEmailAddress?: string;\n      /** Date and time of the event. */\n      timestamp?: Date | null;\n      activityType?: ActivityType;\n      /** email metadata */\n      metadata?: Record<string, string>;\n  }\n  /** @oneof */\n  interface EmailActivityUpdatedEventTypeOneOf {\n      click?: Click;\n      /** Recipient opened an email. */\n      open?: Open;\n      /**\n       * Email soft bounced when sent to a recipient.\n       *\n       * Indicates a temporary issue sending your email. For example, the email server receiving the email is under a heavy load.\n       * For soft bounces, you should wait and try again at a later time.\n       */\n      softBounce?: SoftBounce;\n      /**\n       * Email hard bounced when sent to a recipient.\n       *\n       * Indicates a permanent error sending your email. For example, the email address does not exist.\n       */\n      hardBounce?: HardBounce;\n  }\n  /** The type of email activity that triggered the webhook. */\n  enum ActivityType {\n      /** Triggered when email is delivered to the recipient. */\n      DELIVERY = \"DELIVERY\",\n      /** Triggered when the recipient clicks on a URL inside of the email. */\n      CLICK = \"CLICK\",\n      /** Triggered when the email is opened by the recipient. */\n      OPEN = \"OPEN\",\n      /** Triggered when the email is bounced softly. */\n      SOFT_BOUNCE = \"SOFT_BOUNCE\",\n      /** Triggered when the email bounces. */\n      HARD_BOUNCED = \"HARD_BOUNCED\"\n  }\n  interface Click {\n      /** URL that was clicked. */\n      url?: string;\n      /** Browser user agent of the recipient. */\n      userAgent?: string;\n  }\n  interface Open {\n      /** Browser user agent of the recipient. */\n      userAgent?: string;\n  }\n  interface SoftBounce {\n      /** Reason the email soft bounced. */\n      reason?: string;\n  }\n  interface HardBounce {\n      /** Reason the email hard bounced. */\n      reason?: string;\n  }\n  interface Scheduled {\n      /** ID of the campaign that was scheduled. */\n      campaignId?: string;\n      /** The timestamp campaign is scheduled for. */\n      sendAt?: Date | null;\n      /** Shows if this is a rescheduling of previously scheduled campaign. */\n      rescheduled?: boolean;\n  }\n  interface SendTestRequest {\n      /** Campaign ID. */\n      campaignId: string;\n      /** Subject of an email sent to recipient. */\n      emailSubject?: string | null;\n      /** Recipient's email address. */\n      toEmailAddress: string;\n      /**\n       * Preferred language for campaign content (optional).\n       * @internal\n       */\n      language?: string | null;\n      /**\n       * Values to replace campaign placeholders with (unique for each campaign).\n       * @internal\n       */\n      placeholders?: Record<string, PlaceholderContent>;\n      /**\n       * Sender from name.\n       * @internal\n       */\n      fromName?: string | null;\n      /**\n       * Reply-to email address.\n       * @internal\n       */\n      replyToEmailAddress?: string | null;\n      /**\n       * Whether to hide the ad (default value \"false\").\n       * @internal\n       */\n      forceHideAd?: boolean;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  interface PlaceholderContent extends PlaceholderContentValueOneOf {\n      text?: PlainText;\n      html?: Html;\n      money?: Money;\n      dateTime?: DateTime;\n      map?: Map;\n      array?: Array;\n      enum?: PlaceholderContentEnum;\n      attachment?: Attachment;\n      integer?: Integer;\n      decimal?: Decimal;\n  }\n  /** @oneof */\n  interface PlaceholderContentValueOneOf {\n      text?: PlainText;\n      html?: Html;\n      money?: Money;\n      dateTime?: DateTime;\n      map?: Map;\n      array?: Array;\n      enum?: PlaceholderContentEnum;\n      attachment?: Attachment;\n      integer?: Integer;\n      decimal?: Decimal;\n  }\n  interface PlainText {\n      text?: string;\n  }\n  interface Html {\n      html?: string;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface DateTime {\n      timestamp?: Date | null;\n      /** optional time zone is the full name. example: \"Asia/Jerusalem\" */\n      timeZone?: string | null;\n  }\n  interface Map {\n      variables?: Record<string, PlaceholderContent>;\n  }\n  interface Array {\n      items?: PlaceholderContent[];\n  }\n  interface PlaceholderContentEnum {\n      value?: string;\n      translation?: string;\n  }\n  interface Attachment {\n      fileName?: string;\n      downloadUrl?: string;\n  }\n  interface Integer {\n      /** min value: -2147483648, max value: 2147483647 */\n      value?: number;\n  }\n  interface Decimal {\n      /**\n       * when converted from Double, has a limitation of max 16 digits (including fractional part)\n       * highest possible value for precise representation is 9999999999999998 (9999999999999999 is represented as 10000000000000000)\n       */\n      value?: string;\n  }\n  interface SendTestResponse {\n  }\n  interface PauseSchedulingRequest {\n      /** Campaign ID. */\n      campaignId: string;\n  }\n  interface PauseSchedulingResponse {\n  }\n  interface Paused {\n      /** ID of the campaign that was paused. */\n      campaignId?: string;\n  }\n  interface RescheduleRequest {\n      /** ID of the campaign to reschedule. */\n      campaignId: string;\n      /** The new time for sending out the campaign. */\n      sendAt: Date | null;\n  }\n  interface RescheduleResponse {\n  }\n  interface ArchiveCampaignRequest {\n      /** ID of the campaign to archive. */\n      campaignId: string;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  interface ArchiveCampaignResponse {\n  }\n  /** Sent when status of the campaign is changed from \"Active\" to \"Archived\" */\n  interface Archived {\n      /** ID of the campaign that was archived. */\n      campaignId?: string;\n  }\n  interface UnarchiveCampaignRequest {\n      /** ID of the campaign to unarchive. */\n      campaignId: string;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  interface UnarchiveCampaignResponse {\n  }\n  /** Sent when status of the campaign is changed from \"Archived\" to \"Active\" */\n  interface Unarchived {\n      /** ID of the campaign whose status was changed to active. */\n      campaignId?: string;\n  }\n  interface UpdateTitleRequest {\n      /** ID of the campaign to change title of. */\n      campaignId: string;\n      /** New title to set. */\n      title: string;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  interface UpdateTitleResponse {\n  }\n  interface DeleteCampaignRequest {\n      /** Campaign ID. */\n      campaignId: string;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  interface DeleteCampaignResponse {\n  }\n  interface ReuseCampaignRequest {\n      /** ID of the message to be duplicated. */\n      campaignId: string;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  interface ReuseCampaignResponse {\n      /** Campaign information. */\n      campaign?: Campaign;\n  }\n  interface PreviewCampaignRequest {\n      /** ID of the campaign to preview. */\n      campaignId: string;\n      /** Preferred language for campaign content (optional). */\n      language?: string | null;\n      /** Values to replace campaign placeholders with (unique for each campaign). */\n      placeholders?: Record<string, PlaceholderContent>;\n      /** Whether to hide the ad (default value \"false\"). */\n      forceHideAd?: boolean;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  interface PreviewCampaignResponse {\n      /** Preview HTML. */\n      html?: string;\n  }\n  interface GetComposerRequest {\n      /** Campaign ID. */\n      campaignId: string;\n      /** Preferred language for campaign content (optional). */\n      language?: string | null;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  interface GetComposerResponse {\n      /** Composer. */\n      composer?: Composer;\n      /** Campaign subject. */\n      emailSubject?: string;\n      /** Campaign preheader (optional). */\n      emailPreheader?: string | null;\n  }\n  interface UpdateComposerRequest {\n      /** Campaign ID. */\n      campaignId: string;\n      /** Campaign composer. */\n      composer?: Composer;\n      /** Campaign editor type. Either web app or mobile app (optional, default \"Web\"). */\n      campaignEditorType?: CampaignEditorType;\n      /** Campaign subject (optional). */\n      emailSubject?: string | null;\n      /** Campaign preheader (optional). */\n      emailPreheader?: string | null;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /** specifies if campaign is being created and edited in web or mobile app */\n  interface CampaignEditorType {\n      value?: CampaignEditorTypeEnum;\n  }\n  interface UpdateComposerResponse {\n  }\n  interface CreateCampaignRequest {\n      /** Campaign composer. */\n      composer: Composer;\n      /** Campaign editor type. Either web app or mobile app (optional, default \"Web\"). */\n      campaignEditorType?: CampaignEditorType;\n  }\n  interface CreateCampaignResponse {\n      /** Campaign information. */\n      campaign?: Campaign;\n  }\n  interface ResendToNonOpenersRequest {\n      /** ID of the campaign to resend. */\n      campaignId: string;\n      /** Subject line to use with the resent copy of campaign. */\n      emailSubject?: string | null;\n  }\n  interface ResendToNonOpenersResponse {\n      /** ID of the newly created and resent campaign. */\n      campaignId?: string;\n  }\n  interface GetAudienceRequest {\n      /** Campaign ID. */\n      campaignId: string;\n  }\n  interface GetAudienceResponse {\n      /** Campaign audience. */\n      audience?: CampaignAudience;\n  }\n  interface CampaignAudience {\n      /** Contact IDs to send campaign to. */\n      contactIds?: string[];\n      /** Label IDs to send campaign to. */\n      labelIds?: string[];\n      /** Segment ids to send campaign to. */\n      segmentIds?: string[];\n      /** Contacts filter expression (json). */\n      contactsFilter?: Record<string, any> | null;\n      /** Contacts plain text search expression (searches in name, phone and email fields). */\n      contactsSearchTerm?: string | null;\n      /** Should \"inactive\" contacts be excluded or not. */\n      activeContactsOnly?: boolean;\n  }\n  interface IdentifySenderAddressRequest {\n      /** User's provided arbitrary email address. */\n      emailAddress: string;\n  }\n  interface IdentifySenderAddressResponse {\n      /** Actual from-address that will be used for sending emails. */\n      senderAddress?: string;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Estimates number of valid contacts by given filter and (optional) search expressions.\n   * In Email Marketing context \"valid\" means that bounced/unsubscribed/blacklisted contacts are filtered out.\n   * @param filter - Contacts filter expression.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function estimateFilterSize(filter: Record<string, any> | null, options?: EstimateFilterSizeOptions): Promise<EstimateFilterSizeResponse>;\n  interface EstimateFilterSizeOptions {\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n      /** Contacts plain text search expression (searches in name, phone and email fields). */\n      search?: string | null;\n  }\n  /**\n   * Estimates number of contacts of campaign's audience.\n   * Audience size depends on various filters and search expressions.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function estimateAudienceSize(options?: EstimateAudienceSizeOptions): Promise<EstimateAudienceSizeResponse>;\n  interface EstimateAudienceSizeOptions {\n      /** Contact IDs of a campaign audience. */\n      contactIds?: string[];\n      /** Label IDs of a campaign audience. */\n      labelIds?: string[];\n      /** Contacts filter expression (json). */\n      contactsFilter?: Record<string, any> | null;\n      /** Contacts plain text search expression (searches in name, phone and email fields). */\n      search?: string | null;\n      /** Segment ids of a campaign audience. */\n      segmentIds?: string[];\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n      /** Id of a campaign that is to be resent. */\n      resendCampaignId?: string | null;\n      /** Should total number of contacts in provided audience be returned or not (default value \"false\"). */\n      withTotal?: boolean;\n  }\n  /**\n   * Creates new contact with given email address if one didn't exist before.\n   * @param emailAddress - Email address of the contact.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField emailAddress\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function reconcileContact(emailAddress: string): Promise<ReconcileContactResponse>;\n  /**\n   * Searches for contacts with an email address.\n   * @param searchTerm - Text to search contacts by - can search by name or email address.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField searchTerm\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function searchContacts(searchTerm: string, options?: SearchContactsOptions): Promise<SearchContactsResponse>;\n  interface SearchContactsOptions {\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n      /** Page size (default 50, max 1000). */\n      pageSize?: number | null;\n  }\n  /**\n   * Get labels with contact counts.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function getLabels(options?: GetLabelsOptions): Promise<GetLabelsResponse>;\n  interface GetLabelsOptions {\n      /** Should \"inactive\" contacts be excluded or not (default value \"false\"). */\n      activeContactsOnly?: boolean;\n  }\n  /**\n   * Create and subscribe contact after filling subscription form in campaign landing page.\n   * @param campaignId - Campaign ID that the subscription is happening from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @requiredField options.emailAddress\n   * @adminMethod\n   */\n  function subscribeFromLandingPage(campaignId: string, options?: SubscribeFromLandingPageOptions): Promise<SubscribeFromLandingPageResponse>;\n  interface SubscribeFromLandingPageOptions {\n      /** Email address that is entered into subscription field. */\n      emailAddress: string;\n      /** Did UoU explicitly consent to terms of use or not (optional, default value \"false\") */\n      consent?: boolean;\n  }\n  /**\n   * Get keys of placeholders used in a given campaign, excluding email marketing placeholder keys.\n   * @param campaignId - Campaign ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function getPlaceholderKeys(campaignId: string): Promise<GetPlaceholderKeysResponse>;\n  /**\n   * Get default campaign components - \"footer\", \"logo\", \"follow\".\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function getDefaultComponents(): Promise<GetDefaultComponentsResponse>;\n  /**\n   * validate given link for use in campaign against abuse rules\n   * supplied link could be a placeholder - it should be counted as valid\n   * @param url - web URL\n   * @public\n   * @documentationMaturity preview\n   * @requiredField url\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function validateLink(url: string): Promise<ValidateLinkResponse>;\n  /**\n   * extract links from given html and validate them for use in campaign against abuse rules\n   * @param html - string containing HTML\n   * @public\n   * @documentationMaturity preview\n   * @requiredField html\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function validateHtmlLinks(html: string): Promise<ValidateHtmlLinksResponse>;\n  /**\n   * Retrieves a list of statistics for up to 100 selected campaigns.\n   *\n   * For each campaign, you receive the total activity count for the campaign's landing page and email. For example, the total\n   * amount of times the landing page was opened, or the total amount of email recipients that clicked a link in an email.\n   *\n   * Use [List Campaigns](#listcampaigns) to retrieve additional information for your campaigns.\n   * Use [List Recipients](#listrecipients) to retrieve a list of recipients and their activities related to a selected campaign.\n   * @param campaignIds - IDs of the campaigns to retrieve (max 100 campaigns).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignIds\n   * @permissionId Shoutout.Read\n   * @adminMethod\n   */\n  function listStatistics(campaignIds: string[]): Promise<ListStatisticsResponse>;\n  /**\n   * Retrieves a list of recipients for a selected campaign based on a specific recipient activity.\n   *\n   * Pages are returned with a maximum of 1,000 recipients per page and defaults to 40 recipients per page.\n   *\n   * Use [List Statistics](#liststatistics) to retrieve a list of activity for selected campaigns.\n   * Use [List Campaigns](#listcampaigns) to retrieve additional information for your campaigns.\n   *\n   * If no `activity` is included, this endpoint returns an error.\n   *\n   * @param campaignId - Campaign ID.\n   * @param activity - __Required.__ Email activity to filter for. One of:\n   * + `'DELIVERED'`\n   * + `'OPENED'`\n   * + `'CLICKED'`\n   * + `'BOUNCED'`\n   * + `'NOT_SENT'`\n   * @public\n   * @documentationMaturity preview\n   * @requiredField activity\n   * @requiredField campaignId\n   * @param options - Options to use when getting the list of recipients.\n   * @permissionId Shoutout.Read\n   * @adminMethod\n   */\n  function listRecipients(campaignId: string, activity: RecipientsActivityEnum, options?: ListRecipientsOptions): Promise<ListRecipientsResponse>;\n  interface ListRecipientsOptions {\n      /** Pagination options. */\n      paging?: CursorPaging;\n  }\n  /**\n   * get or create campaign mapping for automation\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.automationRuleId\n   * @requiredField identifiers.templateId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function getCampaignMapping(identifiers: GetCampaignMappingIdentifiers): Promise<GetCampaignMappingResponse>;\n  interface GetCampaignMappingIdentifiers {\n      /** rule ID in automations */\n      automationRuleId: string;\n      /** template ID configured for the automation */\n      templateId: string;\n  }\n  /**\n   * get campaign mapping for ping\n   * @param streamId - ping stream ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.automationRuleId\n   * @requiredField identifiers.templateId\n   * @requiredField options.appDefId\n   * @requiredField options.language\n   * @requiredField streamId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function getPingCampaignMapping(identifiers: GetPingCampaignMappingIdentifiers, streamId: string, options?: GetPingCampaignMappingOptions): Promise<GetPingCampaignMappingResponse>;\n  interface GetPingCampaignMappingIdentifiers {\n      /** rule ID in automations */\n      automationRuleId: string;\n      /** template ID configured for the ping automation. */\n      templateId: string;\n  }\n  interface GetPingCampaignMappingOptions {\n      /** ID of the initiating vertical. */\n      appDefId: string;\n      /** Ping template ID. */\n      pingTemplateId?: string | null;\n      /** Preferred language. */\n      language: string;\n  }\n  /**\n   * query automation templates from \"action-triggers-server\" (enriched with campaignId and metaSiteId)\n   * https://github.com/wix-private/crm/blob/master/action-triggers-server/action-triggers-integrator-idl/src/main/proto/services/AutomationTemplatesService.proto#L100\n   * NOTE: it does not support multi-step automations - enrichment will happen for the first shoutout template id found\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId EMAIL_MARKETING.LIST_AUTOMATIONS\n   * @adminMethod\n   */\n  function queryAutomationTemplates(options?: QueryAutomationTemplatesOptions): Promise<QueryAutomationTemplatesResponse>;\n  interface QueryAutomationTemplatesOptions {\n      /** https://github.com/wix-private/p13n/blob/master/protos/query/src/main/proto/wix/common/query.proto */\n      query?: Query;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId EMAIL_MARKETING.LIST_AUTOMATIONS\n   * @adminMethod\n   */\n  function queryAppTemplates(options?: QueryAppTemplatesOptions): Promise<QueryAppTemplatesResponse>;\n  interface QueryAppTemplatesOptions {\n      queryType?: TemplateQueryType;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId EMAIL_MARKETING.LOOKUP_CAMPAIGN\n   * @adminMethod\n   */\n  function campaignLookup(campaignId: string): Promise<CampaignLookupResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId EMAIL_MARKETING.LOOKUP_CAMPAIGN\n   * @adminMethod\n   */\n  function campaignLookupBatch(options?: CampaignLookupBatchOptions): Promise<CampaignLookupBatchResponse>;\n  interface CampaignLookupBatchOptions {\n      campaignIds?: string[];\n  }\n  /** @param campaignId - Campaign ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @requiredField options.composer.composerDataJson\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function upsertTranslation(campaignId: string, options?: UpsertTranslationOptions): Promise<void>;\n  interface UpsertTranslationOptions {\n      /** Composer data. */\n      composer?: Composer;\n      /** Translation language (optional, default value \"EN\"). */\n      language?: string | null;\n      /** For BI event [36:1031] only (optional, default value \"n/a\"). */\n      automationRuleId?: string | null;\n      /** Should campaign also be published or not (default value \"false\"). */\n      publish?: boolean;\n      /** Campaign subject (optional). */\n      emailSubject?: string | null;\n      /** Campaign preheader (optional). */\n      emailPreheader?: string | null;\n  }\n  /**\n   * get keys of placeholders used in a given automation.\n   * @param campaignId - Campaign ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function getUsedPlaceholderKeys(campaignId: string): Promise<GetUsedPlaceholderKeysResponse>;\n  /**\n   * Retrieves information about an email campaign by the specified ID.\n   * @param campaignId - Campaign ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @param options - Options to use when getting a campaign.\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   * @returns Campaign information.\n   */\n  function getCampaign(campaignId: string, options?: GetCampaignOptions): Promise<Campaign>;\n  interface GetCampaignOptions {\n      /**\n       * Whether a returned campaign object should include `publishingData.statistics`.\n       * Default: `false`.\n       */\n      optionIncludeStatistics?: boolean;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * Returns a list of email campaigns.\n   *\n   * Default sort by `date_updated` in `desc` order.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when getting the list of campaigns.\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function listCampaigns(options?: ListCampaignsOptions): Promise<ListCampaignsResponse>;\n  interface ListCampaignsOptions {\n      /** Paging parameters. */\n      paging?: Paging;\n      /**\n       * Whether to include `publishingData.statistics` in the returned campaign object.\n       * Default: `false`\n       */\n      optionIncludeStatistics?: boolean;\n      /**\n       * Include campaigns with the following statuses (no filtering by default). One of:\n       * + `'ACTIVE'`\n       * + `'ARCHIVED'`\n       * + `'DELETED'`\n       */\n      statuses?: CampaignStatusEnum[];\n      /**\n       * Include campaigns with the following visibility statuses (no filtering by default). One of:\n       * + `'ACTIVE'`\n       * + `'ARCHIVED'`\n       * + `'DELETED'`\n       */\n      visibilityStatuses?: CampaignVisibilityStatusEnum[];\n      /**\n       * Filter by the following campaign types. One of:\n       * + `'EMAIL_MARKETING'`\n       * + `INVITATION'`\n       * + `'AUTOMATION'`\n       * + `'TRIGGERED'`\n       */\n      campaignType?: CampaignTypeEnum;\n      /**\n       * Include campaigns with the following distribution statuses (no filtering by default). One of:\n       * + `'NOT_STARTED'`\n       * + `'SCHEDULED'`\n       * + `'IN_DETECTION'`\n       * + `'IN_MODERATION'`\n       * + `'SAMPLING'`\n       * + `'SENDING'`\n       * + `'REJECTED'`\n       * + `'TERMINATED'`\n       * + `'DISTRIBUTED'`\n       * + `'PAUSED'`\n       * @internal\n       */\n      distributionStatuses?: Enum[];\n      /**\n       * Filter campaigns by publish date (no filtering by default).\n       * @internal\n       */\n      datePublishedFrom?: Date | null;\n      /** @internal */\n      datePublishedTo?: Date | null;\n      /**\n       * Filter by subject line.\n       * @internal\n       */\n      subjectSubstring?: string | null;\n      /**\n       * Preferred language for campaign content (optional).\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Counts site campaigns.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function count(options?: CountOptions): Promise<CountCampaignsResponse>;\n  interface CountOptions {\n      /** Since when should we start counting (optional, default value \"1970-01-01T00:00:00.000Z\") */\n      dateFrom?: Date | null;\n  }\n  /**\n   * Creates a new draft campaign from a specified template.\n   * It can be accessed from TemplateService by tag, or you can ask your designer.\n   * @param templateId - ID of the template to fork.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField templateId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function createFromTemplate(templateId: string, options?: CreateFromTemplateOptions): Promise<CreateFromTemplateResponse>;\n  interface CreateFromTemplateOptions {\n      /** Values to replace template placeholders with (unique for each template). */\n      variables?: Record<string, string>;\n      /** Campaign type. */\n      campaignType?: CampaignTypeEnum;\n      /** Campaign editor type. Either web app or mobile app. */\n      campaignEditorType?: CampaignEditorTypeEnum;\n  }\n  /**\n   * Create a user template from campaign.\n   * @param campaignId - ID of campaign to create template from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function createUserTemplate(campaignId: string, options?: CreateUserTemplateOptions): Promise<CreateUserTemplateResponse>;\n  interface CreateUserTemplateOptions {\n      /** Title of template. */\n      title?: string | null;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * Create a draft EM campaign from user template.\n   * @param campaignId - ID of the user template campaign to use.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function createFromUserTemplate(campaignId: string): Promise<CreateFromUserTemplateResponse>;\n  /**\n   * Publishes/sends a specified campaign.\n   *\n   * If no `emailDistributionOptions` parameters are specified, the campaign is only published as a landing page.\n   * @param campaignId - Campaign ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @param options - Options to use when publishing a campaign.\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function publishCampaign(campaignId: string, options?: PublishCampaignOptions): Promise<PublishCampaignResponse>;\n  interface PublishCampaignOptions {\n      /** Email distribution options - provided only if marketing campaign is intended to be distributed via email. */\n      emailDistributionOptions?: EmailDistributionOptions;\n  }\n  /**\n   * Sends a test email for preview purposes.\n   *\n   * It is heavily throttled, so don't use this for regular campaign sending.\n   *\n   * @param campaignId - Campaign ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @requiredField options.toEmailAddress\n   * @param options - Options for sending a test email.\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function sendTest(campaignId: string, options?: SendTestOptions): Promise<void>;\n  interface SendTestOptions {\n      /** Subject of an email sent to recipient. */\n      emailSubject?: string | null;\n      /** Recipient's email address. */\n      toEmailAddress: string;\n      /**\n       * Preferred language for campaign content (optional).\n       * @internal\n       */\n      language?: string | null;\n      /**\n       * Values to replace campaign placeholders with (unique for each campaign).\n       * @internal\n       */\n      placeholders?: Record<string, PlaceholderContent>;\n      /**\n       * Sender from name.\n       * @internal\n       */\n      fromName?: string | null;\n      /**\n       * Reply-to email address.\n       * @internal\n       */\n      replyToEmailAddress?: string | null;\n      /**\n       * Whether to hide the ad (default value \"false\").\n       * @internal\n       */\n      forceHideAd?: boolean;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * Pauses a scheduled campaign. Learn more about [market campaign scheduling](https://support.wix.com/en/article/managing-your-scheduled-email-marketing-campaign).\n   * @param campaignId - Campaign ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function pauseScheduling(campaignId: string): Promise<void>;\n  /**\n   * Changes the sending time for an already scheduled campaign.\n   * @param campaignId - ID of the campaign to reschedule.\n   * @param sendAt - The new time for sending out the campaign.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @requiredField sendAt\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function reschedule(campaignId: string, sendAt: Date | null): Promise<void>;\n  /**\n   * Marks a campaign as archived\n   * @param campaignId - ID of the campaign to archive.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function archiveCampaign(campaignId: string, options?: ArchiveCampaignOptions): Promise<void>;\n  interface ArchiveCampaignOptions {\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * Marks a campaign as active\n   * @param campaignId - ID of the campaign to unarchive.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function unarchiveCampaign(campaignId: string, options?: UnarchiveCampaignOptions): Promise<void>;\n  interface UnarchiveCampaignOptions {\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * Changes title of the campaign\n   * @param campaignId - ID of the campaign to change title of.\n   * @param title - New title to set.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @requiredField title\n   * @permissionId EMAIL_MARKETING.UPDATE_CAMPAIGN_TITLE\n   * @adminMethod\n   */\n  function updateTitle(campaignId: string, title: string, options?: UpdateTitleOptions): Promise<void>;\n  interface UpdateTitleOptions {\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * Permanently deletes a campaign.\n   * @param campaignId - Campaign ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function deleteCampaign(campaignId: string, options?: DeleteCampaignOptions): Promise<void>;\n  interface DeleteCampaignOptions {\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * Creates a (draft) copy of an existing campaign.\n   *\n   * @param campaignId - ID of the message to be duplicated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function reuseCampaign(campaignId: string, options?: ReuseCampaignOptions): Promise<ReuseCampaignResponse>;\n  interface ReuseCampaignOptions {\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * Build an HTML preview of the campaign. Useful if you need to show the user what their email will look like.\n   * @param campaignId - ID of the campaign to preview.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function preview(campaignId: string, options?: PreviewOptions): Promise<PreviewCampaignResponse>;\n  interface PreviewOptions {\n      /** Preferred language for campaign content (optional). */\n      language?: string | null;\n      /** Values to replace campaign placeholders with (unique for each campaign). */\n      placeholders?: Record<string, PlaceholderContent>;\n      /** Whether to hide the ad (default value \"false\"). */\n      forceHideAd?: boolean;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * For internal use.\n   * @param campaignId - Campaign ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function getComposer(campaignId: string, options?: GetComposerOptions): Promise<GetComposerResponse>;\n  interface GetComposerOptions {\n      /** Preferred language for campaign content (optional). */\n      language?: string | null;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * For internal use.\n   * @param campaignId - Campaign ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @requiredField options.composer.composerDataJson\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function updateComposer(campaignId: string, options?: UpdateComposerOptions): Promise<void>;\n  interface UpdateComposerOptions {\n      /** Campaign composer. */\n      composer?: Composer;\n      /** Campaign editor type. Either web app or mobile app (optional, default \"Web\"). */\n      campaignEditorType?: CampaignEditorType;\n      /** Campaign subject (optional). */\n      emailSubject?: string | null;\n      /** Campaign preheader (optional). */\n      emailPreheader?: string | null;\n      /**\n       * Entity type (for api-proxy).\n       * @internal\n       */\n      campaignType?: CampaignTypeEnum;\n  }\n  /**\n   * For internal use (EM).\n   * @param composer - Campaign composer.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField composer\n   * @requiredField composer.composerDataJson\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function create(composer: Composer, options?: CreateOptions): Promise<CreateCampaignResponse>;\n  interface CreateOptions {\n      /** Campaign editor type. Either web app or mobile app (optional, default \"Web\"). */\n      campaignEditorType?: CampaignEditorType;\n  }\n  /**\n   * Resends a copy of campaign to users that did not open it. Different subject line may be used for the new campaign if necessary.\n   * @param campaignId - ID of the campaign to resend.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function resendToNonOpeners(campaignId: string, options?: ResendToNonOpenersOptions): Promise<ResendToNonOpenersResponse>;\n  interface ResendToNonOpenersOptions {\n      /** Subject line to use with the resent copy of campaign. */\n      emailSubject?: string | null;\n  }\n  /**\n   * Return audience \"assigned\" to paused campaign at the time of scheduling.\n   * @param campaignId - Campaign ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField campaignId\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function getAudience(campaignId: string): Promise<GetAudienceResponse>;\n  /**\n   * Check if user's email address will be used as from address or will it be replaced and to what exactly.\n   * @param emailAddress - User's provided arbitrary email address.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField emailAddress\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function identifySenderAddress(emailAddress: string): Promise<IdentifySenderAddressResponse>;\n  \n  type emailMarketingV1Campaign_universal_d_Campaign = Campaign;\n  type emailMarketingV1Campaign_universal_d_CampaignEditorTypeEnum = CampaignEditorTypeEnum;\n  const emailMarketingV1Campaign_universal_d_CampaignEditorTypeEnum: typeof CampaignEditorTypeEnum;\n  type emailMarketingV1Campaign_universal_d_CampaignStatusEnum = CampaignStatusEnum;\n  const emailMarketingV1Campaign_universal_d_CampaignStatusEnum: typeof CampaignStatusEnum;\n  type emailMarketingV1Campaign_universal_d_CampaignVisibilityStatusEnum = CampaignVisibilityStatusEnum;\n  const emailMarketingV1Campaign_universal_d_CampaignVisibilityStatusEnum: typeof CampaignVisibilityStatusEnum;\n  type emailMarketingV1Campaign_universal_d_Enum = Enum;\n  const emailMarketingV1Campaign_universal_d_Enum: typeof Enum;\n  type emailMarketingV1Campaign_universal_d_PublishingData = PublishingData;\n  type emailMarketingV1Campaign_universal_d_CampaignStatistics = CampaignStatistics;\n  type emailMarketingV1Campaign_universal_d_LandingPageStatistics = LandingPageStatistics;\n  type emailMarketingV1Campaign_universal_d_DistributionStatistics = DistributionStatistics;\n  type emailMarketingV1Campaign_universal_d_TotalStatistics = TotalStatistics;\n  type emailMarketingV1Campaign_universal_d_RejectionData = RejectionData;\n  type emailMarketingV1Campaign_universal_d_RejectionReasonEnum = RejectionReasonEnum;\n  const emailMarketingV1Campaign_universal_d_RejectionReasonEnum: typeof RejectionReasonEnum;\n  type emailMarketingV1Campaign_universal_d_CampaignSendingStateEnum = CampaignSendingStateEnum;\n  const emailMarketingV1Campaign_universal_d_CampaignSendingStateEnum: typeof CampaignSendingStateEnum;\n  type emailMarketingV1Campaign_universal_d_CampaignTypeEnum = CampaignTypeEnum;\n  const emailMarketingV1Campaign_universal_d_CampaignTypeEnum: typeof CampaignTypeEnum;\n  type emailMarketingV1Campaign_universal_d_EstimateFilterSizeRequest = EstimateFilterSizeRequest;\n  type emailMarketingV1Campaign_universal_d_EstimateFilterSizeResponse = EstimateFilterSizeResponse;\n  type emailMarketingV1Campaign_universal_d_EstimateAudienceSizeRequest = EstimateAudienceSizeRequest;\n  type emailMarketingV1Campaign_universal_d_EstimateAudienceSizeResponse = EstimateAudienceSizeResponse;\n  type emailMarketingV1Campaign_universal_d_ReconcileContactRequest = ReconcileContactRequest;\n  type emailMarketingV1Campaign_universal_d_ReconcileContactResponse = ReconcileContactResponse;\n  type emailMarketingV1Campaign_universal_d_Contact = Contact;\n  type emailMarketingV1Campaign_universal_d_SearchContactsRequest = SearchContactsRequest;\n  type emailMarketingV1Campaign_universal_d_SearchContactsResponse = SearchContactsResponse;\n  type emailMarketingV1Campaign_universal_d_GetLabelsRequest = GetLabelsRequest;\n  type emailMarketingV1Campaign_universal_d_GetLabelsResponse = GetLabelsResponse;\n  type emailMarketingV1Campaign_universal_d_Label = Label;\n  type emailMarketingV1Campaign_universal_d_SubscribeFromLandingPageRequest = SubscribeFromLandingPageRequest;\n  type emailMarketingV1Campaign_universal_d_SubscribeFromLandingPageResponse = SubscribeFromLandingPageResponse;\n  type emailMarketingV1Campaign_universal_d_GetPlaceholderKeysRequest = GetPlaceholderKeysRequest;\n  type emailMarketingV1Campaign_universal_d_GetPlaceholderKeysResponse = GetPlaceholderKeysResponse;\n  type emailMarketingV1Campaign_universal_d_GetDefaultComponentsRequest = GetDefaultComponentsRequest;\n  type emailMarketingV1Campaign_universal_d_GetDefaultComponentsResponse = GetDefaultComponentsResponse;\n  type emailMarketingV1Campaign_universal_d_ValidateLinkRequest = ValidateLinkRequest;\n  type emailMarketingV1Campaign_universal_d_ValidateLinkResponse = ValidateLinkResponse;\n  type emailMarketingV1Campaign_universal_d_ValidateHtmlLinksRequest = ValidateHtmlLinksRequest;\n  type emailMarketingV1Campaign_universal_d_ValidateHtmlLinksResponse = ValidateHtmlLinksResponse;\n  type emailMarketingV1Campaign_universal_d_ListStatisticsRequest = ListStatisticsRequest;\n  type emailMarketingV1Campaign_universal_d_ListStatisticsResponse = ListStatisticsResponse;\n  type emailMarketingV1Campaign_universal_d_CampaignStatisticsContainer = CampaignStatisticsContainer;\n  type emailMarketingV1Campaign_universal_d_ListRecipientsRequest = ListRecipientsRequest;\n  type emailMarketingV1Campaign_universal_d_RecipientsActivityEnum = RecipientsActivityEnum;\n  const emailMarketingV1Campaign_universal_d_RecipientsActivityEnum: typeof RecipientsActivityEnum;\n  type emailMarketingV1Campaign_universal_d_CursorPaging = CursorPaging;\n  type emailMarketingV1Campaign_universal_d_ListRecipientsResponse = ListRecipientsResponse;\n  type emailMarketingV1Campaign_universal_d_CampaignRecipientDetails = CampaignRecipientDetails;\n  type emailMarketingV1Campaign_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type emailMarketingV1Campaign_universal_d_Cursors = Cursors;\n  type emailMarketingV1Campaign_universal_d_GetCampaignMappingRequest = GetCampaignMappingRequest;\n  type emailMarketingV1Campaign_universal_d_GetCampaignMappingResponse = GetCampaignMappingResponse;\n  type emailMarketingV1Campaign_universal_d_GetPingCampaignMappingRequest = GetPingCampaignMappingRequest;\n  type emailMarketingV1Campaign_universal_d_GetPingCampaignMappingResponse = GetPingCampaignMappingResponse;\n  type emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesRequest = QueryAutomationTemplatesRequest;\n  type emailMarketingV1Campaign_universal_d_Query = Query;\n  type emailMarketingV1Campaign_universal_d_Sorting = Sorting;\n  type emailMarketingV1Campaign_universal_d_SortOrder = SortOrder;\n  const emailMarketingV1Campaign_universal_d_SortOrder: typeof SortOrder;\n  type emailMarketingV1Campaign_universal_d_Paging = Paging;\n  type emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesResponse = QueryAutomationTemplatesResponse;\n  type emailMarketingV1Campaign_universal_d_AutomationTemplateContainer = AutomationTemplateContainer;\n  type emailMarketingV1Campaign_universal_d_AutomationTemplate = AutomationTemplate;\n  type emailMarketingV1Campaign_universal_d_RuleConfiguration = RuleConfiguration;\n  type emailMarketingV1Campaign_universal_d_ConditionConfiguration = ConditionConfiguration;\n  type emailMarketingV1Campaign_universal_d_Operator = Operator;\n  const emailMarketingV1Campaign_universal_d_Operator: typeof Operator;\n  type emailMarketingV1Campaign_universal_d_TriggerConfiguration = TriggerConfiguration;\n  type emailMarketingV1Campaign_universal_d_ActionConfiguration = ActionConfiguration;\n  type emailMarketingV1Campaign_universal_d_RuleStatus = RuleStatus;\n  const emailMarketingV1Campaign_universal_d_RuleStatus: typeof RuleStatus;\n  type emailMarketingV1Campaign_universal_d_ActivationCycle = ActivationCycle;\n  type emailMarketingV1Campaign_universal_d_RuleMetadata = RuleMetadata;\n  type emailMarketingV1Campaign_universal_d_VersionType = VersionType;\n  const emailMarketingV1Campaign_universal_d_VersionType: typeof VersionType;\n  type emailMarketingV1Campaign_universal_d_TemplateType = TemplateType;\n  const emailMarketingV1Campaign_universal_d_TemplateType: typeof TemplateType;\n  type emailMarketingV1Campaign_universal_d_Precondition = Precondition;\n  type emailMarketingV1Campaign_universal_d_PreconditionType = PreconditionType;\n  const emailMarketingV1Campaign_universal_d_PreconditionType: typeof PreconditionType;\n  type emailMarketingV1Campaign_universal_d_TemplateState = TemplateState;\n  const emailMarketingV1Campaign_universal_d_TemplateState: typeof TemplateState;\n  type emailMarketingV1Campaign_universal_d_Translation = Translation;\n  type emailMarketingV1Campaign_universal_d_TranslationState = TranslationState;\n  const emailMarketingV1Campaign_universal_d_TranslationState: typeof TranslationState;\n  type emailMarketingV1Campaign_universal_d_AutomationTemplateEnrichmentData = AutomationTemplateEnrichmentData;\n  type emailMarketingV1Campaign_universal_d_QueryMetadata = QueryMetadata;\n  type emailMarketingV1Campaign_universal_d_QueryAppTemplatesRequest = QueryAppTemplatesRequest;\n  type emailMarketingV1Campaign_universal_d_TemplateQueryType = TemplateQueryType;\n  const emailMarketingV1Campaign_universal_d_TemplateQueryType: typeof TemplateQueryType;\n  type emailMarketingV1Campaign_universal_d_QueryAppTemplatesResponse = QueryAppTemplatesResponse;\n  type emailMarketingV1Campaign_universal_d_TemplateData = TemplateData;\n  type emailMarketingV1Campaign_universal_d_CampaignLookupRequest = CampaignLookupRequest;\n  type emailMarketingV1Campaign_universal_d_CampaignLookupResponse = CampaignLookupResponse;\n  type emailMarketingV1Campaign_universal_d_CampaignLookupBatchRequest = CampaignLookupBatchRequest;\n  type emailMarketingV1Campaign_universal_d_CampaignLookupBatchResponse = CampaignLookupBatchResponse;\n  type emailMarketingV1Campaign_universal_d_UpsertTranslationRequest = UpsertTranslationRequest;\n  type emailMarketingV1Campaign_universal_d_Composer = Composer;\n  type emailMarketingV1Campaign_universal_d_DefaultValues = DefaultValues;\n  type emailMarketingV1Campaign_universal_d_UpsertTranslationResponse = UpsertTranslationResponse;\n  type emailMarketingV1Campaign_universal_d_GetUsedPlaceholderKeysRequest = GetUsedPlaceholderKeysRequest;\n  type emailMarketingV1Campaign_universal_d_GetUsedPlaceholderKeysResponse = GetUsedPlaceholderKeysResponse;\n  type emailMarketingV1Campaign_universal_d_LookupCampaignMappingRequest = LookupCampaignMappingRequest;\n  type emailMarketingV1Campaign_universal_d_LookupCampaignMappingResponse = LookupCampaignMappingResponse;\n  type emailMarketingV1Campaign_universal_d_GetCampaignRequest = GetCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_GetCampaignResponse = GetCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_ListCampaignsRequest = ListCampaignsRequest;\n  type emailMarketingV1Campaign_universal_d_ListCampaignsResponse = ListCampaignsResponse;\n  type emailMarketingV1Campaign_universal_d_CountCampaignsRequest = CountCampaignsRequest;\n  type emailMarketingV1Campaign_universal_d_CountCampaignsResponse = CountCampaignsResponse;\n  type emailMarketingV1Campaign_universal_d_CreateFromTemplateRequest = CreateFromTemplateRequest;\n  type emailMarketingV1Campaign_universal_d_CreateFromTemplateResponse = CreateFromTemplateResponse;\n  type emailMarketingV1Campaign_universal_d_CreateUserTemplateRequest = CreateUserTemplateRequest;\n  type emailMarketingV1Campaign_universal_d_CreateUserTemplateResponse = CreateUserTemplateResponse;\n  type emailMarketingV1Campaign_universal_d_CreateFromUserTemplateRequest = CreateFromUserTemplateRequest;\n  type emailMarketingV1Campaign_universal_d_CreateFromUserTemplateResponse = CreateFromUserTemplateResponse;\n  type emailMarketingV1Campaign_universal_d_PublishCampaignRequest = PublishCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_EmailDistributionOptions = EmailDistributionOptions;\n  type emailMarketingV1Campaign_universal_d_PublishCampaignResponse = PublishCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_Rejected = Rejected;\n  type emailMarketingV1Campaign_universal_d_Published = Published;\n  type emailMarketingV1Campaign_universal_d_Terminated = Terminated;\n  type emailMarketingV1Campaign_universal_d_Distributed = Distributed;\n  type emailMarketingV1Campaign_universal_d_EmailActivityUpdated = EmailActivityUpdated;\n  type emailMarketingV1Campaign_universal_d_EmailActivityUpdatedEventTypeOneOf = EmailActivityUpdatedEventTypeOneOf;\n  type emailMarketingV1Campaign_universal_d_ActivityType = ActivityType;\n  const emailMarketingV1Campaign_universal_d_ActivityType: typeof ActivityType;\n  type emailMarketingV1Campaign_universal_d_Click = Click;\n  type emailMarketingV1Campaign_universal_d_Open = Open;\n  type emailMarketingV1Campaign_universal_d_SoftBounce = SoftBounce;\n  type emailMarketingV1Campaign_universal_d_HardBounce = HardBounce;\n  type emailMarketingV1Campaign_universal_d_Scheduled = Scheduled;\n  type emailMarketingV1Campaign_universal_d_SendTestRequest = SendTestRequest;\n  type emailMarketingV1Campaign_universal_d_PlaceholderContent = PlaceholderContent;\n  type emailMarketingV1Campaign_universal_d_PlaceholderContentValueOneOf = PlaceholderContentValueOneOf;\n  type emailMarketingV1Campaign_universal_d_PlainText = PlainText;\n  type emailMarketingV1Campaign_universal_d_Html = Html;\n  type emailMarketingV1Campaign_universal_d_Money = Money;\n  type emailMarketingV1Campaign_universal_d_DateTime = DateTime;\n  type emailMarketingV1Campaign_universal_d_Map = Map;\n  type emailMarketingV1Campaign_universal_d_Array = Array;\n  type emailMarketingV1Campaign_universal_d_PlaceholderContentEnum = PlaceholderContentEnum;\n  type emailMarketingV1Campaign_universal_d_Attachment = Attachment;\n  type emailMarketingV1Campaign_universal_d_Integer = Integer;\n  type emailMarketingV1Campaign_universal_d_Decimal = Decimal;\n  type emailMarketingV1Campaign_universal_d_SendTestResponse = SendTestResponse;\n  type emailMarketingV1Campaign_universal_d_PauseSchedulingRequest = PauseSchedulingRequest;\n  type emailMarketingV1Campaign_universal_d_PauseSchedulingResponse = PauseSchedulingResponse;\n  type emailMarketingV1Campaign_universal_d_Paused = Paused;\n  type emailMarketingV1Campaign_universal_d_RescheduleRequest = RescheduleRequest;\n  type emailMarketingV1Campaign_universal_d_RescheduleResponse = RescheduleResponse;\n  type emailMarketingV1Campaign_universal_d_ArchiveCampaignRequest = ArchiveCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_ArchiveCampaignResponse = ArchiveCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_Archived = Archived;\n  type emailMarketingV1Campaign_universal_d_UnarchiveCampaignRequest = UnarchiveCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_UnarchiveCampaignResponse = UnarchiveCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_Unarchived = Unarchived;\n  type emailMarketingV1Campaign_universal_d_UpdateTitleRequest = UpdateTitleRequest;\n  type emailMarketingV1Campaign_universal_d_UpdateTitleResponse = UpdateTitleResponse;\n  type emailMarketingV1Campaign_universal_d_DeleteCampaignRequest = DeleteCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_DeleteCampaignResponse = DeleteCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_ReuseCampaignRequest = ReuseCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_ReuseCampaignResponse = ReuseCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_PreviewCampaignRequest = PreviewCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_PreviewCampaignResponse = PreviewCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_GetComposerRequest = GetComposerRequest;\n  type emailMarketingV1Campaign_universal_d_GetComposerResponse = GetComposerResponse;\n  type emailMarketingV1Campaign_universal_d_UpdateComposerRequest = UpdateComposerRequest;\n  type emailMarketingV1Campaign_universal_d_CampaignEditorType = CampaignEditorType;\n  type emailMarketingV1Campaign_universal_d_UpdateComposerResponse = UpdateComposerResponse;\n  type emailMarketingV1Campaign_universal_d_CreateCampaignRequest = CreateCampaignRequest;\n  type emailMarketingV1Campaign_universal_d_CreateCampaignResponse = CreateCampaignResponse;\n  type emailMarketingV1Campaign_universal_d_ResendToNonOpenersRequest = ResendToNonOpenersRequest;\n  type emailMarketingV1Campaign_universal_d_ResendToNonOpenersResponse = ResendToNonOpenersResponse;\n  type emailMarketingV1Campaign_universal_d_GetAudienceRequest = GetAudienceRequest;\n  type emailMarketingV1Campaign_universal_d_GetAudienceResponse = GetAudienceResponse;\n  type emailMarketingV1Campaign_universal_d_CampaignAudience = CampaignAudience;\n  type emailMarketingV1Campaign_universal_d_IdentifySenderAddressRequest = IdentifySenderAddressRequest;\n  type emailMarketingV1Campaign_universal_d_IdentifySenderAddressResponse = IdentifySenderAddressResponse;\n  const emailMarketingV1Campaign_universal_d_estimateFilterSize: typeof estimateFilterSize;\n  type emailMarketingV1Campaign_universal_d_EstimateFilterSizeOptions = EstimateFilterSizeOptions;\n  const emailMarketingV1Campaign_universal_d_estimateAudienceSize: typeof estimateAudienceSize;\n  type emailMarketingV1Campaign_universal_d_EstimateAudienceSizeOptions = EstimateAudienceSizeOptions;\n  const emailMarketingV1Campaign_universal_d_reconcileContact: typeof reconcileContact;\n  const emailMarketingV1Campaign_universal_d_searchContacts: typeof searchContacts;\n  type emailMarketingV1Campaign_universal_d_SearchContactsOptions = SearchContactsOptions;\n  const emailMarketingV1Campaign_universal_d_getLabels: typeof getLabels;\n  type emailMarketingV1Campaign_universal_d_GetLabelsOptions = GetLabelsOptions;\n  const emailMarketingV1Campaign_universal_d_subscribeFromLandingPage: typeof subscribeFromLandingPage;\n  type emailMarketingV1Campaign_universal_d_SubscribeFromLandingPageOptions = SubscribeFromLandingPageOptions;\n  const emailMarketingV1Campaign_universal_d_getPlaceholderKeys: typeof getPlaceholderKeys;\n  const emailMarketingV1Campaign_universal_d_getDefaultComponents: typeof getDefaultComponents;\n  const emailMarketingV1Campaign_universal_d_validateLink: typeof validateLink;\n  const emailMarketingV1Campaign_universal_d_validateHtmlLinks: typeof validateHtmlLinks;\n  const emailMarketingV1Campaign_universal_d_listStatistics: typeof listStatistics;\n  const emailMarketingV1Campaign_universal_d_listRecipients: typeof listRecipients;\n  type emailMarketingV1Campaign_universal_d_ListRecipientsOptions = ListRecipientsOptions;\n  const emailMarketingV1Campaign_universal_d_getCampaignMapping: typeof getCampaignMapping;\n  type emailMarketingV1Campaign_universal_d_GetCampaignMappingIdentifiers = GetCampaignMappingIdentifiers;\n  const emailMarketingV1Campaign_universal_d_getPingCampaignMapping: typeof getPingCampaignMapping;\n  type emailMarketingV1Campaign_universal_d_GetPingCampaignMappingIdentifiers = GetPingCampaignMappingIdentifiers;\n  type emailMarketingV1Campaign_universal_d_GetPingCampaignMappingOptions = GetPingCampaignMappingOptions;\n  const emailMarketingV1Campaign_universal_d_queryAutomationTemplates: typeof queryAutomationTemplates;\n  type emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesOptions = QueryAutomationTemplatesOptions;\n  const emailMarketingV1Campaign_universal_d_queryAppTemplates: typeof queryAppTemplates;\n  type emailMarketingV1Campaign_universal_d_QueryAppTemplatesOptions = QueryAppTemplatesOptions;\n  const emailMarketingV1Campaign_universal_d_campaignLookup: typeof campaignLookup;\n  const emailMarketingV1Campaign_universal_d_campaignLookupBatch: typeof campaignLookupBatch;\n  type emailMarketingV1Campaign_universal_d_CampaignLookupBatchOptions = CampaignLookupBatchOptions;\n  const emailMarketingV1Campaign_universal_d_upsertTranslation: typeof upsertTranslation;\n  type emailMarketingV1Campaign_universal_d_UpsertTranslationOptions = UpsertTranslationOptions;\n  const emailMarketingV1Campaign_universal_d_getUsedPlaceholderKeys: typeof getUsedPlaceholderKeys;\n  const emailMarketingV1Campaign_universal_d_getCampaign: typeof getCampaign;\n  type emailMarketingV1Campaign_universal_d_GetCampaignOptions = GetCampaignOptions;\n  const emailMarketingV1Campaign_universal_d_listCampaigns: typeof listCampaigns;\n  type emailMarketingV1Campaign_universal_d_ListCampaignsOptions = ListCampaignsOptions;\n  const emailMarketingV1Campaign_universal_d_count: typeof count;\n  type emailMarketingV1Campaign_universal_d_CountOptions = CountOptions;\n  const emailMarketingV1Campaign_universal_d_createFromTemplate: typeof createFromTemplate;\n  type emailMarketingV1Campaign_universal_d_CreateFromTemplateOptions = CreateFromTemplateOptions;\n  const emailMarketingV1Campaign_universal_d_createUserTemplate: typeof createUserTemplate;\n  type emailMarketingV1Campaign_universal_d_CreateUserTemplateOptions = CreateUserTemplateOptions;\n  const emailMarketingV1Campaign_universal_d_createFromUserTemplate: typeof createFromUserTemplate;\n  const emailMarketingV1Campaign_universal_d_publishCampaign: typeof publishCampaign;\n  type emailMarketingV1Campaign_universal_d_PublishCampaignOptions = PublishCampaignOptions;\n  const emailMarketingV1Campaign_universal_d_sendTest: typeof sendTest;\n  type emailMarketingV1Campaign_universal_d_SendTestOptions = SendTestOptions;\n  const emailMarketingV1Campaign_universal_d_pauseScheduling: typeof pauseScheduling;\n  const emailMarketingV1Campaign_universal_d_reschedule: typeof reschedule;\n  const emailMarketingV1Campaign_universal_d_archiveCampaign: typeof archiveCampaign;\n  type emailMarketingV1Campaign_universal_d_ArchiveCampaignOptions = ArchiveCampaignOptions;\n  const emailMarketingV1Campaign_universal_d_unarchiveCampaign: typeof unarchiveCampaign;\n  type emailMarketingV1Campaign_universal_d_UnarchiveCampaignOptions = UnarchiveCampaignOptions;\n  const emailMarketingV1Campaign_universal_d_updateTitle: typeof updateTitle;\n  type emailMarketingV1Campaign_universal_d_UpdateTitleOptions = UpdateTitleOptions;\n  const emailMarketingV1Campaign_universal_d_deleteCampaign: typeof deleteCampaign;\n  type emailMarketingV1Campaign_universal_d_DeleteCampaignOptions = DeleteCampaignOptions;\n  const emailMarketingV1Campaign_universal_d_reuseCampaign: typeof reuseCampaign;\n  type emailMarketingV1Campaign_universal_d_ReuseCampaignOptions = ReuseCampaignOptions;\n  const emailMarketingV1Campaign_universal_d_preview: typeof preview;\n  type emailMarketingV1Campaign_universal_d_PreviewOptions = PreviewOptions;\n  const emailMarketingV1Campaign_universal_d_getComposer: typeof getComposer;\n  type emailMarketingV1Campaign_universal_d_GetComposerOptions = GetComposerOptions;\n  const emailMarketingV1Campaign_universal_d_updateComposer: typeof updateComposer;\n  type emailMarketingV1Campaign_universal_d_UpdateComposerOptions = UpdateComposerOptions;\n  const emailMarketingV1Campaign_universal_d_create: typeof create;\n  type emailMarketingV1Campaign_universal_d_CreateOptions = CreateOptions;\n  const emailMarketingV1Campaign_universal_d_resendToNonOpeners: typeof resendToNonOpeners;\n  type emailMarketingV1Campaign_universal_d_ResendToNonOpenersOptions = ResendToNonOpenersOptions;\n  const emailMarketingV1Campaign_universal_d_getAudience: typeof getAudience;\n  const emailMarketingV1Campaign_universal_d_identifySenderAddress: typeof identifySenderAddress;\n  namespace emailMarketingV1Campaign_universal_d {\n    export {\n      emailMarketingV1Campaign_universal_d_Campaign as Campaign,\n      emailMarketingV1Campaign_universal_d_CampaignEditorTypeEnum as CampaignEditorTypeEnum,\n      emailMarketingV1Campaign_universal_d_CampaignStatusEnum as CampaignStatusEnum,\n      emailMarketingV1Campaign_universal_d_CampaignVisibilityStatusEnum as CampaignVisibilityStatusEnum,\n      emailMarketingV1Campaign_universal_d_Enum as Enum,\n      emailMarketingV1Campaign_universal_d_PublishingData as PublishingData,\n      emailMarketingV1Campaign_universal_d_CampaignStatistics as CampaignStatistics,\n      emailMarketingV1Campaign_universal_d_LandingPageStatistics as LandingPageStatistics,\n      emailMarketingV1Campaign_universal_d_DistributionStatistics as DistributionStatistics,\n      emailMarketingV1Campaign_universal_d_TotalStatistics as TotalStatistics,\n      emailMarketingV1Campaign_universal_d_RejectionData as RejectionData,\n      emailMarketingV1Campaign_universal_d_RejectionReasonEnum as RejectionReasonEnum,\n      emailMarketingV1Campaign_universal_d_CampaignSendingStateEnum as CampaignSendingStateEnum,\n      emailMarketingV1Campaign_universal_d_CampaignTypeEnum as CampaignTypeEnum,\n      emailMarketingV1Campaign_universal_d_EstimateFilterSizeRequest as EstimateFilterSizeRequest,\n      emailMarketingV1Campaign_universal_d_EstimateFilterSizeResponse as EstimateFilterSizeResponse,\n      emailMarketingV1Campaign_universal_d_EstimateAudienceSizeRequest as EstimateAudienceSizeRequest,\n      emailMarketingV1Campaign_universal_d_EstimateAudienceSizeResponse as EstimateAudienceSizeResponse,\n      emailMarketingV1Campaign_universal_d_ReconcileContactRequest as ReconcileContactRequest,\n      emailMarketingV1Campaign_universal_d_ReconcileContactResponse as ReconcileContactResponse,\n      emailMarketingV1Campaign_universal_d_Contact as Contact,\n      emailMarketingV1Campaign_universal_d_SearchContactsRequest as SearchContactsRequest,\n      emailMarketingV1Campaign_universal_d_SearchContactsResponse as SearchContactsResponse,\n      emailMarketingV1Campaign_universal_d_GetLabelsRequest as GetLabelsRequest,\n      emailMarketingV1Campaign_universal_d_GetLabelsResponse as GetLabelsResponse,\n      emailMarketingV1Campaign_universal_d_Label as Label,\n      emailMarketingV1Campaign_universal_d_SubscribeFromLandingPageRequest as SubscribeFromLandingPageRequest,\n      emailMarketingV1Campaign_universal_d_SubscribeFromLandingPageResponse as SubscribeFromLandingPageResponse,\n      emailMarketingV1Campaign_universal_d_GetPlaceholderKeysRequest as GetPlaceholderKeysRequest,\n      emailMarketingV1Campaign_universal_d_GetPlaceholderKeysResponse as GetPlaceholderKeysResponse,\n      emailMarketingV1Campaign_universal_d_GetDefaultComponentsRequest as GetDefaultComponentsRequest,\n      emailMarketingV1Campaign_universal_d_GetDefaultComponentsResponse as GetDefaultComponentsResponse,\n      emailMarketingV1Campaign_universal_d_ValidateLinkRequest as ValidateLinkRequest,\n      emailMarketingV1Campaign_universal_d_ValidateLinkResponse as ValidateLinkResponse,\n      emailMarketingV1Campaign_universal_d_ValidateHtmlLinksRequest as ValidateHtmlLinksRequest,\n      emailMarketingV1Campaign_universal_d_ValidateHtmlLinksResponse as ValidateHtmlLinksResponse,\n      emailMarketingV1Campaign_universal_d_ListStatisticsRequest as ListStatisticsRequest,\n      emailMarketingV1Campaign_universal_d_ListStatisticsResponse as ListStatisticsResponse,\n      emailMarketingV1Campaign_universal_d_CampaignStatisticsContainer as CampaignStatisticsContainer,\n      emailMarketingV1Campaign_universal_d_ListRecipientsRequest as ListRecipientsRequest,\n      emailMarketingV1Campaign_universal_d_RecipientsActivityEnum as RecipientsActivityEnum,\n      emailMarketingV1Campaign_universal_d_CursorPaging as CursorPaging,\n      emailMarketingV1Campaign_universal_d_ListRecipientsResponse as ListRecipientsResponse,\n      emailMarketingV1Campaign_universal_d_CampaignRecipientDetails as CampaignRecipientDetails,\n      emailMarketingV1Campaign_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      emailMarketingV1Campaign_universal_d_Cursors as Cursors,\n      emailMarketingV1Campaign_universal_d_GetCampaignMappingRequest as GetCampaignMappingRequest,\n      emailMarketingV1Campaign_universal_d_GetCampaignMappingResponse as GetCampaignMappingResponse,\n      emailMarketingV1Campaign_universal_d_GetPingCampaignMappingRequest as GetPingCampaignMappingRequest,\n      emailMarketingV1Campaign_universal_d_GetPingCampaignMappingResponse as GetPingCampaignMappingResponse,\n      emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesRequest as QueryAutomationTemplatesRequest,\n      emailMarketingV1Campaign_universal_d_Query as Query,\n      emailMarketingV1Campaign_universal_d_Sorting as Sorting,\n      emailMarketingV1Campaign_universal_d_SortOrder as SortOrder,\n      emailMarketingV1Campaign_universal_d_Paging as Paging,\n      emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesResponse as QueryAutomationTemplatesResponse,\n      emailMarketingV1Campaign_universal_d_AutomationTemplateContainer as AutomationTemplateContainer,\n      emailMarketingV1Campaign_universal_d_AutomationTemplate as AutomationTemplate,\n      emailMarketingV1Campaign_universal_d_RuleConfiguration as RuleConfiguration,\n      emailMarketingV1Campaign_universal_d_ConditionConfiguration as ConditionConfiguration,\n      emailMarketingV1Campaign_universal_d_Operator as Operator,\n      emailMarketingV1Campaign_universal_d_TriggerConfiguration as TriggerConfiguration,\n      emailMarketingV1Campaign_universal_d_ActionConfiguration as ActionConfiguration,\n      emailMarketingV1Campaign_universal_d_RuleStatus as RuleStatus,\n      emailMarketingV1Campaign_universal_d_ActivationCycle as ActivationCycle,\n      emailMarketingV1Campaign_universal_d_RuleMetadata as RuleMetadata,\n      emailMarketingV1Campaign_universal_d_VersionType as VersionType,\n      emailMarketingV1Campaign_universal_d_TemplateType as TemplateType,\n      emailMarketingV1Campaign_universal_d_Precondition as Precondition,\n      emailMarketingV1Campaign_universal_d_PreconditionType as PreconditionType,\n      emailMarketingV1Campaign_universal_d_TemplateState as TemplateState,\n      emailMarketingV1Campaign_universal_d_Translation as Translation,\n      emailMarketingV1Campaign_universal_d_TranslationState as TranslationState,\n      emailMarketingV1Campaign_universal_d_AutomationTemplateEnrichmentData as AutomationTemplateEnrichmentData,\n      emailMarketingV1Campaign_universal_d_QueryMetadata as QueryMetadata,\n      emailMarketingV1Campaign_universal_d_QueryAppTemplatesRequest as QueryAppTemplatesRequest,\n      emailMarketingV1Campaign_universal_d_TemplateQueryType as TemplateQueryType,\n      emailMarketingV1Campaign_universal_d_QueryAppTemplatesResponse as QueryAppTemplatesResponse,\n      emailMarketingV1Campaign_universal_d_TemplateData as TemplateData,\n      emailMarketingV1Campaign_universal_d_CampaignLookupRequest as CampaignLookupRequest,\n      emailMarketingV1Campaign_universal_d_CampaignLookupResponse as CampaignLookupResponse,\n      emailMarketingV1Campaign_universal_d_CampaignLookupBatchRequest as CampaignLookupBatchRequest,\n      emailMarketingV1Campaign_universal_d_CampaignLookupBatchResponse as CampaignLookupBatchResponse,\n      emailMarketingV1Campaign_universal_d_UpsertTranslationRequest as UpsertTranslationRequest,\n      emailMarketingV1Campaign_universal_d_Composer as Composer,\n      emailMarketingV1Campaign_universal_d_DefaultValues as DefaultValues,\n      emailMarketingV1Campaign_universal_d_UpsertTranslationResponse as UpsertTranslationResponse,\n      emailMarketingV1Campaign_universal_d_GetUsedPlaceholderKeysRequest as GetUsedPlaceholderKeysRequest,\n      emailMarketingV1Campaign_universal_d_GetUsedPlaceholderKeysResponse as GetUsedPlaceholderKeysResponse,\n      emailMarketingV1Campaign_universal_d_LookupCampaignMappingRequest as LookupCampaignMappingRequest,\n      emailMarketingV1Campaign_universal_d_LookupCampaignMappingResponse as LookupCampaignMappingResponse,\n      emailMarketingV1Campaign_universal_d_GetCampaignRequest as GetCampaignRequest,\n      emailMarketingV1Campaign_universal_d_GetCampaignResponse as GetCampaignResponse,\n      emailMarketingV1Campaign_universal_d_ListCampaignsRequest as ListCampaignsRequest,\n      emailMarketingV1Campaign_universal_d_ListCampaignsResponse as ListCampaignsResponse,\n      emailMarketingV1Campaign_universal_d_CountCampaignsRequest as CountCampaignsRequest,\n      emailMarketingV1Campaign_universal_d_CountCampaignsResponse as CountCampaignsResponse,\n      emailMarketingV1Campaign_universal_d_CreateFromTemplateRequest as CreateFromTemplateRequest,\n      emailMarketingV1Campaign_universal_d_CreateFromTemplateResponse as CreateFromTemplateResponse,\n      emailMarketingV1Campaign_universal_d_CreateUserTemplateRequest as CreateUserTemplateRequest,\n      emailMarketingV1Campaign_universal_d_CreateUserTemplateResponse as CreateUserTemplateResponse,\n      emailMarketingV1Campaign_universal_d_CreateFromUserTemplateRequest as CreateFromUserTemplateRequest,\n      emailMarketingV1Campaign_universal_d_CreateFromUserTemplateResponse as CreateFromUserTemplateResponse,\n      emailMarketingV1Campaign_universal_d_PublishCampaignRequest as PublishCampaignRequest,\n      emailMarketingV1Campaign_universal_d_EmailDistributionOptions as EmailDistributionOptions,\n      emailMarketingV1Campaign_universal_d_PublishCampaignResponse as PublishCampaignResponse,\n      emailMarketingV1Campaign_universal_d_Rejected as Rejected,\n      emailMarketingV1Campaign_universal_d_Published as Published,\n      emailMarketingV1Campaign_universal_d_Terminated as Terminated,\n      emailMarketingV1Campaign_universal_d_Distributed as Distributed,\n      emailMarketingV1Campaign_universal_d_EmailActivityUpdated as EmailActivityUpdated,\n      emailMarketingV1Campaign_universal_d_EmailActivityUpdatedEventTypeOneOf as EmailActivityUpdatedEventTypeOneOf,\n      emailMarketingV1Campaign_universal_d_ActivityType as ActivityType,\n      emailMarketingV1Campaign_universal_d_Click as Click,\n      emailMarketingV1Campaign_universal_d_Open as Open,\n      emailMarketingV1Campaign_universal_d_SoftBounce as SoftBounce,\n      emailMarketingV1Campaign_universal_d_HardBounce as HardBounce,\n      emailMarketingV1Campaign_universal_d_Scheduled as Scheduled,\n      emailMarketingV1Campaign_universal_d_SendTestRequest as SendTestRequest,\n      emailMarketingV1Campaign_universal_d_PlaceholderContent as PlaceholderContent,\n      emailMarketingV1Campaign_universal_d_PlaceholderContentValueOneOf as PlaceholderContentValueOneOf,\n      emailMarketingV1Campaign_universal_d_PlainText as PlainText,\n      emailMarketingV1Campaign_universal_d_Html as Html,\n      emailMarketingV1Campaign_universal_d_Money as Money,\n      emailMarketingV1Campaign_universal_d_DateTime as DateTime,\n      emailMarketingV1Campaign_universal_d_Map as Map,\n      emailMarketingV1Campaign_universal_d_Array as Array,\n      emailMarketingV1Campaign_universal_d_PlaceholderContentEnum as PlaceholderContentEnum,\n      emailMarketingV1Campaign_universal_d_Attachment as Attachment,\n      emailMarketingV1Campaign_universal_d_Integer as Integer,\n      emailMarketingV1Campaign_universal_d_Decimal as Decimal,\n      emailMarketingV1Campaign_universal_d_SendTestResponse as SendTestResponse,\n      emailMarketingV1Campaign_universal_d_PauseSchedulingRequest as PauseSchedulingRequest,\n      emailMarketingV1Campaign_universal_d_PauseSchedulingResponse as PauseSchedulingResponse,\n      emailMarketingV1Campaign_universal_d_Paused as Paused,\n      emailMarketingV1Campaign_universal_d_RescheduleRequest as RescheduleRequest,\n      emailMarketingV1Campaign_universal_d_RescheduleResponse as RescheduleResponse,\n      emailMarketingV1Campaign_universal_d_ArchiveCampaignRequest as ArchiveCampaignRequest,\n      emailMarketingV1Campaign_universal_d_ArchiveCampaignResponse as ArchiveCampaignResponse,\n      emailMarketingV1Campaign_universal_d_Archived as Archived,\n      emailMarketingV1Campaign_universal_d_UnarchiveCampaignRequest as UnarchiveCampaignRequest,\n      emailMarketingV1Campaign_universal_d_UnarchiveCampaignResponse as UnarchiveCampaignResponse,\n      emailMarketingV1Campaign_universal_d_Unarchived as Unarchived,\n      emailMarketingV1Campaign_universal_d_UpdateTitleRequest as UpdateTitleRequest,\n      emailMarketingV1Campaign_universal_d_UpdateTitleResponse as UpdateTitleResponse,\n      emailMarketingV1Campaign_universal_d_DeleteCampaignRequest as DeleteCampaignRequest,\n      emailMarketingV1Campaign_universal_d_DeleteCampaignResponse as DeleteCampaignResponse,\n      emailMarketingV1Campaign_universal_d_ReuseCampaignRequest as ReuseCampaignRequest,\n      emailMarketingV1Campaign_universal_d_ReuseCampaignResponse as ReuseCampaignResponse,\n      emailMarketingV1Campaign_universal_d_PreviewCampaignRequest as PreviewCampaignRequest,\n      emailMarketingV1Campaign_universal_d_PreviewCampaignResponse as PreviewCampaignResponse,\n      emailMarketingV1Campaign_universal_d_GetComposerRequest as GetComposerRequest,\n      emailMarketingV1Campaign_universal_d_GetComposerResponse as GetComposerResponse,\n      emailMarketingV1Campaign_universal_d_UpdateComposerRequest as UpdateComposerRequest,\n      emailMarketingV1Campaign_universal_d_CampaignEditorType as CampaignEditorType,\n      emailMarketingV1Campaign_universal_d_UpdateComposerResponse as UpdateComposerResponse,\n      emailMarketingV1Campaign_universal_d_CreateCampaignRequest as CreateCampaignRequest,\n      emailMarketingV1Campaign_universal_d_CreateCampaignResponse as CreateCampaignResponse,\n      emailMarketingV1Campaign_universal_d_ResendToNonOpenersRequest as ResendToNonOpenersRequest,\n      emailMarketingV1Campaign_universal_d_ResendToNonOpenersResponse as ResendToNonOpenersResponse,\n      emailMarketingV1Campaign_universal_d_GetAudienceRequest as GetAudienceRequest,\n      emailMarketingV1Campaign_universal_d_GetAudienceResponse as GetAudienceResponse,\n      emailMarketingV1Campaign_universal_d_CampaignAudience as CampaignAudience,\n      emailMarketingV1Campaign_universal_d_IdentifySenderAddressRequest as IdentifySenderAddressRequest,\n      emailMarketingV1Campaign_universal_d_IdentifySenderAddressResponse as IdentifySenderAddressResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      emailMarketingV1Campaign_universal_d_estimateFilterSize as estimateFilterSize,\n      emailMarketingV1Campaign_universal_d_EstimateFilterSizeOptions as EstimateFilterSizeOptions,\n      emailMarketingV1Campaign_universal_d_estimateAudienceSize as estimateAudienceSize,\n      emailMarketingV1Campaign_universal_d_EstimateAudienceSizeOptions as EstimateAudienceSizeOptions,\n      emailMarketingV1Campaign_universal_d_reconcileContact as reconcileContact,\n      emailMarketingV1Campaign_universal_d_searchContacts as searchContacts,\n      emailMarketingV1Campaign_universal_d_SearchContactsOptions as SearchContactsOptions,\n      emailMarketingV1Campaign_universal_d_getLabels as getLabels,\n      emailMarketingV1Campaign_universal_d_GetLabelsOptions as GetLabelsOptions,\n      emailMarketingV1Campaign_universal_d_subscribeFromLandingPage as subscribeFromLandingPage,\n      emailMarketingV1Campaign_universal_d_SubscribeFromLandingPageOptions as SubscribeFromLandingPageOptions,\n      emailMarketingV1Campaign_universal_d_getPlaceholderKeys as getPlaceholderKeys,\n      emailMarketingV1Campaign_universal_d_getDefaultComponents as getDefaultComponents,\n      emailMarketingV1Campaign_universal_d_validateLink as validateLink,\n      emailMarketingV1Campaign_universal_d_validateHtmlLinks as validateHtmlLinks,\n      emailMarketingV1Campaign_universal_d_listStatistics as listStatistics,\n      emailMarketingV1Campaign_universal_d_listRecipients as listRecipients,\n      emailMarketingV1Campaign_universal_d_ListRecipientsOptions as ListRecipientsOptions,\n      emailMarketingV1Campaign_universal_d_getCampaignMapping as getCampaignMapping,\n      emailMarketingV1Campaign_universal_d_GetCampaignMappingIdentifiers as GetCampaignMappingIdentifiers,\n      emailMarketingV1Campaign_universal_d_getPingCampaignMapping as getPingCampaignMapping,\n      emailMarketingV1Campaign_universal_d_GetPingCampaignMappingIdentifiers as GetPingCampaignMappingIdentifiers,\n      emailMarketingV1Campaign_universal_d_GetPingCampaignMappingOptions as GetPingCampaignMappingOptions,\n      emailMarketingV1Campaign_universal_d_queryAutomationTemplates as queryAutomationTemplates,\n      emailMarketingV1Campaign_universal_d_QueryAutomationTemplatesOptions as QueryAutomationTemplatesOptions,\n      emailMarketingV1Campaign_universal_d_queryAppTemplates as queryAppTemplates,\n      emailMarketingV1Campaign_universal_d_QueryAppTemplatesOptions as QueryAppTemplatesOptions,\n      emailMarketingV1Campaign_universal_d_campaignLookup as campaignLookup,\n      emailMarketingV1Campaign_universal_d_campaignLookupBatch as campaignLookupBatch,\n      emailMarketingV1Campaign_universal_d_CampaignLookupBatchOptions as CampaignLookupBatchOptions,\n      emailMarketingV1Campaign_universal_d_upsertTranslation as upsertTranslation,\n      emailMarketingV1Campaign_universal_d_UpsertTranslationOptions as UpsertTranslationOptions,\n      emailMarketingV1Campaign_universal_d_getUsedPlaceholderKeys as getUsedPlaceholderKeys,\n      emailMarketingV1Campaign_universal_d_getCampaign as getCampaign,\n      emailMarketingV1Campaign_universal_d_GetCampaignOptions as GetCampaignOptions,\n      emailMarketingV1Campaign_universal_d_listCampaigns as listCampaigns,\n      emailMarketingV1Campaign_universal_d_ListCampaignsOptions as ListCampaignsOptions,\n      emailMarketingV1Campaign_universal_d_count as count,\n      emailMarketingV1Campaign_universal_d_CountOptions as CountOptions,\n      emailMarketingV1Campaign_universal_d_createFromTemplate as createFromTemplate,\n      emailMarketingV1Campaign_universal_d_CreateFromTemplateOptions as CreateFromTemplateOptions,\n      emailMarketingV1Campaign_universal_d_createUserTemplate as createUserTemplate,\n      emailMarketingV1Campaign_universal_d_CreateUserTemplateOptions as CreateUserTemplateOptions,\n      emailMarketingV1Campaign_universal_d_createFromUserTemplate as createFromUserTemplate,\n      emailMarketingV1Campaign_universal_d_publishCampaign as publishCampaign,\n      emailMarketingV1Campaign_universal_d_PublishCampaignOptions as PublishCampaignOptions,\n      emailMarketingV1Campaign_universal_d_sendTest as sendTest,\n      emailMarketingV1Campaign_universal_d_SendTestOptions as SendTestOptions,\n      emailMarketingV1Campaign_universal_d_pauseScheduling as pauseScheduling,\n      emailMarketingV1Campaign_universal_d_reschedule as reschedule,\n      emailMarketingV1Campaign_universal_d_archiveCampaign as archiveCampaign,\n      emailMarketingV1Campaign_universal_d_ArchiveCampaignOptions as ArchiveCampaignOptions,\n      emailMarketingV1Campaign_universal_d_unarchiveCampaign as unarchiveCampaign,\n      emailMarketingV1Campaign_universal_d_UnarchiveCampaignOptions as UnarchiveCampaignOptions,\n      emailMarketingV1Campaign_universal_d_updateTitle as updateTitle,\n      emailMarketingV1Campaign_universal_d_UpdateTitleOptions as UpdateTitleOptions,\n      emailMarketingV1Campaign_universal_d_deleteCampaign as deleteCampaign,\n      emailMarketingV1Campaign_universal_d_DeleteCampaignOptions as DeleteCampaignOptions,\n      emailMarketingV1Campaign_universal_d_reuseCampaign as reuseCampaign,\n      emailMarketingV1Campaign_universal_d_ReuseCampaignOptions as ReuseCampaignOptions,\n      emailMarketingV1Campaign_universal_d_preview as preview,\n      emailMarketingV1Campaign_universal_d_PreviewOptions as PreviewOptions,\n      emailMarketingV1Campaign_universal_d_getComposer as getComposer,\n      emailMarketingV1Campaign_universal_d_GetComposerOptions as GetComposerOptions,\n      emailMarketingV1Campaign_universal_d_updateComposer as updateComposer,\n      emailMarketingV1Campaign_universal_d_UpdateComposerOptions as UpdateComposerOptions,\n      emailMarketingV1Campaign_universal_d_create as create,\n      emailMarketingV1Campaign_universal_d_CreateOptions as CreateOptions,\n      emailMarketingV1Campaign_universal_d_resendToNonOpeners as resendToNonOpeners,\n      emailMarketingV1Campaign_universal_d_ResendToNonOpenersOptions as ResendToNonOpenersOptions,\n      emailMarketingV1Campaign_universal_d_getAudience as getAudience,\n      emailMarketingV1Campaign_universal_d_identifySenderAddress as identifySenderAddress,\n    };\n  }\n  \n  /**\n   * A sender details object contains the information that is displayed as the email sender's name and email address.\n   * If sending email campaigns with a public email domain (e.g. @gmail.com or @yahoo.com), the email address will not\n   * be displayed in the 'from' header. Instead, the email address is replaced with @wixemails.com (or @wixsitemail.com for free users),\n   * and the sender's email is placed in the 'reply-to' header.\n   *\n   * If sending email campaigns with an email from a Wix managed domain, that email will be displayed in the 'from' header.\n   * If sending with an email from a custom domain that is not managed by Wix, a line will be inserted that states that the\n   * email was sent via wixemails.com.\n   */\n  interface SenderDetails {\n      /** Display name of sender. */\n      fromName?: string;\n      /** Email address of sender. */\n      fromEmail?: string;\n      /**\n       * Date and time the sender's email address was verified.\n       * @readonly\n       */\n      dateVerified?: Date | null;\n  }\n  interface GetSenderDetailsRequest {\n  }\n  interface GetSenderDetailsResponse {\n      /** Current sender details. */\n      senderDetails?: SenderDetails;\n  }\n  interface UpdateSenderDetailsRequest {\n      /** New sender details. */\n      senderDetails: SenderDetails;\n  }\n  interface UpdateSenderDetailsResponse {\n      /** Whether email address needs verification. */\n      verificationNeeded?: boolean;\n  }\n  interface VerifySenderEmailRequest {\n      /** Verification code. */\n      verificationCode: string;\n  }\n  interface VerifySenderEmailResponse {\n  }\n  interface ResolveActualFromAddressRequest {\n      /** User's provided address from which to send email marketing campaign. */\n      fromAddress: string;\n  }\n  interface ResolveActualFromAddressResponse {\n      /** Actual from-address that will be used for email distribution. */\n      actualFromAddress?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves sender details.\n   *\n   * The sender details include the information displayed as the email sender's name and email address.\n   *\n   * + If you send an email campaign with a public email domain (e.g. @gmail.com or @yahoo.com), the email address will not be displayed in the 'from' header. Instead, the email address is replaced with @wixemails.com (or @wixsitemail.com for free users), and the sender's email is placed in the 'reply-to' header.\n   *\n   * + If you send an email campaign with an email from a Wix managed domain, that email will be displayed in the 'from' header.\n   *\n   * + If you send an email from a custom domain that is not managed by Wix, a line will be inserted that states that the email was sent via wixemails.com.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   * @deprecated\n   * @replacedBy wix.promote.v1.SenderDetailsService.GetDefaultSenderDetails\n   * @targetRemovalDate 2025-04-01\n   */\n  function getSenderDetails(): Promise<GetSenderDetailsResponse>;\n  /**\n   * Updates sender details.\n   *\n   * If the `fromEmail` is changed, a verification code will be sent to the new email address.\n   *\n   * If verification is needed, a verification email will be sent to the user, and the returned `verificationNeeded` value will be `true`.\n   *\n   * @param senderDetails - New sender details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField senderDetails\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   * @deprecated\n   * @replacedBy wix.promote.v1.SenderEmailService.GetOrCreateSenderEmail + wix.promote.v1.SenderEmailService.SendVerificationCode\n   * @targetRemovalDate 2025-04-01\n   */\n  function updateSenderDetails(senderDetails: SenderDetails): Promise<UpdateSenderDetailsResponse>;\n  /**\n   * Verifies the sender's email using a verification code sent to the user's email address upon update.\n   * @param verificationCode - Verification code.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField verificationCode\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   * @deprecated\n   * @replacedBy wix.promote.v1.SenderEmailService.VerifySenderEmail + wix.promote.v1.SenderDetailsService.UpdateSenderDetails\n   * @targetRemovalDate 2025-04-01\n   */\n  function verifyEmail(verificationCode: string): Promise<void>;\n  /**\n   * Checks if the sender's email address will be used as from-address or replaced (not related to current sender details).\n   * @param fromAddress - User's provided address from which to send email marketing campaign.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fromAddress\n   * @permissionId Shoutout.Manage\n   * @adminMethod\n   */\n  function resolveActualFromAddress(fromAddress: string): Promise<ResolveActualFromAddressResponse>;\n  \n  type emailMarketingV1SenderDetails_universal_d_SenderDetails = SenderDetails;\n  type emailMarketingV1SenderDetails_universal_d_GetSenderDetailsRequest = GetSenderDetailsRequest;\n  type emailMarketingV1SenderDetails_universal_d_GetSenderDetailsResponse = GetSenderDetailsResponse;\n  type emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsRequest = UpdateSenderDetailsRequest;\n  type emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsResponse = UpdateSenderDetailsResponse;\n  type emailMarketingV1SenderDetails_universal_d_VerifySenderEmailRequest = VerifySenderEmailRequest;\n  type emailMarketingV1SenderDetails_universal_d_VerifySenderEmailResponse = VerifySenderEmailResponse;\n  type emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressRequest = ResolveActualFromAddressRequest;\n  type emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressResponse = ResolveActualFromAddressResponse;\n  type emailMarketingV1SenderDetails_universal_d_DomainEvent = DomainEvent;\n  type emailMarketingV1SenderDetails_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type emailMarketingV1SenderDetails_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type emailMarketingV1SenderDetails_universal_d_RestoreInfo = RestoreInfo;\n  type emailMarketingV1SenderDetails_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type emailMarketingV1SenderDetails_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type emailMarketingV1SenderDetails_universal_d_ActionEvent = ActionEvent;\n  type emailMarketingV1SenderDetails_universal_d_MessageEnvelope = MessageEnvelope;\n  type emailMarketingV1SenderDetails_universal_d_IdentificationData = IdentificationData;\n  type emailMarketingV1SenderDetails_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type emailMarketingV1SenderDetails_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const emailMarketingV1SenderDetails_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const emailMarketingV1SenderDetails_universal_d_getSenderDetails: typeof getSenderDetails;\n  const emailMarketingV1SenderDetails_universal_d_updateSenderDetails: typeof updateSenderDetails;\n  const emailMarketingV1SenderDetails_universal_d_verifyEmail: typeof verifyEmail;\n  const emailMarketingV1SenderDetails_universal_d_resolveActualFromAddress: typeof resolveActualFromAddress;\n  namespace emailMarketingV1SenderDetails_universal_d {\n    export {\n      emailMarketingV1SenderDetails_universal_d_SenderDetails as SenderDetails,\n      emailMarketingV1SenderDetails_universal_d_GetSenderDetailsRequest as GetSenderDetailsRequest,\n      emailMarketingV1SenderDetails_universal_d_GetSenderDetailsResponse as GetSenderDetailsResponse,\n      emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsRequest as UpdateSenderDetailsRequest,\n      emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsResponse as UpdateSenderDetailsResponse,\n      emailMarketingV1SenderDetails_universal_d_VerifySenderEmailRequest as VerifySenderEmailRequest,\n      emailMarketingV1SenderDetails_universal_d_VerifySenderEmailResponse as VerifySenderEmailResponse,\n      emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressRequest as ResolveActualFromAddressRequest,\n      emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressResponse as ResolveActualFromAddressResponse,\n      emailMarketingV1SenderDetails_universal_d_DomainEvent as DomainEvent,\n      emailMarketingV1SenderDetails_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      emailMarketingV1SenderDetails_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      emailMarketingV1SenderDetails_universal_d_RestoreInfo as RestoreInfo,\n      emailMarketingV1SenderDetails_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      emailMarketingV1SenderDetails_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      emailMarketingV1SenderDetails_universal_d_ActionEvent as ActionEvent,\n      emailMarketingV1SenderDetails_universal_d_MessageEnvelope as MessageEnvelope,\n      emailMarketingV1SenderDetails_universal_d_IdentificationData as IdentificationData,\n      emailMarketingV1SenderDetails_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      emailMarketingV1SenderDetails_universal_d_WebhookIdentityType as WebhookIdentityType,\n      emailMarketingV1SenderDetails_universal_d_getSenderDetails as getSenderDetails,\n      emailMarketingV1SenderDetails_universal_d_updateSenderDetails as updateSenderDetails,\n      emailMarketingV1SenderDetails_universal_d_verifyEmail as verifyEmail,\n      emailMarketingV1SenderDetails_universal_d_resolveActualFromAddress as resolveActualFromAddress,\n    };\n  }\n  \n  export { emailMarketingV1AccountDetails_universal_d as accountDetails, emailMarketingV1Campaign_universal_d as campaigns, emailMarketingV1SenderDetails_universal_d as senderDetails };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-bookings.v2.d.ts",
      "content": "declare module \"wix-bookings.v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * The `TimeSlot` object represents the availability information\n   * for an `Appointment` service's specific slot, including:\n   *\n   * 1. Whether the slot is bookable for the given service?\n   *\n   * 2. In what location the service is available for this slot?\n   *\n   * 3. Which available resources can provide the service for this slot?\n   *\n   * 4. Does booking the slot for the service violates any of the service booking policies?\n   *\n   * 5. What is the total capacity and remaining capacity of the service at the time of the calculation of the `TimeSlot`?\n   *\n   * > __Note:__\n   * > When the `TimeSlot` has a non empty `NestedTimeSlots`, it represents the availability information\n   * > for a given list of `Appointment` services within a specific time slot.\n   */\n  interface TimeSlot$4 {\n      /**\n       * Service ID.\n       *\n       * > Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n       * > Instead, each nested time slot has its own serviceId.\n       */\n      serviceId?: string | null;\n      /**\n       * Local start date of the time slot in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate?: string | null;\n      /**\n       * Local end date of the time slot in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate?: string | null;\n      /**\n       * Whether the slot is bookable according to the service's booking policies.\n       *\n       * If booking this time slot does not violates any of the service's booking policies,\n       * the returned value is `true`. Otherwise, returns `false`.\n       */\n      bookable?: boolean | null;\n      /** The geographic location of the slot. */\n      location?: Location$b;\n      /**\n       * Returned only for event.\n       * @internal\n       */\n      eventInfo?: EventInfo$4;\n      /** Total number of spots for the slot. */\n      totalCapacity?: number | null;\n      /**\n       * Remaining number of spots for the slot.\n       * For example, for an appointment service with total capacity of 1 spot and one booked spot, the remaining capacity will be 0.\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Indicators for booking policy violations for the slot.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$5;\n      /**\n       * List of `AvailableResources` for the time slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       *\n       * > Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n       * > Instead, each nested time slot has its own available resources.\n       */\n      availableResources?: AvailableResources$5[];\n      /**\n       * > Nested time slots.\n       * > Returned only from `MultiServiceAvailabilityTimeSlots` API calls.\n       */\n      nestedTimeSlots?: NestedTimeSlot$4[];\n  }\n  interface Location$b {\n      /** Business Location ID. Present only if the location is a business location. */\n      _id?: string | null;\n      /** The location name. */\n      name?: string | null;\n      /** A string representation for the full address of the location. */\n      formattedAddress?: string | null;\n      /**\n       * The type of location:\n       * - `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n       * - `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.\n       * - `CUSTOMER`: The location is determined by the customer and is not set up beforehand.\n       */\n      locationType?: LocationType$b;\n  }\n  enum LocationType$b {\n      UNKNOWN_LOCATION_TYPE = \"UNKNOWN_LOCATION_TYPE\",\n      /** A business location, either the default business address, or locations defined for the business by the Business Info. */\n      BUSINESS = \"BUSINESS\",\n      /** The location is unique to this service and isn't defined as one of the business locations. */\n      CUSTOM = \"CUSTOM\",\n      /** The location can be determined by the customer and is not set up beforehand. */\n      CUSTOMER = \"CUSTOMER\"\n  }\n  /** relevant for event based slots, and not for availability based slots */\n  interface EventInfo$4 {\n      /**\n       * TODO: format - might not be a guid?\n       * @internal\n       */\n      eventId?: string | null;\n      /** @internal */\n      waitingList?: WaitingList$5;\n  }\n  interface WaitingList$5 {\n      /** Total number of spots in this wait list. */\n      totalCapacity?: number | null;\n      /**\n       * Number of remaining spots for this wait list.\n       * For example, a Yoga event with 10 waitList spots and 3 registered\n       * on the waitList has 10 `total_capacity` and 7 `remaining_capacity`.\n       */\n      remainingCapacity?: number | null;\n  }\n  interface BookingPolicyViolations$5 {\n      /** Bookings policy violation. Too early to book this slot. */\n      tooEarlyToBook?: boolean | null;\n      /** Bookings policy violation. Too late to book this slot. */\n      tooLateToBook?: boolean | null;\n      /** Bookings policy violation. Online booking is disabled for the `TimeSlot` service. */\n      bookOnlineDisabled?: boolean | null;\n  }\n  interface AvailableResources$5 {\n      /** Resource type ID. */\n      resourceTypeId?: string | null;\n      /**\n       * Available resources for the time slot.\n       *\n       * + When returned from `ListAvailabilityTimeSlots`, empty by default.\n       * + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * contains __up__ to 10 available resources out of those provided.\n       *\n       * + When returned from `GetAvailabilityTimeSlots`, contains all available resources by default.\n       * + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * contains all of the available resources out of those provided.\n       *\n       *\n       * > + When returned from `ListMultiServiceAvailabilityTimeSlots`, empty by default.\n       * > + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * > contains __up__ to 10 available resources out of those provided.\n       *\n       * > + When returned from `GetMultiServiceAvailabilityTimeSlots`, contains all available resources by default.\n       * > + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * > contains all of the available resources out of those provided.\n       */\n      resources?: Resource$8[];\n      /**\n       * The required number of resources of this type in order to book the service.\n       * For example, a slot for a service that provides a double massage\n       * requires two resources of type `Staff Member` and one resource of type `Room`.\n       * @internal\n       */\n      numberOfResourcesRequired?: number | null;\n      /**\n       * Whether there are more available resources for the slot that are not listed in `resources` due to size limitations.\n       * @readonly\n       */\n      hasMoreAvailableResources?: boolean | null;\n  }\n  interface Resource$8 {\n      /** Resource ID. */\n      _id?: string;\n      /** Resource name. */\n      name?: string | null;\n  }\n  interface NestedTimeSlot$4 {\n      /** Service ID of the nested time slot. */\n      serviceId?: string;\n      /**\n       * Local start date of the nested time slot in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate?: string;\n      /**\n       * Local end date of the nested time slot in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate?: string;\n      /**\n       * List of `AvailableResources` for the nested time slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       */\n      availableResources?: AvailableResources$5[];\n  }\n  interface CalculateEventBasedAvailabilityRequest$3 {\n      serviceIds: string[];\n      from: string;\n      to: string;\n      timeZone: string;\n      /**\n       * TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006\n       * TODO: Locks are not taken into account. // Class is not supported yet. (relevant only for classes with waiting list)\n       * Aliza's suggestion to consider locks in bookable\n       */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$b[];\n      resourceIds?: string[];\n      /** if not empty, return slots with openSpots >= X */\n      openSpots?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$5;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      slotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$e;\n  }\n  interface CursorPaging$e {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface CalculateEventBasedAvailabilityResponse$3 {\n      slots?: TimeSlot$4[];\n      cursorPagingMetadata?: CursorPagingMetadata$c;\n  }\n  interface CursorPagingMetadata$c {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$f;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$f {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListEventTimeSlotsRequest$3 {\n      /** The services for which the time slots are being returned. */\n      serviceIds: string[] | null;\n      /**\n       * Local start date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      fromLocalDate: string | null;\n      /**\n       * Local end date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      toLocalDate: string | null;\n      /**\n       * The time zone, in IANA time zone format.\n       * Default is the Wix Business time zone.\n       */\n      timeZone: string | null;\n      /** TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006 */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$b[];\n      /** TODO: maxsize && do we need include_resource_type_id here? also is the behavior is the same as availabilityTimeSlots, we won't return resources by default? */\n      resourceIds?: string[] | null;\n      /** if not empty, return slots with remainingCapacity >= X */\n      remainingCapacity?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$5;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      timeSlotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$e;\n  }\n  interface ListEventTimeSlotsResponse$3 {\n      /** TODO: maxsize */\n      timeSlots?: TimeSlot$4[];\n      /** The time zone, in IANA time zone format. */\n      timeZone?: string | null;\n      cursorPagingMetadata?: CursorPagingMetadata$c;\n  }\n  interface ListMultiServiceAvailabilityTimeSlotsRequest$3 {\n      /**\n       * Services for which the multiService time slots are being returned for.\n       * Each service contains its own resources filters within.\n       *\n       * MinSize: `2`.\n       * MaxSize: `8`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      services?: Service$5[];\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Location for which the multiService TimeSlots are being returned for.\n       *\n       * You can specify location or location type for which the TimeSlots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      location?: Location$b;\n      /**\n       * Whether the `TimeSlot` is bookable according to all of the services booking policies.\n       *\n       * If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\n       * returns as `false`. Otherwise, returns as `true`.\n       *\n       * > __Note:__\n       * > A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n       * > while a `TimeSlot` with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\n       * has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\n       * the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n       *\n       * Each nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$5;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch TimeSlots in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\n       * the `cursorPaging`.`limit`. You may pass a different `limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging$3;\n  }\n  interface Service$5 {\n      /** Service ID. */\n      serviceId?: string;\n      /** Resources to include in response. */\n      resourceIds?: string[];\n      /**\n       * The resource type ID's to include in returned time slots.\n       * This is in addition to the specifically requested resources.\n       *\n       * <blockquote class=\"important\">\n       * Currently supported only for Staff Member resource type.\n       * Staff Member type ID: 1cd44cf8-756f-41c3-bd90-3e2ffcaf1155\n       * </blockquote>\n       */\n      includeResourceTypeIds?: string[];\n  }\n  interface CommonCursorPaging$3 {\n      /**\n       * Number of results to load.\n       *\n       * Default: `1000`.\n       * Max: `1000`.\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListMultiServiceAvailabilityTimeSlotsResponse$3 {\n      /** Time slots. */\n      timeSlots?: TimeSlot$4[];\n      /**\n       * Time zone, in IANA time zone format.\n       * Shared for all TimeSlots in response.\n       */\n      timeZone?: string | null;\n      /**\n       * CursorPagingMetaData.\n       * Contains information about the next page of results.\n       *\n       * By default,\n       * if there are more than 1000 results,\n       * the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * <code class=\"grey-background\">count</code> is not supported.</p>\n       * </blockquote>\n       */\n      cursorPagingMetadata?: CommonCursorPagingMetadata$3;\n  }\n  interface CommonCursorPagingMetadata$3 {\n      /** Offset that was requested. */\n      cursors?: CommonCursors$3;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors$3 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetMultiServiceAvailabilityTimeSlotRequest$3 {\n      /**\n       * Services for which the multiService TimeSlots are being returned for.\n       * Each service contains its own resources filters within.\n       *\n       * MinSize: 2.\n       * MaxSize: 8.\n       */\n      services: Service$5[];\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location: Location$b;\n  }\n  interface GetMultiServiceAvailabilityTimeSlotResponse$3 {\n      /** Time slot. */\n      timeSlot?: TimeSlot$4;\n      /** The time zone, in IANA time zone format. */\n      timeZone?: string | null;\n  }\n  interface ListAvailabilityTimeSlotsRequest$3 {\n      /**\n       * Service ID for which the time slots are being returned for.\n       * Currently supported only for services of type `APPOINTMENT`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      serviceId?: string | null;\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Locations to include in response.\n       *\n       * By default,\n       * if no locations are provided,\n       * the response contains TimeSlots for all locations where the service is available.\n       *\n       * You can specify locations or location types for which the time slots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      locations?: Location$b[];\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\n       * Otherwise, the returned TimeSlots returns with an empty `AvailableResources`.\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains __up__ to 10 available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n      /**\n       * Whether the `TimeSlot` is bookable according to the service's booking policies.\n       *\n       * If booking this `TimeSlot` does not violates any of the service's booking policies,\n       * returns as `true`. Otherwise, returns as `false`.\n       *\n       * > __Note:__\n       * > A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n       * > while a time slot with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$5;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch results in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\n       * a `cursorPaging`.`limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging$3;\n      /**\n       * Specifies whether to return all available resources in response.\n       * @internal\n       */\n      shouldReturnAllResources?: boolean;\n  }\n  interface ListAvailabilityTimeSlotsResponse$3 {\n      /** Time slots. */\n      timeSlots?: TimeSlot$4[];\n      /**\n       * Time zone, in IANA time zone format.\n       * Shared for all TimeSlots in response.\n       */\n      timeZone?: string | null;\n      /**\n       * CursorPagingMetaData.\n       * Contains information about the next page of results.\n       *\n       * By default,\n       * if there are more than 1000 results,\n       * the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * <code class=\"grey-background\">count</code> is not supported.</p>\n       * </blockquote>\n       */\n      cursorPagingMetadata?: CommonCursorPagingMetadata$3;\n  }\n  interface GetAvailabilityTimeSlotRequest$4 {\n      /**\n       * Service ID of the time slot.\n       * Currently supported only for services of type `APPOINTMENT`.\n       */\n      serviceId: string;\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location: Location$b;\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned `TimeSlot` contains only the available resources out of provided list.\n       * Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains all the available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n  }\n  interface GetAvailabilityTimeSlotResponse$4 {\n      /** Time slot. */\n      timeSlot?: TimeSlot$4;\n      /** Time zone, in IANA time zone format. */\n      timeZone?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField options.from\n   * @requiredField options.timeZone\n   * @requiredField options.to\n   * @requiredField serviceIds\n   */\n  function calculateEventBasedAvailability$1(serviceIds: string[], options?: CalculateEventBasedAvailabilityOptions$1): Promise<CalculateEventBasedAvailabilityResponse$3>;\n  interface CalculateEventBasedAvailabilityOptions$1 {\n      from: string;\n      to: string;\n      timeZone: string;\n      /**\n       * TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006\n       * TODO: Locks are not taken into account. // Class is not supported yet. (relevant only for classes with waiting list)\n       * Aliza's suggestion to consider locks in bookable\n       */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$b[];\n      resourceIds?: string[];\n      /** if not empty, return slots with openSpots >= X */\n      openSpots?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$5;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      slotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$e;\n  }\n  /**\n   * TODO explain the sorting tie breaker\n   * Return a list of available slots, for Event based services\n   * can be called only for services with tag \"GROUP\"\n   * @param serviceIds - The services for which the time slots are being returned.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.fromLocalDate\n   * @requiredField options.timeZone\n   * @requiredField options.toLocalDate\n   * @requiredField serviceIds\n   */\n  function listEventTimeSlots$1(serviceIds: string[] | null, options?: ListEventTimeSlotsOptions$1): Promise<ListEventTimeSlotsResponse$3>;\n  interface ListEventTimeSlotsOptions$1 {\n      /**\n       * Local start date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      fromLocalDate: string | null;\n      /**\n       * Local end date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      toLocalDate: string | null;\n      /**\n       * The time zone, in IANA time zone format.\n       * Default is the Wix Business time zone.\n       */\n      timeZone: string | null;\n      /** TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006 */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$b[];\n      /** TODO: maxsize && do we need include_resource_type_id here? also is the behavior is the same as availabilityTimeSlots, we won't return resources by default? */\n      resourceIds?: string[] | null;\n      /** if not empty, return slots with remainingCapacity >= X */\n      remainingCapacity?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$5;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      timeSlotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$e;\n  }\n  /**\n   * Retrieves a list of multiService `TimeSlot`s that match the provided filters.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong><br/>\n   * Currently supported only for services of type <code class=\"grey-background\">APPOINTMENT</code>.</p>\n   * </blockquote>\n   *\n   * The request body __must__ include either:\n   * + All of the following filters:  `service`.`serviceId`, `fromLocalDate`, `toLocalDate`, `location`, and `timeZone`. You may add additional filters as you wish.\n   * + A `cursorPaging` with a valid `cursor` from previous response.\n   *\n   *\n   * Each [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response\n   * represents the availability of the given sequence of services in a specific order, location, and within a given range of time.\n   *\n   * Each `TimeSlot`.`NestedTimeSlot` represents a single service from the given list. The order of the `NestedTimeSlots` is the same as the order\n   * of the given services in request.\n   * The first `NestedTimeSlot` has `localStartDate` within the given `fromLocalDate` and `toLocalDate` exclusive,\n   * and each following `NestedTimeSlot` has a `localStartDate` that equals to the previous `NestedTimeSlot`'s `localEndDate`.\n   *\n   * By default,\n   * the response contains at most 1000 results.\n   * If there are more than 1000 results, we return a `cursorPagingMetadata` with\n   * a cursor for the next page of results, regardless of whether a `cursorPaging`\n   * was provided in request.\n   *\n   * > __Notes:__\n   * >  + All nested time slots share the same location.\n   * >  + You can pass up to 8 services in request.\n   *\n   * ### AvailableResources in response:\n   * The `TimeSlot`.`NestedTimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service\n   * within the `NestedTimeSlot` range of time. Each `AvailableResources` contains information about available resources of the same type.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong><br/>\n   * By default,\n   * if you don't specify <code class=\"grey-background\">service</code>.<code class=\"grey-background\">includeResourceTypeIds</code>\n   * or  <code class=\"grey-background\">service</code>.<code class=\"grey-background\">resourceIds</code> filters in request,\n   * we return TimeSlots with <code class=\"grey-background\">NestedTimeSlot</code>s with an empty <code class=\"grey-background\">AvailableResources</code>.\n   * <br/><strong>Note:</strong><br/> Not specifying resources filters can be handy in case you want to avoid large response in flows that only\n   * interested of whether the time slots are available. [Finding the next available slot within the next 3 months](https://bo.wix.com/wix-docs/rest/all-apis/service-availability/multi-service-availability-time-slots/sample-flows?localViewerId=inbari#all-apis_service-availability_multi-service-availability-time-slots_sample-flows_find-the-first-date-within-the-next-3-months-that-all-selected-services-are-available-for)\n   * is an example for such flow.\n   * </p>\n   * </blockquote>\n   *\n   *\n   * If you wish to get a list of available resources for a `TimeSlot`.`NestedTimeSlot` you should either:\n   * + provide `service`.`resourceIds` in request.\n   * + provide `service`.`includeResourceTypeIds` in request.\n   *\n   * __Notes:__\n   * + In both cases the returned `TimeSlot`.`NestedTimeSlot` contains  __up__ to 10 `AvailableResources` that match the provided filters. Each `AvailableResources` contains __up__ to 10 available `resources` of the same type that match the provided filters.\n   * + If an `AvailableResources` has more available resources which are not listed within it, we return `AvailableResources`.`hasMoreAvailableResources` as true.\n   * + If you wish to get the full available resources list for all `NestedTimeSlot` of a specific `TimeSlot`, you should call [GetMultiServiceAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/get-multi-service-availability-time-slot).\n   *\n   *\n   * ### Availability VS Bookability\n   * An `available` time slot is not necessarily `bookable`.\n   * The `bookable` field of a `TimeSlot` indicates whether the customer can book all of the of the services within the given time slot,\n   * at a specific period of time.\n   * Read more about [Availability VS Bookability](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/introduction#all-apis_wix-service-availability_multi-service-availability-time-slots_introduction_availability-vs-bookability).\n   *\n   * By default,\n   * + The response does not contains `unavailable` TimeSlots.For example, if there are no available resources to provide one of the services from `2024-01-30T14:30:00` to `2024-01-30T15:30:00`, we don't return TimeSlots with `NestedTimeSlot`.`localStartDate` within this range for this service.\n   * + The response contains both `bookable` and `un-bookable` TimeSlots.For example, if one of the services has a booking policy which enforces booking the service up to 10 minutes before the session starts, we return TimeSlots with the violating `NestedTimeSlot`.`localStartDate`, with `bookable` as `false`. If you want to list only __bookable__ TimeSlots you should pass `bookable` as `true`.\n   * + If booking one of the `NestedTimeSlot`s violates one of the corresponding service's booking policies, the `TimeSlot` returns with `bookable` as false. There is no indication which service's policy was violated.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong>\n   * Because of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.\n   * Read more about <a href=\"https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/introduction#all-apis_wix-service-availability_multi-service-availability-time-slots_introduction_daylight-saving-time-dst-handling\">DST Handling</a></p>\n   * </blockquote>\n   *\n   * ### ListAvailabilityTimeSlots runs with the following defaults:\n   * + `localStartDate` is sorted in `ASC` order.\n   * + `cursorPaging`.`limit` is `1000`.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listMultiServiceAvailabilityTimeSlots$1(options?: ListMultiServiceAvailabilityTimeSlotsOptions$1): Promise<ListMultiServiceAvailabilityTimeSlotsResponse$3>;\n  interface ListMultiServiceAvailabilityTimeSlotsOptions$1 {\n      /**\n       * Services for which the multiService time slots are being returned for.\n       * Each service contains its own resources filters within.\n       *\n       * MinSize: `2`.\n       * MaxSize: `8`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      services?: Service$5[];\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Location for which the multiService TimeSlots are being returned for.\n       *\n       * You can specify location or location type for which the TimeSlots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      location?: Location$b;\n      /**\n       * Whether the `TimeSlot` is bookable according to all of the services booking policies.\n       *\n       * If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\n       * returns as `false`. Otherwise, returns as `true`.\n       *\n       * > __Note:__\n       * > A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n       * > while a `TimeSlot` with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\n       * has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\n       * the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n       *\n       * Each nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$5;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch TimeSlots in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\n       * the `cursorPaging`.`limit`. You may pass a different `limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging$3;\n  }\n  /**\n   * Retrieves an available multiService `TimeSlot` that match the provided filters.\n   *\n   * Throws `SlotNotFound` if there is no such available time slot.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong><br/>\n   * Currently supported only for services of type <code class=\"grey-background\">APPOINTMENT</code>.</p>\n   * </blockquote>\n   *\n   * By default,\n   * if you don't provide a `service`.`includeResourceTypeIds` or `service`.`resourceIds` in request,\n   * we return for each `TimeSlot`.`NestedTimeSlot` all `AvailableResources` with all `AvailableResources`.`resources` which are available to provide\n   * the corresponding service within the time slot.\n   *\n   * If you specify `service`.`includeResourceTypeIds` or `service`.`resourceIds` in request,\n   * the returned `TimeSlot`.`NestedTimeSlot` for this service will contain only `AvailableResources` with at least one available resource\n   * which match the given resources filters,\n   * each contains all available resources out of those requested.\n   *\n   * + Notes:\n   * + All nested time slots share the same location.\n   * + You can pass up to 8 services.\n   *\n   * <blockquote class=\"tip\">\n   * <p><strong>Tip:</strong><br/>\n   * Use this API in order to get the availability of a specific <code class=\"grey-background\">TimeSlot</code> out of those returned from  <code class=\"grey-background\">ListMultiServiceAvailabilityTimeSlots</code> API.</p>\n   * </blockquote>\n   * @param services - Services for which the multiService TimeSlots are being returned for.\n   * Each service contains its own resources filters within.\n   *\n   * MinSize: 2.\n   * MaxSize: 8.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.localEndDate\n   * @requiredField options.localStartDate\n   * @requiredField options.location\n   * @requiredField options.location.locationType\n   * @requiredField options.timeZone\n   * @requiredField services\n   * @requiredField services.serviceId\n   */\n  function getMultiServiceAvailabilityTimeSlot$1(services: Service$5[], options: GetMultiServiceAvailabilityTimeSlotOptions): Promise<GetMultiServiceAvailabilityTimeSlotResponse$3>;\n  interface GetMultiServiceAvailabilityTimeSlotOptions {\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location: Location$b;\n  }\n  /**\n   * Retrieves a list of `TimeSlot`s that match the provided filters.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong>\n   * Currently supported only for services of type <code class=\"grey-background\">APPOINTMENT</code>.</p>\n   * </blockquote>\n   *\n   * The request body __must__ include either:\n   * + All of the following filters:  `serviceId`, `fromLocalDate`, `toLocalDate`, and `timeZone`.\n   * You may add additional filters as you wish.\n   * + A `cursorPaging` with a valid `cursor` from previous response.\n   *\n   *\n   * Each [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response\n   * represents the availability of the service in a specific location,\n   * and has a `localStartDate` within the range of the provided `fromLocalDate` and `toLocalDate` exclusive.\n   * The `localEndDate` of a `TimeSlot` is calculated as the sum of the `TimeSlot`'s `localStartDate` and the duration of the service.\n   *\n   * By default,\n   * the response contains at most 1000 results.\n   * If there are more than 1000 results, we return a `cursorPagingMetadata` with\n   * a cursor for the next page of results, regardless of whether a `cursorPaging`\n   * was provided in request.\n   *\n   * ### AvailableResources in response\n   * The `TimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service\n   * within the time slot. Each `AvailableResources` contains information about available resources of the same type.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong><br/>\n   * By default,\n   * if you don't specify <code class=\"grey-background\">includeResourceTypeIds</code>\n   * or <code class=\"grey-background\">resourceIds</code> filters in request,\n   * we return TimeSlots with an empty <code class=\"grey-background\">AvailableResources</code>.\n   * <br/><strong>Note:</strong><br/> Not specifying resources filters can be handy in case you want to avoid large response in flows that only\n   * interested of whether the time slots are available. [Finding the next available slot within the next 3 months](https://bo.wix.com/wix-docs/rest/all-apis/service-availability/availability-time-slots/sample-flows?localViewerId=inbari#all-apis_service-availability_availability-time-slots_sample-flows_find-the-first-date-within-the-next-3-months-that-the-selected-service-is-available-for)\n   * is an example for such flow.\n   * </p>\n   * </blockquote>\n   *\n   * If you wish to get a list of available resources for each `TimeSlot` you should either:\n   * + provide `resourceIds` in request.\n   * + provide `includeResourceTypeIds` in request.\n   *\n   * __Notes:__\n   * + In both cases the returned TimeSlots contains  __up__ to 10 `AvailableResources` that match the provided filters.\n   * Each `AvailableResources` contains __up__ to 10 available `resources` of the same type that match the provided filters.\n   * + If an `AvailableResources` has more available resources which are not listed within it,\n   * we return `AvailableResources`.`hasMoreAvailableResources` as true.\n   * > __Note:__\n   * > If you wish to get the full available resources list for a specific `TimeSlot`,\n   * > you should call [GetAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/get-availability-time-slot).\n   *\n   *\n   * ### Availability VS Bookability\n   * An `available` time slot is not necessarily `bookable`.\n   * The `bookable` field of a `TimeSlot` indicates whether a customer can book the service within the given time slot,\n   * at a specific period of time.\n   * Read more about [Availability VS Bookability](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/introduction#all-apis_wix-service-availability_service-availability-time-slots_introduction_availability-vs-bookability).\n   *\n   * By default,\n   * + The response does not contains `unavailable` TimeSlots.\n   * For example,\n   * if there are no available resources to provide the service from `2024-01-30T14:30:00` to `2024-01-30T15:30:00`,\n   * we don't return TimeSlots with `localStartDate` within this range.\n   * + The response contains both `bookable` and `un-bookable` TimeSlots.\n   * For example,\n   * if the service has a booking policy which enforces booking the service up to 10 minutes before the session starts,\n   * we return TimeSlots with the violating `localStartDate` with `bookable` as false.\n   * If you wish to list only available __bookable__ TimeSlots you should pass `bookable` filter as true.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong>\n   * Because of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.\n   * Read more about <a href=\"https://bo.wix.com/wix-docs/rest/all-apis/service-availability/availability-time-slots/introduction?localViewerId=inbari#all-apis_service-availability_availability-time-slots_introduction_daylight-saving-time-dst-handling\">DST Handling</a></p>\n   * </blockquote>\n   *\n   *\n   * ### ListAvailabilityTimeSlots runs with the following defaults\n   * + `localStartDate` is sorted in `ASC` order\n   * + `cursorPaging`.`limit` is `1000`\n   * @public\n   * @documentationMaturity preview\n   */\n  function listAvailabilityTimeSlots$1(options?: ListAvailabilityTimeSlotsOptions$1): Promise<ListAvailabilityTimeSlotsResponse$3>;\n  interface ListAvailabilityTimeSlotsOptions$1 {\n      /**\n       * Service ID for which the time slots are being returned for.\n       * Currently supported only for services of type `APPOINTMENT`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      serviceId?: string | null;\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Locations to include in response.\n       *\n       * By default,\n       * if no locations are provided,\n       * the response contains TimeSlots for all locations where the service is available.\n       *\n       * You can specify locations or location types for which the time slots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      locations?: Location$b[];\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\n       * Otherwise, the returned TimeSlots returns with an empty `AvailableResources`.\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains __up__ to 10 available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n      /**\n       * Whether the `TimeSlot` is bookable according to the service's booking policies.\n       *\n       * If booking this `TimeSlot` does not violates any of the service's booking policies,\n       * returns as `true`. Otherwise, returns as `false`.\n       *\n       * > __Note:__\n       * > A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n       * > while a time slot with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$5;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch results in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\n       * a `cursorPaging`.`limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging$3;\n      /**\n       * Specifies whether to return all available resources in response.\n       * @internal\n       */\n      shouldReturnAllResources?: boolean;\n  }\n  /**\n   * Retrieves an available `TimeSlot` that match the provided filters.\n   *\n   * Throws `SlotNotFound` if there is no such available time slot.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong><br/>\n   * Currently supported only for services of type <code class=\"grey-background\">APPOINTMENT</code>.</p>\n   * </blockquote>\n   *\n   * By default,\n   * if you don't provide `includeResourceTypeIds` or `resourceIds` in request,\n   * we return all `AvailableResources` with all `AvailableResources`.`resources` which are available to provide\n   * the service within the time slot.\n   *\n   * If you specify `includeResourceTypeIds` or `resourceIds` in request,\n   * the returned `TimeSlot` will contain only `AvailableResources` with at least one available resource\n   * which match the given resources filters,\n   * each contains all available resources out of those requested.\n   *\n   *\n   * <blockquote class=\"tip\">\n   * <p><strong>Tip:</strong><br/>\n   * Use this API in order to get the availability of a specific <code class=\"grey-background\">TimeSlot</code> out of those returned from  <code class=\"grey-background\">ListAvailabilityTimeSlots</code> API.</p>\n   * </blockquote>\n   * @param serviceId - Service ID of the time slot.\n   * Currently supported only for services of type `APPOINTMENT`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.localEndDate\n   * @requiredField options.localStartDate\n   * @requiredField options.location\n   * @requiredField options.timeZone\n   * @requiredField serviceId\n   */\n  function getAvailabilityTimeSlot$2(serviceId: string, options?: GetAvailabilityTimeSlotOptions$2): Promise<GetAvailabilityTimeSlotResponse$4>;\n  interface GetAvailabilityTimeSlotOptions$2 {\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location: Location$b;\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned `TimeSlot` contains only the available resources out of provided list.\n       * Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains all the available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n  }\n  \n  const bookingsAvailabilityV2TimeSlot_universal_d___debug: typeof __debug;\n  type bookingsAvailabilityV2TimeSlot_universal_d_GetMultiServiceAvailabilityTimeSlotOptions = GetMultiServiceAvailabilityTimeSlotOptions;\n  namespace bookingsAvailabilityV2TimeSlot_universal_d {\n    export {\n      bookingsAvailabilityV2TimeSlot_universal_d___debug as __debug,\n      TimeSlot$4 as TimeSlot,\n      Location$b as Location,\n      LocationType$b as LocationType,\n      EventInfo$4 as EventInfo,\n      WaitingList$5 as WaitingList,\n      BookingPolicyViolations$5 as BookingPolicyViolations,\n      AvailableResources$5 as AvailableResources,\n      Resource$8 as Resource,\n      NestedTimeSlot$4 as NestedTimeSlot,\n      CalculateEventBasedAvailabilityRequest$3 as CalculateEventBasedAvailabilityRequest,\n      CursorPaging$e as CursorPaging,\n      CalculateEventBasedAvailabilityResponse$3 as CalculateEventBasedAvailabilityResponse,\n      CursorPagingMetadata$c as CursorPagingMetadata,\n      Cursors$f as Cursors,\n      ListEventTimeSlotsRequest$3 as ListEventTimeSlotsRequest,\n      ListEventTimeSlotsResponse$3 as ListEventTimeSlotsResponse,\n      ListMultiServiceAvailabilityTimeSlotsRequest$3 as ListMultiServiceAvailabilityTimeSlotsRequest,\n      Service$5 as Service,\n      CommonCursorPaging$3 as CommonCursorPaging,\n      ListMultiServiceAvailabilityTimeSlotsResponse$3 as ListMultiServiceAvailabilityTimeSlotsResponse,\n      CommonCursorPagingMetadata$3 as CommonCursorPagingMetadata,\n      CommonCursors$3 as CommonCursors,\n      GetMultiServiceAvailabilityTimeSlotRequest$3 as GetMultiServiceAvailabilityTimeSlotRequest,\n      GetMultiServiceAvailabilityTimeSlotResponse$3 as GetMultiServiceAvailabilityTimeSlotResponse,\n      ListAvailabilityTimeSlotsRequest$3 as ListAvailabilityTimeSlotsRequest,\n      ListAvailabilityTimeSlotsResponse$3 as ListAvailabilityTimeSlotsResponse,\n      GetAvailabilityTimeSlotRequest$4 as GetAvailabilityTimeSlotRequest,\n      GetAvailabilityTimeSlotResponse$4 as GetAvailabilityTimeSlotResponse,\n      calculateEventBasedAvailability$1 as calculateEventBasedAvailability,\n      CalculateEventBasedAvailabilityOptions$1 as CalculateEventBasedAvailabilityOptions,\n      listEventTimeSlots$1 as listEventTimeSlots,\n      ListEventTimeSlotsOptions$1 as ListEventTimeSlotsOptions,\n      listMultiServiceAvailabilityTimeSlots$1 as listMultiServiceAvailabilityTimeSlots,\n      ListMultiServiceAvailabilityTimeSlotsOptions$1 as ListMultiServiceAvailabilityTimeSlotsOptions,\n      getMultiServiceAvailabilityTimeSlot$1 as getMultiServiceAvailabilityTimeSlot,\n      bookingsAvailabilityV2TimeSlot_universal_d_GetMultiServiceAvailabilityTimeSlotOptions as GetMultiServiceAvailabilityTimeSlotOptions,\n      listAvailabilityTimeSlots$1 as listAvailabilityTimeSlots,\n      ListAvailabilityTimeSlotsOptions$1 as ListAvailabilityTimeSlotsOptions,\n      getAvailabilityTimeSlot$2 as getAvailabilityTimeSlot,\n      GetAvailabilityTimeSlotOptions$2 as GetAvailabilityTimeSlotOptions,\n    };\n  }\n  \n  interface SlotAvailability$1 {\n      /**\n       * The slot for the corresponding session, when the session is either a single session\n       * or a specific session generated from a recurring session.\n       */\n      slot?: Slot$1;\n      /**\n       * Whether the slot is bookable. Bookability is determined by checking a\n       * session's open slots and booking policies. Locks are not taken into\n       * account.\n       */\n      bookable?: boolean;\n      /**\n       * Total number of spots for this slot.\n       * For example, if a session has a total of 10 spots and 3 spots are booked,\n       * `spotsTotal` is 10 and `openSpots` is 7.\n       */\n      totalSpots?: number | null;\n      /** Number of open spots for this slot. */\n      openSpots?: number | null;\n      /** An object describing the slot's waitlist and its occupancy. */\n      waitingList?: WaitingList$4;\n      /** Booking policy violations for the slot. */\n      bookingPolicyViolations?: BookingPolicyViolations$4;\n      /**\n       * Indicates whether the slot is locked because a waitlist exists.\n       * When a slot frees up, the slot is offered to the next customer on the waitlist. Read-only.\n       */\n      locked?: boolean | null;\n      isFromV2?: boolean;\n      /** @internal */\n      nestedSlots?: NestedTimeSlot$3[];\n  }\n  interface Slot$1 {\n      /**\n       * ID for the slot's corresponding session, when the session is either a single session\n       * or a specific session generated from a recurring session.\n       */\n      sessionId?: string | null;\n      /** Service ID. */\n      serviceId?: string;\n      /** Schedule ID. */\n      scheduleId?: string;\n      /**\n       * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       *\n       * If `timezone` is specified,\n       * dates are based on the local date/time. This means that the timezone offset\n       * in the `start_date` is ignored.\n       */\n      startDate?: string | null;\n      /**\n       * The end time of this slot in\n       * [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) format.\n       *\n       * If `timezone` is specified,\n       * dates are based on the local date/time. This means that the timezone offset\n       * in the `end_date` is ignored.\n       */\n      endDate?: string | null;\n      /**\n       * The timezone for which slot availability is to be calculated. If specified,\n       * dates are based on the local date/time, meaning that the timezone offset\n       * in the date's format is ignored.\n       */\n      timezone?: string | null;\n      /**\n       * The resource required for this slot. Currently, the only supported resource\n       * is the relevant staff member for the slot.\n       */\n      resource?: SlotResource$1;\n      /** Geographic location of the slot. */\n      location?: Location$a;\n  }\n  interface SlotResource$1 {\n      /**\n       * Resource ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Resource name. Read only. */\n      name?: string | null;\n      /**\n       * Schedule ID. Read only.\n       * @internal\n       */\n      scheduleId?: string | null;\n  }\n  interface Location$a {\n      /**\n       * Business location ID. Available only for locations that are business locations,\n       * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** The full address of this location. */\n      formattedAddress?: string | null;\n      /** The full translated address of this location. */\n      formattedAddressTranslated?: string | null;\n      /**\n       * Location type.\n       *\n       * - `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n       * - `\"CUSTOM\"`: The address as set for the individual session.\n       */\n      locationType?: LocationType$a;\n  }\n  enum LocationType$a {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface WaitingList$4 {\n      /**\n       * Total number of spots and open spots for this waitlist.\n       * For example, a Yoga class with 10 waitlist spots and 3 registered\n       * on the waitlist has 10 `total_spots` and 7 `open_spots`.\n       */\n      totalSpots?: number | null;\n      /** Number of open spots for this waitlist. */\n      openSpots?: number | null;\n  }\n  interface BookingPolicyViolations$4 {\n      /** Bookings policy violation. Too early to book this slot. */\n      tooEarlyToBook?: boolean | null;\n      /** Bookings policy violation. Too late to book this slot. */\n      tooLateToBook?: boolean | null;\n      /** Bookings policy violation. Online booking is disabled for this slot. */\n      bookOnlineDisabled?: boolean | null;\n  }\n  interface NestedTimeSlot$3 {\n      serviceId?: string;\n      start?: string;\n      end?: string;\n      resource?: SlotResource$1;\n      /** Schedule ID. */\n      scheduleId?: string;\n  }\n  interface QueryAvailabilityRequest {\n      /** Query options. */\n      query: QueryV2$5;\n      /**\n       * The timezone for which slot availability is to be calculated. If specified,\n       * dates are based on the local date/time, meaning that the timezone offset\n       * in the date's format is ignored.\n       */\n      timezone?: string | null;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      slotsPerDay?: number | null;\n      /**\n       * specifies whether this request should be proxied to availability\n       * @internal\n       */\n      allowProxyToAvailability?: boolean;\n      /**\n       * specifies whether slots v2 should be premutated or not, true will mean to not premutate and won't return resource on the slot response.\n       * @internal\n       */\n      anyResource?: boolean;\n      /**\n       * Selected customer choices.\n       * If specified, the selected choices will be used to calculate service configuration.\n       * If not specified, the service default configuration will be used.\n       * @internal\n       */\n      customerChoices?: CustomerChoices$3;\n  }\n  interface QueryV2$5 extends QueryV2PagingMethodOneOf$5 {\n      /**\n       * Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.\n       * @internal\n       */\n      cursorPaging?: CursorPaging$d;\n      /**\n       * Filter object. You must include `serviceId`, `startDate` and `endDate` in the filter. This avoids large results that can impact performance.\n       */\n      filter?: Record<string, any> | null;\n      /** Currently, only sorting by `startDate` is supported.  */\n      sort?: Sorting$9[];\n      /**\n       * List of projected fields to return. All fields are supported.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$5 {\n      /**\n       * Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.\n       * @internal\n       */\n      cursorPaging?: CursorPaging$d;\n  }\n  interface Sorting$9 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$9;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$9 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$d {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  /**\n   * Selected customer choices.\n   * These choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties.\n   */\n  interface CustomerChoices$3 {\n      /**\n       * The selected customer duration in minutes.\n       * Min: `1 minute`\n       * Max: `44639 minutes` (30 days, 23 hours, and 59 minutes)\n       */\n      durationInMinutes?: number | null;\n  }\n  interface QueryAvailabilityResponse {\n      /** List of slots that potentially can be booked. */\n      availabilityEntries?: SlotAvailability$1[];\n      /**\n       * Details on the paged set of returned results.\n       * @internal\n       */\n      pagingMetadata?: PagingMetadataV2$4;\n  }\n  interface PagingMetadataV2$4 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$e;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$e {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetSlotAvailabilityRequest$1 {\n      /** The slot for which the availability is checked. */\n      slot?: Slot$1;\n      /**\n       * The timezone for which slot availability is to be calculated. If specified,\n       * dates are based on the local date/time, meaning that the timezone offset\n       * in the date's format is ignored.\n       */\n      timezone?: string | null;\n      /**\n       * Return the IDs of bookings that are currently allowed to book\n       * the given slot due to being a part of a waitlist in a \"suggested\" status.\n       * @internal\n       */\n      returnAllowedBookingIds?: boolean;\n      /**\n       * Check if this booking is allowed to book the given slot due to\n       * being a part of a waitlist in a \"suggested\" status.\n       * If passed and the slot is locked for a different booking than this,\n       * then `bookable` = `false` is returned.\n       * @internal\n       */\n      bookingId?: string | null;\n      /**\n       * Check if should call consistentQuery in order to calculate open spots  //todo: this field is temporary in order to align bookings ft conduction with availabilityCalendar ft\n       * @internal\n       */\n      shouldNotCallConsistentQuery?: boolean | null;\n  }\n  interface GetSlotAvailabilityResponse$1 {\n      availability?: SlotAvailability$1;\n      bookingPolicySettings?: BookingPolicySettings$2;\n      /**\n       * Bookings that are currently allowed to book the given slot due to being a part of a waitlist in a \"suggested\" status.\n       * @internal\n       */\n      allowedBookingIds?: string[];\n  }\n  interface BookingPolicySettings$2 {\n      /**\n       * The policy defining the maximum number of participants that can\n       * be booked for a slot or a schedule.\n       */\n      maxParticipantsPerBooking?: number | null;\n  }\n  interface GetScheduleAvailabilityRequest$1 {\n      /** The schedule ID for which availability is being checked. */\n      scheduleId: string;\n      /**\n       * Check if should call consistentQuery in order to calculate open spots        //todo: this field is temporary in order to align bookings ft conduction with availabilityCalendar ft\n       * @internal\n       */\n      shouldNotCallConsistentQuery?: boolean | null;\n  }\n  interface GetScheduleAvailabilityResponse$1 {\n      availability?: ScheduleAvailability$1;\n      bookingPolicySettings?: BookingPolicySettings$2;\n  }\n  interface ScheduleAvailability$1 {\n      /**\n       * The total number of spots defined for the schedule, including\n       * both open and non-available spots.\n       */\n      totalSpots?: number | null;\n      /** The number of open spots defined for the schedule. */\n      openSpots?: number | null;\n      /** Booking policy violations for the schedule. */\n      bookingPolicyViolations?: BookingPolicyViolations$4;\n  }\n  interface CalculateMultiSlotAvailabilityRequest {\n      from?: string;\n      to?: string;\n      timeZone?: string;\n      /** TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006 */\n      bookable?: boolean | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$4;\n      /**\n       * support filtering by location type, or by locationId. Other fields like `name` are ignored\n       * must be set, and must have locationType. If locationType is `OWNER_BUSINESS`, must have location_id\n       */\n      location?: Location$a;\n      slots?: RuleBasedConstraints[];\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      slotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$d;\n  }\n  interface RuleBasedConstraints {\n      serviceId?: string;\n      resourcesFilter?: ResourcesFilter;\n      /**\n       * specifies whether slots v2 should be premutated or not, true will mean to not premutate and won't return resource on the slot response.\n       * @internal\n       */\n      anyResource?: boolean;\n  }\n  interface ResourcesFilter {\n      resourceIds?: string[];\n  }\n  interface CalculateMultiSlotAvailabilityResponse {\n      slots?: SlotAvailability$1[];\n      cursorPagingMetadata?: CursorPagingMetadata$b;\n  }\n  interface CursorPagingMetadata$b {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$e;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface GetAvailabilityTimeSlotRequest$3 {\n      /**\n       * Service ID of the time slot.\n       * Currently supported only for services of type `APPOINTMENT`.\n       */\n      serviceId: string;\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location?: TimeSlotLocation;\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned `TimeSlot` contains only the available resources out of provided list.\n       * Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains all the available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n      fromV2?: boolean | null;\n  }\n  interface TimeSlotLocation {\n      /** Business Location ID. Present only if the location is a business location. */\n      _id?: string | null;\n      /** The location name. */\n      name?: string | null;\n      /** A string representation for the full address of the location. */\n      formattedAddress?: string | null;\n      /**\n       * The type of location:\n       * - `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n       * - `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.\n       * - `CUSTOMER`: The location is determined by the customer and is not set up beforehand.\n       */\n      locationType?: LocationLocationType$2;\n  }\n  enum LocationLocationType$2 {\n      UNKNOWN_LOCATION_TYPE = \"UNKNOWN_LOCATION_TYPE\",\n      /** A business location, either the default business address, or locations defined for the business by the Business Info. */\n      BUSINESS = \"BUSINESS\",\n      /** The location is unique to this service and isn't defined as one of the business locations. */\n      CUSTOM = \"CUSTOM\",\n      /** The location can be determined by the customer and is not set up beforehand. */\n      CUSTOMER = \"CUSTOMER\"\n  }\n  interface GetAvailabilityTimeSlotResponse$3 {\n      /** Time slot. */\n      timeSlot?: TimeSlot$3;\n      /** Time zone, in IANA time zone format. */\n      timeZone?: string | null;\n  }\n  /**\n   * The `TimeSlot` object represents the availability information\n   * for an `Appointment` service's specific slot, including:\n   *\n   * 1. Whether the slot is bookable for the given service?\n   *\n   * 2. In what location the service is available for this slot?\n   *\n   * 3. Which available resources can provide the service for this slot?\n   *\n   * 4. Does booking the slot for the service violates any of the service booking policies?\n   *\n   * 5. What is the total capacity and remaining capacity of the service at the time of the calculation of the `TimeSlot`?\n   *\n   * > __Note:__\n   * > When the `TimeSlot` has a non empty `NestedTimeSlots`, it represents the availability information\n   * > for a given list of `Appointment` services within a specific time slot.\n   */\n  interface TimeSlot$3 {\n      /**\n       * Service ID.\n       *\n       * > Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n       * > Instead, each nested time slot has its own serviceId.\n       */\n      serviceId?: string | null;\n      /**\n       * Local start date of the time slot in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate?: string | null;\n      /**\n       * Local end date of the time slot in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate?: string | null;\n      /**\n       * Whether the slot is bookable according to the service's booking policies.\n       *\n       * If booking this time slot does not violates any of the service's booking policies,\n       * the returned value is `true`. Otherwise, returns `false`.\n       */\n      bookable?: boolean | null;\n      /** The geographic location of the slot. */\n      location?: TimeSlotLocation;\n      /**\n       * Returned only for event.\n       * @internal\n       */\n      eventInfo?: EventInfo$3;\n      /** Total number of spots for the slot. */\n      totalCapacity?: number | null;\n      /**\n       * Remaining number of spots for the slot.\n       * For example, for an appointment service with total capacity of 1 spot and one booked spot, the remaining capacity will be 0.\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Indicators for booking policy violations for the slot.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: Service_availabilityBookingPolicyViolations;\n      /**\n       * List of `AvailableResources` for the time slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       *\n       * > Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n       * > Instead, each nested time slot has its own available resources.\n       */\n      availableResources?: AvailableResources$4[];\n      /**\n       * > Nested time slots.\n       * > Returned only from `MultiServiceAvailabilityTimeSlots` API calls.\n       */\n      nestedTimeSlots?: Service_availabilityNestedTimeSlot[];\n  }\n  /** relevant for event based slots, and not for availability based slots */\n  interface EventInfo$3 {\n      /**\n       * TODO: format - might not be a guid?\n       * @internal\n       */\n      eventId?: string | null;\n      /** @internal */\n      waitingList?: Service_availabilityWaitingList;\n  }\n  interface Service_availabilityWaitingList {\n      /** Total number of spots in this wait list. */\n      totalCapacity?: number | null;\n      /**\n       * Number of remaining spots for this wait list.\n       * For example, a Yoga event with 10 waitList spots and 3 registered\n       * on the waitList has 10 `total_capacity` and 7 `remaining_capacity`.\n       */\n      remainingCapacity?: number | null;\n  }\n  interface Service_availabilityBookingPolicyViolations {\n      /** Bookings policy violation. Too early to book this slot. */\n      tooEarlyToBook?: boolean | null;\n      /** Bookings policy violation. Too late to book this slot. */\n      tooLateToBook?: boolean | null;\n      /** Bookings policy violation. Online booking is disabled for the `TimeSlot` service. */\n      bookOnlineDisabled?: boolean | null;\n  }\n  interface AvailableResources$4 {\n      /** Resource type ID. */\n      resourceTypeId?: string | null;\n      /**\n       * Available resources for the time slot.\n       *\n       * + When returned from `ListAvailabilityTimeSlots`, empty by default.\n       * + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * contains __up__ to 10 available resources out of those provided.\n       *\n       * + When returned from `GetAvailabilityTimeSlots`, contains all available resources by default.\n       * + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * contains all of the available resources out of those provided.\n       *\n       *\n       * > + When returned from `ListMultiServiceAvailabilityTimeSlots`, empty by default.\n       * > + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * > contains __up__ to 10 available resources out of those provided.\n       *\n       * > + When returned from `GetMultiServiceAvailabilityTimeSlots`, contains all available resources by default.\n       * > + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * > contains all of the available resources out of those provided.\n       */\n      resources?: Resource$7[];\n      /**\n       * The required number of resources of this type in order to book the service.\n       * For example, a slot for a service that provides a double massage\n       * requires two resources of type `Staff Member` and one resource of type `Room`.\n       * @internal\n       */\n      numberOfResourcesRequired?: number | null;\n      /**\n       * Whether there are more available resources for the slot that are not listed in `resources` due to size limitations.\n       * @readonly\n       */\n      hasMoreAvailableResources?: boolean | null;\n  }\n  interface Resource$7 {\n      /** Resource ID. */\n      _id?: string;\n      /** Resource name. */\n      name?: string | null;\n  }\n  interface Service_availabilityNestedTimeSlot {\n      /** Service ID of the nested time slot. */\n      serviceId?: string;\n      /**\n       * Local start date of the nested time slot in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate?: string;\n      /**\n       * Local end date of the nested time slot in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate?: string;\n      /**\n       * List of `AvailableResources` for the nested time slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       */\n      availableResources?: AvailableResources$4[];\n  }\n  /**\n   * Retrieves the availability for sessions\n   * that match the provided query criteria (paging, filtering, and sorting).\n   *\n   *\n   * The Availability Calendar APIs calculate the availability of sessions for\n   * appointments and classes, but not\n   * for courses.\n   *\n   * The entire list of slots is returned in case you want to display both\n   * available and non-available slots in the calendar for your customers.\n   * Using the `bookable` property, you can limit the display to available\n   * slots only.\n   *\n   * When querying, you must enter a start date and an end date. This avoids very large\n   * results that can impact performance.\n   *\n   * #### Calculating availability\n   *\n   * The availability is determined\n   * by checking:\n   * + **The sessions' open slots**. A slot is considered open if the session's\n   * capacity is greater than number of participants.\n   * + **Booking policies**. Policies that affect whether a slot is considered\n   * available include `tooEarlyToBook`, `tooLateToBook`, and `bookOnlineDisabled`.\n   *\n   * Locked sessions do not impact session availability and `bookable` can\n   * be `true` even if `locked` is `true`. For example, if a session has a waitlist and a\n   * place frees up, the slot is offered to the customers on the waitlist, one by one. The\n   * session remains locked because there is still a waitlist, but for a period of time\n   * there is availability, until a customer on the waitlist takes the slot. Locking\n   * prevents customers who are not yet on the waitlist from grabbing the slot.\n   *\n   * #### Handling Daylight Savings Time (DST) for local time zones\n   *\n   * Because of DST, there are cases where certain times either do not exist\n   * or exist twice for a local time zone.\n   * For example, the tine `00:05` on September 5th 2021 might not exist in Santiago, Chile,\n   * because at `00:00` the clock moved\n   * 1 hour forward to `01:00`.\n   *\n   * In this case, the Availability Calendar APIs take this\n   * into account and mediate the time gaps automatically. The non-existent local time is\n   * automatically moved forward 1 hour to match local DST. Local times that exist do not change.\n   * So if the `queryAvailability()` function is called with a `startDate` of `2021-09-05T00:00:01.000`\n   * and an `endDate` of `2021-09-06T00:00:02.000`, `2021-09-05T01:00:01.000` is used in the query\n   * instead. The start time shifts one hour forward and the end time remains the same.\n   * @param query - Query options.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @requiredField query.filter\n   * @param options - Additional options for performing the query.\n   * @permissionId BOOKINGS.AVAILABILITY_READ\n   * @adminMethod\n   */\n  function queryAvailability(query: QueryV2$5, options?: QueryAvailabilityOptions): Promise<QueryAvailabilityResponse>;\n  interface QueryAvailabilityOptions {\n      /**\n       * The timezone for which slot availability is to be calculated. If specified,\n       * dates are based on the local date/time, meaning that the timezone offset\n       * in the date's format is ignored.\n       */\n      timezone?: string | null;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      slotsPerDay?: number | null;\n      /**\n       * specifies whether this request should be proxied to availability\n       * @internal\n       */\n      allowProxyToAvailability?: boolean;\n      /**\n       * specifies whether slots v2 should be premutated or not, true will mean to not premutate and won't return resource on the slot response.\n       * @internal\n       */\n      anyResource?: boolean;\n      /**\n       * Selected customer choices.\n       * If specified, the selected choices will be used to calculate service configuration.\n       * If not specified, the service default configuration will be used.\n       * @internal\n       */\n      customerChoices?: CustomerChoices$3;\n  }\n  /**\n   * Returns the availability for a given slot.\n   *\n   * A slot for an appointment does not have a `sessionId. Only a slot for a class has a `sessionId`.\n   *\n   * Availability for an appointment is calculated as follows:\n   * - Checking for available slots in the calendar, and calculating the open spots\n   * - Checking for existing bookings with overlapping time, service & resource, where the booked session has transparency set to  `\"BUSY\"`  When the booking is in the process of being checked out, it may not have a sessionId yet. In this case it is considered as `\"BUSY\"`.\n   * - Checking for booking policy violations in the services-catalog.\n   * The following fields are required to get the availability for an appointment:\n   * - `startDate`\n   * - `endDate`\n   * - `serviceId`\n   * - `resourceId`\n   * - `scheduleId`\n   * Availability for classes is calculated as follows:\n   * - Checking for total spots by the session's capacity\n   * - Checking for open spots by subtracting the current number of participants from the total spots\n   * - Checking for booking policy violations in the services-catalog\n   * - Checking for a waitlist and its occupancy in the waiting-list\n   * - Checking for locked in the locks\n   * For a class, the following fields are required:\n   * - `sessionId`\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getSlotAvailability$1(options?: GetSlotAvailabilityOptions$1): Promise<GetSlotAvailabilityResponse$1>;\n  interface GetSlotAvailabilityOptions$1 {\n      /** The slot for which the availability is checked. */\n      slot?: Slot$1;\n      /**\n       * The timezone for which slot availability is to be calculated. If specified,\n       * dates are based on the local date/time, meaning that the timezone offset\n       * in the date's format is ignored.\n       */\n      timezone?: string | null;\n      /**\n       * Return the IDs of bookings that are currently allowed to book\n       * the given slot due to being a part of a waitlist in a \"suggested\" status.\n       * @internal\n       */\n      returnAllowedBookingIds?: boolean;\n      /**\n       * Check if this booking is allowed to book the given slot due to\n       * being a part of a waitlist in a \"suggested\" status.\n       * If passed and the slot is locked for a different booking than this,\n       * then `bookable` = `false` is returned.\n       * @internal\n       */\n      bookingId?: string | null;\n      /**\n       * Check if should call consistentQuery in order to calculate open spots  //todo: this field is temporary in order to align bookings ft conduction with availabilityCalendar ft\n       * @internal\n       */\n      shouldNotCallConsistentQuery?: boolean | null;\n  }\n  /**\n   * Returns availability for a given schedule ID\n   * The availability for a course is calculated by:\n   * - Checking for total spots by the schedule's capacity\n   * - Checking for open spots by subtracting the current number of participants from the total spots\n   * current number of participants is calculated by summing the number of participants of all bookings booked to the schedule\n   * @param scheduleId - The schedule ID for which availability is being checked.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField scheduleId\n   * @adminMethod\n   * @deprecated\n   */\n  function getScheduleAvailability$1(scheduleId: string, options?: GetScheduleAvailabilityOptions): Promise<GetScheduleAvailabilityResponse$1>;\n  interface GetScheduleAvailabilityOptions {\n      /**\n       * Check if should call consistentQuery in order to calculate open spots        //todo: this field is temporary in order to align bookings ft conduction with availabilityCalendar ft\n       * @internal\n       */\n      shouldNotCallConsistentQuery?: boolean | null;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.AVAILABILITY_READ_MULTI_SLOT\n   */\n  function calculateMultiSlotAvailability(options?: CalculateMultiSlotAvailabilityOptions): Promise<CalculateMultiSlotAvailabilityResponse>;\n  interface CalculateMultiSlotAvailabilityOptions {\n      from?: string;\n      to?: string;\n      timeZone?: string;\n      /** TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006 */\n      bookable?: boolean | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$4;\n      /**\n       * support filtering by location type, or by locationId. Other fields like `name` are ignored\n       * must be set, and must have locationType. If locationType is `OWNER_BUSINESS`, must have location_id\n       */\n      location?: Location$a;\n      slots?: RuleBasedConstraints[];\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      slotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$d;\n  }\n  /**\n   * a decision based proxy between GetSlotAvailability and  service-availability's GetAvailabilityTimeSlot\n   * this is a temporary solution based on FromV2 flag, and will be removed once all the clients are migrated to v2\n   * the request will be proxied to GetSlotAvailability if from_v2 is false, and to GetAvailabilityTimeSlot if from_v2 is true\n   * it supports only appointment services (NOT classes, and NOT courses)\n   * in case from_v2 is not provided, the request will be proxied based on `ShouldCallAvailabilityService` FT and ResourceManagement check [exists not staff resource]\n   * in case from_v2 is false and ResourceManagement check is true, an FAILED_PRECONDITION error will be thrown\n   * @param serviceId - Service ID of the time slot.\n   * Currently supported only for services of type `APPOINTMENT`.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.localEndDate\n   * @requiredField options.localStartDate\n   * @requiredField options.timeZone\n   * @requiredField serviceId\n   * @permissionId BOOKINGS.AVAILABILITY_READ\n   */\n  function getAvailabilityTimeSlot$1(serviceId: string, options?: GetAvailabilityTimeSlotOptions$1): Promise<GetAvailabilityTimeSlotResponse$3>;\n  interface GetAvailabilityTimeSlotOptions$1 {\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location?: TimeSlotLocation;\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned `TimeSlot` contains only the available resources out of provided list.\n       * Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains all the available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n      fromV2?: boolean | null;\n  }\n  \n  type bookingsAvailabilityV1SlotAvailability_universal_d_QueryAvailabilityRequest = QueryAvailabilityRequest;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_QueryAvailabilityResponse = QueryAvailabilityResponse;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_CalculateMultiSlotAvailabilityRequest = CalculateMultiSlotAvailabilityRequest;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_RuleBasedConstraints = RuleBasedConstraints;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_ResourcesFilter = ResourcesFilter;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_CalculateMultiSlotAvailabilityResponse = CalculateMultiSlotAvailabilityResponse;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_TimeSlotLocation = TimeSlotLocation;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_Service_availabilityWaitingList = Service_availabilityWaitingList;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_Service_availabilityBookingPolicyViolations = Service_availabilityBookingPolicyViolations;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_Service_availabilityNestedTimeSlot = Service_availabilityNestedTimeSlot;\n  const bookingsAvailabilityV1SlotAvailability_universal_d_queryAvailability: typeof queryAvailability;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_QueryAvailabilityOptions = QueryAvailabilityOptions;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_GetScheduleAvailabilityOptions = GetScheduleAvailabilityOptions;\n  const bookingsAvailabilityV1SlotAvailability_universal_d_calculateMultiSlotAvailability: typeof calculateMultiSlotAvailability;\n  type bookingsAvailabilityV1SlotAvailability_universal_d_CalculateMultiSlotAvailabilityOptions = CalculateMultiSlotAvailabilityOptions;\n  namespace bookingsAvailabilityV1SlotAvailability_universal_d {\n    export {\n      SlotAvailability$1 as SlotAvailability,\n      Slot$1 as Slot,\n      SlotResource$1 as SlotResource,\n      Location$a as Location,\n      LocationType$a as LocationType,\n      WaitingList$4 as WaitingList,\n      BookingPolicyViolations$4 as BookingPolicyViolations,\n      NestedTimeSlot$3 as NestedTimeSlot,\n      bookingsAvailabilityV1SlotAvailability_universal_d_QueryAvailabilityRequest as QueryAvailabilityRequest,\n      QueryV2$5 as QueryV2,\n      QueryV2PagingMethodOneOf$5 as QueryV2PagingMethodOneOf,\n      Sorting$9 as Sorting,\n      SortOrder$9 as SortOrder,\n      CursorPaging$d as CursorPaging,\n      CustomerChoices$3 as CustomerChoices,\n      bookingsAvailabilityV1SlotAvailability_universal_d_QueryAvailabilityResponse as QueryAvailabilityResponse,\n      PagingMetadataV2$4 as PagingMetadataV2,\n      Cursors$e as Cursors,\n      GetSlotAvailabilityRequest$1 as GetSlotAvailabilityRequest,\n      GetSlotAvailabilityResponse$1 as GetSlotAvailabilityResponse,\n      BookingPolicySettings$2 as BookingPolicySettings,\n      GetScheduleAvailabilityRequest$1 as GetScheduleAvailabilityRequest,\n      GetScheduleAvailabilityResponse$1 as GetScheduleAvailabilityResponse,\n      ScheduleAvailability$1 as ScheduleAvailability,\n      bookingsAvailabilityV1SlotAvailability_universal_d_CalculateMultiSlotAvailabilityRequest as CalculateMultiSlotAvailabilityRequest,\n      bookingsAvailabilityV1SlotAvailability_universal_d_RuleBasedConstraints as RuleBasedConstraints,\n      bookingsAvailabilityV1SlotAvailability_universal_d_ResourcesFilter as ResourcesFilter,\n      bookingsAvailabilityV1SlotAvailability_universal_d_CalculateMultiSlotAvailabilityResponse as CalculateMultiSlotAvailabilityResponse,\n      CursorPagingMetadata$b as CursorPagingMetadata,\n      GetAvailabilityTimeSlotRequest$3 as GetAvailabilityTimeSlotRequest,\n      bookingsAvailabilityV1SlotAvailability_universal_d_TimeSlotLocation as TimeSlotLocation,\n      LocationLocationType$2 as LocationLocationType,\n      GetAvailabilityTimeSlotResponse$3 as GetAvailabilityTimeSlotResponse,\n      TimeSlot$3 as TimeSlot,\n      EventInfo$3 as EventInfo,\n      bookingsAvailabilityV1SlotAvailability_universal_d_Service_availabilityWaitingList as Service_availabilityWaitingList,\n      bookingsAvailabilityV1SlotAvailability_universal_d_Service_availabilityBookingPolicyViolations as Service_availabilityBookingPolicyViolations,\n      AvailableResources$4 as AvailableResources,\n      Resource$7 as Resource,\n      bookingsAvailabilityV1SlotAvailability_universal_d_Service_availabilityNestedTimeSlot as Service_availabilityNestedTimeSlot,\n      bookingsAvailabilityV1SlotAvailability_universal_d_queryAvailability as queryAvailability,\n      bookingsAvailabilityV1SlotAvailability_universal_d_QueryAvailabilityOptions as QueryAvailabilityOptions,\n      getSlotAvailability$1 as getSlotAvailability,\n      GetSlotAvailabilityOptions$1 as GetSlotAvailabilityOptions,\n      getScheduleAvailability$1 as getScheduleAvailability,\n      bookingsAvailabilityV1SlotAvailability_universal_d_GetScheduleAvailabilityOptions as GetScheduleAvailabilityOptions,\n      bookingsAvailabilityV1SlotAvailability_universal_d_calculateMultiSlotAvailability as calculateMultiSlotAvailability,\n      bookingsAvailabilityV1SlotAvailability_universal_d_CalculateMultiSlotAvailabilityOptions as CalculateMultiSlotAvailabilityOptions,\n      getAvailabilityTimeSlot$1 as getAvailabilityTimeSlot,\n      GetAvailabilityTimeSlotOptions$1 as GetAvailabilityTimeSlotOptions,\n    };\n  }\n  \n  /**\n   * The `TimeSlot` object represents the availability information\n   * for an `Appointment` service's specific slot, including:\n   *\n   * 1. Whether the slot is bookable for the given service?\n   *\n   * 2. In what location the service is available for this slot?\n   *\n   * 3. Which available resources can provide the service for this slot?\n   *\n   * 4. Does booking the slot for the service violates any of the service booking policies?\n   *\n   * 5. What is the total capacity and remaining capacity of the service at the time of the calculation of the `TimeSlot`?\n   *\n   * > __Note:__\n   * > When the `TimeSlot` has a non empty `NestedTimeSlots`, it represents the availability information\n   * > for a given list of `Appointment` services within a specific time slot.\n   */\n  interface TimeSlot$2 {\n      /**\n       * Service ID.\n       *\n       * > Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n       * > Instead, each nested time slot has its own serviceId.\n       */\n      serviceId?: string | null;\n      /**\n       * Local start date of the time slot in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate?: string | null;\n      /**\n       * Local end date of the time slot in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate?: string | null;\n      /**\n       * Whether the slot is bookable according to the service's booking policies.\n       *\n       * If booking this time slot does not violates any of the service's booking policies,\n       * the returned value is `true`. Otherwise, returns `false`.\n       */\n      bookable?: boolean | null;\n      /** The geographic location of the slot. */\n      location?: Location$9;\n      /**\n       * Returned only for event.\n       * @internal\n       */\n      eventInfo?: EventInfo$2;\n      /** Total number of spots for the slot. */\n      totalCapacity?: number | null;\n      /**\n       * Remaining number of spots for the slot.\n       * For example, for an appointment service with total capacity of 1 spot and one booked spot, the remaining capacity will be 0.\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Indicators for booking policy violations for the slot.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$3;\n      /**\n       * List of `AvailableResources` for the time slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       *\n       * > Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n       * > Instead, each nested time slot has its own available resources.\n       */\n      availableResources?: AvailableResources$3[];\n      /**\n       * > Nested time slots.\n       * > Returned only from `MultiServiceAvailabilityTimeSlots` API calls.\n       */\n      nestedTimeSlots?: NestedTimeSlot$2[];\n  }\n  interface Location$9 {\n      /** Business Location ID. Present only if the location is a business location. */\n      _id?: string | null;\n      /** The location name. */\n      name?: string | null;\n      /** A string representation for the full address of the location. */\n      formattedAddress?: string | null;\n      /**\n       * The type of location:\n       * - `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n       * - `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.\n       * - `CUSTOMER`: The location is determined by the customer and is not set up beforehand.\n       */\n      locationType?: LocationType$9;\n  }\n  enum LocationType$9 {\n      UNKNOWN_LOCATION_TYPE = \"UNKNOWN_LOCATION_TYPE\",\n      /** A business location, either the default business address, or locations defined for the business by the Business Info. */\n      BUSINESS = \"BUSINESS\",\n      /** The location is unique to this service and isn't defined as one of the business locations. */\n      CUSTOM = \"CUSTOM\",\n      /** The location can be determined by the customer and is not set up beforehand. */\n      CUSTOMER = \"CUSTOMER\"\n  }\n  /** relevant for event based slots, and not for availability based slots */\n  interface EventInfo$2 {\n      /**\n       * TODO: format - might not be a guid?\n       * @internal\n       */\n      eventId?: string | null;\n      /** @internal */\n      waitingList?: WaitingList$3;\n  }\n  interface WaitingList$3 {\n      /** Total number of spots in this wait list. */\n      totalCapacity?: number | null;\n      /**\n       * Number of remaining spots for this wait list.\n       * For example, a Yoga event with 10 waitList spots and 3 registered\n       * on the waitList has 10 `total_capacity` and 7 `remaining_capacity`.\n       */\n      remainingCapacity?: number | null;\n  }\n  interface BookingPolicyViolations$3 {\n      /** Bookings policy violation. Too early to book this slot. */\n      tooEarlyToBook?: boolean | null;\n      /** Bookings policy violation. Too late to book this slot. */\n      tooLateToBook?: boolean | null;\n      /** Bookings policy violation. Online booking is disabled for the `TimeSlot` service. */\n      bookOnlineDisabled?: boolean | null;\n  }\n  interface AvailableResources$3 {\n      /** Resource type ID. */\n      resourceTypeId?: string | null;\n      /**\n       * Available resources for the time slot.\n       *\n       * + When returned from `ListAvailabilityTimeSlots`, empty by default.\n       * + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * contains __up__ to 10 available resources out of those provided.\n       *\n       * + When returned from `GetAvailabilityTimeSlots`, contains all available resources by default.\n       * + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * contains all of the available resources out of those provided.\n       *\n       *\n       * > + When returned from `ListMultiServiceAvailabilityTimeSlots`, empty by default.\n       * > + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * > contains __up__ to 10 available resources out of those provided.\n       *\n       * > + When returned from `GetMultiServiceAvailabilityTimeSlots`, contains all available resources by default.\n       * > + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * > contains all of the available resources out of those provided.\n       */\n      resources?: Resource$6[];\n      /**\n       * The required number of resources of this type in order to book the service.\n       * For example, a slot for a service that provides a double massage\n       * requires two resources of type `Staff Member` and one resource of type `Room`.\n       * @internal\n       */\n      numberOfResourcesRequired?: number | null;\n      /**\n       * Whether there are more available resources for the slot that are not listed in `resources` due to size limitations.\n       * @readonly\n       */\n      hasMoreAvailableResources?: boolean | null;\n  }\n  interface Resource$6 {\n      /** Resource ID. */\n      _id?: string;\n      /** Resource name. */\n      name?: string | null;\n  }\n  interface NestedTimeSlot$2 {\n      /** Service ID of the nested time slot. */\n      serviceId?: string;\n      /**\n       * Local start date of the nested time slot in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate?: string;\n      /**\n       * Local end date of the nested time slot in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate?: string;\n      /**\n       * List of `AvailableResources` for the nested time slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       */\n      availableResources?: AvailableResources$3[];\n  }\n  interface CalculateEventBasedAvailabilityRequest$2 {\n      serviceIds: string[];\n      from: string;\n      to: string;\n      timeZone: string;\n      /**\n       * TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006\n       * TODO: Locks are not taken into account. // Class is not supported yet. (relevant only for classes with waiting list)\n       * Aliza's suggestion to consider locks in bookable\n       */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$9[];\n      resourceIds?: string[];\n      /** if not empty, return slots with openSpots >= X */\n      openSpots?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$3;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      slotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$c;\n  }\n  interface CursorPaging$c {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface CalculateEventBasedAvailabilityResponse$2 {\n      slots?: TimeSlot$2[];\n      cursorPagingMetadata?: CursorPagingMetadata$a;\n  }\n  interface CursorPagingMetadata$a {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$d;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$d {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListEventTimeSlotsRequest$2 {\n      /** The services for which the time slots are being returned. */\n      serviceIds: string[] | null;\n      /**\n       * Local start date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      fromLocalDate: string | null;\n      /**\n       * Local end date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      toLocalDate: string | null;\n      /**\n       * The time zone, in IANA time zone format.\n       * Default is the Wix Business time zone.\n       */\n      timeZone: string | null;\n      /** TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006 */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$9[];\n      /** TODO: maxsize && do we need include_resource_type_id here? also is the behavior is the same as availabilityTimeSlots, we won't return resources by default? */\n      resourceIds?: string[] | null;\n      /** if not empty, return slots with remainingCapacity >= X */\n      remainingCapacity?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$3;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      timeSlotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$c;\n  }\n  interface ListEventTimeSlotsResponse$2 {\n      /** TODO: maxsize */\n      timeSlots?: TimeSlot$2[];\n      /** The time zone, in IANA time zone format. */\n      timeZone?: string | null;\n      cursorPagingMetadata?: CursorPagingMetadata$a;\n  }\n  interface ListMultiServiceAvailabilityTimeSlotsRequest$2 {\n      /**\n       * Services for which the multiService time slots are being returned for.\n       * Each service contains its own resources filters within.\n       *\n       * MinSize: `2`.\n       * MaxSize: `8`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      services?: Service$4[];\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Location for which the multiService TimeSlots are being returned for.\n       *\n       * You can specify location or location type for which the TimeSlots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      location?: Location$9;\n      /**\n       * Whether the `TimeSlot` is bookable according to all of the services booking policies.\n       *\n       * If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\n       * returns as `false`. Otherwise, returns as `true`.\n       *\n       * > __Note:__\n       * > A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n       * > while a `TimeSlot` with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\n       * has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\n       * the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n       *\n       * Each nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$3;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch TimeSlots in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\n       * the `cursorPaging`.`limit`. You may pass a different `limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging$2;\n  }\n  interface Service$4 {\n      /** Service ID. */\n      serviceId?: string;\n      /** Resources to include in response. */\n      resourceIds?: string[];\n      /**\n       * The resource type ID's to include in returned time slots.\n       * This is in addition to the specifically requested resources.\n       *\n       * <blockquote class=\"important\">\n       * Currently supported only for Staff Member resource type.\n       * Staff Member type ID: 1cd44cf8-756f-41c3-bd90-3e2ffcaf1155\n       * </blockquote>\n       */\n      includeResourceTypeIds?: string[];\n  }\n  interface CommonCursorPaging$2 {\n      /**\n       * Number of results to load.\n       *\n       * Default: `1000`.\n       * Max: `1000`.\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListMultiServiceAvailabilityTimeSlotsResponse$2 {\n      /** Time slots. */\n      timeSlots?: TimeSlot$2[];\n      /**\n       * Time zone, in IANA time zone format.\n       * Shared for all TimeSlots in response.\n       */\n      timeZone?: string | null;\n      /**\n       * CursorPagingMetaData.\n       * Contains information about the next page of results.\n       *\n       * By default,\n       * if there are more than 1000 results,\n       * the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * <code class=\"grey-background\">count</code> is not supported.</p>\n       * </blockquote>\n       */\n      cursorPagingMetadata?: CommonCursorPagingMetadata$2;\n  }\n  interface CommonCursorPagingMetadata$2 {\n      /** Offset that was requested. */\n      cursors?: CommonCursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetMultiServiceAvailabilityTimeSlotRequest$2 {\n      /**\n       * Services for which the multiService TimeSlots are being returned for.\n       * Each service contains its own resources filters within.\n       *\n       * MinSize: 2.\n       * MaxSize: 8.\n       */\n      services: Service$4[];\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location: Location$9;\n  }\n  interface GetMultiServiceAvailabilityTimeSlotResponse$2 {\n      /** Time slot. */\n      timeSlot?: TimeSlot$2;\n      /** The time zone, in IANA time zone format. */\n      timeZone?: string | null;\n  }\n  interface ListAvailabilityTimeSlotsRequest$2 {\n      /**\n       * Service ID for which the time slots are being returned for.\n       * Currently supported only for services of type `APPOINTMENT`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      serviceId?: string | null;\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Locations to include in response.\n       *\n       * By default,\n       * if no locations are provided,\n       * the response contains TimeSlots for all locations where the service is available.\n       *\n       * You can specify locations or location types for which the time slots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      locations?: Location$9[];\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\n       * Otherwise, the returned TimeSlots returns with an empty `AvailableResources`.\n       * @deprecated\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains __up__ to 10 available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n      /**\n       * Whether the `TimeSlot` is bookable according to the service's booking policies.\n       *\n       * If booking this `TimeSlot` does not violates any of the service's booking policies,\n       * returns as `true`. Otherwise, returns as `false`.\n       *\n       * > __Note:__\n       * > A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n       * > while a time slot with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$3;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch results in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\n       * a `cursorPaging`.`limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging$2;\n      /**\n       * Specifies whether to return all available resources in response.\n       * @internal\n       */\n      shouldReturnAllResources?: boolean;\n      /**\n       * Selected customer choices.\n       * If specified, the selected choices will be used to calculate service configuration.\n       * If not specified, the service default configuration will be used.\n       * Enforcing this field is the responsibility of the SPI implementer, and not by the Availability API.\n       * @internal\n       */\n      customerChoices?: CustomerChoices$2;\n      /**\n       * resources filter\n       * If specified, only time slots with these resources will be returned.\n       */\n      resourceTypes?: ResourceType$4[];\n  }\n  /**\n   * Selected customer choices.\n   * These choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties.\n   */\n  interface CustomerChoices$2 {\n      /**\n       * The selected customer duration in minutes.\n       * Min: `1 minute`\n       * Max: `44639 minutes` (30 days, 23 hours, and 59 minutes)\n       */\n      durationInMinutes?: number | null;\n  }\n  interface ResourceType$4 {\n      /** Resource type ID. */\n      resourceTypeId?: string | null;\n      /**\n       * Resource IDs.\n       * The response will contain only slots that have at least one of the specified resources.\n       */\n      resourceIds?: string[] | null;\n  }\n  interface ListAvailabilityTimeSlotsResponse$2 {\n      /** Time slots. */\n      timeSlots?: TimeSlot$2[];\n      /**\n       * Time zone, in IANA time zone format.\n       * Shared for all TimeSlots in response.\n       */\n      timeZone?: string | null;\n      /**\n       * CursorPagingMetaData.\n       * Contains information about the next page of results.\n       *\n       * By default,\n       * if there are more than 1000 results,\n       * the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * <code class=\"grey-background\">count</code> is not supported.</p>\n       * </blockquote>\n       */\n      cursorPagingMetadata?: CommonCursorPagingMetadata$2;\n  }\n  interface GetAvailabilityTimeSlotRequest$2 {\n      /**\n       * Service ID of the time slot.\n       * Currently supported only for services of type `APPOINTMENT`.\n       */\n      serviceId: string;\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location: Location$9;\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned `TimeSlot` contains only the available resources out of provided list.\n       * Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains all the available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n  }\n  interface GetAvailabilityTimeSlotResponse$2 {\n      /** Time slot. */\n      timeSlot?: TimeSlot$2;\n      /** Time zone, in IANA time zone format. */\n      timeZone?: string | null;\n  }\n  /**\n   * Retrieves a list of `TimeSlot`s that match the provided filters.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong>\n   * Currently supported only for services of type <code class=\"grey-background\">APPOINTMENT</code>.</p>\n   * </blockquote>\n   *\n   * The request body __must__ include either:\n   * + All of the following filters:  `serviceId`, `fromLocalDate`, `toLocalDate`, and `timeZone`.\n   * You may add additional filters as you wish.\n   * + A `cursorPaging` with a valid `cursor` from previous response.\n   *\n   *\n   * Each [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response\n   * represents the availability of the service in a specific location,\n   * and has a `localStartDate` within the range of the provided `fromLocalDate` and `toLocalDate` exclusive.\n   * The `localEndDate` of a `TimeSlot` is calculated as the sum of the `TimeSlot`'s `localStartDate` and the duration of the service.\n   *\n   * By default,\n   * the response contains at most 1000 results.\n   * If there are more than 1000 results, we return a `cursorPagingMetadata` with\n   * a cursor for the next page of results, regardless of whether a `cursorPaging`\n   * was provided in request.\n   *\n   * ### AvailableResources in response\n   * The `TimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service\n   * within the time slot. Each `AvailableResources` contains information about available resources of the same type.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong><br/>\n   * By default,\n   * if you don't specify <code class=\"grey-background\">includeResourceTypeIds</code>\n   * or <code class=\"grey-background\">resourceIds</code> filters in request,\n   * we return TimeSlots with an empty <code class=\"grey-background\">AvailableResources</code>.\n   * <br/><strong>Note:</strong><br/> Not specifying resources filters can be handy in case you want to avoid large response in flows that only\n   * interested of whether the time slots are available. [Finding the next available slot within the next 3 months](https://bo.wix.com/wix-docs/rest/all-apis/service-availability/availability-time-slots/sample-flows?localViewerId=inbari#all-apis_service-availability_availability-time-slots_sample-flows_find-the-first-date-within-the-next-3-months-that-the-selected-service-is-available-for)\n   * is an example for such flow.\n   * </p>\n   * </blockquote>\n   *\n   * If you wish to get a list of available resources for each `TimeSlot` you should either:\n   * + provide `resourceIds` in request.\n   * + provide `includeResourceTypeIds` in request.\n   *\n   * __Notes:__\n   * + In both cases the returned TimeSlots contains  __up__ to 10 `AvailableResources` that match the provided filters.\n   * Each `AvailableResources` contains __up__ to 10 available `resources` of the same type that match the provided filters.\n   * + If an `AvailableResources` has more available resources which are not listed within it,\n   * we return `AvailableResources`.`hasMoreAvailableResources` as true.\n   * > __Note:__\n   * > If you wish to get the full available resources list for a specific `TimeSlot`,\n   * > you should call [GetAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/get-availability-time-slot).\n   *\n   *\n   * ### Availability VS Bookability\n   * An `available` time slot is not necessarily `bookable`.\n   * The `bookable` field of a `TimeSlot` indicates whether a customer can book the service within the given time slot,\n   * at a specific period of time.\n   * Read more about [Availability VS Bookability](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/introduction#all-apis_wix-service-availability_service-availability-time-slots_introduction_availability-vs-bookability).\n   *\n   * By default,\n   * + The response does not contains `unavailable` TimeSlots.\n   * For example,\n   * if there are no available resources to provide the service from `2024-01-30T14:30:00` to `2024-01-30T15:30:00`,\n   * we don't return TimeSlots with `localStartDate` within this range.\n   * + The response contains both `bookable` and `un-bookable` TimeSlots.\n   * For example,\n   * if the service has a booking policy which enforces booking the service up to 10 minutes before the session starts,\n   * we return TimeSlots with the violating `localStartDate` with `bookable` as false.\n   * If you wish to list only available __bookable__ TimeSlots you should pass `bookable` filter as true.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong>\n   * Because of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.\n   * Read more about <a href=\"https://bo.wix.com/wix-docs/rest/all-apis/service-availability/availability-time-slots/introduction?localViewerId=inbari#all-apis_service-availability_availability-time-slots_introduction_daylight-saving-time-dst-handling\">DST Handling</a></p>\n   * </blockquote>\n   *\n   *\n   * ### ListAvailabilityTimeSlots runs with the following defaults\n   * + `localStartDate` is sorted in `ASC` order\n   * + `cursorPaging`.`limit` is `1000`\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.AVAILABILITY_READ_TIME_SLOTS\n   */\n  function listAvailabilityTimeSlots(options?: ListAvailabilityTimeSlotsOptions): Promise<ListAvailabilityTimeSlotsResponse$2>;\n  interface ListAvailabilityTimeSlotsOptions {\n      /**\n       * Service ID for which the time slots are being returned for.\n       * Currently supported only for services of type `APPOINTMENT`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      serviceId?: string | null;\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Locations to include in response.\n       *\n       * By default,\n       * if no locations are provided,\n       * the response contains TimeSlots for all locations where the service is available.\n       *\n       * You can specify locations or location types for which the time slots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      locations?: Location$9[];\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\n       * Otherwise, the returned TimeSlots returns with an empty `AvailableResources`.\n       * @deprecated\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains __up__ to 10 available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n      /**\n       * Whether the `TimeSlot` is bookable according to the service's booking policies.\n       *\n       * If booking this `TimeSlot` does not violates any of the service's booking policies,\n       * returns as `true`. Otherwise, returns as `false`.\n       *\n       * > __Note:__\n       * > A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n       * > while a time slot with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$3;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch results in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\n       * a `cursorPaging`.`limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging$2;\n      /**\n       * Specifies whether to return all available resources in response.\n       * @internal\n       */\n      shouldReturnAllResources?: boolean;\n      /**\n       * Selected customer choices.\n       * If specified, the selected choices will be used to calculate service configuration.\n       * If not specified, the service default configuration will be used.\n       * Enforcing this field is the responsibility of the SPI implementer, and not by the Availability API.\n       * @internal\n       */\n      customerChoices?: CustomerChoices$2;\n      /**\n       * resources filter\n       * If specified, only time slots with these resources will be returned.\n       */\n      resourceTypes?: ResourceType$4[];\n  }\n  /**\n   * Retrieves an available `TimeSlot` that match the provided filters.\n   *\n   * Throws `SlotNotFound` if there is no such available time slot.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong><br/>\n   * Currently supported only for services of type <code class=\"grey-background\">APPOINTMENT</code>.</p>\n   * </blockquote>\n   *\n   * By default,\n   * if you don't provide `includeResourceTypeIds` or `resourceIds` in request,\n   * we return all `AvailableResources` with all `AvailableResources`.`resources` which are available to provide\n   * the service within the time slot.\n   *\n   * If you specify `includeResourceTypeIds` or `resourceIds` in request,\n   * the returned `TimeSlot` will contain only `AvailableResources` with at least one available resource\n   * which match the given resources filters,\n   * each contains all available resources out of those requested.\n   *\n   *\n   * <blockquote class=\"tip\">\n   * <p><strong>Tip:</strong><br/>\n   * Use this API in order to get the availability of a specific <code class=\"grey-background\">TimeSlot</code> out of those returned from  <code class=\"grey-background\">ListAvailabilityTimeSlots</code> API.</p>\n   * </blockquote>\n   * @param serviceId - Service ID of the time slot.\n   * Currently supported only for services of type `APPOINTMENT`.\n   * @param localStartDate - Local start date of the time slot, in ISO-8601 format.\n   * For example, \"2024-01-30T13:30:00\".\n   * @param localEndDate - Local end date of the time slot, in ISO-8601 format.\n   * For example, \"2024-01-30T14:30:00\".\n   * @param timeZone - Time zone, in IANA time zone format.\n   * @param location - The location of the time slot.\n   *\n   * You must provide a specific `locationType`.\n   * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n   *\n   * <blockquote class=\"warning\">\n   * <p>Supports filtering by location type, or by location ID.\n   * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n   * </blockquote>\n   * @public\n   * @documentationMaturity preview\n   * @requiredField localEndDate\n   * @requiredField localStartDate\n   * @requiredField location\n   * @requiredField serviceId\n   * @requiredField timeZone\n   * @permissionId BOOKINGS.AVAILABILITY_READ_TIME_SLOTS\n   */\n  function getAvailabilityTimeSlot(serviceId: string, localStartDate: string, localEndDate: string, timeZone: string | null, location: Location$9, options?: GetAvailabilityTimeSlotOptions): Promise<GetAvailabilityTimeSlotResponse$2>;\n  interface GetAvailabilityTimeSlotOptions {\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned `TimeSlot` contains only the available resources out of provided list.\n       * Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains all the available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n  }\n  \n  const bookingsAvailabilityV2TimeSlotAvailabilityTimeSlots_universal_d_listAvailabilityTimeSlots: typeof listAvailabilityTimeSlots;\n  type bookingsAvailabilityV2TimeSlotAvailabilityTimeSlots_universal_d_ListAvailabilityTimeSlotsOptions = ListAvailabilityTimeSlotsOptions;\n  const bookingsAvailabilityV2TimeSlotAvailabilityTimeSlots_universal_d_getAvailabilityTimeSlot: typeof getAvailabilityTimeSlot;\n  type bookingsAvailabilityV2TimeSlotAvailabilityTimeSlots_universal_d_GetAvailabilityTimeSlotOptions = GetAvailabilityTimeSlotOptions;\n  namespace bookingsAvailabilityV2TimeSlotAvailabilityTimeSlots_universal_d {\n    export {\n      TimeSlot$2 as TimeSlot,\n      Location$9 as Location,\n      LocationType$9 as LocationType,\n      EventInfo$2 as EventInfo,\n      WaitingList$3 as WaitingList,\n      BookingPolicyViolations$3 as BookingPolicyViolations,\n      AvailableResources$3 as AvailableResources,\n      Resource$6 as Resource,\n      NestedTimeSlot$2 as NestedTimeSlot,\n      CalculateEventBasedAvailabilityRequest$2 as CalculateEventBasedAvailabilityRequest,\n      CursorPaging$c as CursorPaging,\n      CalculateEventBasedAvailabilityResponse$2 as CalculateEventBasedAvailabilityResponse,\n      CursorPagingMetadata$a as CursorPagingMetadata,\n      Cursors$d as Cursors,\n      ListEventTimeSlotsRequest$2 as ListEventTimeSlotsRequest,\n      ListEventTimeSlotsResponse$2 as ListEventTimeSlotsResponse,\n      ListMultiServiceAvailabilityTimeSlotsRequest$2 as ListMultiServiceAvailabilityTimeSlotsRequest,\n      Service$4 as Service,\n      CommonCursorPaging$2 as CommonCursorPaging,\n      ListMultiServiceAvailabilityTimeSlotsResponse$2 as ListMultiServiceAvailabilityTimeSlotsResponse,\n      CommonCursorPagingMetadata$2 as CommonCursorPagingMetadata,\n      CommonCursors$2 as CommonCursors,\n      GetMultiServiceAvailabilityTimeSlotRequest$2 as GetMultiServiceAvailabilityTimeSlotRequest,\n      GetMultiServiceAvailabilityTimeSlotResponse$2 as GetMultiServiceAvailabilityTimeSlotResponse,\n      ListAvailabilityTimeSlotsRequest$2 as ListAvailabilityTimeSlotsRequest,\n      CustomerChoices$2 as CustomerChoices,\n      ResourceType$4 as ResourceType,\n      ListAvailabilityTimeSlotsResponse$2 as ListAvailabilityTimeSlotsResponse,\n      GetAvailabilityTimeSlotRequest$2 as GetAvailabilityTimeSlotRequest,\n      GetAvailabilityTimeSlotResponse$2 as GetAvailabilityTimeSlotResponse,\n      bookingsAvailabilityV2TimeSlotAvailabilityTimeSlots_universal_d_listAvailabilityTimeSlots as listAvailabilityTimeSlots,\n      bookingsAvailabilityV2TimeSlotAvailabilityTimeSlots_universal_d_ListAvailabilityTimeSlotsOptions as ListAvailabilityTimeSlotsOptions,\n      bookingsAvailabilityV2TimeSlotAvailabilityTimeSlots_universal_d_getAvailabilityTimeSlot as getAvailabilityTimeSlot,\n      bookingsAvailabilityV2TimeSlotAvailabilityTimeSlots_universal_d_GetAvailabilityTimeSlotOptions as GetAvailabilityTimeSlotOptions,\n    };\n  }\n  \n  /**\n   * The `TimeSlot` object represents the availability information\n   * for an `Appointment` service's specific slot, including:\n   *\n   * 1. Whether the slot is bookable for the given service?\n   *\n   * 2. In what location the service is available for this slot?\n   *\n   * 3. Which available resources can provide the service for this slot?\n   *\n   * 4. Does booking the slot for the service violates any of the service booking policies?\n   *\n   * 5. What is the total capacity and remaining capacity of the service at the time of the calculation of the `TimeSlot`?\n   *\n   * > __Note:__\n   * > When the `TimeSlot` has a non empty `NestedTimeSlots`, it represents the availability information\n   * > for a given list of `Appointment` services within a specific time slot.\n   */\n  interface TimeSlot$1 {\n      /**\n       * Service ID.\n       *\n       * > Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n       * > Instead, each nested time slot has its own serviceId.\n       */\n      serviceId?: string | null;\n      /**\n       * Local start date of the time slot in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate?: string | null;\n      /**\n       * Local end date of the time slot in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate?: string | null;\n      /**\n       * Whether the slot is bookable according to the service's booking policies.\n       *\n       * If booking this time slot does not violates any of the service's booking policies,\n       * the returned value is `true`. Otherwise, returns `false`.\n       */\n      bookable?: boolean | null;\n      /** The geographic location of the slot. */\n      location?: Location$8;\n      /**\n       * Returned only for event.\n       * @internal\n       */\n      eventInfo?: EventInfo$1;\n      /** Total number of spots for the slot. */\n      totalCapacity?: number | null;\n      /**\n       * Remaining number of spots for the slot.\n       * For example, for an appointment service with total capacity of 1 spot and one booked spot, the remaining capacity will be 0.\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Indicators for booking policy violations for the slot.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$2;\n      /**\n       * List of `AvailableResources` for the time slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       *\n       * > Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n       * > Instead, each nested time slot has its own available resources.\n       */\n      availableResources?: AvailableResources$2[];\n      /**\n       * > Nested time slots.\n       * > Returned only from `MultiServiceAvailabilityTimeSlots` API calls.\n       */\n      nestedTimeSlots?: NestedTimeSlot$1[];\n  }\n  interface Location$8 {\n      /** Business Location ID. Present only if the location is a business location. */\n      _id?: string | null;\n      /** The location name. */\n      name?: string | null;\n      /** A string representation for the full address of the location. */\n      formattedAddress?: string | null;\n      /**\n       * The type of location:\n       * - `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n       * - `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.\n       * - `CUSTOMER`: The location is determined by the customer and is not set up beforehand.\n       */\n      locationType?: LocationType$8;\n  }\n  enum LocationType$8 {\n      UNKNOWN_LOCATION_TYPE = \"UNKNOWN_LOCATION_TYPE\",\n      /** A business location, either the default business address, or locations defined for the business by the Business Info. */\n      BUSINESS = \"BUSINESS\",\n      /** The location is unique to this service and isn't defined as one of the business locations. */\n      CUSTOM = \"CUSTOM\",\n      /** The location can be determined by the customer and is not set up beforehand. */\n      CUSTOMER = \"CUSTOMER\"\n  }\n  /** relevant for event based slots, and not for availability based slots */\n  interface EventInfo$1 {\n      /**\n       * TODO: format - might not be a guid?\n       * @internal\n       */\n      eventId?: string | null;\n      /** @internal */\n      waitingList?: WaitingList$2;\n  }\n  interface WaitingList$2 {\n      /** Total number of spots in this wait list. */\n      totalCapacity?: number | null;\n      /**\n       * Number of remaining spots for this wait list.\n       * For example, a Yoga event with 10 waitList spots and 3 registered\n       * on the waitList has 10 `total_capacity` and 7 `remaining_capacity`.\n       */\n      remainingCapacity?: number | null;\n  }\n  interface BookingPolicyViolations$2 {\n      /** Bookings policy violation. Too early to book this slot. */\n      tooEarlyToBook?: boolean | null;\n      /** Bookings policy violation. Too late to book this slot. */\n      tooLateToBook?: boolean | null;\n      /** Bookings policy violation. Online booking is disabled for the `TimeSlot` service. */\n      bookOnlineDisabled?: boolean | null;\n  }\n  interface AvailableResources$2 {\n      /** Resource type ID. */\n      resourceTypeId?: string | null;\n      /**\n       * Available resources for the time slot.\n       *\n       * + When returned from `ListAvailabilityTimeSlots`, empty by default.\n       * + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * contains __up__ to 10 available resources out of those provided.\n       *\n       * + When returned from `GetAvailabilityTimeSlots`, contains all available resources by default.\n       * + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * contains all of the available resources out of those provided.\n       *\n       *\n       * > + When returned from `ListMultiServiceAvailabilityTimeSlots`, empty by default.\n       * > + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * > contains __up__ to 10 available resources out of those provided.\n       *\n       * > + When returned from `GetMultiServiceAvailabilityTimeSlots`, contains all available resources by default.\n       * > + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * > contains all of the available resources out of those provided.\n       */\n      resources?: Resource$5[];\n      /**\n       * The required number of resources of this type in order to book the service.\n       * For example, a slot for a service that provides a double massage\n       * requires two resources of type `Staff Member` and one resource of type `Room`.\n       * @internal\n       */\n      numberOfResourcesRequired?: number | null;\n      /**\n       * Whether there are more available resources for the slot that are not listed in `resources` due to size limitations.\n       * @readonly\n       */\n      hasMoreAvailableResources?: boolean | null;\n  }\n  interface Resource$5 {\n      /** Resource ID. */\n      _id?: string;\n      /** Resource name. */\n      name?: string | null;\n  }\n  interface NestedTimeSlot$1 {\n      /** Service ID of the nested time slot. */\n      serviceId?: string;\n      /**\n       * Local start date of the nested time slot in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate?: string;\n      /**\n       * Local end date of the nested time slot in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate?: string;\n      /**\n       * List of `AvailableResources` for the nested time slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       */\n      availableResources?: AvailableResources$2[];\n  }\n  interface CalculateEventBasedAvailabilityRequest$1 {\n      serviceIds: string[];\n      from: string;\n      to: string;\n      timeZone: string;\n      /**\n       * TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006\n       * TODO: Locks are not taken into account. // Class is not supported yet. (relevant only for classes with waiting list)\n       * Aliza's suggestion to consider locks in bookable\n       */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$8[];\n      resourceIds?: string[];\n      /** if not empty, return slots with openSpots >= X */\n      openSpots?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$2;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      slotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$b;\n  }\n  interface CursorPaging$b {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface CalculateEventBasedAvailabilityResponse$1 {\n      slots?: TimeSlot$1[];\n      cursorPagingMetadata?: CursorPagingMetadata$9;\n  }\n  interface CursorPagingMetadata$9 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$c;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$c {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListEventTimeSlotsRequest$1 {\n      /** The services for which the time slots are being returned. */\n      serviceIds: string[] | null;\n      /**\n       * Local start date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      fromLocalDate: string | null;\n      /**\n       * Local end date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      toLocalDate: string | null;\n      /**\n       * The time zone, in IANA time zone format.\n       * Default is the Wix Business time zone.\n       */\n      timeZone: string | null;\n      /** TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006 */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$8[];\n      /** TODO: maxsize && do we need include_resource_type_id here? also is the behavior is the same as availabilityTimeSlots, we won't return resources by default? */\n      resourceIds?: string[] | null;\n      /** if not empty, return slots with remainingCapacity >= X */\n      remainingCapacity?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$2;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      timeSlotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$b;\n  }\n  interface ListEventTimeSlotsResponse$1 {\n      /** TODO: maxsize */\n      timeSlots?: TimeSlot$1[];\n      /** The time zone, in IANA time zone format. */\n      timeZone?: string | null;\n      cursorPagingMetadata?: CursorPagingMetadata$9;\n  }\n  interface ListMultiServiceAvailabilityTimeSlotsRequest$1 {\n      /**\n       * Services for which the multiService time slots are being returned for.\n       * Each service contains its own resources filters within.\n       *\n       * MinSize: `2`.\n       * MaxSize: `8`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      services?: Service$3[];\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Location for which the multiService TimeSlots are being returned for.\n       *\n       * You can specify location or location type for which the TimeSlots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      location?: Location$8;\n      /**\n       * Whether the `TimeSlot` is bookable according to all of the services booking policies.\n       *\n       * If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\n       * returns as `false`. Otherwise, returns as `true`.\n       *\n       * > __Note:__\n       * > A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n       * > while a `TimeSlot` with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\n       * has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\n       * the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n       *\n       * Each nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$2;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch TimeSlots in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\n       * the `cursorPaging`.`limit`. You may pass a different `limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging$1;\n  }\n  interface Service$3 {\n      /** Service ID. */\n      serviceId?: string;\n      /** Resources to include in response. */\n      resourceIds?: string[];\n      /**\n       * The resource type ID's to include in returned time slots.\n       * This is in addition to the specifically requested resources.\n       *\n       * <blockquote class=\"important\">\n       * Currently supported only for Staff Member resource type.\n       * Staff Member type ID: 1cd44cf8-756f-41c3-bd90-3e2ffcaf1155\n       * </blockquote>\n       */\n      includeResourceTypeIds?: string[];\n  }\n  interface CommonCursorPaging$1 {\n      /**\n       * Number of results to load.\n       *\n       * Default: `1000`.\n       * Max: `1000`.\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListMultiServiceAvailabilityTimeSlotsResponse$1 {\n      /** Time slots. */\n      timeSlots?: TimeSlot$1[];\n      /**\n       * Time zone, in IANA time zone format.\n       * Shared for all TimeSlots in response.\n       */\n      timeZone?: string | null;\n      /**\n       * CursorPagingMetaData.\n       * Contains information about the next page of results.\n       *\n       * By default,\n       * if there are more than 1000 results,\n       * the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * <code class=\"grey-background\">count</code> is not supported.</p>\n       * </blockquote>\n       */\n      cursorPagingMetadata?: CommonCursorPagingMetadata$1;\n  }\n  interface CommonCursorPagingMetadata$1 {\n      /** Offset that was requested. */\n      cursors?: CommonCursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetMultiServiceAvailabilityTimeSlotRequest$1 {\n      /**\n       * Services for which the multiService TimeSlots are being returned for.\n       * Each service contains its own resources filters within.\n       *\n       * MinSize: 2.\n       * MaxSize: 8.\n       */\n      services: Service$3[];\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location: Location$8;\n  }\n  interface GetMultiServiceAvailabilityTimeSlotResponse$1 {\n      /** Time slot. */\n      timeSlot?: TimeSlot$1;\n      /** The time zone, in IANA time zone format. */\n      timeZone?: string | null;\n  }\n  interface ListAvailabilityTimeSlotsRequest$1 {\n      /**\n       * Service ID for which the time slots are being returned for.\n       * Currently supported only for services of type `APPOINTMENT`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      serviceId?: string | null;\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Locations to include in response.\n       *\n       * By default,\n       * if no locations are provided,\n       * the response contains TimeSlots for all locations where the service is available.\n       *\n       * You can specify locations or location types for which the time slots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      locations?: Location$8[];\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\n       * Otherwise, the returned TimeSlots returns with an empty `AvailableResources`.\n       * @deprecated\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains __up__ to 10 available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n      /**\n       * Whether the `TimeSlot` is bookable according to the service's booking policies.\n       *\n       * If booking this `TimeSlot` does not violates any of the service's booking policies,\n       * returns as `true`. Otherwise, returns as `false`.\n       *\n       * > __Note:__\n       * > A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n       * > while a time slot with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$2;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch results in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\n       * a `cursorPaging`.`limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging$1;\n      /**\n       * Specifies whether to return all available resources in response.\n       * @internal\n       */\n      shouldReturnAllResources?: boolean;\n      /**\n       * Selected customer choices.\n       * If specified, the selected choices will be used to calculate service configuration.\n       * If not specified, the service default configuration will be used.\n       * Enforcing this field is the responsibility of the SPI implementer, and not by the Availability API.\n       * @internal\n       */\n      customerChoices?: CustomerChoices$1;\n      /**\n       * resources filter\n       * If specified, only time slots with these resources will be returned.\n       */\n      resourceTypes?: ResourceType$3[];\n  }\n  /**\n   * Selected customer choices.\n   * These choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties.\n   */\n  interface CustomerChoices$1 {\n      /**\n       * The selected customer duration in minutes.\n       * Min: `1 minute`\n       * Max: `44639 minutes` (30 days, 23 hours, and 59 minutes)\n       */\n      durationInMinutes?: number | null;\n  }\n  interface ResourceType$3 {\n      /** Resource type ID. */\n      resourceTypeId?: string | null;\n      /**\n       * Resource IDs.\n       * The response will contain only slots that have at least one of the specified resources.\n       */\n      resourceIds?: string[] | null;\n  }\n  interface ListAvailabilityTimeSlotsResponse$1 {\n      /** Time slots. */\n      timeSlots?: TimeSlot$1[];\n      /**\n       * Time zone, in IANA time zone format.\n       * Shared for all TimeSlots in response.\n       */\n      timeZone?: string | null;\n      /**\n       * CursorPagingMetaData.\n       * Contains information about the next page of results.\n       *\n       * By default,\n       * if there are more than 1000 results,\n       * the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * <code class=\"grey-background\">count</code> is not supported.</p>\n       * </blockquote>\n       */\n      cursorPagingMetadata?: CommonCursorPagingMetadata$1;\n  }\n  interface GetAvailabilityTimeSlotRequest$1 {\n      /**\n       * Service ID of the time slot.\n       * Currently supported only for services of type `APPOINTMENT`.\n       */\n      serviceId: string;\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location: Location$8;\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned `TimeSlot` contains only the available resources out of provided list.\n       * Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains all the available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n  }\n  interface GetAvailabilityTimeSlotResponse$1 {\n      /** Time slot. */\n      timeSlot?: TimeSlot$1;\n      /** Time zone, in IANA time zone format. */\n      timeZone?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField options.from\n   * @requiredField options.timeZone\n   * @requiredField options.to\n   * @requiredField serviceIds\n   * @permissionId BOOKINGS.AVAILABILITY_READ\n   */\n  function calculateEventBasedAvailability(serviceIds: string[], options?: CalculateEventBasedAvailabilityOptions): Promise<CalculateEventBasedAvailabilityResponse$1>;\n  interface CalculateEventBasedAvailabilityOptions {\n      from: string;\n      to: string;\n      timeZone: string;\n      /**\n       * TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006\n       * TODO: Locks are not taken into account. // Class is not supported yet. (relevant only for classes with waiting list)\n       * Aliza's suggestion to consider locks in bookable\n       */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$8[];\n      resourceIds?: string[];\n      /** if not empty, return slots with openSpots >= X */\n      openSpots?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$2;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      slotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$b;\n  }\n  /**\n   * TODO explain the sorting tie breaker\n   * Return a list of available slots, for Event based services\n   * can be called only for services with tag \"GROUP\"\n   * @param serviceIds - The services for which the time slots are being returned.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.fromLocalDate\n   * @requiredField options.timeZone\n   * @requiredField options.toLocalDate\n   * @requiredField serviceIds\n   * @permissionId BOOKINGS.AVAILABILITY_READ\n   */\n  function listEventTimeSlots(serviceIds: string[] | null, options?: ListEventTimeSlotsOptions): Promise<ListEventTimeSlotsResponse$1>;\n  interface ListEventTimeSlotsOptions {\n      /**\n       * Local start date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      fromLocalDate: string | null;\n      /**\n       * Local end date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      toLocalDate: string | null;\n      /**\n       * The time zone, in IANA time zone format.\n       * Default is the Wix Business time zone.\n       */\n      timeZone: string | null;\n      /** TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006 */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$8[];\n      /** TODO: maxsize && do we need include_resource_type_id here? also is the behavior is the same as availabilityTimeSlots, we won't return resources by default? */\n      resourceIds?: string[] | null;\n      /** if not empty, return slots with remainingCapacity >= X */\n      remainingCapacity?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$2;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      timeSlotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$b;\n  }\n  \n  const bookingsAvailabilityV2TimeSlotEventTimeSlots_universal_d_calculateEventBasedAvailability: typeof calculateEventBasedAvailability;\n  type bookingsAvailabilityV2TimeSlotEventTimeSlots_universal_d_CalculateEventBasedAvailabilityOptions = CalculateEventBasedAvailabilityOptions;\n  const bookingsAvailabilityV2TimeSlotEventTimeSlots_universal_d_listEventTimeSlots: typeof listEventTimeSlots;\n  type bookingsAvailabilityV2TimeSlotEventTimeSlots_universal_d_ListEventTimeSlotsOptions = ListEventTimeSlotsOptions;\n  namespace bookingsAvailabilityV2TimeSlotEventTimeSlots_universal_d {\n    export {\n      TimeSlot$1 as TimeSlot,\n      Location$8 as Location,\n      LocationType$8 as LocationType,\n      EventInfo$1 as EventInfo,\n      WaitingList$2 as WaitingList,\n      BookingPolicyViolations$2 as BookingPolicyViolations,\n      AvailableResources$2 as AvailableResources,\n      Resource$5 as Resource,\n      NestedTimeSlot$1 as NestedTimeSlot,\n      CalculateEventBasedAvailabilityRequest$1 as CalculateEventBasedAvailabilityRequest,\n      CursorPaging$b as CursorPaging,\n      CalculateEventBasedAvailabilityResponse$1 as CalculateEventBasedAvailabilityResponse,\n      CursorPagingMetadata$9 as CursorPagingMetadata,\n      Cursors$c as Cursors,\n      ListEventTimeSlotsRequest$1 as ListEventTimeSlotsRequest,\n      ListEventTimeSlotsResponse$1 as ListEventTimeSlotsResponse,\n      ListMultiServiceAvailabilityTimeSlotsRequest$1 as ListMultiServiceAvailabilityTimeSlotsRequest,\n      Service$3 as Service,\n      CommonCursorPaging$1 as CommonCursorPaging,\n      ListMultiServiceAvailabilityTimeSlotsResponse$1 as ListMultiServiceAvailabilityTimeSlotsResponse,\n      CommonCursorPagingMetadata$1 as CommonCursorPagingMetadata,\n      CommonCursors$1 as CommonCursors,\n      GetMultiServiceAvailabilityTimeSlotRequest$1 as GetMultiServiceAvailabilityTimeSlotRequest,\n      GetMultiServiceAvailabilityTimeSlotResponse$1 as GetMultiServiceAvailabilityTimeSlotResponse,\n      ListAvailabilityTimeSlotsRequest$1 as ListAvailabilityTimeSlotsRequest,\n      CustomerChoices$1 as CustomerChoices,\n      ResourceType$3 as ResourceType,\n      ListAvailabilityTimeSlotsResponse$1 as ListAvailabilityTimeSlotsResponse,\n      GetAvailabilityTimeSlotRequest$1 as GetAvailabilityTimeSlotRequest,\n      GetAvailabilityTimeSlotResponse$1 as GetAvailabilityTimeSlotResponse,\n      bookingsAvailabilityV2TimeSlotEventTimeSlots_universal_d_calculateEventBasedAvailability as calculateEventBasedAvailability,\n      bookingsAvailabilityV2TimeSlotEventTimeSlots_universal_d_CalculateEventBasedAvailabilityOptions as CalculateEventBasedAvailabilityOptions,\n      bookingsAvailabilityV2TimeSlotEventTimeSlots_universal_d_listEventTimeSlots as listEventTimeSlots,\n      bookingsAvailabilityV2TimeSlotEventTimeSlots_universal_d_ListEventTimeSlotsOptions as ListEventTimeSlotsOptions,\n    };\n  }\n  \n  /**\n   * The `TimeSlot` object represents the availability information\n   * for an `Appointment` service's specific slot, including:\n   *\n   * 1. Whether the slot is bookable for the given service?\n   *\n   * 2. In what location the service is available for this slot?\n   *\n   * 3. Which available resources can provide the service for this slot?\n   *\n   * 4. Does booking the slot for the service violates any of the service booking policies?\n   *\n   * 5. What is the total capacity and remaining capacity of the service at the time of the calculation of the `TimeSlot`?\n   *\n   * > __Note:__\n   * > When the `TimeSlot` has a non empty `NestedTimeSlots`, it represents the availability information\n   * > for a given list of `Appointment` services within a specific time slot.\n   */\n  interface TimeSlot {\n      /**\n       * Service ID.\n       *\n       * > Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n       * > Instead, each nested time slot has its own serviceId.\n       */\n      serviceId?: string | null;\n      /**\n       * Local start date of the time slot in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate?: string | null;\n      /**\n       * Local end date of the time slot in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate?: string | null;\n      /**\n       * Whether the slot is bookable according to the service's booking policies.\n       *\n       * If booking this time slot does not violates any of the service's booking policies,\n       * the returned value is `true`. Otherwise, returns `false`.\n       */\n      bookable?: boolean | null;\n      /** The geographic location of the slot. */\n      location?: Location$7;\n      /**\n       * Returned only for event.\n       * @internal\n       */\n      eventInfo?: EventInfo;\n      /** Total number of spots for the slot. */\n      totalCapacity?: number | null;\n      /**\n       * Remaining number of spots for the slot.\n       * For example, for an appointment service with total capacity of 1 spot and one booked spot, the remaining capacity will be 0.\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Indicators for booking policy violations for the slot.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$1;\n      /**\n       * List of `AvailableResources` for the time slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       *\n       * > Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n       * > Instead, each nested time slot has its own available resources.\n       */\n      availableResources?: AvailableResources$1[];\n      /**\n       * > Nested time slots.\n       * > Returned only from `MultiServiceAvailabilityTimeSlots` API calls.\n       */\n      nestedTimeSlots?: NestedTimeSlot[];\n  }\n  interface Location$7 {\n      /** Business Location ID. Present only if the location is a business location. */\n      _id?: string | null;\n      /** The location name. */\n      name?: string | null;\n      /** A string representation for the full address of the location. */\n      formattedAddress?: string | null;\n      /**\n       * The type of location:\n       * - `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n       * - `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.\n       * - `CUSTOMER`: The location is determined by the customer and is not set up beforehand.\n       */\n      locationType?: LocationType$7;\n  }\n  enum LocationType$7 {\n      UNKNOWN_LOCATION_TYPE = \"UNKNOWN_LOCATION_TYPE\",\n      /** A business location, either the default business address, or locations defined for the business by the Business Info. */\n      BUSINESS = \"BUSINESS\",\n      /** The location is unique to this service and isn't defined as one of the business locations. */\n      CUSTOM = \"CUSTOM\",\n      /** The location can be determined by the customer and is not set up beforehand. */\n      CUSTOMER = \"CUSTOMER\"\n  }\n  /** relevant for event based slots, and not for availability based slots */\n  interface EventInfo {\n      /**\n       * TODO: format - might not be a guid?\n       * @internal\n       */\n      eventId?: string | null;\n      /** @internal */\n      waitingList?: WaitingList$1;\n  }\n  interface WaitingList$1 {\n      /** Total number of spots in this wait list. */\n      totalCapacity?: number | null;\n      /**\n       * Number of remaining spots for this wait list.\n       * For example, a Yoga event with 10 waitList spots and 3 registered\n       * on the waitList has 10 `total_capacity` and 7 `remaining_capacity`.\n       */\n      remainingCapacity?: number | null;\n  }\n  interface BookingPolicyViolations$1 {\n      /** Bookings policy violation. Too early to book this slot. */\n      tooEarlyToBook?: boolean | null;\n      /** Bookings policy violation. Too late to book this slot. */\n      tooLateToBook?: boolean | null;\n      /** Bookings policy violation. Online booking is disabled for the `TimeSlot` service. */\n      bookOnlineDisabled?: boolean | null;\n  }\n  interface AvailableResources$1 {\n      /** Resource type ID. */\n      resourceTypeId?: string | null;\n      /**\n       * Available resources for the time slot.\n       *\n       * + When returned from `ListAvailabilityTimeSlots`, empty by default.\n       * + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * contains __up__ to 10 available resources out of those provided.\n       *\n       * + When returned from `GetAvailabilityTimeSlots`, contains all available resources by default.\n       * + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * contains all of the available resources out of those provided.\n       *\n       *\n       * > + When returned from `ListMultiServiceAvailabilityTimeSlots`, empty by default.\n       * > + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * > contains __up__ to 10 available resources out of those provided.\n       *\n       * > + When returned from `GetMultiServiceAvailabilityTimeSlots`, contains all available resources by default.\n       * > + + If you provided `includeResourceTypeIds` or  `resourceIds` in request,\n       * > contains all of the available resources out of those provided.\n       */\n      resources?: Resource$4[];\n      /**\n       * The required number of resources of this type in order to book the service.\n       * For example, a slot for a service that provides a double massage\n       * requires two resources of type `Staff Member` and one resource of type `Room`.\n       * @internal\n       */\n      numberOfResourcesRequired?: number | null;\n      /**\n       * Whether there are more available resources for the slot that are not listed in `resources` due to size limitations.\n       * @readonly\n       */\n      hasMoreAvailableResources?: boolean | null;\n  }\n  interface Resource$4 {\n      /** Resource ID. */\n      _id?: string;\n      /** Resource name. */\n      name?: string | null;\n  }\n  interface NestedTimeSlot {\n      /** Service ID of the nested time slot. */\n      serviceId?: string;\n      /**\n       * Local start date of the nested time slot in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate?: string;\n      /**\n       * Local end date of the nested time slot in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate?: string;\n      /**\n       * List of `AvailableResources` for the nested time slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       */\n      availableResources?: AvailableResources$1[];\n  }\n  interface CalculateEventBasedAvailabilityRequest {\n      serviceIds: string[];\n      from: string;\n      to: string;\n      timeZone: string;\n      /**\n       * TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006\n       * TODO: Locks are not taken into account. // Class is not supported yet. (relevant only for classes with waiting list)\n       * Aliza's suggestion to consider locks in bookable\n       */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$7[];\n      resourceIds?: string[];\n      /** if not empty, return slots with openSpots >= X */\n      openSpots?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$1;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      slotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$a;\n  }\n  interface CursorPaging$a {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface CalculateEventBasedAvailabilityResponse {\n      slots?: TimeSlot[];\n      cursorPagingMetadata?: CursorPagingMetadata$8;\n  }\n  interface CursorPagingMetadata$8 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$b;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$b {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListEventTimeSlotsRequest {\n      /** The services for which the time slots are being returned. */\n      serviceIds: string[] | null;\n      /**\n       * Local start date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      fromLocalDate: string | null;\n      /**\n       * Local end date for which event time slots are returned, in ISO-8601 format.\n       * E.g, \"2024-01-30T13:30:00\".\n       * Required, unless `cursorPaging` is provided.\n       */\n      toLocalDate: string | null;\n      /**\n       * The time zone, in IANA time zone format.\n       * Default is the Wix Business time zone.\n       */\n      timeZone: string | null;\n      /** TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006 */\n      bookable?: boolean | null;\n      /** support filtering by location type, or by locationId. Other fields like `name` are ignored */\n      location?: Location$7[];\n      /** TODO: maxsize && do we need include_resource_type_id here? also is the behavior is the same as availabilityTimeSlots, we won't return resources by default? */\n      resourceIds?: string[] | null;\n      /** if not empty, return slots with remainingCapacity >= X */\n      remainingCapacity?: number | null;\n      /**\n       * each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\n       * we will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$1;\n      /**\n       * Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\n       * at most 3 available slots are returned for each day in the date range specified in the query's\n       * `filter`.\n       *\n       * When a day has both bookable and non-bookable slots, bookable slots are returned first.\n       * Non-bookable slots are returned according to the specified filters, after all\n       * bookable slots are already included.\n       */\n      timeSlotsPerDay?: number | null;\n      cursorPaging?: CursorPaging$a;\n  }\n  interface ListEventTimeSlotsResponse {\n      /** TODO: maxsize */\n      timeSlots?: TimeSlot[];\n      /** The time zone, in IANA time zone format. */\n      timeZone?: string | null;\n      cursorPagingMetadata?: CursorPagingMetadata$8;\n  }\n  interface ListMultiServiceAvailabilityTimeSlotsRequest {\n      /**\n       * Services for which the multiService time slots are being returned for.\n       * Each service contains its own resources filters within.\n       *\n       * MinSize: `2`.\n       * MaxSize: `8`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      services?: Service$2[];\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Location for which the multiService TimeSlots are being returned for.\n       *\n       * You can specify location or location type for which the TimeSlots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      location?: Location$7;\n      /**\n       * Whether the `TimeSlot` is bookable according to all of the services booking policies.\n       *\n       * If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\n       * returns as `false`. Otherwise, returns as `true`.\n       *\n       * > __Note:__\n       * > A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n       * > while a `TimeSlot` with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\n       * has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\n       * the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n       *\n       * Each nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$1;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch TimeSlots in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\n       * the `cursorPaging`.`limit`. You may pass a different `limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface Service$2 {\n      /** Service ID. */\n      serviceId?: string;\n      /** Resources to include in response. */\n      resourceIds?: string[];\n      /**\n       * The resource type ID's to include in returned time slots.\n       * This is in addition to the specifically requested resources.\n       *\n       * <blockquote class=\"important\">\n       * Currently supported only for Staff Member resource type.\n       * Staff Member type ID: 1cd44cf8-756f-41c3-bd90-3e2ffcaf1155\n       * </blockquote>\n       */\n      includeResourceTypeIds?: string[];\n  }\n  interface CommonCursorPaging {\n      /**\n       * Number of results to load.\n       *\n       * Default: `1000`.\n       * Max: `1000`.\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListMultiServiceAvailabilityTimeSlotsResponse {\n      /** Time slots. */\n      timeSlots?: TimeSlot[];\n      /**\n       * Time zone, in IANA time zone format.\n       * Shared for all TimeSlots in response.\n       */\n      timeZone?: string | null;\n      /**\n       * CursorPagingMetaData.\n       * Contains information about the next page of results.\n       *\n       * By default,\n       * if there are more than 1000 results,\n       * the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * <code class=\"grey-background\">count</code> is not supported.</p>\n       * </blockquote>\n       */\n      cursorPagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface CommonCursorPagingMetadata {\n      /** Offset that was requested. */\n      cursors?: CommonCursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetMultiServiceAvailabilityTimeSlotRequest {\n      /**\n       * Services for which the multiService TimeSlots are being returned for.\n       * Each service contains its own resources filters within.\n       *\n       * MinSize: 2.\n       * MaxSize: 8.\n       */\n      services: Service$2[];\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location: Location$7;\n  }\n  interface GetMultiServiceAvailabilityTimeSlotResponse {\n      /** Time slot. */\n      timeSlot?: TimeSlot;\n      /** The time zone, in IANA time zone format. */\n      timeZone?: string | null;\n  }\n  interface ListAvailabilityTimeSlotsRequest {\n      /**\n       * Service ID for which the time slots are being returned for.\n       * Currently supported only for services of type `APPOINTMENT`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      serviceId?: string | null;\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Locations to include in response.\n       *\n       * By default,\n       * if no locations are provided,\n       * the response contains TimeSlots for all locations where the service is available.\n       *\n       * You can specify locations or location types for which the time slots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      locations?: Location$7[];\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\n       * Otherwise, the returned TimeSlots returns with an empty `AvailableResources`.\n       * @deprecated\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains __up__ to 10 available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n      /**\n       * Whether the `TimeSlot` is bookable according to the service's booking policies.\n       *\n       * If booking this `TimeSlot` does not violates any of the service's booking policies,\n       * returns as `true`. Otherwise, returns as `false`.\n       *\n       * > __Note:__\n       * > A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n       * > while a time slot with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$1;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch results in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\n       * a `cursorPaging`.`limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging;\n      /**\n       * Specifies whether to return all available resources in response.\n       * @internal\n       */\n      shouldReturnAllResources?: boolean;\n      /**\n       * Selected customer choices.\n       * If specified, the selected choices will be used to calculate service configuration.\n       * If not specified, the service default configuration will be used.\n       * Enforcing this field is the responsibility of the SPI implementer, and not by the Availability API.\n       * @internal\n       */\n      customerChoices?: CustomerChoices;\n      /**\n       * resources filter\n       * If specified, only time slots with these resources will be returned.\n       */\n      resourceTypes?: ResourceType$2[];\n  }\n  /**\n   * Selected customer choices.\n   * These choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties.\n   */\n  interface CustomerChoices {\n      /**\n       * The selected customer duration in minutes.\n       * Min: `1 minute`\n       * Max: `44639 minutes` (30 days, 23 hours, and 59 minutes)\n       */\n      durationInMinutes?: number | null;\n  }\n  interface ResourceType$2 {\n      /** Resource type ID. */\n      resourceTypeId?: string | null;\n      /**\n       * Resource IDs.\n       * The response will contain only slots that have at least one of the specified resources.\n       */\n      resourceIds?: string[] | null;\n  }\n  interface ListAvailabilityTimeSlotsResponse {\n      /** Time slots. */\n      timeSlots?: TimeSlot[];\n      /**\n       * Time zone, in IANA time zone format.\n       * Shared for all TimeSlots in response.\n       */\n      timeZone?: string | null;\n      /**\n       * CursorPagingMetaData.\n       * Contains information about the next page of results.\n       *\n       * By default,\n       * if there are more than 1000 results,\n       * the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * <code class=\"grey-background\">count</code> is not supported.</p>\n       * </blockquote>\n       */\n      cursorPagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface GetAvailabilityTimeSlotRequest {\n      /**\n       * Service ID of the time slot.\n       * Currently supported only for services of type `APPOINTMENT`.\n       */\n      serviceId: string;\n      /**\n       * Local start date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       */\n      localStartDate: string;\n      /**\n       * Local end date of the time slot, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       */\n      localEndDate: string;\n      /** Time zone, in IANA time zone format. */\n      timeZone: string | null;\n      /**\n       * The location of the time slot.\n       *\n       * You must provide a specific `locationType`.\n       * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n       *\n       * <blockquote class=\"warning\">\n       * <p>Supports filtering by location type, or by location ID.\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       */\n      location: Location$7;\n      /**\n       * Resources to include in response.\n       *\n       * If specified,\n       * the returned `TimeSlot` contains only the available resources out of provided list.\n       * Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n       */\n      resourceIds?: string[];\n      /**\n       * Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n       *\n       * If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\n       * out of those specified, each contains all the available resources of this type.\n       */\n      includeResourceTypeIds?: string[];\n  }\n  interface GetAvailabilityTimeSlotResponse {\n      /** Time slot. */\n      timeSlot?: TimeSlot;\n      /** Time zone, in IANA time zone format. */\n      timeZone?: string | null;\n  }\n  /**\n   * Retrieves a list of multiService `TimeSlot`s that match the provided filters.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong><br/>\n   * Currently supported only for services of type <code class=\"grey-background\">APPOINTMENT</code>.</p>\n   * </blockquote>\n   *\n   * The request body __must__ include either:\n   * + All of the following filters:  `service`.`serviceId`, `fromLocalDate`, `toLocalDate`, `location`, and `timeZone`. You may add additional filters as you wish.\n   * + A `cursorPaging` with a valid `cursor` from previous response.\n   *\n   *\n   * Each [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response\n   * represents the availability of the given sequence of services in a specific order, location, and within a given range of time.\n   *\n   * Each `TimeSlot`.`NestedTimeSlot` represents a single service from the given list. The order of the `NestedTimeSlots` is the same as the order\n   * of the given services in request.\n   * The first `NestedTimeSlot` has `localStartDate` within the given `fromLocalDate` and `toLocalDate` exclusive,\n   * and each following `NestedTimeSlot` has a `localStartDate` that equals to the previous `NestedTimeSlot`'s `localEndDate`.\n   *\n   * By default,\n   * the response contains at most 1000 results.\n   * If there are more than 1000 results, we return a `cursorPagingMetadata` with\n   * a cursor for the next page of results, regardless of whether a `cursorPaging`\n   * was provided in request.\n   *\n   * > __Notes:__\n   * >  + All nested time slots share the same location.\n   * >  + You can pass up to 8 services in request.\n   *\n   * ### AvailableResources in response:\n   * The `TimeSlot`.`NestedTimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service\n   * within the `NestedTimeSlot` range of time. Each `AvailableResources` contains information about available resources of the same type.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong><br/>\n   * By default,\n   * if you don't specify <code class=\"grey-background\">service</code>.<code class=\"grey-background\">includeResourceTypeIds</code>\n   * or  <code class=\"grey-background\">service</code>.<code class=\"grey-background\">resourceIds</code> filters in request,\n   * we return TimeSlots with <code class=\"grey-background\">NestedTimeSlot</code>s with an empty <code class=\"grey-background\">AvailableResources</code>.\n   * <br/><strong>Note:</strong><br/> Not specifying resources filters can be handy in case you want to avoid large response in flows that only\n   * interested of whether the time slots are available. [Finding the next available slot within the next 3 months](https://bo.wix.com/wix-docs/rest/all-apis/service-availability/multi-service-availability-time-slots/sample-flows?localViewerId=inbari#all-apis_service-availability_multi-service-availability-time-slots_sample-flows_find-the-first-date-within-the-next-3-months-that-all-selected-services-are-available-for)\n   * is an example for such flow.\n   * </p>\n   * </blockquote>\n   *\n   *\n   * If you wish to get a list of available resources for a `TimeSlot`.`NestedTimeSlot` you should either:\n   * + provide `service`.`resourceIds` in request.\n   * + provide `service`.`includeResourceTypeIds` in request.\n   *\n   * __Notes:__\n   * + In both cases the returned `TimeSlot`.`NestedTimeSlot` contains  __up__ to 10 `AvailableResources` that match the provided filters. Each `AvailableResources` contains __up__ to 10 available `resources` of the same type that match the provided filters.\n   * + If an `AvailableResources` has more available resources which are not listed within it, we return `AvailableResources`.`hasMoreAvailableResources` as true.\n   * + If you wish to get the full available resources list for all `NestedTimeSlot` of a specific `TimeSlot`, you should call [GetMultiServiceAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/get-multi-service-availability-time-slot).\n   *\n   *\n   * ### Availability VS Bookability\n   * An `available` time slot is not necessarily `bookable`.\n   * The `bookable` field of a `TimeSlot` indicates whether the customer can book all of the of the services within the given time slot,\n   * at a specific period of time.\n   * Read more about [Availability VS Bookability](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/introduction#all-apis_wix-service-availability_multi-service-availability-time-slots_introduction_availability-vs-bookability).\n   *\n   * By default,\n   * + The response does not contains `unavailable` TimeSlots.For example, if there are no available resources to provide one of the services from `2024-01-30T14:30:00` to `2024-01-30T15:30:00`, we don't return TimeSlots with `NestedTimeSlot`.`localStartDate` within this range for this service.\n   * + The response contains both `bookable` and `un-bookable` TimeSlots.For example, if one of the services has a booking policy which enforces booking the service up to 10 minutes before the session starts, we return TimeSlots with the violating `NestedTimeSlot`.`localStartDate`, with `bookable` as `false`. If you want to list only __bookable__ TimeSlots you should pass `bookable` as `true`.\n   * + If booking one of the `NestedTimeSlot`s violates one of the corresponding service's booking policies, the `TimeSlot` returns with `bookable` as false. There is no indication which service's policy was violated.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong>\n   * Because of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.\n   * Read more about <a href=\"https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/introduction#all-apis_wix-service-availability_multi-service-availability-time-slots_introduction_daylight-saving-time-dst-handling\">DST Handling</a></p>\n   * </blockquote>\n   *\n   * ### ListAvailabilityTimeSlots runs with the following defaults:\n   * + `localStartDate` is sorted in `ASC` order.\n   * + `cursorPaging`.`limit` is `1000`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.AVAILABILITY_READ_MULTI_SERVICE_TIME_SLOTS\n   */\n  function listMultiServiceAvailabilityTimeSlots(options?: ListMultiServiceAvailabilityTimeSlotsOptions): Promise<ListMultiServiceAvailabilityTimeSlotsResponse>;\n  interface ListMultiServiceAvailabilityTimeSlotsOptions {\n      /**\n       * Services for which the multiService time slots are being returned for.\n       * Each service contains its own resources filters within.\n       *\n       * MinSize: `2`.\n       * MaxSize: `8`.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      services?: Service$2[];\n      /**\n       * Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T13:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\n       * For example, \"2024-01-30T14:30:00\".\n       *\n       * Each returned `TimeSlot` in response has a `localStartDate`\n       * within the provided `fromLocalDate` and `toLocalDate` exclusive.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone, in IANA time zone format.\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      timeZone?: string | null;\n      /**\n       * Location for which the multiService TimeSlots are being returned for.\n       *\n       * You can specify location or location type for which the TimeSlots will be returned for.\n       * If locationType is `BUSINESS`, you __must__ provide a locationId.\n       *\n       * <blockquote class=\"warning\">\n       * <p><strong>warning:</strong><br/>\n       * Supports filtering by location type, or by location ID. </br>\n       * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n       * </blockquote>\n       *\n       * Required, unless `cursorPaging`.`cursor` is provided.\n       */\n      location?: Location$7;\n      /**\n       * Whether the `TimeSlot` is bookable according to all of the services booking policies.\n       *\n       * If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\n       * returns as `false`. Otherwise, returns as `true`.\n       *\n       * > __Note:__\n       * > A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n       * > while a `TimeSlot` with no available resources will not be returned at all.\n       */\n      bookable?: boolean | null;\n      /**\n       * Indicators for service's booking policy violations for booking the `TimeSlot`.\n       *\n       * A bookable time slot must not violate any policy,\n       * therefor, this filter is only relevant when `bookable` filter is false.\n       *\n       * Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\n       * has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\n       * the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n       *\n       * Each nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\n       * we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n       */\n      bookingPolicyViolations?: BookingPolicyViolations$1;\n      /**\n       * Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\n       * we return at most 3 available TimeSlots for each day within the date range specified in request.\n       *\n       * By default,\n       * if `bookable` filter was not specified,\n       * and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n       *\n       * If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n       * `un-bookable` slots will be returned according to the specified filters.\n       */\n      timeSlotsPerDay?: number | null;\n      /**\n       * CursorPaging.\n       *\n       * Enables you to fetch TimeSlots in smaller, more manageable chunks\n       * by setting a limit on the number of results returned in response.\n       * This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n       *\n       * If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\n       * with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\n       * returned cursor to the next call as `cursorPaging`.`cursor`.\n       *\n       * For the first call, you should only specify the `limit` for the results page.\n       * For each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\n       * the `cursorPaging`.`limit`. You may pass a different `limit`.\n       * No need to specify any additional parameters.\n       *\n       * <blockquote class=\"important\">\n       * <p><strong>Important:</strong><br/>\n       * If you only provide a <code class=\"grey-background\">cursorPaging</code>. <code class=\"grey-background\">cursor</code>,\n       * the response will contain the default size of results which is `1000`.\n       * </p>\n       * </blockquote>\n       */\n      cursorPaging?: CommonCursorPaging;\n  }\n  /**\n   * Retrieves an available multiService `TimeSlot` that match the provided filters.\n   *\n   * Throws `SlotNotFound` if there is no such available time slot.\n   *\n   * <blockquote class=\"important\">\n   * <p><strong>Important:</strong><br/>\n   * Currently supported only for services of type <code class=\"grey-background\">APPOINTMENT</code>.</p>\n   * </blockquote>\n   *\n   * By default,\n   * if you don't provide a `service`.`includeResourceTypeIds` or `service`.`resourceIds` in request,\n   * we return for each `TimeSlot`.`NestedTimeSlot` all `AvailableResources` with all `AvailableResources`.`resources` which are available to provide\n   * the corresponding service within the time slot.\n   *\n   * If you specify `service`.`includeResourceTypeIds` or `service`.`resourceIds` in request,\n   * the returned `TimeSlot`.`NestedTimeSlot` for this service will contain only `AvailableResources` with at least one available resource\n   * which match the given resources filters,\n   * each contains all available resources out of those requested.\n   *\n   * + Notes:\n   * + All nested time slots share the same location.\n   * + You can pass up to 8 services.\n   *\n   * <blockquote class=\"tip\">\n   * <p><strong>Tip:</strong><br/>\n   * Use this API in order to get the availability of a specific <code class=\"grey-background\">TimeSlot</code> out of those returned from  <code class=\"grey-background\">ListMultiServiceAvailabilityTimeSlots</code> API.</p>\n   * </blockquote>\n   * @param services - Services for which the multiService TimeSlots are being returned for.\n   * Each service contains its own resources filters within.\n   *\n   * MinSize: 2.\n   * MaxSize: 8.\n   * @param localStartDate - Local start date of the time slot, in ISO-8601 format.\n   * For example, \"2024-01-30T13:30:00\".\n   * @param localEndDate - Local end date of the time slot, in ISO-8601 format.\n   * For example, \"2024-01-30T14:30:00\".\n   * @param timeZone - Time zone, in IANA time zone format.\n   * @param location - The location of the time slot.\n   *\n   * You must provide a specific `locationType`.\n   * If locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n   *\n   * <blockquote class=\"warning\">\n   * <p>Supports filtering by location type, or by location ID.\n   * Other fields like <code class=\"grey-background\">name</code> are ignored.</p>\n   * </blockquote>\n   * @public\n   * @documentationMaturity preview\n   * @requiredField localEndDate\n   * @requiredField localStartDate\n   * @requiredField location\n   * @requiredField location.locationType\n   * @requiredField services\n   * @requiredField services.serviceId\n   * @requiredField timeZone\n   * @permissionId BOOKINGS.AVAILABILITY_READ_MULTI_SERVICE_TIME_SLOTS\n   */\n  function getMultiServiceAvailabilityTimeSlot(services: Service$2[], localStartDate: string, localEndDate: string, timeZone: string | null, location: Location$7): Promise<GetMultiServiceAvailabilityTimeSlotResponse>;\n  \n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_TimeSlot = TimeSlot;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_EventInfo = EventInfo;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_NestedTimeSlot = NestedTimeSlot;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CalculateEventBasedAvailabilityRequest = CalculateEventBasedAvailabilityRequest;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CalculateEventBasedAvailabilityResponse = CalculateEventBasedAvailabilityResponse;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListEventTimeSlotsRequest = ListEventTimeSlotsRequest;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListEventTimeSlotsResponse = ListEventTimeSlotsResponse;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListMultiServiceAvailabilityTimeSlotsRequest = ListMultiServiceAvailabilityTimeSlotsRequest;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CommonCursorPaging = CommonCursorPaging;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListMultiServiceAvailabilityTimeSlotsResponse = ListMultiServiceAvailabilityTimeSlotsResponse;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CommonCursorPagingMetadata = CommonCursorPagingMetadata;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CommonCursors = CommonCursors;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_GetMultiServiceAvailabilityTimeSlotRequest = GetMultiServiceAvailabilityTimeSlotRequest;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_GetMultiServiceAvailabilityTimeSlotResponse = GetMultiServiceAvailabilityTimeSlotResponse;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListAvailabilityTimeSlotsRequest = ListAvailabilityTimeSlotsRequest;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CustomerChoices = CustomerChoices;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListAvailabilityTimeSlotsResponse = ListAvailabilityTimeSlotsResponse;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_GetAvailabilityTimeSlotRequest = GetAvailabilityTimeSlotRequest;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_GetAvailabilityTimeSlotResponse = GetAvailabilityTimeSlotResponse;\n  const bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_listMultiServiceAvailabilityTimeSlots: typeof listMultiServiceAvailabilityTimeSlots;\n  type bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListMultiServiceAvailabilityTimeSlotsOptions = ListMultiServiceAvailabilityTimeSlotsOptions;\n  const bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_getMultiServiceAvailabilityTimeSlot: typeof getMultiServiceAvailabilityTimeSlot;\n  namespace bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d {\n    export {\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_TimeSlot as TimeSlot,\n      Location$7 as Location,\n      LocationType$7 as LocationType,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_EventInfo as EventInfo,\n      WaitingList$1 as WaitingList,\n      BookingPolicyViolations$1 as BookingPolicyViolations,\n      AvailableResources$1 as AvailableResources,\n      Resource$4 as Resource,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_NestedTimeSlot as NestedTimeSlot,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CalculateEventBasedAvailabilityRequest as CalculateEventBasedAvailabilityRequest,\n      CursorPaging$a as CursorPaging,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CalculateEventBasedAvailabilityResponse as CalculateEventBasedAvailabilityResponse,\n      CursorPagingMetadata$8 as CursorPagingMetadata,\n      Cursors$b as Cursors,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListEventTimeSlotsRequest as ListEventTimeSlotsRequest,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListEventTimeSlotsResponse as ListEventTimeSlotsResponse,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListMultiServiceAvailabilityTimeSlotsRequest as ListMultiServiceAvailabilityTimeSlotsRequest,\n      Service$2 as Service,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CommonCursorPaging as CommonCursorPaging,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListMultiServiceAvailabilityTimeSlotsResponse as ListMultiServiceAvailabilityTimeSlotsResponse,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CommonCursorPagingMetadata as CommonCursorPagingMetadata,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CommonCursors as CommonCursors,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_GetMultiServiceAvailabilityTimeSlotRequest as GetMultiServiceAvailabilityTimeSlotRequest,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_GetMultiServiceAvailabilityTimeSlotResponse as GetMultiServiceAvailabilityTimeSlotResponse,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListAvailabilityTimeSlotsRequest as ListAvailabilityTimeSlotsRequest,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_CustomerChoices as CustomerChoices,\n      ResourceType$2 as ResourceType,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListAvailabilityTimeSlotsResponse as ListAvailabilityTimeSlotsResponse,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_GetAvailabilityTimeSlotRequest as GetAvailabilityTimeSlotRequest,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_GetAvailabilityTimeSlotResponse as GetAvailabilityTimeSlotResponse,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_listMultiServiceAvailabilityTimeSlots as listMultiServiceAvailabilityTimeSlots,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_ListMultiServiceAvailabilityTimeSlotsOptions as ListMultiServiceAvailabilityTimeSlotsOptions,\n      bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d_getMultiServiceAvailabilityTimeSlot as getMultiServiceAvailabilityTimeSlot,\n    };\n  }\n  \n  interface ExternalCalendar {\n  }\n  interface ListProvidersRequest {\n  }\n  interface ListProvidersResponse {\n      /**\n       * Retrieves a list of the external calendar providers for which the site supports integration.\n       *\n       *\n       * The list of external calendar providers includes:\n       *\n       * + External calendar providers that are supported by default, such as Google, Apple, and Microsoft.\n       * + External calenders for which the site owner has enabled integration by installing an app.\n       *\n       * For each external calendar provider, the list contains information about supported connection methods and features.\n       * For each provider, check `features.connectMethods` to find out whether to use `connectByCredentials()` or `connectByOAuth()` to establish a connection.\n       */\n      providers?: Provider[];\n  }\n  interface Provider {\n      /** ID of the external calendar provider. */\n      _id?: string | null;\n      /** Name of the external calendar provider. */\n      name?: string | null;\n      /** External calendar provider type. */\n      calendarType?: CalendarType$3;\n      /** Features the external calendar provider supports. */\n      features?: ProviderFeatures;\n      /**\n       * ID of the calendar provider.\n       * Deprecated.  Please use `id` instead.\n       * @internal\n       * @deprecated\n       */\n      appDefId?: string | null;\n  }\n  enum CalendarType$3 {\n      UNDEFINED = \"UNDEFINED\",\n      GOOGLE = \"GOOGLE\",\n      I_CAL = \"I_CAL\",\n      /** Use `MICROSOFT` instead. */\n      OUTLOOK = \"OUTLOOK\",\n      /** Use `MICROSOFT` instead. */\n      OFFICE_365 = \"OFFICE_365\",\n      MICROSOFT = \"MICROSOFT\",\n      OTHER = \"OTHER\"\n  }\n  interface ProviderFeatures {\n      /**\n       * Supported connection methods.\n       *\n       * For providers supporting `OAUTH`, connect with the `connectByOAuth()` function.\n       * For providers supporting `CREDENTIALS`, connect with the `connectByCredentials()` function.\n       */\n      connectMethods?: ConnectMethod[];\n      /**\n       * Whether the sync configuration can be updated after a connection is established.\n       *\n       * If `true`, you can update the sync configuration using the `updateSyncConfig()` function.\n       */\n      updateSyncConfig?: boolean | null;\n      /**\n       * Whether events can be imported from external calendars to the Wix calendar.\n       *\n       * + `NOT_SUPPORTED`: Importing events from the external calendar is not supported.\n       * + `PRIMARY_CALENDAR_ONLY`: Events can be imported only from an external calendar designated as primary.\n       * + `SPECIFIC_CALENDARS`: Events can be imported from specific external calendars. Use `listCalendars()` to get a list of calendars for a connected external calendar account.\n       */\n      listEventFromCalendars?: ListEventFromCalendars;\n      /**\n       * Whether Wix calendar sessions can be exported to the external calendar.\n       *\n       * + `NOT_SUPPORTED`: Exporting events to an external calendar is not supported.\n       * + `PRIMARY_CALENDAR_ONLY`: Events can only be exported only to an external calendar designated as primary.\n       * + `SPECIFIC_CALENDARS`: Events can be exported to specific external calendars. Use `listCalendars()` to get a list of calendars for a connected external calendar account.\n       * + `DEDICATED_CALENDAR`: Events can be exported to a newly created, dedicated external calendar in the connected external calendar account.\n       */\n      syncToCalendar?: SyncToCalendar;\n  }\n  enum ConnectMethod {\n      UNDEFINED = \"UNDEFINED\",\n      OAUTH = \"OAUTH\",\n      CREDENTIALS = \"CREDENTIALS\"\n  }\n  enum ListEventFromCalendars {\n      /** Dont use. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Listing events from the external calendar is not supported. */\n      NOT_SUPPORTED = \"NOT_SUPPORTED\",\n      /** Listing events from the primary external calendar only. */\n      PRIMARY_CALENDAR_ONLY = \"PRIMARY_CALENDAR_ONLY\",\n      /**\n       * Listing events from specific external calendars.\n       * The external calendars can be listed using the `ExternalCalendarService.ListCalendars` API.\n       */\n      SPECIFIC_CALENDARS = \"SPECIFIC_CALENDARS\"\n  }\n  enum SyncToCalendar {\n      /** Dont use. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Syncing Wix calendar sessions to the external calendar is not supported. */\n      NOT_SUPPORTED = \"NOT_SUPPORTED\",\n      /** Syncing Wix calendar sessions to the primary external calendar only. */\n      PRIMARY_CALENDAR_ONLY = \"PRIMARY_CALENDAR_ONLY\",\n      /** Syncing Wix calendar sessions to a specific external calendar. */\n      SPECIFIC_CALENDAR = \"SPECIFIC_CALENDAR\",\n      /** Syncing Wix calendar sessions to a new external calendar. */\n      DEDICATED_CALENDAR = \"DEDICATED_CALENDAR\"\n  }\n  interface GetConnectionRequest {\n      /** ID of the connection to retrieve. */\n      connectionId: string | null;\n  }\n  interface GetConnectionResponse {\n      /** Retrieved external calendar connection. */\n      connection?: Connection;\n  }\n  interface Connection {\n      /** External calendar connection ID. */\n      _id?: string | null;\n      /** ID of the external calendar provider. */\n      providerId?: string | null;\n      /** External calendar type. */\n      calendarType?: CalendarType$3;\n      /** ID of the schedule connected to the external calendar. */\n      scheduleId?: string | null;\n      /** ID of the Wix user the external calendar connection belongs to. */\n      userId?: string | null;\n      /** ID of the Wix App the external calendar connection belongs to. */\n      appId?: string | null;\n      /** Email address associated with the external calendar account. Empty until sync is completed successfully. */\n      externalAccountEmail?: string | null;\n      /**\n       * Connection status.\n       *\n       * + `CONNECTED`: A connection has been established with the external calendar.\n       * + `SYNC_IN_PROGRESS`: A sync is in progress.\n       * + `SYNCED`: External calendar sync complete.\n       * + `DISCONNECTED`: External calendar has been disconnected.\n       * + `ERROR`: An error occurred when syncing with the external calendar.\n       */\n      status?: Status$3;\n      /**\n       * Reason for the error, if `status` is `ERROR`.\n       *\n       * + `TOKEN_REVOKED`: External calendar access token revoked.\n       * + `EXTERNAL_CALENDAR_CREATION_FAILED`: External calendar creation failed.\n       * + `EXTERNAL_CALENDAR_DELETED`: External calendar was deleted.\n       */\n      errorReason?: ErrorReason;\n      /**\n       * Sync configuration. Contains settings for enabling, configuring, or disabling functionality, including:\n       *\n       * + Importing events from one or more specified calendars in the connected external calendar account.\n       * + Exporting events from the Wix site's calendar to an external calendar.\n       */\n      syncConfig?: ConnectionSyncConfig;\n      /**\n       * Deprecated. Use `errorReason` instead.\n       * @internal\n       * @deprecated\n       */\n      syncToErrorReason?: SyncToErrorReason;\n  }\n  enum Status$3 {\n      /** Dont use. */\n      UNDEFINED = \"UNDEFINED\",\n      /** External calendar is connected to the corresponding schedule id. */\n      CONNECTED = \"CONNECTED\",\n      /** Sync in progress. */\n      SYNC_IN_PROGRESS = \"SYNC_IN_PROGRESS\",\n      /** Calendars are in-sync. */\n      SYNCED = \"SYNCED\",\n      /** External calender is disconnected. */\n      DISCONNECTED = \"DISCONNECTED\",\n      /** The calendars sync is in error state. */\n      ERROR = \"ERROR\"\n  }\n  enum ErrorReason {\n      /** Empty or error reason is unknown. */\n      UNDEFINED = \"UNDEFINED\",\n      /** External calendar access token revoked. */\n      TOKEN_REVOKED = \"TOKEN_REVOKED\",\n      /** External calendar creation failed. */\n      EXTERNAL_CALENDAR_CREATION_FAILED = \"EXTERNAL_CALENDAR_CREATION_FAILED\",\n      /** External Calendar was deleted. */\n      EXTERNAL_CALENDAR_DELETED = \"EXTERNAL_CALENDAR_DELETED\"\n  }\n  interface ConnectionSyncConfig {\n      /**\n       * Configuration for importing events from external calendars.\n       * If enabled, use the `listEvents()` function to retrieve a list of events from external calendars.\n       */\n      listEventFromCalendars?: ConnectionSyncConfigListEventFromCalendars;\n      /** Configuration for exporting calendars from the Wix site's calendar to a connected external calendar. */\n      syncToCalendar?: ConnectionSyncConfigSyncToCalendar;\n  }\n  interface Calendar {\n      /**\n       * External calendar ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Display name of the external calendar.\n       * For example, \"Primary\" or \"Birthdays\".\n       */\n      name?: string | null;\n  }\n  interface PrimaryCalendar {\n  }\n  interface Calendars {\n      calendars?: Calendar[];\n  }\n  interface DedicatedCalendar {\n  }\n  interface ConnectionSyncConfigListEventFromCalendars extends ConnectionSyncConfigListEventFromCalendarsListFromOneOf {\n      /**\n       * Import events only from the primary external calendar. Enable this by passing an empty object.\n       *\n       * **Note**: Not all external calendar providers designate a primary calendar.\n       */\n      primaryCalendar?: PrimaryCalendar;\n      /**\n       * Import events from a list of specified external calendars.\n       *\n       * **Note**: The list can include the primary calendar.\n       */\n      calendars?: Calendars;\n      /** Whether to enable importing events from external calendars through this connection. */\n      enabled?: boolean | null;\n  }\n  /** @oneof */\n  interface ConnectionSyncConfigListEventFromCalendarsListFromOneOf {\n      /**\n       * Import events only from the primary external calendar. Enable this by passing an empty object.\n       *\n       * **Note**: Not all external calendar providers designate a primary calendar.\n       */\n      primaryCalendar?: PrimaryCalendar;\n      /**\n       * Import events from a list of specified external calendars.\n       *\n       * **Note**: The list can include the primary calendar.\n       */\n      calendars?: Calendars;\n  }\n  interface ConnectionSyncConfigSyncToCalendar extends ConnectionSyncConfigSyncToCalendarSyncToOneOf {\n      /** Sync to the primary external calendar. Enable this by passing an empty object. */\n      primaryCalendar?: PrimaryCalendar;\n      /** Sync to a dedicated external calendar. Enable this by passing an empty object. */\n      dedicatedCalendar?: DedicatedCalendar;\n      /** Whether to enable exporting events to an external calendars through this connection. */\n      enabled?: boolean | null;\n      /**\n       * Whether to append the participant name to the event summary, for sessions having a single participant. E.g 1:1 Booking Sessions.\n       * Default is false.\n       * Note: DRAFT/PROPOSAL. Not implemented and aimed to replace `session.external_calendar_overrides`.\n       * @internal\n       */\n      appendSingleParticipantNameToEventSummary?: boolean | null;\n  }\n  /** @oneof */\n  interface ConnectionSyncConfigSyncToCalendarSyncToOneOf {\n      /** Sync to the primary external calendar. Enable this by passing an empty object. */\n      primaryCalendar?: PrimaryCalendar;\n      /** Sync to a dedicated external calendar. Enable this by passing an empty object. */\n      dedicatedCalendar?: DedicatedCalendar;\n  }\n  enum SyncToErrorReason {\n      /** No sync error. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Could not create calendar to sync sessions to. */\n      CALENDAR_CREATION_FAILURE = \"CALENDAR_CREATION_FAILURE\",\n      /** Calendar was deleted while sync was in progress. */\n      CALENDAR_DELETED = \"CALENDAR_DELETED\"\n  }\n  interface ListConnectionsRequest {\n      /**\n       * Schedule IDs to filter by. If provided, only connections between external calendars and the specified schedules is returned.\n       *\n       * Default: Returns all connections.\n       */\n      scheduleIds?: string[] | null;\n      /**\n       * Whether to return a partial list of connections if details can't be retrieved for some connections.\n       *\n       * Default: `false`\n       */\n      partialFailure?: boolean | null;\n  }\n  interface ListConnectionsResponse {\n      /** List of external calendar connections. */\n      connections?: Connection[];\n      /** List of provider IDs for connections for which retrieval failed. Returned only if `partialFailure` parameter is `true` in the request. */\n      failedProviderIds?: string[] | null;\n  }\n  interface ConnectByOAuthRequest {\n      /** ID of the schedule to connect with the external calendar account. */\n      scheduleId: string | null;\n      /**\n       * ID of the external calendar provider. Find this with the `listProviders()` function.\n       *\n       */\n      providerId: string | null;\n      /**\n       * URL to redirect the user to after they authorize access to the external calendar account.\n       *\n       * If the connection is successfully established, the user is redirected to this URL with a query parameter `connectionId` containing the new connection ID.\n       * If the attempt to connect fails, the user is redirected to this URL with a query parameter `error` containing the error type.\n       */\n      redirectUrl: string | null;\n      /**\n       * Deprecated.\n       * @internal\n       * @deprecated\n       */\n      calendarType?: CalendarType$3;\n  }\n  interface ConnectByOAuthResponse {\n      /** URL of the external calendar authorization page to redirect the user to. */\n      oauthUrl?: string | null;\n  }\n  interface RawHttpRequest {\n      body?: Uint8Array;\n      pathParams?: PathParametersEntry[];\n      queryParams?: QueryParametersEntry[];\n      headers?: HeadersEntry[];\n      method?: string;\n      rawPath?: string;\n      rawQuery?: string;\n  }\n  interface PathParametersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface QueryParametersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface HeadersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface RawHttpResponse {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry[];\n  }\n  interface ConnectByCredentialsRequest {\n      /** ID of the schedule to connect with the external calendar account. */\n      scheduleId: string | null;\n      /** ID of the external calendar provider. Find this with the `listProviders()` function. */\n      providerId: string | null;\n      /** Email address for the external calendar account. */\n      email: string | null;\n      /** Password for the external calendar account. */\n      password: string | null;\n  }\n  interface ConnectByCredentialsResponse {\n      /** Established connection details. */\n      connection?: Connection;\n  }\n  interface ListCalendarsRequest {\n      /** ID of the external calendar connection to list calendars for. */\n      connectionId: string | null;\n  }\n  interface ListCalendarsResponse {\n      /** List of calendars belonging to the external calendar account. */\n      calendars?: Calendar[];\n  }\n  interface UpdateSyncConfigRequest {\n      /** ID of the external calendar connection to update. */\n      connectionId: string | null;\n      /** Updated sync configuration details. */\n      syncConfig: ConnectionSyncConfig;\n      /**\n       * Optional list of fields to update. If provided, only the specified fields are updated.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateSyncConfigResponse {\n      /** Connection with updated sync configuration. */\n      connection?: Connection;\n  }\n  interface DisconnectRequest {\n      /** ID of the external calendar connection to disconnect. */\n      connectionId: string | null;\n  }\n  interface DisconnectResponse {\n      /** Updated connection details. */\n      connection?: Connection;\n  }\n  interface ListEventsRequest {\n      /**\n       * Date and time from which to retrieve events,\n       * formatted according to [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt).\n       * Required, unless `cursorPaging.cursor` is provided.\n       *\n       * Events which start before the `from` time and end after it are included in the returned list.\n       */\n      from?: string | null;\n      /**\n       * Date and time until which to retrieve events,\n       * formatted according to [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt).\n       * Required, unless `cursorPaging.cursor` is provided.\n       *\n       * Events which start before the `to` time and end after it are included in the returned list.\n       */\n      to?: string | null;\n      /**\n       * Schedule IDs to filter by. If provided, the returned list includes only events belonging to external calendars connected to the specified schedules.\n       * Maximum of 100 schedule IDs per request.\n       */\n      scheduleIds?: string[] | null;\n      /**\n       * Wix user IDs to filter by. If provided, the returned list includes only events belonging to external calendars connected to schedules belonging to the specified Wix users.\n       * Maximum of 100 Wix user IDs per request.\n       */\n      userIds?: string[] | null;\n      /**\n       * Whether to include only all-day events in the returned list.\n       * If `true`, only all-day events are returned.\n       * If `false`, only events with a specified time are returned.\n       *\n       * Default: All events are returned.\n       */\n      allDay?: boolean | null;\n      /**\n       * Predefined sets of fields to return.\n       * - `NO_PI`: Returns event objects without personal information.\n       * - `OWN_PI`: Returns complete event objects, including personal information.\n       *\n       * Default: `NO_PI`\n       */\n      fieldsets?: string[];\n      /** Pagination options. */\n      cursorPaging?: CursorPaging$9;\n      /**\n       * Whether to return a partial list of events if details can't be retrieved for some connections.\n       *\n       * Default: `false`\n       */\n      partialFailure?: boolean | null;\n      /**\n       * Deprecated.\n       * @internal\n       * @deprecated\n       */\n      includePi?: boolean | null;\n  }\n  interface CursorPaging$9 {\n      /**\n       * Number of events to load.\n       * Max: `1000`\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListEventsResponse {\n      /** List of external calendar events matching the filters. */\n      events?: Event$2[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$7;\n      /** List of provider IDs for connections for which retrieval of events failed. Returned only if `partialFailure` parameter is `true` in the request. */\n      failedProviderIds?: string[] | null;\n      /**\n       * @internal\n       * @deprecated\n       */\n      paging?: CursorPagingMetadata$7;\n  }\n  /** An external calendar event. */\n  interface Event$2 {\n      /** ID of the schedule connected to the external calendar the event belongs to. */\n      scheduleId?: string | null;\n      /** External calendar type. */\n      calendarType?: CalendarType$3;\n      /**\n       * Display name of the external calendar.\n       * For example, \"Primary\" or \"Birthdays\".\n       */\n      calendarName?: string | null;\n      /** Event title. */\n      title?: string | null;\n      /** Start date and time of the event (inclusive), formatted according to [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt). */\n      start?: string | null;\n      /** End date and time of the event (exclusive), formatted according to [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt). */\n      end?: string | null;\n      /**\n       * Whether the event is an all-day event.\n       *\n       * Default: `false`\n       */\n      allDay?: boolean | null;\n      /**\n       * ID of the Wix user the schedule belongs to.\n       * For example, the ID of the staff member (resource) who owns the schedule.\n       */\n      scheduleOwnerId?: string | null;\n      /**\n       * Name of the Wix user the schedule belongs to.\n       * For example, the name of the staff member (resource) who owns the schedule.\n       */\n      scheduleOwnerName?: string | null;\n  }\n  interface CursorPagingMetadata$7 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$a;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$a {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n  }\n  interface ScheduleNotification$3 extends ScheduleNotificationEventOneOf$3 {\n      scheduleCreated?: ScheduleCreated$3;\n      scheduleUpdated?: ScheduleUpdated$3;\n      scheduleCancelled?: ScheduleCancelled$3;\n      sessionCreated?: SessionCreated$3;\n      sessionUpdated?: SessionUpdated$3;\n      sessionCancelled?: SessionCancelled$3;\n      availabilityPolicyUpdated?: AvailabilityPolicyUpdated$3;\n      /** @deprecated */\n      intervalSplit?: IntervalSplit$3;\n      recurringSessionSplit?: RecurringSessionSplit$3;\n      /**\n       * Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead.\n       * @deprecated\n       */\n      scheduleUnassignedFromUser?: ScheduleUnassignedFromUser$3;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      multipleSessionsCreated?: MultipleSessionsCreated$3;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      migrationEvent?: MigrationEvent$3;\n      preserveFutureSessionsWithParticipants?: boolean | null;\n      /**\n       * Whether to notify participants about changed sessions. deprecated, use participant_notification\n       * @deprecated\n       */\n      notifyParticipants?: boolean;\n      /** site properties. Optional. Given in create schedule notification. */\n      siteProperties?: SitePropertiesOnScheduleCreation$3;\n      instanceId?: string;\n      /**\n       * true when the schedule belongs to a site that is rolled out to calendar v3\n       * @internal\n       */\n      rolledOut?: boolean | null;\n  }\n  /** @oneof */\n  interface ScheduleNotificationEventOneOf$3 {\n      scheduleCreated?: ScheduleCreated$3;\n      scheduleUpdated?: ScheduleUpdated$3;\n      scheduleCancelled?: ScheduleCancelled$3;\n      sessionCreated?: SessionCreated$3;\n      sessionUpdated?: SessionUpdated$3;\n      sessionCancelled?: SessionCancelled$3;\n      availabilityPolicyUpdated?: AvailabilityPolicyUpdated$3;\n      /** @deprecated */\n      intervalSplit?: IntervalSplit$3;\n      recurringSessionSplit?: RecurringSessionSplit$3;\n      /**\n       * Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead.\n       * @deprecated\n       */\n      scheduleUnassignedFromUser?: ScheduleUnassignedFromUser$3;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      multipleSessionsCreated?: MultipleSessionsCreated$3;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      migrationEvent?: MigrationEvent$3;\n  }\n  interface ScheduleCreated$3 {\n      schedule?: Schedule$4;\n  }\n  interface Schedule$4 {\n      /** Schedule ID. */\n      _id?: string;\n      /** ID of the schedule's owner entity. This may be a resource ID or a service ID. */\n      scheduleOwnerId?: string | null;\n      /**\n       * Start time of the first session in the schedule.\n       * @internal\n       * @readonly\n       */\n      firstSessionStart?: Date | null;\n      /**\n       * End time of the last session in the schedule.\n       * @internal\n       * @readonly\n       */\n      lastSessionEnd?: Date | null;\n      /**\n       * Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\n       * Derived from the Wix Business time zone.\n       * @readonly\n       */\n      timeZone?: string | null;\n      /**\n       * Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead.\n       * @deprecated\n       */\n      intervals?: RecurringInterval$3[];\n      /** Default title for the schedule's sessions. Maximum length: 6000 characters. */\n      title?: string | null;\n      /**\n       * __Deprecated.__\n       * Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\n       * The Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags.\n       * @deprecated\n       */\n      tags?: string[] | null;\n      /** Default location for the schedule's sessions. */\n      location?: Location$6;\n      /**\n       * Maximum number of participants that can be added to the schedule's sessions.\n       * Must be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app.\n       */\n      capacity?: number | null;\n      /**\n       * Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead.\n       * @deprecated\n       */\n      rate?: Rate$3;\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      availability?: Availability$3;\n      /**\n       * Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes.\n       * @readonly\n       */\n      totalNumberOfParticipants?: number;\n      /**\n       * *Partial list** of participants which are registered to sessions in this schedule.\n       * Participants who are registered in the schedule are automatically registered to any session that is created for the schedule.\n       * To retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings).\n       * @readonly\n       */\n      participants?: Participant$3[];\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      externalCalendarOverrides?: ExternalCalendarOverrides$3;\n      /**\n       * Schedule status.\n       * @readonly\n       */\n      status?: ScheduleStatus$3;\n      /**\n       * Schedule creation date.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Schedule last update date.\n       * @readonly\n       */\n      updated?: Date | null;\n      /**\n       * Schedule version number, updated each time the schedule is updated.\n       * @readonly\n       */\n      version?: number;\n      /**\n       * The schedule version, updated each time the schedule or the schedule participants are updated.\n       * @internal\n       * @readonly\n       */\n      versions?: Version$3;\n      /**\n       * Fields which were inherited from the Business Info page under Settings in the Dashboard.\n       * @readonly\n       */\n      inheritedFields?: string[];\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      conferenceProvider?: ConferenceProvider$3;\n      /**\n       * A conference created for the schedule. This is used when a participant is added to a schedule.\n       * **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.\n       * @deprecated\n       */\n      calendarConference?: CalendarConference$3;\n      /**\n       * The name of the schedule owner. It may be a resource name or a service name. Optional.\n       * @internal\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the schedule owner. Optional.\n       * Currently, in Bookings system, it would be present when the schedule is owned by a staff resource and the resource is connected to a user.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  interface RecurringInterval$3 {\n      /**\n       * The recurring interval identifier.\n       * @readonly\n       */\n      _id?: string;\n      /** The start time of the recurring interval. Required. */\n      start?: Date | null;\n      /** The end time of the recurring interval. Optional. Empty value indicates that there is no end time. */\n      end?: Date | null;\n      /** The interval rules. The day, hour and minutes the interval is recurring. */\n      interval?: Interval$4;\n      /** The frequency of the interval. Optional. The default is frequency with the default repetition. */\n      frequency?: Frequency$3;\n      /** Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval. */\n      affectedSchedules?: LinkedSchedule$3[];\n      /** The type of recurring interval. */\n      intervalType?: RecurringIntervalType$3;\n  }\n  interface Interval$4 {\n      /** The day the interval accrue. Optional. The default is the day of the recurring interval's start time. */\n      daysOfWeek?: Day$3;\n      /** The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23. */\n      hourOfDay?: number | null;\n      /** The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59. */\n      minuteOfHour?: number | null;\n      /** The duration of the interval in minutes. Required. Part of the session end time calculation. */\n      duration?: number;\n  }\n  enum Day$3 {\n      /** Undefined. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface Frequency$3 {\n      /** The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52. */\n      repetition?: number | null;\n  }\n  interface LinkedSchedule$3 {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /**\n       * Sets this schedule's availability for the duration of the linked schedule's sessions.  Default is `\"BUSY\"`.\n       * If set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\n       * If set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n       */\n      transparency?: Transparency$3;\n      /**\n       * Owner ID, of the linked schedule.\n       * @readonly\n       */\n      scheduleOwnerId?: string;\n      /**\n       * The name of the linked schedule owner. It may be a resource name or a service name. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the linked schedule owner. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  enum Transparency$3 {\n      UNDEFINED = \"UNDEFINED\",\n      /** The schedule can have available slots during the session. */\n      FREE = \"FREE\",\n      /** The schedule cannot have available slots during the session. Default value. */\n      BUSY = \"BUSY\"\n  }\n  enum RecurringIntervalType$3 {\n      /** The default value. Sessions for this interval will be of type EVENT. */\n      UNDEFINED = \"UNDEFINED\",\n      /** A recurring interval of events */\n      EVENT = \"EVENT\",\n      /** Deprecated */\n      TIME_AVAILABILITY = \"TIME_AVAILABILITY\",\n      /** A recurring interval for availability */\n      AVAILABILITY = \"AVAILABILITY\"\n  }\n  interface Location$6 {\n      /**\n       * Location type.\n       * One of:\n       * - `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"` The address as set when creating the service.\n       * - `\"CUSTOM\"` The address set for the individual session.\n       */\n      locationType?: LocationType$6;\n      /**\n       * Free text address used when locationType is `OWNER_CUSTOM`.\n       * @deprecated\n       */\n      address?: string | null;\n      /** Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default. */\n      customAddress?: Address$7;\n      /**\n       * The Wix Business location formatted address.\n       * Valid when `locationType` is `OWNER_BUSINESS`. Defaults to the business's location.\n       * To retrieve the full location data please use the [Locations API](https://dev.wix.com/api/rest/business-info/locations).\n       * @internal\n       */\n      businessLocation?: LocationsLocation$3;\n  }\n  enum LocationType$6 {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  /** Physical address */\n  interface Address$7 extends AddressStreetOneOf$6 {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress$6;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation$6;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision$6[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$6 {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress$6;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$6 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation$6 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$6 {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface LocationsLocation$3 {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string;\n      /** Location description. */\n      description?: string | null;\n      /**\n       * Whether this is the default location. There can only be one default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Location status. Defaults to `ACTIVE`.\n       * __Note:__ [Archiving a location](https://www.wix.com/velo/reference/wix-business-tools-v2/locations/archivelocation)\n       * doesn't affect the location's status. `INACTIVE` is currently not supported.\n       */\n      status?: LocationStatus$3;\n      /**\n       * Location type.\n       *\n       * **Note:** Currently not supported.\n       * @deprecated\n       */\n      locationType?: LocationsLocationType$3;\n      /** Fax number. */\n      fax?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Address. */\n      address?: LocationsAddress$3;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$4;\n      /**\n       * Revision number, which increments by 1 each time the location is updated.\n       * To prevent conflicting changes, the existing revision must be used when updating a location.\n       */\n      revision?: string | null;\n      /**\n       * Whether the location is archived. Archived locations can't be updated.\n       * __Note:__ [Archiving a location](https://www.wix.com/velo/reference/wix-business-tools-v2/locations/archivelocation)\n       * doesn't affect its `status`.\n       * @readonly\n       */\n      archived?: boolean;\n      /** Location types. */\n      locationTypes?: LocationsLocationType$3[];\n  }\n  /** For future use */\n  enum LocationStatus$3 {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  /** For future use */\n  enum LocationsLocationType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      BRANCH = \"BRANCH\",\n      OFFICES = \"OFFICES\",\n      RECEPTION = \"RECEPTION\",\n      HEADQUARTERS = \"HEADQUARTERS\",\n      INVENTORY = \"INVENTORY\"\n  }\n  interface LocationsAddress$3 {\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. Includes street name, number, and apartment number in separate fields. */\n      streetAddress?: LocationsStreetAddress$3;\n      /** Full address of the location. */\n      formatted?: string | null;\n      /** Geographic coordinates of location. */\n      location?: LocationsAddressLocation$3;\n  }\n  /** Street address. Includes street name, number, and apartment number in separate fields. */\n  interface LocationsStreetAddress$3 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  /** Address Geolocation */\n  interface LocationsAddressLocation$3 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number | null;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number | null;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$4 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$4[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$4[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$4 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$4;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$4;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$4 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$4 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Rate$3 {\n      /**\n       * Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      labeledPriceOptions?: Record<string, Price$4>;\n      /**\n       * Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      priceText?: string | null;\n      /**\n       * Default service price. Always available when a service has\n       * [variants](https://support.wix.com/en/article/about-service-categories-in-wix-bookings).\n       * Sometimes also available for services without variants.\n       * @internal\n       */\n      defaultVariedPrice?: Price$4;\n  }\n  interface Price$4 {\n      /** Required payment amount. */\n      amount?: string;\n      /** Currency in which the amount is quoted. */\n      currency?: string;\n      /** Amount of a down payment or deposit as part of the transaction. */\n      downPayAmount?: string;\n  }\n  /**\n   * <!-- Needs updating when recurrence has been tested\n   * Schedule's availability calculation is executed by the schedule's available intervals and this additional information.\n   * Schedule's available intervals are recurring intervals (defined in the schedule) minus sessions that has no more spots for bookings (including time between_slots), or schedule's sessions with open spots for bookings.-->\n   */\n  interface Availability$3 {\n      /** Date and time the schedule starts to be available for booking. */\n      start?: Date | null;\n      /** Date and time the schedule stops being available for booking. No value indicates no end time. */\n      end?: Date | null;\n      /** Other schedules that impact the availability calculation. Relevant only when there are availability constraints. */\n      linkedSchedules?: LinkedSchedule$3[];\n      /** Constraints for calculating the schedule's availability. */\n      constraints?: AvailabilityConstraints$3;\n      /**\n       * Not supported yet.\n       * A list of possible locations for the session when `use_default_location` is set to `false`. Slots are generated for each location. Only one of the possible locations can be chosen by the customer.\n       *\n       * **NOTE**: When using the `locations` parameter, the default location is not automatically included in the list.\n       * @internal\n       */\n      locations?: Location$6[];\n      /**\n       * Not supported yet.\n       * Whether the schedule's slots are only available at the schedule's default location, as set in `schedule.location`. If set to `false`, the `locations` array is used to set the possible locations of the schedule's sessions.\n       * Default is `true`.\n       * @internal\n       */\n      useDefaultLocation?: boolean | null;\n  }\n  /** Describes how to calculate the specific slots that are available for booking. */\n  interface AvailabilityConstraints$3 {\n      /**\n       * A list of duration options for slots, in minutes. Minimum value for a duration is 1.\n       * The availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints.\n       */\n      slotDurations?: number[];\n      /**\n       * The number of minutes between the `end` of one slot, and the `start` of the next.\n       * Minimum value is 0, maximum value is 120.\n       */\n      timeBetweenSlots?: number;\n      /**\n       * Specify how to split the slots in intervals of minutes.\n       * This value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\n       * Optional. The default is the first duration in slot_durations field.\n       * Deprecated. Use the `split_slots_interval.value_in_minutes`.\n       * @deprecated\n       */\n      splitInterval?: number | null;\n      /**\n       * An object defining the time between available slots' start times.  For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration.\n       * @readonly\n       */\n      slotsSplitInterval?: SplitInterval$3;\n  }\n  /** The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc. */\n  interface SplitInterval$3 {\n      /**\n       * Whether the slot duration is used as the split interval value.\n       * If `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n       * `schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field.\n       */\n      sameAsDuration?: boolean | null;\n      /** Number of minutes between available slots' start times when `same_as_duration` is `false`. */\n      valueInMinutes?: number | null;\n  }\n  interface Participant$3 {\n      /** Participant ID. Currently represents the booking.id. */\n      _id?: string;\n      /** Contact ID. */\n      contactId?: string | null;\n      /** Participant's name. */\n      name?: string | null;\n      /** Participant's phone number. */\n      phone?: string | null;\n      /** Participant's email address. */\n      email?: string | null;\n      /** Group or party size. The number of people attending. Defaults to 0. Maximum is 250. */\n      partySize?: number;\n      /**\n       * Approval status for the participant.\n       * <!-- Commented out untill updateParticipant is exposed Generally the same status as the booking, unless updated using the `updateParticipant()` API. Defaults to `\"UNDEFINED\"`.-->\n       */\n      approvalStatus?: ApprovalStatus$3;\n      /**\n       * Whether the participant was inherited from the schedule, as opposed to being booked directly to the session.\n       * @readonly\n       */\n      inherited?: boolean;\n  }\n  enum ApprovalStatus$3 {\n      /** Default. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Pending business approval. */\n      PENDING = \"PENDING\",\n      /** Approved by the business. */\n      APPROVED = \"APPROVED\",\n      /** Declined by the business. */\n      DECLINED = \"DECLINED\"\n  }\n  interface ExternalCalendarOverrides$3 {\n      /** Synced title of the external calendar event. */\n      title?: string | null;\n      /** Synced description of the external calendar event. */\n      description?: string | null;\n  }\n  enum ScheduleStatus$3 {\n      UNDEFINED = \"UNDEFINED\",\n      /** The default value when the schedule is created. */\n      CREATED = \"CREATED\",\n      /** The schedule has been canceled. */\n      CANCELLED = \"CANCELLED\"\n  }\n  interface Version$3 {\n      /** Schedule version number, updated each time the schedule is updated. */\n      scheduleVersion?: number | null;\n      /** Participants version number, updated each time the schedule participants are updated. */\n      participantsVersion?: number | null;\n  }\n  interface ConferenceProvider$3 {\n      /** Conferencing provider ID */\n      providerId?: string;\n  }\n  interface CalendarConference$3 {\n      /** Wix Calendar conference ID. */\n      _id?: string;\n      /** Conference meeting ID in the provider's conferencing system. */\n      externalId?: string;\n      /**\n       * A generated id for the conference entity - Base62($providerId$accountOwnerId$conferenceId)\n       * @internal\n       */\n      conferenceId?: string | null;\n      /** Conference provider ID. */\n      providerId?: string;\n      /** URL used by the host to start the conference. */\n      hostUrl?: string;\n      /** URL used by a guest to join the conference. */\n      guestUrl?: string;\n      /** Password to join the conference. */\n      password?: string | null;\n      /** Conference description. */\n      description?: string | null;\n      /** Conference type. */\n      conferenceType?: ConferenceType$3;\n      /** ID of the account owner in the video conferencing service. */\n      accountOwnerId?: string | null;\n  }\n  enum ConferenceType$3 {\n      UNDEFINED = \"UNDEFINED\",\n      /** API-generated online meeting. */\n      ONLINE_MEETING_PROVIDER = \"ONLINE_MEETING_PROVIDER\",\n      /** User-defined meeting. */\n      CUSTOM = \"CUSTOM\"\n  }\n  interface ScheduleUpdated$3 {\n      /** The old schedule before the update. */\n      oldSchedule?: Schedule$4;\n      /** The new schedule after the update. */\n      newSchedule?: Schedule$4;\n      /**\n       * Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\n       * updating at least one of the given schedule's recurring sessions.\n       * This event is triggered by create/update/delete recurring session apis.\n       */\n      recurringSessions?: RecurringSessionsUpdated$3;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$7;\n      /**\n       * Whether this notification was created as a result of an anonymization request, such as GDPR.\n       * An anonymized participant will have the following details:\n       * name = \"deleted\"\n       * phone = \"deleted\"\n       * email = \"deleted@deleted.com\"\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n  }\n  interface RecurringSessionsUpdated$3 {\n      /** Old schedule's recurring session list. */\n      oldRecurringSessions?: Session$3[];\n      /** New schedule's recurring session list. */\n      newRecurringSessions?: Session$3[];\n  }\n  interface Session$3 {\n      /**\n       * Session ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the schedule that the session belongs to. */\n      scheduleId?: string;\n      /**\n       * ID of the resource or service that the session's schedule belongs to.\n       * @readonly\n       */\n      scheduleOwnerId?: string | null;\n      /** Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. */\n      originalStart?: Date | null;\n      /** An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`. */\n      start?: CalendarDateTime$3;\n      /**\n       * An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\n       * If the session is a recurring session, `end` must contain a `localDateTime`.\n       */\n      end?: CalendarDateTime$3;\n      /**\n       * An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\n       * The array is inherited from the schedule and can be overridden even if the session is a recurring session.\n       */\n      affectedSchedules?: LinkedSchedule$3[];\n      /**\n       * Session title.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       */\n      title?: string | null;\n      /**\n       * __Deprecated.__\n       * Tags for the session.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       * @deprecated\n       */\n      tags?: string[] | null;\n      /**\n       * An object describing the location where the session takes place.\n       * Defaults to the schedule location.\n       * For single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`.\n       */\n      location?: Location$6;\n      /**\n       * Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       */\n      capacity?: number | null;\n      /**\n       * The remaining number of participants that can be added to the session. Read-only.\n       * Can be negative, in case the session is over capacity.\n       * @internal\n       * @readonly\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead.\n       * @deprecated\n       */\n      rate?: Rate$3;\n      /**\n       * Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\n       * If the session is a recurring session, this field must be empty.\n       */\n      timeReservedAfter?: number | null;\n      /**\n       * Additional information about the session.\n       * Notes are not supported for recurring sessions.\n       */\n      notes?: string;\n      /**\n       * The number of participants booked for the session. Read-only.\n       * Calculated as the sum of the party sizes.\n       * @readonly\n       */\n      totalNumberOfParticipants?: number;\n      /**\n       * *Partial list** list of participants booked for the session.\n       * The list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\n       * If the session is a recurring session, this field must be empty.\n       * To retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings).\n       */\n      participants?: Participant$3[];\n      /**\n       * A list of properties for which values were inherited from the schedule.\n       * This does not include participants that were inherited from the schedule.\n       * @readonly\n       */\n      inheritedFields?: string[];\n      /**\n       * Information about the external calendar, if the session originated in an external calendar.\n       * @internal\n       * @readonly\n       */\n      externalCalendarInfo?: ExternalCalendarInfo$3;\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      externalCalendarOverrides?: ExternalCalendarOverrides$3;\n      /**\n       * Session status.\n       * @readonly\n       */\n      status?: SessionStatus$1;\n      /**\n       * Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\n       * For exmaple, when creating a class service  with recurring sessions, you add a recurrence rule to create recurring sessions.\n       * This field is omitted for single sessions or instances of recurring sessions.\n       * Specified when the session was originally generated from a schedule recurring interval.\n       * Deprecated. Use `recurringSessionId`.\n       * @readonly\n       * @deprecated\n       */\n      recurringIntervalId?: string | null;\n      /**\n       * The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances.\n       * @readonly\n       */\n      recurringSessionId?: string | null;\n      /** Session type. */\n      type?: SessionType$3;\n      /**\n       * A conference created for the session according to the details set in the schedule's conference provider information.\n       * If the session is a recurring session, this field is inherited from the schedule.\n       * **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.\n       * @deprecated\n       */\n      calendarConference?: CalendarConference$3;\n      /**\n       * A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\n       * If the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\n       * The RRULE defines a rule for repeating a session.\n       * Supported parameters are:\n       *\n       * |Keyword|Description|Supported values|\n       * |--|--|---|\n       * |`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n       * |`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n       * |`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n       * |`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n       *\n       *\n       * For example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n       * `\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n       *\n       * <!--ORIGINAL COMMENTS:\n       * `FREQ` — The frequency with which the session should be repeated (such as DAILY or WEEKLY).\n       * Supported `WEEKLY` value is supported.\n       * INTERVAL — Works together with FREQ to specify how often the session should be repeated. For example, FREQ=WEEKLY;INTERVAL=2 means once every two weeks. Optional. Default value is 1.\n       * COUNT — The number of times this event should be repeated. Not yet supported.\n       * UNTIL — The UTC date & time until which the session should be repeated. This parameter is optional. When it is not specified, the event repeats forever.\n       * The format is a short ISO date, followed by 'T' and a short time with seconds and without milliseconds, terminated by the UTC designator 'Z'. For example, until Jan. 19th 2018 at 7:00 AM: 'UNTIL=20180119T070000Z'.\n       * BYDAY - The days of the week when the event should be repeated. Currently, only a single day is supported. This parameter is mandatory.\n       * Possible values are: MO, TU, WE, TH, FR, SA, SU\n       * Note that DTSTART and DTEND lines are not allowed in this field; session start and end times are specified in the start and end fields.\n       * **Example**: FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20200427T070000Z\n       * ORIGINAL COMMENTS-->\n       */\n      recurrence?: string | null;\n      /**\n       * A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\n       * Empty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty.\n       * @readonly\n       */\n      instanceOfRecurrence?: string | null;\n      /**\n       * The name of the schedule owner. It may be a resource name or a service name. Optional.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the schedule owner. Optional.\n       * NOT IMPLEMENTED YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n      /**\n       * The session version.\n       * Composed by the schedule, session and participants versions.\n       * @readonly\n       */\n      version?: SessionVersion$3;\n      /**\n       * The ID of the event in the new Calendar Events V3 API.\n       * @internal\n       * @readonly\n       */\n      eventId?: string | null;\n  }\n  interface CalendarDateTime$3 {\n      /**\n       * UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify  `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\n       * Required if `localDateTime` is not specified.\n       * If `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone.\n       */\n      timestamp?: Date | null;\n      /** An object containing the local date and time for the business's time zone. */\n      localDateTime?: LocalDateTime$3;\n      /**\n       * The time zone. Optional. Derived from the schedule's time zone.\n       * In case this field is associated with recurring session, this field is empty.\n       * @readonly\n       */\n      timeZone?: string | null;\n  }\n  interface LocalDateTime$3 {\n      /** Year. 4-digit format. */\n      year?: number | null;\n      /** Month number, from 1-12. */\n      monthOfYear?: number | null;\n      /** Day of the month, from 1-31. */\n      dayOfMonth?: number | null;\n      /** Hour of the day in 24-hour format, from 0-23. */\n      hourOfDay?: number | null;\n      /** Minute, from 0-59. */\n      minutesOfHour?: number | null;\n  }\n  interface ExternalCalendarInfo$3 {\n      /** The external calendar type (e.g. Google Calendar, iCal, etc). */\n      calendarType?: CalendarType$3;\n  }\n  enum SessionStatus$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** The session is confirmed. Default status. */\n      CONFIRMED = \"CONFIRMED\",\n      /**\n       * The session is cancelled.\n       * A cancelled session can be the cancellation of a recurring session that should no longer be displayed or a deleted single session.\n       * The ListSessions returns cancelled sessions only if 'includeDelete' flag is set to true.\n       */\n      CANCELLED = \"CANCELLED\"\n  }\n  enum SessionType$3 {\n      UNDEFINED = \"UNDEFINED\",\n      /**\n       * The session creates an event on the calendar for the owner of the schedule that the session belongs to.\n       * Default type.\n       */\n      EVENT = \"EVENT\",\n      /** The session represents a resource's available working hours. */\n      WORKING_HOURS = \"WORKING_HOURS\",\n      /** Deprecated. please use WORKING_HOURS */\n      TIME_AVAILABILITY = \"TIME_AVAILABILITY\",\n      /** Deprecated. The session represents a resource's available hours. please use WORKING_HOURS */\n      AVAILABILITY = \"AVAILABILITY\"\n  }\n  interface SessionVersion$3 {\n      /**\n       * Schedule version number, updated each time the schedule is updated.\n       * @internal\n       */\n      scheduleVersion?: number;\n      /**\n       * Session version number, updated each time the session is updated.\n       * @internal\n       */\n      sessionVersion?: number;\n      /**\n       * Participants version number, updated each time the session participants are updated.\n       * @internal\n       */\n      participantsVersion?: number | null;\n      /** Incremental version number, which is updated on each change to the session or on changes affecting the session. */\n      number?: string | null;\n  }\n  interface ParticipantNotification$7 {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n      /**\n       * Optional additional metadata.\n       * Supported only in V3 APIs.\n       * @internal\n       */\n      metadata?: Record<string, string>;\n  }\n  interface ScheduleCancelled$3 {\n      schedule?: Schedule$4;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$7;\n      oldSchedule?: Schedule$4;\n  }\n  interface SessionCreated$3 {\n      session?: Session$3;\n  }\n  interface SessionUpdated$3 {\n      oldSession?: Session$3;\n      newSession?: Session$3;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$7;\n      /**\n       * Whether this notification was created as a result of an anonymization request, such as GDPR.\n       * An anonymized participant will have the following details:\n       * name = \"deleted\"\n       * phone = \"deleted\"\n       * email = \"deleted@deleted.com\"\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n  }\n  interface SessionCancelled$3 {\n      session?: Session$3;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$7;\n  }\n  interface AvailabilityPolicyUpdated$3 {\n      availabilityPolicy?: AvailabilityPolicy$3;\n  }\n  /** Availability policy applied to all site schedules. */\n  interface AvailabilityPolicy$3 {\n      /** Specify how to split the schedule slots in intervals of minutes. */\n      splitInterval?: SplitInterval$3;\n  }\n  interface IntervalSplit$3 {\n      scheduleId?: string;\n      intervals?: RecurringInterval$3[];\n      newScheduleVersion?: number | null;\n      oldScheduleVersion?: number | null;\n  }\n  interface RecurringSessionSplit$3 {\n      scheduleId?: string;\n      recurringSessions?: Session$3[];\n      newScheduleVersion?: number | null;\n      oldScheduleVersion?: number | null;\n  }\n  /** Schedule unassigned from user. */\n  interface ScheduleUnassignedFromUser$3 {\n      /** The Wix user id. */\n      userId?: string | null;\n      /** The schedule that was unassigned from the user. */\n      schedule?: Schedule$4;\n  }\n  interface MultipleSessionsCreated$3 {\n      schedulesWithSessions?: ScheduleWithSessions$3[];\n  }\n  interface ScheduleWithSessions$3 {\n      schedule?: Schedule$4;\n      siteProperties?: SitePropertiesOnScheduleCreation$3;\n      sessions?: Session$3[];\n  }\n  interface SitePropertiesOnScheduleCreation$3 {\n      /** The global time zone value. */\n      timeZone?: string | null;\n  }\n  interface MigrationEvent$3 {\n      migrationData?: MigrationData$3;\n  }\n  interface MigrationData$3 {\n      businessId?: string | null;\n      staffs?: StaffData$3[];\n  }\n  interface StaffData$3 {\n      resourceId?: string;\n      syncRequestEmail?: string;\n      refreshToken?: string;\n  }\n  interface Empty$6 {\n  }\n  /**\n   * Retrieves a list of the external calendar providers for which the site supports integration.\n   *\n   *\n   * The list of external calendar providers includes:\n   *\n   * + External calendar providers that are supported by default, such as Google, Apple, and Microsoft.\n   * + External calenders for which the site owner has enabled integration by installing an app.\n   *\n   * For each external calendar provider, the list contains information about supported connection methods and features.\n   * For each provider, check `features.connectMethods` to find out whether to use `connectByCredentials()` or `connectByOAuth()` to establish a connection.\n   *\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CALENDAR.LIST_EXTERNAL_CALENDAR_PROVIDERS\n   * @adminMethod\n   */\n  function listProviders(): Promise<ListProvidersResponse>;\n  /**\n   * Retrieves an external calendar connection by ID.\n   *\n   *\n   * The external calendar connection contains details of the connection between a Wix site's calendar and calendars hosted by an external provider.\n   *\n   * The `syncConfig` property contains configuration details for importing events from an external calendar, exporting events to an external calendar, or both.\n   * @param connectionId - ID of the connection to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField connectionId\n   * @permissionId CALENDAR.READ_OWN_EXTERNAL_CALENDAR_CONNECTIONS\n   * @permissionId CALENDAR.READ_ALL_EXTERNAL_CALENDAR_CONNECTIONS\n   * @adminMethod\n   */\n  function getConnection(connectionId: string | null): Promise<GetConnectionResponse>;\n  /**\n   * Retrieves a list of external calendar connections.\n   *\n   *\n   * Each external calendar connections contain details of a connection between a Wix site's calendar and calendars hosted by an external provider.\n   *\n   * The `syncConfig` property of each connection contains configuration details for importing events from an external calendar, exporting events to an external calendar, or both.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CALENDAR.READ_OWN_EXTERNAL_CALENDAR_CONNECTIONS\n   * @permissionId CALENDAR.READ_ALL_EXTERNAL_CALENDAR_CONNECTIONS\n   * @adminMethod\n   */\n  function listConnections(options?: ListConnectionsOptions): Promise<ListConnectionsResponse>;\n  interface ListConnectionsOptions {\n      /**\n       * Schedule IDs to filter by. If provided, only connections between external calendars and the specified schedules is returned.\n       *\n       * Default: Returns all connections.\n       */\n      scheduleIds?: string[] | null;\n      /**\n       * Whether to return a partial list of connections if details can't be retrieved for some connections.\n       *\n       * Default: `false`\n       */\n      partialFailure?: boolean | null;\n  }\n  /**\n   * Connects to an external calendar using the OAuth authorization protocol.\n   *\n   *\n   * The authorization flow should take place as follows:\n   *\n   * 1. Call the function with the appropriate parameters.\n   * 2. Redirect the user to the URL received in the response.\n   * 3. The user authorizes access.\n   * 4. The user is redirected to the URL you provide in the `redirectUrl` parameter, with a query parameter `connectionId` containing the new connection ID.\n   *\n   * If the attempt to connect fails, the user is still redirected to the URL you provide in the `redirectUrl` parameter,\n   * but with a query parameter `error` containing one of the following values:\n   *\n   * - `reject`: The user rejected the authorization request.\n   * - `unsupported`: Connecting to the user's external account type is not supported by the provider.\n   * - `internal`: An error unrelated to the client or the request that prevents the server from fulfilling the request.\n   *\n   * Once a connection is successfully created, use `listEvents()` to obtain an up-to-date list of events in the connected external calendars.\n   *\n   * > **Note:**\n   * > Use `listProviders()` to find out whether to connect to a particular provider using this endpoint or `connectByCredentials()`.\n   * @param scheduleId - ID of the schedule to connect with the external calendar account.\n   * @param redirectUrl - URL to redirect the user to after they authorize access to the external calendar account.\n   *\n   * If the connection is successfully established, the user is redirected to this URL with a query parameter `connectionId` containing the new connection ID.\n   * If the attempt to connect fails, the user is redirected to this URL with a query parameter `error` containing the error type.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField providerId\n   * @requiredField redirectUrl\n   * @requiredField scheduleId\n   * @param providerId - ID of the external calendar provider. Find this with the `listProviders()` function.\n   * @permissionId CALENDAR.MANAGE_OWN_EXTERNAL_CALENDAR_CONNECTIONS\n   * @permissionId CALENDAR.MANAGE_ALL_EXTERNAL_CALENDAR_CONNECTIONS\n   * @adminMethod\n   */\n  function connectByOAuth(providerId: string | null, scheduleId: string | null, redirectUrl: string | null, options?: ConnectByOAuthOptions): Promise<ConnectByOAuthResponse>;\n  interface ConnectByOAuthOptions {\n      /**\n       * Deprecated.\n       * @internal\n       * @deprecated\n       */\n      calendarType?: CalendarType$3;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function oAuthCompleted(options?: OAuthCompletedOptions): Promise<RawHttpResponse>;\n  interface OAuthCompletedOptions {\n      body?: Uint8Array;\n      pathParams?: PathParametersEntry[];\n      queryParams?: QueryParametersEntry[];\n      headers?: HeadersEntry[];\n      method?: string;\n      rawPath?: string;\n      rawQuery?: string;\n  }\n  /**\n   * Connects to an external calendar by directly providing the external calendar account credentials.\n   *\n   *\n   * Once a connection is successfully created, use `listEvents()` to obtain an up-to-date list of events in the connected external calendars.\n   *\n   * > **Note:**\n   * > Use `listProviders()` to find out whether to connect to a particular provider using this method or `connectByOAuth()`.\n   * @param scheduleId - ID of the schedule to connect with the external calendar account.\n   * @param email - Email address for the external calendar account.\n   * @param password - Password for the external calendar account.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField email\n   * @requiredField password\n   * @requiredField providerId\n   * @requiredField scheduleId\n   * @param providerId - ID of the external calendar provider. Find this with the `listProviders()` function.\n   * @permissionId CALENDAR.MANAGE_OWN_EXTERNAL_CALENDAR_CONNECTIONS\n   * @permissionId CALENDAR.MANAGE_ALL_EXTERNAL_CALENDAR_CONNECTIONS\n   * @adminMethod\n   */\n  function connectByCredentials(providerId: string | null, scheduleId: string | null, email: string | null, password: string | null): Promise<ConnectByCredentialsResponse>;\n  /**\n   * Retrieves a list of calendars belonging to the connected external calendar account.\n   *\n   *\n   * > **Note:**\n   * > Before using this function, establish a connection with an external calendar using `connectByCredentials()` or `connectByOAuth()`.\n   * @param connectionId - ID of the external calendar connection to list calendars for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField connectionId\n   * @permissionId CALENDAR.READ_OWN_EXTERNAL_CALENDAR_CONNECTIONS\n   * @adminMethod\n   */\n  function listCalendars(connectionId: string | null): Promise<ListCalendarsResponse>;\n  /**\n   * Updates the specified external calendar connection's sync configuration.\n   *\n   *\n   * Use Update Sync Config to update a connection's `syncConfig` property.\n   * The `syncConfig` property contains settings for enabling, configuring, or disabling functionality, including:\n   *\n   * + Importing events from one or more specified calendars in the connected external calendar account. If this is enabled, use `listEvents()` to retrieve a list of events from the external calendar.\n   * + Exporting events from the Wix site's calendar to an external calendar.\n   *\n   * To see an external calendar connection's existing sync configuration, use `getConnection()` or `listConnections()` and see the `syncConfig` property.\n   *\n   * > **Note:**\n   * > Supported functionality depends on the provider. Use `listProviders()` to see details about providers' supported features.\n   * @param connectionId - ID of the external calendar connection to update.\n   * @param syncConfig - Updated sync configuration details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField connectionId\n   * @requiredField syncConfig\n   * @permissionId CALENDAR.MANAGE_OWN_EXTERNAL_CALENDAR_CONNECTIONS\n   * @adminMethod\n   */\n  function updateSyncConfig(connectionId: string | null, syncConfig: ConnectionSyncConfig, options?: UpdateSyncConfigOptions): Promise<UpdateSyncConfigResponse>;\n  interface UpdateSyncConfigOptions {\n      /**\n       * Optional list of fields to update. If provided, only the specified fields are updated.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Disconnects from an external calendar.\n   *\n   *\n   * When an external calendar is disconnected, the external calendar connection's `status` is changed to `DISCONNECTED`.\n   *\n   * After disconnecting, `listEvents()` no longer returns events from the disconnected external calendar.\n   * Exported Wix calendar sessions are deleted from the external calendar.\n   * @param connectionId - ID of the external calendar connection to disconnect.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField connectionId\n   * @permissionId CALENDAR.MANAGE_OWN_EXTERNAL_CALENDAR_CONNECTIONS\n   * @permissionId CALENDAR.MANAGE_ALL_EXTERNAL_CALENDAR_CONNECTIONS\n   * @adminMethod\n   */\n  function disconnect(connectionId: string | null): Promise<DisconnectResponse>;\n  /**\n   * Retrieves a list of events from all connected external calendars, based on the provided filtering and paging.\n   *\n   *\n   * Use List Events to retrieve an aggregated list of events in the connected external calendars for a specified time range, sorted by start date.\n   *\n   * > **Note:**\n   * > Before using this function, establish a connection with an external calendar using `connectByCredentials()` or `connectByOAuth()`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CALENDAR.READ_EXTERNAL_CALENDAR_EVENTS\n   * @adminMethod\n   */\n  function listEvents(options?: ListEventsOptions): Promise<ListEventsResponse>;\n  interface ListEventsOptions {\n      /**\n       * Date and time from which to retrieve events,\n       * formatted according to [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt).\n       * Required, unless `cursorPaging.cursor` is provided.\n       *\n       * Events which start before the `from` time and end after it are included in the returned list.\n       */\n      from?: string | null;\n      /**\n       * Date and time until which to retrieve events,\n       * formatted according to [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt).\n       * Required, unless `cursorPaging.cursor` is provided.\n       *\n       * Events which start before the `to` time and end after it are included in the returned list.\n       */\n      to?: string | null;\n      /**\n       * Schedule IDs to filter by. If provided, the returned list includes only events belonging to external calendars connected to the specified schedules.\n       * Maximum of 100 schedule IDs per request.\n       */\n      scheduleIds?: string[] | null;\n      /**\n       * Wix user IDs to filter by. If provided, the returned list includes only events belonging to external calendars connected to schedules belonging to the specified Wix users.\n       * Maximum of 100 Wix user IDs per request.\n       */\n      userIds?: string[] | null;\n      /**\n       * Whether to include only all-day events in the returned list.\n       * If `true`, only all-day events are returned.\n       * If `false`, only events with a specified time are returned.\n       *\n       * Default: All events are returned.\n       */\n      allDay?: boolean | null;\n      /**\n       * Predefined sets of fields to return.\n       * - `NO_PI`: Returns event objects without personal information.\n       * - `OWN_PI`: Returns complete event objects, including personal information.\n       *\n       * Default: `NO_PI`\n       */\n      fieldsets?: string[];\n      /** Pagination options. */\n      cursorPaging?: CursorPaging$9;\n      /**\n       * Whether to return a partial list of events if details can't be retrieved for some connections.\n       *\n       * Default: `false`\n       */\n      partialFailure?: boolean | null;\n      /**\n       * Deprecated.\n       * @internal\n       * @deprecated\n       */\n      includePi?: boolean | null;\n  }\n  \n  type bookingsCalendarV2ExternalCalendar_universal_d_ExternalCalendar = ExternalCalendar;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListProvidersRequest = ListProvidersRequest;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListProvidersResponse = ListProvidersResponse;\n  type bookingsCalendarV2ExternalCalendar_universal_d_Provider = Provider;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ProviderFeatures = ProviderFeatures;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectMethod = ConnectMethod;\n  const bookingsCalendarV2ExternalCalendar_universal_d_ConnectMethod: typeof ConnectMethod;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListEventFromCalendars = ListEventFromCalendars;\n  const bookingsCalendarV2ExternalCalendar_universal_d_ListEventFromCalendars: typeof ListEventFromCalendars;\n  type bookingsCalendarV2ExternalCalendar_universal_d_SyncToCalendar = SyncToCalendar;\n  const bookingsCalendarV2ExternalCalendar_universal_d_SyncToCalendar: typeof SyncToCalendar;\n  type bookingsCalendarV2ExternalCalendar_universal_d_GetConnectionRequest = GetConnectionRequest;\n  type bookingsCalendarV2ExternalCalendar_universal_d_GetConnectionResponse = GetConnectionResponse;\n  type bookingsCalendarV2ExternalCalendar_universal_d_Connection = Connection;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ErrorReason = ErrorReason;\n  const bookingsCalendarV2ExternalCalendar_universal_d_ErrorReason: typeof ErrorReason;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectionSyncConfig = ConnectionSyncConfig;\n  type bookingsCalendarV2ExternalCalendar_universal_d_Calendar = Calendar;\n  type bookingsCalendarV2ExternalCalendar_universal_d_PrimaryCalendar = PrimaryCalendar;\n  type bookingsCalendarV2ExternalCalendar_universal_d_Calendars = Calendars;\n  type bookingsCalendarV2ExternalCalendar_universal_d_DedicatedCalendar = DedicatedCalendar;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectionSyncConfigListEventFromCalendars = ConnectionSyncConfigListEventFromCalendars;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectionSyncConfigListEventFromCalendarsListFromOneOf = ConnectionSyncConfigListEventFromCalendarsListFromOneOf;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectionSyncConfigSyncToCalendar = ConnectionSyncConfigSyncToCalendar;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectionSyncConfigSyncToCalendarSyncToOneOf = ConnectionSyncConfigSyncToCalendarSyncToOneOf;\n  type bookingsCalendarV2ExternalCalendar_universal_d_SyncToErrorReason = SyncToErrorReason;\n  const bookingsCalendarV2ExternalCalendar_universal_d_SyncToErrorReason: typeof SyncToErrorReason;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListConnectionsRequest = ListConnectionsRequest;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListConnectionsResponse = ListConnectionsResponse;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectByOAuthRequest = ConnectByOAuthRequest;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectByOAuthResponse = ConnectByOAuthResponse;\n  type bookingsCalendarV2ExternalCalendar_universal_d_RawHttpRequest = RawHttpRequest;\n  type bookingsCalendarV2ExternalCalendar_universal_d_PathParametersEntry = PathParametersEntry;\n  type bookingsCalendarV2ExternalCalendar_universal_d_QueryParametersEntry = QueryParametersEntry;\n  type bookingsCalendarV2ExternalCalendar_universal_d_HeadersEntry = HeadersEntry;\n  type bookingsCalendarV2ExternalCalendar_universal_d_RawHttpResponse = RawHttpResponse;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectByCredentialsRequest = ConnectByCredentialsRequest;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectByCredentialsResponse = ConnectByCredentialsResponse;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListCalendarsRequest = ListCalendarsRequest;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListCalendarsResponse = ListCalendarsResponse;\n  type bookingsCalendarV2ExternalCalendar_universal_d_UpdateSyncConfigRequest = UpdateSyncConfigRequest;\n  type bookingsCalendarV2ExternalCalendar_universal_d_UpdateSyncConfigResponse = UpdateSyncConfigResponse;\n  type bookingsCalendarV2ExternalCalendar_universal_d_DisconnectRequest = DisconnectRequest;\n  type bookingsCalendarV2ExternalCalendar_universal_d_DisconnectResponse = DisconnectResponse;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListEventsRequest = ListEventsRequest;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListEventsResponse = ListEventsResponse;\n  const bookingsCalendarV2ExternalCalendar_universal_d_listProviders: typeof listProviders;\n  const bookingsCalendarV2ExternalCalendar_universal_d_getConnection: typeof getConnection;\n  const bookingsCalendarV2ExternalCalendar_universal_d_listConnections: typeof listConnections;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListConnectionsOptions = ListConnectionsOptions;\n  const bookingsCalendarV2ExternalCalendar_universal_d_connectByOAuth: typeof connectByOAuth;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ConnectByOAuthOptions = ConnectByOAuthOptions;\n  const bookingsCalendarV2ExternalCalendar_universal_d_oAuthCompleted: typeof oAuthCompleted;\n  type bookingsCalendarV2ExternalCalendar_universal_d_OAuthCompletedOptions = OAuthCompletedOptions;\n  const bookingsCalendarV2ExternalCalendar_universal_d_connectByCredentials: typeof connectByCredentials;\n  const bookingsCalendarV2ExternalCalendar_universal_d_listCalendars: typeof listCalendars;\n  const bookingsCalendarV2ExternalCalendar_universal_d_updateSyncConfig: typeof updateSyncConfig;\n  type bookingsCalendarV2ExternalCalendar_universal_d_UpdateSyncConfigOptions = UpdateSyncConfigOptions;\n  const bookingsCalendarV2ExternalCalendar_universal_d_disconnect: typeof disconnect;\n  const bookingsCalendarV2ExternalCalendar_universal_d_listEvents: typeof listEvents;\n  type bookingsCalendarV2ExternalCalendar_universal_d_ListEventsOptions = ListEventsOptions;\n  namespace bookingsCalendarV2ExternalCalendar_universal_d {\n    export {\n      bookingsCalendarV2ExternalCalendar_universal_d_ExternalCalendar as ExternalCalendar,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListProvidersRequest as ListProvidersRequest,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListProvidersResponse as ListProvidersResponse,\n      bookingsCalendarV2ExternalCalendar_universal_d_Provider as Provider,\n      CalendarType$3 as CalendarType,\n      bookingsCalendarV2ExternalCalendar_universal_d_ProviderFeatures as ProviderFeatures,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectMethod as ConnectMethod,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListEventFromCalendars as ListEventFromCalendars,\n      bookingsCalendarV2ExternalCalendar_universal_d_SyncToCalendar as SyncToCalendar,\n      bookingsCalendarV2ExternalCalendar_universal_d_GetConnectionRequest as GetConnectionRequest,\n      bookingsCalendarV2ExternalCalendar_universal_d_GetConnectionResponse as GetConnectionResponse,\n      bookingsCalendarV2ExternalCalendar_universal_d_Connection as Connection,\n      Status$3 as Status,\n      bookingsCalendarV2ExternalCalendar_universal_d_ErrorReason as ErrorReason,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectionSyncConfig as ConnectionSyncConfig,\n      bookingsCalendarV2ExternalCalendar_universal_d_Calendar as Calendar,\n      bookingsCalendarV2ExternalCalendar_universal_d_PrimaryCalendar as PrimaryCalendar,\n      bookingsCalendarV2ExternalCalendar_universal_d_Calendars as Calendars,\n      bookingsCalendarV2ExternalCalendar_universal_d_DedicatedCalendar as DedicatedCalendar,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectionSyncConfigListEventFromCalendars as ConnectionSyncConfigListEventFromCalendars,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectionSyncConfigListEventFromCalendarsListFromOneOf as ConnectionSyncConfigListEventFromCalendarsListFromOneOf,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectionSyncConfigSyncToCalendar as ConnectionSyncConfigSyncToCalendar,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectionSyncConfigSyncToCalendarSyncToOneOf as ConnectionSyncConfigSyncToCalendarSyncToOneOf,\n      bookingsCalendarV2ExternalCalendar_universal_d_SyncToErrorReason as SyncToErrorReason,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListConnectionsRequest as ListConnectionsRequest,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListConnectionsResponse as ListConnectionsResponse,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectByOAuthRequest as ConnectByOAuthRequest,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectByOAuthResponse as ConnectByOAuthResponse,\n      bookingsCalendarV2ExternalCalendar_universal_d_RawHttpRequest as RawHttpRequest,\n      bookingsCalendarV2ExternalCalendar_universal_d_PathParametersEntry as PathParametersEntry,\n      bookingsCalendarV2ExternalCalendar_universal_d_QueryParametersEntry as QueryParametersEntry,\n      bookingsCalendarV2ExternalCalendar_universal_d_HeadersEntry as HeadersEntry,\n      bookingsCalendarV2ExternalCalendar_universal_d_RawHttpResponse as RawHttpResponse,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectByCredentialsRequest as ConnectByCredentialsRequest,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectByCredentialsResponse as ConnectByCredentialsResponse,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListCalendarsRequest as ListCalendarsRequest,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListCalendarsResponse as ListCalendarsResponse,\n      bookingsCalendarV2ExternalCalendar_universal_d_UpdateSyncConfigRequest as UpdateSyncConfigRequest,\n      bookingsCalendarV2ExternalCalendar_universal_d_UpdateSyncConfigResponse as UpdateSyncConfigResponse,\n      bookingsCalendarV2ExternalCalendar_universal_d_DisconnectRequest as DisconnectRequest,\n      bookingsCalendarV2ExternalCalendar_universal_d_DisconnectResponse as DisconnectResponse,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListEventsRequest as ListEventsRequest,\n      CursorPaging$9 as CursorPaging,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListEventsResponse as ListEventsResponse,\n      Event$2 as Event,\n      CursorPagingMetadata$7 as CursorPagingMetadata,\n      Cursors$a as Cursors,\n      ScheduleNotification$3 as ScheduleNotification,\n      ScheduleNotificationEventOneOf$3 as ScheduleNotificationEventOneOf,\n      ScheduleCreated$3 as ScheduleCreated,\n      Schedule$4 as Schedule,\n      RecurringInterval$3 as RecurringInterval,\n      Interval$4 as Interval,\n      Day$3 as Day,\n      Frequency$3 as Frequency,\n      LinkedSchedule$3 as LinkedSchedule,\n      Transparency$3 as Transparency,\n      RecurringIntervalType$3 as RecurringIntervalType,\n      Location$6 as Location,\n      LocationType$6 as LocationType,\n      Address$7 as Address,\n      AddressStreetOneOf$6 as AddressStreetOneOf,\n      StreetAddress$6 as StreetAddress,\n      AddressLocation$6 as AddressLocation,\n      Subdivision$6 as Subdivision,\n      LocationsLocation$3 as LocationsLocation,\n      LocationStatus$3 as LocationStatus,\n      LocationsLocationType$3 as LocationsLocationType,\n      LocationsAddress$3 as LocationsAddress,\n      LocationsStreetAddress$3 as LocationsStreetAddress,\n      LocationsAddressLocation$3 as LocationsAddressLocation,\n      BusinessSchedule$4 as BusinessSchedule,\n      TimePeriod$4 as TimePeriod,\n      DayOfWeek$4 as DayOfWeek,\n      SpecialHourPeriod$4 as SpecialHourPeriod,\n      Rate$3 as Rate,\n      Price$4 as Price,\n      Availability$3 as Availability,\n      AvailabilityConstraints$3 as AvailabilityConstraints,\n      SplitInterval$3 as SplitInterval,\n      Participant$3 as Participant,\n      ApprovalStatus$3 as ApprovalStatus,\n      ExternalCalendarOverrides$3 as ExternalCalendarOverrides,\n      ScheduleStatus$3 as ScheduleStatus,\n      Version$3 as Version,\n      ConferenceProvider$3 as ConferenceProvider,\n      CalendarConference$3 as CalendarConference,\n      ConferenceType$3 as ConferenceType,\n      ScheduleUpdated$3 as ScheduleUpdated,\n      RecurringSessionsUpdated$3 as RecurringSessionsUpdated,\n      Session$3 as Session,\n      CalendarDateTime$3 as CalendarDateTime,\n      LocalDateTime$3 as LocalDateTime,\n      ExternalCalendarInfo$3 as ExternalCalendarInfo,\n      SessionStatus$1 as SessionStatus,\n      SessionType$3 as SessionType,\n      SessionVersion$3 as SessionVersion,\n      ParticipantNotification$7 as ParticipantNotification,\n      ScheduleCancelled$3 as ScheduleCancelled,\n      SessionCreated$3 as SessionCreated,\n      SessionUpdated$3 as SessionUpdated,\n      SessionCancelled$3 as SessionCancelled,\n      AvailabilityPolicyUpdated$3 as AvailabilityPolicyUpdated,\n      AvailabilityPolicy$3 as AvailabilityPolicy,\n      IntervalSplit$3 as IntervalSplit,\n      RecurringSessionSplit$3 as RecurringSessionSplit,\n      ScheduleUnassignedFromUser$3 as ScheduleUnassignedFromUser,\n      MultipleSessionsCreated$3 as MultipleSessionsCreated,\n      ScheduleWithSessions$3 as ScheduleWithSessions,\n      SitePropertiesOnScheduleCreation$3 as SitePropertiesOnScheduleCreation,\n      MigrationEvent$3 as MigrationEvent,\n      MigrationData$3 as MigrationData,\n      StaffData$3 as StaffData,\n      Empty$6 as Empty,\n      bookingsCalendarV2ExternalCalendar_universal_d_listProviders as listProviders,\n      bookingsCalendarV2ExternalCalendar_universal_d_getConnection as getConnection,\n      bookingsCalendarV2ExternalCalendar_universal_d_listConnections as listConnections,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListConnectionsOptions as ListConnectionsOptions,\n      bookingsCalendarV2ExternalCalendar_universal_d_connectByOAuth as connectByOAuth,\n      bookingsCalendarV2ExternalCalendar_universal_d_ConnectByOAuthOptions as ConnectByOAuthOptions,\n      bookingsCalendarV2ExternalCalendar_universal_d_oAuthCompleted as oAuthCompleted,\n      bookingsCalendarV2ExternalCalendar_universal_d_OAuthCompletedOptions as OAuthCompletedOptions,\n      bookingsCalendarV2ExternalCalendar_universal_d_connectByCredentials as connectByCredentials,\n      bookingsCalendarV2ExternalCalendar_universal_d_listCalendars as listCalendars,\n      bookingsCalendarV2ExternalCalendar_universal_d_updateSyncConfig as updateSyncConfig,\n      bookingsCalendarV2ExternalCalendar_universal_d_UpdateSyncConfigOptions as UpdateSyncConfigOptions,\n      bookingsCalendarV2ExternalCalendar_universal_d_disconnect as disconnect,\n      bookingsCalendarV2ExternalCalendar_universal_d_listEvents as listEvents,\n      bookingsCalendarV2ExternalCalendar_universal_d_ListEventsOptions as ListEventsOptions,\n    };\n  }\n  \n  /**\n   * The `serviceOptionsAndVariants` object links a service to its variants.\n   * You can use it to offer customers different prices for a service,\n   * depending on which choices they book.\n   * Read more about [service options and variants](https://wix.wixanswers.com/app/kb/article/2e91a25b-b3c2-4cf7-9005-429a4929fc36/en).\n   */\n  interface ServiceOptionsAndVariants {\n      /**\n       * ID of the `serviceOptionsAndVariants` object.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the service related to these options and variants. */\n      serviceId?: string | null;\n      /** Service options. Note that currently only a single option is supported per service. */\n      options?: ServiceOptions;\n      /** Information about the service's variants. */\n      variants?: ServiceVariants;\n      /**\n       * Price of the cheapest service variant.\n       * @readonly\n       */\n      minPrice?: Money$3;\n      /**\n       * Price of the most expensive service variant.\n       * @readonly\n       */\n      maxPrice?: Money$3;\n      /**\n       * Revision number, which increments by 1 each time the `serviceOptionsAndVariants` object is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating and deleting the `serviceOptionsAndVariants` object.\n       *\n       * Ignored when creating a `serviceOptionsAndVariants` object.\n       */\n      revision?: string | null;\n      /** Extensions enabling users to save custom data related to service options and variants. */\n      extendedFields?: ExtendedFields$8;\n  }\n  interface ServiceOption extends ServiceOptionOptionSpecificDataOneOf {\n      /** Details about the custom option. Available only for `CUSTOM` options. */\n      customData?: CustomServiceOption;\n      /** ID of the service option. */\n      _id?: string;\n      /** Type of the service option. */\n      type?: ServiceOptionType;\n  }\n  /** @oneof */\n  interface ServiceOptionOptionSpecificDataOneOf {\n      /** Details about the custom option. Available only for `CUSTOM` options. */\n      customData?: CustomServiceOption;\n  }\n  enum ServiceOptionType {\n      UNKNOWN = \"UNKNOWN\",\n      CUSTOM = \"CUSTOM\",\n      STAFF_MEMBER = \"STAFF_MEMBER\"\n  }\n  interface CustomServiceOption {\n      /**\n       * Name of the service option. For example, `Age group`, `Location`, `Equipment`,\n       * or `Time`.\n       */\n      name?: string;\n      /**\n       * Available choices for the service option. For example, `child`, `student`,\n       * `adult`, and `senior` for a service option named `Age group`. Each value must\n       * be unique. The value's case is ignored, meaning `Child` and `child` are\n       * considered to be identical. Currently, only a single choice is supported\n       * because a service can have only a single option.\n       *\n       * Max: 1 choice\n       */\n      choices?: string[];\n  }\n  interface ServiceVariant {\n      /**\n       * ID of the service variant.\n       * Used by multilingual translations.\n       * @internal\n       */\n      _id?: string | null;\n      /**\n       * Choices for the service option. Currently, only a single choice is supported\n       * because a service can have only a single option.\n       *\n       * Max: 1 choice\n       */\n      choices?: ServiceChoice$3[];\n      /** Information about the service variant's price. */\n      price?: Money$3;\n  }\n  interface ServiceChoice$3 extends ServiceChoiceChoiceOneOf$3 {\n      /** Name of the custom choice. */\n      custom?: string;\n      /**\n       * ID of the staff member providing the service. This ID is the equivalent of the `resourceId`\n       * of the staff member or the `scheduleOwnerId` of the relevant\n       * schedule's\n       * `availability.linkedSchedules`.\n       */\n      staffMemberId?: string;\n      /**\n       * ID of the service choice.\n       * Used by multilingual translations.\n       * @internal\n       */\n      _id?: string | null;\n      /** ID of the service option. */\n      optionId?: string;\n  }\n  /** @oneof */\n  interface ServiceChoiceChoiceOneOf$3 {\n      /** Name of the custom choice. */\n      custom?: string;\n      /**\n       * ID of the staff member providing the service. This ID is the equivalent of the `resourceId`\n       * of the staff member or the `scheduleOwnerId` of the relevant\n       * [schedule's](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object)\n       * `availability.linkedSchedules`.\n       */\n      staffMemberId?: string;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money$3 {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface ServiceOptions {\n      /**\n       * Values of the service options.\n       *\n       * Max: 1 service option\n       */\n      values?: ServiceOption[];\n  }\n  interface ServiceVariants {\n      /** Values of the service variants. */\n      values?: ServiceVariant[];\n  }\n  interface ExtendedFields$8 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateServiceOptionsAndVariantsRequest {\n      /** Service options and variants to create. */\n      serviceOptionsAndVariants: ServiceOptionsAndVariants;\n  }\n  interface CreateServiceOptionsAndVariantsResponse {\n      /** Information about the created service options and variants. */\n      serviceOptionsAndVariants?: ServiceOptionsAndVariants;\n  }\n  interface CloneServiceOptionsAndVariantsRequest {\n      /** ID of the `serviceOptionsAndVariants` object to clone. */\n      cloneFromId: string;\n      /** ID of the service that will be set for the cloned `serviceOptionsAndVariants` */\n      targetServiceId: string;\n  }\n  interface CloneServiceOptionsAndVariantsResponse {\n      /** The cloned `serviceOptionsAndVariants` object. */\n      serviceOptionsAndVariants?: ServiceOptionsAndVariants;\n  }\n  interface GetServiceOptionsAndVariantsRequest {\n      /** ID of the `serviceOptionsAndVariants` object to retrieve. */\n      serviceOptionsAndVariantsId: string;\n  }\n  interface GetServiceOptionsAndVariantsResponse {\n      /** Retrieved `serviceOptionsAndVariants` object. */\n      serviceOptionsAndVariants?: ServiceOptionsAndVariants;\n  }\n  interface GetServiceOptionsAndVariantsByServiceIdRequest {\n      /** ID of the service to retrieve options and variants for. */\n      serviceId: string;\n  }\n  interface GetServiceOptionsAndVariantsByServiceIdResponse {\n      /** Retrieved `serviceOptionsAndVariants` object. */\n      serviceVariants?: ServiceOptionsAndVariants;\n  }\n  interface UpdateServiceOptionsAndVariantsRequest {\n      /** `ServiceOptionsAndVariants` object to update. */\n      serviceOptionsAndVariants: ServiceOptionsAndVariants;\n      /**\n       * Field mask containing information about the fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateServiceOptionsAndVariantsResponse {\n      /** Updated `serviceOptionsAndVariants` object. */\n      serviceOptionsAndVariants?: ServiceOptionsAndVariants;\n  }\n  interface DeleteServiceOptionsAndVariantsRequest {\n      /** ID of the `serviceOptionsAndVariants` object to delete. */\n      serviceOptionsAndVariantsId: string;\n      /** Revision of the `serviceOptionsAndVariants` object to delete. */\n      revision?: string;\n  }\n  interface DeleteServiceOptionsAndVariantsResponse {\n  }\n  interface QueryServiceOptionsAndVariantsRequest {\n      /** Information about filters, paging, and returned fields. */\n      query: QueryV2$4;\n  }\n  interface QueryV2$4 extends QueryV2PagingMethodOneOf$4 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$4;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$8;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$8[];\n      /**\n       * Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned.\n       * @internal\n       */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$4 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$4;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$8;\n  }\n  interface Sorting$8 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$8;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$8 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$4 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$8 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryServiceOptionsAndVariantsResponse {\n      /** Retrieved `serviceOptionsAndVariants` objects. */\n      serviceOptionsAndVariantsList?: ServiceOptionsAndVariants[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadataV2$3;\n  }\n  interface PagingMetadataV2$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$9;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$9 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ResourceNotification$1 {\n      /**\n       * Updated resource entity.\n       * 'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead.\n       */\n      resource?: Resource$3;\n      /** Event type. */\n      event?: Event$1;\n  }\n  interface Resource$3 {\n      /**\n       * Resource ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Resource name. */\n      name?: string | null;\n      /** Resource email address. */\n      email?: string | null;\n      /** Resource phone number. */\n      phone?: string | null;\n      /** Resource description. */\n      description?: string | null;\n      /**\n       * Deprecated. Please use tags.\n       * @deprecated\n       */\n      tag?: string | null;\n      /** Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'. */\n      tags?: string[] | null;\n      /** Resource images. */\n      images?: string[];\n      /**\n       * Deprecated. Please use scheduleIds. List of the schedules owned by this resource. Min size 1.\n       * @deprecated\n       */\n      schedules?: Schedule$3[];\n      /**\n       * List of IDs of schedules owned by this resource.\n       * @readonly\n       */\n      scheduleIds?: string[] | null;\n      /**\n       * Resource status.\n       * @readonly\n       */\n      status?: ResourceStatus$1;\n      /**\n       * Wix user ID, if the resource is associated with the Wix user.\n       * A staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager.\n       * @readonly\n       */\n      wixUserId?: string | null;\n      /**\n       * The ID of the Resource Group that this resource belongs to. This is an optional field as not every resource is part of a group.\n       * @internal\n       */\n      groupId?: string | null;\n      /**\n       * This field determines how to resolve the working hours of this resource. Defaults to `true` if was not set by the client.\n       * When set to `true` then working hours (including location information) can be found in the sessions of a schedule that is connected to this resource.\n       * If `false`, then the working hours are not specified as sessions of a connected schedule. Instead this resource is then by definition full-time available (7 x 24).\n       * @internal\n       */\n      hasWorkingHoursSchedule?: boolean | null;\n      /**\n       * True if the resource is available in all locations, false if the resource is available only in a specific business location. Empty if `has_working_hours_schedule` is true.\n       * Information on the location(s) can then be found in the sessions of one of the connected schedules.\n       * @internal\n       */\n      availableInAllLocations?: boolean | null;\n      /**\n       * Information about business location connected to the resource. Should be empty if `available_in_all_locations` is true or if no business location exists in OS.\n       * @internal\n       */\n      businessLocation?: BusinessLocation$3;\n      /**\n       * This schedule contains the sessions in which this resource is booked.\n       * Equals to the first element of `schedules` array.\n       * @internal\n       * @readonly\n       */\n      eventsSchedule?: Schedule$3;\n      /**\n       * The type of of the resource. Currently this field is only filled for staff and will contain the ID as configured in the\n       * BOOKINGS_RESOURCE_TYPES component of the Bookings app.\n       * @internal\n       * @readonly\n       */\n      type?: string | null;\n  }\n  interface Schedule$3 {\n      /** Schedule ID. */\n      _id?: string;\n      /** ID of the schedule's owner entity. This may be a resource ID or a service ID. */\n      scheduleOwnerId?: string | null;\n      /**\n       * Start time of the first session in the schedule.\n       * @internal\n       * @readonly\n       */\n      firstSessionStart?: Date | null;\n      /**\n       * End time of the last session in the schedule.\n       * @internal\n       * @readonly\n       */\n      lastSessionEnd?: Date | null;\n      /**\n       * Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\n       * Derived from the Wix Business time zone.\n       * @readonly\n       */\n      timeZone?: string | null;\n      /**\n       * Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead.\n       * @deprecated\n       */\n      intervals?: RecurringInterval$2[];\n      /** Default title for the schedule's sessions. Maximum length: 6000 characters. */\n      title?: string | null;\n      /**\n       * __Deprecated.__\n       * Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\n       * The Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags.\n       * @deprecated\n       */\n      tags?: string[] | null;\n      /** Default location for the schedule's sessions. */\n      location?: Location$5;\n      /**\n       * Maximum number of participants that can be added to the schedule's sessions.\n       * Must be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app.\n       */\n      capacity?: number | null;\n      /**\n       * Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead.\n       * @deprecated\n       */\n      rate?: Rate$2;\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      availability?: Availability$2;\n      /**\n       * Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes.\n       * @readonly\n       */\n      totalNumberOfParticipants?: number;\n      /**\n       * *Partial list** of participants which are registered to sessions in this schedule.\n       * Participants who are registered in the schedule are automatically registered to any session that is created for the schedule.\n       * To retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings).\n       * @readonly\n       */\n      participants?: Participant$2[];\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      externalCalendarOverrides?: ExternalCalendarOverrides$2;\n      /**\n       * Schedule status.\n       * @readonly\n       */\n      status?: ScheduleStatus$2;\n      /**\n       * Schedule creation date.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Schedule last update date.\n       * @readonly\n       */\n      updated?: Date | null;\n      /**\n       * Schedule version number, updated each time the schedule is updated.\n       * @readonly\n       */\n      version?: number;\n      /**\n       * The schedule version, updated each time the schedule or the schedule participants are updated.\n       * @internal\n       * @readonly\n       */\n      versions?: Version$2;\n      /**\n       * Fields which were inherited from the Business Info page under Settings in the Dashboard.\n       * @readonly\n       */\n      inheritedFields?: string[];\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      conferenceProvider?: ConferenceProvider$2;\n      /**\n       * A conference created for the schedule. This is used when a participant is added to a schedule.\n       * **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.\n       * @deprecated\n       */\n      calendarConference?: CalendarConference$2;\n      /**\n       * The name of the schedule owner. It may be a resource name or a service name. Optional.\n       * @internal\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the schedule owner. Optional.\n       * Currently, in Bookings system, it would be present when the schedule is owned by a staff resource and the resource is connected to a user.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  interface RecurringInterval$2 {\n      /**\n       * The recurring interval identifier.\n       * @readonly\n       */\n      _id?: string;\n      /** The start time of the recurring interval. Required. */\n      start?: Date | null;\n      /** The end time of the recurring interval. Optional. Empty value indicates that there is no end time. */\n      end?: Date | null;\n      /** The interval rules. The day, hour and minutes the interval is recurring. */\n      interval?: Interval$3;\n      /** The frequency of the interval. Optional. The default is frequency with the default repetition. */\n      frequency?: Frequency$2;\n      /** Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval. */\n      affectedSchedules?: LinkedSchedule$2[];\n      /** The type of recurring interval. */\n      intervalType?: RecurringIntervalType$2;\n  }\n  interface Interval$3 {\n      /** The day the interval accrue. Optional. The default is the day of the recurring interval's start time. */\n      daysOfWeek?: Day$2;\n      /** The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23. */\n      hourOfDay?: number | null;\n      /** The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59. */\n      minuteOfHour?: number | null;\n      /** The duration of the interval in minutes. Required. Part of the session end time calculation. */\n      duration?: number;\n  }\n  enum Day$2 {\n      /** Undefined. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface Frequency$2 {\n      /** The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52. */\n      repetition?: number | null;\n  }\n  interface LinkedSchedule$2 {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /**\n       * Sets this schedule's availability for the duration of the linked schedule's sessions.  Default is `\"BUSY\"`.\n       * If set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\n       * If set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n       */\n      transparency?: Transparency$2;\n      /**\n       * Owner ID, of the linked schedule.\n       * @readonly\n       */\n      scheduleOwnerId?: string;\n      /**\n       * The name of the linked schedule owner. It may be a resource name or a service name. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the linked schedule owner. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  enum Transparency$2 {\n      UNDEFINED = \"UNDEFINED\",\n      /** The schedule can have available slots during the session. */\n      FREE = \"FREE\",\n      /** The schedule cannot have available slots during the session. Default value. */\n      BUSY = \"BUSY\"\n  }\n  enum RecurringIntervalType$2 {\n      /** The default value. Sessions for this interval will be of type EVENT. */\n      UNDEFINED = \"UNDEFINED\",\n      /** A recurring interval of events */\n      EVENT = \"EVENT\",\n      /** Deprecated */\n      TIME_AVAILABILITY = \"TIME_AVAILABILITY\",\n      /** A recurring interval for availability */\n      AVAILABILITY = \"AVAILABILITY\"\n  }\n  interface Location$5 {\n      /**\n       * Location type.\n       * One of:\n       * - `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"` The address as set when creating the service.\n       * - `\"CUSTOM\"` The address set for the individual session.\n       */\n      locationType?: LocationType$5;\n      /**\n       * Free text address used when locationType is `OWNER_CUSTOM`.\n       * @deprecated\n       */\n      address?: string | null;\n      /** Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default. */\n      customAddress?: Address$6;\n      /**\n       * The Wix Business location formatted address.\n       * Valid when `locationType` is `OWNER_BUSINESS`. Defaults to the business's location.\n       * To retrieve the full location data please use the [Locations API](https://dev.wix.com/api/rest/business-info/locations).\n       * @internal\n       */\n      businessLocation?: LocationsLocation$2;\n  }\n  enum LocationType$5 {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  /** Physical address */\n  interface Address$6 extends AddressStreetOneOf$5 {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress$5;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation$5;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision$5[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$5 {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress$5;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$5 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation$5 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$5 {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface LocationsLocation$2 {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string;\n      /** Location description. */\n      description?: string | null;\n      /**\n       * Whether this is the default location. There can only be one default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Location status. Defaults to `ACTIVE`.\n       * __Notes:__\n       * - [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect the location's status.\n       * - `INACTIVE` status is currently not supported.\n       */\n      status?: LocationStatus$2;\n      /**\n       * Location type.\n       *\n       * **Note:** Currently not supported.\n       * @deprecated\n       */\n      locationType?: LocationsLocationType$2;\n      /** Fax number. */\n      fax?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Address. */\n      address?: LocationsAddress$2;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$3;\n      /**\n       * Revision number, which increments by 1 each time the location is updated.\n       * To prevent conflicting changes, the existing revision must be used when updating a location.\n       */\n      revision?: string | null;\n      /**\n       * Whether the location is archived. Archived locations can't be updated.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect its `status`.\n       * @readonly\n       */\n      archived?: boolean;\n      /** Location types. */\n      locationTypes?: LocationsLocationType$2[];\n  }\n  /** For future use */\n  enum LocationStatus$2 {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  /** For future use */\n  enum LocationsLocationType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      BRANCH = \"BRANCH\",\n      OFFICES = \"OFFICES\",\n      RECEPTION = \"RECEPTION\",\n      HEADQUARTERS = \"HEADQUARTERS\",\n      INVENTORY = \"INVENTORY\"\n  }\n  interface LocationsAddress$2 {\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. Includes street name, number, and apartment number in separate fields. */\n      streetAddress?: LocationsStreetAddress$2;\n      /** Full address of the location. */\n      formatted?: string | null;\n      /** Geographic coordinates of location. */\n      location?: LocationsAddressLocation$2;\n  }\n  /** Street address. Includes street name, number, and apartment number in separate fields. */\n  interface LocationsStreetAddress$2 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  /** Address Geolocation */\n  interface LocationsAddressLocation$2 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number | null;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number | null;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$3 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$3[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$3[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$3 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$3;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$3;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$3 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$3 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Rate$2 {\n      /**\n       * Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      labeledPriceOptions?: Record<string, Price$3>;\n      /**\n       * Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      priceText?: string | null;\n      /**\n       * Default service price. Always vailable when a service has\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Sometimes also available for services without variants.\n       * Ignored in [updates to a service](https://dev.wix.com/api/rest/wix-bookings/services/service/update-service),\n       * when either `labeled_price_options` or `price_text` is also specified.\n       * @internal\n       */\n      defaultVariedPrice?: Price$3;\n  }\n  interface Price$3 {\n      /** Required payment amount. */\n      amount?: string;\n      /** Currency in which the amount is quoted. */\n      currency?: string;\n      /** Amount of a down payment or deposit as part of the transaction. */\n      downPayAmount?: string;\n  }\n  /**\n   * <!-- Needs updating when recurrence has been tested\n   * Schedule's availability calculation is executed by the schedule's available intervals and this additional information.\n   * Schedule's available intervals are recurring intervals (defined in the schedule) minus sessions that has no more spots for bookings (including time between_slots), or schedule's sessions with open spots for bookings.-->\n   */\n  interface Availability$2 {\n      /** Date and time the schedule starts to be available for booking. */\n      start?: Date | null;\n      /** Date and time the schedule stops being available for booking. No value indicates no end time. */\n      end?: Date | null;\n      /** Other schedules that impact the availability calculation. Relevant only when there are availability constraints. */\n      linkedSchedules?: LinkedSchedule$2[];\n      /** Constraints for calculating the schedule's availability. */\n      constraints?: AvailabilityConstraints$2;\n      /**\n       * Not supported yet.\n       * A list of possible locations for the session when `use_default_location` is set to `false`. Slots are generated for each location. Only one of the possible locations can be chosen by the customer.\n       *\n       * **NOTE**: When using the `locations` parameter, the default location is not automatically included in the list.\n       * @internal\n       */\n      locations?: Location$5[];\n      /**\n       * Not supported yet.\n       * Whether the schedule's slots are only available at the schedule's default location, as set in `schedule.location`. If set to `false`, the `locations` array is used to set the possible locations of the schedule's sessions.\n       * Default is `true`.\n       * @internal\n       */\n      useDefaultLocation?: boolean | null;\n  }\n  /** Describes how to calculate the specific slots that are available for booking. */\n  interface AvailabilityConstraints$2 {\n      /**\n       * A list of duration options for slots, in minutes. Minimum value for a duration is 1.\n       * The availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints.\n       */\n      slotDurations?: number[];\n      /**\n       * The number of minutes between the `end` of one slot, and the `start` of the next.\n       * Minimum value is 0, maximum value is 120.\n       */\n      timeBetweenSlots?: number;\n      /**\n       * Specify how to split the slots in intervals of minutes.\n       * This value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\n       * Optional. The default is the first duration in slot_durations field.\n       * Deprecated. Use the `split_slots_interval.value_in_minutes`.\n       * @deprecated\n       */\n      splitInterval?: number | null;\n      /**\n       * An object defining the time between available slots' start times.  For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration.\n       * @readonly\n       */\n      slotsSplitInterval?: SplitInterval$2;\n  }\n  /** The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc. */\n  interface SplitInterval$2 {\n      /**\n       * Whether the slot duration is used as the split interval value.\n       * If `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n       * `schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field.\n       */\n      sameAsDuration?: boolean | null;\n      /** Number of minutes between available slots' start times when `same_as_duration` is `false`. */\n      valueInMinutes?: number | null;\n  }\n  interface Participant$2 {\n      /** Participant ID. Currently represents the booking.id. */\n      _id?: string;\n      /** Contact ID. */\n      contactId?: string | null;\n      /** Participant's name. */\n      name?: string | null;\n      /** Participant's phone number. */\n      phone?: string | null;\n      /** Participant's email address. */\n      email?: string | null;\n      /** Group or party size. The number of people attending. Defaults to 0. Maximum is 250. */\n      partySize?: number;\n      /**\n       * Approval status for the participant.\n       * <!-- Commented out untill updateParticipant is exposed Generally the same status as the booking, unless updated using the `updateParticipant()` API. Defaults to `\"UNDEFINED\"`.-->\n       */\n      approvalStatus?: ApprovalStatus$2;\n      /**\n       * Whether the participant was inherited from the schedule, as opposed to being booked directly to the session.\n       * @readonly\n       */\n      inherited?: boolean;\n  }\n  enum ApprovalStatus$2 {\n      /** Default. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Pending business approval. */\n      PENDING = \"PENDING\",\n      /** Approved by the business. */\n      APPROVED = \"APPROVED\",\n      /** Declined by the business. */\n      DECLINED = \"DECLINED\"\n  }\n  interface ExternalCalendarOverrides$2 {\n      /** Synced title of the external calendar event. */\n      title?: string | null;\n      /** Synced description of the external calendar event. */\n      description?: string | null;\n  }\n  enum ScheduleStatus$2 {\n      UNDEFINED = \"UNDEFINED\",\n      /** The default value when the schedule is created. */\n      CREATED = \"CREATED\",\n      /** The schedule has been canceled. */\n      CANCELLED = \"CANCELLED\"\n  }\n  interface Version$2 {\n      /** Schedule version number, updated each time the schedule is updated. */\n      scheduleVersion?: number | null;\n      /** Participants version number, updated each time the schedule participants are updated. */\n      participantsVersion?: number | null;\n  }\n  interface ConferenceProvider$2 {\n      /** Conferencing provider ID */\n      providerId?: string;\n  }\n  interface CalendarConference$2 {\n      /** Wix Calendar conference ID. */\n      _id?: string;\n      /** Conference meeting ID in the provider's conferencing system. */\n      externalId?: string;\n      /**\n       * A generated id for the conference entity - Base62($providerId$accountOwnerId$conferenceId)\n       * @internal\n       */\n      conferenceId?: string | null;\n      /** Conference provider ID. */\n      providerId?: string;\n      /** URL used by the host to start the conference. */\n      hostUrl?: string;\n      /** URL used by a guest to join the conference. */\n      guestUrl?: string;\n      /** Password to join the conference. */\n      password?: string | null;\n      /** Conference description. */\n      description?: string | null;\n      /** Conference type. */\n      conferenceType?: ConferenceType$2;\n      /** ID of the account owner in the video conferencing service. */\n      accountOwnerId?: string | null;\n  }\n  enum ConferenceType$2 {\n      UNDEFINED = \"UNDEFINED\",\n      /** API-generated online meeting. */\n      ONLINE_MEETING_PROVIDER = \"ONLINE_MEETING_PROVIDER\",\n      /** User-defined meeting. */\n      CUSTOM = \"CUSTOM\"\n  }\n  enum ResourceStatus$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** Default status. */\n      CREATED = \"CREATED\",\n      /** The resource was deleted. */\n      DELETED = \"DELETED\",\n      /** The resource was updated. */\n      UPDATED = \"UPDATED\"\n  }\n  interface BusinessLocation$3 {\n      /** The ID of the business location. Has to be non-empty */\n      locationId?: string;\n  }\n  enum Event$1 {\n      UNDEFINED = \"UNDEFINED\",\n      Updated = \"Updated\",\n      Deleted = \"Deleted\",\n      Created = \"Created\",\n      Schedule_Updated = \"Schedule_Updated\"\n  }\n  interface Empty$5 {\n  }\n  /** An event sent in the system once the service is changed. */\n  interface ServiceNotification extends ServiceNotificationMetadataOneOf {\n      deleteMetadata?: DeleteMetadata;\n      /** Updated service entity. */\n      service?: Service$1;\n      event?: ServiceNotificationEvent;\n      policy?: BusinessServicesPolicy;\n  }\n  /** @oneof */\n  interface ServiceNotificationMetadataOneOf {\n      deleteMetadata?: DeleteMetadata;\n  }\n  /** A service describes the business offering that a business provides to its customers. */\n  interface Service$1 {\n      /**\n       * Service ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Information about the service. */\n      info?: ServiceInfo;\n      /** Description of the bookings policy for the service. */\n      policy?: BookingPolicy$3;\n      /** Payment options available for use when booking the service. */\n      paymentOptions?: PaymentOptions$1;\n      /** ID of the category to which the service belongs. */\n      categoryId?: string | null;\n      /** ID of the form that visitors fill out when booking the service. */\n      bookingFormId?: string | null;\n      /**\n       * List of schedule IDs for the sessions and slots that can be booked for the service.\n       * The list can include schedules with any `status` values, however the Bookings application only uses the schedules with a `status` of `\"CREATED\"`. There is only one schedule with a status of `\"CREATED\"` per service. The ID of that schedule must always be the first in the list.\n       * @readonly\n       */\n      scheduleIds?: string[];\n      /** Set of custom properties for the service. */\n      customProperties?: Record<string, string>;\n      /**\n       * Service status.\n       * @readonly\n       */\n      status?: ServiceStatus;\n      /** Sort order of the service within its category. */\n      sortOrder?: number | null;\n      /**\n       * Advanced SEO data\n       * @deprecated\n       */\n      advancedSeoData?: SeoSchema$1;\n      /** SEO data */\n      seoData?: SeoSchema$1;\n      /** Whether a conference is to be generated for the service. */\n      includeConferenceOption?: boolean | null;\n  }\n  /** Information describing the service. */\n  interface ServiceInfo {\n      /** Service name. */\n      name?: string | null;\n      /** Service description. */\n      description?: string | null;\n      /**\n       * Images associated with the service. Deprecated.\n       * @deprecated\n       */\n      images?: string[];\n      /** Short service description. */\n      tagLine?: string | null;\n      /** Images associated with the service. Optional. Not supported yet. */\n      media?: Media$1;\n  }\n  interface Media$1 {\n      /** Images associated with the service. */\n      items?: MediaItem$2[];\n      /** Primary image associated with the service. */\n      mainMedia?: MediaItem$2;\n      /** Cover image associated with the service. */\n      coverMedia?: MediaItem$2;\n  }\n  interface MediaItem$2 extends MediaItemItemOneOf$1 {\n      /** Image metadata. */\n      image?: string;\n  }\n  /** @oneof */\n  interface MediaItemItemOneOf$1 {\n      /** Image metadata. */\n      image?: string;\n  }\n  /** A set of rules defining the policies for booking the service for visitors and members. */\n  interface BookingPolicy$3 {\n      /** Maximum number of participants for a single booking. Defaults to 1. */\n      maxParticipantsPerBooking?: number | null;\n      /** Minimum number of minutes before the start of a session that a booking can be made. For a schedule, this is relative to the start time of the next session, excluding past sessions. Default value is taken form BusinessServicesPolicy. */\n      bookUpToXMinutesBefore?: number | null;\n      /** Minimum number of minutes before the start of a session that a booking can be canceled or rescheduled. Default value is taken form BusinessServicesPolicy. */\n      cancelRescheduleUpToXMinutesBefore?: number | null;\n      /** Whether online booking is available. Defaults to true. */\n      isBookOnlineAllowed?: boolean | null;\n      /** Whether bookings for the service can be canceled. Defaults to true. */\n      isCancelAllowed?: boolean | null;\n      /** Whether bookings for the service can be rescheduled. Defaults to true. */\n      isRescheduleAllowed?: boolean | null;\n      /** How far in advance a booking can be made. Default value is taken form BusinessServicesPolicy. */\n      futureBookingsPolicy?: FutureBookingPolicy;\n      /** Waitlist policy for the service. Default value is taken form BusinessServicesPolicy. */\n      waitingListPolicy?: WaitingListPolicy;\n      /** Bookings approval policy for the service. Empty by default. */\n      bookingsApprovalPolicy?: BookingsApprovalPolicy;\n      /**\n       * A list of booking policy field names of fields that override the respective values of the default business booking policy.\n       * Currently only 'service.policy.bookUpToXMinutesBefore' field is supported\n       */\n      overrideBusinessPolicyFields?: string[];\n      /**\n       * User defined cancellation policy message.\n       * @readonly\n       */\n      cancellationPolicy?: string | null;\n  }\n  interface FutureBookingPolicy {\n      /** Whether a limit is imposed on advance bookings. */\n      shouldLimit?: boolean | null;\n      /** How far in advance, in minutes, a session can be booked. Defaults to 10,080 minutes (3 days). */\n      limitXMinutesToTheFuture?: number | null;\n  }\n  interface WaitingListPolicy {\n      /** Whether waitlisting is enabled for the service. */\n      isEnabled?: boolean | null;\n      /** Number of spots available in the waitlist. Defaults to 10 spots. */\n      capacity?: number | null;\n      /** Amount of time a participant is given to book, once notified that a spot is available. Defaults to 10 minutes. */\n      timeWindowMinutes?: number | null;\n  }\n  interface BookingsApprovalPolicy {\n      /** Whether bookings to the service require approval. */\n      isBusinessApprovalRequired?: boolean | null;\n      /** Whether the booking requests affect the session or slot availability. For example, 3 booking requests for a 10-person session will cause the session to have 7 available spots, before the requests are approved. */\n      requestsAffectsAvailability?: boolean | null;\n  }\n  /**\n   * Payment options for the service. Multiple payment options can be enabled. For example:\n   * For a service to be paid only online using WiX, then set wix_pay_online=true and the rest should be set to false.\n   * For a service to accept payment online via Wix or in person, set the wix_pay_online=true & wix_pay_in_person=true.\n   */\n  interface PaymentOptions$1 {\n      /** Whether a booking made for the service can be paid online through Wix. */\n      wixPayOnline?: boolean | null;\n      /** Whether a booking made for the service can be paid in person. */\n      wixPayInPerson?: boolean | null;\n      /** Whether a booking made for the service can be paid in a customized way, defined by the API. */\n      custom?: boolean | null;\n      /** Whether a booking made for the service can be paid using Wix Pricing Plans. */\n      wixPaidPlan?: boolean | null;\n  }\n  enum ServiceStatus {\n      /** The default service status. */\n      CREATED = \"CREATED\",\n      /** The service is deleted. */\n      DELETED = \"DELETED\"\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$1 {\n      /** SEO tag information. */\n      tags?: Tag$1[];\n      /** SEO general settings. */\n      settings?: Settings$1;\n  }\n  interface Keyword$1 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag$1 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$1 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$1[];\n  }\n  enum ServiceNotificationEvent {\n      Unspecified = \"Unspecified\",\n      Updated = \"Updated\",\n      Deleted = \"Deleted\",\n      Created = \"Created\"\n  }\n  /**\n   * Defines the Bookings Policy applied to the business's services. The policy can be overridden for a service when setting the `Service.BookingsPolicy` property.\n   * Unless overridden, each service inherits the settings in the business policy.\n   */\n  interface BusinessServicesPolicy {\n      /** Minimum amount of time to make a booking before the start of the booked item. For sessions, this is relative to the start time of the session. For schedules, this is relative to the start time of the first session, excluding past sessions. Defaults to 0. */\n      bookUpToXMinutesBefore?: number | null;\n      /** Minimum time that a booking can be canceled or rescheduled before the session starts. Defaults to 0. */\n      cancelRescheduleUpToXMinutesBefore?: number | null;\n      /** An object specifying how far in advance a booking can be made. */\n      futureBookingsPolicy?: FutureBookingPolicy;\n      /** Waitlist policy for the service. Empty by default. */\n      waitingListPolicy?: WaitingListPolicy;\n      /** User defined cancellation policy message. */\n      cancellationPolicy?: string | null;\n  }\n  interface DeleteMetadata {\n      preserveFutureSessionsWithParticipants?: boolean;\n      participantNotification?: ParticipantNotification$6;\n  }\n  interface ParticipantNotification$6 {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n      /**\n       * Optional additional metadata.\n       * Supported only in V3 APIs.\n       * @internal\n       */\n      metadata?: Record<string, string>;\n  }\n  interface ScheduleNotification$2 extends ScheduleNotificationEventOneOf$2 {\n      scheduleCreated?: ScheduleCreated$2;\n      scheduleUpdated?: ScheduleUpdated$2;\n      scheduleCancelled?: ScheduleCancelled$2;\n      sessionCreated?: SessionCreated$2;\n      sessionUpdated?: SessionUpdated$2;\n      sessionCancelled?: SessionCancelled$2;\n      availabilityPolicyUpdated?: AvailabilityPolicyUpdated$2;\n      /** @deprecated */\n      intervalSplit?: IntervalSplit$2;\n      recurringSessionSplit?: RecurringSessionSplit$2;\n      /**\n       * Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead.\n       * @deprecated\n       */\n      scheduleUnassignedFromUser?: ScheduleUnassignedFromUser$2;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      multipleSessionsCreated?: MultipleSessionsCreated$2;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      migrationEvent?: MigrationEvent$2;\n      preserveFutureSessionsWithParticipants?: boolean | null;\n      /**\n       * Whether to notify participants about changed sessions. deprecated, use participant_notification\n       * @deprecated\n       */\n      notifyParticipants?: boolean;\n      /** site properties. Optional. Given in create schedule notification. */\n      siteProperties?: SitePropertiesOnScheduleCreation$2;\n      instanceId?: string;\n      /**\n       * true when the schedule belongs to a site that is rolled out to calendar v3\n       * @internal\n       */\n      rolledOut?: boolean | null;\n  }\n  /** @oneof */\n  interface ScheduleNotificationEventOneOf$2 {\n      scheduleCreated?: ScheduleCreated$2;\n      scheduleUpdated?: ScheduleUpdated$2;\n      scheduleCancelled?: ScheduleCancelled$2;\n      sessionCreated?: SessionCreated$2;\n      sessionUpdated?: SessionUpdated$2;\n      sessionCancelled?: SessionCancelled$2;\n      availabilityPolicyUpdated?: AvailabilityPolicyUpdated$2;\n      /** @deprecated */\n      intervalSplit?: IntervalSplit$2;\n      recurringSessionSplit?: RecurringSessionSplit$2;\n      /**\n       * Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead.\n       * @deprecated\n       */\n      scheduleUnassignedFromUser?: ScheduleUnassignedFromUser$2;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      multipleSessionsCreated?: MultipleSessionsCreated$2;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      migrationEvent?: MigrationEvent$2;\n  }\n  interface ScheduleCreated$2 {\n      schedule?: Schedule$3;\n  }\n  interface ScheduleUpdated$2 {\n      /** The old schedule before the update. */\n      oldSchedule?: Schedule$3;\n      /** The new schedule after the update. */\n      newSchedule?: Schedule$3;\n      /**\n       * Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\n       * updating at least one of the given schedule's recurring sessions.\n       * This event is triggered by create/update/delete recurring session apis.\n       */\n      recurringSessions?: RecurringSessionsUpdated$2;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$6;\n      /**\n       * Whether this notification was created as a result of an anonymization request, such as GDPR.\n       * An anonymized participant will have the following details:\n       * name = \"deleted\"\n       * phone = \"deleted\"\n       * email = \"deleted@deleted.com\"\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n  }\n  interface RecurringSessionsUpdated$2 {\n      /** Old schedule's recurring session list. */\n      oldRecurringSessions?: Session$2[];\n      /** New schedule's recurring session list. */\n      newRecurringSessions?: Session$2[];\n  }\n  interface Session$2 {\n      /**\n       * Session ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the schedule that the session belongs to. */\n      scheduleId?: string;\n      /**\n       * ID of the resource or service that the session's schedule belongs to.\n       * @readonly\n       */\n      scheduleOwnerId?: string | null;\n      /** Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. */\n      originalStart?: Date | null;\n      /** An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`. */\n      start?: CalendarDateTime$2;\n      /**\n       * An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\n       * If the session is a recurring session, `end` must contain a `localDateTime`.\n       */\n      end?: CalendarDateTime$2;\n      /**\n       * An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\n       * The array is inherited from the schedule and can be overridden even if the session is a recurring session.\n       */\n      affectedSchedules?: LinkedSchedule$2[];\n      /**\n       * Session title.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       */\n      title?: string | null;\n      /**\n       * __Deprecated.__\n       * Tags for the session.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       * @deprecated\n       */\n      tags?: string[] | null;\n      /**\n       * An object describing the location where the session takes place.\n       * Defaults to the schedule location.\n       * For single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`.\n       */\n      location?: Location$5;\n      /**\n       * Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       */\n      capacity?: number | null;\n      /**\n       * The remaining number of participants that can be added to the session. Read-only.\n       * Can be negative, in case the session is over capacity.\n       * @internal\n       * @readonly\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead.\n       * @deprecated\n       */\n      rate?: Rate$2;\n      /**\n       * Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\n       * If the session is a recurring session, this field must be empty.\n       */\n      timeReservedAfter?: number | null;\n      /**\n       * Additional information about the session.\n       * Notes are not supported for recurring sessions.\n       */\n      notes?: string;\n      /**\n       * The number of participants booked for the session. Read-only.\n       * Calculated as the sum of the party sizes.\n       * @readonly\n       */\n      totalNumberOfParticipants?: number;\n      /**\n       * *Partial list** list of participants booked for the session.\n       * The list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\n       * If the session is a recurring session, this field must be empty.\n       * To retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings).\n       */\n      participants?: Participant$2[];\n      /**\n       * A list of properties for which values were inherited from the schedule.\n       * This does not include participants that were inherited from the schedule.\n       * @readonly\n       */\n      inheritedFields?: string[];\n      /**\n       * Information about the external calendar, if the session originated in an external calendar.\n       * @internal\n       * @readonly\n       */\n      externalCalendarInfo?: ExternalCalendarInfo$2;\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      externalCalendarOverrides?: ExternalCalendarOverrides$2;\n      /**\n       * Session status.\n       * @readonly\n       */\n      status?: Status$2;\n      /**\n       * Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\n       * For exmaple, when creating a class service  with recurring sessions, you add a recurrence rule to create recurring sessions.\n       * This field is omitted for single sessions or instances of recurring sessions.\n       * Specified when the session was originally generated from a schedule recurring interval.\n       * Deprecated. Use `recurringSessionId`.\n       * @readonly\n       * @deprecated\n       */\n      recurringIntervalId?: string | null;\n      /**\n       * The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances.\n       * @readonly\n       */\n      recurringSessionId?: string | null;\n      /** Session type. */\n      type?: SessionType$2;\n      /**\n       * A conference created for the session according to the details set in the schedule's conference provider information.\n       * If the session is a recurring session, this field is inherited from the schedule.\n       * **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.\n       * @deprecated\n       */\n      calendarConference?: CalendarConference$2;\n      /**\n       * A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\n       * If the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\n       * The RRULE defines a rule for repeating a session.\n       * Supported parameters are:\n       *\n       * |Keyword|Description|Supported values|\n       * |--|--|---|\n       * |`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n       * |`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n       * |`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n       * |`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n       *\n       *\n       * For example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n       * `\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n       *\n       * <!--ORIGINAL COMMENTS:\n       * `FREQ` — The frequency with which the session should be repeated (such as DAILY or WEEKLY).\n       * Supported `WEEKLY` value is supported.\n       * INTERVAL — Works together with FREQ to specify how often the session should be repeated. For example, FREQ=WEEKLY;INTERVAL=2 means once every two weeks. Optional. Default value is 1.\n       * COUNT — The number of times this event should be repeated. Not yet supported.\n       * UNTIL — The UTC date & time until which the session should be repeated. This parameter is optional. When it is not specified, the event repeats forever.\n       * The format is a short ISO date, followed by 'T' and a short time with seconds and without milliseconds, terminated by the UTC designator 'Z'. For example, until Jan. 19th 2018 at 7:00 AM: 'UNTIL=20180119T070000Z'.\n       * BYDAY - The days of the week when the event should be repeated. Currently, only a single day is supported. This parameter is mandatory.\n       * Possible values are: MO, TU, WE, TH, FR, SA, SU\n       * Note that DTSTART and DTEND lines are not allowed in this field; session start and end times are specified in the start and end fields.\n       * **Example**: FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20200427T070000Z\n       * ORIGINAL COMMENTS-->\n       */\n      recurrence?: string | null;\n      /**\n       * A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\n       * Empty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty.\n       * @readonly\n       */\n      instanceOfRecurrence?: string | null;\n      /**\n       * The name of the schedule owner. It may be a resource name or a service name. Optional.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the schedule owner. Optional.\n       * NOT IMPLEMENTED YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n      /**\n       * The session version.\n       * Composed by the schedule, session and participants versions.\n       * @readonly\n       */\n      version?: SessionVersion$2;\n      /**\n       * The ID of the event in the new Calendar Events V3 API.\n       * @internal\n       * @readonly\n       */\n      eventId?: string | null;\n  }\n  interface CalendarDateTime$2 {\n      /**\n       * UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify  `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\n       * Required if `localDateTime` is not specified.\n       * If `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone.\n       */\n      timestamp?: Date | null;\n      /** An object containing the local date and time for the business's time zone. */\n      localDateTime?: LocalDateTime$2;\n      /**\n       * The time zone. Optional. Derived from the schedule's time zone.\n       * In case this field is associated with recurring session, this field is empty.\n       * @readonly\n       */\n      timeZone?: string | null;\n  }\n  interface LocalDateTime$2 {\n      /** Year. 4-digit format. */\n      year?: number | null;\n      /** Month number, from 1-12. */\n      monthOfYear?: number | null;\n      /** Day of the month, from 1-31. */\n      dayOfMonth?: number | null;\n      /** Hour of the day in 24-hour format, from 0-23. */\n      hourOfDay?: number | null;\n      /** Minute, from 0-59. */\n      minutesOfHour?: number | null;\n  }\n  interface ExternalCalendarInfo$2 {\n      /** The external calendar type (e.g. Google Calendar, iCal, etc). */\n      calendarType?: CalendarType$2;\n  }\n  enum CalendarType$2 {\n      UNDEFINED = \"UNDEFINED\",\n      GOOGLE = \"GOOGLE\",\n      I_CAL = \"I_CAL\",\n      /** Use `MICROSOFT` instead. */\n      OUTLOOK = \"OUTLOOK\",\n      /** Use `MICROSOFT` instead. */\n      OFFICE_365 = \"OFFICE_365\",\n      MICROSOFT = \"MICROSOFT\",\n      OTHER = \"OTHER\"\n  }\n  enum Status$2 {\n      UNDEFINED = \"UNDEFINED\",\n      /** The session is confirmed. Default status. */\n      CONFIRMED = \"CONFIRMED\",\n      /**\n       * The session is cancelled.\n       * A cancelled session can be the cancellation of a recurring session that should no longer be displayed or a deleted single session.\n       * The ListSessions returns cancelled sessions only if 'includeDelete' flag is set to true.\n       */\n      CANCELLED = \"CANCELLED\"\n  }\n  enum SessionType$2 {\n      UNDEFINED = \"UNDEFINED\",\n      /**\n       * The session creates an event on the calendar for the owner of the schedule that the session belongs to.\n       * Default type.\n       */\n      EVENT = \"EVENT\",\n      /** The session represents a resource's available working hours. */\n      WORKING_HOURS = \"WORKING_HOURS\",\n      /** Deprecated. please use WORKING_HOURS */\n      TIME_AVAILABILITY = \"TIME_AVAILABILITY\",\n      /** Deprecated. The session represents a resource's available hours. please use WORKING_HOURS */\n      AVAILABILITY = \"AVAILABILITY\"\n  }\n  interface SessionVersion$2 {\n      /**\n       * Schedule version number, updated each time the schedule is updated.\n       * @internal\n       */\n      scheduleVersion?: number;\n      /**\n       * Session version number, updated each time the session is updated.\n       * @internal\n       */\n      sessionVersion?: number;\n      /**\n       * Participants version number, updated each time the session participants are updated.\n       * @internal\n       */\n      participantsVersion?: number | null;\n      /** Incremental version number, which is updated on each change to the session or on changes affecting the session. */\n      number?: string | null;\n  }\n  interface ScheduleCancelled$2 {\n      schedule?: Schedule$3;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$6;\n      oldSchedule?: Schedule$3;\n  }\n  interface SessionCreated$2 {\n      session?: Session$2;\n  }\n  interface SessionUpdated$2 {\n      oldSession?: Session$2;\n      newSession?: Session$2;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$6;\n      /**\n       * Whether this notification was created as a result of an anonymization request, such as GDPR.\n       * An anonymized participant will have the following details:\n       * name = \"deleted\"\n       * phone = \"deleted\"\n       * email = \"deleted@deleted.com\"\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n  }\n  interface SessionCancelled$2 {\n      session?: Session$2;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$6;\n  }\n  interface AvailabilityPolicyUpdated$2 {\n      availabilityPolicy?: AvailabilityPolicy$2;\n  }\n  /** Availability policy applied to all site schedules. */\n  interface AvailabilityPolicy$2 {\n      /** Specify how to split the schedule slots in intervals of minutes. */\n      splitInterval?: SplitInterval$2;\n  }\n  interface IntervalSplit$2 {\n      scheduleId?: string;\n      intervals?: RecurringInterval$2[];\n      newScheduleVersion?: number | null;\n      oldScheduleVersion?: number | null;\n  }\n  interface RecurringSessionSplit$2 {\n      scheduleId?: string;\n      recurringSessions?: Session$2[];\n      newScheduleVersion?: number | null;\n      oldScheduleVersion?: number | null;\n  }\n  /** Schedule unassigned from user. */\n  interface ScheduleUnassignedFromUser$2 {\n      /** The Wix user id. */\n      userId?: string | null;\n      /** The schedule that was unassigned from the user. */\n      schedule?: Schedule$3;\n  }\n  interface MultipleSessionsCreated$2 {\n      schedulesWithSessions?: ScheduleWithSessions$2[];\n  }\n  interface ScheduleWithSessions$2 {\n      schedule?: Schedule$3;\n      siteProperties?: SitePropertiesOnScheduleCreation$2;\n      sessions?: Session$2[];\n  }\n  interface SitePropertiesOnScheduleCreation$2 {\n      /** The global time zone value. */\n      timeZone?: string | null;\n  }\n  interface MigrationEvent$2 {\n      migrationData?: MigrationData$2;\n  }\n  interface MigrationData$2 {\n      businessId?: string | null;\n      staffs?: StaffData$2[];\n  }\n  interface StaffData$2 {\n      resourceId?: string;\n      syncRequestEmail?: string;\n      refreshToken?: string;\n  }\n  interface DomainEvent$9 extends DomainEventBodyOneOf$9 {\n      createdEvent?: EntityCreatedEvent$9;\n      updatedEvent?: EntityUpdatedEvent$9;\n      deletedEvent?: EntityDeletedEvent$9;\n      actionEvent?: ActionEvent$9;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$9 {\n      createdEvent?: EntityCreatedEvent$9;\n      updatedEvent?: EntityUpdatedEvent$9;\n      deletedEvent?: EntityDeletedEvent$9;\n      actionEvent?: ActionEvent$9;\n  }\n  interface EntityCreatedEvent$9 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$9;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$9 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$9 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$9 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$9 {\n      bodyAsJson?: string;\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification$2 {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent$2;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation$2[];\n      /** Context of the notification */\n      changeContext?: ChangeContext$2;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent$2 {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties$2;\n  }\n  interface Properties$2 {\n      /** Site categories. */\n      categories?: Categories$2;\n      /** Site locale. */\n      locale?: Locale$2;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: V4Address$1;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$3;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual$2;\n      /** Cookie policy the site owner defined for their site (before the users interacts with/limits it). */\n      consentPolicy?: ConsentPolicy$2;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site url that uses Wix as its headless business solution */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories$2 {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale$2 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface V4Address$1 {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint$2;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates$2;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition the user can state where he wants that additional description - before, after, or instead\n   * the address string.\n   */\n  interface AddressHint$2 {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType$2;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType$2 {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates$2 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  interface Multilingual$2 {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage$2[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage$2 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale$2;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod$2;\n  }\n  enum ResolutionMethod$2 {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy$2 {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation$2 {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext$2 extends ChangeContextPayloadOneOf$2 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$2;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$4;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$2;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf$2 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$2;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$4;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$2;\n  }\n  interface PropertiesChange$2 {\n  }\n  interface SiteCreated$4 {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned$2 {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface MessageEnvelope$8 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$a;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$a extends IdentificationDataIdOneOf$a {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$8;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$a {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$8 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates options and variants for a service.\n   *\n   * Before creating the `serviceOptionsAndVariants` object you need to anticipate and manually define\n   * all variants based on the defined options and their choices. You then pass\n   * the `options` and `variants` arrays in the\n   * request. Variants aren't automatically calculated from the defined options and choices.\n   *\n   * __Current Limitations:__\n   *\n   * + Only a single `serviceOptionsAndVariants` object is supported per service.\n   *\n   * + Only a single option is supported per `serviceOptionsAndVariants` object. This means that services are limited to a single option. Therefore, `variants`provides pricing details for either all choices of the single option (for `CUSTOM` options) or all staff members providing the service (for `STAFF_MEMBER` options).\n   *\n   * For a list of error messages, see [Create Service Options and Variants Errors](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/error-messages#service-options-and-variants_error-messages_create-service-options-and-variants-errors).\n   * @param serviceOptionsAndVariants - Service options and variants to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField serviceOptionsAndVariants\n   * @requiredField serviceOptionsAndVariants.options\n   * @requiredField serviceOptionsAndVariants.serviceId\n   * @requiredField serviceOptionsAndVariants.variants\n   * @permissionId BOOKINGS.SERVICE_OPTIONS_AND_VARIANTS_CREATE\n   * @adminMethod\n   * @returns Information about the created service options and variants.\n   */\n  function createServiceOptionsAndVariants(serviceOptionsAndVariants: ServiceOptionsAndVariants): Promise<ServiceOptionsAndVariants>;\n  /**\n   * Clones a `serviceOptionsAndVariants` object. This function can be called, for example, to duplicate a service.\n   * The cloned service contains the original service options and variants.\n   *\n   * Each option\n   * in the cloned service has a newly-generated ID that is copied to all choices of the variants in the\n   * clone. The cloned service references the service provided in the request by `target_service_id`.\n   * @param cloneFromId - ID of the `serviceOptionsAndVariants` object to clone.\n   * @param targetServiceId - ID of the service that will be set for the cloned `serviceOptionsAndVariants`\n   * @public\n   * @documentationMaturity preview\n   * @requiredField cloneFromId\n   * @requiredField targetServiceId\n   * @permissionId BOOKINGS.SERVICE_OPTIONS_AND_VARIANTS_CREATE\n   * @adminMethod\n   */\n  function cloneServiceOptionsAndVariants(cloneFromId: string, targetServiceId: string): Promise<CloneServiceOptionsAndVariantsResponse>;\n  /**\n   * Retrieves a `serviceOptionsAndVariants` object by `service_options_and_variants_id`.\n   * @param serviceOptionsAndVariantsId - ID of the `serviceOptionsAndVariants` object to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField serviceOptionsAndVariantsId\n   * @permissionId BOOKINGS.SERVICE_OPTIONS_AND_VARIANTS_READ\n   * @returns Retrieved `serviceOptionsAndVariants` object.\n   */\n  function getServiceOptionsAndVariants(serviceOptionsAndVariantsId: string): Promise<ServiceOptionsAndVariants>;\n  /**\n   * Retrieves a service's options and variants by `service_id`.\n   * @param serviceId - ID of the service to retrieve options and variants for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField serviceId\n   * @permissionId BOOKINGS.SERVICE_OPTIONS_AND_VARIANTS_READ\n   */\n  function getServiceOptionsAndVariantsByServiceId(serviceId: string): Promise<GetServiceOptionsAndVariantsByServiceIdResponse>;\n  /**\n   * Updates the specified fields of the `serviceOptionsAndVariants` object.\n   *\n   * Currently, only a single option is supported per `serviceOptionsAndVariants` object.\n   *\n   * If you want to update `variants`, you must pass the full list of supported variants.\n   *\n   * If you want to update `options`, you must pass the full list of supported options.\n   * @param _id - ID of the `serviceOptionsAndVariants` object.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField serviceOptionsAndVariants\n   * @requiredField serviceOptionsAndVariants.revision\n   * @param serviceOptionsAndVariants - Service options and variants to update.\n   * @param options - Options for updating the service options and variants.\n   * @permissionId BOOKINGS.SERVICE_OPTIONS_AND_VARIANTS_UPDATE\n   * @adminMethod\n   * @returns Updated `serviceOptionsAndVariants` object.\n   */\n  function updateServiceOptionsAndVariants(_id: string | null, serviceOptionsAndVariants: UpdateServiceOptionsAndVariants, options?: UpdateServiceOptionsAndVariantsOptions): Promise<ServiceOptionsAndVariants>;\n  interface UpdateServiceOptionsAndVariants {\n      /**\n       * ID of the `serviceOptionsAndVariants` object.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the service related to these options and variants. */\n      serviceId?: string | null;\n      /** Service options. Note that currently only a single option is supported per service. */\n      options?: ServiceOptions;\n      /** Information about the service's variants. */\n      variants?: ServiceVariants;\n      /**\n       * Price of the cheapest service variant.\n       * @readonly\n       */\n      minPrice?: Money$3;\n      /**\n       * Price of the most expensive service variant.\n       * @readonly\n       */\n      maxPrice?: Money$3;\n      /**\n       * Revision number, which increments by 1 each time the `serviceOptionsAndVariants` object is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating and deleting the `serviceOptionsAndVariants` object.\n       *\n       * Ignored when creating a `serviceOptionsAndVariants` object.\n       */\n      revision?: string | null;\n      /** Extensions enabling users to save custom data related to service options and variants. */\n      extendedFields?: ExtendedFields$8;\n  }\n  interface UpdateServiceOptionsAndVariantsOptions {\n      /**\n       * Field mask containing information about the fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a `serviceOptionsAndVariants` object.\n   *\n   *\n   * Because each service has only a single `serviceOptionsAndVariants` object, the\n   * service won't have any supported options and variants any longer. Instead,\n   * the standard Wix Bookings service price calculation is used.\n   * @param serviceOptionsAndVariantsId - ID of the `serviceOptionsAndVariants` object to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField serviceOptionsAndVariantsId\n   * @param options - Options for deleting the service options and variants.\n   * @permissionId BOOKINGS.SERVICE_OPTIONS_AND_VARIANTS_DELETE\n   * @adminMethod\n   */\n  function deleteServiceOptionsAndVariants(serviceOptionsAndVariantsId: string, options?: DeleteServiceOptionsAndVariantsOptions): Promise<void>;\n  interface DeleteServiceOptionsAndVariantsOptions {\n      /** Revision of the `serviceOptionsAndVariants` object to delete. */\n      revision?: string;\n  }\n  /**\n   * Retrieves a list of `serviceOptionsAndVariants`, given the provided paging, filtering, and sorting.\n   *\n   * queryServiceOptionsAndVariants() runs with these defaults, which you can override:\n   *\n   * - `id` is sorted in `ASC` order\n   * - `cursorPaging.limit` is `100`\n   *\n   * For a detailed list of supported filtering operations see\n   * [supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/serviceoptionsandvariants/filters).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.SERVICE_OPTIONS_AND_VARIANTS_READ\n   */\n  function queryServiceOptionsAndVariants(): ServiceOptionsAndVariantsListQueryBuilder;\n  interface QueryCursorResult$5 {\n      cursors: Cursors$9;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ServiceOptionsAndVariantsListQueryResult extends QueryCursorResult$5 {\n      items: ServiceOptionsAndVariants[];\n      query: ServiceOptionsAndVariantsListQueryBuilder;\n      next: () => Promise<ServiceOptionsAndVariantsListQueryResult>;\n      prev: () => Promise<ServiceOptionsAndVariantsListQueryResult>;\n  }\n  interface ServiceOptionsAndVariantsListQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'serviceId', value: any) => ServiceOptionsAndVariantsListQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'serviceId', value: any) => ServiceOptionsAndVariantsListQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'options.values.id' | 'options.values.type' | 'variants.values.choices.custom' | 'variants.values.choices.optionId' | 'variants.values.price.value' | 'variants.values.price.currency', value: any[]) => ServiceOptionsAndVariantsListQueryBuilder;\n      /**\n       * Refines a query to match items where the specified property is in a short list of specified values.\n       * @documentationMaturity preview */\n      in: (propertyName: '_id' | 'serviceId', value: any) => ServiceOptionsAndVariantsListQueryBuilder;\n      /**\n       * Refines a query to match items where the specified property is in a list of specified values, such as from another table.\n       * @documentationMaturity preview */\n      exists: (propertyName: 'options.values' | 'variants.values', value: boolean) => ServiceOptionsAndVariantsListQueryBuilder;\n      /**\n       * Adds a sort to a query, sorting by the specified properties in ascending order.\n       *\n       * The `ascending()` function refines a `CUSTOM_QUERY_BUILDER_NAME` to sort by the value of `propertyName` in ascending order. You can specify multiple properties for sorting in ascending order by passing each property name as an additional argument. `ascending()` sorts the results in the order the properties are passed. You can sort the following types:\n       *\n       * - Number: Sorts numerically.\n       * - Date: Sorts by date and time.\n       * - String: Sorts lexicographically, so `'abc'` comes after `'XYZ'`. If a property contains a number stored as a string (for example, `'0'`), that value is sorted alphabetically and not numerically. If a property doesn't have a value, that value is ranked lowest.\n       * @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'serviceId'>) => ServiceOptionsAndVariantsListQueryBuilder;\n      /**\n       * Adds a sort to a query, sorting by the specified properties in descending order.\n       *\n       * The `descending()` function refines a `CUSTOM_QUERY_BUILDER_NAME` to sort by the value of `propertyName` in descending order.\n       *\n       * You can specify multiple properties for sorting in descending order by passing each property name as an additional argument. `descending()` sorts the results in the order the properties are passed. You can sort the following types:\n       *\n       * - Number: Sorts numerically.\n       * - Date: Sorts by date and time.\n       * - String: Sorts lexicographically, so `'abc'` comes after `'XYZ'`. If a property contains a number stored as a string (for example, `'0'`), that value is sorted alphabetically and not numerically. If a property doesn't have a value, that value is ranked lowest.\n       * @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'serviceId'>) => ServiceOptionsAndVariantsListQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ServiceOptionsAndVariantsListQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ServiceOptionsAndVariantsListQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ServiceOptionsAndVariantsListQueryResult>;\n  }\n  \n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariants = ServiceOptionsAndVariants;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOption = ServiceOption;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionOptionSpecificDataOneOf = ServiceOptionOptionSpecificDataOneOf;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionType = ServiceOptionType;\n  const bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionType: typeof ServiceOptionType;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_CustomServiceOption = CustomServiceOption;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceVariant = ServiceVariant;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptions = ServiceOptions;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceVariants = ServiceVariants;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_CreateServiceOptionsAndVariantsRequest = CreateServiceOptionsAndVariantsRequest;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_CreateServiceOptionsAndVariantsResponse = CreateServiceOptionsAndVariantsResponse;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_CloneServiceOptionsAndVariantsRequest = CloneServiceOptionsAndVariantsRequest;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_CloneServiceOptionsAndVariantsResponse = CloneServiceOptionsAndVariantsResponse;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsRequest = GetServiceOptionsAndVariantsRequest;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsResponse = GetServiceOptionsAndVariantsResponse;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsByServiceIdRequest = GetServiceOptionsAndVariantsByServiceIdRequest;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsByServiceIdResponse = GetServiceOptionsAndVariantsByServiceIdResponse;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsRequest = UpdateServiceOptionsAndVariantsRequest;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsResponse = UpdateServiceOptionsAndVariantsResponse;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsRequest = DeleteServiceOptionsAndVariantsRequest;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsResponse = DeleteServiceOptionsAndVariantsResponse;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_QueryServiceOptionsAndVariantsRequest = QueryServiceOptionsAndVariantsRequest;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_QueryServiceOptionsAndVariantsResponse = QueryServiceOptionsAndVariantsResponse;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceNotification = ServiceNotification;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceNotificationMetadataOneOf = ServiceNotificationMetadataOneOf;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceInfo = ServiceInfo;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_FutureBookingPolicy = FutureBookingPolicy;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_WaitingListPolicy = WaitingListPolicy;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_BookingsApprovalPolicy = BookingsApprovalPolicy;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceStatus = ServiceStatus;\n  const bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceStatus: typeof ServiceStatus;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceNotificationEvent = ServiceNotificationEvent;\n  const bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceNotificationEvent: typeof ServiceNotificationEvent;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_BusinessServicesPolicy = BusinessServicesPolicy;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_DeleteMetadata = DeleteMetadata;\n  const bookingsCatalogV1ServiceOptionsAndVariants_universal_d_createServiceOptionsAndVariants: typeof createServiceOptionsAndVariants;\n  const bookingsCatalogV1ServiceOptionsAndVariants_universal_d_cloneServiceOptionsAndVariants: typeof cloneServiceOptionsAndVariants;\n  const bookingsCatalogV1ServiceOptionsAndVariants_universal_d_getServiceOptionsAndVariants: typeof getServiceOptionsAndVariants;\n  const bookingsCatalogV1ServiceOptionsAndVariants_universal_d_getServiceOptionsAndVariantsByServiceId: typeof getServiceOptionsAndVariantsByServiceId;\n  const bookingsCatalogV1ServiceOptionsAndVariants_universal_d_updateServiceOptionsAndVariants: typeof updateServiceOptionsAndVariants;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariants = UpdateServiceOptionsAndVariants;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsOptions = UpdateServiceOptionsAndVariantsOptions;\n  const bookingsCatalogV1ServiceOptionsAndVariants_universal_d_deleteServiceOptionsAndVariants: typeof deleteServiceOptionsAndVariants;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsOptions = DeleteServiceOptionsAndVariantsOptions;\n  const bookingsCatalogV1ServiceOptionsAndVariants_universal_d_queryServiceOptionsAndVariants: typeof queryServiceOptionsAndVariants;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariantsListQueryResult = ServiceOptionsAndVariantsListQueryResult;\n  type bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariantsListQueryBuilder = ServiceOptionsAndVariantsListQueryBuilder;\n  namespace bookingsCatalogV1ServiceOptionsAndVariants_universal_d {\n    export {\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariants as ServiceOptionsAndVariants,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOption as ServiceOption,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionOptionSpecificDataOneOf as ServiceOptionOptionSpecificDataOneOf,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionType as ServiceOptionType,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_CustomServiceOption as CustomServiceOption,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceVariant as ServiceVariant,\n      ServiceChoice$3 as ServiceChoice,\n      ServiceChoiceChoiceOneOf$3 as ServiceChoiceChoiceOneOf,\n      Money$3 as Money,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptions as ServiceOptions,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceVariants as ServiceVariants,\n      ExtendedFields$8 as ExtendedFields,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_CreateServiceOptionsAndVariantsRequest as CreateServiceOptionsAndVariantsRequest,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_CreateServiceOptionsAndVariantsResponse as CreateServiceOptionsAndVariantsResponse,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_CloneServiceOptionsAndVariantsRequest as CloneServiceOptionsAndVariantsRequest,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_CloneServiceOptionsAndVariantsResponse as CloneServiceOptionsAndVariantsResponse,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsRequest as GetServiceOptionsAndVariantsRequest,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsResponse as GetServiceOptionsAndVariantsResponse,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsByServiceIdRequest as GetServiceOptionsAndVariantsByServiceIdRequest,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_GetServiceOptionsAndVariantsByServiceIdResponse as GetServiceOptionsAndVariantsByServiceIdResponse,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsRequest as UpdateServiceOptionsAndVariantsRequest,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsResponse as UpdateServiceOptionsAndVariantsResponse,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsRequest as DeleteServiceOptionsAndVariantsRequest,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsResponse as DeleteServiceOptionsAndVariantsResponse,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_QueryServiceOptionsAndVariantsRequest as QueryServiceOptionsAndVariantsRequest,\n      QueryV2$4 as QueryV2,\n      QueryV2PagingMethodOneOf$4 as QueryV2PagingMethodOneOf,\n      Sorting$8 as Sorting,\n      SortOrder$8 as SortOrder,\n      Paging$4 as Paging,\n      CursorPaging$8 as CursorPaging,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_QueryServiceOptionsAndVariantsResponse as QueryServiceOptionsAndVariantsResponse,\n      PagingMetadataV2$3 as PagingMetadataV2,\n      Cursors$9 as Cursors,\n      ResourceNotification$1 as ResourceNotification,\n      Resource$3 as Resource,\n      Schedule$3 as Schedule,\n      RecurringInterval$2 as RecurringInterval,\n      Interval$3 as Interval,\n      Day$2 as Day,\n      Frequency$2 as Frequency,\n      LinkedSchedule$2 as LinkedSchedule,\n      Transparency$2 as Transparency,\n      RecurringIntervalType$2 as RecurringIntervalType,\n      Location$5 as Location,\n      LocationType$5 as LocationType,\n      Address$6 as Address,\n      AddressStreetOneOf$5 as AddressStreetOneOf,\n      StreetAddress$5 as StreetAddress,\n      AddressLocation$5 as AddressLocation,\n      Subdivision$5 as Subdivision,\n      LocationsLocation$2 as LocationsLocation,\n      LocationStatus$2 as LocationStatus,\n      LocationsLocationType$2 as LocationsLocationType,\n      LocationsAddress$2 as LocationsAddress,\n      LocationsStreetAddress$2 as LocationsStreetAddress,\n      LocationsAddressLocation$2 as LocationsAddressLocation,\n      BusinessSchedule$3 as BusinessSchedule,\n      TimePeriod$3 as TimePeriod,\n      DayOfWeek$3 as DayOfWeek,\n      SpecialHourPeriod$3 as SpecialHourPeriod,\n      Rate$2 as Rate,\n      Price$3 as Price,\n      Availability$2 as Availability,\n      AvailabilityConstraints$2 as AvailabilityConstraints,\n      SplitInterval$2 as SplitInterval,\n      Participant$2 as Participant,\n      ApprovalStatus$2 as ApprovalStatus,\n      ExternalCalendarOverrides$2 as ExternalCalendarOverrides,\n      ScheduleStatus$2 as ScheduleStatus,\n      Version$2 as Version,\n      ConferenceProvider$2 as ConferenceProvider,\n      CalendarConference$2 as CalendarConference,\n      ConferenceType$2 as ConferenceType,\n      ResourceStatus$1 as ResourceStatus,\n      BusinessLocation$3 as BusinessLocation,\n      Event$1 as Event,\n      Empty$5 as Empty,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceNotification as ServiceNotification,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceNotificationMetadataOneOf as ServiceNotificationMetadataOneOf,\n      Service$1 as Service,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceInfo as ServiceInfo,\n      Media$1 as Media,\n      MediaItem$2 as MediaItem,\n      MediaItemItemOneOf$1 as MediaItemItemOneOf,\n      BookingPolicy$3 as BookingPolicy,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_FutureBookingPolicy as FutureBookingPolicy,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_WaitingListPolicy as WaitingListPolicy,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_BookingsApprovalPolicy as BookingsApprovalPolicy,\n      PaymentOptions$1 as PaymentOptions,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceStatus as ServiceStatus,\n      SeoSchema$1 as SeoSchema,\n      Keyword$1 as Keyword,\n      Tag$1 as Tag,\n      Settings$1 as Settings,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceNotificationEvent as ServiceNotificationEvent,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_BusinessServicesPolicy as BusinessServicesPolicy,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_DeleteMetadata as DeleteMetadata,\n      ParticipantNotification$6 as ParticipantNotification,\n      ScheduleNotification$2 as ScheduleNotification,\n      ScheduleNotificationEventOneOf$2 as ScheduleNotificationEventOneOf,\n      ScheduleCreated$2 as ScheduleCreated,\n      ScheduleUpdated$2 as ScheduleUpdated,\n      RecurringSessionsUpdated$2 as RecurringSessionsUpdated,\n      Session$2 as Session,\n      CalendarDateTime$2 as CalendarDateTime,\n      LocalDateTime$2 as LocalDateTime,\n      ExternalCalendarInfo$2 as ExternalCalendarInfo,\n      CalendarType$2 as CalendarType,\n      Status$2 as Status,\n      SessionType$2 as SessionType,\n      SessionVersion$2 as SessionVersion,\n      ScheduleCancelled$2 as ScheduleCancelled,\n      SessionCreated$2 as SessionCreated,\n      SessionUpdated$2 as SessionUpdated,\n      SessionCancelled$2 as SessionCancelled,\n      AvailabilityPolicyUpdated$2 as AvailabilityPolicyUpdated,\n      AvailabilityPolicy$2 as AvailabilityPolicy,\n      IntervalSplit$2 as IntervalSplit,\n      RecurringSessionSplit$2 as RecurringSessionSplit,\n      ScheduleUnassignedFromUser$2 as ScheduleUnassignedFromUser,\n      MultipleSessionsCreated$2 as MultipleSessionsCreated,\n      ScheduleWithSessions$2 as ScheduleWithSessions,\n      SitePropertiesOnScheduleCreation$2 as SitePropertiesOnScheduleCreation,\n      MigrationEvent$2 as MigrationEvent,\n      MigrationData$2 as MigrationData,\n      StaffData$2 as StaffData,\n      DomainEvent$9 as DomainEvent,\n      DomainEventBodyOneOf$9 as DomainEventBodyOneOf,\n      EntityCreatedEvent$9 as EntityCreatedEvent,\n      RestoreInfo$9 as RestoreInfo,\n      EntityUpdatedEvent$9 as EntityUpdatedEvent,\n      EntityDeletedEvent$9 as EntityDeletedEvent,\n      ActionEvent$9 as ActionEvent,\n      SitePropertiesNotification$2 as SitePropertiesNotification,\n      SitePropertiesEvent$2 as SitePropertiesEvent,\n      Properties$2 as Properties,\n      Categories$2 as Categories,\n      Locale$2 as Locale,\n      V4Address$1 as V4Address,\n      AddressHint$2 as AddressHint,\n      PlacementType$2 as PlacementType,\n      GeoCoordinates$2 as GeoCoordinates,\n      Multilingual$2 as Multilingual,\n      SupportedLanguage$2 as SupportedLanguage,\n      ResolutionMethod$2 as ResolutionMethod,\n      ConsentPolicy$2 as ConsentPolicy,\n      Translation$2 as Translation,\n      ChangeContext$2 as ChangeContext,\n      ChangeContextPayloadOneOf$2 as ChangeContextPayloadOneOf,\n      PropertiesChange$2 as PropertiesChange,\n      SiteCreated$4 as SiteCreated,\n      SiteCloned$2 as SiteCloned,\n      MessageEnvelope$8 as MessageEnvelope,\n      IdentificationData$a as IdentificationData,\n      IdentificationDataIdOneOf$a as IdentificationDataIdOneOf,\n      WebhookIdentityType$8 as WebhookIdentityType,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_createServiceOptionsAndVariants as createServiceOptionsAndVariants,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_cloneServiceOptionsAndVariants as cloneServiceOptionsAndVariants,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_getServiceOptionsAndVariants as getServiceOptionsAndVariants,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_getServiceOptionsAndVariantsByServiceId as getServiceOptionsAndVariantsByServiceId,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_updateServiceOptionsAndVariants as updateServiceOptionsAndVariants,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariants as UpdateServiceOptionsAndVariants,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_UpdateServiceOptionsAndVariantsOptions as UpdateServiceOptionsAndVariantsOptions,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_deleteServiceOptionsAndVariants as deleteServiceOptionsAndVariants,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_DeleteServiceOptionsAndVariantsOptions as DeleteServiceOptionsAndVariantsOptions,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_queryServiceOptionsAndVariants as queryServiceOptionsAndVariants,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariantsListQueryResult as ServiceOptionsAndVariantsListQueryResult,\n      bookingsCatalogV1ServiceOptionsAndVariants_universal_d_ServiceOptionsAndVariantsListQueryBuilder as ServiceOptionsAndVariantsListQueryBuilder,\n    };\n  }\n  \n  interface BookingFee {\n      /**\n       * Booking fee ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the booking associated with the fee. */\n      bookingId?: string | null;\n      /** Cancellation fee details. */\n      cancellationFee?: CancellationFee;\n      /**\n       * Information about the [booking policy snapshot](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-policy-snapshots/introduction)\n       * according to which the fee was created.\n       */\n      policyDetails?: PolicyDetails;\n  }\n  interface CancellationFee {\n      /** Price the customer must pay. */\n      price?: Money$2;\n      /**\n       * Status of the booking fee.\n       *\n       * + `UNKNOWN_STATUS`: There is no eCommerce order associated with the booking.\n       * + `PREVIEW`: The fee is informational only; the customer doesn't have to pay it. For example, it shows how much the customer would owe if they canceled the booking now.\n       * + `NOT_YET_APPLIED_TO_ORDER`: The booking fee hasn't been added to the eCommerce order yet.\n       * + `APPLIED_TO_ORDER`: The booking fee has been added to the eCommerce order. The customer may not have paid it yet.\n       */\n      status?: BookingFeeStatus$1;\n      /**\n       * Information about what triggered the creation of the booking fee.\n       *\n       * + `UNKNOWN_STATUS`: There is no information about what triggered the creation of the booking fee.\n       * + `NOT_ATTENDED`: The booking fee was created because the customer didn't show up to the booking or canceled after the expiration of the last cancellation window.\n       * + `BOOKING_CANCELED`: The booking fee was created because the customer canceled the booking before the expiration of the last cancellation window.\n       * @readonly\n       */\n      trigger?: Trigger;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money$2 {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /**\n       * Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.\n       * @readonly\n       */\n      formattedValue?: string | null;\n  }\n  enum BookingFeeStatus$1 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      PREVIEW = \"PREVIEW\",\n      NOT_YET_APPLIED_TO_ORDER = \"NOT_YET_APPLIED_TO_ORDER\",\n      APPLIED_TO_ORDER = \"APPLIED_TO_ORDER\"\n  }\n  /** the domain event trigger the booking fee calculation */\n  enum Trigger {\n      UNKNOWN_TRIGGER = \"UNKNOWN_TRIGGER\",\n      NOT_ATTENDED = \"NOT_ATTENDED\",\n      BOOKING_CANCELED = \"BOOKING_CANCELED\"\n  }\n  interface PolicyDetails {\n      /**\n       * ID of the booking policy.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Description of the booking policy. */\n      description?: string | null;\n  }\n  interface FailedToApplyBookingFeeToOrder {\n      /** Booking fee which couldn't to be applied to the eCommerce order. */\n      bookingFee?: BookingFee;\n      /**\n       * IDs of the booking fees that are related to the booking fee which couldn't be\n       * applied to the eCommerce order.\n       */\n      relatedBookingFeeIds?: string[];\n      /** Information about the affected eCommerce order. */\n      ecomOrderInfo?: EcomOrderInfo;\n      /**\n       * Information about whether to notify the business about failing to apply the\n       * booking fees to the eCommerce order and the message to send.\n       */\n      businessNotification?: BusinessNotification;\n      /**\n       * Failure date and time.\n       * @internal\n       */\n      failureDate?: Date | null;\n  }\n  interface EcomOrderInfo {\n      /** Order ID. */\n      orderId?: string | null;\n      /** Additional fee price. */\n      additionalFeePrice?: Price$2;\n      /** The eCommerce additional fee id that was created on the order. */\n      additionalFeeId?: string | null;\n  }\n  interface Price$2 {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface BusinessNotification {\n      /**\n       * Whether to notify the business about changes made to the booking fees.\n       * Default is false.\n       */\n      notifyBusiness?: boolean | null;\n      /** Optional custom message to send. */\n      message?: string | null;\n  }\n  interface FailedToCollectAppliedBookingFees {\n      /**\n       * IDs of the bookings for which the booking fees couldn't be collected from the\n       * customer.\n       */\n      bookingIds?: string[];\n      /** Information about the affected eCommerce order. */\n      ecomOrderInfo?: EcomOrderInfo;\n      /**\n       * Information about whether to notify the business about failing to collect the\n       * booking fees from the customer and the message to send.\n       */\n      businessNotification?: BusinessNotification;\n      /**\n       * Failure date and time.\n       * @internal\n       */\n      failureDate?: Date | null;\n  }\n  interface ListBookingFeesByBookingIdsRequest {\n      /** IDs of the bookings to retrieve booking fees for. */\n      bookingIds?: string[];\n      /** IDs of the multi service bookings to retrieve booking fees for. */\n      multiServiceBookingIds?: string[];\n  }\n  interface ListBookingFeesByBookingIdsResponse {\n      /** List of retrieved booking fees. */\n      bookingFees?: BookingFee[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$6;\n  }\n  interface CursorPagingMetadata$6 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$8;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$8 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ApplyBookingFeesToOrderRequest {\n      /** IDs of the bookings for which to apply booking fees to an eCommerce order. */\n      bookingIds: string[] | null;\n      /**\n       * Custome price override for the additional fee that's added to the eCommerce\n       * order. The override mustn't exceed the sum of all booking fees. You must have\n       * the `OVERRIDE_BOOKING_FEE_PRICE` permission to use this property.\n       */\n      priceOverride?: Money$2;\n      /**\n       * Information about the message to the business and whether to send it if the\n       * booking fee application to the eCommerce order fails.\n       */\n      businessNotification?: BusinessNotification;\n  }\n  interface ApplyBookingFeesToOrderResponse {\n      /**\n       * Booking fees that were applied as a single additional fee to the eCommerce\n       * order.\n       */\n      bookingFees?: BookingFee[];\n      /** Information about the eCommerce order to which the booking fees are applied. */\n      ecomOrderInfo?: EcomOrderInfo;\n  }\n  interface ListNonPreviewBookingFeesByBookingIdsRequest {\n      /** IDs of the bookings to retrieve booking fees for. */\n      bookingIds: string[];\n  }\n  interface ListNonPreviewBookingFeesByBookingIdsResponse {\n      /** List of retrieved booking fees. */\n      bookingFees?: BookingFee[];\n  }\n  interface CollectAppliedBookingFeesRequest {\n      /**\n       * ID of the eCommmerce order that includes the booking fees as a single\n       * `additionalFee`.\n       */\n      orderId: string | null;\n      /** ID of the additional fee that's related to all given booking fees. */\n      additionalFeeId: string | null;\n      /**\n       * Information about whether to notify the business about failing to collect the\n       * booking fees from the customer and the message to send.\n       */\n      businessNotification?: BusinessNotification;\n  }\n  interface CollectAppliedBookingFeesResponse {\n      /** Collected amount. */\n      collectedPrice?: Price$2;\n  }\n  interface DomainEvent$8 extends DomainEventBodyOneOf$8 {\n      createdEvent?: EntityCreatedEvent$8;\n      updatedEvent?: EntityUpdatedEvent$8;\n      deletedEvent?: EntityDeletedEvent$8;\n      actionEvent?: ActionEvent$8;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$8 {\n      createdEvent?: EntityCreatedEvent$8;\n      updatedEvent?: EntityUpdatedEvent$8;\n      deletedEvent?: EntityDeletedEvent$8;\n      actionEvent?: ActionEvent$8;\n  }\n  interface EntityCreatedEvent$8 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$8;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$8 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$8 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$8 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$8 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$7 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$9;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$9 extends IdentificationDataIdOneOf$9 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$7;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$9 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$7 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves booking fees by booking IDs and multi service booking IDs.\n   *\n   *\n   * Instead of returning `bookingFee` objects with the `cancellationFee.price.value`\n   * set to `0.00`, the endpoint doesn't return a `bookingFee` object for the relevant\n   * booking IDs. For example, no `bookingFee` object is returned if the canceled\n   * booking was free or if the booking was canceled before the start of the earliest\n   * cancellation window.\n   *\n   * If the service's booking policy has been updated since the booking was created,\n   * booking fees are calculated according to the\n   * [policy snapshot](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-policy-snapshots/introduction)\n   * rather than the current version of the policy.\n   *\n   * This endpoint calculates the cancellation fee amount based on the time of the\n   * call, you can't specify a time. Similarly, it calculates the cancellation fee\n   * based on the number of participants who canceled, not a provided number.\n   *\n   * A `cancellationFee.status` of `PREVIEW` indicates that the booking fee is\n   * informational only; the customer isn't required to pay it. When the `status` is\n   * set to `UNKNOWN_STATUS` there is no eCommerce order associated with the booking. For\n   * example, if a custom checkout was used for the booking instead of the\n   * [Wix eCommerce checkout](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup).\n   *\n   * If multiple events would trigger the calculation of a booking fee, for example\n   * when a booking is first canceled and then marked as not attended, Wix calculates\n   * the booking fee based on the first trigger. In this example, the booking\n   * cancellation.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when listing booking fees.\n   * @permissionId BOOKINGS.BOOKING_FEES_READ\n   */\n  function listBookingFeesByBookingIds(options?: ListBookingFeesByBookingIdsOptions): Promise<ListBookingFeesByBookingIdsResponse>;\n  interface ListBookingFeesByBookingIdsOptions {\n      /** IDs of the bookings to retrieve booking fees for. */\n      bookingIds?: string[];\n      /** IDs of the multi service bookings to retrieve booking fees for. */\n      multiServiceBookingIds?: string[];\n  }\n  /**\n   * Applies booking fees to an\n   * [eCommerce order](https://dev.wix.com/docs/sdk/backend-modules/ecom/orders/setup).\n   *\n   *\n   * The booking fees are added as a single additional fee to the eCommerce order.\n   * The order's `additionalFee.lineItemIds` array is set to the list of corresponding\n   * booking IDs. By default, the `additionalFee.price.amount` is the sum of all\n   * booking fee prices. But you may provide a `priceOverride` instead. The override\n   * price can't be higher than the sum of all booking fees.\n   *\n   * Apply Booking Fees to Order also updates the prices of all affected line items\n   * in the relevant eCommerce order to zero. After a cancellation fee is applied\n   * to an eCommerce order, the cancellation fee's `price.value` is updated to `0.00`\n   * and its trigger is set to `UNKNOWN_TRIGGER`. You can retrieve the fee amount\n   * from the corresponding `additionalFee` object of the eCommerce order with\n   * [getOrder()](https://dev.wix.com/docs/sdk/backend-modules/ecom/orders/get-order).\n   *\n   * If you apply multiple booking fees to an eCommerce order, they either all fail or\n   * all succeed together. For example, the call fails if the booking fees are associated\n   * with different eCommmerce orders.\n   * @param bookingIds - IDs of the bookings for which to apply booking fees to an eCommerce order.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingIds\n   * @requiredField options.priceOverride.currency\n   * @requiredField options.priceOverride.value\n   * @param options - Options to use when applying booking fees to an eCommerce order.\n   * @permissionId BOOKINGS.BOOKING_FEE_APPLY_TO_ORDER\n   * @adminMethod\n   */\n  function applyBookingFeesToOrder(bookingIds: string[] | null, options?: ApplyBookingFeesToOrderOptions): Promise<ApplyBookingFeesToOrderResponse>;\n  interface ApplyBookingFeesToOrderOptions {\n      /**\n       * Custome price override for the additional fee that's added to the eCommerce\n       * order. The override mustn't exceed the sum of all booking fees. You must have\n       * the `OVERRIDE_BOOKING_FEE_PRICE` permission to use this property.\n       */\n      priceOverride?: Money$2;\n      /**\n       * Information about the message to the business and whether to send it if the\n       * booking fee application to the eCommerce order fails.\n       */\n      businessNotification?: BusinessNotification;\n  }\n  /**\n   * Retrieves non-preview booking fees by booking IDs.\n   *\n   * Returns only booking fees with status `APPLIED_TO_ORDER` or `NOT_YET_APPLIED_TO_ORDER`.\n   *\n   * Use [listBookingFeesByBookingIds()](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-fees/list-booking-fees-by-booking-ids) to retrieve all booking fees.\n   *\n   * For performance reasons when retrieving only booking fees with status  `APPLIED_TO_ORDER` or `NOT_YET_APPLIED_TO_ORDER`, we recommend using this method over listBookingFeesByBookingIds().\n   * @param bookingIds - IDs of the bookings to retrieve booking fees for.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField bookingIds\n   * @permissionId BOOKINGS.BOOKING_FEES_READ\n   */\n  function listNonPreviewBookingFeesByBookingIds(bookingIds: string[]): Promise<ListNonPreviewBookingFeesByBookingIdsResponse>;\n  /**\n   * Collects booking fees by charging the customer using the payment method that's\n   * saved on the corresponding [eCommerce order](https://dev.wix.com/docs/sdk/backend-modules/ecom/orders/setup).\n   *\n   *\n   * <blockquote class=\"warning\">\n   *\n   * __Warning:__\n   * Currently, there is no validation that prevents idempotent requests.\n   * This means that your code must make sure to not charge customers multiple\n   * times for the same booking fee. You could use [listTransactionsForSingleOrder()](https://dev.wix.com/docs/sdk/backend-modules/ecom/order-transactions/list-transactions-for-single-order) to check which charges were made previously for an eCommerce order.\n   * </blockquote>\n   *\n   * An HTTP status of `200` means that all booking fees were successfully collected.\n   * Any other HTPP status means that collection failed.\n   *\n   * Collects the order's `additionalFees.price.amount` that's related to the\n   * booking fees. If there are multiple additional fees on the eCommerce order,\n   * the amount that's collected differs from `priceSummary.totalAdditionalFees.amount`.\n   *\n   * Possible failure reason's include:\n   * + The order's `status` isn't `APPROVED`.\n   * + There is no payment method saved on the order.\n   * + The order's `balanceSummary.balance.amount` is lower than the\n   * `additionalFees.price.amount` to collect.\n   * + The order's `additionalFeeId` doesn't belong to a Wix Bookings cancellation fee.\n   * @param orderId - ID of the eCommmerce order that includes the booking fees as a single\n   * `additionalFee`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.additionalFeeId\n   * @requiredField orderId\n   * @param options - Options to use when collecting booking fees that have been applied to an eCommerce order.\n   * @permissionId BOOKINGS.BOOKING_FEE_COLLECT\n   * @adminMethod\n   */\n  function collectAppliedBookingFees(orderId: string | null, options?: CollectAppliedBookingFeesOptions): Promise<CollectAppliedBookingFeesResponse>;\n  interface CollectAppliedBookingFeesOptions {\n      /** ID of the additional fee that's related to all given booking fees. */\n      additionalFeeId: string | null;\n      /**\n       * Information about whether to notify the business about failing to collect the\n       * booking fees from the customer and the message to send.\n       */\n      businessNotification?: BusinessNotification;\n  }\n  \n  type bookingsFeesV1BookingFee_universal_d_BookingFee = BookingFee;\n  type bookingsFeesV1BookingFee_universal_d_CancellationFee = CancellationFee;\n  type bookingsFeesV1BookingFee_universal_d_Trigger = Trigger;\n  const bookingsFeesV1BookingFee_universal_d_Trigger: typeof Trigger;\n  type bookingsFeesV1BookingFee_universal_d_PolicyDetails = PolicyDetails;\n  type bookingsFeesV1BookingFee_universal_d_FailedToApplyBookingFeeToOrder = FailedToApplyBookingFeeToOrder;\n  type bookingsFeesV1BookingFee_universal_d_EcomOrderInfo = EcomOrderInfo;\n  type bookingsFeesV1BookingFee_universal_d_BusinessNotification = BusinessNotification;\n  type bookingsFeesV1BookingFee_universal_d_FailedToCollectAppliedBookingFees = FailedToCollectAppliedBookingFees;\n  type bookingsFeesV1BookingFee_universal_d_ListBookingFeesByBookingIdsRequest = ListBookingFeesByBookingIdsRequest;\n  type bookingsFeesV1BookingFee_universal_d_ListBookingFeesByBookingIdsResponse = ListBookingFeesByBookingIdsResponse;\n  type bookingsFeesV1BookingFee_universal_d_ApplyBookingFeesToOrderRequest = ApplyBookingFeesToOrderRequest;\n  type bookingsFeesV1BookingFee_universal_d_ApplyBookingFeesToOrderResponse = ApplyBookingFeesToOrderResponse;\n  type bookingsFeesV1BookingFee_universal_d_ListNonPreviewBookingFeesByBookingIdsRequest = ListNonPreviewBookingFeesByBookingIdsRequest;\n  type bookingsFeesV1BookingFee_universal_d_ListNonPreviewBookingFeesByBookingIdsResponse = ListNonPreviewBookingFeesByBookingIdsResponse;\n  type bookingsFeesV1BookingFee_universal_d_CollectAppliedBookingFeesRequest = CollectAppliedBookingFeesRequest;\n  type bookingsFeesV1BookingFee_universal_d_CollectAppliedBookingFeesResponse = CollectAppliedBookingFeesResponse;\n  const bookingsFeesV1BookingFee_universal_d_listBookingFeesByBookingIds: typeof listBookingFeesByBookingIds;\n  type bookingsFeesV1BookingFee_universal_d_ListBookingFeesByBookingIdsOptions = ListBookingFeesByBookingIdsOptions;\n  const bookingsFeesV1BookingFee_universal_d_applyBookingFeesToOrder: typeof applyBookingFeesToOrder;\n  type bookingsFeesV1BookingFee_universal_d_ApplyBookingFeesToOrderOptions = ApplyBookingFeesToOrderOptions;\n  const bookingsFeesV1BookingFee_universal_d_listNonPreviewBookingFeesByBookingIds: typeof listNonPreviewBookingFeesByBookingIds;\n  const bookingsFeesV1BookingFee_universal_d_collectAppliedBookingFees: typeof collectAppliedBookingFees;\n  type bookingsFeesV1BookingFee_universal_d_CollectAppliedBookingFeesOptions = CollectAppliedBookingFeesOptions;\n  namespace bookingsFeesV1BookingFee_universal_d {\n    export {\n      bookingsFeesV1BookingFee_universal_d_BookingFee as BookingFee,\n      bookingsFeesV1BookingFee_universal_d_CancellationFee as CancellationFee,\n      Money$2 as Money,\n      BookingFeeStatus$1 as BookingFeeStatus,\n      bookingsFeesV1BookingFee_universal_d_Trigger as Trigger,\n      bookingsFeesV1BookingFee_universal_d_PolicyDetails as PolicyDetails,\n      bookingsFeesV1BookingFee_universal_d_FailedToApplyBookingFeeToOrder as FailedToApplyBookingFeeToOrder,\n      bookingsFeesV1BookingFee_universal_d_EcomOrderInfo as EcomOrderInfo,\n      Price$2 as Price,\n      bookingsFeesV1BookingFee_universal_d_BusinessNotification as BusinessNotification,\n      bookingsFeesV1BookingFee_universal_d_FailedToCollectAppliedBookingFees as FailedToCollectAppliedBookingFees,\n      bookingsFeesV1BookingFee_universal_d_ListBookingFeesByBookingIdsRequest as ListBookingFeesByBookingIdsRequest,\n      bookingsFeesV1BookingFee_universal_d_ListBookingFeesByBookingIdsResponse as ListBookingFeesByBookingIdsResponse,\n      CursorPagingMetadata$6 as CursorPagingMetadata,\n      Cursors$8 as Cursors,\n      bookingsFeesV1BookingFee_universal_d_ApplyBookingFeesToOrderRequest as ApplyBookingFeesToOrderRequest,\n      bookingsFeesV1BookingFee_universal_d_ApplyBookingFeesToOrderResponse as ApplyBookingFeesToOrderResponse,\n      bookingsFeesV1BookingFee_universal_d_ListNonPreviewBookingFeesByBookingIdsRequest as ListNonPreviewBookingFeesByBookingIdsRequest,\n      bookingsFeesV1BookingFee_universal_d_ListNonPreviewBookingFeesByBookingIdsResponse as ListNonPreviewBookingFeesByBookingIdsResponse,\n      bookingsFeesV1BookingFee_universal_d_CollectAppliedBookingFeesRequest as CollectAppliedBookingFeesRequest,\n      bookingsFeesV1BookingFee_universal_d_CollectAppliedBookingFeesResponse as CollectAppliedBookingFeesResponse,\n      DomainEvent$8 as DomainEvent,\n      DomainEventBodyOneOf$8 as DomainEventBodyOneOf,\n      EntityCreatedEvent$8 as EntityCreatedEvent,\n      RestoreInfo$8 as RestoreInfo,\n      EntityUpdatedEvent$8 as EntityUpdatedEvent,\n      EntityDeletedEvent$8 as EntityDeletedEvent,\n      ActionEvent$8 as ActionEvent,\n      MessageEnvelope$7 as MessageEnvelope,\n      IdentificationData$9 as IdentificationData,\n      IdentificationDataIdOneOf$9 as IdentificationDataIdOneOf,\n      WebhookIdentityType$7 as WebhookIdentityType,\n      bookingsFeesV1BookingFee_universal_d_listBookingFeesByBookingIds as listBookingFeesByBookingIds,\n      bookingsFeesV1BookingFee_universal_d_ListBookingFeesByBookingIdsOptions as ListBookingFeesByBookingIdsOptions,\n      bookingsFeesV1BookingFee_universal_d_applyBookingFeesToOrder as applyBookingFeesToOrder,\n      bookingsFeesV1BookingFee_universal_d_ApplyBookingFeesToOrderOptions as ApplyBookingFeesToOrderOptions,\n      bookingsFeesV1BookingFee_universal_d_listNonPreviewBookingFeesByBookingIds as listNonPreviewBookingFeesByBookingIds,\n      bookingsFeesV1BookingFee_universal_d_collectAppliedBookingFees as collectAppliedBookingFees,\n      bookingsFeesV1BookingFee_universal_d_CollectAppliedBookingFeesOptions as CollectAppliedBookingFeesOptions,\n    };\n  }\n  \n  /**\n   * The `bookingPolicySnapshot` object is the version of a service's booking policy\n   * at the time a booking is created. This allows you for example to charge\n   * customers the correct cancellation fee even after a service's cancellation\n   * policy has been updated.\n   */\n  interface BookingPolicySnapshot {\n      /**\n       * Booking policy snapshot ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the booking that's associated with this policy snapshot. */\n      bookingId?: string | null;\n      /**\n       * Snapshot of the [booking policy](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-policies/get-booking-policy).\n       * at the time the corresponding booking was created.\n       */\n      policy?: BookingPolicy$2;\n      /**\n       * Date and time the booking policy snapshot was created in `YYYY-MM-DDThh:mm:ssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  /**\n   * `BookingPolicy` is the main entity of `BookingPolicyService` and specifies a set of rules for booking a service\n   * by visitors and members.\n   *\n   * Each `BookingPolicy` consists of a number of sub-policies. When the Bookings App is provisioned to a meta site then a\n   * default `BookingPolicy` will be created with defaults for each of these sub-policies. This also applies when a request\n   * is received to create a new `BookingPolicy` and one or more of these sub-policies are not provided.\n   *\n   * Sub-policies are defined in separate objects as specified below.\n   * - The `CancellationPolicy` object defines the policy for canceling a booked session.\n   * - The `ReschedulePolicy` object defines the policy for rescheduling booked session.\n   *\n   * By default each sub-policy is disabled. A more detailed specification of the default settings of each sub-policy\n   * can be found in the description of the corresponding object.\n   *\n   * Partial updates are supported on the main entity level, however in order to update a sub-policy the client needs to provide the whole sub-policy object.\n   */\n  interface BookingPolicy$2 {\n      /**\n       * Booking policy ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the booking policy is updated. To prevent conflicting changes, the current `revision` must be passed when updating the booking policy.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the booking policy was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the booking policy was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Name of the booking policy. */\n      name?: string | null;\n      /** Custom description for the booking policy and whether the booking policy is displayed to the participant. */\n      customPolicyDescription?: PolicyDescription$2;\n      /**\n       * Whether the booking policy is the default.\n       * @readonly\n       */\n      default?: boolean | null;\n      /** Rule for canceling a booking. */\n      cancellationPolicy?: CancellationPolicy$2;\n      /** Rule for rescheduling a booking. */\n      reschedulePolicy?: ReschedulePolicy$2;\n      /** Rules for cancellation fees. */\n      cancellationFeePolicy?: CancellationFeePolicy$2;\n      /** Rule for saving credit card details. */\n      saveCreditCardPolicy?: SaveCreditCardPolicy$2;\n  }\n  /** A description of the booking policy to display to participants. */\n  interface PolicyDescription$2 {\n      /**\n       * Whether the description is displayed to the participant. `true` means the\n       * description is displayed.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Description of the booking policy.\n       *\n       * Default: Empty\n       * Max length: 2500 characters\n       */\n      description?: string;\n      /**\n       * Description of the translated booking policy.\n       *\n       * Default: Empty\n       * Max length: 2500 characters\n       */\n      descriptionTranslated?: string | null;\n  }\n  /** The rule for canceling a booked session. */\n  interface CancellationPolicy$2 {\n      /**\n       * Whether customers can cancel the booking. `true` means customers can cancel\n       * the booking.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Whether there's a limit on the latest cancellation time. `false` means\n       * customers can cancel the booking until the last minute before the course or\n       * session starts.\n       *\n       * Default: `false`\n       */\n      limitLatestCancellation?: boolean;\n      /**\n       * Minimum number of minutes before the start of the session customers can cancel.\n       * For courses, this refers to the start of the first course session.\n       *\n       * Default: `1440` minutes (1 day)\n       * Min: `1` minute\n       */\n      latestCancellationInMinutes?: number;\n  }\n  /** The rule for rescheduling a booked session. */\n  interface ReschedulePolicy$2 {\n      /**\n       * Whether customers can reschedule a booking for an appointment-based service.\n       * `true` means customers can reschedule.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Whether there's a limit on the latest supported rescheduling time. `false`\n       * means customers can reschedule until the last minute before the session start.\n       *\n       * Default: `false`\n       */\n      limitLatestReschedule?: boolean;\n      /**\n       * Minimum number of minutes before the session start session customers can\n       * reschedule their booking.\n       *\n       * Default: `1440` minutes (1 day)\n       * Min: `1` minute\n       */\n      latestRescheduleInMinutes?: number;\n  }\n  interface CancellationFeePolicy$2 {\n      /**\n       * Whether customers must pay a cancellation fee when canceling a booking.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Time windows relative to the session start during which customers can cancel\n       * their booking. Each window includes details about the fee for canceling\n       * within it.\n       */\n      cancellationWindows?: CancellationWindow$2[];\n      /**\n       * Whether Wix automatically charges the cancellation fee from the customer once\n       * they cancel their booking.\n       *\n       * Default: true\n       */\n      autoCollectFeeEnabled?: boolean | null;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money$1 {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface CancellationWindow$2 extends CancellationWindowFeeOneOf$2 {\n      /** Fixed amount customers must pay when canceling the booking within this window. */\n      amount?: Money$1;\n      /**\n       * Percentage of the booking price customers must pay when canceling within this window.\n       *\n       * Min: `0.01` percent\n       * Max: `100` percent\n       */\n      percentage?: string;\n      /**\n       * Start of the cancellation window in minutes before the session start. For\n       * courses, this refers to the start of the first course session.\n       */\n      startInMinutes?: number | null;\n  }\n  /** @oneof */\n  interface CancellationWindowFeeOneOf$2 {\n      /** Fixed amount customers must pay when canceling the booking within this window. */\n      amount?: Money$1;\n      /**\n       * Percentage of the booking price customers must pay when canceling within this window.\n       *\n       * Min: `0.01` percent\n       * Max: `100` percent\n       */\n      percentage?: string;\n  }\n  interface SaveCreditCardPolicy$2 {\n      /**\n       * Whether Wix stores credit card details of the customer. Storing the details\n       * allows Wix to prefill the checkout and thus increases the likelyhood that the\n       * customer completes the booking process.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n  }\n  interface ListPolicySnapshotsByBookingIdsRequest {\n      /** List of booking IDs to retrieve policy snapshots for. */\n      bookingIds: string[] | null;\n  }\n  interface ListPolicySnapshotsByBookingIdsResponse {\n      /** Retrieved booking Policy snapshots. */\n      bookingPolicySnapshots?: BookingPolicySnapshot[];\n  }\n  interface DomainEvent$7 extends DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n  }\n  interface EntityCreatedEvent$7 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$7;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$7 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$7 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$7 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$7 {\n      bodyAsJson?: string;\n  }\n  interface Empty$4 {\n  }\n  /**\n   * Retrieves a list of booking policy snapshots by booking IDs.\n   * @param bookingIds - List of booking IDs to retrieve policy snapshots for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingIds\n   * @permissionId BOOKINGS.BOOKING_POLICY_SNAPSHOT_READ\n   */\n  function listPolicySnapshotsByBookingIds(bookingIds: string[] | null): Promise<ListPolicySnapshotsByBookingIdsResponse>;\n  \n  type bookingsPolicySnapshotsV1BookingPolicySnapshot_universal_d_BookingPolicySnapshot = BookingPolicySnapshot;\n  type bookingsPolicySnapshotsV1BookingPolicySnapshot_universal_d_ListPolicySnapshotsByBookingIdsRequest = ListPolicySnapshotsByBookingIdsRequest;\n  type bookingsPolicySnapshotsV1BookingPolicySnapshot_universal_d_ListPolicySnapshotsByBookingIdsResponse = ListPolicySnapshotsByBookingIdsResponse;\n  const bookingsPolicySnapshotsV1BookingPolicySnapshot_universal_d_listPolicySnapshotsByBookingIds: typeof listPolicySnapshotsByBookingIds;\n  namespace bookingsPolicySnapshotsV1BookingPolicySnapshot_universal_d {\n    export {\n      bookingsPolicySnapshotsV1BookingPolicySnapshot_universal_d_BookingPolicySnapshot as BookingPolicySnapshot,\n      BookingPolicy$2 as BookingPolicy,\n      PolicyDescription$2 as PolicyDescription,\n      CancellationPolicy$2 as CancellationPolicy,\n      ReschedulePolicy$2 as ReschedulePolicy,\n      CancellationFeePolicy$2 as CancellationFeePolicy,\n      Money$1 as Money,\n      CancellationWindow$2 as CancellationWindow,\n      CancellationWindowFeeOneOf$2 as CancellationWindowFeeOneOf,\n      SaveCreditCardPolicy$2 as SaveCreditCardPolicy,\n      bookingsPolicySnapshotsV1BookingPolicySnapshot_universal_d_ListPolicySnapshotsByBookingIdsRequest as ListPolicySnapshotsByBookingIdsRequest,\n      bookingsPolicySnapshotsV1BookingPolicySnapshot_universal_d_ListPolicySnapshotsByBookingIdsResponse as ListPolicySnapshotsByBookingIdsResponse,\n      DomainEvent$7 as DomainEvent,\n      DomainEventBodyOneOf$7 as DomainEventBodyOneOf,\n      EntityCreatedEvent$7 as EntityCreatedEvent,\n      RestoreInfo$7 as RestoreInfo,\n      EntityUpdatedEvent$7 as EntityUpdatedEvent,\n      EntityDeletedEvent$7 as EntityDeletedEvent,\n      ActionEvent$7 as ActionEvent,\n      Empty$4 as Empty,\n      bookingsPolicySnapshotsV1BookingPolicySnapshot_universal_d_listPolicySnapshotsByBookingIds as listPolicySnapshotsByBookingIds,\n    };\n  }\n  \n  /** extended bookings */\n  interface ExtendedBooking {\n      /** Booking. */\n      booking?: Booking$2;\n      /**\n       * Information about which actions the customer can perform for the\n       * booking. Available only when passing `withBookingAllowedActions` as `true`.\n       */\n      allowedActions?: AllowedActions$1;\n      /**\n       * Information about attendance. Available only when passing\n       * `withBookingAttendanceInfo` as `true`.\n       */\n      attendance?: Attendance$1;\n      /**\n       * Information about the online conferencing details. Available only when passing\n       * `withBookingConferencingDetails` as `true`.\n       */\n      conferencingDetails?: ConferencingDetails;\n      /**\n       * Information about the booking's policy settings according to the relevant\n       * [booking policy snapshot](https://dev.wix.com/docs/rest/business-solutions/bookings/services/booking-policy-snapshots/introduction).\n       * Available only when passing `withBookingPolicySettings` as `true`.\n       * @internal\n       */\n      bookingPolicySettings?: BookingPolicySettings$1;\n      /**\n       * Information about the booking fee statuses. Available only when passing\n       * `withBookingFeeDetailsBooking` as `true`. No details are returned when there\n       * is no booking fee for the booking. For example, when a booking was canceled\n       * before the start of the earliest cancellation window or the customer hasn't\n       * canceled the booking yet.\n       * @internal\n       */\n      bookingFeeDetails?: BookingFeeDetails;\n  }\n  enum AttendanceStatus$1 {\n      NOT_SET = \"NOT_SET\",\n      ATTENDED = \"ATTENDED\",\n      NOT_ATTENDED = \"NOT_ATTENDED\"\n  }\n  /** The booking object, version 2. */\n  interface Booking$2 extends BookingParticipantsInfoOneOf$2 {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices$2;\n      /**\n       * Booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** An object describing the slot or schedule that was booked. */\n      bookedEntity?: BookedEntity$2;\n      /** Contact details of the site visitor or member making the booking. */\n      contactDetails?: ContactDetails$2;\n      /** Additional custom fields submitted with the booking form. */\n      additionalFields?: CustomFormField$2[];\n      /**\n       * Number of participants.\n       * @internal\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Internal business note\n       * @internal\n       * @deprecated\n       */\n      internalBusinessNote?: string | null;\n      /**\n       * Booking status.\n       *\n       * Supported values:\n       * - `CREATED`: The booking was created.\n       * - `UPDATED`: The booking was updated.\n       * - `PENDING`: The booking is waiting to be confirmed or declined by the business owner. A booking is automatically set as `PENDING` if the service is configured to require manual business onwer confirmation and an [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction) was created.\n       * - `CONFIRMED`: The booking was confirmed. A booking is automatically confirmed if the service is configured to automatically confirm bookings and an [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction) was created. If the service isn't configured to automatically confirm bookings, you can use [Confirm Or Decline Booking](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/bookings-v2/bookings-v2-and-confirmation/confirm-or-decline-booking).\n       * - `DECLINED`: The booking was declined by the business owner. A booking is also declined if an [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction) was created that resulted in a double booking.\n       * - `CANCELED`: The booking was canceled.\n       * - `WAITING_LIST`: The booking is on a wait list.\n       */\n      status?: BookingStatus$2;\n      /**\n       * Payment status.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus$2;\n      /**\n       * Selected payment option.\n       * One of the payment options offered by the service, or another option if `skipSelectedPaymentOptionValidation` is `true`.\n       * When undefined, the payment option is resolved by the service configuration on checkout.\n       */\n      selectedPaymentOption?: SelectedPaymentOption$2;\n      /**\n       * Date and time the booking was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** External ID provided by the client app on creation. */\n      externalUserId?: string | null;\n      /**\n       * An object describing the platform and application that made the booking.\n       * @internal\n       */\n      bookingSource?: BookingSource$2;\n      /**\n       * The last notification used by Cancel, Confirm, Decline, or Reschedule Booking.\n       * @internal\n       * @deprecated\n       */\n      participantNotification?: ParticipantNotification$5;\n      /**\n       * When value is set to True, an SMS reminder would be sent to the phone number specified in the ContactDetails, 24 hours before the session starts.\n       * @internal\n       * @deprecated\n       */\n      sendSmsReminder?: boolean | null;\n      /** Revision number to be used when updating, rescheduling, or cancelling the booking. Revision number, which increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes,the current revision must be passed when updating the booking. */\n      revision?: string | null;\n      /**\n       * ID of the creator of the Booking.\n       * If `appId` and another ID are present, the other ID takes precedence.\n       * @readonly\n       */\n      createdBy?: IdentificationData$8;\n      /**\n       * The start date of this booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.\n       * @readonly\n       */\n      startDate?: Date | null;\n      /**\n       * The end date of this booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.\n       * @readonly\n       */\n      endDate?: Date | null;\n      /**\n       * Sets the booking flow behavior. Some behaviors require permissions.\n       * @internal\n       */\n      flowControlSettings?: FlowControlSettings$2;\n      /**\n       * Date and time the booking was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Custom field data for this object. Extended fields must be configured in the app dashboard before they can be accessed with API calls.\n       * For usage of extended fields with [Wix Forms](https://dev.wix.com/docs/rest/crm/forms/form-schema-api/introduction-to-forms), after configuring your form custom fields, pass the form field values under the `_user_fields` namespace.\n       * For example, if you have a custom form field named `age`, pass it as `\"extendedFields\":{\"_user_fields\": { \"age\": 22 }}`.\n       */\n      extendedFields?: ExtendedFields$7;\n      /**\n       * Whether this booking overlaps another existing confirmed booking. Returned when: `true`\n       * @readonly\n       */\n      doubleBooked?: boolean | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2Availability?: boolean | null;\n      /**\n       * Multi service booking info of which the booking is part of.\n       * @internal\n       * @readonly\n       */\n      multiServiceBookingInfo?: MultiServiceBookingInfo$2;\n      /**\n       * The date this booking was canceled on\n       * @internal\n       * @readonly\n       */\n      canceledDate?: Date | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2AvailabilityProxy?: boolean | null;\n      /**\n       * Having booking language means that the booking was made in a secondary language, having no booking.language implies that the booking was made using the main language\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** @oneof */\n  interface BookingParticipantsInfoOneOf$2 {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices$2;\n  }\n  enum MultiServiceBookingType$2 {\n      /**\n       * Multi service booking will be considered available if its bookings are\n       * available as returned from ListMultiServiceAvailabilityTimeSlots API.\n       * See [List Multi Service Availability Time Slots] (url) documentation // todo: complete url\n       */\n      SEQUENTIAL_BOOKINGS = \"SEQUENTIAL_BOOKINGS\",\n      /**\n       * Multi service booking will be considered available if each of its bookings is available separately.\n       * Not supported yet\n       */\n      SEPARATE_BOOKINGS = \"SEPARATE_BOOKINGS\",\n      /** Not supported yet */\n      PARALLEL_BOOKINGS = \"PARALLEL_BOOKINGS\"\n  }\n  interface BookedEntity$2 extends BookedEntityItemOneOf$2 {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot$2;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule$2;\n      /**\n       * Session title at the time of booking.\n       * If session doesn't exist at the time of the booking, service name is used.\n       * @readonly\n       */\n      title?: string | null;\n      /**\n       * If the user made the booking in a secondary language, this field will contain the translated title.\n       * @internal\n       * @readonly\n       */\n      titleTranslated?: string | null;\n      /**\n       * List of tags for the booking.\n       * System-assigned tags for sessions and schedules are:\n       * + \"INDIVIDUAL\" Appointments, including appointments with more than 1 participant.\n       * + \"GROUP\" Individual classes.\n       * + \"COURSE\" Courses.\n       */\n      tags?: string[] | null;\n  }\n  /** @oneof */\n  interface BookedEntityItemOneOf$2 {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot$2;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule$2;\n  }\n  interface BookedSlot$2 {\n      /**\n       * ID of the underlying session when session is a single session or generated from a recurring session.\n       * If `sessionId` is defined in the `Create Booking` request, the `startDate`, `endDate`, `timezone`, `resource`, and `location` fields are ignored and populated from the existing session's information.\n       */\n      sessionId?: string | null;\n      /** Service ID. */\n      serviceId?: string;\n      /** Schedule ID. Required. */\n      scheduleId?: string;\n      /**\n       * Calendar 3 event ID\n       * If not empty, on all write flows (create / update) gets priority over session_id.\n       * so if both session_id and event_id are provided, the session_id that will be set on the booking will be based on the event_id.\n       * Otherwise, if event_id is empty on write flow,\n       */\n      eventId?: string | null;\n      /**\n       * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      startDate?: string | null;\n      /**\n       * The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      endDate?: string | null;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The enriched resource assigned to the slot, can be either the requested resource or the resource chosen by the system.\n       * When populated, the given resource will be booked according to it's availability.\n       * When empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\n       * otherwise one of the service resources will be assigned to the slot randomly upon confirmation.\n       * This resource is the slot primary resource.\n       */\n      resource?: BookedResource$2;\n      /** Location where the slot's session takes place. */\n      location?: Location$4;\n      /**\n       * Optional.\n       * In addition to the `resource` field, these are the additional enriched resources that are assigned to the slot.\n       * For example the room, equipment or the additional staff member that are assigned to the slot.\n       * @internal\n       */\n      additionalResources?: BookedResource$2[];\n  }\n  interface BookedResource$2 {\n      /** Booked resource ID. */\n      _id?: string;\n      /** Resource's name at the time of booking. */\n      name?: string | null;\n      /**\n       * Resource's name translated to the language the booking was made in if applicable.\n       * @internal\n       * @readonly\n       */\n      nameTranslated?: string | null;\n      /** Resource's email at the time of booking. */\n      email?: string | null;\n      /** Resource's schedule ID. */\n      scheduleId?: string | null;\n      /**\n       * Indicates whether the resource was specifically requested or should be auto selected by the Server.\n       * The value will be true if the resource was explicitly given in the request, otherwise false.\n       * @internal\n       * @readonly\n       */\n      explicitlyRequested?: boolean | null;\n      /**\n       * Resource's type.\n       * @internal\n       * @readonly\n       */\n      type?: string | null;\n  }\n  interface Location$4 {\n      /**\n       * Business location ID. Available only for locations that are business locations,\n       * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** The full address of this location. */\n      formattedAddress?: string | null;\n      /** The full translated address of this location. */\n      formattedAddressTranslated?: string | null;\n      /**\n       * Location type.\n       *\n       * - `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n       * - `\"CUSTOM\"`: The address as set for the individual session.\n       */\n      locationType?: LocationType$4;\n  }\n  enum LocationType$4 {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface BookedSchedule$2 {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /** Booked service ID. */\n      serviceId?: string | null;\n      /**\n       * Location where the schedule's sessions take place. Read only.\n       * @readonly\n       */\n      location?: Location$4;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The start time of the first session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      firstSessionStart?: string | null;\n      /**\n       * The end time of the last session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      lastSessionEnd?: string | null;\n  }\n  interface ContactDetails$2 {\n      /** Contact's ID. */\n      contactId?: string | null;\n      /** Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /** Contact's email, used to create a new contact or get existing one from the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts). Used to validate coupon usage limitations per contact. If not passed, the coupon usage limitation will not be enforced. (Coupon usage limitation validation is not supported yet). */\n      email?: string | null;\n      /** Contact's phone number. */\n      phone?: string | null;\n      /** Contact's full address. */\n      fullAddress?: Address$5;\n      /**\n       * Contact's time zone.\n       * @deprecated\n       */\n      timeZone?: string | null;\n      /** Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      countryCode?: string | null;\n  }\n  /** Physical address */\n  interface Address$5 extends AddressStreetOneOf$4 {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress$4;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation$4;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision$4[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$4 {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress$4;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$4 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation$4 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$4 {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface CustomFormField$2 {\n      /** ID of the form field as defined in the form. */\n      _id?: string;\n      /** Value that was submitted for this field. */\n      value?: string | null;\n      /**\n       * Form field's label at the time of submission.\n       * @readonly\n       */\n      label?: string | null;\n      valueType?: ValueType$2;\n  }\n  enum ValueType$2 {\n      /** Short text. This is the default value type. */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long text */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** a text that represent the check box value: if selected the value is \"true\", otherwise \"false\". */\n      CHECK_BOX = \"CHECK_BOX\"\n  }\n  /** Booking status. */\n  enum BookingStatus$2 {\n      CREATED = \"CREATED\",\n      CONFIRMED = \"CONFIRMED\",\n      CANCELED = \"CANCELED\",\n      PENDING = \"PENDING\",\n      DECLINED = \"DECLINED\",\n      WAITING_LIST = \"WAITING_LIST\"\n  }\n  /**\n   * Payment status.\n   * Automatically updated when using eCom checkout APIs.\n   */\n  enum PaymentStatus$2 {\n      UNDEFINED = \"UNDEFINED\",\n      NOT_PAID = \"NOT_PAID\",\n      PAID = \"PAID\",\n      /** not supported yet. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      /** not supported yet */\n      REFUNDED = \"REFUNDED\",\n      EXEMPT = \"EXEMPT\"\n  }\n  /**\n   * The selected payment option.\n   * One of the payment options offered by the service.\n   * This field is be set when the user selects an option during booking.\n   * If left undefined, the payment option is resolved by the service configuration on checkout.\n   */\n  enum SelectedPaymentOption$2 {\n      UNDEFINED = \"UNDEFINED\",\n      OFFLINE = \"OFFLINE\",\n      ONLINE = \"ONLINE\",\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Payment can only be done using a membership and must be manually redeemed in the dashboard by the site owner. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface BookingSource$2 {\n      /** Platform from which a booking was created */\n      platform?: Platform$2;\n      /** Actor that created this booking. */\n      actor?: Actor$2;\n      /**\n       * Wix site ID of the application that created the booking.\n       * @readonly\n       */\n      appDefId?: string | null;\n      /**\n       * Name of the application that created the booking, as saved in Wix Developers Center at the time of booking.\n       * @readonly\n       */\n      appName?: string | null;\n  }\n  enum Platform$2 {\n      UNDEFINED_PLATFORM = \"UNDEFINED_PLATFORM\",\n      WEB = \"WEB\",\n      MOBILE_APP = \"MOBILE_APP\"\n  }\n  enum Actor$2 {\n      UNDEFINED_ACTOR = \"UNDEFINED_ACTOR\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\"\n  }\n  interface ParticipantNotification$5 {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n      /**\n       * Optional additional metadata.\n       * Supported only in V3 APIs.\n       * @internal\n       */\n      metadata?: Record<string, string>;\n  }\n  interface IdentificationData$8 extends IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface FlowControlSettings$2 {\n      /**\n       * When true, skips the service defined booking-window in the booking policy.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       * private because it's confusing to external users - collides with skip_availability_validation\n       * and yet, clients send it (though always with skip_availability_validation=true) so we're not just removing it\n       * When removing, we need to use proto's `reserved` field\n       * @internal\n       * @deprecated\n       */\n      ignoreBookingWindow?: boolean;\n      /**\n       * When true, skips availability checking and allows booking.\n       * Requires BOOKINGS.OVERRIDE_AVAILABILITY permissions.\n       */\n      skipAvailabilityValidation?: boolean;\n      /**\n       * When true, allows booking a confirmation-required service without requiring confirmation.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       */\n      skipBusinessConfirmation?: boolean;\n      /**\n       * When true, skips selected payment option checking as defined in `selectedPaymentOption` field\n       * and allows booking.\n       * Requires BOOKINGS.MANAGE_PAYMENTS permissions.\n       */\n      skipSelectedPaymentOptionValidation?: boolean;\n      /** When true, refunds the booking's payment when the booking is canceled. */\n      withRefund?: boolean | null;\n  }\n  interface ExtendedFields$7 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ParticipantChoices$2 {\n      /** Information about the booked service choices. Includes the number of participants. */\n      serviceChoices?: ServiceChoices$2[];\n  }\n  interface ServiceChoices$2 {\n      /** Number of participants for this variant. */\n      numberOfParticipants?: number | null;\n      /** Service choices for these participants. */\n      choices?: ServiceChoice$2[];\n  }\n  interface ServiceChoice$2 extends ServiceChoiceChoiceOneOf$2 {\n      /**\n       * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n      /**\n       * ID of the corresponding option for the choice. For example, the choice `child`\n       * could correspond to the option `ageGroup`. In this case, `optionId` is the ID\n       * for the `ageGroup` option.\n       */\n      optionId?: string;\n  }\n  /** @oneof */\n  interface ServiceChoiceChoiceOneOf$2 {\n      /**\n       * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n  }\n  interface MultiServiceBookingInfo$2 {\n      /**\n       * Multi service booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Multi service booking type. */\n      type?: MultiServiceBookingType$2;\n  }\n  /** Possible allowed actions for a Booking */\n  interface AllowedActions$1 {\n      /** Whether the customer is allowed to cancel the booking. */\n      cancel?: boolean;\n      /** Whether the customer is allowed to reschedule the booking. */\n      reschedule?: boolean;\n      /**\n       * Whether the customer is allowed to add another service to the booking.\n       * @internal\n       */\n      bookAnother?: boolean;\n      /**\n       * Deprecated.\n       * Whether the customer is entitled to a refund when canceling the booking.\n       * @deprecated\n       */\n      refund?: boolean | null;\n  }\n  interface Attendance$1 {\n      /**\n       * ID of the attendance object.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * General Information about the booking's attendance.\n       *\n       * + `NOT_SET`: There is no available attendance information.\n       * + `ATTENDED`: At least 1 participant attended the session.\n       * + `NOT_ATTENDED`: No participant attended the session.\n       */\n      status?: AttendanceStatus$1;\n      /** Total number of participants that attended the session. */\n      numberOfAttendees?: number;\n  }\n  interface ConferencingDetails {\n      /** URL used by a guest to join the conference. */\n      guestUrl?: string | null;\n      /** Optional conference password. */\n      password?: string | null;\n      /**\n       * Optional conference description.\n       * @internal\n       */\n      description?: string | null;\n  }\n  interface BookingPolicySettings$1 {\n      /** Whether the booking has an active cancellation fee policy. */\n      cancellationFeeEnabled?: boolean | null;\n      /**\n       * Whether the booking has an active rescheduling fee policy.\n       * @internal\n       */\n      reschedulingFeeEnabled?: boolean | null;\n  }\n  interface BookingFeeDetails {\n      /** The cancellation fee status. */\n      cancellationFeeStatus?: BookingFeeStatus;\n      /**\n       * The rescheduling fee status.\n       * @internal\n       */\n      reschedulingFeeStatus?: BookingFeeStatus;\n  }\n  enum BookingFeeStatus {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      NOT_YET_APPLIED_TO_ORDER = \"NOT_YET_APPLIED_TO_ORDER\",\n      APPLIED_TO_ORDER = \"APPLIED_TO_ORDER\"\n  }\n  interface QueryExtendedBookingRequest {\n      /** Information about filters, paging, and sorting. */\n      query: QueryV2$3;\n      /**\n       * Whether information about which actions the customer can perform\n       * for the bookings is returned.\n       */\n      withBookingAllowedActions?: boolean;\n      /** Whether information about the attendance for the bookings is returned. */\n      withBookingAttendanceInfo?: boolean;\n      /**\n       * Filters the retrieved bookings by the booking ID that corresponds to\n       * specified `sessionId`. The `booking.id` is calculated by calling\n       * [Get Session](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session/get-session)\n       * and saving the returned values for `participants.Id`.\n       * These participant IDs are then used as `booking.id`.\n       * This filter overrides the `booking.id` filter inside the query object.\n       *\n       * __Note__: Bookings for courses don't include a `sessionId`. For these\n       * bookings, you must use this field to filter by session ID.\n       */\n      sessionId?: string | null;\n      /**\n       * Whether information about the total entities is returned.\n       * @internal\n       */\n      withPagingMetadataTotal?: boolean;\n      /**\n       * Whether information about the online conferencing details for the bookings is returned.\n       * @internal\n       */\n      withBookingConferencingDetails?: boolean;\n      /**\n       * Whether to retrieve information about booking policy settings.\n       * You must have the `BOOKINGS.BOOKING_POLICY_SNAPSHOT_READ` permission scope\n       * when passing `true`.\n       *\n       * Default: `false`.\n       * @internal\n       */\n      withBookingPolicySettings?: boolean;\n      /**\n       * Whether to retrieve information about the booking fee statuses.\n       * Information about booking fees with a status of `PREVIEW` isn't returned.\n       * You must have the `BOOKINGS.BOOKING_FEES_READ` permission scope when passing\n       * `true`. In order to retrieve complete booking fee objects or to get information\n       * about `PREVIEW` fees, use [List Booking Fees By Booking Ids](https://dev.wix.com/docs/rest/business-solutions/bookings/booking-fees/list-booking-fees-by-booking-ids)\n       * instead.\n       *\n       * Default: `false`.\n       * @internal\n       */\n      withBookingFeeDetails?: boolean;\n  }\n  interface QueryV2$3 extends QueryV2PagingMethodOneOf$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$3;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$7;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$7[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$3;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$7;\n  }\n  interface Sorting$7 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$7;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$7 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$7 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryExtendedBookingResponse {\n      /**\n       * Retrieved bookings and additional information about attendance or actions\n       * the customer can perform\n       */\n      extendedBookings?: ExtendedBooking[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadataV2$2;\n  }\n  interface PagingMetadataV2$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$7;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$7 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryExtendedBookingsRequest {\n      /** Information about filters, paging, and sorting. */\n      query: CommonQueryV2;\n      /**\n       * Whether information about which actions the customer can perform\n       * for the bookings is returned.\n       */\n      withBookingAllowedActions?: boolean;\n      /** Whether information about the attendance for the bookings is returned. */\n      withBookingAttendanceInfo?: boolean;\n      /** Whether information about the online conferencing details for the bookings is returned. */\n      withBookingConferencingDetails?: boolean;\n      /**\n       * Whether to retrieve information about booking policy settings.\n       * You must have the `BOOKINGS.BOOKING_POLICY_SNAPSHOT_READ` permission scope\n       * when passing `true`.\n       *\n       * Default: `false`.\n       * @internal\n       */\n      withBookingPolicySettings?: boolean;\n      /**\n       * Whether to retrieve information about the booking fee statuses.\n       * Information about booking fees with a status of `PREVIEW` isn't returned.\n       * You must have the `BOOKINGS.BOOKING_FEES_READ` permission scope when passing\n       * `true`. In order to retrieve complete booking fee objects or to get information\n       * about `PREVIEW` fees, use [List Booking Fees By Booking Ids](https://dev.wix.com/docs/rest/business-solutions/bookings/booking-fees/list-booking-fees-by-booking-ids)\n       * instead.\n       *\n       * Default: `false`.\n       * @internal\n       */\n      withBookingFeeDetails?: boolean;\n  }\n  interface CommonQueryV2 extends CommonQueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: CommonPaging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$7;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       *\n       *   See [Supported Filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\n       * for a full list.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$7[];\n  }\n  /** @oneof */\n  interface CommonQueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: CommonPaging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$7;\n  }\n  interface CommonPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryExtendedBookingsResponse {\n      /**\n       * Retrieved bookings and additional information, such as information about about the attendance or actions\n       * the customer can perform.\n       */\n      extendedBookings?: ExtendedBooking[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadataV2$2;\n  }\n  /**\n   * > **Deprecation Notice**\n   * >\n   * > **This endpoint has been replaced with [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) and will be removed on May 31, 2025.**\n   * > **If your app uses this endpoint, we recommend updating your code as soon as possible.**\n   *\n   *\n   * Retrieves a list of bookings, given the provided paging, filtering, and sorting.\n   *\n   *\n   * You can also retrieve information about which actions the customer can perform\n   * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n   *\n   * Query Bookings runs with these defaults:\n   *\n   * - `createdDate` sorted in `DESC` order\n   * - `cursorPaging.limit` is `50`\n   *\n   * You can check the overview about all\n   * [supported filters](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/supported-filters)\n   * for more information.\n   *\n   * `query.fields` and `query.fieldsets` aren't supported for this endpoint.\n   *\n   * You can only specify a filter only once per query. If a filter is provided\n   * more than once, only the first occurrence affects the returned bookings.\n   *\n   * When using filters for dates, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n   *\n   * Bookings belonging to a schedule don't have a `sessionId`. Therefore you\n   * must use the `sessionId` filter that isn't part of the `query` object to\n   * filter bookings for courses.\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/sorting-and-paging),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   *\n   * When calling Query Bookings, the retrieved data may not contain your most recent changes. See\n   * [Wix-data and Eventual Consistency](reference/wix-data/introduction#wix-data_introduction_wix-data-and-eventual-consistency)\n   * for more information.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @param query - Information about filters, paging, and sorting.\n   * @param options - Additional options for performing the query.\n   * @permissionId BOOKINGS.BOOKING_READ\n   * @deprecated\n   */\n  function query$1(query: QueryV2$3, options?: QueryOptions$1): Promise<QueryExtendedBookingResponse>;\n  interface QueryOptions$1 {\n      /**\n       * Whether information about which actions the customer can perform\n       * for the bookings is returned.\n       */\n      withBookingAllowedActions?: boolean;\n      /** Whether information about the attendance for the bookings is returned. */\n      withBookingAttendanceInfo?: boolean;\n      /**\n       * Filters the retrieved bookings by the booking ID that corresponds to\n       * specified `sessionId`. The `booking.id` is calculated by calling\n       * [Get Session](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session/get-session)\n       * and saving the returned values for `participants.Id`.\n       * These participant IDs are then used as `booking.id`.\n       * This filter overrides the `booking.id` filter inside the query object.\n       *\n       * __Note__: Bookings for courses don't include a `sessionId`. For these\n       * bookings, you must use this field to filter by session ID.\n       */\n      sessionId?: string | null;\n      /**\n       * Whether information about the total entities is returned.\n       * @internal\n       */\n      withPagingMetadataTotal?: boolean;\n      /**\n       * Whether information about the online conferencing details for the bookings is returned.\n       * @internal\n       */\n      withBookingConferencingDetails?: boolean;\n      /**\n       * Whether to retrieve information about booking policy settings.\n       * You must have the `BOOKINGS.BOOKING_POLICY_SNAPSHOT_READ` permission scope\n       * when passing `true`.\n       *\n       * Default: `false`.\n       * @internal\n       */\n      withBookingPolicySettings?: boolean;\n      /**\n       * Whether to retrieve information about the booking fee statuses.\n       * Information about booking fees with a status of `PREVIEW` isn't returned.\n       * You must have the `BOOKINGS.BOOKING_FEES_READ` permission scope when passing\n       * `true`. In order to retrieve complete booking fee objects or to get information\n       * about `PREVIEW` fees, use [List Booking Fees By Booking Ids](https://dev.wix.com/docs/rest/business-solutions/bookings/booking-fees/list-booking-fees-by-booking-ids)\n       * instead.\n       *\n       * Default: `false`.\n       * @internal\n       */\n      withBookingFeeDetails?: boolean;\n  }\n  /**\n   * Retrieves a list of bookings, including additional extended information, given the provided paging, filtering, and sorting.\n   *\n   * Up to 100 extended bookings can be returned per request.\n   *\n   * `queryExtendedBookings()` runs with these defaults, which you can override:\n   *\n   * - `createdDate` sorted in `DESC` order\n   * - `cursorPaging.limit` is `50`\n   *\n   *\n   * You can retrieve information about which actions the customer can perform\n   * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n   *\n   *\n   * For field support, see\n   * [supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\n   * for more information.\n   *\n   * You can specify a filter only once per query. If you specify a filter\n   * more than once, only the first filter determines the extended bookings that are returned.\n   *\n   * When filtering by date, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @param query - Information about filters, paging, and sorting.\n   * @param options - Additional options for performing the query.\n   * @permissionId BOOKINGS.BOOKING_READ\n   * @permissionId BOOKINGS.MANAGE_BOOKINGS\n   * @permissionId BOOKINGS.BOOKING_READ_ANY\n   */\n  function queryExtendedBookings(query: CommonQueryV2, options?: QueryExtendedBookingsOptions): Promise<QueryExtendedBookingsResponse>;\n  interface QueryExtendedBookingsOptions {\n      /**\n       * Whether information about which actions the customer can perform\n       * for the bookings is returned.\n       */\n      withBookingAllowedActions?: boolean;\n      /** Whether information about the attendance for the bookings is returned. */\n      withBookingAttendanceInfo?: boolean;\n      /** Whether information about the online conferencing details for the bookings is returned. */\n      withBookingConferencingDetails?: boolean;\n      /**\n       * Whether to retrieve information about booking policy settings.\n       * You must have the `BOOKINGS.BOOKING_POLICY_SNAPSHOT_READ` permission scope\n       * when passing `true`.\n       *\n       * Default: `false`.\n       * @internal\n       */\n      withBookingPolicySettings?: boolean;\n      /**\n       * Whether to retrieve information about the booking fee statuses.\n       * Information about booking fees with a status of `PREVIEW` isn't returned.\n       * You must have the `BOOKINGS.BOOKING_FEES_READ` permission scope when passing\n       * `true`. In order to retrieve complete booking fee objects or to get information\n       * about `PREVIEW` fees, use [List Booking Fees By Booking Ids](https://dev.wix.com/docs/rest/business-solutions/bookings/booking-fees/list-booking-fees-by-booking-ids)\n       * instead.\n       *\n       * Default: `false`.\n       * @internal\n       */\n      withBookingFeeDetails?: boolean;\n  }\n  \n  type bookingsReaderV2ExtendedBooking_universal_d_ExtendedBooking = ExtendedBooking;\n  type bookingsReaderV2ExtendedBooking_universal_d_ConferencingDetails = ConferencingDetails;\n  type bookingsReaderV2ExtendedBooking_universal_d_BookingFeeDetails = BookingFeeDetails;\n  type bookingsReaderV2ExtendedBooking_universal_d_BookingFeeStatus = BookingFeeStatus;\n  const bookingsReaderV2ExtendedBooking_universal_d_BookingFeeStatus: typeof BookingFeeStatus;\n  type bookingsReaderV2ExtendedBooking_universal_d_QueryExtendedBookingRequest = QueryExtendedBookingRequest;\n  type bookingsReaderV2ExtendedBooking_universal_d_QueryExtendedBookingResponse = QueryExtendedBookingResponse;\n  type bookingsReaderV2ExtendedBooking_universal_d_QueryExtendedBookingsRequest = QueryExtendedBookingsRequest;\n  type bookingsReaderV2ExtendedBooking_universal_d_CommonQueryV2 = CommonQueryV2;\n  type bookingsReaderV2ExtendedBooking_universal_d_CommonQueryV2PagingMethodOneOf = CommonQueryV2PagingMethodOneOf;\n  type bookingsReaderV2ExtendedBooking_universal_d_CommonPaging = CommonPaging;\n  type bookingsReaderV2ExtendedBooking_universal_d_QueryExtendedBookingsResponse = QueryExtendedBookingsResponse;\n  const bookingsReaderV2ExtendedBooking_universal_d_queryExtendedBookings: typeof queryExtendedBookings;\n  type bookingsReaderV2ExtendedBooking_universal_d_QueryExtendedBookingsOptions = QueryExtendedBookingsOptions;\n  namespace bookingsReaderV2ExtendedBooking_universal_d {\n    export {\n      bookingsReaderV2ExtendedBooking_universal_d_ExtendedBooking as ExtendedBooking,\n      AttendanceStatus$1 as AttendanceStatus,\n      Booking$2 as Booking,\n      BookingParticipantsInfoOneOf$2 as BookingParticipantsInfoOneOf,\n      MultiServiceBookingType$2 as MultiServiceBookingType,\n      BookedEntity$2 as BookedEntity,\n      BookedEntityItemOneOf$2 as BookedEntityItemOneOf,\n      BookedSlot$2 as BookedSlot,\n      BookedResource$2 as BookedResource,\n      Location$4 as Location,\n      LocationType$4 as LocationType,\n      BookedSchedule$2 as BookedSchedule,\n      ContactDetails$2 as ContactDetails,\n      Address$5 as Address,\n      AddressStreetOneOf$4 as AddressStreetOneOf,\n      StreetAddress$4 as StreetAddress,\n      AddressLocation$4 as AddressLocation,\n      Subdivision$4 as Subdivision,\n      CustomFormField$2 as CustomFormField,\n      ValueType$2 as ValueType,\n      BookingStatus$2 as BookingStatus,\n      PaymentStatus$2 as PaymentStatus,\n      SelectedPaymentOption$2 as SelectedPaymentOption,\n      BookingSource$2 as BookingSource,\n      Platform$2 as Platform,\n      Actor$2 as Actor,\n      ParticipantNotification$5 as ParticipantNotification,\n      IdentificationData$8 as IdentificationData,\n      IdentificationDataIdOneOf$8 as IdentificationDataIdOneOf,\n      IdentityType$3 as IdentityType,\n      FlowControlSettings$2 as FlowControlSettings,\n      ExtendedFields$7 as ExtendedFields,\n      ParticipantChoices$2 as ParticipantChoices,\n      ServiceChoices$2 as ServiceChoices,\n      ServiceChoice$2 as ServiceChoice,\n      ServiceChoiceChoiceOneOf$2 as ServiceChoiceChoiceOneOf,\n      MultiServiceBookingInfo$2 as MultiServiceBookingInfo,\n      AllowedActions$1 as AllowedActions,\n      Attendance$1 as Attendance,\n      bookingsReaderV2ExtendedBooking_universal_d_ConferencingDetails as ConferencingDetails,\n      BookingPolicySettings$1 as BookingPolicySettings,\n      bookingsReaderV2ExtendedBooking_universal_d_BookingFeeDetails as BookingFeeDetails,\n      bookingsReaderV2ExtendedBooking_universal_d_BookingFeeStatus as BookingFeeStatus,\n      bookingsReaderV2ExtendedBooking_universal_d_QueryExtendedBookingRequest as QueryExtendedBookingRequest,\n      QueryV2$3 as QueryV2,\n      QueryV2PagingMethodOneOf$3 as QueryV2PagingMethodOneOf,\n      Sorting$7 as Sorting,\n      SortOrder$7 as SortOrder,\n      Paging$3 as Paging,\n      CursorPaging$7 as CursorPaging,\n      bookingsReaderV2ExtendedBooking_universal_d_QueryExtendedBookingResponse as QueryExtendedBookingResponse,\n      PagingMetadataV2$2 as PagingMetadataV2,\n      Cursors$7 as Cursors,\n      bookingsReaderV2ExtendedBooking_universal_d_QueryExtendedBookingsRequest as QueryExtendedBookingsRequest,\n      bookingsReaderV2ExtendedBooking_universal_d_CommonQueryV2 as CommonQueryV2,\n      bookingsReaderV2ExtendedBooking_universal_d_CommonQueryV2PagingMethodOneOf as CommonQueryV2PagingMethodOneOf,\n      bookingsReaderV2ExtendedBooking_universal_d_CommonPaging as CommonPaging,\n      bookingsReaderV2ExtendedBooking_universal_d_QueryExtendedBookingsResponse as QueryExtendedBookingsResponse,\n      query$1 as query,\n      QueryOptions$1 as QueryOptions,\n      bookingsReaderV2ExtendedBooking_universal_d_queryExtendedBookings as queryExtendedBookings,\n      bookingsReaderV2ExtendedBooking_universal_d_QueryExtendedBookingsOptions as QueryExtendedBookingsOptions,\n    };\n  }\n  \n  /**\n   * A resource represents an entity that can be scheduled for use, such as a room or a staff member.\n   * The availability of a resource is tracked to ensure that it can be allocated at a requested time slot and to prevent double bookings.\n   * Read more about resources in this [article](https://support.wix.com/en/article/wix-bookings-managing-your-resources).\n   */\n  interface Resource$2 extends ResourceCompositionDetailsOneOf {\n      /**\n       * Details of a single resource.\n       * @internal\n       * @deprecated Details of a single resource.\n       * @targetRemovalDate 2025-01-01\n       */\n      singleResource?: SingleResource;\n      /**\n       * Resource ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the staff member is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the staff member.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this resource was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this resource was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Name of the resource. */\n      name?: string | null;\n      /**\n       * The type of the resource.\n       *\n       * Resources can be created without a type. However, this field must be set to ensure that a resource can be allocated\n       * at a requested time slot and to prevent double bookings.\n       *\n       * The value to assign to this field depends on how the type is managed. There are 2 options:\n       * - The resource type is managed by a user (for example the site owner or contributor) in the Resources section of the\n       * dashboard or it is managed via the `/v2/resource-types` endpoint.\n       * In this case, the `type` field must be set to the id of the resource type entity.\n       * - The resource type is managed by an app implementing the `BOOKINGS_RESOURCE_TYPES_PROVIDER` SPI component.\n       * In this case the `type` field must match one of the `id` fields in the `bookingsResourceTypes` structure of the SPI configuration.\n       *\n       * Once a type has been set it cannot be modified.\n       * @deprecated\n       * @replacedBy type_id\n       * @targetRemovalDate 2025-01-01\n       */\n      type?: string | null;\n      typeId?: string | null;\n      /**\n       * Schedule details that specify the working hours and locations of this resource.\n       *\n       * When this field is not set or  `working_hours_schedules.enabled` is `false` then the resource is assumed to be\n       * available full time (7 x 24) at the locations specified in the field `location_options`.\n       * When both `working_hours_schedules` and `location_options` are set then `working_hours_schedules` takes precedence.\n       */\n      workingHoursSchedules?: ResourceWorkingHoursSchedules;\n      /**\n       * Location details that specify where this resource is available.\n       *\n       * If this field is not supplied then `location_options.available_in_all_locations` is set to `true`.\n       */\n      locationOptions?: LocationOptions$1;\n      /**\n       * This schedule contains the sessions in which this resource has been booked.\n       * @readonly\n       */\n      eventsSchedule?: EventsSchedule;\n      /**\n       * The ID of the app of which this resource belongs to.\n       * Default: Bookings App ID.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Specifies whether this resource is managed by a user (site owner, contributor, etc) or by an app.\n       * Default: `WIX_USER`.\n       * @internal\n       */\n      managementType?: ManagementType;\n      /** Extensions enabling users to save custom data related to the resource. */\n      extendedFields?: ExtendedFields$6;\n  }\n  /** @oneof */\n  interface ResourceCompositionDetailsOneOf {\n      /**\n       * Details of a single resource.\n       * @internal\n       * @deprecated Details of a single resource.\n       * @targetRemovalDate 2025-01-01\n       */\n      singleResource?: SingleResource;\n  }\n  interface WorkingHoursSchedule$1 {\n      /** schedule ID */\n      _id?: string | null;\n      /**\n       * Whether this schedule is used by multiple resources or unique for this resource.\n       *\n       * `true` if it is a shared schedule (for example from a business or location), `false` this is a custom schedule specific to the resource.\n       * Default: `false`.\n       * @readonly\n       */\n      shared?: boolean | null;\n  }\n  interface SingleResource {\n      /**\n       * Schedule details that specify the working hours and locations of this resource.\n       *\n       * When this field is not set or  `working_hours_schedules.enabled` is `false` then the resource is assumed to be\n       * available full time (7 x 24) at the locations specified in the field `location_options`.\n       * When both `working_hours_schedules` and `location_options` are set then `working_hours_schedules` takes precedence.\n       */\n      workingHoursSchedules?: WorkingHoursSchedules;\n      /**\n       * Location details that specify where this resource is available.\n       *\n       * If this field is not supplied then `location_options.available_in_all_locations` is set to `true`.\n       */\n      locationOptions?: LocationOptions$1;\n      /**\n       * This schedule contains the sessions in which this resource has been booked.\n       * @readonly\n       */\n      eventsSchedule?: Schedule$2;\n  }\n  interface WorkingHoursSchedules {\n      /**\n       * Whether the working hours schedules is enabled.\n       *\n       * `true` if the working_hours_schedules should be considered for availability, `false` otherwise.\n       * Default: `false`.\n       * This field is currently marked as `NOT_IMPLEMENTED` until Resource Management will use this from the dashboard or through the API.\n       */\n      enabled?: boolean | null;\n      /** schedules specifying all the working hours of the resource. Currently a single schedule is supported. */\n      values?: Schedule$2[];\n  }\n  /** Deprecated and subject to removal */\n  interface Schedule$2 {\n      /** schedule ID */\n      scheduleId?: string | null;\n      /**\n       * Whether this schedule is used by multiple resources or unique for this resource.\n       *\n       * `true` if it is a shared schedule (for example from a business or location), `false` this is a custom schedule specific to the resource.\n       * Default: `false`.\n       */\n      shared?: boolean | null;\n  }\n  interface LocationOptions$1 {\n      /**\n       * `true` if the resource is available in all locations, `false` if the resource is available only in specific locations.\n       * Default: `false`.\n       */\n      availableInAllLocations?: boolean | null;\n      /**\n       * Details of specific locations. It must be left empty if `available_in_all_locations` is `true`.\n       * If supplied then the field `specific_location_options.available_in_business_locations` must be set to `true`.\n       */\n      specificLocationOptions?: SpecificLocation$1;\n  }\n  interface SpecificLocation$1 {\n      /**\n       * `true` if the resource can be used at a customer selected location, `false` otherwise.\n       * Read more about locations in this [article](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-service-locations).\n       * Default: `false`.\n       * @internal\n       */\n      availableInCustomerLocations?: boolean | null;\n      /**\n       * `true` if the resource is available in custom locations, `false` otherwise.\n       * Default: `false`.\n       * @internal\n       */\n      availableInCustomLocations?: boolean | null;\n      /**\n       * `true` if the resource is available in some business locations, `false` otherwise.\n       * Default: `false`.\n       */\n      availableInBusinessLocations?: boolean | null;\n      /**\n       * Information about business locations. Should be empty if `available_in_business_locations` is `false` or if no business location exists in Locations.\n       * Currently a single business location can be set.\n       * Read more about business locations in this [article](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       */\n      businessLocations?: BusinessLocation$2[];\n  }\n  interface BusinessLocation$2 {\n      /** The ID of the business location. Must not be empty. */\n      locationId?: string | null;\n  }\n  interface ResourceWorkingHoursSchedules {\n      /** schedules specifying all the working hours of the resource. Currently a single schedule is supported. */\n      values?: WorkingHoursSchedule$1[];\n  }\n  interface EventsSchedule {\n      /** schedule ID */\n      _id?: string | null;\n  }\n  enum ManagementType {\n      UNKNOWN_MANAGEMENT_TYPE = \"UNKNOWN_MANAGEMENT_TYPE\",\n      /** The resource is managed by an app. */\n      APP = \"APP\",\n      /** The resource is managed by a Wix user. */\n      WIX_USER = \"WIX_USER\"\n  }\n  interface ExtendedFields$6 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateResourceRequest {\n      /** Resource to be created. */\n      resource: Resource$2;\n  }\n  interface CreateResourceResponse {\n      /** The created resource. */\n      resource?: Resource$2;\n  }\n  interface BulkCreateResourcesRequest {\n      /** Resources to create. */\n      resources: Resource$2[];\n      /** `true` if the created entities must be included in the response, otherwise no entities are included in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateResourcesResponse {\n      /** The result of each resource creation. */\n      results?: BulkResourceResult[];\n      /** Create statistics. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkResourceResult {\n      /** Item metadata */\n      itemMetadata?: ItemMetadata$3;\n      /** The resulting resource after the bulk operation. */\n      item?: Resource$2;\n  }\n  interface ItemMetadata$3 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$3;\n  }\n  interface ApplicationError$3 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$3 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetResourceRequest {\n      /** Id of the resource to retrieve. */\n      resourceId: string;\n  }\n  interface GetResourceResponse {\n      /** The retrieved resource. */\n      resource?: Resource$2;\n  }\n  interface GetDeletedResourceRequest {\n      /** Id of the resource to retrieve. */\n      resourceId: string;\n  }\n  interface GetDeletedResourceResponse {\n      /** The retrieved resource. */\n      resource?: Resource$2;\n  }\n  interface ListDeletedResourcesRequest {\n      /** The ids of the resources to retrieve. */\n      resourceIds?: string[];\n      /** Paging parameter, enabling to pass a limit and a cursor. */\n      paging?: CursorPaging$6;\n  }\n  interface CursorPaging$6 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListDeletedResourcesResponse {\n      /** The retrieved Resources */\n      resources?: Resource$2[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$5;\n  }\n  interface CursorPagingMetadata$5 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$6;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$6 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface RemoveResourceFromTrashBinRequest {\n      /** Id of the resource to remove from the trash bin. */\n      resourceId: string;\n  }\n  interface RemoveResourceFromTrashBinResponse {\n  }\n  interface RestoreResourceFromTrashBinRequest {\n      /** Id of the resource to restore from the trash bin. */\n      resourceId: string;\n  }\n  interface RestoreResourceFromTrashBinResponse {\n      /** The restored resource. */\n      resource?: Resource$2;\n  }\n  interface UpdateResourceRequest {\n      /** Resource to be updated, may be partial. */\n      resource: Resource$2;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateResourceResponse {\n      /** The updated resource. */\n      resource?: Resource$2;\n  }\n  interface DeleteResourceRequest {\n      /** Id of the resource to delete. */\n      resourceId: string;\n  }\n  interface DeleteResourceResponse {\n  }\n  interface BulkDeleteResourcesRequest {\n      /** The ids of the resources to delete. */\n      ids: string[];\n  }\n  interface BulkDeleteResourcesResponse {\n      /** The result of each resource removal. */\n      results?: BulkResourceResult[];\n      /** Delete statistics. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface SearchResourcesRequest {\n      /** Search condition */\n      search?: CursorSearch$2;\n  }\n  interface CursorSearch$2 extends CursorSearchPagingMethodOneOf$2 {\n      /**\n       * Cursor pointing to page of results.\n       * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.\n       */\n      cursorPaging?: CursorPaging$6;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting$6[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation$1[];\n      /** Free text to match in searchable fields */\n      search?: SearchDetails$2;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. e.g. `\"2023-12-20T10:52:34.795Z\"`\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf$2 {\n      /**\n       * Cursor pointing to page of results.\n       * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.\n       */\n      cursorPaging?: CursorPaging$6;\n  }\n  interface Sorting$6 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$6;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$6 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Aggregation$1 extends AggregationKindOneOf$1 {\n      /** Value aggregation */\n      value?: ValueAggregation$1;\n      /** Range aggregation */\n      range?: RangeAggregation$1;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation$1;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation$1;\n      /** Nested aggregation */\n      nested?: NestedAggregation$1;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: AggregationType$2;\n      /** Field to aggregate by, use dot notation to specify json path */\n      fieldPath?: string;\n      /**\n       * deprecated, use `nested` instead\n       * @deprecated deprecated, use `nested` instead\n       * @replacedBy kind.nested\n       * @targetRemovalDate 2024-03-30\n       */\n      groupBy?: GroupByAggregation$1;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf$1 {\n      /** Value aggregation */\n      value?: ValueAggregation$1;\n      /** Range aggregation */\n      range?: RangeAggregation$1;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation$1;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation$1;\n      /** Nested aggregation */\n      nested?: NestedAggregation$1;\n  }\n  interface RangeBucket$1 {\n      /** Inclusive lower bound of the range. Required if to is not given */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if from is not given */\n      to?: number | null;\n  }\n  enum SortType$1 {\n      /** Should sort by number of matches */\n      COUNT = \"COUNT\",\n      /** Should sort by value of the field alphabetically */\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection$1 {\n      /** Should sort in descending order */\n      DESC = \"DESC\",\n      /** Should sort in ascending order */\n      ASC = \"ASC\"\n  }\n  enum MissingValues$1 {\n      /** Should missing values be excluded from the aggregation results */\n      EXCLUDE = \"EXCLUDE\",\n      /** Should missing values be included in the aggregation results */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions$1 {\n      /** Can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum ScalarType$2 {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value */\n      MIN = \"MIN\",\n      /** Maximum value */\n      MAX = \"MAX\",\n      /** Sum of values */\n      SUM = \"SUM\",\n      /** Average of values */\n      AVG = \"AVG\"\n  }\n  interface ValueAggregation$1 extends ValueAggregationOptionsOneOf$1 {\n      /** Options for including missing values */\n      includeOptions?: IncludeMissingValuesOptions$1;\n      /** Should sort by number of matches or value of the field */\n      sortType?: SortType$1;\n      /** Should sort in ascending or descending order */\n      sortDirection?: SortDirection$1;\n      /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** Should missing values be included or excluded from the aggregation results. Default is EXCLUDE */\n      missingValues?: MissingValues$1;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf$1 {\n      /** Options for including missing values */\n      includeOptions?: IncludeMissingValuesOptions$1;\n  }\n  enum NestedAggregationType$1 {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface RangeAggregation$1 {\n      /** List of range buckets, where during aggregation each entity will be placed in the first bucket where its value falls into based on provided range bounds */\n      buckets?: RangeBucket$1[];\n  }\n  interface ScalarAggregation$1 {\n      /** Define the operator for the scalar aggregation */\n      type?: ScalarType$2;\n  }\n  interface DateHistogramAggregation$1 {\n      /** Interval for date histogram aggregation */\n      interval?: Interval$2;\n  }\n  enum Interval$2 {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval */\n      YEAR = \"YEAR\",\n      /** Monthly interval */\n      MONTH = \"MONTH\",\n      /** Weekly interval */\n      WEEK = \"WEEK\",\n      /** Daily interval */\n      DAY = \"DAY\",\n      /** Hourly interval */\n      HOUR = \"HOUR\",\n      /** Minute interval */\n      MINUTE = \"MINUTE\",\n      /** Second interval */\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem$1 extends NestedAggregationItemKindOneOf$1 {\n      /** Value aggregation */\n      value?: ValueAggregation$1;\n      /** Range aggregation */\n      range?: RangeAggregation$1;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation$1;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation$1;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: NestedAggregationType$1;\n      /** Field to aggregate by, use dont notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf$1 {\n      /** Value aggregation */\n      value?: ValueAggregation$1;\n      /** Range aggregation */\n      range?: RangeAggregation$1;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation$1;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation$1;\n  }\n  enum AggregationType$2 {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Multi-level aggregation, where each next aggregation is nested within previous one */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */\n  interface NestedAggregation$1 {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one */\n      nestedAggregations?: NestedAggregationItem$1[];\n  }\n  interface GroupByAggregation$1 extends GroupByAggregationKindOneOf$1 {\n      /** Value aggregation configuration */\n      value?: ValueAggregation$1;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Field to aggregate by */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface GroupByAggregationKindOneOf$1 {\n      /** Value aggregation configuration */\n      value?: ValueAggregation$1;\n  }\n  interface SearchDetails$2 {\n      /** Defines how separate search terms in `expression` are combined */\n      mode?: Mode$2;\n      /** Search term or expression */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path */\n      fields?: string[];\n      /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum Mode$2 {\n      /** Any of the search terms must be present */\n      OR = \"OR\",\n      /** All search terms must be present */\n      AND = \"AND\"\n  }\n  interface SearchResourcesResponse {\n      /** The retrieved resources */\n      resources?: Resource$2[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$5;\n      /** Aggregation results */\n      aggregationData?: AggregationData$2;\n  }\n  interface AggregationData$2 {\n      /** key = aggregation name (as derived from search request) */\n      results?: AggregationResults$2[];\n  }\n  interface ValueAggregationResult$2 {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number;\n  }\n  interface RangeAggregationResult$2 {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number;\n  }\n  interface NestedAggregationResults$2 extends NestedAggregationResultsResultOneOf$2 {\n      /** Value aggregation results */\n      values?: ValueResults$2;\n      /** Range aggregation results */\n      ranges?: RangeResults$2;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** User-defined name of aggregation, matches the one provided in request */\n      name?: string;\n      /** Type of aggregation that matches result */\n      type?: AggregationType$2;\n      /** Field to aggregate by, matches the one provided in request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf$2 {\n      /** Value aggregation results */\n      values?: ValueResults$2;\n      /** Range aggregation results */\n      ranges?: RangeResults$2;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n  }\n  interface ValueResults$2 {\n      /** List of value aggregations */\n      results?: ValueAggregationResult$2[];\n  }\n  interface RangeResults$2 {\n      /** List of ranges returned in same order as requested */\n      results?: RangeAggregationResult$2[];\n  }\n  interface AggregationResultsScalarResult {\n      /** Type of scalar aggregation */\n      type?: ScalarType$2;\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedValueAggregationResult$2 {\n      /** Value of the field */\n      value?: string;\n      /** Nested aggregations */\n      nestedResults?: NestedAggregationResults$2;\n  }\n  interface ValueResult$1 {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number | null;\n  }\n  interface RangeResult$1 {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number | null;\n  }\n  interface ScalarResult$2 {\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedResultValue$1 extends NestedResultValueResultOneOf$1 {\n      /** Value aggregation result */\n      value?: ValueResult$1;\n      /** Range aggregation result */\n      range?: RangeResult$1;\n      /** Scalar aggregation result */\n      scalar?: ScalarResult$2;\n      /** Date histogram aggregation result */\n      dateHistogram?: ValueResult$1;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf$1 {\n      /** Value aggregation result */\n      value?: ValueResult$1;\n      /** Range aggregation result */\n      range?: RangeResult$1;\n      /** Scalar aggregation result */\n      scalar?: ScalarResult$2;\n      /** Date histogram aggregation result */\n      dateHistogram?: ValueResult$1;\n  }\n  interface Results$1 {\n      /** List of nested aggregations */\n      results?: Record<string, NestedResultValue$1>;\n  }\n  interface DateHistogramResult$1 {\n      /** Date in ISO 8601 format */\n      value?: string;\n      /** Count of documents in the bucket */\n      count?: number;\n  }\n  interface GroupByValueResults$2 {\n      /** List of value aggregations */\n      results?: NestedValueAggregationResult$2[];\n  }\n  interface DateHistogramResults$1 {\n      /** List of date histogram aggregations */\n      results?: DateHistogramResult$1[];\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form\n   * aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults$1 {\n      /** List of nested aggregations */\n      results?: Results$1[];\n  }\n  interface AggregationResults$2 extends AggregationResultsResultOneOf$2 {\n      /** Value aggregation results */\n      values?: ValueResults$2;\n      /** Range aggregation results */\n      ranges?: RangeResults$2;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results */\n      groupedByValue?: GroupByValueResults$2;\n      /** Date histogram aggregation results */\n      dateHistogram?: DateHistogramResults$1;\n      /** Nested aggregation results */\n      nested?: NestedResults$1;\n      /** User-defined name of aggregation as derived from search request */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request */\n      type?: AggregationType$2;\n      /** Field to aggregate by as derived from search request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf$2 {\n      /** Value aggregation results */\n      values?: ValueResults$2;\n      /** Range aggregation results */\n      ranges?: RangeResults$2;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results */\n      groupedByValue?: GroupByValueResults$2;\n      /** Date histogram aggregation results */\n      dateHistogram?: DateHistogramResults$1;\n      /** Nested aggregation results */\n      nested?: NestedResults$1;\n  }\n  interface QueryResourcesRequest {\n      /** WQL expression. */\n      query?: CursorQuery$4;\n  }\n  interface CursorQuery$4 extends CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$6;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$6[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$6;\n  }\n  interface QueryResourcesResponse {\n      /** The retrieved Resources. */\n      resources?: Resource$2[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$5;\n  }\n  interface CountResourcesRequest {\n      /** Filter to apply on resources to count. */\n      filter?: Record<string, any> | null;\n      /**\n       * @deprecated\n       * @targetRemovalDate 2024-05-01\n       */\n      search?: SearchDetails$2;\n  }\n  interface CountResourcesResponse {\n      /** The number of resources matching the given filter. */\n      count?: number;\n  }\n  interface ImportResourceRequest {\n      /** Resource to be imported. */\n      resource?: Resource$2;\n  }\n  interface ImportResourceResponse {\n      /** The imported resource. */\n      resource?: Resource$2;\n  }\n  interface FixResourceSchedulesRequest {\n      /** Id of the resource of which the schedules must be fixed */\n      resourceId?: string;\n      /** the working hours schedule that must be set for this resource. */\n      workingHoursSchedule?: Schedule$2;\n  }\n  interface FixResourceSchedulesResponse {\n      /** The resource with the fixed schedule IDs. */\n      resource?: Resource$2;\n  }\n  interface ReindexTenantRequest {\n  }\n  interface ReindexTenantResponse {\n  }\n  interface MetaSiteSpecialEvent$1 extends MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$3;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset$1[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$3;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n  }\n  interface Asset$1 {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State$1;\n  }\n  enum State$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated$3 {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext$1;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace$1;\n  }\n  enum SiteCreatedContext$1 {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace$1 {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred$1 {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface DeleteContext$1 {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus$1;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus$1 {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted$1 {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished$1 {\n  }\n  interface SiteUnpublished$1 {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate$1 {\n  }\n  interface SiteMarkedAsWixSite$1 {\n  }\n  interface ServiceProvisioned$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed$1 {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface NamespaceChanged$1 {\n      /** A previous namespace. */\n      oldNamespace?: Namespace$1;\n      /** A new namespace. */\n      newNamespace?: Namespace$1;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned$1 {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned$1 {\n  }\n  interface Empty$3 {\n  }\n  interface DomainEvent$6 extends DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n  }\n  interface EntityCreatedEvent$6 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$6;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$6 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$6 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$6 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$6 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$6 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$7;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$7 extends IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$6;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$6 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new resource.\n   *\n   * By using the create API you can create a resource, set its name, working hours and location details.\n   * The system creates an events schedule that contains the sessions in which the resource is booked.\n   * @param resource - Resource to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField resource\n   * @requiredField resource.name\n   * @permissionId BOOKINGS.RESOURCE_CREATE\n   * @adminMethod\n   * @returns The created resource.\n   */\n  function createResource(resource: Resource$2): Promise<Resource$2>;\n  /**\n   * Creates multiple resources.\n   *\n   * By using the bulk create API you can create multiple resources in a single request.\n   * To query the created resources in the same order as they were sent in the request sort them by creation date and ID.\n   * @param resources - Resources to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField resources\n   * @requiredField resources.name\n   * @permissionId BOOKINGS.RESOURCE_CREATE\n   * @adminMethod\n   */\n  function bulkCreateResources(resources: Resource$2[], options?: BulkCreateResourcesOptions): Promise<BulkCreateResourcesResponse>;\n  interface BulkCreateResourcesOptions {\n      /** `true` if the created entities must be included in the response, otherwise no entities are included in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Retrieves a resource by id.\n   * @param resourceId - Id of the resource to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField resourceId\n   * @permissionId BOOKINGS.RESOURCE_READ\n   * @adminMethod\n   * @returns The retrieved resource.\n   */\n  function getResource(resourceId: string): Promise<Resource$2>;\n  /**\n   * Retrieves a deleted resource from the trash bin.\n   * @param resourceId - Id of the resource to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField resourceId\n   * @permissionId BOOKINGS.RESOURCE_READ\n   */\n  function getDeletedResource(resourceId: string): Promise<GetDeletedResourceResponse>;\n  /**\n   * Retrieves a list of deleted resources from the trash bin.\n   *\n   * List runs with these defaults, which you can override:\n   * - `paging.limit` is `50`.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.RESOURCE_READ\n   */\n  function listDeletedResources(options?: ListDeletedResourcesOptions): Promise<ListDeletedResourcesResponse>;\n  interface ListDeletedResourcesOptions {\n      /** The ids of the resources to retrieve. */\n      resourceIds?: string[];\n      /** Paging parameter, enabling to pass a limit and a cursor. */\n      paging?: CursorPaging$6;\n  }\n  /**\n   * Removes a resource from the trash bin, permanently deleting it. This action is irreversible.\n   * @param resourceId - Id of the resource to remove from the trash bin.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField resourceId\n   * @permissionId BOOKINGS.RESOURCE_REMOVE_FROM_TRASH_BIN\n   * @adminMethod\n   */\n  function removeResourceFromTrashBin(resourceId: string): Promise<void>;\n  /**\n   * Restores a resource from the trash bin.\n   * @param resourceId - Id of the resource to restore from the trash bin.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField resourceId\n   * @permissionId BOOKINGS.RESOURCE_RESTORE_FROM_TRASH_BIN\n   * @adminMethod\n   */\n  function restoreResourceFromTrashBin(resourceId: string): Promise<RestoreResourceFromTrashBinResponse>;\n  /**\n   * Updates a resource.\n   *\n   * [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported.\n   *\n   * Each time the resource is updated, `revision` increments by 1. You must include the current revision of the resource when updating it.\n   * This ensures you're working with the latest service information and prevents unintended overwrites.\n   * @param _id - Resource ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField resource\n   * @requiredField resource.revision\n   * @permissionId BOOKINGS.RESOURCE_UPDATE\n   * @adminMethod\n   * @returns The updated resource.\n   */\n  function updateResource(_id: string | null, resource: UpdateResource, options?: UpdateResourceOptions): Promise<Resource$2>;\n  interface UpdateResource {\n      /**\n       * Details of a single resource.\n       * @internal\n       * @deprecated Details of a single resource.\n       * @targetRemovalDate 2025-01-01\n       */\n      singleResource?: SingleResource;\n      /**\n       * Resource ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the staff member is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the staff member.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this resource was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this resource was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Name of the resource. */\n      name?: string | null;\n      /**\n       * The type of the resource.\n       *\n       * Resources can be created without a type. However, this field must be set to ensure that a resource can be allocated\n       * at a requested time slot and to prevent double bookings.\n       *\n       * The value to assign to this field depends on how the type is managed. There are 2 options:\n       * - The resource type is managed by a user (for example the site owner or contributor) in the Resources section of the\n       * dashboard or it is managed via the `/v2/resource-types` endpoint.\n       * In this case, the `type` field must be set to the id of the resource type entity.\n       * - The resource type is managed by an app implementing the `BOOKINGS_RESOURCE_TYPES_PROVIDER` SPI component.\n       * In this case the `type` field must match one of the `id` fields in the `bookingsResourceTypes` structure of the SPI configuration.\n       *\n       * Once a type has been set it cannot be modified.\n       * @deprecated\n       * @replacedBy type_id\n       * @targetRemovalDate 2025-01-01\n       */\n      type?: string | null;\n      typeId?: string | null;\n      /**\n       * Schedule details that specify the working hours and locations of this resource.\n       *\n       * When this field is not set or  `working_hours_schedules.enabled` is `false` then the resource is assumed to be\n       * available full time (7 x 24) at the locations specified in the field `location_options`.\n       * When both `working_hours_schedules` and `location_options` are set then `working_hours_schedules` takes precedence.\n       */\n      workingHoursSchedules?: ResourceWorkingHoursSchedules;\n      /**\n       * Location details that specify where this resource is available.\n       *\n       * If this field is not supplied then `location_options.available_in_all_locations` is set to `true`.\n       */\n      locationOptions?: LocationOptions$1;\n      /**\n       * This schedule contains the sessions in which this resource has been booked.\n       * @readonly\n       */\n      eventsSchedule?: EventsSchedule;\n      /**\n       * The ID of the app of which this resource belongs to.\n       * Default: Bookings App ID.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Specifies whether this resource is managed by a user (site owner, contributor, etc) or by an app.\n       * Default: `WIX_USER`.\n       * @internal\n       */\n      managementType?: ManagementType;\n      /** Extensions enabling users to save custom data related to the resource. */\n      extendedFields?: ExtendedFields$6;\n  }\n  interface UpdateResourceOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a resource.\n   * @param resourceId - Id of the resource to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField resourceId\n   * @permissionId BOOKINGS.RESOURCE_DELETE\n   * @adminMethod\n   */\n  function deleteResource(resourceId: string): Promise<void>;\n  /**\n   * Deletes multiple resources.\n   * @param ids - The ids of the resources to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId BOOKINGS.RESOURCE_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteResources(ids: string[]): Promise<BulkDeleteResourcesResponse>;\n  /**\n   * Retrieves a list of resources matching the provided search criteria.\n   *\n   * The search endpoints allow to perform advanced search including partial text search, exact match, and more.\n   * The endpoint also allows to aggregate resources by type, name, app id, management type, management type and location options.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.RESOURCE_READ\n   * @adminMethod\n   */\n  function searchResources(options?: SearchResourcesOptions): Promise<SearchResourcesResponse>;\n  interface SearchResourcesOptions {\n      /** Search condition */\n      search?: CursorSearch$2;\n  }\n  /**\n   * Query resources using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.RESOURCE_READ\n   * @adminMethod\n   */\n  function queryResources(): ResourcesQueryBuilder;\n  interface QueryCursorResult$4 {\n      cursors: Cursors$6;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ResourcesQueryResult extends QueryCursorResult$4 {\n      items: Resource$2[];\n      query: ResourcesQueryBuilder;\n      next: () => Promise<ResourcesQueryResult>;\n      prev: () => Promise<ResourcesQueryResult>;\n  }\n  interface ResourcesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'singleResource.locationOptions.availableInAllLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInBusinessLocations' | 'singleResource.locationOptions.specificLocationOptions.businessLocations.locationId' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'type', value: any) => ResourcesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'singleResource.locationOptions.availableInAllLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInBusinessLocations' | 'singleResource.locationOptions.specificLocationOptions.businessLocations.locationId' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'type', value: any) => ResourcesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ResourcesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ResourcesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ResourcesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ResourcesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'singleResource.locationOptions.specificLocationOptions.businessLocations.locationId' | '_id' | 'name' | 'type', value: string) => ResourcesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'singleResource.locationOptions.availableInAllLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInBusinessLocations' | 'singleResource.locationOptions.specificLocationOptions.businessLocations.locationId' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'type', value: any[]) => ResourcesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'singleResource.locationOptions.availableInAllLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInBusinessLocations' | 'singleResource.locationOptions.specificLocationOptions.businessLocations.locationId' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'type', value: any) => ResourcesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'singleResource.locationOptions.availableInAllLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInBusinessLocations' | 'singleResource.locationOptions.specificLocationOptions.businessLocations.locationId' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'type', value: boolean) => ResourcesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'singleResource.locationOptions.availableInAllLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInCustomerLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInCustomLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInBusinessLocations' | 'singleResource.locationOptions.specificLocationOptions.businessLocations.locationId' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'type' | 'appId' | 'managementType'>) => ResourcesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'singleResource.locationOptions.availableInAllLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInCustomerLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInCustomLocations' | 'singleResource.locationOptions.specificLocationOptions.availableInBusinessLocations' | 'singleResource.locationOptions.specificLocationOptions.businessLocations.locationId' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'type' | 'appId' | 'managementType'>) => ResourcesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ResourcesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ResourcesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ResourcesQueryResult>;\n  }\n  /**\n   * Counts resources according to given criteria.\n   *\n   * Use [WQL filter](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section) to define the criteria.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.RESOURCE_READ\n   * @adminMethod\n   */\n  function countResources(options?: CountResourcesOptions): Promise<CountResourcesResponse>;\n  interface CountResourcesOptions {\n      /** Filter to apply on resources to count. */\n      filter?: Record<string, any> | null;\n      /**\n       * @deprecated\n       * @targetRemovalDate 2024-05-01\n       */\n      search?: SearchDetails$2;\n  }\n  \n  type bookingsResourcesV2Resource_universal_d_ResourceCompositionDetailsOneOf = ResourceCompositionDetailsOneOf;\n  type bookingsResourcesV2Resource_universal_d_SingleResource = SingleResource;\n  type bookingsResourcesV2Resource_universal_d_WorkingHoursSchedules = WorkingHoursSchedules;\n  type bookingsResourcesV2Resource_universal_d_ResourceWorkingHoursSchedules = ResourceWorkingHoursSchedules;\n  type bookingsResourcesV2Resource_universal_d_EventsSchedule = EventsSchedule;\n  type bookingsResourcesV2Resource_universal_d_ManagementType = ManagementType;\n  const bookingsResourcesV2Resource_universal_d_ManagementType: typeof ManagementType;\n  type bookingsResourcesV2Resource_universal_d_CreateResourceRequest = CreateResourceRequest;\n  type bookingsResourcesV2Resource_universal_d_CreateResourceResponse = CreateResourceResponse;\n  type bookingsResourcesV2Resource_universal_d_BulkCreateResourcesRequest = BulkCreateResourcesRequest;\n  type bookingsResourcesV2Resource_universal_d_BulkCreateResourcesResponse = BulkCreateResourcesResponse;\n  type bookingsResourcesV2Resource_universal_d_BulkResourceResult = BulkResourceResult;\n  type bookingsResourcesV2Resource_universal_d_GetResourceRequest = GetResourceRequest;\n  type bookingsResourcesV2Resource_universal_d_GetResourceResponse = GetResourceResponse;\n  type bookingsResourcesV2Resource_universal_d_GetDeletedResourceRequest = GetDeletedResourceRequest;\n  type bookingsResourcesV2Resource_universal_d_GetDeletedResourceResponse = GetDeletedResourceResponse;\n  type bookingsResourcesV2Resource_universal_d_ListDeletedResourcesRequest = ListDeletedResourcesRequest;\n  type bookingsResourcesV2Resource_universal_d_ListDeletedResourcesResponse = ListDeletedResourcesResponse;\n  type bookingsResourcesV2Resource_universal_d_RemoveResourceFromTrashBinRequest = RemoveResourceFromTrashBinRequest;\n  type bookingsResourcesV2Resource_universal_d_RemoveResourceFromTrashBinResponse = RemoveResourceFromTrashBinResponse;\n  type bookingsResourcesV2Resource_universal_d_RestoreResourceFromTrashBinRequest = RestoreResourceFromTrashBinRequest;\n  type bookingsResourcesV2Resource_universal_d_RestoreResourceFromTrashBinResponse = RestoreResourceFromTrashBinResponse;\n  type bookingsResourcesV2Resource_universal_d_UpdateResourceRequest = UpdateResourceRequest;\n  type bookingsResourcesV2Resource_universal_d_UpdateResourceResponse = UpdateResourceResponse;\n  type bookingsResourcesV2Resource_universal_d_DeleteResourceRequest = DeleteResourceRequest;\n  type bookingsResourcesV2Resource_universal_d_DeleteResourceResponse = DeleteResourceResponse;\n  type bookingsResourcesV2Resource_universal_d_BulkDeleteResourcesRequest = BulkDeleteResourcesRequest;\n  type bookingsResourcesV2Resource_universal_d_BulkDeleteResourcesResponse = BulkDeleteResourcesResponse;\n  type bookingsResourcesV2Resource_universal_d_SearchResourcesRequest = SearchResourcesRequest;\n  type bookingsResourcesV2Resource_universal_d_SearchResourcesResponse = SearchResourcesResponse;\n  type bookingsResourcesV2Resource_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n  type bookingsResourcesV2Resource_universal_d_QueryResourcesRequest = QueryResourcesRequest;\n  type bookingsResourcesV2Resource_universal_d_QueryResourcesResponse = QueryResourcesResponse;\n  type bookingsResourcesV2Resource_universal_d_CountResourcesRequest = CountResourcesRequest;\n  type bookingsResourcesV2Resource_universal_d_CountResourcesResponse = CountResourcesResponse;\n  type bookingsResourcesV2Resource_universal_d_ImportResourceRequest = ImportResourceRequest;\n  type bookingsResourcesV2Resource_universal_d_ImportResourceResponse = ImportResourceResponse;\n  type bookingsResourcesV2Resource_universal_d_FixResourceSchedulesRequest = FixResourceSchedulesRequest;\n  type bookingsResourcesV2Resource_universal_d_FixResourceSchedulesResponse = FixResourceSchedulesResponse;\n  type bookingsResourcesV2Resource_universal_d_ReindexTenantRequest = ReindexTenantRequest;\n  type bookingsResourcesV2Resource_universal_d_ReindexTenantResponse = ReindexTenantResponse;\n  const bookingsResourcesV2Resource_universal_d_createResource: typeof createResource;\n  const bookingsResourcesV2Resource_universal_d_bulkCreateResources: typeof bulkCreateResources;\n  type bookingsResourcesV2Resource_universal_d_BulkCreateResourcesOptions = BulkCreateResourcesOptions;\n  const bookingsResourcesV2Resource_universal_d_getResource: typeof getResource;\n  const bookingsResourcesV2Resource_universal_d_getDeletedResource: typeof getDeletedResource;\n  const bookingsResourcesV2Resource_universal_d_listDeletedResources: typeof listDeletedResources;\n  type bookingsResourcesV2Resource_universal_d_ListDeletedResourcesOptions = ListDeletedResourcesOptions;\n  const bookingsResourcesV2Resource_universal_d_removeResourceFromTrashBin: typeof removeResourceFromTrashBin;\n  const bookingsResourcesV2Resource_universal_d_restoreResourceFromTrashBin: typeof restoreResourceFromTrashBin;\n  const bookingsResourcesV2Resource_universal_d_updateResource: typeof updateResource;\n  type bookingsResourcesV2Resource_universal_d_UpdateResource = UpdateResource;\n  type bookingsResourcesV2Resource_universal_d_UpdateResourceOptions = UpdateResourceOptions;\n  const bookingsResourcesV2Resource_universal_d_deleteResource: typeof deleteResource;\n  const bookingsResourcesV2Resource_universal_d_bulkDeleteResources: typeof bulkDeleteResources;\n  const bookingsResourcesV2Resource_universal_d_searchResources: typeof searchResources;\n  type bookingsResourcesV2Resource_universal_d_SearchResourcesOptions = SearchResourcesOptions;\n  const bookingsResourcesV2Resource_universal_d_queryResources: typeof queryResources;\n  type bookingsResourcesV2Resource_universal_d_ResourcesQueryResult = ResourcesQueryResult;\n  type bookingsResourcesV2Resource_universal_d_ResourcesQueryBuilder = ResourcesQueryBuilder;\n  const bookingsResourcesV2Resource_universal_d_countResources: typeof countResources;\n  type bookingsResourcesV2Resource_universal_d_CountResourcesOptions = CountResourcesOptions;\n  namespace bookingsResourcesV2Resource_universal_d {\n    export {\n      Resource$2 as Resource,\n      bookingsResourcesV2Resource_universal_d_ResourceCompositionDetailsOneOf as ResourceCompositionDetailsOneOf,\n      WorkingHoursSchedule$1 as WorkingHoursSchedule,\n      bookingsResourcesV2Resource_universal_d_SingleResource as SingleResource,\n      bookingsResourcesV2Resource_universal_d_WorkingHoursSchedules as WorkingHoursSchedules,\n      Schedule$2 as Schedule,\n      LocationOptions$1 as LocationOptions,\n      SpecificLocation$1 as SpecificLocation,\n      BusinessLocation$2 as BusinessLocation,\n      bookingsResourcesV2Resource_universal_d_ResourceWorkingHoursSchedules as ResourceWorkingHoursSchedules,\n      bookingsResourcesV2Resource_universal_d_EventsSchedule as EventsSchedule,\n      bookingsResourcesV2Resource_universal_d_ManagementType as ManagementType,\n      ExtendedFields$6 as ExtendedFields,\n      bookingsResourcesV2Resource_universal_d_CreateResourceRequest as CreateResourceRequest,\n      bookingsResourcesV2Resource_universal_d_CreateResourceResponse as CreateResourceResponse,\n      bookingsResourcesV2Resource_universal_d_BulkCreateResourcesRequest as BulkCreateResourcesRequest,\n      bookingsResourcesV2Resource_universal_d_BulkCreateResourcesResponse as BulkCreateResourcesResponse,\n      bookingsResourcesV2Resource_universal_d_BulkResourceResult as BulkResourceResult,\n      ItemMetadata$3 as ItemMetadata,\n      ApplicationError$3 as ApplicationError,\n      BulkActionMetadata$3 as BulkActionMetadata,\n      bookingsResourcesV2Resource_universal_d_GetResourceRequest as GetResourceRequest,\n      bookingsResourcesV2Resource_universal_d_GetResourceResponse as GetResourceResponse,\n      bookingsResourcesV2Resource_universal_d_GetDeletedResourceRequest as GetDeletedResourceRequest,\n      bookingsResourcesV2Resource_universal_d_GetDeletedResourceResponse as GetDeletedResourceResponse,\n      bookingsResourcesV2Resource_universal_d_ListDeletedResourcesRequest as ListDeletedResourcesRequest,\n      CursorPaging$6 as CursorPaging,\n      bookingsResourcesV2Resource_universal_d_ListDeletedResourcesResponse as ListDeletedResourcesResponse,\n      CursorPagingMetadata$5 as CursorPagingMetadata,\n      Cursors$6 as Cursors,\n      bookingsResourcesV2Resource_universal_d_RemoveResourceFromTrashBinRequest as RemoveResourceFromTrashBinRequest,\n      bookingsResourcesV2Resource_universal_d_RemoveResourceFromTrashBinResponse as RemoveResourceFromTrashBinResponse,\n      bookingsResourcesV2Resource_universal_d_RestoreResourceFromTrashBinRequest as RestoreResourceFromTrashBinRequest,\n      bookingsResourcesV2Resource_universal_d_RestoreResourceFromTrashBinResponse as RestoreResourceFromTrashBinResponse,\n      bookingsResourcesV2Resource_universal_d_UpdateResourceRequest as UpdateResourceRequest,\n      bookingsResourcesV2Resource_universal_d_UpdateResourceResponse as UpdateResourceResponse,\n      bookingsResourcesV2Resource_universal_d_DeleteResourceRequest as DeleteResourceRequest,\n      bookingsResourcesV2Resource_universal_d_DeleteResourceResponse as DeleteResourceResponse,\n      bookingsResourcesV2Resource_universal_d_BulkDeleteResourcesRequest as BulkDeleteResourcesRequest,\n      bookingsResourcesV2Resource_universal_d_BulkDeleteResourcesResponse as BulkDeleteResourcesResponse,\n      bookingsResourcesV2Resource_universal_d_SearchResourcesRequest as SearchResourcesRequest,\n      CursorSearch$2 as CursorSearch,\n      CursorSearchPagingMethodOneOf$2 as CursorSearchPagingMethodOneOf,\n      Sorting$6 as Sorting,\n      SortOrder$6 as SortOrder,\n      Aggregation$1 as Aggregation,\n      AggregationKindOneOf$1 as AggregationKindOneOf,\n      RangeBucket$1 as RangeBucket,\n      SortType$1 as SortType,\n      SortDirection$1 as SortDirection,\n      MissingValues$1 as MissingValues,\n      IncludeMissingValuesOptions$1 as IncludeMissingValuesOptions,\n      ScalarType$2 as ScalarType,\n      ValueAggregation$1 as ValueAggregation,\n      ValueAggregationOptionsOneOf$1 as ValueAggregationOptionsOneOf,\n      NestedAggregationType$1 as NestedAggregationType,\n      RangeAggregation$1 as RangeAggregation,\n      ScalarAggregation$1 as ScalarAggregation,\n      DateHistogramAggregation$1 as DateHistogramAggregation,\n      Interval$2 as Interval,\n      NestedAggregationItem$1 as NestedAggregationItem,\n      NestedAggregationItemKindOneOf$1 as NestedAggregationItemKindOneOf,\n      AggregationType$2 as AggregationType,\n      NestedAggregation$1 as NestedAggregation,\n      GroupByAggregation$1 as GroupByAggregation,\n      GroupByAggregationKindOneOf$1 as GroupByAggregationKindOneOf,\n      SearchDetails$2 as SearchDetails,\n      Mode$2 as Mode,\n      bookingsResourcesV2Resource_universal_d_SearchResourcesResponse as SearchResourcesResponse,\n      AggregationData$2 as AggregationData,\n      ValueAggregationResult$2 as ValueAggregationResult,\n      RangeAggregationResult$2 as RangeAggregationResult,\n      NestedAggregationResults$2 as NestedAggregationResults,\n      NestedAggregationResultsResultOneOf$2 as NestedAggregationResultsResultOneOf,\n      ValueResults$2 as ValueResults,\n      RangeResults$2 as RangeResults,\n      bookingsResourcesV2Resource_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult,\n      NestedValueAggregationResult$2 as NestedValueAggregationResult,\n      ValueResult$1 as ValueResult,\n      RangeResult$1 as RangeResult,\n      ScalarResult$2 as ScalarResult,\n      NestedResultValue$1 as NestedResultValue,\n      NestedResultValueResultOneOf$1 as NestedResultValueResultOneOf,\n      Results$1 as Results,\n      DateHistogramResult$1 as DateHistogramResult,\n      GroupByValueResults$2 as GroupByValueResults,\n      DateHistogramResults$1 as DateHistogramResults,\n      NestedResults$1 as NestedResults,\n      AggregationResults$2 as AggregationResults,\n      AggregationResultsResultOneOf$2 as AggregationResultsResultOneOf,\n      bookingsResourcesV2Resource_universal_d_QueryResourcesRequest as QueryResourcesRequest,\n      CursorQuery$4 as CursorQuery,\n      CursorQueryPagingMethodOneOf$4 as CursorQueryPagingMethodOneOf,\n      bookingsResourcesV2Resource_universal_d_QueryResourcesResponse as QueryResourcesResponse,\n      bookingsResourcesV2Resource_universal_d_CountResourcesRequest as CountResourcesRequest,\n      bookingsResourcesV2Resource_universal_d_CountResourcesResponse as CountResourcesResponse,\n      bookingsResourcesV2Resource_universal_d_ImportResourceRequest as ImportResourceRequest,\n      bookingsResourcesV2Resource_universal_d_ImportResourceResponse as ImportResourceResponse,\n      bookingsResourcesV2Resource_universal_d_FixResourceSchedulesRequest as FixResourceSchedulesRequest,\n      bookingsResourcesV2Resource_universal_d_FixResourceSchedulesResponse as FixResourceSchedulesResponse,\n      bookingsResourcesV2Resource_universal_d_ReindexTenantRequest as ReindexTenantRequest,\n      bookingsResourcesV2Resource_universal_d_ReindexTenantResponse as ReindexTenantResponse,\n      MetaSiteSpecialEvent$1 as MetaSiteSpecialEvent,\n      MetaSiteSpecialEventPayloadOneOf$1 as MetaSiteSpecialEventPayloadOneOf,\n      Asset$1 as Asset,\n      State$1 as State,\n      SiteCreated$3 as SiteCreated,\n      SiteCreatedContext$1 as SiteCreatedContext,\n      Namespace$1 as Namespace,\n      SiteTransferred$1 as SiteTransferred,\n      SiteDeleted$1 as SiteDeleted,\n      DeleteContext$1 as DeleteContext,\n      DeleteStatus$1 as DeleteStatus,\n      SiteUndeleted$1 as SiteUndeleted,\n      SitePublished$1 as SitePublished,\n      SiteUnpublished$1 as SiteUnpublished,\n      SiteMarkedAsTemplate$1 as SiteMarkedAsTemplate,\n      SiteMarkedAsWixSite$1 as SiteMarkedAsWixSite,\n      ServiceProvisioned$1 as ServiceProvisioned,\n      ServiceRemoved$1 as ServiceRemoved,\n      SiteRenamed$1 as SiteRenamed,\n      SiteHardDeleted$1 as SiteHardDeleted,\n      NamespaceChanged$1 as NamespaceChanged,\n      StudioAssigned$1 as StudioAssigned,\n      StudioUnassigned$1 as StudioUnassigned,\n      Empty$3 as Empty,\n      DomainEvent$6 as DomainEvent,\n      DomainEventBodyOneOf$6 as DomainEventBodyOneOf,\n      EntityCreatedEvent$6 as EntityCreatedEvent,\n      RestoreInfo$6 as RestoreInfo,\n      EntityUpdatedEvent$6 as EntityUpdatedEvent,\n      EntityDeletedEvent$6 as EntityDeletedEvent,\n      ActionEvent$6 as ActionEvent,\n      MessageEnvelope$6 as MessageEnvelope,\n      IdentificationData$7 as IdentificationData,\n      IdentificationDataIdOneOf$7 as IdentificationDataIdOneOf,\n      WebhookIdentityType$6 as WebhookIdentityType,\n      bookingsResourcesV2Resource_universal_d_createResource as createResource,\n      bookingsResourcesV2Resource_universal_d_bulkCreateResources as bulkCreateResources,\n      bookingsResourcesV2Resource_universal_d_BulkCreateResourcesOptions as BulkCreateResourcesOptions,\n      bookingsResourcesV2Resource_universal_d_getResource as getResource,\n      bookingsResourcesV2Resource_universal_d_getDeletedResource as getDeletedResource,\n      bookingsResourcesV2Resource_universal_d_listDeletedResources as listDeletedResources,\n      bookingsResourcesV2Resource_universal_d_ListDeletedResourcesOptions as ListDeletedResourcesOptions,\n      bookingsResourcesV2Resource_universal_d_removeResourceFromTrashBin as removeResourceFromTrashBin,\n      bookingsResourcesV2Resource_universal_d_restoreResourceFromTrashBin as restoreResourceFromTrashBin,\n      bookingsResourcesV2Resource_universal_d_updateResource as updateResource,\n      bookingsResourcesV2Resource_universal_d_UpdateResource as UpdateResource,\n      bookingsResourcesV2Resource_universal_d_UpdateResourceOptions as UpdateResourceOptions,\n      bookingsResourcesV2Resource_universal_d_deleteResource as deleteResource,\n      bookingsResourcesV2Resource_universal_d_bulkDeleteResources as bulkDeleteResources,\n      bookingsResourcesV2Resource_universal_d_searchResources as searchResources,\n      bookingsResourcesV2Resource_universal_d_SearchResourcesOptions as SearchResourcesOptions,\n      bookingsResourcesV2Resource_universal_d_queryResources as queryResources,\n      bookingsResourcesV2Resource_universal_d_ResourcesQueryResult as ResourcesQueryResult,\n      bookingsResourcesV2Resource_universal_d_ResourcesQueryBuilder as ResourcesQueryBuilder,\n      bookingsResourcesV2Resource_universal_d_countResources as countResources,\n      bookingsResourcesV2Resource_universal_d_CountResourcesOptions as CountResourcesOptions,\n    };\n  }\n  \n  /** A ResourceType is a classification of resources, e.g. room, equipment or vehicle. */\n  interface ResourceType$1 {\n      /**\n       * ResourceType ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of this resource type.\n       * Each time the resource type is modified, its `revision` changes by the server.\n       * For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this resource type was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this resource type was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** The name of this resource type, for example `meeting room`. The name must be unique per site. */\n      name?: string | null;\n      /**\n       * The ID of the app of which the resources of this type belong to. Default: Bookings App ID.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Aggregation data about counts of resources that have this type.\n       * @internal\n       * @readonly\n       */\n      resourceCounts?: ResourceCounts;\n      /** Extensions enabling users to save custom data related to the resource type. */\n      extendedFields?: ExtendedFields$5;\n  }\n  interface ResourceCounts {\n      /**\n       * The number of resources that have this type.\n       * @readonly\n       */\n      total?: number | null;\n      /**\n       * Whether a resource of this type exists that is available in all locations\n       * @readonly\n       */\n      hasResourcesInAllLocations?: boolean | null;\n      /**\n       * Whether a resource of this type exists that is available in any customer location\n       * @readonly\n       */\n      hasResourcesInCustomerLocations?: boolean | null;\n      /**\n       * Whether a resource of this type exists that is available in any custom location\n       * @readonly\n       */\n      hasResourcesInCustomLocations?: boolean | null;\n      /**\n       * Number of distinct business locations of resources with this type.\n       * @readonly\n       */\n      distinctBusinessLocationsCount?: number | null;\n      /**\n       * Distinct business location ids of resources with this type. Only first 50 are returned.\n       * @readonly\n       */\n      distinctLocationIds?: DistinctLocationIds;\n  }\n  interface DistinctLocationIds {\n      /** Locations ids of business locations */\n      values?: string[];\n  }\n  interface ExtendedFields$5 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateResourceTypeRequest {\n      /** Resource type to be created. */\n      resourceType: ResourceType$1;\n      /**\n       * The number of resources that must be created initially for this type\n       * @internal\n       */\n      quantity?: number;\n      /**\n       * Locations where created resources are available\n       * @internal\n       */\n      locationOptions?: LocationOptions;\n      /**\n       * List of additional fields to be included in the response.\n       * @internal\n       */\n      fields?: RequestedFields$2[];\n  }\n  interface LocationOptions {\n      /**\n       * `true` if the resource is available in all locations, `false` if the resource is available only in specific locations.\n       * Default: `false`.\n       */\n      availableInAllLocations?: boolean | null;\n      /**\n       * Details of specific locations. It must be left empty if `available_in_all_locations` is `true`.\n       * If supplied then the field `specific_location_options.available_in_business_locations` must be set to `true`.\n       */\n      specificLocationOptions?: SpecificLocation;\n  }\n  interface SpecificLocation {\n      /**\n       * `true` if the resource can be used at a customer selected location, `false` otherwise.\n       * Read more about locations in this [article](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-service-locations).\n       * Default: `false`.\n       * @internal\n       */\n      availableInCustomerLocations?: boolean | null;\n      /**\n       * `true` if the resource is available in custom locations, `false` otherwise.\n       * Default: `false`.\n       * @internal\n       */\n      availableInCustomLocations?: boolean | null;\n      /**\n       * `true` if the resource is available in some business locations, `false` otherwise.\n       * Default: `false`.\n       */\n      availableInBusinessLocations?: boolean | null;\n      /**\n       * Information about business locations. Should be empty if `available_in_business_locations` is `false` or if no business location exists in Locations.\n       * Currently a single business location can be set.\n       * Read more about business locations in this [article](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       */\n      businessLocations?: BusinessLocation$1[];\n  }\n  interface BusinessLocation$1 {\n      /** The ID of the business location. Must not be empty. */\n      locationId?: string | null;\n  }\n  enum RequestedFields$2 {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      TOTAL_RESOURCE_COUNT = \"TOTAL_RESOURCE_COUNT\",\n      SPECIFIC_LOCATION_TYPE_RESOURCE_COUNTS = \"SPECIFIC_LOCATION_TYPE_RESOURCE_COUNTS\",\n      DISTINCT_RESOURCE_LOCATIONS = \"DISTINCT_RESOURCE_LOCATIONS\"\n  }\n  interface CreateResourceTypeResponse {\n      /** The created resource type. */\n      resourceType?: ResourceType$1;\n      /**\n       * Partial errors. ResourceType entity was created but requested dependant entities were not.\n       * @internal\n       */\n      partialErrors?: CreateResourceTypeErrors[];\n  }\n  enum CreateResourceTypeErrors {\n      UNKNOWN_CREATE_RESOURCE_TYPE_ERROR = \"UNKNOWN_CREATE_RESOURCE_TYPE_ERROR\",\n      /** Failed to create requested `quantity` of resources for the resource type */\n      FAILED_TO_CREATE_RESOURCES = \"FAILED_TO_CREATE_RESOURCES\"\n  }\n  interface GetResourceTypeRequest {\n      /** ID of the resource type to retrieve. */\n      resourceTypeId: string;\n      /**\n       * List of additional fields to be included in the response.\n       * @internal\n       */\n      fields?: RequestedFields$2[];\n  }\n  interface GetResourceTypeResponse {\n      /** The requested resource type. */\n      resourceType?: ResourceType$1;\n  }\n  interface UpdateResourceTypeRequest {\n      /** Resource type to update. [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported. */\n      resourceType: ResourceType$1;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * See [Field Masks in Update Requests][1] for details on working with field masks.\n       * [1]: https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests\n       * @internal\n       */\n      mask?: string[];\n      /**\n       * List of additional fields to be included in the response.\n       * @internal\n       */\n      fields?: RequestedFields$2[];\n  }\n  interface UpdateResourceTypeResponse {\n      /** Updated resource type. */\n      resourceType?: ResourceType$1;\n  }\n  interface DeleteResourceTypeRequest {\n      /** ID of the resource type to delete. */\n      resourceTypeId: string;\n  }\n  interface DeleteResourceTypeResponse {\n  }\n  interface QueryResourceTypesRequest {\n      /** WQL expression. */\n      query?: CursorQuery$3;\n      /**\n       * List of additional fields to be included in the response.\n       * @internal\n       */\n      fields?: RequestedFields$2[];\n  }\n  interface CursorQuery$3 extends CursorQueryPagingMethodOneOf$3 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$5[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$3 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n  }\n  interface Sorting$5 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$5;\n  }\n  enum SortOrder$5 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$5 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryResourceTypesResponse {\n      /** The retrieved resource types. */\n      resourceTypes?: ResourceType$1[];\n      /** Paging metadata, including offset and count. */\n      pagingMetadata?: CursorPagingMetadata$4;\n  }\n  interface CursorPagingMetadata$4 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$5;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$5 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CountResourceTypesRequest {\n      /** Filter to apply on resource types to count. */\n      filter?: Record<string, any> | null;\n  }\n  interface CountResourceTypesResponse {\n      /** The number of resource types matching the given filter. */\n      count?: number;\n  }\n  interface DomainEvent$5 extends DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n  }\n  interface EntityCreatedEvent$5 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$5;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$5 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$5 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$5 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$5 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$6;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$6 extends IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new ResourceType.\n   *\n   * By using the create API, you can create a resource type and set its name and the ID of the app it belongs to.\n   * @param resourceType - Resource type to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField resourceType\n   * @requiredField resourceType.name\n   * @permissionId BOOKINGS.RESOURCE_TYPE_CREATE\n   * @adminMethod\n   * @returns The created resource type.\n   */\n  function createResourceType(resourceType: ResourceType$1, options?: CreateResourceTypeOptions): Promise<ResourceType$1>;\n  interface CreateResourceTypeOptions {\n      /**\n       * The number of resources that must be created initially for this type\n       * @internal\n       */\n      quantity?: number;\n      /**\n       * Locations where created resources are available\n       * @internal\n       */\n      locationOptions?: LocationOptions;\n      /**\n       * List of additional fields to be included in the response.\n       * @internal\n       */\n      fields?: RequestedFields$2[];\n  }\n  /**\n   * Retrieves a ResourceType by ID.\n   * @param resourceTypeId - ID of the resource type to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField resourceTypeId\n   * @permissionId BOOKINGS.RESOURCE_TYPE_READ\n   * @permissionId BOOKINGS.RESOURCES_READ\n   * @returns The requested resource type.\n   */\n  function getResourceType(resourceTypeId: string, options?: GetResourceTypeOptions): Promise<ResourceType$1>;\n  interface GetResourceTypeOptions {\n      /**\n       * List of additional fields to be included in the response.\n       * @internal\n       */\n      fields?: RequestedFields$2[];\n  }\n  /**\n   * Updates a ResourceType.\n   *\n   * [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported.\n   *\n   * Each time the resource type is updated, `revision` increments by 1. You must include current revision of the resource type when updating it.\n   * This ensures you're working with the latest service information and prevents unintended overwrites.\n   * @param _id - ResourceType ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField resourceType\n   * @requiredField resourceType.revision\n   * @permissionId BOOKINGS.RESOURCE_TYPE_UPDATE\n   * @adminMethod\n   * @returns Updated resource type.\n   */\n  function updateResourceType(_id: string | null, resourceType: UpdateResourceType, options?: UpdateResourceTypeOptions): Promise<ResourceType$1>;\n  interface UpdateResourceType {\n      /**\n       * ResourceType ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of this resource type.\n       * Each time the resource type is modified, its `revision` changes by the server.\n       * For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this resource type was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this resource type was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** The name of this resource type, for example `meeting room`. The name must be unique per site. */\n      name?: string | null;\n      /**\n       * The ID of the app of which the resources of this type belong to. Default: Bookings App ID.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Aggregation data about counts of resources that have this type.\n       * @internal\n       * @readonly\n       */\n      resourceCounts?: ResourceCounts;\n      /** Extensions enabling users to save custom data related to the resource type. */\n      extendedFields?: ExtendedFields$5;\n  }\n  interface UpdateResourceTypeOptions {\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * See [Field Masks in Update Requests][1] for details on working with field masks.\n       * [1]: https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests\n       * @internal\n       */\n      mask?: string[];\n      /**\n       * List of additional fields to be included in the response.\n       * @internal\n       */\n      fields?: RequestedFields$2[];\n  }\n  /**\n   * Deletes a ResourceType.\n   * @param resourceTypeId - ID of the resource type to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField resourceTypeId\n   * @permissionId BOOKINGS.RESOURCE_TYPE_DELETE\n   * @adminMethod\n   */\n  function deleteResourceType(resourceTypeId: string): Promise<void>;\n  /**\n   * Queries resource types, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 100 resource types can be returned per request.\n   *\n   * To learn how to query ResourceTypes, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.RESOURCE_TYPE_READ\n   */\n  function queryResourceTypes(options?: QueryResourceTypesOptions): ResourceTypesQueryBuilder;\n  interface QueryResourceTypesOptions {\n      /**\n       * List of additional fields to be included in the response.\n       * @internal\n       */\n      fields?: RequestedFields$2[] | undefined;\n  }\n  interface QueryCursorResult$3 {\n      cursors: Cursors$5;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ResourceTypesQueryResult extends QueryCursorResult$3 {\n      items: ResourceType$1[];\n      query: ResourceTypesQueryBuilder;\n      next: () => Promise<ResourceTypesQueryResult>;\n      prev: () => Promise<ResourceTypesQueryResult>;\n  }\n  interface ResourceTypesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'name', value: any) => ResourceTypesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'name', value: any) => ResourceTypesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'name', value: string) => ResourceTypesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'name', value: any[]) => ResourceTypesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'name', value: any) => ResourceTypesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'name', value: boolean) => ResourceTypesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ResourceTypesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ResourceTypesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ResourceTypesQueryResult>;\n  }\n  /**\n   * Counts resource types according to given criteria.\n   *\n   * Use [WQL filter](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section) to define the criteria.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.RESOURCE_TYPE_READ\n   */\n  function countResourceTypes(options?: CountResourceTypesOptions): Promise<CountResourceTypesResponse>;\n  interface CountResourceTypesOptions {\n      /** Filter to apply on resource types to count. */\n      filter?: Record<string, any> | null;\n  }\n  \n  type bookingsResourcesV2ResourceType_universal_d_ResourceCounts = ResourceCounts;\n  type bookingsResourcesV2ResourceType_universal_d_DistinctLocationIds = DistinctLocationIds;\n  type bookingsResourcesV2ResourceType_universal_d_CreateResourceTypeRequest = CreateResourceTypeRequest;\n  type bookingsResourcesV2ResourceType_universal_d_LocationOptions = LocationOptions;\n  type bookingsResourcesV2ResourceType_universal_d_SpecificLocation = SpecificLocation;\n  type bookingsResourcesV2ResourceType_universal_d_CreateResourceTypeResponse = CreateResourceTypeResponse;\n  type bookingsResourcesV2ResourceType_universal_d_CreateResourceTypeErrors = CreateResourceTypeErrors;\n  const bookingsResourcesV2ResourceType_universal_d_CreateResourceTypeErrors: typeof CreateResourceTypeErrors;\n  type bookingsResourcesV2ResourceType_universal_d_GetResourceTypeRequest = GetResourceTypeRequest;\n  type bookingsResourcesV2ResourceType_universal_d_GetResourceTypeResponse = GetResourceTypeResponse;\n  type bookingsResourcesV2ResourceType_universal_d_UpdateResourceTypeRequest = UpdateResourceTypeRequest;\n  type bookingsResourcesV2ResourceType_universal_d_UpdateResourceTypeResponse = UpdateResourceTypeResponse;\n  type bookingsResourcesV2ResourceType_universal_d_DeleteResourceTypeRequest = DeleteResourceTypeRequest;\n  type bookingsResourcesV2ResourceType_universal_d_DeleteResourceTypeResponse = DeleteResourceTypeResponse;\n  type bookingsResourcesV2ResourceType_universal_d_QueryResourceTypesRequest = QueryResourceTypesRequest;\n  type bookingsResourcesV2ResourceType_universal_d_QueryResourceTypesResponse = QueryResourceTypesResponse;\n  type bookingsResourcesV2ResourceType_universal_d_CountResourceTypesRequest = CountResourceTypesRequest;\n  type bookingsResourcesV2ResourceType_universal_d_CountResourceTypesResponse = CountResourceTypesResponse;\n  const bookingsResourcesV2ResourceType_universal_d_createResourceType: typeof createResourceType;\n  type bookingsResourcesV2ResourceType_universal_d_CreateResourceTypeOptions = CreateResourceTypeOptions;\n  const bookingsResourcesV2ResourceType_universal_d_getResourceType: typeof getResourceType;\n  type bookingsResourcesV2ResourceType_universal_d_GetResourceTypeOptions = GetResourceTypeOptions;\n  const bookingsResourcesV2ResourceType_universal_d_updateResourceType: typeof updateResourceType;\n  type bookingsResourcesV2ResourceType_universal_d_UpdateResourceType = UpdateResourceType;\n  type bookingsResourcesV2ResourceType_universal_d_UpdateResourceTypeOptions = UpdateResourceTypeOptions;\n  const bookingsResourcesV2ResourceType_universal_d_deleteResourceType: typeof deleteResourceType;\n  const bookingsResourcesV2ResourceType_universal_d_queryResourceTypes: typeof queryResourceTypes;\n  type bookingsResourcesV2ResourceType_universal_d_QueryResourceTypesOptions = QueryResourceTypesOptions;\n  type bookingsResourcesV2ResourceType_universal_d_ResourceTypesQueryResult = ResourceTypesQueryResult;\n  type bookingsResourcesV2ResourceType_universal_d_ResourceTypesQueryBuilder = ResourceTypesQueryBuilder;\n  const bookingsResourcesV2ResourceType_universal_d_countResourceTypes: typeof countResourceTypes;\n  type bookingsResourcesV2ResourceType_universal_d_CountResourceTypesOptions = CountResourceTypesOptions;\n  namespace bookingsResourcesV2ResourceType_universal_d {\n    export {\n      ResourceType$1 as ResourceType,\n      bookingsResourcesV2ResourceType_universal_d_ResourceCounts as ResourceCounts,\n      bookingsResourcesV2ResourceType_universal_d_DistinctLocationIds as DistinctLocationIds,\n      ExtendedFields$5 as ExtendedFields,\n      bookingsResourcesV2ResourceType_universal_d_CreateResourceTypeRequest as CreateResourceTypeRequest,\n      bookingsResourcesV2ResourceType_universal_d_LocationOptions as LocationOptions,\n      bookingsResourcesV2ResourceType_universal_d_SpecificLocation as SpecificLocation,\n      BusinessLocation$1 as BusinessLocation,\n      RequestedFields$2 as RequestedFields,\n      bookingsResourcesV2ResourceType_universal_d_CreateResourceTypeResponse as CreateResourceTypeResponse,\n      bookingsResourcesV2ResourceType_universal_d_CreateResourceTypeErrors as CreateResourceTypeErrors,\n      bookingsResourcesV2ResourceType_universal_d_GetResourceTypeRequest as GetResourceTypeRequest,\n      bookingsResourcesV2ResourceType_universal_d_GetResourceTypeResponse as GetResourceTypeResponse,\n      bookingsResourcesV2ResourceType_universal_d_UpdateResourceTypeRequest as UpdateResourceTypeRequest,\n      bookingsResourcesV2ResourceType_universal_d_UpdateResourceTypeResponse as UpdateResourceTypeResponse,\n      bookingsResourcesV2ResourceType_universal_d_DeleteResourceTypeRequest as DeleteResourceTypeRequest,\n      bookingsResourcesV2ResourceType_universal_d_DeleteResourceTypeResponse as DeleteResourceTypeResponse,\n      bookingsResourcesV2ResourceType_universal_d_QueryResourceTypesRequest as QueryResourceTypesRequest,\n      CursorQuery$3 as CursorQuery,\n      CursorQueryPagingMethodOneOf$3 as CursorQueryPagingMethodOneOf,\n      Sorting$5 as Sorting,\n      SortOrder$5 as SortOrder,\n      CursorPaging$5 as CursorPaging,\n      bookingsResourcesV2ResourceType_universal_d_QueryResourceTypesResponse as QueryResourceTypesResponse,\n      CursorPagingMetadata$4 as CursorPagingMetadata,\n      Cursors$5 as Cursors,\n      bookingsResourcesV2ResourceType_universal_d_CountResourceTypesRequest as CountResourceTypesRequest,\n      bookingsResourcesV2ResourceType_universal_d_CountResourceTypesResponse as CountResourceTypesResponse,\n      DomainEvent$5 as DomainEvent,\n      DomainEventBodyOneOf$5 as DomainEventBodyOneOf,\n      EntityCreatedEvent$5 as EntityCreatedEvent,\n      RestoreInfo$5 as RestoreInfo,\n      EntityUpdatedEvent$5 as EntityUpdatedEvent,\n      EntityDeletedEvent$5 as EntityDeletedEvent,\n      ActionEvent$5 as ActionEvent,\n      MessageEnvelope$5 as MessageEnvelope,\n      IdentificationData$6 as IdentificationData,\n      IdentificationDataIdOneOf$6 as IdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      bookingsResourcesV2ResourceType_universal_d_createResourceType as createResourceType,\n      bookingsResourcesV2ResourceType_universal_d_CreateResourceTypeOptions as CreateResourceTypeOptions,\n      bookingsResourcesV2ResourceType_universal_d_getResourceType as getResourceType,\n      bookingsResourcesV2ResourceType_universal_d_GetResourceTypeOptions as GetResourceTypeOptions,\n      bookingsResourcesV2ResourceType_universal_d_updateResourceType as updateResourceType,\n      bookingsResourcesV2ResourceType_universal_d_UpdateResourceType as UpdateResourceType,\n      bookingsResourcesV2ResourceType_universal_d_UpdateResourceTypeOptions as UpdateResourceTypeOptions,\n      bookingsResourcesV2ResourceType_universal_d_deleteResourceType as deleteResourceType,\n      bookingsResourcesV2ResourceType_universal_d_queryResourceTypes as queryResourceTypes,\n      bookingsResourcesV2ResourceType_universal_d_QueryResourceTypesOptions as QueryResourceTypesOptions,\n      bookingsResourcesV2ResourceType_universal_d_ResourceTypesQueryResult as ResourceTypesQueryResult,\n      bookingsResourcesV2ResourceType_universal_d_ResourceTypesQueryBuilder as ResourceTypesQueryBuilder,\n      bookingsResourcesV2ResourceType_universal_d_countResourceTypes as countResourceTypes,\n      bookingsResourcesV2ResourceType_universal_d_CountResourceTypesOptions as CountResourceTypesOptions,\n    };\n  }\n  \n  /** The `Service` object represents the business offering that a business provides to its customers. */\n  interface Service {\n      /**\n       * Service ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Service type. */\n      type?: ServiceType;\n      /** Order of a service within a category. */\n      sortOrder?: number | null;\n      name?: string | null;\n      description?: string | null;\n      tagLine?: string | null;\n      /** Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity. */\n      defaultCapacity?: number | null;\n      /** Media associated with the service. */\n      media?: Media;\n      /** Whether the service is hidden from the site. */\n      hidden?: boolean | null;\n      /** The category the service is associated with. */\n      category?: V2Category;\n      /** The form used when booking the service. */\n      form?: Form;\n      /** Payment options for booking the service. */\n      payment?: Payment;\n      /** Online booking settings. */\n      onlineBooking?: OnlineBooking;\n      /** Conferencing options for this service. */\n      conferencing?: Conferencing;\n      /**\n       * The locations this service is offered at.\n       * In case of multiple (more than 1) location, All locations must be of type `BUSINESS`.\n       * For courses only: Currently, only 1 location is supported, for all location types.\n       */\n      locations?: Location$3[];\n      /** Policy determining under what conditions this service can be booked. For example, whether the service can only be booked up to 30 minutes before it begins. */\n      bookingPolicy?: BookingPolicy$1;\n      /** The service's schedule, which can be used to manage the service's sessions. */\n      schedule?: Schedule$1;\n      /** IDs of the staff members providing the service. For appointments only. */\n      staffMemberIds?: string[];\n      /**\n       * Staff members providing the service. For appointments only. Returned only if `STAFF_MEMBER_DETAILS` conditional field was passed.\n       * @internal\n       * @readonly\n       * @deprecated Staff members providing the service. For appointments only. Returned only if `STAFF_MEMBER_DETAILS` conditional field was passed.\n       * @replacedBy staff_member_details.staff_members\n       * @targetRemovalDate 2025-01-01\n       */\n      staffMembers?: StaffMember$1[];\n      /**\n       * Staff members details. Returned only if `STAFF_MEMBER_DETAILS` conditional field was passed.\n       * @internal\n       */\n      staffMemberDetails?: StaffMemberDetails;\n      /**\n       * Resource groups required to book the service. For example, to book this service, you must book a room out of the resource group named \"rooms\".\n       * @internal\n       * @deprecated Resource groups required to book the service. For example, to book this service, you must book a room out of the resource group named \"rooms\".\n       * @replacedBy service_resources\n       * @targetRemovalDate 2024-08-19\n       */\n      resourceGroups?: ResourceGroup[];\n      /**\n       * Details on resources that are required to book the service. For example, to book this service, you must book a room out of the resource type named \"rooms\".\n       * @internal\n       */\n      serviceResources?: ServiceResource[];\n      /**\n       * A slug is the last part of the URL address that serves as a unique identifier of the service.\n       * The list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner.\n       * @readonly\n       */\n      supportedSlugs?: Slug[];\n      /**\n       * The main slug for the service. `mainSlug` is either taken from the current service name or is a custom slug set by the business owner.\n       * `mainSlug` is used to construct the service's URLs.\n       * @readonly\n       */\n      mainSlug?: Slug;\n      /**\n       * URLs to various service-related pages, such as the calendar page and the booking page.\n       * @readonly\n       */\n      urls?: URLs;\n      /** Extensions enabling users to save custom data related to the service. */\n      extendedFields?: ExtendedFields$4;\n      /** Custom SEO data for the service. */\n      seoData?: SeoSchema;\n      /**\n       * Date and time the service was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the service was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Revision number, which increments by 1 each time the service is updated. To prevent conflicting changes, the existing revision must be used when updating a service.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  enum ServiceType {\n      UNKNOWN_SERVICE_TYPE = \"UNKNOWN_SERVICE_TYPE\",\n      /** Service is an appointment. */\n      APPOINTMENT = \"APPOINTMENT\",\n      /** Service is a class. */\n      CLASS = \"CLASS\",\n      /** Service is a course. */\n      COURSE = \"COURSE\"\n  }\n  interface Media {\n      /** Media items associated with the service. */\n      items?: MediaItem$1[];\n      /** Primary media associated with the service. */\n      mainMedia?: MediaItem$1;\n      /** Cover media associated with the service. */\n      coverMedia?: MediaItem$1;\n  }\n  interface MediaItem$1 extends MediaItemItemOneOf {\n      /** The image's Wix media URL in the following format: `'wix:image://v1/<uri>/<filename>#originWidth=<width>&originHeight=<height>[&watermark=<watermark_manifest_string>]'`. */\n      image?: string;\n  }\n  /** @oneof */\n  interface MediaItemItemOneOf {\n      /** The image's Wix media URL in the following format: `'wix:image://v1/<uri>/<filename>#originWidth=<width>&originHeight=<height>[&watermark=<watermark_manifest_string>]'`. */\n      image?: string;\n  }\n  interface V2Category {\n      /** Category ID. */\n      _id?: string;\n      /**\n       * Category name.\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Order of a category within a category list.\n       * @readonly\n       */\n      sortOrder?: number | null;\n  }\n  interface Form {\n      /**\n       * ID of the form associated with the service.\n       * Form information submitted when booking, including contact details, participants, and other form fields, set up for the service.\n       */\n      _id?: string;\n      /**\n       * Settings that apply to the service booking form on mobile clients.\n       * @internal\n       */\n      mobileSettings?: FormSettings;\n  }\n  interface FormSettings {\n      /** Whether the service booking form should be hidden from the site. */\n      hidden?: boolean | null;\n  }\n  interface Payment extends PaymentRateOneOf {\n      /**\n       * The details for the fixed price of the service.\n       *\n       * Required when: `rateType` is `FIXED`\n       */\n      fixed?: FixedPayment;\n      /**\n       * The details for the custom price of the service.\n       *\n       * Required when: `rateType` is `CUSTOM`\n       */\n      custom?: CustomPayment;\n      /**\n       * The details for the varied pricing of the service.\n       * Read more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n       *\n       * Required when: `rateType` is `VARIED`\n       */\n      varied?: VariedPayment;\n      /**\n       * The rate the customer is expected to pay for the service.\n       * Can be:\n       * - `FIXED`: The service has a fixed price.\n       * - `CUSTOM`: The service has a custom price, expressed as a price description.\n       * - `VARIED`: This service is offered with a set of different prices based on different terms.\n       * - `NO_FEE`: This service is offered free of charge.\n       */\n      rateType?: RateType;\n      /** The payment options a customer can use to pay for the service. */\n      options?: PaymentOptions;\n      /**\n       * IDs of pricing plans that can be used as payment for the service.\n       * @readonly\n       */\n      pricingPlanIds?: string[];\n  }\n  /** @oneof */\n  interface PaymentRateOneOf {\n      /**\n       * The details for the fixed price of the service.\n       *\n       * Required when: `rateType` is `FIXED`\n       */\n      fixed?: FixedPayment;\n      /**\n       * The details for the custom price of the service.\n       *\n       * Required when: `rateType` is `CUSTOM`\n       */\n      custom?: CustomPayment;\n      /**\n       * The details for the varied pricing of the service.\n       * Read more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n       *\n       * Required when: `rateType` is `VARIED`\n       */\n      varied?: VariedPayment;\n  }\n  enum RateType {\n      UNKNOWN_RATE_TYPE = \"UNKNOWN_RATE_TYPE\",\n      /** The service has a fixed price. */\n      FIXED = \"FIXED\",\n      /** The service has a custom price, expressed as a price description. */\n      CUSTOM = \"CUSTOM\",\n      /** This service is offered with a set of different prices based on different terms. */\n      VARIED = \"VARIED\",\n      /** This service is offered free of charge. */\n      NO_FEE = \"NO_FEE\"\n  }\n  interface FixedPayment {\n      /**\n       * The fixed price required to book the service.\n       *\n       * Required when: `rateType` is `FIXED`\n       */\n      price?: CommonMoney;\n      /**\n       * The deposit price required to book the service.\n       *\n       * Required when: `rateType` is `FIXED` and `paymentOptions.deposit` is `true`\n       */\n      deposit?: CommonMoney;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface CommonMoney {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /**\n       * Currency code. Must be valid ISO 4217 currency code (e.g., USD).\n       * @readonly\n       */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface CustomPayment {\n      /** A custom description explaining to the customer how to pay for the service. */\n      description?: string | null;\n  }\n  interface VariedPayment {\n      /** The default price for the service without any variants. It will also be used as the default price for any new variant. */\n      defaultPrice?: CommonMoney;\n      /**\n       * The deposit price required to book the service.\n       *\n       * Required when: `rateType` is `VARIED` and `paymentOptions.deposit` is `true`\n       */\n      deposit?: CommonMoney;\n      /**\n       * The minimal price a customer may pay for this service, based on its variants.\n       * @readonly\n       */\n      minPrice?: CommonMoney;\n      /**\n       * The maximum price a customer may pay for this service, based on its variants.\n       * @readonly\n       */\n      maxPrice?: CommonMoney;\n  }\n  interface PaymentOptions {\n      /**\n       * Customers can pay for the service online.\n       * When `true`:\n       * + `rateType` must be either `FIXED` or `VARIED`.\n       * + `fixed.price` or `varied.default_price` must be specified respectively. Read more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online).\n       */\n      online?: boolean | null;\n      /** Customers can pay for the service in person. */\n      inPerson?: boolean | null;\n      /**\n       * This service requires a deposit to be made online in order to book it.\n       * When `true`:\n       * + `rateType` must be `VARIED` or `FIXED`.\n       * + A `deposit` must be specified.\n       */\n      deposit?: boolean | null;\n      /** Customers can pay for the service using a pricing plan. */\n      pricingPlan?: boolean | null;\n  }\n  interface OnlineBooking {\n      /**\n       * Whether this service can be booked online.\n       * When set to `true`, customers can book the service online. Configuring the payment options is done via `service.payment` property.\n       * When set to `false`, customers cannot book the service online, and the service can only be paid for in person.\n       */\n      enabled?: boolean | null;\n      /** Booking the service requires approval by the business owner. */\n      requireManualApproval?: boolean | null;\n      /** Multiple customers can request to book the same time slot. Relevant when `requireManualApproval` is `true`. */\n      allowMultipleRequests?: boolean | null;\n  }\n  interface Conferencing {\n      /** Whether a conference link is generated for the service's sessions. */\n      enabled?: boolean | null;\n  }\n  interface Location$3 extends LocationOptionsOneOf {\n      /** The service is offered at the referenced business location, the location has to reference a location from the Business Info [Locations API](https://dev.wix.com/api/rest/business-info/locations). */\n      business?: BusinessLocationOptions;\n      /** The service is offered at a custom location. */\n      custom?: CustomLocationOptions;\n      /**\n       * A reflection of the id of the location.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * The type of location:\n       * - `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n       * - `BUSINESS`: A business location, as defined for the by the Business Info [Locations API](https://www.wix.com/velo/reference/wix-business-tools-v2/locations).\n       * - `CUSTOMER`: Will be determined by the customer. For appointments only.\n       */\n      type?: LocationType$3;\n      /**\n       * The location address, based on the location `type`. If `type` is `CUSTOMER`, this address is empty.\n       * @readonly\n       */\n      calculatedAddress?: Address$4;\n  }\n  /** @oneof */\n  interface LocationOptionsOneOf {\n      /** The service is offered at the referenced business location, the location has to reference a location from the Business Info [Locations API](https://dev.wix.com/api/rest/business-info/locations). */\n      business?: BusinessLocationOptions;\n      /** The service is offered at a custom location. */\n      custom?: CustomLocationOptions;\n  }\n  enum LocationType$3 {\n      UNKNOWN_LOCATION_TYPE = \"UNKNOWN_LOCATION_TYPE\",\n      /** The location is unique to this service and isn't defined as one of the business locations. `CUSTOM` is the equivalent of the `OWNER_CUSTOM` location type in [Schedules & Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions). */\n      CUSTOM = \"CUSTOM\",\n      /** The location is one of the business locations available using the Business Info [Locations API](https://dev.wix.com/api/rest/business-info/locations). */\n      BUSINESS = \"BUSINESS\",\n      /** The location can be determined by the customer and is not set up beforehand. This is applicable to services of type `APPOINTMENT` only. */\n      CUSTOMER = \"CUSTOMER\"\n  }\n  interface Address$4 extends AddressStreetOneOf$3 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$3;\n      addressLine1?: string | null;\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Full address of the location. */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$3;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$3 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$3;\n      addressLine?: string | null;\n  }\n  /** Street address. Includes street name, number, and apartment number in separate fields. */\n  interface StreetAddress$3 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation$3 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface BusinessLocationOptions {\n      /** Business location ID. */\n      _id?: string;\n      /**\n       * Business location name.\n       * @readonly\n       */\n      name?: string;\n      /**\n       * Whether this is the default location. There can only be 1 default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean | null;\n      /**\n       * Business location address. The address is derived from the business location and is read-only.\n       * @readonly\n       */\n      address?: Address$4;\n      /**\n       * Business location email\n       * @readonly\n       */\n      email?: string | null;\n      /**\n       * Business location phone\n       * @readonly\n       */\n      phone?: string | null;\n  }\n  interface CustomLocationOptions {\n      /**\n       * A constant id for the custom location.\n       * @readonly\n       */\n      _id?: string;\n      /** A custom address for the location. */\n      address?: Address$4;\n  }\n  /**\n   * `BookingPolicy` is the main entity of `BookingPolicyService` and specifies a set of rules for booking a service\n   * by visitors and members.\n   *\n   * Each `BookingPolicy` consists of a number of sub-policies. When the Bookings App is provisioned to a meta site then a\n   * default `BookingPolicy` will be created with defaults for each of these sub-policies. This also applies when a request\n   * is received to create a new `BookingPolicy` and one or more of these sub-policies are not provided.\n   *\n   * Sub-policies are defined in separate objects as specified below.\n   *\n   * - The `LimitEarlyBookingPolicy` object defines the policy for limiting early bookings.\n   * - The `LimitLateBookingPolicy` object defines the policy for limiting late bookings.\n   * - The `BookAfterStartPolicy` object defines the policy for booking after the start of the schedule.\n   * - The `CancellationPolicy` object defines the policy for canceling a booked entity.\n   * - The `ReschedulePolicy` object defines the policy for rescheduling booked entity.\n   * - The `WaitlistPolicy` object defines the policy for a waitlist.\n   * - The `ParticipantsPolicy` object defines the policy regarding the participants per booking.\n   * - The `ResourcesPolicy` object defines the policy regarding the resources per booking.\n   * - The `CancellationFeePolicy` object defines the policy regarding cancellation fees.\n   * - The `SaveCreditCardPolicy` object defines the policy for saving credit card details.\n   *\n   * By default each sub-policy is disabled. A more detailed specification of the default settings of each sub-policy\n   * can be found in the description of the corresponding object.\n   *\n   * Partial updates are supported on the main entity level, however in order to update a sub-policy the client needs to provide the whole sub-policy object.\n   */\n  interface BookingPolicy$1 {\n      /** The ID to the policy for the booking. */\n      _id?: string;\n      /**\n       * Revision number, which increments by 1 each time the policy is updated. To prevent conflicting changes, the existing revision must be used when updating a policy. Can be empty after the service was cloned as part of site clone.\n       * @internal\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the policy was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the policy was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Name of the policy.\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Custom description for the policy. This policy is displayed to the participant.\n       * @readonly\n       */\n      customPolicyDescription?: PolicyDescription$1;\n      /**\n       * Whether the policy is the default for the meta site.\n       * @readonly\n       */\n      default?: boolean | null;\n      /**\n       * Policy for limiting early bookings.\n       * @readonly\n       */\n      limitEarlyBookingPolicy?: LimitEarlyBookingPolicy$1;\n      /**\n       * Policy for limiting late bookings.\n       * @readonly\n       */\n      limitLateBookingPolicy?: LimitLateBookingPolicy$1;\n      /**\n       * Policy on booking an entity after the start of the schedule.\n       * @readonly\n       */\n      bookAfterStartPolicy?: BookAfterStartPolicy$1;\n      /**\n       * Policy for canceling a booked entity.\n       * @readonly\n       */\n      cancellationPolicy?: CancellationPolicy$1;\n      /**\n       * Policy for rescheduling a booked entity.\n       * @readonly\n       */\n      reschedulePolicy?: ReschedulePolicy$1;\n      /**\n       * Waitlist policy for the service.\n       * @readonly\n       */\n      waitlistPolicy?: WaitlistPolicy$1;\n      /**\n       * Policy regarding the participants per booking.\n       * @readonly\n       */\n      participantsPolicy?: ParticipantsPolicy$1;\n      /**\n       * Policy for allocating resources.\n       * @readonly\n       */\n      resourcesPolicy?: ResourcesPolicy$1;\n      /**\n       * Rules for cancellation fees.\n       * @readonly\n       */\n      cancellationFeePolicy?: CancellationFeePolicy$1;\n      /**\n       * Rule for saving credit card.\n       * @readonly\n       */\n      saveCreditCardPolicy?: SaveCreditCardPolicy$1;\n  }\n  /** A description of the policy to display to participants. */\n  interface PolicyDescription$1 {\n      /**\n       * Whether the description should be displayed. If `true`, the description is displayed.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * The description to display.\n       *\n       * Default: Empty\n       * Max length: 2500 characters\n       */\n      description?: string;\n  }\n  /** The policy for limiting early bookings. */\n  interface LimitEarlyBookingPolicy$1 {\n      /**\n       * Whether there is a limit on how early a customer\n       * can book. When `false`, there is no limit on the earliest\n       * booking time and customers can book in advance, as early as they like.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Maximum number of minutes before the start of the session that a booking can be made. This value must be greater\n       * than `latest_booking_in_minutes` in the `LimitLateBookingPolicy` policy.\n       *\n       * Default: 10080 minutes (7 days)\n       * Min: 1 minute\n       */\n      earliestBookingInMinutes?: number;\n  }\n  /**\n   * The policy for limiting late bookings.\n   *\n   * This policy and the `BookAfterStartPolicy` policy cannot be enabled at the same time. So if this policy\n   * is enabled, `BookAfterStartPolicy` must be disabled.\n   */\n  interface LimitLateBookingPolicy$1 {\n      /**\n       * Whether there is a limit on how late a customer\n       * can book. When `false`, there is no limit on the latest\n       * booking time and customers can book up to the last minute.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Minimum number of minutes before the start of the session that a booking can be made.\n       * For a schedule, this is relative to the start time of the next booked session, excluding past-booked sessions.\n       * This value must be less than `earliest_booking_in_minutes` in the `LimitEarlyBookingPolicy` policy.\n       *\n       * Default: 1440 minutes (1 day)\n       * Min: 1 minute\n       */\n      latestBookingInMinutes?: number;\n  }\n  /**\n   * The policy for whether a session can be booked after the start of the schedule.\n   * This policy and `LimitLateBookingPolicy` cannot be enabled at the same time. So if this policy\n   * is enabled, the `LimitLateBookingPolicy` policy must be disabled.\n   */\n  interface BookAfterStartPolicy$1 {\n      /**\n       * Whether booking is allowed after the start of the schedule. When `true`,\n       * customers can book after the start of the schedule.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n  }\n  /** The policy for canceling a booked session. */\n  interface CancellationPolicy$1 {\n      /**\n       * Whether canceling a booking is allowed. When `true`, customers\n       * can cancel the booking.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Whether there is a limit on the latest cancellation time. When `true`,\n       * a time limit is enforced.\n       *\n       * Default: `false`\n       */\n      limitLatestCancellation?: boolean;\n      /**\n       * Minimum number of minutes before the start of the booked session that the booking can be canceled.\n       *\n       * Default: 1440 minutes (1 day)\n       * Min: 1 minute\n       */\n      latestCancellationInMinutes?: number;\n  }\n  /** The policy for rescheduling a booked session. */\n  interface ReschedulePolicy$1 {\n      /**\n       * Whether rescheduling a booking is allowed. When `true`, customers\n       * can reschedule the booking.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Whether there is a limit on the latest reschedule time. When `true`,\n       * a time limit is enforced.\n       *\n       * Default: `false`\n       */\n      limitLatestReschedule?: boolean;\n      /**\n       * Minimum number of minutes before the start of the booked session that the booking can be rescheduled.\n       *\n       * Default: 1440 minutes (1 day)\n       * Min: 1 minute\n       */\n      latestRescheduleInMinutes?: number;\n  }\n  /** The policy for the waitlist. */\n  interface WaitlistPolicy$1 {\n      /**\n       * Whether the session has a waitlist. If `true`, there is a waitlist.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Number of spots available in the waitlist.\n       *\n       * Default: 10 spots\n       * Min: 1 spot\n       */\n      capacity?: number;\n      /**\n       * Amount of time a participant is given to book, once notified that a spot is available.\n       *\n       * Default: 10 minutes\n       * Min: 1 spot\n       */\n      reservationTimeInMinutes?: number;\n  }\n  /** The policy for the maximum number of participants per booking. */\n  interface ParticipantsPolicy$1 {\n      /**\n       * Whether the maximum number of participants applies. When `false`, there is\n       * no maximum.\n       *\n       * Default: `false`\n       * Private because not limiting participants per booking is not supported by Bookings flows today\n       * @internal\n       */\n      enabled?: boolean;\n      /**\n       * Maximum number of participants allowed.\n       *\n       * Default: 1 participant\n       * Min: 1 participant\n       */\n      maxParticipantsPerBooking?: number;\n  }\n  /** The policy regarding the allocation of resources (e.g. staff members). */\n  interface ResourcesPolicy$1 {\n      /**\n       * `true` if this policy is enabled, `false` otherwise.\n       * When `false` then the client must always select a resource when booking an appointment.\n       */\n      enabled?: boolean;\n      /**\n       * `true`, if it is allowed to automatically assign a resource when booking an appointment,\n       * `false`, if the client must always select a resource.\n       *\n       * Default: `false`\n       */\n      autoAssignAllowed?: boolean;\n  }\n  interface CancellationFeePolicy$1 {\n      /**\n       * Whether canceling a booking will result in a cancellation fee\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /** Cancellation windows describing the time of cancellation and the fee to charge. */\n      cancellationWindows?: CancellationWindow$1[];\n      /**\n       * Whether the cancellation fee should not be automatically collected when customer cancels the booking.\n       *\n       * Default: `true`\n       */\n      autoCollectFeeEnabled?: boolean | null;\n  }\n  interface CancellationWindow$1 extends CancellationWindowFeeOneOf$1 {\n      /** Amount to be charged as a cancellation fee. */\n      amount?: CommonMoney;\n      /** Percentage of the original price to be charged as a cancellation fee. */\n      percentage?: string;\n      /** The fee will be applied if the booked session starts within this start time in minutes. */\n      startInMinutes?: number | null;\n  }\n  /** @oneof */\n  interface CancellationWindowFeeOneOf$1 {\n      /** Amount to be charged as a cancellation fee. */\n      amount?: CommonMoney;\n      /** Percentage of the original price to be charged as a cancellation fee. */\n      percentage?: string;\n  }\n  interface SaveCreditCardPolicy$1 {\n      /** Default: `false` */\n      enabled?: boolean;\n  }\n  interface Schedule$1 {\n      /**\n       * Schedule ID, used to manage the service's sessions.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Start time of the first session in the schedule. For courses only.\n       * @readonly\n       */\n      firstSessionStart?: Date | null;\n      /**\n       * End time of the last session in the schedule. For courses only.\n       * @readonly\n       */\n      lastSessionEnd?: Date | null;\n      /** Limitations dictating the way session availability is calculated. For appointments only. */\n      availabilityConstraints?: AvailabilityConstraints$1;\n  }\n  interface AvailabilityConstraints$1 {\n      /**\n       * A list of duration options for sessions, in minutes.\n       *\n       * The availability calculation generates slots for sessions with these durations, unless there is a conflict with existing sessions or other availability constraints exist.\n       * Required for services of type `APPOINTMENT` to allow the customer to book a session of the service. Not relevant for other service types.\n       *\n       *\n       * Min: 1 minute, Max: 30 days, 23 hours, and 59 minutes\n       */\n      sessionDurations?: number[];\n      /**\n       * The number of minutes between the end of a session and the start of the next.\n       *\n       *\n       * Min: 0 minutes\n       * Max: 720 minutes\n       */\n      timeBetweenSessions?: number;\n  }\n  interface StaffMember$1 {\n      /**\n       * ID of the staff member providing the service, can be used to retrieve resource information using wix-bookings-backend resources API.\n       * @readonly\n       */\n      staffMemberId?: string;\n      /**\n       * Name of the staff member\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Main media associated with the service.\n       * @readonly\n       */\n      mainMedia?: StaffMediaItem;\n  }\n  interface StaffMediaItem extends StaffMediaItemItemOneOf {\n      /** Details of the image associated with the staff, such as URL and size. */\n      image?: string;\n  }\n  /** @oneof */\n  interface StaffMediaItemItemOneOf {\n      /** Details of the image associated with the staff, such as URL and size. */\n      image?: string;\n  }\n  interface StaffMemberDetails {\n      /** Staff members providing the service. For appointments only. */\n      staffMembers?: StaffMember$1[];\n  }\n  interface ResourceGroup {\n      /**\n       * An optional resource group id, if provided it references a resource group in the resource groups API.\n       * TODO - referenced_entity annotation\n       */\n      resourceGroupId?: string | null;\n      /**\n       * Resource ids, each referencing a resource in resources API. may be a subset of resources within a resource group.\n       * TODO - referenced_entity annotation\n       */\n      resourceIds?: ResourceIds;\n      /**\n       * How many resources of the group / resource ids are required in order to book the service.\n       * Defaults to 1.\n       */\n      requiredResourcesNumber?: number | null;\n      /**\n       * If set to `true`, the custom can select the specific resources while booking the service.\n       * If set to `false`, the resources required for to book the service would be auto selected at the time of the booking.\n       * Defaults to false.\n       * @readonly\n       */\n      selectableResource?: boolean | null;\n  }\n  interface ResourceIds {\n      /** Values of the resource ids. TODO - referenced_entity annotation */\n      values?: string[];\n  }\n  interface ServiceResource extends ServiceResourceSelectionOneOf {\n      /** Resource ids, each referencing a resource in resources API. Must be a subset of resources within the selected resource type. */\n      resourceIds?: ResourceIds;\n      /** The unique identifier for the service resource, if not provided, would default to the resource type id. */\n      _id?: string | null;\n      /** Service resource type data. */\n      resourceType?: ResourceType;\n      /**\n       * How many resources of the are required in order to book the service.\n       * Defaults to 1.\n       */\n      requiredResourcesNumber?: number | null;\n      /**\n       * If set to `true`, the customer can select the specific resources while booking the service.\n       * If set to `false`, the resources required for to book the service would be auto selected at the time of the booking.\n       * Defaults to false.\n       * @readonly\n       */\n      selectableResource?: boolean | null;\n  }\n  /** @oneof */\n  interface ServiceResourceSelectionOneOf {\n      /** Resource ids, each referencing a resource in resources API. Must be a subset of resources within the selected resource type. */\n      resourceIds?: ResourceIds;\n  }\n  interface ResourceType {\n      /** The type of the resource. */\n      _id?: string | null;\n      /**\n       * The name of the resource type.\n       * @readonly\n       */\n      name?: string | null;\n  }\n  interface Slug {\n      /** The unique part of service's URL that identifies the service's information page. For example, `service-1` in `https:/example.com/services/service-1`. */\n      name?: string;\n      /**\n       * Whether the slug was generated or customized. If `true`, the slug was customized manually by the business owner. Otherwise, the slug was automatically generated from the service name.\n       * @readonly\n       */\n      custom?: boolean | null;\n      /**\n       * Date and time the slug was created. This is a system field.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  interface URLs {\n      /**\n       * The URL for the service page.\n       * @readonly\n       */\n      servicePage?: string;\n      /**\n       * The URL for the booking entry point. It can be either to the calendar or to the service page.\n       * @readonly\n       */\n      bookingPage?: string;\n      /**\n       * The URL for the calendar. Can be empty if no calendar exists.\n       * @readonly\n       */\n      calendarPage?: string;\n  }\n  interface ExtendedFields$4 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  /**\n   * Message for reindexing search data to a given search schema. Support both upsert and delete flows as well as\n   * performs context manipulation with adding tenant, provided in message to callscope.\n   */\n  interface ReindexMessage extends ReindexMessageActionOneOf {\n      upsert?: Upsert;\n      delete?: Delete;\n      entityFqdn?: string;\n      tenantId?: string;\n      eventTime?: Date | null;\n      entityEventSequence?: string | null;\n      schema?: Schema;\n  }\n  /** @oneof */\n  interface ReindexMessageActionOneOf {\n      upsert?: Upsert;\n      delete?: Delete;\n  }\n  interface Upsert {\n      entityId?: string;\n      entityAsJson?: string;\n  }\n  interface Delete {\n      entityId?: string;\n  }\n  interface Schema {\n      label?: string;\n      clusterName?: string;\n  }\n  interface SetCustomSlugEvent {\n      /** The main slug for the service after the update */\n      mainSlug?: Slug;\n  }\n  interface ServicesUrlsChanged {\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$5;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CreateServiceRequest {\n      /** Service to be created. */\n      service: Service;\n  }\n  interface CreateServiceResponse {\n      /** The created service. */\n      service?: Service;\n  }\n  interface BulkCreateServicesRequest {\n      services: Service[];\n      /** `true` if the created entities must be included in the response, */\n      returnEntity?: boolean;\n      /**\n       * otherwise no entities are included in the response.\n       * @internal\n       */\n      skipScheduleCreation?: boolean;\n  }\n  interface BulkCreateServicesResponse {\n      /** The result of each service creation. */\n      results?: BulkServiceResult[];\n      /** Create statistics. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkServiceResult {\n      /** Updated service metadata. */\n      itemMetadata?: ItemMetadata$2;\n      /** The updated service. */\n      item?: Service;\n  }\n  interface ItemMetadata$2 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$2;\n  }\n  interface ApplicationError$2 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$2 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetServiceRequest {\n      serviceId: string;\n      /** @internal */\n      conditionalFields?: RequestedFields$1[];\n      /** @internal */\n      eventuallyConsistent?: boolean | null;\n  }\n  enum RequestedFields$1 {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** When passed, `service.staff_members` is returned */\n      STAFF_MEMBER_DETAILS = \"STAFF_MEMBER_DETAILS\",\n      /** When passed, `service.service_resources.resource_type.name` is */\n      RESOURCE_TYPE_DETAILS = \"RESOURCE_TYPE_DETAILS\"\n  }\n  interface GetServiceResponse {\n      /** The retrieved service. */\n      service?: Service;\n  }\n  interface GetServiceAvailabilityConstraintsRequest {\n      serviceId: string;\n  }\n  interface GetServiceAvailabilityConstraintsResponse {\n      /** The retrieved availability constraints of the service. */\n      constraints?: ServiceAvailabilityConstraints;\n  }\n  interface ServiceAvailabilityConstraints {\n      /**\n       * The booking policy.\n       * @readonly\n       */\n      bookingPolicy?: BookingPolicy$1;\n      /**\n       * The service schedule, including the schedule id and availability constraints.\n       * @readonly\n       */\n      schedule?: Schedule$1;\n      /**\n       * The locations this service is offered at.\n       * Only multiple locations of type `BUSINESS` are supported. multiple locations of type `CUSTOM` or `CUSTOMER` are not supported.\n       * For courses only: Currently, only 1 location is supported, for all location types.\n       * Use `setServiceLocations` method to change the locations this service is offered at.\n       * @readonly\n       */\n      locations?: Location$3[];\n      /**\n       * Resource groups required to book the service. For backwards compatibility only. Use `serviceResources` instead.\n       * @readonly\n       * @deprecated Resource groups required to book the service. For backwards compatibility only. Use `serviceResources` instead.\n       * @replacedBy service_resources\n       * @targetRemovalDate 2024-08-19\n       */\n      resourceGroups?: ResourceGroup[];\n      /**\n       * Resource groups required to book the service\n       * @readonly\n       */\n      serviceResources?: ServiceResource[];\n      /**\n       * The time between available slots' start times.\n       * For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc.\n       * Is applied to all schedules of the site.\n       * For appointment only.\n       * @readonly\n       */\n      slotsSplitInterval?: V1SplitInterval;\n      /**\n       * Online booking settings.\n       * @readonly\n       */\n      onlineBooking?: OnlineBooking;\n  }\n  /** The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc. */\n  interface V1SplitInterval {\n      /**\n       * Whether the slot duration is used as the split interval value.\n       * If `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n       * `schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field.\n       */\n      sameAsDuration?: boolean | null;\n      /** Number of minutes between available slots' start times when `same_as_duration` is `false`. */\n      valueInMinutes?: number | null;\n  }\n  interface UpdateServiceRequest {\n      /** Service to update. [Partial */\n      service: Service;\n      /**\n       * updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests)\n       * are supported.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateServiceResponse {\n      /** The updated service. */\n      service?: Service;\n  }\n  interface BulkUpdateServicesRequest {\n      services?: MaskedService[];\n      /** `true` if the updated entities must be included in the response, */\n      returnEntity?: boolean;\n  }\n  interface MaskedService {\n      /** Service to update. [Partial */\n      service?: Service;\n      /**\n       * updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests)\n       * are supported.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface BulkUpdateServicesResponse {\n      /** The result of each service update. */\n      results?: BulkServiceResult[];\n      /** Update statistics. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkUpdateServicesByFilterRequest {\n      /** Filter to identify the services that need to be updated. */\n      filter: Record<string, any> | null;\n      /**\n       * Service to update. [Partial\n       * updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests)\n       * are supported.\n       */\n      service: Service;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface BulkUpdateServicesByFilterResponse {\n      /** ID of the service update job. */\n      jobId?: string;\n  }\n  interface DeleteServiceRequest {\n      serviceId: string;\n      /**\n       * Whether to preserve future sessions with participants.\n       *\n       * Default: `false`\n       */\n      preserveFutureSessionsWithParticipants?: boolean;\n      /** Whether to notify participants about the change and an optional */\n      participantNotification?: ParticipantNotification$4;\n  }\n  interface ParticipantNotification$4 {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean | null;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n  }\n  interface DeleteServiceResponse {\n  }\n  interface BulkDeleteServicesRequest {\n      /** Ids of the services for deletion. */\n      ids: string[];\n      /**\n       * Whether to preserve future sessions with participants.\n       *\n       * Default: `false`.\n       */\n      preserveFutureSessionsWithParticipants?: boolean;\n      /** Whether to notify participants about the change and an optional */\n      participantNotification?: ParticipantNotification$4;\n  }\n  interface BulkDeleteServicesResponse {\n      /** The result of each service removal. */\n      results?: BulkServiceResult[];\n      /** Update statistics. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkDeleteServicesByFilterRequest {\n      /** Filter to identify the services that need to be deleted. */\n      filter: Record<string, any> | null;\n      /**\n       * Whether to preserve future sessions with participants.\n       *\n       * Default: `false`.\n       */\n      preserveFutureSessionsWithParticipants?: boolean;\n      /** Whether to notify participants about the change and an optional custom message. */\n      participantNotification?: ParticipantNotification$4;\n  }\n  interface BulkDeleteServicesByFilterResponse {\n      /** ID of the service deletion job. */\n      jobId?: string;\n  }\n  interface QueryServicesRequest {\n      /** WQL expression. */\n      query: QueryV2$2;\n      /** @internal */\n      conditionalFields?: RequestedFields$1[];\n      /** @internal */\n      eventuallyConsistent?: boolean | null;\n  }\n  interface QueryV2$2 extends QueryV2PagingMethodOneOf$2 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /**\n       * Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.\n       * @internal\n       */\n      cursorPaging?: CursorPaging$4;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       *\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`\n       *\n       * Read more about [supported fields and operators](https://dev.wix.com/api/rest/wix-bookings/services-v2/filtering-and-sorting).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"},\n       * {\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]`\n       *\n       * Read more about [sorting](https://dev.wix.com/api/rest/wix-bookings/services-v2/filtering-and-sorting#wix-bookings_services-v2_filtering-and-sorting_sorting).\n       */\n      sort?: Sorting$4[];\n      /**\n       * Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned.\n       * @internal\n       */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$2 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /**\n       * Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.\n       * @internal\n       */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface Sorting$4 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$4;\n  }\n  enum SortOrder$4 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$4 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryServicesResponse {\n      /** The retrieved services. */\n      services?: Service[];\n      /** Paging metadata, including offset and count. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$4;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$4 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface SearchServicesRequest {\n      /** WQL, search or aggregation expression. */\n      search: CursorSearch$1;\n  }\n  interface CursorSearch$1 extends CursorSearchPagingMethodOneOf$1 {\n      /**\n       * Cursor pointing to page of results.\n       * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.\n       */\n      cursorPaging?: CursorPaging$4;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting$4[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation[];\n      /** Free text to match in searchable fields */\n      search?: SearchDetails$1;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. e.g. `\"2023-12-20T10:52:34.795Z\"`\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf$1 {\n      /**\n       * Cursor pointing to page of results.\n       * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.\n       */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface Aggregation extends AggregationKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation */\n      nested?: NestedAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: AggregationType$1;\n      /** Field to aggregate by, use dot notation to specify json path */\n      fieldPath?: string;\n      /**\n       * deprecated, use `nested` instead\n       * @deprecated deprecated, use `nested` instead\n       * @replacedBy kind.nested\n       * @targetRemovalDate 2025-01-01\n       */\n      groupBy?: GroupByAggregation;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation */\n      nested?: NestedAggregation;\n  }\n  interface RangeBucket {\n      /** Inclusive lower bound of the range. Required if to is not given. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if from is not given. */\n      to?: number | null;\n  }\n  enum SortType {\n      COUNT = \"COUNT\",\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection {\n      DESC = \"DESC\",\n      ASC = \"ASC\"\n  }\n  enum MissingValues {\n      EXCLUDE = \"EXCLUDE\",\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions {\n      /** can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum ScalarType$1 {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      MIN = \"MIN\",\n      MAX = \"MAX\",\n      SUM = \"SUM\",\n      AVG = \"AVG\"\n  }\n  interface ValueAggregation extends ValueAggregationOptionsOneOf {\n      /** options for including missing values */\n      includeOptions?: IncludeMissingValuesOptions;\n      /** Should sort by number of matches or value of the field */\n      sortType?: SortType;\n      /** Should sort in ascending or descending order */\n      sortDirection?: SortDirection;\n      /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** should missing values be included or excluded from the aggregation results. Default is EXCLUDE */\n      missingValues?: MissingValues;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf {\n      /** options for including missing values */\n      includeOptions?: IncludeMissingValuesOptions;\n  }\n  enum NestedAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      VALUE = \"VALUE\",\n      RANGE = \"RANGE\",\n      SCALAR = \"SCALAR\",\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface RangeAggregation {\n      /** Range buckets */\n      buckets?: RangeBucket[];\n  }\n  interface ScalarAggregation {\n      /** Define the operator for the scalar aggregation */\n      type?: ScalarType$1;\n  }\n  interface DateHistogramAggregation {\n      /** Interval for date histogram aggregation */\n      interval?: DateHistogramAggregationInterval;\n  }\n  enum DateHistogramAggregationInterval {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval */\n      YEAR = \"YEAR\",\n      /** Monthly interval */\n      MONTH = \"MONTH\",\n      /** Weekly interval */\n      WEEK = \"WEEK\",\n      /** Daily interval */\n      DAY = \"DAY\",\n      /** Hourly interval */\n      HOUR = \"HOUR\",\n      /** Minute interval */\n      MINUTE = \"MINUTE\",\n      /** Second interval */\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: NestedAggregationType;\n      /** Field to aggregate by, use dont notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n  }\n  enum AggregationType$1 {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      VALUE = \"VALUE\",\n      RANGE = \"RANGE\",\n      SCALAR = \"SCALAR\",\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      NESTED = \"NESTED\"\n  }\n  /** nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */\n  interface NestedAggregation {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one */\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface GroupByAggregation extends GroupByAggregationKindOneOf {\n      /** Value aggregation configuration */\n      value?: ValueAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Field to aggregate by */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface GroupByAggregationKindOneOf {\n      /** Value aggregation configuration */\n      value?: ValueAggregation;\n  }\n  interface SearchDetails$1 {\n      /** Boolean search mode */\n      mode?: Mode$1;\n      /** Search term or expression */\n      expression?: string | null;\n      /** Fields to search in. If empty - server will search in own default fields */\n      fields?: string[];\n      /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum Mode$1 {\n      /** Any */\n      OR = \"OR\",\n      /** All */\n      AND = \"AND\"\n  }\n  interface SearchServicesResponse {\n      /** The retrieved services. */\n      services?: Service[];\n      /** Cursor paging metadata */\n      pagingMetadata?: CursorPagingMetadata$3;\n      /** Response aggregation data */\n      aggregationData?: AggregationData$1;\n  }\n  interface CursorPagingMetadata$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging). */\n      cursors?: Cursors$4;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface AggregationData$1 {\n      /** key = aggregation name (as derived from search request) */\n      results?: AggregationResults$1[];\n  }\n  interface ValueAggregationResult$1 {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number;\n  }\n  interface RangeAggregationResult$1 {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number;\n  }\n  interface NestedAggregationResults$1 extends NestedAggregationResultsResultOneOf$1 {\n      /** Value aggregation results */\n      values?: ValueResults$1;\n      /** Range aggregation results */\n      ranges?: RangeResults$1;\n      /** Scalar aggregation results */\n      scalar?: ScalarResult$1;\n      /** User-defined name of aggregation, matches the one provided in request */\n      name?: string;\n      /** Type of aggregation that matches result */\n      type?: AggregationType$1;\n      /** Field to aggregate by, matches the one provided in request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf$1 {\n      /** Value aggregation results */\n      values?: ValueResults$1;\n      /** Range aggregation results */\n      ranges?: RangeResults$1;\n      /** Scalar aggregation results */\n      scalar?: ScalarResult$1;\n  }\n  interface ValueResults$1 {\n      /** List of value aggregations */\n      results?: ValueAggregationResult$1[];\n  }\n  interface RangeResults$1 {\n      /** List of ranges returned in same order as requested */\n      results?: RangeAggregationResult$1[];\n  }\n  interface ScalarResult$1 {\n      /** Type of scalar aggregation */\n      type?: ScalarType$1;\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedValueAggregationResult$1 {\n      /** Value of the field */\n      value?: string;\n      /** Nested aggregations */\n      nestedResults?: NestedAggregationResults$1;\n  }\n  interface ValueResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number | null;\n  }\n  interface RangeResult {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number | null;\n  }\n  interface NestedResultsScalarResult {\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: ValueResult;\n      /** Range aggregation result */\n      range?: RangeResult;\n      /** Scalar aggregation result */\n      scalar?: NestedResultsScalarResult;\n      /** Date histogram aggregation result */\n      dateHistogram?: ValueResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: ValueResult;\n      /** Range aggregation result */\n      range?: RangeResult;\n      /** Scalar aggregation result */\n      scalar?: NestedResultsScalarResult;\n      /** Date histogram aggregation result */\n      dateHistogram?: ValueResult;\n  }\n  interface Results {\n      /** List of nested aggregations */\n      results?: Record<string, NestedResultValue>;\n  }\n  interface DateHistogramResult {\n      /** Date in ISO 8601 format */\n      value?: string;\n      /** Count of documents in the bucket */\n      count?: number;\n  }\n  interface GroupByValueResults$1 {\n      /** List of value aggregations */\n      results?: NestedValueAggregationResult$1[];\n  }\n  interface DateHistogramResults {\n      /** List of date histogram aggregations */\n      results?: DateHistogramResult[];\n  }\n  /**\n   * results of `NESTED` aggregation type in a flattened form\n   * aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults {\n      /** List of nested aggregations */\n      results?: Results[];\n  }\n  interface AggregationResults$1 extends AggregationResultsResultOneOf$1 {\n      /** Value aggregation results */\n      values?: ValueResults$1;\n      /** Range aggregation results */\n      ranges?: RangeResults$1;\n      /** Scalar aggregation results */\n      scalar?: ScalarResult$1;\n      /** Group by value aggregation results */\n      groupedByValue?: GroupByValueResults$1;\n      /** Date histogram aggregation results */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results */\n      nested?: NestedResults;\n      /** User-defined name of aggregation as derived from search request */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request */\n      type?: AggregationType$1;\n      /** Field to aggregate by as derived from search request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf$1 {\n      /** Value aggregation results */\n      values?: ValueResults$1;\n      /** Range aggregation results */\n      ranges?: RangeResults$1;\n      /** Scalar aggregation results */\n      scalar?: ScalarResult$1;\n      /** Group by value aggregation results */\n      groupedByValue?: GroupByValueResults$1;\n      /** Date histogram aggregation results */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results */\n      nested?: NestedResults;\n  }\n  interface QueryPoliciesRequest {\n      /** WQL expression. */\n      query: CursorQuery$2;\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$4[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface QueryPoliciesResponse {\n      /** The retrieved policies. */\n      bookingPolicies?: BookingPolicyWithServices[];\n      /** Paging metadata, including offset and count. */\n      pagingMetadata?: CursorPagingMetadata$3;\n  }\n  interface BookingPolicyWithServices {\n      /** The booking policy. */\n      bookingPolicy?: BookingPolicy$1;\n      services?: Service[];\n      /** Whether there are more services associated with the booking policy. */\n      hasMoreServices?: boolean | null;\n      /** The number of services associated with the booking policy. */\n      countOfServices?: number;\n  }\n  interface CountServicesRequest {\n      /** The filters for performing the count. */\n      filter?: Record<string, any> | null;\n  }\n  interface CountServicesResponse {\n      /** The number of services matching the given filter. */\n      count?: number;\n  }\n  interface QueryLocationsRequest {\n      /** The filter for the query. */\n      filter?: QueryLocationsFilter;\n  }\n  interface QueryLocationsFilter {\n      /** The filter sent to search services. */\n      services?: Record<string, any> | null;\n      /** IDs of business locations to query. */\n      businessLocationIds?: string[];\n  }\n  interface QueryLocationsResponse {\n      /** business locations on non hidden services. */\n      businessLocations?: BusinessLocations;\n      /** custom locations on non hidden services. */\n      customLocations?: CustomLocations;\n      /** customer location on non hidden services. */\n      customerLocations?: CustomerLocations;\n  }\n  interface BusinessLocations {\n      /** Whether there are any services with business locations */\n      exists?: boolean;\n      /** The retrieved locations sorted according to the Sort in Query. */\n      locations?: Location$3[];\n  }\n  interface CustomLocations {\n      /** Whether there are any services with custom location */\n      exists?: boolean;\n  }\n  interface CustomerLocations {\n      /** Whether there are any services with customer location */\n      exists?: boolean;\n  }\n  interface QueryCategoriesRequest {\n      /** The filter for the query. */\n      filter?: QueryCategoriesFilter;\n  }\n  interface QueryCategoriesFilter {\n      /** The filter sent to search services. */\n      services?: Record<string, any> | null;\n      /** IDs of categories to query. */\n      categoryIds?: string[];\n  }\n  interface QueryCategoriesResponse {\n      /** The retrieved categories. */\n      categories?: V2Category[];\n  }\n  interface QueryServicesMultiLanguageRequest {\n      /** WQL expression. */\n      query: QueryV2$2;\n      /** @internal */\n      conditionalFields?: RequestedFields$1[];\n  }\n  interface QueryServicesMultiLanguageResponse {\n      /** The retrieved services in the main language */\n      services?: Service[];\n      /** the retrieved services in the requested language according to the */\n      translatedServices?: Service[];\n      /** Paging metadata, including offset and count. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface SetServiceLocationsRequest {\n      /** ID of the service. */\n      serviceId: string;\n      /** The locations you specify replace the existing service locations. */\n      locations: Location$3[];\n      /**\n       * The action to perform on sessions currently set to a removed location. For\n       * example, move existing sessions to a new specified location.\n       */\n      removedLocationSessionsAction?: RemovedLocationSessionsAction;\n      /**\n       * Whether to notify participants about the change of location, and an\n       * optional custom message.\n       */\n      participantNotification?: ParticipantNotification$4;\n  }\n  interface RemovedLocationSessionsAction extends RemovedLocationSessionsActionActionOptionsOneOf {\n      /** Options related to the action, such as a new location to move existing sessions to. */\n      moveToLocationOptions?: MoveToNewLocationsOptions;\n      /** The action to perform on sessions currently set to a removed location. For example, move existing sessions to a new specified location. */\n      action?: Action;\n  }\n  /** @oneof */\n  interface RemovedLocationSessionsActionActionOptionsOneOf {\n      /** Options related to the action, such as a new location to move existing sessions to. */\n      moveToLocationOptions?: MoveToNewLocationsOptions;\n  }\n  enum Action {\n      UNKNOWN_ACTION_TYPE = \"UNKNOWN_ACTION_TYPE\",\n      /**\n       * Keep future sessions at their current location. This is the default.\n       * Note: The location will be set directly on the session. i.e, if the location is currently inherited from the schedule, the inheritance will be overridden.\n       */\n      KEEP_AT_CURRENT_LOCATION = \"KEEP_AT_CURRENT_LOCATION\",\n      /**\n       * Move future sessions to a new location.\n       * The new location must be specified in the availability locations to set ('SetAvailabilityLocationsRequest.locations').\n       */\n      MOVE_TO_LOCATION = \"MOVE_TO_LOCATION\",\n      /**\n       * Delete future sessions.\n       * Currently not supported.\n       */\n      DELETE = \"DELETE\"\n  }\n  interface MoveToNewLocationsOptions {\n      /** The new location to move existing sessions currently set to a removed location, used when `action` is `MOVE_TO_LOCATION`. */\n      newLocation?: Location$3;\n  }\n  interface SetServiceLocationsResponse {\n      /** The updated service with the newly set locations. */\n      service?: Service;\n  }\n  interface EnablePricingPlansForServiceRequest {\n      serviceId: string;\n      pricingPlanIds: string[];\n  }\n  interface EnablePricingPlansForServiceResponse {\n      pricingPlanIds?: string[];\n      /** The service after the pricing plans update. */\n      service?: Service;\n  }\n  interface InvalidPricingPlan {\n      /** The invalid pricing plan id. */\n      _id?: string;\n      /** The reason for the pricing plan considered as invalid */\n      message?: string;\n  }\n  interface DisablePricingPlansForServiceRequest {\n      serviceId: string;\n      pricingPlanIds?: string[];\n  }\n  interface DisablePricingPlansForServiceResponse {\n      /** The service after the pricing plans update. */\n      service?: Service;\n  }\n  interface SetCustomSlugRequest {\n      serviceId: string;\n      slugName: string;\n  }\n  interface SetCustomSlugResponse {\n      /** The new slug set as the active slug for the service. */\n      slug?: Slug;\n      /** The service after the custom slug update. */\n      service?: Service;\n  }\n  interface ValidateSlugRequest {\n      serviceId: string;\n      slugName: string;\n  }\n  interface ValidateSlugResponse {\n      /** Whether the requested slug name is valid. */\n      valid?: boolean;\n      slugName?: string | null;\n      /**\n       * be set as a slug for the service and is populated with the requested\n       * slug. Otherwise, `slugName` is empty.\n       * If the slug is invalid, this field is populated with the reasons why the\n       * slug is invalid. Validation errors may include `SLUG_IS_TOO_LONG`,\n       * `SLUG_CONTAIN_ILLEGAL_CHARACTERS`, and `SLUG_ALREADY_EXISTS`.\n       */\n      errors?: InvalidSlugError[];\n  }\n  enum InvalidSlugError {\n      UNKNOWN_SLUG_ERROR = \"UNKNOWN_SLUG_ERROR\",\n      /** The provided slug name contains illegal characters. */\n      SLUG_CONTAINS_ILLEGAL_CHARACTERS = \"SLUG_CONTAINS_ILLEGAL_CHARACTERS\",\n      /** The provided slug name already exists for another service. */\n      SLUG_ALREADY_EXISTS = \"SLUG_ALREADY_EXISTS\"\n  }\n  interface CloneServiceRequest {\n      sourceServiceId: string;\n      /** copy recurring sessions of an active service's schedule */\n      copyRecurringSessions?: boolean;\n      /** copy benefits with pricing plans that are connected to the source */\n      copyPricingPlans?: boolean;\n      /**\n       * service. If the source service is connected to more than 120\n       * benefits with pricing plans then they will not be copied. In that\n       * case the field `error_types` in the response will include\n       * `PRICING_PLANS`.\n       */\n      hideService?: boolean | null;\n      /** copy this value from the source service without overriding it */\n      cloneServiceName?: string | null;\n  }\n  interface CloneServiceResponse {\n      /** Cloned service */\n      service?: Service;\n      /** List of entity types that we failed to clone */\n      errors?: CloneErrors[];\n  }\n  enum CloneErrors {\n      UNKNOWN_CLONE_ERROR = \"UNKNOWN_CLONE_ERROR\",\n      /** Failed to clone sessions of active service's schedule */\n      SESSIONS = \"SESSIONS\",\n      /** Failed to clone service's options and variants even though source service have them */\n      OPTIONS_AND_VARIANTS = \"OPTIONS_AND_VARIANTS\",\n      /** Failed to clone service's form */\n      FORM = \"FORM\",\n      /** Failed to clone pricing plans connected to the source service */\n      PRICING_PLANS = \"PRICING_PLANS\"\n  }\n  /** An event sent every time a category entity is changed. */\n  interface CategoryNotification {\n      category?: Category;\n      event?: Event;\n  }\n  /** Categories are used to group multiple services together. A service must be associated with a category in order to be exposed in the Wix Bookings UI. */\n  interface Category {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Category name. */\n      name?: string | null;\n      /**\n       * Custom properties that can be associated with the category.\n       * @internal\n       */\n      customProperties?: Record<string, string>;\n      /**\n       * Category status.\n       *\n       * Supported values:\n       * - `\"CREATED\"`: The category is created.\n       * - `\"DELETED\"`: The category is deleted.\n       *\n       * Default: `\"CREATED\"`\n       * @readonly\n       */\n      status?: Status$1;\n      /** Sort order of the category in the Dashboard. */\n      sortOrder?: number | null;\n  }\n  enum Status$1 {\n      /** The category is created. */\n      CREATED = \"CREATED\",\n      /** The category is deleted. */\n      DELETED = \"DELETED\"\n  }\n  enum Event {\n      Updated = \"Updated\",\n      Deleted = \"Deleted\",\n      Created = \"Created\"\n  }\n  interface Empty$2 {\n  }\n  interface ScheduleNotification$1 extends ScheduleNotificationEventOneOf$1 {\n      scheduleCreated?: ScheduleCreated$1;\n      scheduleUpdated?: ScheduleUpdated$1;\n      scheduleCancelled?: ScheduleCancelled$1;\n      sessionCreated?: SessionCreated$1;\n      sessionUpdated?: SessionUpdated$1;\n      sessionCancelled?: SessionCancelled$1;\n      availabilityPolicyUpdated?: AvailabilityPolicyUpdated$1;\n      /** @deprecated */\n      intervalSplit?: IntervalSplit$1;\n      recurringSessionSplit?: RecurringSessionSplit$1;\n      /**\n       * Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead.\n       * @deprecated\n       */\n      scheduleUnassignedFromUser?: ScheduleUnassignedFromUser$1;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      multipleSessionsCreated?: MultipleSessionsCreated$1;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      migrationEvent?: MigrationEvent$1;\n      preserveFutureSessionsWithParticipants?: boolean | null;\n      /**\n       * Whether to notify participants about changed sessions. deprecated, use participant_notification\n       * @deprecated\n       */\n      notifyParticipants?: boolean;\n      /** site properties. Optional. Given in create schedule notification. */\n      siteProperties?: SitePropertiesOnScheduleCreation$1;\n      instanceId?: string;\n      /**\n       * true when the schedule belongs to a site that is rolled out to calendar v3\n       * @internal\n       */\n      rolledOut?: boolean | null;\n  }\n  /** @oneof */\n  interface ScheduleNotificationEventOneOf$1 {\n      scheduleCreated?: ScheduleCreated$1;\n      scheduleUpdated?: ScheduleUpdated$1;\n      scheduleCancelled?: ScheduleCancelled$1;\n      sessionCreated?: SessionCreated$1;\n      sessionUpdated?: SessionUpdated$1;\n      sessionCancelled?: SessionCancelled$1;\n      availabilityPolicyUpdated?: AvailabilityPolicyUpdated$1;\n      /** @deprecated */\n      intervalSplit?: IntervalSplit$1;\n      recurringSessionSplit?: RecurringSessionSplit$1;\n      /**\n       * Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead.\n       * @deprecated\n       */\n      scheduleUnassignedFromUser?: ScheduleUnassignedFromUser$1;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      multipleSessionsCreated?: MultipleSessionsCreated$1;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      migrationEvent?: MigrationEvent$1;\n  }\n  interface ScheduleCreated$1 {\n      schedule?: V1Schedule;\n  }\n  interface V1Schedule {\n      /** Schedule ID. */\n      _id?: string;\n      /** ID of the schedule's owner entity. This may be a resource ID or a service ID. */\n      scheduleOwnerId?: string | null;\n      /**\n       * Start time of the first session in the schedule.\n       * @internal\n       * @readonly\n       */\n      firstSessionStart?: Date | null;\n      /**\n       * End time of the last session in the schedule.\n       * @internal\n       * @readonly\n       */\n      lastSessionEnd?: Date | null;\n      /**\n       * Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\n       * Derived from the Wix Business time zone.\n       * @readonly\n       */\n      timeZone?: string | null;\n      /**\n       * Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead.\n       * @deprecated\n       */\n      intervals?: RecurringInterval$1[];\n      /** Default title for the schedule's sessions. Maximum length: 6000 characters. */\n      title?: string | null;\n      /**\n       * __Deprecated.__\n       * Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\n       * The Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags.\n       * @deprecated\n       */\n      tags?: string[] | null;\n      /** Default location for the schedule's sessions. */\n      location?: V1Location;\n      /**\n       * Maximum number of participants that can be added to the schedule's sessions.\n       * Must be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app.\n       */\n      capacity?: number | null;\n      /**\n       * Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead.\n       * @deprecated\n       */\n      rate?: Rate$1;\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      availability?: Availability$1;\n      /**\n       * Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes.\n       * @readonly\n       */\n      totalNumberOfParticipants?: number;\n      /**\n       * *Partial list** of participants which are registered to sessions in this schedule.\n       * Participants who are registered in the schedule are automatically registered to any session that is created for the schedule.\n       * To retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings).\n       * @readonly\n       */\n      participants?: Participant$1[];\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      externalCalendarOverrides?: ExternalCalendarOverrides$1;\n      /**\n       * Schedule status.\n       * @readonly\n       */\n      status?: ScheduleStatus$1;\n      /**\n       * Schedule creation date.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Schedule last update date.\n       * @readonly\n       */\n      updated?: Date | null;\n      /**\n       * Schedule version number, updated each time the schedule is updated.\n       * @readonly\n       */\n      version?: number;\n      /**\n       * The schedule version, updated each time the schedule or the schedule participants are updated.\n       * @internal\n       * @readonly\n       */\n      versions?: Version$1;\n      /**\n       * Fields which were inherited from the Business Info page under Settings in the Dashboard.\n       * @readonly\n       */\n      inheritedFields?: string[];\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      conferenceProvider?: ConferenceProvider$1;\n      /**\n       * A conference created for the schedule. This is used when a participant is added to a schedule.\n       * **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.\n       * @deprecated\n       */\n      calendarConference?: CalendarConference$1;\n      /**\n       * The name of the schedule owner. It may be a resource name or a service name. Optional.\n       * @internal\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the schedule owner. Optional.\n       * Currently, in Bookings system, it would be present when the schedule is owned by a staff resource and the resource is connected to a user.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  interface RecurringInterval$1 {\n      /**\n       * The recurring interval identifier.\n       * @readonly\n       */\n      _id?: string;\n      /** The start time of the recurring interval. Required. */\n      start?: Date | null;\n      /** The end time of the recurring interval. Optional. Empty value indicates that there is no end time. */\n      end?: Date | null;\n      /** The interval rules. The day, hour and minutes the interval is recurring. */\n      interval?: Interval$1;\n      /** The frequency of the interval. Optional. The default is frequency with the default repetition. */\n      frequency?: Frequency$1;\n      /** Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval. */\n      affectedSchedules?: LinkedSchedule$1[];\n      /** The type of recurring interval. */\n      intervalType?: RecurringIntervalType$1;\n  }\n  interface Interval$1 {\n      /** The day the interval accrue. Optional. The default is the day of the recurring interval's start time. */\n      daysOfWeek?: Day$1;\n      /** The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23. */\n      hourOfDay?: number | null;\n      /** The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59. */\n      minuteOfHour?: number | null;\n      /** The duration of the interval in minutes. Required. Part of the session end time calculation. */\n      duration?: number;\n  }\n  enum Day$1 {\n      /** Undefined. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface Frequency$1 {\n      /** The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52. */\n      repetition?: number | null;\n  }\n  interface LinkedSchedule$1 {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /**\n       * Sets this schedule's availability for the duration of the linked schedule's sessions.  Default is `\"BUSY\"`.\n       * If set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\n       * If set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n       */\n      transparency?: Transparency$1;\n      /**\n       * Owner ID, of the linked schedule.\n       * @readonly\n       */\n      scheduleOwnerId?: string;\n      /**\n       * The name of the linked schedule owner. It may be a resource name or a service name. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the linked schedule owner. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  enum Transparency$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** The schedule can have available slots during the session. */\n      FREE = \"FREE\",\n      /** The schedule cannot have available slots during the session. Default value. */\n      BUSY = \"BUSY\"\n  }\n  enum RecurringIntervalType$1 {\n      /** The default value. Sessions for this interval will be of type EVENT. */\n      UNDEFINED = \"UNDEFINED\",\n      /** A recurring interval of events */\n      EVENT = \"EVENT\",\n      /** Deprecated */\n      TIME_AVAILABILITY = \"TIME_AVAILABILITY\",\n      /** A recurring interval for availability */\n      AVAILABILITY = \"AVAILABILITY\"\n  }\n  interface V1Location {\n      /**\n       * Location type.\n       * One of:\n       * - `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"` The address as set when creating the service.\n       * - `\"CUSTOM\"` The address set for the individual session.\n       */\n      locationType?: LocationLocationType$1;\n      /**\n       * Free text address used when locationType is `OWNER_CUSTOM`.\n       * @deprecated\n       */\n      address?: string | null;\n      /** Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default. */\n      customAddress?: CommonAddress;\n      /**\n       * The Wix Business location formatted address.\n       * Valid when `locationType` is `OWNER_BUSINESS`. Defaults to the business's location.\n       * To retrieve the full location data please use the [Locations API](https://dev.wix.com/api/rest/business-info/locations).\n       * @internal\n       */\n      businessLocation?: LocationsLocation$1;\n  }\n  enum LocationLocationType$1 {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  /** Physical address */\n  interface CommonAddress extends CommonAddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: CommonStreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: CommonAddressLocation;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision$3[];\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: CommonStreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface CommonStreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface CommonAddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$3 {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface LocationsLocation$1 {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string;\n      /** Location description. */\n      description?: string | null;\n      /**\n       * Whether this is the default location. There can only be one default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Location status. Defaults to `ACTIVE`.\n       * __Notes:__\n       * - [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect the location's status.\n       * - `INACTIVE` status is currently not supported.\n       */\n      status?: LocationStatus$1;\n      /**\n       * Location type.\n       *\n       * **Note:** Currently not supported.\n       * @deprecated\n       */\n      locationType?: LocationsLocationType$1;\n      /** Fax number. */\n      fax?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Address. */\n      address?: LocationsAddress$1;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$2;\n      /**\n       * Revision number, which increments by 1 each time the location is updated.\n       * To prevent conflicting changes, the existing revision must be used when updating a location.\n       */\n      revision?: string | null;\n      /**\n       * Whether the location is archived. Archived locations can't be updated.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect its `status`.\n       * @readonly\n       */\n      archived?: boolean;\n      /** Location types. */\n      locationTypes?: LocationsLocationType$1[];\n  }\n  /** For future use */\n  enum LocationStatus$1 {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  /** For future use */\n  enum LocationsLocationType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      BRANCH = \"BRANCH\",\n      OFFICES = \"OFFICES\",\n      RECEPTION = \"RECEPTION\",\n      HEADQUARTERS = \"HEADQUARTERS\",\n      INVENTORY = \"INVENTORY\"\n  }\n  interface LocationsAddress$1 {\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. Includes street name, number, and apartment number in separate fields. */\n      streetAddress?: LocationsStreetAddress$1;\n      /** Full address of the location. */\n      formatted?: string | null;\n      /** Geographic coordinates of location. */\n      location?: LocationsAddressLocation$1;\n  }\n  /** Street address. Includes street name, number, and apartment number in separate fields. */\n  interface LocationsStreetAddress$1 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  /** Address Geolocation */\n  interface LocationsAddressLocation$1 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number | null;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number | null;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$2 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$2[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$2[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$2 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$2;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$2;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$2 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$2 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Rate$1 {\n      /**\n       * Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      labeledPriceOptions?: Record<string, Price$1>;\n      /**\n       * Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      priceText?: string | null;\n      /**\n       * Default service price. Always vailable when a service has\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Sometimes also available for services without variants.\n       * Ignored in [updates to a service](https://dev.wix.com/api/rest/wix-bookings/services/service/update-service),\n       * when either `labeled_price_options` or `price_text` is also specified.\n       * @internal\n       */\n      defaultVariedPrice?: Price$1;\n  }\n  interface Price$1 {\n      /** Required payment amount. */\n      amount?: string;\n      /** Currency in which the amount is quoted. */\n      currency?: string;\n      /** Amount of a down payment or deposit as part of the transaction. */\n      downPayAmount?: string;\n  }\n  /**\n   * <!-- Needs updating when recurrence has been tested\n   * Schedule's availability calculation is executed by the schedule's available intervals and this additional information.\n   * Schedule's available intervals are recurring intervals (defined in the schedule) minus sessions that has no more spots for bookings (including time between_slots), or schedule's sessions with open spots for bookings.-->\n   */\n  interface Availability$1 {\n      /** Date and time the schedule starts to be available for booking. */\n      start?: Date | null;\n      /** Date and time the schedule stops being available for booking. No value indicates no end time. */\n      end?: Date | null;\n      /** Other schedules that impact the availability calculation. Relevant only when there are availability constraints. */\n      linkedSchedules?: LinkedSchedule$1[];\n      /** Constraints for calculating the schedule's availability. */\n      constraints?: V1AvailabilityConstraints;\n      /**\n       * Not supported yet.\n       * A list of possible locations for the session when `use_default_location` is set to `false`. Slots are generated for each location. Only one of the possible locations can be chosen by the customer.\n       *\n       * **NOTE**: When using the `locations` parameter, the default location is not automatically included in the list.\n       * @internal\n       */\n      locations?: V1Location[];\n      /**\n       * Not supported yet.\n       * Whether the schedule's slots are only available at the schedule's default location, as set in `schedule.location`. If set to `false`, the `locations` array is used to set the possible locations of the schedule's sessions.\n       * Default is `true`.\n       * @internal\n       */\n      useDefaultLocation?: boolean | null;\n  }\n  /** Describes how to calculate the specific slots that are available for booking. */\n  interface V1AvailabilityConstraints {\n      /**\n       * A list of duration options for slots, in minutes. Minimum value for a duration is 1.\n       * The availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints.\n       */\n      slotDurations?: number[];\n      /**\n       * The number of minutes between the `end` of one slot, and the `start` of the next.\n       * Minimum value is 0, maximum value is 120.\n       */\n      timeBetweenSlots?: number;\n      /**\n       * Specify how to split the slots in intervals of minutes.\n       * This value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\n       * Optional. The default is the first duration in slot_durations field.\n       * Deprecated. Use the `split_slots_interval.value_in_minutes`.\n       * @deprecated\n       */\n      splitInterval?: number | null;\n      /**\n       * An object defining the time between available slots' start times.  For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration.\n       * @readonly\n       */\n      slotsSplitInterval?: SplitInterval$1;\n  }\n  /** The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc. */\n  interface SplitInterval$1 {\n      /**\n       * Whether the slot duration is used as the split interval value.\n       * If `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n       * `schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field.\n       */\n      sameAsDuration?: boolean | null;\n      /** Number of minutes between available slots' start times when `same_as_duration` is `false`. */\n      valueInMinutes?: number | null;\n  }\n  interface Participant$1 {\n      /** Participant ID. Currently represents the booking.id. */\n      _id?: string;\n      /** Contact ID. */\n      contactId?: string | null;\n      /** Participant's name. */\n      name?: string | null;\n      /** Participant's phone number. */\n      phone?: string | null;\n      /** Participant's email address. */\n      email?: string | null;\n      /** Group or party size. The number of people attending. Defaults to 0. Maximum is 250. */\n      partySize?: number;\n      /**\n       * Approval status for the participant.\n       * <!-- Commented out untill updateParticipant is exposed Generally the same status as the booking, unless updated using the `updateParticipant()` API. Defaults to `\"UNDEFINED\"`.-->\n       */\n      approvalStatus?: ApprovalStatus$1;\n      /**\n       * Whether the participant was inherited from the schedule, as opposed to being booked directly to the session.\n       * @readonly\n       */\n      inherited?: boolean;\n  }\n  enum ApprovalStatus$1 {\n      /** Default. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Pending business approval. */\n      PENDING = \"PENDING\",\n      /** Approved by the business. */\n      APPROVED = \"APPROVED\",\n      /** Declined by the business. */\n      DECLINED = \"DECLINED\"\n  }\n  interface ExternalCalendarOverrides$1 {\n      /** Synced title of the external calendar event. */\n      title?: string | null;\n      /** Synced description of the external calendar event. */\n      description?: string | null;\n  }\n  enum ScheduleStatus$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** The default value when the schedule is created. */\n      CREATED = \"CREATED\",\n      /** The schedule has been canceled. */\n      CANCELLED = \"CANCELLED\"\n  }\n  interface Version$1 {\n      /** Schedule version number, updated each time the schedule is updated. */\n      scheduleVersion?: number | null;\n      /** Participants version number, updated each time the schedule participants are updated. */\n      participantsVersion?: number | null;\n  }\n  interface ConferenceProvider$1 {\n      /** Conferencing provider ID */\n      providerId?: string;\n  }\n  interface CalendarConference$1 {\n      /** Wix Calendar conference ID. */\n      _id?: string;\n      /** Conference meeting ID in the provider's conferencing system. */\n      externalId?: string;\n      /**\n       * A generated id for the conference entity - Base62($providerId$accountOwnerId$conferenceId)\n       * @internal\n       */\n      conferenceId?: string | null;\n      /** Conference provider ID. */\n      providerId?: string;\n      /** URL used by the host to start the conference. */\n      hostUrl?: string;\n      /** URL used by a guest to join the conference. */\n      guestUrl?: string;\n      /** Password to join the conference. */\n      password?: string | null;\n      /** Conference description. */\n      description?: string | null;\n      /** Conference type. */\n      conferenceType?: ConferenceType$1;\n      /** ID of the account owner in the video conferencing service. */\n      accountOwnerId?: string | null;\n  }\n  enum ConferenceType$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** API-generated online meeting. */\n      ONLINE_MEETING_PROVIDER = \"ONLINE_MEETING_PROVIDER\",\n      /** User-defined meeting. */\n      CUSTOM = \"CUSTOM\"\n  }\n  interface ScheduleUpdated$1 {\n      /** The old schedule before the update. */\n      oldSchedule?: V1Schedule;\n      /** The new schedule after the update. */\n      newSchedule?: V1Schedule;\n      /**\n       * Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\n       * updating at least one of the given schedule's recurring sessions.\n       * This event is triggered by create/update/delete recurring session apis.\n       */\n      recurringSessions?: RecurringSessionsUpdated$1;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: V1ParticipantNotification;\n      /**\n       * Whether this notification was created as a result of an anonymization request, such as GDPR.\n       * An anonymized participant will have the following details:\n       * name = \"deleted\"\n       * phone = \"deleted\"\n       * email = \"deleted@deleted.com\"\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n  }\n  interface RecurringSessionsUpdated$1 {\n      /** Old schedule's recurring session list. */\n      oldRecurringSessions?: Session$1[];\n      /** New schedule's recurring session list. */\n      newRecurringSessions?: Session$1[];\n  }\n  interface Session$1 {\n      /**\n       * Session ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the schedule that the session belongs to. */\n      scheduleId?: string;\n      /**\n       * ID of the resource or service that the session's schedule belongs to.\n       * @readonly\n       */\n      scheduleOwnerId?: string | null;\n      /** Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. */\n      originalStart?: Date | null;\n      /** An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`. */\n      start?: CalendarDateTime$1;\n      /**\n       * An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\n       * If the session is a recurring session, `end` must contain a `localDateTime`.\n       */\n      end?: CalendarDateTime$1;\n      /**\n       * An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\n       * The array is inherited from the schedule and can be overridden even if the session is a recurring session.\n       */\n      affectedSchedules?: LinkedSchedule$1[];\n      /**\n       * Session title.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       */\n      title?: string | null;\n      /**\n       * __Deprecated.__\n       * Tags for the session.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       * @deprecated\n       */\n      tags?: string[] | null;\n      /**\n       * An object describing the location where the session takes place.\n       * Defaults to the schedule location.\n       * For single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`.\n       */\n      location?: V1Location;\n      /**\n       * Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       */\n      capacity?: number | null;\n      /**\n       * The remaining number of participants that can be added to the session. Read-only.\n       * Can be negative, in case the session is over capacity.\n       * @internal\n       * @readonly\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead.\n       * @deprecated\n       */\n      rate?: Rate$1;\n      /**\n       * Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\n       * If the session is a recurring session, this field must be empty.\n       */\n      timeReservedAfter?: number | null;\n      /**\n       * Additional information about the session.\n       * Notes are not supported for recurring sessions.\n       */\n      notes?: string;\n      /**\n       * The number of participants booked for the session. Read-only.\n       * Calculated as the sum of the party sizes.\n       * @readonly\n       */\n      totalNumberOfParticipants?: number;\n      /**\n       * *Partial list** list of participants booked for the session.\n       * The list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\n       * If the session is a recurring session, this field must be empty.\n       * To retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings).\n       */\n      participants?: Participant$1[];\n      /**\n       * A list of properties for which values were inherited from the schedule.\n       * This does not include participants that were inherited from the schedule.\n       * @readonly\n       */\n      inheritedFields?: string[];\n      /**\n       * Information about the external calendar, if the session originated in an external calendar.\n       * @internal\n       * @readonly\n       */\n      externalCalendarInfo?: ExternalCalendarInfo$1;\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      externalCalendarOverrides?: ExternalCalendarOverrides$1;\n      /**\n       * Session status.\n       * @readonly\n       */\n      status?: SessionStatus;\n      /**\n       * Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\n       * For exmaple, when creating a class service  with recurring sessions, you add a recurrence rule to create recurring sessions.\n       * This field is omitted for single sessions or instances of recurring sessions.\n       * Specified when the session was originally generated from a schedule recurring interval.\n       * Deprecated. Use `recurringSessionId`.\n       * @readonly\n       * @deprecated\n       */\n      recurringIntervalId?: string | null;\n      /**\n       * The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances.\n       * @readonly\n       */\n      recurringSessionId?: string | null;\n      /** Session type. */\n      type?: SessionType$1;\n      /**\n       * A conference created for the session according to the details set in the schedule's conference provider information.\n       * If the session is a recurring session, this field is inherited from the schedule.\n       * **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.\n       * @deprecated\n       */\n      calendarConference?: CalendarConference$1;\n      /**\n       * A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\n       * If the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\n       * The RRULE defines a rule for repeating a session.\n       * Supported parameters are:\n       *\n       * |Keyword|Description|Supported values|\n       * |--|--|---|\n       * |`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n       * |`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n       * |`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n       * |`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n       *\n       *\n       * For example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n       * `\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n       *\n       * <!--ORIGINAL COMMENTS:\n       * `FREQ` — The frequency with which the session should be repeated (such as DAILY or WEEKLY).\n       * Supported `WEEKLY` value is supported.\n       * INTERVAL — Works together with FREQ to specify how often the session should be repeated. For example, FREQ=WEEKLY;INTERVAL=2 means once every two weeks. Optional. Default value is 1.\n       * COUNT — The number of times this event should be repeated. Not yet supported.\n       * UNTIL — The UTC date & time until which the session should be repeated. This parameter is optional. When it is not specified, the event repeats forever.\n       * The format is a short ISO date, followed by 'T' and a short time with seconds and without milliseconds, terminated by the UTC designator 'Z'. For example, until Jan. 19th 2018 at 7:00 AM: 'UNTIL=20180119T070000Z'.\n       * BYDAY - The days of the week when the event should be repeated. Currently, only a single day is supported. This parameter is mandatory.\n       * Possible values are: MO, TU, WE, TH, FR, SA, SU\n       * Note that DTSTART and DTEND lines are not allowed in this field; session start and end times are specified in the start and end fields.\n       * **Example**: FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20200427T070000Z\n       * ORIGINAL COMMENTS-->\n       */\n      recurrence?: string | null;\n      /**\n       * A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\n       * Empty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty.\n       * @readonly\n       */\n      instanceOfRecurrence?: string | null;\n      /**\n       * The name of the schedule owner. It may be a resource name or a service name. Optional.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the schedule owner. Optional.\n       * NOT IMPLEMENTED YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n      /**\n       * The session version.\n       * Composed by the schedule, session and participants versions.\n       * @readonly\n       */\n      version?: SessionVersion$1;\n      /**\n       * The ID of the event in the new Calendar Events V3 API.\n       * @internal\n       * @readonly\n       */\n      eventId?: string | null;\n  }\n  interface CalendarDateTime$1 {\n      /**\n       * UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify  `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\n       * Required if `localDateTime` is not specified.\n       * If `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone.\n       */\n      timestamp?: Date | null;\n      /** An object containing the local date and time for the business's time zone. */\n      localDateTime?: LocalDateTime$1;\n      /**\n       * The time zone. Optional. Derived from the schedule's time zone.\n       * In case this field is associated with recurring session, this field is empty.\n       * @readonly\n       */\n      timeZone?: string | null;\n  }\n  interface LocalDateTime$1 {\n      /** Year. 4-digit format. */\n      year?: number | null;\n      /** Month number, from 1-12. */\n      monthOfYear?: number | null;\n      /** Day of the month, from 1-31. */\n      dayOfMonth?: number | null;\n      /** Hour of the day in 24-hour format, from 0-23. */\n      hourOfDay?: number | null;\n      /** Minute, from 0-59. */\n      minutesOfHour?: number | null;\n  }\n  interface ExternalCalendarInfo$1 {\n      /** The external calendar type (e.g. Google Calendar, iCal, etc). */\n      calendarType?: CalendarType$1;\n  }\n  enum CalendarType$1 {\n      UNDEFINED = \"UNDEFINED\",\n      GOOGLE = \"GOOGLE\",\n      I_CAL = \"I_CAL\",\n      /** Use `MICROSOFT` instead. */\n      OUTLOOK = \"OUTLOOK\",\n      /** Use `MICROSOFT` instead. */\n      OFFICE_365 = \"OFFICE_365\",\n      MICROSOFT = \"MICROSOFT\",\n      OTHER = \"OTHER\"\n  }\n  enum SessionStatus {\n      UNDEFINED = \"UNDEFINED\",\n      /** The session is confirmed. Default status. */\n      CONFIRMED = \"CONFIRMED\",\n      /**\n       * The session is cancelled.\n       * A cancelled session can be the cancellation of a recurring session that should no longer be displayed or a deleted single session.\n       * The ListSessions returns cancelled sessions only if 'includeDelete' flag is set to true.\n       */\n      CANCELLED = \"CANCELLED\"\n  }\n  enum SessionType$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /**\n       * The session creates an event on the calendar for the owner of the schedule that the session belongs to.\n       * Default type.\n       */\n      EVENT = \"EVENT\",\n      /** The session represents a resource's available working hours. */\n      WORKING_HOURS = \"WORKING_HOURS\",\n      /** Deprecated. please use WORKING_HOURS */\n      TIME_AVAILABILITY = \"TIME_AVAILABILITY\",\n      /** Deprecated. The session represents a resource's available hours. please use WORKING_HOURS */\n      AVAILABILITY = \"AVAILABILITY\"\n  }\n  interface SessionVersion$1 {\n      /**\n       * Schedule version number, updated each time the schedule is updated.\n       * @internal\n       */\n      scheduleVersion?: number;\n      /**\n       * Session version number, updated each time the session is updated.\n       * @internal\n       */\n      sessionVersion?: number;\n      /**\n       * Participants version number, updated each time the session participants are updated.\n       * @internal\n       */\n      participantsVersion?: number | null;\n      /** Incremental version number, which is updated on each change to the session or on changes affecting the session. */\n      number?: string | null;\n  }\n  interface V1ParticipantNotification {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n      /**\n       * Optional additional metadata.\n       * Supported only in V3 APIs.\n       * @internal\n       */\n      metadata?: Record<string, string>;\n  }\n  interface ScheduleCancelled$1 {\n      schedule?: V1Schedule;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: V1ParticipantNotification;\n      oldSchedule?: V1Schedule;\n  }\n  interface SessionCreated$1 {\n      session?: Session$1;\n  }\n  interface SessionUpdated$1 {\n      oldSession?: Session$1;\n      newSession?: Session$1;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: V1ParticipantNotification;\n      /**\n       * Whether this notification was created as a result of an anonymization request, such as GDPR.\n       * An anonymized participant will have the following details:\n       * name = \"deleted\"\n       * phone = \"deleted\"\n       * email = \"deleted@deleted.com\"\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n  }\n  interface SessionCancelled$1 {\n      session?: Session$1;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: V1ParticipantNotification;\n  }\n  interface AvailabilityPolicyUpdated$1 {\n      availabilityPolicy?: AvailabilityPolicy$1;\n  }\n  /** Availability policy applied to all site schedules. */\n  interface AvailabilityPolicy$1 {\n      /** Specify how to split the schedule slots in intervals of minutes. */\n      splitInterval?: SplitInterval$1;\n  }\n  interface IntervalSplit$1 {\n      scheduleId?: string;\n      intervals?: RecurringInterval$1[];\n      newScheduleVersion?: number | null;\n      oldScheduleVersion?: number | null;\n  }\n  interface RecurringSessionSplit$1 {\n      scheduleId?: string;\n      recurringSessions?: Session$1[];\n      newScheduleVersion?: number | null;\n      oldScheduleVersion?: number | null;\n  }\n  /** Schedule unassigned from user. */\n  interface ScheduleUnassignedFromUser$1 {\n      /** The Wix user id. */\n      userId?: string | null;\n      /** The schedule that was unassigned from the user. */\n      schedule?: V1Schedule;\n  }\n  interface MultipleSessionsCreated$1 {\n      schedulesWithSessions?: ScheduleWithSessions$1[];\n  }\n  interface ScheduleWithSessions$1 {\n      schedule?: V1Schedule;\n      siteProperties?: SitePropertiesOnScheduleCreation$1;\n      sessions?: Session$1[];\n  }\n  interface SitePropertiesOnScheduleCreation$1 {\n      /** The global time zone value. */\n      timeZone?: string | null;\n  }\n  interface MigrationEvent$1 {\n      migrationData?: MigrationData$1;\n  }\n  interface MigrationData$1 {\n      businessId?: string | null;\n      staffs?: StaffData$1[];\n  }\n  interface StaffData$1 {\n      resourceId?: string;\n      syncRequestEmail?: string;\n      refreshToken?: string;\n  }\n  interface ResourceNotification {\n      /**\n       * Updated resource entity.\n       * 'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead.\n       */\n      resource?: Resource$1;\n      /** Event type. */\n      event?: ResourceNotificationEvent;\n  }\n  interface Resource$1 {\n      /**\n       * Resource ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Resource name. */\n      name?: string | null;\n      /** Resource email address. */\n      email?: string | null;\n      /** Resource phone number. */\n      phone?: string | null;\n      /** Resource description. */\n      description?: string | null;\n      /**\n       * Deprecated. Please use tags.\n       * @deprecated\n       */\n      tag?: string | null;\n      /** Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'. */\n      tags?: string[] | null;\n      /** Resource images. */\n      images?: string[];\n      /**\n       * Deprecated. Please use scheduleIds. List of the schedules owned by this resource. Min size 1.\n       * @deprecated\n       */\n      schedules?: V1Schedule[];\n      /**\n       * List of IDs of schedules owned by this resource.\n       * @readonly\n       */\n      scheduleIds?: string[] | null;\n      /**\n       * Resource status.\n       * @readonly\n       */\n      status?: ResourceStatus;\n      /**\n       * Wix user ID, if the resource is associated with the Wix user.\n       * A staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager.\n       * @readonly\n       */\n      wixUserId?: string | null;\n      /**\n       * The ID of the Resource Group that this resource belongs to. This is an optional field as not every resource is part of a group.\n       * @internal\n       */\n      groupId?: string | null;\n      /**\n       * This field determines how to resolve the working hours of this resource. Defaults to `true` if was not set by the client.\n       * When set to `true` then working hours (including location information) can be found in the sessions of a schedule that is connected to this resource.\n       * If `false`, then the working hours are not specified as sessions of a connected schedule. Instead this resource is then by definition full-time available (7 x 24).\n       * @internal\n       */\n      hasWorkingHoursSchedule?: boolean | null;\n      /**\n       * True if the resource is available in all locations, false if the resource is available only in a specific business location. Empty if `has_working_hours_schedule` is true.\n       * Information on the location(s) can then be found in the sessions of one of the connected schedules.\n       * @internal\n       */\n      availableInAllLocations?: boolean | null;\n      /**\n       * Information about business location connected to the resource. Should be empty if `available_in_all_locations` is true or if no business location exists in OS.\n       * @internal\n       */\n      businessLocation?: BusinessLocation;\n      /**\n       * This schedule contains the sessions in which this resource is booked.\n       * Equals to the first element of `schedules` array.\n       * @internal\n       * @readonly\n       */\n      eventsSchedule?: V1Schedule;\n      /**\n       * The type of of the resource. Currently this field is only filled for staff and will contain the ID as configured in the\n       * BOOKINGS_RESOURCE_TYPES component of the Bookings app.\n       * @internal\n       * @readonly\n       */\n      type?: string | null;\n  }\n  enum ResourceStatus {\n      UNDEFINED = \"UNDEFINED\",\n      /** Default status. */\n      CREATED = \"CREATED\",\n      /** The resource was deleted. */\n      DELETED = \"DELETED\",\n      /** The resource was updated. */\n      UPDATED = \"UPDATED\"\n  }\n  interface BusinessLocation {\n      /** The ID of the business location. Has to be non-empty */\n      locationId?: string;\n  }\n  enum ResourceNotificationEvent {\n      UNDEFINED = \"UNDEFINED\",\n      Updated = \"Updated\",\n      Deleted = \"Deleted\",\n      Created = \"Created\",\n      Schedule_Updated = \"Schedule_Updated\"\n  }\n  interface BenefitNotification {\n      /** Plan unique ID */\n      planId?: string;\n      /** App def ID */\n      appDefId?: string;\n      /** Current benefit details */\n      benefit?: Benefit;\n      /** Previous benefit */\n      prevBenefit?: Benefit;\n      /** Notification event */\n      event?: BenefitNotificationEvent;\n  }\n  interface Benefit {\n      /**\n       * Benefit unique ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Benefit Type */\n      benefitType?: BenefitType;\n      /** Resource IDs that serves by this benefit */\n      resourceIds?: string[];\n      /** Amount of credits that provided by this benefit */\n      creditAmount?: number | null;\n      /** additional details related to benefit; limited to 20 entries, 20 symbols for key and 20 symbols for value */\n      customFields?: Record<string, string>;\n      /** return value only in case it required in the ListRequest, true means that benefit's type could be updated */\n      editable?: boolean | null;\n      /** Benefit behavior */\n      behavior?: Behavior;\n      /**\n       * Id of the app associated with this benefit\n       * @readonly\n       */\n      appDefId?: string | null;\n  }\n  interface EntryPass {\n  }\n  interface Discount extends DiscountDiscountOneOf {\n      /** Fixed-rate percent off discount */\n      percentOffRate?: string;\n      /** Absolute amount discount */\n      moneyOffAmount?: string;\n  }\n  /** @oneof */\n  interface DiscountDiscountOneOf {\n      /** Fixed-rate percent off discount */\n      percentOffRate?: string;\n      /** Absolute amount discount */\n      moneyOffAmount?: string;\n  }\n  enum BenefitType {\n      /** Should never be used */\n      UNDEFINED = \"UNDEFINED\",\n      /** Limited benefit type */\n      LIMITED = \"LIMITED\",\n      /** Unlimited benefit type */\n      UNLIMITED = \"UNLIMITED\"\n  }\n  interface Behavior extends BehaviorBehaviorOneOf {\n      /** Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events. */\n      defaultBehavior?: EntryPass;\n      /** Discount applied to paid resources */\n      discount?: Discount;\n  }\n  /** @oneof */\n  interface BehaviorBehaviorOneOf {\n      /** Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events. */\n      defaultBehavior?: EntryPass;\n      /** Discount applied to paid resources */\n      discount?: Discount;\n  }\n  enum BenefitNotificationEvent {\n      Updated = \"Updated\",\n      Deleted = \"Deleted\",\n      Created = \"Created\"\n  }\n  interface UserDomainInfoChangedEvent {\n      domainName?: string;\n      crudType?: CrudType;\n      metaSiteId?: string | null;\n      changeTime?: Date | null;\n  }\n  enum CrudType {\n      INVALID_CRUD_TYPE = \"INVALID_CRUD_TYPE\",\n      CREATE = \"CREATE\",\n      UPDATE = \"UPDATE\",\n      DELETE = \"DELETE\",\n      /** Unfortunately this action is used by hibernate save in wix-war */\n      CREATE_OR_UPDATE = \"CREATE_OR_UPDATE\"\n  }\n  interface HtmlSitePublished {\n      /** Application instance ID */\n      appInstanceId?: string;\n      /** Application type */\n      appType?: string;\n      /** Revision */\n      revision?: string;\n      /** MSID */\n      metaSiteId?: string | null;\n      /** optional branch id if publish is done from branch */\n      branchId?: string | null;\n      /** The site's last transactionId */\n      lastTransactionId?: string | null;\n      /** A list of the site's pages */\n      pages?: Page[];\n      /** Site's publish date */\n      publishDate?: string;\n  }\n  interface Page {\n      /** Page's Id */\n      _id?: string;\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification$1 {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent$1;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation$1[];\n      /** Context of the notification */\n      changeContext?: ChangeContext$1;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent$1 {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties$1;\n  }\n  interface Properties$1 {\n      /** Site categories. */\n      categories?: Categories$1;\n      /** Site locale. */\n      locale?: Locale$1;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: V4Address;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$2;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual$1;\n      /** Cookie policy the site owner defined for their site (before the users interacts with/limits it). */\n      consentPolicy?: ConsentPolicy$1;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site url that uses Wix as its headless business solution */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories$1 {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale$1 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface V4Address {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint$1;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates$1;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition the user can state where he wants that additional description - before, after, or instead\n   * the address string.\n   */\n  interface AddressHint$1 {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType$1;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType$1 {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates$1 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  interface Multilingual$1 {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage$1[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage$1 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale$1;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod$1;\n  }\n  enum ResolutionMethod$1 {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy$1 {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation$1 {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext$1 extends ChangeContextPayloadOneOf$1 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$1;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$2;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$1;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf$1 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$1;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$2;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$1;\n  }\n  interface PropertiesChange$1 {\n  }\n  interface SiteCreated$2 {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned$1 {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface MultiServiceEnabledNotification {\n  }\n  /**\n   * Creates a new service.\n   * @param service - Service to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField service\n   * @permissionId BOOKINGS.SERVICES_CREATE\n   * @adminMethod\n   * @returns The created service.\n   */\n  function createService(service: Service): Promise<Service>;\n  /**\n   * Creates multiple new services.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField services\n   * @permissionId BOOKINGS.SERVICES_CREATE\n   * @adminMethod\n   */\n  function bulkCreateServices(services: Service[], options?: BulkCreateServicesOptions): Promise<BulkCreateServicesResponse>;\n  interface BulkCreateServicesOptions {\n      /** `true` if the created entities must be included in the response, */\n      returnEntity?: boolean;\n      /**\n       * otherwise no entities are included in the response.\n       * @internal\n       */\n      skipScheduleCreation?: boolean;\n  }\n  /**\n   * Retrieves a service.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField serviceId\n   * @permissionId BOOKINGS.SERVICES_READ\n   * @returns The retrieved service.\n   */\n  function getService(serviceId: string, options?: GetServiceOptions): Promise<Service>;\n  interface GetServiceOptions {\n      /** @internal */\n      conditionalFields?: RequestedFields$1[];\n      /** @internal */\n      eventuallyConsistent?: boolean | null;\n  }\n  /**\n   * Retrieves the service constraints for availability calculation\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField serviceId\n   * @permissionId BOOKINGS.SERVICES_READ\n   */\n  function getServiceAvailabilityConstraints(serviceId: string): Promise<GetServiceAvailabilityConstraintsResponse>;\n  /**\n   * Updates a service.\n   *\n   * [Partial\n   * updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests)\n   * are supported.\n   *\n   * Each time the service is updated, `revision` increments by 1. You must\n   * include the number of the existing revision when updating the service.\n   * This ensures you're working with the latest service information and\n   * prevents unintended overwrites.\n   * @param _id - Service ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField service\n   * @requiredField service.revision\n   * @permissionId BOOKINGS.SERVICES_UPDATE\n   * @adminMethod\n   * @returns The updated service.\n   */\n  function updateService(_id: string | null, service: UpdateService, options?: UpdateServiceOptions): Promise<Service>;\n  interface UpdateService {\n      /**\n       * Service ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Service type. */\n      type?: ServiceType;\n      /** Order of a service within a category. */\n      sortOrder?: number | null;\n      name?: string | null;\n      description?: string | null;\n      tagLine?: string | null;\n      /** Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity. */\n      defaultCapacity?: number | null;\n      /** Media associated with the service. */\n      media?: Media;\n      /** Whether the service is hidden from the site. */\n      hidden?: boolean | null;\n      /** The category the service is associated with. */\n      category?: V2Category;\n      /** The form used when booking the service. */\n      form?: Form;\n      /** Payment options for booking the service. */\n      payment?: Payment;\n      /** Online booking settings. */\n      onlineBooking?: OnlineBooking;\n      /** Conferencing options for this service. */\n      conferencing?: Conferencing;\n      /**\n       * The locations this service is offered at.\n       * In case of multiple (more than 1) location, All locations must be of type `BUSINESS`.\n       * For courses only: Currently, only 1 location is supported, for all location types.\n       */\n      locations?: Location$3[];\n      /** Policy determining under what conditions this service can be booked. For example, whether the service can only be booked up to 30 minutes before it begins. */\n      bookingPolicy?: BookingPolicy$1;\n      /** The service's schedule, which can be used to manage the service's sessions. */\n      schedule?: Schedule$1;\n      /** IDs of the staff members providing the service. For appointments only. */\n      staffMemberIds?: string[];\n      /**\n       * Staff members providing the service. For appointments only. Returned only if `STAFF_MEMBER_DETAILS` conditional field was passed.\n       * @internal\n       * @readonly\n       * @deprecated Staff members providing the service. For appointments only. Returned only if `STAFF_MEMBER_DETAILS` conditional field was passed.\n       * @replacedBy staff_member_details.staff_members\n       * @targetRemovalDate 2025-01-01\n       */\n      staffMembers?: StaffMember$1[];\n      /**\n       * Staff members details. Returned only if `STAFF_MEMBER_DETAILS` conditional field was passed.\n       * @internal\n       */\n      staffMemberDetails?: StaffMemberDetails;\n      /**\n       * Resource groups required to book the service. For example, to book this service, you must book a room out of the resource group named \"rooms\".\n       * @internal\n       * @deprecated Resource groups required to book the service. For example, to book this service, you must book a room out of the resource group named \"rooms\".\n       * @replacedBy service_resources\n       * @targetRemovalDate 2024-08-19\n       */\n      resourceGroups?: ResourceGroup[];\n      /**\n       * Details on resources that are required to book the service. For example, to book this service, you must book a room out of the resource type named \"rooms\".\n       * @internal\n       */\n      serviceResources?: ServiceResource[];\n      /**\n       * A slug is the last part of the URL address that serves as a unique identifier of the service.\n       * The list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner.\n       * @readonly\n       */\n      supportedSlugs?: Slug[];\n      /**\n       * The main slug for the service. `mainSlug` is either taken from the current service name or is a custom slug set by the business owner.\n       * `mainSlug` is used to construct the service's URLs.\n       * @readonly\n       */\n      mainSlug?: Slug;\n      /**\n       * URLs to various service-related pages, such as the calendar page and the booking page.\n       * @readonly\n       */\n      urls?: URLs;\n      /** Extensions enabling users to save custom data related to the service. */\n      extendedFields?: ExtendedFields$4;\n      /** Custom SEO data for the service. */\n      seoData?: SeoSchema;\n      /**\n       * Date and time the service was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the service was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Revision number, which increments by 1 each time the service is updated. To prevent conflicting changes, the existing revision must be used when updating a service.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface UpdateServiceOptions {\n      /**\n       * updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests)\n       * are supported.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Updates multiple services.\n   *\n   * [Partial\n   * updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests)\n   * are supported.\n   *\n   * Each time a service is updated, `revision` increments by 1. You must\n   * include the number of the existing revision for each service to update.\n   * This ensures you're working with the latest service information and\n   * prevents unintended overwrites.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.services.service\n   * @requiredField options.services.service._id\n   * @requiredField options.services.service.revision\n   * @permissionId BOOKINGS.SERVICES_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateServices(options?: BulkUpdateServicesOptions): Promise<BulkUpdateServicesResponse>;\n  interface BulkUpdateServicesOptions {\n      services?: MaskedService[];\n      /** `true` if the updated entities must be included in the response, */\n      returnEntity?: boolean;\n  }\n  /**\n   * Updates multiple services by filter.\n   *\n   * [Partial\n   * updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests)\n   * are supported.\n   *\n   * Each time a service is updated, `revision` increments by 1.\n   * @param filter - Filter to identify the services that need to be updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options.service\n   * @permissionId BOOKINGS.SERVICES_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateServicesByFilter(filter: Record<string, any> | null, options?: BulkUpdateServicesByFilterOptions): Promise<BulkUpdateServicesByFilterResponse>;\n  interface BulkUpdateServicesByFilterOptions {\n      /**\n       * Service to update. [Partial\n       * updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests)\n       * are supported.\n       */\n      service: Service;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a service.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField serviceId\n   * @param options - Allows you to configure how to handle the deleted service's future sessions and how to notify the sessions participants.\n   * @permissionId BOOKINGS.SERVICES_DELETE\n   * @adminMethod\n   */\n  function deleteService(serviceId: string, options?: DeleteServiceOptions): Promise<void>;\n  interface DeleteServiceOptions {\n      /**\n       * Whether to preserve future sessions with participants.\n       *\n       * Default: `false`\n       */\n      preserveFutureSessionsWithParticipants?: boolean;\n      /** Whether to notify participants about the change and an optional */\n      participantNotification?: ParticipantNotification$4;\n  }\n  /**\n   * Deletes multiple services.\n   * @param ids - Ids of the services for deletion.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId BOOKINGS.SERVICES_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteServices(ids: string[], options?: BulkDeleteServicesOptions): Promise<BulkDeleteServicesResponse>;\n  interface BulkDeleteServicesOptions {\n      /**\n       * Whether to preserve future sessions with participants.\n       *\n       * Default: `false`.\n       */\n      preserveFutureSessionsWithParticipants?: boolean;\n      /** Whether to notify participants about the change and an optional */\n      participantNotification?: ParticipantNotification$4;\n  }\n  /**\n   * Deletes multiple services by filter.\n   * @param filter - Filter to identify the services that need to be deleted.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId BOOKINGS.SERVICES_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteServicesByFilter(filter: Record<string, any> | null, options?: BulkDeleteServicesByFilterOptions): Promise<BulkDeleteServicesByFilterResponse>;\n  interface BulkDeleteServicesByFilterOptions {\n      /**\n       * Whether to preserve future sessions with participants.\n       *\n       * Default: `false`.\n       */\n      preserveFutureSessionsWithParticipants?: boolean;\n      /** Whether to notify participants about the change and an optional custom message. */\n      participantNotification?: ParticipantNotification$4;\n  }\n  /**\n   * Retrieves a list of up to 100 services, given the provided paging, filtering, and sorting.\n   * `queryServices()` runs with these defaults, which you can override:\n   * + `paging.limit` is `100`.\n   * + `paging.offset` is `0`.\n   *\n   *\n   * >**Notes:**\n   * > + Use UTC format when filtering with dates.\n   * > + Only 1 use of each filter in the same query is supported. If a filter is defined more than once in a query, only the first occurrence is processed.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.SERVICES_READ\n   */\n  function queryServices(options?: QueryServicesOptions): ServicesQueryBuilder;\n  interface QueryServicesOptions {\n      /** @internal */\n      conditionalFields?: RequestedFields$1[] | undefined;\n      /** @internal */\n      eventuallyConsistent?: boolean | null | undefined;\n  }\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ServicesQueryResult extends QueryOffsetResult {\n      items: Service[];\n      query: ServicesQueryBuilder;\n      next: () => Promise<ServicesQueryResult>;\n      prev: () => Promise<ServicesQueryResult>;\n  }\n  interface ServicesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'type' | 'name' | 'description' | 'tagLine' | 'hidden' | 'category.id' | 'category.name' | 'form.id' | 'payment.options.online' | 'payment.options.inPerson' | 'payment.options.pricingPlan' | 'onlineBooking.enabled' | 'locations.business.id' | 'schedule.firstSessionStart' | 'schedule.lastSessionEnd' | 'staffMemberIds' | 'supportedSlugs.name' | 'mainSlug.name', value: any) => ServicesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'type' | 'name' | 'description' | 'tagLine' | 'hidden' | 'category.id' | 'category.name' | 'form.id' | 'payment.options.online' | 'payment.options.inPerson' | 'payment.options.pricingPlan' | 'onlineBooking.enabled' | 'locations.business.id' | 'schedule.firstSessionStart' | 'schedule.lastSessionEnd' | 'staffMemberIds' | 'supportedSlugs.name' | 'mainSlug.name', value: any) => ServicesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'schedule.firstSessionStart' | 'schedule.lastSessionEnd', value: any) => ServicesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'schedule.firstSessionStart' | 'schedule.lastSessionEnd', value: any) => ServicesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'schedule.firstSessionStart' | 'schedule.lastSessionEnd', value: any) => ServicesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'schedule.firstSessionStart' | 'schedule.lastSessionEnd', value: any) => ServicesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'description' | 'tagLine' | 'category.id' | 'category.name' | 'form.id' | 'locations.business.id' | 'supportedSlugs.name' | 'mainSlug.name', value: string) => ServicesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'type' | 'name' | 'description' | 'tagLine' | 'hidden' | 'category.id' | 'category.name' | 'form.id' | 'payment.options.online' | 'payment.options.inPerson' | 'payment.options.pricingPlan' | 'onlineBooking.enabled' | 'locations.business.id' | 'schedule.firstSessionStart' | 'schedule.lastSessionEnd' | 'staffMemberIds' | 'supportedSlugs.name' | 'mainSlug.name', value: any[]) => ServicesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasAll: (propertyName: 'staffMemberIds', value: any[]) => ServicesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'type' | 'name' | 'description' | 'tagLine' | 'hidden' | 'category.id' | 'category.name' | 'form.id' | 'payment.options.online' | 'payment.options.inPerson' | 'payment.options.pricingPlan' | 'onlineBooking.enabled' | 'locations.business.id' | 'schedule.firstSessionStart' | 'schedule.lastSessionEnd' | 'staffMemberIds' | 'supportedSlugs.name' | 'mainSlug.name', value: any) => ServicesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'type' | 'name' | 'description' | 'tagLine' | 'hidden' | 'category.id' | 'category.name' | 'form.id' | 'payment.options.online' | 'payment.options.inPerson' | 'payment.options.pricingPlan' | 'onlineBooking.enabled' | 'locations.business.id' | 'schedule.firstSessionStart' | 'schedule.lastSessionEnd' | 'staffMemberIds' | 'supportedSlugs.name' | 'mainSlug.name', value: boolean) => ServicesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ServicesQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => ServicesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ServicesQueryResult>;\n  }\n  /**\n   * Retrieves a list of up to 100 services, given the provided query string,\n   * and paging.\n   * @param search - WQL, search or aggregation expression.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField search\n   * @permissionId BOOKINGS.SERVICES_READ\n   */\n  function searchServices(search: CursorSearch$1): Promise<SearchServicesResponse>;\n  /**\n   * Retrieves a list of up to 100 policies, given the provided paging,\n   * filtering, and sorting.\n   *\n   *\n   * Define queries using [WQL - Wix Query\n   * Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * For field support for filters and sorting, see [Supported Filters and\n   * Sorting](https://dev.wix.com/api/rest/wix-bookings/services-v2/supported-filters-and-sorting).\n   *\n   * To retrieve all policies use an empty query:\n   *\n   * ```javascript\n   * {\n   * \"query\": {}\n   * }\n   * ```\n   * `Query Policies` runs with these defaults, which you can override:\n   * + `paging.limit` is `100`.\n   * + `paging.offset` is `0`.\n   *\n   *\n   * >**Notes:**\n   * > + Use UTC format when filtering with dates.\n   * > + Only 1 use of each filter in the same query is supported. If a filter\n   * is defined more than once in a query, only the first occurrence is\n   * processed.\n   * @param query - WQL expression.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId BOOKINGS.BOOKING_POLICY_READ\n   * @permissionId BOOKINGS.SERVICES_READ\n   */\n  function queryPolicies(query: CursorQuery$2): Promise<QueryPoliciesResponse>;\n  /**\n   * Retrieves the number of services that match the provided filters.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.SERVICES_COUNT\n   */\n  function countServices(options?: CountServicesOptions): Promise<CountServicesResponse>;\n  interface CountServicesOptions {\n      /** The filters for performing the count. */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Query locations that exist on services.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.SERVICES_READ\n   */\n  function queryLocations(options?: QueryLocationsOptions): Promise<QueryLocationsResponse>;\n  interface QueryLocationsOptions {\n      /** The filter for the query. */\n      filter?: QueryLocationsFilter;\n  }\n  /**\n   * Query categories that exist on services.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.SERVICES_READ\n   */\n  function queryCategories(options?: QueryCategoriesOptions): Promise<QueryCategoriesResponse>;\n  interface QueryCategoriesOptions {\n      /** The filter for the query. */\n      filter?: QueryCategoriesFilter;\n  }\n  /**\n   * Query services in both the main language and the provided language according to the linguist aspect.\n   * @param query - WQL expression.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId BOOKINGS.SERVICES_READ\n   */\n  function queryServicesMultiLanguage(query: QueryV2$2, options?: QueryServicesMultiLanguageOptions): Promise<QueryServicesMultiLanguageResponse>;\n  interface QueryServicesMultiLanguageOptions {\n      /** @internal */\n      conditionalFields?: RequestedFields$1[];\n  }\n  /**\n   * Change the locations this service is offered at.\n   * Changing locations may have impact on existing sessions and their\n   * participants. When removing locations from a service, this endpoint\n   * requires stating what to do with existing sessions occurring at the removed\n   * locations.\n   * @param serviceId - ID of the service.\n   * @param locations - The locations you specify replace the existing service locations.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField locations\n   * @requiredField serviceId\n   * @permissionId BOOKINGS.SERVICES_LOCATIONS_SET\n   * @adminMethod\n   */\n  function setServiceLocations(serviceId: string, locations: Location$3[], options?: SetServiceLocationsOptions): Promise<SetServiceLocationsResponse>;\n  interface SetServiceLocationsOptions {\n      /**\n       * The action to perform on sessions currently set to a removed location. For\n       * example, move existing sessions to a new specified location.\n       */\n      removedLocationSessionsAction?: RemovedLocationSessionsAction;\n      /**\n       * Whether to notify participants about the change of location, and an\n       * optional custom message.\n       */\n      participantNotification?: ParticipantNotification$4;\n  }\n  /**\n   * Enables specific [pricing\n   * plans](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans/plan-object)\n   * as payment methods for a service. This API enables customers to pay for the\n   * service using one of the specified pricing plans.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField pricingPlanIds\n   * @requiredField serviceId\n   * @permissionId BOOKINGS.SERVICES_PRICING_PLANS_ADD\n   * @adminMethod\n   */\n  function enablePricingPlansForService(serviceId: string, pricingPlanIds: string[]): Promise<EnablePricingPlansForServiceResponse>;\n  /**\n   * Disables specific [pricing\n   * plans](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans/plan-object)\n   * as payment methods for a service. Customers can't pay for the service using\n   * a removed pricing plan. Existing payments with a removed plan aren't\n   * affected.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField serviceId\n   * @permissionId BOOKINGS.SERVICES_PRICING_PLANS_REMOVE\n   * @adminMethod\n   */\n  function disablePricingPlansForService(serviceId: string, options?: DisablePricingPlansForServiceOptions): Promise<DisablePricingPlansForServiceResponse>;\n  interface DisablePricingPlansForServiceOptions {\n      pricingPlanIds?: string[];\n  }\n  /**\n   * Sets a custom (user-defined) slug for the various service pages.\n   * The call may fail if there's another service with the same slug, either by\n   * past name or by a custom slug.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField serviceId\n   * @requiredField slugName\n   * @permissionId BOOKINGS.SERVICES_CUSTOM_SLUGS_SET\n   * @adminMethod\n   */\n  function setCustomSlug(serviceId: string, slugName: string): Promise<SetCustomSlugResponse>;\n  /**\n   * Validate a custom (user-defined) slug, making sure no other service uses\n   * the same slug. The call may fail if there's another service with the same\n   * slug, either by past name or by a custom set slug.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.slugName\n   * @requiredField serviceId\n   * @permissionId BOOKINGS.SERVICES_CUSTOM_SLUGS_SET\n   * @adminMethod\n   */\n  function validateSlug(serviceId: string, options: ValidateSlugOptions): Promise<ValidateSlugResponse>;\n  interface ValidateSlugOptions {\n      slugName: string;\n  }\n  /**\n   * Clones a service.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField sourceServiceId\n   * @permissionId BOOKINGS.SERVICE_CLONE\n   * @adminMethod\n   */\n  function cloneService(sourceServiceId: string, options?: CloneServiceOptions): Promise<CloneServiceResponse>;\n  interface CloneServiceOptions {\n      /** copy recurring sessions of an active service's schedule */\n      copyRecurringSessions?: boolean;\n      /** copy benefits with pricing plans that are connected to the source */\n      copyPricingPlans?: boolean;\n      /**\n       * service. If the source service is connected to more than 120\n       * benefits with pricing plans then they will not be copied. In that\n       * case the field `error_types` in the response will include\n       * `PRICING_PLANS`.\n       */\n      hideService?: boolean | null;\n      /** copy this value from the source service without overriding it */\n      cloneServiceName?: string | null;\n  }\n  \n  type bookingsServicesV2Service_universal_d_Service = Service;\n  type bookingsServicesV2Service_universal_d_ServiceType = ServiceType;\n  const bookingsServicesV2Service_universal_d_ServiceType: typeof ServiceType;\n  type bookingsServicesV2Service_universal_d_Media = Media;\n  type bookingsServicesV2Service_universal_d_MediaItemItemOneOf = MediaItemItemOneOf;\n  type bookingsServicesV2Service_universal_d_V2Category = V2Category;\n  type bookingsServicesV2Service_universal_d_Form = Form;\n  type bookingsServicesV2Service_universal_d_FormSettings = FormSettings;\n  type bookingsServicesV2Service_universal_d_Payment = Payment;\n  type bookingsServicesV2Service_universal_d_PaymentRateOneOf = PaymentRateOneOf;\n  type bookingsServicesV2Service_universal_d_RateType = RateType;\n  const bookingsServicesV2Service_universal_d_RateType: typeof RateType;\n  type bookingsServicesV2Service_universal_d_FixedPayment = FixedPayment;\n  type bookingsServicesV2Service_universal_d_CommonMoney = CommonMoney;\n  type bookingsServicesV2Service_universal_d_CustomPayment = CustomPayment;\n  type bookingsServicesV2Service_universal_d_VariedPayment = VariedPayment;\n  type bookingsServicesV2Service_universal_d_PaymentOptions = PaymentOptions;\n  type bookingsServicesV2Service_universal_d_OnlineBooking = OnlineBooking;\n  type bookingsServicesV2Service_universal_d_Conferencing = Conferencing;\n  type bookingsServicesV2Service_universal_d_LocationOptionsOneOf = LocationOptionsOneOf;\n  type bookingsServicesV2Service_universal_d_BusinessLocationOptions = BusinessLocationOptions;\n  type bookingsServicesV2Service_universal_d_CustomLocationOptions = CustomLocationOptions;\n  type bookingsServicesV2Service_universal_d_StaffMediaItem = StaffMediaItem;\n  type bookingsServicesV2Service_universal_d_StaffMediaItemItemOneOf = StaffMediaItemItemOneOf;\n  type bookingsServicesV2Service_universal_d_StaffMemberDetails = StaffMemberDetails;\n  type bookingsServicesV2Service_universal_d_ResourceGroup = ResourceGroup;\n  type bookingsServicesV2Service_universal_d_ResourceIds = ResourceIds;\n  type bookingsServicesV2Service_universal_d_ServiceResource = ServiceResource;\n  type bookingsServicesV2Service_universal_d_ServiceResourceSelectionOneOf = ServiceResourceSelectionOneOf;\n  type bookingsServicesV2Service_universal_d_ResourceType = ResourceType;\n  type bookingsServicesV2Service_universal_d_Slug = Slug;\n  type bookingsServicesV2Service_universal_d_URLs = URLs;\n  type bookingsServicesV2Service_universal_d_SeoSchema = SeoSchema;\n  type bookingsServicesV2Service_universal_d_Keyword = Keyword;\n  type bookingsServicesV2Service_universal_d_Tag = Tag;\n  type bookingsServicesV2Service_universal_d_Settings = Settings;\n  type bookingsServicesV2Service_universal_d_ReindexMessage = ReindexMessage;\n  type bookingsServicesV2Service_universal_d_ReindexMessageActionOneOf = ReindexMessageActionOneOf;\n  type bookingsServicesV2Service_universal_d_Upsert = Upsert;\n  type bookingsServicesV2Service_universal_d_Delete = Delete;\n  type bookingsServicesV2Service_universal_d_Schema = Schema;\n  type bookingsServicesV2Service_universal_d_SetCustomSlugEvent = SetCustomSlugEvent;\n  type bookingsServicesV2Service_universal_d_ServicesUrlsChanged = ServicesUrlsChanged;\n  type bookingsServicesV2Service_universal_d_CreateServiceRequest = CreateServiceRequest;\n  type bookingsServicesV2Service_universal_d_CreateServiceResponse = CreateServiceResponse;\n  type bookingsServicesV2Service_universal_d_BulkCreateServicesRequest = BulkCreateServicesRequest;\n  type bookingsServicesV2Service_universal_d_BulkCreateServicesResponse = BulkCreateServicesResponse;\n  type bookingsServicesV2Service_universal_d_BulkServiceResult = BulkServiceResult;\n  type bookingsServicesV2Service_universal_d_GetServiceRequest = GetServiceRequest;\n  type bookingsServicesV2Service_universal_d_GetServiceResponse = GetServiceResponse;\n  type bookingsServicesV2Service_universal_d_GetServiceAvailabilityConstraintsRequest = GetServiceAvailabilityConstraintsRequest;\n  type bookingsServicesV2Service_universal_d_GetServiceAvailabilityConstraintsResponse = GetServiceAvailabilityConstraintsResponse;\n  type bookingsServicesV2Service_universal_d_ServiceAvailabilityConstraints = ServiceAvailabilityConstraints;\n  type bookingsServicesV2Service_universal_d_V1SplitInterval = V1SplitInterval;\n  type bookingsServicesV2Service_universal_d_UpdateServiceRequest = UpdateServiceRequest;\n  type bookingsServicesV2Service_universal_d_UpdateServiceResponse = UpdateServiceResponse;\n  type bookingsServicesV2Service_universal_d_BulkUpdateServicesRequest = BulkUpdateServicesRequest;\n  type bookingsServicesV2Service_universal_d_MaskedService = MaskedService;\n  type bookingsServicesV2Service_universal_d_BulkUpdateServicesResponse = BulkUpdateServicesResponse;\n  type bookingsServicesV2Service_universal_d_BulkUpdateServicesByFilterRequest = BulkUpdateServicesByFilterRequest;\n  type bookingsServicesV2Service_universal_d_BulkUpdateServicesByFilterResponse = BulkUpdateServicesByFilterResponse;\n  type bookingsServicesV2Service_universal_d_DeleteServiceRequest = DeleteServiceRequest;\n  type bookingsServicesV2Service_universal_d_DeleteServiceResponse = DeleteServiceResponse;\n  type bookingsServicesV2Service_universal_d_BulkDeleteServicesRequest = BulkDeleteServicesRequest;\n  type bookingsServicesV2Service_universal_d_BulkDeleteServicesResponse = BulkDeleteServicesResponse;\n  type bookingsServicesV2Service_universal_d_BulkDeleteServicesByFilterRequest = BulkDeleteServicesByFilterRequest;\n  type bookingsServicesV2Service_universal_d_BulkDeleteServicesByFilterResponse = BulkDeleteServicesByFilterResponse;\n  type bookingsServicesV2Service_universal_d_QueryServicesRequest = QueryServicesRequest;\n  type bookingsServicesV2Service_universal_d_QueryServicesResponse = QueryServicesResponse;\n  type bookingsServicesV2Service_universal_d_SearchServicesRequest = SearchServicesRequest;\n  type bookingsServicesV2Service_universal_d_Aggregation = Aggregation;\n  type bookingsServicesV2Service_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type bookingsServicesV2Service_universal_d_RangeBucket = RangeBucket;\n  type bookingsServicesV2Service_universal_d_SortType = SortType;\n  const bookingsServicesV2Service_universal_d_SortType: typeof SortType;\n  type bookingsServicesV2Service_universal_d_SortDirection = SortDirection;\n  const bookingsServicesV2Service_universal_d_SortDirection: typeof SortDirection;\n  type bookingsServicesV2Service_universal_d_MissingValues = MissingValues;\n  const bookingsServicesV2Service_universal_d_MissingValues: typeof MissingValues;\n  type bookingsServicesV2Service_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n  type bookingsServicesV2Service_universal_d_ValueAggregation = ValueAggregation;\n  type bookingsServicesV2Service_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n  type bookingsServicesV2Service_universal_d_NestedAggregationType = NestedAggregationType;\n  const bookingsServicesV2Service_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type bookingsServicesV2Service_universal_d_RangeAggregation = RangeAggregation;\n  type bookingsServicesV2Service_universal_d_ScalarAggregation = ScalarAggregation;\n  type bookingsServicesV2Service_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n  type bookingsServicesV2Service_universal_d_DateHistogramAggregationInterval = DateHistogramAggregationInterval;\n  const bookingsServicesV2Service_universal_d_DateHistogramAggregationInterval: typeof DateHistogramAggregationInterval;\n  type bookingsServicesV2Service_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type bookingsServicesV2Service_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type bookingsServicesV2Service_universal_d_NestedAggregation = NestedAggregation;\n  type bookingsServicesV2Service_universal_d_GroupByAggregation = GroupByAggregation;\n  type bookingsServicesV2Service_universal_d_GroupByAggregationKindOneOf = GroupByAggregationKindOneOf;\n  type bookingsServicesV2Service_universal_d_SearchServicesResponse = SearchServicesResponse;\n  type bookingsServicesV2Service_universal_d_ValueResult = ValueResult;\n  type bookingsServicesV2Service_universal_d_RangeResult = RangeResult;\n  type bookingsServicesV2Service_universal_d_NestedResultsScalarResult = NestedResultsScalarResult;\n  type bookingsServicesV2Service_universal_d_NestedResultValue = NestedResultValue;\n  type bookingsServicesV2Service_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type bookingsServicesV2Service_universal_d_Results = Results;\n  type bookingsServicesV2Service_universal_d_DateHistogramResult = DateHistogramResult;\n  type bookingsServicesV2Service_universal_d_DateHistogramResults = DateHistogramResults;\n  type bookingsServicesV2Service_universal_d_NestedResults = NestedResults;\n  type bookingsServicesV2Service_universal_d_QueryPoliciesRequest = QueryPoliciesRequest;\n  type bookingsServicesV2Service_universal_d_QueryPoliciesResponse = QueryPoliciesResponse;\n  type bookingsServicesV2Service_universal_d_BookingPolicyWithServices = BookingPolicyWithServices;\n  type bookingsServicesV2Service_universal_d_CountServicesRequest = CountServicesRequest;\n  type bookingsServicesV2Service_universal_d_CountServicesResponse = CountServicesResponse;\n  type bookingsServicesV2Service_universal_d_QueryLocationsRequest = QueryLocationsRequest;\n  type bookingsServicesV2Service_universal_d_QueryLocationsFilter = QueryLocationsFilter;\n  type bookingsServicesV2Service_universal_d_QueryLocationsResponse = QueryLocationsResponse;\n  type bookingsServicesV2Service_universal_d_BusinessLocations = BusinessLocations;\n  type bookingsServicesV2Service_universal_d_CustomLocations = CustomLocations;\n  type bookingsServicesV2Service_universal_d_CustomerLocations = CustomerLocations;\n  type bookingsServicesV2Service_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n  type bookingsServicesV2Service_universal_d_QueryCategoriesFilter = QueryCategoriesFilter;\n  type bookingsServicesV2Service_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n  type bookingsServicesV2Service_universal_d_QueryServicesMultiLanguageRequest = QueryServicesMultiLanguageRequest;\n  type bookingsServicesV2Service_universal_d_QueryServicesMultiLanguageResponse = QueryServicesMultiLanguageResponse;\n  type bookingsServicesV2Service_universal_d_SetServiceLocationsRequest = SetServiceLocationsRequest;\n  type bookingsServicesV2Service_universal_d_RemovedLocationSessionsAction = RemovedLocationSessionsAction;\n  type bookingsServicesV2Service_universal_d_RemovedLocationSessionsActionActionOptionsOneOf = RemovedLocationSessionsActionActionOptionsOneOf;\n  type bookingsServicesV2Service_universal_d_Action = Action;\n  const bookingsServicesV2Service_universal_d_Action: typeof Action;\n  type bookingsServicesV2Service_universal_d_MoveToNewLocationsOptions = MoveToNewLocationsOptions;\n  type bookingsServicesV2Service_universal_d_SetServiceLocationsResponse = SetServiceLocationsResponse;\n  type bookingsServicesV2Service_universal_d_EnablePricingPlansForServiceRequest = EnablePricingPlansForServiceRequest;\n  type bookingsServicesV2Service_universal_d_EnablePricingPlansForServiceResponse = EnablePricingPlansForServiceResponse;\n  type bookingsServicesV2Service_universal_d_InvalidPricingPlan = InvalidPricingPlan;\n  type bookingsServicesV2Service_universal_d_DisablePricingPlansForServiceRequest = DisablePricingPlansForServiceRequest;\n  type bookingsServicesV2Service_universal_d_DisablePricingPlansForServiceResponse = DisablePricingPlansForServiceResponse;\n  type bookingsServicesV2Service_universal_d_SetCustomSlugRequest = SetCustomSlugRequest;\n  type bookingsServicesV2Service_universal_d_SetCustomSlugResponse = SetCustomSlugResponse;\n  type bookingsServicesV2Service_universal_d_ValidateSlugRequest = ValidateSlugRequest;\n  type bookingsServicesV2Service_universal_d_ValidateSlugResponse = ValidateSlugResponse;\n  type bookingsServicesV2Service_universal_d_InvalidSlugError = InvalidSlugError;\n  const bookingsServicesV2Service_universal_d_InvalidSlugError: typeof InvalidSlugError;\n  type bookingsServicesV2Service_universal_d_CloneServiceRequest = CloneServiceRequest;\n  type bookingsServicesV2Service_universal_d_CloneServiceResponse = CloneServiceResponse;\n  type bookingsServicesV2Service_universal_d_CloneErrors = CloneErrors;\n  const bookingsServicesV2Service_universal_d_CloneErrors: typeof CloneErrors;\n  type bookingsServicesV2Service_universal_d_CategoryNotification = CategoryNotification;\n  type bookingsServicesV2Service_universal_d_Category = Category;\n  type bookingsServicesV2Service_universal_d_Event = Event;\n  const bookingsServicesV2Service_universal_d_Event: typeof Event;\n  type bookingsServicesV2Service_universal_d_V1Schedule = V1Schedule;\n  type bookingsServicesV2Service_universal_d_V1Location = V1Location;\n  type bookingsServicesV2Service_universal_d_CommonAddress = CommonAddress;\n  type bookingsServicesV2Service_universal_d_CommonAddressStreetOneOf = CommonAddressStreetOneOf;\n  type bookingsServicesV2Service_universal_d_CommonStreetAddress = CommonStreetAddress;\n  type bookingsServicesV2Service_universal_d_CommonAddressLocation = CommonAddressLocation;\n  type bookingsServicesV2Service_universal_d_V1AvailabilityConstraints = V1AvailabilityConstraints;\n  type bookingsServicesV2Service_universal_d_SessionStatus = SessionStatus;\n  const bookingsServicesV2Service_universal_d_SessionStatus: typeof SessionStatus;\n  type bookingsServicesV2Service_universal_d_V1ParticipantNotification = V1ParticipantNotification;\n  type bookingsServicesV2Service_universal_d_ResourceNotification = ResourceNotification;\n  type bookingsServicesV2Service_universal_d_ResourceStatus = ResourceStatus;\n  const bookingsServicesV2Service_universal_d_ResourceStatus: typeof ResourceStatus;\n  type bookingsServicesV2Service_universal_d_BusinessLocation = BusinessLocation;\n  type bookingsServicesV2Service_universal_d_ResourceNotificationEvent = ResourceNotificationEvent;\n  const bookingsServicesV2Service_universal_d_ResourceNotificationEvent: typeof ResourceNotificationEvent;\n  type bookingsServicesV2Service_universal_d_BenefitNotification = BenefitNotification;\n  type bookingsServicesV2Service_universal_d_Benefit = Benefit;\n  type bookingsServicesV2Service_universal_d_EntryPass = EntryPass;\n  type bookingsServicesV2Service_universal_d_Discount = Discount;\n  type bookingsServicesV2Service_universal_d_DiscountDiscountOneOf = DiscountDiscountOneOf;\n  type bookingsServicesV2Service_universal_d_BenefitType = BenefitType;\n  const bookingsServicesV2Service_universal_d_BenefitType: typeof BenefitType;\n  type bookingsServicesV2Service_universal_d_Behavior = Behavior;\n  type bookingsServicesV2Service_universal_d_BehaviorBehaviorOneOf = BehaviorBehaviorOneOf;\n  type bookingsServicesV2Service_universal_d_BenefitNotificationEvent = BenefitNotificationEvent;\n  const bookingsServicesV2Service_universal_d_BenefitNotificationEvent: typeof BenefitNotificationEvent;\n  type bookingsServicesV2Service_universal_d_UserDomainInfoChangedEvent = UserDomainInfoChangedEvent;\n  type bookingsServicesV2Service_universal_d_CrudType = CrudType;\n  const bookingsServicesV2Service_universal_d_CrudType: typeof CrudType;\n  type bookingsServicesV2Service_universal_d_HtmlSitePublished = HtmlSitePublished;\n  type bookingsServicesV2Service_universal_d_Page = Page;\n  type bookingsServicesV2Service_universal_d_V4Address = V4Address;\n  type bookingsServicesV2Service_universal_d_MultiServiceEnabledNotification = MultiServiceEnabledNotification;\n  const bookingsServicesV2Service_universal_d_createService: typeof createService;\n  const bookingsServicesV2Service_universal_d_bulkCreateServices: typeof bulkCreateServices;\n  type bookingsServicesV2Service_universal_d_BulkCreateServicesOptions = BulkCreateServicesOptions;\n  const bookingsServicesV2Service_universal_d_getService: typeof getService;\n  type bookingsServicesV2Service_universal_d_GetServiceOptions = GetServiceOptions;\n  const bookingsServicesV2Service_universal_d_getServiceAvailabilityConstraints: typeof getServiceAvailabilityConstraints;\n  const bookingsServicesV2Service_universal_d_updateService: typeof updateService;\n  type bookingsServicesV2Service_universal_d_UpdateService = UpdateService;\n  type bookingsServicesV2Service_universal_d_UpdateServiceOptions = UpdateServiceOptions;\n  const bookingsServicesV2Service_universal_d_bulkUpdateServices: typeof bulkUpdateServices;\n  type bookingsServicesV2Service_universal_d_BulkUpdateServicesOptions = BulkUpdateServicesOptions;\n  const bookingsServicesV2Service_universal_d_bulkUpdateServicesByFilter: typeof bulkUpdateServicesByFilter;\n  type bookingsServicesV2Service_universal_d_BulkUpdateServicesByFilterOptions = BulkUpdateServicesByFilterOptions;\n  const bookingsServicesV2Service_universal_d_deleteService: typeof deleteService;\n  type bookingsServicesV2Service_universal_d_DeleteServiceOptions = DeleteServiceOptions;\n  const bookingsServicesV2Service_universal_d_bulkDeleteServices: typeof bulkDeleteServices;\n  type bookingsServicesV2Service_universal_d_BulkDeleteServicesOptions = BulkDeleteServicesOptions;\n  const bookingsServicesV2Service_universal_d_bulkDeleteServicesByFilter: typeof bulkDeleteServicesByFilter;\n  type bookingsServicesV2Service_universal_d_BulkDeleteServicesByFilterOptions = BulkDeleteServicesByFilterOptions;\n  const bookingsServicesV2Service_universal_d_queryServices: typeof queryServices;\n  type bookingsServicesV2Service_universal_d_QueryServicesOptions = QueryServicesOptions;\n  type bookingsServicesV2Service_universal_d_ServicesQueryResult = ServicesQueryResult;\n  type bookingsServicesV2Service_universal_d_ServicesQueryBuilder = ServicesQueryBuilder;\n  const bookingsServicesV2Service_universal_d_searchServices: typeof searchServices;\n  const bookingsServicesV2Service_universal_d_queryPolicies: typeof queryPolicies;\n  const bookingsServicesV2Service_universal_d_countServices: typeof countServices;\n  type bookingsServicesV2Service_universal_d_CountServicesOptions = CountServicesOptions;\n  const bookingsServicesV2Service_universal_d_queryLocations: typeof queryLocations;\n  type bookingsServicesV2Service_universal_d_QueryLocationsOptions = QueryLocationsOptions;\n  const bookingsServicesV2Service_universal_d_queryCategories: typeof queryCategories;\n  type bookingsServicesV2Service_universal_d_QueryCategoriesOptions = QueryCategoriesOptions;\n  const bookingsServicesV2Service_universal_d_queryServicesMultiLanguage: typeof queryServicesMultiLanguage;\n  type bookingsServicesV2Service_universal_d_QueryServicesMultiLanguageOptions = QueryServicesMultiLanguageOptions;\n  const bookingsServicesV2Service_universal_d_setServiceLocations: typeof setServiceLocations;\n  type bookingsServicesV2Service_universal_d_SetServiceLocationsOptions = SetServiceLocationsOptions;\n  const bookingsServicesV2Service_universal_d_enablePricingPlansForService: typeof enablePricingPlansForService;\n  const bookingsServicesV2Service_universal_d_disablePricingPlansForService: typeof disablePricingPlansForService;\n  type bookingsServicesV2Service_universal_d_DisablePricingPlansForServiceOptions = DisablePricingPlansForServiceOptions;\n  const bookingsServicesV2Service_universal_d_setCustomSlug: typeof setCustomSlug;\n  const bookingsServicesV2Service_universal_d_validateSlug: typeof validateSlug;\n  type bookingsServicesV2Service_universal_d_ValidateSlugOptions = ValidateSlugOptions;\n  const bookingsServicesV2Service_universal_d_cloneService: typeof cloneService;\n  type bookingsServicesV2Service_universal_d_CloneServiceOptions = CloneServiceOptions;\n  namespace bookingsServicesV2Service_universal_d {\n    export {\n      bookingsServicesV2Service_universal_d_Service as Service,\n      bookingsServicesV2Service_universal_d_ServiceType as ServiceType,\n      bookingsServicesV2Service_universal_d_Media as Media,\n      MediaItem$1 as MediaItem,\n      bookingsServicesV2Service_universal_d_MediaItemItemOneOf as MediaItemItemOneOf,\n      bookingsServicesV2Service_universal_d_V2Category as V2Category,\n      bookingsServicesV2Service_universal_d_Form as Form,\n      bookingsServicesV2Service_universal_d_FormSettings as FormSettings,\n      bookingsServicesV2Service_universal_d_Payment as Payment,\n      bookingsServicesV2Service_universal_d_PaymentRateOneOf as PaymentRateOneOf,\n      bookingsServicesV2Service_universal_d_RateType as RateType,\n      bookingsServicesV2Service_universal_d_FixedPayment as FixedPayment,\n      bookingsServicesV2Service_universal_d_CommonMoney as CommonMoney,\n      bookingsServicesV2Service_universal_d_CustomPayment as CustomPayment,\n      bookingsServicesV2Service_universal_d_VariedPayment as VariedPayment,\n      bookingsServicesV2Service_universal_d_PaymentOptions as PaymentOptions,\n      bookingsServicesV2Service_universal_d_OnlineBooking as OnlineBooking,\n      bookingsServicesV2Service_universal_d_Conferencing as Conferencing,\n      Location$3 as Location,\n      bookingsServicesV2Service_universal_d_LocationOptionsOneOf as LocationOptionsOneOf,\n      LocationType$3 as LocationType,\n      Address$4 as Address,\n      AddressStreetOneOf$3 as AddressStreetOneOf,\n      StreetAddress$3 as StreetAddress,\n      AddressLocation$3 as AddressLocation,\n      bookingsServicesV2Service_universal_d_BusinessLocationOptions as BusinessLocationOptions,\n      bookingsServicesV2Service_universal_d_CustomLocationOptions as CustomLocationOptions,\n      BookingPolicy$1 as BookingPolicy,\n      PolicyDescription$1 as PolicyDescription,\n      LimitEarlyBookingPolicy$1 as LimitEarlyBookingPolicy,\n      LimitLateBookingPolicy$1 as LimitLateBookingPolicy,\n      BookAfterStartPolicy$1 as BookAfterStartPolicy,\n      CancellationPolicy$1 as CancellationPolicy,\n      ReschedulePolicy$1 as ReschedulePolicy,\n      WaitlistPolicy$1 as WaitlistPolicy,\n      ParticipantsPolicy$1 as ParticipantsPolicy,\n      ResourcesPolicy$1 as ResourcesPolicy,\n      CancellationFeePolicy$1 as CancellationFeePolicy,\n      CancellationWindow$1 as CancellationWindow,\n      CancellationWindowFeeOneOf$1 as CancellationWindowFeeOneOf,\n      SaveCreditCardPolicy$1 as SaveCreditCardPolicy,\n      Schedule$1 as Schedule,\n      AvailabilityConstraints$1 as AvailabilityConstraints,\n      StaffMember$1 as StaffMember,\n      bookingsServicesV2Service_universal_d_StaffMediaItem as StaffMediaItem,\n      bookingsServicesV2Service_universal_d_StaffMediaItemItemOneOf as StaffMediaItemItemOneOf,\n      bookingsServicesV2Service_universal_d_StaffMemberDetails as StaffMemberDetails,\n      bookingsServicesV2Service_universal_d_ResourceGroup as ResourceGroup,\n      bookingsServicesV2Service_universal_d_ResourceIds as ResourceIds,\n      bookingsServicesV2Service_universal_d_ServiceResource as ServiceResource,\n      bookingsServicesV2Service_universal_d_ServiceResourceSelectionOneOf as ServiceResourceSelectionOneOf,\n      bookingsServicesV2Service_universal_d_ResourceType as ResourceType,\n      bookingsServicesV2Service_universal_d_Slug as Slug,\n      bookingsServicesV2Service_universal_d_URLs as URLs,\n      ExtendedFields$4 as ExtendedFields,\n      bookingsServicesV2Service_universal_d_SeoSchema as SeoSchema,\n      bookingsServicesV2Service_universal_d_Keyword as Keyword,\n      bookingsServicesV2Service_universal_d_Tag as Tag,\n      bookingsServicesV2Service_universal_d_Settings as Settings,\n      bookingsServicesV2Service_universal_d_ReindexMessage as ReindexMessage,\n      bookingsServicesV2Service_universal_d_ReindexMessageActionOneOf as ReindexMessageActionOneOf,\n      bookingsServicesV2Service_universal_d_Upsert as Upsert,\n      bookingsServicesV2Service_universal_d_Delete as Delete,\n      bookingsServicesV2Service_universal_d_Schema as Schema,\n      bookingsServicesV2Service_universal_d_SetCustomSlugEvent as SetCustomSlugEvent,\n      bookingsServicesV2Service_universal_d_ServicesUrlsChanged as ServicesUrlsChanged,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      bookingsServicesV2Service_universal_d_CreateServiceRequest as CreateServiceRequest,\n      bookingsServicesV2Service_universal_d_CreateServiceResponse as CreateServiceResponse,\n      bookingsServicesV2Service_universal_d_BulkCreateServicesRequest as BulkCreateServicesRequest,\n      bookingsServicesV2Service_universal_d_BulkCreateServicesResponse as BulkCreateServicesResponse,\n      bookingsServicesV2Service_universal_d_BulkServiceResult as BulkServiceResult,\n      ItemMetadata$2 as ItemMetadata,\n      ApplicationError$2 as ApplicationError,\n      BulkActionMetadata$2 as BulkActionMetadata,\n      bookingsServicesV2Service_universal_d_GetServiceRequest as GetServiceRequest,\n      RequestedFields$1 as RequestedFields,\n      bookingsServicesV2Service_universal_d_GetServiceResponse as GetServiceResponse,\n      bookingsServicesV2Service_universal_d_GetServiceAvailabilityConstraintsRequest as GetServiceAvailabilityConstraintsRequest,\n      bookingsServicesV2Service_universal_d_GetServiceAvailabilityConstraintsResponse as GetServiceAvailabilityConstraintsResponse,\n      bookingsServicesV2Service_universal_d_ServiceAvailabilityConstraints as ServiceAvailabilityConstraints,\n      bookingsServicesV2Service_universal_d_V1SplitInterval as V1SplitInterval,\n      bookingsServicesV2Service_universal_d_UpdateServiceRequest as UpdateServiceRequest,\n      bookingsServicesV2Service_universal_d_UpdateServiceResponse as UpdateServiceResponse,\n      bookingsServicesV2Service_universal_d_BulkUpdateServicesRequest as BulkUpdateServicesRequest,\n      bookingsServicesV2Service_universal_d_MaskedService as MaskedService,\n      bookingsServicesV2Service_universal_d_BulkUpdateServicesResponse as BulkUpdateServicesResponse,\n      bookingsServicesV2Service_universal_d_BulkUpdateServicesByFilterRequest as BulkUpdateServicesByFilterRequest,\n      bookingsServicesV2Service_universal_d_BulkUpdateServicesByFilterResponse as BulkUpdateServicesByFilterResponse,\n      bookingsServicesV2Service_universal_d_DeleteServiceRequest as DeleteServiceRequest,\n      ParticipantNotification$4 as ParticipantNotification,\n      bookingsServicesV2Service_universal_d_DeleteServiceResponse as DeleteServiceResponse,\n      bookingsServicesV2Service_universal_d_BulkDeleteServicesRequest as BulkDeleteServicesRequest,\n      bookingsServicesV2Service_universal_d_BulkDeleteServicesResponse as BulkDeleteServicesResponse,\n      bookingsServicesV2Service_universal_d_BulkDeleteServicesByFilterRequest as BulkDeleteServicesByFilterRequest,\n      bookingsServicesV2Service_universal_d_BulkDeleteServicesByFilterResponse as BulkDeleteServicesByFilterResponse,\n      bookingsServicesV2Service_universal_d_QueryServicesRequest as QueryServicesRequest,\n      QueryV2$2 as QueryV2,\n      QueryV2PagingMethodOneOf$2 as QueryV2PagingMethodOneOf,\n      Sorting$4 as Sorting,\n      SortOrder$4 as SortOrder,\n      Paging$2 as Paging,\n      CursorPaging$4 as CursorPaging,\n      bookingsServicesV2Service_universal_d_QueryServicesResponse as QueryServicesResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$4 as Cursors,\n      bookingsServicesV2Service_universal_d_SearchServicesRequest as SearchServicesRequest,\n      CursorSearch$1 as CursorSearch,\n      CursorSearchPagingMethodOneOf$1 as CursorSearchPagingMethodOneOf,\n      bookingsServicesV2Service_universal_d_Aggregation as Aggregation,\n      bookingsServicesV2Service_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      bookingsServicesV2Service_universal_d_RangeBucket as RangeBucket,\n      bookingsServicesV2Service_universal_d_SortType as SortType,\n      bookingsServicesV2Service_universal_d_SortDirection as SortDirection,\n      bookingsServicesV2Service_universal_d_MissingValues as MissingValues,\n      bookingsServicesV2Service_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions,\n      ScalarType$1 as ScalarType,\n      bookingsServicesV2Service_universal_d_ValueAggregation as ValueAggregation,\n      bookingsServicesV2Service_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf,\n      bookingsServicesV2Service_universal_d_NestedAggregationType as NestedAggregationType,\n      bookingsServicesV2Service_universal_d_RangeAggregation as RangeAggregation,\n      bookingsServicesV2Service_universal_d_ScalarAggregation as ScalarAggregation,\n      bookingsServicesV2Service_universal_d_DateHistogramAggregation as DateHistogramAggregation,\n      bookingsServicesV2Service_universal_d_DateHistogramAggregationInterval as DateHistogramAggregationInterval,\n      bookingsServicesV2Service_universal_d_NestedAggregationItem as NestedAggregationItem,\n      bookingsServicesV2Service_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      AggregationType$1 as AggregationType,\n      bookingsServicesV2Service_universal_d_NestedAggregation as NestedAggregation,\n      bookingsServicesV2Service_universal_d_GroupByAggregation as GroupByAggregation,\n      bookingsServicesV2Service_universal_d_GroupByAggregationKindOneOf as GroupByAggregationKindOneOf,\n      SearchDetails$1 as SearchDetails,\n      Mode$1 as Mode,\n      bookingsServicesV2Service_universal_d_SearchServicesResponse as SearchServicesResponse,\n      CursorPagingMetadata$3 as CursorPagingMetadata,\n      AggregationData$1 as AggregationData,\n      ValueAggregationResult$1 as ValueAggregationResult,\n      RangeAggregationResult$1 as RangeAggregationResult,\n      NestedAggregationResults$1 as NestedAggregationResults,\n      NestedAggregationResultsResultOneOf$1 as NestedAggregationResultsResultOneOf,\n      ValueResults$1 as ValueResults,\n      RangeResults$1 as RangeResults,\n      ScalarResult$1 as ScalarResult,\n      NestedValueAggregationResult$1 as NestedValueAggregationResult,\n      bookingsServicesV2Service_universal_d_ValueResult as ValueResult,\n      bookingsServicesV2Service_universal_d_RangeResult as RangeResult,\n      bookingsServicesV2Service_universal_d_NestedResultsScalarResult as NestedResultsScalarResult,\n      bookingsServicesV2Service_universal_d_NestedResultValue as NestedResultValue,\n      bookingsServicesV2Service_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      bookingsServicesV2Service_universal_d_Results as Results,\n      bookingsServicesV2Service_universal_d_DateHistogramResult as DateHistogramResult,\n      GroupByValueResults$1 as GroupByValueResults,\n      bookingsServicesV2Service_universal_d_DateHistogramResults as DateHistogramResults,\n      bookingsServicesV2Service_universal_d_NestedResults as NestedResults,\n      AggregationResults$1 as AggregationResults,\n      AggregationResultsResultOneOf$1 as AggregationResultsResultOneOf,\n      bookingsServicesV2Service_universal_d_QueryPoliciesRequest as QueryPoliciesRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      bookingsServicesV2Service_universal_d_QueryPoliciesResponse as QueryPoliciesResponse,\n      bookingsServicesV2Service_universal_d_BookingPolicyWithServices as BookingPolicyWithServices,\n      bookingsServicesV2Service_universal_d_CountServicesRequest as CountServicesRequest,\n      bookingsServicesV2Service_universal_d_CountServicesResponse as CountServicesResponse,\n      bookingsServicesV2Service_universal_d_QueryLocationsRequest as QueryLocationsRequest,\n      bookingsServicesV2Service_universal_d_QueryLocationsFilter as QueryLocationsFilter,\n      bookingsServicesV2Service_universal_d_QueryLocationsResponse as QueryLocationsResponse,\n      bookingsServicesV2Service_universal_d_BusinessLocations as BusinessLocations,\n      bookingsServicesV2Service_universal_d_CustomLocations as CustomLocations,\n      bookingsServicesV2Service_universal_d_CustomerLocations as CustomerLocations,\n      bookingsServicesV2Service_universal_d_QueryCategoriesRequest as QueryCategoriesRequest,\n      bookingsServicesV2Service_universal_d_QueryCategoriesFilter as QueryCategoriesFilter,\n      bookingsServicesV2Service_universal_d_QueryCategoriesResponse as QueryCategoriesResponse,\n      bookingsServicesV2Service_universal_d_QueryServicesMultiLanguageRequest as QueryServicesMultiLanguageRequest,\n      bookingsServicesV2Service_universal_d_QueryServicesMultiLanguageResponse as QueryServicesMultiLanguageResponse,\n      bookingsServicesV2Service_universal_d_SetServiceLocationsRequest as SetServiceLocationsRequest,\n      bookingsServicesV2Service_universal_d_RemovedLocationSessionsAction as RemovedLocationSessionsAction,\n      bookingsServicesV2Service_universal_d_RemovedLocationSessionsActionActionOptionsOneOf as RemovedLocationSessionsActionActionOptionsOneOf,\n      bookingsServicesV2Service_universal_d_Action as Action,\n      bookingsServicesV2Service_universal_d_MoveToNewLocationsOptions as MoveToNewLocationsOptions,\n      bookingsServicesV2Service_universal_d_SetServiceLocationsResponse as SetServiceLocationsResponse,\n      bookingsServicesV2Service_universal_d_EnablePricingPlansForServiceRequest as EnablePricingPlansForServiceRequest,\n      bookingsServicesV2Service_universal_d_EnablePricingPlansForServiceResponse as EnablePricingPlansForServiceResponse,\n      bookingsServicesV2Service_universal_d_InvalidPricingPlan as InvalidPricingPlan,\n      bookingsServicesV2Service_universal_d_DisablePricingPlansForServiceRequest as DisablePricingPlansForServiceRequest,\n      bookingsServicesV2Service_universal_d_DisablePricingPlansForServiceResponse as DisablePricingPlansForServiceResponse,\n      bookingsServicesV2Service_universal_d_SetCustomSlugRequest as SetCustomSlugRequest,\n      bookingsServicesV2Service_universal_d_SetCustomSlugResponse as SetCustomSlugResponse,\n      bookingsServicesV2Service_universal_d_ValidateSlugRequest as ValidateSlugRequest,\n      bookingsServicesV2Service_universal_d_ValidateSlugResponse as ValidateSlugResponse,\n      bookingsServicesV2Service_universal_d_InvalidSlugError as InvalidSlugError,\n      bookingsServicesV2Service_universal_d_CloneServiceRequest as CloneServiceRequest,\n      bookingsServicesV2Service_universal_d_CloneServiceResponse as CloneServiceResponse,\n      bookingsServicesV2Service_universal_d_CloneErrors as CloneErrors,\n      bookingsServicesV2Service_universal_d_CategoryNotification as CategoryNotification,\n      bookingsServicesV2Service_universal_d_Category as Category,\n      Status$1 as Status,\n      bookingsServicesV2Service_universal_d_Event as Event,\n      Empty$2 as Empty,\n      ScheduleNotification$1 as ScheduleNotification,\n      ScheduleNotificationEventOneOf$1 as ScheduleNotificationEventOneOf,\n      ScheduleCreated$1 as ScheduleCreated,\n      bookingsServicesV2Service_universal_d_V1Schedule as V1Schedule,\n      RecurringInterval$1 as RecurringInterval,\n      Interval$1 as Interval,\n      Day$1 as Day,\n      Frequency$1 as Frequency,\n      LinkedSchedule$1 as LinkedSchedule,\n      Transparency$1 as Transparency,\n      RecurringIntervalType$1 as RecurringIntervalType,\n      bookingsServicesV2Service_universal_d_V1Location as V1Location,\n      LocationLocationType$1 as LocationLocationType,\n      bookingsServicesV2Service_universal_d_CommonAddress as CommonAddress,\n      bookingsServicesV2Service_universal_d_CommonAddressStreetOneOf as CommonAddressStreetOneOf,\n      bookingsServicesV2Service_universal_d_CommonStreetAddress as CommonStreetAddress,\n      bookingsServicesV2Service_universal_d_CommonAddressLocation as CommonAddressLocation,\n      Subdivision$3 as Subdivision,\n      LocationsLocation$1 as LocationsLocation,\n      LocationStatus$1 as LocationStatus,\n      LocationsLocationType$1 as LocationsLocationType,\n      LocationsAddress$1 as LocationsAddress,\n      LocationsStreetAddress$1 as LocationsStreetAddress,\n      LocationsAddressLocation$1 as LocationsAddressLocation,\n      BusinessSchedule$2 as BusinessSchedule,\n      TimePeriod$2 as TimePeriod,\n      DayOfWeek$2 as DayOfWeek,\n      SpecialHourPeriod$2 as SpecialHourPeriod,\n      Rate$1 as Rate,\n      Price$1 as Price,\n      Availability$1 as Availability,\n      bookingsServicesV2Service_universal_d_V1AvailabilityConstraints as V1AvailabilityConstraints,\n      SplitInterval$1 as SplitInterval,\n      Participant$1 as Participant,\n      ApprovalStatus$1 as ApprovalStatus,\n      ExternalCalendarOverrides$1 as ExternalCalendarOverrides,\n      ScheduleStatus$1 as ScheduleStatus,\n      Version$1 as Version,\n      ConferenceProvider$1 as ConferenceProvider,\n      CalendarConference$1 as CalendarConference,\n      ConferenceType$1 as ConferenceType,\n      ScheduleUpdated$1 as ScheduleUpdated,\n      RecurringSessionsUpdated$1 as RecurringSessionsUpdated,\n      Session$1 as Session,\n      CalendarDateTime$1 as CalendarDateTime,\n      LocalDateTime$1 as LocalDateTime,\n      ExternalCalendarInfo$1 as ExternalCalendarInfo,\n      CalendarType$1 as CalendarType,\n      bookingsServicesV2Service_universal_d_SessionStatus as SessionStatus,\n      SessionType$1 as SessionType,\n      SessionVersion$1 as SessionVersion,\n      bookingsServicesV2Service_universal_d_V1ParticipantNotification as V1ParticipantNotification,\n      ScheduleCancelled$1 as ScheduleCancelled,\n      SessionCreated$1 as SessionCreated,\n      SessionUpdated$1 as SessionUpdated,\n      SessionCancelled$1 as SessionCancelled,\n      AvailabilityPolicyUpdated$1 as AvailabilityPolicyUpdated,\n      AvailabilityPolicy$1 as AvailabilityPolicy,\n      IntervalSplit$1 as IntervalSplit,\n      RecurringSessionSplit$1 as RecurringSessionSplit,\n      ScheduleUnassignedFromUser$1 as ScheduleUnassignedFromUser,\n      MultipleSessionsCreated$1 as MultipleSessionsCreated,\n      ScheduleWithSessions$1 as ScheduleWithSessions,\n      SitePropertiesOnScheduleCreation$1 as SitePropertiesOnScheduleCreation,\n      MigrationEvent$1 as MigrationEvent,\n      MigrationData$1 as MigrationData,\n      StaffData$1 as StaffData,\n      bookingsServicesV2Service_universal_d_ResourceNotification as ResourceNotification,\n      Resource$1 as Resource,\n      bookingsServicesV2Service_universal_d_ResourceStatus as ResourceStatus,\n      bookingsServicesV2Service_universal_d_BusinessLocation as BusinessLocation,\n      bookingsServicesV2Service_universal_d_ResourceNotificationEvent as ResourceNotificationEvent,\n      bookingsServicesV2Service_universal_d_BenefitNotification as BenefitNotification,\n      bookingsServicesV2Service_universal_d_Benefit as Benefit,\n      bookingsServicesV2Service_universal_d_EntryPass as EntryPass,\n      bookingsServicesV2Service_universal_d_Discount as Discount,\n      bookingsServicesV2Service_universal_d_DiscountDiscountOneOf as DiscountDiscountOneOf,\n      bookingsServicesV2Service_universal_d_BenefitType as BenefitType,\n      bookingsServicesV2Service_universal_d_Behavior as Behavior,\n      bookingsServicesV2Service_universal_d_BehaviorBehaviorOneOf as BehaviorBehaviorOneOf,\n      bookingsServicesV2Service_universal_d_BenefitNotificationEvent as BenefitNotificationEvent,\n      bookingsServicesV2Service_universal_d_UserDomainInfoChangedEvent as UserDomainInfoChangedEvent,\n      bookingsServicesV2Service_universal_d_CrudType as CrudType,\n      bookingsServicesV2Service_universal_d_HtmlSitePublished as HtmlSitePublished,\n      bookingsServicesV2Service_universal_d_Page as Page,\n      SitePropertiesNotification$1 as SitePropertiesNotification,\n      SitePropertiesEvent$1 as SitePropertiesEvent,\n      Properties$1 as Properties,\n      Categories$1 as Categories,\n      Locale$1 as Locale,\n      bookingsServicesV2Service_universal_d_V4Address as V4Address,\n      AddressHint$1 as AddressHint,\n      PlacementType$1 as PlacementType,\n      GeoCoordinates$1 as GeoCoordinates,\n      Multilingual$1 as Multilingual,\n      SupportedLanguage$1 as SupportedLanguage,\n      ResolutionMethod$1 as ResolutionMethod,\n      ConsentPolicy$1 as ConsentPolicy,\n      Translation$1 as Translation,\n      ChangeContext$1 as ChangeContext,\n      ChangeContextPayloadOneOf$1 as ChangeContextPayloadOneOf,\n      PropertiesChange$1 as PropertiesChange,\n      SiteCreated$2 as SiteCreated,\n      SiteCloned$1 as SiteCloned,\n      bookingsServicesV2Service_universal_d_MultiServiceEnabledNotification as MultiServiceEnabledNotification,\n      bookingsServicesV2Service_universal_d_createService as createService,\n      bookingsServicesV2Service_universal_d_bulkCreateServices as bulkCreateServices,\n      bookingsServicesV2Service_universal_d_BulkCreateServicesOptions as BulkCreateServicesOptions,\n      bookingsServicesV2Service_universal_d_getService as getService,\n      bookingsServicesV2Service_universal_d_GetServiceOptions as GetServiceOptions,\n      bookingsServicesV2Service_universal_d_getServiceAvailabilityConstraints as getServiceAvailabilityConstraints,\n      bookingsServicesV2Service_universal_d_updateService as updateService,\n      bookingsServicesV2Service_universal_d_UpdateService as UpdateService,\n      bookingsServicesV2Service_universal_d_UpdateServiceOptions as UpdateServiceOptions,\n      bookingsServicesV2Service_universal_d_bulkUpdateServices as bulkUpdateServices,\n      bookingsServicesV2Service_universal_d_BulkUpdateServicesOptions as BulkUpdateServicesOptions,\n      bookingsServicesV2Service_universal_d_bulkUpdateServicesByFilter as bulkUpdateServicesByFilter,\n      bookingsServicesV2Service_universal_d_BulkUpdateServicesByFilterOptions as BulkUpdateServicesByFilterOptions,\n      bookingsServicesV2Service_universal_d_deleteService as deleteService,\n      bookingsServicesV2Service_universal_d_DeleteServiceOptions as DeleteServiceOptions,\n      bookingsServicesV2Service_universal_d_bulkDeleteServices as bulkDeleteServices,\n      bookingsServicesV2Service_universal_d_BulkDeleteServicesOptions as BulkDeleteServicesOptions,\n      bookingsServicesV2Service_universal_d_bulkDeleteServicesByFilter as bulkDeleteServicesByFilter,\n      bookingsServicesV2Service_universal_d_BulkDeleteServicesByFilterOptions as BulkDeleteServicesByFilterOptions,\n      bookingsServicesV2Service_universal_d_queryServices as queryServices,\n      bookingsServicesV2Service_universal_d_QueryServicesOptions as QueryServicesOptions,\n      bookingsServicesV2Service_universal_d_ServicesQueryResult as ServicesQueryResult,\n      bookingsServicesV2Service_universal_d_ServicesQueryBuilder as ServicesQueryBuilder,\n      bookingsServicesV2Service_universal_d_searchServices as searchServices,\n      bookingsServicesV2Service_universal_d_queryPolicies as queryPolicies,\n      bookingsServicesV2Service_universal_d_countServices as countServices,\n      bookingsServicesV2Service_universal_d_CountServicesOptions as CountServicesOptions,\n      bookingsServicesV2Service_universal_d_queryLocations as queryLocations,\n      bookingsServicesV2Service_universal_d_QueryLocationsOptions as QueryLocationsOptions,\n      bookingsServicesV2Service_universal_d_queryCategories as queryCategories,\n      bookingsServicesV2Service_universal_d_QueryCategoriesOptions as QueryCategoriesOptions,\n      bookingsServicesV2Service_universal_d_queryServicesMultiLanguage as queryServicesMultiLanguage,\n      bookingsServicesV2Service_universal_d_QueryServicesMultiLanguageOptions as QueryServicesMultiLanguageOptions,\n      bookingsServicesV2Service_universal_d_setServiceLocations as setServiceLocations,\n      bookingsServicesV2Service_universal_d_SetServiceLocationsOptions as SetServiceLocationsOptions,\n      bookingsServicesV2Service_universal_d_enablePricingPlansForService as enablePricingPlansForService,\n      bookingsServicesV2Service_universal_d_disablePricingPlansForService as disablePricingPlansForService,\n      bookingsServicesV2Service_universal_d_DisablePricingPlansForServiceOptions as DisablePricingPlansForServiceOptions,\n      bookingsServicesV2Service_universal_d_setCustomSlug as setCustomSlug,\n      bookingsServicesV2Service_universal_d_validateSlug as validateSlug,\n      bookingsServicesV2Service_universal_d_ValidateSlugOptions as ValidateSlugOptions,\n      bookingsServicesV2Service_universal_d_cloneService as cloneService,\n      bookingsServicesV2Service_universal_d_CloneServiceOptions as CloneServiceOptions,\n    };\n  }\n  \n  /** StaffMember is the main entity of Bookings StaffMembers. used to manage staff providing services */\n  interface StaffMember {\n      /**\n       * Staff member's ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Staff member's name. */\n      name?: string | null;\n      /** Staff member's email address. */\n      email?: string | null;\n      /** Staff member's phone number. */\n      phone?: string | null;\n      /** Description, For example: \"The best masseuse in all of the land\" */\n      description?: string | null;\n      /** The media of the staff. */\n      mainMedia?: MediaItem;\n      /**\n       * The related calendar resource id, same as `resource.id`\n       * @readonly\n       */\n      resourceId?: string | null;\n      /**\n       * The related calendar resource\n       * @readonly\n       */\n      resource?: Resource;\n      /**\n       * The identity of the Wix user associated with the staff member.\n       *\n       * To connect a staff member to a Wix user, use `ConnectStaffMemberToUser`.\n       * To disconnect a staff member from a Wix user, use `DisconnectStaffMemberFromUser`.\n       * @readonly\n       */\n      associatedWixIdentity?: AssociatedWixIdentity;\n      /**\n       * A staff member conferencing providers.\n       * Field is deprecated, use associated_conferencing_accounts instead.\n       * @internal\n       * @readonly\n       * @deprecated\n       * @replacedBy associated_conferencing_accounts\n       * @targetRemovalDate 2024-10-01\n       */\n      associatedConferencingProviders?: AssociatedConferencingProviders;\n      /**\n       * Conferencing accounts used to create meetings links with this staff member.\n       * @internal\n       * @readonly\n       */\n      associatedConferencingAccounts?: AssociatedConferencingAccounts;\n      /**\n       * `true` - if staff was auto created default staff.\n       * @internal\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Revision number, which increments by 1 each time the staff member is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the staff member.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this staff member was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this staff member was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Extensions enabling users to save custom data related to the staff member. */\n      extendedFields?: ExtendedFields$3;\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** Staff members main image. */\n      image?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** Staff members main image. */\n      image?: string;\n  }\n  interface Resource {\n      /** The related calendar resource Id, same as `resourceId`. */\n      _id?: string | null;\n      /** The working hours schedules of the staff member, used to determine the availability of the staff member. Currently only one is supported. */\n      workingHoursSchedules?: WorkingHoursSchedule[];\n      /** The schedule containing the sessions in which this resource is booked. */\n      eventsSchedule?: EventSchedule;\n      /** `true` if the staff member uses the default business working hours schedule. Returns `false` otherwise. */\n      usesDefaultWorkingHours?: boolean;\n  }\n  interface WorkingHoursSchedule {\n      /** The related schedule ID */\n      _id?: string | null;\n      /** `true` if it is a shared schedule (For example, the default business working hours schedule), `false` or empty if this is a custom schedule specific to the resource. */\n      shared?: boolean;\n  }\n  interface EventSchedule {\n      /** The related schedule ID */\n      _id?: string | null;\n  }\n  /** A staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager. */\n  interface AssociatedWixIdentity {\n      /** Users identification data, returned only when the staff member is connected to a Wix user */\n      identificationData?: IdentificationData$4;\n      /**\n       * Staff members connection status to the user.\n       * @readonly\n       * @deprecated Staff members connection status to the user.\n       * @replacedBy connection_state\n       * @targetRemovalDate 2024-12-01\n       */\n      connectionStatus?: AssociatedWixIdentityConnectionStatusEnumConnectionStatus;\n      /**\n       * The connection state between a staff member and a Wix user.\n       * Returned only when `ASSOCIATED_IDENTITY_STATUS` is provided in the `fields` parameter.\n       * @readonly\n       */\n      connectionState?: ConnectionState;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  enum AssociatedWixIdentityConnectionStatusEnumConnectionStatus {\n      /** User connection status is unknown. */\n      UNKNOWN = \"UNKNOWN\",\n      /** User is connected to the staff member. */\n      CONNECTED = \"CONNECTED\",\n      /** User connection is pending. */\n      PENDING = \"PENDING\",\n      /** Pending connections invite has expired. */\n      EXPIRED = \"EXPIRED\",\n      /** User is disconnected from the staff member. */\n      DISCONNECTED = \"DISCONNECTED\"\n  }\n  interface ConnectionState {\n      /** @readonly */\n      status?: ConnectionStateConnectionState;\n  }\n  enum ConnectionStateConnectionState {\n      /** User connection status is unknown. Only returned when conditional field for status is not selected. */\n      UNKNOWN = \"UNKNOWN\",\n      /** User is connected to the staff member. */\n      CONNECTED = \"CONNECTED\",\n      /** User connection is pending. */\n      PENDING = \"PENDING\",\n      /** Pending connections invite has expired. */\n      EXPIRED = \"EXPIRED\",\n      /** User is disconnected from the staff member. */\n      DISCONNECTED = \"DISCONNECTED\"\n  }\n  interface AssociatedConferencingProviders {\n      /** Conferencing accounts that are connected to this staff. */\n      items?: AssociatedConferencingProvider[];\n  }\n  interface AssociatedConferencingProvider {\n      /** Conferencing provider id, e.g. Zoom integration identifier. */\n      _id?: string;\n      /** Provider name, e.g. Zoom. */\n      name?: string;\n      /** Connection status. */\n      connectionStatus?: ConnectionStatus;\n      /** Conferencing account email. Might not match staff email. */\n      accountEmail?: string | null;\n  }\n  enum ConnectionStatus {\n      UNKNOWN = \"UNKNOWN\",\n      /** Provider is connected to site and user is authenticated. */\n      CONNECTED = \"CONNECTED\",\n      /** Provider is not connected to site or user is not authenticated. */\n      DISCONNECTED = \"DISCONNECTED\"\n  }\n  interface AssociatedConferencingAccounts {\n      /** Conferencing accounts that are connected to this staff. */\n      items?: AssociatedConferencingAccount[];\n  }\n  interface AssociatedConferencingAccount extends AssociatedConferencingAccountAccountOneOf {\n      /**\n       * Conferencing for this staff member is configured via an external provider.\n       * For example, Zoom integration generating a link for sessions with the staff member.\n       */\n      providerAccount?: AssociatedConferencingProvider;\n      /**\n       * Conferencing for this staff member is configured via a custom conference link.\n       * Custom conference link details.\n       */\n      customAccount?: CustomConferenceAccount;\n  }\n  /** @oneof */\n  interface AssociatedConferencingAccountAccountOneOf {\n      /**\n       * Conferencing for this staff member is configured via an external provider.\n       * For example, Zoom integration generating a link for sessions with the staff member.\n       */\n      providerAccount?: AssociatedConferencingProvider;\n      /**\n       * Conferencing for this staff member is configured via a custom conference link.\n       * Custom conference link details.\n       */\n      customAccount?: CustomConferenceAccount;\n  }\n  interface CustomConferenceAccount {\n      /** Conferencing url. For example, a Google meet link. */\n      url?: string | null;\n      /** Optional password that protects the conferencing link. */\n      password?: string | null;\n      /** Optional description of the conference link. */\n      description?: string | null;\n  }\n  interface ExtendedFields$3 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateStaffMemberRequest {\n      /** Staff Member to be created. */\n      staffMember: StaffMember;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  enum RequestedFields {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /**\n       * Stating this value in the `fields` parameter would\n       * return the resource details, including the resource's schedule ids in the `resource` field.\n       */\n      RESOURCE_DETAILS = \"RESOURCE_DETAILS\",\n      /**\n       * Stating this value in the `fields` parameter would\n       * return the conference accounts used to create conference links, in the `associatedConferencingProviders` property.\n       */\n      ASSOCIATED_CONFERENCING_PROVIDERS = \"ASSOCIATED_CONFERENCING_PROVIDERS\",\n      /**\n       * Stating this value in the `fields` parameter would\n       * return `associatedWixIdentity.connectionState` which contains the connection status of a staff member to a Wix user.\n       */\n      ASSOCIATED_IDENTITY_STATUS = \"ASSOCIATED_IDENTITY_STATUS\",\n      /**\n       * Stating this value in the `fields` parameter would\n       * return the conference accounts used to create conference links, in the `associatedConferencingAccounts` property.\n       */\n      ASSOCIATED_CONFERENCING_ACCOUNTS = \"ASSOCIATED_CONFERENCING_ACCOUNTS\"\n  }\n  interface CreateStaffMemberResponse {\n      /** The created staff member. */\n      staffMember?: StaffMember;\n  }\n  /**\n   * This message is used to notify that a staff member has been fully created. For now it is only needed for\n   * producing the correct Resources V1 events. A decision will be made later whether to keep it or not.\n   */\n  interface StaffMemberFullyCreated {\n      /** the staff member that */\n      staffMember?: StaffMember;\n  }\n  interface GetStaffMemberRequest {\n      /** ID of the staff member to retrieve. */\n      staffMemberId: string;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface GetStaffMemberResponse {\n      /** The retrieved StaffMember. */\n      staffMember?: StaffMember;\n  }\n  interface GetDeletedStaffMemberRequest {\n      /** Id of the staff member to retrieve */\n      staffMemberId: string;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface GetDeletedStaffMemberResponse {\n      /** The retrieved staff member. */\n      staffMember?: StaffMember;\n  }\n  interface ListDeletedStaffMembersRequest {\n      /** The Ids of the staff members to retrieve. If omitted all deleted staff members will be retrieved paginated. */\n      staffMemberIds?: string[];\n      /** Paging parameter, enabling to pass a limit and a cursor. */\n      paging?: CursorPaging$3;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface CursorPaging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListDeletedStaffMembersResponse {\n      /** The retrieved staff members. */\n      staffMembers?: StaffMember[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$3;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$3 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface RemoveStaffMemberFromTrashBinRequest {\n      /** Id of the staff member to remove from the trash bin */\n      staffMemberId: string;\n  }\n  interface RemoveStaffMemberFromTrashBinResponse {\n  }\n  interface RestoreStaffMemberFromTrashBinRequest {\n      /** Id of the staff member to restore from the trash bin */\n      staffMemberId: string;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface RestoreStaffMemberFromTrashBinResponse {\n      /** The restored staff member. */\n      staffMember?: StaffMember;\n  }\n  interface UpdateStaffMemberRequest {\n      /** Staff member to update. [Partial */\n      staffMember: StaffMember;\n      /**\n       * updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests)\n       * are supported.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface UpdateStaffMemberResponse {\n      /** The updated staff member. */\n      staffMember?: StaffMember;\n  }\n  interface DeleteStaffMemberRequest {\n      /** Id of the staff member to delete. */\n      staffMemberId: string;\n  }\n  interface DeleteStaffMemberResponse {\n  }\n  interface StaffMemberDisconnectedFromUser {\n      /** The staff member entity after disconnecting it from a user. */\n      staffMember?: StaffMember;\n  }\n  interface QueryStaffMembersRequest {\n      /** WQL expression. */\n      query?: CursorQuery$1;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryStaffMembersResponse {\n      /** The retrieved staff members. */\n      staffMembers?: StaffMember[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface QueryStaffMembersMultiLanguageRequest {\n      /** WQL expression. */\n      query: CursorQuery$1;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface QueryStaffMembersMultiLanguageResponse {\n      /** The retrieved staff members. */\n      staffMembers?: StaffMember[];\n      /** The retrieved staff members in the requested language according to the provided linguist aspect. */\n      translatedStaffMembers?: StaffMember[];\n      /** Paging metadata, including offset and count. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CountStaffMembersRequest {\n      /** The filters for performing the count. */\n      filter?: Record<string, any> | null;\n  }\n  interface CountStaffMembersResponse {\n      /** The number of staff members matching the given filter. */\n      count?: number;\n  }\n  interface ConnectStaffMemberToUserRequest {\n      /** Id of the staff member. The staff member to connect to a user. */\n      staffMemberId: string;\n      /** Email of the user to send invitation to. The staff existing email would be used if not provided. */\n      email?: string | null;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface ConnectStaffMemberToUserResponse {\n      /** The updated staff member. After connecting to the user. */\n      staffMember?: StaffMember;\n  }\n  interface StaffMemberConnectedToUser {\n      /** The staff member entity after connecting it to a user. */\n      staffMember?: StaffMember;\n  }\n  interface SearchStaffMembersRequest {\n      /** WQL expression. */\n      search: CursorSearch;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /** Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' */\n      cursorPaging?: CursorPaging$3;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting$3[];\n      /** Free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /** Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface SearchDetails {\n      /** Defines how separate search terms in `expression` are combined */\n      mode?: Mode;\n      /** Search term or expression */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path */\n      fields?: string[];\n      /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** Any of the search terms must be present */\n      OR = \"OR\",\n      /** All search terms must be present */\n      AND = \"AND\"\n  }\n  interface SearchStaffMembersResponse {\n      /** The retrieved staff members matching the search criteria. */\n      staffMembers?: StaffMember[];\n      /** Paging metadata. including paging, offset and cursor. */\n      pagingMetadata?: CursorPagingMetadata$2;\n      /** Aggregation data results, resulting from the aggregations stated in the request. */\n      aggregationData?: AggregationData;\n  }\n  interface AggregationData {\n      /** key = aggregation name (as derived from search request) */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      value?: string;\n      count?: number;\n  }\n  interface RangeAggregationResult {\n      from?: number | null;\n      to?: number | null;\n      count?: number;\n  }\n  enum ScalarType {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      MIN = \"MIN\",\n      MAX = \"MAX\",\n      SUM = \"SUM\",\n      AVG = \"AVG\"\n  }\n  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {\n      values?: ValueResults;\n      ranges?: RangeResults;\n      scalar?: ScalarResult;\n      name?: string;\n      type?: AggregationType;\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf {\n      values?: ValueResults;\n      ranges?: RangeResults;\n      scalar?: ScalarResult;\n  }\n  enum AggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      VALUE = \"VALUE\",\n      RANGE = \"RANGE\",\n      SCALAR = \"SCALAR\"\n  }\n  interface ValueResults {\n      results?: ValueAggregationResult[];\n  }\n  interface RangeResults {\n      results?: RangeAggregationResult[];\n  }\n  interface ScalarResult {\n      type?: ScalarType;\n      value?: number;\n  }\n  interface NestedValueAggregationResult {\n      value?: string;\n      nestedResults?: NestedAggregationResults;\n  }\n  interface GroupByValueResults {\n      results?: NestedValueAggregationResult[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      values?: ValueResults;\n      ranges?: RangeResults;\n      scalar?: ScalarResult;\n      groupedByValue?: GroupByValueResults;\n      name?: string;\n      type?: AggregationType;\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      values?: ValueResults;\n      ranges?: RangeResults;\n      scalar?: ScalarResult;\n      groupedByValue?: GroupByValueResults;\n  }\n  interface DisconnectStaffMemberFromUserRequest {\n      /** Id of the StaffMember to disconnect. The staff member to disconnect from a user. */\n      staffMemberId: string;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface DisconnectStaffMemberFromUserResponse {\n      /** The updated staff member. After disconnecting from the user. */\n      staffMember?: StaffMember;\n  }\n  interface AssignWorkingHoursScheduleRequest {\n      /** Id of the staff member to assign the schedule to. */\n      staffMemberId: string;\n      /** Id of a schedule to assign to the staff's working hours schedule. */\n      scheduleId: string;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface AssignWorkingHoursScheduleResponse {\n      /** The updated staff member. After assigning the custom schedule. */\n      staffMember?: StaffMember;\n  }\n  interface AssignCustomScheduleRequest {\n      /** Id of the staff member to assign the schedule to. */\n      staffMemberId: string;\n      /** Id of a schedule to assign to the staff's working hours schedule. */\n      scheduleId: string;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface AssignCustomScheduleResponse {\n      /** The updated staff member. After assigning the custom schedule. */\n      staffMember?: StaffMember;\n  }\n  interface RestoreStaffRequest {\n      /** Id of the staff member to restore. */\n      staffMemberId?: string;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface RestoreStaffResponse {\n      /** The restored staff member. */\n      staffMember?: StaffMember;\n  }\n  interface ImportStaffMemberRequest {\n      /** StaffMember to be created. */\n      staffMember?: StaffMember;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  interface ImportStaffMemberResponse {\n      /** The imported StaffMember. */\n      staffMember?: StaffMember;\n  }\n  interface Empty$1 {\n  }\n  interface PolicyRemovedFromContributor {\n      accountId?: string;\n      metaSiteId?: string;\n      policyIds?: string[];\n  }\n  interface PolicyUpdatedForContributor {\n      accountId?: string;\n      metaSiteId?: string;\n      oldPolicyIds?: string[];\n      newPolicyIds?: string[];\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface ScheduleNotification extends ScheduleNotificationEventOneOf {\n      scheduleCreated?: ScheduleCreated;\n      scheduleUpdated?: ScheduleUpdated;\n      scheduleCancelled?: ScheduleCancelled;\n      sessionCreated?: SessionCreated;\n      sessionUpdated?: SessionUpdated;\n      sessionCancelled?: SessionCancelled;\n      availabilityPolicyUpdated?: AvailabilityPolicyUpdated;\n      /** @deprecated */\n      intervalSplit?: IntervalSplit;\n      recurringSessionSplit?: RecurringSessionSplit;\n      /**\n       * Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead.\n       * @deprecated\n       */\n      scheduleUnassignedFromUser?: ScheduleUnassignedFromUser;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      multipleSessionsCreated?: MultipleSessionsCreated;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      migrationEvent?: MigrationEvent;\n      preserveFutureSessionsWithParticipants?: boolean | null;\n      /**\n       * Whether to notify participants about changed sessions. deprecated, use participant_notification\n       * @deprecated\n       */\n      notifyParticipants?: boolean;\n      /** site properties. Optional. Given in create schedule notification. */\n      siteProperties?: SitePropertiesOnScheduleCreation;\n      instanceId?: string;\n      /**\n       * true when the schedule belongs to a site that is rolled out to calendar v3\n       * @internal\n       */\n      rolledOut?: boolean | null;\n  }\n  /** @oneof */\n  interface ScheduleNotificationEventOneOf {\n      scheduleCreated?: ScheduleCreated;\n      scheduleUpdated?: ScheduleUpdated;\n      scheduleCancelled?: ScheduleCancelled;\n      sessionCreated?: SessionCreated;\n      sessionUpdated?: SessionUpdated;\n      sessionCancelled?: SessionCancelled;\n      availabilityPolicyUpdated?: AvailabilityPolicyUpdated;\n      /** @deprecated */\n      intervalSplit?: IntervalSplit;\n      recurringSessionSplit?: RecurringSessionSplit;\n      /**\n       * Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead.\n       * @deprecated\n       */\n      scheduleUnassignedFromUser?: ScheduleUnassignedFromUser;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      multipleSessionsCreated?: MultipleSessionsCreated;\n      /**\n       * supported only for schedule migration apis.\n       * @internal\n       */\n      migrationEvent?: MigrationEvent;\n  }\n  interface ScheduleCreated {\n      schedule?: Schedule;\n  }\n  interface Schedule {\n      /** Schedule ID. */\n      _id?: string;\n      /** ID of the schedule's owner entity. This may be a resource ID or a service ID. */\n      scheduleOwnerId?: string | null;\n      /**\n       * Start time of the first session in the schedule.\n       * @internal\n       * @readonly\n       */\n      firstSessionStart?: Date | null;\n      /**\n       * End time of the last session in the schedule.\n       * @internal\n       * @readonly\n       */\n      lastSessionEnd?: Date | null;\n      /**\n       * Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\n       * Derived from the Wix Business time zone.\n       * @readonly\n       */\n      timeZone?: string | null;\n      /**\n       * Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead.\n       * @deprecated\n       */\n      intervals?: RecurringInterval[];\n      /** Default title for the schedule's sessions. Maximum length: 6000 characters. */\n      title?: string | null;\n      /**\n       * __Deprecated.__\n       * Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\n       * The Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags.\n       * @deprecated\n       */\n      tags?: string[] | null;\n      /** Default location for the schedule's sessions. */\n      location?: Location$2;\n      /**\n       * Maximum number of participants that can be added to the schedule's sessions.\n       * Must be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app.\n       */\n      capacity?: number | null;\n      /**\n       * Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead.\n       * @deprecated\n       */\n      rate?: Rate;\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      availability?: Availability;\n      /**\n       * Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes.\n       * @readonly\n       */\n      totalNumberOfParticipants?: number;\n      /**\n       * *Partial list** of participants which are registered to sessions in this schedule.\n       * Participants who are registered in the schedule are automatically registered to any session that is created for the schedule.\n       * To retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings).\n       * @readonly\n       */\n      participants?: Participant[];\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      externalCalendarOverrides?: ExternalCalendarOverrides;\n      /**\n       * Schedule status.\n       * @readonly\n       */\n      status?: ScheduleStatus;\n      /**\n       * Schedule creation date.\n       * @readonly\n       */\n      created?: Date | null;\n      /**\n       * Schedule last update date.\n       * @readonly\n       */\n      updated?: Date | null;\n      /**\n       * Schedule version number, updated each time the schedule is updated.\n       * @readonly\n       */\n      version?: number;\n      /**\n       * The schedule version, updated each time the schedule or the schedule participants are updated.\n       * @internal\n       * @readonly\n       */\n      versions?: Version;\n      /**\n       * Fields which were inherited from the Business Info page under Settings in the Dashboard.\n       * @readonly\n       */\n      inheritedFields?: string[];\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      conferenceProvider?: ConferenceProvider;\n      /**\n       * A conference created for the schedule. This is used when a participant is added to a schedule.\n       * **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.\n       * @deprecated\n       */\n      calendarConference?: CalendarConference;\n      /**\n       * The name of the schedule owner. It may be a resource name or a service name. Optional.\n       * @internal\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the schedule owner. Optional.\n       * Currently, in Bookings system, it would be present when the schedule is owned by a staff resource and the resource is connected to a user.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  interface RecurringInterval {\n      /**\n       * The recurring interval identifier.\n       * @readonly\n       */\n      _id?: string;\n      /** The start time of the recurring interval. Required. */\n      start?: Date | null;\n      /** The end time of the recurring interval. Optional. Empty value indicates that there is no end time. */\n      end?: Date | null;\n      /** The interval rules. The day, hour and minutes the interval is recurring. */\n      interval?: Interval;\n      /** The frequency of the interval. Optional. The default is frequency with the default repetition. */\n      frequency?: Frequency;\n      /** Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval. */\n      affectedSchedules?: LinkedSchedule[];\n      /** The type of recurring interval. */\n      intervalType?: RecurringIntervalType;\n  }\n  interface Interval {\n      /** The day the interval accrue. Optional. The default is the day of the recurring interval's start time. */\n      daysOfWeek?: Day;\n      /** The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23. */\n      hourOfDay?: number | null;\n      /** The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59. */\n      minuteOfHour?: number | null;\n      /** The duration of the interval in minutes. Required. Part of the session end time calculation. */\n      duration?: number;\n  }\n  enum Day {\n      /** Undefined. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface Frequency {\n      /** The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52. */\n      repetition?: number | null;\n  }\n  interface LinkedSchedule {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /**\n       * Sets this schedule's availability for the duration of the linked schedule's sessions.  Default is `\"BUSY\"`.\n       * If set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\n       * If set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n       */\n      transparency?: Transparency;\n      /**\n       * Owner ID, of the linked schedule.\n       * @readonly\n       */\n      scheduleOwnerId?: string;\n      /**\n       * The name of the linked schedule owner. It may be a resource name or a service name. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the linked schedule owner. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  enum Transparency {\n      UNDEFINED = \"UNDEFINED\",\n      /** The schedule can have available slots during the session. */\n      FREE = \"FREE\",\n      /** The schedule cannot have available slots during the session. Default value. */\n      BUSY = \"BUSY\"\n  }\n  enum RecurringIntervalType {\n      /** The default value. Sessions for this interval will be of type EVENT. */\n      UNDEFINED = \"UNDEFINED\",\n      /** A recurring interval of events */\n      EVENT = \"EVENT\",\n      /** Deprecated */\n      TIME_AVAILABILITY = \"TIME_AVAILABILITY\",\n      /** A recurring interval for availability */\n      AVAILABILITY = \"AVAILABILITY\"\n  }\n  interface Location$2 {\n      /**\n       * Location type.\n       * One of:\n       * - `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"` The address as set when creating the service.\n       * - `\"CUSTOM\"` The address set for the individual session.\n       */\n      locationType?: LocationType$2;\n      /**\n       * Free text address used when locationType is `OWNER_CUSTOM`.\n       * @deprecated\n       */\n      address?: string | null;\n      /** Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default. */\n      customAddress?: Address$3;\n      /**\n       * The Wix Business location formatted address.\n       * Valid when `locationType` is `OWNER_BUSINESS`. Defaults to the business's location.\n       * To retrieve the full location data please use the [Locations API](https://dev.wix.com/api/rest/business-info/locations).\n       * @internal\n       */\n      businessLocation?: LocationsLocation;\n  }\n  enum LocationType$2 {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  /** Physical address */\n  interface Address$3 extends AddressStreetOneOf$2 {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress$2;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation$2;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision$2[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$2 {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress$2;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$2 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation$2 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$2 {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface LocationsLocation {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string;\n      /** Location description. */\n      description?: string | null;\n      /**\n       * Whether this is the default location. There can only be one default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Location status. Defaults to `ACTIVE`.\n       * __Notes:__\n       * - [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect the location's status.\n       * - `INACTIVE` status is currently not supported.\n       */\n      status?: LocationStatus;\n      /**\n       * Location type.\n       *\n       * **Note:** Currently not supported.\n       * @deprecated\n       */\n      locationType?: LocationsLocationType;\n      /** Fax number. */\n      fax?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Address. */\n      address?: LocationsAddress;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$1;\n      /**\n       * Revision number, which increments by 1 each time the location is updated.\n       * To prevent conflicting changes, the existing revision must be used when updating a location.\n       */\n      revision?: string | null;\n      /**\n       * Whether the location is archived. Archived locations can't be updated.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect its `status`.\n       * @readonly\n       */\n      archived?: boolean;\n      /** Location types. */\n      locationTypes?: LocationsLocationType[];\n  }\n  /** For future use */\n  enum LocationStatus {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  /** For future use */\n  enum LocationsLocationType {\n      UNKNOWN = \"UNKNOWN\",\n      BRANCH = \"BRANCH\",\n      OFFICES = \"OFFICES\",\n      RECEPTION = \"RECEPTION\",\n      HEADQUARTERS = \"HEADQUARTERS\",\n      INVENTORY = \"INVENTORY\"\n  }\n  interface LocationsAddress {\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. Includes street name, number, and apartment number in separate fields. */\n      streetAddress?: LocationsStreetAddress;\n      /** Full address of the location. */\n      formatted?: string | null;\n      /** Geographic coordinates of location. */\n      location?: LocationsAddressLocation;\n  }\n  /** Street address. Includes street name, number, and apartment number in separate fields. */\n  interface LocationsStreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  /** Address Geolocation */\n  interface LocationsAddressLocation {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number | null;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number | null;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$1 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$1[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$1[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$1 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$1;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$1;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$1 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$1 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Rate {\n      /**\n       * Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      labeledPriceOptions?: Record<string, Price>;\n      /**\n       * Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      priceText?: string | null;\n      /**\n       * Default service price. Always vailable when a service has\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Sometimes also available for services without variants.\n       * Ignored in [updates to a service](https://dev.wix.com/api/rest/wix-bookings/services/service/update-service),\n       * when either `labeled_price_options` or `price_text` is also specified.\n       * @internal\n       */\n      defaultVariedPrice?: Price;\n  }\n  interface Price {\n      /** Required payment amount. */\n      amount?: string;\n      /** Currency in which the amount is quoted. */\n      currency?: string;\n      /** Amount of a down payment or deposit as part of the transaction. */\n      downPayAmount?: string;\n  }\n  /**\n   * <!-- Needs updating when recurrence has been tested\n   * Schedule's availability calculation is executed by the schedule's available intervals and this additional information.\n   * Schedule's available intervals are recurring intervals (defined in the schedule) minus sessions that has no more spots for bookings (including time between_slots), or schedule's sessions with open spots for bookings.-->\n   */\n  interface Availability {\n      /** Date and time the schedule starts to be available for booking. */\n      start?: Date | null;\n      /** Date and time the schedule stops being available for booking. No value indicates no end time. */\n      end?: Date | null;\n      /** Other schedules that impact the availability calculation. Relevant only when there are availability constraints. */\n      linkedSchedules?: LinkedSchedule[];\n      /** Constraints for calculating the schedule's availability. */\n      constraints?: AvailabilityConstraints;\n      /**\n       * Not supported yet.\n       * A list of possible locations for the session when `use_default_location` is set to `false`. Slots are generated for each location. Only one of the possible locations can be chosen by the customer.\n       *\n       * **NOTE**: When using the `locations` parameter, the default location is not automatically included in the list.\n       * @internal\n       */\n      locations?: Location$2[];\n      /**\n       * Not supported yet.\n       * Whether the schedule's slots are only available at the schedule's default location, as set in `schedule.location`. If set to `false`, the `locations` array is used to set the possible locations of the schedule's sessions.\n       * Default is `true`.\n       * @internal\n       */\n      useDefaultLocation?: boolean | null;\n  }\n  /** Describes how to calculate the specific slots that are available for booking. */\n  interface AvailabilityConstraints {\n      /**\n       * A list of duration options for slots, in minutes. Minimum value for a duration is 1.\n       * The availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints.\n       */\n      slotDurations?: number[];\n      /**\n       * The number of minutes between the `end` of one slot, and the `start` of the next.\n       * Minimum value is 0, maximum value is 120.\n       */\n      timeBetweenSlots?: number;\n      /**\n       * Specify how to split the slots in intervals of minutes.\n       * This value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\n       * Optional. The default is the first duration in slot_durations field.\n       * Deprecated. Use the `split_slots_interval.value_in_minutes`.\n       * @deprecated\n       */\n      splitInterval?: number | null;\n      /**\n       * An object defining the time between available slots' start times.  For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration.\n       * @readonly\n       */\n      slotsSplitInterval?: SplitInterval;\n  }\n  /** The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc. */\n  interface SplitInterval {\n      /**\n       * Whether the slot duration is used as the split interval value.\n       * If `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n       * `schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field.\n       */\n      sameAsDuration?: boolean | null;\n      /** Number of minutes between available slots' start times when `same_as_duration` is `false`. */\n      valueInMinutes?: number | null;\n  }\n  interface Participant {\n      /** Participant ID. Currently represents the booking.id. */\n      _id?: string;\n      /** Contact ID. */\n      contactId?: string | null;\n      /** Participant's name. */\n      name?: string | null;\n      /** Participant's phone number. */\n      phone?: string | null;\n      /** Participant's email address. */\n      email?: string | null;\n      /** Group or party size. The number of people attending. Defaults to 0. Maximum is 250. */\n      partySize?: number;\n      /**\n       * Approval status for the participant.\n       * <!-- Commented out untill updateParticipant is exposed Generally the same status as the booking, unless updated using the `updateParticipant()` API. Defaults to `\"UNDEFINED\"`.-->\n       */\n      approvalStatus?: ApprovalStatus;\n      /**\n       * Whether the participant was inherited from the schedule, as opposed to being booked directly to the session.\n       * @readonly\n       */\n      inherited?: boolean;\n  }\n  enum ApprovalStatus {\n      /** Default. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Pending business approval. */\n      PENDING = \"PENDING\",\n      /** Approved by the business. */\n      APPROVED = \"APPROVED\",\n      /** Declined by the business. */\n      DECLINED = \"DECLINED\"\n  }\n  interface ExternalCalendarOverrides {\n      /** Synced title of the external calendar event. */\n      title?: string | null;\n      /** Synced description of the external calendar event. */\n      description?: string | null;\n  }\n  enum ScheduleStatus {\n      UNDEFINED = \"UNDEFINED\",\n      /** The default value when the schedule is created. */\n      CREATED = \"CREATED\",\n      /** The schedule has been canceled. */\n      CANCELLED = \"CANCELLED\"\n  }\n  interface Version {\n      /** Schedule version number, updated each time the schedule is updated. */\n      scheduleVersion?: number | null;\n      /** Participants version number, updated each time the schedule participants are updated. */\n      participantsVersion?: number | null;\n  }\n  interface ConferenceProvider {\n      /** Conferencing provider ID */\n      providerId?: string;\n  }\n  interface CalendarConference {\n      /** Wix Calendar conference ID. */\n      _id?: string;\n      /** Conference meeting ID in the provider's conferencing system. */\n      externalId?: string;\n      /**\n       * A generated id for the conference entity - Base62($providerId$accountOwnerId$conferenceId)\n       * @internal\n       */\n      conferenceId?: string | null;\n      /** Conference provider ID. */\n      providerId?: string;\n      /** URL used by the host to start the conference. */\n      hostUrl?: string;\n      /** URL used by a guest to join the conference. */\n      guestUrl?: string;\n      /** Password to join the conference. */\n      password?: string | null;\n      /** Conference description. */\n      description?: string | null;\n      /** Conference type. */\n      conferenceType?: ConferenceType;\n      /** ID of the account owner in the video conferencing service. */\n      accountOwnerId?: string | null;\n  }\n  enum ConferenceType {\n      UNDEFINED = \"UNDEFINED\",\n      /** API-generated online meeting. */\n      ONLINE_MEETING_PROVIDER = \"ONLINE_MEETING_PROVIDER\",\n      /** User-defined meeting. */\n      CUSTOM = \"CUSTOM\"\n  }\n  interface ScheduleUpdated {\n      /** The old schedule before the update. */\n      oldSchedule?: Schedule;\n      /** The new schedule after the update. */\n      newSchedule?: Schedule;\n      /**\n       * Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\n       * updating at least one of the given schedule's recurring sessions.\n       * This event is triggered by create/update/delete recurring session apis.\n       */\n      recurringSessions?: RecurringSessionsUpdated;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$3;\n      /**\n       * Whether this notification was created as a result of an anonymization request, such as GDPR.\n       * An anonymized participant will have the following details:\n       * name = \"deleted\"\n       * phone = \"deleted\"\n       * email = \"deleted@deleted.com\"\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n  }\n  interface RecurringSessionsUpdated {\n      /** Old schedule's recurring session list. */\n      oldRecurringSessions?: Session[];\n      /** New schedule's recurring session list. */\n      newRecurringSessions?: Session[];\n  }\n  interface Session {\n      /**\n       * Session ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the schedule that the session belongs to. */\n      scheduleId?: string;\n      /**\n       * ID of the resource or service that the session's schedule belongs to.\n       * @readonly\n       */\n      scheduleOwnerId?: string | null;\n      /** Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. */\n      originalStart?: Date | null;\n      /** An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`. */\n      start?: CalendarDateTime;\n      /**\n       * An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\n       * If the session is a recurring session, `end` must contain a `localDateTime`.\n       */\n      end?: CalendarDateTime;\n      /**\n       * An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\n       * The array is inherited from the schedule and can be overridden even if the session is a recurring session.\n       */\n      affectedSchedules?: LinkedSchedule[];\n      /**\n       * Session title.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       */\n      title?: string | null;\n      /**\n       * __Deprecated.__\n       * Tags for the session.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       * @deprecated\n       */\n      tags?: string[] | null;\n      /**\n       * An object describing the location where the session takes place.\n       * Defaults to the schedule location.\n       * For single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`.\n       */\n      location?: Location$2;\n      /**\n       * Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\n       * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n       */\n      capacity?: number | null;\n      /**\n       * The remaining number of participants that can be added to the session. Read-only.\n       * Can be negative, in case the session is over capacity.\n       * @internal\n       * @readonly\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead.\n       * @deprecated\n       */\n      rate?: Rate;\n      /**\n       * Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\n       * If the session is a recurring session, this field must be empty.\n       */\n      timeReservedAfter?: number | null;\n      /**\n       * Additional information about the session.\n       * Notes are not supported for recurring sessions.\n       */\n      notes?: string;\n      /**\n       * The number of participants booked for the session. Read-only.\n       * Calculated as the sum of the party sizes.\n       * @readonly\n       */\n      totalNumberOfParticipants?: number;\n      /**\n       * *Partial list** list of participants booked for the session.\n       * The list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\n       * If the session is a recurring session, this field must be empty.\n       * To retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings).\n       */\n      participants?: Participant[];\n      /**\n       * A list of properties for which values were inherited from the schedule.\n       * This does not include participants that were inherited from the schedule.\n       * @readonly\n       */\n      inheritedFields?: string[];\n      /**\n       * Information about the external calendar, if the session originated in an external calendar.\n       * @internal\n       * @readonly\n       */\n      externalCalendarInfo?: ExternalCalendarInfo;\n      /**\n       * __Deprecated.__\n       * @deprecated\n       */\n      externalCalendarOverrides?: ExternalCalendarOverrides;\n      /**\n       * Session status.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\n       * For exmaple, when creating a class service  with recurring sessions, you add a recurrence rule to create recurring sessions.\n       * This field is omitted for single sessions or instances of recurring sessions.\n       * Specified when the session was originally generated from a schedule recurring interval.\n       * Deprecated. Use `recurringSessionId`.\n       * @readonly\n       * @deprecated\n       */\n      recurringIntervalId?: string | null;\n      /**\n       * The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances.\n       * @readonly\n       */\n      recurringSessionId?: string | null;\n      /** Session type. */\n      type?: SessionType;\n      /**\n       * A conference created for the session according to the details set in the schedule's conference provider information.\n       * If the session is a recurring session, this field is inherited from the schedule.\n       * **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.\n       * @deprecated\n       */\n      calendarConference?: CalendarConference;\n      /**\n       * A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\n       * If the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\n       * The RRULE defines a rule for repeating a session.\n       * Supported parameters are:\n       *\n       * |Keyword|Description|Supported values|\n       * |--|--|---|\n       * |`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n       * |`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n       * |`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n       * |`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n       *\n       *\n       * For example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n       * `\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n       *\n       * <!--ORIGINAL COMMENTS:\n       * `FREQ` — The frequency with which the session should be repeated (such as DAILY or WEEKLY).\n       * Supported `WEEKLY` value is supported.\n       * INTERVAL — Works together with FREQ to specify how often the session should be repeated. For example, FREQ=WEEKLY;INTERVAL=2 means once every two weeks. Optional. Default value is 1.\n       * COUNT — The number of times this event should be repeated. Not yet supported.\n       * UNTIL — The UTC date & time until which the session should be repeated. This parameter is optional. When it is not specified, the event repeats forever.\n       * The format is a short ISO date, followed by 'T' and a short time with seconds and without milliseconds, terminated by the UTC designator 'Z'. For example, until Jan. 19th 2018 at 7:00 AM: 'UNTIL=20180119T070000Z'.\n       * BYDAY - The days of the week when the event should be repeated. Currently, only a single day is supported. This parameter is mandatory.\n       * Possible values are: MO, TU, WE, TH, FR, SA, SU\n       * Note that DTSTART and DTEND lines are not allowed in this field; session start and end times are specified in the start and end fields.\n       * **Example**: FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20200427T070000Z\n       * ORIGINAL COMMENTS-->\n       */\n      recurrence?: string | null;\n      /**\n       * A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\n       * Empty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty.\n       * @readonly\n       */\n      instanceOfRecurrence?: string | null;\n      /**\n       * The name of the schedule owner. It may be a resource name or a service name. Optional.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the schedule owner. Optional.\n       * NOT IMPLEMENTED YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n      /**\n       * The session version.\n       * Composed by the schedule, session and participants versions.\n       * @readonly\n       */\n      version?: SessionVersion;\n      /**\n       * The ID of the event in the new Calendar Events V3 API.\n       * @internal\n       * @readonly\n       */\n      eventId?: string | null;\n  }\n  interface CalendarDateTime {\n      /**\n       * UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify  `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\n       * Required if `localDateTime` is not specified.\n       * If `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone.\n       */\n      timestamp?: Date | null;\n      /** An object containing the local date and time for the business's time zone. */\n      localDateTime?: LocalDateTime;\n      /**\n       * The time zone. Optional. Derived from the schedule's time zone.\n       * In case this field is associated with recurring session, this field is empty.\n       * @readonly\n       */\n      timeZone?: string | null;\n  }\n  interface LocalDateTime {\n      /** Year. 4-digit format. */\n      year?: number | null;\n      /** Month number, from 1-12. */\n      monthOfYear?: number | null;\n      /** Day of the month, from 1-31. */\n      dayOfMonth?: number | null;\n      /** Hour of the day in 24-hour format, from 0-23. */\n      hourOfDay?: number | null;\n      /** Minute, from 0-59. */\n      minutesOfHour?: number | null;\n  }\n  interface ExternalCalendarInfo {\n      /** The external calendar type (e.g. Google Calendar, iCal, etc). */\n      calendarType?: CalendarType;\n  }\n  enum CalendarType {\n      UNDEFINED = \"UNDEFINED\",\n      GOOGLE = \"GOOGLE\",\n      I_CAL = \"I_CAL\",\n      /** Use `MICROSOFT` instead. */\n      OUTLOOK = \"OUTLOOK\",\n      /** Use `MICROSOFT` instead. */\n      OFFICE_365 = \"OFFICE_365\",\n      MICROSOFT = \"MICROSOFT\",\n      OTHER = \"OTHER\"\n  }\n  enum Status {\n      UNDEFINED = \"UNDEFINED\",\n      /** The session is confirmed. Default status. */\n      CONFIRMED = \"CONFIRMED\",\n      /**\n       * The session is cancelled.\n       * A cancelled session can be the cancellation of a recurring session that should no longer be displayed or a deleted single session.\n       * The ListSessions returns cancelled sessions only if 'includeDelete' flag is set to true.\n       */\n      CANCELLED = \"CANCELLED\"\n  }\n  enum SessionType {\n      UNDEFINED = \"UNDEFINED\",\n      /**\n       * The session creates an event on the calendar for the owner of the schedule that the session belongs to.\n       * Default type.\n       */\n      EVENT = \"EVENT\",\n      /** The session represents a resource's available working hours. */\n      WORKING_HOURS = \"WORKING_HOURS\",\n      /** Deprecated. please use WORKING_HOURS */\n      TIME_AVAILABILITY = \"TIME_AVAILABILITY\",\n      /** Deprecated. The session represents a resource's available hours. please use WORKING_HOURS */\n      AVAILABILITY = \"AVAILABILITY\"\n  }\n  interface SessionVersion {\n      /**\n       * Schedule version number, updated each time the schedule is updated.\n       * @internal\n       */\n      scheduleVersion?: number;\n      /**\n       * Session version number, updated each time the session is updated.\n       * @internal\n       */\n      sessionVersion?: number;\n      /**\n       * Participants version number, updated each time the session participants are updated.\n       * @internal\n       */\n      participantsVersion?: number | null;\n      /** Incremental version number, which is updated on each change to the session or on changes affecting the session. */\n      number?: string | null;\n  }\n  interface ParticipantNotification$3 {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n      /**\n       * Optional additional metadata.\n       * Supported only in V3 APIs.\n       * @internal\n       */\n      metadata?: Record<string, string>;\n  }\n  interface ScheduleCancelled {\n      schedule?: Schedule;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$3;\n      oldSchedule?: Schedule;\n  }\n  interface SessionCreated {\n      session?: Session;\n  }\n  interface SessionUpdated {\n      oldSession?: Session;\n      newSession?: Session;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$3;\n      /**\n       * Whether this notification was created as a result of an anonymization request, such as GDPR.\n       * An anonymized participant will have the following details:\n       * name = \"deleted\"\n       * phone = \"deleted\"\n       * email = \"deleted@deleted.com\"\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n  }\n  interface SessionCancelled {\n      session?: Session;\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$3;\n  }\n  interface AvailabilityPolicyUpdated {\n      availabilityPolicy?: AvailabilityPolicy;\n  }\n  /** Availability policy applied to all site schedules. */\n  interface AvailabilityPolicy {\n      /** Specify how to split the schedule slots in intervals of minutes. */\n      splitInterval?: SplitInterval;\n  }\n  interface IntervalSplit {\n      scheduleId?: string;\n      intervals?: RecurringInterval[];\n      newScheduleVersion?: number | null;\n      oldScheduleVersion?: number | null;\n  }\n  interface RecurringSessionSplit {\n      scheduleId?: string;\n      recurringSessions?: Session[];\n      newScheduleVersion?: number | null;\n      oldScheduleVersion?: number | null;\n  }\n  /** Schedule unassigned from user. */\n  interface ScheduleUnassignedFromUser {\n      /** The Wix user id. */\n      userId?: string | null;\n      /** The schedule that was unassigned from the user. */\n      schedule?: Schedule;\n  }\n  interface MultipleSessionsCreated {\n      schedulesWithSessions?: ScheduleWithSessions[];\n  }\n  interface ScheduleWithSessions {\n      schedule?: Schedule;\n      siteProperties?: SitePropertiesOnScheduleCreation;\n      sessions?: Session[];\n  }\n  interface SitePropertiesOnScheduleCreation {\n      /** The global time zone value. */\n      timeZone?: string | null;\n  }\n  interface MigrationEvent {\n      migrationData?: MigrationData;\n  }\n  interface MigrationData {\n      businessId?: string | null;\n      staffs?: StaffData[];\n  }\n  interface StaffData {\n      resourceId?: string;\n      syncRequestEmail?: string;\n      refreshToken?: string;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated$1 {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData$1 extends WebhooksIdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a staff member.\n   *\n   *\n   * By using the create API, you can create a staff member and set its name, email, phone, description and media.\n   * By default any staff member that is created will be linked to the business working hours, allowing customers to book appointments with the staff\n   * based on the business working hours.\n   * @param staffMember - Staff Member to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField staffMember\n   * @requiredField staffMember.name\n   * @permissionId BOOKINGS.STAFF_MEMBER_CREATE\n   * @adminMethod\n   * @returns The created staff member.\n   */\n  function createStaffMember(staffMember: StaffMember, options?: CreateStaffMemberOptions): Promise<StaffMember>;\n  interface CreateStaffMemberOptions {\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Retrieves a staff member by id.\n   * @param staffMemberId - ID of the staff member to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField staffMemberId\n   * @permissionId BOOKINGS.STAFF_MEMBER_READ\n   * @adminMethod\n   * @returns The retrieved StaffMember.\n   */\n  function getStaffMember(staffMemberId: string, options?: GetStaffMemberOptions): Promise<StaffMember>;\n  interface GetStaffMemberOptions {\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Retrieves a deleted staff member from the trash-bin.\n   * @param staffMemberId - Id of the staff member to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField staffMemberId\n   * @permissionId BOOKINGS.STAFF_MEMBER_READ\n   */\n  function getDeletedStaffMember(staffMemberId: string, options?: GetDeletedStaffMemberOptions): Promise<GetDeletedStaffMemberResponse>;\n  interface GetDeletedStaffMemberOptions {\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Retrieves a list of deleted staff members from the trash-bin.\n   * List runs with these defaults, which you can override:\n   * - `paging.limit` is `50`.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.STAFF_MEMBER_READ\n   */\n  function listDeletedStaffMembers(options?: ListDeletedStaffMembersOptions): Promise<ListDeletedStaffMembersResponse>;\n  interface ListDeletedStaffMembersOptions {\n      /** The Ids of the staff members to retrieve. If omitted all deleted staff members will be retrieved paginated. */\n      staffMemberIds?: string[];\n      /** Paging parameter, enabling to pass a limit and a cursor. */\n      paging?: CursorPaging$3;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Remove a staff member from the trash bin, permanently deleting it.\n   * This action is irreversible.\n   * @param staffMemberId - Id of the staff member to remove from the trash bin\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField staffMemberId\n   * @permissionId BOOKINGS.STAFF_MEMBER_REMOVE_FROM_TRASH_BIN\n   * @adminMethod\n   */\n  function removeStaffMemberFromTrashBin(staffMemberId: string): Promise<void>;\n  /**\n   * Restore a staff member from the trash bin.\n   * This action also restores the staff member's resource.\n   * @param staffMemberId - Id of the staff member to restore from the trash bin\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField staffMemberId\n   * @permissionId BOOKINGS.STAFF_MEMBER_RESTORE_FROM_TRASH_BIN\n   * @adminMethod\n   */\n  function restoreStaffMemberFromTrashBin(staffMemberId: string, options?: RestoreStaffMemberFromTrashBinOptions): Promise<RestoreStaffMemberFromTrashBinResponse>;\n  interface RestoreStaffMemberFromTrashBinOptions {\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Updates a StaffMember.\n   *\n   * [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported.\n   *\n   * Each time the staff member is updated, `revision` increments by 1. You must include current revision of the staff member when updating it.\n   * This ensures you're working with the latest service information and prevents unintended overwrites.\n   * @param _id - Staff member's ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField staffMember\n   * @requiredField staffMember.revision\n   * @permissionId BOOKINGS.STAFF_MEMBER_UPDATE\n   * @adminMethod\n   * @returns The updated staff member.\n   */\n  function updateStaffMember(_id: string | null, staffMember: UpdateStaffMember, options?: UpdateStaffMemberOptions): Promise<StaffMember>;\n  interface UpdateStaffMember {\n      /**\n       * Staff member's ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Staff member's name. */\n      name?: string | null;\n      /** Staff member's email address. */\n      email?: string | null;\n      /** Staff member's phone number. */\n      phone?: string | null;\n      /** Description, For example: \"The best masseuse in all of the land\" */\n      description?: string | null;\n      /** The media of the staff. */\n      mainMedia?: MediaItem;\n      /**\n       * The related calendar resource id, same as `resource.id`\n       * @readonly\n       */\n      resourceId?: string | null;\n      /**\n       * The related calendar resource\n       * @readonly\n       */\n      resource?: Resource;\n      /**\n       * The identity of the Wix user associated with the staff member.\n       *\n       * To connect a staff member to a Wix user, use `ConnectStaffMemberToUser`.\n       * To disconnect a staff member from a Wix user, use `DisconnectStaffMemberFromUser`.\n       * @readonly\n       */\n      associatedWixIdentity?: AssociatedWixIdentity;\n      /**\n       * A staff member conferencing providers.\n       * Field is deprecated, use associated_conferencing_accounts instead.\n       * @internal\n       * @readonly\n       * @deprecated\n       * @replacedBy associated_conferencing_accounts\n       * @targetRemovalDate 2024-10-01\n       */\n      associatedConferencingProviders?: AssociatedConferencingProviders;\n      /**\n       * Conferencing accounts used to create meetings links with this staff member.\n       * @internal\n       * @readonly\n       */\n      associatedConferencingAccounts?: AssociatedConferencingAccounts;\n      /**\n       * `true` - if staff was auto created default staff.\n       * @internal\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Revision number, which increments by 1 each time the staff member is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the staff member.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this staff member was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this staff member was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Extensions enabling users to save custom data related to the staff member. */\n      extendedFields?: ExtendedFields$3;\n  }\n  interface UpdateStaffMemberOptions {\n      /**\n       * updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests)\n       * are supported.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Deletes a StaffMember.\n   * @param staffMemberId - Id of the staff member to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField staffMemberId\n   * @permissionId BOOKINGS.STAFF_MEMBER_DELETE\n   * @adminMethod\n   */\n  function deleteStaffMember(staffMemberId: string): Promise<void>;\n  /**\n   * Query StaffMembers using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.STAFF_MEMBER_READ\n   * @adminMethod\n   */\n  function queryStaffMembers(options?: QueryStaffMembersOptions): StaffMembersQueryBuilder;\n  interface QueryStaffMembersOptions {\n      /** Conditional fields to return. */\n      fields?: RequestedFields[] | undefined;\n  }\n  interface QueryCursorResult$2 {\n      cursors: Cursors$3;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface StaffMembersQueryResult extends QueryCursorResult$2 {\n      items: StaffMember[];\n      query: StaffMembersQueryBuilder;\n      next: () => Promise<StaffMembersQueryResult>;\n      prev: () => Promise<StaffMembersQueryResult>;\n  }\n  interface StaffMembersQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name' | 'email' | 'phone' | 'description' | 'resourceId' | 'resource.id' | 'associatedWixIdentity.identificationData.wixUserId' | 'associatedWixIdentity.identificationData.contactId' | '_createdDate' | '_updatedDate', value: any) => StaffMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name' | 'email' | 'phone' | 'description' | 'resourceId' | 'resource.id' | 'associatedWixIdentity.identificationData.wixUserId' | 'associatedWixIdentity.identificationData.contactId' | '_createdDate' | '_updatedDate', value: any) => StaffMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => StaffMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => StaffMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => StaffMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => StaffMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'description' | 'resourceId' | 'resource.id' | 'associatedWixIdentity.identificationData.wixUserId' | 'associatedWixIdentity.identificationData.contactId', value: string) => StaffMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'description' | 'resourceId' | 'resource.id' | 'associatedWixIdentity.identificationData.wixUserId' | 'associatedWixIdentity.identificationData.contactId' | '_createdDate' | '_updatedDate', value: any[]) => StaffMembersQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | 'email' | 'phone' | 'description' | 'resourceId' | 'resource.id' | 'associatedWixIdentity.identificationData.wixUserId' | 'associatedWixIdentity.identificationData.contactId' | '_createdDate' | '_updatedDate', value: any) => StaffMembersQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'name' | 'email' | 'phone' | 'description' | 'resourceId' | 'resource.id' | 'associatedWixIdentity.identificationData.wixUserId' | 'associatedWixIdentity.identificationData.contactId' | '_createdDate' | '_updatedDate', value: boolean) => StaffMembersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'description' | 'resourceId' | 'resource.id' | 'associatedWixIdentity.identificationData.wixUserId' | 'associatedWixIdentity.identificationData.contactId' | 'associatedWixIdentity.identificationData.identityType' | 'default' | '_createdDate' | '_updatedDate'>) => StaffMembersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'description' | 'resourceId' | 'resource.id' | 'associatedWixIdentity.identificationData.wixUserId' | 'associatedWixIdentity.identificationData.contactId' | 'associatedWixIdentity.identificationData.identityType' | 'default' | '_createdDate' | '_updatedDate'>) => StaffMembersQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => StaffMembersQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => StaffMembersQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<StaffMembersQueryResult>;\n  }\n  /**\n   * Query staff members in multiple languages.\n   *\n   * Supports responses with text values (such as translated description) in different languages.\n   * @param query - WQL expression.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId BOOKINGS.STAFF_MEMBER_READ\n   */\n  function queryStaffMembersMultiLanguage(query: CursorQuery$1, options?: QueryStaffMembersMultiLanguageOptions): Promise<QueryStaffMembersMultiLanguageResponse>;\n  interface QueryStaffMembersMultiLanguageOptions {\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Counts staff members according to given criteria.\n   *\n   *\n   * Use [WQL filter](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section) to define the criteria.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.STAFF_MEMBER_READ\n   * @adminMethod\n   */\n  function countStaffMembers(options?: CountStaffMembersOptions): Promise<CountStaffMembersResponse>;\n  interface CountStaffMembersOptions {\n      /** The filters for performing the count. */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Connects staff member to a Wix user.\n   *\n   *\n   * By default the staff member's email is used to connect to the user.\n   * If the email is already associated with a wix user with roles and permissions to access the site, the staff member is connected to that user.\n   * If the email is not associated with a wix user, an invitation is sent to the email to join the site.\n   *\n   * *Connecting a staff member to a user gives access to the user to manage the staff's schedule via the Wix backoffice.**\n   *\n   * The status of a staff member's connection is stored in the `associatedWixIdentity` field, and can be fetched using the requested field `ASSOCIATED_IDENTITY_STATUS`.\n   * @param staffMemberId - Id of the staff member. The staff member to connect to a user.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField staffMemberId\n   * @permissionId BOOKINGS.STAFF_MEMBER_UPDATE\n   * @adminMethod\n   */\n  function connectStaffMemberToUser(staffMemberId: string, options?: ConnectStaffMemberToUserOptions): Promise<ConnectStaffMemberToUserResponse>;\n  interface ConnectStaffMemberToUserOptions {\n      /** Email of the user to send invitation to. The staff existing email would be used if not provided. */\n      email?: string | null;\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Retrieves a list of staff members matching the provided search criteria.\n   *\n   * The search endpoints allow to perform advance search including partial text search, exact match, and more.\n   * The endpoint also allows to aggregate staff members by their name, email, phone, description, or resource id.\n   * @param search - WQL expression.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField search\n   * @permissionId BOOKINGS.STAFF_MEMBER_READ\n   * @adminMethod\n   */\n  function searchStaffMembers(search: CursorSearch, options?: SearchStaffMembersOptions): Promise<SearchStaffMembersResponse>;\n  interface SearchStaffMembersOptions {\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Disconnects a staff member from the Wix user.\n   *\n   * If the staff member is connected to a user, this API disconnects the staff member from the user, removing the `associatedWixIdentity` field.\n   * The action removes the user's access to manage the staff member's schedule via the Wix backoffice.\n   * @param staffMemberId - Id of the StaffMember to disconnect. The staff member to disconnect from a user.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField staffMemberId\n   * @permissionId BOOKINGS.STAFF_MEMBER_UPDATE\n   * @adminMethod\n   */\n  function disconnectStaffMemberFromUser(staffMemberId: string, options?: DisconnectStaffMemberFromUserOptions): Promise<DisconnectStaffMemberFromUserResponse>;\n  interface DisconnectStaffMemberFromUserOptions {\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Assigns a custom working hours schedule to the staff member\n   *\n   *\n   * The working hours schedule is a schedule that defines the working hours of a staff member,\n   * and dictate when the staff member is available for bookings.\n   *\n   * By default staff members use the shared business working hours schedule. By assigning a custom working hours schedule to a staff member,\n   * you can define specific working hours for that staff member.\n   *\n   * To create and manage schedules and working hours sessions, use [Schedules and Sessions API](https://dev.wix.com/docs/rest/business-solutions/bookings/calendar/schedules-and-sessions/introduction).\n   * @param staffMemberId - Id of the staff member to assign the schedule to.\n   * @param scheduleId - Id of a schedule to assign to the staff's working hours schedule.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField scheduleId\n   * @requiredField staffMemberId\n   * @permissionId BOOKINGS.STAFF_MEMBER_UPDATE\n   * @adminMethod\n   */\n  function assignWorkingHoursSchedule(staffMemberId: string, scheduleId: string, options?: AssignWorkingHoursScheduleOptions): Promise<AssignWorkingHoursScheduleResponse>;\n  interface AssignWorkingHoursScheduleOptions {\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Assigns a custom working hours schedule to the staff member\n   *\n   *\n   * The working hours schedule is a schedule that defines the working hours of a staff member,\n   * and dictate when the staff member is available for bookings.\n   *\n   * By default staff members use the shared business working hours schedule. By assigning a custom working hours schedule to a staff member,\n   * you can define specific working hours for that staff member.\n   *\n   * To create and manage schedules and working hours sessions, use [Schedules and Sessions API](https://dev.wix.com/docs/rest/business-solutions/bookings/calendar/schedules-and-sessions/introduction).\n   * @param staffMemberId - Id of the staff member to assign the schedule to.\n   * @param scheduleId - Id of a schedule to assign to the staff's working hours schedule.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField scheduleId\n   * @requiredField staffMemberId\n   * @permissionId BOOKINGS.STAFF_MEMBER_UPDATE\n   * @adminMethod\n   * @deprecated\n   * @replacedBy AssignWorkingHoursSchedule\n   * @targetRemovalDate 2024-12-31\n   */\n  function assignCustomSchedule(staffMemberId: string, scheduleId: string, options?: AssignCustomScheduleOptions): Promise<AssignCustomScheduleResponse>;\n  interface AssignCustomScheduleOptions {\n      /** Conditional fields to return. */\n      fields?: RequestedFields[];\n  }\n  \n  type bookingsStaffV1StaffMember_universal_d_StaffMember = StaffMember;\n  type bookingsStaffV1StaffMember_universal_d_MediaItem = MediaItem;\n  type bookingsStaffV1StaffMember_universal_d_MediaItemMediaOneOf = MediaItemMediaOneOf;\n  type bookingsStaffV1StaffMember_universal_d_Resource = Resource;\n  type bookingsStaffV1StaffMember_universal_d_WorkingHoursSchedule = WorkingHoursSchedule;\n  type bookingsStaffV1StaffMember_universal_d_EventSchedule = EventSchedule;\n  type bookingsStaffV1StaffMember_universal_d_AssociatedWixIdentity = AssociatedWixIdentity;\n  type bookingsStaffV1StaffMember_universal_d_AssociatedWixIdentityConnectionStatusEnumConnectionStatus = AssociatedWixIdentityConnectionStatusEnumConnectionStatus;\n  const bookingsStaffV1StaffMember_universal_d_AssociatedWixIdentityConnectionStatusEnumConnectionStatus: typeof AssociatedWixIdentityConnectionStatusEnumConnectionStatus;\n  type bookingsStaffV1StaffMember_universal_d_ConnectionState = ConnectionState;\n  type bookingsStaffV1StaffMember_universal_d_ConnectionStateConnectionState = ConnectionStateConnectionState;\n  const bookingsStaffV1StaffMember_universal_d_ConnectionStateConnectionState: typeof ConnectionStateConnectionState;\n  type bookingsStaffV1StaffMember_universal_d_AssociatedConferencingProviders = AssociatedConferencingProviders;\n  type bookingsStaffV1StaffMember_universal_d_AssociatedConferencingProvider = AssociatedConferencingProvider;\n  type bookingsStaffV1StaffMember_universal_d_ConnectionStatus = ConnectionStatus;\n  const bookingsStaffV1StaffMember_universal_d_ConnectionStatus: typeof ConnectionStatus;\n  type bookingsStaffV1StaffMember_universal_d_AssociatedConferencingAccounts = AssociatedConferencingAccounts;\n  type bookingsStaffV1StaffMember_universal_d_AssociatedConferencingAccount = AssociatedConferencingAccount;\n  type bookingsStaffV1StaffMember_universal_d_AssociatedConferencingAccountAccountOneOf = AssociatedConferencingAccountAccountOneOf;\n  type bookingsStaffV1StaffMember_universal_d_CustomConferenceAccount = CustomConferenceAccount;\n  type bookingsStaffV1StaffMember_universal_d_CreateStaffMemberRequest = CreateStaffMemberRequest;\n  type bookingsStaffV1StaffMember_universal_d_RequestedFields = RequestedFields;\n  const bookingsStaffV1StaffMember_universal_d_RequestedFields: typeof RequestedFields;\n  type bookingsStaffV1StaffMember_universal_d_CreateStaffMemberResponse = CreateStaffMemberResponse;\n  type bookingsStaffV1StaffMember_universal_d_StaffMemberFullyCreated = StaffMemberFullyCreated;\n  type bookingsStaffV1StaffMember_universal_d_GetStaffMemberRequest = GetStaffMemberRequest;\n  type bookingsStaffV1StaffMember_universal_d_GetStaffMemberResponse = GetStaffMemberResponse;\n  type bookingsStaffV1StaffMember_universal_d_GetDeletedStaffMemberRequest = GetDeletedStaffMemberRequest;\n  type bookingsStaffV1StaffMember_universal_d_GetDeletedStaffMemberResponse = GetDeletedStaffMemberResponse;\n  type bookingsStaffV1StaffMember_universal_d_ListDeletedStaffMembersRequest = ListDeletedStaffMembersRequest;\n  type bookingsStaffV1StaffMember_universal_d_ListDeletedStaffMembersResponse = ListDeletedStaffMembersResponse;\n  type bookingsStaffV1StaffMember_universal_d_RemoveStaffMemberFromTrashBinRequest = RemoveStaffMemberFromTrashBinRequest;\n  type bookingsStaffV1StaffMember_universal_d_RemoveStaffMemberFromTrashBinResponse = RemoveStaffMemberFromTrashBinResponse;\n  type bookingsStaffV1StaffMember_universal_d_RestoreStaffMemberFromTrashBinRequest = RestoreStaffMemberFromTrashBinRequest;\n  type bookingsStaffV1StaffMember_universal_d_RestoreStaffMemberFromTrashBinResponse = RestoreStaffMemberFromTrashBinResponse;\n  type bookingsStaffV1StaffMember_universal_d_UpdateStaffMemberRequest = UpdateStaffMemberRequest;\n  type bookingsStaffV1StaffMember_universal_d_UpdateStaffMemberResponse = UpdateStaffMemberResponse;\n  type bookingsStaffV1StaffMember_universal_d_DeleteStaffMemberRequest = DeleteStaffMemberRequest;\n  type bookingsStaffV1StaffMember_universal_d_DeleteStaffMemberResponse = DeleteStaffMemberResponse;\n  type bookingsStaffV1StaffMember_universal_d_StaffMemberDisconnectedFromUser = StaffMemberDisconnectedFromUser;\n  type bookingsStaffV1StaffMember_universal_d_QueryStaffMembersRequest = QueryStaffMembersRequest;\n  type bookingsStaffV1StaffMember_universal_d_QueryStaffMembersResponse = QueryStaffMembersResponse;\n  type bookingsStaffV1StaffMember_universal_d_QueryStaffMembersMultiLanguageRequest = QueryStaffMembersMultiLanguageRequest;\n  type bookingsStaffV1StaffMember_universal_d_QueryStaffMembersMultiLanguageResponse = QueryStaffMembersMultiLanguageResponse;\n  type bookingsStaffV1StaffMember_universal_d_CountStaffMembersRequest = CountStaffMembersRequest;\n  type bookingsStaffV1StaffMember_universal_d_CountStaffMembersResponse = CountStaffMembersResponse;\n  type bookingsStaffV1StaffMember_universal_d_ConnectStaffMemberToUserRequest = ConnectStaffMemberToUserRequest;\n  type bookingsStaffV1StaffMember_universal_d_ConnectStaffMemberToUserResponse = ConnectStaffMemberToUserResponse;\n  type bookingsStaffV1StaffMember_universal_d_StaffMemberConnectedToUser = StaffMemberConnectedToUser;\n  type bookingsStaffV1StaffMember_universal_d_SearchStaffMembersRequest = SearchStaffMembersRequest;\n  type bookingsStaffV1StaffMember_universal_d_CursorSearch = CursorSearch;\n  type bookingsStaffV1StaffMember_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type bookingsStaffV1StaffMember_universal_d_SearchDetails = SearchDetails;\n  type bookingsStaffV1StaffMember_universal_d_Mode = Mode;\n  const bookingsStaffV1StaffMember_universal_d_Mode: typeof Mode;\n  type bookingsStaffV1StaffMember_universal_d_SearchStaffMembersResponse = SearchStaffMembersResponse;\n  type bookingsStaffV1StaffMember_universal_d_AggregationData = AggregationData;\n  type bookingsStaffV1StaffMember_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type bookingsStaffV1StaffMember_universal_d_RangeAggregationResult = RangeAggregationResult;\n  type bookingsStaffV1StaffMember_universal_d_ScalarType = ScalarType;\n  const bookingsStaffV1StaffMember_universal_d_ScalarType: typeof ScalarType;\n  type bookingsStaffV1StaffMember_universal_d_NestedAggregationResults = NestedAggregationResults;\n  type bookingsStaffV1StaffMember_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n  type bookingsStaffV1StaffMember_universal_d_AggregationType = AggregationType;\n  const bookingsStaffV1StaffMember_universal_d_AggregationType: typeof AggregationType;\n  type bookingsStaffV1StaffMember_universal_d_ValueResults = ValueResults;\n  type bookingsStaffV1StaffMember_universal_d_RangeResults = RangeResults;\n  type bookingsStaffV1StaffMember_universal_d_ScalarResult = ScalarResult;\n  type bookingsStaffV1StaffMember_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n  type bookingsStaffV1StaffMember_universal_d_GroupByValueResults = GroupByValueResults;\n  type bookingsStaffV1StaffMember_universal_d_AggregationResults = AggregationResults;\n  type bookingsStaffV1StaffMember_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type bookingsStaffV1StaffMember_universal_d_DisconnectStaffMemberFromUserRequest = DisconnectStaffMemberFromUserRequest;\n  type bookingsStaffV1StaffMember_universal_d_DisconnectStaffMemberFromUserResponse = DisconnectStaffMemberFromUserResponse;\n  type bookingsStaffV1StaffMember_universal_d_AssignWorkingHoursScheduleRequest = AssignWorkingHoursScheduleRequest;\n  type bookingsStaffV1StaffMember_universal_d_AssignWorkingHoursScheduleResponse = AssignWorkingHoursScheduleResponse;\n  type bookingsStaffV1StaffMember_universal_d_AssignCustomScheduleRequest = AssignCustomScheduleRequest;\n  type bookingsStaffV1StaffMember_universal_d_AssignCustomScheduleResponse = AssignCustomScheduleResponse;\n  type bookingsStaffV1StaffMember_universal_d_RestoreStaffRequest = RestoreStaffRequest;\n  type bookingsStaffV1StaffMember_universal_d_RestoreStaffResponse = RestoreStaffResponse;\n  type bookingsStaffV1StaffMember_universal_d_ImportStaffMemberRequest = ImportStaffMemberRequest;\n  type bookingsStaffV1StaffMember_universal_d_ImportStaffMemberResponse = ImportStaffMemberResponse;\n  type bookingsStaffV1StaffMember_universal_d_PolicyRemovedFromContributor = PolicyRemovedFromContributor;\n  type bookingsStaffV1StaffMember_universal_d_PolicyUpdatedForContributor = PolicyUpdatedForContributor;\n  type bookingsStaffV1StaffMember_universal_d_ScheduleNotification = ScheduleNotification;\n  type bookingsStaffV1StaffMember_universal_d_ScheduleNotificationEventOneOf = ScheduleNotificationEventOneOf;\n  type bookingsStaffV1StaffMember_universal_d_ScheduleCreated = ScheduleCreated;\n  type bookingsStaffV1StaffMember_universal_d_Schedule = Schedule;\n  type bookingsStaffV1StaffMember_universal_d_RecurringInterval = RecurringInterval;\n  type bookingsStaffV1StaffMember_universal_d_Interval = Interval;\n  type bookingsStaffV1StaffMember_universal_d_Day = Day;\n  const bookingsStaffV1StaffMember_universal_d_Day: typeof Day;\n  type bookingsStaffV1StaffMember_universal_d_Frequency = Frequency;\n  type bookingsStaffV1StaffMember_universal_d_LinkedSchedule = LinkedSchedule;\n  type bookingsStaffV1StaffMember_universal_d_Transparency = Transparency;\n  const bookingsStaffV1StaffMember_universal_d_Transparency: typeof Transparency;\n  type bookingsStaffV1StaffMember_universal_d_RecurringIntervalType = RecurringIntervalType;\n  const bookingsStaffV1StaffMember_universal_d_RecurringIntervalType: typeof RecurringIntervalType;\n  type bookingsStaffV1StaffMember_universal_d_LocationsLocation = LocationsLocation;\n  type bookingsStaffV1StaffMember_universal_d_LocationStatus = LocationStatus;\n  const bookingsStaffV1StaffMember_universal_d_LocationStatus: typeof LocationStatus;\n  type bookingsStaffV1StaffMember_universal_d_LocationsLocationType = LocationsLocationType;\n  const bookingsStaffV1StaffMember_universal_d_LocationsLocationType: typeof LocationsLocationType;\n  type bookingsStaffV1StaffMember_universal_d_LocationsAddress = LocationsAddress;\n  type bookingsStaffV1StaffMember_universal_d_LocationsStreetAddress = LocationsStreetAddress;\n  type bookingsStaffV1StaffMember_universal_d_LocationsAddressLocation = LocationsAddressLocation;\n  type bookingsStaffV1StaffMember_universal_d_Rate = Rate;\n  type bookingsStaffV1StaffMember_universal_d_Price = Price;\n  type bookingsStaffV1StaffMember_universal_d_Availability = Availability;\n  type bookingsStaffV1StaffMember_universal_d_AvailabilityConstraints = AvailabilityConstraints;\n  type bookingsStaffV1StaffMember_universal_d_SplitInterval = SplitInterval;\n  type bookingsStaffV1StaffMember_universal_d_Participant = Participant;\n  type bookingsStaffV1StaffMember_universal_d_ApprovalStatus = ApprovalStatus;\n  const bookingsStaffV1StaffMember_universal_d_ApprovalStatus: typeof ApprovalStatus;\n  type bookingsStaffV1StaffMember_universal_d_ExternalCalendarOverrides = ExternalCalendarOverrides;\n  type bookingsStaffV1StaffMember_universal_d_ScheduleStatus = ScheduleStatus;\n  const bookingsStaffV1StaffMember_universal_d_ScheduleStatus: typeof ScheduleStatus;\n  type bookingsStaffV1StaffMember_universal_d_Version = Version;\n  type bookingsStaffV1StaffMember_universal_d_ConferenceProvider = ConferenceProvider;\n  type bookingsStaffV1StaffMember_universal_d_CalendarConference = CalendarConference;\n  type bookingsStaffV1StaffMember_universal_d_ConferenceType = ConferenceType;\n  const bookingsStaffV1StaffMember_universal_d_ConferenceType: typeof ConferenceType;\n  type bookingsStaffV1StaffMember_universal_d_ScheduleUpdated = ScheduleUpdated;\n  type bookingsStaffV1StaffMember_universal_d_RecurringSessionsUpdated = RecurringSessionsUpdated;\n  type bookingsStaffV1StaffMember_universal_d_Session = Session;\n  type bookingsStaffV1StaffMember_universal_d_CalendarDateTime = CalendarDateTime;\n  type bookingsStaffV1StaffMember_universal_d_LocalDateTime = LocalDateTime;\n  type bookingsStaffV1StaffMember_universal_d_ExternalCalendarInfo = ExternalCalendarInfo;\n  type bookingsStaffV1StaffMember_universal_d_CalendarType = CalendarType;\n  const bookingsStaffV1StaffMember_universal_d_CalendarType: typeof CalendarType;\n  type bookingsStaffV1StaffMember_universal_d_Status = Status;\n  const bookingsStaffV1StaffMember_universal_d_Status: typeof Status;\n  type bookingsStaffV1StaffMember_universal_d_SessionType = SessionType;\n  const bookingsStaffV1StaffMember_universal_d_SessionType: typeof SessionType;\n  type bookingsStaffV1StaffMember_universal_d_SessionVersion = SessionVersion;\n  type bookingsStaffV1StaffMember_universal_d_ScheduleCancelled = ScheduleCancelled;\n  type bookingsStaffV1StaffMember_universal_d_SessionCreated = SessionCreated;\n  type bookingsStaffV1StaffMember_universal_d_SessionUpdated = SessionUpdated;\n  type bookingsStaffV1StaffMember_universal_d_SessionCancelled = SessionCancelled;\n  type bookingsStaffV1StaffMember_universal_d_AvailabilityPolicyUpdated = AvailabilityPolicyUpdated;\n  type bookingsStaffV1StaffMember_universal_d_AvailabilityPolicy = AvailabilityPolicy;\n  type bookingsStaffV1StaffMember_universal_d_IntervalSplit = IntervalSplit;\n  type bookingsStaffV1StaffMember_universal_d_RecurringSessionSplit = RecurringSessionSplit;\n  type bookingsStaffV1StaffMember_universal_d_ScheduleUnassignedFromUser = ScheduleUnassignedFromUser;\n  type bookingsStaffV1StaffMember_universal_d_MultipleSessionsCreated = MultipleSessionsCreated;\n  type bookingsStaffV1StaffMember_universal_d_ScheduleWithSessions = ScheduleWithSessions;\n  type bookingsStaffV1StaffMember_universal_d_SitePropertiesOnScheduleCreation = SitePropertiesOnScheduleCreation;\n  type bookingsStaffV1StaffMember_universal_d_MigrationEvent = MigrationEvent;\n  type bookingsStaffV1StaffMember_universal_d_MigrationData = MigrationData;\n  type bookingsStaffV1StaffMember_universal_d_StaffData = StaffData;\n  type bookingsStaffV1StaffMember_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type bookingsStaffV1StaffMember_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type bookingsStaffV1StaffMember_universal_d_Asset = Asset;\n  type bookingsStaffV1StaffMember_universal_d_State = State;\n  const bookingsStaffV1StaffMember_universal_d_State: typeof State;\n  type bookingsStaffV1StaffMember_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const bookingsStaffV1StaffMember_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type bookingsStaffV1StaffMember_universal_d_Namespace = Namespace;\n  const bookingsStaffV1StaffMember_universal_d_Namespace: typeof Namespace;\n  type bookingsStaffV1StaffMember_universal_d_SiteTransferred = SiteTransferred;\n  type bookingsStaffV1StaffMember_universal_d_SiteDeleted = SiteDeleted;\n  type bookingsStaffV1StaffMember_universal_d_DeleteContext = DeleteContext;\n  type bookingsStaffV1StaffMember_universal_d_DeleteStatus = DeleteStatus;\n  const bookingsStaffV1StaffMember_universal_d_DeleteStatus: typeof DeleteStatus;\n  type bookingsStaffV1StaffMember_universal_d_SiteUndeleted = SiteUndeleted;\n  type bookingsStaffV1StaffMember_universal_d_SitePublished = SitePublished;\n  type bookingsStaffV1StaffMember_universal_d_SiteUnpublished = SiteUnpublished;\n  type bookingsStaffV1StaffMember_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type bookingsStaffV1StaffMember_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type bookingsStaffV1StaffMember_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type bookingsStaffV1StaffMember_universal_d_ServiceRemoved = ServiceRemoved;\n  type bookingsStaffV1StaffMember_universal_d_SiteRenamed = SiteRenamed;\n  type bookingsStaffV1StaffMember_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type bookingsStaffV1StaffMember_universal_d_NamespaceChanged = NamespaceChanged;\n  type bookingsStaffV1StaffMember_universal_d_StudioAssigned = StudioAssigned;\n  type bookingsStaffV1StaffMember_universal_d_StudioUnassigned = StudioUnassigned;\n  const bookingsStaffV1StaffMember_universal_d_createStaffMember: typeof createStaffMember;\n  type bookingsStaffV1StaffMember_universal_d_CreateStaffMemberOptions = CreateStaffMemberOptions;\n  const bookingsStaffV1StaffMember_universal_d_getStaffMember: typeof getStaffMember;\n  type bookingsStaffV1StaffMember_universal_d_GetStaffMemberOptions = GetStaffMemberOptions;\n  const bookingsStaffV1StaffMember_universal_d_getDeletedStaffMember: typeof getDeletedStaffMember;\n  type bookingsStaffV1StaffMember_universal_d_GetDeletedStaffMemberOptions = GetDeletedStaffMemberOptions;\n  const bookingsStaffV1StaffMember_universal_d_listDeletedStaffMembers: typeof listDeletedStaffMembers;\n  type bookingsStaffV1StaffMember_universal_d_ListDeletedStaffMembersOptions = ListDeletedStaffMembersOptions;\n  const bookingsStaffV1StaffMember_universal_d_removeStaffMemberFromTrashBin: typeof removeStaffMemberFromTrashBin;\n  const bookingsStaffV1StaffMember_universal_d_restoreStaffMemberFromTrashBin: typeof restoreStaffMemberFromTrashBin;\n  type bookingsStaffV1StaffMember_universal_d_RestoreStaffMemberFromTrashBinOptions = RestoreStaffMemberFromTrashBinOptions;\n  const bookingsStaffV1StaffMember_universal_d_updateStaffMember: typeof updateStaffMember;\n  type bookingsStaffV1StaffMember_universal_d_UpdateStaffMember = UpdateStaffMember;\n  type bookingsStaffV1StaffMember_universal_d_UpdateStaffMemberOptions = UpdateStaffMemberOptions;\n  const bookingsStaffV1StaffMember_universal_d_deleteStaffMember: typeof deleteStaffMember;\n  const bookingsStaffV1StaffMember_universal_d_queryStaffMembers: typeof queryStaffMembers;\n  type bookingsStaffV1StaffMember_universal_d_QueryStaffMembersOptions = QueryStaffMembersOptions;\n  type bookingsStaffV1StaffMember_universal_d_StaffMembersQueryResult = StaffMembersQueryResult;\n  type bookingsStaffV1StaffMember_universal_d_StaffMembersQueryBuilder = StaffMembersQueryBuilder;\n  const bookingsStaffV1StaffMember_universal_d_queryStaffMembersMultiLanguage: typeof queryStaffMembersMultiLanguage;\n  type bookingsStaffV1StaffMember_universal_d_QueryStaffMembersMultiLanguageOptions = QueryStaffMembersMultiLanguageOptions;\n  const bookingsStaffV1StaffMember_universal_d_countStaffMembers: typeof countStaffMembers;\n  type bookingsStaffV1StaffMember_universal_d_CountStaffMembersOptions = CountStaffMembersOptions;\n  const bookingsStaffV1StaffMember_universal_d_connectStaffMemberToUser: typeof connectStaffMemberToUser;\n  type bookingsStaffV1StaffMember_universal_d_ConnectStaffMemberToUserOptions = ConnectStaffMemberToUserOptions;\n  const bookingsStaffV1StaffMember_universal_d_searchStaffMembers: typeof searchStaffMembers;\n  type bookingsStaffV1StaffMember_universal_d_SearchStaffMembersOptions = SearchStaffMembersOptions;\n  const bookingsStaffV1StaffMember_universal_d_disconnectStaffMemberFromUser: typeof disconnectStaffMemberFromUser;\n  type bookingsStaffV1StaffMember_universal_d_DisconnectStaffMemberFromUserOptions = DisconnectStaffMemberFromUserOptions;\n  const bookingsStaffV1StaffMember_universal_d_assignWorkingHoursSchedule: typeof assignWorkingHoursSchedule;\n  type bookingsStaffV1StaffMember_universal_d_AssignWorkingHoursScheduleOptions = AssignWorkingHoursScheduleOptions;\n  const bookingsStaffV1StaffMember_universal_d_assignCustomSchedule: typeof assignCustomSchedule;\n  type bookingsStaffV1StaffMember_universal_d_AssignCustomScheduleOptions = AssignCustomScheduleOptions;\n  namespace bookingsStaffV1StaffMember_universal_d {\n    export {\n      bookingsStaffV1StaffMember_universal_d_StaffMember as StaffMember,\n      bookingsStaffV1StaffMember_universal_d_MediaItem as MediaItem,\n      bookingsStaffV1StaffMember_universal_d_MediaItemMediaOneOf as MediaItemMediaOneOf,\n      bookingsStaffV1StaffMember_universal_d_Resource as Resource,\n      bookingsStaffV1StaffMember_universal_d_WorkingHoursSchedule as WorkingHoursSchedule,\n      bookingsStaffV1StaffMember_universal_d_EventSchedule as EventSchedule,\n      bookingsStaffV1StaffMember_universal_d_AssociatedWixIdentity as AssociatedWixIdentity,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      IdentityType$2 as IdentityType,\n      bookingsStaffV1StaffMember_universal_d_AssociatedWixIdentityConnectionStatusEnumConnectionStatus as AssociatedWixIdentityConnectionStatusEnumConnectionStatus,\n      bookingsStaffV1StaffMember_universal_d_ConnectionState as ConnectionState,\n      bookingsStaffV1StaffMember_universal_d_ConnectionStateConnectionState as ConnectionStateConnectionState,\n      bookingsStaffV1StaffMember_universal_d_AssociatedConferencingProviders as AssociatedConferencingProviders,\n      bookingsStaffV1StaffMember_universal_d_AssociatedConferencingProvider as AssociatedConferencingProvider,\n      bookingsStaffV1StaffMember_universal_d_ConnectionStatus as ConnectionStatus,\n      bookingsStaffV1StaffMember_universal_d_AssociatedConferencingAccounts as AssociatedConferencingAccounts,\n      bookingsStaffV1StaffMember_universal_d_AssociatedConferencingAccount as AssociatedConferencingAccount,\n      bookingsStaffV1StaffMember_universal_d_AssociatedConferencingAccountAccountOneOf as AssociatedConferencingAccountAccountOneOf,\n      bookingsStaffV1StaffMember_universal_d_CustomConferenceAccount as CustomConferenceAccount,\n      ExtendedFields$3 as ExtendedFields,\n      bookingsStaffV1StaffMember_universal_d_CreateStaffMemberRequest as CreateStaffMemberRequest,\n      bookingsStaffV1StaffMember_universal_d_RequestedFields as RequestedFields,\n      bookingsStaffV1StaffMember_universal_d_CreateStaffMemberResponse as CreateStaffMemberResponse,\n      bookingsStaffV1StaffMember_universal_d_StaffMemberFullyCreated as StaffMemberFullyCreated,\n      bookingsStaffV1StaffMember_universal_d_GetStaffMemberRequest as GetStaffMemberRequest,\n      bookingsStaffV1StaffMember_universal_d_GetStaffMemberResponse as GetStaffMemberResponse,\n      bookingsStaffV1StaffMember_universal_d_GetDeletedStaffMemberRequest as GetDeletedStaffMemberRequest,\n      bookingsStaffV1StaffMember_universal_d_GetDeletedStaffMemberResponse as GetDeletedStaffMemberResponse,\n      bookingsStaffV1StaffMember_universal_d_ListDeletedStaffMembersRequest as ListDeletedStaffMembersRequest,\n      CursorPaging$3 as CursorPaging,\n      bookingsStaffV1StaffMember_universal_d_ListDeletedStaffMembersResponse as ListDeletedStaffMembersResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$3 as Cursors,\n      bookingsStaffV1StaffMember_universal_d_RemoveStaffMemberFromTrashBinRequest as RemoveStaffMemberFromTrashBinRequest,\n      bookingsStaffV1StaffMember_universal_d_RemoveStaffMemberFromTrashBinResponse as RemoveStaffMemberFromTrashBinResponse,\n      bookingsStaffV1StaffMember_universal_d_RestoreStaffMemberFromTrashBinRequest as RestoreStaffMemberFromTrashBinRequest,\n      bookingsStaffV1StaffMember_universal_d_RestoreStaffMemberFromTrashBinResponse as RestoreStaffMemberFromTrashBinResponse,\n      bookingsStaffV1StaffMember_universal_d_UpdateStaffMemberRequest as UpdateStaffMemberRequest,\n      bookingsStaffV1StaffMember_universal_d_UpdateStaffMemberResponse as UpdateStaffMemberResponse,\n      bookingsStaffV1StaffMember_universal_d_DeleteStaffMemberRequest as DeleteStaffMemberRequest,\n      bookingsStaffV1StaffMember_universal_d_DeleteStaffMemberResponse as DeleteStaffMemberResponse,\n      bookingsStaffV1StaffMember_universal_d_StaffMemberDisconnectedFromUser as StaffMemberDisconnectedFromUser,\n      bookingsStaffV1StaffMember_universal_d_QueryStaffMembersRequest as QueryStaffMembersRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      bookingsStaffV1StaffMember_universal_d_QueryStaffMembersResponse as QueryStaffMembersResponse,\n      bookingsStaffV1StaffMember_universal_d_QueryStaffMembersMultiLanguageRequest as QueryStaffMembersMultiLanguageRequest,\n      bookingsStaffV1StaffMember_universal_d_QueryStaffMembersMultiLanguageResponse as QueryStaffMembersMultiLanguageResponse,\n      bookingsStaffV1StaffMember_universal_d_CountStaffMembersRequest as CountStaffMembersRequest,\n      bookingsStaffV1StaffMember_universal_d_CountStaffMembersResponse as CountStaffMembersResponse,\n      bookingsStaffV1StaffMember_universal_d_ConnectStaffMemberToUserRequest as ConnectStaffMemberToUserRequest,\n      bookingsStaffV1StaffMember_universal_d_ConnectStaffMemberToUserResponse as ConnectStaffMemberToUserResponse,\n      bookingsStaffV1StaffMember_universal_d_StaffMemberConnectedToUser as StaffMemberConnectedToUser,\n      bookingsStaffV1StaffMember_universal_d_SearchStaffMembersRequest as SearchStaffMembersRequest,\n      bookingsStaffV1StaffMember_universal_d_CursorSearch as CursorSearch,\n      bookingsStaffV1StaffMember_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      bookingsStaffV1StaffMember_universal_d_SearchDetails as SearchDetails,\n      bookingsStaffV1StaffMember_universal_d_Mode as Mode,\n      bookingsStaffV1StaffMember_universal_d_SearchStaffMembersResponse as SearchStaffMembersResponse,\n      bookingsStaffV1StaffMember_universal_d_AggregationData as AggregationData,\n      bookingsStaffV1StaffMember_universal_d_ValueAggregationResult as ValueAggregationResult,\n      bookingsStaffV1StaffMember_universal_d_RangeAggregationResult as RangeAggregationResult,\n      bookingsStaffV1StaffMember_universal_d_ScalarType as ScalarType,\n      bookingsStaffV1StaffMember_universal_d_NestedAggregationResults as NestedAggregationResults,\n      bookingsStaffV1StaffMember_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,\n      bookingsStaffV1StaffMember_universal_d_AggregationType as AggregationType,\n      bookingsStaffV1StaffMember_universal_d_ValueResults as ValueResults,\n      bookingsStaffV1StaffMember_universal_d_RangeResults as RangeResults,\n      bookingsStaffV1StaffMember_universal_d_ScalarResult as ScalarResult,\n      bookingsStaffV1StaffMember_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,\n      bookingsStaffV1StaffMember_universal_d_GroupByValueResults as GroupByValueResults,\n      bookingsStaffV1StaffMember_universal_d_AggregationResults as AggregationResults,\n      bookingsStaffV1StaffMember_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      bookingsStaffV1StaffMember_universal_d_DisconnectStaffMemberFromUserRequest as DisconnectStaffMemberFromUserRequest,\n      bookingsStaffV1StaffMember_universal_d_DisconnectStaffMemberFromUserResponse as DisconnectStaffMemberFromUserResponse,\n      bookingsStaffV1StaffMember_universal_d_AssignWorkingHoursScheduleRequest as AssignWorkingHoursScheduleRequest,\n      bookingsStaffV1StaffMember_universal_d_AssignWorkingHoursScheduleResponse as AssignWorkingHoursScheduleResponse,\n      bookingsStaffV1StaffMember_universal_d_AssignCustomScheduleRequest as AssignCustomScheduleRequest,\n      bookingsStaffV1StaffMember_universal_d_AssignCustomScheduleResponse as AssignCustomScheduleResponse,\n      bookingsStaffV1StaffMember_universal_d_RestoreStaffRequest as RestoreStaffRequest,\n      bookingsStaffV1StaffMember_universal_d_RestoreStaffResponse as RestoreStaffResponse,\n      bookingsStaffV1StaffMember_universal_d_ImportStaffMemberRequest as ImportStaffMemberRequest,\n      bookingsStaffV1StaffMember_universal_d_ImportStaffMemberResponse as ImportStaffMemberResponse,\n      Empty$1 as Empty,\n      bookingsStaffV1StaffMember_universal_d_PolicyRemovedFromContributor as PolicyRemovedFromContributor,\n      bookingsStaffV1StaffMember_universal_d_PolicyUpdatedForContributor as PolicyUpdatedForContributor,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      bookingsStaffV1StaffMember_universal_d_ScheduleNotification as ScheduleNotification,\n      bookingsStaffV1StaffMember_universal_d_ScheduleNotificationEventOneOf as ScheduleNotificationEventOneOf,\n      bookingsStaffV1StaffMember_universal_d_ScheduleCreated as ScheduleCreated,\n      bookingsStaffV1StaffMember_universal_d_Schedule as Schedule,\n      bookingsStaffV1StaffMember_universal_d_RecurringInterval as RecurringInterval,\n      bookingsStaffV1StaffMember_universal_d_Interval as Interval,\n      bookingsStaffV1StaffMember_universal_d_Day as Day,\n      bookingsStaffV1StaffMember_universal_d_Frequency as Frequency,\n      bookingsStaffV1StaffMember_universal_d_LinkedSchedule as LinkedSchedule,\n      bookingsStaffV1StaffMember_universal_d_Transparency as Transparency,\n      bookingsStaffV1StaffMember_universal_d_RecurringIntervalType as RecurringIntervalType,\n      Location$2 as Location,\n      LocationType$2 as LocationType,\n      Address$3 as Address,\n      AddressStreetOneOf$2 as AddressStreetOneOf,\n      StreetAddress$2 as StreetAddress,\n      AddressLocation$2 as AddressLocation,\n      Subdivision$2 as Subdivision,\n      bookingsStaffV1StaffMember_universal_d_LocationsLocation as LocationsLocation,\n      bookingsStaffV1StaffMember_universal_d_LocationStatus as LocationStatus,\n      bookingsStaffV1StaffMember_universal_d_LocationsLocationType as LocationsLocationType,\n      bookingsStaffV1StaffMember_universal_d_LocationsAddress as LocationsAddress,\n      bookingsStaffV1StaffMember_universal_d_LocationsStreetAddress as LocationsStreetAddress,\n      bookingsStaffV1StaffMember_universal_d_LocationsAddressLocation as LocationsAddressLocation,\n      BusinessSchedule$1 as BusinessSchedule,\n      TimePeriod$1 as TimePeriod,\n      DayOfWeek$1 as DayOfWeek,\n      SpecialHourPeriod$1 as SpecialHourPeriod,\n      bookingsStaffV1StaffMember_universal_d_Rate as Rate,\n      bookingsStaffV1StaffMember_universal_d_Price as Price,\n      bookingsStaffV1StaffMember_universal_d_Availability as Availability,\n      bookingsStaffV1StaffMember_universal_d_AvailabilityConstraints as AvailabilityConstraints,\n      bookingsStaffV1StaffMember_universal_d_SplitInterval as SplitInterval,\n      bookingsStaffV1StaffMember_universal_d_Participant as Participant,\n      bookingsStaffV1StaffMember_universal_d_ApprovalStatus as ApprovalStatus,\n      bookingsStaffV1StaffMember_universal_d_ExternalCalendarOverrides as ExternalCalendarOverrides,\n      bookingsStaffV1StaffMember_universal_d_ScheduleStatus as ScheduleStatus,\n      bookingsStaffV1StaffMember_universal_d_Version as Version,\n      bookingsStaffV1StaffMember_universal_d_ConferenceProvider as ConferenceProvider,\n      bookingsStaffV1StaffMember_universal_d_CalendarConference as CalendarConference,\n      bookingsStaffV1StaffMember_universal_d_ConferenceType as ConferenceType,\n      bookingsStaffV1StaffMember_universal_d_ScheduleUpdated as ScheduleUpdated,\n      bookingsStaffV1StaffMember_universal_d_RecurringSessionsUpdated as RecurringSessionsUpdated,\n      bookingsStaffV1StaffMember_universal_d_Session as Session,\n      bookingsStaffV1StaffMember_universal_d_CalendarDateTime as CalendarDateTime,\n      bookingsStaffV1StaffMember_universal_d_LocalDateTime as LocalDateTime,\n      bookingsStaffV1StaffMember_universal_d_ExternalCalendarInfo as ExternalCalendarInfo,\n      bookingsStaffV1StaffMember_universal_d_CalendarType as CalendarType,\n      bookingsStaffV1StaffMember_universal_d_Status as Status,\n      bookingsStaffV1StaffMember_universal_d_SessionType as SessionType,\n      bookingsStaffV1StaffMember_universal_d_SessionVersion as SessionVersion,\n      ParticipantNotification$3 as ParticipantNotification,\n      bookingsStaffV1StaffMember_universal_d_ScheduleCancelled as ScheduleCancelled,\n      bookingsStaffV1StaffMember_universal_d_SessionCreated as SessionCreated,\n      bookingsStaffV1StaffMember_universal_d_SessionUpdated as SessionUpdated,\n      bookingsStaffV1StaffMember_universal_d_SessionCancelled as SessionCancelled,\n      bookingsStaffV1StaffMember_universal_d_AvailabilityPolicyUpdated as AvailabilityPolicyUpdated,\n      bookingsStaffV1StaffMember_universal_d_AvailabilityPolicy as AvailabilityPolicy,\n      bookingsStaffV1StaffMember_universal_d_IntervalSplit as IntervalSplit,\n      bookingsStaffV1StaffMember_universal_d_RecurringSessionSplit as RecurringSessionSplit,\n      bookingsStaffV1StaffMember_universal_d_ScheduleUnassignedFromUser as ScheduleUnassignedFromUser,\n      bookingsStaffV1StaffMember_universal_d_MultipleSessionsCreated as MultipleSessionsCreated,\n      bookingsStaffV1StaffMember_universal_d_ScheduleWithSessions as ScheduleWithSessions,\n      bookingsStaffV1StaffMember_universal_d_SitePropertiesOnScheduleCreation as SitePropertiesOnScheduleCreation,\n      bookingsStaffV1StaffMember_universal_d_MigrationEvent as MigrationEvent,\n      bookingsStaffV1StaffMember_universal_d_MigrationData as MigrationData,\n      bookingsStaffV1StaffMember_universal_d_StaffData as StaffData,\n      bookingsStaffV1StaffMember_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      bookingsStaffV1StaffMember_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      bookingsStaffV1StaffMember_universal_d_Asset as Asset,\n      bookingsStaffV1StaffMember_universal_d_State as State,\n      SiteCreated$1 as SiteCreated,\n      bookingsStaffV1StaffMember_universal_d_SiteCreatedContext as SiteCreatedContext,\n      bookingsStaffV1StaffMember_universal_d_Namespace as Namespace,\n      bookingsStaffV1StaffMember_universal_d_SiteTransferred as SiteTransferred,\n      bookingsStaffV1StaffMember_universal_d_SiteDeleted as SiteDeleted,\n      bookingsStaffV1StaffMember_universal_d_DeleteContext as DeleteContext,\n      bookingsStaffV1StaffMember_universal_d_DeleteStatus as DeleteStatus,\n      bookingsStaffV1StaffMember_universal_d_SiteUndeleted as SiteUndeleted,\n      bookingsStaffV1StaffMember_universal_d_SitePublished as SitePublished,\n      bookingsStaffV1StaffMember_universal_d_SiteUnpublished as SiteUnpublished,\n      bookingsStaffV1StaffMember_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      bookingsStaffV1StaffMember_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      bookingsStaffV1StaffMember_universal_d_ServiceProvisioned as ServiceProvisioned,\n      bookingsStaffV1StaffMember_universal_d_ServiceRemoved as ServiceRemoved,\n      bookingsStaffV1StaffMember_universal_d_SiteRenamed as SiteRenamed,\n      bookingsStaffV1StaffMember_universal_d_SiteHardDeleted as SiteHardDeleted,\n      bookingsStaffV1StaffMember_universal_d_NamespaceChanged as NamespaceChanged,\n      bookingsStaffV1StaffMember_universal_d_StudioAssigned as StudioAssigned,\n      bookingsStaffV1StaffMember_universal_d_StudioUnassigned as StudioUnassigned,\n      MessageEnvelope$3 as MessageEnvelope,\n      WebhooksIdentificationData$1 as WebhooksIdentificationData,\n      WebhooksIdentificationDataIdOneOf$1 as WebhooksIdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      bookingsStaffV1StaffMember_universal_d_createStaffMember as createStaffMember,\n      bookingsStaffV1StaffMember_universal_d_CreateStaffMemberOptions as CreateStaffMemberOptions,\n      bookingsStaffV1StaffMember_universal_d_getStaffMember as getStaffMember,\n      bookingsStaffV1StaffMember_universal_d_GetStaffMemberOptions as GetStaffMemberOptions,\n      bookingsStaffV1StaffMember_universal_d_getDeletedStaffMember as getDeletedStaffMember,\n      bookingsStaffV1StaffMember_universal_d_GetDeletedStaffMemberOptions as GetDeletedStaffMemberOptions,\n      bookingsStaffV1StaffMember_universal_d_listDeletedStaffMembers as listDeletedStaffMembers,\n      bookingsStaffV1StaffMember_universal_d_ListDeletedStaffMembersOptions as ListDeletedStaffMembersOptions,\n      bookingsStaffV1StaffMember_universal_d_removeStaffMemberFromTrashBin as removeStaffMemberFromTrashBin,\n      bookingsStaffV1StaffMember_universal_d_restoreStaffMemberFromTrashBin as restoreStaffMemberFromTrashBin,\n      bookingsStaffV1StaffMember_universal_d_RestoreStaffMemberFromTrashBinOptions as RestoreStaffMemberFromTrashBinOptions,\n      bookingsStaffV1StaffMember_universal_d_updateStaffMember as updateStaffMember,\n      bookingsStaffV1StaffMember_universal_d_UpdateStaffMember as UpdateStaffMember,\n      bookingsStaffV1StaffMember_universal_d_UpdateStaffMemberOptions as UpdateStaffMemberOptions,\n      bookingsStaffV1StaffMember_universal_d_deleteStaffMember as deleteStaffMember,\n      bookingsStaffV1StaffMember_universal_d_queryStaffMembers as queryStaffMembers,\n      bookingsStaffV1StaffMember_universal_d_QueryStaffMembersOptions as QueryStaffMembersOptions,\n      bookingsStaffV1StaffMember_universal_d_StaffMembersQueryResult as StaffMembersQueryResult,\n      bookingsStaffV1StaffMember_universal_d_StaffMembersQueryBuilder as StaffMembersQueryBuilder,\n      bookingsStaffV1StaffMember_universal_d_queryStaffMembersMultiLanguage as queryStaffMembersMultiLanguage,\n      bookingsStaffV1StaffMember_universal_d_QueryStaffMembersMultiLanguageOptions as QueryStaffMembersMultiLanguageOptions,\n      bookingsStaffV1StaffMember_universal_d_countStaffMembers as countStaffMembers,\n      bookingsStaffV1StaffMember_universal_d_CountStaffMembersOptions as CountStaffMembersOptions,\n      bookingsStaffV1StaffMember_universal_d_connectStaffMemberToUser as connectStaffMemberToUser,\n      bookingsStaffV1StaffMember_universal_d_ConnectStaffMemberToUserOptions as ConnectStaffMemberToUserOptions,\n      bookingsStaffV1StaffMember_universal_d_searchStaffMembers as searchStaffMembers,\n      bookingsStaffV1StaffMember_universal_d_SearchStaffMembersOptions as SearchStaffMembersOptions,\n      bookingsStaffV1StaffMember_universal_d_disconnectStaffMemberFromUser as disconnectStaffMemberFromUser,\n      bookingsStaffV1StaffMember_universal_d_DisconnectStaffMemberFromUserOptions as DisconnectStaffMemberFromUserOptions,\n      bookingsStaffV1StaffMember_universal_d_assignWorkingHoursSchedule as assignWorkingHoursSchedule,\n      bookingsStaffV1StaffMember_universal_d_AssignWorkingHoursScheduleOptions as AssignWorkingHoursScheduleOptions,\n      bookingsStaffV1StaffMember_universal_d_assignCustomSchedule as assignCustomSchedule,\n      bookingsStaffV1StaffMember_universal_d_AssignCustomScheduleOptions as AssignCustomScheduleOptions,\n    };\n  }\n  \n  /**\n   * A booking policy is a set of rules that determine how customers can book a\n   * service, including timeframes for booking, canceling, or rescheduling.\n   */\n  interface BookingPolicy {\n      /**\n       * ID of the booking policy.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the booking policy is updated.\n       * To prevent conflicting changes, the current `revision` must be passed when\n       * updating the booking policy.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the booking policy was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the booking policy was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Name of the booking policy. */\n      name?: string | null;\n      /**\n       * Custom description for the booking policy and whether it's displayed to the\n       * participant.\n       */\n      customPolicyDescription?: PolicyDescription;\n      /**\n       * Whether the booking policy is the default.\n       * @readonly\n       */\n      default?: boolean | null;\n      /** Rule for limiting early bookings. */\n      limitEarlyBookingPolicy?: LimitEarlyBookingPolicy;\n      /**\n       * Rule for limiting late bookings. This rule and `bookAfterStartPolicy` can't\n       * be both enabled at the same time.\n       */\n      limitLateBookingPolicy?: LimitLateBookingPolicy;\n      /**\n       * Rule for booking after the start of a session or course. This rule and\n       * `limitLateBookingPolicy` can't be both enabled at the same time.\n       */\n      bookAfterStartPolicy?: BookAfterStartPolicy;\n      /** Rule for canceling a booking. */\n      cancellationPolicy?: CancellationPolicy;\n      /** Rule for rescheduling a booking. */\n      reschedulePolicy?: ReschedulePolicy;\n      /** Waitlist rule for the service. */\n      waitlistPolicy?: WaitlistPolicy;\n      /** Rule for participants per booking. */\n      participantsPolicy?: ParticipantsPolicy;\n      /**\n       * Rule for allocating resources.\n       * @internal\n       */\n      resourcesPolicy?: ResourcesPolicy;\n      /** Rules for cancellation fees. */\n      cancellationFeePolicy?: CancellationFeePolicy;\n      /** Rule for saving credit card details. */\n      saveCreditCardPolicy?: SaveCreditCardPolicy;\n      /** Extensions enabling users to save custom data related to the booking policies. */\n      extendedFields?: ExtendedFields$2;\n  }\n  /** A description of the booking policy to display to participants. */\n  interface PolicyDescription {\n      /**\n       * Whether the description is displayed to the participant. `true` means the\n       * description is displayed.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Description of the booking policy.\n       *\n       * Default: Empty\n       * Max length: 2500 characters\n       */\n      description?: string;\n  }\n  /** The rule for limiting early bookings. */\n  interface LimitEarlyBookingPolicy {\n      /**\n       * Whether there's a limit about how early a customer can book. `false` means there's\n       * no limit to the earliest supported booking time.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Maximum number of minutes before the start of a session or course customers can book.\n       * Must be greater than `limitLateBookingPolicy.latestBookingInMinutes`.\n       *\n       * Default: `10080` minutes (7 days)\n       * Min: `1` minute\n       */\n      earliestBookingInMinutes?: number;\n  }\n  /**\n   * Rule limiting late bookings.\n   *\n   * This rule and `bookAfterStartPolicy` can't be both enabled at the same time.\n   */\n  interface LimitLateBookingPolicy {\n      /**\n       * Whether there's a limit about how late customers can book. `false` means\n       * customers can book up to the last minute. If set to `true`,\n       * `bookAfterStartPolicy.enabled` must be set to `false`.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Minimum number of minutes before the start of the session customers can book.\n       * For courses, this is relative to the start time of the next session and doesn't\n       * consider course sessions in the past. This value must be less than\n       * `limitEarlyBookingPolicy.earliestBookingInMinutes`.\n       *\n       * Default: `1440` minutes (1 day)\n       * Min: `1` minute\n       */\n      latestBookingInMinutes?: number;\n  }\n  /**\n   * The rule for whether a session can be booked after the start of the schedule.\n   * This rule and `LimitLateBookingPolicy` cannot be enabled at the same time. So if this rule\n   * is enabled, the `LimitLateBookingPolicy` rule must be disabled.\n   */\n  interface BookAfterStartPolicy {\n      /**\n       * Whether customers can book after the session has started. `true` means\n       * customers can book after the session has started. For courses, this refers to\n       * the start of the last course session. If set to `true`,\n       * `limitLateBookingPolicy.enabled` must be set to `false`.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n  }\n  /** The rule for canceling a booked session. */\n  interface CancellationPolicy {\n      /**\n       * Whether customers can cancel the booking. `true` means customers can cancel\n       * the booking.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Whether there's a limit on the latest cancellation time. `false` means customers\n       * can cancel the booking until the last minute before the course or session starts.\n       *\n       * Default: `false`\n       */\n      limitLatestCancellation?: boolean;\n      /**\n       * Minimum number of minutes before the start of the session customers can cancel.\n       * For courses, this refers to the start of the first course session.\n       *\n       * Default: `1440` minutes (1 day)\n       * Min: `1` minute\n       */\n      latestCancellationInMinutes?: number;\n  }\n  /** The rule for rescheduling a booked session. */\n  interface ReschedulePolicy {\n      /**\n       * Whether customers can reschedule a booking for an appointment-based service.\n       * `true` means customers can reschedule.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Whether there's a limit on the latest supported rescheduling time. `false`\n       * means customers can reschedule until the last minute before the session start.\n       *\n       * Default: `false`\n       */\n      limitLatestReschedule?: boolean;\n      /**\n       * Minimum number of minutes before the session start session customers can\n       * reschedule their booking.\n       *\n       * Default: `1440` minutes (1 day)\n       * Min: `1` minute\n       */\n      latestRescheduleInMinutes?: number;\n  }\n  /** The rule for the waitlist. */\n  interface WaitlistPolicy {\n      /**\n       * Whether the service has a waitlist. `true` means there's a waitlist.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Number of spots in the waitlist.\n       *\n       * Default: `10` spots\n       * Min: `1` spot\n       */\n      capacity?: number;\n      /**\n       * Time in minutes the potential customer is given to book after they've been\n       * notified that a spot has opened up for them. If they don't respond in time,\n       * the open spot is offered to the next potential customer on the waitlist.\n       *\n       * Default: `10` minutes\n       * Min: `1` minute\n       */\n      reservationTimeInMinutes?: number;\n  }\n  /** The rule for the maximum number of participants per booking. */\n  interface ParticipantsPolicy {\n      /**\n       * Whether there's a maximum number of participants per booking. `false` means\n       * there is no maximum.\n       *\n       * Default: `false`\n       * Private because not limiting participants per booking is not supported by Bookings flows today\n       * @internal\n       */\n      enabled?: boolean;\n      /**\n       * Maximum number of participants per booking.\n       *\n       * Default: `1` participant\n       * Min: `1` participant\n       */\n      maxParticipantsPerBooking?: number;\n  }\n  /** The rule regarding the allocation of resources (e.g. staff members). */\n  interface ResourcesPolicy {\n      /**\n       * Whether the customer must select a resource, for example a staff member, when\n       * booking. `false` means the customer can book without selecting a resource.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Whether Wix Bookings automatically assigns a resource, for example a staff\n       * member, to the booking. `false` means the customer must select the resource\n       * themselves and Wix Bookings doesn't assign it automatically.\n       *\n       * Default: `false`\n       */\n      autoAssignAllowed?: boolean;\n  }\n  interface CancellationFeePolicy {\n      /**\n       * Whether customers must pay a cancellation fee when canceling a booking.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Time windows relative to the session start during which customers can cancel\n       * their booking. Each window includes details about the fee for canceling within it.\n       */\n      cancellationWindows?: CancellationWindow[];\n      /**\n       * Whether Wix automatically charges the cancellation fee from the customer once\n       * they cancel their booking.\n       *\n       * Default: `true`\n       */\n      autoCollectFeeEnabled?: boolean | null;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /**\n       * Currency code. Must be valid ISO 4217 currency code (e.g., USD).\n       * @readonly\n       */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface CancellationWindow extends CancellationWindowFeeOneOf {\n      /** Fixed amount customers must pay when canceling the booking within this window. */\n      amount?: Money;\n      /**\n       * Percentage of the booking price customers must pay when canceling within\n       * this window.\n       *\n       * Min: `0.01` percent\n       * Max: `100` percent\n       */\n      percentage?: string;\n      /**\n       * Start of the cancellation window in minutes before the session start. For\n       * courses, this refers to the start of the first course session.\n       */\n      startInMinutes?: number | null;\n  }\n  /** @oneof */\n  interface CancellationWindowFeeOneOf {\n      /** Fixed amount customers must pay when canceling the booking within this window. */\n      amount?: Money;\n      /**\n       * Percentage of the booking price customers must pay when canceling within\n       * this window.\n       *\n       * Min: `0.01` percent\n       * Max: `100` percent\n       */\n      percentage?: string;\n  }\n  interface SaveCreditCardPolicy {\n      /**\n       * Whether Wix stores credit card details of the customer. Storing the details\n       * allows Wix to prefill the [checkout](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)\n       * and thus increases the likelyhood that the customer completes the booking\n       * process.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n  }\n  interface ExtendedFields$2 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  /** This event is triggered when a different booking policy has been set as the default policy. */\n  interface DefaultBookingPolicySet {\n      /** The new default booking policy. */\n      currentDefaultBookingPolicy?: BookingPolicy;\n      /**\n       * The booking policy that was the default before this endpoint was called.\n       * This field will be empty if there was no default booking policy before this method was called.\n       */\n      previousDefaultBookingPolicy?: BookingPolicy;\n  }\n  interface CreateBookingPolicyRequest {\n      /** Booking policy to create. */\n      bookingPolicy: BookingPolicy;\n  }\n  interface CreateBookingPolicyResponse {\n      /** Created booking policy. */\n      bookingPolicy?: BookingPolicy;\n  }\n  interface GetBookingPolicyRequest {\n      /** ID of the booking policy to retrieve. */\n      bookingPolicyId: string;\n  }\n  interface GetBookingPolicyResponse {\n      /** Retrieved booking policy. */\n      bookingPolicy?: BookingPolicy;\n  }\n  interface GetStrictestBookingPolicyRequest {\n      /** IDs of the booking policies for which to retrieve the strictest rules for. */\n      bookingPolicyIds: string[];\n  }\n  interface GetStrictestBookingPolicyResponse {\n      /**\n       * Hypothetical `bookingPolicy` object that combines the strictest version of\n       * each rule. `bookingPolicy.id` is `null` and the returned object isn't actually\n       * created. To create a new policy, you can use\n       * [Create Booking Policy](https://dev.wix.com/docs/rest/business-solutions/bookings/services/booking-policy/create-booking-policy).\n       */\n      bookingPolicy?: BookingPolicy;\n  }\n  interface UpdateBookingPolicyRequest {\n      /** Booking policy to update. */\n      bookingPolicy: BookingPolicy;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateBookingPolicyResponse {\n      /** Updated booking policy. */\n      bookingPolicy?: BookingPolicy;\n  }\n  interface SetDefaultBookingPolicyRequest {\n      /** ID of the booking policy that's set as default. */\n      bookingPolicyId: string;\n  }\n  interface SetDefaultBookingPolicyResponse {\n      /** New default booking policy. */\n      currentDefaultBookingPolicy?: BookingPolicy;\n      /**\n       * Previous default booking policy. Not available if the provided booking policy\n       * was already the default.\n       */\n      previousDefaultBookingPolicy?: BookingPolicy;\n  }\n  interface DeleteBookingPolicyRequest {\n      /** ID of the booking policy to delete. */\n      bookingPolicyId: string;\n  }\n  interface DeleteBookingPolicyResponse {\n  }\n  interface QueryBookingPoliciesRequest {\n      /**\n       * The query by which to select booking policies. See\n       * [the supported filters article](https://dev.wix.com/docs/rest/business-solutions/bookings/services/booking-policy/supported-filters)\n       * for details.\n       */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryBookingPoliciesResponse {\n      /** Retrieved booking policies. */\n      bookingPolicies?: BookingPolicy[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CountBookingPoliciesRequest {\n      /**\n       * Filter to base the count on. See\n       * [the supported filters article](https://dev.wix.com/docs/rest/business-solutions/bookings/services/booking-policy/supported-filters)\n       * for details.\n       */\n      filter?: Record<string, any> | null;\n  }\n  interface CountBookingPoliciesResponse {\n      /** Number of booking policies matching the provided filter. */\n      count?: number;\n  }\n  interface UpdateAllPoliciesRequest {\n      /** Fields to set to all booking policies. */\n      bookingPolicy?: BookingPolicy;\n      /**\n       * List of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateAllPoliciesResponse {\n  }\n  interface CreateMissingDefaultPolicyRequest {\n  }\n  interface CreateMissingDefaultPolicyResponse {\n      /** The default booking policy. */\n      defaultBookingPolicy?: BookingPolicy;\n      /** Whether a new default policy was created. */\n      wasANewPolicyCreated?: boolean;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation[];\n      /** Context of the notification */\n      changeContext?: ChangeContext;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties;\n  }\n  interface Properties {\n      /** Site categories. */\n      categories?: Categories;\n      /** Site locale. */\n      locale?: Locale;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address$2;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual;\n      /** Cookie policy the site owner defined for their site (before the users interacts with/limits it). */\n      consentPolicy?: ConsentPolicy;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site url that uses Wix as its headless business solution */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address$2 {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition the user can state where he wants that additional description - before, after, or instead\n   * the address string.\n   */\n  interface AddressHint {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod;\n  }\n  enum ResolutionMethod {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext extends ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  interface PropertiesChange {\n  }\n  interface SiteCreated {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a booking policy.\n   * @param bookingPolicy - Booking policy to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingPolicy\n   * @permissionId BOOKINGS.BOOKING_POLICY_CREATE\n   * @adminMethod\n   * @returns Created booking policy.\n   */\n  function createBookingPolicy(bookingPolicy: BookingPolicy): Promise<BookingPolicy>;\n  /**\n   * Retrieves a booking policy.\n   * @param bookingPolicyId - ID of the booking policy to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingPolicyId\n   * @permissionId BOOKINGS.BOOKING_POLICY_READ\n   * @returns Retrieved booking policy.\n   */\n  function getBookingPolicy(bookingPolicyId: string): Promise<BookingPolicy>;\n  /**\n   * Retrieves the strictest version of each policy rule from a list of booking\n   * policies.\n   *\n   *\n   * Returns a hypothetical `bookingPolicy` object that combines the strictest\n   * version of each rule. The `id` of the returned policy is `null` and no\n   * corresponding `bookingPolicy` object is created. To create a new policy, you\n   * can use [Create Booking Policy](https://dev.wix.com/docs/rest/business-solutions/bookings/services/booking-policy/create-booking-policy).\n   * @param bookingPolicyIds - IDs of the booking policies for which to retrieve the strictest rules for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingPolicyIds\n   * @permissionId BOOKINGS.BOOKING_POLICY_READ\n   */\n  function getStrictestBookingPolicy(bookingPolicyIds: string[]): Promise<GetStrictestBookingPolicyResponse>;\n  /**\n   * Updates a booking policy.\n   *\n   *\n   * Each time the booking policy is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the booking policy.\n   * This ensures you're working with the latest booking policy and prevents unintended overwrites.\n   * @param _id - ID of the booking policy.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField bookingPolicy\n   * @requiredField bookingPolicy.revision\n   * @permissionId BOOKINGS.BOOKING_POLICY_UPDATE\n   * @adminMethod\n   * @returns Updated booking policy.\n   */\n  function updateBookingPolicy(_id: string | null, bookingPolicy: UpdateBookingPolicy, options?: UpdateBookingPolicyOptions): Promise<BookingPolicy>;\n  interface UpdateBookingPolicy {\n      /**\n       * ID of the booking policy.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the booking policy is updated.\n       * To prevent conflicting changes, the current `revision` must be passed when\n       * updating the booking policy.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the booking policy was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the booking policy was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Name of the booking policy. */\n      name?: string | null;\n      /**\n       * Custom description for the booking policy and whether it's displayed to the\n       * participant.\n       */\n      customPolicyDescription?: PolicyDescription;\n      /**\n       * Whether the booking policy is the default.\n       * @readonly\n       */\n      default?: boolean | null;\n      /** Rule for limiting early bookings. */\n      limitEarlyBookingPolicy?: LimitEarlyBookingPolicy;\n      /**\n       * Rule for limiting late bookings. This rule and `bookAfterStartPolicy` can't\n       * be both enabled at the same time.\n       */\n      limitLateBookingPolicy?: LimitLateBookingPolicy;\n      /**\n       * Rule for booking after the start of a session or course. This rule and\n       * `limitLateBookingPolicy` can't be both enabled at the same time.\n       */\n      bookAfterStartPolicy?: BookAfterStartPolicy;\n      /** Rule for canceling a booking. */\n      cancellationPolicy?: CancellationPolicy;\n      /** Rule for rescheduling a booking. */\n      reschedulePolicy?: ReschedulePolicy;\n      /** Waitlist rule for the service. */\n      waitlistPolicy?: WaitlistPolicy;\n      /** Rule for participants per booking. */\n      participantsPolicy?: ParticipantsPolicy;\n      /**\n       * Rule for allocating resources.\n       * @internal\n       */\n      resourcesPolicy?: ResourcesPolicy;\n      /** Rules for cancellation fees. */\n      cancellationFeePolicy?: CancellationFeePolicy;\n      /** Rule for saving credit card details. */\n      saveCreditCardPolicy?: SaveCreditCardPolicy;\n      /** Extensions enabling users to save custom data related to the booking policies. */\n      extendedFields?: ExtendedFields$2;\n  }\n  interface UpdateBookingPolicyOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Sets a booking policy as the default.\n   *\n   *\n   * Also updates the site's current default policy by setting its `default`\n   * attribute to `false`. If the provided policy is already the site's\n   * default, the call succeeds without changing any `bookingPolicy` object.\n   * @param bookingPolicyId - ID of the booking policy that's set as default.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingPolicyId\n   * @permissionId BOOKINGS.BOOKING_POLICY_SET_DEFAULT\n   * @adminMethod\n   */\n  function setDefaultBookingPolicy(bookingPolicyId: string): Promise<SetDefaultBookingPolicyResponse>;\n  /**\n   * Deletes a booking policy.\n   *\n   *\n   * You can't delete the default policy without\n   * [setting a different policy as default](https://dev.wix.com/docs/rest/business-solutions/bookings/services/booking-policy/set-default-booking-policy)\n   * first.\n   * @param bookingPolicyId - ID of the booking policy to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingPolicyId\n   * @permissionId BOOKINGS.BOOKING_POLICY_DELETE\n   * @adminMethod\n   */\n  function deleteBookingPolicy(bookingPolicyId: string): Promise<void>;\n  /**\n   * Retrieves a list of booking policies, given the provided paging, filtering, and sorting.\n   *\n   *\n   * Query Booking Policies runs with these defaults, which you can override:\n   *\n   * - Sorted by `createdDate` in ascending order.\n   * - `cursorPaging.limit` set to `100`.\n   *\n   * For details about all supported filters and sorting options, see\n   * [the supported filters article](https://dev.wix.com/docs/rest/business-solutions/bookings/services/booking-policy/supported-filters).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.BOOKING_POLICY_READ\n   */\n  function queryBookingPolicies(): BookingPoliciesQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface BookingPoliciesQueryResult extends QueryCursorResult$1 {\n      items: BookingPolicy[];\n      query: BookingPoliciesQueryBuilder;\n      next: () => Promise<BookingPoliciesQueryResult>;\n      prev: () => Promise<BookingPoliciesQueryResult>;\n  }\n  interface BookingPoliciesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name' | 'customPolicyDescription.enabled' | 'customPolicyDescription.description' | 'default' | 'limitEarlyBookingPolicy.enabled' | 'limitEarlyBookingPolicy.earliestBookingInMinutes' | 'limitLateBookingPolicy.enabled' | 'limitLateBookingPolicy.latestBookingInMinutes' | 'bookAfterStartPolicy.enabled' | 'cancellationPolicy.enabled' | 'cancellationPolicy.limitLatestCancellation' | 'cancellationPolicy.latestCancellationInMinutes' | 'reschedulePolicy.enabled' | 'reschedulePolicy.limitLatestReschedule' | 'reschedulePolicy.latestRescheduleInMinutes' | 'waitlistPolicy.enabled' | 'waitlistPolicy.capacity' | 'waitlistPolicy.reservationTimeInMinutes' | 'participantsPolicy.maxParticipantsPerBooking' | 'resourcesPolicy.enabled' | 'resourcesPolicy.autoAssignAllowed', value: any) => BookingPoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name' | 'customPolicyDescription.enabled' | 'customPolicyDescription.description' | 'default' | 'limitEarlyBookingPolicy.enabled' | 'limitEarlyBookingPolicy.earliestBookingInMinutes' | 'limitLateBookingPolicy.enabled' | 'limitLateBookingPolicy.latestBookingInMinutes' | 'bookAfterStartPolicy.enabled' | 'cancellationPolicy.enabled' | 'cancellationPolicy.limitLatestCancellation' | 'cancellationPolicy.latestCancellationInMinutes' | 'reschedulePolicy.enabled' | 'reschedulePolicy.limitLatestReschedule' | 'reschedulePolicy.latestRescheduleInMinutes' | 'waitlistPolicy.enabled' | 'waitlistPolicy.capacity' | 'waitlistPolicy.reservationTimeInMinutes' | 'participantsPolicy.maxParticipantsPerBooking' | 'resourcesPolicy.enabled' | 'resourcesPolicy.autoAssignAllowed', value: any) => BookingPoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'limitEarlyBookingPolicy.earliestBookingInMinutes' | 'limitLateBookingPolicy.latestBookingInMinutes' | 'cancellationPolicy.latestCancellationInMinutes' | 'reschedulePolicy.latestRescheduleInMinutes' | 'waitlistPolicy.capacity' | 'waitlistPolicy.reservationTimeInMinutes' | 'participantsPolicy.maxParticipantsPerBooking', value: any) => BookingPoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'limitEarlyBookingPolicy.earliestBookingInMinutes' | 'limitLateBookingPolicy.latestBookingInMinutes' | 'cancellationPolicy.latestCancellationInMinutes' | 'reschedulePolicy.latestRescheduleInMinutes' | 'waitlistPolicy.capacity' | 'waitlistPolicy.reservationTimeInMinutes' | 'participantsPolicy.maxParticipantsPerBooking', value: any) => BookingPoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'limitEarlyBookingPolicy.earliestBookingInMinutes' | 'limitLateBookingPolicy.latestBookingInMinutes' | 'cancellationPolicy.latestCancellationInMinutes' | 'reschedulePolicy.latestRescheduleInMinutes' | 'waitlistPolicy.capacity' | 'waitlistPolicy.reservationTimeInMinutes' | 'participantsPolicy.maxParticipantsPerBooking', value: any) => BookingPoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'limitEarlyBookingPolicy.earliestBookingInMinutes' | 'limitLateBookingPolicy.latestBookingInMinutes' | 'cancellationPolicy.latestCancellationInMinutes' | 'reschedulePolicy.latestRescheduleInMinutes' | 'waitlistPolicy.capacity' | 'waitlistPolicy.reservationTimeInMinutes' | 'participantsPolicy.maxParticipantsPerBooking', value: any) => BookingPoliciesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'name' | 'customPolicyDescription.description', value: string) => BookingPoliciesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'limitEarlyBookingPolicy.earliestBookingInMinutes' | 'limitLateBookingPolicy.latestBookingInMinutes' | 'cancellationPolicy.latestCancellationInMinutes' | 'reschedulePolicy.latestRescheduleInMinutes' | 'waitlistPolicy.capacity' | 'waitlistPolicy.reservationTimeInMinutes' | 'participantsPolicy.maxParticipantsPerBooking', value: any) => BookingPoliciesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'name' | 'customPolicyDescription.enabled' | 'customPolicyDescription.description' | 'default' | 'limitEarlyBookingPolicy.enabled' | 'limitEarlyBookingPolicy.earliestBookingInMinutes' | 'limitLateBookingPolicy.enabled' | 'limitLateBookingPolicy.latestBookingInMinutes' | 'bookAfterStartPolicy.enabled' | 'cancellationPolicy.enabled' | 'cancellationPolicy.limitLatestCancellation' | 'cancellationPolicy.latestCancellationInMinutes' | 'reschedulePolicy.enabled' | 'reschedulePolicy.limitLatestReschedule' | 'reschedulePolicy.latestRescheduleInMinutes' | 'waitlistPolicy.enabled' | 'waitlistPolicy.capacity' | 'waitlistPolicy.reservationTimeInMinutes' | 'participantsPolicy.enabled' | 'participantsPolicy.maxParticipantsPerBooking' | 'resourcesPolicy.enabled' | 'resourcesPolicy.autoAssignAllowed'>) => BookingPoliciesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'name' | 'customPolicyDescription.enabled' | 'customPolicyDescription.description' | 'default' | 'limitEarlyBookingPolicy.enabled' | 'limitEarlyBookingPolicy.earliestBookingInMinutes' | 'limitLateBookingPolicy.enabled' | 'limitLateBookingPolicy.latestBookingInMinutes' | 'bookAfterStartPolicy.enabled' | 'cancellationPolicy.enabled' | 'cancellationPolicy.limitLatestCancellation' | 'cancellationPolicy.latestCancellationInMinutes' | 'reschedulePolicy.enabled' | 'reschedulePolicy.limitLatestReschedule' | 'reschedulePolicy.latestRescheduleInMinutes' | 'waitlistPolicy.enabled' | 'waitlistPolicy.capacity' | 'waitlistPolicy.reservationTimeInMinutes' | 'participantsPolicy.enabled' | 'participantsPolicy.maxParticipantsPerBooking' | 'resourcesPolicy.enabled' | 'resourcesPolicy.autoAssignAllowed'>) => BookingPoliciesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => BookingPoliciesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => BookingPoliciesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<BookingPoliciesQueryResult>;\n  }\n  /**\n   * Counts booking policies, given the provided filtering.\n   *\n   *\n   * See [the supported filters article](https://dev.wix.com/docs/rest/business-solutions/bookings/services/booking-policy/supported-filters)\n   * for details.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.BOOKING_POLICY_READ\n   */\n  function countBookingPolicies(options?: CountBookingPoliciesOptions): Promise<CountBookingPoliciesResponse>;\n  interface CountBookingPoliciesOptions {\n      /**\n       * Filter to base the count on. See\n       * [the supported filters article](https://dev.wix.com/docs/rest/business-solutions/bookings/services/booking-policy/supported-filters)\n       * for details.\n       */\n      filter?: Record<string, any> | null;\n  }\n  \n  type bookingsV1BookingPolicy_universal_d_BookingPolicy = BookingPolicy;\n  type bookingsV1BookingPolicy_universal_d_PolicyDescription = PolicyDescription;\n  type bookingsV1BookingPolicy_universal_d_LimitEarlyBookingPolicy = LimitEarlyBookingPolicy;\n  type bookingsV1BookingPolicy_universal_d_LimitLateBookingPolicy = LimitLateBookingPolicy;\n  type bookingsV1BookingPolicy_universal_d_BookAfterStartPolicy = BookAfterStartPolicy;\n  type bookingsV1BookingPolicy_universal_d_CancellationPolicy = CancellationPolicy;\n  type bookingsV1BookingPolicy_universal_d_ReschedulePolicy = ReschedulePolicy;\n  type bookingsV1BookingPolicy_universal_d_WaitlistPolicy = WaitlistPolicy;\n  type bookingsV1BookingPolicy_universal_d_ParticipantsPolicy = ParticipantsPolicy;\n  type bookingsV1BookingPolicy_universal_d_ResourcesPolicy = ResourcesPolicy;\n  type bookingsV1BookingPolicy_universal_d_CancellationFeePolicy = CancellationFeePolicy;\n  type bookingsV1BookingPolicy_universal_d_Money = Money;\n  type bookingsV1BookingPolicy_universal_d_CancellationWindow = CancellationWindow;\n  type bookingsV1BookingPolicy_universal_d_CancellationWindowFeeOneOf = CancellationWindowFeeOneOf;\n  type bookingsV1BookingPolicy_universal_d_SaveCreditCardPolicy = SaveCreditCardPolicy;\n  type bookingsV1BookingPolicy_universal_d_DefaultBookingPolicySet = DefaultBookingPolicySet;\n  type bookingsV1BookingPolicy_universal_d_CreateBookingPolicyRequest = CreateBookingPolicyRequest;\n  type bookingsV1BookingPolicy_universal_d_CreateBookingPolicyResponse = CreateBookingPolicyResponse;\n  type bookingsV1BookingPolicy_universal_d_GetBookingPolicyRequest = GetBookingPolicyRequest;\n  type bookingsV1BookingPolicy_universal_d_GetBookingPolicyResponse = GetBookingPolicyResponse;\n  type bookingsV1BookingPolicy_universal_d_GetStrictestBookingPolicyRequest = GetStrictestBookingPolicyRequest;\n  type bookingsV1BookingPolicy_universal_d_GetStrictestBookingPolicyResponse = GetStrictestBookingPolicyResponse;\n  type bookingsV1BookingPolicy_universal_d_UpdateBookingPolicyRequest = UpdateBookingPolicyRequest;\n  type bookingsV1BookingPolicy_universal_d_UpdateBookingPolicyResponse = UpdateBookingPolicyResponse;\n  type bookingsV1BookingPolicy_universal_d_SetDefaultBookingPolicyRequest = SetDefaultBookingPolicyRequest;\n  type bookingsV1BookingPolicy_universal_d_SetDefaultBookingPolicyResponse = SetDefaultBookingPolicyResponse;\n  type bookingsV1BookingPolicy_universal_d_DeleteBookingPolicyRequest = DeleteBookingPolicyRequest;\n  type bookingsV1BookingPolicy_universal_d_DeleteBookingPolicyResponse = DeleteBookingPolicyResponse;\n  type bookingsV1BookingPolicy_universal_d_QueryBookingPoliciesRequest = QueryBookingPoliciesRequest;\n  type bookingsV1BookingPolicy_universal_d_CursorQuery = CursorQuery;\n  type bookingsV1BookingPolicy_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type bookingsV1BookingPolicy_universal_d_QueryBookingPoliciesResponse = QueryBookingPoliciesResponse;\n  type bookingsV1BookingPolicy_universal_d_CountBookingPoliciesRequest = CountBookingPoliciesRequest;\n  type bookingsV1BookingPolicy_universal_d_CountBookingPoliciesResponse = CountBookingPoliciesResponse;\n  type bookingsV1BookingPolicy_universal_d_UpdateAllPoliciesRequest = UpdateAllPoliciesRequest;\n  type bookingsV1BookingPolicy_universal_d_UpdateAllPoliciesResponse = UpdateAllPoliciesResponse;\n  type bookingsV1BookingPolicy_universal_d_CreateMissingDefaultPolicyRequest = CreateMissingDefaultPolicyRequest;\n  type bookingsV1BookingPolicy_universal_d_CreateMissingDefaultPolicyResponse = CreateMissingDefaultPolicyResponse;\n  type bookingsV1BookingPolicy_universal_d_Empty = Empty;\n  type bookingsV1BookingPolicy_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n  type bookingsV1BookingPolicy_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n  type bookingsV1BookingPolicy_universal_d_Properties = Properties;\n  type bookingsV1BookingPolicy_universal_d_Categories = Categories;\n  type bookingsV1BookingPolicy_universal_d_Locale = Locale;\n  type bookingsV1BookingPolicy_universal_d_AddressHint = AddressHint;\n  type bookingsV1BookingPolicy_universal_d_PlacementType = PlacementType;\n  const bookingsV1BookingPolicy_universal_d_PlacementType: typeof PlacementType;\n  type bookingsV1BookingPolicy_universal_d_GeoCoordinates = GeoCoordinates;\n  type bookingsV1BookingPolicy_universal_d_BusinessSchedule = BusinessSchedule;\n  type bookingsV1BookingPolicy_universal_d_TimePeriod = TimePeriod;\n  type bookingsV1BookingPolicy_universal_d_DayOfWeek = DayOfWeek;\n  const bookingsV1BookingPolicy_universal_d_DayOfWeek: typeof DayOfWeek;\n  type bookingsV1BookingPolicy_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type bookingsV1BookingPolicy_universal_d_Multilingual = Multilingual;\n  type bookingsV1BookingPolicy_universal_d_SupportedLanguage = SupportedLanguage;\n  type bookingsV1BookingPolicy_universal_d_ResolutionMethod = ResolutionMethod;\n  const bookingsV1BookingPolicy_universal_d_ResolutionMethod: typeof ResolutionMethod;\n  type bookingsV1BookingPolicy_universal_d_ConsentPolicy = ConsentPolicy;\n  type bookingsV1BookingPolicy_universal_d_Translation = Translation;\n  type bookingsV1BookingPolicy_universal_d_ChangeContext = ChangeContext;\n  type bookingsV1BookingPolicy_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n  type bookingsV1BookingPolicy_universal_d_PropertiesChange = PropertiesChange;\n  type bookingsV1BookingPolicy_universal_d_SiteCreated = SiteCreated;\n  type bookingsV1BookingPolicy_universal_d_SiteCloned = SiteCloned;\n  const bookingsV1BookingPolicy_universal_d_createBookingPolicy: typeof createBookingPolicy;\n  const bookingsV1BookingPolicy_universal_d_getBookingPolicy: typeof getBookingPolicy;\n  const bookingsV1BookingPolicy_universal_d_getStrictestBookingPolicy: typeof getStrictestBookingPolicy;\n  const bookingsV1BookingPolicy_universal_d_updateBookingPolicy: typeof updateBookingPolicy;\n  type bookingsV1BookingPolicy_universal_d_UpdateBookingPolicy = UpdateBookingPolicy;\n  type bookingsV1BookingPolicy_universal_d_UpdateBookingPolicyOptions = UpdateBookingPolicyOptions;\n  const bookingsV1BookingPolicy_universal_d_setDefaultBookingPolicy: typeof setDefaultBookingPolicy;\n  const bookingsV1BookingPolicy_universal_d_deleteBookingPolicy: typeof deleteBookingPolicy;\n  const bookingsV1BookingPolicy_universal_d_queryBookingPolicies: typeof queryBookingPolicies;\n  type bookingsV1BookingPolicy_universal_d_BookingPoliciesQueryResult = BookingPoliciesQueryResult;\n  type bookingsV1BookingPolicy_universal_d_BookingPoliciesQueryBuilder = BookingPoliciesQueryBuilder;\n  const bookingsV1BookingPolicy_universal_d_countBookingPolicies: typeof countBookingPolicies;\n  type bookingsV1BookingPolicy_universal_d_CountBookingPoliciesOptions = CountBookingPoliciesOptions;\n  namespace bookingsV1BookingPolicy_universal_d {\n    export {\n      bookingsV1BookingPolicy_universal_d_BookingPolicy as BookingPolicy,\n      bookingsV1BookingPolicy_universal_d_PolicyDescription as PolicyDescription,\n      bookingsV1BookingPolicy_universal_d_LimitEarlyBookingPolicy as LimitEarlyBookingPolicy,\n      bookingsV1BookingPolicy_universal_d_LimitLateBookingPolicy as LimitLateBookingPolicy,\n      bookingsV1BookingPolicy_universal_d_BookAfterStartPolicy as BookAfterStartPolicy,\n      bookingsV1BookingPolicy_universal_d_CancellationPolicy as CancellationPolicy,\n      bookingsV1BookingPolicy_universal_d_ReschedulePolicy as ReschedulePolicy,\n      bookingsV1BookingPolicy_universal_d_WaitlistPolicy as WaitlistPolicy,\n      bookingsV1BookingPolicy_universal_d_ParticipantsPolicy as ParticipantsPolicy,\n      bookingsV1BookingPolicy_universal_d_ResourcesPolicy as ResourcesPolicy,\n      bookingsV1BookingPolicy_universal_d_CancellationFeePolicy as CancellationFeePolicy,\n      bookingsV1BookingPolicy_universal_d_Money as Money,\n      bookingsV1BookingPolicy_universal_d_CancellationWindow as CancellationWindow,\n      bookingsV1BookingPolicy_universal_d_CancellationWindowFeeOneOf as CancellationWindowFeeOneOf,\n      bookingsV1BookingPolicy_universal_d_SaveCreditCardPolicy as SaveCreditCardPolicy,\n      ExtendedFields$2 as ExtendedFields,\n      bookingsV1BookingPolicy_universal_d_DefaultBookingPolicySet as DefaultBookingPolicySet,\n      bookingsV1BookingPolicy_universal_d_CreateBookingPolicyRequest as CreateBookingPolicyRequest,\n      bookingsV1BookingPolicy_universal_d_CreateBookingPolicyResponse as CreateBookingPolicyResponse,\n      bookingsV1BookingPolicy_universal_d_GetBookingPolicyRequest as GetBookingPolicyRequest,\n      bookingsV1BookingPolicy_universal_d_GetBookingPolicyResponse as GetBookingPolicyResponse,\n      bookingsV1BookingPolicy_universal_d_GetStrictestBookingPolicyRequest as GetStrictestBookingPolicyRequest,\n      bookingsV1BookingPolicy_universal_d_GetStrictestBookingPolicyResponse as GetStrictestBookingPolicyResponse,\n      bookingsV1BookingPolicy_universal_d_UpdateBookingPolicyRequest as UpdateBookingPolicyRequest,\n      bookingsV1BookingPolicy_universal_d_UpdateBookingPolicyResponse as UpdateBookingPolicyResponse,\n      bookingsV1BookingPolicy_universal_d_SetDefaultBookingPolicyRequest as SetDefaultBookingPolicyRequest,\n      bookingsV1BookingPolicy_universal_d_SetDefaultBookingPolicyResponse as SetDefaultBookingPolicyResponse,\n      bookingsV1BookingPolicy_universal_d_DeleteBookingPolicyRequest as DeleteBookingPolicyRequest,\n      bookingsV1BookingPolicy_universal_d_DeleteBookingPolicyResponse as DeleteBookingPolicyResponse,\n      bookingsV1BookingPolicy_universal_d_QueryBookingPoliciesRequest as QueryBookingPoliciesRequest,\n      bookingsV1BookingPolicy_universal_d_CursorQuery as CursorQuery,\n      bookingsV1BookingPolicy_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      bookingsV1BookingPolicy_universal_d_QueryBookingPoliciesResponse as QueryBookingPoliciesResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      bookingsV1BookingPolicy_universal_d_CountBookingPoliciesRequest as CountBookingPoliciesRequest,\n      bookingsV1BookingPolicy_universal_d_CountBookingPoliciesResponse as CountBookingPoliciesResponse,\n      bookingsV1BookingPolicy_universal_d_UpdateAllPoliciesRequest as UpdateAllPoliciesRequest,\n      bookingsV1BookingPolicy_universal_d_UpdateAllPoliciesResponse as UpdateAllPoliciesResponse,\n      bookingsV1BookingPolicy_universal_d_CreateMissingDefaultPolicyRequest as CreateMissingDefaultPolicyRequest,\n      bookingsV1BookingPolicy_universal_d_CreateMissingDefaultPolicyResponse as CreateMissingDefaultPolicyResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      bookingsV1BookingPolicy_universal_d_Empty as Empty,\n      bookingsV1BookingPolicy_universal_d_SitePropertiesNotification as SitePropertiesNotification,\n      bookingsV1BookingPolicy_universal_d_SitePropertiesEvent as SitePropertiesEvent,\n      bookingsV1BookingPolicy_universal_d_Properties as Properties,\n      bookingsV1BookingPolicy_universal_d_Categories as Categories,\n      bookingsV1BookingPolicy_universal_d_Locale as Locale,\n      Address$2 as Address,\n      bookingsV1BookingPolicy_universal_d_AddressHint as AddressHint,\n      bookingsV1BookingPolicy_universal_d_PlacementType as PlacementType,\n      bookingsV1BookingPolicy_universal_d_GeoCoordinates as GeoCoordinates,\n      bookingsV1BookingPolicy_universal_d_BusinessSchedule as BusinessSchedule,\n      bookingsV1BookingPolicy_universal_d_TimePeriod as TimePeriod,\n      bookingsV1BookingPolicy_universal_d_DayOfWeek as DayOfWeek,\n      bookingsV1BookingPolicy_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      bookingsV1BookingPolicy_universal_d_Multilingual as Multilingual,\n      bookingsV1BookingPolicy_universal_d_SupportedLanguage as SupportedLanguage,\n      bookingsV1BookingPolicy_universal_d_ResolutionMethod as ResolutionMethod,\n      bookingsV1BookingPolicy_universal_d_ConsentPolicy as ConsentPolicy,\n      bookingsV1BookingPolicy_universal_d_Translation as Translation,\n      bookingsV1BookingPolicy_universal_d_ChangeContext as ChangeContext,\n      bookingsV1BookingPolicy_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf,\n      bookingsV1BookingPolicy_universal_d_PropertiesChange as PropertiesChange,\n      bookingsV1BookingPolicy_universal_d_SiteCreated as SiteCreated,\n      bookingsV1BookingPolicy_universal_d_SiteCloned as SiteCloned,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      bookingsV1BookingPolicy_universal_d_createBookingPolicy as createBookingPolicy,\n      bookingsV1BookingPolicy_universal_d_getBookingPolicy as getBookingPolicy,\n      bookingsV1BookingPolicy_universal_d_getStrictestBookingPolicy as getStrictestBookingPolicy,\n      bookingsV1BookingPolicy_universal_d_updateBookingPolicy as updateBookingPolicy,\n      bookingsV1BookingPolicy_universal_d_UpdateBookingPolicy as UpdateBookingPolicy,\n      bookingsV1BookingPolicy_universal_d_UpdateBookingPolicyOptions as UpdateBookingPolicyOptions,\n      bookingsV1BookingPolicy_universal_d_setDefaultBookingPolicy as setDefaultBookingPolicy,\n      bookingsV1BookingPolicy_universal_d_deleteBookingPolicy as deleteBookingPolicy,\n      bookingsV1BookingPolicy_universal_d_queryBookingPolicies as queryBookingPolicies,\n      bookingsV1BookingPolicy_universal_d_BookingPoliciesQueryResult as BookingPoliciesQueryResult,\n      bookingsV1BookingPolicy_universal_d_BookingPoliciesQueryBuilder as BookingPoliciesQueryBuilder,\n      bookingsV1BookingPolicy_universal_d_countBookingPolicies as countBookingPolicies,\n      bookingsV1BookingPolicy_universal_d_CountBookingPoliciesOptions as CountBookingPoliciesOptions,\n    };\n  }\n  \n  /**\n   * The `Attendance` object represents the attendance information\n   * for a booked session, such as:\n   *\n   * + Did anyone attend the session?\n   * + How many people attended the session?\n   *\n   * The number of session `Attendance` objects available depends on the booking type:\n   * + Appointment bookings have 1 `Attendance` object per appointment session.\n   * + Class bookings have 1 `Attendance` object for each session of the class. The number of sessions for a class is defined in Schedule and Sessions [`schedule.capacity`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) property.\n   * + Course bookings have an `Attendance` object for each session of the course. For example, if there are 12 sessions in a course, there are 12 `Attendance` objects. The number of sessions for a class is defined in Schedule and Sessions [`schedule.capacity`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) property.\n   */\n  interface Attendance {\n      /**\n       * ID of the `Attendance` object.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Corresponding booking ID. */\n      bookingId?: string | null;\n      /** Corresponding session ID. */\n      sessionId?: string | null;\n      /**\n       * Status indicating if any participants attended the session:\n       *\n       * + `NOT_SET`: There is no available attendance information.\n       * + `ATTENDED`: At least a single participant attended the session.\n       * + `NOT_ATTENDED`: No participants attended the session.\n       */\n      status?: AttendanceStatus;\n      /**\n       * Total number of participants that attended the session. By default, the number\n       * of attendees is set to `1`, but you can set a number to greater than `1` if multiple\n       * participants attended.\n       *\n       * Do not set to `0` to indicate that no one attended the session. Instead, set the `status` field to `NOT_ATTENDED`.\n       *\n       * Default: 1\n       */\n      numberOfAttendees?: number;\n      /**\n       * Corresponding event ID.\n       * @internal\n       */\n      eventId?: string | null;\n      /**\n       * Date and time the attendance was updated.\n       * @internal\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Date and time the attendance status was updated.\n       * @internal\n       * @readonly\n       */\n      statusUpdatedDate?: Date | null;\n  }\n  enum AttendanceStatus {\n      NOT_SET = \"NOT_SET\",\n      ATTENDED = \"ATTENDED\",\n      NOT_ATTENDED = \"NOT_ATTENDED\"\n  }\n  interface GetAttendanceRequest {\n      /** ID of the object that contains the attendance information that you want to retrieve. */\n      attendanceId: string;\n  }\n  interface GetAttendanceResponse {\n      /** The retrieved attendance information for the booked session. */\n      attendance?: Attendance;\n  }\n  interface SetAttendanceRequest {\n      /** The attendance information for a booked session that you want to create or update. */\n      attendance: Attendance;\n      /** Information about whether to send a message to a customer after their attendance was set. */\n      participantNotification?: ParticipantNotification$2;\n  }\n  interface ParticipantNotification$2 {\n      /**\n       * Whether to send the message about the changes to the customer.\n       * Default is false.\n       */\n      notifyParticipants?: boolean | null;\n      /** Optional custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n  }\n  interface SetAttendanceResponse {\n      /** The created or updated attendance information for the booked session. */\n      attendance?: Attendance;\n  }\n  interface AttendanceMarkedAsNotAttended {\n      /** The attendance information for a booked session that you want to create or update. */\n      attendance?: Attendance;\n      /** Information about whether to send a message to a customer after their attendance was set. */\n      participantNotification?: ParticipantNotification$2;\n  }\n  interface BulkSetAttendanceRequest {\n      /**\n       * The attendance information for a booked sessions that you want to create or update. Min size 1.\n       * Deprecated. use `attendance_details`.\n       * @internal\n       * @deprecated The attendance information for a booked sessions that you want to create or update. Min size 1.\n       * Deprecated. use `attendance_details`.\n       * @replacedBy attendance_details\n       * @targetRemovalDate 2024-06-01\n       */\n      attendanceList?: Attendance[];\n      returnFullEntity?: boolean;\n      /** The attendance information for a booked sessions that you want to create or update. Min size 1. */\n      attendanceDetails?: AttendanceDetails[];\n  }\n  interface AttendanceDetails {\n      /** The created or updated attendance information for the booked session. */\n      attendance?: Attendance;\n      /** Information about whether to send a message to a customer after their attendance was set. */\n      participantNotification?: ParticipantNotification$2;\n  }\n  interface BulkSetAttendanceResponse {\n      /** The created or updated attendance information for the booked sessions. */\n      results?: BulkAttendanceResult[];\n      /** Total successes and failures of the bulk set attendance action. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkAttendanceResult {\n      item?: Attendance;\n      itemMetadata?: ItemMetadata$1;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface QueryAttendanceRequest {\n      /** Query options. */\n      query: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /**\n       * Paging options to limit and skip the number of items.\n       * @internal\n       */\n      paging?: Paging$1;\n      /** Cursors to navigate through the result pages using `next` and `prev`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       *\n       * For a detailed list of supported fields and operators, see [Supported Filters and Sorting](https://dev.wix.com/api/rest/wix-bookings/attendance/supported-filters).\n       *\n       * Max: 1 filter\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"}, {\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]`\n       *\n       * For details about sorting, see [Supported Filters and Sorting](https://dev.wix.com/api/rest/wix-bookings/attendance/supported-filters).\n       */\n      sort?: Sorting$1[];\n      /** @internal */\n      fieldsets?: string[];\n      /**\n       * Array of projected fields. A list of specific field names to return.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /**\n       * Paging options to limit and skip the number of items.\n       * @internal\n       */\n      paging?: Paging$1;\n      /** Cursors to navigate through the result pages using `next` and `prev`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  /**\n   * Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n   *\n   * Default: `ASC`.\n   */\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /**\n       * Number of `Attendance` objects to return.\n       *\n       * Default: `50`\n       * Maximum: `1000`\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       *\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  /** List of objects that contain attendance information. */\n  interface QueryAttendanceResponse {\n      /** List of objects that contain attendance information for a booked session. */\n      attendances?: Attendance[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  /** This is the preferred message for cursor-paging enabled services */\n  interface CursorPagingMetadata {\n      /** @internal */\n      totalCount?: number;\n      /** Use these cursors to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging). */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves attendance information by ID.\n   * @param attendanceId - ID of the object that contains the attendance information that you want to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField attendanceId\n   * @permissionId BOOKINGS.ATTENDANCE_READ\n   * @returns The retrieved attendance information for the booked session.\n   */\n  function getAttendance(attendanceId: string): Promise<Attendance>;\n  /**\n   * Sets information about whether a booking's session was attended. This information\n   * is saved in an `Attendance` object.\n   *\n   *\n   * If attendance was already set, meaning the `Attendance` object already exists, the\n   * existing attendance information is updated. Otherwise, a new `Attendance` object\n   * is created.\n   *\n   * By default, the number\n   * of attendees is set to `1`, but you can set a number to greater than `1` if multiple\n   * participants attended. Do not set to `0` to indicate that no one attended the session.\n   * Instead, set the `status` field to `NOT_ATTENDED`.\n   *\n   * > __Note:__ Make sure your code validates that:\n   * >  + There is no mismatch between `numberOfAttendees` and `attendanceStatus` to make sure, for example, that `attendanceStatus` is not `NOT_ATTENDED` while `numberOfAttendees` is `5`.\n   * >  + The attendance's `numberOfAttendees` and the booking's `numberOfParticipants` correspond. For example, the number of attendees usually should not exceed the booking's intended number of participants (unless perhaps you allow walk-ins that did not sign up in advance).\n   * @param attendance - The attendance information for a booked session that you want to create or update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField attendance\n   * @requiredField attendance.bookingId\n   * @requiredField attendance.status\n   * @permissionId BOOKINGS.ATTENDANCE_SET\n   * @adminMethod\n   */\n  function setAttendance(attendance: Attendance, options?: SetAttendanceOptions): Promise<SetAttendanceResponse>;\n  interface SetAttendanceOptions {\n      /** Information about whether to send a message to a customer after their attendance was set. */\n      participantNotification?: ParticipantNotification$2;\n  }\n  /**\n   * Sets information about whether a booking's session was attended for multiple bookings\n   *\n   *\n   * See [SetAttendance](https://dev.wix.com/docs/rest/api-reference/wix-bookings/attendance/set-attendance) documentation for more information.\n   *\n   * If any of the attendance list required fields were not passed on the request or if the caller doesn't have the required permissions to set the attendance, the call fails.\n   * If the request contains attendance info for unavailable sessions, the call completes successfully but the attendance info for the unavailable sessions are not created and are not considered as failures in the response.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.ATTENDANCE_SET\n   * @adminMethod\n   */\n  function bulkSetAttendance(options?: BulkSetAttendanceOptions): Promise<BulkSetAttendanceResponse>;\n  interface BulkSetAttendanceOptions {\n      /**\n       * The attendance information for a booked sessions that you want to create or update. Min size 1.\n       * Deprecated. use `attendance_details`.\n       * @internal\n       * @deprecated The attendance information for a booked sessions that you want to create or update. Min size 1.\n       * Deprecated. use `attendance_details`.\n       * @replacedBy attendance_details\n       * @targetRemovalDate 2024-06-01\n       */\n      attendanceList?: Attendance[];\n      returnFullEntity?: boolean;\n      /** The attendance information for a booked sessions that you want to create or update. Min size 1. */\n      attendanceDetails?: AttendanceDetails[];\n  }\n  /**\n   * Retrieves attendance information for booked sessions, given the provided paging, filtering, and sorting.\n   *\n   *\n   * When querying attendance information, you can query from the perspective of:\n   * + **A booking.** Specify a booking ID to retrieve attendance information\n   * for all sessions related to that booking.\n   * + **A session.** Specify a session ID to  retrieve attendance information\n   * for all bookings related to that session.\n   *\n   * For example, query by a course's `bookingId` and `status = \"NOT_ATTENDED\"` to\n   * retrieve the attendance of a given participant in a course. For example, this query\n   * helps you determine if a participant booked the course\n   * but did not attend most of its sessions, taking away spots for other potential participants.\n   *\n   * Query Attendance runs with the following defaults, which you can override:\n   *\n   * - `id` sorted in `ASC` order\n   * - `cursorPaging.limit` is `50`\n   *\n   * For field support, see [supported filters](https://dev.wix.com/api/rest/wix-bookings/attendance/supported-filters).\n   *\n   * > __Notes__:\n   * > + Another way to retrieve attendance information is to call Bookings Reader V2's [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) with `withBookingAttendanceDetails` as `true`.\n   * > + Up to 100 results can be returned per request.\n   * > + Only 1 filter is supported per query. If you define multiple filters in the same query, only the first is processed.\n   *\n   * To learn about working with query endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.ATTENDANCE_READ\n   */\n  function queryAttendance(): AttendancesQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface AttendancesQueryResult extends QueryCursorResult {\n      items: Attendance[];\n      query: AttendancesQueryBuilder;\n      next: () => Promise<AttendancesQueryResult>;\n      prev: () => Promise<AttendancesQueryResult>;\n  }\n  interface AttendancesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'bookingId' | 'sessionId' | 'status' | 'numberOfAttendees', value: any) => AttendancesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'bookingId' | 'sessionId' | 'status' | 'numberOfAttendees', value: any) => AttendancesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'numberOfAttendees', value: any) => AttendancesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'numberOfAttendees', value: any) => AttendancesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'numberOfAttendees', value: any) => AttendancesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'numberOfAttendees', value: any) => AttendancesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'bookingId' | 'sessionId' | 'status' | 'numberOfAttendees', value: any) => AttendancesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'bookingId' | 'sessionId' | 'status' | 'numberOfAttendees'>) => AttendancesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'numberOfAttendees'>) => AttendancesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => AttendancesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => AttendancesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<AttendancesQueryResult>;\n  }\n  \n  type bookingsV2Attendance_universal_d_Attendance = Attendance;\n  type bookingsV2Attendance_universal_d_AttendanceStatus = AttendanceStatus;\n  const bookingsV2Attendance_universal_d_AttendanceStatus: typeof AttendanceStatus;\n  type bookingsV2Attendance_universal_d_GetAttendanceRequest = GetAttendanceRequest;\n  type bookingsV2Attendance_universal_d_GetAttendanceResponse = GetAttendanceResponse;\n  type bookingsV2Attendance_universal_d_SetAttendanceRequest = SetAttendanceRequest;\n  type bookingsV2Attendance_universal_d_SetAttendanceResponse = SetAttendanceResponse;\n  type bookingsV2Attendance_universal_d_AttendanceMarkedAsNotAttended = AttendanceMarkedAsNotAttended;\n  type bookingsV2Attendance_universal_d_BulkSetAttendanceRequest = BulkSetAttendanceRequest;\n  type bookingsV2Attendance_universal_d_AttendanceDetails = AttendanceDetails;\n  type bookingsV2Attendance_universal_d_BulkSetAttendanceResponse = BulkSetAttendanceResponse;\n  type bookingsV2Attendance_universal_d_BulkAttendanceResult = BulkAttendanceResult;\n  type bookingsV2Attendance_universal_d_QueryAttendanceRequest = QueryAttendanceRequest;\n  type bookingsV2Attendance_universal_d_QueryAttendanceResponse = QueryAttendanceResponse;\n  type bookingsV2Attendance_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  const bookingsV2Attendance_universal_d_getAttendance: typeof getAttendance;\n  const bookingsV2Attendance_universal_d_setAttendance: typeof setAttendance;\n  type bookingsV2Attendance_universal_d_SetAttendanceOptions = SetAttendanceOptions;\n  const bookingsV2Attendance_universal_d_bulkSetAttendance: typeof bulkSetAttendance;\n  type bookingsV2Attendance_universal_d_BulkSetAttendanceOptions = BulkSetAttendanceOptions;\n  const bookingsV2Attendance_universal_d_queryAttendance: typeof queryAttendance;\n  type bookingsV2Attendance_universal_d_AttendancesQueryResult = AttendancesQueryResult;\n  type bookingsV2Attendance_universal_d_AttendancesQueryBuilder = AttendancesQueryBuilder;\n  namespace bookingsV2Attendance_universal_d {\n    export {\n      bookingsV2Attendance_universal_d_Attendance as Attendance,\n      bookingsV2Attendance_universal_d_AttendanceStatus as AttendanceStatus,\n      bookingsV2Attendance_universal_d_GetAttendanceRequest as GetAttendanceRequest,\n      bookingsV2Attendance_universal_d_GetAttendanceResponse as GetAttendanceResponse,\n      bookingsV2Attendance_universal_d_SetAttendanceRequest as SetAttendanceRequest,\n      ParticipantNotification$2 as ParticipantNotification,\n      bookingsV2Attendance_universal_d_SetAttendanceResponse as SetAttendanceResponse,\n      bookingsV2Attendance_universal_d_AttendanceMarkedAsNotAttended as AttendanceMarkedAsNotAttended,\n      bookingsV2Attendance_universal_d_BulkSetAttendanceRequest as BulkSetAttendanceRequest,\n      bookingsV2Attendance_universal_d_AttendanceDetails as AttendanceDetails,\n      bookingsV2Attendance_universal_d_BulkSetAttendanceResponse as BulkSetAttendanceResponse,\n      bookingsV2Attendance_universal_d_BulkAttendanceResult as BulkAttendanceResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      bookingsV2Attendance_universal_d_QueryAttendanceRequest as QueryAttendanceRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$1 as Paging,\n      CursorPaging$1 as CursorPaging,\n      bookingsV2Attendance_universal_d_QueryAttendanceResponse as QueryAttendanceResponse,\n      bookingsV2Attendance_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      bookingsV2Attendance_universal_d_getAttendance as getAttendance,\n      bookingsV2Attendance_universal_d_setAttendance as setAttendance,\n      bookingsV2Attendance_universal_d_SetAttendanceOptions as SetAttendanceOptions,\n      bookingsV2Attendance_universal_d_bulkSetAttendance as bulkSetAttendance,\n      bookingsV2Attendance_universal_d_BulkSetAttendanceOptions as BulkSetAttendanceOptions,\n      bookingsV2Attendance_universal_d_queryAttendance as queryAttendance,\n      bookingsV2Attendance_universal_d_AttendancesQueryResult as AttendancesQueryResult,\n      bookingsV2Attendance_universal_d_AttendancesQueryBuilder as AttendancesQueryBuilder,\n    };\n  }\n  \n  /** The booking object, version 2. */\n  interface Booking$1 extends BookingParticipantsInfoOneOf$1 {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices$1;\n      /**\n       * Booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** An object describing the slot or schedule that was booked. */\n      bookedEntity?: BookedEntity$1;\n      /** Contact details of the site visitor or member making the booking. */\n      contactDetails?: ContactDetails$1;\n      /** Additional custom fields submitted with the booking form. */\n      additionalFields?: CustomFormField$1[];\n      /**\n       * Number of participants.\n       * @internal\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Internal business note\n       * @internal\n       * @deprecated\n       */\n      internalBusinessNote?: string | null;\n      /**\n       *   Booking status.\n       *   Supported values:\n       *   - `CREATED`: The booking was created.\n       *   - `UPDATED`: The booking was updated.\n       *   - `PENDING`: The booking is waiting to be confirmed or declined by the business owner. A booking is automatically set as `PENDING` if the service is configured to require manual business owner confirmation and an eCommerce order was created.\n       *   - `CONFIRMED`: The booking was confirmed. A booking is automatically confirmed if the service is configured to automatically confirm bookings and an eCommerce order was created. If the service isn't configured to automatically confirm bookings, you can use `confirmOrDeclineBooking()`.\n       *   - `DECLINED`: The booking was declined by the business owner. A booking is also declined if an eCommerce order was created that resulted in a double booking.\n       *   - `CANCELED`: The booking was canceled.\n       *   - `WAITING_LIST`: The booking is on a wait list.\n       */\n      status?: BookingStatus$1;\n      /**\n       * Payment status.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /**\n       * Selected payment option.\n       * One of the payment options offered by the service, or another option if `skipSelectedPaymentOptionValidation` is `true`.\n       * When undefined, the payment option is resolved by the service configuration on checkout.\n       */\n      selectedPaymentOption?: SelectedPaymentOption$1;\n      /**\n       * Date and time the booking was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** External ID provided by the client app on creation. */\n      externalUserId?: string | null;\n      /**\n       * An object describing the platform and application that made the booking.\n       * @internal\n       */\n      bookingSource?: BookingSource$1;\n      /**\n       * The last notification used by Cancel, Confirm, Decline, or Reschedule Booking.\n       * @internal\n       * @deprecated\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * When value is set to True, an SMS reminder would be sent to the phone number specified in the ContactDetails, 24 hours before the session starts.\n       * @internal\n       * @deprecated\n       */\n      sendSmsReminder?: boolean | null;\n      /** Revision number to be used when updating, rescheduling, or cancelling the booking. Revision number, which increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes,the current revision must be passed when updating the booking. */\n      revision?: string | null;\n      /**\n       * ID of the creator of the Booking.\n       * If `appId` and another ID are present, the other ID takes precedence.\n       * @readonly\n       */\n      createdBy?: CommonIdentificationData;\n      /**\n       * The start date of this booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.\n       * @readonly\n       */\n      startDate?: Date | null;\n      /**\n       * The end date of this booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.\n       * @readonly\n       */\n      endDate?: Date | null;\n      /**\n       * Sets the booking flow behavior. Some behaviors require permissions.\n       * @internal\n       */\n      flowControlSettings?: FlowControlSettings$1;\n      /**\n       * Date and time the booking was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Custom field data for this object. Extended fields must be configured in the app dashboard before they can be accessed with API calls.\n       * For usage of extended fields with [Wix Forms](https://dev.wix.com/docs/rest/crm/forms/form-schema-api/introduction-to-forms), after configuring your form custom fields, pass the form field values under the `_user_fields` namespace.\n       * For example, if you have a custom form field named `age`, pass it as `\"extendedFields\":{\"_user_fields\": { \"age\": 22 }}`.\n       */\n      extendedFields?: ExtendedFields$1;\n      /**\n       * Whether this booking overlaps another existing confirmed booking. Returned when: `true`\n       * @readonly\n       */\n      doubleBooked?: boolean | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2Availability?: boolean | null;\n      /**\n       * Multi service booking info of which the booking is part of.\n       * @internal\n       * @readonly\n       */\n      multiServiceBookingInfo?: MultiServiceBookingInfo$1;\n      /**\n       * The date this booking was canceled on\n       * @internal\n       * @readonly\n       */\n      canceledDate?: Date | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2AvailabilityProxy?: boolean | null;\n      /**\n       * Having booking language means that the booking was made in a secondary language, having no booking.language implies that the booking was made using the main language\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** @oneof */\n  interface BookingParticipantsInfoOneOf$1 {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices$1;\n  }\n  enum MultiServiceBookingType$1 {\n      /**\n       * Multi service booking will be considered available if its bookings are\n       * available as returned from ListMultiServiceAvailabilityTimeSlots API.\n       * See [List Multi Service Availability Time Slots] (url) documentation // todo: complete url\n       */\n      SEQUENTIAL_BOOKINGS = \"SEQUENTIAL_BOOKINGS\",\n      /**\n       * Multi service booking will be considered available if each of its bookings is available separately.\n       * Not supported yet\n       */\n      SEPARATE_BOOKINGS = \"SEPARATE_BOOKINGS\",\n      /** Not supported yet */\n      PARALLEL_BOOKINGS = \"PARALLEL_BOOKINGS\"\n  }\n  interface BookedEntity$1 extends BookedEntityItemOneOf$1 {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot$1;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule$1;\n      /**\n       * Session title at the time of booking.\n       * If session doesn't exist at the time of the booking, service name is used.\n       * @readonly\n       */\n      title?: string | null;\n      /**\n       * If the user made the booking in a secondary language, this field will contain the translated title.\n       * @internal\n       * @readonly\n       */\n      titleTranslated?: string | null;\n      /**\n       * List of tags for the booking.\n       * System-assigned tags for sessions and schedules are:\n       * + \"INDIVIDUAL\" Appointments, including appointments with more than 1 participant.\n       * + \"GROUP\" Individual classes.\n       * + \"COURSE\" Courses.\n       */\n      tags?: string[] | null;\n  }\n  /** @oneof */\n  interface BookedEntityItemOneOf$1 {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot$1;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule$1;\n  }\n  interface BookedSlot$1 {\n      /**\n       * ID of the underlying session when session is a single session or generated from a recurring session.\n       * If `sessionId` is defined in the `Create Booking` request, the `startDate`, `endDate`, `timezone`, `resource`, and `location` fields are ignored and populated from the existing session's information.\n       */\n      sessionId?: string | null;\n      /** Service ID. */\n      serviceId?: string;\n      /** Schedule ID. Required. */\n      scheduleId?: string;\n      /**\n       * Calendar 3 event ID\n       * If not empty, on all write flows (create / update) gets priority over session_id.\n       * so if both session_id and event_id are provided, the session_id that will be set on the booking will be based on the event_id.\n       * Otherwise, if event_id is empty on write flow,\n       */\n      eventId?: string | null;\n      /**\n       * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      startDate?: string | null;\n      /**\n       * The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      endDate?: string | null;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The enriched resource assigned to the slot, can be either the requested resource or the resource chosen by the system.\n       * When populated, the given resource will be booked according to it's availability.\n       * When empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\n       * otherwise one of the service resources will be assigned to the slot randomly upon confirmation.\n       * This resource is the slot primary resource.\n       */\n      resource?: BookedResource$1;\n      /** Location where the slot's session takes place. */\n      location?: Location$1;\n      /**\n       * Optional.\n       * In addition to the `resource` field, these are the additional enriched resources that are assigned to the slot.\n       * For example the room, equipment or the additional staff member that are assigned to the slot.\n       * @internal\n       */\n      additionalResources?: BookedResource$1[];\n  }\n  interface BookedResource$1 {\n      /** Booked resource ID. */\n      _id?: string;\n      /** Resource's name at the time of booking. */\n      name?: string | null;\n      /**\n       * Resource's name translated to the language the booking was made in if applicable.\n       * @internal\n       * @readonly\n       */\n      nameTranslated?: string | null;\n      /** Resource's email at the time of booking. */\n      email?: string | null;\n      /** Resource's schedule ID. */\n      scheduleId?: string | null;\n      /**\n       * Indicates whether the resource was specifically requested or should be auto selected by the Server.\n       * The value will be true if the resource was explicitly given in the request, otherwise false.\n       * @internal\n       * @readonly\n       */\n      explicitlyRequested?: boolean | null;\n      /**\n       * Resource's type.\n       * @internal\n       * @readonly\n       */\n      type?: string | null;\n  }\n  interface Location$1 {\n      /**\n       * Business location ID. Available only for locations that are business locations,\n       * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** The full address of this location. */\n      formattedAddress?: string | null;\n      /** The full translated address of this location. */\n      formattedAddressTranslated?: string | null;\n      /**\n       * Location type.\n       *\n       * - `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n       * - `\"CUSTOM\"`: The address as set for the individual session.\n       */\n      locationType?: LocationType$1;\n  }\n  enum LocationType$1 {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface BookedSchedule$1 {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /** Booked service ID. */\n      serviceId?: string | null;\n      /**\n       * Location where the schedule's sessions take place. Read only.\n       * @readonly\n       */\n      location?: Location$1;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The start time of the first session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      firstSessionStart?: string | null;\n      /**\n       * The end time of the last session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      lastSessionEnd?: string | null;\n  }\n  interface ContactDetails$1 {\n      /** Contact's ID. */\n      contactId?: string | null;\n      /** Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /** Contact's email, used to create a new contact or get existing one from the [Contacts API](https://www.wix.com/velo/reference/wix-crm/contacts/introduction). Used to validate coupon usage limitations per contact. If not passed, the coupon usage limitation will not be enforced. (Coupon usage limitation validation is not supported yet). */\n      email?: string | null;\n      /** Contact's phone number. */\n      phone?: string | null;\n      /** Contact's full address. */\n      fullAddress?: Address$1;\n      /**\n       * Contact's time zone.\n       * @deprecated\n       */\n      timeZone?: string | null;\n      /** Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      countryCode?: string | null;\n  }\n  /** Physical address */\n  interface Address$1 extends AddressStreetOneOf$1 {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation$1;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision$1[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$1 {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$1 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation$1 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$1 {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface CustomFormField$1 {\n      /** ID of the form field as defined in the form. */\n      _id?: string;\n      /** Value that was submitted for this field. */\n      value?: string | null;\n      /**\n       * Form field's label at the time of submission.\n       * @readonly\n       */\n      label?: string | null;\n      valueType?: ValueType$1;\n  }\n  enum ValueType$1 {\n      /** Short text. This is the default value type. */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long text */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** a text that represent the check box value: if selected the value is \"true\", otherwise \"false\". */\n      CHECK_BOX = \"CHECK_BOX\"\n  }\n  /** Booking status. */\n  enum BookingStatus$1 {\n      CREATED = \"CREATED\",\n      CONFIRMED = \"CONFIRMED\",\n      CANCELED = \"CANCELED\",\n      PENDING = \"PENDING\",\n      DECLINED = \"DECLINED\",\n      WAITING_LIST = \"WAITING_LIST\"\n  }\n  /**\n   * Payment status.\n   * Automatically updated when using eCom checkout APIs.\n   */\n  enum PaymentStatus$1 {\n      UNDEFINED = \"UNDEFINED\",\n      NOT_PAID = \"NOT_PAID\",\n      PAID = \"PAID\",\n      /** not supported yet. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      /** not supported yet */\n      REFUNDED = \"REFUNDED\",\n      EXEMPT = \"EXEMPT\"\n  }\n  /**\n   * The selected payment option.\n   * One of the payment options offered by the service.\n   * This field is be set when the user selects an option during booking.\n   * If left undefined, the payment option is resolved by the service configuration on checkout.\n   */\n  enum SelectedPaymentOption$1 {\n      UNDEFINED = \"UNDEFINED\",\n      OFFLINE = \"OFFLINE\",\n      ONLINE = \"ONLINE\",\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Payment can only be done using a membership and must be manually redeemed in the dashboard by the site owner. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface BookingSource$1 {\n      /** Platform from which a booking was created */\n      platform?: Platform$1;\n      /** Actor that created this booking. */\n      actor?: Actor$1;\n      /**\n       * Wix site ID of the application that created the booking.\n       * @readonly\n       */\n      appDefId?: string | null;\n      /**\n       * Name of the application that created the booking, as saved in Wix Developers Center at the time of booking.\n       * @readonly\n       */\n      appName?: string | null;\n  }\n  enum Platform$1 {\n      UNDEFINED_PLATFORM = \"UNDEFINED_PLATFORM\",\n      WEB = \"WEB\",\n      MOBILE_APP = \"MOBILE_APP\"\n  }\n  enum Actor$1 {\n      UNDEFINED_ACTOR = \"UNDEFINED_ACTOR\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\"\n  }\n  interface ParticipantNotification$1 {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n      /**\n       * Optional additional metadata.\n       * Supported only in V3 APIs.\n       * @internal\n       */\n      metadata?: Record<string, string>;\n  }\n  interface CommonIdentificationData extends CommonIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentificationDataIdentityType;\n  }\n  /** @oneof */\n  interface CommonIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentificationDataIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface FlowControlSettings$1 {\n      /**\n       * When true, skips the service defined booking-window in the booking policy.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       * private because it's confusing to external users - collides with skip_availability_validation\n       * and yet, clients send it (though always with skip_availability_validation=true) so we're not just removing it\n       * When removing, we need to use proto's `reserved` field\n       * @internal\n       * @deprecated\n       */\n      ignoreBookingWindow?: boolean;\n      /**\n       * When true, skips availability checking and allows booking.\n       * Requires BOOKINGS.OVERRIDE_AVAILABILITY permissions.\n       */\n      skipAvailabilityValidation?: boolean;\n      /**\n       * When true, allows booking a confirmation-required service without requiring confirmation.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       */\n      skipBusinessConfirmation?: boolean;\n      /**\n       * When true, skips selected payment option checking as defined in `selectedPaymentOption` field\n       * and allows booking.\n       * Requires BOOKINGS.MANAGE_PAYMENTS permissions.\n       */\n      skipSelectedPaymentOptionValidation?: boolean;\n      /** When true, refunds the booking's payment when the booking is canceled. */\n      withRefund?: boolean | null;\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ParticipantChoices$1 {\n      /** Information about the booked service choices. Includes the number of participants. */\n      serviceChoices?: ServiceChoices$1[];\n  }\n  interface ServiceChoices$1 {\n      /** Number of participants for this variant. */\n      numberOfParticipants?: number | null;\n      /** Service choices for these participants. */\n      choices?: ServiceChoice$1[];\n  }\n  interface ServiceChoice$1 extends ServiceChoiceChoiceOneOf$1 {\n      /**\n       * Value for one of the choices in the `CustomServiceOption.choices` list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n      /**\n       * ID of the corresponding option for the choice. For example, the choice `child`\n       * could correspond to the option `ageGroup`. In this case, `optionId` is the ID\n       * for the `ageGroup` option.\n       */\n      optionId?: string;\n  }\n  /** @oneof */\n  interface ServiceChoiceChoiceOneOf$1 {\n      /**\n       * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n  }\n  interface MultiServiceBookingInfo$1 {\n      /**\n       * Multi service booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Multi service booking type. */\n      type?: MultiServiceBookingType$1;\n  }\n  interface CreateMultiServiceBookingRequest {\n      /** The bookings to create as multi service booking. */\n      bookings: Booking$1[];\n      /** Information about a message to send to the customer. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       * Default: `true`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before creating the booking or if additional payment options are\n       * accepted.\n       */\n      flowControlSettings?: CreateBookingFlowControlSettings;\n      /** Whether to return the created bookings entities. */\n      returnFullEntity?: boolean;\n      /**\n       * Multi service booking type.\n       * One of:\n       * - `\"SEQUENTIAL_BOOKINGS\"` Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n       * - `\"SEPARATE_BOOKINGS\"` Not supported yet.\n       * - `\"PARALLEL_BOOKINGS\"` Not supported yet.\n       */\n      multiServiceBookingType?: MultiServiceBookingType$1;\n  }\n  interface CreateBookingFlowControlSettings {\n      /**\n       * when defined as `true`, skips the service defined booking-window in the booking policy.\n       * required BOOKINGS.IGNORE_BOOKING_POLICY permission. TODO - check if can be merged with skit_availability_validation\n       * private because it's confusing to external users - collides with skip_availability_validation\n       * and yet, clients send it (though always with skip_availability_validation=true) so we're not just removing it\n       * When removing, we need to use proto's `reserved` field\n       * @internal\n       * @deprecated\n       */\n      ignoreBookingWindow?: boolean;\n      /**\n       * Whether the availability is checked before creating the booking. When\n       * passing `false` a booking is only created when the slot or schedule is\n       * available.\n       * Default: `false`.\n       */\n      skipAvailabilityValidation?: boolean;\n      /**\n       * Whether `PENDING` bookings are automatically set to `CONFIRMED` for\n       * services that normally require the owner's manual confirmation. Your\n       * app must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope\n       * when passing `true`.\n       * Default: `false`.\n       */\n      skipBusinessConfirmation?: boolean;\n      /**\n       * Whether customers can pay using a payment method that isn't supported\n       * for the service, but that's supported for other services. Your app\n       * must have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing\n       * `true`.\n       * Default: `false`.\n       */\n      skipSelectedPaymentOptionValidation?: boolean;\n  }\n  interface CreateMultiServiceBookingResponse {\n      /**\n       * Created multi service booking.\n       * Contains the booking results on the same order as passed on the request.\n       */\n      multiServiceBooking?: MultiServiceBooking;\n  }\n  interface MultiServiceBooking {\n      /** Multi service booking ID. */\n      _id?: string | null;\n      /** The created bookings which are part of the multi service booking */\n      bookings?: BookingResult[];\n  }\n  interface BookingResult {\n      /** Booking ID. */\n      bookingId?: string | null;\n      /** Booking entity. */\n      booking?: Booking$1;\n  }\n  interface RescheduleMultiServiceBookingRequest {\n      /** ID of the multi service booking to reschedule it's related bookings. */\n      multiServiceBookingId: string | null;\n      /** Bookings to reschedule. */\n      rescheduleBookingsInfo: RescheduleMultiServiceBookingRequestRescheduleBookingInfo[];\n      /** Information about whether to notify the customer about the rescheduling and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * rescheduling flow are changed. For example, whether the availability of\n       * the new slot is checked before rescheduling the booking or if you can\n       * reschedule the booking even though the rescheduling policy doesn't allow it.\n       */\n      flowControlSettings?: RescheduleBookingFlowControlSettings;\n      /** Whether to return the rescheduled bookings entities. */\n      returnFullEntity?: boolean;\n  }\n  interface V2Slot {\n      /** Identifier for underlying session when session is a single session or generated from a recurring session. */\n      sessionId?: string | null;\n      /** Service identifier. Required. */\n      serviceId?: string;\n      /** Schedule identifier. Required. */\n      scheduleId?: string;\n      /** The start time of this Slot (formatted according to RFC3339). */\n      startDate?: string | null;\n      /** The end time of this Slot (formatted according to RFC3339). */\n      endDate?: string | null;\n      /** The timezone according to which the slot is calculated presented. */\n      timezone?: string | null;\n      /**\n       * The resource required for this slot.\n       * When populated, the given resource will be assigned to the slot upon confirmation according to it's availability.\n       * When empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\n       * otherwise one of the service resources will be assigned to the slot randomly upon confirmation.\n       */\n      resource?: SlotSlotResource;\n      /** Geographic location of the slot. */\n      location?: SlotLocation;\n      /**\n       * Calendar 3 event ID - not supported\n       * If not empty, on all write flows (create / update) gets priority over session_id.\n       * so if both session_id and event_id are provided, the session_id that will be set on the booking will be based on the event_id.\n       * Otherwise, if event_id is empty on write flow,\n       * @internal\n       */\n      eventId?: string | null;\n      /**\n       * Optional.\n       * In addition to the `resource` field, these are the additional enriched resources that are assigned to the slot.\n       * For example the room, equipment or the additional staff member that are assigned to the slot.\n       * @internal\n       */\n      additionalResources?: SlotSlotResource[];\n  }\n  enum LocationLocationType {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface SlotSlotResource {\n      /**\n       * Resource ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Read only. Resource name. */\n      name?: string | null;\n      /**\n       * Read only. Schedule ID\n       * @internal\n       */\n      scheduleId?: string | null;\n  }\n  interface SlotLocation {\n      /** Business Location ID. Present if the location is a business location. */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /**\n       * Location type.\n       * One of:\n       * - `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"` The address as set when creating the service.\n       * - `\"CUSTOM\"` The address set for the individual session.\n       */\n      locationType?: LocationLocationType;\n  }\n  interface RescheduleMultiServiceBookingRequestRescheduleBookingInfo extends RescheduleMultiServiceBookingRequestRescheduleBookingInfoParticipantsInfoOneOf {\n      /**\n       * Total number of participants. Available only for services with\n       * variants.\n       * Pass when all participants book the same variant.\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * variants.\n       * Pass when not all participants book the same variant.\n       */\n      participantsChoices?: ParticipantChoices$1;\n      /** ID of the booking to reschedule. */\n      bookingId?: string | null;\n      /** Information about the new slot. */\n      slot?: V2Slot;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision?: string | null;\n  }\n  /** @oneof */\n  interface RescheduleMultiServiceBookingRequestRescheduleBookingInfoParticipantsInfoOneOf {\n      /**\n       * Total number of participants. Available only for services with\n       * variants.\n       * Pass when all participants book the same variant.\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * variants.\n       * Pass when not all participants book the same variant.\n       */\n      participantsChoices?: ParticipantChoices$1;\n  }\n  interface RescheduleBookingFlowControlSettings {\n      /**\n       * Whether the rescheduling policy applies when rescheduling the booking.\n       * When passing `false` you can only cancel a booking if the rescheduling\n       * policy allows it.\n       * Default: `false`.\n       */\n      ignoreReschedulePolicy?: boolean;\n      /**\n       * when defined as true, skips the service defined booking-window validation in the booking policy.\n       * required BOOKINGS.IGNORE_BOOKING_POLICY permission.\n       * @internal\n       * @deprecated\n       */\n      ignoreBookingWindow?: boolean;\n      /**\n       * Whether the availability is checked before rescheduling the booking.\n       * When passing `false` a booking is only created when the slot or\n       * schedule is available.\n       * Default: `false`.\n       */\n      skipAvailabilityValidation?: boolean;\n      /**\n       * Whether the rescheduled booking's status is automatically set to\n       * `CONFIRMED` for services that normally require the owner's manual\n       * confirmation.\n       * Default: `false`.\n       */\n      skipBusinessConfirmation?: boolean;\n  }\n  interface RescheduleMultiServiceBookingResponse {\n      /** Rescheduled multi service booking. */\n      multiServiceBooking?: MultiServiceBooking;\n  }\n  interface BookingRescheduled extends BookingRescheduledPreviousParticipantsInfoOneOf {\n      /** The previous total number of participants. Available only when the booking includes a single service variant. */\n      previousTotalParticipants?: number;\n      /**\n       * Information about the previous booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      previousParticipantsChoices?: ParticipantChoices$1;\n      /** The rescheduled booking object. */\n      booking?: Booking$1;\n      /** Information about whether to notify the customer about the rescheduling and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * rescheduling flow are changed. For example, whether the availability of\n       * the new slot is checked before rescheduling the booking or if you can\n       * reschedule the booking even though the rescheduling policy doesn't allow it.\n       */\n      flowControlSettings?: RescheduleBookingFlowControlSettings;\n      /** ID of the rescheduling initiator. */\n      initiatedBy?: IdentificationData$1;\n      /** The previous status of the booking. */\n      previousStatus?: BookingStatus$1;\n      /** An object describing the previous slot or schedule of the booking. */\n      previousBookedEntity?: BookedEntity$1;\n      /** The previous start date of the booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session. */\n      previousStartDate?: Date | null;\n      /** The previous end date of the booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session. */\n      previousEndDate?: Date | null;\n  }\n  /** @oneof */\n  interface BookingRescheduledPreviousParticipantsInfoOneOf {\n      /** The previous total number of participants. Available only when the booking includes a single service variant. */\n      previousTotalParticipants?: number;\n      /**\n       * Information about the previous booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      previousParticipantsChoices?: ParticipantChoices$1;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /**\n       * ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system.\n       * @readonly\n       */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface GetMultiServiceBookingAvailabilityRequest {\n      multiServiceBookingId: string | null;\n  }\n  interface GetMultiServiceBookingAvailabilityResponse {\n      /** Whether these bookings are bookable. */\n      bookable?: boolean;\n      /** Total number of spots for this availability. */\n      totalCapacity?: number | null;\n      /** Number of open spots for this availability. */\n      remainingCapacity?: number | null;\n      /** Indicators for policy violations of the multi service booking. */\n      policyViolations?: BookingPolicyViolations;\n      /** Multi service booking policy settings */\n      policySettings?: BookingPolicySettings;\n      /** Info of the bookings this availability was calculated for. */\n      multiServiceBookingInfo?: GetMultiServiceBookingAvailabilityResponseBookingInfo[];\n  }\n  interface BookingPolicyViolations {\n      /** Bookings policy violation. Too early to book this slot. */\n      tooEarlyToBook?: boolean | null;\n      /** Bookings policy violation. Too late to book this slot. */\n      tooLateToBook?: boolean | null;\n      /** Bookings policy violation. Online booking is disabled for this slot. */\n      bookOnlineDisabled?: boolean | null;\n  }\n  interface BookingPolicySettings {\n      /** Booking policy settings for a given Slot/Schedule */\n      maxParticipantsPerBooking?: number | null;\n  }\n  interface GetMultiServiceBookingAvailabilityResponseBookingInfo {\n      /** Booking id */\n      bookingId?: string | null;\n  }\n  interface CancelMultiServiceBookingRequest {\n      /** ID of the multi service booking to cancel it's related bookings. */\n      multiServiceBookingId: string | null;\n      /** Information about whether to notify the customer about the cancelation and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * cancelation flow are changed. For example, whether the you can cancel\n       * a booking even though the cancelation policy doesn't allow it or whether\n       * to issue a refund.\n       */\n      flowControlSettings?: CancelBookingFlowControlSettings;\n      /** Whether to return the canceled bookings entities. */\n      returnFullEntity?: boolean;\n  }\n  interface CancelBookingFlowControlSettings {\n      /**\n       * Whether the cancelation policy applies when canceling the booking. When\n       * passing `false` you can only cancel a booking if the cancelation policy\n       * allows it.\n       * Default: `false`.\n       */\n      ignoreCancellationPolicy?: boolean | null;\n      /**\n       * Whether to issue a refund when canceling the booking.\n       * The refund will be issued only if the booking is refundable.\n       * Currently, booking is considered refundable when it was paid by membership.\n       * If passing `true`, the booking flow control settings will be set with refund,\n       * otherwise, either if `false` is passed or the field remains empty,\n       * the booking flow control settings will be set with no refund.\n       * Default: `false`.\n       */\n      withRefund?: boolean | null;\n      /**\n       * Whether to waive the cancellation fee when canceling the booking.\n       * By default, cancellation fee will be applied.\n       * If passing `true`, the cancellation fee will not be applied upon canceling the booking.\n       * Must have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing `true`.\n       * Default: `false`.\n       * @internal\n       */\n      waiveCancellationFee?: boolean | null;\n  }\n  interface CancelMultiServiceBookingResponse {\n      /** Canceled multi service booking. */\n      multiServiceBooking?: MultiServiceBooking;\n  }\n  interface BookingCanceled {\n      /** The canceled booking object. */\n      booking?: Booking$1;\n      /** Information about whether to notify the customer about the cancelation and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * cancelation flow are changed. For example, whether you can cancel\n       * a booking even though the cancelation policy doesn't allow it or whether\n       * to issue a refund.\n       */\n      flowControlSettings?: CancelBookingFlowControlSettings;\n      /** ID of the cancelation initiator. */\n      initiatedBy?: IdentificationData$1;\n      /** The previous status of the booking. */\n      previousStatus?: BookingStatus$1;\n  }\n  interface MarkMultiServiceBookingAsPendingRequest {\n      /** ID of the multi service booking to mark as pending it's related bookings. */\n      multiServiceBookingId: string | null;\n      /** Bookings to mark as pending. */\n      markAsPendingBookingsInfo?: BookingInfo[];\n      /** Information about whether to notify the customer upon manual confirmation and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       */\n      sendSmsReminder?: boolean | null;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /** Whether to return the pending bookings entities. */\n      returnFullEntity?: boolean;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before updating the booking.\n       */\n      flowControlSettings?: MarkBookingAsPendingFlowControlSettings;\n  }\n  interface BookingInfo {\n      /** ID of the booking. */\n      bookingId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision?: string | null;\n      /**\n       * Payment status to set for the booking.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus$1;\n  }\n  interface MarkBookingAsPendingFlowControlSettings {\n      /**\n       * Whether should check for double bookings before updating the booking as pending.\n       * When passing `false` a booking is only being updated with status PENDING\n       * Default: `false`.\n       */\n      checkAvailabilityValidation?: boolean;\n      /**\n       * Whether should validate that the given booking to be marked as pending, has a booking.slot.serviceId\n       * of a pending approval service.\n       * Default: `false`.\n       */\n      skipPendingApprovalServiceValidation?: boolean;\n  }\n  interface MarkMultiServiceBookingAsPendingResponse {\n      /** Pending multi service booking. */\n      multiServiceBooking?: MultiServiceBooking;\n  }\n  interface ConfirmMultiServiceBookingRequest {\n      /** ID of the multi service booking to confirm it's related bookings. */\n      multiServiceBookingId: string | null;\n      /** Bookings to confirm. */\n      confirmBookingsInfo?: BookingInfo[];\n      /** Information about whether to notify the customer about the confirmation and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       */\n      sendSmsReminder?: boolean | null;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /** Whether to return the confirmed bookings entities. */\n      returnFullEntity?: boolean;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * confirmation flow are changed. For example, whether the availability is\n       * checked before confirming the booking.\n       */\n      flowControlSettings?: ConfirmBookingFlowControlSettings;\n  }\n  interface ConfirmBookingFlowControlSettings {\n      /**\n       * Whether the availability is checked before confirming the booking.\n       * When passing `false` a booking is only being updated with status CONFIRMED\n       * Default: `false`.\n       */\n      checkAvailabilityValidation?: boolean;\n  }\n  interface ConfirmMultiServiceBookingResponse {\n      /** Confirmed multi service booking. */\n      multiServiceBooking?: MultiServiceBooking;\n  }\n  interface BookingConfirmed {\n      /** The confirmed booking object. */\n      booking?: Booking$1;\n      /** Information about whether to notify the customer about the confirmation and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       */\n      sendSmsReminder?: boolean | null;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /** ID of the confirmation initiator. */\n      initiatedBy?: IdentificationData$1;\n      /** The previous status of the booking. */\n      previousStatus?: BookingStatus$1;\n      /** The previous payment status of the booking. */\n      previousPaymentStatus?: PaymentStatus$1;\n  }\n  interface DeclineMultiServiceBookingRequest {\n      /** ID of the multi service booking to decline it's related bookings. */\n      multiServiceBookingId: string | null;\n      /** Bookings to decline. */\n      declineBookingsInfo?: BookingInfo[];\n      /** Information about whether to notify the customer about the decline and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /** Whether to return the declined bookings entities. */\n      returnFullEntity?: boolean;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * declining flow are changed. For example, whether to issue a refund.\n       */\n      flowControlSettings?: DeclineBookingFlowControlSettings;\n  }\n  interface DeclineBookingFlowControlSettings {\n      /**\n       * Whether to issue a refund when declining the booking.\n       * The refund will be issued only if the booking is refundable.\n       * Currently, booking is considered refundable when it was paid by membership.\n       * If passing `true`, the booking flow control settings will be set with refund,\n       * otherwise, either if `false` is passed or the field remains empty,\n       * the booking flow control settings will be set with no refund.\n       * Default: `false`.\n       */\n      withRefund?: boolean | null;\n  }\n  interface DeclineMultiServiceBookingResponse {\n      /** Declined multi service booking. */\n      multiServiceBooking?: MultiServiceBooking;\n  }\n  interface BookingDeclined {\n      /** The declined booking object. */\n      booking?: Booking$1;\n      /** Information about whether to notify the customer about the decline and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /** ID of the decline initiator. */\n      initiatedBy?: IdentificationData$1;\n      /** The previous status of the booking. */\n      previousStatus?: BookingStatus$1;\n      /** The previous payment status of the booking. */\n      previousPaymentStatus?: PaymentStatus$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * declining flow are changed. For example, whether to issue a refund.\n       */\n      flowControlSettings?: DeclineBookingFlowControlSettings;\n  }\n  interface BulkGetMultiServiceBookingAllowedActionsRequest {\n      /** The multi service booking ids to get the allowedActions for. */\n      multiServiceBookingIds: string[] | null;\n  }\n  interface BulkGetMultiServiceBookingAllowedActionsResponse {\n      results?: BulkCalculateAllowedActionsResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCalculateAllowedActionsResult {\n      /** (id, indexInGivenSeq, isSuccessful, error) */\n      itemMetadata?: ItemMetadata;\n      item?: AllowedActions;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /** Possible allowed actions for a Booking */\n  interface AllowedActions {\n      /** Is cancel booking allowed */\n      cancel?: boolean;\n      /** Is reschedule booking allowed */\n      reschedule?: boolean;\n      /**\n       * Is it possible to book another booking to the same service.\n       * @internal\n       */\n      bookAnother?: boolean;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface MarkAsMultiServiceBookingRequest {\n      /** IDs of the bookings to mark as multi service booking. */\n      bookingIds: string[] | null;\n      /**\n       * Multi service booking type.\n       * One of:\n       * - `\"SEQUENTIAL_BOOKINGS\"` Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n       * - `\"SEPARATE_BOOKINGS\"` Not supported yet.\n       * - `\"PARALLEL_BOOKINGS\"` Not supported yet.\n       */\n      multiServiceBookingType?: MultiServiceBookingType$1;\n  }\n  interface MarkAsMultiServiceBookingResponse {\n      /** Multi service booking ID. */\n      multiServiceBookingId?: string | null;\n  }\n  interface GetMultiServiceBookingRequest {\n      /** Multi service booking ID. */\n      multiServiceBookingId: string | null;\n  }\n  interface GetMultiServiceBookingResponse {\n      /** Multi service booking. */\n      multiServiceBooking?: MultiServiceBooking;\n      metadata?: MultiServiceBookingMetadata;\n  }\n  interface MultiServiceBookingMetadata {\n      /**\n       * Total number of the scheduled bookings within the multi service booking, including bookings which were not retrieved due to lack of read permissions.\n       * Scheduled bookings are bookings with status CONFIRMED or PENDING.\n       */\n      totalNumberOfScheduledBookings?: number | null;\n  }\n  interface AddBookingsToMultiServiceBookingRequest {\n      /** ID of the multi service booking. */\n      multiServiceBookingId: string | null;\n      /** List of bookings ids and their revisions to add to the multi service booking. */\n      bookings: BookingIdAndRevision[];\n      /** Whether to return the bookings entities. */\n      returnFullEntity?: boolean;\n  }\n  interface BookingIdAndRevision {\n      /** ID of the booking. */\n      bookingId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision?: string | null;\n  }\n  interface AddBookingsToMultiServiceBookingResponse {\n      /** The bookings that were added to the multi service booking. */\n      bookings?: BookingResult[];\n  }\n  interface RemoveBookingsFromMultiServiceBookingRequest {\n      /** ID of the multi service booking. */\n      multiServiceBookingId: string | null;\n      /** List of bookings ids and their revisions to remove from the multi service booking. */\n      bookings?: BookingIdAndRevision[];\n      /** Whether to return the bookings entities. */\n      returnFullEntity?: boolean;\n  }\n  interface RemoveBookingsFromMultiServiceBookingResponse {\n      /** The bookings that were removed from the multi service booking. */\n      bookings?: BookingResult[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData extends WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface BookingChanged {\n      /** The booking before the changes. */\n      previousBooking?: Booking$1;\n      /** The booking after the changes. */\n      currentBooking?: Booking$1;\n  }\n  interface CreateBookingRequest {\n      /** The booking to create. */\n      booking: Booking$1;\n      /** Information about a message to send to the customer. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       * Default: `true`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before creating the booking or if additional payment options are\n       * accepted.\n       */\n      flowControlSettings?: CreateBookingFlowControlSettings;\n  }\n  interface CreateBookingResponse {\n      /** Created booking. */\n      booking?: Booking$1;\n  }\n  /**\n   * The `fieldMask` should not include both the `numberOfParticipants` and `participantsInfo` paths. Including both results\n   * in an error. `participantsInfo` is preferred over `numberOfParticipants`.\n   */\n  interface UpdateBookingRequest {\n      booking: Booking$1;\n      /** @internal */\n      mask?: string[];\n  }\n  interface UpdateBookingResponse {\n      booking?: Booking$1;\n  }\n  interface LegacyCreateBookingRequest {\n      booking: Booking$1;\n  }\n  interface LegacyCreateBookingResponse {\n      booking?: Booking$1;\n  }\n  /**\n   * The `fieldMask` for each booking should not include both the `numberOfParticipants` and `participantsInfo` paths. Including both results\n   * in an error. `participantsInfo` is preferred over `numberOfParticipants`.\n   */\n  interface BulkUpdateBookingRequest {\n      bookings: MaskedBooking[];\n  }\n  interface MaskedBooking {\n      booking?: Booking$1;\n      /** @internal */\n      mask?: string[];\n  }\n  interface BulkUpdateBookingResponse {\n      results?: ItemMetadata[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCreateBookingRequest {\n      /**\n       * Bookings to create.\n       * Max: 8 bookings.\n       */\n      createBookingsInfo: CreateBookingInfo[];\n      /** Whether to return the created bookings entities. */\n      returnFullEntity?: boolean;\n  }\n  interface CreateBookingInfo {\n      /** The booking to create */\n      booking?: Booking$1;\n      /** Information about a message to send to the customer. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       * Default: `true`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before creating the booking or if additional payment options are\n       * accepted.\n       */\n      flowControlSettings?: CreateBookingFlowControlSettings;\n  }\n  interface BulkCreateBookingResponse {\n      /**\n       * Bulk create booking results.\n       * Whether it successfully created each booking, providing the corresponding error message if a failure occurred, and includes the created booking entity if the `returnFullEntity` is `true`.\n       */\n      results?: BulkBookingResult[];\n      /** Total successes and failures of the bulk create booking action. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkBookingResult {\n      itemMetadata?: ItemMetadata;\n      item?: Booking$1;\n  }\n  interface RescheduleBookingRequest extends RescheduleBookingRequestParticipantsInfoOneOf {\n      /**\n       * Total number of participants. Available only for services with\n       * variants.\n       * Pass when all participants book the same variant.\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * variants.\n       * Pass when not all participants book the same variant.\n       */\n      participantsChoices?: ParticipantChoices$1;\n      /** ID of the booking to reschedule. */\n      bookingId: string;\n      /** Information about the new slot. */\n      slot: V2Slot;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Information about whether to notify the customer about the rescheduling and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * rescheduling flow are changed. For example, whether the availability of\n       * the new slot is checked before rescheduling the booking or if you can\n       * reschedule the booking even though the rescheduling policy doesn't allow it.\n       */\n      flowControlSettings?: RescheduleBookingFlowControlSettings;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2Availability?: boolean | null;\n  }\n  /** @oneof */\n  interface RescheduleBookingRequestParticipantsInfoOneOf {\n      /**\n       * Total number of participants. Available only for services with\n       * variants.\n       * Pass when all participants book the same variant.\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * variants.\n       * Pass when not all participants book the same variant.\n       */\n      participantsChoices?: ParticipantChoices$1;\n  }\n  interface RescheduleBookingResponse {\n      /** Rescheduled booking. */\n      booking?: Booking$1;\n  }\n  interface BulkRescheduleBookingRequest {\n      /** Reschedule multiple bookings to multiple slots. */\n      slotsBookings: SlotBookings[];\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$1;\n  }\n  interface BulkRescheduleBookingRequestBooking {\n      /** ID of the bookings to be rescheduled. */\n      _id?: string;\n      revision?: string | null;\n  }\n  /** Bookings to be rescheduled to the given slot. */\n  interface SlotBookings {\n      /** The bookings details. */\n      bookings?: BulkRescheduleBookingRequestBooking[];\n      /**\n       * The slot to which the bookings were rescheduled.\n       * This bookings are automatically assigned to the session, if given. Otherwise, a new session is created.\n       */\n      slot?: BookedSlot$1;\n  }\n  interface BulkRescheduleBookingResponse {\n      /** The bulk reschedule results. For each booking, the results contain the metadata of the reschedule action. */\n      results?: ItemMetadata[];\n      /** Total successes and failures of the bulk reschedule action. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  /** Update the booked schedule of multiple bookings to the given schedule. */\n  interface BulkUpdateBookedScheduleRequest {\n      /** The bookings whose booked schedule is to be updated to the given schedule. */\n      bookings: BookingDetails[];\n      /** The ID of the schedule to be updated. */\n      scheduleId: string;\n      /** Whether to notify participants about the change and an optional custom message. */\n      participantNotification?: ParticipantNotification$1;\n  }\n  interface BookingDetails {\n      /** ID of the bookings to be updated. */\n      _id?: string;\n      revision?: string | null;\n  }\n  interface BulkUpdateBookedScheduleResponse {\n      /** The bulk update results. For each booking, the results contain the metadata of the update action. */\n      results?: ItemMetadata[];\n      /** Total successes and failures of the bulk update action. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface QueryBookingsRequest {\n      query: QueryV2;\n      /**\n       * Whether the authorization constraint should be handled on Bookings-Service. To be removed when rollout of SCHED-SCHED-25500 is finished.\n       * @internal\n       */\n      shouldNotHandleAuthorizationConstraints?: boolean;\n      /**\n       * Whether information about the total entities is returned.\n       * @internal\n       */\n      withPagingMetadataTotal?: boolean;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryBookingsResponse {\n      bookings?: Booking$1[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ConfirmRequest {\n      /** ID of the booking to be confirmed. */\n      _id?: string;\n      /** Whether to notify the participants about the booking confirmation, and an optional custom message. */\n      participantNotification?: ParticipantNotification$1;\n  }\n  interface ConfirmResponse {\n      /** Confirmed booking. */\n      booking?: Booking$1;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n  }\n  interface ConfirmBookingRequest {\n      /** ID of the booking to confirm. */\n      bookingId: string;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Information about whether to notify the customer about the confirmation and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Payment status to set for the booking.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before confirming the booking.\n       */\n      flowControlSettings?: ConfirmBookingFlowControlSettings;\n  }\n  interface ConfirmBookingResponse {\n      booking?: Booking$1;\n  }\n  interface PartySizeRequest extends PartySizeRequestPartySizeForOneOf {\n      sessionId?: string | null;\n      scheduleId?: string | null;\n  }\n  /** @oneof */\n  interface PartySizeRequestPartySizeForOneOf {\n      sessionId?: string | null;\n      scheduleId?: string | null;\n  }\n  interface PartySizeResponse {\n      partySize?: number | null;\n  }\n  interface ConsistentQueryBookingsRequest {\n      query?: QueryV2;\n  }\n  interface ConsistentQueryBookingsResponse {\n      bookings?: Booking$1[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface SetBookingSessionIdRequest {\n      /** ID of the booking to set its sessionId. */\n      _id: string;\n      /** The sessionId to be set. */\n      sessionId?: string;\n  }\n  interface SetBookingSessionIdResponse {\n      /** The updated booking. */\n      booking?: Booking$1;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the booking for which to update extended fields. */\n      _id: string;\n      /** [Namespace](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-reading-and-writing-schema-plugin-fields#namespaces) of the app for which to update extended fields. */\n      namespace: string;\n      /** Data of the extended field to update. Must be structured according to the [schema](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions#json-schema-for-extended-fields) defined during the configuration of the extended fields. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** [Namespace](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-reading-and-writing-schema-plugin-fields#namespaces) of the app for which the extended fields were updated. */\n      namespace?: string;\n      /** Updated data of the extended fields. */\n      namespaceData?: Record<string, any> | null;\n  }\n  interface DeclineBookingRequest {\n      /** ID of the booking to decline. */\n      bookingId: string;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Information about whether to notify the customer about the decline and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Payment status to set on the booking.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * declining flow are changed. For example, whether to issue a refund.\n       */\n      flowControlSettings?: DeclineBookingFlowControlSettings;\n  }\n  interface DeclineBookingResponse {\n      /** eclined booking */\n      booking?: Booking$1;\n  }\n  interface CancelBookingRequest {\n      /** ID of the booking to cancel. */\n      bookingId: string;\n      /**\n       * Information about whether to notify the customer about the cancelation and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * cancelation flow are changed. For example, whether the you can cancel\n       * a booking even though the cancelation policy doesn't allow it or whether\n       * to issue a refund.\n       */\n      flowControlSettings?: CancelBookingFlowControlSettings;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when managing the booking.\n       */\n      revision: string | null;\n  }\n  interface CancelBookingResponse {\n      /** Canceled booking. */\n      booking?: Booking$1;\n  }\n  interface UpdateNumberOfParticipantsRequest extends UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {\n      /**\n       * Total number of participants. Available only for services with\n       * variants.\n       * Pass when all participants book the same variant.\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * variants.\n       * Pass when not all participants book the same variant.\n       */\n      participantsChoices?: ParticipantChoices$1;\n      /** ID of the booking to update the number of participants for. */\n      bookingId: string;\n      /**\n       * Updated number of participants.\n       * @internal\n       * @deprecated\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n  }\n  /** @oneof */\n  interface UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {\n      /**\n       * Total number of participants. Available only for services with\n       * variants.\n       * Pass when all participants book the same variant.\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * variants.\n       * Pass when not all participants book the same variant.\n       */\n      participantsChoices?: ParticipantChoices$1;\n  }\n  interface UpdateNumberOfParticipantsResponse {\n      /** Booking with updated number of participants. */\n      booking?: Booking$1;\n  }\n  interface NumberOfParticipantsUpdated extends NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf {\n      /** The previous total number of participants. Available only when the booking includes a single service variant. */\n      previousTotalParticipants?: number;\n      /**\n       * Information about the previous booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      previousParticipantsChoices?: ParticipantChoices$1;\n      /** The updated booking object. */\n      booking?: Booking$1;\n      /** ID of the participant number update initiator. */\n      initiatedBy?: IdentificationData$1;\n  }\n  /** @oneof */\n  interface NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf {\n      /** The previous total number of participants. Available only when the booking includes a single service variant. */\n      previousTotalParticipants?: number;\n      /**\n       * Information about the previous booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      previousParticipantsChoices?: ParticipantChoices$1;\n  }\n  interface CalculateAllowedActionsRequest {\n      /** The booking id that we want to calculate the allowedActions for */\n      bookingId: string | null;\n  }\n  interface CalculateAllowedActionsResponse {\n      allowedActions?: AllowedActions;\n  }\n  interface BulkCalculateAllowedActionsRequest {\n      /** The booking id's that we want to calculate the allowedActions for */\n      bookingIds: string[] | null;\n  }\n  interface BulkCalculateAllowedActionsResponse {\n      results?: BulkCalculateAllowedActionsResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface GetSlotAvailabilityRequest {\n      /** The slot for which the availability is checked. */\n      slot?: V2Slot;\n      /** The timezone for which availability is to be calculated. */\n      timezone?: string | null;\n      /**\n       * Return the IDs of bookings that are currently allowed to book the given slot due to being a part of a waitlist in a \"suggested\" status.\n       * @internal\n       */\n      returnAllowedBookingIds?: boolean;\n      /**\n       * Check if this booking is allowed to book the given slot due to being a part of a waitlist in a \"suggested\" status.\n       * If passed and the slot is locked for a booking other than this one, `bookable = false` is returned.\n       * @internal\n       */\n      bookingId?: string | null;\n      /**\n       * Whether availability should be queried to availability calendar or availability service\n       * @internal\n       */\n      shouldUseV2Availability?: boolean;\n      /**\n       * TODO: remove after qa and add a dedicated EP for calculating all available non double booked resources instead.\n       * Whether to skip optimizations during the calculation for overlapping bookings, in order to get the full list of possible\n       * non double booked resources.\n       * @internal\n       */\n      returnAllAvailableResources?: boolean;\n      /**\n       * Whether availability should be queried to availability calendar or availability service\n       * @internal\n       */\n      v2Availability?: boolean | null;\n  }\n  interface GetSlotAvailabilityResponse {\n      availability?: SlotAvailability;\n      bookingPolicySettings?: BookingPolicySettings;\n      /**\n       * Bookings that are currently allowed to book the given slot due to being a part of a waitlist in a \"suggested\" status.\n       * @internal\n       */\n      allowedBookingIds?: string[];\n      /**\n       * List of `AvailableResources` for the slot.\n       * Each `AvailableResources` contains information about available resources of the same type.\n       * @internal\n       */\n      availableResources?: AvailableResources[];\n  }\n  interface SlotAvailability {\n      /** Identifier for underlying session when session is a single session or generated from a recurring session. Required. */\n      slot?: V2Slot;\n      /** Whether this available slot is bookable. */\n      bookable?: boolean;\n      /**\n       * Total number of spots for this availability.\n       * For example, for a class of 10 spots with 3 spots booked, `spotsTotal` is 10, `openSpots` is 7.\n       */\n      totalSpots?: number | null;\n      /**\n       * Number of open spots for this availability.\n       * For appointment if there are existing bookings with overlapping time, service & resource, `openSpots` is 0, otherwise `openSpots` is 1.\n       */\n      openSpots?: number | null;\n      /** An object describing the slot's waiting-list and its occupancy. */\n      waitingList?: WaitingList;\n      /** Indicators for booking policy violations for the slot. */\n      bookingPolicyViolations?: BookingPolicyViolations;\n      /** Indicates whether this slot is locked. */\n      locked?: boolean | null;\n  }\n  interface WaitingList {\n      /**\n       * Total number of spots and open spots for this waiting list.\n       * For example, a Yoga class of 10 waiting list spots with 3 registered on the waiting list  has total_spots: 10 and open_spots: 7.\n       */\n      totalSpots?: number | null;\n      openSpots?: number | null;\n  }\n  interface AvailableResources {\n      /** Resource type ID. */\n      resourceTypeId?: string | null;\n      /**\n       * Available resources for the slot.\n       * maxSize defined by 135 staff members + 3 resource types and 50 resources per type.\n       * Availability-2 currently have no maxSize defined.\n       */\n      resourceIds?: string[];\n      /**\n       * The required number of resources of this type in order to book the service.\n       * @internal\n       */\n      numberOfResourcesRequired?: number | null;\n  }\n  interface GetScheduleAvailabilityRequest {\n      /** The schedule ID for which availability is checked. */\n      scheduleId: string;\n  }\n  interface GetScheduleAvailabilityResponse {\n      availability?: ScheduleAvailability;\n      bookingPolicySettings?: BookingPolicySettings;\n  }\n  interface ScheduleAvailability {\n      totalSpots?: number | null;\n      openSpots?: number | null;\n      /** Indicators of booking policy violations for the given Schedule. */\n      bookingPolicyViolations?: BookingPolicyViolations;\n  }\n  interface MarkBookingAsPendingRequest {\n      /** ID of the booking to mark as PENDING. */\n      bookingId: string;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Information about whether to notify the customer and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Payment status to set for the booking.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before updating the booking's status.\n       */\n      flowControlSettings?: MarkBookingAsPendingFlowControlSettings;\n  }\n  interface MarkBookingAsPendingResponse {\n      /** The updated booking */\n      booking?: Booking$1;\n  }\n  interface BookingMarkedAsPending {\n      /** The booking object that was marked as pending. */\n      booking?: Booking$1;\n      /** Information about whether to notify the customer upon manual confirmation of the pending booking and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       */\n      sendSmsReminder?: boolean | null;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /** ID of the mark as pending initiator. */\n      initiatedBy?: IdentificationData$1;\n      /** The previous status of the booking. */\n      previousStatus?: BookingStatus$1;\n      /** The previous payment status of the booking. */\n      previousPaymentStatus?: PaymentStatus$1;\n  }\n  interface MigrationCheckIfClashesWithBlockedTimeRequest {\n      msidAndBookingIds?: MsidAndBookingId[];\n  }\n  interface MsidAndBookingId {\n      msid?: string;\n      bookingId?: string;\n  }\n  interface MigrationCheckIfClashesWithBlockedTimeResponse {\n      clashes?: Clash[];\n  }\n  interface Clash {\n      msid?: string;\n      bookingId?: string;\n      sessionId?: string;\n      resourceName?: string;\n      contactName?: string;\n  }\n  interface ConfirmOrDeclineBookingRequest {\n      /** ID of the booking to confirm or decline. */\n      bookingId: string;\n      /**\n       * Current payment status of the booking when using a custom checkout page and\n       * not the [Wix eCommerce checkout](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction).\n       *\n       * The booking is declined if there is a double booking conflict and you provide\n       * one of these payment statuses: `UNDEFINED`, `NOT_PAID`, `REFUNDED`, or `EXEMPT`.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /**\n       * When true – decline the booking if double booked.\n       * @internal\n       */\n      declineDoubleBooking?: boolean | null;\n  }\n  interface ConfirmOrDeclineBookingResponse {\n      /** Updated booking. */\n      booking?: Booking$1;\n  }\n  interface BulkConfirmOrDeclineBookingRequest {\n      /** The bookings to confirm or decline. */\n      details: BulkConfirmOrDeclineBookingRequestBookingDetails[];\n      /**\n       * Whether to return the confirmed or declined bookings entities.\n       * Not supported yet, currently the entity is not returned.\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkConfirmOrDeclineBookingRequestBookingDetails {\n      /** ID of the booking to confirm or decline. */\n      bookingId?: string;\n      /**\n       * Current payment status of the booking when using a custom checkout page and\n       * not the [Wix eCommerce checkout](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction).\n       *\n       * The booking is declined if there is a double booking conflict and you provide\n       * one of these payment statuses: `UNDEFINED`, `NOT_PAID`, `REFUNDED`, or `EXEMPT`.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /**\n       * When true – decline the booking if double booked.\n       * @internal\n       */\n      declineDoubleBooking?: boolean | null;\n  }\n  interface BulkConfirmOrDeclineBookingResponse {\n      /**\n       * The bulk confirm or decline results.\n       * For each booking, the results contain the metadata of the confirm or decline action.\n       */\n      results?: BulkBookingResult[];\n      /** Total successes and failures of the bulk confirm or decline action. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface V2CreateBookingRequest extends V2CreateBookingRequestBookableItemOneOf, V2CreateBookingRequestParticipantsInfoOneOf {\n      /**\n       * Information about the slot to create a booking for.\n       * If you set `slot.location.locationType` to `CUSTOM`, the created slot's\n       * location is set to `slot.location.formattedAddress` when provided.\n       * Otherwise it's set to `contactDetails.fullAddress.formattedAddress`.\n       */\n      slot?: Slot;\n      /** Information about the schedule to create a booking for. */\n      schedule?: BookedSchedule$1;\n      /**\n       * Total number of participants.\n       * Provide when the service doesn't have\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * @internal\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Provide for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * @internal\n       */\n      participantsChoices?: ParticipantChoices$1;\n      /** Contact details of the customer booking the service. */\n      contactDetails?: ContactDetails$1;\n      /**\n       * Booking status.\n       * One of:\n       * - `\"CREATED\"` - The booking was created.\n       * - `\"UPDATED\"` - The booking was updated.\n       * - `\"CONFIRMED\"` - The booking has been confirmed and appears on the bookings calendar.\n       * Booking can be manually confirmed using the Set As Confirmed endpoint.\n       * Booking can be automatically confirmed when the following requirements are met:\n       * + The service is configured as automatically confirmed.\n       * + Invoking eCommerce checkout API and an order has been created.\n       * - `\"CANCELED\"` - The booking has been canceled and synced to bookings calendar.\n       * The booking can be canceled using cancel API.\n       * - `\"PENDING\"` - The booking waiting to be confirmed or declined buy the owner and is synced to bookings calendar.\n       * Bookings can be manually set as pending using setAsPending API, requires manage booking status permissions.\n       * Booking can be automatically set as pending when the following requirements are met:\n       * + The Service is configured as manually confirmed.\n       * + Invoking the eCommerce checkout API and an order has been created.\n       * - `\"WAITING_LIST\"` - The booking is pending on a waiting list.\n       * Booking can be created with this status when invoking waiting list join API.\n       * - `\"DECLINED\"` - The booking was declined by the owner and synced to bookings calendar.\n       * Booking can be manually declined using decline API and requires manage booking permissions.\n       * Booking can be automatically declined when the following requirements are met:\n       * + Invoking eCommerce checkout API and the order declined event has been sent.\n       * + Invoking eCommerce checkout API and order approved event has been sent, but the booking is offline and the booking causes a double booking.\n       */\n      status?: BookingStatus$1;\n      /**\n       * Additional custom fields of the booking form. The customer must provide\n       * information for each field when booking the service. For example, that they\n       * bring their own towels or whether they use a wheelchair.\n       *\n       * Max: 100 fields\n       */\n      additionalFields?: CustomFormField$1[];\n      /**\n       * Total number of participants. Available only when the service doesn't have\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       *\n       * Max: `20`\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Internal business note. Not visible to the customer.\n       *\n       * Max: 200 characters\n       */\n      internalBusinessNote?: string | null;\n      /**\n       * Payment option the customer intends to use.\n       * Must be one of the payment options defined for the service, unless\n       * you pass `flowControlSettings.skipSelectedPaymentOptionValidation` as `true`.\n       */\n      selectedPaymentOption?: SelectedPaymentOption$1;\n      /**\n       * Identifies the source (platform, actor and app) that created this booking.\n       * This property of the booking cannot be changed.\n       * The app_def_id and app_name will be resolved automatically.\n       * TODO GAP See if we need this - might be able to get this data from the headers?\n       */\n      bookingSource?: BookingSource$1;\n      /**\n       * A user identifier of an external application user that initiated the book request.\n       * Allows an external application to later identify its own bookings and correlate to its own internal users\n       */\n      externalUserId?: string | null;\n      /** Information about a message to send to the customer. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       *\n       * Default: `true`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before creating the booking or if additional payment options are\n       * accepted.\n       */\n      flowControlSettings?: CreateBookingRequestFlowControlSettings;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2Availability?: boolean | null;\n  }\n  /** @oneof */\n  interface V2CreateBookingRequestBookableItemOneOf {\n      /**\n       * Information about the slot to create a booking for.\n       * If you set `slot.location.locationType` to `CUSTOM`, the created slot's\n       * location is set to `slot.location.formattedAddress` when provided.\n       * Otherwise it's set to `contactDetails.fullAddress.formattedAddress`.\n       */\n      slot?: Slot;\n      /** Information about the schedule to create a booking for. */\n      schedule?: BookedSchedule$1;\n  }\n  /** @oneof */\n  interface V2CreateBookingRequestParticipantsInfoOneOf {\n      /**\n       * Total number of participants.\n       * Provide when the service doesn't have\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * @internal\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Provide for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * @internal\n       */\n      participantsChoices?: ParticipantChoices$1;\n  }\n  interface Slot {\n      /**\n       * ID for the slot's corresponding session, when the session is either a single session\n       * or a specific session generated from a recurring session.\n       */\n      sessionId?: string | null;\n      /** Service ID. */\n      serviceId?: string;\n      /** Schedule ID. */\n      scheduleId?: string;\n      /**\n       * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       *\n       * If `timezone` is specified,\n       * dates are based on the local date/time. This means that the timezone offset\n       * in the `start_date` is ignored.\n       */\n      startDate?: string | null;\n      /**\n       * The end time of this slot in\n       * [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) format.\n       *\n       * If `timezone` is specified,\n       * dates are based on the local date/time. This means that the timezone offset\n       * in the `end_date` is ignored.\n       */\n      endDate?: string | null;\n      /**\n       * The timezone for which slot availability is to be calculated.\n       *\n       * Learn more about [handling Daylight Savings Time (DST) for local time zones](https://dev.wix.com/api/rest/wix-bookings/availability-calendar/query-availability#wix-bookings_availability-calendar_query-availability_handling-daylight-savings-time-dst-for-local-time-zones)\n       * when calculating availability.\n       */\n      timezone?: string | null;\n      /**\n       * The resource required for this slot. Currently, the only supported resource\n       * is the relevant staff member for the slot.\n       */\n      resource?: SlotResource;\n      /** Geographic location of the slot. */\n      location?: Location$1;\n  }\n  interface SlotResource {\n      /**\n       * Resource ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Resource name. Read only. */\n      name?: string | null;\n      /**\n       * Schedule ID. Read only.\n       * @internal\n       */\n      scheduleId?: string | null;\n  }\n  interface CreateBookingRequestFlowControlSettings {\n      /**\n       * when defined as true, skips the service defined booking-window in the booking policy.\n       * required BOOKINGS.IGNORE_BOOKING_POLICY permission. TODO - check if can be merged with skit_availability_validation\n       * private because it's confusing to external users - collides with skip_availability_validation\n       * and yet, clients send it (though always with skip_availability_validation=true) so we're not just removing it\n       * When removing, we need to use proto's `reserved` field\n       * @internal\n       * @deprecated\n       */\n      ignoreBookingWindow?: boolean;\n      /**\n       * Whether the availability is checked before creating the booking. When\n       * passing `false` a booking is only created when the slot or schedule is\n       * available. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\n       * permission scope when passing `true`.\n       *\n       * Default: `false`.\n       */\n      skipAvailabilityValidation?: boolean;\n      /**\n       * Whether `PENDING` bookings are automatically set to `CONFIRMED` for\n       * services that normally require the owner's manual confirmation. Your\n       * app must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope\n       * when passing `true`.\n       *\n       * Default: `false`.\n       */\n      skipBusinessConfirmation?: boolean;\n      /**\n       * Whether customers can pay using a payment method that isn't supported\n       * for the service, but that's supported for other services. Your app\n       * must have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing\n       * `true`.\n       *\n       * Default: `false`.\n       */\n      skipSelectedPaymentOptionValidation?: boolean;\n  }\n  interface V2CreateBookingResponse {\n      /** Created booking. */\n      booking?: Booking$1;\n  }\n  interface V2CancelBookingRequest {\n      /** ID of the booking to cancel. */\n      bookingId: string;\n      /**\n       * Information about whether to notify the customer about the cancelation and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * cancelation flow are changed. For example, whether the you can cancel\n       * a booking even though the cancelation policy doesn't allow it or whether\n       * to issue a refund.\n       * @internal\n       */\n      flowControlSettings?: V2CancelBookingRequestFlowControlSettings;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when managing the booking.\n       */\n      revision: string | null;\n  }\n  interface V2CancelBookingRequestFlowControlSettings {\n      /**\n       * Whether the cancelation policy applies when canceling the booking. When\n       * passing `false` you can only cancel a booking if the cancelation policy\n       * allows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `\n       * permission scope when passing `true`.\n       *\n       * Default: `false`.\n       */\n      ignoreCancellationPolicy?: boolean;\n      /**\n       * Whether to issue a refund when canceling the booking.\n       * The refund will be issued only if the booking is refundable.\n       * Currently, booking is considered refundable when it was paid by membership.\n       * If passing `true`, the booking flow control settings will be set with refund,\n       * otherwise, either if `false` is passed or the field remains empty,\n       * the booking flow control settings will be set with no refund.\n       *\n       * Default: `false`.\n       */\n      withRefund?: boolean | null;\n      /**\n       * Whether to waive the cancellation fee when canceling the booking.\n       * By default, cancellation fee will be applied.\n       * If passing `true`, the cancellation fee will not be applied upon canceling the booking.\n       * Must have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing `true`.\n       *\n       * Default: `false`.\n       * @internal\n       */\n      waiveCancellationFee?: boolean | null;\n  }\n  interface V2CancelBookingResponse {\n      /** Canceled booking. */\n      booking?: Booking$1;\n  }\n  interface V2RescheduleBookingRequest extends V2RescheduleBookingRequestParticipantsInfoOneOf {\n      /**\n       * Total number of participants. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when all participants book the same variant.\n       * @internal\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when not all participants book the same variant.\n       * @internal\n       */\n      participantsChoices?: ParticipantChoices$1;\n      /** Id of the booking to reschedule. */\n      bookingId: string;\n      /** Information about the new slot. */\n      slot: Slot;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Information about whether to notify the customer about the rescheduling and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * rescheduling flow are changed. For example, whether the availability of\n       * the new slot is checked before rescheduling the booking or if you can\n       * reschedule the booking even though the rescheduling policy doesn't allow it.\n       * @internal\n       */\n      flowControlSettings?: V2RescheduleBookingRequestFlowControlSettings;\n  }\n  /** @oneof */\n  interface V2RescheduleBookingRequestParticipantsInfoOneOf {\n      /**\n       * Total number of participants. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when all participants book the same variant.\n       * @internal\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when not all participants book the same variant.\n       * @internal\n       */\n      participantsChoices?: ParticipantChoices$1;\n  }\n  interface V2RescheduleBookingRequestFlowControlSettings {\n      /**\n       * Whether the rescheduling policy applies when rescheduling the booking.\n       * When passing `false` you can only cancel a booking if the rescheduling\n       * policy allows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `\n       * permission scope when passing `true`.\n       *\n       * Default: `false`.\n       */\n      ignoreReschedulePolicy?: boolean;\n      /**\n       * when defined as true, skips the service defined booking-window validation in the booking policy.\n       * required BOOKINGS.IGNORE_BOOKING_POLICY permission.\n       * @internal\n       * @deprecated\n       */\n      ignoreBookingWindow?: boolean;\n      /**\n       * Whether the availability is checked before rescheduling the booking.\n       * When passing `false` a booking is only created when the slot or\n       * schedule is available. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\n       * permission scope when passing `true`.\n       *\n       * Default: `false`.\n       */\n      skipAvailabilityValidation?: boolean;\n      /**\n       * Whether the rescheduled booking's status is automatically set to\n       * `CONFIRMED` for services that normally require the owner's manual\n       * confirmation. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\n       * permission scope when passing `true`.\n       *\n       * Default: `false`.\n       */\n      skipBusinessConfirmation?: boolean;\n  }\n  interface V2RescheduleBookingResponse {\n      /** Rescheduled booking. */\n      booking?: Booking$1;\n  }\n  interface V2ConfirmBookingRequest {\n      /** ID of the booking to confirm. */\n      bookingId: string;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Information about whether to notify the customer about the confirmation and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n  }\n  interface V2ConfirmBookingResponse {\n      booking?: Booking$1;\n  }\n  interface V2DeclineBookingRequest {\n      /** ID of the booking to decline. */\n      bookingId: string;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Information about whether to notify the customer about the decline and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n  }\n  interface V2DeclineBookingResponse {\n      /** Declined booking. */\n      booking?: Booking$1;\n  }\n  interface V2UpdateNumberOfParticipantsRequest extends V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {\n      /**\n       * Total number of participants. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when all participants book the same variant.\n       * @internal\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when not all participants book the same variant.\n       * @internal\n       */\n      participantsChoices?: ParticipantChoices$1;\n      /** ID of the booking to update the number of participants for. */\n      bookingId: string;\n      /** Updated number of participants. */\n      numberOfParticipants?: number | null;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n  }\n  /** @oneof */\n  interface V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {\n      /**\n       * Total number of participants. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when all participants book the same variant.\n       * @internal\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when not all participants book the same variant.\n       * @internal\n       */\n      participantsChoices?: ParticipantChoices$1;\n  }\n  interface V2UpdateNumberOfParticipantsResponse {\n      /** Booking with updated number of participants. */\n      booking?: Booking$1;\n  }\n  /**\n   * Creates multi service booking.\n   *\n   * See [Create Booking](/bookings-v2/bookings-v2-and-confirmation/bookings-create-booking) documentation.\n   * @param bookings - The bookings to create as multi service booking.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookings\n   * @requiredField bookings.additionalFields._id\n   * @requiredField bookings.bookedEntity\n   * @requiredField bookings.bookedEntity.slot\n   * @requiredField bookings.bookedEntity.slot.endDate\n   * @requiredField bookings.bookedEntity.slot.location.locationType\n   * @requiredField bookings.bookedEntity.slot.scheduleId\n   * @requiredField bookings.bookedEntity.slot.startDate\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_CREATE\n   */\n  function createMultiServiceBooking(bookings: Booking$1[], options?: CreateMultiServiceBookingOptions): Promise<CreateMultiServiceBookingResponse>;\n  interface CreateMultiServiceBookingOptions {\n      /** Information about a message to send to the customer. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       * Default: `true`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before creating the booking or if additional payment options are\n       * accepted.\n       */\n      flowControlSettings?: CreateBookingFlowControlSettings;\n      /** Whether to return the created bookings entities. */\n      returnFullEntity?: boolean;\n      /**\n       * Multi service booking type.\n       * One of:\n       * - `\"SEQUENTIAL_BOOKINGS\"` Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n       * - `\"SEPARATE_BOOKINGS\"` Not supported yet.\n       * - `\"PARALLEL_BOOKINGS\"` Not supported yet.\n       */\n      multiServiceBookingType?: MultiServiceBookingType$1;\n  }\n  /**\n   * Reschedules the multi service booking.\n   * Validates all the bookings were passed.\n   * Throws an exception if there is reschedule policy violation for any of the bookings or if the requested slots are not available.\n   * See [Reschedule Booking](https://dev.wix.com/api/rest/wix-bookings/bookings-v2/reschedule-booking) documentation.\n   * @param multiServiceBookingId - ID of the multi service booking to reschedule it's related bookings.\n   * @param rescheduleBookingsInfo - Bookings to reschedule.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField multiServiceBookingId\n   * @requiredField rescheduleBookingsInfo\n   * @requiredField rescheduleBookingsInfo.bookingId\n   * @requiredField rescheduleBookingsInfo.revision\n   * @requiredField rescheduleBookingsInfo.slot\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_RESCHEDULE\n   */\n  function rescheduleMultiServiceBooking(multiServiceBookingId: string | null, rescheduleBookingsInfo: RescheduleMultiServiceBookingRequestRescheduleBookingInfo[], options?: RescheduleMultiServiceBookingOptions): Promise<RescheduleMultiServiceBookingResponse>;\n  interface RescheduleMultiServiceBookingOptions {\n      /** Information about whether to notify the customer about the rescheduling and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * rescheduling flow are changed. For example, whether the availability of\n       * the new slot is checked before rescheduling the booking or if you can\n       * reschedule the booking even though the rescheduling policy doesn't allow it.\n       */\n      flowControlSettings?: RescheduleBookingFlowControlSettings;\n      /** Whether to return the rescheduled bookings entities. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Get multi service booking availability.\n   * If the multi service booking is of type SEQUENTIAL_BOOKINGS, its availability is checked through ListMultiServiceAvailabilityTimeSlots API.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField multiServiceBookingId\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_GET_AVAILABILITY\n   */\n  function getMultiServiceBookingAvailability(multiServiceBookingId: string | null): Promise<GetMultiServiceBookingAvailabilityResponse>;\n  /**\n   * Cancels the multi service booking.\n   * Each booking within this multi service booking is being canceled.\n   * @param multiServiceBookingId - ID of the multi service booking to cancel it's related bookings.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField multiServiceBookingId\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_CANCEL\n   */\n  function cancelMultiServiceBooking(multiServiceBookingId: string | null, options?: CancelMultiServiceBookingOptions): Promise<CancelMultiServiceBookingResponse>;\n  interface CancelMultiServiceBookingOptions {\n      /** Information about whether to notify the customer about the cancelation and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * cancelation flow are changed. For example, whether the you can cancel\n       * a booking even though the cancelation policy doesn't allow it or whether\n       * to issue a refund.\n       */\n      flowControlSettings?: CancelBookingFlowControlSettings;\n      /** Whether to return the canceled bookings entities. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Mark the multi service booking as PENDING.\n   * Changes the status of each of the bookings within the multi service booking to PENDING\n   * Validates all the bookings were passed.\n   * See [MarkBookingAsPending](https://dev.wix.com/api/rest/wix-bookings/bookings-v2/mark-booking-as-pending) documentation.\n   * @param multiServiceBookingId - ID of the multi service booking to mark as pending it's related bookings.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField multiServiceBookingId\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_MARK_AS_PENDING\n   * @adminMethod\n   */\n  function markMultiServiceBookingAsPending(multiServiceBookingId: string | null, options?: MarkMultiServiceBookingAsPendingOptions): Promise<MarkMultiServiceBookingAsPendingResponse>;\n  interface MarkMultiServiceBookingAsPendingOptions {\n      /** Bookings to mark as pending. */\n      markAsPendingBookingsInfo?: BookingInfo[];\n      /** Information about whether to notify the customer upon manual confirmation and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       */\n      sendSmsReminder?: boolean | null;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /** Whether to return the pending bookings entities. */\n      returnFullEntity?: boolean;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before updating the booking.\n       */\n      flowControlSettings?: MarkBookingAsPendingFlowControlSettings;\n  }\n  /**\n   * Confirms the multi service booking.\n   * Each booking within this multi service booking is being confirmed.\n   * Validates all the bookings were passed.\n   * See [Confirm Booking](https://dev.wix.com/api/rest/wix-bookings/bookings-v2/confirm-booking) documentation.\n   * @param multiServiceBookingId - ID of the multi service booking to confirm it's related bookings.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField multiServiceBookingId\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_CONFIRM\n   * @adminMethod\n   */\n  function confirmMultiServiceBooking(multiServiceBookingId: string | null, options?: ConfirmMultiServiceBookingOptions): Promise<ConfirmMultiServiceBookingResponse>;\n  interface ConfirmMultiServiceBookingOptions {\n      /** Bookings to confirm. */\n      confirmBookingsInfo?: BookingInfo[];\n      /** Information about whether to notify the customer about the confirmation and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       */\n      sendSmsReminder?: boolean | null;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /** Whether to return the confirmed bookings entities. */\n      returnFullEntity?: boolean;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * confirmation flow are changed. For example, whether the availability is\n       * checked before confirming the booking.\n       */\n      flowControlSettings?: ConfirmBookingFlowControlSettings;\n  }\n  /**\n   * Declines the multi service booking.\n   * Each booking within this multi service booking is being declined.\n   * Validates all the bookings were passed.\n   * See [Decline Booking](https://dev.wix.com/api/rest/wix-bookings/bookings-v2/decline-booking) documentation.\n   * @param multiServiceBookingId - ID of the multi service booking to decline it's related bookings.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField multiServiceBookingId\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_DECLINE\n   * @adminMethod\n   */\n  function declineMultiServiceBooking(multiServiceBookingId: string | null, options?: DeclineMultiServiceBookingOptions): Promise<DeclineMultiServiceBookingResponse>;\n  interface DeclineMultiServiceBookingOptions {\n      /** Bookings to decline. */\n      declineBookingsInfo?: BookingInfo[];\n      /** Information about whether to notify the customer about the decline and the message to send. */\n      participantNotification?: ParticipantNotification$1;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /** Whether to return the declined bookings entities. */\n      returnFullEntity?: boolean;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * declining flow are changed. For example, whether to issue a refund.\n       */\n      flowControlSettings?: DeclineBookingFlowControlSettings;\n  }\n  /**\n   * Get the allowed actions for a given multi service bookings by a list of multi service booking ids\n   * @param multiServiceBookingIds - The multi service booking ids to get the allowedActions for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField multiServiceBookingIds\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_GET_ALLOWED_ACTIONS\n   */\n  function bulkGetMultiServiceBookingAllowedActions(multiServiceBookingIds: string[] | null): Promise<BulkGetMultiServiceBookingAllowedActionsResponse>;\n  interface MarkAsMultiServiceBookingOptions {\n      /**\n       * Multi service booking type.\n       * One of:\n       * - `\"SEQUENTIAL_BOOKINGS\"` Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n       * - `\"SEPARATE_BOOKINGS\"` Not supported yet.\n       * - `\"PARALLEL_BOOKINGS\"` Not supported yet.\n       */\n      multiServiceBookingType?: MultiServiceBookingType$1;\n  }\n  /**\n   * Retrieves the bookings of a given multi service booking id.\n   * In case the caller have permissions to read only part of a bookings, only the permitted bookings would be\n   * retrieved, but the total amount of bookings would be returned on response.\n   * @param multiServiceBookingId - Multi service booking ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField multiServiceBookingId\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_READ\n   * @adminMethod\n   * @returns Multi service booking.\n   */\n  function getMultiServiceBooking(multiServiceBookingId: string | null): Promise<MultiServiceBooking>;\n  /**\n   * Adds existing bookings to a multi service booking.\n   * @param multiServiceBookingId - ID of the multi service booking.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField multiServiceBookingId\n   * @requiredField options.bookings\n   * @requiredField options.bookings.bookingId\n   * @requiredField options.bookings.revision\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_ADD_BOOKINGS\n   * @adminMethod\n   */\n  function addBookingsToMultiServiceBooking(multiServiceBookingId: string | null, options?: AddBookingsToMultiServiceBookingOptions): Promise<AddBookingsToMultiServiceBookingResponse>;\n  interface AddBookingsToMultiServiceBookingOptions {\n      /** List of bookings ids and their revisions to add to the multi service booking. */\n      bookings: BookingIdAndRevision[];\n      /** Whether to return the bookings entities. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Removes existing bookings from a multi service booking.\n   * If request.bookings is empty, all the bookings that the caller is authorized to read will be removed from the multi booking service.\n   * Otherwise only the bookings in the request will be removed.\n   * Throws an exception if the multi booking service is not found or one of the bookings in the request if present.\n   * If the removal of the bookings was successful, the response will contain the bookings that were removed.\n   * In case that the removal of the bookings will result in a multi bookings service with only one booking, the multi booking service will be deleted,\n   * meaning also the last booking will be removed from the multi booking service.\n   * @param multiServiceBookingId - ID of the multi service booking.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField multiServiceBookingId\n   * @permissionId MULTI_SERVICE_BOOKINGS.MULTI_SERVICE_BOOKING_REMOVE_BOOKINGS\n   * @adminMethod\n   */\n  function removeBookingsFromMultiServiceBooking(multiServiceBookingId: string | null, options?: RemoveBookingsFromMultiServiceBookingOptions): Promise<RemoveBookingsFromMultiServiceBookingResponse>;\n  interface RemoveBookingsFromMultiServiceBookingOptions {\n      /** List of bookings ids and their revisions to remove from the multi service booking. */\n      bookings?: BookingIdAndRevision[];\n      /** Whether to return the bookings entities. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Creates a booking.\n   *\n   *\n   * To create a booking for an appointment or a session of a class, pass a booking with the relevant `slot`.\n   *\n   * To create a booking for the entire course, pass a booking with the relevant `schedule`.\n   * You can use Query Availability to check the availability beforehand.\n   *\n   * If you create a booking for an existing session, we recommend that you only pass `slot.sessionId`.\n   * Then, any specified slot details are calculated.\n   *\n   * If you create a booking for a new session, we recommend to call Query Availability first.\n   * Then, pass the retrieved `availability.slot` object as the BookedEntity.Slot of the booking in the request.\n   *\n   * Bookings are created with a status of `CREATED`.\n   * `CREATED` bookings don't appear on the business calendar and don't affect a related schedule's availability.\n   *\n   * To create a booking with a given status, pass a booking with the wanted status.\n   * This is only permitted for site Owners.\n   *\n   * You can pass a `participantNotification.message` to notify the customer of the booking with a message.\n   * It's also necessary to pass `participantNotification.notifyParticipants`as `true` to send the message.\n   *\n   * You can pass `sendSmsReminder` as `true`, if you want an SMS reminder to be sent to the phone number specified in the ContactDetails, 24 hours before the session starts.\n   *\n   * When creating a booking you must pass either `participantsChoices` or `totalParticipants`. If you pass `participantsChoices`, all the\n   * provided choices must exist for the service, otherwise the call returns an `INVALID_SERVICE_CHOICES` error.\n   *\n   * When creating a booking, you can pass `selectedPaymentOption`.\n   * This specifies which payment method the customer plans to use.\n   * But it's possible for them to later use another supported payment method.\n   *\n   * You can skip the checkout and payment flow if you call Confirm Or Decline Booking otherwise, after you create the booking, you can use the\n   * Wix eCommerce APIs (coming soon) for the checkout and payment flow or use a different service for checkout.\n   * @param booking - The booking to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField booking\n   * @requiredField booking.additionalFields._id\n   * @requiredField booking.bookedEntity\n   * @permissionId BOOKINGS.BOOKING_CREATE\n   */\n  function createBooking(booking: Booking$1, options?: CreateBookingOptions): Promise<CreateBookingResponse>;\n  interface CreateBookingOptions {\n      /** Information about a message to send to the customer. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       * Default: `true`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before creating the booking or if additional payment options are\n       * accepted.\n       */\n      flowControlSettings?: CreateBookingFlowControlSettings;\n  }\n  /** @param _id - Booking ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField booking\n   * @requiredField booking.revision\n   * @permissionId BOOKINGS.BOOKING_MANAGE\n   * @adminMethod\n   * @deprecated\n   */\n  function updateBooking(_id: string | null, booking: UpdateBooking, options?: UpdateBookingOptions): Promise<UpdateBookingResponse>;\n  interface UpdateBooking {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices$1;\n      /**\n       * Booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** An object describing the slot or schedule that was booked. */\n      bookedEntity?: BookedEntity$1;\n      /** Contact details of the site visitor or member making the booking. */\n      contactDetails?: ContactDetails$1;\n      /** Additional custom fields submitted with the booking form. */\n      additionalFields?: CustomFormField$1[];\n      /**\n       * Number of participants.\n       * @internal\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Internal business note\n       * @internal\n       * @deprecated\n       */\n      internalBusinessNote?: string | null;\n      /**\n       *   Booking status.\n       *   Supported values:\n       *   - `CREATED`: The booking was created.\n       *   - `UPDATED`: The booking was updated.\n       *   - `PENDING`: The booking is waiting to be confirmed or declined by the business owner. A booking is automatically set as `PENDING` if the service is configured to require manual business owner confirmation and an eCommerce order was created.\n       *   - `CONFIRMED`: The booking was confirmed. A booking is automatically confirmed if the service is configured to automatically confirm bookings and an eCommerce order was created. If the service isn't configured to automatically confirm bookings, you can use `confirmOrDeclineBooking()`.\n       *   - `DECLINED`: The booking was declined by the business owner. A booking is also declined if an eCommerce order was created that resulted in a double booking.\n       *   - `CANCELED`: The booking was canceled.\n       *   - `WAITING_LIST`: The booking is on a wait list.\n       */\n      status?: BookingStatus$1;\n      /**\n       * Payment status.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /**\n       * Selected payment option.\n       * One of the payment options offered by the service, or another option if `skipSelectedPaymentOptionValidation` is `true`.\n       * When undefined, the payment option is resolved by the service configuration on checkout.\n       */\n      selectedPaymentOption?: SelectedPaymentOption$1;\n      /**\n       * Date and time the booking was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** External ID provided by the client app on creation. */\n      externalUserId?: string | null;\n      /**\n       * An object describing the platform and application that made the booking.\n       * @internal\n       */\n      bookingSource?: BookingSource$1;\n      /**\n       * The last notification used by Cancel, Confirm, Decline, or Reschedule Booking.\n       * @internal\n       * @deprecated\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * When value is set to True, an SMS reminder would be sent to the phone number specified in the ContactDetails, 24 hours before the session starts.\n       * @internal\n       * @deprecated\n       */\n      sendSmsReminder?: boolean | null;\n      /** Revision number to be used when updating, rescheduling, or cancelling the booking. Revision number, which increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes,the current revision must be passed when updating the booking. */\n      revision?: string | null;\n      /**\n       * ID of the creator of the Booking.\n       * If `appId` and another ID are present, the other ID takes precedence.\n       * @readonly\n       */\n      createdBy?: CommonIdentificationData;\n      /**\n       * The start date of this booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.\n       * @readonly\n       */\n      startDate?: Date | null;\n      /**\n       * The end date of this booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.\n       * @readonly\n       */\n      endDate?: Date | null;\n      /**\n       * Sets the booking flow behavior. Some behaviors require permissions.\n       * @internal\n       */\n      flowControlSettings?: FlowControlSettings$1;\n      /**\n       * Date and time the booking was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Custom field data for this object. Extended fields must be configured in the app dashboard before they can be accessed with API calls.\n       * For usage of extended fields with [Wix Forms](https://dev.wix.com/docs/rest/crm/forms/form-schema-api/introduction-to-forms), after configuring your form custom fields, pass the form field values under the `_user_fields` namespace.\n       * For example, if you have a custom form field named `age`, pass it as `\"extendedFields\":{\"_user_fields\": { \"age\": 22 }}`.\n       */\n      extendedFields?: ExtendedFields$1;\n      /**\n       * Whether this booking overlaps another existing confirmed booking. Returned when: `true`\n       * @readonly\n       */\n      doubleBooked?: boolean | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2Availability?: boolean | null;\n      /**\n       * Multi service booking info of which the booking is part of.\n       * @internal\n       * @readonly\n       */\n      multiServiceBookingInfo?: MultiServiceBookingInfo$1;\n      /**\n       * The date this booking was canceled on\n       * @internal\n       * @readonly\n       */\n      canceledDate?: Date | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2AvailabilityProxy?: boolean | null;\n      /**\n       * Having booking language means that the booking was made in a secondary language, having no booking.language implies that the booking was made using the main language\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface UpdateBookingOptions {\n      /** @internal */\n      mask?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField booking\n   * @requiredField booking.additionalFields._id\n   * @requiredField booking.bookedEntity\n   * @permissionId BOOKINGS.BOOKING_MANAGE\n   * @adminMethod\n   */\n  function legacyCreateBooking(booking: Booking$1): Promise<LegacyCreateBookingResponse>;\n  /**\n   * Updates a batch of bookings.\n   * If any `fieldMask` contains `numberOfParticipants` and the field is not defined in the `request.booking` the update fails.\n   * If any `fieldMask` contains `participantsInfo` and the field is not defined in the `request.booking` the update fails.\n   * If any `fieldMask` contains both `numberOfParticipants` and `participantsInfo` the update fails.\n   * If participantsChoices are provided, they are validated against the service variants.if not all choices exist in the variants list a INVALID_SERVICE_CHOICES error is returned.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField bookings\n   * @requiredField bookings.booking\n   * @requiredField bookings.booking._id\n   * @requiredField bookings.booking.revision\n   * @permissionId BOOKINGS.BOOKING_MANAGE\n   * @adminMethod\n   */\n  function bulkUpdateBooking(bookings: MaskedBooking[]): Promise<BulkUpdateBookingResponse>;\n  /**\n   * Creates multiple bookings.\n   *\n   *\n   * See [`createBooking()`](https://www.wix.com/velo/reference/wix-bookings-v2/bookings/createbooking) documentation.\n   *\n   * If for any of the bookings required fields were not passed on the request or if the caller doesn't have the required permissions to create such booking, the call will fail.\n   * If the request contains unavailable bookings, the call will be completed successfully, but the unavailable bookings will not be created and will be considered as a failure on the response.\n   * @param createBookingsInfo - Bookings to create.\n   * Max: 8 bookings.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField createBookingsInfo\n   * @requiredField createBookingsInfo.booking\n   * @requiredField createBookingsInfo.booking.additionalFields._id\n   * @requiredField createBookingsInfo.booking.bookedEntity\n   * @permissionId BOOKINGS.BOOKING_CREATE\n   */\n  function bulkCreateBooking(createBookingsInfo: CreateBookingInfo[], options?: BulkCreateBookingOptions): Promise<BulkCreateBookingResponse>;\n  interface BulkCreateBookingOptions {\n      /** Whether to return the created bookings entities. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Reschedules a booking to a different slot or session.\n   *\n   *\n   * You can only reschedule bookings for appointments or classes, you can't\n   * reschedule course bookings.\n   *\n   * The old session is removed from the calendar and the new session is\n   * added.\n   *\n   * If you reschedule a booking for a class session the new session must be an\n   * existing session for the same class.\n   *\n   * You can pass a `participantNotification.message` to notify the customer of\n   * the rescheduling. You also need to pass `participantNotification.notifyParticipants`\n   * as `true` to actually send the message.\n   *\n   * In case the service has\n   * variants, you can call this endpoint to update the booking's `totalParticipants` or `participantsChoices`.\n   * If you provide `participantsChoices`, all of the provided choices must exist for\n   * the service. Otherwise, the call returns an `INVALID_SERVICE_CHOICES` error.\n   * If you omit `participantsChoices` in the request, the existing choices are\n   * kept and not replaced with an empty object.\n   *\n   * <!-- INTERNAL PERMISSION COMMENT:\n   * You need to have the `BOOKINGS.NUMBER_OF_PARTICIPANTS_UPDATE` permission\n   * to reschedule bookings including `participantsInfo`.\n   * <!--END: INTERNAL PERMISSION COMMENT-->\n   *\n   * In case you want to reschedule a booking on behalf of a customer, we recommend\n   * to pass `flowControlSettings.ignoreReschedulePolicy` as `false`. This\n   * ensures that the rescheduling is validated against the service's rescheduling\n   * policy.\n   * @param bookingId - ID of the booking to reschedule.\n   * @param slot - Information about the new slot.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField options.revision\n   * @requiredField slot\n   * @param options - An object representing the available options for rescheduling a booking.\n   * @permissionId BOOKINGS.BOOKING_RESCHEDULE\n   * @adminMethod\n   */\n  function rescheduleBooking(bookingId: string, slot: V2Slot, options?: RescheduleBookingOptions): Promise<RescheduleBookingResponse>;\n  interface RescheduleBookingOptions extends RescheduleBookingRequestParticipantsInfoOneOf {\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Information about whether to notify the customer about the rescheduling and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * rescheduling flow are changed. For example, whether the availability of\n       * the new slot is checked before rescheduling the booking or if you can\n       * reschedule the booking even though the rescheduling policy doesn't allow it.\n       */\n      flowControlSettings?: RescheduleBookingFlowControlSettings;\n      /**\n       * Total number of participants. Available only for services with\n       * variants.\n       * Pass when all participants book the same variant.\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * variants.\n       * Pass when not all participants book the same variant.\n       */\n      participantsChoices?: ParticipantChoices$1;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2Availability?: boolean | null;\n  }\n  /** @param slotsBookings - Reschedule multiple bookings to multiple slots.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField slotsBookings\n   * @requiredField slotsBookings.bookings\n   * @requiredField slotsBookings.bookings._id\n   * @requiredField slotsBookings.bookings.revision\n   * @requiredField slotsBookings.slot\n   * @permissionId BOOKINGS.BOOKING_MANAGE\n   * @adminMethod\n   */\n  function bulkRescheduleBooking(slotsBookings: SlotBookings[], options?: BulkRescheduleBookingOptions): Promise<BulkRescheduleBookingResponse>;\n  interface BulkRescheduleBookingOptions {\n      /** Whether to notify participants about the change and an optional custom message */\n      participantNotification?: ParticipantNotification$1;\n  }\n  /** @param bookings - The bookings whose booked schedule is to be updated to the given schedule.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField bookings\n   * @requiredField bookings._id\n   * @requiredField bookings.revision\n   * @requiredField options.scheduleId\n   * @permissionId BOOKINGS.BOOKING_MANAGE\n   * @adminMethod\n   */\n  function bulkUpdateBookedSchedule(bookings: BookingDetails[], options?: BulkUpdateBookedScheduleOptions): Promise<BulkUpdateBookedScheduleResponse>;\n  interface BulkUpdateBookedScheduleOptions {\n      /** The ID of the schedule to be updated. */\n      scheduleId: string;\n      /** Whether to notify participants about the change and an optional custom message. */\n      participantNotification?: ParticipantNotification$1;\n  }\n  /**\n   * > **Deprecation Notice**\n   * >\n   * > **This endpoint has been replaced with [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) and will be removed on December 31, 2023.**\n   * > **If your app uses this endpoint, we recommend updating your code as soon as possible.**\n   *\n   * Retrieves a list of bookings according to the provided filters and paging.\n   *\n   * <!-- Internal only\n   * Site owner can read all the bookings created in the site.\n   * Members can read only the bookings they created or the bookings created for them (which means: booking.contactDetails.contactId = memberId)\n   * Visitors can read only the bookings they created or the bookings created for them (which means: booking.contactDetails.contactId = visitorId)\n   * -->\n   *\n   * Create a query with filters on any booking object property.\n   * See [Query Syntax: Filters, Sorting, Fields, and Paging.](https://bo.wix.com/wix-docs/rest/bookings/bookings---bookings-service/query-syntax) for the full query syntax description.\n   *\n   * To retrieve all bookings use an empty query:\n   * ```javascript\n   * {\n   * \"query\": {}\n   * }\n   * ```\n   *\n   * The query runs with the following defaults:\n   * + skip(0)\n   * + limit(50)\n   * + descending(\"_createdDate\")\n   *\n   *\n   * >**Notes:**\n   * > + Use UTC when specifying filters with dates.\n   * > + The following objects in the `query` parameter are not supported for this query:\n   * >    - `fields`\n   * >    - `fieldsets`\n   * >  - Only 1 use at a time of each filter once in the same query is supported. If a filter is defined  more than once in a query, only the first occurrence is taken.\n   * >  - To get the available actions for a member for each booking, based on the business bookings policy, use the `withBookingAllowedActions` field.\n   * >  - When using the queryBookings() function immediately following a change to your bookings, the data retrieved may not contain your most recent changes. See [Wix-data and Eventual Consistency](reference/wix-data/introduction#wix-data_introduction_wix-data-and-eventual-consistency) for more information.\n   * >  - The `businessLocation.businessSchedule` object in the `bookedEntity.location` object is not supported.\n   *\n   *\n   * > **Permissions**\n   * > This endpoint requires the Read Bookings - Including Participants permission scope.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId BOOKINGS.BOOKING_READ\n   */\n  function query(query: QueryV2, options?: QueryOptions): Promise<QueryBookingsResponse>;\n  interface QueryOptions {\n      /**\n       * Whether the authorization constraint should be handled on Bookings-Service. To be removed when rollout of SCHED-SCHED-25500 is finished.\n       * @internal\n       */\n      shouldNotHandleAuthorizationConstraints?: boolean;\n      /**\n       * Whether information about the total entities is returned.\n       * @internal\n       */\n      withPagingMetadataTotal?: boolean;\n  }\n  /**\n   * Confirms a booking request and changes the booking status to `CONFIRMED`.\n   *\n   *\n   * Calling this method doesn't check whether a slot or schedule is still\n   * available at this time.\n   *\n   * You can only confirm bookings for services that require the owner's manual\n   * approval for bookings and that have a status of `PENDING`.\n   *\n   * For appointment services the slot may become unavailable, depending on the\n   * [service's](https://support.wix.com/en/article/creating-the-right-booking-service-for-your-business)\n   * `policy.bookingApprovalPolicy.requestsAffectsAvailability`.\n   *\n   * Calling this method also changes the\n   * [session's](https://www.wix.com/velo/reference/wix-bookings-backend/sessions/getsession)\n   * `participants.approvalStatus` to `APPROVED`.\n   *\n   * You can pass a `participantNotification.message` to notify the customer of\n   * the confirmation. You also need to pass `participantNotification.notifyParticipants`\n   * as `true` to actually send the message.\n   *\n   * Bookings are automatically confirmed when the\n   * service is configured to automatically confirm\n   * bookings and the [eCommerce order](https://www.wix.com/velo/reference/wix-ecom-backend/orders)\n   * has been approved. The slot's or schedule's availability is checked just\n   * before confirming the booking as part of the automatic flow.\n   * @param bookingId - ID of the booking to confirm.\n   * @param revision - Revision number, which increments by 1 each time the booking is updated.\n   * To prevent conflicting changes, the current revision must be passed when\n   * managing the booking.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField revision\n   * @param options - An object representing the available options for canceling a booking.\n   * @permissionId BOOKINGS.BOOKING_CONFIRM\n   * @adminMethod\n   */\n  function confirmBooking(bookingId: string, revision: string | null, options?: ConfirmBookingOptions): Promise<ConfirmBookingResponse>;\n  interface ConfirmBookingOptions {\n      /**\n       * Information about whether to notify the customer about the confirmation and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Payment status to set for the booking.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before confirming the booking.\n       */\n      flowControlSettings?: ConfirmBookingFlowControlSettings;\n  }\n  interface PartySizeOptions extends PartySizeRequestPartySizeForOneOf {\n      sessionId?: string | null;\n      scheduleId?: string | null;\n  }\n  /**\n   * private API, similarly to Query, with consistent DB connection\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function consistentQuery(options?: ConsistentQueryOptions): Promise<ConsistentQueryBookingsResponse>;\n  interface ConsistentQueryOptions {\n      query?: QueryV2;\n  }\n  /**\n   * Private API, dedicated for setting booking sessionId after the session was created for the booking.\n   * @param _id - ID of the booking to set its sessionId.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function setBookingSessionId(_id: string, options?: SetBookingSessionIdOptions): Promise<SetBookingSessionIdResponse>;\n  interface SetBookingSessionIdOptions {\n      /** The sessionId to be set. */\n      sessionId?: string;\n  }\n  /**\n   * Updates the extended fields for a booking.\n   *\n   *\n   * Extended fields must first be configured in the [Wix Developers Center](https://dev.wix.com/app-selector?title=Select+an+App&primaryButtonText=Select+Site&actionUrl=https%3A%2F%2Fdev.wix.com%2Fapps%2F%7BappId%7D%2Fextensions).\n   *\n   * Learn more about setting up extended fields with [schema plugins](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @param _id - ID of the booking for which to update extended fields.\n   * @param namespace - [Namespace](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-reading-and-writing-schema-plugin-fields#namespaces) of the app for which to update extended fields.\n   * @param options - Options for updating the booking's extended fields.\n   * @permissionId BOOKINGS.BOOKING_UPDATE_EXTENDED_FIELDS\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data of the extended field to update. Must be structured according to the [schema](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions#json-schema-for-extended-fields) defined during the configuration of the extended fields. */\n      namespaceData: Record<string, any> | null;\n  }\n  /**\n   * Declines a `PENDING` booking request and changes the booking status to\n   * `DECLINED`.\n   *\n   * Calling this method also changes the\n   * [session's](https://www.wix.com/velo/reference/wix-bookings-backend/sessions/getsession)\n   * `participants.approvalStatus` to `DECLINED`.\n   *\n   * You can only decline bookings for services that require the owner's manual\n   * approval for bookings and that have a status of `PENDING`.\n   *\n   * You can pass a `participantNotification.message` to notify the customer of\n   * the decline. You also need to pass `participantNotification.notifyParticipants`\n   * as `true` to actually send the message.\n   * @param bookingId - ID of the booking to decline.\n   * @param revision - Revision number, which increments by 1 each time the booking is updated.\n   * To prevent conflicting changes, the current revision must be passed when\n   * managing the booking.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField revision\n   * @param options - An object representing the available options for declining a booking.\n   * @permissionId BOOKINGS.BOOKING_DECLINE\n   * @adminMethod\n   */\n  function declineBooking(bookingId: string, revision: string | null, options?: DeclineBookingOptions): Promise<DeclineBookingResponse>;\n  interface DeclineBookingOptions {\n      /**\n       * Information about whether to notify the customer about the decline and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Payment status to set on the booking.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * declining flow are changed. For example, whether to issue a refund.\n       */\n      flowControlSettings?: DeclineBookingFlowControlSettings;\n  }\n  /**\n   * Cancels a booking.\n   *\n   *\n   * The booking status changes to `CANCELED`.\n   *\n   * If the booking was for an appointment, the corresponding session is\n   * deleted from the business calendar.\n   *\n   * If the booking was for a class or course, the participants are removed\n   * from the class session or the course. But the course or class session\n   * remains on the business calendar.\n   *\n   * You can pass a `participantNotification.message` to notify the customer of\n   * the cancelation. You also need to pass `participantNotification.notifyParticipants`\n   * as `true` to actually send the message.\n   *\n   * In case you want to cancel a booking on behalf of a customer, we recommend\n   * to pass `flowControlSettings.ignoreCancellationPolicy` as `false`. This\n   * ensures that the cancelation is validated against the service's cancelation\n   * policy.\n   * @param bookingId - ID of the booking to cancel.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField options.revision\n   * @param options - An object representing the available options for canceling a booking.\n   * @permissionId BOOKINGS.BOOKING_CANCEL\n   * @adminMethod\n   */\n  function cancelBooking(bookingId: string, options?: CancelBookingOptions): Promise<CancelBookingResponse>;\n  interface CancelBookingOptions {\n      /**\n       * Information about whether to notify the customer about the cancelation and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * cancelation flow are changed. For example, whether the you can cancel\n       * a booking even though the cancelation policy doesn't allow it or whether\n       * to issue a refund.\n       */\n      flowControlSettings?: CancelBookingFlowControlSettings;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when managing the booking.\n       */\n      revision: string | null;\n  }\n  /**\n   * Updates the number of participants for a booking.\n   *\n   *\n   * You can only update the number of participants for class and course\n   * bookings, you can't update it for appointment bookings.\n   *\n   * Calling this method also changes the\n   * [session's](https://www.wix.com/velo/reference/wix-bookings-backend/sessions/getsession)\n   * `totalNumberOfParticipants`.\n   *\n   * When updating the number of participants for a booking you must pass either\n   * `participantsChoices` or `totalParticipants`. If you pass `participantsChoices`\n   * for services that have variants,\n   * all of the provided choices must exist for the service. Otherwise, the\n   * call returns an `INVALID_SERVICE_CHOICES` error.\n   * @param bookingId - ID of the booking to update the number of participants for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField options.revision\n   * @permissionId BOOKINGS.NUMBER_OF_PARTICIPANTS_UPDATE\n   * @adminMethod\n   */\n  function updateNumberOfParticipants(bookingId: string, options?: UpdateNumberOfParticipantsOptions): Promise<UpdateNumberOfParticipantsResponse>;\n  interface UpdateNumberOfParticipantsOptions extends UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {\n      /**\n       * Updated number of participants.\n       * @internal\n       * @deprecated\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Total number of participants. Available only for services with\n       * variants.\n       * Pass when all participants book the same variant.\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * variants.\n       * Pass when not all participants book the same variant.\n       */\n      participantsChoices?: ParticipantChoices$1;\n  }\n  /**\n   * Calculates the allowed actions for a given list of booking id's\n   * @param bookingIds - The booking id's that we want to calculate the allowedActions for\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField bookingIds\n   * @permissionId BOOKINGS.BULK_CALCULATE_ALLOWED_ACTIONS\n   */\n  function bulkCalculateAllowedActions(bookingIds: string[] | null): Promise<BulkCalculateAllowedActionsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getSlotAvailability(options?: GetSlotAvailabilityOptions): Promise<GetSlotAvailabilityResponse>;\n  interface GetSlotAvailabilityOptions {\n      /** The slot for which the availability is checked. */\n      slot?: V2Slot;\n      /** The timezone for which availability is to be calculated. */\n      timezone?: string | null;\n      /**\n       * Return the IDs of bookings that are currently allowed to book the given slot due to being a part of a waitlist in a \"suggested\" status.\n       * @internal\n       */\n      returnAllowedBookingIds?: boolean;\n      /**\n       * Check if this booking is allowed to book the given slot due to being a part of a waitlist in a \"suggested\" status.\n       * If passed and the slot is locked for a booking other than this one, `bookable = false` is returned.\n       * @internal\n       */\n      bookingId?: string | null;\n      /**\n       * Whether availability should be queried to availability calendar or availability service\n       * @internal\n       */\n      shouldUseV2Availability?: boolean;\n      /**\n       * TODO: remove after qa and add a dedicated EP for calculating all available non double booked resources instead.\n       * Whether to skip optimizations during the calculation for overlapping bookings, in order to get the full list of possible\n       * non double booked resources.\n       * @internal\n       */\n      returnAllAvailableResources?: boolean;\n      /**\n       * Whether availability should be queried to availability calendar or availability service\n       * @internal\n       */\n      v2Availability?: boolean | null;\n  }\n  /**\n   * Returns availability for a given schedule ID\n   * The availability for a course is calculated by:\n   * - Checking for total spots by the schedule's capacity\n   * - Checking for open spots by subtracting the current number of participants from the total spots\n   * @param scheduleId - The schedule ID for which availability is checked.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField scheduleId\n   * @adminMethod\n   */\n  function getScheduleAvailability(scheduleId: string): Promise<GetScheduleAvailabilityResponse>;\n  /** @param bookingId - ID of the booking to mark as PENDING.\n   * @param revision - Revision number, which increments by 1 each time the booking is updated.\n   * To prevent conflicting changes, the current revision must be passed when\n   * managing the booking.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField revision\n   * @permissionId BOOKINGS.BOOKING_MARK_BOOKING_AS_PENDING\n   * @adminMethod\n   */\n  function markBookingAsPending(bookingId: string, revision: string | null, options?: MarkBookingAsPendingOptions): Promise<MarkBookingAsPendingResponse>;\n  interface MarkBookingAsPendingOptions {\n      /**\n       * Information about whether to notify the customer and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Payment status to set for the booking.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /** Whether this booking overlaps with another existing confirmed booking. */\n      doubleBooked?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before updating the booking's status.\n       */\n      flowControlSettings?: MarkBookingAsPendingFlowControlSettings;\n  }\n  /**\n   * Use `confirmOrDeclineBooking()` to determine if the booking is valid, payment is received, and the booking can be processed.\n   * Call `confirmOrDeclineBooking()` after checkout or after calling `createBooking()` to verify the booking.\n   *\n   * + If a session is valid and payment is received, the booking is visible on the calendar.\n   * + If a session is double booked, `confirmOrDeclineBooking()` can catch this and decline the duplicate booking, the booking is not visible on the calendar.\n   * @param bookingId - ID of the booking to confirm or decline.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @permissionId BOOKINGS.BOOKING_CONFIRM_OR_DECLINE\n   * @adminMethod\n   */\n  function confirmOrDeclineBooking(bookingId: string, options?: ConfirmOrDeclineBookingOptions): Promise<ConfirmOrDeclineBookingResponse>;\n  interface ConfirmOrDeclineBookingOptions {\n      /**\n       * Current payment status of the booking when using a custom checkout page and\n       * not the [Wix eCommerce checkout](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction).\n       *\n       * The booking is declined if there is a double booking conflict and you provide\n       * one of these payment statuses: `UNDEFINED`, `NOT_PAID`, `REFUNDED`, or `EXEMPT`.\n       */\n      paymentStatus?: PaymentStatus$1;\n      /**\n       * When true – decline the booking if double booked.\n       * @internal\n       */\n      declineDoubleBooking?: boolean | null;\n  }\n  /**\n   * Confirms or declines multiple bookings.\n   *\n   *\n   * See [Confirm Or Decline Booking](/bookings-v2/bookings-v2-and-confirmation/bookings-confirm-or-decline-booking)\n   * for details about when a booking is confirmed or declined.\n   * @param details - The bookings to confirm or decline.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField details\n   * @requiredField details.bookingId\n   * @permissionId BOOKINGS.BOOKING_CONFIRM_OR_DECLINE\n   * @adminMethod\n   */\n  function bulkConfirmOrDeclineBooking(details: BulkConfirmOrDeclineBookingRequestBookingDetails[], options?: BulkConfirmOrDeclineBookingOptions): Promise<BulkConfirmOrDeclineBookingResponse>;\n  interface BulkConfirmOrDeclineBookingOptions {\n      /**\n       * Whether to return the confirmed or declined bookings entities.\n       * Not supported yet, currently the entity is not returned.\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Creates a booking.\n   *\n   *\n   * To create a booking for an appointment or a session of a class, pass the\n   * relevant `slot` in the body of the request. You can use the\n   * [Get Slot Availability](https://bo.wix.com/wix-docs/rest/bookings/availabilitycalendar---wip/get-slot-availability)\n   * endpoint to check the availability of the session beforehand.\n   *\n   * To create a booking for the entire course, pass the relevant `schedule` in\n   * the body of the request. You can use the\n   * [Get Schedule Availability](https://bo.wix.com/wix-docs/rest/bookings/availabilitycalendar---wip/get-schedule-availability)\n   * endpoint to check the availability of the course beforehand.\n   *\n   * Bookings are created with a status of `CREATED`. `CREATED` bookings don't\n   * appear on the business calendar and don't affect a related schedule's\n   * availability.\n   *\n   * If you create a booking for an existing session, we recommend that you\n   * only pass `slot.sessionId`. Then, any specified slot details are\n   * calculated.\n   *\n   * If you create a booking for a new session, we recommend to call\n   * [Get Slot Availability](https://bo.wix.com/wix-docs/rest/bookings/availabilitycalendar---wip/get-slot-availability)\n   * first. Then, pass the retrieved `availability.slot` object in the body of\n   * the Create Booking request.\n   *\n   * If you create a booking for a course, we recommend that you pass only\n   * `schedule.scheduleId` and not the entire `schedule` object. Then, all\n   * schedule details are automatically calculated.\n   *\n   * When creating a booking you must pass either `participantsChoices` or\n   * `totalParticipants`. If you pass `participantsChoices`, all of the\n   * provided choices must exist for the service. Otherwise the call returns an\n   * `INVALID_SERVICE_CHOICES` error.\n   *\n   * When creating a booking, you can pass a `selectedPaymentOption`. This specifies\n   * which payment method the customer intends to use. But it's possible for\n   * them to later use another supported payment method.\n   *\n   * After you have created the booking, you can use the\n   * [Wix eCommerce APIs](https://bo.wix.com/wix-docs/rest/ecommerce/checkout/introduction)\n   * for the [checkout](https://bo.wix.com/wix-docs/rest/ecommerce/checkout/create-checkout)\n   * and [order](https://bo.wix.com/wix-docs/rest/ecommerce/checkout/create-order-from-checkout)\n   * steps of the payment flow.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.BOOKING_CREATE\n   * @deprecated\n   */\n  function bookingsGatewayCreateBooking(options?: BookingsGatewayCreateBookingOptions): Promise<V2CreateBookingResponse>;\n  interface BookingsGatewayCreateBookingOptions extends V2CreateBookingRequestBookableItemOneOf, V2CreateBookingRequestParticipantsInfoOneOf {\n      /**\n       * Information about the slot to create a booking for.\n       * If you set `slot.location.locationType` to `CUSTOM`, the created slot's\n       * location is set to `slot.location.formattedAddress` when provided.\n       * Otherwise it's set to `contactDetails.fullAddress.formattedAddress`.\n       */\n      slot?: Slot;\n      /** Information about the schedule to create a booking for. */\n      schedule?: BookedSchedule$1;\n      /** Contact details of the customer booking the service. */\n      contactDetails?: ContactDetails$1;\n      /**\n       * Booking status.\n       * One of:\n       * - `\"CREATED\"` - The booking was created.\n       * - `\"UPDATED\"` - The booking was updated.\n       * - `\"CONFIRMED\"` - The booking has been confirmed and appears on the bookings calendar.\n       * Booking can be manually confirmed using the Set As Confirmed endpoint.\n       * Booking can be automatically confirmed when the following requirements are met:\n       * + The service is configured as automatically confirmed.\n       * + Invoking eCommerce checkout API and an order has been created.\n       * - `\"CANCELED\"` - The booking has been canceled and synced to bookings calendar.\n       * The booking can be canceled using cancel API.\n       * - `\"PENDING\"` - The booking waiting to be confirmed or declined buy the owner and is synced to bookings calendar.\n       * Bookings can be manually set as pending using setAsPending API, requires manage booking status permissions.\n       * Booking can be automatically set as pending when the following requirements are met:\n       * + The Service is configured as manually confirmed.\n       * + Invoking the eCommerce checkout API and an order has been created.\n       * - `\"WAITING_LIST\"` - The booking is pending on a waiting list.\n       * Booking can be created with this status when invoking waiting list join API.\n       * - `\"DECLINED\"` - The booking was declined by the owner and synced to bookings calendar.\n       * Booking can be manually declined using decline API and requires manage booking permissions.\n       * Booking can be automatically declined when the following requirements are met:\n       * + Invoking eCommerce checkout API and the order declined event has been sent.\n       * + Invoking eCommerce checkout API and order approved event has been sent, but the booking is offline and the booking causes a double booking.\n       */\n      status?: BookingStatus$1;\n      /**\n       * Additional custom fields of the booking form. The customer must provide\n       * information for each field when booking the service. For example, that they\n       * bring their own towels or whether they use a wheelchair.\n       *\n       * Max: 100 fields\n       */\n      additionalFields?: CustomFormField$1[];\n      /**\n       * Total number of participants. Available only when the service doesn't have\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       *\n       * Max: `20`\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Internal business note. Not visible to the customer.\n       *\n       * Max: 200 characters\n       */\n      internalBusinessNote?: string | null;\n      /**\n       * Payment option the customer intends to use.\n       * Must be one of the payment options defined for the service, unless\n       * you pass `flowControlSettings.skipSelectedPaymentOptionValidation` as `true`.\n       */\n      selectedPaymentOption?: SelectedPaymentOption$1;\n      /**\n       * Identifies the source (platform, actor and app) that created this booking.\n       * This property of the booking cannot be changed.\n       * The app_def_id and app_name will be resolved automatically.\n       * TODO GAP See if we need this - might be able to get this data from the headers?\n       */\n      bookingSource?: BookingSource$1;\n      /**\n       * A user identifier of an external application user that initiated the book request.\n       * Allows an external application to later identify its own bookings and correlate to its own internal users\n       */\n      externalUserId?: string | null;\n      /** Information about a message to send to the customer. */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Whether to send an SMS reminder to the customer 24 hours before the\n       * session starts. The phone number is taken from `contactDetails.phone`.\n       *\n       * Default: `true`.\n       */\n      sendSmsReminder?: boolean | null;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * creation flow are changed. For example, whether the availability is\n       * checked before creating the booking or if additional payment options are\n       * accepted.\n       */\n      flowControlSettings?: CreateBookingRequestFlowControlSettings;\n      /**\n       * Total number of participants.\n       * Provide when the service doesn't have\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * @internal\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Provide for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * @internal\n       */\n      participantsChoices?: ParticipantChoices$1;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2Availability?: boolean | null;\n  }\n  /**\n   * Cancels a booking.\n   *\n   *\n   * The booking status changes to `CANCELED`.\n   *\n   * If the booking was for an appointment, the corresponding session is\n   * deleted from the business calendar.\n   *\n   * If the booking was for a class or course, the participants are removed\n   * from the class session or the course. But the course or class session\n   * remain on the business calendar.\n   *\n   * You can pass a `participantNotification.message` to notify the customer of\n   * the cancelation. You also need to pass `participantNotification.notifyParticipants`\n   * as `true` to actually send the message.\n   *\n   * In case you want to cancel a booking on behalf of a customer, we recommend\n   * to pass `flowControlSettings.ignoreCancellationPolicy` as `false`. This\n   * ensures that the cancelation is validated against the service's cancelation\n   * policy.\n   * @param bookingId - ID of the booking to cancel.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField options.revision\n   * @permissionId BOOKINGS.BOOKING_CANCEL\n   * @deprecated\n   */\n  function bookingsGatewayCancelBooking(bookingId: string, options?: BookingsGatewayCancelBookingOptions): Promise<V2CancelBookingResponse>;\n  interface BookingsGatewayCancelBookingOptions {\n      /**\n       * Information about whether to notify the customer about the cancelation and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * cancelation flow are changed. For example, whether the you can cancel\n       * a booking even though the cancelation policy doesn't allow it or whether\n       * to issue a refund.\n       * @internal\n       */\n      flowControlSettings?: V2CancelBookingRequestFlowControlSettings;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when managing the booking.\n       */\n      revision: string | null;\n  }\n  /**\n   * Reschedules a booking to a different slot or session.\n   *\n   *\n   * You can only reschedule bookings for appointments or classes, you can't\n   * reschedule course bookings.\n   *\n   * The old session is removed from the calendar and the new session is\n   * added.\n   *\n   * If you reschedule a booking for a class session the new session must be an\n   * existing session for the same class.\n   *\n   * You can pass a `participantNotification.message` to notify the customer of\n   * the rescheduling. You also need to pass `participantNotification.notifyParticipants`\n   * as `true` to actually send the message.\n   *\n   * In case the service has\n   * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction),\n   * you can call this endpoint to update the booking's `totalParticipants` or `participantsChoices`. If you\n   * provide `participantsChoices`, all of the provided choices must exist for\n   * the service. Otherwise the call returns an `INVALID_SERVICE_CHOICES` error.\n   * If you omit `participantsChoices` in the request, the existing choices are\n   * kept and not replaced with an empty object.\n   *\n   * <!-- INTERNAL PERMISSION COMMENT:\n   * You need to have the `BOOKINGS.NUMBER_OF_PARTICIPANTS_UPDATE` permission\n   * to reschedule bookings including `participantsInfo`.\n   * <!--END: INTERNAL PERMISSION COMMENT-->\n   *\n   * In case you want to reschedule a booking on behalf of a customer, we recommend\n   * to pass `flowControlSettings.ignoreReschedulePolicy` as `false`. This\n   * ensures that the rescheduling is validated against the service's rescheduling\n   * policy.\n   * @param bookingId - Id of the booking to reschedule.\n   * @param slot - Information about the new slot.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField options.revision\n   * @requiredField slot\n   * @permissionId BOOKINGS.BOOKING_RESCHEDULE\n   * @deprecated\n   */\n  function bookingsGatewayRescheduleBooking(bookingId: string, slot: Slot, options?: BookingsGatewayRescheduleBookingOptions): Promise<V2RescheduleBookingResponse>;\n  interface BookingsGatewayRescheduleBookingOptions extends V2RescheduleBookingRequestParticipantsInfoOneOf {\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Information about whether to notify the customer about the rescheduling and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Information about whether specific procedures of the standard Wix Bookings\n       * rescheduling flow are changed. For example, whether the availability of\n       * the new slot is checked before rescheduling the booking or if you can\n       * reschedule the booking even though the rescheduling policy doesn't allow it.\n       * @internal\n       */\n      flowControlSettings?: V2RescheduleBookingRequestFlowControlSettings;\n      /**\n       * Total number of participants. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when all participants book the same variant.\n       * @internal\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when not all participants book the same variant.\n       * @internal\n       */\n      participantsChoices?: ParticipantChoices$1;\n  }\n  /**\n   * Confirms a booking request and changes the booking status to `CONFIRMED`.\n   *\n   *\n   * Calling this endpoint doesn't check whether a slot or schedule is still\n   * available at this time.\n   *\n   * You can only confirm bookings for services that require the owner's manual\n   * approval for bookings and that have a status of `PENDING`. You can read more about\n   * [creating a service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service).\n   *\n   * For appointment services the slot may become unavailable, depending on the\n   * [service's](https://dev.wix.com/api/rest/wix-bookings/services/service/service-object)\n   * `policy.bookingApprovalPolicy.requestsAffectsAvailability`.\n   *\n   * Calling this endpoint also changes the\n   * [session's](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session/get-session)\n   * `participants.approvalStatus` to `APPROVED`.\n   *\n   * You can pass a `participantNotification.message` to notify the customer of\n   * the confirmation. You also need to pass `participantNotification.notifyParticipants`\n   * as `true` to actually send the message.\n   *\n   * Bookings are automatically confirmed when the\n   * service is configured to [automatically confirm](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)\n   * bookings and the [eCommerce order](https://bo.wix.com/wix-docs/rest/ecommerce/checkout/create-order-from-checkout)\n   * has been approved. The slot's or schedule's availabity is checked just\n   * before confirming the booking as part of the automatic flow.\n   * @param bookingId - ID of the booking to confirm.\n   * @param revision - Revision number, which increments by 1 each time the booking is updated.\n   * To prevent conflicting changes, the current revision must be passed when\n   * managing the booking.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField revision\n   * @permissionId BOOKINGS.BOOKING_CONFIRM\n   * @adminMethod\n   * @deprecated\n   */\n  function bookingsGatewayConfirmBooking(bookingId: string, revision: string | null, options?: BookingsGatewayConfirmBookingOptions): Promise<V2ConfirmBookingResponse>;\n  interface BookingsGatewayConfirmBookingOptions {\n      /**\n       * Information about whether to notify the customer about the confirmation and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n  }\n  /**\n   * Declines a `PENDING` booking request and changes the booking status to\n   * `DECLINED`.\n   *\n   * Calling this endpoint also changes the\n   * [session's](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session/get-session)\n   * `participants.approvalStatus` to `DECLINED`.\n   *\n   * You can only decline bookings for services that require the owner's manual\n   * approval for bookings and that have a status of `PENDING`. You can read more about\n   * [creating a service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service).\n   *\n   * You can pass a `participantNotification.message` to notify the customer of\n   * the decline. You also need to pass `participantNotification.notifyParticipants`\n   * as `true` to actually send the message.\n   * @param bookingId - ID of the booking to decline.\n   * @param revision - Revision number, which increments by 1 each time the booking is updated.\n   * To prevent conflicting changes, the current revision must be passed when\n   * managing the booking.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField revision\n   * @permissionId BOOKINGS.BOOKING_DECLINE\n   * @adminMethod\n   * @deprecated\n   */\n  function bookingsGatewayDeclineBooking(bookingId: string, revision: string | null, options?: BookingsGatewayDeclineBookingOptions): Promise<V2DeclineBookingResponse>;\n  interface BookingsGatewayDeclineBookingOptions {\n      /**\n       * Information about whether to notify the customer about the decline and\n       * the message to send.\n       */\n      participantNotification?: ParticipantNotification$1;\n  }\n  /**\n   * Updates the number of participants for a booking.\n   *\n   *\n   * You can only update the number of participants for class and course\n   * bookings, you can't update it for appointment bookings.\n   *\n   * Calling this endpoint also changes the\n   * [session's](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session/get-session)\n   * `totalNumberOfParticipants`.\n   *\n   * When updating the number of participants for a booking you must pass either\n   * `participantsChoices` or `totalParticipants`. If you pass `participantsChoices`\n   * for services that have\n   * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction),\n   * all of the provided choices must exist for the service. Otherwise, the\n   * call returns an `INVALID_SERVICE_CHOICES` error.\n   * @param bookingId - ID of the booking to update the number of participants for.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField bookingId\n   * @requiredField options.revision\n   * @permissionId BOOKINGS.NUMBER_OF_PARTICIPANTS_UPDATE\n   * @adminMethod\n   * @deprecated\n   */\n  function bookingsGatewayUpdateNumberOfParticipants(bookingId: string, options?: BookingsGatewayUpdateNumberOfParticipantsOptions): Promise<V2UpdateNumberOfParticipantsResponse>;\n  interface BookingsGatewayUpdateNumberOfParticipantsOptions extends V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {\n      /** Updated number of participants. */\n      numberOfParticipants?: number | null;\n      /**\n       * Revision number, which increments by 1 each time the booking is updated.\n       * To prevent conflicting changes, the current revision must be passed when\n       * managing the booking.\n       */\n      revision: string | null;\n      /**\n       * Total number of participants. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when all participants book the same variant.\n       * @internal\n       */\n      totalParticipants?: number;\n      /**\n       * Information about the service choices to book. Available only for services with\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Pass when not all participants book the same variant.\n       * @internal\n       */\n      participantsChoices?: ParticipantChoices$1;\n  }\n  \n  type bookingsV2Booking_universal_d_CommonIdentificationData = CommonIdentificationData;\n  type bookingsV2Booking_universal_d_CommonIdentificationDataIdOneOf = CommonIdentificationDataIdOneOf;\n  type bookingsV2Booking_universal_d_IdentificationDataIdentityType = IdentificationDataIdentityType;\n  const bookingsV2Booking_universal_d_IdentificationDataIdentityType: typeof IdentificationDataIdentityType;\n  type bookingsV2Booking_universal_d_CreateMultiServiceBookingRequest = CreateMultiServiceBookingRequest;\n  type bookingsV2Booking_universal_d_CreateBookingFlowControlSettings = CreateBookingFlowControlSettings;\n  type bookingsV2Booking_universal_d_CreateMultiServiceBookingResponse = CreateMultiServiceBookingResponse;\n  type bookingsV2Booking_universal_d_MultiServiceBooking = MultiServiceBooking;\n  type bookingsV2Booking_universal_d_BookingResult = BookingResult;\n  type bookingsV2Booking_universal_d_RescheduleMultiServiceBookingRequest = RescheduleMultiServiceBookingRequest;\n  type bookingsV2Booking_universal_d_V2Slot = V2Slot;\n  type bookingsV2Booking_universal_d_LocationLocationType = LocationLocationType;\n  const bookingsV2Booking_universal_d_LocationLocationType: typeof LocationLocationType;\n  type bookingsV2Booking_universal_d_SlotSlotResource = SlotSlotResource;\n  type bookingsV2Booking_universal_d_SlotLocation = SlotLocation;\n  type bookingsV2Booking_universal_d_RescheduleMultiServiceBookingRequestRescheduleBookingInfo = RescheduleMultiServiceBookingRequestRescheduleBookingInfo;\n  type bookingsV2Booking_universal_d_RescheduleMultiServiceBookingRequestRescheduleBookingInfoParticipantsInfoOneOf = RescheduleMultiServiceBookingRequestRescheduleBookingInfoParticipantsInfoOneOf;\n  type bookingsV2Booking_universal_d_RescheduleBookingFlowControlSettings = RescheduleBookingFlowControlSettings;\n  type bookingsV2Booking_universal_d_RescheduleMultiServiceBookingResponse = RescheduleMultiServiceBookingResponse;\n  type bookingsV2Booking_universal_d_BookingRescheduled = BookingRescheduled;\n  type bookingsV2Booking_universal_d_BookingRescheduledPreviousParticipantsInfoOneOf = BookingRescheduledPreviousParticipantsInfoOneOf;\n  type bookingsV2Booking_universal_d_GetMultiServiceBookingAvailabilityRequest = GetMultiServiceBookingAvailabilityRequest;\n  type bookingsV2Booking_universal_d_GetMultiServiceBookingAvailabilityResponse = GetMultiServiceBookingAvailabilityResponse;\n  type bookingsV2Booking_universal_d_BookingPolicyViolations = BookingPolicyViolations;\n  type bookingsV2Booking_universal_d_BookingPolicySettings = BookingPolicySettings;\n  type bookingsV2Booking_universal_d_GetMultiServiceBookingAvailabilityResponseBookingInfo = GetMultiServiceBookingAvailabilityResponseBookingInfo;\n  type bookingsV2Booking_universal_d_CancelMultiServiceBookingRequest = CancelMultiServiceBookingRequest;\n  type bookingsV2Booking_universal_d_CancelBookingFlowControlSettings = CancelBookingFlowControlSettings;\n  type bookingsV2Booking_universal_d_CancelMultiServiceBookingResponse = CancelMultiServiceBookingResponse;\n  type bookingsV2Booking_universal_d_BookingCanceled = BookingCanceled;\n  type bookingsV2Booking_universal_d_MarkMultiServiceBookingAsPendingRequest = MarkMultiServiceBookingAsPendingRequest;\n  type bookingsV2Booking_universal_d_BookingInfo = BookingInfo;\n  type bookingsV2Booking_universal_d_MarkBookingAsPendingFlowControlSettings = MarkBookingAsPendingFlowControlSettings;\n  type bookingsV2Booking_universal_d_MarkMultiServiceBookingAsPendingResponse = MarkMultiServiceBookingAsPendingResponse;\n  type bookingsV2Booking_universal_d_ConfirmMultiServiceBookingRequest = ConfirmMultiServiceBookingRequest;\n  type bookingsV2Booking_universal_d_ConfirmBookingFlowControlSettings = ConfirmBookingFlowControlSettings;\n  type bookingsV2Booking_universal_d_ConfirmMultiServiceBookingResponse = ConfirmMultiServiceBookingResponse;\n  type bookingsV2Booking_universal_d_BookingConfirmed = BookingConfirmed;\n  type bookingsV2Booking_universal_d_DeclineMultiServiceBookingRequest = DeclineMultiServiceBookingRequest;\n  type bookingsV2Booking_universal_d_DeclineBookingFlowControlSettings = DeclineBookingFlowControlSettings;\n  type bookingsV2Booking_universal_d_DeclineMultiServiceBookingResponse = DeclineMultiServiceBookingResponse;\n  type bookingsV2Booking_universal_d_BookingDeclined = BookingDeclined;\n  type bookingsV2Booking_universal_d_BulkGetMultiServiceBookingAllowedActionsRequest = BulkGetMultiServiceBookingAllowedActionsRequest;\n  type bookingsV2Booking_universal_d_BulkGetMultiServiceBookingAllowedActionsResponse = BulkGetMultiServiceBookingAllowedActionsResponse;\n  type bookingsV2Booking_universal_d_BulkCalculateAllowedActionsResult = BulkCalculateAllowedActionsResult;\n  type bookingsV2Booking_universal_d_ItemMetadata = ItemMetadata;\n  type bookingsV2Booking_universal_d_ApplicationError = ApplicationError;\n  type bookingsV2Booking_universal_d_AllowedActions = AllowedActions;\n  type bookingsV2Booking_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type bookingsV2Booking_universal_d_MarkAsMultiServiceBookingRequest = MarkAsMultiServiceBookingRequest;\n  type bookingsV2Booking_universal_d_MarkAsMultiServiceBookingResponse = MarkAsMultiServiceBookingResponse;\n  type bookingsV2Booking_universal_d_GetMultiServiceBookingRequest = GetMultiServiceBookingRequest;\n  type bookingsV2Booking_universal_d_GetMultiServiceBookingResponse = GetMultiServiceBookingResponse;\n  type bookingsV2Booking_universal_d_MultiServiceBookingMetadata = MultiServiceBookingMetadata;\n  type bookingsV2Booking_universal_d_AddBookingsToMultiServiceBookingRequest = AddBookingsToMultiServiceBookingRequest;\n  type bookingsV2Booking_universal_d_BookingIdAndRevision = BookingIdAndRevision;\n  type bookingsV2Booking_universal_d_AddBookingsToMultiServiceBookingResponse = AddBookingsToMultiServiceBookingResponse;\n  type bookingsV2Booking_universal_d_RemoveBookingsFromMultiServiceBookingRequest = RemoveBookingsFromMultiServiceBookingRequest;\n  type bookingsV2Booking_universal_d_RemoveBookingsFromMultiServiceBookingResponse = RemoveBookingsFromMultiServiceBookingResponse;\n  type bookingsV2Booking_universal_d_DomainEvent = DomainEvent;\n  type bookingsV2Booking_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type bookingsV2Booking_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type bookingsV2Booking_universal_d_RestoreInfo = RestoreInfo;\n  type bookingsV2Booking_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type bookingsV2Booking_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type bookingsV2Booking_universal_d_ActionEvent = ActionEvent;\n  type bookingsV2Booking_universal_d_MessageEnvelope = MessageEnvelope;\n  type bookingsV2Booking_universal_d_WebhooksIdentificationData = WebhooksIdentificationData;\n  type bookingsV2Booking_universal_d_WebhooksIdentificationDataIdOneOf = WebhooksIdentificationDataIdOneOf;\n  type bookingsV2Booking_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const bookingsV2Booking_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type bookingsV2Booking_universal_d_BookingChanged = BookingChanged;\n  type bookingsV2Booking_universal_d_CreateBookingRequest = CreateBookingRequest;\n  type bookingsV2Booking_universal_d_CreateBookingResponse = CreateBookingResponse;\n  type bookingsV2Booking_universal_d_UpdateBookingRequest = UpdateBookingRequest;\n  type bookingsV2Booking_universal_d_UpdateBookingResponse = UpdateBookingResponse;\n  type bookingsV2Booking_universal_d_LegacyCreateBookingRequest = LegacyCreateBookingRequest;\n  type bookingsV2Booking_universal_d_LegacyCreateBookingResponse = LegacyCreateBookingResponse;\n  type bookingsV2Booking_universal_d_BulkUpdateBookingRequest = BulkUpdateBookingRequest;\n  type bookingsV2Booking_universal_d_MaskedBooking = MaskedBooking;\n  type bookingsV2Booking_universal_d_BulkUpdateBookingResponse = BulkUpdateBookingResponse;\n  type bookingsV2Booking_universal_d_BulkCreateBookingRequest = BulkCreateBookingRequest;\n  type bookingsV2Booking_universal_d_CreateBookingInfo = CreateBookingInfo;\n  type bookingsV2Booking_universal_d_BulkCreateBookingResponse = BulkCreateBookingResponse;\n  type bookingsV2Booking_universal_d_BulkBookingResult = BulkBookingResult;\n  type bookingsV2Booking_universal_d_RescheduleBookingRequest = RescheduleBookingRequest;\n  type bookingsV2Booking_universal_d_RescheduleBookingRequestParticipantsInfoOneOf = RescheduleBookingRequestParticipantsInfoOneOf;\n  type bookingsV2Booking_universal_d_RescheduleBookingResponse = RescheduleBookingResponse;\n  type bookingsV2Booking_universal_d_BulkRescheduleBookingRequest = BulkRescheduleBookingRequest;\n  type bookingsV2Booking_universal_d_BulkRescheduleBookingRequestBooking = BulkRescheduleBookingRequestBooking;\n  type bookingsV2Booking_universal_d_SlotBookings = SlotBookings;\n  type bookingsV2Booking_universal_d_BulkRescheduleBookingResponse = BulkRescheduleBookingResponse;\n  type bookingsV2Booking_universal_d_BulkUpdateBookedScheduleRequest = BulkUpdateBookedScheduleRequest;\n  type bookingsV2Booking_universal_d_BookingDetails = BookingDetails;\n  type bookingsV2Booking_universal_d_BulkUpdateBookedScheduleResponse = BulkUpdateBookedScheduleResponse;\n  type bookingsV2Booking_universal_d_QueryBookingsRequest = QueryBookingsRequest;\n  type bookingsV2Booking_universal_d_QueryV2 = QueryV2;\n  type bookingsV2Booking_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type bookingsV2Booking_universal_d_Sorting = Sorting;\n  type bookingsV2Booking_universal_d_SortOrder = SortOrder;\n  const bookingsV2Booking_universal_d_SortOrder: typeof SortOrder;\n  type bookingsV2Booking_universal_d_Paging = Paging;\n  type bookingsV2Booking_universal_d_CursorPaging = CursorPaging;\n  type bookingsV2Booking_universal_d_QueryBookingsResponse = QueryBookingsResponse;\n  type bookingsV2Booking_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type bookingsV2Booking_universal_d_Cursors = Cursors;\n  type bookingsV2Booking_universal_d_ConfirmRequest = ConfirmRequest;\n  type bookingsV2Booking_universal_d_ConfirmResponse = ConfirmResponse;\n  type bookingsV2Booking_universal_d_ConfirmBookingRequest = ConfirmBookingRequest;\n  type bookingsV2Booking_universal_d_ConfirmBookingResponse = ConfirmBookingResponse;\n  type bookingsV2Booking_universal_d_PartySizeRequest = PartySizeRequest;\n  type bookingsV2Booking_universal_d_PartySizeRequestPartySizeForOneOf = PartySizeRequestPartySizeForOneOf;\n  type bookingsV2Booking_universal_d_PartySizeResponse = PartySizeResponse;\n  type bookingsV2Booking_universal_d_ConsistentQueryBookingsRequest = ConsistentQueryBookingsRequest;\n  type bookingsV2Booking_universal_d_ConsistentQueryBookingsResponse = ConsistentQueryBookingsResponse;\n  type bookingsV2Booking_universal_d_SetBookingSessionIdRequest = SetBookingSessionIdRequest;\n  type bookingsV2Booking_universal_d_SetBookingSessionIdResponse = SetBookingSessionIdResponse;\n  type bookingsV2Booking_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type bookingsV2Booking_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type bookingsV2Booking_universal_d_DeclineBookingRequest = DeclineBookingRequest;\n  type bookingsV2Booking_universal_d_DeclineBookingResponse = DeclineBookingResponse;\n  type bookingsV2Booking_universal_d_CancelBookingRequest = CancelBookingRequest;\n  type bookingsV2Booking_universal_d_CancelBookingResponse = CancelBookingResponse;\n  type bookingsV2Booking_universal_d_UpdateNumberOfParticipantsRequest = UpdateNumberOfParticipantsRequest;\n  type bookingsV2Booking_universal_d_UpdateNumberOfParticipantsRequestParticipantsInfoOneOf = UpdateNumberOfParticipantsRequestParticipantsInfoOneOf;\n  type bookingsV2Booking_universal_d_UpdateNumberOfParticipantsResponse = UpdateNumberOfParticipantsResponse;\n  type bookingsV2Booking_universal_d_NumberOfParticipantsUpdated = NumberOfParticipantsUpdated;\n  type bookingsV2Booking_universal_d_NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf = NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf;\n  type bookingsV2Booking_universal_d_CalculateAllowedActionsRequest = CalculateAllowedActionsRequest;\n  type bookingsV2Booking_universal_d_CalculateAllowedActionsResponse = CalculateAllowedActionsResponse;\n  type bookingsV2Booking_universal_d_BulkCalculateAllowedActionsRequest = BulkCalculateAllowedActionsRequest;\n  type bookingsV2Booking_universal_d_BulkCalculateAllowedActionsResponse = BulkCalculateAllowedActionsResponse;\n  type bookingsV2Booking_universal_d_GetSlotAvailabilityRequest = GetSlotAvailabilityRequest;\n  type bookingsV2Booking_universal_d_GetSlotAvailabilityResponse = GetSlotAvailabilityResponse;\n  type bookingsV2Booking_universal_d_SlotAvailability = SlotAvailability;\n  type bookingsV2Booking_universal_d_WaitingList = WaitingList;\n  type bookingsV2Booking_universal_d_AvailableResources = AvailableResources;\n  type bookingsV2Booking_universal_d_GetScheduleAvailabilityRequest = GetScheduleAvailabilityRequest;\n  type bookingsV2Booking_universal_d_GetScheduleAvailabilityResponse = GetScheduleAvailabilityResponse;\n  type bookingsV2Booking_universal_d_ScheduleAvailability = ScheduleAvailability;\n  type bookingsV2Booking_universal_d_MarkBookingAsPendingRequest = MarkBookingAsPendingRequest;\n  type bookingsV2Booking_universal_d_MarkBookingAsPendingResponse = MarkBookingAsPendingResponse;\n  type bookingsV2Booking_universal_d_BookingMarkedAsPending = BookingMarkedAsPending;\n  type bookingsV2Booking_universal_d_MigrationCheckIfClashesWithBlockedTimeRequest = MigrationCheckIfClashesWithBlockedTimeRequest;\n  type bookingsV2Booking_universal_d_MsidAndBookingId = MsidAndBookingId;\n  type bookingsV2Booking_universal_d_MigrationCheckIfClashesWithBlockedTimeResponse = MigrationCheckIfClashesWithBlockedTimeResponse;\n  type bookingsV2Booking_universal_d_Clash = Clash;\n  type bookingsV2Booking_universal_d_ConfirmOrDeclineBookingRequest = ConfirmOrDeclineBookingRequest;\n  type bookingsV2Booking_universal_d_ConfirmOrDeclineBookingResponse = ConfirmOrDeclineBookingResponse;\n  type bookingsV2Booking_universal_d_BulkConfirmOrDeclineBookingRequest = BulkConfirmOrDeclineBookingRequest;\n  type bookingsV2Booking_universal_d_BulkConfirmOrDeclineBookingRequestBookingDetails = BulkConfirmOrDeclineBookingRequestBookingDetails;\n  type bookingsV2Booking_universal_d_BulkConfirmOrDeclineBookingResponse = BulkConfirmOrDeclineBookingResponse;\n  type bookingsV2Booking_universal_d_V2CreateBookingRequest = V2CreateBookingRequest;\n  type bookingsV2Booking_universal_d_V2CreateBookingRequestBookableItemOneOf = V2CreateBookingRequestBookableItemOneOf;\n  type bookingsV2Booking_universal_d_V2CreateBookingRequestParticipantsInfoOneOf = V2CreateBookingRequestParticipantsInfoOneOf;\n  type bookingsV2Booking_universal_d_Slot = Slot;\n  type bookingsV2Booking_universal_d_SlotResource = SlotResource;\n  type bookingsV2Booking_universal_d_CreateBookingRequestFlowControlSettings = CreateBookingRequestFlowControlSettings;\n  type bookingsV2Booking_universal_d_V2CreateBookingResponse = V2CreateBookingResponse;\n  type bookingsV2Booking_universal_d_V2CancelBookingRequest = V2CancelBookingRequest;\n  type bookingsV2Booking_universal_d_V2CancelBookingRequestFlowControlSettings = V2CancelBookingRequestFlowControlSettings;\n  type bookingsV2Booking_universal_d_V2CancelBookingResponse = V2CancelBookingResponse;\n  type bookingsV2Booking_universal_d_V2RescheduleBookingRequest = V2RescheduleBookingRequest;\n  type bookingsV2Booking_universal_d_V2RescheduleBookingRequestParticipantsInfoOneOf = V2RescheduleBookingRequestParticipantsInfoOneOf;\n  type bookingsV2Booking_universal_d_V2RescheduleBookingRequestFlowControlSettings = V2RescheduleBookingRequestFlowControlSettings;\n  type bookingsV2Booking_universal_d_V2RescheduleBookingResponse = V2RescheduleBookingResponse;\n  type bookingsV2Booking_universal_d_V2ConfirmBookingRequest = V2ConfirmBookingRequest;\n  type bookingsV2Booking_universal_d_V2ConfirmBookingResponse = V2ConfirmBookingResponse;\n  type bookingsV2Booking_universal_d_V2DeclineBookingRequest = V2DeclineBookingRequest;\n  type bookingsV2Booking_universal_d_V2DeclineBookingResponse = V2DeclineBookingResponse;\n  type bookingsV2Booking_universal_d_V2UpdateNumberOfParticipantsRequest = V2UpdateNumberOfParticipantsRequest;\n  type bookingsV2Booking_universal_d_V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf = V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf;\n  type bookingsV2Booking_universal_d_V2UpdateNumberOfParticipantsResponse = V2UpdateNumberOfParticipantsResponse;\n  const bookingsV2Booking_universal_d_createMultiServiceBooking: typeof createMultiServiceBooking;\n  type bookingsV2Booking_universal_d_CreateMultiServiceBookingOptions = CreateMultiServiceBookingOptions;\n  const bookingsV2Booking_universal_d_rescheduleMultiServiceBooking: typeof rescheduleMultiServiceBooking;\n  type bookingsV2Booking_universal_d_RescheduleMultiServiceBookingOptions = RescheduleMultiServiceBookingOptions;\n  const bookingsV2Booking_universal_d_getMultiServiceBookingAvailability: typeof getMultiServiceBookingAvailability;\n  const bookingsV2Booking_universal_d_cancelMultiServiceBooking: typeof cancelMultiServiceBooking;\n  type bookingsV2Booking_universal_d_CancelMultiServiceBookingOptions = CancelMultiServiceBookingOptions;\n  const bookingsV2Booking_universal_d_markMultiServiceBookingAsPending: typeof markMultiServiceBookingAsPending;\n  type bookingsV2Booking_universal_d_MarkMultiServiceBookingAsPendingOptions = MarkMultiServiceBookingAsPendingOptions;\n  const bookingsV2Booking_universal_d_confirmMultiServiceBooking: typeof confirmMultiServiceBooking;\n  type bookingsV2Booking_universal_d_ConfirmMultiServiceBookingOptions = ConfirmMultiServiceBookingOptions;\n  const bookingsV2Booking_universal_d_declineMultiServiceBooking: typeof declineMultiServiceBooking;\n  type bookingsV2Booking_universal_d_DeclineMultiServiceBookingOptions = DeclineMultiServiceBookingOptions;\n  const bookingsV2Booking_universal_d_bulkGetMultiServiceBookingAllowedActions: typeof bulkGetMultiServiceBookingAllowedActions;\n  type bookingsV2Booking_universal_d_MarkAsMultiServiceBookingOptions = MarkAsMultiServiceBookingOptions;\n  const bookingsV2Booking_universal_d_getMultiServiceBooking: typeof getMultiServiceBooking;\n  const bookingsV2Booking_universal_d_addBookingsToMultiServiceBooking: typeof addBookingsToMultiServiceBooking;\n  type bookingsV2Booking_universal_d_AddBookingsToMultiServiceBookingOptions = AddBookingsToMultiServiceBookingOptions;\n  const bookingsV2Booking_universal_d_removeBookingsFromMultiServiceBooking: typeof removeBookingsFromMultiServiceBooking;\n  type bookingsV2Booking_universal_d_RemoveBookingsFromMultiServiceBookingOptions = RemoveBookingsFromMultiServiceBookingOptions;\n  const bookingsV2Booking_universal_d_createBooking: typeof createBooking;\n  type bookingsV2Booking_universal_d_CreateBookingOptions = CreateBookingOptions;\n  const bookingsV2Booking_universal_d_updateBooking: typeof updateBooking;\n  type bookingsV2Booking_universal_d_UpdateBooking = UpdateBooking;\n  type bookingsV2Booking_universal_d_UpdateBookingOptions = UpdateBookingOptions;\n  const bookingsV2Booking_universal_d_legacyCreateBooking: typeof legacyCreateBooking;\n  const bookingsV2Booking_universal_d_bulkUpdateBooking: typeof bulkUpdateBooking;\n  const bookingsV2Booking_universal_d_bulkCreateBooking: typeof bulkCreateBooking;\n  type bookingsV2Booking_universal_d_BulkCreateBookingOptions = BulkCreateBookingOptions;\n  const bookingsV2Booking_universal_d_rescheduleBooking: typeof rescheduleBooking;\n  type bookingsV2Booking_universal_d_RescheduleBookingOptions = RescheduleBookingOptions;\n  const bookingsV2Booking_universal_d_bulkRescheduleBooking: typeof bulkRescheduleBooking;\n  type bookingsV2Booking_universal_d_BulkRescheduleBookingOptions = BulkRescheduleBookingOptions;\n  const bookingsV2Booking_universal_d_bulkUpdateBookedSchedule: typeof bulkUpdateBookedSchedule;\n  type bookingsV2Booking_universal_d_BulkUpdateBookedScheduleOptions = BulkUpdateBookedScheduleOptions;\n  const bookingsV2Booking_universal_d_query: typeof query;\n  type bookingsV2Booking_universal_d_QueryOptions = QueryOptions;\n  const bookingsV2Booking_universal_d_confirmBooking: typeof confirmBooking;\n  type bookingsV2Booking_universal_d_ConfirmBookingOptions = ConfirmBookingOptions;\n  type bookingsV2Booking_universal_d_PartySizeOptions = PartySizeOptions;\n  const bookingsV2Booking_universal_d_consistentQuery: typeof consistentQuery;\n  type bookingsV2Booking_universal_d_ConsistentQueryOptions = ConsistentQueryOptions;\n  const bookingsV2Booking_universal_d_setBookingSessionId: typeof setBookingSessionId;\n  type bookingsV2Booking_universal_d_SetBookingSessionIdOptions = SetBookingSessionIdOptions;\n  const bookingsV2Booking_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type bookingsV2Booking_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  const bookingsV2Booking_universal_d_declineBooking: typeof declineBooking;\n  type bookingsV2Booking_universal_d_DeclineBookingOptions = DeclineBookingOptions;\n  const bookingsV2Booking_universal_d_cancelBooking: typeof cancelBooking;\n  type bookingsV2Booking_universal_d_CancelBookingOptions = CancelBookingOptions;\n  const bookingsV2Booking_universal_d_updateNumberOfParticipants: typeof updateNumberOfParticipants;\n  type bookingsV2Booking_universal_d_UpdateNumberOfParticipantsOptions = UpdateNumberOfParticipantsOptions;\n  const bookingsV2Booking_universal_d_bulkCalculateAllowedActions: typeof bulkCalculateAllowedActions;\n  const bookingsV2Booking_universal_d_getSlotAvailability: typeof getSlotAvailability;\n  type bookingsV2Booking_universal_d_GetSlotAvailabilityOptions = GetSlotAvailabilityOptions;\n  const bookingsV2Booking_universal_d_getScheduleAvailability: typeof getScheduleAvailability;\n  const bookingsV2Booking_universal_d_markBookingAsPending: typeof markBookingAsPending;\n  type bookingsV2Booking_universal_d_MarkBookingAsPendingOptions = MarkBookingAsPendingOptions;\n  const bookingsV2Booking_universal_d_confirmOrDeclineBooking: typeof confirmOrDeclineBooking;\n  type bookingsV2Booking_universal_d_ConfirmOrDeclineBookingOptions = ConfirmOrDeclineBookingOptions;\n  const bookingsV2Booking_universal_d_bulkConfirmOrDeclineBooking: typeof bulkConfirmOrDeclineBooking;\n  type bookingsV2Booking_universal_d_BulkConfirmOrDeclineBookingOptions = BulkConfirmOrDeclineBookingOptions;\n  const bookingsV2Booking_universal_d_bookingsGatewayCreateBooking: typeof bookingsGatewayCreateBooking;\n  type bookingsV2Booking_universal_d_BookingsGatewayCreateBookingOptions = BookingsGatewayCreateBookingOptions;\n  const bookingsV2Booking_universal_d_bookingsGatewayCancelBooking: typeof bookingsGatewayCancelBooking;\n  type bookingsV2Booking_universal_d_BookingsGatewayCancelBookingOptions = BookingsGatewayCancelBookingOptions;\n  const bookingsV2Booking_universal_d_bookingsGatewayRescheduleBooking: typeof bookingsGatewayRescheduleBooking;\n  type bookingsV2Booking_universal_d_BookingsGatewayRescheduleBookingOptions = BookingsGatewayRescheduleBookingOptions;\n  const bookingsV2Booking_universal_d_bookingsGatewayConfirmBooking: typeof bookingsGatewayConfirmBooking;\n  type bookingsV2Booking_universal_d_BookingsGatewayConfirmBookingOptions = BookingsGatewayConfirmBookingOptions;\n  const bookingsV2Booking_universal_d_bookingsGatewayDeclineBooking: typeof bookingsGatewayDeclineBooking;\n  type bookingsV2Booking_universal_d_BookingsGatewayDeclineBookingOptions = BookingsGatewayDeclineBookingOptions;\n  const bookingsV2Booking_universal_d_bookingsGatewayUpdateNumberOfParticipants: typeof bookingsGatewayUpdateNumberOfParticipants;\n  type bookingsV2Booking_universal_d_BookingsGatewayUpdateNumberOfParticipantsOptions = BookingsGatewayUpdateNumberOfParticipantsOptions;\n  namespace bookingsV2Booking_universal_d {\n    export {\n      Booking$1 as Booking,\n      BookingParticipantsInfoOneOf$1 as BookingParticipantsInfoOneOf,\n      MultiServiceBookingType$1 as MultiServiceBookingType,\n      BookedEntity$1 as BookedEntity,\n      BookedEntityItemOneOf$1 as BookedEntityItemOneOf,\n      BookedSlot$1 as BookedSlot,\n      BookedResource$1 as BookedResource,\n      Location$1 as Location,\n      LocationType$1 as LocationType,\n      BookedSchedule$1 as BookedSchedule,\n      ContactDetails$1 as ContactDetails,\n      Address$1 as Address,\n      AddressStreetOneOf$1 as AddressStreetOneOf,\n      StreetAddress$1 as StreetAddress,\n      AddressLocation$1 as AddressLocation,\n      Subdivision$1 as Subdivision,\n      CustomFormField$1 as CustomFormField,\n      ValueType$1 as ValueType,\n      BookingStatus$1 as BookingStatus,\n      PaymentStatus$1 as PaymentStatus,\n      SelectedPaymentOption$1 as SelectedPaymentOption,\n      BookingSource$1 as BookingSource,\n      Platform$1 as Platform,\n      Actor$1 as Actor,\n      ParticipantNotification$1 as ParticipantNotification,\n      bookingsV2Booking_universal_d_CommonIdentificationData as CommonIdentificationData,\n      bookingsV2Booking_universal_d_CommonIdentificationDataIdOneOf as CommonIdentificationDataIdOneOf,\n      bookingsV2Booking_universal_d_IdentificationDataIdentityType as IdentificationDataIdentityType,\n      FlowControlSettings$1 as FlowControlSettings,\n      ExtendedFields$1 as ExtendedFields,\n      ParticipantChoices$1 as ParticipantChoices,\n      ServiceChoices$1 as ServiceChoices,\n      ServiceChoice$1 as ServiceChoice,\n      ServiceChoiceChoiceOneOf$1 as ServiceChoiceChoiceOneOf,\n      MultiServiceBookingInfo$1 as MultiServiceBookingInfo,\n      bookingsV2Booking_universal_d_CreateMultiServiceBookingRequest as CreateMultiServiceBookingRequest,\n      bookingsV2Booking_universal_d_CreateBookingFlowControlSettings as CreateBookingFlowControlSettings,\n      bookingsV2Booking_universal_d_CreateMultiServiceBookingResponse as CreateMultiServiceBookingResponse,\n      bookingsV2Booking_universal_d_MultiServiceBooking as MultiServiceBooking,\n      bookingsV2Booking_universal_d_BookingResult as BookingResult,\n      bookingsV2Booking_universal_d_RescheduleMultiServiceBookingRequest as RescheduleMultiServiceBookingRequest,\n      bookingsV2Booking_universal_d_V2Slot as V2Slot,\n      bookingsV2Booking_universal_d_LocationLocationType as LocationLocationType,\n      bookingsV2Booking_universal_d_SlotSlotResource as SlotSlotResource,\n      bookingsV2Booking_universal_d_SlotLocation as SlotLocation,\n      bookingsV2Booking_universal_d_RescheduleMultiServiceBookingRequestRescheduleBookingInfo as RescheduleMultiServiceBookingRequestRescheduleBookingInfo,\n      bookingsV2Booking_universal_d_RescheduleMultiServiceBookingRequestRescheduleBookingInfoParticipantsInfoOneOf as RescheduleMultiServiceBookingRequestRescheduleBookingInfoParticipantsInfoOneOf,\n      bookingsV2Booking_universal_d_RescheduleBookingFlowControlSettings as RescheduleBookingFlowControlSettings,\n      bookingsV2Booking_universal_d_RescheduleMultiServiceBookingResponse as RescheduleMultiServiceBookingResponse,\n      bookingsV2Booking_universal_d_BookingRescheduled as BookingRescheduled,\n      bookingsV2Booking_universal_d_BookingRescheduledPreviousParticipantsInfoOneOf as BookingRescheduledPreviousParticipantsInfoOneOf,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      IdentityType$1 as IdentityType,\n      bookingsV2Booking_universal_d_GetMultiServiceBookingAvailabilityRequest as GetMultiServiceBookingAvailabilityRequest,\n      bookingsV2Booking_universal_d_GetMultiServiceBookingAvailabilityResponse as GetMultiServiceBookingAvailabilityResponse,\n      bookingsV2Booking_universal_d_BookingPolicyViolations as BookingPolicyViolations,\n      bookingsV2Booking_universal_d_BookingPolicySettings as BookingPolicySettings,\n      bookingsV2Booking_universal_d_GetMultiServiceBookingAvailabilityResponseBookingInfo as GetMultiServiceBookingAvailabilityResponseBookingInfo,\n      bookingsV2Booking_universal_d_CancelMultiServiceBookingRequest as CancelMultiServiceBookingRequest,\n      bookingsV2Booking_universal_d_CancelBookingFlowControlSettings as CancelBookingFlowControlSettings,\n      bookingsV2Booking_universal_d_CancelMultiServiceBookingResponse as CancelMultiServiceBookingResponse,\n      bookingsV2Booking_universal_d_BookingCanceled as BookingCanceled,\n      bookingsV2Booking_universal_d_MarkMultiServiceBookingAsPendingRequest as MarkMultiServiceBookingAsPendingRequest,\n      bookingsV2Booking_universal_d_BookingInfo as BookingInfo,\n      bookingsV2Booking_universal_d_MarkBookingAsPendingFlowControlSettings as MarkBookingAsPendingFlowControlSettings,\n      bookingsV2Booking_universal_d_MarkMultiServiceBookingAsPendingResponse as MarkMultiServiceBookingAsPendingResponse,\n      bookingsV2Booking_universal_d_ConfirmMultiServiceBookingRequest as ConfirmMultiServiceBookingRequest,\n      bookingsV2Booking_universal_d_ConfirmBookingFlowControlSettings as ConfirmBookingFlowControlSettings,\n      bookingsV2Booking_universal_d_ConfirmMultiServiceBookingResponse as ConfirmMultiServiceBookingResponse,\n      bookingsV2Booking_universal_d_BookingConfirmed as BookingConfirmed,\n      bookingsV2Booking_universal_d_DeclineMultiServiceBookingRequest as DeclineMultiServiceBookingRequest,\n      bookingsV2Booking_universal_d_DeclineBookingFlowControlSettings as DeclineBookingFlowControlSettings,\n      bookingsV2Booking_universal_d_DeclineMultiServiceBookingResponse as DeclineMultiServiceBookingResponse,\n      bookingsV2Booking_universal_d_BookingDeclined as BookingDeclined,\n      bookingsV2Booking_universal_d_BulkGetMultiServiceBookingAllowedActionsRequest as BulkGetMultiServiceBookingAllowedActionsRequest,\n      bookingsV2Booking_universal_d_BulkGetMultiServiceBookingAllowedActionsResponse as BulkGetMultiServiceBookingAllowedActionsResponse,\n      bookingsV2Booking_universal_d_BulkCalculateAllowedActionsResult as BulkCalculateAllowedActionsResult,\n      bookingsV2Booking_universal_d_ItemMetadata as ItemMetadata,\n      bookingsV2Booking_universal_d_ApplicationError as ApplicationError,\n      bookingsV2Booking_universal_d_AllowedActions as AllowedActions,\n      bookingsV2Booking_universal_d_BulkActionMetadata as BulkActionMetadata,\n      bookingsV2Booking_universal_d_MarkAsMultiServiceBookingRequest as MarkAsMultiServiceBookingRequest,\n      bookingsV2Booking_universal_d_MarkAsMultiServiceBookingResponse as MarkAsMultiServiceBookingResponse,\n      bookingsV2Booking_universal_d_GetMultiServiceBookingRequest as GetMultiServiceBookingRequest,\n      bookingsV2Booking_universal_d_GetMultiServiceBookingResponse as GetMultiServiceBookingResponse,\n      bookingsV2Booking_universal_d_MultiServiceBookingMetadata as MultiServiceBookingMetadata,\n      bookingsV2Booking_universal_d_AddBookingsToMultiServiceBookingRequest as AddBookingsToMultiServiceBookingRequest,\n      bookingsV2Booking_universal_d_BookingIdAndRevision as BookingIdAndRevision,\n      bookingsV2Booking_universal_d_AddBookingsToMultiServiceBookingResponse as AddBookingsToMultiServiceBookingResponse,\n      bookingsV2Booking_universal_d_RemoveBookingsFromMultiServiceBookingRequest as RemoveBookingsFromMultiServiceBookingRequest,\n      bookingsV2Booking_universal_d_RemoveBookingsFromMultiServiceBookingResponse as RemoveBookingsFromMultiServiceBookingResponse,\n      bookingsV2Booking_universal_d_DomainEvent as DomainEvent,\n      bookingsV2Booking_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      bookingsV2Booking_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      bookingsV2Booking_universal_d_RestoreInfo as RestoreInfo,\n      bookingsV2Booking_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      bookingsV2Booking_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      bookingsV2Booking_universal_d_ActionEvent as ActionEvent,\n      bookingsV2Booking_universal_d_MessageEnvelope as MessageEnvelope,\n      bookingsV2Booking_universal_d_WebhooksIdentificationData as WebhooksIdentificationData,\n      bookingsV2Booking_universal_d_WebhooksIdentificationDataIdOneOf as WebhooksIdentificationDataIdOneOf,\n      bookingsV2Booking_universal_d_WebhookIdentityType as WebhookIdentityType,\n      bookingsV2Booking_universal_d_BookingChanged as BookingChanged,\n      bookingsV2Booking_universal_d_CreateBookingRequest as CreateBookingRequest,\n      bookingsV2Booking_universal_d_CreateBookingResponse as CreateBookingResponse,\n      bookingsV2Booking_universal_d_UpdateBookingRequest as UpdateBookingRequest,\n      bookingsV2Booking_universal_d_UpdateBookingResponse as UpdateBookingResponse,\n      bookingsV2Booking_universal_d_LegacyCreateBookingRequest as LegacyCreateBookingRequest,\n      bookingsV2Booking_universal_d_LegacyCreateBookingResponse as LegacyCreateBookingResponse,\n      bookingsV2Booking_universal_d_BulkUpdateBookingRequest as BulkUpdateBookingRequest,\n      bookingsV2Booking_universal_d_MaskedBooking as MaskedBooking,\n      bookingsV2Booking_universal_d_BulkUpdateBookingResponse as BulkUpdateBookingResponse,\n      bookingsV2Booking_universal_d_BulkCreateBookingRequest as BulkCreateBookingRequest,\n      bookingsV2Booking_universal_d_CreateBookingInfo as CreateBookingInfo,\n      bookingsV2Booking_universal_d_BulkCreateBookingResponse as BulkCreateBookingResponse,\n      bookingsV2Booking_universal_d_BulkBookingResult as BulkBookingResult,\n      bookingsV2Booking_universal_d_RescheduleBookingRequest as RescheduleBookingRequest,\n      bookingsV2Booking_universal_d_RescheduleBookingRequestParticipantsInfoOneOf as RescheduleBookingRequestParticipantsInfoOneOf,\n      bookingsV2Booking_universal_d_RescheduleBookingResponse as RescheduleBookingResponse,\n      bookingsV2Booking_universal_d_BulkRescheduleBookingRequest as BulkRescheduleBookingRequest,\n      bookingsV2Booking_universal_d_BulkRescheduleBookingRequestBooking as BulkRescheduleBookingRequestBooking,\n      bookingsV2Booking_universal_d_SlotBookings as SlotBookings,\n      bookingsV2Booking_universal_d_BulkRescheduleBookingResponse as BulkRescheduleBookingResponse,\n      bookingsV2Booking_universal_d_BulkUpdateBookedScheduleRequest as BulkUpdateBookedScheduleRequest,\n      bookingsV2Booking_universal_d_BookingDetails as BookingDetails,\n      bookingsV2Booking_universal_d_BulkUpdateBookedScheduleResponse as BulkUpdateBookedScheduleResponse,\n      bookingsV2Booking_universal_d_QueryBookingsRequest as QueryBookingsRequest,\n      bookingsV2Booking_universal_d_QueryV2 as QueryV2,\n      bookingsV2Booking_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      bookingsV2Booking_universal_d_Sorting as Sorting,\n      bookingsV2Booking_universal_d_SortOrder as SortOrder,\n      bookingsV2Booking_universal_d_Paging as Paging,\n      bookingsV2Booking_universal_d_CursorPaging as CursorPaging,\n      bookingsV2Booking_universal_d_QueryBookingsResponse as QueryBookingsResponse,\n      bookingsV2Booking_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      bookingsV2Booking_universal_d_Cursors as Cursors,\n      bookingsV2Booking_universal_d_ConfirmRequest as ConfirmRequest,\n      bookingsV2Booking_universal_d_ConfirmResponse as ConfirmResponse,\n      bookingsV2Booking_universal_d_ConfirmBookingRequest as ConfirmBookingRequest,\n      bookingsV2Booking_universal_d_ConfirmBookingResponse as ConfirmBookingResponse,\n      bookingsV2Booking_universal_d_PartySizeRequest as PartySizeRequest,\n      bookingsV2Booking_universal_d_PartySizeRequestPartySizeForOneOf as PartySizeRequestPartySizeForOneOf,\n      bookingsV2Booking_universal_d_PartySizeResponse as PartySizeResponse,\n      bookingsV2Booking_universal_d_ConsistentQueryBookingsRequest as ConsistentQueryBookingsRequest,\n      bookingsV2Booking_universal_d_ConsistentQueryBookingsResponse as ConsistentQueryBookingsResponse,\n      bookingsV2Booking_universal_d_SetBookingSessionIdRequest as SetBookingSessionIdRequest,\n      bookingsV2Booking_universal_d_SetBookingSessionIdResponse as SetBookingSessionIdResponse,\n      bookingsV2Booking_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      bookingsV2Booking_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      bookingsV2Booking_universal_d_DeclineBookingRequest as DeclineBookingRequest,\n      bookingsV2Booking_universal_d_DeclineBookingResponse as DeclineBookingResponse,\n      bookingsV2Booking_universal_d_CancelBookingRequest as CancelBookingRequest,\n      bookingsV2Booking_universal_d_CancelBookingResponse as CancelBookingResponse,\n      bookingsV2Booking_universal_d_UpdateNumberOfParticipantsRequest as UpdateNumberOfParticipantsRequest,\n      bookingsV2Booking_universal_d_UpdateNumberOfParticipantsRequestParticipantsInfoOneOf as UpdateNumberOfParticipantsRequestParticipantsInfoOneOf,\n      bookingsV2Booking_universal_d_UpdateNumberOfParticipantsResponse as UpdateNumberOfParticipantsResponse,\n      bookingsV2Booking_universal_d_NumberOfParticipantsUpdated as NumberOfParticipantsUpdated,\n      bookingsV2Booking_universal_d_NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf as NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf,\n      bookingsV2Booking_universal_d_CalculateAllowedActionsRequest as CalculateAllowedActionsRequest,\n      bookingsV2Booking_universal_d_CalculateAllowedActionsResponse as CalculateAllowedActionsResponse,\n      bookingsV2Booking_universal_d_BulkCalculateAllowedActionsRequest as BulkCalculateAllowedActionsRequest,\n      bookingsV2Booking_universal_d_BulkCalculateAllowedActionsResponse as BulkCalculateAllowedActionsResponse,\n      bookingsV2Booking_universal_d_GetSlotAvailabilityRequest as GetSlotAvailabilityRequest,\n      bookingsV2Booking_universal_d_GetSlotAvailabilityResponse as GetSlotAvailabilityResponse,\n      bookingsV2Booking_universal_d_SlotAvailability as SlotAvailability,\n      bookingsV2Booking_universal_d_WaitingList as WaitingList,\n      bookingsV2Booking_universal_d_AvailableResources as AvailableResources,\n      bookingsV2Booking_universal_d_GetScheduleAvailabilityRequest as GetScheduleAvailabilityRequest,\n      bookingsV2Booking_universal_d_GetScheduleAvailabilityResponse as GetScheduleAvailabilityResponse,\n      bookingsV2Booking_universal_d_ScheduleAvailability as ScheduleAvailability,\n      bookingsV2Booking_universal_d_MarkBookingAsPendingRequest as MarkBookingAsPendingRequest,\n      bookingsV2Booking_universal_d_MarkBookingAsPendingResponse as MarkBookingAsPendingResponse,\n      bookingsV2Booking_universal_d_BookingMarkedAsPending as BookingMarkedAsPending,\n      bookingsV2Booking_universal_d_MigrationCheckIfClashesWithBlockedTimeRequest as MigrationCheckIfClashesWithBlockedTimeRequest,\n      bookingsV2Booking_universal_d_MsidAndBookingId as MsidAndBookingId,\n      bookingsV2Booking_universal_d_MigrationCheckIfClashesWithBlockedTimeResponse as MigrationCheckIfClashesWithBlockedTimeResponse,\n      bookingsV2Booking_universal_d_Clash as Clash,\n      bookingsV2Booking_universal_d_ConfirmOrDeclineBookingRequest as ConfirmOrDeclineBookingRequest,\n      bookingsV2Booking_universal_d_ConfirmOrDeclineBookingResponse as ConfirmOrDeclineBookingResponse,\n      bookingsV2Booking_universal_d_BulkConfirmOrDeclineBookingRequest as BulkConfirmOrDeclineBookingRequest,\n      bookingsV2Booking_universal_d_BulkConfirmOrDeclineBookingRequestBookingDetails as BulkConfirmOrDeclineBookingRequestBookingDetails,\n      bookingsV2Booking_universal_d_BulkConfirmOrDeclineBookingResponse as BulkConfirmOrDeclineBookingResponse,\n      bookingsV2Booking_universal_d_V2CreateBookingRequest as V2CreateBookingRequest,\n      bookingsV2Booking_universal_d_V2CreateBookingRequestBookableItemOneOf as V2CreateBookingRequestBookableItemOneOf,\n      bookingsV2Booking_universal_d_V2CreateBookingRequestParticipantsInfoOneOf as V2CreateBookingRequestParticipantsInfoOneOf,\n      bookingsV2Booking_universal_d_Slot as Slot,\n      bookingsV2Booking_universal_d_SlotResource as SlotResource,\n      bookingsV2Booking_universal_d_CreateBookingRequestFlowControlSettings as CreateBookingRequestFlowControlSettings,\n      bookingsV2Booking_universal_d_V2CreateBookingResponse as V2CreateBookingResponse,\n      bookingsV2Booking_universal_d_V2CancelBookingRequest as V2CancelBookingRequest,\n      bookingsV2Booking_universal_d_V2CancelBookingRequestFlowControlSettings as V2CancelBookingRequestFlowControlSettings,\n      bookingsV2Booking_universal_d_V2CancelBookingResponse as V2CancelBookingResponse,\n      bookingsV2Booking_universal_d_V2RescheduleBookingRequest as V2RescheduleBookingRequest,\n      bookingsV2Booking_universal_d_V2RescheduleBookingRequestParticipantsInfoOneOf as V2RescheduleBookingRequestParticipantsInfoOneOf,\n      bookingsV2Booking_universal_d_V2RescheduleBookingRequestFlowControlSettings as V2RescheduleBookingRequestFlowControlSettings,\n      bookingsV2Booking_universal_d_V2RescheduleBookingResponse as V2RescheduleBookingResponse,\n      bookingsV2Booking_universal_d_V2ConfirmBookingRequest as V2ConfirmBookingRequest,\n      bookingsV2Booking_universal_d_V2ConfirmBookingResponse as V2ConfirmBookingResponse,\n      bookingsV2Booking_universal_d_V2DeclineBookingRequest as V2DeclineBookingRequest,\n      bookingsV2Booking_universal_d_V2DeclineBookingResponse as V2DeclineBookingResponse,\n      bookingsV2Booking_universal_d_V2UpdateNumberOfParticipantsRequest as V2UpdateNumberOfParticipantsRequest,\n      bookingsV2Booking_universal_d_V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf as V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf,\n      bookingsV2Booking_universal_d_V2UpdateNumberOfParticipantsResponse as V2UpdateNumberOfParticipantsResponse,\n      bookingsV2Booking_universal_d_createMultiServiceBooking as createMultiServiceBooking,\n      bookingsV2Booking_universal_d_CreateMultiServiceBookingOptions as CreateMultiServiceBookingOptions,\n      bookingsV2Booking_universal_d_rescheduleMultiServiceBooking as rescheduleMultiServiceBooking,\n      bookingsV2Booking_universal_d_RescheduleMultiServiceBookingOptions as RescheduleMultiServiceBookingOptions,\n      bookingsV2Booking_universal_d_getMultiServiceBookingAvailability as getMultiServiceBookingAvailability,\n      bookingsV2Booking_universal_d_cancelMultiServiceBooking as cancelMultiServiceBooking,\n      bookingsV2Booking_universal_d_CancelMultiServiceBookingOptions as CancelMultiServiceBookingOptions,\n      bookingsV2Booking_universal_d_markMultiServiceBookingAsPending as markMultiServiceBookingAsPending,\n      bookingsV2Booking_universal_d_MarkMultiServiceBookingAsPendingOptions as MarkMultiServiceBookingAsPendingOptions,\n      bookingsV2Booking_universal_d_confirmMultiServiceBooking as confirmMultiServiceBooking,\n      bookingsV2Booking_universal_d_ConfirmMultiServiceBookingOptions as ConfirmMultiServiceBookingOptions,\n      bookingsV2Booking_universal_d_declineMultiServiceBooking as declineMultiServiceBooking,\n      bookingsV2Booking_universal_d_DeclineMultiServiceBookingOptions as DeclineMultiServiceBookingOptions,\n      bookingsV2Booking_universal_d_bulkGetMultiServiceBookingAllowedActions as bulkGetMultiServiceBookingAllowedActions,\n      bookingsV2Booking_universal_d_MarkAsMultiServiceBookingOptions as MarkAsMultiServiceBookingOptions,\n      bookingsV2Booking_universal_d_getMultiServiceBooking as getMultiServiceBooking,\n      bookingsV2Booking_universal_d_addBookingsToMultiServiceBooking as addBookingsToMultiServiceBooking,\n      bookingsV2Booking_universal_d_AddBookingsToMultiServiceBookingOptions as AddBookingsToMultiServiceBookingOptions,\n      bookingsV2Booking_universal_d_removeBookingsFromMultiServiceBooking as removeBookingsFromMultiServiceBooking,\n      bookingsV2Booking_universal_d_RemoveBookingsFromMultiServiceBookingOptions as RemoveBookingsFromMultiServiceBookingOptions,\n      bookingsV2Booking_universal_d_createBooking as createBooking,\n      bookingsV2Booking_universal_d_CreateBookingOptions as CreateBookingOptions,\n      bookingsV2Booking_universal_d_updateBooking as updateBooking,\n      bookingsV2Booking_universal_d_UpdateBooking as UpdateBooking,\n      bookingsV2Booking_universal_d_UpdateBookingOptions as UpdateBookingOptions,\n      bookingsV2Booking_universal_d_legacyCreateBooking as legacyCreateBooking,\n      bookingsV2Booking_universal_d_bulkUpdateBooking as bulkUpdateBooking,\n      bookingsV2Booking_universal_d_bulkCreateBooking as bulkCreateBooking,\n      bookingsV2Booking_universal_d_BulkCreateBookingOptions as BulkCreateBookingOptions,\n      bookingsV2Booking_universal_d_rescheduleBooking as rescheduleBooking,\n      bookingsV2Booking_universal_d_RescheduleBookingOptions as RescheduleBookingOptions,\n      bookingsV2Booking_universal_d_bulkRescheduleBooking as bulkRescheduleBooking,\n      bookingsV2Booking_universal_d_BulkRescheduleBookingOptions as BulkRescheduleBookingOptions,\n      bookingsV2Booking_universal_d_bulkUpdateBookedSchedule as bulkUpdateBookedSchedule,\n      bookingsV2Booking_universal_d_BulkUpdateBookedScheduleOptions as BulkUpdateBookedScheduleOptions,\n      bookingsV2Booking_universal_d_query as query,\n      bookingsV2Booking_universal_d_QueryOptions as QueryOptions,\n      bookingsV2Booking_universal_d_confirmBooking as confirmBooking,\n      bookingsV2Booking_universal_d_ConfirmBookingOptions as ConfirmBookingOptions,\n      bookingsV2Booking_universal_d_PartySizeOptions as PartySizeOptions,\n      bookingsV2Booking_universal_d_consistentQuery as consistentQuery,\n      bookingsV2Booking_universal_d_ConsistentQueryOptions as ConsistentQueryOptions,\n      bookingsV2Booking_universal_d_setBookingSessionId as setBookingSessionId,\n      bookingsV2Booking_universal_d_SetBookingSessionIdOptions as SetBookingSessionIdOptions,\n      bookingsV2Booking_universal_d_updateExtendedFields as updateExtendedFields,\n      bookingsV2Booking_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n      bookingsV2Booking_universal_d_declineBooking as declineBooking,\n      bookingsV2Booking_universal_d_DeclineBookingOptions as DeclineBookingOptions,\n      bookingsV2Booking_universal_d_cancelBooking as cancelBooking,\n      bookingsV2Booking_universal_d_CancelBookingOptions as CancelBookingOptions,\n      bookingsV2Booking_universal_d_updateNumberOfParticipants as updateNumberOfParticipants,\n      bookingsV2Booking_universal_d_UpdateNumberOfParticipantsOptions as UpdateNumberOfParticipantsOptions,\n      bookingsV2Booking_universal_d_bulkCalculateAllowedActions as bulkCalculateAllowedActions,\n      bookingsV2Booking_universal_d_getSlotAvailability as getSlotAvailability,\n      bookingsV2Booking_universal_d_GetSlotAvailabilityOptions as GetSlotAvailabilityOptions,\n      bookingsV2Booking_universal_d_getScheduleAvailability as getScheduleAvailability,\n      bookingsV2Booking_universal_d_markBookingAsPending as markBookingAsPending,\n      bookingsV2Booking_universal_d_MarkBookingAsPendingOptions as MarkBookingAsPendingOptions,\n      bookingsV2Booking_universal_d_confirmOrDeclineBooking as confirmOrDeclineBooking,\n      bookingsV2Booking_universal_d_ConfirmOrDeclineBookingOptions as ConfirmOrDeclineBookingOptions,\n      bookingsV2Booking_universal_d_bulkConfirmOrDeclineBooking as bulkConfirmOrDeclineBooking,\n      bookingsV2Booking_universal_d_BulkConfirmOrDeclineBookingOptions as BulkConfirmOrDeclineBookingOptions,\n      bookingsV2Booking_universal_d_bookingsGatewayCreateBooking as bookingsGatewayCreateBooking,\n      bookingsV2Booking_universal_d_BookingsGatewayCreateBookingOptions as BookingsGatewayCreateBookingOptions,\n      bookingsV2Booking_universal_d_bookingsGatewayCancelBooking as bookingsGatewayCancelBooking,\n      bookingsV2Booking_universal_d_BookingsGatewayCancelBookingOptions as BookingsGatewayCancelBookingOptions,\n      bookingsV2Booking_universal_d_bookingsGatewayRescheduleBooking as bookingsGatewayRescheduleBooking,\n      bookingsV2Booking_universal_d_BookingsGatewayRescheduleBookingOptions as BookingsGatewayRescheduleBookingOptions,\n      bookingsV2Booking_universal_d_bookingsGatewayConfirmBooking as bookingsGatewayConfirmBooking,\n      bookingsV2Booking_universal_d_BookingsGatewayConfirmBookingOptions as BookingsGatewayConfirmBookingOptions,\n      bookingsV2Booking_universal_d_bookingsGatewayDeclineBooking as bookingsGatewayDeclineBooking,\n      bookingsV2Booking_universal_d_BookingsGatewayDeclineBookingOptions as BookingsGatewayDeclineBookingOptions,\n      bookingsV2Booking_universal_d_bookingsGatewayUpdateNumberOfParticipants as bookingsGatewayUpdateNumberOfParticipants,\n      bookingsV2Booking_universal_d_BookingsGatewayUpdateNumberOfParticipantsOptions as BookingsGatewayUpdateNumberOfParticipantsOptions,\n    };\n  }\n  \n  interface BookingsAppSettings {\n      /** @readonly */\n      _id?: string | null;\n      /** @readonly */\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date | null;\n      /** @readonly */\n      _updatedDate?: Date | null;\n      /**\n       * Cart checkout settings\n       * @readonly\n       */\n      cartCheckout?: CartCheckout;\n  }\n  interface CartCheckout {\n      /** Whether the cart checkout feature is enabled */\n      enabled?: boolean | null;\n  }\n  interface GetBookingsAppSettingsRequest {\n  }\n  interface GetBookingsAppSettingsResponse {\n      /** Settings for the Bookings app */\n      bookingsAppSettings?: BookingsAppSettings;\n  }\n  /**\n   * Retrieves the settings for the Wix Bookings app\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.APP_SETTINGS_READ\n   * @adminMethod\n   */\n  function getBookingsAppSettings(): Promise<GetBookingsAppSettingsResponse>;\n  \n  type bookingsV2BookingsAppSettings_universal_d_BookingsAppSettings = BookingsAppSettings;\n  type bookingsV2BookingsAppSettings_universal_d_CartCheckout = CartCheckout;\n  type bookingsV2BookingsAppSettings_universal_d_GetBookingsAppSettingsRequest = GetBookingsAppSettingsRequest;\n  type bookingsV2BookingsAppSettings_universal_d_GetBookingsAppSettingsResponse = GetBookingsAppSettingsResponse;\n  const bookingsV2BookingsAppSettings_universal_d_getBookingsAppSettings: typeof getBookingsAppSettings;\n  namespace bookingsV2BookingsAppSettings_universal_d {\n    export {\n      bookingsV2BookingsAppSettings_universal_d_BookingsAppSettings as BookingsAppSettings,\n      bookingsV2BookingsAppSettings_universal_d_CartCheckout as CartCheckout,\n      bookingsV2BookingsAppSettings_universal_d_GetBookingsAppSettingsRequest as GetBookingsAppSettingsRequest,\n      bookingsV2BookingsAppSettings_universal_d_GetBookingsAppSettingsResponse as GetBookingsAppSettingsResponse,\n      bookingsV2BookingsAppSettings_universal_d_getBookingsAppSettings as getBookingsAppSettings,\n    };\n  }\n  \n  interface PriceInfo extends PriceInfoTotalPriceOneOf {\n      /**\n       * Calculated total price. Available only when the\n       * [service](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/get-service)'s\n       * price has been set up as a numerical value in the\n       * `schedule.rate.labeledPriceOptions` object.\n       */\n      calculatedPrice?: number;\n      /**\n       * Description of the total price. __Deprecated.__ Use `priceDescriptionInfo.original` instead.\n       * `priceDescription` will be removed on March 31, 2025.\n       * @deprecated Description of the total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as a text value in the\n       * [`schedule.rate.priceText`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) property.\n       * @replacedBy price_description_info.original\n       * @targetRemovalDate 2025-01-10\n       */\n      priceDescription?: string;\n      /**\n       * Description of the total price. Available only when the [service](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/get-service)'s\n       * `payment.rateType` is set to `CUSTOM`.\n       */\n      priceDescriptionInfo?: PriceDescriptionInfo;\n      /** List of line items, including the number of participants and the price per participant. */\n      bookingLineItems?: BookingLineItem[];\n      /**\n       * Total deposit the customer must pay when booking the service.\n       *\n       * Available when: The service includes a deposit.\n       */\n      deposit?: number | null;\n      /**\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * @internal\n       */\n      currency?: string | null;\n  }\n  /** @oneof */\n  interface PriceInfoTotalPriceOneOf {\n      /**\n       * Calculated total price. Available only when the\n       * [service](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/get-service)'s\n       * price has been set up as a numerical value in\n       * `schedule.rate.labeledPriceOptions`.\n       *\n       */\n      calculatedPrice?: number;\n      /**\n       * Description of the total price. __Deprecated.__ Use `priceDescriptionInfo.original` instead.\n       * `priceDescription` will be removed on March 31, 2025.\n       * @deprecated Description of the total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as a text value in the\n       * [`schedule.rate.priceText`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) property.\n       * @replacedBy price_description_info.original\n       * @targetRemovalDate 2025-01-10\n       */\n      priceDescription?: string;\n      /**\n       * Description of the total price. Available only when the [service](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/get-service)'s\n       * `payment.rateType` is set to `CUSTOM`.\n       */\n      priceDescriptionInfo?: PriceDescriptionInfo;\n  }\n  interface BookingLineItem {\n      /**\n       * Service ID.\n       *\n       * Required when not using Wix Booking's default pricing logic.\n       */\n      serviceId?: string | null;\n      /** Resource ID. Required for services of type appointment or class. */\n      resourceId?: string | null;\n      /**\n       * Custom choices. Choices are specific values for an option the customer can choose to book.\n       * For example, the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      choices?: ServiceChoice[];\n      /** Number of participants for the line item. */\n      numberOfParticipants?: number | null;\n      /**\n       * Price per participant for the line item.\n       * @readonly\n       */\n      pricePerParticipant?: number | null;\n  }\n  interface ServiceChoice extends ServiceChoiceChoiceOneOf {\n      /**\n       * Value for one of the choices in the `CustomServiceOption.choices` list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n      /**\n       * ID of the corresponding option for the choice. For example, the choice `child`\n       * could correspond to the option `ageGroup`. In this case, `optionId` is the ID\n       * for the `ageGroup` option.\n       */\n      optionId?: string;\n  }\n  /** @oneof */\n  interface ServiceChoiceChoiceOneOf {\n      /**\n       * Value for one of the choices in the `CustomServiceOption.choices` list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n  }\n  interface PriceDescriptionInfo {\n      /** Price description in the site's [primary language](https://dev.wix.com/docs/sdk/frontend-modules/window/multilingual/site-languages). */\n      original?: string;\n      /** Translated price description. Available if the customer booked in a language other than the site's [primary language](https://dev.wix.com/docs/sdk/frontend-modules/window/multilingual/site-languages). */\n      translated?: string | null;\n  }\n  interface PreviewPriceRequest {\n      /** List of line items to preview the price for. */\n      bookingLineItems: BookingLineItem[];\n  }\n  interface PreviewPriceResponse {\n      /** Information about each line item's price and the estimated total price based on the line items. */\n      priceInfo?: PriceInfo;\n  }\n  interface CalculatePriceRequest {\n      /** Booking to calculate the price for. */\n      booking: Booking;\n  }\n  /** The booking object, version 2. */\n  interface Booking extends BookingParticipantsInfoOneOf {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices;\n      /**\n       * Booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** An object describing the slot or schedule that was booked. */\n      bookedEntity?: BookedEntity;\n      /** Contact details of the site visitor or member making the booking. */\n      contactDetails?: ContactDetails;\n      /** Additional custom fields submitted with the booking form. */\n      additionalFields?: CustomFormField[];\n      /**\n       * Number of participants.\n       * @internal\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Internal business note\n       * @internal\n       * @deprecated\n       */\n      internalBusinessNote?: string | null;\n      /**\n       * Booking status.\n       * One of:\n       * - `\"CREATED\"` - The booking was created.\n       * - `\"UPDATED\"` - The booking was updated.\n       * - `\"CONFIRMED\"` - The booking was confirmed and appears on the bookings calendar. A booking can be manually confirmed using the [`confirmOrDecline()`](https://www.wix.com/velo/reference/wix-bookings-v2/bookings/confirmordeclinebooking) API. A booking can be automatically confirmed when the following requirements are met:\n       *     + The service is configured as automatically confirmed.\n       *     + The system invoked the eCommerce checkout API and created an order.\n       * - `\"CANCELED\"` - The booking has been canceled and synced to the bookings calendar.\n       * The booking can be canceled using [`cancelBooking()`](https://www.wix.com/velo/reference/wix-bookings-v2/bookings/cancelbooking) API.\n       * - `\"PENDING\"` - The booking is waiting to be confirmed or declined by the owner and the booking is synced to the bookings calendar.\n       * Bookings can be manually set as `PENDING` using the `setAsPending()` API, by those with Manage Booking Status permissions scopes.\n       * Bookings can be automatically set as `PENDING` when the following requirements are met:\n       *     + The service is configured as manually confirmed.\n       *     + Invoking the eCommerce checkout API and an order has been created.\n       * - `\"WAITING_LIST\"` - The booking is on a waiting list.\n       * - `\"DECLINED\"` - The booking was declined by the owner and synced to the Bookings calendar. Bookings can be manually declined using the [`declineBooking()`](https://www.wix.com/velo/reference/wix-bookings-v2/bookings/declinebooking) API by those with Manage Booking Status permission scopes. Bookings can be automatically declined when one of the following requirements are met:\n       *     + Invoking the `eCommerce checkout` API and the order declined event has been sent.\n       *     + Invoking the `eCommerce checkout` API and order approved event has been sent, but the booking is offline and the booking causes a double booking.\n       */\n      status?: BookingStatus;\n      /**\n       * Payment status.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       */\n      paymentStatus?: PaymentStatus;\n      /**\n       * Selected payment option.\n       *\n       * Supported values: `\"OFFLINE\"`, `\"ONLINE\"`, `\"MEMBERSHIP\"`, `\"MEMBERSHIP_OFFLINE\"`.\n       *\n       * One of the payment options offered by the service, or another option if `skipSelectedPaymentOptionValidation` is `true`.\n       * When undefined, the payment option is resolved by the service configuration on checkout.\n       */\n      selectedPaymentOption?: SelectedPaymentOption;\n      /**\n       * Date and time the booking was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** External ID provided by the client app on creation. */\n      externalUserId?: string | null;\n      /**\n       * An object describing the platform and application that made the booking.\n       * @internal\n       */\n      bookingSource?: BookingSource;\n      /**\n       * The last notification used by Cancel, Confirm, Decline, or Reschedule Booking.\n       * @internal\n       * @deprecated\n       */\n      participantNotification?: ParticipantNotification;\n      /**\n       * When value is set to True, an SMS reminder would be sent to the phone number specified in the ContactDetails, 24 hours before the session starts.\n       * @internal\n       * @deprecated\n       */\n      sendSmsReminder?: boolean | null;\n      /** Revision number to be used when updating, rescheduling, or cancelling the booking. Revision number, which increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes,the current revision must be passed when updating the booking. */\n      revision?: string | null;\n      /**\n       * ID of the creator of the Booking.\n       * If `appId` and another ID are present, the other ID takes precedence.\n       * @readonly\n       */\n      createdBy?: IdentificationData;\n      /**\n       * The start date of this booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.\n       * @readonly\n       */\n      startDate?: Date | null;\n      /**\n       * The end date of this booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.\n       * @readonly\n       */\n      endDate?: Date | null;\n      /**\n       * Sets the booking flow behavior. Some behaviors require permissions.\n       * @internal\n       */\n      flowControlSettings?: FlowControlSettings;\n      /**\n       * Date and time the booking was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Custom field data for this object. Extended fields must be configured in the app dashboard before they can be accessed with API calls.\n       * For usage of extended fields with [Wix Forms](https://dev.wix.com/docs/rest/crm/forms/form-schema-api/introduction-to-forms), after configuring your form custom fields, pass the form field values under the `_user_fields` namespace.\n       * For example, if you have a custom form field named `age`, pass it as `\"extendedFields\":{\"_user_fields\": { \"age\": 22 }}`.\n       */\n      extendedFields?: ExtendedFields;\n      /**\n       * Whether this booking overlaps another existing confirmed booking. Returned when: `true`\n       * @readonly\n       */\n      doubleBooked?: boolean | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2Availability?: boolean | null;\n      /**\n       * Multi service booking info of which the booking is part of.\n       * @internal\n       * @readonly\n       */\n      multiServiceBookingInfo?: MultiServiceBookingInfo;\n      /**\n       * The date this booking was canceled on\n       * @internal\n       * @readonly\n       */\n      canceledDate?: Date | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2AvailabilityProxy?: boolean | null;\n      /**\n       * Having booking language means that the booking was made in a secondary language, having no booking.language implies that the booking was made using the main language\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** @oneof */\n  interface BookingParticipantsInfoOneOf {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices;\n  }\n  enum MultiServiceBookingType {\n      /**\n       * Multi service booking will be considered available if its bookings are\n       * available as returned from ListMultiServiceAvailabilityTimeSlots API.\n       * See [List Multi Service Availability Time Slots] (url) documentation // todo: complete url\n       */\n      SEQUENTIAL_BOOKINGS = \"SEQUENTIAL_BOOKINGS\",\n      /**\n       * Multi service booking will be considered available if each of its bookings is available separately.\n       * Not supported yet\n       */\n      SEPARATE_BOOKINGS = \"SEPARATE_BOOKINGS\",\n      /** Not supported yet */\n      PARALLEL_BOOKINGS = \"PARALLEL_BOOKINGS\"\n  }\n  interface BookedEntity extends BookedEntityItemOneOf {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule;\n      /**\n       * Session title at the time of booking.\n       * If session doesn't exist at the time of the booking, service name is used.\n       * @readonly\n       */\n      title?: string | null;\n      /**\n       * If the user made the booking in a secondary language, this field will contain the translated title.\n       * @internal\n       * @readonly\n       */\n      titleTranslated?: string | null;\n      /**\n       * List of tags for the booking.\n       * System-assigned tags for sessions and schedules are:\n       * + \"INDIVIDUAL\" Appointments, including appointments with more than 1 participant.\n       * + \"GROUP\" Individual classes.\n       * + \"COURSE\" Courses.\n       */\n      tags?: string[] | null;\n  }\n  /** @oneof */\n  interface BookedEntityItemOneOf {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule;\n  }\n  interface BookedSlot {\n      /**\n       * ID of the underlying session when session is a single session or generated from a recurring session.\n       * If `sessionId` is defined in the `Create Booking` request, the `startDate`, `endDate`, `timezone`, `resource`, and `location` fields are ignored and populated from the existing session's information.\n       */\n      sessionId?: string | null;\n      /** Service ID. */\n      serviceId?: string;\n      /** Schedule ID. Required. */\n      scheduleId?: string;\n      /**\n       * Calendar 3 event ID\n       * If not empty, on all write flows (create / update) gets priority over session_id.\n       * so if both session_id and event_id are provided, the session_id that will be set on the booking will be based on the event_id.\n       * Otherwise, if event_id is empty on write flow,\n       */\n      eventId?: string | null;\n      /**\n       * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      startDate?: string | null;\n      /**\n       * The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      endDate?: string | null;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The enriched resource assigned to the slot, can be either the requested resource or the resource chosen by the system.\n       * When populated, the given resource will be booked according to it's availability.\n       * When empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\n       * otherwise one of the service resources will be assigned to the slot randomly upon confirmation.\n       * This resource is the slot primary resource.\n       */\n      resource?: BookedResource;\n      /** Location where the slot's session takes place. */\n      location?: Location;\n      /**\n       * Optional.\n       * In addition to the `resource` field, these are the additional enriched resources that are assigned to the slot.\n       * For example the room, equipment or the additional staff member that are assigned to the slot.\n       * @internal\n       */\n      additionalResources?: BookedResource[];\n  }\n  interface BookedResource {\n      /** Booked resource ID. */\n      _id?: string;\n      /** Resource's name at the time of booking. */\n      name?: string | null;\n      /**\n       * Resource's name translated to the language the booking was made in if applicable.\n       * @internal\n       * @readonly\n       */\n      nameTranslated?: string | null;\n      /** Resource's email at the time of booking. */\n      email?: string | null;\n      /** Resource's schedule ID. */\n      scheduleId?: string | null;\n      /**\n       * Indicates whether the resource was specifically requested or should be auto selected by the Server.\n       * The value will be true if the resource was explicitly given in the request, otherwise false.\n       * @internal\n       * @readonly\n       */\n      explicitlyRequested?: boolean | null;\n      /**\n       * Resource's type.\n       * @internal\n       * @readonly\n       */\n      type?: string | null;\n  }\n  interface Location {\n      /**\n       * Business location ID. Available only for locations that are business locations,\n       * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** The full address of this location. */\n      formattedAddress?: string | null;\n      /** The full translated address of this location. */\n      formattedAddressTranslated?: string | null;\n      /**\n       * Location type.\n       *\n       * - `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n       * - `\"CUSTOM\"`: The address as set for the individual session.\n       */\n      locationType?: LocationType;\n  }\n  enum LocationType {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface BookedSchedule {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /** Booked service ID. */\n      serviceId?: string | null;\n      /**\n       * Location where the schedule's sessions take place. Read only.\n       * @readonly\n       */\n      location?: Location;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The start time of the first session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      firstSessionStart?: string | null;\n      /**\n       * The end time of the last session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      lastSessionEnd?: string | null;\n  }\n  interface ContactDetails {\n      /** Contact's ID. */\n      contactId?: string | null;\n      /** Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /** Contact's email, used to create a new contact or get existing one from the [Contacts API](https://www.wix.com/velo/reference/wix-crm/contacts). Used to validate coupon usage limitations per contact. If not passed, the coupon usage limitation will not be enforced. (Coupon usage limitation validation is not supported yet). */\n      email?: string | null;\n      /** Contact's phone number. */\n      phone?: string | null;\n      /** Contact's full address. */\n      fullAddress?: Address;\n      /**\n       * Contact's time zone.\n       * @deprecated\n       */\n      timeZone?: string | null;\n      /** Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      countryCode?: string | null;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface CustomFormField {\n      /** ID of the form field as defined in the form. */\n      _id?: string;\n      /** Value that was submitted for this field. */\n      value?: string | null;\n      /**\n       * Form field's label at the time of submission.\n       * @readonly\n       */\n      label?: string | null;\n      /**\n       * Form field value's type at the time of submission.\n       *\n       * Supported values: `\"SHORT_TEXT\"`, `\"LONG_TEXT\"`, `\"CHECK_BOX\"`\n       */\n      valueType?: ValueType;\n  }\n  enum ValueType {\n      /** Short text. This is the default value type. */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long text */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** a text that represent the check box value: if selected the value is \"true\", otherwise \"false\". */\n      CHECK_BOX = \"CHECK_BOX\"\n  }\n  /** Booking status. */\n  enum BookingStatus {\n      CREATED = \"CREATED\",\n      CONFIRMED = \"CONFIRMED\",\n      CANCELED = \"CANCELED\",\n      PENDING = \"PENDING\",\n      DECLINED = \"DECLINED\",\n      WAITING_LIST = \"WAITING_LIST\"\n  }\n  /**\n   * Payment status.\n   * Automatically updated when using eCom checkout APIs.\n   */\n  enum PaymentStatus {\n      UNDEFINED = \"UNDEFINED\",\n      NOT_PAID = \"NOT_PAID\",\n      PAID = \"PAID\",\n      /** not supported yet. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      /** not supported yet */\n      REFUNDED = \"REFUNDED\",\n      EXEMPT = \"EXEMPT\"\n  }\n  /**\n   * The selected payment option.\n   * One of the payment options offered by the service.\n   * This field is be set when the user selects an option during booking.\n   * If left undefined, the payment option is resolved by the service configuration on checkout.\n   */\n  enum SelectedPaymentOption {\n      UNDEFINED = \"UNDEFINED\",\n      OFFLINE = \"OFFLINE\",\n      ONLINE = \"ONLINE\",\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Payment can only be done using a membership and must be manually redeemed in the dashboard by the site owner. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface BookingSource {\n      /** Platform from which a booking was created */\n      platform?: Platform;\n      /** Actor that created this booking. */\n      actor?: Actor;\n      /**\n       * Wix site ID of the application that created the booking.\n       * @readonly\n       */\n      appDefId?: string | null;\n      /**\n       * Name of the application that created the booking, as saved in Wix Developers Center at the time of booking.\n       * @readonly\n       */\n      appName?: string | null;\n  }\n  enum Platform {\n      UNDEFINED_PLATFORM = \"UNDEFINED_PLATFORM\",\n      WEB = \"WEB\",\n      MOBILE_APP = \"MOBILE_APP\"\n  }\n  enum Actor {\n      UNDEFINED_ACTOR = \"UNDEFINED_ACTOR\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\"\n  }\n  interface ParticipantNotification {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n      /**\n       * Optional additional metadata.\n       * Supported only in V3 APIs.\n       * @internal\n       */\n      metadata?: Record<string, string>;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface FlowControlSettings {\n      /**\n       * When true, skips the service defined booking-window in the booking policy.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       * private because it's confusing to external users - collides with skip_availability_validation\n       * and yet, clients send it (though always with skip_availability_validation=true) so we're not just removing it\n       * When removing, we need to use proto's `reserved` field\n       * @internal\n       * @deprecated\n       */\n      ignoreBookingWindow?: boolean;\n      /**\n       * When true, skips availability checking and allows booking.\n       * Requires BOOKINGS.OVERRIDE_AVAILABILITY permissions.\n       */\n      skipAvailabilityValidation?: boolean;\n      /**\n       * When true, allows booking a confirmation-required service without requiring confirmation.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       */\n      skipBusinessConfirmation?: boolean;\n      /**\n       * When true, skips selected payment option checking as defined in `selectedPaymentOption` field\n       * and allows booking.\n       * Requires BOOKINGS.MANAGE_PAYMENTS permissions.\n       */\n      skipSelectedPaymentOptionValidation?: boolean;\n      /** When true, refunds the booking's payment when the booking is canceled. */\n      withRefund?: boolean | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Data Extensions extended fields expressed as a set of key-value pairs:\n       *\n       * `key:value`\n       *\n       * + `key` is the namespace, type `string`.\n       * + `value` is the data of the extended fields data, type `struct`.\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ParticipantChoices {\n      /** Information about the booked service choices. Includes the number of participants. */\n      serviceChoices?: ServiceChoices[];\n  }\n  interface ServiceChoices {\n      /** Number of participants for this variant. */\n      numberOfParticipants?: number | null;\n      /** Service choices for these participants. */\n      choices?: ServiceChoice[];\n  }\n  interface MultiServiceBookingInfo {\n      /**\n       * Multi service booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Multi service booking type. */\n      type?: MultiServiceBookingType;\n  }\n  interface CalculatePriceResponse {\n      /** Information about each line item's price and the actual total base price. */\n      priceInfo?: PriceInfo;\n  }\n  /**\n   * Previews the base price for a set of line items belonging to the same service\n   * before a potential booking is actually created.\n   *\n   *\n   *\n   * The returned price preview information about each line\n   * item's price and sums up each line item's price.\n   *\n   * The previewed price is not the actual price that will be used to charge the customer.\n   * `Preview Price` only estimates the base price by adding up the price\n   * of each line item before\n   * the booking is actually created.\n   *\n   * Use [`Calculate Price`](https://www.wix.com/velo/reference/wix-bookings-v2/pricing/calculateprice) to get the base price\n   * after the booking is created.\n   *\n   * Passing line items that belong to different services results in an error.\n   *\n   * ## Calculating the previewed price\n   *\n   * Wix Bookings has its own default pricing logic for previewing the price. You must\n   * pass the `serviceId` in the `slot`\n   * or `schedule` object to `previewPrice()`.\n   *\n   * You cannot call `previewPrice()` if you have customized Bookings pricing logic using the\n   * [BookingsCustomPricing](https://dev.wix.com/docs/velo/api-reference/wix-bookings-v2/service-plugins-spis/bookings-custom-pricing/introduction) service plugin. Calling `previewPrice` if custom pricing\n   * logic has been implemented for the site results in an error.\n   * @param bookingLineItems - List of line items to preview the price for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField bookingLineItems\n   * @permissionId BOOKINGS.PRICE_PREVIEW\n   */\n  function previewPrice(bookingLineItems: BookingLineItem[]): Promise<PreviewPriceResponse>;\n  /**\n   * Calculates the base price of a booking.\n   *\n   *\n   *\n   * You can call `calculatePrice()` after a booking is created. The returned calculated price includes information about each line\n   * item's price and the booking's total price.\n   *\n   * You can use `previewPrice()` to get the base price\n   * before a booking is created.\n   *\n   * The calculated price is the base price that will be used as a basis for charging the customer.\n   * During checkout, additional taxes\n   * and fees might be added to this base price.\n   *\n   * ## Calculating the price\n   *\n   * Wix Bookings has its own default pricing logic for calculating the price. When\n   * using Wix Bookings' default pricing logic, you must pass the `serviceId` in the `slot`\n   * or `schedule` object to `calculatePrice()`.\n   *\n   * Alternatively you can customize the pricing logic using the\n   * [BookingsCustomPricing](https://dev.wix.com/docs/velo/api-reference/wix-bookings-v2/service-plugins-spis/bookings-custom-pricing/introduction) service plugin.\n   * If you integrate with a pricing provider, the customized pricing logic becomes\n   * the default logic. This means that, if the Custom Pricing service plugin is implemented,\n   * when calling `calculatePrice()`,\n   * the customized logic is used instead.\n   * @param booking - Booking to calculate the price for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField booking\n   * @permissionId BOOKINGS.PRICE_CALCULATE\n   */\n  function calculatePrice(booking: Booking): Promise<CalculatePriceResponse>;\n  \n  type bookingsV2PriceInfo_universal_d_PriceInfo = PriceInfo;\n  type bookingsV2PriceInfo_universal_d_PriceInfoTotalPriceOneOf = PriceInfoTotalPriceOneOf;\n  type bookingsV2PriceInfo_universal_d_BookingLineItem = BookingLineItem;\n  type bookingsV2PriceInfo_universal_d_ServiceChoice = ServiceChoice;\n  type bookingsV2PriceInfo_universal_d_ServiceChoiceChoiceOneOf = ServiceChoiceChoiceOneOf;\n  type bookingsV2PriceInfo_universal_d_PriceDescriptionInfo = PriceDescriptionInfo;\n  type bookingsV2PriceInfo_universal_d_PreviewPriceRequest = PreviewPriceRequest;\n  type bookingsV2PriceInfo_universal_d_PreviewPriceResponse = PreviewPriceResponse;\n  type bookingsV2PriceInfo_universal_d_CalculatePriceRequest = CalculatePriceRequest;\n  type bookingsV2PriceInfo_universal_d_Booking = Booking;\n  type bookingsV2PriceInfo_universal_d_BookingParticipantsInfoOneOf = BookingParticipantsInfoOneOf;\n  type bookingsV2PriceInfo_universal_d_MultiServiceBookingType = MultiServiceBookingType;\n  const bookingsV2PriceInfo_universal_d_MultiServiceBookingType: typeof MultiServiceBookingType;\n  type bookingsV2PriceInfo_universal_d_BookedEntity = BookedEntity;\n  type bookingsV2PriceInfo_universal_d_BookedEntityItemOneOf = BookedEntityItemOneOf;\n  type bookingsV2PriceInfo_universal_d_BookedSlot = BookedSlot;\n  type bookingsV2PriceInfo_universal_d_BookedResource = BookedResource;\n  type bookingsV2PriceInfo_universal_d_Location = Location;\n  type bookingsV2PriceInfo_universal_d_LocationType = LocationType;\n  const bookingsV2PriceInfo_universal_d_LocationType: typeof LocationType;\n  type bookingsV2PriceInfo_universal_d_BookedSchedule = BookedSchedule;\n  type bookingsV2PriceInfo_universal_d_ContactDetails = ContactDetails;\n  type bookingsV2PriceInfo_universal_d_Address = Address;\n  type bookingsV2PriceInfo_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type bookingsV2PriceInfo_universal_d_StreetAddress = StreetAddress;\n  type bookingsV2PriceInfo_universal_d_AddressLocation = AddressLocation;\n  type bookingsV2PriceInfo_universal_d_Subdivision = Subdivision;\n  type bookingsV2PriceInfo_universal_d_CustomFormField = CustomFormField;\n  type bookingsV2PriceInfo_universal_d_ValueType = ValueType;\n  const bookingsV2PriceInfo_universal_d_ValueType: typeof ValueType;\n  type bookingsV2PriceInfo_universal_d_BookingStatus = BookingStatus;\n  const bookingsV2PriceInfo_universal_d_BookingStatus: typeof BookingStatus;\n  type bookingsV2PriceInfo_universal_d_PaymentStatus = PaymentStatus;\n  const bookingsV2PriceInfo_universal_d_PaymentStatus: typeof PaymentStatus;\n  type bookingsV2PriceInfo_universal_d_SelectedPaymentOption = SelectedPaymentOption;\n  const bookingsV2PriceInfo_universal_d_SelectedPaymentOption: typeof SelectedPaymentOption;\n  type bookingsV2PriceInfo_universal_d_BookingSource = BookingSource;\n  type bookingsV2PriceInfo_universal_d_Platform = Platform;\n  const bookingsV2PriceInfo_universal_d_Platform: typeof Platform;\n  type bookingsV2PriceInfo_universal_d_Actor = Actor;\n  const bookingsV2PriceInfo_universal_d_Actor: typeof Actor;\n  type bookingsV2PriceInfo_universal_d_ParticipantNotification = ParticipantNotification;\n  type bookingsV2PriceInfo_universal_d_IdentificationData = IdentificationData;\n  type bookingsV2PriceInfo_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type bookingsV2PriceInfo_universal_d_IdentityType = IdentityType;\n  const bookingsV2PriceInfo_universal_d_IdentityType: typeof IdentityType;\n  type bookingsV2PriceInfo_universal_d_FlowControlSettings = FlowControlSettings;\n  type bookingsV2PriceInfo_universal_d_ExtendedFields = ExtendedFields;\n  type bookingsV2PriceInfo_universal_d_ParticipantChoices = ParticipantChoices;\n  type bookingsV2PriceInfo_universal_d_ServiceChoices = ServiceChoices;\n  type bookingsV2PriceInfo_universal_d_MultiServiceBookingInfo = MultiServiceBookingInfo;\n  type bookingsV2PriceInfo_universal_d_CalculatePriceResponse = CalculatePriceResponse;\n  const bookingsV2PriceInfo_universal_d_previewPrice: typeof previewPrice;\n  const bookingsV2PriceInfo_universal_d_calculatePrice: typeof calculatePrice;\n  namespace bookingsV2PriceInfo_universal_d {\n    export {\n      bookingsV2PriceInfo_universal_d_PriceInfo as PriceInfo,\n      bookingsV2PriceInfo_universal_d_PriceInfoTotalPriceOneOf as PriceInfoTotalPriceOneOf,\n      bookingsV2PriceInfo_universal_d_BookingLineItem as BookingLineItem,\n      bookingsV2PriceInfo_universal_d_ServiceChoice as ServiceChoice,\n      bookingsV2PriceInfo_universal_d_ServiceChoiceChoiceOneOf as ServiceChoiceChoiceOneOf,\n      bookingsV2PriceInfo_universal_d_PriceDescriptionInfo as PriceDescriptionInfo,\n      bookingsV2PriceInfo_universal_d_PreviewPriceRequest as PreviewPriceRequest,\n      bookingsV2PriceInfo_universal_d_PreviewPriceResponse as PreviewPriceResponse,\n      bookingsV2PriceInfo_universal_d_CalculatePriceRequest as CalculatePriceRequest,\n      bookingsV2PriceInfo_universal_d_Booking as Booking,\n      bookingsV2PriceInfo_universal_d_BookingParticipantsInfoOneOf as BookingParticipantsInfoOneOf,\n      bookingsV2PriceInfo_universal_d_MultiServiceBookingType as MultiServiceBookingType,\n      bookingsV2PriceInfo_universal_d_BookedEntity as BookedEntity,\n      bookingsV2PriceInfo_universal_d_BookedEntityItemOneOf as BookedEntityItemOneOf,\n      bookingsV2PriceInfo_universal_d_BookedSlot as BookedSlot,\n      bookingsV2PriceInfo_universal_d_BookedResource as BookedResource,\n      bookingsV2PriceInfo_universal_d_Location as Location,\n      bookingsV2PriceInfo_universal_d_LocationType as LocationType,\n      bookingsV2PriceInfo_universal_d_BookedSchedule as BookedSchedule,\n      bookingsV2PriceInfo_universal_d_ContactDetails as ContactDetails,\n      bookingsV2PriceInfo_universal_d_Address as Address,\n      bookingsV2PriceInfo_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      bookingsV2PriceInfo_universal_d_StreetAddress as StreetAddress,\n      bookingsV2PriceInfo_universal_d_AddressLocation as AddressLocation,\n      bookingsV2PriceInfo_universal_d_Subdivision as Subdivision,\n      bookingsV2PriceInfo_universal_d_CustomFormField as CustomFormField,\n      bookingsV2PriceInfo_universal_d_ValueType as ValueType,\n      bookingsV2PriceInfo_universal_d_BookingStatus as BookingStatus,\n      bookingsV2PriceInfo_universal_d_PaymentStatus as PaymentStatus,\n      bookingsV2PriceInfo_universal_d_SelectedPaymentOption as SelectedPaymentOption,\n      bookingsV2PriceInfo_universal_d_BookingSource as BookingSource,\n      bookingsV2PriceInfo_universal_d_Platform as Platform,\n      bookingsV2PriceInfo_universal_d_Actor as Actor,\n      bookingsV2PriceInfo_universal_d_ParticipantNotification as ParticipantNotification,\n      bookingsV2PriceInfo_universal_d_IdentificationData as IdentificationData,\n      bookingsV2PriceInfo_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      bookingsV2PriceInfo_universal_d_IdentityType as IdentityType,\n      bookingsV2PriceInfo_universal_d_FlowControlSettings as FlowControlSettings,\n      bookingsV2PriceInfo_universal_d_ExtendedFields as ExtendedFields,\n      bookingsV2PriceInfo_universal_d_ParticipantChoices as ParticipantChoices,\n      bookingsV2PriceInfo_universal_d_ServiceChoices as ServiceChoices,\n      bookingsV2PriceInfo_universal_d_MultiServiceBookingInfo as MultiServiceBookingInfo,\n      bookingsV2PriceInfo_universal_d_CalculatePriceResponse as CalculatePriceResponse,\n      bookingsV2PriceInfo_universal_d_previewPrice as previewPrice,\n      bookingsV2PriceInfo_universal_d_calculatePrice as calculatePrice,\n    };\n  }\n  \n  export { bookingsV2BookingsAppSettings_universal_d as appSettings, bookingsV2Attendance_universal_d as attendance, bookingsAvailabilityV1SlotAvailability_universal_d as availabilityCalendar, bookingsAvailabilityV2TimeSlotAvailabilityTimeSlots_universal_d as availabilityTimeSlots, bookingsFeesV1BookingFee_universal_d as bookingFees, bookingsV1BookingPolicy_universal_d as bookingPolicies, bookingsPolicySnapshotsV1BookingPolicySnapshot_universal_d as bookingPolicySnapshots, bookingsV2Booking_universal_d as bookings, bookingsAvailabilityV2TimeSlotEventTimeSlots_universal_d as eventTimeSlots, bookingsReaderV2ExtendedBooking_universal_d as extendedBookings, bookingsCalendarV2ExternalCalendar_universal_d as externalCalendars, bookingsAvailabilityV2TimeSlotMultiServiceAvailabilityTimeSlots_universal_d as multiServiceAvailabilityTimeSlots, bookingsV2PriceInfo_universal_d as pricing, bookingsResourcesV2ResourceType_universal_d as resourceTypes, bookingsResourcesV2Resource_universal_d as resources, bookingsAvailabilityV2TimeSlot_universal_d as serviceAvailability, bookingsCatalogV1ServiceOptionsAndVariants_universal_d as serviceOptionsAndVariants, bookingsServicesV2Service_universal_d as services, bookingsStaffV1StaffMember_universal_d as staffMembers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-forum.v2.d.ts",
      "content": "declare module \"wix-forum.v2\" {\n  interface Category {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Category parent ID. */\n      parentId?: string | null;\n      /** Category name. */\n      name?: string | null;\n      /** Category header title. */\n      headerTitle?: string | null;\n      /** Category header type. */\n      headerType?: HeaderType;\n      /** Category header image. */\n      headerImage?: string;\n      /**\n       * Category header image overlay color.\n       * @internal\n       */\n      headerImageOverlayColor?: ColorComponent;\n      /**\n       * Category header background color.\n       * @internal\n       */\n      headerBackgroundColor?: ColorComponent;\n      /**\n       * Category header text color.\n       * @internal\n       */\n      headerTextColor?: ColorComponent;\n      /**\n       * The position of the category in the display order.\n       * @readonly\n       */\n      rank?: number | null;\n      /**\n       * Total number of posts in category.\n       * @readonly\n       */\n      postCount?: number | null;\n      /**\n       * Total number of post views in category.\n       * @readonly\n       */\n      postViewCount?: number | null;\n      /**\n       * Category slug.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Category URL.\n       * @readonly\n       */\n      url?: string;\n      /** Category description. */\n      description?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      postTypes?: PostType$1[];\n      /**\n       * Date category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Whether all site visitors and members (`PUBLIC`), all members (`MEMBERS_ONLY`), or only specific members and groups of members with roles, badges or paid subscriptions (`PRIVATE`) can access posts in category.\n       * @readonly\n       */\n      categoryAccess?: Access;\n      /** Date category was updated. */\n      _updatedDate?: Date | null;\n      /** Whether only admins and moderators can write posts in category. */\n      noMemberPosting?: boolean;\n      /**\n       * IDs of groups which can access category if `categoryAccess` is `'PRIVATE'`.\n       *\n       * @readonly\n       */\n      groups?: string[];\n      /** Defines what interactions may be applied on the comment under the posts created in this category. */\n      commentInteraction?: Interaction$1;\n      /**\n       * Defines which icon will be used for the main reaction on the comment under the posts created in this category.\n       *\n       * Default `type`: `\"LIKE\"`.\n       */\n      mainCommentReaction?: Reaction;\n      /** Defines what additional reactions may be applied on the comment under the posts created in this category. */\n      additionalCommentReactions?: Reaction[];\n      /** Defines what interactions may be applied on the posts created in this category, like or multiple reactions. */\n      postInteraction?: PostInteraction;\n      /**\n       * Defines which icon will be used for main reaction on the posts created in this category.\n       *\n       * Default `type`: `\"LIKE\"`.\n       */\n      mainPostReaction?: Reaction;\n      /** Defines what additional reactions may be applied on the posts created in this category. */\n      additionalPostReactions?: Reaction[];\n      /**\n       * Enables guest commenting under the posts created in this category.\n       * Default false.\n       * @internal\n       */\n      guestReactionsEnabled?: boolean;\n      /**\n       * Enables guest reactions in this category.\n       * Default false.\n       * @internal\n       */\n      guestCommentsEnabled?: boolean;\n      /**\n       * Defines order of comments under the posts created in this category.\n       * Default NEWEST.\n       * @internal\n       */\n      commentOrder?: CommentOrder;\n      /**\n       * Enables replies creation to comments under the posts created in this category.\n       * Default true.\n       * @internal\n       */\n      commentRepliesEnabled?: boolean | null;\n      /**\n       * Comment button label text.\n       * @internal\n       */\n      commentButtonLabel?: string | null;\n      /**\n       * Comment placeholder text.\n       * @internal\n       */\n      commentPlaceholderText?: string | null;\n      /**\n       * Comment section header text.\n       * @internal\n       */\n      commentSectionHeader?: string | null;\n      /**\n       * Category SEO data\n       * @internal\n       * @readonly\n       */\n      seoData?: SeoSchema;\n  }\n  enum HeaderType {\n      NONE = \"NONE\",\n      COLOR = \"COLOR\",\n      IMAGE = \"IMAGE\"\n  }\n  interface FocalPoint$1 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface ColorComponent {\n      /** Hex Color Code */\n      color?: string | null;\n      /** Opacity (from 0 to 1) */\n      opacity?: number | null;\n  }\n  enum PostType$1 {\n      DISCUSSION = \"DISCUSSION\",\n      QUESTION = \"QUESTION\"\n  }\n  enum Access {\n      UNKNOWN = \"UNKNOWN\",\n      PUBLIC = \"PUBLIC\",\n      MEMBERS_ONLY = \"MEMBERS_ONLY\",\n      PRIVATE = \"PRIVATE\"\n  }\n  enum Interaction$1 {\n      UNKNOWN = \"UNKNOWN\",\n      REACTION = \"REACTION\",\n      VOTE = \"VOTE\",\n      NONE = \"NONE\"\n  }\n  interface Reaction extends ReactionReactionOneOf {\n      type?: Type;\n      /** @readonly */\n      code?: string | null;\n  }\n  /** @oneof */\n  interface ReactionReactionOneOf {\n      type?: Type;\n  }\n  enum Type {\n      LIKE = \"LIKE\",\n      ANGRY = \"ANGRY\",\n      CLAP = \"CLAP\",\n      LOVE = \"LOVE\",\n      HAHA = \"HAHA\",\n      SAD = \"SAD\",\n      SMILE = \"SMILE\",\n      WOW = \"WOW\",\n      THINKING = \"THINKING\",\n      THUMBS_UP = \"THUMBS_UP\",\n      THUMBS_DOWN = \"THUMBS_DOWN\"\n  }\n  enum PostInteraction {\n      UNKNOWN = \"UNKNOWN\",\n      REACTION = \"REACTION\",\n      NONE = \"NONE\"\n  }\n  enum CommentOrder {\n      UNKNOWN = \"UNKNOWN\",\n      OLDEST = \"OLDEST\",\n      NEWEST = \"NEWEST\",\n      MOST_VOTES = \"MOST_VOTES\",\n      LEAST_VOTES = \"LEAST_VOTES\",\n      LOWEST_RATED = \"LOWEST_RATED\",\n      HIGHEST_RATED = \"HIGHEST_RATED\",\n      MOST_REACTIONS = \"MOST_REACTIONS\"\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface CategoryRequest {\n      /** ID of the retrieved category. */\n      categoryId: string;\n      /**\n       * Array of category fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned. `UNKNOWN` must not be passed.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: CategoryFieldField[];\n      /** Array of extra category fields to be added in the response. `UNKNOWN` must not be passed. */\n      extraFields?: Field$1[];\n  }\n  enum CategoryFieldField {\n      UNKNOWN = \"UNKNOWN\",\n      /** Includes the category's URL. */\n      URL = \"URL\"\n  }\n  enum Field$1 {\n      /** Undefined field. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Include the category's URL. */\n      URL = \"URL\"\n  }\n  interface CategoryResponse {\n      /** Retrieved category for the provided category ID. */\n      category?: Category;\n  }\n  interface CategorySlugRequest {\n      /** URL slug. */\n      slug: string;\n      /**\n       * Array of category fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned. `UNKNOWN` must not be passed.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: CategoryFieldField[];\n      /** Array of extra category fields to be added in the response. `UNKNOWN` must not be passed. */\n      extraFields?: Field$1[];\n  }\n  interface QueryCategoriesRequest {\n      /** Paging object (e.g., {limit: 10, offset: 100 } ) */\n      paging?: CategoriesPaging;\n      /** Filter object (e.g., { $and: [{ postViewCount: { $gt: 0 } }, { postCount: { $gt: 0 }] } ) */\n      filter?: Record<string, any> | null;\n      /** Array of sort objects (e.g.,  [{ fieldName: rank, order: Order.ASC }] ) */\n      sort?: CategoriesSort[];\n      /**\n       * Array of category fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned. `UNKNOWN` must not be passed.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: CategoryFieldField[];\n      /** Array of extra category fields to be added in the response. `UNKNOWN` must not be passed. */\n      extraFields?: Field$1[];\n      /**\n       * Allows to skip calculating meta data for response.\n       * @internal\n       */\n      skipMetaData?: boolean;\n  }\n  interface CategoriesPaging {\n      /** The number of items to load. */\n      limit?: number;\n      /** Number of items to skip in the current sort order. */\n      offset?: number;\n  }\n  interface CategoriesSort {\n      /**\n       * Records can be sorted by:\n       * rank\n       * postCount\n       * postViewCount\n       */\n      fieldName?: string;\n      /** Records can be sorted in ascending (default) or descending order. */\n      order?: Order$1;\n  }\n  enum Order$1 {\n      /** Sort by ascending order. */\n      ASC = \"ASC\",\n      /** Sort by descending order. */\n      DESC = \"DESC\"\n  }\n  interface QueryCategoriesResponse {\n      /** List of categories. */\n      categories?: Category[];\n      /** Pagination. */\n      metaData?: QueryCategoriesResponseMetaData;\n  }\n  interface QueryCategoriesResponseMetaData {\n      /** Total number of records returned. */\n      count?: number;\n      /** Offset of records. */\n      offset?: number;\n      /** Total number of records that match the filters. */\n      total?: number;\n  }\n  interface MarkCategoryReadRequest {\n      /** ID of the read category. */\n      categoryId: string;\n  }\n  interface MarkCategoryReadResponse {\n  }\n  interface MarkAllPostsAsReadRequest {\n      /** ID of the read posts category. */\n      categoryId?: string;\n  }\n  interface MarkAllPostsAsReadResponse {\n  }\n  interface CreateCategoryRequest {\n      category?: Category;\n  }\n  interface UpdateCategoryRequest {\n      /** ID of category. */\n      categoryId: string;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Editable category data. */\n      category?: Category;\n  }\n  interface DeleteCategoryRequest {\n      /** ID of category. */\n      categoryId: string;\n  }\n  interface DeleteCategoryResponse {\n      category?: Category;\n  }\n  interface SubscribeContactToCategoryRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** Contact ID. */\n      contactId?: string | null;\n  }\n  interface SubscribeContactToCategoryResponse {\n  }\n  interface UnsubscribeContactFromCategoryRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** Contact ID. */\n      contactId?: string | null;\n  }\n  interface UnsubscribeContactFromCategoryResponse {\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Returns a single category by ID.\n   * @param categoryId - ID of the retrieved category.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @param options - Options specifying which fields to return.\n   * @permissionId WIX_FORUM.CATEGORY_READ\n   * @adminMethod\n   * @returns Retrieved category for the provided category ID.\n   */\n  function getCategory(categoryId: string, options?: GetCategoryOptions): Promise<Category>;\n  interface GetCategoryOptions {\n      /**\n       * Array of category fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned. `UNKNOWN` must not be passed.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: CategoryFieldField[];\n      /** Array of extra category fields to be included in the response. */\n      extraFields?: Field$1[];\n  }\n  /**\n   * Returns a single category by URL slug.\n   * @param slug - URL slug.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField slug\n   * @param options - Options specifying which fields to return.\n   * @permissionId WIX_FORUM.CATEGORY_READ\n   * @adminMethod\n   */\n  function getCategoryBySlug(slug: string, options?: GetCategoryBySlugOptions): Promise<CategoryResponse>;\n  interface GetCategoryBySlugOptions {\n      /**\n       * Array of category fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned. `UNKNOWN` must not be passed.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: CategoryFieldField[];\n      /** Array of extra category fields to be included in the response. */\n      extraFields?: Field$1[];\n  }\n  /**\n   * Retrieves a list of categories, given the provided paging, filtering, and sorting.\n   *\n   * Query Categories runs with these defaults, which you can override:\n   *\n   * - `paging.limit` is `10`\n   * - `paging.offset` is `0`\n   *\n   * For field support for filters and sorting,\n   * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-forum/wix-forum/filter-and-sort#category-api-supported-filters-and-sorting).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options for sorting, filtering, paging, and specifying return fields.\n   * @permissionId WIX_FORUM.CATEGORY_READ\n   * @adminMethod\n   */\n  function queryCategories(options?: QueryCategoriesOptions): Promise<QueryCategoriesResponse>;\n  interface QueryCategoriesOptions {\n      /** Paging object (e.g., {limit: 10, offset: 100 } ) */\n      paging?: CategoriesPaging;\n      /** Filter object (e.g., { $and: [{ postViewCount: { $gt: 0 } }, { postCount: { $gt: 0 }] } ) */\n      filter?: Record<string, any> | null;\n      /** Array of sort objects (e.g.,  [{ fieldName: rank, order: Order.ASC }] ) */\n      sort?: CategoriesSort[];\n      /**\n       * Array of category fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned. `UNKNOWN` must not be passed.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: CategoryFieldField[];\n      /** Array of extra category fields to be included in the response. */\n      extraFields?: Field$1[];\n      /**\n       * Allows to skip calculating meta data for response.\n       * @internal\n       */\n      skipMetaData?: boolean;\n  }\n  /**\n   * Marks category as read for identity who made a request.\n   * @param categoryId - ID of the read category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @permissionId WIX_FORUM.CATEGORY_MARK_READ\n   * @adminMethod\n   */\n  function markCategoryRead(categoryId: string): Promise<void>;\n  /**\n   * Marks all category posts as read for identity who made a request. If categoryId is not provided it marks all posts in the forum as read\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_FORUM.POST_MARK_READ\n   * @adminMethod\n   */\n  function markAllPostsAsRead(options?: MarkAllPostsAsReadOptions): Promise<void>;\n  interface MarkAllPostsAsReadOptions {\n      /** ID of the read posts category. */\n      categoryId?: string;\n  }\n  /**\n   * Creates a new category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.category.description\n   * @requiredField options.category.name\n   * @permissionId WIX_FORUM.CATEGORY_CREATE\n   * @adminMethod\n   * @returns Retrieved category for the provided category ID.\n   */\n  function createCategory(options?: CreateCategoryOptions): Promise<Category>;\n  interface CreateCategoryOptions {\n      category?: Category;\n  }\n  /**\n   * Updates a category's fields according to `fieldMask`.\n   * @param categoryId - ID of category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @permissionId WIX_FORUM.CATEGORY_EDIT\n   * @adminMethod\n   * @returns Retrieved category for the provided category ID.\n   */\n  function updateCategory(categoryId: string, options?: UpdateCategoryOptions): Promise<Category>;\n  interface UpdateCategoryOptions {\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Editable category data. */\n      category?: Category;\n  }\n  /**\n   * Deletes a category (only if it is not last category).\n   * @param categoryId - ID of category.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @permissionId WIX_FORUM.CATEGORY_DELETE\n   * @adminMethod\n   */\n  function deleteCategory(categoryId: string): Promise<DeleteCategoryResponse>;\n  /**\n   * Subscribes a contact to a specific forum category.\n   *\n   * By default a contact isn't subscribed to any forum categories.\n   *\n   * By subscribing a contact to a category, the contact receives notifications for that category.\n   *\n   * If `contactId` is not provided, it is implicitly resolved from the caller's context.\n   * @param categoryId - Category ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @param options - Options for subscribing the contact.\n   * @permissionId WIX_FORUM.CATEGORY_SUBSCRIBE\n   * @permissionId WIX_FORUM.CATEGORY_SUBSCRIBE_OVERRIDE_CONTACT_ID\n   * @adminMethod\n   */\n  function subscribeContactToCategory(categoryId: string, options?: SubscribeContactToCategoryOptions): Promise<void>;\n  interface SubscribeContactToCategoryOptions {\n      /** Contact ID. */\n      contactId?: string | null;\n  }\n  /**\n   * Unsubscribes a contact from a specific forum category.\n   *\n   *\n   * By default a contact isn't subscribed to any forum categories.\n   *\n   * By unsubscribing a contact from a category, the contact won’t receive notifications for that category.\n   *\n   * If `contactId` is not provided, it is implicitly resolved from the caller's context.\n   * @param categoryId - Category ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @param options - Options for unsubscribing the contact.\n   * @permissionId WIX_FORUM.CATEGORY_SUBSCRIBE\n   * @permissionId WIX_FORUM.CATEGORY_SUBSCRIBE_OVERRIDE_CONTACT_ID\n   * @adminMethod\n   */\n  function unsubscribeContactFromCategory(categoryId: string, options?: UnsubscribeContactFromCategoryOptions): Promise<void>;\n  interface UnsubscribeContactFromCategoryOptions {\n      /** Contact ID. */\n      contactId?: string | null;\n  }\n  \n  type forumV1Category_universal_d_Category = Category;\n  type forumV1Category_universal_d_HeaderType = HeaderType;\n  const forumV1Category_universal_d_HeaderType: typeof HeaderType;\n  type forumV1Category_universal_d_ColorComponent = ColorComponent;\n  type forumV1Category_universal_d_Access = Access;\n  const forumV1Category_universal_d_Access: typeof Access;\n  type forumV1Category_universal_d_Reaction = Reaction;\n  type forumV1Category_universal_d_ReactionReactionOneOf = ReactionReactionOneOf;\n  type forumV1Category_universal_d_Type = Type;\n  const forumV1Category_universal_d_Type: typeof Type;\n  type forumV1Category_universal_d_PostInteraction = PostInteraction;\n  const forumV1Category_universal_d_PostInteraction: typeof PostInteraction;\n  type forumV1Category_universal_d_CommentOrder = CommentOrder;\n  const forumV1Category_universal_d_CommentOrder: typeof CommentOrder;\n  type forumV1Category_universal_d_SeoSchema = SeoSchema;\n  type forumV1Category_universal_d_Keyword = Keyword;\n  type forumV1Category_universal_d_Tag = Tag;\n  type forumV1Category_universal_d_Settings = Settings;\n  type forumV1Category_universal_d_CategoryRequest = CategoryRequest;\n  type forumV1Category_universal_d_CategoryFieldField = CategoryFieldField;\n  const forumV1Category_universal_d_CategoryFieldField: typeof CategoryFieldField;\n  type forumV1Category_universal_d_CategoryResponse = CategoryResponse;\n  type forumV1Category_universal_d_CategorySlugRequest = CategorySlugRequest;\n  type forumV1Category_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n  type forumV1Category_universal_d_CategoriesPaging = CategoriesPaging;\n  type forumV1Category_universal_d_CategoriesSort = CategoriesSort;\n  type forumV1Category_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n  type forumV1Category_universal_d_QueryCategoriesResponseMetaData = QueryCategoriesResponseMetaData;\n  type forumV1Category_universal_d_MarkCategoryReadRequest = MarkCategoryReadRequest;\n  type forumV1Category_universal_d_MarkCategoryReadResponse = MarkCategoryReadResponse;\n  type forumV1Category_universal_d_MarkAllPostsAsReadRequest = MarkAllPostsAsReadRequest;\n  type forumV1Category_universal_d_MarkAllPostsAsReadResponse = MarkAllPostsAsReadResponse;\n  type forumV1Category_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type forumV1Category_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type forumV1Category_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type forumV1Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  type forumV1Category_universal_d_SubscribeContactToCategoryRequest = SubscribeContactToCategoryRequest;\n  type forumV1Category_universal_d_SubscribeContactToCategoryResponse = SubscribeContactToCategoryResponse;\n  type forumV1Category_universal_d_UnsubscribeContactFromCategoryRequest = UnsubscribeContactFromCategoryRequest;\n  type forumV1Category_universal_d_UnsubscribeContactFromCategoryResponse = UnsubscribeContactFromCategoryResponse;\n  const forumV1Category_universal_d_getCategory: typeof getCategory;\n  type forumV1Category_universal_d_GetCategoryOptions = GetCategoryOptions;\n  const forumV1Category_universal_d_getCategoryBySlug: typeof getCategoryBySlug;\n  type forumV1Category_universal_d_GetCategoryBySlugOptions = GetCategoryBySlugOptions;\n  const forumV1Category_universal_d_queryCategories: typeof queryCategories;\n  type forumV1Category_universal_d_QueryCategoriesOptions = QueryCategoriesOptions;\n  const forumV1Category_universal_d_markCategoryRead: typeof markCategoryRead;\n  const forumV1Category_universal_d_markAllPostsAsRead: typeof markAllPostsAsRead;\n  type forumV1Category_universal_d_MarkAllPostsAsReadOptions = MarkAllPostsAsReadOptions;\n  const forumV1Category_universal_d_createCategory: typeof createCategory;\n  type forumV1Category_universal_d_CreateCategoryOptions = CreateCategoryOptions;\n  const forumV1Category_universal_d_updateCategory: typeof updateCategory;\n  type forumV1Category_universal_d_UpdateCategoryOptions = UpdateCategoryOptions;\n  const forumV1Category_universal_d_deleteCategory: typeof deleteCategory;\n  const forumV1Category_universal_d_subscribeContactToCategory: typeof subscribeContactToCategory;\n  type forumV1Category_universal_d_SubscribeContactToCategoryOptions = SubscribeContactToCategoryOptions;\n  const forumV1Category_universal_d_unsubscribeContactFromCategory: typeof unsubscribeContactFromCategory;\n  type forumV1Category_universal_d_UnsubscribeContactFromCategoryOptions = UnsubscribeContactFromCategoryOptions;\n  namespace forumV1Category_universal_d {\n    export {\n      forumV1Category_universal_d_Category as Category,\n      forumV1Category_universal_d_HeaderType as HeaderType,\n      FocalPoint$1 as FocalPoint,\n      forumV1Category_universal_d_ColorComponent as ColorComponent,\n      PostType$1 as PostType,\n      forumV1Category_universal_d_Access as Access,\n      Interaction$1 as Interaction,\n      forumV1Category_universal_d_Reaction as Reaction,\n      forumV1Category_universal_d_ReactionReactionOneOf as ReactionReactionOneOf,\n      forumV1Category_universal_d_Type as Type,\n      forumV1Category_universal_d_PostInteraction as PostInteraction,\n      forumV1Category_universal_d_CommentOrder as CommentOrder,\n      forumV1Category_universal_d_SeoSchema as SeoSchema,\n      forumV1Category_universal_d_Keyword as Keyword,\n      forumV1Category_universal_d_Tag as Tag,\n      forumV1Category_universal_d_Settings as Settings,\n      forumV1Category_universal_d_CategoryRequest as CategoryRequest,\n      forumV1Category_universal_d_CategoryFieldField as CategoryFieldField,\n      Field$1 as Field,\n      forumV1Category_universal_d_CategoryResponse as CategoryResponse,\n      forumV1Category_universal_d_CategorySlugRequest as CategorySlugRequest,\n      forumV1Category_universal_d_QueryCategoriesRequest as QueryCategoriesRequest,\n      forumV1Category_universal_d_CategoriesPaging as CategoriesPaging,\n      forumV1Category_universal_d_CategoriesSort as CategoriesSort,\n      Order$1 as Order,\n      forumV1Category_universal_d_QueryCategoriesResponse as QueryCategoriesResponse,\n      forumV1Category_universal_d_QueryCategoriesResponseMetaData as QueryCategoriesResponseMetaData,\n      forumV1Category_universal_d_MarkCategoryReadRequest as MarkCategoryReadRequest,\n      forumV1Category_universal_d_MarkCategoryReadResponse as MarkCategoryReadResponse,\n      forumV1Category_universal_d_MarkAllPostsAsReadRequest as MarkAllPostsAsReadRequest,\n      forumV1Category_universal_d_MarkAllPostsAsReadResponse as MarkAllPostsAsReadResponse,\n      forumV1Category_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      forumV1Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      forumV1Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      forumV1Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      forumV1Category_universal_d_SubscribeContactToCategoryRequest as SubscribeContactToCategoryRequest,\n      forumV1Category_universal_d_SubscribeContactToCategoryResponse as SubscribeContactToCategoryResponse,\n      forumV1Category_universal_d_UnsubscribeContactFromCategoryRequest as UnsubscribeContactFromCategoryRequest,\n      forumV1Category_universal_d_UnsubscribeContactFromCategoryResponse as UnsubscribeContactFromCategoryResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      forumV1Category_universal_d_getCategory as getCategory,\n      forumV1Category_universal_d_GetCategoryOptions as GetCategoryOptions,\n      forumV1Category_universal_d_getCategoryBySlug as getCategoryBySlug,\n      forumV1Category_universal_d_GetCategoryBySlugOptions as GetCategoryBySlugOptions,\n      forumV1Category_universal_d_queryCategories as queryCategories,\n      forumV1Category_universal_d_QueryCategoriesOptions as QueryCategoriesOptions,\n      forumV1Category_universal_d_markCategoryRead as markCategoryRead,\n      forumV1Category_universal_d_markAllPostsAsRead as markAllPostsAsRead,\n      forumV1Category_universal_d_MarkAllPostsAsReadOptions as MarkAllPostsAsReadOptions,\n      forumV1Category_universal_d_createCategory as createCategory,\n      forumV1Category_universal_d_CreateCategoryOptions as CreateCategoryOptions,\n      forumV1Category_universal_d_updateCategory as updateCategory,\n      forumV1Category_universal_d_UpdateCategoryOptions as UpdateCategoryOptions,\n      forumV1Category_universal_d_deleteCategory as deleteCategory,\n      forumV1Category_universal_d_subscribeContactToCategory as subscribeContactToCategory,\n      forumV1Category_universal_d_SubscribeContactToCategoryOptions as SubscribeContactToCategoryOptions,\n      forumV1Category_universal_d_unsubscribeContactFromCategory as unsubscribeContactFromCategory,\n      forumV1Category_universal_d_UnsubscribeContactFromCategoryOptions as UnsubscribeContactFromCategoryOptions,\n    };\n  }\n  \n  interface Post {\n      /**\n       * Post ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Category ID the post is listed under. */\n      categoryId?: string;\n      /**\n       * Post owner's member ID.\n       * @readonly\n       */\n      ownerId?: string | null;\n      /** Post title. */\n      title?: string | null;\n      /** The post content in plain text. */\n      contentText?: string | null;\n      /**\n       * Total number of post comments.\n       * @readonly\n       */\n      commentCount?: number | null;\n      /**\n       * Total number of post likes.\n       * @readonly\n       */\n      likeCount?: number | null;\n      /**\n       * Total number of post views.\n       * @readonly\n       */\n      viewCount?: number | null;\n      /**\n       * Date post was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date of latest activity on this post. For example, date the latest comment was added to post.\n       *\n       * @readonly\n       */\n      lastActivityDate?: Date | null;\n      /**\n       * Post URL.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Post slug.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      bestAnswerCommentId?: string | null;\n      /**\n       * Post type. Question type posts allows comments to be voted on. This can not be changed after post is created.\n       * Deprecated on '2021-08-03'.\n       * @internal\n       * @deprecated\n       */\n      postType?: PostType;\n      /**\n       * Contact Id of post owner.\n       * Currently exposed only in created domain event.\n       * @internal\n       * @readonly\n       */\n      ownerContactId?: string | null;\n      /**\n       * The post content as a stringified RichContent document.\n       * @internal\n       * @readonly\n       */\n      content?: string | null;\n      /**\n       * Images from post content.\n       * @readonly\n       */\n      images?: string[];\n      /**\n       * Videos from post content.\n       * @readonly\n       */\n      videos?: string[];\n      /** Whether the post is pinned. Places the post at the top of the post list. */\n      pinned?: boolean | null;\n      /** Whether post is closed and commenting is disabled. */\n      closed?: boolean | null;\n      /** Date post was updated. */\n      _updatedDate?: Date | null;\n      /** Defines what interactions may be applied on the comment under the post. */\n      commentInteraction?: Interaction;\n      /**\n       * IDs of the marked comments for this post (selected by forum admin or post owner).\n       *\n       * @readonly\n       */\n      markedComments?: string[];\n      /**\n       * Recent activity of post. For example, a comment added to a post.\n       * @readonly\n       */\n      recentActivity?: RecentActivity;\n      /**\n       * Total number of comment reactions.\n       * @internal\n       * @readonly\n       */\n      reactionCount?: number;\n      /**\n       * List of different reactions counts.\n       * @internal\n       * @readonly\n       */\n      reactionCodeCounts?: ReactionCodeCount[];\n      /**\n       * List of reaction identities grouped by reaction code.\n       * @readonly\n       */\n      reactionIdentities?: ReactionIdentity[];\n  }\n  enum PostType {\n      DISCUSSION = \"DISCUSSION\",\n      QUESTION = \"QUESTION\"\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  enum Interaction {\n      UNKNOWN = \"UNKNOWN\",\n      REACTION = \"REACTION\",\n      VOTE = \"VOTE\",\n      NONE = \"NONE\"\n  }\n  interface RecentActivity extends RecentActivityInitiatorOneOf {\n      /** Site member ID. */\n      memberId?: string;\n      /** ID of recent activity entity. */\n      entityId?: string;\n      /** Type of entity. */\n      type?: EntityType;\n      /** Date activity was created. */\n      activityDate?: string;\n  }\n  /** @oneof */\n  interface RecentActivityInitiatorOneOf {\n      /** Site member ID. */\n      memberId?: string;\n  }\n  enum EntityType {\n      UNKNOWN = \"UNKNOWN\",\n      COMMENT = \"COMMENT\",\n      REPLY = \"REPLY\"\n  }\n  interface ReactionCodeCount {\n      /** Reaction code. */\n      reactionCode?: string;\n      /** Total number of reaction. */\n      count?: number;\n  }\n  interface ReactionIdentity {\n      /** Reaction code. */\n      reactionCode?: string;\n      /**\n       * Reacted identities.\n       * @readonly\n       */\n      identities?: Identity[];\n      /** Total number of reacted identities count. */\n      count?: number;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      VISITOR = \"VISITOR\",\n      MEMBER = \"MEMBER\"\n  }\n  interface Identity {\n      /** Identity ID. */\n      identityId?: string;\n      /** Reacted identity type. */\n      identityType?: IdentityType;\n  }\n  interface Moved {\n      /** Old category ID. */\n      oldCategoryId?: string;\n      /** New current category ID. */\n      currentCategoryId?: string;\n      /** ID of the moved post. */\n      postId?: string;\n  }\n  interface Liked {\n      /** ID of the liked post. */\n      postId?: string;\n  }\n  interface Unliked {\n      /** ID of the unliked post. */\n      postId?: string;\n  }\n  interface Pinned {\n      /** ID of the pinned post. */\n      postId?: string;\n  }\n  interface Unpinned {\n      /** ID of the unpinned post. */\n      postId?: string;\n  }\n  interface Closed {\n      /** ID of the closed post. */\n      postId?: string;\n  }\n  interface Opened {\n      /** ID of the opened post. */\n      postId?: string;\n  }\n  interface Reported {\n      /** Type of report. */\n      reportType?: ReportType;\n      /** ID of the reported post. */\n      postId?: string;\n  }\n  enum ReportType {\n      OFFENSIVE_CONTENT = \"OFFENSIVE_CONTENT\",\n      OFFENSIVE_MEDIA = \"OFFENSIVE_MEDIA\",\n      SPAM = \"SPAM\"\n  }\n  interface Reacted {\n      postId?: string;\n      reactionCode?: string;\n  }\n  interface Unreacted {\n      postId?: string;\n      reactionCode?: string;\n  }\n  interface PostRequest {\n      /** Post ID. */\n      postId: string;\n      /**\n       * Array of post fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** Array of extra post fields to be added in the response. */\n      extraFields?: Field[];\n  }\n  enum PostFieldField {\n      UNKNOWN = \"UNKNOWN\",\n      /** Includes Post content as a stringified DraftJS document (internal only). */\n      CONTENT = \"CONTENT\",\n      /** Includes images from Post content (internal only). */\n      IMAGES = \"IMAGES\",\n      /** Includes videos from Post content (internal only). */\n      VIDEOS = \"VIDEOS\",\n      /** Includes Post URL. */\n      URL = \"URL\",\n      /** Includes Post content as a stringified Rich Content document (internal only). */\n      RICH_CONTENT = \"RICH_CONTENT\"\n  }\n  enum Field {\n      /** Undefined field type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Include images from post content. */\n      IMAGES = \"IMAGES\",\n      /** Include videos from post content. */\n      VIDEOS = \"VIDEOS\",\n      /** Include post URL. */\n      URL = \"URL\",\n      /** Include reaction identities. */\n      REACTION_IDENTITIES = \"REACTION_IDENTITIES\"\n  }\n  interface PostResponse {\n      /** Post for the provided post ID. */\n      post?: Post;\n  }\n  interface PostSlugRequest {\n      /** URL slug. */\n      slug: string;\n      /**\n       * Array of post fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** Array of extra post fields to be added in the response. */\n      extraFields?: Field[];\n  }\n  interface QueryPostsRequest {\n      /** Paging object (e.g., { limit: 10, offset: 100 } ). */\n      paging?: PostsPaging;\n      /** Filter object (e.g., { $and: [{ ownerId: { eq: 'ownerId' } }, { likeCount: { $gt: 0 }] } ). */\n      filter?: Record<string, any> | null;\n      /** Array of sort objects (e.g.,  [{ fieldName: createdDate, order: Order.ASC }] ). */\n      sort?: PostsSort[];\n      /**\n       * Array of post fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** Array of extra post fields to be added in the response. */\n      extraFields?: Field[];\n      /**\n       * Allows to skip calculating meta data for response.\n       * @internal\n       */\n      skipMetaData?: boolean;\n  }\n  interface PostsPaging {\n      /** The number of items to load. */\n      limit?: number;\n      /** Number of items to skip in the current sort order. */\n      offset?: number;\n  }\n  interface PostsSort {\n      /**\n       * Records can be sorted by:\n       * lastActivityDate\n       * createdDate\n       * commentCount\n       * viewCount\n       * likeCount\n       * isPinned\n       */\n      fieldName?: string;\n      /** Records can be sorted in ascending (default) or descending order. */\n      order?: Order;\n  }\n  enum Order {\n      /** Sort by ascending order. */\n      ASC = \"ASC\",\n      /** Sort by descending order. */\n      DESC = \"DESC\"\n  }\n  interface QueryPostsResponse {\n      /** List of posts. */\n      posts?: Post[];\n      /** Pagination. */\n      metaData?: QueryPostsResponseMetaData;\n  }\n  interface QueryPostsResponseMetaData {\n      /** Total number of records returned. */\n      count?: number;\n      /** Offset of records. */\n      offset?: number;\n      /** Total number of records that match the filters. */\n      total?: number;\n  }\n  interface ViewPostRequest {\n      /** ID of the read post. */\n      postId: string;\n  }\n  interface ViewPostResponse {\n  }\n  interface MarkPostReadRequest {\n      /** ID of the read post. */\n      postId: string;\n  }\n  interface MarkPostReadResponse {\n  }\n  interface MarkPostsSeenRequest {\n      /** IDs of the seen posts. */\n      postsIds?: string[];\n  }\n  interface MarkPostsSeenResponse {\n  }\n  interface MarkPostUnreadRequest {\n      /** ID of the unread post. */\n      postId: string;\n  }\n  interface MarkPostUnreadResponse {\n  }\n  interface CreatePostRequest {\n      /** New post to create. */\n      post?: Post;\n  }\n  interface CreatePostResponse {\n      /** Created post. */\n      post?: Post;\n  }\n  interface UpdatePostRequest {\n      /** ID of the post to update. */\n      postId: string;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Post data with partial data to update. */\n      post?: Post;\n  }\n  interface UpdatePostResponse {\n      /** Updated post. */\n      post?: Post;\n  }\n  interface DeletePostRequest {\n      /** ID of the post to delete. */\n      postId: string;\n  }\n  interface DeletePostResponse {\n      /** Deleted post. */\n      post?: Post;\n  }\n  interface SetBestAnswerRequest {\n      /** Post ID. */\n      postId: string;\n      /** ID of the \"best answer\" comment on the post. */\n      commentId: string;\n  }\n  interface SetBestAnswerResponse {\n  }\n  interface RemoveBestAnswerRequest {\n      /** Post ID */\n      postId: string;\n  }\n  interface RemoveBestAnswerResponse {\n  }\n  interface PinPostRequest {\n      /** Post ID */\n      postId: string;\n      /** The amount of minutes after which the pin will be removed (unpinned) */\n      expiresInMinutes?: number | null;\n  }\n  interface PinPostResponse {\n  }\n  interface UnpinPostRequest {\n      /** Post ID */\n      postId: string;\n  }\n  interface UnpinPostResponse {\n  }\n  interface AddReactionRequest {\n      /** Post ID */\n      postId: string;\n      /** Code of reaction to add. */\n      reactionCode: string;\n  }\n  interface AddReactionResponse {\n      /**\n       * Total number of comment reactions.\n       * @readonly\n       */\n      reactionCount?: number;\n      /**\n       * List of reacted identities grouped by reaction code.\n       * @readonly\n       */\n      reactionIdentities?: ReactionIdentity[];\n  }\n  interface RemoveReactionRequest {\n      /** Post ID */\n      postId: string;\n      /** Code of reaction to remove. */\n      reactionCode: string;\n  }\n  interface RemoveReactionResponse {\n      /**\n       * Total number of comment reactions.\n       * @readonly\n       */\n      reactionCount?: number;\n      /**\n       * List of reacted identities grouped by reaction code.\n       * @readonly\n       */\n      reactionIdentities?: ReactionIdentity[];\n  }\n  interface ReportPostRequest {\n      /** Post ID */\n      postId: string;\n      /** Type of report. */\n      reportType?: ReportType;\n  }\n  interface ReportPostResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a single post by ID.\n   * @param postId - Post ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @param options - Options specifying which additional fields to return.\n   * @permissionId WIX_FORUM.POST_READ\n   * @adminMethod\n   * @returns Post for the provided post ID.\n   */\n  function getPost(postId: string, options?: GetPostOptions): Promise<Post>;\n  interface GetPostOptions {\n      /**\n       * Array of post fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** Array of extra post fields to be included in the response. */\n      extraFields?: Field[];\n  }\n  /**\n   * Retrieves a single post by URL slug.\n   * @param slug - URL slug.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField slug\n   * @param options - Options specifying which additional fields to return.\n   * @permissionId WIX_FORUM.POST_READ\n   * @adminMethod\n   */\n  function getPostBySlug(slug: string, options?: GetPostBySlugOptions): Promise<PostResponse>;\n  interface GetPostBySlugOptions {\n      /**\n       * Array of post fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** Array of extra post fields to be included in the response. */\n      extraFields?: Field[];\n  }\n  /**\n   * Returns a list of posts by query.\n   *\n   * Paging\n   * - limit: default - 10, min - 0, max - 100\n   * - offset: default - 0, min - 0\n   *\n   * Filterable fields:\n   * - id\n   * - categoryId\n   * - ownerId\n   * - title\n   * - contentText\n   * - bestAnswerCommentId\n   * - pinned\n   * - commentingEnabled\n   * - commentCount\n   * - likeCount\n   * - viewCount\n   * - createdDate\n   * - editedDate\n   * - lastActivityDate\n   * - slug\n   *\n   * Sortable fields:\n   * - lastActivityDate\n   * - createdDate\n   * - commentCount\n   * - viewCount\n   * - likeCount\n   * - pinned\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options for sorting, filtering, paging, and specifying return fields.\n   * @permissionId WIX_FORUM.POST_READ\n   * @adminMethod\n   */\n  function queryPosts(options?: QueryPostsOptions): Promise<QueryPostsResponse>;\n  interface QueryPostsOptions {\n      /** Paging object (e.g., { limit: 10, offset: 100 } ). */\n      paging?: PostsPaging;\n      /** Filter object (e.g., { $and: [{ ownerId: { eq: 'ownerId' } }, { likeCount: { $gt: 0 }] } ). */\n      filter?: Record<string, any> | null;\n      /** Array of sort objects (e.g.,  [{ fieldName: createdDate, order: Order.ASC }] ). */\n      sort?: PostsSort[];\n      /**\n       * Array of post fields to be included in the response. By default, any `fieldsToInclude` not passed are not returned.\n       * @internal\n       * @deprecated\n       */\n      fieldsToInclude?: PostFieldField[];\n      /** Array of extra post fields to be included in the response. */\n      extraFields?: Field[];\n      /**\n       * Allows to skip calculating meta data for response.\n       * @internal\n       */\n      skipMetaData?: boolean;\n  }\n  /**\n   * Increments postViewCount of the post.\n   * @param postId - ID of the read post.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId WIX_FORUM.POST_READ\n   * @adminMethod\n   */\n  function viewPost(postId: string): Promise<void>;\n  /**\n   * Marks post as read for identity who made a request.\n   * @param postId - ID of the read post.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId WIX_FORUM.POST_MARK_READ\n   * @adminMethod\n   */\n  function markPostRead(postId: string): Promise<void>;\n  /**\n   * Marks posts as seen for identity who made a request.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_FORUM.POST_MARK_SEEN\n   * @adminMethod\n   */\n  function markPostsSeen(options?: MarkPostsSeenOptions): Promise<void>;\n  interface MarkPostsSeenOptions {\n      /** IDs of the seen posts. */\n      postsIds?: string[];\n  }\n  /**\n   * Marks post as unread for identity who made a request.\n   * @param postId - ID of the unread post.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId WIX_FORUM.POST_MARK_READ\n   * @adminMethod\n   */\n  function markPostUnread(postId: string): Promise<void>;\n  /**\n   * Creates a new post.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.post.categoryId\n   * @requiredField options.post.title\n   * @permissionId WIX_FORUM.CATEGORY_CREATE_POST\n   * @adminMethod\n   * @returns Created post.\n   */\n  function createPost(options?: CreatePostOptions): Promise<Post>;\n  interface CreatePostOptions {\n      /** New post to create. */\n      post?: Post;\n  }\n  /**\n   * Updates post fields according to `fieldMask`.\n   * @param postId - ID of the post to update.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId WIX_FORUM.POST_EDIT\n   * @adminMethod\n   * @returns Updated post.\n   */\n  function updatePost(postId: string, options?: UpdatePostOptions): Promise<Post>;\n  interface UpdatePostOptions {\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Post data with partial data to update. */\n      post?: Post;\n  }\n  /**\n   * Deletes a post.\n   * @param postId - ID of the post to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId WIX_FORUM.POST_DELETE\n   * @adminMethod\n   */\n  function deletePost(postId: string): Promise<DeletePostResponse>;\n  /**\n   * Sets the \"best answer\" comment on a post.\n   * @param postId - Post ID.\n   * @param commentId - ID of the \"best answer\" comment on the post.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField commentId\n   * @requiredField postId\n   * @permissionId WIX_FORUM.POST_ADD_BEST_ANSWER_COMMENT\n   * @adminMethod\n   */\n  function setBestAnswer(postId: string, commentId: string): Promise<void>;\n  /**\n   * Removes \"best answer\" from a comment on a post.\n   * @param postId - Post ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId WIX_FORUM.POST_REMOVE_BEST_ANSWER_COMMENT\n   * @adminMethod\n   */\n  function removeBestAnswer(postId: string): Promise<void>;\n  /**\n   * Pins post\n   * @param postId - Post ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId WIX_FORUM.POST_PIN\n   * @adminMethod\n   */\n  function pinPost(postId: string, options?: PinPostOptions): Promise<void>;\n  interface PinPostOptions {\n      /** The amount of minutes after which the pin will be removed (unpinned) */\n      expiresInMinutes?: number | null;\n  }\n  /**\n   * Unpins post\n   * @param postId - Post ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId WIX_FORUM.POST_PIN\n   * @adminMethod\n   */\n  function unpinPost(postId: string): Promise<void>;\n  /**\n   * Adds reaction to post\n   * @param postId - Post ID\n   * @param reactionCode - Code of reaction to add.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @requiredField reactionCode\n   * @permissionId WIX_FORUM.POST_ADD_REACTION\n   * @adminMethod\n   */\n  function addReaction(postId: string, reactionCode: string): Promise<AddReactionResponse>;\n  /**\n   * Removes reaction from post\n   * @param postId - Post ID\n   * @param reactionCode - Code of reaction to remove.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @requiredField reactionCode\n   * @permissionId WIX_FORUM.POST_REMOVE_REACTION\n   * @adminMethod\n   */\n  function removeReaction(postId: string, reactionCode: string): Promise<RemoveReactionResponse>;\n  /**\n   * Report post\n   * @param postId - Post ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField postId\n   * @permissionId WIX_FORUM.POST_POST_REPORT\n   * @adminMethod\n   */\n  function reportPost(postId: string, options?: ReportPostOptions): Promise<void>;\n  interface ReportPostOptions {\n      /** Type of report. */\n      reportType?: ReportType;\n  }\n  \n  type forumV1Post_universal_d_Post = Post;\n  type forumV1Post_universal_d_PostType = PostType;\n  const forumV1Post_universal_d_PostType: typeof PostType;\n  type forumV1Post_universal_d_FocalPoint = FocalPoint;\n  type forumV1Post_universal_d_VideoResolution = VideoResolution;\n  type forumV1Post_universal_d_Interaction = Interaction;\n  const forumV1Post_universal_d_Interaction: typeof Interaction;\n  type forumV1Post_universal_d_RecentActivity = RecentActivity;\n  type forumV1Post_universal_d_RecentActivityInitiatorOneOf = RecentActivityInitiatorOneOf;\n  type forumV1Post_universal_d_EntityType = EntityType;\n  const forumV1Post_universal_d_EntityType: typeof EntityType;\n  type forumV1Post_universal_d_ReactionCodeCount = ReactionCodeCount;\n  type forumV1Post_universal_d_ReactionIdentity = ReactionIdentity;\n  type forumV1Post_universal_d_IdentityType = IdentityType;\n  const forumV1Post_universal_d_IdentityType: typeof IdentityType;\n  type forumV1Post_universal_d_Identity = Identity;\n  type forumV1Post_universal_d_Moved = Moved;\n  type forumV1Post_universal_d_Liked = Liked;\n  type forumV1Post_universal_d_Unliked = Unliked;\n  type forumV1Post_universal_d_Pinned = Pinned;\n  type forumV1Post_universal_d_Unpinned = Unpinned;\n  type forumV1Post_universal_d_Closed = Closed;\n  type forumV1Post_universal_d_Opened = Opened;\n  type forumV1Post_universal_d_Reported = Reported;\n  type forumV1Post_universal_d_ReportType = ReportType;\n  const forumV1Post_universal_d_ReportType: typeof ReportType;\n  type forumV1Post_universal_d_Reacted = Reacted;\n  type forumV1Post_universal_d_Unreacted = Unreacted;\n  type forumV1Post_universal_d_PostRequest = PostRequest;\n  type forumV1Post_universal_d_PostFieldField = PostFieldField;\n  const forumV1Post_universal_d_PostFieldField: typeof PostFieldField;\n  type forumV1Post_universal_d_Field = Field;\n  const forumV1Post_universal_d_Field: typeof Field;\n  type forumV1Post_universal_d_PostResponse = PostResponse;\n  type forumV1Post_universal_d_PostSlugRequest = PostSlugRequest;\n  type forumV1Post_universal_d_QueryPostsRequest = QueryPostsRequest;\n  type forumV1Post_universal_d_PostsPaging = PostsPaging;\n  type forumV1Post_universal_d_PostsSort = PostsSort;\n  type forumV1Post_universal_d_Order = Order;\n  const forumV1Post_universal_d_Order: typeof Order;\n  type forumV1Post_universal_d_QueryPostsResponse = QueryPostsResponse;\n  type forumV1Post_universal_d_QueryPostsResponseMetaData = QueryPostsResponseMetaData;\n  type forumV1Post_universal_d_ViewPostRequest = ViewPostRequest;\n  type forumV1Post_universal_d_ViewPostResponse = ViewPostResponse;\n  type forumV1Post_universal_d_MarkPostReadRequest = MarkPostReadRequest;\n  type forumV1Post_universal_d_MarkPostReadResponse = MarkPostReadResponse;\n  type forumV1Post_universal_d_MarkPostsSeenRequest = MarkPostsSeenRequest;\n  type forumV1Post_universal_d_MarkPostsSeenResponse = MarkPostsSeenResponse;\n  type forumV1Post_universal_d_MarkPostUnreadRequest = MarkPostUnreadRequest;\n  type forumV1Post_universal_d_MarkPostUnreadResponse = MarkPostUnreadResponse;\n  type forumV1Post_universal_d_CreatePostRequest = CreatePostRequest;\n  type forumV1Post_universal_d_CreatePostResponse = CreatePostResponse;\n  type forumV1Post_universal_d_UpdatePostRequest = UpdatePostRequest;\n  type forumV1Post_universal_d_UpdatePostResponse = UpdatePostResponse;\n  type forumV1Post_universal_d_DeletePostRequest = DeletePostRequest;\n  type forumV1Post_universal_d_DeletePostResponse = DeletePostResponse;\n  type forumV1Post_universal_d_SetBestAnswerRequest = SetBestAnswerRequest;\n  type forumV1Post_universal_d_SetBestAnswerResponse = SetBestAnswerResponse;\n  type forumV1Post_universal_d_RemoveBestAnswerRequest = RemoveBestAnswerRequest;\n  type forumV1Post_universal_d_RemoveBestAnswerResponse = RemoveBestAnswerResponse;\n  type forumV1Post_universal_d_PinPostRequest = PinPostRequest;\n  type forumV1Post_universal_d_PinPostResponse = PinPostResponse;\n  type forumV1Post_universal_d_UnpinPostRequest = UnpinPostRequest;\n  type forumV1Post_universal_d_UnpinPostResponse = UnpinPostResponse;\n  type forumV1Post_universal_d_AddReactionRequest = AddReactionRequest;\n  type forumV1Post_universal_d_AddReactionResponse = AddReactionResponse;\n  type forumV1Post_universal_d_RemoveReactionRequest = RemoveReactionRequest;\n  type forumV1Post_universal_d_RemoveReactionResponse = RemoveReactionResponse;\n  type forumV1Post_universal_d_ReportPostRequest = ReportPostRequest;\n  type forumV1Post_universal_d_ReportPostResponse = ReportPostResponse;\n  type forumV1Post_universal_d_DomainEvent = DomainEvent;\n  type forumV1Post_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type forumV1Post_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type forumV1Post_universal_d_RestoreInfo = RestoreInfo;\n  type forumV1Post_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type forumV1Post_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type forumV1Post_universal_d_ActionEvent = ActionEvent;\n  type forumV1Post_universal_d_MessageEnvelope = MessageEnvelope;\n  type forumV1Post_universal_d_IdentificationData = IdentificationData;\n  type forumV1Post_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type forumV1Post_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const forumV1Post_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const forumV1Post_universal_d_getPost: typeof getPost;\n  type forumV1Post_universal_d_GetPostOptions = GetPostOptions;\n  const forumV1Post_universal_d_getPostBySlug: typeof getPostBySlug;\n  type forumV1Post_universal_d_GetPostBySlugOptions = GetPostBySlugOptions;\n  const forumV1Post_universal_d_queryPosts: typeof queryPosts;\n  type forumV1Post_universal_d_QueryPostsOptions = QueryPostsOptions;\n  const forumV1Post_universal_d_viewPost: typeof viewPost;\n  const forumV1Post_universal_d_markPostRead: typeof markPostRead;\n  const forumV1Post_universal_d_markPostsSeen: typeof markPostsSeen;\n  type forumV1Post_universal_d_MarkPostsSeenOptions = MarkPostsSeenOptions;\n  const forumV1Post_universal_d_markPostUnread: typeof markPostUnread;\n  const forumV1Post_universal_d_createPost: typeof createPost;\n  type forumV1Post_universal_d_CreatePostOptions = CreatePostOptions;\n  const forumV1Post_universal_d_updatePost: typeof updatePost;\n  type forumV1Post_universal_d_UpdatePostOptions = UpdatePostOptions;\n  const forumV1Post_universal_d_deletePost: typeof deletePost;\n  const forumV1Post_universal_d_setBestAnswer: typeof setBestAnswer;\n  const forumV1Post_universal_d_removeBestAnswer: typeof removeBestAnswer;\n  const forumV1Post_universal_d_pinPost: typeof pinPost;\n  type forumV1Post_universal_d_PinPostOptions = PinPostOptions;\n  const forumV1Post_universal_d_unpinPost: typeof unpinPost;\n  const forumV1Post_universal_d_addReaction: typeof addReaction;\n  const forumV1Post_universal_d_removeReaction: typeof removeReaction;\n  const forumV1Post_universal_d_reportPost: typeof reportPost;\n  type forumV1Post_universal_d_ReportPostOptions = ReportPostOptions;\n  namespace forumV1Post_universal_d {\n    export {\n      forumV1Post_universal_d_Post as Post,\n      forumV1Post_universal_d_PostType as PostType,\n      forumV1Post_universal_d_FocalPoint as FocalPoint,\n      forumV1Post_universal_d_VideoResolution as VideoResolution,\n      forumV1Post_universal_d_Interaction as Interaction,\n      forumV1Post_universal_d_RecentActivity as RecentActivity,\n      forumV1Post_universal_d_RecentActivityInitiatorOneOf as RecentActivityInitiatorOneOf,\n      forumV1Post_universal_d_EntityType as EntityType,\n      forumV1Post_universal_d_ReactionCodeCount as ReactionCodeCount,\n      forumV1Post_universal_d_ReactionIdentity as ReactionIdentity,\n      forumV1Post_universal_d_IdentityType as IdentityType,\n      forumV1Post_universal_d_Identity as Identity,\n      forumV1Post_universal_d_Moved as Moved,\n      forumV1Post_universal_d_Liked as Liked,\n      forumV1Post_universal_d_Unliked as Unliked,\n      forumV1Post_universal_d_Pinned as Pinned,\n      forumV1Post_universal_d_Unpinned as Unpinned,\n      forumV1Post_universal_d_Closed as Closed,\n      forumV1Post_universal_d_Opened as Opened,\n      forumV1Post_universal_d_Reported as Reported,\n      forumV1Post_universal_d_ReportType as ReportType,\n      forumV1Post_universal_d_Reacted as Reacted,\n      forumV1Post_universal_d_Unreacted as Unreacted,\n      forumV1Post_universal_d_PostRequest as PostRequest,\n      forumV1Post_universal_d_PostFieldField as PostFieldField,\n      forumV1Post_universal_d_Field as Field,\n      forumV1Post_universal_d_PostResponse as PostResponse,\n      forumV1Post_universal_d_PostSlugRequest as PostSlugRequest,\n      forumV1Post_universal_d_QueryPostsRequest as QueryPostsRequest,\n      forumV1Post_universal_d_PostsPaging as PostsPaging,\n      forumV1Post_universal_d_PostsSort as PostsSort,\n      forumV1Post_universal_d_Order as Order,\n      forumV1Post_universal_d_QueryPostsResponse as QueryPostsResponse,\n      forumV1Post_universal_d_QueryPostsResponseMetaData as QueryPostsResponseMetaData,\n      forumV1Post_universal_d_ViewPostRequest as ViewPostRequest,\n      forumV1Post_universal_d_ViewPostResponse as ViewPostResponse,\n      forumV1Post_universal_d_MarkPostReadRequest as MarkPostReadRequest,\n      forumV1Post_universal_d_MarkPostReadResponse as MarkPostReadResponse,\n      forumV1Post_universal_d_MarkPostsSeenRequest as MarkPostsSeenRequest,\n      forumV1Post_universal_d_MarkPostsSeenResponse as MarkPostsSeenResponse,\n      forumV1Post_universal_d_MarkPostUnreadRequest as MarkPostUnreadRequest,\n      forumV1Post_universal_d_MarkPostUnreadResponse as MarkPostUnreadResponse,\n      forumV1Post_universal_d_CreatePostRequest as CreatePostRequest,\n      forumV1Post_universal_d_CreatePostResponse as CreatePostResponse,\n      forumV1Post_universal_d_UpdatePostRequest as UpdatePostRequest,\n      forumV1Post_universal_d_UpdatePostResponse as UpdatePostResponse,\n      forumV1Post_universal_d_DeletePostRequest as DeletePostRequest,\n      forumV1Post_universal_d_DeletePostResponse as DeletePostResponse,\n      forumV1Post_universal_d_SetBestAnswerRequest as SetBestAnswerRequest,\n      forumV1Post_universal_d_SetBestAnswerResponse as SetBestAnswerResponse,\n      forumV1Post_universal_d_RemoveBestAnswerRequest as RemoveBestAnswerRequest,\n      forumV1Post_universal_d_RemoveBestAnswerResponse as RemoveBestAnswerResponse,\n      forumV1Post_universal_d_PinPostRequest as PinPostRequest,\n      forumV1Post_universal_d_PinPostResponse as PinPostResponse,\n      forumV1Post_universal_d_UnpinPostRequest as UnpinPostRequest,\n      forumV1Post_universal_d_UnpinPostResponse as UnpinPostResponse,\n      forumV1Post_universal_d_AddReactionRequest as AddReactionRequest,\n      forumV1Post_universal_d_AddReactionResponse as AddReactionResponse,\n      forumV1Post_universal_d_RemoveReactionRequest as RemoveReactionRequest,\n      forumV1Post_universal_d_RemoveReactionResponse as RemoveReactionResponse,\n      forumV1Post_universal_d_ReportPostRequest as ReportPostRequest,\n      forumV1Post_universal_d_ReportPostResponse as ReportPostResponse,\n      forumV1Post_universal_d_DomainEvent as DomainEvent,\n      forumV1Post_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      forumV1Post_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      forumV1Post_universal_d_RestoreInfo as RestoreInfo,\n      forumV1Post_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      forumV1Post_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      forumV1Post_universal_d_ActionEvent as ActionEvent,\n      forumV1Post_universal_d_MessageEnvelope as MessageEnvelope,\n      forumV1Post_universal_d_IdentificationData as IdentificationData,\n      forumV1Post_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      forumV1Post_universal_d_WebhookIdentityType as WebhookIdentityType,\n      forumV1Post_universal_d_getPost as getPost,\n      forumV1Post_universal_d_GetPostOptions as GetPostOptions,\n      forumV1Post_universal_d_getPostBySlug as getPostBySlug,\n      forumV1Post_universal_d_GetPostBySlugOptions as GetPostBySlugOptions,\n      forumV1Post_universal_d_queryPosts as queryPosts,\n      forumV1Post_universal_d_QueryPostsOptions as QueryPostsOptions,\n      forumV1Post_universal_d_viewPost as viewPost,\n      forumV1Post_universal_d_markPostRead as markPostRead,\n      forumV1Post_universal_d_markPostsSeen as markPostsSeen,\n      forumV1Post_universal_d_MarkPostsSeenOptions as MarkPostsSeenOptions,\n      forumV1Post_universal_d_markPostUnread as markPostUnread,\n      forumV1Post_universal_d_createPost as createPost,\n      forumV1Post_universal_d_CreatePostOptions as CreatePostOptions,\n      forumV1Post_universal_d_updatePost as updatePost,\n      forumV1Post_universal_d_UpdatePostOptions as UpdatePostOptions,\n      forumV1Post_universal_d_deletePost as deletePost,\n      forumV1Post_universal_d_setBestAnswer as setBestAnswer,\n      forumV1Post_universal_d_removeBestAnswer as removeBestAnswer,\n      forumV1Post_universal_d_pinPost as pinPost,\n      forumV1Post_universal_d_PinPostOptions as PinPostOptions,\n      forumV1Post_universal_d_unpinPost as unpinPost,\n      forumV1Post_universal_d_addReaction as addReaction,\n      forumV1Post_universal_d_removeReaction as removeReaction,\n      forumV1Post_universal_d_reportPost as reportPost,\n      forumV1Post_universal_d_ReportPostOptions as ReportPostOptions,\n    };\n  }\n  \n  export { forumV1Category_universal_d as categories, forumV1Post_universal_d as posts };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-activity-counters.v2.d.ts",
      "content": "declare module \"wix-activity-counters.v2\" {\n  interface ActivityCounter {\n      /** Member ID. */\n      memberId?: string;\n      /**\n       * App ID.\n       *\n       * If you call this API as a site developer, the API returns the following app ID: `151e476a-715e-ec33-db9a-a7ff4d51f70a`.\n       */\n      appId?: string;\n      /** Counters for this member. */\n      counters?: Counter[];\n      /** @readonly */\n      revision?: string | null;\n  }\n  interface Counter {\n      /** Key of the counter. Must be unique. */\n      key?: string;\n      /** Whether count is available to all. If `false`, the counter is only available to the data owner: the site member and the app or Wix user that created the counter. */\n      public?: boolean;\n      /** Count of activity. */\n      count?: number;\n  }\n  interface SetActivityCountersRequest {\n      memberId: string;\n      /** Site member ID whose counter will be set. */\n      counter: Counter;\n  }\n  interface SetActivityCountersResponse {\n      activityCounter?: ActivityCounter;\n  }\n  interface IncrementActivityCountersRequest {\n      memberId: string;\n      /** Site member ID whose counter will increment. */\n      counter: Counter;\n  }\n  interface IncrementActivityCountersResponse {\n      activityCounter?: ActivityCounter;\n  }\n  interface GetActivityCountersRequest {\n      memberId: string;\n  }\n  interface GetActivityCountersResponse {\n      activityCounters?: ActivityCounter[];\n  }\n  interface QueryActivityCountersRequest {\n      /** Information about the activity counters to retrieve. */\n      query?: Query;\n  }\n  interface Query {\n      /** A filter object. */\n      filter?: any;\n      /** Limit number of results. */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryActivityCountersResponse {\n      /** Retrieved activity counters. */\n      activityCounters?: ActivityCounter[];\n      /** Retrieved activity counters. */\n      metadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Sets activity counters for a requested site member.\n   *\n   * If a counter does not yet exist, it will be created.\n   *\n   * Counters are set under a custom key, which is an ID for the counter, and is unique.\n   *\n   * Members are typically associated with a contact, each having a distinct member and contact ID. When specifying the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField counter\n   * @requiredField memberId\n   * @param memberId - ID of the member to upsert an activity counter for.\n   * @param counter - Details of the counter to be set.\n   * @permissionId MEMBERS.ACTIVITY_COUNTERS_WRITE\n   * @adminMethod\n   */\n  function setActivityCounters(memberId: string, counter: Counter): Promise<SetActivityCountersResponse>;\n  /**\n   * Increments activity counters for a requested site member by the count provided in counter.\n   *\n   * If a counter does not yet exist, it will be created.\n   *\n   * Counters are incremented under a custom key, which is an ID for the counter, and is unique.\n   *\n   * Members are typically associated with a contact, each having a distinct member and contact ID. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.\n   * @param counter - Site member ID whose counter will increment.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField counter\n   * @requiredField memberId\n   * @permissionId MEMBERS.ACTIVITY_COUNTERS_WRITE\n   * @adminMethod\n   */\n  function incrementActivityCounters(memberId: string, counter: Counter): Promise<IncrementActivityCountersResponse>;\n  /**\n   * Returns activity counters for a requested site member.\n   * A third party can read all the public counters, set by any app or site. However, third parties can only read their own private counters, not those from others' apps or sites.\n   *\n   * Members are typically associated with a contact, each having a distinct member and contact ID. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @param memberId - ID of the member to retrieve activity counters for.\n   * @permissionId MEMBERS.ACTIVITY_COUNTERS_READ\n   */\n  function getActivityCounters(memberId: string): Promise<GetActivityCountersResponse>;\n  /**\n   * Returns up to 100 activity counters for the provided filter and paging.\n   *\n   * Service will return only counters that are marked as public, or private counters from apps created by the requesting third party.\n   *\n   * Supported fields for filtering:\n   * - memberId\n   *\n   * Supported operations:\n   * Comparison:\n   * - $eq\n   * - $ne\n   * - $in\n   * Logical:\n   * - $and\n   * - $not\n   * - $or\n   * @public\n   * @documentationMaturity preview\n   * @param options - Information about the activity counters to retrieve.\n   * @permissionId MEMBERS.ACTIVITY_COUNTERS_READ\n   */\n  function queryActivityCounters(): ActivityCountersQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ActivityCountersQueryResult extends QueryOffsetResult {\n      items: ActivityCounter[];\n      query: ActivityCountersQueryBuilder;\n      next: () => Promise<ActivityCountersQueryResult>;\n      prev: () => Promise<ActivityCountersQueryResult>;\n  }\n  interface ActivityCountersQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'memberId', value: any) => ActivityCountersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'memberId', value: any) => ActivityCountersQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'memberId', value: any) => ActivityCountersQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ActivityCountersQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => ActivityCountersQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ActivityCountersQueryResult>;\n  }\n  \n  type membersV1ActivityCounter_universal_d_ActivityCounter = ActivityCounter;\n  type membersV1ActivityCounter_universal_d_Counter = Counter;\n  type membersV1ActivityCounter_universal_d_SetActivityCountersRequest = SetActivityCountersRequest;\n  type membersV1ActivityCounter_universal_d_SetActivityCountersResponse = SetActivityCountersResponse;\n  type membersV1ActivityCounter_universal_d_IncrementActivityCountersRequest = IncrementActivityCountersRequest;\n  type membersV1ActivityCounter_universal_d_IncrementActivityCountersResponse = IncrementActivityCountersResponse;\n  type membersV1ActivityCounter_universal_d_GetActivityCountersRequest = GetActivityCountersRequest;\n  type membersV1ActivityCounter_universal_d_GetActivityCountersResponse = GetActivityCountersResponse;\n  type membersV1ActivityCounter_universal_d_QueryActivityCountersRequest = QueryActivityCountersRequest;\n  type membersV1ActivityCounter_universal_d_Query = Query;\n  type membersV1ActivityCounter_universal_d_Paging = Paging;\n  type membersV1ActivityCounter_universal_d_QueryActivityCountersResponse = QueryActivityCountersResponse;\n  type membersV1ActivityCounter_universal_d_PagingMetadata = PagingMetadata;\n  type membersV1ActivityCounter_universal_d_DomainEvent = DomainEvent;\n  type membersV1ActivityCounter_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type membersV1ActivityCounter_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type membersV1ActivityCounter_universal_d_RestoreInfo = RestoreInfo;\n  type membersV1ActivityCounter_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type membersV1ActivityCounter_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type membersV1ActivityCounter_universal_d_ActionEvent = ActionEvent;\n  type membersV1ActivityCounter_universal_d_Empty = Empty;\n  type membersV1ActivityCounter_universal_d_MessageEnvelope = MessageEnvelope;\n  type membersV1ActivityCounter_universal_d_IdentificationData = IdentificationData;\n  type membersV1ActivityCounter_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type membersV1ActivityCounter_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const membersV1ActivityCounter_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const membersV1ActivityCounter_universal_d_setActivityCounters: typeof setActivityCounters;\n  const membersV1ActivityCounter_universal_d_incrementActivityCounters: typeof incrementActivityCounters;\n  const membersV1ActivityCounter_universal_d_getActivityCounters: typeof getActivityCounters;\n  const membersV1ActivityCounter_universal_d_queryActivityCounters: typeof queryActivityCounters;\n  type membersV1ActivityCounter_universal_d_ActivityCountersQueryResult = ActivityCountersQueryResult;\n  type membersV1ActivityCounter_universal_d_ActivityCountersQueryBuilder = ActivityCountersQueryBuilder;\n  namespace membersV1ActivityCounter_universal_d {\n    export {\n      membersV1ActivityCounter_universal_d_ActivityCounter as ActivityCounter,\n      membersV1ActivityCounter_universal_d_Counter as Counter,\n      membersV1ActivityCounter_universal_d_SetActivityCountersRequest as SetActivityCountersRequest,\n      membersV1ActivityCounter_universal_d_SetActivityCountersResponse as SetActivityCountersResponse,\n      membersV1ActivityCounter_universal_d_IncrementActivityCountersRequest as IncrementActivityCountersRequest,\n      membersV1ActivityCounter_universal_d_IncrementActivityCountersResponse as IncrementActivityCountersResponse,\n      membersV1ActivityCounter_universal_d_GetActivityCountersRequest as GetActivityCountersRequest,\n      membersV1ActivityCounter_universal_d_GetActivityCountersResponse as GetActivityCountersResponse,\n      membersV1ActivityCounter_universal_d_QueryActivityCountersRequest as QueryActivityCountersRequest,\n      membersV1ActivityCounter_universal_d_Query as Query,\n      membersV1ActivityCounter_universal_d_Paging as Paging,\n      membersV1ActivityCounter_universal_d_QueryActivityCountersResponse as QueryActivityCountersResponse,\n      membersV1ActivityCounter_universal_d_PagingMetadata as PagingMetadata,\n      membersV1ActivityCounter_universal_d_DomainEvent as DomainEvent,\n      membersV1ActivityCounter_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      membersV1ActivityCounter_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      membersV1ActivityCounter_universal_d_RestoreInfo as RestoreInfo,\n      membersV1ActivityCounter_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      membersV1ActivityCounter_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      membersV1ActivityCounter_universal_d_ActionEvent as ActionEvent,\n      membersV1ActivityCounter_universal_d_Empty as Empty,\n      membersV1ActivityCounter_universal_d_MessageEnvelope as MessageEnvelope,\n      membersV1ActivityCounter_universal_d_IdentificationData as IdentificationData,\n      membersV1ActivityCounter_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      membersV1ActivityCounter_universal_d_WebhookIdentityType as WebhookIdentityType,\n      membersV1ActivityCounter_universal_d_setActivityCounters as setActivityCounters,\n      membersV1ActivityCounter_universal_d_incrementActivityCounters as incrementActivityCounters,\n      membersV1ActivityCounter_universal_d_getActivityCounters as getActivityCounters,\n      membersV1ActivityCounter_universal_d_queryActivityCounters as queryActivityCounters,\n      membersV1ActivityCounter_universal_d_ActivityCountersQueryResult as ActivityCountersQueryResult,\n      membersV1ActivityCounter_universal_d_ActivityCountersQueryBuilder as ActivityCountersQueryBuilder,\n    };\n  }\n  \n  export { membersV1ActivityCounter_universal_d as activityCounters };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-loyalty.v2.d.ts",
      "content": "declare module \"wix-loyalty.v2\" {\n  /** A loyalty checkout discount represents a discount applied to a checkout using loyalty rewards, coupons, or referral rewards. */\n  interface LoyaltyCheckoutDiscount extends LoyaltyCheckoutDiscountDiscountOneOf {\n      /** ID of the loyalty reward used for this discount. */\n      rewardId?: string;\n      /** ID of the loyalty coupon used for this discount. */\n      loyaltyCouponId?: string;\n      /** ID of the referral reward used for this discount. */\n      referralRewardId?: string;\n      /**\n       * Loyalty checkout discount ID.\n       * @readonly\n       */\n      _id?: string;\n      /** ID of the checkout this discount is applied to. */\n      checkoutId?: string;\n      /**\n       * Current status of the discount.\n       * @readonly\n       */\n      status?: DiscountStatus;\n      /**\n       * The type of discount applied.\n       * @readonly\n       */\n      discountType?: DiscountType;\n  }\n  /** @oneof */\n  interface LoyaltyCheckoutDiscountDiscountOneOf {\n      /** ID of the loyalty reward used for this discount. */\n      rewardId?: string;\n      /** ID of the loyalty coupon used for this discount. */\n      loyaltyCouponId?: string;\n      /** ID of the referral reward used for this discount. */\n      referralRewardId?: string;\n  }\n  enum DiscountStatus {\n      /** Status is unknown or not specified. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Discount has been applied to the checkout. */\n      APPLIED = \"APPLIED\",\n      /** Discount application is in progress. */\n      IN_PROGRESS = \"IN_PROGRESS\",\n      /** Discount has been successfully completed. */\n      COMPLETED = \"COMPLETED\",\n      /** Discount has been refunded. */\n      REFUNDED = \"REFUNDED\",\n      /** Attempt to refund the discount failed. */\n      FAILED_TO_REFUND = \"FAILED_TO_REFUND\",\n      /** Discount was refunded due to a timeout. */\n      REFUNDED_DUE_TO_TIMEOUT = \"REFUNDED_DUE_TO_TIMEOUT\",\n      /** Discount was refunded due to manual removal. */\n      REFUNDED_DUE_TO_MANUAL_DISCOUNT_REMOVAL = \"REFUNDED_DUE_TO_MANUAL_DISCOUNT_REMOVAL\",\n      /** Discount is scheduled for refund. */\n      SCHEDULED_FOR_REFUND = \"SCHEDULED_FOR_REFUND\",\n      /** Discount was not used. */\n      UNUSED = \"UNUSED\"\n  }\n  enum DiscountType {\n      /** Discount type is unknown or not specified. */\n      UNKNOWN = \"UNKNOWN\",\n      /** A discount from a flexible reward. */\n      DISCOUNT_AMOUNT = \"DISCOUNT_AMOUNT\",\n      /** A discount from a redeemed loyalty program coupon. */\n      LOYALTY_COUPON = \"LOYALTY_COUPON\",\n      /** A discount from a coupon reward that has not yet been redeemed. */\n      COUPON_REWARD = \"COUPON_REWARD\",\n      /** A discount from a referral reward. */\n      REFERRAL_REWARD = \"REFERRAL_REWARD\"\n  }\n  /** Request to apply a discount to a checkout. */\n  interface ApplyDiscountToCheckoutRequest extends ApplyDiscountToCheckoutRequestDiscountOneOf {\n      /** Unredeemed loyalty reward discount. */\n      reward?: Reward$1;\n      /** Loyalty coupon discount. */\n      loyaltyCoupon?: LoyaltyCoupon$1;\n      /** Referral reward discount. */\n      referralReward?: ReferralReward;\n      /** ID of the checkout to apply the discount to. */\n      checkoutId: string;\n  }\n  /** @oneof */\n  interface ApplyDiscountToCheckoutRequestDiscountOneOf {\n      /** Unredeemed loyalty reward discount. */\n      reward?: Reward$1;\n      /** Loyalty coupon discount. */\n      loyaltyCoupon?: LoyaltyCoupon$1;\n      /** Referral reward discount. */\n      referralReward?: ReferralReward;\n  }\n  interface Reward$1 {\n      /** ID of the loyalty reward to be used for this discount. */\n      _id?: string;\n      /**\n       * Number of points to spend for this reward.\n       * For example, if the reward is 10 points = $1, then 35 points would give a $3.50 discount.\n       *\n       * >**Note:** Only relevant when using a flexible type reward. Depending on how your loyalty program is set up, there may be a minimum number of points you must spend.\n       */\n      pointsToSpend?: number | null;\n      /**\n       * Revision of the reward object. Incremented by 1 each time the reward object is updated.\n       * Pass the latest revision when updating to prevent conflicting changes.\n       */\n      revision?: string;\n  }\n  interface LoyaltyCoupon$1 {\n      /** ID of the loyalty coupon to be used for this discount. */\n      _id?: string;\n      /**\n       * Revision of the coupon object. Incremented by 1 each time the coupon object is updated.\n       * Pass the latest revision when updating to prevent conflicting changes.\n       */\n      revision?: string;\n  }\n  interface ReferralReward {\n      /** Referral reward discount ID. */\n      _id?: string;\n      /**\n       * Revision of the referral object. Incremented by 1 each time the referral object is updated.\n       * Pass the latest revision when updating to prevent conflicting changes.\n       */\n      revision?: string;\n  }\n  /** Response after applying a discount to a checkout. */\n  interface ApplyDiscountToCheckoutResponse {\n      /** The applied loyalty checkout discount. */\n      discount?: LoyaltyCheckoutDiscount;\n  }\n  interface DiscountRefundedDueToManualDiscountRemoval {\n      /** Loyalty checkout discount refunded due to manual removal. */\n      discount?: LoyaltyCheckoutDiscount;\n  }\n  interface DiscountRefundedDueToTimeout {\n      /** Loyalty checkout discount refunded due to timeout. */\n      discount?: LoyaltyCheckoutDiscount;\n  }\n  interface DiscountScheduledForRefund {\n      /** Loyalty checkout discount scheduled for refund. */\n      discount?: LoyaltyCheckoutDiscount;\n  }\n  interface QueryLoyaltyCheckoutDiscountsRequest {\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       */\n      query: CursorQuery$5;\n  }\n  interface CursorQuery$5 extends CursorQueryPagingMethodOneOf$5 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$6;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$5[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$5 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$6;\n  }\n  interface Sorting$5 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$5;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$5 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$6 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  /** Response from querying loyalty checkout discounts. */\n  interface QueryLoyaltyCheckoutDiscountsResponse {\n      /** List of loyalty checkout discounts matching the query. */\n      loyaltyCheckoutDiscounts?: LoyaltyCheckoutDiscount[];\n      /** Paging metadata for the response. */\n      pagingMetadata?: CursorPagingMetadata$4;\n  }\n  interface CursorPagingMetadata$4 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$6;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$6 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$9 extends DomainEventBodyOneOf$9 {\n      createdEvent?: EntityCreatedEvent$9;\n      updatedEvent?: EntityUpdatedEvent$9;\n      deletedEvent?: EntityDeletedEvent$9;\n      actionEvent?: ActionEvent$9;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$9 {\n      createdEvent?: EntityCreatedEvent$9;\n      updatedEvent?: EntityUpdatedEvent$9;\n      deletedEvent?: EntityDeletedEvent$9;\n      actionEvent?: ActionEvent$9;\n  }\n  interface EntityCreatedEvent$9 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$9;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$9 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$9 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$9 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$9 {\n      bodyAsJson?: string;\n  }\n  interface Empty$9 {\n  }\n  interface MessageEnvelope$9 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$9;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$9 extends IdentificationDataIdOneOf$9 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$9;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$9 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$9 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Applies a discount to a checkout.\n   *\n   * You can apply one of the following discounts, which are exchanged for loyalty points: `reward`, `loyaltyCoupon`, or `referralReward`.\n   * @param checkoutId - ID of the checkout to apply the discount to.\n   * @public\n   * @requiredField checkoutId\n   * @permissionId LOYALTY.REDEEM_OWN_COUPON\n   * @returns Response after applying a discount to a checkout.\n   */\n  function applyDiscountToCheckout(checkoutId: string, options?: ApplyDiscountToCheckoutOptions): Promise<ApplyDiscountToCheckoutResponse>;\n  interface ApplyDiscountToCheckoutOptions extends ApplyDiscountToCheckoutRequestDiscountOneOf {\n      /** Unredeemed loyalty reward discount. */\n      reward?: Reward$1;\n      /** Loyalty coupon discount. */\n      loyaltyCoupon?: LoyaltyCoupon$1;\n      /** Referral reward discount. */\n      referralReward?: ReferralReward;\n  }\n  /**\n   * Creates a query to retrieve a list of checkout discounts.\n   *\n   * The `queryLoyaltyCheckoutDiscount()` function builds a query to retrieve a list of checkout discounts and returns a `LoyaltyCheckoutDiscountQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `LoyaltyCheckoutDiscountQueryBuilder` functions onto the query. `LoyaltyCheckoutDiscountQueryBuilder` functions enable you to sort, filter, and control the results `queryLoyaltyCheckoutDiscount()` returns.\n   *\n   * `queryLoyaltyCheckoutDiscount()` runs with these `LoyaltyCheckoutDiscountQueryBuilder` defaults, which you can override:\n   *\n   * - `limit(50)`\n   * - `descending(\"_createdDate\")`\n   *\n   * The functions that are chained to `queryLoyaltyCheckoutDiscount()` are applied in the order they're called. For example, if you apply ascending('status') and then descending('checkoutId'), the results are sorted first by the status, and then, if there are multiple results with the same status, the items are sorted by checkout ID.\n   * @public\n   * @permissionId LOYALTY.QUERY_CHECKOUT_DISCOUNTS\n   */\n  function queryLoyaltyCheckoutDiscounts(): LoyaltyCheckoutDiscountsQueryBuilder;\n  interface QueryCursorResult$4 {\n      cursors: Cursors$6;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface LoyaltyCheckoutDiscountsQueryResult extends QueryCursorResult$4 {\n      items: LoyaltyCheckoutDiscount[];\n      query: LoyaltyCheckoutDiscountsQueryBuilder;\n      next: () => Promise<LoyaltyCheckoutDiscountsQueryResult>;\n      prev: () => Promise<LoyaltyCheckoutDiscountsQueryResult>;\n  }\n  interface LoyaltyCheckoutDiscountsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: 'checkoutId' | 'status', value: any) => LoyaltyCheckoutDiscountsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: 'checkoutId' | 'status', value: any) => LoyaltyCheckoutDiscountsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: 'checkoutId', value: string) => LoyaltyCheckoutDiscountsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: 'checkoutId' | 'status', value: any[]) => LoyaltyCheckoutDiscountsQueryBuilder;\n      in: (propertyName: 'checkoutId' | 'status', value: any) => LoyaltyCheckoutDiscountsQueryBuilder;\n      exists: (propertyName: 'checkoutId' | 'status', value: boolean) => LoyaltyCheckoutDiscountsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'checkoutId' | 'status'>) => LoyaltyCheckoutDiscountsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'checkoutId' | 'status'>) => LoyaltyCheckoutDiscountsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => LoyaltyCheckoutDiscountsQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => LoyaltyCheckoutDiscountsQueryBuilder;\n      find: () => Promise<LoyaltyCheckoutDiscountsQueryResult>;\n  }\n  \n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_LoyaltyCheckoutDiscount = LoyaltyCheckoutDiscount;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_LoyaltyCheckoutDiscountDiscountOneOf = LoyaltyCheckoutDiscountDiscountOneOf;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountStatus = DiscountStatus;\n  const loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountStatus: typeof DiscountStatus;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountType = DiscountType;\n  const loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountType: typeof DiscountType;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_ApplyDiscountToCheckoutRequest = ApplyDiscountToCheckoutRequest;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_ApplyDiscountToCheckoutRequestDiscountOneOf = ApplyDiscountToCheckoutRequestDiscountOneOf;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_ReferralReward = ReferralReward;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_ApplyDiscountToCheckoutResponse = ApplyDiscountToCheckoutResponse;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountRefundedDueToManualDiscountRemoval = DiscountRefundedDueToManualDiscountRemoval;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountRefundedDueToTimeout = DiscountRefundedDueToTimeout;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountScheduledForRefund = DiscountScheduledForRefund;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_QueryLoyaltyCheckoutDiscountsRequest = QueryLoyaltyCheckoutDiscountsRequest;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_QueryLoyaltyCheckoutDiscountsResponse = QueryLoyaltyCheckoutDiscountsResponse;\n  const loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_applyDiscountToCheckout: typeof applyDiscountToCheckout;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_ApplyDiscountToCheckoutOptions = ApplyDiscountToCheckoutOptions;\n  const loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_queryLoyaltyCheckoutDiscounts: typeof queryLoyaltyCheckoutDiscounts;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_LoyaltyCheckoutDiscountsQueryResult = LoyaltyCheckoutDiscountsQueryResult;\n  type loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_LoyaltyCheckoutDiscountsQueryBuilder = LoyaltyCheckoutDiscountsQueryBuilder;\n  namespace loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d {\n    export {\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_LoyaltyCheckoutDiscount as LoyaltyCheckoutDiscount,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_LoyaltyCheckoutDiscountDiscountOneOf as LoyaltyCheckoutDiscountDiscountOneOf,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountStatus as DiscountStatus,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountType as DiscountType,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_ApplyDiscountToCheckoutRequest as ApplyDiscountToCheckoutRequest,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_ApplyDiscountToCheckoutRequestDiscountOneOf as ApplyDiscountToCheckoutRequestDiscountOneOf,\n      Reward$1 as Reward,\n      LoyaltyCoupon$1 as LoyaltyCoupon,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_ReferralReward as ReferralReward,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_ApplyDiscountToCheckoutResponse as ApplyDiscountToCheckoutResponse,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountRefundedDueToManualDiscountRemoval as DiscountRefundedDueToManualDiscountRemoval,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountRefundedDueToTimeout as DiscountRefundedDueToTimeout,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_DiscountScheduledForRefund as DiscountScheduledForRefund,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_QueryLoyaltyCheckoutDiscountsRequest as QueryLoyaltyCheckoutDiscountsRequest,\n      CursorQuery$5 as CursorQuery,\n      CursorQueryPagingMethodOneOf$5 as CursorQueryPagingMethodOneOf,\n      Sorting$5 as Sorting,\n      SortOrder$5 as SortOrder,\n      CursorPaging$6 as CursorPaging,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_QueryLoyaltyCheckoutDiscountsResponse as QueryLoyaltyCheckoutDiscountsResponse,\n      CursorPagingMetadata$4 as CursorPagingMetadata,\n      Cursors$6 as Cursors,\n      DomainEvent$9 as DomainEvent,\n      DomainEventBodyOneOf$9 as DomainEventBodyOneOf,\n      EntityCreatedEvent$9 as EntityCreatedEvent,\n      RestoreInfo$9 as RestoreInfo,\n      EntityUpdatedEvent$9 as EntityUpdatedEvent,\n      EntityDeletedEvent$9 as EntityDeletedEvent,\n      ActionEvent$9 as ActionEvent,\n      Empty$9 as Empty,\n      MessageEnvelope$9 as MessageEnvelope,\n      IdentificationData$9 as IdentificationData,\n      IdentificationDataIdOneOf$9 as IdentificationDataIdOneOf,\n      WebhookIdentityType$9 as WebhookIdentityType,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_applyDiscountToCheckout as applyDiscountToCheckout,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_ApplyDiscountToCheckoutOptions as ApplyDiscountToCheckoutOptions,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_queryLoyaltyCheckoutDiscounts as queryLoyaltyCheckoutDiscounts,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_LoyaltyCheckoutDiscountsQueryResult as LoyaltyCheckoutDiscountsQueryResult,\n      loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d_LoyaltyCheckoutDiscountsQueryBuilder as LoyaltyCheckoutDiscountsQueryBuilder,\n    };\n  }\n  \n  /**\n   * An Import object is a batch import of loyalty points for existing customers.\n   * You can use Loyalty Imports to import loyalty points from 3rd-party providers or update existing customer point balances.\n   * This object tracks the entire import process from file upload to data processing.\n   */\n  interface LoyaltyImport {\n      /**\n       * The ID of the import.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ID of the asynchronous import job associated with this import.\n       * @readonly\n       */\n      asyncImportJobId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the Loyalty Import is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the Loyalty Import.\n       *\n       * Ignored when creating a Loyalty Import.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the Loyalty Import was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the Loyalty Import was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Current status of the import process.\n       * @readonly\n       */\n      status?: ImportStatus;\n      /** Metadata of the uploaded file containing loyalty points data. */\n      fileMetadata?: FileMetadata;\n      /** Results of parsing the uploaded file, including the number of rows parsed and any parse errors. */\n      parseResult?: ParseResult;\n      /** Results of the import process, including success and failure counts. */\n      importResult?: ImportResult;\n  }\n  enum ImportStatus {\n      /** Status is unknown or not specified. */\n      UNKNOWN = \"UNKNOWN\",\n      /** The import has been initiated but processing has not yet begun. */\n      INITIATED = \"INITIATED\",\n      /** The system is currently parsing the import file. */\n      PARSING = \"PARSING\",\n      /** The import file has been successfully parsed and is ready for importing. */\n      PARSED = \"PARSED\",\n      /** The system is currently importing the parsed data. */\n      IMPORTING = \"IMPORTING\",\n      /** The import process is complete. This status indicates the process finished, but doesn't guarantee all data imported successfully. */\n      IMPORTED = \"IMPORTED\",\n      /** The import process has failed. */\n      FAILED = \"FAILED\"\n  }\n  interface FileMetadata {\n      /**\n       * Size of the uploaded file in bytes. Max: `10 MB`.\n       * @readonly\n       */\n      size?: number | null;\n      /**\n       * Name of the uploaded file.\n       * @readonly\n       */\n      name?: string | null;\n      /** URL of the uploaded file. */\n      url?: string;\n      /** Column headings from the first row of the uploaded CSV file. */\n      header?: FileHeader;\n      /**\n       * Mapping between loyalty data fields and the corresponding columns in the uploaded file.\n       *\n       * Must include mappings for both `EMAIL` and `POINTS` to be valid.\n       */\n      headerMappingInfo?: HeaderMappingInfo;\n      /** Up to 5 sample rows from the import file, providing a preview of the data to be imported. */\n      sampleDataRows?: SampleDataRow[];\n  }\n  interface FileHeader {\n      /** Column headings from the first row of the uploaded file. */\n      values?: string[];\n  }\n  interface HeaderMappingInfo {\n      /**\n       * Mappings between required loyalty data fields and file columns.\n       * Must contain exactly 2 mappings: one for `EMAIL` and one for `POINTS`.\n       */\n      headerMappings?: HeaderMapping[];\n  }\n  interface HeaderMapping {\n      /** The required loyalty data field that this mapping corresponds to. Must be either `EMAIL` or `POINTS`. */\n      columnName?: ColumnName;\n      /**\n       * The zero-based index of the column in the uploaded file that contains the data for this loyalty field.\n       * For example, if the email addresses are in the second column of the CSV file, this value would be 1.\n       */\n      columnIndex?: number;\n  }\n  enum ColumnName {\n      /** Column containing the customer's email address. */\n      EMAIL = \"EMAIL\",\n      /** Column containing the customer's loyalty point balance to be imported or updated. */\n      POINTS = \"POINTS\"\n  }\n  interface SampleDataRow {\n      /**\n       * Values in one sample data row. Each value corresponds to a column in the CSV file.\n       * The number of values matches the number of columns in the file.\n       */\n      values?: string[];\n  }\n  interface ParseResult {\n      /**\n       * Number of rows parsed from the uploaded import file.\n       * @readonly\n       */\n      parsedRowCount?: number | null;\n      /**\n       * Reason code explaining why parsing failed, if applicable.\n       * @readonly\n       */\n      parseErrorReason?: string | null;\n  }\n  interface ImportResult {\n      /** Whether an error file detailing import failures is available for download. The file includes row-by-row import status, error reasons, and original data. */\n      errorFileExists?: boolean;\n      /**\n       * Number of rows successfully imported.\n       * @readonly\n       */\n      successCount?: number | null;\n      /**\n       * Number of rows that failed to import due to errors.\n       * @readonly\n       */\n      failureCount?: number | null;\n  }\n  interface CreateLoyaltyImportRequest {\n      /** URL of the file to import. */\n      fileUrl: string | null;\n      /** Name of the file to import. */\n      fileName?: string | null;\n      /** Size of the file to import, in bytes. */\n      fileSize?: number | null;\n  }\n  interface CreateLoyaltyImportResponse {\n      /** Created loyalty import. */\n      loyaltyImport?: LoyaltyImport;\n  }\n  interface GetLoyaltyImportRequest {\n      /** Loyalty import ID. */\n      loyaltyImportId: string;\n  }\n  interface GetLoyaltyImportResponse {\n      /** Retrieved loyalty import. */\n      loyaltyImport?: LoyaltyImport;\n  }\n  interface GetErrorFileDownloadUrlRequest {\n      /** Loyalty import ID. */\n      loyaltyImportId: string;\n  }\n  interface GetErrorFileDownloadUrlResponse {\n      /** URL for downloading the error file. */\n      url?: string | null;\n  }\n  interface ExecuteLoyaltyImportRequest {\n      /** Loyalty import ID. */\n      loyaltyImportId: string;\n      /** Header mapping information for the import file. */\n      headerMappingInfo?: HeaderMappingInfo;\n  }\n  interface ExecuteLoyaltyImportResponse {\n      /** Executed loyalty import. */\n      loyaltyImport?: LoyaltyImport;\n  }\n  interface CreateLoyaltyImportFileUrlRequest {\n  }\n  interface CreateLoyaltyImportFileUrlResponse {\n      /** Path where the file will be stored. */\n      filePath?: string | null;\n      /** URL for uploading the loyalty import file. */\n      uploadUrl?: string | null;\n  }\n  interface QueryLoyaltyImportsRequest {\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n       * for more information.\n       *\n       * For a detailed list of supported filters, see\n       * [Supported Filters](https://dev.wix.com/api/rest/wix-loyalty-program/loyalty-imports/supported-filters).\n       */\n      query: CursorQuery$4;\n  }\n  interface CursorQuery$4 extends CursorQueryPagingMethodOneOf$4 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$5;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$4[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$4 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$5;\n  }\n  interface Sorting$4 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$4;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$4 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$5 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryLoyaltyImportsResponse {\n      /** List of loyalty imports matching the query. */\n      loyaltyImports?: LoyaltyImport[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$3;\n  }\n  interface CursorPagingMetadata$3 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$5;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$5 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DeleteLoyaltyImportRequest {\n      /** Loyalty import ID. */\n      loyaltyImportId: string;\n      /**\n       * Revision number, which increments by 1 each time the loyalty import is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the loyalty import.\n       */\n      revision?: string;\n  }\n  interface DeleteLoyaltyImportResponse {\n  }\n  interface DomainEvent$8 extends DomainEventBodyOneOf$8 {\n      createdEvent?: EntityCreatedEvent$8;\n      updatedEvent?: EntityUpdatedEvent$8;\n      deletedEvent?: EntityDeletedEvent$8;\n      actionEvent?: ActionEvent$8;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$8 {\n      createdEvent?: EntityCreatedEvent$8;\n      updatedEvent?: EntityUpdatedEvent$8;\n      deletedEvent?: EntityDeletedEvent$8;\n      actionEvent?: ActionEvent$8;\n  }\n  interface EntityCreatedEvent$8 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$8;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$8 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$8 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$8 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$8 {\n      bodyAsJson?: string;\n  }\n  interface Empty$8 {\n  }\n  interface ImportFinished {\n      /** Completed loyalty import. */\n      loyaltyImport?: LoyaltyImport;\n  }\n  interface MessageEnvelope$8 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$8;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$8 extends IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$8;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$8 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates an import object based on an uploaded file.\n   *\n   * Call this method after uploading your file to the URL obtained from `createLoyaltyImportFileUrl()`.\n   * @param fileUrl - URL of the file to import.\n   * @public\n   * @requiredField fileUrl\n   * @permissionId LOYALTY.MANAGE_IMPORTS\n   * @adminMethod\n   */\n  function createLoyaltyImport(fileUrl: string | null, options?: CreateLoyaltyImportOptions): Promise<CreateLoyaltyImportResponse>;\n  interface CreateLoyaltyImportOptions {\n      /** Name of the file to import. */\n      fileName?: string | null;\n      /** Size of the file to import, in bytes. */\n      fileSize?: number | null;\n  }\n  /**\n   * Retrieves a loyalty import.\n   * @param loyaltyImportId - Loyalty import ID.\n   * @public\n   * @requiredField loyaltyImportId\n   * @permissionId LOYALTY.MANAGE_IMPORTS\n   * @adminMethod\n   * @returns Retrieved loyalty import.\n   */\n  function getLoyaltyImport(loyaltyImportId: string): Promise<LoyaltyImport>;\n  /**\n   * Retrieves the download URL for the error file of a failed loyalty import.\n   *\n   * If an import fails, the `importResult.errorFileExists` field in the `LoyaltyImport` object is set to `true`.\n   *\n   * Use this method to get the URL of the error file, which contains details about which items couldn't be imported and why.\n   * @param loyaltyImportId - Loyalty import ID.\n   * @public\n   * @requiredField loyaltyImportId\n   * @permissionId LOYALTY.MANAGE_IMPORTS\n   * @adminMethod\n   */\n  function getErrorFileDownloadUrl(loyaltyImportId: string): Promise<GetErrorFileDownloadUrlResponse>;\n  /**\n   * Starts the actual import process for a loyalty import.\n   *\n   * Call this method after the loyalty import object reaches the `PARSED` status.\n   * @param loyaltyImportId - Loyalty import ID.\n   * @public\n   * @requiredField loyaltyImportId\n   * @permissionId LOYALTY.MANAGE_IMPORTS\n   * @adminMethod\n   */\n  function executeLoyaltyImport(loyaltyImportId: string, options?: ExecuteLoyaltyImportOptions): Promise<ExecuteLoyaltyImportResponse>;\n  interface ExecuteLoyaltyImportOptions {\n      /** Header mapping information for the import file. */\n      headerMappingInfo?: HeaderMappingInfo;\n  }\n  /**\n   * Creates a URL for uploading a loyalty import file.\n   *\n   * This method is the first step in the loyalty import process. It returns a file path and an upload URL, which you'll use in subsequent steps of the import process.\n   * @public\n   * @permissionId LOYALTY.MANAGE_IMPORTS\n   * @adminMethod\n   */\n  function createLoyaltyImportFileUrl(): Promise<CreateLoyaltyImportFileUrlResponse>;\n  /**\n   * Creates a query to retrieve a list of loyalty imports.\n   *\n   * The `queryLoyaltyImports()` function builds a query to retrieve a list of imports and returns a `LoyaltyImportsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `LoyaltyImportsQueryBuilder` functions onto the query. `LoyaltyImportsQueryBuilder` functions enable you to sort, filter, and control the results `queryLoyaltyImports()` returns.\n   *\n   * `queryLoyaltyImports()` runs with these `LoyaltyImportsQueryBuilder` defaults, which you can override:\n   *\n   * - `limit(50)`\n   * - `descending(\"_createdDate\")`\n   *\n   * The functions that are chained to `queryLoyaltyImports()` are applied in the order they're called. For example, if you apply ascending('status') and then descending('_createdDate'), the results are sorted first by the status, and then, if there are multiple results with the same status, the items are sorted by the created date.\n   * @public\n   * @permissionId LOYALTY.MANAGE_IMPORTS\n   * @adminMethod\n   */\n  function queryLoyaltyImports(): LoyaltyImportsQueryBuilder;\n  interface QueryCursorResult$3 {\n      cursors: Cursors$5;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface LoyaltyImportsQueryResult extends QueryCursorResult$3 {\n      items: LoyaltyImport[];\n      query: LoyaltyImportsQueryBuilder;\n      next: () => Promise<LoyaltyImportsQueryResult>;\n      prev: () => Promise<LoyaltyImportsQueryResult>;\n  }\n  interface LoyaltyImportsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_createdDate' | '_updatedDate' | 'status', value: any) => LoyaltyImportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_createdDate' | '_updatedDate' | 'status', value: any) => LoyaltyImportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => LoyaltyImportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => LoyaltyImportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => LoyaltyImportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => LoyaltyImportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: '_createdDate' | '_updatedDate' | 'status', value: any[]) => LoyaltyImportsQueryBuilder;\n      in: (propertyName: '_createdDate' | '_updatedDate' | 'status', value: any) => LoyaltyImportsQueryBuilder;\n      exists: (propertyName: '_createdDate' | '_updatedDate' | 'status', value: boolean) => LoyaltyImportsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'status'>) => LoyaltyImportsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'status'>) => LoyaltyImportsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => LoyaltyImportsQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => LoyaltyImportsQueryBuilder;\n      find: () => Promise<LoyaltyImportsQueryResult>;\n  }\n  /**\n   * Deletes a loyalty import.\n   * @param loyaltyImportId - Loyalty import ID.\n   * @internal\n   * @requiredField loyaltyImportId\n   * @permissionId LOYALTY.MANAGE_IMPORTS\n   * @adminMethod\n   */\n  function deleteLoyaltyImport(loyaltyImportId: string, options?: DeleteLoyaltyImportOptions): Promise<void>;\n  interface DeleteLoyaltyImportOptions {\n      /**\n       * Revision number, which increments by 1 each time the loyalty import is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the loyalty import.\n       */\n      revision?: string;\n  }\n  \n  type loyaltyImportsV1LoyaltyImport_universal_d_LoyaltyImport = LoyaltyImport;\n  type loyaltyImportsV1LoyaltyImport_universal_d_ImportStatus = ImportStatus;\n  const loyaltyImportsV1LoyaltyImport_universal_d_ImportStatus: typeof ImportStatus;\n  type loyaltyImportsV1LoyaltyImport_universal_d_FileMetadata = FileMetadata;\n  type loyaltyImportsV1LoyaltyImport_universal_d_FileHeader = FileHeader;\n  type loyaltyImportsV1LoyaltyImport_universal_d_HeaderMappingInfo = HeaderMappingInfo;\n  type loyaltyImportsV1LoyaltyImport_universal_d_HeaderMapping = HeaderMapping;\n  type loyaltyImportsV1LoyaltyImport_universal_d_ColumnName = ColumnName;\n  const loyaltyImportsV1LoyaltyImport_universal_d_ColumnName: typeof ColumnName;\n  type loyaltyImportsV1LoyaltyImport_universal_d_SampleDataRow = SampleDataRow;\n  type loyaltyImportsV1LoyaltyImport_universal_d_ParseResult = ParseResult;\n  type loyaltyImportsV1LoyaltyImport_universal_d_ImportResult = ImportResult;\n  type loyaltyImportsV1LoyaltyImport_universal_d_CreateLoyaltyImportRequest = CreateLoyaltyImportRequest;\n  type loyaltyImportsV1LoyaltyImport_universal_d_CreateLoyaltyImportResponse = CreateLoyaltyImportResponse;\n  type loyaltyImportsV1LoyaltyImport_universal_d_GetLoyaltyImportRequest = GetLoyaltyImportRequest;\n  type loyaltyImportsV1LoyaltyImport_universal_d_GetLoyaltyImportResponse = GetLoyaltyImportResponse;\n  type loyaltyImportsV1LoyaltyImport_universal_d_GetErrorFileDownloadUrlRequest = GetErrorFileDownloadUrlRequest;\n  type loyaltyImportsV1LoyaltyImport_universal_d_GetErrorFileDownloadUrlResponse = GetErrorFileDownloadUrlResponse;\n  type loyaltyImportsV1LoyaltyImport_universal_d_ExecuteLoyaltyImportRequest = ExecuteLoyaltyImportRequest;\n  type loyaltyImportsV1LoyaltyImport_universal_d_ExecuteLoyaltyImportResponse = ExecuteLoyaltyImportResponse;\n  type loyaltyImportsV1LoyaltyImport_universal_d_CreateLoyaltyImportFileUrlRequest = CreateLoyaltyImportFileUrlRequest;\n  type loyaltyImportsV1LoyaltyImport_universal_d_CreateLoyaltyImportFileUrlResponse = CreateLoyaltyImportFileUrlResponse;\n  type loyaltyImportsV1LoyaltyImport_universal_d_QueryLoyaltyImportsRequest = QueryLoyaltyImportsRequest;\n  type loyaltyImportsV1LoyaltyImport_universal_d_QueryLoyaltyImportsResponse = QueryLoyaltyImportsResponse;\n  type loyaltyImportsV1LoyaltyImport_universal_d_DeleteLoyaltyImportRequest = DeleteLoyaltyImportRequest;\n  type loyaltyImportsV1LoyaltyImport_universal_d_DeleteLoyaltyImportResponse = DeleteLoyaltyImportResponse;\n  type loyaltyImportsV1LoyaltyImport_universal_d_ImportFinished = ImportFinished;\n  const loyaltyImportsV1LoyaltyImport_universal_d_createLoyaltyImport: typeof createLoyaltyImport;\n  type loyaltyImportsV1LoyaltyImport_universal_d_CreateLoyaltyImportOptions = CreateLoyaltyImportOptions;\n  const loyaltyImportsV1LoyaltyImport_universal_d_getLoyaltyImport: typeof getLoyaltyImport;\n  const loyaltyImportsV1LoyaltyImport_universal_d_getErrorFileDownloadUrl: typeof getErrorFileDownloadUrl;\n  const loyaltyImportsV1LoyaltyImport_universal_d_executeLoyaltyImport: typeof executeLoyaltyImport;\n  type loyaltyImportsV1LoyaltyImport_universal_d_ExecuteLoyaltyImportOptions = ExecuteLoyaltyImportOptions;\n  const loyaltyImportsV1LoyaltyImport_universal_d_createLoyaltyImportFileUrl: typeof createLoyaltyImportFileUrl;\n  const loyaltyImportsV1LoyaltyImport_universal_d_queryLoyaltyImports: typeof queryLoyaltyImports;\n  type loyaltyImportsV1LoyaltyImport_universal_d_LoyaltyImportsQueryResult = LoyaltyImportsQueryResult;\n  type loyaltyImportsV1LoyaltyImport_universal_d_LoyaltyImportsQueryBuilder = LoyaltyImportsQueryBuilder;\n  const loyaltyImportsV1LoyaltyImport_universal_d_deleteLoyaltyImport: typeof deleteLoyaltyImport;\n  type loyaltyImportsV1LoyaltyImport_universal_d_DeleteLoyaltyImportOptions = DeleteLoyaltyImportOptions;\n  namespace loyaltyImportsV1LoyaltyImport_universal_d {\n    export {\n      loyaltyImportsV1LoyaltyImport_universal_d_LoyaltyImport as LoyaltyImport,\n      loyaltyImportsV1LoyaltyImport_universal_d_ImportStatus as ImportStatus,\n      loyaltyImportsV1LoyaltyImport_universal_d_FileMetadata as FileMetadata,\n      loyaltyImportsV1LoyaltyImport_universal_d_FileHeader as FileHeader,\n      loyaltyImportsV1LoyaltyImport_universal_d_HeaderMappingInfo as HeaderMappingInfo,\n      loyaltyImportsV1LoyaltyImport_universal_d_HeaderMapping as HeaderMapping,\n      loyaltyImportsV1LoyaltyImport_universal_d_ColumnName as ColumnName,\n      loyaltyImportsV1LoyaltyImport_universal_d_SampleDataRow as SampleDataRow,\n      loyaltyImportsV1LoyaltyImport_universal_d_ParseResult as ParseResult,\n      loyaltyImportsV1LoyaltyImport_universal_d_ImportResult as ImportResult,\n      loyaltyImportsV1LoyaltyImport_universal_d_CreateLoyaltyImportRequest as CreateLoyaltyImportRequest,\n      loyaltyImportsV1LoyaltyImport_universal_d_CreateLoyaltyImportResponse as CreateLoyaltyImportResponse,\n      loyaltyImportsV1LoyaltyImport_universal_d_GetLoyaltyImportRequest as GetLoyaltyImportRequest,\n      loyaltyImportsV1LoyaltyImport_universal_d_GetLoyaltyImportResponse as GetLoyaltyImportResponse,\n      loyaltyImportsV1LoyaltyImport_universal_d_GetErrorFileDownloadUrlRequest as GetErrorFileDownloadUrlRequest,\n      loyaltyImportsV1LoyaltyImport_universal_d_GetErrorFileDownloadUrlResponse as GetErrorFileDownloadUrlResponse,\n      loyaltyImportsV1LoyaltyImport_universal_d_ExecuteLoyaltyImportRequest as ExecuteLoyaltyImportRequest,\n      loyaltyImportsV1LoyaltyImport_universal_d_ExecuteLoyaltyImportResponse as ExecuteLoyaltyImportResponse,\n      loyaltyImportsV1LoyaltyImport_universal_d_CreateLoyaltyImportFileUrlRequest as CreateLoyaltyImportFileUrlRequest,\n      loyaltyImportsV1LoyaltyImport_universal_d_CreateLoyaltyImportFileUrlResponse as CreateLoyaltyImportFileUrlResponse,\n      loyaltyImportsV1LoyaltyImport_universal_d_QueryLoyaltyImportsRequest as QueryLoyaltyImportsRequest,\n      CursorQuery$4 as CursorQuery,\n      CursorQueryPagingMethodOneOf$4 as CursorQueryPagingMethodOneOf,\n      Sorting$4 as Sorting,\n      SortOrder$4 as SortOrder,\n      CursorPaging$5 as CursorPaging,\n      loyaltyImportsV1LoyaltyImport_universal_d_QueryLoyaltyImportsResponse as QueryLoyaltyImportsResponse,\n      CursorPagingMetadata$3 as CursorPagingMetadata,\n      Cursors$5 as Cursors,\n      loyaltyImportsV1LoyaltyImport_universal_d_DeleteLoyaltyImportRequest as DeleteLoyaltyImportRequest,\n      loyaltyImportsV1LoyaltyImport_universal_d_DeleteLoyaltyImportResponse as DeleteLoyaltyImportResponse,\n      DomainEvent$8 as DomainEvent,\n      DomainEventBodyOneOf$8 as DomainEventBodyOneOf,\n      EntityCreatedEvent$8 as EntityCreatedEvent,\n      RestoreInfo$8 as RestoreInfo,\n      EntityUpdatedEvent$8 as EntityUpdatedEvent,\n      EntityDeletedEvent$8 as EntityDeletedEvent,\n      ActionEvent$8 as ActionEvent,\n      Empty$8 as Empty,\n      loyaltyImportsV1LoyaltyImport_universal_d_ImportFinished as ImportFinished,\n      MessageEnvelope$8 as MessageEnvelope,\n      IdentificationData$8 as IdentificationData,\n      IdentificationDataIdOneOf$8 as IdentificationDataIdOneOf,\n      WebhookIdentityType$8 as WebhookIdentityType,\n      loyaltyImportsV1LoyaltyImport_universal_d_createLoyaltyImport as createLoyaltyImport,\n      loyaltyImportsV1LoyaltyImport_universal_d_CreateLoyaltyImportOptions as CreateLoyaltyImportOptions,\n      loyaltyImportsV1LoyaltyImport_universal_d_getLoyaltyImport as getLoyaltyImport,\n      loyaltyImportsV1LoyaltyImport_universal_d_getErrorFileDownloadUrl as getErrorFileDownloadUrl,\n      loyaltyImportsV1LoyaltyImport_universal_d_executeLoyaltyImport as executeLoyaltyImport,\n      loyaltyImportsV1LoyaltyImport_universal_d_ExecuteLoyaltyImportOptions as ExecuteLoyaltyImportOptions,\n      loyaltyImportsV1LoyaltyImport_universal_d_createLoyaltyImportFileUrl as createLoyaltyImportFileUrl,\n      loyaltyImportsV1LoyaltyImport_universal_d_queryLoyaltyImports as queryLoyaltyImports,\n      loyaltyImportsV1LoyaltyImport_universal_d_LoyaltyImportsQueryResult as LoyaltyImportsQueryResult,\n      loyaltyImportsV1LoyaltyImport_universal_d_LoyaltyImportsQueryBuilder as LoyaltyImportsQueryBuilder,\n      loyaltyImportsV1LoyaltyImport_universal_d_deleteLoyaltyImport as deleteLoyaltyImport,\n      loyaltyImportsV1LoyaltyImport_universal_d_DeleteLoyaltyImportOptions as DeleteLoyaltyImportOptions,\n    };\n  }\n  \n  interface FollowedChannel {\n      /**\n       * Followed social media channel ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * ID of the account that has followed a social media channel.\n       * @readonly\n       */\n      accountId?: string;\n      /** Followed social media channel type. */\n      channel?: Type$3;\n      /**\n       * Date when an entity for following a social media channel was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  enum Type$3 {\n      /** Unknown social media channel type. */\n      UNKNOWN_CHANNEL = \"UNKNOWN_CHANNEL\",\n      /** Facebook social media channel. */\n      FACEBOOK = \"FACEBOOK\",\n      /** Instagram social media channel. */\n      INSTAGRAM = \"INSTAGRAM\",\n      /** LinkedIn social media channel. */\n      LINKEDIN = \"LINKEDIN\",\n      /** X social media channel. */\n      X = \"X\",\n      /** TikTok social media channel. */\n      TIKTOK = \"TIKTOK\"\n  }\n  interface CreateFollowedChannelRequest {\n      /** Followed social media channel details. */\n      followedChannel: FollowedChannel;\n  }\n  interface CreateFollowedChannelResponse {\n      /** Followed social media channel details. */\n      followedChannel?: FollowedChannel;\n  }\n  interface ListFollowedChannelsRequest {\n  }\n  interface ListFollowedChannelsResponse {\n      /** List of followed social media channels. */\n      followedChannels?: FollowedChannel[];\n  }\n  interface DomainEvent$7 extends DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n  }\n  interface EntityCreatedEvent$7 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$7;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$7 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$7 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$7 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$7 {\n      bodyAsJson?: string;\n  }\n  interface Empty$7 {\n  }\n  interface MessageEnvelope$7 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$7;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$7 extends IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$7;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$7 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates an entity for the specified account ID when the account follows a social media channel.\n   *\n   * Members can only follow enabled channels. A site owner has to enable channels in the dashboard.\n   *\n   * >**Note:**\n   * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n   * @param followedChannel - Followed social media channel details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField followedChannel\n   * @requiredField followedChannel.channel\n   * @permissionId LOYALTY.FOLLOWED_CHANNEL_CREATE\n   * @returns Followed social media channel details.\n   */\n  function createFollowedChannel(followedChannel: FollowedChannel): Promise<FollowedChannel>;\n  /**\n   * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n   *\n   * >**Note:**\n   * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ\n   */\n  function listFollowedChannels(): Promise<ListFollowedChannelsResponse>;\n  \n  type loyaltySocialmediaV1FollowedChannel_universal_d_FollowedChannel = FollowedChannel;\n  type loyaltySocialmediaV1FollowedChannel_universal_d_CreateFollowedChannelRequest = CreateFollowedChannelRequest;\n  type loyaltySocialmediaV1FollowedChannel_universal_d_CreateFollowedChannelResponse = CreateFollowedChannelResponse;\n  type loyaltySocialmediaV1FollowedChannel_universal_d_ListFollowedChannelsRequest = ListFollowedChannelsRequest;\n  type loyaltySocialmediaV1FollowedChannel_universal_d_ListFollowedChannelsResponse = ListFollowedChannelsResponse;\n  const loyaltySocialmediaV1FollowedChannel_universal_d_createFollowedChannel: typeof createFollowedChannel;\n  const loyaltySocialmediaV1FollowedChannel_universal_d_listFollowedChannels: typeof listFollowedChannels;\n  namespace loyaltySocialmediaV1FollowedChannel_universal_d {\n    export {\n      loyaltySocialmediaV1FollowedChannel_universal_d_FollowedChannel as FollowedChannel,\n      Type$3 as Type,\n      loyaltySocialmediaV1FollowedChannel_universal_d_CreateFollowedChannelRequest as CreateFollowedChannelRequest,\n      loyaltySocialmediaV1FollowedChannel_universal_d_CreateFollowedChannelResponse as CreateFollowedChannelResponse,\n      loyaltySocialmediaV1FollowedChannel_universal_d_ListFollowedChannelsRequest as ListFollowedChannelsRequest,\n      loyaltySocialmediaV1FollowedChannel_universal_d_ListFollowedChannelsResponse as ListFollowedChannelsResponse,\n      DomainEvent$7 as DomainEvent,\n      DomainEventBodyOneOf$7 as DomainEventBodyOneOf,\n      EntityCreatedEvent$7 as EntityCreatedEvent,\n      RestoreInfo$7 as RestoreInfo,\n      EntityUpdatedEvent$7 as EntityUpdatedEvent,\n      EntityDeletedEvent$7 as EntityDeletedEvent,\n      ActionEvent$7 as ActionEvent,\n      Empty$7 as Empty,\n      MessageEnvelope$7 as MessageEnvelope,\n      IdentificationData$7 as IdentificationData,\n      IdentificationDataIdOneOf$7 as IdentificationDataIdOneOf,\n      WebhookIdentityType$7 as WebhookIdentityType,\n      loyaltySocialmediaV1FollowedChannel_universal_d_createFollowedChannel as createFollowedChannel,\n      loyaltySocialmediaV1FollowedChannel_universal_d_listFollowedChannels as listFollowedChannels,\n    };\n  }\n  \n  /** Loyalty transaction. */\n  interface LoyaltyTransaction extends LoyaltyTransactionTransactionTypeInfoOneOf {\n      /** Information on points earned. */\n      earnInfo?: EarnInfo;\n      /** Information on points redeemed. */\n      redeemInfo?: RedeemInfo;\n      /** Information on points adjusted. */\n      adjustInfo?: AdjustInfo;\n      /** Information on points refunded. */\n      refundInfo?: RefundInfo;\n      /** Information on points expired. */\n      expireInfo?: ExpireInfo;\n      /** Transaction ID. */\n      _id?: string | null;\n      /** Account ID. */\n      accountId?: string;\n      /**\n       * Date and time the transaction was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * The number of points earned, adjusted, redeemed, or expired in the transaction.\n       *\n       * + `EARN`: Number of points earned by the customer taking an action. Example: `20`\n       * + `REDEEM`: The number of points redeemed by the customer for a reward. Example: `-50`\n       * + `ADJUST`: The number of points refunded for a previously redeemed reward. Examples: `20`, `-30`\n       * + `REFUND`: The number of points refunded for a previously redeemed reward. Example: `60`\n       * + `EXPIRE`: The number of points that expired due to customer inactivity for a configured period. Example: `-70`\n       */\n      amount?: number;\n      /** Transaction types. */\n      transactionType?: TransactionType;\n      /** Transaction description. */\n      description?: string;\n      /** Unique identifier, generated by the client. Used to recognize repeated attempts of the same request. Only present when manually adding points using the [Earn Points](https://dev.wix.com/docs/rest/crm/loyalty-program/accounts/earn-points) endpoint. */\n      idempotencyKey?: string;\n  }\n  /** @oneof */\n  interface LoyaltyTransactionTransactionTypeInfoOneOf {\n      /** Information on points earned. */\n      earnInfo?: EarnInfo;\n      /** Information on points redeemed. */\n      redeemInfo?: RedeemInfo;\n      /** Information on points adjusted. */\n      adjustInfo?: AdjustInfo;\n      /** Information on points refunded. */\n      refundInfo?: RefundInfo;\n      /** Information on points expired. */\n      expireInfo?: ExpireInfo;\n  }\n  enum TransactionType {\n      /** Unknown transaction type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Number of points earned by the customer taking an action. See [Earn points](https://dev.wix.com/docs/rest/crm/loyalty-program/accounts/earn-points) for more information. */\n      EARN = \"EARN\",\n      /** Number of points redeemed by the customer for a reward. */\n      REDEEM = \"REDEEM\",\n      /** Number of points refunded for a previously redeemed reward. See [Adjust Points](https://dev.wix.com/docs/rest/crm/loyalty-program/accounts/adjust-points) for more information. */\n      ADJUST = \"ADJUST\",\n      /** Number of points refunded for a previously redeemed reward. */\n      REFUND = \"REFUND\",\n      /** Number of points that expired due to customer inactivity for a configured period. */\n      EXPIRE = \"EXPIRE\"\n  }\n  interface EarnInfo extends EarnInfoActivityDetailsOneOf {\n      /**\n       * Followed social media details.\n       * @internal\n       */\n      followedSocialMedia?: FollowedSocialMedia$1;\n      /**\n       * ID of the the app responsible for providing the earning points data.\n       * @readonly\n       */\n      appId?: string;\n      /** Activity type. */\n      activityType?: string;\n      /** Order ID. */\n      orderId?: string | null;\n  }\n  /** @oneof */\n  interface EarnInfoActivityDetailsOneOf {\n      /**\n       * Followed social media details.\n       * @internal\n       */\n      followedSocialMedia?: FollowedSocialMedia$1;\n  }\n  interface FollowedSocialMedia$1 {\n      /**\n       * Social media channel.\n       * Example: `FACEBOOK`, `INSTAGRAM`.\n       */\n      channel?: string;\n  }\n  interface RedeemInfo {\n      /**\n       * ID of the reward that was redeemed.\n       * @readonly\n       */\n      rewardId?: string;\n      /**\n       * Type of reward that was redeemed.\n       * @readonly\n       */\n      rewardType?: string | null;\n      /**\n       * ID of the specific item that was redeemed in this transaction.\n       *\n       * Each reward that is redeemed has a unique `referenceEntityId`.\n       * @readonly\n       */\n      referenceEntityId?: string | null;\n  }\n  interface AdjustInfo {\n      /**\n       * App ID of application that initiated this points adjust.\n       * @readonly\n       */\n      appId?: string;\n      /** Amount before adjust. */\n      amountBefore?: number;\n      /** Amount after adjust. */\n      amountAfter?: number;\n  }\n  interface RefundInfo {\n      /**\n       * ID of the app responsible for providing the refund points data.\n       * @readonly\n       */\n      appId?: string;\n      /**\n       * ID of the transaction that was refunded.\n       * @readonly\n       */\n      refundedTransactionId?: string | null;\n  }\n  interface ExpireInfo {\n      /** Amount before expiration. */\n      amountBefore?: number;\n      /** Amount after expiration. */\n      amountAfter?: number;\n  }\n  interface CreateLoyaltyTransactionRequest {\n      /** LoyaltyTransaction to be created. */\n      loyaltyTransaction: LoyaltyTransaction;\n  }\n  interface CreateLoyaltyTransactionResponse {\n      /** The created LoyaltyTransaction. */\n      loyaltyTransaction?: LoyaltyTransaction;\n  }\n  interface BulkCreateLoyaltyTransactionsRequest {\n      /** Transactions to create. */\n      loyaltyTransactions?: LoyaltyTransaction[];\n      /** Determines if entities must be returned in response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateLoyaltyTransactionsResponse {\n      /** Results of bulk creation. */\n      results?: BulkLoyaltyTransactionResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$4;\n  }\n  interface ItemMetadata$4 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$4;\n  }\n  interface ApplicationError$4 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkLoyaltyTransactionResult {\n      /** Individual loyalty transaction metadata. */\n      itemMetadata?: ItemMetadata$4;\n      /** Only exists if `returnEntity` was set to true in the request. */\n      item?: LoyaltyTransaction;\n  }\n  interface BulkActionMetadata$4 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetLoyaltyTransactionRequest {\n      /** ID of the loyalty transaction to be retrieved. */\n      loyaltyTransactionId: string;\n  }\n  interface GetLoyaltyTransactionResponse {\n      /** Requested `Loyalty Transaction` object. */\n      loyaltyTransaction?: LoyaltyTransaction;\n  }\n  interface QueryLoyaltyTransactionsRequest {\n      /** Loyalty transaction query parameters. */\n      query?: CursorQuery$3;\n  }\n  interface CursorQuery$3 extends CursorQueryPagingMethodOneOf$3 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$4;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$3 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$4 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryLoyaltyTransactionsResponse {\n      /** List of loyalty transactions. */\n      loyaltyTransactions?: LoyaltyTransaction[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$4;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$4 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$6 extends DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n  }\n  interface EntityCreatedEvent$6 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$6;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$6 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$6 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$6 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$6 {\n      bodyAsJson?: string;\n  }\n  interface Empty$6 {\n  }\n  interface GetTransactionSumRequest {\n      /** Filter loyalty transactions to sum */\n      filter?: Record<string, any> | null;\n  }\n  interface GetTransactionSumResponse {\n      /** Total amount of all filtered loyalty transactions */\n      totalAmount?: number;\n  }\n  interface MessageEnvelope$6 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$6;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$6 extends IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$6;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$6 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a LoyaltyTransaction.\n   * @param loyaltyTransaction - LoyaltyTransaction to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField loyaltyTransaction\n   * @permissionId LOYALTY.MANAGE_TRANSACTIONS\n   * @adminMethod\n   * @returns The created LoyaltyTransaction.\n   */\n  function createLoyaltyTransaction(loyaltyTransaction: LoyaltyTransaction): Promise<LoyaltyTransaction>;\n  /**\n   * Creates up to 100 loyalty transactions.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.MANAGE_TRANSACTIONS\n   * @adminMethod\n   */\n  function bulkCreateLoyaltyTransactions(options?: BulkCreateLoyaltyTransactionsOptions): Promise<BulkCreateLoyaltyTransactionsResponse>;\n  interface BulkCreateLoyaltyTransactionsOptions {\n      /** Transactions to create. */\n      loyaltyTransactions?: LoyaltyTransaction[];\n      /** Determines if entities must be returned in response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Retrieves a transaction.\n   * @param loyaltyTransactionId - ID of the loyalty transaction to be retrieved.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField loyaltyTransactionId\n   * @permissionId LOYALTY.READ_TRANSACTIONS\n   * @adminMethod\n   * @returns Requested `Loyalty Transaction` object.\n   */\n  function getLoyaltyTransaction(loyaltyTransactionId: string): Promise<LoyaltyTransaction>;\n  /**\n   * Retrieves a list of loyalty transactions, given the provided [paging, filtering, and sorting][1].\n   *\n   * Supported fields for filtering and sorting:\n   * `id`, `accountId`, `idempotencyKey`, `transactionType`, `amount`, `description`\n   *\n   * To learn how to query Loyalty Transactions, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.READ_TRANSACTIONS\n   * @adminMethod\n   */\n  function queryLoyaltyTransactions(): LoyaltyTransactionsQueryBuilder;\n  interface QueryCursorResult$2 {\n      cursors: Cursors$4;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface LoyaltyTransactionsQueryResult extends QueryCursorResult$2 {\n      items: LoyaltyTransaction[];\n      query: LoyaltyTransactionsQueryBuilder;\n      next: () => Promise<LoyaltyTransactionsQueryResult>;\n      prev: () => Promise<LoyaltyTransactionsQueryResult>;\n  }\n  interface LoyaltyTransactionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'accountId' | 'amount' | 'transactionType' | 'description' | 'idempotencyKey', value: any) => LoyaltyTransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'accountId' | 'amount' | 'transactionType' | 'description' | 'idempotencyKey', value: any) => LoyaltyTransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'amount', value: any) => LoyaltyTransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'amount', value: any) => LoyaltyTransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'amount', value: any) => LoyaltyTransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'amount', value: any) => LoyaltyTransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'accountId' | 'description' | 'idempotencyKey', value: string) => LoyaltyTransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'accountId' | 'amount' | 'transactionType' | 'description' | 'idempotencyKey', value: any[]) => LoyaltyTransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'accountId' | 'amount' | 'transactionType' | 'description' | 'idempotencyKey', value: any) => LoyaltyTransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'accountId' | 'amount' | 'transactionType' | 'description' | 'idempotencyKey', value: boolean) => LoyaltyTransactionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'accountId' | 'amount' | 'transactionType' | 'description' | 'idempotencyKey'>) => LoyaltyTransactionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'accountId' | 'amount' | 'transactionType' | 'description' | 'idempotencyKey'>) => LoyaltyTransactionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => LoyaltyTransactionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => LoyaltyTransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<LoyaltyTransactionsQueryResult>;\n  }\n  /**\n   * Returns total amount sum of filtered transactions\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.READ_TRANSACTIONS\n   * @adminMethod\n   */\n  function getTransactionSum(options?: GetTransactionSumOptions): Promise<GetTransactionSumResponse>;\n  interface GetTransactionSumOptions {\n      /** Filter loyalty transactions to sum */\n      filter?: Record<string, any> | null;\n  }\n  \n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_LoyaltyTransaction = LoyaltyTransaction;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_LoyaltyTransactionTransactionTypeInfoOneOf = LoyaltyTransactionTransactionTypeInfoOneOf;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_TransactionType = TransactionType;\n  const loyaltyTransactionV1LoyaltyTransaction_universal_d_TransactionType: typeof TransactionType;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_EarnInfo = EarnInfo;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_EarnInfoActivityDetailsOneOf = EarnInfoActivityDetailsOneOf;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_RedeemInfo = RedeemInfo;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_AdjustInfo = AdjustInfo;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_RefundInfo = RefundInfo;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_ExpireInfo = ExpireInfo;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_CreateLoyaltyTransactionRequest = CreateLoyaltyTransactionRequest;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_CreateLoyaltyTransactionResponse = CreateLoyaltyTransactionResponse;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_BulkCreateLoyaltyTransactionsRequest = BulkCreateLoyaltyTransactionsRequest;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_BulkCreateLoyaltyTransactionsResponse = BulkCreateLoyaltyTransactionsResponse;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_BulkLoyaltyTransactionResult = BulkLoyaltyTransactionResult;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_GetLoyaltyTransactionRequest = GetLoyaltyTransactionRequest;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_GetLoyaltyTransactionResponse = GetLoyaltyTransactionResponse;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_QueryLoyaltyTransactionsRequest = QueryLoyaltyTransactionsRequest;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_QueryLoyaltyTransactionsResponse = QueryLoyaltyTransactionsResponse;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_GetTransactionSumRequest = GetTransactionSumRequest;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_GetTransactionSumResponse = GetTransactionSumResponse;\n  const loyaltyTransactionV1LoyaltyTransaction_universal_d_createLoyaltyTransaction: typeof createLoyaltyTransaction;\n  const loyaltyTransactionV1LoyaltyTransaction_universal_d_bulkCreateLoyaltyTransactions: typeof bulkCreateLoyaltyTransactions;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_BulkCreateLoyaltyTransactionsOptions = BulkCreateLoyaltyTransactionsOptions;\n  const loyaltyTransactionV1LoyaltyTransaction_universal_d_getLoyaltyTransaction: typeof getLoyaltyTransaction;\n  const loyaltyTransactionV1LoyaltyTransaction_universal_d_queryLoyaltyTransactions: typeof queryLoyaltyTransactions;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_LoyaltyTransactionsQueryResult = LoyaltyTransactionsQueryResult;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_LoyaltyTransactionsQueryBuilder = LoyaltyTransactionsQueryBuilder;\n  const loyaltyTransactionV1LoyaltyTransaction_universal_d_getTransactionSum: typeof getTransactionSum;\n  type loyaltyTransactionV1LoyaltyTransaction_universal_d_GetTransactionSumOptions = GetTransactionSumOptions;\n  namespace loyaltyTransactionV1LoyaltyTransaction_universal_d {\n    export {\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_LoyaltyTransaction as LoyaltyTransaction,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_LoyaltyTransactionTransactionTypeInfoOneOf as LoyaltyTransactionTransactionTypeInfoOneOf,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_TransactionType as TransactionType,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_EarnInfo as EarnInfo,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_EarnInfoActivityDetailsOneOf as EarnInfoActivityDetailsOneOf,\n      FollowedSocialMedia$1 as FollowedSocialMedia,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_RedeemInfo as RedeemInfo,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_AdjustInfo as AdjustInfo,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_RefundInfo as RefundInfo,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_ExpireInfo as ExpireInfo,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_CreateLoyaltyTransactionRequest as CreateLoyaltyTransactionRequest,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_CreateLoyaltyTransactionResponse as CreateLoyaltyTransactionResponse,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_BulkCreateLoyaltyTransactionsRequest as BulkCreateLoyaltyTransactionsRequest,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_BulkCreateLoyaltyTransactionsResponse as BulkCreateLoyaltyTransactionsResponse,\n      ItemMetadata$4 as ItemMetadata,\n      ApplicationError$4 as ApplicationError,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_BulkLoyaltyTransactionResult as BulkLoyaltyTransactionResult,\n      BulkActionMetadata$4 as BulkActionMetadata,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_GetLoyaltyTransactionRequest as GetLoyaltyTransactionRequest,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_GetLoyaltyTransactionResponse as GetLoyaltyTransactionResponse,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_QueryLoyaltyTransactionsRequest as QueryLoyaltyTransactionsRequest,\n      CursorQuery$3 as CursorQuery,\n      CursorQueryPagingMethodOneOf$3 as CursorQueryPagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      CursorPaging$4 as CursorPaging,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_QueryLoyaltyTransactionsResponse as QueryLoyaltyTransactionsResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$4 as Cursors,\n      DomainEvent$6 as DomainEvent,\n      DomainEventBodyOneOf$6 as DomainEventBodyOneOf,\n      EntityCreatedEvent$6 as EntityCreatedEvent,\n      RestoreInfo$6 as RestoreInfo,\n      EntityUpdatedEvent$6 as EntityUpdatedEvent,\n      EntityDeletedEvent$6 as EntityDeletedEvent,\n      ActionEvent$6 as ActionEvent,\n      Empty$6 as Empty,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_GetTransactionSumRequest as GetTransactionSumRequest,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_GetTransactionSumResponse as GetTransactionSumResponse,\n      MessageEnvelope$6 as MessageEnvelope,\n      IdentificationData$6 as IdentificationData,\n      IdentificationDataIdOneOf$6 as IdentificationDataIdOneOf,\n      WebhookIdentityType$6 as WebhookIdentityType,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_createLoyaltyTransaction as createLoyaltyTransaction,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_bulkCreateLoyaltyTransactions as bulkCreateLoyaltyTransactions,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_BulkCreateLoyaltyTransactionsOptions as BulkCreateLoyaltyTransactionsOptions,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_getLoyaltyTransaction as getLoyaltyTransaction,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_queryLoyaltyTransactions as queryLoyaltyTransactions,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_LoyaltyTransactionsQueryResult as LoyaltyTransactionsQueryResult,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_LoyaltyTransactionsQueryBuilder as LoyaltyTransactionsQueryBuilder,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_getTransactionSum as getTransactionSum,\n      loyaltyTransactionV1LoyaltyTransaction_universal_d_GetTransactionSumOptions as GetTransactionSumOptions,\n    };\n  }\n  \n  /**\n   * A loyalty account stores a customer's loyalty points balance. A site's customers can earn points to their account\n   * and redeem those points for rewards.\n   */\n  interface LoyaltyAccount {\n      /**\n       * Account ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Account owner's contact ID. See the [Contacts API](wix-crm-backend/contacts) to learn more.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * Account owner's member ID. See the [Members API](wix-members-backend/introduction) to learn more.\n       * @readonly\n       */\n      memberId?: string | null;\n      /**\n       * Information about the account totals.\n       * @readonly\n       */\n      points?: Points;\n      /**\n       * Whether the account has a reward available. `true` if the amount of points in `points.balance` are enough to redeem for a reward.\n       * @readonly\n       */\n      rewardAvailable?: boolean;\n      /**\n       * Date and time the account was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the account was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Account's last activity date and time.\n       * @readonly\n       */\n      lastActivityDate?: Date | null;\n      /**\n       * Revision number, which increments by 1 each time the loyalty account is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty account.\n       *\n       * Ignored when creating an account.\n       */\n      revision?: string;\n      /**\n       * Tier information.\n       * @readonly\n       */\n      tier?: Tier$1;\n      /**\n       * Contact information.\n       * @readonly\n       */\n      contact?: Contact;\n      /**\n       * Points expiration information\n       * @readonly\n       */\n      pointsExpiration?: PointsExpiration$1;\n  }\n  interface Points {\n      /**\n       * Current point balance.\n       *\n       * Equal to the sum of `earned` and `adjusted` points, minus `redeemed` points.\n       * @readonly\n       */\n      balance?: number;\n      /**\n       * Total earned points.\n       * @readonly\n       */\n      earned?: number;\n      /**\n       * Total adjusted points.\n       * @readonly\n       */\n      adjusted?: number;\n      /**\n       * Total redeemed points.\n       * @readonly\n       */\n      redeemed?: number;\n      /**\n       * Total expired points.\n       * @readonly\n       */\n      expired?: number;\n  }\n  /**\n   * Tier information.\n   *\n   * The Tiers API is currently unavailable, but the program may be activated and managed from a site's\n   * [loyalty dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Floyalty-accounts/wizard/).\n   */\n  interface Tier$1 {\n      /**\n       * Tier ID.\n       *\n       * This field will not be returned if the account belongs to the base tier.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date and time the tier information was last recalculated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Reserved for internal use.\n       * @internal\n       * @readonly\n       */\n      recalculationDate?: Date | null;\n      /**\n       * Points earned and adjusted over the tier's current rolling window.\n       * @readonly\n       */\n      points?: number;\n  }\n  /** Loyalty account's contact information */\n  interface Contact {\n      /**\n       * Contact ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Contact's first and last name.\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Contact's profile picture.\n       * @readonly\n       */\n      picture?: Image;\n      /**\n       * Contact's email addresses.\n       * @readonly\n       */\n      email?: string | null;\n      /**\n       * Contact's first and last name. If no name is provided, uses contact's email.\n       * @readonly\n       */\n      displayName?: string | null;\n  }\n  interface Image {\n      /** WixMedia image ID. */\n      _id?: string;\n      /** Image URL. */\n      url?: string;\n      /**\n       * Original image height.\n       * @readonly\n       */\n      height?: number;\n      /**\n       * Original image width.\n       * @readonly\n       */\n      width?: number;\n  }\n  interface PointsExpiration$1 {\n      /**\n       * Date at which points are expiring.\n       * @readonly\n       */\n      expirationDate?: Date | null;\n      /**\n       * Amount of points that are going to expire at that date.\n       * @readonly\n       */\n      expiringPointsAmount?: number;\n  }\n  interface RewardAvailabilityUpdated {\n      /** True if rewards is available. */\n      rewardAvailable?: boolean;\n      /** Source of this change. */\n      updateTrigger?: UpdateTrigger;\n  }\n  enum UpdateTrigger {\n      /** Undefined trigger. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Reward was updated. */\n      REWARD_UPDATED = \"REWARD_UPDATED\",\n      /** Balance was updated. */\n      BALANCE_UPDATED = \"BALANCE_UPDATED\",\n      /** Tiers were recalculated. */\n      TIERS_RECALCULATED = \"TIERS_RECALCULATED\"\n  }\n  interface CreateAccountRequest {\n      /**\n       * Contact ID for a Wix site contact. See the [Contacts API](wix-crm-backend/contacts) to learn more.\n       *\n       */\n      contactId: string;\n  }\n  interface CreateAccountResponse {\n      /** Created loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface EarnPointsRequest extends EarnPointsRequestActivityDetailsOneOf {\n      /** Followed social media details. */\n      followedSocialMedia?: FollowedSocialMedia;\n      /** Loyalty account ID. */\n      accountId: string;\n      /**\n       * Amount of points to earn. Must be a positive, whole number.\n       *\n       * Min: `1`\n       *\n       * Max: `9999999`\n       */\n      amount?: number;\n      /**\n       * Description of how the points were earned.\n       *\n       * Max: 100 characters\n       */\n      description?: string;\n      /**\n       * ID of the app that initiated the transaction.\n       *\n       * If points were earned manually, then the `appId` is the Loyalty app's\n       * `wixAppId` of `553c79f3-5625-4f38-b14b-ef7c0d1e87df`. If points were earned in an automatic event,\n       * then the `appId` is from that automation's `sourceAppId`.\n       */\n      appId: string;\n      /**\n       * Unique string identifier generated by the app. Wix uses this identifier to recognize subsequent retries of the same request.\n       *\n       * Please use `GUID` format.\n       */\n      idempotencyKey: string;\n      /**\n       * Activity type.\n       *\n       * If points were earned through automation it should be set to trigger key.\n       */\n      activityType?: string | null;\n      /** Order id which was source of this transaction. */\n      orderId?: string | null;\n  }\n  /** @oneof */\n  interface EarnPointsRequestActivityDetailsOneOf {\n      /** Followed social media details. */\n      followedSocialMedia?: FollowedSocialMedia;\n  }\n  interface FollowedSocialMedia {\n      /**\n       * Social media channel.\n       * Example: `FACEBOOK`, `INSTAGRAM`.\n       */\n      channel?: string;\n  }\n  interface EarnPointsResponse {\n      /** Updated loyalty account. */\n      account?: LoyaltyAccount;\n      /**\n       * Transaction ID associated with the points earned.\n       * @readonly\n       */\n      transactionId?: string;\n  }\n  interface PointsUpdated {\n      /** Updated account. */\n      account?: LoyaltyAccount;\n  }\n  interface FirstTransaction {\n      /** Updated account. */\n      account?: LoyaltyAccount;\n  }\n  interface AdjustPointsRequest extends AdjustPointsRequestTypeOneOf {\n      /**\n       * Sets the account's point balance to this amount. Must be a positive, whole number or zero.\n       *\n       * The net difference between this new balance and the previous balance will be reflected in the `adjusted` field of the customer's account.\n       *\n       * Min: `0`\n       *\n       * Max: `999999999`\n       */\n      balance?: number;\n      /**\n       * Adjusts the account's point balance by this amount. Must be a whole number with a maximum of 7 digits.\n       * The amount can be negative, but cannot be `0`.\n       *\n       * Min: `-9999999`\n       *\n       * Max: `9999999`\n       */\n      amount?: number;\n      /**\n       * Adjusts the account's point balance by this amount. Also account's \"redeemed points\" is reduced by this amount.\n       * Must be a whole number with a maximum of 7 digits.\n       * The amount can be negative, but cannot be `0`.\n       *\n       * Min: `-9999999`\n       *\n       * Max: `9999999`\n       * @internal\n       */\n      refund?: number;\n      /** Loyalty account ID. */\n      accountId: string;\n      /** Description to explain the reason for the points adjustment. */\n      description?: string | null;\n      /**\n       * Each time the loyalty account is updated, `revision` increments by 1.\n       *\n       * The current `revision` must be passed when adjusting points in the loyalty account. This\n       * ensures you're working with the latest version of the loyalty account and prevents unintended overwrites.\n       */\n      revision?: string;\n  }\n  /** @oneof */\n  interface AdjustPointsRequestTypeOneOf {\n      /**\n       * Sets the account's point balance to this amount. Must be a positive, whole number or zero.\n       *\n       * The net difference between this new balance and the previous balance will be reflected in the `adjusted` field of the customer's account.\n       *\n       * Min: `0`\n       *\n       * Max: `999999999`\n       */\n      balance?: number;\n      /**\n       * Adjusts the account's point balance by this amount. Must be a whole number with a maximum of 7 digits.\n       * The amount can be negative, but cannot be `0`.\n       *\n       * Min: `-9999999`\n       *\n       * Max: `9999999`\n       */\n      amount?: number;\n      /**\n       * Adjusts the account's point balance by this amount. Also account's \"redeemed points\" is reduced by this amount.\n       * Must be a whole number with a maximum of 7 digits.\n       * The amount can be negative, but cannot be `0`.\n       *\n       * Min: `-9999999`\n       *\n       * Max: `9999999`\n       * @internal\n       */\n      refund?: number;\n  }\n  interface AdjustPointsResponse {\n      /** Adjusted loyalty account. */\n      account?: LoyaltyAccount;\n      /**\n       * Transaction ID associated with the points adjustment.\n       * @readonly\n       */\n      transactionId?: string;\n  }\n  interface RedeemPointsRequest {\n      /** Loyalty account ID. */\n      accountId: string;\n      /** Reward ID. See [Rewards API](https://dev.wix.com/api/rest/loyalty/rewards/rewards-object) for more details. */\n      rewardId: string;\n      /** Number of times the given reward will be redeemed. Must be a positive whole number. */\n      count?: number;\n      /**\n       * Revision number, which increments by 1 each time points are redeemed.\n       * To prevent conflicting changes, the existing `revision` must be used when redeeming points.\n       */\n      revision?: string;\n      /** Id of the entity that is being redeemed (e.g. orderId for order discount, couponId for coupon reward). */\n      referenceEntityId?: string | null;\n  }\n  interface RedeemPointsResponse {\n      /** Loyalty account. */\n      account?: LoyaltyAccount;\n      /**\n       * Transaction ID associated with the redemption.\n       * @readonly\n       */\n      transactionId?: string;\n  }\n  interface RedeemDeterminedAmountOfPointsRequest {\n      /** Loyalty account ID. */\n      accountId: string;\n      /** Reward ID. See [Rewards API](https://dev.wix.com/api/rest/loyalty/rewards/rewards-object) for more details. */\n      rewardId: string;\n      /** Number of points to be redeemed off the account. */\n      points?: number;\n      /**\n       * Revision number, which increments by 1 each time points are redeemed.\n       * To prevent conflicting changes, the existing `revision` must be used when redeeming points.\n       */\n      revision?: string;\n      /** Id of the entity that is being redeemed (e.g. orderId for order discount, couponId for coupon reward). */\n      referenceEntityId?: string | null;\n  }\n  interface RedeemDeterminedAmountOfPointsResponse {\n      /** Loyalty account. */\n      account?: LoyaltyAccount;\n      /**\n       * Transaction ID associated with the redemption.\n       * @readonly\n       */\n      transactionId?: string;\n  }\n  interface RefundTransactionRequest {\n      /**\n       * Transaction ID associated with the refund.\n       * @readonly\n       */\n      transactionId: string;\n  }\n  interface RefundTransactionResponse {\n  }\n  interface GetAccountRequest {\n      /** ID of the account to retrieve. */\n      _id: string;\n  }\n  interface GetAccountResponse {\n      /** Retrieved loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface QueryLoyaltyAccountsRequest {\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       */\n      query: CursorQuery$2;\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$3 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryLoyaltyAccountsResponse {\n      /** Loyalty accounts. */\n      loyaltyAccounts?: LoyaltyAccount[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$3;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$3 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListUserAccountsRequest {\n      /** Number of items to load. Minimum `1`, maximum `50`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListUserAccountsResponse {\n      /** Loyalty accounts. */\n      accounts?: LoyaltyAccountForMetaSite[];\n  }\n  interface LoyaltyAccountForMetaSite {\n      /** Loyalty account. */\n      account?: LoyaltyAccount;\n      /** Metasite ID. */\n      metaSiteId?: string;\n  }\n  interface GetProgramTotalsRequest {\n  }\n  interface GetProgramTotalsResponse {\n      /** Point totals for the entire program. */\n      points?: Points;\n      /** Tier total for the entire program. */\n      tierTotals?: TierTotal[];\n  }\n  interface TierTotal {\n      /**\n       * Tier ID. If no Tier ID provided, the ID is null. See [Base tier](https://dev.wix.com/docs/rest/crm/loyalty-program/tiers/introduction)for more information.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Total number of loyalty account that belong to a particular Tier. */\n      numberOfAccounts?: number;\n  }\n  interface GetCurrentMemberAccountRequest {\n  }\n  interface GetCurrentMemberAccountResponse {\n      /** Loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface GetMyAccountRequest {\n  }\n  interface GetMyAccountResponse {\n      /** Loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface GetAccountBySecondaryIdRequest extends GetAccountBySecondaryIdRequestIdOneOf {\n      /** Account owner's contact ID. See the [Contacts API](wix-crm-backend/contacts) to learn more. */\n      contactId?: string;\n      /** Account owner's member ID. See the [Members API](wix-members-backend/introduction) to learn more. */\n      memberId?: string;\n  }\n  /** @oneof */\n  interface GetAccountBySecondaryIdRequestIdOneOf {\n      /** Account owner's contact ID. See the [Contacts API](wix-crm-backend/contacts) to learn more. */\n      contactId?: string;\n      /** Account owner's member ID/ See the [Members API](wix-members-backend/introduction) to learn more. */\n      memberId?: string;\n  }\n  interface GetAccountBySecondaryIdResponse {\n      /** Retrieved loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  /** Options to use when retrieving a list of loyalty accounts. */\n  interface ListAccountsRequest {\n      /** List of contact IDs. See the [Contacts API](wix-crm-backend/contacts) to learn more. */\n      contactIds?: string[];\n      /** Pagination options. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface ListAccountsResponse {\n      /** Retrieved loyalty accounts. */\n      accounts?: LoyaltyAccount[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2$3;\n  }\n  interface PagingMetadataV2$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$3;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  /** Options to use when search for loyalty accounts. */\n  interface SearchAccountsRequest {\n      /** Search options. */\n      search?: CursorSearch;\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * List of sort objects.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$2[];\n      /** Aggregations are a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome.\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. For example, `\"2023-12-20T10:52:34.795Z\"`.\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Aggregation extends AggregationKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation. */\n      nested?: NestedAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below. */\n      type?: AggregationType;\n      /** Field to aggregate by, use dot notation to specify json path. */\n      fieldPath?: string;\n      /**\n       * Deprecated. Use `nested` instead.\n       * @deprecated Deprecated. Use `nested` instead.\n       * @replacedBy kind.nested\n       * @targetRemovalDate 2024-03-30\n       */\n      groupBy?: GroupByAggregation;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation. */\n      nested?: NestedAggregation;\n  }\n  interface RangeBucket {\n      /** Inclusive lower bound of the range. Required if `to` is not provided. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if `from` is not provided. */\n      to?: number | null;\n  }\n  enum SortType {\n      /** Sort by number of matches. */\n      COUNT = \"COUNT\",\n      /** Sort by value of the field alphabetically. */\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection {\n      /** Sort in descending order. */\n      DESC = \"DESC\",\n      /** Sort in ascending order. */\n      ASC = \"ASC\"\n  }\n  enum MissingValues {\n      /** Exclude missing values from the aggregation results. */\n      EXCLUDE = \"EXCLUDE\",\n      /** Include missing values in the aggregation results. */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions {\n      /** Specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum ScalarType {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values. */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value. */\n      MIN = \"MIN\",\n      /** Maximum value. */\n      MAX = \"MAX\",\n      /** Sum of values. */\n      SUM = \"SUM\",\n      /** Average of values. */\n      AVG = \"AVG\"\n  }\n  interface ValueAggregation extends ValueAggregationOptionsOneOf {\n      /** Options for including missing values. */\n      includeOptions?: IncludeMissingValuesOptions;\n      /** Whether to sort by number of matches or value of the field. */\n      sortType?: SortType;\n      /** Whether to sort in ascending or descending order. */\n      sortDirection?: SortDirection;\n      /** How many aggregations to return. Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** Whether to include or exclude missing values from the aggregation results. Default: `EXCLUDE`. */\n      missingValues?: MissingValues;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf {\n      /** Options for including missing values. */\n      includeOptions?: IncludeMissingValuesOptions;\n  }\n  enum NestedAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example, min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.). */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface RangeAggregation {\n      /** List of range buckets, where during aggregation each entity will be placed in the first bucket its value falls into, based on the provided range bounds. */\n      buckets?: RangeBucket[];\n  }\n  interface ScalarAggregation {\n      /** Define the operator for the scalar aggregation. */\n      type?: ScalarType;\n  }\n  interface DateHistogramAggregation {\n      /** Interval for date histogram aggregation. */\n      interval?: DateHistogramAggregationInterval;\n  }\n  enum DateHistogramAggregationInterval {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval */\n      YEAR = \"YEAR\",\n      /** Monthly interval */\n      MONTH = \"MONTH\",\n      /** Weekly interval */\n      WEEK = \"WEEK\",\n      /** Daily interval */\n      DAY = \"DAY\",\n      /** Hourly interval */\n      HOUR = \"HOUR\",\n      /** Minute interval */\n      MINUTE = \"MINUTE\",\n      /** Second interval */\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below. */\n      type?: NestedAggregationType;\n      /** Field to aggregate by, use dot notation to specify json path. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n  }\n  enum AggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example, min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Multi-level aggregation, where each next aggregation is nested within previous one. */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one. */\n  interface NestedAggregation {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one. */\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface GroupByAggregation extends GroupByAggregationKindOneOf {\n      /** Value aggregation configuration. */\n      value?: ValueAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Field to aggregate by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface GroupByAggregationKindOneOf {\n      /** Value aggregation configuration. */\n      value?: ValueAggregation;\n  }\n  interface SearchDetails {\n      /** Defines how separate search terms in `expression` are combined. */\n      mode?: Mode;\n      /** Search term or expression. */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path. */\n      fields?: string[];\n      /** Whether to use auto fuzzy search (allowing typos by a managed proximity algorithm). */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** Any of the search terms must be present. */\n      OR = \"OR\",\n      /** All search terms must be present. */\n      AND = \"AND\"\n  }\n  /** Accounts found through provided search capabilities, along with paging and aggregation data of the results. */\n  interface SearchAccountsResponse {\n      /** Found accounts. */\n      accounts?: LoyaltyAccount[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$1;\n      /** Aggregation data */\n      aggregationData?: AggregationData;\n  }\n  interface AggregationData {\n      /** key = aggregation name (as derived from search request). */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      /** Value of the field. */\n      value?: string;\n      /** Count of entities with this value. */\n      count?: number;\n  }\n  interface RangeAggregationResult {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in this range. */\n      count?: number;\n  }\n  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: ScalarResult;\n      /** User-defined name of aggregation, matches the one provided in request. */\n      name?: string;\n      /** Type of aggregation that matches result. */\n      type?: AggregationType;\n      /** Field to aggregate by, matches the one provided in request. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: ScalarResult;\n  }\n  interface ValueResults {\n      /** List of value aggregations. */\n      results?: ValueAggregationResult[];\n  }\n  interface RangeResults {\n      /** List of ranges returned in same order as requested. */\n      results?: RangeAggregationResult[];\n  }\n  interface ScalarResult {\n      /** Type of scalar aggregation. */\n      type?: ScalarType;\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedValueAggregationResult {\n      /** Value of the field. */\n      value?: string;\n      /** Nested aggregations. */\n      nestedResults?: NestedAggregationResults;\n  }\n  interface ValueResult {\n      /** Value of the field. */\n      value?: string;\n      /** Count of entities with this value. */\n      count?: number | null;\n  }\n  interface RangeResult {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in this range. */\n      count?: number | null;\n  }\n  interface NestedResultsScalarResult {\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation result. */\n      value?: ValueResult;\n      /** Range aggregation result. */\n      range?: RangeResult;\n      /** Scalar aggregation result. */\n      scalar?: NestedResultsScalarResult;\n      /** Date histogram aggregation result. */\n      dateHistogram?: ValueResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation result. */\n      value?: ValueResult;\n      /** Range aggregation result. */\n      range?: RangeResult;\n      /** Scalar aggregation result. */\n      scalar?: NestedResultsScalarResult;\n      /** Date histogram aggregation result. */\n      dateHistogram?: ValueResult;\n  }\n  interface Results {\n      /** List of nested aggregations. */\n      results?: Record<string, NestedResultValue>;\n  }\n  interface DateHistogramResult {\n      /** Date in ISO 8601 format. */\n      value?: string;\n      /** Count of documents in the bucket. */\n      count?: number;\n  }\n  interface GroupByValueResults {\n      /** List of value aggregations. */\n      results?: NestedValueAggregationResult[];\n  }\n  interface DateHistogramResults {\n      /** List of date histogram aggregations. */\n      results?: DateHistogramResult[];\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form.\n   * Aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults {\n      /** List of nested aggregations. */\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: ScalarResult;\n      /** Group by value aggregation results. */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n      /** User-defined name of aggregation as derived from search request. */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request. */\n      type?: AggregationType;\n      /** Field to aggregate by as derived from search request. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: ScalarResult;\n      /** Group by value aggregation results. */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n  }\n  interface ExportAccountsRequest {\n      query?: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$2[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ExportAccountsResponse {\n      accounts?: LoyaltyAccount[];\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  /** Options to use when looking up count of loyalty accounts. */\n  interface CountAccountsRequest {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n  }\n  /** Count of accounts found for given search query */\n  interface CountAccountsResponse {\n      count?: number;\n  }\n  interface BulkAdjustPointsRequest extends BulkAdjustPointsRequestTypeOneOf {\n      balance?: number;\n      amount?: number;\n      search?: CursorSearch;\n  }\n  /** @oneof */\n  interface BulkAdjustPointsRequestTypeOneOf {\n      balance?: number;\n      amount?: number;\n  }\n  interface BulkAdjustPointsResponse {\n      /** @readonly */\n      asyncJobId?: string | null;\n  }\n  interface DomainEvent$5 extends DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n  }\n  interface EntityCreatedEvent$5 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$5;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$5 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$5 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$5 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$5 {\n      bodyAsJson?: string;\n  }\n  interface Empty$5 {\n  }\n  interface TiersRollingUpdate$1 {\n  }\n  interface TiersProgramSettingsChanged$1 {\n      /** Settings for the tiers program. */\n      programSettings?: TiersProgramSettings$1;\n  }\n  /** There can be single TiersSettings per site and it's global (i.e. applies to all program's tiers) */\n  interface TiersProgramSettings$1 extends TiersProgramSettingsPeriodOneOf$1 {\n      /**\n       * *Required.**\n       * Period of time used to calculate loyalty points for tier assignment.\n       *\n       * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n       */\n      rollingWindow?: RollingWindow$1;\n      /** Tiers program status. */\n      status?: Status$4;\n      /**\n       * Revision number, which increments by 1 each time the loyalty tiers settings are updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty tiers settings.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the loyalty tiers program was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the loyalty tiers program was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Information about the base loyalty tier.\n       *\n       * The base tier is the default tier for any account that is unassigned for not meeting\n       * the required points threshold of any other tier.\n       */\n      baseTierDefinition?: TierDefinition$1;\n  }\n  /** @oneof */\n  interface TiersProgramSettingsPeriodOneOf$1 {\n      /**\n       * *Required.**\n       * Period of time used to calculate loyalty points for tier assignment.\n       *\n       * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n       */\n      rollingWindow?: RollingWindow$1;\n  }\n  enum Status$4 {\n      /** Unknown status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Tiers are disabled. */\n      DISABLED = \"DISABLED\",\n      /** Tiers are enabled but not yet active. */\n      DRAFT = \"DRAFT\",\n      /** Tiers are active. */\n      ACTIVE = \"ACTIVE\",\n      /** Tiers are paused. */\n      PAUSED = \"PAUSED\"\n  }\n  /** Information about the tier. */\n  interface TierDefinition$1 {\n      /** Details about the tier icon. */\n      icon?: string;\n      /** Tier name. */\n      name?: string | null;\n      /** Tier description. */\n      description?: string | null;\n  }\n  interface FocalPoint$2 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  /**\n   * *Required.** Period of time used to calculate loyalty points for tier assignment.\n   *\n   * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n   */\n  interface RollingWindow$1 {\n      /**\n       * Number of months to use for the rolling window period.\n       *\n       * Min: `12`\n       *\n       * Max: `36`\n       */\n      durationInMonths?: number;\n  }\n  interface SubscriptionEvent extends SubscriptionEventEventOneOf {\n      /** Triggered when a subscription is created. */\n      created?: SubscriptionCreated;\n      /**\n       * Triggered when a subscription is assigned to a Wix site, including the initial\n       * assignment of a floating subscription or a re-assignement from a different site.\n       */\n      assigned?: SubscriptionAssigned;\n      /** Triggered when a subscription is canceled. */\n      cancelled?: SubscriptionCancelled;\n      /** Triggered when the subscription's auto renew is turned on. */\n      autoRenewTurnedOn?: SubscriptionAutoRenewTurnedOn;\n      /** Triggered when the subscription's auto renew is turned off. */\n      autoRenewTurnedOff?: SubscriptionAutoRenewTurnedOff;\n      /**\n       * Triggered when a subscription is unassigned from a Wix site and becomes\n       * floating.\n       */\n      unassigned?: SubscriptionUnassigned;\n      /**\n       * Triggered when a subscription is transferred from one Wix account to another.\n       * A transfer includes cancelling the original subscription and creating a new\n       * subscription for the target account. The event returns both the original\n       * and the new subscription.\n       */\n      transferred?: SubscriptionTransferred;\n      /** Triggered when a recurring charge succeeds for a subscription. */\n      recurringChargeSucceeded?: RecurringChargeSucceeded;\n      /**\n       * Triggered when a subscription was updated including when its product has been\n       * up- or downgraded or the billing cycle is changed.\n       */\n      contractSwitched?: ContractSwitched;\n      /**\n       * Triggered when a subscription gets close to the end of its billing cycle.\n       * The exact number of days is defined in the billing system.\n       */\n      nearEndOfPeriod?: SubscriptionNearEndOfPeriod;\n      /**\n       * Triggered when a subscription is updated and the change doesn't happen\n       * immediately but at the end of the current billing cycle.\n       */\n      pendingChange?: SubscriptionPendingChange;\n      /** ID of the subscription's event. */\n      eventId?: string | null;\n      /**\n       * Date and time of the event in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      eventDate?: Date | null;\n  }\n  /** @oneof */\n  interface SubscriptionEventEventOneOf {\n      /** Triggered when a subscription is created. */\n      created?: SubscriptionCreated;\n      /**\n       * Triggered when a subscription is assigned to a Wix site, including the initial\n       * assignment of a floating subscription or a re-assignement from a different site.\n       */\n      assigned?: SubscriptionAssigned;\n      /** Triggered when a subscription is canceled. */\n      cancelled?: SubscriptionCancelled;\n      /** Triggered when the subscription's auto renew is turned on. */\n      autoRenewTurnedOn?: SubscriptionAutoRenewTurnedOn;\n      /** Triggered when the subscription's auto renew is turned off. */\n      autoRenewTurnedOff?: SubscriptionAutoRenewTurnedOff;\n      /**\n       * Triggered when a subscription is unassigned from a Wix site and becomes\n       * floating.\n       */\n      unassigned?: SubscriptionUnassigned;\n      /**\n       * Triggered when a subscription is transferred from one Wix account to another.\n       * A transfer includes cancelling the original subscription and creating a new\n       * subscription for the target account. The event returns both the original\n       * and the new subscription.\n       */\n      transferred?: SubscriptionTransferred;\n      /** Triggered when a recurring charge succeeds for a subscription. */\n      recurringChargeSucceeded?: RecurringChargeSucceeded;\n      /**\n       * Triggered when a subscription was updated including when its product has been\n       * up- or downgraded or the billing cycle is changed.\n       */\n      contractSwitched?: ContractSwitched;\n      /**\n       * Triggered when a subscription gets close to the end of its billing cycle.\n       * The exact number of days is defined in the billing system.\n       */\n      nearEndOfPeriod?: SubscriptionNearEndOfPeriod;\n      /**\n       * Triggered when a subscription is updated and the change doesn't happen\n       * immediately but at the end of the current billing cycle.\n       */\n      pendingChange?: SubscriptionPendingChange;\n  }\n  /** Triggered when a subscription is created. */\n  interface SubscriptionCreated {\n      /** Created subscription. */\n      subscription?: Subscription;\n      /** Metadata for the `created` event. */\n      metadata?: Record<string, string>;\n      /**\n       * Subscription reactivation data.\n       * A subscription can be reactivated for example if it was incorrectly canceled because of fraud and then reactivated\n       * by the billing system\n       */\n      reactivationData?: ReactivationData;\n  }\n  /**\n   * A subscription holds information about a Premium product that a Wix account\n   * owner has purchased including details about the billing.\n   */\n  interface Subscription {\n      /** ID of the subscription. */\n      _id?: string;\n      /** ID of the Wix account that purchased the subscription. */\n      userId?: string;\n      /**\n       * ID of the [product](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/products/product-object)\n       * for which the subscription was purchased.\n       */\n      productId?: string;\n      /**\n       * Date and time the subscription was created in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      createdAt?: Date | null;\n      /**\n       * Date and time the subscription was last updated in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      updatedAt?: Date | null;\n      /**\n       * ID of the metasite that the subscription is assigned to.\n       * Available only when the subscription is assigned to a Wix site.\n       * Subscriptions for account level products can't be assigned to a Wix site.\n       */\n      metaSiteId?: string | null;\n      /** Information about the system that manages the subscription's billing. */\n      billingReference?: BillingReference;\n      /** Information about the billing cycle of the subscription. */\n      cycle?: Cycle;\n      /**\n       * Subscription status.\n       *\n       * + `UNKNOWN`: Default status.\n       * + `AUTO_RENEW_ON`: Subscription is active and automatically renews at the end of the current billing cycle.\n       * + `AUTO_RENEW_OFF`: Subscription is active but expires at the end of the current billing cycle.\n       * + `MANUAL_RECURRING`: Subscription is active and renews at the end of the current billing cycle, in case the customer takes an action related to the payment.\n       * + `CANCELLED`: Subscription isn't active because it has been canceled.\n       * + `TRANSFERRED`: Subscription isn't active because it has been transferred to a different account. A different active subscription was created for the target account.\n       */\n      status?: SubscriptionStatus;\n      /**\n       * Date and time the subscription was last transferred from one Wix account to\n       * another in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      transferredAt?: Date | null;\n      /**\n       * ID of the [product type](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/product-types/product-type-object)\n       * that the product, for which the subscription was purchased, belongs to.\n       */\n      productTypeId?: string;\n      /** Version number, which increments by 1 each time the subscription is updated. */\n      version?: number;\n      /**\n       * Whether the subscription is active. Includes the statuses\n       * `\"AUTO_RENEW_ON\"`, `\"AUTO_RENEW_OFF\"`, and `\"MANUAL_RECURRING\"`.\n       */\n      active?: boolean;\n      /**\n       * Date and time the subscription was originally created in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * Differs from `createdAt` in case the subscription was originally created for a different Wix account and has been transferred.\n       */\n      originalCreationDate?: Date | null;\n      /** Custom metadata about the subscription. */\n      metadata?: Record<string, string>;\n      /**\n       * 2-letter country code in\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format.\n       */\n      countryCode?: string | null;\n  }\n  interface BillingReference {\n      /**\n       * Name of the billing system that manages the subscription.\n       *\n       * + `\"UNKNOWN\"`: Default value.\n       * + `\"SBS\"`: [Wix Billing](https://github.com/wix-p/premium-billing/tree/master/sbs).\n       * + `\"LICENSER\"`:\n       * + `\"BASS\"`: [Billing and Subscriptions System](https://dev.wix.com/docs/rest/internal-only/premium/subscriptions-by-billing-by-wix/introduction).\n       * + `\"RESELLER\"`: [External Reseller](https://dev.wix.com/api/rest/account-level-apis/resellers/introduction).\n       */\n      providerName?: ProviderName;\n      /** Current provider reference ID. */\n      providerReferenceId?: string | null;\n      /** Previous provider reference IDs. Used for when a subscription is extended, specifically for domains. */\n      previousProviderReferenceIds?: string[];\n  }\n  enum ProviderName {\n      UNKNOWN = \"UNKNOWN\",\n      SBS = \"SBS\",\n      LICENSER = \"LICENSER\",\n      BASS = \"BASS\",\n      RESELLER = \"RESELLER\",\n      RECURRING_INVOICES = \"RECURRING_INVOICES\"\n  }\n  interface Cycle extends CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  /** @oneof */\n  interface CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  interface Interval {\n      /** interval unit of measure */\n      unit?: IntervalUnit;\n      /** number of interval */\n      count?: number;\n  }\n  enum IntervalUnit {\n      /** unknown interval unit */\n      UNKNOWN = \"UNKNOWN\",\n      /** day */\n      DAY = \"DAY\",\n      /** week */\n      WEEK = \"WEEK\",\n      /** month */\n      MONTH = \"MONTH\",\n      /** year */\n      YEAR = \"YEAR\"\n  }\n  interface OneTime {\n  }\n  enum SubscriptionStatus {\n      UNKNOWN = \"UNKNOWN\",\n      AUTO_RENEW_ON = \"AUTO_RENEW_ON\",\n      AUTO_RENEW_OFF = \"AUTO_RENEW_OFF\",\n      MANUAL_RECURRING = \"MANUAL_RECURRING\",\n      CANCELLED = \"CANCELLED\",\n      TRANSFERRED = \"TRANSFERRED\"\n  }\n  /** Triggered when a subscription is reactivated. */\n  interface ReactivationData {\n      reactivationReason?: ReactivationReasonEnum;\n      /**\n       * In the event of reactivation after chargeback dispute, the subscription may be extended according to the\n       * number of days it was inactive during the time of resolving the dispute\n       */\n      newEndOfPeriod?: Date | null;\n      /** The original end date, before the inactive period. */\n      oldEndOfPeriod?: Date | null;\n      /** The difference in days between the new new_end_of_period and old_end_of_period */\n      differenceInDays?: number | null;\n  }\n  /** Reason for subscription reactivation */\n  enum ReactivationReasonEnum {\n      UNKNOWN = \"UNKNOWN\",\n      /**\n       * Subscription was reactivated due to billing status change from CANCELED to ACTIVE, for example if it was incorrectly\n       * canceled because of suspicion of fraud\n       */\n      BILLING_STATUS_CHANGE = \"BILLING_STATUS_CHANGE\",\n      /** Subscription was reactivated after a chargeback dispute */\n      REACTIVATED_AFTER_CHARGEBACK = \"REACTIVATED_AFTER_CHARGEBACK\"\n  }\n  /**\n   * Triggered when a subscription is assigned to a Wix site, including the initial\n   * assignment of a floating subscription or a re-assignement from a different site.\n   */\n  interface SubscriptionAssigned {\n      /** Assigned subscription. */\n      subscription?: Subscription;\n      /** ID of the metasite that the subscription has been assigned to before the update. */\n      previousMetaSiteId?: string | null;\n  }\n  /** Triggered when a subscription is canceled. */\n  interface SubscriptionCancelled {\n      /** Canceled subscription. */\n      subscription?: Subscription;\n      /** Details about the cancellation including who canceled the subscription and why. */\n      cancellationDetails?: CancellationDetails;\n      /**\n       * Whether the subscription is canceled immediately or expires at the end of the current billing cycle.\n       *\n       * Default: `false`\n       */\n      immediateCancel?: boolean;\n      /** Whether the subscription was canceled during the free trial period. */\n      canceledInFreeTrial?: boolean;\n  }\n  /** Information about the cancellation flow including who canceled the subscription and why it was canceled. */\n  interface CancellationDetails {\n      /**\n       * Cancellation code.\n       *\n       * Values supported for cancellations on behalf of the billing system: `-1`, `-2`, `-3`, `-4`, `-5`, `-6`, `-7`, `-8`.\n       * For cancellations on behalf of the site owner or the service provider `cancellationCode`\n       * is taken from the request of\n       * [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n       *\n       * + `-1`: The subscription has been cancelled by the billing system but none of the listed cancellation reasons applies.\n       * + `-2`: There were payment problems.\n       * + `-3`: There was a chargeback.\n       * + `-4`: Customer support has canceled the subscription and issued a refund.\n       * + `-5`: The site owner has changed their existing subscription.\n       * + `-6`: The subscription has been transferred to a different Wix account.\n       * + `-7`: The subscription has been canceled because the site owner hasn't manually authenticated the recurring payment during the subscription's grace period. For example, site owners must manually confirm recurring payments within 40 days when paying with boleto.\n       * + `-8`: The Wix account that the subscription belonged to has been deleted.\n       */\n      cancellationCode?: number | null;\n      /**\n       * Cancellation reason. For cancellations on behalf of the site owner or the service provider `cancellationReason`\n       * is taken from the request of\n       * [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n       * For cancellations on behalf of the billing system `cancellationReason` is `null` or an empty string.\n       */\n      cancellationReason?: string | null;\n      /**\n       * Initiator of the cancellation. For `\"USER_REQUESTED\"` and `\"APP_MANAGED\"`,\n       * `cancellationCode` and `cancellationReason` are taken from the request of\n       * [Cancel Immediately](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately)\n       * or [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n       * For `\"PASSIVE\"`, cancellations `cancellationCode` is automatically calculated and `cancellationReason`\n       * is `null` or an empty string.\n       *\n       * + `\"UNKNOWN`: Default value.\n       * + `\"USER_REQUESTED\"`:  The Wix account owner has canceled the subscription.\n       * + `\"APP_MANAGED\"`: The service provider has canceled the subscription.\n       * + `\"PASSIVE\"`: The billing system has canceled the subscription. For example, in case of payment failure or fraud.\n       */\n      initiator?: Initiator;\n  }\n  enum Initiator {\n      UNKNOWN = \"UNKNOWN\",\n      USER_REQUESTED = \"USER_REQUESTED\",\n      APP_MANAGED = \"APP_MANAGED\",\n      PASSIVE = \"PASSIVE\"\n  }\n  /** Triggered when the subscription's auto renew is turned on. */\n  interface SubscriptionAutoRenewTurnedOn {\n      /** Subscription for which auto renew is turned on. */\n      subscription?: Subscription;\n      /**\n       * Supported values: `USER`, `APP`.\n       *\n       * Information about who turned auto renew on.\n       * + `\"USER\"`: The site owner who purchased the subscription has turned auto renew on.\n       * + `\"APP\"`: The service provider has turned auto renew on.\n       */\n      initiator?: string | null;\n  }\n  /** Triggered when the subscription's auto renew is turned off. */\n  interface SubscriptionAutoRenewTurnedOff {\n      /** Subscription for which auto renew is turned off. */\n      subscription?: Subscription;\n      /** Details about the cancellation including who canceled the subscription and why. */\n      cancellationDetails?: CancellationDetails;\n      /**\n       * Whether the subscription is immediately canceled or expires at the end of the current billing cycle.\n       *\n       * Default: `false`\n       */\n      immediateCancel?: boolean;\n  }\n  /**\n   * Triggered when a subscription is unassigned from a Wix site and becomes\n   * floating.\n   */\n  interface SubscriptionUnassigned {\n      /** Unassigned subscription. */\n      subscription?: Subscription;\n      /** ID of the metasite that the subscription has been assigned to before the event. */\n      previousMetaSiteId?: string;\n      /**\n       * Reason why the subscription is unassigned.\n       *\n       * + `\"UNKNOWN\"`: Default value.\n       * + `\"USER_REQUESTED\"`: The Wix account owner has unassigned the subscription.\n       * + `\"REPLACED_BY_ANOTHER_SUBSCRIPTION\"`: A different subscription that replaces this subscription is assigned to the site.\n       */\n      unassignReason?: UnassignReason;\n  }\n  enum UnassignReason {\n      UNKNOWN = \"UNKNOWN\",\n      USER_REQUESTED = \"USER_REQUESTED\",\n      REPLACED_BY_ANOTHER_SUBSCRIPTION = \"REPLACED_BY_ANOTHER_SUBSCRIPTION\"\n  }\n  /**\n   * Triggered when a subscription is transferred from one Wix account to another.\n   * A transfer includes cancelling the original subscription and creating a new\n   * subscription for the target account. The event returns both the original\n   * and the new subscription.\n   */\n  interface SubscriptionTransferred {\n      /** Original subscription that was canceled for the transfer. */\n      originSubscription?: Subscription;\n      /** Newly created subscription for the target account. */\n      targetSubscription?: Subscription;\n  }\n  /** Triggered when a recurring charge succeeds for a subscription. */\n  interface RecurringChargeSucceeded {\n      /** Subscription for which the recurring charge has succeeded. */\n      subscription?: Subscription;\n      /** Indication that there was a successful charge at the end of the free trial period */\n      freeTrialPeriodEnd?: boolean;\n  }\n  /**\n   * Triggered when a subscription was updated including when its product has been\n   * up- or downgraded or the billing cycle is changed.\n   */\n  interface ContractSwitched {\n      /** Updated subscription. */\n      subscription?: Subscription;\n      /** Billing cycle before the update. */\n      previousCycle?: Cycle;\n      /** ID of the product belonging to the subscription before the update. */\n      previousProductId?: string;\n      /** ID of the product type that the subscription's original product belonged to before the update. */\n      previousProductTypeId?: string;\n      /**\n       * Update type. __Note__: Doesn't include information about a product adjustment.\n       * For that purpose, see `productAdjustment`.\n       *\n       * + `\"NOT_APPLICABLE\"`: Default value.\n       * + `\"ADDITIONAL_QUANTITY\"`: An increased usage quota is added to the subscription. For example, a second mailbox is added to a subscription that previously included a single mailbox.\n       * + `\"CREDIT_UNUSED_PERIOD\"`: The subscription is upgraded and the new price is less than the regular price. The new price applies to every billing cycle, not just the first cycle.\n       * + `\"REFUND_PRICE_DIFF\"`: Not implemented.\n       * + `\"ADJUST_PERIOD_END\"`: Not implemented.\n       * + `\"DOWNGRADE_GRACE_PERIOD\"`: For downgrades during the grace period. In this situation, the site owner hasn’t paid yet and must immediately pay for the downgraded subscription.\n       * + `\"FULL_AMOUNT_PERIOD\"`: For upgrades in which the site owner retains unused benefits. For example, site owners upgrading a Facebook Ads subscription retain their unused FB Ads credit. The unused credit is added to the new credit.\n       * + `\"END_OF_PERIOD\"`: The subscription's billing current cycle is extended because of a downgrade.\n       * + `\"PENDING_CHANGES\"`: The subscription's billing is updated, but the change doesn't apply immediately. Instead, the update becomes effective at the end of current billing cycle.\n       * + `\"DOWNGRADE_RENEWAL\"`: The subscription is downgraded because of a declined payment. This prevents subscriptions from churning.\n       */\n      contractSwitchType?: ContractSwitchType;\n      /**\n       * ID of the metasite the subscription has been assigned to previously.\n       * Available only in case the subscription is assigned to a different site.\n       */\n      previousMetaSiteId?: string | null;\n      /**\n       * Update reason.\n       *\n       * + `\"PRICE_INCREASE\"`: The subscription's price has been increased.\n       * + `\"EXTERNAL_PROVIDER_TRIGGER\"`: Any reason other than a price increase.\n       */\n      contractSwitchReason?: ContractSwitchReason;\n      /** Information about the price update. Available only for updates with a price increase. */\n      productPriceIncreaseData?: ProductPriceIncreaseData;\n      /**\n       * Information about a product adjustment. For example, a downgrade.\n       * __Note__: This isn't the same as `contractSwitchType`.\n       *\n       * + `NOT_APPLICABLE`: There is no information about whether the product has been up- or downgraded.\n       * + `DOWNGRADE`: The product has been downgraded.\n       */\n      productAdjustment?: ProductAdjustment;\n  }\n  /** Copied from SBS */\n  enum ContractSwitchType {\n      NOT_APPLICABLE = \"NOT_APPLICABLE\",\n      ADDITIONAL_QUANTITY = \"ADDITIONAL_QUANTITY\",\n      CREDIT_UNUSED_PERIOD = \"CREDIT_UNUSED_PERIOD\",\n      REFUND_PRICE_DIFF = \"REFUND_PRICE_DIFF\",\n      ADJUST_PERIOD_END = \"ADJUST_PERIOD_END\",\n      DOWNGRADE_GRACE_PERIOD = \"DOWNGRADE_GRACE_PERIOD\",\n      FULL_AMOUNT_PERIOD = \"FULL_AMOUNT_PERIOD\",\n      END_OF_PERIOD = \"END_OF_PERIOD\",\n      PENDING_CHANGES = \"PENDING_CHANGES\",\n      DOWNGRADE_RENEWAL = \"DOWNGRADE_RENEWAL\"\n  }\n  enum ContractSwitchReason {\n      EXTERNAL_PROVIDER_TRIGGER = \"EXTERNAL_PROVIDER_TRIGGER\",\n      PRICE_INCREASE = \"PRICE_INCREASE\"\n  }\n  /** Triggered when a subscription's price is increased. */\n  interface ProductPriceIncreaseData {\n      /** Price of the subscription before the update. */\n      previousPrice?: string | null;\n      /** A value that is used in order to select the correct email template to send the user regarding the price increase. */\n      emailTemplateSelector?: string | null;\n      /** Used to differentiate between migration segments. Does not have to be unique per segment. */\n      segmentName?: string | null;\n      /** Used to determine how the price increase was triggered. */\n      priceIncreaseTrigger?: PriceIncreaseTrigger;\n  }\n  /** Reason for Price Increase Trigger */\n  enum PriceIncreaseTrigger {\n      NEAR_RENEWAL = \"NEAR_RENEWAL\",\n      RECURRING_SUCCESS = \"RECURRING_SUCCESS\",\n      MANUAL = \"MANUAL\"\n  }\n  /** Triggered when a subscription's product is adusted. */\n  enum ProductAdjustment {\n      /** flag to show that the ContractSwitchedEvent is not applicable / needed */\n      NOT_APPLICABLE = \"NOT_APPLICABLE\",\n      /** flag to show that the ContractSwitchedEvent is a Downgrade */\n      DOWNGRADE = \"DOWNGRADE\"\n  }\n  /**\n   * Triggered when a subscription gets close to the end of its billing cycle.\n   * The exact number of days is defined in the billing system.\n   */\n  interface SubscriptionNearEndOfPeriod {\n      /** Subscription that got close to the end of its billing cycle. */\n      subscription?: Subscription;\n      /** Whether the subscription is within the free trial period. */\n      inFreeTrial?: boolean;\n  }\n  /**\n   * Triggered when a subscription is updated and the change doesn't happen\n   * immediately but at the end of the current billing cycle.\n   */\n  interface SubscriptionPendingChange {\n      /** Subscription for which a pending update is triggered. */\n      subscription?: Subscription;\n  }\n  interface ContactSyncRequest {\n      contactIds?: string[];\n      contactId?: string | null;\n  }\n  interface BulkUpsertAccountsRequest {\n      /** List of contactIds + points to either insert as new loyalty accounts, or update if contacts already exist as loyalty accounts */\n      accounts: AccountToUpsert[];\n      /**\n       * If true, the upserted accounts are returned in response\n       * @deprecated If true, the upserted accounts are returned in response\n       * @targetRemovalDate 2024-02-01\n       */\n      returnAccounts?: boolean;\n      /** Description of the action */\n      description?: string | null;\n  }\n  interface AccountToUpsert {\n      contactId?: string;\n      pointsBalance?: number;\n  }\n  interface BulkUpsertAccountsResponse {\n      /** Loyalty accounts that were created or updated */\n      result?: BulkAccountResult[];\n      /** Numbers of successes and failures */\n      metadata?: BulkActionMetadata$3;\n  }\n  interface BulkAccountResult {\n      /** The created/updated account is returned if specified so in request message. */\n      account?: LoyaltyAccount;\n      /** LoyaltyAccount metadata. */\n      metadata?: ItemMetadata$3;\n  }\n  interface ItemMetadata$3 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$3;\n  }\n  interface ApplicationError$3 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$3 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface SetMissingMemberIdRequest {\n      /** ID of the account to retrieve. */\n      accountId: string;\n  }\n  interface SetMissingMemberIdResponse {\n      /** Loyalty account. */\n      account?: LoyaltyAccount;\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$5;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a loyalty account for one of a site's contacts.\n   *\n   * The `createAccount()` function returns a Promise that resolves to the new loyalty account when it is created.\n   *\n   * To create a new loyalty account, the customer must first be a site contact with a contact ID. The site must also have an active loyalty program before loyalty accounts can be created.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions) can create a loyalty account. <!--You can override the permissions with the `wix-auth` [`elevate()`](wix-auth/elevate) function.-->\n   * @public\n   * @requiredField contactId\n   * @param contactId - Contact ID for a Wix site contact. See the [Contacts API](wix-crm-backend/contacts) to learn more.\n   * @permissionId LOYALTY.MANAGE_ACCOUNTS\n   * @adminMethod\n   */\n  function createAccount(contactId: string): Promise<CreateAccountResponse>;\n  /**\n   * Adds points to a loyalty account.\n   *\n   * The `earnPoints()` function returns a Promise that resolves to the updated loyalty account.\n   *\n   * Only a positive amount can be added using the `earnPoints()` function, to manually adjust an account's balance for a negative amount, use [`adjustPoints()`](wix-loyalty-v2/accounts/adjustpoints).\n   *\n   * The `earnPoints()` function allows customers to manually earn points to their loyalty accounts. To use this function you must include an `appId` and an `idempotencyKey`. Any string can be set as the `appId` or `idempotencyKey`. In contrast to when an account earns points through an action taken on your site, the `appId` automatically sets to the source app that generates the points. The transaction `type` is `\"EARN\"` for points earned this way.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions) can earn loyalty points. <!--You can override the permissions with the `wix-auth` [`elevate()`](wix-auth/elevate) function.-->\n   * @param accountId - Loyalty account ID.\n   * @public\n   * @requiredField accountId\n   * @requiredField options.appId\n   * @requiredField options.idempotencyKey\n   * @param options - Earn points info.\n   * @permissionId LOYALTY.MANAGE_ACCOUNTS\n   * @adminMethod\n   */\n  function earnPoints(accountId: string, options?: EarnPointsOptions): Promise<EarnPointsResponse>;\n  interface EarnPointsOptions extends EarnPointsRequestActivityDetailsOneOf {\n      /**\n       * Amount of points to earn. Must be a positive, whole number.\n       *\n       * Min: `1`\n       *\n       * Max: `9999999`\n       */\n      amount?: number;\n      /**\n       * Description of how the points were earned.\n       *\n       * Max: 100 characters\n       */\n      description?: string;\n      /**\n       * ID of the app that initiated the transaction.\n       *\n       * If points were earned manually, then the `appId` is the Loyalty app's\n       * `wixAppId` of `553c79f3-5625-4f38-b14b-ef7c0d1e87df`. If points were earned in an automatic event,\n       * then the `appId` is from that automation's `sourceAppId`.\n       */\n      appId: string;\n      /**\n       * Unique string identifier generated by the app. Wix uses this identifier to recognize subsequent retries of the same request.\n       *\n       * Please use `GUID` format.\n       */\n      idempotencyKey: string;\n      /**\n       * Activity type.\n       *\n       * If points were earned through automation it should be set to trigger key.\n       */\n      activityType?: string | null;\n      /** Order id which was source of this transaction. */\n      orderId?: string | null;\n      /** Followed social media details. */\n      followedSocialMedia?: FollowedSocialMedia;\n  }\n  /**\n   * Adjusts the point balance of a loyalty account.\n   *\n   * The `adjustPoints()` function returns a Promise that resolves to the updated loyalty account.\n   *\n   * To adjust the points balance of an account you must include an `accountId`, a `revision` number, and the adjustment to make. You can also leave a description to explain the reason for the points adjustment.\n   *\n   * There are two ways to adjust the points of a loyalty account:\n   * - `balance` allows you to set the total points balance to this new amount. The transaction `type` will return as `\"ADJUST\"`.\n   * - `amount` allows you to alter the points balance by this amount. This amount can be a positive number to increase the points balance or a negative number to decrease the balance. The transaction type will return as `\"GIVE\"`.\n   *\n   * An account may not be adjusted to a negative balance. If you pass values in both the `balance` and the `amount` parameters then the `balance` adjustment takes effect and the `amount` adjustment is ignored.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions) can manually adjust points in a loyalty account. <!--You can override the permissions with the `wix-auth` [`elevate()`](wix-auth/elevate) function.-->\n   * @param accountId - Loyalty account ID.\n   * @public\n   * @requiredField accountId\n   * @param options - Options to use when adjusting points.\n   * @permissionId LOYALTY.MANAGE_ACCOUNTS\n   * @adminMethod\n   */\n  function adjustPoints(accountId: string, options?: AdjustPointsOptions): Promise<AdjustPointsResponse>;\n  interface AdjustPointsOptions extends AdjustPointsRequestTypeOneOf {\n      /** Description to explain the reason for the points adjustment. */\n      description?: string | null;\n      /**\n       * Sets the account's point balance to this amount. Must be a positive, whole number or zero.\n       *\n       * The net difference between this new balance and the previous balance will be reflected in the `adjusted` field of the customer's account.\n       *\n       * Min: `0`\n       *\n       * Max: `999999999`\n       */\n      balance?: number;\n      /**\n       * Adjusts the account's point balance by this amount. Must be a whole number with a maximum of 7 digits.\n       * The amount can be negative, but cannot be `0`.\n       *\n       * Min: `-9999999`\n       *\n       * Max: `9999999`\n       */\n      amount?: number;\n      /**\n       * Adjusts the account's point balance by this amount. Also account's \"redeemed points\" is reduced by this amount.\n       * Must be a whole number with a maximum of 7 digits.\n       * The amount can be negative, but cannot be `0`.\n       *\n       * Min: `-9999999`\n       *\n       * Max: `9999999`\n       * @internal\n       */\n      refund?: number;\n      /**\n       * Each time the loyalty account is updated, `revision` increments by 1.\n       *\n       * The current `revision` must be passed when adjusting points in the loyalty account. This\n       * ensures you're working with the latest version of the loyalty account and prevents unintended overwrites.\n       */\n      revision?: string;\n  }\n  /**\n   * Redeems points from a loyalty account, given the provided reward.\n   * @param accountId - Loyalty account ID.\n   * @param rewardId - Reward ID. See [Rewards API](https://dev.wix.com/api/rest/loyalty/rewards/rewards-object) for more details.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @requiredField rewardId\n   * @permissionId LOYALTY.MANAGE_ACCOUNTS\n   * @adminMethod\n   */\n  function redeemPoints(accountId: string, rewardId: string, options?: RedeemPointsOptions): Promise<RedeemPointsResponse>;\n  interface RedeemPointsOptions {\n      /** Number of times the given reward will be redeemed. Must be a positive whole number. */\n      count?: number;\n      /**\n       * Revision number, which increments by 1 each time points are redeemed.\n       * To prevent conflicting changes, the existing `revision` must be used when redeeming points.\n       */\n      revision?: string;\n      /** Id of the entity that is being redeemed (e.g. orderId for order discount, couponId for coupon reward). */\n      referenceEntityId?: string | null;\n  }\n  /**\n   * Redeems given amount of points from a loyalty account, given the provided reward.\n   * @param accountId - Loyalty account ID.\n   * @param rewardId - Reward ID. See [Rewards API](https://dev.wix.com/api/rest/loyalty/rewards/rewards-object) for more details.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @requiredField rewardId\n   * @permissionId LOYALTY.MANAGE_ACCOUNTS\n   * @adminMethod\n   */\n  function redeemDeterminedAmountOfPoints(accountId: string, rewardId: string, options?: RedeemDeterminedAmountOfPointsOptions): Promise<RedeemDeterminedAmountOfPointsResponse>;\n  interface RedeemDeterminedAmountOfPointsOptions {\n      /** Number of points to be redeemed off the account. */\n      points?: number;\n      /**\n       * Revision number, which increments by 1 each time points are redeemed.\n       * To prevent conflicting changes, the existing `revision` must be used when redeeming points.\n       */\n      revision?: string;\n      /** Id of the entity that is being redeemed (e.g. orderId for order discount, couponId for coupon reward). */\n      referenceEntityId?: string | null;\n  }\n  /**\n   * Refunds a redeem transaction by deleting the loyalty coupon and adjusting the points balance.\n   * @param transactionId - Transaction ID associated with the refund.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField transactionId\n   * @permissionId LOYALTY.TRANSACTION_REFUND\n   * @adminMethod\n   */\n  function refundTransaction(transactionId: string): Promise<void>;\n  /**\n   * Retrieves an account using the loyalty account ID.\n   *\n   * The `getAccount()` function returns a Promise that resolves to the specified loyalty account when it is retrieved.\n   *\n   * You can also get an account using a secondary ID, such as a contact ID or a member ID with the [`getAccountBySecondaryId()`](wix-loyalty-v2/accounts/getaccountbysecondaryid) function.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions) can retrieve a loyalty account. <!--You can override the permissions with the `wix-auth` [`elevate()`](wix-auth/elevate) function.-->\n   * @param _id - ID of the account to retrieve.\n   * @public\n   * @requiredField _id\n   * @permissionId LOYALTY.READ_ACCOUNTS\n   * @adminMethod\n   * @returns Retrieved loyalty account.\n   */\n  function getAccount(_id: string): Promise<LoyaltyAccount>;\n  /**\n   * Creates a query to retrieve a list of accounts.\n   *\n   * The `queryLoyaltyAccounts()` function builds a query to retrieve a list of events and returns a `LoyaltyAccountsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `LoyaltyAccountsQueryBuilder` functions onto the query. `LoyaltyAccountsQueryBuilder` functions enable you to sort, filter, and control the results `queryLoyaltyAccounts()` returns.\n   *\n   * `queryLoyaltyAccounts()` runs with these `LoyaltyAccountsQueryBuilder` defaults, which you can override:\n   *\n   * - skip(0)\n   * - limit(50)\n   * - descending(\"_createdDate\")\n   *\n   * The functions that are chained to `queryLoyaltyAccounts()` are applied in the order they're called. For example, if you apply ascending('points.balance') and then descending('points.earned'), the results are sorted first by the balance, and then, if there are multiple results with the same balance, the items are sorted by earned points.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.READ_ACCOUNTS\n   * @adminMethod\n   */\n  function queryLoyaltyAccounts(): LoyaltyAccountsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$3;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface LoyaltyAccountsQueryResult extends QueryCursorResult$1 {\n      items: LoyaltyAccount[];\n      query: LoyaltyAccountsQueryBuilder;\n      next: () => Promise<LoyaltyAccountsQueryResult>;\n      prev: () => Promise<LoyaltyAccountsQueryResult>;\n  }\n  interface LoyaltyAccountsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'contactId' | 'memberId' | 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'tier.id' | 'contact.id' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount', value: any) => LoyaltyAccountsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'contactId' | 'memberId' | 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'tier.id' | 'contact.id' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount', value: any) => LoyaltyAccountsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount', value: any) => LoyaltyAccountsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount', value: any) => LoyaltyAccountsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount', value: any) => LoyaltyAccountsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount', value: any) => LoyaltyAccountsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'contactId' | 'memberId' | 'tier.id' | 'contact.id', value: string) => LoyaltyAccountsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'contactId' | 'memberId' | 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'tier.id' | 'contact.id' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount', value: any[]) => LoyaltyAccountsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'contactId' | 'memberId' | 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'tier.id' | 'contact.id' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount', value: any) => LoyaltyAccountsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'contactId' | 'memberId' | 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'tier.id' | 'contact.id' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount', value: boolean) => LoyaltyAccountsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'contactId' | 'memberId' | 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'tier.id' | 'contact.id' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount'>) => LoyaltyAccountsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'contactId' | 'memberId' | 'points.balance' | 'points.earned' | 'points.adjusted' | 'points.redeemed' | 'points.expired' | '_createdDate' | 'lastActivityDate' | 'tier.id' | 'contact.id' | 'pointsExpiration.expirationDate' | 'pointsExpiration.expiringPointsAmount'>) => LoyaltyAccountsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => LoyaltyAccountsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => LoyaltyAccountsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<LoyaltyAccountsQueryResult>;\n  }\n  /**\n   * Lists all accounts for Wix user.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listUserAccounts(options?: ListUserAccountsOptions): Promise<ListUserAccountsResponse>;\n  interface ListUserAccountsOptions {\n      /** Number of items to load. Minimum `1`, maximum `50`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  /**\n   * Retrieves the total amount of points earned, redeemed, and adjusted for the entire loyalty program.\n   *\n   * The `getProgramTotals()` function returns a Promise that resolves to the combined total points for all loyalty accounts in the program.\n   *\n   * The `balance` is the current total of points outstanding, while the `earned`, `adjusted`, and `redeemed` amounts are the all-time accumulated amounts. The totals include the amounts for all loyalty accounts.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions) can retrieve the loyalty program totals. <!--You can override the permissions with the `wix-auth` [`elevate()`](wix-auth/elevate) function.-->\n   * @public\n   * @permissionId LOYALTY.READ_ACCOUNTS\n   * @adminMethod\n   */\n  function getProgramTotals(): Promise<GetProgramTotalsResponse>;\n  /**\n   * Retrieves the currently logged-in member's account.\n   * @public\n   * @permissionId LOYALTY.READ_OWN_ACCOUNT\n   */\n  function getCurrentMemberAccount(): Promise<GetCurrentMemberAccountResponse>;\n  /**\n   * Retrieves the current visitors' loyalty account if it exists\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.READ_OWN_ACCOUNT\n   * @deprecated\n   * @targetRemovalDate 2024-11-07\n   */\n  function getMyAccount(): Promise<GetMyAccountResponse>;\n  /**\n   * Retrieves the loyalty account of the specified site contact or member.\n   *\n   * The `getAccountBySecondaryId()` function returns a Promise that resolves to the specified loyalty account when it is retrieved.\n   *\n   * This function gets a loyalty account using either a customer's contact ID or member ID. You can also get an account using the loyalty account ID with the [`getAccount()`](wix-loyalty-v2/accounts/getaccount) function.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions) can retrieve a loyalty account. <!--You can override the permissions with the `wix-auth` [`elevate()`](wix-auth/elevate) function.-->\n   * @public\n   * @param options - ID of the customer to retrieve loyalty account for.\n   * @permissionId LOYALTY.READ_ACCOUNTS\n   * @adminMethod\n   */\n  function getAccountBySecondaryId(options?: GetAccountBySecondaryIdOptions): Promise<GetAccountBySecondaryIdResponse>;\n  interface GetAccountBySecondaryIdOptions extends GetAccountBySecondaryIdRequestIdOneOf {\n      /** Account owner's contact ID. See the [Contacts API](wix-crm-backend/contacts) to learn more. */\n      contactId?: string;\n      /** Account owner's member ID. See the [Members API](wix-members-backend/introduction) to learn more. */\n      memberId?: string;\n  }\n  /**\n   * > **Deprecation Notice**\n   * >\n   * > **This method has been replaced with [Query Loyalty Accounts](https://dev.wix.com/docs/sdk/backend-modules/loyalty/accounts/query-loyalty-accounts) and will be removed on June 30, 2025. If your app uses this method, we recommend updating your code as soon as possible.**\n   *\n   * Retrieves a list of loyalty accounts, given the provided filters.\n   *\n   * The `listAccounts()` function returns a Promise that resolves to a list of loyalty accounts.\n   *\n   * You can retrieve selected loyalty accounts with an array of `contactIds` or retrieve a list of all of a site's loyalty accounts\n   *     with an empty request parameter. Use the `cursorPaging` parameters to limit how many items load at a time.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions) can retrieve loyalty accounts. <!--You can override the permissions with the `wix-auth` [`elevate()`](wix-auth/elevate) function.-->\n   * @public\n   * @param options - Options to use when retrieving a list of loyalty accounts.\n   * @permissionId LOYALTY.READ_ACCOUNTS\n   * @adminMethod\n   * @deprecated\n   * @replacedBy QueryLoyaltyAccounts\n   * @targetRemovalDate 2025-06-01\n   */\n  function listAccounts(options?: ListAccountsOptions): Promise<ListAccountsResponse>;\n  interface ListAccountsOptions {\n      /** List of contact IDs. See the [Contacts API](wix-crm-backend/contacts) to learn more. */\n      contactIds?: string[];\n      /** Pagination options. */\n      cursorPaging?: CursorPaging$3;\n  }\n  /**\n   * Retrieves a list of accounts, given the provided filters and search capabilities.\n   * Search is executed on the account's name and email values.\n   * @public\n   * @permissionId LOYALTY.READ_ACCOUNTS\n   * @adminMethod\n   * @returns Accounts found through provided search capabilities, along with paging and aggregation data of the results.\n   */\n  function searchAccounts(options?: SearchAccountsOptions): Promise<SearchAccountsResponse>;\n  interface SearchAccountsOptions {\n      /** Search options. */\n      search?: CursorSearch;\n  }\n  /**\n   * Endpoint that proxies request with QueryV2 payload to SearchAccounts endpoint with CursorSearch in the payload\n   * If search results are expected, they should be passed in the filter as the following fields:\n   * \"_search_mode\": \"OR\" or \"AND\"\n   * \"_search_expression\": Any string value\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.READ_ACCOUNTS\n   * @adminMethod\n   */\n  function exportAccounts(options?: ExportAccountsOptions): Promise<ExportAccountsResponse>;\n  interface ExportAccountsOptions {\n      query?: QueryV2$1;\n  }\n  /**\n   * Retrieves the count of found accounts, given the provided filters and search capabilities.\n   *\n   * This endpoint can help find the total count of accounts when used alongside [Search Accounts](https://dev.wix.com/docs/rest/crm/loyalty-program/accounts/search-accounts).\n   * @public\n   * @permissionId LOYALTY.READ_ACCOUNTS\n   * @adminMethod\n   * @returns Count of accounts found for given search query\n   */\n  function countAccounts(options?: CountAccountsOptions): Promise<CountAccountsResponse>;\n  interface CountAccountsOptions {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n  }\n  /**\n   * Updates points balance of multiple accounts.\n   * Depending on the BulkAdjustPointsRequest.type:\n   * amount - provided amount of points is appended to the accounts balance\n   * balance - accounts balance is set to the provided amount\n   *\n   * Returns id of the asyncInfra job that takes care of the points adjustment.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.MANAGE_ACCOUNTS\n   * @adminMethod\n   */\n  function bulkAdjustPoints(options?: BulkAdjustPointsOptions): Promise<BulkAdjustPointsResponse>;\n  interface BulkAdjustPointsOptions extends BulkAdjustPointsRequestTypeOneOf {\n      search?: CursorSearch;\n      balance?: number;\n      amount?: number;\n  }\n  /**\n   * Creates loyalty accounts for given contactIds with given points, or updates loyalty accounts if they already exist\n   * @param accounts - List of contactIds + points to either insert as new loyalty accounts, or update if contacts already exist as loyalty accounts\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accounts\n   * @permissionId LOYALTY.MANAGE_ACCOUNTS\n   * @adminMethod\n   */\n  function bulkUpsertAccounts(accounts: AccountToUpsert[], options?: BulkUpsertAccountsOptions): Promise<BulkUpsertAccountsResponse>;\n  interface BulkUpsertAccountsOptions {\n      /**\n       * If true, the upserted accounts are returned in response\n       * @deprecated If true, the upserted accounts are returned in response\n       * @targetRemovalDate 2024-02-01\n       */\n      returnAccounts?: boolean;\n      /** Description of the action */\n      description?: string | null;\n  }\n  /**\n   * Updates account's member id if it is not already set but member exists\n   * @param accountId - ID of the account to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @permissionId LOYALTY.MANAGE_ACCOUNTS\n   * @adminMethod\n   */\n  function setMissingMemberId(accountId: string): Promise<SetMissingMemberIdResponse>;\n  \n  type loyaltyV1Account_universal_d_LoyaltyAccount = LoyaltyAccount;\n  type loyaltyV1Account_universal_d_Points = Points;\n  type loyaltyV1Account_universal_d_Contact = Contact;\n  type loyaltyV1Account_universal_d_Image = Image;\n  type loyaltyV1Account_universal_d_RewardAvailabilityUpdated = RewardAvailabilityUpdated;\n  type loyaltyV1Account_universal_d_UpdateTrigger = UpdateTrigger;\n  const loyaltyV1Account_universal_d_UpdateTrigger: typeof UpdateTrigger;\n  type loyaltyV1Account_universal_d_CreateAccountRequest = CreateAccountRequest;\n  type loyaltyV1Account_universal_d_CreateAccountResponse = CreateAccountResponse;\n  type loyaltyV1Account_universal_d_EarnPointsRequest = EarnPointsRequest;\n  type loyaltyV1Account_universal_d_EarnPointsRequestActivityDetailsOneOf = EarnPointsRequestActivityDetailsOneOf;\n  type loyaltyV1Account_universal_d_FollowedSocialMedia = FollowedSocialMedia;\n  type loyaltyV1Account_universal_d_EarnPointsResponse = EarnPointsResponse;\n  type loyaltyV1Account_universal_d_PointsUpdated = PointsUpdated;\n  type loyaltyV1Account_universal_d_FirstTransaction = FirstTransaction;\n  type loyaltyV1Account_universal_d_AdjustPointsRequest = AdjustPointsRequest;\n  type loyaltyV1Account_universal_d_AdjustPointsRequestTypeOneOf = AdjustPointsRequestTypeOneOf;\n  type loyaltyV1Account_universal_d_AdjustPointsResponse = AdjustPointsResponse;\n  type loyaltyV1Account_universal_d_RedeemPointsRequest = RedeemPointsRequest;\n  type loyaltyV1Account_universal_d_RedeemPointsResponse = RedeemPointsResponse;\n  type loyaltyV1Account_universal_d_RedeemDeterminedAmountOfPointsRequest = RedeemDeterminedAmountOfPointsRequest;\n  type loyaltyV1Account_universal_d_RedeemDeterminedAmountOfPointsResponse = RedeemDeterminedAmountOfPointsResponse;\n  type loyaltyV1Account_universal_d_RefundTransactionRequest = RefundTransactionRequest;\n  type loyaltyV1Account_universal_d_RefundTransactionResponse = RefundTransactionResponse;\n  type loyaltyV1Account_universal_d_GetAccountRequest = GetAccountRequest;\n  type loyaltyV1Account_universal_d_GetAccountResponse = GetAccountResponse;\n  type loyaltyV1Account_universal_d_QueryLoyaltyAccountsRequest = QueryLoyaltyAccountsRequest;\n  type loyaltyV1Account_universal_d_QueryLoyaltyAccountsResponse = QueryLoyaltyAccountsResponse;\n  type loyaltyV1Account_universal_d_ListUserAccountsRequest = ListUserAccountsRequest;\n  type loyaltyV1Account_universal_d_ListUserAccountsResponse = ListUserAccountsResponse;\n  type loyaltyV1Account_universal_d_LoyaltyAccountForMetaSite = LoyaltyAccountForMetaSite;\n  type loyaltyV1Account_universal_d_GetProgramTotalsRequest = GetProgramTotalsRequest;\n  type loyaltyV1Account_universal_d_GetProgramTotalsResponse = GetProgramTotalsResponse;\n  type loyaltyV1Account_universal_d_TierTotal = TierTotal;\n  type loyaltyV1Account_universal_d_GetCurrentMemberAccountRequest = GetCurrentMemberAccountRequest;\n  type loyaltyV1Account_universal_d_GetCurrentMemberAccountResponse = GetCurrentMemberAccountResponse;\n  type loyaltyV1Account_universal_d_GetMyAccountRequest = GetMyAccountRequest;\n  type loyaltyV1Account_universal_d_GetMyAccountResponse = GetMyAccountResponse;\n  type loyaltyV1Account_universal_d_GetAccountBySecondaryIdRequest = GetAccountBySecondaryIdRequest;\n  type loyaltyV1Account_universal_d_GetAccountBySecondaryIdRequestIdOneOf = GetAccountBySecondaryIdRequestIdOneOf;\n  type loyaltyV1Account_universal_d_GetAccountBySecondaryIdResponse = GetAccountBySecondaryIdResponse;\n  type loyaltyV1Account_universal_d_ListAccountsRequest = ListAccountsRequest;\n  type loyaltyV1Account_universal_d_ListAccountsResponse = ListAccountsResponse;\n  type loyaltyV1Account_universal_d_SearchAccountsRequest = SearchAccountsRequest;\n  type loyaltyV1Account_universal_d_CursorSearch = CursorSearch;\n  type loyaltyV1Account_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type loyaltyV1Account_universal_d_Aggregation = Aggregation;\n  type loyaltyV1Account_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type loyaltyV1Account_universal_d_RangeBucket = RangeBucket;\n  type loyaltyV1Account_universal_d_SortType = SortType;\n  const loyaltyV1Account_universal_d_SortType: typeof SortType;\n  type loyaltyV1Account_universal_d_SortDirection = SortDirection;\n  const loyaltyV1Account_universal_d_SortDirection: typeof SortDirection;\n  type loyaltyV1Account_universal_d_MissingValues = MissingValues;\n  const loyaltyV1Account_universal_d_MissingValues: typeof MissingValues;\n  type loyaltyV1Account_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n  type loyaltyV1Account_universal_d_ScalarType = ScalarType;\n  const loyaltyV1Account_universal_d_ScalarType: typeof ScalarType;\n  type loyaltyV1Account_universal_d_ValueAggregation = ValueAggregation;\n  type loyaltyV1Account_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n  type loyaltyV1Account_universal_d_NestedAggregationType = NestedAggregationType;\n  const loyaltyV1Account_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type loyaltyV1Account_universal_d_RangeAggregation = RangeAggregation;\n  type loyaltyV1Account_universal_d_ScalarAggregation = ScalarAggregation;\n  type loyaltyV1Account_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n  type loyaltyV1Account_universal_d_DateHistogramAggregationInterval = DateHistogramAggregationInterval;\n  const loyaltyV1Account_universal_d_DateHistogramAggregationInterval: typeof DateHistogramAggregationInterval;\n  type loyaltyV1Account_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type loyaltyV1Account_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type loyaltyV1Account_universal_d_AggregationType = AggregationType;\n  const loyaltyV1Account_universal_d_AggregationType: typeof AggregationType;\n  type loyaltyV1Account_universal_d_NestedAggregation = NestedAggregation;\n  type loyaltyV1Account_universal_d_GroupByAggregation = GroupByAggregation;\n  type loyaltyV1Account_universal_d_GroupByAggregationKindOneOf = GroupByAggregationKindOneOf;\n  type loyaltyV1Account_universal_d_SearchDetails = SearchDetails;\n  type loyaltyV1Account_universal_d_Mode = Mode;\n  const loyaltyV1Account_universal_d_Mode: typeof Mode;\n  type loyaltyV1Account_universal_d_SearchAccountsResponse = SearchAccountsResponse;\n  type loyaltyV1Account_universal_d_AggregationData = AggregationData;\n  type loyaltyV1Account_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type loyaltyV1Account_universal_d_RangeAggregationResult = RangeAggregationResult;\n  type loyaltyV1Account_universal_d_NestedAggregationResults = NestedAggregationResults;\n  type loyaltyV1Account_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n  type loyaltyV1Account_universal_d_ValueResults = ValueResults;\n  type loyaltyV1Account_universal_d_RangeResults = RangeResults;\n  type loyaltyV1Account_universal_d_ScalarResult = ScalarResult;\n  type loyaltyV1Account_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n  type loyaltyV1Account_universal_d_ValueResult = ValueResult;\n  type loyaltyV1Account_universal_d_RangeResult = RangeResult;\n  type loyaltyV1Account_universal_d_NestedResultsScalarResult = NestedResultsScalarResult;\n  type loyaltyV1Account_universal_d_NestedResultValue = NestedResultValue;\n  type loyaltyV1Account_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type loyaltyV1Account_universal_d_Results = Results;\n  type loyaltyV1Account_universal_d_DateHistogramResult = DateHistogramResult;\n  type loyaltyV1Account_universal_d_GroupByValueResults = GroupByValueResults;\n  type loyaltyV1Account_universal_d_DateHistogramResults = DateHistogramResults;\n  type loyaltyV1Account_universal_d_NestedResults = NestedResults;\n  type loyaltyV1Account_universal_d_AggregationResults = AggregationResults;\n  type loyaltyV1Account_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type loyaltyV1Account_universal_d_ExportAccountsRequest = ExportAccountsRequest;\n  type loyaltyV1Account_universal_d_ExportAccountsResponse = ExportAccountsResponse;\n  type loyaltyV1Account_universal_d_CountAccountsRequest = CountAccountsRequest;\n  type loyaltyV1Account_universal_d_CountAccountsResponse = CountAccountsResponse;\n  type loyaltyV1Account_universal_d_BulkAdjustPointsRequest = BulkAdjustPointsRequest;\n  type loyaltyV1Account_universal_d_BulkAdjustPointsRequestTypeOneOf = BulkAdjustPointsRequestTypeOneOf;\n  type loyaltyV1Account_universal_d_BulkAdjustPointsResponse = BulkAdjustPointsResponse;\n  type loyaltyV1Account_universal_d_SubscriptionEvent = SubscriptionEvent;\n  type loyaltyV1Account_universal_d_SubscriptionEventEventOneOf = SubscriptionEventEventOneOf;\n  type loyaltyV1Account_universal_d_SubscriptionCreated = SubscriptionCreated;\n  type loyaltyV1Account_universal_d_Subscription = Subscription;\n  type loyaltyV1Account_universal_d_BillingReference = BillingReference;\n  type loyaltyV1Account_universal_d_ProviderName = ProviderName;\n  const loyaltyV1Account_universal_d_ProviderName: typeof ProviderName;\n  type loyaltyV1Account_universal_d_Cycle = Cycle;\n  type loyaltyV1Account_universal_d_CycleCycleSelectorOneOf = CycleCycleSelectorOneOf;\n  type loyaltyV1Account_universal_d_Interval = Interval;\n  type loyaltyV1Account_universal_d_IntervalUnit = IntervalUnit;\n  const loyaltyV1Account_universal_d_IntervalUnit: typeof IntervalUnit;\n  type loyaltyV1Account_universal_d_OneTime = OneTime;\n  type loyaltyV1Account_universal_d_SubscriptionStatus = SubscriptionStatus;\n  const loyaltyV1Account_universal_d_SubscriptionStatus: typeof SubscriptionStatus;\n  type loyaltyV1Account_universal_d_ReactivationData = ReactivationData;\n  type loyaltyV1Account_universal_d_ReactivationReasonEnum = ReactivationReasonEnum;\n  const loyaltyV1Account_universal_d_ReactivationReasonEnum: typeof ReactivationReasonEnum;\n  type loyaltyV1Account_universal_d_SubscriptionAssigned = SubscriptionAssigned;\n  type loyaltyV1Account_universal_d_SubscriptionCancelled = SubscriptionCancelled;\n  type loyaltyV1Account_universal_d_CancellationDetails = CancellationDetails;\n  type loyaltyV1Account_universal_d_Initiator = Initiator;\n  const loyaltyV1Account_universal_d_Initiator: typeof Initiator;\n  type loyaltyV1Account_universal_d_SubscriptionAutoRenewTurnedOn = SubscriptionAutoRenewTurnedOn;\n  type loyaltyV1Account_universal_d_SubscriptionAutoRenewTurnedOff = SubscriptionAutoRenewTurnedOff;\n  type loyaltyV1Account_universal_d_SubscriptionUnassigned = SubscriptionUnassigned;\n  type loyaltyV1Account_universal_d_UnassignReason = UnassignReason;\n  const loyaltyV1Account_universal_d_UnassignReason: typeof UnassignReason;\n  type loyaltyV1Account_universal_d_SubscriptionTransferred = SubscriptionTransferred;\n  type loyaltyV1Account_universal_d_RecurringChargeSucceeded = RecurringChargeSucceeded;\n  type loyaltyV1Account_universal_d_ContractSwitched = ContractSwitched;\n  type loyaltyV1Account_universal_d_ContractSwitchType = ContractSwitchType;\n  const loyaltyV1Account_universal_d_ContractSwitchType: typeof ContractSwitchType;\n  type loyaltyV1Account_universal_d_ContractSwitchReason = ContractSwitchReason;\n  const loyaltyV1Account_universal_d_ContractSwitchReason: typeof ContractSwitchReason;\n  type loyaltyV1Account_universal_d_ProductPriceIncreaseData = ProductPriceIncreaseData;\n  type loyaltyV1Account_universal_d_PriceIncreaseTrigger = PriceIncreaseTrigger;\n  const loyaltyV1Account_universal_d_PriceIncreaseTrigger: typeof PriceIncreaseTrigger;\n  type loyaltyV1Account_universal_d_ProductAdjustment = ProductAdjustment;\n  const loyaltyV1Account_universal_d_ProductAdjustment: typeof ProductAdjustment;\n  type loyaltyV1Account_universal_d_SubscriptionNearEndOfPeriod = SubscriptionNearEndOfPeriod;\n  type loyaltyV1Account_universal_d_SubscriptionPendingChange = SubscriptionPendingChange;\n  type loyaltyV1Account_universal_d_ContactSyncRequest = ContactSyncRequest;\n  type loyaltyV1Account_universal_d_BulkUpsertAccountsRequest = BulkUpsertAccountsRequest;\n  type loyaltyV1Account_universal_d_AccountToUpsert = AccountToUpsert;\n  type loyaltyV1Account_universal_d_BulkUpsertAccountsResponse = BulkUpsertAccountsResponse;\n  type loyaltyV1Account_universal_d_BulkAccountResult = BulkAccountResult;\n  type loyaltyV1Account_universal_d_SetMissingMemberIdRequest = SetMissingMemberIdRequest;\n  type loyaltyV1Account_universal_d_SetMissingMemberIdResponse = SetMissingMemberIdResponse;\n  const loyaltyV1Account_universal_d_createAccount: typeof createAccount;\n  const loyaltyV1Account_universal_d_earnPoints: typeof earnPoints;\n  type loyaltyV1Account_universal_d_EarnPointsOptions = EarnPointsOptions;\n  const loyaltyV1Account_universal_d_adjustPoints: typeof adjustPoints;\n  type loyaltyV1Account_universal_d_AdjustPointsOptions = AdjustPointsOptions;\n  const loyaltyV1Account_universal_d_redeemPoints: typeof redeemPoints;\n  type loyaltyV1Account_universal_d_RedeemPointsOptions = RedeemPointsOptions;\n  const loyaltyV1Account_universal_d_redeemDeterminedAmountOfPoints: typeof redeemDeterminedAmountOfPoints;\n  type loyaltyV1Account_universal_d_RedeemDeterminedAmountOfPointsOptions = RedeemDeterminedAmountOfPointsOptions;\n  const loyaltyV1Account_universal_d_refundTransaction: typeof refundTransaction;\n  const loyaltyV1Account_universal_d_getAccount: typeof getAccount;\n  const loyaltyV1Account_universal_d_queryLoyaltyAccounts: typeof queryLoyaltyAccounts;\n  type loyaltyV1Account_universal_d_LoyaltyAccountsQueryResult = LoyaltyAccountsQueryResult;\n  type loyaltyV1Account_universal_d_LoyaltyAccountsQueryBuilder = LoyaltyAccountsQueryBuilder;\n  const loyaltyV1Account_universal_d_listUserAccounts: typeof listUserAccounts;\n  type loyaltyV1Account_universal_d_ListUserAccountsOptions = ListUserAccountsOptions;\n  const loyaltyV1Account_universal_d_getProgramTotals: typeof getProgramTotals;\n  const loyaltyV1Account_universal_d_getCurrentMemberAccount: typeof getCurrentMemberAccount;\n  const loyaltyV1Account_universal_d_getMyAccount: typeof getMyAccount;\n  const loyaltyV1Account_universal_d_getAccountBySecondaryId: typeof getAccountBySecondaryId;\n  type loyaltyV1Account_universal_d_GetAccountBySecondaryIdOptions = GetAccountBySecondaryIdOptions;\n  const loyaltyV1Account_universal_d_listAccounts: typeof listAccounts;\n  type loyaltyV1Account_universal_d_ListAccountsOptions = ListAccountsOptions;\n  const loyaltyV1Account_universal_d_searchAccounts: typeof searchAccounts;\n  type loyaltyV1Account_universal_d_SearchAccountsOptions = SearchAccountsOptions;\n  const loyaltyV1Account_universal_d_exportAccounts: typeof exportAccounts;\n  type loyaltyV1Account_universal_d_ExportAccountsOptions = ExportAccountsOptions;\n  const loyaltyV1Account_universal_d_countAccounts: typeof countAccounts;\n  type loyaltyV1Account_universal_d_CountAccountsOptions = CountAccountsOptions;\n  const loyaltyV1Account_universal_d_bulkAdjustPoints: typeof bulkAdjustPoints;\n  type loyaltyV1Account_universal_d_BulkAdjustPointsOptions = BulkAdjustPointsOptions;\n  const loyaltyV1Account_universal_d_bulkUpsertAccounts: typeof bulkUpsertAccounts;\n  type loyaltyV1Account_universal_d_BulkUpsertAccountsOptions = BulkUpsertAccountsOptions;\n  const loyaltyV1Account_universal_d_setMissingMemberId: typeof setMissingMemberId;\n  namespace loyaltyV1Account_universal_d {\n    export {\n      loyaltyV1Account_universal_d_LoyaltyAccount as LoyaltyAccount,\n      loyaltyV1Account_universal_d_Points as Points,\n      Tier$1 as Tier,\n      loyaltyV1Account_universal_d_Contact as Contact,\n      loyaltyV1Account_universal_d_Image as Image,\n      PointsExpiration$1 as PointsExpiration,\n      loyaltyV1Account_universal_d_RewardAvailabilityUpdated as RewardAvailabilityUpdated,\n      loyaltyV1Account_universal_d_UpdateTrigger as UpdateTrigger,\n      loyaltyV1Account_universal_d_CreateAccountRequest as CreateAccountRequest,\n      loyaltyV1Account_universal_d_CreateAccountResponse as CreateAccountResponse,\n      loyaltyV1Account_universal_d_EarnPointsRequest as EarnPointsRequest,\n      loyaltyV1Account_universal_d_EarnPointsRequestActivityDetailsOneOf as EarnPointsRequestActivityDetailsOneOf,\n      loyaltyV1Account_universal_d_FollowedSocialMedia as FollowedSocialMedia,\n      loyaltyV1Account_universal_d_EarnPointsResponse as EarnPointsResponse,\n      loyaltyV1Account_universal_d_PointsUpdated as PointsUpdated,\n      loyaltyV1Account_universal_d_FirstTransaction as FirstTransaction,\n      loyaltyV1Account_universal_d_AdjustPointsRequest as AdjustPointsRequest,\n      loyaltyV1Account_universal_d_AdjustPointsRequestTypeOneOf as AdjustPointsRequestTypeOneOf,\n      loyaltyV1Account_universal_d_AdjustPointsResponse as AdjustPointsResponse,\n      loyaltyV1Account_universal_d_RedeemPointsRequest as RedeemPointsRequest,\n      loyaltyV1Account_universal_d_RedeemPointsResponse as RedeemPointsResponse,\n      loyaltyV1Account_universal_d_RedeemDeterminedAmountOfPointsRequest as RedeemDeterminedAmountOfPointsRequest,\n      loyaltyV1Account_universal_d_RedeemDeterminedAmountOfPointsResponse as RedeemDeterminedAmountOfPointsResponse,\n      loyaltyV1Account_universal_d_RefundTransactionRequest as RefundTransactionRequest,\n      loyaltyV1Account_universal_d_RefundTransactionResponse as RefundTransactionResponse,\n      loyaltyV1Account_universal_d_GetAccountRequest as GetAccountRequest,\n      loyaltyV1Account_universal_d_GetAccountResponse as GetAccountResponse,\n      loyaltyV1Account_universal_d_QueryLoyaltyAccountsRequest as QueryLoyaltyAccountsRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$3 as CursorPaging,\n      loyaltyV1Account_universal_d_QueryLoyaltyAccountsResponse as QueryLoyaltyAccountsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$3 as Cursors,\n      loyaltyV1Account_universal_d_ListUserAccountsRequest as ListUserAccountsRequest,\n      loyaltyV1Account_universal_d_ListUserAccountsResponse as ListUserAccountsResponse,\n      loyaltyV1Account_universal_d_LoyaltyAccountForMetaSite as LoyaltyAccountForMetaSite,\n      loyaltyV1Account_universal_d_GetProgramTotalsRequest as GetProgramTotalsRequest,\n      loyaltyV1Account_universal_d_GetProgramTotalsResponse as GetProgramTotalsResponse,\n      loyaltyV1Account_universal_d_TierTotal as TierTotal,\n      loyaltyV1Account_universal_d_GetCurrentMemberAccountRequest as GetCurrentMemberAccountRequest,\n      loyaltyV1Account_universal_d_GetCurrentMemberAccountResponse as GetCurrentMemberAccountResponse,\n      loyaltyV1Account_universal_d_GetMyAccountRequest as GetMyAccountRequest,\n      loyaltyV1Account_universal_d_GetMyAccountResponse as GetMyAccountResponse,\n      loyaltyV1Account_universal_d_GetAccountBySecondaryIdRequest as GetAccountBySecondaryIdRequest,\n      loyaltyV1Account_universal_d_GetAccountBySecondaryIdRequestIdOneOf as GetAccountBySecondaryIdRequestIdOneOf,\n      loyaltyV1Account_universal_d_GetAccountBySecondaryIdResponse as GetAccountBySecondaryIdResponse,\n      loyaltyV1Account_universal_d_ListAccountsRequest as ListAccountsRequest,\n      loyaltyV1Account_universal_d_ListAccountsResponse as ListAccountsResponse,\n      PagingMetadataV2$3 as PagingMetadataV2,\n      loyaltyV1Account_universal_d_SearchAccountsRequest as SearchAccountsRequest,\n      loyaltyV1Account_universal_d_CursorSearch as CursorSearch,\n      loyaltyV1Account_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      loyaltyV1Account_universal_d_Aggregation as Aggregation,\n      loyaltyV1Account_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      loyaltyV1Account_universal_d_RangeBucket as RangeBucket,\n      loyaltyV1Account_universal_d_SortType as SortType,\n      loyaltyV1Account_universal_d_SortDirection as SortDirection,\n      loyaltyV1Account_universal_d_MissingValues as MissingValues,\n      loyaltyV1Account_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions,\n      loyaltyV1Account_universal_d_ScalarType as ScalarType,\n      loyaltyV1Account_universal_d_ValueAggregation as ValueAggregation,\n      loyaltyV1Account_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf,\n      loyaltyV1Account_universal_d_NestedAggregationType as NestedAggregationType,\n      loyaltyV1Account_universal_d_RangeAggregation as RangeAggregation,\n      loyaltyV1Account_universal_d_ScalarAggregation as ScalarAggregation,\n      loyaltyV1Account_universal_d_DateHistogramAggregation as DateHistogramAggregation,\n      loyaltyV1Account_universal_d_DateHistogramAggregationInterval as DateHistogramAggregationInterval,\n      loyaltyV1Account_universal_d_NestedAggregationItem as NestedAggregationItem,\n      loyaltyV1Account_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      loyaltyV1Account_universal_d_AggregationType as AggregationType,\n      loyaltyV1Account_universal_d_NestedAggregation as NestedAggregation,\n      loyaltyV1Account_universal_d_GroupByAggregation as GroupByAggregation,\n      loyaltyV1Account_universal_d_GroupByAggregationKindOneOf as GroupByAggregationKindOneOf,\n      loyaltyV1Account_universal_d_SearchDetails as SearchDetails,\n      loyaltyV1Account_universal_d_Mode as Mode,\n      loyaltyV1Account_universal_d_SearchAccountsResponse as SearchAccountsResponse,\n      loyaltyV1Account_universal_d_AggregationData as AggregationData,\n      loyaltyV1Account_universal_d_ValueAggregationResult as ValueAggregationResult,\n      loyaltyV1Account_universal_d_RangeAggregationResult as RangeAggregationResult,\n      loyaltyV1Account_universal_d_NestedAggregationResults as NestedAggregationResults,\n      loyaltyV1Account_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,\n      loyaltyV1Account_universal_d_ValueResults as ValueResults,\n      loyaltyV1Account_universal_d_RangeResults as RangeResults,\n      loyaltyV1Account_universal_d_ScalarResult as ScalarResult,\n      loyaltyV1Account_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,\n      loyaltyV1Account_universal_d_ValueResult as ValueResult,\n      loyaltyV1Account_universal_d_RangeResult as RangeResult,\n      loyaltyV1Account_universal_d_NestedResultsScalarResult as NestedResultsScalarResult,\n      loyaltyV1Account_universal_d_NestedResultValue as NestedResultValue,\n      loyaltyV1Account_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      loyaltyV1Account_universal_d_Results as Results,\n      loyaltyV1Account_universal_d_DateHistogramResult as DateHistogramResult,\n      loyaltyV1Account_universal_d_GroupByValueResults as GroupByValueResults,\n      loyaltyV1Account_universal_d_DateHistogramResults as DateHistogramResults,\n      loyaltyV1Account_universal_d_NestedResults as NestedResults,\n      loyaltyV1Account_universal_d_AggregationResults as AggregationResults,\n      loyaltyV1Account_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      loyaltyV1Account_universal_d_ExportAccountsRequest as ExportAccountsRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Paging$1 as Paging,\n      loyaltyV1Account_universal_d_ExportAccountsResponse as ExportAccountsResponse,\n      loyaltyV1Account_universal_d_CountAccountsRequest as CountAccountsRequest,\n      loyaltyV1Account_universal_d_CountAccountsResponse as CountAccountsResponse,\n      loyaltyV1Account_universal_d_BulkAdjustPointsRequest as BulkAdjustPointsRequest,\n      loyaltyV1Account_universal_d_BulkAdjustPointsRequestTypeOneOf as BulkAdjustPointsRequestTypeOneOf,\n      loyaltyV1Account_universal_d_BulkAdjustPointsResponse as BulkAdjustPointsResponse,\n      DomainEvent$5 as DomainEvent,\n      DomainEventBodyOneOf$5 as DomainEventBodyOneOf,\n      EntityCreatedEvent$5 as EntityCreatedEvent,\n      RestoreInfo$5 as RestoreInfo,\n      EntityUpdatedEvent$5 as EntityUpdatedEvent,\n      EntityDeletedEvent$5 as EntityDeletedEvent,\n      ActionEvent$5 as ActionEvent,\n      Empty$5 as Empty,\n      TiersRollingUpdate$1 as TiersRollingUpdate,\n      TiersProgramSettingsChanged$1 as TiersProgramSettingsChanged,\n      TiersProgramSettings$1 as TiersProgramSettings,\n      TiersProgramSettingsPeriodOneOf$1 as TiersProgramSettingsPeriodOneOf,\n      Status$4 as Status,\n      TierDefinition$1 as TierDefinition,\n      FocalPoint$2 as FocalPoint,\n      RollingWindow$1 as RollingWindow,\n      loyaltyV1Account_universal_d_SubscriptionEvent as SubscriptionEvent,\n      loyaltyV1Account_universal_d_SubscriptionEventEventOneOf as SubscriptionEventEventOneOf,\n      loyaltyV1Account_universal_d_SubscriptionCreated as SubscriptionCreated,\n      loyaltyV1Account_universal_d_Subscription as Subscription,\n      loyaltyV1Account_universal_d_BillingReference as BillingReference,\n      loyaltyV1Account_universal_d_ProviderName as ProviderName,\n      loyaltyV1Account_universal_d_Cycle as Cycle,\n      loyaltyV1Account_universal_d_CycleCycleSelectorOneOf as CycleCycleSelectorOneOf,\n      loyaltyV1Account_universal_d_Interval as Interval,\n      loyaltyV1Account_universal_d_IntervalUnit as IntervalUnit,\n      loyaltyV1Account_universal_d_OneTime as OneTime,\n      loyaltyV1Account_universal_d_SubscriptionStatus as SubscriptionStatus,\n      loyaltyV1Account_universal_d_ReactivationData as ReactivationData,\n      loyaltyV1Account_universal_d_ReactivationReasonEnum as ReactivationReasonEnum,\n      loyaltyV1Account_universal_d_SubscriptionAssigned as SubscriptionAssigned,\n      loyaltyV1Account_universal_d_SubscriptionCancelled as SubscriptionCancelled,\n      loyaltyV1Account_universal_d_CancellationDetails as CancellationDetails,\n      loyaltyV1Account_universal_d_Initiator as Initiator,\n      loyaltyV1Account_universal_d_SubscriptionAutoRenewTurnedOn as SubscriptionAutoRenewTurnedOn,\n      loyaltyV1Account_universal_d_SubscriptionAutoRenewTurnedOff as SubscriptionAutoRenewTurnedOff,\n      loyaltyV1Account_universal_d_SubscriptionUnassigned as SubscriptionUnassigned,\n      loyaltyV1Account_universal_d_UnassignReason as UnassignReason,\n      loyaltyV1Account_universal_d_SubscriptionTransferred as SubscriptionTransferred,\n      loyaltyV1Account_universal_d_RecurringChargeSucceeded as RecurringChargeSucceeded,\n      loyaltyV1Account_universal_d_ContractSwitched as ContractSwitched,\n      loyaltyV1Account_universal_d_ContractSwitchType as ContractSwitchType,\n      loyaltyV1Account_universal_d_ContractSwitchReason as ContractSwitchReason,\n      loyaltyV1Account_universal_d_ProductPriceIncreaseData as ProductPriceIncreaseData,\n      loyaltyV1Account_universal_d_PriceIncreaseTrigger as PriceIncreaseTrigger,\n      loyaltyV1Account_universal_d_ProductAdjustment as ProductAdjustment,\n      loyaltyV1Account_universal_d_SubscriptionNearEndOfPeriod as SubscriptionNearEndOfPeriod,\n      loyaltyV1Account_universal_d_SubscriptionPendingChange as SubscriptionPendingChange,\n      loyaltyV1Account_universal_d_ContactSyncRequest as ContactSyncRequest,\n      loyaltyV1Account_universal_d_BulkUpsertAccountsRequest as BulkUpsertAccountsRequest,\n      loyaltyV1Account_universal_d_AccountToUpsert as AccountToUpsert,\n      loyaltyV1Account_universal_d_BulkUpsertAccountsResponse as BulkUpsertAccountsResponse,\n      loyaltyV1Account_universal_d_BulkAccountResult as BulkAccountResult,\n      ItemMetadata$3 as ItemMetadata,\n      ApplicationError$3 as ApplicationError,\n      BulkActionMetadata$3 as BulkActionMetadata,\n      loyaltyV1Account_universal_d_SetMissingMemberIdRequest as SetMissingMemberIdRequest,\n      loyaltyV1Account_universal_d_SetMissingMemberIdResponse as SetMissingMemberIdResponse,\n      MessageEnvelope$5 as MessageEnvelope,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      loyaltyV1Account_universal_d_createAccount as createAccount,\n      loyaltyV1Account_universal_d_earnPoints as earnPoints,\n      loyaltyV1Account_universal_d_EarnPointsOptions as EarnPointsOptions,\n      loyaltyV1Account_universal_d_adjustPoints as adjustPoints,\n      loyaltyV1Account_universal_d_AdjustPointsOptions as AdjustPointsOptions,\n      loyaltyV1Account_universal_d_redeemPoints as redeemPoints,\n      loyaltyV1Account_universal_d_RedeemPointsOptions as RedeemPointsOptions,\n      loyaltyV1Account_universal_d_redeemDeterminedAmountOfPoints as redeemDeterminedAmountOfPoints,\n      loyaltyV1Account_universal_d_RedeemDeterminedAmountOfPointsOptions as RedeemDeterminedAmountOfPointsOptions,\n      loyaltyV1Account_universal_d_refundTransaction as refundTransaction,\n      loyaltyV1Account_universal_d_getAccount as getAccount,\n      loyaltyV1Account_universal_d_queryLoyaltyAccounts as queryLoyaltyAccounts,\n      loyaltyV1Account_universal_d_LoyaltyAccountsQueryResult as LoyaltyAccountsQueryResult,\n      loyaltyV1Account_universal_d_LoyaltyAccountsQueryBuilder as LoyaltyAccountsQueryBuilder,\n      loyaltyV1Account_universal_d_listUserAccounts as listUserAccounts,\n      loyaltyV1Account_universal_d_ListUserAccountsOptions as ListUserAccountsOptions,\n      loyaltyV1Account_universal_d_getProgramTotals as getProgramTotals,\n      loyaltyV1Account_universal_d_getCurrentMemberAccount as getCurrentMemberAccount,\n      loyaltyV1Account_universal_d_getMyAccount as getMyAccount,\n      loyaltyV1Account_universal_d_getAccountBySecondaryId as getAccountBySecondaryId,\n      loyaltyV1Account_universal_d_GetAccountBySecondaryIdOptions as GetAccountBySecondaryIdOptions,\n      loyaltyV1Account_universal_d_listAccounts as listAccounts,\n      loyaltyV1Account_universal_d_ListAccountsOptions as ListAccountsOptions,\n      loyaltyV1Account_universal_d_searchAccounts as searchAccounts,\n      loyaltyV1Account_universal_d_SearchAccountsOptions as SearchAccountsOptions,\n      loyaltyV1Account_universal_d_exportAccounts as exportAccounts,\n      loyaltyV1Account_universal_d_ExportAccountsOptions as ExportAccountsOptions,\n      loyaltyV1Account_universal_d_countAccounts as countAccounts,\n      loyaltyV1Account_universal_d_CountAccountsOptions as CountAccountsOptions,\n      loyaltyV1Account_universal_d_bulkAdjustPoints as bulkAdjustPoints,\n      loyaltyV1Account_universal_d_BulkAdjustPointsOptions as BulkAdjustPointsOptions,\n      loyaltyV1Account_universal_d_bulkUpsertAccounts as bulkUpsertAccounts,\n      loyaltyV1Account_universal_d_BulkUpsertAccountsOptions as BulkUpsertAccountsOptions,\n      loyaltyV1Account_universal_d_setMissingMemberId as setMissingMemberId,\n    };\n  }\n  \n  /**\n   * A loyalty coupon is created when a customer redeems their loyalty points for a reward. Creating a loyalty coupon\n   * also creates a corresponding \"reference\" coupon with the [Coupons API](https://dev.wix.com/api/rest/coupons/about-wix-coupons).\n   */\n  interface LoyaltyCoupon {\n      /**\n       * Loyalty coupon ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * [Loyalty account ID](https://dev.wix.com/docs/rest/crm/loyalty-program/accounts/account-object) of the customer that redeemed points for a coupon.\n       * @readonly\n       */\n      accountId?: string;\n      /**\n       * [Member ID](https://dev.wix.com/api/rest/members/members/member-object) of the customer that redeemed points for a coupon.\n       * @readonly\n       * @deprecated [Member ID](https://dev.wix.com/api/rest/members/members/member-object) of the customer that redeemed points for a coupon.\n       * @replacedBy member_id\n       * @targetRemovalDate 2024-06-01\n       */\n      memberIdDeprecated?: string;\n      /**\n       * [Member ID](https://dev.wix.com/docs/rest/crm/members-contacts/members/members/member-object) of the customer that redeemed points for a coupon.\n       * @readonly\n       */\n      memberId?: string | null;\n      /**\n       * Transaction ID for the transaction that created a coupon.\n       * @readonly\n       */\n      transactionId?: string | null;\n      /**\n       * Reference coupon information for the corresponding [coupon](https://dev.wix.com/api/rest/coupons/about-wix-coupons)\n       * that is created along with the loyalty coupon.\n       * @readonly\n       */\n      couponReference?: CouponReference;\n      /**\n       * Loyalty coupon status.\n       *\n       * This status relates to the corresponding coupon that is created\n       * at the same time as the loyalty coupon and is included in `couponReference`.\n       * @readonly\n       */\n      status?: Status$3;\n      /**\n       * Name of reward that was redeemed to create this coupon.\n       * @readonly\n       */\n      rewardName?: string;\n      /**\n       * Revision number, which increments by 1 each time the loyalty coupon is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty coupon.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the loyalty coupon was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the loyalty coupon was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface CouponReference {\n      /**\n       * Coupon ID.\n       * @readonly\n       */\n      couponId?: string;\n      /**\n       * Coupon code.\n       *\n       * Unique code entered by a customer to apply the coupon.\n       * @readonly\n       */\n      code?: string;\n      /**\n       * Name of coupon.\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * The information to use when creating the coupon.\n       * @readonly\n       */\n      specification?: Specification;\n      /**\n       * Whether the referenced coupon was deleted.\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  interface Specification extends SpecificationTypeDetailsOneOf, SpecificationScopeOrMinSubtotalOneOf {\n      /** Fixed price discount. */\n      moneyOffAmount?: number;\n      /** Discount as a percentage. */\n      percentOffRate?: number;\n      /** Free shipping. If true, the coupon applies to all items in all `namespaces` in the site. */\n      freeShipping?: boolean;\n      /** Specific sale price. Currently only supported for coupons with a `stores` `namespace`. */\n      fixedPriceAmount?: number;\n      /**\n       * Free products when making a purchase. `buyXGetY` is an object that specifies `x` and `y` in the\n       * following scenario: if a visitor purchases x number of products, they receive y number of products for free. C\n       * urrently only supported for coupons with a `stores` `namespace`.\n       */\n      buyXGetY?: BuyXGetY;\n      /**\n       * Scope of the coupon. When no scope is defined, the coupon applies to all\n       * items in all `namespaces` in the site.\n       */\n      scope?: Scope;\n      /** The coupon is only applicable when the order subtotal is over this amount. */\n      minimumSubtotal?: number | null;\n      /** Name of coupon. */\n      name?: string | null;\n      type?: Type$2;\n      /**\n       * Whether the coupon is limited to 1 discount per order. If true and a customer pays for multiple items\n       * that the coupon applies to, only the lowest priced item is discounted.\n       * Coupons with a `bookings` `namespace` are always limited to 1 item.\n       */\n      limitedToOneItem?: boolean | null;\n      /** Whether the coupon also applies to subscriptions. */\n      appliesToSubscriptions?: boolean | null;\n      /**\n       * Specifies the amount of cycles to apply the discount to for a subscription item.\n       *\n       * Can only be set when `appliesToSubscriptions` is `TRUE` and `specification.scope.namespace` is `pricingPlans`.\n       * If `discountedCycleCount` is empty, the coupon applies to all available cycles.\n       *\n       * Min: `1`\n       *\n       * Max: `999`\n       */\n      discountedCycleCount?: number | null;\n  }\n  /** @oneof */\n  interface SpecificationTypeDetailsOneOf {\n      /** Fixed price discount. */\n      moneyOffAmount?: number;\n      /** Discount as a percentage. */\n      percentOffRate?: number;\n      /** Free shipping. If true, the coupon applies to all items in all `namespaces` in the site. */\n      freeShipping?: boolean;\n      /** Specific sale price. Currently only supported for coupons with a `stores` `namespace`. */\n      fixedPriceAmount?: number;\n      /**\n       * Free products when making a purchase. `buyXGetY` is an object that specifies `x` and `y` in the\n       * following scenario: if a visitor purchases x number of products, they receive y number of products for free. C\n       * urrently only supported for coupons with a `stores` `namespace`.\n       */\n      buyXGetY?: BuyXGetY;\n  }\n  /** @oneof */\n  interface SpecificationScopeOrMinSubtotalOneOf {\n      /**\n       * Scope of the coupon. When no scope is defined, the coupon applies to all\n       * items in all `namespaces` in the site.\n       */\n      scope?: Scope;\n      /** The coupon is only applicable when the order subtotal is over this amount. */\n      minimumSubtotal?: number | null;\n  }\n  enum Type$2 {\n      UNKNOWN = \"UNKNOWN\",\n      MONEY_OFF_AMOUNT = \"MONEY_OFF_AMOUNT\",\n      PERCENT_OFF_RATE = \"PERCENT_OFF_RATE\",\n      FREE_SHIPPING = \"FREE_SHIPPING\",\n      FIXED_PRICE_AMOUNT = \"FIXED_PRICE_AMOUNT\",\n      BUY_X_GET_Y = \"BUY_X_GET_Y\"\n  }\n  interface BuyXGetY {\n      /** Number of purchased items required to receive free items. */\n      x?: number;\n      /** Number of items received for free if required number of items were purchased. */\n      y?: number;\n  }\n  interface Scope {\n      /**\n       * Group within a `namespace` for which the coupon is applicable.\n       *\n       * If no group is specified, the coupon applies to all items in the namespace.\n       * `group` is required in some namespaces. See [Scope Values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values)\n       * for a list of currently supported groups for each namespace.\n       */\n      name?: string | null;\n      /**\n       * ID of the specific entity in the group for which the coupon is applicable.\n       *\n       * If no `entityId` is specified, the coupon applies to all entities in the group. In some cases when a group is specified,\n       * an `entityId` is required. See [Scope Values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values)\n       * for a list of currently supported entities for each namespace and group.\n       */\n      entityId?: string | null;\n      /**\n       * Wix application for which the coupon is applicable.\n       *\n       * One of the following:\n       * + `\"stores\"`\n       * + `\"bookings\"`\n       * + `\"events\"`\n       * + `\"pricingPlans\"`\n       */\n      namespace?: string;\n  }\n  enum Status$3 {\n      /** Unknown status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** The reference coupon was created but the loyalty points have not been redeemed yet. */\n      PENDING = \"PENDING\",\n      /** The reference coupon is active and available to the customer. */\n      ACTIVE = \"ACTIVE\",\n      /** The reference coupon was applied and is no longer available for use. */\n      APPLIED = \"APPLIED\",\n      /** The reference coupon was created but something went wrong when redeeming points from the loyalty account. */\n      FAILED = \"FAILED\",\n      /** The reference coupon was deleted. */\n      ARCHIVED = \"ARCHIVED\"\n  }\n  interface RedeemPointsForCouponRequest {\n      /** ID of the [loyalty reward](https://dev.wix.com/docs/rest/crm/loyalty-program/rewards/reward-object) to redeem. */\n      rewardId: string;\n      /** ID of the [loyalty account](https://dev.wix.com/docs/rest/crm/loyalty-program/accounts/account-object) of the customer redeeming points. */\n      loyaltyAccountId: string;\n  }\n  interface RedeemPointsForCouponResponse {\n      /** Created loyalty coupon. */\n      coupon?: LoyaltyCoupon;\n  }\n  interface RedeemCurrentMemberPointsForCouponRequest {\n      /** ID of the [loyalty reward](https://dev.wix.com/docs/rest/crm/loyalty-program/rewards/reward-object) to redeem. */\n      rewardId: string;\n  }\n  interface RedeemCurrentMemberPointsForCouponResponse {\n      /** Created loyalty coupon. */\n      coupon?: LoyaltyCoupon;\n      /**\n       * Transaction id of the coupon redemption\n       * @internal\n       */\n      transactionId?: string;\n  }\n  interface RedeemMemberPointsForDiscountAmountCouponRequest {\n      /** ID of the [loyalty reward](https://dev.wix.com/api/rest/wix-loyalty-program/rewards) to redeem. */\n      rewardId: string;\n      /** Loyalty account id. */\n      loyaltyAccountId: string;\n      /** Number of points to redeem. */\n      pointsToRedeem: number;\n      /** Coupon specification. */\n      specification: Specification;\n  }\n  interface RedeemMemberPointsForDiscountAmountCouponResponse {\n      /** Created loyalty coupon. */\n      coupon?: LoyaltyCoupon;\n      /** Transaction id of the coupon redemption */\n      transactionId?: string;\n  }\n  interface GetLoyaltyCouponRequest {\n      /** ID of the loyalty coupon to retrieve. */\n      loyaltyCouponId: string;\n  }\n  interface GetLoyaltyCouponResponse {\n      /** Retrieved loyalty coupon. */\n      loyaltyCoupon?: LoyaltyCoupon;\n  }\n  interface BulkGetLoyaltyCouponRequest {\n      /** Query to filter loyalty coupons. */\n      query?: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface BulkGetLoyaltyCouponResponse {\n      /** Retrieved loyalty coupons. */\n      couponsInSite?: CouponsInSite[];\n  }\n  interface CouponsInSite {\n      /** Metasite id */\n      metaSiteId?: string;\n      /** Retrieved loyalty coupons. */\n      loyaltyCoupons?: LoyaltyCoupon[];\n  }\n  interface GetCurrentMemberCouponsRequest {\n  }\n  interface GetCurrentMemberCouponsResponse {\n      /** Retrieved loyalty coupons. */\n      loyaltyCoupons?: LoyaltyCoupon[];\n  }\n  interface QueryLoyaltyCouponRequest {\n      /** Query options. */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryLoyaltyCouponResponse {\n      /** Retrieved loyalty coupons. */\n      loyaltyCoupons?: LoyaltyCoupon[];\n      /** Metadata. */\n      metadata?: PagingMetadataV2$2;\n  }\n  interface PagingMetadataV2$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DeleteLoyaltyCouponRequest {\n      /** ID of the loyalty coupon to delete. */\n      _id: string;\n      /**\n       * Revision number, which increments by 1 each time the loyalty coupon is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty coupon.\n       */\n      revision?: string;\n  }\n  interface DeleteLoyaltyCouponResponse {\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface Empty$4 {\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Redeems a customer's loyalty points for a loyalty reward and creates a loyalty coupon.\n   *\n   * Creating a loyalty coupon also creates a corresponding \"reference\" coupon with the [Coupons API](https://dev.wix.com/api/rest/coupons/about-wix-coupons).\n   * The customer receives the reference coupon, which they can apply to their order. The loyalty coupon and its corresponding reference coupon\n   * are linked and the loyalty coupon's `status` reflects the current state of the reference coupon.\n   *\n   * Check which loyalty rewards a site has available with [List Rewards](https://dev.wix.com/docs/rest/crm/loyalty-program/rewards/list-rewards).\n   * @param rewardId - ID of the [loyalty reward](https://dev.wix.com/docs/rest/crm/loyalty-program/rewards/reward-object) to redeem.\n   * @public\n   * @requiredField options\n   * @requiredField options.loyaltyAccountId\n   * @requiredField rewardId\n   * @permissionId LOYALTY.REDEEM_COUPON\n   * @adminMethod\n   */\n  function redeemPointsForCoupon(rewardId: string, options: RedeemPointsForCouponOptions): Promise<RedeemPointsForCouponResponse>;\n  interface RedeemPointsForCouponOptions {\n      /** ID of the [loyalty account](https://dev.wix.com/docs/rest/crm/loyalty-program/accounts/account-object) of the customer redeeming points. */\n      loyaltyAccountId: string;\n  }\n  /**\n   * Redeems a current customer's loyalty points for a loyalty reward and creates a loyalty coupon.\n   *\n   * Creating a loyalty coupon also creates a corresponding \"reference\" coupon with the [Coupons API](https://dev.wix.com/api/rest/coupons/about-wix-coupons).\n   * The customer receives the reference coupon, which they can apply to their order. The loyalty coupon and its corresponding reference coupon\n   * are linked and the loyalty coupon's `status` reflects the current state of the reference coupon.\n   *\n   * Check which loyalty rewards a site has available with [List Rewards](https://dev.wix.com/docs/rest/crm/loyalty-program/rewards/list-rewards).\n   *\n   * >**Note:**\n   * >This endpoint requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n   * @param rewardId - ID of the [loyalty reward](https://dev.wix.com/docs/rest/crm/loyalty-program/rewards/reward-object) to redeem.\n   * @public\n   * @requiredField rewardId\n   * @permissionId LOYALTY.REDEEM_OWN_COUPON\n   */\n  function redeemCurrentMemberPointsForCoupon(rewardId: string): Promise<RedeemCurrentMemberPointsForCouponResponse>;\n  /**\n   * Redeems a current customer's loyalty points for a loyalty reward and creates a loyalty coupon.\n   *\n   * Creating a loyalty coupon also creates a corresponding \"reference\" coupon with the [Coupons API](https://dev.wix.com/api/rest/coupons/about-wix-coupons).\n   * The customer receives the reference coupon, which they can apply to their order. The loyalty coupon and its corresponding reference coupon\n   * are linked and the loyalty coupon's `status` reflects the current state of the reference coupon.\n   *\n   * Check which loyalty rewards a site has available with [List Rewards](https://dev.wix.com/api/rest/wix-loyalty-program/rewards/list-rewards).\n   * @param rewardId - ID of the [loyalty reward](https://dev.wix.com/api/rest/wix-loyalty-program/rewards) to redeem.\n   * @internal\n   * @requiredField options\n   * @requiredField options.loyaltyAccountId\n   * @requiredField options.pointsToRedeem\n   * @requiredField options.specification\n   * @requiredField rewardId\n   * @permissionId LOYALTY.REDEEM_COUPON\n   * @adminMethod\n   */\n  function redeemMemberPointsForDiscountAmountCoupon(rewardId: string, options: RedeemMemberPointsForDiscountAmountCouponOptions): Promise<RedeemMemberPointsForDiscountAmountCouponResponse>;\n  interface RedeemMemberPointsForDiscountAmountCouponOptions {\n      /** Loyalty account id. */\n      loyaltyAccountId: string;\n      /** Number of points to redeem. */\n      pointsToRedeem: number;\n      /** Coupon specification. */\n      specification: Specification;\n  }\n  /**\n   * Retrieves a loyalty coupon.\n   * @param loyaltyCouponId - ID of the loyalty coupon to retrieve.\n   * @public\n   * @requiredField loyaltyCouponId\n   * @permissionId LOYALTY.READ_COUPONS\n   * @adminMethod\n   * @returns Retrieved loyalty coupon.\n   */\n  function getLoyaltyCoupon(loyaltyCouponId: string): Promise<LoyaltyCoupon>;\n  /**\n   * Retrieves a sequence of loyalty coupons\n   * @public\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.REWARD_BULK_READ\n   * @adminMethod\n   */\n  function bulkGetLoyaltyCoupon(options?: BulkGetLoyaltyCouponOptions): Promise<BulkGetLoyaltyCouponResponse>;\n  interface BulkGetLoyaltyCouponOptions {\n      /** Query to filter loyalty coupons. */\n      query?: CursorQuery$1;\n  }\n  /**\n   * Retrieves the loyalty coupons for the currently logged-in member.\n   *\n   * >**Note:**\n   * >This endpoint requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n   * @public\n   * @permissionId LOYALTY.READ_OWN_COUPONS\n   */\n  function getCurrentMemberCoupons(): Promise<GetCurrentMemberCouponsResponse>;\n  /**\n   * Retrieves a list of loyalty coupons, given the provided paging, filtering, and sorting.\n   * @public\n   * @permissionId LOYALTY.READ_COUPONS\n   * @adminMethod\n   */\n  function queryLoyaltyCoupons(): LoyaltyCouponsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface LoyaltyCouponsQueryResult extends QueryCursorResult {\n      items: LoyaltyCoupon[];\n      query: LoyaltyCouponsQueryBuilder;\n      next: () => Promise<LoyaltyCouponsQueryResult>;\n      prev: () => Promise<LoyaltyCouponsQueryResult>;\n  }\n  interface LoyaltyCouponsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: 'accountId' | 'memberId' | 'transactionId' | 'couponReference' | 'status' | 'rewardName' | '_createdDate' | '_updatedDate', value: any) => LoyaltyCouponsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: 'accountId' | 'memberId' | 'transactionId' | 'couponReference' | 'status' | 'rewardName' | '_createdDate' | '_updatedDate', value: any) => LoyaltyCouponsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => LoyaltyCouponsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => LoyaltyCouponsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => LoyaltyCouponsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => LoyaltyCouponsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: 'accountId' | 'memberId' | 'transactionId' | 'rewardName', value: string) => LoyaltyCouponsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: 'accountId' | 'memberId' | 'transactionId' | 'couponReference' | 'status' | 'rewardName' | '_createdDate' | '_updatedDate', value: any[]) => LoyaltyCouponsQueryBuilder;\n      in: (propertyName: 'accountId' | 'memberId' | 'transactionId' | 'couponReference' | 'status' | 'rewardName' | '_createdDate' | '_updatedDate', value: any) => LoyaltyCouponsQueryBuilder;\n      exists: (propertyName: 'accountId' | 'memberId' | 'transactionId' | 'couponReference' | 'status' | 'rewardName' | '_createdDate' | '_updatedDate', value: boolean) => LoyaltyCouponsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'accountId' | 'memberId' | 'transactionId' | 'couponReference' | 'status' | 'rewardName' | '_createdDate' | '_updatedDate'>) => LoyaltyCouponsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'accountId' | 'memberId' | 'transactionId' | 'couponReference' | 'status' | 'rewardName' | '_createdDate' | '_updatedDate'>) => LoyaltyCouponsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => LoyaltyCouponsQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => LoyaltyCouponsQueryBuilder;\n      find: () => Promise<LoyaltyCouponsQueryResult>;\n  }\n  /**\n   * Deletes a loyalty coupon.\n   *\n   * The deletion of a loyalty coupon does not impact the functionality of the corresponding coupon itself.\n   * @param _id - ID of the loyalty coupon to delete.\n   * @param revision - Revision number, which increments by 1 each time the loyalty coupon is updated.\n   *\n   * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty coupon.\n   * @public\n   * @requiredField _id\n   * @requiredField revision\n   * @permissionId LOYALTY.MANAGE_COUPONS\n   * @adminMethod\n   */\n  function deleteLoyaltyCoupon(_id: string, revision: string): Promise<void>;\n  \n  type loyaltyV1Coupon_universal_d_LoyaltyCoupon = LoyaltyCoupon;\n  type loyaltyV1Coupon_universal_d_CouponReference = CouponReference;\n  type loyaltyV1Coupon_universal_d_Specification = Specification;\n  type loyaltyV1Coupon_universal_d_SpecificationTypeDetailsOneOf = SpecificationTypeDetailsOneOf;\n  type loyaltyV1Coupon_universal_d_SpecificationScopeOrMinSubtotalOneOf = SpecificationScopeOrMinSubtotalOneOf;\n  type loyaltyV1Coupon_universal_d_BuyXGetY = BuyXGetY;\n  type loyaltyV1Coupon_universal_d_Scope = Scope;\n  type loyaltyV1Coupon_universal_d_RedeemPointsForCouponRequest = RedeemPointsForCouponRequest;\n  type loyaltyV1Coupon_universal_d_RedeemPointsForCouponResponse = RedeemPointsForCouponResponse;\n  type loyaltyV1Coupon_universal_d_RedeemCurrentMemberPointsForCouponRequest = RedeemCurrentMemberPointsForCouponRequest;\n  type loyaltyV1Coupon_universal_d_RedeemCurrentMemberPointsForCouponResponse = RedeemCurrentMemberPointsForCouponResponse;\n  type loyaltyV1Coupon_universal_d_RedeemMemberPointsForDiscountAmountCouponRequest = RedeemMemberPointsForDiscountAmountCouponRequest;\n  type loyaltyV1Coupon_universal_d_RedeemMemberPointsForDiscountAmountCouponResponse = RedeemMemberPointsForDiscountAmountCouponResponse;\n  type loyaltyV1Coupon_universal_d_GetLoyaltyCouponRequest = GetLoyaltyCouponRequest;\n  type loyaltyV1Coupon_universal_d_GetLoyaltyCouponResponse = GetLoyaltyCouponResponse;\n  type loyaltyV1Coupon_universal_d_BulkGetLoyaltyCouponRequest = BulkGetLoyaltyCouponRequest;\n  type loyaltyV1Coupon_universal_d_BulkGetLoyaltyCouponResponse = BulkGetLoyaltyCouponResponse;\n  type loyaltyV1Coupon_universal_d_CouponsInSite = CouponsInSite;\n  type loyaltyV1Coupon_universal_d_GetCurrentMemberCouponsRequest = GetCurrentMemberCouponsRequest;\n  type loyaltyV1Coupon_universal_d_GetCurrentMemberCouponsResponse = GetCurrentMemberCouponsResponse;\n  type loyaltyV1Coupon_universal_d_QueryLoyaltyCouponRequest = QueryLoyaltyCouponRequest;\n  type loyaltyV1Coupon_universal_d_QueryV2 = QueryV2;\n  type loyaltyV1Coupon_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type loyaltyV1Coupon_universal_d_Paging = Paging;\n  type loyaltyV1Coupon_universal_d_QueryLoyaltyCouponResponse = QueryLoyaltyCouponResponse;\n  type loyaltyV1Coupon_universal_d_DeleteLoyaltyCouponRequest = DeleteLoyaltyCouponRequest;\n  type loyaltyV1Coupon_universal_d_DeleteLoyaltyCouponResponse = DeleteLoyaltyCouponResponse;\n  const loyaltyV1Coupon_universal_d_redeemPointsForCoupon: typeof redeemPointsForCoupon;\n  type loyaltyV1Coupon_universal_d_RedeemPointsForCouponOptions = RedeemPointsForCouponOptions;\n  const loyaltyV1Coupon_universal_d_redeemCurrentMemberPointsForCoupon: typeof redeemCurrentMemberPointsForCoupon;\n  const loyaltyV1Coupon_universal_d_redeemMemberPointsForDiscountAmountCoupon: typeof redeemMemberPointsForDiscountAmountCoupon;\n  type loyaltyV1Coupon_universal_d_RedeemMemberPointsForDiscountAmountCouponOptions = RedeemMemberPointsForDiscountAmountCouponOptions;\n  const loyaltyV1Coupon_universal_d_getLoyaltyCoupon: typeof getLoyaltyCoupon;\n  const loyaltyV1Coupon_universal_d_bulkGetLoyaltyCoupon: typeof bulkGetLoyaltyCoupon;\n  type loyaltyV1Coupon_universal_d_BulkGetLoyaltyCouponOptions = BulkGetLoyaltyCouponOptions;\n  const loyaltyV1Coupon_universal_d_getCurrentMemberCoupons: typeof getCurrentMemberCoupons;\n  const loyaltyV1Coupon_universal_d_queryLoyaltyCoupons: typeof queryLoyaltyCoupons;\n  type loyaltyV1Coupon_universal_d_LoyaltyCouponsQueryResult = LoyaltyCouponsQueryResult;\n  type loyaltyV1Coupon_universal_d_LoyaltyCouponsQueryBuilder = LoyaltyCouponsQueryBuilder;\n  const loyaltyV1Coupon_universal_d_deleteLoyaltyCoupon: typeof deleteLoyaltyCoupon;\n  namespace loyaltyV1Coupon_universal_d {\n    export {\n      loyaltyV1Coupon_universal_d_LoyaltyCoupon as LoyaltyCoupon,\n      loyaltyV1Coupon_universal_d_CouponReference as CouponReference,\n      loyaltyV1Coupon_universal_d_Specification as Specification,\n      loyaltyV1Coupon_universal_d_SpecificationTypeDetailsOneOf as SpecificationTypeDetailsOneOf,\n      loyaltyV1Coupon_universal_d_SpecificationScopeOrMinSubtotalOneOf as SpecificationScopeOrMinSubtotalOneOf,\n      Type$2 as Type,\n      loyaltyV1Coupon_universal_d_BuyXGetY as BuyXGetY,\n      loyaltyV1Coupon_universal_d_Scope as Scope,\n      Status$3 as Status,\n      loyaltyV1Coupon_universal_d_RedeemPointsForCouponRequest as RedeemPointsForCouponRequest,\n      loyaltyV1Coupon_universal_d_RedeemPointsForCouponResponse as RedeemPointsForCouponResponse,\n      loyaltyV1Coupon_universal_d_RedeemCurrentMemberPointsForCouponRequest as RedeemCurrentMemberPointsForCouponRequest,\n      loyaltyV1Coupon_universal_d_RedeemCurrentMemberPointsForCouponResponse as RedeemCurrentMemberPointsForCouponResponse,\n      loyaltyV1Coupon_universal_d_RedeemMemberPointsForDiscountAmountCouponRequest as RedeemMemberPointsForDiscountAmountCouponRequest,\n      loyaltyV1Coupon_universal_d_RedeemMemberPointsForDiscountAmountCouponResponse as RedeemMemberPointsForDiscountAmountCouponResponse,\n      loyaltyV1Coupon_universal_d_GetLoyaltyCouponRequest as GetLoyaltyCouponRequest,\n      loyaltyV1Coupon_universal_d_GetLoyaltyCouponResponse as GetLoyaltyCouponResponse,\n      loyaltyV1Coupon_universal_d_BulkGetLoyaltyCouponRequest as BulkGetLoyaltyCouponRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      loyaltyV1Coupon_universal_d_BulkGetLoyaltyCouponResponse as BulkGetLoyaltyCouponResponse,\n      loyaltyV1Coupon_universal_d_CouponsInSite as CouponsInSite,\n      loyaltyV1Coupon_universal_d_GetCurrentMemberCouponsRequest as GetCurrentMemberCouponsRequest,\n      loyaltyV1Coupon_universal_d_GetCurrentMemberCouponsResponse as GetCurrentMemberCouponsResponse,\n      loyaltyV1Coupon_universal_d_QueryLoyaltyCouponRequest as QueryLoyaltyCouponRequest,\n      loyaltyV1Coupon_universal_d_QueryV2 as QueryV2,\n      loyaltyV1Coupon_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      loyaltyV1Coupon_universal_d_Paging as Paging,\n      loyaltyV1Coupon_universal_d_QueryLoyaltyCouponResponse as QueryLoyaltyCouponResponse,\n      PagingMetadataV2$2 as PagingMetadataV2,\n      Cursors$2 as Cursors,\n      loyaltyV1Coupon_universal_d_DeleteLoyaltyCouponRequest as DeleteLoyaltyCouponRequest,\n      loyaltyV1Coupon_universal_d_DeleteLoyaltyCouponResponse as DeleteLoyaltyCouponResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      Empty$4 as Empty,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      loyaltyV1Coupon_universal_d_redeemPointsForCoupon as redeemPointsForCoupon,\n      loyaltyV1Coupon_universal_d_RedeemPointsForCouponOptions as RedeemPointsForCouponOptions,\n      loyaltyV1Coupon_universal_d_redeemCurrentMemberPointsForCoupon as redeemCurrentMemberPointsForCoupon,\n      loyaltyV1Coupon_universal_d_redeemMemberPointsForDiscountAmountCoupon as redeemMemberPointsForDiscountAmountCoupon,\n      loyaltyV1Coupon_universal_d_RedeemMemberPointsForDiscountAmountCouponOptions as RedeemMemberPointsForDiscountAmountCouponOptions,\n      loyaltyV1Coupon_universal_d_getLoyaltyCoupon as getLoyaltyCoupon,\n      loyaltyV1Coupon_universal_d_bulkGetLoyaltyCoupon as bulkGetLoyaltyCoupon,\n      loyaltyV1Coupon_universal_d_BulkGetLoyaltyCouponOptions as BulkGetLoyaltyCouponOptions,\n      loyaltyV1Coupon_universal_d_getCurrentMemberCoupons as getCurrentMemberCoupons,\n      loyaltyV1Coupon_universal_d_queryLoyaltyCoupons as queryLoyaltyCoupons,\n      loyaltyV1Coupon_universal_d_LoyaltyCouponsQueryResult as LoyaltyCouponsQueryResult,\n      loyaltyV1Coupon_universal_d_LoyaltyCouponsQueryBuilder as LoyaltyCouponsQueryBuilder,\n      loyaltyV1Coupon_universal_d_deleteLoyaltyCoupon as deleteLoyaltyCoupon,\n    };\n  }\n  \n  /**\n   * A loyalty earning rule defines how customers earn points in a loyalty program.\n   * You can create rules for different activities, such as making purchases.\n   */\n  interface LoyaltyEarningRule extends LoyaltyEarningRuleTypeOneOf {\n      /** Fixed amount of points awarded for each qualifying activity. */\n      fixedAmount?: FixedAmount;\n      /** Points awarded based on a conversion rate formula: `(amount spent) / (money_amount * points)`. */\n      conversionRate?: ConversionRate;\n      /**\n       * Loyalty earning rule ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the app managing the earning rule. Can be a loyalty app ID or a Wix automations app ID. */\n      sourceAppId?: string;\n      /** ID of the app that triggers point assignment. Examples: Wix Stores, Wix Bookings, Wix Events. */\n      triggerAppId?: string;\n      /** Type of activity that triggers point assignment. For example, `wix-restaurants/orderSubmitted` or `birthday`. */\n      triggerActivityType?: string;\n      /** Name of the earning rule. */\n      title?: string;\n      /** Current status of the earning rule. */\n      status?: Status$2;\n      /**\n       * Revision number, incremented by 1 each time the earning rule is updated.\n       * Pass the latest revision when updating to prevent conflicting changes.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the earning rule was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the earning rule was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Additional metadata about the earning rule.\n       * @readonly\n       */\n      metadata?: Metadata;\n  }\n  /** @oneof */\n  interface LoyaltyEarningRuleTypeOneOf {\n      /** Fixed amount of points awarded for each qualifying activity. */\n      fixedAmount?: FixedAmount;\n      /** Points awarded based on a conversion rate formula: `(amount spent) / (money_amount * points)`. */\n      conversionRate?: ConversionRate;\n  }\n  /** Fixed amount type of earning rule. */\n  interface FixedAmount {\n      /**\n       * Deprecated. Use `configs` instead.\n       * @deprecated Deprecated. Use `configs` instead.\n       * @replacedBy configs\n       * @targetRemovalDate 2022-09-01\n       */\n      points?: number;\n      /** Fixed amount configurations for each tier. */\n      configs?: FixedAmountConfig[];\n  }\n  interface FixedAmountConfig {\n      /**\n       * Tier ID. If empty, the [base tier](https://dev.wix.com/docs/rest/crm/loyalty-program/tiers/introduction#terminology) is used.\n       * @readonly\n       */\n      tierId?: string | null;\n      /** Number of points to award. */\n      points?: number;\n  }\n  /**\n   * Conversion rate type of earning rule.\n   * Customers earn points based on the amount spent.\n   * For example, for every $10 spent, a customer might earn 1 point.\n   */\n  interface ConversionRate {\n      /**\n       * Deprecated. Use `configs` instead.\n       * @deprecated Deprecated. Use `configs` instead.\n       * @replacedBy configs\n       * @targetRemovalDate 2022-09-01\n       */\n      moneyAmount?: number;\n      /**\n       * Deprecated. Use `configs` instead.\n       * @deprecated Deprecated. Use `configs` instead.\n       * @replacedBy configs\n       * @targetRemovalDate 2022-09-01\n       */\n      points?: number;\n      /**\n       * Conversion rate configurations for each tier.\n       *\n       * Points are awarded proportionally to the amount spent.\n       *\n       * Formula: `(amount spent) / (money_amount * points)`.\n       */\n      configs?: ConversionRateConfig[];\n      /**\n       * Specifies which field in the Wix automations [trigger payload](https://dev.wix.com/docs/rest/business-management/automations/introduction#how-do-automations-work) to use for calculating points in conversion rate rules.\n       * For example, if set to \"priceSummary.totalAmount\", the rule uses the total order amount to calculate loyalty points to be awarded.\n       * This field is only applicable for automated earning rules.\n       */\n      field?: string | null;\n  }\n  interface ConversionRateConfig {\n      /**\n       * Tier ID. If empty, the [base tier](https://dev.wix.com/docs/rest/crm/loyalty-program/tiers/introduction) is used.\n       * @readonly\n       */\n      tierId?: string | null;\n      /**\n       * The amount of money used as a reference for point calculation.\n       * Points are awarded proportionally to the amount spent.\n       *\n       * For example, if set to 10, 1 point is awarded for every 10 units of currency spent (assuming `points` is set to 1).\n       *\n       * Formula for points is: `(amount spent) / (money_amount * points)`.\n       */\n      moneyAmount?: number;\n      /**\n       * Points given for the specified `money_amount`.\n       * Works in conjunction with `money_amount` to define the earning rule.\n       *\n       * For example: If `money_amount` is 20 and `points` is 10:\n       * - Spending 10 units of currency earns 5 points\n       * - Spending 20 units of currency earns 10 points\n       * - Spending 30 units of currency earns 15 points\n       */\n      points?: number;\n  }\n  enum Status$2 {\n      /** Status is unknown or not specified. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Earning rule is active and can assign points. */\n      ACTIVE = \"ACTIVE\",\n      /** Earning rule is paused and can't assign points. */\n      PAUSED = \"PAUSED\"\n  }\n  interface Metadata {\n      /** Whether the earning rule can be deleted. */\n      canBeDeleted?: boolean;\n      /**\n       * Information about the type of custom earning rule.\n       * @internal\n       */\n      ruleTypeTag?: LoyaltyEarningRuleTypeTag;\n  }\n  interface LoyaltyEarningRuleTypeTag {\n      /** Type of custom earning rule. */\n      ruleType?: LoyaltyEarningRuleTypeTagType;\n  }\n  enum LoyaltyEarningRuleTypeTagType {\n      /** Type is unknown or not specified. */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** Earning rule for a customer's birthday. */\n      BIRTHDAY = \"BIRTHDAY\"\n  }\n  interface EarningRuleDisabled {\n  }\n  interface CreateLoyaltyEarningRuleRequest {\n      /** Earning rule to create. */\n      earningRule: LoyaltyEarningRule;\n  }\n  interface CreateLoyaltyEarningRuleResponse {\n      /** Created earning rule. */\n      earningRule?: LoyaltyEarningRule;\n  }\n  interface BulkCreateLoyaltyEarningRulesRequest {\n      /** Earning rules to create. */\n      earningRules: LoyaltyEarningRule[];\n  }\n  interface BulkCreateLoyaltyEarningRulesResponse {\n      /** Created earning rules. */\n      results?: BulkLoyaltyEarningRuleResult[];\n      /** Additional metadata for the created earning rules. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkLoyaltyEarningRuleResult {\n      /** Additional metadata for the created earning rules. */\n      itemMetadata?: ItemMetadata$2;\n      /** Created earning rule. */\n      item?: LoyaltyEarningRule;\n  }\n  interface ItemMetadata$2 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$2;\n  }\n  interface ApplicationError$2 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$2 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface CreateCustomLoyaltyEarningRuleRequest {\n      /** Type of the custom earning rule. */\n      type: Type$1;\n      /** Custom earning rule to create. */\n      earningRule?: CustomLoyaltyEarningRule;\n  }\n  enum Type$1 {\n      /** Unknown type. */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** Earning rule for social media. */\n      SOCIAL_MEDIA = \"SOCIAL_MEDIA\",\n      /** Earning rule for birthdays. */\n      BIRTHDAY = \"BIRTHDAY\"\n  }\n  /** Used in CreateCustomLoyaltyEarningRuleRequest */\n  interface CustomLoyaltyEarningRule extends CustomLoyaltyEarningRuleTypeOneOf {\n      /** Fixed amount of points awarded for each qualifying activity. */\n      fixedAmount?: FixedAmount;\n      /** Points awarded based on a conversion rate formula: `(amount spent) / (money_amount * points)`. */\n      conversionRate?: ConversionRate;\n      /** Name of the earning rule. */\n      title?: string;\n  }\n  /** @oneof */\n  interface CustomLoyaltyEarningRuleTypeOneOf {\n      /** Fixed amount of points awarded for each qualifying activity. */\n      fixedAmount?: FixedAmount;\n      /** Points awarded based on a conversion rate formula: `(amount spent) / (money_amount * points)`. */\n      conversionRate?: ConversionRate;\n  }\n  interface CreateCustomLoyaltyEarningRuleResponse {\n      /** Created earning rule. */\n      earningRule?: LoyaltyEarningRule;\n  }\n  interface GetLoyaltyEarningRuleRequest {\n      /** ID of the earning rule to retrieve. */\n      _id: string;\n  }\n  interface GetLoyaltyEarningRuleResponse {\n      /** Retrieved earning rule. */\n      earningRule?: LoyaltyEarningRule;\n  }\n  interface GetAutomationEarningRuleRequest {\n      /** ID of the earning rule to retrieve. */\n      _id: string;\n  }\n  interface GetAutomationEarningRuleResponse {\n      /** Retrieved earning rule. */\n      earningRule?: LoyaltyEarningRule;\n  }\n  interface UpdateLoyaltyEarningRuleRequest {\n      /** Earning rule to update. */\n      earningRule: LoyaltyEarningRule;\n  }\n  interface UpdateLoyaltyEarningRuleResponse {\n      /** The updated earning rule. */\n      earningRule?: LoyaltyEarningRule;\n  }\n  interface DeleteLoyaltyEarningRuleRequest {\n      /** ID of the earning rule to delete. */\n      _id: string;\n      /**\n       * Revision of the earning rule. Incremented by 1 each time the earning rule is updated.\n       * Pass the latest revision when updating to prevent conflicting changes.\n       */\n      revision?: string;\n  }\n  interface DeleteLoyaltyEarningRuleResponse {\n  }\n  interface DeleteAutomationEarningRuleRequest {\n      /** ID of the earning rule to delete. */\n      _id: string;\n  }\n  interface DeleteAutomationEarningRuleResponse {\n  }\n  interface ListEarningRulesRequest {\n      /** App ID that triggers the point assignment. For example, `9a5d83fd-8570-482e-81ab-cfa88942ee60`. */\n      triggerAppId?: string | null;\n      /** Type of activity that triggers the point assignment. For example, `restaurants-order-is-pending`. */\n      triggerActivityType?: string | null;\n  }\n  interface ListEarningRulesResponse {\n      /** Retrieved earning rules. */\n      earningRules?: LoyaltyEarningRule[];\n  }\n  interface ListEarningRulesInTierRequest {\n      /** ID of the tier for which the earning rules will be returned. */\n      tierId?: string | null;\n      /** Pagination options. */\n      paging?: CursorPaging$1;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListEarningRulesInTierResponse {\n      /** Retrieved earning rules. */\n      earningRules?: LoyaltyEarningRule[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface Empty$3 {\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a non-automated earning rule.\n   *\n   * >**Note**: You can only create non-automated earning rules from a supported list.\n   * For the supported list of services, see the introduction.\n   * @param earningRule - Earning rule to create.\n   * @public\n   * @requiredField earningRule\n   * @requiredField earningRule.sourceAppId\n   * @requiredField earningRule.status\n   * @requiredField earningRule.title\n   * @requiredField earningRule.triggerActivityType\n   * @requiredField earningRule.triggerAppId\n   * @permissionId LOYALTY.MANAGE_EARNING_RULES\n   * @adminMethod\n   * @returns Created earning rule.\n   */\n  function createLoyaltyEarningRule(earningRule: LoyaltyEarningRule): Promise<LoyaltyEarningRule>;\n  /**\n   * Creates multiple non-automated earning rules.\n   *\n   * >**Note**: You can only create non-automated earning rules from a supported list.\n   * For the supported list of services, see the introduction.\n   * @param earningRules - Earning rules to create.\n   * @public\n   * @requiredField earningRules\n   * @requiredField earningRules.sourceAppId\n   * @requiredField earningRules.status\n   * @requiredField earningRules.title\n   * @requiredField earningRules.triggerActivityType\n   * @requiredField earningRules.triggerAppId\n   * @permissionId LOYALTY.MANAGE_EARNING_RULES\n   * @adminMethod\n   */\n  function bulkCreateLoyaltyEarningRules(earningRules: LoyaltyEarningRule[]): Promise<BulkCreateLoyaltyEarningRulesResponse>;\n  /**\n   * Creates a custom automated earning rule.\n   *\n   * Currently, only social media earning rule is supported.\n   * @param type - Type of the custom earning rule.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField type\n   * @permissionId LOYALTY.MANAGE_EARNING_RULES\n   * @adminMethod\n   */\n  function createCustomLoyaltyEarningRule(type: Type$1, options?: CreateCustomLoyaltyEarningRuleOptions): Promise<CreateCustomLoyaltyEarningRuleResponse>;\n  interface CreateCustomLoyaltyEarningRuleOptions {\n      /** Custom earning rule to create. */\n      earningRule?: CustomLoyaltyEarningRule;\n  }\n  /**\n   * Retrieves a specified non-automated earning rule.\n   * @param _id - ID of the earning rule to retrieve.\n   * @public\n   * @requiredField _id\n   * @permissionId LOYALTY.READ_EARNING_RULES\n   * @returns Retrieved earning rule.\n   */\n  function getLoyaltyEarningRule(_id: string): Promise<LoyaltyEarningRule>;\n  /**\n   * Retrieves an automated earning rule.\n   *\n   * Currently, only legacy automated earning rules are supported.\n   *\n   * To get both automated and non-automated earning rules, use [List Earning Rules](https://dev.wix.com/docs/rest/crm/loyalty-program/earning-rules/list-earning-rules).\n   * @param _id - ID of the earning rule to retrieve.\n   * @public\n   * @requiredField _id\n   * @permissionId LOYALTY.READ_EARNING_RULES\n   * @deprecated\n   * @targetRemovalDate 2024-09-01\n   */\n  function getAutomationEarningRule(_id: string): Promise<GetAutomationEarningRuleResponse>;\n  /**\n   * Updates an earning rule.\n   *\n   * Supports partial updates.\n   *\n   * Revision number, which increments by 1 each time the earning rule is updated. To prevent conflicting changes,\n   * the current revision must be passed when updating the earning rule.\n   * @param _id - Loyalty earning rule ID.\n   * @public\n   * @requiredField _id\n   * @requiredField earningRule\n   * @permissionId LOYALTY.MANAGE_EARNING_RULES\n   * @adminMethod\n   */\n  function updateLoyaltyEarningRule(_id: string | null, earningRule: UpdateLoyaltyEarningRule): Promise<UpdateLoyaltyEarningRuleResponse>;\n  interface UpdateLoyaltyEarningRule {\n      /** Fixed amount of points awarded for each qualifying activity. */\n      fixedAmount?: FixedAmount;\n      /** Points awarded based on a conversion rate formula: `(amount spent) / (money_amount * points)`. */\n      conversionRate?: ConversionRate;\n      /**\n       * Loyalty earning rule ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the app managing the earning rule. Can be a loyalty app ID or a Wix automations app ID. */\n      sourceAppId?: string;\n      /** ID of the app that triggers point assignment. Examples: Wix Stores, Wix Bookings, Wix Events. */\n      triggerAppId?: string;\n      /** Type of activity that triggers point assignment. For example, `wix-restaurants/orderSubmitted` or `birthday`. */\n      triggerActivityType?: string;\n      /** Name of the earning rule. */\n      title?: string;\n      /** Current status of the earning rule. */\n      status?: Status$2;\n      /**\n       * Revision number, incremented by 1 each time the earning rule is updated.\n       * Pass the latest revision when updating to prevent conflicting changes.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the earning rule was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the earning rule was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Additional metadata about the earning rule.\n       * @readonly\n       */\n      metadata?: Metadata;\n  }\n  /**\n   * Deletes a non-automated earning rule.\n   * @param _id - ID of the earning rule to delete.\n   * @public\n   * @requiredField _id\n   * @permissionId LOYALTY.MANAGE_EARNING_RULES\n   * @adminMethod\n   */\n  function deleteLoyaltyEarningRule(_id: string, options?: DeleteLoyaltyEarningRuleOptions): Promise<void>;\n  interface DeleteLoyaltyEarningRuleOptions {\n      /**\n       * Revision of the earning rule. Incremented by 1 each time the earning rule is updated.\n       * Pass the latest revision when updating to prevent conflicting changes.\n       */\n      revision?: string;\n  }\n  /**\n   * Deletes a custom automated earning rule.\n   *\n   * > **Note:** Pre-installed automated rules can only be paused, not deleted.\n   * @param _id - ID of the earning rule to delete.\n   * @public\n   * @requiredField _id\n   * @permissionId LOYALTY.MANAGE_EARNING_RULES\n   * @adminMethod\n   */\n  function deleteAutomationEarningRule(_id: string): Promise<void>;\n  /**\n   * Retrieves a list of earning rules.\n   *\n   * Returns both automated and non-automated earning rules.\n   *\n   * You can filter the results by `triggerAppId` or `triggerActivityType`.\n   * @public\n   * @permissionId LOYALTY.READ_EARNING_RULES\n   */\n  function listEarningRules(options?: ListEarningRulesOptions): Promise<ListEarningRulesResponse>;\n  interface ListEarningRulesOptions {\n      /** App ID that triggers the point assignment. For example, `9a5d83fd-8570-482e-81ab-cfa88942ee60`. */\n      triggerAppId?: string | null;\n      /** Type of activity that triggers the point assignment. For example, `restaurants-order-is-pending`. */\n      triggerActivityType?: string | null;\n  }\n  /** @internal\n   * @permissionId LOYALTY.READ_EARNING_RULES\n   */\n  function listEarningRulesInTier(options?: ListEarningRulesInTierOptions): Promise<ListEarningRulesInTierResponse>;\n  interface ListEarningRulesInTierOptions {\n      /** ID of the tier for which the earning rules will be returned. */\n      tierId?: string | null;\n      /** Pagination options. */\n      paging?: CursorPaging$1;\n  }\n  \n  type loyaltyV1LoyaltyEarningRule_universal_d_LoyaltyEarningRule = LoyaltyEarningRule;\n  type loyaltyV1LoyaltyEarningRule_universal_d_LoyaltyEarningRuleTypeOneOf = LoyaltyEarningRuleTypeOneOf;\n  type loyaltyV1LoyaltyEarningRule_universal_d_FixedAmount = FixedAmount;\n  type loyaltyV1LoyaltyEarningRule_universal_d_FixedAmountConfig = FixedAmountConfig;\n  type loyaltyV1LoyaltyEarningRule_universal_d_ConversionRate = ConversionRate;\n  type loyaltyV1LoyaltyEarningRule_universal_d_ConversionRateConfig = ConversionRateConfig;\n  type loyaltyV1LoyaltyEarningRule_universal_d_Metadata = Metadata;\n  type loyaltyV1LoyaltyEarningRule_universal_d_LoyaltyEarningRuleTypeTag = LoyaltyEarningRuleTypeTag;\n  type loyaltyV1LoyaltyEarningRule_universal_d_LoyaltyEarningRuleTypeTagType = LoyaltyEarningRuleTypeTagType;\n  const loyaltyV1LoyaltyEarningRule_universal_d_LoyaltyEarningRuleTypeTagType: typeof LoyaltyEarningRuleTypeTagType;\n  type loyaltyV1LoyaltyEarningRule_universal_d_EarningRuleDisabled = EarningRuleDisabled;\n  type loyaltyV1LoyaltyEarningRule_universal_d_CreateLoyaltyEarningRuleRequest = CreateLoyaltyEarningRuleRequest;\n  type loyaltyV1LoyaltyEarningRule_universal_d_CreateLoyaltyEarningRuleResponse = CreateLoyaltyEarningRuleResponse;\n  type loyaltyV1LoyaltyEarningRule_universal_d_BulkCreateLoyaltyEarningRulesRequest = BulkCreateLoyaltyEarningRulesRequest;\n  type loyaltyV1LoyaltyEarningRule_universal_d_BulkCreateLoyaltyEarningRulesResponse = BulkCreateLoyaltyEarningRulesResponse;\n  type loyaltyV1LoyaltyEarningRule_universal_d_BulkLoyaltyEarningRuleResult = BulkLoyaltyEarningRuleResult;\n  type loyaltyV1LoyaltyEarningRule_universal_d_CreateCustomLoyaltyEarningRuleRequest = CreateCustomLoyaltyEarningRuleRequest;\n  type loyaltyV1LoyaltyEarningRule_universal_d_CustomLoyaltyEarningRule = CustomLoyaltyEarningRule;\n  type loyaltyV1LoyaltyEarningRule_universal_d_CustomLoyaltyEarningRuleTypeOneOf = CustomLoyaltyEarningRuleTypeOneOf;\n  type loyaltyV1LoyaltyEarningRule_universal_d_CreateCustomLoyaltyEarningRuleResponse = CreateCustomLoyaltyEarningRuleResponse;\n  type loyaltyV1LoyaltyEarningRule_universal_d_GetLoyaltyEarningRuleRequest = GetLoyaltyEarningRuleRequest;\n  type loyaltyV1LoyaltyEarningRule_universal_d_GetLoyaltyEarningRuleResponse = GetLoyaltyEarningRuleResponse;\n  type loyaltyV1LoyaltyEarningRule_universal_d_GetAutomationEarningRuleRequest = GetAutomationEarningRuleRequest;\n  type loyaltyV1LoyaltyEarningRule_universal_d_GetAutomationEarningRuleResponse = GetAutomationEarningRuleResponse;\n  type loyaltyV1LoyaltyEarningRule_universal_d_UpdateLoyaltyEarningRuleRequest = UpdateLoyaltyEarningRuleRequest;\n  type loyaltyV1LoyaltyEarningRule_universal_d_UpdateLoyaltyEarningRuleResponse = UpdateLoyaltyEarningRuleResponse;\n  type loyaltyV1LoyaltyEarningRule_universal_d_DeleteLoyaltyEarningRuleRequest = DeleteLoyaltyEarningRuleRequest;\n  type loyaltyV1LoyaltyEarningRule_universal_d_DeleteLoyaltyEarningRuleResponse = DeleteLoyaltyEarningRuleResponse;\n  type loyaltyV1LoyaltyEarningRule_universal_d_DeleteAutomationEarningRuleRequest = DeleteAutomationEarningRuleRequest;\n  type loyaltyV1LoyaltyEarningRule_universal_d_DeleteAutomationEarningRuleResponse = DeleteAutomationEarningRuleResponse;\n  type loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesRequest = ListEarningRulesRequest;\n  type loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesResponse = ListEarningRulesResponse;\n  type loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesInTierRequest = ListEarningRulesInTierRequest;\n  type loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesInTierResponse = ListEarningRulesInTierResponse;\n  const loyaltyV1LoyaltyEarningRule_universal_d_createLoyaltyEarningRule: typeof createLoyaltyEarningRule;\n  const loyaltyV1LoyaltyEarningRule_universal_d_bulkCreateLoyaltyEarningRules: typeof bulkCreateLoyaltyEarningRules;\n  const loyaltyV1LoyaltyEarningRule_universal_d_createCustomLoyaltyEarningRule: typeof createCustomLoyaltyEarningRule;\n  type loyaltyV1LoyaltyEarningRule_universal_d_CreateCustomLoyaltyEarningRuleOptions = CreateCustomLoyaltyEarningRuleOptions;\n  const loyaltyV1LoyaltyEarningRule_universal_d_getLoyaltyEarningRule: typeof getLoyaltyEarningRule;\n  const loyaltyV1LoyaltyEarningRule_universal_d_getAutomationEarningRule: typeof getAutomationEarningRule;\n  const loyaltyV1LoyaltyEarningRule_universal_d_updateLoyaltyEarningRule: typeof updateLoyaltyEarningRule;\n  type loyaltyV1LoyaltyEarningRule_universal_d_UpdateLoyaltyEarningRule = UpdateLoyaltyEarningRule;\n  const loyaltyV1LoyaltyEarningRule_universal_d_deleteLoyaltyEarningRule: typeof deleteLoyaltyEarningRule;\n  type loyaltyV1LoyaltyEarningRule_universal_d_DeleteLoyaltyEarningRuleOptions = DeleteLoyaltyEarningRuleOptions;\n  const loyaltyV1LoyaltyEarningRule_universal_d_deleteAutomationEarningRule: typeof deleteAutomationEarningRule;\n  const loyaltyV1LoyaltyEarningRule_universal_d_listEarningRules: typeof listEarningRules;\n  type loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesOptions = ListEarningRulesOptions;\n  const loyaltyV1LoyaltyEarningRule_universal_d_listEarningRulesInTier: typeof listEarningRulesInTier;\n  type loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesInTierOptions = ListEarningRulesInTierOptions;\n  namespace loyaltyV1LoyaltyEarningRule_universal_d {\n    export {\n      loyaltyV1LoyaltyEarningRule_universal_d_LoyaltyEarningRule as LoyaltyEarningRule,\n      loyaltyV1LoyaltyEarningRule_universal_d_LoyaltyEarningRuleTypeOneOf as LoyaltyEarningRuleTypeOneOf,\n      loyaltyV1LoyaltyEarningRule_universal_d_FixedAmount as FixedAmount,\n      loyaltyV1LoyaltyEarningRule_universal_d_FixedAmountConfig as FixedAmountConfig,\n      loyaltyV1LoyaltyEarningRule_universal_d_ConversionRate as ConversionRate,\n      loyaltyV1LoyaltyEarningRule_universal_d_ConversionRateConfig as ConversionRateConfig,\n      Status$2 as Status,\n      loyaltyV1LoyaltyEarningRule_universal_d_Metadata as Metadata,\n      loyaltyV1LoyaltyEarningRule_universal_d_LoyaltyEarningRuleTypeTag as LoyaltyEarningRuleTypeTag,\n      loyaltyV1LoyaltyEarningRule_universal_d_LoyaltyEarningRuleTypeTagType as LoyaltyEarningRuleTypeTagType,\n      loyaltyV1LoyaltyEarningRule_universal_d_EarningRuleDisabled as EarningRuleDisabled,\n      loyaltyV1LoyaltyEarningRule_universal_d_CreateLoyaltyEarningRuleRequest as CreateLoyaltyEarningRuleRequest,\n      loyaltyV1LoyaltyEarningRule_universal_d_CreateLoyaltyEarningRuleResponse as CreateLoyaltyEarningRuleResponse,\n      loyaltyV1LoyaltyEarningRule_universal_d_BulkCreateLoyaltyEarningRulesRequest as BulkCreateLoyaltyEarningRulesRequest,\n      loyaltyV1LoyaltyEarningRule_universal_d_BulkCreateLoyaltyEarningRulesResponse as BulkCreateLoyaltyEarningRulesResponse,\n      loyaltyV1LoyaltyEarningRule_universal_d_BulkLoyaltyEarningRuleResult as BulkLoyaltyEarningRuleResult,\n      ItemMetadata$2 as ItemMetadata,\n      ApplicationError$2 as ApplicationError,\n      BulkActionMetadata$2 as BulkActionMetadata,\n      loyaltyV1LoyaltyEarningRule_universal_d_CreateCustomLoyaltyEarningRuleRequest as CreateCustomLoyaltyEarningRuleRequest,\n      Type$1 as Type,\n      loyaltyV1LoyaltyEarningRule_universal_d_CustomLoyaltyEarningRule as CustomLoyaltyEarningRule,\n      loyaltyV1LoyaltyEarningRule_universal_d_CustomLoyaltyEarningRuleTypeOneOf as CustomLoyaltyEarningRuleTypeOneOf,\n      loyaltyV1LoyaltyEarningRule_universal_d_CreateCustomLoyaltyEarningRuleResponse as CreateCustomLoyaltyEarningRuleResponse,\n      loyaltyV1LoyaltyEarningRule_universal_d_GetLoyaltyEarningRuleRequest as GetLoyaltyEarningRuleRequest,\n      loyaltyV1LoyaltyEarningRule_universal_d_GetLoyaltyEarningRuleResponse as GetLoyaltyEarningRuleResponse,\n      loyaltyV1LoyaltyEarningRule_universal_d_GetAutomationEarningRuleRequest as GetAutomationEarningRuleRequest,\n      loyaltyV1LoyaltyEarningRule_universal_d_GetAutomationEarningRuleResponse as GetAutomationEarningRuleResponse,\n      loyaltyV1LoyaltyEarningRule_universal_d_UpdateLoyaltyEarningRuleRequest as UpdateLoyaltyEarningRuleRequest,\n      loyaltyV1LoyaltyEarningRule_universal_d_UpdateLoyaltyEarningRuleResponse as UpdateLoyaltyEarningRuleResponse,\n      loyaltyV1LoyaltyEarningRule_universal_d_DeleteLoyaltyEarningRuleRequest as DeleteLoyaltyEarningRuleRequest,\n      loyaltyV1LoyaltyEarningRule_universal_d_DeleteLoyaltyEarningRuleResponse as DeleteLoyaltyEarningRuleResponse,\n      loyaltyV1LoyaltyEarningRule_universal_d_DeleteAutomationEarningRuleRequest as DeleteAutomationEarningRuleRequest,\n      loyaltyV1LoyaltyEarningRule_universal_d_DeleteAutomationEarningRuleResponse as DeleteAutomationEarningRuleResponse,\n      loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesRequest as ListEarningRulesRequest,\n      loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesResponse as ListEarningRulesResponse,\n      loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesInTierRequest as ListEarningRulesInTierRequest,\n      CursorPaging$1 as CursorPaging,\n      loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesInTierResponse as ListEarningRulesInTierResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      Empty$3 as Empty,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      loyaltyV1LoyaltyEarningRule_universal_d_createLoyaltyEarningRule as createLoyaltyEarningRule,\n      loyaltyV1LoyaltyEarningRule_universal_d_bulkCreateLoyaltyEarningRules as bulkCreateLoyaltyEarningRules,\n      loyaltyV1LoyaltyEarningRule_universal_d_createCustomLoyaltyEarningRule as createCustomLoyaltyEarningRule,\n      loyaltyV1LoyaltyEarningRule_universal_d_CreateCustomLoyaltyEarningRuleOptions as CreateCustomLoyaltyEarningRuleOptions,\n      loyaltyV1LoyaltyEarningRule_universal_d_getLoyaltyEarningRule as getLoyaltyEarningRule,\n      loyaltyV1LoyaltyEarningRule_universal_d_getAutomationEarningRule as getAutomationEarningRule,\n      loyaltyV1LoyaltyEarningRule_universal_d_updateLoyaltyEarningRule as updateLoyaltyEarningRule,\n      loyaltyV1LoyaltyEarningRule_universal_d_UpdateLoyaltyEarningRule as UpdateLoyaltyEarningRule,\n      loyaltyV1LoyaltyEarningRule_universal_d_deleteLoyaltyEarningRule as deleteLoyaltyEarningRule,\n      loyaltyV1LoyaltyEarningRule_universal_d_DeleteLoyaltyEarningRuleOptions as DeleteLoyaltyEarningRuleOptions,\n      loyaltyV1LoyaltyEarningRule_universal_d_deleteAutomationEarningRule as deleteAutomationEarningRule,\n      loyaltyV1LoyaltyEarningRule_universal_d_listEarningRules as listEarningRules,\n      loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesOptions as ListEarningRulesOptions,\n      loyaltyV1LoyaltyEarningRule_universal_d_listEarningRulesInTier as listEarningRulesInTier,\n      loyaltyV1LoyaltyEarningRule_universal_d_ListEarningRulesInTierOptions as ListEarningRulesInTierOptions,\n    };\n  }\n  \n  /**\n   * A loyalty program allows sites to maintain customer reward accounts. Site owners can create a\n   * loyalty program to increase customer retention. Read more about the loyalty program in\n   * [this overview](https://support.wix.com/en/article/wix-loyalty-program-an-overview).\n   */\n  interface LoyaltyProgram {\n      /** Program name. */\n      name?: string | null;\n      /** Information about the program's collectible entity. */\n      pointDefinition?: PointDefinition;\n      /**\n       * Program status. Customers can only earn or redeem points while the program is `ACTIVE`.\n       *\n       * Default: `\"DRAFT\"`\n       * @readonly\n       */\n      status?: ProgramStatus;\n      /**\n       * Date and time the program was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the program was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Points expiration configuration */\n      pointsExpiration?: PointsExpiration;\n      /**\n       * Information about available premium features\n       * @readonly\n       */\n      premiumFeatures?: PremiumFeatures;\n      /**\n       * Social media settings\n       * @internal\n       */\n      socialMediaSettings?: SocialMediaSettings;\n  }\n  interface PointDefinition {\n      /**\n       * Display name for the program's collectible unit.\n       *\n       * It's recommended to use a plural, for example `Stars`.\n       *\n       * In contrast to a custom name, the default `\"Points\"` name is translated and adjusted to singular based on circumstances.\n       *\n       * Default: `Points`.\n       *\n       * Max: `20` characters.\n       */\n      customName?: string | null;\n      /** Image URL. See [Image]($w/image/introduction) for more information on URL formats for images. */\n      icon?: string;\n  }\n  interface FocalPoint$1 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  enum ProgramStatus {\n      /** Unknown program status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Program was created but is not enabled yet. */\n      DRAFT = \"DRAFT\",\n      /** Program is active. */\n      ACTIVE = \"ACTIVE\",\n      /** Program was manually disabled by the user. This action can be reverted, meaning the user can set it to be active again. */\n      PAUSED = \"PAUSED\"\n  }\n  interface PointsExpiration {\n      /**\n       * Status of points expiration feature\n       * @readonly\n       */\n      status?: Status$1;\n      /** Expire points after set months of inactivity */\n      monthsOfInactivity?: number;\n      /** Percentage of points expiring */\n      expiringPointsPercentage?: number;\n  }\n  enum Status$1 {\n      /** Unknown points expiration status. */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Points expiration feature is disabled. */\n      DISABLED = \"DISABLED\",\n      /** Points expiration feature is enabled. */\n      ENABLED = \"ENABLED\"\n  }\n  interface PremiumFeatures {\n      /**\n       * Set to true if user has loyalty program premium feature\n       * @readonly\n       */\n      loyaltyProgram?: boolean;\n      /**\n       * Set to true if user has tiers premium feature\n       * @readonly\n       */\n      tiers?: boolean;\n      /**\n       * Set to true if user has points expiration premium feature\n       * @readonly\n       */\n      pointsExpiration?: boolean;\n  }\n  interface SocialMediaSettings {\n      /** List of social media channels */\n      channels?: SocialMediaChannel[];\n  }\n  interface SocialMediaChannel {\n      /** Social media channel type */\n      type?: Type;\n      /** Enable or disable social media channel */\n      enabled?: boolean;\n      /** Social media channel ID. For example, Instagram username. */\n      _id?: string;\n      /**\n       * Social media channel URL\n       * @readonly\n       */\n      url?: string | null;\n  }\n  enum Type {\n      /** Unknown social media channel type. */\n      UNKNOWN_CHANNEL = \"UNKNOWN_CHANNEL\",\n      /** Facebook social media channel. */\n      FACEBOOK = \"FACEBOOK\",\n      /** Instagram social media channel. */\n      INSTAGRAM = \"INSTAGRAM\",\n      /** LinkedIn social media channel. */\n      LINKEDIN = \"LINKEDIN\",\n      /** X social media channel. */\n      X = \"X\",\n      /** TikTok social media channel. */\n      TIKTOK = \"TIKTOK\"\n  }\n  interface GetLoyaltyProgramRequest {\n  }\n  interface GetLoyaltyProgramResponse {\n      /** Retrieved loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface BulkGetLoyaltyProgramRequest {\n  }\n  interface BulkGetLoyaltyProgramResponse {\n      /** Retrieved loyalty programs. */\n      programInSites?: ProgramInSite[];\n  }\n  interface ProgramInSite {\n      /** Metasite ID. */\n      metaSiteId?: string;\n      /** Loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface UpdateLoyaltyProgramRequest {\n      /** Loyalty program fields to update. */\n      loyaltyProgram: LoyaltyProgram;\n  }\n  interface UpdateLoyaltyProgramResponse {\n      /** Updated loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface PointsExpirationConfigurationChanged {\n      /** Loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n      /** Points expiration configuration changes */\n      pointsExpirationChanges?: PointsExpirationChanges;\n  }\n  interface PointsExpirationChanges {\n      monthsOfInactivity?: number | null;\n      expiringPointsPercentage?: number | null;\n  }\n  interface ActivateLoyaltyProgramRequest {\n  }\n  interface ActivateLoyaltyProgramResponse {\n      /** Activated loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface LoyaltyProgramActivated {\n      /** Activated loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface PauseLoyaltyProgramRequest {\n  }\n  interface PauseLoyaltyProgramResponse {\n      /** Paused loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface GetLoyaltyProgramDescriptionRequest {\n      /** List of description fields to retrieve. Supported values: `description`, `updatedDate`. */\n      fields?: string[];\n  }\n  interface GetLoyaltyProgramDescriptionResponse {\n      /** Retrieved loyalty program description. */\n      description?: string | null;\n      /** Date and time of the latest description update. */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateLoyaltyProgramDescriptionRequest {\n      /** Loyalty program description to update. */\n      description?: string;\n  }\n  interface UpdateLoyaltyProgramDescriptionResponse {\n  }\n  interface LoyaltyProgramDescriptionUpdated {\n  }\n  interface GetLoyaltyProgramPremiumFeaturesRequest {\n  }\n  interface GetLoyaltyProgramPremiumFeaturesResponse {\n      /**\n       * Set to true if user has loyalty program premium feature\n       * @readonly\n       */\n      loyaltyProgram?: boolean;\n      /**\n       * Set to true if user has tiers premium feature\n       * @readonly\n       */\n      tiers?: boolean;\n      /**\n       * Set to true if user has points expiration premium feature\n       * @readonly\n       */\n      pointsExpiration?: boolean;\n  }\n  interface EnablePointsExpirationRequest {\n  }\n  interface EnablePointsExpirationResponse {\n      /** Loyalty program with enabled points expiration feature. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface PointsExpirationEnabled {\n      /** Loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface DisablePointsExpirationRequest {\n  }\n  interface DisablePointsExpirationResponse {\n      /** Loyalty program with disabled points expiration feature. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface PointsExpirationDisabled {\n      /** Loyalty program. */\n      loyaltyProgram?: LoyaltyProgram;\n  }\n  interface MetaSiteSpecialEvent$1 extends MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset$1[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n  }\n  interface Asset$1 {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State$1;\n  }\n  enum State$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated$1 {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext$1;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace$1;\n  }\n  enum SiteCreatedContext$1 {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace$1 {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred$1 {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface DeleteContext$1 {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus$1;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus$1 {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted$1 {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished$1 {\n  }\n  interface SiteUnpublished$1 {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate$1 {\n  }\n  interface SiteMarkedAsWixSite$1 {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed$1 {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface NamespaceChanged$1 {\n      /** A previous namespace. */\n      oldNamespace?: Namespace$1;\n      /** A new namespace. */\n      newNamespace?: Namespace$1;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned$1 {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned$1 {\n  }\n  interface Empty$2 {\n  }\n  interface FeatureEvent extends FeatureEventEventOneOf {\n      /**\n       * Information about an event that makes a feature eligible to the user.\n       * Triggered for example, for new features or when a feature is reassigned\n       * to an account or a site.\n       */\n      enabled?: FeatureEnabled;\n      /**\n       * Information about an event that disables a feature for the user.\n       * Triggered for example, when a feature is unassigned from a site,\n       * reassigned to a different site, or the user switched to a different contract.\n       */\n      disabled?: FeatureDisabled;\n      /**\n       * Information about an event that updates a feature. An `updated` event\n       * is triggered for example by the\n       * [Report Quota Usage](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/report-quota-usage)\n       * and [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter)\n       * endpoints.\n       */\n      updated?: FeatureUpdated;\n      /**\n       * Information about an event that cancels a feature for the user.\n       * Triggered for example, when a feature is canceled, transferred to\n       * another account, or the user switched to a different contract.\n       */\n      cancelled?: FeatureCancelled;\n      /**\n       * Timestamp of the event in\n       * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n       */\n      timestamp?: Date | null;\n  }\n  /** @oneof */\n  interface FeatureEventEventOneOf {\n      /**\n       * Information about an event that makes a feature eligible to the user.\n       * Triggered for example, for new features or when a feature is reassigned\n       * to an account or a site.\n       */\n      enabled?: FeatureEnabled;\n      /**\n       * Information about an event that disables a feature for the user.\n       * Triggered for example, when a feature is unassigned from a site,\n       * reassigned to a different site, or the user switched to a different contract.\n       */\n      disabled?: FeatureDisabled;\n      /**\n       * Information about an event that updates a feature. An `updated` event\n       * is triggered for example by the\n       * [Report Quota Usage](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/report-quota-usage)\n       * and [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter)\n       * endpoints.\n       */\n      updated?: FeatureUpdated;\n      /**\n       * Information about an event that cancels a feature for the user.\n       * Triggered for example, when a feature is canceled, transferred to\n       * another account, or the user switched to a different contract.\n       */\n      cancelled?: FeatureCancelled;\n  }\n  /** Feature created or enabled after disabled state */\n  interface FeatureEnabled extends FeatureEnabledReasonOneOf {\n      /** Information about a transfer from another account. */\n      transferredFromAnotherAccount?: TransferredFromAnotherAccountReason;\n      /** Information about a transfer from another site. */\n      reassignedFromSite?: ReassignedFromSiteReason;\n      /** Information about a feature that hadn't been assigned to site. */\n      assignedFromFloating?: AssignedFromFloatingReason;\n      /** Information about the new feature. */\n      newFeature?: NewFeatureReason;\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n      /** Information about the manually created features. */\n      manualFeatureCreation?: ManualFeatureCreationReason;\n      /** Information about a feature that was migrated from legacy. */\n      migratedFromLegacy?: MigratedFromLegacyReason;\n      /** Enabled feature. */\n      feature?: Feature;\n      /**\n       * Information about a transfer from another account.\n       * __Deprecated__. Use `reason.transferred_from_another_account` instead.\n       */\n      transferredFromAccount?: string | null;\n      /**\n       * Information about a transfer from another site.\n       * __Deprecated__. Use `reason.reassigned_from_site` instead.\n       */\n      reassignedFromMetasite?: string | null;\n  }\n  /** @oneof */\n  interface FeatureEnabledReasonOneOf {\n      /** Information about a transfer from another account. */\n      transferredFromAnotherAccount?: TransferredFromAnotherAccountReason;\n      /** Information about a transfer from another site. */\n      reassignedFromSite?: ReassignedFromSiteReason;\n      /** Information about a feature that hadn't been assigned to site. */\n      assignedFromFloating?: AssignedFromFloatingReason;\n      /** Information about the new feature. */\n      newFeature?: NewFeatureReason;\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n      /** Information about the manually created features. */\n      manualFeatureCreation?: ManualFeatureCreationReason;\n      /** Information about a feature that was migrated from legacy. */\n      migratedFromLegacy?: MigratedFromLegacyReason;\n  }\n  interface Feature extends FeatureQuantityInfoOneOf {\n      /**\n       * Deprecated. Use `enabled` instead.\n       * @deprecated\n       */\n      booleanFeature?: BooleanFeature;\n      /**\n       * Deprecated. Use `quotaInfo` instead.\n       * @deprecated\n       */\n      quotaFeature?: QuotaFeature;\n      /**\n       * ID of the feature. __Note:__ Isn't unique. For example, all features that\n       * are available to free Wix accounts or site in some capacity have\n       * `{\"id\": \"DEFAULT\"}`. Use `uniqueName` as unique identifier for a feature.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Unique name of the feature. Only lower case letters, numbers, and dashes\n       * `-` are supported. Used in the endpoints of the\n       * [Features Manager API](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/introduction)\n       * to specify the feature. Not visible to customers. We recommend to start\n       * the unique name with a prefix describing your organization or Wix company.\n       * For example, `bookings` or `crm`.\n       *\n       * Min: 2 characters\n       * Max: 50 characters\n       */\n      uniqueName?: string;\n      /**\n       * Information about whether the feature belongs to a Wix account or site.\n       * Account features have `context.userId`. Site features have `context.metaSiteId` in case\n       * they're assigned to a specific site. Site features that aren't assigned to\n       * a specific site have neither ID.\n       */\n      context?: FeatureContext;\n      /**\n       * Deprecated.\n       * @readonly\n       * @deprecated\n       */\n      createdAt?: Date | null;\n      /**\n       * Deprecated.\n       * @readonly\n       * @deprecated\n       */\n      updatedAt?: Date | null;\n      /**\n       * Information about how often customers can use the feature during a specific\n       * period. Available only for quota features.\n       */\n      quotaInfo?: QuotaInfo;\n      /**\n       * Whether the customer is currently allowed to use the feature.\n       * `true` means that the customer can use the feature. This means a boolean\n       * feature is active or a quota feature has remaining usage.\n       * `false` means that the customer can't use the feature.\n       * This means a boolean feature isn't active or a quota feature doesn't\n       * have remaining usage.\n       */\n      enabled?: boolean;\n      /**\n       * ID of the [subscription](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/subscription-object)\n       * to which the feature instance belongs.\n       */\n      subscriptionId?: string | null;\n      /**\n       * Metadata of the feature. Wix Premium uses the metadata object to indicate\n       * that customers who purchase a product with the feature also get\n       * access to an additional product. For these bundled products `metadata`\n       * looks like this: `{\"tpa\": \"{\"appDefId\": \"sample-app-def-id-1234567890\", \"vendorProductId\": \"sample-productId\"}}\"`.\n       * But you can use the `metadata` property for other purposes, too.\n       */\n      metadata?: Record<string, string>;\n  }\n  /** @oneof */\n  interface FeatureQuantityInfoOneOf {\n      /**\n       * Deprecated. Use `enabled` instead.\n       * @deprecated\n       */\n      booleanFeature?: BooleanFeature;\n      /**\n       * Deprecated. Use `quotaInfo` instead.\n       * @deprecated\n       */\n      quotaFeature?: QuotaFeature;\n  }\n  /**\n   * Context this feature is currently connected to.\n   * Note: Do not confuse with feature scope which is configured in the product catalog\n   * and defines in which context the product can be used\n   */\n  interface FeatureContext {\n      /**\n       * ID of the Wix account that the feature instance belongs to.\n       * Available for both site and account level feature instances.\n       */\n      userId?: string;\n      /**\n       * ID of the meta site that the feature instance is assigned to.\n       * Only available for site level feature instances that are assigned to a Wix\n       * site. Not available for account level and unassigned site level feature\n       * instances.\n       */\n      metaSiteId?: string | null;\n  }\n  /**\n   * A feature that can be either \"enabled\" or \"disabled\". The default/freemium setting is always OFF, and the premium setting is always ON (meaning, unlimited usage without tracking).\n   * A boolean feature is similar to a quantitive feature with a default limit of 0 and UNLIMITED premium limit (although a bit simplified).\n   */\n  interface BooleanFeature {\n  }\n  /** A feature with a periodic usage limitation. The default limit is defined in the Feature Spec, the Premium limits are defined in the respective ProductFeature. */\n  interface QuotaFeature {\n      /** Default (or Freemium) quota limitation. if left undefined the free feature has unlimited amount. */\n      limit?: string | null;\n      /** Periodic time-frame to reset the usage counter. You may use NO_PERIOD if counter shouldn't be reset. */\n      period?: FeaturePeriod;\n      /** Usage measurement units (seconds? MBs? unitless?). Usage reported will be counted in multiples of this basic unit. */\n      units?: string | null;\n  }\n  /** Determines the reset cycle of the feature usage. */\n  enum FeaturePeriod {\n      NO_PERIOD = \"NO_PERIOD\",\n      MILLISECOND = \"MILLISECOND\",\n      SECOND = \"SECOND\",\n      MINUTE = \"MINUTE\",\n      HOUR = \"HOUR\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface QuotaInfo {\n      /**\n       * How often the customer is allowed to use the feature during the specified\n       * period. `null` means that the customer has unlimited access to the feature.\n       */\n      limit?: string | null;\n      /**\n       * Time frame for the usage limitation. `NO_PERIOD` means that `remainingUsage`\n       * isn't automatically reset to the feature's `limit` after a specific period.\n       * You may still manually call\n       * [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter).\n       */\n      period?: FeaturePeriod;\n      /**\n       * How often the customer has used the feature during the current\n       * period.\n       */\n      currentUsage?: string;\n      /**\n       * How often the customer can still use the feature during the current\n       * period. `null` means that the customer has unlimited access to the feature.\n       */\n      remainingUsage?: string | null;\n  }\n  /** Subscription transferred from another account, features on the current account were enabled. */\n  interface TransferredFromAnotherAccountReason {\n      /** Information about a transfer from another account. */\n      transferredFromAccount?: string;\n  }\n  /** Subscription moved from one site to another in the same account, features enabled on the target site */\n  interface ReassignedFromSiteReason {\n      /** Information about a transfer from another site. */\n      reassignedFromMetasite?: string;\n  }\n  /** Subscription was floating and assigned to site, features enabled on the target site */\n  interface AssignedFromFloatingReason {\n  }\n  /** New subscription created and features created as enabled */\n  interface NewFeatureReason {\n  }\n  /** Subscription was upgraded or downgraded, as a result new features enabled, missing features disabled , quantities are updated */\n  interface ContractSwitchedReason {\n  }\n  /** a call to CreateFeature in features-writer, creates feature that is not attached to subscription */\n  interface ManualFeatureCreationReason {\n  }\n  /** Subscription created due to migration from old premium model */\n  interface MigratedFromLegacyReason {\n  }\n  /** Feature disabled and can be enabled in the future */\n  interface FeatureDisabled extends FeatureDisabledReasonOneOf {\n      /** Information about a feature that's no longer assigned to a site. */\n      unassingedToFloating?: UnAssingedToFloatingReason;\n      /**\n       * Information about a feature that's been replaced by a feature from a\n       * different subscription.\n       */\n      replacedByAnotherSubscription?: ReplacedByAnotherSubscriptionReason;\n      /**\n       * Information about a feature that's been reassigned to a different\n       * site.\n       */\n      reassignedToAnotherSite?: ReassignedToAnotherSiteReason;\n      /**\n       * Disabled feature. Includes information about the feature's new state,\n       * possibly its new context.\n       */\n      feature?: Feature;\n      /** ID of the meta site for which the feature has been disabled. */\n      metaSiteId?: string | null;\n  }\n  /** @oneof */\n  interface FeatureDisabledReasonOneOf {\n      /** Information about a feature that's no longer assigned to a site. */\n      unassingedToFloating?: UnAssingedToFloatingReason;\n      /**\n       * Information about a feature that's been replaced by a feature from a\n       * different subscription.\n       */\n      replacedByAnotherSubscription?: ReplacedByAnotherSubscriptionReason;\n      /**\n       * Information about a feature that's been reassigned to a different\n       * site.\n       */\n      reassignedToAnotherSite?: ReassignedToAnotherSiteReason;\n  }\n  /** Subscription was unassigned from the site and moved into floating state */\n  interface UnAssingedToFloatingReason {\n  }\n  /** Another subscription was assigned to the site, causing existing features on this site to be disabled */\n  interface ReplacedByAnotherSubscriptionReason {\n  }\n  /** Subscription was assigned to another site, causing  features on the origin  site to be disabled. */\n  interface ReassignedToAnotherSiteReason {\n      /** Information about a transfer to the site. */\n      reassignedToMetasite?: string;\n  }\n  /** Feature updated, for example Quota was increased due to upgrade */\n  interface FeatureUpdated extends FeatureUpdatedPreviousQuantityInfoOneOf, FeatureUpdatedReasonOneOf {\n      /** Information about a feature that doesn't have a usage quota. */\n      booleanFeature?: BooleanFeature;\n      /** Information about a feature that has a usage quota. */\n      quotaFeature?: QuotaFeature;\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n      /**\n       * Updated feature. Includes information about the feature's new state and\n       * possibly its new context.\n       */\n      feature?: Feature;\n  }\n  /** @oneof */\n  interface FeatureUpdatedPreviousQuantityInfoOneOf {\n      /** Information about a feature that doesn't have a usage quota. */\n      booleanFeature?: BooleanFeature;\n      /** Information about a feature that has a usage quota. */\n      quotaFeature?: QuotaFeature;\n  }\n  /** @oneof */\n  interface FeatureUpdatedReasonOneOf {\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n  }\n  /** Feature was permanently cancelled */\n  interface FeatureCancelled extends FeatureCancelledReasonOneOf {\n      /** Information about a transfer to the account. */\n      transferredToAnotherAccount?: TransferredToAnotherAccountReason;\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n      /** Information about the feature cancellation. */\n      cancelRequest?: CancelRequestedReason;\n      /** Canceled feature. */\n      feature?: Feature;\n      /**\n       * Information about a transfer to the account.\n       * __Deprecated__. Use `reason.transferred_to_account` instead.\n       */\n      transferredToAccount?: string | null;\n  }\n  /** @oneof */\n  interface FeatureCancelledReasonOneOf {\n      /** Information about a transfer to the account. */\n      transferredToAnotherAccount?: TransferredToAnotherAccountReason;\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n      /** Information about the feature cancellation. */\n      cancelRequest?: CancelRequestedReason;\n  }\n  /** Subscription was transferred to another account, features in the origin account were cancelled */\n  interface TransferredToAnotherAccountReason {\n      /** Information about a transfer to the account. */\n      transferredToAccount?: string;\n  }\n  /** Cancellation was requested from the subscription manager api, might be a result of billing event, or direct call */\n  interface CancelRequestedReason {\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the site's loyalty program.\n   *\n   * The `getLoyaltyProgram()` function returns a Promise that resolves to the site's loyalty program.\n   * @public\n   * @permissionId LOYALTY.READ_PROGRAM\n   */\n  function getLoyaltyProgram(): Promise<GetLoyaltyProgramResponse>;\n  /**\n   * Retrieves loyalty programs for all metasites that the caller is a member of.\n   *\n   * Must be called with user identity.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.PROGRAM_BULK_READ\n   * @adminMethod\n   */\n  function bulkGetLoyaltyProgram(): Promise<BulkGetLoyaltyProgramResponse>;\n  /**\n   * Updates the site's loyalty program.\n   *\n   * The `updateLoyaltyProgram()` function returns a Promise that resolves when the loyalty program is updated.\n   *\n   * With the `updateLoyaltyProgram()` function you can update the name of the loyalty program and the details of the collectible points unit. To activate the loyalty program use the [`activateLoyaltyProgram()`](wix-loyalty-v2/programs/activateloyaltyprogram) function.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions) can update a loyalty program. You can override the permissions with the `wix-auth` [`elevate()`](wix-auth/elevate) function.\n   * @param loyaltyProgram - Loyalty program fields to update.\n   * @public\n   * @requiredField loyaltyProgram\n   * @permissionId LOYALTY.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function updateLoyaltyProgram(loyaltyProgram: LoyaltyProgram): Promise<UpdateLoyaltyProgramResponse>;\n  /**\n   * Activates a loyalty program.\n   *\n   * The `activateLoyaltyProgram()` function returns a Promise that resolves when the status of the loyalty program is successfully changed to `\"ACTIVE\"`.\n   *\n   * Before you begin, a Wix Loyalty Program must first be installed through your [dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Floyalty-accounts/wizard/) or through the [Wix App Market](https://www.wix.com/app-market/loyalty). Initially when a loyalty program is installed, the status is set to `\"DRAFT\"`. You can change the program's status to `\"ACTIVE\"` with this function or through your [dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Floyalty-accounts/wizard/). A site's customers can only earn or redeem points while the program status is `\"ACTIVE\"`.\n   *\n   * This function updates only the status of a loyalty program, to make other updates to the program, use the [`updateLoyaltyProgram()`](wix-loyalty-v2/programs/updateloyaltyprogram) function.\n   *\n   * To temporarily pause your loyalty program you must follow three steps:\n   * 1. Remove all [`earnPoints()`](wix-loyalty-v2/accounts/earnpoints) functions and switch off all the \"Earn Points\" and \"Rewards\" toggles in the [Loyalty Program dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Open%20Loyalty%20Program&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https://www.wix.com/dashboard/{{metaSiteId}}/loyalty-accounts/).\n   * 1. Hide the loyalty page from your site.\n   * 1. Delete the My Rewards page from the Member pages.\n   * See [Pausing Your Loyalty Program](https://support.wix.com/en/article/wix-loyalty-program-pausing-your-loyalty-program) for more information.\n   *\n   * >**Note:** Only visitors with **Manage Loyalty** [permissions](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions) can activate a loyalty program. You can override the permissions with the `wix-auth` [`elevate()`](wix-auth/elevate) function.\n   * @public\n   * @permissionId LOYALTY.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function activateLoyaltyProgram(): Promise<ActivateLoyaltyProgramResponse>;\n  /**\n   * Changes the program status to `PAUSED`.\n   * @public\n   * @permissionId LOYALTY.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function pauseLoyaltyProgram(): Promise<PauseLoyaltyProgramResponse>;\n  /**\n   * Retrieves the program description.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.READ_PROGRAM\n   * @returns The `getLoyaltyProgram()` function returns a Promise that resolves to the site's loyalty program.\n   */\n  function getLoyaltyProgramDescription(options?: GetLoyaltyProgramDescriptionOptions): Promise<GetLoyaltyProgramDescriptionResponse>;\n  interface GetLoyaltyProgramDescriptionOptions {\n      /** List of description fields to retrieve. Supported values: `description`, `updatedDate`. */\n      fields?: string[];\n  }\n  /**\n   * Updates the program description.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function updateLoyaltyProgramDescription(options?: UpdateLoyaltyProgramDescriptionOptions): Promise<void>;\n  interface UpdateLoyaltyProgramDescriptionOptions {\n      /** Loyalty program description to update. */\n      description?: string;\n  }\n  /**\n   * Get information about available premium features\n   * @public\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.READ_PROGRAM\n   */\n  function getLoyaltyProgramPremiumFeatures(): Promise<GetLoyaltyProgramPremiumFeaturesResponse>;\n  /**\n   * Updates the `pointsExpiration` status to `ENABLED`.\n   * @public\n   * @permissionId LOYALTY.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function enablePointsExpiration(): Promise<EnablePointsExpirationResponse>;\n  /**\n   * Updates the `pointsExpiration` status to `DISABLED`.\n   * @public\n   * @permissionId LOYALTY.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function disablePointsExpiration(): Promise<DisablePointsExpirationResponse>;\n  \n  type loyaltyV1Program_universal_d_LoyaltyProgram = LoyaltyProgram;\n  type loyaltyV1Program_universal_d_PointDefinition = PointDefinition;\n  type loyaltyV1Program_universal_d_ProgramStatus = ProgramStatus;\n  const loyaltyV1Program_universal_d_ProgramStatus: typeof ProgramStatus;\n  type loyaltyV1Program_universal_d_PointsExpiration = PointsExpiration;\n  type loyaltyV1Program_universal_d_PremiumFeatures = PremiumFeatures;\n  type loyaltyV1Program_universal_d_SocialMediaSettings = SocialMediaSettings;\n  type loyaltyV1Program_universal_d_SocialMediaChannel = SocialMediaChannel;\n  type loyaltyV1Program_universal_d_Type = Type;\n  const loyaltyV1Program_universal_d_Type: typeof Type;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramRequest = GetLoyaltyProgramRequest;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramResponse = GetLoyaltyProgramResponse;\n  type loyaltyV1Program_universal_d_BulkGetLoyaltyProgramRequest = BulkGetLoyaltyProgramRequest;\n  type loyaltyV1Program_universal_d_BulkGetLoyaltyProgramResponse = BulkGetLoyaltyProgramResponse;\n  type loyaltyV1Program_universal_d_ProgramInSite = ProgramInSite;\n  type loyaltyV1Program_universal_d_UpdateLoyaltyProgramRequest = UpdateLoyaltyProgramRequest;\n  type loyaltyV1Program_universal_d_UpdateLoyaltyProgramResponse = UpdateLoyaltyProgramResponse;\n  type loyaltyV1Program_universal_d_PointsExpirationConfigurationChanged = PointsExpirationConfigurationChanged;\n  type loyaltyV1Program_universal_d_PointsExpirationChanges = PointsExpirationChanges;\n  type loyaltyV1Program_universal_d_ActivateLoyaltyProgramRequest = ActivateLoyaltyProgramRequest;\n  type loyaltyV1Program_universal_d_ActivateLoyaltyProgramResponse = ActivateLoyaltyProgramResponse;\n  type loyaltyV1Program_universal_d_LoyaltyProgramActivated = LoyaltyProgramActivated;\n  type loyaltyV1Program_universal_d_PauseLoyaltyProgramRequest = PauseLoyaltyProgramRequest;\n  type loyaltyV1Program_universal_d_PauseLoyaltyProgramResponse = PauseLoyaltyProgramResponse;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionRequest = GetLoyaltyProgramDescriptionRequest;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionResponse = GetLoyaltyProgramDescriptionResponse;\n  type loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionRequest = UpdateLoyaltyProgramDescriptionRequest;\n  type loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionResponse = UpdateLoyaltyProgramDescriptionResponse;\n  type loyaltyV1Program_universal_d_LoyaltyProgramDescriptionUpdated = LoyaltyProgramDescriptionUpdated;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramPremiumFeaturesRequest = GetLoyaltyProgramPremiumFeaturesRequest;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramPremiumFeaturesResponse = GetLoyaltyProgramPremiumFeaturesResponse;\n  type loyaltyV1Program_universal_d_EnablePointsExpirationRequest = EnablePointsExpirationRequest;\n  type loyaltyV1Program_universal_d_EnablePointsExpirationResponse = EnablePointsExpirationResponse;\n  type loyaltyV1Program_universal_d_PointsExpirationEnabled = PointsExpirationEnabled;\n  type loyaltyV1Program_universal_d_DisablePointsExpirationRequest = DisablePointsExpirationRequest;\n  type loyaltyV1Program_universal_d_DisablePointsExpirationResponse = DisablePointsExpirationResponse;\n  type loyaltyV1Program_universal_d_PointsExpirationDisabled = PointsExpirationDisabled;\n  type loyaltyV1Program_universal_d_FeatureEvent = FeatureEvent;\n  type loyaltyV1Program_universal_d_FeatureEventEventOneOf = FeatureEventEventOneOf;\n  type loyaltyV1Program_universal_d_FeatureEnabled = FeatureEnabled;\n  type loyaltyV1Program_universal_d_FeatureEnabledReasonOneOf = FeatureEnabledReasonOneOf;\n  type loyaltyV1Program_universal_d_Feature = Feature;\n  type loyaltyV1Program_universal_d_FeatureQuantityInfoOneOf = FeatureQuantityInfoOneOf;\n  type loyaltyV1Program_universal_d_FeatureContext = FeatureContext;\n  type loyaltyV1Program_universal_d_BooleanFeature = BooleanFeature;\n  type loyaltyV1Program_universal_d_QuotaFeature = QuotaFeature;\n  type loyaltyV1Program_universal_d_FeaturePeriod = FeaturePeriod;\n  const loyaltyV1Program_universal_d_FeaturePeriod: typeof FeaturePeriod;\n  type loyaltyV1Program_universal_d_QuotaInfo = QuotaInfo;\n  type loyaltyV1Program_universal_d_TransferredFromAnotherAccountReason = TransferredFromAnotherAccountReason;\n  type loyaltyV1Program_universal_d_ReassignedFromSiteReason = ReassignedFromSiteReason;\n  type loyaltyV1Program_universal_d_AssignedFromFloatingReason = AssignedFromFloatingReason;\n  type loyaltyV1Program_universal_d_NewFeatureReason = NewFeatureReason;\n  type loyaltyV1Program_universal_d_ContractSwitchedReason = ContractSwitchedReason;\n  type loyaltyV1Program_universal_d_ManualFeatureCreationReason = ManualFeatureCreationReason;\n  type loyaltyV1Program_universal_d_MigratedFromLegacyReason = MigratedFromLegacyReason;\n  type loyaltyV1Program_universal_d_FeatureDisabled = FeatureDisabled;\n  type loyaltyV1Program_universal_d_FeatureDisabledReasonOneOf = FeatureDisabledReasonOneOf;\n  type loyaltyV1Program_universal_d_UnAssingedToFloatingReason = UnAssingedToFloatingReason;\n  type loyaltyV1Program_universal_d_ReplacedByAnotherSubscriptionReason = ReplacedByAnotherSubscriptionReason;\n  type loyaltyV1Program_universal_d_ReassignedToAnotherSiteReason = ReassignedToAnotherSiteReason;\n  type loyaltyV1Program_universal_d_FeatureUpdated = FeatureUpdated;\n  type loyaltyV1Program_universal_d_FeatureUpdatedPreviousQuantityInfoOneOf = FeatureUpdatedPreviousQuantityInfoOneOf;\n  type loyaltyV1Program_universal_d_FeatureUpdatedReasonOneOf = FeatureUpdatedReasonOneOf;\n  type loyaltyV1Program_universal_d_FeatureCancelled = FeatureCancelled;\n  type loyaltyV1Program_universal_d_FeatureCancelledReasonOneOf = FeatureCancelledReasonOneOf;\n  type loyaltyV1Program_universal_d_TransferredToAnotherAccountReason = TransferredToAnotherAccountReason;\n  type loyaltyV1Program_universal_d_CancelRequestedReason = CancelRequestedReason;\n  const loyaltyV1Program_universal_d_getLoyaltyProgram: typeof getLoyaltyProgram;\n  const loyaltyV1Program_universal_d_bulkGetLoyaltyProgram: typeof bulkGetLoyaltyProgram;\n  const loyaltyV1Program_universal_d_updateLoyaltyProgram: typeof updateLoyaltyProgram;\n  const loyaltyV1Program_universal_d_activateLoyaltyProgram: typeof activateLoyaltyProgram;\n  const loyaltyV1Program_universal_d_pauseLoyaltyProgram: typeof pauseLoyaltyProgram;\n  const loyaltyV1Program_universal_d_getLoyaltyProgramDescription: typeof getLoyaltyProgramDescription;\n  type loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionOptions = GetLoyaltyProgramDescriptionOptions;\n  const loyaltyV1Program_universal_d_updateLoyaltyProgramDescription: typeof updateLoyaltyProgramDescription;\n  type loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionOptions = UpdateLoyaltyProgramDescriptionOptions;\n  const loyaltyV1Program_universal_d_getLoyaltyProgramPremiumFeatures: typeof getLoyaltyProgramPremiumFeatures;\n  const loyaltyV1Program_universal_d_enablePointsExpiration: typeof enablePointsExpiration;\n  const loyaltyV1Program_universal_d_disablePointsExpiration: typeof disablePointsExpiration;\n  namespace loyaltyV1Program_universal_d {\n    export {\n      loyaltyV1Program_universal_d_LoyaltyProgram as LoyaltyProgram,\n      loyaltyV1Program_universal_d_PointDefinition as PointDefinition,\n      FocalPoint$1 as FocalPoint,\n      loyaltyV1Program_universal_d_ProgramStatus as ProgramStatus,\n      loyaltyV1Program_universal_d_PointsExpiration as PointsExpiration,\n      Status$1 as Status,\n      loyaltyV1Program_universal_d_PremiumFeatures as PremiumFeatures,\n      loyaltyV1Program_universal_d_SocialMediaSettings as SocialMediaSettings,\n      loyaltyV1Program_universal_d_SocialMediaChannel as SocialMediaChannel,\n      loyaltyV1Program_universal_d_Type as Type,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramRequest as GetLoyaltyProgramRequest,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramResponse as GetLoyaltyProgramResponse,\n      loyaltyV1Program_universal_d_BulkGetLoyaltyProgramRequest as BulkGetLoyaltyProgramRequest,\n      loyaltyV1Program_universal_d_BulkGetLoyaltyProgramResponse as BulkGetLoyaltyProgramResponse,\n      loyaltyV1Program_universal_d_ProgramInSite as ProgramInSite,\n      loyaltyV1Program_universal_d_UpdateLoyaltyProgramRequest as UpdateLoyaltyProgramRequest,\n      loyaltyV1Program_universal_d_UpdateLoyaltyProgramResponse as UpdateLoyaltyProgramResponse,\n      loyaltyV1Program_universal_d_PointsExpirationConfigurationChanged as PointsExpirationConfigurationChanged,\n      loyaltyV1Program_universal_d_PointsExpirationChanges as PointsExpirationChanges,\n      loyaltyV1Program_universal_d_ActivateLoyaltyProgramRequest as ActivateLoyaltyProgramRequest,\n      loyaltyV1Program_universal_d_ActivateLoyaltyProgramResponse as ActivateLoyaltyProgramResponse,\n      loyaltyV1Program_universal_d_LoyaltyProgramActivated as LoyaltyProgramActivated,\n      loyaltyV1Program_universal_d_PauseLoyaltyProgramRequest as PauseLoyaltyProgramRequest,\n      loyaltyV1Program_universal_d_PauseLoyaltyProgramResponse as PauseLoyaltyProgramResponse,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionRequest as GetLoyaltyProgramDescriptionRequest,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionResponse as GetLoyaltyProgramDescriptionResponse,\n      loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionRequest as UpdateLoyaltyProgramDescriptionRequest,\n      loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionResponse as UpdateLoyaltyProgramDescriptionResponse,\n      loyaltyV1Program_universal_d_LoyaltyProgramDescriptionUpdated as LoyaltyProgramDescriptionUpdated,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramPremiumFeaturesRequest as GetLoyaltyProgramPremiumFeaturesRequest,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramPremiumFeaturesResponse as GetLoyaltyProgramPremiumFeaturesResponse,\n      loyaltyV1Program_universal_d_EnablePointsExpirationRequest as EnablePointsExpirationRequest,\n      loyaltyV1Program_universal_d_EnablePointsExpirationResponse as EnablePointsExpirationResponse,\n      loyaltyV1Program_universal_d_PointsExpirationEnabled as PointsExpirationEnabled,\n      loyaltyV1Program_universal_d_DisablePointsExpirationRequest as DisablePointsExpirationRequest,\n      loyaltyV1Program_universal_d_DisablePointsExpirationResponse as DisablePointsExpirationResponse,\n      loyaltyV1Program_universal_d_PointsExpirationDisabled as PointsExpirationDisabled,\n      MetaSiteSpecialEvent$1 as MetaSiteSpecialEvent,\n      MetaSiteSpecialEventPayloadOneOf$1 as MetaSiteSpecialEventPayloadOneOf,\n      Asset$1 as Asset,\n      State$1 as State,\n      SiteCreated$1 as SiteCreated,\n      SiteCreatedContext$1 as SiteCreatedContext,\n      Namespace$1 as Namespace,\n      SiteTransferred$1 as SiteTransferred,\n      SiteDeleted$1 as SiteDeleted,\n      DeleteContext$1 as DeleteContext,\n      DeleteStatus$1 as DeleteStatus,\n      SiteUndeleted$1 as SiteUndeleted,\n      SitePublished$1 as SitePublished,\n      SiteUnpublished$1 as SiteUnpublished,\n      SiteMarkedAsTemplate$1 as SiteMarkedAsTemplate,\n      SiteMarkedAsWixSite$1 as SiteMarkedAsWixSite,\n      ServiceProvisioned$1 as ServiceProvisioned,\n      ServiceRemoved$1 as ServiceRemoved,\n      SiteRenamed$1 as SiteRenamed,\n      SiteHardDeleted$1 as SiteHardDeleted,\n      NamespaceChanged$1 as NamespaceChanged,\n      StudioAssigned$1 as StudioAssigned,\n      StudioUnassigned$1 as StudioUnassigned,\n      Empty$2 as Empty,\n      loyaltyV1Program_universal_d_FeatureEvent as FeatureEvent,\n      loyaltyV1Program_universal_d_FeatureEventEventOneOf as FeatureEventEventOneOf,\n      loyaltyV1Program_universal_d_FeatureEnabled as FeatureEnabled,\n      loyaltyV1Program_universal_d_FeatureEnabledReasonOneOf as FeatureEnabledReasonOneOf,\n      loyaltyV1Program_universal_d_Feature as Feature,\n      loyaltyV1Program_universal_d_FeatureQuantityInfoOneOf as FeatureQuantityInfoOneOf,\n      loyaltyV1Program_universal_d_FeatureContext as FeatureContext,\n      loyaltyV1Program_universal_d_BooleanFeature as BooleanFeature,\n      loyaltyV1Program_universal_d_QuotaFeature as QuotaFeature,\n      loyaltyV1Program_universal_d_FeaturePeriod as FeaturePeriod,\n      loyaltyV1Program_universal_d_QuotaInfo as QuotaInfo,\n      loyaltyV1Program_universal_d_TransferredFromAnotherAccountReason as TransferredFromAnotherAccountReason,\n      loyaltyV1Program_universal_d_ReassignedFromSiteReason as ReassignedFromSiteReason,\n      loyaltyV1Program_universal_d_AssignedFromFloatingReason as AssignedFromFloatingReason,\n      loyaltyV1Program_universal_d_NewFeatureReason as NewFeatureReason,\n      loyaltyV1Program_universal_d_ContractSwitchedReason as ContractSwitchedReason,\n      loyaltyV1Program_universal_d_ManualFeatureCreationReason as ManualFeatureCreationReason,\n      loyaltyV1Program_universal_d_MigratedFromLegacyReason as MigratedFromLegacyReason,\n      loyaltyV1Program_universal_d_FeatureDisabled as FeatureDisabled,\n      loyaltyV1Program_universal_d_FeatureDisabledReasonOneOf as FeatureDisabledReasonOneOf,\n      loyaltyV1Program_universal_d_UnAssingedToFloatingReason as UnAssingedToFloatingReason,\n      loyaltyV1Program_universal_d_ReplacedByAnotherSubscriptionReason as ReplacedByAnotherSubscriptionReason,\n      loyaltyV1Program_universal_d_ReassignedToAnotherSiteReason as ReassignedToAnotherSiteReason,\n      loyaltyV1Program_universal_d_FeatureUpdated as FeatureUpdated,\n      loyaltyV1Program_universal_d_FeatureUpdatedPreviousQuantityInfoOneOf as FeatureUpdatedPreviousQuantityInfoOneOf,\n      loyaltyV1Program_universal_d_FeatureUpdatedReasonOneOf as FeatureUpdatedReasonOneOf,\n      loyaltyV1Program_universal_d_FeatureCancelled as FeatureCancelled,\n      loyaltyV1Program_universal_d_FeatureCancelledReasonOneOf as FeatureCancelledReasonOneOf,\n      loyaltyV1Program_universal_d_TransferredToAnotherAccountReason as TransferredToAnotherAccountReason,\n      loyaltyV1Program_universal_d_CancelRequestedReason as CancelRequestedReason,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      loyaltyV1Program_universal_d_getLoyaltyProgram as getLoyaltyProgram,\n      loyaltyV1Program_universal_d_bulkGetLoyaltyProgram as bulkGetLoyaltyProgram,\n      loyaltyV1Program_universal_d_updateLoyaltyProgram as updateLoyaltyProgram,\n      loyaltyV1Program_universal_d_activateLoyaltyProgram as activateLoyaltyProgram,\n      loyaltyV1Program_universal_d_pauseLoyaltyProgram as pauseLoyaltyProgram,\n      loyaltyV1Program_universal_d_getLoyaltyProgramDescription as getLoyaltyProgramDescription,\n      loyaltyV1Program_universal_d_GetLoyaltyProgramDescriptionOptions as GetLoyaltyProgramDescriptionOptions,\n      loyaltyV1Program_universal_d_updateLoyaltyProgramDescription as updateLoyaltyProgramDescription,\n      loyaltyV1Program_universal_d_UpdateLoyaltyProgramDescriptionOptions as UpdateLoyaltyProgramDescriptionOptions,\n      loyaltyV1Program_universal_d_getLoyaltyProgramPremiumFeatures as getLoyaltyProgramPremiumFeatures,\n      loyaltyV1Program_universal_d_enablePointsExpiration as enablePointsExpiration,\n      loyaltyV1Program_universal_d_disablePointsExpiration as disablePointsExpiration,\n    };\n  }\n  \n  /**\n   * A loyalty reward is an object a customer can redeem with loyalty points.\n   * Redeeming a reward then creates a loyalty coupon that the customer can use.\n   */\n  interface Reward extends RewardTypeDetailsOneOf {\n      /** Discount details. */\n      discountAmount?: DiscountAmount;\n      /** Coupon details. */\n      couponReward?: CouponReward;\n      /**\n       * Details of a flexible reward implemented in SPI.\n       * @internal\n       */\n      spiDiscountAmount?: SpiDiscountAmount;\n      /**\n       * Reward ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Reward name. */\n      name?: string;\n      /**\n       * Amount of points required to receive the reward.\n       * @internal\n       * @deprecated Amount of points required to receive the reward.\n       * @replacedBy type_details\n       * @targetRemovalDate 2024-06-01\n       */\n      requiredPoints?: number;\n      /** Whether the reward is active. Default: `FALSE` */\n      active?: boolean;\n      /** Reward type. */\n      type?: RewardType;\n      /**\n       * Revision number, which increments by 1 each time the loyalty reward is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty reward.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the reward was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the reward was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /** @oneof */\n  interface RewardTypeDetailsOneOf {\n      /** Discount details. */\n      discountAmount?: DiscountAmount;\n      /** Coupon details. */\n      couponReward?: CouponReward;\n      /**\n       * Details of a flexible reward implemented in SPI.\n       * @internal\n       */\n      spiDiscountAmount?: SpiDiscountAmount;\n  }\n  /** Available reward types. */\n  enum RewardType {\n      /** Undefined reward type. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Discount reward. Special flexible reward type used in checkout. */\n      DISCOUNT_AMOUNT = \"DISCOUNT_AMOUNT\",\n      /** Coupon reward. [Learn more about coupons.](https://support.wix.com/en/article/using-coupons-as-loyalty-rewards) */\n      COUPON_REWARD = \"COUPON_REWARD\",\n      /** For internal use. */\n      SPI_DISCOUNT_AMOUNT = \"SPI_DISCOUNT_AMOUNT\"\n  }\n  interface DiscountAmount {\n      /**\n       * Discount amount. Must be a positive value.\n       * @internal\n       * @deprecated Discount amount. Must be a positive value.\n       * @replacedBy configs_by_tier\n       * @targetRemovalDate 2024-06-01\n       */\n      amount?: string;\n      /** Discount details for each tier. */\n      configsByTier?: DiscountAmountConfig[];\n  }\n  interface DiscountAmountConfig {\n      /** Discount amount. Must be a positive value. */\n      amount?: string;\n      /** Tier ID, or empty if config applies to the base tier. */\n      tierId?: string | null;\n      /** Amount of points required to redeem the reward. */\n      costInPoints?: number;\n  }\n  interface CouponReward extends CouponRewardDiscountTypeOneOf, CouponRewardScopeOrMinSubtotalOneOf {\n      /** Discount as a fixed amount. */\n      fixedAmount?: FixedAmountDiscount;\n      /** Discount as a percentage. */\n      percentage?: PercentageDiscount;\n      /** Free shipping. */\n      freeShipping?: FreeShippingDiscount;\n      /** Limit the coupon to carts with a subtotal greater than this number. */\n      minimumSubtotal?: number;\n      /**\n       * Specifies the type of line items this coupon will apply to.\n       *\n       * For more information, see the Coupons API.\n       */\n      scope?: CouponScope;\n      /** Whether the coupon is limited to one item. */\n      limitedToOneItem?: boolean | null;\n      /**\n       * Whether the coupon applies to subscription products.\n       *\n       * If set to `true`, the discount will apply to all billing cycles.\n       */\n      appliesToSubscriptions?: boolean | null;\n      /** Reserved for internal use. */\n      discountedCycleCount?: number | null;\n  }\n  /** @oneof */\n  interface CouponRewardDiscountTypeOneOf {\n      /** Discount as a fixed amount. */\n      fixedAmount?: FixedAmountDiscount;\n      /** Discount as a percentage. */\n      percentage?: PercentageDiscount;\n      /** Free shipping. */\n      freeShipping?: FreeShippingDiscount;\n  }\n  /** @oneof */\n  interface CouponRewardScopeOrMinSubtotalOneOf {\n      /** Limit the coupon to carts with a subtotal greater than this number. */\n      minimumSubtotal?: number;\n      /**\n       * Specifies the type of line items this coupon will apply to.\n       *\n       * For more information, see the Coupons API.\n       */\n      scope?: CouponScope;\n  }\n  interface FixedAmountDiscount {\n      /** Discount details for each tier. */\n      configsByTier?: FixedAmountDiscountConfig[];\n  }\n  interface FixedAmountDiscountConfig {\n      /** Tier ID, or empty if config applies to the base tier. */\n      tierId?: string | null;\n      /** Amount of points required to redeem the reward. */\n      costInPoints?: number;\n      /** Discount amount. */\n      amount?: number;\n  }\n  interface PercentageDiscount {\n      /** Discount details for each tier. */\n      configsByTier?: PercentageDiscountConfig[];\n  }\n  interface PercentageDiscountConfig {\n      /** Tier ID, or empty if config applies to the base tier. */\n      tierId?: string | null;\n      /** Amount of points required to redeem the reward. */\n      costInPoints?: number;\n      /** Percentage discount. */\n      percentage?: number;\n  }\n  interface FreeShippingDiscount {\n      /** Discount details for each tier. */\n      configsByTier?: FreeShippingDiscountConfig[];\n  }\n  interface FreeShippingDiscountConfig {\n      /** Tier ID, or empty if config applies to the base tier. */\n      tierId?: string | null;\n      /** Amount of points required to redeem the reward. */\n      costInPoints?: number;\n  }\n  interface CouponScope {\n      /**\n       * Scope namespace.\n       *\n       * See the Coupons API for valid namespaces.\n       */\n      namespace?: string;\n      /**\n       * Coupon scope's applied group.\n       *\n       * See the Coupons API for valid groups.\n       */\n      group?: Group;\n  }\n  interface Group {\n      /**\n       * Name of coupon scope's group.\n       *\n       * See the Coupons API for valid groups.\n       */\n      name?: string;\n      /** Entity ID, if the coupon scope is limited to just one item. */\n      entityId?: string | null;\n  }\n  interface SpiDiscountAmount {\n      /** Discount details for each tier. */\n      configsByTier?: DiscountAmountConfig[];\n      /** Description of the SPI discount amount reward. Taken from user input in the SPI config. */\n      description?: string;\n  }\n  interface RewardDisabled {\n  }\n  interface CreateRewardRequest {\n      /** Reward to create. */\n      reward: Reward;\n  }\n  interface CreateRewardResponse {\n      /** Created reward. */\n      reward?: Reward;\n  }\n  interface BulkCreateRewardsRequest {\n      /** Rewards to create. */\n      rewards: Reward[];\n  }\n  interface BulkCreateRewardsResponse {\n      /** Created rewards. */\n      results?: BulkRewardResult[];\n      /** Total successes and failures of the bulk create rewards action. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkRewardResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata$1;\n      /** Created reward. */\n      item?: Reward;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetRewardRequest {\n      /** ID of the reward to retrieve. */\n      _id: string;\n  }\n  interface GetRewardResponse {\n      /** Retrieved reward. */\n      reward?: Reward;\n  }\n  interface BulkGetRewardsRequest {\n  }\n  interface BulkGetRewardsResponse {\n      /** Found rewards per site. */\n      rewardsInSite?: RewardsInSite[];\n  }\n  interface RewardsInSite {\n      /** Metasite id. */\n      metaSiteId?: string;\n      /** Rewards. */\n      rewards?: Reward[];\n  }\n  interface QueryRewardsRequest {\n      /** Query parameters. */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryRewardsResponse {\n      /** Retrieved loyalty rewards. */\n      rewards?: Reward[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateRewardRequest {\n      /** Reward information to update. */\n      reward: Reward;\n  }\n  interface UpdateRewardResponse {\n      /** Updated reward. */\n      reward?: Reward;\n  }\n  interface DeleteRewardRequest {\n      /** ID of the reward to delete. */\n      _id: string;\n      /**\n       * Revision number, which increments by 1 each time the reward is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when deleting the reward.\n       */\n      revision?: string;\n  }\n  interface DeleteRewardResponse {\n  }\n  interface ListRewardsRequest {\n      /** Pagination options. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Whether rewards are being listed for \"redemption\" purposes, i.e. from checkout-exchange.\n       * If value is true - existing SPI implementors will be called to fetch Custom Rewards for current user.\n       * @internal\n       */\n      redemptionContext?: boolean | null;\n  }\n  interface ListRewardsResponse {\n      /** Retrieved loyalty rewards. */\n      rewards?: Reward[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface ListRewardsInTierRequest {\n      /**\n       * Tier id.\n       * @readonly\n       */\n      tierId?: string | null;\n      /** Pagination options. */\n      cursorPaging?: CursorPaging;\n  }\n  interface ListRewardsInTierResponse {\n      /** Retrieved loyalty rewards. */\n      rewards?: Reward[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a reward that can be redeemed with loyalty points.\n   *\n   * When a customer redeems a reward, a loyalty coupon is created\n   * based on the specifications detailed in either the `discountAmount` or `couponReward` fields. This coupon can\n   * then be used by the customer to receive the discount. Note that while the Rewards API uses coupon scopes and specifications,\n   * no coupon is actually created until a reward is redeemed with points.\n   * See the Coupons API for more information about coupons.\n   *\n   * A reward's `active` status defaults to `false`. To make the reward available to customers,\n   * either set the `active` field to `true` during creation or call [`updateReward()`](#updatereward)\n   * to change the status.\n   *\n   * To customize a reward for each loyalty tier, use the `configsByTier` parameter.\n   * This allows you to specify the amount of the earned discount, the cost in loyalty points\n   * to redeem the reward, and the tier to which this configuration applies. Each tier requires its own\n   * `configsByTier` configuration. To create a reward that is available to loyalty accounts in the base tier,\n   * leave the `tierId` field empty. See the Loyalty Tiers API for more information on tiers.\n   * @param reward - Reward to create.\n   * @public\n   * @requiredField reward\n   * @requiredField reward.name\n   * @permissionId LOYALTY.MANAGE_REWARDS\n   * @adminMethod\n   * @returns Created reward.\n   */\n  function createReward(reward: Reward): Promise<Reward>;\n  /**\n   * Creates multiple rewards.\n   * @param rewards - Rewards to create.\n   * @public\n   * @requiredField rewards\n   * @requiredField rewards.name\n   * @permissionId LOYALTY.MANAGE_REWARDS\n   * @adminMethod\n   */\n  function bulkCreateRewards(rewards: Reward[]): Promise<BulkCreateRewardsResponse>;\n  /**\n   * Retrieves a reward.\n   * @param _id - ID of the reward to retrieve.\n   * @public\n   * @requiredField _id\n   * @permissionId LOYALTY.READ_REWARDS\n   * @returns Retrieved reward.\n   */\n  function getReward(_id: string): Promise<Reward>;\n  /**\n   * Retrieves rewards from all metasites that the caller is the member of.\n   *\n   * Must be called with user identity.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.REWARD_BULK_READ\n   * @adminMethod\n   */\n  function bulkGetRewards(): Promise<BulkGetRewardsResponse>;\n  /**\n   * Retrieves a list of rewards, given the provided paging, filtering, and sorting.\n   *\n   * Query Rewards runs with these defaults, which you can override: `cursorPaging.limit` is `50`.\n   *\n   * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),[Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @param query - Query parameters.\n   * @public\n   * @requiredField query\n   * @permissionId LOYALTY.READ_REWARDS\n   */\n  function queryRewards(query: CursorQuery): Promise<QueryRewardsResponse>;\n  /**\n   * Updates a loyalty reward.\n   *\n   * Use this endpoint to update details of a reward, such as the name, whether or not a reward is active,\n   * or the amount of points it costs to redeem. Also use this endpoint to add new tiers that are eligible to redeem a reward.\n   *\n   * You may not change the `type` of a reward. That is set upon creation and cannot be updated.\n   * @param _id - Reward ID.\n   * @public\n   * @requiredField _id\n   * @requiredField reward\n   * @requiredField reward.name\n   * @requiredField reward.revision\n   * @param reward - Reward info to update.\n   * @permissionId LOYALTY.MANAGE_REWARDS\n   * @adminMethod\n   */\n  function updateReward(_id: string | null, reward: UpdateReward): Promise<UpdateRewardResponse>;\n  interface UpdateReward {\n      /** Discount details. */\n      discountAmount?: DiscountAmount;\n      /** Coupon details. */\n      couponReward?: CouponReward;\n      /**\n       * Details of a flexible reward implemented in SPI.\n       * @internal\n       */\n      spiDiscountAmount?: SpiDiscountAmount;\n      /**\n       * Reward ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Reward name. */\n      name?: string;\n      /**\n       * Amount of points required to receive the reward.\n       * @internal\n       * @deprecated Amount of points required to receive the reward.\n       * @replacedBy type_details\n       * @targetRemovalDate 2024-06-01\n       */\n      requiredPoints?: number;\n      /** Whether the reward is active. Default: `FALSE` */\n      active?: boolean;\n      /** Reward type. */\n      type?: RewardType;\n      /**\n       * Revision number, which increments by 1 each time the loyalty reward is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty reward.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the reward was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the reward was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /**\n   * Deletes a reward.\n   * @param _id - ID of the reward to delete.\n   * @param revision - Revision number, which increments by 1 each time the reward is updated.\n   *\n   * To prevent conflicting changes, the current `revision` must be passed when deleting the reward.\n   * @public\n   * @requiredField _id\n   * @requiredField revision\n   * @permissionId LOYALTY.MANAGE_REWARDS\n   * @adminMethod\n   */\n  function deleteReward(_id: string, revision: string): Promise<void>;\n  /**\n   * Retrieves a list of rewards.\n   *\n   * The list includes rewards that are currently nonredeemable due to insufficient points held by any customers.\n   * @public\n   * @param options - List options.\n   * @permissionId LOYALTY.READ_REWARDS\n   */\n  function listRewards(options?: ListRewardsOptions): Promise<ListRewardsResponse>;\n  interface ListRewardsOptions {\n      /** Pagination options. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Whether rewards are being listed for \"redemption\" purposes, i.e. from checkout-exchange.\n       * If value is true - existing SPI implementors will be called to fetch Custom Rewards for current user.\n       * @internal\n       */\n      redemptionContext?: boolean | null;\n  }\n  /**\n   * Retrieves a list of rewards in a given tier.\n   *\n   * Filters out rewards that don't have configuration in a given tier.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId LOYALTY.READ_REWARDS\n   */\n  function listRewardsInTier(options?: ListRewardsInTierOptions): Promise<ListRewardsInTierResponse>;\n  interface ListRewardsInTierOptions {\n      /**\n       * Tier id.\n       * @readonly\n       */\n      tierId?: string | null;\n      /** Pagination options. */\n      cursorPaging?: CursorPaging;\n  }\n  \n  type loyaltyV1Reward_universal_d_Reward = Reward;\n  type loyaltyV1Reward_universal_d_RewardTypeDetailsOneOf = RewardTypeDetailsOneOf;\n  type loyaltyV1Reward_universal_d_RewardType = RewardType;\n  const loyaltyV1Reward_universal_d_RewardType: typeof RewardType;\n  type loyaltyV1Reward_universal_d_DiscountAmount = DiscountAmount;\n  type loyaltyV1Reward_universal_d_DiscountAmountConfig = DiscountAmountConfig;\n  type loyaltyV1Reward_universal_d_CouponReward = CouponReward;\n  type loyaltyV1Reward_universal_d_CouponRewardDiscountTypeOneOf = CouponRewardDiscountTypeOneOf;\n  type loyaltyV1Reward_universal_d_CouponRewardScopeOrMinSubtotalOneOf = CouponRewardScopeOrMinSubtotalOneOf;\n  type loyaltyV1Reward_universal_d_FixedAmountDiscount = FixedAmountDiscount;\n  type loyaltyV1Reward_universal_d_FixedAmountDiscountConfig = FixedAmountDiscountConfig;\n  type loyaltyV1Reward_universal_d_PercentageDiscount = PercentageDiscount;\n  type loyaltyV1Reward_universal_d_PercentageDiscountConfig = PercentageDiscountConfig;\n  type loyaltyV1Reward_universal_d_FreeShippingDiscount = FreeShippingDiscount;\n  type loyaltyV1Reward_universal_d_FreeShippingDiscountConfig = FreeShippingDiscountConfig;\n  type loyaltyV1Reward_universal_d_CouponScope = CouponScope;\n  type loyaltyV1Reward_universal_d_Group = Group;\n  type loyaltyV1Reward_universal_d_SpiDiscountAmount = SpiDiscountAmount;\n  type loyaltyV1Reward_universal_d_RewardDisabled = RewardDisabled;\n  type loyaltyV1Reward_universal_d_CreateRewardRequest = CreateRewardRequest;\n  type loyaltyV1Reward_universal_d_CreateRewardResponse = CreateRewardResponse;\n  type loyaltyV1Reward_universal_d_BulkCreateRewardsRequest = BulkCreateRewardsRequest;\n  type loyaltyV1Reward_universal_d_BulkCreateRewardsResponse = BulkCreateRewardsResponse;\n  type loyaltyV1Reward_universal_d_BulkRewardResult = BulkRewardResult;\n  type loyaltyV1Reward_universal_d_GetRewardRequest = GetRewardRequest;\n  type loyaltyV1Reward_universal_d_GetRewardResponse = GetRewardResponse;\n  type loyaltyV1Reward_universal_d_BulkGetRewardsRequest = BulkGetRewardsRequest;\n  type loyaltyV1Reward_universal_d_BulkGetRewardsResponse = BulkGetRewardsResponse;\n  type loyaltyV1Reward_universal_d_RewardsInSite = RewardsInSite;\n  type loyaltyV1Reward_universal_d_QueryRewardsRequest = QueryRewardsRequest;\n  type loyaltyV1Reward_universal_d_CursorQuery = CursorQuery;\n  type loyaltyV1Reward_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type loyaltyV1Reward_universal_d_Sorting = Sorting;\n  type loyaltyV1Reward_universal_d_SortOrder = SortOrder;\n  const loyaltyV1Reward_universal_d_SortOrder: typeof SortOrder;\n  type loyaltyV1Reward_universal_d_CursorPaging = CursorPaging;\n  type loyaltyV1Reward_universal_d_QueryRewardsResponse = QueryRewardsResponse;\n  type loyaltyV1Reward_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type loyaltyV1Reward_universal_d_Cursors = Cursors;\n  type loyaltyV1Reward_universal_d_UpdateRewardRequest = UpdateRewardRequest;\n  type loyaltyV1Reward_universal_d_UpdateRewardResponse = UpdateRewardResponse;\n  type loyaltyV1Reward_universal_d_DeleteRewardRequest = DeleteRewardRequest;\n  type loyaltyV1Reward_universal_d_DeleteRewardResponse = DeleteRewardResponse;\n  type loyaltyV1Reward_universal_d_ListRewardsRequest = ListRewardsRequest;\n  type loyaltyV1Reward_universal_d_ListRewardsResponse = ListRewardsResponse;\n  type loyaltyV1Reward_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type loyaltyV1Reward_universal_d_ListRewardsInTierRequest = ListRewardsInTierRequest;\n  type loyaltyV1Reward_universal_d_ListRewardsInTierResponse = ListRewardsInTierResponse;\n  const loyaltyV1Reward_universal_d_createReward: typeof createReward;\n  const loyaltyV1Reward_universal_d_bulkCreateRewards: typeof bulkCreateRewards;\n  const loyaltyV1Reward_universal_d_getReward: typeof getReward;\n  const loyaltyV1Reward_universal_d_bulkGetRewards: typeof bulkGetRewards;\n  const loyaltyV1Reward_universal_d_queryRewards: typeof queryRewards;\n  const loyaltyV1Reward_universal_d_updateReward: typeof updateReward;\n  type loyaltyV1Reward_universal_d_UpdateReward = UpdateReward;\n  const loyaltyV1Reward_universal_d_deleteReward: typeof deleteReward;\n  const loyaltyV1Reward_universal_d_listRewards: typeof listRewards;\n  type loyaltyV1Reward_universal_d_ListRewardsOptions = ListRewardsOptions;\n  const loyaltyV1Reward_universal_d_listRewardsInTier: typeof listRewardsInTier;\n  type loyaltyV1Reward_universal_d_ListRewardsInTierOptions = ListRewardsInTierOptions;\n  namespace loyaltyV1Reward_universal_d {\n    export {\n      loyaltyV1Reward_universal_d_Reward as Reward,\n      loyaltyV1Reward_universal_d_RewardTypeDetailsOneOf as RewardTypeDetailsOneOf,\n      loyaltyV1Reward_universal_d_RewardType as RewardType,\n      loyaltyV1Reward_universal_d_DiscountAmount as DiscountAmount,\n      loyaltyV1Reward_universal_d_DiscountAmountConfig as DiscountAmountConfig,\n      loyaltyV1Reward_universal_d_CouponReward as CouponReward,\n      loyaltyV1Reward_universal_d_CouponRewardDiscountTypeOneOf as CouponRewardDiscountTypeOneOf,\n      loyaltyV1Reward_universal_d_CouponRewardScopeOrMinSubtotalOneOf as CouponRewardScopeOrMinSubtotalOneOf,\n      loyaltyV1Reward_universal_d_FixedAmountDiscount as FixedAmountDiscount,\n      loyaltyV1Reward_universal_d_FixedAmountDiscountConfig as FixedAmountDiscountConfig,\n      loyaltyV1Reward_universal_d_PercentageDiscount as PercentageDiscount,\n      loyaltyV1Reward_universal_d_PercentageDiscountConfig as PercentageDiscountConfig,\n      loyaltyV1Reward_universal_d_FreeShippingDiscount as FreeShippingDiscount,\n      loyaltyV1Reward_universal_d_FreeShippingDiscountConfig as FreeShippingDiscountConfig,\n      loyaltyV1Reward_universal_d_CouponScope as CouponScope,\n      loyaltyV1Reward_universal_d_Group as Group,\n      loyaltyV1Reward_universal_d_SpiDiscountAmount as SpiDiscountAmount,\n      loyaltyV1Reward_universal_d_RewardDisabled as RewardDisabled,\n      loyaltyV1Reward_universal_d_CreateRewardRequest as CreateRewardRequest,\n      loyaltyV1Reward_universal_d_CreateRewardResponse as CreateRewardResponse,\n      loyaltyV1Reward_universal_d_BulkCreateRewardsRequest as BulkCreateRewardsRequest,\n      loyaltyV1Reward_universal_d_BulkCreateRewardsResponse as BulkCreateRewardsResponse,\n      loyaltyV1Reward_universal_d_BulkRewardResult as BulkRewardResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      loyaltyV1Reward_universal_d_GetRewardRequest as GetRewardRequest,\n      loyaltyV1Reward_universal_d_GetRewardResponse as GetRewardResponse,\n      loyaltyV1Reward_universal_d_BulkGetRewardsRequest as BulkGetRewardsRequest,\n      loyaltyV1Reward_universal_d_BulkGetRewardsResponse as BulkGetRewardsResponse,\n      loyaltyV1Reward_universal_d_RewardsInSite as RewardsInSite,\n      loyaltyV1Reward_universal_d_QueryRewardsRequest as QueryRewardsRequest,\n      loyaltyV1Reward_universal_d_CursorQuery as CursorQuery,\n      loyaltyV1Reward_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      loyaltyV1Reward_universal_d_Sorting as Sorting,\n      loyaltyV1Reward_universal_d_SortOrder as SortOrder,\n      loyaltyV1Reward_universal_d_CursorPaging as CursorPaging,\n      loyaltyV1Reward_universal_d_QueryRewardsResponse as QueryRewardsResponse,\n      loyaltyV1Reward_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      loyaltyV1Reward_universal_d_Cursors as Cursors,\n      loyaltyV1Reward_universal_d_UpdateRewardRequest as UpdateRewardRequest,\n      loyaltyV1Reward_universal_d_UpdateRewardResponse as UpdateRewardResponse,\n      loyaltyV1Reward_universal_d_DeleteRewardRequest as DeleteRewardRequest,\n      loyaltyV1Reward_universal_d_DeleteRewardResponse as DeleteRewardResponse,\n      loyaltyV1Reward_universal_d_ListRewardsRequest as ListRewardsRequest,\n      loyaltyV1Reward_universal_d_ListRewardsResponse as ListRewardsResponse,\n      loyaltyV1Reward_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      loyaltyV1Reward_universal_d_ListRewardsInTierRequest as ListRewardsInTierRequest,\n      loyaltyV1Reward_universal_d_ListRewardsInTierResponse as ListRewardsInTierResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      Empty$1 as Empty,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      loyaltyV1Reward_universal_d_createReward as createReward,\n      loyaltyV1Reward_universal_d_bulkCreateRewards as bulkCreateRewards,\n      loyaltyV1Reward_universal_d_getReward as getReward,\n      loyaltyV1Reward_universal_d_bulkGetRewards as bulkGetRewards,\n      loyaltyV1Reward_universal_d_queryRewards as queryRewards,\n      loyaltyV1Reward_universal_d_updateReward as updateReward,\n      loyaltyV1Reward_universal_d_UpdateReward as UpdateReward,\n      loyaltyV1Reward_universal_d_deleteReward as deleteReward,\n      loyaltyV1Reward_universal_d_listRewards as listRewards,\n      loyaltyV1Reward_universal_d_ListRewardsOptions as ListRewardsOptions,\n      loyaltyV1Reward_universal_d_listRewardsInTier as listRewardsInTier,\n      loyaltyV1Reward_universal_d_ListRewardsInTierOptions as ListRewardsInTierOptions,\n    };\n  }\n  \n  /**\n   * A tier is a loyalty level that customers are assigned to based on the amount of points they earn.\n   * Read more about loyalty tiers [here](https://support.wix.com/en/article/about-tiers).\n   */\n  interface Tier {\n      /**\n       * Tier ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Information about the tier. */\n      tierDefinition?: TierDefinition;\n      /** The amount of points required to be in this tier. */\n      requiredPoints?: number;\n      /**\n       * Revision number, which increments by 1 each time the loyalty tier is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty tier.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tier was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the tier was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /** Information about the tier. */\n  interface TierDefinition {\n      /** Details about the tier icon. */\n      icon?: string;\n      /** Tier name. */\n      name?: string | null;\n      /** Tier description. */\n      description?: string | null;\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface TiersProgramSettingsChanged {\n      /** Settings for the tiers program. */\n      programSettings?: TiersProgramSettings;\n  }\n  /** There can be single TiersSettings per site and it's global (i.e. applies to all program's tiers) */\n  interface TiersProgramSettings extends TiersProgramSettingsPeriodOneOf {\n      /**\n       * *Required.**\n       * Period of time used to calculate loyalty points for tier assignment.\n       *\n       * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n       */\n      rollingWindow?: RollingWindow;\n      /** Tiers program status. */\n      status?: Status;\n      /**\n       * Revision number, which increments by 1 each time the loyalty tiers settings are updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty tiers settings.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the loyalty tiers program was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the loyalty tiers program was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Information about the base loyalty tier.\n       *\n       * The base tier is the default tier for any account that is unassigned for not meeting\n       * the required points threshold of any other tier.\n       */\n      baseTierDefinition?: TierDefinition;\n  }\n  /** @oneof */\n  interface TiersProgramSettingsPeriodOneOf {\n      /**\n       * *Required.**\n       * Period of time used to calculate loyalty points for tier assignment.\n       *\n       * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n       */\n      rollingWindow?: RollingWindow;\n  }\n  enum Status {\n      /** Unknown status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Tiers are disabled. */\n      DISABLED = \"DISABLED\",\n      /** Tiers are enabled but not yet active. */\n      DRAFT = \"DRAFT\",\n      /** Tiers are active. */\n      ACTIVE = \"ACTIVE\",\n      /** Tiers are paused. */\n      PAUSED = \"PAUSED\"\n  }\n  /**\n   * *Required.** Period of time used to calculate loyalty points for tier assignment.\n   *\n   * The loyalty points accumulated during this period determine if the account meets a tier's required point threshold.\n   */\n  interface RollingWindow {\n      /**\n       * Number of months to use for the rolling window period.\n       *\n       * Min: `12`\n       *\n       * Max: `36`\n       */\n      durationInMonths?: number;\n  }\n  interface TiersRollingUpdate {\n  }\n  interface CreateTierRequest {\n      /** Tier to create. */\n      tier: Tier;\n  }\n  interface CreateTierResponse {\n      /** Created loyalty tier. */\n      tier?: Tier;\n  }\n  interface BulkCreateTiersRequest {\n      /** Tiers to create. */\n      tiers?: Tier[];\n  }\n  interface BulkCreateTiersResponse {\n      /** Created tiers. */\n      results?: BulkTierResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  /** Retrieved tiers. */\n  interface BulkTierResult {\n      /** Individual tier metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Individual tier information. */\n      item?: Tier;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetTierRequest {\n      /** ID of the tier to retrieve. */\n      tierId: string;\n  }\n  interface GetTierResponse {\n      /** Retrieved loyalty tier. */\n      tier?: Tier;\n  }\n  interface UpdateTierRequest {\n      /** Tier details to update. */\n      tier: Tier;\n  }\n  interface UpdateTierResponse {\n      /** Updated loyalty tier. */\n      tier?: Tier;\n  }\n  interface TierRequiredPointsChanged {\n      /** Tier. */\n      tier?: Tier;\n  }\n  interface DeleteTierRequest {\n      /** ID of the tier to delete. */\n      tierId: string;\n      /** Current `revision` of the tier to delete. */\n      revision?: string;\n  }\n  interface DeleteTierResponse {\n  }\n  interface ListTiersRequest {\n  }\n  interface ListTiersResponse {\n      /** Retrieved loyalty tiers. */\n      tiers?: Tier[];\n  }\n  interface CreateTiersProgramSettingsRequest {\n      /** Tiers program settings. */\n      programSettings: TiersProgramSettings;\n  }\n  interface CreateTiersProgramSettingsResponse {\n      /** Created tiers program settings. */\n      programSettings?: TiersProgramSettings;\n  }\n  interface GetTiersProgramRequest {\n  }\n  interface GetTiersProgramResponse {\n      /** Tiers. */\n      tiers?: Tier[];\n      /** Tiers program settings. */\n      programSettings?: TiersProgramSettings;\n  }\n  interface GetTiersProgramSettingsRequest {\n  }\n  interface GetTiersProgramSettingsResponse {\n      /** Tiers program settings. */\n      programSettings?: TiersProgramSettings;\n  }\n  interface UpdateTiersProgramSettingsRequest {\n      /** Settings for the tiers program. */\n      programSettings: TiersProgramSettings;\n  }\n  interface UpdateTiersProgramSettingsResponse {\n      /** Updated program settings. */\n      programSettings?: TiersProgramSettings;\n  }\n  interface RecalculateAllTiersRequest {\n  }\n  interface RecalculateAllTiersResponse {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface Empty {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a tier.\n   *\n   * The name for a tier and the amount of required points to qualify for a tier can only exist for a single tier.\n   * Attempts to create a tier with a `tierDefinition.name` or `requiredPoints` that already exists will return an error.\n   *\n   * To create up to 20 tiers at once, use [`bulkCreateTiers()`](#bulkcreatetiers).\n   *\n   * >**Note:** You must have a [Business VIP Premium plan](https://support.wix.com/en/article/business-vip-premium-plan-overview) or a [Scale Premium plan](https://support.wix.com/en/article/editor-x-scale-premium-plan-overview) to add tiers.\n   * @param tier - Tier to create.\n   * @public\n   * @requiredField tier\n   * @permissionId LOYALTY.MANAGE_TIERS\n   * @adminMethod\n   * @returns Created loyalty tier.\n   */\n  function createTier(tier: Tier): Promise<Tier>;\n  /**\n   * Creates up to 20 tiers.\n   *\n   * The name for a tier and the amount of required points to qualify for a tier can only exist for a single tier.\n   * Attempts to create a tier with a `tierDefinition.name` or `requiredPoints` that already exists will return an error.\n   *\n   * To create a single tier, use [`createTier()`](#createtier).\n   *\n   * >**Note:** You must have a [Business VIP Premium plan](https://support.wix.com/en/article/business-vip-premium-plan-overview) or a [Scale Premium plan](https://support.wix.com/en/article/editor-x-scale-premium-plan-overview) to add tiers.\n   * @param tiers - Tiers to create.\n   * @public\n   * @requiredField tiers\n   * @permissionId LOYALTY.MANAGE_TIERS\n   * @adminMethod\n   */\n  function bulkCreateTiers(tiers: Tier[]): Promise<BulkCreateTiersResponse>;\n  /**\n   * Retrieves a loyalty tier.\n   *\n   * To retrieve a list of all of a site's tiers, use [`listTiers()`](#listtiers).\n   * @param tierId - ID of the tier to retrieve.\n   * @public\n   * @requiredField tierId\n   * @permissionId LOYALTY.READ_TIERS\n   * @returns Retrieved loyalty tier.\n   */\n  function getTier(tierId: string): Promise<Tier>;\n  /**\n   * Updates a loyalty tier.\n   *\n   * Use this endpoint to update tier-specific settings, such as the name and the required points\n   * threshold of an individual loyalty tier. To update global settings that apply to all of a site's loyalty tiers,\n   * use [`updateTiersProgramSettings()`](#updatetiersprogramsettings).\n   * @param _id - Tier ID.\n   * @public\n   * @requiredField _id\n   * @requiredField tier\n   * @requiredField tier.revision\n   * @param tier - Tier info to update.\n   * @permissionId LOYALTY.MANAGE_TIERS\n   * @adminMethod\n   * @returns Updated loyalty tier.\n   */\n  function updateTier(_id: string | null, tier: UpdateTier): Promise<Tier>;\n  interface UpdateTier {\n      /**\n       * Tier ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Information about the tier. */\n      tierDefinition?: TierDefinition;\n      /** The amount of points required to be in this tier. */\n      requiredPoints?: number;\n      /**\n       * Revision number, which increments by 1 each time the loyalty tier is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the loyalty tier.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tier was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the tier was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /**\n   * Deletes a loyalty tier.\n   * @param tierId - ID of the tier to delete.\n   * @param revision - Current `revision` of the tier to delete.\n   * @public\n   * @requiredField revision\n   * @requiredField tierId\n   * @permissionId LOYALTY.MANAGE_TIERS\n   * @adminMethod\n   */\n  function deleteTier(tierId: string, revision: string): Promise<void>;\n  /**\n   * Retrieves a list of a site's tiers.\n   *\n   * To retrieve a specific tier, use [`getTier()`](#gettier).\n   * @public\n   * @permissionId LOYALTY.READ_TIERS\n   */\n  function listTiers(): Promise<ListTiersResponse>;\n  /**\n   * Create tiers program settings.\n   *\n   * Tiers program settings apply globally to all tiers in the program.\n   * @param programSettings - Tiers program settings.\n   * @public\n   * @requiredField programSettings\n   * @permissionId LOYALTY.MANAGE_TIERS\n   * @adminMethod\n   */\n  function createTiersProgramSettings(programSettings: TiersProgramSettings): Promise<CreateTiersProgramSettingsResponse>;\n  /**\n   * Returns `Tiers` and `ProgramSettings` in a single response.\n   *\n   * If `TiersProgramSettings` doesn't exist, default `TiersProgramSettings` are created.\n   * @public\n   * @permissionId LOYALTY.READ_TIERS\n   */\n  function getTiersProgram(): Promise<GetTiersProgramResponse>;\n  /**\n   * Retrieves the settings for the tiers program.\n   *\n   * Tiers program settings apply globally to all tiers in the program.\n   * @public\n   * @permissionId LOYALTY.READ_TIERS\n   */\n  function getTiersProgramSettings(): Promise<GetTiersProgramSettingsResponse>;\n  /**\n   * Updates the global settings of a loyalty tier program.\n   *\n   * Use this endpoint to update settings that apply to all of a site's loyalty tiers.\n   * To update tier-specific settings for an individual tier, use\n   * [`updateTier()`](#updatetier).\n   *\n   * By default, the `status` of a tiers program is set to `\"DISABLED\"` and must be manually updated to `\"ACTIVE\"` using\n   * this endpoint or through a site owner's [dashboard](https://manage.wix.com/account/site-selector/?actionUrl=https%3A%2F%2Fwww.wix.com%2Fdashboard%2F%7BmetaSiteId%7D%2Floyalty-accounts%2Fmanage%3Ftab%3Dpoints-and-rewards&title=Select+a+Site&primaryButtonText=Select+Site).\n   *\n   * >**Note:** The `status`, `revision`, and `rollingWindow` parameters must be passed to update the tiers program settings. The `baseTierDefinition` fields are not required, however, if you don't pass them they will reset to their default values of empty fields.\n   * @param programSettings - Settings for the tiers program.\n   * @public\n   * @requiredField programSettings\n   * @requiredField programSettings.revision\n   * @requiredField programSettings.status\n   * @permissionId LOYALTY.MANAGE_TIERS\n   * @adminMethod\n   */\n  function updateTiersProgramSettings(programSettings: TiersProgramSettings): Promise<UpdateTiersProgramSettingsResponse>;\n  \n  type loyaltyV1Tier_universal_d_Tier = Tier;\n  type loyaltyV1Tier_universal_d_TierDefinition = TierDefinition;\n  type loyaltyV1Tier_universal_d_FocalPoint = FocalPoint;\n  type loyaltyV1Tier_universal_d_TiersProgramSettingsChanged = TiersProgramSettingsChanged;\n  type loyaltyV1Tier_universal_d_TiersProgramSettings = TiersProgramSettings;\n  type loyaltyV1Tier_universal_d_TiersProgramSettingsPeriodOneOf = TiersProgramSettingsPeriodOneOf;\n  type loyaltyV1Tier_universal_d_Status = Status;\n  const loyaltyV1Tier_universal_d_Status: typeof Status;\n  type loyaltyV1Tier_universal_d_RollingWindow = RollingWindow;\n  type loyaltyV1Tier_universal_d_TiersRollingUpdate = TiersRollingUpdate;\n  type loyaltyV1Tier_universal_d_CreateTierRequest = CreateTierRequest;\n  type loyaltyV1Tier_universal_d_CreateTierResponse = CreateTierResponse;\n  type loyaltyV1Tier_universal_d_BulkCreateTiersRequest = BulkCreateTiersRequest;\n  type loyaltyV1Tier_universal_d_BulkCreateTiersResponse = BulkCreateTiersResponse;\n  type loyaltyV1Tier_universal_d_BulkTierResult = BulkTierResult;\n  type loyaltyV1Tier_universal_d_ItemMetadata = ItemMetadata;\n  type loyaltyV1Tier_universal_d_ApplicationError = ApplicationError;\n  type loyaltyV1Tier_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type loyaltyV1Tier_universal_d_GetTierRequest = GetTierRequest;\n  type loyaltyV1Tier_universal_d_GetTierResponse = GetTierResponse;\n  type loyaltyV1Tier_universal_d_UpdateTierRequest = UpdateTierRequest;\n  type loyaltyV1Tier_universal_d_UpdateTierResponse = UpdateTierResponse;\n  type loyaltyV1Tier_universal_d_TierRequiredPointsChanged = TierRequiredPointsChanged;\n  type loyaltyV1Tier_universal_d_DeleteTierRequest = DeleteTierRequest;\n  type loyaltyV1Tier_universal_d_DeleteTierResponse = DeleteTierResponse;\n  type loyaltyV1Tier_universal_d_ListTiersRequest = ListTiersRequest;\n  type loyaltyV1Tier_universal_d_ListTiersResponse = ListTiersResponse;\n  type loyaltyV1Tier_universal_d_CreateTiersProgramSettingsRequest = CreateTiersProgramSettingsRequest;\n  type loyaltyV1Tier_universal_d_CreateTiersProgramSettingsResponse = CreateTiersProgramSettingsResponse;\n  type loyaltyV1Tier_universal_d_GetTiersProgramRequest = GetTiersProgramRequest;\n  type loyaltyV1Tier_universal_d_GetTiersProgramResponse = GetTiersProgramResponse;\n  type loyaltyV1Tier_universal_d_GetTiersProgramSettingsRequest = GetTiersProgramSettingsRequest;\n  type loyaltyV1Tier_universal_d_GetTiersProgramSettingsResponse = GetTiersProgramSettingsResponse;\n  type loyaltyV1Tier_universal_d_UpdateTiersProgramSettingsRequest = UpdateTiersProgramSettingsRequest;\n  type loyaltyV1Tier_universal_d_UpdateTiersProgramSettingsResponse = UpdateTiersProgramSettingsResponse;\n  type loyaltyV1Tier_universal_d_RecalculateAllTiersRequest = RecalculateAllTiersRequest;\n  type loyaltyV1Tier_universal_d_RecalculateAllTiersResponse = RecalculateAllTiersResponse;\n  type loyaltyV1Tier_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type loyaltyV1Tier_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type loyaltyV1Tier_universal_d_Asset = Asset;\n  type loyaltyV1Tier_universal_d_State = State;\n  const loyaltyV1Tier_universal_d_State: typeof State;\n  type loyaltyV1Tier_universal_d_SiteCreated = SiteCreated;\n  type loyaltyV1Tier_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const loyaltyV1Tier_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type loyaltyV1Tier_universal_d_Namespace = Namespace;\n  const loyaltyV1Tier_universal_d_Namespace: typeof Namespace;\n  type loyaltyV1Tier_universal_d_SiteTransferred = SiteTransferred;\n  type loyaltyV1Tier_universal_d_SiteDeleted = SiteDeleted;\n  type loyaltyV1Tier_universal_d_DeleteContext = DeleteContext;\n  type loyaltyV1Tier_universal_d_DeleteStatus = DeleteStatus;\n  const loyaltyV1Tier_universal_d_DeleteStatus: typeof DeleteStatus;\n  type loyaltyV1Tier_universal_d_SiteUndeleted = SiteUndeleted;\n  type loyaltyV1Tier_universal_d_SitePublished = SitePublished;\n  type loyaltyV1Tier_universal_d_SiteUnpublished = SiteUnpublished;\n  type loyaltyV1Tier_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type loyaltyV1Tier_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type loyaltyV1Tier_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type loyaltyV1Tier_universal_d_ServiceRemoved = ServiceRemoved;\n  type loyaltyV1Tier_universal_d_SiteRenamed = SiteRenamed;\n  type loyaltyV1Tier_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type loyaltyV1Tier_universal_d_NamespaceChanged = NamespaceChanged;\n  type loyaltyV1Tier_universal_d_StudioAssigned = StudioAssigned;\n  type loyaltyV1Tier_universal_d_StudioUnassigned = StudioUnassigned;\n  type loyaltyV1Tier_universal_d_Empty = Empty;\n  type loyaltyV1Tier_universal_d_DomainEvent = DomainEvent;\n  type loyaltyV1Tier_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type loyaltyV1Tier_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type loyaltyV1Tier_universal_d_RestoreInfo = RestoreInfo;\n  type loyaltyV1Tier_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type loyaltyV1Tier_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type loyaltyV1Tier_universal_d_ActionEvent = ActionEvent;\n  type loyaltyV1Tier_universal_d_MessageEnvelope = MessageEnvelope;\n  type loyaltyV1Tier_universal_d_IdentificationData = IdentificationData;\n  type loyaltyV1Tier_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type loyaltyV1Tier_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const loyaltyV1Tier_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const loyaltyV1Tier_universal_d_createTier: typeof createTier;\n  const loyaltyV1Tier_universal_d_bulkCreateTiers: typeof bulkCreateTiers;\n  const loyaltyV1Tier_universal_d_getTier: typeof getTier;\n  const loyaltyV1Tier_universal_d_updateTier: typeof updateTier;\n  type loyaltyV1Tier_universal_d_UpdateTier = UpdateTier;\n  const loyaltyV1Tier_universal_d_deleteTier: typeof deleteTier;\n  const loyaltyV1Tier_universal_d_listTiers: typeof listTiers;\n  const loyaltyV1Tier_universal_d_createTiersProgramSettings: typeof createTiersProgramSettings;\n  const loyaltyV1Tier_universal_d_getTiersProgram: typeof getTiersProgram;\n  const loyaltyV1Tier_universal_d_getTiersProgramSettings: typeof getTiersProgramSettings;\n  const loyaltyV1Tier_universal_d_updateTiersProgramSettings: typeof updateTiersProgramSettings;\n  namespace loyaltyV1Tier_universal_d {\n    export {\n      loyaltyV1Tier_universal_d_Tier as Tier,\n      loyaltyV1Tier_universal_d_TierDefinition as TierDefinition,\n      loyaltyV1Tier_universal_d_FocalPoint as FocalPoint,\n      loyaltyV1Tier_universal_d_TiersProgramSettingsChanged as TiersProgramSettingsChanged,\n      loyaltyV1Tier_universal_d_TiersProgramSettings as TiersProgramSettings,\n      loyaltyV1Tier_universal_d_TiersProgramSettingsPeriodOneOf as TiersProgramSettingsPeriodOneOf,\n      loyaltyV1Tier_universal_d_Status as Status,\n      loyaltyV1Tier_universal_d_RollingWindow as RollingWindow,\n      loyaltyV1Tier_universal_d_TiersRollingUpdate as TiersRollingUpdate,\n      loyaltyV1Tier_universal_d_CreateTierRequest as CreateTierRequest,\n      loyaltyV1Tier_universal_d_CreateTierResponse as CreateTierResponse,\n      loyaltyV1Tier_universal_d_BulkCreateTiersRequest as BulkCreateTiersRequest,\n      loyaltyV1Tier_universal_d_BulkCreateTiersResponse as BulkCreateTiersResponse,\n      loyaltyV1Tier_universal_d_BulkTierResult as BulkTierResult,\n      loyaltyV1Tier_universal_d_ItemMetadata as ItemMetadata,\n      loyaltyV1Tier_universal_d_ApplicationError as ApplicationError,\n      loyaltyV1Tier_universal_d_BulkActionMetadata as BulkActionMetadata,\n      loyaltyV1Tier_universal_d_GetTierRequest as GetTierRequest,\n      loyaltyV1Tier_universal_d_GetTierResponse as GetTierResponse,\n      loyaltyV1Tier_universal_d_UpdateTierRequest as UpdateTierRequest,\n      loyaltyV1Tier_universal_d_UpdateTierResponse as UpdateTierResponse,\n      loyaltyV1Tier_universal_d_TierRequiredPointsChanged as TierRequiredPointsChanged,\n      loyaltyV1Tier_universal_d_DeleteTierRequest as DeleteTierRequest,\n      loyaltyV1Tier_universal_d_DeleteTierResponse as DeleteTierResponse,\n      loyaltyV1Tier_universal_d_ListTiersRequest as ListTiersRequest,\n      loyaltyV1Tier_universal_d_ListTiersResponse as ListTiersResponse,\n      loyaltyV1Tier_universal_d_CreateTiersProgramSettingsRequest as CreateTiersProgramSettingsRequest,\n      loyaltyV1Tier_universal_d_CreateTiersProgramSettingsResponse as CreateTiersProgramSettingsResponse,\n      loyaltyV1Tier_universal_d_GetTiersProgramRequest as GetTiersProgramRequest,\n      loyaltyV1Tier_universal_d_GetTiersProgramResponse as GetTiersProgramResponse,\n      loyaltyV1Tier_universal_d_GetTiersProgramSettingsRequest as GetTiersProgramSettingsRequest,\n      loyaltyV1Tier_universal_d_GetTiersProgramSettingsResponse as GetTiersProgramSettingsResponse,\n      loyaltyV1Tier_universal_d_UpdateTiersProgramSettingsRequest as UpdateTiersProgramSettingsRequest,\n      loyaltyV1Tier_universal_d_UpdateTiersProgramSettingsResponse as UpdateTiersProgramSettingsResponse,\n      loyaltyV1Tier_universal_d_RecalculateAllTiersRequest as RecalculateAllTiersRequest,\n      loyaltyV1Tier_universal_d_RecalculateAllTiersResponse as RecalculateAllTiersResponse,\n      loyaltyV1Tier_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      loyaltyV1Tier_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      loyaltyV1Tier_universal_d_Asset as Asset,\n      loyaltyV1Tier_universal_d_State as State,\n      loyaltyV1Tier_universal_d_SiteCreated as SiteCreated,\n      loyaltyV1Tier_universal_d_SiteCreatedContext as SiteCreatedContext,\n      loyaltyV1Tier_universal_d_Namespace as Namespace,\n      loyaltyV1Tier_universal_d_SiteTransferred as SiteTransferred,\n      loyaltyV1Tier_universal_d_SiteDeleted as SiteDeleted,\n      loyaltyV1Tier_universal_d_DeleteContext as DeleteContext,\n      loyaltyV1Tier_universal_d_DeleteStatus as DeleteStatus,\n      loyaltyV1Tier_universal_d_SiteUndeleted as SiteUndeleted,\n      loyaltyV1Tier_universal_d_SitePublished as SitePublished,\n      loyaltyV1Tier_universal_d_SiteUnpublished as SiteUnpublished,\n      loyaltyV1Tier_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      loyaltyV1Tier_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      loyaltyV1Tier_universal_d_ServiceProvisioned as ServiceProvisioned,\n      loyaltyV1Tier_universal_d_ServiceRemoved as ServiceRemoved,\n      loyaltyV1Tier_universal_d_SiteRenamed as SiteRenamed,\n      loyaltyV1Tier_universal_d_SiteHardDeleted as SiteHardDeleted,\n      loyaltyV1Tier_universal_d_NamespaceChanged as NamespaceChanged,\n      loyaltyV1Tier_universal_d_StudioAssigned as StudioAssigned,\n      loyaltyV1Tier_universal_d_StudioUnassigned as StudioUnassigned,\n      loyaltyV1Tier_universal_d_Empty as Empty,\n      loyaltyV1Tier_universal_d_DomainEvent as DomainEvent,\n      loyaltyV1Tier_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      loyaltyV1Tier_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      loyaltyV1Tier_universal_d_RestoreInfo as RestoreInfo,\n      loyaltyV1Tier_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      loyaltyV1Tier_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      loyaltyV1Tier_universal_d_ActionEvent as ActionEvent,\n      loyaltyV1Tier_universal_d_MessageEnvelope as MessageEnvelope,\n      loyaltyV1Tier_universal_d_IdentificationData as IdentificationData,\n      loyaltyV1Tier_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      loyaltyV1Tier_universal_d_WebhookIdentityType as WebhookIdentityType,\n      loyaltyV1Tier_universal_d_createTier as createTier,\n      loyaltyV1Tier_universal_d_bulkCreateTiers as bulkCreateTiers,\n      loyaltyV1Tier_universal_d_getTier as getTier,\n      loyaltyV1Tier_universal_d_updateTier as updateTier,\n      loyaltyV1Tier_universal_d_UpdateTier as UpdateTier,\n      loyaltyV1Tier_universal_d_deleteTier as deleteTier,\n      loyaltyV1Tier_universal_d_listTiers as listTiers,\n      loyaltyV1Tier_universal_d_createTiersProgramSettings as createTiersProgramSettings,\n      loyaltyV1Tier_universal_d_getTiersProgram as getTiersProgram,\n      loyaltyV1Tier_universal_d_getTiersProgramSettings as getTiersProgramSettings,\n      loyaltyV1Tier_universal_d_updateTiersProgramSettings as updateTiersProgramSettings,\n    };\n  }\n  \n  export { loyaltyV1Account_universal_d as accounts, loyaltyCheckoutexchangeV1LoyaltyCheckoutDiscount_universal_d as checkoutExchange, loyaltyV1Coupon_universal_d as coupons, loyaltyV1LoyaltyEarningRule_universal_d as earningRules, loyaltyImportsV1LoyaltyImport_universal_d as imports, loyaltyV1Program_universal_d as programs, loyaltyV1Reward_universal_d as rewards, loyaltySocialmediaV1FollowedChannel_universal_d as socialMedia, loyaltyV1Tier_universal_d as tiers, loyaltyTransactionV1LoyaltyTransaction_universal_d as transactions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-business-tools.v2.d.ts",
      "content": "declare module \"wix-business-tools.v2\" {\n  interface Location {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string;\n      /** Location description. */\n      description?: string | null;\n      /**\n       * Whether this is the default location. There can only be one default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Location status. Defaults to `ACTIVE`.\n       * __Notes:__\n       * - [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect the location's status.\n       * - `INACTIVE` status is currently not supported.\n       */\n      status?: LocationStatus;\n      /**\n       * Location type.\n       *\n       * **Note:** Currently not supported.\n       * @deprecated\n       */\n      locationType?: LocationType;\n      /** Fax number. */\n      fax?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Address. */\n      address?: Address$1;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$1;\n      /**\n       * Revision number, which increments by 1 each time the location is updated.\n       * To prevent conflicting changes, the existing revision must be used when updating a location.\n       */\n      revision?: string | null;\n      /**\n       * Whether the location is archived. Archived locations can't be updated.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect its `status`.\n       * @readonly\n       */\n      archived?: boolean;\n      /** Location types. */\n      locationTypes?: LocationType[];\n  }\n  /** For future use */\n  enum LocationStatus {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  /** For future use */\n  enum LocationType {\n      UNKNOWN = \"UNKNOWN\",\n      BRANCH = \"BRANCH\",\n      OFFICES = \"OFFICES\",\n      RECEPTION = \"RECEPTION\",\n      HEADQUARTERS = \"HEADQUARTERS\",\n      INVENTORY = \"INVENTORY\"\n  }\n  interface Address$1 {\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. Includes street name, number, and apartment number in separate fields. */\n      streetAddress?: StreetAddress;\n      /** Full address of the location. */\n      formatted?: string | null;\n      /** Geographic coordinates of location. */\n      location?: AddressLocation;\n  }\n  /** Street address. Includes street name, number, and apartment number in separate fields. */\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  /** Address Geolocation */\n  interface AddressLocation {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number | null;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number | null;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$1 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$1[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$1[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$1 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$1;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$1;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$1 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$1 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface CreateLocationRequest {\n      /** Location to create. */\n      location: Location;\n  }\n  interface CreateLocationResponse {\n      /** Created location. */\n      location?: Location;\n  }\n  interface BulkCreateLocationRequest {\n      /** Locations to create. */\n      locations: Location[];\n  }\n  interface BulkCreateLocationResponse {\n      /** Locations that were created. */\n      successfulLocations?: Location[];\n      /** Locations that failed. */\n      failedLocations?: FailedCreateLocation[];\n  }\n  interface FailedCreateLocation {\n      /** Location that couldn't be created. */\n      location?: Location;\n      /** Error message. */\n      errorMessage?: string;\n  }\n  interface GetLocationRequest {\n      /** ID of the location to retrieve. */\n      _id: string;\n  }\n  interface GetLocationResponse {\n      /** Retrieved location. */\n      location?: Location;\n  }\n  interface ListLocationsRequest {\n      /** Sort order. */\n      sort?: Sorting;\n      /**\n       * Pagination.\n       *\n       * Default values:\n       * `offset`: 0\n       * `limit`: 50 (Max: 1000)\n       */\n      paging?: Paging;\n      /**\n       * Whether to include `archived` locations in the response.\n       *\n       * Default: `false`\n       */\n      includeArchived?: boolean;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /**\n       * Number of items to load.\n       *\n       * Default: `50`\n       *\n       * Max: `1000`\n       */\n      limit?: number | null;\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       * Default: `0`\n       */\n      offset?: number | null;\n  }\n  interface ListLocationsResponse {\n      /** Retrieved locations. */\n      locations?: Location[];\n      /** Paging info. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface UpdateLocationRequest {\n      /** Location to update. */\n      location: Location;\n  }\n  interface UpdateLocationResponse {\n      /** Updated location. */\n      location?: Location;\n  }\n  interface BulkUpdateLocationRequest {\n      /** Locations to update. */\n      locations: Location[];\n  }\n  interface BulkUpdateLocationResponse {\n      /** Locations that were updated. */\n      successfulLocations?: Location[];\n      /** Locations that failed. */\n      failedLocations?: FailedUpdateLocation[];\n  }\n  interface FailedUpdateLocation {\n      /** Location that couldn't be updated. */\n      _id?: string;\n      /** Error message. */\n      errorMessage?: string;\n  }\n  interface QueryLocationsRequest {\n      /** Information about the filters, sorting, and paging. */\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface QueryLocationsResponse {\n      /** Retrieved locations. */\n      locations?: Location[];\n      /** Paging info. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface SetDefaultLocationRequest {\n      /** ID of the location to set as the default location. */\n      _id: string;\n  }\n  interface SetDefaultLocationResponse {\n      /** New default location. */\n      location?: Location;\n  }\n  interface SetDefaultLocation {\n      /** Previous default location id. */\n      prevDefaultLocationId?: string;\n      /** Current default location id. */\n      currDefaultLocationId?: string;\n  }\n  interface ArchiveLocationRequest {\n      /** ID of the location to archive. */\n      _id: string;\n  }\n  interface ArchiveLocationResponse {\n      /** Archived location. */\n      location?: Location;\n  }\n  interface ArchiveLocation {\n      _id?: string;\n  }\n  interface AddLocationTypeRequest {\n      /** Location id to add type */\n      _id: string;\n      locationType: LocationType;\n  }\n  interface AddLocationTypeResponse {\n      /** Full location with the new type */\n      location?: Location;\n  }\n  interface RemoveLocationTypeRequest {\n      /** Location id to add type */\n      _id: string;\n      locationType: LocationType;\n  }\n  interface RemoveLocationTypeResponse {\n      /** Full location with the new type */\n      location?: Location;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a location.\n   * @param location - Location to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField location\n   * @requiredField location.address\n   * @requiredField location.name\n   * @requiredField location.timeZone\n   * @permissionId LOCATIONS.MANAGE\n   * @adminMethod\n   * @returns Created location.\n   */\n  function createLocation(location: Location): Promise<Location>;\n  /**\n   * Creates locations in bulk.\n   * @param locations - Locations to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField locations\n   * @permissionId LOCATIONS.MANAGE\n   * @adminMethod\n   */\n  function bulkCreateLocation(locations: Location[]): Promise<BulkCreateLocationResponse>;\n  /**\n   * Retrieves a location.\n   * @param _id - ID of the location to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId LOCATIONS.READ\n   * @adminMethod\n   * @returns Retrieved location.\n   */\n  function getLocation(_id: string): Promise<Location>;\n  /**\n   * Retrieves locations, given the specified filters, sorting, and paging.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when retrieving a list of locations.\n   * @permissionId LOCATIONS.READ\n   * @adminMethod\n   */\n  function listLocations(options?: ListLocationsOptions): Promise<ListLocationsResponse>;\n  interface ListLocationsOptions {\n      /** Sort order. */\n      sort?: Sorting;\n      /**\n       * Pagination.\n       *\n       * Default values:\n       * `offset`: 0\n       * `limit`: 50 (Max: 1000)\n       */\n      paging?: Paging;\n      /**\n       * Whether to include `archived` locations in the response.\n       *\n       * Default: `false`\n       */\n      includeArchived?: boolean;\n  }\n  /**\n   * Overrides an existing location.\n   *\n   *\n   * > **Note:** Currently, it isn't possible to partially update a location. Therefore, you'll need to pass the full location object in the body of the call.\n   * @param _id - Location ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField location\n   * @requiredField location.address\n   * @requiredField location.name\n   * @requiredField location.timeZone\n   * @param location - Updated location details.\n   * @permissionId LOCATIONS.MANAGE\n   * @adminMethod\n   * @returns Updated location.\n   */\n  function updateLocation(_id: string | null, location: UpdateLocation): Promise<Location>;\n  interface UpdateLocation {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string;\n      /** Location description. */\n      description?: string | null;\n      /**\n       * Whether this is the default location. There can only be one default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Location status. Defaults to `ACTIVE`.\n       * __Notes:__\n       * - [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect the location's status.\n       * - `INACTIVE` status is currently not supported.\n       */\n      status?: LocationStatus;\n      /**\n       * Location type.\n       *\n       * **Note:** Currently not supported.\n       * @deprecated\n       */\n      locationType?: LocationType;\n      /** Fax number. */\n      fax?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Address. */\n      address?: Address$1;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$1;\n      /**\n       * Revision number, which increments by 1 each time the location is updated.\n       * To prevent conflicting changes, the existing revision must be used when updating a location.\n       */\n      revision?: string | null;\n      /**\n       * Whether the location is archived. Archived locations can't be updated.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect its `status`.\n       * @readonly\n       */\n      archived?: boolean;\n      /** Location types. */\n      locationTypes?: LocationType[];\n  }\n  /**\n   * Replaces locations in bulk.\n   *\n   *\n   * > **Note:** Currently, it isn't possible to partially update a location. Therefore, you'll need to pass the full location object in the body of the call.\n   * @param locations - Locations to update.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField locations\n   * @permissionId LOCATIONS.MANAGE\n   * @adminMethod\n   */\n  function bulkUpdateLocation(locations: Location[]): Promise<BulkUpdateLocationResponse>;\n  /**\n   * Creates a query to retrieve a list of locations.\n   *\n   *\n   * The `queryLocations()` function builds a query to retrieve a list of up to 1,000 locations and returns a `LocationsQueryBuilder` object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `LocationsQueryBuilder` functions onto the query. `LocationsQueryBuilder` functions enable you to sort, filter, and control the results that `queryLocations()` returns. The functions that are chained to `queryLocations()` are applied in the order they are called.\n   *\n   * `queryLocations()` runs with the following `LocationsQueryBuilder` defaults that you can override:\n   * - `skip`: `0`\n   * - `limit`: `50`\n   *\n   * The following `QueryLocationsBuilder` functions are supported for the `queryLocations()` function. For a full description of the Locations object, see the object returned for the `items` property in `LocationsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when querying locations.\n   * @permissionId LOCATIONS.READ\n   * @adminMethod\n   */\n  function queryLocations(): LocationsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface LocationsQueryResult extends QueryOffsetResult {\n      items: Location[];\n      query: LocationsQueryBuilder;\n      next: () => Promise<LocationsQueryResult>;\n      prev: () => Promise<LocationsQueryResult>;\n  }\n  interface LocationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name' | 'description' | 'default' | 'status' | 'locationType' | 'fax' | 'timeZone' | 'email' | 'phone' | 'address.country' | 'address.subdivision' | 'address.city' | 'address.postalCode' | 'address.streetAddress.number' | 'address.streetAddress.name' | 'address.streetAddress.apt' | 'address.formattedAddress' | 'address.hint' | 'address.geocode.latitude' | 'address.geocode.longitude' | 'businessSchedule.periods.openDay' | 'businessSchedule.periods.openTime' | 'businessSchedule.periods.closeDay' | 'businessSchedule.periods.closeTime' | 'businessSchedule.specialHourPeriod.startDate' | 'businessSchedule.specialHourPeriod.endDate' | 'businessSchedule.specialHourPeriod.isClosed' | 'businessSchedule.specialHourPeriod.comment' | 'revision' | 'archived', value: any) => LocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name' | 'description' | 'default' | 'status' | 'locationType' | 'fax' | 'timeZone' | 'email' | 'phone' | 'address.country' | 'address.subdivision' | 'address.city' | 'address.postalCode' | 'address.streetAddress.number' | 'address.streetAddress.name' | 'address.streetAddress.apt' | 'address.formattedAddress' | 'address.hint' | 'address.geocode.latitude' | 'address.geocode.longitude' | 'businessSchedule.periods.openDay' | 'businessSchedule.periods.openTime' | 'businessSchedule.periods.closeDay' | 'businessSchedule.periods.closeTime' | 'businessSchedule.specialHourPeriod.startDate' | 'businessSchedule.specialHourPeriod.endDate' | 'businessSchedule.specialHourPeriod.isClosed' | 'businessSchedule.specialHourPeriod.comment' | 'revision' | 'archived', value: any) => LocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'address.geocode.latitude' | 'address.geocode.longitude' | 'revision', value: any) => LocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'address.geocode.latitude' | 'address.geocode.longitude' | 'revision', value: any) => LocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'address.geocode.latitude' | 'address.geocode.longitude' | 'revision', value: any) => LocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'address.geocode.latitude' | 'address.geocode.longitude' | 'revision', value: any) => LocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'description' | 'fax' | 'timeZone' | 'email' | 'phone' | 'address.country' | 'address.subdivision' | 'address.city' | 'address.postalCode' | 'address.streetAddress.number' | 'address.streetAddress.name' | 'address.streetAddress.apt' | 'address.formattedAddress' | 'address.hint' | 'businessSchedule.periods.openTime' | 'businessSchedule.periods.closeTime' | 'businessSchedule.specialHourPeriod.startDate' | 'businessSchedule.specialHourPeriod.endDate' | 'businessSchedule.specialHourPeriod.comment', value: string) => LocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'name' | 'description' | 'default' | 'status' | 'locationType' | 'fax' | 'timeZone' | 'email' | 'phone' | 'address.country' | 'address.subdivision' | 'address.city' | 'address.postalCode' | 'address.streetAddress.number' | 'address.streetAddress.name' | 'address.streetAddress.apt' | 'address.formattedAddress' | 'address.hint' | 'address.geocode.latitude' | 'address.geocode.longitude' | 'businessSchedule.periods.openDay' | 'businessSchedule.periods.openTime' | 'businessSchedule.periods.closeDay' | 'businessSchedule.periods.closeTime' | 'businessSchedule.specialHourPeriod.startDate' | 'businessSchedule.specialHourPeriod.endDate' | 'businessSchedule.specialHourPeriod.isClosed' | 'businessSchedule.specialHourPeriod.comment' | 'revision' | 'archived', value: any[]) => LocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | 'description' | 'default' | 'status' | 'locationType' | 'fax' | 'timeZone' | 'email' | 'phone' | 'address.country' | 'address.subdivision' | 'address.city' | 'address.postalCode' | 'address.streetAddress.number' | 'address.streetAddress.name' | 'address.streetAddress.apt' | 'address.formattedAddress' | 'address.hint' | 'address.geocode.latitude' | 'address.geocode.longitude' | 'businessSchedule.periods.openDay' | 'businessSchedule.periods.openTime' | 'businessSchedule.periods.closeDay' | 'businessSchedule.periods.closeTime' | 'businessSchedule.specialHourPeriod.startDate' | 'businessSchedule.specialHourPeriod.endDate' | 'businessSchedule.specialHourPeriod.isClosed' | 'businessSchedule.specialHourPeriod.comment' | 'revision' | 'archived', value: any) => LocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'name' | 'description' | 'default' | 'status' | 'locationType' | 'fax' | 'timeZone' | 'email' | 'phone' | 'address.country' | 'address.subdivision' | 'address.city' | 'address.postalCode' | 'address.streetAddress.number' | 'address.streetAddress.name' | 'address.streetAddress.apt' | 'address.formattedAddress' | 'address.hint' | 'address.geocode.latitude' | 'address.geocode.longitude' | 'businessSchedule.periods.openDay' | 'businessSchedule.periods.openTime' | 'businessSchedule.periods.closeDay' | 'businessSchedule.periods.closeTime' | 'businessSchedule.specialHourPeriod.startDate' | 'businessSchedule.specialHourPeriod.endDate' | 'businessSchedule.specialHourPeriod.isClosed' | 'businessSchedule.specialHourPeriod.comment' | 'revision' | 'archived', value: boolean) => LocationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => LocationsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => LocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<LocationsQueryResult>;\n  }\n  /**\n   * Sets a new default location.\n   *\n   *\n   * > **Notes:**\n   * > + There can only be one default location per site.\n   * > + The default location can't be archived.\n   * @param _id - ID of the location to set as the default location.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId LOCATIONS.MANAGE\n   * @adminMethod\n   */\n  function setDefaultLocation(_id: string): Promise<SetDefaultLocationResponse>;\n  /**\n   * Archives a location.\n   *\n   *\n   * > **Notes:**\n   * > + Changes the `archived` boolean of a location to `true`.\n   * > + You can't change a location's `status` using this endpoint.\n   * > + Archived locations can't be updated.\n   * > + Currently, it isn't possible to unarchive locations.\n   * > + The `default` location can't be archived.\n   * @param _id - ID of the location to archive.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId LOCATIONS.MANAGE\n   * @adminMethod\n   */\n  function archiveLocation(_id: string): Promise<ArchiveLocationResponse>;\n  /**\n   * Add location type to a specific location.\n   *\n   * > **Notes:**\n   * > + Add one the location type (UNKNOWN, BRANCH, OFFICES, RECEPTION, HEADQUARTERS, INVENTORY) to a specific location by id.\n   * @param _id - Location id to add type\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField locationType\n   * @permissionId LOCATIONS.MANAGE\n   * @adminMethod\n   */\n  function addLocationType(_id: string, locationType: LocationType): Promise<AddLocationTypeResponse>;\n  /**\n   * Remove location type from a specific location.\n   *\n   * > **Notes:**\n   * > + Remove location type (UNKNOWN, BRANCH, OFFICES, RECEPTION, HEADQUARTERS, INVENTORY) from a specific location by id.\n   * @param _id - Location id to add type\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField locationType\n   * @permissionId LOCATIONS.MANAGE\n   * @adminMethod\n   */\n  function removeLocationType(_id: string, locationType: LocationType): Promise<RemoveLocationTypeResponse>;\n  \n  type locationsV1Location_universal_d_Location = Location;\n  type locationsV1Location_universal_d_LocationStatus = LocationStatus;\n  const locationsV1Location_universal_d_LocationStatus: typeof LocationStatus;\n  type locationsV1Location_universal_d_LocationType = LocationType;\n  const locationsV1Location_universal_d_LocationType: typeof LocationType;\n  type locationsV1Location_universal_d_StreetAddress = StreetAddress;\n  type locationsV1Location_universal_d_AddressLocation = AddressLocation;\n  type locationsV1Location_universal_d_CreateLocationRequest = CreateLocationRequest;\n  type locationsV1Location_universal_d_CreateLocationResponse = CreateLocationResponse;\n  type locationsV1Location_universal_d_BulkCreateLocationRequest = BulkCreateLocationRequest;\n  type locationsV1Location_universal_d_BulkCreateLocationResponse = BulkCreateLocationResponse;\n  type locationsV1Location_universal_d_FailedCreateLocation = FailedCreateLocation;\n  type locationsV1Location_universal_d_GetLocationRequest = GetLocationRequest;\n  type locationsV1Location_universal_d_GetLocationResponse = GetLocationResponse;\n  type locationsV1Location_universal_d_ListLocationsRequest = ListLocationsRequest;\n  type locationsV1Location_universal_d_Sorting = Sorting;\n  type locationsV1Location_universal_d_SortOrder = SortOrder;\n  const locationsV1Location_universal_d_SortOrder: typeof SortOrder;\n  type locationsV1Location_universal_d_Paging = Paging;\n  type locationsV1Location_universal_d_ListLocationsResponse = ListLocationsResponse;\n  type locationsV1Location_universal_d_PagingMetadata = PagingMetadata;\n  type locationsV1Location_universal_d_UpdateLocationRequest = UpdateLocationRequest;\n  type locationsV1Location_universal_d_UpdateLocationResponse = UpdateLocationResponse;\n  type locationsV1Location_universal_d_BulkUpdateLocationRequest = BulkUpdateLocationRequest;\n  type locationsV1Location_universal_d_BulkUpdateLocationResponse = BulkUpdateLocationResponse;\n  type locationsV1Location_universal_d_FailedUpdateLocation = FailedUpdateLocation;\n  type locationsV1Location_universal_d_QueryLocationsRequest = QueryLocationsRequest;\n  type locationsV1Location_universal_d_Query = Query;\n  type locationsV1Location_universal_d_QueryLocationsResponse = QueryLocationsResponse;\n  type locationsV1Location_universal_d_SetDefaultLocationRequest = SetDefaultLocationRequest;\n  type locationsV1Location_universal_d_SetDefaultLocationResponse = SetDefaultLocationResponse;\n  type locationsV1Location_universal_d_SetDefaultLocation = SetDefaultLocation;\n  type locationsV1Location_universal_d_ArchiveLocationRequest = ArchiveLocationRequest;\n  type locationsV1Location_universal_d_ArchiveLocationResponse = ArchiveLocationResponse;\n  type locationsV1Location_universal_d_ArchiveLocation = ArchiveLocation;\n  type locationsV1Location_universal_d_AddLocationTypeRequest = AddLocationTypeRequest;\n  type locationsV1Location_universal_d_AddLocationTypeResponse = AddLocationTypeResponse;\n  type locationsV1Location_universal_d_RemoveLocationTypeRequest = RemoveLocationTypeRequest;\n  type locationsV1Location_universal_d_RemoveLocationTypeResponse = RemoveLocationTypeResponse;\n  type locationsV1Location_universal_d_DomainEvent = DomainEvent;\n  type locationsV1Location_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type locationsV1Location_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type locationsV1Location_universal_d_RestoreInfo = RestoreInfo;\n  type locationsV1Location_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type locationsV1Location_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type locationsV1Location_universal_d_ActionEvent = ActionEvent;\n  const locationsV1Location_universal_d_createLocation: typeof createLocation;\n  const locationsV1Location_universal_d_bulkCreateLocation: typeof bulkCreateLocation;\n  const locationsV1Location_universal_d_getLocation: typeof getLocation;\n  const locationsV1Location_universal_d_listLocations: typeof listLocations;\n  type locationsV1Location_universal_d_ListLocationsOptions = ListLocationsOptions;\n  const locationsV1Location_universal_d_updateLocation: typeof updateLocation;\n  type locationsV1Location_universal_d_UpdateLocation = UpdateLocation;\n  const locationsV1Location_universal_d_bulkUpdateLocation: typeof bulkUpdateLocation;\n  const locationsV1Location_universal_d_queryLocations: typeof queryLocations;\n  type locationsV1Location_universal_d_LocationsQueryResult = LocationsQueryResult;\n  type locationsV1Location_universal_d_LocationsQueryBuilder = LocationsQueryBuilder;\n  const locationsV1Location_universal_d_setDefaultLocation: typeof setDefaultLocation;\n  const locationsV1Location_universal_d_archiveLocation: typeof archiveLocation;\n  const locationsV1Location_universal_d_addLocationType: typeof addLocationType;\n  const locationsV1Location_universal_d_removeLocationType: typeof removeLocationType;\n  namespace locationsV1Location_universal_d {\n    export {\n      locationsV1Location_universal_d_Location as Location,\n      locationsV1Location_universal_d_LocationStatus as LocationStatus,\n      locationsV1Location_universal_d_LocationType as LocationType,\n      Address$1 as Address,\n      locationsV1Location_universal_d_StreetAddress as StreetAddress,\n      locationsV1Location_universal_d_AddressLocation as AddressLocation,\n      BusinessSchedule$1 as BusinessSchedule,\n      TimePeriod$1 as TimePeriod,\n      DayOfWeek$1 as DayOfWeek,\n      SpecialHourPeriod$1 as SpecialHourPeriod,\n      locationsV1Location_universal_d_CreateLocationRequest as CreateLocationRequest,\n      locationsV1Location_universal_d_CreateLocationResponse as CreateLocationResponse,\n      locationsV1Location_universal_d_BulkCreateLocationRequest as BulkCreateLocationRequest,\n      locationsV1Location_universal_d_BulkCreateLocationResponse as BulkCreateLocationResponse,\n      locationsV1Location_universal_d_FailedCreateLocation as FailedCreateLocation,\n      locationsV1Location_universal_d_GetLocationRequest as GetLocationRequest,\n      locationsV1Location_universal_d_GetLocationResponse as GetLocationResponse,\n      locationsV1Location_universal_d_ListLocationsRequest as ListLocationsRequest,\n      locationsV1Location_universal_d_Sorting as Sorting,\n      locationsV1Location_universal_d_SortOrder as SortOrder,\n      locationsV1Location_universal_d_Paging as Paging,\n      locationsV1Location_universal_d_ListLocationsResponse as ListLocationsResponse,\n      locationsV1Location_universal_d_PagingMetadata as PagingMetadata,\n      locationsV1Location_universal_d_UpdateLocationRequest as UpdateLocationRequest,\n      locationsV1Location_universal_d_UpdateLocationResponse as UpdateLocationResponse,\n      locationsV1Location_universal_d_BulkUpdateLocationRequest as BulkUpdateLocationRequest,\n      locationsV1Location_universal_d_BulkUpdateLocationResponse as BulkUpdateLocationResponse,\n      locationsV1Location_universal_d_FailedUpdateLocation as FailedUpdateLocation,\n      locationsV1Location_universal_d_QueryLocationsRequest as QueryLocationsRequest,\n      locationsV1Location_universal_d_Query as Query,\n      locationsV1Location_universal_d_QueryLocationsResponse as QueryLocationsResponse,\n      locationsV1Location_universal_d_SetDefaultLocationRequest as SetDefaultLocationRequest,\n      locationsV1Location_universal_d_SetDefaultLocationResponse as SetDefaultLocationResponse,\n      locationsV1Location_universal_d_SetDefaultLocation as SetDefaultLocation,\n      locationsV1Location_universal_d_ArchiveLocationRequest as ArchiveLocationRequest,\n      locationsV1Location_universal_d_ArchiveLocationResponse as ArchiveLocationResponse,\n      locationsV1Location_universal_d_ArchiveLocation as ArchiveLocation,\n      locationsV1Location_universal_d_AddLocationTypeRequest as AddLocationTypeRequest,\n      locationsV1Location_universal_d_AddLocationTypeResponse as AddLocationTypeResponse,\n      locationsV1Location_universal_d_RemoveLocationTypeRequest as RemoveLocationTypeRequest,\n      locationsV1Location_universal_d_RemoveLocationTypeResponse as RemoveLocationTypeResponse,\n      locationsV1Location_universal_d_DomainEvent as DomainEvent,\n      locationsV1Location_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      locationsV1Location_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      locationsV1Location_universal_d_RestoreInfo as RestoreInfo,\n      locationsV1Location_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      locationsV1Location_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      locationsV1Location_universal_d_ActionEvent as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      locationsV1Location_universal_d_createLocation as createLocation,\n      locationsV1Location_universal_d_bulkCreateLocation as bulkCreateLocation,\n      locationsV1Location_universal_d_getLocation as getLocation,\n      locationsV1Location_universal_d_listLocations as listLocations,\n      locationsV1Location_universal_d_ListLocationsOptions as ListLocationsOptions,\n      locationsV1Location_universal_d_updateLocation as updateLocation,\n      locationsV1Location_universal_d_UpdateLocation as UpdateLocation,\n      locationsV1Location_universal_d_bulkUpdateLocation as bulkUpdateLocation,\n      locationsV1Location_universal_d_queryLocations as queryLocations,\n      locationsV1Location_universal_d_LocationsQueryResult as LocationsQueryResult,\n      locationsV1Location_universal_d_LocationsQueryBuilder as LocationsQueryBuilder,\n      locationsV1Location_universal_d_setDefaultLocation as setDefaultLocation,\n      locationsV1Location_universal_d_archiveLocation as archiveLocation,\n      locationsV1Location_universal_d_addLocationType as addLocationType,\n      locationsV1Location_universal_d_removeLocationType as removeLocationType,\n    };\n  }\n  \n  interface Properties {\n      /** Site categories. */\n      categories?: Categories;\n      /** Site locale. */\n      locale?: Locale;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual;\n      /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n      consentPolicy?: ConsentPolicy;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site URL that uses Wix as its headless business solution. */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics. */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n   */\n  interface AddressHint {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod;\n  }\n  enum ResolutionMethod {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** The parameters of a site properties read request. */\n  interface PropertiesReadRequest {\n      /**\n       * List of fields to return.\n       * If omitted, all fields are returned.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /** The resulting properties for the requested site. */\n  interface PropertiesReadResponse {\n      /** Current version of the stored property site. For internal use. */\n      version?: string;\n      /** Properties for the requested site. */\n      properties?: Properties;\n  }\n  /** The request used to update a site's properties. */\n  interface PropertiesUpdateRequest {\n      properties?: Properties;\n      /**\n       * The properties to be updated. Properties not explicitly specified here are ignored. Properties included here but excluded from `properties` are cleared.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /** The details resulting from an update operation. */\n  interface PropertiesUpdateResponse {\n      /** The new version of the stored properties after the update. For internal use. */\n      version?: string;\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation[];\n      /** Context of the notification */\n      changeContext?: ChangeContext;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext extends ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  interface PropertiesChange {\n  }\n  interface SiteCreated {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  /** Encapsulates all changes when site properties are updated */\n  interface SitePropertiesUpdated {\n      /** ID of the Wix site that has been updated. */\n      metasiteId?: string;\n      /** Update details. */\n      event?: SitePropertiesEvent;\n  }\n  /** Snapshot of latest site properties. */\n  interface SitePropertiesFullNotification {\n      /** The site ID for which this snapshot applies. */\n      metaSiteId?: string;\n      /** Version of the site's properties current snapshot. */\n      version?: number;\n      /** Snapshot properties. */\n      properties?: Properties;\n      /** Context of the notification */\n      changeContext?: ChangeContext;\n  }\n  interface UpdateBusinessProfileRequest {\n      /** The site's business profile. */\n      businessProfile?: BusinessProfileData;\n      /**\n       * The properties of `businessProfile` to be updated. Properties not explicitly specified here are ignored. Properties included here but excluded from `businessProfile` are cleared.\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface BusinessProfileData {\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n  }\n  interface UpdateBusinessProfileResponse {\n  }\n  interface UpdateBusinessContactRequest {\n      /** The site's business contact information. */\n      businessContact?: BusinessContactData;\n      /**\n       * The properties of `businessContact` to be updated. Properties not explicitly specified here are ignored. Properties included here but excluded from `businessContact` are cleared.\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface BusinessContactData {\n      /** Publicly-available business email address. */\n      email?: string | null;\n      /** Publicly-available business phone number. */\n      phone?: string | null;\n      /** Publicly-available business fax number. */\n      fax?: string | null;\n      /** Publicly-available business address. */\n      address?: Address;\n  }\n  interface UpdateBusinessContactResponse {\n  }\n  interface UpdateBusinessScheduleRequest {\n      /** The site's business schedule in the site time zone. */\n      businessSchedule?: BusinessSchedule;\n  }\n  interface UpdateBusinessScheduleResponse {\n  }\n  /** The request used to update a site's default consent policy. */\n  interface UpdateConsentPolicyRequest {\n      /** Default consent policy defined by the Wix user. Can be further limited by site visitors. */\n      consentPolicy?: ConsentPolicy;\n  }\n  interface UpdateConsentPolicyResponse {\n  }\n  interface BulkPropertiesReadRequest {\n      /** Site IDs. */\n      sites?: string[];\n  }\n  /** The resulting properties for the requested site. */\n  interface BulkPropertiesReadResponse {\n      /** The ID of the resolved MetaSite for the request. */\n      sites?: Record<string, PropertiesReadResponse>;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a current snapshot of a site's properties.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Field options.\n   * @permissionId SITE_SETTINGS.VIEW\n   * @adminMethod\n   * @returns The resulting properties for the requested site.\n   */\n  function getSiteProperties(options?: GetSitePropertiesOptions): Promise<PropertiesReadResponse>;\n  interface GetSitePropertiesOptions {\n      /**\n       * List of fields to return.\n       * If omitted, all fields are returned.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /**\n   * Updates one or more of a site's properties. The site ID is resolved via the Identification Service.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId SITE_SETTINGS.MODIFY\n   * @adminMethod\n   * @returns The details resulting from an update operation.\n   */\n  function update(options?: UpdateOptions): Promise<PropertiesUpdateResponse>;\n  interface UpdateOptions {\n      properties?: Properties;\n      /**\n       * The properties to be updated. Properties not explicitly specified here are ignored. Properties included here but excluded from `properties` are cleared.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /**\n   * Updates a site's business profile.\n   * @param businessProfile - The site's business profile.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField businessProfile\n   * @permissionId SITE_PROPERTIES.UPDATE_BUSINESS_PROFILE\n   * @adminMethod\n   */\n  function updateBusinessProfile(businessProfile: BusinessProfileData, options?: UpdateBusinessProfileOptions): Promise<void>;\n  interface UpdateBusinessProfileOptions {\n      /**\n       * The properties of `businessProfile` to be updated. Properties not explicitly specified here are ignored. Properties included here but excluded from `businessProfile` are cleared.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /**\n   * Updates a site's business contact information.\n   * @param businessContact - The site's business contact information.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField businessContact\n   * @permissionId SITE_PROPERTIES.UPDATE_BUSINESS_CONTACT\n   * @adminMethod\n   */\n  function updateBusinessContact(businessContact: BusinessContactData, options?: UpdateBusinessContactOptions): Promise<void>;\n  interface UpdateBusinessContactOptions {\n      /**\n       * The properties of `businessContact` to be updated. Properties not explicitly specified here are ignored. Properties included here but excluded from `businessContact` are cleared.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /**\n   * Updates a site's business schedule.\n   *\n   * > **Note:** This method overwrites the current business schedule. `businessSchedule` is an array, so it must be written in its entirety. Therefore, you must modify the existing array and specify it in the API call.\n   * @param businessSchedule - The site's business schedule in the site time zone.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField businessSchedule\n   * @permissionId SITE_PROPERTIES.UPDATE_BUSINESS_SCHEDULE\n   * @adminMethod\n   */\n  function updateBusinessSchedule(businessSchedule: BusinessSchedule): Promise<void>;\n  /**\n   * Updates a site's default consent policy.\n   * @param consentPolicy - Default consent policy defined by the Wix user. Can be further limited by site visitors.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField consentPolicy\n   * @permissionId SITE_PROPERTIES.UPDATE_CONSENT_POLICY\n   * @adminMethod\n   */\n  function updateConsentPolicy(consentPolicy: ConsentPolicy): Promise<void>;\n  \n  type sitepropertiesV4Properties_universal_d_Properties = Properties;\n  type sitepropertiesV4Properties_universal_d_Categories = Categories;\n  type sitepropertiesV4Properties_universal_d_Locale = Locale;\n  type sitepropertiesV4Properties_universal_d_Address = Address;\n  type sitepropertiesV4Properties_universal_d_AddressHint = AddressHint;\n  type sitepropertiesV4Properties_universal_d_PlacementType = PlacementType;\n  const sitepropertiesV4Properties_universal_d_PlacementType: typeof PlacementType;\n  type sitepropertiesV4Properties_universal_d_GeoCoordinates = GeoCoordinates;\n  type sitepropertiesV4Properties_universal_d_BusinessSchedule = BusinessSchedule;\n  type sitepropertiesV4Properties_universal_d_TimePeriod = TimePeriod;\n  type sitepropertiesV4Properties_universal_d_DayOfWeek = DayOfWeek;\n  const sitepropertiesV4Properties_universal_d_DayOfWeek: typeof DayOfWeek;\n  type sitepropertiesV4Properties_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type sitepropertiesV4Properties_universal_d_Multilingual = Multilingual;\n  type sitepropertiesV4Properties_universal_d_SupportedLanguage = SupportedLanguage;\n  type sitepropertiesV4Properties_universal_d_ResolutionMethod = ResolutionMethod;\n  const sitepropertiesV4Properties_universal_d_ResolutionMethod: typeof ResolutionMethod;\n  type sitepropertiesV4Properties_universal_d_ConsentPolicy = ConsentPolicy;\n  type sitepropertiesV4Properties_universal_d_PropertiesReadRequest = PropertiesReadRequest;\n  type sitepropertiesV4Properties_universal_d_PropertiesReadResponse = PropertiesReadResponse;\n  type sitepropertiesV4Properties_universal_d_PropertiesUpdateRequest = PropertiesUpdateRequest;\n  type sitepropertiesV4Properties_universal_d_PropertiesUpdateResponse = PropertiesUpdateResponse;\n  type sitepropertiesV4Properties_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n  type sitepropertiesV4Properties_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n  type sitepropertiesV4Properties_universal_d_Translation = Translation;\n  type sitepropertiesV4Properties_universal_d_ChangeContext = ChangeContext;\n  type sitepropertiesV4Properties_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n  type sitepropertiesV4Properties_universal_d_PropertiesChange = PropertiesChange;\n  type sitepropertiesV4Properties_universal_d_SiteCreated = SiteCreated;\n  type sitepropertiesV4Properties_universal_d_SiteCloned = SiteCloned;\n  type sitepropertiesV4Properties_universal_d_SitePropertiesUpdated = SitePropertiesUpdated;\n  type sitepropertiesV4Properties_universal_d_SitePropertiesFullNotification = SitePropertiesFullNotification;\n  type sitepropertiesV4Properties_universal_d_UpdateBusinessProfileRequest = UpdateBusinessProfileRequest;\n  type sitepropertiesV4Properties_universal_d_BusinessProfileData = BusinessProfileData;\n  type sitepropertiesV4Properties_universal_d_UpdateBusinessProfileResponse = UpdateBusinessProfileResponse;\n  type sitepropertiesV4Properties_universal_d_UpdateBusinessContactRequest = UpdateBusinessContactRequest;\n  type sitepropertiesV4Properties_universal_d_BusinessContactData = BusinessContactData;\n  type sitepropertiesV4Properties_universal_d_UpdateBusinessContactResponse = UpdateBusinessContactResponse;\n  type sitepropertiesV4Properties_universal_d_UpdateBusinessScheduleRequest = UpdateBusinessScheduleRequest;\n  type sitepropertiesV4Properties_universal_d_UpdateBusinessScheduleResponse = UpdateBusinessScheduleResponse;\n  type sitepropertiesV4Properties_universal_d_UpdateConsentPolicyRequest = UpdateConsentPolicyRequest;\n  type sitepropertiesV4Properties_universal_d_UpdateConsentPolicyResponse = UpdateConsentPolicyResponse;\n  type sitepropertiesV4Properties_universal_d_BulkPropertiesReadRequest = BulkPropertiesReadRequest;\n  type sitepropertiesV4Properties_universal_d_BulkPropertiesReadResponse = BulkPropertiesReadResponse;\n  type sitepropertiesV4Properties_universal_d_MessageEnvelope = MessageEnvelope;\n  type sitepropertiesV4Properties_universal_d_IdentificationData = IdentificationData;\n  type sitepropertiesV4Properties_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type sitepropertiesV4Properties_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const sitepropertiesV4Properties_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const sitepropertiesV4Properties_universal_d_getSiteProperties: typeof getSiteProperties;\n  type sitepropertiesV4Properties_universal_d_GetSitePropertiesOptions = GetSitePropertiesOptions;\n  const sitepropertiesV4Properties_universal_d_update: typeof update;\n  type sitepropertiesV4Properties_universal_d_UpdateOptions = UpdateOptions;\n  const sitepropertiesV4Properties_universal_d_updateBusinessProfile: typeof updateBusinessProfile;\n  type sitepropertiesV4Properties_universal_d_UpdateBusinessProfileOptions = UpdateBusinessProfileOptions;\n  const sitepropertiesV4Properties_universal_d_updateBusinessContact: typeof updateBusinessContact;\n  type sitepropertiesV4Properties_universal_d_UpdateBusinessContactOptions = UpdateBusinessContactOptions;\n  const sitepropertiesV4Properties_universal_d_updateBusinessSchedule: typeof updateBusinessSchedule;\n  const sitepropertiesV4Properties_universal_d_updateConsentPolicy: typeof updateConsentPolicy;\n  namespace sitepropertiesV4Properties_universal_d {\n    export {\n      sitepropertiesV4Properties_universal_d_Properties as Properties,\n      sitepropertiesV4Properties_universal_d_Categories as Categories,\n      sitepropertiesV4Properties_universal_d_Locale as Locale,\n      sitepropertiesV4Properties_universal_d_Address as Address,\n      sitepropertiesV4Properties_universal_d_AddressHint as AddressHint,\n      sitepropertiesV4Properties_universal_d_PlacementType as PlacementType,\n      sitepropertiesV4Properties_universal_d_GeoCoordinates as GeoCoordinates,\n      sitepropertiesV4Properties_universal_d_BusinessSchedule as BusinessSchedule,\n      sitepropertiesV4Properties_universal_d_TimePeriod as TimePeriod,\n      sitepropertiesV4Properties_universal_d_DayOfWeek as DayOfWeek,\n      sitepropertiesV4Properties_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      sitepropertiesV4Properties_universal_d_Multilingual as Multilingual,\n      sitepropertiesV4Properties_universal_d_SupportedLanguage as SupportedLanguage,\n      sitepropertiesV4Properties_universal_d_ResolutionMethod as ResolutionMethod,\n      sitepropertiesV4Properties_universal_d_ConsentPolicy as ConsentPolicy,\n      sitepropertiesV4Properties_universal_d_PropertiesReadRequest as PropertiesReadRequest,\n      sitepropertiesV4Properties_universal_d_PropertiesReadResponse as PropertiesReadResponse,\n      sitepropertiesV4Properties_universal_d_PropertiesUpdateRequest as PropertiesUpdateRequest,\n      sitepropertiesV4Properties_universal_d_PropertiesUpdateResponse as PropertiesUpdateResponse,\n      sitepropertiesV4Properties_universal_d_SitePropertiesNotification as SitePropertiesNotification,\n      sitepropertiesV4Properties_universal_d_SitePropertiesEvent as SitePropertiesEvent,\n      sitepropertiesV4Properties_universal_d_Translation as Translation,\n      sitepropertiesV4Properties_universal_d_ChangeContext as ChangeContext,\n      sitepropertiesV4Properties_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf,\n      sitepropertiesV4Properties_universal_d_PropertiesChange as PropertiesChange,\n      sitepropertiesV4Properties_universal_d_SiteCreated as SiteCreated,\n      sitepropertiesV4Properties_universal_d_SiteCloned as SiteCloned,\n      sitepropertiesV4Properties_universal_d_SitePropertiesUpdated as SitePropertiesUpdated,\n      sitepropertiesV4Properties_universal_d_SitePropertiesFullNotification as SitePropertiesFullNotification,\n      sitepropertiesV4Properties_universal_d_UpdateBusinessProfileRequest as UpdateBusinessProfileRequest,\n      sitepropertiesV4Properties_universal_d_BusinessProfileData as BusinessProfileData,\n      sitepropertiesV4Properties_universal_d_UpdateBusinessProfileResponse as UpdateBusinessProfileResponse,\n      sitepropertiesV4Properties_universal_d_UpdateBusinessContactRequest as UpdateBusinessContactRequest,\n      sitepropertiesV4Properties_universal_d_BusinessContactData as BusinessContactData,\n      sitepropertiesV4Properties_universal_d_UpdateBusinessContactResponse as UpdateBusinessContactResponse,\n      sitepropertiesV4Properties_universal_d_UpdateBusinessScheduleRequest as UpdateBusinessScheduleRequest,\n      sitepropertiesV4Properties_universal_d_UpdateBusinessScheduleResponse as UpdateBusinessScheduleResponse,\n      sitepropertiesV4Properties_universal_d_UpdateConsentPolicyRequest as UpdateConsentPolicyRequest,\n      sitepropertiesV4Properties_universal_d_UpdateConsentPolicyResponse as UpdateConsentPolicyResponse,\n      sitepropertiesV4Properties_universal_d_BulkPropertiesReadRequest as BulkPropertiesReadRequest,\n      sitepropertiesV4Properties_universal_d_BulkPropertiesReadResponse as BulkPropertiesReadResponse,\n      sitepropertiesV4Properties_universal_d_MessageEnvelope as MessageEnvelope,\n      sitepropertiesV4Properties_universal_d_IdentificationData as IdentificationData,\n      sitepropertiesV4Properties_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      sitepropertiesV4Properties_universal_d_WebhookIdentityType as WebhookIdentityType,\n      sitepropertiesV4Properties_universal_d_getSiteProperties as getSiteProperties,\n      sitepropertiesV4Properties_universal_d_GetSitePropertiesOptions as GetSitePropertiesOptions,\n      sitepropertiesV4Properties_universal_d_update as update,\n      sitepropertiesV4Properties_universal_d_UpdateOptions as UpdateOptions,\n      sitepropertiesV4Properties_universal_d_updateBusinessProfile as updateBusinessProfile,\n      sitepropertiesV4Properties_universal_d_UpdateBusinessProfileOptions as UpdateBusinessProfileOptions,\n      sitepropertiesV4Properties_universal_d_updateBusinessContact as updateBusinessContact,\n      sitepropertiesV4Properties_universal_d_UpdateBusinessContactOptions as UpdateBusinessContactOptions,\n      sitepropertiesV4Properties_universal_d_updateBusinessSchedule as updateBusinessSchedule,\n      sitepropertiesV4Properties_universal_d_updateConsentPolicy as updateConsentPolicy,\n    };\n  }\n  \n  export { locationsV1Location_universal_d as locations, sitepropertiesV4Properties_universal_d as siteProperties };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-marketing-tags.v2.d.ts",
      "content": "declare module \"wix-marketing-tags.v2\" {\n  interface MarketingTag extends MarketingTagParamsOneOf {\n      /**\n       * A [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091)\n       * lets site owners analyze what a visitor does after clicking on a Google ad.\n       */\n      googleAds?: GoogleAds;\n      /**\n       * A [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579)\n       * lets site owners track page views, where visitors are coming from, how long they stay, and\n       * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310)\n       * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310)\n       * are supported.\n       */\n      googleAnalytics?: GoogleAnalytics;\n      /**\n       * A [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) lets site\n       * owners build visual reports of visitor activity that helps them evaluate the\n       * performance of their marketing campaigns.\n       */\n      yandexMetrica?: YandexMetrica;\n      /**\n       * A [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/)\n       * allows site owners to track Facebook ad-driven visitor activity on their site.\n       */\n      facebookPixel?: FacebookPixel;\n      /**\n       * A [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530)\n       * lets site owners implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManager?: GoogleTagManager;\n      /**\n       * A [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663)\n       * allows site owners to share visitor events to TikTok on their site.\n       */\n      tikTokPixel?: TikTokPixel;\n      /**\n       * This consent mode tag uses [Google Tag Manager](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530),\n       * which allows site owners to implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManagerConsentMode?: GoogleTagManagerConsentMode;\n      /**\n       * This consent mode tag uses the [Google Tag API](https://developers.google.com/tag-platform/gtagjs/reference), which allows site owners to track:\n       * - Page views\n       * - Where visitors are coming from\n       * - How long visitors stay on the site\n       * - What keywords visitors used to find the site\n       */\n      googleAnalyticsConsentMode?: GoogleAnalyticsConsentMode;\n      /**\n       * Marketing tag ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Marketing tag type.\n       * @readonly\n       */\n      type?: Type;\n      /**\n       * Whether this tag is enabled.\n       * Defaults to `true`.\n       */\n      enabled?: boolean | null;\n  }\n  /** @oneof */\n  interface MarketingTagParamsOneOf {\n      /**\n       * A [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091)\n       * lets site owners analyze what a visitor does after clicking on a Google ad.\n       */\n      googleAds?: GoogleAds;\n      /**\n       * A [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579)\n       * lets site owners track page views, where visitors are coming from, how long they stay, and\n       * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310)\n       * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310)\n       * are supported.\n       */\n      googleAnalytics?: GoogleAnalytics;\n      /**\n       * A [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) lets site\n       * owners build visual reports of visitor activity that helps them evaluate the\n       * performance of their marketing campaigns.\n       */\n      yandexMetrica?: YandexMetrica;\n      /**\n       * A [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/)\n       * allows site owners to track Facebook ad-driven visitor activity on their site.\n       */\n      facebookPixel?: FacebookPixel;\n      /**\n       * A [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530)\n       * lets site owners implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManager?: GoogleTagManager;\n      /**\n       * A [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663)\n       * allows site owners to share visitor events to TikTok on their site.\n       */\n      tikTokPixel?: TikTokPixel;\n      /**\n       * This consent mode tag uses [Google Tag Manager](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530),\n       * which allows site owners to implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManagerConsentMode?: GoogleTagManagerConsentMode;\n      /**\n       * This consent mode tag uses the [Google Tag API](https://developers.google.com/tag-platform/gtagjs/reference), which allows site owners to track:\n       * - Page views\n       * - Where visitors are coming from\n       * - How long visitors stay on the site\n       * - What keywords visitors used to find the site\n       */\n      googleAnalyticsConsentMode?: GoogleAnalyticsConsentMode;\n  }\n  /** Enum value `UNKNOWN`: Illegal default value, exception will be thrown if used. */\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      GOOGLE_ADS = \"GOOGLE_ADS\",\n      GOOGLE_ANALYTICS = \"GOOGLE_ANALYTICS\",\n      YANDEX_METRICA = \"YANDEX_METRICA\",\n      FACEBOOK_PIXEL = \"FACEBOOK_PIXEL\",\n      GOOGLE_TAG_MANAGER = \"GOOGLE_TAG_MANAGER\",\n      TIKTOK_PIXEL = \"TIKTOK_PIXEL\",\n      GOOGLE_TAG_MANAGER_CONSENT_MODE = \"GOOGLE_TAG_MANAGER_CONSENT_MODE\",\n      GOOGLE_ANALYTICS_CONSENT_MODE = \"GOOGLE_ANALYTICS_CONSENT_MODE\"\n  }\n  interface GoogleAds {\n      /** Domain associated with the Google Ads Conversion tag. */\n      domain?: string;\n      /**\n       * Conversion ID in AW-123456789 format.\n       * Specifies which Google property is associated with the site owner.\n       */\n      trackingId?: string;\n  }\n  interface GoogleAnalytics {\n      /** Domain associated with the Google Analytics tag. */\n      domain?: string;\n      /**\n       * Measurement ID for Google Analytics 4 tags in G-12345 format,\n       * or Analytics ID for Google Universal Analytics tags in UA-12345-1 format.\n       * Specifies which Google property is associated with the site owner.\n       */\n      trackingId?: string;\n      /** Whether IP addresses of site visitors are hidden from Google. */\n      ipAnonymization?: boolean | null;\n  }\n  interface YandexMetrica {\n      /** Domain associated with the Yandex Metrica tag. */\n      domain?: string;\n      /**\n       * Yandex Tag Number in 123456789 format.\n       * Specifies which Yandex tag is associated with the site owner.\n       */\n      trackingId?: string;\n  }\n  interface FacebookPixel {\n      /** Domain associated with the Facebook Pixel tag. */\n      domain?: string;\n      /**\n       * Pixel ID in 123456789 format.\n       * Specifies which Facebook Pixel is associated with the site owner.\n       */\n      trackingId?: string;\n  }\n  interface GoogleTagManager {\n      /** Domain associated with the Google tag. */\n      domain?: string;\n      /**\n       * Tag Manager Container ID in GTM-12345 format.\n       * Specifies which Google Tag Manager Container is associated with the site owner.\n       */\n      trackingId?: string;\n  }\n  interface TikTokPixel {\n      /** Domain associated with the TikTok Pixel. */\n      domain?: string;\n      /** Specifies which TikTok Pixel is associated with the site owner. */\n      trackingId?: string;\n  }\n  interface GoogleTagManagerConsentMode {\n      /** Domain associated with the Google tag. */\n      domain?: string;\n      /**\n       * Tag Manager Container ID.\n       * Specifies which Google Tag Manager Container is associated with the site owner.\n       */\n      trackingId?: string;\n  }\n  interface GoogleAnalyticsConsentMode {\n      /** Domain associated with the Google Analytics tag. */\n      domain?: string;\n      /**\n       * Specifies which Google property is associated with the site owner.\n       * It is either Measurement ID for [Google Analytics 4](https://developers.google.com/analytics/devguides/collection/ga4) tags in the `G-12345` format,\n       * or Analytics ID for Google Universal Analytics tags in the `UA-12345-1` format.\n       */\n      trackingId?: string;\n      /** Whether the IP addresses of site visitors are hidden from Google. */\n      ipAnonymization?: boolean | null;\n  }\n  interface HtmlEmbedUpdateMessage {\n      /** Site's id */\n      siteId?: string;\n  }\n  interface UpsertMarketingTagRequest {\n      /** Marketing tag to create or update. */\n      tag: MarketingTag;\n  }\n  interface UpsertMarketingTagResponse {\n      /** Created or updated marketing tag. */\n      tag?: MarketingTag;\n  }\n  interface ListMarketingTagsRequest {\n      /** Information about which tags to retrieve. */\n      filter?: Filter;\n  }\n  /** Information about which marketing tags to retrieve. */\n  interface Filter {\n      /** Filter by tag type. */\n      byType?: Type;\n  }\n  interface ListMarketingTagsResponse {\n      /** List of marketing tags. */\n      tags?: MarketingTag[];\n  }\n  interface DeleteMarketingTagRequest {\n      /** Marketing tag to delete. */\n      type?: Type;\n  }\n  interface DeleteMarketingTagResponse {\n  }\n  interface DeleteMarketingTagV2Request {\n      /** Marketing tag to delete. */\n      tagType?: Type;\n  }\n  interface DeleteMarketingTagV2Response {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates or updates a marketing tag.\n   * <!--\n   * > __Note__: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param tag - Marketing tag to create or update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tag\n   * @permissionId MARKETING_TAGS.MANAGE\n   * @adminMethod\n   */\n  function upsertMarketingTag(tag: MarketingTag): Promise<UpsertMarketingTagResponse>;\n  /**\n   * Retrieves marketing tags given the provided filter.\n   * <!--\n   * > __Note__: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @documentationMaturity preview\n   * @param options - Information about the marketing tags to retrieve.\n   * @permissionId MARKETING_TAGS.READ\n   * @adminMethod\n   */\n  function listMarketingTags(options?: ListMarketingTagsOptions): Promise<ListMarketingTagsResponse>;\n  interface ListMarketingTagsOptions {\n      /** Information about which tags to retrieve. */\n      filter?: Filter;\n  }\n  /**\n   * Deletes a marketing tag.\n   * <!-- Commented this out.\n   * > __Note__: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when deleting a marketing tag.\n   * @permissionId MARKETING_TAGS.MANAGE\n   * @adminMethod\n   * @deprecated method is deprecated due to a problem occurred when using it via REST.\n   * @replacedBy com.wixpress.marketing.tags.api.v1.DeleteMarketingTagV2\n   * @targetRemovalDate 2022-10-01\n   */\n  function deleteMarketingTag(options?: DeleteMarketingTagOptions): Promise<void>;\n  interface DeleteMarketingTagOptions {\n      /** Information about the marketing tag to delete. */\n      type?: Type;\n  }\n  /**\n   * Deletes a marketing tag.\n   * > __Note__: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * @internal\n   * @documentationMaturity preview\n   * @param options - Options to use when deleting a marketing tag.\n   * @permissionId MARKETING_TAGS.MANAGE\n   * @adminMethod\n   */\n  function deleteMarketingTagV2(options?: DeleteMarketingTagV2Options): Promise<void>;\n  interface DeleteMarketingTagV2Options {\n      /** Marketing tag to delete. */\n      tagType?: Type;\n  }\n  \n  type marketingV1Tag_universal_d_MarketingTag = MarketingTag;\n  type marketingV1Tag_universal_d_MarketingTagParamsOneOf = MarketingTagParamsOneOf;\n  type marketingV1Tag_universal_d_Type = Type;\n  const marketingV1Tag_universal_d_Type: typeof Type;\n  type marketingV1Tag_universal_d_GoogleAds = GoogleAds;\n  type marketingV1Tag_universal_d_GoogleAnalytics = GoogleAnalytics;\n  type marketingV1Tag_universal_d_YandexMetrica = YandexMetrica;\n  type marketingV1Tag_universal_d_FacebookPixel = FacebookPixel;\n  type marketingV1Tag_universal_d_GoogleTagManager = GoogleTagManager;\n  type marketingV1Tag_universal_d_TikTokPixel = TikTokPixel;\n  type marketingV1Tag_universal_d_GoogleTagManagerConsentMode = GoogleTagManagerConsentMode;\n  type marketingV1Tag_universal_d_GoogleAnalyticsConsentMode = GoogleAnalyticsConsentMode;\n  type marketingV1Tag_universal_d_HtmlEmbedUpdateMessage = HtmlEmbedUpdateMessage;\n  type marketingV1Tag_universal_d_UpsertMarketingTagRequest = UpsertMarketingTagRequest;\n  type marketingV1Tag_universal_d_UpsertMarketingTagResponse = UpsertMarketingTagResponse;\n  type marketingV1Tag_universal_d_ListMarketingTagsRequest = ListMarketingTagsRequest;\n  type marketingV1Tag_universal_d_Filter = Filter;\n  type marketingV1Tag_universal_d_ListMarketingTagsResponse = ListMarketingTagsResponse;\n  type marketingV1Tag_universal_d_DeleteMarketingTagRequest = DeleteMarketingTagRequest;\n  type marketingV1Tag_universal_d_DeleteMarketingTagResponse = DeleteMarketingTagResponse;\n  type marketingV1Tag_universal_d_DeleteMarketingTagV2Request = DeleteMarketingTagV2Request;\n  type marketingV1Tag_universal_d_DeleteMarketingTagV2Response = DeleteMarketingTagV2Response;\n  type marketingV1Tag_universal_d_DomainEvent = DomainEvent;\n  type marketingV1Tag_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type marketingV1Tag_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type marketingV1Tag_universal_d_RestoreInfo = RestoreInfo;\n  type marketingV1Tag_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type marketingV1Tag_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type marketingV1Tag_universal_d_ActionEvent = ActionEvent;\n  type marketingV1Tag_universal_d_MessageEnvelope = MessageEnvelope;\n  type marketingV1Tag_universal_d_IdentificationData = IdentificationData;\n  type marketingV1Tag_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type marketingV1Tag_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const marketingV1Tag_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const marketingV1Tag_universal_d_upsertMarketingTag: typeof upsertMarketingTag;\n  const marketingV1Tag_universal_d_listMarketingTags: typeof listMarketingTags;\n  type marketingV1Tag_universal_d_ListMarketingTagsOptions = ListMarketingTagsOptions;\n  const marketingV1Tag_universal_d_deleteMarketingTag: typeof deleteMarketingTag;\n  type marketingV1Tag_universal_d_DeleteMarketingTagOptions = DeleteMarketingTagOptions;\n  const marketingV1Tag_universal_d_deleteMarketingTagV2: typeof deleteMarketingTagV2;\n  type marketingV1Tag_universal_d_DeleteMarketingTagV2Options = DeleteMarketingTagV2Options;\n  namespace marketingV1Tag_universal_d {\n    export {\n      marketingV1Tag_universal_d_MarketingTag as MarketingTag,\n      marketingV1Tag_universal_d_MarketingTagParamsOneOf as MarketingTagParamsOneOf,\n      marketingV1Tag_universal_d_Type as Type,\n      marketingV1Tag_universal_d_GoogleAds as GoogleAds,\n      marketingV1Tag_universal_d_GoogleAnalytics as GoogleAnalytics,\n      marketingV1Tag_universal_d_YandexMetrica as YandexMetrica,\n      marketingV1Tag_universal_d_FacebookPixel as FacebookPixel,\n      marketingV1Tag_universal_d_GoogleTagManager as GoogleTagManager,\n      marketingV1Tag_universal_d_TikTokPixel as TikTokPixel,\n      marketingV1Tag_universal_d_GoogleTagManagerConsentMode as GoogleTagManagerConsentMode,\n      marketingV1Tag_universal_d_GoogleAnalyticsConsentMode as GoogleAnalyticsConsentMode,\n      marketingV1Tag_universal_d_HtmlEmbedUpdateMessage as HtmlEmbedUpdateMessage,\n      marketingV1Tag_universal_d_UpsertMarketingTagRequest as UpsertMarketingTagRequest,\n      marketingV1Tag_universal_d_UpsertMarketingTagResponse as UpsertMarketingTagResponse,\n      marketingV1Tag_universal_d_ListMarketingTagsRequest as ListMarketingTagsRequest,\n      marketingV1Tag_universal_d_Filter as Filter,\n      marketingV1Tag_universal_d_ListMarketingTagsResponse as ListMarketingTagsResponse,\n      marketingV1Tag_universal_d_DeleteMarketingTagRequest as DeleteMarketingTagRequest,\n      marketingV1Tag_universal_d_DeleteMarketingTagResponse as DeleteMarketingTagResponse,\n      marketingV1Tag_universal_d_DeleteMarketingTagV2Request as DeleteMarketingTagV2Request,\n      marketingV1Tag_universal_d_DeleteMarketingTagV2Response as DeleteMarketingTagV2Response,\n      marketingV1Tag_universal_d_DomainEvent as DomainEvent,\n      marketingV1Tag_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      marketingV1Tag_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      marketingV1Tag_universal_d_RestoreInfo as RestoreInfo,\n      marketingV1Tag_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      marketingV1Tag_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      marketingV1Tag_universal_d_ActionEvent as ActionEvent,\n      marketingV1Tag_universal_d_MessageEnvelope as MessageEnvelope,\n      marketingV1Tag_universal_d_IdentificationData as IdentificationData,\n      marketingV1Tag_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      marketingV1Tag_universal_d_WebhookIdentityType as WebhookIdentityType,\n      marketingV1Tag_universal_d_upsertMarketingTag as upsertMarketingTag,\n      marketingV1Tag_universal_d_listMarketingTags as listMarketingTags,\n      marketingV1Tag_universal_d_ListMarketingTagsOptions as ListMarketingTagsOptions,\n      marketingV1Tag_universal_d_deleteMarketingTag as deleteMarketingTag,\n      marketingV1Tag_universal_d_DeleteMarketingTagOptions as DeleteMarketingTagOptions,\n      marketingV1Tag_universal_d_deleteMarketingTagV2 as deleteMarketingTagV2,\n      marketingV1Tag_universal_d_DeleteMarketingTagV2Options as DeleteMarketingTagV2Options,\n    };\n  }\n  \n  export { marketingV1Tag_universal_d as marketingTags };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-stores.v2.d.ts",
      "content": "declare module \"wix-stores.v2\" {\n  interface Collection$1 {\n      /**\n       * Collection ID (generated automatically by the catalog).\n       * @readonly\n       */\n      _id?: string | null;\n      /** Collection name. */\n      name?: string | null;\n      /**\n       * Media items (images, videos etc) associated with this collection. Read only.\n       * @readonly\n       */\n      media?: Media$1;\n      /**\n       * Number of products in the collection. Read only.\n       * @readonly\n       */\n      numberOfProducts?: number;\n      /** Collection description. */\n      description?: string | null;\n      /** Collection slug. */\n      slug?: string | null;\n      /** Collection visibility. Only impacts dynamic pages, no impact on static pages. Default: `true`. */\n      visible?: boolean | null;\n      /**\n       * Custom SEO data for the collection.\n       * @internal\n       */\n      seoSchema?: SeoSchema$1;\n  }\n  interface Media$1 {\n      /** Primary media (image, video etc) associated with this product. */\n      mainMedia?: MediaItem$2;\n      /** Media (images, videos etc) associated with this product. */\n      items?: MediaItem$2[];\n  }\n  interface MediaItem$2 extends MediaItemItemOneOf$1 {\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize$1;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo$1;\n      /** Media item thumbnail details. */\n      thumbnail?: MediaItemUrlAndSize$1;\n      /** Media item type (image, video, etc.). */\n      mediaType?: MediaItemType$2;\n      /** Media item title. */\n      title?: string;\n      /** Media ID (for example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`). */\n      _id?: string;\n  }\n  /** @oneof */\n  interface MediaItemItemOneOf$1 {\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize$1;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo$1;\n  }\n  interface MediaItemUrlAndSize$1 {\n      /** Media item URL. */\n      url?: string;\n      /** Media item width. */\n      width?: number;\n      /** Media item height. */\n      height?: number;\n      /** Media format (mp4, png, etc.). */\n      format?: string | null;\n      /** Alt text. This text will be shown in case the image is not available. */\n      altText?: string | null;\n  }\n  enum MediaItemType$2 {\n      unspecified_media_item_type = \"unspecified_media_item_type\",\n      /** Image media type. */\n      image = \"image\",\n      /** Video media type. */\n      video = \"video\",\n      /** Audio media type. */\n      audio = \"audio\",\n      /** Document media type. */\n      document = \"document\",\n      /** Zip media type. */\n      zip = \"zip\"\n  }\n  interface MediaItemVideo$1 {\n      /** Data (URL, size) about each resolution for which this video is available. */\n      files?: MediaItemUrlAndSize$1[];\n      /** ID of an image taken from the video. Used primarily for Wix Search indexing. For example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`. */\n      stillFrameMediaId?: string;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$1 {\n      /** SEO tag information. */\n      tags?: Tag$1[];\n      /** SEO general settings. */\n      settings?: Settings$1;\n  }\n  interface Keyword$1 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag$1 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$1 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$1[];\n  }\n  interface QueryCollectionsRequest$1 {\n      query?: PlatformQuery$1;\n  }\n  interface PlatformQuery$1 extends PlatformQueryPagingMethodOneOf$1 {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging$1;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf$1 {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging$1;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCollectionsResponse$1 {\n      collections?: Collection$1[];\n      metadata?: PlatformPagingMetadata$1;\n  }\n  interface PlatformPagingMetadata$1 {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /** The offset which was requested. Returned if offset paging was used. */\n      offset?: number | null;\n      /** The total number of items that match the query. Returned if offset paging was used. */\n      total?: number | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used. */\n      cursors?: Cursors$1;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetCollectionRequest$1 {\n      /** Requested collection ID. */\n      _id: string;\n  }\n  interface GetCollectionResponse$1 {\n      collection?: Collection$1;\n  }\n  interface GetCollectionBySlugRequest$1 {\n      /** Slug of the collection to retrieve. */\n      slug: string;\n  }\n  interface GetCollectionBySlugResponse$1 {\n      /** The requested collection. */\n      collection?: Collection$1;\n  }\n  /**\n   * Retrieves a list of up to 100 collections, given the provided paging, sorting and filtering.\n   * See [Stores Pagination](https://dev.wix.com/api/rest/wix-stores/pagination) for more information.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryCollections$1(): CollectionsQueryBuilder;\n  interface QueryOffsetResult$1 {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CollectionsQueryResult extends QueryOffsetResult$1 {\n      items: Collection$1[];\n      query: CollectionsQueryBuilder;\n      next: () => Promise<CollectionsQueryResult>;\n      prev: () => Promise<CollectionsQueryResult>;\n  }\n  interface CollectionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name', value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name', value: any) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name', value: string) => CollectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'name', value: any[]) => CollectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name', value: any) => CollectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'name', value: boolean) => CollectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'name'>) => CollectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'name'>) => CollectionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CollectionsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => CollectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CollectionsQueryResult>;\n  }\n  /**\n   * Retrieves a collection with the provided ID.\n   * @param _id - Requested collection ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function getCollection$1(_id: string): Promise<Collection$1>;\n  /**\n   * Retrieves a collection with the provided slug.\n   * @param slug - Slug of the collection to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField slug\n   * @adminMethod\n   */\n  function getCollectionBySlug$1(slug: string): Promise<GetCollectionBySlugResponse$1>;\n  \n  type storesCatalogV1Collection_universal_d_CollectionsQueryResult = CollectionsQueryResult;\n  type storesCatalogV1Collection_universal_d_CollectionsQueryBuilder = CollectionsQueryBuilder;\n  namespace storesCatalogV1Collection_universal_d {\n    export {\n      Collection$1 as Collection,\n      Media$1 as Media,\n      MediaItem$2 as MediaItem,\n      MediaItemItemOneOf$1 as MediaItemItemOneOf,\n      MediaItemUrlAndSize$1 as MediaItemUrlAndSize,\n      MediaItemType$2 as MediaItemType,\n      MediaItemVideo$1 as MediaItemVideo,\n      SeoSchema$1 as SeoSchema,\n      Keyword$1 as Keyword,\n      Tag$1 as Tag,\n      Settings$1 as Settings,\n      QueryCollectionsRequest$1 as QueryCollectionsRequest,\n      PlatformQuery$1 as PlatformQuery,\n      PlatformQueryPagingMethodOneOf$1 as PlatformQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      PlatformPaging$1 as PlatformPaging,\n      CursorPaging$1 as CursorPaging,\n      QueryCollectionsResponse$1 as QueryCollectionsResponse,\n      PlatformPagingMetadata$1 as PlatformPagingMetadata,\n      Cursors$1 as Cursors,\n      GetCollectionRequest$1 as GetCollectionRequest,\n      GetCollectionResponse$1 as GetCollectionResponse,\n      GetCollectionBySlugRequest$1 as GetCollectionBySlugRequest,\n      GetCollectionBySlugResponse$1 as GetCollectionBySlugResponse,\n      queryCollections$1 as queryCollections,\n      storesCatalogV1Collection_universal_d_CollectionsQueryResult as CollectionsQueryResult,\n      storesCatalogV1Collection_universal_d_CollectionsQueryBuilder as CollectionsQueryBuilder,\n      getCollection$1 as getCollection,\n      getCollectionBySlug$1 as getCollectionBySlug,\n    };\n  }\n  \n  interface InventoryItemV2 {\n      /** Inventory item ID. */\n      _id?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated Deprecated: use productId.\n       * @replacedBy product_id\n       * @targetRemovalDate 2024-12-31\n       */\n      externalId?: string | null;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      productId?: string | null;\n      /** Whether quantity is being tracked. */\n      trackQuantity?: boolean | null;\n      /** Variants associated with this inventory item. */\n      variants?: InventoryVariantV2[];\n      /**\n       * Last updated timestamp.\n       * @readonly\n       */\n      lastUpdated?: Date | null;\n      /**\n       * Inventory’s unique numeric ID (assigned in ascending order).\n       * Primarily for sorting and filtering when crawling all inventories.\n       * @readonly\n       */\n      numericId?: string;\n      /** Preorder information. */\n      preorderInfo?: PreorderInfo$1;\n  }\n  interface InventoryVariantV2 {\n      /** Variant ID. */\n      variantId?: string;\n      /** Whether the product is listed as in stock. */\n      inStock?: boolean | null;\n      /** Quantity currently left in inventory. */\n      quantity?: number | null;\n      /**\n       * Whether the variant is available for preorder. When `true`, the variant is out of stock and preorder is enabled on inventory level.\n       * @readonly\n       */\n      availableForPreorder?: boolean;\n  }\n  interface PreorderInfo$1 {\n      /** Whether the item is available for preorder. */\n      enabled?: boolean;\n      /** A message the buyer will see when the item is out of stock and preorder is enabled. */\n      message?: string | null;\n      /** Number of products that can be preordered after stock reaches zero. */\n      limit?: number | null;\n  }\n  interface InventoryItemChanged {\n      /** Inventory item ID. */\n      inventoryItemId?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated Deprecated: use productId.\n       * @replacedBy product_id\n       * @targetRemovalDate 2024-12-31\n       */\n      externalId?: string;\n      /** Product ID. */\n      productId?: string;\n      /** Whether inventory is being tracked. */\n      trackInventory?: boolean;\n      /** Preorder information. */\n      preorderInfo?: PreorderInfo$1;\n      /**\n       * Field mask of updated fields.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Date and time the inventory item was last updated. */\n      _updatedDate?: Date | null;\n  }\n  interface InventoryVariantsChanged {\n      /** Inventory item ID. */\n      inventoryItemId?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated Deprecated: use productId.\n       * @replacedBy product_id\n       * @targetRemovalDate 2024-12-31\n       */\n      externalId?: string;\n      /** Product ID. */\n      productId?: string;\n      /** Information about changed variants. */\n      variants?: ChangedInventoryVariant[];\n      /**\n       * Reason data\n       * @internal\n       */\n      reason?: ReasonType;\n      /** Date and time the inventory variant item was last updated. */\n      _updatedDate?: Date | null;\n  }\n  interface ChangedInventoryVariant {\n      /** Variant ID. */\n      _id?: string;\n      /** Previous inventory variant data. */\n      oldValue?: ChangedInventoryVariantData;\n      /** Current inventory variant data. */\n      newValue?: ChangedInventoryVariantData;\n  }\n  interface ChangedInventoryVariantData {\n      /** Inventory variant quantity. */\n      quantity?: number | null;\n      /** Whether the product variant is in stock. */\n      inStock?: boolean;\n      /** Whether the variant is available for preorder. When `true`, the variant is out of stock and preorder is enabled on inventory level. */\n      availableForPreorder?: boolean;\n  }\n  enum ReasonType {\n      /** Unknown reason. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Order related. */\n      ORDER = \"ORDER\",\n      /** Manual adjustment. */\n      MANUAL = \"MANUAL\",\n      /** Reverting an inventory change. */\n      REVERT_INVENTORY_CHANGE = \"REVERT_INVENTORY_CHANGE\"\n  }\n  interface GetInventoryVariantsRequest extends GetInventoryVariantsRequestIdOneOf {\n      /** Inventory item ID. */\n      inventoryId: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated Deprecated (use productID instead).\n       * @replacedBy product_id\n       * @targetRemovalDate 2024-12-31\n       */\n      externalId?: string;\n      /** Product ID. */\n      productId?: string;\n      /** Variant IDs to query for this inventory item (optional). */\n      variantIds?: string[];\n  }\n  /** @oneof */\n  interface GetInventoryVariantsRequestIdOneOf {\n      /** Inventory item ID. */\n      inventoryId?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated Deprecated (use productID instead).\n       * @replacedBy product_id\n       * @targetRemovalDate 2024-12-31\n       */\n      externalId?: string;\n      /** Product ID. */\n      productId?: string;\n  }\n  interface GetInventoryVariantsResponse {\n      /** Inventory item. */\n      inventoryItem?: InventoryItemV2;\n  }\n  interface GetInventoryItemsRequest {\n      /** Product IDs */\n      productIds?: string[];\n  }\n  interface GetInventoryItemsResponse {\n      /** Inventory items. */\n      inventoryItems?: InventoryItemV2[];\n  }\n  interface QueryInventoryRequest {\n      /** Information about paging, filters, sorting. */\n      query?: Query$3;\n  }\n  interface Query$3 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$4;\n      /** Filter string */\n      filter?: string | null;\n      /** Sort string */\n      sort?: string | null;\n  }\n  interface Paging$4 {\n      /** Amount of items to load per page */\n      limit?: number | null;\n      /** Number of items to skip in the display (relevant for all pages after the first) */\n      offset?: number | null;\n  }\n  interface QueryInventoryResponse {\n      /** Inventory items. */\n      inventoryItems?: InventoryItemV2[];\n      /** Display metadata. */\n      metadata?: PagingMetadata$3;\n      /** Number of total results. */\n      totalResults?: number;\n  }\n  interface PagingMetadata$3 {\n      /** Amount of items to load per page */\n      items?: number;\n      /** Number of items to skip in the display (relevant for all pages after the first) */\n      offset?: number;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface UpdateInventoryVariantsRequest {\n      /** Inventory item. */\n      inventoryItem: InventoryItemV2;\n      /** @internal */\n      reason?: ReasonType;\n  }\n  interface UpdateInventoryVariantsResponse {\n  }\n  interface BulkUpdateInventoryVariantsRequest extends BulkUpdateInventoryVariantsRequestActionOneOf {\n      /** Change availability. */\n      setInStock?: boolean | null;\n      /** Set new quantity. */\n      setQuantity?: number | null;\n      /** Number to increment inventory by. */\n      incrementBy?: number | null;\n      /** Number to decrement inventory by. */\n      decrementBy?: number | null;\n      /** Variants filter. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language). */\n      filter: Record<string, any> | null;\n      /** @internal */\n      reason?: ReasonType;\n      /** @internal */\n      changeTrackingMethod?: boolean;\n  }\n  /** @oneof */\n  interface BulkUpdateInventoryVariantsRequestActionOneOf {\n      /** Change availability. */\n      setInStock?: boolean | null;\n      /** Set new quantity. */\n      setQuantity?: number | null;\n      /** Number to increment inventory by. */\n      incrementBy?: number | null;\n      /** Number to decrement inventory by. */\n      decrementBy?: number | null;\n  }\n  interface BulkUpdateInventoryVariantsResponse {\n  }\n  interface BulkUpdateInventoryItemsRequest {\n      /** Variants filter */\n      variantsFilter: Record<string, any> | null;\n      /** Whether inventory is being tracked. */\n      trackInventory: boolean | null;\n  }\n  interface BulkUpdateInventoryItemsResponse {\n  }\n  interface DecrementInventoryRequest {\n      /** Item or product to decrement. */\n      decrementData?: DecrementData[];\n      /** @internal */\n      reason?: ReasonType;\n      /** @internal */\n      restrictInventoryValue?: boolean;\n  }\n  interface DecrementData extends DecrementDataIdOneOf {\n      /** Inventory item ID. */\n      inventoryId?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated Deprecated: use productId.\n       * @replacedBy product_id\n       * @targetRemovalDate 2024-12-31\n       */\n      externalId?: string;\n      /** Product ID. */\n      productId?: string;\n      /** Variant ID. */\n      variantId?: string;\n      /** Number to decrement inventory by. */\n      decrementBy?: number;\n      /**\n       * Whether the request to decrement the item's inventory was made as part of a purchase that includes preorder items.\n       * If true and the item is available for preorder, we allow negative inventory.\n       * If false and the item is not available for preorder, we allow regular buy flow (no negative inventory).\n       */\n      preorderRequest?: boolean;\n  }\n  /** @oneof */\n  interface DecrementDataIdOneOf {\n      /** Inventory item ID. */\n      inventoryId?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated Deprecated: use productId.\n       * @replacedBy product_id\n       * @targetRemovalDate 2024-12-31\n       */\n      externalId?: string;\n      /** Product ID. */\n      productId?: string;\n  }\n  interface DecrementInventoryResponse {\n  }\n  interface IncrementInventoryRequest {\n      /** Item or product to increment. */\n      incrementData?: IncrementData[];\n      /** @internal */\n      reason?: ReasonType;\n  }\n  interface IncrementData extends IncrementDataIdOneOf {\n      /** Inventory item ID. */\n      inventoryId?: string;\n      /** Product ID. */\n      productId?: string;\n      /** Variant ID. */\n      variantId?: string;\n      /** Number to increment inventory by. */\n      incrementBy?: number;\n  }\n  /** @oneof */\n  interface IncrementDataIdOneOf {\n      /** Inventory item ID. */\n      inventoryId?: string;\n      /** Product ID. */\n      productId?: string;\n  }\n  interface IncrementInventoryResponse {\n  }\n  /**\n   * Gets inventory variant information based on the specified option choices.\n   *\n   *\n   * The `getInventoryVariants()` function returns a Promise that resolves to the specified inventory variant information.\n   * @param inventoryId - Inventory item ID.\n   * @public\n   * @requiredField inventoryId\n   * @permissionId WIX_STORES.READ_INVENTORY\n   */\n  function getInventoryVariants(inventoryId: string, options?: GetInventoryVariantsOptions): Promise<GetInventoryVariantsResponse>;\n  interface GetInventoryVariantsOptions extends GetInventoryVariantsRequestIdOneOf {\n      /**\n       * @internal\n       * @internal\n       * @deprecated Deprecated (use productID instead).\n       * @replacedBy product_id\n       * @targetRemovalDate 2024-12-31\n       */\n      externalId?: string;\n      /** Product ID. */\n      productId?: string;\n      /** Variant IDs to query for this inventory item (optional). */\n      variantIds?: string[];\n  }\n  /**\n   * Returns a list of inventory items, given the provided paging, sorting and filtering.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.READ_INVENTORY\n   */\n  function queryInventory(options?: QueryInventoryOptions): Promise<QueryInventoryResponse>;\n  interface QueryInventoryOptions {\n      /** Information about paging, filters, sorting. */\n      query?: Query$3;\n  }\n  /**\n   * Updates product inventory, including total quantity, whether the product is in stock, and whether the product inventory is tracked.\n   *\n   *\n   * The `updateInventoryVariants()` function is a Promise that resolves to the updated inventory variant data.\n   * @param productId - Product ID.\n   * @public\n   * @requiredField inventoryItem\n   * @requiredField productId\n   * @param inventoryItem - Inventory item to update.\n   * @permissionId WIX_STORES.MODIFY_INVENTORY\n   * @adminMethod\n   */\n  function updateInventoryVariants(productId: string | null, inventoryItem: UpdateInventoryVariantsInventoryItem, options?: UpdateInventoryVariantsOptions): Promise<void>;\n  interface UpdateInventoryVariantsInventoryItem {\n      /** Inventory item ID. */\n      _id?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated Deprecated: use productId.\n       * @replacedBy product_id\n       * @targetRemovalDate 2024-12-31\n       */\n      externalId?: string | null;\n      /** Whether quantity is being tracked. */\n      trackQuantity?: boolean | null;\n      /** Variants associated with this inventory item. */\n      variants?: InventoryVariantV2[];\n      /**\n       * Last updated timestamp.\n       * @readonly\n       */\n      lastUpdated?: Date | null;\n      /**\n       * Inventory’s unique numeric ID (assigned in ascending order).\n       * Primarily for sorting and filtering when crawling all inventories.\n       * @readonly\n       */\n      numericId?: string;\n      /** Preorder information. */\n      preorderInfo?: PreorderInfo$1;\n  }\n  interface UpdateInventoryVariantsOptions {\n      /** @internal */\n      reason?: ReasonType;\n  }\n  /**\n   * Updates variants in bulk by filter, including total quantity, whether the product is in stock, and whether the product inventory is tracked.\n   * @param filter - Variants filter. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_STORES.MODIFY_INVENTORY\n   * @adminMethod\n   */\n  function bulkUpdateInventoryVariants(filter: Record<string, any> | null, options?: BulkUpdateInventoryVariantsOptions): Promise<void>;\n  interface BulkUpdateInventoryVariantsOptions extends BulkUpdateInventoryVariantsRequestActionOneOf {\n      /** Change availability. */\n      setInStock?: boolean | null;\n      /** Set new quantity. */\n      setQuantity?: number | null;\n      /** Number to increment inventory by. */\n      incrementBy?: number | null;\n      /** Number to decrement inventory by. */\n      decrementBy?: number | null;\n      /** @internal */\n      reason?: ReasonType;\n      /** @internal */\n      changeTrackingMethod?: boolean;\n  }\n  /**\n   * Updates inventory tracking method in bulk by filter.\n   * @param variantsFilter - Variants filter\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.trackInventory\n   * @requiredField variantsFilter\n   * @permissionId WIX_STORES.MODIFY_INVENTORY\n   * @adminMethod\n   */\n  function bulkUpdateInventoryItems(variantsFilter: Record<string, any> | null, options: BulkUpdateInventoryItemsOptions): Promise<void>;\n  interface BulkUpdateInventoryItemsOptions {\n      /** Whether inventory is being tracked. */\n      trackInventory: boolean | null;\n  }\n  /**\n   * Subtracts a set number of items from inventory.\n   *\n   *\n   * The `decrementInventory()` function returns a Promise that is resolved when the specified item's quantity has been updated in the inventory.\n   * @param decrementData - Item or product to decrement.\n   * @public\n   * @requiredField decrementData\n   * @permissionId WIX_STORES.MODIFY_INVENTORY\n   * @adminMethod\n   */\n  function decrementInventory(decrementData: DecrementData[], options?: DecrementInventoryOptions): Promise<void>;\n  interface DecrementInventoryOptions {\n      /** @internal */\n      reason?: ReasonType;\n      /** @internal */\n      restrictInventoryValue?: boolean;\n  }\n  /**\n   * Adds a set number of items to inventory.\n   *\n   *\n   * The `incrementInventory()` function returns a Promise that is resolved when the specified item's quantity has been updated in the inventory.\n   * @param incrementData - Item or product to increment.\n   * @public\n   * @requiredField incrementData\n   * @permissionId WIX_STORES.MODIFY_INVENTORY\n   * @adminMethod\n   */\n  function incrementInventory(incrementData: IncrementData[], options?: IncrementInventoryOptions): Promise<void>;\n  interface IncrementInventoryOptions {\n      /** @internal */\n      reason?: ReasonType;\n  }\n  \n  type storesV2Inventory_universal_d_InventoryItemV2 = InventoryItemV2;\n  type storesV2Inventory_universal_d_InventoryVariantV2 = InventoryVariantV2;\n  type storesV2Inventory_universal_d_InventoryItemChanged = InventoryItemChanged;\n  type storesV2Inventory_universal_d_InventoryVariantsChanged = InventoryVariantsChanged;\n  type storesV2Inventory_universal_d_ChangedInventoryVariant = ChangedInventoryVariant;\n  type storesV2Inventory_universal_d_ChangedInventoryVariantData = ChangedInventoryVariantData;\n  type storesV2Inventory_universal_d_ReasonType = ReasonType;\n  const storesV2Inventory_universal_d_ReasonType: typeof ReasonType;\n  type storesV2Inventory_universal_d_GetInventoryVariantsRequest = GetInventoryVariantsRequest;\n  type storesV2Inventory_universal_d_GetInventoryVariantsRequestIdOneOf = GetInventoryVariantsRequestIdOneOf;\n  type storesV2Inventory_universal_d_GetInventoryVariantsResponse = GetInventoryVariantsResponse;\n  type storesV2Inventory_universal_d_GetInventoryItemsRequest = GetInventoryItemsRequest;\n  type storesV2Inventory_universal_d_GetInventoryItemsResponse = GetInventoryItemsResponse;\n  type storesV2Inventory_universal_d_QueryInventoryRequest = QueryInventoryRequest;\n  type storesV2Inventory_universal_d_QueryInventoryResponse = QueryInventoryResponse;\n  type storesV2Inventory_universal_d_UpdateInventoryVariantsRequest = UpdateInventoryVariantsRequest;\n  type storesV2Inventory_universal_d_UpdateInventoryVariantsResponse = UpdateInventoryVariantsResponse;\n  type storesV2Inventory_universal_d_BulkUpdateInventoryVariantsRequest = BulkUpdateInventoryVariantsRequest;\n  type storesV2Inventory_universal_d_BulkUpdateInventoryVariantsRequestActionOneOf = BulkUpdateInventoryVariantsRequestActionOneOf;\n  type storesV2Inventory_universal_d_BulkUpdateInventoryVariantsResponse = BulkUpdateInventoryVariantsResponse;\n  type storesV2Inventory_universal_d_BulkUpdateInventoryItemsRequest = BulkUpdateInventoryItemsRequest;\n  type storesV2Inventory_universal_d_BulkUpdateInventoryItemsResponse = BulkUpdateInventoryItemsResponse;\n  type storesV2Inventory_universal_d_DecrementInventoryRequest = DecrementInventoryRequest;\n  type storesV2Inventory_universal_d_DecrementData = DecrementData;\n  type storesV2Inventory_universal_d_DecrementDataIdOneOf = DecrementDataIdOneOf;\n  type storesV2Inventory_universal_d_DecrementInventoryResponse = DecrementInventoryResponse;\n  type storesV2Inventory_universal_d_IncrementInventoryRequest = IncrementInventoryRequest;\n  type storesV2Inventory_universal_d_IncrementData = IncrementData;\n  type storesV2Inventory_universal_d_IncrementDataIdOneOf = IncrementDataIdOneOf;\n  type storesV2Inventory_universal_d_IncrementInventoryResponse = IncrementInventoryResponse;\n  const storesV2Inventory_universal_d_getInventoryVariants: typeof getInventoryVariants;\n  type storesV2Inventory_universal_d_GetInventoryVariantsOptions = GetInventoryVariantsOptions;\n  const storesV2Inventory_universal_d_queryInventory: typeof queryInventory;\n  type storesV2Inventory_universal_d_QueryInventoryOptions = QueryInventoryOptions;\n  const storesV2Inventory_universal_d_updateInventoryVariants: typeof updateInventoryVariants;\n  type storesV2Inventory_universal_d_UpdateInventoryVariantsInventoryItem = UpdateInventoryVariantsInventoryItem;\n  type storesV2Inventory_universal_d_UpdateInventoryVariantsOptions = UpdateInventoryVariantsOptions;\n  const storesV2Inventory_universal_d_bulkUpdateInventoryVariants: typeof bulkUpdateInventoryVariants;\n  type storesV2Inventory_universal_d_BulkUpdateInventoryVariantsOptions = BulkUpdateInventoryVariantsOptions;\n  const storesV2Inventory_universal_d_bulkUpdateInventoryItems: typeof bulkUpdateInventoryItems;\n  type storesV2Inventory_universal_d_BulkUpdateInventoryItemsOptions = BulkUpdateInventoryItemsOptions;\n  const storesV2Inventory_universal_d_decrementInventory: typeof decrementInventory;\n  type storesV2Inventory_universal_d_DecrementInventoryOptions = DecrementInventoryOptions;\n  const storesV2Inventory_universal_d_incrementInventory: typeof incrementInventory;\n  type storesV2Inventory_universal_d_IncrementInventoryOptions = IncrementInventoryOptions;\n  namespace storesV2Inventory_universal_d {\n    export {\n      storesV2Inventory_universal_d_InventoryItemV2 as InventoryItemV2,\n      storesV2Inventory_universal_d_InventoryVariantV2 as InventoryVariantV2,\n      PreorderInfo$1 as PreorderInfo,\n      storesV2Inventory_universal_d_InventoryItemChanged as InventoryItemChanged,\n      storesV2Inventory_universal_d_InventoryVariantsChanged as InventoryVariantsChanged,\n      storesV2Inventory_universal_d_ChangedInventoryVariant as ChangedInventoryVariant,\n      storesV2Inventory_universal_d_ChangedInventoryVariantData as ChangedInventoryVariantData,\n      storesV2Inventory_universal_d_ReasonType as ReasonType,\n      storesV2Inventory_universal_d_GetInventoryVariantsRequest as GetInventoryVariantsRequest,\n      storesV2Inventory_universal_d_GetInventoryVariantsRequestIdOneOf as GetInventoryVariantsRequestIdOneOf,\n      storesV2Inventory_universal_d_GetInventoryVariantsResponse as GetInventoryVariantsResponse,\n      storesV2Inventory_universal_d_GetInventoryItemsRequest as GetInventoryItemsRequest,\n      storesV2Inventory_universal_d_GetInventoryItemsResponse as GetInventoryItemsResponse,\n      storesV2Inventory_universal_d_QueryInventoryRequest as QueryInventoryRequest,\n      Query$3 as Query,\n      Paging$4 as Paging,\n      storesV2Inventory_universal_d_QueryInventoryResponse as QueryInventoryResponse,\n      PagingMetadata$3 as PagingMetadata,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      storesV2Inventory_universal_d_UpdateInventoryVariantsRequest as UpdateInventoryVariantsRequest,\n      storesV2Inventory_universal_d_UpdateInventoryVariantsResponse as UpdateInventoryVariantsResponse,\n      storesV2Inventory_universal_d_BulkUpdateInventoryVariantsRequest as BulkUpdateInventoryVariantsRequest,\n      storesV2Inventory_universal_d_BulkUpdateInventoryVariantsRequestActionOneOf as BulkUpdateInventoryVariantsRequestActionOneOf,\n      storesV2Inventory_universal_d_BulkUpdateInventoryVariantsResponse as BulkUpdateInventoryVariantsResponse,\n      storesV2Inventory_universal_d_BulkUpdateInventoryItemsRequest as BulkUpdateInventoryItemsRequest,\n      storesV2Inventory_universal_d_BulkUpdateInventoryItemsResponse as BulkUpdateInventoryItemsResponse,\n      storesV2Inventory_universal_d_DecrementInventoryRequest as DecrementInventoryRequest,\n      storesV2Inventory_universal_d_DecrementData as DecrementData,\n      storesV2Inventory_universal_d_DecrementDataIdOneOf as DecrementDataIdOneOf,\n      storesV2Inventory_universal_d_DecrementInventoryResponse as DecrementInventoryResponse,\n      storesV2Inventory_universal_d_IncrementInventoryRequest as IncrementInventoryRequest,\n      storesV2Inventory_universal_d_IncrementData as IncrementData,\n      storesV2Inventory_universal_d_IncrementDataIdOneOf as IncrementDataIdOneOf,\n      storesV2Inventory_universal_d_IncrementInventoryResponse as IncrementInventoryResponse,\n      storesV2Inventory_universal_d_getInventoryVariants as getInventoryVariants,\n      storesV2Inventory_universal_d_GetInventoryVariantsOptions as GetInventoryVariantsOptions,\n      storesV2Inventory_universal_d_queryInventory as queryInventory,\n      storesV2Inventory_universal_d_QueryInventoryOptions as QueryInventoryOptions,\n      storesV2Inventory_universal_d_updateInventoryVariants as updateInventoryVariants,\n      storesV2Inventory_universal_d_UpdateInventoryVariantsInventoryItem as UpdateInventoryVariantsInventoryItem,\n      storesV2Inventory_universal_d_UpdateInventoryVariantsOptions as UpdateInventoryVariantsOptions,\n      storesV2Inventory_universal_d_bulkUpdateInventoryVariants as bulkUpdateInventoryVariants,\n      storesV2Inventory_universal_d_BulkUpdateInventoryVariantsOptions as BulkUpdateInventoryVariantsOptions,\n      storesV2Inventory_universal_d_bulkUpdateInventoryItems as bulkUpdateInventoryItems,\n      storesV2Inventory_universal_d_BulkUpdateInventoryItemsOptions as BulkUpdateInventoryItemsOptions,\n      storesV2Inventory_universal_d_decrementInventory as decrementInventory,\n      storesV2Inventory_universal_d_DecrementInventoryOptions as DecrementInventoryOptions,\n      storesV2Inventory_universal_d_incrementInventory as incrementInventory,\n      storesV2Inventory_universal_d_IncrementInventoryOptions as IncrementInventoryOptions,\n    };\n  }\n  \n  interface Order {\n      /**\n       * Order ID (auto-generated upon order creation).\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Order number displayed in the owner's store (auto-generated).\n       * @readonly\n       */\n      number?: number;\n      /**\n       * Order creation date and time.\n       * @readonly\n       */\n      dateCreated?: Date | null;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$1;\n      /** Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. */\n      currency?: string | null;\n      /** Weight unit used in this store. */\n      weightUnit?: WeightUnit;\n      /** Totals for order's line items. */\n      totals?: Totals$1;\n      /** Billing information. */\n      billingInfo?: BillingInfo;\n      /** Shipping information. */\n      shippingInfo?: ShippingInfo;\n      /** A note added by the buyer. */\n      buyerNote?: string | null;\n      /**\n       * Deprecated.\n       * @readonly\n       * @deprecated\n       */\n      read?: boolean;\n      /**\n       * Whether or not the order was archived.\n       * @readonly\n       */\n      archived?: boolean;\n      /** Current status of the payment. */\n      paymentStatus?: PaymentStatus;\n      /**\n       * Order's current fulfillment status (whether the order received a tracking number or was delivered/picked up).\n       * @readonly\n       */\n      fulfillmentStatus?: FulfillmentStatus;\n      /** Line items ordered. */\n      lineItems?: LineItem[];\n      /**\n       * Log of updates related to the order.\n       * @readonly\n       */\n      activities?: Activity$1[];\n      /** Invoice information. */\n      invoiceInfo?: InvoiceInfo;\n      /**\n       * Order fulfillment information.\n       * @readonly\n       */\n      fulfillments?: Fulfillment[];\n      /** Discount information. */\n      discount?: Discount$2;\n      /** Custom field information. */\n      customField?: CustomField;\n      /** Shopping cart ID. */\n      cartId?: string | null;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       */\n      buyerLanguage?: string | null;\n      /** Information about the sales channel that submitted this order. */\n      channelInfo?: ChannelInfo;\n      /**\n       * Identity of the order's initiator.\n       * @readonly\n       */\n      enteredBy?: EnteredBy;\n      /**\n       * Date and time of latest update.\n       * @readonly\n       */\n      lastUpdated?: Date | null;\n      /** Subscription information. */\n      subscriptionInfo?: SubscriptionInfo;\n      /**\n       * Order’s unique numeric ID.\n       * Primarily used for sorting and filtering when crawling all orders.\n       * @readonly\n       */\n      numericId?: string;\n      /**\n       * Refund information.\n       * @readonly\n       */\n      refunds?: Refund[];\n      /**\n       * Gift card information.\n       * @internal\n       */\n      giftCard?: GiftCard;\n      /**\n       * ID of the checkout associated with this order.\n       * @internal\n       */\n      checkoutId?: string | null;\n      /**\n       * Private API flag that allows using read-only \"id\" during order creation\n       * @internal\n       */\n      isInternalOrderCreate?: boolean;\n  }\n  /** Buyer Info */\n  interface BuyerInfo$1 {\n      /** Wix customer ID */\n      _id?: string | null;\n      /**\n       * Deprecated (use identityType instead)\n       * @readonly\n       * @deprecated\n       */\n      type?: IdentityType;\n      /** Customer type */\n      identityType?: IdentityType;\n      /**\n       * Customer's first name\n       * @readonly\n       */\n      firstName?: string;\n      /**\n       * Customer's last name\n       * @readonly\n       */\n      lastName?: string;\n      /**\n       * Customer's phone number\n       * @readonly\n       */\n      phone?: string | null;\n      /**\n       * Customer's email address\n       * @readonly\n       */\n      email?: string;\n      /**\n       * Contact Id. needed for cases where the user is the buyer and so it doesn't exist on the buyer info\n       * @internal\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  enum IdentityType {\n      UNSPECIFIED_IDENTITY_TYPE = \"UNSPECIFIED_IDENTITY_TYPE\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Contact */\n      CONTACT = \"CONTACT\"\n  }\n  enum WeightUnit {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface Totals$1 {\n      /** Subtotal of all the line items, before tax. */\n      subtotal?: string;\n      /** Total shipping price, before tax. */\n      shipping?: string | null;\n      /** Total tax. */\n      tax?: string | null;\n      /** Total calculated discount value. */\n      discount?: string | null;\n      /** Total price charged. */\n      total?: string;\n      /**\n       * Total items weight.\n       * @readonly\n       */\n      weight?: string;\n      /**\n       * Total number of line items.\n       * @readonly\n       */\n      quantity?: number;\n      /**\n       * Total refund.\n       * @readonly\n       */\n      refund?: string | null;\n      /** Total calculated gift card value. */\n      giftCard?: string | null;\n  }\n  interface BillingInfo {\n      /** Payment method used for this order */\n      paymentMethod?: string | null;\n      /**\n       * Deprecated (use paymentProviderTransactionId instead)\n       * @readonly\n       * @deprecated\n       */\n      externalTransactionId?: string | null;\n      /** Transaction ID from payment provider (e.g., PayPal, Square, Stripe) transaction ID */\n      paymentProviderTransactionId?: string | null;\n      /** Transaction ID from payment gateway (e.g., Wix Payments) */\n      paymentGatewayTransactionId?: string | null;\n      /** Full billing address */\n      address?: Address;\n      /**\n       * Payment date\n       * @readonly\n       */\n      paidDate?: Date | null;\n      /** Whether order can be refunded by payment provider (manually or automatic) */\n      refundableByPaymentProvider?: boolean | null;\n  }\n  interface Address extends AddressAddressLine1OptionsOneOf {\n      /** Address line 1 (free text) */\n      addressLine1?: string;\n      /** Address line 1 (street) */\n      street?: Street;\n      /** Addressee name */\n      fullName?: FullName;\n      /** Country code (2 letters) */\n      country?: string | null;\n      /** State or district */\n      subdivision?: string | null;\n      /** City name */\n      city?: string | null;\n      /** ZIP/postal code */\n      zipCode?: string | null;\n      /** Phone number */\n      phone?: string | null;\n      /** Company name */\n      company?: string | null;\n      /** Email address */\n      email?: string | null;\n      /** address line */\n      addressLine2?: string | null;\n      /** Tax information (for Brazil only) */\n      vatId?: VatId;\n  }\n  /** @oneof */\n  interface AddressAddressLine1OptionsOneOf {\n      /** Address line 1 (free text) */\n      addressLine1?: string;\n      /** Address line 1 (street) */\n      street?: Street;\n  }\n  interface FullName {\n      /** Customer's first name */\n      firstName?: string;\n      /** Customer's last name */\n      lastName?: string;\n  }\n  interface Street {\n      /** Street number */\n      number?: string;\n      /** Street name */\n      name?: string;\n  }\n  interface VatId {\n      /** Customer's tax ID. */\n      number?: string;\n      /**\n       * Tax type.\n       * + `CPF`: For individual tax payers.\n       * + `CNPJ`: For corporations.\n       */\n      type?: VatType;\n  }\n  /** Brazilian tax info types */\n  enum VatType {\n      /** When the tax info type can't be classified, due to an error */\n      UNSPECIFIED_TAX_TYPE = \"UNSPECIFIED_TAX_TYPE\",\n      /** CPF - for individual tax payers */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface ShippingInfo extends ShippingInfoDetailsOneOf {\n      /** Shipment details (when this object describes shipment). */\n      shipmentDetails?: ShipmentDetails;\n      /** Pickup details (when this object describes pickup). */\n      pickupDetails?: PickupDetails;\n      /** Shipping option name. */\n      deliveryOption?: string;\n      /** Shipping option delivery time. */\n      estimatedDeliveryTime?: string | null;\n      /**\n       * Deprecated - Latest expected delivery date.\n       * @deprecated\n       */\n      deliverByDate?: Date | null;\n      /** Shipping region. */\n      shippingRegion?: string | null;\n      /**\n       * Unique code of provided shipping option. For example, `\"usps_std_overnight\"`.\n       * @readonly\n       */\n      code?: string | null;\n  }\n  /** @oneof */\n  interface ShippingInfoDetailsOneOf {\n      /** Shipment details (when this object describes shipment). */\n      shipmentDetails?: ShipmentDetails;\n      /** Pickup details (when this object describes pickup). */\n      pickupDetails?: PickupDetails;\n  }\n  interface ShipmentDetails {\n      /** Shipping destination address. */\n      address?: Address;\n      /**\n       * Deprecated (use fulfillments instead).\n       * @readonly\n       * @deprecated\n       */\n      trackingInfo?: TrackingInfo;\n      /** Discount applied for shipping. */\n      discount?: string | null;\n      /** Tax applied for shipping. */\n      tax?: string | null;\n      /** Price data. */\n      priceData?: ShippingPriceData;\n  }\n  interface TrackingInfo {\n      /**\n       * Tracking number\n       * @readonly\n       */\n      trackingNumber?: string | null;\n      /**\n       * Shipping provider\n       * @readonly\n       */\n      shippingProvider?: string | null;\n      /**\n       * Tracking link\n       * @readonly\n       */\n      trackingLink?: string | null;\n  }\n  interface ShippingPriceData {\n      /** Whether tax is included in the price. */\n      taxIncludedInPrice?: boolean;\n      /** Shipping price. */\n      price?: string | null;\n  }\n  interface PickupDetails {\n      /** Pickup address. */\n      pickupAddress?: PickupAddress;\n      /**\n       * Deprecated (use billingInfo instead).\n       * @readonly\n       * @deprecated\n       */\n      buyerDetails?: BuyerDetails;\n      /** Store owner's pickup instructions. */\n      pickupInstructions?: string | null;\n  }\n  interface PickupAddress {\n      /** Country code (3 letters) */\n      country?: string;\n      /** State/District */\n      subdivision?: string | null;\n      /** Address */\n      addressLine1?: string;\n      /** City */\n      city?: string;\n      /** ZIP/postal code */\n      zipCode?: string;\n  }\n  interface BuyerDetails {\n      /** Addressee name */\n      fullName?: FullName;\n      /** Email address */\n      email?: string;\n      /** Phone number */\n      phone?: string;\n  }\n  /** This might be extended in the future with pending orders statuses */\n  enum PaymentStatus {\n      /** Payment status can't be classified, due to an error */\n      UNSPECIFIED_PAYMENT_STATUS = \"UNSPECIFIED_PAYMENT_STATUS\",\n      /** Order is pending response from the payment provider */\n      PENDING = \"PENDING\",\n      /** Order is marked as not paid, and can be marked as paid later on. This is relevant for POS and offline orders */\n      NOT_PAID = \"NOT_PAID\",\n      /** The order is marked as paid */\n      PAID = \"PAID\",\n      /** Order was refunded, refund amount less than order total price */\n      PARTIALLY_REFUNDED = \"PARTIALLY_REFUNDED\",\n      /** Full order total price was refunded */\n      FULLY_REFUNDED = \"FULLY_REFUNDED\",\n      /** At least one payment was received and approved, covering less than total price amount */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\"\n  }\n  enum FulfillmentStatus {\n      /** None of the order items are fulfilled */\n      NOT_FULFILLED = \"NOT_FULFILLED\",\n      /**\n       * All of the order items are fulfilled\n       * Orders without shipping info are fulfilled automatically\n       */\n      FULFILLED = \"FULFILLED\",\n      /** Order is canceled */\n      CANCELED = \"CANCELED\",\n      /** Some, but not all of the order items are fulfilled */\n      PARTIALLY_FULFILLED = \"PARTIALLY_FULFILLED\"\n  }\n  interface LineItem {\n      /**\n       * Line item ID (auto-generated, stable within this order only)\n       * @readonly\n       */\n      index?: number | null;\n      /** Line item quantity */\n      quantity?: number;\n      /**\n       * Deprecated (use priceData instead)\n       * @readonly\n       * @deprecated\n       */\n      price?: string | null;\n      /** Line item name */\n      name?: string | null;\n      /** Product name, translated into the customer's language */\n      translatedName?: string | null;\n      /** Line item product ID (optional for POS orders) */\n      productId?: string | null;\n      /**\n       * Deprecated (use priceData instead)\n       * @readonly\n       * @deprecated\n       */\n      totalPrice?: string | null;\n      /** Line item type (may be extended) */\n      lineItemType?: LineItemType;\n      /** Line item options ordered */\n      options?: OptionSelection[];\n      /** Line item custom text field entry */\n      customTextFields?: CustomTextFieldSelection[];\n      /** Line item weight */\n      weight?: string | null;\n      /** Primary media for preview of the line item */\n      mediaItem?: MediaItem$1;\n      /** Line item SKU */\n      sku?: string | null;\n      /** Line item notes */\n      notes?: string | null;\n      /** Line item variantId (from Stores Catalog) */\n      variantId?: string | null;\n      /** Line item fulfillerId from stores fulfillers. No value equals self fulfilled */\n      fulfillerId?: string | null;\n      /** Discount applied for this line item */\n      discount?: string | null;\n      /** Tax applied for this line item */\n      tax?: string | null;\n      /**\n       * Deprecated (use priceData instead)\n       * @readonly\n       * @deprecated\n       */\n      taxIncludedInPrice?: boolean;\n      /** Tax group ID */\n      taxGroupId?: string | null;\n      /** Price data */\n      priceData?: LineItemPriceData;\n      /**\n       * Line item refundedQuantity (from refund). No value means not refunded. Shows the number of line items that were refunded\n       * @internal\n       * @readonly\n       */\n      refundedQuantity?: number | null;\n      /**\n       * Digital file identifier, relevant only for items with type DIGITAL\n       * @internal\n       */\n      digitalFile?: DigitalFile;\n  }\n  enum LineItemType {\n      /** Line item type can't be classified, due to an error */\n      UNSPECIFIED_LINE_ITEM_TYPE = \"UNSPECIFIED_LINE_ITEM_TYPE\",\n      /** Physical item type */\n      PHYSICAL = \"PHYSICAL\",\n      /** Digital item type */\n      DIGITAL = \"DIGITAL\",\n      /** Custom item price */\n      CUSTOM_AMOUNT_ITEM = \"CUSTOM_AMOUNT_ITEM\"\n  }\n  interface OptionSelection {\n      /** Option name */\n      option?: string;\n      /** Selected choice for this option */\n      selection?: string;\n  }\n  interface CustomTextFieldSelection {\n      /** Custom text field name */\n      title?: string;\n      /** Custom text field value */\n      value?: string;\n  }\n  interface MediaItem$1 {\n      /**\n       * Media type\n       * @readonly\n       */\n      mediaType?: MediaItemType$1;\n      /**\n       * Media URL\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Media item width\n       * @readonly\n       */\n      width?: number;\n      /**\n       * Media item height\n       * @readonly\n       */\n      height?: number;\n      /**\n       * Deprecated\n       * @deprecated\n       */\n      mediaId?: string | null;\n      /** Media ID (for media items previously saved in Wix Media) */\n      _id?: string | null;\n      /** Media external URL */\n      externalImageUrl?: string | null;\n      /** Alternative text for presentation when media cannot be displayed */\n      altText?: string | null;\n  }\n  enum MediaItemType$1 {\n      /** Media item type can't be classified, due to an error */\n      UNSPECIFIED_MEDIA_TYPE_ITEM = \"UNSPECIFIED_MEDIA_TYPE_ITEM\",\n      /** Image item type */\n      IMAGE = \"IMAGE\"\n  }\n  interface LineItemPriceData {\n      /** Whether tax is included in the price set for this line item */\n      taxIncludedInPrice?: boolean;\n      /** Line item price */\n      price?: string;\n      /**\n       * Total price charged to the customer (per line item) after computation of quantity and discount\n       * @readonly\n       */\n      totalPrice?: string | null;\n  }\n  interface DigitalFile {\n      /** id of the secure file in media */\n      fileId?: string;\n  }\n  interface Activity$1 {\n      /**\n       * Activity item type\n       * @readonly\n       */\n      type?: ActivityType$1;\n      /**\n       * Activity item author\n       * @readonly\n       */\n      author?: string | null;\n      /**\n       * Comment added to activity item\n       * @readonly\n       */\n      message?: string | null;\n      /**\n       * Activity item timestamp\n       * @readonly\n       */\n      timestamp?: Date | null;\n  }\n  enum ActivityType$1 {\n      /** Activity item type can't be classified, due to an error */\n      UNSPECIFIED_ORDER_HISTORY_ITEM_TYPE = \"UNSPECIFIED_ORDER_HISTORY_ITEM_TYPE\",\n      /** Store owner added a comment */\n      MERCHANT_COMMENT = \"MERCHANT_COMMENT\",\n      /** Order placed */\n      ORDER_PLACED = \"ORDER_PLACED\",\n      /** Order marked as paid, either by the store owner (for offline orders), or when an online transaction was confirmed */\n      ORDER_PAID = \"ORDER_PAID\",\n      /** Order shipping status set as fulfilled */\n      ORDER_FULFILLED = \"ORDER_FULFILLED\",\n      /** Order shipping status set as not fulfilled */\n      ORDER_NOT_FULFILLED = \"ORDER_NOT_FULFILLED\",\n      /** A download link was sent (relevant for orders with digital line items) */\n      DOWNLOAD_LINK_SENT = \"DOWNLOAD_LINK_SENT\",\n      /** An email notification for pickup was sent */\n      PICKUP_READY_EMAIL_SENT = \"PICKUP_READY_EMAIL_SENT\",\n      /** Shipping tracking number was set */\n      TRACKING_NUMBER_ADDED = \"TRACKING_NUMBER_ADDED\",\n      /** Shipping tracking number was edited */\n      TRACKING_NUMBER_EDITED = \"TRACKING_NUMBER_EDITED\",\n      /** Shipping tracking link was set */\n      TRACKING_LINK_WAS_SET = \"TRACKING_LINK_WAS_SET\",\n      /** An email confirmation of order shipment was sent */\n      SHIPPING_CONFIRMATION_EMAIL_SENT = \"SHIPPING_CONFIRMATION_EMAIL_SENT\",\n      /** Invoice was set in the order */\n      INVOICE_WAS_SET = \"INVOICE_WAS_SET\",\n      /** Invoice was removed from the order */\n      INVOICE_WAS_REMOVED = \"INVOICE_WAS_REMOVED\",\n      /** Invoice was sent to customer via email */\n      INVOICE_WAS_SENT = \"INVOICE_WAS_SENT\",\n      /** Email was sent to fulfiller */\n      FULFILLER_EMAIL_SENT = \"FULFILLER_EMAIL_SENT\",\n      /** Shipping address was updated */\n      SHIPPING_ADDRESS_EDITED = \"SHIPPING_ADDRESS_EDITED\",\n      /** Order email was updated */\n      EMAIL_EDITED = \"EMAIL_EDITED\",\n      /** Order partially paid. During the checkout for orders with deposit items. */\n      ORDER_PARTIALLY_PAID = \"ORDER_PARTIALLY_PAID\"\n  }\n  interface InvoiceInfo {\n      /** Invoice ID */\n      _id?: string;\n      /** Invoice source */\n      source?: InvoiceSource;\n  }\n  enum InvoiceSource {\n      /** Invoice source can't be classified, due to an error */\n      UNSPECIFIED_INVOICE_SOURCE = \"UNSPECIFIED_INVOICE_SOURCE\",\n      /** Invoice created using the Invoices API */\n      WIX = \"WIX\"\n  }\n  interface Fulfillment {\n      /**\n       * Fulfillment ID (auto generated upon fulfillment creation).\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Fulfillment creation date and time.\n       * @readonly\n       */\n      dateCreated?: Date | null;\n      /** Information about the line items in the fulfilled order. */\n      lineItems?: FulfillmentLineItem[];\n      /** Tracking information. */\n      trackingInfo?: FulfillmentTrackingInfo;\n  }\n  interface FulfillmentLineItem {\n      /** Line item ID (mirrors the line item index of the order). */\n      index?: number;\n      /**\n       * Line item quantity.\n       * On creation, if this parameter isn't passed, the new fulfillment will automatically include all items of this line item that have not already been linked to a fulfillment.\n       * If the order does not have the requested quantity of line items available to add to this fulfillment, the fulfillment will not be created and an error will be returned.\n       * This property will always have a value when returned.\n       */\n      quantity?: number | null;\n  }\n  interface FulfillmentTrackingInfo {\n      /** Tracking number. */\n      trackingNumber?: string;\n      /**\n       * Shipping provider. Using the following shipping providers will allow for autofilling the tracking link:\n       * * `fedex`\n       * * `ups`\n       * * `usps`\n       * * `dhl`\n       * * `canadaPost`\n       */\n      shippingProvider?: string;\n      /** Tracking link - autofilled if using a predefined shipping provider, otherwise provided on creation. */\n      trackingLink?: string | null;\n  }\n  interface Discount$2 {\n      /**\n       * Deprecated (use Totals.discount instead)\n       * @readonly\n       * @deprecated\n       */\n      value?: string;\n      /** Applied coupon */\n      appliedCoupon?: AppliedCoupon;\n  }\n  interface AppliedCoupon {\n      /** Coupon ID */\n      couponId?: string;\n      /** Coupon name */\n      name?: string;\n      /** Coupon code */\n      code?: string;\n  }\n  /** Custom field */\n  interface CustomField {\n      /** Free text that the customer entered in the custom field during the checkout process */\n      value?: string;\n      /** Title for the custom field */\n      title?: string;\n      /** The title translated according to the buyer language */\n      translatedTitle?: string;\n  }\n  interface ChannelInfo {\n      /** Sales channel that submitted the order */\n      type?: ChannelType;\n      /** Reference to an order ID from an external system, as defined in channelInfo (e.g., eBay or Amazon) */\n      externalOrderId?: string | null;\n      /** URL to the order in the external system, as defined in channelInfo (e.g., eBay or Amazon) */\n      externalOrderUrl?: string | null;\n  }\n  enum ChannelType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      WEB = \"WEB\",\n      POS = \"POS\",\n      EBAY = \"EBAY\",\n      AMAZON = \"AMAZON\",\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      WIX_INVOICES = \"WIX_INVOICES\",\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      WISH = \"WISH\",\n      CLASS_PASS = \"CLASS_PASS\",\n      GLOBAL_E = \"GLOBAL_E\",\n      FACEBOOK = \"FACEBOOK\",\n      ETSY = \"ETSY\",\n      TIKTOK = \"TIKTOK\",\n      FAIRE_COM = \"FAIRE_COM\"\n  }\n  interface EnteredBy {\n      _id?: string;\n      identityType?: EnteredByIdentityType;\n  }\n  enum EnteredByIdentityType {\n      USER = \"USER\",\n      MEMBER = \"MEMBER\",\n      CONTACT = \"CONTACT\",\n      APP = \"APP\"\n  }\n  interface SubscriptionInfo {\n      /** Subscription ID. */\n      _id?: string | null;\n      /** Current cycle number. For example, if the subscription is in the 3rd month of a 4-month subscription, the value will be `3`. */\n      cycleNumber?: number;\n      /** Subscription settings. */\n      subscriptionSettings?: SubscriptionSettings$1;\n      /** Subscription options info. */\n      subscriptionOptionInfo?: SubscriptionOptionInfo;\n  }\n  interface SubscriptionSettings$1 {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency$1;\n      /**\n       * Interval of recurring payment (optional: default value 1 will be used if not provided)\n       * @internal\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency$1 {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface SubscriptionOptionInfo {\n      /**\n       * Subscription option ID.\n       * @internal\n       */\n      _id?: string | null;\n      /** Subscription option title. */\n      title?: string;\n      /** Subscription option description. */\n      description?: string | null;\n  }\n  interface Refund {\n      /** Refund created timestamp. */\n      dateCreated?: Date | null;\n      /** Refund amount. */\n      amount?: string;\n      /** Reason for refund, given by user (optional). */\n      reason?: string | null;\n      /**\n       * Deprecated. Use externalRefund.\n       * @internal\n       * @deprecated\n       */\n      isManual?: boolean;\n      /**\n       * Deprecated. Use payment_provider_transaction_id.\n       * @internal\n       * @deprecated\n       */\n      providerTransactionId?: string | null;\n      /**\n       * Deprecated. Use id.\n       * @internal\n       * @deprecated\n       */\n      refundId?: string;\n      /** Payment provider transaction ID. Used to find refund transaction info on the payment provider's side. */\n      paymentProviderTransactionId?: string | null;\n      /** Refund ID. */\n      _id?: string;\n      /** Whether refund was made externally (on the payment provider's side). */\n      externalRefund?: boolean;\n  }\n  interface GiftCard {\n      transactionId?: string;\n      /**\n       * giftcard internal ID\n       * @deprecated giftcard internal ID\n       * @targetRemovalDate 2024-12-31\n       */\n      _id?: string;\n      /** giftcard provider appid */\n      providerId?: string;\n      /** giftcard amount */\n      amount?: string;\n  }\n  interface OrderEvent {\n      /** Order ID (auto generated upon order creation) */\n      orderId?: string;\n      /** ID displayed in the owner's store (auto generated) */\n      number?: string;\n      /** Order creation date */\n      dateCreated?: Date | null;\n      /** Customer information */\n      buyerInfo?: BuyerInfo$1;\n      /** Currency used for pricing in this store */\n      currency?: string;\n      /** Weight unit used in this store */\n      weightUnit?: WeightUnit;\n      /** Totals for order's line items */\n      totals?: Totals$1;\n      /** Whether the order was read by the store owner */\n      read?: boolean;\n      /** Order archive status */\n      archived?: boolean;\n      /** Order payment status */\n      paymentStatus?: PaymentStatus;\n      /** Order fulfillment status */\n      fulfillmentStatus?: FulfillmentStatus;\n      /** @internal */\n      ordersExperiments?: OrdersExperiments;\n      /**\n       * Checkout id\n       * @internal\n       */\n      checkoutId?: string | null;\n      /**\n       * Applied coupon\n       * @internal\n       */\n      appliedCoupon?: AppliedCoupon;\n      /**\n       * Subscription information\n       * @internal\n       */\n      subscriptionInfo?: SubscriptionInfo;\n      /** @internal */\n      cartId?: string | null;\n      /**\n       * Billing information.\n       * @internal\n       */\n      billingInfo?: BillingInfo;\n  }\n  interface OrdersExperiments {\n      epCommitTax?: boolean;\n      moveMerchantEmailToEp?: boolean;\n      moveBuyerOrderConfirmationEmailToEp?: boolean;\n      producedByEpBridge?: boolean;\n      enableRewrittenSideEffects?: boolean;\n  }\n  interface MarkAsPaidRequest {\n      /** The order id */\n      _id: string;\n      /** The payment info */\n      paymentInfo: RequestPaymentInfo;\n  }\n  interface RequestPaymentInfo {\n      /** Payment method used for this order */\n      paymentMethod?: string;\n      /** External transaction ID */\n      externalTransactionId?: string;\n  }\n  interface MarkAsPaidResponse {\n  }\n  interface SetShippingFulfillmentRequest {\n      /** The order id */\n      _id: string;\n      /** Shipment fulfillment status */\n      status?: ShipmentFulfillmentStatus;\n  }\n  /** This may be expanded in the future to include partial fulfillments */\n  enum ShipmentFulfillmentStatus {\n      /** Shipment fulfillment status can't be classified, due to an error */\n      UNSPECIFIED_SHIPMENT_FULFILLMENT_STATUS = \"UNSPECIFIED_SHIPMENT_FULFILLMENT_STATUS\",\n      /** Entire order's shipment is not fulfilled */\n      SHIPMENT_NOT_FULFILLED = \"SHIPMENT_NOT_FULFILLED\",\n      /** Entire order's shipment is fulfilled */\n      SHIPMENT_FULFILLED = \"SHIPMENT_FULFILLED\"\n  }\n  interface SetShippingFulfillmentResponse {\n  }\n  interface SendFulfillmentConfirmationRequest {\n      /** The order id */\n      _id: string;\n  }\n  interface SendFulfillmentConfirmationResponse {\n  }\n  interface MarkAsReadRequest {\n      /** The order id */\n      _id: string;\n  }\n  interface MarkAsReadResponse {\n  }\n  interface SetArchiveStatusRequest {\n      /** The order id */\n      _id: string;\n      /** New archive status */\n      archived?: boolean;\n  }\n  interface SetArchiveStatusResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface OrderAddressUpdated {\n      /**\n       * Updated order data.\n       * @readonly\n       */\n      order?: Order;\n  }\n  interface CreateOrderRequest {\n      order: Order;\n      /**\n       * Additional order settings.\n       * @internal\n       */\n      additionalOrderSettings?: AdditionalOrderSettings[];\n  }\n  interface AdditionalOrderSettings {\n      /** ID of the line item this setting applies to */\n      lineItemId?: string | null;\n      /** Whether this line item purchase was made as part of a purchase that includes preorder items. */\n      preorderRequest?: boolean;\n  }\n  interface CreateOrderResponse {\n      order?: Order;\n  }\n  interface BulkFulfillOrdersRequest {\n      filter: Record<string, any> | null;\n      /** when true shipping confirmation email will be sent to the buyer for all orders with shipment delivery */\n      sendShippingConfirmationEmail?: boolean;\n      /** when true pickup ready email will be sent to the buyer for all orders with pickup delivery */\n      sendPickupReadyEmail?: boolean;\n  }\n  interface BulkFulfillOrdersResponse {\n  }\n  interface BulkMarkOrdersAsPaidRequest {\n      filter: Record<string, any> | null;\n  }\n  interface BulkMarkOrdersAsPaidResponse {\n  }\n  interface BulkArchiveOrdersRequest {\n      filter: Record<string, any> | null;\n  }\n  interface BulkArchiveOrdersResponse {\n  }\n  interface BulkUnarchiveOrdersRequest {\n      filter: Record<string, any> | null;\n  }\n  interface BulkUnarchiveOrdersResponse {\n  }\n  interface AddFulfillerEmailWasSentActivityRequest {\n      orderId: string;\n  }\n  interface AddFulfillerEmailWasSentActivityResponse {\n  }\n  interface DeclineOrderRequest {\n      orderId: string;\n      eventTime?: Date | null;\n      reason?: string | null;\n  }\n  interface DeclineOrderResponse {\n  }\n  interface UpdateOrderEmailRequest {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      orderId: string;\n      /** New email address for billing and shipping info. */\n      email?: string;\n  }\n  interface UpdateOrderEmailResponse {\n      /** Updated order data. */\n      order?: Order;\n  }\n  interface UpdateOrderShippingAddressRequest {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      orderId: string;\n      /** New order shipping address. */\n      shippingAddress?: Address;\n  }\n  interface UpdateOrderShippingAddressResponse {\n      /** Updated order data. */\n      order?: Order;\n  }\n  interface DiffmatokyPayload {\n      left?: string;\n      right?: string;\n      compareChannel?: string;\n      entityId?: string;\n      errorInformation?: ErrorInformation;\n      tags?: string[];\n  }\n  interface ErrorInformation {\n      stackTrace?: string;\n  }\n  interface OrderCreated {\n      /** Order ID (auto generated upon order creation) */\n      orderId?: string;\n      /** ID displayed in the owner's store (auto generated) */\n      number?: string;\n      /** Order creation date */\n      dateCreated?: Date | null;\n      /** Customer information */\n      buyerInfo?: BuyerInfo$1;\n      /** Currency used for pricing in this store */\n      currency?: string;\n      /** Weight unit used in this store */\n      weightUnit?: WeightUnit;\n      /** Totals for order's line items */\n      totals?: Totals$1;\n      /** Whether the order was read by the store owner */\n      read?: boolean;\n      /** Order archive status */\n      archived?: boolean;\n      /** Order payment status */\n      paymentStatus?: PaymentStatus;\n      /** Order fulfillment status */\n      fulfillmentStatus?: FulfillmentStatus;\n      /** @internal */\n      ordersExperiments?: OrdersExperiments;\n      /**\n       * Checkout id\n       * @internal\n       */\n      checkoutId?: string | null;\n      /**\n       * Applied coupon\n       * @internal\n       */\n      appliedCoupon?: AppliedCoupon;\n      /**\n       * Subscription information\n       * @internal\n       */\n      subscriptionInfo?: SubscriptionInfo;\n      /** @internal */\n      cartId?: string | null;\n      /**\n       * Billing information.\n       * @internal\n       */\n      billingInfo?: BillingInfo;\n  }\n  interface OrderPaid {\n      /** Paid order data. */\n      order?: Order;\n      /** @internal */\n      ordersExperiments?: OrdersExperiments;\n  }\n  interface OrderCancelRefundEvent {\n      /** @readonly */\n      isCancel?: boolean;\n      /**\n       * date when cancel/refund was issued\n       * @readonly\n       */\n      issueDate?: Date | null;\n      /** will be defined if order was refunded */\n      refund?: Refund;\n      orderData?: OrderData;\n  }\n  interface OrderData {\n      /**\n       * Order ID (auto generated upon order creation)\n       * @readonly\n       */\n      orderId?: string;\n      /**\n       * means that order paid with cash, such orders might be not paid\n       * @readonly\n       */\n      isOffline?: boolean;\n      /**\n       * Order payment status\n       * @readonly\n       */\n      paymentStatus?: PaymentStatus;\n      /** Total price charged when order placed, this value isn't affected by refunds */\n      originalTotal?: string;\n      /**\n       * Order creation date\n       * @readonly\n       */\n      dateCreated?: Date | null;\n  }\n  interface OrderCanceled {\n      /**\n       * Canceled order data.\n       * @readonly\n       */\n      order?: Order;\n  }\n  interface OrderRefunded {\n      /**\n       * Refund ID.\n       * @readonly\n       */\n      refundId?: string;\n      /**\n       * Refunded order data.\n       * @readonly\n       */\n      order?: Order;\n  }\n  interface FulfillmentCreated {\n      /** Order ID (auto generated upon order creation). */\n      orderId?: string;\n      /** ID of the newly created fulfillment. */\n      fulfillmentId?: string;\n      /** Fulfillment creation date and time. */\n      dateCreated?: Date | null;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo$1;\n      /** Order fulfillment status. */\n      fulfillmentStatus?: FulfillmentStatus;\n      /** Fulfillment tracking information. */\n      trackingInfo?: FulfillmentTrackingInfo;\n  }\n  interface FulfillmentUpdated {\n      /** Order ID (auto generated upon order creation). */\n      orderId?: string;\n      /** ID of the updated fulfillment. */\n      fulfillmentId?: string;\n      /** Fulfillment tracking information. */\n      trackingInfo?: FulfillmentTrackingInfo;\n  }\n  interface FulfillmentDeleted {\n      /** Order ID (auto generated upon order creation). */\n      orderId?: string;\n      /** ID of the deleted fulfillment. */\n      fulfillmentId?: string;\n      /** Order fulfillment status. */\n      fulfillmentStatus?: FulfillmentStatus;\n  }\n  interface OrderDeclined {\n      order?: Order;\n  }\n  interface GetOrderRequestV2 {\n      /** Requested order ID */\n      _id: string;\n  }\n  interface GetOrderResponseV2 {\n      /** Order data */\n      order?: Order;\n  }\n  interface QueryOrdersRequestV2 {\n      /** Query */\n      query?: Query$2;\n  }\n  interface Query$2 {\n      paging?: Paging$3;\n      /** A filter string */\n      filter?: string | null;\n      /** A sort string */\n      sort?: string | null;\n  }\n  interface Paging$3 {\n      /** Number of items to load */\n      limit?: number | null;\n      /** The offset since the beginning of the collection */\n      offset?: number | null;\n  }\n  interface QueryOrdersResponseV2 {\n      /** Order data */\n      orders?: Order[];\n      /** Paging metadata */\n      metadata?: PagingMetadata$2;\n      /** Total results */\n      totalResults?: number;\n  }\n  interface PagingMetadata$2 {\n      /** Requested number of items to load */\n      items?: number;\n      /** Requested offset since the beginning of the collection */\n      offset?: number;\n  }\n  interface CreateFulfillmentRequest {\n      /** Order ID (to which the fulfillment will be related). */\n      orderId: string;\n      /** Fulfillment info. */\n      fulfillment: Fulfillment;\n  }\n  interface CreateFulfillmentResponse {\n      /** Fulfillment ID. */\n      _id?: string;\n      /** Updated order data. */\n      order?: Order;\n  }\n  interface UpdateFulfillmentRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Fulfillment ID */\n      fulfillmentId: string;\n      /** Updated tracking info. */\n      fulfillmentTrackingInfo?: FulfillmentTrackingInfo;\n  }\n  interface UpdateFulfillmentResponse {\n      /** Updated order data. */\n      order?: Order;\n  }\n  interface DeleteFulfillmentRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Fulfillment ID. */\n      fulfillmentId: string;\n  }\n  interface DeleteFulfillmentResponse {\n      /** Updated order data. */\n      order?: Order;\n  }\n  /**\n   * Add payment data for an order\n   * @param _id - The order id\n   * @param paymentInfo - The payment info\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField paymentInfo\n   * @adminMethod\n   */\n  function markAsPaid(_id: string, paymentInfo: RequestPaymentInfo): Promise<void>;\n  /**\n   * Set order's shipping's fulfillment status\n   * @param _id - The order id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function setShippingFulfillment(_id: string, options?: SetShippingFulfillmentOptions): Promise<void>;\n  interface SetShippingFulfillmentOptions {\n      /** Shipment fulfillment status */\n      status?: ShipmentFulfillmentStatus;\n  }\n  /**\n   * Send confirmation mail for either pickup/shipment fulfillment\n   * @param _id - The order id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function sendFulfillmentConfirmation(_id: string): Promise<void>;\n  /**\n   * Mark order as read\n   * @param _id - The order id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function markAsRead(_id: string): Promise<void>;\n  /**\n   * Set order's archive status\n   * @param _id - The order id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function setArchiveStatus(_id: string, options?: SetArchiveStatusOptions): Promise<void>;\n  interface SetArchiveStatusOptions {\n      /** New archive status */\n      archived?: boolean;\n  }\n  /**\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been replaced with\n   * [eCommerce Create Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/orders/create-order)\n   * and will be removed on September 4, 2024.\n   *\n   * </blockquote>\n   *\n   * Creates a new order.\n   *\n   * > **Notes:**\n   * > + Only orders with the `paymentStatus` parameter set as `\"PAID\"` or `\"NOT_PAID\"` will show up in the site owner's Stores Orders tab in their dashboard.\n   * > + The `billingInfo.paymentProviderTransactionId` and `billingInfo.paymentMethod` parameters can only be passed when paymentStatus is PAID.\n   * > + The `billingInfo`.address parameter is required unless `channelInfo.type: \"POS\"`.\n   * > + The `shippingInfo.shipmentDetails.address` parameter is required unless one of the following is true:\n   * >   + The `shippingInfo.pickupDetails` is passed instead\n   * >   + `channelInfo.type: \"POS\"`\n   * >   + All order items are of type digital - `lineItems.lineItemType: \"DIGITAL\"`.\n   * > + When passing `lineItems.variantId`, `lineItems.options` is required.\n   * > + When passing `lineItems.productId`, `lineItem.lineItemType` is limited to `\"PHYSICAL\"`.\n   * > + When not passing `lineItems.productId`, `lineItem.lineItemType` is limited to `\"CUSTOM_AMOUNT_ITEM\"`.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField order\n   * @requiredField order.totals\n   * @permissionId WIX_STORES.CREATE_ORDERS\n   * @adminMethod\n   * @deprecated Stores Create Order has been replaced with eCommerce Create Order.\n   * @replacedBy com.wix.ecom.orders.v1.Orders.CreateOrder\n   * @targetRemovalDate 2024-09-04\n   */\n  function createOrder(order: Order, options?: CreateOrderOptions): Promise<CreateOrderResponse>;\n  interface CreateOrderOptions {\n      /**\n       * Additional order settings.\n       * @internal\n       */\n      additionalOrderSettings?: AdditionalOrderSettings[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkFulfillOrders(filter: Record<string, any> | null, options?: BulkFulfillOrdersOptions): Promise<void>;\n  interface BulkFulfillOrdersOptions {\n      /** when true shipping confirmation email will be sent to the buyer for all orders with shipment delivery */\n      sendShippingConfirmationEmail?: boolean;\n      /** when true pickup ready email will be sent to the buyer for all orders with pickup delivery */\n      sendPickupReadyEmail?: boolean;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkMarkOrdersAsPaid(filter: Record<string, any> | null): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wix.ecom.orders.v1.Orders.BulkUpdateOrders\n   * @targetRemovalDate 2025-03-02\n   */\n  function bulkArchiveOrders(filter: Record<string, any> | null): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function bulkUnarchiveOrders(filter: Record<string, any> | null): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function addFulfillerEmailWasSentActivity(orderId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   */\n  function declineOrder(orderId: string, options?: DeclineOrderOptions): Promise<void>;\n  interface DeclineOrderOptions {\n      eventTime?: Date | null;\n      reason?: string | null;\n  }\n  /**\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been replaced with\n   * [eCommerce Update Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/orders/update-order)\n   * and will be removed on September 4, 2024.\n   *\n   * </blockquote>\n   *\n   * Updates the email address of a specified order's billing info.\n   * If shipping was selected as the delivery method, shipping info email will also be updated.\n   * @param orderId - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   * @deprecated Stores Update Order Email has been replaced with eCommerce Update Order.\n   * @replacedBy com.wix.ecom.orders.v1.Orders.UpdateOrder\n   * @targetRemovalDate 2024-09-04\n   */\n  function updateOrderEmail(orderId: string, options?: UpdateOrderEmailOptions): Promise<UpdateOrderEmailResponse>;\n  interface UpdateOrderEmailOptions {\n      /** New email address for billing and shipping info. */\n      email?: string;\n  }\n  /**\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been replaced with\n   * [eCommerce Update Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/orders/update-order)\n   * and will be removed on September 4, 2024.\n   *\n   * </blockquote>\n   *\n   * Updates the shipping address of a specified order.\n   * @param orderId - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   * @deprecated Stores Update Order Shipping Address has been replaced with eCommerce Update Order.\n   * @replacedBy com.wix.ecom.orders.v1.Orders.UpdateOrder\n   * @targetRemovalDate 2024-09-04\n   */\n  function updateOrderShippingAddress(orderId: string, options?: UpdateOrderShippingAddressOptions): Promise<UpdateOrderShippingAddressResponse>;\n  interface UpdateOrderShippingAddressOptions {\n      /** New order shipping address. */\n      shippingAddress?: Address;\n  }\n  /**\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been replaced with\n   * [eCommerce Get Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/orders/get-order)\n   * and will be removed on September 4, 2024.\n   *\n   * </blockquote>\n   *\n   * Returns an order with the provided ID.\n   * @param _id - Requested order ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.READ_ORDERS\n   * @adminMethod\n   * @deprecated Stores Get Order has been replaced with eCommerce Get Order.\n   * @replacedBy com.wix.ecom.orders.v1.Orders.GetOrder\n   * @targetRemovalDate 2024-09-04\n   */\n  function getOrder(_id: string): Promise<GetOrderResponseV2>;\n  /**\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been replaced with\n   * [eCommerce Search Orders](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/orders/search-orders)\n   * and will be removed on September 4, 2024.\n   *\n   * </blockquote>\n   *\n   * Returns a list of up to 100 orders, given the provided paging, sorting and filters.\n   * See [Stores Pagination](https://dev.wix.com/api/rest/wix-stores/pagination) for more information.\n   * Hidden orders are not returned.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.READ_ORDERS\n   * @adminMethod\n   * @deprecated Stores Query Orders has been replaced with eCommerce Search Orders.\n   * @replacedBy com.wix.ecom.orders.v1.Orders.SearchOrders\n   * @targetRemovalDate 2024-09-04\n   */\n  function queryOrders(options?: QueryOrdersOptions): Promise<QueryOrdersResponseV2>;\n  interface QueryOrdersOptions {\n      /** Query */\n      query?: Query$2;\n  }\n  /**\n   * Temp method for analytics migration\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.READ_ORDERS\n   * @adminMethod\n   */\n  function queryOrdersEventuallyConsistent(options?: QueryOrdersEventuallyConsistentOptions): Promise<QueryOrdersResponseV2>;\n  interface QueryOrdersEventuallyConsistentOptions {\n      /** Query */\n      query?: Query$2;\n  }\n  /**\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been replaced with\n   * [eCommerce Create Fulfillment](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-fulfillments/create-fulfillment)\n   * and will be removed on September 4, 2024.\n   *\n   * </blockquote>\n   *\n   * Creates a fulfillment (a subset of an order, with line items that are being shipped together) based on the body parameters passed with the request.\n   * If the site owner has requested it, calling this request will trigger an email to the customer (based on the Wix store settings).\n   * @param orderId - Order ID (to which the fulfillment will be related).\n   * @param fulfillment - Fulfillment info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fulfillment\n   * @requiredField orderId\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   * @deprecated Stores Create Fulfillment has been replaced with eCommerce Create Fulfillment.\n   * @replacedBy com.wix.ecom.orders.fulfillments.v1.Fulfillments.CreateFulfillment\n   * @targetRemovalDate 2024-09-04\n   */\n  function createFulfillment(orderId: string, fulfillment: Fulfillment): Promise<CreateFulfillmentResponse>;\n  /**\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been replaced with\n   * [eCommerce Update Fulfillment](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-fulfillments/update-fulfillment)\n   * and will be removed on September 4, 2024.\n   *\n   * </blockquote>\n   *\n   * Updates an existing fulfillment.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.fulfillmentId\n   * @requiredField identifiers.orderId\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   * @deprecated Stores Update Fulfillment has been replaced with eCommerce Update Fulfillment.\n   * @replacedBy com.wix.ecom.orders.fulfillments.v1.Fulfillments.UpdateFulfillment\n   * @targetRemovalDate 2024-09-04\n   */\n  function updateFulfillment(identifiers: UpdateFulfillmentIdentifiers, options?: UpdateFulfillmentOptions): Promise<UpdateFulfillmentResponse>;\n  interface UpdateFulfillmentIdentifiers {\n      /** Order ID. */\n      orderId: string;\n      /** Fulfillment ID */\n      fulfillmentId: string;\n  }\n  interface UpdateFulfillmentOptions {\n      /** Updated tracking info. */\n      fulfillmentTrackingInfo?: FulfillmentTrackingInfo;\n  }\n  /**\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been replaced with\n   * [eCommerce Delete Fulfillment](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-fulfillments/delete-fulfillment)\n   * and will be removed on September 4, 2024.\n   *\n   * </blockquote>\n   *\n   * Deletes an existing fulfillment.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.fulfillmentId\n   * @requiredField identifiers.orderId\n   * @permissionId WIX_STORES.MODIFY_ORDERS\n   * @adminMethod\n   * @deprecated Stores Delete Fulfillment has been replaced with eCommerce Delete Fulfillment.\n   * @replacedBy com.wix.ecom.orders.fulfillments.v1.Fulfillments.DeleteFulfillment\n   * @targetRemovalDate 2024-09-04\n   */\n  function deleteFulfillment(identifiers: DeleteFulfillmentIdentifiers): Promise<DeleteFulfillmentResponse>;\n  interface DeleteFulfillmentIdentifiers {\n      /** Order ID. */\n      orderId: string;\n      /** Fulfillment ID. */\n      fulfillmentId: string;\n  }\n  \n  type storesV2Orders_universal_d_Order = Order;\n  type storesV2Orders_universal_d_IdentityType = IdentityType;\n  const storesV2Orders_universal_d_IdentityType: typeof IdentityType;\n  type storesV2Orders_universal_d_WeightUnit = WeightUnit;\n  const storesV2Orders_universal_d_WeightUnit: typeof WeightUnit;\n  type storesV2Orders_universal_d_BillingInfo = BillingInfo;\n  type storesV2Orders_universal_d_Address = Address;\n  type storesV2Orders_universal_d_AddressAddressLine1OptionsOneOf = AddressAddressLine1OptionsOneOf;\n  type storesV2Orders_universal_d_FullName = FullName;\n  type storesV2Orders_universal_d_Street = Street;\n  type storesV2Orders_universal_d_VatId = VatId;\n  type storesV2Orders_universal_d_VatType = VatType;\n  const storesV2Orders_universal_d_VatType: typeof VatType;\n  type storesV2Orders_universal_d_ShippingInfo = ShippingInfo;\n  type storesV2Orders_universal_d_ShippingInfoDetailsOneOf = ShippingInfoDetailsOneOf;\n  type storesV2Orders_universal_d_ShipmentDetails = ShipmentDetails;\n  type storesV2Orders_universal_d_TrackingInfo = TrackingInfo;\n  type storesV2Orders_universal_d_ShippingPriceData = ShippingPriceData;\n  type storesV2Orders_universal_d_PickupDetails = PickupDetails;\n  type storesV2Orders_universal_d_PickupAddress = PickupAddress;\n  type storesV2Orders_universal_d_BuyerDetails = BuyerDetails;\n  type storesV2Orders_universal_d_PaymentStatus = PaymentStatus;\n  const storesV2Orders_universal_d_PaymentStatus: typeof PaymentStatus;\n  type storesV2Orders_universal_d_FulfillmentStatus = FulfillmentStatus;\n  const storesV2Orders_universal_d_FulfillmentStatus: typeof FulfillmentStatus;\n  type storesV2Orders_universal_d_LineItem = LineItem;\n  type storesV2Orders_universal_d_LineItemType = LineItemType;\n  const storesV2Orders_universal_d_LineItemType: typeof LineItemType;\n  type storesV2Orders_universal_d_OptionSelection = OptionSelection;\n  type storesV2Orders_universal_d_CustomTextFieldSelection = CustomTextFieldSelection;\n  type storesV2Orders_universal_d_LineItemPriceData = LineItemPriceData;\n  type storesV2Orders_universal_d_DigitalFile = DigitalFile;\n  type storesV2Orders_universal_d_InvoiceInfo = InvoiceInfo;\n  type storesV2Orders_universal_d_InvoiceSource = InvoiceSource;\n  const storesV2Orders_universal_d_InvoiceSource: typeof InvoiceSource;\n  type storesV2Orders_universal_d_Fulfillment = Fulfillment;\n  type storesV2Orders_universal_d_FulfillmentLineItem = FulfillmentLineItem;\n  type storesV2Orders_universal_d_FulfillmentTrackingInfo = FulfillmentTrackingInfo;\n  type storesV2Orders_universal_d_AppliedCoupon = AppliedCoupon;\n  type storesV2Orders_universal_d_CustomField = CustomField;\n  type storesV2Orders_universal_d_ChannelInfo = ChannelInfo;\n  type storesV2Orders_universal_d_ChannelType = ChannelType;\n  const storesV2Orders_universal_d_ChannelType: typeof ChannelType;\n  type storesV2Orders_universal_d_EnteredBy = EnteredBy;\n  type storesV2Orders_universal_d_EnteredByIdentityType = EnteredByIdentityType;\n  const storesV2Orders_universal_d_EnteredByIdentityType: typeof EnteredByIdentityType;\n  type storesV2Orders_universal_d_SubscriptionInfo = SubscriptionInfo;\n  type storesV2Orders_universal_d_SubscriptionOptionInfo = SubscriptionOptionInfo;\n  type storesV2Orders_universal_d_Refund = Refund;\n  type storesV2Orders_universal_d_GiftCard = GiftCard;\n  type storesV2Orders_universal_d_OrderEvent = OrderEvent;\n  type storesV2Orders_universal_d_OrdersExperiments = OrdersExperiments;\n  type storesV2Orders_universal_d_MarkAsPaidRequest = MarkAsPaidRequest;\n  type storesV2Orders_universal_d_RequestPaymentInfo = RequestPaymentInfo;\n  type storesV2Orders_universal_d_MarkAsPaidResponse = MarkAsPaidResponse;\n  type storesV2Orders_universal_d_SetShippingFulfillmentRequest = SetShippingFulfillmentRequest;\n  type storesV2Orders_universal_d_ShipmentFulfillmentStatus = ShipmentFulfillmentStatus;\n  const storesV2Orders_universal_d_ShipmentFulfillmentStatus: typeof ShipmentFulfillmentStatus;\n  type storesV2Orders_universal_d_SetShippingFulfillmentResponse = SetShippingFulfillmentResponse;\n  type storesV2Orders_universal_d_SendFulfillmentConfirmationRequest = SendFulfillmentConfirmationRequest;\n  type storesV2Orders_universal_d_SendFulfillmentConfirmationResponse = SendFulfillmentConfirmationResponse;\n  type storesV2Orders_universal_d_MarkAsReadRequest = MarkAsReadRequest;\n  type storesV2Orders_universal_d_MarkAsReadResponse = MarkAsReadResponse;\n  type storesV2Orders_universal_d_SetArchiveStatusRequest = SetArchiveStatusRequest;\n  type storesV2Orders_universal_d_SetArchiveStatusResponse = SetArchiveStatusResponse;\n  type storesV2Orders_universal_d_DomainEvent = DomainEvent;\n  type storesV2Orders_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type storesV2Orders_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type storesV2Orders_universal_d_RestoreInfo = RestoreInfo;\n  type storesV2Orders_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type storesV2Orders_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type storesV2Orders_universal_d_ActionEvent = ActionEvent;\n  type storesV2Orders_universal_d_OrderAddressUpdated = OrderAddressUpdated;\n  type storesV2Orders_universal_d_CreateOrderRequest = CreateOrderRequest;\n  type storesV2Orders_universal_d_AdditionalOrderSettings = AdditionalOrderSettings;\n  type storesV2Orders_universal_d_CreateOrderResponse = CreateOrderResponse;\n  type storesV2Orders_universal_d_BulkFulfillOrdersRequest = BulkFulfillOrdersRequest;\n  type storesV2Orders_universal_d_BulkFulfillOrdersResponse = BulkFulfillOrdersResponse;\n  type storesV2Orders_universal_d_BulkMarkOrdersAsPaidRequest = BulkMarkOrdersAsPaidRequest;\n  type storesV2Orders_universal_d_BulkMarkOrdersAsPaidResponse = BulkMarkOrdersAsPaidResponse;\n  type storesV2Orders_universal_d_BulkArchiveOrdersRequest = BulkArchiveOrdersRequest;\n  type storesV2Orders_universal_d_BulkArchiveOrdersResponse = BulkArchiveOrdersResponse;\n  type storesV2Orders_universal_d_BulkUnarchiveOrdersRequest = BulkUnarchiveOrdersRequest;\n  type storesV2Orders_universal_d_BulkUnarchiveOrdersResponse = BulkUnarchiveOrdersResponse;\n  type storesV2Orders_universal_d_AddFulfillerEmailWasSentActivityRequest = AddFulfillerEmailWasSentActivityRequest;\n  type storesV2Orders_universal_d_AddFulfillerEmailWasSentActivityResponse = AddFulfillerEmailWasSentActivityResponse;\n  type storesV2Orders_universal_d_DeclineOrderRequest = DeclineOrderRequest;\n  type storesV2Orders_universal_d_DeclineOrderResponse = DeclineOrderResponse;\n  type storesV2Orders_universal_d_UpdateOrderEmailRequest = UpdateOrderEmailRequest;\n  type storesV2Orders_universal_d_UpdateOrderEmailResponse = UpdateOrderEmailResponse;\n  type storesV2Orders_universal_d_UpdateOrderShippingAddressRequest = UpdateOrderShippingAddressRequest;\n  type storesV2Orders_universal_d_UpdateOrderShippingAddressResponse = UpdateOrderShippingAddressResponse;\n  type storesV2Orders_universal_d_DiffmatokyPayload = DiffmatokyPayload;\n  type storesV2Orders_universal_d_ErrorInformation = ErrorInformation;\n  type storesV2Orders_universal_d_OrderCreated = OrderCreated;\n  type storesV2Orders_universal_d_OrderPaid = OrderPaid;\n  type storesV2Orders_universal_d_OrderCancelRefundEvent = OrderCancelRefundEvent;\n  type storesV2Orders_universal_d_OrderData = OrderData;\n  type storesV2Orders_universal_d_OrderCanceled = OrderCanceled;\n  type storesV2Orders_universal_d_OrderRefunded = OrderRefunded;\n  type storesV2Orders_universal_d_FulfillmentCreated = FulfillmentCreated;\n  type storesV2Orders_universal_d_FulfillmentUpdated = FulfillmentUpdated;\n  type storesV2Orders_universal_d_FulfillmentDeleted = FulfillmentDeleted;\n  type storesV2Orders_universal_d_OrderDeclined = OrderDeclined;\n  type storesV2Orders_universal_d_GetOrderRequestV2 = GetOrderRequestV2;\n  type storesV2Orders_universal_d_GetOrderResponseV2 = GetOrderResponseV2;\n  type storesV2Orders_universal_d_QueryOrdersRequestV2 = QueryOrdersRequestV2;\n  type storesV2Orders_universal_d_QueryOrdersResponseV2 = QueryOrdersResponseV2;\n  type storesV2Orders_universal_d_CreateFulfillmentRequest = CreateFulfillmentRequest;\n  type storesV2Orders_universal_d_CreateFulfillmentResponse = CreateFulfillmentResponse;\n  type storesV2Orders_universal_d_UpdateFulfillmentRequest = UpdateFulfillmentRequest;\n  type storesV2Orders_universal_d_UpdateFulfillmentResponse = UpdateFulfillmentResponse;\n  type storesV2Orders_universal_d_DeleteFulfillmentRequest = DeleteFulfillmentRequest;\n  type storesV2Orders_universal_d_DeleteFulfillmentResponse = DeleteFulfillmentResponse;\n  const storesV2Orders_universal_d_markAsPaid: typeof markAsPaid;\n  const storesV2Orders_universal_d_setShippingFulfillment: typeof setShippingFulfillment;\n  type storesV2Orders_universal_d_SetShippingFulfillmentOptions = SetShippingFulfillmentOptions;\n  const storesV2Orders_universal_d_sendFulfillmentConfirmation: typeof sendFulfillmentConfirmation;\n  const storesV2Orders_universal_d_markAsRead: typeof markAsRead;\n  const storesV2Orders_universal_d_setArchiveStatus: typeof setArchiveStatus;\n  type storesV2Orders_universal_d_SetArchiveStatusOptions = SetArchiveStatusOptions;\n  const storesV2Orders_universal_d_createOrder: typeof createOrder;\n  type storesV2Orders_universal_d_CreateOrderOptions = CreateOrderOptions;\n  const storesV2Orders_universal_d_bulkFulfillOrders: typeof bulkFulfillOrders;\n  type storesV2Orders_universal_d_BulkFulfillOrdersOptions = BulkFulfillOrdersOptions;\n  const storesV2Orders_universal_d_bulkMarkOrdersAsPaid: typeof bulkMarkOrdersAsPaid;\n  const storesV2Orders_universal_d_bulkArchiveOrders: typeof bulkArchiveOrders;\n  const storesV2Orders_universal_d_bulkUnarchiveOrders: typeof bulkUnarchiveOrders;\n  const storesV2Orders_universal_d_addFulfillerEmailWasSentActivity: typeof addFulfillerEmailWasSentActivity;\n  const storesV2Orders_universal_d_declineOrder: typeof declineOrder;\n  type storesV2Orders_universal_d_DeclineOrderOptions = DeclineOrderOptions;\n  const storesV2Orders_universal_d_updateOrderEmail: typeof updateOrderEmail;\n  type storesV2Orders_universal_d_UpdateOrderEmailOptions = UpdateOrderEmailOptions;\n  const storesV2Orders_universal_d_updateOrderShippingAddress: typeof updateOrderShippingAddress;\n  type storesV2Orders_universal_d_UpdateOrderShippingAddressOptions = UpdateOrderShippingAddressOptions;\n  const storesV2Orders_universal_d_getOrder: typeof getOrder;\n  const storesV2Orders_universal_d_queryOrders: typeof queryOrders;\n  type storesV2Orders_universal_d_QueryOrdersOptions = QueryOrdersOptions;\n  const storesV2Orders_universal_d_queryOrdersEventuallyConsistent: typeof queryOrdersEventuallyConsistent;\n  type storesV2Orders_universal_d_QueryOrdersEventuallyConsistentOptions = QueryOrdersEventuallyConsistentOptions;\n  const storesV2Orders_universal_d_createFulfillment: typeof createFulfillment;\n  const storesV2Orders_universal_d_updateFulfillment: typeof updateFulfillment;\n  type storesV2Orders_universal_d_UpdateFulfillmentIdentifiers = UpdateFulfillmentIdentifiers;\n  type storesV2Orders_universal_d_UpdateFulfillmentOptions = UpdateFulfillmentOptions;\n  const storesV2Orders_universal_d_deleteFulfillment: typeof deleteFulfillment;\n  type storesV2Orders_universal_d_DeleteFulfillmentIdentifiers = DeleteFulfillmentIdentifiers;\n  namespace storesV2Orders_universal_d {\n    export {\n      storesV2Orders_universal_d_Order as Order,\n      BuyerInfo$1 as BuyerInfo,\n      storesV2Orders_universal_d_IdentityType as IdentityType,\n      storesV2Orders_universal_d_WeightUnit as WeightUnit,\n      Totals$1 as Totals,\n      storesV2Orders_universal_d_BillingInfo as BillingInfo,\n      storesV2Orders_universal_d_Address as Address,\n      storesV2Orders_universal_d_AddressAddressLine1OptionsOneOf as AddressAddressLine1OptionsOneOf,\n      storesV2Orders_universal_d_FullName as FullName,\n      storesV2Orders_universal_d_Street as Street,\n      storesV2Orders_universal_d_VatId as VatId,\n      storesV2Orders_universal_d_VatType as VatType,\n      storesV2Orders_universal_d_ShippingInfo as ShippingInfo,\n      storesV2Orders_universal_d_ShippingInfoDetailsOneOf as ShippingInfoDetailsOneOf,\n      storesV2Orders_universal_d_ShipmentDetails as ShipmentDetails,\n      storesV2Orders_universal_d_TrackingInfo as TrackingInfo,\n      storesV2Orders_universal_d_ShippingPriceData as ShippingPriceData,\n      storesV2Orders_universal_d_PickupDetails as PickupDetails,\n      storesV2Orders_universal_d_PickupAddress as PickupAddress,\n      storesV2Orders_universal_d_BuyerDetails as BuyerDetails,\n      storesV2Orders_universal_d_PaymentStatus as PaymentStatus,\n      storesV2Orders_universal_d_FulfillmentStatus as FulfillmentStatus,\n      storesV2Orders_universal_d_LineItem as LineItem,\n      storesV2Orders_universal_d_LineItemType as LineItemType,\n      storesV2Orders_universal_d_OptionSelection as OptionSelection,\n      storesV2Orders_universal_d_CustomTextFieldSelection as CustomTextFieldSelection,\n      MediaItem$1 as MediaItem,\n      MediaItemType$1 as MediaItemType,\n      storesV2Orders_universal_d_LineItemPriceData as LineItemPriceData,\n      storesV2Orders_universal_d_DigitalFile as DigitalFile,\n      Activity$1 as Activity,\n      ActivityType$1 as ActivityType,\n      storesV2Orders_universal_d_InvoiceInfo as InvoiceInfo,\n      storesV2Orders_universal_d_InvoiceSource as InvoiceSource,\n      storesV2Orders_universal_d_Fulfillment as Fulfillment,\n      storesV2Orders_universal_d_FulfillmentLineItem as FulfillmentLineItem,\n      storesV2Orders_universal_d_FulfillmentTrackingInfo as FulfillmentTrackingInfo,\n      Discount$2 as Discount,\n      storesV2Orders_universal_d_AppliedCoupon as AppliedCoupon,\n      storesV2Orders_universal_d_CustomField as CustomField,\n      storesV2Orders_universal_d_ChannelInfo as ChannelInfo,\n      storesV2Orders_universal_d_ChannelType as ChannelType,\n      storesV2Orders_universal_d_EnteredBy as EnteredBy,\n      storesV2Orders_universal_d_EnteredByIdentityType as EnteredByIdentityType,\n      storesV2Orders_universal_d_SubscriptionInfo as SubscriptionInfo,\n      SubscriptionSettings$1 as SubscriptionSettings,\n      SubscriptionFrequency$1 as SubscriptionFrequency,\n      storesV2Orders_universal_d_SubscriptionOptionInfo as SubscriptionOptionInfo,\n      storesV2Orders_universal_d_Refund as Refund,\n      storesV2Orders_universal_d_GiftCard as GiftCard,\n      storesV2Orders_universal_d_OrderEvent as OrderEvent,\n      storesV2Orders_universal_d_OrdersExperiments as OrdersExperiments,\n      storesV2Orders_universal_d_MarkAsPaidRequest as MarkAsPaidRequest,\n      storesV2Orders_universal_d_RequestPaymentInfo as RequestPaymentInfo,\n      storesV2Orders_universal_d_MarkAsPaidResponse as MarkAsPaidResponse,\n      storesV2Orders_universal_d_SetShippingFulfillmentRequest as SetShippingFulfillmentRequest,\n      storesV2Orders_universal_d_ShipmentFulfillmentStatus as ShipmentFulfillmentStatus,\n      storesV2Orders_universal_d_SetShippingFulfillmentResponse as SetShippingFulfillmentResponse,\n      storesV2Orders_universal_d_SendFulfillmentConfirmationRequest as SendFulfillmentConfirmationRequest,\n      storesV2Orders_universal_d_SendFulfillmentConfirmationResponse as SendFulfillmentConfirmationResponse,\n      storesV2Orders_universal_d_MarkAsReadRequest as MarkAsReadRequest,\n      storesV2Orders_universal_d_MarkAsReadResponse as MarkAsReadResponse,\n      storesV2Orders_universal_d_SetArchiveStatusRequest as SetArchiveStatusRequest,\n      storesV2Orders_universal_d_SetArchiveStatusResponse as SetArchiveStatusResponse,\n      storesV2Orders_universal_d_DomainEvent as DomainEvent,\n      storesV2Orders_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      storesV2Orders_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      storesV2Orders_universal_d_RestoreInfo as RestoreInfo,\n      storesV2Orders_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      storesV2Orders_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      storesV2Orders_universal_d_ActionEvent as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      storesV2Orders_universal_d_OrderAddressUpdated as OrderAddressUpdated,\n      storesV2Orders_universal_d_CreateOrderRequest as CreateOrderRequest,\n      storesV2Orders_universal_d_AdditionalOrderSettings as AdditionalOrderSettings,\n      storesV2Orders_universal_d_CreateOrderResponse as CreateOrderResponse,\n      storesV2Orders_universal_d_BulkFulfillOrdersRequest as BulkFulfillOrdersRequest,\n      storesV2Orders_universal_d_BulkFulfillOrdersResponse as BulkFulfillOrdersResponse,\n      storesV2Orders_universal_d_BulkMarkOrdersAsPaidRequest as BulkMarkOrdersAsPaidRequest,\n      storesV2Orders_universal_d_BulkMarkOrdersAsPaidResponse as BulkMarkOrdersAsPaidResponse,\n      storesV2Orders_universal_d_BulkArchiveOrdersRequest as BulkArchiveOrdersRequest,\n      storesV2Orders_universal_d_BulkArchiveOrdersResponse as BulkArchiveOrdersResponse,\n      storesV2Orders_universal_d_BulkUnarchiveOrdersRequest as BulkUnarchiveOrdersRequest,\n      storesV2Orders_universal_d_BulkUnarchiveOrdersResponse as BulkUnarchiveOrdersResponse,\n      storesV2Orders_universal_d_AddFulfillerEmailWasSentActivityRequest as AddFulfillerEmailWasSentActivityRequest,\n      storesV2Orders_universal_d_AddFulfillerEmailWasSentActivityResponse as AddFulfillerEmailWasSentActivityResponse,\n      storesV2Orders_universal_d_DeclineOrderRequest as DeclineOrderRequest,\n      storesV2Orders_universal_d_DeclineOrderResponse as DeclineOrderResponse,\n      storesV2Orders_universal_d_UpdateOrderEmailRequest as UpdateOrderEmailRequest,\n      storesV2Orders_universal_d_UpdateOrderEmailResponse as UpdateOrderEmailResponse,\n      storesV2Orders_universal_d_UpdateOrderShippingAddressRequest as UpdateOrderShippingAddressRequest,\n      storesV2Orders_universal_d_UpdateOrderShippingAddressResponse as UpdateOrderShippingAddressResponse,\n      storesV2Orders_universal_d_DiffmatokyPayload as DiffmatokyPayload,\n      storesV2Orders_universal_d_ErrorInformation as ErrorInformation,\n      storesV2Orders_universal_d_OrderCreated as OrderCreated,\n      storesV2Orders_universal_d_OrderPaid as OrderPaid,\n      storesV2Orders_universal_d_OrderCancelRefundEvent as OrderCancelRefundEvent,\n      storesV2Orders_universal_d_OrderData as OrderData,\n      storesV2Orders_universal_d_OrderCanceled as OrderCanceled,\n      storesV2Orders_universal_d_OrderRefunded as OrderRefunded,\n      storesV2Orders_universal_d_FulfillmentCreated as FulfillmentCreated,\n      storesV2Orders_universal_d_FulfillmentUpdated as FulfillmentUpdated,\n      storesV2Orders_universal_d_FulfillmentDeleted as FulfillmentDeleted,\n      storesV2Orders_universal_d_OrderDeclined as OrderDeclined,\n      storesV2Orders_universal_d_GetOrderRequestV2 as GetOrderRequestV2,\n      storesV2Orders_universal_d_GetOrderResponseV2 as GetOrderResponseV2,\n      storesV2Orders_universal_d_QueryOrdersRequestV2 as QueryOrdersRequestV2,\n      Query$2 as Query,\n      Paging$3 as Paging,\n      storesV2Orders_universal_d_QueryOrdersResponseV2 as QueryOrdersResponseV2,\n      PagingMetadata$2 as PagingMetadata,\n      storesV2Orders_universal_d_CreateFulfillmentRequest as CreateFulfillmentRequest,\n      storesV2Orders_universal_d_CreateFulfillmentResponse as CreateFulfillmentResponse,\n      storesV2Orders_universal_d_UpdateFulfillmentRequest as UpdateFulfillmentRequest,\n      storesV2Orders_universal_d_UpdateFulfillmentResponse as UpdateFulfillmentResponse,\n      storesV2Orders_universal_d_DeleteFulfillmentRequest as DeleteFulfillmentRequest,\n      storesV2Orders_universal_d_DeleteFulfillmentResponse as DeleteFulfillmentResponse,\n      storesV2Orders_universal_d_markAsPaid as markAsPaid,\n      storesV2Orders_universal_d_setShippingFulfillment as setShippingFulfillment,\n      storesV2Orders_universal_d_SetShippingFulfillmentOptions as SetShippingFulfillmentOptions,\n      storesV2Orders_universal_d_sendFulfillmentConfirmation as sendFulfillmentConfirmation,\n      storesV2Orders_universal_d_markAsRead as markAsRead,\n      storesV2Orders_universal_d_setArchiveStatus as setArchiveStatus,\n      storesV2Orders_universal_d_SetArchiveStatusOptions as SetArchiveStatusOptions,\n      storesV2Orders_universal_d_createOrder as createOrder,\n      storesV2Orders_universal_d_CreateOrderOptions as CreateOrderOptions,\n      storesV2Orders_universal_d_bulkFulfillOrders as bulkFulfillOrders,\n      storesV2Orders_universal_d_BulkFulfillOrdersOptions as BulkFulfillOrdersOptions,\n      storesV2Orders_universal_d_bulkMarkOrdersAsPaid as bulkMarkOrdersAsPaid,\n      storesV2Orders_universal_d_bulkArchiveOrders as bulkArchiveOrders,\n      storesV2Orders_universal_d_bulkUnarchiveOrders as bulkUnarchiveOrders,\n      storesV2Orders_universal_d_addFulfillerEmailWasSentActivity as addFulfillerEmailWasSentActivity,\n      storesV2Orders_universal_d_declineOrder as declineOrder,\n      storesV2Orders_universal_d_DeclineOrderOptions as DeclineOrderOptions,\n      storesV2Orders_universal_d_updateOrderEmail as updateOrderEmail,\n      storesV2Orders_universal_d_UpdateOrderEmailOptions as UpdateOrderEmailOptions,\n      storesV2Orders_universal_d_updateOrderShippingAddress as updateOrderShippingAddress,\n      storesV2Orders_universal_d_UpdateOrderShippingAddressOptions as UpdateOrderShippingAddressOptions,\n      storesV2Orders_universal_d_getOrder as getOrder,\n      storesV2Orders_universal_d_queryOrders as queryOrders,\n      storesV2Orders_universal_d_QueryOrdersOptions as QueryOrdersOptions,\n      storesV2Orders_universal_d_queryOrdersEventuallyConsistent as queryOrdersEventuallyConsistent,\n      storesV2Orders_universal_d_QueryOrdersEventuallyConsistentOptions as QueryOrdersEventuallyConsistentOptions,\n      storesV2Orders_universal_d_createFulfillment as createFulfillment,\n      storesV2Orders_universal_d_updateFulfillment as updateFulfillment,\n      storesV2Orders_universal_d_UpdateFulfillmentIdentifiers as UpdateFulfillmentIdentifiers,\n      storesV2Orders_universal_d_UpdateFulfillmentOptions as UpdateFulfillmentOptions,\n      storesV2Orders_universal_d_deleteFulfillment as deleteFulfillment,\n      storesV2Orders_universal_d_DeleteFulfillmentIdentifiers as DeleteFulfillmentIdentifiers,\n    };\n  }\n  \n  interface WishlistData {\n      /** GUID unique to this list for this site */\n      _id?: string | null;\n      /** Member id the list belongs to */\n      ownerId?: string;\n      /** List of items in the list. Not necessarily the full list (can depends on request data) */\n      items?: WishlistItem[];\n      /** Total count of items in the list */\n      totalCount?: number;\n  }\n  interface WishlistItem {\n      /** Unique identifier for an item of this type and origin */\n      _id?: string;\n      /**\n       * The data the item was save to the list\n       * @readonly\n       */\n      dateAdded?: Date | null;\n      /** The type of the item. For example \"product\" */\n      type?: string;\n      /** The origin of the item. Should be the scope the item type is related to. For example \"wixstores\" */\n      origin?: string;\n  }\n  interface ItemsAddedToWishlist {\n      /** GUID unique to this list for its site */\n      _id?: string | null;\n      /** Member id the list belongs to */\n      ownerId?: string;\n      /** List of items that were added to wishlist */\n      items?: WishlistItem[];\n  }\n  interface ItemsRemovedFromWishlist {\n      /** GUID unique to this list for its site */\n      _id?: string | null;\n      /** Member id the list belongs to */\n      ownerId?: string;\n      /** List of items that were removed from wishlist */\n      items?: WishlistItem[];\n  }\n  interface GetWishlistRequest {\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n      /** Filter requested list by specific kinds of items */\n      kind?: WishlistItemKind[];\n  }\n  interface WishlistItemKind {\n      /** The type of the item. For example \"product\" */\n      type?: string;\n      /** The origin of the item. Should be the scope the item type is related to. For example \"wixstores\" */\n      origin?: string;\n  }\n  interface GetWishlistResponse {\n      /** Object containing requested list data */\n      wishlist?: WishlistData;\n  }\n  interface AddToWishlistRequest {\n      /** List of items to add to list */\n      items?: WishlistItem[];\n  }\n  interface AddToWishlistResponse {\n  }\n  interface RemoveFromWishlistRequest {\n      /** List of items to remove from list */\n      items?: WishlistItem[];\n  }\n  interface RemoveFromWishlistResponse {\n  }\n  interface GetWishlistByIdRequest {\n      /** Unique identifier representing requested list */\n      _id: string;\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n      /** Filter requested list by specific kinds of items */\n      kind?: WishlistItemKind[];\n  }\n  interface GetWishlistByIdResponse {\n      /** Object containing requested list data */\n      wishlist?: WishlistData;\n  }\n  interface GetWishlistsRequest {\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n  }\n  interface GetWishlistsResponse {\n      /** List result of requested wishlists */\n      wishlists?: WishlistData[];\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get default wishlist by context's member and site\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getWishlist(options?: GetWishlistOptions): Promise<GetWishlistResponse>;\n  interface GetWishlistOptions {\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n      /** Filter requested list by specific kinds of items */\n      kind?: WishlistItemKind[];\n  }\n  /**\n   * Add items to default wishlist by context's member and site\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.items._id\n   * @requiredField options.items.origin\n   * @requiredField options.items.type\n   * @adminMethod\n   */\n  function addToWishlist(options?: AddToWishlistOptions): Promise<void>;\n  interface AddToWishlistOptions {\n      /** List of items to add to list */\n      items?: WishlistItem[];\n  }\n  /**\n   * Remove items to default wishlist by context's member and site\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.items._id\n   * @requiredField options.items.origin\n   * @requiredField options.items.type\n   * @adminMethod\n   */\n  function removeFromWishlist(options?: RemoveFromWishlistOptions): Promise<void>;\n  interface RemoveFromWishlistOptions {\n      /** List of items to remove from list */\n      items?: WishlistItem[];\n  }\n  /**\n   * Get wishlist by id\n   * @param _id - Unique identifier representing requested list\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WISHLIST.MANAGE-SITE-WISHLISTS\n   * @adminMethod\n   * @returns Object containing requested list data\n   */\n  function getWishlistById(_id: string, options?: GetWishlistByIdOptions): Promise<WishlistData>;\n  interface GetWishlistByIdOptions {\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n      /** Filter requested list by specific kinds of items */\n      kind?: WishlistItemKind[];\n  }\n  /**\n   * Get wishlists of site\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WISHLIST.MANAGE-SITE-WISHLISTS\n   * @adminMethod\n   */\n  function getWishlists(options?: GetWishlistsOptions): Promise<GetWishlistsResponse>;\n  interface GetWishlistsOptions {\n      /** List length limit. Default is 100 */\n      limit?: number | null;\n      /** List starting index offset. Default is 0 */\n      offset?: number | null;\n  }\n  \n  type platformV1Wishlist_universal_d_WishlistData = WishlistData;\n  type platformV1Wishlist_universal_d_WishlistItem = WishlistItem;\n  type platformV1Wishlist_universal_d_ItemsAddedToWishlist = ItemsAddedToWishlist;\n  type platformV1Wishlist_universal_d_ItemsRemovedFromWishlist = ItemsRemovedFromWishlist;\n  type platformV1Wishlist_universal_d_GetWishlistRequest = GetWishlistRequest;\n  type platformV1Wishlist_universal_d_WishlistItemKind = WishlistItemKind;\n  type platformV1Wishlist_universal_d_GetWishlistResponse = GetWishlistResponse;\n  type platformV1Wishlist_universal_d_AddToWishlistRequest = AddToWishlistRequest;\n  type platformV1Wishlist_universal_d_AddToWishlistResponse = AddToWishlistResponse;\n  type platformV1Wishlist_universal_d_RemoveFromWishlistRequest = RemoveFromWishlistRequest;\n  type platformV1Wishlist_universal_d_RemoveFromWishlistResponse = RemoveFromWishlistResponse;\n  type platformV1Wishlist_universal_d_GetWishlistByIdRequest = GetWishlistByIdRequest;\n  type platformV1Wishlist_universal_d_GetWishlistByIdResponse = GetWishlistByIdResponse;\n  type platformV1Wishlist_universal_d_GetWishlistsRequest = GetWishlistsRequest;\n  type platformV1Wishlist_universal_d_GetWishlistsResponse = GetWishlistsResponse;\n  const platformV1Wishlist_universal_d_getWishlist: typeof getWishlist;\n  type platformV1Wishlist_universal_d_GetWishlistOptions = GetWishlistOptions;\n  const platformV1Wishlist_universal_d_addToWishlist: typeof addToWishlist;\n  type platformV1Wishlist_universal_d_AddToWishlistOptions = AddToWishlistOptions;\n  const platformV1Wishlist_universal_d_removeFromWishlist: typeof removeFromWishlist;\n  type platformV1Wishlist_universal_d_RemoveFromWishlistOptions = RemoveFromWishlistOptions;\n  const platformV1Wishlist_universal_d_getWishlistById: typeof getWishlistById;\n  type platformV1Wishlist_universal_d_GetWishlistByIdOptions = GetWishlistByIdOptions;\n  const platformV1Wishlist_universal_d_getWishlists: typeof getWishlists;\n  type platformV1Wishlist_universal_d_GetWishlistsOptions = GetWishlistsOptions;\n  namespace platformV1Wishlist_universal_d {\n    export {\n      platformV1Wishlist_universal_d_WishlistData as WishlistData,\n      platformV1Wishlist_universal_d_WishlistItem as WishlistItem,\n      platformV1Wishlist_universal_d_ItemsAddedToWishlist as ItemsAddedToWishlist,\n      platformV1Wishlist_universal_d_ItemsRemovedFromWishlist as ItemsRemovedFromWishlist,\n      platformV1Wishlist_universal_d_GetWishlistRequest as GetWishlistRequest,\n      platformV1Wishlist_universal_d_WishlistItemKind as WishlistItemKind,\n      platformV1Wishlist_universal_d_GetWishlistResponse as GetWishlistResponse,\n      platformV1Wishlist_universal_d_AddToWishlistRequest as AddToWishlistRequest,\n      platformV1Wishlist_universal_d_AddToWishlistResponse as AddToWishlistResponse,\n      platformV1Wishlist_universal_d_RemoveFromWishlistRequest as RemoveFromWishlistRequest,\n      platformV1Wishlist_universal_d_RemoveFromWishlistResponse as RemoveFromWishlistResponse,\n      platformV1Wishlist_universal_d_GetWishlistByIdRequest as GetWishlistByIdRequest,\n      platformV1Wishlist_universal_d_GetWishlistByIdResponse as GetWishlistByIdResponse,\n      platformV1Wishlist_universal_d_GetWishlistsRequest as GetWishlistsRequest,\n      platformV1Wishlist_universal_d_GetWishlistsResponse as GetWishlistsResponse,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      platformV1Wishlist_universal_d_getWishlist as getWishlist,\n      platformV1Wishlist_universal_d_GetWishlistOptions as GetWishlistOptions,\n      platformV1Wishlist_universal_d_addToWishlist as addToWishlist,\n      platformV1Wishlist_universal_d_AddToWishlistOptions as AddToWishlistOptions,\n      platformV1Wishlist_universal_d_removeFromWishlist as removeFromWishlist,\n      platformV1Wishlist_universal_d_RemoveFromWishlistOptions as RemoveFromWishlistOptions,\n      platformV1Wishlist_universal_d_getWishlistById as getWishlistById,\n      platformV1Wishlist_universal_d_GetWishlistByIdOptions as GetWishlistByIdOptions,\n      platformV1Wishlist_universal_d_getWishlists as getWishlists,\n      platformV1Wishlist_universal_d_GetWishlistsOptions as GetWishlistsOptions,\n    };\n  }\n  \n  interface Product {\n      /**\n       * Product ID (generated automatically by the catalog).\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Product name.\n       *\n       * Min: 1 character\n       * Max: 80 characters\n       */\n      name?: string | null;\n      /** A friendly URL name (generated automatically by the catalog when a product is created), can be updated. */\n      slug?: string;\n      /** Whether the product is visible to site visitors. */\n      visible?: boolean | null;\n      /** Currently, only creating physical products ( `\"productType\": \"physical\"` ) is supported via the API. */\n      productType?: ProductType;\n      /** Product description. */\n      description?: string | null;\n      /** Stock keeping unit. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, SKUs will be set per variant, and this field will be empty. */\n      sku?: string | null;\n      /** Product weight. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, weight will be set per variant, and this field will be empty. */\n      weight?: number | null;\n      /**\n       * Product weight range. The minimum and maximum weights of all the variants.\n       * @readonly\n       */\n      weightRange?: NumericPropertyRange;\n      /**\n       * Product inventory status (in future this will be writable via Inventory API).\n       * @readonly\n       */\n      stock?: Stock;\n      /**\n       * Deprecated (use `priceData` instead).\n       * @readonly\n       * @deprecated\n       */\n      price?: PriceData;\n      /** Price data. */\n      priceData?: PriceData;\n      /**\n       * Price data, converted to the currency specified in request header.\n       * @readonly\n       */\n      convertedPriceData?: PriceData;\n      /**\n       * Product price range. The minimum and maximum prices of all the variants.\n       * @readonly\n       */\n      priceRange?: NumericPropertyRange;\n      /** Cost and profit data. */\n      costAndProfitData?: CostAndProfitData;\n      /**\n       * Product cost range. The minimum and maximum costs of all the variants.\n       * @readonly\n       */\n      costRange?: NumericPropertyRange;\n      /** Price per unit data. */\n      pricePerUnitData?: PricePerUnitData;\n      /** Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.). */\n      additionalInfoSections?: AdditionalInfoSection[];\n      /**\n       * Deprecated (use `ribbon` instead).\n       * @readonly\n       * @deprecated\n       */\n      ribbons?: Ribbon[];\n      /**\n       * Media items (images, videos etc) associated with this product (writable via [Add Product Media](https://dev.wix.com/api/rest/wix-stores/catalog/products/add-product-media) endpoint).\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI.\n       * @readonly\n       */\n      customTextFields?: CustomTextField[];\n      /** Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data. Once set to `true`, can be reset to `false` only if no variants exist. You cannot set `manageVariants` to `true` if more than 300 variants are defined. */\n      manageVariants?: boolean | null;\n      /** Options for this product. */\n      productOptions?: ProductOption[];\n      /**\n       * Product page URL for this product (generated automatically by the server).\n       * @readonly\n       */\n      productPageUrl?: PageUrl;\n      /**\n       * Product’s unique numeric ID (assigned in ascending order).\n       * Primarily used for sorting and filtering when crawling all products.\n       * @readonly\n       */\n      numericId?: string;\n      /**\n       * Inventory item ID - ID referencing the inventory system.\n       * @readonly\n       */\n      inventoryItemId?: string;\n      /** Discount deducted from the product's original price. */\n      discount?: Discount$1;\n      /**\n       * A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).\n       * @readonly\n       */\n      collectionIds?: string[];\n      /**\n       * Product variants, will be provided if the the request was sent with the `includeVariants: true`.\n       *\n       * Max: 1,000 variants\n       * @readonly\n       */\n      variants?: Variant[];\n      /**\n       * Date and time the product was last updated.\n       * @readonly\n       */\n      lastUpdated?: Date | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Custom SEO data for the product. */\n      seoData?: SeoSchema;\n      /** Product ribbon. Used to highlight relevant information about a product. For example, \"Sale\", \"New Arrival\", \"Sold Out\". */\n      ribbon?: string | null;\n      /** Product brand. Including a brand name can help improve site and product [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores). */\n      brand?: string | null;\n      /**\n       * tax group id\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /**\n       * internal field used by import/export to know how to link products in csv file to product ids\n       * @internal\n       * @readonly\n       */\n      exportProductId?: string;\n      /**\n       * Digital file which will be downloaded by buyer after successful purchase.\n       * @internal\n       * @readonly\n       */\n      digitalFile?: SecuredMedia;\n  }\n  enum ProductType {\n      unspecified_product_type = \"unspecified_product_type\",\n      physical = \"physical\",\n      digital = \"digital\"\n  }\n  interface NumericPropertyRange {\n      /** Minimum value. */\n      minValue?: number;\n      /** Maximum value. */\n      maxValue?: number;\n  }\n  interface Stock {\n      /** Whether inventory is being tracked */\n      trackInventory?: boolean;\n      /** Quantity currently left in inventory */\n      quantity?: number | null;\n      /**\n       * Whether the product is currently in stock (relevant only when tracking manually)\n       * Deprecated (use `inventoryStatus` instead)\n       * @deprecated\n       */\n      inStock?: boolean;\n      /**\n       * The current status of the inventory\n       * + `IN_STOCK` - In stock\n       * + `OUT_OF_STOCK` - Not in stock\n       * + `PARTIALLY_OUT_OF_STOCK` - Some of the variants are not in stock\n       */\n      inventoryStatus?: InventoryStatus;\n  }\n  enum InventoryStatus {\n      /** In stock */\n      IN_STOCK = \"IN_STOCK\",\n      /** Not in stock */\n      OUT_OF_STOCK = \"OUT_OF_STOCK\",\n      /** Some of the variants are not in stock */\n      PARTIALLY_OUT_OF_STOCK = \"PARTIALLY_OUT_OF_STOCK\"\n  }\n  interface PriceData {\n      /**\n       * Product price currency\n       * @readonly\n       */\n      currency?: string;\n      /** Product price */\n      price?: number | null;\n      /**\n       * Discounted product price (if no discounted price is set, the product price is returned)\n       * @readonly\n       */\n      discountedPrice?: number;\n      /**\n       * The product price and discounted price, formatted with the currency\n       * @readonly\n       */\n      formatted?: FormattedPrice;\n      /**\n       * Price per unit\n       * @readonly\n       */\n      pricePerUnit?: number | null;\n  }\n  interface FormattedPrice {\n      /** Product price formatted with the currency */\n      price?: string;\n      /** Discounted product price formatted with the currency (if no discounted price is set, the product formatted price is returned) */\n      discountedPrice?: string;\n      /**\n       * Price per unit\n       * @readonly\n       */\n      pricePerUnit?: string | null;\n  }\n  interface CostAndProfitData {\n      /** Item cost. */\n      itemCost?: number | null;\n      /**\n       * Item cost formatted with currency symbol.\n       * @readonly\n       */\n      formattedItemCost?: string;\n      /**\n       * Profit. Calculated by reducing `cost` from `discounted_price`.\n       * @readonly\n       */\n      profit?: number;\n      /**\n       * Profit formatted with currency symbol.\n       * @readonly\n       */\n      formattedProfit?: string;\n      /**\n       * Profit Margin. Calculated by dividing `profit` by `discounted_price`.\n       * The result is rounded to 4 decimal places.\n       * @readonly\n       */\n      profitMargin?: number;\n  }\n  interface PricePerUnitData {\n      /** Total quantity */\n      totalQuantity?: number;\n      /** Total measurement unit */\n      totalMeasurementUnit?: MeasurementUnit;\n      /** Base quantity */\n      baseQuantity?: number;\n      /** Base measurement unit */\n      baseMeasurementUnit?: MeasurementUnit;\n  }\n  enum MeasurementUnit {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      ML = \"ML\",\n      CL = \"CL\",\n      L = \"L\",\n      CBM = \"CBM\",\n      MG = \"MG\",\n      G = \"G\",\n      KG = \"KG\",\n      MM = \"MM\",\n      CM = \"CM\",\n      M = \"M\",\n      SQM = \"SQM\",\n      OZ = \"OZ\",\n      LB = \"LB\",\n      FLOZ = \"FLOZ\",\n      PT = \"PT\",\n      QT = \"QT\",\n      GAL = \"GAL\",\n      IN = \"IN\",\n      FT = \"FT\",\n      YD = \"YD\",\n      SQFT = \"SQFT\"\n  }\n  interface AdditionalInfoSection {\n      /** Product info section title */\n      title?: string;\n      /** Product info section description */\n      description?: string;\n  }\n  interface Ribbon {\n      /** Ribbon text */\n      text?: string;\n  }\n  interface Media {\n      /** Primary media (image, video etc) associated with this product. */\n      mainMedia?: MediaItem;\n      /** Media (images, videos etc) associated with this product. */\n      items?: MediaItem[];\n  }\n  interface MediaItem extends MediaItemItemOneOf {\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo;\n      /** Media item thumbnail details. */\n      thumbnail?: MediaItemUrlAndSize;\n      /** Media item type (image, video, etc.). */\n      mediaType?: MediaItemType;\n      /** Media item title. */\n      title?: string;\n      /** Media ID (for example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`). */\n      _id?: string;\n  }\n  /** @oneof */\n  interface MediaItemItemOneOf {\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo;\n  }\n  interface MediaItemUrlAndSize {\n      /** Media item URL. */\n      url?: string;\n      /** Media item width. */\n      width?: number;\n      /** Media item height. */\n      height?: number;\n      /** Media format (mp4, png, etc.). */\n      format?: string | null;\n      /** Alt text. This text will be shown in case the image is not available. */\n      altText?: string | null;\n  }\n  enum MediaItemType {\n      unspecified_media_item_type = \"unspecified_media_item_type\",\n      /** Image media type. */\n      image = \"image\",\n      /** Video media type. */\n      video = \"video\",\n      /** Audio media type. */\n      audio = \"audio\",\n      /** Document media type. */\n      document = \"document\",\n      /** Zip media type. */\n      zip = \"zip\"\n  }\n  interface MediaItemVideo {\n      /** Data (URL, size) about each resolution for which this video is available. */\n      files?: MediaItemUrlAndSize[];\n      /** ID of an image taken from the video. Used primarily for Wix Search indexing. For example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`. */\n      stillFrameMediaId?: string;\n  }\n  interface CustomTextField {\n      /** Text box title */\n      title?: string;\n      /** Text box input max length */\n      maxLength?: number;\n      /** Whether this text box is mandatory */\n      mandatory?: boolean;\n  }\n  interface ProductOption {\n      /**\n       * Option type.\n       * @readonly\n       */\n      optionType?: OptionType;\n      /** Option name. */\n      name?: string;\n      /** Choices available for this option. */\n      choices?: Choice[];\n  }\n  enum OptionType {\n      /** Unspecified option type. */\n      unspecified_option_type = \"unspecified_option_type\",\n      /** Drop down. */\n      drop_down = \"drop_down\",\n      /** Color. */\n      color = \"color\"\n  }\n  interface Choice {\n      /** Choice value. */\n      value?: string;\n      /** Choice description. */\n      description?: string;\n      /**\n       * Media items (images, videos) associated with this choice\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Based on the customer’s choices, which (if any) variants that include the selected choices are in stock\n       * @readonly\n       */\n      inStock?: boolean;\n      /**\n       * Based on the customer’s choices, which (if any) variants that include the selected choices are visible\n       * @readonly\n       */\n      visible?: boolean;\n  }\n  interface PageUrl {\n      /** Base URL. For premium sites, this is the domain. For free sites, this is the site URL (e.g mysite.wixsite.com/mysite). */\n      base?: string;\n      /** Path to the product page - e.g /product-page/a-product. */\n      path?: string;\n  }\n  interface Discount$1 {\n      /**\n       * Discount type:\n       * + `\"AMOUNT\"`\n       * + `\"PERCENT\"`\n       */\n      type?: DiscountType$1;\n      /** Discount value */\n      value?: number;\n  }\n  enum DiscountType$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** No discount */\n      NONE = \"NONE\",\n      /** Discount by a fixed amount */\n      AMOUNT = \"AMOUNT\",\n      /** Discount by a percentage */\n      PERCENT = \"PERCENT\"\n  }\n  interface Variant {\n      /** Requested Variant ID */\n      _id?: string;\n      /** Specific choices within a selection, as option-choice key-value pairs */\n      choices?: Record<string, string>;\n      variant?: VariantDataWithNoStock;\n      /**\n       * Variant inventory status.\n       * @readonly\n       */\n      stock?: VariantStock;\n  }\n  interface VariantDataWithNoStock {\n      /** Variant price. */\n      priceData?: PriceData;\n      /**\n       * Variant price data, converted to currency requested in header.\n       * @readonly\n       */\n      convertedPriceData?: PriceData;\n      /** Cost and profit data. */\n      costAndProfitData?: CostAndProfitData;\n      /** Variant weight. */\n      weight?: number;\n      /** Variant SKU (stock keeping unit). */\n      sku?: string;\n      /** Whether the variant is visible to customers. */\n      visible?: boolean;\n  }\n  interface VariantStock {\n      /** Whether inventory is being tracked. */\n      trackQuantity?: boolean;\n      /** Quantity currently left in inventory. */\n      quantity?: number | null;\n      /** Whether the product is currently in stock (relevant only when tracking manually). */\n      inStock?: boolean;\n      /**\n       * The location of the inventory in question. None indicates the online-store default location.\n       * @internal\n       */\n      locationId?: string | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface SecuredMedia {\n      /** Media ID in Wix Media Manager. */\n      _id?: string;\n      /** Original filename. */\n      fileName?: string;\n      /** File type. */\n      fileType?: FileType;\n  }\n  enum FileType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  interface CreateProductRequest {\n      /** Product information. */\n      product?: Product;\n  }\n  interface CreateProductResponse {\n      product?: Product;\n  }\n  interface CreateProductPlatformizedRequest {\n      /** Product information. */\n      product?: Product;\n  }\n  interface CreateProductPlatformizedResponse {\n      product?: Product;\n  }\n  interface CreateDigitalProductRequest {\n      /** Product information. */\n      product?: Product;\n  }\n  interface CreateDigitalProductResponse {\n      /** Created product. */\n      product?: Product;\n  }\n  interface UpdateProductRequest {\n      product: Product;\n  }\n  interface UpdateProductResponse {\n      product?: Product;\n  }\n  interface UpdateProductPlatformizedRequest {\n      product: Product;\n  }\n  interface UpdateProductPlatformizedResponse {\n      product?: Product;\n  }\n  interface DeleteProductRequest {\n      /** ID of the product to delete. */\n      _id: string;\n  }\n  interface DeleteProductResponse {\n  }\n  interface DeleteProductPlatformizedRequest {\n      /** ID of the product to delete. */\n      _id: string;\n  }\n  interface DeleteProductPlatformizedResponse {\n  }\n  interface BulkDeleteProductsRequest {\n      /** IDs of the products to be deleted. */\n      ids: string[];\n  }\n  interface BulkDeleteProductsResponse {\n  }\n  interface UpdateVariantsRequest {\n      /** ID of the product with managed variants. */\n      _id: string;\n      /** Variant info to update. */\n      variants?: VariantOverride[];\n  }\n  interface VariantOverride {\n      /** The specific choices available or chosen from within a selection (e.g., choosing the red Selection triggers the red Choice). You may specify all the relevant choices for a specific variant, or only some of the options, which will return all corresponding variants (Not relevant when passing variant IDs) */\n      choices?: Record<string, string>;\n      /**\n       * List of variant IDs\n       * (Not relevant when passing choices)\n       */\n      variantIds?: string[];\n      /** Variant price */\n      price?: number | null;\n      /** Variant cost of goods */\n      cost?: number | null;\n      /** Variant weight */\n      weight?: number | null;\n      /** Variant SKU (stock keeping unit) */\n      sku?: string | null;\n      /** Whether the variant is visible to  customers */\n      visible?: boolean | null;\n  }\n  interface UpdateVariantsResponse {\n      /** List of the product's variants. */\n      variants?: Variant[];\n  }\n  interface ResetAllVariantDataRequest {\n      /** Product ID. */\n      _id: string;\n  }\n  interface ResetAllVariantDataResponse {\n  }\n  interface AddProductsToCollectionRequest {\n      /** Collection ID. */\n      _id: string;\n      /** IDs of the products to add to the collection, separated by commas. */\n      productIds?: string[];\n  }\n  interface AddProductsToCollectionResponse {\n  }\n  interface RemoveProductsFromCollectionRequest {\n      /** ID of the collection from which to remove products. */\n      _id: string;\n      /** IDs of the products to remove from the collection. */\n      productIds: string[];\n  }\n  interface RemoveProductsFromCollectionResponse {\n  }\n  interface AddProductMediaRequest {\n      /** Product ID. */\n      _id: string;\n      /** Sources of media items already uploaded to the Wix site. */\n      media?: MediaDataForWrite[];\n  }\n  interface MediaDataForWrite extends MediaDataForWriteMediaSourceOneOf {\n      /** Media ID. */\n      mediaId?: string;\n      /** Media external URL (for new media items). */\n      url?: string;\n      /** Assign this media item to a specific product choice. Note that you may set media items for choices under only one option (e.g., if Colors blue, green, and red have media items, Sizes S, M, and L can't have media items assigned to them). You may clear existing media from choices with the [Remove Product Media From Choices](#removeproductmediafromchoices). */\n      choice?: OptionAndChoice;\n  }\n  /** @oneof */\n  interface MediaDataForWriteMediaSourceOneOf {\n      /** Media ID. */\n      mediaId?: string;\n      /** Media external URL (for new media items). */\n      url?: string;\n  }\n  interface OptionAndChoice {\n      /** Option to add the media to. */\n      option?: string;\n      /** Choice to add the media to. */\n      choice?: string;\n  }\n  interface AddProductMediaResponse {\n  }\n  interface RemoveProductMediaRequest {\n      /** Product ID. */\n      _id: string;\n      /** List of media IDs to remove. Pass an empty array to delete all media items for the product. */\n      mediaIds?: string[];\n  }\n  interface RemoveProductMediaResponse {\n  }\n  interface AddProductMediaToChoicesRequest {\n      /** Product ID. */\n      _id: string;\n      /** Product media items and the choices to add the media to. */\n      media?: MediaAssignmentToChoice[];\n  }\n  interface MediaAssignmentToChoice {\n      /** Option name. */\n      option?: string;\n      /** Choice name. */\n      choice?: string;\n      /** Media IDs (available via the Query Product endpoint). */\n      mediaIds?: string[];\n  }\n  interface AddProductMediaToChoicesResponse {\n  }\n  interface RemoveProductMediaFromChoicesRequest {\n      /** Product ID from whose choices to remove media items. */\n      _id: string;\n      /** Media to remove from choices. If an empty array is passed, all media will be removed from all choices for the given product. */\n      media?: MediaAssignmentToChoice[];\n  }\n  interface RemoveProductMediaFromChoicesResponse {\n  }\n  interface DeleteProductOptionsRequest {\n      /** ID of the product with options to delete. */\n      _id: string;\n  }\n  interface DeleteProductOptionsResponse {\n  }\n  interface SetCustomFieldsRequest {\n      /** Product ID. */\n      _id: string;\n      /** Custom field that will be added, if a custom field with the same name already exists, the value of the custom field will be overridden. */\n      customFields?: Record<string, any>;\n  }\n  interface SetCustomFieldsResponse {\n  }\n  interface RemoveCustomFieldsRequest {\n      /** Product ID. */\n      _id: string;\n      /** Custom fields to be removed (by name). */\n      names?: string[];\n  }\n  interface RemoveCustomFieldsResponse {\n  }\n  interface RemoveProductBrandRequest {\n      /** Product ID. */\n      _id: string;\n  }\n  interface RemoveProductBrandResponse {\n  }\n  interface BulkSetCustomFieldsRequest {\n      /** Filter string. */\n      filter?: string | null;\n      /** Custom field that will be added, if a custom field with same name already exists, the value of the custom field will be overridden. */\n      customFields?: Record<string, any>;\n  }\n  interface BulkSetCustomFieldsResponse {\n  }\n  interface BulkRemoveCustomFieldsRequest {\n      /** Filter string. */\n      filter?: string | null;\n      /** Custom fields names. */\n      names?: string[];\n  }\n  interface BulkRemoveCustomFieldsResponse {\n  }\n  interface CreateCollectionRequest {\n      /** Collection info. */\n      collection: Collection;\n  }\n  interface Collection {\n      /**\n       * Collection ID (generated automatically by the catalog).\n       * @readonly\n       */\n      _id?: string | null;\n      /** Collection name. */\n      name?: string | null;\n      /**\n       * Media items (images, videos etc) associated with this collection. Read only.\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Number of products in the collection. Read only.\n       * @readonly\n       */\n      numberOfProducts?: number;\n      /** Collection description. */\n      description?: string | null;\n      /** Collection slug. */\n      slug?: string | null;\n      /** Collection visibility. Only impacts dynamic pages, no impact on static pages. Default: `true`. */\n      visible?: boolean | null;\n      /**\n       * Custom SEO data for the collection.\n       * @internal\n       */\n      seoSchema?: SeoSchema;\n  }\n  interface CreateCollectionResponse {\n      /** Collection. */\n      collection?: Collection;\n  }\n  interface UpdateCollectionRequest {\n      /** Collection info. */\n      collection: Collection;\n  }\n  interface UpdateCollectionResponse {\n      /** Updated collection. */\n      collection?: Collection;\n  }\n  interface DeleteCollectionRequest {\n      /** ID of the collection to delete. */\n      _id: string;\n  }\n  interface DeleteCollectionResponse {\n  }\n  interface RemoveProductRibbonRequest {\n      /** Product ID. */\n      _id: string;\n  }\n  interface RemoveProductRibbonResponse {\n  }\n  interface BulkUpdateProductsRequest {\n      /** Product IDs. */\n      ids: string[];\n      /** Field to update. */\n      set?: SetValue;\n  }\n  interface SetValue extends SetValueValueOneOf {\n      /**\n       * Set product price.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * variant prices will be calculated according to the set product price.\n       * If variant price is negative after setting new price, the update will fail.\n       */\n      price?: number;\n      /**\n       * Set product cost of goods.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * cost of goods will be set per variant.\n       */\n      cost?: number;\n      /**\n       * Set product weight.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * weight will be set per variant.\n       */\n      weight?: number;\n      /** Set product ribbon. Pass empty string to remove existing ribbon. */\n      ribbon?: string;\n      /** Set product brand. Pass empty string to remove existing brand. */\n      brand?: string;\n  }\n  /** @oneof */\n  interface SetValueValueOneOf {\n      /**\n       * Set product price.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * variant prices will be calculated according to the set product price.\n       * If variant price is negative after setting new price, the update will fail.\n       */\n      price?: number;\n      /**\n       * Set product cost of goods.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * cost of goods will be set per variant.\n       */\n      cost?: number;\n      /**\n       * Set product weight.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * weight will be set per variant.\n       */\n      weight?: number;\n      /** Set product ribbon. Pass empty string to remove existing ribbon. */\n      ribbon?: string;\n      /** Set product brand. Pass empty string to remove existing brand. */\n      brand?: string;\n  }\n  interface BulkUpdateProductsResponse {\n      /** Bulk action results. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkProductResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateProductsByFilterSyncRequest {\n      /** Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/stores/stores-catalog/filter-and-sort). */\n      filter: Record<string, any> | null;\n      /** The field to update. */\n      set?: SetValue;\n  }\n  interface BulkUpdateProductsByFilterSyncResponse {\n      /** Items updated by bulk action. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface AllowedProductsCountLimitExceededErrorData {\n      /** Total number of products */\n      totalCount?: number;\n  }\n  interface BulkAdjustProductPropertiesRequest {\n      /** Product IDs. */\n      ids: string[];\n      /** Numerical property to adjust. */\n      adjust?: AdjustValue;\n  }\n  interface AdjustValue extends AdjustValueValueOneOf {\n      /**\n       * Adjust product price.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * variants prices will be calculated according to the adjusted price.\n       * If variant price is negative after the adjustment, the update will fail.\n       */\n      price?: PropertyAdjustmentData;\n      /**\n       * Adjust product cost of goods.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * cost of goods will be adjusted per variant.\n       */\n      cost?: PropertyAdjustmentData;\n      /**\n       * Adjust product weight.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * weight will be adjusted per variant.\n       */\n      weight?: PropertyAdjustmentData;\n  }\n  /** @oneof */\n  interface AdjustValueValueOneOf {\n      /**\n       * Adjust product price.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * variants prices will be calculated according to the adjusted price.\n       * If variant price is negative after the adjustment, the update will fail.\n       */\n      price?: PropertyAdjustmentData;\n      /**\n       * Adjust product cost of goods.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * cost of goods will be adjusted per variant.\n       */\n      cost?: PropertyAdjustmentData;\n      /**\n       * Adjust product weight.\n       * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled,\n       * weight will be adjusted per variant.\n       */\n      weight?: PropertyAdjustmentData;\n  }\n  interface PropertyAdjustmentData extends PropertyAdjustmentDataByOneOf {\n      /** Adjust by percentage. */\n      percentage?: PercentageData;\n      /** Adjust by amount. */\n      amount?: number;\n  }\n  /** @oneof */\n  interface PropertyAdjustmentDataByOneOf {\n      /** Adjust by percentage. */\n      percentage?: PercentageData;\n      /** Adjust by amount. */\n      amount?: number;\n  }\n  interface PercentageData {\n      /**\n       * If `true`, result will be rounded to the nearest whole number.\n       * If `false`, result will be rounded to 2 places after the decimal point.\n       */\n      roundToInt?: boolean;\n      /**\n       * Percentage value, as a whole number (integer) between `-100` and `1000`.\n       *\n       * For example:\n       * + Pass `100` to increase value by 100% (multiply original value by 2).\n       * + Pass `1000` to increase value by 1000% (multiply original value by 10).\n       * + Pass `-50` to decrease value by 50% (original value is halved).\n       */\n      rate?: number;\n  }\n  interface BulkAdjustProductPropertiesResponse {\n      /** Bulk action results. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkAdjustProductPropertiesByFilterSyncRequest {\n      /** Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/stores/stores-catalog/filter-and-sort). */\n      filter: Record<string, any> | null;\n      /** Numerical property to adjust. */\n      adjust?: AdjustValue;\n  }\n  interface BulkAdjustProductPropertiesByFilterSyncResponse {\n      /** Items updated by bulk action. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ReCloneStoreRequest {\n      /** Description of value */\n      metasiteId: string | null;\n      originalMetasiteId?: string | null;\n  }\n  interface ReCloneStoreResponse {\n  }\n  interface V1CreateProductPlatformizedRequest {\n      /** Product information. */\n      product?: Product;\n  }\n  interface V1CreateProductPlatformizedResponse {\n      product?: Product;\n  }\n  interface V1UpdateProductPlatformizedRequest {\n      product: Product;\n  }\n  interface V1UpdateProductPlatformizedResponse {\n      product?: Product;\n  }\n  interface V1DeleteProductPlatformizedRequest {\n      /** ID of the product to delete. */\n      _id: string;\n  }\n  interface V1DeleteProductPlatformizedResponse {\n  }\n  interface ProductCreated {\n      /** Product ID (generated automatically by the catalog). */\n      productId?: string;\n      /** Product name. */\n      name?: string;\n      /** Product price. */\n      price?: PriceData;\n      /** Whether the product is visible to customers. */\n      visible?: boolean;\n      /** Media items (images, videos, etc.) associated with this product. */\n      media?: Media;\n      /** Product stock keeping unit (SKU). If variants are being managed, this will be empty. */\n      sku?: string;\n      /** Product page URL for this product (generated automatically by the server). */\n      productPageUrl?: PageUrl;\n      /** Product brand. */\n      brand?: string | null;\n      /** Cost and profit data */\n      costAndProfitData?: CostAndProfitData;\n      /** Information about the version of the catalog from where this event was triggered. */\n      originatedFromVersion?: Version;\n      /** Event slug. A human readable identifier of the event. */\n      slug?: string;\n  }\n  enum Version {\n      /** Version 1 of the catalog. */\n      V1_CATALOG = \"V1_CATALOG\",\n      /** Version 3 of the catalog. */\n      V3_CATALOG = \"V3_CATALOG\"\n  }\n  interface ProductChanged {\n      /** Product ID. */\n      productId?: string;\n      /** List of product fields that were changed. */\n      changedFields?: string[];\n      /**\n       * product revision\n       * @internal\n       */\n      revision?: string;\n      /** Information about the version of the catalog from where this event was triggered. */\n      originatedFromVersion?: Version;\n  }\n  interface ProductDeleted {\n      /** ID of the product that was deleted. */\n      productId?: string;\n      /** Information about the version of the catalog from where this event was triggered. */\n      originatedFromVersion?: Version;\n  }\n  interface CollectionCreated {\n      /** Collection ID (generated automatically by the catalog). */\n      collection_Id?: string;\n      /** Collection name. */\n      name?: string;\n      /** Media items (images, videos, etc.) associated with this collection. */\n      media?: Media;\n      /** Collection slug */\n      slug?: string;\n      /** Collection visible status */\n      visible?: boolean;\n      /** Information about the version of the catalog from where this event was triggered. */\n      originatedFromVersion?: Version;\n  }\n  interface CollectionChanged {\n      /** Collection ID (generated automatically by the catalog). */\n      collection_Id?: string;\n      /** List of collection fields that were changed. */\n      changedFields?: string[];\n      /** Information about the version of the catalog from where this event was triggered. */\n      originatedFromVersion?: Version;\n  }\n  interface CollectionDeleted {\n      /** ID of the collection that was deleted. */\n      collection_Id?: string;\n      /** Information about the version of the catalog from where this event was triggered. */\n      originatedFromVersion?: Version;\n  }\n  interface VariantsChanged {\n      /** Product ID. */\n      productId?: string;\n      /** List of variants that were changed. */\n      variants?: VariantChanged[];\n      /** Information about the version of the catalog from where this event was triggered. */\n      originatedFromVersion?: Version;\n  }\n  interface VariantChanged {\n      /** Variant ID. */\n      variantId?: string;\n      choices?: Record<string, string>;\n      /** List of variant fields that were changed. */\n      changedFields?: string[];\n      /** Information about the version of the catalog from where this event was triggered. */\n      originatedFromVersion?: Version;\n  }\n  interface QueryProductsRequest {\n      query?: Query$1;\n      /** Whether variants should be included in the response. */\n      includeVariants?: boolean;\n      /** Whether hidden products should be included in the response. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  interface Query$1 {\n      paging?: Paging$2;\n      /** Filter string */\n      filter?: string | null;\n      /** Sort string */\n      sort?: string | null;\n  }\n  interface Paging$2 {\n      /** Amount of items to load per page */\n      limit?: number | null;\n      /** Number of items to skip in the display (relevant for all pages after the first) */\n      offset?: number | null;\n  }\n  interface QueryProductsResponse {\n      products?: Product[];\n      metadata?: PagingMetadata$1;\n      totalResults?: number;\n  }\n  interface PagingMetadata$1 {\n      /** Amount of items to load per page */\n      items?: number;\n      /** Number of items to skip in the display (relevant for all pages after the first) */\n      offset?: number;\n  }\n  interface QueryProductsPlatformizedRequest {\n      query?: PlatformQuery;\n  }\n  interface PlatformQuery extends PlatformQueryPagingMethodOneOf {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryProductsPlatformizedResponse {\n      products?: Product[];\n      metadata?: PlatformPagingMetadata;\n  }\n  interface PlatformPagingMetadata {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /** The offset which was requested. Returned if offset paging was used. */\n      offset?: number | null;\n      /** The total number of items that match the query. Returned if offset paging was used. */\n      total?: number | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used. */\n      cursors?: Cursors;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryProductsWithBigPageLimitRequest {\n      query?: QueryWithBigPageLimit;\n      /** Whether variants should be included in the response. */\n      includeVariants?: boolean;\n      /** Whether hidden products should be included in the response. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  interface QueryWithBigPageLimit {\n      paging?: PagingWithBigLimit;\n      /** Filter string */\n      filter?: string | null;\n      /** Sort string */\n      sort?: string | null;\n  }\n  interface PagingWithBigLimit {\n      /** Amount of items to load per page */\n      limit?: number | null;\n      /** Number of items to skip in the display (relevant for all pages after the first) */\n      offset?: number | null;\n  }\n  interface GetProductsRequest {\n      /** Requested product IDs. */\n      ids?: string[];\n  }\n  interface GetProductsResponse {\n      products?: Product[];\n  }\n  interface GetProductRequest {\n      /** Requested product ID. */\n      _id: string;\n      /** Whether merchant specific data, such as cost and profit data, should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  interface GetProductResponse {\n      /** Requested product data. */\n      product?: Product;\n  }\n  interface GetProductPlatformizedRequest {\n      /** Requested product ID. */\n      _id: string;\n      /** Whether merchant specific data, such as cost and profit data, should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  interface GetProductPlatformizedResponse {\n      /** Requested product data. */\n      product?: Product;\n  }\n  interface QueryCollectionsRequest {\n      /** Query options. */\n      query?: Query$1;\n      /** Whether number of products should be included in the response. */\n      includeNumberOfProducts?: boolean;\n      /** Wether to include collection description in the response. When `false` is passed, `collection.description` will return null. */\n      includeDescription?: boolean;\n      /**\n       * Include SeoSchema in response. When False, SeoSchema will be null\n       * @internal\n       */\n      includeSeoSchema?: boolean;\n  }\n  interface QueryCollectionsResponse {\n      /** List of collections. */\n      collections?: Collection[];\n      /** Details on the paged set of results returned. */\n      metadata?: PagingMetadata$1;\n      /** Total number of results returned. */\n      totalResults?: number;\n  }\n  interface QueryCollectionsPlatformizedRequest {\n      query?: PlatformQuery;\n  }\n  interface QueryCollectionsPlatformizedResponse {\n      collections?: Collection[];\n      metadata?: PlatformPagingMetadata;\n  }\n  interface GetCollectionRequest {\n      /** Requested collection ID. */\n      _id: string;\n      /**\n       * Whether to return the `collection.numberOfProducts` field in the response.\n       * Defaults to `false`, in which case the value of `collection.numberOfProducts` will be `0`.\n       */\n      includeNumberOfProducts?: boolean;\n  }\n  interface GetCollectionResponse {\n      /** The requested collection. */\n      collection?: Collection;\n  }\n  interface GetCollectionBySlugRequest {\n      /** Slug of the collection to retrieve. */\n      slug: string;\n  }\n  interface GetCollectionBySlugResponse {\n      /** The requested collection. */\n      collection?: Collection;\n  }\n  interface ProductOptionsAvailabilityRequest {\n      /** Requested product ID. */\n      _id: string;\n      /** Array containing the selected options. For example, `[\"color\": \"Blue\", \"size\": \"Large\"]`. */\n      options?: Record<string, string>;\n  }\n  interface ProductOptionsAvailabilityResponse {\n      /** Variant information, given that all the choices were provided. */\n      selectedVariant?: VariantData;\n      /** Information about media items (images, videos, etc.) associated with this choice. */\n      media?: Media;\n      /** Options information (color, size, etc.) for this product, with the inventory and visibility fields updated based on the provided choices. */\n      productOptions?: ProductOption[];\n      /** Whether all the selected choices result in a visible, in-stock variant. */\n      availableForPurchase?: boolean;\n      /**\n       * Whether the variant is managed or represents a product.\n       * @internal\n       */\n      managedProduct?: boolean;\n  }\n  interface VariantData {\n      /** Variant price. */\n      price?: PriceData;\n      /**\n       * Variant price data converted to currency provided in header.\n       * @readonly\n       */\n      convertedPriceData?: PriceData;\n      /** Variant weight. */\n      weight?: number | null;\n      /** Variant SKU (stock keeping unit). */\n      sku?: string;\n      /** Quantity currently in inventory (relevant only when tracking by inventory). */\n      quantity?: number | null;\n      /** Whether the product is currently in stock (relevant only when tracking manually). */\n      inStock?: boolean;\n      /** Whether the variant is visible to customers. */\n      visible?: boolean;\n      /**\n       * Variant ID.\n       * @internal\n       */\n      variantId?: string;\n  }\n  interface QueryProductVariantsRequest {\n      /** Requested product ID. */\n      _id: string;\n      /**\n       * The specific choices available or chosen from within a selection (e.g., choosing the red Selection triggers the red Choice).\n       * You may specify all the relevant choices for a specific variant, or only some of the options, which will return all corresponding variants (not relevant when passing variant IDs).\n       */\n      choices?: Record<string, string>;\n      /** List of variant IDs (not relevant when passing choices). */\n      variantIds?: string[];\n      paging?: Paging$2;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  interface QueryProductVariantsResponse {\n      /** List of variants based on the specified filters and sorting. */\n      variants?: Variant[];\n      metadata?: PagingMetadata$1;\n      totalResults?: number;\n  }\n  interface QueryStoreVariantsRequest {\n      /** Query options. */\n      query?: PlatformQuery;\n      /**\n       * Requested custom field names.\n       * @internal\n       */\n      customFields?: string[];\n      /**\n       * Include variants for different locations\n       * @internal\n       */\n      includeLocationVariants?: boolean;\n  }\n  interface QueryStoreVariantsResponse {\n      /** List of variants based on the specified filters and sorting. */\n      variants?: StoreVariant[];\n      /** Details on the paged set of results returned. */\n      metadata?: PlatformPagingMetadata;\n  }\n  interface StoreVariant {\n      /** Store variant ID. Comprised of the `productId` and the `variantId`, separated by a hyphen: {productId}.{variantId}. */\n      _id?: string;\n      /** Variant ID. */\n      variantId?: string;\n      /** Product ID. */\n      productId?: string;\n      /** Variant name. */\n      variantName?: string;\n      /** Product name. */\n      productName?: string;\n      /** Whether the variant is managed or represents a product. */\n      managedVariant?: boolean;\n      /** Variant SKU (stock keeping unit). */\n      sku?: string;\n      /** Variant inventory status. */\n      stock?: VariantStock;\n      /** The selected options of this variant. For example, `{\"Color\": \"Blue\", \"Size\": \"Large\"}`. */\n      choices?: Record<string, string>;\n      /** Collections that include this variant. */\n      collectionIds?: string[];\n      /**\n       * Media items (images, videos) associated with this variant.\n       * @readonly\n       */\n      media?: PlatformMedia;\n      /** @internal */\n      customFields?: Record<string, any>;\n      /** Preorder information. */\n      preorderInfo?: PreorderInfo;\n  }\n  interface PlatformMedia extends PlatformMediaMediaOneOf {\n      image?: string;\n      video?: string;\n  }\n  /** @oneof */\n  interface PlatformMediaMediaOneOf {\n      image?: string;\n      video?: string;\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface PreorderInfo {\n      /** Whether the item is available for preorder. */\n      enabled?: boolean;\n      /** A message the buyer will see when the item is out of stock and preorder is enabled. */\n      message?: string | null;\n      /** Number of products that can be preordered after stock reaches zero. */\n      limit?: number | null;\n  }\n  interface QueryStoreVariantsWithBigLimitRequest {\n      /** Query options. */\n      query?: UnlimitedPlatformQuery;\n      /**\n       * Requested custom field names.\n       * @internal\n       */\n      customFields?: string[];\n      /**\n       * Include variants for different locations\n       * @internal\n       */\n      includeLocationVariants?: boolean;\n  }\n  /**\n   * Don't use it unless you have to and know what you do. Prefer PlatformQuery other than this.\n   * It doesn't have max validation for limit but we still MUST have it so implement required validation in your code.\n   */\n  interface UnlimitedPlatformQuery extends UnlimitedPlatformQueryPagingMethodOneOf {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: UnlimitedPlatformPaging;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: UnlimitedPlatformCursorPaging;\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface UnlimitedPlatformQueryPagingMethodOneOf {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: UnlimitedPlatformPaging;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: UnlimitedPlatformCursorPaging;\n  }\n  /**\n   * Don't use it unless you have to and know what you do. Prefer PlatformPaging or wix.common.Paging other than this.\n   * It doesn't have max validation for limit but we still MUST have it so implement required validation in your code.\n   */\n  interface UnlimitedPlatformPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  /**\n   * Don't use it unless you have to and know what you do. Prefer PlatformCursorPaging or wix.common.CursorPaging other than this.\n   * It doesn't have max validation for limit but we still MUST have it so implement required validation in your code.\n   */\n  interface UnlimitedPlatformCursorPaging {\n      /**\n       * The number of items to load.\n       * Cursor token returned in the query response. To be used on the next query request, but not the first query request.\n       */\n      limit?: number | null;\n      /** Cursor returned in last query response. Should not be provided on first page request */\n      cursor?: string | null;\n  }\n  interface GetStoreVariantRequest {\n      /** Store variant ID. Comprised of the `productId` and the `variantId`, separated by a hyphen. For example, `{productId}-{variantId}`. */\n      _id: string;\n  }\n  interface GetStoreVariantResponse {\n      /** The requested store variant. */\n      variant?: StoreVariant;\n  }\n  interface QueryCustomFieldsRequest {\n      /** Requested product ID. */\n      _id?: string;\n      /** Requested field names. */\n      names?: string[];\n  }\n  interface QueryCustomFieldsResponse {\n      customFields?: Record<string, any>;\n  }\n  interface BulkQueryCustomFieldsRequest {\n      /** Filter string. */\n      query?: Query$1;\n      /** Requested field names. */\n      names?: string[];\n  }\n  interface BulkQueryCustomFieldsResponse {\n      /** ProductId to Custom Fields Map packed in container. */\n      productIdToCustomFields?: Record<string, CustomFieldsContainer>;\n      metadata?: PagingMetadata$1;\n      totalResults?: number;\n  }\n  interface CustomFieldsContainer {\n      customFields?: Record<string, any>;\n  }\n  interface AggregateProductsRequest {\n      /** Filter applied to original data */\n      filter?: Record<string, any> | null;\n      /** This is an object defining aggregation itself */\n      aggregation: Record<string, any> | null;\n      /** Whether hidden products should be considered. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  interface AggregateProductsResponse {\n      aggregates?: Record<string, any> | null;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new product.\n   * @param product - Product information.\n   * @public\n   * @requiredField product\n   * @requiredField product.costAndProfitData.itemCost\n   * @requiredField product.name\n   * @requiredField product.priceData\n   * @requiredField product.priceData.price\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function createProduct(product: Product): Promise<CreateProductResponse>;\n  /**\n   * Creates a new product.\n   * @param product - Product information.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField product\n   * @requiredField product.costAndProfitData.itemCost\n   * @requiredField product.name\n   * @requiredField product.priceData\n   * @requiredField product.priceData.price\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function createProductPlatformized(product: Product): Promise<Product>;\n  /**\n   * Creates a new digital product.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.product.costAndProfitData.itemCost\n   * @requiredField options.product.name\n   * @requiredField options.product.priceData\n   * @requiredField options.product.priceData.price\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function createDigitalProduct(options?: CreateDigitalProductOptions): Promise<CreateDigitalProductResponse>;\n  interface CreateDigitalProductOptions {\n      /** Product information. */\n      product?: Product;\n  }\n  /**\n   * Updates specified fields in a product.\n   * @param _id - Product ID (generated automatically by the catalog).\n   * @public\n   * @requiredField _id\n   * @requiredField product\n   * @param product - Product info to update.\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function updateProduct(_id: string, product: UpdateProduct): Promise<UpdateProductResponse>;\n  interface UpdateProduct {\n      /**\n       * Product ID (generated automatically by the catalog).\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Product name.\n       *\n       * Min: 1 character\n       * Max: 80 characters\n       */\n      name?: string | null;\n      /** A friendly URL name (generated automatically by the catalog when a product is created), can be updated. */\n      slug?: string;\n      /** Whether the product is visible to site visitors. */\n      visible?: boolean | null;\n      /** Currently, only creating physical products ( `\"productType\": \"physical\"` ) is supported via the API. */\n      productType?: ProductType;\n      /** Product description. */\n      description?: string | null;\n      /** Stock keeping unit. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, SKUs will be set per variant, and this field will be empty. */\n      sku?: string | null;\n      /** Product weight. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, weight will be set per variant, and this field will be empty. */\n      weight?: number | null;\n      /**\n       * Product weight range. The minimum and maximum weights of all the variants.\n       * @readonly\n       */\n      weightRange?: NumericPropertyRange;\n      /**\n       * Product inventory status (in future this will be writable via Inventory API).\n       * @readonly\n       */\n      stock?: Stock;\n      /**\n       * Deprecated (use `priceData` instead).\n       * @readonly\n       * @deprecated\n       */\n      price?: PriceData;\n      /** Price data. */\n      priceData?: PriceData;\n      /**\n       * Price data, converted to the currency specified in request header.\n       * @readonly\n       */\n      convertedPriceData?: PriceData;\n      /**\n       * Product price range. The minimum and maximum prices of all the variants.\n       * @readonly\n       */\n      priceRange?: NumericPropertyRange;\n      /** Cost and profit data. */\n      costAndProfitData?: CostAndProfitData;\n      /**\n       * Product cost range. The minimum and maximum costs of all the variants.\n       * @readonly\n       */\n      costRange?: NumericPropertyRange;\n      /** Price per unit data. */\n      pricePerUnitData?: PricePerUnitData;\n      /** Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.). */\n      additionalInfoSections?: AdditionalInfoSection[];\n      /**\n       * Deprecated (use `ribbon` instead).\n       * @readonly\n       * @deprecated\n       */\n      ribbons?: Ribbon[];\n      /**\n       * Media items (images, videos etc) associated with this product (writable via [Add Product Media](https://dev.wix.com/api/rest/wix-stores/catalog/products/add-product-media) endpoint).\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI.\n       * @readonly\n       */\n      customTextFields?: CustomTextField[];\n      /** Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data. Once set to `true`, can be reset to `false` only if no variants exist. You cannot set `manageVariants` to `true` if more than 300 variants are defined. */\n      manageVariants?: boolean | null;\n      /** Options for this product. */\n      productOptions?: ProductOption[];\n      /**\n       * Product page URL for this product (generated automatically by the server).\n       * @readonly\n       */\n      productPageUrl?: PageUrl;\n      /**\n       * Product’s unique numeric ID (assigned in ascending order).\n       * Primarily used for sorting and filtering when crawling all products.\n       * @readonly\n       */\n      numericId?: string;\n      /**\n       * Inventory item ID - ID referencing the inventory system.\n       * @readonly\n       */\n      inventoryItemId?: string;\n      /** Discount deducted from the product's original price. */\n      discount?: Discount$1;\n      /**\n       * A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).\n       * @readonly\n       */\n      collectionIds?: string[];\n      /**\n       * Product variants, will be provided if the the request was sent with the `includeVariants: true`.\n       *\n       * Max: 1,000 variants\n       * @readonly\n       */\n      variants?: Variant[];\n      /**\n       * Date and time the product was last updated.\n       * @readonly\n       */\n      lastUpdated?: Date | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Custom SEO data for the product. */\n      seoData?: SeoSchema;\n      /** Product ribbon. Used to highlight relevant information about a product. For example, \"Sale\", \"New Arrival\", \"Sold Out\". */\n      ribbon?: string | null;\n      /** Product brand. Including a brand name can help improve site and product [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores). */\n      brand?: string | null;\n      /**\n       * tax group id\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /**\n       * internal field used by import/export to know how to link products in csv file to product ids\n       * @internal\n       * @readonly\n       */\n      exportProductId?: string;\n      /**\n       * Digital file which will be downloaded by buyer after successful purchase.\n       * @internal\n       * @readonly\n       */\n      digitalFile?: SecuredMedia;\n  }\n  /**\n   * Updates specified fields in a product.\n   * @param _id - Product ID (generated automatically by the catalog).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField product\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function updateProductPlatformized(_id: string, product: UpdateProductPlatformizedProduct): Promise<Product>;\n  interface UpdateProductPlatformizedProduct {\n      /**\n       * Product ID (generated automatically by the catalog).\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Product name.\n       *\n       * Min: 1 character\n       * Max: 80 characters\n       */\n      name?: string | null;\n      /** A friendly URL name (generated automatically by the catalog when a product is created), can be updated. */\n      slug?: string;\n      /** Whether the product is visible to site visitors. */\n      visible?: boolean | null;\n      /** Currently, only creating physical products ( `\"productType\": \"physical\"` ) is supported via the API. */\n      productType?: ProductType;\n      /** Product description. */\n      description?: string | null;\n      /** Stock keeping unit. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, SKUs will be set per variant, and this field will be empty. */\n      sku?: string | null;\n      /** Product weight. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, weight will be set per variant, and this field will be empty. */\n      weight?: number | null;\n      /**\n       * Product weight range. The minimum and maximum weights of all the variants.\n       * @readonly\n       */\n      weightRange?: NumericPropertyRange;\n      /**\n       * Product inventory status (in future this will be writable via Inventory API).\n       * @readonly\n       */\n      stock?: Stock;\n      /**\n       * Deprecated (use `priceData` instead).\n       * @readonly\n       * @deprecated\n       */\n      price?: PriceData;\n      /** Price data. */\n      priceData?: PriceData;\n      /**\n       * Price data, converted to the currency specified in request header.\n       * @readonly\n       */\n      convertedPriceData?: PriceData;\n      /**\n       * Product price range. The minimum and maximum prices of all the variants.\n       * @readonly\n       */\n      priceRange?: NumericPropertyRange;\n      /** Cost and profit data. */\n      costAndProfitData?: CostAndProfitData;\n      /**\n       * Product cost range. The minimum and maximum costs of all the variants.\n       * @readonly\n       */\n      costRange?: NumericPropertyRange;\n      /** Price per unit data. */\n      pricePerUnitData?: PricePerUnitData;\n      /** Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.). */\n      additionalInfoSections?: AdditionalInfoSection[];\n      /**\n       * Deprecated (use `ribbon` instead).\n       * @readonly\n       * @deprecated\n       */\n      ribbons?: Ribbon[];\n      /**\n       * Media items (images, videos etc) associated with this product (writable via [Add Product Media](https://dev.wix.com/api/rest/wix-stores/catalog/products/add-product-media) endpoint).\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI.\n       * @readonly\n       */\n      customTextFields?: CustomTextField[];\n      /** Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data. Once set to `true`, can be reset to `false` only if no variants exist. You cannot set `manageVariants` to `true` if more than 300 variants are defined. */\n      manageVariants?: boolean | null;\n      /** Options for this product. */\n      productOptions?: ProductOption[];\n      /**\n       * Product page URL for this product (generated automatically by the server).\n       * @readonly\n       */\n      productPageUrl?: PageUrl;\n      /**\n       * Product’s unique numeric ID (assigned in ascending order).\n       * Primarily used for sorting and filtering when crawling all products.\n       * @readonly\n       */\n      numericId?: string;\n      /**\n       * Inventory item ID - ID referencing the inventory system.\n       * @readonly\n       */\n      inventoryItemId?: string;\n      /** Discount deducted from the product's original price. */\n      discount?: Discount$1;\n      /**\n       * A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).\n       * @readonly\n       */\n      collectionIds?: string[];\n      /**\n       * Product variants, will be provided if the the request was sent with the `includeVariants: true`.\n       *\n       * Max: 1,000 variants\n       * @readonly\n       */\n      variants?: Variant[];\n      /**\n       * Date and time the product was last updated.\n       * @readonly\n       */\n      lastUpdated?: Date | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Custom SEO data for the product. */\n      seoData?: SeoSchema;\n      /** Product ribbon. Used to highlight relevant information about a product. For example, \"Sale\", \"New Arrival\", \"Sold Out\". */\n      ribbon?: string | null;\n      /** Product brand. Including a brand name can help improve site and product [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores). */\n      brand?: string | null;\n      /**\n       * tax group id\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /**\n       * internal field used by import/export to know how to link products in csv file to product ids\n       * @internal\n       * @readonly\n       */\n      exportProductId?: string;\n      /**\n       * Digital file which will be downloaded by buyer after successful purchase.\n       * @internal\n       * @readonly\n       */\n      digitalFile?: SecuredMedia;\n  }\n  /**\n   * Deletes a product.\n   * @param _id - ID of the product to delete.\n   * @public\n   * @requiredField _id\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function deleteProduct(_id: string): Promise<void>;\n  /**\n   * Deletes a product.\n   * @param _id - ID of the product to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function deleteProductPlatformized(_id: string): Promise<void>;\n  /**\n   * Deletes a bulk of products.\n   * @param ids - IDs of the products to be deleted.\n   * @internal\n   * @requiredField ids\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function bulkDeleteProducts(ids: string[]): Promise<void>;\n  /**\n   * Updates variants of a specified product.\n   * @param _id - ID of the product with managed variants.\n   * @param variants - Variant info to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField variants\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function updateProductVariants(_id: string, variants: VariantOverride[]): Promise<UpdateVariantsResponse>;\n  /**\n   * Resets the data (such as the price and the weight) of all variants for a given product to their default values.\n   * @param _id - Product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function resetAllProductVariantData(_id: string): Promise<void>;\n  /**\n   * Adds products to a specified collection.\n   * @param _id - Collection ID.\n   * @param productIds - IDs of the products to add to the collection, separated by commas.\n   * @public\n   * @requiredField _id\n   * @requiredField productIds\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function addProductsToCollection(_id: string, productIds: string[]): Promise<void>;\n  /**\n   * Deletes products from a specified collection.\n   * @param _id - ID of the collection from which to remove products.\n   * @param productIds - IDs of the products to remove from the collection.\n   * @public\n   * @requiredField _id\n   * @requiredField productIds\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function removeProductsFromCollection(_id: string, productIds: string[]): Promise<void>;\n  /**\n   * Adds media items to a specified product, either via URL or existing media ID.\n   *\n   * > **NOTE:** The URL is not validated and no event is triggered to indicate if the media was added successfully.\n   * @param _id - Product ID.\n   * @param media - Sources of media items already uploaded to the Wix site.\n   * @public\n   * @requiredField _id\n   * @requiredField media\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function addProductMedia(_id: string, media: MediaDataForWrite[]): Promise<void>;\n  /**\n   * Removes specified media items from a product.\n   * Pass an empty array to remove all media items.\n   * @param _id - Product ID.\n   * @param mediaIds - List of media IDs to remove. Pass an empty array to delete all media items for the product.\n   * @public\n   * @requiredField _id\n   * @requiredField mediaIds\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function removeProductMedia(_id: string, mediaIds: string[]): Promise<void>;\n  /**\n   * Links media items that are already associated with a specific product to a choice within the same product.\n   *\n   * Media items can only be set for choices within one option at a time - e.g., if you set media items for some or all of the choices within the Colors option (blue, green, and red), you won't be able to also assign media items to choices within the Size option (S, M, and L).\n   *\n   * To remove all existing media items, call the [Remove Product Media From Choices](https://dev.wix.com/api/rest/wix-stores/catalog/products/remove-product-media-from-choices) endpoint.\n   * @param _id - Product ID.\n   * @param media - Product media items and the choices to add the media to.\n   * @public\n   * @requiredField _id\n   * @requiredField media\n   * @requiredField media.choice\n   * @requiredField media.option\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function addProductMediaToChoices(_id: string, media: MediaAssignmentToChoice[]): Promise<void>;\n  /**\n   * Removes media items from all or some of a product's choices.\n   * (Media items can only be set for choices within one option at a time - e.g., if you set media items for some or all of the choices within the Colors option (blue, green, and red), you won't be able to also assign media items to choices within the Size option (S, M, and L).)\n   * @param _id - Product ID from whose choices to remove media items.\n   * @param media - Media to remove from choices. If an empty array is passed, all media will be removed from all choices for the given product.\n   * @public\n   * @requiredField _id\n   * @requiredField media\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function removeProductMediaFromChoices(_id: string, media: MediaAssignmentToChoice[]): Promise<void>;\n  /**\n   * Delete all options from a specific product. Only available when [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is disabled.\n   * @param _id - ID of the product with options to delete.\n   * @public\n   * @requiredField _id\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function deleteProductOptions(_id: string): Promise<void>;\n  /** @param _id - Product ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function setCustomFields(_id: string, options?: SetCustomFieldsOptions): Promise<void>;\n  interface SetCustomFieldsOptions {\n      /** Custom field that will be added, if a custom field with the same name already exists, the value of the custom field will be overridden. */\n      customFields?: Record<string, any>;\n  }\n  /** @param _id - Product ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function removeCustomFields(_id: string, options?: RemoveCustomFieldsOptions): Promise<void>;\n  interface RemoveCustomFieldsOptions {\n      /** Custom fields to be removed (by name). */\n      names?: string[];\n  }\n  /**\n   * Deletes a product's brand.\n   * @param _id - Product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function removeBrand(_id: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function bulkSetCustomFields(options?: BulkSetCustomFieldsOptions): Promise<void>;\n  interface BulkSetCustomFieldsOptions {\n      /** Filter string. */\n      filter?: string | null;\n      /** Custom field that will be added, if a custom field with same name already exists, the value of the custom field will be overridden. */\n      customFields?: Record<string, any>;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function bulkRemoveCustomFields(options?: BulkRemoveCustomFieldsOptions): Promise<void>;\n  interface BulkRemoveCustomFieldsOptions {\n      /** Filter string. */\n      filter?: string | null;\n      /** Custom fields names. */\n      names?: string[];\n  }\n  /**\n   * Creates a new collection.\n   * @param collection - Collection info.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collection\n   * @requiredField collection.name\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function createCollection(collection: Collection): Promise<CreateCollectionResponse>;\n  /**\n   * Updates specified properties of a collection. To add products to a collection, call the [addProductsToCollection](#addproductstocollection) function.\n   * @param _id - Collection ID (generated automatically by the catalog).\n   * @public\n   * @requiredField _id\n   * @requiredField collection\n   * @param collection - Collection info to update.\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function updateCollection(_id: string | null, collection: UpdateCollection): Promise<UpdateCollectionResponse>;\n  interface UpdateCollection {\n      /**\n       * Collection ID (generated automatically by the catalog).\n       * @readonly\n       */\n      _id?: string | null;\n      /** Collection name. */\n      name?: string | null;\n      /**\n       * Media items (images, videos etc) associated with this collection. Read only.\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Number of products in the collection. Read only.\n       * @readonly\n       */\n      numberOfProducts?: number;\n      /** Collection description. */\n      description?: string | null;\n      /** Collection slug. */\n      slug?: string | null;\n      /** Collection visibility. Only impacts dynamic pages, no impact on static pages. Default: `true`. */\n      visible?: boolean | null;\n      /**\n       * Custom SEO data for the collection.\n       * @internal\n       */\n      seoSchema?: SeoSchema;\n  }\n  /**\n   * Deletes a collection.\n   * @public\n   * @requiredField _id\n   * @param _id - ID of the collection to delete.\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function deleteCollection(_id: string): Promise<void>;\n  /**\n   * Deletes a product's ribbon.\n   * @param _id - Product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function removeRibbon(_id: string): Promise<void>;\n  /**\n   * Updates a specified property for up to 100 products at a time.\n   * @param ids - Product IDs.\n   * @param set - Field to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @requiredField set\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function bulkUpdateProductsProperty(ids: string[], set: SetValue): Promise<BulkUpdateProductsResponse>;\n  /**\n   * Updates a bulk of products, selected by filter.\n   * The number of products that can be updated by filter is limited to 1000.\n   * Internal only. Will be replaced in some point.\n   * @param filter - Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/stores/stores-catalog/filter-and-sort).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function bulkUpdateProductsByFilterSync(filter: Record<string, any> | null, options?: BulkUpdateProductsByFilterSyncOptions): Promise<BulkUpdateProductsByFilterSyncResponse>;\n  interface BulkUpdateProductsByFilterSyncOptions {\n      /** The field to update. */\n      set?: SetValue;\n  }\n  /**\n   * Adjusts a specified numerical property for up to 100 products at a time.\n   * The property can be increased or decreased either by percentage or amount.\n   * @param adjust - Numerical property to adjust.\n   * @param ids - Product IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField adjust\n   * @requiredField ids\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function bulkAdjustProductProperty(adjust: AdjustValue, ids: string[]): Promise<BulkAdjustProductPropertiesResponse>;\n  /**\n   * Adjust property for multiple products, selected by filter.\n   * The number of products that can be updated by filter is limited to 1000.\n   * Internal only. Will be replaced at some point.\n   * @param filter - Filter object. Learn more about supported filters [here](https://bo.wix.com/wix-docs/rest/stores/stores-catalog/filter-and-sort).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function bulkAdjustProductPropertiesByFilterSync(filter: Record<string, any> | null, options?: BulkAdjustProductPropertiesByFilterSyncOptions): Promise<BulkAdjustProductPropertiesByFilterSyncResponse>;\n  interface BulkAdjustProductPropertiesByFilterSyncOptions {\n      /** Numerical property to adjust. */\n      adjust?: AdjustValue;\n  }\n  /** @param metasiteId - Description of value\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metasiteId\n   * @permissionId WIX_STORES.RECLONE_STORE\n   * @adminMethod\n   */\n  function reCloneStore(metasiteId: string | null, options?: ReCloneStoreOptions): Promise<void>;\n  interface ReCloneStoreOptions {\n      originalMetasiteId?: string | null;\n  }\n  /**\n   * Creates a new product.\n   * @param product - Product information.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField product\n   * @requiredField product.costAndProfitData.itemCost\n   * @requiredField product.name\n   * @requiredField product.priceData\n   * @requiredField product.priceData.price\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function writeProxyCreateProductPlatformized(product: Product): Promise<Product>;\n  /**\n   * Updates specified fields in a product.\n   * @param _id - Product ID (generated automatically by the catalog).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField product\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function writeProxyUpdateProductPlatformized(_id: string, product: WriteProxyUpdateProductPlatformizedProduct): Promise<Product>;\n  interface WriteProxyUpdateProductPlatformizedProduct {\n      /**\n       * Product ID (generated automatically by the catalog).\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Product name.\n       *\n       * Min: 1 character\n       * Max: 80 characters\n       */\n      name?: string | null;\n      /** A friendly URL name (generated automatically by the catalog when a product is created), can be updated. */\n      slug?: string;\n      /** Whether the product is visible to site visitors. */\n      visible?: boolean | null;\n      /** Currently, only creating physical products ( `\"productType\": \"physical\"` ) is supported via the API. */\n      productType?: ProductType;\n      /** Product description. */\n      description?: string | null;\n      /** Stock keeping unit. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, SKUs will be set per variant, and this field will be empty. */\n      sku?: string | null;\n      /** Product weight. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, weight will be set per variant, and this field will be empty. */\n      weight?: number | null;\n      /**\n       * Product weight range. The minimum and maximum weights of all the variants.\n       * @readonly\n       */\n      weightRange?: NumericPropertyRange;\n      /**\n       * Product inventory status (in future this will be writable via Inventory API).\n       * @readonly\n       */\n      stock?: Stock;\n      /**\n       * Deprecated (use `priceData` instead).\n       * @readonly\n       * @deprecated\n       */\n      price?: PriceData;\n      /** Price data. */\n      priceData?: PriceData;\n      /**\n       * Price data, converted to the currency specified in request header.\n       * @readonly\n       */\n      convertedPriceData?: PriceData;\n      /**\n       * Product price range. The minimum and maximum prices of all the variants.\n       * @readonly\n       */\n      priceRange?: NumericPropertyRange;\n      /** Cost and profit data. */\n      costAndProfitData?: CostAndProfitData;\n      /**\n       * Product cost range. The minimum and maximum costs of all the variants.\n       * @readonly\n       */\n      costRange?: NumericPropertyRange;\n      /** Price per unit data. */\n      pricePerUnitData?: PricePerUnitData;\n      /** Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.). */\n      additionalInfoSections?: AdditionalInfoSection[];\n      /**\n       * Deprecated (use `ribbon` instead).\n       * @readonly\n       * @deprecated\n       */\n      ribbons?: Ribbon[];\n      /**\n       * Media items (images, videos etc) associated with this product (writable via [Add Product Media](https://dev.wix.com/api/rest/wix-stores/catalog/products/add-product-media) endpoint).\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI.\n       * @readonly\n       */\n      customTextFields?: CustomTextField[];\n      /** Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data. Once set to `true`, can be reset to `false` only if no variants exist. You cannot set `manageVariants` to `true` if more than 300 variants are defined. */\n      manageVariants?: boolean | null;\n      /** Options for this product. */\n      productOptions?: ProductOption[];\n      /**\n       * Product page URL for this product (generated automatically by the server).\n       * @readonly\n       */\n      productPageUrl?: PageUrl;\n      /**\n       * Product’s unique numeric ID (assigned in ascending order).\n       * Primarily used for sorting and filtering when crawling all products.\n       * @readonly\n       */\n      numericId?: string;\n      /**\n       * Inventory item ID - ID referencing the inventory system.\n       * @readonly\n       */\n      inventoryItemId?: string;\n      /** Discount deducted from the product's original price. */\n      discount?: Discount$1;\n      /**\n       * A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).\n       * @readonly\n       */\n      collectionIds?: string[];\n      /**\n       * Product variants, will be provided if the the request was sent with the `includeVariants: true`.\n       *\n       * Max: 1,000 variants\n       * @readonly\n       */\n      variants?: Variant[];\n      /**\n       * Date and time the product was last updated.\n       * @readonly\n       */\n      lastUpdated?: Date | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Custom SEO data for the product. */\n      seoData?: SeoSchema;\n      /** Product ribbon. Used to highlight relevant information about a product. For example, \"Sale\", \"New Arrival\", \"Sold Out\". */\n      ribbon?: string | null;\n      /** Product brand. Including a brand name can help improve site and product [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores). */\n      brand?: string | null;\n      /**\n       * tax group id\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /**\n       * internal field used by import/export to know how to link products in csv file to product ids\n       * @internal\n       * @readonly\n       */\n      exportProductId?: string;\n      /**\n       * Digital file which will be downloaded by buyer after successful purchase.\n       * @internal\n       * @readonly\n       */\n      digitalFile?: SecuredMedia;\n  }\n  /**\n   * Deletes a product.\n   * @param _id - ID of the product to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.MODIFY_PRODUCTS\n   * @adminMethod\n   */\n  function writeProxyDeleteProductPlatformized(_id: string): Promise<void>;\n  /**\n   * Returns a list of up to 100 products, given the provided paging, sorting and filtering.\n   * See [Stores Pagination](https://dev.wix.com/api/rest/wix-stores/pagination) for more information.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function queryProductsNonPlatformized(options?: QueryProductsNonPlatformizedOptions): Promise<QueryProductsResponse>;\n  interface QueryProductsNonPlatformizedOptions {\n      query?: Query$1;\n      /** Whether variants should be included in the response. */\n      includeVariants?: boolean;\n      /** Whether hidden products should be included in the response. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  /**\n   * Returns a list of up to 100 products, given the provided paging, sorting and filtering.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function queryProducts(): ProductsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProductsQueryResult extends QueryOffsetResult {\n      items: Product[];\n      query: ProductsQueryBuilder;\n      next: () => Promise<ProductsQueryResult>;\n      prev: () => Promise<ProductsQueryResult>;\n  }\n  interface ProductsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name' | 'slug' | 'productType' | 'description' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'collectionIds' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name' | 'slug' | 'productType' | 'description' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'collectionIds' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'priceData.price' | 'numericId' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'priceData.price' | 'numericId' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'priceData.price' | 'numericId' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'priceData.price' | 'numericId' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'slug' | 'description' | 'sku', value: string) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'name' | 'slug' | 'productType' | 'description' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'collectionIds' | 'lastUpdated' | '_createdDate', value: any[]) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasAll: (propertyName: 'collectionIds', value: any[]) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | 'slug' | 'productType' | 'description' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'collectionIds' | 'lastUpdated' | '_createdDate', value: any) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'name' | 'slug' | 'productType' | 'description' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'collectionIds' | 'lastUpdated' | '_createdDate', value: boolean) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'name' | 'slug' | 'productType' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'lastUpdated'>) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'name' | 'slug' | 'productType' | 'sku' | 'price' | 'priceData.price' | 'numericId' | 'lastUpdated'>) => ProductsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ProductsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ProductsQueryResult>;\n  }\n  /**\n   * Returns a list of up to 600 products, given the provided paging, sorting and filtering.\n   * See [Stores Pagination](https://dev.wix.com/api/rest/wix-stores/pagination) for more information.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.READ_PRODUCTS_QUERY_WITH_BIG_PAGE_LIMIT\n   * @adminMethod\n   */\n  function queryProductsWithBigPageLimit(options?: QueryProductsWithBigPageLimitOptions): Promise<QueryProductsResponse>;\n  interface QueryProductsWithBigPageLimitOptions {\n      query?: QueryWithBigPageLimit;\n      /** Whether variants should be included in the response. */\n      includeVariants?: boolean;\n      /** Whether hidden products should be included in the response. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  /**\n   * Retrieves a product with the provided ID.\n   * @param _id - Requested product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function getProduct(_id: string, options?: GetProductOptions): Promise<GetProductResponse>;\n  interface GetProductOptions {\n      /** Whether merchant specific data, such as cost and profit data, should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  /**\n   * Retrieves a product with the provided ID.\n   * @param _id - Requested product ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   * @returns Requested product data.\n   */\n  function getProductPlatformized(_id: string, options?: GetProductPlatformizedOptions): Promise<Product>;\n  interface GetProductPlatformizedOptions {\n      /** Whether merchant specific data, such as cost and profit data, should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  /**\n   * Retrieves a list of up to 100 collections, given the provided paging, sorting and filtering.\n   * See [Stores Pagination](https://dev.wix.com/api/rest/wix-stores/pagination) for more information.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function queryCollections(options?: QueryCollectionsOptions): Promise<QueryCollectionsResponse>;\n  interface QueryCollectionsOptions {\n      /** Query options. */\n      query?: Query$1;\n      /** Whether number of products should be included in the response. */\n      includeNumberOfProducts?: boolean;\n      /** Wether to include collection description in the response. When `false` is passed, `collection.description` will return null. */\n      includeDescription?: boolean;\n      /**\n       * Include SeoSchema in response. When False, SeoSchema will be null\n       * @internal\n       */\n      includeSeoSchema?: boolean;\n  }\n  /**\n   * Retrieves a collection with the provided ID.\n   * @param _id - Requested collection ID.\n   * @internal\n   * @requiredField _id\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function getCollection(_id: string, options?: GetCollectionOptions): Promise<GetCollectionResponse>;\n  interface GetCollectionOptions {\n      /**\n       * Whether to return the `collection.numberOfProducts` field in the response.\n       * Defaults to `false`, in which case the value of `collection.numberOfProducts` will be `0`.\n       */\n      includeNumberOfProducts?: boolean;\n  }\n  /**\n   * Retrieves a collection with the provided slug.\n   * @param slug - Slug of the collection to retrieve.\n   * @public\n   * @requiredField slug\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function getCollectionBySlug(slug: string): Promise<GetCollectionBySlugResponse>;\n  /**\n   * Gets the availability of relevant product variants based on the product ID and selections provided. See [Use Cases](https://dev.wix.com/api/rest/wix-stores/catalog/use-cases) for an example.\n   * @param _id - Requested product ID.\n   * @param options - Array containing the selected options. For example, `[\"color\": \"Blue\", \"size\": \"Large\"]`.\n   * @public\n   * @requiredField _id\n   * @requiredField options\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function getProductOptionsAvailability(_id: string, options: Record<string, string>): Promise<ProductOptionsAvailabilityResponse>;\n  /**\n   * Retrieves product variants, based on either choices (option-choice key-value pairs) or variant IDs.\n   * See [Stores Pagination](https://dev.wix.com/api/rest/wix-stores/pagination) for more information.\n   * @param _id - Requested product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function queryProductVariants(_id: string, options?: QueryProductVariantsOptions): Promise<QueryProductVariantsResponse>;\n  interface QueryProductVariantsOptions {\n      /**\n       * The specific choices available or chosen from within a selection (e.g., choosing the red Selection triggers the red Choice).\n       * You may specify all the relevant choices for a specific variant, or only some of the options, which will return all corresponding variants (not relevant when passing variant IDs).\n       */\n      choices?: Record<string, string>;\n      /** List of variant IDs (not relevant when passing choices). */\n      variantIds?: string[];\n      paging?: Paging$2;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  /**\n   * Retrieves up to 100 store variants, given the provided paging, filtering, and sorting.\n   * @param query - Query options.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function queryStoreVariants(query: PlatformQuery, options?: QueryStoreVariantsOptions): Promise<QueryStoreVariantsResponse>;\n  interface QueryStoreVariantsOptions {\n      /**\n       * Requested custom field names.\n       * @internal\n       */\n      customFields?: string[];\n      /**\n       * Include variants for different locations\n       * @internal\n       */\n      includeLocationVariants?: boolean;\n  }\n  /**\n   * Retrieves up to 1000 store variants, given the provided paging, filtering, and sorting.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.READ_PRODUCTS_QUERY_WITH_BIG_PAGE_LIMIT\n   * @adminMethod\n   */\n  function queryStoreVariantsWithBigLimit(options?: QueryStoreVariantsWithBigLimitOptions): Promise<QueryStoreVariantsResponse>;\n  interface QueryStoreVariantsWithBigLimitOptions {\n      /** Query options. */\n      query?: UnlimitedPlatformQuery;\n      /**\n       * Requested custom field names.\n       * @internal\n       */\n      customFields?: string[];\n      /**\n       * Include variants for different locations\n       * @internal\n       */\n      includeLocationVariants?: boolean;\n  }\n  /**\n   * Retrieves a store variant with the provided ID.\n   * @param _id - Store variant ID. Comprised of the `productId` and the `variantId`, separated by a hyphen. For example, `{productId}-{variantId}`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function getStoreVariant(_id: string): Promise<GetStoreVariantResponse>;\n  /**\n   * Before open to users we should support group by field which will impact all aggregations\n   * Group by field is optional, in case you want to count all, max on all etc\n   * Issue: for count we allow 2-dimensional aggregation which will not be supported when group by single field\n   * To support group by we need to add support of it in object-search library\n   * This is exposed only to internal since it has limitations and there isn't an aggregate spec yet\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.aggregation\n   * @permissionId WIX_STORES.READ_PRODUCTS\n   */\n  function aggregateProducts(options?: AggregateProductsOptions): Promise<AggregateProductsResponse>;\n  interface AggregateProductsOptions {\n      /** Filter applied to original data */\n      filter?: Record<string, any> | null;\n      /** This is an object defining aggregation itself */\n      aggregation: Record<string, any> | null;\n      /** Whether hidden products should be considered. Requires permissions to manage products. */\n      includeHiddenProducts?: boolean;\n      /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */\n      includeMerchantSpecificData?: boolean;\n  }\n  \n  type storesCatalogV1Product_universal_d_Product = Product;\n  type storesCatalogV1Product_universal_d_ProductType = ProductType;\n  const storesCatalogV1Product_universal_d_ProductType: typeof ProductType;\n  type storesCatalogV1Product_universal_d_NumericPropertyRange = NumericPropertyRange;\n  type storesCatalogV1Product_universal_d_Stock = Stock;\n  type storesCatalogV1Product_universal_d_InventoryStatus = InventoryStatus;\n  const storesCatalogV1Product_universal_d_InventoryStatus: typeof InventoryStatus;\n  type storesCatalogV1Product_universal_d_PriceData = PriceData;\n  type storesCatalogV1Product_universal_d_FormattedPrice = FormattedPrice;\n  type storesCatalogV1Product_universal_d_CostAndProfitData = CostAndProfitData;\n  type storesCatalogV1Product_universal_d_PricePerUnitData = PricePerUnitData;\n  type storesCatalogV1Product_universal_d_MeasurementUnit = MeasurementUnit;\n  const storesCatalogV1Product_universal_d_MeasurementUnit: typeof MeasurementUnit;\n  type storesCatalogV1Product_universal_d_AdditionalInfoSection = AdditionalInfoSection;\n  type storesCatalogV1Product_universal_d_Ribbon = Ribbon;\n  type storesCatalogV1Product_universal_d_Media = Media;\n  type storesCatalogV1Product_universal_d_MediaItem = MediaItem;\n  type storesCatalogV1Product_universal_d_MediaItemItemOneOf = MediaItemItemOneOf;\n  type storesCatalogV1Product_universal_d_MediaItemUrlAndSize = MediaItemUrlAndSize;\n  type storesCatalogV1Product_universal_d_MediaItemType = MediaItemType;\n  const storesCatalogV1Product_universal_d_MediaItemType: typeof MediaItemType;\n  type storesCatalogV1Product_universal_d_MediaItemVideo = MediaItemVideo;\n  type storesCatalogV1Product_universal_d_CustomTextField = CustomTextField;\n  type storesCatalogV1Product_universal_d_ProductOption = ProductOption;\n  type storesCatalogV1Product_universal_d_OptionType = OptionType;\n  const storesCatalogV1Product_universal_d_OptionType: typeof OptionType;\n  type storesCatalogV1Product_universal_d_Choice = Choice;\n  type storesCatalogV1Product_universal_d_PageUrl = PageUrl;\n  type storesCatalogV1Product_universal_d_Variant = Variant;\n  type storesCatalogV1Product_universal_d_VariantDataWithNoStock = VariantDataWithNoStock;\n  type storesCatalogV1Product_universal_d_VariantStock = VariantStock;\n  type storesCatalogV1Product_universal_d_SeoSchema = SeoSchema;\n  type storesCatalogV1Product_universal_d_Keyword = Keyword;\n  type storesCatalogV1Product_universal_d_Tag = Tag;\n  type storesCatalogV1Product_universal_d_Settings = Settings;\n  type storesCatalogV1Product_universal_d_SecuredMedia = SecuredMedia;\n  type storesCatalogV1Product_universal_d_FileType = FileType;\n  const storesCatalogV1Product_universal_d_FileType: typeof FileType;\n  type storesCatalogV1Product_universal_d_CreateProductRequest = CreateProductRequest;\n  type storesCatalogV1Product_universal_d_CreateProductResponse = CreateProductResponse;\n  type storesCatalogV1Product_universal_d_CreateProductPlatformizedRequest = CreateProductPlatformizedRequest;\n  type storesCatalogV1Product_universal_d_CreateProductPlatformizedResponse = CreateProductPlatformizedResponse;\n  type storesCatalogV1Product_universal_d_CreateDigitalProductRequest = CreateDigitalProductRequest;\n  type storesCatalogV1Product_universal_d_CreateDigitalProductResponse = CreateDigitalProductResponse;\n  type storesCatalogV1Product_universal_d_UpdateProductRequest = UpdateProductRequest;\n  type storesCatalogV1Product_universal_d_UpdateProductResponse = UpdateProductResponse;\n  type storesCatalogV1Product_universal_d_UpdateProductPlatformizedRequest = UpdateProductPlatformizedRequest;\n  type storesCatalogV1Product_universal_d_UpdateProductPlatformizedResponse = UpdateProductPlatformizedResponse;\n  type storesCatalogV1Product_universal_d_DeleteProductRequest = DeleteProductRequest;\n  type storesCatalogV1Product_universal_d_DeleteProductResponse = DeleteProductResponse;\n  type storesCatalogV1Product_universal_d_DeleteProductPlatformizedRequest = DeleteProductPlatformizedRequest;\n  type storesCatalogV1Product_universal_d_DeleteProductPlatformizedResponse = DeleteProductPlatformizedResponse;\n  type storesCatalogV1Product_universal_d_BulkDeleteProductsRequest = BulkDeleteProductsRequest;\n  type storesCatalogV1Product_universal_d_BulkDeleteProductsResponse = BulkDeleteProductsResponse;\n  type storesCatalogV1Product_universal_d_UpdateVariantsRequest = UpdateVariantsRequest;\n  type storesCatalogV1Product_universal_d_VariantOverride = VariantOverride;\n  type storesCatalogV1Product_universal_d_UpdateVariantsResponse = UpdateVariantsResponse;\n  type storesCatalogV1Product_universal_d_ResetAllVariantDataRequest = ResetAllVariantDataRequest;\n  type storesCatalogV1Product_universal_d_ResetAllVariantDataResponse = ResetAllVariantDataResponse;\n  type storesCatalogV1Product_universal_d_AddProductsToCollectionRequest = AddProductsToCollectionRequest;\n  type storesCatalogV1Product_universal_d_AddProductsToCollectionResponse = AddProductsToCollectionResponse;\n  type storesCatalogV1Product_universal_d_RemoveProductsFromCollectionRequest = RemoveProductsFromCollectionRequest;\n  type storesCatalogV1Product_universal_d_RemoveProductsFromCollectionResponse = RemoveProductsFromCollectionResponse;\n  type storesCatalogV1Product_universal_d_AddProductMediaRequest = AddProductMediaRequest;\n  type storesCatalogV1Product_universal_d_MediaDataForWrite = MediaDataForWrite;\n  type storesCatalogV1Product_universal_d_MediaDataForWriteMediaSourceOneOf = MediaDataForWriteMediaSourceOneOf;\n  type storesCatalogV1Product_universal_d_OptionAndChoice = OptionAndChoice;\n  type storesCatalogV1Product_universal_d_AddProductMediaResponse = AddProductMediaResponse;\n  type storesCatalogV1Product_universal_d_RemoveProductMediaRequest = RemoveProductMediaRequest;\n  type storesCatalogV1Product_universal_d_RemoveProductMediaResponse = RemoveProductMediaResponse;\n  type storesCatalogV1Product_universal_d_AddProductMediaToChoicesRequest = AddProductMediaToChoicesRequest;\n  type storesCatalogV1Product_universal_d_MediaAssignmentToChoice = MediaAssignmentToChoice;\n  type storesCatalogV1Product_universal_d_AddProductMediaToChoicesResponse = AddProductMediaToChoicesResponse;\n  type storesCatalogV1Product_universal_d_RemoveProductMediaFromChoicesRequest = RemoveProductMediaFromChoicesRequest;\n  type storesCatalogV1Product_universal_d_RemoveProductMediaFromChoicesResponse = RemoveProductMediaFromChoicesResponse;\n  type storesCatalogV1Product_universal_d_DeleteProductOptionsRequest = DeleteProductOptionsRequest;\n  type storesCatalogV1Product_universal_d_DeleteProductOptionsResponse = DeleteProductOptionsResponse;\n  type storesCatalogV1Product_universal_d_SetCustomFieldsRequest = SetCustomFieldsRequest;\n  type storesCatalogV1Product_universal_d_SetCustomFieldsResponse = SetCustomFieldsResponse;\n  type storesCatalogV1Product_universal_d_RemoveCustomFieldsRequest = RemoveCustomFieldsRequest;\n  type storesCatalogV1Product_universal_d_RemoveCustomFieldsResponse = RemoveCustomFieldsResponse;\n  type storesCatalogV1Product_universal_d_RemoveProductBrandRequest = RemoveProductBrandRequest;\n  type storesCatalogV1Product_universal_d_RemoveProductBrandResponse = RemoveProductBrandResponse;\n  type storesCatalogV1Product_universal_d_BulkSetCustomFieldsRequest = BulkSetCustomFieldsRequest;\n  type storesCatalogV1Product_universal_d_BulkSetCustomFieldsResponse = BulkSetCustomFieldsResponse;\n  type storesCatalogV1Product_universal_d_BulkRemoveCustomFieldsRequest = BulkRemoveCustomFieldsRequest;\n  type storesCatalogV1Product_universal_d_BulkRemoveCustomFieldsResponse = BulkRemoveCustomFieldsResponse;\n  type storesCatalogV1Product_universal_d_CreateCollectionRequest = CreateCollectionRequest;\n  type storesCatalogV1Product_universal_d_Collection = Collection;\n  type storesCatalogV1Product_universal_d_CreateCollectionResponse = CreateCollectionResponse;\n  type storesCatalogV1Product_universal_d_UpdateCollectionRequest = UpdateCollectionRequest;\n  type storesCatalogV1Product_universal_d_UpdateCollectionResponse = UpdateCollectionResponse;\n  type storesCatalogV1Product_universal_d_DeleteCollectionRequest = DeleteCollectionRequest;\n  type storesCatalogV1Product_universal_d_DeleteCollectionResponse = DeleteCollectionResponse;\n  type storesCatalogV1Product_universal_d_RemoveProductRibbonRequest = RemoveProductRibbonRequest;\n  type storesCatalogV1Product_universal_d_RemoveProductRibbonResponse = RemoveProductRibbonResponse;\n  type storesCatalogV1Product_universal_d_BulkUpdateProductsRequest = BulkUpdateProductsRequest;\n  type storesCatalogV1Product_universal_d_SetValue = SetValue;\n  type storesCatalogV1Product_universal_d_SetValueValueOneOf = SetValueValueOneOf;\n  type storesCatalogV1Product_universal_d_BulkUpdateProductsResponse = BulkUpdateProductsResponse;\n  type storesCatalogV1Product_universal_d_BulkProductResult = BulkProductResult;\n  type storesCatalogV1Product_universal_d_ItemMetadata = ItemMetadata;\n  type storesCatalogV1Product_universal_d_ApplicationError = ApplicationError;\n  type storesCatalogV1Product_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type storesCatalogV1Product_universal_d_BulkUpdateProductsByFilterSyncRequest = BulkUpdateProductsByFilterSyncRequest;\n  type storesCatalogV1Product_universal_d_BulkUpdateProductsByFilterSyncResponse = BulkUpdateProductsByFilterSyncResponse;\n  type storesCatalogV1Product_universal_d_AllowedProductsCountLimitExceededErrorData = AllowedProductsCountLimitExceededErrorData;\n  type storesCatalogV1Product_universal_d_BulkAdjustProductPropertiesRequest = BulkAdjustProductPropertiesRequest;\n  type storesCatalogV1Product_universal_d_AdjustValue = AdjustValue;\n  type storesCatalogV1Product_universal_d_AdjustValueValueOneOf = AdjustValueValueOneOf;\n  type storesCatalogV1Product_universal_d_PropertyAdjustmentData = PropertyAdjustmentData;\n  type storesCatalogV1Product_universal_d_PropertyAdjustmentDataByOneOf = PropertyAdjustmentDataByOneOf;\n  type storesCatalogV1Product_universal_d_PercentageData = PercentageData;\n  type storesCatalogV1Product_universal_d_BulkAdjustProductPropertiesResponse = BulkAdjustProductPropertiesResponse;\n  type storesCatalogV1Product_universal_d_BulkAdjustProductPropertiesByFilterSyncRequest = BulkAdjustProductPropertiesByFilterSyncRequest;\n  type storesCatalogV1Product_universal_d_BulkAdjustProductPropertiesByFilterSyncResponse = BulkAdjustProductPropertiesByFilterSyncResponse;\n  type storesCatalogV1Product_universal_d_ReCloneStoreRequest = ReCloneStoreRequest;\n  type storesCatalogV1Product_universal_d_ReCloneStoreResponse = ReCloneStoreResponse;\n  type storesCatalogV1Product_universal_d_V1CreateProductPlatformizedRequest = V1CreateProductPlatformizedRequest;\n  type storesCatalogV1Product_universal_d_V1CreateProductPlatformizedResponse = V1CreateProductPlatformizedResponse;\n  type storesCatalogV1Product_universal_d_V1UpdateProductPlatformizedRequest = V1UpdateProductPlatformizedRequest;\n  type storesCatalogV1Product_universal_d_V1UpdateProductPlatformizedResponse = V1UpdateProductPlatformizedResponse;\n  type storesCatalogV1Product_universal_d_V1DeleteProductPlatformizedRequest = V1DeleteProductPlatformizedRequest;\n  type storesCatalogV1Product_universal_d_V1DeleteProductPlatformizedResponse = V1DeleteProductPlatformizedResponse;\n  type storesCatalogV1Product_universal_d_ProductCreated = ProductCreated;\n  type storesCatalogV1Product_universal_d_Version = Version;\n  const storesCatalogV1Product_universal_d_Version: typeof Version;\n  type storesCatalogV1Product_universal_d_ProductChanged = ProductChanged;\n  type storesCatalogV1Product_universal_d_ProductDeleted = ProductDeleted;\n  type storesCatalogV1Product_universal_d_CollectionCreated = CollectionCreated;\n  type storesCatalogV1Product_universal_d_CollectionChanged = CollectionChanged;\n  type storesCatalogV1Product_universal_d_CollectionDeleted = CollectionDeleted;\n  type storesCatalogV1Product_universal_d_VariantsChanged = VariantsChanged;\n  type storesCatalogV1Product_universal_d_VariantChanged = VariantChanged;\n  type storesCatalogV1Product_universal_d_QueryProductsRequest = QueryProductsRequest;\n  type storesCatalogV1Product_universal_d_QueryProductsResponse = QueryProductsResponse;\n  type storesCatalogV1Product_universal_d_QueryProductsPlatformizedRequest = QueryProductsPlatformizedRequest;\n  type storesCatalogV1Product_universal_d_PlatformQuery = PlatformQuery;\n  type storesCatalogV1Product_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n  type storesCatalogV1Product_universal_d_Sorting = Sorting;\n  type storesCatalogV1Product_universal_d_SortOrder = SortOrder;\n  const storesCatalogV1Product_universal_d_SortOrder: typeof SortOrder;\n  type storesCatalogV1Product_universal_d_PlatformPaging = PlatformPaging;\n  type storesCatalogV1Product_universal_d_CursorPaging = CursorPaging;\n  type storesCatalogV1Product_universal_d_QueryProductsPlatformizedResponse = QueryProductsPlatformizedResponse;\n  type storesCatalogV1Product_universal_d_PlatformPagingMetadata = PlatformPagingMetadata;\n  type storesCatalogV1Product_universal_d_Cursors = Cursors;\n  type storesCatalogV1Product_universal_d_QueryProductsWithBigPageLimitRequest = QueryProductsWithBigPageLimitRequest;\n  type storesCatalogV1Product_universal_d_QueryWithBigPageLimit = QueryWithBigPageLimit;\n  type storesCatalogV1Product_universal_d_PagingWithBigLimit = PagingWithBigLimit;\n  type storesCatalogV1Product_universal_d_GetProductsRequest = GetProductsRequest;\n  type storesCatalogV1Product_universal_d_GetProductsResponse = GetProductsResponse;\n  type storesCatalogV1Product_universal_d_GetProductRequest = GetProductRequest;\n  type storesCatalogV1Product_universal_d_GetProductResponse = GetProductResponse;\n  type storesCatalogV1Product_universal_d_GetProductPlatformizedRequest = GetProductPlatformizedRequest;\n  type storesCatalogV1Product_universal_d_GetProductPlatformizedResponse = GetProductPlatformizedResponse;\n  type storesCatalogV1Product_universal_d_QueryCollectionsRequest = QueryCollectionsRequest;\n  type storesCatalogV1Product_universal_d_QueryCollectionsResponse = QueryCollectionsResponse;\n  type storesCatalogV1Product_universal_d_QueryCollectionsPlatformizedRequest = QueryCollectionsPlatformizedRequest;\n  type storesCatalogV1Product_universal_d_QueryCollectionsPlatformizedResponse = QueryCollectionsPlatformizedResponse;\n  type storesCatalogV1Product_universal_d_GetCollectionRequest = GetCollectionRequest;\n  type storesCatalogV1Product_universal_d_GetCollectionResponse = GetCollectionResponse;\n  type storesCatalogV1Product_universal_d_GetCollectionBySlugRequest = GetCollectionBySlugRequest;\n  type storesCatalogV1Product_universal_d_GetCollectionBySlugResponse = GetCollectionBySlugResponse;\n  type storesCatalogV1Product_universal_d_ProductOptionsAvailabilityRequest = ProductOptionsAvailabilityRequest;\n  type storesCatalogV1Product_universal_d_ProductOptionsAvailabilityResponse = ProductOptionsAvailabilityResponse;\n  type storesCatalogV1Product_universal_d_VariantData = VariantData;\n  type storesCatalogV1Product_universal_d_QueryProductVariantsRequest = QueryProductVariantsRequest;\n  type storesCatalogV1Product_universal_d_QueryProductVariantsResponse = QueryProductVariantsResponse;\n  type storesCatalogV1Product_universal_d_QueryStoreVariantsRequest = QueryStoreVariantsRequest;\n  type storesCatalogV1Product_universal_d_QueryStoreVariantsResponse = QueryStoreVariantsResponse;\n  type storesCatalogV1Product_universal_d_StoreVariant = StoreVariant;\n  type storesCatalogV1Product_universal_d_PlatformMedia = PlatformMedia;\n  type storesCatalogV1Product_universal_d_PlatformMediaMediaOneOf = PlatformMediaMediaOneOf;\n  type storesCatalogV1Product_universal_d_FocalPoint = FocalPoint;\n  type storesCatalogV1Product_universal_d_VideoResolution = VideoResolution;\n  type storesCatalogV1Product_universal_d_PreorderInfo = PreorderInfo;\n  type storesCatalogV1Product_universal_d_QueryStoreVariantsWithBigLimitRequest = QueryStoreVariantsWithBigLimitRequest;\n  type storesCatalogV1Product_universal_d_UnlimitedPlatformQuery = UnlimitedPlatformQuery;\n  type storesCatalogV1Product_universal_d_UnlimitedPlatformQueryPagingMethodOneOf = UnlimitedPlatformQueryPagingMethodOneOf;\n  type storesCatalogV1Product_universal_d_UnlimitedPlatformPaging = UnlimitedPlatformPaging;\n  type storesCatalogV1Product_universal_d_UnlimitedPlatformCursorPaging = UnlimitedPlatformCursorPaging;\n  type storesCatalogV1Product_universal_d_GetStoreVariantRequest = GetStoreVariantRequest;\n  type storesCatalogV1Product_universal_d_GetStoreVariantResponse = GetStoreVariantResponse;\n  type storesCatalogV1Product_universal_d_QueryCustomFieldsRequest = QueryCustomFieldsRequest;\n  type storesCatalogV1Product_universal_d_QueryCustomFieldsResponse = QueryCustomFieldsResponse;\n  type storesCatalogV1Product_universal_d_BulkQueryCustomFieldsRequest = BulkQueryCustomFieldsRequest;\n  type storesCatalogV1Product_universal_d_BulkQueryCustomFieldsResponse = BulkQueryCustomFieldsResponse;\n  type storesCatalogV1Product_universal_d_CustomFieldsContainer = CustomFieldsContainer;\n  type storesCatalogV1Product_universal_d_AggregateProductsRequest = AggregateProductsRequest;\n  type storesCatalogV1Product_universal_d_AggregateProductsResponse = AggregateProductsResponse;\n  const storesCatalogV1Product_universal_d_createProduct: typeof createProduct;\n  const storesCatalogV1Product_universal_d_createProductPlatformized: typeof createProductPlatformized;\n  const storesCatalogV1Product_universal_d_createDigitalProduct: typeof createDigitalProduct;\n  type storesCatalogV1Product_universal_d_CreateDigitalProductOptions = CreateDigitalProductOptions;\n  const storesCatalogV1Product_universal_d_updateProduct: typeof updateProduct;\n  type storesCatalogV1Product_universal_d_UpdateProduct = UpdateProduct;\n  const storesCatalogV1Product_universal_d_updateProductPlatformized: typeof updateProductPlatformized;\n  type storesCatalogV1Product_universal_d_UpdateProductPlatformizedProduct = UpdateProductPlatformizedProduct;\n  const storesCatalogV1Product_universal_d_deleteProduct: typeof deleteProduct;\n  const storesCatalogV1Product_universal_d_deleteProductPlatformized: typeof deleteProductPlatformized;\n  const storesCatalogV1Product_universal_d_bulkDeleteProducts: typeof bulkDeleteProducts;\n  const storesCatalogV1Product_universal_d_updateProductVariants: typeof updateProductVariants;\n  const storesCatalogV1Product_universal_d_resetAllProductVariantData: typeof resetAllProductVariantData;\n  const storesCatalogV1Product_universal_d_addProductsToCollection: typeof addProductsToCollection;\n  const storesCatalogV1Product_universal_d_removeProductsFromCollection: typeof removeProductsFromCollection;\n  const storesCatalogV1Product_universal_d_addProductMedia: typeof addProductMedia;\n  const storesCatalogV1Product_universal_d_removeProductMedia: typeof removeProductMedia;\n  const storesCatalogV1Product_universal_d_addProductMediaToChoices: typeof addProductMediaToChoices;\n  const storesCatalogV1Product_universal_d_removeProductMediaFromChoices: typeof removeProductMediaFromChoices;\n  const storesCatalogV1Product_universal_d_deleteProductOptions: typeof deleteProductOptions;\n  const storesCatalogV1Product_universal_d_setCustomFields: typeof setCustomFields;\n  type storesCatalogV1Product_universal_d_SetCustomFieldsOptions = SetCustomFieldsOptions;\n  const storesCatalogV1Product_universal_d_removeCustomFields: typeof removeCustomFields;\n  type storesCatalogV1Product_universal_d_RemoveCustomFieldsOptions = RemoveCustomFieldsOptions;\n  const storesCatalogV1Product_universal_d_removeBrand: typeof removeBrand;\n  const storesCatalogV1Product_universal_d_bulkSetCustomFields: typeof bulkSetCustomFields;\n  type storesCatalogV1Product_universal_d_BulkSetCustomFieldsOptions = BulkSetCustomFieldsOptions;\n  const storesCatalogV1Product_universal_d_bulkRemoveCustomFields: typeof bulkRemoveCustomFields;\n  type storesCatalogV1Product_universal_d_BulkRemoveCustomFieldsOptions = BulkRemoveCustomFieldsOptions;\n  const storesCatalogV1Product_universal_d_createCollection: typeof createCollection;\n  const storesCatalogV1Product_universal_d_updateCollection: typeof updateCollection;\n  type storesCatalogV1Product_universal_d_UpdateCollection = UpdateCollection;\n  const storesCatalogV1Product_universal_d_deleteCollection: typeof deleteCollection;\n  const storesCatalogV1Product_universal_d_removeRibbon: typeof removeRibbon;\n  const storesCatalogV1Product_universal_d_bulkUpdateProductsProperty: typeof bulkUpdateProductsProperty;\n  const storesCatalogV1Product_universal_d_bulkUpdateProductsByFilterSync: typeof bulkUpdateProductsByFilterSync;\n  type storesCatalogV1Product_universal_d_BulkUpdateProductsByFilterSyncOptions = BulkUpdateProductsByFilterSyncOptions;\n  const storesCatalogV1Product_universal_d_bulkAdjustProductProperty: typeof bulkAdjustProductProperty;\n  const storesCatalogV1Product_universal_d_bulkAdjustProductPropertiesByFilterSync: typeof bulkAdjustProductPropertiesByFilterSync;\n  type storesCatalogV1Product_universal_d_BulkAdjustProductPropertiesByFilterSyncOptions = BulkAdjustProductPropertiesByFilterSyncOptions;\n  const storesCatalogV1Product_universal_d_reCloneStore: typeof reCloneStore;\n  type storesCatalogV1Product_universal_d_ReCloneStoreOptions = ReCloneStoreOptions;\n  const storesCatalogV1Product_universal_d_writeProxyCreateProductPlatformized: typeof writeProxyCreateProductPlatformized;\n  const storesCatalogV1Product_universal_d_writeProxyUpdateProductPlatformized: typeof writeProxyUpdateProductPlatformized;\n  type storesCatalogV1Product_universal_d_WriteProxyUpdateProductPlatformizedProduct = WriteProxyUpdateProductPlatformizedProduct;\n  const storesCatalogV1Product_universal_d_writeProxyDeleteProductPlatformized: typeof writeProxyDeleteProductPlatformized;\n  const storesCatalogV1Product_universal_d_queryProductsNonPlatformized: typeof queryProductsNonPlatformized;\n  type storesCatalogV1Product_universal_d_QueryProductsNonPlatformizedOptions = QueryProductsNonPlatformizedOptions;\n  const storesCatalogV1Product_universal_d_queryProducts: typeof queryProducts;\n  type storesCatalogV1Product_universal_d_ProductsQueryResult = ProductsQueryResult;\n  type storesCatalogV1Product_universal_d_ProductsQueryBuilder = ProductsQueryBuilder;\n  const storesCatalogV1Product_universal_d_queryProductsWithBigPageLimit: typeof queryProductsWithBigPageLimit;\n  type storesCatalogV1Product_universal_d_QueryProductsWithBigPageLimitOptions = QueryProductsWithBigPageLimitOptions;\n  const storesCatalogV1Product_universal_d_getProduct: typeof getProduct;\n  type storesCatalogV1Product_universal_d_GetProductOptions = GetProductOptions;\n  const storesCatalogV1Product_universal_d_getProductPlatformized: typeof getProductPlatformized;\n  type storesCatalogV1Product_universal_d_GetProductPlatformizedOptions = GetProductPlatformizedOptions;\n  const storesCatalogV1Product_universal_d_queryCollections: typeof queryCollections;\n  type storesCatalogV1Product_universal_d_QueryCollectionsOptions = QueryCollectionsOptions;\n  const storesCatalogV1Product_universal_d_getCollection: typeof getCollection;\n  type storesCatalogV1Product_universal_d_GetCollectionOptions = GetCollectionOptions;\n  const storesCatalogV1Product_universal_d_getCollectionBySlug: typeof getCollectionBySlug;\n  const storesCatalogV1Product_universal_d_getProductOptionsAvailability: typeof getProductOptionsAvailability;\n  const storesCatalogV1Product_universal_d_queryProductVariants: typeof queryProductVariants;\n  type storesCatalogV1Product_universal_d_QueryProductVariantsOptions = QueryProductVariantsOptions;\n  const storesCatalogV1Product_universal_d_queryStoreVariants: typeof queryStoreVariants;\n  type storesCatalogV1Product_universal_d_QueryStoreVariantsOptions = QueryStoreVariantsOptions;\n  const storesCatalogV1Product_universal_d_queryStoreVariantsWithBigLimit: typeof queryStoreVariantsWithBigLimit;\n  type storesCatalogV1Product_universal_d_QueryStoreVariantsWithBigLimitOptions = QueryStoreVariantsWithBigLimitOptions;\n  const storesCatalogV1Product_universal_d_getStoreVariant: typeof getStoreVariant;\n  const storesCatalogV1Product_universal_d_aggregateProducts: typeof aggregateProducts;\n  type storesCatalogV1Product_universal_d_AggregateProductsOptions = AggregateProductsOptions;\n  namespace storesCatalogV1Product_universal_d {\n    export {\n      storesCatalogV1Product_universal_d_Product as Product,\n      storesCatalogV1Product_universal_d_ProductType as ProductType,\n      storesCatalogV1Product_universal_d_NumericPropertyRange as NumericPropertyRange,\n      storesCatalogV1Product_universal_d_Stock as Stock,\n      storesCatalogV1Product_universal_d_InventoryStatus as InventoryStatus,\n      storesCatalogV1Product_universal_d_PriceData as PriceData,\n      storesCatalogV1Product_universal_d_FormattedPrice as FormattedPrice,\n      storesCatalogV1Product_universal_d_CostAndProfitData as CostAndProfitData,\n      storesCatalogV1Product_universal_d_PricePerUnitData as PricePerUnitData,\n      storesCatalogV1Product_universal_d_MeasurementUnit as MeasurementUnit,\n      storesCatalogV1Product_universal_d_AdditionalInfoSection as AdditionalInfoSection,\n      storesCatalogV1Product_universal_d_Ribbon as Ribbon,\n      storesCatalogV1Product_universal_d_Media as Media,\n      storesCatalogV1Product_universal_d_MediaItem as MediaItem,\n      storesCatalogV1Product_universal_d_MediaItemItemOneOf as MediaItemItemOneOf,\n      storesCatalogV1Product_universal_d_MediaItemUrlAndSize as MediaItemUrlAndSize,\n      storesCatalogV1Product_universal_d_MediaItemType as MediaItemType,\n      storesCatalogV1Product_universal_d_MediaItemVideo as MediaItemVideo,\n      storesCatalogV1Product_universal_d_CustomTextField as CustomTextField,\n      storesCatalogV1Product_universal_d_ProductOption as ProductOption,\n      storesCatalogV1Product_universal_d_OptionType as OptionType,\n      storesCatalogV1Product_universal_d_Choice as Choice,\n      storesCatalogV1Product_universal_d_PageUrl as PageUrl,\n      Discount$1 as Discount,\n      DiscountType$1 as DiscountType,\n      storesCatalogV1Product_universal_d_Variant as Variant,\n      storesCatalogV1Product_universal_d_VariantDataWithNoStock as VariantDataWithNoStock,\n      storesCatalogV1Product_universal_d_VariantStock as VariantStock,\n      storesCatalogV1Product_universal_d_SeoSchema as SeoSchema,\n      storesCatalogV1Product_universal_d_Keyword as Keyword,\n      storesCatalogV1Product_universal_d_Tag as Tag,\n      storesCatalogV1Product_universal_d_Settings as Settings,\n      storesCatalogV1Product_universal_d_SecuredMedia as SecuredMedia,\n      storesCatalogV1Product_universal_d_FileType as FileType,\n      storesCatalogV1Product_universal_d_CreateProductRequest as CreateProductRequest,\n      storesCatalogV1Product_universal_d_CreateProductResponse as CreateProductResponse,\n      storesCatalogV1Product_universal_d_CreateProductPlatformizedRequest as CreateProductPlatformizedRequest,\n      storesCatalogV1Product_universal_d_CreateProductPlatformizedResponse as CreateProductPlatformizedResponse,\n      storesCatalogV1Product_universal_d_CreateDigitalProductRequest as CreateDigitalProductRequest,\n      storesCatalogV1Product_universal_d_CreateDigitalProductResponse as CreateDigitalProductResponse,\n      storesCatalogV1Product_universal_d_UpdateProductRequest as UpdateProductRequest,\n      storesCatalogV1Product_universal_d_UpdateProductResponse as UpdateProductResponse,\n      storesCatalogV1Product_universal_d_UpdateProductPlatformizedRequest as UpdateProductPlatformizedRequest,\n      storesCatalogV1Product_universal_d_UpdateProductPlatformizedResponse as UpdateProductPlatformizedResponse,\n      storesCatalogV1Product_universal_d_DeleteProductRequest as DeleteProductRequest,\n      storesCatalogV1Product_universal_d_DeleteProductResponse as DeleteProductResponse,\n      storesCatalogV1Product_universal_d_DeleteProductPlatformizedRequest as DeleteProductPlatformizedRequest,\n      storesCatalogV1Product_universal_d_DeleteProductPlatformizedResponse as DeleteProductPlatformizedResponse,\n      storesCatalogV1Product_universal_d_BulkDeleteProductsRequest as BulkDeleteProductsRequest,\n      storesCatalogV1Product_universal_d_BulkDeleteProductsResponse as BulkDeleteProductsResponse,\n      storesCatalogV1Product_universal_d_UpdateVariantsRequest as UpdateVariantsRequest,\n      storesCatalogV1Product_universal_d_VariantOverride as VariantOverride,\n      storesCatalogV1Product_universal_d_UpdateVariantsResponse as UpdateVariantsResponse,\n      storesCatalogV1Product_universal_d_ResetAllVariantDataRequest as ResetAllVariantDataRequest,\n      storesCatalogV1Product_universal_d_ResetAllVariantDataResponse as ResetAllVariantDataResponse,\n      storesCatalogV1Product_universal_d_AddProductsToCollectionRequest as AddProductsToCollectionRequest,\n      storesCatalogV1Product_universal_d_AddProductsToCollectionResponse as AddProductsToCollectionResponse,\n      storesCatalogV1Product_universal_d_RemoveProductsFromCollectionRequest as RemoveProductsFromCollectionRequest,\n      storesCatalogV1Product_universal_d_RemoveProductsFromCollectionResponse as RemoveProductsFromCollectionResponse,\n      storesCatalogV1Product_universal_d_AddProductMediaRequest as AddProductMediaRequest,\n      storesCatalogV1Product_universal_d_MediaDataForWrite as MediaDataForWrite,\n      storesCatalogV1Product_universal_d_MediaDataForWriteMediaSourceOneOf as MediaDataForWriteMediaSourceOneOf,\n      storesCatalogV1Product_universal_d_OptionAndChoice as OptionAndChoice,\n      storesCatalogV1Product_universal_d_AddProductMediaResponse as AddProductMediaResponse,\n      storesCatalogV1Product_universal_d_RemoveProductMediaRequest as RemoveProductMediaRequest,\n      storesCatalogV1Product_universal_d_RemoveProductMediaResponse as RemoveProductMediaResponse,\n      storesCatalogV1Product_universal_d_AddProductMediaToChoicesRequest as AddProductMediaToChoicesRequest,\n      storesCatalogV1Product_universal_d_MediaAssignmentToChoice as MediaAssignmentToChoice,\n      storesCatalogV1Product_universal_d_AddProductMediaToChoicesResponse as AddProductMediaToChoicesResponse,\n      storesCatalogV1Product_universal_d_RemoveProductMediaFromChoicesRequest as RemoveProductMediaFromChoicesRequest,\n      storesCatalogV1Product_universal_d_RemoveProductMediaFromChoicesResponse as RemoveProductMediaFromChoicesResponse,\n      storesCatalogV1Product_universal_d_DeleteProductOptionsRequest as DeleteProductOptionsRequest,\n      storesCatalogV1Product_universal_d_DeleteProductOptionsResponse as DeleteProductOptionsResponse,\n      storesCatalogV1Product_universal_d_SetCustomFieldsRequest as SetCustomFieldsRequest,\n      storesCatalogV1Product_universal_d_SetCustomFieldsResponse as SetCustomFieldsResponse,\n      storesCatalogV1Product_universal_d_RemoveCustomFieldsRequest as RemoveCustomFieldsRequest,\n      storesCatalogV1Product_universal_d_RemoveCustomFieldsResponse as RemoveCustomFieldsResponse,\n      storesCatalogV1Product_universal_d_RemoveProductBrandRequest as RemoveProductBrandRequest,\n      storesCatalogV1Product_universal_d_RemoveProductBrandResponse as RemoveProductBrandResponse,\n      storesCatalogV1Product_universal_d_BulkSetCustomFieldsRequest as BulkSetCustomFieldsRequest,\n      storesCatalogV1Product_universal_d_BulkSetCustomFieldsResponse as BulkSetCustomFieldsResponse,\n      storesCatalogV1Product_universal_d_BulkRemoveCustomFieldsRequest as BulkRemoveCustomFieldsRequest,\n      storesCatalogV1Product_universal_d_BulkRemoveCustomFieldsResponse as BulkRemoveCustomFieldsResponse,\n      storesCatalogV1Product_universal_d_CreateCollectionRequest as CreateCollectionRequest,\n      storesCatalogV1Product_universal_d_Collection as Collection,\n      storesCatalogV1Product_universal_d_CreateCollectionResponse as CreateCollectionResponse,\n      storesCatalogV1Product_universal_d_UpdateCollectionRequest as UpdateCollectionRequest,\n      storesCatalogV1Product_universal_d_UpdateCollectionResponse as UpdateCollectionResponse,\n      storesCatalogV1Product_universal_d_DeleteCollectionRequest as DeleteCollectionRequest,\n      storesCatalogV1Product_universal_d_DeleteCollectionResponse as DeleteCollectionResponse,\n      storesCatalogV1Product_universal_d_RemoveProductRibbonRequest as RemoveProductRibbonRequest,\n      storesCatalogV1Product_universal_d_RemoveProductRibbonResponse as RemoveProductRibbonResponse,\n      storesCatalogV1Product_universal_d_BulkUpdateProductsRequest as BulkUpdateProductsRequest,\n      storesCatalogV1Product_universal_d_SetValue as SetValue,\n      storesCatalogV1Product_universal_d_SetValueValueOneOf as SetValueValueOneOf,\n      storesCatalogV1Product_universal_d_BulkUpdateProductsResponse as BulkUpdateProductsResponse,\n      storesCatalogV1Product_universal_d_BulkProductResult as BulkProductResult,\n      storesCatalogV1Product_universal_d_ItemMetadata as ItemMetadata,\n      storesCatalogV1Product_universal_d_ApplicationError as ApplicationError,\n      storesCatalogV1Product_universal_d_BulkActionMetadata as BulkActionMetadata,\n      storesCatalogV1Product_universal_d_BulkUpdateProductsByFilterSyncRequest as BulkUpdateProductsByFilterSyncRequest,\n      storesCatalogV1Product_universal_d_BulkUpdateProductsByFilterSyncResponse as BulkUpdateProductsByFilterSyncResponse,\n      storesCatalogV1Product_universal_d_AllowedProductsCountLimitExceededErrorData as AllowedProductsCountLimitExceededErrorData,\n      storesCatalogV1Product_universal_d_BulkAdjustProductPropertiesRequest as BulkAdjustProductPropertiesRequest,\n      storesCatalogV1Product_universal_d_AdjustValue as AdjustValue,\n      storesCatalogV1Product_universal_d_AdjustValueValueOneOf as AdjustValueValueOneOf,\n      storesCatalogV1Product_universal_d_PropertyAdjustmentData as PropertyAdjustmentData,\n      storesCatalogV1Product_universal_d_PropertyAdjustmentDataByOneOf as PropertyAdjustmentDataByOneOf,\n      storesCatalogV1Product_universal_d_PercentageData as PercentageData,\n      storesCatalogV1Product_universal_d_BulkAdjustProductPropertiesResponse as BulkAdjustProductPropertiesResponse,\n      storesCatalogV1Product_universal_d_BulkAdjustProductPropertiesByFilterSyncRequest as BulkAdjustProductPropertiesByFilterSyncRequest,\n      storesCatalogV1Product_universal_d_BulkAdjustProductPropertiesByFilterSyncResponse as BulkAdjustProductPropertiesByFilterSyncResponse,\n      storesCatalogV1Product_universal_d_ReCloneStoreRequest as ReCloneStoreRequest,\n      storesCatalogV1Product_universal_d_ReCloneStoreResponse as ReCloneStoreResponse,\n      storesCatalogV1Product_universal_d_V1CreateProductPlatformizedRequest as V1CreateProductPlatformizedRequest,\n      storesCatalogV1Product_universal_d_V1CreateProductPlatformizedResponse as V1CreateProductPlatformizedResponse,\n      storesCatalogV1Product_universal_d_V1UpdateProductPlatformizedRequest as V1UpdateProductPlatformizedRequest,\n      storesCatalogV1Product_universal_d_V1UpdateProductPlatformizedResponse as V1UpdateProductPlatformizedResponse,\n      storesCatalogV1Product_universal_d_V1DeleteProductPlatformizedRequest as V1DeleteProductPlatformizedRequest,\n      storesCatalogV1Product_universal_d_V1DeleteProductPlatformizedResponse as V1DeleteProductPlatformizedResponse,\n      storesCatalogV1Product_universal_d_ProductCreated as ProductCreated,\n      storesCatalogV1Product_universal_d_Version as Version,\n      storesCatalogV1Product_universal_d_ProductChanged as ProductChanged,\n      storesCatalogV1Product_universal_d_ProductDeleted as ProductDeleted,\n      storesCatalogV1Product_universal_d_CollectionCreated as CollectionCreated,\n      storesCatalogV1Product_universal_d_CollectionChanged as CollectionChanged,\n      storesCatalogV1Product_universal_d_CollectionDeleted as CollectionDeleted,\n      storesCatalogV1Product_universal_d_VariantsChanged as VariantsChanged,\n      storesCatalogV1Product_universal_d_VariantChanged as VariantChanged,\n      storesCatalogV1Product_universal_d_QueryProductsRequest as QueryProductsRequest,\n      Query$1 as Query,\n      Paging$2 as Paging,\n      storesCatalogV1Product_universal_d_QueryProductsResponse as QueryProductsResponse,\n      PagingMetadata$1 as PagingMetadata,\n      storesCatalogV1Product_universal_d_QueryProductsPlatformizedRequest as QueryProductsPlatformizedRequest,\n      storesCatalogV1Product_universal_d_PlatformQuery as PlatformQuery,\n      storesCatalogV1Product_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf,\n      storesCatalogV1Product_universal_d_Sorting as Sorting,\n      storesCatalogV1Product_universal_d_SortOrder as SortOrder,\n      storesCatalogV1Product_universal_d_PlatformPaging as PlatformPaging,\n      storesCatalogV1Product_universal_d_CursorPaging as CursorPaging,\n      storesCatalogV1Product_universal_d_QueryProductsPlatformizedResponse as QueryProductsPlatformizedResponse,\n      storesCatalogV1Product_universal_d_PlatformPagingMetadata as PlatformPagingMetadata,\n      storesCatalogV1Product_universal_d_Cursors as Cursors,\n      storesCatalogV1Product_universal_d_QueryProductsWithBigPageLimitRequest as QueryProductsWithBigPageLimitRequest,\n      storesCatalogV1Product_universal_d_QueryWithBigPageLimit as QueryWithBigPageLimit,\n      storesCatalogV1Product_universal_d_PagingWithBigLimit as PagingWithBigLimit,\n      storesCatalogV1Product_universal_d_GetProductsRequest as GetProductsRequest,\n      storesCatalogV1Product_universal_d_GetProductsResponse as GetProductsResponse,\n      storesCatalogV1Product_universal_d_GetProductRequest as GetProductRequest,\n      storesCatalogV1Product_universal_d_GetProductResponse as GetProductResponse,\n      storesCatalogV1Product_universal_d_GetProductPlatformizedRequest as GetProductPlatformizedRequest,\n      storesCatalogV1Product_universal_d_GetProductPlatformizedResponse as GetProductPlatformizedResponse,\n      storesCatalogV1Product_universal_d_QueryCollectionsRequest as QueryCollectionsRequest,\n      storesCatalogV1Product_universal_d_QueryCollectionsResponse as QueryCollectionsResponse,\n      storesCatalogV1Product_universal_d_QueryCollectionsPlatformizedRequest as QueryCollectionsPlatformizedRequest,\n      storesCatalogV1Product_universal_d_QueryCollectionsPlatformizedResponse as QueryCollectionsPlatformizedResponse,\n      storesCatalogV1Product_universal_d_GetCollectionRequest as GetCollectionRequest,\n      storesCatalogV1Product_universal_d_GetCollectionResponse as GetCollectionResponse,\n      storesCatalogV1Product_universal_d_GetCollectionBySlugRequest as GetCollectionBySlugRequest,\n      storesCatalogV1Product_universal_d_GetCollectionBySlugResponse as GetCollectionBySlugResponse,\n      storesCatalogV1Product_universal_d_ProductOptionsAvailabilityRequest as ProductOptionsAvailabilityRequest,\n      storesCatalogV1Product_universal_d_ProductOptionsAvailabilityResponse as ProductOptionsAvailabilityResponse,\n      storesCatalogV1Product_universal_d_VariantData as VariantData,\n      storesCatalogV1Product_universal_d_QueryProductVariantsRequest as QueryProductVariantsRequest,\n      storesCatalogV1Product_universal_d_QueryProductVariantsResponse as QueryProductVariantsResponse,\n      storesCatalogV1Product_universal_d_QueryStoreVariantsRequest as QueryStoreVariantsRequest,\n      storesCatalogV1Product_universal_d_QueryStoreVariantsResponse as QueryStoreVariantsResponse,\n      storesCatalogV1Product_universal_d_StoreVariant as StoreVariant,\n      storesCatalogV1Product_universal_d_PlatformMedia as PlatformMedia,\n      storesCatalogV1Product_universal_d_PlatformMediaMediaOneOf as PlatformMediaMediaOneOf,\n      storesCatalogV1Product_universal_d_FocalPoint as FocalPoint,\n      storesCatalogV1Product_universal_d_VideoResolution as VideoResolution,\n      storesCatalogV1Product_universal_d_PreorderInfo as PreorderInfo,\n      storesCatalogV1Product_universal_d_QueryStoreVariantsWithBigLimitRequest as QueryStoreVariantsWithBigLimitRequest,\n      storesCatalogV1Product_universal_d_UnlimitedPlatformQuery as UnlimitedPlatformQuery,\n      storesCatalogV1Product_universal_d_UnlimitedPlatformQueryPagingMethodOneOf as UnlimitedPlatformQueryPagingMethodOneOf,\n      storesCatalogV1Product_universal_d_UnlimitedPlatformPaging as UnlimitedPlatformPaging,\n      storesCatalogV1Product_universal_d_UnlimitedPlatformCursorPaging as UnlimitedPlatformCursorPaging,\n      storesCatalogV1Product_universal_d_GetStoreVariantRequest as GetStoreVariantRequest,\n      storesCatalogV1Product_universal_d_GetStoreVariantResponse as GetStoreVariantResponse,\n      storesCatalogV1Product_universal_d_QueryCustomFieldsRequest as QueryCustomFieldsRequest,\n      storesCatalogV1Product_universal_d_QueryCustomFieldsResponse as QueryCustomFieldsResponse,\n      storesCatalogV1Product_universal_d_BulkQueryCustomFieldsRequest as BulkQueryCustomFieldsRequest,\n      storesCatalogV1Product_universal_d_BulkQueryCustomFieldsResponse as BulkQueryCustomFieldsResponse,\n      storesCatalogV1Product_universal_d_CustomFieldsContainer as CustomFieldsContainer,\n      storesCatalogV1Product_universal_d_AggregateProductsRequest as AggregateProductsRequest,\n      storesCatalogV1Product_universal_d_AggregateProductsResponse as AggregateProductsResponse,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      storesCatalogV1Product_universal_d_createProduct as createProduct,\n      storesCatalogV1Product_universal_d_createProductPlatformized as createProductPlatformized,\n      storesCatalogV1Product_universal_d_createDigitalProduct as createDigitalProduct,\n      storesCatalogV1Product_universal_d_CreateDigitalProductOptions as CreateDigitalProductOptions,\n      storesCatalogV1Product_universal_d_updateProduct as updateProduct,\n      storesCatalogV1Product_universal_d_UpdateProduct as UpdateProduct,\n      storesCatalogV1Product_universal_d_updateProductPlatformized as updateProductPlatformized,\n      storesCatalogV1Product_universal_d_UpdateProductPlatformizedProduct as UpdateProductPlatformizedProduct,\n      storesCatalogV1Product_universal_d_deleteProduct as deleteProduct,\n      storesCatalogV1Product_universal_d_deleteProductPlatformized as deleteProductPlatformized,\n      storesCatalogV1Product_universal_d_bulkDeleteProducts as bulkDeleteProducts,\n      storesCatalogV1Product_universal_d_updateProductVariants as updateProductVariants,\n      storesCatalogV1Product_universal_d_resetAllProductVariantData as resetAllProductVariantData,\n      storesCatalogV1Product_universal_d_addProductsToCollection as addProductsToCollection,\n      storesCatalogV1Product_universal_d_removeProductsFromCollection as removeProductsFromCollection,\n      storesCatalogV1Product_universal_d_addProductMedia as addProductMedia,\n      storesCatalogV1Product_universal_d_removeProductMedia as removeProductMedia,\n      storesCatalogV1Product_universal_d_addProductMediaToChoices as addProductMediaToChoices,\n      storesCatalogV1Product_universal_d_removeProductMediaFromChoices as removeProductMediaFromChoices,\n      storesCatalogV1Product_universal_d_deleteProductOptions as deleteProductOptions,\n      storesCatalogV1Product_universal_d_setCustomFields as setCustomFields,\n      storesCatalogV1Product_universal_d_SetCustomFieldsOptions as SetCustomFieldsOptions,\n      storesCatalogV1Product_universal_d_removeCustomFields as removeCustomFields,\n      storesCatalogV1Product_universal_d_RemoveCustomFieldsOptions as RemoveCustomFieldsOptions,\n      storesCatalogV1Product_universal_d_removeBrand as removeBrand,\n      storesCatalogV1Product_universal_d_bulkSetCustomFields as bulkSetCustomFields,\n      storesCatalogV1Product_universal_d_BulkSetCustomFieldsOptions as BulkSetCustomFieldsOptions,\n      storesCatalogV1Product_universal_d_bulkRemoveCustomFields as bulkRemoveCustomFields,\n      storesCatalogV1Product_universal_d_BulkRemoveCustomFieldsOptions as BulkRemoveCustomFieldsOptions,\n      storesCatalogV1Product_universal_d_createCollection as createCollection,\n      storesCatalogV1Product_universal_d_updateCollection as updateCollection,\n      storesCatalogV1Product_universal_d_UpdateCollection as UpdateCollection,\n      storesCatalogV1Product_universal_d_deleteCollection as deleteCollection,\n      storesCatalogV1Product_universal_d_removeRibbon as removeRibbon,\n      storesCatalogV1Product_universal_d_bulkUpdateProductsProperty as bulkUpdateProductsProperty,\n      storesCatalogV1Product_universal_d_bulkUpdateProductsByFilterSync as bulkUpdateProductsByFilterSync,\n      storesCatalogV1Product_universal_d_BulkUpdateProductsByFilterSyncOptions as BulkUpdateProductsByFilterSyncOptions,\n      storesCatalogV1Product_universal_d_bulkAdjustProductProperty as bulkAdjustProductProperty,\n      storesCatalogV1Product_universal_d_bulkAdjustProductPropertiesByFilterSync as bulkAdjustProductPropertiesByFilterSync,\n      storesCatalogV1Product_universal_d_BulkAdjustProductPropertiesByFilterSyncOptions as BulkAdjustProductPropertiesByFilterSyncOptions,\n      storesCatalogV1Product_universal_d_reCloneStore as reCloneStore,\n      storesCatalogV1Product_universal_d_ReCloneStoreOptions as ReCloneStoreOptions,\n      storesCatalogV1Product_universal_d_writeProxyCreateProductPlatformized as writeProxyCreateProductPlatformized,\n      storesCatalogV1Product_universal_d_writeProxyUpdateProductPlatformized as writeProxyUpdateProductPlatformized,\n      storesCatalogV1Product_universal_d_WriteProxyUpdateProductPlatformizedProduct as WriteProxyUpdateProductPlatformizedProduct,\n      storesCatalogV1Product_universal_d_writeProxyDeleteProductPlatformized as writeProxyDeleteProductPlatformized,\n      storesCatalogV1Product_universal_d_queryProductsNonPlatformized as queryProductsNonPlatformized,\n      storesCatalogV1Product_universal_d_QueryProductsNonPlatformizedOptions as QueryProductsNonPlatformizedOptions,\n      storesCatalogV1Product_universal_d_queryProducts as queryProducts,\n      storesCatalogV1Product_universal_d_ProductsQueryResult as ProductsQueryResult,\n      storesCatalogV1Product_universal_d_ProductsQueryBuilder as ProductsQueryBuilder,\n      storesCatalogV1Product_universal_d_queryProductsWithBigPageLimit as queryProductsWithBigPageLimit,\n      storesCatalogV1Product_universal_d_QueryProductsWithBigPageLimitOptions as QueryProductsWithBigPageLimitOptions,\n      storesCatalogV1Product_universal_d_getProduct as getProduct,\n      storesCatalogV1Product_universal_d_GetProductOptions as GetProductOptions,\n      storesCatalogV1Product_universal_d_getProductPlatformized as getProductPlatformized,\n      storesCatalogV1Product_universal_d_GetProductPlatformizedOptions as GetProductPlatformizedOptions,\n      storesCatalogV1Product_universal_d_queryCollections as queryCollections,\n      storesCatalogV1Product_universal_d_QueryCollectionsOptions as QueryCollectionsOptions,\n      storesCatalogV1Product_universal_d_getCollection as getCollection,\n      storesCatalogV1Product_universal_d_GetCollectionOptions as GetCollectionOptions,\n      storesCatalogV1Product_universal_d_getCollectionBySlug as getCollectionBySlug,\n      storesCatalogV1Product_universal_d_getProductOptionsAvailability as getProductOptionsAvailability,\n      storesCatalogV1Product_universal_d_queryProductVariants as queryProductVariants,\n      storesCatalogV1Product_universal_d_QueryProductVariantsOptions as QueryProductVariantsOptions,\n      storesCatalogV1Product_universal_d_queryStoreVariants as queryStoreVariants,\n      storesCatalogV1Product_universal_d_QueryStoreVariantsOptions as QueryStoreVariantsOptions,\n      storesCatalogV1Product_universal_d_queryStoreVariantsWithBigLimit as queryStoreVariantsWithBigLimit,\n      storesCatalogV1Product_universal_d_QueryStoreVariantsWithBigLimitOptions as QueryStoreVariantsWithBigLimitOptions,\n      storesCatalogV1Product_universal_d_getStoreVariant as getStoreVariant,\n      storesCatalogV1Product_universal_d_aggregateProducts as aggregateProducts,\n      storesCatalogV1Product_universal_d_AggregateProductsOptions as AggregateProductsOptions,\n    };\n  }\n  \n  interface AbandonedCart {\n      /** Original cart ID */\n      _id?: string;\n      /** Cart status */\n      status?: Status;\n      /**\n       * Time the cart was abandoned\n       * @readonly\n       */\n      abandonTime?: Date | null;\n      /** Buyer information */\n      buyerInfo?: BuyerInfo;\n      /** Cart total including currency symbol */\n      total?: string | null;\n      /**\n       * History activities\n       * @readonly\n       */\n      activities?: Activity[];\n  }\n  enum Status {\n      ABANDONED = \"ABANDONED\",\n      RECOVERED = \"RECOVERED\"\n  }\n  interface BuyerInfo {\n      /** Wix customer ID */\n      _id?: string;\n      /** Customer information */\n      identityType?: Identity;\n      /** Customer's email address */\n      email?: string | null;\n      /** Customer's phone number */\n      phone?: string | null;\n      /** Customer's first name */\n      firstName?: string | null;\n      /** Customer's last name */\n      lastName?: string | null;\n  }\n  enum Identity {\n      /** Customer is the site owner */\n      ADMIN = \"ADMIN\",\n      /** Customer is logged in */\n      MEMBER = \"MEMBER\",\n      /** Customer is not logged in */\n      VISITOR = \"VISITOR\",\n      /** Contact was created for the customer */\n      CONTACT = \"CONTACT\"\n  }\n  interface Activity {\n      /**\n       * Log item type\n       * @readonly\n       */\n      activityType?: ActivityType;\n      /**\n       * Comment added to Log item\n       * @readonly\n       */\n      message?: string | null;\n      /**\n       * Log item occurrence timestamp\n       * @readonly\n       */\n      timestamp?: Date | null;\n      /** Custom data for un-typed activities */\n      customData?: CustomData;\n  }\n  enum ActivityType {\n      UNRECOGNIZED_TYPE = \"UNRECOGNIZED_TYPE\",\n      SCHEDULED = \"SCHEDULED\",\n      EMAIL_SENT = \"EMAIL_SENT\",\n      EMAIL_NOT_SENT = \"EMAIL_NOT_SENT\",\n      NOTIFICATION_SENT = \"NOTIFICATION_SENT\",\n      TASK_CREATED = \"TASK_CREATED\",\n      CUSTOM_ACTIVITY = \"CUSTOM_ACTIVITY\"\n  }\n  interface CustomData {\n      /** Activity unique namespace */\n      namespace?: string | null;\n      /** Custom json field for any desired data */\n      customValue?: Record<string, any> | null;\n  }\n  interface CartAbandonedEvent {\n      cartId?: string;\n      /**\n       * Time the cart was created\n       * @readonly\n       */\n      creationTime?: Date | null;\n      /**\n       * Time the cart was abandoned\n       * @readonly\n       */\n      abandonTime?: Date | null;\n      /** Buyer information */\n      buyerInfo?: BuyerInfo;\n      /** Amount of items in cart */\n      itemsCount?: number;\n      /** Coupon ID (if relevant) */\n      couponId?: string;\n      /** Subtotal of all line items in cart, not before shipping and taxes */\n      totals?: Totals;\n      /** Checkout URL - checkout with the abandoned cart details */\n      checkoutUrl?: string;\n      /**\n       * checkout id for buy now flow\n       * @internal\n       * @readonly\n       */\n      checkoutId?: string | null;\n  }\n  interface Totals {\n      /** Subtotal of all line items in cart, without shipping and taxes */\n      subtotal?: number | null;\n      /** Total cart price */\n      total?: number | null;\n      /** Formatted total cart price includes currency symbol */\n      formattedTotal?: string;\n  }\n  interface CartRecoveredEvent {\n      cartId?: string;\n      /**\n       * Time the cart was recovered\n       * @readonly\n       */\n      recoveredTime?: Date | null;\n      /**\n       * Time the cart was created\n       * @readonly\n       */\n      creationTime?: Date | null;\n      /**\n       * Time the cart was abandoned\n       * @readonly\n       */\n      abandonedTime?: Date | null;\n      /**\n       * Checkout id\n       * @internal\n       * @readonly\n       */\n      checkoutId?: string | null;\n  }\n  interface CartDeletedEvent {\n      instanceId?: string;\n      cartId?: string;\n  }\n  interface GetAbandonedCartRequest {\n      /** Cart ID */\n      _id: string;\n  }\n  interface GetAbandonedCartResponse {\n      /** Cart details */\n      abandonedCart?: AbandonedCart;\n  }\n  interface QueryAbandonedCartsRequest {\n      /** Query details */\n      query?: Query;\n  }\n  interface Query {\n      paging?: Paging$1;\n      /** A filter string, for more information see the intro section */\n      filter?: string | null;\n      /** Sort string, for more information see the intro section */\n      sort?: string | null;\n  }\n  interface Paging$1 {\n      /** The number of items to load */\n      limit?: number | null;\n      /** The offset since the beginning of the collection */\n      offset?: number | null;\n  }\n  interface QueryAbandonedCartsResponse {\n      /** Abandoned carts list */\n      abandonedCarts?: AbandonedCart[];\n      /** Total number of carts */\n      totalResults?: number;\n  }\n  interface DeleteCartRequest {\n      /** Cart ID */\n      _id: string;\n  }\n  interface DeleteCartResponse {\n  }\n  interface RedirectToCheckoutRequest {\n      /** abandoned cart id */\n      _id: string;\n      /** Identifier of the metaSite this cart uses */\n      metaSiteId?: string;\n      /** The currency code to create the redirection link with */\n      currency?: string | null;\n  }\n  interface RawHttpResponse {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry[];\n  }\n  interface HeadersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Returns abandoned carts based on the cart ID\n   * @param _id - Cart ID\n   * @internal\n   * @requiredField _id\n   * @permissionId WIX_STORES.READ_ABANDONED_CARTS\n   * @adminMethod\n   * @returns Cart details\n   */\n  function getAbandonedCart(_id: string): Promise<AbandonedCart>;\n  /**\n   * Returns abandoned carts based on the requested query parameters\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.READ_ABANDONED_CARTS\n   * @adminMethod\n   */\n  function queryAbandonedCarts(options?: QueryAbandonedCartsOptions): Promise<QueryAbandonedCartsResponse>;\n  interface QueryAbandonedCartsOptions {\n      /** Query details */\n      query?: Query;\n  }\n  /**\n   * Delete a cart by cart ID\n   * @param _id - Cart ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.DELETE_ABANDONED_CARTS\n   * @adminMethod\n   */\n  function deleteCart(_id: string): Promise<void>;\n  /**\n   * Search abandonment cart/checkout by id and redirect to checkout page.\n   * @param _id - abandoned cart id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function redirectToCheckout(_id: string, options?: RedirectToCheckoutOptions): Promise<RawHttpResponse>;\n  interface RedirectToCheckoutOptions {\n      /** Identifier of the metaSite this cart uses */\n      metaSiteId?: string;\n      /** The currency code to create the redirection link with */\n      currency?: string | null;\n  }\n  \n  type storesV1AbandonedCart_universal_d_AbandonedCart = AbandonedCart;\n  type storesV1AbandonedCart_universal_d_Status = Status;\n  const storesV1AbandonedCart_universal_d_Status: typeof Status;\n  type storesV1AbandonedCart_universal_d_BuyerInfo = BuyerInfo;\n  type storesV1AbandonedCart_universal_d_Identity = Identity;\n  const storesV1AbandonedCart_universal_d_Identity: typeof Identity;\n  type storesV1AbandonedCart_universal_d_Activity = Activity;\n  type storesV1AbandonedCart_universal_d_ActivityType = ActivityType;\n  const storesV1AbandonedCart_universal_d_ActivityType: typeof ActivityType;\n  type storesV1AbandonedCart_universal_d_CustomData = CustomData;\n  type storesV1AbandonedCart_universal_d_CartAbandonedEvent = CartAbandonedEvent;\n  type storesV1AbandonedCart_universal_d_Totals = Totals;\n  type storesV1AbandonedCart_universal_d_CartRecoveredEvent = CartRecoveredEvent;\n  type storesV1AbandonedCart_universal_d_CartDeletedEvent = CartDeletedEvent;\n  type storesV1AbandonedCart_universal_d_GetAbandonedCartRequest = GetAbandonedCartRequest;\n  type storesV1AbandonedCart_universal_d_GetAbandonedCartResponse = GetAbandonedCartResponse;\n  type storesV1AbandonedCart_universal_d_QueryAbandonedCartsRequest = QueryAbandonedCartsRequest;\n  type storesV1AbandonedCart_universal_d_Query = Query;\n  type storesV1AbandonedCart_universal_d_QueryAbandonedCartsResponse = QueryAbandonedCartsResponse;\n  type storesV1AbandonedCart_universal_d_DeleteCartRequest = DeleteCartRequest;\n  type storesV1AbandonedCart_universal_d_DeleteCartResponse = DeleteCartResponse;\n  type storesV1AbandonedCart_universal_d_RedirectToCheckoutRequest = RedirectToCheckoutRequest;\n  type storesV1AbandonedCart_universal_d_RawHttpResponse = RawHttpResponse;\n  type storesV1AbandonedCart_universal_d_HeadersEntry = HeadersEntry;\n  type storesV1AbandonedCart_universal_d_MessageEnvelope = MessageEnvelope;\n  type storesV1AbandonedCart_universal_d_IdentificationData = IdentificationData;\n  type storesV1AbandonedCart_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type storesV1AbandonedCart_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const storesV1AbandonedCart_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const storesV1AbandonedCart_universal_d_getAbandonedCart: typeof getAbandonedCart;\n  const storesV1AbandonedCart_universal_d_queryAbandonedCarts: typeof queryAbandonedCarts;\n  type storesV1AbandonedCart_universal_d_QueryAbandonedCartsOptions = QueryAbandonedCartsOptions;\n  const storesV1AbandonedCart_universal_d_deleteCart: typeof deleteCart;\n  const storesV1AbandonedCart_universal_d_redirectToCheckout: typeof redirectToCheckout;\n  type storesV1AbandonedCart_universal_d_RedirectToCheckoutOptions = RedirectToCheckoutOptions;\n  namespace storesV1AbandonedCart_universal_d {\n    export {\n      storesV1AbandonedCart_universal_d_AbandonedCart as AbandonedCart,\n      storesV1AbandonedCart_universal_d_Status as Status,\n      storesV1AbandonedCart_universal_d_BuyerInfo as BuyerInfo,\n      storesV1AbandonedCart_universal_d_Identity as Identity,\n      storesV1AbandonedCart_universal_d_Activity as Activity,\n      storesV1AbandonedCart_universal_d_ActivityType as ActivityType,\n      storesV1AbandonedCart_universal_d_CustomData as CustomData,\n      storesV1AbandonedCart_universal_d_CartAbandonedEvent as CartAbandonedEvent,\n      storesV1AbandonedCart_universal_d_Totals as Totals,\n      storesV1AbandonedCart_universal_d_CartRecoveredEvent as CartRecoveredEvent,\n      storesV1AbandonedCart_universal_d_CartDeletedEvent as CartDeletedEvent,\n      storesV1AbandonedCart_universal_d_GetAbandonedCartRequest as GetAbandonedCartRequest,\n      storesV1AbandonedCart_universal_d_GetAbandonedCartResponse as GetAbandonedCartResponse,\n      storesV1AbandonedCart_universal_d_QueryAbandonedCartsRequest as QueryAbandonedCartsRequest,\n      storesV1AbandonedCart_universal_d_Query as Query,\n      Paging$1 as Paging,\n      storesV1AbandonedCart_universal_d_QueryAbandonedCartsResponse as QueryAbandonedCartsResponse,\n      storesV1AbandonedCart_universal_d_DeleteCartRequest as DeleteCartRequest,\n      storesV1AbandonedCart_universal_d_DeleteCartResponse as DeleteCartResponse,\n      storesV1AbandonedCart_universal_d_RedirectToCheckoutRequest as RedirectToCheckoutRequest,\n      storesV1AbandonedCart_universal_d_RawHttpResponse as RawHttpResponse,\n      storesV1AbandonedCart_universal_d_HeadersEntry as HeadersEntry,\n      storesV1AbandonedCart_universal_d_MessageEnvelope as MessageEnvelope,\n      storesV1AbandonedCart_universal_d_IdentificationData as IdentificationData,\n      storesV1AbandonedCart_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      storesV1AbandonedCart_universal_d_WebhookIdentityType as WebhookIdentityType,\n      storesV1AbandonedCart_universal_d_getAbandonedCart as getAbandonedCart,\n      storesV1AbandonedCart_universal_d_queryAbandonedCarts as queryAbandonedCarts,\n      storesV1AbandonedCart_universal_d_QueryAbandonedCartsOptions as QueryAbandonedCartsOptions,\n      storesV1AbandonedCart_universal_d_deleteCart as deleteCart,\n      storesV1AbandonedCart_universal_d_redirectToCheckout as redirectToCheckout,\n      storesV1AbandonedCart_universal_d_RedirectToCheckoutOptions as RedirectToCheckoutOptions,\n    };\n  }\n  \n  interface SubscriptionOption {\n      /** Subscription option ID (auto-generated upon subscription option creation). */\n      _id?: string | null;\n      /** Subscription option title. */\n      title?: string | null;\n      /** Subscription option description (optional). */\n      description?: string | null;\n      /** Subscription charge times. For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months. */\n      subscriptionSettings?: SubscriptionSettings;\n      /**\n       * Discount info (optional).\n       * For example, a $20 discount would be `value: 20`, `type: AMOUNT`.\n       */\n      discount?: Discount;\n  }\n  interface SubscriptionSettings {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency;\n      /**\n       * Interval of recurring payment (optional: default value 1 will be used if not provided)\n       * @internal\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface Discount {\n      /** Discount type. */\n      type?: DiscountType;\n      /** Discount value. */\n      value?: number;\n  }\n  enum DiscountType {\n      UNDEFINED = \"UNDEFINED\",\n      /** No discount */\n      AMOUNT = \"AMOUNT\",\n      PERCENT = \"PERCENT\"\n  }\n  interface CreateSubscriptionOptionRequest {\n      /** Subscription option info. */\n      subscriptionOption: SubscriptionOption;\n  }\n  interface CreateSubscriptionOptionResponse {\n      /** Newly created subscription option. */\n      subscriptionOption?: SubscriptionOption;\n  }\n  interface UpdateSubscriptionOptionRequest {\n      /** Subscription option info. Only the passed parameters will be updated. */\n      subscriptionOption: SubscriptionOption;\n  }\n  interface UpdateSubscriptionOptionResponse {\n      /** Updated subscription option. */\n      subscriptionOption?: SubscriptionOption;\n  }\n  interface DeleteSubscriptionOptionRequest {\n      /** ID of the subscription option to delete. */\n      _id: string;\n  }\n  interface DeleteSubscriptionOptionResponse {\n  }\n  interface BulkCreateSubscriptionOptionsRequest {\n      /** Subscription options info. */\n      subscriptionOptions: SubscriptionOption[];\n  }\n  interface BulkCreateSubscriptionOptionsResponse {\n      /** Newly created subscription options. */\n      subscriptionOptions?: SubscriptionOption[];\n  }\n  interface BulkUpdateSubscriptionOptionsRequest {\n      /** Subscription options info. Only the passed parameters in each subscription option will be updated. */\n      subscriptionOptions: SubscriptionOption[];\n  }\n  interface BulkUpdateSubscriptionOptionsResponse {\n      /** Updated subscription options. */\n      subscriptionOptions?: SubscriptionOption[];\n  }\n  interface BulkDeleteSubscriptionOptionsRequest {\n      /** IDs of the subscription options to delete. */\n      ids: string[];\n  }\n  interface BulkDeleteSubscriptionOptionsResponse {\n  }\n  interface AssignSubscriptionOptionsToProductRequest {\n      /** Product ID. */\n      productId: string;\n      /** Ordered array of subscription options that will be assigned to the product. Pass an empty array to remove all subscription options from the product. */\n      assignedSubscriptionOptions?: SubscriptionOptionInProduct[];\n  }\n  interface SubscriptionOptionInProduct {\n      /** Subscription option ID. */\n      _id?: string;\n      /** Whether the subscription option is hidden for the product (the default is false). */\n      hidden?: boolean;\n      /**\n       * Subscription option title.\n       * @readonly\n       */\n      title?: string | null;\n      /**\n       * Subscription option description (optional).\n       * @readonly\n       */\n      description?: string | null;\n      /**\n       * Subscription payment settings. For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months.\n       * @readonly\n       */\n      subscriptionSettings?: SubscriptionSettings;\n      /**\n       * Discount info (optional).\n       * @readonly\n       */\n      discount?: Discount;\n  }\n  interface AssignSubscriptionOptionsToProductResponse {\n  }\n  interface AllowOneTimePurchasesRequest {\n      /** Product ID. */\n      productId: string;\n      /** Pass `true` to offer product by subscription and as one-time purchase. Pass `false` to offer product as subscription only. */\n      allowed: boolean | null;\n  }\n  interface AllowOneTimePurchasesResponse {\n  }\n  interface GetSubscriptionOptionRequest {\n      /** Subscription option ID. */\n      _id: string;\n  }\n  interface GetSubscriptionOptionResponse {\n      /** Subscription option. */\n      subscriptionOption?: SubscriptionOption;\n  }\n  interface GetSubscriptionOptionsForProductRequest {\n      /** Product ID. */\n      productId: string;\n      /** Whether to include hidden subscription options in the results. */\n      includeHiddenSubscriptionOptions?: boolean;\n  }\n  interface GetSubscriptionOptionsForProductResponse {\n      /** Subscription options. */\n      subscriptionOptions?: SubscriptionOptionInProduct[];\n  }\n  interface ListSubscriptionOptionsRequest {\n      /** Subscription option IDs. */\n      ids: string[];\n  }\n  interface ListSubscriptionOptionsResponse {\n      /** Subscription options. */\n      subscriptionOptions?: SubscriptionOption[];\n  }\n  interface CalculatePricesRequest {\n      /** original price to which subscription options discount will be applied */\n      price?: number;\n      /** ids of subscription options which will be applied to original price */\n      ids: string[];\n  }\n  interface CalculatePricesResponse {\n      /** array of calculated prices */\n      prices?: SubscriptionOptionPrices[];\n      /** price to which subscription options discount applied */\n      originalPrice?: number;\n  }\n  interface SubscriptionOptionPrices {\n      /** Subscription option id */\n      _id?: string;\n      /** Price data calculated for subscription option */\n      priceData?: SubscriptionOptionPriceData;\n      /** Price data calculated for subscription option, converted to the currency requested in request header */\n      convertedPriceData?: SubscriptionOptionPriceData;\n  }\n  interface SubscriptionOptionPriceData {\n      /** Subscription option price currency */\n      currency?: string;\n      /** Price calculated after subscription option discount applied */\n      discountedPrice?: number;\n      /** Price calculated after subscription option discount applied, formatted with the currency */\n      formattedDiscountedPrice?: string;\n  }\n  interface BulkCalculatePricesRequest {\n      /**\n       * Original prices to which subscription options discount will be applied.\n       * Key is identifier unique per price that can be used to match calculated prices with original price\n       */\n      prices: Record<string, number>;\n      /** ids of subscription options which will be applied to original price */\n      ids: string[];\n  }\n  interface BulkCalculatePricesResponse {\n      /**\n       * Key is identifier unique per price that can be used to match calculated prices with original price\n       * Value is response with calculated prices for each subscription option\n       */\n      calculatedPrices?: Record<string, CalculatePricesResponse>;\n  }\n  interface BulkCalculatePricesRequestV2 {\n      /** Original prices to be calculated for each corresponding product id with related subscription plan ids */\n      items: BulkCalculatePricesRequestItem[];\n  }\n  interface BulkCalculatePricesRequestItem {\n      /** Calculation id (product id) */\n      _id?: string;\n      /**\n       * Original prices to which subscription options discount will be applied.\n       * Key is identifier unique per price that can be used to match calculated prices with original price\n       */\n      prices?: Record<string, number>;\n      /** ids of subscription options which will be applied to original price. */\n      subscriptionOptionIds?: string[];\n  }\n  interface BulkCalculatePricesResponseV2 {\n      /**\n       * Key is identifier unique per price that can be used to match calculated prices with original price\n       * Value is response with calculated prices for each subscription option for each product\n       */\n      calculatedPricesPerProduct?: BulkCalculatePricesResponseItem[];\n  }\n  interface BulkCalculatePricesResponseItem {\n      /** Calculation id (product id) */\n      _id?: string;\n      /**\n       * Key is identifier unique per price that can be used to match calculated prices with original price\n       * Value is response with calculated prices for each subscription option\n       */\n      calculatedPrices?: Record<string, CalculatePricesResponse>;\n  }\n  interface GetProductIdsForSubscriptionOptionRequest {\n      /** Subscription option ID. */\n      _id: string;\n      /** Whether to include hidden products in the returned results. */\n      includeHiddenProducts?: boolean;\n      /** Optional pagination parameters */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Amount of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the display (relevant for all pages after the first). */\n      offset?: number | null;\n  }\n  interface GetProductIdsForSubscriptionOptionResponse {\n      /** IDs of products associated with the specified subscription option. */\n      productIds?: string[];\n      /** Paging metadata. */\n      metadata?: PagingMetadata;\n      /** Number of total results. */\n      totalResults?: number;\n  }\n  interface PagingMetadata {\n      /** Amount of items to load per page. */\n      items?: number;\n      /** Number of items to skip in the display (relevant for all pages after the first). */\n      offset?: number;\n  }\n  interface GetOneTimePurchasesStatusRequest {\n      /** Product ID. */\n      productId: string;\n  }\n  interface GetOneTimePurchasesStatusResponse {\n      /** Whether the specified product is available for one-time purchase */\n      allowed?: boolean;\n  }\n  /**\n   * Creates a subscription option.\n   * To assign to a product, call [`assignSubscriptionOptionsToProduct()`](https://www.wix.com/velo/reference/wix-stores-v2/subscriptionoptions/assign-subscription-options-to-product).\n   * Subscription options that are not assigned to a product will not be visible in the Wix business manager.\n   * @param subscriptionOption - Subscription option info.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField subscriptionOption\n   * @requiredField subscriptionOption.subscriptionSettings\n   * @requiredField subscriptionOption.title\n   * @permissionId WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @returns Newly created subscription option.\n   * @deprecated\n   */\n  function createSubscriptionOption(subscriptionOption: SubscriptionOption): Promise<SubscriptionOption>;\n  /**\n   * Updates a subscription option.\n   * Only parameters passed will be updated.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param _id - Subscription option ID (auto-generated upon subscription option creation).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField subscriptionOption\n   * @param subscriptionOption - Subscription option update options.\n   * @permissionId WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @returns Updated subscription option.\n   * @deprecated\n   */\n  function updateSubscriptionOption(_id: string | null, subscriptionOption: UpdateSubscriptionOption): Promise<SubscriptionOption>;\n  interface UpdateSubscriptionOption {\n      /** Subscription option ID (auto-generated upon subscription option creation). */\n      _id?: string | null;\n      /** Subscription option title. */\n      title?: string | null;\n      /** Subscription option description (optional). */\n      description?: string | null;\n      /** Subscription charge times. For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months. */\n      subscriptionSettings?: SubscriptionSettings;\n      /**\n       * Discount info (optional).\n       * For example, a $20 discount would be `value: 20`, `type: AMOUNT`.\n       */\n      discount?: Discount;\n  }\n  /**\n   * Deletes a subscription option.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param _id - ID of the subscription option to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function deleteSubscriptionOption(_id: string): Promise<void>;\n  /**\n   * Creates multiple subscription options (up to 100).\n   * To assign to a product, call [`assignSubscriptionOptionsToProduct()`](https://www.wix.com/velo/reference/wix-stores-v2/subscriptionoptions/assign-subscription-options-to-product).\n   * Subscription options that are not assigned to a product will not be visible in the Wix business manager.\n   * @param subscriptionOptions - Subscription options info.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField subscriptionOptions\n   * @requiredField subscriptionOptions.subscriptionSettings\n   * @requiredField subscriptionOptions.title\n   * @permissionId WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function bulkCreateSubscriptionOptions(subscriptionOptions: SubscriptionOption[]): Promise<BulkCreateSubscriptionOptionsResponse>;\n  /**\n   * Updates multiple subscription options.\n   * Only parameters passed will be updated.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param subscriptionOptions - Subscription options info. Only the passed parameters in each subscription option will be updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField subscriptionOptions\n   * @requiredField subscriptionOptions._id\n   * @permissionId WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function bulkUpdateSubscriptionOptions(subscriptionOptions: SubscriptionOption[]): Promise<BulkUpdateSubscriptionOptionsResponse>;\n  /**\n   * Deletes multiple subscription options.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param ids - IDs of the subscription options to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function bulkDeleteSubscriptionOptions(ids: string[]): Promise<void>;\n  /**\n   * Assign up to 6 subscription options to a specified product.\n   * Pass an empty array to remove all subscription options assigned to a product.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param productId - Product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @param options - Subscription option assignment options.\n   * @permissionId WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function assignSubscriptionOptionsToProduct(productId: string, options?: AssignSubscriptionOptionsToProductOptions): Promise<void>;\n  interface AssignSubscriptionOptionsToProductOptions {\n      /** Ordered array of subscription options that will be assigned to the product. Pass an empty array to remove all subscription options from the product. */\n      assignedSubscriptionOptions?: SubscriptionOptionInProduct[];\n  }\n  /**\n   * Allow for one-time purchase of a product.\n   * By default, product can be sold only as part of a subscription, not as a one-time purchase.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param productId - Product ID.\n   * @param allowed - Pass `true` to offer product by subscription and as one-time purchase. Pass `false` to offer product as subscription only.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField allowed\n   * @requiredField productId\n   * @permissionId WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function allowOneTimePurchases(productId: string, allowed: boolean | null): Promise<void>;\n  /**\n   * Retrieves a subscription option by ID.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param _id - Subscription option ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId WIX_STORES.READ_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @returns Subscription option.\n   * @deprecated\n   */\n  function getSubscriptionOption(_id: string): Promise<SubscriptionOption>;\n  /**\n   * Retrieves all subscription options assigned to a specified product.\n   * By default, hidden subscription options are not returned. To retrieve all subscription options you must pass `includeHiddenSubscriptionOptions = true`.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param productId - Product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @param options - Options.\n   * @permissionId WIX_STORES.READ_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function getSubscriptionOptionsForProduct(productId: string, options?: GetSubscriptionOptionsForProductOptions): Promise<GetSubscriptionOptionsForProductResponse>;\n  interface GetSubscriptionOptionsForProductOptions {\n      /** Whether to include hidden subscription options in the results. */\n      includeHiddenSubscriptionOptions?: boolean;\n  }\n  /**\n   * Returns the specified subscription options.\n   * If the specified subscription option doesn't exist, the request will be successful but the response will be empty.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param ids - Subscription option IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId WIX_STORES.READ_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function listSubscriptionOptions(ids: string[]): Promise<ListSubscriptionOptionsResponse>;\n  /**\n   * Calculates discounted price when specified subscription option applied to given price.\n   * before open to users it should support price calculations by productId/variantId in addition to price\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.ids\n   * @permissionId WIX_STORES.READ_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function calculatePrices(options?: CalculatePricesOptions): Promise<CalculatePricesResponse>;\n  interface CalculatePricesOptions {\n      /** original price to which subscription options discount will be applied */\n      price?: number;\n      /** ids of subscription options which will be applied to original price */\n      ids: string[];\n  }\n  /**\n   * Calculates discounted price when specified subscription option applied for each of prices provided.\n   * before open to users it should support price calculations by productId/variantId in addition to price\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param prices - Original prices to which subscription options discount will be applied.\n   * Key is identifier unique per price that can be used to match calculated prices with original price\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.ids\n   * @requiredField prices\n   * @permissionId WIX_STORES.READ_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function bulkCalculatePrices(prices: Record<string, number>, options: BulkCalculatePricesOptions): Promise<BulkCalculatePricesResponse>;\n  interface BulkCalculatePricesOptions {\n      /** ids of subscription options which will be applied to original price */\n      ids: string[];\n  }\n  /**\n   * Calculates discounted price when specified subscription option applied for each of prices provided for each product.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param items - Original prices to be calculated for each corresponding product id with related subscription plan ids\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField items\n   * @requiredField items._id\n   * @requiredField items.prices\n   * @requiredField items.subscriptionOptionIds\n   * @permissionId WIX_STORES.READ_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function bulkCalculatePricesForProducts(items: BulkCalculatePricesRequestItem[]): Promise<BulkCalculatePricesResponseV2>;\n  /**\n   * Retrieves the IDs of products associated with a specified subscription option.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param _id - Subscription option ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @param options - Paging and other options.\n   * @permissionId WIX_STORES.READ_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function getProductIdsForSubscriptionOption(_id: string, options?: GetProductIdsForSubscriptionOptionOptions): Promise<GetProductIdsForSubscriptionOptionResponse>;\n  interface GetProductIdsForSubscriptionOptionOptions {\n      /** Whether to include hidden products in the returned results. */\n      includeHiddenProducts?: boolean;\n      /** Optional pagination parameters */\n      paging?: Paging;\n  }\n  /**\n   * Checks whether a specified product (associated with subscription options) is available for one-time purchase.\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been deprecated and will be removed on January 29, 2024.\n   *\n   * </blockquote>\n   * @param productId - Product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @permissionId WIX_STORES.READ_SUBSCRIPTION_OPTIONS\n   * @adminMethod\n   * @deprecated\n   */\n  function getOneTimePurchasesStatus(productId: string): Promise<GetOneTimePurchasesStatusResponse>;\n  \n  type storesV1SubscriptionOption_universal_d_SubscriptionOption = SubscriptionOption;\n  type storesV1SubscriptionOption_universal_d_SubscriptionSettings = SubscriptionSettings;\n  type storesV1SubscriptionOption_universal_d_SubscriptionFrequency = SubscriptionFrequency;\n  const storesV1SubscriptionOption_universal_d_SubscriptionFrequency: typeof SubscriptionFrequency;\n  type storesV1SubscriptionOption_universal_d_Discount = Discount;\n  type storesV1SubscriptionOption_universal_d_DiscountType = DiscountType;\n  const storesV1SubscriptionOption_universal_d_DiscountType: typeof DiscountType;\n  type storesV1SubscriptionOption_universal_d_CreateSubscriptionOptionRequest = CreateSubscriptionOptionRequest;\n  type storesV1SubscriptionOption_universal_d_CreateSubscriptionOptionResponse = CreateSubscriptionOptionResponse;\n  type storesV1SubscriptionOption_universal_d_UpdateSubscriptionOptionRequest = UpdateSubscriptionOptionRequest;\n  type storesV1SubscriptionOption_universal_d_UpdateSubscriptionOptionResponse = UpdateSubscriptionOptionResponse;\n  type storesV1SubscriptionOption_universal_d_DeleteSubscriptionOptionRequest = DeleteSubscriptionOptionRequest;\n  type storesV1SubscriptionOption_universal_d_DeleteSubscriptionOptionResponse = DeleteSubscriptionOptionResponse;\n  type storesV1SubscriptionOption_universal_d_BulkCreateSubscriptionOptionsRequest = BulkCreateSubscriptionOptionsRequest;\n  type storesV1SubscriptionOption_universal_d_BulkCreateSubscriptionOptionsResponse = BulkCreateSubscriptionOptionsResponse;\n  type storesV1SubscriptionOption_universal_d_BulkUpdateSubscriptionOptionsRequest = BulkUpdateSubscriptionOptionsRequest;\n  type storesV1SubscriptionOption_universal_d_BulkUpdateSubscriptionOptionsResponse = BulkUpdateSubscriptionOptionsResponse;\n  type storesV1SubscriptionOption_universal_d_BulkDeleteSubscriptionOptionsRequest = BulkDeleteSubscriptionOptionsRequest;\n  type storesV1SubscriptionOption_universal_d_BulkDeleteSubscriptionOptionsResponse = BulkDeleteSubscriptionOptionsResponse;\n  type storesV1SubscriptionOption_universal_d_AssignSubscriptionOptionsToProductRequest = AssignSubscriptionOptionsToProductRequest;\n  type storesV1SubscriptionOption_universal_d_SubscriptionOptionInProduct = SubscriptionOptionInProduct;\n  type storesV1SubscriptionOption_universal_d_AssignSubscriptionOptionsToProductResponse = AssignSubscriptionOptionsToProductResponse;\n  type storesV1SubscriptionOption_universal_d_AllowOneTimePurchasesRequest = AllowOneTimePurchasesRequest;\n  type storesV1SubscriptionOption_universal_d_AllowOneTimePurchasesResponse = AllowOneTimePurchasesResponse;\n  type storesV1SubscriptionOption_universal_d_GetSubscriptionOptionRequest = GetSubscriptionOptionRequest;\n  type storesV1SubscriptionOption_universal_d_GetSubscriptionOptionResponse = GetSubscriptionOptionResponse;\n  type storesV1SubscriptionOption_universal_d_GetSubscriptionOptionsForProductRequest = GetSubscriptionOptionsForProductRequest;\n  type storesV1SubscriptionOption_universal_d_GetSubscriptionOptionsForProductResponse = GetSubscriptionOptionsForProductResponse;\n  type storesV1SubscriptionOption_universal_d_ListSubscriptionOptionsRequest = ListSubscriptionOptionsRequest;\n  type storesV1SubscriptionOption_universal_d_ListSubscriptionOptionsResponse = ListSubscriptionOptionsResponse;\n  type storesV1SubscriptionOption_universal_d_CalculatePricesRequest = CalculatePricesRequest;\n  type storesV1SubscriptionOption_universal_d_CalculatePricesResponse = CalculatePricesResponse;\n  type storesV1SubscriptionOption_universal_d_SubscriptionOptionPrices = SubscriptionOptionPrices;\n  type storesV1SubscriptionOption_universal_d_SubscriptionOptionPriceData = SubscriptionOptionPriceData;\n  type storesV1SubscriptionOption_universal_d_BulkCalculatePricesRequest = BulkCalculatePricesRequest;\n  type storesV1SubscriptionOption_universal_d_BulkCalculatePricesResponse = BulkCalculatePricesResponse;\n  type storesV1SubscriptionOption_universal_d_BulkCalculatePricesRequestV2 = BulkCalculatePricesRequestV2;\n  type storesV1SubscriptionOption_universal_d_BulkCalculatePricesRequestItem = BulkCalculatePricesRequestItem;\n  type storesV1SubscriptionOption_universal_d_BulkCalculatePricesResponseV2 = BulkCalculatePricesResponseV2;\n  type storesV1SubscriptionOption_universal_d_BulkCalculatePricesResponseItem = BulkCalculatePricesResponseItem;\n  type storesV1SubscriptionOption_universal_d_GetProductIdsForSubscriptionOptionRequest = GetProductIdsForSubscriptionOptionRequest;\n  type storesV1SubscriptionOption_universal_d_Paging = Paging;\n  type storesV1SubscriptionOption_universal_d_GetProductIdsForSubscriptionOptionResponse = GetProductIdsForSubscriptionOptionResponse;\n  type storesV1SubscriptionOption_universal_d_PagingMetadata = PagingMetadata;\n  type storesV1SubscriptionOption_universal_d_GetOneTimePurchasesStatusRequest = GetOneTimePurchasesStatusRequest;\n  type storesV1SubscriptionOption_universal_d_GetOneTimePurchasesStatusResponse = GetOneTimePurchasesStatusResponse;\n  const storesV1SubscriptionOption_universal_d_createSubscriptionOption: typeof createSubscriptionOption;\n  const storesV1SubscriptionOption_universal_d_updateSubscriptionOption: typeof updateSubscriptionOption;\n  type storesV1SubscriptionOption_universal_d_UpdateSubscriptionOption = UpdateSubscriptionOption;\n  const storesV1SubscriptionOption_universal_d_deleteSubscriptionOption: typeof deleteSubscriptionOption;\n  const storesV1SubscriptionOption_universal_d_bulkCreateSubscriptionOptions: typeof bulkCreateSubscriptionOptions;\n  const storesV1SubscriptionOption_universal_d_bulkUpdateSubscriptionOptions: typeof bulkUpdateSubscriptionOptions;\n  const storesV1SubscriptionOption_universal_d_bulkDeleteSubscriptionOptions: typeof bulkDeleteSubscriptionOptions;\n  const storesV1SubscriptionOption_universal_d_assignSubscriptionOptionsToProduct: typeof assignSubscriptionOptionsToProduct;\n  type storesV1SubscriptionOption_universal_d_AssignSubscriptionOptionsToProductOptions = AssignSubscriptionOptionsToProductOptions;\n  const storesV1SubscriptionOption_universal_d_allowOneTimePurchases: typeof allowOneTimePurchases;\n  const storesV1SubscriptionOption_universal_d_getSubscriptionOption: typeof getSubscriptionOption;\n  const storesV1SubscriptionOption_universal_d_getSubscriptionOptionsForProduct: typeof getSubscriptionOptionsForProduct;\n  type storesV1SubscriptionOption_universal_d_GetSubscriptionOptionsForProductOptions = GetSubscriptionOptionsForProductOptions;\n  const storesV1SubscriptionOption_universal_d_listSubscriptionOptions: typeof listSubscriptionOptions;\n  const storesV1SubscriptionOption_universal_d_calculatePrices: typeof calculatePrices;\n  type storesV1SubscriptionOption_universal_d_CalculatePricesOptions = CalculatePricesOptions;\n  const storesV1SubscriptionOption_universal_d_bulkCalculatePrices: typeof bulkCalculatePrices;\n  type storesV1SubscriptionOption_universal_d_BulkCalculatePricesOptions = BulkCalculatePricesOptions;\n  const storesV1SubscriptionOption_universal_d_bulkCalculatePricesForProducts: typeof bulkCalculatePricesForProducts;\n  const storesV1SubscriptionOption_universal_d_getProductIdsForSubscriptionOption: typeof getProductIdsForSubscriptionOption;\n  type storesV1SubscriptionOption_universal_d_GetProductIdsForSubscriptionOptionOptions = GetProductIdsForSubscriptionOptionOptions;\n  const storesV1SubscriptionOption_universal_d_getOneTimePurchasesStatus: typeof getOneTimePurchasesStatus;\n  namespace storesV1SubscriptionOption_universal_d {\n    export {\n      storesV1SubscriptionOption_universal_d_SubscriptionOption as SubscriptionOption,\n      storesV1SubscriptionOption_universal_d_SubscriptionSettings as SubscriptionSettings,\n      storesV1SubscriptionOption_universal_d_SubscriptionFrequency as SubscriptionFrequency,\n      storesV1SubscriptionOption_universal_d_Discount as Discount,\n      storesV1SubscriptionOption_universal_d_DiscountType as DiscountType,\n      storesV1SubscriptionOption_universal_d_CreateSubscriptionOptionRequest as CreateSubscriptionOptionRequest,\n      storesV1SubscriptionOption_universal_d_CreateSubscriptionOptionResponse as CreateSubscriptionOptionResponse,\n      storesV1SubscriptionOption_universal_d_UpdateSubscriptionOptionRequest as UpdateSubscriptionOptionRequest,\n      storesV1SubscriptionOption_universal_d_UpdateSubscriptionOptionResponse as UpdateSubscriptionOptionResponse,\n      storesV1SubscriptionOption_universal_d_DeleteSubscriptionOptionRequest as DeleteSubscriptionOptionRequest,\n      storesV1SubscriptionOption_universal_d_DeleteSubscriptionOptionResponse as DeleteSubscriptionOptionResponse,\n      storesV1SubscriptionOption_universal_d_BulkCreateSubscriptionOptionsRequest as BulkCreateSubscriptionOptionsRequest,\n      storesV1SubscriptionOption_universal_d_BulkCreateSubscriptionOptionsResponse as BulkCreateSubscriptionOptionsResponse,\n      storesV1SubscriptionOption_universal_d_BulkUpdateSubscriptionOptionsRequest as BulkUpdateSubscriptionOptionsRequest,\n      storesV1SubscriptionOption_universal_d_BulkUpdateSubscriptionOptionsResponse as BulkUpdateSubscriptionOptionsResponse,\n      storesV1SubscriptionOption_universal_d_BulkDeleteSubscriptionOptionsRequest as BulkDeleteSubscriptionOptionsRequest,\n      storesV1SubscriptionOption_universal_d_BulkDeleteSubscriptionOptionsResponse as BulkDeleteSubscriptionOptionsResponse,\n      storesV1SubscriptionOption_universal_d_AssignSubscriptionOptionsToProductRequest as AssignSubscriptionOptionsToProductRequest,\n      storesV1SubscriptionOption_universal_d_SubscriptionOptionInProduct as SubscriptionOptionInProduct,\n      storesV1SubscriptionOption_universal_d_AssignSubscriptionOptionsToProductResponse as AssignSubscriptionOptionsToProductResponse,\n      storesV1SubscriptionOption_universal_d_AllowOneTimePurchasesRequest as AllowOneTimePurchasesRequest,\n      storesV1SubscriptionOption_universal_d_AllowOneTimePurchasesResponse as AllowOneTimePurchasesResponse,\n      storesV1SubscriptionOption_universal_d_GetSubscriptionOptionRequest as GetSubscriptionOptionRequest,\n      storesV1SubscriptionOption_universal_d_GetSubscriptionOptionResponse as GetSubscriptionOptionResponse,\n      storesV1SubscriptionOption_universal_d_GetSubscriptionOptionsForProductRequest as GetSubscriptionOptionsForProductRequest,\n      storesV1SubscriptionOption_universal_d_GetSubscriptionOptionsForProductResponse as GetSubscriptionOptionsForProductResponse,\n      storesV1SubscriptionOption_universal_d_ListSubscriptionOptionsRequest as ListSubscriptionOptionsRequest,\n      storesV1SubscriptionOption_universal_d_ListSubscriptionOptionsResponse as ListSubscriptionOptionsResponse,\n      storesV1SubscriptionOption_universal_d_CalculatePricesRequest as CalculatePricesRequest,\n      storesV1SubscriptionOption_universal_d_CalculatePricesResponse as CalculatePricesResponse,\n      storesV1SubscriptionOption_universal_d_SubscriptionOptionPrices as SubscriptionOptionPrices,\n      storesV1SubscriptionOption_universal_d_SubscriptionOptionPriceData as SubscriptionOptionPriceData,\n      storesV1SubscriptionOption_universal_d_BulkCalculatePricesRequest as BulkCalculatePricesRequest,\n      storesV1SubscriptionOption_universal_d_BulkCalculatePricesResponse as BulkCalculatePricesResponse,\n      storesV1SubscriptionOption_universal_d_BulkCalculatePricesRequestV2 as BulkCalculatePricesRequestV2,\n      storesV1SubscriptionOption_universal_d_BulkCalculatePricesRequestItem as BulkCalculatePricesRequestItem,\n      storesV1SubscriptionOption_universal_d_BulkCalculatePricesResponseV2 as BulkCalculatePricesResponseV2,\n      storesV1SubscriptionOption_universal_d_BulkCalculatePricesResponseItem as BulkCalculatePricesResponseItem,\n      storesV1SubscriptionOption_universal_d_GetProductIdsForSubscriptionOptionRequest as GetProductIdsForSubscriptionOptionRequest,\n      storesV1SubscriptionOption_universal_d_Paging as Paging,\n      storesV1SubscriptionOption_universal_d_GetProductIdsForSubscriptionOptionResponse as GetProductIdsForSubscriptionOptionResponse,\n      storesV1SubscriptionOption_universal_d_PagingMetadata as PagingMetadata,\n      storesV1SubscriptionOption_universal_d_GetOneTimePurchasesStatusRequest as GetOneTimePurchasesStatusRequest,\n      storesV1SubscriptionOption_universal_d_GetOneTimePurchasesStatusResponse as GetOneTimePurchasesStatusResponse,\n      storesV1SubscriptionOption_universal_d_createSubscriptionOption as createSubscriptionOption,\n      storesV1SubscriptionOption_universal_d_updateSubscriptionOption as updateSubscriptionOption,\n      storesV1SubscriptionOption_universal_d_UpdateSubscriptionOption as UpdateSubscriptionOption,\n      storesV1SubscriptionOption_universal_d_deleteSubscriptionOption as deleteSubscriptionOption,\n      storesV1SubscriptionOption_universal_d_bulkCreateSubscriptionOptions as bulkCreateSubscriptionOptions,\n      storesV1SubscriptionOption_universal_d_bulkUpdateSubscriptionOptions as bulkUpdateSubscriptionOptions,\n      storesV1SubscriptionOption_universal_d_bulkDeleteSubscriptionOptions as bulkDeleteSubscriptionOptions,\n      storesV1SubscriptionOption_universal_d_assignSubscriptionOptionsToProduct as assignSubscriptionOptionsToProduct,\n      storesV1SubscriptionOption_universal_d_AssignSubscriptionOptionsToProductOptions as AssignSubscriptionOptionsToProductOptions,\n      storesV1SubscriptionOption_universal_d_allowOneTimePurchases as allowOneTimePurchases,\n      storesV1SubscriptionOption_universal_d_getSubscriptionOption as getSubscriptionOption,\n      storesV1SubscriptionOption_universal_d_getSubscriptionOptionsForProduct as getSubscriptionOptionsForProduct,\n      storesV1SubscriptionOption_universal_d_GetSubscriptionOptionsForProductOptions as GetSubscriptionOptionsForProductOptions,\n      storesV1SubscriptionOption_universal_d_listSubscriptionOptions as listSubscriptionOptions,\n      storesV1SubscriptionOption_universal_d_calculatePrices as calculatePrices,\n      storesV1SubscriptionOption_universal_d_CalculatePricesOptions as CalculatePricesOptions,\n      storesV1SubscriptionOption_universal_d_bulkCalculatePrices as bulkCalculatePrices,\n      storesV1SubscriptionOption_universal_d_BulkCalculatePricesOptions as BulkCalculatePricesOptions,\n      storesV1SubscriptionOption_universal_d_bulkCalculatePricesForProducts as bulkCalculatePricesForProducts,\n      storesV1SubscriptionOption_universal_d_getProductIdsForSubscriptionOption as getProductIdsForSubscriptionOption,\n      storesV1SubscriptionOption_universal_d_GetProductIdsForSubscriptionOptionOptions as GetProductIdsForSubscriptionOptionOptions,\n      storesV1SubscriptionOption_universal_d_getOneTimePurchasesStatus as getOneTimePurchasesStatus,\n    };\n  }\n  \n  export { storesV1AbandonedCart_universal_d as abandonedCarts, storesCatalogV1Collection_universal_d as collections, storesV2Inventory_universal_d as inventory, storesV2Orders_universal_d as orders, storesCatalogV1Product_universal_d as products, storesV1SubscriptionOption_universal_d as subscriptionOptions, platformV1Wishlist_universal_d as wishlist };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-redirects-api.v1.d.ts",
      "content": "declare module \"wix-redirects-api.v1\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** WixUrl is the main entity of WixUrlService that can be used for lorem ipsum dolor */\n  interface WixUrl {\n      /**\n       * The Wix URL to redirect into\n       * @readonly\n       */\n      fullUrl?: string;\n  }\n  interface CreateWixUrlRequest extends CreateWixUrlRequestUrlParamsOneOf {\n      /** The callbacks (URL) allowing the definition of the pages which should be redirected back to the original site during the flow initiated in Wix */\n      callbacks?: CallbackParams;\n      /** The parameters used in order to generate the URL into the Bookings checkout flow */\n      bookingsCheckout?: WixUrlBookingsCheckoutParams;\n      /** The parameters used in order to generate the URL into the Ecom checkout flow */\n      ecomCheckout?: WixUrlEcomCheckoutParams;\n      /** The parameters used in order to generate the URL into the events checkout flow */\n      eventsCheckout?: WixUrlEventsCheckoutParams;\n      /** The parameters used in order to generate the URL into the paid plans checkout flow */\n      paidPlansCheckout?: WixUrlPaidPlansCheckoutParams;\n      /** The parameters used in order to generate the URL into the Wix login page */\n      login?: WixUrlLoginParams;\n  }\n  /** @oneof */\n  interface CreateWixUrlRequestUrlParamsOneOf {\n      /** The parameters used in order to generate the URL into the Bookings checkout flow */\n      bookingsCheckout?: WixUrlBookingsCheckoutParams;\n      /** The parameters used in order to generate the URL into the Ecom checkout flow */\n      ecomCheckout?: WixUrlEcomCheckoutParams;\n      /** The parameters used in order to generate the URL into the events checkout flow */\n      eventsCheckout?: WixUrlEventsCheckoutParams;\n      /** The parameters used in order to generate the URL into the paid plans checkout flow */\n      paidPlansCheckout?: WixUrlPaidPlansCheckoutParams;\n      /** The parameters used in order to generate the URL into the Wix login page */\n      login?: WixUrlLoginParams;\n  }\n  interface WixUrlBookingsCheckoutParams {\n      /** The selected calendar slots to checkout */\n      slot?: SlotAvailability[];\n      /** The timezone used for presentation and formatting when presenting the selected slot in a human readable format */\n      timezone?: string;\n      /** The ID of the service used in order to select the slot */\n      serviceId?: string;\n  }\n  interface SlotAvailability {\n      /**\n       * The slot for the corresponding session, when the session is either a single session\n       * or a specific session generated from a recurring session.\n       */\n      slot?: Slot;\n      /**\n       * Whether the slot is bookable. Bookability is determined by checking a\n       * session's open slots and booking policies. Locks are not taken into\n       * account.\n       */\n      bookable?: boolean;\n      /**\n       * Total number of spots for this slot.\n       * For example, if a session has a total of 10 spots and 3 spots are booked,\n       * `spotsTotal` is 10 and `openSpots` is 7.\n       */\n      totalSpots?: number | null;\n      /** Number of open spots for this slot. */\n      openSpots?: number | null;\n      /** An object describing the slot's waitlist and its occupancy. */\n      waitingList?: WaitingList;\n      /** Booking policy violations for the slot. */\n      bookingPolicyViolations?: BookingPolicyViolations;\n      /**\n       * Indicates whether the slot is locked because a waitlist exists.\n       * When a slot frees up, the slot is offered to the next customer on the waitlist. Read-only.\n       */\n      locked?: boolean | null;\n  }\n  interface Slot {\n      /**\n       * ID for the slot's corresponding session, when the session is either a single session\n       * or a specific session generated from a recurring session.\n       */\n      sessionId?: string | null;\n      /** Service ID. */\n      serviceId?: string;\n      /** Schedule ID. */\n      scheduleId?: string;\n      /**\n       * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       *\n       * If `timezone` is specified,\n       * dates are based on the local date/time. This means that the timezone offset\n       * in the `start_date` is ignored.\n       */\n      startDate?: string | null;\n      /**\n       * The end time of this slot in\n       * [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) format.\n       *\n       * If `timezone` is specified,\n       * dates are based on the local date/time. This means that the timezone offset\n       * in the `end_date` is ignored.\n       */\n      endDate?: string | null;\n      /**\n       * The timezone for which slot availability is to be calculated.\n       *\n       * Learn more about [handling Daylight Savings Time (DST) for local time zones](https://dev.wix.com/api/rest/wix-bookings/availability-calendar/query-availability#wix-bookings_availability-calendar_query-availability_handling-daylight-savings-time-dst-for-local-time-zones)\n       * when calculating availability.\n       */\n      timezone?: string | null;\n      /**\n       * The resource required for this slot. Currently, the only supported resource\n       * is the relevant staff member for the slot.\n       */\n      resource?: SlotResource;\n      /** Geographic location of the slot. */\n      location?: Location;\n  }\n  interface SlotResource {\n      /**\n       * Resource ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Resource name. Read only. */\n      name?: string | null;\n      /**\n       * Schedule ID. Read only.\n       * @internal\n       */\n      scheduleId?: string | null;\n  }\n  interface Location {\n      /**\n       * Business location ID. Available only for locations that are business locations,\n       * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** The full address of this location. */\n      formattedAddress?: string | null;\n      /**\n       * Location type.\n       *\n       * - `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n       * - `\"CUSTOM\"`: The address as set for the individual session.\n       */\n      locationType?: LocationType;\n  }\n  enum LocationType {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface WaitingList {\n      /**\n       * Total number of spots and open spots for this waitlist.\n       * For example, a Yoga class with 10 waitlist spots and 3 registered\n       * on the waitlist has 10 `total_spots` and 7 `open_spots`.\n       */\n      totalSpots?: number | null;\n      /** Number of open spots for this waitlist. */\n      openSpots?: number | null;\n  }\n  interface BookingPolicyViolations {\n      /** Bookings policy violation. Too early to book this slot. */\n      tooEarlyToBook?: boolean | null;\n      /** Bookings policy violation. Too late to book this slot. */\n      tooLateToBook?: boolean | null;\n      /** Bookings policy violation. Online booking is disabled for this slot. */\n      bookOnlineDisabled?: boolean | null;\n  }\n  interface WixUrlEcomCheckoutParams {\n      /** The ID of the checkout entity used in order to start the checkout with */\n      checkoutId?: string;\n  }\n  interface WixUrlEventsCheckoutParams {\n      /** The ID of the selected event */\n      reservationId?: string;\n      /** The slug of the selected event (url friendly name) */\n      eventSlug?: string;\n  }\n  interface WixUrlPaidPlansCheckoutParams {\n      /** The ID of the selected paid plan */\n      planId?: string;\n      /** The encoded string representing the navigation defined for the end of the flow, probably received by */\n      navigateToSectionProps?: string;\n  }\n  interface WixUrlLoginParams {\n  }\n  interface CallbackParams {\n      /** An external thank you page URL, used when the thank you page is implemented outside of Wix */\n      thankYouPageUrl?: string;\n      /** An external thank you page URL, used when the thank you page is implemented outside of Wix */\n      postFlowUrl?: string;\n      /** An external thank you page URL, used when the thank you page is implemented outside of Wix */\n      plansListUrl?: string;\n      /** An external thank you page URL, used when the thank you page is implemented outside of Wix */\n      loginUrl?: string;\n  }\n  interface CreateWixUrlResponse {\n      /** The Wix URL details to redirect into */\n      wixUrl?: WixUrl;\n  }\n  /**\n   * Creates a new WixUrl\n   * @public\n   * @documentationMaturity preview\n   * @requiredField CreateWixUrlRequest\n   */\n  function createWixUrl(options?: CreateWixUrlOptions): Promise<CreateWixUrlResponse>;\n  interface CreateWixUrlOptions {\n      /** The parameters used in order to generate the URL into the Bookings checkout flow */\n      bookingsCheckout?: WixUrlBookingsCheckoutParams;\n      /** The parameters used in order to generate the URL into the Ecom checkout flow */\n      ecomCheckout?: WixUrlEcomCheckoutParams;\n      /** The parameters used in order to generate the URL into the events checkout flow */\n      eventsCheckout?: WixUrlEventsCheckoutParams;\n      /** The parameters used in order to generate the URL into the paid plans checkout flow */\n      paidPlansCheckout?: WixUrlPaidPlansCheckoutParams;\n      /** The parameters used in order to generate the URL into the Wix login page */\n      login?: WixUrlLoginParams;\n      /** The callbacks (URL) allowing the definition of the pages which should be redirected back to the original site during the flow initiated in Wix */\n      callbacks?: CallbackParams;\n  }\n  \n  const headlessV1WixUrl_universal_d___debug: typeof __debug;\n  type headlessV1WixUrl_universal_d_WixUrl = WixUrl;\n  type headlessV1WixUrl_universal_d_CreateWixUrlRequest = CreateWixUrlRequest;\n  type headlessV1WixUrl_universal_d_CreateWixUrlRequestUrlParamsOneOf = CreateWixUrlRequestUrlParamsOneOf;\n  type headlessV1WixUrl_universal_d_WixUrlBookingsCheckoutParams = WixUrlBookingsCheckoutParams;\n  type headlessV1WixUrl_universal_d_SlotAvailability = SlotAvailability;\n  type headlessV1WixUrl_universal_d_Slot = Slot;\n  type headlessV1WixUrl_universal_d_SlotResource = SlotResource;\n  type headlessV1WixUrl_universal_d_Location = Location;\n  type headlessV1WixUrl_universal_d_LocationType = LocationType;\n  const headlessV1WixUrl_universal_d_LocationType: typeof LocationType;\n  type headlessV1WixUrl_universal_d_WaitingList = WaitingList;\n  type headlessV1WixUrl_universal_d_BookingPolicyViolations = BookingPolicyViolations;\n  type headlessV1WixUrl_universal_d_WixUrlEcomCheckoutParams = WixUrlEcomCheckoutParams;\n  type headlessV1WixUrl_universal_d_WixUrlEventsCheckoutParams = WixUrlEventsCheckoutParams;\n  type headlessV1WixUrl_universal_d_WixUrlPaidPlansCheckoutParams = WixUrlPaidPlansCheckoutParams;\n  type headlessV1WixUrl_universal_d_WixUrlLoginParams = WixUrlLoginParams;\n  type headlessV1WixUrl_universal_d_CallbackParams = CallbackParams;\n  type headlessV1WixUrl_universal_d_CreateWixUrlResponse = CreateWixUrlResponse;\n  const headlessV1WixUrl_universal_d_createWixUrl: typeof createWixUrl;\n  type headlessV1WixUrl_universal_d_CreateWixUrlOptions = CreateWixUrlOptions;\n  namespace headlessV1WixUrl_universal_d {\n    export {\n      headlessV1WixUrl_universal_d___debug as __debug,\n      headlessV1WixUrl_universal_d_WixUrl as WixUrl,\n      headlessV1WixUrl_universal_d_CreateWixUrlRequest as CreateWixUrlRequest,\n      headlessV1WixUrl_universal_d_CreateWixUrlRequestUrlParamsOneOf as CreateWixUrlRequestUrlParamsOneOf,\n      headlessV1WixUrl_universal_d_WixUrlBookingsCheckoutParams as WixUrlBookingsCheckoutParams,\n      headlessV1WixUrl_universal_d_SlotAvailability as SlotAvailability,\n      headlessV1WixUrl_universal_d_Slot as Slot,\n      headlessV1WixUrl_universal_d_SlotResource as SlotResource,\n      headlessV1WixUrl_universal_d_Location as Location,\n      headlessV1WixUrl_universal_d_LocationType as LocationType,\n      headlessV1WixUrl_universal_d_WaitingList as WaitingList,\n      headlessV1WixUrl_universal_d_BookingPolicyViolations as BookingPolicyViolations,\n      headlessV1WixUrl_universal_d_WixUrlEcomCheckoutParams as WixUrlEcomCheckoutParams,\n      headlessV1WixUrl_universal_d_WixUrlEventsCheckoutParams as WixUrlEventsCheckoutParams,\n      headlessV1WixUrl_universal_d_WixUrlPaidPlansCheckoutParams as WixUrlPaidPlansCheckoutParams,\n      headlessV1WixUrl_universal_d_WixUrlLoginParams as WixUrlLoginParams,\n      headlessV1WixUrl_universal_d_CallbackParams as CallbackParams,\n      headlessV1WixUrl_universal_d_CreateWixUrlResponse as CreateWixUrlResponse,\n      headlessV1WixUrl_universal_d_createWixUrl as createWixUrl,\n      headlessV1WixUrl_universal_d_CreateWixUrlOptions as CreateWixUrlOptions,\n    };\n  }\n  \n  export { headlessV1WixUrl_universal_d as redirects };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-ads-txt.v1.d.ts",
      "content": "declare module \"wix-ads-txt.v1\" {\n  interface AdsTxt {\n      /** Content of Ads.txt. */\n      content?: string;\n      /** Whether current Ads.txt is Wix's default. */\n      default?: boolean;\n      /** Subdomain of Ads.txt, for example `www`, `es`, `fr`. Default is `www`. */\n      subdomain?: string;\n      /**\n       * entity Id\n       * @internal\n       */\n      _id?: string;\n  }\n  /** The request to get the Ads.txt file content */\n  interface GetAdsTxtRequest {\n      /** Subdomain of Ads.txt, for example `www`, `es`, `fr`. Default is `www`. */\n      subdomain?: string;\n  }\n  /** The response of the Ads.txt file request */\n  interface GetAdsTxtResponse {\n      /** Ads txt object */\n      adsTxt?: AdsTxt;\n  }\n  /** The request to update the content of the Ads.txt file */\n  interface UpdateAdsTxtRequest {\n      /**\n       * Submitted `adsTxT` object will replace the existing Ads.txt file.\n       * To reset Ads.txt to Wix's default, submit `default:true` without a `content` object.\n       */\n      adsTxt?: AdsTxt;\n  }\n  interface UpdateAdsTxtResponse {\n      /** Updated Ads txt object */\n      adsTxt?: AdsTxt;\n  }\n  /** The request to append the content of the Ads.txt file */\n  interface AppendAdsTxtRequest {\n      /**\n       * Submitted `content` object will be appended to the existing Ads.txt file.\n       * To reset Ads.txt to Wix's default, submit `default:true` without a `content` object.\n       */\n      adsTxt?: AdsTxt;\n  }\n  interface AppendAdsTxtResponse {\n      /** Appended Ads.txt file. */\n      adsTxt?: AdsTxt;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the Ads.txt file.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   * @returns The response of the Ads.txt file request\n   */\n  function getAdsTxt(options?: GetAdsTxtOptions): Promise<GetAdsTxtResponse>;\n  interface GetAdsTxtOptions {\n      /** Subdomain of Ads.txt, for example `www`, `es`, `fr`. Default is `www`. */\n      subdomain?: string;\n  }\n  /**\n   * Updates the Ads.txt file.\n   * When setting the `content` object to an empty string, an empty Ads.txt file will be created.\n   * In order to reset Ads.txt to Wix's default, send `default: true` without a `content` object.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function updateAdsTxt(options?: UpdateAdsTxtOptions): Promise<UpdateAdsTxtResponse>;\n  interface UpdateAdsTxtOptions {\n      /**\n       * Submitted `adsTxT` object will replace the existing Ads.txt file.\n       * To reset Ads.txt to Wix's default, submit `default:true` without a `content` object.\n       */\n      adsTxt?: AdsTxt;\n  }\n  /**\n   * Appends the submitted `content` object to Ads.txt.\n   * In order to reset Ads.txt to Wix's default, send `default: true` without a `content` object.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function appendAdsTxt(options?: AppendAdsTxtOptions): Promise<AppendAdsTxtResponse>;\n  interface AppendAdsTxtOptions {\n      /**\n       * Submitted `content` object will be appended to the existing Ads.txt file.\n       * To reset Ads.txt to Wix's default, submit `default:true` without a `content` object.\n       */\n      adsTxt?: AdsTxt;\n  }\n  \n  type promoteMarketingV2AdsTxt_universal_d_AdsTxt = AdsTxt;\n  type promoteMarketingV2AdsTxt_universal_d_GetAdsTxtRequest = GetAdsTxtRequest;\n  type promoteMarketingV2AdsTxt_universal_d_GetAdsTxtResponse = GetAdsTxtResponse;\n  type promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtRequest = UpdateAdsTxtRequest;\n  type promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtResponse = UpdateAdsTxtResponse;\n  type promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtRequest = AppendAdsTxtRequest;\n  type promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtResponse = AppendAdsTxtResponse;\n  type promoteMarketingV2AdsTxt_universal_d_DomainEvent = DomainEvent;\n  type promoteMarketingV2AdsTxt_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type promoteMarketingV2AdsTxt_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type promoteMarketingV2AdsTxt_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type promoteMarketingV2AdsTxt_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type promoteMarketingV2AdsTxt_universal_d_ActionEvent = ActionEvent;\n  type promoteMarketingV2AdsTxt_universal_d_MessageEnvelope = MessageEnvelope;\n  type promoteMarketingV2AdsTxt_universal_d_IdentificationData = IdentificationData;\n  type promoteMarketingV2AdsTxt_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type promoteMarketingV2AdsTxt_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const promoteMarketingV2AdsTxt_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const promoteMarketingV2AdsTxt_universal_d_getAdsTxt: typeof getAdsTxt;\n  type promoteMarketingV2AdsTxt_universal_d_GetAdsTxtOptions = GetAdsTxtOptions;\n  const promoteMarketingV2AdsTxt_universal_d_updateAdsTxt: typeof updateAdsTxt;\n  type promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtOptions = UpdateAdsTxtOptions;\n  const promoteMarketingV2AdsTxt_universal_d_appendAdsTxt: typeof appendAdsTxt;\n  type promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtOptions = AppendAdsTxtOptions;\n  namespace promoteMarketingV2AdsTxt_universal_d {\n    export {\n      promoteMarketingV2AdsTxt_universal_d_AdsTxt as AdsTxt,\n      promoteMarketingV2AdsTxt_universal_d_GetAdsTxtRequest as GetAdsTxtRequest,\n      promoteMarketingV2AdsTxt_universal_d_GetAdsTxtResponse as GetAdsTxtResponse,\n      promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtRequest as UpdateAdsTxtRequest,\n      promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtResponse as UpdateAdsTxtResponse,\n      promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtRequest as AppendAdsTxtRequest,\n      promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtResponse as AppendAdsTxtResponse,\n      promoteMarketingV2AdsTxt_universal_d_DomainEvent as DomainEvent,\n      promoteMarketingV2AdsTxt_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      promoteMarketingV2AdsTxt_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      promoteMarketingV2AdsTxt_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      promoteMarketingV2AdsTxt_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      promoteMarketingV2AdsTxt_universal_d_ActionEvent as ActionEvent,\n      promoteMarketingV2AdsTxt_universal_d_MessageEnvelope as MessageEnvelope,\n      promoteMarketingV2AdsTxt_universal_d_IdentificationData as IdentificationData,\n      promoteMarketingV2AdsTxt_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      promoteMarketingV2AdsTxt_universal_d_WebhookIdentityType as WebhookIdentityType,\n      promoteMarketingV2AdsTxt_universal_d_getAdsTxt as getAdsTxt,\n      promoteMarketingV2AdsTxt_universal_d_GetAdsTxtOptions as GetAdsTxtOptions,\n      promoteMarketingV2AdsTxt_universal_d_updateAdsTxt as updateAdsTxt,\n      promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtOptions as UpdateAdsTxtOptions,\n      promoteMarketingV2AdsTxt_universal_d_appendAdsTxt as appendAdsTxt,\n      promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtOptions as AppendAdsTxtOptions,\n    };\n  }\n  \n  export { promoteMarketingV2AdsTxt_universal_d as marketing };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-sender-details.v2.d.ts",
      "content": "declare module \"wix-sender-details.v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * A sender details object contains the information that is displayed as the email sender's name and email address.\n   * If sending email campaigns with a public email domain (e.g. @gmail.com or @yahoo.com), the email address will not\n   * be displayed in the 'from' header. Instead, the email address is replaced with @wixemails.com (or @wixsitemail.com for free users),\n   * and the sender's email is placed in the 'reply-to' header.\n   *\n   * If sending email campaigns with an email from a Wix managed domain, that email will be displayed in the 'from' header.\n   * If sending with an email from a custom domain that is not managed by Wix, a line will be inserted that states that the\n   * email was sent via wixemails.com.\n   */\n  interface SenderDetails {\n      /** Display name of sender. */\n      fromName?: string;\n      /** Email address of sender. */\n      fromEmail?: string;\n      /**\n       * Date and time the sender's email address was verified.\n       * @readonly\n       */\n      dateVerified?: Date;\n  }\n  interface GetSenderDetailsRequest {\n  }\n  interface GetSenderDetailsResponse {\n      /** Current sender details. */\n      senderDetails?: SenderDetails;\n  }\n  interface UpdateSenderDetailsRequest {\n      /** New sender details. */\n      senderDetails: SenderDetails;\n  }\n  interface UpdateSenderDetailsResponse {\n      /** Whether email address needs verification. */\n      verificationNeeded?: boolean;\n  }\n  interface VerifySenderEmailRequest {\n      /** Verification code. */\n      verificationCode: string;\n  }\n  interface VerifySenderEmailResponse {\n  }\n  interface ResolveActualFromAddressRequest {\n      /** User's provided address from which to send email marketing campaign. */\n      fromAddress: string;\n  }\n  interface ResolveActualFromAddressResponse {\n      /** Actual from-address that will be used for email distribution. */\n      actualFromAddress?: string;\n  }\n  /**\n   * Retrieves sender details.\n   *\n   * The sender details include the information displayed as the email sender's name and email address.\n   *\n   * + If you send an email campaign with a public email domain (e.g. @gmail.com or @yahoo.com), the email address will not be displayed in the 'from' header. Instead, the email address is replaced with @wixemails.com (or @wixsitemail.com for free users), and the sender's email is placed in the 'reply-to' header.\n   *\n   * + If you send an email campaign with an email from a Wix managed domain, that email will be displayed in the 'from' header.\n   *\n   * + If you send an email from a custom domain that is not managed by Wix, a line will be inserted that states that the email was sent via wixemails.com.\n   *\n   *\n   * >**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * @public\n   * @documentationMaturity preview\n   */\n  function getSenderDetails(): Promise<GetSenderDetailsResponse>;\n  /**\n   * Updates sender details.\n   *\n   * If the `fromEmail` is changed, a verification code will be sent to the new email address.\n   *\n   * If verification is needed, a verification email will be sent to the user, and the returned `verificationNeeded` value will be `true`.\n   *\n   *\n   * >**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * @param senderDetails - New sender details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField senderDetails\n   */\n  function updateSenderDetails(senderDetails: SenderDetails): Promise<UpdateSenderDetailsResponse>;\n  /**\n   * Verifies the sender's email using a verification code sent to the user's email address upon update.\n   *\n   *\n   *\n   * >**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * @param verificationCode - Verification code.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField verificationCode\n   */\n  function verifyEmail(verificationCode: string): Promise<void>;\n  /**\n   * Checks if the sender's email address will be used as from-address or replaced (not related to current sender details).\n   *\n   *\n   *\n   * >**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * @param fromAddress - User's provided address from which to send email marketing campaign.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fromAddress\n   */\n  function resolveActualFromAddress(fromAddress: string): Promise<ResolveActualFromAddressResponse>;\n  \n  const emailMarketingV1SenderDetails_universal_d___debug: typeof __debug;\n  type emailMarketingV1SenderDetails_universal_d_SenderDetails = SenderDetails;\n  type emailMarketingV1SenderDetails_universal_d_GetSenderDetailsRequest = GetSenderDetailsRequest;\n  type emailMarketingV1SenderDetails_universal_d_GetSenderDetailsResponse = GetSenderDetailsResponse;\n  type emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsRequest = UpdateSenderDetailsRequest;\n  type emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsResponse = UpdateSenderDetailsResponse;\n  type emailMarketingV1SenderDetails_universal_d_VerifySenderEmailRequest = VerifySenderEmailRequest;\n  type emailMarketingV1SenderDetails_universal_d_VerifySenderEmailResponse = VerifySenderEmailResponse;\n  type emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressRequest = ResolveActualFromAddressRequest;\n  type emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressResponse = ResolveActualFromAddressResponse;\n  const emailMarketingV1SenderDetails_universal_d_getSenderDetails: typeof getSenderDetails;\n  const emailMarketingV1SenderDetails_universal_d_updateSenderDetails: typeof updateSenderDetails;\n  const emailMarketingV1SenderDetails_universal_d_verifyEmail: typeof verifyEmail;\n  const emailMarketingV1SenderDetails_universal_d_resolveActualFromAddress: typeof resolveActualFromAddress;\n  namespace emailMarketingV1SenderDetails_universal_d {\n    export {\n      emailMarketingV1SenderDetails_universal_d___debug as __debug,\n      emailMarketingV1SenderDetails_universal_d_SenderDetails as SenderDetails,\n      emailMarketingV1SenderDetails_universal_d_GetSenderDetailsRequest as GetSenderDetailsRequest,\n      emailMarketingV1SenderDetails_universal_d_GetSenderDetailsResponse as GetSenderDetailsResponse,\n      emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsRequest as UpdateSenderDetailsRequest,\n      emailMarketingV1SenderDetails_universal_d_UpdateSenderDetailsResponse as UpdateSenderDetailsResponse,\n      emailMarketingV1SenderDetails_universal_d_VerifySenderEmailRequest as VerifySenderEmailRequest,\n      emailMarketingV1SenderDetails_universal_d_VerifySenderEmailResponse as VerifySenderEmailResponse,\n      emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressRequest as ResolveActualFromAddressRequest,\n      emailMarketingV1SenderDetails_universal_d_ResolveActualFromAddressResponse as ResolveActualFromAddressResponse,\n      emailMarketingV1SenderDetails_universal_d_getSenderDetails as getSenderDetails,\n      emailMarketingV1SenderDetails_universal_d_updateSenderDetails as updateSenderDetails,\n      emailMarketingV1SenderDetails_universal_d_verifyEmail as verifyEmail,\n      emailMarketingV1SenderDetails_universal_d_resolveActualFromAddress as resolveActualFromAddress,\n    };\n  }\n  \n  export { emailMarketingV1SenderDetails_universal_d as senderDetails };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/billing-spi-v1-tax-calculator.d.ts",
      "content": "declare module \"billing-spi-v1-tax-calculator\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface TaxCalculator {\n      /** Identifier of this tax calculator */\n      _id?: string | null;\n  }\n  interface CalculateTaxRequest {\n      /** The Estimate Tax request details - elaborated in the EstimateTaxRequestDetails message. */\n      estimateTaxRequestDetails?: EstimateTaxRequestDetails;\n  }\n  /** TaxEstimateRequestDetails represents the details required to calculate tax for a transaction. */\n  interface EstimateTaxRequestDetails {\n      /** An optional identifier of the entity that you are calculating tax for. For example, cart ID or checkout ID. */\n      externalId?: string | null;\n      /** The time when the tax estimation was calculated. */\n      taxDate?: Date;\n      /** A list of tax exemptions to be applied. */\n      exemptions?: Exemptions;\n      /** The tax estimation three-character ISO 4217 currency code that was used for payment for this transaction. */\n      currencyCode?: string;\n      /** All the relevant addresses for this estimation should be listed here. Line items will hold only reference to them. */\n      addressesInfo?: Address[];\n      /** A list of line items to be taxed. */\n      lineItems?: LineItem[];\n      /**\n       * The desired currency fraction size. Optional, default is 2.\n       * This will affect the way we will format the tax amount, but not affect the rate value that is always 4 as its 0.0000 to 1.0000 value.\n       * e.g. when using USD the required fraction size is 2 - so for 25.544$ we will show 25.55$. (round up)\n       */\n      currencyFractionSize?: number | null;\n      /** External estimateTax Id */\n      estimationId?: string | null;\n  }\n  interface Exemptions {\n      /** A list of tax exemptions to be applied. see ExemptionModel. */\n      exemptions?: ExemptionModel[];\n  }\n  /** Exemption allows the user to specify what tax is exempt (no need to pay) by giving the vatId && taxType that this vat id refers to. */\n  interface ExemptionModel {\n      /** The vat id of the buyer. */\n      vatId?: string;\n      /** The tax type this vat id exempt from. */\n      taxType?: string | null;\n  }\n  /** Wix common address format for physical address to use if you plan to store addresses in your service. */\n  interface Address {\n      /** Country code - 2 letters ISO-3166-1. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n  }\n  /** LineItem represents information about a line item. */\n  interface LineItem {\n      /** The ID of the line item. */\n      lineNumber?: string;\n      /** The number of items in this line (must be between 0 and 1,000,000). */\n      quantity?: number;\n      /** The price of the line item (Decimal value). */\n      price?: string;\n      /** The tax group ID this item is related to. */\n      taxGroupId?: string | null;\n      /** the default tax group ID of this item - will be used in case we did not find mapping for the taxGroupId */\n      defaultTaxGroupId?: string | null;\n      /** The known SKU (item code) for this line item. */\n      itemCode?: string | null;\n      /** Indicates whether the price already includes tax. If not provided, the default from the relevant tax region is used. */\n      taxIncluded?: boolean;\n      /** Free text description for this line item. (Optional) */\n      description?: string | null;\n      /** The address of this line, which can be either from and to locations, or a single location. */\n      addressIndices?: AddressesModel;\n      /** The tax region ID representing this item address model */\n      taxRegionId?: string | null;\n  }\n  /** AddressesModel represents the address of a specific line item, which can be either from and to locations, or a single location. */\n  interface AddressesModel extends AddressesModelAddressInfoOneOf {\n      /**\n       * Tax should be calculated by a single location. e.g. a store location.\n       * Index refers to the address in the TaxEstimate addresses_info list.\n       */\n      singleLocationAddressIndex?: number;\n      /** Tax should be calculated by a \"from\" and \"to\" locations. e.g. a shipping address. */\n      fromToLocationsIndices?: FromToAddressesIndices;\n  }\n  /** @oneof */\n  interface AddressesModelAddressInfoOneOf {\n      /**\n       * Tax should be calculated by a single location. e.g. a store location.\n       * Index refers to the address in the TaxEstimate addresses_info list.\n       */\n      singleLocationAddressIndex?: number;\n      /** Tax should be calculated by a \"from\" and \"to\" locations. e.g. a shipping address. */\n      fromToLocationsIndices?: FromToAddressesIndices;\n  }\n  interface FromToAddressesIndices {\n      /** The index of the \"from\" address in the TaxEstimate addresses_info list. */\n      fromAddressIndex?: number;\n      /** The index of the \"to\" address in the TaxEstimate addresses_info list. */\n      toAddressIndex?: number;\n  }\n  interface CalculateTaxResponse {\n      /** The tax estimation result - elaborated in the TaxEstimate message. */\n      taxEstimate?: TaxEstimate;\n  }\n  interface TaxEstimate {\n      /** Tax Estimation ID. */\n      _id?: string | null;\n      /** An optional identifier of the entity that you are calculating tax for. For example, cart ID or checkout ID. */\n      externalId?: string | null;\n      /** The time when the tax estimation was calculated. */\n      taxDate?: Date;\n      /** The tax estimation three-character ISO 4217 currency code that was used for payment for this transaction. */\n      currencyCode?: string;\n      /** The total amount of this estimate (the actual amount of money that exchanged hands). */\n      totalAmount?: string;\n      /** The amount of this estimate that was exempt (for all lines). */\n      totalExempt?: string | null;\n      /** The total amount of tax calculated for all lines in this estimate. */\n      totalTax?: string;\n      /** The portion of the total amount of this estimate that was taxable. */\n      totalTaxable?: string;\n      /** Total tax divided by total taxable. */\n      averageTaxRate?: string;\n      /** All the relevant addresses for this estimation should be listed here. Line items will hold only reference to them. */\n      addressesInfo?: Address[];\n      /** Optional tax exemptions. */\n      exemptions?: Exemptions;\n      /** The calculated tax for each line. */\n      lineItemsTax?: LineItemTaxModel[];\n      /** The errors that occurred during the tax calculation. */\n      errors?: ApplicationError[];\n      /** The sum of all the tax that is already included in the price. */\n      totalTaxIncludedInPrice?: string | null;\n  }\n  /** LineItemTaxModel represents tax information for a line item. */\n  interface LineItemTaxModel {\n      /** The ID of the line item. */\n      lineNumber?: string;\n      /** Line description. */\n      description?: string | null;\n      /** The index of the \"destination\" address in the TaxEstimate addresses_info. */\n      destinationAddressIndex?: number;\n      /** The index of the \"origin\" address in the TaxEstimate addresses_info. */\n      originAddressIndex?: number;\n      /** The amount of this line item that was exempt. (Decimal value) */\n      exemptAmount?: string | null;\n      /** IDs of the used exemptions from the TaxEstimate exemptions array. */\n      exemptionIds?: number[];\n      /** True for items we have a tax applied on them. */\n      isItemTaxable?: boolean | null;\n      /** The number of items (must be between 0 and 1,000,000). */\n      quantity?: number;\n      /**\n       * The total amount of the line, including both taxable and exempt.\n       * This is the total price for all items. To determine the individual item price,\n       * divide this by quantity. (Decimal value)\n       */\n      lineAmount?: string | null;\n      /** The tax for this line in this estimation. (Decimal value) */\n      tax?: string;\n      /** The taxable amount of this line. (Decimal value) */\n      taxableAmount?: string;\n      /** True if the lineAmount includes tax in it. */\n      taxIncluded?: boolean | null;\n      /** A detailed description of all the tax authorities applied on this item and exemptions. */\n      taxDetails?: LineItemDetailTaxModel[];\n      /** The calculator that calculated this line tax. */\n      calculatorName?: string | null;\n      /** True if the seller has a tax region defined for this line item taxable address. */\n      taxAddressHasTaxRegion?: boolean | null;\n      /**\n       * The rate at which this line item tax was calculated, a number between 0.0 to 1.0.\n       * (This is the average of the tax applied from all the LineItemDetailTaxModel)\n       */\n      averageTaxRate?: string | null;\n  }\n  /**\n   * LineItemDetailTaxModel represents tax information for a line item.\n   * It will hold the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface LineItemDetailTaxModel {\n      /** The id of the line item */\n      lineNumber?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdictionName?: string | null;\n      /** The amount of this line item that was exempt from this authority. (Decimal value) */\n      exemptAmount?: string | null;\n      /** IDs of the used exemptions from the TaxEstimate exemptions array. */\n      exemptionIds?: number[];\n      /** The amount of this line item price that was considered nontaxable. (Decimal value) */\n      nonTaxableAmount?: string | null;\n      /** The rate at which this tax detail was calculated, a number between 0.0000 to 1.0000. */\n      rate?: string | null;\n      /** The amount of tax estimated for this line item. (Decimal value) */\n      tax?: string | null;\n      /** The taxable amount of this line item. (Decimal value) */\n      taxableAmount?: string | null;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string | null;\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string | null;\n      /** The Taxes/Fee component. True if the fee is applied. */\n      isFee?: boolean | null;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionType?: JurisdictionType;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface TaxCalculatorSpiConfig {\n      /** User-friendly name of the tax calculator */\n      calculatorDisplayName?: string;\n      /** list of countries and boolean represents if its a white list or black list (supported or unsupported countries) */\n      taxCountriesConfig?: TaxCountriesConfig;\n  }\n  interface TaxCountriesConfig {\n      /** list of countries */\n      countries?: string[];\n      /** represents if the calculator supports tax in those countries or not */\n      isSupported?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CalculateTaxOptions {\n      /** The Estimate Tax request details - elaborated in the EstimateTaxRequestDetails message. */\n      estimateTaxRequestDetails?: EstimateTaxRequestDetails;\n  }\n  \n  export { Address, AddressesModel, AddressesModelAddressInfoOneOf, ApplicationError, BusinessError, CalculateTaxOptions, CalculateTaxRequest, CalculateTaxResponse, Context, EstimateTaxRequestDetails, ExemptionModel, Exemptions, FromToAddressesIndices, IdentificationData, IdentificationDataIdOneOf, IdentityType, JurisdictionType, LineItem, LineItemDetailTaxModel, LineItemTaxModel, TaxCalculator, TaxCalculatorSpiConfig, TaxCountriesConfig, TaxEstimate };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/restaurants-posspihost-v1-tpa.d.ts",
      "content": "declare module \"restaurants-posspihost-v1-tpa\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface Tpa {\n  }\n  interface ListAccountIdsRequest {\n  }\n  interface ListAccountIdsResponse {\n      /** Account IDs with the POS system. */\n      accountIds?: string[];\n  }\n  interface GetConfigurationStatusRequest {\n      /** Merchant's account ID with the POS system. */\n      accountId: string;\n      /** Unique identifier of the merchant's Wix location configuration. */\n      configurationId: string;\n  }\n  interface GetConfigurationStatusResponse {\n      /**\n       * Status of the configuration.\n       * + `NOT_STARTED` - This is the initial status for the configuration. The status is set to `NOT_STARTED` after installing the 3rd party integration app and before the integration app is authenticated.\n       * + `PENDING` - The status is set to `PENDING` after authentication but before completing the app's integration for this configuration.\n       * + `READY` - Integration for this configuration is completed and the business is ready to activate the integration.\n       * + `ERROR` - The integration for this configuration did not complete. An error occurred.\n       */\n      status?: ConfigurationStatus;\n  }\n  enum ConfigurationStatus {\n      UNKNOWN = \"UNKNOWN\",\n      NOT_STARTED = \"NOT_STARTED\",\n      PENDING = \"PENDING\",\n      READY = \"READY\",\n      ERROR = \"ERROR\"\n  }\n  interface SyncCatalogRequest {\n      /** Merchant's account ID with the POS system. */\n      accountId: string;\n      /** Unique identifier of the merchant's Wix location configuration. */\n      configurationId: string;\n  }\n  interface SyncCatalogResponse {\n  }\n  interface CatalogSyncFailureData {\n      errors?: CatalogSyncError[];\n  }\n  interface CatalogSyncError {\n      /**\n       * Error code.\n       * + `NONE` - No error code available.\n       * + `OTHER` - Error doesn't resemble the existing synchronization errors.\n       * + `SYSTEM_ERROR` - A system error occurred during synchronization.\n       * + `ACCOUNT_NOT_FOUND` - Synchronization failed because the corresponding account with the POS system could not be found.\n       * + `ACCOUNT_NOT_AUTHORIZED` - Synchronization failed because the corresponding account with the POS system could was not authorized.\n       * + `LOCATION_NOT_FOUND` - Synchronization failed because the corresponding location with the POS system could not be found.\n       * + `ACCOUNT_NOT_CONNECTED` - Synchronization failed because the corresponding account with the POS system was not connected successfully.\n       * + `ACCOUNT_CONFIGURATION` - Synchronization failed because of a configuration error.\n       * + `OVERLOADED_MENU` - Synchronization failed because storage limit was reached.\n       */\n      code?: Code;\n      /** Error message. */\n      message?: string;\n      /** Error parameters. */\n      params?: Record<string, string>;\n  }\n  enum Code {\n      NONE = \"NONE\",\n      OTHER = \"OTHER\",\n      SYSTEM_ERROR = \"SYSTEM_ERROR\",\n      ACCOUNT_NOT_FOUND = \"ACCOUNT_NOT_FOUND\",\n      ACCOUNT_NOT_AUTHORIZED = \"ACCOUNT_NOT_AUTHORIZED\",\n      LOCATION_NOT_FOUND = \"LOCATION_NOT_FOUND\",\n      ACCOUNT_NOT_CONNECTED = \"ACCOUNT_NOT_CONNECTED\",\n      ACCOUNT_CONFIGURATION = \"ACCOUNT_CONFIGURATION\",\n      OVERLOADED_MENU = \"OVERLOADED_MENU\"\n  }\n  interface GetCatalogSyncStatusRequest {\n      /** Merchant's account ID with the POS system. */\n      accountId: string;\n      /** Unique identifier of the merchant's Wix location configuration. */\n      configurationId: string;\n  }\n  interface GetCatalogSyncStatusResponse extends GetCatalogSyncStatusResponseStatusModeOneOf {\n      /** Additional information available if the catalog (menu) synchronization is in progress. */\n      inProgress?: SyncInProgress;\n      /** Additional information available if the catalog (menu) synchronization has completed successfully. */\n      synced?: SyncSynced;\n      /** Additional information available if the catalog (menu) synchronization ended with failure. */\n      failed?: SyncFailed;\n      /**\n       * Status of the catalog (menu) synchronization.\n       * + `PENDING` - Synchronization did not yet start.\n       * + `IN_PROGRESS` - Synchronization has started.\n       * + `SYNCED` - Synchronization completed successfully.\n       * + `ERROR` - Synchronization ended with failure.\n       */\n      status?: Status;\n  }\n  /** @oneof */\n  interface GetCatalogSyncStatusResponseStatusModeOneOf {\n      /** Additional information available if the catalog (menu) synchronization is in progress. */\n      inProgress?: SyncInProgress;\n      /** Additional information available if the catalog (menu) synchronization has completed successfully. */\n      synced?: SyncSynced;\n      /** Additional information available if the catalog (menu) synchronization ended with failure. */\n      failed?: SyncFailed;\n  }\n  enum Status {\n      /** UNKNOWN STATUS. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Sync didn't started yet. */\n      PENDING = \"PENDING\",\n      /** Sync is in progress. */\n      IN_PROGRESS = \"IN_PROGRESS\",\n      /** Sync completed successfully. */\n      SYNCED = \"SYNCED\",\n      /** Sync completed with failure. */\n      FAILED = \"FAILED\"\n  }\n  interface SyncInProgress {\n      /** Number of seconds that have elapsed since the catalog (menu) synchronization process started. */\n      elapsedSeconds?: number | null;\n  }\n  interface SyncSynced {\n      /** Date and time of the latest catalog (menu) synchronization process. */\n      lastSyncDate?: Date;\n  }\n  interface SyncFailed {\n      /** Date and time of the latest sync process. */\n      lastSyncDate?: Date;\n      /** Date and time of the latest successfully sync process. */\n      lastSuccessfullySyncDate?: Date;\n      /** Failure reason. */\n      reason?: string;\n      /**\n       * Error code.\n       * + `NONE` - No error code available.\n       * + `OTHER` - Error doesn't resemble the existing synchronization errors.\n       * + `SYSTEM_ERROR` - A system error occurred during synchronization.\n       * + `ACCOUNT_NOT_FOUND` - Synchronization failed because the corresponding account with the POS system could not be found.\n       * + `ACCOUNT_NOT_AUTHORIZED` - Synchronization failed because the corresponding account with the POS system could was not authorized.\n       * + `LOCATION_NOT_FOUND` - Synchronization failed because the corresponding location with the POS system could not be found.\n       * + `ACCOUNT_NOT_CONNECTED` - Synchronization failed because the corresponding account with the POS system was not connected successfully.\n       * + `ACCOUNT_CONFIGURATION` - Synchronization failed because of a configuration error.\n       */\n      code?: SyncFailedCode;\n      /** Error parameters. */\n      params?: Record<string, string>;\n  }\n  enum SyncFailedCode {\n      NONE = \"NONE\",\n      OTHER = \"OTHER\",\n      SYSTEM_ERROR = \"SYSTEM_ERROR\",\n      ACCOUNT_NOT_FOUND = \"ACCOUNT_NOT_FOUND\",\n      ACCOUNT_NOT_AUTHORIZED = \"ACCOUNT_NOT_AUTHORIZED\",\n      LOCATION_NOT_FOUND = \"LOCATION_NOT_FOUND\",\n      ACCOUNT_NOT_CONNECTED = \"ACCOUNT_NOT_CONNECTED\",\n      ACCOUNT_CONFIGURATION = \"ACCOUNT_CONFIGURATION\",\n      OVERLOADED_MENU = \"OVERLOADED_MENU\"\n  }\n  interface GetCatalogSyncStatusFailureData {\n      errors?: CatalogSyncStatusError[];\n  }\n  interface CatalogSyncStatusError {\n      /**\n       * Error code.\n       * + `NONE` - No error code available.\n       * + `OTHER` - Error doesn't resemble the existing synchronization errors.\n       * + `SYSTEM_ERROR` - A system error occurred during synchronization.\n       * + `ACCOUNT_NOT_FOUND` - Synchronization failed because the corresponding account with the POS system could not be found.\n       * + `ACCOUNT_NOT_AUTHORIZED` - Synchronization failed because the corresponding account with the POS system could was not authorized.\n       * + `LOCATION_NOT_FOUND` - Synchronization failed because the corresponding location with the POS system could not be found.\n       * + `ACCOUNT_NOT_CONNECTED` - Synchronization failed because the corresponding account with the POS system was not connected successfully.\n       * + `ACCOUNT_CONFIGURATION` - Synchronization failed because of a configuration error.\n       * + `OVERLOADED_MENU` - Synchronization failed because storage limit was reached.\n       */\n      code?: CatalogSyncStatusErrorCode;\n      /** Error message. */\n      message?: string;\n      /** Error parameters. */\n      params?: Record<string, string>;\n  }\n  enum CatalogSyncStatusErrorCode {\n      NONE = \"NONE\",\n      OTHER = \"OTHER\",\n      SYSTEM_ERROR = \"SYSTEM_ERROR\",\n      ACCOUNT_NOT_FOUND = \"ACCOUNT_NOT_FOUND\",\n      ACCOUNT_NOT_AUTHORIZED = \"ACCOUNT_NOT_AUTHORIZED\",\n      LOCATION_NOT_FOUND = \"LOCATION_NOT_FOUND\",\n      ACCOUNT_NOT_CONNECTED = \"ACCOUNT_NOT_CONNECTED\",\n      ACCOUNT_CONFIGURATION = \"ACCOUNT_CONFIGURATION\",\n      OVERLOADED_MENU = \"OVERLOADED_MENU\"\n  }\n  interface CreateOrderRequest {\n      /** Merchant's account ID with the POS system. */\n      accountId: string;\n      /** Unique identifier of the merchant's Wix location configuration. */\n      configurationId: string;\n      /** Details of the order being created on the Wix site. */\n      order?: WixOrder;\n      /** Whether the order is being paid by the same payment gateway as the POS. */\n      paidByPosGateway?: boolean;\n  }\n  /** Details of the order being created on the Wix site. */\n  interface WixOrder {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Currency of the order. */\n      currency?: string | null;\n      /** Dishes and options included in the order. */\n      lineItems?: LineItem[];\n      /** Discounts associated with the order. */\n      discounts?: Discount[];\n      /** Order fulfillment information. */\n      fulfillment?: Fulfillment;\n      /** Order payment information. */\n      payments?: Payment[];\n      /** Customer information. */\n      customer?: Customer;\n      /** Order totals. */\n      totals?: Totals;\n      /** Order comment. */\n      comment?: string | null;\n      /** Amount saved by redeeming a Wix Loyalty reward. */\n      loyaltyInfo?: LoyaltyInfo;\n  }\n  interface LineItem {\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item price. */\n      price?: string;\n      /** Comment about the line item added by the customer. */\n      comment?: string | null;\n      /** List of all dish options available for the line item. */\n      dishOptions?: LineItemOption[];\n      /** References to the line item’s origin catalog. */\n      catalogReference?: CatalogReference;\n  }\n  interface LineItemOption {\n      /** Line item option name. */\n      name?: string | null;\n      /** List of all dish options selected by the customer. */\n      selectedChoices?: LineItem[];\n      /** Minimum number of dish options the customer is required to choose. */\n      minChoices?: number | null;\n      /** Maximum number of dish options the customer is allowed to choose. */\n      maxChoices?: number | null;\n      /** Dish option type. */\n      type?: DisplayType;\n      /** List of all available choices for the dish option. */\n      availableChoices?: LineItemOptionItem[];\n      /** List of dish option IDs selected by default. */\n      defaultChoices?: string[] | null;\n  }\n  enum DisplayType {\n      /** DisplayType, due to an error */\n      UNSPECIFIED_DISPLAY_TYPE = \"UNSPECIFIED_DISPLAY_TYPE\",\n      /** Single choice selection */\n      SELECTION = \"SELECTION\",\n      /** Multiple choices selection */\n      EXTRAS = \"EXTRAS\",\n      /** Allow choices removal */\n      DESELECTION = \"DESELECTION\"\n  }\n  interface LineItemOptionItem {\n      /** Line item ID as defined in the catalog. */\n      itemId?: string | null;\n      /** Line item price. */\n      price?: string | null;\n      /** Line item name. */\n      name?: string | null;\n  }\n  interface CatalogReference {\n      /** Line item ID as defined in the catalog. */\n      catalogItemId?: string;\n      /**\n       * Line item name as defined in the catalog.\n       * @readonly\n       */\n      catalogItemName?: string | null;\n      /**\n       * Item description as defined in the catalog.\n       * @readonly\n       */\n      catalogItemDescription?: string | null;\n      /**\n       * Item media url as defined in the catalog.\n       * @readonly\n       */\n      catalogItemMedia?: string | null;\n  }\n  interface Discount {\n      /** Discount ID as defined in the catalog. */\n      catalogDiscountId?: string;\n      /** Amount saved. */\n      appliedAmount?: string;\n      /** Discount type. */\n      catalogDiscountType?: DiscountType;\n      /** Discount name as defined in the catalog. */\n      catalogDiscountName?: string;\n      /**\n       * Discount description as defined in the catalog.\n       *\n       * Max: 1,000 characters\n       * @readonly\n       */\n      catalogDiscountDescription?: string;\n  }\n  enum DiscountType {\n      UNSPECIFIED_TYPE = \"UNSPECIFIED_TYPE\",\n      OFF_ITEM = \"OFF_ITEM\",\n      OFF_ORDER = \"OFF_ORDER\",\n      OFF_ORDER_MANAGER_DISCOUNT = \"OFF_ORDER_MANAGER_DISCOUNT\"\n  }\n  interface Fulfillment extends FulfillmentDetailsOneOf {\n      /** Delivery details. */\n      deliveryDetails?: DeliveryDetails;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails;\n      /** Dine-in details */\n      dineInDetails?: DineInDetails;\n      /** Fulfillment type. */\n      type?: Type;\n      /** Latest delivery time promised by the restaurant. */\n      promisedTime?: Date;\n      /** Whether the order should be fulfilled as soon as possible. Defaults to `true`. */\n      asap?: boolean | null;\n      /**\n       * The time it takes to prepare and deliver the order in minutes\n       * @internal\n       */\n      preparationTime?: number | null;\n  }\n  /** @oneof */\n  interface FulfillmentDetailsOneOf {\n      /** Delivery details. */\n      deliveryDetails?: DeliveryDetails;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails;\n      /** Dine-in details */\n      dineInDetails?: DineInDetails;\n  }\n  enum Type {\n      /** Missing type due to an error */\n      UNSPECIFIED_FULFILLMENT_TYPE = \"UNSPECIFIED_FULFILLMENT_TYPE\",\n      /** Pickup */\n      PICKUP = \"PICKUP\",\n      /** Delivery */\n      DELIVERY = \"DELIVERY\",\n      /** Dine-in */\n      DINE_IN = \"DINE_IN\"\n  }\n  interface DeliveryDetails extends DeliveryDetailsProviderOneOf {\n      /** Delivery through the restaurant. */\n      restaurant?: Restaurant;\n      /** Delivery through an external provider. */\n      externalProvider?: ExternalProvider;\n      /** Delivery address. */\n      address?: DeliveryAddress;\n      /** Information about the delivery pickup. */\n      pickupInfo?: PickupInfo;\n      /**\n       * Information about the delivery drop-off.\n       * @internal\n       */\n      dropOffInfo?: DropOffInfo;\n  }\n  /** @oneof */\n  interface DeliveryDetailsProviderOneOf {\n      /** Delivery through the restaurant. */\n      restaurant?: Restaurant;\n      /** Delivery through an external provider. */\n      externalProvider?: ExternalProvider;\n  }\n  interface DeliveryAddress {\n      /** Formatted delivery address. */\n      formatted?: string | null;\n      /** Country. */\n      country?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Street name. */\n      street?: string | null;\n      /** Street number. */\n      streetNumber?: string | null;\n      /** Apartment number. */\n      apt?: string | null;\n      /** Floor. */\n      floor?: string | null;\n      /** Entrance. */\n      entrance?: string | null;\n      /** ZIP/postal code. */\n      zipCode?: string | null;\n      /** Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      countryCode?: string | null;\n      /** Special delivery instructions upon arrival to the address. */\n      onArrival?: OnArrival;\n      /** Whether an approximate address is used. Defaults to `false`. In case of `false` a house number is required. */\n      approximate?: boolean | null;\n      /** Delivery Instructions added by the customer. */\n      comment?: string | null;\n      /** Geo coordinates of the address. */\n      location?: DeliveryAddressLocation;\n      /** Address Line 2. */\n      addressLine2?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n  }\n  enum OnArrival {\n      /** Missing type due to an error */\n      UNSPECIFIED_ON_ARRIVAL_TYPE = \"UNSPECIFIED_ON_ARRIVAL_TYPE\",\n      /** Buzz the door */\n      BUZZ_DOOR = \"BUZZ_DOOR\",\n      /** Phone me */\n      CALL_ME = \"CALL_ME\"\n  }\n  interface DeliveryAddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Restaurant {\n      /** Delivery fee. */\n      fee?: string | null;\n  }\n  interface ExternalProvider {\n      /** ID of the external delivery provider. */\n      _id?: string;\n      /**\n       * Name of the external delivery provider.\n       * @readonly\n       */\n      name?: string;\n      /**\n       * Delivery ID.\n       * @internal\n       */\n      deliveryId?: string | null;\n      /**\n       * Estimate ID.\n       * @internal\n       */\n      estimateId?: string | null;\n      /** Delivery fee charged to the customer. */\n      customerFee?: string | null;\n      /**\n       * Fee paid by the restaurant to the external delivery provider.\n       * @readonly\n       */\n      commission?: string | null;\n      /** Order pickup time. */\n      pickupTime?: Date;\n      /** Order drop off time. */\n      dropOffTime?: Date;\n      /**\n       * Icon of the external delivery provider.\n       * @internal\n       */\n      iconUrl?: string | null;\n  }\n  interface PickupInfo {\n      /** When a delivery is ready to be picked up. This is the start time of the pickup window. */\n      windowStartTime?: Date;\n      /** When a delivery must be picked up by. This is the end time of the pickup window. */\n      windowEndTime?: Date;\n  }\n  interface DropOffInfo {\n      /** Whether the order is delivered contactless. */\n      contactless?: boolean;\n      /**\n       * When a delivery will be drop off. This is the start time of the drop off window.\n       * @internal\n       */\n      windowStartTime?: Date;\n      /**\n       * When a delivery will be drop off. This is the end time of the drop off window.\n       * @internal\n       */\n      windowEndTime?: Date;\n  }\n  interface PickupDetails {\n      /** Pickup fee charged to the customer. */\n      fee?: string | null;\n      /** Curbside pickup method */\n      curbside?: Curbside;\n  }\n  interface Curbside {\n      /** Additional information for curbside pickup. */\n      info?: string;\n  }\n  interface DineInDetails {\n      /** Label of dine-in information added by the restaurant, e.g. `table` or `booth`. */\n      label?: string;\n      /** Value of dine-in information added by the restaurant, e.g. `#6`. */\n      value?: string;\n  }\n  interface Payment {\n      /** Payment type. */\n      type?: PaymentType;\n      /** Amount paid using this payment type. Only differs from total amount paid in case of split payments. */\n      amount?: string | null;\n      /** Payment method. */\n      method?: string | null;\n      /**\n       * Transaction ID.\n       * See [Cashier API](https://dev.wix.com/api/rest/wix-cashier/payments/transaction) for more details.\n       */\n      providerTransactionId?: string | null;\n  }\n  enum PaymentType {\n      /** PaymentType, due to an error */\n      UNSPECIFIED_PAYMENT_TYPE = \"UNSPECIFIED_PAYMENT_TYPE\",\n      /** Cash */\n      CASH = \"CASH\",\n      /** credit */\n      CREDIT = \"CREDIT\",\n      /** Delivery club */\n      DELIVERY_CLUB = \"DELIVERY_CLUB\",\n      /** Delivery com */\n      DELIVERY_COM = \"DELIVERY_COM\",\n      /** Bitpay */\n      BITPAY = \"BITPAY\",\n      /** Cellarix */\n      CELLARIX = \"CELLARIX\",\n      /** Bits of gold */\n      BITSOFGOLD = \"BITSOFGOLD\",\n      /** Multi pass */\n      MULTIPASS = \"MULTIPASS\",\n      /** Tenbis */\n      TENBIS = \"TENBIS\",\n      /** Paypal */\n      PAYPAL = \"PAYPAL\",\n      /** Mysodexo */\n      MYSODEXO = \"MYSODEXO\",\n      /** Wix Payments */\n      WIX_PAYMENTS = \"WIX_PAYMENTS\"\n  }\n  /** Customer information. */\n  interface Customer extends CustomerIdOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** First name. */\n      firstName?: string;\n      /** Last name. */\n      lastName?: string;\n      /** Phone number. */\n      phone?: string | null;\n      /** Email address. */\n      email?: string;\n      /**\n       * Customer's contact ID.\n       * See [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details.\n       */\n      contactId?: string | null;\n  }\n  /** @oneof */\n  interface CustomerIdOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n  }\n  interface Totals {\n      /** Order subtotal. Calculated by substracting delivery fee, tax and discount from order total. */\n      subtotal?: string;\n      /** Total order price. */\n      total?: string;\n      /** Total delivery fees charged to the customer. */\n      delivery?: string | null;\n      /** Total tax. */\n      tax?: string | null;\n      /** Total discount amount. */\n      discount?: string | null;\n      /** Total amount saved through the Wix Loyalty program. */\n      loyaltySavings?: string | null;\n      /**\n       * Total number of line items.\n       * @readonly\n       */\n      quantity?: number;\n      /** Total tip. */\n      tip?: string | null;\n      /**\n       * Information about the order's service fees.\n       * @internal\n       */\n      serviceFees?: ServiceFee[];\n  }\n  interface ServiceFee {\n      /** The service fee's unique id. */\n      ruleId?: string;\n      /**\n       * The service fee's name.\n       * @readonly\n       */\n      name?: string;\n      /** The service fee's fee as Money. */\n      fee?: Money;\n      /** The service fee's tax as Money. */\n      tax?: Money;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface LoyaltyInfo {\n      /** Amount saved by redeeming a Wix Loyalty reward. */\n      appliedAmount?: string | null;\n  }\n  interface CreateOrderResponse {\n      /** Unique identifier of the order with the POS system. */\n      posOrderId?: string;\n      /** Unique identifier of the location for the order in the POS system. */\n      posLocationId?: string;\n  }\n  interface CreateOrderFailureData {\n      /** Error codes. */\n      errors?: OrderError[];\n  }\n  interface OrderError {\n      /**\n       * Error code.\n       * + `NONE` - No error code available.\n       * + `OTHER` - Error doesn't resemble the existing synchronization errors.\n       * + `SYSTEM_ERROR` - A system error occurred during synchronization.\n       * + `ACCOUNT_NOT_FOUND` - Synchronization failed because the corresponding account with the POS system could not be found.\n       * + `ACCOUNT_NOT_AUTHORIZED` - Synchronization failed because the corresponding account with the POS system could was not authorized.\n       * + `LOCATION_NOT_FOUND` - Synchronization failed because the corresponding location with the POS system could not be found.\n       * + `ACCOUNT_NOT_CONNECTED` - Synchronization failed because the corresponding account with the POS system was not connected successfully.\n       * + `ACCOUNT_CONFIGURATION` - Synchronization failed because of a configuration error.\n       * + `OVERLOADED_MENU` - Synchronization failed because storage limit was reached.\n       */\n      code?: OrderErrorCode;\n      /** Error message. */\n      message?: string;\n      /** Error parameters. */\n      params?: Record<string, string>;\n  }\n  enum OrderErrorCode {\n      NONE = \"NONE\",\n      OTHER = \"OTHER\",\n      SYSTEM_ERROR = \"SYSTEM_ERROR\",\n      ACCOUNT_NOT_FOUND = \"ACCOUNT_NOT_FOUND\",\n      ACCOUNT_NOT_AUTHORIZED = \"ACCOUNT_NOT_AUTHORIZED\",\n      LOCATION_NOT_FOUND = \"LOCATION_NOT_FOUND\",\n      ACCOUNT_NOT_CONNECTED = \"ACCOUNT_NOT_CONNECTED\",\n      ACCOUNT_CONFIGURATION = \"ACCOUNT_CONFIGURATION\",\n      PROMO_NOT_RECOGNIZED = \"PROMO_NOT_RECOGNIZED\",\n      PROMO_USER_INELIGIBLE = \"PROMO_USER_INELIGIBLE\",\n      PROMO_ALREADY_USED = \"PROMO_ALREADY_USED\",\n      PROMO_EXPIRED = \"PROMO_EXPIRED\",\n      DISCOUNT = \"DISCOUNT\",\n      LOYALTY = \"LOYALTY\",\n      OUT_OF_SERVICE_AREA = \"OUT_OF_SERVICE_AREA\",\n      AVAILABILITY_CHANGED = \"AVAILABILITY_CHANGED\",\n      PRICE_CHANGED = \"PRICE_CHANGED\",\n      NO_CAPACITY = \"NO_CAPACITY\",\n      CLOSED = \"CLOSED\",\n      REQUIREMENTS_NOT_MET = \"REQUIREMENTS_NOT_MET\",\n      ORDER_TOTAL = \"ORDER_TOTAL\",\n      ORDER_ITEM = \"ORDER_ITEM\",\n      ORDER_REJECTED = \"ORDER_REJECTED\",\n      PAYMENT_FAILED = \"PAYMENT_FAILED\",\n      CUSTOMER_PHONE_MISSING = \"CUSTOMER_PHONE_MISSING\",\n      CUSTOMER_EMAIL_MISSING = \"CUSTOMER_EMAIL_MISSING\",\n      CUSTOMER_BLOCKED = \"CUSTOMER_BLOCKED\"\n  }\n  interface ValidateOrderRequest {\n      /** Merchant's account ID with the POS system. */\n      accountId: string;\n      /** Unique identifier of the merchant's Wix location configuration. */\n      configurationId: string;\n      /** Details of the order created on the Wix site. */\n      order?: WixOrder;\n  }\n  interface ValidateOrderResponse {\n      /** Status of the order in the POS system. */\n      posOrderStatus?: string;\n  }\n  /** Restaurants POS component */\n  interface RestaurantsPOSComponentData {\n      /**\n       * URL for the Restaurants POS registration web page.\n       * The App Instance and Account Id query parameters are attached to the registration URL\n       * so you can identify your account when accessing the vendor API. [Learn more...](https://devforum.wix.com/en/article/app-instance)\n       */\n      registrationUrl?: string;\n      /** Configuration parameters defining the behavior of catalog (menu) synchronization. */\n      catalogSyncConfiguration?: CatalogSyncConfiguration;\n  }\n  interface CatalogSyncConfiguration {\n      /** Whether Menu/Section/Dish availability will be updated on the POS side or on Wix Menus. */\n      entityAvailabilityUpdated?: Default;\n      /** Whether fulfillment method will be defined on the POS side or on Wix menus. */\n      fulfillmentMethodsDefinition?: Default;\n      /** Whether Dish images will be updated on the POS side or on Wix Menus. */\n      dishImagesUpdated?: Default;\n      /** Whether sorting (Menu/Category/Dish/Options) will be done on the POS side (API order) or on Wix Menus. */\n      entitySortingControl?: Default;\n      /** Whether Labels will be updated on the POS side or on Wix Menus. */\n      dishLabelsUpdated?: Default;\n      /** whether min/max amount of choices to be set on the POS side or on Wix Menus. */\n      dishOptionsMinMaxUpdated?: Default;\n      /** Whether Dish in/out of stock will be updated on Wix Menus or retrieved from POS. */\n      dishInStockUpdated?: Default;\n  }\n  enum Default {\n      WIX = \"WIX\",\n      POS = \"POS\"\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetConfigurationStatusOptions {\n      /** Merchant's account ID with the POS system. */\n      accountId: string;\n      /** Unique identifier of the merchant's Wix location configuration. */\n      configurationId: string;\n  }\n  interface SyncCatalogOptions {\n      /** Merchant's account ID with the POS system. */\n      accountId: string;\n      /** Unique identifier of the merchant's Wix location configuration. */\n      configurationId: string;\n  }\n  interface GetCatalogSyncStatusOptions {\n      /** Merchant's account ID with the POS system. */\n      accountId: string;\n      /** Unique identifier of the merchant's Wix location configuration. */\n      configurationId: string;\n  }\n  interface CreateOrderOptions {\n      /** Merchant's account ID with the POS system. */\n      accountId: string;\n      /** Unique identifier of the merchant's Wix location configuration. */\n      configurationId: string;\n      /** Details of the order being created on the Wix site. */\n      order?: WixOrder;\n      /** Whether the order is being paid by the same payment gateway as the POS. */\n      paidByPosGateway?: boolean;\n  }\n  interface ValidateOrderOptions {\n      /** Merchant's account ID with the POS system. */\n      accountId: string;\n      /** Unique identifier of the merchant's Wix location configuration. */\n      configurationId: string;\n      /** Details of the order created on the Wix site. */\n      order?: WixOrder;\n  }\n  \n  function catalogSyncFailure(data: CatalogSyncFailureData): BusinessError<CatalogSyncFailureData>;\n  \n  const syncCatalogSpiErrors_d_catalogSyncFailure: typeof catalogSyncFailure;\n  namespace syncCatalogSpiErrors_d {\n    export {\n      syncCatalogSpiErrors_d_catalogSyncFailure as catalogSyncFailure,\n    };\n  }\n  \n  function getCatalogSyncStatusFailure(data: GetCatalogSyncStatusFailureData): BusinessError<GetCatalogSyncStatusFailureData>;\n  \n  const getCatalogSyncStatusSpiErrors_d_getCatalogSyncStatusFailure: typeof getCatalogSyncStatusFailure;\n  namespace getCatalogSyncStatusSpiErrors_d {\n    export {\n      getCatalogSyncStatusSpiErrors_d_getCatalogSyncStatusFailure as getCatalogSyncStatusFailure,\n    };\n  }\n  \n  function createOrderFailure(data: CreateOrderFailureData): BusinessError<CreateOrderFailureData>;\n  \n  const createOrderSpiErrors_d_createOrderFailure: typeof createOrderFailure;\n  namespace createOrderSpiErrors_d {\n    export {\n      createOrderSpiErrors_d_createOrderFailure as createOrderFailure,\n    };\n  }\n  \n  function validateOrderFailure(data: CreateOrderFailureData): BusinessError<CreateOrderFailureData>;\n  \n  const validateOrderSpiErrors_d_validateOrderFailure: typeof validateOrderFailure;\n  namespace validateOrderSpiErrors_d {\n    export {\n      validateOrderSpiErrors_d_validateOrderFailure as validateOrderFailure,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      syncCatalogSpiErrors_d as syncCatalog,\n      getCatalogSyncStatusSpiErrors_d as getCatalogSyncStatus,\n      createOrderSpiErrors_d as createOrder,\n      validateOrderSpiErrors_d as validateOrder,\n    };\n  }\n  \n  export { BusinessError, CatalogReference, CatalogSyncConfiguration, CatalogSyncError, CatalogSyncFailureData, CatalogSyncStatusError, CatalogSyncStatusErrorCode, Code, ConfigurationStatus, Context, CreateOrderFailureData, CreateOrderOptions, CreateOrderRequest, CreateOrderResponse, Curbside, Customer, CustomerIdOneOf, Default, DeliveryAddress, DeliveryAddressLocation, DeliveryDetails, DeliveryDetailsProviderOneOf, DineInDetails, Discount, DiscountType, DisplayType, DropOffInfo, ExternalProvider, Fulfillment, FulfillmentDetailsOneOf, GetCatalogSyncStatusFailureData, GetCatalogSyncStatusOptions, GetCatalogSyncStatusRequest, GetCatalogSyncStatusResponse, GetCatalogSyncStatusResponseStatusModeOneOf, GetConfigurationStatusOptions, GetConfigurationStatusRequest, GetConfigurationStatusResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, LineItem, LineItemOption, LineItemOptionItem, ListAccountIdsRequest, ListAccountIdsResponse, LoyaltyInfo, Money, OnArrival, OrderError, OrderErrorCode, Payment, PaymentType, PickupDetails, PickupInfo, Restaurant, RestaurantsPOSComponentData, ServiceFee, Status, SyncCatalogOptions, SyncCatalogRequest, SyncCatalogResponse, SyncFailed, SyncFailedCode, SyncInProgress, SyncSynced, Totals, Tpa, Type, ValidateOrderOptions, ValidateOrderRequest, ValidateOrderResponse, WixOrder, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-media.v2.d.ts",
      "content": "declare module \"wix-media.v2\" {\n  interface EnterpriseCategory {\n      /**\n       * Id of the category\n       * @readonly\n       */\n      _id?: string;\n      /** The display name that will be shown for the item */\n      displayName?: string | null;\n      /** Id of the parent category, will default to the account master category */\n      parentCategoryId?: string | null;\n      /** Sort order number of the category, will determine the order of the category with other categories under the same parent category */\n      sortOrder?: number | null;\n      /** Publish status of the category */\n      publishStatus?: PublishStatus$1;\n      /**\n       * Date and time the category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the category was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * the media type of the category - should be ignored - will add mixed\n       * @internal\n       */\n      mediaType?: MediaType$3;\n  }\n  enum PublishStatus$1 {\n      UNDEFINED = \"UNDEFINED\",\n      UNPUBLISHED = \"UNPUBLISHED\",\n      PUBLISHED = \"PUBLISHED\",\n      WIX_ONLY = \"WIX_ONLY\"\n  }\n  enum MediaType$3 {\n      MIXED = \"MIXED\",\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      AUDIO = \"AUDIO\",\n      DOCUMENT = \"DOCUMENT\",\n      VECTOR = \"VECTOR\",\n      ARCHIVE = \"ARCHIVE\",\n      MODEL3D = \"MODEL3D\"\n  }\n  interface CreateCategoryRequest {\n      /** The category object that will be created */\n      category: EnterpriseCategory;\n  }\n  interface CreateCategoryResponse {\n      /** A list of items matching the request */\n      category?: EnterpriseCategory;\n  }\n  interface DeleteCategoryRequest {\n      /** Category id */\n      categoryId: string;\n  }\n  interface DeleteCategoryResponse {\n  }\n  interface UpdateCategoryRequest {\n      /** The category object that will be created */\n      category: EnterpriseCategory;\n      /**\n       * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateCategoryResponse {\n      /** The updated category */\n      category?: EnterpriseCategory;\n  }\n  interface GetCategoryRequest {\n      /** Category id */\n      categoryId: string;\n      /** number of sub category levels */\n      levels?: number | null;\n      /** filter categories by publish statuses. When empty will return PUBLISHED and UNPUBLISHED */\n      publishStatus?: PublishStatus$1;\n  }\n  interface GetCategoryResponse {\n      /** The category details */\n      category?: EnterpriseCategoryTree;\n  }\n  interface EnterpriseCategoryTree {\n      /** Category information */\n      category?: EnterpriseCategory;\n      /** Information about the sub categories */\n      subCategories?: EnterpriseCategoryTree[];\n  }\n  interface EnterpriseOnboardingRequest {\n      /** The account id of the organization - will be used as the organization category id */\n      accountId: string;\n      /** The account name of the organization - will be used as the organization category name */\n      accountName?: string;\n  }\n  interface EnterpriseOnboardingResponse {\n      /** The enterprise category */\n      category?: EnterpriseCategory;\n  }\n  interface LinkItemsToCategoryRequest {\n      /** The category to link to */\n      categoryId: string;\n      /** The item ids that will be added to the category */\n      itemIds?: string[];\n  }\n  interface LinkItemsToCategoryResponse {\n  }\n  interface UnlinkItemsFromCategoryRequest {\n      /** The category to link to */\n      categoryId: string;\n      /** The item ids that will be added to the category */\n      itemIds?: string[];\n  }\n  interface UnlinkItemsFromCategoryResponse {\n  }\n  interface GetMediaManagerCategoriesRequest {\n  }\n  interface GetMediaManagerCategoriesResponse {\n      /** The category details */\n      category?: EnterpriseCategoryTree;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Fetch a list of random media from different providers, using site information to customize results when available\n   * @param category - The category object that will be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField category\n   * @requiredField category.displayName\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_CATEGORIES_CREATE\n   * @adminMethod\n   * @returns A list of items matching the request\n   */\n  function createCategory(category: EnterpriseCategory): Promise<EnterpriseCategory>;\n  /**\n   * Delete a category including all its subcategories - but not the items\n   * @param categoryId - Category id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_CATEGORIES_DELETE\n   * @adminMethod\n   */\n  function deleteCategory(categoryId: string): Promise<void>;\n  /**\n   * Update category details\n   * @param _id - Id of the category\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField category\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_CATEGORIES_UPDATE\n   * @adminMethod\n   * @returns The updated category\n   */\n  function updateCategory(_id: string, category: UpdateCategory, options?: UpdateCategoryOptions): Promise<EnterpriseCategory>;\n  interface UpdateCategory {\n      /**\n       * Id of the category\n       * @readonly\n       */\n      _id?: string;\n      /** The display name that will be shown for the item */\n      displayName?: string | null;\n      /** Id of the parent category, will default to the account master category */\n      parentCategoryId?: string | null;\n      /** Sort order number of the category, will determine the order of the category with other categories under the same parent category */\n      sortOrder?: number | null;\n      /** Publish status of the category */\n      publishStatus?: PublishStatus$1;\n      /**\n       * Date and time the category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the category was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * the media type of the category - should be ignored - will add mixed\n       * @internal\n       */\n      mediaType?: MediaType$3;\n  }\n  interface UpdateCategoryOptions {\n      /**\n       * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Get information about a specific category\n   * @param categoryId - Category id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_CATEGORIES_READ\n   * @adminMethod\n   * @returns The category details\n   */\n  function getCategory(categoryId: string, options?: GetCategoryOptions): Promise<EnterpriseCategoryTree>;\n  interface GetCategoryOptions {\n      /** number of sub category levels */\n      levels?: number | null;\n      /** filter categories by publish statuses. When empty will return PUBLISHED and UNPUBLISHED */\n      publishStatus?: PublishStatus$1;\n  }\n  /**\n   * Create the enterprise category under \"enterprise-media\" main category\n   * the caller identity must be have the same accountId of the request\n   * @param accountId - The account id of the organization - will be used as the organization category id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @adminMethod\n   */\n  function enterpriseOnboarding(accountId: string, options?: EnterpriseOnboardingOptions): Promise<EnterpriseOnboardingResponse>;\n  interface EnterpriseOnboardingOptions {\n      /** The account name of the organization - will be used as the organization category name */\n      accountName?: string;\n  }\n  /**\n   * link multiple items to the same category\n   * @param categoryId - The category to link to\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_CATEGORIES_UPDATE_ITEMS\n   * @adminMethod\n   */\n  function linkItemsToCategory(categoryId: string, options?: LinkItemsToCategoryOptions): Promise<void>;\n  interface LinkItemsToCategoryOptions {\n      /** The item ids that will be added to the category */\n      itemIds?: string[];\n  }\n  /**\n   * unlink multiple items from a category\n   * @param categoryId - The category to link to\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_CATEGORIES_UPDATE_ITEMS\n   * @adminMethod\n   */\n  function unlinkItemsFromCategory(categoryId: string, options?: UnlinkItemsFromCategoryOptions): Promise<void>;\n  interface UnlinkItemsFromCategoryOptions {\n      /** The item ids that will be added to the category */\n      itemIds?: string[];\n  }\n  /**\n   * Get the account category tree details\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getMediaManagerCategories(): Promise<GetMediaManagerCategoriesResponse>;\n  \n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_EnterpriseCategory = EnterpriseCategory;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_GetCategoryRequest = GetCategoryRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_GetCategoryResponse = GetCategoryResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_EnterpriseCategoryTree = EnterpriseCategoryTree;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_EnterpriseOnboardingRequest = EnterpriseOnboardingRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_EnterpriseOnboardingResponse = EnterpriseOnboardingResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_LinkItemsToCategoryRequest = LinkItemsToCategoryRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_LinkItemsToCategoryResponse = LinkItemsToCategoryResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UnlinkItemsFromCategoryRequest = UnlinkItemsFromCategoryRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UnlinkItemsFromCategoryResponse = UnlinkItemsFromCategoryResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_GetMediaManagerCategoriesRequest = GetMediaManagerCategoriesRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_GetMediaManagerCategoriesResponse = GetMediaManagerCategoriesResponse;\n  const mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_createCategory: typeof createCategory;\n  const mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_deleteCategory: typeof deleteCategory;\n  const mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_updateCategory: typeof updateCategory;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UpdateCategory = UpdateCategory;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UpdateCategoryOptions = UpdateCategoryOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_getCategory: typeof getCategory;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_GetCategoryOptions = GetCategoryOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_enterpriseOnboarding: typeof enterpriseOnboarding;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_EnterpriseOnboardingOptions = EnterpriseOnboardingOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_linkItemsToCategory: typeof linkItemsToCategory;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_LinkItemsToCategoryOptions = LinkItemsToCategoryOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_unlinkItemsFromCategory: typeof unlinkItemsFromCategory;\n  type mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UnlinkItemsFromCategoryOptions = UnlinkItemsFromCategoryOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_getMediaManagerCategories: typeof getMediaManagerCategories;\n  namespace mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d {\n    export {\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_EnterpriseCategory as EnterpriseCategory,\n      PublishStatus$1 as PublishStatus,\n      MediaType$3 as MediaType,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_CreateCategoryResponse as CreateCategoryResponse,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UpdateCategoryResponse as UpdateCategoryResponse,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_GetCategoryRequest as GetCategoryRequest,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_GetCategoryResponse as GetCategoryResponse,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_EnterpriseCategoryTree as EnterpriseCategoryTree,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_EnterpriseOnboardingRequest as EnterpriseOnboardingRequest,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_EnterpriseOnboardingResponse as EnterpriseOnboardingResponse,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_LinkItemsToCategoryRequest as LinkItemsToCategoryRequest,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_LinkItemsToCategoryResponse as LinkItemsToCategoryResponse,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UnlinkItemsFromCategoryRequest as UnlinkItemsFromCategoryRequest,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UnlinkItemsFromCategoryResponse as UnlinkItemsFromCategoryResponse,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_GetMediaManagerCategoriesRequest as GetMediaManagerCategoriesRequest,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_GetMediaManagerCategoriesResponse as GetMediaManagerCategoriesResponse,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_createCategory as createCategory,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_deleteCategory as deleteCategory,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_updateCategory as updateCategory,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UpdateCategory as UpdateCategory,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UpdateCategoryOptions as UpdateCategoryOptions,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_getCategory as getCategory,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_GetCategoryOptions as GetCategoryOptions,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_enterpriseOnboarding as enterpriseOnboarding,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_EnterpriseOnboardingOptions as EnterpriseOnboardingOptions,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_linkItemsToCategory as linkItemsToCategory,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_LinkItemsToCategoryOptions as LinkItemsToCategoryOptions,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_unlinkItemsFromCategory as unlinkItemsFromCategory,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_UnlinkItemsFromCategoryOptions as UnlinkItemsFromCategoryOptions,\n      mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d_getMediaManagerCategories as getMediaManagerCategories,\n    };\n  }\n  \n  /**\n   * Duration for video fits better if there will be type specific media item.. however, is it ok to implement\n   * an additional one of field called details?\n   */\n  interface EnterpriseMediaItem {\n      /**\n       * Id of the item in public media\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Media type of the item\n       * @readonly\n       */\n      mediaType?: MediaType$2;\n      /**\n       * Size of the uploaded file in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /** The item title, part of searchable fields */\n      title?: string | null;\n      /**\n       * The aspect ratio of the item\n       * An object containing urls for different views of the item\n       * @readonly\n       */\n      assets?: ItemAssets;\n      /** Tags describing the image, part of searchable fields */\n      displayTags?: string[] | null;\n      /** Tags for internal client use, part of searchable fields */\n      internalTags?: string[] | null;\n      /**\n       * Tags for filtering items in the search\n       * @readonly\n       */\n      systemTags?: string[] | null;\n      /**\n       * Category ids this item belongs to\n       * @readonly\n       */\n      parentCategoryIds?: string[] | null;\n      /** Status of the item */\n      publishStatus?: PublishStatus;\n      /**\n       * Date and time the item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * An internal id used with different wix media systems\n       * @readonly\n       */\n      internalId?: string | null;\n  }\n  enum MediaType$2 {\n      MIXED = \"MIXED\",\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      AUDIO = \"AUDIO\",\n      DOCUMENT = \"DOCUMENT\",\n      VECTOR = \"VECTOR\",\n      ARCHIVE = \"ARCHIVE\",\n      MODEL3D = \"MODEL3D\"\n  }\n  interface ItemAssets extends ItemAssetsAssetsOneOf {\n      /** Assets for image media type */\n      image?: string;\n      /** Assets for video media type */\n      video?: string;\n      /** Assets for vector media type */\n      vector?: string;\n      /** Assets for audio media type */\n      audio?: string;\n      /** Assets for document media type */\n      document?: string;\n      /** Information about the archive. */\n      archive?: Archive$2;\n      /** Information about the 3D Model. */\n      model3d?: Model3D$2;\n  }\n  /** @oneof */\n  interface ItemAssetsAssetsOneOf {\n      /** Assets for image media type */\n      image?: string;\n      /** Assets for video media type */\n      video?: string;\n      /** Assets for vector media type */\n      vector?: string;\n      /** Assets for audio media type */\n      audio?: string;\n      /** Assets for document media type */\n      document?: string;\n      /** Information about the archive. */\n      archive?: Archive$2;\n      /** Information about the 3D Model. */\n      model3d?: Model3D$2;\n  }\n  interface VideoResolution$2 {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /**\n       * Video format\n       * Possible values: ['144p.mp4' '144p.webm' '240p.mp4' '240p.webm' '360p.mp4' '360p.webm' '480p.mp4' '480p.webm'\n       * '720p.mp4' '720p.webm' '1080p.mp4' '1080p.webm' ]\n       */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       */\n      durationInSeconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface Archive$2 {\n      /** WixMedia ID. */\n      _id?: string;\n      /** Archive URL. */\n      url?: string;\n      /**\n       * Archive URL expiration date (when relevant).\n       * @readonly\n       */\n      urlExpirationDate?: Date | null;\n      /** Archive size in bytes. */\n      sizeInBytes?: string | null;\n      /** Archive filename. */\n      filename?: string | null;\n  }\n  interface Model3D$2 {\n      /** WixMedia 3D ID. */\n      _id?: string;\n      /** 3D URL. */\n      url?: string;\n      /** 3D thumbnail Image */\n      thumbnail?: string;\n      /** 3D alt text. */\n      altText?: string | null;\n      /**\n       * 3D URL expiration date (when relevant).\n       * @readonly\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * 3D filename.\n       * @readonly\n       */\n      filename?: string | null;\n      /**\n       * 3D size in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n  }\n  enum PublishStatus {\n      UNDEFINED = \"UNDEFINED\",\n      UNPUBLISHED = \"UNPUBLISHED\",\n      PUBLISHED = \"PUBLISHED\",\n      WIX_ONLY = \"WIX_ONLY\"\n  }\n  interface ItemCategoriesChanged {\n      /** A list of the current item categories */\n      itemCategoryIds?: string[] | null;\n      /** A list of the categories that where unlinked from the item */\n      unlinkedCategoryIds?: string[] | null;\n      /** A list of the categories that where linked to the item */\n      linkedCategoryIds?: string[] | null;\n      /** The full updated item information */\n      entity?: EnterpriseMediaItem;\n  }\n  interface ItemUploadCallbackRequest {\n      /** The item id of the created item */\n      itemId?: string;\n      /** The callback passed to the upload endpoint */\n      callbackToken?: string;\n  }\n  interface ItemUploadCallbackResponse {\n      /** A message describing what happened on the endpoint */\n      message?: string | null;\n  }\n  interface GenerateFileUploadUrlRequest$1 {\n      /** The uploaded original file name including the extension */\n      fileName?: string;\n      /** The file mime-type - will be used to identify the type of media */\n      contentType?: string;\n      /** The file size in bytes */\n      sizeInBytes?: number;\n      /**\n       * An optional list of categories to link the created item to\n       * The item will be linked to the account category automatically\n       */\n      categoryIds?: string[] | null;\n  }\n  interface GenerateFileUploadUrlResponse$1 {\n      /** The upload url to upload the file to */\n      uploadUrl?: string;\n  }\n  interface ImportFileRequest$1 {\n      /** The url to the file to be imported */\n      url: string;\n      /** The uploaded original file name including the extension - will be used as the initial display name */\n      fileName?: string | null;\n      /** The file mime-type - will be used to identify the type of media */\n      contentType?: string | null;\n      /** The file size in bytes */\n      sizeInBytes?: number | null;\n      /**\n       * An optional list of categories to link the created item to\n       * The item will be linked to the account category automatically\n       */\n      categoryIds?: string[] | null;\n      /** The media type of the uploaded file */\n      mediaType?: MediaType$2;\n      /**\n       * A unique identifier of the client that imported the file\n       * This information will exist in the system_tags field prefixed by '_external_uploader:{uploader_system_tag}'\n       */\n      uploaderSystemTag?: string | null;\n      /**\n       * An additional container for external information\n       * mostly used to pass identifying information of related entities in external services\n       * This information will exist in the system_tags field prefixed by '_external_uploader_info:{uploader_info_system_tag}'\n       */\n      uploaderInfoSystemTag?: string | null;\n  }\n  interface ImportFileResponse$1 {\n      /**\n       * Partial item - without the assets\n       * At this stage of implementation only the 'internal_id' will be filled\n       * all other required values will be fake values\n       */\n      item?: EnterpriseMediaItem;\n  }\n  interface BulkImportFilesRequest$1 {\n      /** Information about the files to import. */\n      importFileRequests: ImportFileRequest$1[];\n      /**\n       * Whether to include the imported File Descriptor in the response. Set to `false` to exclude the File Descriptor from the returned object.\n       * Default: `true`\n       */\n      returnEntity?: boolean | null;\n      /**\n       * An optional list of categories to link all the items to\n       * The item will be linked to the account category automatically\n       */\n      categoryIds?: string[] | null;\n  }\n  interface BulkImportFilesResponse$1 {\n      /** Items created by bulk action. */\n      results?: BulkImportFilesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkImportFilesResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata$1;\n      /** Imported file. This field is returned if the operation was successful and `returnEntity` is not set to `false`. */\n      item?: EnterpriseMediaItem;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface SearchItemsRequest {\n      /** Items search query */\n      query?: Search;\n  }\n  interface Search extends SearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: Paging;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting$3[];\n      /** free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  /** @oneof */\n  interface SearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: Paging;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface SearchDetails {\n      /** search term or expression */\n      expression?: string | null;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface SearchItemsResponse {\n      /** A list of items matching the request */\n      items?: EnterpriseMediaItem[];\n      /** Information about the search results. */\n      pagingMetadata?: PagingMetadataV2$3;\n  }\n  interface PagingMetadataV2$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$3;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$3 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n  }\n  interface QueryItemsRequest {\n      /** Items query */\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n  }\n  interface QueryItemsResponse {\n      /** A list of items matching the request */\n      items?: EnterpriseMediaItem[];\n      /** Information for the next request. */\n      pagingMetadata?: PagingMetadataV2$3;\n  }\n  interface UpdateItemRequest {\n      /** The category object that will be created */\n      item: EnterpriseMediaItem;\n      /**\n       * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateItemResponse {\n      /** Updated item info */\n      item?: EnterpriseMediaItem;\n  }\n  interface PublishStatusChanged {\n      /** The new item status */\n      publishStatus?: PublishStatus;\n      /** The full updated item information */\n      entity?: EnterpriseMediaItem;\n  }\n  interface BulkUpdateItemRequest {\n      /** Requests to update individual item */\n      updateItemRequests: UpdateItemRequest[];\n      /** Should the response return the updated item */\n      returnEntity?: boolean;\n  }\n  interface BulkUpdateItemResponse {\n      /** Requests to update individual item */\n      results?: BulkItemUpdateResult[];\n      /** Metadata of the operation */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkItemUpdateResult {\n      /** updated item metadata */\n      itemMetadata?: ItemMetadata$1;\n      /** only returned if operation was successful and if returnEntity flag was on */\n      item?: EnterpriseMediaItem;\n  }\n  interface GetItemRequest {\n      /** Item id */\n      itemId: string;\n  }\n  interface GetItemResponse {\n      /** item info */\n      item?: EnterpriseMediaItem;\n  }\n  interface LinkItemToCategoriesRequest {\n      /** The item id */\n      itemId: string;\n      /** The category ids that the item will be linked to */\n      categoryIds?: string[];\n  }\n  interface LinkItemToCategoriesResponse {\n      /** The linked category ids */\n      linkedCategoryIds?: string[] | null;\n  }\n  interface UnlinkItemFromCategoriesRequest {\n      /** The item id */\n      itemId: string;\n      /** The category ids that the item will be unlinked from */\n      categoryIds?: string[];\n  }\n  interface UnlinkItemFromCategoriesResponse {\n      /** The unlinked category ids */\n      unlinkedCategoryIds?: string[] | null;\n  }\n  interface OverwriteItemCategoriesRequest {\n      /** The item id */\n      itemId: string;\n      /** The category ids the item will be linked to after this operation */\n      categoryIds?: string[];\n  }\n  interface OverwriteItemCategoriesResponse {\n      /** The linked category ids */\n      linkedCategoryIds?: string[] | null;\n      /** The unlinked category ids */\n      unlinkedCategoryIds?: string[] | null;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Internal API called by the public media backend, notify about a file that was created enterprise public media server\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function itemUploadCallback(options?: ItemUploadCallbackOptions): Promise<ItemUploadCallbackResponse>;\n  interface ItemUploadCallbackOptions {\n      /** The item id of the created item */\n      itemId?: string;\n      /** The callback passed to the upload endpoint */\n      callbackToken?: string;\n  }\n  /**\n   * Generate an upload url that will make public media to call the enterprise callback endpoint\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_GENERATE_UPLOAD_URL\n   * @adminMethod\n   */\n  function generateFileUploadUrl$1(options?: GenerateFileUploadUrlOptions$1): Promise<GenerateFileUploadUrlResponse$1>;\n  interface GenerateFileUploadUrlOptions$1 {\n      /** The uploaded original file name including the extension */\n      fileName?: string;\n      /** The file mime-type - will be used to identify the type of media */\n      contentType?: string;\n      /** The file size in bytes */\n      sizeInBytes?: number;\n      /**\n       * An optional list of categories to link the created item to\n       * The item will be linked to the account category automatically\n       */\n      categoryIds?: string[] | null;\n  }\n  /**\n   * Import a file using a url\n   * @param url - The url to the file to be imported\n   * @public\n   * @documentationMaturity preview\n   * @requiredField url\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_IMPORT\n   * @adminMethod\n   */\n  function importFile$1(url: string, options?: ImportFileOptions$1): Promise<ImportFileResponse$1>;\n  interface ImportFileOptions$1 {\n      /** The uploaded original file name including the extension - will be used as the initial display name */\n      fileName?: string | null;\n      /** The file mime-type - will be used to identify the type of media */\n      contentType?: string | null;\n      /** The file size in bytes */\n      sizeInBytes?: number | null;\n      /**\n       * An optional list of categories to link the created item to\n       * The item will be linked to the account category automatically\n       */\n      categoryIds?: string[] | null;\n      /** The media type of the uploaded file */\n      mediaType?: MediaType$2;\n      /**\n       * A unique identifier of the client that imported the file\n       * This information will exist in the system_tags field prefixed by '_external_uploader:{uploader_system_tag}'\n       */\n      uploaderSystemTag?: string | null;\n      /**\n       * An additional container for external information\n       * mostly used to pass identifying information of related entities in external services\n       * This information will exist in the system_tags field prefixed by '_external_uploader_info:{uploader_info_system_tag}'\n       */\n      uploaderInfoSystemTag?: string | null;\n  }\n  /** @param importFileRequests - Information about the files to import.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField importFileRequests\n   * @requiredField importFileRequests.url\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_IMPORT\n   * @adminMethod\n   */\n  function bulkImportFiles$1(importFileRequests: ImportFileRequest$1[], options?: BulkImportFilesOptions): Promise<BulkImportFilesResponse$1>;\n  interface BulkImportFilesOptions {\n      /**\n       * Whether to include the imported File Descriptor in the response. Set to `false` to exclude the File Descriptor from the returned object.\n       * Default: `true`\n       */\n      returnEntity?: boolean | null;\n      /**\n       * An optional list of categories to link all the items to\n       * The item will be linked to the account category automatically\n       */\n      categoryIds?: string[] | null;\n  }\n  /**\n   * Search items, all filters only support equality\n   * Each query must contain a categoryId filter\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_READ\n   * @adminMethod\n   */\n  function searchItems(options?: SearchItemsOptions): Promise<SearchItemsResponse>;\n  interface SearchItemsOptions {\n      /** Items search query */\n      query?: Search;\n  }\n  /**\n   * Query items allowing to sort by specified fields, all filters only support equality\n   * Each query must contain a categoryId filter\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_READ\n   * @adminMethod\n   */\n  function queryItems(): ItemsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ItemsQueryResult extends QueryOffsetResult {\n      items: EnterpriseMediaItem[];\n      query: ItemsQueryBuilder;\n      next: () => Promise<ItemsQueryResult>;\n      prev: () => Promise<ItemsQueryResult>;\n  }\n  interface ItemsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'sizeInBytes' | 'title' | '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'parentCategoryIds', value: any[]) => ItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'sizeInBytes' | 'title' | '_createdDate' | '_updatedDate'>) => ItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'sizeInBytes' | 'title' | '_createdDate' | '_updatedDate'>) => ItemsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ItemsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => ItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ItemsQueryResult>;\n  }\n  /**\n   * Update an item\n   * @param _id - Id of the item in public media\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField item\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_UPDATE\n   * @adminMethod\n   * @returns Updated item info\n   */\n  function updateItem(_id: string, item: UpdateItem, options?: UpdateItemOptions): Promise<EnterpriseMediaItem>;\n  interface UpdateItem {\n      /**\n       * Id of the item in public media\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Media type of the item\n       * @readonly\n       */\n      mediaType?: MediaType$2;\n      /**\n       * Size of the uploaded file in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /** The item title, part of searchable fields */\n      title?: string | null;\n      /**\n       * The aspect ratio of the item\n       * An object containing urls for different views of the item\n       * @readonly\n       */\n      assets?: ItemAssets;\n      /** Tags describing the image, part of searchable fields */\n      displayTags?: string[] | null;\n      /** Tags for internal client use, part of searchable fields */\n      internalTags?: string[] | null;\n      /**\n       * Tags for filtering items in the search\n       * @readonly\n       */\n      systemTags?: string[] | null;\n      /**\n       * Category ids this item belongs to\n       * @readonly\n       */\n      parentCategoryIds?: string[] | null;\n      /** Status of the item */\n      publishStatus?: PublishStatus;\n      /**\n       * Date and time the item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * An internal id used with different wix media systems\n       * @readonly\n       */\n      internalId?: string | null;\n  }\n  interface UpdateItemOptions {\n      /**\n       * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Bulk update an item\n   * @param updateItemRequests - Requests to update individual item\n   * @public\n   * @documentationMaturity preview\n   * @requiredField updateItemRequests\n   * @requiredField updateItemRequests.item._id\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateItem(updateItemRequests: UpdateItemRequest[], options?: BulkUpdateItemOptions): Promise<BulkUpdateItemResponse>;\n  interface BulkUpdateItemOptions {\n      /** Should the response return the updated item */\n      returnEntity?: boolean;\n  }\n  /**\n   * Get item details\n   * @param itemId - Item id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_READ\n   * @adminMethod\n   * @returns item info\n   */\n  function getItem(itemId: string): Promise<EnterpriseMediaItem>;\n  /**\n   * Link the item to multiple categories\n   * @param itemId - The item id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_UPDATE_CATEGORIES\n   * @adminMethod\n   */\n  function linkItemToCategories(itemId: string, options?: LinkItemToCategoriesOptions): Promise<LinkItemToCategoriesResponse>;\n  interface LinkItemToCategoriesOptions {\n      /** The category ids that the item will be linked to */\n      categoryIds?: string[];\n  }\n  /**\n   * Unlink the item from multiple categories\n   * @param itemId - The item id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_UPDATE_CATEGORIES\n   * @adminMethod\n   */\n  function unlinkItemFromCategories(itemId: string, options?: UnlinkItemFromCategoriesOptions): Promise<UnlinkItemFromCategoriesResponse>;\n  interface UnlinkItemFromCategoriesOptions {\n      /** The category ids that the item will be unlinked from */\n      categoryIds?: string[];\n  }\n  /**\n   * Overwrite item categories\n   * @param itemId - The item id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @permissionId MEDIA.ENTERPRISE_MEDIA_ITEMS_UPDATE_CATEGORIES\n   * @adminMethod\n   */\n  function overwriteItemCategories(itemId: string, options?: OverwriteItemCategoriesOptions): Promise<OverwriteItemCategoriesResponse>;\n  interface OverwriteItemCategoriesOptions {\n      /** The category ids the item will be linked to after this operation */\n      categoryIds?: string[];\n  }\n  \n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_EnterpriseMediaItem = EnterpriseMediaItem;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemAssets = ItemAssets;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemAssetsAssetsOneOf = ItemAssetsAssetsOneOf;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_PublishStatus = PublishStatus;\n  const mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_PublishStatus: typeof PublishStatus;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemCategoriesChanged = ItemCategoriesChanged;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemUploadCallbackRequest = ItemUploadCallbackRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemUploadCallbackResponse = ItemUploadCallbackResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkImportFilesResult = BulkImportFilesResult;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_SearchItemsRequest = SearchItemsRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_Search = Search;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_SearchPagingMethodOneOf = SearchPagingMethodOneOf;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_SearchDetails = SearchDetails;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_Paging = Paging;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_SearchItemsResponse = SearchItemsResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_QueryItemsRequest = QueryItemsRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_QueryV2 = QueryV2;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_QueryItemsResponse = QueryItemsResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UpdateItemRequest = UpdateItemRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UpdateItemResponse = UpdateItemResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_PublishStatusChanged = PublishStatusChanged;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkUpdateItemRequest = BulkUpdateItemRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkUpdateItemResponse = BulkUpdateItemResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkItemUpdateResult = BulkItemUpdateResult;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_GetItemRequest = GetItemRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_GetItemResponse = GetItemResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_LinkItemToCategoriesRequest = LinkItemToCategoriesRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_LinkItemToCategoriesResponse = LinkItemToCategoriesResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UnlinkItemFromCategoriesRequest = UnlinkItemFromCategoriesRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UnlinkItemFromCategoriesResponse = UnlinkItemFromCategoriesResponse;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_OverwriteItemCategoriesRequest = OverwriteItemCategoriesRequest;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_OverwriteItemCategoriesResponse = OverwriteItemCategoriesResponse;\n  const mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_itemUploadCallback: typeof itemUploadCallback;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemUploadCallbackOptions = ItemUploadCallbackOptions;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkImportFilesOptions = BulkImportFilesOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_searchItems: typeof searchItems;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_SearchItemsOptions = SearchItemsOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_queryItems: typeof queryItems;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemsQueryResult = ItemsQueryResult;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemsQueryBuilder = ItemsQueryBuilder;\n  const mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_updateItem: typeof updateItem;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UpdateItem = UpdateItem;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UpdateItemOptions = UpdateItemOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_bulkUpdateItem: typeof bulkUpdateItem;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkUpdateItemOptions = BulkUpdateItemOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_getItem: typeof getItem;\n  const mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_linkItemToCategories: typeof linkItemToCategories;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_LinkItemToCategoriesOptions = LinkItemToCategoriesOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_unlinkItemFromCategories: typeof unlinkItemFromCategories;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UnlinkItemFromCategoriesOptions = UnlinkItemFromCategoriesOptions;\n  const mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_overwriteItemCategories: typeof overwriteItemCategories;\n  type mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_OverwriteItemCategoriesOptions = OverwriteItemCategoriesOptions;\n  namespace mediaEnterprisePublicMediaV1EnterpriseItem_universal_d {\n    export {\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_EnterpriseMediaItem as EnterpriseMediaItem,\n      MediaType$2 as MediaType,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemAssets as ItemAssets,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemAssetsAssetsOneOf as ItemAssetsAssetsOneOf,\n      VideoResolution$2 as VideoResolution,\n      Archive$2 as Archive,\n      Model3D$2 as Model3D,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_PublishStatus as PublishStatus,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemCategoriesChanged as ItemCategoriesChanged,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemUploadCallbackRequest as ItemUploadCallbackRequest,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemUploadCallbackResponse as ItemUploadCallbackResponse,\n      GenerateFileUploadUrlRequest$1 as GenerateFileUploadUrlRequest,\n      GenerateFileUploadUrlResponse$1 as GenerateFileUploadUrlResponse,\n      ImportFileRequest$1 as ImportFileRequest,\n      ImportFileResponse$1 as ImportFileResponse,\n      BulkImportFilesRequest$1 as BulkImportFilesRequest,\n      BulkImportFilesResponse$1 as BulkImportFilesResponse,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkImportFilesResult as BulkImportFilesResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_SearchItemsRequest as SearchItemsRequest,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_Search as Search,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_SearchPagingMethodOneOf as SearchPagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_SearchDetails as SearchDetails,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_Paging as Paging,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_SearchItemsResponse as SearchItemsResponse,\n      PagingMetadataV2$3 as PagingMetadataV2,\n      Cursors$3 as Cursors,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_QueryItemsRequest as QueryItemsRequest,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_QueryV2 as QueryV2,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_QueryItemsResponse as QueryItemsResponse,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UpdateItemRequest as UpdateItemRequest,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UpdateItemResponse as UpdateItemResponse,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_PublishStatusChanged as PublishStatusChanged,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkUpdateItemRequest as BulkUpdateItemRequest,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkUpdateItemResponse as BulkUpdateItemResponse,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkItemUpdateResult as BulkItemUpdateResult,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_GetItemRequest as GetItemRequest,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_GetItemResponse as GetItemResponse,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_LinkItemToCategoriesRequest as LinkItemToCategoriesRequest,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_LinkItemToCategoriesResponse as LinkItemToCategoriesResponse,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UnlinkItemFromCategoriesRequest as UnlinkItemFromCategoriesRequest,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UnlinkItemFromCategoriesResponse as UnlinkItemFromCategoriesResponse,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_OverwriteItemCategoriesRequest as OverwriteItemCategoriesRequest,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_OverwriteItemCategoriesResponse as OverwriteItemCategoriesResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_itemUploadCallback as itemUploadCallback,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemUploadCallbackOptions as ItemUploadCallbackOptions,\n      generateFileUploadUrl$1 as generateFileUploadUrl,\n      GenerateFileUploadUrlOptions$1 as GenerateFileUploadUrlOptions,\n      importFile$1 as importFile,\n      ImportFileOptions$1 as ImportFileOptions,\n      bulkImportFiles$1 as bulkImportFiles,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkImportFilesOptions as BulkImportFilesOptions,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_searchItems as searchItems,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_SearchItemsOptions as SearchItemsOptions,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_queryItems as queryItems,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemsQueryResult as ItemsQueryResult,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_ItemsQueryBuilder as ItemsQueryBuilder,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_updateItem as updateItem,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UpdateItem as UpdateItem,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UpdateItemOptions as UpdateItemOptions,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_bulkUpdateItem as bulkUpdateItem,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_BulkUpdateItemOptions as BulkUpdateItemOptions,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_getItem as getItem,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_linkItemToCategories as linkItemToCategories,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_LinkItemToCategoriesOptions as LinkItemToCategoriesOptions,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_unlinkItemFromCategories as unlinkItemFromCategories,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_UnlinkItemFromCategoriesOptions as UnlinkItemFromCategoriesOptions,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_overwriteItemCategories as overwriteItemCategories,\n      mediaEnterprisePublicMediaV1EnterpriseItem_universal_d_OverwriteItemCategoriesOptions as OverwriteItemCategoriesOptions,\n    };\n  }\n  \n  interface GeneratedImage {\n      /** a url pointing to the generated image */\n      url?: string;\n  }\n  interface GenerateImageRequest {\n      /** Text description of the generated image */\n      textPrompt?: string | null;\n      /**\n       * A string containing information about the style of the generated image\n       * Can be taken from the Configuration response\n       */\n      style?: string | null;\n      /** The image width */\n      width?: number | null;\n      /** The image height */\n      height?: number | null;\n      /**\n       * The client that is making this request, Used for quota enforcement\n       * Please contact the media team to add your own client here\n       */\n      requestSource?: RequestSource;\n      /** Text description of things to be excluded from the image */\n      negativePrompt?: string | null;\n      /**\n       * The product feature that the image is generated from\n       * @internal\n       */\n      productFeature?: ProductFeature;\n  }\n  enum RequestSource {\n      UNDEFINED = \"UNDEFINED\",\n      STORES = \"STORES\",\n      PHOTO_STUDIO = \"PHOTO_STUDIO\",\n      MEDIA_MANAGER = \"MEDIA_MANAGER\",\n      MOBILE_BRANDED_APPS = \"MOBILE_BRANDED_APPS\",\n      FUNNEL_RESTAURANTS_MENU = \"FUNNEL_RESTAURANTS_MENU\",\n      FUNNEL_STORES = \"FUNNEL_STORES\",\n      FUNNEL_BLOG = \"FUNNEL_BLOG\",\n      FUNNEL_BOOKINGS = \"FUNNEL_BOOKINGS\",\n      FUNNEL_EVENTS = \"FUNNEL_EVENTS\",\n      FUNNEL_ONLINE_PROGRAMS = \"FUNNEL_ONLINE_PROGRAMS\",\n      FUNNEL_PORTFOLIO = \"FUNNEL_PORTFOLIO\",\n      FUNNEL_PRICING_PLANS = \"FUNNEL_PRICING_PLANS\",\n      MEDIA_MANAGER_MOBILE = \"MEDIA_MANAGER_MOBILE\",\n      SITE_GENERATOR = \"SITE_GENERATOR\"\n  }\n  enum ProductFeature {\n      UNDEFINED_PRODUCT_FEATURE = \"UNDEFINED_PRODUCT_FEATURE\",\n      REGENERATION = \"REGENERATION\"\n  }\n  interface GenerateImageResponse {\n      /**\n       * A list of image objects containing urls for the generated images\n       * Using\n       */\n      variations?: GeneratedImage[];\n      /** The number of generated images for this site */\n      usedQuota?: number | null;\n      /** The number of generated images for this user - limited to 1000 */\n      userUsedQuota?: number | null;\n  }\n  interface ConfigurationRequest {\n  }\n  interface ConfigurationResponse {\n      /** A list of possible image styles that can be used when generating media */\n      generationStyles?: string[] | null;\n  }\n  interface SetUserQuotaRequest {\n      /** The user count of generated images */\n      quota?: number;\n      /** The user to change the quota for selected user  only */\n      userId?: string | null;\n  }\n  interface SetUserQuotaResponse {\n  }\n  interface ResetQuotaRequest {\n  }\n  interface ResetQuotaResponse {\n  }\n  /**\n   * Generate images according to the specified prompt\n   * Due to provider limitations, we may need to switch between providers.\n   * This means that the result size of the image (width and height) may not be the same as the requested size\n   * This method will always try to find the closest size that the AI provider allows\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId MEDIA.GENERATION_TEXT_TO_IMAGE\n   * @adminMethod\n   * @deprecated\n   * @targetRemovalDate 2024-11-01\n   */\n  function generateImage(options?: GenerateImageOptions): Promise<GenerateImageResponse>;\n  interface GenerateImageOptions {\n      /** Text description of the generated image */\n      textPrompt?: string | null;\n      /**\n       * A string containing information about the style of the generated image\n       * Can be taken from the Configuration response\n       */\n      style?: string | null;\n      /** The image width */\n      width?: number | null;\n      /** The image height */\n      height?: number | null;\n      /**\n       * The client that is making this request, Used for quota enforcement\n       * Please contact the media team to add your own client here\n       */\n      requestSource?: RequestSource;\n      /** Text description of things to be excluded from the image */\n      negativePrompt?: string | null;\n      /**\n       * The product feature that the image is generated from\n       * @internal\n       */\n      productFeature?: ProductFeature;\n  }\n  /**\n   * Return service level configurations to the client for dropdown fields content\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function configuration(): Promise<ConfigurationResponse>;\n  /**\n   * Return quota record for a site\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function setUserQuota(options?: SetUserQuotaOptions): Promise<void>;\n  interface SetUserQuotaOptions {\n      /** The user count of generated images */\n      quota?: number;\n      /** The user to change the quota for selected user  only */\n      userId?: string | null;\n  }\n  /**\n   * only allowed for specific users, resets the quota for all users\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function resetQuota(): Promise<void>;\n  \n  type mediaGenerationV1GeneratedImage_universal_d_GeneratedImage = GeneratedImage;\n  type mediaGenerationV1GeneratedImage_universal_d_GenerateImageRequest = GenerateImageRequest;\n  type mediaGenerationV1GeneratedImage_universal_d_RequestSource = RequestSource;\n  const mediaGenerationV1GeneratedImage_universal_d_RequestSource: typeof RequestSource;\n  type mediaGenerationV1GeneratedImage_universal_d_ProductFeature = ProductFeature;\n  const mediaGenerationV1GeneratedImage_universal_d_ProductFeature: typeof ProductFeature;\n  type mediaGenerationV1GeneratedImage_universal_d_GenerateImageResponse = GenerateImageResponse;\n  type mediaGenerationV1GeneratedImage_universal_d_ConfigurationRequest = ConfigurationRequest;\n  type mediaGenerationV1GeneratedImage_universal_d_ConfigurationResponse = ConfigurationResponse;\n  type mediaGenerationV1GeneratedImage_universal_d_SetUserQuotaRequest = SetUserQuotaRequest;\n  type mediaGenerationV1GeneratedImage_universal_d_SetUserQuotaResponse = SetUserQuotaResponse;\n  type mediaGenerationV1GeneratedImage_universal_d_ResetQuotaRequest = ResetQuotaRequest;\n  type mediaGenerationV1GeneratedImage_universal_d_ResetQuotaResponse = ResetQuotaResponse;\n  const mediaGenerationV1GeneratedImage_universal_d_generateImage: typeof generateImage;\n  type mediaGenerationV1GeneratedImage_universal_d_GenerateImageOptions = GenerateImageOptions;\n  const mediaGenerationV1GeneratedImage_universal_d_configuration: typeof configuration;\n  const mediaGenerationV1GeneratedImage_universal_d_setUserQuota: typeof setUserQuota;\n  type mediaGenerationV1GeneratedImage_universal_d_SetUserQuotaOptions = SetUserQuotaOptions;\n  const mediaGenerationV1GeneratedImage_universal_d_resetQuota: typeof resetQuota;\n  namespace mediaGenerationV1GeneratedImage_universal_d {\n    export {\n      mediaGenerationV1GeneratedImage_universal_d_GeneratedImage as GeneratedImage,\n      mediaGenerationV1GeneratedImage_universal_d_GenerateImageRequest as GenerateImageRequest,\n      mediaGenerationV1GeneratedImage_universal_d_RequestSource as RequestSource,\n      mediaGenerationV1GeneratedImage_universal_d_ProductFeature as ProductFeature,\n      mediaGenerationV1GeneratedImage_universal_d_GenerateImageResponse as GenerateImageResponse,\n      mediaGenerationV1GeneratedImage_universal_d_ConfigurationRequest as ConfigurationRequest,\n      mediaGenerationV1GeneratedImage_universal_d_ConfigurationResponse as ConfigurationResponse,\n      mediaGenerationV1GeneratedImage_universal_d_SetUserQuotaRequest as SetUserQuotaRequest,\n      mediaGenerationV1GeneratedImage_universal_d_SetUserQuotaResponse as SetUserQuotaResponse,\n      mediaGenerationV1GeneratedImage_universal_d_ResetQuotaRequest as ResetQuotaRequest,\n      mediaGenerationV1GeneratedImage_universal_d_ResetQuotaResponse as ResetQuotaResponse,\n      mediaGenerationV1GeneratedImage_universal_d_generateImage as generateImage,\n      mediaGenerationV1GeneratedImage_universal_d_GenerateImageOptions as GenerateImageOptions,\n      mediaGenerationV1GeneratedImage_universal_d_configuration as configuration,\n      mediaGenerationV1GeneratedImage_universal_d_setUserQuota as setUserQuota,\n      mediaGenerationV1GeneratedImage_universal_d_SetUserQuotaOptions as SetUserQuotaOptions,\n      mediaGenerationV1GeneratedImage_universal_d_resetQuota as resetQuota,\n    };\n  }\n  \n  interface FileDescriptor$1 {\n      /**\n       * File ID. Generated when a file is uploaded to the Media Manager.\n       * @readonly\n       */\n      _id?: string;\n      /** File name as it appears in the Media Manager. */\n      displayName?: string;\n      /**\n       * Static URL of the file.\n       * @readonly\n       */\n      url?: string;\n      /** ID of the file's parent folder. */\n      parentFolderId?: string | null;\n      /**\n       * File hash.\n       * @readonly\n       */\n      hash?: string;\n      /**\n       * Size of the uploaded file in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Whether the file is public or private. Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)).\n       * @readonly\n       */\n      private?: boolean;\n      /**\n       * Media file type.\n       * @readonly\n       */\n      mediaType?: MediaType$1;\n      /**\n       * Media file content.\n       * @readonly\n       */\n      media?: FileMedia$1;\n      /**\n       * Status of the file that was uploaded.\n       * * `FAILED`: The file failed to upload, for example, during media post processing.\n       * * `READY`: The file uploaded, finished all processing, and is ready for use.\n       * * `PENDING`: The file is processing and the URLs are not yet available. This response is returned when importing a file.\n       * @readonly\n       */\n      operationStatus?: OperationStatus$1;\n      /**\n       * URL where the file was uploaded from.\n       * @readonly\n       */\n      sourceUrl?: string | null;\n      /**\n       * URL of the file's thumbnail.\n       * @readonly\n       */\n      thumbnailUrl?: string | null;\n      /** Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n      labels?: string[];\n      /**\n       * Date and time the file was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the file was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * The Wix site ID where the media file is stored.\n       * @readonly\n       */\n      siteId?: string;\n      /**\n       * State of the file.\n       * @readonly\n       */\n      state?: State$2;\n      /**\n       * Internal tags describing the item, can be used in specific client use cases\n       * @internal\n       */\n      internalTags?: string[];\n      /**\n       * The namespace containing the file\n       * @internal\n       */\n      namespace?: Namespace$2;\n      /**\n       * Information about the identity that added this file\n       * @internal\n       */\n      addedBy?: IdentityInfo$1;\n      /**\n       * The raw namespace containing the file\n       * @internal\n       * @readonly\n       */\n      rawNamespace?: string | null;\n      /**\n       * The date this file was last viewed from the last day, can be used to know if this file is still in use\n       * @internal\n       * @readonly\n       */\n      lastUsedDate?: Date | null;\n      /**\n       * The date this file was last viewed from the last day, can be used to know if this file is still in use\n       * @internal\n       * @readonly\n       */\n      mimeType?: string | null;\n  }\n  enum MediaType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      AUDIO = \"AUDIO\",\n      DOCUMENT = \"DOCUMENT\",\n      VECTOR = \"VECTOR\",\n      ARCHIVE = \"ARCHIVE\",\n      MODEL3D = \"MODEL3D\",\n      OTHER = \"OTHER\",\n      ICON = \"ICON\",\n      FLASH = \"FLASH\",\n      FONT = \"FONT\"\n  }\n  interface FileMedia$1 extends FileMediaMediaOneOf$1 {\n      /** Information about the image. */\n      image?: ImageMedia$1;\n      /** Information about the video. */\n      video?: string;\n      /** Information about the audio. */\n      audio?: AudioV2$1;\n      /** Information about the document. */\n      document?: string;\n      /** Information about the vector. */\n      vector?: ImageMedia$1;\n      /** Information about the archive. */\n      archive?: Archive$1;\n      /** Information about the 3D Model. */\n      model3d?: Model3D$1;\n      /**\n       * Information about other file types\n       * @internal\n       */\n      other?: OtherMedia$1;\n      /**\n       * Information about the icon.\n       * @internal\n       */\n      icon?: ImageMedia$1;\n      /**\n       * Information about flash\n       * @internal\n       */\n      flash?: OtherMedia$1;\n      /**\n       * Information about the font\n       * @internal\n       */\n      font?: FontMedia$1;\n  }\n  /** @oneof */\n  interface FileMediaMediaOneOf$1 {\n      /** Information about the image. */\n      image?: ImageMedia$1;\n      /** Information about the video. */\n      video?: string;\n      /** Information about the audio. */\n      audio?: AudioV2$1;\n      /** Information about the document. */\n      document?: string;\n      /** Information about the vector. */\n      vector?: ImageMedia$1;\n      /** Information about the archive. */\n      archive?: Archive$1;\n      /** Information about the 3D Model. */\n      model3d?: Model3D$1;\n      /**\n       * Information about other file types\n       * @internal\n       */\n      other?: OtherMedia$1;\n      /**\n       * Information about the icon.\n       * @internal\n       */\n      icon?: ImageMedia$1;\n      /**\n       * Information about flash\n       * @internal\n       */\n      flash?: OtherMedia$1;\n      /**\n       * Information about the font\n       * @internal\n       */\n      font?: FontMedia$1;\n  }\n  interface ImageMedia$1 {\n      /** Image data. */\n      image?: string;\n      /** Image colors. */\n      colors?: Colors$1;\n      /** Information about faces in the image. Use to crop images without cutting out faces. */\n      faces?: FaceRecognition$1[];\n      /**\n       * Information about the image preview.\n       * You can use this to display a preview for private images.\n       */\n      previewImage?: string;\n      /**\n       * Optional, An AI generated description of the image\n       * @readonly\n       */\n      caption?: string | null;\n      /**\n       * Optional, return true or false if the image has text, or empty for unknown\n       * @internal\n       * @readonly\n       */\n      containsText?: boolean | null;\n      /**\n       * Optional, return true or false if the image has text, or empty for unknown\n       * @internal\n       * @readonly\n       */\n      animated?: boolean | null;\n  }\n  interface FocalPoint$1 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface Colors$1 {\n      /** Main color of the image. */\n      prominent?: Color$1;\n      /** Color palette of the image. */\n      palette?: Color$1[];\n  }\n  interface Color$1 {\n      /** HEX color. */\n      hex?: string | null;\n      /** RGB color. */\n      rgb?: ColorRGB$1;\n  }\n  interface ColorRGB$1 {\n      /** Red channel. */\n      r?: number | null;\n      /** Green channel. */\n      g?: number | null;\n      /** Blue channel. */\n      b?: number | null;\n  }\n  /**\n   * Using this object you can crop images while centering on faces\n   * ------------------------\n   * |                      |\n   * |    x,y               |\n   * |    *--------         |\n   * |    |  .  . |         |\n   * |    |   |   | height  |\n   * |    |  \\ /  |         |\n   * |    |       |         |\n   * |    ---------         |\n   * |     width            |\n   * |                      |\n   * |______________________|\n   */\n  interface FaceRecognition$1 {\n      /** The accuracy percentage of the face recognition. The likelihood that a face is detected. */\n      confidence?: number;\n      /** Top left x pixel coordinate of the face. */\n      x?: number;\n      /** Top left y pixel coordinate of the face. */\n      y?: number;\n      /** Face pixel height. */\n      height?: number;\n      /** Face pixel width. */\n      width?: number;\n  }\n  interface VideoResolution$1 {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /**\n       * Video format\n       * Possible values: ['144p.mp4' '144p.webm' '240p.mp4' '240p.webm' '360p.mp4' '360p.webm' '480p.mp4' '480p.webm'\n       * '720p.mp4' '720p.webm' '1080p.mp4' '1080p.webm', 'hls' ]\n       */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface AudioV2$1 {\n      /** WixMedia ID. */\n      _id?: string;\n      /** Audio formats available for this file. */\n      assets?: string[];\n      /**\n       * Audio bitrate.\n       * @readonly\n       */\n      bitrate?: number | null;\n      /**\n       * Audio format.\n       * @readonly\n       */\n      format?: string | null;\n      /**\n       * Audio duration in seconds.\n       * @readonly\n       */\n      duration?: number | null;\n      /**\n       * Audio size in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n  }\n  interface Archive$1 {\n      /** WixMedia ID. */\n      _id?: string;\n      /** Archive URL. */\n      url?: string;\n      /**\n       * Archive URL expiration date (when relevant).\n       * @readonly\n       */\n      urlExpirationDate?: Date | null;\n      /** Archive size in bytes. */\n      sizeInBytes?: string | null;\n      /** Archive filename. */\n      filename?: string | null;\n  }\n  interface Model3D$1 {\n      /** WixMedia 3D ID. */\n      _id?: string;\n      /** 3D URL. */\n      url?: string;\n      /** 3D thumbnail Image */\n      thumbnail?: string;\n      /** 3D alt text. */\n      altText?: string | null;\n      /**\n       * 3D URL expiration date (when relevant).\n       * @readonly\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * 3D filename.\n       * @readonly\n       */\n      filename?: string | null;\n      /**\n       * 3D size in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n  }\n  interface OtherMedia$1 {\n      /** WixMedia ID. for use with Site Media APIs only */\n      _id?: string;\n      /**\n       * The media type of the file: 'package', 'raw'\n       * @readonly\n       */\n      internalMediaType?: string | null;\n      /**\n       * size in bytes. Optional.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /** The file URL. */\n      url?: string;\n  }\n  interface FontMedia$1 {\n      /** WixMedia ID. for use with Site Media APIs only */\n      _id?: string | null;\n      /**\n       * size in bytes. Optional.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /** The format of the font asset. ttf, woff, woff2 */\n      format?: string | null;\n      /** The font family name. */\n      family?: string | null;\n      /** The font name */\n      fontName?: string | null;\n      /** Font formats available for this file. */\n      assets?: FontAsset$1[];\n  }\n  interface FontAsset$1 {\n      /**\n       * Keys for downloading different assets of a file.\n       * Default: `src`, key representing the original file's format and quality.\n       */\n      assetKey?: string | null;\n      /** The URL of the font asset. */\n      url?: string | null;\n      /** The format of the font asset. ttf, woff, woff2 */\n      format?: string | null;\n  }\n  enum OperationStatus$1 {\n      /** File upload or processing failed */\n      FAILED = \"FAILED\",\n      /** File is ready for consumption */\n      READY = \"READY\",\n      /** File is waiting for processing or currently being processed */\n      PENDING = \"PENDING\"\n  }\n  enum State$2 {\n      /** File is ready for consumption */\n      OK = \"OK\",\n      /** Deleted file */\n      DELETED = \"DELETED\"\n  }\n  enum Namespace$2 {\n      NO_NAMESPACE = \"NO_NAMESPACE\",\n      OTHERS = \"OTHERS\",\n      /** ANY = 2; */\n      WIX_VIDEO = \"WIX_VIDEO\",\n      /** _nsWixMusic */\n      WIX_MUSIC = \"WIX_MUSIC\",\n      /** _nsArtStore */\n      ALBUMS_AND_ART_STORE = \"ALBUMS_AND_ART_STORE\",\n      /** _nsDigitalProduct */\n      WIX_ECOM = \"WIX_ECOM\",\n      /** _nsPhotoShareApp */\n      PHOTO_SHARE_APP = \"PHOTO_SHARE_APP\",\n      /** _nsSharingApp, */\n      SHARING_APP = \"SHARING_APP\",\n      /** engage */\n      CHAT = \"CHAT\",\n      /** logobuilder */\n      LOGO_BUILDER = \"LOGO_BUILDER\",\n      /** WixExposure */\n      ALBUMS_OLD = \"ALBUMS_OLD\",\n      /** chat-mobile-uploads */\n      CHAT_MOBILE = \"CHAT_MOBILE\",\n      /** _nsWixForms */\n      WIX_FORMS = \"WIX_FORMS\",\n      /** _nsDraft */\n      DRAFTS = \"DRAFTS\"\n  }\n  interface IdentityInfo$1 {\n      /** The type of the user that uploaded the file */\n      identityType?: IdentityType$1;\n      /** User Id. empty when UNKNOWN */\n      identityId?: string | null;\n  }\n  enum IdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface FileReady {\n      /** File entity that is ready with full information. */\n      file?: FileDescriptor$1;\n      /** External information specified in the file import or upload. */\n      externalInfo?: ExternalInfo;\n      /** File was restored from the trash-bin. */\n      triggeredByUndelete?: boolean;\n  }\n  interface ExternalInfo {\n      /** External information to specify in the File Ready or File Failed events. */\n      origin?: string;\n      /** External IDs to specify in the File Ready or File Failed events. */\n      externalIds?: string[];\n  }\n  interface FileFailed {\n      /** External information specified in the file import or upload. */\n      externalInfo?: ExternalInfo;\n      /** Error information. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface DraftFilePublished {\n      /** The file after it was published */\n      file?: FileDescriptor$1;\n      /** The namespace the file was published to */\n      namespace?: Namespace$2;\n  }\n  interface BulkAnnotateImagesRequest {\n      /** The file ids to run detection on */\n      fileIds: string[];\n      /** A list of detections types to fill for the image */\n      annotationTypes: ImageAnnotationType[];\n      /** When true the endpoint will detect listed information even if the image has this information */\n      overwrite?: boolean | null;\n      /** Should the response return the item following the operation */\n      returnEntity?: boolean;\n  }\n  enum ImageAnnotationType {\n      UNKNOWN_IMAGE_ANNOTATION_TYPE = \"UNKNOWN_IMAGE_ANNOTATION_TYPE\",\n      CONTAINS_TEXT = \"CONTAINS_TEXT\",\n      IS_ANIMATED = \"IS_ANIMATED\",\n      FACES = \"FACES\",\n      LABELS = \"LABELS\",\n      COLORS = \"COLORS\",\n      CAPTION = \"CAPTION\"\n  }\n  interface BulkAnnotateImagesResponse {\n      /** Results of individual items */\n      results?: BulkAnnotateImageResult[];\n      /** Metadata of the operation */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkAnnotateImageResult {\n      /** Item metadata */\n      itemMetadata?: ItemMetadata;\n      /**\n       * The item following the operation\n       * Only returned if operation was successful and if returnEntity flag was on\n       */\n      item?: FileDescriptor$1;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GenerateFilesDownloadUrlRequest {\n      /**\n       * IDs of the files to download.\n       *\n       * You can also specify the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n       * Learn more about the file ID parameter ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/file-and-folder-ids#file-id-as-a-parameter) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/file-id#file-id-as-a-parameter)).\n       */\n      fileIds: string[];\n  }\n  interface GenerateFilesDownloadUrlResponse {\n      /** URL for downloading the compressed file containing the specified files in the Media Manager. */\n      downloadUrl?: string;\n  }\n  interface GenerateFileDownloadUrlRequest {\n      /**\n       * File ID.\n       *\n       * You can also specify the file's Wix media URL. For example, `wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032`.\n       * Learn more about the file ID parameter ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/file-and-folder-ids#file-id-as-a-parameter) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/file-id#file-id-as-a-parameter)).\n       */\n      fileId: string;\n      /**\n       * Temporary file name used to identify the file type. For example, a file named \"myFile.jpeg\" identifies as an \"image/jpeg\" file type. <br />\n       *\n       * **Note:** The name that appears in the Media Manager is taken from the `filename` parameter in the Generate File Upload Url call.\n       */\n      downloadFileName?: string | null;\n      /**\n       * The time that it takes in minutes for the download URL to expire. <br />\n       * Default: `600`. <br />\n       * Limit: `525600` (1 year).\n       */\n      expirationInMinutes?: number | null;\n      /**\n       * The redirect URL for when the temporary download URL with a token expires. <br />\n       * Default: A 403 Forbidden response page.\n       */\n      expirationRedirectUrl?: string | null;\n      /**\n       * Keys for downloading different assets (format and quality) of a file.\n       * Default: `src`, key representing the original file's format and quality.\n       */\n      assetKeys?: string[] | null;\n      /**\n       * Whether the link downloads the file or opens the file in the browser.\n       *\n       * - `ATTACHMENT`: The link downloads the file.\n       * - `INLINE`: The link opens the file in the browser.\n       *\n       * Default: `ATTACHMENT`\n       */\n      contentDisposition?: ContentDisposition;\n  }\n  enum ContentDisposition {\n      /** Using the link in the browser will download the file */\n      ATTACHMENT = \"ATTACHMENT\",\n      /** Using the link in the browser will open the file in the browser */\n      INLINE = \"INLINE\"\n  }\n  interface GenerateFileDownloadUrlResponse {\n      /** URL for downloading a specific file in the Media Manager. */\n      downloadUrls?: DownloadUrl[];\n  }\n  interface DownloadUrl {\n      /** The file download URL. */\n      url?: string;\n      /**\n       * Key for downloading a different asset (format and quality) of a file.\n       * Default: `src`, key representing the original file's format and quality.\n       */\n      assetKey?: string;\n  }\n  interface ServiceError {\n      /**\n       * Error codes are groups of related errors\n       * The error code can be used to provide additional details to wix support while debugging service errors\n       */\n      internalCode?: string | null;\n      /** Debugging information, http status code returned from wix media internal API */\n      internalHttpStatusCode?: number | null;\n      /** Optional Debugging information, error key will represent the error \"family\" returned from wix media internal API */\n      internalKey?: string | null;\n  }\n  interface GetFileDescriptorRequest {\n      /**\n       * File ID.\n       *\n       * You can also specify the file's Wix media URL. For example, `wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032`.\n       * Learn more about the file ID parameter ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/file-and-folder-ids#file-id-as-a-parameter) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/file-id#file-id-as-a-parameter)).\n       *\n       * If you are working in REST, note that you must encode the Wix media URL to specify it as a query param because it contains special characters. For example, `wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032` becomes `wix%3Aimage%3A%2F%2Fv1%2F0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg%2Fleon.jpg%23originWidth%3D3024%26originHeight%3D4032`.\n       */\n      fileId: string;\n  }\n  interface GetFileDescriptorResponse {\n      /** Information about the file. */\n      file?: FileDescriptor$1;\n  }\n  interface GetFileDescriptorsRequest {\n      /**\n       * File IDs.\n       *\n       * You can also specify the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n       * Learn more about the file ID parameter ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/file-and-folder-ids#file-id-as-a-parameter) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/file-id#file-id-as-a-parameter)).\n       */\n      fileIds: string[];\n  }\n  interface GetFileDescriptorsResponse {\n      /** Information about the requested files. */\n      files?: FileDescriptor$1[];\n  }\n  interface UpdateFileDescriptorRequest {\n      /** The file to update. */\n      file: FileDescriptor$1;\n      /**\n       * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateFileDescriptorResponse {\n      /** Information about the updated file. */\n      file?: FileDescriptor$1;\n  }\n  interface UnsupportedRequestValueError$2 {\n      /** Optional A list of allowed values */\n      allowedValues?: string[];\n      /** The unsupported value send in the request */\n      requestValue?: string;\n  }\n  interface GenerateFileUploadUrlRequest {\n      /** File mime type. */\n      mimeType: string | null;\n      /**\n       * Temporary file name used to identify the file type. For example, a file named \"myFile.jpeg\" identifies as an \"image/jpeg\" file type.\n       * <br /> **Note:** The name that appears in the Media Manager is taken from the `filename` parameter in the Generate File Upload Url call.\n       */\n      fileName?: string | null;\n      /**\n       * File size in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /**\n       * ID of the file's parent folder. <br />\n       * This folder is the path root for the `filePath`.<br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /** Whether the file will be public or private. Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /** Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n      labels?: string[] | null;\n      /** A place to map an external entity to an uploaded file in the Wix Media Manager. */\n      externalInfo?: ExternalInfo;\n      /**\n       * The uploaded file will be created under this namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * The uploaded file will be created under this namespace\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n      /**\n       * Path to the folder where the file will be stored.\n       * For example, `/videos/2024/december`. <br/>\n       * If `parentFolderId` is defined, the parent folder is used as the path root. Otherwise, the root is `media-root`.\n       * The folders in the path will be created if they don't already exist.  <br />\n       */\n      filePath?: string | null;\n      /**\n       * Internal tags describing the item, can be used in specific clients use cases\n       * @internal\n       */\n      internalTags?: string[];\n      /**\n       * The time in hours for a draft file to expire and be deleted\n       * Allowed only on DRAFT namespace\n       * parent folder id and file path are not allowed when using draft_ttl_in_hours\n       * @internal\n       */\n      draftTtlInHours?: number | null;\n      /**\n       * Configure what annotations will be done for an image file\n       * @internal\n       */\n      imageAnnotationConfigurations?: ImageAnnotationConfigurations;\n  }\n  interface ImageAnnotationConfigurations {\n      /** Whether to skip detection for the image */\n      skipDetection?: boolean | null;\n      /**\n       * A list of detections types to fill for the image\n       * If specified at least one valid annotation type should be provided\n       * Default will be all detections\n       */\n      annotationTypes?: ImageAnnotationType[];\n  }\n  interface GenerateFileUploadUrlResponse {\n      /** The URL for uploading a file to the Media Manager. */\n      uploadUrl?: string;\n  }\n  interface SiteQuotaExceededError {\n      /**\n       * Error codes are groups of related errors\n       * The error code can be used to provide additional details to wix support while debugging service errors\n       */\n      internalCode?: string | null;\n      /** Debugging information, http status code returned from wix media internal API */\n      internalHttpStatusCode?: number | null;\n      /** Optional Debugging information, error key will represent the error \"family\" returned from wix media internal API */\n      internalKey?: string | null;\n      /** The quota details */\n      quota?: TotalQuota$1;\n  }\n  interface TotalQuota$1 {\n      /** Storage quota in bytes */\n      storage?: string | null;\n      /** Plans that are related to the quota */\n      plans?: Plans$1;\n      /** Time for which the quota is relevant - When the plans were retrieved from premium */\n      timestamp?: Date | null;\n  }\n  interface Plans$1 {\n      /** Premium Plan */\n      premium?: Plan$1;\n      /** Upgrade URL - the URL which a site owner can use to upgrade their quota. May be empty if an upgrade is not available. */\n      upgradeUrl?: string;\n  }\n  interface Plan$1 {\n      /**\n       * Plan ID - Premium product ID\n       * @readonly\n       */\n      _id?: string;\n      /** Plan name */\n      name?: string;\n      /** When the plan was created */\n      createdAt?: Date | null;\n      /** When then plan expires */\n      expiresAt?: Date | null;\n  }\n  interface GenerateFileResumableUploadUrlRequest {\n      /** File mime type. */\n      mimeType: string | null;\n      /**\n       * Temporary file name used to identify the file type. For example, a file named \"myFile.jpeg\" identifies as an \"image/jpeg\" file type.\n       * <br /> **Note:** The name that appears in the Media Manager is taken from the `filename` parameter in the Generate File Upload Url call.\n       */\n      fileName?: string | null;\n      /**\n       * File size in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /**\n       * ID of the file's parent folder. <br />\n       * This folder is the path root for the `filePath`.<br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /** Whether the file will be public or private. Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /** Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n      labels?: string[] | null;\n      /** The upload protocol to use for implementing the resumable upload. */\n      uploadProtocol?: UploadProtocol;\n      /**\n       * The uploaded file will be created under this namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * The uploaded file will be created under this namespace\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n      /**\n       * Path to the folder where the file will be stored.\n       * For example, `/videos/2024/december`. <br/>\n       * If `parentFolderId` is defined, the parent folder is used as the path root. Otherwise, the root is `media-root`.\n       * The folders in the path will be created if they don't already exist.  <br />\n       */\n      filePath?: string | null;\n      /**\n       * Internal tags describing the item, can be used in specific clients use cases\n       * @internal\n       */\n      internalTags?: string[];\n      /**\n       * The time in hours for a draft file to expire and be deleted\n       * Allowed only on DRAFT namespace\n       * @internal\n       */\n      draftTtlInHours?: number | null;\n      /**\n       * Configure what annotations will be done for an image file\n       * @internal\n       */\n      imageAnnotationConfigurations?: ImageAnnotationConfigurations;\n  }\n  enum UploadProtocol {\n      /** The upload protocol to use for implementing the resumable upload. */\n      TUS = \"TUS\"\n  }\n  interface GenerateFileResumableUploadUrlResponse {\n      /** The upload protocol to use for implementing the resumable upload. */\n      uploadProtocol?: UploadProtocol;\n      /** The URL for uploading a file to the Media Manager. */\n      uploadUrl?: string;\n      /** Single-use upload token. */\n      uploadToken?: string;\n  }\n  interface ImportFileRequest {\n      /** Publicly accessible external file URL. */\n      url: string;\n      /**\n       * Media type of the file to import.\n       * excluding: OTHER media type\n       */\n      mediaType?: MediaType$1;\n      /** File name that appears in the Media Manager. */\n      displayName?: string | null;\n      /**\n       * ID of the file's parent folder. <br />\n       * This folder is the path root for the `filePath`. <br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /** Whether the file will be public or private. Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /** Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n      labels?: string[] | null;\n      /** File mime type. */\n      mimeType?: string;\n      /** Information sent to the File Ready and File Failed events. See Importing Files ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_using-externalinfo) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#using-externalinfo)) to learn more. */\n      externalInfo?: ExternalInfo;\n      /** Optional parameters that should be sent with the external URL. */\n      urlParams?: Record<string, any> | null;\n      /** Optional headers that should be sent with the external URL. */\n      urlHeaders?: Record<string, any> | null;\n      /**\n       * The imported file will be created under this namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * The imported file will be created under this namespace\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n      /**\n       * Path to the folder where the file will be stored.\n       * For example, `/videos/2024/december`. <br/>\n       * If `parentFolderId` is defined, the parent folder is used as the path root. Otherwise, the root is `media-root`.\n       * The folders in the path will be created if they don't already exist.  <br />\n       */\n      filePath?: string | null;\n      /**\n       * Internal tags describing the item, can be used in specific clients use cases\n       * @internal\n       */\n      internalTags?: string[];\n      /**\n       * The time in hours for a draft file to expire and be deleted\n       * Allowed only on DRAFT namespace\n       * @internal\n       */\n      draftTtlInHours?: number | null;\n      /**\n       * Configure what annotations will be done for an image file\n       * @internal\n       */\n      imageAnnotationConfigurations?: ImageAnnotationConfigurations;\n  }\n  interface ImportFileResponse {\n      /** Information about the imported file. */\n      file?: FileDescriptor$1;\n  }\n  interface BulkImportFilesRequest {\n      /** Information about the files to import. */\n      importFileRequests: ImportFileRequest[];\n  }\n  interface BulkImportFilesResponse {\n      /** Information about the imported files. */\n      files?: FileDescriptor$1[];\n  }\n  interface BulkImportFileRequest {\n      /** Information about the files to import. */\n      importFileRequests: ImportFileRequest[];\n      /** Default: `true` */\n      returnEntity?: boolean | null;\n  }\n  interface BulkImportFileResponse {\n      /** Items created by bulk action. */\n      results?: BulkImportFileResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkImportFileResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Imported file. This field is included in the response if the operation was successful and `returnEntity` is not set to `false`. */\n      item?: FileDescriptor$1;\n  }\n  interface ListFilesRequest {\n      /**\n       * ID of the file's parent folder. <br />\n       * Default:`media-root`.\n       */\n      parentFolderId?: string | null;\n      /** File media type. */\n      mediaTypes?: MediaType$1[];\n      /** \\n`true`: Returns only private files. \\n`false`: Returns only public files. \\n`undefined`: Returns public and private files. \\n Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /**\n       * Field name and order to sort by. One of: <br />\n       * * `displayName`\n       * * `updatedDate`\n       * * `sizeInBytes`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$2;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$2;\n      /**\n       * List files of the specified namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * List files of the specified namespace\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListFilesResponse {\n      /** List of files in the Media Manager. */\n      files?: FileDescriptor$1[];\n      /** The next cursor if it exists. */\n      nextCursor?: PagingMetadataV2$2;\n  }\n  interface PagingMetadataV2$2 {\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n  }\n  interface SearchFilesRequest {\n      /**\n       * Term to search for. Possible terms include the value of a file's\n       * `displayName`, `mimeType`, and `label`. <br />\n       * For example, if a file's label is cat, the search term is 'cat'.\n       */\n      search?: string | null;\n      /**\n       * A root folder in the media manager to search in. <br />\n       * Default: `MEDIA_ROOT`.\n       */\n      rootFolder?: RootFolder$2;\n      /** File media type. */\n      mediaTypes?: MediaType$1[];\n      /** \\n`true`: Returns only private files. \\n`false`: Returns only public files. \\n`undefined`: Returns public and private files. \\n Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /**\n       * Field name and order to sort by. One of: <br />\n       * * `displayName`\n       * * `updatedDate`\n       * * `sizeInBytes`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$2;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$2;\n      /**\n       * search by an internal tag that describe the item - for internal wix use only\n       * @internal\n       */\n      internalTag?: string | null;\n      /**\n       * Search files of the specified namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * Search files of the specified namespace <br/>\n       * Note - Namespace value `Others` is not supported in this request and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n  }\n  enum RootFolder$2 {\n      /** Root of all site media */\n      MEDIA_ROOT = \"MEDIA_ROOT\",\n      /** Root of the trash system folder */\n      TRASH_ROOT = \"TRASH_ROOT\",\n      /** Root of all visitor uploads */\n      VISITOR_UPLOADS_ROOT = \"VISITOR_UPLOADS_ROOT\"\n  }\n  interface SearchFilesResponse {\n      /** Files matching the query. */\n      files?: FileDescriptor$1[];\n      /** The next cursor if it exists. */\n      nextCursor?: PagingMetadataV2$2;\n  }\n  interface GenerateVideoStreamingUrlRequest {\n      /**\n       * File ID.\n       *\n       * You can also specify the file's Wix media URL. For example, `wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032`.\n       * Learn more about the file ID parameter ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/file-and-folder-ids#file-id-as-a-parameter) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/file-id#file-id-as-a-parameter)).\n       */\n      fileId: string;\n      /** Video stream format. */\n      format?: StreamFormat;\n  }\n  enum StreamFormat {\n      UNKNOWN = \"UNKNOWN\",\n      HLS = \"HLS\",\n      DASH = \"DASH\"\n  }\n  interface GenerateVideoStreamingUrlResponse {\n      /** URL for streaming a specific file in the Media Manager. */\n      downloadUrl?: DownloadUrl;\n  }\n  interface GenerateWebSocketTokenRequest {\n  }\n  interface GenerateWebSocketTokenResponse {\n      /** The web socket token for the identity in the request */\n      token?: string;\n  }\n  interface BulkDeleteFilesRequest {\n      /**\n       * IDs of the files to move to the Media Manager's trash bin.\n       *\n       * You can also specify the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n       * Learn more about the file ID parameter ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/file-and-folder-ids#file-id-as-a-parameter) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/file-id#file-id-as-a-parameter)).\n       */\n      fileIds: string[];\n      /**\n       * Whether the specified files are permanently deleted. <br />\n       * Default: `false`\n       */\n      permanent?: boolean;\n  }\n  interface BulkDeleteFilesResponse {\n  }\n  interface BulkRestoreFilesFromTrashBinRequest {\n      /**\n       * IDs of the files to restore from the Media Manager's trash bin.\n       *\n       * You can also specify the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n       * Learn more about the file ID parameter ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/file-and-folder-ids#file-id-as-a-parameter) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/file-id#file-id-as-a-parameter)).\n       */\n      fileIds: string[];\n  }\n  interface BulkRestoreFilesFromTrashBinResponse {\n  }\n  interface ListDeletedFilesRequest {\n      /**\n       * ID of the file's parent folder. <br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /** File media type. */\n      mediaTypes?: MediaType$1[];\n      /** \\n`true`: Returns only private files. \\n`false`: Returns only public files. \\n`undefined`: Returns public and private files. \\n Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /**\n       * Field name and order to sort by. One of: <br />\n       * * `displayName`\n       * * `updatedDate`\n       * * `sizeInBytes`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$2;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$2;\n      /**\n       * List files of the specified namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * List files of the specified namespace\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n  }\n  interface ListDeletedFilesResponse {\n      /** List of files in the Media Manager's trash bin. */\n      files?: FileDescriptor$1[];\n      /** The next cursor if it exists. */\n      nextCursor?: PagingMetadataV2$2;\n  }\n  interface BulkPublishDraftFilesRequest {\n      /**\n       * IDs of the draft files to be published.\n       *\n       * You can also specify the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n       * Learn more about the file ID parameter ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/file-and-folder-ids#file-id-as-a-parameter) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/file-id#file-id-as-a-parameter)).\n       */\n      fileIds: string[];\n      /**\n       * The namespace the files will be published to\n       * Note, private files must have a namespace\n       */\n      namespace?: Namespace$2;\n      /**\n       * ID of the file's parent folder. <br />\n       * This folder is the path root for the `filePath`. <br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /**\n       * Path to the folder where the file will be stored.\n       * For example, `/videos/2024/december`. <br/>\n       * If `parentFolderId` is defined, the parent folder is used as the path root. Otherwise, the root is `media-root`.\n       * The folders in the path will be created if they don't already exist.  <br />\n       */\n      filePath?: string | null;\n      /** Should the response return the item following the operation */\n      returnEntity?: boolean;\n  }\n  interface BulkPublishDraftFilesResponse {\n      /** Results of individual items */\n      results?: BulkPublishDraftFileResult[];\n      /** Metadata of the operation */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkPublishDraftFileResult {\n      /** Item metadata */\n      itemMetadata?: ItemMetadata;\n      /**\n       * The item following the operation\n       * Only returned if operation was successful and if returnEntity flag was on\n       */\n      item?: FileDescriptor$1;\n  }\n  interface UpdateFileRequest {\n      /**\n       * ID of the file to update.\n       *\n       * You can also specify the file's Wix media URL. For example, `wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032`.\n       * Learn more about the file ID parameter ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/file-and-folder-ids#file-id-as-a-parameter) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/file-id#file-id-as-a-parameter)).\n       */\n      fileId: string;\n      /** File name that appears in the Media Manager. */\n      displayName?: string | null;\n      /**\n       * ID of the file's parent folder. <br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /** Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n      labels?: string[] | null;\n  }\n  interface UpdateFileResponse {\n      /** Information about the updated file. */\n      file?: FileDescriptor$1;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Run Image Annotation process on provided list of file ids\n   * Note - the processes of this endpoint are synchronous and may take time to complete\n   * @param fileIds - The file ids to run detection on\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fileIds\n   * @requiredField options.annotationTypes\n   * @permissionId MEDIA.SITE_MEDIA_FILES_IMAGE_DETECTION\n   * @adminMethod\n   */\n  function bulkAnnotateImages(fileIds: string[], options?: BulkAnnotateImagesOptions): Promise<BulkAnnotateImagesResponse>;\n  interface BulkAnnotateImagesOptions {\n      /** A list of detections types to fill for the image */\n      annotationTypes: ImageAnnotationType[];\n      /** When true the endpoint will detect listed information even if the image has this information */\n      overwrite?: boolean | null;\n      /** Should the response return the item following the operation */\n      returnEntity?: boolean;\n  }\n  /**\n   * Generates a URL for downloading a compressed file containing specific files in the Media Manager.\n   *\n   * The compressed file can contain up to 1000 files.\n   *\n   * To generate a permanent URL for downloading a compressed file that contains multiple files in the Media Manager, call the Generate Files Download URL endpoint.\n   * Since this is a permanent URL, it is less secure.\n   * Therefore, to download private files, call the Generate File Download URL endpoint for each private file that you want to generate a download URL for.\n   * @public\n   * @requiredField fileIds\n   * @param fileIds - IDs of the files to download.\n   *\n   * You can also pass the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n   * Learn more in the File and Folder IDs article.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_DOWNLOAD\n   * @adminMethod\n   */\n  function generateFilesDownloadUrl(fileIds: string[]): Promise<GenerateFilesDownloadUrlResponse>;\n  /**\n   * Generates one or more temporary URLs for downloading a specific file in the Media Manager.\n   *\n   * To download different assets of the file, specify the `assetKeys` parameter which generates a download URL for each asset.\n   * If no `assetKey` is specified, it defaults to `src`, which generates one download URL in the original file's format and quality.\n   *\n   * Call this endpoint to grant external clients access to a private media file. Specify the `expirationInMinutes` parameter to set the URL expiration time, and the `expirationRedirectUrl` parameter to add a redirect url when the URL expires.\n   *\n   * To generate a permanent URL for downloading a compressed file that contains multiple files in the Media Manager, call the Generate Files Download URL endpoint.\n   * Since this is a permanent URL, it is less secure.\n   * Therefore, to download private files, call the Generate File Download URL endpoint for each private file that you want to generate a download URL for.\n   * @public\n   * @requiredField fileId\n   * @param options - Options to use when generating a file's download URL.\n   * @param fileId - File ID.\n   *\n   * You can also pass the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n   * Learn more in the File and Folder IDs article.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_DOWNLOAD_URL\n   * @adminMethod\n   */\n  function generateFileDownloadUrl(fileId: string, options?: GenerateFileDownloadUrlOptions): Promise<GenerateFileDownloadUrlResponse>;\n  interface GenerateFileDownloadUrlOptions {\n      /**\n       * Temporary file name used to identify the file type. For example, a file named \"myFile.jpeg\" identifies as an \"image/jpeg\" file type. <br />\n       *\n       * **Note:** The name that appears in the Media Manager is taken from the `filename` parameter in the Generate File Upload Url call.\n       */\n      downloadFileName?: string | null;\n      /**\n       * The time that it takes in minutes for the download URL to expire. <br />\n       * Default: `600`. <br />\n       * Limit: `525600` (1 year).\n       */\n      expirationInMinutes?: number | null;\n      /**\n       * The redirect URL for when the temporary download URL with a token expires. <br />\n       * Default: A 403 Forbidden response page.\n       */\n      expirationRedirectUrl?: string | null;\n      /**\n       * Keys for downloading different assets (format and quality) of a file.\n       * Default: `src`, key representing the original file's format and quality.\n       */\n      assetKeys?: string[] | null;\n      /**\n       * Whether the link downloads the file or opens the file in the browser.\n       *\n       * - `ATTACHMENT`: The link downloads the file.\n       * - `INLINE`: The link opens the file in the browser.\n       *\n       * Default: `ATTACHMENT`\n       */\n      contentDisposition?: ContentDisposition;\n  }\n  /**\n   * Gets information about a specific file in the Media Manager.\n   * @public\n   * @requiredField fileId\n   * @param fileId - File ID.\n   *\n   * You can also pass the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n   * Learn more in the File and Folder IDs article.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_READ\n   * @adminMethod\n   * @returns Information about the file.\n   */\n  function getFileDescriptor(fileId: string): Promise<FileDescriptor$1>;\n  /**\n   * Gets information about specific files in the Media Manager.\n   * @public\n   * @requiredField fileIds\n   * @param fileIds - File IDs.\n   *\n   * You can also pass the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n   * Learn more in the File and Folder IDs article.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_READ\n   * @adminMethod\n   */\n  function getFileDescriptors(fileIds: string[]): Promise<GetFileDescriptorsResponse>;\n  /**\n   * Updates a file. <br />\n   *\n   * Specify the `parentFolderId` parameter to move a file from its current folder to a different folder.\n   * @param file - The file to update.\n   * @public\n   * @requiredField file\n   * @requiredField file._id\n   * @permissionId MEDIA.SITE_MEDIA_FILES_UPDATE\n   * @adminMethod\n   * @returns Information about the updated file.\n   */\n  function updateFileDescriptor(file: FileDescriptor$1, options?: UpdateFileDescriptorOptions): Promise<FileDescriptor$1>;\n  interface UpdateFileDescriptorOptions {\n      /**\n       * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Generates an upload URL to allow external clients to upload a file to the Media Manager. <br/>\n   *\n   * To learn how external clients can use the generated upload URL in the response to upload a file to the Media Manager, see Upload API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/upload-api) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/upload-api)).\n   * > **Notes:**\n   * > - When you upload a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about knowing when a file is ready ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_knowing-when-a-file-is-ready) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#knowing-when-a-file-is-ready)).\n   * > - Any interruption in the upload process stops the file upload. For files larger than 10MB, or when network connection is poor, call Generate File Resumable Upload URL instead. With the resumable upload URL, any interruption in the upload process pauses the file upload, and resumes the file upload process after the interruption.\n   * @param mimeType - File mime type.\n   * @public\n   * @requiredField mimeType\n   * @param options - Options to use when generating a file's upload URL.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_UPLOAD\n   * @adminMethod\n   */\n  function generateFileUploadUrl(mimeType: string | null, options?: GenerateFileUploadUrlOptions): Promise<GenerateFileUploadUrlResponse>;\n  interface GenerateFileUploadUrlOptions {\n      /**\n       * Temporary file name used to identify the file type. For example, a file named \"myFile.jpeg\" identifies as an \"image/jpeg\" file type.\n       * <br /> **Note:** The name that appears in the Media Manager is taken from the `filename` parameter in the Generate File Upload Url call.\n       */\n      fileName?: string | null;\n      /**\n       * File size in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /**\n       * ID of the file's parent folder. <br />\n       * This folder is the path root for the `filePath`.<br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /** Whether the file will be public or private. Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /** Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n      labels?: string[] | null;\n      /** A place to map an external entity to an uploaded file in the Wix Media Manager. */\n      externalInfo?: ExternalInfo;\n      /**\n       * The uploaded file will be created under this namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * The uploaded file will be created under this namespace\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n      /**\n       * Path to the folder where the file will be stored.\n       * For example, `/videos/2024/december`. <br/>\n       * If `parentFolderId` is defined, the parent folder is used as the path root. Otherwise, the root is `media-root`.\n       * The folders in the path will be created if they don't already exist.  <br />\n       */\n      filePath?: string | null;\n      /**\n       * Internal tags describing the item, can be used in specific clients use cases\n       * @internal\n       */\n      internalTags?: string[];\n      /**\n       * The time in hours for a draft file to expire and be deleted\n       * Allowed only on DRAFT namespace\n       * parent folder id and file path are not allowed when using draft_ttl_in_hours\n       * @internal\n       */\n      draftTtlInHours?: number | null;\n      /**\n       * Configure what annotations will be done for an image file\n       * @internal\n       */\n      imageAnnotationConfigurations?: ImageAnnotationConfigurations;\n  }\n  /**\n   * Generates a resumable upload URL to allow external clients to easily upload large files over 10MB to the Media Manager. <br/>\n   *\n   * With the resumable upload URL, any interruptions in the upload process pauses the file upload, and resumes the file upload process after the interruption. The resumable upload URL is also helpful when network connection is poor.\n   * To learn how external clients can use the generated upload URL in the response to upload large files to the Media Manager, see Resumable Upload API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/resumable-upload-api) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/resumable-upload-api)).\n   *\n   * > **Note:** When you upload a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about knowing when a file is ready ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_knowing-when-a-file-is-ready) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#knowing-when-a-file-is-ready)).\n   * @param mimeType - File mime type.\n   * @public\n   * @requiredField mimeType\n   * @param options - Options to use when generating a resumable upload URL.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_UPLOAD\n   * @adminMethod\n   */\n  function generateFileResumableUploadUrl(mimeType: string | null, options?: GenerateFileResumableUploadUrlOptions): Promise<GenerateFileResumableUploadUrlResponse>;\n  interface GenerateFileResumableUploadUrlOptions {\n      /**\n       * Temporary file name used to identify the file type. For example, a file named \"myFile.jpeg\" identifies as an \"image/jpeg\" file type.\n       * <br /> **Note:** The name that appears in the Media Manager is taken from the `filename` parameter in the Generate File Upload Url call.\n       */\n      fileName?: string | null;\n      /**\n       * File size in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /**\n       * ID of the file's parent folder. <br />\n       * This folder is the path root for the `filePath`.<br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /** Whether the file will be public or private. Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /** Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n      labels?: string[] | null;\n      /** The upload protocol to use for implementing the resumable upload. */\n      uploadProtocol?: UploadProtocol;\n      /**\n       * The uploaded file will be created under this namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * The uploaded file will be created under this namespace\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n      /**\n       * Path to the folder where the file will be stored.\n       * For example, `/videos/2024/december`. <br/>\n       * If `parentFolderId` is defined, the parent folder is used as the path root. Otherwise, the root is `media-root`.\n       * The folders in the path will be created if they don't already exist.  <br />\n       */\n      filePath?: string | null;\n      /**\n       * Internal tags describing the item, can be used in specific clients use cases\n       * @internal\n       */\n      internalTags?: string[];\n      /**\n       * The time in hours for a draft file to expire and be deleted\n       * Allowed only on DRAFT namespace\n       * @internal\n       */\n      draftTtlInHours?: number | null;\n      /**\n       * Configure what annotations will be done for an image file\n       * @internal\n       */\n      imageAnnotationConfigurations?: ImageAnnotationConfigurations;\n  }\n  /**\n   * Imports a file to the Media Manager using an external url.\n   *\n   * Returns information about the imported file.\n   * Specify the `parentFolderId` and `filePath` parameters to specify which folder you want the file to be imported to.\n   * If no folder is specified, the file is imported to the `media-root` folder.\n   *\n   * >**Notes:**\n   * > - The `media` property isn't returned in the `files` response object.\n   * > - When you import a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about knowing when a file is ready ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_knowing-when-a-file-is-ready) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#knowing-when-a-file-is-ready)).\n   *\n   * To import a file, you need to do one of the following:\n   * - Specify its [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` field of the request. For example, `mimeType: 'image/jpeg'`.\n   * - Specify its extension in either the `displayName` or `url` field of the request. For example, `displayName: 'Example Image.jpeg` or `url: https://www.example.com/image.jpeg`.\n   * - Ensure the server hosting the file supports HEAD requests. In these cases the Wix servers can retrieve the MIME type from the hosting server.\n   * > **Note:** If you want to validate the media type, specify the file's expected media type in the optional `mediaType` field of the request.  For example, `mediaType: 'IMAGE'`.\n   * @param url - Publicly accessible external file URL.\n   * @public\n   * @requiredField url\n   * @param options - Options to use when importing a single file.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_IMPORT\n   * @adminMethod\n   */\n  function importFile(url: string, options?: ImportFileOptions): Promise<ImportFileResponse>;\n  interface ImportFileOptions {\n      /**\n       * Media type of the file to import.\n       * excluding: OTHER media type\n       */\n      mediaType?: MediaType$1;\n      /** File name that appears in the Media Manager. */\n      displayName?: string | null;\n      /**\n       * ID of the file's parent folder. <br />\n       * This folder is the path root for the `filePath`. <br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /** Whether the file will be public or private. Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /** Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n      labels?: string[] | null;\n      /** File mime type. */\n      mimeType?: string;\n      /** Information sent to the File Ready and File Failed events. See Importing Files ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_using-externalinfo) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#using-externalinfo)) to learn more. */\n      externalInfo?: ExternalInfo;\n      /** Optional parameters that should be sent with the external URL. */\n      urlParams?: Record<string, any> | null;\n      /** Optional headers that should be sent with the external URL. */\n      urlHeaders?: Record<string, any> | null;\n      /**\n       * The imported file will be created under this namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * The imported file will be created under this namespace\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n      /**\n       * Path to the folder where the file will be stored.\n       * For example, `/videos/2024/december`. <br/>\n       * If `parentFolderId` is defined, the parent folder is used as the path root. Otherwise, the root is `media-root`.\n       * The folders in the path will be created if they don't already exist.  <br />\n       */\n      filePath?: string | null;\n      /**\n       * Internal tags describing the item, can be used in specific clients use cases\n       * @internal\n       */\n      internalTags?: string[];\n      /**\n       * The time in hours for a draft file to expire and be deleted\n       * Allowed only on DRAFT namespace\n       * @internal\n       */\n      draftTtlInHours?: number | null;\n      /**\n       * Configure what annotations will be done for an image file\n       * @internal\n       */\n      imageAnnotationConfigurations?: ImageAnnotationConfigurations;\n  }\n  /**\n   * Imports a bulk of files to the Media Manager using external urls. <br/>\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been replaced with Bulk Import File and will be removed on March 31, 2024.\n   *\n   * </blockquote>\n   *\n   * Returns information about the imported files.\n   *\n   * Use the `parentFolderId` and `filePath` parameters to specify the folder you want each file to be imported to.\n   * If no folder is specified, the file is imported to the `media-root` folder.\n   *\n   * >**Notes:**\n   * > - The `media` property isn't returned in the `files` response object.\n   * > - When you import a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about knowing when a file is ready ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_knowing-when-a-file-is-ready) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#knowing-when-a-file-is-ready)).\n   *\n   * To import files, you need to do one of the following for each file:\n   * - Specify its [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` field of the request. For example, `mimeType: 'image/jpeg'`.\n   * - Include its extension in either the `displayName` or `url` field of the request. For example, `displayName: 'Example Image.jpeg` or `url: https://www.example.com/image.jpeg`.\n   * - Ensure the server hosting the file supports HEAD requests. In these cases the Wix servers can retrieve the MIME type from the hosting server.\n   * > **Note:** If you want to validate the media type, specify the file's expected media type in the optional `mediaType` field of the request.  For example, `mediaType: 'IMAGE'`.\n   * @param importFileRequests - Information about the files to import.\n   * @public\n   * @requiredField importFileRequests\n   * @requiredField importFileRequests.url\n   * @param options - Options to use when uploading multiple files.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_IMPORT\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wix.media.site_media.v1.FilesService.BulkImportFile\n   * @targetRemovalDate 2024-03-31\n   */\n  function bulkImportFiles(importFileRequests: ImportFileRequest[]): Promise<BulkImportFilesResponse>;\n  /**\n   * Imports a bulk of files to the Media Manager using external urls. <br/>\n   *\n   * Returns information about the imported files.\n   *\n   * Specify the `parentFolderId` and `filePath` parameters to specify the folder you want each file to be imported to.\n   * If no folder is specified, the file is imported to the `media-root` folder.\n   *\n   * >**Notes:**\n   * > - The `media` property isn't returned in the `files` response object.\n   * > - When you import a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about knowing when a file is ready ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/importing-files#backend-modules_media_files_knowing-when-a-file-is-ready) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files#knowing-when-a-file-is-ready)).\n   *\n   * To import files, you need to do one of the following for each file:\n   * - Specify its [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` field of the request. For example, `mimeType: 'image/jpeg'`.\n   * - Include its extension in either the `displayName` or `url` field of the request. For example, `displayName: 'Example Image.jpeg` or `url: https://www.example.com/image.jpeg`.\n   * - Ensure the server hosting the file supports HEAD requests. In these cases the Wix servers can retrieve the MIME type from the hosting server.\n   * > **Note:** If you want to validate the media type, specify the file's expected media type in the optional `mediaType` field of the request.  For example, `mediaType: 'IMAGE'`.\n   * @param importFileRequests - Information about the files to import.\n   * @public\n   * @requiredField importFileRequests\n   * @requiredField importFileRequests.url\n   * @param options - Options to include the file descriptor in the response.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_IMPORT\n   * @adminMethod\n   */\n  function bulkImportFile(importFileRequests: ImportFileRequest[], options?: BulkImportFileOptions): Promise<BulkImportFileResponse>;\n  interface BulkImportFileOptions {\n      /** Default: `true` */\n      returnEntity?: boolean | null;\n  }\n  /**\n   * Retrieves a list of files in the Media Manager.\n   *\n   * To retrieve a list of files within a specific folder in the Media Manager, specify the folder's ID in the `parentFolderId` parameter. If no folder is specified, the method retrieves the list of files in the root folder of the Media Manager.\n   * @public\n   * @param options - Options to use when listing media files.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_LIST\n   * @adminMethod\n   */\n  function listFiles(options?: ListFilesOptions): Promise<ListFilesResponse>;\n  interface ListFilesOptions {\n      /**\n       * ID of the file's parent folder. <br />\n       * Default:`media-root`.\n       */\n      parentFolderId?: string | null;\n      /** File media type. */\n      mediaTypes?: MediaType$1[];\n      /** \\n`true`: Returns only private files. \\n`false`: Returns only public files. \\n`undefined`: Returns public and private files. \\n Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /**\n       * Field name and order to sort by. One of: <br />\n       * * `displayName`\n       * * `updatedDate`\n       * * `sizeInBytes`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$2;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$2;\n      /**\n       * List files of the specified namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * List files of the specified namespace\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n  }\n  /**\n   * Searches all folders in the Media Manager and returns a list of files that match the terms specified in the parameters. <br/>\n   *\n   * If no parameters are specified, the endpoint returns all files in the `MEDIA_ROOT` folder.\n   * @public\n   * @param options - Options to specify which folders to search.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_LIST\n   * @adminMethod\n   */\n  function searchFiles(options?: SearchFilesOptions): Promise<SearchFilesResponse>;\n  interface SearchFilesOptions {\n      /**\n       * Term to search for. Possible terms include the value of a file's\n       * `displayName`, `mimeType`, and `label`. <br />\n       * For example, if a file's label is cat, the search term is 'cat'.\n       */\n      search?: string | null;\n      /**\n       * A root folder in the media manager to search in. <br />\n       * Default: `MEDIA_ROOT`.\n       */\n      rootFolder?: RootFolder$2;\n      /** File media type. */\n      mediaTypes?: MediaType$1[];\n      /** \\n`true`: Returns only private files. \\n`false`: Returns only public files. \\n`undefined`: Returns public and private files. \\n Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /**\n       * Field name and order to sort by. One of: <br />\n       * * `displayName`\n       * * `updatedDate`\n       * * `sizeInBytes`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$2;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$2;\n      /**\n       * search by an internal tag that describe the item - for internal wix use only\n       * @internal\n       */\n      internalTag?: string | null;\n      /**\n       * Search files of the specified namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * Search files of the specified namespace <br/>\n       * Note - Namespace value `Others` is not supported in this request and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n  }\n  /**\n   * Generates a URL for streaming a specific video file in the Media Manager. <br/>\n   *\n   * To stream different assets of the file, specify the `assetKeys` parameter which generates a video streaming URL for each asset. If no assetKey is specified, it defaults to `src`, which generates one video streaming URL in the original file's format and quality.\n   * @public\n   * @requiredField fileId\n   * @param options - Options to use when generating a video file's streaming URL.\n   * @param fileId - File ID.\n   *\n   * You can also pass the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n   * Learn more in the File and Folder IDs article.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_READ\n   * @adminMethod\n   */\n  function generateVideoStreamingUrl(fileId: string, options?: GenerateVideoStreamingUrlOptions): Promise<GenerateVideoStreamingUrlResponse>;\n  interface GenerateVideoStreamingUrlOptions {\n      /** Video stream format. */\n      format?: StreamFormat;\n  }\n  /**\n   * Return a token for a direct web socket notification channel\n   * This API is not platformized (Contact the Media team for use instructions)\n   * This API should be internal only\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId MEDIA.SITE_MEDIA_WEB_NOTIFICATIONS_TOKEN\n   * @adminMethod\n   */\n  function generateWebSocketToken(): Promise<GenerateWebSocketTokenResponse>;\n  /**\n   * Deletes the specified files from the Media Manager. <br/>\n   *\n   * The deleted files are moved to the Media Manager's trash bin (`TRASH-ROOT` folder) unless permanently deleted. To permanently delete files, specify the `permanent` parameter with the value `true`. Permanently deleting files isn't reversible, so make sure that these files aren't being used in a site or in any other way as the files will no longer be accessible.\n   *\n   * Note the following:\n   * * The specified files can be from different folders.\n   * * Moving multiple files at once is an asynchronous action, and may take time for the changes to appear in the Media Manager.\n   * * Attempting to delete files that are already in the trash bin doesn't result in an error.\n   * * If a site contains deleted media files, the deleted media files still appear on the site as the files are still in the Media Manager (in the trash bin).\n   * * You can use Bulk Restore Files From Trash Bin to restore files from the Media Manager's trash bin.\n   * @public\n   * @requiredField fileIds\n   * @param options - Options to use when deleting files.\n   * @param fileIds - IDs of the files to move to the Media Manager's trash bin.\n   *\n   * You can also pass the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n   * Learn more in the File and Folder IDs article.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_MOVE_TO_TRASH\n   * @adminMethod\n   */\n  function bulkDeleteFiles(fileIds: string[], options?: BulkDeleteFilesOptions): Promise<void>;\n  interface BulkDeleteFilesOptions {\n      /**\n       * Whether the specified files are permanently deleted. <br />\n       * Default: `false`\n       */\n      permanent?: boolean;\n  }\n  /**\n   * Restores the specified files from the Media Manager's trash bin, and moves them to their original locations in the Media Manager.\n   * @public\n   * @requiredField fileIds\n   * @param fileIds - IDs of the files to restore from the Media Manager's trash bin.\n   *\n   * You can also pass the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n   * Learn more in the File and Folder IDs article.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_RESTORE_FROM_TRASH\n   * @adminMethod\n   */\n  function bulkRestoreFilesFromTrashBin(fileIds: string[]): Promise<void>;\n  /**\n   * Retrieves a list of files in the Media Manager's trash bin. <br/>\n   *\n   * >**Note:** The Media Manager's trash bin (`TRASH-ROOT` folder) only contains temporarily deleted files, not permanently deleted files.\n   * @public\n   * @param options - Options to use when listing deleted files from the trash bin.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_LIST_DELETED\n   * @adminMethod\n   */\n  function listDeletedFiles(options?: ListDeletedFilesOptions): Promise<ListDeletedFilesResponse>;\n  interface ListDeletedFilesOptions {\n      /**\n       * ID of the file's parent folder. <br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /** File media type. */\n      mediaTypes?: MediaType$1[];\n      /** \\n`true`: Returns only private files. \\n`false`: Returns only public files. \\n`undefined`: Returns public and private files. \\n Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)). */\n      private?: boolean | null;\n      /**\n       * Field name and order to sort by. One of: <br />\n       * * `displayName`\n       * * `updatedDate`\n       * * `sizeInBytes`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$2;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$2;\n      /**\n       * List files of the specified namespace\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * List files of the specified namespace\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$2;\n  }\n  /**\n   * @param fileIds - IDs of the draft files to be published.\n   *\n   * You can also specify the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n   * Learn more about the file ID parameter ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/file-and-folder-ids#file-id-as-a-parameter) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/file-id#file-id-as-a-parameter)).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fileIds\n   * @permissionId MEDIA.SITE_MEDIA_FILES_PUBLISH\n   * @adminMethod\n   */\n  function bulkPublishDraftFiles(fileIds: string[], options?: BulkPublishDraftFilesOptions): Promise<BulkPublishDraftFilesResponse>;\n  interface BulkPublishDraftFilesOptions {\n      /**\n       * The namespace the files will be published to\n       * Note, private files must have a namespace\n       */\n      namespace?: Namespace$2;\n      /**\n       * ID of the file's parent folder. <br />\n       * This folder is the path root for the `filePath`. <br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /**\n       * Path to the folder where the file will be stored.\n       * For example, `/videos/2024/december`. <br/>\n       * If `parentFolderId` is defined, the parent folder is used as the path root. Otherwise, the root is `media-root`.\n       * The folders in the path will be created if they don't already exist.  <br />\n       */\n      filePath?: string | null;\n      /** Should the response return the item following the operation */\n      returnEntity?: boolean;\n  }\n  /**\n   * Updates a file.\n   *\n   * <blockquote class='warning'>\n   *\n   * __Deprecation Notice:__\n   *\n   * This endpoint has been replaced with [Update File Descriptor](https://dev.wix.com/api/rest/media/media-manager/files/update-file-descriptor) and will be removed on March 31, 2023.\n   *\n   * </blockquote>\n   *\n   * Specify the `parentFolderId` parameter to move a file from its current folder to a different folder.\n   * @internal\n   * @requiredField fileId\n   * @param options - Fields to update.\n   * @param fileId - ID of the file to update.\n   *\n   * You can also pass the files' Wix media URLs. For example, `[\"wix:image://v1/0abec0_b291a9349a0b4da59067f76287e386fb~mv2.jpg/leon.jpg#originWidth=3024&originHeight=4032\"]`.\n   * Learn more in the File and Folder IDs article.\n   * @permissionId MEDIA.SITE_MEDIA_FILES_UPDATE\n   * @adminMethod\n   * @deprecated method is deprecated due to standard aligning\n   * @replacedBy com.wix.media.site_media.v1.filesService.UpdateFileDescriptor\n   * @targetRemovalDate 2023-03-31\n   */\n  function updateFile(fileId: string, options?: UpdateFileOptions): Promise<UpdateFileResponse>;\n  interface UpdateFileOptions {\n      /** File name that appears in the Media Manager. */\n      displayName?: string | null;\n      /**\n       * ID of the file's parent folder. <br />\n       * Default: `media-root`.\n       */\n      parentFolderId?: string | null;\n      /** Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n      labels?: string[] | null;\n  }\n  \n  type mediaSiteMediaV1FileDescriptor_universal_d_FileReady = FileReady;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ExternalInfo = ExternalInfo;\n  type mediaSiteMediaV1FileDescriptor_universal_d_FileFailed = FileFailed;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ApplicationError = ApplicationError;\n  type mediaSiteMediaV1FileDescriptor_universal_d_DraftFilePublished = DraftFilePublished;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkAnnotateImagesRequest = BulkAnnotateImagesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ImageAnnotationType = ImageAnnotationType;\n  const mediaSiteMediaV1FileDescriptor_universal_d_ImageAnnotationType: typeof ImageAnnotationType;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkAnnotateImagesResponse = BulkAnnotateImagesResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkAnnotateImageResult = BulkAnnotateImageResult;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ItemMetadata = ItemMetadata;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFilesDownloadUrlRequest = GenerateFilesDownloadUrlRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFilesDownloadUrlResponse = GenerateFilesDownloadUrlResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlRequest = GenerateFileDownloadUrlRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ContentDisposition = ContentDisposition;\n  const mediaSiteMediaV1FileDescriptor_universal_d_ContentDisposition: typeof ContentDisposition;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlResponse = GenerateFileDownloadUrlResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_DownloadUrl = DownloadUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ServiceError = ServiceError;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorRequest = GetFileDescriptorRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorResponse = GetFileDescriptorResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorsRequest = GetFileDescriptorsRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorsResponse = GetFileDescriptorsResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileDescriptorRequest = UpdateFileDescriptorRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileDescriptorResponse = UpdateFileDescriptorResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlRequest = GenerateFileUploadUrlRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ImageAnnotationConfigurations = ImageAnnotationConfigurations;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlResponse = GenerateFileUploadUrlResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_SiteQuotaExceededError = SiteQuotaExceededError;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlRequest = GenerateFileResumableUploadUrlRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UploadProtocol = UploadProtocol;\n  const mediaSiteMediaV1FileDescriptor_universal_d_UploadProtocol: typeof UploadProtocol;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlResponse = GenerateFileResumableUploadUrlResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ImportFileRequest = ImportFileRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ImportFileResponse = ImportFileResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFilesRequest = BulkImportFilesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFilesResponse = BulkImportFilesResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFileRequest = BulkImportFileRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFileResponse = BulkImportFileResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFileResult = BulkImportFileResult;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListFilesRequest = ListFilesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListFilesResponse = ListFilesResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_SearchFilesRequest = SearchFilesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_SearchFilesResponse = SearchFilesResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlRequest = GenerateVideoStreamingUrlRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_StreamFormat = StreamFormat;\n  const mediaSiteMediaV1FileDescriptor_universal_d_StreamFormat: typeof StreamFormat;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlResponse = GenerateVideoStreamingUrlResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateWebSocketTokenRequest = GenerateWebSocketTokenRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateWebSocketTokenResponse = GenerateWebSocketTokenResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesRequest = BulkDeleteFilesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesResponse = BulkDeleteFilesResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkRestoreFilesFromTrashBinRequest = BulkRestoreFilesFromTrashBinRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkRestoreFilesFromTrashBinResponse = BulkRestoreFilesFromTrashBinResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesRequest = ListDeletedFilesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesResponse = ListDeletedFilesResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkPublishDraftFilesRequest = BulkPublishDraftFilesRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkPublishDraftFilesResponse = BulkPublishDraftFilesResponse;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkPublishDraftFileResult = BulkPublishDraftFileResult;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileRequest = UpdateFileRequest;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileResponse = UpdateFileResponse;\n  const mediaSiteMediaV1FileDescriptor_universal_d_bulkAnnotateImages: typeof bulkAnnotateImages;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkAnnotateImagesOptions = BulkAnnotateImagesOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateFilesDownloadUrl: typeof generateFilesDownloadUrl;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateFileDownloadUrl: typeof generateFileDownloadUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlOptions = GenerateFileDownloadUrlOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_getFileDescriptor: typeof getFileDescriptor;\n  const mediaSiteMediaV1FileDescriptor_universal_d_getFileDescriptors: typeof getFileDescriptors;\n  const mediaSiteMediaV1FileDescriptor_universal_d_updateFileDescriptor: typeof updateFileDescriptor;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileDescriptorOptions = UpdateFileDescriptorOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateFileUploadUrl: typeof generateFileUploadUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlOptions = GenerateFileUploadUrlOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateFileResumableUploadUrl: typeof generateFileResumableUploadUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlOptions = GenerateFileResumableUploadUrlOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_importFile: typeof importFile;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ImportFileOptions = ImportFileOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_bulkImportFiles: typeof bulkImportFiles;\n  const mediaSiteMediaV1FileDescriptor_universal_d_bulkImportFile: typeof bulkImportFile;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFileOptions = BulkImportFileOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_listFiles: typeof listFiles;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListFilesOptions = ListFilesOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_searchFiles: typeof searchFiles;\n  type mediaSiteMediaV1FileDescriptor_universal_d_SearchFilesOptions = SearchFilesOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateVideoStreamingUrl: typeof generateVideoStreamingUrl;\n  type mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlOptions = GenerateVideoStreamingUrlOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_generateWebSocketToken: typeof generateWebSocketToken;\n  const mediaSiteMediaV1FileDescriptor_universal_d_bulkDeleteFiles: typeof bulkDeleteFiles;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesOptions = BulkDeleteFilesOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_bulkRestoreFilesFromTrashBin: typeof bulkRestoreFilesFromTrashBin;\n  const mediaSiteMediaV1FileDescriptor_universal_d_listDeletedFiles: typeof listDeletedFiles;\n  type mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesOptions = ListDeletedFilesOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_bulkPublishDraftFiles: typeof bulkPublishDraftFiles;\n  type mediaSiteMediaV1FileDescriptor_universal_d_BulkPublishDraftFilesOptions = BulkPublishDraftFilesOptions;\n  const mediaSiteMediaV1FileDescriptor_universal_d_updateFile: typeof updateFile;\n  type mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileOptions = UpdateFileOptions;\n  namespace mediaSiteMediaV1FileDescriptor_universal_d {\n    export {\n      FileDescriptor$1 as FileDescriptor,\n      MediaType$1 as MediaType,\n      FileMedia$1 as FileMedia,\n      FileMediaMediaOneOf$1 as FileMediaMediaOneOf,\n      ImageMedia$1 as ImageMedia,\n      FocalPoint$1 as FocalPoint,\n      Colors$1 as Colors,\n      Color$1 as Color,\n      ColorRGB$1 as ColorRGB,\n      FaceRecognition$1 as FaceRecognition,\n      VideoResolution$1 as VideoResolution,\n      AudioV2$1 as AudioV2,\n      Archive$1 as Archive,\n      Model3D$1 as Model3D,\n      OtherMedia$1 as OtherMedia,\n      FontMedia$1 as FontMedia,\n      FontAsset$1 as FontAsset,\n      OperationStatus$1 as OperationStatus,\n      State$2 as State,\n      Namespace$2 as Namespace,\n      IdentityInfo$1 as IdentityInfo,\n      IdentityType$1 as IdentityType,\n      mediaSiteMediaV1FileDescriptor_universal_d_FileReady as FileReady,\n      mediaSiteMediaV1FileDescriptor_universal_d_ExternalInfo as ExternalInfo,\n      mediaSiteMediaV1FileDescriptor_universal_d_FileFailed as FileFailed,\n      mediaSiteMediaV1FileDescriptor_universal_d_ApplicationError as ApplicationError,\n      mediaSiteMediaV1FileDescriptor_universal_d_DraftFilePublished as DraftFilePublished,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkAnnotateImagesRequest as BulkAnnotateImagesRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_ImageAnnotationType as ImageAnnotationType,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkAnnotateImagesResponse as BulkAnnotateImagesResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkAnnotateImageResult as BulkAnnotateImageResult,\n      mediaSiteMediaV1FileDescriptor_universal_d_ItemMetadata as ItemMetadata,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkActionMetadata as BulkActionMetadata,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFilesDownloadUrlRequest as GenerateFilesDownloadUrlRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFilesDownloadUrlResponse as GenerateFilesDownloadUrlResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlRequest as GenerateFileDownloadUrlRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_ContentDisposition as ContentDisposition,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlResponse as GenerateFileDownloadUrlResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_DownloadUrl as DownloadUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_ServiceError as ServiceError,\n      mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorRequest as GetFileDescriptorRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorResponse as GetFileDescriptorResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorsRequest as GetFileDescriptorsRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_GetFileDescriptorsResponse as GetFileDescriptorsResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileDescriptorRequest as UpdateFileDescriptorRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileDescriptorResponse as UpdateFileDescriptorResponse,\n      UnsupportedRequestValueError$2 as UnsupportedRequestValueError,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlRequest as GenerateFileUploadUrlRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_ImageAnnotationConfigurations as ImageAnnotationConfigurations,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlResponse as GenerateFileUploadUrlResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_SiteQuotaExceededError as SiteQuotaExceededError,\n      TotalQuota$1 as TotalQuota,\n      Plans$1 as Plans,\n      Plan$1 as Plan,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlRequest as GenerateFileResumableUploadUrlRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_UploadProtocol as UploadProtocol,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlResponse as GenerateFileResumableUploadUrlResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_ImportFileRequest as ImportFileRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_ImportFileResponse as ImportFileResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFilesRequest as BulkImportFilesRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFilesResponse as BulkImportFilesResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFileRequest as BulkImportFileRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFileResponse as BulkImportFileResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFileResult as BulkImportFileResult,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListFilesRequest as ListFilesRequest,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListFilesResponse as ListFilesResponse,\n      PagingMetadataV2$2 as PagingMetadataV2,\n      Cursors$2 as Cursors,\n      mediaSiteMediaV1FileDescriptor_universal_d_SearchFilesRequest as SearchFilesRequest,\n      RootFolder$2 as RootFolder,\n      mediaSiteMediaV1FileDescriptor_universal_d_SearchFilesResponse as SearchFilesResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlRequest as GenerateVideoStreamingUrlRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_StreamFormat as StreamFormat,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlResponse as GenerateVideoStreamingUrlResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateWebSocketTokenRequest as GenerateWebSocketTokenRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateWebSocketTokenResponse as GenerateWebSocketTokenResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesRequest as BulkDeleteFilesRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesResponse as BulkDeleteFilesResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkRestoreFilesFromTrashBinRequest as BulkRestoreFilesFromTrashBinRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkRestoreFilesFromTrashBinResponse as BulkRestoreFilesFromTrashBinResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesRequest as ListDeletedFilesRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesResponse as ListDeletedFilesResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkPublishDraftFilesRequest as BulkPublishDraftFilesRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkPublishDraftFilesResponse as BulkPublishDraftFilesResponse,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkPublishDraftFileResult as BulkPublishDraftFileResult,\n      mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileRequest as UpdateFileRequest,\n      mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileResponse as UpdateFileResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      mediaSiteMediaV1FileDescriptor_universal_d_bulkAnnotateImages as bulkAnnotateImages,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkAnnotateImagesOptions as BulkAnnotateImagesOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateFilesDownloadUrl as generateFilesDownloadUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateFileDownloadUrl as generateFileDownloadUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileDownloadUrlOptions as GenerateFileDownloadUrlOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_getFileDescriptor as getFileDescriptor,\n      mediaSiteMediaV1FileDescriptor_universal_d_getFileDescriptors as getFileDescriptors,\n      mediaSiteMediaV1FileDescriptor_universal_d_updateFileDescriptor as updateFileDescriptor,\n      mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileDescriptorOptions as UpdateFileDescriptorOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateFileUploadUrl as generateFileUploadUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileUploadUrlOptions as GenerateFileUploadUrlOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateFileResumableUploadUrl as generateFileResumableUploadUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateFileResumableUploadUrlOptions as GenerateFileResumableUploadUrlOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_importFile as importFile,\n      mediaSiteMediaV1FileDescriptor_universal_d_ImportFileOptions as ImportFileOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_bulkImportFiles as bulkImportFiles,\n      mediaSiteMediaV1FileDescriptor_universal_d_bulkImportFile as bulkImportFile,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkImportFileOptions as BulkImportFileOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_listFiles as listFiles,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListFilesOptions as ListFilesOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_searchFiles as searchFiles,\n      mediaSiteMediaV1FileDescriptor_universal_d_SearchFilesOptions as SearchFilesOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateVideoStreamingUrl as generateVideoStreamingUrl,\n      mediaSiteMediaV1FileDescriptor_universal_d_GenerateVideoStreamingUrlOptions as GenerateVideoStreamingUrlOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_generateWebSocketToken as generateWebSocketToken,\n      mediaSiteMediaV1FileDescriptor_universal_d_bulkDeleteFiles as bulkDeleteFiles,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkDeleteFilesOptions as BulkDeleteFilesOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_bulkRestoreFilesFromTrashBin as bulkRestoreFilesFromTrashBin,\n      mediaSiteMediaV1FileDescriptor_universal_d_listDeletedFiles as listDeletedFiles,\n      mediaSiteMediaV1FileDescriptor_universal_d_ListDeletedFilesOptions as ListDeletedFilesOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_bulkPublishDraftFiles as bulkPublishDraftFiles,\n      mediaSiteMediaV1FileDescriptor_universal_d_BulkPublishDraftFilesOptions as BulkPublishDraftFilesOptions,\n      mediaSiteMediaV1FileDescriptor_universal_d_updateFile as updateFile,\n      mediaSiteMediaV1FileDescriptor_universal_d_UpdateFileOptions as UpdateFileOptions,\n    };\n  }\n  \n  interface Folder {\n      /** Folder ID. Generated when a folder is created in the Media Manager. */\n      _id?: string;\n      /** Folder name as it appears in the Media Manager. */\n      displayName?: string;\n      /** ID of the folder's parent folder. <br /> Default: `media-root` folder. */\n      parentFolderId?: string;\n      /**\n       * Date the folder was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the folder was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * State of the folder.\n       * @readonly\n       */\n      state?: State$1;\n      /**\n       * Namespace of the folder.\n       * @internal\n       */\n      namespace?: Namespace$1;\n  }\n  enum State$1 {\n      OK = \"OK\",\n      DELETED = \"DELETED\"\n  }\n  enum Namespace$1 {\n      NO_NAMESPACE = \"NO_NAMESPACE\",\n      OTHERS = \"OTHERS\",\n      /** ANY = 2; */\n      WIX_VIDEO = \"WIX_VIDEO\",\n      /** _nsWixMusic */\n      WIX_MUSIC = \"WIX_MUSIC\",\n      /** _nsArtStore */\n      ALBUMS_AND_ART_STORE = \"ALBUMS_AND_ART_STORE\",\n      /** _nsDigitalProduct */\n      WIX_ECOM = \"WIX_ECOM\",\n      /** _nsPhotoShareApp */\n      PHOTO_SHARE_APP = \"PHOTO_SHARE_APP\",\n      /** _nsSharingApp, */\n      SHARING_APP = \"SHARING_APP\",\n      /** engage */\n      CHAT = \"CHAT\",\n      /** logobuilder */\n      LOGO_BUILDER = \"LOGO_BUILDER\",\n      /** WixExposure */\n      ALBUMS_OLD = \"ALBUMS_OLD\",\n      /** chat-mobile-uploads */\n      CHAT_MOBILE = \"CHAT_MOBILE\",\n      /** _nsWixForms */\n      WIX_FORMS = \"WIX_FORMS\",\n      /** _nsDraft */\n      DRAFTS = \"DRAFTS\"\n  }\n  interface CreateFolderRequest {\n      /** Folder name that appears in the Media Manager. */\n      displayName: string;\n      /** ID of the folder's parent folder. */\n      parentFolderId?: string | null;\n      /**\n       * The namespace this folder will be created under\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * The namespace this folder will be created under\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$1;\n  }\n  interface CreateFolderResponse {\n      /** Information about the newly created folder. */\n      folder?: Folder;\n  }\n  interface GetFolderRequest {\n      /** Folder ID. */\n      folderId: string;\n  }\n  interface GetFolderResponse {\n      /** Information about the folder. */\n      folder?: Folder;\n  }\n  interface ListFoldersRequest {\n      /**\n       * ID of the folder's parent folder.\n       * <br /> Default: `media-root` folder.\n       */\n      parentFolderId?: string | null;\n      /**\n       * Field name and order to sort by. One of: <br />\n       * * `displayName`\n       * * `updatedDate`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$1;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$1;\n      /**\n       * List folders of the specified namespace.\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * List folders of the specified namespace.\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListFoldersResponse {\n      /** Information about the folders in the requested folder. */\n      folders?: Folder[];\n      /** The next cursor if it exists. */\n      nextCursor?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n  }\n  interface SearchFoldersRequest {\n      /**\n       * A root folder in the Media Manager to search in. <br />\n       * Default: `MEDIA_ROOT`.\n       */\n      rootFolder?: RootFolder$1;\n      /**\n       * Field name and order to sort by. One of:\n       * * `displayName`\n       * * `updatedDate`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$1;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$1;\n      /**\n       * Term to search for, such as the value of a folder's `displayName`. <br />\n       * For example, if a folder's `displayName` is 'my-videos-folder', the search term is 'my-videos-folder'.\n       */\n      search?: string | null;\n      /**\n       * Search folders of the specified namespace.\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * Search folders of the specified namespace.\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$1;\n  }\n  enum RootFolder$1 {\n      /** Root of all site media */\n      MEDIA_ROOT = \"MEDIA_ROOT\",\n      /** Root of the trash system folder */\n      TRASH_ROOT = \"TRASH_ROOT\",\n      /** Root of all visitor uploads */\n      VISITOR_UPLOADS_ROOT = \"VISITOR_UPLOADS_ROOT\"\n  }\n  interface SearchFoldersResponse {\n      /** Information about the folders in the requested folder. */\n      folders?: Folder[];\n      /** The next cursor if it exists. */\n      nextCursor?: PagingMetadataV2$1;\n  }\n  interface UpdateFolderRequest {\n      /** Folder to update. */\n      folder: Folder;\n      /**\n       * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateFolderResponse {\n      /** Information about the updated folder. */\n      folder?: Folder;\n  }\n  interface UnsupportedRequestValueError$1 {\n      /** Optional A list of allowed values */\n      allowedValues?: string[];\n      /** The unsupported value send in the request */\n      requestValue?: string;\n  }\n  interface GenerateFolderDownloadUrlRequest {\n      /** Folder ID. */\n      folderId: string;\n  }\n  interface GenerateFolderDownloadUrlResponse {\n      /** URL for downloading a specific folder in the Media Manager. */\n      downloadUrl?: string;\n  }\n  interface BulkDeleteFoldersRequest {\n      /** IDs of the folders to move to the Media Manager's trash bin. */\n      folderIds: string[];\n      /**\n       * Whether the specified folders are permanently deleted. <br />\n       * Default: `false`\n       */\n      permanent?: boolean;\n  }\n  interface BulkDeleteFoldersResponse {\n  }\n  interface BulkRestoreFoldersFromTrashBinRequest {\n      /** IDs of the folders to restore from the Media Manager's trash bin. */\n      folderIds: string[];\n  }\n  interface BulkRestoreFoldersFromTrashBinResponse {\n  }\n  interface ListDeletedFoldersRequest {\n      /** ID of the folder's parent folder. */\n      parentFolderId?: string | null;\n      /**\n       * Field name and order to sort by. One of:\n       * * `displayName`\n       * * `updatedDate`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$1;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$1;\n      /**\n       * List folders of the specified namespace.\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * List folders of the specified namespace.\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$1;\n  }\n  interface ListDeletedFoldersResponse {\n      /** List of folders in the Media Manager's trash bin. */\n      folders?: Folder[];\n      /** The next cursor if it exists. */\n      nextCursor?: PagingMetadataV2$1;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new folder in the Media Manager. <br/>\n   *\n   * Use the `parentFolderId` parameter to specify in which existing folder you want the new folder to be created.\n   * If no folder is specified, the new folder is created in the `media-root` folder.\n   * @param displayName - Folder name that appears in the Media Manager.\n   * @public\n   * @requiredField displayName\n   * @param options - Options for specifying where to create a folder.\n   * @permissionId MEDIA.SITE_MEDIA_FOLDERS_CREATE\n   * @adminMethod\n   */\n  function createFolder(displayName: string, options?: CreateFolderOptions): Promise<CreateFolderResponse>;\n  interface CreateFolderOptions {\n      /** ID of the folder's parent folder. */\n      parentFolderId?: string | null;\n      /**\n       * The namespace this folder will be created under\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * The namespace this folder will be created under\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$1;\n  }\n  /**\n   * Gets information from a specific folder in the Media Manager.\n   * @param folderId - Folder ID.\n   * @public\n   * @requiredField folderId\n   * @permissionId MEDIA.SITE_MEDIA_FOLDERS_READ\n   * @adminMethod\n   * @returns Information about the folder.\n   */\n  function getFolder(folderId: string): Promise<Folder>;\n  /**\n   * Retrieves a list of folders in the Media Manager. To retrieve a list of folders within a specific folder in the Media Manager, specify the specific folder's ID in the `parentFolderId` parameter. If no folder is specified, the method retrieves a list of folders within the root folder of the Media Manager.\n   * @public\n   * @param options - Options to use when listing folders from the Media Manager.\n   * @permissionId MEDIA.SITE_MEDIA_FOLDERS_LIST\n   * @adminMethod\n   */\n  function listFolders(options?: ListFoldersOptions): Promise<ListFoldersResponse>;\n  interface ListFoldersOptions {\n      /**\n       * ID of the folder's parent folder.\n       * <br /> Default: `media-root` folder.\n       */\n      parentFolderId?: string | null;\n      /**\n       * Field name and order to sort by. One of: <br />\n       * * `displayName`\n       * * `updatedDate`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$1;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$1;\n      /**\n       * List folders of the specified namespace.\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * List folders of the specified namespace.\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$1;\n  }\n  /**\n   * Searches the Media Manager and returns a list of folders that match the terms specified in the parameters. <br/>\n   *\n   * If no parameters are specified, the method returns all folders in the `MEDIA_ROOT` folder.\n   * @public\n   * @param options - Options specifying which folders to search.\n   * @permissionId MEDIA.SITE_MEDIA_FOLDERS_LIST\n   * @adminMethod\n   */\n  function searchFolders(options?: SearchFoldersOptions): Promise<SearchFoldersResponse>;\n  interface SearchFoldersOptions {\n      /**\n       * A root folder in the Media Manager to search in. <br />\n       * Default: `MEDIA_ROOT`.\n       */\n      rootFolder?: RootFolder$1;\n      /**\n       * Field name and order to sort by. One of:\n       * * `displayName`\n       * * `updatedDate`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$1;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$1;\n      /**\n       * Term to search for, such as the value of a folder's `displayName`. <br />\n       * For example, if a folder's `displayName` is 'my-videos-folder', the search term is 'my-videos-folder'.\n       */\n      search?: string | null;\n      /**\n       * Search folders of the specified namespace.\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * Search folders of the specified namespace.\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$1;\n  }\n  /**\n   * Updates a folder. <br />\n   *\n   * You can use the `parentFolderId` parameter to move a folder from its current parent folder to a different parent folder.\n   * @param _id - Folder ID. Generated when a folder is created in the Media Manager.\n   * @public\n   * @requiredField _id\n   * @requiredField folder\n   * @param folder - Folder to update.\n   * @permissionId MEDIA.SITE_MEDIA_FOLDERS_UPDATE\n   * @adminMethod\n   * @returns Information about the updated folder.\n   */\n  function updateFolder(_id: string, folder: UpdateFolder, options?: UpdateFolderOptions): Promise<Folder>;\n  interface UpdateFolder {\n      /** Folder ID. Generated when a folder is created in the Media Manager. */\n      _id?: string;\n      /** Folder name as it appears in the Media Manager. */\n      displayName?: string;\n      /** ID of the folder's parent folder. <br /> Default: `media-root` folder. */\n      parentFolderId?: string;\n      /**\n       * Date the folder was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the folder was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * State of the folder.\n       * @readonly\n       */\n      state?: State$1;\n      /**\n       * Namespace of the folder.\n       * @internal\n       */\n      namespace?: Namespace$1;\n  }\n  interface UpdateFolderOptions {\n      /**\n       * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Generates a URL for downloading a compressed file containing a specific folder in the Media Manager. <br/>\n   *\n   * The compressed file can contain sub-folders, and up to 1000 files.\n   * @param folderId - Folder ID.\n   * @public\n   * @requiredField folderId\n   * @permissionId MEDIA.SITE_MEDIA_FOLDERS_DOWNLOAD\n   * @adminMethod\n   */\n  function generateFolderDownloadUrl(folderId: string): Promise<GenerateFolderDownloadUrlResponse>;\n  /**\n   * Temporarily deletes the specified folders from the Media Manager. <br/>\n   *\n   * The deleted folders are moved to the Media Manager's `trash-root` folder (trash bin) unless permanently deleted. To permanently delete folders, specify the `permanent` parameter with the value `true`. Permanently deleting folders isn't reversible, so make sure that the files in these folders aren't being used in a site or in any other way as the files will no longer be accessible.\n   *\n   * Note the following:\n   * * When a folder is deleted, the files in that folder are deleted.\n   * * The specified folders can be from different parent folders.\n   * * Moving multiple folders at once is an asynchronous action, and may take time for the changes to appear in the Media Manager.\n   * * Attempting to delete folders that are already in the trash bin doesn't result in an error.\n   * * If a site contains files from a deleted media folder, the files still appear on the site as the deleted folder is still in the Media Manager (in the trash bin).\n   * * You can also use the Bulk Restore Folders From Trash Bin ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/folders/bulk-restore-folders-from-trash-bin) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/folders/bulk-restore-folders-from-trash-bin)) method to restore folders from the Media Manager's trash bin.\n   * @param folderIds - IDs of the folders to move to the Media Manager's trash bin.\n   * @public\n   * @requiredField folderIds\n   * @param options - Options to use when deleting folders.\n   * @permissionId MEDIA.SITE_MEDIA_FOLDERS_MOVE_TO_TRASH\n   * @adminMethod\n   */\n  function bulkDeleteFolders(folderIds: string[], options?: BulkDeleteFoldersOptions): Promise<void>;\n  interface BulkDeleteFoldersOptions {\n      /**\n       * Whether the specified folders are permanently deleted. <br />\n       * Default: `false`\n       */\n      permanent?: boolean;\n  }\n  /**\n   * Restores the specified folders from the Media Manager's trash bin, and moves them to their original locations in the Media Manager.\n   * @param folderIds - IDs of the folders to restore from the Media Manager's trash bin.\n   * @public\n   * @requiredField folderIds\n   * @permissionId MEDIA.SITE_MEDIA_FOLDERS_RESTORE_FROM_TRASH\n   * @adminMethod\n   */\n  function bulkRestoreFoldersFromTrashBin(folderIds: string[]): Promise<void>;\n  /**\n   * Retrieves a list of folders in the Media Manager's trash bin.\n   * @public\n   * @param options - Options to use when listing deleted folders from the trash bin.\n   * @permissionId MEDIA.SITE_MEDIA_FOLDERS_LIST_DELETED\n   * @adminMethod\n   */\n  function listDeletedFolders(options?: ListDeletedFoldersOptions): Promise<ListDeletedFoldersResponse>;\n  interface ListDeletedFoldersOptions {\n      /** ID of the folder's parent folder. */\n      parentFolderId?: string | null;\n      /**\n       * Field name and order to sort by. One of:\n       * * `displayName`\n       * * `updatedDate`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting$1;\n      /** Cursor and paging information. */\n      paging?: CursorPaging$1;\n      /**\n       * List folders of the specified namespace.\n       * @internal\n       */\n      rawNamespace?: string | null;\n      /**\n       * List folders of the specified namespace.\n       * Note - Namespace value `Others` is not supported and will produce an error\n       * @internal\n       */\n      namespace?: Namespace$1;\n  }\n  \n  type mediaSiteMediaV1Folder_universal_d_Folder = Folder;\n  type mediaSiteMediaV1Folder_universal_d_CreateFolderRequest = CreateFolderRequest;\n  type mediaSiteMediaV1Folder_universal_d_CreateFolderResponse = CreateFolderResponse;\n  type mediaSiteMediaV1Folder_universal_d_GetFolderRequest = GetFolderRequest;\n  type mediaSiteMediaV1Folder_universal_d_GetFolderResponse = GetFolderResponse;\n  type mediaSiteMediaV1Folder_universal_d_ListFoldersRequest = ListFoldersRequest;\n  type mediaSiteMediaV1Folder_universal_d_ListFoldersResponse = ListFoldersResponse;\n  type mediaSiteMediaV1Folder_universal_d_SearchFoldersRequest = SearchFoldersRequest;\n  type mediaSiteMediaV1Folder_universal_d_SearchFoldersResponse = SearchFoldersResponse;\n  type mediaSiteMediaV1Folder_universal_d_UpdateFolderRequest = UpdateFolderRequest;\n  type mediaSiteMediaV1Folder_universal_d_UpdateFolderResponse = UpdateFolderResponse;\n  type mediaSiteMediaV1Folder_universal_d_GenerateFolderDownloadUrlRequest = GenerateFolderDownloadUrlRequest;\n  type mediaSiteMediaV1Folder_universal_d_GenerateFolderDownloadUrlResponse = GenerateFolderDownloadUrlResponse;\n  type mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersRequest = BulkDeleteFoldersRequest;\n  type mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersResponse = BulkDeleteFoldersResponse;\n  type mediaSiteMediaV1Folder_universal_d_BulkRestoreFoldersFromTrashBinRequest = BulkRestoreFoldersFromTrashBinRequest;\n  type mediaSiteMediaV1Folder_universal_d_BulkRestoreFoldersFromTrashBinResponse = BulkRestoreFoldersFromTrashBinResponse;\n  type mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersRequest = ListDeletedFoldersRequest;\n  type mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersResponse = ListDeletedFoldersResponse;\n  type mediaSiteMediaV1Folder_universal_d_DomainEvent = DomainEvent;\n  type mediaSiteMediaV1Folder_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type mediaSiteMediaV1Folder_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type mediaSiteMediaV1Folder_universal_d_RestoreInfo = RestoreInfo;\n  type mediaSiteMediaV1Folder_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type mediaSiteMediaV1Folder_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type mediaSiteMediaV1Folder_universal_d_ActionEvent = ActionEvent;\n  type mediaSiteMediaV1Folder_universal_d_MessageEnvelope = MessageEnvelope;\n  type mediaSiteMediaV1Folder_universal_d_IdentificationData = IdentificationData;\n  type mediaSiteMediaV1Folder_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type mediaSiteMediaV1Folder_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const mediaSiteMediaV1Folder_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const mediaSiteMediaV1Folder_universal_d_createFolder: typeof createFolder;\n  type mediaSiteMediaV1Folder_universal_d_CreateFolderOptions = CreateFolderOptions;\n  const mediaSiteMediaV1Folder_universal_d_getFolder: typeof getFolder;\n  const mediaSiteMediaV1Folder_universal_d_listFolders: typeof listFolders;\n  type mediaSiteMediaV1Folder_universal_d_ListFoldersOptions = ListFoldersOptions;\n  const mediaSiteMediaV1Folder_universal_d_searchFolders: typeof searchFolders;\n  type mediaSiteMediaV1Folder_universal_d_SearchFoldersOptions = SearchFoldersOptions;\n  const mediaSiteMediaV1Folder_universal_d_updateFolder: typeof updateFolder;\n  type mediaSiteMediaV1Folder_universal_d_UpdateFolder = UpdateFolder;\n  type mediaSiteMediaV1Folder_universal_d_UpdateFolderOptions = UpdateFolderOptions;\n  const mediaSiteMediaV1Folder_universal_d_generateFolderDownloadUrl: typeof generateFolderDownloadUrl;\n  const mediaSiteMediaV1Folder_universal_d_bulkDeleteFolders: typeof bulkDeleteFolders;\n  type mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersOptions = BulkDeleteFoldersOptions;\n  const mediaSiteMediaV1Folder_universal_d_bulkRestoreFoldersFromTrashBin: typeof bulkRestoreFoldersFromTrashBin;\n  const mediaSiteMediaV1Folder_universal_d_listDeletedFolders: typeof listDeletedFolders;\n  type mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersOptions = ListDeletedFoldersOptions;\n  namespace mediaSiteMediaV1Folder_universal_d {\n    export {\n      mediaSiteMediaV1Folder_universal_d_Folder as Folder,\n      State$1 as State,\n      Namespace$1 as Namespace,\n      mediaSiteMediaV1Folder_universal_d_CreateFolderRequest as CreateFolderRequest,\n      mediaSiteMediaV1Folder_universal_d_CreateFolderResponse as CreateFolderResponse,\n      mediaSiteMediaV1Folder_universal_d_GetFolderRequest as GetFolderRequest,\n      mediaSiteMediaV1Folder_universal_d_GetFolderResponse as GetFolderResponse,\n      mediaSiteMediaV1Folder_universal_d_ListFoldersRequest as ListFoldersRequest,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      mediaSiteMediaV1Folder_universal_d_ListFoldersResponse as ListFoldersResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      mediaSiteMediaV1Folder_universal_d_SearchFoldersRequest as SearchFoldersRequest,\n      RootFolder$1 as RootFolder,\n      mediaSiteMediaV1Folder_universal_d_SearchFoldersResponse as SearchFoldersResponse,\n      mediaSiteMediaV1Folder_universal_d_UpdateFolderRequest as UpdateFolderRequest,\n      mediaSiteMediaV1Folder_universal_d_UpdateFolderResponse as UpdateFolderResponse,\n      UnsupportedRequestValueError$1 as UnsupportedRequestValueError,\n      mediaSiteMediaV1Folder_universal_d_GenerateFolderDownloadUrlRequest as GenerateFolderDownloadUrlRequest,\n      mediaSiteMediaV1Folder_universal_d_GenerateFolderDownloadUrlResponse as GenerateFolderDownloadUrlResponse,\n      mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersRequest as BulkDeleteFoldersRequest,\n      mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersResponse as BulkDeleteFoldersResponse,\n      mediaSiteMediaV1Folder_universal_d_BulkRestoreFoldersFromTrashBinRequest as BulkRestoreFoldersFromTrashBinRequest,\n      mediaSiteMediaV1Folder_universal_d_BulkRestoreFoldersFromTrashBinResponse as BulkRestoreFoldersFromTrashBinResponse,\n      mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersRequest as ListDeletedFoldersRequest,\n      mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersResponse as ListDeletedFoldersResponse,\n      mediaSiteMediaV1Folder_universal_d_DomainEvent as DomainEvent,\n      mediaSiteMediaV1Folder_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      mediaSiteMediaV1Folder_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      mediaSiteMediaV1Folder_universal_d_RestoreInfo as RestoreInfo,\n      mediaSiteMediaV1Folder_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      mediaSiteMediaV1Folder_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      mediaSiteMediaV1Folder_universal_d_ActionEvent as ActionEvent,\n      mediaSiteMediaV1Folder_universal_d_MessageEnvelope as MessageEnvelope,\n      mediaSiteMediaV1Folder_universal_d_IdentificationData as IdentificationData,\n      mediaSiteMediaV1Folder_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      mediaSiteMediaV1Folder_universal_d_WebhookIdentityType as WebhookIdentityType,\n      mediaSiteMediaV1Folder_universal_d_createFolder as createFolder,\n      mediaSiteMediaV1Folder_universal_d_CreateFolderOptions as CreateFolderOptions,\n      mediaSiteMediaV1Folder_universal_d_getFolder as getFolder,\n      mediaSiteMediaV1Folder_universal_d_listFolders as listFolders,\n      mediaSiteMediaV1Folder_universal_d_ListFoldersOptions as ListFoldersOptions,\n      mediaSiteMediaV1Folder_universal_d_searchFolders as searchFolders,\n      mediaSiteMediaV1Folder_universal_d_SearchFoldersOptions as SearchFoldersOptions,\n      mediaSiteMediaV1Folder_universal_d_updateFolder as updateFolder,\n      mediaSiteMediaV1Folder_universal_d_UpdateFolder as UpdateFolder,\n      mediaSiteMediaV1Folder_universal_d_UpdateFolderOptions as UpdateFolderOptions,\n      mediaSiteMediaV1Folder_universal_d_generateFolderDownloadUrl as generateFolderDownloadUrl,\n      mediaSiteMediaV1Folder_universal_d_bulkDeleteFolders as bulkDeleteFolders,\n      mediaSiteMediaV1Folder_universal_d_BulkDeleteFoldersOptions as BulkDeleteFoldersOptions,\n      mediaSiteMediaV1Folder_universal_d_bulkRestoreFoldersFromTrashBin as bulkRestoreFoldersFromTrashBin,\n      mediaSiteMediaV1Folder_universal_d_listDeletedFolders as listDeletedFolders,\n      mediaSiteMediaV1Folder_universal_d_ListDeletedFoldersOptions as ListDeletedFoldersOptions,\n    };\n  }\n  \n  interface StorageInfo {\n  }\n  interface ListStorageFilesRequest {\n      /** File media type. */\n      mediaTypes?: MediaType[];\n      /**\n       * Field name and order to sort by. One of: <br />\n       * * `displayName`\n       * * `updatedDate`\n       * * `sizeInBytes`\n       * * `lastUsedDate`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting;\n      /** Cursor and paging information. */\n      paging?: CursorPaging;\n      /** Get files with update date greater than set value */\n      fromUpdatedDate?: Date | null;\n      /** Get files with update date lower than set value */\n      toUpdatedDate?: Date | null;\n      /**\n       * Get files with size greater than set value\n       * @readonly\n       */\n      fromSizeInBytes?: string | null;\n      /**\n       * Get files with size greater than set value\n       * @readonly\n       */\n      toSizeInBytes?: string | null;\n      /**\n       * Term to search for. Possible terms include the value of a file's\n       * `displayName`, `mimeType`, and `label`. <br />\n       * For example, if a file's label is cat, the search term is 'cat'.\n       */\n      search?: string | null;\n      /** Get files that were added by the provided entity */\n      addedBy?: IdentityInfo;\n      /**\n       * A list of root folders. <br />\n       * Default: empty list will get files from all root folders.\n       */\n      rootFolders?: RootFolder[];\n      /**\n       * A list of namespaces to list files from <br/>\n       * Default: empty list will get files from all root folders.\n       * Note - Namespace value `Others` is not supported in this request and will produce an error\n       */\n      namespaces?: Namespace[];\n      /** Get files with update date greater than set value */\n      fromLastUsedDate?: Date | null;\n      /** Get files with update date lower than set value */\n      toLastUsedDate?: Date | null;\n  }\n  enum MediaType {\n      UNKNOWN = \"UNKNOWN\",\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      AUDIO = \"AUDIO\",\n      DOCUMENT = \"DOCUMENT\",\n      VECTOR = \"VECTOR\",\n      ARCHIVE = \"ARCHIVE\",\n      MODEL3D = \"MODEL3D\",\n      OTHER = \"OTHER\",\n      ICON = \"ICON\",\n      FLASH = \"FLASH\",\n      FONT = \"FONT\"\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface IdentityInfo {\n      /** The type of the user that uploaded the file */\n      identityType?: IdentityType;\n      /** User Id. empty when UNKNOWN */\n      identityId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  enum RootFolder {\n      /** Root of all site media */\n      MEDIA_ROOT = \"MEDIA_ROOT\",\n      /** Root of the trash system folder */\n      TRASH_ROOT = \"TRASH_ROOT\",\n      /** Root of all visitor uploads */\n      VISITOR_UPLOADS_ROOT = \"VISITOR_UPLOADS_ROOT\"\n  }\n  enum Namespace {\n      NO_NAMESPACE = \"NO_NAMESPACE\",\n      OTHERS = \"OTHERS\",\n      /** ANY = 2; */\n      WIX_VIDEO = \"WIX_VIDEO\",\n      /** _nsWixMusic */\n      WIX_MUSIC = \"WIX_MUSIC\",\n      /** _nsArtStore */\n      ALBUMS_AND_ART_STORE = \"ALBUMS_AND_ART_STORE\",\n      /** _nsDigitalProduct */\n      WIX_ECOM = \"WIX_ECOM\",\n      /** _nsPhotoShareApp */\n      PHOTO_SHARE_APP = \"PHOTO_SHARE_APP\",\n      /** _nsSharingApp, */\n      SHARING_APP = \"SHARING_APP\",\n      /** engage */\n      CHAT = \"CHAT\",\n      /** logobuilder */\n      LOGO_BUILDER = \"LOGO_BUILDER\",\n      /** WixExposure */\n      ALBUMS_OLD = \"ALBUMS_OLD\",\n      /** chat-mobile-uploads */\n      CHAT_MOBILE = \"CHAT_MOBILE\",\n      /** _nsWixForms */\n      WIX_FORMS = \"WIX_FORMS\",\n      /** _nsDraft */\n      DRAFTS = \"DRAFTS\"\n  }\n  interface ListStorageFilesResponse {\n      /** List of files in the Media Manager. */\n      files?: FileDescriptor[];\n      /** The next cursor if it exists. */\n      nextCursor?: PagingMetadataV2;\n  }\n  interface FileDescriptor {\n      /**\n       * File ID. Generated when a file is uploaded to the Media Manager.\n       * @readonly\n       */\n      _id?: string;\n      /** File name as it appears in the Media Manager. */\n      displayName?: string;\n      /**\n       * Static URL of the file.\n       * @readonly\n       */\n      url?: string;\n      /** ID of the file's parent folder. */\n      parentFolderId?: string | null;\n      /**\n       * File hash.\n       * @readonly\n       */\n      hash?: string;\n      /**\n       * Size of the uploaded file in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Whether the file is public or private. Learn more about private files ([SDK](https://dev.wix.com/docs/rest/assets/media/media-manager/files/private-files) | [REST](https://dev.wix.com/docs/sdk/backend-modules/media/files/private-files)).\n       * @readonly\n       */\n      private?: boolean;\n      /**\n       * Media file type.\n       * @readonly\n       */\n      mediaType?: MediaType;\n      /**\n       * Media file content.\n       * @readonly\n       */\n      media?: FileMedia;\n      /**\n       * Status of the file that was uploaded.\n       * * `FAILED`: The file failed to upload, for example, during media post processing.\n       * * `READY`: The file uploaded, finished all processing, and is ready for use.\n       * * `PENDING`: The file is processing and the URLs are not yet available. This response is returned when importing a file.\n       * @readonly\n       */\n      operationStatus?: OperationStatus;\n      /**\n       * URL where the file was uploaded from.\n       * @readonly\n       */\n      sourceUrl?: string | null;\n      /**\n       * URL of the file's thumbnail.\n       * @readonly\n       */\n      thumbnailUrl?: string | null;\n      /** Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. */\n      labels?: string[];\n      /**\n       * Date and time the file was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the file was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * The Wix site ID where the media file is stored.\n       * @readonly\n       */\n      siteId?: string;\n      /**\n       * State of the file.\n       * @readonly\n       */\n      state?: State;\n      /**\n       * Internal tags describing the item, can be used in specific client use cases\n       * @internal\n       */\n      internalTags?: string[];\n      /**\n       * The namespace containing the file\n       * @internal\n       */\n      namespace?: Namespace;\n      /**\n       * Information about the identity that added this file\n       * @internal\n       */\n      addedBy?: IdentityInfo;\n      /**\n       * The raw namespace containing the file\n       * @internal\n       * @readonly\n       */\n      rawNamespace?: string | null;\n      /**\n       * The date this file was last viewed from the last day, can be used to know if this file is still in use\n       * @internal\n       * @readonly\n       */\n      lastUsedDate?: Date | null;\n      /**\n       * The date this file was last viewed from the last day, can be used to know if this file is still in use\n       * @internal\n       * @readonly\n       */\n      mimeType?: string | null;\n  }\n  interface FileMedia extends FileMediaMediaOneOf {\n      /** Information about the image. */\n      image?: ImageMedia;\n      /** Information about the video. */\n      video?: string;\n      /** Information about the audio. */\n      audio?: AudioV2;\n      /** Information about the document. */\n      document?: string;\n      /** Information about the vector. */\n      vector?: ImageMedia;\n      /** Information about the archive. */\n      archive?: Archive;\n      /** Information about the 3D Model. */\n      model3d?: Model3D;\n      /**\n       * Information about other file types\n       * @internal\n       */\n      other?: OtherMedia;\n      /**\n       * Information about the icon.\n       * @internal\n       */\n      icon?: ImageMedia;\n      /**\n       * Information about flash\n       * @internal\n       */\n      flash?: OtherMedia;\n      /**\n       * Information about the font\n       * @internal\n       */\n      font?: FontMedia;\n  }\n  /** @oneof */\n  interface FileMediaMediaOneOf {\n      /** Information about the image. */\n      image?: ImageMedia;\n      /** Information about the video. */\n      video?: string;\n      /** Information about the audio. */\n      audio?: AudioV2;\n      /** Information about the document. */\n      document?: string;\n      /** Information about the vector. */\n      vector?: ImageMedia;\n      /** Information about the archive. */\n      archive?: Archive;\n      /** Information about the 3D Model. */\n      model3d?: Model3D;\n      /**\n       * Information about other file types\n       * @internal\n       */\n      other?: OtherMedia;\n      /**\n       * Information about the icon.\n       * @internal\n       */\n      icon?: ImageMedia;\n      /**\n       * Information about flash\n       * @internal\n       */\n      flash?: OtherMedia;\n      /**\n       * Information about the font\n       * @internal\n       */\n      font?: FontMedia;\n  }\n  interface ImageMedia {\n      /** Image data. */\n      image?: string;\n      /** Image colors. */\n      colors?: Colors;\n      /** Information about faces in the image. Use to crop images without cutting out faces. */\n      faces?: FaceRecognition[];\n      /**\n       * Information about the image preview.\n       * You can use this to display a preview for private images.\n       */\n      previewImage?: string;\n      /**\n       * Optional, An AI generated description of the image\n       * @readonly\n       */\n      caption?: string | null;\n      /**\n       * Optional, return true or false if the image has text, or empty for unknown\n       * @internal\n       * @readonly\n       */\n      containsText?: boolean | null;\n      /**\n       * Optional, return true or false if the image has text, or empty for unknown\n       * @internal\n       * @readonly\n       */\n      animated?: boolean | null;\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface Colors {\n      /** Main color of the image. */\n      prominent?: Color;\n      /** Color palette of the image. */\n      palette?: Color[];\n  }\n  interface Color {\n      /** HEX color. */\n      hex?: string | null;\n      /** RGB color. */\n      rgb?: ColorRGB;\n  }\n  interface ColorRGB {\n      /** Red channel. */\n      r?: number | null;\n      /** Green channel. */\n      g?: number | null;\n      /** Blue channel. */\n      b?: number | null;\n  }\n  /**\n   * Using this object you can crop images while centering on faces\n   * ------------------------\n   * |                      |\n   * |    x,y               |\n   * |    *--------         |\n   * |    |  .  . |         |\n   * |    |   |   | height  |\n   * |    |  \\ /  |         |\n   * |    |       |         |\n   * |    ---------         |\n   * |     width            |\n   * |                      |\n   * |______________________|\n   */\n  interface FaceRecognition {\n      /** The accuracy percentage of the face recognition. The likelihood that a face is detected. */\n      confidence?: number;\n      /** Top left x pixel coordinate of the face. */\n      x?: number;\n      /** Top left y pixel coordinate of the face. */\n      y?: number;\n      /** Face pixel height. */\n      height?: number;\n      /** Face pixel width. */\n      width?: number;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /**\n       * Video format\n       * Possible values: ['144p.mp4' '144p.webm' '240p.mp4' '240p.webm' '360p.mp4' '360p.webm' '480p.mp4' '480p.webm'\n       * '720p.mp4' '720p.webm' '1080p.mp4' '1080p.webm', 'hls' ]\n       */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface AudioV2 {\n      /** WixMedia ID. */\n      _id?: string;\n      /** Audio formats available for this file. */\n      assets?: string[];\n      /**\n       * Audio bitrate.\n       * @readonly\n       */\n      bitrate?: number | null;\n      /**\n       * Audio format.\n       * @readonly\n       */\n      format?: string | null;\n      /**\n       * Audio duration in seconds.\n       * @readonly\n       */\n      duration?: number | null;\n      /**\n       * Audio size in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n  }\n  interface Archive {\n      /** WixMedia ID. */\n      _id?: string;\n      /** Archive URL. */\n      url?: string;\n      /**\n       * Archive URL expiration date (when relevant).\n       * @readonly\n       */\n      urlExpirationDate?: Date | null;\n      /** Archive size in bytes. */\n      sizeInBytes?: string | null;\n      /** Archive filename. */\n      filename?: string | null;\n  }\n  interface Model3D {\n      /** WixMedia 3D ID. */\n      _id?: string;\n      /** 3D URL. */\n      url?: string;\n      /** 3D thumbnail Image */\n      thumbnail?: string;\n      /** 3D alt text. */\n      altText?: string | null;\n      /**\n       * 3D URL expiration date (when relevant).\n       * @readonly\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * 3D filename.\n       * @readonly\n       */\n      filename?: string | null;\n      /**\n       * 3D size in bytes.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n  }\n  interface OtherMedia {\n      /** WixMedia ID. for use with Site Media APIs only */\n      _id?: string;\n      /**\n       * The media type of the file: 'package', 'raw'\n       * @readonly\n       */\n      internalMediaType?: string | null;\n      /**\n       * size in bytes. Optional.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /** The file URL. */\n      url?: string;\n  }\n  interface FontMedia {\n      /** WixMedia ID. for use with Site Media APIs only */\n      _id?: string | null;\n      /**\n       * size in bytes. Optional.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /** The format of the font asset. ttf, woff, woff2 */\n      format?: string | null;\n      /** The font family name. */\n      family?: string | null;\n      /** The font name */\n      fontName?: string | null;\n      /** Font formats available for this file. */\n      assets?: FontAsset[];\n  }\n  interface FontAsset {\n      /**\n       * Keys for downloading different assets of a file.\n       * Default: `src`, key representing the original file's format and quality.\n       */\n      assetKey?: string | null;\n      /** The URL of the font asset. */\n      url?: string | null;\n      /** The format of the font asset. ttf, woff, woff2 */\n      format?: string | null;\n  }\n  enum OperationStatus {\n      /** File upload or processing failed */\n      FAILED = \"FAILED\",\n      /** File is ready for consumption */\n      READY = \"READY\",\n      /** File is waiting for processing or currently being processed */\n      PENDING = \"PENDING\"\n  }\n  enum State {\n      /** File is ready for consumption */\n      OK = \"OK\",\n      /** Deleted file */\n      DELETED = \"DELETED\"\n  }\n  interface PagingMetadataV2 {\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n  }\n  interface UnsupportedRequestValueError {\n      /** Optional A list of allowed values */\n      allowedValues?: string[];\n      /** The unsupported value send in the request */\n      requestValue?: string;\n  }\n  interface GetSiteStorageRequest {\n  }\n  interface GetSiteStorageResponse {\n      /** Site level storage details */\n      total?: StorageDetails;\n      /** Storage information about big files */\n      bigFiles?: StorageDetails;\n      /** Trash storage details */\n      trash?: StorageDetails;\n      /** Storage information by media types for public files */\n      storageByMediaType?: MediaTypeStorageDetails[];\n      /**\n       * The last date the storage information was calculated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** The quota details */\n      quota?: TotalQuota;\n      /** The user id of the site owner - use this id to identify files uploaded by the current site owner */\n      siteOwnerInfo?: IdentityInfo;\n  }\n  /** Information about storage */\n  interface StorageDetails {\n      /** The number of files */\n      fileCount?: number | null;\n      /**\n       * The size of the stored files in bytes\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n  }\n  /** Storage information of a specific media type */\n  interface MediaTypeStorageDetails {\n      /** The media type */\n      mediaType?: MediaType;\n      /** Storage details about the media type */\n      details?: StorageDetails;\n  }\n  interface TotalQuota {\n      /** Storage quota in bytes */\n      storage?: string | null;\n      /** Plans that are related to the quota */\n      plans?: Plans;\n      /** Time for which the quota is relevant - When the plans were retrieved from premium */\n      timestamp?: Date | null;\n  }\n  interface Plans {\n      /** Premium Plan */\n      premium?: Plan;\n      /** Upgrade URL - the URL which a site owner can use to upgrade their quota. May be empty if an upgrade is not available. */\n      upgradeUrl?: string;\n  }\n  interface Plan {\n      /**\n       * Plan ID - Premium product ID\n       * @readonly\n       */\n      _id?: string;\n      /** Plan name */\n      name?: string;\n      /** When the plan was created */\n      createdAt?: Date | null;\n      /** When then plan expires */\n      expiresAt?: Date | null;\n  }\n  /**\n   * Retrieves a list of files in the Media Manager.\n   *\n   * To retrieve a list of files from all the folders in the Media Manager\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId MEDIA.SITE_MEDIA_FILES_LIST\n   * @adminMethod\n   */\n  function listStorageFiles(options?: ListStorageFilesOptions): Promise<ListStorageFilesResponse>;\n  interface ListStorageFilesOptions {\n      /** File media type. */\n      mediaTypes?: MediaType[];\n      /**\n       * Field name and order to sort by. One of: <br />\n       * * `displayName`\n       * * `updatedDate`\n       * * `sizeInBytes`\n       * * `lastUsedDate`\n       * Default: `updatedDate` in `desc` order.\n       */\n      sort?: Sorting;\n      /** Cursor and paging information. */\n      paging?: CursorPaging;\n      /** Get files with update date greater than set value */\n      fromUpdatedDate?: Date | null;\n      /** Get files with update date lower than set value */\n      toUpdatedDate?: Date | null;\n      /**\n       * Get files with size greater than set value\n       * @readonly\n       */\n      fromSizeInBytes?: string | null;\n      /**\n       * Get files with size greater than set value\n       * @readonly\n       */\n      toSizeInBytes?: string | null;\n      /**\n       * Term to search for. Possible terms include the value of a file's\n       * `displayName`, `mimeType`, and `label`. <br />\n       * For example, if a file's label is cat, the search term is 'cat'.\n       */\n      search?: string | null;\n      /** Get files that were added by the provided entity */\n      addedBy?: IdentityInfo;\n      /**\n       * A list of root folders. <br />\n       * Default: empty list will get files from all root folders.\n       */\n      rootFolders?: RootFolder[];\n      /**\n       * A list of namespaces to list files from <br/>\n       * Default: empty list will get files from all root folders.\n       * Note - Namespace value `Others` is not supported in this request and will produce an error\n       */\n      namespaces?: Namespace[];\n      /** Get files with update date greater than set value */\n      fromLastUsedDate?: Date | null;\n      /** Get files with update date lower than set value */\n      toLastUsedDate?: Date | null;\n  }\n  /**\n   * Get information about the site storage\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId MEDIA.SITE_MEDIA_STORAGE_READ\n   * @adminMethod\n   */\n  function getSiteStorage(): Promise<GetSiteStorageResponse>;\n  \n  type mediaSiteMediaV1StorageInfo_universal_d_StorageInfo = StorageInfo;\n  type mediaSiteMediaV1StorageInfo_universal_d_ListStorageFilesRequest = ListStorageFilesRequest;\n  type mediaSiteMediaV1StorageInfo_universal_d_MediaType = MediaType;\n  const mediaSiteMediaV1StorageInfo_universal_d_MediaType: typeof MediaType;\n  type mediaSiteMediaV1StorageInfo_universal_d_Sorting = Sorting;\n  type mediaSiteMediaV1StorageInfo_universal_d_SortOrder = SortOrder;\n  const mediaSiteMediaV1StorageInfo_universal_d_SortOrder: typeof SortOrder;\n  type mediaSiteMediaV1StorageInfo_universal_d_CursorPaging = CursorPaging;\n  type mediaSiteMediaV1StorageInfo_universal_d_IdentityInfo = IdentityInfo;\n  type mediaSiteMediaV1StorageInfo_universal_d_IdentityType = IdentityType;\n  const mediaSiteMediaV1StorageInfo_universal_d_IdentityType: typeof IdentityType;\n  type mediaSiteMediaV1StorageInfo_universal_d_RootFolder = RootFolder;\n  const mediaSiteMediaV1StorageInfo_universal_d_RootFolder: typeof RootFolder;\n  type mediaSiteMediaV1StorageInfo_universal_d_Namespace = Namespace;\n  const mediaSiteMediaV1StorageInfo_universal_d_Namespace: typeof Namespace;\n  type mediaSiteMediaV1StorageInfo_universal_d_ListStorageFilesResponse = ListStorageFilesResponse;\n  type mediaSiteMediaV1StorageInfo_universal_d_FileDescriptor = FileDescriptor;\n  type mediaSiteMediaV1StorageInfo_universal_d_FileMedia = FileMedia;\n  type mediaSiteMediaV1StorageInfo_universal_d_FileMediaMediaOneOf = FileMediaMediaOneOf;\n  type mediaSiteMediaV1StorageInfo_universal_d_ImageMedia = ImageMedia;\n  type mediaSiteMediaV1StorageInfo_universal_d_FocalPoint = FocalPoint;\n  type mediaSiteMediaV1StorageInfo_universal_d_Colors = Colors;\n  type mediaSiteMediaV1StorageInfo_universal_d_Color = Color;\n  type mediaSiteMediaV1StorageInfo_universal_d_ColorRGB = ColorRGB;\n  type mediaSiteMediaV1StorageInfo_universal_d_FaceRecognition = FaceRecognition;\n  type mediaSiteMediaV1StorageInfo_universal_d_VideoResolution = VideoResolution;\n  type mediaSiteMediaV1StorageInfo_universal_d_AudioV2 = AudioV2;\n  type mediaSiteMediaV1StorageInfo_universal_d_Archive = Archive;\n  type mediaSiteMediaV1StorageInfo_universal_d_Model3D = Model3D;\n  type mediaSiteMediaV1StorageInfo_universal_d_OtherMedia = OtherMedia;\n  type mediaSiteMediaV1StorageInfo_universal_d_FontMedia = FontMedia;\n  type mediaSiteMediaV1StorageInfo_universal_d_FontAsset = FontAsset;\n  type mediaSiteMediaV1StorageInfo_universal_d_OperationStatus = OperationStatus;\n  const mediaSiteMediaV1StorageInfo_universal_d_OperationStatus: typeof OperationStatus;\n  type mediaSiteMediaV1StorageInfo_universal_d_State = State;\n  const mediaSiteMediaV1StorageInfo_universal_d_State: typeof State;\n  type mediaSiteMediaV1StorageInfo_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type mediaSiteMediaV1StorageInfo_universal_d_Cursors = Cursors;\n  type mediaSiteMediaV1StorageInfo_universal_d_UnsupportedRequestValueError = UnsupportedRequestValueError;\n  type mediaSiteMediaV1StorageInfo_universal_d_GetSiteStorageRequest = GetSiteStorageRequest;\n  type mediaSiteMediaV1StorageInfo_universal_d_GetSiteStorageResponse = GetSiteStorageResponse;\n  type mediaSiteMediaV1StorageInfo_universal_d_StorageDetails = StorageDetails;\n  type mediaSiteMediaV1StorageInfo_universal_d_MediaTypeStorageDetails = MediaTypeStorageDetails;\n  type mediaSiteMediaV1StorageInfo_universal_d_TotalQuota = TotalQuota;\n  type mediaSiteMediaV1StorageInfo_universal_d_Plans = Plans;\n  type mediaSiteMediaV1StorageInfo_universal_d_Plan = Plan;\n  const mediaSiteMediaV1StorageInfo_universal_d_listStorageFiles: typeof listStorageFiles;\n  type mediaSiteMediaV1StorageInfo_universal_d_ListStorageFilesOptions = ListStorageFilesOptions;\n  const mediaSiteMediaV1StorageInfo_universal_d_getSiteStorage: typeof getSiteStorage;\n  namespace mediaSiteMediaV1StorageInfo_universal_d {\n    export {\n      mediaSiteMediaV1StorageInfo_universal_d_StorageInfo as StorageInfo,\n      mediaSiteMediaV1StorageInfo_universal_d_ListStorageFilesRequest as ListStorageFilesRequest,\n      mediaSiteMediaV1StorageInfo_universal_d_MediaType as MediaType,\n      mediaSiteMediaV1StorageInfo_universal_d_Sorting as Sorting,\n      mediaSiteMediaV1StorageInfo_universal_d_SortOrder as SortOrder,\n      mediaSiteMediaV1StorageInfo_universal_d_CursorPaging as CursorPaging,\n      mediaSiteMediaV1StorageInfo_universal_d_IdentityInfo as IdentityInfo,\n      mediaSiteMediaV1StorageInfo_universal_d_IdentityType as IdentityType,\n      mediaSiteMediaV1StorageInfo_universal_d_RootFolder as RootFolder,\n      mediaSiteMediaV1StorageInfo_universal_d_Namespace as Namespace,\n      mediaSiteMediaV1StorageInfo_universal_d_ListStorageFilesResponse as ListStorageFilesResponse,\n      mediaSiteMediaV1StorageInfo_universal_d_FileDescriptor as FileDescriptor,\n      mediaSiteMediaV1StorageInfo_universal_d_FileMedia as FileMedia,\n      mediaSiteMediaV1StorageInfo_universal_d_FileMediaMediaOneOf as FileMediaMediaOneOf,\n      mediaSiteMediaV1StorageInfo_universal_d_ImageMedia as ImageMedia,\n      mediaSiteMediaV1StorageInfo_universal_d_FocalPoint as FocalPoint,\n      mediaSiteMediaV1StorageInfo_universal_d_Colors as Colors,\n      mediaSiteMediaV1StorageInfo_universal_d_Color as Color,\n      mediaSiteMediaV1StorageInfo_universal_d_ColorRGB as ColorRGB,\n      mediaSiteMediaV1StorageInfo_universal_d_FaceRecognition as FaceRecognition,\n      mediaSiteMediaV1StorageInfo_universal_d_VideoResolution as VideoResolution,\n      mediaSiteMediaV1StorageInfo_universal_d_AudioV2 as AudioV2,\n      mediaSiteMediaV1StorageInfo_universal_d_Archive as Archive,\n      mediaSiteMediaV1StorageInfo_universal_d_Model3D as Model3D,\n      mediaSiteMediaV1StorageInfo_universal_d_OtherMedia as OtherMedia,\n      mediaSiteMediaV1StorageInfo_universal_d_FontMedia as FontMedia,\n      mediaSiteMediaV1StorageInfo_universal_d_FontAsset as FontAsset,\n      mediaSiteMediaV1StorageInfo_universal_d_OperationStatus as OperationStatus,\n      mediaSiteMediaV1StorageInfo_universal_d_State as State,\n      mediaSiteMediaV1StorageInfo_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      mediaSiteMediaV1StorageInfo_universal_d_Cursors as Cursors,\n      mediaSiteMediaV1StorageInfo_universal_d_UnsupportedRequestValueError as UnsupportedRequestValueError,\n      mediaSiteMediaV1StorageInfo_universal_d_GetSiteStorageRequest as GetSiteStorageRequest,\n      mediaSiteMediaV1StorageInfo_universal_d_GetSiteStorageResponse as GetSiteStorageResponse,\n      mediaSiteMediaV1StorageInfo_universal_d_StorageDetails as StorageDetails,\n      mediaSiteMediaV1StorageInfo_universal_d_MediaTypeStorageDetails as MediaTypeStorageDetails,\n      mediaSiteMediaV1StorageInfo_universal_d_TotalQuota as TotalQuota,\n      mediaSiteMediaV1StorageInfo_universal_d_Plans as Plans,\n      mediaSiteMediaV1StorageInfo_universal_d_Plan as Plan,\n      mediaSiteMediaV1StorageInfo_universal_d_listStorageFiles as listStorageFiles,\n      mediaSiteMediaV1StorageInfo_universal_d_ListStorageFilesOptions as ListStorageFilesOptions,\n      mediaSiteMediaV1StorageInfo_universal_d_getSiteStorage as getSiteStorage,\n    };\n  }\n  \n  export { mediaEnterprisePublicMediaV1EnterpriseCategory_universal_d as enterpriseMediaCategories, mediaEnterprisePublicMediaV1EnterpriseItem_universal_d as enterpriseMediaItems, mediaSiteMediaV1FileDescriptor_universal_d as files, mediaSiteMediaV1Folder_universal_d as folders, mediaGenerationV1GeneratedImage_universal_d as generation, mediaSiteMediaV1StorageInfo_universal_d as storage };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-pricing-plans-backend.v2.d.ts",
      "content": "declare module \"wix-pricing-plans-backend.v2\" {\n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * An order object includes all of the details related to the purchase of a Pricing Plan.\n   * You can manage existing orders, create offline orders, and preview orders not yet purchased.\n   *\n   * Orders are based on pricing models based on the payment and duration cycles for each plan. See here to\n   * [learn more about pricing models](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/introduction#wix-pricing-plans_pricing-plans_introduction_pricing-models).\n   */\n  interface Order {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * ID of the plan purchased with the order. See [Plans for more information about pricing plans](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans/introduction).\n       * @readonly\n       */\n      planId?: string;\n      /**\n       * ID of the related Wix subscription.\n       *\n       * Every pricing plan order corresponds to a Wix subscription, including orders for single payment plans. See here\n       * for a [Pricing Plans overview](https://support.wix.com/en/article/pricing-plans-an-overview#create-plans-to-suit-your-business).\n       * @readonly\n       */\n      subscriptionId?: string;\n      /**\n       * Wix Pay order ID.\n       *\n       * Provided by Wix whether the order is created online or offline. The field is omitted when the order is free.\n       * @readonly\n       */\n      wixPayOrderId?: string | null;\n      /**\n       * The buyer's IDs. Includes `memberId` and `contactId`.\n       *\n       * Currently, Pricing Plan purchases are limited to members only. `contactId` is returned,\n       * but a buyer will not be able to purchase a plan without a `memberId`.\n       * @readonly\n       */\n      buyer?: Buyer;\n      /**\n       * __Deprecated.__ Use `pricing` instead. This property will be removed on September 30, 2022.\n       * @readonly\n       */\n      priceDetails?: PriceDetails;\n      /**\n       * Order pricing model, price, and payment schedule.\n       *\n       * [Learn more about pricing models](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/introduction#wix-pricing-plans_pricing-plans_introduction_pricing-models).\n       * @readonly\n       */\n      pricing?: PricingDetails;\n      /**\n       * How the order was processed. One of:\n       * + `ONLINE`: The buyer purchased the plan using the site.\n       * + `OFFLINE`: The buyer made a manual, offline purchase without using the site.\n       * @readonly\n       */\n      type?: OrderType;\n      /**\n       * Method by which checkout was initiated on buyer's behalf.\n       * @internal\n       * @readonly\n       */\n      orderMethod?: OrderMethod;\n      /**\n       * Status of the order. One of:\n       * + `DRAFT`: Order has been initiated but payment hasn't been processed yet. The plan isn't yet available for use to the buyer.\n       * + `PENDING`: Order has been purchased and its start date is set in the future.\n       * + `ACTIVE`: Order has been processed. The plan is available for use.\n       * + `PAUSED`: Order, and use of the plan, is [paused](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/pause-order). The order, and use of the plan, can be [resumed](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/resume-order).\n       * + `ENDED`: Order has completed its duration and is no longer available for use.\n       * + `CANCELED`: Order has been [canceled](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/cancel-order).\n       * @readonly\n       */\n      status?: OrderStatus;\n      /**\n       * Whether the order will be canceled at the next payment date.\n       *\n       * If `true`, the order status will be `CANCELED` and the next payment won't be charged. Omitted for single payment orders.\n       * @readonly\n       */\n      autoRenewCanceled?: boolean | null;\n      /**\n       * Details about the cancellation of an order.\n       *\n       * Only present if the status is `CANCELED`.\n       * @readonly\n       */\n      cancellation?: Cancellation;\n      /**\n       * Status of the last payment for the order.\n       * Updated automatically for online orders. Updated manually by the site owner for offline orders. One of:\n       * + `PAID`: The last payment was paid.\n       * + `REFUNDED`: The last payment was refunded.\n       * + `FAILED`: The last payment transaction didn't complete.\n       * + `UNPAID`: The last payment wasn't paid.\n       * + `PENDING`: Awaiting payment.\n       * + `NOT_APPLICABLE`: No payment was necessary. For example, for free plans or free trials.\n       * @readonly\n       */\n      lastPaymentStatus?: PaymentStatus;\n      /**\n       * Start date and time for the ordered plan.\n       * @readonly\n       */\n      startDate?: Date;\n      /**\n       * Current end date and time for the ordered plan.\n       *\n       * `endDate` may be updated over the course of an order. If the order is [paused](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/pause-order),\n       * it will have a later `endDate` once it [resumes](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/resume-order). `endDate` may also be [postponed](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/postpone-end-date).\n       *\n       * Omitted if the order is valid until canceled and still `ACTIVE`.\n       * @readonly\n       */\n      endDate?: Date;\n      /**\n       * List of periods during which the order is paused.\n       * @readonly\n       */\n      pausePeriods?: PausePeriod[];\n      /**\n       * Free trial period for the order, in days.\n       *\n       * Only available for recurring plans.\n       * @readonly\n       */\n      freeTrialDays?: number | null;\n      /**\n       * Earliest end date and time that the plan for the order can expire.\n       *\n       * Calculated by using the original end date plus any pause periods. Omitted if the order is active until canceled. Reserved for future use.\n       * @readonly\n       */\n      earliestEndDate?: Date;\n      /**\n       * Current payment cycle for the order.\n       *\n       * `currentCycle` will be omitted if the order's status is `CANCELED` or `ENDED`, or if the `startDate` hasn't passed yet.\n       * @readonly\n       */\n      currentCycle?: CurrentCycle;\n      /**\n       * Past and current cycles for the order.\n       * @internal\n       * @readonly\n       */\n      cycles?: OrderCycle[];\n      /**\n       * Plan name at the time of purchase.\n       * @readonly\n       */\n      planName?: string;\n      /**\n       * Plan description at the time of purchase\n       * @readonly\n       */\n      planDescription?: string;\n      /**\n       * Plan price as it was at the moment of order creation.\n       * @readonly\n       */\n      planPrice?: string;\n      /**\n       * Date and time the order was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the order was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Reference to the form and its submission that was used in checkout.\n       * @internal\n       * @readonly\n       */\n      formData?: FormData;\n      /**\n       * TODO PPL-1357: Remove when migration to new status is completed\n       * @internal\n       */\n      statusNew?: OrderStatus;\n  }\n  interface Buyer {\n      /**\n       * Member ID for a Wix site member. See [Members to learn more about a site's members](https://dev.wix.com/api/rest/members/members).\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * Contact ID for a Wix site contact. See [Contacts to learn more about a site's contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/contact-object).\n       * @readonly\n       */\n      contactId?: string;\n  }\n  interface PriceDetails extends PriceDetailsPricingModelOneOf {\n      /** Price of the order excluding tax, specified as a monetary amount. for example, `\"9.99\"`. */\n      subtotal?: string;\n      /** Total discount applied. */\n      discount?: string;\n      /** Tax applied. */\n      tax?: Tax;\n      /**\n       * Price after tax and discount is applied, specified as a monetary amount. For example, `\"13.98\"`.\n       *\n       * If no tax is applied, the amount is the same as `subtotal`.\n       */\n      total?: string;\n      /** Plan price as it was at the moment of order creation. */\n      planPrice?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Free trial period for the order in days. Only available for recurring plans. */\n      freeTrialDays?: number | null;\n      /** Coupon applied to the order. Empty means no coupon was applied. */\n      coupon?: Coupon;\n      /** Order has recurring payments. */\n      subscription?: Recurrence$1;\n      /** One-time payment. Order is valid for a specified duration. */\n      singlePaymentForDuration?: Duration$1;\n      /** One-time payment. Order is valid until it is canceled. */\n      singlePaymentUnlimited?: boolean | null;\n  }\n  /** @oneof */\n  interface PriceDetailsPricingModelOneOf {\n      /** Order has recurring payments. */\n      subscription?: Recurrence$1;\n      /** One-time payment. Order is valid for a specified duration. */\n      singlePaymentForDuration?: Duration$1;\n      /** One-time payment. Order is valid until it is canceled. */\n      singlePaymentUnlimited?: boolean | null;\n  }\n  interface Tax {\n      /** Name of the tax. For example, VAT. */\n      name?: string;\n      /** Whether tax is included in the original price. When `false`, tax is added at checkout. */\n      includedInPrice?: boolean;\n      /** Tax rate percentage, as a number between 0 and 100. For example, a 7% tax rate is `\"7.00\"`. */\n      rate?: string;\n      /** Total tax, specified as a monetary amount. For example, `\"3.99\"`. */\n      amount?: string;\n  }\n  /** An object specifying how often and for how long payments recur (may be forever). */\n  interface Recurrence$1 {\n      /** Length of one payment cycle. */\n      cycleDuration?: Duration$1;\n      /**\n       * Amount of payment cycles this subscription is valid for.\n       *\n       * `0` for unlimited or until-canceled.\n       */\n      cycleCount?: number | null;\n  }\n  /** A duration expressed in number of time units. */\n  interface Duration$1 {\n      /**\n       * The amount of a duration `unit` in a single payment cycle.\n       *\n       * Currently limited to support only `1`.\n       */\n      count?: number | null;\n      /** Unit of time for the cycle duration. */\n      unit?: PeriodUnit$1;\n  }\n  enum PeriodUnit$1 {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface Coupon {\n      /** Code of the applied coupon. */\n      code?: string;\n      /** Total discount of the coupon, as a monetary amount. */\n      amount?: string;\n      /**\n       * Coupon ID.\n       * @readonly\n       */\n      _id?: string;\n  }\n  interface PricingDetails extends PricingDetailsPricingModelOneOf {\n      /**\n       * Pricing details for all pricing models.\n       * @readonly\n       */\n      prices?: SpannedPrice[];\n      /** Pricing model for an order with recurring payment cycles. */\n      subscription?: Recurrence$1;\n      /** Pricing model for an order with a one-time payment and the order is valid for a specific amount of time. */\n      singlePaymentForDuration?: Duration$1;\n      /** Pricing model for an order with a one-time payment and the order is valid until canceled. */\n      singlePaymentUnlimited?: boolean | null;\n  }\n  /** @oneof */\n  interface PricingDetailsPricingModelOneOf {\n      /** Pricing model for an order with recurring payment cycles. */\n      subscription?: Recurrence$1;\n      /** Pricing model for an order with a one-time payment and the order is valid for a specific amount of time. */\n      singlePaymentForDuration?: Duration$1;\n      /** Pricing model for an order with a one-time payment and the order is valid until canceled. */\n      singlePaymentUnlimited?: boolean | null;\n  }\n  interface SpannedPrice {\n      /**\n       * Cycle duration to apply `price` for.\n       *\n       * Use with all pricing models.\n       * Can apply the same price to multiple payment cycles.\n       */\n      duration?: PriceDuration;\n      /** Order price. */\n      price?: Price;\n  }\n  interface PriceDuration {\n      /**\n       * Price starts to apply with this cycle.\n       *\n       * `1` is the first payment cycle for all pricing models.\n       */\n      cycleFrom?: number;\n      /**\n       * Amount of cycles to apply price for.\n       *\n       * For `subscription` pricing models with a finite number of cycles, the `numberOfCycles` is the same as `pricing.subscription.cycleCount`.\n       *\n       * For `subscription` pricing models that are unlimited or until-canceled, the `numberOfCycles` is not returned.\n       *\n       * For `singlePaymentForDuration` and `singlePaymentUnlimited` pricing models, the `numberOfCycles` is `1`.\n       */\n      numberOfCycles?: number | null;\n  }\n  interface Price {\n      /** Price of the order excluding tax, specified as a monetary amount. For example, `\"9.99\"`. */\n      subtotal?: string;\n      /**\n       * Coupon applied to the order.\n       *\n       * See Coupons [to learn more about coupons](https://dev.wix.com/api/rest/coupons).\n       */\n      coupon?: Coupon;\n      /** Total discount applied to the order. */\n      discount?: string;\n      /**\n       * Tax applied to the order.\n       *\n       * Tax is only applied if the site [has it configured](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection).\n       */\n      tax?: Tax;\n      /**\n       * Price after tax and discount is applied. Specified as a monetary amount, for example, `\"13.98\"`.\n       *\n       * If no tax is applied, the amount is the same as `subtotal`.\n       */\n      total?: string;\n      /**\n       * Three-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string;\n  }\n  enum OrderType {\n      UNDEFINED = \"UNDEFINED\",\n      /** Payments made by the buyer */\n      ONLINE = \"ONLINE\",\n      /** Payments managed manually by the site owner */\n      OFFLINE = \"OFFLINE\"\n  }\n  enum OrderMethod {\n      UNKNOWN = \"UNKNOWN\",\n      /** Mail Order / Telephone Order transaction */\n      MOTO = \"MOTO\",\n      /** Point of Sale transaction */\n      POS = \"POS\"\n  }\n  enum OrderStatus {\n      /** Order status undefined */\n      UNDEFINED = \"UNDEFINED\",\n      /** Order created, but hasn't been paid for yet. Filtered out in ListOrders response by default. */\n      DRAFT = \"DRAFT\",\n      /** Order has been paid for, but the start date is in the future */\n      PENDING = \"PENDING\",\n      /** Order is active */\n      ACTIVE = \"ACTIVE\",\n      /** Order is paused until site owner resumes it */\n      PAUSED = \"PAUSED\",\n      /** Order has ended */\n      ENDED = \"ENDED\",\n      /** Order has been canceled */\n      CANCELED = \"CANCELED\"\n  }\n  interface Cancellation {\n      /** Date and time the cancellation was requested. */\n      requestedDate?: Date;\n      /**\n       * Reason for the cancellation. One of:\n       * + `OWNER_ACTION`: Site owner canceled the order.\n       * + `MEMBER_ACTION`: Buyer initiated the cancellation.\n       * + `PAYMENT_FAILURE`: Payment transaction failed.\n       * + `PAYMENT_SETUP_FAILURE`: Buyer's payment details weren't set up correctly.\n       * + `UNKNOWN`: Reason for the cancellation is unknown.\n       */\n      cause?: CancellationCause;\n      /**\n       * When the cancellation takes effect. Set when cancelling the order. One of:\n       * + `IMMEDIATELY`: Cancellation occurs immediately and the buyer can no longer use the plan.\n       * + `NEXT_PAYMENT_DATE`: Cancellation occurs at the next payment date and time. Buyer can continue to use the plan until that date and time.\n       */\n      effectiveAt?: CancellationEffectiveAt;\n  }\n  enum CancellationCause {\n      /** Cancellation initiator undefined */\n      UNDEFINED = \"UNDEFINED\",\n      /** Order was canceled by site owner (default if canceled by user or service identity) */\n      OWNER_ACTION = \"OWNER_ACTION\",\n      /** Order was canceled by member (default if canceled by member identity) */\n      MEMBER_ACTION = \"MEMBER_ACTION\",\n      /** Order was canceled because of payment failure */\n      PAYMENT_FAILURE = \"PAYMENT_FAILURE\",\n      /** Order was canceled because of payment setup failure */\n      PAYMENT_SETUP_FAILURE = \"PAYMENT_SETUP_FAILURE\",\n      /** Order was cancelled because of an unknown reason. It's not possible to know with certain payment providers (e.g. paypal) */\n      UNKNOWN = \"UNKNOWN\"\n  }\n  enum CancellationEffectiveAt {\n      /** Cancellation time undefined */\n      UNDEFINED = \"UNDEFINED\",\n      /** Will cancel the order now, i.e. update validUntil to the current date */\n      IMMEDIATELY = \"IMMEDIATELY\",\n      /** Will cancel the order at the date when next payment should have been made */\n      NEXT_PAYMENT_DATE = \"NEXT_PAYMENT_DATE\"\n  }\n  enum PaymentStatus {\n      /** Payment status undefined */\n      UNDEFINED = \"UNDEFINED\",\n      /** Payment has been paid */\n      PAID = \"PAID\",\n      /** Payment has been refunded */\n      REFUNDED = \"REFUNDED\",\n      /** Recurring payment has failed */\n      FAILED = \"FAILED\",\n      /** Payment has not been paid */\n      UNPAID = \"UNPAID\",\n      /** Billing has been initialized, but actual charge is yet to be made. Can happen for free trial and PayPal */\n      PENDING = \"PENDING\",\n      /** Used in cases where the plan is free */\n      NOT_APPLICABLE = \"NOT_APPLICABLE\"\n  }\n  interface PausePeriod {\n      /**\n       * Status of the pause period. One of:\n       *\n       * + `ACTIVE`: Status while the order is [paused](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/pause-order).\n       * + `ENDED`: Status when the order is [resumed](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/resume-order).\n       */\n      status?: Status;\n      /** Start date and time of the pause period. */\n      pauseDate?: Date;\n      /**\n       * End date and time of the pause period.\n       *\n       * Omitted while the pause period remains `ACTIVE`.\n       */\n      resumeDate?: Date;\n  }\n  enum Status {\n      UNDEFINED = \"UNDEFINED\",\n      /** Order suspension is active */\n      ACTIVE = \"ACTIVE\",\n      /** Order suspension has ended */\n      ENDED = \"ENDED\"\n  }\n  /**\n   * Current cycle will be empty when order is cancelled, expired or order start date is in the future\n   * Current cycle start and end dates take into account free trial days and suspensions\n   */\n  interface CurrentCycle {\n      /**\n       * Index of the current payment cycle in the order.\n       *\n       * `0` when order is in a free trial period. In all other cases, the index starts with `1`.\n       */\n      index?: number;\n      /** Start date and time for the current payment cycle. */\n      startedDate?: Date;\n      /** End date and time for the current payment cycle. */\n      endedDate?: Date;\n  }\n  /** Order cycle start and end dates take into account free trial days and suspensions */\n  interface OrderCycle {\n      /**\n       * Index of this cycle in the order.\n       *\n       * `0` when order is in a free trial period. In all other cases, the index starts with `1`.\n       */\n      index?: number;\n      /** Start date and time for this order cycle. */\n      startedDate?: Date;\n      /** End date and time for this order cycle. */\n      endedDate?: Date;\n  }\n  interface FormData {\n      /** Reference to the form which was used to gather additional data in checkout. */\n      formId?: string | null;\n      /** Reference to the submission of the form. */\n      submissionId?: string | null;\n      /**\n       * Data submitted to the form at checkout.\n       * This field is only returned when `FieldSet.FULL` is specified when fetching the data\n       * @readonly\n       */\n      submissionData?: Record<string, any>;\n  }\n  interface MemberGetOrderRequest {\n      /** Order ID. */\n      _id: string;\n      fieldSet?: Set;\n  }\n  enum Set {\n      /** Same behavior as BASIC */\n      UNKNOWN_SET = \"UNKNOWN_SET\",\n      /**\n       * Returns fields of the entity that are available in the database.\n       * By default a field is available in the database unless explicitly specified in the documentation\n       */\n      BASIC = \"BASIC\",\n      /**\n       * Returns all fields in the entity.\n       * This might make additional calls to gather the full entity\n       */\n      FULL = \"FULL\"\n  }\n  interface MemberGetOrderResponse {\n      /** Requested order. */\n      order?: Order;\n  }\n  interface MemberListOrdersRequest {\n      /** Filter by plan IDs. */\n      planIds?: string[];\n      /** Filter for orders where auto renewal was canceled. */\n      autoRenewCanceled?: boolean | null;\n      /** Filter by order status. */\n      orderStatuses?: OrderStatus[];\n      /** Filter by payment status. */\n      paymentStatuses?: PaymentStatus[];\n      /** Limit the number of pricing plans returned. Default limit is 50. */\n      limit?: number | null;\n      /** Number of entries to offset. */\n      offset?: number | null;\n      /** Sorting direction (defaults to ASC) and field to sort by. [See available fields here](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort). */\n      sorting?: Sorting$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface MemberListOrdersResponse {\n      orders?: Order[];\n      /** Object containing paging-related data (number of orders returned, offset). */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  /**\n   * TODO: Write orders filter and sort docs page\n   * Retrieves a list of up to 1,000 orders, based on the provided paging, [sorting, and filtering](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort).\n   */\n  interface QueryOrdersRequest {\n      query?: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryOrdersResponse {\n      /** Order data. */\n      plans?: Order[];\n      /** Paging-related data (number of orders returned, offset). */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface RequestCancellationRequest {\n      /** Order ID. */\n      _id: string;\n      /** Required. Whether to cancel the order effective immediately or at the next payment date. One-time orders can only be canceled immediately. */\n      effectiveAt?: CancellationEffectiveAt;\n  }\n  interface RequestCancellationResponse {\n  }\n  /**\n   * Emitted when an order is canceled immediately or when cycle ends for an order with canceled auto renewal\n   *\n   * To determine the specific reason of the cancellation check `order.cancellation.cause` field.\n   */\n  interface OrderCanceled {\n      /** Canceled order. */\n      order?: Order;\n  }\n  interface CreateOnlineOrderRequest {\n      /** Plan ID. */\n      planId: string;\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Provided if checkout is initiated on buyer's behalf. */\n      onBehalf?: OnBehalf;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  interface OnBehalf {\n      /** Member ID. */\n      memberId?: string;\n      /** Method by which checkout is initiated on buyer's behalf */\n      orderMethod?: OrderMethod;\n  }\n  interface CreateOnlineOrderResponse {\n      /** Order. */\n      order?: Order;\n  }\n  interface CouponsError {\n      couponCode?: string;\n      planId?: string;\n  }\n  interface CreateGuestOnlineOrderRequest {\n      /** Plan ID. */\n      planId: string;\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Captcha data to prove you are not a robot */\n      captcha: Captcha;\n      /** Visitor info */\n      guest: Guest;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  interface Captcha {\n      /** Token from captcha */\n      token?: string;\n  }\n  interface Guest {\n      /** Email for checkout */\n      email?: string;\n  }\n  interface CreateGuestOnlineOrderResponse {\n      /** Order. */\n      order?: Order;\n  }\n  interface CreateOfflineOrderRequest {\n      /** ID of the plan being ordered. See [Plans for more information about plan IDs](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans). */\n      planId: string;\n      /** ID of the member ordering the plan. See [Members for more information about member IDs](https://dev.wix.com/api/rest/members/members). */\n      memberId: string;\n      /**\n       * Start date and time for the ordered plan.\n       *\n       * Default: Current date and time\n       */\n      startDate?: Date;\n      /**\n       * Whether the order is paid.\n       *\n       * Default: `false`\n       */\n      paid?: boolean | null;\n      /**\n       * Coupon code to apply.\n       *\n       * See [Coupons to learn more](https://dev.wix.com/api/rest/coupons).\n       */\n      couponCode?: string | null;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  interface CreateOfflineOrderResponse {\n      /** Order. */\n      order?: Order;\n  }\n  interface GetOnlineOrderPreviewRequest {\n      /** Plan ID. */\n      planId: string;\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n  }\n  interface GetOnlineOrderPreviewResponse {\n      /** Will be missing if limit is exceeded */\n      order?: Order;\n      /**\n       * Whether the purchase limit has already been reached for this plan by this member.\n       * Always false for plans without purchase limits.\n       */\n      purchaseLimitExceeded?: boolean;\n  }\n  interface GetGuestOnlineOrderPreviewRequest {\n      /** Plan ID. */\n      planId: string;\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      email: string;\n  }\n  interface GetGuestOnlineOrderPreviewResponse {\n      /** Will be missing if limit is exceeded */\n      order?: Order;\n      /**\n       * Whether the purchase limit has already been reached for this plan by this email.\n       * Always false for plans without purchase limits.\n       */\n      purchaseLimitExceeded?: boolean;\n  }\n  interface GetOfflineOrderPreviewRequest {\n      /** ID of the plan of the previewed order. See [Plans for more information about plan IDs](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans). */\n      planId: string;\n      /** Member ID of the buyer the previewed order is for. See [Members for more information about member IDs](https://dev.wix.com/api/rest/members/members). */\n      memberId: string;\n      /**\n       * Start date and time for plan of the previewed order.\n       *\n       * Default: Current date and time\n       */\n      startDate?: Date;\n      /** Coupon code to apply. See [Coupons to learn more](https://dev.wix.com/api/rest/coupons). */\n      couponCode?: string | null;\n  }\n  interface GetOfflineOrderPreviewResponse {\n      /** The previewed order, as if the plan had been ordered. */\n      order?: Order;\n      /**\n       * Whether this previewed order would exceed the permitted amount of purchases available\n       * for this plan for this buyer.\n       *\n       * Always `false` for plans that do not have purchase limits.\n       */\n      purchaseLimitExceeded?: boolean;\n  }\n  interface GetPricePreviewRequest {\n      /** ID of plan to preview. */\n      planId: string;\n      /**\n       * Coupon code to apply.\n       *\n       * See Coupons [to learn more](https://dev.wix.com/api/rest/coupons).\n       */\n      couponCode?: string | null;\n  }\n  interface GetPricePreviewResponse {\n      /** __Deprecated.__ Use `prices` instead. This property will be removed on September 30, 2022. */\n      price?: PriceDetails;\n      /** Pricing details. */\n      prices?: SpannedPrice[];\n  }\n  interface ChangeStartDateRequest {\n      /** Draft order ID. */\n      orderId: string;\n      /** New valid from date (timestamp). */\n      startDate: Date;\n  }\n  interface ChangeStartDateResponse {\n      /** Updated draft order. */\n      order?: Order;\n  }\n  interface OrderStartDateChanged {\n      /** Order whose `startDate` changed. */\n      order?: Order;\n  }\n  interface ApplyCouponRequest {\n      /** Draft order ID. */\n      orderId: string;\n      /** Coupon code to apply. */\n      couponCode: string;\n  }\n  interface ApplyCouponResponse {\n      /** Order with applied coupon and recalculated tax. */\n      order?: Order;\n  }\n  interface SetSubmissionRequest {\n      orderId: string;\n      submissionId: string;\n  }\n  interface SetSubmissionResponse {\n      /** Order with submission id */\n      order?: Order;\n  }\n  interface OrderPurchased {\n      /** Order that was paid for. If a free or an offline order, the order that was created. */\n      order?: Order;\n  }\n  interface OrderStarted {\n      /** Order that reached its `startDate`. */\n      order?: Order;\n  }\n  /**\n   * Triggered at the start of a new payment cycle for an existing order.\n   *\n   * This webhook does not trigger at the initial start of an offline order.\n   */\n  interface OrderCycleStarted {\n      /** Order whose new cycle started. */\n      order?: Order;\n      /** Number of the payment cycle will be 0 when the order is in the free trial period. In other cases, the cycle number starts from 1. */\n      cycleNumber?: number;\n  }\n  /** Emitted when a recurring order is canceled for the next payment cycle */\n  interface OrderAutoRenewCanceled {\n      /** Order that is canceled, effective at the end of the current payment cycle. */\n      order?: Order;\n  }\n  interface OrderEnded {\n      /** Order that ended. */\n      order?: Order;\n  }\n  interface GetOrderRequest {\n      /** Order ID. */\n      _id: string;\n      fieldSet?: Set;\n  }\n  interface GetOrderResponse {\n      /** Order. */\n      order?: Order;\n  }\n  interface ListOrdersRequest {\n      /** Filter by a buyer's member ID. See [Members to learn more about a site's members](https://dev.wix.com/api/rest/members/members). */\n      buyerIds?: string[];\n      /** Filter by plan IDs. See [Plans to learn more about pricing plans](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans). */\n      planIds?: string[];\n      /** Filter by whether or not the auto-renewal of recurring orders was canceled. */\n      autoRenewCanceled?: boolean | null;\n      /** Filter by order status. */\n      orderStatuses?: OrderStatus[];\n      /** Filter by payment status. */\n      paymentStatuses?: PaymentStatus[];\n      /**\n       * Number of orders to return. See [Pagination](https://dev.wix.com/api/rest/getting-started/sorting-and-paging#getting-started_sorting-and-paging_paging) for more information.\n       *\n       * Max: `50`\n       */\n      limit?: number | null;\n      /** Number of orders to skip in the current sort order. */\n      offset?: number | null;\n      /**\n       * Sort order.\n       *\n       * Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Default: `DESC`\n       */\n      sorting?: Sorting$1;\n  }\n  interface ListOrdersResponse {\n      /** List of orders. */\n      orders?: Order[];\n      /** Object containing paging-related data (number of orders returned, offset). */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface OrdersQueryOrdersRequest {\n      /** [See available fields here](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort). */\n      query?: QueryV2$1;\n  }\n  interface OrdersQueryOrdersResponse {\n      /** Retrieved orders. */\n      plans?: Order[];\n      /** Paging-related data (number of orders returned, offset). */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface GetOrdersStatsRequest {\n  }\n  interface GetOrdersStatsResponse {\n      /** Total number of orders. */\n      totalOrderCount?: number;\n      /** Number of active orders. */\n      activeOrderCount?: number;\n  }\n  interface GetAvailableOrderActionsRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface GetAvailableOrderActionsResponse {\n      /** Whether the order can be suspended. */\n      suspendable?: boolean;\n      /** If the order cannot be suspended, a reason is returned here. */\n      notSuspendableReason?: ReasonNotSuspendable;\n      /** Whether the order can be canceled by the buyer. */\n      cancelableByBuyer?: boolean;\n  }\n  enum ReasonNotSuspendable {\n      /** Reason unknown */\n      UNDEFINED = \"UNDEFINED\",\n      /** Saved in the database but is awaiting payment. Non-active orders cannot be suspended */\n      PENDING = \"PENDING\",\n      /** Trial orders cannot be suspended */\n      TRIAL = \"TRIAL\",\n      /** Canceled orders cannot be suspended */\n      CANCELED = \"CANCELED\",\n      /** Ended orders cannot be suspended */\n      ENDED = \"ENDED\",\n      /** Paid for orders with future start dates cannot be suspended */\n      NOT_STARTED = \"NOT_STARTED\",\n      /** Order is already suspended */\n      ALREADY_SUSPENDED = \"ALREADY_SUSPENDED\",\n      /** Orders based on recurring payments using older Stripe versions cannot be suspended */\n      OLD_STRIPE = \"OLD_STRIPE\"\n  }\n  interface PostponeEndDateRequest {\n      /** Order ID. */\n      _id: string;\n      /**\n       * New end date and time.\n       *\n       * Must be later than the current end date and time.\n       */\n      endDate?: Date;\n  }\n  interface PostponeEndDateResponse {\n  }\n  interface OrderEndDatePostponed {\n      /** Order whose `endDate` was postponed. */\n      order?: Order;\n  }\n  interface CancelOrderRequest {\n      /** Order ID. */\n      _id: string;\n      /** __Required.__ When the order will be canceled. One-time orders can only be canceled `IMMEDIATELY`. */\n      effectiveAt?: CancellationEffectiveAt;\n  }\n  interface CancelOrderResponse {\n  }\n  interface MarkAsPaidRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface MarkAsPaidResponse {\n  }\n  interface OrderMarkedAsPaid {\n      /** Order that was marked as paid. */\n      order?: Order;\n  }\n  interface PauseOrderRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface PauseOrderResponse {\n  }\n  interface OrderPaused {\n      /** Paused order. */\n      order?: Order;\n  }\n  interface BulkPauseOrderRequest {\n      /** List of Order IDs. */\n      ids: string[];\n      /** Set to true to return Order entity in response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkPauseOrderResponse {\n      results?: BulkOrderResult[];\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkOrderResult {\n      itemMetadata?: ItemMetadata$1;\n      order?: Order;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ResumeOrderRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface ResumeOrderResponse {\n  }\n  interface OrderResumed {\n      /** Resumed order. */\n      order?: Order;\n  }\n  interface BulkResumeOrderRequest {\n      /** List of Order IDs. */\n      ids: string[];\n      /** Set to true to return Order entity in response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkResumeOrderResponse {\n      results?: BulkOrderResult[];\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  /**\n   * Retrieves an order by ID.\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function memberGetOrder(_id: string, options?: MemberGetOrderOptions): Promise<MemberGetOrderResponse>;\n  interface MemberGetOrderOptions {\n      fieldSet?: Set;\n  }\n  /**\n   * Returns orders for currently logged in member.\n   * @public\n   * @documentationMaturity preview\n   */\n  function memberListOrders(options?: MemberListOrdersOptions): Promise<MemberListOrdersResponse>;\n  interface MemberListOrdersOptions {\n      /** Filter by plan IDs. */\n      planIds?: string[];\n      /** Filter for orders where auto renewal was canceled. */\n      autoRenewCanceled?: boolean | null;\n      /** Filter by order status. */\n      orderStatuses?: OrderStatus[];\n      /** Filter by payment status. */\n      paymentStatuses?: PaymentStatus[];\n      /** Limit the number of pricing plans returned. Default limit is 50. */\n      limit?: number | null;\n      /** Number of entries to offset. */\n      offset?: number | null;\n      /** Sorting direction (defaults to ASC) and field to sort by. [See available fields here](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort). */\n      sorting?: Sorting$1;\n  }\n  /**\n   * Returns orders for currently logged in member based on provided query\n   * @internal\n   * @documentationMaturity preview\n   */\n  function memberQueryOrders(options?: MemberQueryOrdersOptions): Promise<QueryOrdersResponse>;\n  interface MemberQueryOrdersOptions {\n      query?: QueryV2$1;\n  }\n  /**\n   * Cancels an order. Recurring orders can be canceled either immediately or at the next payment date.\n   * One time orders can only be canceled immediately.\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function requestCancellation(_id: string, options?: RequestCancellationOptions): Promise<void>;\n  interface RequestCancellationOptions {\n      /** Required. Whether to cancel the order effective immediately or at the next payment date. One-time orders can only be canceled immediately. */\n      effectiveAt?: CancellationEffectiveAt;\n  }\n  /**\n   * Creates an order and initiates payment for currently logged in member.\n   * Will not be exposed to 3rd parties until Wix Payments are exposed.\n   * @param planId - Plan ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.onBehalf.memberId\n   * @requiredField planId\n   */\n  function createOnlineOrder(planId: string, options?: CreateOnlineOrderOptions): Promise<CreateOnlineOrderResponse>;\n  interface CreateOnlineOrderOptions {\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Provided if checkout is initiated on buyer's behalf. */\n      onBehalf?: OnBehalf;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  /**\n   * Creates an order and initiates payment for currently logged in member.\n   * Will not be exposed to 3rd parties until Wix Payments are exposed.\n   * @param planId - Plan ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.captcha\n   * @requiredField options.captcha.token\n   * @requiredField options.guest\n   * @requiredField options.guest.email\n   * @requiredField planId\n   */\n  function createGuestOnlineOrder(planId: string, options?: CreateGuestOnlineOrderOptions): Promise<CreateGuestOnlineOrderResponse>;\n  interface CreateGuestOnlineOrderOptions {\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Captcha data to prove you are not a robot */\n      captcha: Captcha;\n      /** Visitor info */\n      guest: Guest;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  /**\n   * Creates an order for a buyer who purchased the plan with an offline transaction.\n   *\n   * An offline order is handled off of the Wix site and is marked as `offline` in `type`. If a pricing plan\n   * has a limit on the amount of purchases per buyer, that limit is ignored for offline orders.\n   * Tax is only applied if the site [has it configured](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection).\n   *\n   * Handle payment for an offline order in 1 of 2 ways:\n   * + When creating the order, select `true` in the `paid` request parameter.\n   * + After creation, use [Mark As Paid to mark the order as paid](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/mark-as-paid).\n   * @param planId - ID of the plan being ordered. See [Plans for more information about plan IDs](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.memberId\n   * @requiredField planId\n   */\n  function createOfflineOrder(planId: string, options?: CreateOfflineOrderOptions): Promise<CreateOfflineOrderResponse>;\n  interface CreateOfflineOrderOptions {\n      /** ID of the member ordering the plan. See [Members for more information about member IDs](https://dev.wix.com/api/rest/members/members). */\n      memberId: string;\n      /**\n       * Start date and time for the ordered plan.\n       *\n       * Default: Current date and time\n       */\n      startDate?: Date;\n      /**\n       * Whether the order is paid.\n       *\n       * Default: `false`\n       */\n      paid?: boolean | null;\n      /**\n       * Coupon code to apply.\n       *\n       * See [Coupons to learn more](https://dev.wix.com/api/rest/coupons).\n       */\n      couponCode?: string | null;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  /**\n   * Forms an order preview using same logic as purchasing, except that it is not persisted anywhere.\n   * Checks for purchase limitations, intended to be called with member identity.\n   * [More information on tax here](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection).\n   * Will not be exposed until CreateOnlineOrder is exposed.\n   * @param planId - Plan ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField planId\n   */\n  function getOnlineOrderPreview(planId: string, options?: GetOnlineOrderPreviewOptions): Promise<GetOnlineOrderPreviewResponse>;\n  interface GetOnlineOrderPreviewOptions {\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n  }\n  /**\n   * Forms an order preview using same logic as purchasing, except that it is not persisted anywhere.\n   * Checks for purchase limitations\n   * [More information on tax here](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection).\n   * Will not be exposed until CreateGuestOnlineOrder is exposed.\n   * @param planId - Plan ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.email\n   * @requiredField planId\n   */\n  function getGuestOnlineOrderPreview(planId: string, options?: GetGuestOnlineOrderPreviewOptions): Promise<GetGuestOnlineOrderPreviewResponse>;\n  interface GetGuestOnlineOrderPreviewOptions {\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      email: string;\n  }\n  /**\n   * Performs a dry run of a purchase and provides an order preview.\n   *\n   * The preview uses the same logic as purchasing a plan, but the preview is not saved. Because an order is not actually\n   * created, the preview order's `orderId` and `subscriptionId` are displayed as a string of multiple zero characters\n   * (`000000-0000`). Tax is only calculated if the site [has it configured](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection).\n   * <br>\n   * If a pricing plan has a limit on the amount of purchases per buyer, that limit is not considered for generating the preview.\n   * But, if that limit has been reached and this order would then exceed the amount of purchases permitted for this buyer, then\n   * `purchaseLimitExceeded` will return as `true`.\n   *\n   * To get a general price preview for a plan that's not buyer-specific, use [Get Price Preview](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/get-price-preview).\n   * @param planId - ID of the plan of the previewed order. See [Plans for more information about plan IDs](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.memberId\n   * @requiredField planId\n   */\n  function getOfflineOrderPreview(planId: string, options?: GetOfflineOrderPreviewOptions): Promise<GetOfflineOrderPreviewResponse>;\n  interface GetOfflineOrderPreviewOptions {\n      /** Member ID of the buyer the previewed order is for. See [Members for more information about member IDs](https://dev.wix.com/api/rest/members/members). */\n      memberId: string;\n      /**\n       * Start date and time for plan of the previewed order.\n       *\n       * Default: Current date and time\n       */\n      startDate?: Date;\n      /** Coupon code to apply. See [Coupons to learn more](https://dev.wix.com/api/rest/coupons). */\n      couponCode?: string | null;\n  }\n  /**\n   * Retrieves a plan's pricing.\n   *\n   * The price preview uses the same logic as purchasing a plan, but the preview is not saved. Tax is only applied if\n   * the site [has it configured](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection). The price is returned\n   * in the [pricing model](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/introduction#wix-pricing-plans_pricing-plans_introduction_pricing-models) format used for orders.\n   *\n   * Buyers do not have to be logged in to preview the price, as such, the details returned are not buyer-specific. To\n   * generate a preview of a purchase for a specific buyer, use [Get Offline Order Preview](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/get-offline-order-preview).\n   * @param planId - ID of plan to preview.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField planId\n   */\n  function getPricePreview(planId: string, options?: GetPricePreviewOptions): Promise<GetPricePreviewResponse>;\n  interface GetPricePreviewOptions {\n      /**\n       * Coupon code to apply.\n       *\n       * See Coupons [to learn more](https://dev.wix.com/api/rest/coupons).\n       */\n      couponCode?: string | null;\n  }\n  /**\n   * Changes the start date of a draft order.\n   * @param orderId - Draft order ID.\n   * @param startDate - New valid from date (timestamp).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @requiredField startDate\n   */\n  function changeStartDate(orderId: string, startDate: Date): Promise<ChangeStartDateResponse>;\n  /**\n   * Applies a coupon to an order and recalculates tax if needed. Should be called at the last moment before the payment.\n   * If you don't want to make change to an order and only want to see the plan price with applied coupon\n   * you can use GetPricePreview, GetOnlineOrderPreview or GetOfflineOrderPreview endpoints with coupon code.\n   * @param orderId - Draft order ID.\n   * @param couponCode - Coupon code to apply.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField couponCode\n   * @requiredField orderId\n   */\n  function applyCoupon(orderId: string, couponCode: string): Promise<ApplyCouponResponse>;\n  /**\n   * Adds to a draft order reference to a submission. Member can only revise orders what were created by them.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @requiredField submissionId\n   */\n  function setSubmission(orderId: string, submissionId: string): Promise<SetSubmissionResponse>;\n  /**\n   * Retrieves an order by ID.\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function managementGetOrder(_id: string, options?: ManagementGetOrderOptions): Promise<GetOrderResponse>;\n  interface ManagementGetOrderOptions {\n      fieldSet?: Set;\n  }\n  /**\n   * Retrieves a list of orders and details, given the provided sorting and filtering.\n   *\n   * By default, this endpoint will retrieve all orders and return them sorted by `createdDate` in `DESC`, descending order.\n   * `sort.fieldName` supports `endDate` and `createdDate` fields and defaults to `ASC`, ascending order.\n   * @public\n   * @documentationMaturity preview\n   */\n  function managementListOrders(options?: ManagementListOrdersOptions): Promise<ListOrdersResponse>;\n  interface ManagementListOrdersOptions {\n      /** Filter by a buyer's member ID. See [Members to learn more about a site's members](https://dev.wix.com/api/rest/members/members). */\n      buyerIds?: string[];\n      /** Filter by plan IDs. See [Plans to learn more about pricing plans](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans). */\n      planIds?: string[];\n      /** Filter by whether or not the auto-renewal of recurring orders was canceled. */\n      autoRenewCanceled?: boolean | null;\n      /** Filter by order status. */\n      orderStatuses?: OrderStatus[];\n      /** Filter by payment status. */\n      paymentStatuses?: PaymentStatus[];\n      /**\n       * Number of orders to return. See [Pagination](https://dev.wix.com/api/rest/getting-started/sorting-and-paging#getting-started_sorting-and-paging_paging) for more information.\n       *\n       * Max: `50`\n       */\n      limit?: number | null;\n      /** Number of orders to skip in the current sort order. */\n      offset?: number | null;\n      /**\n       * Sort order.\n       *\n       * Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Default: `DESC`\n       */\n      sorting?: Sorting$1;\n  }\n  /**\n   * TODO: Write orders filter and sort docs page\n   * Retrieves a list of up to 1,000 orders, based on the provided [paging, sorting, and filtering](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort).\n   * @internal\n   * @documentationMaturity preview\n   */\n  function managementQueryOrders(options?: ManagementQueryOrdersOptions): Promise<OrdersQueryOrdersResponse>;\n  interface ManagementQueryOrdersOptions {\n      /** [See available fields here](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort). */\n      query?: QueryV2$1;\n  }\n  /**\n   * Retrieves statistics about the pricing plans orders. Currently providing the total number of orders and active orders.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function getOrdersStats(): Promise<GetOrdersStatsResponse>;\n  /** @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function getAvailableOrderActions(_id: string): Promise<GetAvailableOrderActionsResponse>;\n  /**\n   * Extends the duration of a pricing plan order by postponing the order's `endDate`.\n   *\n   * New `endDate` must be later than the order's current `endDate`. Can't postpone orders that are unlimited.\n   * Can't postpone an order while it is [`PAUSED`](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/pause-order).\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function postponeEndDate(_id: string, options?: PostponeEndDateOptions): Promise<void>;\n  interface PostponeEndDateOptions {\n      /**\n       * New end date and time.\n       *\n       * Must be later than the current end date and time.\n       */\n      endDate?: Date;\n  }\n  /**\n   * Cancels an existing order.\n   *\n   * For orders with recurring payments, a cancellation can be set to occur either `IMMEDIATELY` or at the `NEXT_PAYMENT_DATE`.\n   * For orders with one-time payments, a cancellation can only be set for `IMMEDIATELY`.\n   *\n   * #### Canceling during the free trial period.\n   *\n   * When a buyer cancels their order during the free trial period, the buyer's subscription expires at the end\n   * of the free trial period and they will not be billed. The buyer may continue using the benefits until the end\n   * of the free trial period.\n   *\n   * When a site owner cancels an ordered plan during the free trial period, they choose to apply the cancellation\n   * `IMMEDIATELY` or at the `NEXT_PAYMENT_DATE`. Canceling `IMMEDIATELY` will end the subscription for the buyer\n   * immediately, even during the free trial period and the buyer won't be billed. Canceling at the\n   * `NEXT_PAYMENT_DATE` allows the buyer to continue using the benefits of the subscription until the end of the free trial period.\n   * Then, the subscription ends and the buyer is not billed.\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function cancelOrder(_id: string, options?: CancelOrderOptions): Promise<void>;\n  interface CancelOrderOptions {\n      /** __Required.__ When the order will be canceled. One-time orders can only be canceled `IMMEDIATELY`. */\n      effectiveAt?: CancellationEffectiveAt;\n  }\n  /**\n   * Marks an offline order as paid.\n   * > __Note__: Marking separate payment cycles as paid is not yet supported. The entire order will be marked as paid.\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function markAsPaid(_id: string): Promise<void>;\n  /**\n   * Pauses an order.\n   *\n   * For orders with recurring payments, it also pauses the payment schedule. Buyers are not charged when an order is paused.\n   * Pausing an order affects the end date of the order by adding the time the order is paused to the `endDate`. Can only pause orders with an `ACTIVE` status.\n   *\n   * Use [Resume Order to resume a paused order](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/resume-order/).\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function pauseOrder(_id: string): Promise<void>;\n  /**\n   * Pauses multiple orders.\n   * @param ids - List of Order IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   */\n  function bulkPauseOrder(ids: string[], options?: BulkPauseOrderOptions): Promise<BulkPauseOrderResponse>;\n  interface BulkPauseOrderOptions {\n      /** Set to true to return Order entity in response. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Resumes a paused order.\n   *\n   * Updates `endDate` by adding the time the plan was paused.\n   * For orders with recurring payments, it also restarts the payment schedule.\n   * Use [Pause Order to pause an order](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/pause-order/).\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function resumeOrder(_id: string): Promise<void>;\n  /**\n   * Resumes multiple paused orders.\n   * @param ids - List of Order IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   */\n  function bulkResumeOrder(ids: string[], options?: BulkResumeOrderOptions): Promise<BulkResumeOrderResponse>;\n  interface BulkResumeOrderOptions {\n      /** Set to true to return Order entity in response. */\n      returnFullEntity?: boolean;\n  }\n  \n  type pricingPlansV2Order_universal_d_Order = Order;\n  type pricingPlansV2Order_universal_d_Buyer = Buyer;\n  type pricingPlansV2Order_universal_d_PriceDetails = PriceDetails;\n  type pricingPlansV2Order_universal_d_PriceDetailsPricingModelOneOf = PriceDetailsPricingModelOneOf;\n  type pricingPlansV2Order_universal_d_Tax = Tax;\n  type pricingPlansV2Order_universal_d_Coupon = Coupon;\n  type pricingPlansV2Order_universal_d_PricingDetails = PricingDetails;\n  type pricingPlansV2Order_universal_d_PricingDetailsPricingModelOneOf = PricingDetailsPricingModelOneOf;\n  type pricingPlansV2Order_universal_d_SpannedPrice = SpannedPrice;\n  type pricingPlansV2Order_universal_d_PriceDuration = PriceDuration;\n  type pricingPlansV2Order_universal_d_Price = Price;\n  type pricingPlansV2Order_universal_d_OrderType = OrderType;\n  const pricingPlansV2Order_universal_d_OrderType: typeof OrderType;\n  type pricingPlansV2Order_universal_d_OrderMethod = OrderMethod;\n  const pricingPlansV2Order_universal_d_OrderMethod: typeof OrderMethod;\n  type pricingPlansV2Order_universal_d_OrderStatus = OrderStatus;\n  const pricingPlansV2Order_universal_d_OrderStatus: typeof OrderStatus;\n  type pricingPlansV2Order_universal_d_Cancellation = Cancellation;\n  type pricingPlansV2Order_universal_d_CancellationCause = CancellationCause;\n  const pricingPlansV2Order_universal_d_CancellationCause: typeof CancellationCause;\n  type pricingPlansV2Order_universal_d_CancellationEffectiveAt = CancellationEffectiveAt;\n  const pricingPlansV2Order_universal_d_CancellationEffectiveAt: typeof CancellationEffectiveAt;\n  type pricingPlansV2Order_universal_d_PaymentStatus = PaymentStatus;\n  const pricingPlansV2Order_universal_d_PaymentStatus: typeof PaymentStatus;\n  type pricingPlansV2Order_universal_d_PausePeriod = PausePeriod;\n  type pricingPlansV2Order_universal_d_Status = Status;\n  const pricingPlansV2Order_universal_d_Status: typeof Status;\n  type pricingPlansV2Order_universal_d_CurrentCycle = CurrentCycle;\n  type pricingPlansV2Order_universal_d_OrderCycle = OrderCycle;\n  type pricingPlansV2Order_universal_d_FormData = FormData;\n  type pricingPlansV2Order_universal_d_MemberGetOrderRequest = MemberGetOrderRequest;\n  type pricingPlansV2Order_universal_d_Set = Set;\n  const pricingPlansV2Order_universal_d_Set: typeof Set;\n  type pricingPlansV2Order_universal_d_MemberGetOrderResponse = MemberGetOrderResponse;\n  type pricingPlansV2Order_universal_d_MemberListOrdersRequest = MemberListOrdersRequest;\n  type pricingPlansV2Order_universal_d_MemberListOrdersResponse = MemberListOrdersResponse;\n  type pricingPlansV2Order_universal_d_QueryOrdersRequest = QueryOrdersRequest;\n  type pricingPlansV2Order_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type pricingPlansV2Order_universal_d_CursorPaging = CursorPaging;\n  type pricingPlansV2Order_universal_d_QueryOrdersResponse = QueryOrdersResponse;\n  type pricingPlansV2Order_universal_d_RequestCancellationRequest = RequestCancellationRequest;\n  type pricingPlansV2Order_universal_d_RequestCancellationResponse = RequestCancellationResponse;\n  type pricingPlansV2Order_universal_d_OrderCanceled = OrderCanceled;\n  type pricingPlansV2Order_universal_d_CreateOnlineOrderRequest = CreateOnlineOrderRequest;\n  type pricingPlansV2Order_universal_d_OnBehalf = OnBehalf;\n  type pricingPlansV2Order_universal_d_CreateOnlineOrderResponse = CreateOnlineOrderResponse;\n  type pricingPlansV2Order_universal_d_CouponsError = CouponsError;\n  type pricingPlansV2Order_universal_d_CreateGuestOnlineOrderRequest = CreateGuestOnlineOrderRequest;\n  type pricingPlansV2Order_universal_d_Captcha = Captcha;\n  type pricingPlansV2Order_universal_d_Guest = Guest;\n  type pricingPlansV2Order_universal_d_CreateGuestOnlineOrderResponse = CreateGuestOnlineOrderResponse;\n  type pricingPlansV2Order_universal_d_CreateOfflineOrderRequest = CreateOfflineOrderRequest;\n  type pricingPlansV2Order_universal_d_CreateOfflineOrderResponse = CreateOfflineOrderResponse;\n  type pricingPlansV2Order_universal_d_GetOnlineOrderPreviewRequest = GetOnlineOrderPreviewRequest;\n  type pricingPlansV2Order_universal_d_GetOnlineOrderPreviewResponse = GetOnlineOrderPreviewResponse;\n  type pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewRequest = GetGuestOnlineOrderPreviewRequest;\n  type pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewResponse = GetGuestOnlineOrderPreviewResponse;\n  type pricingPlansV2Order_universal_d_GetOfflineOrderPreviewRequest = GetOfflineOrderPreviewRequest;\n  type pricingPlansV2Order_universal_d_GetOfflineOrderPreviewResponse = GetOfflineOrderPreviewResponse;\n  type pricingPlansV2Order_universal_d_GetPricePreviewRequest = GetPricePreviewRequest;\n  type pricingPlansV2Order_universal_d_GetPricePreviewResponse = GetPricePreviewResponse;\n  type pricingPlansV2Order_universal_d_ChangeStartDateRequest = ChangeStartDateRequest;\n  type pricingPlansV2Order_universal_d_ChangeStartDateResponse = ChangeStartDateResponse;\n  type pricingPlansV2Order_universal_d_OrderStartDateChanged = OrderStartDateChanged;\n  type pricingPlansV2Order_universal_d_ApplyCouponRequest = ApplyCouponRequest;\n  type pricingPlansV2Order_universal_d_ApplyCouponResponse = ApplyCouponResponse;\n  type pricingPlansV2Order_universal_d_SetSubmissionRequest = SetSubmissionRequest;\n  type pricingPlansV2Order_universal_d_SetSubmissionResponse = SetSubmissionResponse;\n  type pricingPlansV2Order_universal_d_OrderPurchased = OrderPurchased;\n  type pricingPlansV2Order_universal_d_OrderStarted = OrderStarted;\n  type pricingPlansV2Order_universal_d_OrderCycleStarted = OrderCycleStarted;\n  type pricingPlansV2Order_universal_d_OrderAutoRenewCanceled = OrderAutoRenewCanceled;\n  type pricingPlansV2Order_universal_d_OrderEnded = OrderEnded;\n  type pricingPlansV2Order_universal_d_GetOrderRequest = GetOrderRequest;\n  type pricingPlansV2Order_universal_d_GetOrderResponse = GetOrderResponse;\n  type pricingPlansV2Order_universal_d_ListOrdersRequest = ListOrdersRequest;\n  type pricingPlansV2Order_universal_d_ListOrdersResponse = ListOrdersResponse;\n  type pricingPlansV2Order_universal_d_OrdersQueryOrdersRequest = OrdersQueryOrdersRequest;\n  type pricingPlansV2Order_universal_d_OrdersQueryOrdersResponse = OrdersQueryOrdersResponse;\n  type pricingPlansV2Order_universal_d_GetOrdersStatsRequest = GetOrdersStatsRequest;\n  type pricingPlansV2Order_universal_d_GetOrdersStatsResponse = GetOrdersStatsResponse;\n  type pricingPlansV2Order_universal_d_GetAvailableOrderActionsRequest = GetAvailableOrderActionsRequest;\n  type pricingPlansV2Order_universal_d_GetAvailableOrderActionsResponse = GetAvailableOrderActionsResponse;\n  type pricingPlansV2Order_universal_d_ReasonNotSuspendable = ReasonNotSuspendable;\n  const pricingPlansV2Order_universal_d_ReasonNotSuspendable: typeof ReasonNotSuspendable;\n  type pricingPlansV2Order_universal_d_PostponeEndDateRequest = PostponeEndDateRequest;\n  type pricingPlansV2Order_universal_d_PostponeEndDateResponse = PostponeEndDateResponse;\n  type pricingPlansV2Order_universal_d_OrderEndDatePostponed = OrderEndDatePostponed;\n  type pricingPlansV2Order_universal_d_CancelOrderRequest = CancelOrderRequest;\n  type pricingPlansV2Order_universal_d_CancelOrderResponse = CancelOrderResponse;\n  type pricingPlansV2Order_universal_d_MarkAsPaidRequest = MarkAsPaidRequest;\n  type pricingPlansV2Order_universal_d_MarkAsPaidResponse = MarkAsPaidResponse;\n  type pricingPlansV2Order_universal_d_OrderMarkedAsPaid = OrderMarkedAsPaid;\n  type pricingPlansV2Order_universal_d_PauseOrderRequest = PauseOrderRequest;\n  type pricingPlansV2Order_universal_d_PauseOrderResponse = PauseOrderResponse;\n  type pricingPlansV2Order_universal_d_OrderPaused = OrderPaused;\n  type pricingPlansV2Order_universal_d_BulkPauseOrderRequest = BulkPauseOrderRequest;\n  type pricingPlansV2Order_universal_d_BulkPauseOrderResponse = BulkPauseOrderResponse;\n  type pricingPlansV2Order_universal_d_BulkOrderResult = BulkOrderResult;\n  type pricingPlansV2Order_universal_d_ResumeOrderRequest = ResumeOrderRequest;\n  type pricingPlansV2Order_universal_d_ResumeOrderResponse = ResumeOrderResponse;\n  type pricingPlansV2Order_universal_d_OrderResumed = OrderResumed;\n  type pricingPlansV2Order_universal_d_BulkResumeOrderRequest = BulkResumeOrderRequest;\n  type pricingPlansV2Order_universal_d_BulkResumeOrderResponse = BulkResumeOrderResponse;\n  const pricingPlansV2Order_universal_d_memberGetOrder: typeof memberGetOrder;\n  type pricingPlansV2Order_universal_d_MemberGetOrderOptions = MemberGetOrderOptions;\n  const pricingPlansV2Order_universal_d_memberListOrders: typeof memberListOrders;\n  type pricingPlansV2Order_universal_d_MemberListOrdersOptions = MemberListOrdersOptions;\n  const pricingPlansV2Order_universal_d_memberQueryOrders: typeof memberQueryOrders;\n  type pricingPlansV2Order_universal_d_MemberQueryOrdersOptions = MemberQueryOrdersOptions;\n  const pricingPlansV2Order_universal_d_requestCancellation: typeof requestCancellation;\n  type pricingPlansV2Order_universal_d_RequestCancellationOptions = RequestCancellationOptions;\n  const pricingPlansV2Order_universal_d_createOnlineOrder: typeof createOnlineOrder;\n  type pricingPlansV2Order_universal_d_CreateOnlineOrderOptions = CreateOnlineOrderOptions;\n  const pricingPlansV2Order_universal_d_createGuestOnlineOrder: typeof createGuestOnlineOrder;\n  type pricingPlansV2Order_universal_d_CreateGuestOnlineOrderOptions = CreateGuestOnlineOrderOptions;\n  const pricingPlansV2Order_universal_d_createOfflineOrder: typeof createOfflineOrder;\n  type pricingPlansV2Order_universal_d_CreateOfflineOrderOptions = CreateOfflineOrderOptions;\n  const pricingPlansV2Order_universal_d_getOnlineOrderPreview: typeof getOnlineOrderPreview;\n  type pricingPlansV2Order_universal_d_GetOnlineOrderPreviewOptions = GetOnlineOrderPreviewOptions;\n  const pricingPlansV2Order_universal_d_getGuestOnlineOrderPreview: typeof getGuestOnlineOrderPreview;\n  type pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewOptions = GetGuestOnlineOrderPreviewOptions;\n  const pricingPlansV2Order_universal_d_getOfflineOrderPreview: typeof getOfflineOrderPreview;\n  type pricingPlansV2Order_universal_d_GetOfflineOrderPreviewOptions = GetOfflineOrderPreviewOptions;\n  const pricingPlansV2Order_universal_d_getPricePreview: typeof getPricePreview;\n  type pricingPlansV2Order_universal_d_GetPricePreviewOptions = GetPricePreviewOptions;\n  const pricingPlansV2Order_universal_d_changeStartDate: typeof changeStartDate;\n  const pricingPlansV2Order_universal_d_applyCoupon: typeof applyCoupon;\n  const pricingPlansV2Order_universal_d_setSubmission: typeof setSubmission;\n  const pricingPlansV2Order_universal_d_managementGetOrder: typeof managementGetOrder;\n  type pricingPlansV2Order_universal_d_ManagementGetOrderOptions = ManagementGetOrderOptions;\n  const pricingPlansV2Order_universal_d_managementListOrders: typeof managementListOrders;\n  type pricingPlansV2Order_universal_d_ManagementListOrdersOptions = ManagementListOrdersOptions;\n  const pricingPlansV2Order_universal_d_managementQueryOrders: typeof managementQueryOrders;\n  type pricingPlansV2Order_universal_d_ManagementQueryOrdersOptions = ManagementQueryOrdersOptions;\n  const pricingPlansV2Order_universal_d_getOrdersStats: typeof getOrdersStats;\n  const pricingPlansV2Order_universal_d_getAvailableOrderActions: typeof getAvailableOrderActions;\n  const pricingPlansV2Order_universal_d_postponeEndDate: typeof postponeEndDate;\n  type pricingPlansV2Order_universal_d_PostponeEndDateOptions = PostponeEndDateOptions;\n  const pricingPlansV2Order_universal_d_cancelOrder: typeof cancelOrder;\n  type pricingPlansV2Order_universal_d_CancelOrderOptions = CancelOrderOptions;\n  const pricingPlansV2Order_universal_d_markAsPaid: typeof markAsPaid;\n  const pricingPlansV2Order_universal_d_pauseOrder: typeof pauseOrder;\n  const pricingPlansV2Order_universal_d_bulkPauseOrder: typeof bulkPauseOrder;\n  type pricingPlansV2Order_universal_d_BulkPauseOrderOptions = BulkPauseOrderOptions;\n  const pricingPlansV2Order_universal_d_resumeOrder: typeof resumeOrder;\n  const pricingPlansV2Order_universal_d_bulkResumeOrder: typeof bulkResumeOrder;\n  type pricingPlansV2Order_universal_d_BulkResumeOrderOptions = BulkResumeOrderOptions;\n  namespace pricingPlansV2Order_universal_d {\n    export {\n      __debug$1 as __debug,\n      pricingPlansV2Order_universal_d_Order as Order,\n      pricingPlansV2Order_universal_d_Buyer as Buyer,\n      pricingPlansV2Order_universal_d_PriceDetails as PriceDetails,\n      pricingPlansV2Order_universal_d_PriceDetailsPricingModelOneOf as PriceDetailsPricingModelOneOf,\n      pricingPlansV2Order_universal_d_Tax as Tax,\n      Recurrence$1 as Recurrence,\n      Duration$1 as Duration,\n      PeriodUnit$1 as PeriodUnit,\n      pricingPlansV2Order_universal_d_Coupon as Coupon,\n      pricingPlansV2Order_universal_d_PricingDetails as PricingDetails,\n      pricingPlansV2Order_universal_d_PricingDetailsPricingModelOneOf as PricingDetailsPricingModelOneOf,\n      pricingPlansV2Order_universal_d_SpannedPrice as SpannedPrice,\n      pricingPlansV2Order_universal_d_PriceDuration as PriceDuration,\n      pricingPlansV2Order_universal_d_Price as Price,\n      pricingPlansV2Order_universal_d_OrderType as OrderType,\n      pricingPlansV2Order_universal_d_OrderMethod as OrderMethod,\n      pricingPlansV2Order_universal_d_OrderStatus as OrderStatus,\n      pricingPlansV2Order_universal_d_Cancellation as Cancellation,\n      pricingPlansV2Order_universal_d_CancellationCause as CancellationCause,\n      pricingPlansV2Order_universal_d_CancellationEffectiveAt as CancellationEffectiveAt,\n      pricingPlansV2Order_universal_d_PaymentStatus as PaymentStatus,\n      pricingPlansV2Order_universal_d_PausePeriod as PausePeriod,\n      pricingPlansV2Order_universal_d_Status as Status,\n      pricingPlansV2Order_universal_d_CurrentCycle as CurrentCycle,\n      pricingPlansV2Order_universal_d_OrderCycle as OrderCycle,\n      pricingPlansV2Order_universal_d_FormData as FormData,\n      pricingPlansV2Order_universal_d_MemberGetOrderRequest as MemberGetOrderRequest,\n      pricingPlansV2Order_universal_d_Set as Set,\n      pricingPlansV2Order_universal_d_MemberGetOrderResponse as MemberGetOrderResponse,\n      pricingPlansV2Order_universal_d_MemberListOrdersRequest as MemberListOrdersRequest,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      pricingPlansV2Order_universal_d_MemberListOrdersResponse as MemberListOrdersResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      pricingPlansV2Order_universal_d_QueryOrdersRequest as QueryOrdersRequest,\n      QueryV2$1 as QueryV2,\n      pricingPlansV2Order_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      Paging$1 as Paging,\n      pricingPlansV2Order_universal_d_CursorPaging as CursorPaging,\n      pricingPlansV2Order_universal_d_QueryOrdersResponse as QueryOrdersResponse,\n      pricingPlansV2Order_universal_d_RequestCancellationRequest as RequestCancellationRequest,\n      pricingPlansV2Order_universal_d_RequestCancellationResponse as RequestCancellationResponse,\n      pricingPlansV2Order_universal_d_OrderCanceled as OrderCanceled,\n      pricingPlansV2Order_universal_d_CreateOnlineOrderRequest as CreateOnlineOrderRequest,\n      pricingPlansV2Order_universal_d_OnBehalf as OnBehalf,\n      pricingPlansV2Order_universal_d_CreateOnlineOrderResponse as CreateOnlineOrderResponse,\n      pricingPlansV2Order_universal_d_CouponsError as CouponsError,\n      pricingPlansV2Order_universal_d_CreateGuestOnlineOrderRequest as CreateGuestOnlineOrderRequest,\n      pricingPlansV2Order_universal_d_Captcha as Captcha,\n      pricingPlansV2Order_universal_d_Guest as Guest,\n      pricingPlansV2Order_universal_d_CreateGuestOnlineOrderResponse as CreateGuestOnlineOrderResponse,\n      pricingPlansV2Order_universal_d_CreateOfflineOrderRequest as CreateOfflineOrderRequest,\n      pricingPlansV2Order_universal_d_CreateOfflineOrderResponse as CreateOfflineOrderResponse,\n      pricingPlansV2Order_universal_d_GetOnlineOrderPreviewRequest as GetOnlineOrderPreviewRequest,\n      pricingPlansV2Order_universal_d_GetOnlineOrderPreviewResponse as GetOnlineOrderPreviewResponse,\n      pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewRequest as GetGuestOnlineOrderPreviewRequest,\n      pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewResponse as GetGuestOnlineOrderPreviewResponse,\n      pricingPlansV2Order_universal_d_GetOfflineOrderPreviewRequest as GetOfflineOrderPreviewRequest,\n      pricingPlansV2Order_universal_d_GetOfflineOrderPreviewResponse as GetOfflineOrderPreviewResponse,\n      pricingPlansV2Order_universal_d_GetPricePreviewRequest as GetPricePreviewRequest,\n      pricingPlansV2Order_universal_d_GetPricePreviewResponse as GetPricePreviewResponse,\n      pricingPlansV2Order_universal_d_ChangeStartDateRequest as ChangeStartDateRequest,\n      pricingPlansV2Order_universal_d_ChangeStartDateResponse as ChangeStartDateResponse,\n      pricingPlansV2Order_universal_d_OrderStartDateChanged as OrderStartDateChanged,\n      pricingPlansV2Order_universal_d_ApplyCouponRequest as ApplyCouponRequest,\n      pricingPlansV2Order_universal_d_ApplyCouponResponse as ApplyCouponResponse,\n      pricingPlansV2Order_universal_d_SetSubmissionRequest as SetSubmissionRequest,\n      pricingPlansV2Order_universal_d_SetSubmissionResponse as SetSubmissionResponse,\n      pricingPlansV2Order_universal_d_OrderPurchased as OrderPurchased,\n      pricingPlansV2Order_universal_d_OrderStarted as OrderStarted,\n      pricingPlansV2Order_universal_d_OrderCycleStarted as OrderCycleStarted,\n      pricingPlansV2Order_universal_d_OrderAutoRenewCanceled as OrderAutoRenewCanceled,\n      pricingPlansV2Order_universal_d_OrderEnded as OrderEnded,\n      pricingPlansV2Order_universal_d_GetOrderRequest as GetOrderRequest,\n      pricingPlansV2Order_universal_d_GetOrderResponse as GetOrderResponse,\n      pricingPlansV2Order_universal_d_ListOrdersRequest as ListOrdersRequest,\n      pricingPlansV2Order_universal_d_ListOrdersResponse as ListOrdersResponse,\n      pricingPlansV2Order_universal_d_OrdersQueryOrdersRequest as OrdersQueryOrdersRequest,\n      pricingPlansV2Order_universal_d_OrdersQueryOrdersResponse as OrdersQueryOrdersResponse,\n      pricingPlansV2Order_universal_d_GetOrdersStatsRequest as GetOrdersStatsRequest,\n      pricingPlansV2Order_universal_d_GetOrdersStatsResponse as GetOrdersStatsResponse,\n      pricingPlansV2Order_universal_d_GetAvailableOrderActionsRequest as GetAvailableOrderActionsRequest,\n      pricingPlansV2Order_universal_d_GetAvailableOrderActionsResponse as GetAvailableOrderActionsResponse,\n      pricingPlansV2Order_universal_d_ReasonNotSuspendable as ReasonNotSuspendable,\n      pricingPlansV2Order_universal_d_PostponeEndDateRequest as PostponeEndDateRequest,\n      pricingPlansV2Order_universal_d_PostponeEndDateResponse as PostponeEndDateResponse,\n      pricingPlansV2Order_universal_d_OrderEndDatePostponed as OrderEndDatePostponed,\n      pricingPlansV2Order_universal_d_CancelOrderRequest as CancelOrderRequest,\n      pricingPlansV2Order_universal_d_CancelOrderResponse as CancelOrderResponse,\n      pricingPlansV2Order_universal_d_MarkAsPaidRequest as MarkAsPaidRequest,\n      pricingPlansV2Order_universal_d_MarkAsPaidResponse as MarkAsPaidResponse,\n      pricingPlansV2Order_universal_d_OrderMarkedAsPaid as OrderMarkedAsPaid,\n      pricingPlansV2Order_universal_d_PauseOrderRequest as PauseOrderRequest,\n      pricingPlansV2Order_universal_d_PauseOrderResponse as PauseOrderResponse,\n      pricingPlansV2Order_universal_d_OrderPaused as OrderPaused,\n      pricingPlansV2Order_universal_d_BulkPauseOrderRequest as BulkPauseOrderRequest,\n      pricingPlansV2Order_universal_d_BulkPauseOrderResponse as BulkPauseOrderResponse,\n      pricingPlansV2Order_universal_d_BulkOrderResult as BulkOrderResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      pricingPlansV2Order_universal_d_ResumeOrderRequest as ResumeOrderRequest,\n      pricingPlansV2Order_universal_d_ResumeOrderResponse as ResumeOrderResponse,\n      pricingPlansV2Order_universal_d_OrderResumed as OrderResumed,\n      pricingPlansV2Order_universal_d_BulkResumeOrderRequest as BulkResumeOrderRequest,\n      pricingPlansV2Order_universal_d_BulkResumeOrderResponse as BulkResumeOrderResponse,\n      pricingPlansV2Order_universal_d_memberGetOrder as memberGetOrder,\n      pricingPlansV2Order_universal_d_MemberGetOrderOptions as MemberGetOrderOptions,\n      pricingPlansV2Order_universal_d_memberListOrders as memberListOrders,\n      pricingPlansV2Order_universal_d_MemberListOrdersOptions as MemberListOrdersOptions,\n      pricingPlansV2Order_universal_d_memberQueryOrders as memberQueryOrders,\n      pricingPlansV2Order_universal_d_MemberQueryOrdersOptions as MemberQueryOrdersOptions,\n      pricingPlansV2Order_universal_d_requestCancellation as requestCancellation,\n      pricingPlansV2Order_universal_d_RequestCancellationOptions as RequestCancellationOptions,\n      pricingPlansV2Order_universal_d_createOnlineOrder as createOnlineOrder,\n      pricingPlansV2Order_universal_d_CreateOnlineOrderOptions as CreateOnlineOrderOptions,\n      pricingPlansV2Order_universal_d_createGuestOnlineOrder as createGuestOnlineOrder,\n      pricingPlansV2Order_universal_d_CreateGuestOnlineOrderOptions as CreateGuestOnlineOrderOptions,\n      pricingPlansV2Order_universal_d_createOfflineOrder as createOfflineOrder,\n      pricingPlansV2Order_universal_d_CreateOfflineOrderOptions as CreateOfflineOrderOptions,\n      pricingPlansV2Order_universal_d_getOnlineOrderPreview as getOnlineOrderPreview,\n      pricingPlansV2Order_universal_d_GetOnlineOrderPreviewOptions as GetOnlineOrderPreviewOptions,\n      pricingPlansV2Order_universal_d_getGuestOnlineOrderPreview as getGuestOnlineOrderPreview,\n      pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewOptions as GetGuestOnlineOrderPreviewOptions,\n      pricingPlansV2Order_universal_d_getOfflineOrderPreview as getOfflineOrderPreview,\n      pricingPlansV2Order_universal_d_GetOfflineOrderPreviewOptions as GetOfflineOrderPreviewOptions,\n      pricingPlansV2Order_universal_d_getPricePreview as getPricePreview,\n      pricingPlansV2Order_universal_d_GetPricePreviewOptions as GetPricePreviewOptions,\n      pricingPlansV2Order_universal_d_changeStartDate as changeStartDate,\n      pricingPlansV2Order_universal_d_applyCoupon as applyCoupon,\n      pricingPlansV2Order_universal_d_setSubmission as setSubmission,\n      pricingPlansV2Order_universal_d_managementGetOrder as managementGetOrder,\n      pricingPlansV2Order_universal_d_ManagementGetOrderOptions as ManagementGetOrderOptions,\n      pricingPlansV2Order_universal_d_managementListOrders as managementListOrders,\n      pricingPlansV2Order_universal_d_ManagementListOrdersOptions as ManagementListOrdersOptions,\n      pricingPlansV2Order_universal_d_managementQueryOrders as managementQueryOrders,\n      pricingPlansV2Order_universal_d_ManagementQueryOrdersOptions as ManagementQueryOrdersOptions,\n      pricingPlansV2Order_universal_d_getOrdersStats as getOrdersStats,\n      pricingPlansV2Order_universal_d_getAvailableOrderActions as getAvailableOrderActions,\n      pricingPlansV2Order_universal_d_postponeEndDate as postponeEndDate,\n      pricingPlansV2Order_universal_d_PostponeEndDateOptions as PostponeEndDateOptions,\n      pricingPlansV2Order_universal_d_cancelOrder as cancelOrder,\n      pricingPlansV2Order_universal_d_CancelOrderOptions as CancelOrderOptions,\n      pricingPlansV2Order_universal_d_markAsPaid as markAsPaid,\n      pricingPlansV2Order_universal_d_pauseOrder as pauseOrder,\n      pricingPlansV2Order_universal_d_bulkPauseOrder as bulkPauseOrder,\n      pricingPlansV2Order_universal_d_BulkPauseOrderOptions as BulkPauseOrderOptions,\n      pricingPlansV2Order_universal_d_resumeOrder as resumeOrder,\n      pricingPlansV2Order_universal_d_bulkResumeOrder as bulkResumeOrder,\n      pricingPlansV2Order_universal_d_BulkResumeOrderOptions as BulkResumeOrderOptions,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Information about the pricing plan. */\n  interface Plan {\n      /**\n       * Plan ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Plan name. */\n      name?: string | null;\n      /** Plan description. */\n      description?: string | null;\n      /** What is included with this plan (e.g., 1 weekly entrance to a specific class). */\n      perks?: StringList;\n      /** Plan price, payment schedule, and expiration. */\n      pricing?: Pricing;\n      /** Whether the plan is public (visible to site visitors and members). */\n      public?: boolean | null;\n      /**\n       * Whether the plan is archived. Archived plans are not visible and can't be purchased anymore, but existing purchases remain in effect.\n       * @readonly\n       */\n      archived?: boolean;\n      /**\n       * Whether the plan is marked as primary.\n       * @readonly\n       */\n      primary?: boolean;\n      /**\n       * Whether the plan has any orders (including pending and unpaid orders).\n       * @readonly\n       */\n      hasOrders?: boolean;\n      /**\n       * Date plan was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date plan was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * URL-friendly version of plan name. Unique across all plans in the same site.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Number of times the same buyer can purchase the plan. Currently limited to support:\n       * - Empty value or a value of `0`, meaning no limitation.\n       * - Value of `1`, meaning limited to one purchase per buyer.\n       */\n      maxPurchasesPerBuyer?: number | null;\n      /** Whether the buyer can start the plan at a later date. Defaults to false. */\n      allowFutureStartDate?: boolean | null;\n      /** Whether the buyer is allowed to cancel their plan. Defaults to false. */\n      buyerCanCancel?: boolean | null;\n      /** Any terms and conditions that apply to the plan. This information will be displayed during checkout. */\n      termsAndConditions?: string | null;\n      clientData?: Record<string, string>;\n      /** Reference to a form which is shown in checkout to gather additional data */\n      formId?: string | null;\n  }\n  /** This wrapper type exist in order to distinguish an empty string list from no list at all in update requests. */\n  interface StringList {\n      /** List of strings */\n      values?: string[];\n  }\n  /** Plan pricing information. Includes the price of the plan and payment details. */\n  interface Pricing extends PricingPricingModelOneOf {\n      /** Amount for a single payment (or the whole subscription if it's not a recurring plan) */\n      price?: Money;\n      /** Free trial period for the plan in days. It’s available only for recurring plans. Set to 0 to remove free trial. */\n      freeTrialDays?: number | null;\n      /** Plan has recurring payments. */\n      subscription?: Recurrence;\n      /** One time payment, plan is valid for the specified duration. */\n      singlePaymentForDuration?: Duration;\n      /** One time payment, plan is valid until it is canceled. */\n      singlePaymentUnlimited?: boolean | null;\n  }\n  /** @oneof */\n  interface PricingPricingModelOneOf {\n      /** Plan has recurring payments. */\n      subscription?: Recurrence;\n      /** One time payment, plan is valid for the specified duration. */\n      singlePaymentForDuration?: Duration;\n      /** One time payment, plan is valid until it is canceled. */\n      singlePaymentUnlimited?: boolean | null;\n  }\n  /** An object specifying how often and for how long payments recur (may be forever). */\n  interface Recurrence {\n      /** Length of one payment cycle. */\n      cycleDuration?: Duration;\n      /**\n       * Amount of payment cycles this subscription is valid for.\n       *\n       * `0` for unlimited or until-canceled.\n       */\n      cycleCount?: number | null;\n  }\n  /** A duration expressed in number of time units. */\n  interface Duration {\n      /**\n       * The amount of a duration `unit` in a single payment cycle.\n       *\n       * Currently limited to support only `1`.\n       */\n      count?: number | null;\n      /** Unit of time for the cycle duration. */\n      unit?: PeriodUnit;\n  }\n  enum PeriodUnit {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n  }\n  interface BuyerCanCancelUpdated {\n      plan?: Plan;\n  }\n  interface ListPublicPlansRequest {\n      /** Number of items to list. Defaults to 75. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number | null;\n      /** Number of items to skip. Defaults to 0. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number | null;\n      /** IDs of plans to list. Non-existent IDs will be ignored and won't cause errors. You can pass a maximum of 100 IDs. */\n      planIds?: string[];\n  }\n  interface ListPublicPlansResponse {\n      /** List of public pricing plans. */\n      plans?: PublicPlan[];\n      /** Object containing paging-related data (number of plans returned, offset). */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  /** Public plan entity containing information about the pricing plan. Can be read by any site member or visitor. */\n  interface PublicPlan {\n      /** Plan ID. */\n      _id?: string;\n      /** Plan name. */\n      name?: string | null;\n      /** Plan description. */\n      description?: string | null;\n      /** What is included with this plan (e.g., 1 weekly entrance to a specific class). */\n      perks?: StringList;\n      /** Plan price, payment schedule, and expiration. */\n      pricing?: Pricing;\n      /** Whether the plan is marked as primary. */\n      primary?: boolean;\n      /** Date plan was created. */\n      _createdDate?: Date;\n      /** Date plan was last updated. */\n      _updatedDate?: Date;\n      /** URL-friendly version of plan name. Unique across all plans in the same site. */\n      slug?: string | null;\n      /** Number of times the same buyer can purchase the plan. An empty value or a value of zero means no limitation. */\n      maxPurchasesPerBuyer?: number | null;\n      /** Whether the buyer can start the plan at a later date. Defaults to false. */\n      allowFutureStartDate?: boolean | null;\n      /** Whether the buyer is allowed to cancel their plan. Defaults to false. */\n      buyerCanCancel?: boolean | null;\n      /** Any terms and conditions that apply to the plan. This information will be displayed during checkout. */\n      termsAndConditions?: string | null;\n      clientData?: Record<string, string>;\n      /** Reference to a form which is shown in checkout to gather additional data */\n      formId?: string | null;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryPublicPlansRequest {\n      query?: QueryV2;\n  }\n  interface QueryV2 {\n      /** A filter object. See [supported fields and operators](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans/filter-and-sort#wix-pricing-plans_pricing-plans_plans_filter-and-sort_query-public-plans) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting[];\n      /** Pointer to page of results using offset. Can not be used together with 'cursorPaging' */\n      paging?: Paging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryPublicPlansResponse {\n      /** List of public pricing plans that match the specified query. */\n      plans?: PublicPlan[];\n      /** Object containing paging-related data (number of plans returned, offset). */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface GetPlanRequest {\n      /** Plan ID. */\n      _id: string;\n  }\n  interface GetPlanResponse {\n      /** Pricing plan. */\n      plan?: Plan;\n  }\n  interface ListPlansRequest {\n      /** Archived filter. Defaults to ACTIVE (not archived) only. */\n      archived?: ArchivedFilter;\n      /** Visibility filter. Defaults to PUBLIC_AND_HIDDEN (meaning, both are listed). */\n      public?: PublicFilter;\n      /** Number of pricing plans to list. Defaults to 75. */\n      limit?: number | null;\n      /** Number of pricing plans to skip. Defaults to 0. */\n      offset?: number | null;\n      /** Plan ID filter. Non-existent IDs are ignored, and won't cause errors. You can pass a maximum of 100 IDs. */\n      planIds?: string[];\n  }\n  enum ArchivedFilter {\n      /** Returns all plans that are active. */\n      ACTIVE = \"ACTIVE\",\n      /** Returns all plans that are archived. */\n      ARCHIVED = \"ARCHIVED\",\n      /** Returns all plans that are active and archived. */\n      ARCHIVED_AND_ACTIVE = \"ARCHIVED_AND_ACTIVE\"\n  }\n  enum PublicFilter {\n      /** Returns all public and hidden plans. */\n      PUBLIC_AND_HIDDEN = \"PUBLIC_AND_HIDDEN\",\n      /** Returns only public plans. */\n      PUBLIC = \"PUBLIC\",\n      /** Returns only hidden plans. */\n      HIDDEN = \"HIDDEN\"\n  }\n  interface ListPlansResponse {\n      /** List of all public and hidden pricing plans. */\n      plans?: Plan[];\n      /** Object containing paging-related data (number of plans returned, offset). */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface GetPlanStatsRequest {\n  }\n  interface GetPlanStatsResponse {\n      /** Total number of plans created, including active plans (both public and hidden) and archived plans. */\n      totalPlans?: number;\n  }\n  interface CreatePlanRequest {\n      plan: Plan;\n  }\n  interface CreatePlanResponse {\n      plan?: Plan;\n  }\n  interface UpdatePlanRequest {\n      plan?: Plan;\n      fieldMask?: string[];\n  }\n  interface UpdatePlanResponse {\n      plan?: Plan;\n  }\n  interface SetPlanVisibilityRequest {\n      _id: string;\n      visible?: boolean;\n  }\n  interface SetPlanVisibilityResponse {\n      plan?: Plan;\n  }\n  interface MakePlanPrimaryRequest {\n      _id: string;\n  }\n  interface MakePlanPrimaryResponse {\n      plan?: Plan;\n  }\n  interface ClearPrimaryRequest {\n  }\n  interface ClearPrimaryResponse {\n  }\n  interface ArchivePlanRequest {\n      _id: string;\n  }\n  interface ArchivePlanResponse {\n      plan?: Plan;\n  }\n  interface PlanArchived {\n      plan?: Plan;\n  }\n  interface BulkArchivePlanRequest {\n      /** List of Plan IDs. */\n      ids: string[];\n      /** Set to true to return Plan entity in response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkArchivePlanResponse {\n      results?: BulkPlanResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkPlanResult {\n      itemMetadata?: ItemMetadata;\n      plan?: Plan;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ArrangePlansRequest {\n      ids?: string[];\n  }\n  interface ArrangePlansResponse {\n  }\n  /**\n   * Retrieves a list of up to 100 public pricing plans.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listPublicPlans(options?: ListPublicPlansOptions): Promise<ListPublicPlansResponse>;\n  interface ListPublicPlansOptions {\n      /** Number of items to list. Defaults to 75. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number | null;\n      /** Number of items to skip. Defaults to 0. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number | null;\n      /** IDs of plans to list. Non-existent IDs will be ignored and won't cause errors. You can pass a maximum of 100 IDs. */\n      planIds?: string[];\n  }\n  /**\n   * Retrieves a list of up to 1,000 public pricing plans, given the provided pagination, [sorting, and filtering](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans/filter-and-sort).\n   * @public\n   * @documentationMaturity preview\n   */\n  function queryPublicPlans(options?: QueryPublicPlansOptions): Promise<QueryPublicPlansResponse>;\n  interface QueryPublicPlansOptions {\n      query?: QueryV2;\n  }\n  /**\n   * Retrieves a pricing plan by ID.\n   * @param _id - Plan ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function getPlan(_id: string): Promise<GetPlanResponse>;\n  /**\n   * Retrieves a list of up to 100 pricing plans (including public, hidden, and archived plans).\n   * @public\n   * @documentationMaturity preview\n   */\n  function listPlans(options?: ListPlansOptions): Promise<ListPlansResponse>;\n  interface ListPlansOptions {\n      /** Archived filter. Defaults to ACTIVE (not archived) only. */\n      archived?: ArchivedFilter;\n      /** Visibility filter. Defaults to PUBLIC_AND_HIDDEN (meaning, both are listed). */\n      public?: PublicFilter;\n      /** Number of pricing plans to list. Defaults to 75. */\n      limit?: number | null;\n      /** Number of pricing plans to skip. Defaults to 0. */\n      offset?: number | null;\n      /** Plan ID filter. Non-existent IDs are ignored, and won't cause errors. You can pass a maximum of 100 IDs. */\n      planIds?: string[];\n  }\n  /**\n   * Gets statistics about the pricing plans. Currently providing only the total number of pricing plans.\n   * @public\n   * @documentationMaturity preview\n   */\n  function getPlanStats(): Promise<GetPlanStatsResponse>;\n  /**\n   * Creates a pricing plan.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField plan\n   * @requiredField plan.name\n   * @requiredField plan.pricing\n   * @requiredField plan.pricing.singlePaymentForDuration.count\n   * @requiredField plan.pricing.subscription.cycleCount\n   * @requiredField plan.pricing.subscription.cycleDuration\n   * @requiredField plan.pricing.subscription.cycleDuration.count\n   */\n  function createPlan(plan: Plan): Promise<CreatePlanResponse>;\n  /**\n   * Updates a pricing plan.\n   * Updating a plan does not impact existing orders made for the plan. All orders keep the details of the original plan that was active at the time of purchase.\n   * @param _id - Plan ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function updatePlan(_id: string, options?: UpdatePlanOptions): Promise<UpdatePlanResponse>;\n  interface UpdatePlanOptions {\n      plan: {\n          /**\n           * Plan ID.\n           * @readonly\n           */\n          _id?: string;\n          /** Plan name. */\n          name?: string | null;\n          /** Plan description. */\n          description?: string | null;\n          /** What is included with this plan (e.g., 1 weekly entrance to a specific class). */\n          perks?: StringList;\n          /** Plan price, payment schedule, and expiration. */\n          pricing?: Pricing;\n          /** Whether the plan is public (visible to site visitors and members). */\n          public?: boolean | null;\n          /**\n           * Whether the plan is archived. Archived plans are not visible and can't be purchased anymore, but existing purchases remain in effect.\n           * @readonly\n           */\n          archived?: boolean;\n          /**\n           * Whether the plan is marked as primary.\n           * @readonly\n           */\n          primary?: boolean;\n          /**\n           * Whether the plan has any orders (including pending and unpaid orders).\n           * @readonly\n           */\n          hasOrders?: boolean;\n          /**\n           * Date plan was created.\n           * @readonly\n           */\n          _createdDate?: Date;\n          /**\n           * Date plan was last updated.\n           * @readonly\n           */\n          _updatedDate?: Date;\n          /**\n           * URL-friendly version of plan name. Unique across all plans in the same site.\n           * @readonly\n           */\n          slug?: string | null;\n          /**\n           * Number of times the same buyer can purchase the plan. Currently limited to support:\n           * - Empty value or a value of `0`, meaning no limitation.\n           * - Value of `1`, meaning limited to one purchase per buyer.\n           */\n          maxPurchasesPerBuyer?: number | null;\n          /** Whether the buyer can start the plan at a later date. Defaults to false. */\n          allowFutureStartDate?: boolean | null;\n          /** Whether the buyer is allowed to cancel their plan. Defaults to false. */\n          buyerCanCancel?: boolean | null;\n          /** Any terms and conditions that apply to the plan. This information will be displayed during checkout. */\n          termsAndConditions?: string | null;\n          clientData?: Record<string, string>;\n          /** Reference to a form which is shown in checkout to gather additional data */\n          formId?: string | null;\n      };\n      fieldMask?: string[];\n  }\n  /**\n   * Sets visibility for pricing plans. Visible plans are considered public plans.\n   * By default, pricing plans are public, meaning they are visible. Plans can be hidden so that site members and visitors cannot choose them.\n   * As opposed to archiving, setting visibility can be reversed. This means that a public plan can be hidden, and a hidden plan can be made public (visible). (An archived plan always remains archived and cannot be made active again.)\n   * Changing a plan’s visibility does not impact existing orders for the plan. All orders for hidden plans are still active and keep their perks.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function setPlanVisibility(_id: string, options?: SetPlanVisibilityOptions): Promise<SetPlanVisibilityResponse>;\n  interface SetPlanVisibilityOptions {\n      visible?: boolean;\n  }\n  /**\n   * Marks a pricing plan as the primary pricing plan. When viewing pricing plans on the site, the primary plan is highlighted with a customizable ribbon.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function makePlanPrimary(_id: string): Promise<MakePlanPrimaryResponse>;\n  /**\n   * Sets all pricing plans as not primary. When viewing pricing plans on the site, no plan is highlighted with a customizable ribbon.\n   * @public\n   * @documentationMaturity preview\n   */\n  function clearPrimary(): Promise<void>;\n  /**\n   * Archives a single plan.\n   * When a plan is archived, it is no longer visible as a public plan that can be chosen by site members or visitors. Archived plans cannot be purchased.\n   * An archived plan cannot be made active again.\n   * Plan archiving does not impact existing orders made for the plan. All orders for the plan are still active and keep their perks.\n   * Site owners can see archived plans in the Dashboard under Pricing Plans -> Archived Plans.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function archivePlan(_id: string): Promise<ArchivePlanResponse>;\n  /**\n   * Archives multiple plans.\n   * See \"Archives a single plan\" for more information.\n   * @param ids - List of Plan IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   */\n  function bulkArchivePlan(ids: string[], options?: BulkArchivePlanOptions): Promise<BulkArchivePlanResponse>;\n  interface BulkArchivePlanOptions {\n      /** Set to true to return Plan entity in response. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Changes the display order of the plans on the site. To rearrange the order of the plans, provide a list of plan IDs in the desired order.\n   * Include all public and hidden plans in the list you provide.\n   * Make sure to provide all non-archived plan IDs to avoid unpredictable results\n   * @public\n   * @documentationMaturity preview\n   */\n  function arrangePlans(options?: ArrangePlansOptions): Promise<void>;\n  interface ArrangePlansOptions {\n      ids?: string[];\n  }\n  \n  const pricingPlansV2Plan_universal_d___debug: typeof __debug;\n  type pricingPlansV2Plan_universal_d_Plan = Plan;\n  type pricingPlansV2Plan_universal_d_StringList = StringList;\n  type pricingPlansV2Plan_universal_d_Pricing = Pricing;\n  type pricingPlansV2Plan_universal_d_PricingPricingModelOneOf = PricingPricingModelOneOf;\n  type pricingPlansV2Plan_universal_d_Recurrence = Recurrence;\n  type pricingPlansV2Plan_universal_d_Duration = Duration;\n  type pricingPlansV2Plan_universal_d_PeriodUnit = PeriodUnit;\n  const pricingPlansV2Plan_universal_d_PeriodUnit: typeof PeriodUnit;\n  type pricingPlansV2Plan_universal_d_Money = Money;\n  type pricingPlansV2Plan_universal_d_BuyerCanCancelUpdated = BuyerCanCancelUpdated;\n  type pricingPlansV2Plan_universal_d_ListPublicPlansRequest = ListPublicPlansRequest;\n  type pricingPlansV2Plan_universal_d_ListPublicPlansResponse = ListPublicPlansResponse;\n  type pricingPlansV2Plan_universal_d_PublicPlan = PublicPlan;\n  type pricingPlansV2Plan_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type pricingPlansV2Plan_universal_d_Cursors = Cursors;\n  type pricingPlansV2Plan_universal_d_QueryPublicPlansRequest = QueryPublicPlansRequest;\n  type pricingPlansV2Plan_universal_d_QueryV2 = QueryV2;\n  type pricingPlansV2Plan_universal_d_Sorting = Sorting;\n  type pricingPlansV2Plan_universal_d_SortOrder = SortOrder;\n  const pricingPlansV2Plan_universal_d_SortOrder: typeof SortOrder;\n  type pricingPlansV2Plan_universal_d_Paging = Paging;\n  type pricingPlansV2Plan_universal_d_QueryPublicPlansResponse = QueryPublicPlansResponse;\n  type pricingPlansV2Plan_universal_d_GetPlanRequest = GetPlanRequest;\n  type pricingPlansV2Plan_universal_d_GetPlanResponse = GetPlanResponse;\n  type pricingPlansV2Plan_universal_d_ListPlansRequest = ListPlansRequest;\n  type pricingPlansV2Plan_universal_d_ArchivedFilter = ArchivedFilter;\n  const pricingPlansV2Plan_universal_d_ArchivedFilter: typeof ArchivedFilter;\n  type pricingPlansV2Plan_universal_d_PublicFilter = PublicFilter;\n  const pricingPlansV2Plan_universal_d_PublicFilter: typeof PublicFilter;\n  type pricingPlansV2Plan_universal_d_ListPlansResponse = ListPlansResponse;\n  type pricingPlansV2Plan_universal_d_GetPlanStatsRequest = GetPlanStatsRequest;\n  type pricingPlansV2Plan_universal_d_GetPlanStatsResponse = GetPlanStatsResponse;\n  type pricingPlansV2Plan_universal_d_CreatePlanRequest = CreatePlanRequest;\n  type pricingPlansV2Plan_universal_d_CreatePlanResponse = CreatePlanResponse;\n  type pricingPlansV2Plan_universal_d_UpdatePlanRequest = UpdatePlanRequest;\n  type pricingPlansV2Plan_universal_d_UpdatePlanResponse = UpdatePlanResponse;\n  type pricingPlansV2Plan_universal_d_SetPlanVisibilityRequest = SetPlanVisibilityRequest;\n  type pricingPlansV2Plan_universal_d_SetPlanVisibilityResponse = SetPlanVisibilityResponse;\n  type pricingPlansV2Plan_universal_d_MakePlanPrimaryRequest = MakePlanPrimaryRequest;\n  type pricingPlansV2Plan_universal_d_MakePlanPrimaryResponse = MakePlanPrimaryResponse;\n  type pricingPlansV2Plan_universal_d_ClearPrimaryRequest = ClearPrimaryRequest;\n  type pricingPlansV2Plan_universal_d_ClearPrimaryResponse = ClearPrimaryResponse;\n  type pricingPlansV2Plan_universal_d_ArchivePlanRequest = ArchivePlanRequest;\n  type pricingPlansV2Plan_universal_d_ArchivePlanResponse = ArchivePlanResponse;\n  type pricingPlansV2Plan_universal_d_PlanArchived = PlanArchived;\n  type pricingPlansV2Plan_universal_d_BulkArchivePlanRequest = BulkArchivePlanRequest;\n  type pricingPlansV2Plan_universal_d_BulkArchivePlanResponse = BulkArchivePlanResponse;\n  type pricingPlansV2Plan_universal_d_BulkPlanResult = BulkPlanResult;\n  type pricingPlansV2Plan_universal_d_ItemMetadata = ItemMetadata;\n  type pricingPlansV2Plan_universal_d_ApplicationError = ApplicationError;\n  type pricingPlansV2Plan_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type pricingPlansV2Plan_universal_d_ArrangePlansRequest = ArrangePlansRequest;\n  type pricingPlansV2Plan_universal_d_ArrangePlansResponse = ArrangePlansResponse;\n  const pricingPlansV2Plan_universal_d_listPublicPlans: typeof listPublicPlans;\n  type pricingPlansV2Plan_universal_d_ListPublicPlansOptions = ListPublicPlansOptions;\n  const pricingPlansV2Plan_universal_d_queryPublicPlans: typeof queryPublicPlans;\n  type pricingPlansV2Plan_universal_d_QueryPublicPlansOptions = QueryPublicPlansOptions;\n  const pricingPlansV2Plan_universal_d_getPlan: typeof getPlan;\n  const pricingPlansV2Plan_universal_d_listPlans: typeof listPlans;\n  type pricingPlansV2Plan_universal_d_ListPlansOptions = ListPlansOptions;\n  const pricingPlansV2Plan_universal_d_getPlanStats: typeof getPlanStats;\n  const pricingPlansV2Plan_universal_d_createPlan: typeof createPlan;\n  const pricingPlansV2Plan_universal_d_updatePlan: typeof updatePlan;\n  type pricingPlansV2Plan_universal_d_UpdatePlanOptions = UpdatePlanOptions;\n  const pricingPlansV2Plan_universal_d_setPlanVisibility: typeof setPlanVisibility;\n  type pricingPlansV2Plan_universal_d_SetPlanVisibilityOptions = SetPlanVisibilityOptions;\n  const pricingPlansV2Plan_universal_d_makePlanPrimary: typeof makePlanPrimary;\n  const pricingPlansV2Plan_universal_d_clearPrimary: typeof clearPrimary;\n  const pricingPlansV2Plan_universal_d_archivePlan: typeof archivePlan;\n  const pricingPlansV2Plan_universal_d_bulkArchivePlan: typeof bulkArchivePlan;\n  type pricingPlansV2Plan_universal_d_BulkArchivePlanOptions = BulkArchivePlanOptions;\n  const pricingPlansV2Plan_universal_d_arrangePlans: typeof arrangePlans;\n  type pricingPlansV2Plan_universal_d_ArrangePlansOptions = ArrangePlansOptions;\n  namespace pricingPlansV2Plan_universal_d {\n    export {\n      pricingPlansV2Plan_universal_d___debug as __debug,\n      pricingPlansV2Plan_universal_d_Plan as Plan,\n      pricingPlansV2Plan_universal_d_StringList as StringList,\n      pricingPlansV2Plan_universal_d_Pricing as Pricing,\n      pricingPlansV2Plan_universal_d_PricingPricingModelOneOf as PricingPricingModelOneOf,\n      pricingPlansV2Plan_universal_d_Recurrence as Recurrence,\n      pricingPlansV2Plan_universal_d_Duration as Duration,\n      pricingPlansV2Plan_universal_d_PeriodUnit as PeriodUnit,\n      pricingPlansV2Plan_universal_d_Money as Money,\n      pricingPlansV2Plan_universal_d_BuyerCanCancelUpdated as BuyerCanCancelUpdated,\n      pricingPlansV2Plan_universal_d_ListPublicPlansRequest as ListPublicPlansRequest,\n      pricingPlansV2Plan_universal_d_ListPublicPlansResponse as ListPublicPlansResponse,\n      pricingPlansV2Plan_universal_d_PublicPlan as PublicPlan,\n      pricingPlansV2Plan_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      pricingPlansV2Plan_universal_d_Cursors as Cursors,\n      pricingPlansV2Plan_universal_d_QueryPublicPlansRequest as QueryPublicPlansRequest,\n      pricingPlansV2Plan_universal_d_QueryV2 as QueryV2,\n      pricingPlansV2Plan_universal_d_Sorting as Sorting,\n      pricingPlansV2Plan_universal_d_SortOrder as SortOrder,\n      pricingPlansV2Plan_universal_d_Paging as Paging,\n      pricingPlansV2Plan_universal_d_QueryPublicPlansResponse as QueryPublicPlansResponse,\n      pricingPlansV2Plan_universal_d_GetPlanRequest as GetPlanRequest,\n      pricingPlansV2Plan_universal_d_GetPlanResponse as GetPlanResponse,\n      pricingPlansV2Plan_universal_d_ListPlansRequest as ListPlansRequest,\n      pricingPlansV2Plan_universal_d_ArchivedFilter as ArchivedFilter,\n      pricingPlansV2Plan_universal_d_PublicFilter as PublicFilter,\n      pricingPlansV2Plan_universal_d_ListPlansResponse as ListPlansResponse,\n      pricingPlansV2Plan_universal_d_GetPlanStatsRequest as GetPlanStatsRequest,\n      pricingPlansV2Plan_universal_d_GetPlanStatsResponse as GetPlanStatsResponse,\n      pricingPlansV2Plan_universal_d_CreatePlanRequest as CreatePlanRequest,\n      pricingPlansV2Plan_universal_d_CreatePlanResponse as CreatePlanResponse,\n      pricingPlansV2Plan_universal_d_UpdatePlanRequest as UpdatePlanRequest,\n      pricingPlansV2Plan_universal_d_UpdatePlanResponse as UpdatePlanResponse,\n      pricingPlansV2Plan_universal_d_SetPlanVisibilityRequest as SetPlanVisibilityRequest,\n      pricingPlansV2Plan_universal_d_SetPlanVisibilityResponse as SetPlanVisibilityResponse,\n      pricingPlansV2Plan_universal_d_MakePlanPrimaryRequest as MakePlanPrimaryRequest,\n      pricingPlansV2Plan_universal_d_MakePlanPrimaryResponse as MakePlanPrimaryResponse,\n      pricingPlansV2Plan_universal_d_ClearPrimaryRequest as ClearPrimaryRequest,\n      pricingPlansV2Plan_universal_d_ClearPrimaryResponse as ClearPrimaryResponse,\n      pricingPlansV2Plan_universal_d_ArchivePlanRequest as ArchivePlanRequest,\n      pricingPlansV2Plan_universal_d_ArchivePlanResponse as ArchivePlanResponse,\n      pricingPlansV2Plan_universal_d_PlanArchived as PlanArchived,\n      pricingPlansV2Plan_universal_d_BulkArchivePlanRequest as BulkArchivePlanRequest,\n      pricingPlansV2Plan_universal_d_BulkArchivePlanResponse as BulkArchivePlanResponse,\n      pricingPlansV2Plan_universal_d_BulkPlanResult as BulkPlanResult,\n      pricingPlansV2Plan_universal_d_ItemMetadata as ItemMetadata,\n      pricingPlansV2Plan_universal_d_ApplicationError as ApplicationError,\n      pricingPlansV2Plan_universal_d_BulkActionMetadata as BulkActionMetadata,\n      pricingPlansV2Plan_universal_d_ArrangePlansRequest as ArrangePlansRequest,\n      pricingPlansV2Plan_universal_d_ArrangePlansResponse as ArrangePlansResponse,\n      pricingPlansV2Plan_universal_d_listPublicPlans as listPublicPlans,\n      pricingPlansV2Plan_universal_d_ListPublicPlansOptions as ListPublicPlansOptions,\n      pricingPlansV2Plan_universal_d_queryPublicPlans as queryPublicPlans,\n      pricingPlansV2Plan_universal_d_QueryPublicPlansOptions as QueryPublicPlansOptions,\n      pricingPlansV2Plan_universal_d_getPlan as getPlan,\n      pricingPlansV2Plan_universal_d_listPlans as listPlans,\n      pricingPlansV2Plan_universal_d_ListPlansOptions as ListPlansOptions,\n      pricingPlansV2Plan_universal_d_getPlanStats as getPlanStats,\n      pricingPlansV2Plan_universal_d_createPlan as createPlan,\n      pricingPlansV2Plan_universal_d_updatePlan as updatePlan,\n      pricingPlansV2Plan_universal_d_UpdatePlanOptions as UpdatePlanOptions,\n      pricingPlansV2Plan_universal_d_setPlanVisibility as setPlanVisibility,\n      pricingPlansV2Plan_universal_d_SetPlanVisibilityOptions as SetPlanVisibilityOptions,\n      pricingPlansV2Plan_universal_d_makePlanPrimary as makePlanPrimary,\n      pricingPlansV2Plan_universal_d_clearPrimary as clearPrimary,\n      pricingPlansV2Plan_universal_d_archivePlan as archivePlan,\n      pricingPlansV2Plan_universal_d_bulkArchivePlan as bulkArchivePlan,\n      pricingPlansV2Plan_universal_d_BulkArchivePlanOptions as BulkArchivePlanOptions,\n      pricingPlansV2Plan_universal_d_arrangePlans as arrangePlans,\n      pricingPlansV2Plan_universal_d_ArrangePlansOptions as ArrangePlansOptions,\n    };\n  }\n  \n  export { pricingPlansV2Order_universal_d as orders, pricingPlansV2Plan_universal_d as plans };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-comments-moderation-v1-comments-moderation-provider.d.ts",
      "content": "declare module \"interfaces-comments-moderation-v1-comments-moderation-provider\" {\n  interface CommentModeration {\n  }\n  interface SubmitCommentRequest {\n      /** Comment id, only available when comment get edited */\n      commentId?: string | null;\n      /** App id */\n      appId?: string;\n      /** Context Id */\n      contextId?: string;\n      /** Resource Id */\n      resourceId?: string;\n      /** Comment content */\n      content?: CommentContent;\n      /** Comment author */\n      author?: CommentAuthor;\n  }\n  interface CommentContent {\n      /** @internal */\n      draftJs?: string | null;\n      /** @internal */\n      plainText?: string | null;\n      richContent?: RichContent;\n      attachmentUrls?: string[];\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /** Deprecated: Use `image` instead. */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /** Deprecated: Use `rowHeader` and `columnHeader` instead. */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface CommentAuthor extends CommentAuthorAuthorIdOneOf {\n      userId?: string | null;\n      memberId?: string | null;\n      visitorId?: string | null;\n  }\n  /** @oneof */\n  interface CommentAuthorAuthorIdOneOf {\n      userId?: string | null;\n      memberId?: string | null;\n      visitorId?: string | null;\n  }\n  interface SubmitCommentResponse {\n      /** Submit results */\n      submitResults?: Result;\n      /** Reason */\n      reason?: string | null;\n  }\n  enum Result {\n      UNKNOWN_RESULT = \"UNKNOWN_RESULT\",\n      /** Comment gets created with status PUBLISHED. It will be visible for all site visitors */\n      APPROVE = \"APPROVE\",\n      /** Comment gets created with status PENDING. It requires manual approval be visible for other site visitors */\n      MODERATE = \"MODERATE\",\n      /** Site visitor won't be able to create a comment */\n      REJECT = \"REJECT\"\n  }\n  interface CommentModerationProviderConfig {\n      /** List of app ids which moderation implementation supports */\n      supportedAppIds?: string[];\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface SubmitCommentOptions {\n      /** Comment id, only available when comment get edited */\n      commentId?: string | null;\n      /** App id */\n      appId?: string;\n      /** Context Id */\n      contextId?: string;\n      /** Resource Id */\n      resourceId?: string;\n      /** Comment content */\n      content?: CommentContent;\n      /** Comment author */\n      author?: CommentAuthor;\n  }\n  \n  export { Alignment, AnchorData, AppEmbedData, AppEmbedDataAppDataOneOf, AppType, AudioData, Background, BackgroundBackgroundOneOf, BackgroundType, BlockquoteData, BookingData, Border, BorderColors, BulletedListData, ButtonData, CellStyle, CodeBlockData, CollapsibleListData, ColorData, Colors, CommentAuthor, CommentAuthorAuthorIdOneOf, CommentContent, CommentModeration, CommentModerationProviderConfig, Context, Crop, Decoration, DecorationDataOneOf, DecorationType, Design, Dimensions, Direction, DividerData, DocumentStyle, EmbedData, EventData, FileData, FileSource, FileSourceDataOneOf, FontSizeData, FontType, GIF, GIFData, GalleryData, GalleryOptions, Gradient, HTMLData, HTMLDataDataOneOf, HeadingData, Height, IdentificationData, IdentificationDataIdOneOf, IdentityType, Image, ImageData, InitialExpandedItems, Item, ItemDataOneOf, ItemStyle, Layout, LayoutType, LineStyle, Link, LinkData, LinkDataOneOf, LinkPreviewData, ListValue, MapData, MapSettings, MapType, Media, MentionData, Metadata, Node, NodeDataOneOf, NodeStyle, NodeType, NullValue, Oembed, Option, OptionDesign, OptionLayout, OrderedListData, Orientation, PDFSettings, ParagraphData, Permissions, PlaybackOptions, PluginContainerData, PluginContainerDataAlignment, PluginContainerDataWidth, PluginContainerDataWidthDataOneOf, Poll, PollData, PollDataLayout, PollDesign, PollLayout, PollLayoutDirection, PollLayoutType, Rel, Result, RichContent, Settings, Source, Spoiler, Styles, SubmitCommentOptions, SubmitCommentRequest, SubmitCommentResponse, TableCellData, TableData, Target, TextAlignment, TextData, TextNodeStyle, TextStyle, Thumbnails, ThumbnailsAlignment, Type, VerticalAlignment, Video, VideoData, ViewMode, ViewRole, VoteRole, Width, WidthType };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-authentication-management.d.ts",
      "content": "declare module \"wix-authentication-management\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** OAuthApp is the main entity of OAuthAppService */\n  interface OAuthApp {\n      /**\n       * OAuthApp ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the time this OAuthApp was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** OAuthApp name */\n      name?: string | null;\n      /** OAuthApp description */\n      description?: string | null;\n      /**\n       * App Secret;\n       * @readonly\n       */\n      secret?: string | null;\n      /** list of valid domains for callback URLs from wix pages */\n      allowedDomains?: string[];\n      /** login url to automatically redirect users to from wix pages */\n      loginUrl?: string | null;\n  }\n  interface CreateOAuthAppRequest {\n      /** OAuthApp to be created */\n      oAuthApp: OAuthApp;\n  }\n  interface CreateOAuthAppResponse {\n      /** The created OAuthApp */\n      oAuthApp?: OAuthApp;\n  }\n  interface GetOAuthAppRequest {\n      /** Id of the OAuthApp to retrieve */\n      oAuthAppId: string;\n  }\n  interface GetOAuthAppResponse {\n      /** The retrieved OAuthApp */\n      oAuthApp?: OAuthApp;\n  }\n  interface UpdateOAuthAppRequest {\n      /** OAuthApp to be updated, may be partial */\n      oAuthApp: OAuthApp;\n      /** Explicit list of fields to update */\n      mask: string[];\n  }\n  interface UpdateOAuthAppResponse {\n      /** The updated OAuthApp */\n      oAuthApp?: OAuthApp;\n  }\n  interface DeleteOAuthAppRequest {\n      /** Id of the OAuthApp to delete */\n      oAuthAppId: string;\n      /** The revision of the OAuthApp */\n      revision?: string;\n  }\n  interface DeleteOAuthAppResponse {\n  }\n  interface QueryOAuthAppRequest {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryOAuthAppResponse {\n      /** The retrieved OAuthApps */\n      oAuthApps?: OAuthApp[];\n      /** Paging metadata */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  /**\n   * Creates a new OAuthApp\n   * @param oAuthApp - OAuthApp to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField oAuthApp\n   * @requiredField oAuthApp.name\n   * @returns The created OAuthApp\n   */\n  function createOAuthApp(oAuthApp: OAuthApp): Promise<OAuthApp>;\n  /**\n   * Get a OAuthApp by id\n   * @param oAuthAppId - Id of the OAuthApp to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField oAuthAppId\n   * @returns The retrieved OAuthApp\n   */\n  function getOAuthApp(oAuthAppId: string): Promise<OAuthApp>;\n  /**\n   * Update a OAuthApp, supports partial update.\n   * Updatable fields:\n   * name\n   * description\n   * allowed_domain\n   * login_url\n   * @param _id - OAuthApp ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField oAuthApp\n   * @requiredField options\n   * @requiredField options.mask\n   * @returns The updated OAuthApp\n   */\n  function updateOAuthApp(_id: string | null, oAuthApp: UpdateOAuthApp, options: UpdateOAuthAppOptions): Promise<OAuthApp>;\n  interface UpdateOAuthApp {\n      /**\n       * OAuthApp ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the time this OAuthApp was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** OAuthApp name */\n      name?: string | null;\n      /** OAuthApp description */\n      description?: string | null;\n      /**\n       * App Secret;\n       * @readonly\n       */\n      secret?: string | null;\n      /** list of valid domains for callback URLs from wix pages */\n      allowedDomains?: string[];\n      /** login url to automatically redirect users to from wix pages */\n      loginUrl?: string | null;\n  }\n  interface UpdateOAuthAppOptions {\n      /** Explicit list of fields to update */\n      mask: string[];\n  }\n  /**\n   * Delete a OAuthApp\n   * @param oAuthAppId - Id of the OAuthApp to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField oAuthAppId\n   */\n  function deleteOAuthApp(oAuthAppId: string, options?: DeleteOAuthAppOptions): Promise<void>;\n  interface DeleteOAuthAppOptions {\n      /** The revision of the OAuthApp */\n      revision?: string;\n  }\n  /**\n   * Query OAuthApps using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryOAuthApp(): OAuthAppsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number;\n      totalPages: number;\n      totalCount: number;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface OAuthAppsQueryResult extends QueryOffsetResult {\n      items: OAuthApp[];\n      query: OAuthAppsQueryBuilder;\n      next: () => Promise<OAuthAppsQueryResult>;\n      prev: () => Promise<OAuthAppsQueryResult>;\n  }\n  interface OAuthAppsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: string, value: any) => OAuthAppsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: string[]) => OAuthAppsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: string[]) => OAuthAppsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => OAuthAppsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => OAuthAppsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<OAuthAppsQueryResult>;\n  }\n  \n  const headlessV1OAuthApp_universal_d___debug: typeof __debug;\n  type headlessV1OAuthApp_universal_d_OAuthApp = OAuthApp;\n  type headlessV1OAuthApp_universal_d_CreateOAuthAppRequest = CreateOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_CreateOAuthAppResponse = CreateOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_GetOAuthAppRequest = GetOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_GetOAuthAppResponse = GetOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_UpdateOAuthAppRequest = UpdateOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_UpdateOAuthAppResponse = UpdateOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_DeleteOAuthAppRequest = DeleteOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_DeleteOAuthAppResponse = DeleteOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_QueryOAuthAppRequest = QueryOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_QueryV2 = QueryV2;\n  type headlessV1OAuthApp_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type headlessV1OAuthApp_universal_d_Sorting = Sorting;\n  type headlessV1OAuthApp_universal_d_SortOrder = SortOrder;\n  const headlessV1OAuthApp_universal_d_SortOrder: typeof SortOrder;\n  type headlessV1OAuthApp_universal_d_Paging = Paging;\n  type headlessV1OAuthApp_universal_d_CursorPaging = CursorPaging;\n  type headlessV1OAuthApp_universal_d_QueryOAuthAppResponse = QueryOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type headlessV1OAuthApp_universal_d_Cursors = Cursors;\n  const headlessV1OAuthApp_universal_d_createOAuthApp: typeof createOAuthApp;\n  const headlessV1OAuthApp_universal_d_getOAuthApp: typeof getOAuthApp;\n  const headlessV1OAuthApp_universal_d_updateOAuthApp: typeof updateOAuthApp;\n  type headlessV1OAuthApp_universal_d_UpdateOAuthApp = UpdateOAuthApp;\n  type headlessV1OAuthApp_universal_d_UpdateOAuthAppOptions = UpdateOAuthAppOptions;\n  const headlessV1OAuthApp_universal_d_deleteOAuthApp: typeof deleteOAuthApp;\n  type headlessV1OAuthApp_universal_d_DeleteOAuthAppOptions = DeleteOAuthAppOptions;\n  const headlessV1OAuthApp_universal_d_queryOAuthApp: typeof queryOAuthApp;\n  type headlessV1OAuthApp_universal_d_OAuthAppsQueryResult = OAuthAppsQueryResult;\n  type headlessV1OAuthApp_universal_d_OAuthAppsQueryBuilder = OAuthAppsQueryBuilder;\n  namespace headlessV1OAuthApp_universal_d {\n    export {\n      headlessV1OAuthApp_universal_d___debug as __debug,\n      headlessV1OAuthApp_universal_d_OAuthApp as OAuthApp,\n      headlessV1OAuthApp_universal_d_CreateOAuthAppRequest as CreateOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_CreateOAuthAppResponse as CreateOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_GetOAuthAppRequest as GetOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_GetOAuthAppResponse as GetOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_UpdateOAuthAppRequest as UpdateOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_UpdateOAuthAppResponse as UpdateOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_DeleteOAuthAppRequest as DeleteOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_DeleteOAuthAppResponse as DeleteOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_QueryOAuthAppRequest as QueryOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_QueryV2 as QueryV2,\n      headlessV1OAuthApp_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      headlessV1OAuthApp_universal_d_Sorting as Sorting,\n      headlessV1OAuthApp_universal_d_SortOrder as SortOrder,\n      headlessV1OAuthApp_universal_d_Paging as Paging,\n      headlessV1OAuthApp_universal_d_CursorPaging as CursorPaging,\n      headlessV1OAuthApp_universal_d_QueryOAuthAppResponse as QueryOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      headlessV1OAuthApp_universal_d_Cursors as Cursors,\n      headlessV1OAuthApp_universal_d_createOAuthApp as createOAuthApp,\n      headlessV1OAuthApp_universal_d_getOAuthApp as getOAuthApp,\n      headlessV1OAuthApp_universal_d_updateOAuthApp as updateOAuthApp,\n      headlessV1OAuthApp_universal_d_UpdateOAuthApp as UpdateOAuthApp,\n      headlessV1OAuthApp_universal_d_UpdateOAuthAppOptions as UpdateOAuthAppOptions,\n      headlessV1OAuthApp_universal_d_deleteOAuthApp as deleteOAuthApp,\n      headlessV1OAuthApp_universal_d_DeleteOAuthAppOptions as DeleteOAuthAppOptions,\n      headlessV1OAuthApp_universal_d_queryOAuthApp as queryOAuthApp,\n      headlessV1OAuthApp_universal_d_OAuthAppsQueryResult as OAuthAppsQueryResult,\n      headlessV1OAuthApp_universal_d_OAuthAppsQueryBuilder as OAuthAppsQueryBuilder,\n    };\n  }\n  \n  export { headlessV1OAuthApp_universal_d as oAuthApps };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-authentication-management.v2.d.ts",
      "content": "declare module \"wix-authentication-management.v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** An intermediary application that authorizes and authenticates an external client to access data on a Wix project or site. */\n  interface OAuthApp {\n      /**\n       * ID of the OAuth app.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date and time the OAuth app was created, in ISO 8601 format.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** Display name of the OAuth app, as it appears in the dashboard. */\n      name?: string | null;\n      /** Description of the OAuth app, as it appears in the dashboard. */\n      description?: string | null;\n      /**\n       * Client secret for the OAuth app. **Note:** This is returned only when the OAuth app is created. It can't be retrieved later.\n       * @readonly\n       */\n      secret?: string | null;\n      /**\n       * List of domains to which redirection from Wix is allowed after processes other than authentication.\n       *\n       * When a client redirects a user to a Wix page (for example, for checkout), the client provides a URL to redirect the user back to.\n       * Wix only redirects the user if the URL is in one of the specified domains.\n       * @internal\n       */\n      allowedDomains?: string[];\n      /** External login URL to which users are redirected automatically to authenticate. If no login URL is specified, the user is redirected to Wix to authenticate. */\n      loginUrl?: string | null;\n      /**\n       * List of URIs to which redirection from Wix is allowed after authentication.\n       *\n       * When a client redirects a user to Wix for authentication, the client provides a URI to redirect the user back to after the user has been authenticated.\n       * Wix only redirects the user if the exact URI is contained in this array.\n       */\n      allowedRedirectUris?: string[];\n      /**\n       * List of domains to which redirection from Wix is allowed after processes other than authentication.\n       *\n       * When a client redirects a user to a Wix page (for example, for checkout), the client provides a URL to redirect the user back to.\n       * Wix only redirects the user if the URL is in one of the specified domains.\n       */\n      allowedRedirectDomains?: string[];\n  }\n  interface CreateOAuthAppRequest {\n      /** OAuth app to create. */\n      oAuthApp: OAuthApp;\n  }\n  interface CreateOAuthAppResponse {\n      /** Created OAuth app info. */\n      oAuthApp?: OAuthApp;\n  }\n  interface GetOAuthAppRequest {\n      /** ID of the OAuth app to retrieve. */\n      oAuthAppId: string;\n  }\n  interface GetOAuthAppResponse {\n      /** Retrieved OAuth app info. */\n      oAuthApp?: OAuthApp;\n  }\n  interface UpdateOAuthAppRequest {\n      /** Updated OAuth app details. May include some or all fields. */\n      oAuthApp: OAuthApp;\n      /** Explicit list of fields to update. Only fields listed are updated. */\n      mask: string[];\n  }\n  interface UpdateOAuthAppResponse {\n      /** Updated OAuth app info. */\n      oAuthApp?: OAuthApp;\n  }\n  interface DeleteOAuthAppRequest {\n      /** ID of the OAuth app to delete. */\n      oAuthAppId: string;\n  }\n  interface DeleteOAuthAppResponse {\n  }\n  interface QueryOAuthAppsRequest {\n      /** Query options. */\n      query?: PlatformQuery;\n  }\n  interface PlatformQuery extends PlatformQueryPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"name\",\"order\":\"ASC\"},{\"fieldName\":\"created_date\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryOAuthAppsResponse {\n      /** List of OAuth apps matching the query. */\n      oAuthApps?: OAuthApp[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  /**\n   * Creates a new OAuth app for a Wix Headless client.\n   *\n   *\n   * An OAuth app authorizes an external client app or site, on any platform, to authenticate with a Wix site or project and manage its data.\n   *\n   * > **Note:** The OAuth app secret is returned only when creating the OAuth app, and can't be retrieved later. Store the secret in a secure location.\n   * @param oAuthApp - OAuth app to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField oAuthApp\n   * @requiredField oAuthApp.name\n   * @returns Created OAuth app info.\n   */\n  function createOAuthApp(oAuthApp: OAuthApp): Promise<OAuthApp>;\n  /**\n   * Retrieves an OAuth app by ID.\n   * @param oAuthAppId - ID of the OAuth app to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField oAuthAppId\n   * @returns Retrieved OAuth app info.\n   */\n  function getOAuthApp(oAuthAppId: string): Promise<OAuthApp>;\n  /**\n   * Updates an OAuth app.\n   *\n   *\n   * Only fields provided in `mask` are updated.\n   *\n   * You can update the following fields:\n   * + `name`\n   * + `description`\n   * + `allowedDomain`\n   * + `loginUrl`\n   * @param _id - ID of the OAuth app.\n   * @param mask - Explicit list of fields to update. Only fields listed are updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField mask\n   * @requiredField oAuthApp\n   * @returns Updated OAuth app info.\n   */\n  function updateOAuthApp(_id: string | null, oAuthApp: UpdateOAuthApp, mask: string[]): Promise<OAuthApp>;\n  interface UpdateOAuthApp {\n      /**\n       * ID of the OAuth app.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date and time the OAuth app was created, in ISO 8601 format.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** Display name of the OAuth app, as it appears in the dashboard. */\n      name?: string | null;\n      /** Description of the OAuth app, as it appears in the dashboard. */\n      description?: string | null;\n      /**\n       * Client secret for the OAuth app. **Note:** This is returned only when the OAuth app is created. It can't be retrieved later.\n       * @readonly\n       */\n      secret?: string | null;\n      /**\n       * List of domains to which redirection from Wix is allowed after processes other than authentication.\n       *\n       * When a client redirects a user to a Wix page (for example, for checkout), the client provides a URL to redirect the user back to.\n       * Wix only redirects the user if the URL is in one of the specified domains.\n       * @internal\n       */\n      allowedDomains?: string[];\n      /** External login URL to which users are redirected automatically to authenticate. If no login URL is specified, the user is redirected to Wix to authenticate. */\n      loginUrl?: string | null;\n      /**\n       * List of URIs to which redirection from Wix is allowed after authentication.\n       *\n       * When a client redirects a user to Wix for authentication, the client provides a URI to redirect the user back to after the user has been authenticated.\n       * Wix only redirects the user if the exact URI is contained in this array.\n       */\n      allowedRedirectUris?: string[];\n      /**\n       * List of domains to which redirection from Wix is allowed after processes other than authentication.\n       *\n       * When a client redirects a user to a Wix page (for example, for checkout), the client provides a URL to redirect the user back to.\n       * Wix only redirects the user if the URL is in one of the specified domains.\n       */\n      allowedRedirectDomains?: string[];\n  }\n  /**\n   * Deletes an OAuth app by ID.\n   *\n   *\n   * > **Note:** After you delete an OAuth app, an external client can no longer make API calls by authenticating with its client ID.\n   * @param oAuthAppId - ID of the OAuth app to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField oAuthAppId\n   */\n  function deleteOAuthApp(oAuthAppId: string): Promise<void>;\n  /**\n   * Retrieves a list of OAuth apps, given the provided paging, filtering, and sorting.\n   *\n   *\n   * Query OAuth Apps runs with these defaults, which you can override:\n   * + Results are sorted by `id` in descending order.\n   * + `paging.offset` is `0`.\n   * @public\n   * @documentationMaturity preview\n   */\n  function queryOAuthApps(): OAuthAppsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number;\n      totalPages: number;\n      totalCount: number;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface OAuthAppsQueryResult extends QueryOffsetResult {\n      items: OAuthApp[];\n      query: OAuthAppsQueryBuilder;\n      next: () => Promise<OAuthAppsQueryResult>;\n      prev: () => Promise<OAuthAppsQueryResult>;\n  }\n  interface OAuthAppsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id', value: any) => OAuthAppsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | 'name'>) => OAuthAppsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | 'name'>) => OAuthAppsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => OAuthAppsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => OAuthAppsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<OAuthAppsQueryResult>;\n  }\n  \n  const headlessV1OAuthApp_universal_d___debug: typeof __debug;\n  type headlessV1OAuthApp_universal_d_OAuthApp = OAuthApp;\n  type headlessV1OAuthApp_universal_d_CreateOAuthAppRequest = CreateOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_CreateOAuthAppResponse = CreateOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_GetOAuthAppRequest = GetOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_GetOAuthAppResponse = GetOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_UpdateOAuthAppRequest = UpdateOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_UpdateOAuthAppResponse = UpdateOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_DeleteOAuthAppRequest = DeleteOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_DeleteOAuthAppResponse = DeleteOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_QueryOAuthAppsRequest = QueryOAuthAppsRequest;\n  type headlessV1OAuthApp_universal_d_PlatformQuery = PlatformQuery;\n  type headlessV1OAuthApp_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n  type headlessV1OAuthApp_universal_d_Sorting = Sorting;\n  type headlessV1OAuthApp_universal_d_SortOrder = SortOrder;\n  const headlessV1OAuthApp_universal_d_SortOrder: typeof SortOrder;\n  type headlessV1OAuthApp_universal_d_Paging = Paging;\n  type headlessV1OAuthApp_universal_d_CursorPaging = CursorPaging;\n  type headlessV1OAuthApp_universal_d_QueryOAuthAppsResponse = QueryOAuthAppsResponse;\n  type headlessV1OAuthApp_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type headlessV1OAuthApp_universal_d_Cursors = Cursors;\n  const headlessV1OAuthApp_universal_d_createOAuthApp: typeof createOAuthApp;\n  const headlessV1OAuthApp_universal_d_getOAuthApp: typeof getOAuthApp;\n  const headlessV1OAuthApp_universal_d_updateOAuthApp: typeof updateOAuthApp;\n  type headlessV1OAuthApp_universal_d_UpdateOAuthApp = UpdateOAuthApp;\n  const headlessV1OAuthApp_universal_d_deleteOAuthApp: typeof deleteOAuthApp;\n  const headlessV1OAuthApp_universal_d_queryOAuthApps: typeof queryOAuthApps;\n  type headlessV1OAuthApp_universal_d_OAuthAppsQueryResult = OAuthAppsQueryResult;\n  type headlessV1OAuthApp_universal_d_OAuthAppsQueryBuilder = OAuthAppsQueryBuilder;\n  namespace headlessV1OAuthApp_universal_d {\n    export {\n      headlessV1OAuthApp_universal_d___debug as __debug,\n      headlessV1OAuthApp_universal_d_OAuthApp as OAuthApp,\n      headlessV1OAuthApp_universal_d_CreateOAuthAppRequest as CreateOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_CreateOAuthAppResponse as CreateOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_GetOAuthAppRequest as GetOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_GetOAuthAppResponse as GetOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_UpdateOAuthAppRequest as UpdateOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_UpdateOAuthAppResponse as UpdateOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_DeleteOAuthAppRequest as DeleteOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_DeleteOAuthAppResponse as DeleteOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_QueryOAuthAppsRequest as QueryOAuthAppsRequest,\n      headlessV1OAuthApp_universal_d_PlatformQuery as PlatformQuery,\n      headlessV1OAuthApp_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf,\n      headlessV1OAuthApp_universal_d_Sorting as Sorting,\n      headlessV1OAuthApp_universal_d_SortOrder as SortOrder,\n      headlessV1OAuthApp_universal_d_Paging as Paging,\n      headlessV1OAuthApp_universal_d_CursorPaging as CursorPaging,\n      headlessV1OAuthApp_universal_d_QueryOAuthAppsResponse as QueryOAuthAppsResponse,\n      headlessV1OAuthApp_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      headlessV1OAuthApp_universal_d_Cursors as Cursors,\n      headlessV1OAuthApp_universal_d_createOAuthApp as createOAuthApp,\n      headlessV1OAuthApp_universal_d_getOAuthApp as getOAuthApp,\n      headlessV1OAuthApp_universal_d_updateOAuthApp as updateOAuthApp,\n      headlessV1OAuthApp_universal_d_UpdateOAuthApp as UpdateOAuthApp,\n      headlessV1OAuthApp_universal_d_deleteOAuthApp as deleteOAuthApp,\n      headlessV1OAuthApp_universal_d_queryOAuthApps as queryOAuthApps,\n      headlessV1OAuthApp_universal_d_OAuthAppsQueryResult as OAuthAppsQueryResult,\n      headlessV1OAuthApp_universal_d_OAuthAppsQueryBuilder as OAuthAppsQueryBuilder,\n    };\n  }\n  \n  export { headlessV1OAuthApp_universal_d as oAuthApps };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization.d.ts",
      "content": "declare module \"wix-multilingual-localization\" {\n  interface LocalizedContent {\n      /** UUID identifier for content */\n      _id?: string;\n      /** Compound key identifier for content */\n      key?: LocalizedContentKey;\n      /** Localized fields for every language this entity has content */\n      fieldsPerLanguage?: LanguageFields[];\n      /** Optional field that will group in the UI contents with the same group name */\n      groupByName?: string | null;\n  }\n  interface LocalizedContentKey {\n      /** Schema unique key identifier */\n      schemaKey?: SchemaKey;\n      /** Unique identifier that represents a specific entity in the app */\n      entityId?: string;\n  }\n  interface SchemaKey {\n      /** ID of app that created the schema. */\n      appId?: string;\n      /** Unique name defined by the creator app, used to distinguish between different entities in the the app domain. */\n      entityType?: string;\n      /** Scope schema is defined in (Global/Site) */\n      scope?: SchemaScope;\n  }\n  enum SchemaScope {\n      /** Global schema, relevant to all sites */\n      GLOBAL = \"GLOBAL\",\n      /** Site schema, relevant to specific site only */\n      SITE = \"SITE\"\n  }\n  interface LanguageFields {\n      /** Language identifier in IETF BCP 47 tag format. */\n      languageTag?: string;\n      /** List of fields localized in the given language */\n      languageFields?: LocalizedContentField[];\n  }\n  interface LocalizedContentField extends LocalizedContentFieldValueOneOf {\n      /** Field actual localized content as simple text type */\n      textValue?: string;\n      /** Field actual localized content as rich content editor type */\n      wixRichContentEditorValue?: string;\n      /** Field actual localized content as media type (image, video or document) */\n      mediaValue?: MediaItem;\n      /** Field unique identifier. This id must have a matching schema field id */\n      _id?: string;\n      /** Describes the updater identity (site owner / app / auto translator) */\n      updatedBy?: UpdaterIdentity;\n      /** Owner of the last change on this field */\n      updaterId?: string | null;\n      /** Is content published to live site or not */\n      published?: boolean;\n      /** Status of the field in the workflow (e.g. pending, reviewed, approved). Value is free text - defined by the client and only stored here. */\n      status?: string | null;\n      /** In case field is reachable via sequence/s, this array represents all the sequences names in the path, and their corresponding item id */\n      sequencePath?: FieldSequence[];\n  }\n  /** @oneof */\n  interface LocalizedContentFieldValueOneOf {\n      /** Field actual localized content as simple text type */\n      textValue?: string;\n      /** Field actual localized content as rich content editor type */\n      wixRichContentEditorValue?: string;\n      /** Field actual localized content as media type (image, video or document) */\n      mediaValue?: MediaItem;\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** Image media item */\n      image?: string;\n      /** Video media item */\n      video?: string;\n      /** Document media item */\n      document?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** Image media item */\n      image?: string;\n      /** Video media item */\n      video?: string;\n      /** Document media item */\n      document?: string;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  enum UpdaterIdentity {\n      /** Site Owner identity */\n      SITE_OWNER = \"SITE_OWNER\",\n      /** External hired human translator */\n      EXTERNAL = \"EXTERNAL\",\n      /** Machine translation like Google Translate */\n      MACHINE = \"MACHINE\"\n  }\n  interface FieldSequence {\n      /** Name of sequence */\n      seqName?: string;\n      /** Id of relevant item in the sequence */\n      itemId?: string;\n      /** Optional field - in case set sequences will be ordered by priority index (best effort) */\n      priorityIndex?: number | null;\n  }\n  interface SearchEntityContentRequest {\n      schemaKey: SchemaKey;\n      primaryLanguage?: string;\n      secondaryLanguage?: string;\n      fieldSearch?: FieldSearch;\n      translationStatus?: TranslationStatus;\n      paging?: Paging;\n  }\n  interface FieldSearch {\n      fieldIdToSearch?: string;\n      stringToSearch?: string;\n  }\n  enum TranslationStatus {\n      ALL = \"ALL\",\n      AWAIT_TRANSLATION = \"AWAIT_TRANSLATION\",\n      IN_PROGRESS = \"IN_PROGRESS\",\n      TRANSLATED = \"TRANSLATED\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface SearchEntityContentResponse {\n      localizedContents?: LocalizedContent[];\n      paging?: Paging;\n      total?: number;\n  }\n  interface Person {\n      /**\n       * @internal\n       * @readonly\n       */\n      _id?: string;\n      /** @internal */\n      name?: string;\n      /** @internal */\n      description?: string;\n      /** @internal */\n      image?: Image;\n      /** @internal */\n      birthDate?: string;\n      /** @internal */\n      genericMessage?: GenericMessage;\n      /** @internal */\n      hobbies?: Hobby[];\n      /** @internal */\n      additionalDetails?: Record<string, DetailType>;\n  }\n  interface Image {\n      /**\n       * WixMedia image ID\n       * @internal\n       */\n      _id?: string;\n      /**\n       * URL of image\n       * @internal\n       */\n      url?: string;\n      /**\n       * Original image width\n       * @internal\n       */\n      height?: number;\n      /**\n       * Original image height\n       * @internal\n       */\n      width?: number;\n  }\n  interface GenericMessage {\n      /** @internal */\n      data1?: string;\n      /** @internal */\n      data2?: string;\n      /** @internal */\n      data3?: string;\n      /** @internal */\n      data4?: string;\n  }\n  interface Hobby {\n      /** @internal */\n      name?: string;\n      /** @internal */\n      category?: string;\n  }\n  interface DetailType {\n      /** @internal */\n      name?: string;\n  }\n  interface AddPersonRequest {\n      /** @internal */\n      person?: Person;\n  }\n  interface AddPersonResponse {\n  }\n  interface UpdatePersonRequest {\n      /** @internal */\n      person?: Person;\n  }\n  interface UpdatePersonResponse {\n  }\n  interface DeletePersonRequest {\n      /** @internal */\n      personId: string;\n  }\n  interface DeletePersonResponse {\n  }\n  interface PersonsListRequest {\n  }\n  interface PersonsListResponse {\n      /** @internal */\n      persons?: Person[];\n  }\n  interface Empty {\n  }\n  interface LocalizedContentChanged {\n      /** The action that changed the content */\n      action?: LocalizationContentChangedAction;\n      /** token to identify the flow this event is part of and the total number of event in this flow. */\n      flowToken?: string | null;\n  }\n  interface LocalizedLanguageContent {\n      /** UUID identifier for the original content */\n      localizationRecordId?: string;\n      /** Compound key identifier for content */\n      key?: LocalizedLanguageContentKey;\n      /** Localized fields this entity has content */\n      fields?: LocalizedContentField[];\n      /** Optional field that will group in the UI contents with the same group name */\n      groupByName?: string | null;\n  }\n  interface LocalizedLanguageContentKey {\n      /** Language identifier in IETF BCP 47 tag format. */\n      languageTag?: string;\n      /** Schema unique key identifier */\n      schemaKey?: SchemaKey;\n      /** Unique identifier that represents a specific entity in the app */\n      entityId?: string;\n  }\n  interface CreateOrUpdateAction {\n      /** The new Localized published state */\n      localizedLanguageContent?: LocalizedLanguageContent;\n  }\n  interface DeleteAction {\n      /** UUID identifier for the original content */\n      localizationRecordId?: string;\n      /** Language identifier in IETF BCP 47 tag format. */\n      languageTag?: string;\n      /** Compound key identifier for content */\n      key?: LocalizedLanguageContentKey;\n  }\n  interface LocalizationContentChangedAction extends LocalizationContentChangedActionActionOneOf {\n      /** Content has changes in its fields */\n      createOrUpdateAction?: CreateOrUpdateAction;\n      /** Content deleted */\n      deleteAction?: DeleteAction;\n  }\n  /** @oneof */\n  interface LocalizationContentChangedActionActionOneOf {\n      /** Content has changes in its fields */\n      createOrUpdateAction?: CreateOrUpdateAction;\n      /** Content deleted */\n      deleteAction?: DeleteAction;\n  }\n  interface CreateOrUpdateContentsByKeyRequest {\n      /** Language ID in IETF BCP 47 tag format. */\n      languageTag?: string;\n      /** List of content for creation/update. */\n      languageContents?: LanguageContentByKey[];\n      /** When true - uploaded language contents will replace existing language contents */\n      overrideData?: boolean;\n  }\n  interface LanguageContentByKey {\n      /** Content unique key identifier */\n      contentKey?: LocalizedContentKey;\n      /** List of localized fields */\n      languageFields?: LocalizedContentField[];\n      /** Optional field that will group in the UI contents with the same group name */\n      groupByName?: string | null;\n  }\n  interface CreateOrUpdateContentsResponse {\n      /** List of all created/updated content. */\n      localizedContents?: LocalizedContent[];\n  }\n  interface UpdateContentsRequest {\n      /** Language ID in IETF BCP 47 tag format. */\n      languageTag?: string;\n      /** List of content in a given language for update. */\n      languageContents?: LanguageContentById[];\n      /** When true - uploaded language contents will replace existing language contents */\n      overrideData?: boolean;\n  }\n  interface LanguageContentById {\n      /** Content uuid identifier */\n      contentId?: string;\n      /** List of localized fields */\n      languageFields?: LocalizedContentField[];\n      /** Optional field that will group in the UI contents with the same group name */\n      groupByName?: string | null;\n  }\n  interface RemoveContentFieldsRequest {\n      /** Content IDs for fields removal */\n      contentId: string;\n      /** Language ID (in IETF BCP 47 tag format) for fields removal, remove from all languages if empty */\n      languageTagsMask?: string[];\n      /** Field unique identifier to remove */\n      fieldsIdentifiers?: ContentFieldIdentifier[];\n  }\n  interface ContentFieldIdentifier {\n      /** This id must have a matching schema field id */\n      _id?: string;\n      /** In case field is reachable via sequence/s, this array represents all the sequences names in the path, and their corresponding item id */\n      sequencePath?: FieldSequence[];\n  }\n  interface RemoveContentFieldsResponse {\n      /** localized contents in its most recent state */\n      localizedContent?: LocalizedContent;\n  }\n  interface RemoveContentFieldsByKeyRequest {\n      /** Content key for removal */\n      contentKey: LocalizedContentKey;\n      /** Language ID (in IETF BCP 47 tag format) for fields removal, remove from all languages if empty */\n      languageTagsMask?: string[];\n      /** Field unique identifier to remove. */\n      fieldsIdentifiers?: ContentFieldIdentifier[];\n  }\n  interface ListContentsRequest {\n      /** Filter object */\n      filter?: LocalizedContentFilter;\n      /** Paging options. */\n      paging?: Paging;\n      /** Optional field to order results by. */\n      order?: OrderByField;\n  }\n  interface LocalizedContentFilter {\n      /** Optional list of content ids */\n      contentIds?: string[];\n      /** App def id */\n      appId?: string | null;\n      /** Type of the connected source entity to the localized content. Using this filter without specifying also app id filter might result in slow queries */\n      entityType?: string | null;\n      /** Id of the connected source entity to the localized content. Using this filter without specifying also entity type filter might result in slow queries */\n      entityId?: string | null;\n      /** IETF BCP 47 language tag filter. Show only contents having at least one field localized to this language. Using this filter without specifying also entity id filter might result in slow queries */\n      languageTag?: string | null;\n      /** Optional list of language tags. Will return partial contents containing only fields that are localized in languages from given list or empty contents if there are no such fields */\n      languageMask?: string[];\n      /**\n       * @deprecated\n       * @replacedBy group_names\n       * @targetRemovalDate 2023-02-21\n       */\n      groupName?: string | null;\n      /** Fetch only contents with given group name */\n      groupNames?: string[];\n      /** Optional filter to fetch only contents that are in a specific scope */\n      scope?: FilterSchemaScope;\n  }\n  interface FilterSchemaScope {\n      /** The scope type of the schema */\n      scope?: SchemaScope;\n  }\n  enum OrderByField {\n      UNSPECIFIED_FIELD = \"UNSPECIFIED_FIELD\",\n      ENTITY_ID = \"ENTITY_ID\"\n  }\n  interface ListContentsResponse {\n      /** Content that meets request conditions. */\n      localizedContents?: LocalizedContent[];\n  }\n  interface RemoveSiteLanguagesRequest {\n      /** Optional list of language tags. Will remove only the languages that are listed or empty to remove all languages */\n      languagesToRemove?: string[];\n  }\n  interface RemoveSiteLanguagesResponse {\n  }\n  interface RemoveContentsByEntityTypeRequest {\n      /** The app id of the entity you want to delete */\n      appId: string;\n      /** The entity type of the entity you want to delete */\n      entityType: string;\n      /** The secret of the entity you want to delete */\n      secret: string;\n  }\n  interface RemoveContentsResponse {\n  }\n  interface RepublishSchemaContentRequest {\n      /** Schema key of the content to republish. */\n      schemaKey?: SchemaKey;\n      /** Secret of the content to republish. */\n      secret: string;\n  }\n  interface RepublishSchemaContentResponse {\n  }\n  interface GetContentHistoryRequest {\n      /** Content ID. */\n      contentId: string;\n      /** Paging options. */\n      paging?: Paging;\n  }\n  interface GetContentHistoryResponse {\n      /** List of contents, representing all content's changes through its lifecycle */\n      contentHistory?: RevisionLocalizedContent[];\n  }\n  interface RevisionLocalizedContent {\n      /** Content data */\n      content?: LocalizedContent;\n      /** Revision data */\n      revision?: Revision;\n  }\n  interface Revision {\n      /** Identify the localized content point in history. the revision is created during call to Localization.UpdateSiteLocalizedContent */\n      version?: number;\n      /** Identify the localized content date in history. two revisions can have the same date. */\n      date?: Date | null;\n  }\n  interface GetContentHistoryByKeyRequest {\n      /** Content key. */\n      contentKey: LocalizedContentKey;\n      /** Paging options. */\n      paging?: Paging;\n  }\n  interface RemoveContentsRequest {\n      /** Content IDs to delete. */\n      contentIds?: string[];\n  }\n  interface RemoveContentsByKeyRequest {\n      /** Content keys to delete. */\n      contentKeys: LocalizedContentKey[];\n  }\n  interface RemoveContentsByFilterRequest {\n      /** Filter object */\n      filter?: LocalizedContentFilter;\n  }\n  interface SetContentGroupsRequest {\n      /** Selected content key identifiers for removal */\n      contentGroup?: ContentGroupById[];\n  }\n  interface ContentGroupById {\n      /** Content uuid identifier */\n      contentId?: string;\n      /** Optional field that will group in the UI contents with the same group name. If not set - will delete group name if exists. Case insensitive */\n      group?: string | null;\n  }\n  interface SetContentGroupsResponse {\n  }\n  interface SetContentGroupsByKeyRequest {\n      /** Selected content key identifiers for removal */\n      contentGroup?: ContentGroupByKey[];\n  }\n  interface ContentGroupByKey {\n      /** Content unique key identifier */\n      contentKey?: LocalizedContentKey;\n      /** Optional field that will group in the UI contents with the same group name. If not set - will delete group name if exists. Case insensitive */\n      group?: string | null;\n  }\n  interface GetAppGroupNamesRequest {\n      /** App def id of the app this schema belongs to */\n      appId: string;\n  }\n  interface GetAppGroupNamesResponse {\n      /** All distinct group names defined for this app's contents */\n      groups?: string[];\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /** A list of \"assets\" (applications). The same as MetaSiteContext. */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField schemaKey\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function searchEntityContent(schemaKey: SchemaKey, options?: SearchEntityContentOptions): Promise<SearchEntityContentResponse>;\n  interface SearchEntityContentOptions {\n      primaryLanguage?: string;\n      secondaryLanguage?: string;\n      fieldSearch?: FieldSearch;\n      translationStatus?: TranslationStatus;\n      paging?: Paging;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function addPersonDetails(options?: AddPersonDetailsOptions): Promise<void>;\n  interface AddPersonDetailsOptions {\n      /** @internal */\n      person?: Person;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function updatePersonDetails(_id: string, options?: UpdatePersonDetailsOptions): Promise<void>;\n  interface UpdatePersonDetailsOptions {\n      person: {\n          /**\n           * @internal\n           * @readonly\n           */\n          _id?: string;\n          /** @internal */\n          name?: string;\n          /** @internal */\n          description?: string;\n          /** @internal */\n          image?: Image;\n          /** @internal */\n          birthDate?: string;\n          /** @internal */\n          genericMessage?: GenericMessage;\n          /** @internal */\n          hobbies?: Hobby[];\n          /** @internal */\n          additionalDetails?: Record<string, DetailType>;\n      };\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField personId\n   * @adminMethod\n   */\n  function deletePersonDetails(personId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function list(): Promise<void>;\n  /**\n   * Adds or updates a localized content key for a given language.\n   * Localized content is identified by its schemaKey and entityId.\n   * Partial updates are supported - uploaded fields will be merged with existing language fields.\n   * Override is also supported - need to mark explicitly in the request\n   * Language content will be merged with entity's list of languages.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.languageContents.contentKey\n   * @requiredField options.languageContents.contentKey.schemaKey\n   * @requiredField options.languageContents.languageFields\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function createOrUpdateContentsByKey(options?: CreateOrUpdateContentsByKeyOptions): Promise<CreateOrUpdateContentsResponse>;\n  interface CreateOrUpdateContentsByKeyOptions {\n      /** Language ID in IETF BCP 47 tag format. */\n      languageTag?: string;\n      /** List of content for creation/update. */\n      languageContents?: LanguageContentByKey[];\n      /** When true - uploaded language contents will replace existing language contents */\n      overrideData?: boolean;\n  }\n  /**\n   * Updates existing localized content for a given language by contentId.\n   * Partial updates are supported - uploaded fields will be merged with existing language fields.\n   * Override is also supported - need to mark explicitly in the request\n   * Language content will be merged with entity's list of languages.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.languageContents.languageFields\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function updateContents(options?: UpdateContentsOptions): Promise<CreateOrUpdateContentsResponse>;\n  interface UpdateContentsOptions {\n      /** Language ID in IETF BCP 47 tag format. */\n      languageTag?: string;\n      /** List of content in a given language for update. */\n      languageContents?: LanguageContentById[];\n      /** When true - uploaded language contents will replace existing language contents */\n      overrideData?: boolean;\n  }\n  /**\n   * Removes specified content fields from given languages by contentId and sequencePath.\n   * If no language is specified, the fields will be removed from all existing languages.\n   * No error will be thrown if some fields do not exist in all languages.\n   * @param contentId - Content IDs for fields removal\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contentId\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function removeContentFields(contentId: string, options?: RemoveContentFieldsOptions): Promise<RemoveContentFieldsResponse>;\n  interface RemoveContentFieldsOptions {\n      /** Language ID (in IETF BCP 47 tag format) for fields removal, remove from all languages if empty */\n      languageTagsMask?: string[];\n      /** Field unique identifier to remove */\n      fieldsIdentifiers?: ContentFieldIdentifier[];\n  }\n  /**\n   * Removes specified content fields from given languages by schemaKey and entityId.\n   * If no language is specified the fields will be removed from all existing languages.\n   * Field is identified by its id and sequence path\n   * No error will be thrown if some fields do not exist in all languages.\n   * @param contentKey - Content key for removal\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contentKey\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function removeContentFieldsByKey(contentKey: LocalizedContentKey, options?: RemoveContentFieldsByKeyOptions): Promise<RemoveContentFieldsResponse>;\n  interface RemoveContentFieldsByKeyOptions {\n      /** Language ID (in IETF BCP 47 tag format) for fields removal, remove from all languages if empty */\n      languageTagsMask?: string[];\n      /** Field unique identifier to remove. */\n      fieldsIdentifiers?: ContentFieldIdentifier[];\n  }\n  /**\n   * Retrieves localized content, including published and unpublished values, given the provided filtering.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function listContents(options?: ListContentsOptions): Promise<ListContentsResponse>;\n  interface ListContentsOptions {\n      /** Filter object */\n      filter?: LocalizedContentFilter;\n      /** Paging options. */\n      paging?: Paging;\n      /** Optional field to order results by. */\n      order?: OrderByField;\n  }\n  /**\n   * Removes specified languages from given a given site.\n   * If no languages specified all languages will be removed.\n   * No error will be thrown if some languages do not exist in the site.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function removeSiteLanguages(options?: RemoveSiteLanguagesOptions): Promise<void>;\n  interface RemoveSiteLanguagesOptions {\n      /** Optional list of language tags. Will remove only the languages that are listed or empty to remove all languages */\n      languagesToRemove?: string[];\n  }\n  /**\n   * Removes all content in a given entity type\n   * @param appId - The app id of the entity you want to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.entityType\n   * @requiredField options.secret\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function removeContentsByEntityType(appId: string, options: RemoveContentsByEntityTypeOptions): Promise<void>;\n  interface RemoveContentsByEntityTypeOptions {\n      /** The entity type of the entity you want to delete */\n      entityType: string;\n      /** The secret of the entity you want to delete */\n      secret: string;\n  }\n  /**\n   * Start republish all content with a specific schema key\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.schemaKey.appId\n   * @requiredField options.schemaKey.entityType\n   * @requiredField options.secret\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function republishSchemaContent(options?: RepublishSchemaContentOptions): Promise<void>;\n  interface RepublishSchemaContentOptions {\n      /** Schema key of the content to republish. */\n      schemaKey?: SchemaKey;\n      /** Secret of the content to republish. */\n      secret: string;\n  }\n  /**\n   * Retrieves full content revision history by contentId.\n   * Note: If the requested contentId doesn't exist, the API will ignore the request and return successfully - with no error message.\n   * @param contentId - Content ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contentId\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function getContentHistory(contentId: string, options?: GetContentHistoryOptions): Promise<GetContentHistoryResponse>;\n  interface GetContentHistoryOptions {\n      /** Paging options. */\n      paging?: Paging;\n  }\n  /**\n   * Retrieves content full revision history by schemaKey and entityId.\n   * Note: If the requested content doesn't exist, the API will ignore the request and return successfully - with no error message.\n   * @param contentKey - Content key.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contentKey\n   * @requiredField contentKey.schemaKey\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function getContentHistoryByKey(contentKey: LocalizedContentKey, options?: GetContentHistoryByKeyOptions): Promise<GetContentHistoryResponse>;\n  interface GetContentHistoryByKeyOptions {\n      /** Paging options. */\n      paging?: Paging;\n  }\n  /**\n   * Removes existing localized content by contentId. Non-existent contentIds are ignored.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function removeContents(options?: RemoveContentsOptions): Promise<void>;\n  interface RemoveContentsOptions {\n      /** Content IDs to delete. */\n      contentIds?: string[];\n  }\n  /**\n   * Removes existing localized content by contentKey. Non-existent contentKeys are ignored.\n   * @param contentKeys - Content keys to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contentKeys\n   * @requiredField contentKeys.schemaKey\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function removeContentsByKey(contentKeys: LocalizedContentKey[]): Promise<void>;\n  /**\n   * Removes existing localized content by filter. Non-matching filters are ignored.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function removeContentsByFilter(options?: RemoveContentsByFilterOptions): Promise<void>;\n  interface RemoveContentsByFilterOptions {\n      /** Filter object */\n      filter?: LocalizedContentFilter;\n  }\n  /**\n   * Set for each content a name to be grouped by in ML TMS UI\n   * Identify localized contents by their uuid\n   * Ignores non existing ids\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.contentGroup.contentId\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function setContentGroups(options?: SetContentGroupsOptions): Promise<void>;\n  interface SetContentGroupsOptions {\n      /** Selected content key identifiers for removal */\n      contentGroup?: ContentGroupById[];\n  }\n  /**\n   * Set for each content a name to be grouped by in ML TMS UI\n   * Identify localized contents by their schema and entity\n   * Ignores non existing keys\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.contentGroup.contentKey\n   * @requiredField options.contentGroup.contentKey.schemaKey\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function setContentGroupsByKey(options?: SetContentGroupsByKeyOptions): Promise<void>;\n  interface SetContentGroupsByKeyOptions {\n      /** Selected content key identifiers for removal */\n      contentGroup?: ContentGroupByKey[];\n  }\n  /**\n   * Get all app's group names in a given site\n   * Will return empty sequence if no groups exist\n   * Results are confined to the site found in the context\n   * @param appId - App def id of the app this schema belongs to\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function getAppGroupNames(appId: string): Promise<GetAppGroupNamesResponse>;\n  \n  type multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContent = LocalizedContent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContentKey = LocalizedContentKey;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SchemaKey = SchemaKey;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SchemaScope = SchemaScope;\n  const multilingualLocalizationV1LocalizedContent_universal_d_SchemaScope: typeof SchemaScope;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LanguageFields = LanguageFields;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContentField = LocalizedContentField;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContentFieldValueOneOf = LocalizedContentFieldValueOneOf;\n  type multilingualLocalizationV1LocalizedContent_universal_d_MediaItem = MediaItem;\n  type multilingualLocalizationV1LocalizedContent_universal_d_MediaItemMediaOneOf = MediaItemMediaOneOf;\n  type multilingualLocalizationV1LocalizedContent_universal_d_VideoResolution = VideoResolution;\n  type multilingualLocalizationV1LocalizedContent_universal_d_UpdaterIdentity = UpdaterIdentity;\n  const multilingualLocalizationV1LocalizedContent_universal_d_UpdaterIdentity: typeof UpdaterIdentity;\n  type multilingualLocalizationV1LocalizedContent_universal_d_FieldSequence = FieldSequence;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SearchEntityContentRequest = SearchEntityContentRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_FieldSearch = FieldSearch;\n  type multilingualLocalizationV1LocalizedContent_universal_d_TranslationStatus = TranslationStatus;\n  const multilingualLocalizationV1LocalizedContent_universal_d_TranslationStatus: typeof TranslationStatus;\n  type multilingualLocalizationV1LocalizedContent_universal_d_Paging = Paging;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SearchEntityContentResponse = SearchEntityContentResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_Person = Person;\n  type multilingualLocalizationV1LocalizedContent_universal_d_Image = Image;\n  type multilingualLocalizationV1LocalizedContent_universal_d_GenericMessage = GenericMessage;\n  type multilingualLocalizationV1LocalizedContent_universal_d_Hobby = Hobby;\n  type multilingualLocalizationV1LocalizedContent_universal_d_DetailType = DetailType;\n  type multilingualLocalizationV1LocalizedContent_universal_d_AddPersonRequest = AddPersonRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_AddPersonResponse = AddPersonResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_UpdatePersonRequest = UpdatePersonRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_UpdatePersonResponse = UpdatePersonResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_DeletePersonRequest = DeletePersonRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_DeletePersonResponse = DeletePersonResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_PersonsListRequest = PersonsListRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_PersonsListResponse = PersonsListResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_Empty = Empty;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContentChanged = LocalizedContentChanged;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LocalizedLanguageContent = LocalizedLanguageContent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LocalizedLanguageContentKey = LocalizedLanguageContentKey;\n  type multilingualLocalizationV1LocalizedContent_universal_d_CreateOrUpdateAction = CreateOrUpdateAction;\n  type multilingualLocalizationV1LocalizedContent_universal_d_DeleteAction = DeleteAction;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LocalizationContentChangedAction = LocalizationContentChangedAction;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LocalizationContentChangedActionActionOneOf = LocalizationContentChangedActionActionOneOf;\n  type multilingualLocalizationV1LocalizedContent_universal_d_CreateOrUpdateContentsByKeyRequest = CreateOrUpdateContentsByKeyRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LanguageContentByKey = LanguageContentByKey;\n  type multilingualLocalizationV1LocalizedContent_universal_d_CreateOrUpdateContentsResponse = CreateOrUpdateContentsResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_UpdateContentsRequest = UpdateContentsRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LanguageContentById = LanguageContentById;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentFieldsRequest = RemoveContentFieldsRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_ContentFieldIdentifier = ContentFieldIdentifier;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentFieldsResponse = RemoveContentFieldsResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentFieldsByKeyRequest = RemoveContentFieldsByKeyRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_ListContentsRequest = ListContentsRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContentFilter = LocalizedContentFilter;\n  type multilingualLocalizationV1LocalizedContent_universal_d_FilterSchemaScope = FilterSchemaScope;\n  type multilingualLocalizationV1LocalizedContent_universal_d_OrderByField = OrderByField;\n  const multilingualLocalizationV1LocalizedContent_universal_d_OrderByField: typeof OrderByField;\n  type multilingualLocalizationV1LocalizedContent_universal_d_ListContentsResponse = ListContentsResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveSiteLanguagesRequest = RemoveSiteLanguagesRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveSiteLanguagesResponse = RemoveSiteLanguagesResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsByEntityTypeRequest = RemoveContentsByEntityTypeRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsResponse = RemoveContentsResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RepublishSchemaContentRequest = RepublishSchemaContentRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RepublishSchemaContentResponse = RepublishSchemaContentResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_GetContentHistoryRequest = GetContentHistoryRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_GetContentHistoryResponse = GetContentHistoryResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RevisionLocalizedContent = RevisionLocalizedContent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_Revision = Revision;\n  type multilingualLocalizationV1LocalizedContent_universal_d_GetContentHistoryByKeyRequest = GetContentHistoryByKeyRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsRequest = RemoveContentsRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsByKeyRequest = RemoveContentsByKeyRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsByFilterRequest = RemoveContentsByFilterRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SetContentGroupsRequest = SetContentGroupsRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_ContentGroupById = ContentGroupById;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SetContentGroupsResponse = SetContentGroupsResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SetContentGroupsByKeyRequest = SetContentGroupsByKeyRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_ContentGroupByKey = ContentGroupByKey;\n  type multilingualLocalizationV1LocalizedContent_universal_d_GetAppGroupNamesRequest = GetAppGroupNamesRequest;\n  type multilingualLocalizationV1LocalizedContent_universal_d_GetAppGroupNamesResponse = GetAppGroupNamesResponse;\n  type multilingualLocalizationV1LocalizedContent_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type multilingualLocalizationV1LocalizedContent_universal_d_Asset = Asset;\n  type multilingualLocalizationV1LocalizedContent_universal_d_State = State;\n  const multilingualLocalizationV1LocalizedContent_universal_d_State: typeof State;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SiteCreated = SiteCreated;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const multilingualLocalizationV1LocalizedContent_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type multilingualLocalizationV1LocalizedContent_universal_d_Namespace = Namespace;\n  const multilingualLocalizationV1LocalizedContent_universal_d_Namespace: typeof Namespace;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SiteTransferred = SiteTransferred;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SiteDeleted = SiteDeleted;\n  type multilingualLocalizationV1LocalizedContent_universal_d_DeleteContext = DeleteContext;\n  type multilingualLocalizationV1LocalizedContent_universal_d_DeleteStatus = DeleteStatus;\n  const multilingualLocalizationV1LocalizedContent_universal_d_DeleteStatus: typeof DeleteStatus;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SiteUndeleted = SiteUndeleted;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SitePublished = SitePublished;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SiteUnpublished = SiteUnpublished;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type multilingualLocalizationV1LocalizedContent_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type multilingualLocalizationV1LocalizedContent_universal_d_ServiceRemoved = ServiceRemoved;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SiteRenamed = SiteRenamed;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type multilingualLocalizationV1LocalizedContent_universal_d_NamespaceChanged = NamespaceChanged;\n  type multilingualLocalizationV1LocalizedContent_universal_d_StudioAssigned = StudioAssigned;\n  type multilingualLocalizationV1LocalizedContent_universal_d_StudioUnassigned = StudioUnassigned;\n  type multilingualLocalizationV1LocalizedContent_universal_d_DomainEvent = DomainEvent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type multilingualLocalizationV1LocalizedContent_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RestoreInfo = RestoreInfo;\n  type multilingualLocalizationV1LocalizedContent_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_ActionEvent = ActionEvent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_MessageEnvelope = MessageEnvelope;\n  type multilingualLocalizationV1LocalizedContent_universal_d_IdentificationData = IdentificationData;\n  type multilingualLocalizationV1LocalizedContent_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type multilingualLocalizationV1LocalizedContent_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const multilingualLocalizationV1LocalizedContent_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const multilingualLocalizationV1LocalizedContent_universal_d_searchEntityContent: typeof searchEntityContent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SearchEntityContentOptions = SearchEntityContentOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_addPersonDetails: typeof addPersonDetails;\n  type multilingualLocalizationV1LocalizedContent_universal_d_AddPersonDetailsOptions = AddPersonDetailsOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_updatePersonDetails: typeof updatePersonDetails;\n  type multilingualLocalizationV1LocalizedContent_universal_d_UpdatePersonDetailsOptions = UpdatePersonDetailsOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_deletePersonDetails: typeof deletePersonDetails;\n  const multilingualLocalizationV1LocalizedContent_universal_d_list: typeof list;\n  const multilingualLocalizationV1LocalizedContent_universal_d_createOrUpdateContentsByKey: typeof createOrUpdateContentsByKey;\n  type multilingualLocalizationV1LocalizedContent_universal_d_CreateOrUpdateContentsByKeyOptions = CreateOrUpdateContentsByKeyOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_updateContents: typeof updateContents;\n  type multilingualLocalizationV1LocalizedContent_universal_d_UpdateContentsOptions = UpdateContentsOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_removeContentFields: typeof removeContentFields;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentFieldsOptions = RemoveContentFieldsOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_removeContentFieldsByKey: typeof removeContentFieldsByKey;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentFieldsByKeyOptions = RemoveContentFieldsByKeyOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_listContents: typeof listContents;\n  type multilingualLocalizationV1LocalizedContent_universal_d_ListContentsOptions = ListContentsOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_removeSiteLanguages: typeof removeSiteLanguages;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveSiteLanguagesOptions = RemoveSiteLanguagesOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_removeContentsByEntityType: typeof removeContentsByEntityType;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsByEntityTypeOptions = RemoveContentsByEntityTypeOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_republishSchemaContent: typeof republishSchemaContent;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RepublishSchemaContentOptions = RepublishSchemaContentOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_getContentHistory: typeof getContentHistory;\n  type multilingualLocalizationV1LocalizedContent_universal_d_GetContentHistoryOptions = GetContentHistoryOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_getContentHistoryByKey: typeof getContentHistoryByKey;\n  type multilingualLocalizationV1LocalizedContent_universal_d_GetContentHistoryByKeyOptions = GetContentHistoryByKeyOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_removeContents: typeof removeContents;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsOptions = RemoveContentsOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_removeContentsByKey: typeof removeContentsByKey;\n  const multilingualLocalizationV1LocalizedContent_universal_d_removeContentsByFilter: typeof removeContentsByFilter;\n  type multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsByFilterOptions = RemoveContentsByFilterOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_setContentGroups: typeof setContentGroups;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SetContentGroupsOptions = SetContentGroupsOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_setContentGroupsByKey: typeof setContentGroupsByKey;\n  type multilingualLocalizationV1LocalizedContent_universal_d_SetContentGroupsByKeyOptions = SetContentGroupsByKeyOptions;\n  const multilingualLocalizationV1LocalizedContent_universal_d_getAppGroupNames: typeof getAppGroupNames;\n  namespace multilingualLocalizationV1LocalizedContent_universal_d {\n    export {\n      multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContent as LocalizedContent,\n      multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContentKey as LocalizedContentKey,\n      multilingualLocalizationV1LocalizedContent_universal_d_SchemaKey as SchemaKey,\n      multilingualLocalizationV1LocalizedContent_universal_d_SchemaScope as SchemaScope,\n      multilingualLocalizationV1LocalizedContent_universal_d_LanguageFields as LanguageFields,\n      multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContentField as LocalizedContentField,\n      multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContentFieldValueOneOf as LocalizedContentFieldValueOneOf,\n      multilingualLocalizationV1LocalizedContent_universal_d_MediaItem as MediaItem,\n      multilingualLocalizationV1LocalizedContent_universal_d_MediaItemMediaOneOf as MediaItemMediaOneOf,\n      multilingualLocalizationV1LocalizedContent_universal_d_VideoResolution as VideoResolution,\n      multilingualLocalizationV1LocalizedContent_universal_d_UpdaterIdentity as UpdaterIdentity,\n      multilingualLocalizationV1LocalizedContent_universal_d_FieldSequence as FieldSequence,\n      multilingualLocalizationV1LocalizedContent_universal_d_SearchEntityContentRequest as SearchEntityContentRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_FieldSearch as FieldSearch,\n      multilingualLocalizationV1LocalizedContent_universal_d_TranslationStatus as TranslationStatus,\n      multilingualLocalizationV1LocalizedContent_universal_d_Paging as Paging,\n      multilingualLocalizationV1LocalizedContent_universal_d_SearchEntityContentResponse as SearchEntityContentResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_Person as Person,\n      multilingualLocalizationV1LocalizedContent_universal_d_Image as Image,\n      multilingualLocalizationV1LocalizedContent_universal_d_GenericMessage as GenericMessage,\n      multilingualLocalizationV1LocalizedContent_universal_d_Hobby as Hobby,\n      multilingualLocalizationV1LocalizedContent_universal_d_DetailType as DetailType,\n      multilingualLocalizationV1LocalizedContent_universal_d_AddPersonRequest as AddPersonRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_AddPersonResponse as AddPersonResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_UpdatePersonRequest as UpdatePersonRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_UpdatePersonResponse as UpdatePersonResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_DeletePersonRequest as DeletePersonRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_DeletePersonResponse as DeletePersonResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_PersonsListRequest as PersonsListRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_PersonsListResponse as PersonsListResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_Empty as Empty,\n      multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContentChanged as LocalizedContentChanged,\n      multilingualLocalizationV1LocalizedContent_universal_d_LocalizedLanguageContent as LocalizedLanguageContent,\n      multilingualLocalizationV1LocalizedContent_universal_d_LocalizedLanguageContentKey as LocalizedLanguageContentKey,\n      multilingualLocalizationV1LocalizedContent_universal_d_CreateOrUpdateAction as CreateOrUpdateAction,\n      multilingualLocalizationV1LocalizedContent_universal_d_DeleteAction as DeleteAction,\n      multilingualLocalizationV1LocalizedContent_universal_d_LocalizationContentChangedAction as LocalizationContentChangedAction,\n      multilingualLocalizationV1LocalizedContent_universal_d_LocalizationContentChangedActionActionOneOf as LocalizationContentChangedActionActionOneOf,\n      multilingualLocalizationV1LocalizedContent_universal_d_CreateOrUpdateContentsByKeyRequest as CreateOrUpdateContentsByKeyRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_LanguageContentByKey as LanguageContentByKey,\n      multilingualLocalizationV1LocalizedContent_universal_d_CreateOrUpdateContentsResponse as CreateOrUpdateContentsResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_UpdateContentsRequest as UpdateContentsRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_LanguageContentById as LanguageContentById,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentFieldsRequest as RemoveContentFieldsRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_ContentFieldIdentifier as ContentFieldIdentifier,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentFieldsResponse as RemoveContentFieldsResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentFieldsByKeyRequest as RemoveContentFieldsByKeyRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_ListContentsRequest as ListContentsRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_LocalizedContentFilter as LocalizedContentFilter,\n      multilingualLocalizationV1LocalizedContent_universal_d_FilterSchemaScope as FilterSchemaScope,\n      multilingualLocalizationV1LocalizedContent_universal_d_OrderByField as OrderByField,\n      multilingualLocalizationV1LocalizedContent_universal_d_ListContentsResponse as ListContentsResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveSiteLanguagesRequest as RemoveSiteLanguagesRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveSiteLanguagesResponse as RemoveSiteLanguagesResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsByEntityTypeRequest as RemoveContentsByEntityTypeRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsResponse as RemoveContentsResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_RepublishSchemaContentRequest as RepublishSchemaContentRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_RepublishSchemaContentResponse as RepublishSchemaContentResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_GetContentHistoryRequest as GetContentHistoryRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_GetContentHistoryResponse as GetContentHistoryResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_RevisionLocalizedContent as RevisionLocalizedContent,\n      multilingualLocalizationV1LocalizedContent_universal_d_Revision as Revision,\n      multilingualLocalizationV1LocalizedContent_universal_d_GetContentHistoryByKeyRequest as GetContentHistoryByKeyRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsRequest as RemoveContentsRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsByKeyRequest as RemoveContentsByKeyRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsByFilterRequest as RemoveContentsByFilterRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_SetContentGroupsRequest as SetContentGroupsRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_ContentGroupById as ContentGroupById,\n      multilingualLocalizationV1LocalizedContent_universal_d_SetContentGroupsResponse as SetContentGroupsResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_SetContentGroupsByKeyRequest as SetContentGroupsByKeyRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_ContentGroupByKey as ContentGroupByKey,\n      multilingualLocalizationV1LocalizedContent_universal_d_GetAppGroupNamesRequest as GetAppGroupNamesRequest,\n      multilingualLocalizationV1LocalizedContent_universal_d_GetAppGroupNamesResponse as GetAppGroupNamesResponse,\n      multilingualLocalizationV1LocalizedContent_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      multilingualLocalizationV1LocalizedContent_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      multilingualLocalizationV1LocalizedContent_universal_d_Asset as Asset,\n      multilingualLocalizationV1LocalizedContent_universal_d_State as State,\n      multilingualLocalizationV1LocalizedContent_universal_d_SiteCreated as SiteCreated,\n      multilingualLocalizationV1LocalizedContent_universal_d_SiteCreatedContext as SiteCreatedContext,\n      multilingualLocalizationV1LocalizedContent_universal_d_Namespace as Namespace,\n      multilingualLocalizationV1LocalizedContent_universal_d_SiteTransferred as SiteTransferred,\n      multilingualLocalizationV1LocalizedContent_universal_d_SiteDeleted as SiteDeleted,\n      multilingualLocalizationV1LocalizedContent_universal_d_DeleteContext as DeleteContext,\n      multilingualLocalizationV1LocalizedContent_universal_d_DeleteStatus as DeleteStatus,\n      multilingualLocalizationV1LocalizedContent_universal_d_SiteUndeleted as SiteUndeleted,\n      multilingualLocalizationV1LocalizedContent_universal_d_SitePublished as SitePublished,\n      multilingualLocalizationV1LocalizedContent_universal_d_SiteUnpublished as SiteUnpublished,\n      multilingualLocalizationV1LocalizedContent_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      multilingualLocalizationV1LocalizedContent_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      multilingualLocalizationV1LocalizedContent_universal_d_ServiceProvisioned as ServiceProvisioned,\n      multilingualLocalizationV1LocalizedContent_universal_d_ServiceRemoved as ServiceRemoved,\n      multilingualLocalizationV1LocalizedContent_universal_d_SiteRenamed as SiteRenamed,\n      multilingualLocalizationV1LocalizedContent_universal_d_SiteHardDeleted as SiteHardDeleted,\n      multilingualLocalizationV1LocalizedContent_universal_d_NamespaceChanged as NamespaceChanged,\n      multilingualLocalizationV1LocalizedContent_universal_d_StudioAssigned as StudioAssigned,\n      multilingualLocalizationV1LocalizedContent_universal_d_StudioUnassigned as StudioUnassigned,\n      multilingualLocalizationV1LocalizedContent_universal_d_DomainEvent as DomainEvent,\n      multilingualLocalizationV1LocalizedContent_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      multilingualLocalizationV1LocalizedContent_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      multilingualLocalizationV1LocalizedContent_universal_d_RestoreInfo as RestoreInfo,\n      multilingualLocalizationV1LocalizedContent_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      multilingualLocalizationV1LocalizedContent_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      multilingualLocalizationV1LocalizedContent_universal_d_ActionEvent as ActionEvent,\n      multilingualLocalizationV1LocalizedContent_universal_d_MessageEnvelope as MessageEnvelope,\n      multilingualLocalizationV1LocalizedContent_universal_d_IdentificationData as IdentificationData,\n      multilingualLocalizationV1LocalizedContent_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      multilingualLocalizationV1LocalizedContent_universal_d_WebhookIdentityType as WebhookIdentityType,\n      multilingualLocalizationV1LocalizedContent_universal_d_searchEntityContent as searchEntityContent,\n      multilingualLocalizationV1LocalizedContent_universal_d_SearchEntityContentOptions as SearchEntityContentOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_addPersonDetails as addPersonDetails,\n      multilingualLocalizationV1LocalizedContent_universal_d_AddPersonDetailsOptions as AddPersonDetailsOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_updatePersonDetails as updatePersonDetails,\n      multilingualLocalizationV1LocalizedContent_universal_d_UpdatePersonDetailsOptions as UpdatePersonDetailsOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_deletePersonDetails as deletePersonDetails,\n      multilingualLocalizationV1LocalizedContent_universal_d_list as list,\n      multilingualLocalizationV1LocalizedContent_universal_d_createOrUpdateContentsByKey as createOrUpdateContentsByKey,\n      multilingualLocalizationV1LocalizedContent_universal_d_CreateOrUpdateContentsByKeyOptions as CreateOrUpdateContentsByKeyOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_updateContents as updateContents,\n      multilingualLocalizationV1LocalizedContent_universal_d_UpdateContentsOptions as UpdateContentsOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_removeContentFields as removeContentFields,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentFieldsOptions as RemoveContentFieldsOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_removeContentFieldsByKey as removeContentFieldsByKey,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentFieldsByKeyOptions as RemoveContentFieldsByKeyOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_listContents as listContents,\n      multilingualLocalizationV1LocalizedContent_universal_d_ListContentsOptions as ListContentsOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_removeSiteLanguages as removeSiteLanguages,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveSiteLanguagesOptions as RemoveSiteLanguagesOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_removeContentsByEntityType as removeContentsByEntityType,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsByEntityTypeOptions as RemoveContentsByEntityTypeOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_republishSchemaContent as republishSchemaContent,\n      multilingualLocalizationV1LocalizedContent_universal_d_RepublishSchemaContentOptions as RepublishSchemaContentOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_getContentHistory as getContentHistory,\n      multilingualLocalizationV1LocalizedContent_universal_d_GetContentHistoryOptions as GetContentHistoryOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_getContentHistoryByKey as getContentHistoryByKey,\n      multilingualLocalizationV1LocalizedContent_universal_d_GetContentHistoryByKeyOptions as GetContentHistoryByKeyOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_removeContents as removeContents,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsOptions as RemoveContentsOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_removeContentsByKey as removeContentsByKey,\n      multilingualLocalizationV1LocalizedContent_universal_d_removeContentsByFilter as removeContentsByFilter,\n      multilingualLocalizationV1LocalizedContent_universal_d_RemoveContentsByFilterOptions as RemoveContentsByFilterOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_setContentGroups as setContentGroups,\n      multilingualLocalizationV1LocalizedContent_universal_d_SetContentGroupsOptions as SetContentGroupsOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_setContentGroupsByKey as setContentGroupsByKey,\n      multilingualLocalizationV1LocalizedContent_universal_d_SetContentGroupsByKeyOptions as SetContentGroupsByKeyOptions,\n      multilingualLocalizationV1LocalizedContent_universal_d_getAppGroupNames as getAppGroupNames,\n    };\n  }\n  \n  export { multilingualLocalizationV1LocalizedContent_universal_d as localization };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization-public.d.ts",
      "content": "declare module \"wix-multilingual-localization-public\" {\n  /** content with published data only */\n  interface LocalizedPublishedContent {\n      /** UUID identifier for content. */\n      contentId?: string;\n      /** compound key identifier for content. */\n      contentKey?: LocalizedContentKey;\n      /** holds localized published fields for every language this entity has content */\n      publishedFieldsPerLanguage?: LanguagePublishedFields[];\n  }\n  interface LocalizedContentKey {\n      /** Schema unique key identifier */\n      schemaKey?: SchemaKey;\n      /** Unique identifier that represents a specific entity in the app */\n      entityId?: string;\n  }\n  interface SchemaKey {\n      /** ID of app that created the schema. */\n      appId?: string;\n      /** Unique name defined by the creator app, used to distinguish between different entities in the the app domain. */\n      entityType?: string;\n      /** Scope schema is defined in (Global/Site) */\n      scope?: SchemaScope;\n  }\n  enum SchemaScope {\n      /** Global schema, relevant to all sites */\n      GLOBAL = \"GLOBAL\",\n      /** Site schema, relevant to specific site only */\n      SITE = \"SITE\"\n  }\n  /** Associate language with the published fields localized in that language */\n  interface LanguagePublishedFields {\n      /** content IETF BCP 47 language tag */\n      languageTag?: string;\n      /** localized content list of published fields. */\n      languagePublishedFields?: LocalizedPublishedContentField[];\n  }\n  /** contains only information relevant to UoU */\n  interface LocalizedPublishedContentField extends LocalizedPublishedContentFieldValueOneOf {\n      /** Field actual localized content as simple text type */\n      textValue?: string;\n      /** Field actual localized content as rich content editor type */\n      wixRichContentEditorValue?: string;\n      /** Field actual localized content as media type (image, video or document) */\n      mediaValue?: MediaItem;\n      /** Field unique identifier. This id has to fit to a schema field id. */\n      _id?: string;\n      /** In case field is reachable via sequence/s, this array represents all the sequences names in the path, and their corresponding item id. */\n      sequencePath?: FieldSequence[];\n  }\n  /** @oneof */\n  interface LocalizedPublishedContentFieldValueOneOf {\n      /** Field actual localized content as simple text type */\n      textValue?: string;\n      /** Field actual localized content as rich content editor type */\n      wixRichContentEditorValue?: string;\n      /** Field actual localized content as media type (image, video or document) */\n      mediaValue?: MediaItem;\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** Image media item */\n      image?: string;\n      /** Video media item */\n      video?: string;\n      /** Document media item */\n      document?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** Image media item */\n      image?: string;\n      /** Video media item */\n      video?: string;\n      /** Document media item */\n      document?: string;\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface FieldSequence {\n      /** Name of sequence */\n      seqName?: string;\n      /** Id of relevant item in the sequence */\n      itemId?: string;\n      /** Optional field - in case set sequences will be ordered by priority index (best effort) */\n      priorityIndex?: number | null;\n  }\n  interface LocalizedPublishedLanguageContentChanged {\n      /** The action that changed the content */\n      action?: LocalizationPublicAction;\n      /** token to identify the flow this event is part of and the total number of event in this flow. */\n      flowToken?: string | null;\n  }\n  interface LocalizationPublicActionLocalizedPublishedContent {\n      /** UUID identifier for content. */\n      contentId?: string;\n      /** compound key identifier for content. */\n      contentKey?: LocalizedContentKey;\n      /** content IETF BCP 47 language tag */\n      languageTag?: string;\n      /** localized content list of published fields. */\n      languagePublishedFields?: LocalizedPublishedContentField[];\n      /** Optional field that will group in the UI contents with the same group name */\n      groupByName?: string | null;\n  }\n  interface LocalizationPublicActionCreateOrUpdateAction {\n      /** The new Localized published state */\n      localizedPublishedContent?: LocalizationPublicActionLocalizedPublishedContent;\n  }\n  interface LocalizationPublicActionDeleteAction {\n      /** compound key identifier for removed content. */\n      contentKey?: LocalizedContentKey;\n      /** content IETF BCP 47 language tag */\n      languageTag?: string;\n  }\n  interface LocalizationPublicAction extends LocalizationPublicActionActionOneOf {\n      /** Content has changes in its fields */\n      createOrUpdateAction?: LocalizationPublicActionCreateOrUpdateAction;\n      /** Content deleted */\n      deleteAction?: LocalizationPublicActionDeleteAction;\n  }\n  /** @oneof */\n  interface LocalizationPublicActionActionOneOf {\n      /** Content has changes in its fields */\n      createOrUpdateAction?: LocalizationPublicActionCreateOrUpdateAction;\n      /** Content deleted */\n      deleteAction?: LocalizationPublicActionDeleteAction;\n  }\n  interface GetPublishedContentsRequest {\n      /** Selected content ids for fetching published fields */\n      contentIds?: string[];\n      /** Optional list of language tags. Will return partial contents containing only fields that are localized in languages from given list or empty contents if there are no such fields */\n      languageMask?: string[];\n  }\n  interface GetPublishedContentsResponse {\n      /** List of site localized published contents */\n      localizedPublishedContents?: LocalizedPublishedContent[];\n  }\n  interface GetPublishedContentsByKeyRequest {\n      /** Selected content keys for fetching published fields */\n      contentKeys?: LocalizedContentKey[];\n      /** Optional list of language tags. Will return partial contents containing only fields that are localized in languages from given list or empty contents if there are no such fields */\n      languageMask?: string[];\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get published contents by id\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.READ_TRANSLATIONS\n   */\n  function getPublishedContents(options?: GetPublishedContentsOptions): Promise<GetPublishedContentsResponse>;\n  interface GetPublishedContentsOptions {\n      /** Selected content ids for fetching published fields */\n      contentIds?: string[];\n      /** Optional list of language tags. Will return partial contents containing only fields that are localized in languages from given list or empty contents if there are no such fields */\n      languageMask?: string[];\n  }\n  /**\n   * Get published contents by key\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.contentKeys.schemaKey\n   * @permissionId WIX_MULTILINGUAL.READ_TRANSLATIONS\n   */\n  function getPublishedContentsByKey(options?: GetPublishedContentsByKeyOptions): Promise<GetPublishedContentsResponse>;\n  interface GetPublishedContentsByKeyOptions {\n      /** Selected content keys for fetching published fields */\n      contentKeys?: LocalizedContentKey[];\n      /** Optional list of language tags. Will return partial contents containing only fields that are localized in languages from given list or empty contents if there are no such fields */\n      languageMask?: string[];\n  }\n  \n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizedPublishedContent = LocalizedPublishedContent;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizedContentKey = LocalizedContentKey;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_SchemaKey = SchemaKey;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_SchemaScope = SchemaScope;\n  const multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_SchemaScope: typeof SchemaScope;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LanguagePublishedFields = LanguagePublishedFields;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizedPublishedContentField = LocalizedPublishedContentField;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizedPublishedContentFieldValueOneOf = LocalizedPublishedContentFieldValueOneOf;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_MediaItem = MediaItem;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_MediaItemMediaOneOf = MediaItemMediaOneOf;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_FocalPoint = FocalPoint;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_VideoResolution = VideoResolution;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_FieldSequence = FieldSequence;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizedPublishedLanguageContentChanged = LocalizedPublishedLanguageContentChanged;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizationPublicActionLocalizedPublishedContent = LocalizationPublicActionLocalizedPublishedContent;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizationPublicActionCreateOrUpdateAction = LocalizationPublicActionCreateOrUpdateAction;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizationPublicActionDeleteAction = LocalizationPublicActionDeleteAction;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizationPublicAction = LocalizationPublicAction;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizationPublicActionActionOneOf = LocalizationPublicActionActionOneOf;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_GetPublishedContentsRequest = GetPublishedContentsRequest;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_GetPublishedContentsResponse = GetPublishedContentsResponse;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_GetPublishedContentsByKeyRequest = GetPublishedContentsByKeyRequest;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_MessageEnvelope = MessageEnvelope;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_IdentificationData = IdentificationData;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_getPublishedContents: typeof getPublishedContents;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_GetPublishedContentsOptions = GetPublishedContentsOptions;\n  const multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_getPublishedContentsByKey: typeof getPublishedContentsByKey;\n  type multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_GetPublishedContentsByKeyOptions = GetPublishedContentsByKeyOptions;\n  namespace multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d {\n    export {\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizedPublishedContent as LocalizedPublishedContent,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizedContentKey as LocalizedContentKey,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_SchemaKey as SchemaKey,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_SchemaScope as SchemaScope,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LanguagePublishedFields as LanguagePublishedFields,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizedPublishedContentField as LocalizedPublishedContentField,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizedPublishedContentFieldValueOneOf as LocalizedPublishedContentFieldValueOneOf,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_MediaItem as MediaItem,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_MediaItemMediaOneOf as MediaItemMediaOneOf,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_FocalPoint as FocalPoint,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_VideoResolution as VideoResolution,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_FieldSequence as FieldSequence,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizedPublishedLanguageContentChanged as LocalizedPublishedLanguageContentChanged,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizationPublicActionLocalizedPublishedContent as LocalizationPublicActionLocalizedPublishedContent,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizationPublicActionCreateOrUpdateAction as LocalizationPublicActionCreateOrUpdateAction,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizationPublicActionDeleteAction as LocalizationPublicActionDeleteAction,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizationPublicAction as LocalizationPublicAction,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_LocalizationPublicActionActionOneOf as LocalizationPublicActionActionOneOf,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_GetPublishedContentsRequest as GetPublishedContentsRequest,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_GetPublishedContentsResponse as GetPublishedContentsResponse,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_GetPublishedContentsByKeyRequest as GetPublishedContentsByKeyRequest,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_MessageEnvelope as MessageEnvelope,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_IdentificationData as IdentificationData,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_WebhookIdentityType as WebhookIdentityType,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_getPublishedContents as getPublishedContents,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_GetPublishedContentsOptions as GetPublishedContentsOptions,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_getPublishedContentsByKey as getPublishedContentsByKey,\n      multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d_GetPublishedContentsByKeyOptions as GetPublishedContentsByKeyOptions,\n    };\n  }\n  \n  export { multilingualLocalizationPublicV1LocalizedPublishedContent_universal_d as localizationPublic };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-pricing-plans.v2.d.ts",
      "content": "declare module \"wix-pricing-plans.v2\" {\n  /**\n   * An order object includes all of the details related to the purchase of a Pricing Plan.\n   * You can manage existing orders, create offline orders, and preview orders not yet purchased.\n   *\n   * Orders are based on pricing models based on the payment and duration cycles for each plan. See here to\n   * [learn more about pricing models](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/introduction#wix-pricing-plans_pricing-plans_introduction_pricing-models).\n   */\n  interface Order {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * ID of the plan purchased with the order.\n       * @readonly\n       */\n      planId?: string;\n      /**\n       * ID of the related Wix subscription.\n       *\n       * Every pricing plan order corresponds to a Wix subscription, including orders for single payment plans. See a [Pricing Plans overview](https://support.wix.com/en/article/pricing-plans-an-overview#create-plans-to-suit-your-business).\n       * @readonly\n       */\n      subscriptionId?: string;\n      /**\n       * Wix Pay order ID.\n       *\n       * Provided by Wix whether the order is created online or offline. The field is omitted when the order is free.\n       * @readonly\n       */\n      wixPayOrderId?: string | null;\n      /**\n       * The buyer's IDs. Includes `memberId` and `contactId`.\n       *\n       * Currently, Pricing Plan purchases are limited to members only. `contactId` is returned,\n       * but a buyer will not be able to purchase a plan without a `memberId`.\n       * @readonly\n       */\n      buyer?: Buyer;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated __Deprecated.__ Use `pricing` instead. This property will be removed on September 30, 2022.\n       * @replacedBy pricing\n       * @targetRemovalDate 2022-10-01\n       */\n      priceDetails?: PriceDetails;\n      /**\n       * Pricing model, price, and payment schedule for the order.\n       * @readonly\n       */\n      pricing?: PricingDetails;\n      /**\n       * How the order was processed. Supported values:\n       * + `\"ONLINE\"`: The buyer purchased the plan using the site.\n       * + `\"OFFLINE\"`: The buyer made a manual, offline purchase without using the site.\n       * @readonly\n       */\n      type?: OrderType;\n      /**\n       * Method by which checkout was initiated on buyer's behalf.\n       * @internal\n       * @readonly\n       */\n      orderMethod?: OrderMethod;\n      /**\n       * Status of the order. Supported values:\n       * + `DRAFT`: Order has been initiated but payment hasn't been processed yet. The plan isn't yet available for use to the buyer.\n       * + `PENDING`: Order has been purchased and its start date is set in the future.\n       * + `ACTIVE`: Order has been processed. The plan is available for use.\n       * + `PAUSED`: Order, and use of the plan, is [paused](#pauseorder). The order, and use of the plan, can be [resumed](#resumeorder).\n       * + `ENDED`: Order has completed its duration and is no longer available for use.\n       * + `CANCELED`: Order has been [canceled](#cancelorder).\n       * @readonly\n       */\n      status?: OrderStatus;\n      /**\n       * Whether the order will be canceled at the next payment date.\n       *\n       * If `true`, the order status will be `CANCELED` and the next payment won't be charged. Omitted for single payment orders.\n       * @readonly\n       */\n      autoRenewCanceled?: boolean | null;\n      /**\n       * Details about the cancellation of an order.\n       *\n       *\n       * @readonly\n       */\n      cancellation?: Cancellation;\n      /**\n       * Status of the last payment for the order.\n       * Updated automatically for online orders. Updated manually by the site owner for offline orders.\n       *\n       * Supported values:\n       * + `PAID`: The last payment was paid.\n       * + `REFUNDED`: The last payment was refunded.\n       * + `FAILED`: The last payment transaction didn't complete.\n       * + `UNPAID`: The last payment wasn't paid.\n       * + `PENDING`: Awaiting payment.\n       * + `NOT_APPLICABLE`: No payment was necessary. For example, for free plans or free trials.\n       * @readonly\n       */\n      lastPaymentStatus?: PaymentStatus;\n      /**\n       * Start date and time for the ordered plan.\n       * @readonly\n       */\n      startDate?: Date | null;\n      /**\n       * Current end date and time for the ordered plan.\n       *\n       * `endDate` may be updated over the course of an order. If the order is [paused](#pauseorder),\n       * it will have a later `endDate` once it [resumes](#resumeorder). `endDate` may also be [postponed](#postponeenddate).\n       *\n       * Omitted if the order is valid until canceled and still `ACTIVE`.\n       * @readonly\n       */\n      endDate?: Date | null;\n      /**\n       * List of periods during which the order is paused.\n       * @readonly\n       */\n      pausePeriods?: PausePeriod[];\n      /**\n       * Free trial period for the order, in days.\n       *\n       * Only available for recurring plans.\n       * @readonly\n       */\n      freeTrialDays?: number | null;\n      /**\n       * Earliest end date and time that the plan for the order can expire.\n       *\n       * Calculated by using the original end date plus any pause periods. Omitted if the order is active until canceled. Reserved for future use.\n       * @readonly\n       */\n      earliestEndDate?: Date | null;\n      /**\n       * Current payment cycle for the order.\n       *\n       * `currentCycle` will be omitted if the order's status is `CANCELED` or `ENDED`, or if the `startDate` hasn't passed yet.\n       * @readonly\n       */\n      currentCycle?: CurrentCycle;\n      /**\n       * Past and current cycles for the order.\n       * @internal\n       * @readonly\n       */\n      cycles?: OrderCycle[];\n      /**\n       * Plan name at the time of purchase.\n       * @readonly\n       */\n      planName?: string;\n      /**\n       * Plan description at the time of purchase\n       * @readonly\n       */\n      planDescription?: string;\n      /**\n       * Plan price as it was at the moment of order creation.\n       * @readonly\n       */\n      planPrice?: string;\n      /**\n       * Date and time the order was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the order was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Information about the form submitted during the plan's checkout.\n       * @readonly\n       */\n      formData?: FormData;\n      /**\n       * TODO PPL-1357: Remove when migration to new status is completed\n       * @internal\n       */\n      statusNew?: OrderStatus;\n  }\n  interface Buyer {\n      /**\n       * Member ID for a buyer.\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * Contact ID for a buyer.\n       * @readonly\n       */\n      contactId?: string;\n  }\n  interface PriceDetails extends PriceDetailsPricingModelOneOf {\n      /** Order has recurring payments. */\n      subscription?: Recurrence$1;\n      /** One-time payment. Order is valid for a specified duration. */\n      singlePaymentForDuration?: Duration$1;\n      /** One-time payment. Order is valid until it is canceled. */\n      singlePaymentUnlimited?: boolean | null;\n      /** Price of the order excluding tax, specified as a monetary amount. for example, `\"9.99\"`. */\n      subtotal?: string;\n      /** Total discount applied. */\n      discount?: string;\n      /** Tax applied. */\n      tax?: Tax;\n      /**\n       * Price after tax and discount is applied, specified as a monetary amount. For example, `\"13.98\"`.\n       *\n       * If no tax is applied, the amount is the same as `subtotal`.\n       */\n      total?: string;\n      /** Plan price as it was at the moment of order creation. */\n      planPrice?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Free trial period for the order in days. Only available for recurring plans. */\n      freeTrialDays?: number | null;\n      /** Coupon applied to the order. Empty means no coupon was applied. */\n      coupon?: Coupon;\n  }\n  /** @oneof */\n  interface PriceDetailsPricingModelOneOf {\n      /** Order has recurring payments. */\n      subscription?: Recurrence$1;\n      /** One-time payment. Order is valid for a specified duration. */\n      singlePaymentForDuration?: Duration$1;\n      /** One-time payment. Order is valid until it is canceled. */\n      singlePaymentUnlimited?: boolean | null;\n  }\n  interface Tax {\n      /** Name of the tax. For example, VAT. */\n      name?: string;\n      /** Whether tax is included in the original price. When `false`, tax is added at checkout. */\n      includedInPrice?: boolean;\n      /** Tax rate percentage, as a number between 0 and 100. For example, a 7% tax rate is `\"7.00\"`. */\n      rate?: string;\n      /** Total tax, specified as a monetary amount. For example, `\"3.99\"`. */\n      amount?: string;\n  }\n  /** An object specifying how often and for how long payments recur (may be forever). */\n  interface Recurrence$1 {\n      /**\n       * Number of payment cycles the subscription is valid for.\n       * `0` for unlimited plans or for plans that are valid until canceled.\n       */\n      cycleDuration?: Duration$1;\n      /**\n       * Length of a payment cycle. For example, 1 month to have monthly payments.\n       * Multiply `cycleDuration`'s `count` by `cycleCount` to get the subscription duration.\n       * Currently, only a value of `1` is supported.\n       */\n      cycleCount?: number | null;\n  }\n  /** A duration expressed in number of time units. */\n  interface Duration$1 {\n      /** Number of days, months, weeks, or years in a single payment cycle. Currently limited to support only `1`. */\n      count?: number | null;\n      /** Unit of time for the cycle duration. */\n      unit?: PeriodUnit$1;\n  }\n  enum PeriodUnit$1 {\n      /** Not defined. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Time unit is a day. */\n      DAY = \"DAY\",\n      /** Time unit is a week. */\n      WEEK = \"WEEK\",\n      /** Time unit is a month. */\n      MONTH = \"MONTH\",\n      /** Time unit is a year. */\n      YEAR = \"YEAR\"\n  }\n  interface Coupon {\n      /** Code of the applied coupon. */\n      code?: string;\n      /** Total discount of the coupon, as a monetary amount. */\n      amount?: string;\n      /**\n       * Coupon ID.\n       * @readonly\n       */\n      _id?: string;\n  }\n  interface PricingDetails extends PricingDetailsPricingModelOneOf {\n      /** Pricing model for an order with recurring payment cycles. */\n      subscription?: Recurrence$1;\n      /** Pricing model for an order with a one-time payment and the order is valid for a specific amount of time. */\n      singlePaymentForDuration?: Duration$1;\n      /** Pricing model for an order with a one-time payment and the order is valid until canceled. */\n      singlePaymentUnlimited?: boolean | null;\n      /**\n       * Pricing details for all pricing models.\n       * @readonly\n       */\n      prices?: SpannedPrice[];\n  }\n  /** @oneof */\n  interface PricingDetailsPricingModelOneOf {\n      /** Pricing model for an order with recurring payment cycles. */\n      subscription?: Recurrence$1;\n      /** Pricing model for an order with a one-time payment and the order is valid for a specific amount of time. */\n      singlePaymentForDuration?: Duration$1;\n      /** Pricing model for an order with a one-time payment and the order is valid until canceled. */\n      singlePaymentUnlimited?: boolean | null;\n  }\n  interface SpannedPrice {\n      /**\n       * Cycle duration to apply `price` for.\n       *\n       * Use with all pricing models.\n       * Can apply the same price to multiple payment cycles.\n       */\n      duration?: PriceDuration;\n      /** Order price. */\n      price?: Price;\n  }\n  interface PriceDuration {\n      /**\n       * Price starts to apply with this cycle.\n       *\n       * `1` is the first payment cycle for all pricing models.\n       */\n      cycleFrom?: number;\n      /**\n       * Amount of cycles to apply price for.\n       *\n       * For `subscription` pricing models with a finite number of cycles, the `numberOfCycles` is the same as `pricing.subscription.cycleCount`.\n       *\n       * For `subscription` pricing models that are unlimited or until-canceled, the `numberOfCycles` is not returned.\n       *\n       * For `singlePaymentForDuration` and `singlePaymentUnlimited` pricing models, the `numberOfCycles` is `1`.\n       */\n      numberOfCycles?: number | null;\n  }\n  interface Price {\n      /** Price of the order excluding tax, specified as a monetary amount. For example, `\"9.99\"`. */\n      subtotal?: string;\n      /** Coupon applied to the order. */\n      coupon?: Coupon;\n      /** Total discount applied to the order. */\n      discount?: string;\n      /**\n       * Tax applied to the order.\n       *\n       * Tax is only applied if the site [has it configured](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection).\n       */\n      tax?: Tax;\n      /**\n       * Price after tax and discount is applied. Specified as a monetary amount, for example, `\"13.98\"`.\n       *\n       * If no tax is applied, the amount is the same as `subtotal`.\n       */\n      total?: string;\n      /**\n       * Three-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string;\n      /**\n       * Additional fees that would have been applied to the price, one of which could be a setup fee.\n       *\n       * Tax is also applied to additional fees.\n       * @internal\n       * @readonly\n       */\n      fees?: Fee$1[];\n      /** Price change after billing date was change and price was adjusted. Could be positive and negative values. */\n      proration?: string;\n  }\n  interface Fee$1 {\n      /** Fee name */\n      name?: string;\n      /** Amount of fee to be charged */\n      amount?: string;\n  }\n  enum OrderType {\n      /** Undefined order type. */\n      UNDEFINED = \"UNDEFINED\",\n      /** The buyer purchased the plan using the site. */\n      ONLINE = \"ONLINE\",\n      /** The buyer made a manual, offline purchase without using the site. */\n      OFFLINE = \"OFFLINE\",\n      /** The buyer made a purchase through an external payment provider. */\n      EXTERNAL = \"EXTERNAL\"\n  }\n  enum OrderMethod {\n      /** Unknown order method. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Mail Order / Telephone Order transaction. */\n      MOTO = \"MOTO\",\n      /** Point of Sale transaction. */\n      POS = \"POS\"\n  }\n  enum OrderStatus {\n      /** Undefined order status. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Order has been initiated but payment hasn't been processed yet. The plan isn't yet available for use to the buyer. */\n      DRAFT = \"DRAFT\",\n      /** Order has been purchased and its start date is set in the future. */\n      PENDING = \"PENDING\",\n      /** Order has been processed. The plan is available for use. */\n      ACTIVE = \"ACTIVE\",\n      /** Order, and use of the plan, is [paused](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/pause-order). The order, and use of the plan, can be [resumed](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/resume-order). */\n      PAUSED = \"PAUSED\",\n      /** Order has completed its duration and is no longer available for use. */\n      ENDED = \"ENDED\",\n      /** Order has been [canceled](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/cancel-order). */\n      CANCELED = \"CANCELED\"\n  }\n  interface Cancellation {\n      /** Date and time the cancellation was requested. */\n      requestedDate?: Date | null;\n      /** Reason for the cancellation. */\n      cause?: CancellationCause;\n      /** When the cancellation takes effect. Set when cancelling the order. */\n      effectiveAt?: CancellationEffectiveAt;\n  }\n  enum CancellationCause {\n      /** Undefined cancellation cause. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Site owner canceled the order. */\n      OWNER_ACTION = \"OWNER_ACTION\",\n      /** Buyer initiated the cancellation. */\n      MEMBER_ACTION = \"MEMBER_ACTION\",\n      /** Payment transaction failed. */\n      PAYMENT_FAILURE = \"PAYMENT_FAILURE\",\n      /** Buyer's payment details weren't set up correctly. */\n      PAYMENT_SETUP_FAILURE = \"PAYMENT_SETUP_FAILURE\",\n      /** Reason for the cancellation is unknown. */\n      UNKNOWN = \"UNKNOWN\"\n  }\n  enum CancellationEffectiveAt {\n      /** Undefined cancellation time. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Cancellation occurs immediately and the buyer can no longer use the plan. */\n      IMMEDIATELY = \"IMMEDIATELY\",\n      /** Cancellation occurs at the next payment date and time. Buyer can continue to use the plan until that date and time. */\n      NEXT_PAYMENT_DATE = \"NEXT_PAYMENT_DATE\"\n  }\n  enum PaymentStatus {\n      /** Undefined payment status. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Payment has been paid. */\n      PAID = \"PAID\",\n      /** Payment has been refunded. */\n      REFUNDED = \"REFUNDED\",\n      /** Payment transaction didn't complete. */\n      FAILED = \"FAILED\",\n      /** Payment has not been paid. */\n      UNPAID = \"UNPAID\",\n      /** Billing has been initialized, but actual charge is yet to be made. This can happen for free trials and payments made with PayPal. */\n      PENDING = \"PENDING\",\n      /** No payment was necessary. For example, for free plans or free trials. */\n      NOT_APPLICABLE = \"NOT_APPLICABLE\"\n  }\n  interface PausePeriod {\n      /**\n       * Status of the pause period. Supported values:\n       * + `ACTIVE`: Status while the order is [paused](#pauseorder).\n       * + `ENDED`: Status when the order is [resumed](#resumeorder).\n       */\n      status?: Status;\n      /** Start date and time of the pause period. */\n      pauseDate?: Date | null;\n      /**\n       * End date and time of the pause period.\n       *\n       * Omitted while the pause period remains `ACTIVE`.\n       */\n      resumeDate?: Date | null;\n  }\n  enum Status {\n      /** Undefined status. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Status while the order is [paused](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/pause-order). */\n      ACTIVE = \"ACTIVE\",\n      /** Status when the order is [resumed](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/orders/resume-order). */\n      ENDED = \"ENDED\"\n  }\n  /**\n   * Current cycle will be empty when order is cancelled, expired or order start date is in the future\n   * Current cycle start and end dates take into account free trial days and suspensions\n   */\n  interface CurrentCycle {\n      /**\n       * Index of the current payment cycle in the order.\n       *\n       * `0` when order is in a free trial period. In all other cases, the index starts with `1`.\n       */\n      index?: number;\n      /** Start date and time for the current payment cycle. */\n      startedDate?: Date | null;\n      /** End date and time for the current payment cycle. */\n      endedDate?: Date | null;\n  }\n  /** Order cycle start and end dates take into account free trial days and suspensions */\n  interface OrderCycle {\n      /**\n       * Index of this cycle in the order.\n       *\n       * `0` when order is in a free trial period. In all other cases, the index starts with `1`.\n       */\n      index?: number;\n      /** Start date and time for this order cycle. */\n      startedDate?: Date | null;\n      /** End date and time for this order cycle. */\n      endedDate?: Date | null;\n  }\n  interface FormData {\n      /** ID of the form associated with the plan at checkout. */\n      formId?: string | null;\n      /** ID of a submission to the plan's order form at checkout. Every time a visitor completes the checkout process for a plan, a new submission is created. */\n      submissionId?: string | null;\n      /**\n       * Data submitted to the plan's order form at checkout.\n       *\n       * This field is returned when a method's `fieldset` is set to `\"FULL\"`.\n       *\n       * @readonly\n       */\n      submissionData?: Record<string, any>;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MemberGetOrderRequest {\n      /** Order ID. */\n      _id: string;\n      /**\n       * Predefined set of fields to return.\n       *\n       * Default: If `fieldSet` is omitted, no order form submission data is returned.\n       */\n      fieldSet?: Set;\n  }\n  enum Set {\n      /** Same behavior as `BASIC`.` */\n      UNKNOWN_SET = \"UNKNOWN_SET\",\n      /** Doesn't return any order form submission data. */\n      BASIC = \"BASIC\",\n      /** Returns all order form submission data. */\n      FULL = \"FULL\"\n  }\n  interface MemberGetOrderResponse {\n      /** Requested order. */\n      order?: Order;\n  }\n  interface MemberListOrdersRequest {\n      /** Filter by plan IDs. */\n      planIds?: string[];\n      /** Filter for orders where auto renewal was canceled. */\n      autoRenewCanceled?: boolean | null;\n      /** Filter by order status. */\n      orderStatuses?: OrderStatus[];\n      /** Filter by payment status. */\n      paymentStatuses?: PaymentStatus[];\n      /** Limit the number of pricing plans returned. Default limit is 50. */\n      limit?: number | null;\n      /** Number of entries to offset. */\n      offset?: number | null;\n      /** Sorting direction (defaults to ASC) and field to sort by. [See available fields here](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort). */\n      sorting?: Sorting$1;\n      /**\n       * Predefined set of fields to return.\n       *\n       * Default: If `fieldSet` is omitted, no order form submission data is returned.\n       */\n      fieldSet?: Set;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface MemberListOrdersResponse {\n      /** List of orders. */\n      orders?: Order[];\n      /** Object containing paging-related data (number of orders returned, offset). */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  /**\n   * TODO: Write orders filter and sort docs page\n   * Retrieves a list of up to 1,000 orders, based on the provided paging, [sorting, and filtering](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort).\n   */\n  interface QueryOrdersRequest {\n      /** [See available fields here](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort). */\n      query?: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryOrdersResponse {\n      /** Order data. */\n      plans?: Order[];\n      /** Paging-related data (number of orders returned, offset). */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface RequestCancellationRequest {\n      /** Order ID. */\n      _id: string;\n      /**\n       * Whether to cancel the order immediately or at the next payment date.\n       * One-time payment orders can only be canceled immediately.\n       *\n       * Supported values:\n       * - `\"IMMEDIATELY\"`: Indicates that the order should be canceled immediately.\n       * - `\"NEXT_PAYMENT_DATE\"`: Indicates that the order be canceled at the next payment date.\n       */\n      effectiveAt: CancellationEffectiveAt;\n  }\n  interface RequestCancellationResponse {\n  }\n  /**\n   * Emitted when an order is canceled immediately or when cycle ends for an order with canceled auto renewal\n   *\n   * To determine the specific reason of the cancellation check `order.cancellation.cause` field.\n   */\n  interface OrderCanceled {\n      /** Canceled order. */\n      order?: Order;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CreateOnlineOrderRequest {\n      /** Plan ID. */\n      planId: string;\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date | null;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Provided if checkout is initiated on buyer's behalf. */\n      onBehalf?: OnBehalf;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  interface OnBehalf {\n      /** Member ID. */\n      memberId?: string;\n      /** Method by which checkout is initiated on buyer's behalf */\n      orderMethod?: OrderMethod;\n  }\n  interface CreateOnlineOrderResponse {\n      /** Order. */\n      order?: Order;\n  }\n  interface CouponsError {\n      /** Coupon code. */\n      couponCode?: string;\n      /** Plan ID. */\n      planId?: string;\n  }\n  interface CreateGuestOnlineOrderRequest {\n      /** Plan ID. */\n      planId: string;\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date | null;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Captcha data to prove you are not a robot */\n      captcha: Captcha;\n      /** Visitor info */\n      guest: Guest;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  interface Captcha {\n      /** Token from captcha */\n      token?: string;\n  }\n  interface Guest {\n      /** Email for checkout */\n      email?: string;\n  }\n  interface CreateGuestOnlineOrderResponse {\n      /** Order. */\n      order?: Order;\n  }\n  interface CreateOfflineOrderRequest {\n      /** ID of the plan being ordered. */\n      planId: string;\n      /** ID of the member ordering the plan. */\n      memberId: string;\n      /**\n       * Start date and time for the ordered plan.\n       *\n       * Default: Current date and time\n       */\n      startDate?: Date | null;\n      /**\n       * Whether the order is paid.\n       *\n       * Default: `false`\n       */\n      paid?: boolean | null;\n      /**\n       * Coupon code to apply.\n       *\n       * See [Coupons to learn more](https://dev.wix.com/api/rest/coupons).\n       */\n      couponCode?: string | null;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  interface CreateOfflineOrderResponse {\n      /** Order. */\n      order?: Order;\n  }\n  interface CreateExternalOrderRequest {\n      /** Plan ID. */\n      planId: string;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  interface CreateExternalOrderResponse {\n      /** Created order */\n      order?: Order;\n  }\n  interface GetOnlineOrderPreviewRequest {\n      /** Plan ID. */\n      planId: string;\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date | null;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n  }\n  interface GetOnlineOrderPreviewResponse {\n      /** Will be missing if limit is exceeded */\n      order?: Order;\n      /**\n       * Whether the purchase limit has already been reached for this plan by this member.\n       * Always false for plans without purchase limits.\n       */\n      purchaseLimitExceeded?: boolean;\n  }\n  interface GetGuestOnlineOrderPreviewRequest {\n      /** Plan ID. */\n      planId: string;\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date | null;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Email for checkout */\n      email: string;\n  }\n  interface GetGuestOnlineOrderPreviewResponse {\n      /** Will be missing if limit is exceeded */\n      order?: Order;\n      /**\n       * Whether the purchase limit has already been reached for this plan by this email.\n       * Always false for plans without purchase limits.\n       */\n      purchaseLimitExceeded?: boolean;\n  }\n  interface GetOfflineOrderPreviewRequest {\n      /** ID of the plan of the previewed order. See [Plans for more information about plan IDs](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans). */\n      planId: string;\n      /** Member ID of the buyer the previewed order is for. */\n      memberId: string;\n      /**\n       * Start date and time for plan of the previewed order.\n       *\n       * Default: Current date and time\n       */\n      startDate?: Date | null;\n      /** Coupon code to apply. See [Coupons to learn more](https://dev.wix.com/api/rest/coupons). */\n      couponCode?: string | null;\n  }\n  interface GetOfflineOrderPreviewResponse {\n      /** The previewed order, as if the plan had been ordered. */\n      order?: Order;\n      /**\n       * Whether this previewed order would exceed the permitted amount of purchases available\n       * for this plan for this buyer.\n       *\n       * Always `false` for plans that do not have purchase limits.\n       */\n      purchaseLimitExceeded?: boolean;\n  }\n  interface GetPricePreviewRequest {\n      /** ID of plan to preview. */\n      planId: string;\n      /**\n       * Coupon code to apply.\n       *\n       * See Coupons [to learn more](https://dev.wix.com/api/rest/coupons).\n       */\n      couponCode?: string | null;\n  }\n  interface GetPricePreviewResponse {\n      /**\n       * @internal\n       * @internal\n       * @deprecated __Deprecated.__ Use `prices` instead. This property will be removed on September 30, 2022.\n       * @replacedBy prices\n       * @targetRemovalDate 2022-10-01\n       */\n      price?: PriceDetails;\n      /** Pricing details. */\n      prices?: SpannedPrice[];\n  }\n  interface ChangeStartDateRequest {\n      /** Draft order ID. */\n      orderId: string;\n      /** New valid from date (timestamp). */\n      startDate: Date | null;\n  }\n  interface ChangeStartDateResponse {\n      /** Updated draft order. */\n      order?: Order;\n  }\n  interface OrderStartDateChanged {\n      /** Order whose `startDate` changed. */\n      order?: Order;\n  }\n  interface ApplyCouponRequest {\n      /** Draft order ID. */\n      orderId: string;\n      /** Coupon code to apply. */\n      couponCode: string;\n  }\n  interface ApplyCouponResponse {\n      /** Order with applied coupon and recalculated tax. */\n      order?: Order;\n  }\n  interface SetSubmissionRequest {\n      /** Order ID. */\n      orderId: string;\n      /** Submission ID. */\n      submissionId: string;\n  }\n  interface SetSubmissionResponse {\n      /** Order with submission id */\n      order?: Order;\n  }\n  interface OrderPurchased {\n      /** Order that was paid for. If a free or an offline order, the order that was created. */\n      order?: Order;\n  }\n  interface OrderStarted {\n      /** Order that reached its `startDate`. */\n      order?: Order;\n  }\n  /**\n   * Triggered at the start of a new payment cycle for an existing order.\n   *\n   * This webhook does not trigger at the initial start of an offline order.\n   */\n  interface OrderCycleStarted {\n      /** Order whose new cycle started. */\n      order?: Order;\n      /** Number of the payment cycle will be 0 when the order is in the free trial period. In other cases, the cycle number starts from 1. */\n      cycleNumber?: number;\n  }\n  /** Emitted when a recurring order is canceled for the next payment cycle */\n  interface OrderAutoRenewCanceled {\n      /** Order that is canceled, effective at the end of the current payment cycle. */\n      order?: Order;\n  }\n  interface OrderEnded {\n      /** Order that ended. */\n      order?: Order;\n  }\n  interface GetOrderRequest {\n      /** Order ID. */\n      _id: string;\n      /**\n       * Predefined set of fields to return.\n       *\n       * Default: If `fieldSet` is omitted, no order form submission data is returned.\n       */\n      fieldSet?: Set;\n  }\n  interface GetOrderResponse {\n      /** Order. */\n      order?: Order;\n  }\n  interface ListOrdersRequest {\n      /** Filter by a buyer's member ID. See [Members to learn more about a site's members](https://dev.wix.com/api/rest/members/members). */\n      buyerIds?: string[];\n      /** Filter by plan IDs. See [Plans to learn more about pricing plans](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans). */\n      planIds?: string[];\n      /** Filter by whether or not the auto-renewal of recurring orders was canceled. */\n      autoRenewCanceled?: boolean | null;\n      /** Filter by order status. */\n      orderStatuses?: OrderStatus[];\n      /** Filter by payment status. */\n      paymentStatuses?: PaymentStatus[];\n      /**\n       * Number of orders to return. See [Pagination](https://dev.wix.com/api/rest/getting-started/sorting-and-paging#getting-started_sorting-and-paging_paging) for more information.\n       *\n       * Max: `50`\n       */\n      limit?: number | null;\n      /** Number of orders to skip in the current sort order. */\n      offset?: number | null;\n      /**\n       * Sort order.\n       *\n       * Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Default: `DESC`\n       */\n      sorting?: Sorting$1;\n      /**\n       * Predefined set of fields to return.\n       *\n       * Default: If `fieldSet` is omitted, no order form submission data is returned.\n       */\n      fieldSet?: Set;\n      /**\n       * Filter by order IDs.\n       * @internal\n       */\n      orderIds?: string[];\n  }\n  interface ListOrdersResponse {\n      /** List of orders. */\n      orders?: Order[];\n      /** Object containing paging-related data (number of orders returned, offset). */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface OrdersQueryOrdersRequest {\n      /** [See available fields here](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort). */\n      query?: QueryV2$1;\n  }\n  interface OrdersQueryOrdersResponse {\n      /** Retrieved orders. */\n      plans?: Order[];\n      /** Paging-related data (number of orders returned, offset). */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface GetOrdersStatsRequest {\n  }\n  interface GetOrdersStatsResponse {\n      /** Total number of orders. */\n      totalOrderCount?: number;\n      /** Number of active orders. */\n      activeOrderCount?: number;\n  }\n  interface GetAvailableOrderActionsRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface GetAvailableOrderActionsResponse {\n      /** Whether the order can be suspended. */\n      suspendable?: boolean;\n      /** If the order cannot be suspended, a reason is returned here. */\n      notSuspendableReason?: ReasonNotSuspendable;\n      /** Whether the order can be canceled by the buyer. */\n      cancelableByBuyer?: boolean;\n  }\n  enum ReasonNotSuspendable {\n      /** Undefined reason. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Saved in the database but is awaiting payment. Non-active orders can't be suspended. */\n      PENDING = \"PENDING\",\n      /** Trial orders can't be suspended. */\n      TRIAL = \"TRIAL\",\n      /** Canceled orders can't be suspended. */\n      CANCELED = \"CANCELED\",\n      /** Ended orders can't be suspended. */\n      ENDED = \"ENDED\",\n      /** Paid for orders with future start dates can't be suspended. */\n      NOT_STARTED = \"NOT_STARTED\",\n      /** Order is already suspended. */\n      ALREADY_SUSPENDED = \"ALREADY_SUSPENDED\",\n      /** Orders based on recurring payments using older stripe versions can't be suspended. */\n      OLD_STRIPE = \"OLD_STRIPE\"\n  }\n  interface PostponeEndDateRequest {\n      /** Order ID. */\n      _id: string;\n      /**\n       * New end date and time.\n       *\n       * Must be later than the current end date and time.\n       */\n      endDate: Date | null;\n  }\n  interface PostponeEndDateResponse {\n  }\n  interface OrderEndDatePostponed {\n      /** Order whose `endDate` was postponed. */\n      order?: Order;\n  }\n  interface CancelOrderRequest {\n      /** Order ID. */\n      _id: string;\n      /**\n       * When the order is canceled.\n       *\n       * One time orders can only be canceled immediately. Supported values:\n       * - `\"IMMEDIATELY\"`: The order is canceled immediately.\n       * - `\"NEXT_PAYMENT_DATE\"`: The order is canceled at the next payment date.\n       */\n      effectiveAt: CancellationEffectiveAt;\n  }\n  interface CancelOrderResponse {\n  }\n  interface MarkAsPaidRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface MarkAsPaidResponse {\n  }\n  interface OrderMarkedAsPaid {\n      /** Order that was marked as paid. */\n      order?: Order;\n  }\n  interface PauseOrderRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface PauseOrderResponse {\n  }\n  interface OrderPaused {\n      /** Paused order. */\n      order?: Order;\n  }\n  interface BulkPauseOrderRequest {\n      /** List of Order IDs. */\n      ids: string[];\n      /** Set to true to return Order entity in response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkPauseOrderResponse {\n      /** Orders that were paused. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkOrderResult {\n      /** Item metadata */\n      itemMetadata?: ItemMetadata$1;\n      /** The order. */\n      order?: Order;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ResumeOrderRequest {\n      /** Order ID. */\n      _id: string;\n  }\n  interface ResumeOrderResponse {\n  }\n  interface OrderResumed {\n      /** Resumed order. */\n      order?: Order;\n  }\n  interface BulkResumeOrderRequest {\n      /** List of Order IDs. */\n      ids: string[];\n      /** Set to true to return Order entity in response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkResumeOrderResponse {\n      /** Orders that were resumed. */\n      results?: BulkOrderResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  /**\n   * Gets an order by ID for the currently logged-in member.\n   *\n   * The `memberGetOrder()` function returns a Promise that resolves to information about a specified order for the currently logged-in member.\n   * @param _id - Order ID.\n   * @public\n   * @requiredField _id\n   * @param options - Options for getting a logged-in member's order.\n   * @permissionId PRICING_PLANS.READ_OWN_ORDERS\n   * @returns Requested order.\n   */\n  function memberGetOrder(_id: string, options?: MemberGetOrderOptions): Promise<Order>;\n  interface MemberGetOrderOptions {\n      /**\n       * Predefined set of fields to return.\n       *\n       * Default: If `fieldSet` is omitted, no order form submission data is returned.\n       */\n      fieldSet?: Set;\n  }\n  /**\n   * Lists orders for the currently logged-in member.\n   *\n   * The `memberListOrders()` function returns a Promise that resolves to a list of up to 100 pricing plan orders.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filtering, sorting, and pagination options.\n   * @permissionId PRICING_PLANS.READ_OWN_ORDERS\n   */\n  function memberListOrders(options?: MemberListOrdersOptions): Promise<MemberListOrdersResponse>;\n  interface MemberListOrdersOptions {\n      /** Filter by plan IDs. */\n      planIds?: string[];\n      /** Filter for orders where auto renewal was canceled. */\n      autoRenewCanceled?: boolean | null;\n      /**\n       * Filter by the order status. Supported values:\n       * + `DRAFT`: Order has been initiated but payment hasn't been processed yet. The plan isn't yet available for use to the buyer.\n       * + `PENDING`: Order has been purchased and its start date is set in the future.\n       * + `ACTIVE`: Order has been processed. The plan is available for use.\n       * + `PAUSED`: Order, and use of the plan, is [paused](#pauseorder). The order, and use of the plan, can be [resumed](#resumeorder).\n       * + `ENDED`: Order has completed its duration and is no longer available for use.\n       * + `CANCELED`: Order has been [canceled](#cancelorder).\n       */\n      orderStatuses?: OrderStatus[];\n      /**\n       * Key Path to edit\n       * ManagementListOrdersOptions.paymentStatuses\n       * Production value\n       * Filter by payment status.\n       * Override\n       * Filter by payment status.\n       *\n       * Supported values:\n       * + `PAID`: The last payment was paid.\n       * + `REFUNDED`: The last payment was refunded.\n       * + `FAILED`: The last payment transaction didn't complete.\n       * + `UNPAID`: The last payment wasn't paid.\n       * + `PENDING`: Awaiting payment.\n       * + `NOT_APPLICABLE`: No payment was necessary. For example, for free plans or free trials.\n       * Mark down view\n       * Filter by payment status.\n       *\n       * Supported values:\n       *\n       * PAID: The last payment was paid.\n       * REFUNDED: The last payment was refunded.\n       * FAILED: The last payment transaction didn't complete.\n       * UNPAID: The last payment wasn't paid.\n       * PENDING: Awaiting payment.\n       * NOT_APPLICABLE: No payment was necessary. For example, for free plans or free trials.\n       */\n      paymentStatuses?: PaymentStatus[];\n      /**\n       * Number of pricing plan orders to return.\n       *\n       * Default: `50`\n       */\n      limit?: number | null;\n      /** Number of orders to skip in the current sort order. */\n      offset?: number | null;\n      /**\n       * Sort order.\n       *\n       * Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Default: `ASC`\n       */\n      sorting?: Sorting$1;\n      /**\n       * Predefined set of fields to return.\n       *\n       * Default: If `fieldSet` is omitted, no order form submission data is returned.\n       */\n      fieldSet?: Set;\n  }\n  /**\n   * Returns orders for currently logged in member based on provided query\n   * @internal\n   * @permissionId PRICING_PLANS.READ_OWN_ORDERS\n   */\n  function memberQueryOrders(): PlansQueryBuilder$1;\n  interface QueryCursorResult {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface PlansQueryResult$1 extends QueryCursorResult {\n      items: Order[];\n      query: PlansQueryBuilder$1;\n      next: () => Promise<PlansQueryResult$1>;\n      prev: () => Promise<PlansQueryResult$1>;\n  }\n  interface PlansQueryBuilder$1 {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'planId' | 'subscriptionId' | 'wixPayOrderId' | 'buyer' | 'buyer.memberId' | 'buyer.contactId' | 'priceDetails' | 'priceDetails.subscription' | 'priceDetails.subscription.cycleDuration' | 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleDuration.unit' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.singlePaymentForDuration.unit' | 'priceDetails.singlePaymentUnlimited' | 'priceDetails.subtotal' | 'priceDetails.discount' | 'priceDetails.tax' | 'priceDetails.tax.name' | 'priceDetails.tax.includedInPrice' | 'priceDetails.tax.rate' | 'priceDetails.tax.amount' | 'priceDetails.total' | 'priceDetails.planPrice' | 'priceDetails.currency' | 'priceDetails.freeTrialDays' | 'priceDetails.coupon' | 'priceDetails.coupon.code' | 'priceDetails.coupon.amount' | 'priceDetails.coupon.id' | 'pricing' | 'pricing.subscription' | 'pricing.subscription.cycleDuration' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration' | 'pricing.singlePaymentForDuration.count' | 'pricing.singlePaymentForDuration.unit' | 'pricing.singlePaymentUnlimited' | 'pricing.prices.duration' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'pricing.prices.price' | 'pricing.prices.price.subtotal' | 'pricing.prices.price.coupon' | 'pricing.prices.price.coupon.code' | 'pricing.prices.price.coupon.amount' | 'pricing.prices.price.coupon.id' | 'pricing.prices.price.discount' | 'pricing.prices.price.tax' | 'pricing.prices.price.tax.name' | 'pricing.prices.price.tax.includedInPrice' | 'pricing.prices.price.tax.rate' | 'pricing.prices.price.tax.amount' | 'pricing.prices.price.total' | 'pricing.prices.price.currency' | 'pricing.prices.price.fees.name' | 'pricing.prices.price.fees.amount' | 'pricing.prices.price.proration' | 'type' | 'status' | 'autoRenewCanceled' | 'cancellation' | 'cancellation.requestedDate' | 'cancellation.cause' | 'cancellation.effectiveAt' | 'lastPaymentStatus' | 'startDate' | 'endDate' | 'pausePeriods.status' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | 'planName' | 'planDescription' | 'planPrice' | '_createdDate' | '_updatedDate' | 'formData' | 'formData.formId' | 'formData.submissionId', value: any) => PlansQueryBuilder$1;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'planId' | 'subscriptionId' | 'wixPayOrderId' | 'buyer' | 'buyer.memberId' | 'buyer.contactId' | 'priceDetails' | 'priceDetails.subscription' | 'priceDetails.subscription.cycleDuration' | 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleDuration.unit' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.singlePaymentForDuration.unit' | 'priceDetails.singlePaymentUnlimited' | 'priceDetails.subtotal' | 'priceDetails.discount' | 'priceDetails.tax' | 'priceDetails.tax.name' | 'priceDetails.tax.includedInPrice' | 'priceDetails.tax.rate' | 'priceDetails.tax.amount' | 'priceDetails.total' | 'priceDetails.planPrice' | 'priceDetails.currency' | 'priceDetails.freeTrialDays' | 'priceDetails.coupon' | 'priceDetails.coupon.code' | 'priceDetails.coupon.amount' | 'priceDetails.coupon.id' | 'pricing' | 'pricing.subscription' | 'pricing.subscription.cycleDuration' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration' | 'pricing.singlePaymentForDuration.count' | 'pricing.singlePaymentForDuration.unit' | 'pricing.singlePaymentUnlimited' | 'pricing.prices.duration' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'pricing.prices.price' | 'pricing.prices.price.subtotal' | 'pricing.prices.price.coupon' | 'pricing.prices.price.coupon.code' | 'pricing.prices.price.coupon.amount' | 'pricing.prices.price.coupon.id' | 'pricing.prices.price.discount' | 'pricing.prices.price.tax' | 'pricing.prices.price.tax.name' | 'pricing.prices.price.tax.includedInPrice' | 'pricing.prices.price.tax.rate' | 'pricing.prices.price.tax.amount' | 'pricing.prices.price.total' | 'pricing.prices.price.currency' | 'pricing.prices.price.fees.name' | 'pricing.prices.price.fees.amount' | 'pricing.prices.price.proration' | 'type' | 'status' | 'autoRenewCanceled' | 'cancellation' | 'cancellation.requestedDate' | 'cancellation.cause' | 'cancellation.effectiveAt' | 'lastPaymentStatus' | 'startDate' | 'endDate' | 'pausePeriods.status' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | 'planName' | 'planDescription' | 'planPrice' | '_createdDate' | '_updatedDate' | 'formData' | 'formData.formId' | 'formData.submissionId', value: any) => PlansQueryBuilder$1;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.freeTrialDays' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration.count' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'cancellation.requestedDate' | 'startDate' | 'endDate' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | '_createdDate' | '_updatedDate', value: any) => PlansQueryBuilder$1;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.freeTrialDays' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration.count' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'cancellation.requestedDate' | 'startDate' | 'endDate' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | '_createdDate' | '_updatedDate', value: any) => PlansQueryBuilder$1;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.freeTrialDays' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration.count' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'cancellation.requestedDate' | 'startDate' | 'endDate' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | '_createdDate' | '_updatedDate', value: any) => PlansQueryBuilder$1;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.freeTrialDays' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration.count' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'cancellation.requestedDate' | 'startDate' | 'endDate' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | '_createdDate' | '_updatedDate', value: any) => PlansQueryBuilder$1;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: '_id' | 'planId' | 'subscriptionId' | 'wixPayOrderId' | 'buyer.memberId' | 'buyer.contactId' | 'priceDetails.subtotal' | 'priceDetails.discount' | 'priceDetails.tax.name' | 'priceDetails.tax.rate' | 'priceDetails.tax.amount' | 'priceDetails.total' | 'priceDetails.planPrice' | 'priceDetails.currency' | 'priceDetails.coupon.code' | 'priceDetails.coupon.amount' | 'priceDetails.coupon.id' | 'pricing.prices.price.subtotal' | 'pricing.prices.price.coupon.code' | 'pricing.prices.price.coupon.amount' | 'pricing.prices.price.coupon.id' | 'pricing.prices.price.discount' | 'pricing.prices.price.tax.name' | 'pricing.prices.price.tax.rate' | 'pricing.prices.price.tax.amount' | 'pricing.prices.price.total' | 'pricing.prices.price.currency' | 'pricing.prices.price.fees.name' | 'pricing.prices.price.fees.amount' | 'pricing.prices.price.proration' | 'planName' | 'planDescription' | 'planPrice' | 'formData.formId' | 'formData.submissionId', value: string) => PlansQueryBuilder$1;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: '_id' | 'planId' | 'subscriptionId' | 'wixPayOrderId' | 'buyer' | 'buyer.memberId' | 'buyer.contactId' | 'priceDetails' | 'priceDetails.subscription' | 'priceDetails.subscription.cycleDuration' | 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleDuration.unit' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.singlePaymentForDuration.unit' | 'priceDetails.singlePaymentUnlimited' | 'priceDetails.subtotal' | 'priceDetails.discount' | 'priceDetails.tax' | 'priceDetails.tax.name' | 'priceDetails.tax.includedInPrice' | 'priceDetails.tax.rate' | 'priceDetails.tax.amount' | 'priceDetails.total' | 'priceDetails.planPrice' | 'priceDetails.currency' | 'priceDetails.freeTrialDays' | 'priceDetails.coupon' | 'priceDetails.coupon.code' | 'priceDetails.coupon.amount' | 'priceDetails.coupon.id' | 'pricing' | 'pricing.subscription' | 'pricing.subscription.cycleDuration' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration' | 'pricing.singlePaymentForDuration.count' | 'pricing.singlePaymentForDuration.unit' | 'pricing.singlePaymentUnlimited' | 'pricing.prices.duration' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'pricing.prices.price' | 'pricing.prices.price.subtotal' | 'pricing.prices.price.coupon' | 'pricing.prices.price.coupon.code' | 'pricing.prices.price.coupon.amount' | 'pricing.prices.price.coupon.id' | 'pricing.prices.price.discount' | 'pricing.prices.price.tax' | 'pricing.prices.price.tax.name' | 'pricing.prices.price.tax.includedInPrice' | 'pricing.prices.price.tax.rate' | 'pricing.prices.price.tax.amount' | 'pricing.prices.price.total' | 'pricing.prices.price.currency' | 'pricing.prices.price.fees.name' | 'pricing.prices.price.fees.amount' | 'pricing.prices.price.proration' | 'type' | 'status' | 'autoRenewCanceled' | 'cancellation' | 'cancellation.requestedDate' | 'cancellation.cause' | 'cancellation.effectiveAt' | 'lastPaymentStatus' | 'startDate' | 'endDate' | 'pausePeriods.status' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | 'planName' | 'planDescription' | 'planPrice' | '_createdDate' | '_updatedDate' | 'formData' | 'formData.formId' | 'formData.submissionId', value: any[]) => PlansQueryBuilder$1;\n      in: (propertyName: '_id' | 'planId' | 'subscriptionId' | 'wixPayOrderId' | 'buyer' | 'buyer.memberId' | 'buyer.contactId' | 'priceDetails' | 'priceDetails.subscription' | 'priceDetails.subscription.cycleDuration' | 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleDuration.unit' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.singlePaymentForDuration.unit' | 'priceDetails.singlePaymentUnlimited' | 'priceDetails.subtotal' | 'priceDetails.discount' | 'priceDetails.tax' | 'priceDetails.tax.name' | 'priceDetails.tax.includedInPrice' | 'priceDetails.tax.rate' | 'priceDetails.tax.amount' | 'priceDetails.total' | 'priceDetails.planPrice' | 'priceDetails.currency' | 'priceDetails.freeTrialDays' | 'priceDetails.coupon' | 'priceDetails.coupon.code' | 'priceDetails.coupon.amount' | 'priceDetails.coupon.id' | 'pricing' | 'pricing.subscription' | 'pricing.subscription.cycleDuration' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration' | 'pricing.singlePaymentForDuration.count' | 'pricing.singlePaymentForDuration.unit' | 'pricing.singlePaymentUnlimited' | 'pricing.prices.duration' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'pricing.prices.price' | 'pricing.prices.price.subtotal' | 'pricing.prices.price.coupon' | 'pricing.prices.price.coupon.code' | 'pricing.prices.price.coupon.amount' | 'pricing.prices.price.coupon.id' | 'pricing.prices.price.discount' | 'pricing.prices.price.tax' | 'pricing.prices.price.tax.name' | 'pricing.prices.price.tax.includedInPrice' | 'pricing.prices.price.tax.rate' | 'pricing.prices.price.tax.amount' | 'pricing.prices.price.total' | 'pricing.prices.price.currency' | 'pricing.prices.price.fees.name' | 'pricing.prices.price.fees.amount' | 'pricing.prices.price.proration' | 'type' | 'status' | 'autoRenewCanceled' | 'cancellation' | 'cancellation.requestedDate' | 'cancellation.cause' | 'cancellation.effectiveAt' | 'lastPaymentStatus' | 'startDate' | 'endDate' | 'pausePeriods.status' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | 'planName' | 'planDescription' | 'planPrice' | '_createdDate' | '_updatedDate' | 'formData' | 'formData.formId' | 'formData.submissionId', value: any) => PlansQueryBuilder$1;\n      exists: (propertyName: '_id' | 'planId' | 'subscriptionId' | 'wixPayOrderId' | 'buyer' | 'buyer.memberId' | 'buyer.contactId' | 'priceDetails' | 'priceDetails.subscription' | 'priceDetails.subscription.cycleDuration' | 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleDuration.unit' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.singlePaymentForDuration.unit' | 'priceDetails.singlePaymentUnlimited' | 'priceDetails.subtotal' | 'priceDetails.discount' | 'priceDetails.tax' | 'priceDetails.tax.name' | 'priceDetails.tax.includedInPrice' | 'priceDetails.tax.rate' | 'priceDetails.tax.amount' | 'priceDetails.total' | 'priceDetails.planPrice' | 'priceDetails.currency' | 'priceDetails.freeTrialDays' | 'priceDetails.coupon' | 'priceDetails.coupon.code' | 'priceDetails.coupon.amount' | 'priceDetails.coupon.id' | 'pricing' | 'pricing.subscription' | 'pricing.subscription.cycleDuration' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration' | 'pricing.singlePaymentForDuration.count' | 'pricing.singlePaymentForDuration.unit' | 'pricing.singlePaymentUnlimited' | 'pricing.prices.duration' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'pricing.prices.price' | 'pricing.prices.price.subtotal' | 'pricing.prices.price.coupon' | 'pricing.prices.price.coupon.code' | 'pricing.prices.price.coupon.amount' | 'pricing.prices.price.coupon.id' | 'pricing.prices.price.discount' | 'pricing.prices.price.tax' | 'pricing.prices.price.tax.name' | 'pricing.prices.price.tax.includedInPrice' | 'pricing.prices.price.tax.rate' | 'pricing.prices.price.tax.amount' | 'pricing.prices.price.total' | 'pricing.prices.price.currency' | 'pricing.prices.price.fees.name' | 'pricing.prices.price.fees.amount' | 'pricing.prices.price.proration' | 'type' | 'status' | 'autoRenewCanceled' | 'cancellation' | 'cancellation.requestedDate' | 'cancellation.cause' | 'cancellation.effectiveAt' | 'lastPaymentStatus' | 'startDate' | 'endDate' | 'pausePeriods.status' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | 'planName' | 'planDescription' | 'planPrice' | '_createdDate' | '_updatedDate' | 'formData' | 'formData.formId' | 'formData.submissionId', value: boolean) => PlansQueryBuilder$1;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | 'planId' | 'subscriptionId' | 'wixPayOrderId' | 'buyer' | 'buyer.memberId' | 'buyer.contactId' | 'priceDetails' | 'priceDetails.subscription' | 'priceDetails.subscription.cycleDuration' | 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleDuration.unit' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.singlePaymentForDuration.unit' | 'priceDetails.singlePaymentUnlimited' | 'priceDetails.subtotal' | 'priceDetails.discount' | 'priceDetails.tax' | 'priceDetails.tax.name' | 'priceDetails.tax.includedInPrice' | 'priceDetails.tax.rate' | 'priceDetails.tax.amount' | 'priceDetails.total' | 'priceDetails.planPrice' | 'priceDetails.currency' | 'priceDetails.freeTrialDays' | 'priceDetails.coupon' | 'priceDetails.coupon.code' | 'priceDetails.coupon.amount' | 'priceDetails.coupon.id' | 'pricing' | 'pricing.subscription' | 'pricing.subscription.cycleDuration' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration' | 'pricing.singlePaymentForDuration.count' | 'pricing.singlePaymentForDuration.unit' | 'pricing.singlePaymentUnlimited' | 'pricing.prices' | 'pricing.prices.duration' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'pricing.prices.price' | 'pricing.prices.price.subtotal' | 'pricing.prices.price.coupon' | 'pricing.prices.price.coupon.code' | 'pricing.prices.price.coupon.amount' | 'pricing.prices.price.coupon.id' | 'pricing.prices.price.discount' | 'pricing.prices.price.tax' | 'pricing.prices.price.tax.name' | 'pricing.prices.price.tax.includedInPrice' | 'pricing.prices.price.tax.rate' | 'pricing.prices.price.tax.amount' | 'pricing.prices.price.total' | 'pricing.prices.price.currency' | 'pricing.prices.price.fees.name' | 'pricing.prices.price.fees.amount' | 'pricing.prices.price.proration' | 'type' | 'orderMethod' | 'status' | 'autoRenewCanceled' | 'cancellation' | 'cancellation.requestedDate' | 'cancellation.cause' | 'cancellation.effectiveAt' | 'lastPaymentStatus' | 'startDate' | 'endDate' | 'pausePeriods' | 'pausePeriods.status' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | 'planName' | 'planDescription' | 'planPrice' | '_createdDate' | '_updatedDate' | 'formData' | 'formData.formId' | 'formData.submissionId' | 'formData.submissionData' | 'statusNew'>) => PlansQueryBuilder$1;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | 'planId' | 'subscriptionId' | 'wixPayOrderId' | 'buyer' | 'buyer.memberId' | 'buyer.contactId' | 'priceDetails' | 'priceDetails.subscription' | 'priceDetails.subscription.cycleDuration' | 'priceDetails.subscription.cycleDuration.count' | 'priceDetails.subscription.cycleDuration.unit' | 'priceDetails.subscription.cycleCount' | 'priceDetails.singlePaymentForDuration' | 'priceDetails.singlePaymentForDuration.count' | 'priceDetails.singlePaymentForDuration.unit' | 'priceDetails.singlePaymentUnlimited' | 'priceDetails.subtotal' | 'priceDetails.discount' | 'priceDetails.tax' | 'priceDetails.tax.name' | 'priceDetails.tax.includedInPrice' | 'priceDetails.tax.rate' | 'priceDetails.tax.amount' | 'priceDetails.total' | 'priceDetails.planPrice' | 'priceDetails.currency' | 'priceDetails.freeTrialDays' | 'priceDetails.coupon' | 'priceDetails.coupon.code' | 'priceDetails.coupon.amount' | 'priceDetails.coupon.id' | 'pricing' | 'pricing.subscription' | 'pricing.subscription.cycleDuration' | 'pricing.subscription.cycleCount' | 'pricing.singlePaymentForDuration' | 'pricing.singlePaymentForDuration.count' | 'pricing.singlePaymentForDuration.unit' | 'pricing.singlePaymentUnlimited' | 'pricing.prices' | 'pricing.prices.duration' | 'pricing.prices.duration.cycleFrom' | 'pricing.prices.duration.numberOfCycles' | 'pricing.prices.price' | 'pricing.prices.price.subtotal' | 'pricing.prices.price.coupon' | 'pricing.prices.price.coupon.code' | 'pricing.prices.price.coupon.amount' | 'pricing.prices.price.coupon.id' | 'pricing.prices.price.discount' | 'pricing.prices.price.tax' | 'pricing.prices.price.tax.name' | 'pricing.prices.price.tax.includedInPrice' | 'pricing.prices.price.tax.rate' | 'pricing.prices.price.tax.amount' | 'pricing.prices.price.total' | 'pricing.prices.price.currency' | 'pricing.prices.price.fees.name' | 'pricing.prices.price.fees.amount' | 'pricing.prices.price.proration' | 'type' | 'orderMethod' | 'status' | 'autoRenewCanceled' | 'cancellation' | 'cancellation.requestedDate' | 'cancellation.cause' | 'cancellation.effectiveAt' | 'lastPaymentStatus' | 'startDate' | 'endDate' | 'pausePeriods' | 'pausePeriods.status' | 'pausePeriods.pauseDate' | 'pausePeriods.resumeDate' | 'freeTrialDays' | 'earliestEndDate' | 'currentCycle' | 'currentCycle.index' | 'currentCycle.startedDate' | 'currentCycle.endedDate' | 'cycles.index' | 'cycles.startedDate' | 'cycles.endedDate' | 'planName' | 'planDescription' | 'planPrice' | '_createdDate' | '_updatedDate' | 'formData' | 'formData.formId' | 'formData.submissionId' | 'formData.submissionData' | 'statusNew'>) => PlansQueryBuilder$1;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => PlansQueryBuilder$1;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => PlansQueryBuilder$1;\n      find: () => Promise<PlansQueryResult$1>;\n  }\n  /**\n   * Starts the process of canceling an order.\n   *\n   *\n   * The `requestCancellation()` function returns a Promise that resolves when the order cancellation is successfully requested.\n   *\n   * For orders with recurring payments, a cancellation can be set to occur either immediately or at the next payment date. For orders with one-time payments, a cancellation occurs immediately after the request is processed.\n   *\n   * Requesting an order cancellation starts the cancellation process. There may be some operations that continue to be processed before the status of the order is changed to `\"CANCELED\"`. For example, payments might need to be refunded before the order is fully canceled.\n   *\n   * #### Canceling during the free trial period.\n   *\n   * When a buyer cancels their order during the free trial period, the buyer's subscription expires at the end of the free trial period and they won't be billed. The buyer may continue using the benefits until the end of the free trial period.\n   *\n   * @param _id - Order ID.\n   * @param effectiveAt - Whether to cancel the order immediately or at the next payment date.\n   * One-time payment orders can only be canceled immediately.\n   *\n   * Supported values:\n   * - `\"IMMEDIATELY\"`: Indicates that the order should be canceled immediately.\n   * - `\"NEXT_PAYMENT_DATE\"`: Indicates that the order be canceled at the next payment date.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField effectiveAt\n   * @param options - Options for requesting a cancellation.\n   * @permissionId PRICING_PLANS.MANAGE_OWN_ORDERS\n   * @returns Fulfilled - When the cancellation process is started.\n   */\n  function requestCancellation(_id: string, effectiveAt: CancellationEffectiveAt): Promise<void>;\n  /**\n   * Creates an order and initiates payment for currently logged in member.\n   * Will not be exposed to 3rd parties until Wix Payments are exposed.\n   * @param planId - Plan ID.\n   * @internal\n   * @requiredField options.onBehalf.memberId\n   * @requiredField planId\n   * @adminMethod\n   */\n  function createOnlineOrder(planId: string, options?: CreateOnlineOrderOptions): Promise<CreateOnlineOrderResponse>;\n  interface CreateOnlineOrderOptions {\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date | null;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Provided if checkout is initiated on buyer's behalf. */\n      onBehalf?: OnBehalf;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  /**\n   * Creates an order and initiates payment for currently logged in member.\n   * Will not be exposed to 3rd parties until Wix Payments are exposed.\n   * @param planId - Plan ID.\n   * @internal\n   * @requiredField options.captcha\n   * @requiredField options.captcha.token\n   * @requiredField options.guest\n   * @requiredField options.guest.email\n   * @requiredField planId\n   * @permissionId PRICING_PLANS.CREATE_GUEST_ORDER\n   * @deprecated\n   * @targetRemovalDate 2025-07-31\n   */\n  function createGuestOnlineOrder(planId: string, options?: CreateGuestOnlineOrderOptions): Promise<CreateGuestOnlineOrderResponse>;\n  interface CreateGuestOnlineOrderOptions {\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date | null;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Captcha data to prove you are not a robot */\n      captcha: Captcha;\n      /** Visitor info */\n      guest: Guest;\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  /**\n   * Creates an order for a buyer who purchased the plan with an offline transaction.\n   *\n   * The `createOfflineOrder()` function returns a Promise that resolves to an `order` object when the order has been created.\n   *\n   * Payment of an offline order is handled in 1 of 2 ways.\n   * - When creating the order, select `true` in the `paid` request parameter.\n   * - After creation, with the [`markAsPaid()`](#markaspaid) function.\n   *\n   * When creating a non-free offline order:\n   * - The order's status is set to `\"PENDING\"` if the start date is in the future. Otherwise, the status is set to `\"ACTIVE\"`.\n   * The order's last payment status is set to `\"UNPAID\"` or `\"PAID\"`.\n   *\n   * When creating a free offline order:\n   * - The order's status is set to `\"PENDING\"` if the start date is in the future. Otherwise, the status is set to `\"ACTIVE\"`.\n   * - The order's last payment status is set to `\"NOT_APPLICABLE\"`.\n   * @param memberId - ID of the member ordering the plan.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @requiredField planId\n   * @param options - Options for creating an offline order.\n   * @param planId - ID of the plan being ordered. See [Plans for more information about plan IDs](plans)\n   * @permissionId PRICING_PLANS.REGISTER_OFFLINE_ORDERS\n   * @adminMethod\n   * @returns Fulfilled - The order of the plan.\n   */\n  function createOfflineOrder(planId: string, memberId: string, options?: CreateOfflineOrderOptions): Promise<CreateOfflineOrderResponse>;\n  interface CreateOfflineOrderOptions {\n      /**\n       * Start date and time for the ordered plan.\n       *\n       * Default: Current date and time\n       */\n      startDate?: Date | null;\n      /**\n       * Whether the order is paid.\n       *\n       * Default: `false`\n       */\n      paid?: boolean | null;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Form submission ID that was submitted together with the order. */\n      submissionId?: string | null;\n  }\n  /**\n   * Creates an order with payment method \"EXTERNAL\" and initiates payment for currently logged in member.\n   * Will not be exposed to 3rd parties until Wix Payments are exposed.\n   * @param planId - Plan ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField planId\n   * @adminMethod\n   */\n  function createExternalOrder(planId: string, options?: CreateExternalOrderOptions): Promise<CreateExternalOrderResponse>;\n  interface CreateExternalOrderOptions {\n      /** Form submission id that was submitted together with the order */\n      submissionId?: string | null;\n  }\n  /**\n   * Forms an order preview using same logic as purchasing, except that it is not persisted anywhere.\n   * Checks for purchase limitations, intended to be called with member identity.\n   * [More information on tax here](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection).\n   * Will not be exposed until CreateOnlineOrder is exposed.\n   * @param planId - Plan ID.\n   * @internal\n   * @requiredField planId\n   * @permissionId PRICING_PLANS.PURCHASE_PLANS\n   */\n  function getOnlineOrderPreview(planId: string, options?: GetOnlineOrderPreviewOptions): Promise<GetOnlineOrderPreviewResponse>;\n  interface GetOnlineOrderPreviewOptions {\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date | null;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n  }\n  /**\n   * Forms an order preview using same logic as purchasing, except that it is not persisted anywhere.\n   * Checks for purchase limitations\n   * [More information on tax here](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection).\n   * Will not be exposed until CreateGuestOnlineOrder is exposed.\n   * @param planId - Plan ID.\n   * @internal\n   * @requiredField options.email\n   * @requiredField planId\n   * @permissionId PRICING_PLANS.CREATE_GUEST_ORDER\n   * @deprecated\n   * @targetRemovalDate 2025-07-31\n   */\n  function getGuestOnlineOrderPreview(planId: string, options?: GetGuestOnlineOrderPreviewOptions): Promise<GetGuestOnlineOrderPreviewResponse>;\n  interface GetGuestOnlineOrderPreviewOptions {\n      /**\n       * Start date for the ordered plan.\n       *\n       * Default: Current date\n       */\n      startDate?: Date | null;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n      /** Email for checkout */\n      email: string;\n  }\n  /**\n   * Provides a preview of an offline order as if it was purchased.\n   *\n   * The `getOfflineOrderPreview()` function returns a Promise that resolves to a temporary preview of the offline order.\n   *\n   * The preview uses the same logic as purchasing a plan, but the preview is not saved. Because an order is not actually created, the preview's `_id` and `subscriptionId` properties are displayed as a string of multiple zero characters (`000000-0000`).\n   *\n   * If [taxes are configured](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection) for the site, taxes are applied to the preview. If not, `tax` previews as `null`.\n   *\n   * You can preview the order to check purchase limitations, but the limitations are not enforced for the preview. If a pricing plan has a limit on the amount of purchases per buyer, that limit is not considered for generating the preview. But, if that limit has been reached and this order would then exceed the amount of purchases permitted for this buyer, then `purchaseLimitExceeded` will return as `true`. Thus function is not available to the buyer. You specify the member ID for the buyer whose order should be previewed. To get a general price preview for a plan that's not buyer-specific, use the [`getPricePreview()`](#getpricepreview) function.\n   * @param memberId - Member ID of the buyer the previewed order is for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @requiredField planId\n   * @param options - Options for previewing the offline order.\n   * @param planId - ID of the plan of the previewed order.\n   * @permissionId PRICING_PLANS.MANAGE_ORDERS\n   * @adminMethod\n   * @returns Fulfilled - A preview of the order.\n   */\n  function getOfflineOrderPreview(planId: string, memberId: string, options?: GetOfflineOrderPreviewOptions): Promise<GetOfflineOrderPreviewResponse>;\n  interface GetOfflineOrderPreviewOptions {\n      /**\n       * Start date and time for plan of the previewed order.\n       *\n       * Default: Current date and time\n       */\n      startDate?: Date | null;\n      /** Coupon code to apply. */\n      couponCode?: string | null;\n  }\n  /**\n   * Retrieves a preview of an order's pricing as if it was purchased.\n   *\n   * The `getPricePreview()` function returns a Promise that resolves to a temporary preview of the order's price.\n   *\n   * The price preview uses the same logic for calculating prices as used when purchasing a plan, but the preview is not saved. If [taxes are configured](https://support.wix.com/en/article/pricing-plans-setting-up-tax-collection) for the site, taxes are applied to the preview. If not, the `tax` previews as `null`.\n   *\n   * Buyers do not have to be logged in to preview the price, as such, the details returned by this function are not buyer-specific. To generate a preview of a purchase for a specific-buyer, use the [`getOfflineOrderPreview()`](#getofflineorderpreview).\n   * @param planId - ID of plan to preview.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField planId\n   * @param options - Options for getting a price preview.\n   * @permissionId PRICING_PLANS.READ_PUBLIC_PLANS\n   * @returns Fulfilled - A preview of the pricing for the order.\n   */\n  function getPricePreview(planId: string, options?: GetPricePreviewOptions): Promise<GetPricePreviewResponse>;\n  interface GetPricePreviewOptions {\n      /** Coupon code to apply.  */\n      couponCode?: string | null;\n  }\n  /**\n   * Changes the start date of a draft order.\n   *\n   * Deprecated: use CreateOnlineOrder or CreateOfflineOrder with the desired start date to create a new order\n   * instead.\n   * @param orderId - Draft order ID.\n   * @param startDate - New valid from date (timestamp).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @requiredField startDate\n   * @permissionId PRICING_PLANS.CHANGE_START_DATE\n   * @deprecated\n   * @replacedBy com.wixpress.membership.v2.orders.CheckoutService.CreateOnlineOrder\n   * @targetRemovalDate 2025-07-31\n   */\n  function changeStartDate(orderId: string, startDate: Date | null): Promise<ChangeStartDateResponse>;\n  /**\n   * Applies a coupon to an order and recalculates tax if needed. Should be called at the last moment before the payment.\n   * If you don't want to make change to an order and only want to see the plan price with applied coupon\n   * you can use GetPricePreview, GetOnlineOrderPreview or GetOfflineOrderPreview endpoints with coupon code.\n   *\n   * Deprecated: use CreateOnlineOrder or CreateOfflineOrder with the coupon code to create a new order with the\n   * coupon applied instead.\n   * @param orderId - Draft order ID.\n   * @param couponCode - Coupon code to apply.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField couponCode\n   * @requiredField orderId\n   * @permissionId PRICING_PLANS.APPLY_COUPON\n   * @deprecated\n   * @replacedBy com.wixpress.membership.v2.orders.CheckoutService.CreateOnlineOrder\n   * @targetRemovalDate 2025-07-31\n   */\n  function applyCoupon(orderId: string, couponCode: string): Promise<ApplyCouponResponse>;\n  /**\n   * Adds to a draft order reference to a submission. Member can only revise orders what were created by them.\n   *\n   * Deprecated: use CreateOnlineOrder or CreateOfflineOrder with the submission to create a new order with submission\n   * instead.\n   * @param orderId - Order ID.\n   * @param submissionId - Submission ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField orderId\n   * @requiredField submissionId\n   * @permissionId PRICING_PLANS.SET_SUBMISSION\n   * @deprecated\n   * @replacedBy com.wixpress.membership.v2.orders.CheckoutService.CreateOnlineOrder\n   * @targetRemovalDate 2025-07-31\n   */\n  function setSubmission(orderId: string, submissionId: string): Promise<SetSubmissionResponse>;\n  /**\n   * Retrieves an order by ID.\n   *\n   * The `managementGetOrder()` function returns a Promise that resolves to information about the specified order.\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @param options - Options to use when getting an order.\n   * @permissionId PRICING_PLANS.READ_ORDERS\n   * @adminMethod\n   */\n  function managementGetOrder(_id: string, options?: ManagementGetOrderOptions): Promise<GetOrderResponse>;\n  interface ManagementGetOrderOptions {\n      /**\n       * Predefined set of fields to return.\n       *\n       * Default: If `fieldSet` is omitted, no order form submission data is returned.\n       */\n      fieldSet?: Set;\n  }\n  /**\n   * Lists pricing plan orders.\n   *\n   * The `managementListOrders()` function returns a Promise that resolves to a list of up to 50 pricing plan orders. You can specify options for filtering, sorting, and paginating the results.\n   *\n   * This function returns the orders on the site. To list orders for the currently logged-in member, use [`memberListOrders()`](#memberlistorders).\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filtering, sorting, and pagination options.\n   * @permissionId PRICING_PLANS.READ_ORDERS\n   * @adminMethod\n   */\n  function managementListOrders(options?: ManagementListOrdersOptions): Promise<ListOrdersResponse>;\n  interface ManagementListOrdersOptions {\n      /** Filter by specific member IDs of buyers who ordered a pricing plan. */\n      buyerIds?: string[];\n      /** Filter by specific IDs of plans that were ordered.  */\n      planIds?: string[];\n      /** Filter by whether or not the auto-renewal of recurring orders was canceled. */\n      autoRenewCanceled?: boolean | null;\n      /**\n       * Filter by the order status. Supported values:\n       * + `DRAFT`: Order has been initiated but payment hasn't been processed yet. The plan isn't yet available for use to the buyer.\n       * + `PENDING`: Order has been purchased and its start date is set in the future.\n       * + `ACTIVE`: Order has been processed. The plan is available for use.\n       * + `PAUSED`: Order, and use of the plan, is [paused](#pauseorder). The order, and use of the plan, can be [resumed](#resumeorder).\n       * + `ENDED`: Order has completed its duration and is no longer available for use.\n       * + `CANCELED`: Order has been [canceled](#cancelorder).\n       */\n      orderStatuses?: OrderStatus[];\n      /**\n       * Filter by payment status.\n       *\n       * Supported values:\n       * + `PAID`: The last payment was paid.\n       * + `REFUNDED`: The last payment was refunded.\n       * + `FAILED`: The last payment transaction didn't complete.\n       * + `UNPAID`: The last payment wasn't paid.\n       * + `PENDING`: Awaiting payment.\n       * + `NOT_APPLICABLE`: No payment was necessary. For example, for free plans or free trials.\n       */\n      paymentStatuses?: PaymentStatus[];\n      /**\n       * Number of pricing plan orders to return.\n       *\n       * Default: `50`\n       */\n      limit?: number | null;\n      /** Number of orders to skip in the current sort order. */\n      offset?: number | null;\n      /**\n       * Sort order.\n       *\n       * Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Default: `DESC`\n       */\n      sorting?: Sorting$1;\n      /**\n       * Predefined set of fields to return.\n       *\n       * Default: If `fieldSet` is omitted, no order form submission data is returned.\n       */\n      fieldSet?: Set;\n      /**\n       * Filter by order IDs.\n       * @internal\n       */\n      orderIds?: string[];\n  }\n  /**\n   * TODO: Write orders filter and sort docs page\n   * Retrieves a list of up to 1,000 orders, based on the provided [paging, sorting, and filtering](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort).\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId PRICING_PLANS.READ_ORDERS\n   * @adminMethod\n   */\n  function managementQueryOrders(options?: ManagementQueryOrdersOptions): Promise<OrdersQueryOrdersResponse>;\n  interface ManagementQueryOrdersOptions {\n      /** [See available fields here](https://dev.wix.com/api/rest/pricing-plans/pricing-plans/order-v2/filter-and-sort). */\n      query?: QueryV2$1;\n  }\n  /**\n   * Retrieves statistics about the pricing plans orders. Currently providing the total number of orders and active orders.\n   * @internal\n   * @permissionId PRICING_PLANS.READ_ORDERS\n   * @adminMethod\n   */\n  function getOrdersStats(): Promise<GetOrdersStatsResponse>;\n  /** @param _id - Order ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId PRICING_PLANS.READ_ORDERS\n   * @adminMethod\n   */\n  function getAvailableOrderActions(_id: string): Promise<GetAvailableOrderActionsResponse>;\n  /**\n   * Extends the duration of a pricing plan order by postponing the order's `endDate`.\n   *\n   * The `postponeEndDate()` function returns a Promise that resolves when the order's end date is successfully changed.\n   *\n   * The new end date and time must be later than the order's current `endDate`.\n   *\n   * Postponing the end date of an order does not impact payments. For example, if the pricing plan is for a membership to an online lecture series, and you want to extend the duration of the series because the lecturer could not attend some sessions, you can postpone the end date of the orders for all relevant participants. The participants will not be billed additionally.\n   *\n   * Postponing an order causes the following changes:\n   * - The `endDate` for the order is adjusted to the new end date.\n   * @param _id - Order ID.\n   * @param endDate - New end date and time.\n   *\n   * Must be later than the current end date and time.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField endDate\n   * @param options - Options for postponing the end date of an order.\n   * @permissionId PRICING_PLANS.MANAGE_ORDERS\n   * @adminMethod\n   * @returns Fulfilled - When the order's end date has been postponed or made earlier.\n   *\n   *\n   */\n  function postponeEndDate(_id: string, endDate: Date | null): Promise<void>;\n  /**\n   * Cancels an existing order.\n   *\n   * The `cancelOrder()` function returns a Promise that resolves when the order is successfully canceled.\n   *\n   * For orders with recurring payments, a cancellation can be set to occur either `IMMEDIATELY` or at the `NEXT_PAYMENT_DATE`.\n   * For orders with one-time payments, a cancellation occurs `IMMEDIATELY`.\n   *\n   * Canceling an order changes the order status to `CANCELED`.\n   *\n   * #### Canceling during the free trial period.\n   *\n   * When a site owner cancels an ordered plan during the free trial period, they choose to apply the cancellation `IMMEDIATELY` or at the `NEXT_PAYMENT_DATE`.\n   *\n   * Canceling `IMMEDIATELY` will end the subscription for the buyer\n   * immediately, even during the free trial period and the buyer won't be billed.\n   *\n   * Canceling at the `NEXT_PAYMENT_DATE` allows the buyer to continue using the benefits of the subscription until the end of the free trial period. Then, the subscription ends and the buyer is not billed.\n   * @param _id - Order ID.\n   * @param effectiveAt - When the order is canceled.\n   *\n   * One time orders can only be canceled immediately. Supported values:\n   * - `\"IMMEDIATELY\"`: The order is canceled immediately.\n   * - `\"NEXT_PAYMENT_DATE\"`: The order is canceled at the next payment date.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField effectiveAt\n   * @param options - Options for canceling orders.\n   * @permissionId PRICING_PLANS.MANAGE_ORDERS\n   * @adminMethod\n   * @returns Fulfilled - When the order is canceled.\n   */\n  function cancelOrder(_id: string, effectiveAt: CancellationEffectiveAt): Promise<void>;\n  /**\n   * Marks an offline order as paid.\n   *\n   * The `markAsPaid()` function returns a Promise that resolves when the offline order is successfully marked as paid.\n   *\n   * The entire order is marked as paid, even if the order's payments are recurring.\n   *\n   * >**Note:** Marking separate payment cycles as paid is not yet supported. Subsequent offline payments do trigger events and emails, but are not registered as additional offline payments.\n   *\n   * Marking an offline order as paid causes the following changes:\n   * - The order's `lastPaymentStatus` changes to `\"PAID\"`.\n   * - The order's status changes to either `\"PENDING\"` or `\"ACTIVE\"`, depending on the order's `startDate`.\n   *\n   * An error occurs if you attempt to:\n   * - Mark an already-paid, offline order as paid. You cannot make an offline order as paid twice.\n   * - Mark an online order as paid. The `markAsPaid()` function is supported for offline orders only.\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId PRICING_PLANS.MANAGE_ORDERS\n   * @adminMethod\n   * @returns Fulfilled - When the order is marked as paid.\n   */\n  function markAsPaid(_id: string): Promise<void>;\n  /**\n   * Pauses a pricing plan order.\n   *\n   * The `pauseOrder()` function returns a Promise that resolves when the order is successfully paused.\n   *\n   * For orders with recurring payments, `pauseOrder()` also pauses the payment schedule. Buyers are not charged when an order is paused. Use `pauseOrder()`, for example, if the buyer is away and would like to put their pricing plan membership on hold until they return. Pausing an order affects the end date of the order by adding the time the order is paused to the `endDate`. You can only pause orders with an `\"ACTIVE`\" status.\n   *\n   * Pausing an order causes the following changes:\n   * - The order status changes to `\"PAUSED\"`.\n   * - The `pausePeriods` array is updated.\n   *\n   * The `endDate` and the `earliestEndDate` for the order are adjusted to include the pause period when the order is resumed.\n   *\n   * Paused orders can be continued with the [`resumeOrder()`](#resumeorder) function.\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId PRICING_PLANS.MANAGE_ORDERS\n   * @adminMethod\n   * @returns Fulfilled - When the order is paused.\n   */\n  function pauseOrder(_id: string): Promise<void>;\n  /**\n   * Pauses multiple orders.\n   * @param ids - List of Order IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId PRICING_PLANS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function bulkPauseOrder(ids: string[], options?: BulkPauseOrderOptions): Promise<BulkPauseOrderResponse>;\n  interface BulkPauseOrderOptions {\n      /** Set to true to return Order entity in response. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Resumes a paused pricing plan order.\n   *\n   * The `resumeOrder()` function returns a Promise that resolves when a paused order is successfully resumed.\n   *\n   * For orders with recurring payments, `resumeOrder()` also restarts the payment schedule.\n   *\n   * Resuming an order causes the following changes:\n   * - The order status changes to `\"ACTIVE\"`.\n   * - The `pausePeriods` array is updated.\n   * - The `endDate` for the order is adjusted to include the pause period.\n   * - The `earliestEndDate` is adjusted to include the pause period. (This property is reserved for future use).\n   * @param _id - Order ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId PRICING_PLANS.MANAGE_ORDERS\n   * @adminMethod\n   * @returns Fulfilled - When the order is resumed.\n   */\n  function resumeOrder(_id: string): Promise<void>;\n  /**\n   * Resumes multiple paused orders.\n   * @param ids - List of Order IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId PRICING_PLANS.MANAGE_ORDERS\n   * @adminMethod\n   */\n  function bulkResumeOrder(ids: string[], options?: BulkResumeOrderOptions): Promise<BulkResumeOrderResponse>;\n  interface BulkResumeOrderOptions {\n      /** Set to true to return Order entity in response. */\n      returnFullEntity?: boolean;\n  }\n  \n  type pricingPlansV2Order_universal_d_Order = Order;\n  type pricingPlansV2Order_universal_d_Buyer = Buyer;\n  type pricingPlansV2Order_universal_d_PriceDetails = PriceDetails;\n  type pricingPlansV2Order_universal_d_PriceDetailsPricingModelOneOf = PriceDetailsPricingModelOneOf;\n  type pricingPlansV2Order_universal_d_Tax = Tax;\n  type pricingPlansV2Order_universal_d_Coupon = Coupon;\n  type pricingPlansV2Order_universal_d_PricingDetails = PricingDetails;\n  type pricingPlansV2Order_universal_d_PricingDetailsPricingModelOneOf = PricingDetailsPricingModelOneOf;\n  type pricingPlansV2Order_universal_d_SpannedPrice = SpannedPrice;\n  type pricingPlansV2Order_universal_d_PriceDuration = PriceDuration;\n  type pricingPlansV2Order_universal_d_Price = Price;\n  type pricingPlansV2Order_universal_d_OrderType = OrderType;\n  const pricingPlansV2Order_universal_d_OrderType: typeof OrderType;\n  type pricingPlansV2Order_universal_d_OrderMethod = OrderMethod;\n  const pricingPlansV2Order_universal_d_OrderMethod: typeof OrderMethod;\n  type pricingPlansV2Order_universal_d_OrderStatus = OrderStatus;\n  const pricingPlansV2Order_universal_d_OrderStatus: typeof OrderStatus;\n  type pricingPlansV2Order_universal_d_Cancellation = Cancellation;\n  type pricingPlansV2Order_universal_d_CancellationCause = CancellationCause;\n  const pricingPlansV2Order_universal_d_CancellationCause: typeof CancellationCause;\n  type pricingPlansV2Order_universal_d_CancellationEffectiveAt = CancellationEffectiveAt;\n  const pricingPlansV2Order_universal_d_CancellationEffectiveAt: typeof CancellationEffectiveAt;\n  type pricingPlansV2Order_universal_d_PaymentStatus = PaymentStatus;\n  const pricingPlansV2Order_universal_d_PaymentStatus: typeof PaymentStatus;\n  type pricingPlansV2Order_universal_d_PausePeriod = PausePeriod;\n  type pricingPlansV2Order_universal_d_Status = Status;\n  const pricingPlansV2Order_universal_d_Status: typeof Status;\n  type pricingPlansV2Order_universal_d_CurrentCycle = CurrentCycle;\n  type pricingPlansV2Order_universal_d_OrderCycle = OrderCycle;\n  type pricingPlansV2Order_universal_d_FormData = FormData;\n  type pricingPlansV2Order_universal_d_Empty = Empty;\n  type pricingPlansV2Order_universal_d_MemberGetOrderRequest = MemberGetOrderRequest;\n  type pricingPlansV2Order_universal_d_Set = Set;\n  const pricingPlansV2Order_universal_d_Set: typeof Set;\n  type pricingPlansV2Order_universal_d_MemberGetOrderResponse = MemberGetOrderResponse;\n  type pricingPlansV2Order_universal_d_MemberListOrdersRequest = MemberListOrdersRequest;\n  type pricingPlansV2Order_universal_d_MemberListOrdersResponse = MemberListOrdersResponse;\n  type pricingPlansV2Order_universal_d_QueryOrdersRequest = QueryOrdersRequest;\n  type pricingPlansV2Order_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type pricingPlansV2Order_universal_d_CursorPaging = CursorPaging;\n  type pricingPlansV2Order_universal_d_QueryOrdersResponse = QueryOrdersResponse;\n  type pricingPlansV2Order_universal_d_RequestCancellationRequest = RequestCancellationRequest;\n  type pricingPlansV2Order_universal_d_RequestCancellationResponse = RequestCancellationResponse;\n  type pricingPlansV2Order_universal_d_OrderCanceled = OrderCanceled;\n  type pricingPlansV2Order_universal_d_CreateOnlineOrderRequest = CreateOnlineOrderRequest;\n  type pricingPlansV2Order_universal_d_OnBehalf = OnBehalf;\n  type pricingPlansV2Order_universal_d_CreateOnlineOrderResponse = CreateOnlineOrderResponse;\n  type pricingPlansV2Order_universal_d_CouponsError = CouponsError;\n  type pricingPlansV2Order_universal_d_CreateGuestOnlineOrderRequest = CreateGuestOnlineOrderRequest;\n  type pricingPlansV2Order_universal_d_Captcha = Captcha;\n  type pricingPlansV2Order_universal_d_Guest = Guest;\n  type pricingPlansV2Order_universal_d_CreateGuestOnlineOrderResponse = CreateGuestOnlineOrderResponse;\n  type pricingPlansV2Order_universal_d_CreateOfflineOrderRequest = CreateOfflineOrderRequest;\n  type pricingPlansV2Order_universal_d_CreateOfflineOrderResponse = CreateOfflineOrderResponse;\n  type pricingPlansV2Order_universal_d_CreateExternalOrderRequest = CreateExternalOrderRequest;\n  type pricingPlansV2Order_universal_d_CreateExternalOrderResponse = CreateExternalOrderResponse;\n  type pricingPlansV2Order_universal_d_GetOnlineOrderPreviewRequest = GetOnlineOrderPreviewRequest;\n  type pricingPlansV2Order_universal_d_GetOnlineOrderPreviewResponse = GetOnlineOrderPreviewResponse;\n  type pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewRequest = GetGuestOnlineOrderPreviewRequest;\n  type pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewResponse = GetGuestOnlineOrderPreviewResponse;\n  type pricingPlansV2Order_universal_d_GetOfflineOrderPreviewRequest = GetOfflineOrderPreviewRequest;\n  type pricingPlansV2Order_universal_d_GetOfflineOrderPreviewResponse = GetOfflineOrderPreviewResponse;\n  type pricingPlansV2Order_universal_d_GetPricePreviewRequest = GetPricePreviewRequest;\n  type pricingPlansV2Order_universal_d_GetPricePreviewResponse = GetPricePreviewResponse;\n  type pricingPlansV2Order_universal_d_ChangeStartDateRequest = ChangeStartDateRequest;\n  type pricingPlansV2Order_universal_d_ChangeStartDateResponse = ChangeStartDateResponse;\n  type pricingPlansV2Order_universal_d_OrderStartDateChanged = OrderStartDateChanged;\n  type pricingPlansV2Order_universal_d_ApplyCouponRequest = ApplyCouponRequest;\n  type pricingPlansV2Order_universal_d_ApplyCouponResponse = ApplyCouponResponse;\n  type pricingPlansV2Order_universal_d_SetSubmissionRequest = SetSubmissionRequest;\n  type pricingPlansV2Order_universal_d_SetSubmissionResponse = SetSubmissionResponse;\n  type pricingPlansV2Order_universal_d_OrderPurchased = OrderPurchased;\n  type pricingPlansV2Order_universal_d_OrderStarted = OrderStarted;\n  type pricingPlansV2Order_universal_d_OrderCycleStarted = OrderCycleStarted;\n  type pricingPlansV2Order_universal_d_OrderAutoRenewCanceled = OrderAutoRenewCanceled;\n  type pricingPlansV2Order_universal_d_OrderEnded = OrderEnded;\n  type pricingPlansV2Order_universal_d_GetOrderRequest = GetOrderRequest;\n  type pricingPlansV2Order_universal_d_GetOrderResponse = GetOrderResponse;\n  type pricingPlansV2Order_universal_d_ListOrdersRequest = ListOrdersRequest;\n  type pricingPlansV2Order_universal_d_ListOrdersResponse = ListOrdersResponse;\n  type pricingPlansV2Order_universal_d_OrdersQueryOrdersRequest = OrdersQueryOrdersRequest;\n  type pricingPlansV2Order_universal_d_OrdersQueryOrdersResponse = OrdersQueryOrdersResponse;\n  type pricingPlansV2Order_universal_d_GetOrdersStatsRequest = GetOrdersStatsRequest;\n  type pricingPlansV2Order_universal_d_GetOrdersStatsResponse = GetOrdersStatsResponse;\n  type pricingPlansV2Order_universal_d_GetAvailableOrderActionsRequest = GetAvailableOrderActionsRequest;\n  type pricingPlansV2Order_universal_d_GetAvailableOrderActionsResponse = GetAvailableOrderActionsResponse;\n  type pricingPlansV2Order_universal_d_ReasonNotSuspendable = ReasonNotSuspendable;\n  const pricingPlansV2Order_universal_d_ReasonNotSuspendable: typeof ReasonNotSuspendable;\n  type pricingPlansV2Order_universal_d_PostponeEndDateRequest = PostponeEndDateRequest;\n  type pricingPlansV2Order_universal_d_PostponeEndDateResponse = PostponeEndDateResponse;\n  type pricingPlansV2Order_universal_d_OrderEndDatePostponed = OrderEndDatePostponed;\n  type pricingPlansV2Order_universal_d_CancelOrderRequest = CancelOrderRequest;\n  type pricingPlansV2Order_universal_d_CancelOrderResponse = CancelOrderResponse;\n  type pricingPlansV2Order_universal_d_MarkAsPaidRequest = MarkAsPaidRequest;\n  type pricingPlansV2Order_universal_d_MarkAsPaidResponse = MarkAsPaidResponse;\n  type pricingPlansV2Order_universal_d_OrderMarkedAsPaid = OrderMarkedAsPaid;\n  type pricingPlansV2Order_universal_d_PauseOrderRequest = PauseOrderRequest;\n  type pricingPlansV2Order_universal_d_PauseOrderResponse = PauseOrderResponse;\n  type pricingPlansV2Order_universal_d_OrderPaused = OrderPaused;\n  type pricingPlansV2Order_universal_d_BulkPauseOrderRequest = BulkPauseOrderRequest;\n  type pricingPlansV2Order_universal_d_BulkPauseOrderResponse = BulkPauseOrderResponse;\n  type pricingPlansV2Order_universal_d_BulkOrderResult = BulkOrderResult;\n  type pricingPlansV2Order_universal_d_ResumeOrderRequest = ResumeOrderRequest;\n  type pricingPlansV2Order_universal_d_ResumeOrderResponse = ResumeOrderResponse;\n  type pricingPlansV2Order_universal_d_OrderResumed = OrderResumed;\n  type pricingPlansV2Order_universal_d_BulkResumeOrderRequest = BulkResumeOrderRequest;\n  type pricingPlansV2Order_universal_d_BulkResumeOrderResponse = BulkResumeOrderResponse;\n  const pricingPlansV2Order_universal_d_memberGetOrder: typeof memberGetOrder;\n  type pricingPlansV2Order_universal_d_MemberGetOrderOptions = MemberGetOrderOptions;\n  const pricingPlansV2Order_universal_d_memberListOrders: typeof memberListOrders;\n  type pricingPlansV2Order_universal_d_MemberListOrdersOptions = MemberListOrdersOptions;\n  const pricingPlansV2Order_universal_d_memberQueryOrders: typeof memberQueryOrders;\n  const pricingPlansV2Order_universal_d_requestCancellation: typeof requestCancellation;\n  const pricingPlansV2Order_universal_d_createOnlineOrder: typeof createOnlineOrder;\n  type pricingPlansV2Order_universal_d_CreateOnlineOrderOptions = CreateOnlineOrderOptions;\n  const pricingPlansV2Order_universal_d_createGuestOnlineOrder: typeof createGuestOnlineOrder;\n  type pricingPlansV2Order_universal_d_CreateGuestOnlineOrderOptions = CreateGuestOnlineOrderOptions;\n  const pricingPlansV2Order_universal_d_createOfflineOrder: typeof createOfflineOrder;\n  type pricingPlansV2Order_universal_d_CreateOfflineOrderOptions = CreateOfflineOrderOptions;\n  const pricingPlansV2Order_universal_d_createExternalOrder: typeof createExternalOrder;\n  type pricingPlansV2Order_universal_d_CreateExternalOrderOptions = CreateExternalOrderOptions;\n  const pricingPlansV2Order_universal_d_getOnlineOrderPreview: typeof getOnlineOrderPreview;\n  type pricingPlansV2Order_universal_d_GetOnlineOrderPreviewOptions = GetOnlineOrderPreviewOptions;\n  const pricingPlansV2Order_universal_d_getGuestOnlineOrderPreview: typeof getGuestOnlineOrderPreview;\n  type pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewOptions = GetGuestOnlineOrderPreviewOptions;\n  const pricingPlansV2Order_universal_d_getOfflineOrderPreview: typeof getOfflineOrderPreview;\n  type pricingPlansV2Order_universal_d_GetOfflineOrderPreviewOptions = GetOfflineOrderPreviewOptions;\n  const pricingPlansV2Order_universal_d_getPricePreview: typeof getPricePreview;\n  type pricingPlansV2Order_universal_d_GetPricePreviewOptions = GetPricePreviewOptions;\n  const pricingPlansV2Order_universal_d_changeStartDate: typeof changeStartDate;\n  const pricingPlansV2Order_universal_d_applyCoupon: typeof applyCoupon;\n  const pricingPlansV2Order_universal_d_setSubmission: typeof setSubmission;\n  const pricingPlansV2Order_universal_d_managementGetOrder: typeof managementGetOrder;\n  type pricingPlansV2Order_universal_d_ManagementGetOrderOptions = ManagementGetOrderOptions;\n  const pricingPlansV2Order_universal_d_managementListOrders: typeof managementListOrders;\n  type pricingPlansV2Order_universal_d_ManagementListOrdersOptions = ManagementListOrdersOptions;\n  const pricingPlansV2Order_universal_d_managementQueryOrders: typeof managementQueryOrders;\n  type pricingPlansV2Order_universal_d_ManagementQueryOrdersOptions = ManagementQueryOrdersOptions;\n  const pricingPlansV2Order_universal_d_getOrdersStats: typeof getOrdersStats;\n  const pricingPlansV2Order_universal_d_getAvailableOrderActions: typeof getAvailableOrderActions;\n  const pricingPlansV2Order_universal_d_postponeEndDate: typeof postponeEndDate;\n  const pricingPlansV2Order_universal_d_cancelOrder: typeof cancelOrder;\n  const pricingPlansV2Order_universal_d_markAsPaid: typeof markAsPaid;\n  const pricingPlansV2Order_universal_d_pauseOrder: typeof pauseOrder;\n  const pricingPlansV2Order_universal_d_bulkPauseOrder: typeof bulkPauseOrder;\n  type pricingPlansV2Order_universal_d_BulkPauseOrderOptions = BulkPauseOrderOptions;\n  const pricingPlansV2Order_universal_d_resumeOrder: typeof resumeOrder;\n  const pricingPlansV2Order_universal_d_bulkResumeOrder: typeof bulkResumeOrder;\n  type pricingPlansV2Order_universal_d_BulkResumeOrderOptions = BulkResumeOrderOptions;\n  namespace pricingPlansV2Order_universal_d {\n    export {\n      pricingPlansV2Order_universal_d_Order as Order,\n      pricingPlansV2Order_universal_d_Buyer as Buyer,\n      pricingPlansV2Order_universal_d_PriceDetails as PriceDetails,\n      pricingPlansV2Order_universal_d_PriceDetailsPricingModelOneOf as PriceDetailsPricingModelOneOf,\n      pricingPlansV2Order_universal_d_Tax as Tax,\n      Recurrence$1 as Recurrence,\n      Duration$1 as Duration,\n      PeriodUnit$1 as PeriodUnit,\n      pricingPlansV2Order_universal_d_Coupon as Coupon,\n      pricingPlansV2Order_universal_d_PricingDetails as PricingDetails,\n      pricingPlansV2Order_universal_d_PricingDetailsPricingModelOneOf as PricingDetailsPricingModelOneOf,\n      pricingPlansV2Order_universal_d_SpannedPrice as SpannedPrice,\n      pricingPlansV2Order_universal_d_PriceDuration as PriceDuration,\n      pricingPlansV2Order_universal_d_Price as Price,\n      Fee$1 as Fee,\n      pricingPlansV2Order_universal_d_OrderType as OrderType,\n      pricingPlansV2Order_universal_d_OrderMethod as OrderMethod,\n      pricingPlansV2Order_universal_d_OrderStatus as OrderStatus,\n      pricingPlansV2Order_universal_d_Cancellation as Cancellation,\n      pricingPlansV2Order_universal_d_CancellationCause as CancellationCause,\n      pricingPlansV2Order_universal_d_CancellationEffectiveAt as CancellationEffectiveAt,\n      pricingPlansV2Order_universal_d_PaymentStatus as PaymentStatus,\n      pricingPlansV2Order_universal_d_PausePeriod as PausePeriod,\n      pricingPlansV2Order_universal_d_Status as Status,\n      pricingPlansV2Order_universal_d_CurrentCycle as CurrentCycle,\n      pricingPlansV2Order_universal_d_OrderCycle as OrderCycle,\n      pricingPlansV2Order_universal_d_FormData as FormData,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      pricingPlansV2Order_universal_d_Empty as Empty,\n      pricingPlansV2Order_universal_d_MemberGetOrderRequest as MemberGetOrderRequest,\n      pricingPlansV2Order_universal_d_Set as Set,\n      pricingPlansV2Order_universal_d_MemberGetOrderResponse as MemberGetOrderResponse,\n      pricingPlansV2Order_universal_d_MemberListOrdersRequest as MemberListOrdersRequest,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      pricingPlansV2Order_universal_d_MemberListOrdersResponse as MemberListOrdersResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      pricingPlansV2Order_universal_d_QueryOrdersRequest as QueryOrdersRequest,\n      QueryV2$1 as QueryV2,\n      pricingPlansV2Order_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      Paging$1 as Paging,\n      pricingPlansV2Order_universal_d_CursorPaging as CursorPaging,\n      pricingPlansV2Order_universal_d_QueryOrdersResponse as QueryOrdersResponse,\n      pricingPlansV2Order_universal_d_RequestCancellationRequest as RequestCancellationRequest,\n      pricingPlansV2Order_universal_d_RequestCancellationResponse as RequestCancellationResponse,\n      pricingPlansV2Order_universal_d_OrderCanceled as OrderCanceled,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      pricingPlansV2Order_universal_d_CreateOnlineOrderRequest as CreateOnlineOrderRequest,\n      pricingPlansV2Order_universal_d_OnBehalf as OnBehalf,\n      pricingPlansV2Order_universal_d_CreateOnlineOrderResponse as CreateOnlineOrderResponse,\n      pricingPlansV2Order_universal_d_CouponsError as CouponsError,\n      pricingPlansV2Order_universal_d_CreateGuestOnlineOrderRequest as CreateGuestOnlineOrderRequest,\n      pricingPlansV2Order_universal_d_Captcha as Captcha,\n      pricingPlansV2Order_universal_d_Guest as Guest,\n      pricingPlansV2Order_universal_d_CreateGuestOnlineOrderResponse as CreateGuestOnlineOrderResponse,\n      pricingPlansV2Order_universal_d_CreateOfflineOrderRequest as CreateOfflineOrderRequest,\n      pricingPlansV2Order_universal_d_CreateOfflineOrderResponse as CreateOfflineOrderResponse,\n      pricingPlansV2Order_universal_d_CreateExternalOrderRequest as CreateExternalOrderRequest,\n      pricingPlansV2Order_universal_d_CreateExternalOrderResponse as CreateExternalOrderResponse,\n      pricingPlansV2Order_universal_d_GetOnlineOrderPreviewRequest as GetOnlineOrderPreviewRequest,\n      pricingPlansV2Order_universal_d_GetOnlineOrderPreviewResponse as GetOnlineOrderPreviewResponse,\n      pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewRequest as GetGuestOnlineOrderPreviewRequest,\n      pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewResponse as GetGuestOnlineOrderPreviewResponse,\n      pricingPlansV2Order_universal_d_GetOfflineOrderPreviewRequest as GetOfflineOrderPreviewRequest,\n      pricingPlansV2Order_universal_d_GetOfflineOrderPreviewResponse as GetOfflineOrderPreviewResponse,\n      pricingPlansV2Order_universal_d_GetPricePreviewRequest as GetPricePreviewRequest,\n      pricingPlansV2Order_universal_d_GetPricePreviewResponse as GetPricePreviewResponse,\n      pricingPlansV2Order_universal_d_ChangeStartDateRequest as ChangeStartDateRequest,\n      pricingPlansV2Order_universal_d_ChangeStartDateResponse as ChangeStartDateResponse,\n      pricingPlansV2Order_universal_d_OrderStartDateChanged as OrderStartDateChanged,\n      pricingPlansV2Order_universal_d_ApplyCouponRequest as ApplyCouponRequest,\n      pricingPlansV2Order_universal_d_ApplyCouponResponse as ApplyCouponResponse,\n      pricingPlansV2Order_universal_d_SetSubmissionRequest as SetSubmissionRequest,\n      pricingPlansV2Order_universal_d_SetSubmissionResponse as SetSubmissionResponse,\n      pricingPlansV2Order_universal_d_OrderPurchased as OrderPurchased,\n      pricingPlansV2Order_universal_d_OrderStarted as OrderStarted,\n      pricingPlansV2Order_universal_d_OrderCycleStarted as OrderCycleStarted,\n      pricingPlansV2Order_universal_d_OrderAutoRenewCanceled as OrderAutoRenewCanceled,\n      pricingPlansV2Order_universal_d_OrderEnded as OrderEnded,\n      pricingPlansV2Order_universal_d_GetOrderRequest as GetOrderRequest,\n      pricingPlansV2Order_universal_d_GetOrderResponse as GetOrderResponse,\n      pricingPlansV2Order_universal_d_ListOrdersRequest as ListOrdersRequest,\n      pricingPlansV2Order_universal_d_ListOrdersResponse as ListOrdersResponse,\n      pricingPlansV2Order_universal_d_OrdersQueryOrdersRequest as OrdersQueryOrdersRequest,\n      pricingPlansV2Order_universal_d_OrdersQueryOrdersResponse as OrdersQueryOrdersResponse,\n      pricingPlansV2Order_universal_d_GetOrdersStatsRequest as GetOrdersStatsRequest,\n      pricingPlansV2Order_universal_d_GetOrdersStatsResponse as GetOrdersStatsResponse,\n      pricingPlansV2Order_universal_d_GetAvailableOrderActionsRequest as GetAvailableOrderActionsRequest,\n      pricingPlansV2Order_universal_d_GetAvailableOrderActionsResponse as GetAvailableOrderActionsResponse,\n      pricingPlansV2Order_universal_d_ReasonNotSuspendable as ReasonNotSuspendable,\n      pricingPlansV2Order_universal_d_PostponeEndDateRequest as PostponeEndDateRequest,\n      pricingPlansV2Order_universal_d_PostponeEndDateResponse as PostponeEndDateResponse,\n      pricingPlansV2Order_universal_d_OrderEndDatePostponed as OrderEndDatePostponed,\n      pricingPlansV2Order_universal_d_CancelOrderRequest as CancelOrderRequest,\n      pricingPlansV2Order_universal_d_CancelOrderResponse as CancelOrderResponse,\n      pricingPlansV2Order_universal_d_MarkAsPaidRequest as MarkAsPaidRequest,\n      pricingPlansV2Order_universal_d_MarkAsPaidResponse as MarkAsPaidResponse,\n      pricingPlansV2Order_universal_d_OrderMarkedAsPaid as OrderMarkedAsPaid,\n      pricingPlansV2Order_universal_d_PauseOrderRequest as PauseOrderRequest,\n      pricingPlansV2Order_universal_d_PauseOrderResponse as PauseOrderResponse,\n      pricingPlansV2Order_universal_d_OrderPaused as OrderPaused,\n      pricingPlansV2Order_universal_d_BulkPauseOrderRequest as BulkPauseOrderRequest,\n      pricingPlansV2Order_universal_d_BulkPauseOrderResponse as BulkPauseOrderResponse,\n      pricingPlansV2Order_universal_d_BulkOrderResult as BulkOrderResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      pricingPlansV2Order_universal_d_ResumeOrderRequest as ResumeOrderRequest,\n      pricingPlansV2Order_universal_d_ResumeOrderResponse as ResumeOrderResponse,\n      pricingPlansV2Order_universal_d_OrderResumed as OrderResumed,\n      pricingPlansV2Order_universal_d_BulkResumeOrderRequest as BulkResumeOrderRequest,\n      pricingPlansV2Order_universal_d_BulkResumeOrderResponse as BulkResumeOrderResponse,\n      pricingPlansV2Order_universal_d_memberGetOrder as memberGetOrder,\n      pricingPlansV2Order_universal_d_MemberGetOrderOptions as MemberGetOrderOptions,\n      pricingPlansV2Order_universal_d_memberListOrders as memberListOrders,\n      pricingPlansV2Order_universal_d_MemberListOrdersOptions as MemberListOrdersOptions,\n      pricingPlansV2Order_universal_d_memberQueryOrders as memberQueryOrders,\n      PlansQueryResult$1 as PlansQueryResult,\n      PlansQueryBuilder$1 as PlansQueryBuilder,\n      pricingPlansV2Order_universal_d_requestCancellation as requestCancellation,\n      pricingPlansV2Order_universal_d_createOnlineOrder as createOnlineOrder,\n      pricingPlansV2Order_universal_d_CreateOnlineOrderOptions as CreateOnlineOrderOptions,\n      pricingPlansV2Order_universal_d_createGuestOnlineOrder as createGuestOnlineOrder,\n      pricingPlansV2Order_universal_d_CreateGuestOnlineOrderOptions as CreateGuestOnlineOrderOptions,\n      pricingPlansV2Order_universal_d_createOfflineOrder as createOfflineOrder,\n      pricingPlansV2Order_universal_d_CreateOfflineOrderOptions as CreateOfflineOrderOptions,\n      pricingPlansV2Order_universal_d_createExternalOrder as createExternalOrder,\n      pricingPlansV2Order_universal_d_CreateExternalOrderOptions as CreateExternalOrderOptions,\n      pricingPlansV2Order_universal_d_getOnlineOrderPreview as getOnlineOrderPreview,\n      pricingPlansV2Order_universal_d_GetOnlineOrderPreviewOptions as GetOnlineOrderPreviewOptions,\n      pricingPlansV2Order_universal_d_getGuestOnlineOrderPreview as getGuestOnlineOrderPreview,\n      pricingPlansV2Order_universal_d_GetGuestOnlineOrderPreviewOptions as GetGuestOnlineOrderPreviewOptions,\n      pricingPlansV2Order_universal_d_getOfflineOrderPreview as getOfflineOrderPreview,\n      pricingPlansV2Order_universal_d_GetOfflineOrderPreviewOptions as GetOfflineOrderPreviewOptions,\n      pricingPlansV2Order_universal_d_getPricePreview as getPricePreview,\n      pricingPlansV2Order_universal_d_GetPricePreviewOptions as GetPricePreviewOptions,\n      pricingPlansV2Order_universal_d_changeStartDate as changeStartDate,\n      pricingPlansV2Order_universal_d_applyCoupon as applyCoupon,\n      pricingPlansV2Order_universal_d_setSubmission as setSubmission,\n      pricingPlansV2Order_universal_d_managementGetOrder as managementGetOrder,\n      pricingPlansV2Order_universal_d_ManagementGetOrderOptions as ManagementGetOrderOptions,\n      pricingPlansV2Order_universal_d_managementListOrders as managementListOrders,\n      pricingPlansV2Order_universal_d_ManagementListOrdersOptions as ManagementListOrdersOptions,\n      pricingPlansV2Order_universal_d_managementQueryOrders as managementQueryOrders,\n      pricingPlansV2Order_universal_d_ManagementQueryOrdersOptions as ManagementQueryOrdersOptions,\n      pricingPlansV2Order_universal_d_getOrdersStats as getOrdersStats,\n      pricingPlansV2Order_universal_d_getAvailableOrderActions as getAvailableOrderActions,\n      pricingPlansV2Order_universal_d_postponeEndDate as postponeEndDate,\n      pricingPlansV2Order_universal_d_cancelOrder as cancelOrder,\n      pricingPlansV2Order_universal_d_markAsPaid as markAsPaid,\n      pricingPlansV2Order_universal_d_pauseOrder as pauseOrder,\n      pricingPlansV2Order_universal_d_bulkPauseOrder as bulkPauseOrder,\n      pricingPlansV2Order_universal_d_BulkPauseOrderOptions as BulkPauseOrderOptions,\n      pricingPlansV2Order_universal_d_resumeOrder as resumeOrder,\n      pricingPlansV2Order_universal_d_bulkResumeOrder as bulkResumeOrder,\n      pricingPlansV2Order_universal_d_BulkResumeOrderOptions as BulkResumeOrderOptions,\n    };\n  }\n  \n  /** Information about the pricing plan. */\n  interface Plan {\n      /**\n       * Plan ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Plan name. */\n      name?: string | null;\n      /** Plan description. */\n      description?: string | null;\n      /** List of text strings that promote what is included with this plan. For example, \"Plenty of parking\" or \"Free gift on your birthday.\" */\n      perks?: StringList;\n      /** Plan price, payment schedule, and expiration. */\n      pricing?: Pricing;\n      /** Whether the plan is public (visible to site visitors and members). */\n      public?: boolean | null;\n      /**\n       * Whether the plan is archived. Archived plans are not visible and can't be purchased anymore, but existing purchases remain in effect.\n       * @readonly\n       */\n      archived?: boolean;\n      /**\n       * Whether the plan is marked as primary.\n       * @readonly\n       */\n      primary?: boolean;\n      /**\n       * Whether the plan has any orders (including pending and unpaid orders).\n       * @readonly\n       */\n      hasOrders?: boolean;\n      /**\n       * Date plan was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date plan was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * URL-friendly version of plan name. Unique across all plans in the same site.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Number of times the same buyer can purchase the plan. Currently limited to support:\n       * - Empty value or a value of `0`, meaning no limitation.\n       * - Value of `1`, meaning limited to 1 purchase per buyer.\n       */\n      maxPurchasesPerBuyer?: number | null;\n      /** Whether the buyer can start the plan at a later date. Defaults to false. */\n      allowFutureStartDate?: boolean | null;\n      /**\n       * Whether the buyer is allowed to cancel their plan. Defaults to false.\n       * If false, calling Request Cancellation returns an error.\n       */\n      buyerCanCancel?: boolean | null;\n      /** Any terms and conditions that apply to the plan. This information is displayed during checkout. */\n      termsAndConditions?: string | null;\n      /**\n       * Client data such as the plan's cover image, terms & conditions settings.\n       * @internal\n       */\n      clientData?: Record<string, string>;\n      /**\n       * ID of the form associated with the plan at checkout.\n       *\n       * Learn more about [forms](https://support.wix.com/en/article/wix-forms-an-overview).\n       */\n      formId?: string | null;\n  }\n  /** This wrapper type exists to distinguish an empty string list from no list at all in update requests. */\n  interface StringList {\n      values?: string[];\n  }\n  /** Plan pricing information. Includes the price of the plan and payment details. */\n  interface Pricing extends PricingPricingModelOneOf {\n      /** Pricing model indicating that the plan has recurring payments. This type of subscription is not a \"Wix subscription,\" which encompasses various types of subscriptions, such as Wix Stores subscriptions, Wix invoice subscriptions, and all pricing plan models. */\n      subscription?: Recurrence;\n      /** Pricing model indicating a single payment per cycle and the length of the cycle. The cycle is the duration of the plan, not a payment cycle. */\n      singlePaymentForDuration?: Duration;\n      /** Pricing model indicating the plan is paid in a single payment. The plan is valid until canceled. */\n      singlePaymentUnlimited?: boolean | null;\n      /** Amount for a single payment. For subscriptions, this is the amount to pay each payment cycle and it is required. For plans that are not recurring plans, it is the single payment amount for the whole subscription. */\n      price?: Money;\n      /** Free trial period for the plan in days. Available only for recurring plans, meaning plans whose pricing model is `subscription`. Set to `0` to remove the free trial. */\n      freeTrialDays?: number | null;\n      /**\n       * Additional fees that would apply to the order, one of which might be a setup fee.\n       * @internal\n       */\n      feeConfigs?: FeeConfig[];\n  }\n  /** @oneof */\n  interface PricingPricingModelOneOf {\n      /** Pricing model indicating that the plan has recurring payments. This type of subscription is not a \"Wix subscription,\" which encompasses various types of subscriptions, such as Wix Stores subscriptions, Wix invoice subscriptions, and all pricing plan models. */\n      subscription?: Recurrence;\n      /** Pricing model indicating a single payment per cycle and the length of the cycle. The cycle is the duration of the plan, not a payment cycle. */\n      singlePaymentForDuration?: Duration;\n      /** Pricing model indicating the plan is paid in a single payment. The plan is valid until canceled. */\n      singlePaymentUnlimited?: boolean | null;\n  }\n  /** An object specifying how often and for how long payments recur (may be forever). */\n  interface Recurrence {\n      /**\n       * Number of payment cycles the subscription is valid for.\n       * `0` for unlimited plans or for plans that are valid until canceled.\n       */\n      cycleDuration?: Duration;\n      /**\n       * Length of a payment cycle. For example, 1 month to have monthly payments.\n       * Multiply `cycleDuration`'s `count` by `cycleCount` to get the subscription duration.\n       * Currently, only a value of `1` is supported.\n       */\n      cycleCount?: number | null;\n  }\n  /** A duration expressed in number of time units. */\n  interface Duration {\n      /** Number of days, months, weeks, or years in a single payment cycle. Currently limited to support only `1`. */\n      count?: number | null;\n      /** Unit of time for the cycle duration. */\n      unit?: PeriodUnit;\n  }\n  enum PeriodUnit {\n      /** Not defined. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Time unit is a day. */\n      DAY = \"DAY\",\n      /** Time unit is a week. */\n      WEEK = \"WEEK\",\n      /** Time unit is a month. */\n      MONTH = \"MONTH\",\n      /** Time unit is a year. */\n      YEAR = \"YEAR\"\n  }\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator. For example, `'3.99'`. Can't be negative. */\n      value?: string;\n      /** Currency code. Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. For example, `'USD'`. */\n      currency?: string;\n  }\n  interface FeeConfig {\n      /** Fee configuration. */\n      fee?: Fee;\n      /** The time this fee will be charged. */\n      appliedAt?: AppliedAt;\n  }\n  interface Fee {\n      /** Fee name */\n      name?: string;\n      /** Amount of fee to be charged */\n      amount?: string;\n  }\n  enum AppliedAt {\n      UNKNOWN_CHARGE_EVENT = \"UNKNOWN_CHARGE_EVENT\",\n      /** Will charge the fee on the first payment. If the order has a free trial, it will charge after the free trial. */\n      FIRST_PAYMENT = \"FIRST_PAYMENT\"\n  }\n  interface ListPublicPlansRequest {\n      /** Number of items to list. Defaults to `75`. See limits ([SDK](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/plans/list-public-plans) | [REST](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging)). */\n      limit?: number | null;\n      /** Number of items to skip. Defaults to `0`. See paging ([SDK](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/plans/list-public-plans) |[REST](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging)). */\n      offset?: number | null;\n      /** IDs of plans to list. Non-existent IDs are ignored and don't cause errors. You can specify a maximum of 100 IDs. */\n      planIds?: string[];\n  }\n  interface ListPublicPlansResponse {\n      /** List of public pricing plans. */\n      plans?: PublicPlan[];\n      /** Object containing paging-related data (such as the number of plans returned, the offset, and so on). */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  /** Public plan entity containing information about the pricing plan. Can be read by any site member or visitor. */\n  interface PublicPlan {\n      /** Plan ID. */\n      _id?: string;\n      /** Plan name. */\n      name?: string | null;\n      /** Plan description. */\n      description?: string | null;\n      /** What is included with this plan (for example, 1 weekly entrance to a specific class). */\n      perks?: StringList;\n      /** Plan price, payment schedule, and expiration. */\n      pricing?: Pricing;\n      /** Whether the plan is marked as primary. */\n      primary?: boolean;\n      /** Date plan was created. */\n      _createdDate?: Date | null;\n      /** Date plan was last updated. */\n      _updatedDate?: Date | null;\n      /** URL-friendly version of plan name. Unique across all plans in the same site. */\n      slug?: string | null;\n      /** Number of times the same buyer can purchase the plan. An empty value or a value of 0 means no limitation. */\n      maxPurchasesPerBuyer?: number | null;\n      /** Whether the buyer can start the plan at a later date. Defaults to false. */\n      allowFutureStartDate?: boolean | null;\n      /** Whether the buyer is allowed to cancel their plan. Defaults to false. */\n      buyerCanCancel?: boolean | null;\n      /** Any terms and conditions that apply to the plan. This information is displayed during checkout. */\n      termsAndConditions?: string | null;\n      /**\n       * Client data such as the plan's cover image, terms & conditions settings.\n       * @internal\n       */\n      clientData?: Record<string, string>;\n      /**\n       * ID of the form associated with the plan at checkout.\n       *\n       * Learn more about [forms](https://support.wix.com/en/article/wix-forms-an-overview).\n       */\n      formId?: string | null;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryPublicPlansRequest {\n      /** Query options. */\n      query?: QueryV2;\n  }\n  interface QueryV2 {\n      /** A filter object. See supported fields and operators ([SDK](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/plans/query-public-plans) | [REST](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans/filter-and-sort#wix-pricing-plans_pricing-plans_plans_filter-and-sort_query-public-plans)). */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]. */\n      sort?: Sorting[];\n      /** Pointer to page of results using offset. Can't be used together with 'cursorPaging'. */\n      paging?: Paging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryPublicPlansResponse {\n      /** List of public pricing plans that match the specified query. */\n      plans?: PublicPlan[];\n      /** Object containing paging-related data (such as the number of plans returned, the offset, and so on). */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface GetPlanRequest {\n      /** Plan ID. */\n      _id: string;\n  }\n  interface GetPlanResponse {\n      /** Pricing plan. */\n      plan?: Plan;\n  }\n  interface ListPlansRequest {\n      /** Archived filter. Defaults to `ACTIVE` (not archived) only. */\n      archived?: ArchivedFilter;\n      /** Visibility filter. Defaults to `PUBLIC_AND_HIDDEN` (meaning, both are listed). */\n      public?: PublicFilter;\n      /** Number of pricing plans to list. Defaults to `75`. */\n      limit?: number | null;\n      /** Number of pricing plans to skip. Defaults to `0`. */\n      offset?: number | null;\n      /** IDs of plans to list. If non-existent IDs are specified, they are ignored and don't cause errors. If no IDs are specified, all public and hidden plans are listed according to the order displayed in a site's dashboard (which you can set with Arrange Plans). You can specify a maximum of 100 IDs. */\n      planIds?: string[];\n      /**\n       * Plan name for filtering. Also checks for and includes partial matches.\n       * @internal\n       */\n      name?: string | null;\n      /**\n       * Filters for free plans only.\n       * @internal\n       */\n      free?: boolean | null;\n  }\n  enum ArchivedFilter {\n      /** Returns all plans that are active. */\n      ACTIVE = \"ACTIVE\",\n      /** Returns all plans that are archived. */\n      ARCHIVED = \"ARCHIVED\",\n      /** Returns all plans that are active and archived. */\n      ARCHIVED_AND_ACTIVE = \"ARCHIVED_AND_ACTIVE\"\n  }\n  enum PublicFilter {\n      /** Returns all public and hidden plans. */\n      PUBLIC_AND_HIDDEN = \"PUBLIC_AND_HIDDEN\",\n      /** Returns only public plans. */\n      PUBLIC = \"PUBLIC\",\n      /** Returns only hidden plans. */\n      HIDDEN = \"HIDDEN\"\n  }\n  interface ListPlansResponse {\n      /** List of all public and hidden pricing plans. */\n      plans?: Plan[];\n      /** Object containing paging-related data (such as the number of plans returned, the offset, and so on). */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface GetPlanStatsRequest {\n  }\n  interface GetPlanStatsResponse {\n      /** Total number of plans created, including active plans (both public and hidden) and archived plans. */\n      totalPlans?: number;\n  }\n  interface CreatePlanRequest {\n      /** Plan details. */\n      plan: Plan;\n  }\n  interface CreatePlanResponse {\n      /** Created plan. */\n      plan?: Plan;\n  }\n  interface UpdatePlanRequest {\n      /** ID of the plan to update. */\n      plan: Plan;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdatePlanResponse {\n      /** Updated plan. */\n      plan?: Plan;\n  }\n  interface BuyerCanCancelUpdated {\n      /** Pricing plan. */\n      plan?: Plan;\n  }\n  interface SetPlanVisibilityRequest {\n      /** The ID of the plan to either display or hide on a site page. */\n      _id: string;\n      /** Whether a plan is visible to members and site visitors. Updates the `public` field. */\n      visible: boolean;\n  }\n  interface SetPlanVisibilityResponse {\n      /** Pricing plan. */\n      plan?: Plan;\n  }\n  interface MakePlanPrimaryRequest {\n      /** Pricing plan ID. */\n      _id: string;\n  }\n  interface MakePlanPrimaryResponse {\n      /** Pricing plan. */\n      plan?: Plan;\n  }\n  interface ClearPrimaryRequest {\n  }\n  interface ClearPrimaryResponse {\n  }\n  interface ArchivePlanRequest {\n      /** ID of the active plan to archive. */\n      _id: string;\n  }\n  interface ArchivePlanResponse {\n      /** Archived plan. */\n      plan?: Plan;\n  }\n  interface PlanArchived {\n      /** Pricing plan. */\n      plan?: Plan;\n  }\n  interface BulkArchivePlanRequest {\n      /** List of Plan IDs to archive. */\n      ids: string[];\n      /** Set to `true` to return the `Plan` entity in the response. */\n      returnFullEntity?: boolean;\n  }\n  interface BulkArchivePlanResponse {\n      /** Plans to be archived. */\n      results?: BulkPlanResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkPlanResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Pricing plan. */\n      plan?: Plan;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ArrangePlansRequest {\n      /** IDs of all non-archived plans in the order you want them arranged. */\n      ids: string[];\n  }\n  interface ArrangePlansResponse {\n  }\n  interface CountPlansRequest {\n      /** The filter. */\n      filter?: Record<string, any> | null;\n      /** If true, counts only visible plans (visible and not archived). If no value is specified, all plans are counted. */\n      visibility?: boolean | null;\n  }\n  interface CountPlansResponse {\n      /** Number of plans in the response. */\n      count?: number;\n  }\n  interface GetPlansPremiumStatusRequest {\n  }\n  interface GetPlansPremiumStatusResponse {\n      /** True if a site has non-free, non-template plans. */\n      hasPaidPlans?: boolean;\n      /** True if a site has plans that were created before Pricing Plans became a premium app. */\n      hasOldPlans?: boolean;\n  }\n  interface SearchPlansRequest {\n      /** Query options. */\n      query?: QueryV2;\n      /** Search phrase for the plan name. */\n      searchPhrase?: string | null;\n  }\n  interface SearchPlansResponse {\n      /** List of pricing plans that match the specified filter and search phrase. */\n      plans?: Plan[];\n      /** Object containing paging-related data (such as the number of plans returned, the offset, and so on). */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a list of up to 100 public pricing plans. Public plans are visible plans that are available to site visitors and can be purchased.\n   * @public\n   * @param options - Options for filtering and paging the list of public plans.\n   * @permissionId PRICING_PLANS.READ_PUBLIC_PLANS\n   */\n  function listPublicPlans(options?: ListPublicPlansOptions): Promise<ListPublicPlansResponse>;\n  interface ListPublicPlansOptions {\n      /** Number of items to list. Defaults to `75`. See limits ([SDK](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/plans/list-public-plans) | [REST](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging)). */\n      limit?: number | null;\n      /** Number of items to skip. Defaults to `0`. See paging ([SDK](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/plans/list-public-plans) |[REST](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging)). */\n      offset?: number | null;\n      /** IDs of plans to list. Non-existent IDs are ignored and don't cause errors. You can specify a maximum of 100 IDs. */\n      planIds?: string[];\n  }\n  /**\n   * Creates a query to retrieve a list of public pricing plans.\n   *\n   *\n   * The `queryPublicPlans()` method builds a query to retrieve a list of up to 1,000 public plans and returns a [`PublicPlansQueryBuilder`](#plansquerybuilder) object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the [`find()`](#plansquerybuilder/find) method.\n   *\n   * You can refine the query by chaining `PublicPlansQueryBuilder` methods onto the query. `PublicPlansQueryBuilder` methods enable you to sort, filter, and control the results that `queryPublicPlans()` returns.\n   *\n   * `queryPublicPlans()` runs with the following `PublicPlansQueryBuilder` defaults that you can override:\n   * - [`skip`](#plansquerybuilder/skip): `0`\n   * - [`limit`](#plansquerybuilder/limit): `50`\n   *\n   * The methods that are chained to `queryPublicPlans()` are applied in the order they are called. For example, if you sort on the `_createdDate` property in ascending order and then on the `_id` property in ascending order, the results are sorted first by the created date of the items and then, if there are multiple results with the same date, the items are sorted by `_id` in ascending order, per created date value.\n   *\n   * The following `PublicPlansQueryBuilder` methods are supported for the `queryPublicPlans()` method. For a full description of the Plans object, see the object returned for the [`items`](#plansqueryresult/items) property in [`PublicPlansQueryResult`](#plansqueryresult).\n   * @public\n   * @permissionId PRICING_PLANS.READ_PUBLIC_PLANS\n   */\n  function queryPublicPlans(): PlansQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface PlansQueryResult extends QueryOffsetResult {\n      items: PublicPlan[];\n      query: PlansQueryBuilder;\n      next: () => Promise<PlansQueryResult>;\n      prev: () => Promise<PlansQueryResult>;\n  }\n  interface PlansQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'primary' | '_createdDate' | '_updatedDate' | 'slug', value: any) => PlansQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'primary' | '_createdDate' | '_updatedDate' | 'slug', value: any) => PlansQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => PlansQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => PlansQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => PlansQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => PlansQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: '_id' | 'slug', value: string) => PlansQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: '_id' | 'primary' | '_createdDate' | '_updatedDate' | 'slug', value: any[]) => PlansQueryBuilder;\n      in: (propertyName: '_id' | 'primary' | '_createdDate' | '_updatedDate' | 'slug', value: any) => PlansQueryBuilder;\n      exists: (propertyName: '_id' | 'primary' | '_createdDate' | '_updatedDate' | 'slug', value: boolean) => PlansQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | 'primary' | '_createdDate' | '_updatedDate' | 'slug'>) => PlansQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | 'primary' | '_createdDate' | '_updatedDate' | 'slug'>) => PlansQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => PlansQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => PlansQueryBuilder;\n      find: () => Promise<PlansQueryResult>;\n  }\n  /**\n   * Retrieves a pricing plan by ID.\n   * @param _id - Plan ID.\n   * @public\n   * @requiredField _id\n   * @permissionId PRICING_PLANS.READ_PLANS\n   * @adminMethod\n   * @returns Pricing plan.\n   */\n  function getPlan(_id: string): Promise<Plan>;\n  /**\n   * Retrieves a list of up to 100 pricing plans (including public, hidden, and archived plans).\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options for filtering and paging the list of plans.\n   * @permissionId PRICING_PLANS.READ_PLANS\n   * @adminMethod\n   */\n  function listPlans(options?: ListPlansOptions): Promise<ListPlansResponse>;\n  interface ListPlansOptions {\n      /** Archived filter. Defaults to `ACTIVE` (not archived) only. */\n      archived?: ArchivedFilter;\n      /** Visibility filter. Defaults to `PUBLIC_AND_HIDDEN` (meaning, both are listed). */\n      public?: PublicFilter;\n      /** Number of pricing plans to list. Defaults to `75`. */\n      limit?: number | null;\n      /** Number of pricing plans to skip. Defaults to `0`. */\n      offset?: number | null;\n      /** IDs of plans to list. If non-existent IDs are specified, they are ignored and don't cause errors. If no IDs are specified, all public and hidden plans are listed according to the order displayed in a site's dashboard (which you can set with Arrange Plans). You can specify a maximum of 100 IDs. */\n      planIds?: string[];\n      /**\n       * Plan name for filtering. Also checks for and includes partial matches.\n       * @internal\n       */\n      name?: string | null;\n      /**\n       * Filters for free plans only.\n       * @internal\n       */\n      free?: boolean | null;\n  }\n  /**\n   * Gets statistics about the pricing plans. Currently provides only the total number of pricing plans, including archived plans.\n   * @public\n   * @permissionId PRICING_PLANS.READ_PLANS\n   * @adminMethod\n   */\n  function getPlanStats(): Promise<GetPlanStatsResponse>;\n  /**\n   * Creates a pricing plan. The specified `plan` object must contain a pricing model. A pricing model can be 1 of the following:\n   * - **A subscription**: A subscription with recurring payments and how often the plan occurs. Subscriptions can have free trial days.\n   * - **A plan that doesn't renew**: A single payment for a specific duration that doesn't renew.\n   * - **An unlimited plan**: A single payment for an unlimited amount of time (until canceled).\n   * Pricing plans are available to the Wix user in the Pricing Plans section in a site's dashboard.\n   * @public\n   * @requiredField plan\n   * @requiredField plan.name\n   * @requiredField plan.pricing\n   * @requiredField plan.pricing.singlePaymentForDuration.count\n   * @requiredField plan.pricing.subscription.cycleCount\n   * @requiredField plan.pricing.subscription.cycleDuration\n   * @requiredField plan.pricing.subscription.cycleDuration.count\n   * @param plan - Information for the plan being created.\n   * @permissionId PRICING_PLANS.MANAGE_PLANS\n   * @adminMethod\n   * @returns Created plan.\n   */\n  function createPlan(plan: Plan): Promise<Plan>;\n  /**\n   * Updates a pricing plan.\n   * Updating a plan doesn't impact existing orders made for the plan. All orders keep the details of the original plan that was active at the time of purchase.\n   * @public\n   * @requiredField _id\n   * @requiredField plan\n   * @param _id - ID of the plan to update.\n   * @param options - Options for updating the plan.\n   * @permissionId PRICING_PLANS.MANAGE_PLANS\n   * @adminMethod\n   * @returns Updated plan.\n   */\n  function updatePlan(_id: string, plan: UpdatePlan, options?: UpdatePlanOptions): Promise<Plan>;\n  interface UpdatePlan {\n      /**\n       * Plan ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Plan name. */\n      name?: string | null;\n      /** Plan description. */\n      description?: string | null;\n      /** List of text strings that promote what is included with this plan. For example, \"Plenty of parking\" or \"Free gift on your birthday.\" */\n      perks?: StringList;\n      /** Plan price, payment schedule, and expiration. */\n      pricing?: Pricing;\n      /** Whether the plan is public (visible to site visitors and members). */\n      public?: boolean | null;\n      /**\n       * Whether the plan is archived. Archived plans are not visible and can't be purchased anymore, but existing purchases remain in effect.\n       * @readonly\n       */\n      archived?: boolean;\n      /**\n       * Whether the plan is marked as primary.\n       * @readonly\n       */\n      primary?: boolean;\n      /**\n       * Whether the plan has any orders (including pending and unpaid orders).\n       * @readonly\n       */\n      hasOrders?: boolean;\n      /**\n       * Date plan was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date plan was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * URL-friendly version of plan name. Unique across all plans in the same site.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Number of times the same buyer can purchase the plan. Currently limited to support:\n       * - Empty value or a value of `0`, meaning no limitation.\n       * - Value of `1`, meaning limited to 1 purchase per buyer.\n       */\n      maxPurchasesPerBuyer?: number | null;\n      /** Whether the buyer can start the plan at a later date. Defaults to false. */\n      allowFutureStartDate?: boolean | null;\n      /**\n       * Whether the buyer is allowed to cancel their plan. Defaults to false.\n       * If false, calling Request Cancellation returns an error.\n       */\n      buyerCanCancel?: boolean | null;\n      /** Any terms and conditions that apply to the plan. This information is displayed during checkout. */\n      termsAndConditions?: string | null;\n      /**\n       * Client data such as the plan's cover image, terms & conditions settings.\n       * @internal\n       */\n      clientData?: Record<string, string>;\n      /**\n       * ID of the form associated with the plan at checkout.\n       *\n       * Learn more about [forms](https://support.wix.com/en/article/wix-forms-an-overview).\n       */\n      formId?: string | null;\n  }\n  interface UpdatePlanOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Sets visibility for pricing plans. Visible plans are considered public plans.\n   * By default, pricing plans are public, meaning they are visible. Plans can be hidden so that site members and visitors can't choose them.\n   * As opposed to archiving, setting visibility can be reversed. This means that a public plan can be hidden, and a hidden plan can be made public (visible). (An archived plan always remains archived and can't be made active again.)\n   * Changing a plan’s visibility doesn't impact existing orders for the plan. All orders for hidden plans are still active and keep their perks.\n   * @param visible - Whether a plan is visible to members and site visitors. Updates the `public` field.\n   * @public\n   * @requiredField _id\n   * @requiredField visible\n   * @param _id - The ID of the plan to either display or hide on the site page.\n   * @param options - Plan visibility options.\n   * @permissionId PRICING_PLANS.MANAGE_PLANS\n   * @adminMethod\n   */\n  function setPlanVisibility(_id: string, visible: boolean): Promise<SetPlanVisibilityResponse>;\n  /**\n   * Marks a pricing plan as the primary pricing plan. When viewing pricing plans on a site, the primary plan is highlighted with a customizable ribbon. Only a single plan can be marked as a primary plan at any given time. If there is an existing plan marked as primary, calling Make Plan Primary causes the existing primary plan to lose its primary status.\n   * @public\n   * @requiredField _id\n   * @param _id - ID of the pricing plan to set as the primary plan.\n   * @permissionId PRICING_PLANS.MANAGE_PLANS\n   * @adminMethod\n   */\n  function makePlanPrimary(_id: string): Promise<MakePlanPrimaryResponse>;\n  /**\n   * Sets all pricing plans as not primary. When viewing pricing plans on a site, no plan is highlighted with a customizable ribbon.\n   * @public\n   * @permissionId PRICING_PLANS.MANAGE_PLANS\n   * @adminMethod\n   */\n  function clearPrimary(): Promise<void>;\n  /**\n   * Archives a single plan.\n   * When a plan is archived, it's no longer visible as a public plan that can be chosen by site members or visitors.\n   * This is because the plan's `public` property is automatically set to `false`.\n   * Archived plans can't be purchased or reactivated.\n   * Plan archiving doesn't impact existing orders made for the plan. All orders for the plan are still active and keep their perks, payment options, and terms.\n   * Wix users can see archived plans in a site's dashboard under **Pricing Plans -> Archived Plans**.\n   * > **Note:** An attempt to archive an already-archived plan throws an error.\n   * @public\n   * @requiredField _id\n   * @param _id - ID of the active plan to archive.\n   * @permissionId PRICING_PLANS.MANAGE_PLANS\n   * @adminMethod\n   */\n  function archivePlan(_id: string): Promise<ArchivePlanResponse>;\n  /**\n   * Archives multiple plans.\n   * See \"Archives a single plan\" for more information.\n   * @param ids - List of Plan IDs to archive.\n   * @internal\n   * @requiredField ids\n   * @permissionId PRICING_PLANS.MANAGE_PLANS\n   * @adminMethod\n   */\n  function bulkArchivePlan(ids: string[], options?: BulkArchivePlanOptions): Promise<BulkArchivePlanResponse>;\n  interface BulkArchivePlanOptions {\n      /** Set to `true` to return the `Plan` entity in the response. */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Changes the display order of the plans on a site and in a site's dashboard.\n   * To rearrange the order of the plans, provide a list of plan IDs in the desired order.\n   * Include all public and hidden plans in the list you provide.\n   * Make sure to provide **all** non-archived plan IDs to avoid unpredictable results.\n   * @param ids - IDs of all non-archived plans in the order you want them arranged.\n   * @internal\n   * @requiredField ids\n   * @permissionId PRICING_PLANS.MANAGE_PLANS\n   * @adminMethod\n   */\n  function arrangePlans(ids: string[]): Promise<void>;\n  /**\n   * Returns a count of plans for a site.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId PRICING_PLANS.READ_PLANS\n   * @adminMethod\n   */\n  function countPlans(options?: CountPlansOptions): Promise<CountPlansResponse>;\n  interface CountPlansOptions {\n      /** The filter. */\n      filter?: Record<string, any> | null;\n      /** If true, counts only visible plans (visible and not archived). If no value is specified, all plans are counted. */\n      visibility?: boolean | null;\n  }\n  /**\n   * Checks whether a site has non-free plans and plans created before Pricing Plans became premium.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId PRICING_PLANS.READ_PLANS\n   * @adminMethod\n   */\n  function getPlansPremiumStatus(): Promise<GetPlansPremiumStatusResponse>;\n  /**\n   * Retrieves a list of plans matching the filter and search phrase for the name.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId PRICING_PLANS.READ_PLANS\n   * @adminMethod\n   */\n  function searchPlans(options?: SearchPlansOptions): Promise<SearchPlansResponse>;\n  interface SearchPlansOptions {\n      /** Query options. */\n      query?: QueryV2;\n      /** Search phrase for the plan name. */\n      searchPhrase?: string | null;\n  }\n  \n  type pricingPlansV2Plan_universal_d_Plan = Plan;\n  type pricingPlansV2Plan_universal_d_StringList = StringList;\n  type pricingPlansV2Plan_universal_d_Pricing = Pricing;\n  type pricingPlansV2Plan_universal_d_PricingPricingModelOneOf = PricingPricingModelOneOf;\n  type pricingPlansV2Plan_universal_d_Recurrence = Recurrence;\n  type pricingPlansV2Plan_universal_d_Duration = Duration;\n  type pricingPlansV2Plan_universal_d_PeriodUnit = PeriodUnit;\n  const pricingPlansV2Plan_universal_d_PeriodUnit: typeof PeriodUnit;\n  type pricingPlansV2Plan_universal_d_Money = Money;\n  type pricingPlansV2Plan_universal_d_FeeConfig = FeeConfig;\n  type pricingPlansV2Plan_universal_d_Fee = Fee;\n  type pricingPlansV2Plan_universal_d_AppliedAt = AppliedAt;\n  const pricingPlansV2Plan_universal_d_AppliedAt: typeof AppliedAt;\n  type pricingPlansV2Plan_universal_d_ListPublicPlansRequest = ListPublicPlansRequest;\n  type pricingPlansV2Plan_universal_d_ListPublicPlansResponse = ListPublicPlansResponse;\n  type pricingPlansV2Plan_universal_d_PublicPlan = PublicPlan;\n  type pricingPlansV2Plan_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type pricingPlansV2Plan_universal_d_Cursors = Cursors;\n  type pricingPlansV2Plan_universal_d_QueryPublicPlansRequest = QueryPublicPlansRequest;\n  type pricingPlansV2Plan_universal_d_QueryV2 = QueryV2;\n  type pricingPlansV2Plan_universal_d_Sorting = Sorting;\n  type pricingPlansV2Plan_universal_d_SortOrder = SortOrder;\n  const pricingPlansV2Plan_universal_d_SortOrder: typeof SortOrder;\n  type pricingPlansV2Plan_universal_d_Paging = Paging;\n  type pricingPlansV2Plan_universal_d_QueryPublicPlansResponse = QueryPublicPlansResponse;\n  type pricingPlansV2Plan_universal_d_GetPlanRequest = GetPlanRequest;\n  type pricingPlansV2Plan_universal_d_GetPlanResponse = GetPlanResponse;\n  type pricingPlansV2Plan_universal_d_ListPlansRequest = ListPlansRequest;\n  type pricingPlansV2Plan_universal_d_ArchivedFilter = ArchivedFilter;\n  const pricingPlansV2Plan_universal_d_ArchivedFilter: typeof ArchivedFilter;\n  type pricingPlansV2Plan_universal_d_PublicFilter = PublicFilter;\n  const pricingPlansV2Plan_universal_d_PublicFilter: typeof PublicFilter;\n  type pricingPlansV2Plan_universal_d_ListPlansResponse = ListPlansResponse;\n  type pricingPlansV2Plan_universal_d_GetPlanStatsRequest = GetPlanStatsRequest;\n  type pricingPlansV2Plan_universal_d_GetPlanStatsResponse = GetPlanStatsResponse;\n  type pricingPlansV2Plan_universal_d_CreatePlanRequest = CreatePlanRequest;\n  type pricingPlansV2Plan_universal_d_CreatePlanResponse = CreatePlanResponse;\n  type pricingPlansV2Plan_universal_d_UpdatePlanRequest = UpdatePlanRequest;\n  type pricingPlansV2Plan_universal_d_UpdatePlanResponse = UpdatePlanResponse;\n  type pricingPlansV2Plan_universal_d_BuyerCanCancelUpdated = BuyerCanCancelUpdated;\n  type pricingPlansV2Plan_universal_d_SetPlanVisibilityRequest = SetPlanVisibilityRequest;\n  type pricingPlansV2Plan_universal_d_SetPlanVisibilityResponse = SetPlanVisibilityResponse;\n  type pricingPlansV2Plan_universal_d_MakePlanPrimaryRequest = MakePlanPrimaryRequest;\n  type pricingPlansV2Plan_universal_d_MakePlanPrimaryResponse = MakePlanPrimaryResponse;\n  type pricingPlansV2Plan_universal_d_ClearPrimaryRequest = ClearPrimaryRequest;\n  type pricingPlansV2Plan_universal_d_ClearPrimaryResponse = ClearPrimaryResponse;\n  type pricingPlansV2Plan_universal_d_ArchivePlanRequest = ArchivePlanRequest;\n  type pricingPlansV2Plan_universal_d_ArchivePlanResponse = ArchivePlanResponse;\n  type pricingPlansV2Plan_universal_d_PlanArchived = PlanArchived;\n  type pricingPlansV2Plan_universal_d_BulkArchivePlanRequest = BulkArchivePlanRequest;\n  type pricingPlansV2Plan_universal_d_BulkArchivePlanResponse = BulkArchivePlanResponse;\n  type pricingPlansV2Plan_universal_d_BulkPlanResult = BulkPlanResult;\n  type pricingPlansV2Plan_universal_d_ItemMetadata = ItemMetadata;\n  type pricingPlansV2Plan_universal_d_ApplicationError = ApplicationError;\n  type pricingPlansV2Plan_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type pricingPlansV2Plan_universal_d_ArrangePlansRequest = ArrangePlansRequest;\n  type pricingPlansV2Plan_universal_d_ArrangePlansResponse = ArrangePlansResponse;\n  type pricingPlansV2Plan_universal_d_CountPlansRequest = CountPlansRequest;\n  type pricingPlansV2Plan_universal_d_CountPlansResponse = CountPlansResponse;\n  type pricingPlansV2Plan_universal_d_GetPlansPremiumStatusRequest = GetPlansPremiumStatusRequest;\n  type pricingPlansV2Plan_universal_d_GetPlansPremiumStatusResponse = GetPlansPremiumStatusResponse;\n  type pricingPlansV2Plan_universal_d_SearchPlansRequest = SearchPlansRequest;\n  type pricingPlansV2Plan_universal_d_SearchPlansResponse = SearchPlansResponse;\n  type pricingPlansV2Plan_universal_d_DomainEvent = DomainEvent;\n  type pricingPlansV2Plan_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type pricingPlansV2Plan_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type pricingPlansV2Plan_universal_d_RestoreInfo = RestoreInfo;\n  type pricingPlansV2Plan_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type pricingPlansV2Plan_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type pricingPlansV2Plan_universal_d_ActionEvent = ActionEvent;\n  type pricingPlansV2Plan_universal_d_MessageEnvelope = MessageEnvelope;\n  type pricingPlansV2Plan_universal_d_IdentificationData = IdentificationData;\n  type pricingPlansV2Plan_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type pricingPlansV2Plan_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const pricingPlansV2Plan_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const pricingPlansV2Plan_universal_d_listPublicPlans: typeof listPublicPlans;\n  type pricingPlansV2Plan_universal_d_ListPublicPlansOptions = ListPublicPlansOptions;\n  const pricingPlansV2Plan_universal_d_queryPublicPlans: typeof queryPublicPlans;\n  type pricingPlansV2Plan_universal_d_PlansQueryResult = PlansQueryResult;\n  type pricingPlansV2Plan_universal_d_PlansQueryBuilder = PlansQueryBuilder;\n  const pricingPlansV2Plan_universal_d_getPlan: typeof getPlan;\n  const pricingPlansV2Plan_universal_d_listPlans: typeof listPlans;\n  type pricingPlansV2Plan_universal_d_ListPlansOptions = ListPlansOptions;\n  const pricingPlansV2Plan_universal_d_getPlanStats: typeof getPlanStats;\n  const pricingPlansV2Plan_universal_d_createPlan: typeof createPlan;\n  const pricingPlansV2Plan_universal_d_updatePlan: typeof updatePlan;\n  type pricingPlansV2Plan_universal_d_UpdatePlan = UpdatePlan;\n  type pricingPlansV2Plan_universal_d_UpdatePlanOptions = UpdatePlanOptions;\n  const pricingPlansV2Plan_universal_d_setPlanVisibility: typeof setPlanVisibility;\n  const pricingPlansV2Plan_universal_d_makePlanPrimary: typeof makePlanPrimary;\n  const pricingPlansV2Plan_universal_d_clearPrimary: typeof clearPrimary;\n  const pricingPlansV2Plan_universal_d_archivePlan: typeof archivePlan;\n  const pricingPlansV2Plan_universal_d_bulkArchivePlan: typeof bulkArchivePlan;\n  type pricingPlansV2Plan_universal_d_BulkArchivePlanOptions = BulkArchivePlanOptions;\n  const pricingPlansV2Plan_universal_d_arrangePlans: typeof arrangePlans;\n  const pricingPlansV2Plan_universal_d_countPlans: typeof countPlans;\n  type pricingPlansV2Plan_universal_d_CountPlansOptions = CountPlansOptions;\n  const pricingPlansV2Plan_universal_d_getPlansPremiumStatus: typeof getPlansPremiumStatus;\n  const pricingPlansV2Plan_universal_d_searchPlans: typeof searchPlans;\n  type pricingPlansV2Plan_universal_d_SearchPlansOptions = SearchPlansOptions;\n  namespace pricingPlansV2Plan_universal_d {\n    export {\n      pricingPlansV2Plan_universal_d_Plan as Plan,\n      pricingPlansV2Plan_universal_d_StringList as StringList,\n      pricingPlansV2Plan_universal_d_Pricing as Pricing,\n      pricingPlansV2Plan_universal_d_PricingPricingModelOneOf as PricingPricingModelOneOf,\n      pricingPlansV2Plan_universal_d_Recurrence as Recurrence,\n      pricingPlansV2Plan_universal_d_Duration as Duration,\n      pricingPlansV2Plan_universal_d_PeriodUnit as PeriodUnit,\n      pricingPlansV2Plan_universal_d_Money as Money,\n      pricingPlansV2Plan_universal_d_FeeConfig as FeeConfig,\n      pricingPlansV2Plan_universal_d_Fee as Fee,\n      pricingPlansV2Plan_universal_d_AppliedAt as AppliedAt,\n      pricingPlansV2Plan_universal_d_ListPublicPlansRequest as ListPublicPlansRequest,\n      pricingPlansV2Plan_universal_d_ListPublicPlansResponse as ListPublicPlansResponse,\n      pricingPlansV2Plan_universal_d_PublicPlan as PublicPlan,\n      pricingPlansV2Plan_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      pricingPlansV2Plan_universal_d_Cursors as Cursors,\n      pricingPlansV2Plan_universal_d_QueryPublicPlansRequest as QueryPublicPlansRequest,\n      pricingPlansV2Plan_universal_d_QueryV2 as QueryV2,\n      pricingPlansV2Plan_universal_d_Sorting as Sorting,\n      pricingPlansV2Plan_universal_d_SortOrder as SortOrder,\n      pricingPlansV2Plan_universal_d_Paging as Paging,\n      pricingPlansV2Plan_universal_d_QueryPublicPlansResponse as QueryPublicPlansResponse,\n      pricingPlansV2Plan_universal_d_GetPlanRequest as GetPlanRequest,\n      pricingPlansV2Plan_universal_d_GetPlanResponse as GetPlanResponse,\n      pricingPlansV2Plan_universal_d_ListPlansRequest as ListPlansRequest,\n      pricingPlansV2Plan_universal_d_ArchivedFilter as ArchivedFilter,\n      pricingPlansV2Plan_universal_d_PublicFilter as PublicFilter,\n      pricingPlansV2Plan_universal_d_ListPlansResponse as ListPlansResponse,\n      pricingPlansV2Plan_universal_d_GetPlanStatsRequest as GetPlanStatsRequest,\n      pricingPlansV2Plan_universal_d_GetPlanStatsResponse as GetPlanStatsResponse,\n      pricingPlansV2Plan_universal_d_CreatePlanRequest as CreatePlanRequest,\n      pricingPlansV2Plan_universal_d_CreatePlanResponse as CreatePlanResponse,\n      pricingPlansV2Plan_universal_d_UpdatePlanRequest as UpdatePlanRequest,\n      pricingPlansV2Plan_universal_d_UpdatePlanResponse as UpdatePlanResponse,\n      pricingPlansV2Plan_universal_d_BuyerCanCancelUpdated as BuyerCanCancelUpdated,\n      pricingPlansV2Plan_universal_d_SetPlanVisibilityRequest as SetPlanVisibilityRequest,\n      pricingPlansV2Plan_universal_d_SetPlanVisibilityResponse as SetPlanVisibilityResponse,\n      pricingPlansV2Plan_universal_d_MakePlanPrimaryRequest as MakePlanPrimaryRequest,\n      pricingPlansV2Plan_universal_d_MakePlanPrimaryResponse as MakePlanPrimaryResponse,\n      pricingPlansV2Plan_universal_d_ClearPrimaryRequest as ClearPrimaryRequest,\n      pricingPlansV2Plan_universal_d_ClearPrimaryResponse as ClearPrimaryResponse,\n      pricingPlansV2Plan_universal_d_ArchivePlanRequest as ArchivePlanRequest,\n      pricingPlansV2Plan_universal_d_ArchivePlanResponse as ArchivePlanResponse,\n      pricingPlansV2Plan_universal_d_PlanArchived as PlanArchived,\n      pricingPlansV2Plan_universal_d_BulkArchivePlanRequest as BulkArchivePlanRequest,\n      pricingPlansV2Plan_universal_d_BulkArchivePlanResponse as BulkArchivePlanResponse,\n      pricingPlansV2Plan_universal_d_BulkPlanResult as BulkPlanResult,\n      pricingPlansV2Plan_universal_d_ItemMetadata as ItemMetadata,\n      pricingPlansV2Plan_universal_d_ApplicationError as ApplicationError,\n      pricingPlansV2Plan_universal_d_BulkActionMetadata as BulkActionMetadata,\n      pricingPlansV2Plan_universal_d_ArrangePlansRequest as ArrangePlansRequest,\n      pricingPlansV2Plan_universal_d_ArrangePlansResponse as ArrangePlansResponse,\n      pricingPlansV2Plan_universal_d_CountPlansRequest as CountPlansRequest,\n      pricingPlansV2Plan_universal_d_CountPlansResponse as CountPlansResponse,\n      pricingPlansV2Plan_universal_d_GetPlansPremiumStatusRequest as GetPlansPremiumStatusRequest,\n      pricingPlansV2Plan_universal_d_GetPlansPremiumStatusResponse as GetPlansPremiumStatusResponse,\n      pricingPlansV2Plan_universal_d_SearchPlansRequest as SearchPlansRequest,\n      pricingPlansV2Plan_universal_d_SearchPlansResponse as SearchPlansResponse,\n      pricingPlansV2Plan_universal_d_DomainEvent as DomainEvent,\n      pricingPlansV2Plan_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      pricingPlansV2Plan_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      pricingPlansV2Plan_universal_d_RestoreInfo as RestoreInfo,\n      pricingPlansV2Plan_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      pricingPlansV2Plan_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      pricingPlansV2Plan_universal_d_ActionEvent as ActionEvent,\n      pricingPlansV2Plan_universal_d_MessageEnvelope as MessageEnvelope,\n      pricingPlansV2Plan_universal_d_IdentificationData as IdentificationData,\n      pricingPlansV2Plan_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      pricingPlansV2Plan_universal_d_WebhookIdentityType as WebhookIdentityType,\n      pricingPlansV2Plan_universal_d_listPublicPlans as listPublicPlans,\n      pricingPlansV2Plan_universal_d_ListPublicPlansOptions as ListPublicPlansOptions,\n      pricingPlansV2Plan_universal_d_queryPublicPlans as queryPublicPlans,\n      pricingPlansV2Plan_universal_d_PlansQueryResult as PlansQueryResult,\n      pricingPlansV2Plan_universal_d_PlansQueryBuilder as PlansQueryBuilder,\n      pricingPlansV2Plan_universal_d_getPlan as getPlan,\n      pricingPlansV2Plan_universal_d_listPlans as listPlans,\n      pricingPlansV2Plan_universal_d_ListPlansOptions as ListPlansOptions,\n      pricingPlansV2Plan_universal_d_getPlanStats as getPlanStats,\n      pricingPlansV2Plan_universal_d_createPlan as createPlan,\n      pricingPlansV2Plan_universal_d_updatePlan as updatePlan,\n      pricingPlansV2Plan_universal_d_UpdatePlan as UpdatePlan,\n      pricingPlansV2Plan_universal_d_UpdatePlanOptions as UpdatePlanOptions,\n      pricingPlansV2Plan_universal_d_setPlanVisibility as setPlanVisibility,\n      pricingPlansV2Plan_universal_d_makePlanPrimary as makePlanPrimary,\n      pricingPlansV2Plan_universal_d_clearPrimary as clearPrimary,\n      pricingPlansV2Plan_universal_d_archivePlan as archivePlan,\n      pricingPlansV2Plan_universal_d_bulkArchivePlan as bulkArchivePlan,\n      pricingPlansV2Plan_universal_d_BulkArchivePlanOptions as BulkArchivePlanOptions,\n      pricingPlansV2Plan_universal_d_arrangePlans as arrangePlans,\n      pricingPlansV2Plan_universal_d_countPlans as countPlans,\n      pricingPlansV2Plan_universal_d_CountPlansOptions as CountPlansOptions,\n      pricingPlansV2Plan_universal_d_getPlansPremiumStatus as getPlansPremiumStatus,\n      pricingPlansV2Plan_universal_d_searchPlans as searchPlans,\n      pricingPlansV2Plan_universal_d_SearchPlansOptions as SearchPlansOptions,\n    };\n  }\n  \n  export { pricingPlansV2Order_universal_d as orders, pricingPlansV2Plan_universal_d as plans };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-members.v2.d.ts",
      "content": "declare module \"wix-members.v2\" {\n  interface Badge {\n      /**\n       * Badge ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Text displayed on the badge in the Wix UI. */\n      title?: string | null;\n      /** Badge description. */\n      description?: string | null;\n      /**\n       * Badge background color in hexadecimal RGB format. Uppercase letters only.\n       *\n       * Default: `#796EFF ` (purple).\n       */\n      backgroundColor?: string | null;\n      /**\n       * Badge text color in hexadecimal RGB format. Uppercase letters only.\n       *\n       * Default: `\"#FFFFFF\"` (white).\n       */\n      textColor?: string | null;\n      /**\n       * Badge icon as an SVG image. One of:\n       *\n       * - An external web URL in the following format: `http(s)://<image url>`.\n       * - The [source URL](https://www.wix.com/velo/reference/wix-media-backend/mediamanager-obj/getfileurl) for a Wix Media Manager file. Wix Media Manager file names in a `wix:image://...` format are not supported.\n       */\n      icon?: string | null;\n      /**\n       * Whether the badge has special permissions\n       * to access specific members-only pages.\n       * When `true`, members with the badge receive special permissions,\n       * and site contributors can\n       * [manage badge permissions](https://support.wix.com/en/article/setting-permissions-for-a-member-badge)\n       * in the Dashboard.\n       * When `false`, members with the badge receive no special permissions.\n       */\n      permissionsEnabled?: boolean | null;\n      /**\n       * Slugified name. Used to represent the badge in a URL.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Date the badge was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the badge was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface CreateBadgeRequest {\n      /** Badge to create. */\n      badge: Badge;\n  }\n  interface CreateBadgeResponse {\n      /** Created badge. */\n      badge?: Badge;\n  }\n  interface UpdateBadgeRequest {\n      /** Badge to update. */\n      badge: Badge;\n  }\n  interface UpdateBadgeResponse {\n      /** Updated badge. */\n      badge?: Badge;\n  }\n  interface ListBadgesRequest {\n      /** Pagination options. */\n      paging?: Paging$2;\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListBadgesResponse {\n      /** List of badges. */\n      badges?: Badge[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadata$1;\n  }\n  interface PagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryBadgesRequest {\n      /**\n       * Filter options.\n       * Currently supported fields for filtering:\n       * - id\n       * - title\n       * - slug\n       * For more details on how to use filter, see [API Query Language: The Filter Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sorting options.\n       * For more details on how to use sorting,\n       * see [API Query Language: The Sort Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-sort-section)\n       */\n      sort?: Sorting$2[];\n      /** Pagination options.  */\n      paging?: Paging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryBadgesResponse {\n      /** List of badges. */\n      badges?: Badge[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadata$1;\n  }\n  interface GetBadgeRequest {\n      /** Badge ID. */\n      _id: string;\n  }\n  interface GetBadgeResponse {\n      /** Badge. */\n      badge?: Badge;\n  }\n  interface DeleteBadgeRequest {\n      /** Badge ID. */\n      _id: string;\n  }\n  interface DeleteBadgeResponse {\n  }\n  interface CountBadgesRequest {\n      /**\n       * Filter options.\n       * Currently supported fields for filtering:\n       * - id\n       * - title\n       * - slug\n       * For more details on how to use filter, see [API Query Language: The Filter Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n  }\n  interface CountBadgesResponse {\n      /** Badge count. */\n      count?: string;\n  }\n  interface AssignBadgeRequest {\n      /** Badge ID. */\n      _id: string;\n      /** List of member IDs to assign to the badge. */\n      memberIds: string[];\n  }\n  interface AssignBadgeResponse {\n      /** List of member IDs assigned to the badge. */\n      memberIds?: string[];\n  }\n  interface BadgeAssigned {\n      /** ID of the member who received the badge. */\n      memberId?: string;\n  }\n  interface AssignBadgesRequest {\n      /** List of badge IDs to assign to the member. */\n      ids: string[];\n      /** Member ID. */\n      memberId: string;\n  }\n  interface AssignBadgesResponse {\n      /** List of badge IDs newly assigned to the member. */\n      ids?: string[];\n  }\n  interface UnassignBadgeRequest {\n      /** Badge ID. */\n      _id: string;\n      /** List of members to remove. */\n      memberIds: string[];\n  }\n  interface UnassignBadgeResponse {\n  }\n  interface BadgeUnassigned {\n      /** ID of the member who lost the badge. */\n      memberId?: string;\n  }\n  interface ListMembersRequest$2 {\n      /** Badge ID. */\n      _id: string;\n      /** Pagination options. */\n      paging?: Paging$2;\n  }\n  interface ListMembersResponse$2 {\n      /** Member IDs assigned to the badge. */\n      memberIds?: string[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadata$1;\n  }\n  interface ListMembersBadgeIdsRequest {\n      /** List of members. */\n      memberIds: string[];\n  }\n  interface ListMembersBadgeIdsResponse {\n      /** List of members and the badges they're assigned to. */\n      memberBadgeIds?: MemberBadgeIds[];\n  }\n  interface MemberBadgeIds {\n      /** Member ID. */\n      memberId?: string;\n      /** List of badges the member is assigned to. */\n      badgeIds?: string[];\n  }\n  interface GetMemberCountsPerBadgeRequest {\n  }\n  interface GetMemberCountsPerBadgeResponse {\n      /** List of badges and counts of members who have each badge. */\n      badgeMemberCounts?: BadgeMemberCount[];\n  }\n  interface BadgeMemberCount {\n      /** Badge ID. */\n      badgeId?: string;\n      /** Badge member count. */\n      memberCount?: number;\n  }\n  interface UpdateBadgesDisplayOrderRequest {\n      /** Ordered badge IDs. */\n      badgeIds: string[];\n  }\n  interface UpdateBadgesDisplayOrderResponse {\n      /** Reordered badges list. */\n      badges?: Badge[];\n  }\n  interface ListMembersWithBadgesRequest {\n      /** Cursor paging options */\n      paging?: CursorPaging$1;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListMembersWithBadgesResponse {\n      /** List of members */\n      memberIds?: string[];\n      /** Metadata for the paginated results */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a badge.\n   *\n   *\n   * The `createBadge()` function returns a Promise that resolves to the newly created badge.\n   *\n   * New badges do not have any badge permissions by default. You can set [badge permissions](https://support.wix.com/en/article/setting-permissions-for-a-member-badge) from the Badges page in the Dashboard.\n   *\n   * If `backgroundColor` or `textColor` are not specified, they default to `\"#796EFF\"` (purple) and `\"#FFFFFF\"` (white) respectively.\n   * @param badge - Badge to create.\n   * @public\n   * @requiredField badge\n   * @requiredField badge.backgroundColor\n   * @requiredField badge.textColor\n   * @requiredField badge.title\n   * @permissionId BADGES.BADGE_CREATE\n   * @adminMethod\n   * @returns Created badge.\n   */\n  function createBadge(badge: Badge): Promise<Badge>;\n  /**\n   * Updates a badge.\n   *\n   * The `updateBadge()` function returns a Promise that resolves to the updated badge.\n   *\n   * Only the properties passed in the `BadgeInfo` object will be updated. All other properties will remain the same.\n   *\n   * Because the badge `slug` is based on the badge `title`, if you change `title`, `slug` is updated accordingly.\n   *\n   * `badgeId` must be an ID from your site's `Members/Badges` collection. Typically, you retrieve the ID from the collection using a query or through a dataset.\n   * @param _id - Badge ID.\n   * @public\n   * @requiredField _id\n   * @requiredField badge\n   * @permissionId BADGES.BADGE_UPDATE\n   * @adminMethod\n   * @returns Updated badge.\n   */\n  function updateBadge(_id: string, badge: UpdateBadge): Promise<Badge>;\n  interface UpdateBadge {\n      /**\n       * Badge ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Text displayed on the badge in the Wix UI. */\n      title?: string | null;\n      /** Badge description. */\n      description?: string | null;\n      /**\n       * Badge background color in hexadecimal RGB format. Uppercase letters only.\n       *\n       * Default: `#796EFF ` (purple).\n       */\n      backgroundColor?: string | null;\n      /**\n       * Badge text color in hexadecimal RGB format. Uppercase letters only.\n       *\n       * Default: `\"#FFFFFF\"` (white).\n       */\n      textColor?: string | null;\n      /**\n       * Badge icon as an SVG image. One of:\n       *\n       * - An external web URL in the following format: `http(s)://<image url>`.\n       * - The [source URL](https://www.wix.com/velo/reference/wix-media-backend/mediamanager-obj/getfileurl) for a Wix Media Manager file. Wix Media Manager file names in a `wix:image://...` format are not supported.\n       */\n      icon?: string | null;\n      /**\n       * Whether the badge has special permissions\n       * to access specific members-only pages.\n       * When `true`, members with the badge receive special permissions,\n       * and site contributors can\n       * [manage badge permissions](https://support.wix.com/en/article/setting-permissions-for-a-member-badge)\n       * in the Dashboard.\n       * When `false`, members with the badge receive no special permissions.\n       */\n      permissionsEnabled?: boolean | null;\n      /**\n       * Slugified name. Used to represent the badge in a URL.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Date the badge was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the badge was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /**\n   * Lists the badges.\n   *\n   *\n   * The `listBadges` function returns a Promise that resolves when the badges are retrieved. Retrieves up to 1000 badges, given the requested paging. Default paging.limit is 100, paging.offset - 0.\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @public\n   * @permissionId BADGES.BADGE_READ\n   */\n  function listBadges(options?: ListBadgesOptions): Promise<ListBadgesResponse>;\n  interface ListBadgesOptions {\n      /** Pagination options.  */\n      paging?: Paging$2;\n  }\n  /**\n   * Retrieves up to 1000 badges, given the requested query options, paging, and sorting.\n   * Default `paging.limit` is 100, `paging.offset` - 0.\n   * For more information, see\n   * [API Query Language: The Paging Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-paging-section).\n   * @internal\n   * @permissionId BADGES.BADGE_READ\n   */\n  function queryBadges(options?: QueryBadgesOptions): Promise<QueryBadgesResponse>;\n  interface QueryBadgesOptions {\n      /**\n       * Filter options.\n       * Currently supported fields for filtering:\n       * - id\n       * - title\n       * - slug\n       * For more details on how to use filter, see [API Query Language: The Filter Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sorting options.\n       * For more details on how to use sorting,\n       * see [API Query Language: The Sort Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-sort-section)\n       */\n      sort?: Sorting$2[];\n      /** Pagination options. */\n      paging?: Paging$2;\n  }\n  /**\n   * Retrieves information about a badge.\n   *\n   *\n   * The `getBadge` function returns a Promise that resolves when the badge information is retrieved.\n   *\n   * The `_id` parameter must be an ID from your site's `Members/Badges` collection. Typically, you retrieve the ID from the collection using a query or through a dataset.\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param _id - Badge ID.\n   * @public\n   * @requiredField _id\n   * @permissionId BADGES.BADGE_READ\n   * @returns Badge.\n   */\n  function getBadge(_id: string): Promise<Badge>;\n  /**\n   * Deletes a badge.\n   *\n   *\n   * The `deleteBadge()` function returns a Promise that resolves when the specified badge is deleted.\n   *\n   * The `badgeId` parameter must be an ID from your site's `Members/Badges` collection. Typically, you retrieve the ID from the collection using a query or through a dataset.\n   * @param _id - Badge ID.\n   * @public\n   * @requiredField _id\n   * @permissionId BADGES.BADGE_DELETE\n   * @adminMethod\n   */\n  function deleteBadge(_id: string): Promise<void>;\n  /**\n   * Retrieves the site's badge count, given the requested filtering.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BADGES.BADGE_READ\n   */\n  function countBadges(options?: CountBadgesOptions): Promise<CountBadgesResponse>;\n  interface CountBadgesOptions {\n      /**\n       * Filter options.\n       * Currently supported fields for filtering:\n       * - id\n       * - title\n       * - slug\n       * For more details on how to use filter, see [API Query Language: The Filter Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Assigns a badge to site members.\n   *\n   *\n   * The `assignBadge()` function returns a Promise that resolves when the specified badge is assigned to the specified members.\n   *\n   * The `badgeId` parameter must be an ID from your site's `Members/Badges` collection. Typically, you retrieve the ID from the collection using a query or through a dataset.\n   * @param _id - Badge ID.\n   * @param memberIds - List of member IDs to assign to the badge.\n   * @public\n   * @requiredField _id\n   * @requiredField memberIds\n   * @permissionId BADGES.BADGE_ASSIGN\n   * @adminMethod\n   */\n  function assignBadge(_id: string, memberIds: string[]): Promise<AssignBadgeResponse>;\n  /**\n   * Assigns multiple badges to the specified member.\n   * The member inherits the badges' permissions when they receive the badge, if applicable.\n   * Badge permissions are added to previous member permissions (they don't replace existing permissions).\n   * @param memberId - Member ID.\n   * @param ids - List of badge IDs to assign to the member.\n   * @internal\n   * @requiredField ids\n   * @requiredField memberId\n   * @permissionId BADGES.BADGE_ASSIGN\n   * @adminMethod\n   */\n  function assignBadges(memberId: string, ids: string[]): Promise<AssignBadgesResponse>;\n  /**\n   * Removes site members from an assigned badge.\n   *\n   *\n   * The `unassignBadge()` function returns a Promise that resolves when the specified members are removed as holders of the specified badge.\n   *\n   * The `badgeId` parameter must be an ID from your site's `Members/Badges` collection. Typically, you retrieve the ID from the collection using a query or through a dataset.\n   * @param _id - Badge ID.\n   * @param memberIds - List of members to remove.\n   * @public\n   * @requiredField _id\n   * @requiredField memberIds\n   * @permissionId BADGES.BADGE_ASSIGN\n   * @adminMethod\n   */\n  function unassignBadge(_id: string, memberIds: string[]): Promise<void>;\n  /**\n   * Lists the IDs of all members assigned to a badge.\n   *\n   *\n   * The `listMembersByBadge()` function returns a Promise that resolves to a list of member IDs assigned to the specified badge.\n   *\n   * Retrieves up to 1000 site members who have a specified badge. Default `paging.limit` is 100, `paging.offset` - 0.\n   *\n   * The `_id` parameter must be an ID from your site's `Members/Badges` collection. Typically, you retrieve the ID from the collection using a query or through a dataset.\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param _id - Badge ID.\n   * @public\n   * @requiredField _id\n   * @permissionId BADGES.BADGE_READ_MEMBERS\n   */\n  function listMembersByBadge(_id: string, options?: ListMembersByBadgeOptions): Promise<ListMembersResponse$2>;\n  interface ListMembersByBadgeOptions {\n      /** Pagination options. */\n      paging?: Paging$2;\n  }\n  /**\n   * Lists the badges assigned to each of the specified site members.\n   *\n   *\n   * The `listBadgesPerMember()` function returns a Promise that resolves to a list of badge IDs associated with each of the specified members.\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param memberIds - List of members.\n   * @public\n   * @requiredField memberIds\n   * @permissionId BADGES.BADGE_READ_MEMBERS\n   */\n  function listBadgesPerMember(memberIds: string[]): Promise<ListMembersBadgeIdsResponse>;\n  /**\n   * Retrieves member count per badge.\n   *\n   *\n   * The `getMemberCountsPerBadge` function returns a Promise that resolves when the member counts of each badge are retrieved.\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @public\n   * @permissionId BADGES.BADGE_READ_MEMBERS\n   */\n  function getMemberCountsPerBadge(): Promise<GetMemberCountsPerBadgeResponse>;\n  /**\n   * Updates badges' display order.\n   *\n   *\n   * The `badgeId` parameter must be an ID from your site's `Members/Badges` collection. Typically, you retrieve the ID from the collection using a query or through a dataset.\n   *\n   * This function is not a universal function and runs only on the backend\n   * @param badgeIds - Ordered badge IDs.\n   * @public\n   * @requiredField badgeIds\n   * @permissionId BADGES.BADGE_UPDATE_DISPLAY_ORDER\n   * @adminMethod\n   */\n  function updateBadgesDisplayOrder(badgeIds: string[]): Promise<UpdateBadgesDisplayOrderResponse>;\n  \n  type badgesV3Badge_universal_d_Badge = Badge;\n  type badgesV3Badge_universal_d_CreateBadgeRequest = CreateBadgeRequest;\n  type badgesV3Badge_universal_d_CreateBadgeResponse = CreateBadgeResponse;\n  type badgesV3Badge_universal_d_UpdateBadgeRequest = UpdateBadgeRequest;\n  type badgesV3Badge_universal_d_UpdateBadgeResponse = UpdateBadgeResponse;\n  type badgesV3Badge_universal_d_ListBadgesRequest = ListBadgesRequest;\n  type badgesV3Badge_universal_d_ListBadgesResponse = ListBadgesResponse;\n  type badgesV3Badge_universal_d_QueryBadgesRequest = QueryBadgesRequest;\n  type badgesV3Badge_universal_d_QueryBadgesResponse = QueryBadgesResponse;\n  type badgesV3Badge_universal_d_GetBadgeRequest = GetBadgeRequest;\n  type badgesV3Badge_universal_d_GetBadgeResponse = GetBadgeResponse;\n  type badgesV3Badge_universal_d_DeleteBadgeRequest = DeleteBadgeRequest;\n  type badgesV3Badge_universal_d_DeleteBadgeResponse = DeleteBadgeResponse;\n  type badgesV3Badge_universal_d_CountBadgesRequest = CountBadgesRequest;\n  type badgesV3Badge_universal_d_CountBadgesResponse = CountBadgesResponse;\n  type badgesV3Badge_universal_d_AssignBadgeRequest = AssignBadgeRequest;\n  type badgesV3Badge_universal_d_AssignBadgeResponse = AssignBadgeResponse;\n  type badgesV3Badge_universal_d_BadgeAssigned = BadgeAssigned;\n  type badgesV3Badge_universal_d_AssignBadgesRequest = AssignBadgesRequest;\n  type badgesV3Badge_universal_d_AssignBadgesResponse = AssignBadgesResponse;\n  type badgesV3Badge_universal_d_UnassignBadgeRequest = UnassignBadgeRequest;\n  type badgesV3Badge_universal_d_UnassignBadgeResponse = UnassignBadgeResponse;\n  type badgesV3Badge_universal_d_BadgeUnassigned = BadgeUnassigned;\n  type badgesV3Badge_universal_d_ListMembersBadgeIdsRequest = ListMembersBadgeIdsRequest;\n  type badgesV3Badge_universal_d_ListMembersBadgeIdsResponse = ListMembersBadgeIdsResponse;\n  type badgesV3Badge_universal_d_MemberBadgeIds = MemberBadgeIds;\n  type badgesV3Badge_universal_d_GetMemberCountsPerBadgeRequest = GetMemberCountsPerBadgeRequest;\n  type badgesV3Badge_universal_d_GetMemberCountsPerBadgeResponse = GetMemberCountsPerBadgeResponse;\n  type badgesV3Badge_universal_d_BadgeMemberCount = BadgeMemberCount;\n  type badgesV3Badge_universal_d_UpdateBadgesDisplayOrderRequest = UpdateBadgesDisplayOrderRequest;\n  type badgesV3Badge_universal_d_UpdateBadgesDisplayOrderResponse = UpdateBadgesDisplayOrderResponse;\n  type badgesV3Badge_universal_d_ListMembersWithBadgesRequest = ListMembersWithBadgesRequest;\n  type badgesV3Badge_universal_d_ListMembersWithBadgesResponse = ListMembersWithBadgesResponse;\n  const badgesV3Badge_universal_d_createBadge: typeof createBadge;\n  const badgesV3Badge_universal_d_updateBadge: typeof updateBadge;\n  type badgesV3Badge_universal_d_UpdateBadge = UpdateBadge;\n  const badgesV3Badge_universal_d_listBadges: typeof listBadges;\n  type badgesV3Badge_universal_d_ListBadgesOptions = ListBadgesOptions;\n  const badgesV3Badge_universal_d_queryBadges: typeof queryBadges;\n  type badgesV3Badge_universal_d_QueryBadgesOptions = QueryBadgesOptions;\n  const badgesV3Badge_universal_d_getBadge: typeof getBadge;\n  const badgesV3Badge_universal_d_deleteBadge: typeof deleteBadge;\n  const badgesV3Badge_universal_d_countBadges: typeof countBadges;\n  type badgesV3Badge_universal_d_CountBadgesOptions = CountBadgesOptions;\n  const badgesV3Badge_universal_d_assignBadge: typeof assignBadge;\n  const badgesV3Badge_universal_d_assignBadges: typeof assignBadges;\n  const badgesV3Badge_universal_d_unassignBadge: typeof unassignBadge;\n  const badgesV3Badge_universal_d_listMembersByBadge: typeof listMembersByBadge;\n  type badgesV3Badge_universal_d_ListMembersByBadgeOptions = ListMembersByBadgeOptions;\n  const badgesV3Badge_universal_d_listBadgesPerMember: typeof listBadgesPerMember;\n  const badgesV3Badge_universal_d_getMemberCountsPerBadge: typeof getMemberCountsPerBadge;\n  const badgesV3Badge_universal_d_updateBadgesDisplayOrder: typeof updateBadgesDisplayOrder;\n  namespace badgesV3Badge_universal_d {\n    export {\n      badgesV3Badge_universal_d_Badge as Badge,\n      badgesV3Badge_universal_d_CreateBadgeRequest as CreateBadgeRequest,\n      badgesV3Badge_universal_d_CreateBadgeResponse as CreateBadgeResponse,\n      badgesV3Badge_universal_d_UpdateBadgeRequest as UpdateBadgeRequest,\n      badgesV3Badge_universal_d_UpdateBadgeResponse as UpdateBadgeResponse,\n      badgesV3Badge_universal_d_ListBadgesRequest as ListBadgesRequest,\n      Paging$2 as Paging,\n      badgesV3Badge_universal_d_ListBadgesResponse as ListBadgesResponse,\n      PagingMetadata$1 as PagingMetadata,\n      badgesV3Badge_universal_d_QueryBadgesRequest as QueryBadgesRequest,\n      Sorting$2 as Sorting,\n      SortOrder$1 as SortOrder,\n      badgesV3Badge_universal_d_QueryBadgesResponse as QueryBadgesResponse,\n      badgesV3Badge_universal_d_GetBadgeRequest as GetBadgeRequest,\n      badgesV3Badge_universal_d_GetBadgeResponse as GetBadgeResponse,\n      badgesV3Badge_universal_d_DeleteBadgeRequest as DeleteBadgeRequest,\n      badgesV3Badge_universal_d_DeleteBadgeResponse as DeleteBadgeResponse,\n      badgesV3Badge_universal_d_CountBadgesRequest as CountBadgesRequest,\n      badgesV3Badge_universal_d_CountBadgesResponse as CountBadgesResponse,\n      badgesV3Badge_universal_d_AssignBadgeRequest as AssignBadgeRequest,\n      badgesV3Badge_universal_d_AssignBadgeResponse as AssignBadgeResponse,\n      badgesV3Badge_universal_d_BadgeAssigned as BadgeAssigned,\n      badgesV3Badge_universal_d_AssignBadgesRequest as AssignBadgesRequest,\n      badgesV3Badge_universal_d_AssignBadgesResponse as AssignBadgesResponse,\n      badgesV3Badge_universal_d_UnassignBadgeRequest as UnassignBadgeRequest,\n      badgesV3Badge_universal_d_UnassignBadgeResponse as UnassignBadgeResponse,\n      badgesV3Badge_universal_d_BadgeUnassigned as BadgeUnassigned,\n      ListMembersRequest$2 as ListMembersRequest,\n      ListMembersResponse$2 as ListMembersResponse,\n      badgesV3Badge_universal_d_ListMembersBadgeIdsRequest as ListMembersBadgeIdsRequest,\n      badgesV3Badge_universal_d_ListMembersBadgeIdsResponse as ListMembersBadgeIdsResponse,\n      badgesV3Badge_universal_d_MemberBadgeIds as MemberBadgeIds,\n      badgesV3Badge_universal_d_GetMemberCountsPerBadgeRequest as GetMemberCountsPerBadgeRequest,\n      badgesV3Badge_universal_d_GetMemberCountsPerBadgeResponse as GetMemberCountsPerBadgeResponse,\n      badgesV3Badge_universal_d_BadgeMemberCount as BadgeMemberCount,\n      badgesV3Badge_universal_d_UpdateBadgesDisplayOrderRequest as UpdateBadgesDisplayOrderRequest,\n      badgesV3Badge_universal_d_UpdateBadgesDisplayOrderResponse as UpdateBadgesDisplayOrderResponse,\n      badgesV3Badge_universal_d_ListMembersWithBadgesRequest as ListMembersWithBadgesRequest,\n      CursorPaging$1 as CursorPaging,\n      badgesV3Badge_universal_d_ListMembersWithBadgesResponse as ListMembersWithBadgesResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      badgesV3Badge_universal_d_createBadge as createBadge,\n      badgesV3Badge_universal_d_updateBadge as updateBadge,\n      badgesV3Badge_universal_d_UpdateBadge as UpdateBadge,\n      badgesV3Badge_universal_d_listBadges as listBadges,\n      badgesV3Badge_universal_d_ListBadgesOptions as ListBadgesOptions,\n      badgesV3Badge_universal_d_queryBadges as queryBadges,\n      badgesV3Badge_universal_d_QueryBadgesOptions as QueryBadgesOptions,\n      badgesV3Badge_universal_d_getBadge as getBadge,\n      badgesV3Badge_universal_d_deleteBadge as deleteBadge,\n      badgesV3Badge_universal_d_countBadges as countBadges,\n      badgesV3Badge_universal_d_CountBadgesOptions as CountBadgesOptions,\n      badgesV3Badge_universal_d_assignBadge as assignBadge,\n      badgesV3Badge_universal_d_assignBadges as assignBadges,\n      badgesV3Badge_universal_d_unassignBadge as unassignBadge,\n      badgesV3Badge_universal_d_listMembersByBadge as listMembersByBadge,\n      badgesV3Badge_universal_d_ListMembersByBadgeOptions as ListMembersByBadgeOptions,\n      badgesV3Badge_universal_d_listBadgesPerMember as listBadgesPerMember,\n      badgesV3Badge_universal_d_getMemberCountsPerBadge as getMemberCountsPerBadge,\n      badgesV3Badge_universal_d_updateBadgesDisplayOrder as updateBadgesDisplayOrder,\n    };\n  }\n  \n  interface Member$1 {\n      /**\n       * Member ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       */\n      emailVerified?: boolean;\n      /**\n       * @internal\n       * @internal */\n      role?: Role$1;\n      /**\n       * Email used by the member to log in to the site.\n       *\n       *\n       */\n      loginEmail?: string | null;\n      /**\n       * @internal\n       * @internal */\n      memberName?: string | null;\n      /** Member's first name. */\n      firstName?: string | null;\n      /** Member's last name. */\n      lastName?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      imageUrl?: string | null;\n      /** Name that identifies the member to other members. Displayed on the member's profile page and interactions in the forum or blog. */\n      nickname?: string | null;\n      /**\n       * Member privacy status.\n       *\n       * One of:\n       * - `\"PUBLIC\"`: Member is visible to everyone.\n       * - `\"PRIVATE\"`: Member is hidden from site visitors and other site members. Member is returned only to site contributors and apps with the appropriate permissions.\n       * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n       */\n      profilePrivacyStatus?: SiteMemberPrivacyStatus;\n      /** URL segment that determines the member's profile page. */\n      slug?: string | null;\n      /**\n       * @internal\n       * @internal */\n      language?: string | null;\n      /**\n       * Member site access status.\n       *\n       * One of:\n       * - `\"PENDING\"`: Member created and is waiting for approval by site owner.\n       * - `\"APPROVED\"`: Member can log in to the site.\n       * - \"OFFLINE\"`: Member is a guest author for the site blog and cannot log in to the site.\n       * - `\"BLOCKED\"`: Member is blocked and cannot log in to the site.\n       * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n       */\n      status?: SiteMemberStatus;\n      /**\n       * Date and time when the member was created.\n       * @readonly\n       */\n      creationDate?: Date | null;\n      /**\n       * Date and time when the member was last updated.\n       *\n       *\n       * @readonly\n       */\n      lastUpdateDate?: Date | null;\n      /**\n       * Date and time when the member last logged in to the site.\n       *\n       * @readonly\n       */\n      lastLoginDate?: Date | null;\n      /**\n       * List of email addresses.\n       *\n       *\n       */\n      emails?: string[];\n      /** List of phone numbers.  */\n      phones?: string[];\n      /** List of street addresses. */\n      addresses?: Address$1[];\n      /**\n       * @internal\n       * @internal */\n      labels?: string[];\n      /**\n       * Custom fields, structured as key:object pairs. Custom field keys are defined in the Contacts Extended Fields API. The paired object contains the `name` and `value` properties, where `name` is the display name and `value` is the value stored for the member.\n       *\n       * Only custom fields added to the member profile in the Dashboard are available through the Members API. Empty fields are not returned.\n       *\n       * When updating a member, `name` is ignored.\n       */\n      customFields?: CustomField$1[];\n      /** Member's profile picture URL. */\n      picture?: string;\n      /**\n       * @internal\n       * @internal */\n      userId?: string | null;\n      /**\n       * @internal\n       * @internal */\n      groups?: Group[];\n      /**\n       * Member's contact ID.\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  enum Role$1 {\n      UNDEFINED_ROLE = \"UNDEFINED_ROLE\",\n      MEMBER = \"MEMBER\",\n      OWNER = \"OWNER\",\n      CONTRIBUTOR = \"CONTRIBUTOR\"\n  }\n  enum SiteMemberPrivacyStatus {\n      UNDEFINED = \"UNDEFINED\",\n      PUBLIC = \"PUBLIC\",\n      PRIVATE = \"PRIVATE\",\n      COMMUNITY = \"COMMUNITY\"\n  }\n  enum SiteMemberStatus {\n      UNDEFINED_STATUS = \"UNDEFINED_STATUS\",\n      APPLICANT = \"APPLICANT\",\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\",\n      BLOCKED = \"BLOCKED\",\n      OFFLINE_ONLY = \"OFFLINE_ONLY\"\n  }\n  interface Address$1 {\n      /** Street address. */\n      street?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Region name. */\n      region?: string | null;\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Postal code. */\n      postalCode?: string | null;\n  }\n  interface CustomField$1 extends CustomFieldValueOneOf {\n      /** String value. */\n      strValue?: string | null;\n      /** Number value. */\n      numValue?: number;\n      /** Date value. */\n      dateValue?: Date | null;\n      /** Display name. */\n      name?: string;\n  }\n  /** @oneof */\n  interface CustomFieldValueOneOf {\n      strValue?: string | null;\n      numValue?: number;\n      dateValue?: Date | null;\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface Group {\n      _id?: string;\n      name?: string;\n      type?: string;\n  }\n  interface ListMembersRequest$1 {\n      /** for paging - maximum number of records to retrieve */\n      limit?: number;\n      /** for paging - how many records to skip */\n      offset?: number;\n      /** sort order - list of field and direction tuples. e.g. `[\"first_name:asc\", \"last_name:desc\"]` */\n      order?: string[];\n      /** partial response request - list of field names to get back in response */\n      fields?: string[];\n      /** filter members with specific status */\n      status?: SiteMemberStatus;\n      /** whether to include contact details */\n      includeContactDetails?: boolean;\n  }\n  interface ListMembersResponse$1 {\n      /** members returned by List request */\n      members?: Member$1[];\n      /** pagination information */\n      pagination?: PaginationResponse;\n  }\n  interface PaginationResponse {\n      /** offset that was applied to the request */\n      offset?: number;\n      /** limit that was applied to the request */\n      limit?: number;\n      /** total rows available */\n      total?: number;\n      /** indication that the total count was too expensive to calculate */\n      tooManyToCount?: boolean;\n  }\n  interface SearchRequest {\n      /** paging - offset and limit */\n      paging?: Paging$1;\n      /** search by field */\n      searchBy?: SearchBy;\n      /** partial response request - list of field names to get back in response */\n      fields?: string[];\n      /** filters */\n      filterBy?: FilterBy;\n      /** ASC or DESC order */\n      sort?: Sorting$1;\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface SearchBy {\n      /** nick name filter */\n      nickname?: string | null;\n  }\n  interface FilterBy {\n      /** filter members with specific status */\n      status?: string | null;\n      /** group Id filter */\n      groupId?: string | null;\n      /** privacy status filter */\n      privacyStatus?: SiteMemberPrivacyStatus;\n      /** roles filter */\n      roles?: Role$1[];\n  }\n  enum Sorting$1 {\n      DESC = \"DESC\",\n      ASC = \"ASC\"\n  }\n  interface SearchResponse {\n      /** members returned by List request */\n      members?: Member$1[];\n      /** pagination information */\n      pagination?: PaginationResponse;\n  }\n  interface GetCurrentMemberRequest {\n  }\n  interface GetMemberResponse$1 {\n      member?: Member$1;\n  }\n  interface GetMemberRequest$1 {\n      /** unique identifier of the requested member(required) */\n      _id: string;\n      /** whether to include contact details */\n      includeContactDetails?: boolean;\n      /** whether to include groups details */\n      includeGroupsDetails?: boolean;\n  }\n  interface GetUserMembershipsRequest {\n      /** unique identifier of the requested **Wix** user */\n      userId: string;\n      /** paging - offset and limit ( the max limit for page is 200) */\n      paging?: Paging$1;\n  }\n  interface GetUserMembershipsResponse {\n      /** sequence of member's of the user with there metaSiteId */\n      userMemberships?: UserMembership[];\n  }\n  interface UserMembership {\n      /** member id */\n      memberId?: string;\n      /** meta site id whom the member existing on */\n      metasiteId?: string;\n  }\n  interface GetMemberRoleRequest {\n      _id: string;\n  }\n  interface GetMemberRoleResponse {\n      /**\n       * member's role:\n       *\n       * `OWNER` - member that belongs to site owner\n       * `CONTRIBUTOR` - member that belongs to a contributor in site\n       * `MEMBER` - other members that registered to site\n       */\n      role?: Role$1;\n      userId?: string | null;\n      status?: SiteMemberStatus;\n      contactId?: string | null;\n  }\n  interface GetMemberRolesRequest {\n      /** user_id and/or contact_id */\n      ids?: string[];\n  }\n  interface GetMemberRolesResponse {\n      idsToRoles?: Record<string, MemberRole$1>;\n  }\n  interface MemberRole$1 {\n      /**\n       * member's role:\n       *\n       * `OWNER` - member that belongs to site owner\n       * `CONTRIBUTOR` - member that belongs to a contributor in site\n       * `MEMBER` - other members that registered to site\n       */\n      role?: Role$1;\n      userId?: string | null;\n      status?: SiteMemberStatus;\n      contactId?: string | null;\n  }\n  interface BatchGetMembersRequest {\n      /** unique identifier of the requested member(required) */\n      ids?: string[];\n      /** whether to include contact details */\n      includeContactDetails?: boolean;\n      /** whether to include groups details */\n      includeGroupsDetails?: boolean;\n  }\n  interface BatchGetMembersResponse {\n      /** lest of members details */\n      members?: Member$1[];\n  }\n  interface GetAuthorizedPagesRequest {\n      _id?: string;\n      siteId: string;\n  }\n  interface GetAuthorizedPagesResponse {\n      authorizedPages?: Record<string, string>;\n  }\n  interface UpdateMemberRequest$1 {\n      /** member id */\n      _id: string;\n      /** the Member object containing the fields to update */\n      member?: Member$1;\n      /**\n       * an explicit declaration of contact fields that should be updated by this request.\n       * *Currently only affects contact fields.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateMemberResponse$1 {\n      /** updated member */\n      member?: Member$1;\n  }\n  interface ChangeLoginEmailRequest {\n      /** Member ID. */\n      _id: string;\n      /** New login email address. */\n      newEmail?: string;\n      /**\n       * @internal\n       * @internal */\n      revokeCurrentSessions?: boolean | null;\n  }\n  interface ChangeLoginEmailResponse {\n      /** Member with the updated login email address. */\n      member?: Member$1;\n  }\n  interface QueryMembersRequest$1 {\n      /**\n       * query - See https://github.com/wix-private/platformization-guidelines/blob/master/Server/API-Query.md\n       * supported fields: `id`, `login_email`, `status`, `language`, `date_created`, `last_update_date`, `flags`, `name`, `first_name`, `last_name`, `nickname`, `email_verified`, `privacy_status`\n       */\n      query?: string;\n      /** whether to include contact details */\n      includeContactDetails?: boolean;\n      /** whether to include offline members */\n      includeOfflineMembers?: boolean;\n  }\n  interface QueryMembersResponse$1 {\n      /** members matching the query criteria */\n      members?: Member$1[];\n      /** pagination information */\n      pagination?: PaginationResponse;\n  }\n  interface DeleteMemberRequest$1 {\n      /** id of member that should be deleted (required) */\n      _id: string;\n      /** defines if the request is a bulk action */\n      isBulkAction?: boolean;\n  }\n  interface DeleteMemberResponse$1 {\n  }\n  interface ApproveMemberRequest$1 extends ApproveMemberRequestMemberIdentifierOneOf {\n      /** ID of the member to approve. */\n      _id?: string;\n      /** Login email address of the member to approve. */\n      email?: string;\n      /** Approval token returned by the [`register()`](#register) function. */\n      token?: string;\n  }\n  /** @oneof */\n  interface ApproveMemberRequestMemberIdentifierOneOf {\n      /** ID of the member to approve. */\n      _id?: string;\n      /** Login email address of the member to approve. */\n      email?: string;\n      /**\n       * <!--ONLY:VELO\n       * Approval token returned by `register()`.\n       * <!--END:ONLY:VELO-->\n       */\n      token?: string;\n  }\n  interface ApproveMemberResponse$1 {\n      /** Approval session token. */\n      session?: Session;\n  }\n  interface Session {\n      /** Session token when the current member is logged into the site. */\n      token?: string | null;\n  }\n  interface BlockMemberRequest$1 extends BlockMemberRequestMemberIdentifierOneOf {\n      /** ID of the member to block. */\n      _id?: string;\n      /** Login email address of the member to block. */\n      email?: string;\n      /**\n       * @internal\n       * @internal */\n      source?: Source;\n  }\n  /** @oneof */\n  interface BlockMemberRequestMemberIdentifierOneOf {\n      _id?: string;\n      /** Login email address of the member to block. */\n      email?: string;\n  }\n  enum Source {\n      UNKNOWN = \"UNKNOWN\",\n      HANDLING_SPAM = \"HANDLING_SPAM\"\n  }\n  interface BlockMemberResponse$1 {\n  }\n  interface MakeMemberOfflineRequest {\n      /** unique identifier of the requested member */\n      _id: string;\n  }\n  interface MakeMemberOfflineResponse {\n  }\n  /** Registration options. */\n  interface RegisterRequest {\n      /** Login email address for the new site member. */\n      email?: string;\n      /**\n       * Password the new site member will use to log in.\n       *\n       * Must be 4 to 15 ASCII-printable characters.\n       */\n      password?: string;\n      /** Contact information for the registered member. */\n      contactInfo?: MemberContactInfo;\n      /**\n       * @internal\n       * @internal */\n      dialogData?: DialogData;\n      /**\n       * Sets the privacy status of a new member upon registration.\n       *\n       * - `PUBLIC`: Member is visible to everyone.\n       * - `PRIVATE`: Member is hidden from site visitors and other site members. Member is returned only to site contributors and apps with the appropriate permissions.\n       * - `UNKNOWN`: Insufficient permissions to get the status.\n       */\n      profilePrivacyStatus?: SiteMemberPrivacyStatus;\n      /**\n       * @internal\n       * @internal */\n      isOfflineRegistration?: boolean;\n      /**\n       * @internal\n       * @internal */\n      recaptchaToken?: string | null;\n      /**\n       * @internal\n       * @internal */\n      invisibleRecaptchaToken?: string | null;\n      /**\n       * @internal\n       * @internal */\n      emailVerification?: EmailVerification;\n      /**\n       * @internal\n       * @internal */\n      isMobile?: boolean | null;\n  }\n  interface MemberContactInfo {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Contact's profile picture. */\n      picture?: string | null;\n      /** Contact's email addresses. */\n      emails?: string[];\n      /** Contact's phone numbers. */\n      phones?: string[];\n      /** List of contact's labels. */\n      labels?: string[];\n      /**\n       * @internal\n       * @internal */\n      locale?: string | null;\n      /**\n       * Any number of custom fields.\n       * [Custom fields](https://support.wix.com/en/article/adding-custom-fields-to-contacts)\n       * are used to store additional information about your site's contacts.\n       * When setting a custom field, use key:value pairs,\n       * where the key matches the names defined in your site's\n       * [Contact List](https://support.wix.com/en/article/accessing-your-contact-list).\n       * You can only set values for custom fields that already exist in the Contacts application.\n       */\n      customFields?: CustomField$1[];\n  }\n  interface DialogData {\n      visitorId?: string | null;\n      appId?: string | null;\n      initiator?: string | null;\n  }\n  interface EmailVerification {\n      /** ID of the verification process. */\n      verificationId?: string;\n      /**\n       * 6-digit code for verification.  Code can be between 100000 and 999999.\n       *\n       */\n      otp?: string;\n  }\n  interface RegisterResponse {\n      /** Newly registered member. */\n      member?: Member$1;\n      /**\n       * in case the site is open for registration, all members are automatically\n       * approved. they will get a temporary token for obtaining a valid session\n       */\n      session?: Session;\n      /**\n       * in case the site requires members approval, the registered member\n       * will be an applicant until he's approved. the token can be used as a member\n       * identifier for approval using the `MembersService.Approve` API\n       */\n      approvalToken?: string | null;\n  }\n  interface EmailVerificationRequired {\n      /** ID of the verification process. */\n      verificationId?: string;\n  }\n  interface EmailVerificationFailed {\n      /** ID of the failed verification process.  */\n      verificationId?: string;\n      /** Reason for verification failure. */\n      verificationFailureReason?: VerificationFailureReason;\n  }\n  enum VerificationFailureReason {\n      /** Default value - means no failure */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** Bad verification code */\n      BAD_CODE = \"BAD_CODE\",\n      /** Verification code was not found */\n      NOT_FOUND = \"NOT_FOUND\",\n      /** Error while sending the code to the user */\n      SEND_CODE_ERROR = \"SEND_CODE_ERROR\"\n  }\n  interface LoginRequest {\n      /** Login email address. */\n      email?: string;\n      /** Member password. */\n      password?: string;\n      /**\n       * @internal\n       * @internal */\n      recaptchaToken?: string;\n      /**\n       * @internal\n       * @internal */\n      invisibleRecaptchaToken?: string;\n      /**\n       * @internal\n       * @internal */\n      emailVerification?: EmailVerification;\n      /**\n       * @internal\n       * @internal */\n      isMobile?: boolean | null;\n  }\n  /** Session token for logging the member in. */\n  interface LoginResponse {\n      /** Session token. */\n      session?: Session;\n      /** the member's details */\n      member?: Member$1;\n  }\n  interface GetResetPasswordLinkRequest {\n      /** Contact ID of the member whose password will be reset. */\n      contactId: string;\n  }\n  interface GetResetPasswordLinkResponse {\n      /**\n       * Reset password link.\n       * Valid for one use, up to two weeks from when it is created.\n       */\n      resetPasswordLink?: string;\n  }\n  interface SendSetPasswordEmailRequest {\n      /** Login email of the member whose password will be set. */\n      email: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      requestedByMember?: boolean;\n      /**\n       * Whether to hide the ignore this email message .\n       *\n       * If `true`, the email tells the member\n       * they can safely ignore\n       * if they did not request the password change.\n       *\n       * Default: `false`.\n       */\n      hideIgnoreMessage?: boolean;\n  }\n  interface SendSetPasswordEmailResponse {\n      /** Indicates if the request was successfully received. */\n      accepted?: boolean;\n  }\n  interface ResetPasswordRequest {\n      /** Contact ID of the member whose password will be reset. */\n      contactId: string;\n  }\n  interface ResetPasswordResponse {\n      /** Indicates if the request was successfully received. */\n      accepted?: boolean;\n  }\n  interface SocialLoginRequest extends SocialLoginRequestLoginOneOf {\n      appleLogin?: AppleLogin;\n      googleLogin?: GoogleLogin;\n      facebookLogin?: FacebookLogin;\n      /** Must either pass explicit msid OR signed instance with visitor */\n      metaSiteId?: string | null;\n  }\n  /** @oneof */\n  interface SocialLoginRequestLoginOneOf {\n      appleLogin?: AppleLogin;\n      googleLogin?: GoogleLogin;\n      facebookLogin?: FacebookLogin;\n  }\n  interface AppleLogin {\n      /** JWT signed by apple, contains target (aud), email etc */\n      token?: string;\n  }\n  interface GoogleLogin {\n      /** JWT signed by Google, contains target (aud), email etc */\n      token?: string;\n  }\n  interface FacebookLogin {\n      /** AccessToken created by Facebook, used to later fetch details over API */\n      token?: string;\n  }\n  /**\n   * Returns a list of members according to:\n   * - Pagination: `offset`, `limit`\n   * - Order: by some of the following fields: `id`, `login_email`, `status`, `language`, `date_created`, `last_update_date`, `flags`, `name`, `first_name`, `last_name`, `nickname`, `email_verified`, `privacy_status`\n   * - Optional filter by `SiteMemberStatus`\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function list(options?: ListOptions): Promise<ListMembersResponse$1>;\n  interface ListOptions {\n      /** for paging - maximum number of records to retrieve */\n      limit?: number;\n      /** for paging - how many records to skip */\n      offset?: number;\n      /** sort order - list of field and direction tuples. e.g. `[\"first_name:asc\", \"last_name:desc\"]` */\n      order?: string[];\n      /** partial response request - list of field names to get back in response */\n      fields?: string[];\n      /** filter members with specific status */\n      status?: SiteMemberStatus;\n      /** whether to include contact details */\n      includeContactDetails?: boolean;\n  }\n  /**\n   * Returns a list of members according to search and filter inputs:\n   * - Pagination: `offset`, `limit`\n   * - Optional filter by `group_id` `SiteMemberStatus`\n   * - Optional search by `nickname`\n   * - Order: by `date_created`\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function search(options?: SearchOptions): Promise<SearchResponse>;\n  interface SearchOptions {\n      /** paging - offset and limit */\n      paging?: Paging$1;\n      /** search by field */\n      searchBy?: SearchBy;\n      /** partial response request - list of field names to get back in response */\n      fields?: string[];\n      /** filters */\n      filterBy?: FilterBy;\n      /** ASC or DESC order */\n      sort?: Sorting$1;\n  }\n  /**\n   * Returns information about a current member (by authorization header)\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getCurrent(): Promise<GetMemberResponse$1>;\n  /**\n   * Returns information about a particular member\n   * @param _id - unique identifier of the requested member(required)\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function get(_id: string, options?: GetOptions): Promise<GetMemberResponse$1>;\n  interface GetOptions {\n      /** whether to include contact details */\n      includeContactDetails?: boolean;\n      /** whether to include groups details */\n      includeGroupsDetails?: boolean;\n  }\n  /**\n   * Returns all user memberships\n   * @param userId - unique identifier of the requested **Wix** user\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @adminMethod\n   */\n  function getUserMemberships(userId: string, options?: GetUserMembershipsOptions): Promise<GetUserMembershipsResponse>;\n  interface GetUserMembershipsOptions {\n      /** paging - offset and limit ( the max limit for page is 200) */\n      paging?: Paging$1;\n  }\n  /**\n   * Returns member role.\n   * This endpoint is needed for migration from this API to umbrella API, because umbrella API does not expose role.\n   * Accepts siteMemberId as id param, which can be: contactId, userId\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function getRole(_id: string): Promise<GetMemberRoleResponse>;\n  /**\n   * Returns members roles.\n   * This endpoint is needed for migration from this API to umbrella API, because umbrella API does not expose role.\n   * Accepts siteMemberId as id params, which can be: contactId, userId\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getRoles$1(options?: GetRolesOptions): Promise<GetMemberRolesResponse>;\n  interface GetRolesOptions {\n      /** user_id and/or contact_id */\n      ids?: string[];\n  }\n  /**\n   * Returns information about a list member\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function batchGet(options?: BatchGetOptions): Promise<BatchGetMembersResponse>;\n  interface BatchGetOptions {\n      /** unique identifier of the requested member(required) */\n      ids?: string[];\n      /** whether to include contact details */\n      includeContactDetails?: boolean;\n      /** whether to include groups details */\n      includeGroupsDetails?: boolean;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField siteId\n   * @adminMethod\n   */\n  function getAuthorizedPages(siteId: string, options?: GetAuthorizedPagesOptions): Promise<GetAuthorizedPagesResponse>;\n  interface GetAuthorizedPagesOptions {\n      _id?: string;\n  }\n  /**\n   * Update fields of an existing member\n   * - Possible fields are: `imageUrl`, `nickname`, `privacyStatus`, `slug`\n   * @param _id - member id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function update(_id: string, options?: UpdateOptions): Promise<UpdateMemberResponse$1>;\n  interface UpdateOptions {\n      /** the Member object containing the fields to update */\n      member?: Member$1;\n      /**\n       * an explicit declaration of contact fields that should be updated by this request.\n       * *Currently only affects contact fields.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Changes a member's login email address.\n   *\n   * After running this function, the specified member can log in with the new email address. If the member uses social login (for example, Google login) and the member tries to log in with the old email address, they will be re-registered with the old email address.\n   *\n   * Site collaborators can use `changeLoginEmail()` to change another member's login email. Members who are not site collaborators can use `changeLoginEmail()` to change their own login email only.\n   *\n   * > **Note:** `changeLoginEmail()` cannot be used to change the login email of a site collaborator. Site collaborators can change their login emails from their Wix [account settings](https://manage.wix.com/account/account-settings).\n   * @param _id - Member ID.\n   * @param newEmail - New login email address.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField newEmail\n   * @param options - Options for changing a login email address.\n   * @adminMethod\n   */\n  function changeLoginEmail(_id: string, newEmail: string, options?: ChangeLoginEmailOptions): Promise<ChangeLoginEmailResponse>;\n  interface ChangeLoginEmailOptions {\n      /**\n       * @internal\n       * @internal */\n      revokeCurrentSessions?: boolean | null;\n  }\n  /**\n   * Returns a list of members, given the provided paging, sort and filter\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function query(options?: QueryOptions): Promise<QueryMembersResponse$1>;\n  interface QueryOptions {\n      /**\n       * query - See https://github.com/wix-private/platformization-guidelines/blob/master/Server/API-Query.md\n       * supported fields: `id`, `login_email`, `status`, `language`, `date_created`, `last_update_date`, `flags`, `name`, `first_name`, `last_name`, `nickname`, `email_verified`, `privacy_status`\n       */\n      query?: string;\n      /** whether to include contact details */\n      includeContactDetails?: boolean;\n      /** whether to include offline members */\n      includeOfflineMembers?: boolean;\n  }\n  /**\n   * Delete a member by id\n   * @param _id - id of member that should be deleted (required)\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function _delete(_id: string, options?: DeleteOptions): Promise<void>;\n  interface DeleteOptions {\n      /** defines if the request is a bulk action */\n      isBulkAction?: boolean;\n  }\n  /**\n   * Approves a pending member using an ID, email address or approval token.\n   *\n   * Tokens must be approved within 30 hours of token creation.\n   * Use the `approvalToken` parameter returned from the\n   * [`register()`](#register) function when approving a member by `token`.\n   *\n   * > **Note:**\n   * > A new member's status is `\"PENDING\"` when the site's membership policy is set to manual approval.\n   * > To learn more about setting your site's membership approval policy, see\n   * > [Editing Your Member Signup Settings](https://support.wix.com/en/article/editing-your-member-signup-settings-for-the-default-form).\n   *\n   * Members are typically associated with a contact, each having a distinct member and contact ID. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.MEMBER_APPROVE\n   * @adminMethod\n   */\n  function approve(options?: ApproveOptions): Promise<ApproveMemberResponse$1>;\n  interface ApproveOptions extends ApproveMemberRequestMemberIdentifierOneOf {\n      /** ID of the member to approve. */\n      _id?: string;\n      /** Login email address of the member to approve. */\n      email?: string;\n      /** Approval token returned by the [`register()`](#register) function. */\n      token?: string;\n  }\n  /**\n   * Blocks a member from logging in to the site using an ID or email address.\n   *\n   * To unblock the member and allow them to log in to the site, use the [`approve()`](#approve) function.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options for blocking a member from logging in.\n   * @adminMethod\n   */\n  function block(options?: BlockOptions): Promise<void>;\n  interface BlockOptions extends BlockMemberRequestMemberIdentifierOneOf {\n      /** ID of the member to block. */\n      _id?: string;\n      /** Login email address of the member to block. */\n      email?: string;\n      /**\n       * @internal\n       * @internal */\n      source?: Source;\n  }\n  /**\n   * Make member offline.\n   * After this action, member `status` field is set to `OFFLINE_ONLY`.\n   * Offline member cannot log into a site. Member is not visible in Business Manager site members list.\n   * @param _id - unique identifier of the requested member\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_DISCONNECT\n   * @adminMethod\n   */\n  function makeMemberOffline(_id: string): Promise<void>;\n  /**\n   * Registers a new site member.\n   *\n   * The specified `password` must be between 4 and 100 ASCII characters.\n   *\n   * >**Note:** The `register()` function behaves differently depending on your site's [member signup settings](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-members/enabling-custom-site-registration).\n   * @param email - Login email address for the new site member.\n   * @param password - Password the new site member will use to log in.\n   *\n   * Must be 4 to 15 ASCII-printable characters.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField email\n   * @requiredField password\n   * @param options - Options for registering a new member.\n   * @adminMethod\n   */\n  function register(email: string, password: string, options?: RegisterOptions): Promise<RegisterResponse>;\n  interface RegisterOptions {\n      /** Contact information for the registered member. */\n      contactInfo?: MemberContactInfo;\n      /** @internal */\n      dialogData?: DialogData;\n      /**\n       * Sets the privacy status of a new member upon registration.\n       *\n       * - `PUBLIC`: Member is visible to everyone.\n       * - `PRIVATE`: Member is hidden from site visitors and other site members. Member is returned only to site contributors and apps with the appropriate permissions.\n       * - `UNKNOWN`: Insufficient permissions to get the status.\n       */\n      profilePrivacyStatus?: SiteMemberPrivacyStatus;\n      /** @internal */\n      isOfflineRegistration?: boolean;\n      /** @internal */\n      recaptchaToken?: string | null;\n      /** @internal */\n      invisibleRecaptchaToken?: string | null;\n      /**\n       * Email verification.\n       * @internal */\n      emailVerification?: EmailVerification;\n      /** @internal */\n      isMobile?: boolean | null;\n  }\n  /**\n   * Registers new site member.\n   * This will try to connect the member to an existing contact, or create a new one in case no matches were found.\n   *\n   * To resend email with `otp` code, please provide `emailVerification` with `verificationId` only, and no `otp`.\n   * It will skip recaptcha and resend the code to the given email.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function signup(options?: SignupOptions): Promise<RegisterResponse>;\n  interface SignupOptions {\n      /** Login email address for the new site member. */\n      email?: string;\n      /**\n       * Password the new site member will use to log in.\n       *\n       * Must be 4 to 15 ASCII-printable characters.\n       */\n      password?: string;\n      /** Contact information for the registered member. */\n      contactInfo?: MemberContactInfo;\n      /** @internal */\n      dialogData?: DialogData;\n      /**\n       * Sets the privacy status of a new member upon registration.\n       *\n       * - `PUBLIC`: Member is visible to everyone.\n       * - `PRIVATE`: Member is hidden from site visitors and other site members. Member is returned only to site contributors and apps with the appropriate permissions.\n       * - `UNKNOWN`: Insufficient permissions to get the status.\n       */\n      profilePrivacyStatus?: SiteMemberPrivacyStatus;\n      /** @internal */\n      isOfflineRegistration?: boolean;\n      /** @internal */\n      recaptchaToken?: string | null;\n      /** @internal */\n      invisibleRecaptchaToken?: string | null;\n      /** @internal */\n      emailVerification?: EmailVerification;\n      /** @internal */\n      isMobile?: boolean | null;\n  }\n  /**\n   * Logs in a registered member with an email and password.\n   *\n   * The `login()` function only works with existing members. To register a new member use the [`register()`](#register) function.\n   *\n   * To complete the login, the returned session token must be applied using the `applySessionToken()` function in the wix-members-frontend API.\n   * @param email - Login email address.\n   * @param password - Member password.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField email\n   * @requiredField password\n   * @param options - Options for logging in a member.\n   * @adminMethod\n   * @returns Session token for logging the member in.\n   */\n  function login(email: string, password: string, options?: LoginOptions): Promise<LoginResponse>;\n  interface LoginOptions {\n      /** @internal */\n      recaptchaToken?: string;\n      /** @internal */\n      invisibleRecaptchaToken?: string;\n      /** @internal */\n      emailVerification?: EmailVerification;\n      /** @internal */\n      isMobile?: boolean | null;\n  }\n  /**\n   * Creates a link to reset a site member's password.\n   *\n   * The returned link must be provided to the site member,\n   * who must click the link and provide a new password.\n   * The link is valid for one use, up to two weeks from when it is created.\n   * @param contactId - Contact ID of the member whose password will be reset.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @permissionId MEMBERS.CREATE_RESET_PASSWORD_LINK\n   * @adminMethod\n   */\n  function getResetPasswordLink(contactId: string): Promise<GetResetPasswordLinkResponse>;\n  /**\n   * Sends a site member an email with a link to set their password.\n   *\n   * The set password link is valid for 3 hours,\n   * and it can be used only once.\n   * If the link expires, the original password remains.\n   * @param email - Login email of the member whose password will be set.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField email\n   * @param options - Email display options.\n   * @permissionId MEMBERS.SEND_SET_PASSWORD_EMAIL\n   */\n  function sendSetPasswordEmail(email: string, options?: SendSetPasswordEmailOptions): Promise<SendSetPasswordEmailResponse>;\n  interface SendSetPasswordEmailOptions {\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      requestedByMember?: boolean;\n      /**\n       * Whether to hide the ignore this email message .\n       *\n       * If `true`, the email tells the member\n       * they can safely ignore\n       * if they did not request the password change.\n       *\n       * Default: `false`.\n       */\n      hideIgnoreMessage?: boolean;\n  }\n  /**\n   * Reset member password\n   *\n   * Replaces the member password with a random password and it requires the member to reset his password to login\n   * @param contactId - Contact ID of the member whose password will be reset.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @permissionId MEMBERS.RESET_PASSWORD\n   * @adminMethod\n   */\n  function resetPassword(contactId: string): Promise<ResetPasswordResponse>;\n  /**\n   * Logs a member in with a social provider.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   * @returns Session token for logging the member in.\n   */\n  function socialLogin(options?: SocialLoginOptions): Promise<LoginResponse>;\n  interface SocialLoginOptions extends SocialLoginRequestLoginOneOf {\n      /** Must either pass explicit msid OR signed instance with visitor */\n      metaSiteId?: string | null;\n      appleLogin?: AppleLogin;\n      googleLogin?: GoogleLogin;\n      facebookLogin?: FacebookLogin;\n  }\n  \n  type identityMembersV1Member_universal_d_SiteMemberPrivacyStatus = SiteMemberPrivacyStatus;\n  const identityMembersV1Member_universal_d_SiteMemberPrivacyStatus: typeof SiteMemberPrivacyStatus;\n  type identityMembersV1Member_universal_d_SiteMemberStatus = SiteMemberStatus;\n  const identityMembersV1Member_universal_d_SiteMemberStatus: typeof SiteMemberStatus;\n  type identityMembersV1Member_universal_d_CustomFieldValueOneOf = CustomFieldValueOneOf;\n  type identityMembersV1Member_universal_d_FocalPoint = FocalPoint;\n  type identityMembersV1Member_universal_d_Group = Group;\n  type identityMembersV1Member_universal_d_PaginationResponse = PaginationResponse;\n  type identityMembersV1Member_universal_d_SearchRequest = SearchRequest;\n  type identityMembersV1Member_universal_d_SearchBy = SearchBy;\n  type identityMembersV1Member_universal_d_FilterBy = FilterBy;\n  type identityMembersV1Member_universal_d_SearchResponse = SearchResponse;\n  type identityMembersV1Member_universal_d_GetCurrentMemberRequest = GetCurrentMemberRequest;\n  type identityMembersV1Member_universal_d_GetUserMembershipsRequest = GetUserMembershipsRequest;\n  type identityMembersV1Member_universal_d_GetUserMembershipsResponse = GetUserMembershipsResponse;\n  type identityMembersV1Member_universal_d_UserMembership = UserMembership;\n  type identityMembersV1Member_universal_d_GetMemberRoleRequest = GetMemberRoleRequest;\n  type identityMembersV1Member_universal_d_GetMemberRoleResponse = GetMemberRoleResponse;\n  type identityMembersV1Member_universal_d_GetMemberRolesRequest = GetMemberRolesRequest;\n  type identityMembersV1Member_universal_d_GetMemberRolesResponse = GetMemberRolesResponse;\n  type identityMembersV1Member_universal_d_BatchGetMembersRequest = BatchGetMembersRequest;\n  type identityMembersV1Member_universal_d_BatchGetMembersResponse = BatchGetMembersResponse;\n  type identityMembersV1Member_universal_d_GetAuthorizedPagesRequest = GetAuthorizedPagesRequest;\n  type identityMembersV1Member_universal_d_GetAuthorizedPagesResponse = GetAuthorizedPagesResponse;\n  type identityMembersV1Member_universal_d_ChangeLoginEmailRequest = ChangeLoginEmailRequest;\n  type identityMembersV1Member_universal_d_ChangeLoginEmailResponse = ChangeLoginEmailResponse;\n  type identityMembersV1Member_universal_d_ApproveMemberRequestMemberIdentifierOneOf = ApproveMemberRequestMemberIdentifierOneOf;\n  type identityMembersV1Member_universal_d_Session = Session;\n  type identityMembersV1Member_universal_d_BlockMemberRequestMemberIdentifierOneOf = BlockMemberRequestMemberIdentifierOneOf;\n  type identityMembersV1Member_universal_d_Source = Source;\n  const identityMembersV1Member_universal_d_Source: typeof Source;\n  type identityMembersV1Member_universal_d_MakeMemberOfflineRequest = MakeMemberOfflineRequest;\n  type identityMembersV1Member_universal_d_MakeMemberOfflineResponse = MakeMemberOfflineResponse;\n  type identityMembersV1Member_universal_d_RegisterRequest = RegisterRequest;\n  type identityMembersV1Member_universal_d_MemberContactInfo = MemberContactInfo;\n  type identityMembersV1Member_universal_d_DialogData = DialogData;\n  type identityMembersV1Member_universal_d_EmailVerification = EmailVerification;\n  type identityMembersV1Member_universal_d_RegisterResponse = RegisterResponse;\n  type identityMembersV1Member_universal_d_EmailVerificationRequired = EmailVerificationRequired;\n  type identityMembersV1Member_universal_d_EmailVerificationFailed = EmailVerificationFailed;\n  type identityMembersV1Member_universal_d_VerificationFailureReason = VerificationFailureReason;\n  const identityMembersV1Member_universal_d_VerificationFailureReason: typeof VerificationFailureReason;\n  type identityMembersV1Member_universal_d_LoginRequest = LoginRequest;\n  type identityMembersV1Member_universal_d_LoginResponse = LoginResponse;\n  type identityMembersV1Member_universal_d_GetResetPasswordLinkRequest = GetResetPasswordLinkRequest;\n  type identityMembersV1Member_universal_d_GetResetPasswordLinkResponse = GetResetPasswordLinkResponse;\n  type identityMembersV1Member_universal_d_SendSetPasswordEmailRequest = SendSetPasswordEmailRequest;\n  type identityMembersV1Member_universal_d_SendSetPasswordEmailResponse = SendSetPasswordEmailResponse;\n  type identityMembersV1Member_universal_d_ResetPasswordRequest = ResetPasswordRequest;\n  type identityMembersV1Member_universal_d_ResetPasswordResponse = ResetPasswordResponse;\n  type identityMembersV1Member_universal_d_SocialLoginRequest = SocialLoginRequest;\n  type identityMembersV1Member_universal_d_SocialLoginRequestLoginOneOf = SocialLoginRequestLoginOneOf;\n  type identityMembersV1Member_universal_d_AppleLogin = AppleLogin;\n  type identityMembersV1Member_universal_d_GoogleLogin = GoogleLogin;\n  type identityMembersV1Member_universal_d_FacebookLogin = FacebookLogin;\n  const identityMembersV1Member_universal_d_list: typeof list;\n  type identityMembersV1Member_universal_d_ListOptions = ListOptions;\n  const identityMembersV1Member_universal_d_search: typeof search;\n  type identityMembersV1Member_universal_d_SearchOptions = SearchOptions;\n  const identityMembersV1Member_universal_d_getCurrent: typeof getCurrent;\n  const identityMembersV1Member_universal_d_get: typeof get;\n  type identityMembersV1Member_universal_d_GetOptions = GetOptions;\n  const identityMembersV1Member_universal_d_getUserMemberships: typeof getUserMemberships;\n  type identityMembersV1Member_universal_d_GetUserMembershipsOptions = GetUserMembershipsOptions;\n  const identityMembersV1Member_universal_d_getRole: typeof getRole;\n  type identityMembersV1Member_universal_d_GetRolesOptions = GetRolesOptions;\n  const identityMembersV1Member_universal_d_batchGet: typeof batchGet;\n  type identityMembersV1Member_universal_d_BatchGetOptions = BatchGetOptions;\n  const identityMembersV1Member_universal_d_getAuthorizedPages: typeof getAuthorizedPages;\n  type identityMembersV1Member_universal_d_GetAuthorizedPagesOptions = GetAuthorizedPagesOptions;\n  const identityMembersV1Member_universal_d_update: typeof update;\n  type identityMembersV1Member_universal_d_UpdateOptions = UpdateOptions;\n  const identityMembersV1Member_universal_d_changeLoginEmail: typeof changeLoginEmail;\n  type identityMembersV1Member_universal_d_ChangeLoginEmailOptions = ChangeLoginEmailOptions;\n  const identityMembersV1Member_universal_d_query: typeof query;\n  type identityMembersV1Member_universal_d_QueryOptions = QueryOptions;\n  const identityMembersV1Member_universal_d__delete: typeof _delete;\n  type identityMembersV1Member_universal_d_DeleteOptions = DeleteOptions;\n  const identityMembersV1Member_universal_d_approve: typeof approve;\n  type identityMembersV1Member_universal_d_ApproveOptions = ApproveOptions;\n  const identityMembersV1Member_universal_d_block: typeof block;\n  type identityMembersV1Member_universal_d_BlockOptions = BlockOptions;\n  const identityMembersV1Member_universal_d_makeMemberOffline: typeof makeMemberOffline;\n  const identityMembersV1Member_universal_d_register: typeof register;\n  type identityMembersV1Member_universal_d_RegisterOptions = RegisterOptions;\n  const identityMembersV1Member_universal_d_signup: typeof signup;\n  type identityMembersV1Member_universal_d_SignupOptions = SignupOptions;\n  const identityMembersV1Member_universal_d_login: typeof login;\n  type identityMembersV1Member_universal_d_LoginOptions = LoginOptions;\n  const identityMembersV1Member_universal_d_getResetPasswordLink: typeof getResetPasswordLink;\n  const identityMembersV1Member_universal_d_sendSetPasswordEmail: typeof sendSetPasswordEmail;\n  type identityMembersV1Member_universal_d_SendSetPasswordEmailOptions = SendSetPasswordEmailOptions;\n  const identityMembersV1Member_universal_d_resetPassword: typeof resetPassword;\n  const identityMembersV1Member_universal_d_socialLogin: typeof socialLogin;\n  type identityMembersV1Member_universal_d_SocialLoginOptions = SocialLoginOptions;\n  namespace identityMembersV1Member_universal_d {\n    export {\n      Member$1 as Member,\n      Role$1 as Role,\n      identityMembersV1Member_universal_d_SiteMemberPrivacyStatus as SiteMemberPrivacyStatus,\n      identityMembersV1Member_universal_d_SiteMemberStatus as SiteMemberStatus,\n      Address$1 as Address,\n      CustomField$1 as CustomField,\n      identityMembersV1Member_universal_d_CustomFieldValueOneOf as CustomFieldValueOneOf,\n      identityMembersV1Member_universal_d_FocalPoint as FocalPoint,\n      identityMembersV1Member_universal_d_Group as Group,\n      ListMembersRequest$1 as ListMembersRequest,\n      ListMembersResponse$1 as ListMembersResponse,\n      identityMembersV1Member_universal_d_PaginationResponse as PaginationResponse,\n      identityMembersV1Member_universal_d_SearchRequest as SearchRequest,\n      Paging$1 as Paging,\n      identityMembersV1Member_universal_d_SearchBy as SearchBy,\n      identityMembersV1Member_universal_d_FilterBy as FilterBy,\n      Sorting$1 as Sorting,\n      identityMembersV1Member_universal_d_SearchResponse as SearchResponse,\n      identityMembersV1Member_universal_d_GetCurrentMemberRequest as GetCurrentMemberRequest,\n      GetMemberResponse$1 as GetMemberResponse,\n      GetMemberRequest$1 as GetMemberRequest,\n      identityMembersV1Member_universal_d_GetUserMembershipsRequest as GetUserMembershipsRequest,\n      identityMembersV1Member_universal_d_GetUserMembershipsResponse as GetUserMembershipsResponse,\n      identityMembersV1Member_universal_d_UserMembership as UserMembership,\n      identityMembersV1Member_universal_d_GetMemberRoleRequest as GetMemberRoleRequest,\n      identityMembersV1Member_universal_d_GetMemberRoleResponse as GetMemberRoleResponse,\n      identityMembersV1Member_universal_d_GetMemberRolesRequest as GetMemberRolesRequest,\n      identityMembersV1Member_universal_d_GetMemberRolesResponse as GetMemberRolesResponse,\n      MemberRole$1 as MemberRole,\n      identityMembersV1Member_universal_d_BatchGetMembersRequest as BatchGetMembersRequest,\n      identityMembersV1Member_universal_d_BatchGetMembersResponse as BatchGetMembersResponse,\n      identityMembersV1Member_universal_d_GetAuthorizedPagesRequest as GetAuthorizedPagesRequest,\n      identityMembersV1Member_universal_d_GetAuthorizedPagesResponse as GetAuthorizedPagesResponse,\n      UpdateMemberRequest$1 as UpdateMemberRequest,\n      UpdateMemberResponse$1 as UpdateMemberResponse,\n      identityMembersV1Member_universal_d_ChangeLoginEmailRequest as ChangeLoginEmailRequest,\n      identityMembersV1Member_universal_d_ChangeLoginEmailResponse as ChangeLoginEmailResponse,\n      QueryMembersRequest$1 as QueryMembersRequest,\n      QueryMembersResponse$1 as QueryMembersResponse,\n      DeleteMemberRequest$1 as DeleteMemberRequest,\n      DeleteMemberResponse$1 as DeleteMemberResponse,\n      ApproveMemberRequest$1 as ApproveMemberRequest,\n      identityMembersV1Member_universal_d_ApproveMemberRequestMemberIdentifierOneOf as ApproveMemberRequestMemberIdentifierOneOf,\n      ApproveMemberResponse$1 as ApproveMemberResponse,\n      identityMembersV1Member_universal_d_Session as Session,\n      BlockMemberRequest$1 as BlockMemberRequest,\n      identityMembersV1Member_universal_d_BlockMemberRequestMemberIdentifierOneOf as BlockMemberRequestMemberIdentifierOneOf,\n      identityMembersV1Member_universal_d_Source as Source,\n      BlockMemberResponse$1 as BlockMemberResponse,\n      identityMembersV1Member_universal_d_MakeMemberOfflineRequest as MakeMemberOfflineRequest,\n      identityMembersV1Member_universal_d_MakeMemberOfflineResponse as MakeMemberOfflineResponse,\n      identityMembersV1Member_universal_d_RegisterRequest as RegisterRequest,\n      identityMembersV1Member_universal_d_MemberContactInfo as MemberContactInfo,\n      identityMembersV1Member_universal_d_DialogData as DialogData,\n      identityMembersV1Member_universal_d_EmailVerification as EmailVerification,\n      identityMembersV1Member_universal_d_RegisterResponse as RegisterResponse,\n      identityMembersV1Member_universal_d_EmailVerificationRequired as EmailVerificationRequired,\n      identityMembersV1Member_universal_d_EmailVerificationFailed as EmailVerificationFailed,\n      identityMembersV1Member_universal_d_VerificationFailureReason as VerificationFailureReason,\n      identityMembersV1Member_universal_d_LoginRequest as LoginRequest,\n      identityMembersV1Member_universal_d_LoginResponse as LoginResponse,\n      identityMembersV1Member_universal_d_GetResetPasswordLinkRequest as GetResetPasswordLinkRequest,\n      identityMembersV1Member_universal_d_GetResetPasswordLinkResponse as GetResetPasswordLinkResponse,\n      identityMembersV1Member_universal_d_SendSetPasswordEmailRequest as SendSetPasswordEmailRequest,\n      identityMembersV1Member_universal_d_SendSetPasswordEmailResponse as SendSetPasswordEmailResponse,\n      identityMembersV1Member_universal_d_ResetPasswordRequest as ResetPasswordRequest,\n      identityMembersV1Member_universal_d_ResetPasswordResponse as ResetPasswordResponse,\n      identityMembersV1Member_universal_d_SocialLoginRequest as SocialLoginRequest,\n      identityMembersV1Member_universal_d_SocialLoginRequestLoginOneOf as SocialLoginRequestLoginOneOf,\n      identityMembersV1Member_universal_d_AppleLogin as AppleLogin,\n      identityMembersV1Member_universal_d_GoogleLogin as GoogleLogin,\n      identityMembersV1Member_universal_d_FacebookLogin as FacebookLogin,\n      identityMembersV1Member_universal_d_list as list,\n      identityMembersV1Member_universal_d_ListOptions as ListOptions,\n      identityMembersV1Member_universal_d_search as search,\n      identityMembersV1Member_universal_d_SearchOptions as SearchOptions,\n      identityMembersV1Member_universal_d_getCurrent as getCurrent,\n      identityMembersV1Member_universal_d_get as get,\n      identityMembersV1Member_universal_d_GetOptions as GetOptions,\n      identityMembersV1Member_universal_d_getUserMemberships as getUserMemberships,\n      identityMembersV1Member_universal_d_GetUserMembershipsOptions as GetUserMembershipsOptions,\n      identityMembersV1Member_universal_d_getRole as getRole,\n      getRoles$1 as getRoles,\n      identityMembersV1Member_universal_d_GetRolesOptions as GetRolesOptions,\n      identityMembersV1Member_universal_d_batchGet as batchGet,\n      identityMembersV1Member_universal_d_BatchGetOptions as BatchGetOptions,\n      identityMembersV1Member_universal_d_getAuthorizedPages as getAuthorizedPages,\n      identityMembersV1Member_universal_d_GetAuthorizedPagesOptions as GetAuthorizedPagesOptions,\n      identityMembersV1Member_universal_d_update as update,\n      identityMembersV1Member_universal_d_UpdateOptions as UpdateOptions,\n      identityMembersV1Member_universal_d_changeLoginEmail as changeLoginEmail,\n      identityMembersV1Member_universal_d_ChangeLoginEmailOptions as ChangeLoginEmailOptions,\n      identityMembersV1Member_universal_d_query as query,\n      identityMembersV1Member_universal_d_QueryOptions as QueryOptions,\n      identityMembersV1Member_universal_d__delete as _delete,\n      identityMembersV1Member_universal_d_DeleteOptions as DeleteOptions,\n      identityMembersV1Member_universal_d_approve as approve,\n      identityMembersV1Member_universal_d_ApproveOptions as ApproveOptions,\n      identityMembersV1Member_universal_d_block as block,\n      identityMembersV1Member_universal_d_BlockOptions as BlockOptions,\n      identityMembersV1Member_universal_d_makeMemberOffline as makeMemberOffline,\n      identityMembersV1Member_universal_d_register as register,\n      identityMembersV1Member_universal_d_RegisterOptions as RegisterOptions,\n      identityMembersV1Member_universal_d_signup as signup,\n      identityMembersV1Member_universal_d_SignupOptions as SignupOptions,\n      identityMembersV1Member_universal_d_login as login,\n      identityMembersV1Member_universal_d_LoginOptions as LoginOptions,\n      identityMembersV1Member_universal_d_getResetPasswordLink as getResetPasswordLink,\n      identityMembersV1Member_universal_d_sendSetPasswordEmail as sendSetPasswordEmail,\n      identityMembersV1Member_universal_d_SendSetPasswordEmailOptions as SendSetPasswordEmailOptions,\n      identityMembersV1Member_universal_d_resetPassword as resetPassword,\n      identityMembersV1Member_universal_d_socialLogin as socialLogin,\n      identityMembersV1Member_universal_d_SocialLoginOptions as SocialLoginOptions,\n    };\n  }\n  \n  interface Member {\n      /**\n       * Member ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Email used by the member to log in to the site. */\n      loginEmail?: string | null;\n      /**\n       * Whether the email used by the member has been verified.\n       * @readonly\n       */\n      loginEmailVerified?: boolean | null;\n      /**\n       * Member site access status.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Contact ID.\n       * @readonly\n       */\n      contactId?: string | null;\n      /**\n       * Member's contact information. Contact information is stored in the\n       * [Contact List](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n       */\n      contact?: Contact;\n      /** Profile display details. */\n      profile?: Profile;\n      /** Member privacy status. */\n      privacyStatus?: PrivacyStatusStatus;\n      /**\n       * Member activity status.\n       * @readonly\n       */\n      activityStatus?: ActivityStatusStatus;\n      /**\n       * Date and time when the member was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the member was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Date and time when the member last logged in to the site.\n       * @readonly\n       */\n      lastLoginDate?: Date | null;\n      /**\n       * Extended fields\n       * @internal\n       * @deprecated Extended fields\n       * @targetRemovalDate 2024-06-01\n       */\n      extendedFields?: ExtendedFields;\n  }\n  enum Status {\n      /** Insufficient permissions to get the status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Member created and is waiting for approval by site owner. */\n      PENDING = \"PENDING\",\n      /** Member can log in to the site. */\n      APPROVED = \"APPROVED\",\n      /** Member is blocked and can't log in to the site. */\n      BLOCKED = \"BLOCKED\",\n      /** Member is a [guest author](https://support.wix.com/en/article/wix-blog-adding-guest-authors-to-your-blog) for the site blog and can't log in to the site. */\n      OFFLINE = \"OFFLINE\"\n  }\n  /** Contact info associated with the member. */\n  interface Contact {\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      contactId?: string | null;\n      /** Contact's first name. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /** List of phone numbers. */\n      phones?: string[] | null;\n      /** List of email addresses. */\n      emails?: string[] | null;\n      /** List of street addresses. */\n      addresses?: Address[];\n      /**\n       * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n       *\n       * Example: `\"2020-03-15\"` for March 15, 2020.\n       */\n      birthdate?: string | null;\n      /** Contact's company name. */\n      company?: string | null;\n      /** Contact's job title. */\n      jobTitle?: string | null;\n      /**\n       * Custom fields are structured as key:value pairs where each key is the field `name`, and each value is the field's `value` for the member.\n       *\n       * > **Notes:**\n       * > - Only custom fields added to the member profile in the Dashboard are available through the Members API. Empty fields are not returned.\n       * > - When updating a member, `name` is ignored.\n       */\n      customFields?: Record<string, CustomField>;\n  }\n  /** Street address. */\n  interface Address extends AddressStreetOneOf {\n      /** Street address object, with number and name in separate fields. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /**\n       * Street address ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Free text providing more detailed address information,\n       * such as apartment, suite, or floor.\n       */\n      addressLine2?: string | null;\n      /** City name. */\n      city?: string | null;\n      /**\n       * Code for a subdivision (such as state, prefecture, or province) in an\n       * [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n       */\n      subdivision?: string | null;\n      /**\n       * 2-letter country code in an\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n       */\n      country?: string | null;\n      /** Postal code. */\n      postalCode?: string | null;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street address object, with number and name in separate fields. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n  }\n  interface CustomField {\n      /** Custom field name. */\n      name?: string | null;\n      /** Custom field value. */\n      value?: any;\n  }\n  /** Member Profile */\n  interface Profile {\n      /**\n       * Name that identifies the member to other members.\n       * Displayed on the member's profile page\n       * and interactions in the forum or blog.\n       */\n      nickname?: string | null;\n      /**\n       * Slug that determines the member's profile page URL.\n       * @readonly\n       */\n      slug?: string | null;\n      /** Member's profile photo. */\n      photo?: Image;\n      /**\n       * Member's cover photo,\n       * used as a background picture in members profile page.\n       *\n       * Cover positioning can be altered with `cover.offsetX` and `cover.offsetY`.\n       * When left empty, the values default to `0`.\n       */\n      cover?: Image;\n      /**\n       * Member title.\n       *\n       * Currently available through the API only.\n       */\n      title?: string | null;\n  }\n  interface Image {\n      /**\n       * Wix Media image ID,\n       * set when the member selects an image from Wix Media.\n       */\n      _id?: string;\n      /** Image URL. */\n      url?: string;\n      /** Original image width. */\n      height?: number;\n      /** Original image height. */\n      width?: number;\n      /**\n       * X-axis offset.\n       *\n       * Default: `0`.\n       */\n      offsetX?: number | null;\n      /**\n       * Y-axis offset.\n       *\n       * Default: `0`.\n       */\n      offsetY?: number | null;\n  }\n  enum PrivacyStatusStatus {\n      /** Insufficient permissions to get the status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Member is hidden from site visitors and other site members. Member is returned only to site contributors and apps with the appropriate permissions. */\n      PRIVATE = \"PRIVATE\",\n      /** Member is visible to everyone. */\n      PUBLIC = \"PUBLIC\"\n  }\n  enum ActivityStatusStatus {\n      /** Insufficient permissions to get the status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Member can write forum posts and blog comments. */\n      ACTIVE = \"ACTIVE\",\n      /** Member can't write forum posts or blog comments. */\n      MUTED = \"MUTED\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface UpdateMySlugRequest {\n      /** New slug. */\n      slug: string;\n  }\n  interface UpdateMySlugResponse {\n      /** Updated member. */\n      member?: Member;\n  }\n  interface SlugAlreadyExistsPayload {\n      slug?: string;\n  }\n  interface UpdateMemberSlugRequest {\n      /** Member ID. */\n      _id: string;\n      /** New slug. */\n      slug: string;\n  }\n  interface UpdateMemberSlugResponse {\n      /** Updated member. */\n      member?: Member;\n  }\n  interface JoinCommunityRequest {\n  }\n  /** Member profile. */\n  interface JoinCommunityResponse {\n      /** The updated member. */\n      member?: Member;\n  }\n  interface MemberJoinedCommunity {\n      /**\n       * Member id who joined the community\n       * @readonly\n       */\n      memberId?: string;\n  }\n  interface LeaveCommunityRequest {\n  }\n  /** Member profile. */\n  interface LeaveCommunityResponse {\n      /** The updated member. */\n      member?: Member;\n  }\n  interface MemberLeftCommunity {\n      /**\n       * Member id who left the community\n       * @readonly\n       */\n      memberId?: string;\n  }\n  interface GetMyMemberRequest {\n      /**\n       * Predefined set of fields to return.\n       *\n       * - `\"FULL\"`: Returns all fields.\n       * - `\"PUBLIC\"`: Returns `_id` and all fields under `profile`.\n       *\n       * > **Note:**\n       * > When returning the `\"PUBLIC\"` fieldset,\n       * > `profile.status`, `profile.privacyStatus`, and `profile.activityStatus`\n       * > are returned as `\"UNKNOWN\"`.\n       * @deprecated\n       */\n      fieldSet?: Set;\n      /**\n       * Predefined set of fields to return.\n       *\n       * Default: `PUBLIC`.\n       */\n      fieldsets?: Set[];\n  }\n  enum Set {\n      /**\n       * Includes `id`, `contactId`, `createdDate`, `updatedDate` and the `profile` object.\n       * `status`, `privacyStatus`, and `activityStatus` are returned as `UNKNOWN`.\n       */\n      PUBLIC = \"PUBLIC\",\n      /** Includes `id`, `loginEmail`, `status`, `contactId`, `createdDate`, `updatedDate`, `privacyStatus`, `activityStatus` and the `profile` object. */\n      EXTENDED = \"EXTENDED\",\n      /** Includes all fields. */\n      FULL = \"FULL\"\n  }\n  /** Member profile. */\n  interface GetMyMemberResponse {\n      /** The logged-in member. */\n      member?: Member;\n  }\n  interface GetMemberRequest {\n      /** Member ID. */\n      _id: string;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fieldSet?: Set;\n      /**\n       * Predefined set of fields to return. One of:\n       * - `\"FULL\"`: Returns all fields.\n       * - `\"PUBLIC\"`: Returns `id`, `contactId`, and the `profile` object. `status`, `privacyStatus`, and `activityStatus` are returned as `UNKNOWN`.\n       * - `\"EXTENDED\"`: Returns `id`, `loginEmail`, `status`, `contactId`, `privacyStatus`, `activityStatus`, and the `profile` object.\n       *\n       *\n       */\n      fieldsets?: Set[];\n  }\n  interface GetMemberResponse {\n      /** The requested member. */\n      member?: Member;\n  }\n  interface MemberToMemberBlockedPayload {\n      /** Member ID. */\n      memberId?: string;\n  }\n  interface ListMembersRequest {\n      paging?: Paging;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fieldSet?: Set;\n      /**\n       * Predefined set of fields to return. One of:\n       * - `\"FULL\"`: Returns all fields.\n       * - `\"PUBLIC\"`: Returns `id`, `contactId`, and the `profile` object. `status`, `privacyStatus`, and `activityStatus` are returned as `UNKNOWN`.\n       * - `\"EXTENDED\"`: Returns `id`, `loginEmail`, `status`, `contactId`, `privacyStatus`, `activityStatus`, and the `profile` object.\n       *\n       * Default: `\"PUBLIC\"`.\n       */\n      fieldsets?: Set[];\n      sorting?: Sorting[];\n      /**\n       * Cursor paging.\n       *\n       * Priority over paging property\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListMembersResponse {\n      /** List of members. */\n      members?: Member[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadata;\n      /**\n       * Cursor metadata for paginated results.\n       * @internal\n       */\n      cursorPagingMetadata?: CursorPagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryMembersRequest {\n      /** Query options. */\n      query?: Query$1;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fieldSet?: Set;\n      /**\n       * Predefined sets of fields to return.\n       *\n       * Default: `PUBLIC`.\n       */\n      fieldsets?: Set[];\n      /** Plain text search. */\n      search?: Search;\n  }\n  interface Query$1 {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      filter?: any;\n      /** Limit number of results */\n      paging?: Paging;\n      /** Sort the results */\n      sorting?: Sorting[];\n      /**\n       * Cursor paging.\n       *\n       * Priority over paging property\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n  }\n  /** Free text to match in searchable fields */\n  interface Search {\n      /** Search term or expression. */\n      expression?: string | null;\n      /**\n       * Currently supported fields for search:\n       *\n       * - `loginEmail`\n       * - `contact.firstName`\n       * - `contact.lastName`\n       * - `profile.title`\n       * - `profile.nickname`\n       * - `profile.slug`\n       *\n       * Default: `profile.nickname`.\n       */\n      fields?: string[];\n  }\n  interface QueryMembersResponse {\n      /** List of members that met the query filter criteria. */\n      members?: Member[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadata;\n      /**\n       * Cursor metadata for paginated results.\n       * @internal\n       */\n      cursorPagingMetadata?: CursorPagingMetadata;\n  }\n  interface MuteMemberRequest {\n      /** ID of the member to mute. */\n      _id: string;\n  }\n  interface MuteMemberResponse {\n      /** Muted member. */\n      member?: Member;\n  }\n  interface MemberMuted {\n      /**\n       * Member id who got muted\n       * @readonly\n       */\n      memberId?: string;\n  }\n  interface UnmuteMemberRequest {\n      /** ID of the member to unmute. */\n      _id: string;\n  }\n  interface UnmuteMemberResponse {\n      /** Unmuted member. */\n      member?: Member;\n  }\n  interface MemberUnmuted {\n      /**\n       * Member id who got unmuted\n       * @readonly\n       */\n      memberId?: string;\n  }\n  interface ApproveMemberRequest {\n      /** ID of the member to approve. */\n      _id: string;\n  }\n  interface ApproveMemberResponse {\n      /** Approved member. */\n      member?: Member;\n  }\n  interface MemberApproved {\n      /**\n       * Member id who got approved\n       * @readonly\n       */\n      memberId?: string;\n  }\n  interface BlockMemberRequest {\n      /** ID of a member to block. */\n      _id: string;\n  }\n  interface BlockMemberResponse {\n      /** Blocked member. */\n      member?: Member;\n  }\n  interface MemberBlocked {\n      /**\n       * Member id who got blocked\n       * @readonly\n       */\n      memberId?: string;\n  }\n  interface MemberSelfBlockForbiddenPayload {\n      /** Target's member ID. */\n      memberId?: string;\n  }\n  interface OwnerMemberBlockForbiddenPayload {\n      /** Owner's member ID. */\n      memberId?: string;\n  }\n  interface ActiveSubscriptionMemberBlockForbiddenPayload {\n      /** Active subscription member ID. */\n      memberId?: string;\n  }\n  interface DisconnectMemberRequest {\n      /** ID of a member to disconnect. */\n      _id: string;\n  }\n  interface DisconnectMemberResponse {\n      /** Disconnected member. */\n      member?: Member;\n  }\n  interface DeleteMemberRequest {\n      /** ID of the member to delete. */\n      _id: string;\n      /**\n       * ID of a member receiving deleted member's content.\n       * @internal\n       */\n      contentAssigneeId?: string | null;\n  }\n  interface DeleteMemberResponse {\n  }\n  interface ContentReassignmentRequested {\n      fromMember?: Member;\n      toMember?: Member;\n  }\n  interface ContentDeletionRequested {\n      member?: Member;\n  }\n  interface OwnerOrContributorDeleteForbiddenPayload {\n      /** Owner's or contributor's member ID. */\n      memberId?: string;\n  }\n  interface ActiveSubscriptionMemberDeleteForbiddenPayload {\n      /** Active subscription member ID. */\n      memberId?: string;\n  }\n  interface DeleteMyMemberRequest {\n      /** ID of a member receiving deleted member's content. */\n      contentAssigneeId?: string | null;\n  }\n  interface DeleteMyMemberResponse {\n  }\n  interface BulkDeleteMembersRequest {\n      /** IDs of members to be deleted. */\n      memberIds: string[];\n  }\n  interface BulkDeleteMembersResponse {\n      /** Result. */\n      results?: BulkMemberResult[];\n      /** Bulk action result metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkMemberResult {\n      itemMetadata?: ItemMetadata;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkDeleteMembersByFilterRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      filter: any;\n      /** ID of a member receiving the deleted member's content. */\n      contentAssigneeId?: string | null;\n      /** Plain text search. */\n      search?: Search;\n  }\n  interface BulkDeleteMembersByFilterResponse {\n      /**\n       * Job ID.\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.\n       */\n      jobId?: string;\n  }\n  interface BulkApproveMembersRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      filter: any;\n  }\n  interface BulkApproveMembersResponse {\n      /**\n       * Job ID.\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.\n       */\n      jobId?: string;\n  }\n  interface BulkBlockMembersRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      filter: any;\n  }\n  interface BulkBlockMembersResponse {\n      /**\n       * Job ID.\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.\n       */\n      jobId?: string;\n  }\n  interface CreateMemberRequest {\n      /** Member to create. */\n      member?: Member;\n  }\n  interface CreateMemberResponse {\n      /** New member. */\n      member?: Member;\n  }\n  interface UpdateMemberRequest {\n      /** Member to update. */\n      member?: Member;\n  }\n  interface UpdateMemberResponse {\n      /** Updated member. */\n      member?: Member;\n  }\n  interface InvalidCustomFieldUrlPayload {\n      /** Custom field key and invalid URL. */\n      fields?: Record<string, string>;\n  }\n  interface DeleteMemberPhonesRequest {\n      /** ID of the member whose phone numbers will be deleted. */\n      _id: string;\n  }\n  interface DeleteMemberPhonesResponse {\n      /** Updated member. */\n      member?: Member;\n  }\n  interface DeleteMemberEmailsRequest {\n      /** ID of the member whose email addresses will be deleted. */\n      _id: string;\n  }\n  interface DeleteMemberEmailsResponse {\n      /** Updated member. */\n      member?: Member;\n  }\n  interface DeleteMemberAddressesRequest {\n      /** ID of the member whose street addresses will be deleted. */\n      _id: string;\n  }\n  interface DeleteMemberAddressesResponse {\n      /** Updated member. */\n      member?: Member;\n  }\n  interface Empty$1 {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface MemberOwnershipTransferred {\n      fromMember?: Member;\n      toMember?: Member;\n  }\n  interface MemberIdChanged {\n      fromId?: string;\n      toId?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Updates the currently logged in member's slug.\n   *\n   * The `slug` is the end of a member's URL that refers to a specific logged-in member. For example, if a member's URL is `https://example.com/member/{my-member-slug}`, the slug is `my-member-slug`. The slug is case-sensitive and is generally derived from the member's `nickname`; otherwise, it's derived from the `loginEmail`.\n   *\n   * > **Note:**\n   * > Only logged-in members can call this function without elevated permissions.\n   * > To call this function as a different identity, [elevated permissions](https://www.wix.com/velo/reference/wix-auth/elevate) are required.\n   * @param slug - New slug.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField slug\n   * @permissionId MEMBERS.MEMBER_UPDATE\n   */\n  function updateCurrentMemberSlug(slug: string): Promise<UpdateMySlugResponse>;\n  /**\n   * Updates the member's slug.\n   * @param _id - Member ID.\n   * @param slug - New slug.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField slug\n   * @permissionId MEMBERS.MEMBER_UPDATE\n   */\n  function updateMemberSlug(_id: string, slug: string): Promise<UpdateMemberSlugResponse>;\n  /**\n   * Joins the currently logged-in member to the site community and sets their profile to public.\n   *\n   * When a member's profile is public, they have access to the site's\n   * [Members Area](https://support.wix.com/en/article/about-members-area)\n   * features — such as chat, forum, and followers —\n   * and their profile is visible to other members and site visitors.\n   *\n   * > **Note:**\n   * > Only logged-in members can call this function without elevated permissions.\n   * > To call this function as a different identity, [elevated permissions](https://www.wix.com/velo/reference/wix-auth/elevate) are required.\n   * @public\n   * @permissionId MEMBERS.MEMBER_JOIN_COMMUNITY\n   * @returns Member profile.\n   */\n  function joinCommunity(): Promise<JoinCommunityResponse>;\n  /**\n   * Removes the currently logged-in member from the site community and sets their profile to private.\n   *\n   * When a member's profile is private,\n   * they do not have access to the site's\n   * [Members Area](https://support.wix.com/en/article/about-members-area)\n   * features — such as chat, forum, and followers —\n   * and their profile is hidden from other members and site visitors.\n   *\n   * > **Notes:**\n   * > + If a member leaves the site's community, their content (such as forum posts and blog comments) remain publicly visible.\n   *\n   * > + Only logged-in members can call this function without elevated permissions.\n   * > + To call this function as a different identity, [elevated permissions](https://www.wix.com/velo/reference/wix-auth/elevate) are required.\n   * @public\n   * @permissionId MEMBERS.MEMBER_JOIN_COMMUNITY\n   * @returns Member profile.\n   */\n  function leaveCommunity(): Promise<LeaveCommunityResponse>;\n  /**\n   * Retrieves the currently logged-in member.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.MEMBER_READ\n   * @returns Member profile.\n   */\n  function getCurrentMember(options?: GetCurrentMemberOptions): Promise<GetMyMemberResponse>;\n  interface GetCurrentMemberOptions {\n      /**\n       * Predefined set of fields to return.\n       *\n       * - `\"FULL\"`: Returns all fields.\n       * - `\"PUBLIC\"`: Returns `_id` and all fields under `profile`.\n       *\n       * > **Note:**\n       * > When returning the `\"PUBLIC\"` fieldset,\n       * > `profile.status`, `profile.privacyStatus`, and `profile.activityStatus`\n       * > are returned as `\"UNKNOWN\"`.\n       * @deprecated\n       */\n      fieldSet?: Set;\n      /**\n       * Predefined set of fields to return.\n       *\n       * Default: `PUBLIC`.\n       */\n      fieldsets?: Set[];\n  }\n  /**\n   * Retrieves a member by ID.\n   *\n   * >**Note:** The returned Member object contains only the fields that were explicitly added to the Member object. Custom Contact fields are **not** automatically added to the Member object. They must be [added to the Member object by the site owner](https://support.wix.com/en/article/site-members-customizing-your-member-profile-fields).\n   *\n   * @param _id - Member ID.\n   * @public\n   * @requiredField _id\n   * @param options - Fieldset options.\n   * @permissionId MEMBERS.MEMBER_READ\n   * @returns The requested member.\n   */\n  function getMember(_id: string, options?: GetMemberOptions): Promise<Member>;\n  interface GetMemberOptions {\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fieldSet?: Set;\n      /**\n       * Predefined set of fields to return. One of:\n       * - `\"FULL\"`: Returns all fields.\n       * - `\"PUBLIC\"`: Returns `id`, `contactId`, and the `profile` object. `status`, `privacyStatus`, and `activityStatus` are returned as `UNKNOWN`.\n       * - `\"EXTENDED\"`: Returns `id`, `loginEmail`, `status`, `contactId`, `privacyStatus`, `activityStatus`, and the `profile` object.\n       *\n       * Default: `\"PUBLIC\"`.\n       */\n      fieldsets?: Set[];\n  }\n  /**\n   * Lists site members, given the provided paging and fieldsets.\n   *\n   * - `PUBLIC` fieldset returns `id` and `profile` object. `status`, `privacyStatus` and `activityStatus` are returned as `UNKNOWN`.\n   * - `FULL` fieldset returns all fields.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options for paging, sorting, and specifying fields to return.\n   * @permissionId MEMBERS.MEMBER_READ\n   */\n  function listMembers(options?: ListMembersOptions): Promise<ListMembersResponse>;\n  interface ListMembersOptions {\n      /** Paging options. */\n      paging?: Paging;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fieldSet?: Set;\n      /**\n       * Predefined set of fields to return. One of:\n       * - `\"FULL\"`: Returns all fields.\n       * - `\"PUBLIC\"`: Returns `id`, `contactId`, and the `profile` object. `status`, `privacyStatus`, and `activityStatus` are returned as `UNKNOWN`.\n       * - `\"EXTENDED\"`: Returns `id`, `loginEmail`, `status`, `contactId`, `privacyStatus`, `activityStatus`, and the `profile` object.\n       *\n       * Default: `\"PUBLIC\"`.\n       */\n      fieldsets?: Set[];\n      /** Sorting options. */\n      sorting?: Sorting[];\n      /**\n       * Cursor paging.\n       *\n       * Priority over paging property\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n  }\n  /**\n   * Retrieves a list of up to 100 members, given the provided filters, fieldsets, sorting and paging, and returns a `MembersQueryBuilder` object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `MembersQueryBuilder` functions onto the query. `MembersQueryBuilder` functions enable you to sort, filter, and control the results that `queryMembers()` returns. The functions that are chained to `queryMembers()` are applied in the order they are called.\n   *\n   * `queryMembers()` runs with the following `MembersQueryBuilder` defaults that you can override:\n   * - `skip`: `0`\n   * - `limit`: `50`\n   *\n   * Currently supported fields for sorting:\n   * - `profile.nickname`\n   * - `contact.firstName`\n   * - `contact.lastName`\n   * - `createdDate`\n   * - `lastLoginDate`\n   *\n   * The following `MembersQueryBuilder` functions are supported for the `queryMembers()` function. For a full description of the Locations object, see the returned for the `items` property in `MembersQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Query options.\n   * @permissionId MEMBERS.MEMBER_READ\n   */\n  function queryMembers(options?: QueryMembersOptions): MembersQueryBuilder;\n  interface QueryMembersOptions {\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fieldSet?: Set | undefined;\n      /**\n       * Predefined set of fields to return. One of:\n       * - `\"FULL\"`: Returns all fields.\n       * - `\"PUBLIC\"`: Returns `id`, `contactId`, and the `profile` object. `status`, `privacyStatus`, and `activityStatus` are returned as `UNKNOWN`.\n       * - `\"EXTENDED\"`: Returns `id`, `loginEmail`, `status`, `contactId`, `privacyStatus`, `activityStatus`, and the `profile` object.\n       *\n       * Default: `\"PUBLIC\"`.\n       */\n      fieldsets?: Set[] | undefined;\n      /** Plain text search. */\n      search?: Search | undefined;\n  }\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface MembersQueryResult extends QueryOffsetResult {\n      items: Member[];\n      query: MembersQueryBuilder;\n      next: () => Promise<MembersQueryResult>;\n      prev: () => Promise<MembersQueryResult>;\n  }\n  interface MembersQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'loginEmail' | 'contactId' | 'contact.firstName' | 'contact.lastName' | 'profile.nickname' | 'profile.slug' | 'privacyStatus', value: any) => MembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'loginEmail' | 'contactId' | 'contact.firstName' | 'contact.lastName' | 'profile.nickname' | 'profile.slug' | 'privacyStatus', value: any) => MembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'loginEmail' | 'contactId' | 'contact.firstName' | 'contact.lastName' | 'profile.nickname' | 'profile.slug', value: string) => MembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'loginEmail' | 'contactId' | 'contact.firstName' | 'contact.lastName' | 'profile.nickname' | 'profile.slug' | 'privacyStatus', value: any[]) => MembersQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'loginEmail' | 'contactId' | 'contact.firstName' | 'contact.lastName' | 'profile.nickname' | 'profile.slug' | 'privacyStatus', value: any) => MembersQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'loginEmail' | 'contactId' | 'contact.firstName' | 'contact.lastName' | 'profile.nickname' | 'profile.slug' | 'privacyStatus', value: boolean) => MembersQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => MembersQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => MembersQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<MembersQueryResult>;\n  }\n  /**\n   * Mutes a member.\n   *\n   * Muted members can't engage with a community. For example, leave comments, like, and share posts or comments.\n   *\n   * You can mute members in [Wix Blog](https://dev.wix.com/docs/rest/business-solutions/blog/introduction) and [Wix Forum](https://dev.wix.com/docs/rest/business-solutions/forum/introduction).\n   * @param _id - ID of the member to mute.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_MUTE\n   * @adminMethod\n   */\n  function muteMember(_id: string): Promise<MuteMemberResponse>;\n  /**\n   * Unmutes a member.\n   *\n   * Unmuted members can engage with the comunity. For example, leave comments, like, and share posts.\n   *\n   * You can unmute members in [Wix Blog](https://dev.wix.com/docs/rest/business-solutions/blog/introduction) and [Wix Forum](https://dev.wix.com/docs/rest/business-solutions/forum/introduction).\n   * @param _id - ID of the member to unmute.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_MUTE\n   * @adminMethod\n   */\n  function unmuteMember(_id: string): Promise<UnmuteMemberResponse>;\n  /**\n   * Changes member status to `APPROVED` and gives access to members-only pages.\n   *\n   * Call this API to:\n   * - Approve a pending member.\n   * - Unblock a blocked member.\n   * @param _id - ID of the member to approve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_APPROVE\n   * @adminMethod\n   */\n  function approveMember(_id: string): Promise<ApproveMemberResponse>;\n  /**\n   * Blocks a member.\n   *\n   * A blocked member can't log in to members-only pages.\n   *\n   * To unblock a member, call Approve Member.\n   * @param _id - ID of a member to block.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_BLOCK\n   * @adminMethod\n   */\n  function blockMember(_id: string): Promise<BlockMemberResponse>;\n  /**\n   * Disconnects a member.\n   *\n   * A disconnected member can't log in to members-only pages, and the member isn't visible in the dashboard.\n   *\n   * >**Note:** This action is irreversible. To connect the same member again, you have to create a member with a new slug.\n   * @param _id - ID of a member to disconnect.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_DISCONNECT\n   * @adminMethod\n   */\n  function disconnectMember(_id: string): Promise<DisconnectMemberResponse>;\n  /**\n   * Deletes a member.\n   *\n   * The `deleteMember()` function returns a Promise that resolves to a member object when the specified member is deleted.\n   *\n   * >**Note:** This function permanently deletes a member. Once deleted, a member cannot be restored.\n   * @param _id - ID of the member to delete.\n   * @public\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_DELETE\n   * @adminMethod\n   */\n  function deleteMember(_id: string, options?: DeleteMemberOptions): Promise<void>;\n  interface DeleteMemberOptions {\n      /**\n       * ID of a member receiving deleted member's content.\n       * @internal\n       */\n      contentAssigneeId?: string | null;\n  }\n  /**\n   * Deletes the currently logged in member.\n   *\n   * After calling this method, the member is logged out of the site.\n   *\n   * All content created by this member is transferred to another account. For example, if a Wix user had blog posts, those posts are transferred to the specified account, which then becomes the owner of those posts.\n   *\n   * >**Note:**\n   * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.MEMBER_DELETE\n   * @adminMethod\n   */\n  function deleteMyMember(options?: DeleteMyMemberOptions): Promise<void>;\n  interface DeleteMyMemberOptions {\n      /** ID of a member receiving deleted member's content. */\n      contentAssigneeId?: string | null;\n  }\n  /**\n   * Deletes multiple members by `memberId`.\n   *\n   * All content created by these members is transferred to a site owner's account. For example, if Wix users had blog posts, those posts are transferred to the site owner's account, which then becomes the owner of those posts.\n   * @param memberIds - IDs of members to be deleted.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberIds\n   * @permissionId MEMBERS.MEMBER_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteMembers(memberIds: string[]): Promise<BulkDeleteMembersResponse>;\n  /**\n   * Deletes multiple members by the specified filter.\n   *\n   * All content created by these members is transferred to a site owner's account. For example, if Wix users had blog posts, those posts are transferred to the site owner's account, which then becomes the owner of those posts.\n   * @param filter - Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId MEMBERS.MEMBER_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteMembersByFilter(filter: any, options?: BulkDeleteMembersByFilterOptions): Promise<BulkDeleteMembersByFilterResponse>;\n  interface BulkDeleteMembersByFilterOptions {\n      /** ID of a member receiving the deleted member's content. */\n      contentAssigneeId?: string | null;\n      /** Plain text search. */\n      search?: Search;\n  }\n  /**\n   * Changes status of multiple members to `APPROVED`, and gives access to members-only pages.\n   *\n   * Call this API to:\n   * - Approve peding members.\n   * - Unblock blocked members.\n   * @param filter - Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId MEMBERS.MEMBER_APPROVE\n   * @adminMethod\n   */\n  function bulkApproveMembers(filter: any): Promise<BulkApproveMembersResponse>;\n  /**\n   * Blocks multiple members by a specified filter.\n   *\n   * Blocked members can't log in to members-only pages.\n   *\n   * To unblock multiple members, call Bulk Approve Members.\n   * @param filter - Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId MEMBERS.MEMBER_BLOCK\n   * @adminMethod\n   */\n  function bulkBlockMembers(filter: any): Promise<BulkBlockMembersResponse>;\n  /**\n   * Creates a site member.\n   *\n   * After creation, you can use the `sendSetPasswordEmail()` function in the Members Authentication API to email the member with a link to set their password.\n   * The member can log in to the site once they set their password for the first time.\n   *\n   * > **Note:**\n   * > When creating multiple members, set your requests at least 1 second apart to keep below rate limits.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.MEMBER_CREATE\n   * @adminMethod\n   * @returns New member.\n   */\n  function createMember(options?: CreateMemberOptions): Promise<Member>;\n  interface CreateMemberOptions {\n      /** Member to create. */\n      member?: Member;\n  }\n  /**\n   * Updates a member's properties.\n   *\n   * Only the requested fields are updated.\n   * To clear a field's value, set an empty value with an empty string `\"\"`.\n   *\n   * > **Note:**\n   * > Updating the `contact.addresses`, `contact.emails`, or `contact.phones` array overwrites the entire array, so any existing values you want to retain must be passed in the `updateMember()` call along with the new values to add.\n   * > However, passing an empty array will have no effect, and these functions must be used to clear all data from the respective array:\n   * >- To clear `contact.addresses`, use `deleteMemberAddresses()`.\n   * >- To clear `contact.emails`, use `deleteMemberEmails()`.\n   * >- To clear `contact.phones`, use `deleteMemberPhones()`.\n   *\n   * > **Note:**\n   * > Only logged-in members can call this function without elevated permissions.\n   * > To call this function as a different identity, [elevated permissions](https://www.wix.com/velo/reference/wix-auth/elevate) are required.\n   * @param _id - Member ID.\n   * @public\n   * @requiredField _id\n   * @requiredField member\n   * @param options - Member to update.\n   * @permissionId MEMBERS.MEMBER_UPDATE\n   * @returns Updated member.\n   */\n  function updateMember(_id: string | null, member: UpdateMember): Promise<Member>;\n  interface UpdateMember {\n      /**\n       * Member ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Email used by the member to log in to the site. */\n      loginEmail?: string | null;\n      /**\n       * Whether the email used by the member has been verified.\n       * @readonly\n       */\n      loginEmailVerified?: boolean | null;\n      /**\n       * Member site access status.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Contact ID.\n       * @readonly\n       */\n      contactId?: string | null;\n      /**\n       * Member's contact information. Contact information is stored in the\n       * [Contact List](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n       */\n      contact?: Contact;\n      /** Profile display details. */\n      profile?: Profile;\n      /** Member privacy status. */\n      privacyStatus?: PrivacyStatusStatus;\n      /**\n       * Member activity status.\n       * @readonly\n       */\n      activityStatus?: ActivityStatusStatus;\n      /**\n       * Date and time when the member was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the member was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Date and time when the member last logged in to the site.\n       * @readonly\n       */\n      lastLoginDate?: Date | null;\n      /**\n       * Extended fields\n       * @internal\n       * @deprecated Extended fields\n       * @targetRemovalDate 2024-06-01\n       */\n      extendedFields?: ExtendedFields;\n  }\n  /**\n   * Clears a member's phone numbers.\n   *\n   * The `deleteMemberPhones()` function clears the `phones` array under the `contact` property.\n   *\n   * > **Note:**\n   * > Only logged-in members can call this function without elevated permissions.\n   * > To call this function as a different identity, [elevated permissions](https://www.wix.com/velo/reference/wix-auth/elevate) are required.\n   * @param _id - ID of the member whose phone numbers will be deleted.\n   * @public\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_UPDATE\n   */\n  function deleteMemberPhones(_id: string): Promise<DeleteMemberPhonesResponse>;\n  /**\n   * Clears a member's email addresses.\n   *\n   * The `deleteMemberEmails()` function clears the `emails` array under the `contact` property.\n   *\n   * > **Notes:**\n   * > A member can still log in with their `loginEmail`,\n   * > which is not cleared when this function is called.\n   *\n   * > Only logged-in members can call this function without elevated permissions.\n   * > To call this function as a different identity, [elevated permissions](https://www.wix.com/velo/reference/wix-auth/elevate) are required.\n   * @param _id - ID of the member whose email addresses will be deleted.\n   * @public\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_UPDATE\n   */\n  function deleteMemberEmails(_id: string): Promise<DeleteMemberEmailsResponse>;\n  /**\n   * Deletes a member's street addresses.\n   *\n   * The `deleteMemberAddresses()` function clears the `addresses` array under the `contact` property.\n   *\n   * > **Note:**\n   * > Only logged-in members can call this function without elevated permissions.\n   * > To call this function as a different identity, [elevated permissions](https://www.wix.com/velo/reference/wix-auth/elevate) are required.\n   * @param _id - ID of the member whose street addresses will be deleted.\n   * @public\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_UPDATE\n   */\n  function deleteMemberAddresses(_id: string): Promise<DeleteMemberAddressesResponse>;\n  \n  type membersV1Member_universal_d_Member = Member;\n  type membersV1Member_universal_d_Status = Status;\n  const membersV1Member_universal_d_Status: typeof Status;\n  type membersV1Member_universal_d_Contact = Contact;\n  type membersV1Member_universal_d_Address = Address;\n  type membersV1Member_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type membersV1Member_universal_d_StreetAddress = StreetAddress;\n  type membersV1Member_universal_d_CustomField = CustomField;\n  type membersV1Member_universal_d_Profile = Profile;\n  type membersV1Member_universal_d_Image = Image;\n  type membersV1Member_universal_d_PrivacyStatusStatus = PrivacyStatusStatus;\n  const membersV1Member_universal_d_PrivacyStatusStatus: typeof PrivacyStatusStatus;\n  type membersV1Member_universal_d_ActivityStatusStatus = ActivityStatusStatus;\n  const membersV1Member_universal_d_ActivityStatusStatus: typeof ActivityStatusStatus;\n  type membersV1Member_universal_d_ExtendedFields = ExtendedFields;\n  type membersV1Member_universal_d_InvalidateCache = InvalidateCache;\n  type membersV1Member_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type membersV1Member_universal_d_App = App;\n  type membersV1Member_universal_d_Page = Page;\n  type membersV1Member_universal_d_URI = URI;\n  type membersV1Member_universal_d_File = File;\n  type membersV1Member_universal_d_UpdateMySlugRequest = UpdateMySlugRequest;\n  type membersV1Member_universal_d_UpdateMySlugResponse = UpdateMySlugResponse;\n  type membersV1Member_universal_d_SlugAlreadyExistsPayload = SlugAlreadyExistsPayload;\n  type membersV1Member_universal_d_UpdateMemberSlugRequest = UpdateMemberSlugRequest;\n  type membersV1Member_universal_d_UpdateMemberSlugResponse = UpdateMemberSlugResponse;\n  type membersV1Member_universal_d_JoinCommunityRequest = JoinCommunityRequest;\n  type membersV1Member_universal_d_JoinCommunityResponse = JoinCommunityResponse;\n  type membersV1Member_universal_d_MemberJoinedCommunity = MemberJoinedCommunity;\n  type membersV1Member_universal_d_LeaveCommunityRequest = LeaveCommunityRequest;\n  type membersV1Member_universal_d_LeaveCommunityResponse = LeaveCommunityResponse;\n  type membersV1Member_universal_d_MemberLeftCommunity = MemberLeftCommunity;\n  type membersV1Member_universal_d_GetMyMemberRequest = GetMyMemberRequest;\n  type membersV1Member_universal_d_Set = Set;\n  const membersV1Member_universal_d_Set: typeof Set;\n  type membersV1Member_universal_d_GetMyMemberResponse = GetMyMemberResponse;\n  type membersV1Member_universal_d_GetMemberRequest = GetMemberRequest;\n  type membersV1Member_universal_d_GetMemberResponse = GetMemberResponse;\n  type membersV1Member_universal_d_MemberToMemberBlockedPayload = MemberToMemberBlockedPayload;\n  type membersV1Member_universal_d_ListMembersRequest = ListMembersRequest;\n  type membersV1Member_universal_d_Paging = Paging;\n  type membersV1Member_universal_d_Sorting = Sorting;\n  type membersV1Member_universal_d_SortOrder = SortOrder;\n  const membersV1Member_universal_d_SortOrder: typeof SortOrder;\n  type membersV1Member_universal_d_CursorPaging = CursorPaging;\n  type membersV1Member_universal_d_ListMembersResponse = ListMembersResponse;\n  type membersV1Member_universal_d_PagingMetadata = PagingMetadata;\n  type membersV1Member_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type membersV1Member_universal_d_Cursors = Cursors;\n  type membersV1Member_universal_d_QueryMembersRequest = QueryMembersRequest;\n  type membersV1Member_universal_d_Search = Search;\n  type membersV1Member_universal_d_QueryMembersResponse = QueryMembersResponse;\n  type membersV1Member_universal_d_MuteMemberRequest = MuteMemberRequest;\n  type membersV1Member_universal_d_MuteMemberResponse = MuteMemberResponse;\n  type membersV1Member_universal_d_MemberMuted = MemberMuted;\n  type membersV1Member_universal_d_UnmuteMemberRequest = UnmuteMemberRequest;\n  type membersV1Member_universal_d_UnmuteMemberResponse = UnmuteMemberResponse;\n  type membersV1Member_universal_d_MemberUnmuted = MemberUnmuted;\n  type membersV1Member_universal_d_ApproveMemberRequest = ApproveMemberRequest;\n  type membersV1Member_universal_d_ApproveMemberResponse = ApproveMemberResponse;\n  type membersV1Member_universal_d_MemberApproved = MemberApproved;\n  type membersV1Member_universal_d_BlockMemberRequest = BlockMemberRequest;\n  type membersV1Member_universal_d_BlockMemberResponse = BlockMemberResponse;\n  type membersV1Member_universal_d_MemberBlocked = MemberBlocked;\n  type membersV1Member_universal_d_MemberSelfBlockForbiddenPayload = MemberSelfBlockForbiddenPayload;\n  type membersV1Member_universal_d_OwnerMemberBlockForbiddenPayload = OwnerMemberBlockForbiddenPayload;\n  type membersV1Member_universal_d_ActiveSubscriptionMemberBlockForbiddenPayload = ActiveSubscriptionMemberBlockForbiddenPayload;\n  type membersV1Member_universal_d_DisconnectMemberRequest = DisconnectMemberRequest;\n  type membersV1Member_universal_d_DisconnectMemberResponse = DisconnectMemberResponse;\n  type membersV1Member_universal_d_DeleteMemberRequest = DeleteMemberRequest;\n  type membersV1Member_universal_d_DeleteMemberResponse = DeleteMemberResponse;\n  type membersV1Member_universal_d_ContentReassignmentRequested = ContentReassignmentRequested;\n  type membersV1Member_universal_d_ContentDeletionRequested = ContentDeletionRequested;\n  type membersV1Member_universal_d_OwnerOrContributorDeleteForbiddenPayload = OwnerOrContributorDeleteForbiddenPayload;\n  type membersV1Member_universal_d_ActiveSubscriptionMemberDeleteForbiddenPayload = ActiveSubscriptionMemberDeleteForbiddenPayload;\n  type membersV1Member_universal_d_DeleteMyMemberRequest = DeleteMyMemberRequest;\n  type membersV1Member_universal_d_DeleteMyMemberResponse = DeleteMyMemberResponse;\n  type membersV1Member_universal_d_BulkDeleteMembersRequest = BulkDeleteMembersRequest;\n  type membersV1Member_universal_d_BulkDeleteMembersResponse = BulkDeleteMembersResponse;\n  type membersV1Member_universal_d_ItemMetadata = ItemMetadata;\n  type membersV1Member_universal_d_ApplicationError = ApplicationError;\n  type membersV1Member_universal_d_BulkMemberResult = BulkMemberResult;\n  type membersV1Member_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type membersV1Member_universal_d_BulkDeleteMembersByFilterRequest = BulkDeleteMembersByFilterRequest;\n  type membersV1Member_universal_d_BulkDeleteMembersByFilterResponse = BulkDeleteMembersByFilterResponse;\n  type membersV1Member_universal_d_BulkApproveMembersRequest = BulkApproveMembersRequest;\n  type membersV1Member_universal_d_BulkApproveMembersResponse = BulkApproveMembersResponse;\n  type membersV1Member_universal_d_BulkBlockMembersRequest = BulkBlockMembersRequest;\n  type membersV1Member_universal_d_BulkBlockMembersResponse = BulkBlockMembersResponse;\n  type membersV1Member_universal_d_CreateMemberRequest = CreateMemberRequest;\n  type membersV1Member_universal_d_CreateMemberResponse = CreateMemberResponse;\n  type membersV1Member_universal_d_UpdateMemberRequest = UpdateMemberRequest;\n  type membersV1Member_universal_d_UpdateMemberResponse = UpdateMemberResponse;\n  type membersV1Member_universal_d_InvalidCustomFieldUrlPayload = InvalidCustomFieldUrlPayload;\n  type membersV1Member_universal_d_DeleteMemberPhonesRequest = DeleteMemberPhonesRequest;\n  type membersV1Member_universal_d_DeleteMemberPhonesResponse = DeleteMemberPhonesResponse;\n  type membersV1Member_universal_d_DeleteMemberEmailsRequest = DeleteMemberEmailsRequest;\n  type membersV1Member_universal_d_DeleteMemberEmailsResponse = DeleteMemberEmailsResponse;\n  type membersV1Member_universal_d_DeleteMemberAddressesRequest = DeleteMemberAddressesRequest;\n  type membersV1Member_universal_d_DeleteMemberAddressesResponse = DeleteMemberAddressesResponse;\n  type membersV1Member_universal_d_DomainEvent = DomainEvent;\n  type membersV1Member_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type membersV1Member_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type membersV1Member_universal_d_RestoreInfo = RestoreInfo;\n  type membersV1Member_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type membersV1Member_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type membersV1Member_universal_d_ActionEvent = ActionEvent;\n  type membersV1Member_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type membersV1Member_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type membersV1Member_universal_d_Asset = Asset;\n  type membersV1Member_universal_d_State = State;\n  const membersV1Member_universal_d_State: typeof State;\n  type membersV1Member_universal_d_SiteCreated = SiteCreated;\n  type membersV1Member_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const membersV1Member_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type membersV1Member_universal_d_Namespace = Namespace;\n  const membersV1Member_universal_d_Namespace: typeof Namespace;\n  type membersV1Member_universal_d_SiteTransferred = SiteTransferred;\n  type membersV1Member_universal_d_SiteDeleted = SiteDeleted;\n  type membersV1Member_universal_d_DeleteContext = DeleteContext;\n  type membersV1Member_universal_d_DeleteStatus = DeleteStatus;\n  const membersV1Member_universal_d_DeleteStatus: typeof DeleteStatus;\n  type membersV1Member_universal_d_SiteUndeleted = SiteUndeleted;\n  type membersV1Member_universal_d_SitePublished = SitePublished;\n  type membersV1Member_universal_d_SiteUnpublished = SiteUnpublished;\n  type membersV1Member_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type membersV1Member_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type membersV1Member_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type membersV1Member_universal_d_ServiceRemoved = ServiceRemoved;\n  type membersV1Member_universal_d_SiteRenamed = SiteRenamed;\n  type membersV1Member_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type membersV1Member_universal_d_NamespaceChanged = NamespaceChanged;\n  type membersV1Member_universal_d_StudioAssigned = StudioAssigned;\n  type membersV1Member_universal_d_StudioUnassigned = StudioUnassigned;\n  type membersV1Member_universal_d_MemberOwnershipTransferred = MemberOwnershipTransferred;\n  type membersV1Member_universal_d_MemberIdChanged = MemberIdChanged;\n  type membersV1Member_universal_d_MessageEnvelope = MessageEnvelope;\n  type membersV1Member_universal_d_IdentificationData = IdentificationData;\n  type membersV1Member_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type membersV1Member_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const membersV1Member_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const membersV1Member_universal_d_updateCurrentMemberSlug: typeof updateCurrentMemberSlug;\n  const membersV1Member_universal_d_updateMemberSlug: typeof updateMemberSlug;\n  const membersV1Member_universal_d_joinCommunity: typeof joinCommunity;\n  const membersV1Member_universal_d_leaveCommunity: typeof leaveCommunity;\n  const membersV1Member_universal_d_getCurrentMember: typeof getCurrentMember;\n  type membersV1Member_universal_d_GetCurrentMemberOptions = GetCurrentMemberOptions;\n  const membersV1Member_universal_d_getMember: typeof getMember;\n  type membersV1Member_universal_d_GetMemberOptions = GetMemberOptions;\n  const membersV1Member_universal_d_listMembers: typeof listMembers;\n  type membersV1Member_universal_d_ListMembersOptions = ListMembersOptions;\n  const membersV1Member_universal_d_queryMembers: typeof queryMembers;\n  type membersV1Member_universal_d_QueryMembersOptions = QueryMembersOptions;\n  type membersV1Member_universal_d_MembersQueryResult = MembersQueryResult;\n  type membersV1Member_universal_d_MembersQueryBuilder = MembersQueryBuilder;\n  const membersV1Member_universal_d_muteMember: typeof muteMember;\n  const membersV1Member_universal_d_unmuteMember: typeof unmuteMember;\n  const membersV1Member_universal_d_approveMember: typeof approveMember;\n  const membersV1Member_universal_d_blockMember: typeof blockMember;\n  const membersV1Member_universal_d_disconnectMember: typeof disconnectMember;\n  const membersV1Member_universal_d_deleteMember: typeof deleteMember;\n  type membersV1Member_universal_d_DeleteMemberOptions = DeleteMemberOptions;\n  const membersV1Member_universal_d_deleteMyMember: typeof deleteMyMember;\n  type membersV1Member_universal_d_DeleteMyMemberOptions = DeleteMyMemberOptions;\n  const membersV1Member_universal_d_bulkDeleteMembers: typeof bulkDeleteMembers;\n  const membersV1Member_universal_d_bulkDeleteMembersByFilter: typeof bulkDeleteMembersByFilter;\n  type membersV1Member_universal_d_BulkDeleteMembersByFilterOptions = BulkDeleteMembersByFilterOptions;\n  const membersV1Member_universal_d_bulkApproveMembers: typeof bulkApproveMembers;\n  const membersV1Member_universal_d_bulkBlockMembers: typeof bulkBlockMembers;\n  const membersV1Member_universal_d_createMember: typeof createMember;\n  type membersV1Member_universal_d_CreateMemberOptions = CreateMemberOptions;\n  const membersV1Member_universal_d_updateMember: typeof updateMember;\n  type membersV1Member_universal_d_UpdateMember = UpdateMember;\n  const membersV1Member_universal_d_deleteMemberPhones: typeof deleteMemberPhones;\n  const membersV1Member_universal_d_deleteMemberEmails: typeof deleteMemberEmails;\n  const membersV1Member_universal_d_deleteMemberAddresses: typeof deleteMemberAddresses;\n  namespace membersV1Member_universal_d {\n    export {\n      membersV1Member_universal_d_Member as Member,\n      membersV1Member_universal_d_Status as Status,\n      membersV1Member_universal_d_Contact as Contact,\n      membersV1Member_universal_d_Address as Address,\n      membersV1Member_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      membersV1Member_universal_d_StreetAddress as StreetAddress,\n      membersV1Member_universal_d_CustomField as CustomField,\n      membersV1Member_universal_d_Profile as Profile,\n      membersV1Member_universal_d_Image as Image,\n      membersV1Member_universal_d_PrivacyStatusStatus as PrivacyStatusStatus,\n      membersV1Member_universal_d_ActivityStatusStatus as ActivityStatusStatus,\n      membersV1Member_universal_d_ExtendedFields as ExtendedFields,\n      membersV1Member_universal_d_InvalidateCache as InvalidateCache,\n      membersV1Member_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      membersV1Member_universal_d_App as App,\n      membersV1Member_universal_d_Page as Page,\n      membersV1Member_universal_d_URI as URI,\n      membersV1Member_universal_d_File as File,\n      membersV1Member_universal_d_UpdateMySlugRequest as UpdateMySlugRequest,\n      membersV1Member_universal_d_UpdateMySlugResponse as UpdateMySlugResponse,\n      membersV1Member_universal_d_SlugAlreadyExistsPayload as SlugAlreadyExistsPayload,\n      membersV1Member_universal_d_UpdateMemberSlugRequest as UpdateMemberSlugRequest,\n      membersV1Member_universal_d_UpdateMemberSlugResponse as UpdateMemberSlugResponse,\n      membersV1Member_universal_d_JoinCommunityRequest as JoinCommunityRequest,\n      membersV1Member_universal_d_JoinCommunityResponse as JoinCommunityResponse,\n      membersV1Member_universal_d_MemberJoinedCommunity as MemberJoinedCommunity,\n      membersV1Member_universal_d_LeaveCommunityRequest as LeaveCommunityRequest,\n      membersV1Member_universal_d_LeaveCommunityResponse as LeaveCommunityResponse,\n      membersV1Member_universal_d_MemberLeftCommunity as MemberLeftCommunity,\n      membersV1Member_universal_d_GetMyMemberRequest as GetMyMemberRequest,\n      membersV1Member_universal_d_Set as Set,\n      membersV1Member_universal_d_GetMyMemberResponse as GetMyMemberResponse,\n      membersV1Member_universal_d_GetMemberRequest as GetMemberRequest,\n      membersV1Member_universal_d_GetMemberResponse as GetMemberResponse,\n      membersV1Member_universal_d_MemberToMemberBlockedPayload as MemberToMemberBlockedPayload,\n      membersV1Member_universal_d_ListMembersRequest as ListMembersRequest,\n      membersV1Member_universal_d_Paging as Paging,\n      membersV1Member_universal_d_Sorting as Sorting,\n      membersV1Member_universal_d_SortOrder as SortOrder,\n      membersV1Member_universal_d_CursorPaging as CursorPaging,\n      membersV1Member_universal_d_ListMembersResponse as ListMembersResponse,\n      membersV1Member_universal_d_PagingMetadata as PagingMetadata,\n      membersV1Member_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      membersV1Member_universal_d_Cursors as Cursors,\n      membersV1Member_universal_d_QueryMembersRequest as QueryMembersRequest,\n      Query$1 as Query,\n      membersV1Member_universal_d_Search as Search,\n      membersV1Member_universal_d_QueryMembersResponse as QueryMembersResponse,\n      membersV1Member_universal_d_MuteMemberRequest as MuteMemberRequest,\n      membersV1Member_universal_d_MuteMemberResponse as MuteMemberResponse,\n      membersV1Member_universal_d_MemberMuted as MemberMuted,\n      membersV1Member_universal_d_UnmuteMemberRequest as UnmuteMemberRequest,\n      membersV1Member_universal_d_UnmuteMemberResponse as UnmuteMemberResponse,\n      membersV1Member_universal_d_MemberUnmuted as MemberUnmuted,\n      membersV1Member_universal_d_ApproveMemberRequest as ApproveMemberRequest,\n      membersV1Member_universal_d_ApproveMemberResponse as ApproveMemberResponse,\n      membersV1Member_universal_d_MemberApproved as MemberApproved,\n      membersV1Member_universal_d_BlockMemberRequest as BlockMemberRequest,\n      membersV1Member_universal_d_BlockMemberResponse as BlockMemberResponse,\n      membersV1Member_universal_d_MemberBlocked as MemberBlocked,\n      membersV1Member_universal_d_MemberSelfBlockForbiddenPayload as MemberSelfBlockForbiddenPayload,\n      membersV1Member_universal_d_OwnerMemberBlockForbiddenPayload as OwnerMemberBlockForbiddenPayload,\n      membersV1Member_universal_d_ActiveSubscriptionMemberBlockForbiddenPayload as ActiveSubscriptionMemberBlockForbiddenPayload,\n      membersV1Member_universal_d_DisconnectMemberRequest as DisconnectMemberRequest,\n      membersV1Member_universal_d_DisconnectMemberResponse as DisconnectMemberResponse,\n      membersV1Member_universal_d_DeleteMemberRequest as DeleteMemberRequest,\n      membersV1Member_universal_d_DeleteMemberResponse as DeleteMemberResponse,\n      membersV1Member_universal_d_ContentReassignmentRequested as ContentReassignmentRequested,\n      membersV1Member_universal_d_ContentDeletionRequested as ContentDeletionRequested,\n      membersV1Member_universal_d_OwnerOrContributorDeleteForbiddenPayload as OwnerOrContributorDeleteForbiddenPayload,\n      membersV1Member_universal_d_ActiveSubscriptionMemberDeleteForbiddenPayload as ActiveSubscriptionMemberDeleteForbiddenPayload,\n      membersV1Member_universal_d_DeleteMyMemberRequest as DeleteMyMemberRequest,\n      membersV1Member_universal_d_DeleteMyMemberResponse as DeleteMyMemberResponse,\n      membersV1Member_universal_d_BulkDeleteMembersRequest as BulkDeleteMembersRequest,\n      membersV1Member_universal_d_BulkDeleteMembersResponse as BulkDeleteMembersResponse,\n      membersV1Member_universal_d_ItemMetadata as ItemMetadata,\n      membersV1Member_universal_d_ApplicationError as ApplicationError,\n      membersV1Member_universal_d_BulkMemberResult as BulkMemberResult,\n      membersV1Member_universal_d_BulkActionMetadata as BulkActionMetadata,\n      membersV1Member_universal_d_BulkDeleteMembersByFilterRequest as BulkDeleteMembersByFilterRequest,\n      membersV1Member_universal_d_BulkDeleteMembersByFilterResponse as BulkDeleteMembersByFilterResponse,\n      membersV1Member_universal_d_BulkApproveMembersRequest as BulkApproveMembersRequest,\n      membersV1Member_universal_d_BulkApproveMembersResponse as BulkApproveMembersResponse,\n      membersV1Member_universal_d_BulkBlockMembersRequest as BulkBlockMembersRequest,\n      membersV1Member_universal_d_BulkBlockMembersResponse as BulkBlockMembersResponse,\n      membersV1Member_universal_d_CreateMemberRequest as CreateMemberRequest,\n      membersV1Member_universal_d_CreateMemberResponse as CreateMemberResponse,\n      membersV1Member_universal_d_UpdateMemberRequest as UpdateMemberRequest,\n      membersV1Member_universal_d_UpdateMemberResponse as UpdateMemberResponse,\n      membersV1Member_universal_d_InvalidCustomFieldUrlPayload as InvalidCustomFieldUrlPayload,\n      membersV1Member_universal_d_DeleteMemberPhonesRequest as DeleteMemberPhonesRequest,\n      membersV1Member_universal_d_DeleteMemberPhonesResponse as DeleteMemberPhonesResponse,\n      membersV1Member_universal_d_DeleteMemberEmailsRequest as DeleteMemberEmailsRequest,\n      membersV1Member_universal_d_DeleteMemberEmailsResponse as DeleteMemberEmailsResponse,\n      membersV1Member_universal_d_DeleteMemberAddressesRequest as DeleteMemberAddressesRequest,\n      membersV1Member_universal_d_DeleteMemberAddressesResponse as DeleteMemberAddressesResponse,\n      Empty$1 as Empty,\n      membersV1Member_universal_d_DomainEvent as DomainEvent,\n      membersV1Member_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      membersV1Member_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      membersV1Member_universal_d_RestoreInfo as RestoreInfo,\n      membersV1Member_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      membersV1Member_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      membersV1Member_universal_d_ActionEvent as ActionEvent,\n      membersV1Member_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      membersV1Member_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      membersV1Member_universal_d_Asset as Asset,\n      membersV1Member_universal_d_State as State,\n      membersV1Member_universal_d_SiteCreated as SiteCreated,\n      membersV1Member_universal_d_SiteCreatedContext as SiteCreatedContext,\n      membersV1Member_universal_d_Namespace as Namespace,\n      membersV1Member_universal_d_SiteTransferred as SiteTransferred,\n      membersV1Member_universal_d_SiteDeleted as SiteDeleted,\n      membersV1Member_universal_d_DeleteContext as DeleteContext,\n      membersV1Member_universal_d_DeleteStatus as DeleteStatus,\n      membersV1Member_universal_d_SiteUndeleted as SiteUndeleted,\n      membersV1Member_universal_d_SitePublished as SitePublished,\n      membersV1Member_universal_d_SiteUnpublished as SiteUnpublished,\n      membersV1Member_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      membersV1Member_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      membersV1Member_universal_d_ServiceProvisioned as ServiceProvisioned,\n      membersV1Member_universal_d_ServiceRemoved as ServiceRemoved,\n      membersV1Member_universal_d_SiteRenamed as SiteRenamed,\n      membersV1Member_universal_d_SiteHardDeleted as SiteHardDeleted,\n      membersV1Member_universal_d_NamespaceChanged as NamespaceChanged,\n      membersV1Member_universal_d_StudioAssigned as StudioAssigned,\n      membersV1Member_universal_d_StudioUnassigned as StudioUnassigned,\n      membersV1Member_universal_d_MemberOwnershipTransferred as MemberOwnershipTransferred,\n      membersV1Member_universal_d_MemberIdChanged as MemberIdChanged,\n      membersV1Member_universal_d_MessageEnvelope as MessageEnvelope,\n      membersV1Member_universal_d_IdentificationData as IdentificationData,\n      membersV1Member_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      membersV1Member_universal_d_WebhookIdentityType as WebhookIdentityType,\n      membersV1Member_universal_d_updateCurrentMemberSlug as updateCurrentMemberSlug,\n      membersV1Member_universal_d_updateMemberSlug as updateMemberSlug,\n      membersV1Member_universal_d_joinCommunity as joinCommunity,\n      membersV1Member_universal_d_leaveCommunity as leaveCommunity,\n      membersV1Member_universal_d_getCurrentMember as getCurrentMember,\n      membersV1Member_universal_d_GetCurrentMemberOptions as GetCurrentMemberOptions,\n      membersV1Member_universal_d_getMember as getMember,\n      membersV1Member_universal_d_GetMemberOptions as GetMemberOptions,\n      membersV1Member_universal_d_listMembers as listMembers,\n      membersV1Member_universal_d_ListMembersOptions as ListMembersOptions,\n      membersV1Member_universal_d_queryMembers as queryMembers,\n      membersV1Member_universal_d_QueryMembersOptions as QueryMembersOptions,\n      membersV1Member_universal_d_MembersQueryResult as MembersQueryResult,\n      membersV1Member_universal_d_MembersQueryBuilder as MembersQueryBuilder,\n      membersV1Member_universal_d_muteMember as muteMember,\n      membersV1Member_universal_d_unmuteMember as unmuteMember,\n      membersV1Member_universal_d_approveMember as approveMember,\n      membersV1Member_universal_d_blockMember as blockMember,\n      membersV1Member_universal_d_disconnectMember as disconnectMember,\n      membersV1Member_universal_d_deleteMember as deleteMember,\n      membersV1Member_universal_d_DeleteMemberOptions as DeleteMemberOptions,\n      membersV1Member_universal_d_deleteMyMember as deleteMyMember,\n      membersV1Member_universal_d_DeleteMyMemberOptions as DeleteMyMemberOptions,\n      membersV1Member_universal_d_bulkDeleteMembers as bulkDeleteMembers,\n      membersV1Member_universal_d_bulkDeleteMembersByFilter as bulkDeleteMembersByFilter,\n      membersV1Member_universal_d_BulkDeleteMembersByFilterOptions as BulkDeleteMembersByFilterOptions,\n      membersV1Member_universal_d_bulkApproveMembers as bulkApproveMembers,\n      membersV1Member_universal_d_bulkBlockMembers as bulkBlockMembers,\n      membersV1Member_universal_d_createMember as createMember,\n      membersV1Member_universal_d_CreateMemberOptions as CreateMemberOptions,\n      membersV1Member_universal_d_updateMember as updateMember,\n      membersV1Member_universal_d_UpdateMember as UpdateMember,\n      membersV1Member_universal_d_deleteMemberPhones as deleteMemberPhones,\n      membersV1Member_universal_d_deleteMemberEmails as deleteMemberEmails,\n      membersV1Member_universal_d_deleteMemberAddresses as deleteMemberAddresses,\n    };\n  }\n  \n  interface Role {\n      roleKey?: string;\n      title?: string;\n  }\n  interface AssignRoleRequest {\n      memberId: string;\n      roleKey: string;\n  }\n  interface AssignRoleResponse {\n      roleKey?: string;\n  }\n  interface UnassignRoleRequest {\n      memberId: string;\n      roleKey: string;\n  }\n  interface UnassignRoleResponse {\n      roleKey?: string;\n  }\n  interface GetRolesRequest {\n      memberId: string;\n  }\n  interface GetRolesResponse {\n      roles?: Role[];\n  }\n  interface QueryRolesRequest {\n      /** Query options. */\n      query?: Query;\n  }\n  interface Query {\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: any;\n  }\n  interface QueryRolesResponse {\n      /** Map of members that met the query filter criteria. */\n      rolesByMemberId?: Record<string, MemberRole>;\n  }\n  interface MemberRole {\n      roles?: Role[];\n  }\n  interface PolicyAssignedToContributor {\n      accountId?: string;\n      metaSiteId?: string;\n      policyIds?: string[];\n  }\n  interface Empty {\n  }\n  interface PolicyRemovedFromContributor {\n      accountId?: string;\n      metaSiteId?: string;\n      policyIds?: string[];\n  }\n  interface PolicyUpdatedForContributor {\n      accountId?: string;\n      metaSiteId?: string;\n      oldPolicyIds?: string[];\n      newPolicyIds?: string[];\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @requiredField roleKey\n   * @permissionId MEMBERS.MEMBER_ROLES_MANAGE\n   */\n  function assignRole(memberId: string, roleKey: string): Promise<AssignRoleResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @requiredField roleKey\n   * @permissionId MEMBERS.MEMBER_ROLES_MANAGE\n   */\n  function unassignRole(memberId: string, roleKey: string): Promise<UnassignRoleResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.ROLES_READ\n   */\n  function getRoles(memberId: string): Promise<GetRolesResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.ROLES_READ\n   */\n  function queryRoles(options?: QueryRolesOptions): Promise<QueryRolesResponse>;\n  interface QueryRolesOptions {\n      /** Query options. */\n      query?: Query;\n  }\n  \n  type membersV1Role_universal_d_Role = Role;\n  type membersV1Role_universal_d_AssignRoleRequest = AssignRoleRequest;\n  type membersV1Role_universal_d_AssignRoleResponse = AssignRoleResponse;\n  type membersV1Role_universal_d_UnassignRoleRequest = UnassignRoleRequest;\n  type membersV1Role_universal_d_UnassignRoleResponse = UnassignRoleResponse;\n  type membersV1Role_universal_d_GetRolesRequest = GetRolesRequest;\n  type membersV1Role_universal_d_GetRolesResponse = GetRolesResponse;\n  type membersV1Role_universal_d_QueryRolesRequest = QueryRolesRequest;\n  type membersV1Role_universal_d_Query = Query;\n  type membersV1Role_universal_d_QueryRolesResponse = QueryRolesResponse;\n  type membersV1Role_universal_d_MemberRole = MemberRole;\n  type membersV1Role_universal_d_PolicyAssignedToContributor = PolicyAssignedToContributor;\n  type membersV1Role_universal_d_Empty = Empty;\n  type membersV1Role_universal_d_PolicyRemovedFromContributor = PolicyRemovedFromContributor;\n  type membersV1Role_universal_d_PolicyUpdatedForContributor = PolicyUpdatedForContributor;\n  const membersV1Role_universal_d_assignRole: typeof assignRole;\n  const membersV1Role_universal_d_unassignRole: typeof unassignRole;\n  const membersV1Role_universal_d_getRoles: typeof getRoles;\n  const membersV1Role_universal_d_queryRoles: typeof queryRoles;\n  type membersV1Role_universal_d_QueryRolesOptions = QueryRolesOptions;\n  namespace membersV1Role_universal_d {\n    export {\n      membersV1Role_universal_d_Role as Role,\n      membersV1Role_universal_d_AssignRoleRequest as AssignRoleRequest,\n      membersV1Role_universal_d_AssignRoleResponse as AssignRoleResponse,\n      membersV1Role_universal_d_UnassignRoleRequest as UnassignRoleRequest,\n      membersV1Role_universal_d_UnassignRoleResponse as UnassignRoleResponse,\n      membersV1Role_universal_d_GetRolesRequest as GetRolesRequest,\n      membersV1Role_universal_d_GetRolesResponse as GetRolesResponse,\n      membersV1Role_universal_d_QueryRolesRequest as QueryRolesRequest,\n      membersV1Role_universal_d_Query as Query,\n      membersV1Role_universal_d_QueryRolesResponse as QueryRolesResponse,\n      membersV1Role_universal_d_MemberRole as MemberRole,\n      membersV1Role_universal_d_PolicyAssignedToContributor as PolicyAssignedToContributor,\n      membersV1Role_universal_d_Empty as Empty,\n      membersV1Role_universal_d_PolicyRemovedFromContributor as PolicyRemovedFromContributor,\n      membersV1Role_universal_d_PolicyUpdatedForContributor as PolicyUpdatedForContributor,\n      membersV1Role_universal_d_assignRole as assignRole,\n      membersV1Role_universal_d_unassignRole as unassignRole,\n      membersV1Role_universal_d_getRoles as getRoles,\n      membersV1Role_universal_d_queryRoles as queryRoles,\n      membersV1Role_universal_d_QueryRolesOptions as QueryRolesOptions,\n    };\n  }\n  \n  export { identityMembersV1Member_universal_d as authentication, membersV1Role_universal_d as authorization, badgesV3Badge_universal_d as badges, membersV1Member_universal_d as members };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-groups.v2.d.ts",
      "content": "declare module \"wix-groups.v2\" {\n  interface Group$1 {\n      /**\n       * Group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** A unique part of a group's URL, for example `https:/example.com/groups/slug`. */\n      slug?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      privacyLevel?: PrivacyStatus$1;\n      /** Group privacy status. */\n      privacyStatus?: PrivacyStatus$1;\n      /** @internal */\n      accessRestriction?: AccessRestriction$1;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      title?: string | null;\n      /** Group name. */\n      name?: string | null;\n      /** Group description in DraftJS format. */\n      description?: string | null;\n      /** Group teaser. */\n      teaser?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      details?: GroupDetails$1;\n      /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n      memberTitle?: string | null;\n      /** Cover image. You cannot upload your own cover image. */\n      coverImage?: CoverImage$1;\n      /** Group specific settings. Available to the site owners under `Admin Tools` in the dashboard. */\n      settings?: GroupSettings$1;\n      /**\n       * Total count of current group members.\n       * @readonly\n       */\n      membersCount?: number | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      createdBy?: Identity$1;\n      /**\n       * Group owner.\n       * @readonly\n       */\n      ownerId?: string | null;\n      /**\n       * Group creation date and time.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time of the latest group update.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      recentActivityDate?: Date | null;\n      /**\n       * Date and time of the most recent group activity, for example a post or comment.\n       * @readonly\n       */\n      lastActivityDate?: Date | null;\n      /**\n       * Number of pending group members. Relevant only for `PRIVATE` groups.\n       * @internal\n       * @readonly\n       */\n      pendingMembersCount?: number | null;\n      /**\n       * Number of posts and comments in the group since the calling member last saw the group.\n       * @internal\n       * @readonly\n       */\n      updatesCount?: number | null;\n  }\n  enum Type$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ADMIN_APPROVAL = \"ADMIN_APPROVAL\",\n      PAID_PLANS = \"PAID_PLANS\",\n      EVENTS = \"EVENTS\"\n  }\n  interface Events$1 {\n      eventIds?: string[];\n  }\n  interface Logo$1 {\n      /** Logo image ID (for internal use). */\n      mediaId?: string | null;\n      /**\n       * Logo image file URL.\n       * @internal\n       */\n      fileUrl?: string | null;\n      /** Logo image width. */\n      width?: number | null;\n      /** Logo image height. */\n      height?: number | null;\n  }\n  interface GroupDetailsPosition$1 {\n      /** horizontal coordinate */\n      x?: number;\n      /** vertical coordinate */\n      y?: number;\n  }\n  interface Image$1 {\n      /** Image ID (for internal use). */\n      mediaId?: string | null;\n      /**\n       * Image file URL.\n       * @internal\n       */\n      fileUrl?: string | null;\n      /** Image width. */\n      width?: number | null;\n      /** Image height. */\n      height?: number | null;\n      /** Indicates pre-configured/auto-generated images (from templates, client generated). */\n      preset?: boolean | null;\n  }\n  interface Position$1 {\n      /** horizontal coordinate */\n      x?: number;\n      /** vertical coordinate */\n      y?: number;\n  }\n  enum AllowPolicy$1 {\n      UNKNOWN = \"UNKNOWN\",\n      OWNER_AND_ADMINS = \"OWNER_AND_ADMINS\",\n      OWNER = \"OWNER\",\n      ALL_MEMBERS = \"ALL_MEMBERS\"\n  }\n  interface OnboardingStepSettings$1 {\n      stepKey?: StepKey$1;\n      visible?: boolean;\n  }\n  enum StepKey$1 {\n      UNKNOWN = \"UNKNOWN\",\n      CREATE_POST = \"CREATE_POST\",\n      REACT_TO_POST = \"REACT_TO_POST\",\n      INVITE_MEMBERS = \"INVITE_MEMBERS\"\n  }\n  enum PrivacyStatus$1 {\n      /** Undefined group privacy status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Anyone can see the group and its content. Anyone can join the group. */\n      PUBLIC = \"PUBLIC\",\n      /** Anyone can see the group, but only members can see its content. New members must submit a `Join Group Request`. */\n      PRIVATE = \"PRIVATE\",\n      /** Only admins and members can see the group. New members can only be added by other members. */\n      SECRET = \"SECRET\"\n  }\n  interface AccessRestriction$1 extends AccessRestrictionDataOneOf$1 {\n      events?: Events$1;\n      type?: Type$1;\n  }\n  /** @oneof */\n  interface AccessRestrictionDataOneOf$1 {\n      events?: Events$1;\n  }\n  interface GroupDetails$1 {\n      /** Group logo. You cannot upload your own logo. */\n      logo?: Logo$1;\n      /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n      membersTitle?: string | null;\n      /**\n       * Position of the corner of the cover image (or logo).\n       * @internal\n       */\n      logoPosition?: GroupDetailsPosition$1;\n      /**\n       * Position of the corner of the cover image (or logo) for mobile browser.\n       * @internal\n       */\n      mobileLogoPosition?: GroupDetailsPosition$1;\n  }\n  interface CoverImage$1 {\n      /** Cover image. */\n      image?: Image$1;\n      /** Position of the corner of the cover image (or logo). */\n      position?: Position$1;\n      /** Position of the corner of the cover image (or logo) for mobile browser. */\n      mobilePosition?: Position$1;\n  }\n  interface GroupSettings$1 {\n      /**\n       * __Deprecated.__ Use `allowedToInviteMembers` instead.\n       * Whether regular members are permitted to invite new members.\n       * If `false`, only admins can invite members. Defaults to `true`.\n       * @deprecated\n       */\n      membersCanInvite?: boolean | null;\n      /**\n       * __Deprecated.__ Use `allowedToApproveJoinRequests` instead.\n       * Whether all group members are permitted to approve join group requests.\n       * If `false`, member approval is limited to the admins.\n       * @deprecated\n       */\n      membersCanApprove?: boolean | null;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      memberWelcomePostEnabled?: boolean | null;\n      /** Whether a daily post about new members is enabled. */\n      welcomeMemberPostEnabled?: boolean | null;\n      /** Whether an automatic post about changing the group details is enabled. */\n      groupDetailsChangedPostEnabled?: boolean | null;\n      /** Whether all members can see the full member list. */\n      showMemberList?: boolean | null;\n      /**\n       * Whether an automatic post about added events is enabled.\n       * @internal\n       */\n      eventAddedPostEnabled?: boolean | null;\n      /**\n       * Determines who can invite members to the group\n       * @internal\n       */\n      allowedToInviteMembers?: AllowPolicy$1;\n      /**\n       * Determines who can approve member join requests to the group\n       * @internal\n       */\n      allowedToApproveJoinRequests?: AllowPolicy$1;\n      /**\n       * Determines who can add site members to the group\n       * @internal\n       */\n      allowedToAddMembers?: AllowPolicy$1;\n      /**\n       * Determines who can create posts in the group\n       * @internal\n       */\n      allowedToCreatePosts?: AllowPolicy$1;\n      /**\n       * Determines who can comment posts in the group\n       * @internal\n       */\n      allowedToCommentPosts?: AllowPolicy$1;\n      /**\n       * Onboarding step settings\n       * @internal\n       */\n      onboardingStepsSettings?: OnboardingStepSettings$1[];\n      /**\n       * Determines who can create events in the group\n       * @internal\n       */\n      allowedToCreateEvents?: AllowPolicy$1;\n  }\n  interface Identity$1 {\n      /** Member ID of the group creator.  See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      _id?: string | null;\n      identityType?: IdentityType$1;\n  }\n  enum IdentityType$1 {\n      USER = \"USER\",\n      MEMBER = \"MEMBER\"\n  }\n  interface CreateGroupRequest {\n      /** Group to create. */\n      group: Group$1;\n      /** ID of the member who created the group. This member will automatically become an admin.  */\n      creatorId?: string | null;\n      /**\n       * Group ID.\n       * @internal\n       */\n      groupId?: string | null;\n      /** Content Type */\n      contentType?: ContentType$1;\n  }\n  enum ContentType$1 {\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      DRAFTJS = \"DRAFTJS\",\n      RICH_CONTENT = \"RICH_CONTENT\"\n  }\n  interface CreateGroupResponse {\n      /** Created group. */\n      group?: Group$1;\n  }\n  interface UpdateGroupRequest {\n      /** Group to update. */\n      group: Group$1;\n      /** Content Type */\n      contentType?: ContentType$1;\n  }\n  interface UpdateGroupResponse {\n      /** Updated group. */\n      group?: Group$1;\n  }\n  interface GroupCoverChanged {\n      oldUrl?: string | null;\n      newUrl?: string | null;\n  }\n  interface GroupDescriptionChanged {\n      oldDescription?: string | null;\n      newDescription?: string | null;\n  }\n  interface DeleteGroupRequest {\n      /** ID of the group to delete. */\n      groupId: string;\n  }\n  interface DeleteGroupResponse {\n      /** Deleted group. */\n      group?: Group$1;\n  }\n  interface GetGroupRequest {\n      /** ID of the group to retrieve. */\n      groupId: string;\n      /**\n       * ID of the auto invite to get hidden groups\n       * @internal\n       */\n      autoInviteId?: string | null;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  interface GetGroupResponse {\n      /** Retrieved group. */\n      group?: Group$1;\n  }\n  interface GetGroupBySlugRequest {\n      /** Unique part of the group's URL, for example `group-1` in `https:/example.com/groups/group-1`. Pass only the slug. Case-sensitive. */\n      slug: string;\n      autoInviteId?: string | null;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  interface GetGroupBySlugResponse {\n      /** Retrieved group. */\n      group?: Group$1;\n  }\n  interface GetGroupIdBySlugRequest {\n      /** Unique part of the group's URL, for example `group-1` in `https:/example.com/groups/group-1`. Pass only the slug. Case-sensitive. */\n      slug: string;\n      autoInviteId?: string | null;\n  }\n  interface GetGroupIdBySlugResponse {\n      /** ID of the group that correspond to slug */\n      groupId?: string;\n      /** Global feed permissions */\n      accessPermissions?: GlobalFeedPermissions;\n  }\n  interface GlobalFeedPermissions {\n      feedPermissions?: FeedPermissions;\n      ownFeedItemPermissions?: FeedItemPermissions;\n      allFeedItemPermissions?: FeedItemPermissions;\n      activityFeedItemPermissions?: FeedItemPermissions;\n  }\n  interface FeedPermissions {\n      canViewPosts?: boolean;\n      canCreatePosts?: boolean;\n      canPinPosts?: boolean;\n      canCreateTopic?: boolean;\n      canFollowPosts?: boolean;\n      canCreatePaidPosts?: boolean;\n      canReadSettings?: boolean;\n      canManageSettings?: boolean;\n  }\n  interface FeedItemPermissions {\n      canViewFullPost?: boolean;\n      canAssignTopic?: boolean;\n      canUnassignTopic?: boolean;\n      /** bool canFollow = 3; // it's not related to context token */\n      canUpdate?: boolean;\n      canDelete?: boolean;\n      /** always true */\n      canShare?: boolean;\n      canAddComment?: boolean;\n      canReact?: boolean;\n      canPin?: boolean;\n  }\n  interface ListGroupsRequest {\n      /** Number of items to load. Maximum `100`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  interface ListGroupsResponse {\n      /** Retrieved Groups. */\n      groups?: Group$1[];\n      metadata?: PagingMetadata$4;\n  }\n  interface PagingMetadata$4 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface ListGroupsByUserIdRequest {\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  interface ListGroupsByUserIdResponse {\n      groups?: GroupWithMsId[];\n  }\n  /** Retrieved Groups by metasite id */\n  interface GroupWithMsId {\n      metaSiteId?: string;\n      groups?: Group$1[];\n  }\n  interface QueryGroupsRequest {\n      query?: Query$3;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  interface Query$3 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$3[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$4;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$4 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryGroupsResponse {\n      /** Retrieved groups. */\n      groups?: Group$1[];\n      metadata?: PagingMetadata$4;\n  }\n  interface QueryJoinedGroupsRequest {\n      query?: Query$3;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  interface QueryJoinedGroupsResponse {\n      /** Retrieved groups. */\n      groups?: Group$1[];\n      metadata?: PagingMetadata$4;\n  }\n  interface QueryGroupsByMembershipRequest {\n      query?: Query$3;\n      membershipStatus?: MembershipStatus$1;\n      /** Filter groups by permissions. */\n      permissionsFilter?: GroupPermissions;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  enum MembershipStatus$1 {\n      NONE = \"NONE\",\n      JOINED = \"JOINED\",\n      PENDING = \"PENDING\"\n  }\n  interface GroupPermissions {\n      canCreatePosts?: boolean | null;\n  }\n  interface QueryGroupsByMembershipResponse {\n      /** Retrieved groups. */\n      groups?: Group$1[];\n      metadata?: PagingMetadata$4;\n  }\n  interface ListGroupIntegrationsDataRequest {\n      groupIds?: string[];\n  }\n  interface ListGroupIntegrationsDataResponse {\n      groupsIntegrationsData?: GroupIntegrationsData[];\n  }\n  interface GroupIntegrationsData {\n      groupId?: string;\n      feedItemsCount?: number;\n      topicIds?: string[];\n      eventIds?: string[];\n      connectedPricingPlanIds?: string[];\n      onlineProgramIds?: string[];\n  }\n  interface GetGroupMembersGroupIdsRequest {\n      /** ID of the group to retrieve members group ids. */\n      groupId?: string;\n  }\n  interface GetGroupMembersGroupIdsResponse {\n      /** All members group id */\n      allMembersGroupId?: string;\n      /** Admins members group id */\n      adminMembersGroupId?: string;\n  }\n  interface GetGroupBMFeaturesRequest {\n      /** ID of the group to retrieve BM features. */\n      groupId: string;\n  }\n  interface GetGroupBMFeaturesResponse {\n      level?: number;\n      features?: BMFeatures;\n  }\n  interface BMFeatures {\n      bmFeatures?: BMFeaturesBMFeatures[];\n  }\n  enum BMFeaturesBMFeatures {\n      BM_FEATURES_UNKNOWN = \"BM_FEATURES_UNKNOWN\",\n      BM_FEATURES_GENERATE_TOPICS = \"BM_FEATURES_GENERATE_TOPICS\",\n      BM_FEATURES_GENERATE_QUESTIONS = \"BM_FEATURES_GENERATE_QUESTIONS\"\n  }\n  interface QueryJoinedGroupsWithMemberRequest {\n      query?: Query$3;\n      /** ID of the member to find common groups with */\n      memberId?: string;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  interface QueryJoinedGroupsWithMemberResponse {\n      /** Retrieved groups. */\n      groups?: Group$1[];\n      /** Paging metadata. */\n      metadata?: PagingMetadata$4;\n  }\n  interface GetPrivacyRequest {\n      /** Group ids to list privacy for */\n      groupIds?: string[];\n  }\n  interface GetPrivacyResponse {\n      /** Privacy statuses listed per group id */\n      privacyStatuses?: Record<string, PrivacyStatus$1>;\n  }\n  interface DomainEvent$5 extends DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n  }\n  interface EntityCreatedEvent$5 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$5;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$5 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$5 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$5 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$5 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$5;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a group.\n   *\n   *\n   * The `createGroup()` function returns a Promise that resolves to a newly-created group after it has successfully been created. The new group is added to the Groups List page of your site.\n   *\n   * Site admins can choose to allow site members to create a group. They can also require that site members request their approval when creating a group. This setting can be found in your site's Dashboard under **Groups Application > General Settings > Group Creation**. If set to admin approval required, a site member uses this function to create a group, and the group becomes a `createRequest` with a status of `PENDING` until the group is reviewed. The default is set to site members with admin approval.\n   * @param group - Group to create.\n   * @public\n   * @requiredField group\n   * @param options - Optional fields for group creation.\n   * @adminMethod\n   * @returns Created group.\n   */\n  function createGroup(group: Group$1, options?: CreateGroupOptions): Promise<Group$1>;\n  interface CreateGroupOptions {\n      /** ID of the member who created the group. This member will automatically become an admin.  */\n      creatorId?: string | null;\n      /**\n       * Group ID.\n       * @internal\n       */\n      groupId?: string | null;\n      /** Content Type */\n      contentType?: ContentType$1;\n  }\n  /**\n   * Updates a group.\n   *\n   *\n   * The `updateGroup()` function returns a Promise that resolves to the updated group. Only site admins and group admins can update their group. Only the fields in the groupInfo object parameter can be updated. Specify which fields to update. Unspecified fields remain the same.\n   *\n   * > **Notes:**\n   *\n   * - When a group's `privacyStatus` is updated from `PRIVATE` to `PUBLIC`, all pending join requests for that group are automatically approved.\n   * - When a group's `privacyStatus` is updated from `PRIVATE` to `SECRET`, all pending join requests for that group are automatically rejected.\n   * - When a public or private group's name is updated, the slug is updated to reflect the new group name.\n   * @param _id - Group ID.\n   * @public\n   * @requiredField _id\n   * @requiredField group\n   * @adminMethod\n   * @returns Updated group.\n   */\n  function updateGroup(_id: string | null, group: UpdateGroup, options?: UpdateGroupOptions): Promise<Group$1>;\n  interface UpdateGroup {\n      /**\n       * Group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** A unique part of a group's URL, for example `https:/example.com/groups/slug`. */\n      slug?: string | null;\n      /**\n       * @internal\n       * @deprecated\n       */\n      privacyLevel?: PrivacyStatus$1;\n      /** Group privacy status. */\n      privacyStatus?: PrivacyStatus$1;\n      /** @internal */\n      accessRestriction?: AccessRestriction$1;\n      /**\n       * @internal\n       * @deprecated\n       */\n      title?: string | null;\n      /** Group name. */\n      name?: string | null;\n      /** Group description in DraftJS format. */\n      description?: string | null;\n      /** Group teaser. */\n      teaser?: string | null;\n      /**\n       * @internal\n       * @deprecated\n       */\n      details?: GroupDetails$1;\n      /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n      memberTitle?: string | null;\n      /** Cover image. You cannot upload your own cover image. */\n      coverImage?: CoverImage$1;\n      /** Group specific settings. Available to the site owners under `Admin Tools` in the dashboard. */\n      settings?: GroupSettings$1;\n      /**\n       * Total count of current group members.\n       * @readonly\n       */\n      membersCount?: number | null;\n      /**\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      createdBy?: Identity$1;\n      /**\n       * Group owner.\n       * @readonly\n       */\n      ownerId?: string | null;\n      /**\n       * Group creation date and time.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time of the latest group update.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      recentActivityDate?: Date | null;\n      /**\n       * Date and time of the most recent group activity, for example a post or comment.\n       * @readonly\n       */\n      lastActivityDate?: Date | null;\n      /**\n       * Number of pending group members. Relevant only for `PRIVATE` groups.\n       * @internal\n       * @readonly\n       */\n      pendingMembersCount?: number | null;\n      /**\n       * Number of posts and comments in the group since the calling member last saw the group.\n       * @internal\n       * @readonly\n       */\n      updatesCount?: number | null;\n  }\n  interface UpdateGroupOptions {\n      /** Content Type */\n      contentType?: ContentType$1;\n  }\n  /**\n   * Deletes a group.\n   *\n   *\n   * The `deleteGroup()` function returns a Promise resolves to the deleted group after it has successfully been deleted. Only site admins and group admins can delete their group. After the group is deleted, it is removed from both your site and the site's Dashboard.\n   *\n   * @param groupId - ID of the group to delete.\n   * @public\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function deleteGroup(groupId: string): Promise<DeleteGroupResponse>;\n  /**\n   * Gets a group by ID.\n   *\n   *\n   * The `getGroup()` function returns a Promise that resolves to a group whose ID matches the given ID.\n   *\n   * > **Note:** For `SECRET` groups, only site admins, group admins, and group members can see a group and its content.\n   * @param groupId - ID of the group to retrieve.\n   * @public\n   * @requiredField groupId\n   * @adminMethod\n   * @returns Retrieved group.\n   */\n  function getGroup(groupId: string, options?: GetGroupOptions): Promise<Group$1>;\n  interface GetGroupOptions {\n      /**\n       * ID of the auto invite to get hidden groups\n       * @internal\n       */\n      autoInviteId?: string | null;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  /**\n   * Gets a group by slug.\n   *\n   *\n   * The `getGroupBySlug()` function returns a Promise that resolves to a group whose slug matches the given slug. The slug is the end of a group's URL that refers to a specific group. For example, if a group's URL is `https:/example.com/groups/{my-fitness-group}`, the slug is `my-fitness-group`. The slug is case-sensitive. It is generally based on the group name, but for secret groups it is an autogenerated string of characters, for example, `https:/example.com/groups/{5D3yTX}`.\n   *\n   * > **Note:** For `SECRET` groups, only site admins, group admins, and group members can see a group and its content.\n   * @param slug - Unique part of the group's URL, for example `group-1` in `https:/example.com/groups/group-1`. Pass only the slug. Case-sensitive.\n   * @public\n   * @requiredField slug\n   * @adminMethod\n   */\n  function getGroupBySlug(slug: string, options?: GetGroupBySlugOptions): Promise<GetGroupBySlugResponse>;\n  interface GetGroupBySlugOptions {\n      autoInviteId?: string | null;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  /**\n   * Retrieves a group by slug.\n   * @param slug - Unique part of the group's URL, for example `group-1` in `https:/example.com/groups/group-1`. Pass only the slug. Case-sensitive.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField slug\n   * @adminMethod\n   */\n  function getGroupIdBySlug(slug: string, options?: GetGroupIdBySlugOptions): Promise<GetGroupIdBySlugResponse>;\n  interface GetGroupIdBySlugOptions {\n      autoInviteId?: string | null;\n  }\n  /**\n   * Lists groups.\n   *\n   *\n   * The `listGroups()` function returns a Promise that resolves to a list of up to 1,000 groups on your site. Sorts by default to `_createdDate` in descending order.\n   *\n   * > **Notes:**\n   *\n   * - For `SECRET` groups, only site admins, group admins, and group members can see a list of group and their content.\n   * - This function's parameters are positional, and must be specified in the sequence shown in the syntax below. When specifying a parameter, use `null` as a placeholder for any unspecified parameters. For example, to specify limit only, call `listGroups(paging, null)`.\n   * @public\n   * @param options - Limit and offset options.\n   * @adminMethod\n   */\n  function listGroups(options?: ListGroupsOptions): Promise<ListGroupsResponse>;\n  interface ListGroupsOptions {\n      /** Number of items to load. Maximum `100`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  /**\n   * Retrieves a list of all groups user is member of from all sites. Expects Wix User authorization.\n   * Used in My Activity widget inside of Spaces App\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   * @deprecated\n   */\n  function listGroupsByUserId(options?: ListGroupsByUserIdOptions): Promise<ListGroupsByUserIdResponse>;\n  interface ListGroupsByUserIdOptions {\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  /**\n   * Creates a query to retrieve a list of groups.\n   *\n   *\n   * Note: For `SECRET` groups, only site admins, group admins, and group members can query groups and their content.\n   *\n   * The `queryGroups()` function builds a query to retrieve a list of all groups, and returns a GroupsQueryBuilder object.\n   * @public\n   * @adminMethod\n   */\n  function queryGroups(options?: QueryGroupsOptions): GroupsQueryBuilder;\n  interface QueryGroupsOptions {\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1 | undefined;\n  }\n  interface QueryOffsetResult$3 {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface GroupsQueryResult extends QueryOffsetResult$3 {\n      items: Group$1[];\n      query: GroupsQueryBuilder;\n      next: () => Promise<GroupsQueryResult>;\n      prev: () => Promise<GroupsQueryResult>;\n  }\n  interface GroupsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: 'title', value: any) => GroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: 'title', value: any) => GroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       */\n      startsWith: (propertyName: 'title', value: string) => GroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: 'title', value: any[]) => GroupsQueryBuilder;\n      in: (propertyName: 'title', value: any) => GroupsQueryBuilder;\n      exists: (propertyName: 'title', value: boolean) => GroupsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'title' | 'membersCount' | '_createdDate' | 'recentActivityDate'>) => GroupsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'title' | 'membersCount' | '_createdDate' | 'recentActivityDate'>) => GroupsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => GroupsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => GroupsQueryBuilder;\n      find: () => Promise<GroupsQueryResult>;\n  }\n  /**\n   * @internal\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   * @deprecated\n   */\n  function queryJoinedGroups(options?: QueryJoinedGroupsOptions): Promise<QueryJoinedGroupsResponse>;\n  interface QueryJoinedGroupsOptions {\n      query?: Query$3;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  /**\n   * Retrieves groups by membership status for the current member.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryGroupsByMembership(options?: QueryGroupsByMembershipOptions): Promise<QueryGroupsByMembershipResponse>;\n  interface QueryGroupsByMembershipOptions {\n      query?: Query$3;\n      membershipStatus?: MembershipStatus$1;\n      /** Filter groups by permissions. */\n      permissionsFilter?: GroupPermissions;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  /**\n   * Returns general data about integrations (e.g. counts of events or topics) for specified group ids\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listGroupIntegrationsData(options?: ListGroupIntegrationsDataOptions): Promise<ListGroupIntegrationsDataResponse>;\n  interface ListGroupIntegrationsDataOptions {\n      groupIds?: string[];\n  }\n  /** @param groupId - ID of the group to retrieve BM features.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function getGroupBmFeatures(groupId: string): Promise<GetGroupBMFeaturesResponse>;\n  /**\n   * Retrieves groups that both the current member and specified member have joined.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryJoinedGroupsWithMember(options?: QueryJoinedGroupsWithMemberOptions): Promise<QueryJoinedGroupsWithMemberResponse>;\n  interface QueryJoinedGroupsWithMemberOptions {\n      query?: Query$3;\n      /** ID of the member to find common groups with */\n      memberId?: string;\n      /** Content type (PLAIN_TEXT returns content as it is) */\n      contentType?: ContentType$1;\n  }\n  \n  type socialGroupsV2Group_universal_d_CreateGroupRequest = CreateGroupRequest;\n  type socialGroupsV2Group_universal_d_CreateGroupResponse = CreateGroupResponse;\n  type socialGroupsV2Group_universal_d_UpdateGroupRequest = UpdateGroupRequest;\n  type socialGroupsV2Group_universal_d_UpdateGroupResponse = UpdateGroupResponse;\n  type socialGroupsV2Group_universal_d_GroupCoverChanged = GroupCoverChanged;\n  type socialGroupsV2Group_universal_d_GroupDescriptionChanged = GroupDescriptionChanged;\n  type socialGroupsV2Group_universal_d_DeleteGroupRequest = DeleteGroupRequest;\n  type socialGroupsV2Group_universal_d_DeleteGroupResponse = DeleteGroupResponse;\n  type socialGroupsV2Group_universal_d_GetGroupRequest = GetGroupRequest;\n  type socialGroupsV2Group_universal_d_GetGroupResponse = GetGroupResponse;\n  type socialGroupsV2Group_universal_d_GetGroupBySlugRequest = GetGroupBySlugRequest;\n  type socialGroupsV2Group_universal_d_GetGroupBySlugResponse = GetGroupBySlugResponse;\n  type socialGroupsV2Group_universal_d_GetGroupIdBySlugRequest = GetGroupIdBySlugRequest;\n  type socialGroupsV2Group_universal_d_GetGroupIdBySlugResponse = GetGroupIdBySlugResponse;\n  type socialGroupsV2Group_universal_d_GlobalFeedPermissions = GlobalFeedPermissions;\n  type socialGroupsV2Group_universal_d_FeedPermissions = FeedPermissions;\n  type socialGroupsV2Group_universal_d_FeedItemPermissions = FeedItemPermissions;\n  type socialGroupsV2Group_universal_d_ListGroupsRequest = ListGroupsRequest;\n  type socialGroupsV2Group_universal_d_ListGroupsResponse = ListGroupsResponse;\n  type socialGroupsV2Group_universal_d_ListGroupsByUserIdRequest = ListGroupsByUserIdRequest;\n  type socialGroupsV2Group_universal_d_ListGroupsByUserIdResponse = ListGroupsByUserIdResponse;\n  type socialGroupsV2Group_universal_d_GroupWithMsId = GroupWithMsId;\n  type socialGroupsV2Group_universal_d_QueryGroupsRequest = QueryGroupsRequest;\n  type socialGroupsV2Group_universal_d_QueryGroupsResponse = QueryGroupsResponse;\n  type socialGroupsV2Group_universal_d_QueryJoinedGroupsRequest = QueryJoinedGroupsRequest;\n  type socialGroupsV2Group_universal_d_QueryJoinedGroupsResponse = QueryJoinedGroupsResponse;\n  type socialGroupsV2Group_universal_d_QueryGroupsByMembershipRequest = QueryGroupsByMembershipRequest;\n  type socialGroupsV2Group_universal_d_GroupPermissions = GroupPermissions;\n  type socialGroupsV2Group_universal_d_QueryGroupsByMembershipResponse = QueryGroupsByMembershipResponse;\n  type socialGroupsV2Group_universal_d_ListGroupIntegrationsDataRequest = ListGroupIntegrationsDataRequest;\n  type socialGroupsV2Group_universal_d_ListGroupIntegrationsDataResponse = ListGroupIntegrationsDataResponse;\n  type socialGroupsV2Group_universal_d_GroupIntegrationsData = GroupIntegrationsData;\n  type socialGroupsV2Group_universal_d_GetGroupMembersGroupIdsRequest = GetGroupMembersGroupIdsRequest;\n  type socialGroupsV2Group_universal_d_GetGroupMembersGroupIdsResponse = GetGroupMembersGroupIdsResponse;\n  type socialGroupsV2Group_universal_d_GetGroupBMFeaturesRequest = GetGroupBMFeaturesRequest;\n  type socialGroupsV2Group_universal_d_GetGroupBMFeaturesResponse = GetGroupBMFeaturesResponse;\n  type socialGroupsV2Group_universal_d_BMFeatures = BMFeatures;\n  type socialGroupsV2Group_universal_d_BMFeaturesBMFeatures = BMFeaturesBMFeatures;\n  const socialGroupsV2Group_universal_d_BMFeaturesBMFeatures: typeof BMFeaturesBMFeatures;\n  type socialGroupsV2Group_universal_d_QueryJoinedGroupsWithMemberRequest = QueryJoinedGroupsWithMemberRequest;\n  type socialGroupsV2Group_universal_d_QueryJoinedGroupsWithMemberResponse = QueryJoinedGroupsWithMemberResponse;\n  type socialGroupsV2Group_universal_d_GetPrivacyRequest = GetPrivacyRequest;\n  type socialGroupsV2Group_universal_d_GetPrivacyResponse = GetPrivacyResponse;\n  const socialGroupsV2Group_universal_d_createGroup: typeof createGroup;\n  type socialGroupsV2Group_universal_d_CreateGroupOptions = CreateGroupOptions;\n  const socialGroupsV2Group_universal_d_updateGroup: typeof updateGroup;\n  type socialGroupsV2Group_universal_d_UpdateGroup = UpdateGroup;\n  type socialGroupsV2Group_universal_d_UpdateGroupOptions = UpdateGroupOptions;\n  const socialGroupsV2Group_universal_d_deleteGroup: typeof deleteGroup;\n  const socialGroupsV2Group_universal_d_getGroup: typeof getGroup;\n  type socialGroupsV2Group_universal_d_GetGroupOptions = GetGroupOptions;\n  const socialGroupsV2Group_universal_d_getGroupBySlug: typeof getGroupBySlug;\n  type socialGroupsV2Group_universal_d_GetGroupBySlugOptions = GetGroupBySlugOptions;\n  const socialGroupsV2Group_universal_d_getGroupIdBySlug: typeof getGroupIdBySlug;\n  type socialGroupsV2Group_universal_d_GetGroupIdBySlugOptions = GetGroupIdBySlugOptions;\n  const socialGroupsV2Group_universal_d_listGroups: typeof listGroups;\n  type socialGroupsV2Group_universal_d_ListGroupsOptions = ListGroupsOptions;\n  const socialGroupsV2Group_universal_d_listGroupsByUserId: typeof listGroupsByUserId;\n  type socialGroupsV2Group_universal_d_ListGroupsByUserIdOptions = ListGroupsByUserIdOptions;\n  const socialGroupsV2Group_universal_d_queryGroups: typeof queryGroups;\n  type socialGroupsV2Group_universal_d_QueryGroupsOptions = QueryGroupsOptions;\n  type socialGroupsV2Group_universal_d_GroupsQueryResult = GroupsQueryResult;\n  type socialGroupsV2Group_universal_d_GroupsQueryBuilder = GroupsQueryBuilder;\n  const socialGroupsV2Group_universal_d_queryJoinedGroups: typeof queryJoinedGroups;\n  type socialGroupsV2Group_universal_d_QueryJoinedGroupsOptions = QueryJoinedGroupsOptions;\n  const socialGroupsV2Group_universal_d_queryGroupsByMembership: typeof queryGroupsByMembership;\n  type socialGroupsV2Group_universal_d_QueryGroupsByMembershipOptions = QueryGroupsByMembershipOptions;\n  const socialGroupsV2Group_universal_d_listGroupIntegrationsData: typeof listGroupIntegrationsData;\n  type socialGroupsV2Group_universal_d_ListGroupIntegrationsDataOptions = ListGroupIntegrationsDataOptions;\n  const socialGroupsV2Group_universal_d_getGroupBmFeatures: typeof getGroupBmFeatures;\n  const socialGroupsV2Group_universal_d_queryJoinedGroupsWithMember: typeof queryJoinedGroupsWithMember;\n  type socialGroupsV2Group_universal_d_QueryJoinedGroupsWithMemberOptions = QueryJoinedGroupsWithMemberOptions;\n  namespace socialGroupsV2Group_universal_d {\n    export {\n      Group$1 as Group,\n      Type$1 as Type,\n      Events$1 as Events,\n      Logo$1 as Logo,\n      GroupDetailsPosition$1 as GroupDetailsPosition,\n      Image$1 as Image,\n      Position$1 as Position,\n      AllowPolicy$1 as AllowPolicy,\n      OnboardingStepSettings$1 as OnboardingStepSettings,\n      StepKey$1 as StepKey,\n      PrivacyStatus$1 as PrivacyStatus,\n      AccessRestriction$1 as AccessRestriction,\n      AccessRestrictionDataOneOf$1 as AccessRestrictionDataOneOf,\n      GroupDetails$1 as GroupDetails,\n      CoverImage$1 as CoverImage,\n      GroupSettings$1 as GroupSettings,\n      Identity$1 as Identity,\n      IdentityType$1 as IdentityType,\n      socialGroupsV2Group_universal_d_CreateGroupRequest as CreateGroupRequest,\n      ContentType$1 as ContentType,\n      socialGroupsV2Group_universal_d_CreateGroupResponse as CreateGroupResponse,\n      socialGroupsV2Group_universal_d_UpdateGroupRequest as UpdateGroupRequest,\n      socialGroupsV2Group_universal_d_UpdateGroupResponse as UpdateGroupResponse,\n      socialGroupsV2Group_universal_d_GroupCoverChanged as GroupCoverChanged,\n      socialGroupsV2Group_universal_d_GroupDescriptionChanged as GroupDescriptionChanged,\n      socialGroupsV2Group_universal_d_DeleteGroupRequest as DeleteGroupRequest,\n      socialGroupsV2Group_universal_d_DeleteGroupResponse as DeleteGroupResponse,\n      socialGroupsV2Group_universal_d_GetGroupRequest as GetGroupRequest,\n      socialGroupsV2Group_universal_d_GetGroupResponse as GetGroupResponse,\n      socialGroupsV2Group_universal_d_GetGroupBySlugRequest as GetGroupBySlugRequest,\n      socialGroupsV2Group_universal_d_GetGroupBySlugResponse as GetGroupBySlugResponse,\n      socialGroupsV2Group_universal_d_GetGroupIdBySlugRequest as GetGroupIdBySlugRequest,\n      socialGroupsV2Group_universal_d_GetGroupIdBySlugResponse as GetGroupIdBySlugResponse,\n      socialGroupsV2Group_universal_d_GlobalFeedPermissions as GlobalFeedPermissions,\n      socialGroupsV2Group_universal_d_FeedPermissions as FeedPermissions,\n      socialGroupsV2Group_universal_d_FeedItemPermissions as FeedItemPermissions,\n      socialGroupsV2Group_universal_d_ListGroupsRequest as ListGroupsRequest,\n      socialGroupsV2Group_universal_d_ListGroupsResponse as ListGroupsResponse,\n      PagingMetadata$4 as PagingMetadata,\n      socialGroupsV2Group_universal_d_ListGroupsByUserIdRequest as ListGroupsByUserIdRequest,\n      socialGroupsV2Group_universal_d_ListGroupsByUserIdResponse as ListGroupsByUserIdResponse,\n      socialGroupsV2Group_universal_d_GroupWithMsId as GroupWithMsId,\n      socialGroupsV2Group_universal_d_QueryGroupsRequest as QueryGroupsRequest,\n      Query$3 as Query,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      Paging$4 as Paging,\n      socialGroupsV2Group_universal_d_QueryGroupsResponse as QueryGroupsResponse,\n      socialGroupsV2Group_universal_d_QueryJoinedGroupsRequest as QueryJoinedGroupsRequest,\n      socialGroupsV2Group_universal_d_QueryJoinedGroupsResponse as QueryJoinedGroupsResponse,\n      socialGroupsV2Group_universal_d_QueryGroupsByMembershipRequest as QueryGroupsByMembershipRequest,\n      MembershipStatus$1 as MembershipStatus,\n      socialGroupsV2Group_universal_d_GroupPermissions as GroupPermissions,\n      socialGroupsV2Group_universal_d_QueryGroupsByMembershipResponse as QueryGroupsByMembershipResponse,\n      socialGroupsV2Group_universal_d_ListGroupIntegrationsDataRequest as ListGroupIntegrationsDataRequest,\n      socialGroupsV2Group_universal_d_ListGroupIntegrationsDataResponse as ListGroupIntegrationsDataResponse,\n      socialGroupsV2Group_universal_d_GroupIntegrationsData as GroupIntegrationsData,\n      socialGroupsV2Group_universal_d_GetGroupMembersGroupIdsRequest as GetGroupMembersGroupIdsRequest,\n      socialGroupsV2Group_universal_d_GetGroupMembersGroupIdsResponse as GetGroupMembersGroupIdsResponse,\n      socialGroupsV2Group_universal_d_GetGroupBMFeaturesRequest as GetGroupBMFeaturesRequest,\n      socialGroupsV2Group_universal_d_GetGroupBMFeaturesResponse as GetGroupBMFeaturesResponse,\n      socialGroupsV2Group_universal_d_BMFeatures as BMFeatures,\n      socialGroupsV2Group_universal_d_BMFeaturesBMFeatures as BMFeaturesBMFeatures,\n      socialGroupsV2Group_universal_d_QueryJoinedGroupsWithMemberRequest as QueryJoinedGroupsWithMemberRequest,\n      socialGroupsV2Group_universal_d_QueryJoinedGroupsWithMemberResponse as QueryJoinedGroupsWithMemberResponse,\n      socialGroupsV2Group_universal_d_GetPrivacyRequest as GetPrivacyRequest,\n      socialGroupsV2Group_universal_d_GetPrivacyResponse as GetPrivacyResponse,\n      DomainEvent$5 as DomainEvent,\n      DomainEventBodyOneOf$5 as DomainEventBodyOneOf,\n      EntityCreatedEvent$5 as EntityCreatedEvent,\n      RestoreInfo$5 as RestoreInfo,\n      EntityUpdatedEvent$5 as EntityUpdatedEvent,\n      EntityDeletedEvent$5 as EntityDeletedEvent,\n      ActionEvent$5 as ActionEvent,\n      MessageEnvelope$5 as MessageEnvelope,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      socialGroupsV2Group_universal_d_createGroup as createGroup,\n      socialGroupsV2Group_universal_d_CreateGroupOptions as CreateGroupOptions,\n      socialGroupsV2Group_universal_d_updateGroup as updateGroup,\n      socialGroupsV2Group_universal_d_UpdateGroup as UpdateGroup,\n      socialGroupsV2Group_universal_d_UpdateGroupOptions as UpdateGroupOptions,\n      socialGroupsV2Group_universal_d_deleteGroup as deleteGroup,\n      socialGroupsV2Group_universal_d_getGroup as getGroup,\n      socialGroupsV2Group_universal_d_GetGroupOptions as GetGroupOptions,\n      socialGroupsV2Group_universal_d_getGroupBySlug as getGroupBySlug,\n      socialGroupsV2Group_universal_d_GetGroupBySlugOptions as GetGroupBySlugOptions,\n      socialGroupsV2Group_universal_d_getGroupIdBySlug as getGroupIdBySlug,\n      socialGroupsV2Group_universal_d_GetGroupIdBySlugOptions as GetGroupIdBySlugOptions,\n      socialGroupsV2Group_universal_d_listGroups as listGroups,\n      socialGroupsV2Group_universal_d_ListGroupsOptions as ListGroupsOptions,\n      socialGroupsV2Group_universal_d_listGroupsByUserId as listGroupsByUserId,\n      socialGroupsV2Group_universal_d_ListGroupsByUserIdOptions as ListGroupsByUserIdOptions,\n      socialGroupsV2Group_universal_d_queryGroups as queryGroups,\n      socialGroupsV2Group_universal_d_QueryGroupsOptions as QueryGroupsOptions,\n      socialGroupsV2Group_universal_d_GroupsQueryResult as GroupsQueryResult,\n      socialGroupsV2Group_universal_d_GroupsQueryBuilder as GroupsQueryBuilder,\n      socialGroupsV2Group_universal_d_queryJoinedGroups as queryJoinedGroups,\n      socialGroupsV2Group_universal_d_QueryJoinedGroupsOptions as QueryJoinedGroupsOptions,\n      socialGroupsV2Group_universal_d_queryGroupsByMembership as queryGroupsByMembership,\n      socialGroupsV2Group_universal_d_QueryGroupsByMembershipOptions as QueryGroupsByMembershipOptions,\n      socialGroupsV2Group_universal_d_listGroupIntegrationsData as listGroupIntegrationsData,\n      socialGroupsV2Group_universal_d_ListGroupIntegrationsDataOptions as ListGroupIntegrationsDataOptions,\n      socialGroupsV2Group_universal_d_getGroupBmFeatures as getGroupBmFeatures,\n      socialGroupsV2Group_universal_d_queryJoinedGroupsWithMember as queryJoinedGroupsWithMember,\n      socialGroupsV2Group_universal_d_QueryJoinedGroupsWithMemberOptions as QueryJoinedGroupsWithMemberOptions,\n    };\n  }\n  \n  interface GroupMember$1 {\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      siteMemberId?: string;\n      /**\n       * Site member ID.\n       * @readonly\n       */\n      memberId?: string;\n      /** Group Member Role. */\n      role?: GroupRole$1;\n      /**\n       * Date and time the group Member joined the group.\n       * @readonly\n       */\n      joinedDate?: Date | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  /**\n   * A group member may have multiple roles in a single group.\n   * Currently, only `MEMBER` and `ADMIN` roles are supported, but more roles may be available in the future.\n   */\n  interface GroupRole$1 {\n      /**\n       * Group member role. One of:\n       * - `\"MEMBER\"` - Regular group member.\n       * - `\"ADMIN\"` - Group administrator.\n       */\n      value?: Role$1;\n  }\n  enum Role$1 {\n      /** Undefined group member role. */\n      UNKNOWN_ROLE = \"UNKNOWN_ROLE\",\n      /** Regular group member. */\n      MEMBER = \"MEMBER\",\n      /** Group administrator. */\n      ADMIN = \"ADMIN\"\n  }\n  interface SocialGroupsEvent$1 extends SocialGroupsEventPayloadOneOf$1 {\n      memberJoined?: MemberJoinedGroup$1;\n      membersAdded?: MembersAddedToGroup$1;\n      joinRequestsApproved?: JoinRequestsApproved$1;\n      membersInvited?: MembersInvitedToGroup$1;\n  }\n  /** @oneof */\n  interface SocialGroupsEventPayloadOneOf$1 {\n      memberJoined?: MemberJoinedGroup$1;\n      membersAdded?: MembersAddedToGroup$1;\n      joinRequestsApproved?: JoinRequestsApproved$1;\n      membersInvited?: MembersInvitedToGroup$1;\n  }\n  interface MemberJoinedGroup$1 {\n      groupId?: string;\n      groupsInstanceId?: string;\n      siteMemberId?: string;\n  }\n  interface MembersAddedToGroup$1 {\n      groupId?: string;\n      groupsInstanceId?: string;\n      whoAddedId?: string | null;\n      siteMemberIds?: string[];\n      /** Used for Apes sticky experiment */\n      operationId?: string;\n  }\n  interface JoinRequestsApproved$1 {\n      groupId?: string;\n      groupsInstanceId?: string;\n      siteMemberIds?: string[];\n      /** Used for Apes sticky experiment */\n      operationId?: string;\n  }\n  interface MembersInvitedToGroup$1 {\n      groupId?: string;\n      groupsInstanceId?: string;\n      siteMemberIds?: string[];\n  }\n  /** ID of the group to join. */\n  interface JoinRequest {\n      groupId: string;\n      /** Answers to membership questions. A Join Request will fail, if the answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$2[];\n      autoInviteId?: string | null;\n  }\n  /** Answer to a membership question. */\n  interface MembershipQuestionAnswer$2 {\n      /** Question ID. */\n      _id?: string;\n      /** Answer text. */\n      text?: string | null;\n  }\n  interface JoinResponse {\n      /** New member. */\n      member?: GroupMember$1;\n  }\n  interface MemberJoined {\n      /** Group ID that member has joined. */\n      groupId?: string;\n      /** Joined group member. */\n      groupMember?: GroupMember$1;\n      /**\n       * Type of join - can be either invite or clicking join button in the group.\n       * @internal\n       */\n      joinBy?: JoinBy;\n      /**\n       * ID of the invite that was used to join the group. It can be empty if the member joined manually.\n       * @internal\n       */\n      inviteId?: string | null;\n  }\n  enum JoinBy {\n      MANUALLY = \"MANUALLY\",\n      PERSONAL_INVITE_LINK = \"PERSONAL_INVITE_LINK\",\n      PUBLIC_INVITE_LINK = \"PUBLIC_INVITE_LINK\"\n  }\n  interface LeaveRequest {\n      /** ID of the Group to leave. */\n      groupId: string;\n  }\n  interface LeaveResponse {\n  }\n  interface MemberLeft {\n      /** Group ID that member has left. */\n      groupId?: string;\n      /** Group member that left. */\n      groupMember?: GroupMember$1;\n  }\n  interface AddGroupMembersRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n      /**\n       * IDs of the site members to add to the group.\n       *\n       *\n       */\n      memberIds?: string[];\n      /**\n       * Whether to send invitations to private site members. Defaults to `true`.\n       * @internal\n       * @deprecated\n       */\n      invitePrivateMembers?: boolean | null;\n  }\n  interface AddGroupMembersResponse {\n      /** New members. */\n      members?: GroupMember$1[];\n  }\n  interface MemberAdded {\n      /** Group ID that member was added to. */\n      groupId?: string;\n      /** Added group member. */\n      groupMember?: GroupMember$1;\n  }\n  interface RemoveGroupMembersRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n      /**  IDs of the site members to remove from the group. */\n      memberIds?: string[];\n  }\n  interface RemoveGroupMembersResponse {\n  }\n  interface MemberRemoved {\n      /** Group ID that member was removed from. */\n      groupId?: string;\n      /** Removed group member. */\n      groupMember?: GroupMember$1;\n  }\n  interface ListGroupMembersRequest {\n      /** Group ID. */\n      groupId: string;\n      /** Number of items to load. Maximum `100.` */\n      limit?: number | null;\n      /** Number of group members to skip in the list. */\n      offset?: number | null;\n      /**\n       * Return members who left groups (internal, used for history in analytics)\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2024-05-28\n       */\n      includeDeleted?: boolean;\n  }\n  interface ListGroupMembersResponse {\n      /** Retrieved members. */\n      members?: GroupMember$1[];\n      /** Paging information. */\n      metadata?: PagingMetadata$3;\n  }\n  interface PagingMetadata$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryGroupMembersRequest {\n      /** Group ID. */\n      groupId: string;\n      query?: Query$2;\n  }\n  interface Query$2 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$3;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryGroupMembersResponse {\n      /** Group members. */\n      members?: GroupMember$1[];\n      /** Paging information. */\n      metadata?: PagingMetadata$3;\n  }\n  interface QueryNonGroupMembersRequest {\n      /** Group ID. */\n      groupId: string;\n      query?: Query$2;\n  }\n  interface QueryNonGroupMembersResponse {\n      /** Retrieved members. */\n      members?: GroupMember$1[];\n  }\n  interface ListMembershipsRequest {\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberId?: string | null;\n      /** Site member ID. */\n      memberId: string | null;\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of memberships to skip in the list. */\n      offset?: number | null;\n  }\n  interface ListMembershipsResponse {\n      /** Site member's memberships. */\n      memberships?: Membership[];\n      /** Paging information. */\n      metadata?: PagingMetadata$3;\n  }\n  interface Membership {\n      /**\n       * Group ID.\n       * @readonly\n       */\n      groupId?: string;\n      /**\n       * Membership status with Group\n       * - `\"JOINED\"` - Site member is a group member.\n       * - `\"PENDING\"` - Site member has submitted a Join Request for this group that is still `\"PENDING\"`.\n       */\n      status?: MembershipStatus;\n      /** Group member role. When membership status is not `JOINED`, this is empty. */\n      role?: GroupRole$1;\n  }\n  enum MembershipStatus {\n      /** Undefined membership status. */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Site member is a group member. */\n      JOINED = \"JOINED\",\n      /** Site member has submitted a Join Request for this group that is still `PENDING`. */\n      PENDING = \"PENDING\"\n  }\n  interface QueryMembershipsRequest {\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberId?: string | null;\n      /** Site member ID. */\n      memberId: string | null;\n      query?: Query$2;\n  }\n  interface QueryMembershipsResponse {\n      /** Site member's memberships. */\n      memberships?: Membership[];\n      /** Paging information. */\n      metadata?: PagingMetadata$3;\n  }\n  interface QueryMyMembershipRequest {\n      query?: Query$2;\n  }\n  interface QueryMyMembershipResponse {\n      /** Site member's memberships. */\n      memberships?: Membership[];\n      /** Paging information. */\n      metadata?: PagingMetadata$3;\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Join a specific group.\n   * Site owners can use it for groups with any privacy level and automatically receives `ADMIN` group role. A site member can use it only for public groups.\n   * This endpoint doesn't support server signing.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function joinGroup(groupId: string, options?: JoinGroupOptions): Promise<JoinResponse>;\n  interface JoinGroupOptions {\n      /** Answers to membership questions. A Join Request will fail, if the answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$2[];\n      autoInviteId?: string | null;\n  }\n  /**\n   * Leave a group.\n   * This endpoint doesn't support server signing.\n   * @param groupId - ID of the Group to leave.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function leaveGroup(groupId: string): Promise<void>;\n  /**\n   * Adds site members to a group.\n   *\n   *\n   * The `addGroupMembers()` function returns a Promise that resolves to the newly-added group member\n   * after the member has successfully been added.\n   *\n   * For `SECRET` groups, site admins, group admins, and group members can add additional members to their group.\n   *\n   * For `PUBLIC` and `PRIVATE` groups, only site admins and group admins can add additional members to their group. They can also choose to allow all group members to add a new member to the group.\n   * This setting can be found in your site's Dashboard under **Groups Application > Your Group > Admin Tools > Member Permissions**.\n   *\n   * <!-- > **Note:** If the `suppressAuth` option is set to `true`, all permissions are overwritten and all site members (including non-group members) can add additional members to a group. -->\n   *\n   * @param groupId - Group ID.\n   * @param memberIds - IDs of the site members to add to the group.\n   * @public\n   * @requiredField groupId\n   * @requiredField memberIds\n   * @adminMethod\n   */\n  function addGroupMembers(groupId: string, memberIds: string[], options?: AddGroupMembersOptions): Promise<AddGroupMembersResponse>;\n  interface AddGroupMembersOptions {\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n      /**\n       * Whether to send invitations to private site members. Defaults to `true`.\n       * @internal\n       * @deprecated\n       */\n      invitePrivateMembers?: boolean | null;\n  }\n  /**\n   * Removes members from a group.\n   *\n   *\n   * The `removeGroupMembers()` function returns a Promise that resolves when the member is removed from the group.\n   *\n   * > **Note:** Only site admins and group admins can remove members from their group. <!-- However, if the `suppressAuth` option is set to `true`, all permissions are overwritten and all site members (including non-group members) can remove members from a group. -->\n   *\n   * @param groupId - Group ID.\n   * @param memberIds - IDs of the site members to remove from the group.\n   * @public\n   * @requiredField groupId\n   * @requiredField memberIds\n   * @adminMethod\n   */\n  function removeGroupMembers(groupId: string, memberIds: string[], options?: RemoveGroupMembersOptions): Promise<void>;\n  interface RemoveGroupMembersOptions {\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n  }\n  /**\n   * Lists all members of a group.\n   *\n   *\n   *  The `listGroupMembers()` function returns a Promise that resolves to a list of up to 100 group members.\n   *  Sorts by default to `joinedDate` in descending order.\n   *\n   *  > **Note:** For `SECRET` groups, only site admins, group admins, and group members can see the list of group members. <!-- However, if the `suppressAuth` option is set to `true`, all permissions are overwritten, and all site members (including non-group members) can see the list of group members.  -->\n   *  <!-- > + This function's parameters are positional, and must be specified in the sequence shown in the syntax below. When specifying a parameter, use `null` as a placeholder for any unspecified parameters. For example, to specify `limit` only, call `listGroupMembers(groupId, paging, null)`. To specify `supressAuth` only, call `listGroupMembers(groupId, null, options)`. -->\n   *\n   * @param groupId - Group ID.\n   * @public\n   * @requiredField groupId\n   * @param options - Paging options.\n   * @adminMethod\n   */\n  function listGroupMembers(groupId: string, options?: ListGroupMembersOptions): Promise<ListGroupMembersResponse>;\n  interface ListGroupMembersOptions {\n      /** Maximum number of group members to retrieve. Defaults to 100. */\n      limit?: number | null;\n      /** Number of group members to skip in the list. */\n      offset?: number | null;\n      /**\n       * Return members who left groups (internal, used for history in analytics)\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2024-05-28\n       */\n      includeDeleted?: boolean;\n  }\n  /**\n   * Retrieves a list of up to 100 group members, given the provided paging, sorting and filtering.\n   *\n   *\n   * Creates a query to retrieve a list of group members.\n   *\n   * > **Note:** For `SECRET` groups, only site admins, group admins, and group members can query group members. <!-- However, if the `suppressAuth` option is set to `true`, all permissions are overwritten, and all site members (including non-group members) can query group members.  -->\n   *\n   * The `queryGroupMembers()` function builds a query to retrieve a list of all group members, and returns a [GroupMembersQueryBuilder](#membersquerybuilder) object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the [`find()`](#membersquerybuilder/find) function.\n   *\n   * You can refine the query by chaining `GroupMembersQueryBuilder` functions onto the query. `GroupMembersQueryBuilder` functions enable you to sort, filter, and control the results that `queryMembers()` returns.\n   *\n   *  `queryGroupMembers()` runs with these `GroupMembersQueryBuilder` defaults, which you can override:\n   *  + [`limit(100)`](/members-query-builder/limit)\n   *  + [`descending(\"joinedDate\")`](/members-query-builder/descending)\n   *\n   * The following `GroupMembersQueryBuilder` functions are supported for `queryGroupMembers()`. For a full description of the Members object, see the object returned for the [`items`](/members-query-result/items) property in `MembersQueryResult`.\n   * @public\n   * @requiredField groupId\n   * @param groupId - Group ID.\n   * @adminMethod\n   */\n  function queryGroupMembers(groupId: string): MembersQueryBuilder;\n  interface QueryOffsetResult$2 {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface MembersQueryResult extends QueryOffsetResult$2 {\n      items: GroupMember$1[];\n      query: MembersQueryBuilder;\n      next: () => Promise<MembersQueryResult>;\n      prev: () => Promise<MembersQueryResult>;\n  }\n  interface MembersQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: 'role', value: any) => MembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: 'role', value: any) => MembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: 'role', value: any[]) => MembersQueryBuilder;\n      in: (propertyName: 'role', value: any) => MembersQueryBuilder;\n      exists: (propertyName: 'role', value: boolean) => MembersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'role' | 'joinedDate'>) => MembersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'role' | 'joinedDate'>) => MembersQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => MembersQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => MembersQueryBuilder;\n      find: () => Promise<MembersQueryResult>;\n  }\n  /**\n   * Don't expose to 3rd parties! (Use GroupMembersWithProfilesService.QueryNonGroupMembersWithProfiles)\n   * @param groupId - Group ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   * @deprecated\n   */\n  function queryNonGroupMembers(groupId: string, options?: QueryNonGroupMembersOptions): Promise<QueryNonGroupMembersResponse>;\n  interface QueryNonGroupMembersOptions {\n      query?: Query$2;\n  }\n  /**\n   * Lists all group memberships of a site member.\n   *\n   *\n   * The `listMemberships()` function returns a Promise that resolves to a list of up to 100 group memberships.\n   * Sorts by default to `groupId` in descending order.\n   *\n   * > **Note:** Only site admins can retrieve a site member's memberships. Site members can see a list of their memberships. <!-- However, if the `suppressAuth` option is set to `true`, all permissions are overwritten, and all site members (including non-group members) can see a list of a site member's memberships. -->\n   * <!-- > + This function's parameters are positional, and must be specified in the sequence shown in the syntax below. When specifying a parameter, use `null` as a placeholder for any unspecified parameters. For example, to specify `limit` only, call `listMemberships(memberId, paging, null)`. To specify `supressAuth` only, call `listMemberships(memberId, null, options)`. -->\n   *\n   * @public\n   * @requiredField memberId\n   * @param memberId - Site member ID.\n   * @param options - Paging options.\n   * @adminMethod\n   */\n  function listMemberships(memberId: string | null, options?: ListMembershipsOptions): Promise<ListMembershipsResponse>;\n  interface ListMembershipsOptions {\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberId?: string | null;\n      /** Maximum number of memberships to retrieve. Defaults to 100. */\n      limit?: number | null;\n      /** Number of memberships to skip in the list. */\n      offset?: number | null;\n  }\n  /**\n   * Retrieves a list of up to 100 members and their membership status, given the provided paging and filtering.\n   *\n   * The queryMemberships function returns a Promise that resolves to a list of memberships.\n   *\n   * >**Note:** Site members can only query their own memberships.\n   *\n   * | Property                    | Supported Filters & Sorting                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |\n   * | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n   * | `status`                    | [`eq()`](#membershipsquerybuilder/eq), [`ne()`](#membershipsquerybuilder/ne)             |\n   * | `role`                      | [`eq()`](#membershipsquerybuilder/eq), [`ne()`](#membershipsquerybuilder/ne)             |\n   *\n   * @public\n   * @requiredField memberId\n   * @param memberId - Site member ID.\n   * @adminMethod\n   */\n  function queryMemberships(memberId: string | null, options?: QueryMembershipsOptions): Promise<QueryMembershipsResponse>;\n  interface QueryMembershipsOptions {\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberId?: string | null;\n      query?: Query$2;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryMyMembership(options?: QueryMyMembershipOptions): Promise<QueryMyMembershipResponse>;\n  interface QueryMyMembershipOptions {\n      query?: Query$2;\n  }\n  \n  type socialGroupsV2GroupMember_universal_d_JoinRequest = JoinRequest;\n  type socialGroupsV2GroupMember_universal_d_JoinResponse = JoinResponse;\n  type socialGroupsV2GroupMember_universal_d_MemberJoined = MemberJoined;\n  type socialGroupsV2GroupMember_universal_d_JoinBy = JoinBy;\n  const socialGroupsV2GroupMember_universal_d_JoinBy: typeof JoinBy;\n  type socialGroupsV2GroupMember_universal_d_LeaveRequest = LeaveRequest;\n  type socialGroupsV2GroupMember_universal_d_LeaveResponse = LeaveResponse;\n  type socialGroupsV2GroupMember_universal_d_MemberLeft = MemberLeft;\n  type socialGroupsV2GroupMember_universal_d_AddGroupMembersRequest = AddGroupMembersRequest;\n  type socialGroupsV2GroupMember_universal_d_AddGroupMembersResponse = AddGroupMembersResponse;\n  type socialGroupsV2GroupMember_universal_d_MemberAdded = MemberAdded;\n  type socialGroupsV2GroupMember_universal_d_RemoveGroupMembersRequest = RemoveGroupMembersRequest;\n  type socialGroupsV2GroupMember_universal_d_RemoveGroupMembersResponse = RemoveGroupMembersResponse;\n  type socialGroupsV2GroupMember_universal_d_MemberRemoved = MemberRemoved;\n  type socialGroupsV2GroupMember_universal_d_ListGroupMembersRequest = ListGroupMembersRequest;\n  type socialGroupsV2GroupMember_universal_d_ListGroupMembersResponse = ListGroupMembersResponse;\n  type socialGroupsV2GroupMember_universal_d_QueryGroupMembersRequest = QueryGroupMembersRequest;\n  type socialGroupsV2GroupMember_universal_d_QueryGroupMembersResponse = QueryGroupMembersResponse;\n  type socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersRequest = QueryNonGroupMembersRequest;\n  type socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersResponse = QueryNonGroupMembersResponse;\n  type socialGroupsV2GroupMember_universal_d_ListMembershipsRequest = ListMembershipsRequest;\n  type socialGroupsV2GroupMember_universal_d_ListMembershipsResponse = ListMembershipsResponse;\n  type socialGroupsV2GroupMember_universal_d_Membership = Membership;\n  type socialGroupsV2GroupMember_universal_d_MembershipStatus = MembershipStatus;\n  const socialGroupsV2GroupMember_universal_d_MembershipStatus: typeof MembershipStatus;\n  type socialGroupsV2GroupMember_universal_d_QueryMembershipsRequest = QueryMembershipsRequest;\n  type socialGroupsV2GroupMember_universal_d_QueryMembershipsResponse = QueryMembershipsResponse;\n  type socialGroupsV2GroupMember_universal_d_QueryMyMembershipRequest = QueryMyMembershipRequest;\n  type socialGroupsV2GroupMember_universal_d_QueryMyMembershipResponse = QueryMyMembershipResponse;\n  const socialGroupsV2GroupMember_universal_d_joinGroup: typeof joinGroup;\n  type socialGroupsV2GroupMember_universal_d_JoinGroupOptions = JoinGroupOptions;\n  const socialGroupsV2GroupMember_universal_d_leaveGroup: typeof leaveGroup;\n  const socialGroupsV2GroupMember_universal_d_addGroupMembers: typeof addGroupMembers;\n  type socialGroupsV2GroupMember_universal_d_AddGroupMembersOptions = AddGroupMembersOptions;\n  const socialGroupsV2GroupMember_universal_d_removeGroupMembers: typeof removeGroupMembers;\n  type socialGroupsV2GroupMember_universal_d_RemoveGroupMembersOptions = RemoveGroupMembersOptions;\n  const socialGroupsV2GroupMember_universal_d_listGroupMembers: typeof listGroupMembers;\n  type socialGroupsV2GroupMember_universal_d_ListGroupMembersOptions = ListGroupMembersOptions;\n  const socialGroupsV2GroupMember_universal_d_queryGroupMembers: typeof queryGroupMembers;\n  type socialGroupsV2GroupMember_universal_d_MembersQueryResult = MembersQueryResult;\n  type socialGroupsV2GroupMember_universal_d_MembersQueryBuilder = MembersQueryBuilder;\n  const socialGroupsV2GroupMember_universal_d_queryNonGroupMembers: typeof queryNonGroupMembers;\n  type socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersOptions = QueryNonGroupMembersOptions;\n  const socialGroupsV2GroupMember_universal_d_listMemberships: typeof listMemberships;\n  type socialGroupsV2GroupMember_universal_d_ListMembershipsOptions = ListMembershipsOptions;\n  const socialGroupsV2GroupMember_universal_d_queryMemberships: typeof queryMemberships;\n  type socialGroupsV2GroupMember_universal_d_QueryMembershipsOptions = QueryMembershipsOptions;\n  const socialGroupsV2GroupMember_universal_d_queryMyMembership: typeof queryMyMembership;\n  type socialGroupsV2GroupMember_universal_d_QueryMyMembershipOptions = QueryMyMembershipOptions;\n  namespace socialGroupsV2GroupMember_universal_d {\n    export {\n      GroupMember$1 as GroupMember,\n      GroupRole$1 as GroupRole,\n      Role$1 as Role,\n      SocialGroupsEvent$1 as SocialGroupsEvent,\n      SocialGroupsEventPayloadOneOf$1 as SocialGroupsEventPayloadOneOf,\n      MemberJoinedGroup$1 as MemberJoinedGroup,\n      MembersAddedToGroup$1 as MembersAddedToGroup,\n      JoinRequestsApproved$1 as JoinRequestsApproved,\n      MembersInvitedToGroup$1 as MembersInvitedToGroup,\n      socialGroupsV2GroupMember_universal_d_JoinRequest as JoinRequest,\n      MembershipQuestionAnswer$2 as MembershipQuestionAnswer,\n      socialGroupsV2GroupMember_universal_d_JoinResponse as JoinResponse,\n      socialGroupsV2GroupMember_universal_d_MemberJoined as MemberJoined,\n      socialGroupsV2GroupMember_universal_d_JoinBy as JoinBy,\n      socialGroupsV2GroupMember_universal_d_LeaveRequest as LeaveRequest,\n      socialGroupsV2GroupMember_universal_d_LeaveResponse as LeaveResponse,\n      socialGroupsV2GroupMember_universal_d_MemberLeft as MemberLeft,\n      socialGroupsV2GroupMember_universal_d_AddGroupMembersRequest as AddGroupMembersRequest,\n      socialGroupsV2GroupMember_universal_d_AddGroupMembersResponse as AddGroupMembersResponse,\n      socialGroupsV2GroupMember_universal_d_MemberAdded as MemberAdded,\n      socialGroupsV2GroupMember_universal_d_RemoveGroupMembersRequest as RemoveGroupMembersRequest,\n      socialGroupsV2GroupMember_universal_d_RemoveGroupMembersResponse as RemoveGroupMembersResponse,\n      socialGroupsV2GroupMember_universal_d_MemberRemoved as MemberRemoved,\n      socialGroupsV2GroupMember_universal_d_ListGroupMembersRequest as ListGroupMembersRequest,\n      socialGroupsV2GroupMember_universal_d_ListGroupMembersResponse as ListGroupMembersResponse,\n      PagingMetadata$3 as PagingMetadata,\n      socialGroupsV2GroupMember_universal_d_QueryGroupMembersRequest as QueryGroupMembersRequest,\n      Query$2 as Query,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      Paging$3 as Paging,\n      socialGroupsV2GroupMember_universal_d_QueryGroupMembersResponse as QueryGroupMembersResponse,\n      socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersRequest as QueryNonGroupMembersRequest,\n      socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersResponse as QueryNonGroupMembersResponse,\n      socialGroupsV2GroupMember_universal_d_ListMembershipsRequest as ListMembershipsRequest,\n      socialGroupsV2GroupMember_universal_d_ListMembershipsResponse as ListMembershipsResponse,\n      socialGroupsV2GroupMember_universal_d_Membership as Membership,\n      socialGroupsV2GroupMember_universal_d_MembershipStatus as MembershipStatus,\n      socialGroupsV2GroupMember_universal_d_QueryMembershipsRequest as QueryMembershipsRequest,\n      socialGroupsV2GroupMember_universal_d_QueryMembershipsResponse as QueryMembershipsResponse,\n      socialGroupsV2GroupMember_universal_d_QueryMyMembershipRequest as QueryMyMembershipRequest,\n      socialGroupsV2GroupMember_universal_d_QueryMyMembershipResponse as QueryMyMembershipResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      socialGroupsV2GroupMember_universal_d_joinGroup as joinGroup,\n      socialGroupsV2GroupMember_universal_d_JoinGroupOptions as JoinGroupOptions,\n      socialGroupsV2GroupMember_universal_d_leaveGroup as leaveGroup,\n      socialGroupsV2GroupMember_universal_d_addGroupMembers as addGroupMembers,\n      socialGroupsV2GroupMember_universal_d_AddGroupMembersOptions as AddGroupMembersOptions,\n      socialGroupsV2GroupMember_universal_d_removeGroupMembers as removeGroupMembers,\n      socialGroupsV2GroupMember_universal_d_RemoveGroupMembersOptions as RemoveGroupMembersOptions,\n      socialGroupsV2GroupMember_universal_d_listGroupMembers as listGroupMembers,\n      socialGroupsV2GroupMember_universal_d_ListGroupMembersOptions as ListGroupMembersOptions,\n      socialGroupsV2GroupMember_universal_d_queryGroupMembers as queryGroupMembers,\n      socialGroupsV2GroupMember_universal_d_MembersQueryResult as MembersQueryResult,\n      socialGroupsV2GroupMember_universal_d_MembersQueryBuilder as MembersQueryBuilder,\n      socialGroupsV2GroupMember_universal_d_queryNonGroupMembers as queryNonGroupMembers,\n      socialGroupsV2GroupMember_universal_d_QueryNonGroupMembersOptions as QueryNonGroupMembersOptions,\n      socialGroupsV2GroupMember_universal_d_listMemberships as listMemberships,\n      socialGroupsV2GroupMember_universal_d_ListMembershipsOptions as ListMembershipsOptions,\n      socialGroupsV2GroupMember_universal_d_queryMemberships as queryMemberships,\n      socialGroupsV2GroupMember_universal_d_QueryMembershipsOptions as QueryMembershipsOptions,\n      socialGroupsV2GroupMember_universal_d_queryMyMembership as queryMyMembership,\n      socialGroupsV2GroupMember_universal_d_QueryMyMembershipOptions as QueryMyMembershipOptions,\n    };\n  }\n  \n  /**\n   * >**Notes:**\n   * > + Site owners may set that members are not permitted to create groups in the Wix Groups application settings.\n   * > + In this situation, site members have to submit a Group Request to create a new group.\n   * > + Group Requests can be approved or rejected by an admin.\n   * > + After a Group Request has been approved, the new group is added to the Group List in the Wix Groups app home page.\n   * > + See [About Wix Groups](https://dev.wix.com/docs/rest/crm/community/groups/introduction) for more details.\n   */\n  interface GroupRequest {\n      /**\n       * ID of the request to create a group. Same as group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Group requested to create. */\n      group?: Group;\n      /**\n       * Status of the request to create a group. One of:\n       * - `\"PENDING\"` - Pending group request.\n       * - `\"APPROVED\"` - Approved group request.\n       * - `\"REJECTED\"` - Rejected group request.\n       * - `\"CANCELED\"` - Canceled group request.\n       */\n      status?: RequestStatus$1;\n      /** Details of request to create a group. */\n      requestDetails?: RequestDetails$1;\n  }\n  interface Group {\n      /**\n       * Group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Part of a group's URL.\n       *\n       * For example, `'https:/example.com/groups/{my-group-slug}'`. Generally based on the group name, but for secret groups it is an autogenerated string of characters, for example, `'https:/example.com/groups/{5D3yTX}'`. It is case-sensitive.\n       */\n      slug?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      privacyLevel?: PrivacyStatus;\n      /**\n       * Group privacy status.\n       * - `\"PUBLIC\"` - Site visitors can see the group and its content in the list of groups. Members can join the group.\n       * - `\"PRIVATE\"` - Site visitors can see the group in the list of groups, but only site members can see its content. Members can request to join the group.\n       * - `\"SECRET\"` - Only admins and group members can see the group and its content in the list of groups. Members can only join a group if invited by group admins, or other group members.\n       */\n      privacyStatus?: PrivacyStatus;\n      /** @internal */\n      accessRestriction?: AccessRestriction;\n      /**\n       * @interal\n       * @interal\n       * @deprecated\n       */\n      title?: string | null;\n      /** Group name. */\n      name?: string | null;\n      /** Group Description. */\n      description?: string | null;\n      /** Group teaser. */\n      teaser?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      details?: GroupDetails;\n      /**\n       * What group members are called.\n       *\n       * For example, 'Coworkers', 'Friends', or 'Students'.\n       */\n      memberTitle?: string | null;\n      /**\n       * Group cover image. You cannot upload your own cover image.\n       *\n       */\n      coverImage?: CoverImage;\n      /** Group settings. */\n      settings?: GroupSettings;\n      /**\n       * Total number of members in the group.\n       * @readonly\n       */\n      membersCount?: number | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      createdBy?: Identity;\n      /**\n       * Member ID of the group creator.\n       * @readonly\n       */\n      ownerId?: string | null;\n      /**\n       * Date and time the group was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the group was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      recentActivityDate?: Date | null;\n      /**\n       * Date and time the group was last active.\n       *\n       * For example, a post or comment made in the group.\n       * @readonly\n       */\n      lastActivityDate?: Date | null;\n      /**\n       * Number of pending group members. Relevant only for `PRIVATE` groups.\n       * @internal\n       * @readonly\n       */\n      pendingMembersCount?: number | null;\n      /**\n       * Number of posts and comments in the group since the calling member last saw the group.\n       * @internal\n       * @readonly\n       */\n      updatesCount?: number | null;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      ADMIN_APPROVAL = \"ADMIN_APPROVAL\",\n      PAID_PLANS = \"PAID_PLANS\",\n      EVENTS = \"EVENTS\"\n  }\n  interface Events {\n      eventIds?: string[];\n  }\n  interface Logo {\n      /** Logo image ID (for internal use). */\n      mediaId?: string | null;\n      /**\n       * Logo image file URL.\n       * @internal\n       */\n      fileUrl?: string | null;\n      /** Logo image width. */\n      width?: number | null;\n      /** Logo image height. */\n      height?: number | null;\n  }\n  interface GroupDetailsPosition {\n      /** horizontal coordinate */\n      x?: number;\n      /** vertical coordinate */\n      y?: number;\n  }\n  interface Image {\n      /** Image ID (for internal use). */\n      mediaId?: string | null;\n      /**\n       * Image file URL.\n       * @internal\n       */\n      fileUrl?: string | null;\n      /** Image width. */\n      width?: number | null;\n      /** Image height. */\n      height?: number | null;\n      /** Indicates pre-configured/auto-generated images (from templates, client generated). */\n      preset?: boolean | null;\n  }\n  interface Position {\n      /** horizontal coordinate */\n      x?: number;\n      /** vertical coordinate */\n      y?: number;\n  }\n  enum AllowPolicy {\n      UNKNOWN = \"UNKNOWN\",\n      OWNER_AND_ADMINS = \"OWNER_AND_ADMINS\",\n      OWNER = \"OWNER\",\n      ALL_MEMBERS = \"ALL_MEMBERS\"\n  }\n  interface OnboardingStepSettings {\n      stepKey?: StepKey;\n      visible?: boolean;\n  }\n  enum StepKey {\n      UNKNOWN = \"UNKNOWN\",\n      CREATE_POST = \"CREATE_POST\",\n      REACT_TO_POST = \"REACT_TO_POST\",\n      INVITE_MEMBERS = \"INVITE_MEMBERS\"\n  }\n  enum PrivacyStatus {\n      /** Undefined group privacy status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Anyone can see the group and its content. Anyone can join the group. */\n      PUBLIC = \"PUBLIC\",\n      /** Anyone can see the group, but only members can see its content. New members must submit a `Join Group Request`. */\n      PRIVATE = \"PRIVATE\",\n      /** Only admins and members can see the group. New members can only be added by other members. */\n      SECRET = \"SECRET\"\n  }\n  interface AccessRestriction extends AccessRestrictionDataOneOf {\n      events?: Events;\n      type?: Type;\n  }\n  /** @oneof */\n  interface AccessRestrictionDataOneOf {\n      events?: Events;\n  }\n  interface GroupDetails {\n      /** Group logo. You cannot upload your own logo. */\n      logo?: Logo;\n      /** What group members are called, for example `Coworkers`, `Friends`, or `Students`. */\n      membersTitle?: string | null;\n      /**\n       * Position of the corner of the cover image (or logo).\n       * @internal\n       */\n      logoPosition?: GroupDetailsPosition;\n      /**\n       * Position of the corner of the cover image (or logo) for mobile browser.\n       * @internal\n       */\n      mobileLogoPosition?: GroupDetailsPosition;\n  }\n  interface CoverImage {\n      /** Cover image. */\n      image?: Image;\n      /** Position of the corner of the cover image (or logo). */\n      position?: Position;\n      /** Position of the corner of the cover image (or logo) for mobile browser. */\n      mobilePosition?: Position;\n  }\n  interface GroupSettings {\n      /**\n       * Whether group members can send an email inviting others to join the group. When `false`, only site admins and group admins can invite others to join the group.\n       *\n       * Default: `false`\n       * @deprecated\n       */\n      membersCanInvite?: boolean | null;\n      /**\n       * Whether group members can approve or reject requests to join a group. When `false`, only site admins and group admins can approve or reject requests to join a group.\n       *\n       * Default: `false`\n       * @deprecated\n       */\n      membersCanApprove?: boolean | null;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      memberWelcomePostEnabled?: boolean | null;\n      /**\n       * Whether to create a daily group post welcoming new members.\n       *\n       * Default: `true`\n       */\n      welcomeMemberPostEnabled?: boolean | null;\n      /**\n       * Whether to create an automatic group post when group details are changed.\n       *\n       * Default: `true`\n       */\n      groupDetailsChangedPostEnabled?: boolean | null;\n      /**\n       * Whether all group members can view the full list of group members.\n       *\n       * Default: `true`\n       */\n      showMemberList?: boolean | null;\n      /**\n       * Whether an automatic post about added events is enabled.\n       * @internal\n       */\n      eventAddedPostEnabled?: boolean | null;\n      /**\n       * Determines who can invite members to the group\n       * @internal\n       */\n      allowedToInviteMembers?: AllowPolicy;\n      /**\n       * Determines who can approve member join requests to the group\n       * @internal\n       */\n      allowedToApproveJoinRequests?: AllowPolicy;\n      /**\n       * Determines who can add site members to the group\n       * @internal\n       */\n      allowedToAddMembers?: AllowPolicy;\n      /**\n       * Determines who can create posts in the group\n       * @internal\n       */\n      allowedToCreatePosts?: AllowPolicy;\n      /**\n       * Determines who can comment posts in the group\n       * @internal\n       */\n      allowedToCommentPosts?: AllowPolicy;\n      /**\n       * Onboarding step settings\n       * @internal\n       */\n      onboardingStepsSettings?: OnboardingStepSettings[];\n      /**\n       * Determines who can create events in the group\n       * @internal\n       */\n      allowedToCreateEvents?: AllowPolicy;\n  }\n  interface Identity {\n      /** Member ID of the group creator.  See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      _id?: string | null;\n      identityType?: IdentityType;\n  }\n  enum IdentityType {\n      USER = \"USER\",\n      MEMBER = \"MEMBER\"\n  }\n  enum RequestStatus$1 {\n      /** Undefined request status. */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Pending group request. */\n      PENDING = \"PENDING\",\n      /** Approved group request. */\n      APPROVED = \"APPROVED\",\n      /** Rejected group request. */\n      REJECTED = \"REJECTED\",\n      /** Cancelled group request. */\n      CANCELLED = \"CANCELLED\",\n      /** Canceled group request. */\n      CANCELED = \"CANCELED\"\n  }\n  interface RequestDetails$1 {\n      /** Reason the request to create a group is rejected.  */\n      rejectionReason?: string | null;\n  }\n  interface SubmitGroupRequestRequest {\n      /** Group submitted for creation. */\n      group?: Group;\n      /** Content type of group description. */\n      contentType?: ContentType;\n  }\n  enum ContentType {\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      DRAFTJS = \"DRAFTJS\",\n      RICH_CONTENT = \"RICH_CONTENT\"\n  }\n  interface SubmitGroupRequestResponse {\n      /** Submitted Group Request. */\n      groupRequest?: GroupRequest;\n  }\n  interface ApproveGroupRequestsRequest {\n      /**\n       * Which items to approve.\n       * @internal\n       * @deprecated\n       */\n      itemsToApprove?: ItemsToUpdate$1;\n      /**\n       * IDs of the requests create groups to approve.\n       *\n       * Max: 100 create group request IDs\n       */\n      groupRequestIds?: string[];\n  }\n  enum ItemsToUpdate$1 {\n      /** Take into account only items which are listed in the request. */\n      BY_ID = \"BY_ID\",\n      /** Update all items. */\n      ALL_ITEMS = \"ALL_ITEMS\"\n  }\n  interface ApproveGroupRequestsResponse {\n      /** Approved request to create a group. */\n      groupRequest?: GroupRequest[];\n  }\n  interface GroupRequestApproved {\n      /** Approved group request. */\n      groupRequest?: GroupRequest;\n  }\n  interface RejectGroupRequestsRequest {\n      /**\n       * Which items to reject.\n       * @internal\n       * @deprecated\n       */\n      itemsToReject?: ItemsToUpdate$1;\n      /** Rejection data. */\n      rejections?: Rejection$1[];\n  }\n  interface Rejection$1 {\n      /**\n       * ID of the requests to create groups to reject.\n       *\n       */\n      groupRequestId?: string;\n      /**\n       * Reason the request to create a group is rejected. This text is displayed to the creator of the rejected request.\n       *\n       * Max: 1,000 characters.\n       */\n      reason?: string | null;\n  }\n  interface RejectGroupRequestsResponse {\n      /** Rejected Group Requests. */\n      groupRequest?: GroupRequest[];\n  }\n  interface GroupRequestRejected {\n      /** Rejected group request. */\n      groupRequest?: GroupRequest;\n  }\n  interface CancelGroupRequestRequest {\n      /** ID of the Group Request to cancel. */\n      groupRequestId: string;\n  }\n  interface CancelGroupRequestResponse {\n      /** Canceled Group Request. */\n      groupRequest?: GroupRequest;\n  }\n  interface ListGroupRequestsRequest {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All Group requests.\n       * - `CURRENT_MEMBER` - Group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      /** Number of items to load. Maximum `100`. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  enum OwnershipFilter$1 {\n      /** All items. */\n      ALL = \"ALL\",\n      /** Items for the current site member. */\n      CURRENT_MEMBER = \"CURRENT_MEMBER\"\n  }\n  interface ListGroupRequestsResponse {\n      /** List of requests to create a group.  */\n      groupRequests?: GroupRequest[];\n      /** Paging information. */\n      metadata?: PagingMetadata$2;\n  }\n  interface PagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryGroupRequestsRequest {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All group requests.\n       * - `CURRENT_MEMBER` - Group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      query?: Query$1;\n  }\n  interface Query$1 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$2 {\n      /**\n       * Number of items to load.\n       *\n       * Max: `100`\n       */\n      limit?: number | null;\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       */\n      offset?: number | null;\n  }\n  interface QueryGroupRequestsResponse {\n      /** Retrieved Group Requests. */\n      groupRequests?: GroupRequest[];\n      metadata?: PagingMetadata$2;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Submit a group request.\n   * Can be used in case `GroupsAppSettings.create_groups_policy` = `MEMBERS_WITH_APPROVAL`.\n   * This endpoint doesn't support server signing.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function submitGroupRequest(options?: SubmitGroupRequestOptions): Promise<SubmitGroupRequestResponse>;\n  interface SubmitGroupRequestOptions {\n      /** Group submitted for creation. */\n      group?: Group;\n      /** Content type of group description. */\n      contentType?: ContentType;\n  }\n  /**\n   * Approves requests to create a group.\n   *\n   * The `approveGroupRequests()` function returns a Promise that resolves when a site member's request to create a group is approved. Only site admins can approve requests to create a group. When the request is approved, the new group is added to the Groups List page of your site.\n   *\n   * >**Note:** This function is only relevant if admin approval is required for creating a group.\n   * @param groupRequestIds - IDs of the requests create groups to approve.\n   *\n   * Max: 100 create group request IDs\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupRequestIds\n   * @adminMethod\n   */\n  function approveGroupRequests(groupRequestIds: string[], options?: ApproveGroupRequestsOptions): Promise<ApproveGroupRequestsResponse>;\n  interface ApproveGroupRequestsOptions {\n      /**\n       * Which items to approve.\n       * @internal\n       * @deprecated\n       */\n      itemsToApprove?: ItemsToUpdate$1;\n  }\n  /**\n   * Rejects a request to create a group.\n   *\n   * The `rejectGroupRequests()` function returns a Promise that resolves when a member's request to create a group is rejected. Only site admins can reject requests to create a group.\n   *\n   * >**Note:** This function is only relevant if admin approval is required for creating a group.\n   * @param rejections - Rejection data.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rejections\n   * @adminMethod\n   */\n  function rejectGroupRequests(rejections: Rejection$1[], options?: RejectGroupRequestsOptions): Promise<RejectGroupRequestsResponse>;\n  interface RejectGroupRequestsOptions {\n      /**\n       * Which items to reject.\n       * @internal\n       * @deprecated\n       */\n      itemsToReject?: ItemsToUpdate$1;\n  }\n  /**\n   * Cancels a Group Request.\n   * Group managers always have access to this functionality. Site members can cancel their own group requests.\n   * This endpoint doesn't support server signing.\n   * @param groupRequestId - ID of the Group Request to cancel.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupRequestId\n   * @adminMethod\n   */\n  function cancelGroupRequest(groupRequestId: string): Promise<CancelGroupRequestResponse>;\n  /**\n   * Lists requests to create a group.\n   *\n   * The `listGroupRequests()` function returns a Promise that resolves to a list of up to 1,000 create group requests on your site.\n   *\n   * Using the options parameter, you can filter your list of posts, set the amount of posts to be returned, and sort your list in a specified order.\n   *\n   * By default, the list is sorted by `_createdDate` in descending order. Only admins can see create group requests. Members can access their own create group requests in their site.\n   *\n   * >**Note:** This function is only relevant if admin approval is required for creating a group.\n   *\n   * @public\n   * @documentationMaturity preview\n   * @param options - Paging options.\n   * @adminMethod\n   */\n  function listGroupRequests(options?: ListGroupRequestsOptions): Promise<ListGroupRequestsResponse>;\n  interface ListGroupRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All Group requests.\n       * - `CURRENT_MEMBER` - Group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1;\n      /**\n       * Number of items to load.\n       *\n       * Max: `100`\n       *\n       */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  /**\n   * Creates a query to retrieve a list of create requests.\n   *\n   * The `queryGroupRequests()` function builds a query to retrieve a list of all requests to create a group, and returns a `GroupRequestsQueryBuilder` object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the [`find()`](/group-requests-query-builder/find) function. You can refine the query by chaining `GroupRequestQueryBuilder` functions onto the query. `GroupRequestQueryBuilder` functions enable you to sort, filter, and control the results that `queryGroupRequests()` returns.\n   *\n   * `queryGorupRequests()` runs with these `GroupRequestsQueryBuilder` defaults, which you can override:\n   * - [`limit(1000)`](/group-requests-query-builder/limit)\n   * - [`descending('_createdDate')`](/group-requests-query-builder/descending)\n   *\n   * The following `GroupRequestsQueryBuilder` functions are supported for `queryGroupRequests()`. For a full description of the `GroupRequests` object, see the object returned for the [`items`](/group-requests-query-result/items) property in `GroupRequestsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryGroupRequests(options?: QueryGroupRequestsOptions): GroupRequestsQueryBuilder;\n  interface QueryGroupRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing `ALL` value has to be used.\n       * - `ALL` - All group requests.\n       * - `CURRENT_MEMBER` - Group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter$1 | undefined;\n  }\n  interface QueryOffsetResult$1 {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface GroupRequestsQueryResult extends QueryOffsetResult$1 {\n      items: GroupRequest[];\n      query: GroupRequestsQueryBuilder;\n      next: () => Promise<GroupRequestsQueryResult>;\n      prev: () => Promise<GroupRequestsQueryResult>;\n  }\n  interface GroupRequestsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'status', value: any) => GroupRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'status', value: any) => GroupRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'status', value: any[]) => GroupRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'status', value: any) => GroupRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'status', value: boolean) => GroupRequestsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => GroupRequestsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => GroupRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<GroupRequestsQueryResult>;\n  }\n  \n  type socialGroupsV2GroupRequest_universal_d_GroupRequest = GroupRequest;\n  type socialGroupsV2GroupRequest_universal_d_Group = Group;\n  type socialGroupsV2GroupRequest_universal_d_Type = Type;\n  const socialGroupsV2GroupRequest_universal_d_Type: typeof Type;\n  type socialGroupsV2GroupRequest_universal_d_Events = Events;\n  type socialGroupsV2GroupRequest_universal_d_Logo = Logo;\n  type socialGroupsV2GroupRequest_universal_d_GroupDetailsPosition = GroupDetailsPosition;\n  type socialGroupsV2GroupRequest_universal_d_Image = Image;\n  type socialGroupsV2GroupRequest_universal_d_Position = Position;\n  type socialGroupsV2GroupRequest_universal_d_AllowPolicy = AllowPolicy;\n  const socialGroupsV2GroupRequest_universal_d_AllowPolicy: typeof AllowPolicy;\n  type socialGroupsV2GroupRequest_universal_d_OnboardingStepSettings = OnboardingStepSettings;\n  type socialGroupsV2GroupRequest_universal_d_StepKey = StepKey;\n  const socialGroupsV2GroupRequest_universal_d_StepKey: typeof StepKey;\n  type socialGroupsV2GroupRequest_universal_d_PrivacyStatus = PrivacyStatus;\n  const socialGroupsV2GroupRequest_universal_d_PrivacyStatus: typeof PrivacyStatus;\n  type socialGroupsV2GroupRequest_universal_d_AccessRestriction = AccessRestriction;\n  type socialGroupsV2GroupRequest_universal_d_AccessRestrictionDataOneOf = AccessRestrictionDataOneOf;\n  type socialGroupsV2GroupRequest_universal_d_GroupDetails = GroupDetails;\n  type socialGroupsV2GroupRequest_universal_d_CoverImage = CoverImage;\n  type socialGroupsV2GroupRequest_universal_d_GroupSettings = GroupSettings;\n  type socialGroupsV2GroupRequest_universal_d_Identity = Identity;\n  type socialGroupsV2GroupRequest_universal_d_IdentityType = IdentityType;\n  const socialGroupsV2GroupRequest_universal_d_IdentityType: typeof IdentityType;\n  type socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestRequest = SubmitGroupRequestRequest;\n  type socialGroupsV2GroupRequest_universal_d_ContentType = ContentType;\n  const socialGroupsV2GroupRequest_universal_d_ContentType: typeof ContentType;\n  type socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestResponse = SubmitGroupRequestResponse;\n  type socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsRequest = ApproveGroupRequestsRequest;\n  type socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsResponse = ApproveGroupRequestsResponse;\n  type socialGroupsV2GroupRequest_universal_d_GroupRequestApproved = GroupRequestApproved;\n  type socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsRequest = RejectGroupRequestsRequest;\n  type socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsResponse = RejectGroupRequestsResponse;\n  type socialGroupsV2GroupRequest_universal_d_GroupRequestRejected = GroupRequestRejected;\n  type socialGroupsV2GroupRequest_universal_d_CancelGroupRequestRequest = CancelGroupRequestRequest;\n  type socialGroupsV2GroupRequest_universal_d_CancelGroupRequestResponse = CancelGroupRequestResponse;\n  type socialGroupsV2GroupRequest_universal_d_ListGroupRequestsRequest = ListGroupRequestsRequest;\n  type socialGroupsV2GroupRequest_universal_d_ListGroupRequestsResponse = ListGroupRequestsResponse;\n  type socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsRequest = QueryGroupRequestsRequest;\n  type socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsResponse = QueryGroupRequestsResponse;\n  const socialGroupsV2GroupRequest_universal_d_submitGroupRequest: typeof submitGroupRequest;\n  type socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestOptions = SubmitGroupRequestOptions;\n  const socialGroupsV2GroupRequest_universal_d_approveGroupRequests: typeof approveGroupRequests;\n  type socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsOptions = ApproveGroupRequestsOptions;\n  const socialGroupsV2GroupRequest_universal_d_rejectGroupRequests: typeof rejectGroupRequests;\n  type socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsOptions = RejectGroupRequestsOptions;\n  const socialGroupsV2GroupRequest_universal_d_cancelGroupRequest: typeof cancelGroupRequest;\n  const socialGroupsV2GroupRequest_universal_d_listGroupRequests: typeof listGroupRequests;\n  type socialGroupsV2GroupRequest_universal_d_ListGroupRequestsOptions = ListGroupRequestsOptions;\n  const socialGroupsV2GroupRequest_universal_d_queryGroupRequests: typeof queryGroupRequests;\n  type socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsOptions = QueryGroupRequestsOptions;\n  type socialGroupsV2GroupRequest_universal_d_GroupRequestsQueryResult = GroupRequestsQueryResult;\n  type socialGroupsV2GroupRequest_universal_d_GroupRequestsQueryBuilder = GroupRequestsQueryBuilder;\n  namespace socialGroupsV2GroupRequest_universal_d {\n    export {\n      socialGroupsV2GroupRequest_universal_d_GroupRequest as GroupRequest,\n      socialGroupsV2GroupRequest_universal_d_Group as Group,\n      socialGroupsV2GroupRequest_universal_d_Type as Type,\n      socialGroupsV2GroupRequest_universal_d_Events as Events,\n      socialGroupsV2GroupRequest_universal_d_Logo as Logo,\n      socialGroupsV2GroupRequest_universal_d_GroupDetailsPosition as GroupDetailsPosition,\n      socialGroupsV2GroupRequest_universal_d_Image as Image,\n      socialGroupsV2GroupRequest_universal_d_Position as Position,\n      socialGroupsV2GroupRequest_universal_d_AllowPolicy as AllowPolicy,\n      socialGroupsV2GroupRequest_universal_d_OnboardingStepSettings as OnboardingStepSettings,\n      socialGroupsV2GroupRequest_universal_d_StepKey as StepKey,\n      socialGroupsV2GroupRequest_universal_d_PrivacyStatus as PrivacyStatus,\n      socialGroupsV2GroupRequest_universal_d_AccessRestriction as AccessRestriction,\n      socialGroupsV2GroupRequest_universal_d_AccessRestrictionDataOneOf as AccessRestrictionDataOneOf,\n      socialGroupsV2GroupRequest_universal_d_GroupDetails as GroupDetails,\n      socialGroupsV2GroupRequest_universal_d_CoverImage as CoverImage,\n      socialGroupsV2GroupRequest_universal_d_GroupSettings as GroupSettings,\n      socialGroupsV2GroupRequest_universal_d_Identity as Identity,\n      socialGroupsV2GroupRequest_universal_d_IdentityType as IdentityType,\n      RequestStatus$1 as RequestStatus,\n      RequestDetails$1 as RequestDetails,\n      socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestRequest as SubmitGroupRequestRequest,\n      socialGroupsV2GroupRequest_universal_d_ContentType as ContentType,\n      socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestResponse as SubmitGroupRequestResponse,\n      socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsRequest as ApproveGroupRequestsRequest,\n      ItemsToUpdate$1 as ItemsToUpdate,\n      socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsResponse as ApproveGroupRequestsResponse,\n      socialGroupsV2GroupRequest_universal_d_GroupRequestApproved as GroupRequestApproved,\n      socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsRequest as RejectGroupRequestsRequest,\n      Rejection$1 as Rejection,\n      socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsResponse as RejectGroupRequestsResponse,\n      socialGroupsV2GroupRequest_universal_d_GroupRequestRejected as GroupRequestRejected,\n      socialGroupsV2GroupRequest_universal_d_CancelGroupRequestRequest as CancelGroupRequestRequest,\n      socialGroupsV2GroupRequest_universal_d_CancelGroupRequestResponse as CancelGroupRequestResponse,\n      socialGroupsV2GroupRequest_universal_d_ListGroupRequestsRequest as ListGroupRequestsRequest,\n      OwnershipFilter$1 as OwnershipFilter,\n      socialGroupsV2GroupRequest_universal_d_ListGroupRequestsResponse as ListGroupRequestsResponse,\n      PagingMetadata$2 as PagingMetadata,\n      socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsRequest as QueryGroupRequestsRequest,\n      Query$1 as Query,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$2 as Paging,\n      socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsResponse as QueryGroupRequestsResponse,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      socialGroupsV2GroupRequest_universal_d_submitGroupRequest as submitGroupRequest,\n      socialGroupsV2GroupRequest_universal_d_SubmitGroupRequestOptions as SubmitGroupRequestOptions,\n      socialGroupsV2GroupRequest_universal_d_approveGroupRequests as approveGroupRequests,\n      socialGroupsV2GroupRequest_universal_d_ApproveGroupRequestsOptions as ApproveGroupRequestsOptions,\n      socialGroupsV2GroupRequest_universal_d_rejectGroupRequests as rejectGroupRequests,\n      socialGroupsV2GroupRequest_universal_d_RejectGroupRequestsOptions as RejectGroupRequestsOptions,\n      socialGroupsV2GroupRequest_universal_d_cancelGroupRequest as cancelGroupRequest,\n      socialGroupsV2GroupRequest_universal_d_listGroupRequests as listGroupRequests,\n      socialGroupsV2GroupRequest_universal_d_ListGroupRequestsOptions as ListGroupRequestsOptions,\n      socialGroupsV2GroupRequest_universal_d_queryGroupRequests as queryGroupRequests,\n      socialGroupsV2GroupRequest_universal_d_QueryGroupRequestsOptions as QueryGroupRequestsOptions,\n      socialGroupsV2GroupRequest_universal_d_GroupRequestsQueryResult as GroupRequestsQueryResult,\n      socialGroupsV2GroupRequest_universal_d_GroupRequestsQueryBuilder as GroupRequestsQueryBuilder,\n    };\n  }\n  \n  /**\n   * A group member may have multiple roles in a single group.\n   * Currently, only `MEMBER` and `ADMIN` roles are supported, but more roles may be available in the future.\n   */\n  interface GroupRole {\n      /** Member's role. */\n      value?: Role;\n  }\n  enum Role {\n      /** Undefined group member role. */\n      UNKNOWN_ROLE = \"UNKNOWN_ROLE\",\n      /** Regular group member. */\n      MEMBER = \"MEMBER\",\n      /** Group administrator. */\n      ADMIN = \"ADMIN\"\n  }\n  interface AssignRoleRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n      /**\n       * Member IDs.\n       *\n       * Max: 100 member IDs\n       */\n      memberIds?: string[];\n      /** Role to assign. */\n      role?: GroupRole;\n  }\n  interface AssignRoleResponse {\n      /** Group ID. */\n      groupId?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n      /** Member IDs */\n      memberIds?: string[];\n      /** Assigned role. */\n      role?: GroupRole;\n  }\n  interface RoleAssignedToGroupMember {\n      /** Group ID in which role was assigned. */\n      groupId?: string;\n      /** Group member to whom the role was assigned. */\n      groupMember?: GroupMember;\n      /** Assigned group role. */\n      role?: GroupRole;\n      /** ID of site member who assigned the role. It can be empty if the role was assigned by a third-party application. */\n      assignedById?: string | null;\n  }\n  interface GroupMember {\n      /**\n       * __Deprecated.__ Use `memberId` instead.\n       * This property will be removed on June 30, 2022.\n       * @readonly\n       * @deprecated\n       */\n      siteMemberId?: string;\n      /**\n       * Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details.\n       * @readonly\n       */\n      memberId?: string;\n      /** Group Member Role. */\n      role?: GroupRole;\n      /**\n       * Date and time the group Member joined the group.\n       * @readonly\n       */\n      joinedDate?: Date | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  interface UnassignRoleRequest {\n      /** Group ID. */\n      groupId: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n      /**\n       * Member IDs.\n       *\n       * Max: 100 member IDs\n       */\n      memberIds?: string[];\n      /** Role to unassign. */\n      role?: GroupRole;\n  }\n  interface UnassignRoleResponse {\n      /** Group ID. */\n      groupId?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n      /** Member IDs. */\n      memberIds?: string[];\n      /** Unassigned role. */\n      role?: GroupRole;\n  }\n  interface RoleUnassignedFromGroupMember {\n      /** Group ID in which role was unassigned. */\n      groupId?: string;\n      /** Group member from whom role was removed. */\n      groupMember?: GroupMember;\n      /** Unassigned group role. */\n      role?: GroupRole;\n      /** ID of site member who unassigned the role. It can be empty if the role was assigned by a third-party application. */\n      unassignedById?: string | null;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Assigns a specific role to group members.\n   *\n   *\n   * >**Note:** This function is only relevant for site admins, and group members with group admin permissions.\n   *\n   * The `assignRole()` function returns a Promise that resolves to the newly-assigned role after it has successfully been assigned. Assigning a role overrides an existing role. For example, assigning a member role to an admin unassigned their admin role.\n   * @param groupId - Group ID.\n   * @param memberIds - Member IDs.\n   *\n   * Max: 100 member IDs\n   * @param role - Role to assign.\n   * @public\n   * @requiredField groupId\n   * @requiredField memberIds\n   * @requiredField role\n   * @adminMethod\n   */\n  function assignRole(groupId: string, memberIds: string[], role: GroupRole, options?: AssignRoleOptions): Promise<AssignRoleResponse>;\n  interface AssignRoleOptions {\n      /**\n       * @internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n  }\n  /**\n   * Unassigns a role from group members.\n   *\n   * >**Note:** This function is only relevant for site admins, and group members with group admin permissions.\n   *\n   * The `unassignRole()` function returns a Promise that resolves to the unassigned role after it has successfully been unassigned. This function only applies to admin roles. Using this function with member roles returns an error.\n   * @param groupId - Group ID.\n   * @param memberIds - Member IDs.\n   *\n   * Max: 100 member IDs\n   * @param role - Role to unassign.\n   * @public\n   * @requiredField groupId\n   * @requiredField memberIds\n   * @requiredField role\n   * @adminMethod\n   */\n  function unassignRole(groupId: string, memberIds: string[], role: GroupRole, options?: UnassignRoleOptions): Promise<UnassignRoleResponse>;\n  interface UnassignRoleOptions {\n      /**\n       * @internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n  }\n  \n  type socialGroupsV2GroupRole_universal_d_GroupRole = GroupRole;\n  type socialGroupsV2GroupRole_universal_d_Role = Role;\n  const socialGroupsV2GroupRole_universal_d_Role: typeof Role;\n  type socialGroupsV2GroupRole_universal_d_AssignRoleRequest = AssignRoleRequest;\n  type socialGroupsV2GroupRole_universal_d_AssignRoleResponse = AssignRoleResponse;\n  type socialGroupsV2GroupRole_universal_d_RoleAssignedToGroupMember = RoleAssignedToGroupMember;\n  type socialGroupsV2GroupRole_universal_d_GroupMember = GroupMember;\n  type socialGroupsV2GroupRole_universal_d_UnassignRoleRequest = UnassignRoleRequest;\n  type socialGroupsV2GroupRole_universal_d_UnassignRoleResponse = UnassignRoleResponse;\n  type socialGroupsV2GroupRole_universal_d_RoleUnassignedFromGroupMember = RoleUnassignedFromGroupMember;\n  const socialGroupsV2GroupRole_universal_d_assignRole: typeof assignRole;\n  type socialGroupsV2GroupRole_universal_d_AssignRoleOptions = AssignRoleOptions;\n  const socialGroupsV2GroupRole_universal_d_unassignRole: typeof unassignRole;\n  type socialGroupsV2GroupRole_universal_d_UnassignRoleOptions = UnassignRoleOptions;\n  namespace socialGroupsV2GroupRole_universal_d {\n    export {\n      socialGroupsV2GroupRole_universal_d_GroupRole as GroupRole,\n      socialGroupsV2GroupRole_universal_d_Role as Role,\n      socialGroupsV2GroupRole_universal_d_AssignRoleRequest as AssignRoleRequest,\n      socialGroupsV2GroupRole_universal_d_AssignRoleResponse as AssignRoleResponse,\n      socialGroupsV2GroupRole_universal_d_RoleAssignedToGroupMember as RoleAssignedToGroupMember,\n      socialGroupsV2GroupRole_universal_d_GroupMember as GroupMember,\n      socialGroupsV2GroupRole_universal_d_UnassignRoleRequest as UnassignRoleRequest,\n      socialGroupsV2GroupRole_universal_d_UnassignRoleResponse as UnassignRoleResponse,\n      socialGroupsV2GroupRole_universal_d_RoleUnassignedFromGroupMember as RoleUnassignedFromGroupMember,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      socialGroupsV2GroupRole_universal_d_assignRole as assignRole,\n      socialGroupsV2GroupRole_universal_d_AssignRoleOptions as AssignRoleOptions,\n      socialGroupsV2GroupRole_universal_d_unassignRole as unassignRole,\n      socialGroupsV2GroupRole_universal_d_UnassignRoleOptions as UnassignRoleOptions,\n    };\n  }\n  \n  /**\n   * Guidelines ensuring that members post responsibly and respectfully. Site owners can set up Group Rules in the dashboard.\n   * >**Note:** Only admins can update the group rules.\n   */\n  interface GroupRules {\n      /** Group rules. */\n      rules?: GroupRule[];\n  }\n  interface GroupRule {\n      /** Rule title. */\n      title?: string;\n      /** Rule description. */\n      description?: string;\n  }\n  interface ListRulesRequest {\n      /** Group ID. */\n      groupId: string;\n  }\n  interface ListRulesResponse {\n      /** Retrieved rules. */\n      rules?: GroupRule[];\n  }\n  interface CreateOrReplaceAllRulesRequest {\n      /** Group ID. */\n      groupId: string;\n      /** New rules. */\n      rules?: GroupRule[];\n  }\n  interface CreateOrReplaceAllRulesResponse {\n      /** Group ID. */\n      groupId?: string;\n      /** Rules. */\n      rules?: GroupRule[];\n  }\n  interface Empty {\n  }\n  interface ListTemplatesResponse {\n      /** Retrieved rule templates. */\n      rules?: GroupRule[];\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves rules.\n   *\n   * >**Note:**\n   * >This endpoint requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function listRules(groupId: string): Promise<ListRulesResponse>;\n  /**\n   * Creates rules if no rules have been set up. Otherwise, replaces all existing rules.\n   * > **Note:** Only admins can create or replace rules.\n   *\n   * >**Note:**\n   * >This endpoint requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function createOrReplaceAllRules(groupId: string, options?: CreateOrReplaceAllRulesOptions): Promise<CreateOrReplaceAllRulesResponse>;\n  interface CreateOrReplaceAllRulesOptions {\n      /** New rules. */\n      rules?: GroupRule[];\n  }\n  /**\n   * Retrieves the rule templates.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listTemplates(): Promise<ListTemplatesResponse>;\n  \n  type socialGroupsV2GroupRules_universal_d_GroupRules = GroupRules;\n  type socialGroupsV2GroupRules_universal_d_GroupRule = GroupRule;\n  type socialGroupsV2GroupRules_universal_d_ListRulesRequest = ListRulesRequest;\n  type socialGroupsV2GroupRules_universal_d_ListRulesResponse = ListRulesResponse;\n  type socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesRequest = CreateOrReplaceAllRulesRequest;\n  type socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesResponse = CreateOrReplaceAllRulesResponse;\n  type socialGroupsV2GroupRules_universal_d_Empty = Empty;\n  type socialGroupsV2GroupRules_universal_d_ListTemplatesResponse = ListTemplatesResponse;\n  const socialGroupsV2GroupRules_universal_d_listRules: typeof listRules;\n  const socialGroupsV2GroupRules_universal_d_createOrReplaceAllRules: typeof createOrReplaceAllRules;\n  type socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesOptions = CreateOrReplaceAllRulesOptions;\n  const socialGroupsV2GroupRules_universal_d_listTemplates: typeof listTemplates;\n  namespace socialGroupsV2GroupRules_universal_d {\n    export {\n      socialGroupsV2GroupRules_universal_d_GroupRules as GroupRules,\n      socialGroupsV2GroupRules_universal_d_GroupRule as GroupRule,\n      socialGroupsV2GroupRules_universal_d_ListRulesRequest as ListRulesRequest,\n      socialGroupsV2GroupRules_universal_d_ListRulesResponse as ListRulesResponse,\n      socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesRequest as CreateOrReplaceAllRulesRequest,\n      socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesResponse as CreateOrReplaceAllRulesResponse,\n      socialGroupsV2GroupRules_universal_d_Empty as Empty,\n      socialGroupsV2GroupRules_universal_d_ListTemplatesResponse as ListTemplatesResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      socialGroupsV2GroupRules_universal_d_listRules as listRules,\n      socialGroupsV2GroupRules_universal_d_createOrReplaceAllRules as createOrReplaceAllRules,\n      socialGroupsV2GroupRules_universal_d_CreateOrReplaceAllRulesOptions as CreateOrReplaceAllRulesOptions,\n      socialGroupsV2GroupRules_universal_d_listTemplates as listTemplates,\n    };\n  }\n  \n  /**\n   * To join a private group, a site member must submit a Join Request, which can be approved or rejected by an admin.\n   * When the request is approved, the site member becomes a group member.\n   */\n  interface JoinGroupRequest {\n      /**\n       * Site member ID of the requester.\n       * @readonly\n       */\n      siteMemberId?: string;\n      /** @readonly */\n      contactId?: string;\n      /**\n       * Status of the request to join a group.\n       *\n       * One of:\n       * - `\"PENDING\"`\n       * - `\"APPROVED\"`\n       * - `\"REJECTED\"`\n       */\n      status?: RequestStatus;\n      /** Join group request details. */\n      requestDetails?: RequestDetails;\n      /**\n       * Date and time the request was created.\n       * @internal\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * ID of the group requested to join.\n       * @internal\n       * @readonly\n       */\n      groupId?: string | null;\n      /**\n       * Membership questions answers count\n       * @internal\n       * @readonly\n       */\n      membershipQuestionAnswersCount?: number | null;\n  }\n  enum RequestStatus {\n      /** Undefined request status. */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Pending group request. */\n      PENDING = \"PENDING\",\n      /** Approved group request. */\n      APPROVED = \"APPROVED\",\n      /** Rejected group request. */\n      REJECTED = \"REJECTED\",\n      /** Cancelled group request. */\n      CANCELLED = \"CANCELLED\",\n      /** Canceled group request. */\n      CANCELED = \"CANCELED\"\n  }\n  interface RequestDetails {\n      /** Reason the request to join a group was rejected. */\n      rejectionReason?: string | null;\n  }\n  interface SocialGroupsEvent extends SocialGroupsEventPayloadOneOf {\n      memberJoined?: MemberJoinedGroup;\n      membersAdded?: MembersAddedToGroup;\n      joinRequestsApproved?: JoinRequestsApproved;\n      membersInvited?: MembersInvitedToGroup;\n  }\n  /** @oneof */\n  interface SocialGroupsEventPayloadOneOf {\n      memberJoined?: MemberJoinedGroup;\n      membersAdded?: MembersAddedToGroup;\n      joinRequestsApproved?: JoinRequestsApproved;\n      membersInvited?: MembersInvitedToGroup;\n  }\n  interface MemberJoinedGroup {\n      groupId?: string;\n      groupsInstanceId?: string;\n      siteMemberId?: string;\n  }\n  interface MembersAddedToGroup {\n      groupId?: string;\n      groupsInstanceId?: string;\n      whoAddedId?: string | null;\n      siteMemberIds?: string[];\n      /** Used for Apes sticky experiment */\n      operationId?: string;\n  }\n  interface JoinRequestsApproved {\n      groupId?: string;\n      groupsInstanceId?: string;\n      siteMemberIds?: string[];\n      /** Used for Apes sticky experiment */\n      operationId?: string;\n  }\n  interface MembersInvitedToGroup {\n      groupId?: string;\n      groupsInstanceId?: string;\n      siteMemberIds?: string[];\n  }\n  interface GetJoinRequirementsRequest {\n      /** ID of the group requested to join. */\n      groupId: string;\n      /** Answers to membership questions. They can be empty, but submit join group request will fail if an answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$1[];\n      autoInviteId?: string | null;\n  }\n  /** Answer to a membership question. */\n  interface MembershipQuestionAnswer$1 {\n      /** Question ID. */\n      _id?: string;\n      /** Answer text. */\n      text?: string | null;\n  }\n  interface GetJoinRequirementsResponse {\n      violation?: Violation;\n  }\n  interface PaidPlan {\n      planId?: string;\n      name?: string;\n      startsAt?: Date | null;\n  }\n  enum ViolationType {\n      NONE = \"NONE\",\n      NOT_LOGGED_IN = \"NOT_LOGGED_IN\",\n      ALREADY_JOINED = \"ALREADY_JOINED\",\n      SECRET_GROUP = \"SECRET_GROUP\",\n      EVENTS = \"EVENTS\",\n      PRICING_PlANS = \"PRICING_PlANS\",\n      MEMBERSHIP_QUESTIONS = \"MEMBERSHIP_QUESTIONS\",\n      ADMIN_APPROVAL = \"ADMIN_APPROVAL\"\n  }\n  interface EventsViolationOptions {\n      /** Events which allow user to join the group. */\n      eventIds?: string[];\n  }\n  interface PricingPlanViolationOptions {\n      installed?: boolean;\n      /** Plan ids which allow user to join the group. */\n      requiredPlans?: PaidPlan[];\n      /** Plan ids which user have, but they don't allow to join group right now, because they start some time in the future. */\n      futurePlans?: PaidPlan[];\n  }\n  interface MembershipQuestionViolationOptions {\n      requiredQuestionIds?: string[];\n  }\n  interface Violation extends ViolationViolationOptionsOneOf {\n      eventsOptions?: EventsViolationOptions;\n      pricingPlansOptions?: PricingPlanViolationOptions;\n      membershipQuestionsOptions?: MembershipQuestionViolationOptions;\n      violationType?: ViolationType;\n  }\n  /** @oneof */\n  interface ViolationViolationOptionsOneOf {\n      eventsOptions?: EventsViolationOptions;\n      pricingPlansOptions?: PricingPlanViolationOptions;\n      membershipQuestionsOptions?: MembershipQuestionViolationOptions;\n  }\n  interface SubmitJoinGroupRequestRequest {\n      /** ID of the group requested to join. */\n      groupId: string;\n      /** Answers to membership questions. They can be empty, but submit join group request will fail if an answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$1[];\n  }\n  interface SubmitJoinGroupRequestResponse {\n      /** Submitted join group request. */\n      joinGroupRequest?: JoinGroupRequest;\n  }\n  interface CancelJoinGroupRequestRequest {\n      /** ID of the group requested to join. */\n      groupId: string;\n  }\n  interface CancelJoinGroupRequestResponse {\n      /** Cancelled join group request. */\n      joinGroupRequest?: JoinGroupRequest;\n  }\n  interface JoinGroupRequestCancelled {\n      /** Group ID for which join request was cancelled. */\n      groupId?: string;\n      /** Cancelled join group request. */\n      joinGroupRequest?: JoinGroupRequest;\n  }\n  interface ApproveJoinGroupRequestsRequest {\n      /** ID of the group requested to join. */\n      groupId: string;\n      /**\n       * @internal\n       * @deprecated\n       */\n      itemsToApprove?: ItemsToUpdate;\n      /**\n       * @Internal\n       * @Internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n      /** IDs of the site members to approve. */\n      memberIds?: string[];\n  }\n  enum ItemsToUpdate {\n      /** Take into account only items which are listed in the request. */\n      BY_ID = \"BY_ID\",\n      /** Update all items. */\n      ALL_ITEMS = \"ALL_ITEMS\"\n  }\n  interface ApproveJoinGroupRequestsResponse {\n      /** Approved join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n  }\n  interface JoinGroupRequestApproved {\n      /** Group ID for which join request was approved. */\n      groupId?: string;\n      /** Approved join group request. */\n      joinGroupRequest?: JoinGroupRequest;\n  }\n  interface RejectJoinGroupRequestsRequest {\n      /** ID of the group requested to join. */\n      groupId: string;\n      /**\n       * @internal\n       * @deprecated\n       */\n      itemsToReject?: ItemsToUpdate;\n      /** Rejection data. */\n      rejections?: Rejection[];\n  }\n  interface Rejection {\n      /**\n       * @Internal\n       * @Internal\n       * @internal\n       * @deprecated\n       */\n      siteMemberId?: string;\n      /** Member ID to reject. */\n      memberId?: string;\n      /** Reason the request to join a group was rejected. Text written by the request reviewer that is displayed when the group is rejected (max 1,000 characters). */\n      reason?: string | null;\n  }\n  interface RejectJoinGroupRequestsResponse {\n      /** Rejected join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n  }\n  interface JoinGroupRequestRejected {\n      /** Group ID for which join request was rejected. */\n      groupId?: string;\n      /** Rejected join group request. */\n      joinGroupRequest?: JoinGroupRequest;\n  }\n  interface ListJoinGroupRequestsRequest {\n      /** ID of the group requested to join. */\n      groupId: string;\n      /**\n       * Ownership filter. In case of server signing, `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      limit?: number | null;\n      offset?: number | null;\n  }\n  enum OwnershipFilter {\n      /** All items. */\n      ALL = \"ALL\",\n      /** Items for the current site member. */\n      CURRENT_MEMBER = \"CURRENT_MEMBER\"\n  }\n  interface ListJoinGroupRequestsResponse {\n      /** Join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n      metadata?: PagingMetadata$1;\n  }\n  interface PagingMetadata$1 {\n      /** Number of items in the current results page. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryJoinGroupRequestsRequest {\n      /** ID of the group requested to join. */\n      groupId: string;\n      /**\n       * Ownership filter. In case of server signing `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryJoinGroupRequestsResponse {\n      /** Requests to join a group. */\n      joinGroupRequests?: JoinGroupRequest[];\n      metadata?: PagingMetadata$1;\n  }\n  interface RejectAllJoinGroupRequestsRequest {\n  }\n  interface RejectAllJoinGroupRequestsResponse {\n      /** Rejected join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n  }\n  interface ApproveAllJoinGroupRequestsRequest {\n  }\n  interface ApproveAllJoinGroupRequestsResponse {\n      /** Rejected join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n  }\n  interface ListAllJoinGroupRequestsRequest {\n      query?: Query;\n  }\n  interface ListAllJoinGroupRequestsResponse {\n      /** Join group requests. */\n      joinGroupRequests?: JoinGroupRequest[];\n      metadata?: PagingMetadata$1;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get join group requirements. Will return empty response for public groups and details to fulfil if it's private.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @param groupId - ID of the group requested to join.\n   * @adminMethod\n   */\n  function getJoinRequirements(groupId: string, options?: GetJoinRequirementsOptions): Promise<GetJoinRequirementsResponse>;\n  interface GetJoinRequirementsOptions {\n      /** Answers to membership questions. They can be empty, but submit join group request will fail if an answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$1[];\n      autoInviteId?: string | null;\n  }\n  /**\n   * Submits a join group request.\n   * Relevant only for private groups.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @param groupId - ID of the group requested to join.\n   * @adminMethod\n   */\n  function submitJoinGroupRequest(groupId: string, options?: SubmitJoinGroupRequestOptions): Promise<SubmitJoinGroupRequestResponse>;\n  interface SubmitJoinGroupRequestOptions {\n      /** Answers to membership questions. They can be empty, but submit join group request will fail if an answer to a required question is omitted. */\n      membershipQuestionAnswers?: MembershipQuestionAnswer$1[];\n  }\n  /**\n   * Cancels a join group request.\n   * A site member can cancel only their own pending Join group requests.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @param groupId - ID of the group requested to join.\n   * @adminMethod\n   */\n  function cancelJoinGroupRequest(groupId: string): Promise<CancelJoinGroupRequestResponse>;\n  /**\n   * Approves requests to join a group.\n   *\n   * > **Note:** This function is only relevant for private groups.\n   *\n   * The `approvejoinGroupRequests()` function returns a Promise that resolves when a site member's request to join a group is approved.\n   * Only site admins and group admins can approve site member requests to join a group, unless the group setting, `membersCanApprove` is set to `true`.\n   *\n   * <!--\n   * > **Note:** If the `suppressAuth` option is set to `true`, all permissions are overwritten, and all site members (including non-group members) can approve site member requests to join a group.\n   * -->\n   * @param memberIds - IDs of the site members to approve.\n   * @public\n   * @requiredField groupId\n   * @requiredField memberIds\n   * @param groupId - ID of the group requested to join.\n   * @adminMethod\n   */\n  function approveJoinGroupRequests(groupId: string, memberIds: string[], options?: ApproveJoinGroupRequestsOptions): Promise<ApproveJoinGroupRequestsResponse>;\n  interface ApproveJoinGroupRequestsOptions {\n      /**\n       * @internal\n       * @deprecated\n       */\n      itemsToApprove?: ItemsToUpdate;\n      /**\n       * @Internal\n       * @Internal\n       * @deprecated\n       */\n      siteMemberIds?: string[];\n  }\n  /**\n   * Rejects requests to join a group.\n   *\n   * > **Note:**  This function is only relevant for private groups.\n   *\n   * The `rejectjoinGroupRequests()` function returns a Promise that resolves when the site member's request to join a group is rejected.\n   * Only site admins or group admins can reject site member requests to join the group, unless the group setting, `membersCanApprove` is set to `true`.\n   *\n   * <!--\n   * > **Note:** If the `suppressAuth` option is set to `true`, all permissions are overwritten, and all site members (including non-group members) can reject site member requests to join a group.\n   * -->\n   *\n   * @param rejections - Rejection data.\n   * @public\n   * @requiredField groupId\n   * @requiredField rejections\n   * @param groupId - ID of the group requested to join.\n   * @adminMethod\n   */\n  function rejectJoinGroupRequests(groupId: string, rejections: Rejection[], options?: RejectJoinGroupRequestsOptions): Promise<RejectJoinGroupRequestsResponse>;\n  interface RejectJoinGroupRequestsOptions {\n      /**\n       * @internal\n       * @deprecated\n       */\n      itemsToReject?: ItemsToUpdate;\n  }\n  /**\n   * Lists requests to join a group.\n   *\n   * > **Note:** This function is only relevant for private groups.\n   *\n   * The `listjoinGroupRequests()` function returns a Promise that resolves to a list of up to 100 requests to join a group. Sorts by default to `_createdDate` in descending order.\n   * Only site admins and group admins can see requests to join their group. Site members can access their own join requests in their site.\n   *\n   * > **Notes:**\n   * <!-- > + If the `suppressAuth` option is set to `true`, all permissions are overwritten, and all site members (including non-group members) can see requests to join a group. -->\n   * @public\n   * @requiredField groupId\n   * @param groupId - ID of the group requested to join.\n   * @adminMethod\n   */\n  function listJoinGroupRequests(groupId: string, options?: ListJoinGroupRequestsOptions): Promise<ListJoinGroupRequestsResponse>;\n  interface ListJoinGroupRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing, `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter;\n      limit?: number | null;\n      offset?: number | null;\n  }\n  /**\n   * Creates a query to retrieve a list of join requests.\n   *\n   * > **Notes:**\n   * > + This function is only relevant for private groups.\n   * > + For `SECRET` groups, only site admins and group admins can query requests to join their group. <!-- However, if the `suppressAuth` option is set to `true`, all permissions are overwritten, and all site members (including non-group members) can query requests to join a group. -->\n   *\n   * The `queryjoinGroupRequests()` function builds a query to retrieve a list of all requests to join a group, and returns a `JoinGroupRequestsQueryBuilder` object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the [`find()`](/join-group-requests-query-builder/find) function.\n   *\n   * You can refine the query by chaining `joinGroupRequestsQueryBuilder` functions onto the query. `joinGroupRequestsQueryBuilder` functions enable you to sort, filter, and control the results that `queryjoinGroupRequests()` returns.\n   *\n   * The results of the `queryjoinGroupRequests()` function are sorted by `_createdDate` in descending order.\n   *\n   * `queryjoinGroupRequests()` runs with this `joinGroupRequestsQueryBuilder` default, which you can override:\n   * + [`limit(100)`](/join-group-requests-query-builder/limit)\n   *\n   * The following `joinGroupRequestsQueryBuilder` functions are supported for `queryjoinGroupRequests()`. For a full description of the joinGroupRequests object, see the object returned for the [`items`](/join-group-requests-query-result/items) property in `JoinGroupRequestsQueryResult`.\n   *\n   * @public\n   * @requiredField groupId\n   * @param groupId - Group ID.\n   * @adminMethod\n   */\n  function queryJoinGroupRequests(groupId: string, options?: QueryJoinGroupRequestsOptions): JoinGroupRequestsQueryBuilder;\n  interface QueryJoinGroupRequestsOptions {\n      /**\n       * Ownership filter. In case of server signing `ALL` value must be used.\n       * - `ALL` - All join group requests.\n       * - `CURRENT_MEMBER` - Join group requests for current site member.\n       * @internal\n       */\n      ownershipFilter?: OwnershipFilter | undefined;\n  }\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface JoinGroupRequestsQueryResult extends QueryOffsetResult {\n      items: JoinGroupRequest[];\n      query: JoinGroupRequestsQueryBuilder;\n      next: () => Promise<JoinGroupRequestsQueryResult>;\n      prev: () => Promise<JoinGroupRequestsQueryResult>;\n  }\n  interface JoinGroupRequestsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: 'status', value: any) => JoinGroupRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: 'status', value: any) => JoinGroupRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       */\n      hasSome: (propertyName: 'status', value: any[]) => JoinGroupRequestsQueryBuilder;\n      in: (propertyName: 'status', value: any) => JoinGroupRequestsQueryBuilder;\n      exists: (propertyName: 'status', value: boolean) => JoinGroupRequestsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => JoinGroupRequestsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results. */\n      skip: (skip: number) => JoinGroupRequestsQueryBuilder;\n      find: () => Promise<JoinGroupRequestsQueryResult>;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function rejectAllJoinGroupRequests(): Promise<RejectAllJoinGroupRequestsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function approveAllJoinGroupRequests(): Promise<ApproveAllJoinGroupRequestsResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listAllJoinGroupRequests(options?: ListAllJoinGroupRequestsOptions): Promise<ListAllJoinGroupRequestsResponse>;\n  interface ListAllJoinGroupRequestsOptions {\n      query?: Query;\n  }\n  \n  type socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequest = JoinGroupRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_RequestStatus = RequestStatus;\n  const socialGroupsV2JoinGroupRequest_universal_d_RequestStatus: typeof RequestStatus;\n  type socialGroupsV2JoinGroupRequest_universal_d_RequestDetails = RequestDetails;\n  type socialGroupsV2JoinGroupRequest_universal_d_SocialGroupsEvent = SocialGroupsEvent;\n  type socialGroupsV2JoinGroupRequest_universal_d_SocialGroupsEventPayloadOneOf = SocialGroupsEventPayloadOneOf;\n  type socialGroupsV2JoinGroupRequest_universal_d_MemberJoinedGroup = MemberJoinedGroup;\n  type socialGroupsV2JoinGroupRequest_universal_d_MembersAddedToGroup = MembersAddedToGroup;\n  type socialGroupsV2JoinGroupRequest_universal_d_JoinRequestsApproved = JoinRequestsApproved;\n  type socialGroupsV2JoinGroupRequest_universal_d_MembersInvitedToGroup = MembersInvitedToGroup;\n  type socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsRequest = GetJoinRequirementsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsResponse = GetJoinRequirementsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_PaidPlan = PaidPlan;\n  type socialGroupsV2JoinGroupRequest_universal_d_ViolationType = ViolationType;\n  const socialGroupsV2JoinGroupRequest_universal_d_ViolationType: typeof ViolationType;\n  type socialGroupsV2JoinGroupRequest_universal_d_EventsViolationOptions = EventsViolationOptions;\n  type socialGroupsV2JoinGroupRequest_universal_d_PricingPlanViolationOptions = PricingPlanViolationOptions;\n  type socialGroupsV2JoinGroupRequest_universal_d_MembershipQuestionViolationOptions = MembershipQuestionViolationOptions;\n  type socialGroupsV2JoinGroupRequest_universal_d_Violation = Violation;\n  type socialGroupsV2JoinGroupRequest_universal_d_ViolationViolationOptionsOneOf = ViolationViolationOptionsOneOf;\n  type socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestRequest = SubmitJoinGroupRequestRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestResponse = SubmitJoinGroupRequestResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_CancelJoinGroupRequestRequest = CancelJoinGroupRequestRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_CancelJoinGroupRequestResponse = CancelJoinGroupRequestResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestCancelled = JoinGroupRequestCancelled;\n  type socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsRequest = ApproveJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_ItemsToUpdate = ItemsToUpdate;\n  const socialGroupsV2JoinGroupRequest_universal_d_ItemsToUpdate: typeof ItemsToUpdate;\n  type socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsResponse = ApproveJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestApproved = JoinGroupRequestApproved;\n  type socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsRequest = RejectJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_Rejection = Rejection;\n  type socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsResponse = RejectJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestRejected = JoinGroupRequestRejected;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsRequest = ListJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_OwnershipFilter = OwnershipFilter;\n  const socialGroupsV2JoinGroupRequest_universal_d_OwnershipFilter: typeof OwnershipFilter;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsResponse = ListJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsRequest = QueryJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_Query = Query;\n  type socialGroupsV2JoinGroupRequest_universal_d_Sorting = Sorting;\n  type socialGroupsV2JoinGroupRequest_universal_d_SortOrder = SortOrder;\n  const socialGroupsV2JoinGroupRequest_universal_d_SortOrder: typeof SortOrder;\n  type socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsResponse = QueryJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_RejectAllJoinGroupRequestsRequest = RejectAllJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_RejectAllJoinGroupRequestsResponse = RejectAllJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_ApproveAllJoinGroupRequestsRequest = ApproveAllJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_ApproveAllJoinGroupRequestsResponse = ApproveAllJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListAllJoinGroupRequestsRequest = ListAllJoinGroupRequestsRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListAllJoinGroupRequestsResponse = ListAllJoinGroupRequestsResponse;\n  type socialGroupsV2JoinGroupRequest_universal_d_DomainEvent = DomainEvent;\n  type socialGroupsV2JoinGroupRequest_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type socialGroupsV2JoinGroupRequest_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type socialGroupsV2JoinGroupRequest_universal_d_RestoreInfo = RestoreInfo;\n  type socialGroupsV2JoinGroupRequest_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type socialGroupsV2JoinGroupRequest_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type socialGroupsV2JoinGroupRequest_universal_d_ActionEvent = ActionEvent;\n  type socialGroupsV2JoinGroupRequest_universal_d_MessageEnvelope = MessageEnvelope;\n  type socialGroupsV2JoinGroupRequest_universal_d_IdentificationData = IdentificationData;\n  type socialGroupsV2JoinGroupRequest_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type socialGroupsV2JoinGroupRequest_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const socialGroupsV2JoinGroupRequest_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const socialGroupsV2JoinGroupRequest_universal_d_getJoinRequirements: typeof getJoinRequirements;\n  type socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsOptions = GetJoinRequirementsOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_submitJoinGroupRequest: typeof submitJoinGroupRequest;\n  type socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestOptions = SubmitJoinGroupRequestOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_cancelJoinGroupRequest: typeof cancelJoinGroupRequest;\n  const socialGroupsV2JoinGroupRequest_universal_d_approveJoinGroupRequests: typeof approveJoinGroupRequests;\n  type socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsOptions = ApproveJoinGroupRequestsOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_rejectJoinGroupRequests: typeof rejectJoinGroupRequests;\n  type socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsOptions = RejectJoinGroupRequestsOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_listJoinGroupRequests: typeof listJoinGroupRequests;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsOptions = ListJoinGroupRequestsOptions;\n  const socialGroupsV2JoinGroupRequest_universal_d_queryJoinGroupRequests: typeof queryJoinGroupRequests;\n  type socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsOptions = QueryJoinGroupRequestsOptions;\n  type socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestsQueryResult = JoinGroupRequestsQueryResult;\n  type socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestsQueryBuilder = JoinGroupRequestsQueryBuilder;\n  const socialGroupsV2JoinGroupRequest_universal_d_rejectAllJoinGroupRequests: typeof rejectAllJoinGroupRequests;\n  const socialGroupsV2JoinGroupRequest_universal_d_approveAllJoinGroupRequests: typeof approveAllJoinGroupRequests;\n  const socialGroupsV2JoinGroupRequest_universal_d_listAllJoinGroupRequests: typeof listAllJoinGroupRequests;\n  type socialGroupsV2JoinGroupRequest_universal_d_ListAllJoinGroupRequestsOptions = ListAllJoinGroupRequestsOptions;\n  namespace socialGroupsV2JoinGroupRequest_universal_d {\n    export {\n      socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequest as JoinGroupRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_RequestStatus as RequestStatus,\n      socialGroupsV2JoinGroupRequest_universal_d_RequestDetails as RequestDetails,\n      socialGroupsV2JoinGroupRequest_universal_d_SocialGroupsEvent as SocialGroupsEvent,\n      socialGroupsV2JoinGroupRequest_universal_d_SocialGroupsEventPayloadOneOf as SocialGroupsEventPayloadOneOf,\n      socialGroupsV2JoinGroupRequest_universal_d_MemberJoinedGroup as MemberJoinedGroup,\n      socialGroupsV2JoinGroupRequest_universal_d_MembersAddedToGroup as MembersAddedToGroup,\n      socialGroupsV2JoinGroupRequest_universal_d_JoinRequestsApproved as JoinRequestsApproved,\n      socialGroupsV2JoinGroupRequest_universal_d_MembersInvitedToGroup as MembersInvitedToGroup,\n      socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsRequest as GetJoinRequirementsRequest,\n      MembershipQuestionAnswer$1 as MembershipQuestionAnswer,\n      socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsResponse as GetJoinRequirementsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_PaidPlan as PaidPlan,\n      socialGroupsV2JoinGroupRequest_universal_d_ViolationType as ViolationType,\n      socialGroupsV2JoinGroupRequest_universal_d_EventsViolationOptions as EventsViolationOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_PricingPlanViolationOptions as PricingPlanViolationOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_MembershipQuestionViolationOptions as MembershipQuestionViolationOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_Violation as Violation,\n      socialGroupsV2JoinGroupRequest_universal_d_ViolationViolationOptionsOneOf as ViolationViolationOptionsOneOf,\n      socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestRequest as SubmitJoinGroupRequestRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestResponse as SubmitJoinGroupRequestResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_CancelJoinGroupRequestRequest as CancelJoinGroupRequestRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_CancelJoinGroupRequestResponse as CancelJoinGroupRequestResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestCancelled as JoinGroupRequestCancelled,\n      socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsRequest as ApproveJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_ItemsToUpdate as ItemsToUpdate,\n      socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsResponse as ApproveJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestApproved as JoinGroupRequestApproved,\n      socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsRequest as RejectJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_Rejection as Rejection,\n      socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsResponse as RejectJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestRejected as JoinGroupRequestRejected,\n      socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsRequest as ListJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_OwnershipFilter as OwnershipFilter,\n      socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsResponse as ListJoinGroupRequestsResponse,\n      PagingMetadata$1 as PagingMetadata,\n      socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsRequest as QueryJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_Query as Query,\n      socialGroupsV2JoinGroupRequest_universal_d_Sorting as Sorting,\n      socialGroupsV2JoinGroupRequest_universal_d_SortOrder as SortOrder,\n      Paging$1 as Paging,\n      socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsResponse as QueryJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_RejectAllJoinGroupRequestsRequest as RejectAllJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_RejectAllJoinGroupRequestsResponse as RejectAllJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_ApproveAllJoinGroupRequestsRequest as ApproveAllJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_ApproveAllJoinGroupRequestsResponse as ApproveAllJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_ListAllJoinGroupRequestsRequest as ListAllJoinGroupRequestsRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_ListAllJoinGroupRequestsResponse as ListAllJoinGroupRequestsResponse,\n      socialGroupsV2JoinGroupRequest_universal_d_DomainEvent as DomainEvent,\n      socialGroupsV2JoinGroupRequest_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      socialGroupsV2JoinGroupRequest_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      socialGroupsV2JoinGroupRequest_universal_d_RestoreInfo as RestoreInfo,\n      socialGroupsV2JoinGroupRequest_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      socialGroupsV2JoinGroupRequest_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      socialGroupsV2JoinGroupRequest_universal_d_ActionEvent as ActionEvent,\n      socialGroupsV2JoinGroupRequest_universal_d_MessageEnvelope as MessageEnvelope,\n      socialGroupsV2JoinGroupRequest_universal_d_IdentificationData as IdentificationData,\n      socialGroupsV2JoinGroupRequest_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      socialGroupsV2JoinGroupRequest_universal_d_WebhookIdentityType as WebhookIdentityType,\n      socialGroupsV2JoinGroupRequest_universal_d_getJoinRequirements as getJoinRequirements,\n      socialGroupsV2JoinGroupRequest_universal_d_GetJoinRequirementsOptions as GetJoinRequirementsOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_submitJoinGroupRequest as submitJoinGroupRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_SubmitJoinGroupRequestOptions as SubmitJoinGroupRequestOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_cancelJoinGroupRequest as cancelJoinGroupRequest,\n      socialGroupsV2JoinGroupRequest_universal_d_approveJoinGroupRequests as approveJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_ApproveJoinGroupRequestsOptions as ApproveJoinGroupRequestsOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_rejectJoinGroupRequests as rejectJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_RejectJoinGroupRequestsOptions as RejectJoinGroupRequestsOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_listJoinGroupRequests as listJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_ListJoinGroupRequestsOptions as ListJoinGroupRequestsOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_queryJoinGroupRequests as queryJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_QueryJoinGroupRequestsOptions as QueryJoinGroupRequestsOptions,\n      socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestsQueryResult as JoinGroupRequestsQueryResult,\n      socialGroupsV2JoinGroupRequest_universal_d_JoinGroupRequestsQueryBuilder as JoinGroupRequestsQueryBuilder,\n      socialGroupsV2JoinGroupRequest_universal_d_rejectAllJoinGroupRequests as rejectAllJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_approveAllJoinGroupRequests as approveAllJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_listAllJoinGroupRequests as listAllJoinGroupRequests,\n      socialGroupsV2JoinGroupRequest_universal_d_ListAllJoinGroupRequestsOptions as ListAllJoinGroupRequestsOptions,\n    };\n  }\n  \n  /**\n   * Question asked to members when joining a group. Site owners can set whether it is required to answer the question in the dashboard.\n   * > **Note:** Only admins can create or update membership questions.\n   */\n  interface MembershipQuestion {\n      /**\n       * Question ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Whether a member must answer this question when joining the group. */\n      required?: boolean;\n      /** Question text. */\n      text?: string;\n  }\n  interface ListMembershipQuestionsRequest {\n      /** Group ID. */\n      groupId: string;\n  }\n  interface ListMembershipQuestionsResponse {\n      /** Membership questions. */\n      questions?: MembershipQuestion[];\n  }\n  interface CreateOrReplaceAllMembershipQuestionsRequest {\n      /** Group ID. */\n      groupId: string;\n      /** New membership questions. */\n      questions?: MembershipQuestion[];\n  }\n  interface CreateOrReplaceAllMembershipQuestionsResponse {\n      /** Membership questions. */\n      questions?: MembershipQuestion[];\n  }\n  interface ListAnswersRequest {\n      /** Group ID. */\n      groupId: string;\n      /** Member IDs. If no member ID is provided, answers for all members will be returned. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      memberIds?: string[];\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListAnswersResponse {\n      /** Answers to the membership questions, grouped by member. */\n      memberAnswers?: MemberMembershipQuestionAnswers[];\n      /** Membership questions by question ID. Inludes only questions that have been answered by the specified members. */\n      questions?: Record<string, MembershipQuestion>;\n      metadata?: PagingMetadata;\n  }\n  interface MemberMembershipQuestionAnswers {\n      /** Member ID. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      memberId?: string;\n      /** Answers to the membership question. */\n      answers?: MembershipQuestionAnswer[];\n  }\n  /** Answer to a membership question. */\n  interface MembershipQuestionAnswer {\n      /** Question ID. */\n      _id?: string;\n      /** Answer text. */\n      text?: string | null;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface ListAnswerCountsRequest {\n      memberIds?: string[];\n  }\n  interface ListAnswerCountsResponse {\n      memberAnswerCounts?: MemberAnswerCount[];\n  }\n  interface MemberAnswerCount {\n      memberId?: string;\n      groupId?: string;\n      count?: number;\n  }\n  /**\n   * Retrieves the membership questions for the given group.\n   *\n   * >**Note:**\n   * >This endpoint requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function listMembershipQuestions(groupId: string): Promise<ListMembershipQuestionsResponse>;\n  /**\n   * Creates membership questions if none have been set up. Otherwise, replaces all existing questions.\n   * > **Notes:**\n   * > * Only admins can create or replace membership questions.\n   * > * Providing an empty array means that members won't have to answer any question when joining the group.\n   *\n   * >**Note:**\n   * >This endpoint requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function createOrReplaceAllMembershipQuestions(groupId: string, options?: CreateOrReplaceAllMembershipQuestionsOptions): Promise<CreateOrReplaceAllMembershipQuestionsResponse>;\n  interface CreateOrReplaceAllMembershipQuestionsOptions {\n      /** New membership questions. */\n      questions?: MembershipQuestion[];\n  }\n  /**\n   * Retrieves the answers to the membership questions, given the provided filters.\n   *\n   * >**Note:**\n   * >This endpoint requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n   * @param groupId - Group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField groupId\n   * @adminMethod\n   */\n  function listAnswers(groupId: string, options?: ListAnswersOptions): Promise<ListAnswersResponse>;\n  interface ListAnswersOptions {\n      /** Member IDs. If no member ID is provided, answers for all members will be returned. See [Members API](https://dev.wix.com/api/rest/members/members/about-wix-members) for more details. */\n      memberIds?: string[];\n      paging?: Paging;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listAnswerCounts(options?: ListAnswerCountsOptions): Promise<ListAnswerCountsResponse>;\n  interface ListAnswerCountsOptions {\n      memberIds?: string[];\n  }\n  \n  type socialGroupsV2MembershipQuestion_universal_d_MembershipQuestion = MembershipQuestion;\n  type socialGroupsV2MembershipQuestion_universal_d_ListMembershipQuestionsRequest = ListMembershipQuestionsRequest;\n  type socialGroupsV2MembershipQuestion_universal_d_ListMembershipQuestionsResponse = ListMembershipQuestionsResponse;\n  type socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsRequest = CreateOrReplaceAllMembershipQuestionsRequest;\n  type socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsResponse = CreateOrReplaceAllMembershipQuestionsResponse;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswersRequest = ListAnswersRequest;\n  type socialGroupsV2MembershipQuestion_universal_d_Paging = Paging;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswersResponse = ListAnswersResponse;\n  type socialGroupsV2MembershipQuestion_universal_d_MemberMembershipQuestionAnswers = MemberMembershipQuestionAnswers;\n  type socialGroupsV2MembershipQuestion_universal_d_MembershipQuestionAnswer = MembershipQuestionAnswer;\n  type socialGroupsV2MembershipQuestion_universal_d_PagingMetadata = PagingMetadata;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsRequest = ListAnswerCountsRequest;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsResponse = ListAnswerCountsResponse;\n  type socialGroupsV2MembershipQuestion_universal_d_MemberAnswerCount = MemberAnswerCount;\n  const socialGroupsV2MembershipQuestion_universal_d_listMembershipQuestions: typeof listMembershipQuestions;\n  const socialGroupsV2MembershipQuestion_universal_d_createOrReplaceAllMembershipQuestions: typeof createOrReplaceAllMembershipQuestions;\n  type socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsOptions = CreateOrReplaceAllMembershipQuestionsOptions;\n  const socialGroupsV2MembershipQuestion_universal_d_listAnswers: typeof listAnswers;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswersOptions = ListAnswersOptions;\n  const socialGroupsV2MembershipQuestion_universal_d_listAnswerCounts: typeof listAnswerCounts;\n  type socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsOptions = ListAnswerCountsOptions;\n  namespace socialGroupsV2MembershipQuestion_universal_d {\n    export {\n      socialGroupsV2MembershipQuestion_universal_d_MembershipQuestion as MembershipQuestion,\n      socialGroupsV2MembershipQuestion_universal_d_ListMembershipQuestionsRequest as ListMembershipQuestionsRequest,\n      socialGroupsV2MembershipQuestion_universal_d_ListMembershipQuestionsResponse as ListMembershipQuestionsResponse,\n      socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsRequest as CreateOrReplaceAllMembershipQuestionsRequest,\n      socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsResponse as CreateOrReplaceAllMembershipQuestionsResponse,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswersRequest as ListAnswersRequest,\n      socialGroupsV2MembershipQuestion_universal_d_Paging as Paging,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswersResponse as ListAnswersResponse,\n      socialGroupsV2MembershipQuestion_universal_d_MemberMembershipQuestionAnswers as MemberMembershipQuestionAnswers,\n      socialGroupsV2MembershipQuestion_universal_d_MembershipQuestionAnswer as MembershipQuestionAnswer,\n      socialGroupsV2MembershipQuestion_universal_d_PagingMetadata as PagingMetadata,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsRequest as ListAnswerCountsRequest,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsResponse as ListAnswerCountsResponse,\n      socialGroupsV2MembershipQuestion_universal_d_MemberAnswerCount as MemberAnswerCount,\n      socialGroupsV2MembershipQuestion_universal_d_listMembershipQuestions as listMembershipQuestions,\n      socialGroupsV2MembershipQuestion_universal_d_createOrReplaceAllMembershipQuestions as createOrReplaceAllMembershipQuestions,\n      socialGroupsV2MembershipQuestion_universal_d_CreateOrReplaceAllMembershipQuestionsOptions as CreateOrReplaceAllMembershipQuestionsOptions,\n      socialGroupsV2MembershipQuestion_universal_d_listAnswers as listAnswers,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswersOptions as ListAnswersOptions,\n      socialGroupsV2MembershipQuestion_universal_d_listAnswerCounts as listAnswerCounts,\n      socialGroupsV2MembershipQuestion_universal_d_ListAnswerCountsOptions as ListAnswerCountsOptions,\n    };\n  }\n  \n  export { socialGroupsV2GroupRequest_universal_d as groupRequests, socialGroupsV2Group_universal_d as groups, socialGroupsV2JoinGroupRequest_universal_d as joinGroupRequests, socialGroupsV2GroupMember_universal_d as members, socialGroupsV2MembershipQuestion_universal_d as membershipQuestions, socialGroupsV2GroupRole_universal_d as roles, socialGroupsV2GroupRules_universal_d as rules };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-backup-service-v2.d.ts",
      "content": "declare module \"wix-data-backup-service-v2\" {\n  interface GCBackup {\n      /** @readonly */\n      _id?: string;\n  }\n  interface CreateGCBackupRequest {\n      instanceId?: string;\n      segment?: Segment;\n      clusterId?: string;\n      databaseName?: string;\n  }\n  enum Segment {\n      Dev = \"Dev\",\n      Public = \"Public\"\n  }\n  interface CreateGCBackupResponse {\n      backupId?: string | null;\n  }\n  interface GetGCBackupRequest {\n      backupId?: string;\n  }\n  interface GCBackupResponse {\n      backupId?: string;\n      instanceId?: string;\n      segment?: Segment;\n      clusterId?: string;\n      databaseName?: string;\n      status?: GCBackupResponseStatus;\n      size?: string | null;\n      requestedDate?: Date | null;\n      finishedDate?: Date | null;\n      restorations?: GCBackupResponseRestoration[];\n  }\n  enum GCBackupResponseRestorationStatus {\n      PENDING = \"PENDING\",\n      FAILED = \"FAILED\",\n      COMPLETED = \"COMPLETED\",\n      CANCELED = \"CANCELED\"\n  }\n  enum GCBackupResponseStatus {\n      PENDING = \"PENDING\",\n      READY = \"READY\",\n      FAILED = \"FAILED\",\n      CANCELED = \"CANCELED\"\n  }\n  interface GCBackupResponseRestoration {\n      restorationId?: string;\n      clusterId?: string;\n      databaseName?: string;\n      status?: GCBackupResponseRestorationStatus;\n      instanceId?: string | null;\n  }\n  interface FindGCBackupRequest {\n      instanceId?: string;\n      segment?: Segment;\n      clusterId?: string;\n      databaseName?: string;\n  }\n  interface FindGCBackupResponse {\n      backups?: GCBackupResponse[];\n  }\n  interface RestoreGCBackupRequest {\n      instanceId?: string;\n      backupId?: string;\n      clusterId?: string;\n      databaseName?: string;\n  }\n  interface RestoreGCBackupResponse {\n      restorationId?: string;\n  }\n  interface CancelGCBackupRequest {\n      backupId?: string;\n  }\n  interface CancelGCBackupResponse {\n  }\n  interface CancelGCRestorationRequest {\n      backupId?: string;\n      restorationId?: string;\n  }\n  interface CancelGCRestorationResponse {\n  }\n  interface DeleteExpiredBackupRecordsRequest {\n  }\n  interface DeleteExpiredBackupRecordsResponse {\n  }\n  interface Backup {\n      /**\n       * Backup ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Backup status.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Type of backup, based on how it was triggered.\n       * @readonly\n       */\n      type?: Type;\n      /**\n       * Date and time the backup was requested.\n       * @readonly\n       */\n      requestedDate?: Date | null;\n      /**\n       * Date and time the backup commenced. Value is `null` until the backup process begins in the background.\n       * @readonly\n       */\n      startedDate?: Date | null;\n      /**\n       * Date and time the backup process finished. Value is `null` until the backup process is completed in the background.\n       * @readonly\n       */\n      finishedDate?: Date | null;\n      /**\n       * Date and time the backup was deleted. Value is `null` if that backup hasn't been deleted.\n       * @readonly\n       */\n      deletedDate?: Date | null;\n      /**\n       * Backup size in bytes. Value is `null` until the backup process is completed.\n       * @readonly\n       */\n      sizeInBytes?: string | null;\n      /**\n       * IDs and display names of collections the backup contains.\n       * @readonly\n       */\n      collections?: Collection[];\n  }\n  enum Status {\n      /** Backup creation is in progress. */\n      PENDING = \"PENDING\",\n      /** Backup has been created successfully and can be used for data restoration. */\n      READY = \"READY\",\n      /** Backup creation has failed. */\n      FAILED = \"FAILED\",\n      /** Backup has been deleted. */\n      DELETED = \"DELETED\",\n      /** Backup has been canceled. */\n      CANCELED = \"CANCELED\"\n  }\n  enum Type {\n      /** Backup taken on demand. */\n      ON_DEMAND = \"ON_DEMAND\",\n      /** Automatically triggered backup (taken repeatedly on a regular interval). */\n      AUTO = \"AUTO\"\n  }\n  interface Collection {\n      /**\n       * Collection ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Collection display name.\n       * @readonly\n       */\n      displayName?: string | null;\n  }\n  /** event triggered when backup state is changed (i.e. it was created, started, completed or failed) */\n  interface BackupStateChanged {\n      /**\n       * current state of backup\n       * @readonly\n       */\n      backup?: Backup;\n  }\n  /** event triggered when backup restoration state is changed (i.e. it was created, started or completed) */\n  interface RestorationStateChanged {\n      /**\n       * current state of restoration\n       * @readonly\n       */\n      restoration?: Restoration;\n  }\n  interface Restoration {\n      /**\n       * Restoration ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Details of the backup used for the restoration.\n       * @readonly\n       */\n      backup?: Backup;\n      /**\n       * Status of restoration.\n       * @readonly\n       */\n      status?: RestorationStatus;\n      /**\n       * Date and time the restoration was requested.\n       * @readonly\n       */\n      requestedDate?: Date | null;\n      /**\n       * Date and time the restoration commenced. Value is `null` until the restoration process begins in the background.\n       * @readonly\n       */\n      startedDate?: Date | null;\n      /**\n       * Date and time the restoration finished. Value is `null` until the restoration process is completed in the background.\n       * @readonly\n       */\n      finishedDate?: Date | null;\n      /**\n       * List of collections restored.\n       * @readonly\n       * @deprecated\n       * @replacedBy restoration_collections\n       * @targetRemovalDate 2025-12-31\n       */\n      collections?: Collection[];\n      /** @readonly */\n      restorationCollections?: RestorationCollection[];\n  }\n  enum RestorationStatus {\n      /** Restoration from a backup is in progress. */\n      PENDING = \"PENDING\",\n      /** Restoration from a backup has been successful. */\n      COMPLETED = \"COMPLETED\",\n      /** Restoration from a backup has failed. */\n      FAILED = \"FAILED\"\n  }\n  interface RestorationCollection {\n      /**\n       * Collection to be restored.\n       *\n       * **Note**: If two collections have a multireference relation, the references will be restored only if both collections are restored.\n       */\n      dataCollectionId?: string;\n      /**\n       * Destination where to restore the collection.\n       * When not specified destination is taken from backup.\n       */\n      restoreDestination?: RestoreDestination;\n  }\n  interface RestoreDestination {\n      /** Collection id. */\n      dataCollectionId?: string;\n      /** Display name. When not specified value is taken from the backup. */\n      displayName?: string | null;\n  }\n  interface CreateBackupRequest {\n      /**\n       * Type of backup to create. Default value is `ON_DEMAND`.\n       * @internal\n       */\n      type?: Type;\n  }\n  interface CreateBackupResponse {\n      /** Details of the requested backup. */\n      backup?: Backup;\n  }\n  interface ListBackupsRequest {\n      /**\n       * Statuses to filter by.\n       * If provided, only backups with the specified statuses are listed.\n       * For example, to list only completed backups, use `?status=READY`.\n       * To list completed and pending backups, use `?status=READY&status=PENDING`.\n       *\n       * - **`PENDING`**: A backup that was initiated but isn't yet completed.\n       * - **`READY`**: A successfully completed backup.\n       * - **`FAILED`**: A backup that was initiated but didn't successfully complete.\n       * - **`DELETED`**: A successfully deleted backup.\n       * - **`CANCELED`**: A backup that was canceled after being initiated.\n       *\n       * Default: No filtering\n       */\n      status?: Status[];\n      /**\n       * Type to filter by. If provided, only backups of the specified type are listed.\n       *\n       * - **`AUTO`**: A backup taken automatically by the system on a regular schedule.\n       * - **`ON_DEMAND`**: A backup initiated manually.\n       *\n       * Default: No filtering\n       */\n      type?: Type[];\n      /** Paging preferences. */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListBackupsResponse {\n      /** Retrieved backups. */\n      backups?: Backup[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n  }\n  interface RestoreBackupRequest {\n      /** ID of backup to be restored. */\n      backupId: string;\n  }\n  interface RestoreBackupResponse {\n      /** Details of data restoration from backup. */\n      restoration?: Restoration;\n  }\n  interface RestorePartialBackupRequest {\n      /** ID of backup to be restored. */\n      backupId: string;\n      /**\n       * Collections to be restored.\n       *\n       * **Note**: If two collections have a multireference relation, the references will be restored only if both collections are restored.\n       * @deprecated\n       * @replacedBy restoration_collections\n       * @targetRemovalDate 2025-12-31\n       */\n      dataCollectionIds?: string[];\n      /** Collections to be restored. */\n      restorationCollections?: RestorationCollection[];\n  }\n  interface ListRestorationsRequest {\n      /**\n       * Statuses to filter by. If provided, only restorations with the specified statuses are listed.\n       * For example, to list only completed restorations, use `?status=COMPLETED`.\n       * To list completed and pending restorations, use `?status=COMPLETED&status=PENDING`.\n       *\n       * - **`PENDING`**: A restoration that was initiated but isn't yet completed.\n       * - **`COMPLETED`**: A successfully completed restoration.\n       * - **`FAILED`**: A restoration that was initiated but didn't successfully complete.\n       *\n       * Default: No filtering\n       */\n      status?: RestorationStatus[];\n      /** Offset and limit of items to retrieve. */\n      paging?: Paging;\n  }\n  interface ListRestorationsResponse {\n      /** Retrieved restorations. */\n      restorations?: Restoration[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface DeleteBackupRequest {\n      /** ID of the backup to be deleted. */\n      backupId: string;\n  }\n  interface DeleteBackupResponse {\n  }\n  interface CancelBackupRequest {\n      /** ID of the backup to be cancelled. */\n      backupId: string;\n  }\n  interface CancelBackupResponse {\n  }\n  interface MigrateNamespaceRequest {\n      newNamespace?: string;\n      existingNamespace?: string;\n  }\n  interface MigrateNamespaceResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface DisableInstanceRequest {\n      instanceId?: string;\n  }\n  interface Empty {\n  }\n  interface EnableInstanceRequest {\n      instanceId?: string;\n  }\n  interface DeleteAllRequest {\n      instanceId?: string;\n  }\n  interface GetBackupMetadataRequest {\n      backupId?: string;\n  }\n  interface GetBackupMetadataResponse {\n      metaData?: Record<string, any> | null;\n  }\n  interface RebuildRequest {\n      backupId?: string;\n  }\n  interface MoveRequest {\n      backupId?: string;\n  }\n  interface RemoveDeletedRequest {\n      limit?: number;\n  }\n  interface FailRestorationRequest {\n      restorationId?: string;\n  }\n  interface TakeBackupRequest {\n      instanceId?: string;\n      type?: Type;\n  }\n  interface UpdateBackupMetadataRequest {\n      backupId?: string;\n      s3Region?: string;\n      s3Bucket?: string;\n  }\n  /**\n   * Creates an on-demand backup of live content in a site's collections.\n   *\n   *\n   * By default, all of the site's collections are included in the backup. For a partial backup, specify which collections to include in the `backup.collections` parameter.\n   *\n   * The process of creating a backup takes time.\n   * You can check whether a backup has completed successfully with List Backups.\n   *\n   * You can store up to 3 on-demand backups for each site.\n   * If 3 on-demand backups already exist, the oldest existing on-demand backup for the site is deleted when a new one is created. Automated backups are not affected.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.CREATE_BACKUP\n   * @adminMethod\n   */\n  function createBackup(options?: CreateBackupOptions): Promise<CreateBackupResponse>;\n  interface CreateBackupOptions {\n      /**\n       * Type of backup to create. Default value is `ON_DEMAND`.\n       * @internal\n       */\n      type?: Type;\n  }\n  /**\n   * Retrieves a list of all backups for a site.\n   *\n   * Results are sorted by requested date, with the newest first.\n   *\n   * You can use this method to check whether a backup initiated with Create Backup has been completed successfully.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.LIST_BACKUPS\n   * @adminMethod\n   */\n  function listBackups(options?: ListBackupsOptions): Promise<ListBackupsResponse>;\n  interface ListBackupsOptions {\n      /**\n       * Statuses to filter by.\n       * If provided, only backups with the specified statuses are listed.\n       * For example, to list only completed backups, use `?status=READY`.\n       * To list completed and pending backups, use `?status=READY&status=PENDING`.\n       *\n       * - **`PENDING`**: A backup that was initiated but isn't yet completed.\n       * - **`READY`**: A successfully completed backup.\n       * - **`FAILED`**: A backup that was initiated but didn't successfully complete.\n       * - **`DELETED`**: A successfully deleted backup.\n       * - **`CANCELED`**: A backup that was canceled after being initiated.\n       *\n       * Default: No filtering\n       */\n      status?: Status[];\n      /**\n       * Type to filter by. If provided, only backups of the specified type are listed.\n       *\n       * - **`AUTO`**: A backup taken automatically by the system on a regular schedule.\n       * - **`ON_DEMAND`**: A backup initiated manually.\n       *\n       * Default: No filtering\n       */\n      type?: Type[];\n      /** Paging preferences. */\n      paging?: Paging;\n  }\n  /**\n   * Restores all data from a backup.\n   *\n   * The process of restoring data from a backup takes time.\n   * You can check whether your restoration has completed successfully with List Restorations.\n   * @param backupId - ID of backup to be restored.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField backupId\n   * @permissionId WIX_DATA.RESTORE_BACKUP\n   * @adminMethod\n   */\n  function restoreBackup(backupId: string): Promise<RestoreBackupResponse>;\n  /**\n   * Restores specific collections from a backup.\n   *\n   * The process of restoring data from a backup takes time.\n   * You can check whether your restoration has completed successfully with List Restorations.\n   * @param backupId - ID of backup to be restored.\n   * @param dataCollectionIds - Collections to be restored.\n   *\n   * **Note**: If two collections have a multireference relation, the references will be restored only if both collections are restored.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField backupId\n   * @requiredField dataCollectionIds\n   * @permissionId WIX_DATA.RESTORE_BACKUP\n   * @adminMethod\n   */\n  function restorePartialBackup(backupId: string, dataCollectionIds: string[], options?: RestorePartialBackupOptions): Promise<RestoreBackupResponse>;\n  interface RestorePartialBackupOptions {\n      /** Collections to be restored. */\n      restorationCollections?: RestorationCollection[];\n  }\n  /**\n   * Retrieves a list of all data restorations from backups.\n   *\n   * Results are sorted by requested date, with the newest first.\n   *\n   * You can use this method to check whether a restoration initiated with Restore Backup has been completed successfully.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.LIST_RESTORATIONS\n   * @adminMethod\n   */\n  function listRestorations(options?: ListRestorationsOptions): Promise<ListRestorationsResponse>;\n  interface ListRestorationsOptions {\n      /**\n       * Statuses to filter by. If provided, only restorations with the specified statuses are listed.\n       * For example, to list only completed restorations, use `?status=COMPLETED`.\n       * To list completed and pending restorations, use `?status=COMPLETED&status=PENDING`.\n       *\n       * - **`PENDING`**: A restoration that was initiated but isn't yet completed.\n       * - **`COMPLETED`**: A successfully completed restoration.\n       * - **`FAILED`**: A restoration that was initiated but didn't successfully complete.\n       *\n       * Default: No filtering\n       */\n      status?: RestorationStatus[];\n      /** Offset and limit of items to retrieve. */\n      paging?: Paging;\n  }\n  /**\n   * Deletes a backup.\n   *\n   * The process of deleting a backup takes time.\n   * You can check whether a backup has been deleted successfully with List Backups.\n   * @param backupId - ID of the backup to be deleted.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField backupId\n   * @permissionId WIX_DATA.DELETE_BACKUP\n   * @adminMethod\n   */\n  function deleteBackup(backupId: string): Promise<void>;\n  /**\n   * Cancels a backup.\n   *\n   * This method is used to cancel a backup that was initiated with Create Backup and is still underway.\n   * The process of canceling a backup takes time. You can check whether your backup has been canceled successfully with List Backups.\n   * @param backupId - ID of the backup to be cancelled.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField backupId\n   * @permissionId WIX_DATA.CANCEL_BACKUP\n   * @adminMethod\n   */\n  function cancelBackup(backupId: string): Promise<void>;\n  \n  type dataV2Backup_universal_d_GCBackup = GCBackup;\n  type dataV2Backup_universal_d_CreateGCBackupRequest = CreateGCBackupRequest;\n  type dataV2Backup_universal_d_Segment = Segment;\n  const dataV2Backup_universal_d_Segment: typeof Segment;\n  type dataV2Backup_universal_d_CreateGCBackupResponse = CreateGCBackupResponse;\n  type dataV2Backup_universal_d_GetGCBackupRequest = GetGCBackupRequest;\n  type dataV2Backup_universal_d_GCBackupResponse = GCBackupResponse;\n  type dataV2Backup_universal_d_GCBackupResponseRestorationStatus = GCBackupResponseRestorationStatus;\n  const dataV2Backup_universal_d_GCBackupResponseRestorationStatus: typeof GCBackupResponseRestorationStatus;\n  type dataV2Backup_universal_d_GCBackupResponseStatus = GCBackupResponseStatus;\n  const dataV2Backup_universal_d_GCBackupResponseStatus: typeof GCBackupResponseStatus;\n  type dataV2Backup_universal_d_GCBackupResponseRestoration = GCBackupResponseRestoration;\n  type dataV2Backup_universal_d_FindGCBackupRequest = FindGCBackupRequest;\n  type dataV2Backup_universal_d_FindGCBackupResponse = FindGCBackupResponse;\n  type dataV2Backup_universal_d_RestoreGCBackupRequest = RestoreGCBackupRequest;\n  type dataV2Backup_universal_d_RestoreGCBackupResponse = RestoreGCBackupResponse;\n  type dataV2Backup_universal_d_CancelGCBackupRequest = CancelGCBackupRequest;\n  type dataV2Backup_universal_d_CancelGCBackupResponse = CancelGCBackupResponse;\n  type dataV2Backup_universal_d_CancelGCRestorationRequest = CancelGCRestorationRequest;\n  type dataV2Backup_universal_d_CancelGCRestorationResponse = CancelGCRestorationResponse;\n  type dataV2Backup_universal_d_DeleteExpiredBackupRecordsRequest = DeleteExpiredBackupRecordsRequest;\n  type dataV2Backup_universal_d_DeleteExpiredBackupRecordsResponse = DeleteExpiredBackupRecordsResponse;\n  type dataV2Backup_universal_d_Backup = Backup;\n  type dataV2Backup_universal_d_Status = Status;\n  const dataV2Backup_universal_d_Status: typeof Status;\n  type dataV2Backup_universal_d_Type = Type;\n  const dataV2Backup_universal_d_Type: typeof Type;\n  type dataV2Backup_universal_d_Collection = Collection;\n  type dataV2Backup_universal_d_BackupStateChanged = BackupStateChanged;\n  type dataV2Backup_universal_d_RestorationStateChanged = RestorationStateChanged;\n  type dataV2Backup_universal_d_Restoration = Restoration;\n  type dataV2Backup_universal_d_RestorationStatus = RestorationStatus;\n  const dataV2Backup_universal_d_RestorationStatus: typeof RestorationStatus;\n  type dataV2Backup_universal_d_RestorationCollection = RestorationCollection;\n  type dataV2Backup_universal_d_RestoreDestination = RestoreDestination;\n  type dataV2Backup_universal_d_CreateBackupRequest = CreateBackupRequest;\n  type dataV2Backup_universal_d_CreateBackupResponse = CreateBackupResponse;\n  type dataV2Backup_universal_d_ListBackupsRequest = ListBackupsRequest;\n  type dataV2Backup_universal_d_Paging = Paging;\n  type dataV2Backup_universal_d_ListBackupsResponse = ListBackupsResponse;\n  type dataV2Backup_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type dataV2Backup_universal_d_RestoreBackupRequest = RestoreBackupRequest;\n  type dataV2Backup_universal_d_RestoreBackupResponse = RestoreBackupResponse;\n  type dataV2Backup_universal_d_RestorePartialBackupRequest = RestorePartialBackupRequest;\n  type dataV2Backup_universal_d_ListRestorationsRequest = ListRestorationsRequest;\n  type dataV2Backup_universal_d_ListRestorationsResponse = ListRestorationsResponse;\n  type dataV2Backup_universal_d_DeleteBackupRequest = DeleteBackupRequest;\n  type dataV2Backup_universal_d_DeleteBackupResponse = DeleteBackupResponse;\n  type dataV2Backup_universal_d_CancelBackupRequest = CancelBackupRequest;\n  type dataV2Backup_universal_d_CancelBackupResponse = CancelBackupResponse;\n  type dataV2Backup_universal_d_MigrateNamespaceRequest = MigrateNamespaceRequest;\n  type dataV2Backup_universal_d_MigrateNamespaceResponse = MigrateNamespaceResponse;\n  type dataV2Backup_universal_d_DomainEvent = DomainEvent;\n  type dataV2Backup_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type dataV2Backup_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type dataV2Backup_universal_d_RestoreInfo = RestoreInfo;\n  type dataV2Backup_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type dataV2Backup_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type dataV2Backup_universal_d_ActionEvent = ActionEvent;\n  type dataV2Backup_universal_d_MessageEnvelope = MessageEnvelope;\n  type dataV2Backup_universal_d_IdentificationData = IdentificationData;\n  type dataV2Backup_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type dataV2Backup_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const dataV2Backup_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type dataV2Backup_universal_d_DisableInstanceRequest = DisableInstanceRequest;\n  type dataV2Backup_universal_d_Empty = Empty;\n  type dataV2Backup_universal_d_EnableInstanceRequest = EnableInstanceRequest;\n  type dataV2Backup_universal_d_DeleteAllRequest = DeleteAllRequest;\n  type dataV2Backup_universal_d_GetBackupMetadataRequest = GetBackupMetadataRequest;\n  type dataV2Backup_universal_d_GetBackupMetadataResponse = GetBackupMetadataResponse;\n  type dataV2Backup_universal_d_RebuildRequest = RebuildRequest;\n  type dataV2Backup_universal_d_MoveRequest = MoveRequest;\n  type dataV2Backup_universal_d_RemoveDeletedRequest = RemoveDeletedRequest;\n  type dataV2Backup_universal_d_FailRestorationRequest = FailRestorationRequest;\n  type dataV2Backup_universal_d_TakeBackupRequest = TakeBackupRequest;\n  type dataV2Backup_universal_d_UpdateBackupMetadataRequest = UpdateBackupMetadataRequest;\n  const dataV2Backup_universal_d_createBackup: typeof createBackup;\n  type dataV2Backup_universal_d_CreateBackupOptions = CreateBackupOptions;\n  const dataV2Backup_universal_d_listBackups: typeof listBackups;\n  type dataV2Backup_universal_d_ListBackupsOptions = ListBackupsOptions;\n  const dataV2Backup_universal_d_restoreBackup: typeof restoreBackup;\n  const dataV2Backup_universal_d_restorePartialBackup: typeof restorePartialBackup;\n  type dataV2Backup_universal_d_RestorePartialBackupOptions = RestorePartialBackupOptions;\n  const dataV2Backup_universal_d_listRestorations: typeof listRestorations;\n  type dataV2Backup_universal_d_ListRestorationsOptions = ListRestorationsOptions;\n  const dataV2Backup_universal_d_deleteBackup: typeof deleteBackup;\n  const dataV2Backup_universal_d_cancelBackup: typeof cancelBackup;\n  namespace dataV2Backup_universal_d {\n    export {\n      dataV2Backup_universal_d_GCBackup as GCBackup,\n      dataV2Backup_universal_d_CreateGCBackupRequest as CreateGCBackupRequest,\n      dataV2Backup_universal_d_Segment as Segment,\n      dataV2Backup_universal_d_CreateGCBackupResponse as CreateGCBackupResponse,\n      dataV2Backup_universal_d_GetGCBackupRequest as GetGCBackupRequest,\n      dataV2Backup_universal_d_GCBackupResponse as GCBackupResponse,\n      dataV2Backup_universal_d_GCBackupResponseRestorationStatus as GCBackupResponseRestorationStatus,\n      dataV2Backup_universal_d_GCBackupResponseStatus as GCBackupResponseStatus,\n      dataV2Backup_universal_d_GCBackupResponseRestoration as GCBackupResponseRestoration,\n      dataV2Backup_universal_d_FindGCBackupRequest as FindGCBackupRequest,\n      dataV2Backup_universal_d_FindGCBackupResponse as FindGCBackupResponse,\n      dataV2Backup_universal_d_RestoreGCBackupRequest as RestoreGCBackupRequest,\n      dataV2Backup_universal_d_RestoreGCBackupResponse as RestoreGCBackupResponse,\n      dataV2Backup_universal_d_CancelGCBackupRequest as CancelGCBackupRequest,\n      dataV2Backup_universal_d_CancelGCBackupResponse as CancelGCBackupResponse,\n      dataV2Backup_universal_d_CancelGCRestorationRequest as CancelGCRestorationRequest,\n      dataV2Backup_universal_d_CancelGCRestorationResponse as CancelGCRestorationResponse,\n      dataV2Backup_universal_d_DeleteExpiredBackupRecordsRequest as DeleteExpiredBackupRecordsRequest,\n      dataV2Backup_universal_d_DeleteExpiredBackupRecordsResponse as DeleteExpiredBackupRecordsResponse,\n      dataV2Backup_universal_d_Backup as Backup,\n      dataV2Backup_universal_d_Status as Status,\n      dataV2Backup_universal_d_Type as Type,\n      dataV2Backup_universal_d_Collection as Collection,\n      dataV2Backup_universal_d_BackupStateChanged as BackupStateChanged,\n      dataV2Backup_universal_d_RestorationStateChanged as RestorationStateChanged,\n      dataV2Backup_universal_d_Restoration as Restoration,\n      dataV2Backup_universal_d_RestorationStatus as RestorationStatus,\n      dataV2Backup_universal_d_RestorationCollection as RestorationCollection,\n      dataV2Backup_universal_d_RestoreDestination as RestoreDestination,\n      dataV2Backup_universal_d_CreateBackupRequest as CreateBackupRequest,\n      dataV2Backup_universal_d_CreateBackupResponse as CreateBackupResponse,\n      dataV2Backup_universal_d_ListBackupsRequest as ListBackupsRequest,\n      dataV2Backup_universal_d_Paging as Paging,\n      dataV2Backup_universal_d_ListBackupsResponse as ListBackupsResponse,\n      dataV2Backup_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      dataV2Backup_universal_d_RestoreBackupRequest as RestoreBackupRequest,\n      dataV2Backup_universal_d_RestoreBackupResponse as RestoreBackupResponse,\n      dataV2Backup_universal_d_RestorePartialBackupRequest as RestorePartialBackupRequest,\n      dataV2Backup_universal_d_ListRestorationsRequest as ListRestorationsRequest,\n      dataV2Backup_universal_d_ListRestorationsResponse as ListRestorationsResponse,\n      dataV2Backup_universal_d_DeleteBackupRequest as DeleteBackupRequest,\n      dataV2Backup_universal_d_DeleteBackupResponse as DeleteBackupResponse,\n      dataV2Backup_universal_d_CancelBackupRequest as CancelBackupRequest,\n      dataV2Backup_universal_d_CancelBackupResponse as CancelBackupResponse,\n      dataV2Backup_universal_d_MigrateNamespaceRequest as MigrateNamespaceRequest,\n      dataV2Backup_universal_d_MigrateNamespaceResponse as MigrateNamespaceResponse,\n      dataV2Backup_universal_d_DomainEvent as DomainEvent,\n      dataV2Backup_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      dataV2Backup_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      dataV2Backup_universal_d_RestoreInfo as RestoreInfo,\n      dataV2Backup_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      dataV2Backup_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      dataV2Backup_universal_d_ActionEvent as ActionEvent,\n      dataV2Backup_universal_d_MessageEnvelope as MessageEnvelope,\n      dataV2Backup_universal_d_IdentificationData as IdentificationData,\n      dataV2Backup_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      dataV2Backup_universal_d_WebhookIdentityType as WebhookIdentityType,\n      dataV2Backup_universal_d_DisableInstanceRequest as DisableInstanceRequest,\n      dataV2Backup_universal_d_Empty as Empty,\n      dataV2Backup_universal_d_EnableInstanceRequest as EnableInstanceRequest,\n      dataV2Backup_universal_d_DeleteAllRequest as DeleteAllRequest,\n      dataV2Backup_universal_d_GetBackupMetadataRequest as GetBackupMetadataRequest,\n      dataV2Backup_universal_d_GetBackupMetadataResponse as GetBackupMetadataResponse,\n      dataV2Backup_universal_d_RebuildRequest as RebuildRequest,\n      dataV2Backup_universal_d_MoveRequest as MoveRequest,\n      dataV2Backup_universal_d_RemoveDeletedRequest as RemoveDeletedRequest,\n      dataV2Backup_universal_d_FailRestorationRequest as FailRestorationRequest,\n      dataV2Backup_universal_d_TakeBackupRequest as TakeBackupRequest,\n      dataV2Backup_universal_d_UpdateBackupMetadataRequest as UpdateBackupMetadataRequest,\n      dataV2Backup_universal_d_createBackup as createBackup,\n      dataV2Backup_universal_d_CreateBackupOptions as CreateBackupOptions,\n      dataV2Backup_universal_d_listBackups as listBackups,\n      dataV2Backup_universal_d_ListBackupsOptions as ListBackupsOptions,\n      dataV2Backup_universal_d_restoreBackup as restoreBackup,\n      dataV2Backup_universal_d_restorePartialBackup as restorePartialBackup,\n      dataV2Backup_universal_d_RestorePartialBackupOptions as RestorePartialBackupOptions,\n      dataV2Backup_universal_d_listRestorations as listRestorations,\n      dataV2Backup_universal_d_ListRestorationsOptions as ListRestorationsOptions,\n      dataV2Backup_universal_d_deleteBackup as deleteBackup,\n      dataV2Backup_universal_d_cancelBackup as cancelBackup,\n    };\n  }\n  \n  export { dataV2Backup_universal_d as data };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-marketing.v2.d.ts",
      "content": "declare module \"wix-marketing.v2\" {\n  /**\n   * The `Coupon` object represents all information available for a coupon\n   * including its basic definition and runtime information.\n   */\n  interface Coupon {\n      /** Coupon ID. */\n      _id?: string;\n      /** Basic coupon info. */\n      specification?: Specification;\n      /** Time the coupon was created (UNIX Epoch time in milliseconds). */\n      dateCreated?: string;\n      /** Whether the coupon is expired. */\n      expired?: boolean;\n      /** How many times this coupon has been used. */\n      numberOfUsages?: number;\n      /** Coupon display information. */\n      displayData?: DisplayData;\n      /**\n       * ID of the app that created the coupon. Empty if created by the site owner.\n       * @readonly\n       */\n      appId?: string | null;\n  }\n  interface MediaItem {\n      /** Media item URL. */\n      url?: string;\n      /** Media item width. */\n      width?: number;\n      /** Media item height. */\n      height?: number;\n  }\n  /** Coupon information */\n  interface Specification extends SpecificationScopeOrMinSubtotalOneOf, SpecificationBehaviorOneOf {\n      /** Specifies the type of line items this coupon will apply to. See the [introduction](#introduction) for a table of currently supported coupon scopes. */\n      scope?: Scope;\n      /** The coupon is only applicable when the order subtotal is over this amount. */\n      minimumSubtotal?: number | null;\n      /** Discount as a fixed amount. */\n      moneyOffAmount?: number;\n      /** Discount as a percentage. */\n      percentOffRate?: number;\n      /**\n       * Free shipping.\n       *\n       * If `true`, the coupon applies to all items in all `namespaces`.\n       */\n      freeShipping?: boolean;\n      /** Fixed sale price. */\n      fixedPriceAmount?: number;\n      /**\n       * Receive free products when making a purchase.\n       *\n       * For example, purchase `x` number of products and receive `y` number of products for free.\n       */\n      buyXGetY?: BuyXGetY;\n      /** Name of coupon. */\n      name?: string | null;\n      /**\n       * Coupon code. Must be unique for all coupons on your site.\n       *\n       * Max: 20 characters\n       */\n      code?: string | null;\n      /** Coupon valid from this date and time. */\n      startTime?: string | null;\n      /** Coupon expires at this date and time. */\n      expirationTime?: string | null;\n      /**\n       * Maximum number of times the coupon can be used.\n       *\n       * >**Note:** Multiple purchases by the same customer or purchases by different customers are both counted toward `usageLimit`.\n       */\n      usageLimit?: number | null;\n      /** Maximum number of times the coupon can be used per customer. */\n      limitPerCustomer?: number | null;\n      /**\n       * Whether the coupon is limited to one item.\n       *\n       * If `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\n       * Coupons with a `bookings` `scope.namespace` are always limited to one item.\n       */\n      limitedToOneItem?: boolean | null;\n      /**\n       * Whether the coupon applies to subscription products.\n       *\n       * If set to `true`, the discount will apply to all billing cycles.\n       */\n      appliesToSubscriptions?: boolean | null;\n      /**\n       * Specifies the amount of discounted cycles for a subscription item.\n       *\n       * + Can only be set when `scope.namespace = pricingPlans`.\n       * + If `discountedCycleCount` is empty, the coupon applies to all available cycles.\n       * + `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\n       *\n       * Max: `999`\n       */\n      discountedCycleCount?: number | null;\n      /**\n       * Whether the coupon is currently [active](https://support.wix.com/en/article/wix-stores-activating-and-deactivating-coupons).\n       *\n       * Default: `true`\n       */\n      active?: boolean | null;\n      /** Coupon type. Read-only. */\n      type?: string;\n  }\n  /** @oneof */\n  interface SpecificationScopeOrMinSubtotalOneOf {\n      /** Specifies the type of line items this coupon will apply to. See the [introduction](#introduction) for a table of currently supported coupon scopes. */\n      scope?: Scope;\n      /** The coupon is only applicable when the order subtotal is over this amount. */\n      minimumSubtotal?: number | null;\n  }\n  /** @oneof */\n  interface SpecificationBehaviorOneOf {\n      /** Discount as a fixed amount. */\n      moneyOffAmount?: number;\n      /** Discount as a percentage. */\n      percentOffRate?: number;\n      /**\n       * Free shipping.\n       *\n       * If `true`, the coupon applies to all items in all `namespaces`.\n       */\n      freeShipping?: boolean;\n      /** Fixed sale price. */\n      fixedPriceAmount?: number;\n      /**\n       * Receive free products when making a purchase.\n       *\n       * For example, purchase `x` number of products and receive `y` number of products for free.\n       */\n      buyXGetY?: BuyXGetY;\n  }\n  interface Scope {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Group within a `namespace` for which the coupon is applicable. If no group is specified, the coupon applies to all items in the namespace. `group` is required in some cases. See the table in the [introduction](#introduction) for a list of currently supported groups for each namespace. */\n      group?: Group;\n  }\n  interface Group {\n      /** Name of coupon scope's group (e.g., product or collection in Wix Stores). See the [introduction](#introduction) for a table of currently supported coupon scopes. */\n      name?: string;\n      /** ID of the specific item in the group for which the coupon is applicable. If no `entityId` is specified, the coupon applies to all items in the group. In some cases when a group is specified, an `entityId` is required. See the [introduction](#introduction) for a list of currently supported entities for each namespace and group. */\n      entityId?: string | null;\n  }\n  /** Coupon type. */\n  interface BuyXGetY {\n      /** Number of purchased items required to receive free items. */\n      x?: number;\n      /** Number of items received for free if required number of items were purchased. */\n      y?: number;\n  }\n  interface DisplayData {\n      /** Coupon name to be displayed. */\n      name?: string;\n      /** Displayed media item information. */\n      mediaItem?: MediaItem;\n      /** Formatted price for display. */\n      formattedPrice?: string | null;\n  }\n  interface CreateCouponRequest {\n      /** Coupon to create. */\n      specification?: Specification;\n  }\n  interface CreateCouponResponse {\n      /** ID of the newly created coupon. */\n      _id?: string;\n  }\n  interface UpdateCouponRequest {\n      /** ID of the coupon to update. */\n      _id: string;\n      /**\n       * Field mask of fields to update (required - passing an empty `fieldMask` will return an error). Valid field masks are any of those in the `specification` field.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Coupon information to update. */\n      specification?: Specification;\n  }\n  interface UpdateCouponResponse {\n  }\n  interface GetCouponRequest {\n      /** ID of the coupon to retrieve. */\n      _id: string;\n  }\n  interface GetCouponResponse {\n      /** Retrieved coupon. */\n      coupon?: Coupon;\n  }\n  interface DeleteCouponRequest {\n      /** ID of the coupon to delete. */\n      _id: string;\n  }\n  interface DeleteCouponResponse {\n  }\n  interface QueryCouponsRequest {\n      query?: Query;\n  }\n  interface Query {\n      /** Optional pagination parameters */\n      paging?: Paging;\n      /** Filter string (e.g., when {\"expired\":\"true\"}, expired coupons will be returned). */\n      filter?: string | null;\n      /** Sort string. */\n      sort?: string | null;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Offset since the beginning of the collection. */\n      offset?: number | null;\n  }\n  interface QueryCouponsResponse {\n      /** Returned coupons. */\n      coupons?: Coupon[];\n      /** Total results. */\n      totalResults?: number | null;\n  }\n  interface CalculateRequest extends CalculateRequestCalculateByOneOf {\n      /** For calculating by coupon ID (usually for cart calculate phase). */\n      _id?: string;\n      /** For calculating by coupon code (usually for apply coupon phase - for validation). */\n      code: string;\n      /** Type of in-memory discount that can be applied when coupon doesn't exist. */\n      discount?: Specification;\n      /** Cart to which the coupon will be applied. */\n      cart?: Cart;\n      /** Currency symbol for error message and applied coupon. */\n      currencySymbol?: string;\n      /** Round the result to <precision> places after the decimal dot. Defaults to 2 if not provided. */\n      precision?: number | null;\n      /** Unique identifier of a buyer that applied the coupon. Used to limit coupon use per customer. */\n      uniqueUserIdentifier?: string | null;\n  }\n  /** @oneof */\n  interface CalculateRequestCalculateByOneOf {\n      /** For calculating by coupon ID (usually for cart calculate phase). */\n      _id?: string;\n      /** For calculating by coupon code (usually for apply coupon phase - for validation). */\n      code?: string;\n      /** Type of in-memory discount that can be applied when coupon doesn't exist. */\n      discount?: Specification;\n  }\n  /**\n   * Cart is passed to coupon service's apply function in order to\n   * apply the coupons calculation on it\n   */\n  interface Cart {\n      /** Array of cart line items. */\n      lineItems?: LineItem[];\n      /** Cart shipping information. */\n      shipping?: Shipping;\n      /** Summary of cart totals. */\n      totals?: Totals;\n  }\n  interface AppliedDiscount {\n      /** Discount amount, in case discount is applied per line. */\n      discountAmount?: number;\n      /** Line item price after applied discount. */\n      afterDiscountAmount?: number;\n  }\n  /** represents a single line in the cart */\n  interface LineItem {\n      /** Cart line item ID - represents index position (required). */\n      lineId?: string;\n      /** Item ID in the external system - will usually be a product ID. */\n      externalId?: string;\n      /** Line item amount (while quantity = 1). */\n      amount?: number;\n      /** Line item quantity. Must be greater than 0. */\n      quantity?: number;\n      /** Coupon scopes this line item applies to. */\n      scopes?: Scope[];\n      /** Applied discount on line item after calculation. */\n      appliedDiscount?: AppliedDiscount;\n      /** Whether the line item is of type subscription. */\n      subscription?: boolean;\n  }\n  /**\n   * represents the shipping line in the cart\n   * the coupons need to know about it because of the free shipping coupon\n   */\n  interface Shipping {\n      /** Shipping price before applying the coupon. */\n      amount?: number;\n      /** Discount on shipping price. */\n      appliedDiscount?: AppliedDiscount;\n  }\n  interface Totals {\n      /** Cart subtotal. */\n      subTotal?: number;\n      /** Sum of all discounts. */\n      discount?: number;\n      total?: number;\n  }\n  interface CalculateResponse {\n      /** Cart after applying the coupon. */\n      cart?: Cart;\n      /** Applied coupon information. */\n      appliedCoupon?: AppliedCoupon;\n      /** Errors, in case call failed. */\n      error?: Error[];\n  }\n  interface AppliedCoupon {\n      /** Name of the coupon applied. */\n      name?: string;\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Whether the coupon type entitles free shipping. */\n      isFreeShipping?: boolean;\n      /** Coupon type (e.g., moneyOffAmount, buyXGetY, percentOffRate). */\n      couponType?: string;\n      /** Discount value (e.g., $10, 10%). */\n      discountValue?: string;\n      /** Amount of discounted cycles for subscription item. None specifies for all cycles. */\n      discountedCycleCount?: number | null;\n  }\n  interface Error {\n      /** error code */\n      code?: string;\n      /** descriptive error message */\n      message?: string;\n  }\n  interface IncreaseUsageRequest {\n      /** Coupon ID. */\n      _id: string;\n      /** Unique ID of the entity that the coupon was applied to (e.g., orderId). */\n      usedBy?: string | null;\n      /** Unique identifier of a buyer that applied the coupon. Used to limit coupon use per customer. */\n      uniqueUserIdentifier?: string | null;\n      /** ID of app that applied the coupon (e.g. bookings appDefId). */\n      wixAppId?: string | null;\n  }\n  interface IncreaseUsageResponse {\n      /** Errors, in case call failed. */\n      error?: Error[];\n  }\n  interface CouponApplied {\n      /** Applied coupon information. */\n      coupon?: Coupon;\n      /**\n       * ID of Wix app that applied the coupon. Supported values:\n       * + Wix Stores - `1380b703-ce81-ff05-f115-39571d94dfcd`\n       * + Wix Bookings - `13d21c63-b5ec-5912-8397-c3a5ddb27a97`\n       * + Wix Events - `140603ad-af8d-84a5-2c80-a0f60cb47351`\n       */\n      wixAppId?: string;\n      /** ID of the entity that the coupon was applied to (orderId, bookingId, etc.). */\n      wixAppOrderId?: string;\n  }\n  interface HasCouponsRequest {\n  }\n  interface HasCouponsResponse {\n      /** True if site has ever had a coupon. */\n      hasCoupons?: boolean;\n  }\n  interface BulkDeleteCouponsRequest {\n      /** IDs of coupons to delete. */\n      ids?: string[];\n  }\n  interface BulkDeleteCouponsResponse {\n      /** Item metadata. */\n      results?: ItemMetadata[];\n      /** Bulk action metadata. */\n      deleteMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkCreateCouponsRequest {\n      /** List of coupon specifications to be created. */\n      specifications?: Specification[];\n      /**\n       * Whether to return full coupon entity in the response.\n       *\n       * Default: `false`\n       */\n      returnFullEntity?: boolean;\n  }\n  interface BulkCreateCouponsResponse {\n      /** Items created by bulk action. */\n      results?: BulkCreateCouponResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCreateCouponResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** New coupons. */\n      coupon?: Coupon;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new coupon.\n   *\n   * The `createCoupon()` function returns a Promise that resolves to the new coupon when it is created.\n   *\n   * When creating a coupon, the `specification` object must contain values for `name`, `code`, `startTime`, and either `scope` or `minimumSubtotal`. The exception is for a `freeShipping` coupon type, for which you cannot apply a `scope` and `minimumSubtotal` is optional.\n   *\n   * The coupon `scope` defines the items a coupon applies to. A coupon can apply to all items in a specific Wix application, a group within the application, or a single item within a group. See the [introduction](#introduction) for a table of currently supported coupon scopes.\n   *\n   * The `specification` object must also contain a value for exactly 1 of the following coupon properties. This defines the coupon type.\n   *\n   * + `\"moneyOffAmount\"`\n   * + `\"percentOffRate\"`\n   * + `\"freeShipping\"`\n   * + `\"fixedPriceAmount\"`\n   * + `\"buyXGetY\"`\n   * @param specification - Coupon to create.\n   * @public\n   * @requiredField specification\n   * @permissionId COUPONS.MANAGE\n   * @adminMethod\n   */\n  function createCoupon(specification: Specification): Promise<CreateCouponResponse>;\n  /**\n   * Updates a coupon.\n   *\n   * The `updateCoupon()` function returns a Promise that resolves when the coupon is updated.\n   *\n   * Only the properties passed in the `specification` object will be updated. All other properties will remain the same.\n   *\n   * To remove a value from the coupon, pass its corresponding property with a value of `null`.\n   *\n   * When updating a coupon, you cannot change the coupon's `type`. For example, if the coupon's `type` is `moneyOffAmount`, you cannot change it to `fixedPriceAmount`. You can update the coupon type's value. For example, you can change the value of `moneyOffAmount` from `5` to `10`.\n   *\n   * The coupon `scope` defines the items a coupon applies to. A coupon can apply to all items in a specific Wix application, a group within the application, or a single item within a group.\n   * See the [introduction](#introduction) for a table of currently supported coupon scopes.\n   * @param _id - ID of the coupon to update.\n   * @param specification - Coupon information to update.\n   * @param fieldMask - Field mask of fields to update (required - passing an empty `fieldMask` will return an error). Valid field masks are any of those in the `specification` field.\n   * @public\n   * @requiredField _id\n   * @requiredField fieldMask\n   * @requiredField specification\n   * @permissionId COUPONS.MANAGE\n   * @adminMethod\n   */\n  function updateCoupon(_id: string, specification: Specification, fieldMask: string[]): Promise<void>;\n  /**\n   * Retrieves a coupon by ID.\n   *\n   * The `getCoupon()` function returns a Promise that resolves when the specified coupon is retrieved.\n   * @param _id - ID of the coupon to retrieve.\n   * @public\n   * @requiredField _id\n   * @permissionId COUPONS.MANAGE\n   * @adminMethod\n   * @returns Retrieved coupon.\n   */\n  function getCoupon(_id: string): Promise<Coupon>;\n  /**\n   * Deletes a coupon.\n   *\n   * The `deleteCoupon()` function returns a Promise that resolves when the specified coupon is deleted.\n   * @param _id - ID of the coupon to delete.\n   * @public\n   * @requiredField _id\n   * @permissionId COUPONS.MANAGE\n   * @adminMethod\n   */\n  function deleteCoupon(_id: string): Promise<void>;\n  /**\n   * Retrieves a list of up to 100 coupons with pagination and filters.\n   *\n   * The `queryCoupons()` function returns a Promise that resolves when the coupons are retrieved.\n   * @public\n   * @requiredField query\n   * @permissionId COUPONS.MANAGE\n   * @adminMethod\n   */\n  function queryCoupons(query: Query): Promise<QueryCouponsResponse>;\n  /**\n   * Calculate a cart's total price after applying a coupon.\n   * Pass the Cart with line items and shipping, and the cart will be returned\n   * along with its coupon's calculations applied.\n   * @param code - For calculating by coupon code (usually for apply coupon phase - for validation).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField code\n   * @permissionId COUPONS.MANAGE\n   * @adminMethod\n   */\n  function calculateCart(code: string, options?: CalculateCartOptions): Promise<CalculateResponse>;\n  interface CalculateCartOptions extends CalculateRequestCalculateByOneOf {\n      /** For calculating by coupon ID (usually for cart calculate phase). */\n      _id?: string;\n      /** Type of in-memory discount that can be applied when coupon doesn't exist. */\n      discount?: Specification;\n      /** Cart to which the coupon will be applied. */\n      cart?: Cart;\n      /** Currency symbol for error message and applied coupon. */\n      currencySymbol?: string;\n      /** Round the result to <precision> places after the decimal dot. Defaults to 2 if not provided. */\n      precision?: number | null;\n      /** Unique identifier of a buyer that applied the coupon. Used to limit coupon use per customer. */\n      uniqueUserIdentifier?: string | null;\n  }\n  /**\n   * It is the responsibility of the payment process to call this endpoint after\n   * the coupon was used.\n   * @param _id - Coupon ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function increaseUsage(_id: string, options?: IncreaseUsageOptions): Promise<IncreaseUsageResponse>;\n  interface IncreaseUsageOptions {\n      /** Unique ID of the entity that the coupon was applied to (e.g., orderId). */\n      usedBy?: string | null;\n      /** Unique identifier of a buyer that applied the coupon. Used to limit coupon use per customer. */\n      uniqueUserIdentifier?: string | null;\n      /** ID of app that applied the coupon (e.g. bookings appDefId). */\n      wixAppId?: string | null;\n  }\n  /**\n   * Returns true if the site has ever had any coupons (even if they have all been deleted or deactivated).\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function hasCoupons(): Promise<HasCouponsResponse>;\n  /**\n   * Deletes the specified coupons.\n   *\n   * The `bulkDeleteCoupons()` function returns a Promise that resolves when the coupons are deleted.\n   * @param ids - IDs of coupons to delete.\n   * @public\n   * @requiredField ids\n   * @permissionId COUPONS.MANAGE\n   * @adminMethod\n   */\n  function bulkDeleteCoupons(ids: string[]): Promise<BulkDeleteCouponsResponse>;\n  /**\n   * Creates multiple coupons.\n   *\n   * The `bulkCreateCoupons()` function returns a Promise that resolves when the coupons are created.\n   * @param specifications - List of coupon specifications to be created.\n   * @public\n   * @requiredField specifications\n   * @permissionId COUPONS.MANAGE\n   * @adminMethod\n   */\n  function bulkCreateCoupons(specifications: Specification[], options?: BulkCreateCouponsOptions): Promise<BulkCreateCouponsResponse>;\n  interface BulkCreateCouponsOptions {\n      /**\n       * Whether to return full coupon entity in the response.\n       *\n       * Default: `false`\n       */\n      returnFullEntity?: boolean;\n  }\n  \n  type ecommerceCouponsV2Coupon_universal_d_Coupon = Coupon;\n  type ecommerceCouponsV2Coupon_universal_d_MediaItem = MediaItem;\n  type ecommerceCouponsV2Coupon_universal_d_Specification = Specification;\n  type ecommerceCouponsV2Coupon_universal_d_SpecificationScopeOrMinSubtotalOneOf = SpecificationScopeOrMinSubtotalOneOf;\n  type ecommerceCouponsV2Coupon_universal_d_SpecificationBehaviorOneOf = SpecificationBehaviorOneOf;\n  type ecommerceCouponsV2Coupon_universal_d_Scope = Scope;\n  type ecommerceCouponsV2Coupon_universal_d_Group = Group;\n  type ecommerceCouponsV2Coupon_universal_d_BuyXGetY = BuyXGetY;\n  type ecommerceCouponsV2Coupon_universal_d_DisplayData = DisplayData;\n  type ecommerceCouponsV2Coupon_universal_d_CreateCouponRequest = CreateCouponRequest;\n  type ecommerceCouponsV2Coupon_universal_d_CreateCouponResponse = CreateCouponResponse;\n  type ecommerceCouponsV2Coupon_universal_d_UpdateCouponRequest = UpdateCouponRequest;\n  type ecommerceCouponsV2Coupon_universal_d_UpdateCouponResponse = UpdateCouponResponse;\n  type ecommerceCouponsV2Coupon_universal_d_GetCouponRequest = GetCouponRequest;\n  type ecommerceCouponsV2Coupon_universal_d_GetCouponResponse = GetCouponResponse;\n  type ecommerceCouponsV2Coupon_universal_d_DeleteCouponRequest = DeleteCouponRequest;\n  type ecommerceCouponsV2Coupon_universal_d_DeleteCouponResponse = DeleteCouponResponse;\n  type ecommerceCouponsV2Coupon_universal_d_QueryCouponsRequest = QueryCouponsRequest;\n  type ecommerceCouponsV2Coupon_universal_d_Query = Query;\n  type ecommerceCouponsV2Coupon_universal_d_Paging = Paging;\n  type ecommerceCouponsV2Coupon_universal_d_QueryCouponsResponse = QueryCouponsResponse;\n  type ecommerceCouponsV2Coupon_universal_d_CalculateRequest = CalculateRequest;\n  type ecommerceCouponsV2Coupon_universal_d_CalculateRequestCalculateByOneOf = CalculateRequestCalculateByOneOf;\n  type ecommerceCouponsV2Coupon_universal_d_Cart = Cart;\n  type ecommerceCouponsV2Coupon_universal_d_AppliedDiscount = AppliedDiscount;\n  type ecommerceCouponsV2Coupon_universal_d_LineItem = LineItem;\n  type ecommerceCouponsV2Coupon_universal_d_Shipping = Shipping;\n  type ecommerceCouponsV2Coupon_universal_d_Totals = Totals;\n  type ecommerceCouponsV2Coupon_universal_d_CalculateResponse = CalculateResponse;\n  type ecommerceCouponsV2Coupon_universal_d_AppliedCoupon = AppliedCoupon;\n  type ecommerceCouponsV2Coupon_universal_d_Error = Error;\n  type ecommerceCouponsV2Coupon_universal_d_IncreaseUsageRequest = IncreaseUsageRequest;\n  type ecommerceCouponsV2Coupon_universal_d_IncreaseUsageResponse = IncreaseUsageResponse;\n  type ecommerceCouponsV2Coupon_universal_d_CouponApplied = CouponApplied;\n  type ecommerceCouponsV2Coupon_universal_d_HasCouponsRequest = HasCouponsRequest;\n  type ecommerceCouponsV2Coupon_universal_d_HasCouponsResponse = HasCouponsResponse;\n  type ecommerceCouponsV2Coupon_universal_d_BulkDeleteCouponsRequest = BulkDeleteCouponsRequest;\n  type ecommerceCouponsV2Coupon_universal_d_BulkDeleteCouponsResponse = BulkDeleteCouponsResponse;\n  type ecommerceCouponsV2Coupon_universal_d_ItemMetadata = ItemMetadata;\n  type ecommerceCouponsV2Coupon_universal_d_ApplicationError = ApplicationError;\n  type ecommerceCouponsV2Coupon_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsRequest = BulkCreateCouponsRequest;\n  type ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsResponse = BulkCreateCouponsResponse;\n  type ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponResult = BulkCreateCouponResult;\n  const ecommerceCouponsV2Coupon_universal_d_createCoupon: typeof createCoupon;\n  const ecommerceCouponsV2Coupon_universal_d_updateCoupon: typeof updateCoupon;\n  const ecommerceCouponsV2Coupon_universal_d_getCoupon: typeof getCoupon;\n  const ecommerceCouponsV2Coupon_universal_d_deleteCoupon: typeof deleteCoupon;\n  const ecommerceCouponsV2Coupon_universal_d_queryCoupons: typeof queryCoupons;\n  const ecommerceCouponsV2Coupon_universal_d_calculateCart: typeof calculateCart;\n  type ecommerceCouponsV2Coupon_universal_d_CalculateCartOptions = CalculateCartOptions;\n  const ecommerceCouponsV2Coupon_universal_d_increaseUsage: typeof increaseUsage;\n  type ecommerceCouponsV2Coupon_universal_d_IncreaseUsageOptions = IncreaseUsageOptions;\n  const ecommerceCouponsV2Coupon_universal_d_hasCoupons: typeof hasCoupons;\n  const ecommerceCouponsV2Coupon_universal_d_bulkDeleteCoupons: typeof bulkDeleteCoupons;\n  const ecommerceCouponsV2Coupon_universal_d_bulkCreateCoupons: typeof bulkCreateCoupons;\n  type ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsOptions = BulkCreateCouponsOptions;\n  namespace ecommerceCouponsV2Coupon_universal_d {\n    export {\n      ecommerceCouponsV2Coupon_universal_d_Coupon as Coupon,\n      ecommerceCouponsV2Coupon_universal_d_MediaItem as MediaItem,\n      ecommerceCouponsV2Coupon_universal_d_Specification as Specification,\n      ecommerceCouponsV2Coupon_universal_d_SpecificationScopeOrMinSubtotalOneOf as SpecificationScopeOrMinSubtotalOneOf,\n      ecommerceCouponsV2Coupon_universal_d_SpecificationBehaviorOneOf as SpecificationBehaviorOneOf,\n      ecommerceCouponsV2Coupon_universal_d_Scope as Scope,\n      ecommerceCouponsV2Coupon_universal_d_Group as Group,\n      ecommerceCouponsV2Coupon_universal_d_BuyXGetY as BuyXGetY,\n      ecommerceCouponsV2Coupon_universal_d_DisplayData as DisplayData,\n      ecommerceCouponsV2Coupon_universal_d_CreateCouponRequest as CreateCouponRequest,\n      ecommerceCouponsV2Coupon_universal_d_CreateCouponResponse as CreateCouponResponse,\n      ecommerceCouponsV2Coupon_universal_d_UpdateCouponRequest as UpdateCouponRequest,\n      ecommerceCouponsV2Coupon_universal_d_UpdateCouponResponse as UpdateCouponResponse,\n      ecommerceCouponsV2Coupon_universal_d_GetCouponRequest as GetCouponRequest,\n      ecommerceCouponsV2Coupon_universal_d_GetCouponResponse as GetCouponResponse,\n      ecommerceCouponsV2Coupon_universal_d_DeleteCouponRequest as DeleteCouponRequest,\n      ecommerceCouponsV2Coupon_universal_d_DeleteCouponResponse as DeleteCouponResponse,\n      ecommerceCouponsV2Coupon_universal_d_QueryCouponsRequest as QueryCouponsRequest,\n      ecommerceCouponsV2Coupon_universal_d_Query as Query,\n      ecommerceCouponsV2Coupon_universal_d_Paging as Paging,\n      ecommerceCouponsV2Coupon_universal_d_QueryCouponsResponse as QueryCouponsResponse,\n      ecommerceCouponsV2Coupon_universal_d_CalculateRequest as CalculateRequest,\n      ecommerceCouponsV2Coupon_universal_d_CalculateRequestCalculateByOneOf as CalculateRequestCalculateByOneOf,\n      ecommerceCouponsV2Coupon_universal_d_Cart as Cart,\n      ecommerceCouponsV2Coupon_universal_d_AppliedDiscount as AppliedDiscount,\n      ecommerceCouponsV2Coupon_universal_d_LineItem as LineItem,\n      ecommerceCouponsV2Coupon_universal_d_Shipping as Shipping,\n      ecommerceCouponsV2Coupon_universal_d_Totals as Totals,\n      ecommerceCouponsV2Coupon_universal_d_CalculateResponse as CalculateResponse,\n      ecommerceCouponsV2Coupon_universal_d_AppliedCoupon as AppliedCoupon,\n      ecommerceCouponsV2Coupon_universal_d_Error as Error,\n      ecommerceCouponsV2Coupon_universal_d_IncreaseUsageRequest as IncreaseUsageRequest,\n      ecommerceCouponsV2Coupon_universal_d_IncreaseUsageResponse as IncreaseUsageResponse,\n      ecommerceCouponsV2Coupon_universal_d_CouponApplied as CouponApplied,\n      ecommerceCouponsV2Coupon_universal_d_HasCouponsRequest as HasCouponsRequest,\n      ecommerceCouponsV2Coupon_universal_d_HasCouponsResponse as HasCouponsResponse,\n      ecommerceCouponsV2Coupon_universal_d_BulkDeleteCouponsRequest as BulkDeleteCouponsRequest,\n      ecommerceCouponsV2Coupon_universal_d_BulkDeleteCouponsResponse as BulkDeleteCouponsResponse,\n      ecommerceCouponsV2Coupon_universal_d_ItemMetadata as ItemMetadata,\n      ecommerceCouponsV2Coupon_universal_d_ApplicationError as ApplicationError,\n      ecommerceCouponsV2Coupon_universal_d_BulkActionMetadata as BulkActionMetadata,\n      ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsRequest as BulkCreateCouponsRequest,\n      ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsResponse as BulkCreateCouponsResponse,\n      ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponResult as BulkCreateCouponResult,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      ecommerceCouponsV2Coupon_universal_d_createCoupon as createCoupon,\n      ecommerceCouponsV2Coupon_universal_d_updateCoupon as updateCoupon,\n      ecommerceCouponsV2Coupon_universal_d_getCoupon as getCoupon,\n      ecommerceCouponsV2Coupon_universal_d_deleteCoupon as deleteCoupon,\n      ecommerceCouponsV2Coupon_universal_d_queryCoupons as queryCoupons,\n      ecommerceCouponsV2Coupon_universal_d_calculateCart as calculateCart,\n      ecommerceCouponsV2Coupon_universal_d_CalculateCartOptions as CalculateCartOptions,\n      ecommerceCouponsV2Coupon_universal_d_increaseUsage as increaseUsage,\n      ecommerceCouponsV2Coupon_universal_d_IncreaseUsageOptions as IncreaseUsageOptions,\n      ecommerceCouponsV2Coupon_universal_d_hasCoupons as hasCoupons,\n      ecommerceCouponsV2Coupon_universal_d_bulkDeleteCoupons as bulkDeleteCoupons,\n      ecommerceCouponsV2Coupon_universal_d_bulkCreateCoupons as bulkCreateCoupons,\n      ecommerceCouponsV2Coupon_universal_d_BulkCreateCouponsOptions as BulkCreateCouponsOptions,\n    };\n  }\n  \n  interface MarketingConsent {\n      /**\n       * Marketing consent ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Marketing consent communication details. */\n      details?: MarketingConsentDetails;\n      /**\n       * Marketing consent state.\n       *\n       * Default: `UNKNOWN_STATE`.\n       */\n      state?: MarketingConsentState;\n      /**\n       * Date and time the marketing consent was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the marketing consent was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Last confirmation activity of the marketing consent. */\n      lastConfirmationActivity?: LastConfirmationActivity;\n      /** Last revoke activity of the marketing consent. */\n      lastRevokeActivity?: LastRevokeActivity;\n      /** Additional fields. */\n      extendedFields?: ExtendedFields;\n  }\n  interface MarketingConsentDetails extends MarketingConsentDetailsIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** The communication channel of the marketing consent. */\n      type?: MarketingConsentDetailsIdentifierType;\n  }\n  /** @oneof */\n  interface MarketingConsentDetailsIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n  }\n  enum MarketingConsentDetailsIdentifierType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\"\n  }\n  enum MarketingConsentState {\n      /** State of the marketing consent is unknown. */\n      UNKNOWN_STATE = \"UNKNOWN_STATE\",\n      /** The site visitor never confirmed to receive marketing consents. */\n      NEVER_CONFIRMED = \"NEVER_CONFIRMED\",\n      /** The marketing consent has been removed, for example, when a site visitor unsubscribes from a newsletter. */\n      REVOKED = \"REVOKED\",\n      /** The marketing consent is pending confirmation. Relevant only for `{\"optInLevel\": \"DOUBLE_CONFIRMATION\"}`. */\n      PENDING = \"PENDING\",\n      /** The site visitor has confirmed their marketing consent. */\n      CONFIRMED = \"CONFIRMED\"\n  }\n  interface LastConfirmationActivity {\n      /** Source of the given consent (how the site visitor signed up). */\n      source?: Source;\n      /** Consent description. */\n      description?: string | null;\n      /** Date and time the consent was updated. */\n      _updatedDate?: Date | null;\n      /** Consent opt in level, either single or double confirmation. */\n      optInLevel?: OptInLevel;\n  }\n  enum Source {\n      UNKNOWN_SOURCE = \"UNKNOWN_SOURCE\",\n      IN_PERSON = \"IN_PERSON\",\n      FORM = \"FORM\",\n      LINK_CONFIRMATION = \"LINK_CONFIRMATION\",\n      EMAIL_SERVICE = \"EMAIL_SERVICE\",\n      WIX_USERS = \"WIX_USERS\",\n      OTHER = \"OTHER\"\n  }\n  enum OptInLevel {\n      UNKNOWN_OPT_IN_LEVEL = \"UNKNOWN_OPT_IN_LEVEL\",\n      SINGLE_CONFIRMATION = \"SINGLE_CONFIRMATION\",\n      DOUBLE_CONFIRMATION = \"DOUBLE_CONFIRMATION\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface LastRevokeActivity {\n      /** Source of the given revoke (how the visitor signed up). */\n      source?: LastRevokeActivitySource;\n      /** Details about the revoke, if relevant. */\n      description?: string | null;\n      /** Date and time the consent was updated. */\n      _updatedDate?: Date | null;\n  }\n  enum LastRevokeActivitySource {\n      UNKNOWN_SOURCE = \"UNKNOWN_SOURCE\",\n      IN_PERSON = \"IN_PERSON\",\n      FORM = \"FORM\",\n      REVOKE_LINK = \"REVOKE_LINK\",\n      OTHER = \"OTHER\"\n  }\n  interface GetMarketingConsentRequest {\n      /** Marketing consent ID. */\n      marketingConsentId: string;\n  }\n  interface GetMarketingConsentResponse {\n      /** The requested marketing consent. */\n      marketingConsent?: MarketingConsent;\n  }\n  interface GetMarketingConsentByIdentifierRequest extends GetMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** The communication channel of the marketing consent. */\n      type: MarketingConsentDetailsIdentifierType;\n      /** Language of the page */\n      linkLanguage?: string | null;\n  }\n  /** @oneof */\n  interface GetMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n  }\n  interface GetMarketingConsentByIdentifierResponse {\n      /** The requested marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Details about whether the subject of the marketing consent is eligible to receive marketing messages. */\n      communicationEligibility?: CommunicationEligibility;\n  }\n  interface CommunicationEligibility {\n      /** Whether the recipient of the marketing consent is eligible to receive marketing messages. For example, if a visitor cancels their marketing consent, `CommunicationEligibility.granted` is `false`. Note that this only serves as a signal for your app to decide whether or not it should send marketing messages to the recipient's email address or phone number. */\n      granted?: boolean;\n      /** Cancellation link. */\n      revokeConfirmationLink?: string | null;\n      /** The reason the recipient of the marketing consent isn't eligible to receive marketing messages, for example, if the visitor unsubscribed from a newsletter. */\n      reason?: string | null;\n  }\n  interface GetConsistentMarketingConsentByIdentifierRequest extends GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** The communication channel of the marketing consent. */\n      type: MarketingConsentDetailsIdentifierType;\n      /** Language of the page */\n      linkLanguage?: string | null;\n  }\n  /** @oneof */\n  interface GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n  }\n  interface GetConsistentMarketingConsentByIdentifierResponse {\n      /** The requested marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Details about whether the recipient of the marketing consent is eligible to receive marketing messages. */\n      communicationEligibility?: CommunicationEligibility;\n  }\n  interface CreateMarketingConsentRequest {\n      /** Marketing consent to create. */\n      marketingConsent?: MarketingConsent;\n  }\n  interface CreateMarketingConsentResponse {\n      /** Newly created marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Marketing consent confirmation link. */\n      link?: Link;\n  }\n  interface Link {\n      /** Link type. */\n      type?: LinkType;\n      /** The link's URL. */\n      url?: string;\n  }\n  enum LinkType {\n      UNKNOWN_LINK_TYPE = \"UNKNOWN_LINK_TYPE\",\n      CONFIRMATION = \"CONFIRMATION\",\n      REVOKE_CONFIRMATION = \"REVOKE_CONFIRMATION\"\n  }\n  interface UpdateMarketingConsentRequest {\n      /** Marketing consent to update. */\n      marketingConsent?: MarketingConsent;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask: string[];\n  }\n  interface UpdateMarketingConsentResponse {\n      /** Updated marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Marketing consent confirmation or cancelation link. */\n      link?: Link;\n  }\n  interface DeleteMarketingConsentRequest {\n      /** ID of the marketing consent to delete. */\n      marketingConsentId: string;\n  }\n  interface DeleteMarketingConsentResponse {\n  }\n  interface RemoveMarketingConsentRequest {\n      /** Marketing consent communication details. */\n      details: MarketingConsentDetails;\n      /** Information about the last revoke. */\n      lastRevokeActivity?: LastRevokeActivity;\n  }\n  interface RemoveMarketingConsentResponse {\n      /** The canceled marketing consent. */\n      marketingConsent?: MarketingConsent;\n  }\n  interface CreateMarketingConsentByTokenRequest {\n      /** Encrypted token with essential information */\n      token: string;\n  }\n  interface CreateMarketingConsentByTokenResponse {\n      /** The subscribed MarketingConsent */\n      marketingConsent?: MarketingConsent;\n  }\n  interface RemoveMarketingConsentByTokenRequest {\n      /** Encrypted token with essential information */\n      token: string;\n  }\n  interface RemoveMarketingConsentByTokenResponse {\n      /** The subscribed MarketingConsent */\n      marketingConsent?: MarketingConsent;\n  }\n  interface QueryMarketingConsentRequest {\n      /** Query options. */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryMarketingConsentResponse {\n      /** List of marketing consents. */\n      marketingConsent?: MarketingConsent[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpsertMarketingConsentRequest {\n      /** Marketing consent to create or update. */\n      marketingConsent?: MarketingConsent;\n  }\n  interface UpsertMarketingConsentResponse {\n      /** Newly created or updated marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Marketing consent confirmation or cancelation link. */\n      link?: Link;\n  }\n  interface BulkUpsertMarketingConsentRequest {\n      /** List of marketing consent information to update or create. */\n      info?: MarketingConsent[];\n  }\n  interface BulkUpsertMarketingConsentResponse {\n      /** List of created or updated marketing consents. */\n      results?: BulkUpsertMarketingConsentResult[];\n      /** Numbers of successful and failed actions. */\n      metadata?: Metadata;\n  }\n  interface BulkUpsertMarketingConsentResult {\n      /** Position of the newly created or updated marketing consent in the array. */\n      originalIndex?: number;\n      /** Newly created or updated marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Information about the error. Only returns if the action fails. */\n      error?: string | null;\n      /** Marketing consent confirmation or cancelation link. */\n      link?: Link;\n  }\n  interface Metadata {\n      /** Number of successful actions. */\n      totalSuccess?: number;\n      /** Number of failed actions. */\n      totalFailure?: number;\n  }\n  interface GenerateLinkRequest extends GenerateLinkRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** The communication channel of the marketing consent. */\n      type: MarketingConsentDetailsIdentifierType;\n      linkType: LinkType;\n      /** Language of the page */\n      language?: string | null;\n      /** Arbitrary parameters for closing-the-loop. */\n      metadata?: Record<string, string>;\n  }\n  /** @oneof */\n  interface GenerateLinkRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n  }\n  interface GenerateLinkResponse {\n      /** confirmation or revoke link */\n      link?: Link;\n  }\n  interface Empty {\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a marketing consent.\n   * @param marketingConsentId - Marketing consent ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField marketingConsentId\n   * @permissionId MARKETING.CONSENT_READ\n   * @adminMethod\n   * @returns The requested marketing consent.\n   */\n  function getMarketingConsent(marketingConsentId: string): Promise<MarketingConsent>;\n  /**\n   * Retrieves a marketing consent by its details.\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   *\n   * >**Note:** Due to the ongoing development of our new documentation portal, the query parameter is not displaying as expected. Use the `details` object located in the marketing consent object in the request. You can also see the code example for reference.\n   * @param type - The communication channel of the marketing consent.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField type\n   * @param options - Field options. The relevant `email` or `phone` **must** be passed.\n   * @permissionId MARKETING.CONSENT_READ\n   * @adminMethod\n   */\n  function getMarketingConsentByIdentifier(type: MarketingConsentDetailsIdentifierType, options?: GetMarketingConsentByIdentifierOptions): Promise<GetMarketingConsentByIdentifierResponse>;\n  interface GetMarketingConsentByIdentifierOptions extends GetMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** Language of the page */\n      linkLanguage?: string | null;\n  }\n  /** @param type - The communication channel of the marketing consent.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField type\n   * @permissionId MARKETING.CONSENT_READ_CONSISTENT\n   * @adminMethod\n   */\n  function getConsistentMarketingConsentByIdentifier(type: MarketingConsentDetailsIdentifierType, options?: GetConsistentMarketingConsentByIdentifierOptions): Promise<GetConsistentMarketingConsentByIdentifierResponse>;\n  interface GetConsistentMarketingConsentByIdentifierOptions extends GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** Language of the page */\n      linkLanguage?: string | null;\n  }\n  /**\n   * Creates a confirmed marketing consent with a `state` of `CONFIRMED`.\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   * - `lastConfirmationActivity`.\n   *\n   * To create a marketing consent with a different state, use Upsert Marketing Consent, or Bulk Upsert Marketing Consent.\n   * @param marketingConsent - Marketing consent to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField marketingConsent\n   * @requiredField marketingConsent.details\n   * @requiredField marketingConsent.lastConfirmationActivity\n   * @permissionId MARKETING.CONSENT_UPSERT\n   * @adminMethod\n   * @returns Newly created marketing consent.\n   */\n  function createMarketingConsent(marketingConsent: MarketingConsent): Promise<MarketingConsent>;\n  /**\n   * Updates a marketing consent.\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   * - `state`.\n   *\n   * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n   * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n   *\n   * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n   * @param _id - Marketing consent ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.marketingConsent.details\n   * @param options - Field options. The following fields **must** be passed: `details.type`, the relevant `email` OR `phone`, and `state`.\n   * @permissionId MARKETING.CONSENT_UPDATE\n   * @adminMethod\n   * @returns Updated marketing consent.\n   */\n  function updateMarketingConsent(_id: string | null, options?: UpdateMarketingConsentOptions): Promise<MarketingConsent>;\n  interface UpdateMarketingConsentOptions {\n      marketingConsent: {\n          /**\n           * Marketing consent ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /**\n           * Revision number.\n           * @readonly\n           */\n          revision?: string | null;\n          /** Marketing consent communication details. */\n          details?: MarketingConsentDetails;\n          /**\n           * Marketing consent state.\n           *\n           * Default: `UNKNOWN_STATE`.\n           */\n          state?: MarketingConsentState;\n          /**\n           * Date and time the marketing consent was created.\n           * @readonly\n           */\n          _createdDate?: Date | null;\n          /**\n           * Date and time the marketing consent was updated.\n           * @readonly\n           */\n          _updatedDate?: Date | null;\n          /** Last confirmation activity of the marketing consent. */\n          lastConfirmationActivity?: LastConfirmationActivity;\n          /** Last revoke activity of the marketing consent. */\n          lastRevokeActivity?: LastRevokeActivity;\n          /** Additional fields. */\n          extendedFields?: ExtendedFields;\n      };\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask: string[];\n  }\n  /**\n   * Deletes a marketing consent.\n   * @param marketingConsentId - ID of the marketing consent to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField marketingConsentId\n   * @permissionId MARKETING.CONSENT_DELETE\n   * @adminMethod\n   */\n  function deleteMarketingConsent(marketingConsentId: string): Promise<void>;\n  /**\n   * Removes a marketing consent. The consent is cancelled, and the `state` is updated to `REVOKED`.\n   * The marketing consent entity still exists, but the recipient is no longer eligible to receive commmunication.\n   * To delete a marketing consent entirely, use Delete Marketing Consent.\n   *\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   * - `info.lastRevokeActivity`.\n   * @param details - Marketing consent communication details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField details\n   * @requiredField details.type\n   * @param options - Field options. The `lastRevokeActivity` field **must** be passed.\n   * @permissionId MARKETING.CONSENT_UPSERT\n   * @adminMethod\n   */\n  function removeMarketingConsent(details: MarketingConsentDetails, options?: RemoveMarketingConsentOptions): Promise<RemoveMarketingConsentResponse>;\n  interface RemoveMarketingConsentOptions {\n      /** Information about the last revoke. */\n      lastRevokeActivity?: LastRevokeActivity;\n  }\n  /**\n   * CreateMarketingConsent the specified marketing_consent in the token\n   * @param token - Encrypted token with essential information\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField token\n   * @permissionId MARKETING.CONSENT_UPSERT\n   * @adminMethod\n   */\n  function createMarketingConsentByToken(token: string): Promise<CreateMarketingConsentByTokenResponse>;\n  /**\n   * RemoveMarketingConsent the specified marketing_consent in the token\n   * @param token - Encrypted token with essential information\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField token\n   * @permissionId MARKETING.CONSENT_UPSERT\n   * @adminMethod\n   */\n  function removeMarketingConsentByToken(token: string): Promise<RemoveMarketingConsentByTokenResponse>;\n  /**\n   * Retrieves a list of marketing consents, given the provided paging, filtering, and sorting. Up to 100 marketing consents can be returned per request.\n   *\n   * The default `sort` is `id` in `ASC` order. For a detailed list of supported operations, see filtering and sorting for marketing consent properties. To learn how to query marketing consents, see API Query Language.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MARKETING.CONSENT_READ\n   * @adminMethod\n   */\n  function queryMarketingConsent(): MarketingConsentQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface MarketingConsentQueryResult extends QueryCursorResult {\n      items: MarketingConsent[];\n      query: MarketingConsentQueryBuilder;\n      next: () => Promise<MarketingConsentQueryResult>;\n      prev: () => Promise<MarketingConsentQueryResult>;\n  }\n  interface MarketingConsentQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'details.email' | 'details.phone' | 'state', value: any) => MarketingConsentQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => MarketingConsentQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => MarketingConsentQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<MarketingConsentQueryResult>;\n  }\n  /**\n   * Creates or updates a marketing consent.\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   * - `state`.\n   *\n   * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n   * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n   *\n   * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n   * @param marketingConsent - Marketing consent to create or update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField marketingConsent\n   * @requiredField marketingConsent.details\n   * @requiredField marketingConsent.details.type\n   * @permissionId MARKETING.CONSENT_UPSERT\n   * @adminMethod\n   */\n  function upsertMarketingConsent(marketingConsent: MarketingConsent): Promise<UpsertMarketingConsentResponse>;\n  /**\n   * Creates or updates multiple marketing consents.\n   * Required fields:\n   * - `details.type`.\n   * - `details.email` OR `details.phone`.\n   * - `state`.\n   *\n   * When a marketing consent's `state` is `PENDING` or `CONFIRMED`, the `info.lastConfirmationActivity` field is required.\n   * When a marketing consent's `state` is `REVOKED`, the `info.lastRevokeActivity` field is required.\n   *\n   * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n   * @param info - List of marketing consent information to update or create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField info\n   * @requiredField info.details\n   * @permissionId MARKETING.CONSENT_UPSERT\n   * @adminMethod\n   */\n  function bulkUpsertMarketingConsent(info: MarketingConsent[]): Promise<BulkUpsertMarketingConsentResponse>;\n  /**\n   * Creates an unsubscribe link to be shared with the relevant recipient.\n   *\n   * If someone clicks the **Unsubscribe** button on the confirmation page,\n   * the recipient's `subscriptionStatus` is changed to `UNSUBSCRIBED`.\n   * @param type - The communication channel of the marketing consent.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.linkType\n   * @requiredField type\n   * @permissionId MARKETING.CONSENT_READ\n   * @adminMethod\n   */\n  function generateLink(type: MarketingConsentDetailsIdentifierType, options?: GenerateLinkOptions): Promise<GenerateLinkResponse>;\n  interface GenerateLinkOptions extends GenerateLinkRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      linkType: LinkType;\n      /** Language of the page */\n      language?: string | null;\n      /** Arbitrary parameters for closing-the-loop. */\n      metadata?: Record<string, string>;\n  }\n  \n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsent = MarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetails = MarketingConsentDetails;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetailsIdentifierOneOf = MarketingConsentDetailsIdentifierOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetailsIdentifierType = MarketingConsentDetailsIdentifierType;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetailsIdentifierType: typeof MarketingConsentDetailsIdentifierType;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentState = MarketingConsentState;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentState: typeof MarketingConsentState;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_LastConfirmationActivity = LastConfirmationActivity;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Source = Source;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_Source: typeof Source;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_OptInLevel = OptInLevel;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_OptInLevel: typeof OptInLevel;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_ExtendedFields = ExtendedFields;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_LastRevokeActivity = LastRevokeActivity;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_LastRevokeActivitySource = LastRevokeActivitySource;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_LastRevokeActivitySource: typeof LastRevokeActivitySource;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentRequest = GetMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentResponse = GetMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierRequest = GetMarketingConsentByIdentifierRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierRequestIdentifierOneOf = GetMarketingConsentByIdentifierRequestIdentifierOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierResponse = GetMarketingConsentByIdentifierResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CommunicationEligibility = CommunicationEligibility;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierRequest = GetConsistentMarketingConsentByIdentifierRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf = GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierResponse = GetConsistentMarketingConsentByIdentifierResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentRequest = CreateMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentResponse = CreateMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Link = Link;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_LinkType = LinkType;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_LinkType: typeof LinkType;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentRequest = UpdateMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentResponse = UpdateMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_DeleteMarketingConsentRequest = DeleteMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_DeleteMarketingConsentResponse = DeleteMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentRequest = RemoveMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentResponse = RemoveMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentByTokenRequest = CreateMarketingConsentByTokenRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentByTokenResponse = CreateMarketingConsentByTokenResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentByTokenRequest = RemoveMarketingConsentByTokenRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentByTokenResponse = RemoveMarketingConsentByTokenResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_QueryMarketingConsentRequest = QueryMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CursorQuery = CursorQuery;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Sorting = Sorting;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_SortOrder = SortOrder;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_SortOrder: typeof SortOrder;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CursorPaging = CursorPaging;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_QueryMarketingConsentResponse = QueryMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Cursors = Cursors;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpsertMarketingConsentRequest = UpsertMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpsertMarketingConsentResponse = UpsertMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentRequest = BulkUpsertMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentResponse = BulkUpsertMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentResult = BulkUpsertMarketingConsentResult;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Metadata = Metadata;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkRequest = GenerateLinkRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkRequestIdentifierOneOf = GenerateLinkRequestIdentifierOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkResponse = GenerateLinkResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Empty = Empty;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_getMarketingConsent: typeof getMarketingConsent;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_getMarketingConsentByIdentifier: typeof getMarketingConsentByIdentifier;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierOptions = GetMarketingConsentByIdentifierOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_getConsistentMarketingConsentByIdentifier: typeof getConsistentMarketingConsentByIdentifier;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierOptions = GetConsistentMarketingConsentByIdentifierOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_createMarketingConsent: typeof createMarketingConsent;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_updateMarketingConsent: typeof updateMarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentOptions = UpdateMarketingConsentOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_deleteMarketingConsent: typeof deleteMarketingConsent;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_removeMarketingConsent: typeof removeMarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentOptions = RemoveMarketingConsentOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_createMarketingConsentByToken: typeof createMarketingConsentByToken;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_removeMarketingConsentByToken: typeof removeMarketingConsentByToken;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_queryMarketingConsent: typeof queryMarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentQueryResult = MarketingConsentQueryResult;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentQueryBuilder = MarketingConsentQueryBuilder;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_upsertMarketingConsent: typeof upsertMarketingConsent;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_bulkUpsertMarketingConsent: typeof bulkUpsertMarketingConsent;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_generateLink: typeof generateLink;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkOptions = GenerateLinkOptions;\n  namespace marketingMarketingConsentV1MarketingConsent_universal_d {\n    export {\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsent as MarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetails as MarketingConsentDetails,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetailsIdentifierOneOf as MarketingConsentDetailsIdentifierOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetailsIdentifierType as MarketingConsentDetailsIdentifierType,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentState as MarketingConsentState,\n      marketingMarketingConsentV1MarketingConsent_universal_d_LastConfirmationActivity as LastConfirmationActivity,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Source as Source,\n      marketingMarketingConsentV1MarketingConsent_universal_d_OptInLevel as OptInLevel,\n      marketingMarketingConsentV1MarketingConsent_universal_d_ExtendedFields as ExtendedFields,\n      marketingMarketingConsentV1MarketingConsent_universal_d_LastRevokeActivity as LastRevokeActivity,\n      marketingMarketingConsentV1MarketingConsent_universal_d_LastRevokeActivitySource as LastRevokeActivitySource,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentRequest as GetMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentResponse as GetMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierRequest as GetMarketingConsentByIdentifierRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierRequestIdentifierOneOf as GetMarketingConsentByIdentifierRequestIdentifierOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierResponse as GetMarketingConsentByIdentifierResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CommunicationEligibility as CommunicationEligibility,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierRequest as GetConsistentMarketingConsentByIdentifierRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf as GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierResponse as GetConsistentMarketingConsentByIdentifierResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentRequest as CreateMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentResponse as CreateMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Link as Link,\n      marketingMarketingConsentV1MarketingConsent_universal_d_LinkType as LinkType,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentRequest as UpdateMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentResponse as UpdateMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_DeleteMarketingConsentRequest as DeleteMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_DeleteMarketingConsentResponse as DeleteMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentRequest as RemoveMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentResponse as RemoveMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentByTokenRequest as CreateMarketingConsentByTokenRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentByTokenResponse as CreateMarketingConsentByTokenResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentByTokenRequest as RemoveMarketingConsentByTokenRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentByTokenResponse as RemoveMarketingConsentByTokenResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_QueryMarketingConsentRequest as QueryMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CursorQuery as CursorQuery,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Sorting as Sorting,\n      marketingMarketingConsentV1MarketingConsent_universal_d_SortOrder as SortOrder,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CursorPaging as CursorPaging,\n      marketingMarketingConsentV1MarketingConsent_universal_d_QueryMarketingConsentResponse as QueryMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Cursors as Cursors,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpsertMarketingConsentRequest as UpsertMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpsertMarketingConsentResponse as UpsertMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentRequest as BulkUpsertMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentResponse as BulkUpsertMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentResult as BulkUpsertMarketingConsentResult,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Metadata as Metadata,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkRequest as GenerateLinkRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkRequestIdentifierOneOf as GenerateLinkRequestIdentifierOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkResponse as GenerateLinkResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Empty as Empty,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      marketingMarketingConsentV1MarketingConsent_universal_d_getMarketingConsent as getMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_getMarketingConsentByIdentifier as getMarketingConsentByIdentifier,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierOptions as GetMarketingConsentByIdentifierOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_getConsistentMarketingConsentByIdentifier as getConsistentMarketingConsentByIdentifier,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierOptions as GetConsistentMarketingConsentByIdentifierOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_createMarketingConsent as createMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_updateMarketingConsent as updateMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentOptions as UpdateMarketingConsentOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_deleteMarketingConsent as deleteMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_removeMarketingConsent as removeMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentOptions as RemoveMarketingConsentOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_createMarketingConsentByToken as createMarketingConsentByToken,\n      marketingMarketingConsentV1MarketingConsent_universal_d_removeMarketingConsentByToken as removeMarketingConsentByToken,\n      marketingMarketingConsentV1MarketingConsent_universal_d_queryMarketingConsent as queryMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentQueryResult as MarketingConsentQueryResult,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentQueryBuilder as MarketingConsentQueryBuilder,\n      marketingMarketingConsentV1MarketingConsent_universal_d_upsertMarketingConsent as upsertMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_bulkUpsertMarketingConsent as bulkUpsertMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_generateLink as generateLink,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkOptions as GenerateLinkOptions,\n    };\n  }\n  \n  interface AdsTxt {\n      /** Content of Ads.txt. */\n      content?: string;\n      /** Whether the current Ads.txt file is Wix's default. */\n      default?: boolean;\n      /**\n       * Subdomain of the Ads.txt file. For example, `www`, `es`, or `fr`.\n       *\n       * Default: `www`\n       */\n      subdomain?: string;\n      /**\n       * ID of the `adsTxt` object.\n       * @internal\n       */\n      _id?: string;\n  }\n  /** The request to get the Ads.txt file content */\n  interface GetAdsTxtRequest {\n      /**\n       * Subdomain of the Ads.txt file. For example, `www`, `es`, or `fr`.\n       *\n       * Default: `www`\n       */\n      subdomain?: string;\n  }\n  /** The response of the Ads.txt file request */\n  interface GetAdsTxtResponse {\n      /** Retrieved `adsTxt` object. */\n      adsTxt?: AdsTxt;\n  }\n  /** The request to update the content of the Ads.txt file */\n  interface UpdateAdsTxtRequest {\n      /**\n       * Details about how to replace the existing Ads.txt file.\n       * To reset the Ads.txt file to Wix's default, set `default` to `true` and omit `content`.\n       */\n      adsTxt?: AdsTxt;\n  }\n  interface UpdateAdsTxtResponse {\n      /** Updated `adsTxt` object. */\n      adsTxt?: AdsTxt;\n  }\n  /** The request to append the content of the Ads.txt file */\n  interface AppendAdsTxtRequest {\n      /**\n       * Details to add to the existing Ads.txt file.\n       * To reset the Ads.txt file to Wix's default, set `default` to `true` and omit `content`.\n       */\n      adsTxt?: AdsTxt;\n  }\n  interface AppendAdsTxtResponse {\n      /** Updated `adsTxt` object. */\n      adsTxt?: AdsTxt;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      /** Triggered when the Ads.txt file is updated. */\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      /** Triggered when the Ads.txt file is updated. */\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the Ads.txt file.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when retrieving the Ads.txt file.\n   * @permissionId PROMOTE.ADS_TXT_READ\n   * @adminMethod\n   * @returns The response of the Ads.txt file request\n   */\n  function getAdsTxt(options?: GetAdsTxtOptions): Promise<GetAdsTxtResponse>;\n  interface GetAdsTxtOptions {\n      /**\n       * Subdomain of the Ads.txt file. For example, `www`, `es`, or `fr`.\n       *\n       * Default: `www`\n       */\n      subdomain?: string;\n  }\n  /**\n   * Replaces the Ads.txt file.\n   *\n   * When setting `content` to an empty string, an empty Ads.txt file is created. To reset Ads.txt to Wix's default, set `default` to `true` and omit `content`.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when replacing the Ads.txt file.\n   * @permissionId PROMOTE.ADS_TXT_WRITE\n   * @adminMethod\n   */\n  function updateAdsTxt(options?: UpdateAdsTxtOptions): Promise<UpdateAdsTxtResponse>;\n  interface UpdateAdsTxtOptions {\n      /**\n       * Details about how to replace the existing Ads.txt file.\n       * To reset the Ads.txt file to Wix's default, set `default` to `true` and omit `content`.\n       */\n      adsTxt?: AdsTxt;\n  }\n  /**\n   * Adds `content` to the Ads.txt file.\n   *\n   * To reset the Ads.txt file to Wix's default, set `default` to `true` and omit `content`.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options to use when appending the Ads.txt file.\n   * @permissionId PROMOTE.ADS_TXT_WRITE\n   * @adminMethod\n   */\n  function appendAdsTxt(options?: AppendAdsTxtOptions): Promise<AppendAdsTxtResponse>;\n  interface AppendAdsTxtOptions {\n      /**\n       * Details to add to the existing Ads.txt file.\n       * To reset the Ads.txt file to Wix's default, set `default` to `true` and omit `content`.\n       */\n      adsTxt?: AdsTxt;\n  }\n  \n  type promoteMarketingV2AdsTxt_universal_d_AdsTxt = AdsTxt;\n  type promoteMarketingV2AdsTxt_universal_d_GetAdsTxtRequest = GetAdsTxtRequest;\n  type promoteMarketingV2AdsTxt_universal_d_GetAdsTxtResponse = GetAdsTxtResponse;\n  type promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtRequest = UpdateAdsTxtRequest;\n  type promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtResponse = UpdateAdsTxtResponse;\n  type promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtRequest = AppendAdsTxtRequest;\n  type promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtResponse = AppendAdsTxtResponse;\n  type promoteMarketingV2AdsTxt_universal_d_DomainEvent = DomainEvent;\n  type promoteMarketingV2AdsTxt_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type promoteMarketingV2AdsTxt_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type promoteMarketingV2AdsTxt_universal_d_RestoreInfo = RestoreInfo;\n  type promoteMarketingV2AdsTxt_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type promoteMarketingV2AdsTxt_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type promoteMarketingV2AdsTxt_universal_d_ActionEvent = ActionEvent;\n  type promoteMarketingV2AdsTxt_universal_d_MessageEnvelope = MessageEnvelope;\n  type promoteMarketingV2AdsTxt_universal_d_IdentificationData = IdentificationData;\n  type promoteMarketingV2AdsTxt_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type promoteMarketingV2AdsTxt_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const promoteMarketingV2AdsTxt_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const promoteMarketingV2AdsTxt_universal_d_getAdsTxt: typeof getAdsTxt;\n  type promoteMarketingV2AdsTxt_universal_d_GetAdsTxtOptions = GetAdsTxtOptions;\n  const promoteMarketingV2AdsTxt_universal_d_updateAdsTxt: typeof updateAdsTxt;\n  type promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtOptions = UpdateAdsTxtOptions;\n  const promoteMarketingV2AdsTxt_universal_d_appendAdsTxt: typeof appendAdsTxt;\n  type promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtOptions = AppendAdsTxtOptions;\n  namespace promoteMarketingV2AdsTxt_universal_d {\n    export {\n      promoteMarketingV2AdsTxt_universal_d_AdsTxt as AdsTxt,\n      promoteMarketingV2AdsTxt_universal_d_GetAdsTxtRequest as GetAdsTxtRequest,\n      promoteMarketingV2AdsTxt_universal_d_GetAdsTxtResponse as GetAdsTxtResponse,\n      promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtRequest as UpdateAdsTxtRequest,\n      promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtResponse as UpdateAdsTxtResponse,\n      promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtRequest as AppendAdsTxtRequest,\n      promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtResponse as AppendAdsTxtResponse,\n      promoteMarketingV2AdsTxt_universal_d_DomainEvent as DomainEvent,\n      promoteMarketingV2AdsTxt_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      promoteMarketingV2AdsTxt_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      promoteMarketingV2AdsTxt_universal_d_RestoreInfo as RestoreInfo,\n      promoteMarketingV2AdsTxt_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      promoteMarketingV2AdsTxt_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      promoteMarketingV2AdsTxt_universal_d_ActionEvent as ActionEvent,\n      promoteMarketingV2AdsTxt_universal_d_MessageEnvelope as MessageEnvelope,\n      promoteMarketingV2AdsTxt_universal_d_IdentificationData as IdentificationData,\n      promoteMarketingV2AdsTxt_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      promoteMarketingV2AdsTxt_universal_d_WebhookIdentityType as WebhookIdentityType,\n      promoteMarketingV2AdsTxt_universal_d_getAdsTxt as getAdsTxt,\n      promoteMarketingV2AdsTxt_universal_d_GetAdsTxtOptions as GetAdsTxtOptions,\n      promoteMarketingV2AdsTxt_universal_d_updateAdsTxt as updateAdsTxt,\n      promoteMarketingV2AdsTxt_universal_d_UpdateAdsTxtOptions as UpdateAdsTxtOptions,\n      promoteMarketingV2AdsTxt_universal_d_appendAdsTxt as appendAdsTxt,\n      promoteMarketingV2AdsTxt_universal_d_AppendAdsTxtOptions as AppendAdsTxtOptions,\n    };\n  }\n  \n  export { promoteMarketingV2AdsTxt_universal_d as adsTxt, ecommerceCouponsV2Coupon_universal_d as coupons, marketingMarketingConsentV1MarketingConsent_universal_d as marketingConsent };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-currencies.v2.d.ts",
      "content": "declare module \"wix-currencies.v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface CurrencyRate {\n  }\n  interface ListCurrenciesRequest {\n  }\n  interface ListCurrenciesResponse {\n      /** Supported currencies */\n      currencies?: Currency[];\n  }\n  interface Currency {\n      /** Currency code. */\n      code?: string;\n      /** Currency symbol. */\n      symbol?: string;\n  }\n  interface ConvertCurrencyRequest {\n      /** Amounts to convert. */\n      amounts?: DecimalValue[];\n      /** Original currency. */\n      from: string;\n      /** Target currency. */\n      to: string;\n  }\n  interface DecimalValue {\n      /** Value without decimals (e.g., for 10.95 value will be 1095). */\n      value?: string;\n      /** Decimal places to apply (e.g., for 10.95 decimal_places will be 2). */\n      decimalPlaces?: number;\n  }\n  interface ConvertCurrencyResponse {\n      /** Converted amounts. */\n      amounts?: DecimalValue[];\n      /** Date and time the conversion rate was last updated. */\n      rateTimestamp?: Date;\n  }\n  interface ConversionRateRequest {\n      /** Original currency. */\n      from: string;\n      /** Target currency. */\n      to: string;\n  }\n  interface ConversionRateResponse {\n      /** Conversion rate between 2 currencies. */\n      rate?: DecimalValue;\n      /** Date and time the conversion rate was last updated. */\n      rateTimestamp?: Date;\n  }\n  /**\n   * Returns all currencies currently supported by Wix.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listCurrencies(): Promise<ListCurrenciesResponse>;\n  /**\n   * Returns a list of converted amounts, from the original (from) currency to the target (to) currency.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.from\n   * @requiredField identifiers.to\n   */\n  function convertCurrency(identifiers: ConvertCurrencyIdentifiers, options?: ConvertCurrencyOptions): Promise<ConvertCurrencyResponse>;\n  interface ConvertCurrencyIdentifiers {\n      /** Original currency. */\n      from: string;\n      /** Target currency. */\n      to: string;\n  }\n  interface ConvertCurrencyOptions {\n      /** Amounts to convert. */\n      amounts?: DecimalValue[];\n  }\n  /**\n   * Returns the conversion rate between 2 currencies.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.from\n   * @requiredField identifiers.to\n   */\n  function conversionRate(identifiers: ConversionRateIdentifiers): Promise<ConversionRateResponse>;\n  interface ConversionRateIdentifiers {\n      /** Original currency. */\n      from: string;\n      /** Target currency. */\n      to: string;\n  }\n  \n  const ecommerceCurrencyConverterV1CurrencyRate_universal_d___debug: typeof __debug;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_CurrencyRate = CurrencyRate;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ListCurrenciesRequest = ListCurrenciesRequest;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ListCurrenciesResponse = ListCurrenciesResponse;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_Currency = Currency;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyRequest = ConvertCurrencyRequest;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_DecimalValue = DecimalValue;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyResponse = ConvertCurrencyResponse;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConversionRateRequest = ConversionRateRequest;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConversionRateResponse = ConversionRateResponse;\n  const ecommerceCurrencyConverterV1CurrencyRate_universal_d_listCurrencies: typeof listCurrencies;\n  const ecommerceCurrencyConverterV1CurrencyRate_universal_d_convertCurrency: typeof convertCurrency;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyIdentifiers = ConvertCurrencyIdentifiers;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyOptions = ConvertCurrencyOptions;\n  const ecommerceCurrencyConverterV1CurrencyRate_universal_d_conversionRate: typeof conversionRate;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConversionRateIdentifiers = ConversionRateIdentifiers;\n  namespace ecommerceCurrencyConverterV1CurrencyRate_universal_d {\n    export {\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d___debug as __debug,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_CurrencyRate as CurrencyRate,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ListCurrenciesRequest as ListCurrenciesRequest,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ListCurrenciesResponse as ListCurrenciesResponse,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_Currency as Currency,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyRequest as ConvertCurrencyRequest,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_DecimalValue as DecimalValue,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyResponse as ConvertCurrencyResponse,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConversionRateRequest as ConversionRateRequest,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConversionRateResponse as ConversionRateResponse,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_listCurrencies as listCurrencies,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_convertCurrency as convertCurrency,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyIdentifiers as ConvertCurrencyIdentifiers,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyOptions as ConvertCurrencyOptions,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_conversionRate as conversionRate,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConversionRateIdentifiers as ConversionRateIdentifiers,\n    };\n  }\n  \n  export { ecommerceCurrencyConverterV1CurrencyRate_universal_d as currencyConverter };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-members-about-backend.v1.d.ts",
      "content": "declare module \"wix-members-about-backend.v1\" {\n  interface About {\n      /** Member ID. */\n      memberId?: string;\n      /** About content. */\n      content?: string;\n  }\n  interface SaveAboutDraftRequest {\n      /** Member ID. */\n      memberId: string;\n      /** About content. */\n      content: string;\n  }\n  interface SaveAboutDraftResponse {\n      /** About content. */\n      content?: string;\n      /** State of the about. */\n      state?: State;\n  }\n  enum State {\n      /** Published version, visible to other members. */\n      PUBLIC = \"PUBLIC\",\n      /** Not published version, visible only to oneself. */\n      DRAFT = \"DRAFT\"\n  }\n  interface SaveMyAboutDraftRequest {\n      /** About content. */\n      content: string;\n  }\n  interface SaveMyAboutDraftResponse {\n      /** About content. */\n      content?: string;\n      /** State of the about. */\n      state?: State;\n  }\n  interface TooManyLinksInAboutContent {\n  }\n  interface TextTooLongInAboutContent {\n  }\n  interface PublishAboutRequest {\n      /** Member ID. */\n      memberId: string;\n  }\n  interface PublishAboutResponse {\n      /** About content. */\n      content?: string;\n      /** State of the about. */\n      state?: State;\n  }\n  interface PublishMyAboutRequest {\n  }\n  interface PublishMyAboutResponse {\n      /** About content. */\n      content?: string;\n      /** State of the about. */\n      state?: State;\n  }\n  interface GetAboutRequest {\n      /** Member ID. */\n      memberId: string;\n      /**\n       * State of the about.\n       * Defaults to `PUBLIC` state when not provided.\n       */\n      state: State;\n  }\n  interface GetAboutResponse {\n      /** About content. */\n      content?: string;\n      /** State of the about. */\n      state?: State;\n  }\n  interface QueryAboutsRequest {\n      /** Query options. */\n      query?: QueryV2;\n  }\n  interface QueryV2 {\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort the results. */\n      sorting?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryAboutsResponse {\n      /**\n       * List of about entities.\n       * Only the *public* entities are included.\n       */\n      abouts?: About[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DiscardMyChangesRequest {\n  }\n  interface DiscardMyChangesResponse {\n  }\n  /**\n   * Saves member's about as draft.\n   * @param memberId - Member ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @requiredField options\n   * @requiredField options.content\n   * @permissionId MEMBERS.ABOUT_MANAGE_DRAFT\n   * @adminMethod\n   */\n  function saveAboutDraft(memberId: string, options: SaveAboutDraftOptions): Promise<SaveAboutDraftResponse>;\n  interface SaveAboutDraftOptions {\n      /** About content. */\n      content: string;\n  }\n  /**\n   * Saves currently logged in member's about as draft.\n   * @param content - About content.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField content\n   * @permissionId MEMBERS.ABOUT_MANAGE_MY_DRAFT\n   * @adminMethod\n   */\n  function saveMyAboutDraft(content: string): Promise<SaveMyAboutDraftResponse>;\n  /**\n   * Makes member's about draft public.\n   * @param memberId - Member ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.ABOUT_PUBLISH\n   * @adminMethod\n   */\n  function publishAbout(memberId: string): Promise<PublishAboutResponse>;\n  /**\n   * Makes currently logged in member's about draft public.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.ABOUT_PUBLISH_MY\n   */\n  function publishMyAbout(): Promise<PublishMyAboutResponse>;\n  /**\n   * Retrieves member's about.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.memberId\n   * @requiredField identifiers.state\n   * @permissionId MEMBERS.ABOUT_READ\n   */\n  function getAbout(identifiers: GetAboutIdentifiers): Promise<GetAboutResponse>;\n  interface GetAboutIdentifiers {\n      /** Member ID. */\n      memberId: string;\n      /**\n       * State of the about.\n       * Defaults to `PUBLIC` state when not provided.\n       */\n      state: State;\n  }\n  /**\n   * Retrieves about entities.\n   * Only the *public* entities are included.\n   *\n   * Supported fields for filtering:\n   * - `memberId`\n   *\n   * Supported fields for sorting:\n   * - `memberId`\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.ABOUT_READ\n   */\n  function queryAbouts(options?: QueryAboutsOptions): Promise<QueryAboutsResponse>;\n  interface QueryAboutsOptions {\n      /** Query options. */\n      query?: QueryV2;\n  }\n  /**\n   * Discard currently logged in member's unpublished changes.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.ABOUT_MANAGE_MY_DRAFT\n   * @adminMethod\n   */\n  function discardMyChanges(): Promise<void>;\n  \n  export { About, Cursors, DiscardMyChangesRequest, DiscardMyChangesResponse, GetAboutIdentifiers, GetAboutRequest, GetAboutResponse, Paging, PagingMetadataV2, PublishAboutRequest, PublishAboutResponse, PublishMyAboutRequest, PublishMyAboutResponse, QueryAboutsOptions, QueryAboutsRequest, QueryAboutsResponse, QueryV2, SaveAboutDraftOptions, SaveAboutDraftRequest, SaveAboutDraftResponse, SaveMyAboutDraftRequest, SaveMyAboutDraftResponse, SortOrder, Sorting, State, TextTooLongInAboutContent, TooManyLinksInAboutContent, discardMyChanges, getAbout, publishAbout, publishMyAbout, queryAbouts, saveAboutDraft, saveMyAboutDraft };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v2.d.ts",
      "content": "declare module \"wix-members-followers-backend.v2\" {\n  interface Follower {\n      /** Member ID of the member who performed the action. */\n      memberId?: string;\n      /** Member ID of the member being followed or unfollowed. */\n      affectedMemberId?: string;\n  }\n  interface FollowMemberRequest {\n      /** Member ID. */\n      memberId: string;\n  }\n  interface FollowMemberResponse {\n  }\n  interface MemberFollowed {\n      /** Member who is following the other member. */\n      memberConnection?: Follower;\n  }\n  interface UnfollowMemberRequest {\n      /** Member ID. */\n      memberId: string;\n  }\n  interface UnfollowMemberResponse {\n  }\n  interface MemberUnfollowed {\n      /** Member who is unfollowing the other member. */\n      memberConnection?: Follower;\n  }\n  interface ListMyMemberFollowingRequest {\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListMyMemberFollowingResponse {\n      /** List of site members who are followed by the current member. */\n      memberIds?: string[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface ListMemberFollowingRequest {\n      /** Member ID. */\n      memberId: string;\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging;\n  }\n  interface ListMemberFollowingResponse {\n      /** List of site members who are followed by the requested member. */\n      memberIds?: string[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface ListMyMemberFollowersRequest {\n      /** Metadata for the paginated results. */\n      paging?: Paging;\n  }\n  interface ListMyMemberFollowersResponse {\n      /** List of members who are following the current member. */\n      memberIds?: string[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface ListMemberFollowersRequest {\n      /** Member ID. */\n      memberId: string;\n      /** Metadata for the paginated results. */\n      paging?: Paging;\n  }\n  interface ListMemberFollowersResponse {\n      /** List of members who are following the request member. */\n      memberIds?: string[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface ListMyMemberConnectionsRequest {\n      /**\n       * List of member IDs whose connections to the current member\n       * will be retrieved.\n       */\n      connectedMemberIds: string[];\n  }\n  interface ListMyMemberConnectionsResponse {\n      /** List of site members whose connections to the current member were retrieved. */\n      connectedMembers?: ConnectedMembers[];\n  }\n  interface ConnectedMembers {\n      /** Site member ID. */\n      connectedMemberId?: string;\n      /** Indicates if the listed member is followed by the requested member. */\n      followedByMember?: boolean;\n      /** Indicates if the listed member is following the requested member. */\n      followingMember?: boolean;\n  }\n  interface ListMemberConnectionsRequest {\n      /**\n       * List of member IDs whose connections to the requested member\n       * will be retrieved.\n       * For multiple connections, format as\n       * `?connectedMemberIds=member-1-id&connectedMemberIds=member-2-id`.\n       */\n      connectedMemberIds: string[];\n      /** ID of the requested member. */\n      memberId: string;\n  }\n  interface ListMemberConnectionsResponse {\n      /** List of site members whose connections to the requested member were retrieved. */\n      connectedMembers?: ConnectedMembers[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  /**\n   * Sets the current member to follow another member.\n   *\n   * Members are typically associated with a contact, each having a distinct member and contact ID. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.\n   * @param memberId - Member ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField memberId\n   */\n  function followMember(memberId: string): Promise<void>;\n  /** @param memberId - Member ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField memberId\n   */\n  function unfollowMember(memberId: string): Promise<void>;\n  /**\n   * Returns IDs of members followed by the member making the call\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listMyMemberFollowing(options?: ListMyMemberFollowingOptions): Promise<ListMyMemberFollowingResponse>;\n  interface ListMyMemberFollowingOptions {\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging;\n  }\n  /** @param memberId - Member ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   */\n  function listMemberFollowing(memberId: string, options?: ListMemberFollowingOptions): Promise<ListMemberFollowingResponse>;\n  interface ListMemberFollowingOptions {\n      /**\n       * Pagination options. For more information, see\n       * [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging;\n  }\n  /**\n   * Returns IDs of members who follow the member making the call\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listMyMemberFollowers(options?: ListMyMemberFollowersOptions): Promise<ListMyMemberFollowersResponse>;\n  interface ListMyMemberFollowersOptions {\n      /** Metadata for the paginated results. */\n      paging?: Paging;\n  }\n  /**\n   * Lists members who follow the requested member.\n   * @param memberId - Member ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   */\n  function listMemberFollowers(memberId: string, options?: ListMemberFollowersOptions): Promise<ListMemberFollowersResponse>;\n  interface ListMemberFollowersOptions {\n      /** Metadata for the paginated results. */\n      paging?: Paging;\n  }\n  /**\n   * Returns information if provided site members are followers or are followed by the member making the call.\n   * @param connectedMemberIds - List of member IDs whose connections to the current member\n   * will be retrieved.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField connectedMemberIds\n   */\n  function listMyMemberConnections(connectedMemberIds: string[]): Promise<ListMyMemberConnectionsResponse>;\n  /**\n   * Lists a member's follower or following connections to the other members specified in the request.\n   * > Note: If no other members' IDs (`connectedMemberIds`) are passed, the call will return successful, but with no data.\n   * @param memberId - ID of the requested member.\n   * @param connectedMemberIds - List of member IDs whose connections to the requested member\n   * will be retrieved.\n   * For multiple connections, format as\n   * `?connectedMemberIds=member-1-id&connectedMemberIds=member-2-id`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField connectedMemberIds\n   * @requiredField memberId\n   */\n  function listMemberConnections(memberId: string, connectedMemberIds: string[]): Promise<ListMemberConnectionsResponse>;\n  \n  export { ActionEvent, ConnectedMembers, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, FollowMemberRequest, FollowMemberResponse, Follower, ListMemberConnectionsRequest, ListMemberConnectionsResponse, ListMemberFollowersOptions, ListMemberFollowersRequest, ListMemberFollowersResponse, ListMemberFollowingOptions, ListMemberFollowingRequest, ListMemberFollowingResponse, ListMyMemberConnectionsRequest, ListMyMemberConnectionsResponse, ListMyMemberFollowersOptions, ListMyMemberFollowersRequest, ListMyMemberFollowersResponse, ListMyMemberFollowingOptions, ListMyMemberFollowingRequest, ListMyMemberFollowingResponse, MemberFollowed, MemberUnfollowed, Paging, PagingMetadata, UnfollowMemberRequest, UnfollowMemberResponse, followMember, listMemberConnections, listMemberFollowers, listMemberFollowing, listMyMemberConnections, listMyMemberFollowers, listMyMemberFollowing, unfollowMember };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-components-translation-v1-translations-provider.d.ts",
      "content": "declare module \"interfaces-components-translation-v1-translations-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetAdditionalKeysRequest {\n      /** components that have been created or have been modified */\n      component?: Component;\n  }\n  /** Component is the main entity of ComponentsService */\n  interface Component {\n      /** Component Id */\n      _id?: string | null;\n      /**\n       * The version of the component: None (the mutable instance) or Long (versioned immutable). Domain Entity has 0 instead of None for proper indexing\n       * @readonly\n       */\n      version?: string | null;\n      /** The app id of the application which this component belongs to */\n      appId?: string;\n      /** The name of the component */\n      name?: string | null;\n      /**\n       * the type of the component\n       * @readonly\n       */\n      type?: ComponentType;\n      /** the data of the component */\n      data?: ComponentData;\n      /**\n       * revision of draft component\n       * @readonly\n       */\n      revision?: string | null;\n      externalId?: string | null;\n      createdBy?: CreatedBy;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n  }\n  /** Component type */\n  enum ComponentType {\n      NONE = \"NONE\",\n      STUDIO = \"STUDIO\",\n      PLATFORM = \"PLATFORM\",\n      WORKER = \"WORKER\",\n      DASHBOARD = \"DASHBOARD\",\n      WIDGET = \"WIDGET\",\n      PAGE = \"PAGE\",\n      DASHBOARD_PLATFORM = \"DASHBOARD_PLATFORM\",\n      STUDIO_WIDGET = \"STUDIO_WIDGET\",\n      EMBEDDED_SCRIPT = \"EMBEDDED_SCRIPT\",\n      EXTENSION = \"EXTENSION\",\n      SNIPPET_SOLUTION = \"SNIPPET_SOLUTION\",\n      DATA_COMPONENT = \"DATA_COMPONENT\",\n      WEB = \"WEB\",\n      DC_CONFIG = \"DC_CONFIG\",\n      WIDGET_OUT_OF_IFRAME = \"WIDGET_OUT_OF_IFRAME\",\n      PAGE_OUT_OF_IFRAME = \"PAGE_OUT_OF_IFRAME\",\n      STATIC_FILE = \"STATIC_FILE\",\n      APP_CONFIG = \"APP_CONFIG\",\n      MULTIPLE_DASHBOARDS = \"MULTIPLE_DASHBOARDS\",\n      PAYMENTS_GATEWAY = \"PAYMENTS_GATEWAY\",\n      CODE_PACKAGE = \"CODE_PACKAGE\",\n      AUTOMATION_TRIGGER = \"AUTOMATION_TRIGGER\",\n      INVOICES_ACTIONS = \"INVOICES_ACTIONS\",\n      DASHBOARD_APPLICATION = \"DASHBOARD_APPLICATION\",\n      CONTACT_LABELS = \"CONTACT_LABELS\",\n      WIDGET_PLUGIN = \"WIDGET_PLUGIN\",\n      CROSS_SELL = \"CROSS_SELL\",\n      LOCAL_DELIVERY = \"LOCAL_DELIVERY\",\n      PAYMENT_PROVIDER = \"PAYMENT_PROVIDER\",\n      ECOM_MEMBERSHIPS = \"ECOM_MEMBERSHIPS\",\n      ECOM_LINE_ITEMS_ENRICHER = \"ECOM_LINE_ITEMS_ENRICHER\",\n      ECOM_SHIPPING_RATES = \"ECOM_SHIPPING_RATES\",\n      SHIPPING_LABEL_CARRIER = \"SHIPPING_LABEL_CARRIER\",\n      RESTAURANTS_POS = \"RESTAURANTS_POS\",\n      FICTIONAL_SHIPPING_PROVIDER = \"FICTIONAL_SHIPPING_PROVIDER\",\n      ALERT_ENRICHER = \"ALERT_ENRICHER\",\n      DATA_EXTENSIONS = \"DATA_EXTENSIONS\",\n      GENERIC_HOOKS = \"GENERIC_HOOKS\",\n      AUTOMATIONS_ACTION_PROVIDER = \"AUTOMATIONS_ACTION_PROVIDER\",\n      ECOM_CATALOG = \"ECOM_CATALOG\",\n      BACK_OFFICE_EXTENSION_CONTAINER = \"BACK_OFFICE_EXTENSION_CONTAINER\",\n      BACK_OFFICE_EXTENSION = \"BACK_OFFICE_EXTENSION\",\n      AUTOMATIONS_TRIGGER_PROVIDER = \"AUTOMATIONS_TRIGGER_PROVIDER\",\n      IDENTITY_PRE_REGISTRATION = \"IDENTITY_PRE_REGISTRATION\",\n      PREMIUM_PRODUCTS_PATHS = \"PREMIUM_PRODUCTS_PATHS\",\n      ECOM_CUSTOM_SCOPE = \"ECOM_CUSTOM_SCOPE\",\n      GIFT_CARDS_PROVIDER = \"GIFT_CARDS_PROVIDER\",\n      DEALER_EXTERNAL_FILTER_PROVIDER = \"DEALER_EXTERNAL_FILTER_PROVIDER\",\n      ECOM_DROPSHIPPING_PROVIDER = \"ECOM_DROPSHIPPING_PROVIDER\",\n      INVOICES_PROVIDER = \"INVOICES_PROVIDER\",\n      SEO_KEYWORDS_SUGGESTIONS = \"SEO_KEYWORDS_SUGGESTIONS\",\n      ECOM_DISCOUNTS_TRIGGER = \"ECOM_DISCOUNTS_TRIGGER\",\n      MULTILINGUAL_CONTENT_PROVIDER = \"MULTILINGUAL_CONTENT_PROVIDER\",\n      APPLICATION_AUTOMATION = \"APPLICATION_AUTOMATION\",\n      BACK_OFFICE_SIDEBAR_CATEGORY = \"BACK_OFFICE_SIDEBAR_CATEGORY\",\n      BACK_OFFICE_PAGE = \"BACK_OFFICE_PAGE\",\n      ECOM_ADDITIONAL_FEES = \"ECOM_ADDITIONAL_FEES\",\n      PING_USER_NOTIFICATION = \"PING_USER_NOTIFICATION\",\n      ECOM_RECOMMENDATIONS_PROVIDER = \"ECOM_RECOMMENDATIONS_PROVIDER\",\n      BOOKINGS_PRICING_PROVIDER = \"BOOKINGS_PRICING_PROVIDER\",\n      IDENTITY_AUTHENTICATOR = \"IDENTITY_AUTHENTICATOR\",\n      IDENTITY_IDP_CONNECTOR = \"IDENTITY_IDP_CONNECTOR\",\n      ITEMS_SELECTION_PROVIDER = \"ITEMS_SELECTION_PROVIDER\",\n      PORTFOLIO_SYNCED_PROJECTS_PROVIDER = \"PORTFOLIO_SYNCED_PROJECTS_PROVIDER\",\n      COMMUNICATION_CHANNEL = \"COMMUNICATION_CHANNEL\",\n      IDENTITY_POST_LOGIN = \"IDENTITY_POST_LOGIN\",\n      BACK_OFFICE_WIDGET = \"BACK_OFFICE_WIDGET\",\n      SOCIAL_MARKETING_DESIGN = \"SOCIAL_MARKETING_DESIGN\",\n      FORMS_SUBMISSIONS_PROVIDER = \"FORMS_SUBMISSIONS_PROVIDER\",\n      WIX_OFFERING = \"WIX_OFFERING\",\n      DEV_CENTER_TESTING_COMPONENT = \"DEV_CENTER_TESTING_COMPONENT\",\n      COMPONENTS_VALIDATOR_PROVIDER = \"COMPONENTS_VALIDATOR_PROVIDER\",\n      COMPONENTS_TRANSLATIONS_ADDITIONAL_FIELDS_PROVIDER = \"COMPONENTS_TRANSLATIONS_ADDITIONAL_FIELDS_PROVIDER\",\n      FORMS_SCHEMA_PROVIDER = \"FORMS_SCHEMA_PROVIDER\",\n      BOOKINGS_EXTERNAL_CALENDAR_PROVIDER = \"BOOKINGS_EXTERNAL_CALENDAR_PROVIDER\",\n      ECOM_DEFAULT_TAXATION_CATEGORY = \"ECOM_DEFAULT_TAXATION_CATEGORY\",\n      VIEWER_DYNAMIC_SITE_STRUCTURE_PROVIDER = \"VIEWER_DYNAMIC_SITE_STRUCTURE_PROVIDER\",\n      PING_UOU_NOTIFICATION = \"PING_UOU_NOTIFICATION\",\n      HEADLESS_OAUTH = \"HEADLESS_OAUTH\",\n      ECOM_TAX_CALCULATOR_SPI = \"ECOM_TAX_CALCULATOR_SPI\",\n      COMMENTS_MODERATION_PROVIDER = \"COMMENTS_MODERATION_PROVIDER\",\n      GRID_APP_FILES_TRANSFORMER = \"GRID_APP_FILES_TRANSFORMER\",\n      BENEFIT_PROGRAMS_POLICY_PROVIDER = \"BENEFIT_PROGRAMS_POLICY_PROVIDER\",\n      PREMIUM_CUSTOM_CHARGES = \"PREMIUM_CUSTOM_CHARGES\",\n      ECOM_VALIDATIONS = \"ECOM_VALIDATIONS\",\n      COMPONENT_REFERENCE_DATA_PROVIDER = \"COMPONENT_REFERENCE_DATA_PROVIDER\",\n      WIX_REVIEWS_PRODUCT_CATALOG = \"WIX_REVIEWS_PRODUCT_CATALOG\",\n      SOCIAL_MARKETING_DESIGNS_PROVIDER = \"SOCIAL_MARKETING_DESIGNS_PROVIDER\",\n      GOOGLE_BUSINESS_PROFILE_FEATURE_PROVIDER = \"GOOGLE_BUSINESS_PROFILE_FEATURE_PROVIDER\",\n      COMMENTS_FILTER_PROVIDER = \"COMMENTS_FILTER_PROVIDER\",\n      BILLING_TAX_ID_VALIDATOR = \"BILLING_TAX_ID_VALIDATOR\",\n      PING_SETTINGS_GROUP = \"PING_SETTINGS_GROUP\",\n      FORMS_SPAM_SUBMISSIONS_PROVIDER = \"FORMS_SPAM_SUBMISSIONS_PROVIDER\",\n      EDITOR_ADDON = \"EDITOR_ADDON\",\n      EXTERNAL_DATABASE_PROVIDER = \"EXTERNAL_DATABASE_PROVIDER\",\n      ECOM_PAYMENT_SETTINGS = \"ECOM_PAYMENT_SETTINGS\",\n      NOTIFICATION_TOPIC = \"NOTIFICATION_TOPIC\",\n      NOTIFICATION_PREFERENCES_FILTER_PROVIDER = \"NOTIFICATION_PREFERENCES_FILTER_PROVIDER\",\n      BOOKINGS_RESOURCE_TYPES_PROVIDER = \"BOOKINGS_RESOURCE_TYPES_PROVIDER\",\n      PRICING_PLANS_FORM_CONFIGURATION = \"PRICING_PLANS_FORM_CONFIGURATION\",\n      USER_NOTIFICATION = \"USER_NOTIFICATION\",\n      CONTACT_NOTIFICATION = \"CONTACT_NOTIFICATION\",\n      UNIFIED_PAGE = \"UNIFIED_PAGE\",\n      AVAILABILITY_TIME_SLOTS_CONFIGURATION_PROVIDER = \"AVAILABILITY_TIME_SLOTS_CONFIGURATION_PROVIDER\",\n      PROPOSAL_EDITOR_PROVIDER = \"PROPOSAL_EDITOR_PROVIDER\",\n      CUSTOM_TABLE_RESERVATIONS_PROVIDER = \"CUSTOM_TABLE_RESERVATIONS_PROVIDER\",\n      COMMENTS_CONTEXT_PROVIDER = \"COMMENTS_CONTEXT_PROVIDER\",\n      FORMS_SPAM_SUBMISSION_REPORTS_PROVIDER = \"FORMS_SPAM_SUBMISSION_REPORTS_PROVIDER\",\n      AUTOMATIONS_VELO_ACTION_PROVIDER = \"AUTOMATIONS_VELO_ACTION_PROVIDER\",\n      CALENDAR_EVENT_TYPE_PROVIDER = \"CALENDAR_EVENT_TYPE_PROVIDER\",\n      /** Reserved - previously was `SERVICE_AVAILABILITY_POLICY_PROVIDER` */\n      RESERVED = \"RESERVED\",\n      SMS_ACTION_MESSAGE = \"SMS_ACTION_MESSAGE\",\n      BOOKING_POLICY_PROVIDER = \"BOOKING_POLICY_PROVIDER\",\n      MULTI_SERVICE_BOOKING_POLICY_PROVIDER = \"MULTI_SERVICE_BOOKING_POLICY_PROVIDER\",\n      AI_ASSISTANT = \"AI_ASSISTANT\",\n      FORMS_SUBMISSIONS_EXTENSION_PROVIDER = \"FORMS_SUBMISSIONS_EXTENSION_PROVIDER\",\n      MULTILINGUAL_TRANSLATION_SCHEMA = \"MULTILINGUAL_TRANSLATION_SCHEMA\",\n      TAX_CALCULATION_PROVIDER = \"TAX_CALCULATION_PROVIDER\",\n      TAX_GROUPS_PROVIDER = \"TAX_GROUPS_PROVIDER\",\n      BACK_OFFICE_MODAL = \"BACK_OFFICE_MODAL\",\n      DEPLOYMENT_PIPELINE_PROVIDER = \"DEPLOYMENT_PIPELINE_PROVIDER\",\n      CUSTOM_ELEMENT_WIDGET = \"CUSTOM_ELEMENT_WIDGET\",\n      BACK_OFFICE_EXTENSION_WIDGET = \"BACK_OFFICE_EXTENSION_WIDGET\",\n      BACK_OFFICE_EXTENSION_MENU_ITEM = \"BACK_OFFICE_EXTENSION_MENU_ITEM\",\n      FORM_TEMPLATE = \"FORM_TEMPLATE\",\n      NOTIFICATION_CONTENT = \"NOTIFICATION_CONTENT\",\n      BROADCAST_LIST = \"BROADCAST_LIST\",\n      PARTNERS_PAYOUTS = \"PARTNERS_PAYOUTS\",\n      WIX_REVIEWS_ENTITY_CATALOG = \"WIX_REVIEWS_ENTITY_CATALOG\",\n      VELO_PUBLISH_PIPELINE_TASK_PROVIDER = \"VELO_PUBLISH_PIPELINE_TASK_PROVIDER\",\n      FUNCTIONS_SHOP_PRICE_PROVIDER = \"FUNCTIONS_SHOP_PRICE_PROVIDER\",\n      FUNCTION = \"FUNCTION\"\n  }\n  /** Component data */\n  interface ComponentData extends ComponentDataDataOneOf {\n      /**\n       * Create a widget iframe that users can display on their site. We recommend submitting a proposal before using iframes in your app.\n       * Learn More: https://devforum.wix.com/en/article/widget-components\n       */\n      widgetComponentData?: WidgetComponentData;\n      /**\n       * Display an iframe as a page on a user's site.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/iframes/guide-to-page-extensions\n       */\n      pageComponentData?: PageComponentData;\n      /**\n       * Load a WOOI directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/editor-widget-out-of-iframe/widget-out-of-iframe-component-data-object\n       * @internal\n       */\n      widgetOutOfIframeData?: WidgetOutOfIframeComponentData;\n      /**\n       * Load a POOI directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/editor-page-out-of-iframe/page-out-of-iframe-component-data-object\n       * @internal\n       */\n      pageOutOfIframeData?: PageOutOfIframeComponentData;\n      /**\n       * Load a collection of native Editor components directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/fe-guild/editor-platform\n       * @internal\n       */\n      platformComponentData?: PlatfromComponentData;\n      /**\n       * Open an iframe in the Dashboard, or add a link to a page on your platform.\n       * Learn More: https://devforum.wix.com/en/article/create-a-dashboard-page-component\n       */\n      dashboardComponentData?: DashboardComponentData;\n      /**\n       * Use an invisible iframe to track activity. It’s added to every page on the site (max. 1).\n       * Learn More: https://devforum.wix.com/en/article/worker-components\n       */\n      workerComponentData?: WorkerComponentData;\n      /**\n       * Use Wix Blocks to create a widget component. Wix Blocks will open in a new tab.\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/wix-blocks-server---app-builder\n       * @internal\n       */\n      studioComponentData?: StudioComponentData;\n      /**\n       * A widget component in the Wix Blocks.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/wix-blocks\n       * @internal\n       */\n      studioWidgetComponentData?: StudioWidgetComponentData;\n      /**\n       * A component that indicates the existence of an importable code package in a Wix Blocks application.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/wix-blocks-code-package\n       * @internal\n       */\n      codePackageComponentData?: CodePackageComponentData;\n      /**\n       * Load a collection of native components directly in the Business Manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/dashboard-platfrom/dashboard-platfrom-component-data-object\n       * @internal\n       */\n      dashboardPlatformComponentData?: DashboardPlatfromComponentData;\n      /**\n       * Inject a script into a site’s HTML code.\n       * Learn More: https://devforum.wix.com/en/article/about-embedded-script-components\n       */\n      embeddedScriptComponentData?: EmbeddedScriptComponentData;\n      /**\n       * Display a draggable component in the Editor using an HTML custom element.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-custom-element\n       */\n      webComponentData?: WebComponentData;\n      /**\n       * Extend app with internal Wix extension.\n       * @internal\n       */\n      extensionData?: ExtensionData;\n      /** @internal */\n      snippetSolutionsData?: SnippetSolutionData;\n      /** @internal */\n      dataComponent?: DataComponent;\n      /** @internal */\n      dcConfigData?: DCConfigData;\n      /**\n       * Serve a file from the user’s site domain.\n       * Learn More: https://devforum.wix.com/en/article/serving-staic-files-from-the-installed-sites-domain\n       * @internal\n       */\n      staticFileComponentData?: StaticFileComponentData;\n      /** @internal */\n      appConfig?: AppConfig;\n      /**\n       * Create a multi-page dashboard in the Business Manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/multiple-dashboards\n       * @internal\n       */\n      multipleDashboardsComponentData?: MultipleDashboardsComponentData;\n      /**\n       * Payments gateway extension description\n       * @internal\n       */\n      paymentsGateway?: PaymentsGatewayComponentData;\n      /**\n       * Extend an app with automation capabilities using CRM Automations\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/automation-trigger\n       * @internal\n       */\n      automationTrigger?: AutomationTrigger;\n      /**\n       * Any restrictions on invoices actions\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/invoices-actions\n       * @internal\n       */\n      invoicesActionsComponentData?: InvoicesActionsComponentData;\n      /**\n       * Experimental-WIP: Business manager app_config, configures a module and its page components in business manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/dashboard-application\n       * @internal\n       */\n      dashboardApplicationData?: DashboardApplicationData;\n      /**\n       * Contact Labels Components\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/contact-labels\n       * @internal\n       */\n      contactLabels?: ContactLabelsComponentData;\n      /**\n       * Display a widget that fits into a predefined slot in a Wix app.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/plugins/about-plugins\n       */\n      widgetPlugin?: WidgetPluginComponentData;\n      /**\n       * Cross Sell Integration\n       * @internal\n       */\n      crossSell?: CrossSellConfig;\n      /**\n       * Experimental-WIP: Local Delivery extension description.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/local-delivery\n       * @internal\n       */\n      localDelivery?: LocalDeliveryComponentData;\n      /**\n       * WIP: Velo payment provider SPI\n       * @internal\n       */\n      paymentProvider?: PaymentServiceProviderConfig;\n      /**\n       * Memberships SPI for ECOM platform\n       * @internal\n       */\n      ecomMemberships?: MembershipsSPIConfig;\n      /**\n       * Line Items Enricher SPI for ECOM platform\n       * @internal\n       */\n      ecomLineItemsEnricher?: LineItemsEnricherConfig;\n      /**\n       * Displays the options from your Shipping Rates SPI in a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/shipping-rates-integration-spi/introduction\n       */\n      ecomShippingRates?: ShippingRatesConfig;\n      /**\n       * Shipping Label Carrier SPI\n       * @internal\n       */\n      shippingLabelCarrier?: ShippingLabelCarrierSpiConfig;\n      /**\n       * Restaurants POS SPI\n       * @internal\n       */\n      restaurantsPos?: RestaurantsPOSComponentData;\n      /**\n       * A fictional Shipping SPI that is used by developers to complete SPI training\n       * https://github.com/wix-academy/spi-in-scala-path\n       * @internal\n       */\n      fictionalShippingProvider?: ShippingProviderConfig;\n      /**\n       * Alert Enricher Integration\n       * @internal\n       */\n      alertEnricher?: AlertEnricherSpiConfiguration;\n      /** Extend a Wix entity with custom fields for your app */\n      dataExtensions?: DataExtensionsComponentData;\n      /**\n       * A common component type for all Generic Hooks\n       * @internal\n       */\n      genericHooks?: GenericHooksConfig;\n      /**\n       * WIP: automations action provider\n       * @internal\n       */\n      automationsActionProvider?: ActionProviderSPIConfig;\n      /**\n       * Catalog SPI for ECOM platform\n       * @internal\n       */\n      ecomCatalog?: CatalogSPIConfig;\n      /**\n       * Add a space to a Wix Dashboard page that can be extended with a widget or menu item.\n       * @internal\n       */\n      backOfficeExtensionContainer?: BackOfficeExtensionContainer;\n      /**\n       * Create a widget or menu item that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtension?: BackOfficeExtension;\n      /**\n       * WIP: automations trigger provider\n       * @internal\n       */\n      automationsTriggerProvider?: TriggerProviderSPIConfig;\n      /**\n       * WIP - SPI for execution before identity creation in the new IAM platform\n       * @internal\n       */\n      identityPreRegistration?: PreRegisterConfig;\n      /**\n       * Premium products upgrades/downgrades\n       * @internal\n       */\n      premiumProductsPaths?: ProductsPathsConfig;\n      /**\n       * ECOM custom scopes provider - define scopes of catalog items based custom attributes\n       * @internal\n       */\n      ecomCustomScope?: CustomScopeConfig;\n      /**\n       * Gift Card SPI for Ecom Platform\n       * @internal\n       */\n      giftCardsProvider?: GiftCardProviderConfig;\n      /**\n       * Dealer External Filter SPI\n       * @internal\n       */\n      dealerExternalFilterProvider?: ExternalFilterProviderConfig;\n      /**\n       * Recommendations provider SPI\n       * @internal\n       */\n      ecomRecommendationsProvider?: RecommendationsProviderConfig;\n      /**\n       * Dropshipping Provider SPI for Ecom Platform\n       * @internal\n       */\n      ecomDropshippingProvider?: DropshippingProviderSPIConfig;\n      /**\n       * Invoices SPI\n       * @internal\n       */\n      invoicesProvider?: InvoicesConfig;\n      /**\n       * Provide SEO keyword suggestions to site collaborators, report quota usage, and provide a page where users can upgrade their plan.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/marketing/seo-keywords-suggestions-v-1/introduction\n       */\n      seoKeywordsSuggestions?: SeoKeywordsSuggestionsSPIConfig;\n      /**\n       * Ecom custom discount trigger SPI provider - define custom triggers to apply discount rules\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/custom-discount-triggers-integration-spi/introduction\n       * @internal\n       */\n      ecomDiscountsTrigger?: CustomTriggerConfig;\n      /**\n       * Multilingual content provider for site translator to read and update translations\n       * @internal\n       */\n      multilingualContentProvider?: ContentProviderConfig;\n      /**\n       * Application Automation\n       * @internal\n       */\n      applicationAutomation?: ApplicationAutomationComponent;\n      /**\n       * Experimental-WIP: A back office page category\n       * @internal\n       */\n      backOfficeSidebarCategory?: BackOfficeSidebarCategory;\n      /**\n       * Configure a page for your app that will be embedded in the Wix Dashboard.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-dashboard-page-component\n       */\n      backOfficePage?: BackOfficePage;\n      /**\n       * Displays the fees from your Additional Fees SPI in a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/additional-fees-integration-spi/introduction\n       */\n      ecomAdditionalFees?: AdditionalFeesSPIConfig;\n      /**\n       * Send notifications to your app users\n       * @internal\n       */\n      pingUserNotification?: PingNotificationComponentData;\n      /**\n       * Bookings Pricing Provider SPI\n       * @internal\n       */\n      bookingsPricingProvider?: BookingsPricingProviderConfig;\n      /**\n       * Authenticator SPI\n       * @internal\n       */\n      identityAuthenticator?: AuthenticatorConfig;\n      /**\n       * WIP - SPI for authenticating via external IDP in the new IAM platform\n       * @internal\n       */\n      identityIdpConnector?: IDPConnectionConfig;\n      /**\n       * Items Selection\n       * @internal\n       */\n      itemsSelectionProvider?: ItemsSelectionProviderConfig;\n      /**\n       * Portfolio synced projects provider\n       * @internal\n       */\n      portfolioSyncedProjectsProvider?: SyncedProjectsProviderConfig;\n      /**\n       * Communication Channel\n       * @internal\n       */\n      communicationChannel?: CommunicationChannelConfiguration;\n      /**\n       * WIP - SPI to run after the login process\n       * @internal\n       */\n      identityPostLogin?: PostLoginConfig;\n      /**\n       * Create a component that can be easily placed in or opened from a Wix app page.\n       * @internal\n       */\n      backOfficeWidget?: BackOfficeWidget;\n      /**\n       * Social Marketing Design SPI\n       * @internal\n       */\n      socialMarketingDesign?: SocialMarketingDesignSPIConfig;\n      /**\n       * Forms Submissions SPI\n       * @internal\n       */\n      formsSubmissionsProvider?: FormSubmissionSpiConfig;\n      /**\n       * Wix Offering\n       * @internal\n       */\n      wixOffering?: WixOfferingComponentData;\n      /**\n       * Components translation test component\n       * @internal\n       */\n      devCenterTestingComponent?: DevCenterTestingComponentData;\n      /**\n       * Components Validator SPI\n       * @internal\n       */\n      componentsValidatorProvider?: ComponentsValidatorConfig;\n      /**\n       * Components Translations additional fields config\n       * @internal\n       */\n      componentsTranslationsAdditionalFieldsProvider?: ComponentTranslationAdditionalFieldsConfig;\n      /**\n       * Forms Schema SPI\n       * @internal\n       */\n      formsSchemaProvider?: FormSchemaSpiConfig;\n      /**\n       * Bookings External Calendar Provider\n       * @internal\n       */\n      bookingsExternalCalendarProvider?: ProviderConfig;\n      /**\n       * Default Tax Category Config\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/platform-tax\n       * @internal\n       */\n      ecomDefaultTaxationCategory?: DefaultTaxGroupProviderConfig;\n      /**\n       * Viewer Dynamic Site Structure Config\n       * @internal\n       */\n      viewerDynamicSiteStructureProvider?: DynamicSiteStructureProviderConfig;\n      /**\n       * Send notifications to your app users of users\n       * @internal\n       */\n      pingUouNotification?: PingNotificationComponentData;\n      /**\n       * Holds data for authenticating Headless Applications\n       * @internal\n       */\n      headlessOauth?: HeadlessOAuth;\n      /**\n       * Tax Calculator Structure Config\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/platform-tax\n       * @internal\n       */\n      ecomTaxCalculatorSpi?: TaxCalculatorSpiConfig;\n      /**\n       * Comments Moderation Provider Config\n       * @internal\n       */\n      commentsModerationProvider?: CommentModerationProviderConfig;\n      /**\n       * GridApp files transformer config\n       * @internal\n       */\n      gridAppFilesTransformer?: GridAppFilesTransformerConfig;\n      /**\n       * Holds benefit programs policy provider configuration\n       * @internal\n       */\n      benefitProgramsPolicyProvider?: PolicyConfig;\n      /**\n       * Premium Custom Charges Config\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/app-management/apps/custom-charges-spi/introduction\n       */\n      premiumCustomCharges?: CustomChargesConfig;\n      /**\n       * Performs Validations for a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/validations-integration-spi/introduction\n       */\n      ecomValidations?: ValidationsSPIConfig;\n      /**\n       * Component Reference Data SPI\n       * @internal\n       */\n      componentReferenceDataProvider?: ComponentReferenceDataConfig;\n      /**\n       * Wix Reviews SPI\n       * @internal\n       */\n      wixReviewsProductCatalog?: ReviewsProductCatalogProviderConfig;\n      /**\n       * Promote Social Marketing Designs Provider Configuration\n       * @internal\n       */\n      socialMarketingDesignsProvider?: SocialMarketingDesignsProviderConfig;\n      /**\n       * Promote Google Business Profile Provider Configuration\n       * @internal\n       */\n      googleBusinessProfileFeatureProvider?: GbpFeatureConfig;\n      /**\n       * Comments Filter Provider Config\n       * @internal\n       */\n      commentsFilterProvider?: CommentFilterProviderConfig;\n      /**\n       * Tax ID Validator SPI Config\n       * @internal\n       */\n      billingTaxIdValidator?: TaxIdValidatorConfig;\n      /**\n       * Ping Settings Group Data\n       * @internal\n       */\n      pingSettingsGroup?: PingSettingsGroupComponentData;\n      /**\n       * Forms Spam Submissions SPI\n       * @internal\n       */\n      formsSpamSubmissionsProvider?: FormSpamSubmissionSpiConfig;\n      /**\n       * Editor Addon component\n       * @internal\n       */\n      editorAddon?: EditorAddon;\n      /**\n       * External Database component\n       * @internal\n       */\n      externalDatabaseProvider?: ExternalDatabaseSpiConfig;\n      /**\n       * Ecom Payment Settings SPI Config\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/payment-settings-integration-spi/introduction\n       */\n      ecomPaymentSettings?: PaymentSettingsSPIConfig;\n      /**\n       * Group multiple notifications into one preference toggle.\n       * Learn More: https://dev.wix.com/docs/build-apps/build-your-app/user-notifications/add-notification-topics\n       * @internal\n       */\n      notificationTopic?: NotificationTopic;\n      /**\n       * Notification Preference SPI\n       * @internal\n       */\n      notificationPreferencesFilterProvider?: NotificationPreferencesFilterConfig;\n      /**\n       * Bookings Resource Types provider SPI config\n       * @internal\n       */\n      bookingsResourceTypesProvider?: BookingsResourceTypesProviderConfig;\n      /**\n       * Pricing Plans form configuration\n       * @internal\n       */\n      pricingPlansFormConfiguration?: PricingPlansFormConfiguration;\n      /**\n       * Create a notification to alert your app users about important updates and events.\n       * Learn More: https://dev.wix.com/docs/build-apps/build-your-app/user-notifications/app-notifications\n       * @internal\n       */\n      userNotification?: UserNotification;\n      /**\n       * Contact Notification\n       * @internal\n       */\n      contactNotification?: ContactNotification;\n      /**\n       * Add a site page that displays selected widgets.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/create-a-site-page\n       * @internal\n       */\n      unifiedPage?: UnifiedPage;\n      /**\n       * Availability Time Slots Configuration Provider SPI\n       * @internal\n       */\n      availabilityTimeSlotsConfigurationProvider?: AvailabilityTimeSlotsProviderConfig;\n      /**\n       * Proposal Editor Provider SPI config\n       * @internal\n       */\n      proposalEditorProvider?: ProposalEditorProviderConfig;\n      /**\n       * Custom Table Reservations Provider SPI config\n       * @internal\n       */\n      customTableReservationsProvider?: CustomReservationsApprovalConfig;\n      /**\n       * Comments Context provider\n       * @internal\n       */\n      commentsContextProvider?: CommentsContextProviderConfig;\n      /**\n       * Forms Spam Submission Reports SPI\n       * @internal\n       */\n      formsSpamSubmissionReportsProvider?: FormSpamSubmissionReportSpiConfig;\n      /**\n       * Automation Velo Action Spi Provider\n       * @internal\n       */\n      automationsVeloActionProvider?: VeloActionConfig;\n      /**\n       * Calendar Event Type Provider\n       * @internal\n       */\n      calendarEventTypeProvider?: EventTypeProviderConfig;\n      /**\n       * Reserved - previously was `service_availability_policy_provider`\n       * @internal\n       */\n      reserved?: ServiceAvailabilityPolicyProviderConfig;\n      /**\n       * Create an SMS message for a pre-installed automation, in order to translate it.\n       * @internal\n       */\n      smsActionMessage?: SmsActionMessage;\n      /**\n       * Booking Policy Provider SPI\n       * @internal\n       */\n      bookingPolicyProvider?: BookingPolicyProviderConfig;\n      /**\n       * Multi Service Booking Policy Provider SPI\n       * @internal\n       */\n      multiServiceBookingPolicyProvider?: MultiServiceBookingPolicyProviderConfig;\n      /**\n       * Forms Submissions Extension SPI\n       * @internal\n       */\n      formsSubmissionsExtensionProvider?: FormSubmissionSpiExtensionConfig;\n      /**\n       * AI Assistant SPI\n       * @internal\n       */\n      aiAssistant?: AssistantSpiConfig;\n      /**\n       * Multilingual translation schema\n       * @internal\n       */\n      multilingualTranslationSchema?: MultilingualTranslationSchema;\n      /**\n       * Tax Groups Provider SPI\n       * @internal\n       */\n      taxGroupsProvider?: TaxGroupsProviderConfig;\n      /**\n       * Tax Calculation Provider SPI\n       * @internal\n       */\n      taxCalculationProvider?: TaxCalculationConfig;\n      /** Create a reusable modal that can be utilized across multiple pages within your app and in other applications. */\n      backOfficeModal?: BackOfficeModal;\n      /**\n       * Deployment Pipeline Provider SPI\n       * @internal\n       */\n      deploymentPipelineProvider?: DeploymentPipelineProviderConfig;\n      /**\n       * Display a draggable widget on a site using a self-hosted custom element.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/build-a-site-widget-using-a-self-hosted-custom-element\n       * @internal\n       */\n      customElementWidget?: CustomElementWidget;\n      /**\n       * Create a widget that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtensionWidget?: BackOfficeExtensionWidget;\n      /**\n       * Create a menu item that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtensionMenuItem?: BackOfficeExtensionMenuItem;\n      /**\n       * Form Template\n       * @internal\n       */\n      formTemplate?: FormTemplate;\n      /**\n       * Notification Content\n       * @internal\n       */\n      notificationContent?: NotificationContent;\n      /**\n       * Broadcast List\n       * @internal\n       */\n      broadcastList?: BroadcastList;\n      /**\n       * Partners Payouts\n       * @internal\n       */\n      partnersPayouts?: PayoutsProviderConfig;\n      /**\n       * Wix Reviews Entity Catalog Provider SPI\n       * @internal\n       */\n      wixReviewsEntityCatalog?: ReviewsEntityCatalogProviderConfig;\n      /**\n       * Velo Publish Pipeline Task Provider SPI\n       * @internal\n       */\n      veloPublishPipelineTaskProvider?: VeloPublishPipelineTaskProviderConfig;\n      /**\n       * Function shop POC SPI\n       * @internal\n       */\n      functionsShopPriceProvider?: FunctionsShopPriceSpiConfig;\n      /**\n       * Function\n       * @internal\n       */\n      function?: Function;\n  }\n  /** @oneof */\n  interface ComponentDataDataOneOf {\n      /**\n       * Create a widget iframe that users can display on their site. We recommend submitting a proposal before using iframes in your app.\n       * Learn More: https://devforum.wix.com/en/article/widget-components\n       */\n      widgetComponentData?: WidgetComponentData;\n      /**\n       * Display an iframe as a page on a user's site.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/iframes/guide-to-page-extensions\n       */\n      pageComponentData?: PageComponentData;\n      /**\n       * Load a WOOI directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/editor-widget-out-of-iframe/widget-out-of-iframe-component-data-object\n       * @internal\n       */\n      widgetOutOfIframeData?: WidgetOutOfIframeComponentData;\n      /**\n       * Load a POOI directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/editor-page-out-of-iframe/page-out-of-iframe-component-data-object\n       * @internal\n       */\n      pageOutOfIframeData?: PageOutOfIframeComponentData;\n      /**\n       * Load a collection of native Editor components directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/fe-guild/editor-platform\n       * @internal\n       */\n      platformComponentData?: PlatfromComponentData;\n      /**\n       * Open an iframe in the Dashboard, or add a link to a page on your platform.\n       * Learn More: https://devforum.wix.com/en/article/create-a-dashboard-page-component\n       */\n      dashboardComponentData?: DashboardComponentData;\n      /**\n       * Use an invisible iframe to track activity. It’s added to every page on the site (max. 1).\n       * Learn More: https://devforum.wix.com/en/article/worker-components\n       */\n      workerComponentData?: WorkerComponentData;\n      /**\n       * Use Wix Blocks to create a widget component. Wix Blocks will open in a new tab.\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/wix-blocks-server---app-builder\n       * @internal\n       */\n      studioComponentData?: StudioComponentData;\n      /**\n       * A widget component in the Wix Blocks.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/wix-blocks\n       * @internal\n       */\n      studioWidgetComponentData?: StudioWidgetComponentData;\n      /**\n       * A component that indicates the existence of an importable code package in a Wix Blocks application.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/wix-blocks-code-package\n       * @internal\n       */\n      codePackageComponentData?: CodePackageComponentData;\n      /**\n       * Load a collection of native components directly in the Business Manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/dashboard-platfrom/dashboard-platfrom-component-data-object\n       * @internal\n       */\n      dashboardPlatformComponentData?: DashboardPlatfromComponentData;\n      /**\n       * Inject a script into a site’s HTML code.\n       * Learn More: https://devforum.wix.com/en/article/about-embedded-script-components\n       */\n      embeddedScriptComponentData?: EmbeddedScriptComponentData;\n      /**\n       * Display a draggable component in the Editor using an HTML custom element.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-custom-element\n       */\n      webComponentData?: WebComponentData;\n      /**\n       * Extend app with internal Wix extension.\n       * @internal\n       */\n      extensionData?: ExtensionData;\n      /** @internal */\n      snippetSolutionsData?: SnippetSolutionData;\n      /** @internal */\n      dataComponent?: DataComponent;\n      /** @internal */\n      dcConfigData?: DCConfigData;\n      /**\n       * Serve a file from the user’s site domain.\n       * Learn More: https://devforum.wix.com/en/article/serving-staic-files-from-the-installed-sites-domain\n       * @internal\n       */\n      staticFileComponentData?: StaticFileComponentData;\n      /** @internal */\n      appConfig?: AppConfig;\n      /**\n       * Create a multi-page dashboard in the Business Manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/multiple-dashboards\n       * @internal\n       */\n      multipleDashboardsComponentData?: MultipleDashboardsComponentData;\n      /**\n       * Payments gateway extension description\n       * @internal\n       */\n      paymentsGateway?: PaymentsGatewayComponentData;\n      /**\n       * Extend an app with automation capabilities using CRM Automations\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/automation-trigger\n       * @internal\n       */\n      automationTrigger?: AutomationTrigger;\n      /**\n       * Any restrictions on invoices actions\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/invoices-actions\n       * @internal\n       */\n      invoicesActionsComponentData?: InvoicesActionsComponentData;\n      /**\n       * Experimental-WIP: Business manager app_config, configures a module and its page components in business manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/dashboard-application\n       * @internal\n       */\n      dashboardApplicationData?: DashboardApplicationData;\n      /**\n       * Contact Labels Components\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/contact-labels\n       * @internal\n       */\n      contactLabels?: ContactLabelsComponentData;\n      /**\n       * Display a widget that fits into a predefined slot in a Wix app.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/plugins/about-plugins\n       */\n      widgetPlugin?: WidgetPluginComponentData;\n      /**\n       * Cross Sell Integration\n       * @internal\n       */\n      crossSell?: CrossSellConfig;\n      /**\n       * Experimental-WIP: Local Delivery extension description.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/local-delivery\n       * @internal\n       */\n      localDelivery?: LocalDeliveryComponentData;\n      /**\n       * WIP: Velo payment provider SPI\n       * @internal\n       */\n      paymentProvider?: PaymentServiceProviderConfig;\n      /**\n       * Memberships SPI for ECOM platform\n       * @internal\n       */\n      ecomMemberships?: MembershipsSPIConfig;\n      /**\n       * Line Items Enricher SPI for ECOM platform\n       * @internal\n       */\n      ecomLineItemsEnricher?: LineItemsEnricherConfig;\n      /**\n       * Displays the options from your Shipping Rates SPI in a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/shipping-rates-integration-spi/introduction\n       */\n      ecomShippingRates?: ShippingRatesConfig;\n      /**\n       * Shipping Label Carrier SPI\n       * @internal\n       */\n      shippingLabelCarrier?: ShippingLabelCarrierSpiConfig;\n      /**\n       * Restaurants POS SPI\n       * @internal\n       */\n      restaurantsPos?: RestaurantsPOSComponentData;\n      /**\n       * A fictional Shipping SPI that is used by developers to complete SPI training\n       * https://github.com/wix-academy/spi-in-scala-path\n       * @internal\n       */\n      fictionalShippingProvider?: ShippingProviderConfig;\n      /**\n       * Alert Enricher Integration\n       * @internal\n       */\n      alertEnricher?: AlertEnricherSpiConfiguration;\n      /** Extend a Wix entity with custom fields for your app */\n      dataExtensions?: DataExtensionsComponentData;\n      /**\n       * A common component type for all Generic Hooks\n       * @internal\n       */\n      genericHooks?: GenericHooksConfig;\n      /**\n       * WIP: automations action provider\n       * @internal\n       */\n      automationsActionProvider?: ActionProviderSPIConfig;\n      /**\n       * Catalog SPI for ECOM platform\n       * @internal\n       */\n      ecomCatalog?: CatalogSPIConfig;\n      /**\n       * Add a space to a Wix Dashboard page that can be extended with a widget or menu item.\n       * @internal\n       */\n      backOfficeExtensionContainer?: BackOfficeExtensionContainer;\n      /**\n       * Create a widget or menu item that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtension?: BackOfficeExtension;\n      /**\n       * WIP: automations trigger provider\n       * @internal\n       */\n      automationsTriggerProvider?: TriggerProviderSPIConfig;\n      /**\n       * WIP - SPI for execution before identity creation in the new IAM platform\n       * @internal\n       */\n      identityPreRegistration?: PreRegisterConfig;\n      /**\n       * Premium products upgrades/downgrades\n       * @internal\n       */\n      premiumProductsPaths?: ProductsPathsConfig;\n      /**\n       * ECOM custom scopes provider - define scopes of catalog items based custom attributes\n       * @internal\n       */\n      ecomCustomScope?: CustomScopeConfig;\n      /**\n       * Gift Card SPI for Ecom Platform\n       * @internal\n       */\n      giftCardsProvider?: GiftCardProviderConfig;\n      /**\n       * Dealer External Filter SPI\n       * @internal\n       */\n      dealerExternalFilterProvider?: ExternalFilterProviderConfig;\n      /**\n       * Recommendations provider SPI\n       * @internal\n       */\n      ecomRecommendationsProvider?: RecommendationsProviderConfig;\n      /**\n       * Dropshipping Provider SPI for Ecom Platform\n       * @internal\n       */\n      ecomDropshippingProvider?: DropshippingProviderSPIConfig;\n      /**\n       * Invoices SPI\n       * @internal\n       */\n      invoicesProvider?: InvoicesConfig;\n      /**\n       * Provide SEO keyword suggestions to site collaborators, report quota usage, and provide a page where users can upgrade their plan.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/marketing/seo-keywords-suggestions-v-1/introduction\n       */\n      seoKeywordsSuggestions?: SeoKeywordsSuggestionsSPIConfig;\n      /**\n       * Ecom custom discount trigger SPI provider - define custom triggers to apply discount rules\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/custom-discount-triggers-integration-spi/introduction\n       * @internal\n       */\n      ecomDiscountsTrigger?: CustomTriggerConfig;\n      /**\n       * Multilingual content provider for site translator to read and update translations\n       * @internal\n       */\n      multilingualContentProvider?: ContentProviderConfig;\n      /**\n       * Application Automation\n       * @internal\n       */\n      applicationAutomation?: ApplicationAutomationComponent;\n      /**\n       * Experimental-WIP: A back office page category\n       * @internal\n       */\n      backOfficeSidebarCategory?: BackOfficeSidebarCategory;\n      /**\n       * Configure a page for your app that will be embedded in the Wix Dashboard.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-dashboard-page-component\n       */\n      backOfficePage?: BackOfficePage;\n      /**\n       * Displays the fees from your Additional Fees SPI in a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/additional-fees-integration-spi/introduction\n       */\n      ecomAdditionalFees?: AdditionalFeesSPIConfig;\n      /**\n       * Send notifications to your app users\n       * @internal\n       */\n      pingUserNotification?: PingNotificationComponentData;\n      /**\n       * Bookings Pricing Provider SPI\n       * @internal\n       */\n      bookingsPricingProvider?: BookingsPricingProviderConfig;\n      /**\n       * Authenticator SPI\n       * @internal\n       */\n      identityAuthenticator?: AuthenticatorConfig;\n      /**\n       * WIP - SPI for authenticating via external IDP in the new IAM platform\n       * @internal\n       */\n      identityIdpConnector?: IDPConnectionConfig;\n      /**\n       * Items Selection\n       * @internal\n       */\n      itemsSelectionProvider?: ItemsSelectionProviderConfig;\n      /**\n       * Portfolio synced projects provider\n       * @internal\n       */\n      portfolioSyncedProjectsProvider?: SyncedProjectsProviderConfig;\n      /**\n       * Communication Channel\n       * @internal\n       */\n      communicationChannel?: CommunicationChannelConfiguration;\n      /**\n       * WIP - SPI to run after the login process\n       * @internal\n       */\n      identityPostLogin?: PostLoginConfig;\n      /**\n       * Create a component that can be easily placed in or opened from a Wix app page.\n       * @internal\n       */\n      backOfficeWidget?: BackOfficeWidget;\n      /**\n       * Social Marketing Design SPI\n       * @internal\n       */\n      socialMarketingDesign?: SocialMarketingDesignSPIConfig;\n      /**\n       * Forms Submissions SPI\n       * @internal\n       */\n      formsSubmissionsProvider?: FormSubmissionSpiConfig;\n      /**\n       * Wix Offering\n       * @internal\n       */\n      wixOffering?: WixOfferingComponentData;\n      /**\n       * Components translation test component\n       * @internal\n       */\n      devCenterTestingComponent?: DevCenterTestingComponentData;\n      /**\n       * Components Validator SPI\n       * @internal\n       */\n      componentsValidatorProvider?: ComponentsValidatorConfig;\n      /**\n       * Components Translations additional fields config\n       * @internal\n       */\n      componentsTranslationsAdditionalFieldsProvider?: ComponentTranslationAdditionalFieldsConfig;\n      /**\n       * Forms Schema SPI\n       * @internal\n       */\n      formsSchemaProvider?: FormSchemaSpiConfig;\n      /**\n       * Bookings External Calendar Provider\n       * @internal\n       */\n      bookingsExternalCalendarProvider?: ProviderConfig;\n      /**\n       * Default Tax Category Config\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/platform-tax\n       * @internal\n       */\n      ecomDefaultTaxationCategory?: DefaultTaxGroupProviderConfig;\n      /**\n       * Viewer Dynamic Site Structure Config\n       * @internal\n       */\n      viewerDynamicSiteStructureProvider?: DynamicSiteStructureProviderConfig;\n      /**\n       * Send notifications to your app users of users\n       * @internal\n       */\n      pingUouNotification?: PingNotificationComponentData;\n      /**\n       * Holds data for authenticating Headless Applications\n       * @internal\n       */\n      headlessOauth?: HeadlessOAuth;\n      /**\n       * Tax Calculator Structure Config\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/platform-tax\n       * @internal\n       */\n      ecomTaxCalculatorSpi?: TaxCalculatorSpiConfig;\n      /**\n       * Comments Moderation Provider Config\n       * @internal\n       */\n      commentsModerationProvider?: CommentModerationProviderConfig;\n      /**\n       * GridApp files transformer config\n       * @internal\n       */\n      gridAppFilesTransformer?: GridAppFilesTransformerConfig;\n      /**\n       * Holds benefit programs policy provider configuration\n       * @internal\n       */\n      benefitProgramsPolicyProvider?: PolicyConfig;\n      /**\n       * Premium Custom Charges Config\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/app-management/apps/custom-charges-spi/introduction\n       */\n      premiumCustomCharges?: CustomChargesConfig;\n      /**\n       * Performs Validations for a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/validations-integration-spi/introduction\n       */\n      ecomValidations?: ValidationsSPIConfig;\n      /**\n       * Component Reference Data SPI\n       * @internal\n       */\n      componentReferenceDataProvider?: ComponentReferenceDataConfig;\n      /**\n       * Wix Reviews SPI\n       * @internal\n       */\n      wixReviewsProductCatalog?: ReviewsProductCatalogProviderConfig;\n      /**\n       * Promote Social Marketing Designs Provider Configuration\n       * @internal\n       */\n      socialMarketingDesignsProvider?: SocialMarketingDesignsProviderConfig;\n      /**\n       * Promote Google Business Profile Provider Configuration\n       * @internal\n       */\n      googleBusinessProfileFeatureProvider?: GbpFeatureConfig;\n      /**\n       * Comments Filter Provider Config\n       * @internal\n       */\n      commentsFilterProvider?: CommentFilterProviderConfig;\n      /**\n       * Tax ID Validator SPI Config\n       * @internal\n       */\n      billingTaxIdValidator?: TaxIdValidatorConfig;\n      /**\n       * Ping Settings Group Data\n       * @internal\n       */\n      pingSettingsGroup?: PingSettingsGroupComponentData;\n      /**\n       * Forms Spam Submissions SPI\n       * @internal\n       */\n      formsSpamSubmissionsProvider?: FormSpamSubmissionSpiConfig;\n      /**\n       * Editor Addon component\n       * @internal\n       */\n      editorAddon?: EditorAddon;\n      /**\n       * External Database component\n       * @internal\n       */\n      externalDatabaseProvider?: ExternalDatabaseSpiConfig;\n      /**\n       * Ecom Payment Settings SPI Config\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/payment-settings-integration-spi/introduction\n       */\n      ecomPaymentSettings?: PaymentSettingsSPIConfig;\n      /**\n       * Group multiple notifications into one preference toggle.\n       * Learn More: https://dev.wix.com/docs/build-apps/build-your-app/user-notifications/add-notification-topics\n       * @internal\n       */\n      notificationTopic?: NotificationTopic;\n      /**\n       * Notification Preference SPI\n       * @internal\n       */\n      notificationPreferencesFilterProvider?: NotificationPreferencesFilterConfig;\n      /**\n       * Bookings Resource Types provider SPI config\n       * @internal\n       */\n      bookingsResourceTypesProvider?: BookingsResourceTypesProviderConfig;\n      /**\n       * Pricing Plans form configuration\n       * @internal\n       */\n      pricingPlansFormConfiguration?: PricingPlansFormConfiguration;\n      /**\n       * Create a notification to alert your app users about important updates and events.\n       * Learn More: https://dev.wix.com/docs/build-apps/build-your-app/user-notifications/app-notifications\n       * @internal\n       */\n      userNotification?: UserNotification;\n      /**\n       * Contact Notification\n       * @internal\n       */\n      contactNotification?: ContactNotification;\n      /**\n       * Add a site page that displays selected widgets.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/create-a-site-page\n       * @internal\n       */\n      unifiedPage?: UnifiedPage;\n      /**\n       * Availability Time Slots Configuration Provider SPI\n       * @internal\n       */\n      availabilityTimeSlotsConfigurationProvider?: AvailabilityTimeSlotsProviderConfig;\n      /**\n       * Proposal Editor Provider SPI config\n       * @internal\n       */\n      proposalEditorProvider?: ProposalEditorProviderConfig;\n      /**\n       * Custom Table Reservations Provider SPI config\n       * @internal\n       */\n      customTableReservationsProvider?: CustomReservationsApprovalConfig;\n      /**\n       * Comments Context provider\n       * @internal\n       */\n      commentsContextProvider?: CommentsContextProviderConfig;\n      /**\n       * Forms Spam Submission Reports SPI\n       * @internal\n       */\n      formsSpamSubmissionReportsProvider?: FormSpamSubmissionReportSpiConfig;\n      /**\n       * Automation Velo Action Spi Provider\n       * @internal\n       */\n      automationsVeloActionProvider?: VeloActionConfig;\n      /**\n       * Calendar Event Type Provider\n       * @internal\n       */\n      calendarEventTypeProvider?: EventTypeProviderConfig;\n      /**\n       * Reserved - previously was `service_availability_policy_provider`\n       * @internal\n       */\n      reserved?: ServiceAvailabilityPolicyProviderConfig;\n      /**\n       * Create an SMS message for a pre-installed automation, in order to translate it.\n       * @internal\n       */\n      smsActionMessage?: SmsActionMessage;\n      /**\n       * Booking Policy Provider SPI\n       * @internal\n       */\n      bookingPolicyProvider?: BookingPolicyProviderConfig;\n      /**\n       * Multi Service Booking Policy Provider SPI\n       * @internal\n       */\n      multiServiceBookingPolicyProvider?: MultiServiceBookingPolicyProviderConfig;\n      /**\n       * Forms Submissions Extension SPI\n       * @internal\n       */\n      formsSubmissionsExtensionProvider?: FormSubmissionSpiExtensionConfig;\n      /**\n       * AI Assistant SPI\n       * @internal\n       */\n      aiAssistant?: AssistantSpiConfig;\n      /**\n       * Multilingual translation schema\n       * @internal\n       */\n      multilingualTranslationSchema?: MultilingualTranslationSchema;\n      /**\n       * Tax Groups Provider SPI\n       * @internal\n       */\n      taxGroupsProvider?: TaxGroupsProviderConfig;\n      /**\n       * Tax Calculation Provider SPI\n       * @internal\n       */\n      taxCalculationProvider?: TaxCalculationConfig;\n      /** Create a reusable modal that can be utilized across multiple pages within your app and in other applications. */\n      backOfficeModal?: BackOfficeModal;\n      /**\n       * Deployment Pipeline Provider SPI\n       * @internal\n       */\n      deploymentPipelineProvider?: DeploymentPipelineProviderConfig;\n      /**\n       * Display a draggable widget on a site using a self-hosted custom element.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/build-a-site-widget-using-a-self-hosted-custom-element\n       * @internal\n       */\n      customElementWidget?: CustomElementWidget;\n      /**\n       * Create a widget that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtensionWidget?: BackOfficeExtensionWidget;\n      /**\n       * Create a menu item that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtensionMenuItem?: BackOfficeExtensionMenuItem;\n      /**\n       * Form Template\n       * @internal\n       */\n      formTemplate?: FormTemplate;\n      /**\n       * Notification Content\n       * @internal\n       */\n      notificationContent?: NotificationContent;\n      /**\n       * Broadcast List\n       * @internal\n       */\n      broadcastList?: BroadcastList;\n      /**\n       * Partners Payouts\n       * @internal\n       */\n      partnersPayouts?: PayoutsProviderConfig;\n      /**\n       * Wix Reviews Entity Catalog Provider SPI\n       * @internal\n       */\n      wixReviewsEntityCatalog?: ReviewsEntityCatalogProviderConfig;\n      /**\n       * Velo Publish Pipeline Task Provider SPI\n       * @internal\n       */\n      veloPublishPipelineTaskProvider?: VeloPublishPipelineTaskProviderConfig;\n      /**\n       * Function shop POC SPI\n       * @internal\n       */\n      functionsShopPriceProvider?: FunctionsShopPriceSpiConfig;\n      /**\n       * Function\n       * @internal\n       */\n      function?: Function;\n  }\n  /** An iframe to be displayed on the user’s site */\n  interface WidgetComponentData {\n      /** Allow users to resize and move the widget, or pin it to a specific position on all pages of the site. */\n      fixedPositionOption?: FixedPositionOptions;\n      /** Widget will automatically be stretched to this width after installing it */\n      widgetWidthType?: WidgetWidthType;\n      /** Widget width size */\n      width?: number | null;\n      /** Widget width height */\n      height?: number | null;\n      /** A public link to the widget endpoint */\n      widgetEndpointUrl?: string | null;\n      /** A public link to the mobile endpoint */\n      widgetMobileEndpointUrl?: string | null;\n      /** A public link to the settings endpoint */\n      settingsEndpointUrl?: string | null;\n      /** A public link to the SEO endpoint */\n      seoEndpointUrl?: string | null;\n      /** Product display data for this component */\n      widgetDisplay?: WidgetDisplay;\n      /** When true, this is the default component */\n      default?: boolean;\n      /** When this is turned on, this page will be added to the site when installing the app, regardless of whether it's the default component or not */\n      essential?: boolean;\n      /** Published state for this widget */\n      published?: boolean;\n      /** When true, allow this widget to be added only once */\n      addOnlyOnce?: boolean;\n      /**\n       * This ID is used to identify your widget endpoint in a Wix site. You can use this ID when using methods of the Wix SDK\n       * @readonly\n       */\n      tpaWidgetId?: string;\n      /** Where this should be rendered */\n      position?: Position;\n      /** Article id in settings panel */\n      helpId?: string | null;\n      /** Default Mobile Height */\n      defaultMobileHeight?: number | null;\n      /** Min Mobile Height */\n      minMobileHeight?: number | null;\n      /** Mobile Settings Enabled */\n      mobileSettingsEnabled?: boolean;\n      /** Mobile article id in settings panel */\n      mobileHelpId?: string | null;\n      /** Editor setting version. optional values: 1 (old - deprecated) or 2 (new). default value is 2 */\n      settingsVersion?: number | null;\n      /** If setting version is 1, this will be the public link to the settings endpoint */\n      settingsEndpointUrlV1?: string | null;\n      /** A public link to the settings endpoint on ADI editor */\n      onBoardingSettingsEndpointUrl?: string | null;\n      /** The sub pages list for this component to be rendered in */\n      subPages?: SubPage[];\n      /** If this component should be stretched in relation to a form factor (desktop, tablet, mobile) */\n      isStretched?: IsStretched;\n      /** Any margins this page should have in relation to a form factor (desktop, tablet, mobile) */\n      margins?: Margins;\n      /** Any docking this page (horizontal / vertical) should have in relation to a form factor (desktop, tablet, mobile) */\n      docking?: Docking;\n      /** The height of this page in relation to a form factor (desktop, tablet, mobile) */\n      heightBreakPoints?: Height;\n      /** The width of this page in relation to a form factor (desktop, tablet, mobile) */\n      widthBreakPoints?: ApiWidth;\n      /** Keep default and let users stretch widget to full width (GFPP) */\n      addStretchButton?: boolean;\n      /** toggle to mark whether the editor should revoke an app that contains this component. */\n      excludeFromAutoRevoke?: boolean;\n      /** should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget** */\n      settingsEndpointUrlTemplate?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget** */\n      settingsEndpointUrlV1Template?: string | null;\n  }\n  /** Allow users to resize and move the widget, or pin it to a specific position on all pages of the site. */\n  interface FixedPositionOptions {\n      /** Vertical widget position in the browser window */\n      widgetVertical?: WidgetVertical;\n      /** Horizontal widget position in the browser window */\n      widgetHorizontal?: WidgetHorizontal;\n  }\n  /** Vertical widget position in the browser window */\n  enum WidgetVertical {\n      NONE_VERTICAL = \"NONE_VERTICAL\",\n      TOP = \"TOP\",\n      CENTER_VERTICAL = \"CENTER_VERTICAL\",\n      BOTTOM = \"BOTTOM\"\n  }\n  /** Horizontal widget position in the browser window */\n  enum WidgetHorizontal {\n      NONE_HORIZONTAL = \"NONE_HORIZONTAL\",\n      LEFT = \"LEFT\",\n      CENTER_HORIZONTAL = \"CENTER_HORIZONTAL\",\n      RIGHT = \"RIGHT\"\n  }\n  /** Widget will automatically be stretched to this width after installing it */\n  enum WidgetWidthType {\n      NONE_TYPE = \"NONE_TYPE\",\n      /** A custom width for the widget */\n      CUSTOM = \"CUSTOM\",\n      /** Full width of the browser window */\n      FULL = \"FULL\"\n  }\n  interface WidgetDisplay {\n      name?: string;\n      /** short description about the widget */\n      shortDescription?: string | null;\n      /** images showing off how the widget looks */\n      images?: string[];\n      /** optional, if no order exist for all components, will be decided by order in array (non-deterministic) */\n      order?: number | null;\n      price?: number | null;\n      variationId?: string | null;\n  }\n  interface Position {\n      region?: Region;\n  }\n  enum Region {\n      no_region = \"no_region\",\n      header = \"header\",\n      pageContainer = \"pageContainer\",\n      footer = \"footer\"\n  }\n  interface SubPage {\n      /** The path of the subpage */\n      key?: string;\n      /** If it's sub entities are enumerable for querying (for example, a search endpoint is not enumerable) */\n      enumerable?: boolean;\n      /** Should hide inner routes of this sub page from floating dynamic pages navigation bar */\n      hideFromFloatingNavBar?: boolean;\n      /** Should hide this sub page from selections in link panel */\n      hideFromLinkPanel?: boolean;\n  }\n  interface IsStretched {\n      desktop?: boolean | null;\n      tablet?: boolean | null;\n      mobile?: boolean | null;\n  }\n  interface Margins {\n      desktop?: DisplayProperties;\n      tablet?: DisplayProperties;\n      mobile?: DisplayProperties;\n  }\n  interface DisplayProperties {\n      top?: DisplayValue;\n      right?: DisplayValue;\n      bottom?: DisplayValue;\n      left?: DisplayValue;\n  }\n  interface DisplayValue {\n      type?: UnitType;\n      value?: number | null;\n  }\n  enum UnitType {\n      NO_UNIT = \"NO_UNIT\",\n      AUTO = \"AUTO\",\n      PX = \"PX\",\n      VH = \"VH\",\n      VW = \"VW\",\n      PERCENTAGE = \"PERCENTAGE\"\n  }\n  interface Docking {\n      desktop?: DockingProperties;\n      tablet?: DockingProperties;\n      mobile?: DockingProperties;\n  }\n  interface DockingProperties {\n      horizontal?: HorizontalDocking;\n      vertical?: VerticalDocking;\n  }\n  enum HorizontalDocking {\n      NO_HDOCKING = \"NO_HDOCKING\",\n      LEFT_DOCKING = \"LEFT_DOCKING\",\n      HCENTER = \"HCENTER\",\n      RIGHT_DOCKING = \"RIGHT_DOCKING\"\n  }\n  enum VerticalDocking {\n      NO_VDOCKING = \"NO_VDOCKING\",\n      TOP_DOCKING = \"TOP_DOCKING\",\n      VCENTER = \"VCENTER\",\n      BOTTOM_DOCKING = \"BOTTOM_DOCKING\"\n  }\n  interface Height {\n      desktop?: DisplayValue;\n      tablet?: DisplayValue;\n      mobile?: DisplayValue;\n  }\n  interface ApiWidth {\n      desktop?: DisplayValue;\n      tablet?: DisplayValue;\n      mobile?: DisplayValue;\n  }\n  /** An iframe to be displayed as a full page on the user’s site */\n  interface PageComponentData {\n      /** Hide this page from the user’s site menu */\n      isHidden?: boolean;\n      /** Show in pages menu */\n      showInPanel?: boolean | null;\n      /** Set page to full width */\n      isFullWidth?: boolean;\n      /** Keep default and let users stretch page to full width (GFPP) */\n      addStrechButton?: boolean;\n      /** A public link to the page endpoint */\n      pageEndpointUrl?: string | null;\n      /** A public link to the mobile endpoint */\n      pageMobileEndpointUrl?: string | null;\n      /** A public link to the settings endpoint */\n      settingsEndpointUrl?: string | null;\n      /** A public link to the SEO endpoint */\n      seoEndpointUrl?: string | null;\n      /**\n       * When true, this is the default component\n       * Main visual component. One components must be default (no more than 1 component)\n       */\n      default?: boolean;\n      /**\n       * Second visual component\n       * When this is turned on, this page will be added to the site when installing the app, regardless of whether it's the default component or not\n       */\n      essential?: boolean;\n      /** Published state for this page */\n      published?: boolean;\n      /**\n       * This ID is used to identify your page endpoint in a Wix site. You can use this ID when using methods of the Wix SDK\n       * @readonly\n       */\n      tpaWidgetId?: string;\n      /** Article id in settings panel */\n      helpId?: string | null;\n      /** Default Mobile Height */\n      defaultMobileHeight?: number | null;\n      /** Min Mobile Height */\n      minMobileHeight?: number | null;\n      /** Mobile Settings Enabled */\n      mobileSettingsEnabled?: boolean;\n      /** Mobile article id in settings panel */\n      mobileHelpId?: string | null;\n      /** Editor setting version. optional values: 1 (old - deprecated) or 2 (new). default value is 2 */\n      settingsVersion?: number | null;\n      /** If setting version is 1, this will be the public link to the settings endpoint */\n      settingsEndpointUrlV1?: string | null;\n      /** A public link to the settings endpoint on ADI editor */\n      onBoardingSettingsEndpointUrl?: string | null;\n      /** The padding to use in different views */\n      padding?: Padding;\n      /** The sub pages list for this component to be rendered in */\n      subPages?: SubPage[];\n      /** toggle to mark whether the editor should revoke an app that contains this component. */\n      excludeFromAutoRevoke?: boolean;\n      /** Options to mark whether this page is replacing other page or is replaced by other page. */\n      pageReplaceOptions?: PageReplaceOptions;\n      /** Elements in the editor can be linked to this page (a button for example) */\n      linkable?: boolean | null;\n      /** Should add the page to site menu. defaults to true (will add the page to site menu) */\n      addToSiteMenu?: boolean | null;\n  }\n  interface Padding {\n      desktop?: DisplayProperties;\n      tablet?: DisplayProperties;\n      mobile?: DisplayProperties;\n  }\n  interface PageReplaceOptions extends PageReplaceOptionsOptionsOneOf {\n      replacingOptions?: ReplacingOptions;\n      replaceableOptions?: ReplaceableOptions;\n      type?: ReplacementType;\n  }\n  /** @oneof */\n  interface PageReplaceOptionsOptionsOneOf {\n      replacingOptions?: ReplacingOptions;\n      replaceableOptions?: ReplaceableOptions;\n  }\n  interface PageReplace {\n      /** The app id of the page the app can replace */\n      appId?: string;\n      /** The page id the app can replace */\n      pageId?: string;\n  }\n  enum ReplacementType {\n      UNKNOWN_REPLACEMENT = \"UNKNOWN_REPLACEMENT\",\n      REPLACING = \"REPLACING\",\n      REPLACEABLE = \"REPLACEABLE\"\n  }\n  interface ReplacingOptions {\n      /** describe the page and application id that this page will replace. */\n      pageReplace?: PageReplace;\n  }\n  interface ReplaceableOptions {\n      /** toggle to mark whether this page can be replaced by other page or app. */\n      isReplaceable?: boolean;\n  }\n  /** A widget out of iframe component that loads directly in the Editor DOM */\n  interface WidgetOutOfIframeComponentData {\n      /** A link to the out of iframe component */\n      componentUrl?: string;\n      /** A link to the out of iframe controller */\n      controllerUrl?: string | null;\n      /** This is that widget's data. */\n      widgetData?: WidgetComponentData;\n      /** A link to the out of iframe SSR */\n      ssrComponentUrl?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', 'component_url_bundle_file')%> */\n      componentUrlTemplate?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', 'controller_url_bundle_file')%> */\n      controllerUrlTemplate?: string | null;\n      /** Additional info on this OOI widget */\n      outOfIframeData?: OutOfIframeData;\n      /** should be <%=serviceUrl('your_artifact_id', 'no_css_component_url_bundle_file')%> */\n      noCssComponentUrlTemplate?: string | null;\n      /** A link to the out of iframe no css component url */\n      noCssComponentUrl?: string | null;\n      /** Enable support for different style param values for different breakpoint (Css Per Breakpoint) */\n      cssPerBreakpoint?: boolean | null;\n  }\n  /** Out Of Iframes additional info */\n  interface OutOfIframeData {\n      /** The setting URLs for the app */\n      settingsUrls?: SettingsUrl[];\n      /** Automatically installed on app installation */\n      autoInstall?: boolean;\n      /** The info about how to report errors for the App */\n      errorReporting?: ErrorReporting;\n      /** The list of slots available */\n      slots?: Slot[];\n      /** if true, ssr will not cache pages that contain this widget */\n      ssrCacheExcluded?: boolean;\n      /** Should use loadable-components */\n      isLoadable?: boolean;\n  }\n  /** An editor settings configuration */\n  interface SettingsUrl {\n      /** The URL for the setting panel */\n      url?: string;\n      /** What type of editor this is */\n      editorType?: string;\n      /** How this view is rendered (mobile, tablet, etc) */\n      viewType?: string;\n      /** should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget** */\n      urlTemplate?: string | null;\n  }\n  /** Error reporting configuration for the App */\n  interface ErrorReporting {\n      /** An error reporting URL to be used by our infra (Example: A sentry DSN url) */\n      url?: string;\n      /** Optional: Data about the artifact that reports the error. */\n      artifact?: ErrorReportingArtifact;\n  }\n  /** Data of the artifact that reports an error. */\n  interface ErrorReportingArtifact {\n      /** The full artifact id of the project which errors are associated with (Example: com.wixpress.my-artifact) */\n      fullArtifactId?: string;\n      /** The project version which errors are associated with (Example: Falcon fingerprint) */\n      version?: string;\n  }\n  /** Definition of slot */\n  interface Slot {\n      /** Role of the slot component (uniquely identifies slot within parent comp; used by Velo) - former \"slotName\" */\n      slotRole?: string;\n      /** The list of interfaces that should be implemented by a plugin in order to fit the slot */\n      pluginInterfaces?: PluginInterface[];\n      /** Id of the slot component (a.k.a. Velo role) */\n      slotId?: string;\n  }\n  /** The types of public APIs exposed by the Plugin */\n  enum PluginInterface {\n      /** No public APIs exposed */\n      NONE_INTERFACE = \"NONE_INTERFACE\",\n      /** The slot requires the REVIEWS interface to be implemented by the plugin. The plugin specifies the implementation of the REVIEWS interface */\n      REVIEWS = \"REVIEWS\",\n      /** The slot requires the RATINGS_SUMMARY interface to be implemented by the plugin. The plugin specifies the implementation of the RATINGS_SUMMARY interface */\n      RATINGS_SUMMARY = \"RATINGS_SUMMARY\",\n      /** The slot requires the RATINGS_SUMMARY_OOI_LIST interface to be implemented by the plugin. The plugin specifies the implementation of the RATINGS_SUMMARY_OOI_LIST interface */\n      RATINGS_SUMMARY_OOI_LIST = \"RATINGS_SUMMARY_OOI_LIST\",\n      /** The slot requires the BOOKINGS_SERVICE interface to be implemented by the plugin. The plugin specifies the implementation of the BOOKINGS_SERVICE interface */\n      BOOKINGS_SERVICE = \"BOOKINGS_SERVICE\",\n      /** The slot requires the BOOKINGS_FORM interface to be implemented by the plugin. The plugin specifies the implementation of the BOOKINGS_FORM interface */\n      BOOKINGS_FORM = \"BOOKINGS_FORM\",\n      /** The slot requires the BASE interface to be implemented by the plugin. The plugin specifies the implementation of the BASE interface */\n      BASE = \"BASE\",\n      /** The slot requires the EVENT interface to be implemented by the plugin. The plugin specifies the implementation of the EVENT interface */\n      EVENT = \"EVENT\",\n      /** The slot requires the PRODUCT interface to be implemented by the plugin. The plugin specifies the implementation of the PRODUCT interface */\n      PRODUCT = \"PRODUCT\",\n      /** The slot requires the CHECKOUT interface to be implemented by the plugin. The plugin specifies the implementation of the CHECKOUT interface */\n      CHECKOUT = \"CHECKOUT\",\n      /** The slot requires the CATEGORY interface to be implemented by the plugin. The plugin specifies the implementation of the CATEGORY interface */\n      CATEGORY = \"CATEGORY\"\n  }\n  /** A page out of iframe component that loads directly in the Editor DOM */\n  interface PageOutOfIframeComponentData {\n      /** A link to the out of iframe component */\n      componentUrl?: string;\n      /** A link to the out of iframe controller */\n      controllerUrl?: string | null;\n      /** This is that page's data */\n      pageData?: PageComponentData;\n      /** A link to the out of iframe SSR */\n      ssrComponentUrl?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', 'component_url_bundle_file')%> */\n      componentUrlTemplate?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', 'controller_url_bundle_file')%> */\n      controllerUrlTemplate?: string | null;\n      /** Additional info on this OOI page */\n      outOfIframeData?: OutOfIframeData;\n      /** should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget** */\n      settingsEndpointUrlTemplate?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget** */\n      settingsEndpointUrlV1Template?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', 'no_css_component_url_bundle_file')%> */\n      noCssComponentUrlTemplate?: string | null;\n      /** A link to the out of iframe no css component url */\n      noCssComponentUrl?: string | null;\n      /** Enable support for different style param values for different breakpoint (Css Per Breakpoint) */\n      cssPerBreakpoint?: boolean | null;\n  }\n  /** Create a collection of native Editor components that loads directly in the Editor DOM */\n  interface PlatfromComponentData {\n      /** Path to a Javascript file that Editor runs on app install */\n      editorScriptUrl?: string | null;\n      /** Path to a Javascript file that viewer runs for page components / widgets and applicative business logic */\n      viewerScriptUrl?: string | null;\n      /** If true, components of the app wont be added to the editor (only run editor scripts) */\n      platformOnly?: boolean;\n      /** If the viewer script should run in the Editor */\n      enableInEditor?: boolean;\n      /** URL to get complex routing decisions at runtime from a platform app. Some spec can be seen here: https://docs.google.com/document/d/1t_3bl9vVMoPVm_I9Sx59LsVUPXi07gihGIg3-F7z8Q0/edit?ts=595512f6#heading=h.9ca9859ng5d */\n      routerServiceUrl?: string | null;\n      /** Path to a Javascript file that viewer runs for page components / widgets and applicative business logic. Includes verbose logs for Wix runtime. */\n      viewerVerboseScriptUrl?: string | null;\n      /** A map of string descriptor the app understands to a versioned URL topology value, can be an API or statics data. Example: `storesCartAPI: https://stores.com/api/v2/cart/ */\n      baseUrls?: Record<string, string>;\n      /** Used by DAC (gradual roll-out). A map of string descriptor the app understands to a template versioned URL topology value, Example: `storeCSSStuff: https://static.pararstorage.com/services/stores-css-stuff/<%=serviceVersion('your_artifact_id')%>/main.css */\n      baseUrlsTemplate?: Record<string, string>;\n      /** should be <%=serviceUrl('your_artifact_id', 'viewer_script_url_bundle_file')%> */\n      viewerScriptUrlTemplate?: string | null;\n      /** If this component should be stretched in relation to a form factor (desktop, tablet, mobile) */\n      isStretched?: IsStretched;\n      /** Any margins this page should have in relation to a form factor (desktop, tablet, mobile) */\n      margins?: Margins;\n      /** Any docking this page (horizontal / vertical) should have in relation to a form factor (desktop, tablet, mobile) */\n      docking?: Docking;\n      /** The height of this page in relation to a form factor (desktop, tablet, mobile) */\n      height?: Height;\n      /** The width of this page in relation to a form factor (desktop, tablet, mobile) */\n      width?: ApiWidth;\n      /**\n       * Support adding application pages with preset data\n       * Vertical endpoint that clones the data\n       * https://docs.google.com/document/d/1pUp-d9vVMCTjDdQffBuwh1mBvQacQZy0n6nm2amCMV4/edit\n       */\n      cloneAppDataUrl?: string | null;\n      /**\n       * False by default\n       * If false, data is cloned per app\n       * If true, the data is cloned per add component on component addition\n       */\n      shouldCloneDataPerComponent?: boolean;\n      /**\n       * Error reporting URL used to report errors at platform level,\n       * and as fallback for pageOOI and widgetOOI error reporting\n       */\n      errorReporting?: ErrorReporting;\n      /** A concrete versioned URL of the translation template, contains `{language}` parameter in the path */\n      editorTranslationUrl?: string | null;\n      /** A version templated URL of the translation template, contains a <%=serviceVersion('your_artifact_id')%> template and a `{language}` template */\n      editorTranslationUrlTemplate?: string | null;\n      excludeFromAutoRevoke?: boolean;\n      /**\n       * Should be <%=serviceUrl('your_artifact_id', 'editor_script_url_bundle_file')%>, this will later be resolved to the right version in the context of the request, meaning, URL/Cookie overrides, Rollout version, Employee Preview version and override the version of editor_script_url.\n       * @internal\n       */\n      editorScriptUrlTemplate?: string | null;\n  }\n  /**\n   * An iframe that opens in the user’s Wix Dashboard,\n   * or add a link to open the page directly in your platform.\n   */\n  interface DashboardComponentData {\n      /** The dashboard url. */\n      url?: string;\n      /**\n       * External or Internal dashboard.\n       * The user’s Wix Dashboard (recommended) or your platform or site\n       */\n      embedded?: boolean;\n      /** A settings page for users to customize your dashboard */\n      settingsPageUrl?: string | null;\n      /** todo: WEB_URL */\n      checkStatusUrl?: string | null;\n      published?: boolean | null;\n      hideWixSideMenu?: boolean | null;\n  }\n  /** An invisible iframe to track site activity. It’ll be added to every page on the user’s site */\n  interface WorkerComponentData {\n      /** A public link to the worker endpoint */\n      workerEndpointUrl?: string;\n  }\n  /**\n   * An extension to platform used by Wix Blocks UI\n   * The main component in the Wix Blocks.\n   * no manual adding. auto-created only from Wix Blocks\n   */\n  interface StudioComponentData {\n      /** Path to a Javascript file that Editor runs on app install */\n      editorScriptUrl?: string;\n      /** Path to a Javascript file that viewer runs for page components / widgets and applicative business logic */\n      viewerScriptUrl?: string;\n      /** If true, components of the app wont be added to the editor (only run editor scripts) */\n      platformOnly?: boolean;\n      /** If the viewer script should run in the Editor */\n      enableInEditor?: boolean;\n      /** URL to get complex routing decisions at runtime from a platform app. Some spec can be seen here: https://docs.google.com/document/d/1t_3bl9vVMoPVm_I9Sx59LsVUPXi07gihGIg3-F7z8Q0/edit?ts=595512f6#heading=h.9ca9859ng5d */\n      routerServiceUrl?: string;\n      /** Path to a Javascript file that viewer runs for page components / widgets and applicative business logic. Includes verbose logs for Wix runtime. */\n      viewerVerboseScriptUrl?: string;\n      /** Instance id of wixCode in the original dev site. used in order to access the widgets code */\n      wixCodeInstanceId?: string;\n      /** Id of the grid in wixCode FS where the widgets code is located. used in order to access the widgets code */\n      wixCodeGridId?: string;\n      /** Path to a json which contains metaData of the devSite */\n      siteHeaderUrl?: string;\n      /** A map of string descriptor the app understands to a versioned URL topology value, can be an API or statics data. This may have some values which are NOT URL since Studio computes some values on the fly. */\n      baseUrls?: Record<string, string>;\n      /** If true, not shown in add panel and apps panel when it is installed */\n      hideInAddPanel?: boolean;\n      /** if true, this studio component enforce permissions */\n      permissionsEnforced?: boolean;\n  }\n  /** A widget component in the Wix Blocks. */\n  interface StudioWidgetComponentData {\n      /** Id of the widget */\n      studioWidgetId?: string;\n      /** Path to a json which contains the widget data and structure */\n      pageJsonFilename?: string;\n      /** variationId -> widget variation data */\n      variations?: Record<string, StudioWidgetVariation>;\n      /** Product display data for this component */\n      widgetDisplay?: WidgetDisplay;\n      /** If it is required to be installed as part of the app */\n      essential?: boolean;\n      /** The version of blocks used to build this widget */\n      blocksVersion?: string;\n      /** If this component should be stretched in relation to a form factor (desktop, tablet, mobile) */\n      isStretched?: IsStretched;\n      /** Any margins this page should have in relation to a form factor (desktop, tablet, mobile) */\n      margins?: Margins;\n      /** Any docking this page (horizontal / vertical) should have in relation to a form factor (desktop, tablet, mobile) */\n      docking?: Docking;\n      /** The height of this page in relation to a form factor (desktop, tablet, mobile) */\n      height?: Height;\n      /** The width of this page in relation to a form factor (desktop, tablet, mobile) */\n      width?: ApiWidth;\n      /**\n       * Optional, static artifact short name, used for BoB application to indicate the relation between the widget and its static artifact\n       * @internal\n       */\n      relatedArtifact?: string | null;\n      /** Properties of installed custom elements */\n      customElement?: CustomElement;\n      /** ids of nested widgets in this widget */\n      nestedWidgets?: NestedWidgets;\n      /** Properties of widget's presets */\n      presetsInfo?: PresetInfo[];\n      /** Widget properties that affect the way it behaves during installation in a site. */\n      installationSettings?: InstallationSettings;\n      /** Properties that affect the widget's presence in the editor. */\n      editorPresence?: EditorPresence;\n      /** Base info of component by shared logic of unified components */\n      base?: BaseInfo;\n      /** Unified widget installation settings */\n      installation?: WidgetInstallationSettings;\n      /**\n       * if true, ssr will not cache pages that contain this widget\n       * @internal\n       */\n      ssrCacheExcluded?: boolean;\n      /**\n       * The builder component model by shared logic of unified components. Required in oder to create a builder component\n       * @internal\n       */\n      componentModel?: ComponentModel;\n  }\n  /** A variation of a blocks widget */\n  interface StudioWidgetVariation {\n      /** Id of the widget variation */\n      _id?: string;\n      /** Display name of the variation */\n      name?: string;\n      /** Path to a json which contains the widget variation data and structure */\n      pageJsonFilename?: string;\n  }\n  interface CustomElement extends CustomElementConsentCategoryOneOf {\n      essential?: boolean;\n      /** Related to performance and other functional measurements. */\n      functional?: boolean;\n      /** Related to analytics about how the site is used in order to improve it. */\n      analytics?: boolean;\n      /** Related to allowing better customization of the experience to a current visitor. */\n      advertising?: boolean;\n      /** Boolean to make custom element in this widget be available for free sites */\n      allowedForFreeSite?: boolean;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean;\n  }\n  /** @oneof */\n  interface CustomElementConsentCategoryOneOf {\n      essential?: boolean;\n      /** Related to performance and other functional measurements. */\n      functional?: boolean;\n      /** Related to analytics about how the site is used in order to improve it. */\n      analytics?: boolean;\n      /** Related to allowing better customization of the experience to a current visitor. */\n      advertising?: boolean;\n  }\n  /** Nested widgets */\n  interface NestedWidgets {\n      /** ids of all recursively nested widgets from the same Blocks app */\n      internal?: string[];\n  }\n  /** Preset Info */\n  interface PresetInfo {\n      /** Id of the widget's preset */\n      presetId?: string;\n      /** Display name of the widget's preset */\n      presetName?: string;\n      /** The default size used when the preset is added to the stage */\n      defaultSize?: PresetSize;\n  }\n  /** Preset Size */\n  interface PresetSize {\n      /** The width of the preset when it's added to the stage */\n      width?: DisplayValue;\n      /** The height of the preset when it's added to the stage */\n      height?: DisplayValue;\n  }\n  /** Settings to control the behavour of widgets when installed in a wix site. */\n  interface InstallationSettings extends InstallationSettingsOptionsOneOf {\n      /** Extra options needed when `install_page` is set to `PAGE`. */\n      pageOptions?: PageOptions;\n      /** Extra options needed when `install_page` is set to `LIGHTBOX`. */\n      lightboxOptions?: LightboxOptions;\n      /** How to add the widget automatically to the site. Options could be `NO_PAGE`, `CURRENT`, `PAGE` or `LIGHTBOX`. */\n      installPage?: InstallPage;\n      /** Controls whether to show or hide the widget in the add panel. */\n      showInAddPanel?: boolean | null;\n      /** Defines the main preset per breakpoint for the widget. */\n      mainPresets?: MainPresets;\n  }\n  /** @oneof */\n  interface InstallationSettingsOptionsOneOf {\n      /** Extra options needed when `install_page` is set to `PAGE`. */\n      pageOptions?: PageOptions;\n      /** Extra options needed when `install_page` is set to `LIGHTBOX`. */\n      lightboxOptions?: LightboxOptions;\n  }\n  /** The page to which a new widget can be added */\n  enum InstallPage {\n      /** Don't add widget to a page */\n      NO_PAGE = \"NO_PAGE\",\n      /** Add widget to the current page in the editor */\n      CURRENT = \"CURRENT\",\n      /** Add widget to a new page in the editor */\n      PAGE = \"PAGE\",\n      /** Add widget to a new lightbox in the editor */\n      LIGHTBOX = \"LIGHTBOX\"\n  }\n  /** Defines the main preset per breakpoint for the widget. */\n  interface MainPresets {\n      /** The main desktop preset. */\n      desktopPresetId?: string;\n      /** The main tablet preset. */\n      tabletPresetId?: string;\n      /** The main mobile preset. */\n      mobilePresetId?: string;\n  }\n  /** Options for widgets that are added as a page during installation */\n  interface PageOptions {\n      /** Display name of the page that will be shown in the page menu. */\n      pageName?: string;\n      /** The page ID used for navigation purposes. Once set cannot be changed. */\n      pageId?: string;\n  }\n  interface LightboxOptions {\n      /** Display name of the lightbox that will be shown in the lightbox menu. */\n      lightboxName?: string;\n      /** The lightbox ID used for navigation purposes. Once set cannot be changed. */\n      lightboxId?: string;\n  }\n  interface EditorPresence {\n      /** Properties that describe the presence of each of the widget's presets */\n      presetsEditorPresence?: PresetEditorPresence[];\n  }\n  interface PresetEditorPresence {\n      /** Id of the widget's preset */\n      presetId?: string;\n      /** Controls whether to show or hide the preset in the Add Panel */\n      showInAddPanel?: boolean;\n      /** Controls whether to show or hide the preset in the Presets Panel */\n      showInPresetsPanel?: boolean;\n      /** Optional image to show as the preset's thumbnail in the editor, if left empty an automatic snapshot of the preset will be used */\n      wixMediaThumbnail?: string;\n      /** Another preset id that is a mobile variation of this preset */\n      mobilePresetId?: string;\n  }\n  interface BaseInfo {\n      /** The name of the component */\n      name?: string;\n      /** The internal id of the component by the own app */\n      _id?: string;\n  }\n  interface WidgetInstallationSettings {\n      /** Shared installation settings for unified components */\n      base?: BaseInstallation;\n      /** Widget installation settings for unified components */\n      widget?: WidgetInstallation;\n  }\n  interface BaseInstallation {\n      /** Auto add component to stage */\n      autoAdd?: boolean;\n      /** Mark component as essential for the existence of the app (force to delete the whole app) */\n      essential?: boolean;\n      /** Max instances of the component that can be on site */\n      maxInstances?: number | null;\n  }\n  interface WidgetInstallation {\n      /** Preset should be selected defaultly with installation */\n      defaultPreset?: MainPresets;\n      /** Region of widget */\n      region?: RegionType;\n  }\n  enum RegionType {\n      HEADER = \"HEADER\",\n      BODY = \"BODY\",\n      FOOTER = \"FOOTER\"\n  }\n  interface ComponentModel {\n      /** The component type of the builder component. */\n      componentType?: string;\n      /** The component URL of the builder component */\n      componentUrl?: string;\n  }\n  /** A component that indicates the existence of an importable code package in a Wix Blocks application. */\n  interface CodePackageComponentData {\n      /** The GUID to access the package code in the Velo/Wix Code system */\n      gridId?: string;\n      /** Name of the package for display */\n      displayName?: string;\n      /** Name of the package for import */\n      importName?: string;\n      /** An optional description of this package and what it does */\n      description?: string | null;\n  }\n  /** A collection of native components that load directly in the Business Manager */\n  interface DashboardPlatfromComponentData {\n      /** Path to a Javascript file that Dashboard runs on app install */\n      scriptUrl?: string;\n  }\n  /** Inject third party scripts into the user’s site */\n  interface EmbeddedScriptComponentData {\n      /** The script */\n      template?: string;\n      /** A name that’s unique to this component. Names can include letters and the hyphen (-) character only */\n      name?: string;\n      /** What category of pages this will be embedded on (single, many, none) */\n      pages?: EmbeddedScriptPages;\n      /** Where in the HTML this should be embedded */\n      placement?: EmbeddedScriptPlacement;\n      /** An article explaining how to activate the script */\n      connectArticleUrl?: string;\n      /** Type of script you are injecting. This will be used for GDPR and cookie consent purposes */\n      embedCategory?: EmbedCategory;\n      /**\n       * if the script should be loaded once - default and only supported value is true\n       * @readonly\n       */\n      loadOnce?: boolean;\n      /** allow developers to decide if their app script can be install on free sites */\n      allowedForFreeSite?: boolean;\n      /** The runtime dependencies array to declare the widget packages. */\n      dependencies?: WixDependency[];\n  }\n  /** Category of pages this will be embedded on (single, many, none) */\n  enum EmbeddedScriptPages {\n      /** It will not be embedded */\n      NONE_PAGES = \"NONE_PAGES\",\n      /** It will be embedded once */\n      ONCE = \"ONCE\",\n      /** It will be embedded multiple times on specific pages */\n      SPECIFIC_PAGES = \"SPECIFIC_PAGES\"\n  }\n  /** Where that embed will be rendered */\n  enum EmbeddedScriptPlacement {\n      /** It will not be rendered */\n      NONE_PLACEMENT = \"NONE_PLACEMENT\",\n      /** In the document head */\n      HEAD = \"HEAD\",\n      /** Prepended before all children already rendered in the body tag */\n      BODY_START = \"BODY_START\",\n      /** Appended after the last child already rendered in the body tag */\n      BODY_END = \"BODY_END\"\n  }\n  /** Embed category defined for Privacy regulation compliance in EU and CCPA in the US */\n  enum EmbedCategory {\n      /** Not categorized yet */\n      UNKNOWN = \"UNKNOWN\",\n      /** Must load regardless of policy */\n      ESSENTIAL = \"ESSENTIAL\",\n      /** Adds optional functionality to the site */\n      FUNCTIONAL = \"FUNCTIONAL\",\n      /** Adds analytics abilities to the site */\n      ANALYTICS = \"ANALYTICS\",\n      /** Adds advertising content or advertising tracking to the site */\n      ADVERTISING = \"ADVERTISING\"\n  }\n  interface WixDependency {\n      /** The fully qualified package name from npm, example: @wix/frontend-location */\n      packageName?: string;\n      /** The major version of the package (this may be a detail included in the package name, but is conventional in NPM with semver semantics */\n      version?: number;\n  }\n  /** A draggable custom element. Add your custom script and generate ui directly in the viewer */\n  interface WebComponentData {\n      /** A link to a preview image we can render in the editor in place of your component */\n      imagePreview?: string;\n      /** Web component size */\n      size?: Size;\n      /** This script url should render temp empty state */\n      scriptTag?: string;\n      /** Unique tag name to use in order to connect your JS script to your web component */\n      tagName?: string;\n      /** The settings panel URL for this component */\n      settingsUrl?: string | null;\n      /** The editor modal that the user will see */\n      modalTitle?: string;\n      /** Settings CTA label */\n      connectLabel?: string;\n      /** Dynamic settings(Graphic Floating Properties Panel settings) */\n      gfppSettings?: Settings;\n      /** Custom element type PAGE / WIDGET */\n      type?: ElementType;\n      /** Boolean to make this component be available for free sites */\n      allowedForFreeSite?: boolean;\n      /** A public link to the SEO endpoint */\n      seoUrl?: string | null;\n      /** For case that the widget will be used as page */\n      slug?: string | null;\n      /** For case that the widget will be used as page */\n      showPageInMenu?: boolean;\n      /** The details of the selected widget to add */\n      widget?: WidgetDetails;\n      /** Give the option to change the script type */\n      scriptType?: ScriptType;\n      /** Web component default mobile height */\n      defaultMobileHeight?: number | null;\n      /** Prevent the deletion of the widget when set to true. */\n      essential?: boolean;\n      /** Toggle to mark whether the editor should revoke an app that contains this component. */\n      excludeFromAutoRevoke?: boolean;\n      /** defines the widget's behaviour in editor page */\n      widgetBehavior?: WidgetBehavior;\n  }\n  /** Web component size */\n  interface Size {\n      /** Height in pixels */\n      height?: number;\n      /** Width in pixels */\n      width?: number;\n  }\n  /** Graphic Floating Properties Panel settings */\n  interface Settings {\n      activeTab?: string;\n      fetchInitialData?: string | null;\n      tabs?: Tab[];\n  }\n  /** Setting tab definition */\n  interface Tab {\n      label?: string;\n      items?: Container[];\n      /** hidden tab will not be visible in editor and dev center preview */\n      hidden?: boolean;\n  }\n  /** UI Container in page */\n  interface Container extends ContainerDataOneOf {\n      /** containers */\n      main?: Main;\n      section?: Section;\n      drillInListItem?: DrillInListItem;\n      /** items */\n      thumbnails?: Thumbnails;\n      sliderLabeled?: SliderLabeled;\n      dropDownLabeled?: DropDownLabeled;\n      toggleLabeled?: ToggleLabeled;\n      barAlignment?: BarAlignment;\n      textInputLabeled?: TextInputLabeled;\n      resetButton?: ResetButton;\n      fontFamilyWithColorPicker?: FontFamilyWithColorPicker;\n      radioButtonLabeled?: RadioButtonLabeled;\n      colorSelectLabeled?: ColorSelectLabeled;\n      textStyle?: TextStyle;\n  }\n  /** @oneof */\n  interface ContainerDataOneOf {\n      /** containers */\n      main?: Main;\n      section?: Section;\n      drillInListItem?: DrillInListItem;\n      /** items */\n      thumbnails?: Thumbnails;\n      sliderLabeled?: SliderLabeled;\n      dropDownLabeled?: DropDownLabeled;\n      toggleLabeled?: ToggleLabeled;\n      barAlignment?: BarAlignment;\n      textInputLabeled?: TextInputLabeled;\n      resetButton?: ResetButton;\n      fontFamilyWithColorPicker?: FontFamilyWithColorPicker;\n      radioButtonLabeled?: RadioButtonLabeled;\n      colorSelectLabeled?: ColorSelectLabeled;\n      textStyle?: TextStyle;\n  }\n  /** Main 1 */\n  interface Main {\n      items?: MainPropsData[];\n  }\n  /** MainPropsData */\n  interface MainPropsData {\n      dashboardButton?: DashboardButton;\n      richTextWithIllustrationVertical?: RichTextWithIllustrationVertical;\n  }\n  /** DashboardButton main 2 */\n  interface DashboardButton {\n      title?: string;\n      label?: string;\n  }\n  /** RichTextWithIllustrationVertical main 1 */\n  interface RichTextWithIllustrationVertical {\n      key?: string;\n      label?: string;\n      text?: string;\n  }\n  /** Section 2 */\n  interface Section {\n      label?: string;\n  }\n  /** DrillInListItem 3 */\n  interface DrillInListItem {\n      items?: DrillItem[];\n      label?: string;\n  }\n  /** DrillItem */\n  interface DrillItem extends DrillItemDataOneOf {\n      /** containers */\n      section?: Section;\n      /** items */\n      radioButtonLabeled?: RadioButtonLabeled;\n      colorSelectLabeled?: ColorSelectLabeled;\n      thumbnails?: Thumbnails;\n      sliderLabeled?: SliderLabeled;\n      dropDownLabeled?: DropDownLabeled;\n      toggleLabeled?: ToggleLabeled;\n      barAlignment?: BarAlignment;\n      textInputLabeled?: TextInputLabeled;\n      fontFamilyWithColorPicker?: FontFamilyWithColorPicker;\n      textStyle?: TextStyle;\n  }\n  /** @oneof */\n  interface DrillItemDataOneOf {\n      /** containers */\n      section?: Section;\n      /** items */\n      radioButtonLabeled?: RadioButtonLabeled;\n      colorSelectLabeled?: ColorSelectLabeled;\n      thumbnails?: Thumbnails;\n      sliderLabeled?: SliderLabeled;\n      dropDownLabeled?: DropDownLabeled;\n      toggleLabeled?: ToggleLabeled;\n      barAlignment?: BarAlignment;\n      textInputLabeled?: TextInputLabeled;\n      fontFamilyWithColorPicker?: FontFamilyWithColorPicker;\n      textStyle?: TextStyle;\n  }\n  /** RadioButtonLabeled 12 */\n  interface RadioButtonLabeled {\n      key?: string;\n      title?: string;\n      value?: string;\n      options?: string[];\n      description?: string;\n      conditions?: Condition[];\n  }\n  interface Condition {\n      value?: string;\n      state?: SingleKeyCondition[];\n  }\n  interface SingleKeyCondition {\n      key?: string;\n      value?: string;\n      visible?: boolean;\n  }\n  /** ColorSelectLabeled 13 */\n  interface ColorSelectLabeled extends ColorSelectLabeledDataOneOf {\n      customColor?: ColorDefinition;\n      templateColor?: TemplateDefaultColor;\n      title?: string;\n      key?: string;\n      color?: string;\n      defaultData?: ColorDefinition;\n      description?: string;\n  }\n  /** @oneof */\n  interface ColorSelectLabeledDataOneOf {\n      customColor?: ColorDefinition;\n      templateColor?: TemplateDefaultColor;\n  }\n  interface ColorDefinition {\n      value?: string;\n      opacity?: string;\n  }\n  enum TemplateDefaultColor {\n      BACKGROUND = \"BACKGROUND\",\n      SECONDARY_TEXTS = \"SECONDARY_TEXTS\",\n      MAIN_TEXT_AND_ICONS = \"MAIN_TEXT_AND_ICONS\",\n      BORDERS_AND_DIVIDERS = \"BORDERS_AND_DIVIDERS\",\n      BUTTONS_AND_LINKS = \"BUTTONS_AND_LINKS\"\n  }\n  /** Thumbnails 4 */\n  interface Thumbnails {\n      key?: string;\n      title?: string;\n      value?: string;\n      options?: ThumbnailData[];\n      size?: ThumbnailsSize;\n      description?: string;\n      conditions?: Condition[];\n  }\n  /** Structure for thumbnail */\n  interface ThumbnailData {\n      value?: string;\n      src?: string | null;\n      selectedSrc?: string | null;\n      onHoverSrc?: string | null;\n      label?: string;\n  }\n  enum ThumbnailsSize {\n      SMALL = \"SMALL\",\n      MEDIUM = \"MEDIUM\",\n      LARGE = \"LARGE\",\n      XLARGE = \"XLARGE\"\n  }\n  /** SliderLabeled 5 */\n  interface SliderLabeled {\n      key?: string;\n      title?: string;\n      size?: string;\n      placeholder?: string;\n      description?: string;\n      minSize?: number;\n      maxSize?: number;\n  }\n  /** DropDownLabeled 6 */\n  interface DropDownLabeled {\n      key?: string;\n      title?: string;\n      value?: string;\n      options?: string[];\n      description?: string;\n      conditions?: Condition[];\n  }\n  /** ToggleLabeled 7 */\n  interface ToggleLabeled {\n      key?: string;\n      title?: string;\n      value?: boolean;\n      description?: string;\n      conditions?: Condition[];\n  }\n  /**\n   * Elements =========\n   * BarAlignment 8\n   */\n  interface BarAlignment {\n      selected?: BarAlignmentSelected;\n      key?: string;\n      title?: string;\n      description?: string;\n      value?: BarAlignmentSelected;\n      conditions?: Condition[];\n  }\n  /** Bar alignment selected value */\n  enum BarAlignmentSelected {\n      ALIGN_LEFT = \"ALIGN_LEFT\",\n      ALIGN_CENTER = \"ALIGN_CENTER\",\n      ALIGN_RIGHT = \"ALIGN_RIGHT\"\n  }\n  /** TextInputLabeled 9 */\n  interface TextInputLabeled {\n      key?: string;\n      title?: string;\n      placeholder?: string;\n      value?: string;\n      description?: string;\n  }\n  /** 11 */\n  interface FontFamilyWithColorPicker {\n      key?: string;\n      title?: string;\n      description?: string;\n      value?: FontDefinition;\n      defaultValue?: FontDefinition;\n  }\n  /** defintion and enums */\n  interface FontDefinition {\n      font?: string;\n      color?: ColorDefinition;\n  }\n  /** TextStyle 14 */\n  interface TextStyle extends TextStyleDefaultColorOneOf {\n      customColor?: ColorDefinition;\n      templateColor?: TemplateDefaultColor;\n      key?: string;\n      title?: string;\n      description?: string;\n      defaultTextStyle?: DefaultTextStyle;\n  }\n  /** @oneof */\n  interface TextStyleDefaultColorOneOf {\n      customColor?: ColorDefinition;\n      templateColor?: TemplateDefaultColor;\n  }\n  enum DefaultTextStyle {\n      TITLE = \"TITLE\",\n      PARAGRAPH = \"PARAGRAPH\",\n      LOWER_HIERARCHY_TEXTS = \"LOWER_HIERARCHY_TEXTS\"\n  }\n  /** 10 */\n  interface ResetButton {\n      label?: string;\n  }\n  enum ElementType {\n      WIDGET = \"WIDGET\",\n      PAGE = \"PAGE\"\n  }\n  interface WidgetDetails {\n      name?: string | null;\n      icon?: string | null;\n      description?: string | null;\n  }\n  enum ScriptType {\n      NO_SCRIPT_TYPE = \"NO_SCRIPT_TYPE\",\n      MODULE = \"MODULE\"\n  }\n  interface WidgetBehavior {\n      /** Toggle whether the widget is removable from the page. */\n      removable?: boolean;\n      /** Toggle whether the widget is duplicatable from the page. */\n      duplicatable?: boolean;\n  }\n  interface ExtensionData {\n      data?: string;\n      extensionType?: ExtensionType;\n  }\n  enum ExtensionType {\n      NONE_EXTENSION = \"NONE_EXTENSION\",\n      PAYMENTS_GATEWAY_EXTENSION = \"PAYMENTS_GATEWAY_EXTENSION\",\n      COUPONS_EXTENSION = \"COUPONS_EXTENSION\",\n      DROPSHIPPING_EXTENSION = \"DROPSHIPPING_EXTENSION\",\n      FULFILMENT_EXTENSION = \"FULFILMENT_EXTENSION\",\n      DROPSHIPPING_SUPPLIER_EXTENSION = \"DROPSHIPPING_SUPPLIER_EXTENSION\",\n      FULFILLMENT_CENTER_EXTENSION = \"FULFILLMENT_CENTER_EXTENSION\",\n      RESTAURANTS_POS_EXTENSION = \"RESTAURANTS_POS_EXTENSION\",\n      ART_STORE_EXTENSION = \"ART_STORE_EXTENSION\",\n      ASCEND_AUTOMATION_EXTENSION = \"ASCEND_AUTOMATION_EXTENSION\",\n      CONTACT_LABELS_EXTENSION = \"CONTACT_LABELS_EXTENSION\"\n  }\n  interface SnippetSolutionData {\n      code?: string;\n      instructions?: string;\n  }\n  /** A component which represents collections that will be installed as part of the app */\n  interface DataComponent {\n      /**\n       * Token used used by blocks to allow installing collections when the app is installed\n       * @internal\n       */\n      collectionsToken?: string | null;\n  }\n  interface DCConfigData {\n      isVisualApp?: boolean;\n  }\n  interface StaticFileComponentData {\n      url?: string;\n  }\n  interface AppConfig {\n      siteConfig?: SiteConfig;\n      namespace?: string;\n  }\n  interface SiteConfig {\n      /** todo: WEB_URL */\n      siteStructureApi?: string | null;\n  }\n  /**\n   * Business Manager sidebar category that contains sidebar links.\n   * each link in the category opens in the business manager in an iframe.\n   */\n  interface MultipleDashboardsComponentData {\n      /** items inside the category */\n      items?: DashboardItem[];\n  }\n  /**\n   * a single dashboard page,\n   * represented in Business Manager as sidebar link that opens in an iframe\n   */\n  interface DashboardItem {\n      /** name of the sidebar link of the page */\n      label?: string;\n      /** data about the current page */\n      dashboardData?: DashboardComponentData;\n      /** permission to check for this page. */\n      permissionId?: string | null;\n  }\n  /** Test component extension */\n  interface PaymentsGatewayComponentData {\n      /** The shop url */\n      shopUrl?: string;\n  }\n  interface AutomationTrigger {\n      /** The name that will be passed with trigger report event to activate an Automation. */\n      name?: string;\n      /** The name displayed to the user. */\n      displayName?: string;\n      /** The schema of the payload that will be passed with trigger when activating an Automation. */\n      schemaConfig?: SchemaConfig;\n      /**\n       * Email template to be shown when user choose this trigger and email action.\n       * @internal\n       */\n      emailTemplateName?: string | null;\n      deploymentUri?: string;\n      revision?: number;\n  }\n  interface SchemaConfig {\n      /** The fields of the payload as sent in the report event */\n      fields?: SchemaField[];\n      /**\n       * Dynamic schema service URL.\n       * Dynamic schema is used when user needs to choose specific entities from site to activate the Automation.\n       * For example form name, purchased product, etc.\n       */\n      dynamicSchemaUrl?: string | null;\n  }\n  interface SchemaField {\n      /** The key as it appears on the report event payload. */\n      key?: string;\n      /** The name displayed to the user. */\n      displayName?: string;\n      /** The field type */\n      fieldType?: SchemaFieldType;\n      /** Sample values, values that could show up in the payload of a trigger. */\n      sampleValues?: string[];\n      /** The field exposure */\n      exposure?: Exposure;\n  }\n  enum PrimitiveType {\n      UNKNOWN_PRIMITIVE_TYPE = \"UNKNOWN_PRIMITIVE_TYPE\",\n      TEXT = \"TEXT\",\n      BOOLEAN = \"BOOLEAN\",\n      NUMBER = \"NUMBER\"\n  }\n  enum SimpleType {\n      UNKNOWN_SIMPLE_TYPE = \"UNKNOWN_SIMPLE_TYPE\",\n      MONEY = \"MONEY\",\n      LINK = \"LINK\",\n      BACKOFFICE_LINK = \"BACKOFFICE_LINK\",\n      LIVESITE_LINK = \"LIVESITE_LINK\",\n      MULTILINGUAL = \"MULTILINGUAL\",\n      IMAGE_LINK = \"IMAGE_LINK\",\n      GUID = \"GUID\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      CONTACT_ID = \"CONTACT_ID\"\n  }\n  interface Primitive {\n      primitiveType?: PrimitiveType;\n  }\n  interface Simple {\n      simpleType?: SimpleType;\n  }\n  interface _Date {\n      /** Default: false, set this to true if the date is normally a future date, like: Invoice expiration date, Membership renewal date */\n      allowNegativeOffset?: boolean | null;\n  }\n  interface SchemaFieldType extends SchemaFieldTypeFieldTypeOneOf {\n      primitive?: Primitive;\n      simple?: Simple;\n      /**\n       * The field value must conform to the following JSON structure { \"timestamp\": string, \"timeZone\": string }, where the timestamp is ISO format UTC, and the time zone is the full name\n       * Example: { \"timestamp\": \"2021-03-22T11:41:47.992Z\", timeZone: \"Asia/Jerusalem\" }\n       */\n      date?: _Date;\n  }\n  /** @oneof */\n  interface SchemaFieldTypeFieldTypeOneOf {\n      primitive?: Primitive;\n      simple?: Simple;\n      /**\n       * The field value must conform to the following JSON structure { \"timestamp\": string, \"timeZone\": string }, where the timestamp is ISO format UTC, and the time zone is the full name\n       * Example: { \"timestamp\": \"2021-03-22T11:41:47.992Z\", timeZone: \"Asia/Jerusalem\" }\n       */\n      date?: _Date;\n  }\n  enum Exposure {\n      UNKNOWN_EXPOSURE = \"UNKNOWN_EXPOSURE\",\n      /** Not sent to the action provider */\n      SETUP = \"SETUP\",\n      /** Sent to the action provider and usually hidden from user */\n      HIDDEN = \"HIDDEN\",\n      /** Sent to the action provider and usually shown to user */\n      EXPOSED = \"EXPOSED\"\n  }\n  /** represents Invoices integration policies */\n  interface InvoicesActionsComponentData {\n      /** partial payment restriction on invoice */\n      partialPayment?: PartialPaymentRestriction;\n  }\n  /** Possible Partial Payment Policy Values */\n  enum PartialPaymentRestriction {\n      UNDEFINED = \"UNDEFINED\",\n      /** Allow Partial Payment */\n      ALLOW = \"ALLOW\",\n      /** Disallow Partial Payment */\n      DISALLOW = \"DISALLOW\"\n  }\n  /** Experimental-WIP: Specifies the app module configuration of business manager module */\n  interface DashboardApplicationData {\n      /** List of bundles to be loaded for your module */\n      bundles?: Bundle[];\n      /** Your module id as defined in business-manager-api */\n      _id?: string | null;\n      /** List of available page components that your module is registering */\n      pageComponents?: PageDashboardApplicationComponent[];\n      /** The default component to load when another app navigates to your module */\n      defaultPageComponentId?: string | null;\n      /** Config section that will be provided to your lazy component and component along with all other properties from business-manager, if your config object will contain topology parameter, you'll be able to benefit from statics override machanism */\n      config?: AppConfiguration;\n      /** Allows an application to declare that when it's opened inside the business-manager without a deeplink the business-manager home should be shown. It currently only affects opening the app from Editor/ADI */\n      useHomeAsLandingPage?: boolean | null;\n      /** If there are some experiments that define if this page should be enabled, list of experiment lists with OR relationship between them, experiments should be in business manager scope */\n      enabledByExperiments?: ExperimentGroupWrapper[];\n      /** If this module should load in absence of any pages, by default this won't run */\n      loadWithoutPages?: boolean | null;\n      /** List of hosted component of the application */\n      components?: HostedComponent[];\n  }\n  /** Specifes business manager module file bundle */\n  interface Bundle {\n      /** The JavaScript file to load */\n      file?: string;\n      /** If there are some experiments that define if this page should be enabled, list of experiment lists with OR relationship between them, experiments should be in business manager scope */\n      enabledByExperiments?: ExperimentGroupWrapper[];\n      /** A alternative debug file for debugging issues */\n      debugFile?: string | null;\n  }\n  /** Specifies a list of experiments that have AND relationship between them, and OR relationship between each list */\n  interface ExperimentGroupWrapper {\n      /** list of experiments with AND relationship between them, for false value use ! before experiment spec */\n      experimentsGroup?: string[];\n  }\n  /** Specifies page components for a business manager module */\n  interface PageDashboardApplicationComponent {\n      /** The id of the page */\n      _id?: string;\n      /** The route of the page, the part of the url after /dashboard/{msid}/ (must be unique in the specific application) */\n      route?: string;\n      /** The name you used to register this component to the ModuleRegistry (must be unique across apps) */\n      name?: string;\n      /** If there are some experiments that define if this page should be enabled, list of experiment lists with OR relationship between them, experiments should be in business manager scope. */\n      enabledByExperiments?: ExperimentGroupWrapper[];\n      /** Additional routes to the page */\n      routeAliases?: string[];\n  }\n  /** Specifies config for topology and config data */\n  interface AppConfiguration {\n      /** A map of topology key to template url */\n      topology?: Record<string, string>;\n      /** Config section that will be provided to your lazy component and component along with all other properties from business-manager, if your config object will contain topology parameter */\n      configData?: Record<string, string>;\n  }\n  /** Specifes business hosted component configuration */\n  interface HostedComponent {\n      /** A unique id for the component, maps between the host and name */\n      _id?: string;\n      /** The component name used in registerComponentWithModuleParams components can be shared by using the same name but a unique id */\n      name?: string;\n      /** Permissions required for the component, this is not strictly enforced */\n      requiredPermission?: string;\n      /** Represents the collection of components where the component will be hosted, get this value from the host provider. */\n      hostContainerId?: HostContainerId;\n      /** If there are some experiments that define if this page should be enabled, list of experiment lists with OR relationship between them, experiments should be in business manager scope */\n      enabledByExperiments?: ExperimentGroupWrapper[];\n      /** A URI used to send component error events */\n      errorReporting?: ErrorReporting;\n  }\n  enum HostContainerId {\n      BUSINESS_MANAGER = \"BUSINESS_MANAGER\",\n      BUSINESS_DASHBOARD_HOST = \"BUSINESS_DASHBOARD_HOST\",\n      SIDEBAR_FOOTER = \"SIDEBAR_FOOTER\"\n  }\n  /** Contact Labels Extensions */\n  interface ContactLabelsComponentData {\n      /** Allow app-defined labels (Check this box to allow apps to create labels in this namespace.) */\n      allowAppDefinedLabels?: boolean | null;\n      /**\n       * Required permissions to manage app-defined labels\n       * Only apps with this permission will be able to create labels in this namespace.\n       * relevant if allow_app_defined_labels is true\n       * (e.g. EMAIL_MARKETING.MANAGE_LABELS)\n       */\n      permission?: string | null;\n      /**\n       * Predefined labels\n       * These labels exist on all sites that install the app.\n       */\n      predefinedLabels?: PredefinedLabel[];\n  }\n  interface PredefinedLabel {\n      /**\n       * Label key\n       * Can contain letters, dashes, or underscores.\n       * (e.g. my-label)\n       */\n      key?: string;\n      /**\n       * Display Name\n       * Human-readable name to be shown on the UI.\n       * (e.g. My Label)\n       */\n      displayName?: string;\n  }\n  /** A component to be rendered within Widget Slots */\n  interface WidgetPluginComponentData {\n      /** The ID of the actual widget used that is the Plugin component */\n      referenceComponentId?: string;\n      /** The APIs implemented by the Plugin's widget */\n      pluginInterfaces?: PluginInterface[];\n      /** Marketing information about the plugin */\n      marketData?: PluginMarketData;\n      /** The list of placements where the plugin is allowed to be installed */\n      placements?: PluginPlacement[];\n      /** Widget plugin installation settings */\n      installation?: PluginInstallationSettings;\n  }\n  /** Marketing information about the plugin */\n  interface PluginMarketData {\n      /** The name of the Plugin */\n      name?: string;\n      /** The short description of the Plugin */\n      description?: string;\n      /** The logo of the Plugin, should be a square image 35 x 35 px in `JPG` or `PNG` format */\n      logoUrl?: string | null;\n  }\n  /** Combination of IDs that uniquely identify a slot in the app component */\n  interface PluginPlacement {\n      /** Slot app definition ID */\n      appDefinitionId?: string;\n      /** Slot app component ID */\n      widgetId?: string;\n      /** Slot ID (a.k.a. Velo role) */\n      slotId?: string;\n  }\n  interface PluginInstallationSettings {\n      /** Shared installation settings for unified components */\n      base?: BaseInstallation;\n  }\n  interface CrossSellConfig {\n      /** uri for call implementor, could be one of `grpc://<artifact-name>`, `velo://`, `https://` */\n      baseUri?: string;\n  }\n  /** Local Delivery component */\n  interface LocalDeliveryComponentData {\n      /**\n       * URL for the Delivery provider registration web page.\n       * The App Instance and Account Id query parameters are attached to the registration URL\n       * so that you can identify your account when accessing the vendor api. [learn more](https://devforum.wix.com/en/article/app-instance)\n       */\n      registrationUrl?: string;\n      /**\n       * The base URL for all the local delivery api calls.\n       * Description of end points and schema can be find in the local delivery documentation.\n       */\n      apiBaseUri?: string;\n  }\n  /** Configuration for the payment service SPI implementor */\n  interface PaymentServiceProviderConfig {\n      /** Payment service provider to display on Accept payments tab in Business manager */\n      title?: string;\n      /** SPI base url */\n      baseUrl?: string;\n      /** Available payment methods */\n      paymentMethods?: PaymentMethod[];\n      /** Provider authentication methods */\n      credentialsFields?: PaymentServiceProviderCredentialsField[];\n  }\n  interface PaymentMethod extends PaymentMethodMethodOneOf {\n      /** Information about hosted page payment method */\n      hostedPage?: HostedPage;\n  }\n  /** @oneof */\n  interface PaymentMethodMethodOneOf {\n      /** Information about hosted page payment method */\n      hostedPage?: HostedPage;\n  }\n  interface HostedPage {\n      /** The payment method title to be will be displayed on accept payments tab in business manager as well as on the checkout */\n      title?: string;\n      /** Url to images in different formats and colors */\n      logos?: Logos;\n      /** Billing address fields that buyer needs to fill in order to process payment with the specified payment method */\n      billingAddressMandatoryFields?: MandatoryField[];\n  }\n  interface Logos {\n      /** white theme logos */\n      white?: Color;\n      /** colored theme logos */\n      colored?: Color;\n  }\n  interface Color {\n      /** URL to SVG image */\n      svg?: string;\n      /** URL to PNG image */\n      png?: string;\n  }\n  enum MandatoryField {\n      ZIPCODE = \"ZIPCODE\",\n      CITY = \"CITY\",\n      STATE = \"STATE\",\n      ADDRESS = \"ADDRESS\",\n      COUNTRY_CODE = \"COUNTRY_CODE\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      STREET = \"STREET\",\n      HOUSE_NUMBER = \"HOUSE_NUMBER\",\n      TAX_IDENTIFIER = \"TAX_IDENTIFIER\"\n  }\n  interface PaymentServiceProviderCredentialsField extends PaymentServiceProviderCredentialsFieldFieldOneOf {\n      /** text field */\n      simpleField?: SimpleField;\n      /** checkbox field */\n      checkboxField?: CheckboxField;\n      /** dropdown field */\n      dropdownField?: DropdownField;\n  }\n  /** @oneof */\n  interface PaymentServiceProviderCredentialsFieldFieldOneOf {\n      /** text field */\n      simpleField?: SimpleField;\n      /** checkbox field */\n      checkboxField?: CheckboxField;\n      /** dropdown field */\n      dropdownField?: DropdownField;\n  }\n  interface SimpleField {\n      /** field name */\n      name?: string;\n      /** field label */\n      label?: string;\n  }\n  interface CheckboxField {\n      /** field name */\n      name?: string;\n      /** field label */\n      label?: string;\n      /** field tooltip */\n      tooltip?: string | null;\n  }\n  interface DropdownField {\n      /** field name */\n      name?: string;\n      /** field label */\n      label?: string;\n      /** specific options */\n      options?: DropdownFieldOption[];\n  }\n  interface DropdownFieldOption {\n      /** option key */\n      key?: string;\n      /** option value */\n      value?: string;\n  }\n  interface MembershipsSPIConfig {\n      /** The URL of the SPI implementation */\n      deploymentUri?: string;\n      catalogAppDefIds?: string[];\n  }\n  interface LineItemsEnricherConfig {\n      /** the base URI where all the methods are deployed. */\n      baseUri?: string;\n  }\n  interface ShippingRatesConfig {\n      /**\n       * Base URI where the endpoints are called.\n       * Wix eCommerce appends the endpoint path to the base URI.\n       * For example, to call the Get Shipping Rates endpoint at `https://my-shipping-provider.com/v1/getRates`,\n       * the base URI you provide here is `https://my-shipping-provider.com/`.\n       */\n      deploymentUri?: string;\n      /** Human-readable name of the shipping provider. */\n      name?: string;\n      /** Description of the shipping provider. */\n      description?: string | null;\n      /** URL to more info about the shipping provider. */\n      learnMoreUrl?: string | null;\n      /** URL to reach the shipping provider app's dashboard. */\n      dashboardUrl?: string | null;\n      /** Whether to require the site owner to define a fallback/default rate. Set to `true` if you do not provide rates as part of the integration. */\n      fallbackDefinitionMandatory?: boolean;\n      /**\n       * Thumbnail image of the shipping rates provider. Displayed in the shipping settings section in the Dashboard.\n       * The URL must be of an image uploaded to the [Wix Media Manager](https://support.wix.com/en/article/wix-media-uploading-media-to-the-media-manager).\n       */\n      thumbnailUrl?: string | null;\n  }\n  interface ShippingLabelCarrierSpiConfig {\n      /** the base URI where all the methods are deployed */\n      baseUri?: string;\n      /** the countries supported to send from */\n      originCountries?: string[];\n      /** the countries supported to send to */\n      destinationCountries?: string[];\n      /** the currency of the labels */\n      currency?: string;\n      /** the measurement system of he labels (Metric or Imperial) */\n      measurementSystem?: MeasurementSystem;\n      /** does carrier support insurance */\n      isInsuranceSupported?: boolean;\n      /** preset carrier packages */\n      packageTypes?: PackageType[];\n  }\n  enum MeasurementSystem {\n      Metric = \"Metric\",\n      Imperial = \"Imperial\"\n  }\n  interface PackageType {\n      /** carrier id that can be used to get quotes and purchase */\n      _id?: string;\n      /** display name of the package (translated) */\n      name?: string;\n      /** description (translated) */\n      description?: string;\n      /** the dimensions of the package */\n      dimension?: PackageDimension;\n      /** image of the package (Optional) */\n      image?: Image;\n  }\n  interface PackageDimension {\n      /** width of the package */\n      width?: number;\n      /** length of the package */\n      length?: number;\n      /** height of the package (Optional) */\n      height?: number | null;\n  }\n  interface Image {\n      /** WixMedia image ID. */\n      _id?: string;\n      /** Image URL. */\n      url?: string;\n      /**\n       * Original image height.\n       * @readonly\n       */\n      height?: number;\n      /**\n       * Original image width.\n       * @readonly\n       */\n      width?: number;\n      /** Image alt text. Optional. */\n      altText?: string | null;\n      /**\n       * Image URL expiration date (when relevant). Optional\n       * @internal\n       */\n      urlExpirationDate?: Date;\n      /** Image filename. Optional. */\n      filename?: string | null;\n      /**\n       * Image size in bytes. Optional.\n       * @internal\n       */\n      sizeInBytes?: string | null;\n  }\n  /** Restaurants POS component */\n  interface RestaurantsPOSComponentData {\n      /**\n       * URL for the Restaurants POS registration web page.\n       * The App Instance and Account Id query parameters are attached to the registration URL\n       * so that you can identify your account when accessing the vendor api. [learn more](https://devforum.wix.com/en/article/app-instance)\n       */\n      registrationUrl?: string;\n      /**\n       * The base URL for all the Restaurants POS api calls.\n       * Description of end points and schema can be find in the Restaurants POS documentation.\n       */\n      apiBaseUri?: string;\n      /** Configuration parameters defining the behavoiur of the catalog sync. */\n      catalogSyncConfiguration?: CatalogSyncConfiguration;\n  }\n  interface CatalogSyncConfiguration {\n      /** Whether Menu/Section/Dish availability will be updated on the POS side or on Wix Menus. */\n      entityAvailabilityUpdated?: Default;\n      /** Whether fulfillment method will be defined on the POS side or on Wix menus. */\n      fulfillmentMethodsDefinition?: Default;\n      /** Whether Dish images will be updated on the POS side or on Wix Menus. */\n      dishImagesUpdated?: Default;\n      /** Whether sorting (Menu/Category/Dish/Options) will be done on the POS side (API order) or on Wix Menus. */\n      entitySortingControl?: Default;\n      /** Whether Labels will be updated on the POS side or on Wix Menus. */\n      dishLabelsUpdated?: Default;\n      /** whether min/max amount of choices to be set on the POS side or on Wix Menus. */\n      dishOptionsMinMaxUpdated?: Default;\n      /** Whether Dish in/out of stock will be updated on Wix Menus or retrieved from POS. */\n      dishInStockUpdated?: Default;\n  }\n  enum Default {\n      WIX = \"WIX\",\n      POS = \"POS\"\n  }\n  interface ShippingProviderConfig {\n      /** URI configuration of the deployment */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the shipping provider */\n      shippingCompanyName?: string;\n      /** Cost of making a shipment */\n      shippingPrice?: number;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  interface AlertEnricherSpiConfiguration {\n      deploymentUri?: string;\n  }\n  /** A component holding schema of Data Extensions */\n  interface DataExtensionsComponentData {\n      /**\n       * Deprecated, use fqdn and schema instead.\n       * @internal\n       */\n      schemas?: Record<string, string>;\n      /** FQDN of the entity that the application extends */\n      fqdn?: string;\n      /** Schema of the extended fields in JSON Schema compatible format */\n      schema?: Record<string, any> | null;\n  }\n  interface GenericHooksConfig {\n      /** Hook definitions */\n      hooks?: GenericHookConfig[];\n  }\n  enum HookType {\n      UNDEFINED = \"UNDEFINED\",\n      BEFORE_BLOCKING = \"BEFORE_BLOCKING\",\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\"\n  }\n  interface GenericHookConfig {\n      /** FQN of proto service */\n      serviceFqn?: string;\n      /** Name of RPC inside given proto service */\n      methodName?: string;\n      /** An URI, which uniquely identifies the hook for invocation */\n      uri?: string;\n      /** Type of hook */\n      hookType?: HookType;\n  }\n  interface ActionProviderSPIConfig {\n      /** URL to action provider service for this action */\n      baseUri?: string;\n      /** action SPI configuration */\n      actionConfig?: ActionSPIConfig;\n  }\n  interface ActionSPIConfig {\n      /** identifier for this action - human readable action key - unique per app def id */\n      actionKey?: string;\n      /**\n       * The action expects the following input\n       * The schema is described according to JSON Schema standard: https://json-schema.org/\n       *\n       * Example - Add Label to Contact Action input schema:\n       * {\n       * \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n       * \"type\": \"object\",\n       * \"title\": \"Add label to contact input schema\",\n       * \"description\": \"The schema of the json that is sent when invoking this add label to contact action\",\n       * \"default\": {},\n       * \"examples\": [\n       * {\n       * \"contactId\": \"a647eb32-c5f4-11ec-9d64-0242ac120002\",\n       * \"labelId\": \"1e8b5e5e-dba2-11ec-9d64-0242ac120002\"\n       * }\n       * ],\n       * \"required\": [\n       * \"contactId\",\n       * \"labelId\"\n       * ],\n       * \"properties\": {\n       * \"contactId\": {\n       * \"$id\": \"#/properties/contactId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Contact Id\",\n       * \"description\": \"The Id of the contact to apply the label to\",\n       * \"default\": \"\",\n       * \"identityType\": \"contact\" // can be contact/visitor/user, limited to 1 type per identity.\n       * },\n       * \"labelId\": {\n       * \"$id\": \"#/properties/labelId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Label Id\",\n       * \"description\": \"The Id of label to apply\",\n       * \"default\": \"\",\n       * }\n       * }\n       * }\n       */\n      inputSchema?: Record<string, any> | null;\n      /**\n       * The output of the action which will be added to the payload after execution\n       * The schema is described according to JSON Schema standard: https://json-schema.org/\n       *\n       * Example - Output of create task action\n       * {\n       * \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n       * \"type\": \"object\",\n       * \"title\": \"Create task action schema\",\n       * \"description\": \"The schema of the json that is sent when invoking this create task action\",\n       * \"default\": {},\n       * \"examples\": [\n       * {\n       * \"taskId\": \"a647eb32-c5f4-11ec-9d64-0242ac120002\",\n       * }\n       * ],\n       * \"required\": [\n       * \"taskId\"\n       * ],\n       * \"properties\": {\n       * \"taskId\": {\n       * \"$id\": \"#/properties/taskId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Contact Id\",\n       * \"description\": \"The Id of the task created\",\n       * \"default\": \"\",\n       * }\n       * }\n       * }\n       */\n      outputSchema?: Record<string, any> | null;\n      /** actions display name - human readable field. ex. - \"Send SMS\" */\n      displayName?: string | null;\n      description?: string | null;\n      /** specifies which optional methods were implemented */\n      implementedMethods?: ImplementedMethods;\n      /**\n       * Lets us know if we should wait for the action to complete before executing the next actions or finish and\n       * expect a call back in actionCompleted method\n       */\n      executionType?: ExecutionType;\n      metadata?: Metadata;\n      /** chosen ui interface for action */\n      interfaceConfiguration?: InterfaceConfiguration;\n      /** icon representing the action in UI */\n      icon?: string;\n  }\n  enum InterfaceConfigurationType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      WIDGET_COMPONENT = \"WIDGET_COMPONENT\",\n      GENERIC = \"GENERIC\"\n  }\n  interface WidgetComponentOptions {\n      /** name of provided component */\n      componentName?: string;\n  }\n  interface GenericOptions {\n      /** ui schema */\n      uiSchema?: Record<string, any> | null;\n  }\n  interface ImplementedMethods {\n      /** implements ValidateConfiguration */\n      validateConfiguration?: boolean;\n      /** implements DuplicateInputMapping */\n      duplicateInputMapping?: boolean;\n      /** implements GenerateApplicationAutomationInputMapping */\n      generateApplicationAutomationInputMapping?: boolean;\n      /** implements GetQuotaInfo */\n      getQuotaInfo?: boolean;\n      /** implements OnBeforeSave */\n      onBeforeSave?: boolean;\n      /** implements OnReset */\n      onReset?: boolean;\n      /** implements generateActionInputMappingFromTemplate */\n      generateActionInputMappingFromTemplate?: boolean;\n      /** implements OnRemove */\n      onRemove?: boolean;\n      /** Implements GetDynamicInputSchema */\n      getDynamicInputSchema?: boolean;\n  }\n  enum ExecutionType {\n      UNKNOWN_EXECUTION_TYPE = \"UNKNOWN_EXECUTION_TYPE\",\n      SYNC = \"SYNC\",\n      ASYNC = \"ASYNC\"\n  }\n  interface Metadata {\n      /** if the action is hidden from Users in the UI (Wizard) */\n      hidden?: boolean;\n  }\n  interface InterfaceConfiguration extends InterfaceConfigurationOptionsOneOf {\n      widgetComponentOptions?: WidgetComponentOptions;\n      genericOptions?: GenericOptions;\n      /** type of chosen interface */\n      type?: InterfaceConfigurationType;\n  }\n  /** @oneof */\n  interface InterfaceConfigurationOptionsOneOf {\n      widgetComponentOptions?: WidgetComponentOptions;\n      genericOptions?: GenericOptions;\n  }\n  interface CatalogSPIConfig {\n      /** The URL of the SPI implementation */\n      deploymentUri?: string;\n      /** The enablement and UI configuration for discount of all items in the catalog */\n      allItemsDiscount?: DiscountConfig;\n      /** The enablement and UI configuration for discount of specific items in the catalog */\n      specificItemsDiscount?: DiscountConfig;\n  }\n  interface DiscountConfig {\n      /** Signifies if the discount is  enabled  in the service */\n      enabled?: boolean;\n      /** The translation key to get the text to display to the user */\n      translationKey?: string;\n  }\n  /** A container (slot) that can be extended by other applications (e.g. widget slot or context menu slot) */\n  interface BackOfficeExtensionContainer {\n      /** The properties that define this container */\n      extendable?: Extendable;\n      /**\n       * The platform this page is hosted on (e.g. Wix Dashboard)\n       * @internal\n       */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n  }\n  /** Extensibility properties used by containers (slots) */\n  interface Extendable {\n      /** Component type allowed in this extendable (enum) */\n      extendedBy?: ExtendingComponentType;\n  }\n  /** Which component types can be extended in containers */\n  enum ExtendingComponentType {\n      INVALID = \"INVALID\",\n      BACK_OFFICE_MENU_ITEM = \"BACK_OFFICE_MENU_ITEM\",\n      BACK_OFFICE_EXTENSION_WIDGET = \"BACK_OFFICE_EXTENSION_WIDGET\"\n  }\n  /** List of back-office hosting platforms */\n  enum BackOfficeHostingPlatforms {\n      NO_HOSTING_PLATFORM = \"NO_HOSTING_PLATFORM\",\n      /** Site Dashboard (The Wix Dashboard) */\n      BUSINESS_MANAGER = \"BUSINESS_MANAGER\",\n      /** User Account Dashboard */\n      ACCOUNT_MANAGER = \"ACCOUNT_MANAGER\",\n      /** Internal: Dev center */\n      DEV_CENTER = \"DEV_CENTER\",\n      /** Enterprise dashboard (available to enterprise accounts only) */\n      ENTERPRISE = \"ENTERPRISE\",\n      /** Partners dashboard (available to partners accounts only) */\n      PARTNERS_DASHBOARD = \"PARTNERS_DASHBOARD\",\n      /** Employee only financial support dashboard */\n      FINANCIALS_INTERNAL_BO = \"FINANCIALS_INTERNAL_BO\",\n      /** FED Guild POC dashboard */\n      FED_GUILD_POC = \"FED_GUILD_POC\",\n      /** Studio dashboard */\n      STUDIO_DASHBOARD = \"STUDIO_DASHBOARD\",\n      /** Channels dashboard (available to channels accounts only) */\n      CHANNELS = \"CHANNELS\",\n      /** Wix internal dashboard for data tools */\n      DATA_TOOLS = \"DATA_TOOLS\",\n      /** Internal back-office for payment service provider management */\n      PSP_BACKOFFICE = \"PSP_BACKOFFICE\",\n      /** Rise.ai account dashboard */\n      RISE_PLATFORM_ACCOUNT_DASHBOARD = \"RISE_PLATFORM_ACCOUNT_DASHBOARD\",\n      /** Enterprise demo dashboard (available to possible enterprise accounts for demo purposes) */\n      DEMO_DASHBOARD_ENTERPRISE = \"DEMO_DASHBOARD_ENTERPRISE\"\n  }\n  /**\n   * A component that enables extending Wix Dashboard Functionality, as defined by ExtendingComponentType.\n   * Currently this supports extending menus and extending widget slots (for Wix apps that expose such menus and slots)\n   */\n  interface BackOfficeExtension extends BackOfficeExtensionExtensionOneOf {\n      /** Data for the widget extension type */\n      widget?: LegacyBackOfficeExtensionWidget;\n      /** Data for the menu item extension type */\n      menuItem?: LegacyBackOfficeMenuItem;\n      /** The Identifier of the container that this extension applies to (e.g. Widget slot or menu slot) */\n      extends?: string;\n      /** The title of the extension, as displayed in Dev Center */\n      title?: string;\n      /** The description of the extension, as displayed in Dev Center */\n      description?: string | null;\n      /** The type of this extension (e.g. Widget extension) */\n      extensionType?: ExtendingComponentType;\n      /** The platform this page is hosted on (e.g. The Wix Dashboard, or Enterprise Dashboard) */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /**\n       * Required permission to view the extension.\n       * @internal\n       */\n      requiredPermission?: string;\n      /**\n       * Sentry error reporting DSN (internal)\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n  }\n  /** @oneof */\n  interface BackOfficeExtensionExtensionOneOf {\n      /** Data for the widget extension type */\n      widget?: LegacyBackOfficeExtensionWidget;\n      /** Data for the menu item extension type */\n      menuItem?: LegacyBackOfficeMenuItem;\n  }\n  /** The schema of a widget extending a slot exposed in a page in the Wix Dashboard */\n  interface LegacyBackOfficeExtensionWidget extends LegacyBackOfficeExtensionWidgetAssetOneOf {\n      /** Url of the iframe to render in the widget */\n      iframeUrl?: string;\n      /**\n       * Wix script asset to use in this widget\n       * @internal\n       */\n      scriptAsset?: BackOfficeScriptAsset;\n      /** Initial widget width size in pixels while loading, width may be adjusted dynamicaly according to content and/or limited by the container */\n      width?: number | null;\n      /** Initial widget height size in pixels while loading, height may be adjusted dynamicaly according to content and/or limited by the container */\n      height?: number | null;\n  }\n  /** @oneof */\n  interface LegacyBackOfficeExtensionWidgetAssetOneOf {\n      /** Url of the iframe to render in the widget */\n      iframeUrl?: string;\n      /**\n       * Wix script asset to use in this widget\n       * @internal\n       */\n      scriptAsset?: BackOfficeScriptAsset;\n  }\n  /** Internal: Specifications for loading an asset via JS in the back office */\n  interface BackOfficeScriptAsset {\n      /** The JavaScript file to load */\n      url?: string;\n      /** Namespacing of the component in the Webpack Module Federation registry */\n      containerId?: string;\n      /** Key name for the retrieval of the component */\n      exportedName?: string;\n      /** Optional: What type should by used on <script> tag. */\n      scriptType?: BackOfficeScriptAssetType;\n  }\n  /** Type attribute for the script tag */\n  enum BackOfficeScriptAssetType {\n      /** Script will be loaded without a type attribute */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** Use \"module\" as the script type */\n      MODULE = \"MODULE\"\n  }\n  /** The schema of a menu extension of a slot exposed in a page in the Wix Dashboard */\n  interface LegacyBackOfficeMenuItem {\n      /**\n       * WSR icon identifier. To see the full list: https://www.wix-style-react.com/storybook/?path=/story/foundations-icons--icons\n       * Please use the full size key - the icon will be rendered in a small/normal size\n       */\n      iconKey?: string | null;\n      /** The action that will be invoked when clicking on the menu entry */\n      action?: Action;\n      /** The SubTitle of the menu item */\n      subtitle?: string | null;\n  }\n  /** View modes for how to open a component */\n  enum ViewMode {\n      /** Opens a page in place of the current page */\n      PAGE = \"PAGE\",\n      /** Opens as a Modal over the current page */\n      MODAL = \"MODAL\"\n  }\n  /** the schema of the data needed to open a component from menu extensions */\n  interface OpenComponent {\n      /** The component ID that should be opened */\n      componentId?: string;\n      /** Determines how to open the component in runtime */\n      viewMode?: ViewMode;\n      /** Query/Search static params for navigation to page or props for modal */\n      componentParams?: Record<string, string>;\n  }\n  /** The schema of an action that is onvoked from menu extensions */\n  interface Action {\n      /** The configuration and data of the component that is opened upon invocation of this action */\n      openComponent?: OpenComponent;\n  }\n  interface TriggerProviderSPIConfig {\n      /**\n       * The trigger configuration\n       *\n       * example of a trigger:\n       *\n       * {\n       * appId: \"56cc7843-fdfc-417f-a660-d4af9a2eafe3\",\n       * triggerKey: \"form_submit\",\n       * displayName: \"Visitor submits a form\",\n       * payloadDataSchema: {\n       * \"$schema\": \"http://json-schema.org/draft-07/schema\",\n       * \"type\": \"object\",\n       * \"title\": \"Visitor submits a form Payload Schema\",\n       * \"description\": \"The schema of the payload that is part of the triggered event\",\n       * \"default\": {},\n       * \"examples\": [\n       * {\n       * \"formId\": \"60d2cd50-1047-4164-884d-8c24fbda84bb\",\n       * \"formName\": \"My Cool Form\n       * }\n       * ],\n       * \"properties\": {\n       * \"formId\": {\n       * \"$id\": \"#/properties/formId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Form ID\",\n       * \"description\": \"The form identifier\",\n       * \"default\": \"\",\n       * \"examples\": [\n       * \"60d2cd50-1047-4164-884d-8c24fbda84bb\"\n       * ]\n       * },\n       * \"formName\": {\n       * \"$id\": \"#/properties/formName\",\n       * \"type\": \"string\",\n       * \"title\": \"Form Name\",\n       * \"description\": \"The form display name\",\n       * \"default\": \"\",\n       * \"examples\": [\n       * \"My Form\"\n       * ]\n       * },\n       * \"contactId\": {\n       * \"$id\": \"#/properties/contactId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Contact Id\",\n       * \"description\": \"The Id of the contact which submitted the form\",\n       * \"default\": \"\",\n       * \"identityType\": \"contact\", // can be contact, visitor, user limited to 1 type per identity,\n       * \"name\": \"contact\" // friendly name to be used later on, in order to user that person's data \"contact.firstName\"\n       * }\n       * },\n       * \"required\": [\n       * \"formId\",\n       * \"formName\",\n       * \"contactId\"\n       * ],\n       * \"additionalProperties\": false\n       * }\n       * }\n       */\n      triggerConfig?: Record<string, any> | null;\n      /** URL to the trigger provider service */\n      baseUri?: string;\n  }\n  interface PreRegisterConfig {\n      /** the base URI where all the methods are deployed. */\n      baseUri?: string;\n  }\n  interface ProductsPathsConfig {\n      /** implementer's deployment uri */\n      deploymentUri?: string;\n  }\n  interface CustomScopeConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n  }\n  interface GiftCardProviderConfig {\n      /** The URL of the SPI implementation */\n      deploymentUri?: string;\n  }\n  interface ExternalFilterProviderConfig {\n      /** the base URI where all the methods are deployed. E.g */\n      baseUri?: string;\n  }\n  interface RecommendationsProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** app ids of catalogs for which related items can be found */\n      catalogAppIds?: string[];\n      /** supported algorithms */\n      supportedAlgorithms?: AlgorithmConfig[];\n  }\n  interface AlgorithmConfig {\n      /** Algorithm id which will be sent in requests. It must be unique per provider. */\n      _id?: string;\n      /** Name which will be shown to user in list of algorithms available for site. For example \"Best sellers\", \"Frequently watched together\". This value is not translatable. */\n      name?: string;\n      /** Description of algorithm which will be shown to user in list of algorithms available for site. This value is not translatable. It should describe how algorithm works, if it has any limitations regarding site content, number of items, site traffic and so on. */\n      description?: string;\n      /** This field can be used when `description ` field is not enough to describe algorithm and you want to have separate section with additional info. It can be used to not overload user with too much information on main page. Depending on frontend implementation it can be displayed as tooltip or as additional section which is collapsed by default. */\n      additionalInfo?: string | null;\n      /**\n       * `RELATED_ITEMS` - algorithm provides recommendations based on some other items interested for user/user of user. For example once one item added to cart algorithm can suggest other items frequently bought together with given one.\n       * `GLOBAL` - algorithm provides generic recommendations for given site. For example, best sellers items or new arrivals\n       */\n      algorithmType?: AlgorithmType;\n  }\n  enum AlgorithmType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      RELATED_ITEMS = \"RELATED_ITEMS\",\n      GLOBAL = \"GLOBAL\"\n  }\n  interface DropshippingProviderSPIConfig {\n      /** name of the dropshipping provider was it appears in relevant screens/mails in eComm Platform */\n      name?: string;\n      /** The URL of the SPI implementation - not needed in this case */\n      deploymentUri?: string;\n      /** URI for the thumbnail page */\n      thumbnailUri?: string;\n      /** URI of the dashboard page */\n      dashboardUri?: string;\n      /** if duplication operation for product is locked */\n      duplicateProduct?: LockableOperation;\n      /** whether there is a warning or not when price is changed */\n      changePrice?: RestrictedOperation;\n      /** whether the chagne inventory operations are locked */\n      changeInventory?: LockableOperation;\n      /** where there is a warning of not when changing options */\n      manageOptions?: RestrictedOperation;\n  }\n  enum LockableOperation {\n      /** When operation lockability is not specified */\n      UNSPECIFIED_LOCKABLE = \"UNSPECIFIED_LOCKABLE\",\n      /** Operation is locked */\n      LOCKED = \"LOCKED\",\n      /** Operation is unlocked */\n      UNLOCKED = \"UNLOCKED\"\n  }\n  enum RestrictedOperation {\n      UNSPECIFIED_RESTRICTED = \"UNSPECIFIED_RESTRICTED\",\n      ALLOW = \"ALLOW\",\n      WARN = \"WARN\"\n  }\n  interface InvoicesConfig {\n      /** Base URI of spi provider */\n      baseUri?: string;\n  }\n  interface SeoKeywordsSuggestionsSPIConfig {\n      /** Base URL of your SEO implementation. Wix sends API requests to endpoints implemented using this URL. */\n      baseUri?: string;\n      /** URL of the page where users can purchase a paid plan. Wix offers a link to this page when you respond with a value of `false` in quota's `paidPlan` property. */\n      upgradeUrl?: string | null;\n      /**\n       * List of countries you support for SEO analysis.\n       * 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format.\n       */\n      supportedCountryCodes?: string[];\n      /** Whether there is a quota limit in the service. When set to true, include the quota object in responses. */\n      quotaEnabled?: boolean | null;\n      /** Your website's landing page. */\n      landingPageUrl?: string;\n  }\n  interface CustomTriggerConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n  }\n  interface ContentProviderConfig {\n      /** base uri for each implementer */\n      deploymentUri?: string;\n      /** a human readable name of the provider */\n      providerName?: string;\n      /** the maximum items allowed to read and update in a single request */\n      maximumReadingBulkSize?: number | null;\n  }\n  /** Automation Component data that is stored in dev center */\n  interface ApplicationAutomationComponent {\n      /** A rule that contains a trigger & some actions */\n      rule?: Rule;\n      /** Automation name */\n      name?: string | null;\n      /** Automation description */\n      description?: string | null;\n      /** Automation metadata */\n      metadata?: AutomationMetadata;\n      /** Automation status */\n      status?: Status;\n  }\n  interface Rule {\n      /** an event triggered by visitors on a site, or by a site manager (owner & team). */\n      trigger?: Trigger;\n      /** the actions responding to the trigger happening */\n      actions?: ServiceAction[];\n  }\n  interface Trigger {\n      /** the id of the app defining the trigger */\n      appId?: string;\n      /** Identifier for this trigger - human readable action key */\n      triggerKey?: string;\n      /** optional list of filters on schema fields */\n      filters?: Filter[];\n      /**\n       * optional - allows to define a trigger whose following actions will be executed only if the same event for the same resource has not in the last X seconds.\n       * for example, if the trigger is \"session booked\", the resource is a contact and the timeframe is 3600 seconds (contact hasn't booked another session in the last hour),\n       * then the actions will be executed only if the same event (session booked for that contact) has not happened in the last hour.\n       * resource id is sent in runtime via the externalEntityId parameter, ReportEvent method.\n       */\n      debounce?: Debounce;\n  }\n  interface Filter {\n      /** the filter identifier */\n      _id?: string | null;\n      /** the field key from the schema, for example \"formId\" */\n      fieldKey?: string;\n      /** filter expression that evaluates to a boolean, for example - {{ contains([\"guid1\",\"guid2\"];formId) }} */\n      filterExpression?: string;\n  }\n  interface Debounce {\n      /**\n       * Amount of time in seconds to wait for any additional events to occur before triggering the actions.\n       * If no additional events occur within the specified time, the actions will be triggered.\n       * If additional events occur within the specified time, the timer will be reset.\n       */\n      timeFrameInSeconds?: number;\n      /**\n       * The field key in the event payload, which indicates the identifier of the entity/event to debounce on\n       * For example: if the trigger is \"user logged in\", the resource is a contact and the resource key is \"contactId\",\n       * Another example: if the trigger is \"visitor logged in\", the resource is a visitor and the resource key is \"visitorId\".\n       */\n      fieldKey?: string;\n  }\n  interface ServiceAction {\n      /**\n       * the id of the action for delayed events\n       * @readonly\n       */\n      _id?: string | null;\n      /** the id of the app defining the action */\n      appId?: string;\n      /** Identifier for this action - human readable action key - unique per app def id */\n      actionKey?: string;\n      /**\n       * input mapping expression for the action inputs\n       * for example:\n       * `{  \"subject\": \"Thanks for reaching out!\"\n       * \"message\": \"Hi {{contact.name.first}}, thanks for contacting our business\"\n       * }`\n       * where the value for \"contact.name.first\" comes from the trigger's payload\n       */\n      actionConfig?: string;\n      /**\n       * output mapping expression for the action output\n       * for example in get-contact action:\n       * `{ \"author\": \"{{$}}\" }`\n       * This will map the entire entity of contact under `author` namespace\n       */\n      outputActionConfig?: string | null;\n      /** Optional delay configuration for the action */\n      delay?: Delay;\n      /** allows you define an activation policy - like number of activations in a time frame, or limit by some identifier, like contact (e.g. send email to user only at first login) */\n      rateLimit?: RateLimit;\n      /** allows the user to define a condition for the action to be executed, if the condition fails the action (and following actions) will not be executed */\n      condition?: ActionCondition;\n      conditions?: Conditions;\n      /** allows the user to define a namespace for the action output */\n      namespace?: string | null;\n  }\n  enum BlockType {\n      UNKNOWN = \"UNKNOWN\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  interface ConditionBlock {\n      type?: BlockType;\n      lineExpressions?: string[];\n  }\n  interface Offset extends OffsetValueOneOf {\n      /** A delay in seconds */\n      seconds?: number;\n      /** The key of the field in the trigger payload which contains a delay, in seconds. */\n      delayFieldKey?: string;\n  }\n  /** @oneof */\n  interface OffsetValueOneOf {\n      /** A delay in seconds */\n      seconds?: number;\n      /** The key of the field in the trigger payload which contains a delay, in seconds. */\n      delayFieldKey?: string;\n  }\n  /** calculated as date + delay */\n  interface Until {\n      /** The key of the field in the trigger payload which contains the date to delay until */\n      dateFieldKey?: string;\n      /** Optional: a delay to add together with the date described in the payload */\n      offset?: Offset;\n  }\n  interface Delay extends DelayTypeOneOf {\n      /** A delay which is calculated based on the immediate time when the action is triggered. */\n      for?: Offset;\n      /** A delay which is calculated based on a date field in the trigger payload. May also be used together with an Offset delay. */\n      until?: Until;\n  }\n  /** @oneof */\n  interface DelayTypeOneOf {\n      /** A delay which is calculated based on the immediate time when the action is triggered. */\n      for?: Offset;\n      /** A delay which is calculated based on a date field in the trigger payload. May also be used together with an Offset delay. */\n      until?: Until;\n  }\n  interface RateLimit {\n      /** time frame in minutes */\n      timeFrame?: number | null;\n      /** number of activations allowed in the given time frame */\n      activations?: number;\n      /** limit the activation by an entity, for example activate once per contact. example: {{contact.id}} */\n      uniqueIdentifierExpression?: string | null;\n  }\n  interface ActionCondition {\n      /**\n       * entity object is deprecated due to the new approach to conditions\n       * the condition expression, for example - {{and(gt(price;10);lt(price;100))}}\n       */\n      conditionExpression?: string;\n  }\n  interface Conditions {\n      /** condition evaluates to `true` if either of the blocks evaluate to `true` (aka OR between all) */\n      conditionBlocks?: ConditionBlock[];\n  }\n  interface AutomationMetadata {\n      /** Is this Automation hidden on a site? */\n      hidden?: boolean;\n      /** Can this Automation be deactivated on a site? */\n      alwaysActive?: boolean;\n      /** Is this Automation's scheduling modification is disabled on a site? */\n      schedulingModificationDisabled?: boolean;\n      /** Is the removal of this Automation's actions disabled? */\n      actionRemovalDisabled?: boolean;\n      /** Is conditions editing for this Automation allowed on a site? */\n      actionConditionsEditingDisabled?: boolean;\n  }\n  enum Status {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  /** Back-office sidebar categories */\n  interface BackOfficeSidebarCategory {\n      /**\n       * The hosting platform of the category\n       * @internal\n       */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** Category title, used as sidebar entry label */\n      title?: string;\n      /** Sidebar order within the app */\n      priority?: number;\n  }\n  /** A page in one of the back-office platforms */\n  interface BackOfficePage extends BackOfficePageAssetOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n      /**\n       * The platform this page is hosted on\n       * @internal\n       */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** The route of the page, must be a valid URL path, relative to the app namespace or app id */\n      routePath?: string;\n      /** Routes that redirect to this page, these paths should include the original path including the namespace or app id */\n      previousRoutePaths?: string[];\n      /** Page title, also used as sidebar entry label */\n      title?: string;\n      /** False by default, if true, sidebar will be hidden when loading the page */\n      fullPage?: boolean;\n      /**\n       * Required permission to view page. if subject is missing this permission, the page link will be hidden from the sidebar and a \"no-permission-page\" will be displayed when visiting the route\n       * @internal\n       */\n      requiredPermission?: string;\n      /** Optional: category this page belongs to */\n      pageCategoryId?: string | null;\n      /** Should the page be shown or hidden in the sidebar, by default a link to the page will be shown */\n      hideInSidebar?: boolean;\n      /** Sidebar order within the category and app, lower priority means the page is earlier, by default priority is 0, meaning newer pages will appear first */\n      priority?: number;\n      /** Which page is active in sidebar when this page is loaded */\n      activeSidebarPageId?: string | null;\n      /**\n       * Sentry error reporting DSN\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n  }\n  /** @oneof */\n  interface BackOfficePageAssetOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n  }\n  interface AdditionalFeesSPIConfig {\n      /**\n       * Base URI where the endpoints are called.\n       * Wix eCommerce appends the endpoint path to the base URI.\n       * For example, to call the Calculate Additional Fees endpoint at `https://my-additional-fees.com/v1/calculateAdditionalFees`,\n       * the base URI you provide here is `https://my-additional-fees.com/`.\n       */\n      deploymentUri?: string;\n      /**\n       * If not specified, the cache layer will apply for 5 minutes. Set to \"false\" to prevent caching, but be aware that this may affect performance. Default: true\n       * @internal\n       */\n      cacheable?: boolean | null;\n  }\n  /** Describes a notification that can be sent to users */\n  interface PingNotificationComponentData {\n      /**\n       * The ID of a specific version of the notification template.\n       * @internal\n       */\n      templateId?: string;\n  }\n  interface BookingsPricingProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** User-friendly name of the pricing provider */\n      pricingProviderName?: string;\n  }\n  interface AuthenticatorConfig {\n      /** the base URI where all the methods are deployed. */\n      baseUri?: string;\n      /** Is the enrolment step required (eg. for saving the password, public key, etc.) */\n      requireUserEnroll?: boolean;\n      /** Information required during the enrollment and authentication processes */\n      expectedInputs?: ExpectedInputs;\n  }\n  interface ExpectedInputs {\n      /** Inputs that will be expected from the user at the start of the process of trying to enroll or authenticate */\n      expectedStartInputs?: PredefinedExpectedInput[];\n      /** Inputs that may be required during a second step of enroll/authenticate, specified at runtime by sending a Verify response */\n      expectedVerifyInputs?: PredefinedExpectedInput[];\n  }\n  /**\n   * Specifies an expected input that can be fully configured by the SPI implementor, perhaps with overrides by the admin, _before_ runtime.\n   * Notably, this does not include WebAuthn, as that input requires a unique, random challenge to be generated and persisted per request (ie at runtime)\n   * in order to be implemented correctly.\n   */\n  interface PredefinedExpectedInput {\n      /** The key used to identify the value entered into the input in the user_start_inputs or user_verify_inputs map */\n      key?: string;\n      /** The name of the input as it should be indicated to the user */\n      displayName?: string;\n      /** The configuration for the input */\n      configuration?: PredefinedExpectedInputConfiguration;\n  }\n  interface PredefinedExpectedInputConfiguration extends PredefinedExpectedInputConfigurationTypeOneOf {\n      textInput?: AdminConfigurableTextInput;\n  }\n  /** @oneof */\n  interface PredefinedExpectedInputConfigurationTypeOneOf {\n      textInput?: AdminConfigurableTextInput;\n  }\n  interface AdminConfigurableTextInput {\n      /** The default settings for the text input */\n      defaultSettings?: TextInputSettings;\n      /**\n       * Settings that must be have non-null values.\n       * This must be a subset of admin_configurable_settings.\n       * @internal\n       */\n      requiredSettings?: string[];\n      /**\n       * Settings that the admin may override.\n       * This must be a valid FieldMask with respect to TextFieldSettings as the root object.\n       * @internal\n       */\n      adminConfigurableSettings?: string[];\n  }\n  interface TextInputSettings {\n      /** The minimum length required for the user to enter */\n      minLength?: number | null;\n      /** The maximum length allowed for the user to enter */\n      maxLength?: number | null;\n      /** A regex that the text entered by the user must match */\n      regex?: string | null;\n      /** How should the field be displayed to the end user */\n      displayType?: TextInputDisplayType;\n  }\n  enum TextInputDisplayType {\n      /** A regular text field */\n      TEXT = \"TEXT\",\n      /** A password field (where the text is hidden visually) */\n      PASSWORD = \"PASSWORD\",\n      /** A field optimized for one time codes */\n      CODE = \"CODE\"\n  }\n  interface IDPConnectionConfig {\n      /** the base URI where all the methods are deployed. */\n      baseUri?: string;\n      /** Information required from the admin when he will install the app; */\n      requiredConfig?: Record<string, string>;\n  }\n  interface ItemsSelectionProviderConfig {\n      /** Base URI which Wix calls to retrieve the selected items. For example, `\"deploymentUri\": \"https://my-items.com\"`. */\n      deploymentUri?: string;\n      /** A unique identifier for the provider. */\n      key?: string;\n      /** Supported search parameters. */\n      searchParams?: SearchParams;\n      /** Display data such as provider name and icon. */\n      contentData?: ContentData;\n      /**\n       * Optional additional step taken after the initial item selection.\n       * @internal\n       */\n      additionalStepInfo?: AdditionalStepInfo;\n      /** An array of strings representing the Wix UI pages supported by your SPI implementation. If no tags are listed, Wix assumes that the implementation supports all eligible pages. */\n      supportedTags?: Tag[];\n      /**\n       * Optional create new item option, to define a widget that will be opened to create a new item\n       * @internal\n       */\n      createNewItemInfo?: CreateNewItemInfo;\n  }\n  interface LearnMore {\n      /** The url of the learn more link. If you want a dynamic url according to the user locale, you can add {{locale}} variable within the string. */\n      url?: string;\n      /** Optional link label. */\n      label?: string | null;\n  }\n  interface SearchField {\n      /** Supported searchable fields. */\n      key?: string;\n      /** Item description. */\n      description?: string;\n  }\n  interface FilterInfo extends FilterInfoOptionsOneOf {\n      /** Static hardcoded options */\n      staticOptions?: StaticFilterOptions;\n      /** Key of the filter */\n      key?: string;\n      /** Optional filter will be shown only for consumers with this tag. Only one filter is allowed per tag. */\n      tag?: Tag;\n      /** The filter selection type. For now only single selection is available */\n      selectionType?: FilterSelectionType;\n      /** Filter options type. For now only static options are supported */\n      optionsType?: FilterOptionsType;\n  }\n  /** @oneof */\n  interface FilterInfoOptionsOneOf {\n      /** Static hardcoded options */\n      staticOptions?: StaticFilterOptions;\n  }\n  enum Tag {\n      UNKNOWN_TAG = \"UNKNOWN_TAG\",\n      EMBEDDABLE = \"EMBEDDABLE\",\n      ECOM_EDIT_ORDER = \"ECOM_EDIT_ORDER\",\n      ECOM_CREATE_ORDER = \"ECOM_CREATE_ORDER\",\n      INBOX = \"INBOX\"\n  }\n  enum FilterSelectionType {\n      UNKNOWN_SELECTION = \"UNKNOWN_SELECTION\",\n      /** Allow to select only a single item */\n      SINGLE_SELECTION = \"SINGLE_SELECTION\"\n  }\n  enum FilterOptionsType {\n      UNKNOWN_FILTER_OPTIONS = \"UNKNOWN_FILTER_OPTIONS\",\n      /** Static hardcoded options */\n      STATIC = \"STATIC\"\n  }\n  interface StaticFilterOptions {\n      /** List of hardcoded options for a filter */\n      data?: StaticFilterOption[];\n  }\n  interface StaticFilterOption {\n      /** Title of a filter option */\n      label?: string;\n      /** Value of a filter option */\n      value?: string;\n  }\n  interface SearchParams {\n      /** Supported search parameters. */\n      fields?: SearchField[];\n      /** Filter for viewing only part of the items. */\n      filter?: FilterInfo;\n  }\n  interface ContentData {\n      /** Provider icon. Choose an icon name from the [Wix Design System](https://www.wixdesignsystem.com/). */\n      iconKey?: string | null;\n      /** Provider name. */\n      providerName?: string;\n      /** Item title. */\n      title?: string;\n      /** Button label. */\n      button?: string;\n      /** Item description. */\n      subtitle?: string | null;\n      /** Learn more link. */\n      learnMore?: LearnMore;\n  }\n  interface AdditionalStepInfo {\n      /** ID of the widget associated with the step. */\n      widgetId?: string;\n      /** Title of the additional step. */\n      title?: string;\n      /** Subtitle of the additional step. */\n      subtitle?: string | null;\n      /** Hide item note if exists when showing selected item on additional step header, default: false. */\n      hideItemNote?: boolean | null;\n  }\n  interface CreateNewItemInfo {\n      /** ID of the widget associated with the new item modal. */\n      widgetId?: string;\n      /**\n       * one app (mobile) component id that will be opened to create a new item\n       * @internal\n       */\n      mobileComponentId?: string | null;\n      /** Button label for creating a new item */\n      buttonText?: string | null;\n  }\n  interface SyncedProjectsProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: string;\n      /** The Provider Name */\n      providerName?: string;\n      /** which project's fields are synced by the provider, and therefore will not be editable through wix portfolio project page. */\n      projectSyncedFields?: string[];\n  }\n  interface CommunicationChannelConfiguration {\n      deploymentUri?: string;\n      config?: ChannelConfiguration;\n  }\n  interface ChannelConfiguration extends ChannelConfigurationMessagingConfigOneOf {\n      directMessageConfig?: DirectMessageConfig;\n      emailMessageConfig?: EmailMessageConfig;\n      smsMessageConfig?: SmsMessageConfig;\n      /** The type of the communication channel */\n      type?: ChannelType;\n      /** Specific provider branding parameters for the channel */\n      branding?: ChannelBranding;\n      /** Conversation initiation definition */\n      conversationLimitations?: ConversationLimitations;\n  }\n  /** @oneof */\n  interface ChannelConfigurationMessagingConfigOneOf {\n      directMessageConfig?: DirectMessageConfig;\n      emailMessageConfig?: EmailMessageConfig;\n      smsMessageConfig?: SmsMessageConfig;\n  }\n  /** The type of the communication channel */\n  enum ChannelType {\n      UNKNOWN_CHANNEL_TYPE = \"UNKNOWN_CHANNEL_TYPE\",\n      DIRECT_MESSAGING = \"DIRECT_MESSAGING\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\"\n  }\n  interface DirectMessageConfig {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      acceptAllMessageTypes?: boolean;\n      /**\n       * Direct message types accepted by the provider. only those types will be sent from Wix\n       * If all are excepted this field can be left empty and there's no need to explicitly state types\n       */\n      acceptedMessageTypes?: AcceptedDirectMessageType[];\n      /** Elaborates what media types (mime types) and sizes are supported */\n      mediaCapabilities?: MediaCapabilities;\n  }\n  enum AcceptedDirectMessageType {\n      TEXT = \"TEXT\",\n      MEDIA = \"MEDIA\",\n      CARD = \"CARD\",\n      ANNOUNCEMENT = \"ANNOUNCEMENT\",\n      FORM = \"FORM\"\n  }\n  interface MediaCapabilities {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      allMediaTypes?: boolean;\n      /**\n       * List for supported media types\n       * If all are excepted this field can be left empty and there's no need to explicitly state types\n       */\n      supportedMediaTypes?: MediaMimeType[];\n      /** Maximum file size in bytes of a single file in a message */\n      maxFileSizeInBytes?: number | null;\n  }\n  /** Mime type for relevant media entities in channels */\n  enum MediaMimeType {\n      UNKNOWN_MIME_TYPE = \"UNKNOWN_MIME_TYPE\",\n      IMAGE_JPEG = \"IMAGE_JPEG\",\n      IMAGE_PNG = \"IMAGE_PNG\",\n      IMAGE_WEBP = \"IMAGE_WEBP\",\n      VIDEO_MPEG = \"VIDEO_MPEG\",\n      VIDEO_MP4 = \"VIDEO_MP4\",\n      VIDEO_3GP = \"VIDEO_3GP\",\n      AUDIO_AAC = \"AUDIO_AAC\",\n      AUDIO_MP4 = \"AUDIO_MP4\",\n      AUDIO_MPEG = \"AUDIO_MPEG\",\n      AUDIO_OGG = \"AUDIO_OGG\",\n      AUDIO_OPUS = \"AUDIO_OPUS\",\n      APPLICATION_PDF = \"APPLICATION_PDF\",\n      APPLICATION_OCTET_STREAM = \"APPLICATION_OCTET_STREAM\"\n  }\n  interface EmailMessageConfig {\n      /** Media (Attachment) types accepted by the provider */\n      mediaCapabilities?: MediaCapabilities;\n      /** Maximum size in bytes of total media items in a message. */\n      maxTotalFilesSizeInBytes?: number | null;\n  }\n  interface SmsMessageConfig {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      acceptAllMessageTypes?: boolean;\n      /** SMS message types accepted by the provider. only those types will be sent from Wix */\n      acceptedMessageTypes?: AcceptedSmsMessageType[];\n      /** Elaborates what media types (mime types) and sizes are supported */\n      mediaCapabilities?: MediaCapabilities;\n  }\n  enum AcceptedSmsMessageType {\n      SMS = \"SMS\",\n      MMS = \"MMS\"\n  }\n  interface ChannelBranding {\n      /** The name of the channel, e.g. `Facebook` / `SMS` */\n      displayName?: string;\n      /** Name of the channel provider (Wix, Meta, Google) */\n      providerName?: string | null;\n      /** Relevant brand icons, used when the channel is integrated */\n      brandIcons?: BrandIcons;\n  }\n  /**\n   * Brand icons required for correct channel integration\n   * todo: 1. which ones are required ?\n   * todo: 2. we may need to specify Icons specs (i.e. format and sizes)\n   */\n  interface BrandIcons {\n      default?: ChannelIcon;\n      vector?: ChannelIcon;\n      bwOutlineVector?: ChannelIcon;\n  }\n  interface ChannelIcon {\n      /** Specific Icon url */\n      url?: string | null;\n  }\n  interface ConversationLimitations {\n      /**\n       * Defines who can initiate conversation in this channel.\n       * If, `CUSTOMER` is selected, this means that only inbound\n       * messages can start a conversation (aka business can only reply and not initiate the first communication).\n       */\n      initDirection?: InitDirection;\n  }\n  enum InitDirection {\n      UNKNOWN_INIT_DIRECTION = \"UNKNOWN_INIT_DIRECTION\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\",\n      BOTH = \"BOTH\"\n  }\n  interface PostLoginConfig {\n      /** the base URI where all the methods are deployed. */\n      baseUri?: string;\n  }\n  /** A general widget in one of the back-office platforms */\n  interface BackOfficeWidget extends BackOfficeWidgetContentOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n      /**\n       * The platform this widget might be used in\n       * @internal\n       */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** Widget title */\n      title?: string;\n      /**\n       * Required permission to view this widget\n       * @internal\n       */\n      requiredPermission?: string;\n      /**\n       * Sentry error reporting DSN\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n      /** Initial widget width size in pixels while loading, width may be adjusted dynamicaly according to content and/or limited by the container */\n      width?: number | null;\n      /** Initial widget height size in pixels while loading, height may be adjusted dynamicaly according to content and/or limited by the container */\n      height?: number | null;\n  }\n  /** @oneof */\n  interface BackOfficeWidgetContentOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n  }\n  interface SocialMarketingDesignSPIConfig {\n      /** The URL of the SPI implementation */\n      baseUri?: string;\n      /** ID of the provider */\n      _id?: string;\n      /** Name of the provider */\n      name?: string;\n      /** URL of the editor */\n      editorUrl?: string;\n      /** URL of the templates page */\n      templatesPageUrl?: string;\n      /** Provider's icon, to be displayed in UI */\n      iconUrl?: string;\n  }\n  interface FormSubmissionSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** Configuration of namespaces known by implementer */\n      namespaceConfigs?: FormsSubmissionsNamespaceConfig[];\n  }\n  interface FormsSubmissionsNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: FormsPermissions;\n      /** Mark new submission as pending by default. */\n      pendingByDefault?: boolean;\n      /**\n       * Allows to disable automatic contact insert/update on contact mapping provided.\n       * On manual contact mapping enabled, the implementer is responsible for mapping the submission to a contact.\n       * Out of the box GDPR support is not available for unmapped submissions with contact PII fields.\n       */\n      manualContactMapping?: boolean;\n      /** Delete a PENDING submission after X days. */\n      deletePendingAfterDays?: number | null;\n      /** Enable indexing of submissions for search. */\n      indexForSearch?: boolean;\n  }\n  interface FormsPermissions {\n      /** Create permission name */\n      create?: string;\n      /** Delete permission name */\n      delete?: string;\n      /** Update permission name */\n      update?: string;\n      /** Read permission name */\n      read?: string;\n  }\n  /** Redirects to either a page component in the Business Manager or to a wix answers article */\n  interface WixOfferingComponentData extends WixOfferingComponentDataOfferingOneOf {\n      /** Redirect to a page in the Business Manager */\n      businessManagerPage?: BusinessManagerPage;\n      /** Redirect to an article with this ID */\n      articleGuid?: string;\n  }\n  /** @oneof */\n  interface WixOfferingComponentDataOfferingOneOf {\n      /** Redirect to a page in the Business Manager */\n      businessManagerPage?: BusinessManagerPage;\n      /** Redirect to an article with this ID */\n      articleGuid?: string;\n  }\n  interface BusinessManagerPage {\n      /** The ID of the page component to redirect to */\n      componentId?: string;\n      /** Redirect to this app state */\n      appState?: string | null;\n      /** Whether to show the regular app page in the App Market instead of redirect to the Business Manager page */\n      showRegularAppPage?: boolean;\n  }\n  /** A component used for testing dev center functionality */\n  interface DevCenterTestingComponentData extends DevCenterTestingComponentDataTranslatableOneOfOneOf {\n      translatableString?: string;\n      translatableOptionalString?: string | null;\n      translatableMessageInOneOf?: MessageContainingTranslatables;\n      /** Non translatable field */\n      nonTranslatable?: string;\n      name?: string;\n      description?: string | null;\n      translationsMap?: Record<string, string>;\n      translatableMessage?: MessageContainingTranslatables;\n      mapOfTranslatableMessages?: Record<string, MessageContainingTranslatables>;\n      baseUri?: string;\n      referenceId?: string | null;\n      referenceData?: CustomRefData;\n      priceMultiplier?: number;\n      responsePrefix?: string;\n      translatedMessagesWithUniqueField?: TranslatedMessageWithUniqueFieldRepeated[];\n      translatedMessagesWithIdField?: TranslatedMessageWithIdRepeated[];\n  }\n  /** @oneof */\n  interface DevCenterTestingComponentDataTranslatableOneOfOneOf {\n      translatableString?: string;\n      translatableOptionalString?: string | null;\n      translatableMessageInOneOf?: MessageContainingTranslatables;\n  }\n  interface MessageContainingTranslatables {\n      messageName?: string;\n      messageDescription?: string | null;\n      messageTranslationsMap?: Record<string, string>;\n  }\n  interface CustomRefData {\n      title?: string;\n      anotherTitle?: string;\n  }\n  interface TranslatedMessageWithUniqueFieldRepeated {\n      uniqueField?: string;\n      message?: string;\n  }\n  interface TranslatedMessageWithIdRepeated {\n      _id?: string;\n      message?: string;\n  }\n  /** SPI config - defines the relation between implementer URL and which types it is validates */\n  interface ComponentsValidatorConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** Component types that will be validated */\n      componentValidationTypes?: ComponentType[];\n      /** Indicates whether the validation should affect real production */\n      testMode?: boolean;\n  }\n  interface ComponentTranslationAdditionalFieldsConfig {\n      deploymentUri?: string;\n  }\n  interface FormSchemaSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** Configuration of namespaces known by implementer */\n      namespaceConfigs?: FormsSchemaNamespaceConfig[];\n  }\n  interface FormsSchemaNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: FormsPermissions;\n      /** Enable client specific form validation for the namespace, more info in ValidateFormSchema. */\n      schemaValidationEnabled?: boolean;\n      /** Restrictions associated with this namespace. */\n      restrictions?: Restrictions;\n      /** Enable translations with multilingual */\n      multilingualEnabled?: boolean;\n  }\n  interface Restrictions {\n      /** Maximum amount of forms allowed per namespace. */\n      maxFormsAmount?: number;\n      /** Maximum amount of fields allowed per form. */\n      maxFieldsAmount?: number;\n  }\n  interface ProviderConfig {\n      /** The name of the calendar provider. */\n      name?: string;\n      /** The base URI in which all methods are deployed. */\n      baseUri?: string;\n      /** The provided calendar type. */\n      calendarType?: CalendarType;\n      /** Connect methods used to connect to the calendar. */\n      connectMethods?: ConnectMethod[];\n      /** Whether the sync configuration can be updated. */\n      canUpdateSyncConfig?: boolean;\n      /** Whether events can be listed from the external calendar to the Wix calendar. */\n      listEventFromCalendars?: ListEventFromCalendars;\n      /** Whether Wix calendar sessions can be synced to the external calendar. */\n      syncToCalendar?: SyncToCalendar;\n  }\n  enum CalendarType {\n      UNDEFINED = \"UNDEFINED\",\n      GOOGLE = \"GOOGLE\",\n      I_CAL = \"I_CAL\",\n      MICROSOFT = \"MICROSOFT\",\n      OTHER = \"OTHER\"\n  }\n  enum ConnectMethod {\n      OAUTH = \"OAUTH\",\n      CREDENTIALS = \"CREDENTIALS\"\n  }\n  enum ListEventFromCalendars {\n      /** Listing events from the external calendar is not supported. */\n      LIST_NOT_SUPPORTED = \"LIST_NOT_SUPPORTED\",\n      /** Listing events from the primary external calendar only. */\n      LIST_FROM_PRIMARY_CALENDAR_ONLY = \"LIST_FROM_PRIMARY_CALENDAR_ONLY\",\n      /**\n       * Listing events from specific external calendars.\n       * The external calendars can be listed using the `ExternalCalendarProvider.ListCalendars` API.\n       */\n      LIST_FROM_SPECIFIC_CALENDARS = \"LIST_FROM_SPECIFIC_CALENDARS\"\n  }\n  enum SyncToCalendar {\n      /** Syncing Wix calendar sessions to the external calendar is not supported. */\n      SYNC_NOT_SUPPORTED = \"SYNC_NOT_SUPPORTED\",\n      /** Syncing Wix calendar sessions to the primary external calendar only. */\n      SYNC_TO_PRIMARY_CALENDAR_ONLY = \"SYNC_TO_PRIMARY_CALENDAR_ONLY\",\n      /** Syncing Wix calendar sessions to a new external calendar. */\n      SYNC_TO_DEDICATED_CALENDAR = \"SYNC_TO_DEDICATED_CALENDAR\"\n  }\n  interface DefaultTaxGroupProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** User-friendly name of the tax category */\n      taxationCategory?: string;\n      additionalCategories?: Record<string, TaxationCategoryProvider>;\n  }\n  interface TaxationCategoryProvider {\n      taxationCategory?: string;\n      /** must be a unique GUID for the category */\n      taxationCategoryUuid?: string;\n  }\n  interface DynamicSiteStructureProviderConfig {\n      /** URL to dynamic site structure provider service */\n      deploymentUri?: string;\n  }\n  interface HeadlessOAuth {\n      /** The Id of the site that uses the component. */\n      siteId?: string;\n      /** List of domains that will be allowed to be redirected to after a login. */\n      allowedDomains?: string[];\n      /** Component description. */\n      description?: string | null;\n      /** login url to automatically redirect users to from wix pages. */\n      loginUrl?: string | null;\n      /** List of uris that will be allowed to be redirected to after oAuth2 authorization. */\n      allowedRedirectUris?: string[];\n      /** A flag that indicates whether a user can resolve the app secret. */\n      blockSecretGeneration?: boolean;\n      /** logout url to automatically invoke when users logout from wix pages. */\n      logoutUrl?: string | null;\n  }\n  interface TaxCalculatorSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** User-friendly name of the tax calculator */\n      calculatorDisplayName?: string;\n      /** list of countries and boolean represents if its a white list or black list (supported or unsupported countries) */\n      taxCountriesConfig?: TaxCountriesConfig;\n  }\n  interface TaxCountriesConfig {\n      /** list of countries */\n      countries?: string[];\n      /** represents if the calculator supports tax in those countries or not */\n      isSupported?: boolean;\n  }\n  interface CommentModerationProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** List of app ids which moderation implementation supports */\n      supportedAppIds?: string[];\n  }\n  interface GridAppFilesTransformerConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      /**\n       * Transformation layout which should match to value from\n       * [GridAppLayout](https://github.com/wix-private/wix-code/blob/master/editor/wix-code-ide-server-ng/proto/wix/velo/ide/v1/grid_app_layout.proto) enum.\n       * The new values should be added via PR.\n       */\n      layout?: string;\n      /** List of paths which requires content transformation to GridApp format */\n      filesContentToTransformToGridApp?: string[];\n      /** List of paths which requires content transformation to Layout format */\n      filesContentToTransformToLayout?: string[];\n  }\n  interface PolicyConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n  }\n  interface CustomChargesConfig {\n      /** implementer's base uri */\n      baseUri?: SpiBaseUri;\n  }\n  interface ValidationsSPIConfig {\n      /** Whether to validate the cart page in addition to the checkout page. Default: `false` */\n      validateInCart?: boolean;\n      /** Base URI which Wix eCommerce will call to retrieve the validation violations. For example, `\"deploymentUri\": \"https://my-validations.com\"`. */\n      deploymentUri?: string;\n  }\n  /** SPI config - defines the relation between implementer URL and which types it saves */\n  interface ComponentReferenceDataConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** Component types that contains external (reference) data that is NOT saved in DevCenter. */\n      supportedComponentTypes?: ComponentType[];\n  }\n  /** Configuration for ReviewsProductCatalogProvider */\n  interface ReviewsProductCatalogProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      /** Namespace of catalog provider */\n      namespace?: string;\n      /** Flag that indicates if verified reviews are enabled */\n      isVerifiedReviewsEnabled?: boolean;\n  }\n  interface SocialMarketingDesignsProviderConfig {\n      /** The URL of the SPI implementation */\n      baseUri?: string;\n      /** Name of the provider */\n      name?: string;\n      /** Component id (from dev center) of the editor */\n      editorComponentId?: string;\n      /** Provider's icon, to be displayed in UI */\n      iconUrl?: string;\n      /** How the Prover should be opened */\n      navigationType?: NavigationType;\n      /** Is delete design implemented by the provider */\n      deleteDesignEnabled?: boolean;\n      /** If the provider manages designs */\n      manageDesigns?: boolean;\n  }\n  enum NavigationType {\n      NAVIGATE = \"NAVIGATE\",\n      MODAL = \"MODAL\"\n  }\n  interface GbpFeatureConfig {\n      baseUri?: SpiBaseUri;\n  }\n  interface CommentFilterProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** List of app ids for which FilterComment should be invoked */\n      supportedAppIds?: string[];\n  }\n  interface TaxIdValidatorConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the tax id validator */\n      validationProvider?: string;\n      /** Configuration of supported tax types */\n      taxTypesConfig?: TaxTypesConfig;\n  }\n  interface TaxTypesConfig {\n      /** List of supported tax types, as provided in ValidateTaxIdRequest and persisted in TaxIdValidationService */\n      supportedTaxTypes?: string[];\n  }\n  /** Describes a setting group of a notification */\n  interface PingSettingsGroupComponentData {\n      title?: string;\n      /** the description of the setting group */\n      description?: string | null;\n      /** the default state of the setting group */\n      state?: PingSettingsGroupComponentDataState;\n  }\n  enum PingSettingsGroupComponentDataState {\n      UNKNOWN_STATE = \"UNKNOWN_STATE\",\n      DEFAULT_ON = \"DEFAULT_ON\",\n      DEFAULT_OFF = \"DEFAULT_OFF\",\n      ALWAYS_ON = \"ALWAYS_ON\"\n  }\n  interface FormSpamSubmissionSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** Configuration of namespaces known by implementer */\n      namespaceConfigs?: FormsSpamSubmissionsNamespaceConfig[];\n  }\n  interface FormsSpamSubmissionsNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: SpamSubmissionPermissions;\n      /**\n       * Disables Wix spam submissions filter.\n       * Spam submissions are persisted in spam submissions storage to support marking submissions as not spam.\n       */\n      wixSpamFilterDisabled?: boolean;\n  }\n  interface SpamSubmissionPermissions {\n      /** Create permission name */\n      create?: string;\n      /** Delete permission name */\n      delete?: string;\n      /** Update permission name */\n      update?: string;\n      /** Read permission name */\n      read?: string;\n      /** Report as not spam permission name */\n      reportNotSpam?: string;\n  }\n  /** Editor Addon component */\n  interface EditorAddon {\n      /** Path to a Javascript file that Editor runs on Addon install */\n      editorScriptUrl?: string;\n      /** Tool panel configuration */\n      toolPanelConfig?: ToolPanelConfig;\n      /** Information to display in Addons Market */\n      marketData?: AddonMarketData;\n  }\n  interface InitialPosition {\n      /** Offset from left */\n      x?: string;\n      /** Offset from top */\n      y?: string;\n  }\n  interface ToolPanelConfig {\n      /** Iframe URL for the Addon tool panel */\n      url?: string;\n      /** Addon tool panel width */\n      width?: string;\n      /** Addon tool panel height */\n      height?: string;\n      /** Initial position of the opened panel (offset from top left corner) */\n      initialPosition?: InitialPosition;\n  }\n  interface AddonMarketData {\n      /** The name of the Addon */\n      name?: string;\n      /** The short description of the Addon */\n      description?: string;\n      /** The icon of the Addon, should be a square image 36x36 px in `JPG` or `PNG` format */\n      iconUrl?: string | null;\n      /** Author's name */\n      author?: string;\n  }\n  interface ExternalDatabaseSpiConfig {\n      /** The URI where the service provider is deployed. */\n      uriConfig?: SpiBaseUri;\n      /** The namespace of the external database. This can be used to access collections within the database, for example `namespace/collectionId`. */\n      namespace?: string;\n      /**\n       * Indicates if database is managed by WIX.\n       * @internal\n       */\n      databaseManagedByWix?: boolean | null;\n  }\n  interface PaymentSettingsSPIConfig {\n      /** Required. Base URI which Wix eCommerce will call to retrieve the payment settings. For example, `\"deploymentUri\": \"https://my-payment-settings.com\"`. */\n      deploymentUri?: string;\n      /** The fallback value which will be used for 'requires_3d_secure' in case of a failure of the SPI call. Default: `false` */\n      fallbackValueForRequires3dSecure?: boolean;\n  }\n  /** Describes topic of a notification */\n  interface NotificationTopic {\n      /** the description of the topic */\n      description?: string | null;\n      /** the default state of the topic */\n      state?: State;\n      /** the type of the topic */\n      type?: NotificationTopicType;\n  }\n  enum State {\n      UNKNOWN_STATE = \"UNKNOWN_STATE\",\n      DEFAULT_ON = \"DEFAULT_ON\",\n      DEFAULT_OFF = \"DEFAULT_OFF\",\n      ALWAYS_ON = \"ALWAYS_ON\"\n  }\n  enum NotificationTopicType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      PROMOTIONAL = \"PROMOTIONAL\",\n      TRANSACTIONAL = \"TRANSACTIONAL\"\n  }\n  interface NotificationPreferencesFilterConfig {\n      /** the base URI where all the methods are deployed. E.g. \"https://golden-coupons.com/wix-provider\" */\n      baseUri?: SpiBaseUri;\n  }\n  /** This config provides details of the resource types that are managed by an app implementing this component SPI. */\n  interface BookingsResourceTypesProviderConfig {\n      /** References of the resource types that are managed by the app that implements this component SPI. */\n      bookingsResourceTypes?: BookingsResourceType[];\n  }\n  interface BookingsResourceType {\n      /** The ID of the resource type. Must be a GUID that is unique within the app. */\n      _id?: string | null;\n      /** The name of the resource type. This can be any string, such as 'staff' or 'table'. */\n      name?: string | null;\n  }\n  interface PricingPlansFormConfiguration {\n      /** \"Plan preview\" section configuration. */\n      planPreview?: PlanFormPreviewSection;\n      /** \"Plan info\" section configuration */\n      infoSection?: PlanFormInfoSection;\n      /** \"Settings\" section configuration */\n      settingsSection?: PlanFormPlanSettingsSection;\n      /** \"Benefits\" section configuration */\n      benefitsSection?: PlanFormBenefitsSection;\n      /** \"Pricing options\" section configuration */\n      pricingAndDurationSection?: PlanFormPricingAndDurationSection;\n      /** Custom sections to render inside the form */\n      customSections?: PlanFormCustomSection[];\n      /**\n       * Order, in which sections will be rendered. Can include default section ids or custom section component ids.\n       * Visible sections that don't exist in this array will be displayed below others, in default oder.\n       */\n      sectionOrder?: PlanFormSection[];\n      /** Information about custom plan form */\n      metadata?: PlanFormTypeMetadata;\n      /** \"Page permissions\" section configuration */\n      pagePermissions?: PlanFormPagePermissionsSection;\n      /** Initial plan data to prefill in the form */\n      initialPlanValue?: PlanFormInitialValue;\n      /** Custom form name (e.g., 'bookings-membership'). Should be unique within the app */\n      formName?: string;\n  }\n  interface TextWithTooltip {\n      /** Displayed text */\n      text?: string;\n      /** Tooltip to show next to text */\n      tooltip?: TooltipSuffix;\n  }\n  interface TooltipSuffix {\n      /** Tooltip content */\n      text?: string;\n  }\n  interface TextWithSuffix extends TextWithSuffixSuffixOneOf {\n      /** Tooltip to show next to the text */\n      suffixTooltip?: TooltipSuffix;\n      /** Link to show next to the text */\n      suffixLink?: LinkSuffix;\n      /** Hide element. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Displayed text */\n      text?: string;\n  }\n  /** @oneof */\n  interface TextWithSuffixSuffixOneOf {\n      /** Tooltip to show next to the text */\n      suffixTooltip?: TooltipSuffix;\n      /** Link to show next to the text */\n      suffixLink?: LinkSuffix;\n  }\n  interface LinkSuffix {\n      /** Hide element. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Link text */\n      text?: string;\n      /** External url to open on link click */\n      url?: string;\n      /** Text, passed to click BI event as referral_info field */\n      referralInfo?: string;\n  }\n  interface PreviewCardPlaceholders {\n      /** Placeholder plan name for preview, e.g. \"Untitled Package\" */\n      name?: string;\n  }\n  interface InputWithPlaceholder {\n      /** Input label */\n      label?: TextWithTooltip;\n      /** Input placeholder */\n      placeholder?: string;\n  }\n  interface CoverImageConfiguration {\n      /** Hide cover image input. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Cover image input label */\n      label?: TextWithTooltip;\n  }\n  interface PerksConfiguration {\n      /** Hide Perks subsection. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Perks subsection title */\n      title?: TextWithTooltip;\n      /** Perks input placeholder */\n      placeholder?: string;\n  }\n  interface CheckboxConfiguration {\n      /** \"Policy agreement checkbox\" input label */\n      label?: string;\n      /** \"Policy checkbox\" toggle configuration */\n      acceptRequiredToggle?: TextWithTooltip;\n      /** \"Checked by default\" toggle configuration */\n      acceptedByDefaultToggle?: TextWithTooltip;\n  }\n  interface PreviewConfiguration {\n      /** Preview card title */\n      title?: string;\n      /** Preview card subtitle */\n      subtitle?: string;\n      /** Label for checkbox in preview */\n      checkboxLabel?: string;\n      /** Text for \"Buy now\" in preview */\n      buttonText?: string;\n  }\n  interface TermsModalConfiguration {\n      /** Modal title */\n      title?: string;\n      /** Modal subtitle */\n      subtitle?: string;\n      /** \"Save\" button text */\n      primaryButtonText?: string;\n      /** \"Cancel\" button text */\n      secondaryButtonText?: string;\n      /** \"Terms and conditions\" input configuration */\n      input?: InputWithPlaceholder;\n      /** \"Policy agreement checkbox\" input configuratino */\n      checkbox?: CheckboxConfiguration;\n      /** Terms and conditions preview configuration */\n      preview?: PreviewConfiguration;\n      /** Modal footer text */\n      footer?: string;\n  }\n  interface ThankYouPageInputConfig {\n      /** Hide input. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Label config */\n      label?: TextWithTooltip;\n  }\n  interface ThankYouPageRedirectsConfiguration {\n      /** Hide \"Redirects\". If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** \"Redirects\" field label */\n      label?: TextWithTooltip;\n      /** \"Homde Page\" option label */\n      homePageOption?: string;\n      /** \"Other Page\" option label */\n      redirectUrlOption?: string;\n  }\n  interface ThankYouPagePreviewConfiguration {\n      /** Preview card title */\n      title?: string;\n      /** Preview card subtitle */\n      subtitle?: string;\n  }\n  interface ThankYouPageModalConfiguration {\n      /** Modal title */\n      title?: string;\n      /** Modal subtitle */\n      subtitle?: TextWithSuffix;\n      /** \"Save\" button text */\n      primaryButtonText?: string;\n      /** \"Cancel\" button text */\n      secondaryButtonText?: string;\n      /** \"Reset to default\" button text */\n      resetButtonText?: string;\n      /** Thank you page title input configuration */\n      titleInput?: ThankYouPageInputConfig;\n      /** Thank you page content input configuration */\n      messageInput?: ThankYouPageInputConfig;\n      /** Thank you page button text input configuration */\n      buttonTextInput?: ThankYouPageInputConfig;\n      /** Thank you page button action field configuration */\n      redirects?: ThankYouPageRedirectsConfiguration;\n      /** Thank you page preview configuration */\n      preview?: ThankYouPagePreviewConfiguration;\n  }\n  interface PlanSettingsRowConfiguration {\n      /** Hide row. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Row title */\n      title?: TextWithTooltip;\n      /** Row subtitle */\n      subtitle?: TextWithTooltip;\n  }\n  interface TermsAndConditionsConfiguration {\n      /** Hide row. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Row title */\n      title?: TextWithTooltip;\n      /** Row subtitle */\n      subtitle?: TextWithTooltip;\n      /** \"Plan policies\" modal configuration */\n      modal?: TermsModalConfiguration;\n  }\n  interface ThankYouPageConfiguration {\n      /** Hide row. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Row title */\n      title?: TextWithTooltip;\n      /** Row subtitle */\n      subtitle?: TextWithTooltip;\n      /** \"Thank you page\" modal configuration */\n      modal?: ThankYouPageModalConfiguration;\n  }\n  interface DurationInputConfiguration {\n      /** Duration dropdown label */\n      label?: TextWithTooltip;\n      /** Duration dropdown placeholder */\n      placeholder?: string;\n      /** Labels for duration dropdown options */\n      renameOptions?: DurationRenameOptions;\n  }\n  interface DurationRenameOptions {\n      /** Text for \"Forever\" duration option */\n      forever?: string;\n      /** Text for \"Custom\" duration option */\n      custom?: string;\n  }\n  interface InputConfiguration {\n      /** Input label */\n      label?: TextWithTooltip;\n  }\n  interface SetupFeeConfiguration {\n      /** Hide \"Setup fee\" toggle. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Setup fee toggle label */\n      label?: TextWithTooltip;\n      /** Setup fee amount input configuration */\n      amount?: InputWithPlaceholder;\n      /** Setup fee name input configuration */\n      name?: InputWithPlaceholder;\n  }\n  interface FreeTrialConfiguration {\n      /** Hide \"Free trial\" toggle. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Free trial toggle label */\n      label?: TextWithTooltip;\n      /** Free trial duration dropdown configuration */\n      duration?: InputConfiguration;\n  }\n  interface FreeOptionConfiguration {\n      /** Hide free option. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Option title */\n      title?: string;\n      /** Option subtitle */\n      subtitle?: string;\n      /** Plan duration dropdown configuration */\n      duration?: DurationInputConfiguration;\n      /** Custom duration period dropdown configuration */\n      customDurationPeriod?: InputConfiguration;\n      /** Custom  duration input configuration */\n      customDurationInput?: InputConfiguration;\n  }\n  interface OneTimeOptionConfiguration {\n      /** Hide \"One-time payment\" option. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Option title */\n      title?: string;\n      /** Option subtitle */\n      subtitle?: string;\n      /** Plan duration dropdown configuration */\n      duration?: DurationInputConfiguration;\n      /** Custom duration period dropdown configuration */\n      customDurationPeriod?: InputConfiguration;\n      /** Custom  duration input configuration */\n      customDurationInput?: InputConfiguration;\n      /** Price input configuration */\n      price?: InputWithPlaceholder;\n      /** Setup fee field configuration */\n      setupFee?: SetupFeeConfiguration;\n  }\n  interface RecurringOptionConfiguration {\n      /** hide \"recurring\" option. if set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Option title */\n      title?: string;\n      /** Option subtitle */\n      subtitle?: string;\n      /** Plan duration dropdown configuration */\n      duration?: DurationInputConfiguration;\n      /** Price input configuration */\n      price?: InputWithPlaceholder;\n      /** Setup fee field configuration */\n      setupFee?: SetupFeeConfiguration;\n      /** Free trial field configuration */\n      freeTrial?: FreeTrialConfiguration;\n      /** Frequency dropdown configuration */\n      frequency?: InputConfiguration;\n      /** Custom frequency input configuration */\n      customFrequency?: InputConfiguration;\n  }\n  enum PlanFormPricingOption {\n      UNKNOWN_OPTION = \"UNKNOWN_OPTION\",\n      FREE = \"FREE\",\n      ONE_TIME = \"ONE_TIME\",\n      RECURRING = \"RECURRING\"\n  }\n  enum PlanFormDefaultSection {\n      UNKNWON_PLAN_FORM_SECTION = \"UNKNWON_PLAN_FORM_SECTION\",\n      INFO = \"INFO\",\n      BENEFITS = \"BENEFITS\",\n      PAGE_PERMISSIONS = \"PAGE_PERMISSIONS\",\n      PRICING_AND_DURATION = \"PRICING_AND_DURATION\",\n      ADVANCED_SETTINGS = \"ADVANCED_SETTINGS\"\n  }\n  interface Illustration extends IllustrationIllustrationOneOf {\n      /** Custom exported component id to be rendered as illustration */\n      componentId?: string;\n      /** 96x96 image used in type choice modal */\n      src?: string;\n  }\n  /** @oneof */\n  interface IllustrationIllustrationOneOf {\n      /** Custom exported component id to be rendered as illustration */\n      componentId?: string;\n      /** 96x96 image used in type choice modal */\n      src?: string;\n  }\n  interface PlanDuration {\n      /** The amount of a duration `unit` in a single payment cycle. */\n      count?: number;\n      /** Unit of time for the cycle duration. */\n      unit?: PlanPeriodUnit;\n  }\n  /** A predefined basic time unit. */\n  enum PlanPeriodUnit {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface PlanPriceData {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99) */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n  }\n  interface PricingRecurring {\n      /** Length of one payment cycle. */\n      cycleDuration?: PlanDuration;\n      /**\n       * Amount of payment cycles this subscription is valid for.\n       * `0` for unlimited or until-canceled.\n       */\n      cycleCount?: number;\n  }\n  interface PerkValues {\n      /** List of perks */\n      values?: string[];\n  }\n  interface PlanPricing extends PlanPricingPricingModelOneOf {\n      /** Plan has recurring payments. */\n      subscription?: PricingRecurring;\n      /** One time payment, plan is valid for the specified duration. */\n      singlePaymentForDuration?: PlanDuration;\n      /** One time payment, plan is valid until it is canceled. */\n      singlePaymentUnlimited?: boolean;\n      /** Amount for a single payment (or the whole subscription if it's not a recurring plan) */\n      price?: PlanPriceData;\n  }\n  /** @oneof */\n  interface PlanPricingPricingModelOneOf {\n      /** Plan has recurring payments. */\n      subscription?: PricingRecurring;\n      /** One time payment, plan is valid for the specified duration. */\n      singlePaymentForDuration?: PlanDuration;\n      /** One time payment, plan is valid until it is canceled. */\n      singlePaymentUnlimited?: boolean;\n  }\n  interface PlanFormPreviewSection {\n      /** Hide Preview section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Preview card title */\n      title?: TextWithTooltip;\n      /** Preview card subtitle */\n      subtitle?: TextWithSuffix;\n      /** Placeholder overrides for previewed plan */\n      placeholders?: PreviewCardPlaceholders;\n      /** Stick Preview section to the right while scrolling. Makes rest of the sections narrower. */\n      isSticky?: boolean | null;\n  }\n  interface PlanFormInfoSection {\n      /** Hide Info section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Tooltip title */\n      title?: TextWithTooltip;\n      /** Tooltip subtitle */\n      subtitle?: TextWithSuffix;\n      /** Plan name input configuration */\n      name?: InputWithPlaceholder;\n      /** Plan tagline input configuration */\n      tagline?: InputWithPlaceholder;\n      /** Plan cover image input configuration */\n      coverImage?: CoverImageConfiguration;\n      /** Plan perks subsection configuration */\n      perks?: PerksConfiguration;\n  }\n  interface PlanFormPlanSettingsSection {\n      /** Hide \"Advanced settings\" section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Section title configuration */\n      title?: TextWithTooltip;\n      /** Section subtitle configuration */\n      subtitle?: TextWithSuffix;\n      /** Configuration for \"Limit to 1 purchase per person\" plan setting */\n      singlePurchase?: PlanSettingsRowConfiguration;\n      /** Configuration for \"Allow plan cancellation\" plan setting */\n      allowCancellation?: PlanSettingsRowConfiguration;\n      /** Configuration for \"Let people set start date\" plan setting */\n      customStartDate?: PlanSettingsRowConfiguration;\n      /** Configuration for \"Add a policy\" plan setting */\n      termsAndConditions?: TermsAndConditionsConfiguration;\n      /** Configuration for \"Collect additional info\" plan setting */\n      customForms?: PlanSettingsRowConfiguration;\n      /** Configuration for \"Customize a Thank You page\" plan setting */\n      thankYouPage?: ThankYouPageConfiguration;\n  }\n  interface PlanFormBenefitsSection {\n      /** Hide Benefits section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Benefits section title */\n      title?: TextWithTooltip;\n      /** Benefits section subtitle */\n      subtitle?: TextWithSuffix;\n      /** Suffix link configuration. Rendered at the right side of section header */\n      suffix?: LinkSuffix;\n      /** Hide specific benefits from section */\n      hiddenBenefits?: string[];\n  }\n  interface PlanFormPricingAndDurationSection {\n      /** Hide Pricing and Duration section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Section title */\n      title?: TextWithTooltip;\n      /** Section subtitle */\n      subtitle?: TextWithSuffix;\n      /** \"Free\" pricing option configuration */\n      freePricingOption?: FreeOptionConfiguration;\n      /** \"One-time payment\" pricing option configuration */\n      oneTimeOption?: OneTimeOptionConfiguration;\n      /** \"Recurring\" pricing option configuration */\n      recurringOption?: RecurringOptionConfiguration;\n      /** Order, in which pricing options should be displayed */\n      pricingOptionOrder?: PlanFormPricingOption[];\n  }\n  interface PlanFormCustomSection {\n      /**\n       * Id of dashboard extension component.\n       * Extensions should have containerId `fb869315-532f-4057-9049-e316f94e192f`\n       */\n      componentId?: string;\n  }\n  interface PlanFormSection extends PlanFormSectionSectionOneOf {\n      /** Extension component id */\n      componentId?: string;\n      /** Default section name */\n      sectionName?: PlanFormDefaultSection;\n  }\n  /** @oneof */\n  interface PlanFormSectionSectionOneOf {\n      /** Extension component id */\n      componentId?: string;\n      /** Default section name */\n      sectionName?: PlanFormDefaultSection;\n  }\n  interface PlanFormTypeMetadata {\n      /** Name of configuration (i.e. plan type). Used in various places. Should be short, but clear */\n      title?: string;\n      /** Plan type subtitle. Used in type choice modal */\n      subtitle?: string;\n      /** Longer description of plan type. Used in type choice modal */\n      description?: string;\n      /** Plan type illustration. Used in type choice modal */\n      illustration?: Illustration;\n      /** Your business manager module id */\n      moduleId?: string;\n  }\n  interface PlanFormPagePermissionsSection {\n      /** Hide \"Page permissions\" section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n  }\n  interface PlanFormInitialValue {\n      /** Plan name */\n      name?: string | null;\n      /** Plan description */\n      description?: string | null;\n      /** What is included with this plan (e.g., 1 weekly entrance to a specific class). */\n      perks?: PerkValues;\n      /** Plan price, payment schedule, and expiration */\n      pricing?: PlanPricing;\n      /** Whether the plan is public (visible to site visitors and members) */\n      public?: boolean | null;\n      /**\n       * Number of times the same buyer can purchase the plan. Currently limited to support:\n       * - Empty value or a value of `0`, meaning no limitation.\n       * - Value of `1`, meaning limited to one purchase per buyer.\n       */\n      maxPurchasesPerBuyer?: number | null;\n      /** Whether the buyer can start the plan at a later date */\n      allowFutureStartDate?: boolean | null;\n      /** Whether the buyer is allowed to cancel their plan */\n      buyerCanCancel?: boolean | null;\n      /** Any terms and conditions that apply to the plan. This information will be displayed during checkout */\n      termsAndConditions?: string | null;\n      /** Additional plan data, related to it's display in the client */\n      clientData?: Record<string, string>;\n  }\n  /** Describes user notifications */\n  interface UserNotification {\n      /** @internal */\n      referenceId?: string | null;\n      referenceData?: UserNotificationData;\n  }\n  interface UserNotificationData {\n      /**\n       * name\n       * @internal\n       */\n      name?: string | null;\n      /** description */\n      description?: string | null;\n      /** topic id */\n      topicId?: string | null;\n      /** channels */\n      channels?: NotificationChannels;\n      /** icon */\n      icon?: Icon;\n      /** intent */\n      intent?: Intent;\n      /** limiter field */\n      limiterField?: LimiterField;\n      /** recipient filter */\n      recipientFilter?: UserNotificationDataRecipientFilter;\n      /** initiator */\n      initiator?: UserNotificationDataInitiator;\n      /** single deeplink */\n      singleDeeplink?: UserNotificationDataDeeplink;\n      /** grouped deeplink */\n      groupedDeeplink?: UserNotificationDataDeeplink;\n      /** context */\n      context?: UserNotificationDataContext;\n  }\n  interface TypedDynamicParam {\n      /** name */\n      name?: string;\n      /** dynamic param type */\n      dynamicParamType?: TypedDynamicParamType;\n  }\n  enum TypedDynamicParamType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      STRING = \"STRING\",\n      ARRAY = \"ARRAY\"\n  }\n  enum UserNotificationDataRecipientFilterType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      WIX_USERS = \"WIX_USERS\",\n      SITE_CONTRIBUTORS = \"SITE_CONTRIBUTORS\"\n  }\n  interface WixUsersData {\n      /** id */\n      _id?: TypedDynamicParam;\n  }\n  interface SiteContributorsData {\n      permissions?: string[];\n  }\n  enum InitiatorType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      WIX_USER = \"WIX_USER\",\n      WIX_APP = \"WIX_APP\"\n  }\n  interface WixUserData {\n      /** dynamic param name */\n      dynamicParamName?: string;\n  }\n  interface ConstOrDynamicParam extends ConstOrDynamicParamValueOneOf {\n      /** dynamic param name */\n      dynamicParamName?: string;\n      /** constant */\n      constant?: string;\n  }\n  /** @oneof */\n  interface ConstOrDynamicParamValueOneOf {\n      /** dynamic param name */\n      dynamicParamName?: string;\n      /** constant */\n      constant?: string;\n  }\n  interface Url {\n      constOrDynamicParam?: ConstOrDynamicParam;\n  }\n  interface BackofficeActionDeeplink {\n      /** app ID */\n      appId?: string;\n      /** params */\n      params?: Record<string, ConstOrDynamicParam>;\n  }\n  enum Level {\n      UNKNOWN_LEVEL = \"UNKNOWN_LEVEL\",\n      ACCOUNT = \"ACCOUNT\",\n      USER = \"USER\",\n      SITE = \"SITE\"\n  }\n  interface OrderValue {\n      /** can be const/dynamicParamName */\n      value?: ConstOrDynamicParam;\n      /** order */\n      order?: number;\n  }\n  interface NotificationChannels {\n      /** email */\n      email?: EmailChannel;\n      /** feed */\n      feed?: FeedChannels;\n      /** mobile push */\n      mobilePush?: MobilePushChannel;\n      /** voice */\n      voice?: VoiceChannel;\n      /** sms */\n      sms?: SmsChannel;\n      /** browser push */\n      browserPush?: BrowserPushChannel;\n      contentMap?: Record<string, string>;\n  }\n  interface ResponsysEmail {\n      /** responsys email */\n      responsysTemplate?: string;\n  }\n  interface VelocityEmail {\n      /** velocity module name */\n      velocityModuleName?: string;\n      /** template file */\n      templateFile?: string;\n  }\n  interface ShoutoutEmail {\n      /** template ID */\n      templateId?: string;\n      /** stream by */\n      streamBy?: string;\n      /** template msid */\n      templateMsid?: string;\n  }\n  interface EmailTemplateConfig extends EmailTemplateConfigProviderOneOf {\n      /** responsys email */\n      responsysEmail?: ResponsysEmail;\n      /**\n       * velocity email\n       * @internal\n       */\n      velocityEmail?: VelocityEmail;\n      /**\n       * shoutout email\n       * @internal\n       */\n      shoutoutEmail?: ShoutoutEmail;\n  }\n  /** @oneof */\n  interface EmailTemplateConfigProviderOneOf {\n      /** responsys email */\n      responsysEmail?: ResponsysEmail;\n      /**\n       * velocity email\n       * @internal\n       */\n      velocityEmail?: VelocityEmail;\n      /**\n       * shoutout email\n       * @internal\n       */\n      shoutoutEmail?: ShoutoutEmail;\n  }\n  interface WebFeedContentKeys {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string | null;\n      /** action */\n      action?: string | null;\n      /** group of two message */\n      groupOfTwoMessage?: string | null;\n      /** group of many message */\n      groupOfManyMessage?: string | null;\n      /** group of many action */\n      groupOfManyAction?: string | null;\n  }\n  interface MobileFeedContentKeys {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string | null;\n      /** action */\n      action?: string | null;\n      /** group of two message */\n      groupOfTwoMessage?: string | null;\n      /** group of many message */\n      groupOfManyMessage?: string | null;\n      /** group of many action */\n      groupOfManyAction?: string | null;\n  }\n  interface FeedAggregation {\n      /** group key */\n      groupKey?: string;\n      /** window */\n      window?: string;\n      /** icon */\n      icon?: Icon;\n  }\n  interface Icon extends IconDataOneOf {\n      /** url data */\n      urlData?: UrlData;\n      /** icon type */\n      type?: IconType;\n  }\n  /** @oneof */\n  interface IconDataOneOf {\n      /** url data */\n      urlData?: UrlData;\n  }\n  enum IconType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      URL = \"URL\",\n      SPOUT = \"SPOUT\",\n      INITIATOR = \"INITIATOR\"\n  }\n  interface UrlData {\n      /** actual url */\n      url?: string;\n  }\n  interface WebFeedChannel {\n      /** content_keys */\n      contentKeys?: WebFeedContentKeys;\n  }\n  interface MobileFeedChannel {\n      /** content keys */\n      contentKeys?: MobileFeedContentKeys;\n  }\n  interface FeedChannelsConfig {\n      /** aggregation */\n      aggregation?: FeedAggregation;\n  }\n  interface SharedPlatformMobilePushConfig {\n      /** sound */\n      sound?: string;\n      /** group key */\n      groupKey?: string | null;\n      /** ttl */\n      ttl?: number | null;\n      /** target application */\n      targetApplication?: MobileApplication;\n  }\n  enum MobileApplication {\n      UNKNOWN_MOBILE_APPLICATION = \"UNKNOWN_MOBILE_APPLICATION\",\n      OWNER = \"OWNER\",\n      SPACES = \"SPACES\",\n      DINE = \"DINE\",\n      FITNESS = \"FITNESS\",\n      WIX_LIFE = \"WIX_LIFE\",\n      WIX_PARTNERS = \"WIX_PARTNERS\",\n      BRANDED = \"BRANDED\",\n      WIX_STUDIO = \"WIX_STUDIO\",\n      NO_SPECIFIC_TARGET_APP = \"NO_SPECIFIC_TARGET_APP\"\n  }\n  interface AndroidMobilePushConfig {\n      /** sub group key */\n      subGroupKey?: string | null;\n      /** style */\n      style?: AndroidStyle;\n      /** grouped deeplink pattern */\n      groupedDeeplinkPattern?: string | null;\n      /**\n       * os settings category\n       * @internal\n       */\n      osSettingsCategory?: string | null;\n  }\n  enum AndroidStyle {\n      UNKNOWN_ANDROID_STYLE = \"UNKNOWN_ANDROID_STYLE\",\n      BIG_TEXT = \"BIG_TEXT\",\n      MESSAGING = \"MESSAGING\",\n      INBOX = \"INBOX\"\n  }\n  interface MobilePushChannelConfig {\n      /** shared */\n      shared?: SharedPlatformMobilePushConfig;\n      /** android */\n      android?: AndroidMobilePushConfig;\n  }\n  interface MobilePushContentKeys {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string | null;\n      /** group of many title */\n      groupOfManyTitle?: string | null;\n      /** group of many message */\n      groupOfManyMessage?: string | null;\n      /** master group name override */\n      masterGroupNameOverride?: string | null;\n  }\n  interface ExposureRule extends ExposureRuleRuleOneOf {\n      /** boolean experiment exposure rule */\n      booleanExperimentExposureRule?: BooleanExperimentExposureRule;\n      /** custom experiment exposure rule */\n      customExperimentExposureRule?: CustomExperimentExposureRule;\n      /** type */\n      type?: ExposureRuleType;\n  }\n  /** @oneof */\n  interface ExposureRuleRuleOneOf {\n      /** boolean experiment exposure rule */\n      booleanExperimentExposureRule?: BooleanExperimentExposureRule;\n      /** custom experiment exposure rule */\n      customExperimentExposureRule?: CustomExperimentExposureRule;\n  }\n  enum ExposureRuleType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      OPEN_TO_ALL = \"OPEN_TO_ALL\",\n      OPEN_TO_NONE = \"OPEN_TO_NONE\",\n      BOOLEAN_EXPERIMENT = \"BOOLEAN_EXPERIMENT\",\n      CUSTOM_EXPERIMENT = \"CUSTOM_EXPERIMENT\"\n  }\n  interface BooleanExperimentExposureRule {\n      /** spec */\n      spec?: string;\n  }\n  interface CustomExperimentExposureRule {\n      /** spec */\n      spec?: string;\n      /** default value */\n      defaultValue?: string;\n      /** expected value */\n      expectedValue?: string;\n  }\n  interface VoiceContentKeys {\n      /** message */\n      message?: string | null;\n  }\n  interface SmsContentKeys {\n      /** message */\n      message?: string | null;\n  }\n  interface BrowserPushContentKeys {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string | null;\n  }\n  interface EmailChannel {\n      /** config */\n      config?: EmailTemplateConfig;\n  }\n  interface FeedChannels {\n      /** web feed */\n      webFeed?: WebFeedChannel;\n      /** mobile feed */\n      mobileFeed?: MobileFeedChannel;\n      /** config */\n      config?: FeedChannelsConfig;\n  }\n  interface MobilePushChannel {\n      /** config */\n      config?: MobilePushChannelConfig;\n      /** content_keys */\n      contentKeys?: MobilePushContentKeys;\n      /**\n       * exposure rule\n       * @internal\n       */\n      exposure?: ExposureRule;\n  }\n  interface VoiceChannel {\n      /** content keys */\n      contentKeys?: VoiceContentKeys;\n  }\n  interface SmsChannel {\n      /** content_keys */\n      contentKeys?: SmsContentKeys;\n  }\n  interface BrowserPushChannel {\n      /** content_keys */\n      contentKeys?: BrowserPushContentKeys;\n  }\n  enum Intent {\n      UNKNOWN_INTENT = \"UNKNOWN_INTENT\",\n      MARKETING = \"MARKETING\",\n      TRANSACTIONAL = \"TRANSACTIONAL\"\n  }\n  interface LimiterField {\n      /** dynamic param name */\n      dynamicParamName?: string;\n  }\n  interface UserNotificationDataRecipientFilter extends UserNotificationDataRecipientFilterDataOneOf {\n      /** wix users data */\n      wixUsersData?: WixUsersData;\n      /** site contributors data */\n      siteContributorsData?: SiteContributorsData;\n      /** recipient filter type */\n      type?: UserNotificationDataRecipientFilterType;\n  }\n  /** @oneof */\n  interface UserNotificationDataRecipientFilterDataOneOf {\n      /** wix users data */\n      wixUsersData?: WixUsersData;\n      /** site contributors data */\n      siteContributorsData?: SiteContributorsData;\n  }\n  interface UserNotificationDataInitiator extends UserNotificationDataInitiatorDataOneOf {\n      /** wix user data */\n      wixUserData?: WixUserData;\n      /** initiator type */\n      type?: InitiatorType;\n  }\n  /** @oneof */\n  interface UserNotificationDataInitiatorDataOneOf {\n      /** wix user data */\n      wixUserData?: WixUserData;\n  }\n  interface UserNotificationDataDeeplink extends UserNotificationDataDeeplinkOfOneOf {\n      /** url */\n      url?: Url;\n      /**\n       * backoffice\n       * @internal\n       */\n      backoffice?: BackofficeActionDeeplink;\n      /**\n       * account id parameter name\n       * @internal\n       */\n      accountIdParamName?: string | null;\n  }\n  /** @oneof */\n  interface UserNotificationDataDeeplinkOfOneOf {\n      /** url */\n      url?: Url;\n      /**\n       * backoffice\n       * @internal\n       */\n      backoffice?: BackofficeActionDeeplink;\n  }\n  interface UserNotificationDataContext {\n      level?: Level;\n      /** params */\n      params?: Record<string, OrderValue>;\n  }\n  /** Describes contact notifications */\n  interface ContactNotification {\n      referenceId?: string | null;\n      referenceData?: ContactsNotificationData;\n  }\n  interface ContactsNotificationData {\n      /** name */\n      name?: string | null;\n      /** description */\n      description?: string | null;\n      /** topic id */\n      topicId?: string | null;\n      /** channels */\n      channels?: NotificationChannels;\n      /** icon */\n      icon?: Icon;\n      /**\n       * intent\n       * @internal\n       */\n      intent?: Intent;\n      /** limiter field */\n      limiterField?: LimiterField;\n      /** recipient filter */\n      recipientFilter?: RecipientFilter;\n      /** initiator */\n      initiator?: Initiator;\n      /** single deeplink */\n      singleDeeplink?: Deeplink;\n      /** grouped deeplink */\n      groupedDeeplink?: Deeplink;\n      /** context */\n      context?: Context;\n  }\n  enum RecipientFilterType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      CONTACTS = \"CONTACTS\"\n  }\n  interface ContactsData {\n      /** id */\n      _id?: TypedDynamicParam;\n  }\n  enum Type {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      CONTACT = \"CONTACT\",\n      SITE_MEMBER = \"SITE_MEMBER\"\n  }\n  interface ContactData {\n      /** dynamic param name */\n      dynamicParamName?: string;\n  }\n  interface SiteMemberData {\n      /** dynamic param name */\n      dynamicParamName?: string;\n  }\n  interface LiveSiteActionDeeplink {\n      /** app page ID */\n      appPageId?: string | null;\n      /** path */\n      path?: string | null;\n      /** language */\n      language?: ConstOrDynamicParam;\n      /** hash fragment */\n      hashFragment?: ConstOrDynamicParam;\n      /** query params */\n      queryParams?: Record<string, ConstOrDynamicParam>;\n  }\n  interface RecipientFilter extends RecipientFilterDataOneOf {\n      /** contacts data */\n      contactsData?: ContactsData;\n      /** recipient filter type */\n      type?: RecipientFilterType;\n  }\n  /** @oneof */\n  interface RecipientFilterDataOneOf {\n      /** contacts data */\n      contactsData?: ContactsData;\n  }\n  interface Initiator extends InitiatorDataOneOf {\n      /** contact data */\n      contactData?: ContactData;\n      /** site member data */\n      siteMemberData?: SiteMemberData;\n      /** initiator type */\n      type?: Type;\n  }\n  /** @oneof */\n  interface InitiatorDataOneOf {\n      /** contact data */\n      contactData?: ContactData;\n      /** site member data */\n      siteMemberData?: SiteMemberData;\n  }\n  interface Deeplink extends DeeplinkOfOneOf {\n      /** url */\n      url?: Url;\n      /**\n       * live site\n       * @internal\n       */\n      liveSite?: LiveSiteActionDeeplink;\n  }\n  /** @oneof */\n  interface DeeplinkOfOneOf {\n      /** url */\n      url?: Url;\n      /**\n       * live site\n       * @internal\n       */\n      liveSite?: LiveSiteActionDeeplink;\n  }\n  interface Context {\n      /** params */\n      params?: Record<string, OrderValue>;\n  }\n  interface UnifiedPage {\n      /** Base info of component by shared logic of unified components */\n      base?: BaseInfo;\n      /** Page installation settings; */\n      installation?: PageInstallationSettings;\n      /** Page replacing options (replacer \\ replacing \\ none) */\n      pageReplace?: PageReplaceOptions;\n      /** Content of page */\n      content?: PageContent;\n  }\n  interface PageInstallationSettings {\n      /** Shared installation settings for unified components */\n      base?: BaseInstallation;\n      /** Page installation settings for unified components */\n      page?: PageInstallation;\n  }\n  interface PageInstallation {\n      /** slug of the page (last part of url that point to the page) */\n      slug?: string;\n      /** Should add page to site menu */\n      addToSiteMenu?: boolean;\n      /** Can page be linked through link panel */\n      linkable?: boolean;\n  }\n  interface PageContent {\n      /** Widgets to add as content in page */\n      widgets?: WidgetAsContent[];\n  }\n  interface WidgetAsContent {\n      /** GUID of widget to use as content of page */\n      widgetGuid?: string;\n      /** The preset should be used */\n      preset?: MainPresets;\n  }\n  interface AvailabilityTimeSlotsProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  interface ProposalEditorProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of ProposalEditor provider */\n      providerName?: string;\n  }\n  interface CustomReservationsApprovalConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      name?: string;\n  }\n  interface CommentsContextProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** Comments Environment */\n      environment?: Environment;\n      /** Feature toggle to indicate if method GetCommentContextResources is implemented */\n      toggleResourceProviderEnabled?: boolean;\n  }\n  enum Environment {\n      LIVE_SITE = \"LIVE_SITE\",\n      BUSINESS_MANAGER = \"BUSINESS_MANAGER\"\n  }\n  interface FormSpamSubmissionReportSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** Configuration of namespaces known by implementer */\n      namespaceConfigs?: FormSpamSubmissionReportsNamespaceConfig[];\n  }\n  interface FormSpamSubmissionReportsNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: FormSpamSubmissionReportPermissions;\n  }\n  interface FormSpamSubmissionReportPermissions {\n      /** Create permission name */\n      create?: string;\n      /** Delete permission name */\n      delete?: string;\n      /** Update permission name */\n      update?: string;\n      /** Read permission name */\n      read?: string;\n      /** Report as not spam permission name */\n      reportNotSpam?: string;\n      /** Report as not spam permission name */\n      checkForSpam?: string;\n  }\n  interface VeloActionConfig {\n      baseUri?: SpiBaseUri;\n  }\n  interface EventTypeProviderConfig {\n      /**\n       * Reserved.\n       * @internal\n       */\n      baseUri?: SpiBaseUri;\n      /**\n       * The name of the event type.\n       * Must be globally unique.\n       */\n      eventTypeName?: string;\n      /**\n       * Whether the events of this type should be hidden from query results if no type filter is provided.\n       * Default is false.\n       */\n      eventTypeHiddenFromQuery?: boolean;\n  }\n  interface ServiceAvailabilityPolicyProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  /** a translated sms text sent to UOU */\n  interface SmsActionMessage {\n      /** sms text */\n      body?: string;\n  }\n  interface BookingPolicyProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  interface MultiServiceBookingPolicyProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  interface FormSubmissionSpiExtensionConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** Namespace names. */\n      namespaceConfigs?: FormsSubmissionsExtensionNamespaceConfig[];\n  }\n  interface FormsSubmissionsExtensionNamespaceConfig {\n      /** Targeted namespace, with what submissions should trigger defined methods. */\n      namespace?: string;\n      /** Enable submission validation. */\n      submissionValidationEnabled?: boolean;\n  }\n  interface AssistantSpiConfig {\n      /** The deployment uri of the assistant */\n      deploymentUri?: string;\n      /** The name of the assistant */\n      assistantName?: string;\n      /** The expose_benchmark_tests of the assistant */\n      exposeBenchmarkTests?: boolean;\n      /** The expose_dynamic_knowledge of the assistant */\n      exposeDynamicKnowledge?: boolean;\n  }\n  interface MultilingualTranslationSchema {\n      /** @internal */\n      referenceId?: string | null;\n      /** @internal */\n      referenceData?: Schema;\n  }\n  interface Schema {\n      /**\n       * Schema ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** (compound key) Schema key. */\n      key?: SchemaKey;\n      /** A list of unique fields on the entity in the specific language */\n      fields?: Record<string, V1SchemaField>;\n      /** Fields that will be displayed in content previews (e.g., product name for products). */\n      previewFields?: PreviewFields;\n      /** Whether the schema is hidden from the site. */\n      hidden?: boolean | null;\n      /** The name of the schema */\n      displayName?: string | null;\n      /** Higher level schema, group_by_name will point to an entity of this schema. */\n      parentId?: string | null;\n      /** @readonly */\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n      /** indicate if the content should be duplicated when the site is cloned */\n      duplicateContent?: boolean | null;\n  }\n  interface SchemaKey {\n      /**\n       * ID of app that created the schema.\n       * @readonly\n       */\n      appId?: string;\n      /** Unique name defined by the creator app, used to distinguish between different entities in the the app domain. */\n      entityType?: string;\n      /** Scope schema is defined in (Global/Site) */\n      scope?: SchemaScope;\n  }\n  enum SchemaScope {\n      UNKNOWN_SCOPE = \"UNKNOWN_SCOPE\",\n      /** Global schema, relevant to all sites */\n      GLOBAL = \"GLOBAL\",\n      /** Site schema, relevant to specific site only */\n      SITE = \"SITE\"\n  }\n  interface V1SchemaField {\n      /**\n       * Field ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Field type. */\n      type?: FieldType;\n      /** Field descriptive name. */\n      displayName?: string | null;\n      /** Field semantic grouping */\n      groupName?: string | null;\n      /** Field minimum length (in case of text field) */\n      minLength?: number | null;\n      /** Field maximum length (in case text field) */\n      maxLength?: number | null;\n      /** Field format. If set - must be one of the values of wix.api.format as string (case insensitive) */\n      format?: string | null;\n      /** Whether the field is hidden from the site. Hidden field constraints (type, min/max length) are still active! */\n      hidden?: boolean;\n      /** Whether the field is for display only and should not allowed to be translated */\n      displayOnly?: boolean;\n      /** In cases where the order of the fields holds meaning, use this index */\n      index?: number | null;\n  }\n  enum FieldType {\n      /** Undefined field type */\n      UNDEFINED_TYPE = \"UNDEFINED_TYPE\",\n      /** Short text TEXT */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long Plain Text TEXT */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** Long text including styles, images, links and more... HTML */\n      HTML = \"HTML\",\n      /** Wix Rich-Content format RICO */\n      RICH_CONTENT = \"RICH_CONTENT\",\n      /** Wix Image media item */\n      IMAGE = \"IMAGE\",\n      /** Image URL without metadata */\n      IMAGE_LINK = \"IMAGE_LINK\",\n      /** contain an XML representation of an entity or part of it */\n      JSON = \"JSON\",\n      /** Wix Video media item */\n      VIDEO = \"VIDEO\",\n      /** Wix Document media item */\n      DOCUMENT = \"DOCUMENT\"\n  }\n  interface PreviewFields {\n      /** ID of field representing the schema's title. */\n      titleFieldId?: string | null;\n      /** ID of field representing the schema's image. */\n      imageFieldId?: string | null;\n  }\n  interface TaxGroupsProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the default tax group of this app. (this tax group id is the app's ID) */\n      defaultTaxGroup?: string;\n      /**\n       * Additional tax groups to be added by default when the app is installed, in addition to the primary one.\n       * Here you can choose the ID for each group.\n       */\n      additionalTaxGroups?: Record<string, AdditionalTaxGroup>;\n  }\n  interface AdditionalTaxGroup {\n      /** the name of the additional taxation category */\n      name?: string;\n      /** must be a unique GUID for the default tax group */\n      _id?: string;\n  }\n  interface TaxCalculationConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the tax calculator */\n      calculatorDisplayName?: string;\n      /** List of countries that are not supported by this tax calculator. Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      unsupportedCountries?: string[];\n  }\n  /** A modal in one of the back-office platforms */\n  interface BackOfficeModal extends BackOfficeModalContentOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n      /** The platform this modal might be used in */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** Modal title */\n      title?: string;\n      /**\n       * Required permission to view this modal\n       * @internal\n       */\n      requiredPermission?: string;\n      /**\n       * Sentry error reporting DSN\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n      /** Initial modal width size in pixels while loading, width may be adjusted dynamicaly according to content and/or limited by the container */\n      width?: number | null;\n      /** Initial modal height size in pixels while loading, height may be adjusted dynamicaly according to content and/or limited by the container */\n      height?: number | null;\n  }\n  /** @oneof */\n  interface BackOfficeModalContentOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n  }\n  interface DeploymentPipelineProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentPipelineUri?: SpiBaseUri;\n      /** The deployment pipeline implementer id */\n      deploymentPipelineId?: string;\n  }\n  interface CustomElementWidget {\n      /** Base info of component by shared logic of unified components */\n      base?: BaseInfo;\n      /** Unified widget installation settings */\n      installation?: WidgetInstallationSettings;\n      /** The extension data for this component */\n      widgetData?: WidgetData;\n      /** The widget's editor behaviors */\n      behaviors?: EditorBehaviors;\n      /** The size of the widget */\n      size?: WidgetSize;\n      /** The runtime dependencies array to declare the widget packages. */\n      dependencies?: WixDependency[];\n  }\n  interface WidgetData {\n      /** The script url that should render on the widget */\n      scriptUrl?: string;\n      /** Unique tag name to use in order to connect your JS script to your web component */\n      tagName?: string;\n      /** Type of JavaScript modularization approach used in the custom element */\n      scriptType?: CustomElementScriptType;\n  }\n  enum CustomElementScriptType {\n      NONE = \"NONE\",\n      /** CommonJS modularization approach */\n      COMMON_JS = \"COMMON_JS\",\n      /** ES Module modularization approach */\n      ES_MODULE = \"ES_MODULE\"\n  }\n  interface EditorBehaviors {\n      /** The settings behavior definition for the widget */\n      settings?: SettingsPanel;\n      /** The dashboard behavior definition for the widget */\n      dashboard?: Dashboard;\n  }\n  interface SettingsPanel {\n      /** The settings panel URL for this component */\n      settingsUrl?: string | null;\n  }\n  interface Dashboard {\n      /** The dashboard page guid for the widget manage of the widget */\n      dashboardPageComponentId?: string;\n  }\n  interface WidgetSize {\n      /** define the size of the widget's height */\n      height?: WidgetSizeHeight;\n      /** define the size of the widget's width */\n      width?: Width;\n  }\n  enum HeightMode {\n      UNKNOWN = \"UNKNOWN\",\n      /** Height is calculated by content */\n      AUTO = \"AUTO\",\n      /** Height is fixed require size in px */\n      FIXED = \"FIXED\"\n  }\n  interface WidgetSizeHeight {\n      /** Height calculation mode */\n      heightMode?: HeightMode;\n      /** Default height in pixels */\n      defaultHeight?: number;\n  }\n  interface Width {\n      /** Boolean to set stretch, will place the widget stretched to the full width of the container */\n      allowStretch?: boolean;\n      /** Default width in pixels */\n      defaultWidth?: number;\n      /** Boolean to set stretch by default on installation, if true will place the widget stretched to the full width of the container */\n      stretchByDefault?: boolean;\n  }\n  /** A component that enables extending Wix dashboard functionality. */\n  interface BackOfficeExtensionWidget extends BackOfficeExtensionWidgetAssetOneOf {\n      /** Url of the iframe to render in the widget */\n      iframeUrl?: string;\n      /**\n       * Wix script asset to use in this widget\n       * @internal\n       */\n      scriptAsset?: BackOfficeScriptAsset;\n      /** The platform this extension is hosted on (e.g. The Wix Dashboard, or Enterprise Dashboard) */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** The Identifier of the container that this extension applies to */\n      extends?: string;\n      /** The description of the extension, as displayed in Dev Center */\n      description?: string | null;\n      /** The title of the extension, as displayed in Dev Center */\n      title?: string;\n      /**\n       * Required permission to view the extension.\n       * @internal\n       */\n      requiredPermission?: string;\n      /**\n       * Sentry error reporting DSN (internal)\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n      /** Initial widget width size in pixels while loading, width may be adjusted dynamicaly according to content and/or limited by the container */\n      width?: number | null;\n      /** Initial widget height size in pixels while loading, height may be adjusted dynamicaly according to content and/or limited by the container */\n      height?: number | null;\n  }\n  /** @oneof */\n  interface BackOfficeExtensionWidgetAssetOneOf {\n      /** Url of the iframe to render in the widget */\n      iframeUrl?: string;\n      /**\n       * Wix script asset to use in this widget\n       * @internal\n       */\n      scriptAsset?: BackOfficeScriptAsset;\n  }\n  /** A component that enables extending a Wix dashboard menu. */\n  interface BackOfficeExtensionMenuItem {\n      /** The platform this page is hosted on (e.g. The Wix Dashboard, or Enterprise Dashboard) */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** The Identifier of the container that this extension applies to */\n      extends?: string;\n      /** The description of the extension, as displayed in Dev Center */\n      description?: string | null;\n      /** The title of the extension, as displayed in Dev Center */\n      title?: string;\n      /** The sub title of the menu item */\n      subtitle?: string | null;\n      /**\n       * WSR icon identifier. To see the full list: https://www.wix-style-react.com/storybook/?path=/story/foundations-icons--icons\n       * Please use the full size key - the icon will be rendered in a small/normal size\n       */\n      iconKey?: string | null;\n      /**\n       * Required permission to view the extension.\n       * @internal\n       */\n      requiredPermission?: string;\n      /**\n       * Sentry error reporting DSN (internal)\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n      /** The action that will be invoked when clicking on the menu entry */\n      action?: MenuAction;\n  }\n  interface NavigateToPageAction {\n      /** The component ID for the required page */\n      pageId?: string;\n      /** Relative URL string to append to the base page URL. May include path sements, search params and hash. */\n      relativeUrl?: string | null;\n  }\n  interface OpenModalAction {\n      /** The component ID that should be opened */\n      componentId?: string;\n      /** Parameters for the modal */\n      componentParams?: Record<string, string>;\n  }\n  interface MenuAction extends MenuActionActionOneOf {\n      navigateToPage?: NavigateToPageAction;\n      openModal?: OpenModalAction;\n  }\n  /** @oneof */\n  interface MenuActionActionOneOf {\n      navigateToPage?: NavigateToPageAction;\n      openModal?: OpenModalAction;\n  }\n  /** A component to manage Form composer features and templates */\n  interface FormTemplate {\n      /** Form template id */\n      _id?: string;\n      /** Form template version id (guid) */\n      versionId?: string;\n  }\n  /** Describes a setting group of a notification */\n  interface NotificationContent {\n      single?: SingleContent;\n      grouped?: GroupedContent;\n  }\n  /** notification content */\n  interface SingleContent {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string;\n      /** action */\n      action?: string | null;\n  }\n  /** notification content */\n  interface GroupedContent {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string;\n      /** action */\n      action?: string | null;\n  }\n  /** Describes topic of a notification */\n  interface BroadcastList {\n      params?: Param[];\n  }\n  interface Param {\n      _id?: string;\n      displayName?: string;\n  }\n  interface PayoutsProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n  }\n  /** Configuration for ReviewsEntityCatalogProvider */\n  interface ReviewsEntityCatalogProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      /** Namespace of catalog provider */\n      namespace?: string;\n      /** Flag that indicates if verified reviews are enabled */\n      verifiedReviewsEnabled?: boolean;\n  }\n  interface VeloPublishPipelineTaskProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** The Velo Task name */\n      implementerTaskName?: WixCodePublishTaskName;\n  }\n  enum WixCodePublishTaskName {\n      /** unknown */\n      UNKNOWN = \"UNKNOWN\",\n      /** user code bundle */\n      USER_CODE_BUNDLE = \"USER_CODE_BUNDLE\",\n      /** exported functions analysis */\n      EXPORTED_FUNCTIONS_ANALYSIS = \"EXPORTED_FUNCTIONS_ANALYSIS\",\n      /** imported namespaces analysis */\n      IMPORTED_NAMESPACES_ANALYSIS = \"IMPORTED_NAMESPACES_ANALYSIS\",\n      /** page details analysis */\n      PAGE_DETAILS_ANALYSIS = \"PAGE_DETAILS_ANALYSIS\"\n  }\n  interface FunctionsShopPriceSpiConfig {\n      uriConfig?: SpiBaseUri;\n  }\n  /** A component that describes a Function */\n  interface Function {\n  }\n  enum CreatedBy {\n      UNKNOWN = \"UNKNOWN\",\n      BLOCKS = \"BLOCKS\",\n      CLI = \"CLI\"\n  }\n  interface GetAdditionalKeysResponse {\n      /** The additional keys for the component translation */\n      additionalKeys?: Record<string, TranslationData>;\n  }\n  interface TranslationData {\n      /** value of the field in the original component */\n      englishValue?: string;\n      /** name to be displayed in DevCenter UI */\n      displayName?: string;\n      /** translation text box type - Short or Long only */\n      textType?: TranslatableType;\n      /** translation max size */\n      textMaxSize?: number | null;\n  }\n  enum TranslatableType {\n      UNDEFINED_TYPE = \"UNDEFINED_TYPE\",\n      SHORT_TEXT = \"SHORT_TEXT\",\n      LONG_TEXT = \"LONG_TEXT\",\n      RICH_TEXT = \"RICH_TEXT\",\n      RICH_CONTENT_EDITOR = \"RICH_CONTENT_EDITOR\",\n      SELECTION = \"SELECTION\",\n      MULTI_SELECTION = \"MULTI_SELECTION\",\n      DOCUMENT = \"DOCUMENT\",\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      IMAGE_LINK = \"IMAGE_LINK\"\n  }\n  interface SpiComponentTranslationAdditionalFieldsConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface SpiContext {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetAdditionalKeysOptions {\n      /** components that have been created or have been modified */\n      component?: Component;\n  }\n  \n  export { AcceptedDirectMessageType, AcceptedSmsMessageType, Action, ActionCondition, ActionProviderSPIConfig, ActionSPIConfig, AdditionalFeesSPIConfig, AdditionalStepInfo, AdditionalTaxGroup, AddonMarketData, AdminConfigurableTextInput, AlertEnricherSpiConfiguration, AlgorithmConfig, AlgorithmType, AlternativeUri, AndroidMobilePushConfig, AndroidStyle, ApiWidth, AppConfig, AppConfiguration, ApplicationAutomationComponent, AssistantSpiConfig, AuthenticatorConfig, AutomationMetadata, AutomationTrigger, AvailabilityTimeSlotsProviderConfig, BackOfficeExtension, BackOfficeExtensionContainer, BackOfficeExtensionExtensionOneOf, BackOfficeExtensionMenuItem, BackOfficeExtensionWidget, BackOfficeExtensionWidgetAssetOneOf, BackOfficeHostingPlatforms, BackOfficeModal, BackOfficeModalContentOneOf, BackOfficePage, BackOfficePageAssetOneOf, BackOfficeScriptAsset, BackOfficeScriptAssetType, BackOfficeSidebarCategory, BackOfficeWidget, BackOfficeWidgetContentOneOf, BackofficeActionDeeplink, BarAlignment, BarAlignmentSelected, BaseInfo, BaseInstallation, BlockType, BookingPolicyProviderConfig, BookingsPricingProviderConfig, BookingsResourceType, BookingsResourceTypesProviderConfig, BooleanExperimentExposureRule, BrandIcons, BroadcastList, BrowserPushChannel, BrowserPushContentKeys, Bundle, BusinessError, BusinessManagerPage, CalendarType, CatalogSPIConfig, CatalogSyncConfiguration, ChannelBranding, ChannelConfiguration, ChannelConfigurationMessagingConfigOneOf, ChannelIcon, ChannelType, CheckboxConfiguration, CheckboxField, CodePackageComponentData, Color, ColorDefinition, ColorSelectLabeled, ColorSelectLabeledDataOneOf, CommentFilterProviderConfig, CommentModerationProviderConfig, CommentsContextProviderConfig, CommunicationChannelConfiguration, Component, ComponentData, ComponentDataDataOneOf, ComponentModel, ComponentReferenceDataConfig, ComponentTranslationAdditionalFieldsConfig, ComponentType, ComponentsValidatorConfig, Condition, ConditionBlock, Conditions, ConnectMethod, ConstOrDynamicParam, ConstOrDynamicParamValueOneOf, ContactData, ContactLabelsComponentData, ContactNotification, ContactsData, ContactsNotificationData, Container, ContainerDataOneOf, ContentData, ContentProviderConfig, Context, ConversationLimitations, CoverImageConfiguration, CreateNewItemInfo, CreatedBy, CrossSellConfig, CustomChargesConfig, CustomElement, CustomElementConsentCategoryOneOf, CustomElementScriptType, CustomElementWidget, CustomExperimentExposureRule, CustomRefData, CustomReservationsApprovalConfig, CustomScopeConfig, CustomTriggerConfig, DCConfigData, Dashboard, DashboardApplicationData, DashboardButton, DashboardComponentData, DashboardItem, DashboardPlatfromComponentData, DataComponent, DataExtensionsComponentData, Debounce, Deeplink, DeeplinkOfOneOf, Default, DefaultTaxGroupProviderConfig, DefaultTextStyle, Delay, DelayTypeOneOf, DeploymentPipelineProviderConfig, DevCenterTestingComponentData, DevCenterTestingComponentDataTranslatableOneOfOneOf, DirectMessageConfig, DiscountConfig, DisplayProperties, DisplayValue, Docking, DockingProperties, DrillInListItem, DrillItem, DrillItemDataOneOf, DropDownLabeled, DropdownField, DropdownFieldOption, DropshippingProviderSPIConfig, DurationInputConfiguration, DurationRenameOptions, DynamicSiteStructureProviderConfig, EditorAddon, EditorBehaviors, EditorPresence, ElementType, EmailChannel, EmailMessageConfig, EmailTemplateConfig, EmailTemplateConfigProviderOneOf, EmbedCategory, EmbeddedScriptComponentData, EmbeddedScriptPages, EmbeddedScriptPlacement, Environment, ErrorReporting, ErrorReportingArtifact, EventTypeProviderConfig, ExecutionType, ExpectedInputs, ExperimentGroupWrapper, Exposure, ExposureRule, ExposureRuleRuleOneOf, ExposureRuleType, Extendable, ExtendingComponentType, ExtensionData, ExtensionType, ExternalDatabaseSpiConfig, ExternalFilterProviderConfig, FeedAggregation, FeedChannels, FeedChannelsConfig, FieldType, Filter, FilterInfo, FilterInfoOptionsOneOf, FilterOptionsType, FilterSelectionType, FixedPositionOptions, FontDefinition, FontFamilyWithColorPicker, FormSchemaSpiConfig, FormSpamSubmissionReportPermissions, FormSpamSubmissionReportSpiConfig, FormSpamSubmissionReportsNamespaceConfig, FormSpamSubmissionSpiConfig, FormSubmissionSpiConfig, FormSubmissionSpiExtensionConfig, FormTemplate, FormsPermissions, FormsSchemaNamespaceConfig, FormsSpamSubmissionsNamespaceConfig, FormsSubmissionsExtensionNamespaceConfig, FormsSubmissionsNamespaceConfig, FreeOptionConfiguration, FreeTrialConfiguration, Function, FunctionsShopPriceSpiConfig, GbpFeatureConfig, GenericHookConfig, GenericHooksConfig, GenericOptions, GetAdditionalKeysOptions, GetAdditionalKeysRequest, GetAdditionalKeysResponse, GiftCardProviderConfig, GridAppFilesTransformerConfig, GroupedContent, HeadlessOAuth, Height, HeightMode, HookType, HorizontalDocking, HostContainerId, HostedComponent, HostedPage, IDPConnectionConfig, Icon, IconDataOneOf, IconType, IdentificationData, IdentificationDataIdOneOf, IdentityType, Illustration, IllustrationIllustrationOneOf, Image, ImplementedMethods, InitDirection, InitialPosition, Initiator, InitiatorDataOneOf, InitiatorType, InputConfiguration, InputWithPlaceholder, InstallPage, InstallationSettings, InstallationSettingsOptionsOneOf, Intent, InterfaceConfiguration, InterfaceConfigurationOptionsOneOf, InterfaceConfigurationType, InvoicesActionsComponentData, InvoicesConfig, IsStretched, ItemsSelectionProviderConfig, LearnMore, LegacyBackOfficeExtensionWidget, LegacyBackOfficeExtensionWidgetAssetOneOf, LegacyBackOfficeMenuItem, Level, LightboxOptions, LimiterField, LineItemsEnricherConfig, LinkSuffix, ListEventFromCalendars, LiveSiteActionDeeplink, LocalDeliveryComponentData, LockableOperation, Logos, Main, MainPresets, MainPropsData, MandatoryField, Margins, MeasurementSystem, MediaCapabilities, MediaMimeType, MembershipsSPIConfig, MenuAction, MenuActionActionOneOf, MessageContainingTranslatables, Metadata, MobileApplication, MobileFeedChannel, MobileFeedContentKeys, MobilePushChannel, MobilePushChannelConfig, MobilePushContentKeys, MultiServiceBookingPolicyProviderConfig, MultilingualTranslationSchema, MultipleDashboardsComponentData, NavigateToPageAction, NavigationType, NestedWidgets, NotificationChannels, NotificationContent, NotificationPreferencesFilterConfig, NotificationTopic, NotificationTopicType, Offset, OffsetValueOneOf, OneTimeOptionConfiguration, OpenComponent, OpenModalAction, OrderValue, OutOfIframeData, PackageDimension, PackageType, Padding, PageComponentData, PageContent, PageDashboardApplicationComponent, PageInstallation, PageInstallationSettings, PageOptions, PageOutOfIframeComponentData, PageReplace, PageReplaceOptions, PageReplaceOptionsOptionsOneOf, Param, PartialPaymentRestriction, PaymentMethod, PaymentMethodMethodOneOf, PaymentServiceProviderConfig, PaymentServiceProviderCredentialsField, PaymentServiceProviderCredentialsFieldFieldOneOf, PaymentSettingsSPIConfig, PaymentsGatewayComponentData, PayoutsProviderConfig, PerkValues, PerksConfiguration, PingNotificationComponentData, PingSettingsGroupComponentData, PingSettingsGroupComponentDataState, PlanDuration, PlanFormBenefitsSection, PlanFormCustomSection, PlanFormDefaultSection, PlanFormInfoSection, PlanFormInitialValue, PlanFormPagePermissionsSection, PlanFormPlanSettingsSection, PlanFormPreviewSection, PlanFormPricingAndDurationSection, PlanFormPricingOption, PlanFormSection, PlanFormSectionSectionOneOf, PlanFormTypeMetadata, PlanPeriodUnit, PlanPriceData, PlanPricing, PlanPricingPricingModelOneOf, PlanSettingsRowConfiguration, PlatfromComponentData, PluginInstallationSettings, PluginInterface, PluginMarketData, PluginPlacement, PolicyConfig, Position, PostLoginConfig, PreRegisterConfig, PredefinedExpectedInput, PredefinedExpectedInputConfiguration, PredefinedExpectedInputConfigurationTypeOneOf, PredefinedLabel, PresetEditorPresence, PresetInfo, PresetSize, PreviewCardPlaceholders, PreviewConfiguration, PreviewFields, PricingPlansFormConfiguration, PricingRecurring, Primitive, PrimitiveType, ProductsPathsConfig, ProposalEditorProviderConfig, ProviderConfig, RadioButtonLabeled, RateLimit, RecipientFilter, RecipientFilterDataOneOf, RecipientFilterType, RecommendationsProviderConfig, RecurringOptionConfiguration, Region, RegionType, ReplaceableOptions, ReplacementType, ReplacingOptions, ResetButton, ResponsysEmail, RestaurantsPOSComponentData, RestrictedOperation, Restrictions, ReviewsEntityCatalogProviderConfig, ReviewsProductCatalogProviderConfig, RichTextWithIllustrationVertical, Rule, Schema, SchemaConfig, SchemaField, SchemaFieldType, SchemaFieldTypeFieldTypeOneOf, SchemaKey, SchemaScope, ScriptType, SearchField, SearchParams, Section, SeoKeywordsSuggestionsSPIConfig, ServiceAction, ServiceAvailabilityPolicyProviderConfig, Settings, SettingsPanel, SettingsUrl, SetupFeeConfiguration, SharedPlatformMobilePushConfig, ShippingLabelCarrierSpiConfig, ShippingProviderConfig, ShippingRatesConfig, ShoutoutEmail, Simple, SimpleField, SimpleType, SingleContent, SingleKeyCondition, SiteConfig, SiteContributorsData, SiteMemberData, Size, SliderLabeled, Slot, SmsActionMessage, SmsChannel, SmsContentKeys, SmsMessageConfig, SnippetSolutionData, SocialMarketingDesignSPIConfig, SocialMarketingDesignsProviderConfig, SpamSubmissionPermissions, SpiBaseUri, SpiComponentTranslationAdditionalFieldsConfig, SpiContext, State, StaticFileComponentData, StaticFilterOption, StaticFilterOptions, Status, StudioComponentData, StudioWidgetComponentData, StudioWidgetVariation, SubPage, SyncToCalendar, SyncedProjectsProviderConfig, Tab, Tag, TaxCalculationConfig, TaxCalculatorSpiConfig, TaxCountriesConfig, TaxGroupsProviderConfig, TaxIdValidatorConfig, TaxTypesConfig, TaxationCategoryProvider, TemplateDefaultColor, TermsAndConditionsConfiguration, TermsModalConfiguration, TextInputDisplayType, TextInputLabeled, TextInputSettings, TextStyle, TextStyleDefaultColorOneOf, TextWithSuffix, TextWithSuffixSuffixOneOf, TextWithTooltip, ThankYouPageConfiguration, ThankYouPageInputConfig, ThankYouPageModalConfiguration, ThankYouPagePreviewConfiguration, ThankYouPageRedirectsConfiguration, ThumbnailData, Thumbnails, ThumbnailsSize, ToggleLabeled, ToolPanelConfig, TooltipSuffix, TranslatableType, TranslatedMessageWithIdRepeated, TranslatedMessageWithUniqueFieldRepeated, TranslationData, Trigger, TriggerProviderSPIConfig, Type, TypedDynamicParam, TypedDynamicParamType, UnifiedPage, UnitType, Until, Url, UrlData, UserNotification, UserNotificationData, UserNotificationDataContext, UserNotificationDataDeeplink, UserNotificationDataDeeplinkOfOneOf, UserNotificationDataInitiator, UserNotificationDataInitiatorDataOneOf, UserNotificationDataRecipientFilter, UserNotificationDataRecipientFilterDataOneOf, UserNotificationDataRecipientFilterType, V1SchemaField, ValidationsSPIConfig, VeloActionConfig, VeloPublishPipelineTaskProviderConfig, VelocityEmail, VerticalDocking, ViewMode, VoiceChannel, VoiceContentKeys, WebComponentData, WebFeedChannel, WebFeedContentKeys, WidgetAsContent, WidgetBehavior, WidgetComponentData, WidgetComponentOptions, WidgetData, WidgetDetails, WidgetDisplay, WidgetHorizontal, WidgetInstallation, WidgetInstallationSettings, WidgetOutOfIframeComponentData, WidgetPluginComponentData, WidgetSize, WidgetSizeHeight, WidgetVertical, WidgetWidthType, Width, WixCodePublishTaskName, WixDependency, WixOfferingComponentData, WixOfferingComponentDataOfferingOneOf, WixUserData, WixUsersData, WorkerComponentData, _Date };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization-schema.d.ts",
      "content": "declare module \"wix-multilingual-localization-schema\" {\n  interface Schema {\n      /** Schema ID. */\n      _id?: string;\n      /** Schema key. */\n      key?: SchemaKey;\n      /** Schema Data. */\n      body?: SchemaBody;\n      /** Higher level schema, group_by_name will point to an entity of this schema. */\n      referencedSchemaKey?: SchemaKey;\n      /** The name of the schema */\n      schemaName?: string | null;\n  }\n  interface SchemaKey {\n      /** ID of app that created the schema. */\n      appId?: string;\n      /** Unique name defined by the creator app, used to distinguish between different entities in the the app domain. */\n      entityType?: string;\n      /** Scope schema is defined in (Global/Site) */\n      scope?: SchemaScope;\n  }\n  enum SchemaScope {\n      /** Global schema, relevant to all sites */\n      GLOBAL = \"GLOBAL\",\n      /** Site schema, relevant to specific site only */\n      SITE = \"SITE\"\n  }\n  interface SchemaBody {\n      /** Groupings of meaningful content categories. Optional. */\n      groups?: SchemaFieldsGroup[];\n      /** Fields that will be displayed in content previews (e.g., product name for products). */\n      previewFields?: PreviewFields;\n      /** Whether the schema is hidden from the site. */\n      hidden?: boolean;\n      /** Translation strategy for the schema */\n      translationStrategy?: TranslationStrategy;\n  }\n  interface SchemaFieldsGroup {\n      /** Group descriptive name. */\n      displayName?: string;\n      /** Group fields that contain the actual meta data */\n      fields?: SchemaField[];\n  }\n  interface SchemaField {\n      /** Field ID. */\n      _id?: string;\n      /** Field descriptive name. */\n      displayName?: string;\n      /** Field type. */\n      type?: FieldType;\n      /** Field minimum length (in case of text field) */\n      minLength?: number | null;\n      /** Field maximum length (in case text field) */\n      maxLength?: number | null;\n      /** Field format. If set - must be one of the values of wix.api.format as string (case insensitive) */\n      format?: string | null;\n      /** In case field is accessible in schema via sequences, this array represents the name of the sequences by their order */\n      sequencePath?: string[];\n      /** Whether the field is hidden from the site. Hidden field constraints (type, min/max length) are still active! */\n      hidden?: boolean;\n      /** Whether the field is for display only and should not allowed to be translated */\n      displayOnly?: boolean;\n  }\n  enum FieldType {\n      /** Undefined field type */\n      UNDEFINED_TYPE = \"UNDEFINED_TYPE\",\n      /** Short text TEXT */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long Plain Text TEXT */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** Long text including styles, images, links and more... HTML */\n      RICH_TEXT = \"RICH_TEXT\",\n      /** Wix Rich-Content-Editor format RICO */\n      RICH_CONTENT_EDITOR = \"RICH_CONTENT_EDITOR\",\n      /** Choose one from many options CSV TEXT */\n      SELECTION = \"SELECTION\",\n      /** Choose multi items from many options */\n      MULTI_SELECTION = \"MULTI_SELECTION\",\n      /** Wix document media item */\n      DOCUMENT = \"DOCUMENT\",\n      /** Wix Image media item */\n      IMAGE = \"IMAGE\",\n      /** Wix Video media item */\n      VIDEO = \"VIDEO\",\n      /** Image URL without metadata */\n      IMAGE_LINK = \"IMAGE_LINK\",\n      /** contain an XML representation of an entity or part of it */\n      XML = \"XML\"\n  }\n  interface PreviewFields {\n      /** ID of field representing the schema's title. */\n      titleFieldId?: string | null;\n      /** ID of field representing the schema's image. */\n      imageFieldId?: string | null;\n      /** ID of field representing the schema's video. */\n      videoFieldId?: string | null;\n  }\n  enum TranslationStrategy {\n      /** Standard translation strategy */\n      STANDARD = \"STANDARD\",\n      /** Compound entity translation strategy */\n      COMPOUND = \"COMPOUND\"\n  }\n  interface CreateOrUpdateContentSchemaByKeyRequest {\n      /** Schema to add/update. */\n      schema: SchemaByKey;\n  }\n  interface SchemaByKey {\n      /** Schema key. */\n      key?: SchemaKey;\n      /** Schema data. */\n      body?: SchemaBody;\n      /** Higher level schema, group_by_name will point to an entity of this schema. */\n      referencedSchemaKey?: SchemaKey;\n      /** The name of the schema */\n      schemaName?: string | null;\n  }\n  interface CreateOrUpdateContentSchemaResponse {\n      /** Created/updated schema. */\n      schema?: Schema;\n  }\n  interface UpdateContentSchemaRequest {\n      /** Schema to add/update. */\n      schema: SchemaById;\n  }\n  interface SchemaById {\n      /** Schema ID. */\n      _id?: string;\n      /** Schema data. */\n      body?: SchemaBody;\n      /** Higher level schema, group_by_name will point to an entity of this schema. */\n      referencedSchemaKey?: SchemaKey;\n      /** The name of the schema */\n      schemaName?: string | null;\n  }\n  interface ListContentSchemasRequest {\n      /** Filter object */\n      filter?: SchemaFilter;\n      /** Paging options. */\n      paging?: Paging;\n  }\n  interface SchemaFilter {\n      /** Schema IDs. */\n      schemaIds?: string[];\n      /** App ID. */\n      appId?: string | null;\n      /** Entity types */\n      entityType?: string | null;\n      /** Search for schemas that are applicable to all sites or for this specific site. */\n      scope?: SchemaScope;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListContentSchemasResponse {\n      /** Schemas that meet the request conditions. */\n      schemas?: Schema[];\n  }\n  interface GetSiteContentSchemasRequest {\n  }\n  interface GetSiteContentSchemasResponse {\n      /** Schemas that have content. */\n      schemas?: Schema[];\n  }\n  interface RemoveContentSchemaRequest {\n      /** Schema ID to delete. */\n      schemaId: string;\n  }\n  interface RemoveContentSchemaResponse {\n  }\n  interface RemoveContentSchemaByKeyRequest {\n      /** Schema key to delete. */\n      schemaKey: SchemaKey;\n  }\n  /**\n   * Creates a new content schema or updates an existing one.\n   * To update, identify the relvant schema by its appId, entityType and scope.\n   * There are no partial updates. Updating a schema will override the existing one.\n   * @param schema - Schema to add/update.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField schema\n   * @requiredField schema.body\n   * @requiredField schema.key\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function createOrUpdateContentSchemaByKey(schema: SchemaByKey): Promise<CreateOrUpdateContentSchemaResponse>;\n  /**\n   * Updates an existing content schema by ID.\n   * There are no partial updates. Updates to a schema will override the existing one.\n   * @param schema - Schema to add/update.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField schema\n   * @requiredField schema.body\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function updateContentSchema(schema: SchemaById): Promise<CreateOrUpdateContentSchemaResponse>;\n  /**\n   * Retrieves a list of up to 100 content schemas, given the provided paging and filters.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function listContentSchemas(options?: ListContentSchemasOptions): Promise<ListContentSchemasResponse>;\n  interface ListContentSchemasOptions {\n      /** Filter object */\n      filter?: SchemaFilter;\n      /** Paging options. */\n      paging?: Paging;\n  }\n  /**\n   * Retrieves all schemas that have at least one content key.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function getSiteContentSchemas(): Promise<GetSiteContentSchemasResponse>;\n  /**\n   * Deletes an existing content schema by ID.\n   * Note: If the requested ID doesn't exist, the API will ignore the request and return successfully - with no error message.\n   * @param schemaId - Schema ID to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField schemaId\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function removeContentSchema(schemaId: string): Promise<void>;\n  /**\n   * Deletes an existing content schema by schemaKey - including appId, entityType and scope.\n   * If the requested key doesn't exist, the API will ignore the request and return successfully - with no error message.\n   * @param schemaKey - Schema key to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField schemaKey\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function removeContentSchemaByKey(schemaKey: SchemaKey): Promise<void>;\n  \n  type multilingualLocalizationV1Schema_universal_d_Schema = Schema;\n  type multilingualLocalizationV1Schema_universal_d_SchemaKey = SchemaKey;\n  type multilingualLocalizationV1Schema_universal_d_SchemaScope = SchemaScope;\n  const multilingualLocalizationV1Schema_universal_d_SchemaScope: typeof SchemaScope;\n  type multilingualLocalizationV1Schema_universal_d_SchemaBody = SchemaBody;\n  type multilingualLocalizationV1Schema_universal_d_SchemaFieldsGroup = SchemaFieldsGroup;\n  type multilingualLocalizationV1Schema_universal_d_SchemaField = SchemaField;\n  type multilingualLocalizationV1Schema_universal_d_FieldType = FieldType;\n  const multilingualLocalizationV1Schema_universal_d_FieldType: typeof FieldType;\n  type multilingualLocalizationV1Schema_universal_d_PreviewFields = PreviewFields;\n  type multilingualLocalizationV1Schema_universal_d_TranslationStrategy = TranslationStrategy;\n  const multilingualLocalizationV1Schema_universal_d_TranslationStrategy: typeof TranslationStrategy;\n  type multilingualLocalizationV1Schema_universal_d_CreateOrUpdateContentSchemaByKeyRequest = CreateOrUpdateContentSchemaByKeyRequest;\n  type multilingualLocalizationV1Schema_universal_d_SchemaByKey = SchemaByKey;\n  type multilingualLocalizationV1Schema_universal_d_CreateOrUpdateContentSchemaResponse = CreateOrUpdateContentSchemaResponse;\n  type multilingualLocalizationV1Schema_universal_d_UpdateContentSchemaRequest = UpdateContentSchemaRequest;\n  type multilingualLocalizationV1Schema_universal_d_SchemaById = SchemaById;\n  type multilingualLocalizationV1Schema_universal_d_ListContentSchemasRequest = ListContentSchemasRequest;\n  type multilingualLocalizationV1Schema_universal_d_SchemaFilter = SchemaFilter;\n  type multilingualLocalizationV1Schema_universal_d_Paging = Paging;\n  type multilingualLocalizationV1Schema_universal_d_ListContentSchemasResponse = ListContentSchemasResponse;\n  type multilingualLocalizationV1Schema_universal_d_GetSiteContentSchemasRequest = GetSiteContentSchemasRequest;\n  type multilingualLocalizationV1Schema_universal_d_GetSiteContentSchemasResponse = GetSiteContentSchemasResponse;\n  type multilingualLocalizationV1Schema_universal_d_RemoveContentSchemaRequest = RemoveContentSchemaRequest;\n  type multilingualLocalizationV1Schema_universal_d_RemoveContentSchemaResponse = RemoveContentSchemaResponse;\n  type multilingualLocalizationV1Schema_universal_d_RemoveContentSchemaByKeyRequest = RemoveContentSchemaByKeyRequest;\n  const multilingualLocalizationV1Schema_universal_d_createOrUpdateContentSchemaByKey: typeof createOrUpdateContentSchemaByKey;\n  const multilingualLocalizationV1Schema_universal_d_updateContentSchema: typeof updateContentSchema;\n  const multilingualLocalizationV1Schema_universal_d_listContentSchemas: typeof listContentSchemas;\n  type multilingualLocalizationV1Schema_universal_d_ListContentSchemasOptions = ListContentSchemasOptions;\n  const multilingualLocalizationV1Schema_universal_d_getSiteContentSchemas: typeof getSiteContentSchemas;\n  const multilingualLocalizationV1Schema_universal_d_removeContentSchema: typeof removeContentSchema;\n  const multilingualLocalizationV1Schema_universal_d_removeContentSchemaByKey: typeof removeContentSchemaByKey;\n  namespace multilingualLocalizationV1Schema_universal_d {\n    export {\n      multilingualLocalizationV1Schema_universal_d_Schema as Schema,\n      multilingualLocalizationV1Schema_universal_d_SchemaKey as SchemaKey,\n      multilingualLocalizationV1Schema_universal_d_SchemaScope as SchemaScope,\n      multilingualLocalizationV1Schema_universal_d_SchemaBody as SchemaBody,\n      multilingualLocalizationV1Schema_universal_d_SchemaFieldsGroup as SchemaFieldsGroup,\n      multilingualLocalizationV1Schema_universal_d_SchemaField as SchemaField,\n      multilingualLocalizationV1Schema_universal_d_FieldType as FieldType,\n      multilingualLocalizationV1Schema_universal_d_PreviewFields as PreviewFields,\n      multilingualLocalizationV1Schema_universal_d_TranslationStrategy as TranslationStrategy,\n      multilingualLocalizationV1Schema_universal_d_CreateOrUpdateContentSchemaByKeyRequest as CreateOrUpdateContentSchemaByKeyRequest,\n      multilingualLocalizationV1Schema_universal_d_SchemaByKey as SchemaByKey,\n      multilingualLocalizationV1Schema_universal_d_CreateOrUpdateContentSchemaResponse as CreateOrUpdateContentSchemaResponse,\n      multilingualLocalizationV1Schema_universal_d_UpdateContentSchemaRequest as UpdateContentSchemaRequest,\n      multilingualLocalizationV1Schema_universal_d_SchemaById as SchemaById,\n      multilingualLocalizationV1Schema_universal_d_ListContentSchemasRequest as ListContentSchemasRequest,\n      multilingualLocalizationV1Schema_universal_d_SchemaFilter as SchemaFilter,\n      multilingualLocalizationV1Schema_universal_d_Paging as Paging,\n      multilingualLocalizationV1Schema_universal_d_ListContentSchemasResponse as ListContentSchemasResponse,\n      multilingualLocalizationV1Schema_universal_d_GetSiteContentSchemasRequest as GetSiteContentSchemasRequest,\n      multilingualLocalizationV1Schema_universal_d_GetSiteContentSchemasResponse as GetSiteContentSchemasResponse,\n      multilingualLocalizationV1Schema_universal_d_RemoveContentSchemaRequest as RemoveContentSchemaRequest,\n      multilingualLocalizationV1Schema_universal_d_RemoveContentSchemaResponse as RemoveContentSchemaResponse,\n      multilingualLocalizationV1Schema_universal_d_RemoveContentSchemaByKeyRequest as RemoveContentSchemaByKeyRequest,\n      multilingualLocalizationV1Schema_universal_d_createOrUpdateContentSchemaByKey as createOrUpdateContentSchemaByKey,\n      multilingualLocalizationV1Schema_universal_d_updateContentSchema as updateContentSchema,\n      multilingualLocalizationV1Schema_universal_d_listContentSchemas as listContentSchemas,\n      multilingualLocalizationV1Schema_universal_d_ListContentSchemasOptions as ListContentSchemasOptions,\n      multilingualLocalizationV1Schema_universal_d_getSiteContentSchemas as getSiteContentSchemas,\n      multilingualLocalizationV1Schema_universal_d_removeContentSchema as removeContentSchema,\n      multilingualLocalizationV1Schema_universal_d_removeContentSchemaByKey as removeContentSchemaByKey,\n    };\n  }\n  \n  export { multilingualLocalizationV1Schema_universal_d as localizationSchema };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-events.v3.d.ts",
      "content": "declare module \"wix-events.v3\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface TicketDefinition {\n      /**\n       * Ticket definition ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Event ID to which the ticket definition belongs. */\n      eventId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the ticket definition is updated. To prevent conflicting changes, the existing revision must be used when updating a ticket definition.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when the ticket definition was created in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time of the ticket definition's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      name?: string | null;\n      description?: string | null;\n      policyText?: string | null;\n      /** Whether this ticket definition is hidden to customers and cannot be purchased. */\n      hidden?: boolean;\n      /**\n       * Whether the ticket has a limited maximum quantity.\n       * @readonly\n       */\n      limited?: boolean;\n      /** The maximum number of tickets that can be sold for the event when first defining the event. If a seating map is defined after you created a ticket definition, this property is ignored and `actualLimit` is used instead. */\n      initialLimit?: number | null;\n      /**\n       * The maximum number of tickets that can be sold for the event after adding a seating map to the event. If no seating map is defined, this property is the same as `initialLimit`.\n       * @readonly\n       */\n      actualLimit?: number | null;\n      /** Ticket pricing method. */\n      pricingMethod?: PricingMethod;\n      /** Whether fee is included in the ticket price or customer pays it additionally at checkout. <br> <br> `FEE_INCLUDED`: The fee is deducted from the ticket price for a seller. For example, if you're selling tickets for $10, then a service fee of $0.25 will be deducted from the price and you'll get $9.75 <br> <br> `FEE_ADDED_AT_CHECKOUT`: The fee is shown in addition to the ticket price at checkout and a guest pays the fee. For example, if you sell tickets for $10, a customer will see a service fee of $0.25 and will pay $10.25 in total. */\n      feeType?: Type;\n      /** Ticket sale period. */\n      salePeriod?: SalePeriod;\n      /**\n       * Ticket sale status. <br> <br> `SALE_SCHEDULED`: Tickets are not on sale yet. <br> <br> `SALE_STARTED`: Tickets are on sale. <br> <br> `SALE_ENDED`: Tickets are not on sale.\n       * @readonly\n       */\n      saleStatus?: SaleStatusEnumStatus;\n      /** Ticket sales information. */\n      salesDetails?: SalesDetails;\n      /**\n       * For proxy.\n       * @internal\n       * @readonly\n       */\n      sortIndex?: number;\n      /**\n       * Limit of tickets that can be purchased per checkout.\n       * Takes the smaller value between event ticket_limit_per_order and actual_limit values.\n       * @readonly\n       */\n      limitPerCheckout?: number | null;\n      /**\n       * Event created timestamp in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @internal\n       * @readonly\n       */\n      eventCreatedDate?: Date;\n  }\n  interface PricingMethod extends PricingMethodPriceOneOf {\n      /** Same ticket price for everyone. */\n      fixedPrice?: Money;\n      /** Minimum price guests must pay for a ticket. The price can be updated to a higher amount by a guest during the checkout. */\n      guestPrice?: Money;\n      /** Sets of various ticket prices. For example, you can charge different prices for children and adults. */\n      pricingOptions?: PricingOptions;\n      /**\n       * Ticket price type. <br> <br> `STANDARD`: All money goes to a seller. Applies to all ticket pricing methods except for `guestPrice`. <br> <br> `DONATION`: All collected money is a donation. This pricing type is automatically assigned when the `guestPrice` pricing method is selected.\n       * @readonly\n       */\n      pricingType?: PricingTypeEnumType;\n      /**\n       * Whether the ticket is free. To create a free ticket, enter `0` in the `pricingMethod.fixedPrice.value` field.\n       * @readonly\n       */\n      free?: boolean;\n  }\n  /** @oneof */\n  interface PricingMethodPriceOneOf {\n      /** Same ticket price for everyone. */\n      fixedPrice?: Money;\n      /** Minimum price guests must pay for a ticket. The price can be updated to a higher amount by a guest during the checkout. */\n      guestPrice?: Money;\n      /** Sets of various ticket prices. For example, you can charge different prices for children and adults. */\n      pricingOptions?: PricingOptions;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be a valid [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code (e.g., USD). */\n      currency?: string;\n  }\n  interface PricingOptions {\n      /** Ticket price option details. */\n      optionDetails?: OptionDetails[];\n  }\n  interface OptionDetails {\n      /** Ticket price option ID. */\n      optionId?: string | null;\n      /** Ticket price option name, such as \"Child Ticket\". */\n      name?: string | null;\n      /** Ticket price. */\n      price?: Money;\n  }\n  enum PricingTypeEnumType {\n      UNKNOWN_PRICING_TYPE = \"UNKNOWN_PRICING_TYPE\",\n      STANDARD = \"STANDARD\",\n      DONATION = \"DONATION\"\n  }\n  enum Type {\n      UNKNOWN_FEE_TYPE = \"UNKNOWN_FEE_TYPE\",\n      /** Seller absorbs the fee. It is deducted from the ticket price. */\n      FEE_INCLUDED = \"FEE_INCLUDED\",\n      /** Fee is added to the ticket price at checkout. */\n      FEE_ADDED_AT_CHECKOUT = \"FEE_ADDED_AT_CHECKOUT\",\n      /** Service fee is not collected - available only for free tickets and legacy users. */\n      NO_FEE = \"NO_FEE\"\n  }\n  interface SalePeriod {\n      /** Ticket sale start timestamp in `yyyy-mm-ddThh:mm:sssZ` format. */\n      startDate?: Date;\n      /** Ticket sale end timestamp in `yyyy-mm-ddThh:mm:sssZ` format. */\n      endDate?: Date;\n      /** Whether to display the ticket if it's not available to buy. */\n      displayNotOnSale?: boolean;\n  }\n  enum SaleStatusEnumStatus {\n      UNKNOWN_SALE_STATUS = \"UNKNOWN_SALE_STATUS\",\n      /** Ticket sale is scheduled to start */\n      SALE_SCHEDULED = \"SALE_SCHEDULED\",\n      /** Ticket sale has started */\n      SALE_STARTED = \"SALE_STARTED\",\n      /** Ticket sale has ended */\n      SALE_ENDED = \"SALE_ENDED\"\n  }\n  interface SalesDetails {\n      /**\n       * Number of tickets that have not been purchased yet. The field is `null` if the ticket quantity is unlimited.\n       * @readonly\n       */\n      unsoldCount?: number | null;\n      /**\n       * Number of purchased tickets.\n       * @readonly\n       */\n      soldCount?: number | null;\n      /**\n       * Number of reserved tickets.\n       * @readonly\n       */\n      reservedCount?: number | null;\n      /**\n       * Whether the tickets are sold out.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n  }\n  interface GetTicketDefinitionSummaryRequest {\n      /** Ticket definition id. */\n      ticketDefinitionId?: string | null;\n  }\n  interface GetTicketDefinitionSummaryResponse {\n      /** Summary. */\n      summary?: TicketDefinitionSummary;\n  }\n  interface TicketDefinitionSummary {\n      /**\n       * Ticket definition ID.\n       * @readonly\n       */\n      definitionId?: string | null;\n      /**\n       * Event ID to which the ticket definition summary belongs.\n       * @readonly\n       */\n      eventId?: string | null;\n      /**\n       * Date and time of the ticket definition summary latest update in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Reserved count.\n       * @readonly\n       */\n      reservedCount?: number;\n      /**\n       * Sold count.\n       * @readonly\n       */\n      soldCount?: number;\n      /**\n       * Paid exists.\n       * @readonly\n       */\n      paidExists?: boolean;\n  }\n  interface ListEventTicketingSummaryRequest {\n      /** Event ID. */\n      eventId?: string[];\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  interface ListEventTicketingSummaryResponse {\n      /** Ticketing summaries. */\n      summaries?: EventTicketingSummary[];\n  }\n  interface EventTicketingSummary {\n      /**\n       * Event ID to which the ticketing summary belongs.\n       * @readonly\n       */\n      eventId?: string | null;\n      /**\n       * Date and time of the ticketing summary latest update in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Whether all tickets are sold for this event.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n      /**\n       * Price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPrice?: Money;\n      /**\n       * Price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPrice?: Money;\n      /** Currency used in event transactions. */\n      currency?: string | null;\n      /**\n       * Formatted price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPriceFormatted?: string | null;\n      /**\n       * Formatted price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPriceFormatted?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface ReservationCreated {\n      /** Reservation created timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n      /** Reservation status. */\n      status?: ReservationStatus;\n      /** Reservation ticket quantities. */\n      quantities?: TicketQuantity[];\n      /** Reservation update timestamp. */\n      _updatedDate?: Date;\n      /** Reservation counts. */\n      counts?: ReservationCount[];\n  }\n  enum ReservationStatus {\n      /**\n       * Reservation is pending confirmation.\n       * The reservation will expire after the expiration due time.\n       */\n      RESERVATION_PENDING = \"RESERVATION_PENDING\",\n      /** The reservation was confirmed and will not expire. */\n      RESERVATION_CONFIRMED = \"RESERVATION_CONFIRMED\",\n      /** The reservation was canceled because of non payment. */\n      RESERVATION_CANCELED = \"RESERVATION_CANCELED\",\n      /** The reservation was canceled manually by the buyer. */\n      RESERVATION_CANCELED_MANUALLY = \"RESERVATION_CANCELED_MANUALLY\",\n      /** The reservation has expired. */\n      RESERVATION_EXPIRED = \"RESERVATION_EXPIRED\"\n  }\n  interface TicketQuantity {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string | null;\n      /** Quantity. */\n      quantity?: number | null;\n      /** Quantity update timestamp. */\n      _updatedDate?: Date;\n  }\n  interface ReservationCount {\n      /** Reservation Count snapshot timestamp. */\n      timestamp?: Date;\n      /** Ticket Definition ID. */\n      ticketDefinitionId?: string;\n      /** Confirmed reservation count. */\n      confirmedCount?: number;\n      /** Pending reservation count. */\n      pendingCount?: number;\n      /** True if paid ticket reservation exist. */\n      paidExists?: boolean;\n  }\n  interface ReservationUpdated {\n      /** Reservation updated timestamp. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation status. */\n      status?: ReservationStatus;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n      /** Reservation ticket quantities. */\n      quantities?: TicketQuantity[];\n      /** Reservation update timestamp. */\n      _updatedDate?: Date;\n      /** Reservation counts. */\n      counts?: ReservationCount[];\n  }\n  interface EventDeleted {\n      /** Event deleted timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /**\n       * Event categories.\n       * @internal\n       */\n      categories?: string[];\n  }\n  interface CreateTicketDefinitionRequest {\n      /** Ticket definition info. */\n      ticketDefinition: TicketDefinition;\n      /** Requested fields. */\n      fields?: Field[];\n  }\n  enum Field {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Include `unsoldCount`, `soldCount`, `reservedCount` and `soldOut` in the response. */\n      SALES_DETAILS = \"SALES_DETAILS\"\n  }\n  interface CreateTicketDefinitionResponse {\n      /** Created ticket definition. */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface UpdateTicketDefinitionRequest {\n      /** Ticket definition to update. */\n      ticketDefinition: TicketDefinition;\n      /**\n       * List of exact fields to update. For example, if you define only the `name`, all other fields are ignored.\n       * @internal\n       */\n      mask?: string[];\n      /** Requested fields. */\n      fields?: Field[];\n  }\n  interface UpdateTicketDefinitionResponse {\n      /** The updated ticket definition. */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface SalePeriodUpdated {\n      /** Ticket definition sale period after update. */\n      afterUpdate?: SalePeriod;\n  }\n  interface GetTicketDefinitionRequest {\n      /** Ticket definition ID. */\n      ticketDefinitionId: string;\n      /**\n       * Predefined sets of fields to return.\n       * - `SALES_DETAILS`: Returns `salesDetails`.\n       */\n      fields?: Field[];\n  }\n  interface GetTicketDefinitionResponse {\n      /** The requested ticket definition. */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface DeleteTicketDefinitionRequest {\n      /** ID of the ticket definition to delete. */\n      ticketDefinitionId: string;\n  }\n  interface DeleteTicketDefinitionResponse {\n  }\n  interface ReorderTicketDefinitionsRequest extends ReorderTicketDefinitionsRequestReferenceDefinitionOneOf {\n      /** Move the given `definitionId` before the referenced ticket definition. */\n      beforeDefinitionId?: string;\n      /** Move the given `definitionId` after the referenced ticket definition. */\n      afterDefinitionId?: string;\n      /** Event ID. */\n      eventId: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId: string;\n  }\n  /** @oneof */\n  interface ReorderTicketDefinitionsRequestReferenceDefinitionOneOf {\n      /** Move the given `definitionId` before the referenced ticket definition. */\n      beforeDefinitionId?: string;\n      /** Move the given `definitionId` after the referenced ticket definition. */\n      afterDefinitionId?: string;\n  }\n  interface ReorderTicketDefinitionsResponse {\n  }\n  interface UpdateTicketDefinitionSortIndexRequest {\n      /** Ticket definition ID */\n      ticketDefinitionId?: string;\n      /** The revision of the ticket definition */\n      revision?: string;\n      /** the sort index of a ticket definition to set */\n      sortIndex?: number;\n      /** Requested fields. */\n      fields?: Field[];\n  }\n  interface UpdateTicketDefinitionSortIndexResponse {\n      /** the updated ticket definition */\n      ticketDefinition?: TicketDefinition;\n  }\n  interface QueryTicketDefinitionsRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query: QueryV2;\n      /**\n       * Predefined sets of fields to return.\n       * - `SALES_DETAILS`: Returns `salesDetails`.\n       */\n      fields?: Field[];\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort` parameters. */\n      cursorPaging?: CursorPaging;\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\", \"fieldName2\":{\"$operator\":\"value2\"} }`. <br/> <br/> **Example:** <br/> `\"filter\" : { \"id\": \"2224a9d1-79e6-4549-a5c5-bf7ce5aac1a5\", \"revision\": {\"$ne\":\"1\"} }` */\n      filter?: Record<string, any> | null;\n      /** Sort object in the following format: <br/> `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]` <br/> <br/> **Example:** <br/> `[{\"fieldName\":\"createdDate\",\"direction\":\"DESC\"}]` <br/> <br/> See [supported fields](https://dev.wix.com/api/rest/wix-events/policy-v2/filter-and-sort) for more information. */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort` parameters. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Defaults to `ASC` */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTicketDefinitionsResponse {\n      /** List of ticket definitions. */\n      ticketDefinitions?: TicketDefinition[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryAvailableTicketDefinitionsRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query: QueryV2;\n      /** Requested fields. */\n      fields?: Field[];\n  }\n  interface QueryAvailableTicketDefinitionsResponse {\n      /** List of ticket definitions. */\n      ticketDefinitions?: TicketDefinition[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadataV2;\n  }\n  interface CountTicketDefinitionsRequest {\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. */\n      filter?: Record<string, any> | null;\n      /**\n       * Parameters to count ticket definitions by.\n       *\n       * - Max: 20 facets.\n       */\n      facet?: string[];\n  }\n  interface CountTicketDefinitionsResponse {\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadataV2;\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts>;\n  }\n  interface FacetCounts {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface BulkDeleteTicketDefinitionsByFilterRequest {\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. <br/> <br/> **Example:** <br/> `\"filter\" : { \"eventId\": \"3d3d5c04-ece0-45a8-85f0-11a58edaa192\" }` */\n      filter: Record<string, any> | null;\n  }\n  interface BulkDeleteTicketDefinitionsByFilterResponse {\n  }\n  interface ChangeCurrencyRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Event currency, in 3-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency: string;\n  }\n  interface ChangeCurrencyResponse {\n  }\n  interface BulkCopyTicketDefinitionsByEventIdRequest {\n      /** Origin instance ID. */\n      originInstanceId?: string | null;\n      /** Origin Event ID. */\n      originEventId?: string;\n      /** Target Event ID. */\n      targetEventId?: string;\n  }\n  interface BulkCopyTicketDefinitionsByEventIdResponse {\n      /** Copied ticket definitions. */\n      definitions?: CopiedTicketDefinition[];\n  }\n  interface CopiedTicketDefinition {\n      /** Origin Ticket definition ID. */\n      originTicketDefinitionId?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n  }\n  interface EventCanceled {\n      /** Event canceled timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n  }\n  interface EventEnded {\n      /** Event end timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface EventCreated {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n  }\n  interface Location {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationType;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationType {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /**\n       * apartment number\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** address latitude coordinates */\n      latitude?: number | null;\n      /** address longitude coordinates */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /**\n       * subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * free text description of subdivision type\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface ScheduleConfig {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date;\n      /** Event end timestamp. */\n      endDate?: Date;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: Recurrences;\n  }\n  interface Recurrences {\n      /** Event occurrences. */\n      occurrences?: Occurrence[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: Status;\n  }\n  interface Occurrence {\n      /** Event start timestamp. */\n      startDate?: Date;\n      /** Event end timestamp. */\n      endDate?: Date;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum Status {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  enum EventStatus {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface EventUpdated {\n      /** Event update timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig;\n      /** Event title. */\n      title?: string;\n      /** Whether schedule configuration was updated. */\n      scheduleConfigUpdated?: boolean;\n      /**\n       * The set of properties which were updated. For example 'title' or 'location'\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Whether event has opened new spots with this update.\n       * @internal\n       */\n      newSpotsOpened?: boolean | null;\n  }\n  interface SeatingPlanSummaryUpdated {\n      /** Seating plan id */\n      seatingPlanId?: string;\n      /** External seating plan id */\n      externalSeatingPlanId?: string | null;\n  }\n  interface SeatingPlanCategoriesSummaryUpdated {\n      /** Seating plan id */\n      seatingPlanId?: string;\n      /** External seating plan id */\n      externalSeatingPlanId?: string | null;\n      /** Ticket counts by category */\n      categories?: CategoryDetails[];\n  }\n  interface CategoryDetails {\n      /**\n       * Seating plan id\n       * @readonly\n       */\n      seatingPlanId?: string | null;\n      /**\n       * External seating plan id\n       * @readonly\n       */\n      externalSeatingPlanId?: string | null;\n      /**\n       * External category id\n       * @readonly\n       */\n      externalCategoryId?: string | null;\n      /**\n       * Total capacity in the category\n       * @readonly\n       */\n      totalCapacity?: number | null;\n      /**\n       * Already reserved capacity\n       * @readonly\n       */\n      reserved?: number | null;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      siteCreated?: SiteCreated;\n      siteTransferred?: SiteTransferred;\n      siteDeleted?: SiteDeleted;\n      siteUndeleted?: SiteUndeleted;\n      sitePublished?: SitePublished;\n      siteUnpublished?: SiteUnpublished;\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      serviceProvisioned?: ServiceProvisioned;\n      serviceRemoved?: ServiceRemoved;\n      siteRenamedPayload?: SiteRenamed;\n      hardDeleted?: SiteHardDeleted;\n      namespaceChanged?: NamespaceChanged;\n      studioAssigned?: StudioAssigned;\n      studioUnassigned?: StudioUnassigned;\n      metaSiteId?: string;\n      version?: string;\n      timestamp?: string;\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      siteCreated?: SiteCreated;\n      siteTransferred?: SiteTransferred;\n      siteDeleted?: SiteDeleted;\n      siteUndeleted?: SiteUndeleted;\n      sitePublished?: SitePublished;\n      siteUnpublished?: SiteUnpublished;\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      serviceProvisioned?: ServiceProvisioned;\n      serviceRemoved?: ServiceRemoved;\n      siteRenamedPayload?: SiteRenamed;\n      hardDeleted?: SiteHardDeleted;\n      namespaceChanged?: NamespaceChanged;\n      studioAssigned?: StudioAssigned;\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      appDefId?: string;\n      instanceId?: string;\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      originTemplateId?: string;\n      ownerId?: string;\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      siteName?: string;\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      dateDeleted?: Date;\n      deleteStatus?: DeleteStatus;\n      deleteOrigin?: string;\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      originInstanceId?: string;\n      version?: string | null;\n  }\n  interface ServiceRemoved {\n      appDefId?: string;\n      instanceId?: string;\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      newSiteName?: string;\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      oldNamespace?: Namespace;\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface GetTicketDefinitionFromTrashBinRequest {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Requested fields. Not implemented. */\n      fields?: Field[];\n  }\n  interface GetTicketDefinitionFromTrashBinResponse {\n      /** The requested ticket definition. */\n      ticketDefinition?: TicketDefinition;\n  }\n  /**\n   * Creates a ticket definition. Allowed to create up to 100 definitions per event.\n   * @param ticketDefinition - Ticket definition info.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ticketDefinition\n   * @requiredField ticketDefinition.eventId\n   * @requiredField ticketDefinition.feeType\n   * @requiredField ticketDefinition.name\n   * @requiredField ticketDefinition.pricingMethod\n   * @adminMethod\n   * @returns Created ticket definition.\n   */\n  function createTicketDefinition(ticketDefinition: TicketDefinition, options?: CreateTicketDefinitionOptions): Promise<TicketDefinition>;\n  interface CreateTicketDefinitionOptions {\n      /** Requested fields. */\n      fields?: Field[];\n  }\n  /**\n   * Updates a ticket definition.\n   * Each time the ticket definition is updated, `revision` increments by 1. The existing `revision` must be included when updating the ticket definition. This ensures you're working with the latest ticket definition and prevents unintended overwrites.\n   * @param _id - Ticket definition ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField ticketDefinition\n   * @requiredField ticketDefinition.revision\n   * @adminMethod\n   * @returns The updated ticket definition.\n   */\n  function updateTicketDefinition(_id: string | null, ticketDefinition: UpdateTicketDefinition, options?: UpdateTicketDefinitionOptions): Promise<TicketDefinition>;\n  interface UpdateTicketDefinition {\n      /**\n       * Ticket definition ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Event ID to which the ticket definition belongs. */\n      eventId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the ticket definition is updated. To prevent conflicting changes, the existing revision must be used when updating a ticket definition.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when the ticket definition was created in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time of the ticket definition's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      name?: string | null;\n      description?: string | null;\n      policyText?: string | null;\n      /** Whether this ticket definition is hidden to customers and cannot be purchased. */\n      hidden?: boolean;\n      /**\n       * Whether the ticket has a limited maximum quantity.\n       * @readonly\n       */\n      limited?: boolean;\n      /** The maximum number of tickets that can be sold for the event when first defining the event. If a seating map is defined after you created a ticket definition, this property is ignored and `actualLimit` is used instead. */\n      initialLimit?: number | null;\n      /**\n       * The maximum number of tickets that can be sold for the event after adding a seating map to the event. If no seating map is defined, this property is the same as `initialLimit`.\n       * @readonly\n       */\n      actualLimit?: number | null;\n      /** Ticket pricing method. */\n      pricingMethod?: PricingMethod;\n      /** Whether fee is included in the ticket price or customer pays it additionally at checkout. <br> <br> `FEE_INCLUDED`: The fee is deducted from the ticket price for a seller. For example, if you're selling tickets for $10, then a service fee of $0.25 will be deducted from the price and you'll get $9.75 <br> <br> `FEE_ADDED_AT_CHECKOUT`: The fee is shown in addition to the ticket price at checkout and a guest pays the fee. For example, if you sell tickets for $10, a customer will see a service fee of $0.25 and will pay $10.25 in total. */\n      feeType?: Type;\n      /** Ticket sale period. */\n      salePeriod?: SalePeriod;\n      /**\n       * Ticket sale status. <br> <br> `SALE_SCHEDULED`: Tickets are not on sale yet. <br> <br> `SALE_STARTED`: Tickets are on sale. <br> <br> `SALE_ENDED`: Tickets are not on sale.\n       * @readonly\n       */\n      saleStatus?: SaleStatusEnumStatus;\n      /** Ticket sales information. */\n      salesDetails?: SalesDetails;\n      /**\n       * For proxy.\n       * @internal\n       * @readonly\n       */\n      sortIndex?: number;\n      /**\n       * Limit of tickets that can be purchased per checkout.\n       * Takes the smaller value between event ticket_limit_per_order and actual_limit values.\n       * @readonly\n       */\n      limitPerCheckout?: number | null;\n      /**\n       * Event created timestamp in `yyyy-mm-ddThh:mm:sssZ` format.\n       * @internal\n       * @readonly\n       */\n      eventCreatedDate?: Date;\n  }\n  interface UpdateTicketDefinitionOptions {\n      /**\n       * List of exact fields to update. For example, if you define only the `name`, all other fields are ignored.\n       * @internal\n       */\n      mask?: string[];\n      /** Requested fields. */\n      fields?: Field[];\n  }\n  /**\n   * Retrieves a ticket definition.\n   * @param ticketDefinitionId - Ticket definition ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ticketDefinitionId\n   * @adminMethod\n   * @returns The requested ticket definition.\n   */\n  function getTicketDefinition(ticketDefinitionId: string, options?: GetTicketDefinitionOptions): Promise<TicketDefinition>;\n  interface GetTicketDefinitionOptions {\n      /**\n       * Predefined sets of fields to return.\n       * - `SALES_DETAILS`: Returns `salesDetails`.\n       */\n      fields?: Field[];\n  }\n  /**\n   * Permanently deletes a ticket definition.\n   * @param ticketDefinitionId - ID of the ticket definition to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ticketDefinitionId\n   * @adminMethod\n   */\n  function deleteTicketDefinition(ticketDefinitionId: string): Promise<void>;\n  /**\n   * Changes ticket definitions order in an event dashboard and the list of available tickets in the ticket picker.\n   * > **Note:** It is possible to use both `beforeTicketDefinitionId` and `afterTicketDefinitionId` at the same time but only the last one defined will be executed.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField options.ticketDefinitionId\n   * @adminMethod\n   */\n  function reorderTicketDefinitions(eventId: string, options?: ReorderTicketDefinitionsOptions): Promise<void>;\n  interface ReorderTicketDefinitionsOptions extends ReorderTicketDefinitionsRequestReferenceDefinitionOneOf {\n      /** Ticket definition ID. */\n      ticketDefinitionId: string;\n      /** Move the given `definitionId` before the referenced ticket definition. */\n      beforeDefinitionId?: string;\n      /** Move the given `definitionId` after the referenced ticket definition. */\n      afterDefinitionId?: string;\n  }\n  /**\n   * Retrieves a list of ticket definitions, given the provided paging, filtering, and sorting.\n   * Query Ticket Definitions runs with these defaults, which you can override:\n   * - `createdDate` is sorted in `ASC` order\n   * - `paging.limit` is `100`\n   * - `paging.offset` is `0`\n   * For field support for filters and sorting, see [Ticket Definitions: Supported Filters and Sorting](https://dev.wix.com/api/rest/wix-events/ticket-definitions-v3/filter-and-sort).\n   * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @param query - Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @adminMethod\n   */\n  function queryTicketDefinitions(query: QueryV2, options?: QueryTicketDefinitionsOptions): Promise<QueryTicketDefinitionsResponse>;\n  interface QueryTicketDefinitionsOptions {\n      /**\n       * Predefined sets of fields to return.\n       * - `SALES_DETAILS`: Returns `salesDetails`.\n       */\n      fields?: Field[];\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  /**\n   * Retrieves a list of available (visible) ticket definitions. Differs from QueryTicketDefinitions by these points:\n   * - only visible tickets are returned (not(`hidden`))\n   * - required permission is less strict (allowed for site visitors)\n   * - `salesDetails` always empty\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryAvailableTicketDefinitions(options?: QueryAvailableTicketDefinitionsOptions): TicketDefinitionsQueryBuilder;\n  interface QueryAvailableTicketDefinitionsOptions {\n      /** Requested fields. */\n      fields?: Field[] | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TicketDefinitionsQueryResult extends QueryCursorResult {\n      items: TicketDefinition[];\n      query: TicketDefinitionsQueryBuilder;\n      next: () => Promise<TicketDefinitionsQueryResult>;\n      prev: () => Promise<TicketDefinitionsQueryResult>;\n  }\n  interface TicketDefinitionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus', value: any) => TicketDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus', value: any) => TicketDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => TicketDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => TicketDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => TicketDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => TicketDefinitionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus', value: any) => TicketDefinitionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus', value: boolean) => TicketDefinitionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus'>) => TicketDefinitionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'eventId' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'pricingMethod.fixedPrice.value' | 'pricingMethod.fixedPrice.currency' | 'pricingMethod.pricingType' | 'pricingMethod.free' | 'feeType' | 'saleStatus'>) => TicketDefinitionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => TicketDefinitionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => TicketDefinitionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<TicketDefinitionsQueryResult>;\n  }\n  /**\n   * Counts ticket definitions by the `saleStatus` and `hidden` fields. <br> <br>\n   * To learn about working with _query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function countTicketDefinitions(options?: CountTicketDefinitionsOptions): Promise<CountTicketDefinitionsResponse>;\n  interface CountTicketDefinitionsOptions {\n      /** Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. */\n      filter?: Record<string, any> | null;\n      /**\n       * Parameters to count ticket definitions by.\n       *\n       * - Max: 20 facets.\n       */\n      facet?: string[];\n  }\n  /**\n   * Deletes multiple ticket definitions. <br> <br>\n   * All ticket definitions that meet the specified `filter` criteria are deleted.\n   * @param filter - Filter object in the following format: <br/> `\"filter\" : { \"fieldName1\": \"value1\" }`. <br/> <br/> **Example:** <br/> `\"filter\" : { \"eventId\": \"3d3d5c04-ece0-45a8-85f0-11a58edaa192\" }`\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @adminMethod\n   */\n  function bulkDeleteTicketDefinitionsByFilter(filter: Record<string, any> | null): Promise<void>;\n  /**\n   * Changes the currency for all tickets (per event).\n   * @param eventId - Event ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField options\n   * @requiredField options.currency\n   * @adminMethod\n   */\n  function changeCurrency(eventId: string, options: ChangeCurrencyOptions): Promise<void>;\n  interface ChangeCurrencyOptions {\n      /** Event currency, in 3-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency: string;\n  }\n  \n  const eventsV3TicketDefinition_universal_d___debug: typeof __debug;\n  type eventsV3TicketDefinition_universal_d_TicketDefinition = TicketDefinition;\n  type eventsV3TicketDefinition_universal_d_PricingMethod = PricingMethod;\n  type eventsV3TicketDefinition_universal_d_PricingMethodPriceOneOf = PricingMethodPriceOneOf;\n  type eventsV3TicketDefinition_universal_d_Money = Money;\n  type eventsV3TicketDefinition_universal_d_PricingOptions = PricingOptions;\n  type eventsV3TicketDefinition_universal_d_OptionDetails = OptionDetails;\n  type eventsV3TicketDefinition_universal_d_PricingTypeEnumType = PricingTypeEnumType;\n  const eventsV3TicketDefinition_universal_d_PricingTypeEnumType: typeof PricingTypeEnumType;\n  type eventsV3TicketDefinition_universal_d_Type = Type;\n  const eventsV3TicketDefinition_universal_d_Type: typeof Type;\n  type eventsV3TicketDefinition_universal_d_SalePeriod = SalePeriod;\n  type eventsV3TicketDefinition_universal_d_SaleStatusEnumStatus = SaleStatusEnumStatus;\n  const eventsV3TicketDefinition_universal_d_SaleStatusEnumStatus: typeof SaleStatusEnumStatus;\n  type eventsV3TicketDefinition_universal_d_SalesDetails = SalesDetails;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionSummaryRequest = GetTicketDefinitionSummaryRequest;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionSummaryResponse = GetTicketDefinitionSummaryResponse;\n  type eventsV3TicketDefinition_universal_d_TicketDefinitionSummary = TicketDefinitionSummary;\n  type eventsV3TicketDefinition_universal_d_ListEventTicketingSummaryRequest = ListEventTicketingSummaryRequest;\n  type eventsV3TicketDefinition_universal_d_ListEventTicketingSummaryResponse = ListEventTicketingSummaryResponse;\n  type eventsV3TicketDefinition_universal_d_EventTicketingSummary = EventTicketingSummary;\n  type eventsV3TicketDefinition_universal_d_DomainEvent = DomainEvent;\n  type eventsV3TicketDefinition_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type eventsV3TicketDefinition_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type eventsV3TicketDefinition_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type eventsV3TicketDefinition_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type eventsV3TicketDefinition_universal_d_ActionEvent = ActionEvent;\n  type eventsV3TicketDefinition_universal_d_Empty = Empty;\n  type eventsV3TicketDefinition_universal_d_ReservationCreated = ReservationCreated;\n  type eventsV3TicketDefinition_universal_d_ReservationStatus = ReservationStatus;\n  const eventsV3TicketDefinition_universal_d_ReservationStatus: typeof ReservationStatus;\n  type eventsV3TicketDefinition_universal_d_TicketQuantity = TicketQuantity;\n  type eventsV3TicketDefinition_universal_d_ReservationCount = ReservationCount;\n  type eventsV3TicketDefinition_universal_d_ReservationUpdated = ReservationUpdated;\n  type eventsV3TicketDefinition_universal_d_EventDeleted = EventDeleted;\n  type eventsV3TicketDefinition_universal_d_CreateTicketDefinitionRequest = CreateTicketDefinitionRequest;\n  type eventsV3TicketDefinition_universal_d_Field = Field;\n  const eventsV3TicketDefinition_universal_d_Field: typeof Field;\n  type eventsV3TicketDefinition_universal_d_CreateTicketDefinitionResponse = CreateTicketDefinitionResponse;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionRequest = UpdateTicketDefinitionRequest;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionResponse = UpdateTicketDefinitionResponse;\n  type eventsV3TicketDefinition_universal_d_SalePeriodUpdated = SalePeriodUpdated;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionRequest = GetTicketDefinitionRequest;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionResponse = GetTicketDefinitionResponse;\n  type eventsV3TicketDefinition_universal_d_DeleteTicketDefinitionRequest = DeleteTicketDefinitionRequest;\n  type eventsV3TicketDefinition_universal_d_DeleteTicketDefinitionResponse = DeleteTicketDefinitionResponse;\n  type eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsRequest = ReorderTicketDefinitionsRequest;\n  type eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsRequestReferenceDefinitionOneOf = ReorderTicketDefinitionsRequestReferenceDefinitionOneOf;\n  type eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsResponse = ReorderTicketDefinitionsResponse;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionSortIndexRequest = UpdateTicketDefinitionSortIndexRequest;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionSortIndexResponse = UpdateTicketDefinitionSortIndexResponse;\n  type eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsRequest = QueryTicketDefinitionsRequest;\n  type eventsV3TicketDefinition_universal_d_QueryV2 = QueryV2;\n  type eventsV3TicketDefinition_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type eventsV3TicketDefinition_universal_d_Sorting = Sorting;\n  type eventsV3TicketDefinition_universal_d_SortOrder = SortOrder;\n  const eventsV3TicketDefinition_universal_d_SortOrder: typeof SortOrder;\n  type eventsV3TicketDefinition_universal_d_Paging = Paging;\n  type eventsV3TicketDefinition_universal_d_CursorPaging = CursorPaging;\n  type eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsResponse = QueryTicketDefinitionsResponse;\n  type eventsV3TicketDefinition_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type eventsV3TicketDefinition_universal_d_Cursors = Cursors;\n  type eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsRequest = QueryAvailableTicketDefinitionsRequest;\n  type eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsResponse = QueryAvailableTicketDefinitionsResponse;\n  type eventsV3TicketDefinition_universal_d_CountTicketDefinitionsRequest = CountTicketDefinitionsRequest;\n  type eventsV3TicketDefinition_universal_d_CountTicketDefinitionsResponse = CountTicketDefinitionsResponse;\n  type eventsV3TicketDefinition_universal_d_FacetCounts = FacetCounts;\n  type eventsV3TicketDefinition_universal_d_BulkDeleteTicketDefinitionsByFilterRequest = BulkDeleteTicketDefinitionsByFilterRequest;\n  type eventsV3TicketDefinition_universal_d_BulkDeleteTicketDefinitionsByFilterResponse = BulkDeleteTicketDefinitionsByFilterResponse;\n  type eventsV3TicketDefinition_universal_d_ChangeCurrencyRequest = ChangeCurrencyRequest;\n  type eventsV3TicketDefinition_universal_d_ChangeCurrencyResponse = ChangeCurrencyResponse;\n  type eventsV3TicketDefinition_universal_d_BulkCopyTicketDefinitionsByEventIdRequest = BulkCopyTicketDefinitionsByEventIdRequest;\n  type eventsV3TicketDefinition_universal_d_BulkCopyTicketDefinitionsByEventIdResponse = BulkCopyTicketDefinitionsByEventIdResponse;\n  type eventsV3TicketDefinition_universal_d_CopiedTicketDefinition = CopiedTicketDefinition;\n  type eventsV3TicketDefinition_universal_d_EventCanceled = EventCanceled;\n  type eventsV3TicketDefinition_universal_d_EventEnded = EventEnded;\n  type eventsV3TicketDefinition_universal_d_EventCreated = EventCreated;\n  type eventsV3TicketDefinition_universal_d_Location = Location;\n  type eventsV3TicketDefinition_universal_d_MapCoordinates = MapCoordinates;\n  type eventsV3TicketDefinition_universal_d_LocationType = LocationType;\n  const eventsV3TicketDefinition_universal_d_LocationType: typeof LocationType;\n  type eventsV3TicketDefinition_universal_d_Address = Address;\n  type eventsV3TicketDefinition_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type eventsV3TicketDefinition_universal_d_StreetAddress = StreetAddress;\n  type eventsV3TicketDefinition_universal_d_AddressLocation = AddressLocation;\n  type eventsV3TicketDefinition_universal_d_Subdivision = Subdivision;\n  type eventsV3TicketDefinition_universal_d_SubdivisionType = SubdivisionType;\n  const eventsV3TicketDefinition_universal_d_SubdivisionType: typeof SubdivisionType;\n  type eventsV3TicketDefinition_universal_d_ScheduleConfig = ScheduleConfig;\n  type eventsV3TicketDefinition_universal_d_Recurrences = Recurrences;\n  type eventsV3TicketDefinition_universal_d_Occurrence = Occurrence;\n  type eventsV3TicketDefinition_universal_d_Status = Status;\n  const eventsV3TicketDefinition_universal_d_Status: typeof Status;\n  type eventsV3TicketDefinition_universal_d_EventStatus = EventStatus;\n  const eventsV3TicketDefinition_universal_d_EventStatus: typeof EventStatus;\n  type eventsV3TicketDefinition_universal_d_EventUpdated = EventUpdated;\n  type eventsV3TicketDefinition_universal_d_SeatingPlanSummaryUpdated = SeatingPlanSummaryUpdated;\n  type eventsV3TicketDefinition_universal_d_SeatingPlanCategoriesSummaryUpdated = SeatingPlanCategoriesSummaryUpdated;\n  type eventsV3TicketDefinition_universal_d_CategoryDetails = CategoryDetails;\n  type eventsV3TicketDefinition_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type eventsV3TicketDefinition_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type eventsV3TicketDefinition_universal_d_Asset = Asset;\n  type eventsV3TicketDefinition_universal_d_State = State;\n  const eventsV3TicketDefinition_universal_d_State: typeof State;\n  type eventsV3TicketDefinition_universal_d_SiteCreated = SiteCreated;\n  type eventsV3TicketDefinition_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const eventsV3TicketDefinition_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type eventsV3TicketDefinition_universal_d_Namespace = Namespace;\n  const eventsV3TicketDefinition_universal_d_Namespace: typeof Namespace;\n  type eventsV3TicketDefinition_universal_d_SiteTransferred = SiteTransferred;\n  type eventsV3TicketDefinition_universal_d_SiteDeleted = SiteDeleted;\n  type eventsV3TicketDefinition_universal_d_DeleteContext = DeleteContext;\n  type eventsV3TicketDefinition_universal_d_DeleteStatus = DeleteStatus;\n  const eventsV3TicketDefinition_universal_d_DeleteStatus: typeof DeleteStatus;\n  type eventsV3TicketDefinition_universal_d_SiteUndeleted = SiteUndeleted;\n  type eventsV3TicketDefinition_universal_d_SitePublished = SitePublished;\n  type eventsV3TicketDefinition_universal_d_SiteUnpublished = SiteUnpublished;\n  type eventsV3TicketDefinition_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type eventsV3TicketDefinition_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type eventsV3TicketDefinition_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type eventsV3TicketDefinition_universal_d_ServiceRemoved = ServiceRemoved;\n  type eventsV3TicketDefinition_universal_d_SiteRenamed = SiteRenamed;\n  type eventsV3TicketDefinition_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type eventsV3TicketDefinition_universal_d_NamespaceChanged = NamespaceChanged;\n  type eventsV3TicketDefinition_universal_d_StudioAssigned = StudioAssigned;\n  type eventsV3TicketDefinition_universal_d_StudioUnassigned = StudioUnassigned;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionFromTrashBinRequest = GetTicketDefinitionFromTrashBinRequest;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionFromTrashBinResponse = GetTicketDefinitionFromTrashBinResponse;\n  const eventsV3TicketDefinition_universal_d_createTicketDefinition: typeof createTicketDefinition;\n  type eventsV3TicketDefinition_universal_d_CreateTicketDefinitionOptions = CreateTicketDefinitionOptions;\n  const eventsV3TicketDefinition_universal_d_updateTicketDefinition: typeof updateTicketDefinition;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinition = UpdateTicketDefinition;\n  type eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionOptions = UpdateTicketDefinitionOptions;\n  const eventsV3TicketDefinition_universal_d_getTicketDefinition: typeof getTicketDefinition;\n  type eventsV3TicketDefinition_universal_d_GetTicketDefinitionOptions = GetTicketDefinitionOptions;\n  const eventsV3TicketDefinition_universal_d_deleteTicketDefinition: typeof deleteTicketDefinition;\n  const eventsV3TicketDefinition_universal_d_reorderTicketDefinitions: typeof reorderTicketDefinitions;\n  type eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsOptions = ReorderTicketDefinitionsOptions;\n  const eventsV3TicketDefinition_universal_d_queryTicketDefinitions: typeof queryTicketDefinitions;\n  type eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsOptions = QueryTicketDefinitionsOptions;\n  const eventsV3TicketDefinition_universal_d_queryAvailableTicketDefinitions: typeof queryAvailableTicketDefinitions;\n  type eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsOptions = QueryAvailableTicketDefinitionsOptions;\n  type eventsV3TicketDefinition_universal_d_TicketDefinitionsQueryResult = TicketDefinitionsQueryResult;\n  type eventsV3TicketDefinition_universal_d_TicketDefinitionsQueryBuilder = TicketDefinitionsQueryBuilder;\n  const eventsV3TicketDefinition_universal_d_countTicketDefinitions: typeof countTicketDefinitions;\n  type eventsV3TicketDefinition_universal_d_CountTicketDefinitionsOptions = CountTicketDefinitionsOptions;\n  const eventsV3TicketDefinition_universal_d_bulkDeleteTicketDefinitionsByFilter: typeof bulkDeleteTicketDefinitionsByFilter;\n  const eventsV3TicketDefinition_universal_d_changeCurrency: typeof changeCurrency;\n  type eventsV3TicketDefinition_universal_d_ChangeCurrencyOptions = ChangeCurrencyOptions;\n  namespace eventsV3TicketDefinition_universal_d {\n    export {\n      eventsV3TicketDefinition_universal_d___debug as __debug,\n      eventsV3TicketDefinition_universal_d_TicketDefinition as TicketDefinition,\n      eventsV3TicketDefinition_universal_d_PricingMethod as PricingMethod,\n      eventsV3TicketDefinition_universal_d_PricingMethodPriceOneOf as PricingMethodPriceOneOf,\n      eventsV3TicketDefinition_universal_d_Money as Money,\n      eventsV3TicketDefinition_universal_d_PricingOptions as PricingOptions,\n      eventsV3TicketDefinition_universal_d_OptionDetails as OptionDetails,\n      eventsV3TicketDefinition_universal_d_PricingTypeEnumType as PricingTypeEnumType,\n      eventsV3TicketDefinition_universal_d_Type as Type,\n      eventsV3TicketDefinition_universal_d_SalePeriod as SalePeriod,\n      eventsV3TicketDefinition_universal_d_SaleStatusEnumStatus as SaleStatusEnumStatus,\n      eventsV3TicketDefinition_universal_d_SalesDetails as SalesDetails,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionSummaryRequest as GetTicketDefinitionSummaryRequest,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionSummaryResponse as GetTicketDefinitionSummaryResponse,\n      eventsV3TicketDefinition_universal_d_TicketDefinitionSummary as TicketDefinitionSummary,\n      eventsV3TicketDefinition_universal_d_ListEventTicketingSummaryRequest as ListEventTicketingSummaryRequest,\n      eventsV3TicketDefinition_universal_d_ListEventTicketingSummaryResponse as ListEventTicketingSummaryResponse,\n      eventsV3TicketDefinition_universal_d_EventTicketingSummary as EventTicketingSummary,\n      eventsV3TicketDefinition_universal_d_DomainEvent as DomainEvent,\n      eventsV3TicketDefinition_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      eventsV3TicketDefinition_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      eventsV3TicketDefinition_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      eventsV3TicketDefinition_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      eventsV3TicketDefinition_universal_d_ActionEvent as ActionEvent,\n      eventsV3TicketDefinition_universal_d_Empty as Empty,\n      eventsV3TicketDefinition_universal_d_ReservationCreated as ReservationCreated,\n      eventsV3TicketDefinition_universal_d_ReservationStatus as ReservationStatus,\n      eventsV3TicketDefinition_universal_d_TicketQuantity as TicketQuantity,\n      eventsV3TicketDefinition_universal_d_ReservationCount as ReservationCount,\n      eventsV3TicketDefinition_universal_d_ReservationUpdated as ReservationUpdated,\n      eventsV3TicketDefinition_universal_d_EventDeleted as EventDeleted,\n      eventsV3TicketDefinition_universal_d_CreateTicketDefinitionRequest as CreateTicketDefinitionRequest,\n      eventsV3TicketDefinition_universal_d_Field as Field,\n      eventsV3TicketDefinition_universal_d_CreateTicketDefinitionResponse as CreateTicketDefinitionResponse,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionRequest as UpdateTicketDefinitionRequest,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionResponse as UpdateTicketDefinitionResponse,\n      eventsV3TicketDefinition_universal_d_SalePeriodUpdated as SalePeriodUpdated,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionRequest as GetTicketDefinitionRequest,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionResponse as GetTicketDefinitionResponse,\n      eventsV3TicketDefinition_universal_d_DeleteTicketDefinitionRequest as DeleteTicketDefinitionRequest,\n      eventsV3TicketDefinition_universal_d_DeleteTicketDefinitionResponse as DeleteTicketDefinitionResponse,\n      eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsRequest as ReorderTicketDefinitionsRequest,\n      eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsRequestReferenceDefinitionOneOf as ReorderTicketDefinitionsRequestReferenceDefinitionOneOf,\n      eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsResponse as ReorderTicketDefinitionsResponse,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionSortIndexRequest as UpdateTicketDefinitionSortIndexRequest,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionSortIndexResponse as UpdateTicketDefinitionSortIndexResponse,\n      eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsRequest as QueryTicketDefinitionsRequest,\n      eventsV3TicketDefinition_universal_d_QueryV2 as QueryV2,\n      eventsV3TicketDefinition_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      eventsV3TicketDefinition_universal_d_Sorting as Sorting,\n      eventsV3TicketDefinition_universal_d_SortOrder as SortOrder,\n      eventsV3TicketDefinition_universal_d_Paging as Paging,\n      eventsV3TicketDefinition_universal_d_CursorPaging as CursorPaging,\n      eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsResponse as QueryTicketDefinitionsResponse,\n      eventsV3TicketDefinition_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      eventsV3TicketDefinition_universal_d_Cursors as Cursors,\n      eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsRequest as QueryAvailableTicketDefinitionsRequest,\n      eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsResponse as QueryAvailableTicketDefinitionsResponse,\n      eventsV3TicketDefinition_universal_d_CountTicketDefinitionsRequest as CountTicketDefinitionsRequest,\n      eventsV3TicketDefinition_universal_d_CountTicketDefinitionsResponse as CountTicketDefinitionsResponse,\n      eventsV3TicketDefinition_universal_d_FacetCounts as FacetCounts,\n      eventsV3TicketDefinition_universal_d_BulkDeleteTicketDefinitionsByFilterRequest as BulkDeleteTicketDefinitionsByFilterRequest,\n      eventsV3TicketDefinition_universal_d_BulkDeleteTicketDefinitionsByFilterResponse as BulkDeleteTicketDefinitionsByFilterResponse,\n      eventsV3TicketDefinition_universal_d_ChangeCurrencyRequest as ChangeCurrencyRequest,\n      eventsV3TicketDefinition_universal_d_ChangeCurrencyResponse as ChangeCurrencyResponse,\n      eventsV3TicketDefinition_universal_d_BulkCopyTicketDefinitionsByEventIdRequest as BulkCopyTicketDefinitionsByEventIdRequest,\n      eventsV3TicketDefinition_universal_d_BulkCopyTicketDefinitionsByEventIdResponse as BulkCopyTicketDefinitionsByEventIdResponse,\n      eventsV3TicketDefinition_universal_d_CopiedTicketDefinition as CopiedTicketDefinition,\n      eventsV3TicketDefinition_universal_d_EventCanceled as EventCanceled,\n      eventsV3TicketDefinition_universal_d_EventEnded as EventEnded,\n      eventsV3TicketDefinition_universal_d_EventCreated as EventCreated,\n      eventsV3TicketDefinition_universal_d_Location as Location,\n      eventsV3TicketDefinition_universal_d_MapCoordinates as MapCoordinates,\n      eventsV3TicketDefinition_universal_d_LocationType as LocationType,\n      eventsV3TicketDefinition_universal_d_Address as Address,\n      eventsV3TicketDefinition_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      eventsV3TicketDefinition_universal_d_StreetAddress as StreetAddress,\n      eventsV3TicketDefinition_universal_d_AddressLocation as AddressLocation,\n      eventsV3TicketDefinition_universal_d_Subdivision as Subdivision,\n      eventsV3TicketDefinition_universal_d_SubdivisionType as SubdivisionType,\n      eventsV3TicketDefinition_universal_d_ScheduleConfig as ScheduleConfig,\n      eventsV3TicketDefinition_universal_d_Recurrences as Recurrences,\n      eventsV3TicketDefinition_universal_d_Occurrence as Occurrence,\n      eventsV3TicketDefinition_universal_d_Status as Status,\n      eventsV3TicketDefinition_universal_d_EventStatus as EventStatus,\n      eventsV3TicketDefinition_universal_d_EventUpdated as EventUpdated,\n      eventsV3TicketDefinition_universal_d_SeatingPlanSummaryUpdated as SeatingPlanSummaryUpdated,\n      eventsV3TicketDefinition_universal_d_SeatingPlanCategoriesSummaryUpdated as SeatingPlanCategoriesSummaryUpdated,\n      eventsV3TicketDefinition_universal_d_CategoryDetails as CategoryDetails,\n      eventsV3TicketDefinition_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      eventsV3TicketDefinition_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      eventsV3TicketDefinition_universal_d_Asset as Asset,\n      eventsV3TicketDefinition_universal_d_State as State,\n      eventsV3TicketDefinition_universal_d_SiteCreated as SiteCreated,\n      eventsV3TicketDefinition_universal_d_SiteCreatedContext as SiteCreatedContext,\n      eventsV3TicketDefinition_universal_d_Namespace as Namespace,\n      eventsV3TicketDefinition_universal_d_SiteTransferred as SiteTransferred,\n      eventsV3TicketDefinition_universal_d_SiteDeleted as SiteDeleted,\n      eventsV3TicketDefinition_universal_d_DeleteContext as DeleteContext,\n      eventsV3TicketDefinition_universal_d_DeleteStatus as DeleteStatus,\n      eventsV3TicketDefinition_universal_d_SiteUndeleted as SiteUndeleted,\n      eventsV3TicketDefinition_universal_d_SitePublished as SitePublished,\n      eventsV3TicketDefinition_universal_d_SiteUnpublished as SiteUnpublished,\n      eventsV3TicketDefinition_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      eventsV3TicketDefinition_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      eventsV3TicketDefinition_universal_d_ServiceProvisioned as ServiceProvisioned,\n      eventsV3TicketDefinition_universal_d_ServiceRemoved as ServiceRemoved,\n      eventsV3TicketDefinition_universal_d_SiteRenamed as SiteRenamed,\n      eventsV3TicketDefinition_universal_d_SiteHardDeleted as SiteHardDeleted,\n      eventsV3TicketDefinition_universal_d_NamespaceChanged as NamespaceChanged,\n      eventsV3TicketDefinition_universal_d_StudioAssigned as StudioAssigned,\n      eventsV3TicketDefinition_universal_d_StudioUnassigned as StudioUnassigned,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionFromTrashBinRequest as GetTicketDefinitionFromTrashBinRequest,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionFromTrashBinResponse as GetTicketDefinitionFromTrashBinResponse,\n      eventsV3TicketDefinition_universal_d_createTicketDefinition as createTicketDefinition,\n      eventsV3TicketDefinition_universal_d_CreateTicketDefinitionOptions as CreateTicketDefinitionOptions,\n      eventsV3TicketDefinition_universal_d_updateTicketDefinition as updateTicketDefinition,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinition as UpdateTicketDefinition,\n      eventsV3TicketDefinition_universal_d_UpdateTicketDefinitionOptions as UpdateTicketDefinitionOptions,\n      eventsV3TicketDefinition_universal_d_getTicketDefinition as getTicketDefinition,\n      eventsV3TicketDefinition_universal_d_GetTicketDefinitionOptions as GetTicketDefinitionOptions,\n      eventsV3TicketDefinition_universal_d_deleteTicketDefinition as deleteTicketDefinition,\n      eventsV3TicketDefinition_universal_d_reorderTicketDefinitions as reorderTicketDefinitions,\n      eventsV3TicketDefinition_universal_d_ReorderTicketDefinitionsOptions as ReorderTicketDefinitionsOptions,\n      eventsV3TicketDefinition_universal_d_queryTicketDefinitions as queryTicketDefinitions,\n      eventsV3TicketDefinition_universal_d_QueryTicketDefinitionsOptions as QueryTicketDefinitionsOptions,\n      eventsV3TicketDefinition_universal_d_queryAvailableTicketDefinitions as queryAvailableTicketDefinitions,\n      eventsV3TicketDefinition_universal_d_QueryAvailableTicketDefinitionsOptions as QueryAvailableTicketDefinitionsOptions,\n      eventsV3TicketDefinition_universal_d_TicketDefinitionsQueryResult as TicketDefinitionsQueryResult,\n      eventsV3TicketDefinition_universal_d_TicketDefinitionsQueryBuilder as TicketDefinitionsQueryBuilder,\n      eventsV3TicketDefinition_universal_d_countTicketDefinitions as countTicketDefinitions,\n      eventsV3TicketDefinition_universal_d_CountTicketDefinitionsOptions as CountTicketDefinitionsOptions,\n      eventsV3TicketDefinition_universal_d_bulkDeleteTicketDefinitionsByFilter as bulkDeleteTicketDefinitionsByFilter,\n      eventsV3TicketDefinition_universal_d_changeCurrency as changeCurrency,\n      eventsV3TicketDefinition_universal_d_ChangeCurrencyOptions as ChangeCurrencyOptions,\n    };\n  }\n  \n  export { eventsV3TicketDefinition_universal_d as ticketDefinitions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-idp-connection-provider.d.ts",
      "content": "declare module \"interfaces-iam-v1-idp-connection-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface AuthorizeRequest {\n      /** Config of the specific sso saved by the required_config param */\n      config?: Record<string, string>;\n      /** Other params coming from the user */\n      params?: Record<string, string>;\n      /** if need to do a redirect in the process of the SSO then will have to return to this callback url on the second part. */\n      callbackUrl?: string;\n      /** data that will be needed to put on the state of the request and return on the SSOSuccess response, or on any AuthorizationError thrown */\n      customPayload?: Record<string, string>;\n  }\n  interface AuthorizeResponse {\n      response?: SSOResponse;\n  }\n  interface SSOResponse extends SSOResponseStatusOneOf {\n      success?: SSOSuccess;\n      redirect?: SSORedirect;\n  }\n  /** @oneof */\n  interface SSOResponseStatusOneOf {\n      success?: SSOSuccess;\n      redirect?: SSORedirect;\n  }\n  interface SSOSuccess {\n      identityProfile?: IdpProfile;\n      customPayload?: Record<string, string>;\n  }\n  interface IdpProfile {\n      idpUserId?: string;\n      email?: string | null;\n      phone?: string | null;\n      firstName?: string | null;\n      lastName?: string | null;\n      picture?: string | null;\n      /** @internal */\n      targetTenantId?: string | null;\n      /** @internal */\n      tenantType?: TenantType;\n      nickname?: string | null;\n      labels?: string[];\n      language?: string | null;\n      address?: Address;\n      company?: string | null;\n      position?: string | null;\n      birthdate?: string | null;\n      customFields?: CustomField[];\n  }\n  enum TenantType {\n      UNKNOWN_TENANT_TYPE = \"UNKNOWN_TENANT_TYPE\",\n      ACCOUNT = \"ACCOUNT\",\n      SITE = \"SITE\",\n      ROOT = \"ROOT\"\n  }\n  /** Physical address */\n  interface Address {\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n  }\n  interface CustomField {\n      /**\n       * Custom field name. The name must match one of the key properties of the objects returned by\n       * [`List Extended Fields`](https://dev.wix.com/docs/rest/api-reference/contacts/extended-fields/list-extended-fields)\n       * with the `custom.` prefix removed.\n       */\n      name?: string;\n      /** Custom field value. */\n      value?: CustomValue;\n  }\n  interface CustomValue extends CustomValueValueOneOf {\n      /** String value. */\n      strValue?: string;\n      /** Number value. */\n      numValue?: number;\n      /** Date value. */\n      dateValue?: Date;\n      /** List value. */\n      listValue?: ListValue;\n      /** Map value. */\n      mapValue?: MapValue;\n  }\n  /** @oneof */\n  interface CustomValueValueOneOf {\n      /** String value. */\n      strValue?: string;\n      /** Number value. */\n      numValue?: number;\n      /** Date value. */\n      dateValue?: Date;\n      /** List value. */\n      listValue?: ListValue;\n      /** Map value. */\n      mapValue?: MapValue;\n  }\n  interface ListValue {\n      /** Custom value. */\n      value?: CustomValue[];\n  }\n  interface MapValue {\n      /** Mapped custom value. */\n      value?: Record<string, CustomValue>;\n  }\n  interface SSORedirect {\n      redirectUrl?: string;\n  }\n  interface AuthorizationErrorDetails {\n      code?: string;\n      customPayload?: Record<string, string>;\n  }\n  interface AuthorizeWithTokenParamsRequest {\n      /** Config of the specific sso saved by the required_config param */\n      config?: Record<string, string>;\n      /** Other params coming from the user */\n      tokenParams?: Record<string, string>;\n  }\n  interface AuthorizeWithTokenParamsResponse {\n      idpProfile?: IdpProfile;\n  }\n  interface AuthorizeWithTokenParamsErrorDetails {\n      code?: string;\n  }\n  interface IDPConnectionConfig {\n      /** Information required from admin when installing the SPI */\n      requiredConfig?: Record<string, string>;\n      /** Whether the SPI supports the optional AuthorizeWithTokenParams method */\n      authorizeTokensImplemented?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface AuthorizeOptions {\n      /** Config of the specific sso saved by the required_config param */\n      config?: Record<string, string>;\n      /** Other params coming from the user */\n      params?: Record<string, string>;\n      /** if need to do a redirect in the process of the SSO then will have to return to this callback url on the second part. */\n      callbackUrl?: string;\n      /** data that will be needed to put on the state of the request and return on the SSOSuccess response, or on any AuthorizationError thrown */\n      customPayload?: Record<string, string>;\n  }\n  interface AuthorizeWithTokenParamsOptions {\n      /** Config of the specific sso saved by the required_config param */\n      config?: Record<string, string>;\n      /** Other params coming from the user */\n      tokenParams?: Record<string, string>;\n  }\n  \n  function authorizationError(data: AuthorizationErrorDetails): BusinessError<AuthorizationErrorDetails>;\n  \n  const authorizeSpiErrors_d_authorizationError: typeof authorizationError;\n  namespace authorizeSpiErrors_d {\n    export {\n      authorizeSpiErrors_d_authorizationError as authorizationError,\n    };\n  }\n  \n  function authorizeWithTokenParamsError(data: AuthorizeWithTokenParamsErrorDetails): BusinessError<AuthorizeWithTokenParamsErrorDetails>;\n  \n  const authorizeWithTokenParamsSpiErrors_d_authorizeWithTokenParamsError: typeof authorizeWithTokenParamsError;\n  namespace authorizeWithTokenParamsSpiErrors_d {\n    export {\n      authorizeWithTokenParamsSpiErrors_d_authorizeWithTokenParamsError as authorizeWithTokenParamsError,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      authorizeSpiErrors_d as authorize,\n      authorizeWithTokenParamsSpiErrors_d as authorizeWithTokenParams,\n    };\n  }\n  \n  export { Address, AuthorizationErrorDetails, AuthorizeOptions, AuthorizeRequest, AuthorizeResponse, AuthorizeWithTokenParamsErrorDetails, AuthorizeWithTokenParamsOptions, AuthorizeWithTokenParamsRequest, AuthorizeWithTokenParamsResponse, BusinessError, Context, CustomField, CustomValue, CustomValueValueOneOf, IDPConnectionConfig, IdentificationData, IdentificationDataIdOneOf, IdentityType, IdpProfile, ListValue, MapValue, SSORedirect, SSOResponse, SSOResponseStatusOneOf, SSOSuccess, TenantType, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-items-selection-v1-items-selection-provider.d.ts",
      "content": "declare module \"interfaces-items-selection-v1-items-selection-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface QueryItemsRequest {\n      /** Query options. */\n      query?: Query;\n      /** A tag representing the Wix service requesting the list of items. */\n      tag?: Tag;\n  }\n  interface Query extends QueryPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests include a cursor token and do not define `filter`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * An optional repeated field that allows to specify sorting criteria for the search results.\n       * @internal\n       */\n      sort?: Sorting[];\n      /**\n       * Plain text search for an exact match.\n       *\n       * Supported properties are defined in the `searchParams.fields` property of the Item Selection Provider configuration in the Wix Developers Center.\n       *\n       * Max: 100 characters\n       */\n      search?: string | null;\n  }\n  /** @oneof */\n  interface QueryPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests include a cursor token and do not define `filter`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  enum Tag {\n      UNKNOWN_TAG = \"UNKNOWN_TAG\",\n      EMBEDDABLE = \"EMBEDDABLE\",\n      ECOM_EDIT_ORDER = \"ECOM_EDIT_ORDER\",\n      ECOM_CREATE_ORDER = \"ECOM_CREATE_ORDER\",\n      INBOX = \"INBOX\"\n  }\n  interface QueryItemsResponse {\n      /** List of items. */\n      items?: Item[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface Item {\n      /** Item ID. */\n      _id?: string;\n      /** Item name. */\n      name?: string | null;\n      /** Item description. */\n      description?: string | null;\n      /** Item image. */\n      image?: Image;\n      /** Additional information about the item. For example, an item's price. */\n      note?: string | null;\n      /**\n       * Indicates whether the item has additional steps, additional step will replace any existing additional_data exists on the item.\n       * @internal\n       */\n      hasAdditionalStep?: boolean | null;\n      /** Additional data associated with an item. The content of this object changes based on the Wix service defined in the `tag` field. */\n      additionalData?: AdditionalData;\n  }\n  interface Image {\n      /** Image URL. */\n      url?: string | null;\n  }\n  interface AdditionalData extends AdditionalDataDataOneOf {\n      /** Additional data associated with ecom catalog order. */\n      ecomCatalogData?: EcomCatalogData;\n      /** Additional data associated with inbox */\n      inboxData?: InboxData;\n  }\n  /** @oneof */\n  interface AdditionalDataDataOneOf {\n      /** Additional data associated with ecom catalog order. */\n      ecomCatalogData?: EcomCatalogData;\n      /** Additional data associated with inbox */\n      inboxData?: InboxData;\n  }\n  interface EcomCatalogData {\n      /** ID of the app that owns the order. */\n      appId?: string;\n      /** ID of the catalog item associated with the order. */\n      catalogItemId?: string;\n      /** Price of the item associated with the order. */\n      price?: string;\n      /** Additional options associated with the order. */\n      options?: Record<string, any> | null;\n  }\n  interface InboxData {\n      /** An array of actions that is supported by Inbox page */\n      actions?: Action[];\n  }\n  interface Action {\n      /** The title of the action */\n      title?: string;\n      /** The url of the action */\n      url?: string;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface FailureData {\n      /** Error details. */\n      error?: QueryError;\n  }\n  interface QueryError {\n      /** Error code. */\n      code?: Code;\n      /** Error message. */\n      message?: string;\n      /** Raw error data. */\n      data?: Record<string, any> | null;\n  }\n  enum Code {\n      NONE = \"NONE\",\n      SYSTEM_ERROR = \"SYSTEM_ERROR\",\n      OTHER = \"OTHER\"\n  }\n  interface ItemsSelectionProviderConfig {\n      /** A unique identifier for the provider. */\n      key?: string;\n      /** Supported search parameters. */\n      searchParams?: SearchParams;\n      /** Display data such as provider name and icon. */\n      contentData?: ContentData;\n      /**\n       * Optional additional step taken after the initial item selection.\n       * @internal\n       */\n      additionalStepInfo?: AdditionalStepInfo;\n      /** An array of strings representing the Wix UI pages supported by your SPI implementation. If no tags are listed, Wix assumes that the implementation supports all eligible pages. */\n      supportedTags?: Tag[];\n      /**\n       * Optional create new item option, to define a widget that will be opened to create a new item\n       * @internal\n       */\n      createNewItemInfo?: CreateNewItemInfo;\n  }\n  interface LearnMore {\n      /** The url of the learn more link. If you want a dynamic url according to the user locale, you can add {{locale}} variable within the string. */\n      url?: string;\n      /** Optional link label. */\n      label?: string | null;\n  }\n  interface SearchField {\n      /** Supported searchable fields. */\n      key?: string;\n      /** Item description. */\n      description?: string;\n  }\n  interface FilterInfo extends FilterInfoOptionsOneOf {\n      /** Static hardcoded options */\n      staticOptions?: StaticFilterOptions;\n      /** Key of the filter */\n      key?: string;\n      /** Optional filter will be shown only for consumers with this tag. Only one filter is allowed per tag. */\n      tag?: Tag;\n      /** The filter selection type. For now only single selection is available */\n      selectionType?: FilterSelectionType;\n      /** Filter options type. For now only static options are supported */\n      optionsType?: FilterOptionsType;\n  }\n  /** @oneof */\n  interface FilterInfoOptionsOneOf {\n      /** Static hardcoded options */\n      staticOptions?: StaticFilterOptions;\n  }\n  enum FilterSelectionType {\n      UNKNOWN_SELECTION = \"UNKNOWN_SELECTION\",\n      /** Allow to select only a single item */\n      SINGLE_SELECTION = \"SINGLE_SELECTION\"\n  }\n  enum FilterOptionsType {\n      UNKNOWN_FILTER_OPTIONS = \"UNKNOWN_FILTER_OPTIONS\",\n      /** Static hardcoded options */\n      STATIC = \"STATIC\"\n  }\n  interface StaticFilterOptions {\n      /** List of hardcoded options for a filter */\n      data?: StaticFilterOption[];\n  }\n  interface StaticFilterOption {\n      /** Title of a filter option */\n      label?: string;\n      /** Value of a filter option */\n      value?: string;\n  }\n  interface SearchParams {\n      /** Supported search parameters. */\n      fields?: SearchField[];\n      /** Filter for viewing only part of the items. */\n      filter?: FilterInfo;\n  }\n  interface ContentData {\n      /** Provider icon. Choose an icon name from the [Wix Design System](https://www.wixdesignsystem.com/). */\n      iconKey?: string | null;\n      /** Provider name. */\n      providerName?: string;\n      /** Item title. */\n      title?: string;\n      /** Button label. */\n      button?: string;\n      /** Item description. */\n      subtitle?: string | null;\n      /** Learn more link. */\n      learnMore?: LearnMore;\n  }\n  interface AdditionalStepInfo {\n      /** ID of the widget associated with the step. */\n      widgetId?: string;\n      /** Title of the additional step. */\n      title?: string;\n      /** Subtitle of the additional step. */\n      subtitle?: string | null;\n      /** Hide item note if exists when showing selected item on additional step header, default: false. */\n      hideItemNote?: boolean | null;\n  }\n  interface CreateNewItemInfo {\n      /** ID of the widget associated with the new item modal. */\n      widgetId?: string;\n      /**\n       * one app (mobile) component id that will be opened to create a new item\n       * @internal\n       */\n      mobileComponentId?: string | null;\n      /** Button label for creating a new item */\n      buttonText?: string | null;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface QueryItemsOptions {\n      /** Query options. */\n      query?: Query;\n      /** A tag representing the Wix service requesting the list of items. */\n      tag?: Tag;\n  }\n  \n  function queryItemsFailed(data: FailureData): BusinessError<FailureData>;\n  \n  const queryItemsSpiErrors_d_queryItemsFailed: typeof queryItemsFailed;\n  namespace queryItemsSpiErrors_d {\n    export {\n      queryItemsSpiErrors_d_queryItemsFailed as queryItemsFailed,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      queryItemsSpiErrors_d as queryItems,\n    };\n  }\n  \n  export { Action, AdditionalData, AdditionalDataDataOneOf, AdditionalStepInfo, BusinessError, Code, ContentData, Context, CreateNewItemInfo, CursorPaging, Cursors, EcomCatalogData, FailureData, FilterInfo, FilterInfoOptionsOneOf, FilterOptionsType, FilterSelectionType, IdentificationData, IdentificationDataIdOneOf, IdentityType, Image, InboxData, Item, ItemsSelectionProviderConfig, LearnMore, Paging, PagingMetadataV2, Query, QueryError, QueryItemsOptions, QueryItemsRequest, QueryItemsResponse, QueryPagingMethodOneOf, SearchField, SearchParams, SortOrder, Sorting, StaticFilterOption, StaticFilterOptions, Tag, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-forms-schema-provider.d.ts",
      "content": "declare module \"interfaces-forms-v4-forms-schema-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface ValidateFormSchemaRequest extends ValidateFormSchemaRequestActionsOneOf {\n      /** Payload sent on update action. */\n      updateOptions?: UpdateOptions;\n      /** Payload sent on create action. */\n      createOptions?: CreateOptions;\n      /** Form to perform validations on. */\n      form: Form;\n      /** Type of action with the form, either create of update */\n      type?: ActionType;\n      /**\n       * If should kill Ascend or not.\n       * @internal\n       */\n      killingAscend?: boolean | null;\n  }\n  /** @oneof */\n  interface ValidateFormSchemaRequestActionsOneOf {\n      /** Payload sent on update action. */\n      updateOptions?: UpdateOptions;\n      /** Payload sent on create action. */\n      createOptions?: CreateOptions;\n  }\n  interface Form {\n      /**\n       * Form ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** List of form fields that represent input elements. */\n      fields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      fieldsV2?: FormFieldV2[];\n      /** Defines the layout for form fields in each submission step. */\n      steps?: Step[];\n      /** Form rules, can be applied to layout and items properties. */\n      rules?: FormRule[];\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Properties of the form. */\n      properties?: FormProperties;\n      /**\n       * Fields which were soft deleted.\n       * @readonly\n       */\n      deletedFields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      deletedFieldsV2?: FormFieldV2[];\n      /**\n       * Regular forms can be freely modified.\n       * Extensions are copied from templates and might have restrictions.\n       * @readonly\n       */\n      kind?: Kind;\n      /**\n       * Defines triggers that will be executed after the submission, for the submissions based on this schema.\n       * Forms provide a set of predefined triggers that allow it to assign specific business cases to created forms.\n       */\n      postSubmissionTriggers?: PostSubmissionTriggers;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields;\n      /** Identifies the namespace that the form belongs to. */\n      namespace?: string;\n      /**\n       * Nested forms.\n       * @internal\n       * @readonly\n       */\n      nestedForms?: NestedForm[];\n      /**\n       * Media folder ID.\n       * @readonly\n       */\n      mediaFolderId?: string | null;\n      /** Rules that limit submissions on this form. */\n      limitationRule?: LimitationRule;\n      /**\n       * Spam filter protection level.\n       * Default: ADVANCED.\n       */\n      spamFilterProtectionLevel?: SpamFilterProtectionLevel;\n      /** Required indicator properties. */\n      requiredIndicatorProperties?: RequiredIndicatorProperties;\n  }\n  enum RequiredIndicator {\n      /** Asterisk (*). */\n      ASTERISK = \"ASTERISK\",\n      /** Text (default: \"Required\"). */\n      TEXT = \"TEXT\",\n      /** None. */\n      NONE = \"NONE\"\n  }\n  enum RequiredIndicatorPlacement {\n      /** After field title. */\n      AFTER_FIELD_TITLE = \"AFTER_FIELD_TITLE\",\n      /** Before field title. */\n      BEFORE_FIELD_TITLE = \"BEFORE_FIELD_TITLE\"\n  }\n  interface FormField {\n      /** Item ID. */\n      _id?: string;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /** Validation of field output value. */\n      validation?: Validation;\n      /** Mark the field as containing personal information. This will encrypt user data when storing it. */\n      pii?: boolean;\n      /** Whether the field is hidden. */\n      hidden?: boolean;\n      /** Field view properties. */\n      view?: Record<string, any> | null;\n      /** Details identifying field, which is extension of other entity */\n      dataExtensionsDetails?: DataExtensionsDetails;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n      /**\n       * Nested form overrides.\n       * @internal\n       */\n      nestedFormOverrides?: NestedFormOverrides;\n  }\n  interface StringType extends StringTypeFormatOptionsOneOf {\n      /** DATE format options */\n      dateOptions?: DateTimeConstraints;\n      /** DATE_TIME format options */\n      dateTimeOptions?: DateTimeConstraints;\n      /** TIME format options */\n      timeOptions?: DateTimeConstraints;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: DateTimeConstraints;\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: Format;\n      /** Custom error messages when validation fails. */\n      errorMessages?: StringErrorMessages;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  /** @oneof */\n  interface StringTypeFormatOptionsOneOf {\n      /** DATE format options */\n      dateOptions?: DateTimeConstraints;\n      /** DATE_TIME format options */\n      dateTimeOptions?: DateTimeConstraints;\n      /** TIME format options */\n      timeOptions?: DateTimeConstraints;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: DateTimeConstraints;\n  }\n  enum Format {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface StringErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface DateTimeConstraints {\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      minimum?: string | null;\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      maximum?: string | null;\n  }\n  interface NumberType {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface NumberErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface IntegerType {\n      /** Minimum value. */\n      maximum?: number | null;\n      /** Maximum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface BooleanType {\n      /** Custom error message when validation fails. */\n      errorMessages?: BooleanErrorMessages;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface BooleanErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayType {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayItems;\n      /** Custom error message when validation fails. */\n      errorMessages?: ArrayErrorMessages;\n  }\n  interface ObjectType {\n      /** Description of object properties. */\n      properties?: Record<string, PropertiesType>;\n      /** Custom error message when validation fails. */\n      errorMessages?: ObjectErrorMessages;\n  }\n  interface PropertiesType extends PropertiesTypePropertiesTypeOneOf {\n      /** String type validation for property. */\n      string?: StringType;\n      /** Number type validation for property. */\n      number?: NumberType;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType;\n      /** Integer type validation for property. */\n      integer?: IntegerType;\n      /** Array type validation for property. */\n      array?: ArrayType;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface PropertiesTypePropertiesTypeOneOf {\n      /** String type validation for property. */\n      string?: StringType;\n      /** Number type validation for property. */\n      number?: NumberType;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType;\n      /** Integer type validation for property. */\n      integer?: IntegerType;\n      /** Array type validation for property. */\n      array?: ArrayType;\n  }\n  interface ObjectErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayItems extends ArrayItemsItemsOneOf {\n      /** String type validation for items. */\n      string?: StringType;\n      /** Number type validation for items. */\n      number?: NumberType;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType;\n      /** Integer type validation for items. */\n      integer?: IntegerType;\n      /** Object type validation for items */\n      object?: ObjectType;\n  }\n  /** @oneof */\n  interface ArrayItemsItemsOneOf {\n      /** String type validation for items. */\n      string?: StringType;\n      /** Number type validation for items. */\n      number?: NumberType;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType;\n      /** Integer type validation for items. */\n      integer?: IntegerType;\n      /** Object type validation for items */\n      object?: ObjectType;\n  }\n  interface ArrayErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface PredefinedValidation extends PredefinedValidationFormatOptionsOneOf {\n      /** Payment input field. */\n      paymentOptions?: PaymentType;\n      /** Format of predefined validation. */\n      format?: ValidationFormat;\n  }\n  /** @oneof */\n  interface PredefinedValidationFormatOptionsOneOf {\n      /** Payment input field. */\n      paymentOptions?: PaymentType;\n  }\n  enum ValidationFormat {\n      UNDEFINED = \"UNDEFINED\",\n      /** File upload validation. */\n      WIX_FILE = \"WIX_FILE\",\n      /** Payment validation. */\n      PAYMENT = \"PAYMENT\"\n  }\n  interface PaymentType {\n      /** Field mapped to products. */\n      products?: Product[];\n      /** Minimum amount of different products. */\n      minItems?: number | null;\n      /** Maximum amount of different products. */\n      maxItems?: number | null;\n  }\n  enum ProductType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Shippable (physical). */\n      SHIPPABLE = \"SHIPPABLE\",\n      /** Digital. */\n      DIGITAL = \"DIGITAL\"\n  }\n  enum PriceType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Fixed price. */\n      FIXED_PRICE = \"FIXED_PRICE\",\n      /** Dynamic price from price range. */\n      DYNAMIC_PRICE = \"DYNAMIC_PRICE\"\n  }\n  interface QuantityLimit {\n      /** Minimum quantity. */\n      minimum?: number | null;\n      /** Maximum quantity. */\n      maximum?: number | null;\n  }\n  interface FixedPriceOptions {\n      /** Fixed price monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). */\n      price?: string;\n  }\n  interface DynamicPriceOptions {\n      /** Minimal price monetary amount. */\n      minPrice?: string;\n      /** Maximal price monetary amount. */\n      maxPrice?: string | null;\n  }\n  interface Product extends ProductPriceOptionsOneOf {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Product type. */\n      productType?: ProductType;\n      /** Price type. */\n      priceType?: PriceType;\n      /** Quantity limit. */\n      quantityLimit?: QuantityLimit;\n  }\n  /** @oneof */\n  interface ProductPriceOptionsOneOf {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions;\n  }\n  interface NestedFormFieldOverrides {\n      /** Whether the field is required. Leave blank for no override. */\n      required?: boolean | null;\n      /** Whether the field is hidden. Leave blank for no override. */\n      hidden?: boolean | null;\n  }\n  interface Validation extends ValidationValidationOneOf {\n      /** Validation of string type. */\n      string?: StringType;\n      /** Validation of number type. */\n      number?: NumberType;\n      /** Validation of integer type. */\n      integer?: IntegerType;\n      /** Validation of boolean type. */\n      boolean?: BooleanType;\n      /** Validation of array type. */\n      array?: ArrayType;\n      /** Validation of object type. */\n      object?: ObjectType;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation;\n      /** Whether the field is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ValidationValidationOneOf {\n      /** Validation of string type. */\n      string?: StringType;\n      /** Validation of number type. */\n      number?: NumberType;\n      /** Validation of integer type. */\n      integer?: IntegerType;\n      /** Validation of boolean type. */\n      boolean?: BooleanType;\n      /** Validation of array type. */\n      array?: ArrayType;\n      /** Validation of object type. */\n      object?: ObjectType;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation;\n  }\n  interface DataExtensionsDetails {\n      /** FQDNS which can be extended with this field */\n      fqdns?: string[];\n  }\n  interface NestedFormOverrides {\n      /** Field overrides by field ID */\n      fieldOverrides?: Record<string, NestedFormFieldOverrides>;\n  }\n  interface FormFieldV2 extends FormFieldV2FieldTypeOptionsOneOf {\n      /** Field accept input of data */\n      inputOptions?: InputField;\n      /** Field for displaying information such as header or text paragraph */\n      displayOptions?: DisplayField;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton;\n      /** Field id. */\n      _id?: string;\n      /**\n       * Whether the field is hidden.\n       * Default: false\n       */\n      hidden?: boolean;\n      /** Custom identification of field, can be used to specify exceptional behaviour of client for specific field */\n      identifier?: string | null;\n      /**\n       * Type of the field\n       * @readonly\n       */\n      fieldType?: FieldType;\n  }\n  /** @oneof */\n  interface FormFieldV2FieldTypeOptionsOneOf {\n      /** Field accept input of data */\n      inputOptions?: InputField;\n      /** Field for displaying information such as header or text paragraph */\n      displayOptions?: DisplayField;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton;\n  }\n  interface InputFieldStringType {\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: FormatEnumFormat;\n      /** Custom error messages when validation fails. */\n      errorMessages?: InputFieldStringErrorMessages;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  enum FormatEnumFormat {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface InputFieldStringErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum StringComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      TEXT_INPUT = \"TEXT_INPUT\",\n      RADIO_GROUP = \"RADIO_GROUP\",\n      DROPDOWN = \"DROPDOWN\",\n      DATE_TIME = \"DATE_TIME\"\n  }\n  interface TextInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: LinkTarget;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum LinkTarget {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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. */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface SettingsPermissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface PollOption {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: SettingsPermissions;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: PollOption[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /** Deprecated: Use `image` instead. */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /** Deprecated: Use `rowHeader` and `columnHeader` instead. */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface RadioGroup {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to show option allowing input custom value\n       * List of options to select from\n       */\n      options?: RadioGroupOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: RadioGroupCustomOption;\n  }\n  interface RadioGroupOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface RadioGroupCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface Dropdown {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: DropdownOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: DropdownCustomOption;\n      /** Placeholder of dropdown input */\n      placeholder?: string | null;\n  }\n  interface DropdownOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface DropdownCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface DateTimeInput extends DateTimeInputDateTimeInputTypeOptionsOneOf {\n      /** Options specific to the combined Date and Time input type. */\n      dateTimeOptions?: DateTimeOptions;\n      /** Options specific to the Date-only input type. */\n      dateOptions?: DateOptions;\n      /** Options specific to the Time-only input type. */\n      timeOptions?: TimeOptions;\n      /** Label of the field. Displayed text for the date/time input. */\n      label?: string | null;\n      /** Description of the field. Additional information about the date/time input. */\n      description?: RichContent;\n      /**\n       * Flag identifying whether to show or hide the label.\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /**\n       * Flag identifying whether to show or hide the placeholder.\n       * Default: true\n       */\n      showPlaceholder?: boolean | null;\n      /**\n       * Date and/or time input component type\n       * @readonly\n       */\n      dateTimeInputType?: DateTimeInputType;\n  }\n  /** @oneof */\n  interface DateTimeInputDateTimeInputTypeOptionsOneOf {\n      /** Options specific to the combined Date and Time input type. */\n      dateTimeOptions?: DateTimeOptions;\n      /** Options specific to the Date-only input type. */\n      dateOptions?: DateOptions;\n      /** Options specific to the Time-only input type. */\n      timeOptions?: TimeOptions;\n  }\n  enum DateFormatPart {\n      YEAR = \"YEAR\",\n      MONTH = \"MONTH\",\n      DAY = \"DAY\"\n  }\n  enum DateTimeInputType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Show date and time input */\n      DATE_TIME = \"DATE_TIME\",\n      /** Show only date input */\n      DATE = \"DATE\",\n      /** Show only time input */\n      TIME = \"TIME\"\n  }\n  interface DateTimeOptions {\n      /** Order of date picking component parts (e.g., YEAR, MONTH, DAY). */\n      dateFormatParts?: DateFormatPart[];\n      /**\n       * Flag indicating whether to use the 24-hour time format.\n       * Default: false.\n       */\n      use24HourFormat?: boolean;\n  }\n  interface DateOptions {\n      /** Order of date picking component parts (e.g., YEAR, MONTH, DAY). */\n      dateFormatParts?: DateFormatPart[];\n  }\n  interface TimeOptions {\n      /**\n       * Flag indicating whether to use the 24-hour time format.\n       * Default: false.\n       */\n      use24HourFormat?: boolean;\n  }\n  interface InputFieldNumberType {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldNumberErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum NumberComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      NUMBER_INPUT = \"NUMBER_INPUT\"\n  }\n  interface NumberInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface InputFieldBooleanType {\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldBooleanErrorMessages;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface InputFieldBooleanErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum BooleanComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX = \"CHECKBOX\"\n  }\n  interface Checkbox {\n      /** Label of the field */\n      label?: RichContent;\n  }\n  interface InputFieldArrayType {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayTypeArrayItems;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldArrayErrorMessages;\n  }\n  enum ItemType {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      OBJECT = \"OBJECT\"\n  }\n  interface InputFieldIntegerType {\n      /** Maximum value. */\n      maximum?: number | null;\n      /** Minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldObjectType {\n      /** Description of object properties. */\n      properties?: Record<string, ObjectTypePropertiesType>;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldObjectErrorMessages;\n  }\n  enum PropertiesTypePropertiesType {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      ARRAY = \"ARRAY\"\n  }\n  interface ObjectTypePropertiesType extends ObjectTypePropertiesTypePropertiesTypeOptionsOneOf {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType;\n      /**\n       * Type of object properties\n       * @readonly\n       */\n      propertiesType?: PropertiesTypePropertiesType;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ObjectTypePropertiesTypePropertiesTypeOptionsOneOf {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType;\n  }\n  interface InputFieldObjectErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayTypeArrayItems extends ArrayTypeArrayItemsItemTypeOptionsOneOf {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType;\n      /**\n       * Type of array items\n       * @readonly\n       */\n      itemType?: ItemType;\n  }\n  /** @oneof */\n  interface ArrayTypeArrayItemsItemTypeOptionsOneOf {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType;\n  }\n  interface InputFieldArrayErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum ComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\"\n  }\n  interface CheckboxGroup {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: Option[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CustomOption;\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** WixMedia image. */\n      image?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** WixMedia image. */\n      image?: string;\n  }\n  interface Option {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: any;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  interface CustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  enum WixFileComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      FILE_UPLOAD = \"FILE_UPLOAD\"\n  }\n  interface FileUpload {\n      /** Selectable option label */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Text on upload button */\n      buttonText?: string | null;\n      /** Amount of files allowed to upload */\n      fileLimit?: number;\n      /** Supported file formats for upload */\n      uploadFileFormats?: UploadFileFormat[];\n      /** Custom text which appears when file is uploaded, if missing file name will be shown */\n      explanationText?: string | null;\n  }\n  enum UploadFileFormat {\n      UNDEFINED = \"UNDEFINED\",\n      /** Video files */\n      VIDEO = \"VIDEO\",\n      /** Image files */\n      IMAGE = \"IMAGE\",\n      /** Audio files */\n      AUDIO = \"AUDIO\",\n      /** Document files */\n      DOCUMENT = \"DOCUMENT\"\n  }\n  enum PaymentComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\",\n      DONATION_INPUT = \"DONATION_INPUT\"\n  }\n  interface ProductCheckboxGroup {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /** List of options to select from. */\n      options?: ProductCheckboxGroupOption[];\n  }\n  interface ProductCheckboxGroupOption {\n      /** Selectable option label. */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. Corresponds to product id, found in field's products list. */\n      value?: any;\n      /** Option id. Used as binding for translations. */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  interface DonationInput {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /** List of options to select from. */\n      options?: DonationInputOption[];\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CommonCustomOption;\n      /**\n       * Specifies the number of columns used to display the selections within the component.\n       * Default: ONE\n       */\n      numberOfColumns?: NumberOfColumns;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface DonationInputOption {\n      /** Selectable option value, which is saved to DB. Corresponds to product id, found in field's products list. */\n      value?: string;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n  }\n  interface CommonCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  enum NumberOfColumns {\n      UNKNOWN = \"UNKNOWN\",\n      ONE = \"ONE\",\n      TWO = \"TWO\",\n      THREE = \"THREE\"\n  }\n  enum InputType {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      ARRAY = \"ARRAY\",\n      OBJECT = \"OBJECT\",\n      WIX_FILE = \"WIX_FILE\",\n      PAYMENT = \"PAYMENT\"\n  }\n  interface _String extends _StringComponentTypeOptionsOneOf {\n      /** Text input field */\n      textInputOptions?: TextInput;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown;\n      /** Field for selecting date and/or time */\n      dateTimeOptions?: DateTimeInput;\n      /** Validation of field output value. */\n      validation?: InputFieldStringType;\n      /**\n       * Component type of the string input field\n       * @readonly\n       */\n      componentType?: StringComponentType;\n  }\n  /** @oneof */\n  interface _StringComponentTypeOptionsOneOf {\n      /** Text input field */\n      textInputOptions?: TextInput;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown;\n      /** Field for selecting date and/or time */\n      dateTimeOptions?: DateTimeInput;\n  }\n  interface _Number extends _NumberComponentTypeOptionsOneOf {\n      /** Number value input field */\n      numberInputOptions?: NumberInput;\n      /** Validation of field output value. */\n      validation?: InputFieldNumberType;\n      /**\n       * Component type of the number input field\n       * @readonly\n       */\n      componentType?: NumberComponentType;\n  }\n  /** @oneof */\n  interface _NumberComponentTypeOptionsOneOf {\n      /** Number value input field */\n      numberInputOptions?: NumberInput;\n  }\n  interface _Boolean extends _BooleanComponentTypeOptionsOneOf {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox;\n      /** Validation of field output value. */\n      validation?: InputFieldBooleanType;\n      /**\n       * Component type of the boolean input field\n       * @readonly\n       */\n      componentType?: BooleanComponentType;\n  }\n  /** @oneof */\n  interface _BooleanComponentTypeOptionsOneOf {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox;\n  }\n  interface _Array extends _ArrayComponentTypeOptionsOneOf {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup;\n      /** Validation of array type. */\n      validation?: InputFieldArrayType;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: ComponentType;\n  }\n  /** @oneof */\n  interface _ArrayComponentTypeOptionsOneOf {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup;\n  }\n  interface _Object extends _ObjectValidationOneOf {\n      /** Validation of object type. */\n      object?: InputFieldObjectType;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  /** @oneof */\n  interface _ObjectValidationOneOf {\n      /** Validation of object type. */\n      object?: InputFieldObjectType;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  interface WixFile extends WixFileComponentTypeOptionsOneOf {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: WixFileComponentType;\n  }\n  /** @oneof */\n  interface WixFileComponentTypeOptionsOneOf {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload;\n  }\n  interface Payment extends PaymentComponentTypeOptionsOneOf {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: ProductCheckboxGroup;\n      /** Donation input field. */\n      donationInputOptions?: DonationInput;\n      /**\n       * Component type of the payment input field.\n       * @readonly\n       */\n      componentType?: PaymentComponentType;\n      /** Validation of payment type. */\n      validation?: PaymentType;\n  }\n  /** @oneof */\n  interface PaymentComponentTypeOptionsOneOf {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: ProductCheckboxGroup;\n      /** Donation input field. */\n      donationInputOptions?: DonationInput;\n  }\n  interface Header {\n      /** Content of the header */\n      content?: RichContent;\n  }\n  interface RichText {\n      /** Content of the rich text field */\n      content?: RichContent;\n  }\n  enum Target {\n      UNDEFINED = \"UNDEFINED\",\n      /** Opened in same browser tab */\n      SELF = \"SELF\",\n      /** Url open in new tab */\n      BLANK = \"BLANK\"\n  }\n  interface ThankYouMessage {\n      /** Message show after form submission */\n      text?: RichContent;\n      /**\n       * Duration after how much second it should disappear. If 0, will stay forever.\n       * Default: false\n       */\n      duration?: number | null;\n  }\n  interface Redirect {\n      /** Url to which UoU should be redirected after successful submit of form */\n      url?: string | null;\n      /** How should url be opened */\n      target?: Target;\n  }\n  enum FieldType {\n      UNKNOWN = \"UNKNOWN\",\n      INPUT = \"INPUT\",\n      DISPLAY = \"DISPLAY\",\n      SUBMIT = \"SUBMIT\"\n  }\n  interface InputField extends InputFieldInputTypeOptionsOneOf {\n      /** Input return string as value */\n      stringOptions?: _String;\n      /** Input return number as value */\n      numberOptions?: _Number;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean;\n      /** Input return array as value */\n      arrayOptions?: _Array;\n      /** Input return object as value */\n      objectOptions?: _Object;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /**\n       * Mark the field as containing personal information. This will encrypt user data when storing it.\n       * Default: false\n       */\n      pii?: boolean;\n      /**\n       * Whether the field is required.\n       * Default: false\n       */\n      required?: boolean;\n      /**\n       * Type of the input field\n       * @readonly\n       */\n      inputType?: InputType;\n  }\n  /** @oneof */\n  interface InputFieldInputTypeOptionsOneOf {\n      /** Input return string as value */\n      stringOptions?: _String;\n      /** Input return number as value */\n      numberOptions?: _Number;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean;\n      /** Input return array as value */\n      arrayOptions?: _Array;\n      /** Input return object as value */\n      objectOptions?: _Object;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment;\n  }\n  interface DisplayField extends DisplayFieldComponentTypeOneOf {\n      /** Header field */\n      header?: Header;\n      /** Rich text field */\n      richText?: RichText;\n  }\n  /** @oneof */\n  interface DisplayFieldComponentTypeOneOf {\n      /** Header field */\n      header?: Header;\n      /** Rich text field */\n      richText?: RichText;\n  }\n  interface SubmitButton extends SubmitButtonSubmitActionOneOf {\n      /** Submit action effect is to show message */\n      thankYouMessage?: ThankYouMessage;\n      /** Submit action effect is to redirect to */\n      redirect?: Redirect;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to next page. */\n      nextText?: string | null;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to previous page. */\n      previousText?: string | null;\n      /** Text on the button when button is submitting a form */\n      submitText?: string | null;\n  }\n  /** @oneof */\n  interface SubmitButtonSubmitActionOneOf {\n      /** Submit action effect is to show message */\n      thankYouMessage?: ThankYouMessage;\n      /** Submit action effect is to redirect to */\n      redirect?: Redirect;\n  }\n  interface Step {\n      /** Step ID. */\n      _id?: string;\n      /** Name of the step. */\n      name?: string | null;\n      /** Is step hidden */\n      hidden?: boolean;\n      /** Form step properties */\n      layout?: FormLayout;\n  }\n  interface FormLayout {\n      /** Layout for large break point. */\n      large?: BreakPoint;\n      /** Layout for medium break point. */\n      medium?: BreakPoint;\n      /** Layout for small break point. */\n      small?: BreakPoint;\n  }\n  interface BreakPoint {\n      /** Description of layouts for items. */\n      items?: ItemLayout[];\n      /** Amount of columns of layout grid. */\n      columns?: number | null;\n      /** Row height of layout grid. */\n      rowHeight?: number | null;\n      /** Description of elements margins. */\n      margin?: Margin;\n      /** Description of elements paddings. */\n      padding?: Margin;\n      /** Sections of the layout, which allow manage fields */\n      sections?: Section[];\n  }\n  interface ItemLayout {\n      /** Form field reference id. */\n      fieldId?: string;\n      /** Horizontal coordinate in the grid. */\n      row?: number | null;\n      /** Vertical coordinate in the grid. */\n      column?: number | null;\n      /** Height. */\n      width?: number | null;\n      /** Width. */\n      height?: number | null;\n  }\n  interface Margin {\n      /** Horizontal value. */\n      horizontal?: number | null;\n      /** Vertical value. */\n      vertical?: number | null;\n  }\n  interface Section {\n      /** Id of the section */\n      _id?: string;\n      /** Horizontal coordinate in the grid. */\n      row?: number | null;\n      /**\n       * A list of field identifiers that are permitted to be placed within a section.\n       * The section will only accept fields with IDs specified in this list.\n       * If the section encounters the $new key within the list,\n       * it allows the inclusion of fields not explicitly listed,\n       * enabling dynamic addition of new fields.\n       */\n      allowedFieldIds?: string[];\n  }\n  interface FormRule {\n      /** Id of the rule */\n      _id?: string;\n      /** Rule on which item properties or layouts will be changed. */\n      condition?: Record<string, any> | null;\n      /**\n       * Form items with defined properties that will be\n       * changed when given condition is resolved to true.\n       */\n      overrides?: FormOverride[];\n      /** Name of the rule */\n      name?: string | null;\n  }\n  enum OverrideEntityType {\n      UNKNOWN = \"UNKNOWN\",\n      FIELD = \"FIELD\",\n      FORM = \"FORM\",\n      NESTED_FORM_FIELD = \"NESTED_FORM_FIELD\"\n  }\n  interface FormOverride {\n      /** Override entity type. */\n      entityType?: OverrideEntityType;\n      /** Overridden entity id. Either fieldId, or \"{fieldIdWithNestedForm}/{nestedFormFieldId}\" */\n      entityId?: string | null;\n      /** Form entity properties path with new value, that will be changed on condition. */\n      valueChanges?: Record<string, any>;\n  }\n  interface FormProperties {\n      /** Form name. */\n      name?: string | null;\n      /** Identifies if the form is disabled. */\n      disabled?: boolean;\n  }\n  enum Kind {\n      REGULAR = \"REGULAR\",\n      EXTENSION = \"EXTENSION\"\n  }\n  interface PostSubmissionTriggers {\n      /** Upserts a contact from the submission data. */\n      upsertContact?: UpsertContact;\n  }\n  interface UpsertContact {\n      /** Fields mapping (target field mapped to corresponding contact field). */\n      fieldsMapping?: Record<string, FormFieldContactInfo>;\n      /**\n       * List of contact label keys.\n       * [Contact labels](https://support.wix.com/en/article/adding-labels-to-contacts-in-your-contact-list)\n       * help categorize contacts.\n       */\n      labels?: string[];\n  }\n  interface FormFieldContactInfo extends FormFieldContactInfoAdditionalInfoOneOf {\n      /** Email info. */\n      emailInfo?: EmailInfo;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo;\n      /** Address info. */\n      addressInfo?: AddressInfo;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo;\n      /** Subscription info */\n      subscriptionInfo?: SubscriptionInfo;\n      /** Field mapped to contacts. */\n      contactField?: ContactField;\n  }\n  /** @oneof */\n  interface FormFieldContactInfoAdditionalInfoOneOf {\n      /** Email info. */\n      emailInfo?: EmailInfo;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo;\n      /** Address info. */\n      addressInfo?: AddressInfo;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo;\n      /** Subscription info */\n      subscriptionInfo?: SubscriptionInfo;\n  }\n  enum EmailInfoTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum PhoneInfoTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum Tag {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\"\n  }\n  enum OptInLevel {\n      UNKNOWN = \"UNKNOWN\",\n      SINGLE_CONFIRMATION = \"SINGLE_CONFIRMATION\",\n      DOUBLE_CONFIRMATION = \"DOUBLE_CONFIRMATION\"\n  }\n  enum ContactField {\n      UNDEFINED = \"UNDEFINED\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      COMPANY = \"COMPANY\",\n      POSITION = \"POSITION\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      ADDRESS = \"ADDRESS\",\n      BIRTHDATE = \"BIRTHDATE\",\n      CUSTOM_FIELD = \"CUSTOM_FIELD\",\n      SUBSCRIPTION = \"SUBSCRIPTION\",\n      VAT_ID = \"VAT_ID\"\n  }\n  interface EmailInfo {\n      /** Email tag. */\n      tag?: EmailInfoTag;\n  }\n  interface PhoneInfo {\n      /** Phone tag. */\n      tag?: PhoneInfoTag;\n  }\n  interface AddressInfo {\n      /** Address tag. */\n      tag?: Tag;\n  }\n  interface CustomFieldInfo {\n      /** Custom field key. */\n      key?: string;\n  }\n  interface SubscriptionInfo {\n      /**\n       * Subscription consent opt in level, either single or double confirmation.\n       * Default: SINGLE_CONFIRMATION\n       */\n      optInLevel?: OptInLevel;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface NestedForm {\n      /** Targets which have this form. */\n      targets?: string[];\n      /** Nested form. */\n      form?: Form;\n  }\n  interface LimitationRule {\n      /** Limitation by submission count, disables form when a set amount of submissions is reached. */\n      maxAllowedSubmissions?: number | null;\n      /** Limitation by submission date, disables form when a set date and time is reached. */\n      dateTimeDeadline?: Date;\n  }\n  enum SpamFilterProtectionLevel {\n      UNKNOWN = \"UNKNOWN\",\n      /** Spam filter is not used. Form is open for spam submissions. */\n      NONE = \"NONE\",\n      /** Spam filter operates in basic mode. Form is open to high risk of spam submissions. */\n      BASIC = \"BASIC\",\n      /** Spam filter operates in advanced mode. Form is open to low risk of spam submissions. */\n      ADVANCED = \"ADVANCED\"\n  }\n  interface RequiredIndicatorProperties {\n      /** Required indicator. */\n      requiredIndicator?: RequiredIndicator;\n      /** Required indicator placement. */\n      requiredIndicatorPlacement?: RequiredIndicatorPlacement;\n  }\n  enum ActionType {\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      UPDATE = \"UPDATE\",\n      CREATE = \"CREATE\"\n  }\n  interface UpdateOptions {\n      /** Form object before update was applied. */\n      currentForm?: Form;\n  }\n  interface CreateOptions {\n      /** Count of existing forms in the same namespace. */\n      existingFormsCount?: number;\n  }\n  interface ValidateFormSchemaResponse {\n      /** Form validation result. */\n      validationResult?: ValidationResult;\n  }\n  interface ValidationResult {\n      /** List of validation errors. */\n      errors?: ValidationError[];\n  }\n  interface ValidationError {\n      /** Path indicating the source of the error, such as `submission.submissions.email`` */\n      errorPath?: string;\n      /** Error type. */\n      errorType?: ErrorType;\n      /** Error message. */\n      errorMessage?: string;\n      /** Additional error parameters, to help identify additional info. */\n      params?: Record<string, any> | null;\n      /**\n       * Whether to use a custom error message.\n       * If `false`, the API takes the message from the `errorType` field.\n       * Default: `false`\n       */\n      useCustomErrorMessage?: boolean;\n  }\n  enum ErrorType {\n      /** Error is unknown or not suitable for any of options bellow */\n      UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n      /** Type of submitted value is incorrect */\n      TYPE_ERROR = \"TYPE_ERROR\",\n      /** Value is required to be provided */\n      REQUIRED_VALUE_ERROR = \"REQUIRED_VALUE_ERROR\",\n      /** Value contains additional properties not expected in schema */\n      UNKNOWN_VALUE_ERROR = \"UNKNOWN_VALUE_ERROR\",\n      /** Text value exceeds max length */\n      MAX_LENGTH_ERROR = \"MAX_LENGTH_ERROR\",\n      /** Text value not reaches min length */\n      MIN_LENGTH_ERROR = \"MIN_LENGTH_ERROR\",\n      /** Text value not applicable for expected pattern */\n      PATTERN_ERROR = \"PATTERN_ERROR\",\n      /** Text value not applicable for expected format */\n      FORMAT_ERROR = \"FORMAT_ERROR\",\n      /** Number value is too big */\n      MAX_VALUE_ERROR = \"MAX_VALUE_ERROR\",\n      /** Number value is too small */\n      MIN_VALUE_ERROR = \"MIN_VALUE_ERROR\",\n      /** Number value is not multiple of expected number */\n      MULTIPLE_OF_VALUE_ERROR = \"MULTIPLE_OF_VALUE_ERROR\",\n      /** Array value has too much items */\n      MIN_ITEMS_ERROR = \"MIN_ITEMS_ERROR\",\n      /** Array value has not enough items */\n      MAX_ITEMS_ERROR = \"MAX_ITEMS_ERROR\",\n      /** Value is not in list of allowed values */\n      NOT_ALLOWED_VALUE_ERROR = \"NOT_ALLOWED_VALUE_ERROR\",\n      /** Form fields are incompatible */\n      FIELDS_COMPATIBILITY_ERROR = \"FIELDS_COMPATIBILITY_ERROR\",\n      /** Submitted form is disabled */\n      DISABLED_FORM_ERROR = \"DISABLED_FORM_ERROR\",\n      /** Too much forms */\n      FORMS_COUNT_RESTRICTIONS_ERROR = \"FORMS_COUNT_RESTRICTIONS_ERROR\",\n      /** Too much fields on form */\n      FIELDS_COUNT_RESTRICTIONS_ERROR = \"FIELDS_COUNT_RESTRICTIONS_ERROR\",\n      /** Too much steps on forms */\n      STEPS_COUNT_RESTRICTIONS_ERROR = \"STEPS_COUNT_RESTRICTIONS_ERROR\",\n      /** Too much rules on forms */\n      RULES_COUNT_RESTRICTIONS_ERROR = \"RULES_COUNT_RESTRICTIONS_ERROR\",\n      /** File upload is not allowed */\n      FILE_UPLOAD_RESTRICTIONS_ERROR = \"FILE_UPLOAD_RESTRICTIONS_ERROR\",\n      PRODUCT_LIST_RESTRICTIONS_ERROR = \"PRODUCT_LIST_RESTRICTIONS_ERROR\"\n  }\n  interface FormSchemaSpiConfig {\n      /** Configuration of namespaces known by implementer. */\n      namespaceConfigs?: FormsSchemaNamespaceConfig[];\n  }\n  interface FormsSchemaNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: Permissions;\n      /** Enable client specific form validation for the namespace, more info in ValidateFormSchema. */\n      schemaValidationEnabled?: boolean;\n      /** Restrictions associated with this namespace. */\n      restrictions?: Restrictions;\n      /** Enable translations with multilingual */\n      multilingualEnabled?: boolean;\n  }\n  interface Permissions {\n      /** Create permission name */\n      create?: string;\n      /** Delete permission name */\n      delete?: string;\n      /** Update permission name */\n      update?: string;\n      /** Read permission name */\n      read?: string;\n  }\n  interface Restrictions {\n      /** Maximum amount of forms allowed per namespace. */\n      maxFormsAmount?: number;\n      /** Maximum amount of fields allowed per form. */\n      maxFieldsAmount?: number;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ValidateFormSchemaOptions extends ValidateFormSchemaRequestActionsOneOf {\n      /** Form to perform validations on. */\n      form: Form;\n      /** Type of action with the form, either create of update */\n      type?: ActionType;\n      /** Payload sent on update action. */\n      updateOptions?: UpdateOptions;\n      /** Payload sent on create action. */\n      createOptions?: CreateOptions;\n      /**\n       * If should kill Ascend or not.\n       * @internal\n       */\n      killingAscend?: boolean | null;\n  }\n  \n  export { ActionType, AddressInfo, Alignment, AnchorData, AppEmbedData, AppEmbedDataAppDataOneOf, AppType, ArrayErrorMessages, ArrayItems, ArrayItemsItemsOneOf, ArrayType, ArrayTypeArrayItems, ArrayTypeArrayItemsItemTypeOptionsOneOf, AudioData, Background, BackgroundBackgroundOneOf, BackgroundType, BlockquoteData, BookingData, BooleanComponentType, BooleanErrorMessages, BooleanType, Border, BorderColors, BreakPoint, BulletedListData, BusinessError, ButtonData, CellStyle, Checkbox, CheckboxGroup, CodeBlockData, CollapsibleListData, ColorData, Colors, CommonCustomOption, ComponentType, ContactField, Context, CreateOptions, Crop, CustomFieldInfo, CustomOption, DataExtensionsDetails, DateFormatPart, DateOptions, DateTimeConstraints, DateTimeInput, DateTimeInputDateTimeInputTypeOptionsOneOf, DateTimeInputType, DateTimeOptions, Decoration, DecorationDataOneOf, DecorationType, Design, Dimensions, Direction, DisplayField, DisplayFieldComponentTypeOneOf, DividerData, DocumentStyle, DonationInput, DonationInputOption, Dropdown, DropdownCustomOption, DropdownOption, DynamicPriceOptions, EmailInfo, EmailInfoTag, EmbedData, ErrorType, EventData, ExtendedFields, FieldType, FileData, FileSource, FileSourceDataOneOf, FileUpload, FixedPriceOptions, FontSizeData, FontType, Form, FormField, FormFieldContactInfo, FormFieldContactInfoAdditionalInfoOneOf, FormFieldV2, FormFieldV2FieldTypeOptionsOneOf, FormLayout, FormOverride, FormProperties, FormRule, FormSchemaSpiConfig, Format, FormatEnumFormat, FormsSchemaNamespaceConfig, GIF, GIFData, GalleryData, GalleryOptions, Gradient, HTMLData, HTMLDataDataOneOf, Header, HeadingData, Height, IdentificationData, IdentificationDataIdOneOf, IdentityType, Image, ImageData, InitialExpandedItems, InputField, InputFieldArrayErrorMessages, InputFieldArrayType, InputFieldBooleanErrorMessages, InputFieldBooleanType, InputFieldInputTypeOptionsOneOf, InputFieldIntegerType, InputFieldNumberErrorMessages, InputFieldNumberType, InputFieldObjectErrorMessages, InputFieldObjectType, InputFieldStringErrorMessages, InputFieldStringType, InputType, IntegerType, Item, ItemDataOneOf, ItemLayout, ItemStyle, ItemType, Kind, Layout, LayoutType, LimitationRule, LineStyle, Link, LinkData, LinkDataOneOf, LinkPreviewData, LinkTarget, ListValue, MapData, MapSettings, MapType, Margin, Media, MediaItem, MediaItemMediaOneOf, MentionData, Metadata, NestedForm, NestedFormFieldOverrides, NestedFormOverrides, Node, NodeDataOneOf, NodeStyle, NodeType, NullValue, NumberComponentType, NumberErrorMessages, NumberInput, NumberOfColumns, NumberType, ObjectErrorMessages, ObjectType, ObjectTypePropertiesType, ObjectTypePropertiesTypePropertiesTypeOptionsOneOf, Oembed, OptInLevel, Option, OptionDesign, OptionLayout, OrderedListData, Orientation, OverrideEntityType, PDFSettings, ParagraphData, Payment, PaymentComponentType, PaymentComponentTypeOptionsOneOf, PaymentType, Permissions, PhoneInfo, PhoneInfoTag, PlaybackOptions, PluginContainerData, PluginContainerDataAlignment, PluginContainerDataWidth, PluginContainerDataWidthDataOneOf, Poll, PollData, PollDataLayout, PollDesign, PollLayout, PollLayoutDirection, PollLayoutType, PollOption, PostSubmissionTriggers, PredefinedValidation, PredefinedValidationFormatOptionsOneOf, PriceType, Product, ProductCheckboxGroup, ProductCheckboxGroupOption, ProductPriceOptionsOneOf, ProductType, PropertiesType, PropertiesTypePropertiesType, PropertiesTypePropertiesTypeOneOf, QuantityLimit, RadioGroup, RadioGroupCustomOption, RadioGroupOption, Redirect, Rel, RequiredIndicator, RequiredIndicatorPlacement, RequiredIndicatorProperties, Restrictions, RichContent, RichText, Section, Settings, SettingsPermissions, Source, SpamFilterProtectionLevel, Spoiler, Step, StringComponentType, StringErrorMessages, StringType, StringTypeFormatOptionsOneOf, Styles, SubmitButton, SubmitButtonSubmitActionOneOf, SubscriptionInfo, TableCellData, TableData, Tag, Target, TextAlignment, TextData, TextInput, TextNodeStyle, TextStyle, ThankYouMessage, Thumbnails, ThumbnailsAlignment, TimeOptions, Type, UpdateOptions, UploadFileFormat, UpsertContact, ValidateFormSchemaOptions, ValidateFormSchemaRequest, ValidateFormSchemaRequestActionsOneOf, ValidateFormSchemaResponse, Validation, ValidationError, ValidationFormat, ValidationResult, ValidationValidationOneOf, VerticalAlignment, Video, VideoData, ViewMode, ViewRole, VoteRole, Width, WidthType, WixFile, WixFileComponentType, WixFileComponentTypeOptionsOneOf, _Array, _ArrayComponentTypeOptionsOneOf, _Boolean, _BooleanComponentTypeOptionsOneOf, _Number, _NumberComponentTypeOptionsOneOf, _Object, _ObjectValidationOneOf, _String, _StringComponentTypeOptionsOneOf };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-psp-v1-price-breakdown.d.ts",
      "content": "declare module \"interfaces-psp-v1-price-breakdown\" {\n  interface PriceBreakdown {\n      /** Available price breakdown options */\n      priceBreakdownOptions?: PriceBreakdownOption[];\n      /** URL of page with Price Breakdown details */\n      moreInfoPageUrl?: string | null;\n      /**\n       * Promo message for Buyer in HTML format; used only by Affirm\n       * @internal\n       */\n      promoMessage?: string | null;\n      /** Promo message for Buyer */\n      message?: string | null;\n      /** impression URL to notify when provider Price Breakdown is shown to UoU */\n      impressionUrl?: string | null;\n  }\n  interface PriceBreakdownOption {\n      /** number of installments */\n      installmentCount?: number;\n      /** amount of each installment */\n      installmentAmount?: string;\n      /** total amount with interest */\n      totalAmount?: string;\n      /** provider commission amount */\n      interestAmount?: string;\n  }\n  interface FindPriceBreakdownRequest {\n      /** Payment Service Provider own credentials that were connected during the onboarding process. */\n      merchantCredentials?: Record<string, string>;\n      /** Amount to breakdown on installments */\n      amount?: string;\n      /** Buyer locale country */\n      country?: string | null;\n      /** Buyer locale language */\n      language?: string | null;\n      /** Amount currency */\n      currency?: string;\n      /** Connection mode. Identifies whether an account is live or for testing purposes. */\n      mode?: Mode;\n  }\n  enum Mode {\n      UNDEFINED = \"UNDEFINED\",\n      LIVE = \"LIVE\",\n      SANDBOX = \"SANDBOX\"\n  }\n  interface FindPriceBreakdownResponse {\n      priceBreakdown?: PriceBreakdown;\n  }\n  /** todo */\n  interface PriceBreakdownConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface FindPriceBreakdownOptions {\n      /** Payment Service Provider own credentials that were connected during the onboarding process. */\n      merchantCredentials?: Record<string, string>;\n      /** Amount to breakdown on installments */\n      amount?: string;\n      /** Buyer locale country */\n      country?: string | null;\n      /** Buyer locale language */\n      language?: string | null;\n      /** Amount currency */\n      currency?: string;\n      /** Connection mode. Identifies whether an account is live or for testing purposes. */\n      mode?: Mode;\n  }\n  \n  export { Context, FindPriceBreakdownOptions, FindPriceBreakdownRequest, FindPriceBreakdownResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, Mode, PriceBreakdown, PriceBreakdownConfig, PriceBreakdownOption };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-autocms-tasks-service-v1.d.ts",
      "content": "declare module \"wix-autocms-tasks-service-v1\" {\n  /** Batch data items change task */\n  interface Task extends TaskConfigOneOf, TaskOptionsOneOf {\n      /**\n       * original DeleteByQueryRequest config if DELETE_BY_QUERY task\n       * @deprecated\n       * @replacedBy options.delete_by_query_options\n       * @targetRemovalDate 2025-01-01\n       */\n      deleteByQuery?: DeleteByQueryRequest;\n      /**\n       * config in case if UPDATE_DRAFT_PUBLISH task\n       * @deprecated\n       * @replacedBy options.update_publish_status_options\n       * @targetRemovalDate 2025-01-01\n       */\n      updateDraftPublish?: UpdateDraftPublishConfig;\n      /**\n       * original CopyFieldDataRequest config if COPY_FIELD_DATA task\n       * @deprecated\n       * @replacedBy options.copy_field_data_options\n       * @targetRemovalDate 2025-01-01\n       */\n      copyFieldData?: CopyFieldDataRequest;\n      /**\n       * original EditFieldDataRequest config if EDIT_FIELD_DATA task\n       * @deprecated\n       * @replacedBy options.edit_field_data_options\n       * @targetRemovalDate 2025-01-01\n       */\n      editFieldData?: EditFieldDataRequest;\n      /**\n       * `DELETE_BY_QUERY` task options\n       * @internal\n       */\n      deleteByQueryOptions?: DeleteByQueryOptions;\n      /**\n       * `COPY_FIELD_DATA` task options\n       * @internal\n       */\n      copyFieldDataOptions?: CopyFieldDataOptions;\n      /**\n       * `EDIT_FIELD_DATA` task options\n       * @internal\n       */\n      editFieldDataOptions?: EditFieldDataOptions;\n      /**\n       * `UPDATE_PUBLISH_STATUS` task options\n       * @internal\n       */\n      updatePublishStatusOptions?: UpdatePublishStatusOptions;\n      /**\n       * Task ID\n       * @readonly\n       */\n      _id?: string;\n      /** Task type. `UPDATE_DRAFT_PUBLISH` is deprecated, use `UPDATE_PUBLISH_STATUS` instead */\n      type?: Type;\n      /**\n       * Task status:\n       * - `NEW` if task was created, but haven't started yet\n       * - `RUNNING` if task is in progress\n       * - `COMPLETED` if task finished, there could be partial errors in `failures`\n       * - `FAILED` if task was not able to complete either due to error or have been canceled.\n       * In case of cancellation `failures` will contain failure with \"CANCELLED\" code\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * start time, may be empty if NEW\n       * @readonly\n       */\n      startedAt?: Date | null;\n      /**\n       * finish time, may be empty until completed\n       * @readonly\n       */\n      finishedAt?: Date | null;\n      /**\n       * estimated number of items to be affected by task\n       * @deprecated\n       * @replacedBy item_count\n       * @targetRemovalDate 2025-01-01\n       */\n      taskSize?: number;\n      /**\n       * number of items already processed\n       * @readonly\n       * @deprecated\n       * @replacedBy items_succeeded\n       * @targetRemovalDate 2025-01-01\n       */\n      itemsProcessed?: number;\n      /**\n       * number of failed items\n       * @readonly\n       */\n      itemsFailed?: number;\n      /**\n       * list of encountered errors\n       * @deprecated\n       * @replacedBy failures\n       * @targetRemovalDate 2025-01-01\n       */\n      errors?: Error[];\n      /**\n       * list of encountered errors\n       * @readonly\n       */\n      failures?: ApplicationError[];\n      /**\n       * estimated number of items to be affected by task\n       * @readonly\n       */\n      estimatedItemCount?: number;\n      /**\n       * number of items succeeded\n       * @readonly\n       */\n      itemsSucceeded?: number;\n  }\n  /** @oneof */\n  interface TaskConfigOneOf {\n      /**\n       * original DeleteByQueryRequest config if DELETE_BY_QUERY task\n       * @deprecated\n       * @replacedBy options.delete_by_query_options\n       * @targetRemovalDate 2025-01-01\n       */\n      deleteByQuery?: DeleteByQueryRequest;\n      /**\n       * config in case if UPDATE_DRAFT_PUBLISH task\n       * @deprecated\n       * @replacedBy options.update_publish_status_options\n       * @targetRemovalDate 2025-01-01\n       */\n      updateDraftPublish?: UpdateDraftPublishConfig;\n      /**\n       * original CopyFieldDataRequest config if COPY_FIELD_DATA task\n       * @deprecated\n       * @replacedBy options.copy_field_data_options\n       * @targetRemovalDate 2025-01-01\n       */\n      copyFieldData?: CopyFieldDataRequest;\n      /**\n       * original EditFieldDataRequest config if EDIT_FIELD_DATA task\n       * @deprecated\n       * @replacedBy options.edit_field_data_options\n       * @targetRemovalDate 2025-01-01\n       */\n      editFieldData?: EditFieldDataRequest;\n  }\n  /** @oneof */\n  interface TaskOptionsOneOf {\n      /**\n       * `DELETE_BY_QUERY` task options\n       * @internal\n       */\n      deleteByQueryOptions?: DeleteByQueryOptions;\n      /**\n       * `COPY_FIELD_DATA` task options\n       * @internal\n       */\n      copyFieldDataOptions?: CopyFieldDataOptions;\n      /**\n       * `EDIT_FIELD_DATA` task options\n       * @internal\n       */\n      editFieldDataOptions?: EditFieldDataOptions;\n      /**\n       * `UPDATE_PUBLISH_STATUS` task options\n       * @internal\n       */\n      updatePublishStatusOptions?: UpdatePublishStatusOptions;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      /** Task deletes all data collection items by given query */\n      DELETE_BY_QUERY = \"DELETE_BY_QUERY\",\n      /** use UPDATE_PUBLISH_STATUS instead */\n      UPDATE_DRAFT_PUBLISH = \"UPDATE_DRAFT_PUBLISH\",\n      /** Task copies data from one data collection field to another for all items */\n      COPY_FIELD_DATA = \"COPY_FIELD_DATA\",\n      /** Task updates field data for every data collection item */\n      EDIT_FIELD_DATA = \"EDIT_FIELD_DATA\",\n      /** Task updates data collection items publish status */\n      UPDATE_PUBLISH_STATUS = \"UPDATE_PUBLISH_STATUS\"\n  }\n  enum Status {\n      NEW = \"NEW\",\n      RUNNING = \"RUNNING\",\n      COMPLETED = \"COMPLETED\",\n      FAILED = \"FAILED\"\n  }\n  interface Error {\n      /** error message */\n      message?: string;\n  }\n  interface DeleteByQueryRequest {\n      /** collection name to delete from */\n      collectionName: string;\n      /** segment, by default LIVE */\n      segment?: Segment;\n      /** AppId, required if SANDBOX segment */\n      appId?: string | null;\n      /** filter to lookup for items, empty will delete all */\n      filter?: Record<string, any> | null;\n      /** options */\n      options?: Options;\n  }\n  enum Segment {\n      LIVE = \"LIVE\",\n      SANDBOX = \"SANDBOX\"\n  }\n  interface Options {\n      /** application-specific options */\n      appOptions?: Record<string, any> | null;\n      /** plugin-specific options */\n      pluginOptions?: Record<string, any> | null;\n  }\n  interface UpdateDraftPublishConfig {\n      /** original request */\n      request?: UpdateDraftPublishRequest;\n      /** time used as published/draft time */\n      now?: Date | null;\n      /** last updated record ID */\n      lastUpdatedId?: string | null;\n      /** optional items to update filter, none or empty means all applicable */\n      filter?: Record<string, any> | null;\n  }\n  interface UpdateDraftPublishRequest extends UpdateDraftPublishRequestOperationOneOf {\n      /** Set all items to Draft */\n      setToDraft?: Empty;\n      /** Set all items to Published */\n      setToPublished?: Empty;\n      /** Schedule all items to Draft on given date */\n      scheduleToDraft?: ScheduleOperation;\n      /** Schedule all items to Published on given date */\n      scheduleToPublished?: ScheduleOperation;\n      /** Remove any publishing schedule */\n      removeScheduling?: Empty;\n      /** collection to update items */\n      collectionName: string;\n      /** segment, LIVE by default */\n      segment?: Segment;\n      /** AppID, required if SANDBOX */\n      appId?: string | null;\n      /** optional items to update filter, none or empty means all applicable */\n      filter?: Record<string, any> | null;\n  }\n  /** @oneof */\n  interface UpdateDraftPublishRequestOperationOneOf {\n      /** Set all items to Draft */\n      setToDraft?: Empty;\n      /** Set all items to Published */\n      setToPublished?: Empty;\n      /** Schedule all items to Draft on given date */\n      scheduleToDraft?: ScheduleOperation;\n      /** Schedule all items to Published on given date */\n      scheduleToPublished?: ScheduleOperation;\n      /** Remove any publishing schedule */\n      removeScheduling?: Empty;\n  }\n  interface Empty {\n  }\n  interface ScheduleOperation {\n      /** scheduled draft/publish date */\n      date?: Date | null;\n  }\n  interface CopyFieldDataRequest {\n      /** collection to update items */\n      collectionName: string;\n      /** segment, LIVE by default */\n      segment?: Segment;\n      /** AppID, required if SANDBOX */\n      appId?: string | null;\n      /** field to copy data from */\n      sourceField?: string;\n      /** field to copy data to */\n      targetField?: string;\n  }\n  interface EditFieldDataRequest {\n      /** collection to update items */\n      collectionName: string;\n      /** segment, LIVE by default */\n      segment?: Segment;\n      /** AppID, required if SANDBOX */\n      appId?: string | null;\n      /** Filter to edit only selected items */\n      filter?: Record<string, any> | null;\n      /** Field name to update */\n      field?: string;\n      /** adds elements to array */\n      addItems?: any[];\n      /** removes elements from array */\n      removeItems?: any[];\n      /** replaces all matched elements of array */\n      replaceItems?: Replace[];\n      /**\n       * removes duplicated items from array\n       *\n       * Default value: false\n       */\n      uniqueItems?: boolean;\n  }\n  interface Replace {\n      /** Value to search */\n      from?: any;\n      /** Value to replace with */\n      to?: any;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface DeleteByQueryOptions {\n      /** collection name to delete from */\n      dataCollectionId?: string;\n      /** Environment, by default LIVE */\n      environment?: Environment;\n      /**\n       * AppId, required if SANDBOX segment\n       * @internal\n       */\n      appId?: string | null;\n      /** filter to lookup for items, empty will delete all */\n      filter?: Record<string, any> | null;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: PublishPluginOptions;\n  }\n  enum Environment {\n      LIVE = \"LIVE\",\n      SANDBOX = \"SANDBOX\",\n      SANDBOX_PREFERRED = \"SANDBOX_PREFERRED\"\n  }\n  interface PublishPluginOptions {\n      /**\n       * Whether to include draft items.\n       * When `true`, the response includes both published and draft items. Default: `false`.\n       */\n      includeDraftItems?: boolean;\n  }\n  interface CopyFieldDataOptions {\n      /** collection to update items */\n      dataCollectionId?: string;\n      /** Environment, by default LIVE */\n      environment?: Environment;\n      /**\n       * AppId, required if SANDBOX segment\n       * @internal\n       */\n      appId?: string | null;\n      /** field to copy data from */\n      sourceFieldKey?: string;\n      /** field to copy data to */\n      targetFieldKey?: string;\n  }\n  interface EditFieldDataOptions {\n      /** collection to update items */\n      dataCollectionId?: string;\n      /** Environment, by default LIVE */\n      environment?: Environment;\n      /**\n       * AppId, required if SANDBOX segment\n       * @internal\n       */\n      appId?: string | null;\n      /** Filter to edit only selected items */\n      filter?: Record<string, any> | null;\n      /** Field key to update */\n      fieldKey?: string;\n      /** Edit operations to perform on field values */\n      operations?: Operations;\n  }\n  interface OperationsReplace {\n      /** Value to search */\n      from?: any;\n      /** Value to replace with */\n      to?: any;\n  }\n  interface Operations {\n      /** adds elements to array */\n      addItems?: any[];\n      /** removes elements from array */\n      removeItems?: any[];\n      /** replaces all matched elements of array or value of non-array field */\n      replaceItems?: OperationsReplace[];\n      /**\n       * removes duplicated items from array\n       *\n       * Default value: false\n       */\n      removeDuplicates?: boolean;\n  }\n  interface UpdatePublishStatusOptions extends UpdatePublishStatusOptionsOptionsOneOf {\n      /** Schedule all items to Draft on given date */\n      scheduleDraftStatusOptions?: UpdatePublishStatusOptionsScheduleOperation;\n      /** Schedule all items to Published on given date */\n      schedulePublishedStatusOptions?: UpdatePublishStatusOptionsScheduleOperation;\n      /** collection to update items */\n      dataCollectionId?: string;\n      /** Environment, by default LIVE */\n      environment?: Environment;\n      /**\n       * AppId, required if SANDBOX segment\n       * @internal\n       */\n      appId?: string | null;\n      /** optional items to update filter, none or empty means all applicable */\n      filter?: Record<string, any> | null;\n      /** Update operation to be performed */\n      operation?: Operation;\n  }\n  /** @oneof */\n  interface UpdatePublishStatusOptionsOptionsOneOf {\n      /** Schedule all items to Draft on given date */\n      scheduleDraftStatusOptions?: UpdatePublishStatusOptionsScheduleOperation;\n      /** Schedule all items to Published on given date */\n      schedulePublishedStatusOptions?: UpdatePublishStatusOptionsScheduleOperation;\n  }\n  enum Operation {\n      UNDEFINED = \"UNDEFINED\",\n      /** Sets all items status to PUBLISHED */\n      SET_PUBLISHED_STATUS = \"SET_PUBLISHED_STATUS\",\n      /** Sets all items status to DRAFT */\n      SET_DRAFT_STATUS = \"SET_DRAFT_STATUS\",\n      /** Schedules all items publish */\n      SCHEDULE_PUBLISHED_STATUS = \"SCHEDULE_PUBLISHED_STATUS\",\n      /** Schedules all items draft */\n      SCHEDULE_DRAFT_STATUS = \"SCHEDULE_DRAFT_STATUS\",\n      /** Cancels all items scheduling */\n      CANCEL_SCHEDULING = \"CANCEL_SCHEDULING\"\n  }\n  interface UpdatePublishStatusOptionsScheduleOperation {\n      /** scheduled draft/publish date */\n      date?: Date | null;\n  }\n  interface CreateTaskRequest {\n      /** Task to run */\n      task?: Task;\n  }\n  interface CreateTaskResponse {\n      /** Task created */\n      task?: Task;\n  }\n  interface ListTasksRequest {\n      /** Allow paginating, default: limit = 30 and offset = 0 */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListTasksResponse {\n      /** requested tasks */\n      tasks?: Task[];\n      /** paging metadata */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetTaskRequest {\n      /** task ID */\n      taskId: string;\n  }\n  interface GetTaskResponse {\n      /** requested task */\n      task?: Task;\n  }\n  interface CancelTaskRequest {\n      /** task ID to cancel */\n      taskId: string;\n  }\n  interface CancelTaskResponse {\n      /** current task state */\n      task?: Task;\n  }\n  interface TaskSubmitted {\n      /** submitted task ID */\n      taskId?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates and starts task execution\n   *\n   * Requires additional specific permissions for every task type.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.task\n   * @requiredField options.task.type\n   * @permissionId AUTOCMS.TASK_CREATE\n   * @permissionId AUTOCMS.TASK_DELETE_BY_QUERY\n   * @permissionId AUTOCMS.TASK_UPDATE_DRAFT_PUBLISH\n   * @permissionId AUTOCMS.TASK_COPY_FIELD_DATA\n   * @permissionId AUTOCMS.TASK_EDIT_FIELD_DATA\n   * @adminMethod\n   * @returns Task created\n   */\n  function createTask(options: CreateTaskOptions): Promise<Task>;\n  interface CreateTaskOptions {\n      /** Task to run */\n      task?: Task;\n  }\n  /**\n   * Returns a list of tasks, given the provided paging (offset, limit)\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOCMS.TASK_READ\n   * @adminMethod\n   */\n  function listTasks(options?: ListTasksOptions): Promise<ListTasksResponse>;\n  interface ListTasksOptions {\n      /** Allow paginating, default: limit = 30 and offset = 0 */\n      paging?: Paging;\n  }\n  /**\n   * Returns task details and status by ID\n   * @param taskId - task ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField taskId\n   * @permissionId AUTOCMS.TASK_READ\n   * @adminMethod\n   * @returns requested task\n   */\n  function getTask(taskId: string): Promise<Task>;\n  /**\n   * Interrupts task execution\n   * @param taskId - task ID to cancel\n   * @public\n   * @documentationMaturity preview\n   * @requiredField taskId\n   * @permissionId AUTOCMS.TASK_CANCEL\n   * @adminMethod\n   */\n  function cancelTask(taskId: string): Promise<CancelTaskResponse>;\n  /**\n   * Deletes collection items by filter\n   * @param collectionName - collection name to delete from\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collectionName\n   * @permissionId AUTOCMS.TASK_DELETE_BY_QUERY\n   * @adminMethod\n   * @deprecated\n   * @replacedBy CreateTask\n   * @targetRemovalDate 2025-01-01\n   */\n  function deleteByQuery(collectionName: string, options?: DeleteByQueryOptionsForRequest): Promise<TaskSubmitted>;\n  interface DeleteByQueryOptionsForRequest {\n      /** segment, by default LIVE */\n      segment?: Segment;\n      /** AppId, required if SANDBOX segment */\n      appId?: string | null;\n      /** filter to lookup for items, empty will delete all */\n      filter?: Record<string, any> | null;\n      /** options */\n      options?: Options;\n  }\n  /**\n   * Updates Draft/Publish status of all items\n   * @param collectionName - collection to update items\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collectionName\n   * @permissionId AUTOCMS.TASK_UPDATE_DRAFT_PUBLISH\n   * @adminMethod\n   * @deprecated\n   * @replacedBy CreateTask\n   * @targetRemovalDate 2025-01-01\n   */\n  function updateDraftPublish(collectionName: string, options?: UpdateDraftPublishOptions): Promise<TaskSubmitted>;\n  interface UpdateDraftPublishOptions extends UpdateDraftPublishRequestOperationOneOf {\n      /** segment, LIVE by default */\n      segment?: Segment;\n      /** AppID, required if SANDBOX */\n      appId?: string | null;\n      /** optional items to update filter, none or empty means all applicable */\n      filter?: Record<string, any> | null;\n      /** Set all items to Draft */\n      setToDraft?: Empty;\n      /** Set all items to Published */\n      setToPublished?: Empty;\n      /** Schedule all items to Draft on given date */\n      scheduleToDraft?: ScheduleOperation;\n      /** Schedule all items to Published on given date */\n      scheduleToPublished?: ScheduleOperation;\n      /** Remove any publishing schedule */\n      removeScheduling?: Empty;\n  }\n  /**\n   * Copies all data from one field to another in same collection\n   * @param collectionName - collection to update items\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collectionName\n   * @permissionId AUTOCMS.TASK_COPY_FIELD_DATA\n   * @adminMethod\n   * @deprecated\n   * @replacedBy CreateTask\n   * @targetRemovalDate 2025-01-01\n   */\n  function copyFieldData(collectionName: string, options?: CopyFieldDataOptionsForRequest): Promise<TaskSubmitted>;\n  interface CopyFieldDataOptionsForRequest {\n      /** segment, LIVE by default */\n      segment?: Segment;\n      /** AppID, required if SANDBOX */\n      appId?: string | null;\n      /** field to copy data from */\n      sourceField?: string;\n      /** field to copy data to */\n      targetField?: string;\n  }\n  /**\n   * Updates data in a field\n   *\n   * Operations:\n   * - `addItems` adds elements to array\n   * - `removeItems` removes elements from array\n   * - `replaceItems` replaces all matched elements of array\n   * - `uniqueItems` removes duplicated items from array\n   *\n   * Array operations are applied only if current field value is array or not set (treated as empty array)\n   * @param collectionName - collection to update items\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collectionName\n   * @permissionId AUTOCMS.TASK_EDIT_FIELD_DATA\n   * @adminMethod\n   * @deprecated\n   * @replacedBy CreateTask\n   * @targetRemovalDate 2025-01-01\n   */\n  function editFieldData(collectionName: string, options?: EditFieldDataOptionsForRequest): Promise<TaskSubmitted>;\n  interface EditFieldDataOptionsForRequest {\n      /** segment, LIVE by default */\n      segment?: Segment;\n      /** AppID, required if SANDBOX */\n      appId?: string | null;\n      /** Filter to edit only selected items */\n      filter?: Record<string, any> | null;\n      /** Field name to update */\n      field?: string;\n      /** adds elements to array */\n      addItems?: any[];\n      /** removes elements from array */\n      removeItems?: any[];\n      /** replaces all matched elements of array */\n      replaceItems?: Replace[];\n      /**\n       * removes duplicated items from array\n       *\n       * Default value: false\n       */\n      uniqueItems?: boolean;\n  }\n  \n  type dataAutocmsV2BackgroundTask_universal_d_Task = Task;\n  type dataAutocmsV2BackgroundTask_universal_d_TaskConfigOneOf = TaskConfigOneOf;\n  type dataAutocmsV2BackgroundTask_universal_d_TaskOptionsOneOf = TaskOptionsOneOf;\n  type dataAutocmsV2BackgroundTask_universal_d_Type = Type;\n  const dataAutocmsV2BackgroundTask_universal_d_Type: typeof Type;\n  type dataAutocmsV2BackgroundTask_universal_d_Status = Status;\n  const dataAutocmsV2BackgroundTask_universal_d_Status: typeof Status;\n  type dataAutocmsV2BackgroundTask_universal_d_Error = Error;\n  type dataAutocmsV2BackgroundTask_universal_d_DeleteByQueryRequest = DeleteByQueryRequest;\n  type dataAutocmsV2BackgroundTask_universal_d_Segment = Segment;\n  const dataAutocmsV2BackgroundTask_universal_d_Segment: typeof Segment;\n  type dataAutocmsV2BackgroundTask_universal_d_Options = Options;\n  type dataAutocmsV2BackgroundTask_universal_d_UpdateDraftPublishConfig = UpdateDraftPublishConfig;\n  type dataAutocmsV2BackgroundTask_universal_d_UpdateDraftPublishRequest = UpdateDraftPublishRequest;\n  type dataAutocmsV2BackgroundTask_universal_d_UpdateDraftPublishRequestOperationOneOf = UpdateDraftPublishRequestOperationOneOf;\n  type dataAutocmsV2BackgroundTask_universal_d_Empty = Empty;\n  type dataAutocmsV2BackgroundTask_universal_d_ScheduleOperation = ScheduleOperation;\n  type dataAutocmsV2BackgroundTask_universal_d_CopyFieldDataRequest = CopyFieldDataRequest;\n  type dataAutocmsV2BackgroundTask_universal_d_EditFieldDataRequest = EditFieldDataRequest;\n  type dataAutocmsV2BackgroundTask_universal_d_Replace = Replace;\n  type dataAutocmsV2BackgroundTask_universal_d_ApplicationError = ApplicationError;\n  type dataAutocmsV2BackgroundTask_universal_d_DeleteByQueryOptions = DeleteByQueryOptions;\n  type dataAutocmsV2BackgroundTask_universal_d_Environment = Environment;\n  const dataAutocmsV2BackgroundTask_universal_d_Environment: typeof Environment;\n  type dataAutocmsV2BackgroundTask_universal_d_PublishPluginOptions = PublishPluginOptions;\n  type dataAutocmsV2BackgroundTask_universal_d_CopyFieldDataOptions = CopyFieldDataOptions;\n  type dataAutocmsV2BackgroundTask_universal_d_EditFieldDataOptions = EditFieldDataOptions;\n  type dataAutocmsV2BackgroundTask_universal_d_OperationsReplace = OperationsReplace;\n  type dataAutocmsV2BackgroundTask_universal_d_Operations = Operations;\n  type dataAutocmsV2BackgroundTask_universal_d_UpdatePublishStatusOptions = UpdatePublishStatusOptions;\n  type dataAutocmsV2BackgroundTask_universal_d_UpdatePublishStatusOptionsOptionsOneOf = UpdatePublishStatusOptionsOptionsOneOf;\n  type dataAutocmsV2BackgroundTask_universal_d_Operation = Operation;\n  const dataAutocmsV2BackgroundTask_universal_d_Operation: typeof Operation;\n  type dataAutocmsV2BackgroundTask_universal_d_UpdatePublishStatusOptionsScheduleOperation = UpdatePublishStatusOptionsScheduleOperation;\n  type dataAutocmsV2BackgroundTask_universal_d_CreateTaskRequest = CreateTaskRequest;\n  type dataAutocmsV2BackgroundTask_universal_d_CreateTaskResponse = CreateTaskResponse;\n  type dataAutocmsV2BackgroundTask_universal_d_ListTasksRequest = ListTasksRequest;\n  type dataAutocmsV2BackgroundTask_universal_d_Paging = Paging;\n  type dataAutocmsV2BackgroundTask_universal_d_ListTasksResponse = ListTasksResponse;\n  type dataAutocmsV2BackgroundTask_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type dataAutocmsV2BackgroundTask_universal_d_Cursors = Cursors;\n  type dataAutocmsV2BackgroundTask_universal_d_GetTaskRequest = GetTaskRequest;\n  type dataAutocmsV2BackgroundTask_universal_d_GetTaskResponse = GetTaskResponse;\n  type dataAutocmsV2BackgroundTask_universal_d_CancelTaskRequest = CancelTaskRequest;\n  type dataAutocmsV2BackgroundTask_universal_d_CancelTaskResponse = CancelTaskResponse;\n  type dataAutocmsV2BackgroundTask_universal_d_TaskSubmitted = TaskSubmitted;\n  type dataAutocmsV2BackgroundTask_universal_d_DomainEvent = DomainEvent;\n  type dataAutocmsV2BackgroundTask_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type dataAutocmsV2BackgroundTask_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type dataAutocmsV2BackgroundTask_universal_d_RestoreInfo = RestoreInfo;\n  type dataAutocmsV2BackgroundTask_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type dataAutocmsV2BackgroundTask_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type dataAutocmsV2BackgroundTask_universal_d_ActionEvent = ActionEvent;\n  type dataAutocmsV2BackgroundTask_universal_d_MessageEnvelope = MessageEnvelope;\n  type dataAutocmsV2BackgroundTask_universal_d_IdentificationData = IdentificationData;\n  type dataAutocmsV2BackgroundTask_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type dataAutocmsV2BackgroundTask_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const dataAutocmsV2BackgroundTask_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const dataAutocmsV2BackgroundTask_universal_d_createTask: typeof createTask;\n  type dataAutocmsV2BackgroundTask_universal_d_CreateTaskOptions = CreateTaskOptions;\n  const dataAutocmsV2BackgroundTask_universal_d_listTasks: typeof listTasks;\n  type dataAutocmsV2BackgroundTask_universal_d_ListTasksOptions = ListTasksOptions;\n  const dataAutocmsV2BackgroundTask_universal_d_getTask: typeof getTask;\n  const dataAutocmsV2BackgroundTask_universal_d_cancelTask: typeof cancelTask;\n  const dataAutocmsV2BackgroundTask_universal_d_deleteByQuery: typeof deleteByQuery;\n  type dataAutocmsV2BackgroundTask_universal_d_DeleteByQueryOptionsForRequest = DeleteByQueryOptionsForRequest;\n  const dataAutocmsV2BackgroundTask_universal_d_updateDraftPublish: typeof updateDraftPublish;\n  type dataAutocmsV2BackgroundTask_universal_d_UpdateDraftPublishOptions = UpdateDraftPublishOptions;\n  const dataAutocmsV2BackgroundTask_universal_d_copyFieldData: typeof copyFieldData;\n  type dataAutocmsV2BackgroundTask_universal_d_CopyFieldDataOptionsForRequest = CopyFieldDataOptionsForRequest;\n  const dataAutocmsV2BackgroundTask_universal_d_editFieldData: typeof editFieldData;\n  type dataAutocmsV2BackgroundTask_universal_d_EditFieldDataOptionsForRequest = EditFieldDataOptionsForRequest;\n  namespace dataAutocmsV2BackgroundTask_universal_d {\n    export {\n      dataAutocmsV2BackgroundTask_universal_d_Task as Task,\n      dataAutocmsV2BackgroundTask_universal_d_TaskConfigOneOf as TaskConfigOneOf,\n      dataAutocmsV2BackgroundTask_universal_d_TaskOptionsOneOf as TaskOptionsOneOf,\n      dataAutocmsV2BackgroundTask_universal_d_Type as Type,\n      dataAutocmsV2BackgroundTask_universal_d_Status as Status,\n      dataAutocmsV2BackgroundTask_universal_d_Error as Error,\n      dataAutocmsV2BackgroundTask_universal_d_DeleteByQueryRequest as DeleteByQueryRequest,\n      dataAutocmsV2BackgroundTask_universal_d_Segment as Segment,\n      dataAutocmsV2BackgroundTask_universal_d_Options as Options,\n      dataAutocmsV2BackgroundTask_universal_d_UpdateDraftPublishConfig as UpdateDraftPublishConfig,\n      dataAutocmsV2BackgroundTask_universal_d_UpdateDraftPublishRequest as UpdateDraftPublishRequest,\n      dataAutocmsV2BackgroundTask_universal_d_UpdateDraftPublishRequestOperationOneOf as UpdateDraftPublishRequestOperationOneOf,\n      dataAutocmsV2BackgroundTask_universal_d_Empty as Empty,\n      dataAutocmsV2BackgroundTask_universal_d_ScheduleOperation as ScheduleOperation,\n      dataAutocmsV2BackgroundTask_universal_d_CopyFieldDataRequest as CopyFieldDataRequest,\n      dataAutocmsV2BackgroundTask_universal_d_EditFieldDataRequest as EditFieldDataRequest,\n      dataAutocmsV2BackgroundTask_universal_d_Replace as Replace,\n      dataAutocmsV2BackgroundTask_universal_d_ApplicationError as ApplicationError,\n      dataAutocmsV2BackgroundTask_universal_d_DeleteByQueryOptions as DeleteByQueryOptions,\n      dataAutocmsV2BackgroundTask_universal_d_Environment as Environment,\n      dataAutocmsV2BackgroundTask_universal_d_PublishPluginOptions as PublishPluginOptions,\n      dataAutocmsV2BackgroundTask_universal_d_CopyFieldDataOptions as CopyFieldDataOptions,\n      dataAutocmsV2BackgroundTask_universal_d_EditFieldDataOptions as EditFieldDataOptions,\n      dataAutocmsV2BackgroundTask_universal_d_OperationsReplace as OperationsReplace,\n      dataAutocmsV2BackgroundTask_universal_d_Operations as Operations,\n      dataAutocmsV2BackgroundTask_universal_d_UpdatePublishStatusOptions as UpdatePublishStatusOptions,\n      dataAutocmsV2BackgroundTask_universal_d_UpdatePublishStatusOptionsOptionsOneOf as UpdatePublishStatusOptionsOptionsOneOf,\n      dataAutocmsV2BackgroundTask_universal_d_Operation as Operation,\n      dataAutocmsV2BackgroundTask_universal_d_UpdatePublishStatusOptionsScheduleOperation as UpdatePublishStatusOptionsScheduleOperation,\n      dataAutocmsV2BackgroundTask_universal_d_CreateTaskRequest as CreateTaskRequest,\n      dataAutocmsV2BackgroundTask_universal_d_CreateTaskResponse as CreateTaskResponse,\n      dataAutocmsV2BackgroundTask_universal_d_ListTasksRequest as ListTasksRequest,\n      dataAutocmsV2BackgroundTask_universal_d_Paging as Paging,\n      dataAutocmsV2BackgroundTask_universal_d_ListTasksResponse as ListTasksResponse,\n      dataAutocmsV2BackgroundTask_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      dataAutocmsV2BackgroundTask_universal_d_Cursors as Cursors,\n      dataAutocmsV2BackgroundTask_universal_d_GetTaskRequest as GetTaskRequest,\n      dataAutocmsV2BackgroundTask_universal_d_GetTaskResponse as GetTaskResponse,\n      dataAutocmsV2BackgroundTask_universal_d_CancelTaskRequest as CancelTaskRequest,\n      dataAutocmsV2BackgroundTask_universal_d_CancelTaskResponse as CancelTaskResponse,\n      dataAutocmsV2BackgroundTask_universal_d_TaskSubmitted as TaskSubmitted,\n      dataAutocmsV2BackgroundTask_universal_d_DomainEvent as DomainEvent,\n      dataAutocmsV2BackgroundTask_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      dataAutocmsV2BackgroundTask_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      dataAutocmsV2BackgroundTask_universal_d_RestoreInfo as RestoreInfo,\n      dataAutocmsV2BackgroundTask_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      dataAutocmsV2BackgroundTask_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      dataAutocmsV2BackgroundTask_universal_d_ActionEvent as ActionEvent,\n      dataAutocmsV2BackgroundTask_universal_d_MessageEnvelope as MessageEnvelope,\n      dataAutocmsV2BackgroundTask_universal_d_IdentificationData as IdentificationData,\n      dataAutocmsV2BackgroundTask_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      dataAutocmsV2BackgroundTask_universal_d_WebhookIdentityType as WebhookIdentityType,\n      dataAutocmsV2BackgroundTask_universal_d_createTask as createTask,\n      dataAutocmsV2BackgroundTask_universal_d_CreateTaskOptions as CreateTaskOptions,\n      dataAutocmsV2BackgroundTask_universal_d_listTasks as listTasks,\n      dataAutocmsV2BackgroundTask_universal_d_ListTasksOptions as ListTasksOptions,\n      dataAutocmsV2BackgroundTask_universal_d_getTask as getTask,\n      dataAutocmsV2BackgroundTask_universal_d_cancelTask as cancelTask,\n      dataAutocmsV2BackgroundTask_universal_d_deleteByQuery as deleteByQuery,\n      dataAutocmsV2BackgroundTask_universal_d_DeleteByQueryOptionsForRequest as DeleteByQueryOptionsForRequest,\n      dataAutocmsV2BackgroundTask_universal_d_updateDraftPublish as updateDraftPublish,\n      dataAutocmsV2BackgroundTask_universal_d_UpdateDraftPublishOptions as UpdateDraftPublishOptions,\n      dataAutocmsV2BackgroundTask_universal_d_copyFieldData as copyFieldData,\n      dataAutocmsV2BackgroundTask_universal_d_CopyFieldDataOptionsForRequest as CopyFieldDataOptionsForRequest,\n      dataAutocmsV2BackgroundTask_universal_d_editFieldData as editFieldData,\n      dataAutocmsV2BackgroundTask_universal_d_EditFieldDataOptionsForRequest as EditFieldDataOptionsForRequest,\n    };\n  }\n  \n  export { dataAutocmsV2BackgroundTask_universal_d as autocms };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-autocms-folders-service-v1.d.ts",
      "content": "declare module \"wix-autocms-folders-service-v1\" {\n  /**\n   * Folder is a container for other folders and collection references\n   * There's always 1 root folder with empty ID\n   */\n  interface Folder {\n      /**\n       * unique ID, not present for root folder, mandatory for nested folders\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * display name\n       * @internal\n       * @deprecated\n       * @replacedBy name\n       * @targetRemovalDate 2025-01-01\n       */\n      displayName?: string;\n      /** display name */\n      name?: string;\n      /** folder description if any */\n      description?: string | null;\n      /**\n       * additional information\n       * @internal\n       */\n      info?: Record<string, any> | null;\n      /**\n       * collections in current folder\n       * @internal\n       * @deprecated\n       * @replacedBy collection_references\n       * @targetRemovalDate 2025-01-01\n       */\n      collections?: CollectionReference[];\n      /** nested folders */\n      folders?: Folder[];\n      /** collections in current folder */\n      collectionReferences?: CollectionReference[];\n  }\n  /**\n   * Reference to a collection, contained in a folder\n   * Collection may have up to 1 reference per folder\n   * and exactly 1 non-shortcut reference overall\n   */\n  interface CollectionReference {\n      /** collection unique name (ID) */\n      collectionName?: string;\n      /**\n       * same collection may have many shortcut references across folders\n       * but only one non-shortcut reference\n       * by default any collection will have reference at root folder\n       * @internal\n       */\n      shortcut?: boolean;\n      /**\n       * additional information\n       * @internal\n       */\n      info?: Record<string, any> | null;\n      /** Folder ID, where reference is located, not present for root folder */\n      folderId?: string | null;\n  }\n  interface GetFolderRequest {\n      /** missing means root */\n      folderId?: string | null;\n      /**\n       * nesting depth to return\n       * - 0 means no nested elements, only folder details\n       * - none means full folder tree\n       */\n      depth?: number | null;\n      /**\n       * if true CollectionReference.schema are not returned,\n       * but call is much faster.\n       * ignored for root folder request\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-01-01\n       */\n      skipSchemas?: boolean;\n  }\n  interface GetFolderResponse {\n      /** requested folder details */\n      folder?: Folder;\n      /** depth value requested */\n      depth?: number | null;\n  }\n  interface CreateFolderRequest {\n      /** parent folder ID or none if root */\n      parentFolderId?: string | null;\n      /**\n       * folder info to create\n       * @internal\n       * @deprecated\n       * @replacedBy folder_details\n       * @targetRemovalDate 2025-01-01\n       */\n      folderInfo?: FolderInfo;\n      /** folder info to create */\n      folderDetails?: FolderDetails;\n  }\n  interface FolderInfo {\n      /**\n       * display name\n       * @internal\n       * @deprecated\n       * @replacedBy name\n       * @targetRemovalDate 2025-01-01\n       */\n      displayName?: string | null;\n      /** display name */\n      name?: string | null;\n      /** description */\n      description?: string | null;\n      /**\n       * additional info\n       * @internal\n       */\n      info?: Record<string, any> | null;\n  }\n  interface FolderDetails {\n      /** display name */\n      name?: string | null;\n      /** description */\n      description?: string | null;\n      /**\n       * additional info\n       * @internal\n       */\n      info?: Record<string, any> | null;\n  }\n  interface CreateFolderResponse {\n      /** parent of created folder or none for root */\n      parentFolderId?: string | null;\n      /** created folder */\n      folder?: Folder;\n  }\n  interface UpdateFolderRequest {\n      /** Folder ID */\n      folderId: string;\n      /** Fields to update, partial */\n      folderInfo?: FolderInfo;\n      /**\n       * patch mask, not exposed to JSON\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateFolderResponse {\n      /**\n       * updated folder\n       * folder contents (folders and collections) would not be returned\n       */\n      folder?: Folder;\n  }\n  interface UpdateFolderDetailsRequest {\n      /** Folder ID */\n      folderId: string;\n      /** Fields to update, partial */\n      folderDetails?: FolderDetails;\n      /**\n       * patch mask, not exposed to JSON\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateFolderDetailsResponse {\n      /**\n       * updated folder\n       * folder contents (folders and collections) would not be returned\n       */\n      folder?: Folder;\n  }\n  interface DeleteFolderRequest {\n      /** folder ID to delete */\n      folderId: string;\n  }\n  interface DeleteFolderResponse {\n  }\n  interface MoveFolderRequest {\n      /** folder ID to move */\n      folderId: string;\n      /** destination folder ID (new parent), none if root */\n      parentFolderId?: string | null;\n  }\n  interface MoveFolderResponse {\n  }\n  interface ReferenceCollectionRequest {\n      /** collection name to reference (ID) */\n      collectionName: string;\n      /** target folder ID or none if root */\n      folderId?: string | null;\n      /**\n       * if false then single non-shortcut reference to this\n       * collection is moved to target folder\n       * otherwise new shortcut reference is created\n       * @internal\n       */\n      shortcut?: boolean;\n      /**\n       * additional information for shortcut reference\n       * ignored for non-shortcut reference\n       * @internal\n       */\n      info?: Record<string, any> | null;\n  }\n  interface ReferenceCollectionResponse {\n      /** Folder ID that contains reference or none if root */\n      folderId?: string | null;\n      /** reference details */\n      collectionReference?: CollectionReference;\n  }\n  interface CreateCollectionReferenceRequest {\n      /** Collection reference to create */\n      collectionReference: CollectionReference;\n  }\n  interface CreateCollectionReferenceResponse {\n      /** Collection reference created */\n      collectionReference?: CollectionReference;\n  }\n  interface GetReferencesRequest {\n      /** collection name (ID) to get */\n      collectionName: string;\n      /**\n       * if true schema would not be loaded and reference may not be found if collection is in root folder\n       * loading schema has performance impact\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-01-01\n       */\n      skipSchemas?: boolean;\n  }\n  interface GetReferencesResponse {\n      /** list of references */\n      references?: ReferenceLocation[];\n  }\n  interface ReferenceLocation {\n      /** folder where reference is located */\n      folderId?: string | null;\n      /** reference details */\n      reference?: CollectionReference;\n  }\n  interface UpdateReferenceInfoRequest {\n      /** folder where reference is located, none for root */\n      folderId?: string | null;\n      /** referenced collection name (ID) */\n      collectionName: string;\n      /** additional information to set */\n      info?: Record<string, any> | null;\n  }\n  interface UpdateReferenceInfoResponse {\n      /** Folder ID that contains reference or none if root */\n      folderId?: string | null;\n      /** reference details */\n      collectionReference?: CollectionReference;\n  }\n  interface DeleteReferenceRequest {\n      /** collection name (ID) to delete */\n      collectionName: string;\n      /** folder ID where to delete reference or none if root */\n      folderId?: string | null;\n  }\n  interface DeleteReferenceResponse {\n  }\n  interface GetCollectionReferencesRequest {\n      /** collection ID to get */\n      collectionName: string;\n  }\n  interface GetCollectionReferencesResponse {\n      /** list of references */\n      collectionReferences?: CollectionReference[];\n  }\n  interface UpdateCollectionReferenceRequest {\n      /** Collection reference to update */\n      collectionReference: CollectionReference;\n  }\n  interface UpdateCollectionReferenceResponse {\n      /** Updated collection reference */\n      collectionReference?: CollectionReference;\n  }\n  interface DeleteCollectionReferenceRequest {\n      /** collection name (ID) to delete */\n      collectionName: string;\n      /** folder ID where to delete reference or none if root */\n      folderId?: string | null;\n  }\n  interface DeleteCollectionReferenceResponse {\n  }\n  interface SearchRequest {\n      /**\n       * Search string, matched ignoring case\n       * @internal\n       * @deprecated\n       * @replacedBy keyword\n       * @targetRemovalDate 2025-01-01\n       */\n      searchTerm?: string;\n      /** Search string, matched ignoring case */\n      keyword?: string;\n  }\n  interface SearchResponse {\n      /** folders found, no contents are returned */\n      folders?: Folder[];\n      /**\n       * collections found\n       * @internal\n       * @deprecated\n       * @replacedBy collection_references\n       * @targetRemovalDate 2025-01-01\n       */\n      collections?: CollectionReference[];\n      /** collection references found */\n      collectionReferences?: CollectionReference[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get folder by ID\n   *\n   * Error codes:\n   * - `FOLDER_NOT_FOUND` in case if folder does not exists\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOCMS.FOLDER_READ\n   * @adminMethod\n   * @returns requested folder details\n   */\n  function getFolder(options?: GetFolderOptions): Promise<Folder>;\n  interface GetFolderOptions {\n      /** missing means root */\n      folderId?: string | null;\n      /**\n       * nesting depth to return\n       * - 0 means no nested elements, only folder details\n       * - none means full folder tree\n       */\n      depth?: number | null;\n      /**\n       * if true CollectionReference.schema are not returned,\n       * but call is much faster.\n       * ignored for root folder request\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-01-01\n       */\n      skipSchemas?: boolean;\n  }\n  /**\n   * Create new folder\n   *\n   * Error codes:\n   * - `FOLDER_NOT_FOUND` in case if parent folder does not exists\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOCMS.FOLDER_CREATE\n   * @adminMethod\n   */\n  function createFolder(options?: CreateFolderOptions): Promise<CreateFolderResponse>;\n  interface CreateFolderOptions {\n      /** parent folder ID or none if root */\n      parentFolderId?: string | null;\n      /**\n       * folder info to create\n       * @internal\n       * @deprecated\n       * @replacedBy folder_details\n       * @targetRemovalDate 2025-01-01\n       */\n      folderInfo?: FolderInfo;\n      /** folder info to create */\n      folderDetails?: FolderDetails;\n  }\n  /**\n   * Update nested folder details.\n   * Root folder can't be updated.\n   * @param folderId - Folder ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField folderId\n   * @permissionId AUTOCMS.FOLDER_UPDATE\n   * @adminMethod\n   * @deprecated\n   * @replacedBy UpdateFolderDetails\n   * @targetRemovalDate 2025-01-01\n   */\n  function updateFolder(folderId: string, options?: UpdateFolderOptions): Promise<UpdateFolderResponse>;\n  interface UpdateFolderOptions {\n      /** Fields to update, partial */\n      folderInfo?: FolderInfo;\n      /**\n       * patch mask, not exposed to JSON\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Update nested folder details.\n   * Root folder can't be updated.\n   *\n   * Error codes:\n   * - `FOLDER_NOT_FOUND` in case if folder does not exists\n   * @param folderId - Folder ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField folderId\n   * @permissionId AUTOCMS.FOLDER_UPDATE\n   * @adminMethod\n   */\n  function updateFolderDetails(folderId: string, options?: UpdateFolderDetailsOptions): Promise<UpdateFolderDetailsResponse>;\n  interface UpdateFolderDetailsOptions {\n      /** Fields to update, partial */\n      folderDetails?: FolderDetails;\n      /**\n       * patch mask, not exposed to JSON\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Delete nested folder.\n   * - any nested folder would be deleted recursively\n   * - any shortcut collection references will be deleted\n   * - any non-shortcut collection references will be moved to root folder\n   * Root folder can't be deleted.\n   *\n   * Error codes:\n   * - `COLLECTION_REFERENCE_EXISTS` when non-shortcut collection reference from removed tree conflicts with existing reference in the root\n   * @param folderId - folder ID to delete\n   * @public\n   * @documentationMaturity preview\n   * @requiredField folderId\n   * @permissionId AUTOCMS.FOLDER_DELETE\n   * @adminMethod\n   */\n  function deleteFolder(folderId: string): Promise<void>;\n  /**\n   * Move nested folder to different parent with all it's contents\n   *\n   * Error codes:\n   * - `FOLDER_NOT_FOUND` in case if folder with given ID does not exists\n   * @param folderId - folder ID to move\n   * @public\n   * @documentationMaturity preview\n   * @requiredField folderId\n   * @permissionId AUTOCMS.FOLDER_MOVE\n   * @adminMethod\n   */\n  function moveFolder(folderId: string, options?: MoveFolderOptions): Promise<void>;\n  interface MoveFolderOptions {\n      /** destination folder ID (new parent), none if root */\n      parentFolderId?: string | null;\n  }\n  /**\n   * Create collection reference.\n   * If reference is non-shortcut it is moved from previous location.\n   * @param collectionName - collection name to reference (ID)\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField collectionName\n   * @permissionId AUTOCMS.FOLDER_REFERENCE\n   * @adminMethod\n   * @deprecated\n   * @replacedBy CreateCollectionReference\n   * @targetRemovalDate 2025-01-01\n   */\n  function referenceCollection(collectionName: string, options?: ReferenceCollectionOptions): Promise<ReferenceCollectionResponse>;\n  interface ReferenceCollectionOptions {\n      /** target folder ID or none if root */\n      folderId?: string | null;\n      /**\n       * if false then single non-shortcut reference to this\n       * collection is moved to target folder\n       * otherwise new shortcut reference is created\n       * @internal\n       */\n      shortcut?: boolean;\n      /**\n       * additional information for shortcut reference\n       * ignored for non-shortcut reference\n       * @internal\n       */\n      info?: Record<string, any> | null;\n  }\n  /**\n   * Create collection reference.\n   * If reference is non-shortcut it is moved from previous location.\n   *\n   * Error codes:\n   * - `FOLDER_NOT_FOUND` in case if folder with given ID does not exists\n   * - `COLLECTION_REFERENCE_EXISTS` when reference to same collection already exists in the folder\n   * @param collectionReference - Collection reference to create\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collectionReference\n   * @requiredField collectionReference.collectionName\n   * @permissionId AUTOCMS.FOLDER_REFERENCE\n   * @adminMethod\n   */\n  function createCollectionReference(collectionReference: CollectionReference): Promise<CreateCollectionReferenceResponse>;\n  /**\n   * Return all references to given collection.\n   * @param collectionName - collection name (ID) to get\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField collectionName\n   * @permissionId AUTOCMS.FOLDER_READ\n   * @adminMethod\n   * @deprecated\n   * @replacedBy GetCollectionReferences\n   * @targetRemovalDate 2025-01-01\n   */\n  function getReferences(collectionName: string, options?: GetReferencesOptions): Promise<GetReferencesResponse>;\n  interface GetReferencesOptions {\n      /**\n       * if true schema would not be loaded and reference may not be found if collection is in root folder\n       * loading schema has performance impact\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2025-01-01\n       */\n      skipSchemas?: boolean;\n  }\n  /**\n   * Update reference info.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.collectionName\n   * @permissionId AUTOCMS.FOLDER_UPDATE_REFERENCE\n   * @adminMethod\n   * @deprecated\n   * @replacedBy UpdateCollectionReference\n   * @targetRemovalDate 2025-01-01\n   */\n  function updateReferenceInfo(options?: UpdateReferenceInfoOptions): Promise<UpdateReferenceInfoResponse>;\n  interface UpdateReferenceInfoOptions {\n      /** folder where reference is located, none for root */\n      folderId?: string | null;\n      /** referenced collection name (ID) */\n      collectionName: string;\n      /** additional information to set */\n      info?: Record<string, any> | null;\n  }\n  /**\n   * Delete shortcut reference.\n   * @param collectionName - collection name (ID) to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField collectionName\n   * @permissionId AUTOCMS.FOLDER_DELETE_REFERENCE\n   * @adminMethod\n   * @deprecated\n   * @replacedBy DeleteCollectionReference\n   * @targetRemovalDate 2025-01-01\n   */\n  function deleteReference(collectionName: string, options?: DeleteReferenceOptions): Promise<void>;\n  interface DeleteReferenceOptions {\n      /** folder ID where to delete reference or none if root */\n      folderId?: string | null;\n  }\n  /**\n   * Return all references to given collection.\n   * @param collectionName - collection ID to get\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collectionName\n   * @permissionId AUTOCMS.FOLDER_READ\n   * @adminMethod\n   */\n  function getCollectionReferences(collectionName: string): Promise<GetCollectionReferencesResponse>;\n  /**\n   * Update reference info.\n   *\n   * Error codes:\n   * - `REFERENCE_NOT_FOUND` in case if reference to that collection in a folder doesn't exist\n   * @param collectionReference - Collection reference to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField collectionReference\n   * @requiredField collectionReference.collectionName\n   * @permissionId AUTOCMS.FOLDER_UPDATE_REFERENCE\n   * @adminMethod\n   */\n  function updateCollectionReference(collectionReference: CollectionReference): Promise<UpdateCollectionReferenceResponse>;\n  /**\n   * Delete shortcut reference.\n   *\n   * Error codes:\n   * - `REFERENCE_NOT_FOUND` when reference is not found\n   * - `NOT_A_SHORTCUT` when trying to delete non-shortcut reference\n   * @param collectionName - collection name (ID) to delete\n   * @public\n   * @documentationMaturity preview\n   * @requiredField collectionName\n   * @permissionId AUTOCMS.FOLDER_DELETE_REFERENCE\n   * @adminMethod\n   */\n  function deleteCollectionReference(collectionName: string, options?: DeleteCollectionReferenceOptions): Promise<void>;\n  interface DeleteCollectionReferenceOptions {\n      /** folder ID where to delete reference or none if root */\n      folderId?: string | null;\n  }\n  /**\n   * Search folders and collections by name.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOCMS.FOLDER_SEARCH\n   * @adminMethod\n   */\n  function search(options?: SearchOptions): Promise<SearchResponse>;\n  interface SearchOptions {\n      /**\n       * Search string, matched ignoring case\n       * @internal\n       * @deprecated\n       * @replacedBy keyword\n       * @targetRemovalDate 2025-01-01\n       */\n      searchTerm?: string;\n      /** Search string, matched ignoring case */\n      keyword?: string;\n  }\n  \n  type cloudAutocmsV1Folder_universal_d_Folder = Folder;\n  type cloudAutocmsV1Folder_universal_d_CollectionReference = CollectionReference;\n  type cloudAutocmsV1Folder_universal_d_GetFolderRequest = GetFolderRequest;\n  type cloudAutocmsV1Folder_universal_d_GetFolderResponse = GetFolderResponse;\n  type cloudAutocmsV1Folder_universal_d_CreateFolderRequest = CreateFolderRequest;\n  type cloudAutocmsV1Folder_universal_d_FolderInfo = FolderInfo;\n  type cloudAutocmsV1Folder_universal_d_FolderDetails = FolderDetails;\n  type cloudAutocmsV1Folder_universal_d_CreateFolderResponse = CreateFolderResponse;\n  type cloudAutocmsV1Folder_universal_d_UpdateFolderRequest = UpdateFolderRequest;\n  type cloudAutocmsV1Folder_universal_d_UpdateFolderResponse = UpdateFolderResponse;\n  type cloudAutocmsV1Folder_universal_d_UpdateFolderDetailsRequest = UpdateFolderDetailsRequest;\n  type cloudAutocmsV1Folder_universal_d_UpdateFolderDetailsResponse = UpdateFolderDetailsResponse;\n  type cloudAutocmsV1Folder_universal_d_DeleteFolderRequest = DeleteFolderRequest;\n  type cloudAutocmsV1Folder_universal_d_DeleteFolderResponse = DeleteFolderResponse;\n  type cloudAutocmsV1Folder_universal_d_MoveFolderRequest = MoveFolderRequest;\n  type cloudAutocmsV1Folder_universal_d_MoveFolderResponse = MoveFolderResponse;\n  type cloudAutocmsV1Folder_universal_d_ReferenceCollectionRequest = ReferenceCollectionRequest;\n  type cloudAutocmsV1Folder_universal_d_ReferenceCollectionResponse = ReferenceCollectionResponse;\n  type cloudAutocmsV1Folder_universal_d_CreateCollectionReferenceRequest = CreateCollectionReferenceRequest;\n  type cloudAutocmsV1Folder_universal_d_CreateCollectionReferenceResponse = CreateCollectionReferenceResponse;\n  type cloudAutocmsV1Folder_universal_d_GetReferencesRequest = GetReferencesRequest;\n  type cloudAutocmsV1Folder_universal_d_GetReferencesResponse = GetReferencesResponse;\n  type cloudAutocmsV1Folder_universal_d_ReferenceLocation = ReferenceLocation;\n  type cloudAutocmsV1Folder_universal_d_UpdateReferenceInfoRequest = UpdateReferenceInfoRequest;\n  type cloudAutocmsV1Folder_universal_d_UpdateReferenceInfoResponse = UpdateReferenceInfoResponse;\n  type cloudAutocmsV1Folder_universal_d_DeleteReferenceRequest = DeleteReferenceRequest;\n  type cloudAutocmsV1Folder_universal_d_DeleteReferenceResponse = DeleteReferenceResponse;\n  type cloudAutocmsV1Folder_universal_d_GetCollectionReferencesRequest = GetCollectionReferencesRequest;\n  type cloudAutocmsV1Folder_universal_d_GetCollectionReferencesResponse = GetCollectionReferencesResponse;\n  type cloudAutocmsV1Folder_universal_d_UpdateCollectionReferenceRequest = UpdateCollectionReferenceRequest;\n  type cloudAutocmsV1Folder_universal_d_UpdateCollectionReferenceResponse = UpdateCollectionReferenceResponse;\n  type cloudAutocmsV1Folder_universal_d_DeleteCollectionReferenceRequest = DeleteCollectionReferenceRequest;\n  type cloudAutocmsV1Folder_universal_d_DeleteCollectionReferenceResponse = DeleteCollectionReferenceResponse;\n  type cloudAutocmsV1Folder_universal_d_SearchRequest = SearchRequest;\n  type cloudAutocmsV1Folder_universal_d_SearchResponse = SearchResponse;\n  type cloudAutocmsV1Folder_universal_d_DomainEvent = DomainEvent;\n  type cloudAutocmsV1Folder_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type cloudAutocmsV1Folder_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type cloudAutocmsV1Folder_universal_d_RestoreInfo = RestoreInfo;\n  type cloudAutocmsV1Folder_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type cloudAutocmsV1Folder_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type cloudAutocmsV1Folder_universal_d_ActionEvent = ActionEvent;\n  type cloudAutocmsV1Folder_universal_d_Empty = Empty;\n  type cloudAutocmsV1Folder_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type cloudAutocmsV1Folder_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type cloudAutocmsV1Folder_universal_d_Asset = Asset;\n  type cloudAutocmsV1Folder_universal_d_State = State;\n  const cloudAutocmsV1Folder_universal_d_State: typeof State;\n  type cloudAutocmsV1Folder_universal_d_SiteCreated = SiteCreated;\n  type cloudAutocmsV1Folder_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const cloudAutocmsV1Folder_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type cloudAutocmsV1Folder_universal_d_Namespace = Namespace;\n  const cloudAutocmsV1Folder_universal_d_Namespace: typeof Namespace;\n  type cloudAutocmsV1Folder_universal_d_SiteTransferred = SiteTransferred;\n  type cloudAutocmsV1Folder_universal_d_SiteDeleted = SiteDeleted;\n  type cloudAutocmsV1Folder_universal_d_DeleteContext = DeleteContext;\n  type cloudAutocmsV1Folder_universal_d_DeleteStatus = DeleteStatus;\n  const cloudAutocmsV1Folder_universal_d_DeleteStatus: typeof DeleteStatus;\n  type cloudAutocmsV1Folder_universal_d_SiteUndeleted = SiteUndeleted;\n  type cloudAutocmsV1Folder_universal_d_SitePublished = SitePublished;\n  type cloudAutocmsV1Folder_universal_d_SiteUnpublished = SiteUnpublished;\n  type cloudAutocmsV1Folder_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type cloudAutocmsV1Folder_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type cloudAutocmsV1Folder_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type cloudAutocmsV1Folder_universal_d_ServiceRemoved = ServiceRemoved;\n  type cloudAutocmsV1Folder_universal_d_SiteRenamed = SiteRenamed;\n  type cloudAutocmsV1Folder_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type cloudAutocmsV1Folder_universal_d_NamespaceChanged = NamespaceChanged;\n  type cloudAutocmsV1Folder_universal_d_StudioAssigned = StudioAssigned;\n  type cloudAutocmsV1Folder_universal_d_StudioUnassigned = StudioUnassigned;\n  type cloudAutocmsV1Folder_universal_d_MessageEnvelope = MessageEnvelope;\n  type cloudAutocmsV1Folder_universal_d_IdentificationData = IdentificationData;\n  type cloudAutocmsV1Folder_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type cloudAutocmsV1Folder_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const cloudAutocmsV1Folder_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const cloudAutocmsV1Folder_universal_d_getFolder: typeof getFolder;\n  type cloudAutocmsV1Folder_universal_d_GetFolderOptions = GetFolderOptions;\n  const cloudAutocmsV1Folder_universal_d_createFolder: typeof createFolder;\n  type cloudAutocmsV1Folder_universal_d_CreateFolderOptions = CreateFolderOptions;\n  const cloudAutocmsV1Folder_universal_d_updateFolder: typeof updateFolder;\n  type cloudAutocmsV1Folder_universal_d_UpdateFolderOptions = UpdateFolderOptions;\n  const cloudAutocmsV1Folder_universal_d_updateFolderDetails: typeof updateFolderDetails;\n  type cloudAutocmsV1Folder_universal_d_UpdateFolderDetailsOptions = UpdateFolderDetailsOptions;\n  const cloudAutocmsV1Folder_universal_d_deleteFolder: typeof deleteFolder;\n  const cloudAutocmsV1Folder_universal_d_moveFolder: typeof moveFolder;\n  type cloudAutocmsV1Folder_universal_d_MoveFolderOptions = MoveFolderOptions;\n  const cloudAutocmsV1Folder_universal_d_referenceCollection: typeof referenceCollection;\n  type cloudAutocmsV1Folder_universal_d_ReferenceCollectionOptions = ReferenceCollectionOptions;\n  const cloudAutocmsV1Folder_universal_d_createCollectionReference: typeof createCollectionReference;\n  const cloudAutocmsV1Folder_universal_d_getReferences: typeof getReferences;\n  type cloudAutocmsV1Folder_universal_d_GetReferencesOptions = GetReferencesOptions;\n  const cloudAutocmsV1Folder_universal_d_updateReferenceInfo: typeof updateReferenceInfo;\n  type cloudAutocmsV1Folder_universal_d_UpdateReferenceInfoOptions = UpdateReferenceInfoOptions;\n  const cloudAutocmsV1Folder_universal_d_deleteReference: typeof deleteReference;\n  type cloudAutocmsV1Folder_universal_d_DeleteReferenceOptions = DeleteReferenceOptions;\n  const cloudAutocmsV1Folder_universal_d_getCollectionReferences: typeof getCollectionReferences;\n  const cloudAutocmsV1Folder_universal_d_updateCollectionReference: typeof updateCollectionReference;\n  const cloudAutocmsV1Folder_universal_d_deleteCollectionReference: typeof deleteCollectionReference;\n  type cloudAutocmsV1Folder_universal_d_DeleteCollectionReferenceOptions = DeleteCollectionReferenceOptions;\n  const cloudAutocmsV1Folder_universal_d_search: typeof search;\n  type cloudAutocmsV1Folder_universal_d_SearchOptions = SearchOptions;\n  namespace cloudAutocmsV1Folder_universal_d {\n    export {\n      cloudAutocmsV1Folder_universal_d_Folder as Folder,\n      cloudAutocmsV1Folder_universal_d_CollectionReference as CollectionReference,\n      cloudAutocmsV1Folder_universal_d_GetFolderRequest as GetFolderRequest,\n      cloudAutocmsV1Folder_universal_d_GetFolderResponse as GetFolderResponse,\n      cloudAutocmsV1Folder_universal_d_CreateFolderRequest as CreateFolderRequest,\n      cloudAutocmsV1Folder_universal_d_FolderInfo as FolderInfo,\n      cloudAutocmsV1Folder_universal_d_FolderDetails as FolderDetails,\n      cloudAutocmsV1Folder_universal_d_CreateFolderResponse as CreateFolderResponse,\n      cloudAutocmsV1Folder_universal_d_UpdateFolderRequest as UpdateFolderRequest,\n      cloudAutocmsV1Folder_universal_d_UpdateFolderResponse as UpdateFolderResponse,\n      cloudAutocmsV1Folder_universal_d_UpdateFolderDetailsRequest as UpdateFolderDetailsRequest,\n      cloudAutocmsV1Folder_universal_d_UpdateFolderDetailsResponse as UpdateFolderDetailsResponse,\n      cloudAutocmsV1Folder_universal_d_DeleteFolderRequest as DeleteFolderRequest,\n      cloudAutocmsV1Folder_universal_d_DeleteFolderResponse as DeleteFolderResponse,\n      cloudAutocmsV1Folder_universal_d_MoveFolderRequest as MoveFolderRequest,\n      cloudAutocmsV1Folder_universal_d_MoveFolderResponse as MoveFolderResponse,\n      cloudAutocmsV1Folder_universal_d_ReferenceCollectionRequest as ReferenceCollectionRequest,\n      cloudAutocmsV1Folder_universal_d_ReferenceCollectionResponse as ReferenceCollectionResponse,\n      cloudAutocmsV1Folder_universal_d_CreateCollectionReferenceRequest as CreateCollectionReferenceRequest,\n      cloudAutocmsV1Folder_universal_d_CreateCollectionReferenceResponse as CreateCollectionReferenceResponse,\n      cloudAutocmsV1Folder_universal_d_GetReferencesRequest as GetReferencesRequest,\n      cloudAutocmsV1Folder_universal_d_GetReferencesResponse as GetReferencesResponse,\n      cloudAutocmsV1Folder_universal_d_ReferenceLocation as ReferenceLocation,\n      cloudAutocmsV1Folder_universal_d_UpdateReferenceInfoRequest as UpdateReferenceInfoRequest,\n      cloudAutocmsV1Folder_universal_d_UpdateReferenceInfoResponse as UpdateReferenceInfoResponse,\n      cloudAutocmsV1Folder_universal_d_DeleteReferenceRequest as DeleteReferenceRequest,\n      cloudAutocmsV1Folder_universal_d_DeleteReferenceResponse as DeleteReferenceResponse,\n      cloudAutocmsV1Folder_universal_d_GetCollectionReferencesRequest as GetCollectionReferencesRequest,\n      cloudAutocmsV1Folder_universal_d_GetCollectionReferencesResponse as GetCollectionReferencesResponse,\n      cloudAutocmsV1Folder_universal_d_UpdateCollectionReferenceRequest as UpdateCollectionReferenceRequest,\n      cloudAutocmsV1Folder_universal_d_UpdateCollectionReferenceResponse as UpdateCollectionReferenceResponse,\n      cloudAutocmsV1Folder_universal_d_DeleteCollectionReferenceRequest as DeleteCollectionReferenceRequest,\n      cloudAutocmsV1Folder_universal_d_DeleteCollectionReferenceResponse as DeleteCollectionReferenceResponse,\n      cloudAutocmsV1Folder_universal_d_SearchRequest as SearchRequest,\n      cloudAutocmsV1Folder_universal_d_SearchResponse as SearchResponse,\n      cloudAutocmsV1Folder_universal_d_DomainEvent as DomainEvent,\n      cloudAutocmsV1Folder_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      cloudAutocmsV1Folder_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      cloudAutocmsV1Folder_universal_d_RestoreInfo as RestoreInfo,\n      cloudAutocmsV1Folder_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      cloudAutocmsV1Folder_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      cloudAutocmsV1Folder_universal_d_ActionEvent as ActionEvent,\n      cloudAutocmsV1Folder_universal_d_Empty as Empty,\n      cloudAutocmsV1Folder_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      cloudAutocmsV1Folder_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      cloudAutocmsV1Folder_universal_d_Asset as Asset,\n      cloudAutocmsV1Folder_universal_d_State as State,\n      cloudAutocmsV1Folder_universal_d_SiteCreated as SiteCreated,\n      cloudAutocmsV1Folder_universal_d_SiteCreatedContext as SiteCreatedContext,\n      cloudAutocmsV1Folder_universal_d_Namespace as Namespace,\n      cloudAutocmsV1Folder_universal_d_SiteTransferred as SiteTransferred,\n      cloudAutocmsV1Folder_universal_d_SiteDeleted as SiteDeleted,\n      cloudAutocmsV1Folder_universal_d_DeleteContext as DeleteContext,\n      cloudAutocmsV1Folder_universal_d_DeleteStatus as DeleteStatus,\n      cloudAutocmsV1Folder_universal_d_SiteUndeleted as SiteUndeleted,\n      cloudAutocmsV1Folder_universal_d_SitePublished as SitePublished,\n      cloudAutocmsV1Folder_universal_d_SiteUnpublished as SiteUnpublished,\n      cloudAutocmsV1Folder_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      cloudAutocmsV1Folder_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      cloudAutocmsV1Folder_universal_d_ServiceProvisioned as ServiceProvisioned,\n      cloudAutocmsV1Folder_universal_d_ServiceRemoved as ServiceRemoved,\n      cloudAutocmsV1Folder_universal_d_SiteRenamed as SiteRenamed,\n      cloudAutocmsV1Folder_universal_d_SiteHardDeleted as SiteHardDeleted,\n      cloudAutocmsV1Folder_universal_d_NamespaceChanged as NamespaceChanged,\n      cloudAutocmsV1Folder_universal_d_StudioAssigned as StudioAssigned,\n      cloudAutocmsV1Folder_universal_d_StudioUnassigned as StudioUnassigned,\n      cloudAutocmsV1Folder_universal_d_MessageEnvelope as MessageEnvelope,\n      cloudAutocmsV1Folder_universal_d_IdentificationData as IdentificationData,\n      cloudAutocmsV1Folder_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      cloudAutocmsV1Folder_universal_d_WebhookIdentityType as WebhookIdentityType,\n      cloudAutocmsV1Folder_universal_d_getFolder as getFolder,\n      cloudAutocmsV1Folder_universal_d_GetFolderOptions as GetFolderOptions,\n      cloudAutocmsV1Folder_universal_d_createFolder as createFolder,\n      cloudAutocmsV1Folder_universal_d_CreateFolderOptions as CreateFolderOptions,\n      cloudAutocmsV1Folder_universal_d_updateFolder as updateFolder,\n      cloudAutocmsV1Folder_universal_d_UpdateFolderOptions as UpdateFolderOptions,\n      cloudAutocmsV1Folder_universal_d_updateFolderDetails as updateFolderDetails,\n      cloudAutocmsV1Folder_universal_d_UpdateFolderDetailsOptions as UpdateFolderDetailsOptions,\n      cloudAutocmsV1Folder_universal_d_deleteFolder as deleteFolder,\n      cloudAutocmsV1Folder_universal_d_moveFolder as moveFolder,\n      cloudAutocmsV1Folder_universal_d_MoveFolderOptions as MoveFolderOptions,\n      cloudAutocmsV1Folder_universal_d_referenceCollection as referenceCollection,\n      cloudAutocmsV1Folder_universal_d_ReferenceCollectionOptions as ReferenceCollectionOptions,\n      cloudAutocmsV1Folder_universal_d_createCollectionReference as createCollectionReference,\n      cloudAutocmsV1Folder_universal_d_getReferences as getReferences,\n      cloudAutocmsV1Folder_universal_d_GetReferencesOptions as GetReferencesOptions,\n      cloudAutocmsV1Folder_universal_d_updateReferenceInfo as updateReferenceInfo,\n      cloudAutocmsV1Folder_universal_d_UpdateReferenceInfoOptions as UpdateReferenceInfoOptions,\n      cloudAutocmsV1Folder_universal_d_deleteReference as deleteReference,\n      cloudAutocmsV1Folder_universal_d_DeleteReferenceOptions as DeleteReferenceOptions,\n      cloudAutocmsV1Folder_universal_d_getCollectionReferences as getCollectionReferences,\n      cloudAutocmsV1Folder_universal_d_updateCollectionReference as updateCollectionReference,\n      cloudAutocmsV1Folder_universal_d_deleteCollectionReference as deleteCollectionReference,\n      cloudAutocmsV1Folder_universal_d_DeleteCollectionReferenceOptions as DeleteCollectionReferenceOptions,\n      cloudAutocmsV1Folder_universal_d_search as search,\n      cloudAutocmsV1Folder_universal_d_SearchOptions as SearchOptions,\n    };\n  }\n  \n  export { cloudAutocmsV1Folder_universal_d as autocms };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-autocms-collection-rules-service-v1.d.ts",
      "content": "declare module \"wix-autocms-collection-rules-service-v1\" {\n  /**\n   * CollectionRules contains validation/initialization rules for certain data collection.\n   * Rules and default values can be incompatible with collection schema but still persisted.\n   */\n  interface CollectionRules {\n      /** collection ID (previously collection name) */\n      dataCollectionId?: string;\n      /** rules */\n      rules?: Rule[];\n      /** field default values */\n      defaultValues?: DefaultValue[];\n  }\n  interface Rule extends RuleOptionsOneOf {\n      /** options for ENUMERATED rule type */\n      enumeratedOptions?: EnumeratedOptions;\n      /** options for STRING_LENGTH rule type */\n      stringLengthOptions?: StringLengthOptions;\n      /** Field ID this rule applies to */\n      field?: string;\n      /** rule type */\n      type?: Type;\n      /**\n       * Query filter that passes for valid values\n       * @readonly\n       */\n      queryFilter?: Record<string, any> | null;\n      /**\n       * rule may be disabled automatically if schema was changed and rule is no more compatible with it\n       * i.e. field was deleted or it's type was changed\n       * @readonly\n       */\n      incompatible?: boolean;\n  }\n  /** @oneof */\n  interface RuleOptionsOneOf {\n      /** options for ENUMERATED rule type */\n      enumeratedOptions?: EnumeratedOptions;\n      /** options for STRING_LENGTH rule type */\n      stringLengthOptions?: StringLengthOptions;\n  }\n  enum Type {\n      /** should not be used */\n      UNDEFINED = \"UNDEFINED\",\n      /** value may be not null, missing or empty value of any type */\n      NON_EMPTY = \"NON_EMPTY\",\n      /** value must be one of predefined list */\n      ENUMERATED = \"ENUMERATED\",\n      /** string min/max length limitations */\n      STRING_LENGTH = \"STRING_LENGTH\"\n  }\n  interface EnumeratedOptions {\n      /** allowed values list */\n      allowedValues?: any[];\n  }\n  interface StringLengthOptions {\n      /** Minimum string length required */\n      minLength?: number | null;\n      /** Maximum string length allowed */\n      maxLength?: number | null;\n  }\n  interface DefaultValue {\n      /** Field ID */\n      field?: string;\n      /** default value */\n      defaultValue?: any;\n      /**\n       * disabled automatically if schema was changed and field was deleted\n       * @readonly\n       */\n      incompatible?: boolean;\n  }\n  interface SaveCollectionRulesRequest {\n      /** collection rules to save */\n      rules: CollectionRules;\n  }\n  interface SaveCollectionRulesResponse {\n      /** saved collection rules */\n      rules?: CollectionRules;\n  }\n  interface CollectionSchemaMismatchErrorData {\n      /** collection rules saved entity */\n      rules?: CollectionRules;\n  }\n  interface GetCollectionRulesRequest {\n      /** collection ID to get rules for */\n      dataCollectionId?: string;\n  }\n  interface GetCollectionRulesResponse {\n      /** retrieved collection rules */\n      rules?: CollectionRules;\n  }\n  interface ListCollectionRulesRequest {\n  }\n  interface ListCollectionRulesResponse {\n      /** retrieved collection rules */\n      rules?: CollectionRules[];\n  }\n  interface ValidateRequest {\n      /** collection ID */\n      dataCollectionId?: string;\n      /** data items to validate */\n      items?: Record<string, any>[] | null;\n  }\n  interface ValidateResponse {\n      /** validation results of items in same order */\n      validationResults?: ValidationResult[];\n  }\n  interface ValidationFailure {\n      /** failed rule */\n      rule?: Rule;\n      /** validation message */\n      message?: string;\n  }\n  interface ValidationResult {\n      /** validation failures, empty if item is valid */\n      failures?: ValidationFailure[];\n      /** original item index in request */\n      originalIndex?: number;\n      /** true if no validation failures found */\n      success?: boolean;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  /**\n   * Updates collection rules.\n   *\n   * ### Errors:\n   * - `COLLECTION_NOT_FOUND` if no such data collection found\n   * - `INVALID_RULE` when provided rules are invalid\n   * - `COLLECTION_SCHEMA_MISMATCH` when rules are valid, but not compatible with collection\n   * schema (i.e. no such field in the schema). In such case rules are marked as \"incompatible\"\n   * but are saved and returned in error body as \"rule\" property.\n   * @param rules - collection rules to save\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField rules\n   * @permissionId AUTOCMS.RULES_WRITE\n   * @adminMethod\n   */\n  function saveCollectionRules(rules: CollectionRules): Promise<SaveCollectionRulesResponse>;\n  /**\n   * Get collection rules by collection id.\n   * NOTE if requested collection doesn't exists it returns empty rules instance\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId AUTOCMS.RULES_READ\n   * @adminMethod\n   */\n  function getCollectionRules(options?: GetCollectionRulesOptions): Promise<GetCollectionRulesResponse>;\n  interface GetCollectionRulesOptions {\n      /** collection ID to get rules for */\n      dataCollectionId?: string;\n  }\n  /**\n   * Get all non-empty collection rules for current tenant\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId AUTOCMS.RULES_READ\n   * @adminMethod\n   */\n  function listCollectionRules(): Promise<ListCollectionRulesResponse>;\n  /**\n   * Validates data items and returns list of failed rules.\n   * NOTE if collection doesn't exist all data is treated as valid\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId AUTOCMS.RULES_READ\n   * @adminMethod\n   */\n  function validate(options?: ValidateOptions): Promise<ValidateResponse>;\n  interface ValidateOptions {\n      /** collection ID */\n      dataCollectionId?: string;\n      /** data items to validate */\n      items?: Record<string, any>[] | null;\n  }\n  \n  type cloudAutocmsV1CollectionRules_universal_d_CollectionRules = CollectionRules;\n  type cloudAutocmsV1CollectionRules_universal_d_Rule = Rule;\n  type cloudAutocmsV1CollectionRules_universal_d_RuleOptionsOneOf = RuleOptionsOneOf;\n  type cloudAutocmsV1CollectionRules_universal_d_Type = Type;\n  const cloudAutocmsV1CollectionRules_universal_d_Type: typeof Type;\n  type cloudAutocmsV1CollectionRules_universal_d_EnumeratedOptions = EnumeratedOptions;\n  type cloudAutocmsV1CollectionRules_universal_d_StringLengthOptions = StringLengthOptions;\n  type cloudAutocmsV1CollectionRules_universal_d_DefaultValue = DefaultValue;\n  type cloudAutocmsV1CollectionRules_universal_d_SaveCollectionRulesRequest = SaveCollectionRulesRequest;\n  type cloudAutocmsV1CollectionRules_universal_d_SaveCollectionRulesResponse = SaveCollectionRulesResponse;\n  type cloudAutocmsV1CollectionRules_universal_d_CollectionSchemaMismatchErrorData = CollectionSchemaMismatchErrorData;\n  type cloudAutocmsV1CollectionRules_universal_d_GetCollectionRulesRequest = GetCollectionRulesRequest;\n  type cloudAutocmsV1CollectionRules_universal_d_GetCollectionRulesResponse = GetCollectionRulesResponse;\n  type cloudAutocmsV1CollectionRules_universal_d_ListCollectionRulesRequest = ListCollectionRulesRequest;\n  type cloudAutocmsV1CollectionRules_universal_d_ListCollectionRulesResponse = ListCollectionRulesResponse;\n  type cloudAutocmsV1CollectionRules_universal_d_ValidateRequest = ValidateRequest;\n  type cloudAutocmsV1CollectionRules_universal_d_ValidateResponse = ValidateResponse;\n  type cloudAutocmsV1CollectionRules_universal_d_ValidationFailure = ValidationFailure;\n  type cloudAutocmsV1CollectionRules_universal_d_ValidationResult = ValidationResult;\n  type cloudAutocmsV1CollectionRules_universal_d_DomainEvent = DomainEvent;\n  type cloudAutocmsV1CollectionRules_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type cloudAutocmsV1CollectionRules_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type cloudAutocmsV1CollectionRules_universal_d_RestoreInfo = RestoreInfo;\n  type cloudAutocmsV1CollectionRules_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type cloudAutocmsV1CollectionRules_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type cloudAutocmsV1CollectionRules_universal_d_ActionEvent = ActionEvent;\n  type cloudAutocmsV1CollectionRules_universal_d_Empty = Empty;\n  type cloudAutocmsV1CollectionRules_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type cloudAutocmsV1CollectionRules_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type cloudAutocmsV1CollectionRules_universal_d_Asset = Asset;\n  type cloudAutocmsV1CollectionRules_universal_d_State = State;\n  const cloudAutocmsV1CollectionRules_universal_d_State: typeof State;\n  type cloudAutocmsV1CollectionRules_universal_d_SiteCreated = SiteCreated;\n  type cloudAutocmsV1CollectionRules_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const cloudAutocmsV1CollectionRules_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type cloudAutocmsV1CollectionRules_universal_d_Namespace = Namespace;\n  const cloudAutocmsV1CollectionRules_universal_d_Namespace: typeof Namespace;\n  type cloudAutocmsV1CollectionRules_universal_d_SiteTransferred = SiteTransferred;\n  type cloudAutocmsV1CollectionRules_universal_d_SiteDeleted = SiteDeleted;\n  type cloudAutocmsV1CollectionRules_universal_d_DeleteContext = DeleteContext;\n  type cloudAutocmsV1CollectionRules_universal_d_DeleteStatus = DeleteStatus;\n  const cloudAutocmsV1CollectionRules_universal_d_DeleteStatus: typeof DeleteStatus;\n  type cloudAutocmsV1CollectionRules_universal_d_SiteUndeleted = SiteUndeleted;\n  type cloudAutocmsV1CollectionRules_universal_d_SitePublished = SitePublished;\n  type cloudAutocmsV1CollectionRules_universal_d_SiteUnpublished = SiteUnpublished;\n  type cloudAutocmsV1CollectionRules_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type cloudAutocmsV1CollectionRules_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type cloudAutocmsV1CollectionRules_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type cloudAutocmsV1CollectionRules_universal_d_ServiceRemoved = ServiceRemoved;\n  type cloudAutocmsV1CollectionRules_universal_d_SiteRenamed = SiteRenamed;\n  type cloudAutocmsV1CollectionRules_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type cloudAutocmsV1CollectionRules_universal_d_NamespaceChanged = NamespaceChanged;\n  type cloudAutocmsV1CollectionRules_universal_d_StudioAssigned = StudioAssigned;\n  type cloudAutocmsV1CollectionRules_universal_d_StudioUnassigned = StudioUnassigned;\n  const cloudAutocmsV1CollectionRules_universal_d_saveCollectionRules: typeof saveCollectionRules;\n  const cloudAutocmsV1CollectionRules_universal_d_getCollectionRules: typeof getCollectionRules;\n  type cloudAutocmsV1CollectionRules_universal_d_GetCollectionRulesOptions = GetCollectionRulesOptions;\n  const cloudAutocmsV1CollectionRules_universal_d_listCollectionRules: typeof listCollectionRules;\n  const cloudAutocmsV1CollectionRules_universal_d_validate: typeof validate;\n  type cloudAutocmsV1CollectionRules_universal_d_ValidateOptions = ValidateOptions;\n  namespace cloudAutocmsV1CollectionRules_universal_d {\n    export {\n      cloudAutocmsV1CollectionRules_universal_d_CollectionRules as CollectionRules,\n      cloudAutocmsV1CollectionRules_universal_d_Rule as Rule,\n      cloudAutocmsV1CollectionRules_universal_d_RuleOptionsOneOf as RuleOptionsOneOf,\n      cloudAutocmsV1CollectionRules_universal_d_Type as Type,\n      cloudAutocmsV1CollectionRules_universal_d_EnumeratedOptions as EnumeratedOptions,\n      cloudAutocmsV1CollectionRules_universal_d_StringLengthOptions as StringLengthOptions,\n      cloudAutocmsV1CollectionRules_universal_d_DefaultValue as DefaultValue,\n      cloudAutocmsV1CollectionRules_universal_d_SaveCollectionRulesRequest as SaveCollectionRulesRequest,\n      cloudAutocmsV1CollectionRules_universal_d_SaveCollectionRulesResponse as SaveCollectionRulesResponse,\n      cloudAutocmsV1CollectionRules_universal_d_CollectionSchemaMismatchErrorData as CollectionSchemaMismatchErrorData,\n      cloudAutocmsV1CollectionRules_universal_d_GetCollectionRulesRequest as GetCollectionRulesRequest,\n      cloudAutocmsV1CollectionRules_universal_d_GetCollectionRulesResponse as GetCollectionRulesResponse,\n      cloudAutocmsV1CollectionRules_universal_d_ListCollectionRulesRequest as ListCollectionRulesRequest,\n      cloudAutocmsV1CollectionRules_universal_d_ListCollectionRulesResponse as ListCollectionRulesResponse,\n      cloudAutocmsV1CollectionRules_universal_d_ValidateRequest as ValidateRequest,\n      cloudAutocmsV1CollectionRules_universal_d_ValidateResponse as ValidateResponse,\n      cloudAutocmsV1CollectionRules_universal_d_ValidationFailure as ValidationFailure,\n      cloudAutocmsV1CollectionRules_universal_d_ValidationResult as ValidationResult,\n      cloudAutocmsV1CollectionRules_universal_d_DomainEvent as DomainEvent,\n      cloudAutocmsV1CollectionRules_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      cloudAutocmsV1CollectionRules_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      cloudAutocmsV1CollectionRules_universal_d_RestoreInfo as RestoreInfo,\n      cloudAutocmsV1CollectionRules_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      cloudAutocmsV1CollectionRules_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      cloudAutocmsV1CollectionRules_universal_d_ActionEvent as ActionEvent,\n      cloudAutocmsV1CollectionRules_universal_d_Empty as Empty,\n      cloudAutocmsV1CollectionRules_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      cloudAutocmsV1CollectionRules_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      cloudAutocmsV1CollectionRules_universal_d_Asset as Asset,\n      cloudAutocmsV1CollectionRules_universal_d_State as State,\n      cloudAutocmsV1CollectionRules_universal_d_SiteCreated as SiteCreated,\n      cloudAutocmsV1CollectionRules_universal_d_SiteCreatedContext as SiteCreatedContext,\n      cloudAutocmsV1CollectionRules_universal_d_Namespace as Namespace,\n      cloudAutocmsV1CollectionRules_universal_d_SiteTransferred as SiteTransferred,\n      cloudAutocmsV1CollectionRules_universal_d_SiteDeleted as SiteDeleted,\n      cloudAutocmsV1CollectionRules_universal_d_DeleteContext as DeleteContext,\n      cloudAutocmsV1CollectionRules_universal_d_DeleteStatus as DeleteStatus,\n      cloudAutocmsV1CollectionRules_universal_d_SiteUndeleted as SiteUndeleted,\n      cloudAutocmsV1CollectionRules_universal_d_SitePublished as SitePublished,\n      cloudAutocmsV1CollectionRules_universal_d_SiteUnpublished as SiteUnpublished,\n      cloudAutocmsV1CollectionRules_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      cloudAutocmsV1CollectionRules_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      cloudAutocmsV1CollectionRules_universal_d_ServiceProvisioned as ServiceProvisioned,\n      cloudAutocmsV1CollectionRules_universal_d_ServiceRemoved as ServiceRemoved,\n      cloudAutocmsV1CollectionRules_universal_d_SiteRenamed as SiteRenamed,\n      cloudAutocmsV1CollectionRules_universal_d_SiteHardDeleted as SiteHardDeleted,\n      cloudAutocmsV1CollectionRules_universal_d_NamespaceChanged as NamespaceChanged,\n      cloudAutocmsV1CollectionRules_universal_d_StudioAssigned as StudioAssigned,\n      cloudAutocmsV1CollectionRules_universal_d_StudioUnassigned as StudioUnassigned,\n      cloudAutocmsV1CollectionRules_universal_d_saveCollectionRules as saveCollectionRules,\n      cloudAutocmsV1CollectionRules_universal_d_getCollectionRules as getCollectionRules,\n      cloudAutocmsV1CollectionRules_universal_d_GetCollectionRulesOptions as GetCollectionRulesOptions,\n      cloudAutocmsV1CollectionRules_universal_d_listCollectionRules as listCollectionRules,\n      cloudAutocmsV1CollectionRules_universal_d_validate as validate,\n      cloudAutocmsV1CollectionRules_universal_d_ValidateOptions as ValidateOptions,\n    };\n  }\n  \n  export { cloudAutocmsV1CollectionRules_universal_d as autocms };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-pre-register-provider.d.ts",
      "content": "declare module \"interfaces-iam-v1-pre-register-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface OnPreRegisterRequest {\n      /** The original request passed to the Register API */\n      registerRequest?: CreateIdentityRequest;\n  }\n  interface CreateIdentityRequest {\n      /** Identity to be created */\n      identity?: Identity;\n      password?: string | null;\n      /** when true will merge the existing contact into the new created identity instead of creating a new contact */\n      mergeExistingContact?: boolean | null;\n      options?: Options;\n      customAttributes?: Record<string, any> | null;\n  }\n  interface Identity {\n      /** Identity ID */\n      _id?: string | null;\n      /** Identifiers */\n      identifiers?: Identifier[];\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes.\n       * For an update operation to succeed, you MUST pass the latest revision.\n       */\n      revision?: string | null;\n      /**\n       * The time this identity was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * The time this identity was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** The identity configured connections to authenticate with. */\n      connections?: Connection[];\n      /** Identity profile. */\n      identityProfile?: IdentityProfile;\n      /**\n       * Additional information about the identity that can impact user access.\n       * This data cannot be set.\n       */\n      metadata?: Metadata;\n      /** Identity email address. */\n      email?: Email;\n      /** Identity's current status. */\n      status?: StatusV2;\n      /** filled by pre registered spi */\n      customAttributes?: Record<string, any> | null;\n  }\n  interface Identifier extends IdentifierValueOneOf {\n      email?: string;\n      userName?: string;\n  }\n  /** @oneof */\n  interface IdentifierValueOneOf {\n      email?: string;\n      userName?: string;\n  }\n  interface Connection extends ConnectionTypeOneOf {\n      /** IDP connection. */\n      idpConnection?: IdpConnection;\n      /** Authenticator connection. */\n      authenticatorConnection?: AuthenticatorConnection;\n  }\n  /** @oneof */\n  interface ConnectionTypeOneOf {\n      /** IDP connection. */\n      idpConnection?: IdpConnection;\n      /** Authenticator connection. */\n      authenticatorConnection?: AuthenticatorConnection;\n  }\n  interface IdpConnection {\n      /** IDP connection ID. */\n      idpConnectionId?: string;\n      /** IDP user ID. */\n      idpUserId?: string;\n  }\n  interface AuthenticatorConnection {\n      /** Authenticator connection ID. */\n      authenticatorConnectionId?: string;\n      /** Whether re-enrollment is required. */\n      reEnrollmentRequired?: boolean;\n  }\n  interface IdentityProfile {\n      /** Profile first name. */\n      firstName?: string | null;\n      /** Profile last name. */\n      lastName?: string | null;\n      /** Profile nickname. */\n      nickname?: string | null;\n      /** Profile picture URL. */\n      picture?: string | null;\n      /** Deprecated. Use `secondaryEmails` instead. */\n      emails?: string[];\n      /** Deprecated. Use `phonesV2` instead. */\n      phones?: string[];\n      /** List of profile labels. */\n      labels?: string[];\n      /** Profile language. */\n      language?: string | null;\n      /** Profile privacy status. */\n      privacyStatus?: PrivacyStatus;\n      /**\n       * Any number of custom fields. [Custom fields](https://support.wix.com/en/article/adding-custom-fields-to-contacts)\n       * are used to store additional information about your site or app's contacts.\n       */\n      customFields?: CustomField[];\n      /** List of profile email addresses. */\n      secondaryEmails?: SecondaryEmail[];\n      /** List of profile phone numbers. */\n      phonesV2?: Phone[];\n      /** List of profile physical addresses. */\n      addresses?: AddressWrapper[];\n      /** Company name. */\n      company?: string | null;\n      /** Position within company. */\n      position?: string | null;\n      /** Profile birthdate - ISO-8601 extended local date format (YYYY-MM-DD). */\n      birthdate?: string | null;\n  }\n  enum PrivacyStatus {\n      UNDEFINED = \"UNDEFINED\",\n      PUBLIC = \"PUBLIC\",\n      PRIVATE = \"PRIVATE\"\n  }\n  interface CustomField {\n      /**\n       * Custom field name. The name must match one of the key properties of the objects returned by\n       * [`List Extended Fields`](https://dev.wix.com/docs/rest/api-reference/contacts/extended-fields/list-extended-fields)\n       * with the `custom.` prefix removed.\n       */\n      name?: string;\n      /** Custom field value. */\n      value?: CustomValue;\n  }\n  interface CustomValue extends CustomValueValueOneOf {\n      /** String value. */\n      strValue?: string;\n      /** Number value. */\n      numValue?: number;\n      /** Date value. */\n      dateValue?: Date;\n      /** List value. */\n      listValue?: ListValue;\n      /** Map value. */\n      mapValue?: MapValue;\n  }\n  /** @oneof */\n  interface CustomValueValueOneOf {\n      /** String value. */\n      strValue?: string;\n      /** Number value. */\n      numValue?: number;\n      /** Date value. */\n      dateValue?: Date;\n      /** List value. */\n      listValue?: ListValue;\n      /** Map value. */\n      mapValue?: MapValue;\n  }\n  interface ListValue {\n      /** Custom value. */\n      value?: CustomValue[];\n  }\n  interface MapValue {\n      /** Mapped custom value. */\n      value?: Record<string, CustomValue>;\n  }\n  interface SecondaryEmail {\n      /** Email address. */\n      email?: string;\n      /** Email tag. */\n      tag?: EmailTag;\n  }\n  enum EmailTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\",\n      HOME = \"HOME\",\n      WORK = \"WORK\"\n  }\n  interface Phone {\n      /** Phone country code. */\n      countryCode?: string | null;\n      /** Phone number. */\n      phone?: string;\n      /** Phone tag. */\n      tag?: PhoneTag;\n  }\n  enum PhoneTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\",\n      HOME = \"HOME\",\n      MOBILE = \"MOBILE\",\n      WORK = \"WORK\",\n      FAX = \"FAX\"\n  }\n  interface AddressWrapper {\n      /** Address. */\n      address?: Address;\n      /** Address tag. */\n      tag?: AddressTag;\n  }\n  /** Physical address */\n  interface Address {\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n  }\n  enum AddressTag {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\",\n      WORK = \"WORK\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface Metadata {\n      /**\n       * represents general tags such as \"isOwner\", \"isContributor\"\n       * @readonly\n       */\n      tags?: string[];\n  }\n  interface Email {\n      address?: string;\n      isVerified?: boolean;\n  }\n  interface StatusV2 {\n      name?: StatusName;\n      reasons?: Reason[];\n  }\n  enum StatusName {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      PENDING = \"PENDING\",\n      ACTIVE = \"ACTIVE\",\n      DELETED = \"DELETED\",\n      BLOCKED = \"BLOCKED\",\n      OFFLINE = \"OFFLINE\"\n  }\n  enum Reason {\n      UNKNOWN_REASON = \"UNKNOWN_REASON\",\n      PENDING_ADMIN_APPROVAL_REQUIRED = \"PENDING_ADMIN_APPROVAL_REQUIRED\",\n      PENDING_EMAIL_VERIFICATION_REQUIRED = \"PENDING_EMAIL_VERIFICATION_REQUIRED\"\n  }\n  interface Options {\n      /** indicates if the user should get an email after identity creation */\n      sendActivationLink?: boolean;\n      /** activation email sending options */\n      emailOptions?: EmailOptions;\n  }\n  interface EmailOptions {\n      /** language of the email - if not received will fallback to the identity language */\n      language?: string | null;\n      /** Where to redirect after a successful activation process */\n      redirect?: Redirect;\n  }\n  interface Redirect {\n      /** The URL to redirect to after a successful recovery. */\n      url?: string;\n      /** Caller identifier. */\n      clientId?: string | null;\n  }\n  interface OnPreRegisterResponse {\n      /** The manipulated request that will be used in register. Can be equal to the original, if no manipulation took place */\n      registerRequest?: CreateIdentityRequest;\n  }\n  interface PreRegisterError {\n      /** The applicative error code indicating the failure reason */\n      applicationErrorCode?: string | null;\n      /** The description of the failure, which will be presented to the caller */\n      description?: string | null;\n  }\n  interface PreRegisterConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface OnPreRegisterOptions {\n      /** The original request passed to the Register API */\n      registerRequest?: CreateIdentityRequest;\n  }\n  \n  function preRegisterValidationFailed(data: PreRegisterError): BusinessError<PreRegisterError>;\n  \n  const onPreRegisterSpiErrors_d_preRegisterValidationFailed: typeof preRegisterValidationFailed;\n  namespace onPreRegisterSpiErrors_d {\n    export {\n      onPreRegisterSpiErrors_d_preRegisterValidationFailed as preRegisterValidationFailed,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      onPreRegisterSpiErrors_d as onPreRegister,\n    };\n  }\n  \n  export { Address, AddressTag, AddressWrapper, AuthenticatorConnection, BusinessError, Connection, ConnectionTypeOneOf, Context, CreateIdentityRequest, CustomField, CustomValue, CustomValueValueOneOf, Email, EmailOptions, EmailTag, IdentificationData, IdentificationDataIdOneOf, Identifier, IdentifierValueOneOf, Identity, IdentityProfile, IdentityType, IdpConnection, ListValue, MapValue, Metadata, OnPreRegisterOptions, OnPreRegisterRequest, OnPreRegisterResponse, Options, Phone, PhoneTag, PreRegisterConfig, PreRegisterError, PrivacyStatus, Reason, Redirect, SecondaryEmail, StatusName, StatusV2, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-components-validator-v1-validation-provider.d.ts",
      "content": "declare module \"interfaces-components-validator-v1-validation-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface ValidateComponentsRequest {\n      /** components that have been created or have been modified */\n      requestedComponents?: Component[];\n      /** current components on the app */\n      currentAppComponents?: Component[];\n      /** Indicates what flow trigger this operation on the components */\n      triggerFlow?: TriggerFlow;\n  }\n  /** Component is the main entity of ComponentsService */\n  interface Component {\n      /** Component Id */\n      _id?: string | null;\n      /**\n       * The version of the component: None (the mutable instance) or Long (versioned immutable). Domain Entity has 0 instead of None for proper indexing\n       * @readonly\n       */\n      version?: string | null;\n      /** The app id of the application which this component belongs to */\n      appId?: string;\n      /** The name of the component */\n      name?: string | null;\n      /**\n       * the type of the component\n       * @readonly\n       */\n      type?: ComponentType;\n      /** the data of the component */\n      data?: ComponentData;\n      /**\n       * revision of draft component\n       * @readonly\n       */\n      revision?: string | null;\n      externalId?: string | null;\n      createdBy?: CreatedBy;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n  }\n  /** Component type */\n  enum ComponentType {\n      NONE = \"NONE\",\n      STUDIO = \"STUDIO\",\n      PLATFORM = \"PLATFORM\",\n      WORKER = \"WORKER\",\n      DASHBOARD = \"DASHBOARD\",\n      WIDGET = \"WIDGET\",\n      PAGE = \"PAGE\",\n      DASHBOARD_PLATFORM = \"DASHBOARD_PLATFORM\",\n      STUDIO_WIDGET = \"STUDIO_WIDGET\",\n      EMBEDDED_SCRIPT = \"EMBEDDED_SCRIPT\",\n      EXTENSION = \"EXTENSION\",\n      SNIPPET_SOLUTION = \"SNIPPET_SOLUTION\",\n      DATA_COMPONENT = \"DATA_COMPONENT\",\n      WEB = \"WEB\",\n      DC_CONFIG = \"DC_CONFIG\",\n      WIDGET_OUT_OF_IFRAME = \"WIDGET_OUT_OF_IFRAME\",\n      PAGE_OUT_OF_IFRAME = \"PAGE_OUT_OF_IFRAME\",\n      STATIC_FILE = \"STATIC_FILE\",\n      APP_CONFIG = \"APP_CONFIG\",\n      MULTIPLE_DASHBOARDS = \"MULTIPLE_DASHBOARDS\",\n      PAYMENTS_GATEWAY = \"PAYMENTS_GATEWAY\",\n      CODE_PACKAGE = \"CODE_PACKAGE\",\n      AUTOMATION_TRIGGER = \"AUTOMATION_TRIGGER\",\n      INVOICES_ACTIONS = \"INVOICES_ACTIONS\",\n      DASHBOARD_APPLICATION = \"DASHBOARD_APPLICATION\",\n      CONTACT_LABELS = \"CONTACT_LABELS\",\n      WIDGET_PLUGIN = \"WIDGET_PLUGIN\",\n      CROSS_SELL = \"CROSS_SELL\",\n      LOCAL_DELIVERY = \"LOCAL_DELIVERY\",\n      PAYMENT_PROVIDER = \"PAYMENT_PROVIDER\",\n      ECOM_MEMBERSHIPS = \"ECOM_MEMBERSHIPS\",\n      ECOM_LINE_ITEMS_ENRICHER = \"ECOM_LINE_ITEMS_ENRICHER\",\n      ECOM_SHIPPING_RATES = \"ECOM_SHIPPING_RATES\",\n      SHIPPING_LABEL_CARRIER = \"SHIPPING_LABEL_CARRIER\",\n      RESTAURANTS_POS = \"RESTAURANTS_POS\",\n      FICTIONAL_SHIPPING_PROVIDER = \"FICTIONAL_SHIPPING_PROVIDER\",\n      ALERT_ENRICHER = \"ALERT_ENRICHER\",\n      DATA_EXTENSIONS = \"DATA_EXTENSIONS\",\n      GENERIC_HOOKS = \"GENERIC_HOOKS\",\n      AUTOMATIONS_ACTION_PROVIDER = \"AUTOMATIONS_ACTION_PROVIDER\",\n      ECOM_CATALOG = \"ECOM_CATALOG\",\n      BACK_OFFICE_EXTENSION_CONTAINER = \"BACK_OFFICE_EXTENSION_CONTAINER\",\n      BACK_OFFICE_EXTENSION = \"BACK_OFFICE_EXTENSION\",\n      AUTOMATIONS_TRIGGER_PROVIDER = \"AUTOMATIONS_TRIGGER_PROVIDER\",\n      IDENTITY_PRE_REGISTRATION = \"IDENTITY_PRE_REGISTRATION\",\n      PREMIUM_PRODUCTS_PATHS = \"PREMIUM_PRODUCTS_PATHS\",\n      ECOM_CUSTOM_SCOPE = \"ECOM_CUSTOM_SCOPE\",\n      GIFT_CARDS_PROVIDER = \"GIFT_CARDS_PROVIDER\",\n      DEALER_EXTERNAL_FILTER_PROVIDER = \"DEALER_EXTERNAL_FILTER_PROVIDER\",\n      ECOM_DROPSHIPPING_PROVIDER = \"ECOM_DROPSHIPPING_PROVIDER\",\n      INVOICES_PROVIDER = \"INVOICES_PROVIDER\",\n      SEO_KEYWORDS_SUGGESTIONS = \"SEO_KEYWORDS_SUGGESTIONS\",\n      ECOM_DISCOUNTS_TRIGGER = \"ECOM_DISCOUNTS_TRIGGER\",\n      MULTILINGUAL_CONTENT_PROVIDER = \"MULTILINGUAL_CONTENT_PROVIDER\",\n      APPLICATION_AUTOMATION = \"APPLICATION_AUTOMATION\",\n      BACK_OFFICE_SIDEBAR_CATEGORY = \"BACK_OFFICE_SIDEBAR_CATEGORY\",\n      BACK_OFFICE_PAGE = \"BACK_OFFICE_PAGE\",\n      ECOM_ADDITIONAL_FEES = \"ECOM_ADDITIONAL_FEES\",\n      PING_USER_NOTIFICATION = \"PING_USER_NOTIFICATION\",\n      ECOM_RECOMMENDATIONS_PROVIDER = \"ECOM_RECOMMENDATIONS_PROVIDER\",\n      BOOKINGS_PRICING_PROVIDER = \"BOOKINGS_PRICING_PROVIDER\",\n      IDENTITY_AUTHENTICATOR = \"IDENTITY_AUTHENTICATOR\",\n      IDENTITY_IDP_CONNECTOR = \"IDENTITY_IDP_CONNECTOR\",\n      ITEMS_SELECTION_PROVIDER = \"ITEMS_SELECTION_PROVIDER\",\n      PORTFOLIO_SYNCED_PROJECTS_PROVIDER = \"PORTFOLIO_SYNCED_PROJECTS_PROVIDER\",\n      COMMUNICATION_CHANNEL = \"COMMUNICATION_CHANNEL\",\n      IDENTITY_POST_LOGIN = \"IDENTITY_POST_LOGIN\",\n      BACK_OFFICE_WIDGET = \"BACK_OFFICE_WIDGET\",\n      SOCIAL_MARKETING_DESIGN = \"SOCIAL_MARKETING_DESIGN\",\n      FORMS_SUBMISSIONS_PROVIDER = \"FORMS_SUBMISSIONS_PROVIDER\",\n      WIX_OFFERING = \"WIX_OFFERING\",\n      DEV_CENTER_TESTING_COMPONENT = \"DEV_CENTER_TESTING_COMPONENT\",\n      COMPONENTS_VALIDATOR_PROVIDER = \"COMPONENTS_VALIDATOR_PROVIDER\",\n      COMPONENTS_TRANSLATIONS_ADDITIONAL_FIELDS_PROVIDER = \"COMPONENTS_TRANSLATIONS_ADDITIONAL_FIELDS_PROVIDER\",\n      FORMS_SCHEMA_PROVIDER = \"FORMS_SCHEMA_PROVIDER\",\n      BOOKINGS_EXTERNAL_CALENDAR_PROVIDER = \"BOOKINGS_EXTERNAL_CALENDAR_PROVIDER\",\n      ECOM_DEFAULT_TAXATION_CATEGORY = \"ECOM_DEFAULT_TAXATION_CATEGORY\",\n      VIEWER_DYNAMIC_SITE_STRUCTURE_PROVIDER = \"VIEWER_DYNAMIC_SITE_STRUCTURE_PROVIDER\",\n      PING_UOU_NOTIFICATION = \"PING_UOU_NOTIFICATION\",\n      HEADLESS_OAUTH = \"HEADLESS_OAUTH\",\n      ECOM_TAX_CALCULATOR_SPI = \"ECOM_TAX_CALCULATOR_SPI\",\n      COMMENTS_MODERATION_PROVIDER = \"COMMENTS_MODERATION_PROVIDER\",\n      GRID_APP_FILES_TRANSFORMER = \"GRID_APP_FILES_TRANSFORMER\",\n      BENEFIT_PROGRAMS_POLICY_PROVIDER = \"BENEFIT_PROGRAMS_POLICY_PROVIDER\",\n      PREMIUM_CUSTOM_CHARGES = \"PREMIUM_CUSTOM_CHARGES\",\n      ECOM_VALIDATIONS = \"ECOM_VALIDATIONS\",\n      COMPONENT_REFERENCE_DATA_PROVIDER = \"COMPONENT_REFERENCE_DATA_PROVIDER\",\n      WIX_REVIEWS_PRODUCT_CATALOG = \"WIX_REVIEWS_PRODUCT_CATALOG\",\n      SOCIAL_MARKETING_DESIGNS_PROVIDER = \"SOCIAL_MARKETING_DESIGNS_PROVIDER\",\n      GOOGLE_BUSINESS_PROFILE_FEATURE_PROVIDER = \"GOOGLE_BUSINESS_PROFILE_FEATURE_PROVIDER\",\n      COMMENTS_FILTER_PROVIDER = \"COMMENTS_FILTER_PROVIDER\",\n      BILLING_TAX_ID_VALIDATOR = \"BILLING_TAX_ID_VALIDATOR\",\n      PING_SETTINGS_GROUP = \"PING_SETTINGS_GROUP\",\n      FORMS_SPAM_SUBMISSIONS_PROVIDER = \"FORMS_SPAM_SUBMISSIONS_PROVIDER\",\n      EDITOR_ADDON = \"EDITOR_ADDON\",\n      EXTERNAL_DATABASE_PROVIDER = \"EXTERNAL_DATABASE_PROVIDER\",\n      ECOM_PAYMENT_SETTINGS = \"ECOM_PAYMENT_SETTINGS\",\n      NOTIFICATION_TOPIC = \"NOTIFICATION_TOPIC\",\n      NOTIFICATION_PREFERENCES_FILTER_PROVIDER = \"NOTIFICATION_PREFERENCES_FILTER_PROVIDER\",\n      BOOKINGS_RESOURCE_TYPES_PROVIDER = \"BOOKINGS_RESOURCE_TYPES_PROVIDER\",\n      PRICING_PLANS_FORM_CONFIGURATION = \"PRICING_PLANS_FORM_CONFIGURATION\",\n      USER_NOTIFICATION = \"USER_NOTIFICATION\",\n      CONTACT_NOTIFICATION = \"CONTACT_NOTIFICATION\",\n      UNIFIED_PAGE = \"UNIFIED_PAGE\",\n      AVAILABILITY_TIME_SLOTS_CONFIGURATION_PROVIDER = \"AVAILABILITY_TIME_SLOTS_CONFIGURATION_PROVIDER\",\n      PROPOSAL_EDITOR_PROVIDER = \"PROPOSAL_EDITOR_PROVIDER\",\n      CUSTOM_TABLE_RESERVATIONS_PROVIDER = \"CUSTOM_TABLE_RESERVATIONS_PROVIDER\",\n      COMMENTS_CONTEXT_PROVIDER = \"COMMENTS_CONTEXT_PROVIDER\",\n      FORMS_SPAM_SUBMISSION_REPORTS_PROVIDER = \"FORMS_SPAM_SUBMISSION_REPORTS_PROVIDER\",\n      AUTOMATIONS_VELO_ACTION_PROVIDER = \"AUTOMATIONS_VELO_ACTION_PROVIDER\",\n      CALENDAR_EVENT_TYPE_PROVIDER = \"CALENDAR_EVENT_TYPE_PROVIDER\",\n      /** Reserved - previously was `SERVICE_AVAILABILITY_POLICY_PROVIDER` */\n      RESERVED = \"RESERVED\",\n      SMS_ACTION_MESSAGE = \"SMS_ACTION_MESSAGE\",\n      BOOKING_POLICY_PROVIDER = \"BOOKING_POLICY_PROVIDER\",\n      MULTI_SERVICE_BOOKING_POLICY_PROVIDER = \"MULTI_SERVICE_BOOKING_POLICY_PROVIDER\",\n      AI_ASSISTANT = \"AI_ASSISTANT\",\n      FORMS_SUBMISSIONS_EXTENSION_PROVIDER = \"FORMS_SUBMISSIONS_EXTENSION_PROVIDER\",\n      MULTILINGUAL_TRANSLATION_SCHEMA = \"MULTILINGUAL_TRANSLATION_SCHEMA\",\n      TAX_CALCULATION_PROVIDER = \"TAX_CALCULATION_PROVIDER\",\n      TAX_GROUPS_PROVIDER = \"TAX_GROUPS_PROVIDER\",\n      BACK_OFFICE_MODAL = \"BACK_OFFICE_MODAL\",\n      DEPLOYMENT_PIPELINE_PROVIDER = \"DEPLOYMENT_PIPELINE_PROVIDER\",\n      CUSTOM_ELEMENT_WIDGET = \"CUSTOM_ELEMENT_WIDGET\",\n      BACK_OFFICE_EXTENSION_WIDGET = \"BACK_OFFICE_EXTENSION_WIDGET\",\n      BACK_OFFICE_EXTENSION_MENU_ITEM = \"BACK_OFFICE_EXTENSION_MENU_ITEM\",\n      FORM_TEMPLATE = \"FORM_TEMPLATE\",\n      NOTIFICATION_CONTENT = \"NOTIFICATION_CONTENT\",\n      BROADCAST_LIST = \"BROADCAST_LIST\",\n      PARTNERS_PAYOUTS = \"PARTNERS_PAYOUTS\",\n      WIX_REVIEWS_ENTITY_CATALOG = \"WIX_REVIEWS_ENTITY_CATALOG\",\n      VELO_PUBLISH_PIPELINE_TASK_PROVIDER = \"VELO_PUBLISH_PIPELINE_TASK_PROVIDER\",\n      FUNCTIONS_SHOP_PRICE_PROVIDER = \"FUNCTIONS_SHOP_PRICE_PROVIDER\",\n      FUNCTION = \"FUNCTION\"\n  }\n  /** Component data */\n  interface ComponentData extends ComponentDataDataOneOf {\n      /**\n       * Create a widget iframe that users can display on their site. We recommend submitting a proposal before using iframes in your app.\n       * Learn More: https://devforum.wix.com/en/article/widget-components\n       */\n      widgetComponentData?: WidgetComponentData;\n      /**\n       * Display an iframe as a page on a user's site.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/iframes/guide-to-page-extensions\n       */\n      pageComponentData?: PageComponentData;\n      /**\n       * Load a WOOI directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/editor-widget-out-of-iframe/widget-out-of-iframe-component-data-object\n       * @internal\n       */\n      widgetOutOfIframeData?: WidgetOutOfIframeComponentData;\n      /**\n       * Load a POOI directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/editor-page-out-of-iframe/page-out-of-iframe-component-data-object\n       * @internal\n       */\n      pageOutOfIframeData?: PageOutOfIframeComponentData;\n      /**\n       * Load a collection of native Editor components directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/fe-guild/editor-platform\n       * @internal\n       */\n      platformComponentData?: PlatfromComponentData;\n      /**\n       * Open an iframe in the Dashboard, or add a link to a page on your platform.\n       * Learn More: https://devforum.wix.com/en/article/create-a-dashboard-page-component\n       */\n      dashboardComponentData?: DashboardComponentData;\n      /**\n       * Use an invisible iframe to track activity. It’s added to every page on the site (max. 1).\n       * Learn More: https://devforum.wix.com/en/article/worker-components\n       */\n      workerComponentData?: WorkerComponentData;\n      /**\n       * Use Wix Blocks to create a widget component. Wix Blocks will open in a new tab.\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/wix-blocks-server---app-builder\n       * @internal\n       */\n      studioComponentData?: StudioComponentData;\n      /**\n       * A widget component in the Wix Blocks.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/wix-blocks\n       * @internal\n       */\n      studioWidgetComponentData?: StudioWidgetComponentData;\n      /**\n       * A component that indicates the existence of an importable code package in a Wix Blocks application.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/wix-blocks-code-package\n       * @internal\n       */\n      codePackageComponentData?: CodePackageComponentData;\n      /**\n       * Load a collection of native components directly in the Business Manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/dashboard-platfrom/dashboard-platfrom-component-data-object\n       * @internal\n       */\n      dashboardPlatformComponentData?: DashboardPlatfromComponentData;\n      /**\n       * Inject a script into a site’s HTML code.\n       * Learn More: https://devforum.wix.com/en/article/about-embedded-script-components\n       */\n      embeddedScriptComponentData?: EmbeddedScriptComponentData;\n      /**\n       * Display a draggable component in the Editor using an HTML custom element.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-custom-element\n       */\n      webComponentData?: WebComponentData;\n      /**\n       * Extend app with internal Wix extension.\n       * @internal\n       */\n      extensionData?: ExtensionData;\n      /** @internal */\n      snippetSolutionsData?: SnippetSolutionData;\n      /** @internal */\n      dataComponent?: DataComponent;\n      /** @internal */\n      dcConfigData?: DCConfigData;\n      /**\n       * Serve a file from the user’s site domain.\n       * Learn More: https://devforum.wix.com/en/article/serving-staic-files-from-the-installed-sites-domain\n       * @internal\n       */\n      staticFileComponentData?: StaticFileComponentData;\n      /** @internal */\n      appConfig?: AppConfig;\n      /**\n       * Create a multi-page dashboard in the Business Manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/multiple-dashboards\n       * @internal\n       */\n      multipleDashboardsComponentData?: MultipleDashboardsComponentData;\n      /**\n       * Payments gateway extension description\n       * @internal\n       */\n      paymentsGateway?: PaymentsGatewayComponentData;\n      /**\n       * Extend an app with automation capabilities using CRM Automations\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/automation-trigger\n       * @internal\n       */\n      automationTrigger?: AutomationTrigger;\n      /**\n       * Any restrictions on invoices actions\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/invoices-actions\n       * @internal\n       */\n      invoicesActionsComponentData?: InvoicesActionsComponentData;\n      /**\n       * Experimental-WIP: Business manager app_config, configures a module and its page components in business manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/dashboard-application\n       * @internal\n       */\n      dashboardApplicationData?: DashboardApplicationData;\n      /**\n       * Contact Labels Components\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/contact-labels\n       * @internal\n       */\n      contactLabels?: ContactLabelsComponentData;\n      /**\n       * Display a widget that fits into a predefined slot in a Wix app.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/plugins/about-plugins\n       */\n      widgetPlugin?: WidgetPluginComponentData;\n      /**\n       * Cross Sell Integration\n       * @internal\n       */\n      crossSell?: CrossSellConfig;\n      /**\n       * Experimental-WIP: Local Delivery extension description.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/local-delivery\n       * @internal\n       */\n      localDelivery?: LocalDeliveryComponentData;\n      /**\n       * WIP: Velo payment provider SPI\n       * @internal\n       */\n      paymentProvider?: PaymentServiceProviderConfig;\n      /**\n       * Memberships SPI for ECOM platform\n       * @internal\n       */\n      ecomMemberships?: MembershipsSPIConfig;\n      /**\n       * Line Items Enricher SPI for ECOM platform\n       * @internal\n       */\n      ecomLineItemsEnricher?: LineItemsEnricherConfig;\n      /**\n       * Displays the options from your Shipping Rates SPI in a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/shipping-rates-integration-spi/introduction\n       */\n      ecomShippingRates?: ShippingRatesConfig;\n      /**\n       * Shipping Label Carrier SPI\n       * @internal\n       */\n      shippingLabelCarrier?: ShippingLabelCarrierSpiConfig;\n      /**\n       * Restaurants POS SPI\n       * @internal\n       */\n      restaurantsPos?: RestaurantsPOSComponentData;\n      /**\n       * A fictional Shipping SPI that is used by developers to complete SPI training\n       * https://github.com/wix-academy/spi-in-scala-path\n       * @internal\n       */\n      fictionalShippingProvider?: ShippingProviderConfig;\n      /**\n       * Alert Enricher Integration\n       * @internal\n       */\n      alertEnricher?: AlertEnricherSpiConfiguration;\n      /** Extend a Wix entity with custom fields for your app */\n      dataExtensions?: DataExtensionsComponentData;\n      /**\n       * A common component type for all Generic Hooks\n       * @internal\n       */\n      genericHooks?: GenericHooksConfig;\n      /**\n       * WIP: automations action provider\n       * @internal\n       */\n      automationsActionProvider?: ActionProviderSPIConfig;\n      /**\n       * Catalog SPI for ECOM platform\n       * @internal\n       */\n      ecomCatalog?: CatalogSPIConfig;\n      /**\n       * Add a space to a Wix Dashboard page that can be extended with a widget or menu item.\n       * @internal\n       */\n      backOfficeExtensionContainer?: BackOfficeExtensionContainer;\n      /**\n       * Create a widget or menu item that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtension?: BackOfficeExtension;\n      /**\n       * WIP: automations trigger provider\n       * @internal\n       */\n      automationsTriggerProvider?: TriggerProviderSPIConfig;\n      /**\n       * WIP - SPI for execution before identity creation in the new IAM platform\n       * @internal\n       */\n      identityPreRegistration?: PreRegisterConfig;\n      /**\n       * Premium products upgrades/downgrades\n       * @internal\n       */\n      premiumProductsPaths?: ProductsPathsConfig;\n      /**\n       * ECOM custom scopes provider - define scopes of catalog items based custom attributes\n       * @internal\n       */\n      ecomCustomScope?: CustomScopeConfig;\n      /**\n       * Gift Card SPI for Ecom Platform\n       * @internal\n       */\n      giftCardsProvider?: GiftCardProviderConfig;\n      /**\n       * Dealer External Filter SPI\n       * @internal\n       */\n      dealerExternalFilterProvider?: ExternalFilterProviderConfig;\n      /**\n       * Recommendations provider SPI\n       * @internal\n       */\n      ecomRecommendationsProvider?: RecommendationsProviderConfig;\n      /**\n       * Dropshipping Provider SPI for Ecom Platform\n       * @internal\n       */\n      ecomDropshippingProvider?: DropshippingProviderSPIConfig;\n      /**\n       * Invoices SPI\n       * @internal\n       */\n      invoicesProvider?: InvoicesConfig;\n      /**\n       * Provide SEO keyword suggestions to site collaborators, report quota usage, and provide a page where users can upgrade their plan.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/marketing/seo-keywords-suggestions-v-1/introduction\n       */\n      seoKeywordsSuggestions?: SeoKeywordsSuggestionsSPIConfig;\n      /**\n       * Ecom custom discount trigger SPI provider - define custom triggers to apply discount rules\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/custom-discount-triggers-integration-spi/introduction\n       * @internal\n       */\n      ecomDiscountsTrigger?: CustomTriggerConfig;\n      /**\n       * Multilingual content provider for site translator to read and update translations\n       * @internal\n       */\n      multilingualContentProvider?: ContentProviderConfig;\n      /**\n       * Application Automation\n       * @internal\n       */\n      applicationAutomation?: ApplicationAutomationComponent;\n      /**\n       * Experimental-WIP: A back office page category\n       * @internal\n       */\n      backOfficeSidebarCategory?: BackOfficeSidebarCategory;\n      /**\n       * Configure a page for your app that will be embedded in the Wix Dashboard.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-dashboard-page-component\n       */\n      backOfficePage?: BackOfficePage;\n      /**\n       * Displays the fees from your Additional Fees SPI in a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/additional-fees-integration-spi/introduction\n       */\n      ecomAdditionalFees?: AdditionalFeesSPIConfig;\n      /**\n       * Send notifications to your app users\n       * @internal\n       */\n      pingUserNotification?: PingNotificationComponentData;\n      /**\n       * Bookings Pricing Provider SPI\n       * @internal\n       */\n      bookingsPricingProvider?: BookingsPricingProviderConfig;\n      /**\n       * Authenticator SPI\n       * @internal\n       */\n      identityAuthenticator?: AuthenticatorConfig;\n      /**\n       * WIP - SPI for authenticating via external IDP in the new IAM platform\n       * @internal\n       */\n      identityIdpConnector?: IDPConnectionConfig;\n      /**\n       * Items Selection\n       * @internal\n       */\n      itemsSelectionProvider?: ItemsSelectionProviderConfig;\n      /**\n       * Portfolio synced projects provider\n       * @internal\n       */\n      portfolioSyncedProjectsProvider?: SyncedProjectsProviderConfig;\n      /**\n       * Communication Channel\n       * @internal\n       */\n      communicationChannel?: CommunicationChannelConfiguration;\n      /**\n       * WIP - SPI to run after the login process\n       * @internal\n       */\n      identityPostLogin?: PostLoginConfig;\n      /**\n       * Create a component that can be easily placed in or opened from a Wix app page.\n       * @internal\n       */\n      backOfficeWidget?: BackOfficeWidget;\n      /**\n       * Social Marketing Design SPI\n       * @internal\n       */\n      socialMarketingDesign?: SocialMarketingDesignSPIConfig;\n      /**\n       * Forms Submissions SPI\n       * @internal\n       */\n      formsSubmissionsProvider?: FormSubmissionSpiConfig;\n      /**\n       * Wix Offering\n       * @internal\n       */\n      wixOffering?: WixOfferingComponentData;\n      /**\n       * Components translation test component\n       * @internal\n       */\n      devCenterTestingComponent?: DevCenterTestingComponentData;\n      /**\n       * Components Validator SPI\n       * @internal\n       */\n      componentsValidatorProvider?: ComponentsValidatorConfig;\n      /**\n       * Components Translations additional fields config\n       * @internal\n       */\n      componentsTranslationsAdditionalFieldsProvider?: ComponentTranslationAdditionalFieldsConfig;\n      /**\n       * Forms Schema SPI\n       * @internal\n       */\n      formsSchemaProvider?: FormSchemaSpiConfig;\n      /**\n       * Bookings External Calendar Provider\n       * @internal\n       */\n      bookingsExternalCalendarProvider?: ProviderConfig;\n      /**\n       * Default Tax Category Config\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/platform-tax\n       * @internal\n       */\n      ecomDefaultTaxationCategory?: DefaultTaxGroupProviderConfig;\n      /**\n       * Viewer Dynamic Site Structure Config\n       * @internal\n       */\n      viewerDynamicSiteStructureProvider?: DynamicSiteStructureProviderConfig;\n      /**\n       * Send notifications to your app users of users\n       * @internal\n       */\n      pingUouNotification?: PingNotificationComponentData;\n      /**\n       * Holds data for authenticating Headless Applications\n       * @internal\n       */\n      headlessOauth?: HeadlessOAuth;\n      /**\n       * Tax Calculator Structure Config\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/platform-tax\n       * @internal\n       */\n      ecomTaxCalculatorSpi?: TaxCalculatorSpiConfig;\n      /**\n       * Comments Moderation Provider Config\n       * @internal\n       */\n      commentsModerationProvider?: CommentModerationProviderConfig;\n      /**\n       * GridApp files transformer config\n       * @internal\n       */\n      gridAppFilesTransformer?: GridAppFilesTransformerConfig;\n      /**\n       * Holds benefit programs policy provider configuration\n       * @internal\n       */\n      benefitProgramsPolicyProvider?: PolicyConfig;\n      /**\n       * Premium Custom Charges Config\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/app-management/apps/custom-charges-spi/introduction\n       */\n      premiumCustomCharges?: CustomChargesConfig;\n      /**\n       * Performs Validations for a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/validations-integration-spi/introduction\n       */\n      ecomValidations?: ValidationsSPIConfig;\n      /**\n       * Component Reference Data SPI\n       * @internal\n       */\n      componentReferenceDataProvider?: ComponentReferenceDataConfig;\n      /**\n       * Wix Reviews SPI\n       * @internal\n       */\n      wixReviewsProductCatalog?: ReviewsProductCatalogProviderConfig;\n      /**\n       * Promote Social Marketing Designs Provider Configuration\n       * @internal\n       */\n      socialMarketingDesignsProvider?: SocialMarketingDesignsProviderConfig;\n      /**\n       * Promote Google Business Profile Provider Configuration\n       * @internal\n       */\n      googleBusinessProfileFeatureProvider?: GbpFeatureConfig;\n      /**\n       * Comments Filter Provider Config\n       * @internal\n       */\n      commentsFilterProvider?: CommentFilterProviderConfig;\n      /**\n       * Tax ID Validator SPI Config\n       * @internal\n       */\n      billingTaxIdValidator?: TaxIdValidatorConfig;\n      /**\n       * Ping Settings Group Data\n       * @internal\n       */\n      pingSettingsGroup?: PingSettingsGroupComponentData;\n      /**\n       * Forms Spam Submissions SPI\n       * @internal\n       */\n      formsSpamSubmissionsProvider?: FormSpamSubmissionSpiConfig;\n      /**\n       * Editor Addon component\n       * @internal\n       */\n      editorAddon?: EditorAddon;\n      /**\n       * External Database component\n       * @internal\n       */\n      externalDatabaseProvider?: ExternalDatabaseSpiConfig;\n      /**\n       * Ecom Payment Settings SPI Config\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/payment-settings-integration-spi/introduction\n       */\n      ecomPaymentSettings?: PaymentSettingsSPIConfig;\n      /**\n       * Group multiple notifications into one preference toggle.\n       * Learn More: https://dev.wix.com/docs/build-apps/build-your-app/user-notifications/add-notification-topics\n       * @internal\n       */\n      notificationTopic?: NotificationTopic;\n      /**\n       * Notification Preference SPI\n       * @internal\n       */\n      notificationPreferencesFilterProvider?: NotificationPreferencesFilterConfig;\n      /**\n       * Bookings Resource Types provider SPI config\n       * @internal\n       */\n      bookingsResourceTypesProvider?: BookingsResourceTypesProviderConfig;\n      /**\n       * Pricing Plans form configuration\n       * @internal\n       */\n      pricingPlansFormConfiguration?: PricingPlansFormConfiguration;\n      /**\n       * Create a notification to alert your app users about important updates and events.\n       * Learn More: https://dev.wix.com/docs/build-apps/build-your-app/user-notifications/app-notifications\n       * @internal\n       */\n      userNotification?: UserNotification;\n      /**\n       * Contact Notification\n       * @internal\n       */\n      contactNotification?: ContactNotification;\n      /**\n       * Add a site page that displays selected widgets.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/create-a-site-page\n       * @internal\n       */\n      unifiedPage?: UnifiedPage;\n      /**\n       * Availability Time Slots Configuration Provider SPI\n       * @internal\n       */\n      availabilityTimeSlotsConfigurationProvider?: AvailabilityTimeSlotsProviderConfig;\n      /**\n       * Proposal Editor Provider SPI config\n       * @internal\n       */\n      proposalEditorProvider?: ProposalEditorProviderConfig;\n      /**\n       * Custom Table Reservations Provider SPI config\n       * @internal\n       */\n      customTableReservationsProvider?: CustomReservationsApprovalConfig;\n      /**\n       * Comments Context provider\n       * @internal\n       */\n      commentsContextProvider?: CommentsContextProviderConfig;\n      /**\n       * Forms Spam Submission Reports SPI\n       * @internal\n       */\n      formsSpamSubmissionReportsProvider?: FormSpamSubmissionReportSpiConfig;\n      /**\n       * Automation Velo Action Spi Provider\n       * @internal\n       */\n      automationsVeloActionProvider?: VeloActionConfig;\n      /**\n       * Calendar Event Type Provider\n       * @internal\n       */\n      calendarEventTypeProvider?: EventTypeProviderConfig;\n      /**\n       * Reserved - previously was `service_availability_policy_provider`\n       * @internal\n       */\n      reserved?: ServiceAvailabilityPolicyProviderConfig;\n      /**\n       * Create an SMS message for a pre-installed automation, in order to translate it.\n       * @internal\n       */\n      smsActionMessage?: SmsActionMessage;\n      /**\n       * Booking Policy Provider SPI\n       * @internal\n       */\n      bookingPolicyProvider?: BookingPolicyProviderConfig;\n      /**\n       * Multi Service Booking Policy Provider SPI\n       * @internal\n       */\n      multiServiceBookingPolicyProvider?: MultiServiceBookingPolicyProviderConfig;\n      /**\n       * Forms Submissions Extension SPI\n       * @internal\n       */\n      formsSubmissionsExtensionProvider?: FormSubmissionSpiExtensionConfig;\n      /**\n       * AI Assistant SPI\n       * @internal\n       */\n      aiAssistant?: AssistantSpiConfig;\n      /**\n       * Multilingual translation schema\n       * @internal\n       */\n      multilingualTranslationSchema?: MultilingualTranslationSchema;\n      /**\n       * Tax Groups Provider SPI\n       * @internal\n       */\n      taxGroupsProvider?: TaxGroupsProviderConfig;\n      /**\n       * Tax Calculation Provider SPI\n       * @internal\n       */\n      taxCalculationProvider?: TaxCalculationConfig;\n      /** Create a reusable modal that can be utilized across multiple pages within your app and in other applications. */\n      backOfficeModal?: BackOfficeModal;\n      /**\n       * Deployment Pipeline Provider SPI\n       * @internal\n       */\n      deploymentPipelineProvider?: DeploymentPipelineProviderConfig;\n      /**\n       * Display a draggable widget on a site using a self-hosted custom element.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/build-a-site-widget-using-a-self-hosted-custom-element\n       * @internal\n       */\n      customElementWidget?: CustomElementWidget;\n      /**\n       * Create a widget that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtensionWidget?: BackOfficeExtensionWidget;\n      /**\n       * Create a menu item that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtensionMenuItem?: BackOfficeExtensionMenuItem;\n      /**\n       * Form Template\n       * @internal\n       */\n      formTemplate?: FormTemplate;\n      /**\n       * Notification Content\n       * @internal\n       */\n      notificationContent?: NotificationContent;\n      /**\n       * Broadcast List\n       * @internal\n       */\n      broadcastList?: BroadcastList;\n      /**\n       * Partners Payouts\n       * @internal\n       */\n      partnersPayouts?: PayoutsProviderConfig;\n      /**\n       * Wix Reviews Entity Catalog Provider SPI\n       * @internal\n       */\n      wixReviewsEntityCatalog?: ReviewsEntityCatalogProviderConfig;\n      /**\n       * Velo Publish Pipeline Task Provider SPI\n       * @internal\n       */\n      veloPublishPipelineTaskProvider?: VeloPublishPipelineTaskProviderConfig;\n      /**\n       * Function shop POC SPI\n       * @internal\n       */\n      functionsShopPriceProvider?: FunctionsShopPriceSpiConfig;\n      /**\n       * Function\n       * @internal\n       */\n      function?: Function;\n  }\n  /** @oneof */\n  interface ComponentDataDataOneOf {\n      /**\n       * Create a widget iframe that users can display on their site. We recommend submitting a proposal before using iframes in your app.\n       * Learn More: https://devforum.wix.com/en/article/widget-components\n       */\n      widgetComponentData?: WidgetComponentData;\n      /**\n       * Display an iframe as a page on a user's site.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/iframes/guide-to-page-extensions\n       */\n      pageComponentData?: PageComponentData;\n      /**\n       * Load a WOOI directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/editor-widget-out-of-iframe/widget-out-of-iframe-component-data-object\n       * @internal\n       */\n      widgetOutOfIframeData?: WidgetOutOfIframeComponentData;\n      /**\n       * Load a POOI directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/editor-page-out-of-iframe/page-out-of-iframe-component-data-object\n       * @internal\n       */\n      pageOutOfIframeData?: PageOutOfIframeComponentData;\n      /**\n       * Load a collection of native Editor components directly in the Editor DOM.\n       * Learn More: https://bo.wix.com/wix-docs/fe-guild/editor-platform\n       * @internal\n       */\n      platformComponentData?: PlatfromComponentData;\n      /**\n       * Open an iframe in the Dashboard, or add a link to a page on your platform.\n       * Learn More: https://devforum.wix.com/en/article/create-a-dashboard-page-component\n       */\n      dashboardComponentData?: DashboardComponentData;\n      /**\n       * Use an invisible iframe to track activity. It’s added to every page on the site (max. 1).\n       * Learn More: https://devforum.wix.com/en/article/worker-components\n       */\n      workerComponentData?: WorkerComponentData;\n      /**\n       * Use Wix Blocks to create a widget component. Wix Blocks will open in a new tab.\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/wix-blocks-server---app-builder\n       * @internal\n       */\n      studioComponentData?: StudioComponentData;\n      /**\n       * A widget component in the Wix Blocks.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/wix-blocks\n       * @internal\n       */\n      studioWidgetComponentData?: StudioWidgetComponentData;\n      /**\n       * A component that indicates the existence of an importable code package in a Wix Blocks application.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/wix-blocks-code-package\n       * @internal\n       */\n      codePackageComponentData?: CodePackageComponentData;\n      /**\n       * Load a collection of native components directly in the Business Manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/dashboard-platfrom/dashboard-platfrom-component-data-object\n       * @internal\n       */\n      dashboardPlatformComponentData?: DashboardPlatfromComponentData;\n      /**\n       * Inject a script into a site’s HTML code.\n       * Learn More: https://devforum.wix.com/en/article/about-embedded-script-components\n       */\n      embeddedScriptComponentData?: EmbeddedScriptComponentData;\n      /**\n       * Display a draggable component in the Editor using an HTML custom element.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-custom-element\n       */\n      webComponentData?: WebComponentData;\n      /**\n       * Extend app with internal Wix extension.\n       * @internal\n       */\n      extensionData?: ExtensionData;\n      /** @internal */\n      snippetSolutionsData?: SnippetSolutionData;\n      /** @internal */\n      dataComponent?: DataComponent;\n      /** @internal */\n      dcConfigData?: DCConfigData;\n      /**\n       * Serve a file from the user’s site domain.\n       * Learn More: https://devforum.wix.com/en/article/serving-staic-files-from-the-installed-sites-domain\n       * @internal\n       */\n      staticFileComponentData?: StaticFileComponentData;\n      /** @internal */\n      appConfig?: AppConfig;\n      /**\n       * Create a multi-page dashboard in the Business Manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/multiple-dashboards\n       * @internal\n       */\n      multipleDashboardsComponentData?: MultipleDashboardsComponentData;\n      /**\n       * Payments gateway extension description\n       * @internal\n       */\n      paymentsGateway?: PaymentsGatewayComponentData;\n      /**\n       * Extend an app with automation capabilities using CRM Automations\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/automation-trigger\n       * @internal\n       */\n      automationTrigger?: AutomationTrigger;\n      /**\n       * Any restrictions on invoices actions\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/invoices-actions\n       * @internal\n       */\n      invoicesActionsComponentData?: InvoicesActionsComponentData;\n      /**\n       * Experimental-WIP: Business manager app_config, configures a module and its page components in business manager.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/dashboard-application\n       * @internal\n       */\n      dashboardApplicationData?: DashboardApplicationData;\n      /**\n       * Contact Labels Components\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/contact-labels\n       * @internal\n       */\n      contactLabels?: ContactLabelsComponentData;\n      /**\n       * Display a widget that fits into a predefined slot in a Wix app.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/plugins/about-plugins\n       */\n      widgetPlugin?: WidgetPluginComponentData;\n      /**\n       * Cross Sell Integration\n       * @internal\n       */\n      crossSell?: CrossSellConfig;\n      /**\n       * Experimental-WIP: Local Delivery extension description.\n       * Learn More: https://bo.wix.com/wix-docs/rnd/dev-center/components-catalog/local-delivery\n       * @internal\n       */\n      localDelivery?: LocalDeliveryComponentData;\n      /**\n       * WIP: Velo payment provider SPI\n       * @internal\n       */\n      paymentProvider?: PaymentServiceProviderConfig;\n      /**\n       * Memberships SPI for ECOM platform\n       * @internal\n       */\n      ecomMemberships?: MembershipsSPIConfig;\n      /**\n       * Line Items Enricher SPI for ECOM platform\n       * @internal\n       */\n      ecomLineItemsEnricher?: LineItemsEnricherConfig;\n      /**\n       * Displays the options from your Shipping Rates SPI in a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/shipping-rates-integration-spi/introduction\n       */\n      ecomShippingRates?: ShippingRatesConfig;\n      /**\n       * Shipping Label Carrier SPI\n       * @internal\n       */\n      shippingLabelCarrier?: ShippingLabelCarrierSpiConfig;\n      /**\n       * Restaurants POS SPI\n       * @internal\n       */\n      restaurantsPos?: RestaurantsPOSComponentData;\n      /**\n       * A fictional Shipping SPI that is used by developers to complete SPI training\n       * https://github.com/wix-academy/spi-in-scala-path\n       * @internal\n       */\n      fictionalShippingProvider?: ShippingProviderConfig;\n      /**\n       * Alert Enricher Integration\n       * @internal\n       */\n      alertEnricher?: AlertEnricherSpiConfiguration;\n      /** Extend a Wix entity with custom fields for your app */\n      dataExtensions?: DataExtensionsComponentData;\n      /**\n       * A common component type for all Generic Hooks\n       * @internal\n       */\n      genericHooks?: GenericHooksConfig;\n      /**\n       * WIP: automations action provider\n       * @internal\n       */\n      automationsActionProvider?: ActionProviderSPIConfig;\n      /**\n       * Catalog SPI for ECOM platform\n       * @internal\n       */\n      ecomCatalog?: CatalogSPIConfig;\n      /**\n       * Add a space to a Wix Dashboard page that can be extended with a widget or menu item.\n       * @internal\n       */\n      backOfficeExtensionContainer?: BackOfficeExtensionContainer;\n      /**\n       * Create a widget or menu item that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtension?: BackOfficeExtension;\n      /**\n       * WIP: automations trigger provider\n       * @internal\n       */\n      automationsTriggerProvider?: TriggerProviderSPIConfig;\n      /**\n       * WIP - SPI for execution before identity creation in the new IAM platform\n       * @internal\n       */\n      identityPreRegistration?: PreRegisterConfig;\n      /**\n       * Premium products upgrades/downgrades\n       * @internal\n       */\n      premiumProductsPaths?: ProductsPathsConfig;\n      /**\n       * ECOM custom scopes provider - define scopes of catalog items based custom attributes\n       * @internal\n       */\n      ecomCustomScope?: CustomScopeConfig;\n      /**\n       * Gift Card SPI for Ecom Platform\n       * @internal\n       */\n      giftCardsProvider?: GiftCardProviderConfig;\n      /**\n       * Dealer External Filter SPI\n       * @internal\n       */\n      dealerExternalFilterProvider?: ExternalFilterProviderConfig;\n      /**\n       * Recommendations provider SPI\n       * @internal\n       */\n      ecomRecommendationsProvider?: RecommendationsProviderConfig;\n      /**\n       * Dropshipping Provider SPI for Ecom Platform\n       * @internal\n       */\n      ecomDropshippingProvider?: DropshippingProviderSPIConfig;\n      /**\n       * Invoices SPI\n       * @internal\n       */\n      invoicesProvider?: InvoicesConfig;\n      /**\n       * Provide SEO keyword suggestions to site collaborators, report quota usage, and provide a page where users can upgrade their plan.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/marketing/seo-keywords-suggestions-v-1/introduction\n       */\n      seoKeywordsSuggestions?: SeoKeywordsSuggestionsSPIConfig;\n      /**\n       * Ecom custom discount trigger SPI provider - define custom triggers to apply discount rules\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/custom-discount-triggers-integration-spi/introduction\n       * @internal\n       */\n      ecomDiscountsTrigger?: CustomTriggerConfig;\n      /**\n       * Multilingual content provider for site translator to read and update translations\n       * @internal\n       */\n      multilingualContentProvider?: ContentProviderConfig;\n      /**\n       * Application Automation\n       * @internal\n       */\n      applicationAutomation?: ApplicationAutomationComponent;\n      /**\n       * Experimental-WIP: A back office page category\n       * @internal\n       */\n      backOfficeSidebarCategory?: BackOfficeSidebarCategory;\n      /**\n       * Configure a page for your app that will be embedded in the Wix Dashboard.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-dashboard-page-component\n       */\n      backOfficePage?: BackOfficePage;\n      /**\n       * Displays the fees from your Additional Fees SPI in a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/additional-fees-integration-spi/introduction\n       */\n      ecomAdditionalFees?: AdditionalFeesSPIConfig;\n      /**\n       * Send notifications to your app users\n       * @internal\n       */\n      pingUserNotification?: PingNotificationComponentData;\n      /**\n       * Bookings Pricing Provider SPI\n       * @internal\n       */\n      bookingsPricingProvider?: BookingsPricingProviderConfig;\n      /**\n       * Authenticator SPI\n       * @internal\n       */\n      identityAuthenticator?: AuthenticatorConfig;\n      /**\n       * WIP - SPI for authenticating via external IDP in the new IAM platform\n       * @internal\n       */\n      identityIdpConnector?: IDPConnectionConfig;\n      /**\n       * Items Selection\n       * @internal\n       */\n      itemsSelectionProvider?: ItemsSelectionProviderConfig;\n      /**\n       * Portfolio synced projects provider\n       * @internal\n       */\n      portfolioSyncedProjectsProvider?: SyncedProjectsProviderConfig;\n      /**\n       * Communication Channel\n       * @internal\n       */\n      communicationChannel?: CommunicationChannelConfiguration;\n      /**\n       * WIP - SPI to run after the login process\n       * @internal\n       */\n      identityPostLogin?: PostLoginConfig;\n      /**\n       * Create a component that can be easily placed in or opened from a Wix app page.\n       * @internal\n       */\n      backOfficeWidget?: BackOfficeWidget;\n      /**\n       * Social Marketing Design SPI\n       * @internal\n       */\n      socialMarketingDesign?: SocialMarketingDesignSPIConfig;\n      /**\n       * Forms Submissions SPI\n       * @internal\n       */\n      formsSubmissionsProvider?: FormSubmissionSpiConfig;\n      /**\n       * Wix Offering\n       * @internal\n       */\n      wixOffering?: WixOfferingComponentData;\n      /**\n       * Components translation test component\n       * @internal\n       */\n      devCenterTestingComponent?: DevCenterTestingComponentData;\n      /**\n       * Components Validator SPI\n       * @internal\n       */\n      componentsValidatorProvider?: ComponentsValidatorConfig;\n      /**\n       * Components Translations additional fields config\n       * @internal\n       */\n      componentsTranslationsAdditionalFieldsProvider?: ComponentTranslationAdditionalFieldsConfig;\n      /**\n       * Forms Schema SPI\n       * @internal\n       */\n      formsSchemaProvider?: FormSchemaSpiConfig;\n      /**\n       * Bookings External Calendar Provider\n       * @internal\n       */\n      bookingsExternalCalendarProvider?: ProviderConfig;\n      /**\n       * Default Tax Category Config\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/platform-tax\n       * @internal\n       */\n      ecomDefaultTaxationCategory?: DefaultTaxGroupProviderConfig;\n      /**\n       * Viewer Dynamic Site Structure Config\n       * @internal\n       */\n      viewerDynamicSiteStructureProvider?: DynamicSiteStructureProviderConfig;\n      /**\n       * Send notifications to your app users of users\n       * @internal\n       */\n      pingUouNotification?: PingNotificationComponentData;\n      /**\n       * Holds data for authenticating Headless Applications\n       * @internal\n       */\n      headlessOauth?: HeadlessOAuth;\n      /**\n       * Tax Calculator Structure Config\n       * Learn More: https://bo.wix.com/wix-docs/rest/drafts/platform-tax\n       * @internal\n       */\n      ecomTaxCalculatorSpi?: TaxCalculatorSpiConfig;\n      /**\n       * Comments Moderation Provider Config\n       * @internal\n       */\n      commentsModerationProvider?: CommentModerationProviderConfig;\n      /**\n       * GridApp files transformer config\n       * @internal\n       */\n      gridAppFilesTransformer?: GridAppFilesTransformerConfig;\n      /**\n       * Holds benefit programs policy provider configuration\n       * @internal\n       */\n      benefitProgramsPolicyProvider?: PolicyConfig;\n      /**\n       * Premium Custom Charges Config\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/app-management/apps/custom-charges-spi/introduction\n       */\n      premiumCustomCharges?: CustomChargesConfig;\n      /**\n       * Performs Validations for a site's cart and checkout.\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/validations-integration-spi/introduction\n       */\n      ecomValidations?: ValidationsSPIConfig;\n      /**\n       * Component Reference Data SPI\n       * @internal\n       */\n      componentReferenceDataProvider?: ComponentReferenceDataConfig;\n      /**\n       * Wix Reviews SPI\n       * @internal\n       */\n      wixReviewsProductCatalog?: ReviewsProductCatalogProviderConfig;\n      /**\n       * Promote Social Marketing Designs Provider Configuration\n       * @internal\n       */\n      socialMarketingDesignsProvider?: SocialMarketingDesignsProviderConfig;\n      /**\n       * Promote Google Business Profile Provider Configuration\n       * @internal\n       */\n      googleBusinessProfileFeatureProvider?: GbpFeatureConfig;\n      /**\n       * Comments Filter Provider Config\n       * @internal\n       */\n      commentsFilterProvider?: CommentFilterProviderConfig;\n      /**\n       * Tax ID Validator SPI Config\n       * @internal\n       */\n      billingTaxIdValidator?: TaxIdValidatorConfig;\n      /**\n       * Ping Settings Group Data\n       * @internal\n       */\n      pingSettingsGroup?: PingSettingsGroupComponentData;\n      /**\n       * Forms Spam Submissions SPI\n       * @internal\n       */\n      formsSpamSubmissionsProvider?: FormSpamSubmissionSpiConfig;\n      /**\n       * Editor Addon component\n       * @internal\n       */\n      editorAddon?: EditorAddon;\n      /**\n       * External Database component\n       * @internal\n       */\n      externalDatabaseProvider?: ExternalDatabaseSpiConfig;\n      /**\n       * Ecom Payment Settings SPI Config\n       * Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/payment-settings-integration-spi/introduction\n       */\n      ecomPaymentSettings?: PaymentSettingsSPIConfig;\n      /**\n       * Group multiple notifications into one preference toggle.\n       * Learn More: https://dev.wix.com/docs/build-apps/build-your-app/user-notifications/add-notification-topics\n       * @internal\n       */\n      notificationTopic?: NotificationTopic;\n      /**\n       * Notification Preference SPI\n       * @internal\n       */\n      notificationPreferencesFilterProvider?: NotificationPreferencesFilterConfig;\n      /**\n       * Bookings Resource Types provider SPI config\n       * @internal\n       */\n      bookingsResourceTypesProvider?: BookingsResourceTypesProviderConfig;\n      /**\n       * Pricing Plans form configuration\n       * @internal\n       */\n      pricingPlansFormConfiguration?: PricingPlansFormConfiguration;\n      /**\n       * Create a notification to alert your app users about important updates and events.\n       * Learn More: https://dev.wix.com/docs/build-apps/build-your-app/user-notifications/app-notifications\n       * @internal\n       */\n      userNotification?: UserNotification;\n      /**\n       * Contact Notification\n       * @internal\n       */\n      contactNotification?: ContactNotification;\n      /**\n       * Add a site page that displays selected widgets.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/create-a-site-page\n       * @internal\n       */\n      unifiedPage?: UnifiedPage;\n      /**\n       * Availability Time Slots Configuration Provider SPI\n       * @internal\n       */\n      availabilityTimeSlotsConfigurationProvider?: AvailabilityTimeSlotsProviderConfig;\n      /**\n       * Proposal Editor Provider SPI config\n       * @internal\n       */\n      proposalEditorProvider?: ProposalEditorProviderConfig;\n      /**\n       * Custom Table Reservations Provider SPI config\n       * @internal\n       */\n      customTableReservationsProvider?: CustomReservationsApprovalConfig;\n      /**\n       * Comments Context provider\n       * @internal\n       */\n      commentsContextProvider?: CommentsContextProviderConfig;\n      /**\n       * Forms Spam Submission Reports SPI\n       * @internal\n       */\n      formsSpamSubmissionReportsProvider?: FormSpamSubmissionReportSpiConfig;\n      /**\n       * Automation Velo Action Spi Provider\n       * @internal\n       */\n      automationsVeloActionProvider?: VeloActionConfig;\n      /**\n       * Calendar Event Type Provider\n       * @internal\n       */\n      calendarEventTypeProvider?: EventTypeProviderConfig;\n      /**\n       * Reserved - previously was `service_availability_policy_provider`\n       * @internal\n       */\n      reserved?: ServiceAvailabilityPolicyProviderConfig;\n      /**\n       * Create an SMS message for a pre-installed automation, in order to translate it.\n       * @internal\n       */\n      smsActionMessage?: SmsActionMessage;\n      /**\n       * Booking Policy Provider SPI\n       * @internal\n       */\n      bookingPolicyProvider?: BookingPolicyProviderConfig;\n      /**\n       * Multi Service Booking Policy Provider SPI\n       * @internal\n       */\n      multiServiceBookingPolicyProvider?: MultiServiceBookingPolicyProviderConfig;\n      /**\n       * Forms Submissions Extension SPI\n       * @internal\n       */\n      formsSubmissionsExtensionProvider?: FormSubmissionSpiExtensionConfig;\n      /**\n       * AI Assistant SPI\n       * @internal\n       */\n      aiAssistant?: AssistantSpiConfig;\n      /**\n       * Multilingual translation schema\n       * @internal\n       */\n      multilingualTranslationSchema?: MultilingualTranslationSchema;\n      /**\n       * Tax Groups Provider SPI\n       * @internal\n       */\n      taxGroupsProvider?: TaxGroupsProviderConfig;\n      /**\n       * Tax Calculation Provider SPI\n       * @internal\n       */\n      taxCalculationProvider?: TaxCalculationConfig;\n      /** Create a reusable modal that can be utilized across multiple pages within your app and in other applications. */\n      backOfficeModal?: BackOfficeModal;\n      /**\n       * Deployment Pipeline Provider SPI\n       * @internal\n       */\n      deploymentPipelineProvider?: DeploymentPipelineProviderConfig;\n      /**\n       * Display a draggable widget on a site using a self-hosted custom element.\n       * Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/build-a-site-widget-using-a-self-hosted-custom-element\n       * @internal\n       */\n      customElementWidget?: CustomElementWidget;\n      /**\n       * Create a widget that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtensionWidget?: BackOfficeExtensionWidget;\n      /**\n       * Create a menu item that will be rendered within a Wix Dashboard page.\n       * Learn More: https://devforum.wix.com/kb/en/article/create-a-wix-dashboard-extension\n       * @internal\n       */\n      backOfficeExtensionMenuItem?: BackOfficeExtensionMenuItem;\n      /**\n       * Form Template\n       * @internal\n       */\n      formTemplate?: FormTemplate;\n      /**\n       * Notification Content\n       * @internal\n       */\n      notificationContent?: NotificationContent;\n      /**\n       * Broadcast List\n       * @internal\n       */\n      broadcastList?: BroadcastList;\n      /**\n       * Partners Payouts\n       * @internal\n       */\n      partnersPayouts?: PayoutsProviderConfig;\n      /**\n       * Wix Reviews Entity Catalog Provider SPI\n       * @internal\n       */\n      wixReviewsEntityCatalog?: ReviewsEntityCatalogProviderConfig;\n      /**\n       * Velo Publish Pipeline Task Provider SPI\n       * @internal\n       */\n      veloPublishPipelineTaskProvider?: VeloPublishPipelineTaskProviderConfig;\n      /**\n       * Function shop POC SPI\n       * @internal\n       */\n      functionsShopPriceProvider?: FunctionsShopPriceSpiConfig;\n      /**\n       * Function\n       * @internal\n       */\n      function?: Function;\n  }\n  /** An iframe to be displayed on the user’s site */\n  interface WidgetComponentData {\n      /** Allow users to resize and move the widget, or pin it to a specific position on all pages of the site. */\n      fixedPositionOption?: FixedPositionOptions;\n      /** Widget will automatically be stretched to this width after installing it */\n      widgetWidthType?: WidgetWidthType;\n      /** Widget width size */\n      width?: number | null;\n      /** Widget width height */\n      height?: number | null;\n      /** A public link to the widget endpoint */\n      widgetEndpointUrl?: string | null;\n      /** A public link to the mobile endpoint */\n      widgetMobileEndpointUrl?: string | null;\n      /** A public link to the settings endpoint */\n      settingsEndpointUrl?: string | null;\n      /** A public link to the SEO endpoint */\n      seoEndpointUrl?: string | null;\n      /** Product display data for this component */\n      widgetDisplay?: WidgetDisplay;\n      /** When true, this is the default component */\n      default?: boolean;\n      /** When this is turned on, this page will be added to the site when installing the app, regardless of whether it's the default component or not */\n      essential?: boolean;\n      /** Published state for this widget */\n      published?: boolean;\n      /** When true, allow this widget to be added only once */\n      addOnlyOnce?: boolean;\n      /**\n       * This ID is used to identify your widget endpoint in a Wix site. You can use this ID when using methods of the Wix SDK\n       * @readonly\n       */\n      tpaWidgetId?: string;\n      /** Where this should be rendered */\n      position?: Position;\n      /** Article id in settings panel */\n      helpId?: string | null;\n      /** Default Mobile Height */\n      defaultMobileHeight?: number | null;\n      /** Min Mobile Height */\n      minMobileHeight?: number | null;\n      /** Mobile Settings Enabled */\n      mobileSettingsEnabled?: boolean;\n      /** Mobile article id in settings panel */\n      mobileHelpId?: string | null;\n      /** Editor setting version. optional values: 1 (old - deprecated) or 2 (new). default value is 2 */\n      settingsVersion?: number | null;\n      /** If setting version is 1, this will be the public link to the settings endpoint */\n      settingsEndpointUrlV1?: string | null;\n      /** A public link to the settings endpoint on ADI editor */\n      onBoardingSettingsEndpointUrl?: string | null;\n      /** The sub pages list for this component to be rendered in */\n      subPages?: SubPage[];\n      /** If this component should be stretched in relation to a form factor (desktop, tablet, mobile) */\n      isStretched?: IsStretched;\n      /** Any margins this page should have in relation to a form factor (desktop, tablet, mobile) */\n      margins?: Margins;\n      /** Any docking this page (horizontal / vertical) should have in relation to a form factor (desktop, tablet, mobile) */\n      docking?: Docking;\n      /** The height of this page in relation to a form factor (desktop, tablet, mobile) */\n      heightBreakPoints?: Height;\n      /** The width of this page in relation to a form factor (desktop, tablet, mobile) */\n      widthBreakPoints?: ApiWidth;\n      /** Keep default and let users stretch widget to full width (GFPP) */\n      addStretchButton?: boolean;\n      /** toggle to mark whether the editor should revoke an app that contains this component. */\n      excludeFromAutoRevoke?: boolean;\n      /** should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget** */\n      settingsEndpointUrlTemplate?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget** */\n      settingsEndpointUrlV1Template?: string | null;\n  }\n  /** Allow users to resize and move the widget, or pin it to a specific position on all pages of the site. */\n  interface FixedPositionOptions {\n      /** Vertical widget position in the browser window */\n      widgetVertical?: WidgetVertical;\n      /** Horizontal widget position in the browser window */\n      widgetHorizontal?: WidgetHorizontal;\n  }\n  /** Vertical widget position in the browser window */\n  enum WidgetVertical {\n      NONE_VERTICAL = \"NONE_VERTICAL\",\n      TOP = \"TOP\",\n      CENTER_VERTICAL = \"CENTER_VERTICAL\",\n      BOTTOM = \"BOTTOM\"\n  }\n  /** Horizontal widget position in the browser window */\n  enum WidgetHorizontal {\n      NONE_HORIZONTAL = \"NONE_HORIZONTAL\",\n      LEFT = \"LEFT\",\n      CENTER_HORIZONTAL = \"CENTER_HORIZONTAL\",\n      RIGHT = \"RIGHT\"\n  }\n  /** Widget will automatically be stretched to this width after installing it */\n  enum WidgetWidthType {\n      NONE_TYPE = \"NONE_TYPE\",\n      /** A custom width for the widget */\n      CUSTOM = \"CUSTOM\",\n      /** Full width of the browser window */\n      FULL = \"FULL\"\n  }\n  interface WidgetDisplay {\n      name?: string;\n      /** short description about the widget */\n      shortDescription?: string | null;\n      /** images showing off how the widget looks */\n      images?: string[];\n      /** optional, if no order exist for all components, will be decided by order in array (non-deterministic) */\n      order?: number | null;\n      price?: number | null;\n      variationId?: string | null;\n  }\n  interface Position {\n      region?: Region;\n  }\n  enum Region {\n      no_region = \"no_region\",\n      header = \"header\",\n      pageContainer = \"pageContainer\",\n      footer = \"footer\"\n  }\n  interface SubPage {\n      /** The path of the subpage */\n      key?: string;\n      /** If it's sub entities are enumerable for querying (for example, a search endpoint is not enumerable) */\n      enumerable?: boolean;\n      /** Should hide inner routes of this sub page from floating dynamic pages navigation bar */\n      hideFromFloatingNavBar?: boolean;\n      /** Should hide this sub page from selections in link panel */\n      hideFromLinkPanel?: boolean;\n  }\n  interface IsStretched {\n      desktop?: boolean | null;\n      tablet?: boolean | null;\n      mobile?: boolean | null;\n  }\n  interface Margins {\n      desktop?: DisplayProperties;\n      tablet?: DisplayProperties;\n      mobile?: DisplayProperties;\n  }\n  interface DisplayProperties {\n      top?: DisplayValue;\n      right?: DisplayValue;\n      bottom?: DisplayValue;\n      left?: DisplayValue;\n  }\n  interface DisplayValue {\n      type?: UnitType;\n      value?: number | null;\n  }\n  enum UnitType {\n      NO_UNIT = \"NO_UNIT\",\n      AUTO = \"AUTO\",\n      PX = \"PX\",\n      VH = \"VH\",\n      VW = \"VW\",\n      PERCENTAGE = \"PERCENTAGE\"\n  }\n  interface Docking {\n      desktop?: DockingProperties;\n      tablet?: DockingProperties;\n      mobile?: DockingProperties;\n  }\n  interface DockingProperties {\n      horizontal?: HorizontalDocking;\n      vertical?: VerticalDocking;\n  }\n  enum HorizontalDocking {\n      NO_HDOCKING = \"NO_HDOCKING\",\n      LEFT_DOCKING = \"LEFT_DOCKING\",\n      HCENTER = \"HCENTER\",\n      RIGHT_DOCKING = \"RIGHT_DOCKING\"\n  }\n  enum VerticalDocking {\n      NO_VDOCKING = \"NO_VDOCKING\",\n      TOP_DOCKING = \"TOP_DOCKING\",\n      VCENTER = \"VCENTER\",\n      BOTTOM_DOCKING = \"BOTTOM_DOCKING\"\n  }\n  interface Height {\n      desktop?: DisplayValue;\n      tablet?: DisplayValue;\n      mobile?: DisplayValue;\n  }\n  interface ApiWidth {\n      desktop?: DisplayValue;\n      tablet?: DisplayValue;\n      mobile?: DisplayValue;\n  }\n  /** An iframe to be displayed as a full page on the user’s site */\n  interface PageComponentData {\n      /** Hide this page from the user’s site menu */\n      isHidden?: boolean;\n      /** Show in pages menu */\n      showInPanel?: boolean | null;\n      /** Set page to full width */\n      isFullWidth?: boolean;\n      /** Keep default and let users stretch page to full width (GFPP) */\n      addStrechButton?: boolean;\n      /** A public link to the page endpoint */\n      pageEndpointUrl?: string | null;\n      /** A public link to the mobile endpoint */\n      pageMobileEndpointUrl?: string | null;\n      /** A public link to the settings endpoint */\n      settingsEndpointUrl?: string | null;\n      /** A public link to the SEO endpoint */\n      seoEndpointUrl?: string | null;\n      /**\n       * When true, this is the default component\n       * Main visual component. One components must be default (no more than 1 component)\n       */\n      default?: boolean;\n      /**\n       * Second visual component\n       * When this is turned on, this page will be added to the site when installing the app, regardless of whether it's the default component or not\n       */\n      essential?: boolean;\n      /** Published state for this page */\n      published?: boolean;\n      /**\n       * This ID is used to identify your page endpoint in a Wix site. You can use this ID when using methods of the Wix SDK\n       * @readonly\n       */\n      tpaWidgetId?: string;\n      /** Article id in settings panel */\n      helpId?: string | null;\n      /** Default Mobile Height */\n      defaultMobileHeight?: number | null;\n      /** Min Mobile Height */\n      minMobileHeight?: number | null;\n      /** Mobile Settings Enabled */\n      mobileSettingsEnabled?: boolean;\n      /** Mobile article id in settings panel */\n      mobileHelpId?: string | null;\n      /** Editor setting version. optional values: 1 (old - deprecated) or 2 (new). default value is 2 */\n      settingsVersion?: number | null;\n      /** If setting version is 1, this will be the public link to the settings endpoint */\n      settingsEndpointUrlV1?: string | null;\n      /** A public link to the settings endpoint on ADI editor */\n      onBoardingSettingsEndpointUrl?: string | null;\n      /** The padding to use in different views */\n      padding?: Padding;\n      /** The sub pages list for this component to be rendered in */\n      subPages?: SubPage[];\n      /** toggle to mark whether the editor should revoke an app that contains this component. */\n      excludeFromAutoRevoke?: boolean;\n      /** Options to mark whether this page is replacing other page or is replaced by other page. */\n      pageReplaceOptions?: PageReplaceOptions;\n      /** Elements in the editor can be linked to this page (a button for example) */\n      linkable?: boolean | null;\n      /** Should add the page to site menu. defaults to true (will add the page to site menu) */\n      addToSiteMenu?: boolean | null;\n  }\n  interface Padding {\n      desktop?: DisplayProperties;\n      tablet?: DisplayProperties;\n      mobile?: DisplayProperties;\n  }\n  interface PageReplaceOptions extends PageReplaceOptionsOptionsOneOf {\n      replacingOptions?: ReplacingOptions;\n      replaceableOptions?: ReplaceableOptions;\n      type?: ReplacementType;\n  }\n  /** @oneof */\n  interface PageReplaceOptionsOptionsOneOf {\n      replacingOptions?: ReplacingOptions;\n      replaceableOptions?: ReplaceableOptions;\n  }\n  interface PageReplace {\n      /** The app id of the page the app can replace */\n      appId?: string;\n      /** The page id the app can replace */\n      pageId?: string;\n  }\n  enum ReplacementType {\n      UNKNOWN_REPLACEMENT = \"UNKNOWN_REPLACEMENT\",\n      REPLACING = \"REPLACING\",\n      REPLACEABLE = \"REPLACEABLE\"\n  }\n  interface ReplacingOptions {\n      /** describe the page and application id that this page will replace. */\n      pageReplace?: PageReplace;\n  }\n  interface ReplaceableOptions {\n      /** toggle to mark whether this page can be replaced by other page or app. */\n      isReplaceable?: boolean;\n  }\n  /** A widget out of iframe component that loads directly in the Editor DOM */\n  interface WidgetOutOfIframeComponentData {\n      /** A link to the out of iframe component */\n      componentUrl?: string;\n      /** A link to the out of iframe controller */\n      controllerUrl?: string | null;\n      /** This is that widget's data. */\n      widgetData?: WidgetComponentData;\n      /** A link to the out of iframe SSR */\n      ssrComponentUrl?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', 'component_url_bundle_file')%> */\n      componentUrlTemplate?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', 'controller_url_bundle_file')%> */\n      controllerUrlTemplate?: string | null;\n      /** Additional info on this OOI widget */\n      outOfIframeData?: OutOfIframeData;\n      /** should be <%=serviceUrl('your_artifact_id', 'no_css_component_url_bundle_file')%> */\n      noCssComponentUrlTemplate?: string | null;\n      /** A link to the out of iframe no css component url */\n      noCssComponentUrl?: string | null;\n      /** Enable support for different style param values for different breakpoint (Css Per Breakpoint) */\n      cssPerBreakpoint?: boolean | null;\n  }\n  /** Out Of Iframes additional info */\n  interface OutOfIframeData {\n      /** The setting URLs for the app */\n      settingsUrls?: SettingsUrl[];\n      /** Automatically installed on app installation */\n      autoInstall?: boolean;\n      /** The info about how to report errors for the App */\n      errorReporting?: ErrorReporting;\n      /** The list of slots available */\n      slots?: Slot[];\n      /** if true, ssr will not cache pages that contain this widget */\n      ssrCacheExcluded?: boolean;\n      /** Should use loadable-components */\n      isLoadable?: boolean;\n  }\n  /** An editor settings configuration */\n  interface SettingsUrl {\n      /** The URL for the setting panel */\n      url?: string;\n      /** What type of editor this is */\n      editorType?: string;\n      /** How this view is rendered (mobile, tablet, etc) */\n      viewType?: string;\n      /** should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget** */\n      urlTemplate?: string | null;\n  }\n  /** Error reporting configuration for the App */\n  interface ErrorReporting {\n      /** An error reporting URL to be used by our infra (Example: A sentry DSN url) */\n      url?: string;\n      /** Optional: Data about the artifact that reports the error. */\n      artifact?: ErrorReportingArtifact;\n  }\n  /** Data of the artifact that reports an error. */\n  interface ErrorReportingArtifact {\n      /** The full artifact id of the project which errors are associated with (Example: com.wixpress.my-artifact) */\n      fullArtifactId?: string;\n      /** The project version which errors are associated with (Example: Falcon fingerprint) */\n      version?: string;\n  }\n  /** Definition of slot */\n  interface Slot {\n      /** Role of the slot component (uniquely identifies slot within parent comp; used by Velo) - former \"slotName\" */\n      slotRole?: string;\n      /** The list of interfaces that should be implemented by a plugin in order to fit the slot */\n      pluginInterfaces?: PluginInterface[];\n      /** Id of the slot component (a.k.a. Velo role) */\n      slotId?: string;\n  }\n  /** The types of public APIs exposed by the Plugin */\n  enum PluginInterface {\n      /** No public APIs exposed */\n      NONE_INTERFACE = \"NONE_INTERFACE\",\n      /** The slot requires the REVIEWS interface to be implemented by the plugin. The plugin specifies the implementation of the REVIEWS interface */\n      REVIEWS = \"REVIEWS\",\n      /** The slot requires the RATINGS_SUMMARY interface to be implemented by the plugin. The plugin specifies the implementation of the RATINGS_SUMMARY interface */\n      RATINGS_SUMMARY = \"RATINGS_SUMMARY\",\n      /** The slot requires the RATINGS_SUMMARY_OOI_LIST interface to be implemented by the plugin. The plugin specifies the implementation of the RATINGS_SUMMARY_OOI_LIST interface */\n      RATINGS_SUMMARY_OOI_LIST = \"RATINGS_SUMMARY_OOI_LIST\",\n      /** The slot requires the BOOKINGS_SERVICE interface to be implemented by the plugin. The plugin specifies the implementation of the BOOKINGS_SERVICE interface */\n      BOOKINGS_SERVICE = \"BOOKINGS_SERVICE\",\n      /** The slot requires the BOOKINGS_FORM interface to be implemented by the plugin. The plugin specifies the implementation of the BOOKINGS_FORM interface */\n      BOOKINGS_FORM = \"BOOKINGS_FORM\",\n      /** The slot requires the BASE interface to be implemented by the plugin. The plugin specifies the implementation of the BASE interface */\n      BASE = \"BASE\",\n      /** The slot requires the EVENT interface to be implemented by the plugin. The plugin specifies the implementation of the EVENT interface */\n      EVENT = \"EVENT\",\n      /** The slot requires the PRODUCT interface to be implemented by the plugin. The plugin specifies the implementation of the PRODUCT interface */\n      PRODUCT = \"PRODUCT\",\n      /** The slot requires the CHECKOUT interface to be implemented by the plugin. The plugin specifies the implementation of the CHECKOUT interface */\n      CHECKOUT = \"CHECKOUT\",\n      /** The slot requires the CATEGORY interface to be implemented by the plugin. The plugin specifies the implementation of the CATEGORY interface */\n      CATEGORY = \"CATEGORY\"\n  }\n  /** A page out of iframe component that loads directly in the Editor DOM */\n  interface PageOutOfIframeComponentData {\n      /** A link to the out of iframe component */\n      componentUrl?: string;\n      /** A link to the out of iframe controller */\n      controllerUrl?: string | null;\n      /** This is that page's data */\n      pageData?: PageComponentData;\n      /** A link to the out of iframe SSR */\n      ssrComponentUrl?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', 'component_url_bundle_file')%> */\n      componentUrlTemplate?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', 'controller_url_bundle_file')%> */\n      controllerUrlTemplate?: string | null;\n      /** Additional info on this OOI page */\n      outOfIframeData?: OutOfIframeData;\n      /** should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget** */\n      settingsEndpointUrlTemplate?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget** */\n      settingsEndpointUrlV1Template?: string | null;\n      /** should be <%=serviceUrl('your_artifact_id', 'no_css_component_url_bundle_file')%> */\n      noCssComponentUrlTemplate?: string | null;\n      /** A link to the out of iframe no css component url */\n      noCssComponentUrl?: string | null;\n      /** Enable support for different style param values for different breakpoint (Css Per Breakpoint) */\n      cssPerBreakpoint?: boolean | null;\n  }\n  /** Create a collection of native Editor components that loads directly in the Editor DOM */\n  interface PlatfromComponentData {\n      /** Path to a Javascript file that Editor runs on app install */\n      editorScriptUrl?: string | null;\n      /** Path to a Javascript file that viewer runs for page components / widgets and applicative business logic */\n      viewerScriptUrl?: string | null;\n      /** If true, components of the app wont be added to the editor (only run editor scripts) */\n      platformOnly?: boolean;\n      /** If the viewer script should run in the Editor */\n      enableInEditor?: boolean;\n      /** URL to get complex routing decisions at runtime from a platform app. Some spec can be seen here: https://docs.google.com/document/d/1t_3bl9vVMoPVm_I9Sx59LsVUPXi07gihGIg3-F7z8Q0/edit?ts=595512f6#heading=h.9ca9859ng5d */\n      routerServiceUrl?: string | null;\n      /** Path to a Javascript file that viewer runs for page components / widgets and applicative business logic. Includes verbose logs for Wix runtime. */\n      viewerVerboseScriptUrl?: string | null;\n      /** A map of string descriptor the app understands to a versioned URL topology value, can be an API or statics data. Example: `storesCartAPI: https://stores.com/api/v2/cart/ */\n      baseUrls?: Record<string, string>;\n      /** Used by DAC (gradual roll-out). A map of string descriptor the app understands to a template versioned URL topology value, Example: `storeCSSStuff: https://static.pararstorage.com/services/stores-css-stuff/<%=serviceVersion('your_artifact_id')%>/main.css */\n      baseUrlsTemplate?: Record<string, string>;\n      /** should be <%=serviceUrl('your_artifact_id', 'viewer_script_url_bundle_file')%> */\n      viewerScriptUrlTemplate?: string | null;\n      /** If this component should be stretched in relation to a form factor (desktop, tablet, mobile) */\n      isStretched?: IsStretched;\n      /** Any margins this page should have in relation to a form factor (desktop, tablet, mobile) */\n      margins?: Margins;\n      /** Any docking this page (horizontal / vertical) should have in relation to a form factor (desktop, tablet, mobile) */\n      docking?: Docking;\n      /** The height of this page in relation to a form factor (desktop, tablet, mobile) */\n      height?: Height;\n      /** The width of this page in relation to a form factor (desktop, tablet, mobile) */\n      width?: ApiWidth;\n      /**\n       * Support adding application pages with preset data\n       * Vertical endpoint that clones the data\n       * https://docs.google.com/document/d/1pUp-d9vVMCTjDdQffBuwh1mBvQacQZy0n6nm2amCMV4/edit\n       */\n      cloneAppDataUrl?: string | null;\n      /**\n       * False by default\n       * If false, data is cloned per app\n       * If true, the data is cloned per add component on component addition\n       */\n      shouldCloneDataPerComponent?: boolean;\n      /**\n       * Error reporting URL used to report errors at platform level,\n       * and as fallback for pageOOI and widgetOOI error reporting\n       */\n      errorReporting?: ErrorReporting;\n      /** A concrete versioned URL of the translation template, contains `{language}` parameter in the path */\n      editorTranslationUrl?: string | null;\n      /** A version templated URL of the translation template, contains a <%=serviceVersion('your_artifact_id')%> template and a `{language}` template */\n      editorTranslationUrlTemplate?: string | null;\n      excludeFromAutoRevoke?: boolean;\n      /**\n       * Should be <%=serviceUrl('your_artifact_id', 'editor_script_url_bundle_file')%>, this will later be resolved to the right version in the context of the request, meaning, URL/Cookie overrides, Rollout version, Employee Preview version and override the version of editor_script_url.\n       * @internal\n       */\n      editorScriptUrlTemplate?: string | null;\n  }\n  /**\n   * An iframe that opens in the user’s Wix Dashboard,\n   * or add a link to open the page directly in your platform.\n   */\n  interface DashboardComponentData {\n      /** The dashboard url. */\n      url?: string;\n      /**\n       * External or Internal dashboard.\n       * The user’s Wix Dashboard (recommended) or your platform or site\n       */\n      embedded?: boolean;\n      /** A settings page for users to customize your dashboard */\n      settingsPageUrl?: string | null;\n      /** todo: WEB_URL */\n      checkStatusUrl?: string | null;\n      published?: boolean | null;\n      hideWixSideMenu?: boolean | null;\n  }\n  /** An invisible iframe to track site activity. It’ll be added to every page on the user’s site */\n  interface WorkerComponentData {\n      /** A public link to the worker endpoint */\n      workerEndpointUrl?: string;\n  }\n  /**\n   * An extension to platform used by Wix Blocks UI\n   * The main component in the Wix Blocks.\n   * no manual adding. auto-created only from Wix Blocks\n   */\n  interface StudioComponentData {\n      /** Path to a Javascript file that Editor runs on app install */\n      editorScriptUrl?: string;\n      /** Path to a Javascript file that viewer runs for page components / widgets and applicative business logic */\n      viewerScriptUrl?: string;\n      /** If true, components of the app wont be added to the editor (only run editor scripts) */\n      platformOnly?: boolean;\n      /** If the viewer script should run in the Editor */\n      enableInEditor?: boolean;\n      /** URL to get complex routing decisions at runtime from a platform app. Some spec can be seen here: https://docs.google.com/document/d/1t_3bl9vVMoPVm_I9Sx59LsVUPXi07gihGIg3-F7z8Q0/edit?ts=595512f6#heading=h.9ca9859ng5d */\n      routerServiceUrl?: string;\n      /** Path to a Javascript file that viewer runs for page components / widgets and applicative business logic. Includes verbose logs for Wix runtime. */\n      viewerVerboseScriptUrl?: string;\n      /** Instance id of wixCode in the original dev site. used in order to access the widgets code */\n      wixCodeInstanceId?: string;\n      /** Id of the grid in wixCode FS where the widgets code is located. used in order to access the widgets code */\n      wixCodeGridId?: string;\n      /** Path to a json which contains metaData of the devSite */\n      siteHeaderUrl?: string;\n      /** A map of string descriptor the app understands to a versioned URL topology value, can be an API or statics data. This may have some values which are NOT URL since Studio computes some values on the fly. */\n      baseUrls?: Record<string, string>;\n      /** If true, not shown in add panel and apps panel when it is installed */\n      hideInAddPanel?: boolean;\n      /** if true, this studio component enforce permissions */\n      permissionsEnforced?: boolean;\n  }\n  /** A widget component in the Wix Blocks. */\n  interface StudioWidgetComponentData {\n      /** Id of the widget */\n      studioWidgetId?: string;\n      /** Path to a json which contains the widget data and structure */\n      pageJsonFilename?: string;\n      /** variationId -> widget variation data */\n      variations?: Record<string, StudioWidgetVariation>;\n      /** Product display data for this component */\n      widgetDisplay?: WidgetDisplay;\n      /** If it is required to be installed as part of the app */\n      essential?: boolean;\n      /** The version of blocks used to build this widget */\n      blocksVersion?: string;\n      /** If this component should be stretched in relation to a form factor (desktop, tablet, mobile) */\n      isStretched?: IsStretched;\n      /** Any margins this page should have in relation to a form factor (desktop, tablet, mobile) */\n      margins?: Margins;\n      /** Any docking this page (horizontal / vertical) should have in relation to a form factor (desktop, tablet, mobile) */\n      docking?: Docking;\n      /** The height of this page in relation to a form factor (desktop, tablet, mobile) */\n      height?: Height;\n      /** The width of this page in relation to a form factor (desktop, tablet, mobile) */\n      width?: ApiWidth;\n      /**\n       * Optional, static artifact short name, used for BoB application to indicate the relation between the widget and its static artifact\n       * @internal\n       */\n      relatedArtifact?: string | null;\n      /** Properties of installed custom elements */\n      customElement?: CustomElement;\n      /** ids of nested widgets in this widget */\n      nestedWidgets?: NestedWidgets;\n      /** Properties of widget's presets */\n      presetsInfo?: PresetInfo[];\n      /** Widget properties that affect the way it behaves during installation in a site. */\n      installationSettings?: InstallationSettings;\n      /** Properties that affect the widget's presence in the editor. */\n      editorPresence?: EditorPresence;\n      /** Base info of component by shared logic of unified components */\n      base?: BaseInfo;\n      /** Unified widget installation settings */\n      installation?: WidgetInstallationSettings;\n      /**\n       * if true, ssr will not cache pages that contain this widget\n       * @internal\n       */\n      ssrCacheExcluded?: boolean;\n      /**\n       * The builder component model by shared logic of unified components. Required in oder to create a builder component\n       * @internal\n       */\n      componentModel?: ComponentModel;\n  }\n  /** A variation of a blocks widget */\n  interface StudioWidgetVariation {\n      /** Id of the widget variation */\n      _id?: string;\n      /** Display name of the variation */\n      name?: string;\n      /** Path to a json which contains the widget variation data and structure */\n      pageJsonFilename?: string;\n  }\n  interface CustomElement extends CustomElementConsentCategoryOneOf {\n      essential?: boolean;\n      /** Related to performance and other functional measurements. */\n      functional?: boolean;\n      /** Related to analytics about how the site is used in order to improve it. */\n      analytics?: boolean;\n      /** Related to allowing better customization of the experience to a current visitor. */\n      advertising?: boolean;\n      /** Boolean to make custom element in this widget be available for free sites */\n      allowedForFreeSite?: boolean;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean;\n  }\n  /** @oneof */\n  interface CustomElementConsentCategoryOneOf {\n      essential?: boolean;\n      /** Related to performance and other functional measurements. */\n      functional?: boolean;\n      /** Related to analytics about how the site is used in order to improve it. */\n      analytics?: boolean;\n      /** Related to allowing better customization of the experience to a current visitor. */\n      advertising?: boolean;\n  }\n  /** Nested widgets */\n  interface NestedWidgets {\n      /** ids of all recursively nested widgets from the same Blocks app */\n      internal?: string[];\n  }\n  /** Preset Info */\n  interface PresetInfo {\n      /** Id of the widget's preset */\n      presetId?: string;\n      /** Display name of the widget's preset */\n      presetName?: string;\n      /** The default size used when the preset is added to the stage */\n      defaultSize?: PresetSize;\n  }\n  /** Preset Size */\n  interface PresetSize {\n      /** The width of the preset when it's added to the stage */\n      width?: DisplayValue;\n      /** The height of the preset when it's added to the stage */\n      height?: DisplayValue;\n  }\n  /** Settings to control the behavour of widgets when installed in a wix site. */\n  interface InstallationSettings extends InstallationSettingsOptionsOneOf {\n      /** Extra options needed when `install_page` is set to `PAGE`. */\n      pageOptions?: PageOptions;\n      /** Extra options needed when `install_page` is set to `LIGHTBOX`. */\n      lightboxOptions?: LightboxOptions;\n      /** How to add the widget automatically to the site. Options could be `NO_PAGE`, `CURRENT`, `PAGE` or `LIGHTBOX`. */\n      installPage?: InstallPage;\n      /** Controls whether to show or hide the widget in the add panel. */\n      showInAddPanel?: boolean | null;\n      /** Defines the main preset per breakpoint for the widget. */\n      mainPresets?: MainPresets;\n  }\n  /** @oneof */\n  interface InstallationSettingsOptionsOneOf {\n      /** Extra options needed when `install_page` is set to `PAGE`. */\n      pageOptions?: PageOptions;\n      /** Extra options needed when `install_page` is set to `LIGHTBOX`. */\n      lightboxOptions?: LightboxOptions;\n  }\n  /** The page to which a new widget can be added */\n  enum InstallPage {\n      /** Don't add widget to a page */\n      NO_PAGE = \"NO_PAGE\",\n      /** Add widget to the current page in the editor */\n      CURRENT = \"CURRENT\",\n      /** Add widget to a new page in the editor */\n      PAGE = \"PAGE\",\n      /** Add widget to a new lightbox in the editor */\n      LIGHTBOX = \"LIGHTBOX\"\n  }\n  /** Defines the main preset per breakpoint for the widget. */\n  interface MainPresets {\n      /** The main desktop preset. */\n      desktopPresetId?: string;\n      /** The main tablet preset. */\n      tabletPresetId?: string;\n      /** The main mobile preset. */\n      mobilePresetId?: string;\n  }\n  /** Options for widgets that are added as a page during installation */\n  interface PageOptions {\n      /** Display name of the page that will be shown in the page menu. */\n      pageName?: string;\n      /** The page ID used for navigation purposes. Once set cannot be changed. */\n      pageId?: string;\n  }\n  interface LightboxOptions {\n      /** Display name of the lightbox that will be shown in the lightbox menu. */\n      lightboxName?: string;\n      /** The lightbox ID used for navigation purposes. Once set cannot be changed. */\n      lightboxId?: string;\n  }\n  interface EditorPresence {\n      /** Properties that describe the presence of each of the widget's presets */\n      presetsEditorPresence?: PresetEditorPresence[];\n  }\n  interface PresetEditorPresence {\n      /** Id of the widget's preset */\n      presetId?: string;\n      /** Controls whether to show or hide the preset in the Add Panel */\n      showInAddPanel?: boolean;\n      /** Controls whether to show or hide the preset in the Presets Panel */\n      showInPresetsPanel?: boolean;\n      /** Optional image to show as the preset's thumbnail in the editor, if left empty an automatic snapshot of the preset will be used */\n      wixMediaThumbnail?: string;\n      /** Another preset id that is a mobile variation of this preset */\n      mobilePresetId?: string;\n  }\n  interface BaseInfo {\n      /** The name of the component */\n      name?: string;\n      /** The internal id of the component by the own app */\n      _id?: string;\n  }\n  interface WidgetInstallationSettings {\n      /** Shared installation settings for unified components */\n      base?: BaseInstallation;\n      /** Widget installation settings for unified components */\n      widget?: WidgetInstallation;\n  }\n  interface BaseInstallation {\n      /** Auto add component to stage */\n      autoAdd?: boolean;\n      /** Mark component as essential for the existence of the app (force to delete the whole app) */\n      essential?: boolean;\n      /** Max instances of the component that can be on site */\n      maxInstances?: number | null;\n  }\n  interface WidgetInstallation {\n      /** Preset should be selected defaultly with installation */\n      defaultPreset?: MainPresets;\n      /** Region of widget */\n      region?: RegionType;\n  }\n  enum RegionType {\n      HEADER = \"HEADER\",\n      BODY = \"BODY\",\n      FOOTER = \"FOOTER\"\n  }\n  interface ComponentModel {\n      /** The component type of the builder component. */\n      componentType?: string;\n      /** The component URL of the builder component */\n      componentUrl?: string;\n  }\n  /** A component that indicates the existence of an importable code package in a Wix Blocks application. */\n  interface CodePackageComponentData {\n      /** The GUID to access the package code in the Velo/Wix Code system */\n      gridId?: string;\n      /** Name of the package for display */\n      displayName?: string;\n      /** Name of the package for import */\n      importName?: string;\n      /** An optional description of this package and what it does */\n      description?: string | null;\n  }\n  /** A collection of native components that load directly in the Business Manager */\n  interface DashboardPlatfromComponentData {\n      /** Path to a Javascript file that Dashboard runs on app install */\n      scriptUrl?: string;\n  }\n  /** Inject third party scripts into the user’s site */\n  interface EmbeddedScriptComponentData {\n      /** The script */\n      template?: string;\n      /** A name that’s unique to this component. Names can include letters and the hyphen (-) character only */\n      name?: string;\n      /** What category of pages this will be embedded on (single, many, none) */\n      pages?: EmbeddedScriptPages;\n      /** Where in the HTML this should be embedded */\n      placement?: EmbeddedScriptPlacement;\n      /** An article explaining how to activate the script */\n      connectArticleUrl?: string;\n      /** Type of script you are injecting. This will be used for GDPR and cookie consent purposes */\n      embedCategory?: EmbedCategory;\n      /**\n       * if the script should be loaded once - default and only supported value is true\n       * @readonly\n       */\n      loadOnce?: boolean;\n      /** allow developers to decide if their app script can be install on free sites */\n      allowedForFreeSite?: boolean;\n      /** The runtime dependencies array to declare the widget packages. */\n      dependencies?: WixDependency[];\n  }\n  /** Category of pages this will be embedded on (single, many, none) */\n  enum EmbeddedScriptPages {\n      /** It will not be embedded */\n      NONE_PAGES = \"NONE_PAGES\",\n      /** It will be embedded once */\n      ONCE = \"ONCE\",\n      /** It will be embedded multiple times on specific pages */\n      SPECIFIC_PAGES = \"SPECIFIC_PAGES\"\n  }\n  /** Where that embed will be rendered */\n  enum EmbeddedScriptPlacement {\n      /** It will not be rendered */\n      NONE_PLACEMENT = \"NONE_PLACEMENT\",\n      /** In the document head */\n      HEAD = \"HEAD\",\n      /** Prepended before all children already rendered in the body tag */\n      BODY_START = \"BODY_START\",\n      /** Appended after the last child already rendered in the body tag */\n      BODY_END = \"BODY_END\"\n  }\n  /** Embed category defined for Privacy regulation compliance in EU and CCPA in the US */\n  enum EmbedCategory {\n      /** Not categorized yet */\n      UNKNOWN = \"UNKNOWN\",\n      /** Must load regardless of policy */\n      ESSENTIAL = \"ESSENTIAL\",\n      /** Adds optional functionality to the site */\n      FUNCTIONAL = \"FUNCTIONAL\",\n      /** Adds analytics abilities to the site */\n      ANALYTICS = \"ANALYTICS\",\n      /** Adds advertising content or advertising tracking to the site */\n      ADVERTISING = \"ADVERTISING\"\n  }\n  interface WixDependency {\n      /** The fully qualified package name from npm, example: @wix/frontend-location */\n      packageName?: string;\n      /** The major version of the package (this may be a detail included in the package name, but is conventional in NPM with semver semantics */\n      version?: number;\n  }\n  /** A draggable custom element. Add your custom script and generate ui directly in the viewer */\n  interface WebComponentData {\n      /** A link to a preview image we can render in the editor in place of your component */\n      imagePreview?: string;\n      /** Web component size */\n      size?: Size;\n      /** This script url should render temp empty state */\n      scriptTag?: string;\n      /** Unique tag name to use in order to connect your JS script to your web component */\n      tagName?: string;\n      /** The settings panel URL for this component */\n      settingsUrl?: string | null;\n      /** The editor modal that the user will see */\n      modalTitle?: string;\n      /** Settings CTA label */\n      connectLabel?: string;\n      /** Dynamic settings(Graphic Floating Properties Panel settings) */\n      gfppSettings?: Settings;\n      /** Custom element type PAGE / WIDGET */\n      type?: ElementType;\n      /** Boolean to make this component be available for free sites */\n      allowedForFreeSite?: boolean;\n      /** A public link to the SEO endpoint */\n      seoUrl?: string | null;\n      /** For case that the widget will be used as page */\n      slug?: string | null;\n      /** For case that the widget will be used as page */\n      showPageInMenu?: boolean;\n      /** The details of the selected widget to add */\n      widget?: WidgetDetails;\n      /** Give the option to change the script type */\n      scriptType?: ScriptType;\n      /** Web component default mobile height */\n      defaultMobileHeight?: number | null;\n      /** Prevent the deletion of the widget when set to true. */\n      essential?: boolean;\n      /** Toggle to mark whether the editor should revoke an app that contains this component. */\n      excludeFromAutoRevoke?: boolean;\n      /** defines the widget's behaviour in editor page */\n      widgetBehavior?: WidgetBehavior;\n  }\n  /** Web component size */\n  interface Size {\n      /** Height in pixels */\n      height?: number;\n      /** Width in pixels */\n      width?: number;\n  }\n  /** Graphic Floating Properties Panel settings */\n  interface Settings {\n      activeTab?: string;\n      fetchInitialData?: string | null;\n      tabs?: Tab[];\n  }\n  /** Setting tab definition */\n  interface Tab {\n      label?: string;\n      items?: Container[];\n      /** hidden tab will not be visible in editor and dev center preview */\n      hidden?: boolean;\n  }\n  /** UI Container in page */\n  interface Container extends ContainerDataOneOf {\n      /** containers */\n      main?: Main;\n      section?: Section;\n      drillInListItem?: DrillInListItem;\n      /** items */\n      thumbnails?: Thumbnails;\n      sliderLabeled?: SliderLabeled;\n      dropDownLabeled?: DropDownLabeled;\n      toggleLabeled?: ToggleLabeled;\n      barAlignment?: BarAlignment;\n      textInputLabeled?: TextInputLabeled;\n      resetButton?: ResetButton;\n      fontFamilyWithColorPicker?: FontFamilyWithColorPicker;\n      radioButtonLabeled?: RadioButtonLabeled;\n      colorSelectLabeled?: ColorSelectLabeled;\n      textStyle?: TextStyle;\n  }\n  /** @oneof */\n  interface ContainerDataOneOf {\n      /** containers */\n      main?: Main;\n      section?: Section;\n      drillInListItem?: DrillInListItem;\n      /** items */\n      thumbnails?: Thumbnails;\n      sliderLabeled?: SliderLabeled;\n      dropDownLabeled?: DropDownLabeled;\n      toggleLabeled?: ToggleLabeled;\n      barAlignment?: BarAlignment;\n      textInputLabeled?: TextInputLabeled;\n      resetButton?: ResetButton;\n      fontFamilyWithColorPicker?: FontFamilyWithColorPicker;\n      radioButtonLabeled?: RadioButtonLabeled;\n      colorSelectLabeled?: ColorSelectLabeled;\n      textStyle?: TextStyle;\n  }\n  /** Main 1 */\n  interface Main {\n      items?: MainPropsData[];\n  }\n  /** MainPropsData */\n  interface MainPropsData {\n      dashboardButton?: DashboardButton;\n      richTextWithIllustrationVertical?: RichTextWithIllustrationVertical;\n  }\n  /** DashboardButton main 2 */\n  interface DashboardButton {\n      title?: string;\n      label?: string;\n  }\n  /** RichTextWithIllustrationVertical main 1 */\n  interface RichTextWithIllustrationVertical {\n      key?: string;\n      label?: string;\n      text?: string;\n  }\n  /** Section 2 */\n  interface Section {\n      label?: string;\n  }\n  /** DrillInListItem 3 */\n  interface DrillInListItem {\n      items?: DrillItem[];\n      label?: string;\n  }\n  /** DrillItem */\n  interface DrillItem extends DrillItemDataOneOf {\n      /** containers */\n      section?: Section;\n      /** items */\n      radioButtonLabeled?: RadioButtonLabeled;\n      colorSelectLabeled?: ColorSelectLabeled;\n      thumbnails?: Thumbnails;\n      sliderLabeled?: SliderLabeled;\n      dropDownLabeled?: DropDownLabeled;\n      toggleLabeled?: ToggleLabeled;\n      barAlignment?: BarAlignment;\n      textInputLabeled?: TextInputLabeled;\n      fontFamilyWithColorPicker?: FontFamilyWithColorPicker;\n      textStyle?: TextStyle;\n  }\n  /** @oneof */\n  interface DrillItemDataOneOf {\n      /** containers */\n      section?: Section;\n      /** items */\n      radioButtonLabeled?: RadioButtonLabeled;\n      colorSelectLabeled?: ColorSelectLabeled;\n      thumbnails?: Thumbnails;\n      sliderLabeled?: SliderLabeled;\n      dropDownLabeled?: DropDownLabeled;\n      toggleLabeled?: ToggleLabeled;\n      barAlignment?: BarAlignment;\n      textInputLabeled?: TextInputLabeled;\n      fontFamilyWithColorPicker?: FontFamilyWithColorPicker;\n      textStyle?: TextStyle;\n  }\n  /** RadioButtonLabeled 12 */\n  interface RadioButtonLabeled {\n      key?: string;\n      title?: string;\n      value?: string;\n      options?: string[];\n      description?: string;\n      conditions?: Condition[];\n  }\n  interface Condition {\n      value?: string;\n      state?: SingleKeyCondition[];\n  }\n  interface SingleKeyCondition {\n      key?: string;\n      value?: string;\n      visible?: boolean;\n  }\n  /** ColorSelectLabeled 13 */\n  interface ColorSelectLabeled extends ColorSelectLabeledDataOneOf {\n      customColor?: ColorDefinition;\n      templateColor?: TemplateDefaultColor;\n      title?: string;\n      key?: string;\n      color?: string;\n      defaultData?: ColorDefinition;\n      description?: string;\n  }\n  /** @oneof */\n  interface ColorSelectLabeledDataOneOf {\n      customColor?: ColorDefinition;\n      templateColor?: TemplateDefaultColor;\n  }\n  interface ColorDefinition {\n      value?: string;\n      opacity?: string;\n  }\n  enum TemplateDefaultColor {\n      BACKGROUND = \"BACKGROUND\",\n      SECONDARY_TEXTS = \"SECONDARY_TEXTS\",\n      MAIN_TEXT_AND_ICONS = \"MAIN_TEXT_AND_ICONS\",\n      BORDERS_AND_DIVIDERS = \"BORDERS_AND_DIVIDERS\",\n      BUTTONS_AND_LINKS = \"BUTTONS_AND_LINKS\"\n  }\n  /** Thumbnails 4 */\n  interface Thumbnails {\n      key?: string;\n      title?: string;\n      value?: string;\n      options?: ThumbnailData[];\n      size?: ThumbnailsSize;\n      description?: string;\n      conditions?: Condition[];\n  }\n  /** Structure for thumbnail */\n  interface ThumbnailData {\n      value?: string;\n      src?: string | null;\n      selectedSrc?: string | null;\n      onHoverSrc?: string | null;\n      label?: string;\n  }\n  enum ThumbnailsSize {\n      SMALL = \"SMALL\",\n      MEDIUM = \"MEDIUM\",\n      LARGE = \"LARGE\",\n      XLARGE = \"XLARGE\"\n  }\n  /** SliderLabeled 5 */\n  interface SliderLabeled {\n      key?: string;\n      title?: string;\n      size?: string;\n      placeholder?: string;\n      description?: string;\n      minSize?: number;\n      maxSize?: number;\n  }\n  /** DropDownLabeled 6 */\n  interface DropDownLabeled {\n      key?: string;\n      title?: string;\n      value?: string;\n      options?: string[];\n      description?: string;\n      conditions?: Condition[];\n  }\n  /** ToggleLabeled 7 */\n  interface ToggleLabeled {\n      key?: string;\n      title?: string;\n      value?: boolean;\n      description?: string;\n      conditions?: Condition[];\n  }\n  /**\n   * Elements =========\n   * BarAlignment 8\n   */\n  interface BarAlignment {\n      selected?: BarAlignmentSelected;\n      key?: string;\n      title?: string;\n      description?: string;\n      value?: BarAlignmentSelected;\n      conditions?: Condition[];\n  }\n  /** Bar alignment selected value */\n  enum BarAlignmentSelected {\n      ALIGN_LEFT = \"ALIGN_LEFT\",\n      ALIGN_CENTER = \"ALIGN_CENTER\",\n      ALIGN_RIGHT = \"ALIGN_RIGHT\"\n  }\n  /** TextInputLabeled 9 */\n  interface TextInputLabeled {\n      key?: string;\n      title?: string;\n      placeholder?: string;\n      value?: string;\n      description?: string;\n  }\n  /** 11 */\n  interface FontFamilyWithColorPicker {\n      key?: string;\n      title?: string;\n      description?: string;\n      value?: FontDefinition;\n      defaultValue?: FontDefinition;\n  }\n  /** defintion and enums */\n  interface FontDefinition {\n      font?: string;\n      color?: ColorDefinition;\n  }\n  /** TextStyle 14 */\n  interface TextStyle extends TextStyleDefaultColorOneOf {\n      customColor?: ColorDefinition;\n      templateColor?: TemplateDefaultColor;\n      key?: string;\n      title?: string;\n      description?: string;\n      defaultTextStyle?: DefaultTextStyle;\n  }\n  /** @oneof */\n  interface TextStyleDefaultColorOneOf {\n      customColor?: ColorDefinition;\n      templateColor?: TemplateDefaultColor;\n  }\n  enum DefaultTextStyle {\n      TITLE = \"TITLE\",\n      PARAGRAPH = \"PARAGRAPH\",\n      LOWER_HIERARCHY_TEXTS = \"LOWER_HIERARCHY_TEXTS\"\n  }\n  /** 10 */\n  interface ResetButton {\n      label?: string;\n  }\n  enum ElementType {\n      WIDGET = \"WIDGET\",\n      PAGE = \"PAGE\"\n  }\n  interface WidgetDetails {\n      name?: string | null;\n      icon?: string | null;\n      description?: string | null;\n  }\n  enum ScriptType {\n      NO_SCRIPT_TYPE = \"NO_SCRIPT_TYPE\",\n      MODULE = \"MODULE\"\n  }\n  interface WidgetBehavior {\n      /** Toggle whether the widget is removable from the page. */\n      removable?: boolean;\n      /** Toggle whether the widget is duplicatable from the page. */\n      duplicatable?: boolean;\n  }\n  interface ExtensionData {\n      data?: string;\n      extensionType?: ExtensionType;\n  }\n  enum ExtensionType {\n      NONE_EXTENSION = \"NONE_EXTENSION\",\n      PAYMENTS_GATEWAY_EXTENSION = \"PAYMENTS_GATEWAY_EXTENSION\",\n      COUPONS_EXTENSION = \"COUPONS_EXTENSION\",\n      DROPSHIPPING_EXTENSION = \"DROPSHIPPING_EXTENSION\",\n      FULFILMENT_EXTENSION = \"FULFILMENT_EXTENSION\",\n      DROPSHIPPING_SUPPLIER_EXTENSION = \"DROPSHIPPING_SUPPLIER_EXTENSION\",\n      FULFILLMENT_CENTER_EXTENSION = \"FULFILLMENT_CENTER_EXTENSION\",\n      RESTAURANTS_POS_EXTENSION = \"RESTAURANTS_POS_EXTENSION\",\n      ART_STORE_EXTENSION = \"ART_STORE_EXTENSION\",\n      ASCEND_AUTOMATION_EXTENSION = \"ASCEND_AUTOMATION_EXTENSION\",\n      CONTACT_LABELS_EXTENSION = \"CONTACT_LABELS_EXTENSION\"\n  }\n  interface SnippetSolutionData {\n      code?: string;\n      instructions?: string;\n  }\n  /** A component which represents collections that will be installed as part of the app */\n  interface DataComponent {\n      /**\n       * Token used used by blocks to allow installing collections when the app is installed\n       * @internal\n       */\n      collectionsToken?: string | null;\n  }\n  interface DCConfigData {\n      isVisualApp?: boolean;\n  }\n  interface StaticFileComponentData {\n      url?: string;\n  }\n  interface AppConfig {\n      siteConfig?: SiteConfig;\n      namespace?: string;\n  }\n  interface SiteConfig {\n      /** todo: WEB_URL */\n      siteStructureApi?: string | null;\n  }\n  /**\n   * Business Manager sidebar category that contains sidebar links.\n   * each link in the category opens in the business manager in an iframe.\n   */\n  interface MultipleDashboardsComponentData {\n      /** items inside the category */\n      items?: DashboardItem[];\n  }\n  /**\n   * a single dashboard page,\n   * represented in Business Manager as sidebar link that opens in an iframe\n   */\n  interface DashboardItem {\n      /** name of the sidebar link of the page */\n      label?: string;\n      /** data about the current page */\n      dashboardData?: DashboardComponentData;\n      /** permission to check for this page. */\n      permissionId?: string | null;\n  }\n  /** Test component extension */\n  interface PaymentsGatewayComponentData {\n      /** The shop url */\n      shopUrl?: string;\n  }\n  interface AutomationTrigger {\n      /** The name that will be passed with trigger report event to activate an Automation. */\n      name?: string;\n      /** The name displayed to the user. */\n      displayName?: string;\n      /** The schema of the payload that will be passed with trigger when activating an Automation. */\n      schemaConfig?: SchemaConfig;\n      /**\n       * Email template to be shown when user choose this trigger and email action.\n       * @internal\n       */\n      emailTemplateName?: string | null;\n      deploymentUri?: string;\n      revision?: number;\n  }\n  interface SchemaConfig {\n      /** The fields of the payload as sent in the report event */\n      fields?: SchemaField[];\n      /**\n       * Dynamic schema service URL.\n       * Dynamic schema is used when user needs to choose specific entities from site to activate the Automation.\n       * For example form name, purchased product, etc.\n       */\n      dynamicSchemaUrl?: string | null;\n  }\n  interface SchemaField {\n      /** The key as it appears on the report event payload. */\n      key?: string;\n      /** The name displayed to the user. */\n      displayName?: string;\n      /** The field type */\n      fieldType?: SchemaFieldType;\n      /** Sample values, values that could show up in the payload of a trigger. */\n      sampleValues?: string[];\n      /** The field exposure */\n      exposure?: Exposure;\n  }\n  enum PrimitiveType {\n      UNKNOWN_PRIMITIVE_TYPE = \"UNKNOWN_PRIMITIVE_TYPE\",\n      TEXT = \"TEXT\",\n      BOOLEAN = \"BOOLEAN\",\n      NUMBER = \"NUMBER\"\n  }\n  enum SimpleType {\n      UNKNOWN_SIMPLE_TYPE = \"UNKNOWN_SIMPLE_TYPE\",\n      MONEY = \"MONEY\",\n      LINK = \"LINK\",\n      BACKOFFICE_LINK = \"BACKOFFICE_LINK\",\n      LIVESITE_LINK = \"LIVESITE_LINK\",\n      MULTILINGUAL = \"MULTILINGUAL\",\n      IMAGE_LINK = \"IMAGE_LINK\",\n      GUID = \"GUID\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      CONTACT_ID = \"CONTACT_ID\"\n  }\n  interface Primitive {\n      primitiveType?: PrimitiveType;\n  }\n  interface Simple {\n      simpleType?: SimpleType;\n  }\n  interface _Date {\n      /** Default: false, set this to true if the date is normally a future date, like: Invoice expiration date, Membership renewal date */\n      allowNegativeOffset?: boolean | null;\n  }\n  interface SchemaFieldType extends SchemaFieldTypeFieldTypeOneOf {\n      primitive?: Primitive;\n      simple?: Simple;\n      /**\n       * The field value must conform to the following JSON structure { \"timestamp\": string, \"timeZone\": string }, where the timestamp is ISO format UTC, and the time zone is the full name\n       * Example: { \"timestamp\": \"2021-03-22T11:41:47.992Z\", timeZone: \"Asia/Jerusalem\" }\n       */\n      date?: _Date;\n  }\n  /** @oneof */\n  interface SchemaFieldTypeFieldTypeOneOf {\n      primitive?: Primitive;\n      simple?: Simple;\n      /**\n       * The field value must conform to the following JSON structure { \"timestamp\": string, \"timeZone\": string }, where the timestamp is ISO format UTC, and the time zone is the full name\n       * Example: { \"timestamp\": \"2021-03-22T11:41:47.992Z\", timeZone: \"Asia/Jerusalem\" }\n       */\n      date?: _Date;\n  }\n  enum Exposure {\n      UNKNOWN_EXPOSURE = \"UNKNOWN_EXPOSURE\",\n      /** Not sent to the action provider */\n      SETUP = \"SETUP\",\n      /** Sent to the action provider and usually hidden from user */\n      HIDDEN = \"HIDDEN\",\n      /** Sent to the action provider and usually shown to user */\n      EXPOSED = \"EXPOSED\"\n  }\n  /** represents Invoices integration policies */\n  interface InvoicesActionsComponentData {\n      /** partial payment restriction on invoice */\n      partialPayment?: PartialPaymentRestriction;\n  }\n  /** Possible Partial Payment Policy Values */\n  enum PartialPaymentRestriction {\n      UNDEFINED = \"UNDEFINED\",\n      /** Allow Partial Payment */\n      ALLOW = \"ALLOW\",\n      /** Disallow Partial Payment */\n      DISALLOW = \"DISALLOW\"\n  }\n  /** Experimental-WIP: Specifies the app module configuration of business manager module */\n  interface DashboardApplicationData {\n      /** List of bundles to be loaded for your module */\n      bundles?: Bundle[];\n      /** Your module id as defined in business-manager-api */\n      _id?: string | null;\n      /** List of available page components that your module is registering */\n      pageComponents?: PageDashboardApplicationComponent[];\n      /** The default component to load when another app navigates to your module */\n      defaultPageComponentId?: string | null;\n      /** Config section that will be provided to your lazy component and component along with all other properties from business-manager, if your config object will contain topology parameter, you'll be able to benefit from statics override machanism */\n      config?: AppConfiguration;\n      /** Allows an application to declare that when it's opened inside the business-manager without a deeplink the business-manager home should be shown. It currently only affects opening the app from Editor/ADI */\n      useHomeAsLandingPage?: boolean | null;\n      /** If there are some experiments that define if this page should be enabled, list of experiment lists with OR relationship between them, experiments should be in business manager scope */\n      enabledByExperiments?: ExperimentGroupWrapper[];\n      /** If this module should load in absence of any pages, by default this won't run */\n      loadWithoutPages?: boolean | null;\n      /** List of hosted component of the application */\n      components?: HostedComponent[];\n  }\n  /** Specifes business manager module file bundle */\n  interface Bundle {\n      /** The JavaScript file to load */\n      file?: string;\n      /** If there are some experiments that define if this page should be enabled, list of experiment lists with OR relationship between them, experiments should be in business manager scope */\n      enabledByExperiments?: ExperimentGroupWrapper[];\n      /** A alternative debug file for debugging issues */\n      debugFile?: string | null;\n  }\n  /** Specifies a list of experiments that have AND relationship between them, and OR relationship between each list */\n  interface ExperimentGroupWrapper {\n      /** list of experiments with AND relationship between them, for false value use ! before experiment spec */\n      experimentsGroup?: string[];\n  }\n  /** Specifies page components for a business manager module */\n  interface PageDashboardApplicationComponent {\n      /** The id of the page */\n      _id?: string;\n      /** The route of the page, the part of the url after /dashboard/{msid}/ (must be unique in the specific application) */\n      route?: string;\n      /** The name you used to register this component to the ModuleRegistry (must be unique across apps) */\n      name?: string;\n      /** If there are some experiments that define if this page should be enabled, list of experiment lists with OR relationship between them, experiments should be in business manager scope. */\n      enabledByExperiments?: ExperimentGroupWrapper[];\n      /** Additional routes to the page */\n      routeAliases?: string[];\n  }\n  /** Specifies config for topology and config data */\n  interface AppConfiguration {\n      /** A map of topology key to template url */\n      topology?: Record<string, string>;\n      /** Config section that will be provided to your lazy component and component along with all other properties from business-manager, if your config object will contain topology parameter */\n      configData?: Record<string, string>;\n  }\n  /** Specifes business hosted component configuration */\n  interface HostedComponent {\n      /** A unique id for the component, maps between the host and name */\n      _id?: string;\n      /** The component name used in registerComponentWithModuleParams components can be shared by using the same name but a unique id */\n      name?: string;\n      /** Permissions required for the component, this is not strictly enforced */\n      requiredPermission?: string;\n      /** Represents the collection of components where the component will be hosted, get this value from the host provider. */\n      hostContainerId?: HostContainerId;\n      /** If there are some experiments that define if this page should be enabled, list of experiment lists with OR relationship between them, experiments should be in business manager scope */\n      enabledByExperiments?: ExperimentGroupWrapper[];\n      /** A URI used to send component error events */\n      errorReporting?: ErrorReporting;\n  }\n  enum HostContainerId {\n      BUSINESS_MANAGER = \"BUSINESS_MANAGER\",\n      BUSINESS_DASHBOARD_HOST = \"BUSINESS_DASHBOARD_HOST\",\n      SIDEBAR_FOOTER = \"SIDEBAR_FOOTER\"\n  }\n  /** Contact Labels Extensions */\n  interface ContactLabelsComponentData {\n      /** Allow app-defined labels (Check this box to allow apps to create labels in this namespace.) */\n      allowAppDefinedLabels?: boolean | null;\n      /**\n       * Required permissions to manage app-defined labels\n       * Only apps with this permission will be able to create labels in this namespace.\n       * relevant if allow_app_defined_labels is true\n       * (e.g. EMAIL_MARKETING.MANAGE_LABELS)\n       */\n      permission?: string | null;\n      /**\n       * Predefined labels\n       * These labels exist on all sites that install the app.\n       */\n      predefinedLabels?: PredefinedLabel[];\n  }\n  interface PredefinedLabel {\n      /**\n       * Label key\n       * Can contain letters, dashes, or underscores.\n       * (e.g. my-label)\n       */\n      key?: string;\n      /**\n       * Display Name\n       * Human-readable name to be shown on the UI.\n       * (e.g. My Label)\n       */\n      displayName?: string;\n  }\n  /** A component to be rendered within Widget Slots */\n  interface WidgetPluginComponentData {\n      /** The ID of the actual widget used that is the Plugin component */\n      referenceComponentId?: string;\n      /** The APIs implemented by the Plugin's widget */\n      pluginInterfaces?: PluginInterface[];\n      /** Marketing information about the plugin */\n      marketData?: PluginMarketData;\n      /** The list of placements where the plugin is allowed to be installed */\n      placements?: PluginPlacement[];\n      /** Widget plugin installation settings */\n      installation?: PluginInstallationSettings;\n  }\n  /** Marketing information about the plugin */\n  interface PluginMarketData {\n      /** The name of the Plugin */\n      name?: string;\n      /** The short description of the Plugin */\n      description?: string;\n      /** The logo of the Plugin, should be a square image 35 x 35 px in `JPG` or `PNG` format */\n      logoUrl?: string | null;\n  }\n  /** Combination of IDs that uniquely identify a slot in the app component */\n  interface PluginPlacement {\n      /** Slot app definition ID */\n      appDefinitionId?: string;\n      /** Slot app component ID */\n      widgetId?: string;\n      /** Slot ID (a.k.a. Velo role) */\n      slotId?: string;\n  }\n  interface PluginInstallationSettings {\n      /** Shared installation settings for unified components */\n      base?: BaseInstallation;\n  }\n  interface CrossSellConfig {\n      /** uri for call implementor, could be one of `grpc://<artifact-name>`, `velo://`, `https://` */\n      baseUri?: string;\n  }\n  /** Local Delivery component */\n  interface LocalDeliveryComponentData {\n      /**\n       * URL for the Delivery provider registration web page.\n       * The App Instance and Account Id query parameters are attached to the registration URL\n       * so that you can identify your account when accessing the vendor api. [learn more](https://devforum.wix.com/en/article/app-instance)\n       */\n      registrationUrl?: string;\n      /**\n       * The base URL for all the local delivery api calls.\n       * Description of end points and schema can be find in the local delivery documentation.\n       */\n      apiBaseUri?: string;\n  }\n  /** Configuration for the payment service SPI implementor */\n  interface PaymentServiceProviderConfig {\n      /** Payment service provider to display on Accept payments tab in Business manager */\n      title?: string;\n      /** SPI base url */\n      baseUrl?: string;\n      /** Available payment methods */\n      paymentMethods?: PaymentMethod[];\n      /** Provider authentication methods */\n      credentialsFields?: PaymentServiceProviderCredentialsField[];\n  }\n  interface PaymentMethod extends PaymentMethodMethodOneOf {\n      /** Information about hosted page payment method */\n      hostedPage?: HostedPage;\n  }\n  /** @oneof */\n  interface PaymentMethodMethodOneOf {\n      /** Information about hosted page payment method */\n      hostedPage?: HostedPage;\n  }\n  interface HostedPage {\n      /** The payment method title to be will be displayed on accept payments tab in business manager as well as on the checkout */\n      title?: string;\n      /** Url to images in different formats and colors */\n      logos?: Logos;\n      /** Billing address fields that buyer needs to fill in order to process payment with the specified payment method */\n      billingAddressMandatoryFields?: MandatoryField[];\n  }\n  interface Logos {\n      /** white theme logos */\n      white?: Color;\n      /** colored theme logos */\n      colored?: Color;\n  }\n  interface Color {\n      /** URL to SVG image */\n      svg?: string;\n      /** URL to PNG image */\n      png?: string;\n  }\n  enum MandatoryField {\n      ZIPCODE = \"ZIPCODE\",\n      CITY = \"CITY\",\n      STATE = \"STATE\",\n      ADDRESS = \"ADDRESS\",\n      COUNTRY_CODE = \"COUNTRY_CODE\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      STREET = \"STREET\",\n      HOUSE_NUMBER = \"HOUSE_NUMBER\",\n      TAX_IDENTIFIER = \"TAX_IDENTIFIER\"\n  }\n  interface PaymentServiceProviderCredentialsField extends PaymentServiceProviderCredentialsFieldFieldOneOf {\n      /** text field */\n      simpleField?: SimpleField;\n      /** checkbox field */\n      checkboxField?: CheckboxField;\n      /** dropdown field */\n      dropdownField?: DropdownField;\n  }\n  /** @oneof */\n  interface PaymentServiceProviderCredentialsFieldFieldOneOf {\n      /** text field */\n      simpleField?: SimpleField;\n      /** checkbox field */\n      checkboxField?: CheckboxField;\n      /** dropdown field */\n      dropdownField?: DropdownField;\n  }\n  interface SimpleField {\n      /** field name */\n      name?: string;\n      /** field label */\n      label?: string;\n  }\n  interface CheckboxField {\n      /** field name */\n      name?: string;\n      /** field label */\n      label?: string;\n      /** field tooltip */\n      tooltip?: string | null;\n  }\n  interface DropdownField {\n      /** field name */\n      name?: string;\n      /** field label */\n      label?: string;\n      /** specific options */\n      options?: DropdownFieldOption[];\n  }\n  interface DropdownFieldOption {\n      /** option key */\n      key?: string;\n      /** option value */\n      value?: string;\n  }\n  interface MembershipsSPIConfig {\n      /** The URL of the SPI implementation */\n      deploymentUri?: string;\n      catalogAppDefIds?: string[];\n  }\n  interface LineItemsEnricherConfig {\n      /** the base URI where all the methods are deployed. */\n      baseUri?: string;\n  }\n  interface ShippingRatesConfig {\n      /**\n       * Base URI where the endpoints are called.\n       * Wix eCommerce appends the endpoint path to the base URI.\n       * For example, to call the Get Shipping Rates endpoint at `https://my-shipping-provider.com/v1/getRates`,\n       * the base URI you provide here is `https://my-shipping-provider.com/`.\n       */\n      deploymentUri?: string;\n      /** Human-readable name of the shipping provider. */\n      name?: string;\n      /** Description of the shipping provider. */\n      description?: string | null;\n      /** URL to more info about the shipping provider. */\n      learnMoreUrl?: string | null;\n      /** URL to reach the shipping provider app's dashboard. */\n      dashboardUrl?: string | null;\n      /** Whether to require the site owner to define a fallback/default rate. Set to `true` if you do not provide rates as part of the integration. */\n      fallbackDefinitionMandatory?: boolean;\n      /**\n       * Thumbnail image of the shipping rates provider. Displayed in the shipping settings section in the Dashboard.\n       * The URL must be of an image uploaded to the [Wix Media Manager](https://support.wix.com/en/article/wix-media-uploading-media-to-the-media-manager).\n       */\n      thumbnailUrl?: string | null;\n  }\n  interface ShippingLabelCarrierSpiConfig {\n      /** the base URI where all the methods are deployed */\n      baseUri?: string;\n      /** the countries supported to send from */\n      originCountries?: string[];\n      /** the countries supported to send to */\n      destinationCountries?: string[];\n      /** the currency of the labels */\n      currency?: string;\n      /** the measurement system of he labels (Metric or Imperial) */\n      measurementSystem?: MeasurementSystem;\n      /** does carrier support insurance */\n      isInsuranceSupported?: boolean;\n      /** preset carrier packages */\n      packageTypes?: PackageType[];\n  }\n  enum MeasurementSystem {\n      Metric = \"Metric\",\n      Imperial = \"Imperial\"\n  }\n  interface PackageType {\n      /** carrier id that can be used to get quotes and purchase */\n      _id?: string;\n      /** display name of the package (translated) */\n      name?: string;\n      /** description (translated) */\n      description?: string;\n      /** the dimensions of the package */\n      dimension?: PackageDimension;\n      /** image of the package (Optional) */\n      image?: Image;\n  }\n  interface PackageDimension {\n      /** width of the package */\n      width?: number;\n      /** length of the package */\n      length?: number;\n      /** height of the package (Optional) */\n      height?: number | null;\n  }\n  interface Image {\n      /** WixMedia image ID. */\n      _id?: string;\n      /** Image URL. */\n      url?: string;\n      /**\n       * Original image height.\n       * @readonly\n       */\n      height?: number;\n      /**\n       * Original image width.\n       * @readonly\n       */\n      width?: number;\n      /** Image alt text. Optional. */\n      altText?: string | null;\n      /**\n       * Image URL expiration date (when relevant). Optional\n       * @internal\n       */\n      urlExpirationDate?: Date;\n      /** Image filename. Optional. */\n      filename?: string | null;\n      /**\n       * Image size in bytes. Optional.\n       * @internal\n       */\n      sizeInBytes?: string | null;\n  }\n  /** Restaurants POS component */\n  interface RestaurantsPOSComponentData {\n      /**\n       * URL for the Restaurants POS registration web page.\n       * The App Instance and Account Id query parameters are attached to the registration URL\n       * so that you can identify your account when accessing the vendor api. [learn more](https://devforum.wix.com/en/article/app-instance)\n       */\n      registrationUrl?: string;\n      /**\n       * The base URL for all the Restaurants POS api calls.\n       * Description of end points and schema can be find in the Restaurants POS documentation.\n       */\n      apiBaseUri?: string;\n      /** Configuration parameters defining the behavoiur of the catalog sync. */\n      catalogSyncConfiguration?: CatalogSyncConfiguration;\n  }\n  interface CatalogSyncConfiguration {\n      /** Whether Menu/Section/Dish availability will be updated on the POS side or on Wix Menus. */\n      entityAvailabilityUpdated?: Default;\n      /** Whether fulfillment method will be defined on the POS side or on Wix menus. */\n      fulfillmentMethodsDefinition?: Default;\n      /** Whether Dish images will be updated on the POS side or on Wix Menus. */\n      dishImagesUpdated?: Default;\n      /** Whether sorting (Menu/Category/Dish/Options) will be done on the POS side (API order) or on Wix Menus. */\n      entitySortingControl?: Default;\n      /** Whether Labels will be updated on the POS side or on Wix Menus. */\n      dishLabelsUpdated?: Default;\n      /** whether min/max amount of choices to be set on the POS side or on Wix Menus. */\n      dishOptionsMinMaxUpdated?: Default;\n      /** Whether Dish in/out of stock will be updated on Wix Menus or retrieved from POS. */\n      dishInStockUpdated?: Default;\n  }\n  enum Default {\n      WIX = \"WIX\",\n      POS = \"POS\"\n  }\n  interface ShippingProviderConfig {\n      /** URI configuration of the deployment */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the shipping provider */\n      shippingCompanyName?: string;\n      /** Cost of making a shipment */\n      shippingPrice?: number;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  interface AlertEnricherSpiConfiguration {\n      deploymentUri?: string;\n  }\n  /** A component holding schema of Data Extensions */\n  interface DataExtensionsComponentData {\n      /**\n       * Deprecated, use fqdn and schema instead.\n       * @internal\n       */\n      schemas?: Record<string, string>;\n      /** FQDN of the entity that the application extends */\n      fqdn?: string;\n      /** Schema of the extended fields in JSON Schema compatible format */\n      schema?: Record<string, any> | null;\n  }\n  interface GenericHooksConfig {\n      /** Hook definitions */\n      hooks?: GenericHookConfig[];\n  }\n  enum HookType {\n      UNDEFINED = \"UNDEFINED\",\n      BEFORE_BLOCKING = \"BEFORE_BLOCKING\",\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\"\n  }\n  interface GenericHookConfig {\n      /** FQN of proto service */\n      serviceFqn?: string;\n      /** Name of RPC inside given proto service */\n      methodName?: string;\n      /** An URI, which uniquely identifies the hook for invocation */\n      uri?: string;\n      /** Type of hook */\n      hookType?: HookType;\n  }\n  interface ActionProviderSPIConfig {\n      /** URL to action provider service for this action */\n      baseUri?: string;\n      /** action SPI configuration */\n      actionConfig?: ActionSPIConfig;\n  }\n  interface ActionSPIConfig {\n      /** identifier for this action - human readable action key - unique per app def id */\n      actionKey?: string;\n      /**\n       * The action expects the following input\n       * The schema is described according to JSON Schema standard: https://json-schema.org/\n       *\n       * Example - Add Label to Contact Action input schema:\n       * {\n       * \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n       * \"type\": \"object\",\n       * \"title\": \"Add label to contact input schema\",\n       * \"description\": \"The schema of the json that is sent when invoking this add label to contact action\",\n       * \"default\": {},\n       * \"examples\": [\n       * {\n       * \"contactId\": \"a647eb32-c5f4-11ec-9d64-0242ac120002\",\n       * \"labelId\": \"1e8b5e5e-dba2-11ec-9d64-0242ac120002\"\n       * }\n       * ],\n       * \"required\": [\n       * \"contactId\",\n       * \"labelId\"\n       * ],\n       * \"properties\": {\n       * \"contactId\": {\n       * \"$id\": \"#/properties/contactId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Contact Id\",\n       * \"description\": \"The Id of the contact to apply the label to\",\n       * \"default\": \"\",\n       * \"identityType\": \"contact\" // can be contact/visitor/user, limited to 1 type per identity.\n       * },\n       * \"labelId\": {\n       * \"$id\": \"#/properties/labelId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Label Id\",\n       * \"description\": \"The Id of label to apply\",\n       * \"default\": \"\",\n       * }\n       * }\n       * }\n       */\n      inputSchema?: Record<string, any> | null;\n      /**\n       * The output of the action which will be added to the payload after execution\n       * The schema is described according to JSON Schema standard: https://json-schema.org/\n       *\n       * Example - Output of create task action\n       * {\n       * \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n       * \"type\": \"object\",\n       * \"title\": \"Create task action schema\",\n       * \"description\": \"The schema of the json that is sent when invoking this create task action\",\n       * \"default\": {},\n       * \"examples\": [\n       * {\n       * \"taskId\": \"a647eb32-c5f4-11ec-9d64-0242ac120002\",\n       * }\n       * ],\n       * \"required\": [\n       * \"taskId\"\n       * ],\n       * \"properties\": {\n       * \"taskId\": {\n       * \"$id\": \"#/properties/taskId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Contact Id\",\n       * \"description\": \"The Id of the task created\",\n       * \"default\": \"\",\n       * }\n       * }\n       * }\n       */\n      outputSchema?: Record<string, any> | null;\n      /** actions display name - human readable field. ex. - \"Send SMS\" */\n      displayName?: string | null;\n      description?: string | null;\n      /** specifies which optional methods were implemented */\n      implementedMethods?: ImplementedMethods;\n      /**\n       * Lets us know if we should wait for the action to complete before executing the next actions or finish and\n       * expect a call back in actionCompleted method\n       */\n      executionType?: ExecutionType;\n      metadata?: Metadata;\n      /** chosen ui interface for action */\n      interfaceConfiguration?: InterfaceConfiguration;\n      /** icon representing the action in UI */\n      icon?: string;\n  }\n  enum InterfaceConfigurationType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      WIDGET_COMPONENT = \"WIDGET_COMPONENT\",\n      GENERIC = \"GENERIC\"\n  }\n  interface WidgetComponentOptions {\n      /** name of provided component */\n      componentName?: string;\n  }\n  interface GenericOptions {\n      /** ui schema */\n      uiSchema?: Record<string, any> | null;\n  }\n  interface ImplementedMethods {\n      /** implements ValidateConfiguration */\n      validateConfiguration?: boolean;\n      /** implements DuplicateInputMapping */\n      duplicateInputMapping?: boolean;\n      /** implements GenerateApplicationAutomationInputMapping */\n      generateApplicationAutomationInputMapping?: boolean;\n      /** implements GetQuotaInfo */\n      getQuotaInfo?: boolean;\n      /** implements OnBeforeSave */\n      onBeforeSave?: boolean;\n      /** implements OnReset */\n      onReset?: boolean;\n      /** implements generateActionInputMappingFromTemplate */\n      generateActionInputMappingFromTemplate?: boolean;\n      /** implements OnRemove */\n      onRemove?: boolean;\n      /** Implements GetDynamicInputSchema */\n      getDynamicInputSchema?: boolean;\n  }\n  enum ExecutionType {\n      UNKNOWN_EXECUTION_TYPE = \"UNKNOWN_EXECUTION_TYPE\",\n      SYNC = \"SYNC\",\n      ASYNC = \"ASYNC\"\n  }\n  interface Metadata {\n      /** if the action is hidden from Users in the UI (Wizard) */\n      hidden?: boolean;\n  }\n  interface InterfaceConfiguration extends InterfaceConfigurationOptionsOneOf {\n      widgetComponentOptions?: WidgetComponentOptions;\n      genericOptions?: GenericOptions;\n      /** type of chosen interface */\n      type?: InterfaceConfigurationType;\n  }\n  /** @oneof */\n  interface InterfaceConfigurationOptionsOneOf {\n      widgetComponentOptions?: WidgetComponentOptions;\n      genericOptions?: GenericOptions;\n  }\n  interface CatalogSPIConfig {\n      /** The URL of the SPI implementation */\n      deploymentUri?: string;\n      /** The enablement and UI configuration for discount of all items in the catalog */\n      allItemsDiscount?: DiscountConfig;\n      /** The enablement and UI configuration for discount of specific items in the catalog */\n      specificItemsDiscount?: DiscountConfig;\n  }\n  interface DiscountConfig {\n      /** Signifies if the discount is  enabled  in the service */\n      enabled?: boolean;\n      /** The translation key to get the text to display to the user */\n      translationKey?: string;\n  }\n  /** A container (slot) that can be extended by other applications (e.g. widget slot or context menu slot) */\n  interface BackOfficeExtensionContainer {\n      /** The properties that define this container */\n      extendable?: Extendable;\n      /**\n       * The platform this page is hosted on (e.g. Wix Dashboard)\n       * @internal\n       */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n  }\n  /** Extensibility properties used by containers (slots) */\n  interface Extendable {\n      /** Component type allowed in this extendable (enum) */\n      extendedBy?: ExtendingComponentType;\n  }\n  /** Which component types can be extended in containers */\n  enum ExtendingComponentType {\n      INVALID = \"INVALID\",\n      BACK_OFFICE_MENU_ITEM = \"BACK_OFFICE_MENU_ITEM\",\n      BACK_OFFICE_EXTENSION_WIDGET = \"BACK_OFFICE_EXTENSION_WIDGET\"\n  }\n  /** List of back-office hosting platforms */\n  enum BackOfficeHostingPlatforms {\n      NO_HOSTING_PLATFORM = \"NO_HOSTING_PLATFORM\",\n      /** Site Dashboard (The Wix Dashboard) */\n      BUSINESS_MANAGER = \"BUSINESS_MANAGER\",\n      /** User Account Dashboard */\n      ACCOUNT_MANAGER = \"ACCOUNT_MANAGER\",\n      /** Internal: Dev center */\n      DEV_CENTER = \"DEV_CENTER\",\n      /** Enterprise dashboard (available to enterprise accounts only) */\n      ENTERPRISE = \"ENTERPRISE\",\n      /** Partners dashboard (available to partners accounts only) */\n      PARTNERS_DASHBOARD = \"PARTNERS_DASHBOARD\",\n      /** Employee only financial support dashboard */\n      FINANCIALS_INTERNAL_BO = \"FINANCIALS_INTERNAL_BO\",\n      /** FED Guild POC dashboard */\n      FED_GUILD_POC = \"FED_GUILD_POC\",\n      /** Studio dashboard */\n      STUDIO_DASHBOARD = \"STUDIO_DASHBOARD\",\n      /** Channels dashboard (available to channels accounts only) */\n      CHANNELS = \"CHANNELS\",\n      /** Wix internal dashboard for data tools */\n      DATA_TOOLS = \"DATA_TOOLS\",\n      /** Internal back-office for payment service provider management */\n      PSP_BACKOFFICE = \"PSP_BACKOFFICE\",\n      /** Rise.ai account dashboard */\n      RISE_PLATFORM_ACCOUNT_DASHBOARD = \"RISE_PLATFORM_ACCOUNT_DASHBOARD\",\n      /** Enterprise demo dashboard (available to possible enterprise accounts for demo purposes) */\n      DEMO_DASHBOARD_ENTERPRISE = \"DEMO_DASHBOARD_ENTERPRISE\"\n  }\n  /**\n   * A component that enables extending Wix Dashboard Functionality, as defined by ExtendingComponentType.\n   * Currently this supports extending menus and extending widget slots (for Wix apps that expose such menus and slots)\n   */\n  interface BackOfficeExtension extends BackOfficeExtensionExtensionOneOf {\n      /** Data for the widget extension type */\n      widget?: LegacyBackOfficeExtensionWidget;\n      /** Data for the menu item extension type */\n      menuItem?: LegacyBackOfficeMenuItem;\n      /** The Identifier of the container that this extension applies to (e.g. Widget slot or menu slot) */\n      extends?: string;\n      /** The title of the extension, as displayed in Dev Center */\n      title?: string;\n      /** The description of the extension, as displayed in Dev Center */\n      description?: string | null;\n      /** The type of this extension (e.g. Widget extension) */\n      extensionType?: ExtendingComponentType;\n      /** The platform this page is hosted on (e.g. The Wix Dashboard, or Enterprise Dashboard) */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /**\n       * Required permission to view the extension.\n       * @internal\n       */\n      requiredPermission?: string;\n      /**\n       * Sentry error reporting DSN (internal)\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n  }\n  /** @oneof */\n  interface BackOfficeExtensionExtensionOneOf {\n      /** Data for the widget extension type */\n      widget?: LegacyBackOfficeExtensionWidget;\n      /** Data for the menu item extension type */\n      menuItem?: LegacyBackOfficeMenuItem;\n  }\n  /** The schema of a widget extending a slot exposed in a page in the Wix Dashboard */\n  interface LegacyBackOfficeExtensionWidget extends LegacyBackOfficeExtensionWidgetAssetOneOf {\n      /** Url of the iframe to render in the widget */\n      iframeUrl?: string;\n      /**\n       * Wix script asset to use in this widget\n       * @internal\n       */\n      scriptAsset?: BackOfficeScriptAsset;\n      /** Initial widget width size in pixels while loading, width may be adjusted dynamicaly according to content and/or limited by the container */\n      width?: number | null;\n      /** Initial widget height size in pixels while loading, height may be adjusted dynamicaly according to content and/or limited by the container */\n      height?: number | null;\n  }\n  /** @oneof */\n  interface LegacyBackOfficeExtensionWidgetAssetOneOf {\n      /** Url of the iframe to render in the widget */\n      iframeUrl?: string;\n      /**\n       * Wix script asset to use in this widget\n       * @internal\n       */\n      scriptAsset?: BackOfficeScriptAsset;\n  }\n  /** Internal: Specifications for loading an asset via JS in the back office */\n  interface BackOfficeScriptAsset {\n      /** The JavaScript file to load */\n      url?: string;\n      /** Namespacing of the component in the Webpack Module Federation registry */\n      containerId?: string;\n      /** Key name for the retrieval of the component */\n      exportedName?: string;\n      /** Optional: What type should by used on <script> tag. */\n      scriptType?: BackOfficeScriptAssetType;\n  }\n  /** Type attribute for the script tag */\n  enum BackOfficeScriptAssetType {\n      /** Script will be loaded without a type attribute */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** Use \"module\" as the script type */\n      MODULE = \"MODULE\"\n  }\n  /** The schema of a menu extension of a slot exposed in a page in the Wix Dashboard */\n  interface LegacyBackOfficeMenuItem {\n      /**\n       * WSR icon identifier. To see the full list: https://www.wix-style-react.com/storybook/?path=/story/foundations-icons--icons\n       * Please use the full size key - the icon will be rendered in a small/normal size\n       */\n      iconKey?: string | null;\n      /** The action that will be invoked when clicking on the menu entry */\n      action?: Action;\n      /** The SubTitle of the menu item */\n      subtitle?: string | null;\n  }\n  /** View modes for how to open a component */\n  enum ViewMode {\n      /** Opens a page in place of the current page */\n      PAGE = \"PAGE\",\n      /** Opens as a Modal over the current page */\n      MODAL = \"MODAL\"\n  }\n  /** the schema of the data needed to open a component from menu extensions */\n  interface OpenComponent {\n      /** The component ID that should be opened */\n      componentId?: string;\n      /** Determines how to open the component in runtime */\n      viewMode?: ViewMode;\n      /** Query/Search static params for navigation to page or props for modal */\n      componentParams?: Record<string, string>;\n  }\n  /** The schema of an action that is onvoked from menu extensions */\n  interface Action {\n      /** The configuration and data of the component that is opened upon invocation of this action */\n      openComponent?: OpenComponent;\n  }\n  interface TriggerProviderSPIConfig {\n      /**\n       * The trigger configuration\n       *\n       * example of a trigger:\n       *\n       * {\n       * appId: \"56cc7843-fdfc-417f-a660-d4af9a2eafe3\",\n       * triggerKey: \"form_submit\",\n       * displayName: \"Visitor submits a form\",\n       * payloadDataSchema: {\n       * \"$schema\": \"http://json-schema.org/draft-07/schema\",\n       * \"type\": \"object\",\n       * \"title\": \"Visitor submits a form Payload Schema\",\n       * \"description\": \"The schema of the payload that is part of the triggered event\",\n       * \"default\": {},\n       * \"examples\": [\n       * {\n       * \"formId\": \"60d2cd50-1047-4164-884d-8c24fbda84bb\",\n       * \"formName\": \"My Cool Form\n       * }\n       * ],\n       * \"properties\": {\n       * \"formId\": {\n       * \"$id\": \"#/properties/formId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Form ID\",\n       * \"description\": \"The form identifier\",\n       * \"default\": \"\",\n       * \"examples\": [\n       * \"60d2cd50-1047-4164-884d-8c24fbda84bb\"\n       * ]\n       * },\n       * \"formName\": {\n       * \"$id\": \"#/properties/formName\",\n       * \"type\": \"string\",\n       * \"title\": \"Form Name\",\n       * \"description\": \"The form display name\",\n       * \"default\": \"\",\n       * \"examples\": [\n       * \"My Form\"\n       * ]\n       * },\n       * \"contactId\": {\n       * \"$id\": \"#/properties/contactId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Contact Id\",\n       * \"description\": \"The Id of the contact which submitted the form\",\n       * \"default\": \"\",\n       * \"identityType\": \"contact\", // can be contact, visitor, user limited to 1 type per identity,\n       * \"name\": \"contact\" // friendly name to be used later on, in order to user that person's data \"contact.firstName\"\n       * }\n       * },\n       * \"required\": [\n       * \"formId\",\n       * \"formName\",\n       * \"contactId\"\n       * ],\n       * \"additionalProperties\": false\n       * }\n       * }\n       */\n      triggerConfig?: Record<string, any> | null;\n      /** URL to the trigger provider service */\n      baseUri?: string;\n  }\n  interface PreRegisterConfig {\n      /** the base URI where all the methods are deployed. */\n      baseUri?: string;\n  }\n  interface ProductsPathsConfig {\n      /** implementer's deployment uri */\n      deploymentUri?: string;\n  }\n  interface CustomScopeConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n  }\n  interface GiftCardProviderConfig {\n      /** The URL of the SPI implementation */\n      deploymentUri?: string;\n  }\n  interface ExternalFilterProviderConfig {\n      /** the base URI where all the methods are deployed. E.g */\n      baseUri?: string;\n  }\n  interface RecommendationsProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** app ids of catalogs for which related items can be found */\n      catalogAppIds?: string[];\n      /** supported algorithms */\n      supportedAlgorithms?: AlgorithmConfig[];\n  }\n  interface AlgorithmConfig {\n      /** Algorithm id which will be sent in requests. It must be unique per provider. */\n      _id?: string;\n      /** Name which will be shown to user in list of algorithms available for site. For example \"Best sellers\", \"Frequently watched together\". This value is not translatable. */\n      name?: string;\n      /** Description of algorithm which will be shown to user in list of algorithms available for site. This value is not translatable. It should describe how algorithm works, if it has any limitations regarding site content, number of items, site traffic and so on. */\n      description?: string;\n      /** This field can be used when `description ` field is not enough to describe algorithm and you want to have separate section with additional info. It can be used to not overload user with too much information on main page. Depending on frontend implementation it can be displayed as tooltip or as additional section which is collapsed by default. */\n      additionalInfo?: string | null;\n      /**\n       * `RELATED_ITEMS` - algorithm provides recommendations based on some other items interested for user/user of user. For example once one item added to cart algorithm can suggest other items frequently bought together with given one.\n       * `GLOBAL` - algorithm provides generic recommendations for given site. For example, best sellers items or new arrivals\n       */\n      algorithmType?: AlgorithmType;\n  }\n  enum AlgorithmType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      RELATED_ITEMS = \"RELATED_ITEMS\",\n      GLOBAL = \"GLOBAL\"\n  }\n  interface DropshippingProviderSPIConfig {\n      /** name of the dropshipping provider was it appears in relevant screens/mails in eComm Platform */\n      name?: string;\n      /** The URL of the SPI implementation - not needed in this case */\n      deploymentUri?: string;\n      /** URI for the thumbnail page */\n      thumbnailUri?: string;\n      /** URI of the dashboard page */\n      dashboardUri?: string;\n      /** if duplication operation for product is locked */\n      duplicateProduct?: LockableOperation;\n      /** whether there is a warning or not when price is changed */\n      changePrice?: RestrictedOperation;\n      /** whether the chagne inventory operations are locked */\n      changeInventory?: LockableOperation;\n      /** where there is a warning of not when changing options */\n      manageOptions?: RestrictedOperation;\n  }\n  enum LockableOperation {\n      /** When operation lockability is not specified */\n      UNSPECIFIED_LOCKABLE = \"UNSPECIFIED_LOCKABLE\",\n      /** Operation is locked */\n      LOCKED = \"LOCKED\",\n      /** Operation is unlocked */\n      UNLOCKED = \"UNLOCKED\"\n  }\n  enum RestrictedOperation {\n      UNSPECIFIED_RESTRICTED = \"UNSPECIFIED_RESTRICTED\",\n      ALLOW = \"ALLOW\",\n      WARN = \"WARN\"\n  }\n  interface InvoicesConfig {\n      /** Base URI of spi provider */\n      baseUri?: string;\n  }\n  interface SeoKeywordsSuggestionsSPIConfig {\n      /** Base URL of your SEO implementation. Wix sends API requests to endpoints implemented using this URL. */\n      baseUri?: string;\n      /** URL of the page where users can purchase a paid plan. Wix offers a link to this page when you respond with a value of `false` in quota's `paidPlan` property. */\n      upgradeUrl?: string | null;\n      /**\n       * List of countries you support for SEO analysis.\n       * 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format.\n       */\n      supportedCountryCodes?: string[];\n      /** Whether there is a quota limit in the service. When set to true, include the quota object in responses. */\n      quotaEnabled?: boolean | null;\n      /** Your website's landing page. */\n      landingPageUrl?: string;\n  }\n  interface CustomTriggerConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n  }\n  interface ContentProviderConfig {\n      /** base uri for each implementer */\n      deploymentUri?: string;\n      /** a human readable name of the provider */\n      providerName?: string;\n      /** the maximum items allowed to read and update in a single request */\n      maximumReadingBulkSize?: number | null;\n  }\n  /** Automation Component data that is stored in dev center */\n  interface ApplicationAutomationComponent {\n      /** A rule that contains a trigger & some actions */\n      rule?: Rule;\n      /** Automation name */\n      name?: string | null;\n      /** Automation description */\n      description?: string | null;\n      /** Automation metadata */\n      metadata?: AutomationMetadata;\n      /** Automation status */\n      status?: Status;\n  }\n  interface Rule {\n      /** an event triggered by visitors on a site, or by a site manager (owner & team). */\n      trigger?: Trigger;\n      /** the actions responding to the trigger happening */\n      actions?: ServiceAction[];\n  }\n  interface Trigger {\n      /** the id of the app defining the trigger */\n      appId?: string;\n      /** Identifier for this trigger - human readable action key */\n      triggerKey?: string;\n      /** optional list of filters on schema fields */\n      filters?: Filter[];\n      /**\n       * optional - allows to define a trigger whose following actions will be executed only if the same event for the same resource has not in the last X seconds.\n       * for example, if the trigger is \"session booked\", the resource is a contact and the timeframe is 3600 seconds (contact hasn't booked another session in the last hour),\n       * then the actions will be executed only if the same event (session booked for that contact) has not happened in the last hour.\n       * resource id is sent in runtime via the externalEntityId parameter, ReportEvent method.\n       */\n      debounce?: Debounce;\n  }\n  interface Filter {\n      /** the filter identifier */\n      _id?: string | null;\n      /** the field key from the schema, for example \"formId\" */\n      fieldKey?: string;\n      /** filter expression that evaluates to a boolean, for example - {{ contains([\"guid1\",\"guid2\"];formId) }} */\n      filterExpression?: string;\n  }\n  interface Debounce {\n      /**\n       * Amount of time in seconds to wait for any additional events to occur before triggering the actions.\n       * If no additional events occur within the specified time, the actions will be triggered.\n       * If additional events occur within the specified time, the timer will be reset.\n       */\n      timeFrameInSeconds?: number;\n      /**\n       * The field key in the event payload, which indicates the identifier of the entity/event to debounce on\n       * For example: if the trigger is \"user logged in\", the resource is a contact and the resource key is \"contactId\",\n       * Another example: if the trigger is \"visitor logged in\", the resource is a visitor and the resource key is \"visitorId\".\n       */\n      fieldKey?: string;\n  }\n  interface ServiceAction {\n      /**\n       * the id of the action for delayed events\n       * @readonly\n       */\n      _id?: string | null;\n      /** the id of the app defining the action */\n      appId?: string;\n      /** Identifier for this action - human readable action key - unique per app def id */\n      actionKey?: string;\n      /**\n       * input mapping expression for the action inputs\n       * for example:\n       * `{  \"subject\": \"Thanks for reaching out!\"\n       * \"message\": \"Hi {{contact.name.first}}, thanks for contacting our business\"\n       * }`\n       * where the value for \"contact.name.first\" comes from the trigger's payload\n       */\n      actionConfig?: string;\n      /**\n       * output mapping expression for the action output\n       * for example in get-contact action:\n       * `{ \"author\": \"{{$}}\" }`\n       * This will map the entire entity of contact under `author` namespace\n       */\n      outputActionConfig?: string | null;\n      /** Optional delay configuration for the action */\n      delay?: Delay;\n      /** allows you define an activation policy - like number of activations in a time frame, or limit by some identifier, like contact (e.g. send email to user only at first login) */\n      rateLimit?: RateLimit;\n      /** allows the user to define a condition for the action to be executed, if the condition fails the action (and following actions) will not be executed */\n      condition?: ActionCondition;\n      conditions?: Conditions;\n      /** allows the user to define a namespace for the action output */\n      namespace?: string | null;\n  }\n  enum BlockType {\n      UNKNOWN = \"UNKNOWN\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  interface ConditionBlock {\n      type?: BlockType;\n      lineExpressions?: string[];\n  }\n  interface Offset extends OffsetValueOneOf {\n      /** A delay in seconds */\n      seconds?: number;\n      /** The key of the field in the trigger payload which contains a delay, in seconds. */\n      delayFieldKey?: string;\n  }\n  /** @oneof */\n  interface OffsetValueOneOf {\n      /** A delay in seconds */\n      seconds?: number;\n      /** The key of the field in the trigger payload which contains a delay, in seconds. */\n      delayFieldKey?: string;\n  }\n  /** calculated as date + delay */\n  interface Until {\n      /** The key of the field in the trigger payload which contains the date to delay until */\n      dateFieldKey?: string;\n      /** Optional: a delay to add together with the date described in the payload */\n      offset?: Offset;\n  }\n  interface Delay extends DelayTypeOneOf {\n      /** A delay which is calculated based on the immediate time when the action is triggered. */\n      for?: Offset;\n      /** A delay which is calculated based on a date field in the trigger payload. May also be used together with an Offset delay. */\n      until?: Until;\n  }\n  /** @oneof */\n  interface DelayTypeOneOf {\n      /** A delay which is calculated based on the immediate time when the action is triggered. */\n      for?: Offset;\n      /** A delay which is calculated based on a date field in the trigger payload. May also be used together with an Offset delay. */\n      until?: Until;\n  }\n  interface RateLimit {\n      /** time frame in minutes */\n      timeFrame?: number | null;\n      /** number of activations allowed in the given time frame */\n      activations?: number;\n      /** limit the activation by an entity, for example activate once per contact. example: {{contact.id}} */\n      uniqueIdentifierExpression?: string | null;\n  }\n  interface ActionCondition {\n      /**\n       * entity object is deprecated due to the new approach to conditions\n       * the condition expression, for example - {{and(gt(price;10);lt(price;100))}}\n       */\n      conditionExpression?: string;\n  }\n  interface Conditions {\n      /** condition evaluates to `true` if either of the blocks evaluate to `true` (aka OR between all) */\n      conditionBlocks?: ConditionBlock[];\n  }\n  interface AutomationMetadata {\n      /** Is this Automation hidden on a site? */\n      hidden?: boolean;\n      /** Can this Automation be deactivated on a site? */\n      alwaysActive?: boolean;\n      /** Is this Automation's scheduling modification is disabled on a site? */\n      schedulingModificationDisabled?: boolean;\n      /** Is the removal of this Automation's actions disabled? */\n      actionRemovalDisabled?: boolean;\n      /** Is conditions editing for this Automation allowed on a site? */\n      actionConditionsEditingDisabled?: boolean;\n  }\n  enum Status {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  /** Back-office sidebar categories */\n  interface BackOfficeSidebarCategory {\n      /**\n       * The hosting platform of the category\n       * @internal\n       */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** Category title, used as sidebar entry label */\n      title?: string;\n      /** Sidebar order within the app */\n      priority?: number;\n  }\n  /** A page in one of the back-office platforms */\n  interface BackOfficePage extends BackOfficePageAssetOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n      /**\n       * The platform this page is hosted on\n       * @internal\n       */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** The route of the page, must be a valid URL path, relative to the app namespace or app id */\n      routePath?: string;\n      /** Routes that redirect to this page, these paths should include the original path including the namespace or app id */\n      previousRoutePaths?: string[];\n      /** Page title, also used as sidebar entry label */\n      title?: string;\n      /** False by default, if true, sidebar will be hidden when loading the page */\n      fullPage?: boolean;\n      /**\n       * Required permission to view page. if subject is missing this permission, the page link will be hidden from the sidebar and a \"no-permission-page\" will be displayed when visiting the route\n       * @internal\n       */\n      requiredPermission?: string;\n      /** Optional: category this page belongs to */\n      pageCategoryId?: string | null;\n      /** Should the page be shown or hidden in the sidebar, by default a link to the page will be shown */\n      hideInSidebar?: boolean;\n      /** Sidebar order within the category and app, lower priority means the page is earlier, by default priority is 0, meaning newer pages will appear first */\n      priority?: number;\n      /** Which page is active in sidebar when this page is loaded */\n      activeSidebarPageId?: string | null;\n      /**\n       * Sentry error reporting DSN\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n  }\n  /** @oneof */\n  interface BackOfficePageAssetOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n  }\n  interface AdditionalFeesSPIConfig {\n      /**\n       * Base URI where the endpoints are called.\n       * Wix eCommerce appends the endpoint path to the base URI.\n       * For example, to call the Calculate Additional Fees endpoint at `https://my-additional-fees.com/v1/calculateAdditionalFees`,\n       * the base URI you provide here is `https://my-additional-fees.com/`.\n       */\n      deploymentUri?: string;\n      /**\n       * If not specified, the cache layer will apply for 5 minutes. Set to \"false\" to prevent caching, but be aware that this may affect performance. Default: true\n       * @internal\n       */\n      cacheable?: boolean | null;\n  }\n  /** Describes a notification that can be sent to users */\n  interface PingNotificationComponentData {\n      /**\n       * The ID of a specific version of the notification template.\n       * @internal\n       */\n      templateId?: string;\n  }\n  interface BookingsPricingProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** User-friendly name of the pricing provider */\n      pricingProviderName?: string;\n  }\n  interface AuthenticatorConfig {\n      /** the base URI where all the methods are deployed. */\n      baseUri?: string;\n      /** Is the enrolment step required (eg. for saving the password, public key, etc.) */\n      requireUserEnroll?: boolean;\n      /** Information required during the enrollment and authentication processes */\n      expectedInputs?: ExpectedInputs;\n  }\n  interface ExpectedInputs {\n      /** Inputs that will be expected from the user at the start of the process of trying to enroll or authenticate */\n      expectedStartInputs?: PredefinedExpectedInput[];\n      /** Inputs that may be required during a second step of enroll/authenticate, specified at runtime by sending a Verify response */\n      expectedVerifyInputs?: PredefinedExpectedInput[];\n  }\n  /**\n   * Specifies an expected input that can be fully configured by the SPI implementor, perhaps with overrides by the admin, _before_ runtime.\n   * Notably, this does not include WebAuthn, as that input requires a unique, random challenge to be generated and persisted per request (ie at runtime)\n   * in order to be implemented correctly.\n   */\n  interface PredefinedExpectedInput {\n      /** The key used to identify the value entered into the input in the user_start_inputs or user_verify_inputs map */\n      key?: string;\n      /** The name of the input as it should be indicated to the user */\n      displayName?: string;\n      /** The configuration for the input */\n      configuration?: PredefinedExpectedInputConfiguration;\n  }\n  interface PredefinedExpectedInputConfiguration extends PredefinedExpectedInputConfigurationTypeOneOf {\n      textInput?: AdminConfigurableTextInput;\n  }\n  /** @oneof */\n  interface PredefinedExpectedInputConfigurationTypeOneOf {\n      textInput?: AdminConfigurableTextInput;\n  }\n  interface AdminConfigurableTextInput {\n      /** The default settings for the text input */\n      defaultSettings?: TextInputSettings;\n      /**\n       * Settings that must be have non-null values.\n       * This must be a subset of admin_configurable_settings.\n       * @internal\n       */\n      requiredSettings?: string[];\n      /**\n       * Settings that the admin may override.\n       * This must be a valid FieldMask with respect to TextFieldSettings as the root object.\n       * @internal\n       */\n      adminConfigurableSettings?: string[];\n  }\n  interface TextInputSettings {\n      /** The minimum length required for the user to enter */\n      minLength?: number | null;\n      /** The maximum length allowed for the user to enter */\n      maxLength?: number | null;\n      /** A regex that the text entered by the user must match */\n      regex?: string | null;\n      /** How should the field be displayed to the end user */\n      displayType?: TextInputDisplayType;\n  }\n  enum TextInputDisplayType {\n      /** A regular text field */\n      TEXT = \"TEXT\",\n      /** A password field (where the text is hidden visually) */\n      PASSWORD = \"PASSWORD\",\n      /** A field optimized for one time codes */\n      CODE = \"CODE\"\n  }\n  interface IDPConnectionConfig {\n      /** the base URI where all the methods are deployed. */\n      baseUri?: string;\n      /** Information required from the admin when he will install the app; */\n      requiredConfig?: Record<string, string>;\n  }\n  interface ItemsSelectionProviderConfig {\n      /** Base URI which Wix calls to retrieve the selected items. For example, `\"deploymentUri\": \"https://my-items.com\"`. */\n      deploymentUri?: string;\n      /** A unique identifier for the provider. */\n      key?: string;\n      /** Supported search parameters. */\n      searchParams?: SearchParams;\n      /** Display data such as provider name and icon. */\n      contentData?: ContentData;\n      /**\n       * Optional additional step taken after the initial item selection.\n       * @internal\n       */\n      additionalStepInfo?: AdditionalStepInfo;\n      /** An array of strings representing the Wix UI pages supported by your SPI implementation. If no tags are listed, Wix assumes that the implementation supports all eligible pages. */\n      supportedTags?: Tag[];\n      /**\n       * Optional create new item option, to define a widget that will be opened to create a new item\n       * @internal\n       */\n      createNewItemInfo?: CreateNewItemInfo;\n  }\n  interface LearnMore {\n      /** The url of the learn more link. If you want a dynamic url according to the user locale, you can add {{locale}} variable within the string. */\n      url?: string;\n      /** Optional link label. */\n      label?: string | null;\n  }\n  interface SearchField {\n      /** Supported searchable fields. */\n      key?: string;\n      /** Item description. */\n      description?: string;\n  }\n  interface FilterInfo extends FilterInfoOptionsOneOf {\n      /** Static hardcoded options */\n      staticOptions?: StaticFilterOptions;\n      /** Key of the filter */\n      key?: string;\n      /** Optional filter will be shown only for consumers with this tag. Only one filter is allowed per tag. */\n      tag?: Tag;\n      /** The filter selection type. For now only single selection is available */\n      selectionType?: FilterSelectionType;\n      /** Filter options type. For now only static options are supported */\n      optionsType?: FilterOptionsType;\n  }\n  /** @oneof */\n  interface FilterInfoOptionsOneOf {\n      /** Static hardcoded options */\n      staticOptions?: StaticFilterOptions;\n  }\n  enum Tag {\n      UNKNOWN_TAG = \"UNKNOWN_TAG\",\n      EMBEDDABLE = \"EMBEDDABLE\",\n      ECOM_EDIT_ORDER = \"ECOM_EDIT_ORDER\",\n      ECOM_CREATE_ORDER = \"ECOM_CREATE_ORDER\",\n      INBOX = \"INBOX\"\n  }\n  enum FilterSelectionType {\n      UNKNOWN_SELECTION = \"UNKNOWN_SELECTION\",\n      /** Allow to select only a single item */\n      SINGLE_SELECTION = \"SINGLE_SELECTION\"\n  }\n  enum FilterOptionsType {\n      UNKNOWN_FILTER_OPTIONS = \"UNKNOWN_FILTER_OPTIONS\",\n      /** Static hardcoded options */\n      STATIC = \"STATIC\"\n  }\n  interface StaticFilterOptions {\n      /** List of hardcoded options for a filter */\n      data?: StaticFilterOption[];\n  }\n  interface StaticFilterOption {\n      /** Title of a filter option */\n      label?: string;\n      /** Value of a filter option */\n      value?: string;\n  }\n  interface SearchParams {\n      /** Supported search parameters. */\n      fields?: SearchField[];\n      /** Filter for viewing only part of the items. */\n      filter?: FilterInfo;\n  }\n  interface ContentData {\n      /** Provider icon. Choose an icon name from the [Wix Design System](https://www.wixdesignsystem.com/). */\n      iconKey?: string | null;\n      /** Provider name. */\n      providerName?: string;\n      /** Item title. */\n      title?: string;\n      /** Button label. */\n      button?: string;\n      /** Item description. */\n      subtitle?: string | null;\n      /** Learn more link. */\n      learnMore?: LearnMore;\n  }\n  interface AdditionalStepInfo {\n      /** ID of the widget associated with the step. */\n      widgetId?: string;\n      /** Title of the additional step. */\n      title?: string;\n      /** Subtitle of the additional step. */\n      subtitle?: string | null;\n      /** Hide item note if exists when showing selected item on additional step header, default: false. */\n      hideItemNote?: boolean | null;\n  }\n  interface CreateNewItemInfo {\n      /** ID of the widget associated with the new item modal. */\n      widgetId?: string;\n      /**\n       * one app (mobile) component id that will be opened to create a new item\n       * @internal\n       */\n      mobileComponentId?: string | null;\n      /** Button label for creating a new item */\n      buttonText?: string | null;\n  }\n  interface SyncedProjectsProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: string;\n      /** The Provider Name */\n      providerName?: string;\n      /** which project's fields are synced by the provider, and therefore will not be editable through wix portfolio project page. */\n      projectSyncedFields?: string[];\n  }\n  interface CommunicationChannelConfiguration {\n      deploymentUri?: string;\n      config?: ChannelConfiguration;\n  }\n  interface ChannelConfiguration extends ChannelConfigurationMessagingConfigOneOf {\n      directMessageConfig?: DirectMessageConfig;\n      emailMessageConfig?: EmailMessageConfig;\n      smsMessageConfig?: SmsMessageConfig;\n      /** The type of the communication channel */\n      type?: ChannelType;\n      /** Specific provider branding parameters for the channel */\n      branding?: ChannelBranding;\n      /** Conversation initiation definition */\n      conversationLimitations?: ConversationLimitations;\n  }\n  /** @oneof */\n  interface ChannelConfigurationMessagingConfigOneOf {\n      directMessageConfig?: DirectMessageConfig;\n      emailMessageConfig?: EmailMessageConfig;\n      smsMessageConfig?: SmsMessageConfig;\n  }\n  /** The type of the communication channel */\n  enum ChannelType {\n      UNKNOWN_CHANNEL_TYPE = \"UNKNOWN_CHANNEL_TYPE\",\n      DIRECT_MESSAGING = \"DIRECT_MESSAGING\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\"\n  }\n  interface DirectMessageConfig {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      acceptAllMessageTypes?: boolean;\n      /**\n       * Direct message types accepted by the provider. only those types will be sent from Wix\n       * If all are excepted this field can be left empty and there's no need to explicitly state types\n       */\n      acceptedMessageTypes?: AcceptedDirectMessageType[];\n      /** Elaborates what media types (mime types) and sizes are supported */\n      mediaCapabilities?: MediaCapabilities;\n  }\n  enum AcceptedDirectMessageType {\n      TEXT = \"TEXT\",\n      MEDIA = \"MEDIA\",\n      CARD = \"CARD\",\n      ANNOUNCEMENT = \"ANNOUNCEMENT\",\n      FORM = \"FORM\"\n  }\n  interface MediaCapabilities {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      allMediaTypes?: boolean;\n      /**\n       * List for supported media types\n       * If all are excepted this field can be left empty and there's no need to explicitly state types\n       */\n      supportedMediaTypes?: MediaMimeType[];\n      /** Maximum file size in bytes of a single file in a message */\n      maxFileSizeInBytes?: number | null;\n  }\n  /** Mime type for relevant media entities in channels */\n  enum MediaMimeType {\n      UNKNOWN_MIME_TYPE = \"UNKNOWN_MIME_TYPE\",\n      IMAGE_JPEG = \"IMAGE_JPEG\",\n      IMAGE_PNG = \"IMAGE_PNG\",\n      IMAGE_WEBP = \"IMAGE_WEBP\",\n      VIDEO_MPEG = \"VIDEO_MPEG\",\n      VIDEO_MP4 = \"VIDEO_MP4\",\n      VIDEO_3GP = \"VIDEO_3GP\",\n      AUDIO_AAC = \"AUDIO_AAC\",\n      AUDIO_MP4 = \"AUDIO_MP4\",\n      AUDIO_MPEG = \"AUDIO_MPEG\",\n      AUDIO_OGG = \"AUDIO_OGG\",\n      AUDIO_OPUS = \"AUDIO_OPUS\",\n      APPLICATION_PDF = \"APPLICATION_PDF\",\n      APPLICATION_OCTET_STREAM = \"APPLICATION_OCTET_STREAM\"\n  }\n  interface EmailMessageConfig {\n      /** Media (Attachment) types accepted by the provider */\n      mediaCapabilities?: MediaCapabilities;\n      /** Maximum size in bytes of total media items in a message. */\n      maxTotalFilesSizeInBytes?: number | null;\n  }\n  interface SmsMessageConfig {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      acceptAllMessageTypes?: boolean;\n      /** SMS message types accepted by the provider. only those types will be sent from Wix */\n      acceptedMessageTypes?: AcceptedSmsMessageType[];\n      /** Elaborates what media types (mime types) and sizes are supported */\n      mediaCapabilities?: MediaCapabilities;\n  }\n  enum AcceptedSmsMessageType {\n      SMS = \"SMS\",\n      MMS = \"MMS\"\n  }\n  interface ChannelBranding {\n      /** The name of the channel, e.g. `Facebook` / `SMS` */\n      displayName?: string;\n      /** Name of the channel provider (Wix, Meta, Google) */\n      providerName?: string | null;\n      /** Relevant brand icons, used when the channel is integrated */\n      brandIcons?: BrandIcons;\n  }\n  /**\n   * Brand icons required for correct channel integration\n   * todo: 1. which ones are required ?\n   * todo: 2. we may need to specify Icons specs (i.e. format and sizes)\n   */\n  interface BrandIcons {\n      default?: ChannelIcon;\n      vector?: ChannelIcon;\n      bwOutlineVector?: ChannelIcon;\n  }\n  interface ChannelIcon {\n      /** Specific Icon url */\n      url?: string | null;\n  }\n  interface ConversationLimitations {\n      /**\n       * Defines who can initiate conversation in this channel.\n       * If, `CUSTOMER` is selected, this means that only inbound\n       * messages can start a conversation (aka business can only reply and not initiate the first communication).\n       */\n      initDirection?: InitDirection;\n  }\n  enum InitDirection {\n      UNKNOWN_INIT_DIRECTION = \"UNKNOWN_INIT_DIRECTION\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\",\n      BOTH = \"BOTH\"\n  }\n  interface PostLoginConfig {\n      /** the base URI where all the methods are deployed. */\n      baseUri?: string;\n  }\n  /** A general widget in one of the back-office platforms */\n  interface BackOfficeWidget extends BackOfficeWidgetContentOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n      /**\n       * The platform this widget might be used in\n       * @internal\n       */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** Widget title */\n      title?: string;\n      /**\n       * Required permission to view this widget\n       * @internal\n       */\n      requiredPermission?: string;\n      /**\n       * Sentry error reporting DSN\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n      /** Initial widget width size in pixels while loading, width may be adjusted dynamicaly according to content and/or limited by the container */\n      width?: number | null;\n      /** Initial widget height size in pixels while loading, height may be adjusted dynamicaly according to content and/or limited by the container */\n      height?: number | null;\n  }\n  /** @oneof */\n  interface BackOfficeWidgetContentOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n  }\n  interface SocialMarketingDesignSPIConfig {\n      /** The URL of the SPI implementation */\n      baseUri?: string;\n      /** ID of the provider */\n      _id?: string;\n      /** Name of the provider */\n      name?: string;\n      /** URL of the editor */\n      editorUrl?: string;\n      /** URL of the templates page */\n      templatesPageUrl?: string;\n      /** Provider's icon, to be displayed in UI */\n      iconUrl?: string;\n  }\n  interface FormSubmissionSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** Configuration of namespaces known by implementer */\n      namespaceConfigs?: FormsSubmissionsNamespaceConfig[];\n  }\n  interface FormsSubmissionsNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: FormsPermissions;\n      /** Mark new submission as pending by default. */\n      pendingByDefault?: boolean;\n      /**\n       * Allows to disable automatic contact insert/update on contact mapping provided.\n       * On manual contact mapping enabled, the implementer is responsible for mapping the submission to a contact.\n       * Out of the box GDPR support is not available for unmapped submissions with contact PII fields.\n       */\n      manualContactMapping?: boolean;\n      /** Delete a PENDING submission after X days. */\n      deletePendingAfterDays?: number | null;\n      /** Enable indexing of submissions for search. */\n      indexForSearch?: boolean;\n  }\n  interface FormsPermissions {\n      /** Create permission name */\n      create?: string;\n      /** Delete permission name */\n      delete?: string;\n      /** Update permission name */\n      update?: string;\n      /** Read permission name */\n      read?: string;\n  }\n  /** Redirects to either a page component in the Business Manager or to a wix answers article */\n  interface WixOfferingComponentData extends WixOfferingComponentDataOfferingOneOf {\n      /** Redirect to a page in the Business Manager */\n      businessManagerPage?: BusinessManagerPage;\n      /** Redirect to an article with this ID */\n      articleGuid?: string;\n  }\n  /** @oneof */\n  interface WixOfferingComponentDataOfferingOneOf {\n      /** Redirect to a page in the Business Manager */\n      businessManagerPage?: BusinessManagerPage;\n      /** Redirect to an article with this ID */\n      articleGuid?: string;\n  }\n  interface BusinessManagerPage {\n      /** The ID of the page component to redirect to */\n      componentId?: string;\n      /** Redirect to this app state */\n      appState?: string | null;\n      /** Whether to show the regular app page in the App Market instead of redirect to the Business Manager page */\n      showRegularAppPage?: boolean;\n  }\n  /** A component used for testing dev center functionality */\n  interface DevCenterTestingComponentData extends DevCenterTestingComponentDataTranslatableOneOfOneOf {\n      translatableString?: string;\n      translatableOptionalString?: string | null;\n      translatableMessageInOneOf?: MessageContainingTranslatables;\n      /** Non translatable field */\n      nonTranslatable?: string;\n      name?: string;\n      description?: string | null;\n      translationsMap?: Record<string, string>;\n      translatableMessage?: MessageContainingTranslatables;\n      mapOfTranslatableMessages?: Record<string, MessageContainingTranslatables>;\n      baseUri?: string;\n      referenceId?: string | null;\n      referenceData?: CustomRefData;\n      priceMultiplier?: number;\n      responsePrefix?: string;\n      translatedMessagesWithUniqueField?: TranslatedMessageWithUniqueFieldRepeated[];\n      translatedMessagesWithIdField?: TranslatedMessageWithIdRepeated[];\n  }\n  /** @oneof */\n  interface DevCenterTestingComponentDataTranslatableOneOfOneOf {\n      translatableString?: string;\n      translatableOptionalString?: string | null;\n      translatableMessageInOneOf?: MessageContainingTranslatables;\n  }\n  interface MessageContainingTranslatables {\n      messageName?: string;\n      messageDescription?: string | null;\n      messageTranslationsMap?: Record<string, string>;\n  }\n  interface CustomRefData {\n      title?: string;\n      anotherTitle?: string;\n  }\n  interface TranslatedMessageWithUniqueFieldRepeated {\n      uniqueField?: string;\n      message?: string;\n  }\n  interface TranslatedMessageWithIdRepeated {\n      _id?: string;\n      message?: string;\n  }\n  /** SPI config - defines the relation between implementer URL and which types it is validates */\n  interface ComponentsValidatorConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** Component types that will be validated */\n      componentValidationTypes?: ComponentType[];\n      /** Indicates whether the validation should affect real production */\n      testMode?: boolean;\n  }\n  interface ComponentTranslationAdditionalFieldsConfig {\n      deploymentUri?: string;\n  }\n  interface FormSchemaSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** Configuration of namespaces known by implementer */\n      namespaceConfigs?: FormsSchemaNamespaceConfig[];\n  }\n  interface FormsSchemaNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: FormsPermissions;\n      /** Enable client specific form validation for the namespace, more info in ValidateFormSchema. */\n      schemaValidationEnabled?: boolean;\n      /** Restrictions associated with this namespace. */\n      restrictions?: Restrictions;\n      /** Enable translations with multilingual */\n      multilingualEnabled?: boolean;\n  }\n  interface Restrictions {\n      /** Maximum amount of forms allowed per namespace. */\n      maxFormsAmount?: number;\n      /** Maximum amount of fields allowed per form. */\n      maxFieldsAmount?: number;\n  }\n  interface ProviderConfig {\n      /** The name of the calendar provider. */\n      name?: string;\n      /** The base URI in which all methods are deployed. */\n      baseUri?: string;\n      /** The provided calendar type. */\n      calendarType?: CalendarType;\n      /** Connect methods used to connect to the calendar. */\n      connectMethods?: ConnectMethod[];\n      /** Whether the sync configuration can be updated. */\n      canUpdateSyncConfig?: boolean;\n      /** Whether events can be listed from the external calendar to the Wix calendar. */\n      listEventFromCalendars?: ListEventFromCalendars;\n      /** Whether Wix calendar sessions can be synced to the external calendar. */\n      syncToCalendar?: SyncToCalendar;\n  }\n  enum CalendarType {\n      UNDEFINED = \"UNDEFINED\",\n      GOOGLE = \"GOOGLE\",\n      I_CAL = \"I_CAL\",\n      MICROSOFT = \"MICROSOFT\",\n      OTHER = \"OTHER\"\n  }\n  enum ConnectMethod {\n      OAUTH = \"OAUTH\",\n      CREDENTIALS = \"CREDENTIALS\"\n  }\n  enum ListEventFromCalendars {\n      /** Listing events from the external calendar is not supported. */\n      LIST_NOT_SUPPORTED = \"LIST_NOT_SUPPORTED\",\n      /** Listing events from the primary external calendar only. */\n      LIST_FROM_PRIMARY_CALENDAR_ONLY = \"LIST_FROM_PRIMARY_CALENDAR_ONLY\",\n      /**\n       * Listing events from specific external calendars.\n       * The external calendars can be listed using the `ExternalCalendarProvider.ListCalendars` API.\n       */\n      LIST_FROM_SPECIFIC_CALENDARS = \"LIST_FROM_SPECIFIC_CALENDARS\"\n  }\n  enum SyncToCalendar {\n      /** Syncing Wix calendar sessions to the external calendar is not supported. */\n      SYNC_NOT_SUPPORTED = \"SYNC_NOT_SUPPORTED\",\n      /** Syncing Wix calendar sessions to the primary external calendar only. */\n      SYNC_TO_PRIMARY_CALENDAR_ONLY = \"SYNC_TO_PRIMARY_CALENDAR_ONLY\",\n      /** Syncing Wix calendar sessions to a new external calendar. */\n      SYNC_TO_DEDICATED_CALENDAR = \"SYNC_TO_DEDICATED_CALENDAR\"\n  }\n  interface DefaultTaxGroupProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** User-friendly name of the tax category */\n      taxationCategory?: string;\n      additionalCategories?: Record<string, TaxationCategoryProvider>;\n  }\n  interface TaxationCategoryProvider {\n      taxationCategory?: string;\n      /** must be a unique GUID for the category */\n      taxationCategoryUuid?: string;\n  }\n  interface DynamicSiteStructureProviderConfig {\n      /** URL to dynamic site structure provider service */\n      deploymentUri?: string;\n  }\n  interface HeadlessOAuth {\n      /** The Id of the site that uses the component. */\n      siteId?: string;\n      /** List of domains that will be allowed to be redirected to after a login. */\n      allowedDomains?: string[];\n      /** Component description. */\n      description?: string | null;\n      /** login url to automatically redirect users to from wix pages. */\n      loginUrl?: string | null;\n      /** List of uris that will be allowed to be redirected to after oAuth2 authorization. */\n      allowedRedirectUris?: string[];\n      /** A flag that indicates whether a user can resolve the app secret. */\n      blockSecretGeneration?: boolean;\n      /** logout url to automatically invoke when users logout from wix pages. */\n      logoutUrl?: string | null;\n  }\n  interface TaxCalculatorSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** User-friendly name of the tax calculator */\n      calculatorDisplayName?: string;\n      /** list of countries and boolean represents if its a white list or black list (supported or unsupported countries) */\n      taxCountriesConfig?: TaxCountriesConfig;\n  }\n  interface TaxCountriesConfig {\n      /** list of countries */\n      countries?: string[];\n      /** represents if the calculator supports tax in those countries or not */\n      isSupported?: boolean;\n  }\n  interface CommentModerationProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: string;\n      /** List of app ids which moderation implementation supports */\n      supportedAppIds?: string[];\n  }\n  interface GridAppFilesTransformerConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      /**\n       * Transformation layout which should match to value from\n       * [GridAppLayout](https://github.com/wix-private/wix-code/blob/master/editor/wix-code-ide-server-ng/proto/wix/velo/ide/v1/grid_app_layout.proto) enum.\n       * The new values should be added via PR.\n       */\n      layout?: string;\n      /** List of paths which requires content transformation to GridApp format */\n      filesContentToTransformToGridApp?: string[];\n      /** List of paths which requires content transformation to Layout format */\n      filesContentToTransformToLayout?: string[];\n  }\n  interface PolicyConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n  }\n  interface CustomChargesConfig {\n      /** implementer's base uri */\n      baseUri?: SpiBaseUri;\n  }\n  interface ValidationsSPIConfig {\n      /** Whether to validate the cart page in addition to the checkout page. Default: `false` */\n      validateInCart?: boolean;\n      /** Base URI which Wix eCommerce will call to retrieve the validation violations. For example, `\"deploymentUri\": \"https://my-validations.com\"`. */\n      deploymentUri?: string;\n  }\n  /** SPI config - defines the relation between implementer URL and which types it saves */\n  interface ComponentReferenceDataConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** Component types that contains external (reference) data that is NOT saved in DevCenter. */\n      supportedComponentTypes?: ComponentType[];\n  }\n  /** Configuration for ReviewsProductCatalogProvider */\n  interface ReviewsProductCatalogProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      /** Namespace of catalog provider */\n      namespace?: string;\n      /** Flag that indicates if verified reviews are enabled */\n      isVerifiedReviewsEnabled?: boolean;\n  }\n  interface SocialMarketingDesignsProviderConfig {\n      /** The URL of the SPI implementation */\n      baseUri?: string;\n      /** Name of the provider */\n      name?: string;\n      /** Component id (from dev center) of the editor */\n      editorComponentId?: string;\n      /** Provider's icon, to be displayed in UI */\n      iconUrl?: string;\n      /** How the Prover should be opened */\n      navigationType?: NavigationType;\n      /** Is delete design implemented by the provider */\n      deleteDesignEnabled?: boolean;\n      /** If the provider manages designs */\n      manageDesigns?: boolean;\n  }\n  enum NavigationType {\n      NAVIGATE = \"NAVIGATE\",\n      MODAL = \"MODAL\"\n  }\n  interface GbpFeatureConfig {\n      baseUri?: SpiBaseUri;\n  }\n  interface CommentFilterProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** List of app ids for which FilterComment should be invoked */\n      supportedAppIds?: string[];\n  }\n  interface TaxIdValidatorConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the tax id validator */\n      validationProvider?: string;\n      /** Configuration of supported tax types */\n      taxTypesConfig?: TaxTypesConfig;\n  }\n  interface TaxTypesConfig {\n      /** List of supported tax types, as provided in ValidateTaxIdRequest and persisted in TaxIdValidationService */\n      supportedTaxTypes?: string[];\n  }\n  /** Describes a setting group of a notification */\n  interface PingSettingsGroupComponentData {\n      title?: string;\n      /** the description of the setting group */\n      description?: string | null;\n      /** the default state of the setting group */\n      state?: PingSettingsGroupComponentDataState;\n  }\n  enum PingSettingsGroupComponentDataState {\n      UNKNOWN_STATE = \"UNKNOWN_STATE\",\n      DEFAULT_ON = \"DEFAULT_ON\",\n      DEFAULT_OFF = \"DEFAULT_OFF\",\n      ALWAYS_ON = \"ALWAYS_ON\"\n  }\n  interface FormSpamSubmissionSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** Configuration of namespaces known by implementer */\n      namespaceConfigs?: FormsSpamSubmissionsNamespaceConfig[];\n  }\n  interface FormsSpamSubmissionsNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: SpamSubmissionPermissions;\n      /**\n       * Disables Wix spam submissions filter.\n       * Spam submissions are persisted in spam submissions storage to support marking submissions as not spam.\n       */\n      wixSpamFilterDisabled?: boolean;\n  }\n  interface SpamSubmissionPermissions {\n      /** Create permission name */\n      create?: string;\n      /** Delete permission name */\n      delete?: string;\n      /** Update permission name */\n      update?: string;\n      /** Read permission name */\n      read?: string;\n      /** Report as not spam permission name */\n      reportNotSpam?: string;\n  }\n  /** Editor Addon component */\n  interface EditorAddon {\n      /** Path to a Javascript file that Editor runs on Addon install */\n      editorScriptUrl?: string;\n      /** Tool panel configuration */\n      toolPanelConfig?: ToolPanelConfig;\n      /** Information to display in Addons Market */\n      marketData?: AddonMarketData;\n  }\n  interface InitialPosition {\n      /** Offset from left */\n      x?: string;\n      /** Offset from top */\n      y?: string;\n  }\n  interface ToolPanelConfig {\n      /** Iframe URL for the Addon tool panel */\n      url?: string;\n      /** Addon tool panel width */\n      width?: string;\n      /** Addon tool panel height */\n      height?: string;\n      /** Initial position of the opened panel (offset from top left corner) */\n      initialPosition?: InitialPosition;\n  }\n  interface AddonMarketData {\n      /** The name of the Addon */\n      name?: string;\n      /** The short description of the Addon */\n      description?: string;\n      /** The icon of the Addon, should be a square image 36x36 px in `JPG` or `PNG` format */\n      iconUrl?: string | null;\n      /** Author's name */\n      author?: string;\n  }\n  interface ExternalDatabaseSpiConfig {\n      /** The URI where the service provider is deployed. */\n      uriConfig?: SpiBaseUri;\n      /** The namespace of the external database. This can be used to access collections within the database, for example `namespace/collectionId`. */\n      namespace?: string;\n      /**\n       * Indicates if database is managed by WIX.\n       * @internal\n       */\n      databaseManagedByWix?: boolean | null;\n  }\n  interface PaymentSettingsSPIConfig {\n      /** Required. Base URI which Wix eCommerce will call to retrieve the payment settings. For example, `\"deploymentUri\": \"https://my-payment-settings.com\"`. */\n      deploymentUri?: string;\n      /** The fallback value which will be used for 'requires_3d_secure' in case of a failure of the SPI call. Default: `false` */\n      fallbackValueForRequires3dSecure?: boolean;\n  }\n  /** Describes topic of a notification */\n  interface NotificationTopic {\n      /** the description of the topic */\n      description?: string | null;\n      /** the default state of the topic */\n      state?: State;\n      /** the type of the topic */\n      type?: NotificationTopicType;\n  }\n  enum State {\n      UNKNOWN_STATE = \"UNKNOWN_STATE\",\n      DEFAULT_ON = \"DEFAULT_ON\",\n      DEFAULT_OFF = \"DEFAULT_OFF\",\n      ALWAYS_ON = \"ALWAYS_ON\"\n  }\n  enum NotificationTopicType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      PROMOTIONAL = \"PROMOTIONAL\",\n      TRANSACTIONAL = \"TRANSACTIONAL\"\n  }\n  interface NotificationPreferencesFilterConfig {\n      /** the base URI where all the methods are deployed. E.g. \"https://golden-coupons.com/wix-provider\" */\n      baseUri?: SpiBaseUri;\n  }\n  /** This config provides details of the resource types that are managed by an app implementing this component SPI. */\n  interface BookingsResourceTypesProviderConfig {\n      /** References of the resource types that are managed by the app that implements this component SPI. */\n      bookingsResourceTypes?: BookingsResourceType[];\n  }\n  interface BookingsResourceType {\n      /** The ID of the resource type. Must be a GUID that is unique within the app. */\n      _id?: string | null;\n      /** The name of the resource type. This can be any string, such as 'staff' or 'table'. */\n      name?: string | null;\n  }\n  interface PricingPlansFormConfiguration {\n      /** \"Plan preview\" section configuration. */\n      planPreview?: PlanFormPreviewSection;\n      /** \"Plan info\" section configuration */\n      infoSection?: PlanFormInfoSection;\n      /** \"Settings\" section configuration */\n      settingsSection?: PlanFormPlanSettingsSection;\n      /** \"Benefits\" section configuration */\n      benefitsSection?: PlanFormBenefitsSection;\n      /** \"Pricing options\" section configuration */\n      pricingAndDurationSection?: PlanFormPricingAndDurationSection;\n      /** Custom sections to render inside the form */\n      customSections?: PlanFormCustomSection[];\n      /**\n       * Order, in which sections will be rendered. Can include default section ids or custom section component ids.\n       * Visible sections that don't exist in this array will be displayed below others, in default oder.\n       */\n      sectionOrder?: PlanFormSection[];\n      /** Information about custom plan form */\n      metadata?: PlanFormTypeMetadata;\n      /** \"Page permissions\" section configuration */\n      pagePermissions?: PlanFormPagePermissionsSection;\n      /** Initial plan data to prefill in the form */\n      initialPlanValue?: PlanFormInitialValue;\n      /** Custom form name (e.g., 'bookings-membership'). Should be unique within the app */\n      formName?: string;\n  }\n  interface TextWithTooltip {\n      /** Displayed text */\n      text?: string;\n      /** Tooltip to show next to text */\n      tooltip?: TooltipSuffix;\n  }\n  interface TooltipSuffix {\n      /** Tooltip content */\n      text?: string;\n  }\n  interface TextWithSuffix extends TextWithSuffixSuffixOneOf {\n      /** Tooltip to show next to the text */\n      suffixTooltip?: TooltipSuffix;\n      /** Link to show next to the text */\n      suffixLink?: LinkSuffix;\n      /** Hide element. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Displayed text */\n      text?: string;\n  }\n  /** @oneof */\n  interface TextWithSuffixSuffixOneOf {\n      /** Tooltip to show next to the text */\n      suffixTooltip?: TooltipSuffix;\n      /** Link to show next to the text */\n      suffixLink?: LinkSuffix;\n  }\n  interface LinkSuffix {\n      /** Hide element. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Link text */\n      text?: string;\n      /** External url to open on link click */\n      url?: string;\n      /** Text, passed to click BI event as referral_info field */\n      referralInfo?: string;\n  }\n  interface PreviewCardPlaceholders {\n      /** Placeholder plan name for preview, e.g. \"Untitled Package\" */\n      name?: string;\n  }\n  interface InputWithPlaceholder {\n      /** Input label */\n      label?: TextWithTooltip;\n      /** Input placeholder */\n      placeholder?: string;\n  }\n  interface CoverImageConfiguration {\n      /** Hide cover image input. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Cover image input label */\n      label?: TextWithTooltip;\n  }\n  interface PerksConfiguration {\n      /** Hide Perks subsection. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Perks subsection title */\n      title?: TextWithTooltip;\n      /** Perks input placeholder */\n      placeholder?: string;\n  }\n  interface CheckboxConfiguration {\n      /** \"Policy agreement checkbox\" input label */\n      label?: string;\n      /** \"Policy checkbox\" toggle configuration */\n      acceptRequiredToggle?: TextWithTooltip;\n      /** \"Checked by default\" toggle configuration */\n      acceptedByDefaultToggle?: TextWithTooltip;\n  }\n  interface PreviewConfiguration {\n      /** Preview card title */\n      title?: string;\n      /** Preview card subtitle */\n      subtitle?: string;\n      /** Label for checkbox in preview */\n      checkboxLabel?: string;\n      /** Text for \"Buy now\" in preview */\n      buttonText?: string;\n  }\n  interface TermsModalConfiguration {\n      /** Modal title */\n      title?: string;\n      /** Modal subtitle */\n      subtitle?: string;\n      /** \"Save\" button text */\n      primaryButtonText?: string;\n      /** \"Cancel\" button text */\n      secondaryButtonText?: string;\n      /** \"Terms and conditions\" input configuration */\n      input?: InputWithPlaceholder;\n      /** \"Policy agreement checkbox\" input configuratino */\n      checkbox?: CheckboxConfiguration;\n      /** Terms and conditions preview configuration */\n      preview?: PreviewConfiguration;\n      /** Modal footer text */\n      footer?: string;\n  }\n  interface ThankYouPageInputConfig {\n      /** Hide input. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Label config */\n      label?: TextWithTooltip;\n  }\n  interface ThankYouPageRedirectsConfiguration {\n      /** Hide \"Redirects\". If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** \"Redirects\" field label */\n      label?: TextWithTooltip;\n      /** \"Homde Page\" option label */\n      homePageOption?: string;\n      /** \"Other Page\" option label */\n      redirectUrlOption?: string;\n  }\n  interface ThankYouPagePreviewConfiguration {\n      /** Preview card title */\n      title?: string;\n      /** Preview card subtitle */\n      subtitle?: string;\n  }\n  interface ThankYouPageModalConfiguration {\n      /** Modal title */\n      title?: string;\n      /** Modal subtitle */\n      subtitle?: TextWithSuffix;\n      /** \"Save\" button text */\n      primaryButtonText?: string;\n      /** \"Cancel\" button text */\n      secondaryButtonText?: string;\n      /** \"Reset to default\" button text */\n      resetButtonText?: string;\n      /** Thank you page title input configuration */\n      titleInput?: ThankYouPageInputConfig;\n      /** Thank you page content input configuration */\n      messageInput?: ThankYouPageInputConfig;\n      /** Thank you page button text input configuration */\n      buttonTextInput?: ThankYouPageInputConfig;\n      /** Thank you page button action field configuration */\n      redirects?: ThankYouPageRedirectsConfiguration;\n      /** Thank you page preview configuration */\n      preview?: ThankYouPagePreviewConfiguration;\n  }\n  interface PlanSettingsRowConfiguration {\n      /** Hide row. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Row title */\n      title?: TextWithTooltip;\n      /** Row subtitle */\n      subtitle?: TextWithTooltip;\n  }\n  interface TermsAndConditionsConfiguration {\n      /** Hide row. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Row title */\n      title?: TextWithTooltip;\n      /** Row subtitle */\n      subtitle?: TextWithTooltip;\n      /** \"Plan policies\" modal configuration */\n      modal?: TermsModalConfiguration;\n  }\n  interface ThankYouPageConfiguration {\n      /** Hide row. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Row title */\n      title?: TextWithTooltip;\n      /** Row subtitle */\n      subtitle?: TextWithTooltip;\n      /** \"Thank you page\" modal configuration */\n      modal?: ThankYouPageModalConfiguration;\n  }\n  interface DurationInputConfiguration {\n      /** Duration dropdown label */\n      label?: TextWithTooltip;\n      /** Duration dropdown placeholder */\n      placeholder?: string;\n      /** Labels for duration dropdown options */\n      renameOptions?: DurationRenameOptions;\n  }\n  interface DurationRenameOptions {\n      /** Text for \"Forever\" duration option */\n      forever?: string;\n      /** Text for \"Custom\" duration option */\n      custom?: string;\n  }\n  interface InputConfiguration {\n      /** Input label */\n      label?: TextWithTooltip;\n  }\n  interface SetupFeeConfiguration {\n      /** Hide \"Setup fee\" toggle. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Setup fee toggle label */\n      label?: TextWithTooltip;\n      /** Setup fee amount input configuration */\n      amount?: InputWithPlaceholder;\n      /** Setup fee name input configuration */\n      name?: InputWithPlaceholder;\n  }\n  interface FreeTrialConfiguration {\n      /** Hide \"Free trial\" toggle. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Free trial toggle label */\n      label?: TextWithTooltip;\n      /** Free trial duration dropdown configuration */\n      duration?: InputConfiguration;\n  }\n  interface FreeOptionConfiguration {\n      /** Hide free option. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Option title */\n      title?: string;\n      /** Option subtitle */\n      subtitle?: string;\n      /** Plan duration dropdown configuration */\n      duration?: DurationInputConfiguration;\n      /** Custom duration period dropdown configuration */\n      customDurationPeriod?: InputConfiguration;\n      /** Custom  duration input configuration */\n      customDurationInput?: InputConfiguration;\n  }\n  interface OneTimeOptionConfiguration {\n      /** Hide \"One-time payment\" option. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Option title */\n      title?: string;\n      /** Option subtitle */\n      subtitle?: string;\n      /** Plan duration dropdown configuration */\n      duration?: DurationInputConfiguration;\n      /** Custom duration period dropdown configuration */\n      customDurationPeriod?: InputConfiguration;\n      /** Custom  duration input configuration */\n      customDurationInput?: InputConfiguration;\n      /** Price input configuration */\n      price?: InputWithPlaceholder;\n      /** Setup fee field configuration */\n      setupFee?: SetupFeeConfiguration;\n  }\n  interface RecurringOptionConfiguration {\n      /** hide \"recurring\" option. if set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Option title */\n      title?: string;\n      /** Option subtitle */\n      subtitle?: string;\n      /** Plan duration dropdown configuration */\n      duration?: DurationInputConfiguration;\n      /** Price input configuration */\n      price?: InputWithPlaceholder;\n      /** Setup fee field configuration */\n      setupFee?: SetupFeeConfiguration;\n      /** Free trial field configuration */\n      freeTrial?: FreeTrialConfiguration;\n      /** Frequency dropdown configuration */\n      frequency?: InputConfiguration;\n      /** Custom frequency input configuration */\n      customFrequency?: InputConfiguration;\n  }\n  enum PlanFormPricingOption {\n      UNKNOWN_OPTION = \"UNKNOWN_OPTION\",\n      FREE = \"FREE\",\n      ONE_TIME = \"ONE_TIME\",\n      RECURRING = \"RECURRING\"\n  }\n  enum PlanFormDefaultSection {\n      UNKNWON_PLAN_FORM_SECTION = \"UNKNWON_PLAN_FORM_SECTION\",\n      INFO = \"INFO\",\n      BENEFITS = \"BENEFITS\",\n      PAGE_PERMISSIONS = \"PAGE_PERMISSIONS\",\n      PRICING_AND_DURATION = \"PRICING_AND_DURATION\",\n      ADVANCED_SETTINGS = \"ADVANCED_SETTINGS\"\n  }\n  interface Illustration extends IllustrationIllustrationOneOf {\n      /** Custom exported component id to be rendered as illustration */\n      componentId?: string;\n      /** 96x96 image used in type choice modal */\n      src?: string;\n  }\n  /** @oneof */\n  interface IllustrationIllustrationOneOf {\n      /** Custom exported component id to be rendered as illustration */\n      componentId?: string;\n      /** 96x96 image used in type choice modal */\n      src?: string;\n  }\n  interface PlanDuration {\n      /** The amount of a duration `unit` in a single payment cycle. */\n      count?: number;\n      /** Unit of time for the cycle duration. */\n      unit?: PlanPeriodUnit;\n  }\n  /** A predefined basic time unit. */\n  enum PlanPeriodUnit {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface PlanPriceData {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99) */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n  }\n  interface PricingRecurring {\n      /** Length of one payment cycle. */\n      cycleDuration?: PlanDuration;\n      /**\n       * Amount of payment cycles this subscription is valid for.\n       * `0` for unlimited or until-canceled.\n       */\n      cycleCount?: number;\n  }\n  interface PerkValues {\n      /** List of perks */\n      values?: string[];\n  }\n  interface PlanPricing extends PlanPricingPricingModelOneOf {\n      /** Plan has recurring payments. */\n      subscription?: PricingRecurring;\n      /** One time payment, plan is valid for the specified duration. */\n      singlePaymentForDuration?: PlanDuration;\n      /** One time payment, plan is valid until it is canceled. */\n      singlePaymentUnlimited?: boolean;\n      /** Amount for a single payment (or the whole subscription if it's not a recurring plan) */\n      price?: PlanPriceData;\n  }\n  /** @oneof */\n  interface PlanPricingPricingModelOneOf {\n      /** Plan has recurring payments. */\n      subscription?: PricingRecurring;\n      /** One time payment, plan is valid for the specified duration. */\n      singlePaymentForDuration?: PlanDuration;\n      /** One time payment, plan is valid until it is canceled. */\n      singlePaymentUnlimited?: boolean;\n  }\n  interface PlanFormPreviewSection {\n      /** Hide Preview section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Preview card title */\n      title?: TextWithTooltip;\n      /** Preview card subtitle */\n      subtitle?: TextWithSuffix;\n      /** Placeholder overrides for previewed plan */\n      placeholders?: PreviewCardPlaceholders;\n      /** Stick Preview section to the right while scrolling. Makes rest of the sections narrower. */\n      isSticky?: boolean | null;\n  }\n  interface PlanFormInfoSection {\n      /** Hide Info section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Tooltip title */\n      title?: TextWithTooltip;\n      /** Tooltip subtitle */\n      subtitle?: TextWithSuffix;\n      /** Plan name input configuration */\n      name?: InputWithPlaceholder;\n      /** Plan tagline input configuration */\n      tagline?: InputWithPlaceholder;\n      /** Plan cover image input configuration */\n      coverImage?: CoverImageConfiguration;\n      /** Plan perks subsection configuration */\n      perks?: PerksConfiguration;\n  }\n  interface PlanFormPlanSettingsSection {\n      /** Hide \"Advanced settings\" section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Section title configuration */\n      title?: TextWithTooltip;\n      /** Section subtitle configuration */\n      subtitle?: TextWithSuffix;\n      /** Configuration for \"Limit to 1 purchase per person\" plan setting */\n      singlePurchase?: PlanSettingsRowConfiguration;\n      /** Configuration for \"Allow plan cancellation\" plan setting */\n      allowCancellation?: PlanSettingsRowConfiguration;\n      /** Configuration for \"Let people set start date\" plan setting */\n      customStartDate?: PlanSettingsRowConfiguration;\n      /** Configuration for \"Add a policy\" plan setting */\n      termsAndConditions?: TermsAndConditionsConfiguration;\n      /** Configuration for \"Collect additional info\" plan setting */\n      customForms?: PlanSettingsRowConfiguration;\n      /** Configuration for \"Customize a Thank You page\" plan setting */\n      thankYouPage?: ThankYouPageConfiguration;\n  }\n  interface PlanFormBenefitsSection {\n      /** Hide Benefits section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Benefits section title */\n      title?: TextWithTooltip;\n      /** Benefits section subtitle */\n      subtitle?: TextWithSuffix;\n      /** Suffix link configuration. Rendered at the right side of section header */\n      suffix?: LinkSuffix;\n      /** Hide specific benefits from section */\n      hiddenBenefits?: string[];\n  }\n  interface PlanFormPricingAndDurationSection {\n      /** Hide Pricing and Duration section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n      /** Section title */\n      title?: TextWithTooltip;\n      /** Section subtitle */\n      subtitle?: TextWithSuffix;\n      /** \"Free\" pricing option configuration */\n      freePricingOption?: FreeOptionConfiguration;\n      /** \"One-time payment\" pricing option configuration */\n      oneTimeOption?: OneTimeOptionConfiguration;\n      /** \"Recurring\" pricing option configuration */\n      recurringOption?: RecurringOptionConfiguration;\n      /** Order, in which pricing options should be displayed */\n      pricingOptionOrder?: PlanFormPricingOption[];\n  }\n  interface PlanFormCustomSection {\n      /**\n       * Id of dashboard extension component.\n       * Extensions should have containerId `fb869315-532f-4057-9049-e316f94e192f`\n       */\n      componentId?: string;\n  }\n  interface PlanFormSection extends PlanFormSectionSectionOneOf {\n      /** Extension component id */\n      componentId?: string;\n      /** Default section name */\n      sectionName?: PlanFormDefaultSection;\n  }\n  /** @oneof */\n  interface PlanFormSectionSectionOneOf {\n      /** Extension component id */\n      componentId?: string;\n      /** Default section name */\n      sectionName?: PlanFormDefaultSection;\n  }\n  interface PlanFormTypeMetadata {\n      /** Name of configuration (i.e. plan type). Used in various places. Should be short, but clear */\n      title?: string;\n      /** Plan type subtitle. Used in type choice modal */\n      subtitle?: string;\n      /** Longer description of plan type. Used in type choice modal */\n      description?: string;\n      /** Plan type illustration. Used in type choice modal */\n      illustration?: Illustration;\n      /** Your business manager module id */\n      moduleId?: string;\n  }\n  interface PlanFormPagePermissionsSection {\n      /** Hide \"Page permissions\" section. If set to `true`, remaining fields will be ignored */\n      hide?: boolean;\n  }\n  interface PlanFormInitialValue {\n      /** Plan name */\n      name?: string | null;\n      /** Plan description */\n      description?: string | null;\n      /** What is included with this plan (e.g., 1 weekly entrance to a specific class). */\n      perks?: PerkValues;\n      /** Plan price, payment schedule, and expiration */\n      pricing?: PlanPricing;\n      /** Whether the plan is public (visible to site visitors and members) */\n      public?: boolean | null;\n      /**\n       * Number of times the same buyer can purchase the plan. Currently limited to support:\n       * - Empty value or a value of `0`, meaning no limitation.\n       * - Value of `1`, meaning limited to one purchase per buyer.\n       */\n      maxPurchasesPerBuyer?: number | null;\n      /** Whether the buyer can start the plan at a later date */\n      allowFutureStartDate?: boolean | null;\n      /** Whether the buyer is allowed to cancel their plan */\n      buyerCanCancel?: boolean | null;\n      /** Any terms and conditions that apply to the plan. This information will be displayed during checkout */\n      termsAndConditions?: string | null;\n      /** Additional plan data, related to it's display in the client */\n      clientData?: Record<string, string>;\n  }\n  /** Describes user notifications */\n  interface UserNotification {\n      /** @internal */\n      referenceId?: string | null;\n      referenceData?: UserNotificationData;\n  }\n  interface UserNotificationData {\n      /**\n       * name\n       * @internal\n       */\n      name?: string | null;\n      /** description */\n      description?: string | null;\n      /** topic id */\n      topicId?: string | null;\n      /** channels */\n      channels?: NotificationChannels;\n      /** icon */\n      icon?: Icon;\n      /** intent */\n      intent?: Intent;\n      /** limiter field */\n      limiterField?: LimiterField;\n      /** recipient filter */\n      recipientFilter?: UserNotificationDataRecipientFilter;\n      /** initiator */\n      initiator?: UserNotificationDataInitiator;\n      /** single deeplink */\n      singleDeeplink?: UserNotificationDataDeeplink;\n      /** grouped deeplink */\n      groupedDeeplink?: UserNotificationDataDeeplink;\n      /** context */\n      context?: UserNotificationDataContext;\n  }\n  interface TypedDynamicParam {\n      /** name */\n      name?: string;\n      /** dynamic param type */\n      dynamicParamType?: TypedDynamicParamType;\n  }\n  enum TypedDynamicParamType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      STRING = \"STRING\",\n      ARRAY = \"ARRAY\"\n  }\n  enum UserNotificationDataRecipientFilterType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      WIX_USERS = \"WIX_USERS\",\n      SITE_CONTRIBUTORS = \"SITE_CONTRIBUTORS\"\n  }\n  interface WixUsersData {\n      /** id */\n      _id?: TypedDynamicParam;\n  }\n  interface SiteContributorsData {\n      permissions?: string[];\n  }\n  enum InitiatorType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      WIX_USER = \"WIX_USER\",\n      WIX_APP = \"WIX_APP\"\n  }\n  interface WixUserData {\n      /** dynamic param name */\n      dynamicParamName?: string;\n  }\n  interface ConstOrDynamicParam extends ConstOrDynamicParamValueOneOf {\n      /** dynamic param name */\n      dynamicParamName?: string;\n      /** constant */\n      constant?: string;\n  }\n  /** @oneof */\n  interface ConstOrDynamicParamValueOneOf {\n      /** dynamic param name */\n      dynamicParamName?: string;\n      /** constant */\n      constant?: string;\n  }\n  interface Url {\n      constOrDynamicParam?: ConstOrDynamicParam;\n  }\n  interface BackofficeActionDeeplink {\n      /** app ID */\n      appId?: string;\n      /** params */\n      params?: Record<string, ConstOrDynamicParam>;\n  }\n  enum Level {\n      UNKNOWN_LEVEL = \"UNKNOWN_LEVEL\",\n      ACCOUNT = \"ACCOUNT\",\n      USER = \"USER\",\n      SITE = \"SITE\"\n  }\n  interface OrderValue {\n      /** can be const/dynamicParamName */\n      value?: ConstOrDynamicParam;\n      /** order */\n      order?: number;\n  }\n  interface NotificationChannels {\n      /** email */\n      email?: EmailChannel;\n      /** feed */\n      feed?: FeedChannels;\n      /** mobile push */\n      mobilePush?: MobilePushChannel;\n      /** voice */\n      voice?: VoiceChannel;\n      /** sms */\n      sms?: SmsChannel;\n      /** browser push */\n      browserPush?: BrowserPushChannel;\n      contentMap?: Record<string, string>;\n  }\n  interface ResponsysEmail {\n      /** responsys email */\n      responsysTemplate?: string;\n  }\n  interface VelocityEmail {\n      /** velocity module name */\n      velocityModuleName?: string;\n      /** template file */\n      templateFile?: string;\n  }\n  interface ShoutoutEmail {\n      /** template ID */\n      templateId?: string;\n      /** stream by */\n      streamBy?: string;\n      /** template msid */\n      templateMsid?: string;\n  }\n  interface EmailTemplateConfig extends EmailTemplateConfigProviderOneOf {\n      /** responsys email */\n      responsysEmail?: ResponsysEmail;\n      /**\n       * velocity email\n       * @internal\n       */\n      velocityEmail?: VelocityEmail;\n      /**\n       * shoutout email\n       * @internal\n       */\n      shoutoutEmail?: ShoutoutEmail;\n  }\n  /** @oneof */\n  interface EmailTemplateConfigProviderOneOf {\n      /** responsys email */\n      responsysEmail?: ResponsysEmail;\n      /**\n       * velocity email\n       * @internal\n       */\n      velocityEmail?: VelocityEmail;\n      /**\n       * shoutout email\n       * @internal\n       */\n      shoutoutEmail?: ShoutoutEmail;\n  }\n  interface WebFeedContentKeys {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string | null;\n      /** action */\n      action?: string | null;\n      /** group of two message */\n      groupOfTwoMessage?: string | null;\n      /** group of many message */\n      groupOfManyMessage?: string | null;\n      /** group of many action */\n      groupOfManyAction?: string | null;\n  }\n  interface MobileFeedContentKeys {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string | null;\n      /** action */\n      action?: string | null;\n      /** group of two message */\n      groupOfTwoMessage?: string | null;\n      /** group of many message */\n      groupOfManyMessage?: string | null;\n      /** group of many action */\n      groupOfManyAction?: string | null;\n  }\n  interface FeedAggregation {\n      /** group key */\n      groupKey?: string;\n      /** window */\n      window?: string;\n      /** icon */\n      icon?: Icon;\n  }\n  interface Icon extends IconDataOneOf {\n      /** url data */\n      urlData?: UrlData;\n      /** icon type */\n      type?: IconType;\n  }\n  /** @oneof */\n  interface IconDataOneOf {\n      /** url data */\n      urlData?: UrlData;\n  }\n  enum IconType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      URL = \"URL\",\n      SPOUT = \"SPOUT\",\n      INITIATOR = \"INITIATOR\"\n  }\n  interface UrlData {\n      /** actual url */\n      url?: string;\n  }\n  interface WebFeedChannel {\n      /** content_keys */\n      contentKeys?: WebFeedContentKeys;\n  }\n  interface MobileFeedChannel {\n      /** content keys */\n      contentKeys?: MobileFeedContentKeys;\n  }\n  interface FeedChannelsConfig {\n      /** aggregation */\n      aggregation?: FeedAggregation;\n  }\n  interface SharedPlatformMobilePushConfig {\n      /** sound */\n      sound?: string;\n      /** group key */\n      groupKey?: string | null;\n      /** ttl */\n      ttl?: number | null;\n      /** target application */\n      targetApplication?: MobileApplication;\n  }\n  enum MobileApplication {\n      UNKNOWN_MOBILE_APPLICATION = \"UNKNOWN_MOBILE_APPLICATION\",\n      OWNER = \"OWNER\",\n      SPACES = \"SPACES\",\n      DINE = \"DINE\",\n      FITNESS = \"FITNESS\",\n      WIX_LIFE = \"WIX_LIFE\",\n      WIX_PARTNERS = \"WIX_PARTNERS\",\n      BRANDED = \"BRANDED\",\n      WIX_STUDIO = \"WIX_STUDIO\",\n      NO_SPECIFIC_TARGET_APP = \"NO_SPECIFIC_TARGET_APP\"\n  }\n  interface AndroidMobilePushConfig {\n      /** sub group key */\n      subGroupKey?: string | null;\n      /** style */\n      style?: AndroidStyle;\n      /** grouped deeplink pattern */\n      groupedDeeplinkPattern?: string | null;\n      /**\n       * os settings category\n       * @internal\n       */\n      osSettingsCategory?: string | null;\n  }\n  enum AndroidStyle {\n      UNKNOWN_ANDROID_STYLE = \"UNKNOWN_ANDROID_STYLE\",\n      BIG_TEXT = \"BIG_TEXT\",\n      MESSAGING = \"MESSAGING\",\n      INBOX = \"INBOX\"\n  }\n  interface MobilePushChannelConfig {\n      /** shared */\n      shared?: SharedPlatformMobilePushConfig;\n      /** android */\n      android?: AndroidMobilePushConfig;\n  }\n  interface MobilePushContentKeys {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string | null;\n      /** group of many title */\n      groupOfManyTitle?: string | null;\n      /** group of many message */\n      groupOfManyMessage?: string | null;\n      /** master group name override */\n      masterGroupNameOverride?: string | null;\n  }\n  interface ExposureRule extends ExposureRuleRuleOneOf {\n      /** boolean experiment exposure rule */\n      booleanExperimentExposureRule?: BooleanExperimentExposureRule;\n      /** custom experiment exposure rule */\n      customExperimentExposureRule?: CustomExperimentExposureRule;\n      /** type */\n      type?: ExposureRuleType;\n  }\n  /** @oneof */\n  interface ExposureRuleRuleOneOf {\n      /** boolean experiment exposure rule */\n      booleanExperimentExposureRule?: BooleanExperimentExposureRule;\n      /** custom experiment exposure rule */\n      customExperimentExposureRule?: CustomExperimentExposureRule;\n  }\n  enum ExposureRuleType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      OPEN_TO_ALL = \"OPEN_TO_ALL\",\n      OPEN_TO_NONE = \"OPEN_TO_NONE\",\n      BOOLEAN_EXPERIMENT = \"BOOLEAN_EXPERIMENT\",\n      CUSTOM_EXPERIMENT = \"CUSTOM_EXPERIMENT\"\n  }\n  interface BooleanExperimentExposureRule {\n      /** spec */\n      spec?: string;\n  }\n  interface CustomExperimentExposureRule {\n      /** spec */\n      spec?: string;\n      /** default value */\n      defaultValue?: string;\n      /** expected value */\n      expectedValue?: string;\n  }\n  interface VoiceContentKeys {\n      /** message */\n      message?: string | null;\n  }\n  interface SmsContentKeys {\n      /** message */\n      message?: string | null;\n  }\n  interface BrowserPushContentKeys {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string | null;\n  }\n  interface EmailChannel {\n      /** config */\n      config?: EmailTemplateConfig;\n  }\n  interface FeedChannels {\n      /** web feed */\n      webFeed?: WebFeedChannel;\n      /** mobile feed */\n      mobileFeed?: MobileFeedChannel;\n      /** config */\n      config?: FeedChannelsConfig;\n  }\n  interface MobilePushChannel {\n      /** config */\n      config?: MobilePushChannelConfig;\n      /** content_keys */\n      contentKeys?: MobilePushContentKeys;\n      /**\n       * exposure rule\n       * @internal\n       */\n      exposure?: ExposureRule;\n  }\n  interface VoiceChannel {\n      /** content keys */\n      contentKeys?: VoiceContentKeys;\n  }\n  interface SmsChannel {\n      /** content_keys */\n      contentKeys?: SmsContentKeys;\n  }\n  interface BrowserPushChannel {\n      /** content_keys */\n      contentKeys?: BrowserPushContentKeys;\n  }\n  enum Intent {\n      UNKNOWN_INTENT = \"UNKNOWN_INTENT\",\n      MARKETING = \"MARKETING\",\n      TRANSACTIONAL = \"TRANSACTIONAL\"\n  }\n  interface LimiterField {\n      /** dynamic param name */\n      dynamicParamName?: string;\n  }\n  interface UserNotificationDataRecipientFilter extends UserNotificationDataRecipientFilterDataOneOf {\n      /** wix users data */\n      wixUsersData?: WixUsersData;\n      /** site contributors data */\n      siteContributorsData?: SiteContributorsData;\n      /** recipient filter type */\n      type?: UserNotificationDataRecipientFilterType;\n  }\n  /** @oneof */\n  interface UserNotificationDataRecipientFilterDataOneOf {\n      /** wix users data */\n      wixUsersData?: WixUsersData;\n      /** site contributors data */\n      siteContributorsData?: SiteContributorsData;\n  }\n  interface UserNotificationDataInitiator extends UserNotificationDataInitiatorDataOneOf {\n      /** wix user data */\n      wixUserData?: WixUserData;\n      /** initiator type */\n      type?: InitiatorType;\n  }\n  /** @oneof */\n  interface UserNotificationDataInitiatorDataOneOf {\n      /** wix user data */\n      wixUserData?: WixUserData;\n  }\n  interface UserNotificationDataDeeplink extends UserNotificationDataDeeplinkOfOneOf {\n      /** url */\n      url?: Url;\n      /**\n       * backoffice\n       * @internal\n       */\n      backoffice?: BackofficeActionDeeplink;\n      /**\n       * account id parameter name\n       * @internal\n       */\n      accountIdParamName?: string | null;\n  }\n  /** @oneof */\n  interface UserNotificationDataDeeplinkOfOneOf {\n      /** url */\n      url?: Url;\n      /**\n       * backoffice\n       * @internal\n       */\n      backoffice?: BackofficeActionDeeplink;\n  }\n  interface UserNotificationDataContext {\n      level?: Level;\n      /** params */\n      params?: Record<string, OrderValue>;\n  }\n  /** Describes contact notifications */\n  interface ContactNotification {\n      referenceId?: string | null;\n      referenceData?: ContactsNotificationData;\n  }\n  interface ContactsNotificationData {\n      /** name */\n      name?: string | null;\n      /** description */\n      description?: string | null;\n      /** topic id */\n      topicId?: string | null;\n      /** channels */\n      channels?: NotificationChannels;\n      /** icon */\n      icon?: Icon;\n      /**\n       * intent\n       * @internal\n       */\n      intent?: Intent;\n      /** limiter field */\n      limiterField?: LimiterField;\n      /** recipient filter */\n      recipientFilter?: RecipientFilter;\n      /** initiator */\n      initiator?: Initiator;\n      /** single deeplink */\n      singleDeeplink?: Deeplink;\n      /** grouped deeplink */\n      groupedDeeplink?: Deeplink;\n      /** context */\n      context?: Context;\n  }\n  enum RecipientFilterType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      CONTACTS = \"CONTACTS\"\n  }\n  interface ContactsData {\n      /** id */\n      _id?: TypedDynamicParam;\n  }\n  enum Type {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      CONTACT = \"CONTACT\",\n      SITE_MEMBER = \"SITE_MEMBER\"\n  }\n  interface ContactData {\n      /** dynamic param name */\n      dynamicParamName?: string;\n  }\n  interface SiteMemberData {\n      /** dynamic param name */\n      dynamicParamName?: string;\n  }\n  interface LiveSiteActionDeeplink {\n      /** app page ID */\n      appPageId?: string | null;\n      /** path */\n      path?: string | null;\n      /** language */\n      language?: ConstOrDynamicParam;\n      /** hash fragment */\n      hashFragment?: ConstOrDynamicParam;\n      /** query params */\n      queryParams?: Record<string, ConstOrDynamicParam>;\n  }\n  interface RecipientFilter extends RecipientFilterDataOneOf {\n      /** contacts data */\n      contactsData?: ContactsData;\n      /** recipient filter type */\n      type?: RecipientFilterType;\n  }\n  /** @oneof */\n  interface RecipientFilterDataOneOf {\n      /** contacts data */\n      contactsData?: ContactsData;\n  }\n  interface Initiator extends InitiatorDataOneOf {\n      /** contact data */\n      contactData?: ContactData;\n      /** site member data */\n      siteMemberData?: SiteMemberData;\n      /** initiator type */\n      type?: Type;\n  }\n  /** @oneof */\n  interface InitiatorDataOneOf {\n      /** contact data */\n      contactData?: ContactData;\n      /** site member data */\n      siteMemberData?: SiteMemberData;\n  }\n  interface Deeplink extends DeeplinkOfOneOf {\n      /** url */\n      url?: Url;\n      /**\n       * live site\n       * @internal\n       */\n      liveSite?: LiveSiteActionDeeplink;\n  }\n  /** @oneof */\n  interface DeeplinkOfOneOf {\n      /** url */\n      url?: Url;\n      /**\n       * live site\n       * @internal\n       */\n      liveSite?: LiveSiteActionDeeplink;\n  }\n  interface Context {\n      /** params */\n      params?: Record<string, OrderValue>;\n  }\n  interface UnifiedPage {\n      /** Base info of component by shared logic of unified components */\n      base?: BaseInfo;\n      /** Page installation settings; */\n      installation?: PageInstallationSettings;\n      /** Page replacing options (replacer \\ replacing \\ none) */\n      pageReplace?: PageReplaceOptions;\n      /** Content of page */\n      content?: PageContent;\n  }\n  interface PageInstallationSettings {\n      /** Shared installation settings for unified components */\n      base?: BaseInstallation;\n      /** Page installation settings for unified components */\n      page?: PageInstallation;\n  }\n  interface PageInstallation {\n      /** slug of the page (last part of url that point to the page) */\n      slug?: string;\n      /** Should add page to site menu */\n      addToSiteMenu?: boolean;\n      /** Can page be linked through link panel */\n      linkable?: boolean;\n  }\n  interface PageContent {\n      /** Widgets to add as content in page */\n      widgets?: WidgetAsContent[];\n  }\n  interface WidgetAsContent {\n      /** GUID of widget to use as content of page */\n      widgetGuid?: string;\n      /** The preset should be used */\n      preset?: MainPresets;\n  }\n  interface AvailabilityTimeSlotsProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  interface ProposalEditorProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of ProposalEditor provider */\n      providerName?: string;\n  }\n  interface CustomReservationsApprovalConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      name?: string;\n  }\n  interface CommentsContextProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** Comments Environment */\n      environment?: Environment;\n      /** Feature toggle to indicate if method GetCommentContextResources is implemented */\n      toggleResourceProviderEnabled?: boolean;\n  }\n  enum Environment {\n      LIVE_SITE = \"LIVE_SITE\",\n      BUSINESS_MANAGER = \"BUSINESS_MANAGER\"\n  }\n  interface FormSpamSubmissionReportSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** Configuration of namespaces known by implementer */\n      namespaceConfigs?: FormSpamSubmissionReportsNamespaceConfig[];\n  }\n  interface FormSpamSubmissionReportsNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: FormSpamSubmissionReportPermissions;\n  }\n  interface FormSpamSubmissionReportPermissions {\n      /** Create permission name */\n      create?: string;\n      /** Delete permission name */\n      delete?: string;\n      /** Update permission name */\n      update?: string;\n      /** Read permission name */\n      read?: string;\n      /** Report as not spam permission name */\n      reportNotSpam?: string;\n      /** Report as not spam permission name */\n      checkForSpam?: string;\n  }\n  interface VeloActionConfig {\n      baseUri?: SpiBaseUri;\n  }\n  interface EventTypeProviderConfig {\n      /**\n       * Reserved.\n       * @internal\n       */\n      baseUri?: SpiBaseUri;\n      /**\n       * The name of the event type.\n       * Must be globally unique.\n       */\n      eventTypeName?: string;\n      /**\n       * Whether the events of this type should be hidden from query results if no type filter is provided.\n       * Default is false.\n       */\n      eventTypeHiddenFromQuery?: boolean;\n  }\n  interface ServiceAvailabilityPolicyProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  /** a translated sms text sent to UOU */\n  interface SmsActionMessage {\n      /** sms text */\n      body?: string;\n  }\n  interface BookingPolicyProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  interface MultiServiceBookingPolicyProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  interface FormSubmissionSpiExtensionConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** Namespace names. */\n      namespaceConfigs?: FormsSubmissionsExtensionNamespaceConfig[];\n  }\n  interface FormsSubmissionsExtensionNamespaceConfig {\n      /** Targeted namespace, with what submissions should trigger defined methods. */\n      namespace?: string;\n      /** Enable submission validation. */\n      submissionValidationEnabled?: boolean;\n  }\n  interface AssistantSpiConfig {\n      /** The deployment uri of the assistant */\n      deploymentUri?: string;\n      /** The name of the assistant */\n      assistantName?: string;\n      /** The expose_benchmark_tests of the assistant */\n      exposeBenchmarkTests?: boolean;\n      /** The expose_dynamic_knowledge of the assistant */\n      exposeDynamicKnowledge?: boolean;\n  }\n  interface MultilingualTranslationSchema {\n      /** @internal */\n      referenceId?: string | null;\n      /** @internal */\n      referenceData?: Schema;\n  }\n  interface Schema {\n      /**\n       * Schema ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** (compound key) Schema key. */\n      key?: SchemaKey;\n      /** A list of unique fields on the entity in the specific language */\n      fields?: Record<string, V1SchemaField>;\n      /** Fields that will be displayed in content previews (e.g., product name for products). */\n      previewFields?: PreviewFields;\n      /** Whether the schema is hidden from the site. */\n      hidden?: boolean | null;\n      /** The name of the schema */\n      displayName?: string | null;\n      /** Higher level schema, group_by_name will point to an entity of this schema. */\n      parentId?: string | null;\n      /** @readonly */\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n      /** indicate if the content should be duplicated when the site is cloned */\n      duplicateContent?: boolean | null;\n  }\n  interface SchemaKey {\n      /**\n       * ID of app that created the schema.\n       * @readonly\n       */\n      appId?: string;\n      /** Unique name defined by the creator app, used to distinguish between different entities in the the app domain. */\n      entityType?: string;\n      /** Scope schema is defined in (Global/Site) */\n      scope?: SchemaScope;\n  }\n  enum SchemaScope {\n      UNKNOWN_SCOPE = \"UNKNOWN_SCOPE\",\n      /** Global schema, relevant to all sites */\n      GLOBAL = \"GLOBAL\",\n      /** Site schema, relevant to specific site only */\n      SITE = \"SITE\"\n  }\n  interface V1SchemaField {\n      /**\n       * Field ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Field type. */\n      type?: FieldType;\n      /** Field descriptive name. */\n      displayName?: string | null;\n      /** Field semantic grouping */\n      groupName?: string | null;\n      /** Field minimum length (in case of text field) */\n      minLength?: number | null;\n      /** Field maximum length (in case text field) */\n      maxLength?: number | null;\n      /** Field format. If set - must be one of the values of wix.api.format as string (case insensitive) */\n      format?: string | null;\n      /** Whether the field is hidden from the site. Hidden field constraints (type, min/max length) are still active! */\n      hidden?: boolean;\n      /** Whether the field is for display only and should not allowed to be translated */\n      displayOnly?: boolean;\n      /** In cases where the order of the fields holds meaning, use this index */\n      index?: number | null;\n  }\n  enum FieldType {\n      /** Undefined field type */\n      UNDEFINED_TYPE = \"UNDEFINED_TYPE\",\n      /** Short text TEXT */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long Plain Text TEXT */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** Long text including styles, images, links and more... HTML */\n      HTML = \"HTML\",\n      /** Wix Rich-Content format RICO */\n      RICH_CONTENT = \"RICH_CONTENT\",\n      /** Wix Image media item */\n      IMAGE = \"IMAGE\",\n      /** Image URL without metadata */\n      IMAGE_LINK = \"IMAGE_LINK\",\n      /** contain an XML representation of an entity or part of it */\n      JSON = \"JSON\",\n      /** Wix Video media item */\n      VIDEO = \"VIDEO\",\n      /** Wix Document media item */\n      DOCUMENT = \"DOCUMENT\"\n  }\n  interface PreviewFields {\n      /** ID of field representing the schema's title. */\n      titleFieldId?: string | null;\n      /** ID of field representing the schema's image. */\n      imageFieldId?: string | null;\n  }\n  interface TaxGroupsProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the default tax group of this app. (this tax group id is the app's ID) */\n      defaultTaxGroup?: string;\n      /**\n       * Additional tax groups to be added by default when the app is installed, in addition to the primary one.\n       * Here you can choose the ID for each group.\n       */\n      additionalTaxGroups?: Record<string, AdditionalTaxGroup>;\n  }\n  interface AdditionalTaxGroup {\n      /** the name of the additional taxation category */\n      name?: string;\n      /** must be a unique GUID for the default tax group */\n      _id?: string;\n  }\n  interface TaxCalculationConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the tax calculator */\n      calculatorDisplayName?: string;\n      /** List of countries that are not supported by this tax calculator. Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      unsupportedCountries?: string[];\n  }\n  /** A modal in one of the back-office platforms */\n  interface BackOfficeModal extends BackOfficeModalContentOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n      /** The platform this modal might be used in */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** Modal title */\n      title?: string;\n      /**\n       * Required permission to view this modal\n       * @internal\n       */\n      requiredPermission?: string;\n      /**\n       * Sentry error reporting DSN\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n      /** Initial modal width size in pixels while loading, width may be adjusted dynamicaly according to content and/or limited by the container */\n      width?: number | null;\n      /** Initial modal height size in pixels while loading, height may be adjusted dynamicaly according to content and/or limited by the container */\n      height?: number | null;\n  }\n  /** @oneof */\n  interface BackOfficeModalContentOneOf {\n      iframeUrl?: string;\n      /** @internal */\n      scriptAsset?: BackOfficeScriptAsset;\n  }\n  interface DeploymentPipelineProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentPipelineUri?: SpiBaseUri;\n      /** The deployment pipeline implementer id */\n      deploymentPipelineId?: string;\n  }\n  interface CustomElementWidget {\n      /** Base info of component by shared logic of unified components */\n      base?: BaseInfo;\n      /** Unified widget installation settings */\n      installation?: WidgetInstallationSettings;\n      /** The extension data for this component */\n      widgetData?: WidgetData;\n      /** The widget's editor behaviors */\n      behaviors?: EditorBehaviors;\n      /** The size of the widget */\n      size?: WidgetSize;\n      /** The runtime dependencies array to declare the widget packages. */\n      dependencies?: WixDependency[];\n  }\n  interface WidgetData {\n      /** The script url that should render on the widget */\n      scriptUrl?: string;\n      /** Unique tag name to use in order to connect your JS script to your web component */\n      tagName?: string;\n      /** Type of JavaScript modularization approach used in the custom element */\n      scriptType?: CustomElementScriptType;\n  }\n  enum CustomElementScriptType {\n      NONE = \"NONE\",\n      /** CommonJS modularization approach */\n      COMMON_JS = \"COMMON_JS\",\n      /** ES Module modularization approach */\n      ES_MODULE = \"ES_MODULE\"\n  }\n  interface EditorBehaviors {\n      /** The settings behavior definition for the widget */\n      settings?: SettingsPanel;\n      /** The dashboard behavior definition for the widget */\n      dashboard?: Dashboard;\n  }\n  interface SettingsPanel {\n      /** The settings panel URL for this component */\n      settingsUrl?: string | null;\n  }\n  interface Dashboard {\n      /** The dashboard page guid for the widget manage of the widget */\n      dashboardPageComponentId?: string;\n  }\n  interface WidgetSize {\n      /** define the size of the widget's height */\n      height?: WidgetSizeHeight;\n      /** define the size of the widget's width */\n      width?: Width;\n  }\n  enum HeightMode {\n      UNKNOWN = \"UNKNOWN\",\n      /** Height is calculated by content */\n      AUTO = \"AUTO\",\n      /** Height is fixed require size in px */\n      FIXED = \"FIXED\"\n  }\n  interface WidgetSizeHeight {\n      /** Height calculation mode */\n      heightMode?: HeightMode;\n      /** Default height in pixels */\n      defaultHeight?: number;\n  }\n  interface Width {\n      /** Boolean to set stretch, will place the widget stretched to the full width of the container */\n      allowStretch?: boolean;\n      /** Default width in pixels */\n      defaultWidth?: number;\n      /** Boolean to set stretch by default on installation, if true will place the widget stretched to the full width of the container */\n      stretchByDefault?: boolean;\n  }\n  /** A component that enables extending Wix dashboard functionality. */\n  interface BackOfficeExtensionWidget extends BackOfficeExtensionWidgetAssetOneOf {\n      /** Url of the iframe to render in the widget */\n      iframeUrl?: string;\n      /**\n       * Wix script asset to use in this widget\n       * @internal\n       */\n      scriptAsset?: BackOfficeScriptAsset;\n      /** The platform this extension is hosted on (e.g. The Wix Dashboard, or Enterprise Dashboard) */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** The Identifier of the container that this extension applies to */\n      extends?: string;\n      /** The description of the extension, as displayed in Dev Center */\n      description?: string | null;\n      /** The title of the extension, as displayed in Dev Center */\n      title?: string;\n      /**\n       * Required permission to view the extension.\n       * @internal\n       */\n      requiredPermission?: string;\n      /**\n       * Sentry error reporting DSN (internal)\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n      /** Initial widget width size in pixels while loading, width may be adjusted dynamicaly according to content and/or limited by the container */\n      width?: number | null;\n      /** Initial widget height size in pixels while loading, height may be adjusted dynamicaly according to content and/or limited by the container */\n      height?: number | null;\n  }\n  /** @oneof */\n  interface BackOfficeExtensionWidgetAssetOneOf {\n      /** Url of the iframe to render in the widget */\n      iframeUrl?: string;\n      /**\n       * Wix script asset to use in this widget\n       * @internal\n       */\n      scriptAsset?: BackOfficeScriptAsset;\n  }\n  /** A component that enables extending a Wix dashboard menu. */\n  interface BackOfficeExtensionMenuItem {\n      /** The platform this page is hosted on (e.g. The Wix Dashboard, or Enterprise Dashboard) */\n      hostingPlatform?: BackOfficeHostingPlatforms;\n      /** The Identifier of the container that this extension applies to */\n      extends?: string;\n      /** The description of the extension, as displayed in Dev Center */\n      description?: string | null;\n      /** The title of the extension, as displayed in Dev Center */\n      title?: string;\n      /** The sub title of the menu item */\n      subtitle?: string | null;\n      /**\n       * WSR icon identifier. To see the full list: https://www.wix-style-react.com/storybook/?path=/story/foundations-icons--icons\n       * Please use the full size key - the icon will be rendered in a small/normal size\n       */\n      iconKey?: string | null;\n      /**\n       * Required permission to view the extension.\n       * @internal\n       */\n      requiredPermission?: string;\n      /**\n       * Sentry error reporting DSN (internal)\n       * @internal\n       */\n      errorReporting?: ErrorReporting;\n      /** The action that will be invoked when clicking on the menu entry */\n      action?: MenuAction;\n  }\n  interface NavigateToPageAction {\n      /** The component ID for the required page */\n      pageId?: string;\n      /** Relative URL string to append to the base page URL. May include path sements, search params and hash. */\n      relativeUrl?: string | null;\n  }\n  interface OpenModalAction {\n      /** The component ID that should be opened */\n      componentId?: string;\n      /** Parameters for the modal */\n      componentParams?: Record<string, string>;\n  }\n  interface MenuAction extends MenuActionActionOneOf {\n      navigateToPage?: NavigateToPageAction;\n      openModal?: OpenModalAction;\n  }\n  /** @oneof */\n  interface MenuActionActionOneOf {\n      navigateToPage?: NavigateToPageAction;\n      openModal?: OpenModalAction;\n  }\n  /** A component to manage Form composer features and templates */\n  interface FormTemplate {\n      /** Form template id */\n      _id?: string;\n      /** Form template version id (guid) */\n      versionId?: string;\n  }\n  /** Describes a setting group of a notification */\n  interface NotificationContent {\n      single?: SingleContent;\n      grouped?: GroupedContent;\n  }\n  /** notification content */\n  interface SingleContent {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string;\n      /** action */\n      action?: string | null;\n  }\n  /** notification content */\n  interface GroupedContent {\n      /** title */\n      title?: string | null;\n      /** message */\n      message?: string;\n      /** action */\n      action?: string | null;\n  }\n  /** Describes topic of a notification */\n  interface BroadcastList {\n      params?: Param[];\n  }\n  interface Param {\n      _id?: string;\n      displayName?: string;\n  }\n  interface PayoutsProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n  }\n  /** Configuration for ReviewsEntityCatalogProvider */\n  interface ReviewsEntityCatalogProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      /** Namespace of catalog provider */\n      namespace?: string;\n      /** Flag that indicates if verified reviews are enabled */\n      verifiedReviewsEnabled?: boolean;\n  }\n  interface VeloPublishPipelineTaskProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** The Velo Task name */\n      implementerTaskName?: WixCodePublishTaskName;\n  }\n  enum WixCodePublishTaskName {\n      /** unknown */\n      UNKNOWN = \"UNKNOWN\",\n      /** user code bundle */\n      USER_CODE_BUNDLE = \"USER_CODE_BUNDLE\",\n      /** exported functions analysis */\n      EXPORTED_FUNCTIONS_ANALYSIS = \"EXPORTED_FUNCTIONS_ANALYSIS\",\n      /** imported namespaces analysis */\n      IMPORTED_NAMESPACES_ANALYSIS = \"IMPORTED_NAMESPACES_ANALYSIS\",\n      /** page details analysis */\n      PAGE_DETAILS_ANALYSIS = \"PAGE_DETAILS_ANALYSIS\"\n  }\n  interface FunctionsShopPriceSpiConfig {\n      uriConfig?: SpiBaseUri;\n  }\n  /** A component that describes a Function */\n  interface Function {\n  }\n  enum CreatedBy {\n      UNKNOWN = \"UNKNOWN\",\n      BLOCKS = \"BLOCKS\",\n      CLI = \"CLI\"\n  }\n  enum TriggerFlow {\n      UNKNOWN_TRIGGER_FLOW = \"UNKNOWN_TRIGGER_FLOW\",\n      CLONE = \"CLONE\"\n  }\n  interface ValidateComponentsResponse {\n      /** list of validation results */\n      results?: ComponentValidationResult[];\n  }\n  interface ComponentValidationResult {\n      /** component ID */\n      componentId?: string;\n      /** validation result */\n      valid?: boolean;\n      /** the error as a result of the validation */\n      error?: Record<string, any> | null;\n      /** a user facing human readable error message */\n      message?: string | null;\n  }\n  /** SPI config - defines the relation between implementer URL and which types it is validates */\n  interface ValidatorComponentsValidatorConfig {\n      /** Component types that will be validated */\n      componentValidationTypes?: ComponentType[];\n      /** Indicates whether the validation should affect real production */\n      testMode?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface SpiContext {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ValidateComponentsOptions {\n      /** components that have been created or have been modified */\n      requestedComponents?: Component[];\n      /** current components on the app */\n      currentAppComponents?: Component[];\n      /** Indicates what flow trigger this operation on the components */\n      triggerFlow?: TriggerFlow;\n  }\n  \n  export { AcceptedDirectMessageType, AcceptedSmsMessageType, Action, ActionCondition, ActionProviderSPIConfig, ActionSPIConfig, AdditionalFeesSPIConfig, AdditionalStepInfo, AdditionalTaxGroup, AddonMarketData, AdminConfigurableTextInput, AlertEnricherSpiConfiguration, AlgorithmConfig, AlgorithmType, AlternativeUri, AndroidMobilePushConfig, AndroidStyle, ApiWidth, AppConfig, AppConfiguration, ApplicationAutomationComponent, AssistantSpiConfig, AuthenticatorConfig, AutomationMetadata, AutomationTrigger, AvailabilityTimeSlotsProviderConfig, BackOfficeExtension, BackOfficeExtensionContainer, BackOfficeExtensionExtensionOneOf, BackOfficeExtensionMenuItem, BackOfficeExtensionWidget, BackOfficeExtensionWidgetAssetOneOf, BackOfficeHostingPlatforms, BackOfficeModal, BackOfficeModalContentOneOf, BackOfficePage, BackOfficePageAssetOneOf, BackOfficeScriptAsset, BackOfficeScriptAssetType, BackOfficeSidebarCategory, BackOfficeWidget, BackOfficeWidgetContentOneOf, BackofficeActionDeeplink, BarAlignment, BarAlignmentSelected, BaseInfo, BaseInstallation, BlockType, BookingPolicyProviderConfig, BookingsPricingProviderConfig, BookingsResourceType, BookingsResourceTypesProviderConfig, BooleanExperimentExposureRule, BrandIcons, BroadcastList, BrowserPushChannel, BrowserPushContentKeys, Bundle, BusinessError, BusinessManagerPage, CalendarType, CatalogSPIConfig, CatalogSyncConfiguration, ChannelBranding, ChannelConfiguration, ChannelConfigurationMessagingConfigOneOf, ChannelIcon, ChannelType, CheckboxConfiguration, CheckboxField, CodePackageComponentData, Color, ColorDefinition, ColorSelectLabeled, ColorSelectLabeledDataOneOf, CommentFilterProviderConfig, CommentModerationProviderConfig, CommentsContextProviderConfig, CommunicationChannelConfiguration, Component, ComponentData, ComponentDataDataOneOf, ComponentModel, ComponentReferenceDataConfig, ComponentTranslationAdditionalFieldsConfig, ComponentType, ComponentValidationResult, ComponentsValidatorConfig, Condition, ConditionBlock, Conditions, ConnectMethod, ConstOrDynamicParam, ConstOrDynamicParamValueOneOf, ContactData, ContactLabelsComponentData, ContactNotification, ContactsData, ContactsNotificationData, Container, ContainerDataOneOf, ContentData, ContentProviderConfig, Context, ConversationLimitations, CoverImageConfiguration, CreateNewItemInfo, CreatedBy, CrossSellConfig, CustomChargesConfig, CustomElement, CustomElementConsentCategoryOneOf, CustomElementScriptType, CustomElementWidget, CustomExperimentExposureRule, CustomRefData, CustomReservationsApprovalConfig, CustomScopeConfig, CustomTriggerConfig, DCConfigData, Dashboard, DashboardApplicationData, DashboardButton, DashboardComponentData, DashboardItem, DashboardPlatfromComponentData, DataComponent, DataExtensionsComponentData, Debounce, Deeplink, DeeplinkOfOneOf, Default, DefaultTaxGroupProviderConfig, DefaultTextStyle, Delay, DelayTypeOneOf, DeploymentPipelineProviderConfig, DevCenterTestingComponentData, DevCenterTestingComponentDataTranslatableOneOfOneOf, DirectMessageConfig, DiscountConfig, DisplayProperties, DisplayValue, Docking, DockingProperties, DrillInListItem, DrillItem, DrillItemDataOneOf, DropDownLabeled, DropdownField, DropdownFieldOption, DropshippingProviderSPIConfig, DurationInputConfiguration, DurationRenameOptions, DynamicSiteStructureProviderConfig, EditorAddon, EditorBehaviors, EditorPresence, ElementType, EmailChannel, EmailMessageConfig, EmailTemplateConfig, EmailTemplateConfigProviderOneOf, EmbedCategory, EmbeddedScriptComponentData, EmbeddedScriptPages, EmbeddedScriptPlacement, Environment, ErrorReporting, ErrorReportingArtifact, EventTypeProviderConfig, ExecutionType, ExpectedInputs, ExperimentGroupWrapper, Exposure, ExposureRule, ExposureRuleRuleOneOf, ExposureRuleType, Extendable, ExtendingComponentType, ExtensionData, ExtensionType, ExternalDatabaseSpiConfig, ExternalFilterProviderConfig, FeedAggregation, FeedChannels, FeedChannelsConfig, FieldType, Filter, FilterInfo, FilterInfoOptionsOneOf, FilterOptionsType, FilterSelectionType, FixedPositionOptions, FontDefinition, FontFamilyWithColorPicker, FormSchemaSpiConfig, FormSpamSubmissionReportPermissions, FormSpamSubmissionReportSpiConfig, FormSpamSubmissionReportsNamespaceConfig, FormSpamSubmissionSpiConfig, FormSubmissionSpiConfig, FormSubmissionSpiExtensionConfig, FormTemplate, FormsPermissions, FormsSchemaNamespaceConfig, FormsSpamSubmissionsNamespaceConfig, FormsSubmissionsExtensionNamespaceConfig, FormsSubmissionsNamespaceConfig, FreeOptionConfiguration, FreeTrialConfiguration, Function, FunctionsShopPriceSpiConfig, GbpFeatureConfig, GenericHookConfig, GenericHooksConfig, GenericOptions, GiftCardProviderConfig, GridAppFilesTransformerConfig, GroupedContent, HeadlessOAuth, Height, HeightMode, HookType, HorizontalDocking, HostContainerId, HostedComponent, HostedPage, IDPConnectionConfig, Icon, IconDataOneOf, IconType, IdentificationData, IdentificationDataIdOneOf, IdentityType, Illustration, IllustrationIllustrationOneOf, Image, ImplementedMethods, InitDirection, InitialPosition, Initiator, InitiatorDataOneOf, InitiatorType, InputConfiguration, InputWithPlaceholder, InstallPage, InstallationSettings, InstallationSettingsOptionsOneOf, Intent, InterfaceConfiguration, InterfaceConfigurationOptionsOneOf, InterfaceConfigurationType, InvoicesActionsComponentData, InvoicesConfig, IsStretched, ItemsSelectionProviderConfig, LearnMore, LegacyBackOfficeExtensionWidget, LegacyBackOfficeExtensionWidgetAssetOneOf, LegacyBackOfficeMenuItem, Level, LightboxOptions, LimiterField, LineItemsEnricherConfig, LinkSuffix, ListEventFromCalendars, LiveSiteActionDeeplink, LocalDeliveryComponentData, LockableOperation, Logos, Main, MainPresets, MainPropsData, MandatoryField, Margins, MeasurementSystem, MediaCapabilities, MediaMimeType, MembershipsSPIConfig, MenuAction, MenuActionActionOneOf, MessageContainingTranslatables, Metadata, MobileApplication, MobileFeedChannel, MobileFeedContentKeys, MobilePushChannel, MobilePushChannelConfig, MobilePushContentKeys, MultiServiceBookingPolicyProviderConfig, MultilingualTranslationSchema, MultipleDashboardsComponentData, NavigateToPageAction, NavigationType, NestedWidgets, NotificationChannels, NotificationContent, NotificationPreferencesFilterConfig, NotificationTopic, NotificationTopicType, Offset, OffsetValueOneOf, OneTimeOptionConfiguration, OpenComponent, OpenModalAction, OrderValue, OutOfIframeData, PackageDimension, PackageType, Padding, PageComponentData, PageContent, PageDashboardApplicationComponent, PageInstallation, PageInstallationSettings, PageOptions, PageOutOfIframeComponentData, PageReplace, PageReplaceOptions, PageReplaceOptionsOptionsOneOf, Param, PartialPaymentRestriction, PaymentMethod, PaymentMethodMethodOneOf, PaymentServiceProviderConfig, PaymentServiceProviderCredentialsField, PaymentServiceProviderCredentialsFieldFieldOneOf, PaymentSettingsSPIConfig, PaymentsGatewayComponentData, PayoutsProviderConfig, PerkValues, PerksConfiguration, PingNotificationComponentData, PingSettingsGroupComponentData, PingSettingsGroupComponentDataState, PlanDuration, PlanFormBenefitsSection, PlanFormCustomSection, PlanFormDefaultSection, PlanFormInfoSection, PlanFormInitialValue, PlanFormPagePermissionsSection, PlanFormPlanSettingsSection, PlanFormPreviewSection, PlanFormPricingAndDurationSection, PlanFormPricingOption, PlanFormSection, PlanFormSectionSectionOneOf, PlanFormTypeMetadata, PlanPeriodUnit, PlanPriceData, PlanPricing, PlanPricingPricingModelOneOf, PlanSettingsRowConfiguration, PlatfromComponentData, PluginInstallationSettings, PluginInterface, PluginMarketData, PluginPlacement, PolicyConfig, Position, PostLoginConfig, PreRegisterConfig, PredefinedExpectedInput, PredefinedExpectedInputConfiguration, PredefinedExpectedInputConfigurationTypeOneOf, PredefinedLabel, PresetEditorPresence, PresetInfo, PresetSize, PreviewCardPlaceholders, PreviewConfiguration, PreviewFields, PricingPlansFormConfiguration, PricingRecurring, Primitive, PrimitiveType, ProductsPathsConfig, ProposalEditorProviderConfig, ProviderConfig, RadioButtonLabeled, RateLimit, RecipientFilter, RecipientFilterDataOneOf, RecipientFilterType, RecommendationsProviderConfig, RecurringOptionConfiguration, Region, RegionType, ReplaceableOptions, ReplacementType, ReplacingOptions, ResetButton, ResponsysEmail, RestaurantsPOSComponentData, RestrictedOperation, Restrictions, ReviewsEntityCatalogProviderConfig, ReviewsProductCatalogProviderConfig, RichTextWithIllustrationVertical, Rule, Schema, SchemaConfig, SchemaField, SchemaFieldType, SchemaFieldTypeFieldTypeOneOf, SchemaKey, SchemaScope, ScriptType, SearchField, SearchParams, Section, SeoKeywordsSuggestionsSPIConfig, ServiceAction, ServiceAvailabilityPolicyProviderConfig, Settings, SettingsPanel, SettingsUrl, SetupFeeConfiguration, SharedPlatformMobilePushConfig, ShippingLabelCarrierSpiConfig, ShippingProviderConfig, ShippingRatesConfig, ShoutoutEmail, Simple, SimpleField, SimpleType, SingleContent, SingleKeyCondition, SiteConfig, SiteContributorsData, SiteMemberData, Size, SliderLabeled, Slot, SmsActionMessage, SmsChannel, SmsContentKeys, SmsMessageConfig, SnippetSolutionData, SocialMarketingDesignSPIConfig, SocialMarketingDesignsProviderConfig, SpamSubmissionPermissions, SpiBaseUri, SpiContext, State, StaticFileComponentData, StaticFilterOption, StaticFilterOptions, Status, StudioComponentData, StudioWidgetComponentData, StudioWidgetVariation, SubPage, SyncToCalendar, SyncedProjectsProviderConfig, Tab, Tag, TaxCalculationConfig, TaxCalculatorSpiConfig, TaxCountriesConfig, TaxGroupsProviderConfig, TaxIdValidatorConfig, TaxTypesConfig, TaxationCategoryProvider, TemplateDefaultColor, TermsAndConditionsConfiguration, TermsModalConfiguration, TextInputDisplayType, TextInputLabeled, TextInputSettings, TextStyle, TextStyleDefaultColorOneOf, TextWithSuffix, TextWithSuffixSuffixOneOf, TextWithTooltip, ThankYouPageConfiguration, ThankYouPageInputConfig, ThankYouPageModalConfiguration, ThankYouPagePreviewConfiguration, ThankYouPageRedirectsConfiguration, ThumbnailData, Thumbnails, ThumbnailsSize, ToggleLabeled, ToolPanelConfig, TooltipSuffix, TranslatedMessageWithIdRepeated, TranslatedMessageWithUniqueFieldRepeated, Trigger, TriggerFlow, TriggerProviderSPIConfig, Type, TypedDynamicParam, TypedDynamicParamType, UnifiedPage, UnitType, Until, Url, UrlData, UserNotification, UserNotificationData, UserNotificationDataContext, UserNotificationDataDeeplink, UserNotificationDataDeeplinkOfOneOf, UserNotificationDataInitiator, UserNotificationDataInitiatorDataOneOf, UserNotificationDataRecipientFilter, UserNotificationDataRecipientFilterDataOneOf, UserNotificationDataRecipientFilterType, V1SchemaField, ValidateComponentsOptions, ValidateComponentsRequest, ValidateComponentsResponse, ValidationsSPIConfig, ValidatorComponentsValidatorConfig, VeloActionConfig, VeloPublishPipelineTaskProviderConfig, VelocityEmail, VerticalDocking, ViewMode, VoiceChannel, VoiceContentKeys, WebComponentData, WebFeedChannel, WebFeedContentKeys, WidgetAsContent, WidgetBehavior, WidgetComponentData, WidgetComponentOptions, WidgetData, WidgetDetails, WidgetDisplay, WidgetHorizontal, WidgetInstallation, WidgetInstallationSettings, WidgetOutOfIframeComponentData, WidgetPluginComponentData, WidgetSize, WidgetSizeHeight, WidgetVertical, WidgetWidthType, Width, WixCodePublishTaskName, WixDependency, WixOfferingComponentData, WixOfferingComponentDataOfferingOneOf, WixUserData, WixUsersData, WorkerComponentData, _Date };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-redirects.v1.d.ts",
      "content": "declare module \"wix-redirects.v1\" {\n  /** Information for redirecting a visitor from an external Wix Headless client site to a Wix page for Wix-managed functionality. */\n  interface RedirectSession {\n      /** ID of the redirect session created. */\n      _id?: string;\n      /**\n       * The full URL of the Wix page to redirect the visitor to. This URL includes query parameters informing Wix where to redirect the visitor back to on the Wix Headless client site.\n       * @readonly\n       */\n      fullUrl?: string;\n      /** Details about the URL of the redirect session. */\n      urlDetails?: URLDetails;\n      /**\n       * The session token to pass to the Wix page to maintain the visitor's identity.\n       * @readonly\n       */\n      sessionToken?: string | null;\n      /**\n       * The short URL of the Wix page to redirect the visitor to. This URL includes query parameters informing Wix where to redirect the visitor back to on the Wix Headless client site.\n       * @readonly\n       */\n      shortUrl?: string;\n  }\n  interface URLDetails {\n      /**\n       * Endpoint of the url. This includes the base URL and the path to the endpoint, without query parameters.\n       * For example: `https://mysite.com/_api/oauth2/authorize`.\n       * @readonly\n       */\n      endpoint?: string;\n      /** URL query parameters. */\n      searchParams?: Record<string, string>;\n  }\n  interface CreateRedirectSessionRequest extends CreateRedirectSessionRequestIntentOneOf {\n      /** Information required for generating a custom URL for a Wix Bookings checkout. */\n      bookingsCheckout?: RedirectSessionBookingsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix eCommerce checkout. */\n      ecomCheckout?: RedirectSessionEcomCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Events checkout. */\n      eventsCheckout?: RedirectSessionEventsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Paid Plans checkout. */\n      paidPlansCheckout?: RedirectSessionPaidPlansCheckoutParams;\n      /** Specify an empty object in this parameter to generate a URL for Wix login without first checking whether the visitor is authenticated. */\n      login?: RedirectSessionLoginParams;\n      /** Information required for generating a custom URL to log out from a Wix account. This process invalidates the visitor or member token and clears cookies associated with the Wix domain from their browser. */\n      logout?: RedirectSessionLogoutParams;\n      /** Information required for generating a custom URL for Wix authentication. */\n      auth?: RedirectSessionAuthParams;\n      /**\n       * For future use - The parameters used in order to generate the URL into the members account area (AKA my account)\n       * @internal\n       */\n      memberAccountPage?: RedirectSessionMembersAccountParams;\n      /** Information required for generating a custom URL for a Wix stores product page. */\n      storesProduct?: RedirectSessionStoresProductParams;\n      /** Information required for generating a custom URL for Wix bookings book page. */\n      bookingsBook?: RedirectSessionBookingsBookParams;\n      /**\n       * Details of pages to redirect the visitor back to on the Wix Headless client site.\n       * When redirecting to any callback URL, Wix specifies the boolean `wixMemberLoggedIn` parameter.\n       * If `true`, a member logged in during the preceding Wix-managed process.\n       *\n       * **Note**: For an authentication redirect, don't specify a post-flow URL here. Instead, specify one in `auth.authRequest.redirectUri`.\n       */\n      callbacks?: CallbackParams;\n      /** Optional preferences for customizing redirection to Wix pages. */\n      preferences?: RedirectSessionPreferences;\n  }\n  /** @oneof */\n  interface CreateRedirectSessionRequestIntentOneOf {\n      /** Information required for generating a custom URL for a Wix Bookings checkout. */\n      bookingsCheckout?: RedirectSessionBookingsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix eCommerce checkout. */\n      ecomCheckout?: RedirectSessionEcomCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Events checkout. */\n      eventsCheckout?: RedirectSessionEventsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Paid Plans checkout. */\n      paidPlansCheckout?: RedirectSessionPaidPlansCheckoutParams;\n      /** Specify an empty object in this parameter to generate a URL for Wix login without first checking whether the visitor is authenticated. */\n      login?: RedirectSessionLoginParams;\n      /** Information required for generating a custom URL to log out from a Wix account. This process invalidates the visitor or member token and clears cookies associated with the Wix domain from their browser. */\n      logout?: RedirectSessionLogoutParams;\n      /** Information required for generating a custom URL for Wix authentication. */\n      auth?: RedirectSessionAuthParams;\n      /**\n       * For future use - The parameters used in order to generate the URL into the members account area (AKA my account)\n       * @internal\n       */\n      memberAccountPage?: RedirectSessionMembersAccountParams;\n      /** Information required for generating a custom URL for a Wix stores product page. */\n      storesProduct?: RedirectSessionStoresProductParams;\n      /** Information required for generating a custom URL for Wix bookings book page. */\n      bookingsBook?: RedirectSessionBookingsBookParams;\n  }\n  interface RedirectSessionBookingsCheckoutParams {\n      /**\n       * The selected calendar slots to checkout (use slot_availability instead)\n       * @internal\n       * @deprecated The selected calendar slots to checkout (use slot_availability instead)\n       * @replacedBy slot_availability\n       * @targetRemovalDate 2025-03-31\n       */\n      slot?: SlotAvailability;\n      /**\n       * The timezone to use when presenting the selected slot to users, in [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) format. For example, `America/Santiago`.\n       *\n       * Default: If you don't specify a timezone, the timezone in `slotAvailability.slot.timezone` is used.\n       */\n      timezone?: string;\n      slotAvailability?: SlotAvailability;\n  }\n  interface SlotAvailability {\n      /**\n       * The slot for the corresponding session, when the session is either a single session\n       * or a specific session generated from a recurring session.\n       */\n      slot?: Slot;\n      /**\n       * Whether the slot is bookable. Bookability is determined by checking a\n       * session's open slots and booking policies. Locks are not taken into\n       * account.\n       */\n      bookable?: boolean;\n      /**\n       * Total number of spots for this slot.\n       * For example, if a session has a total of 10 spots and 3 spots are booked,\n       * `spotsTotal` is 10 and `openSpots` is 7.\n       */\n      totalSpots?: number | null;\n      /** Number of open spots for this slot. */\n      openSpots?: number | null;\n      /** An object describing the slot's waitlist and its occupancy. */\n      waitingList?: WaitingList;\n      /** Booking policy violations for the slot. */\n      bookingPolicyViolations?: BookingPolicyViolations;\n      /**\n       * Indicates whether the slot is locked because a waitlist exists.\n       * When a slot frees up, the slot is offered to the next customer on the waitlist. Read-only.\n       */\n      locked?: boolean | null;\n      isFromV2?: boolean;\n      /** @internal */\n      nestedSlots?: NestedTimeSlot[];\n  }\n  interface Slot {\n      /**\n       * ID for the slot's corresponding session, when the session is either a single session\n       * or a specific session generated from a recurring session.\n       */\n      sessionId?: string | null;\n      /** Service ID. */\n      serviceId?: string;\n      /** Schedule ID. */\n      scheduleId?: string;\n      /**\n       * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       *\n       * If `timezone` is specified,\n       * dates are based on the local date/time. This means that the timezone offset\n       * in the `start_date` is ignored.\n       */\n      startDate?: string | null;\n      /**\n       * The end time of this slot in\n       * [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) format.\n       *\n       * If `timezone` is specified,\n       * dates are based on the local date/time. This means that the timezone offset\n       * in the `end_date` is ignored.\n       */\n      endDate?: string | null;\n      /**\n       * The timezone for which slot availability is to be calculated.\n       *\n       * Learn more about [handling Daylight Savings Time (DST) for local time zones](https://dev.wix.com/api/rest/wix-bookings/availability-calendar/query-availability#wix-bookings_availability-calendar_query-availability_handling-daylight-savings-time-dst-for-local-time-zones)\n       * when calculating availability.\n       */\n      timezone?: string | null;\n      /**\n       * The resource required for this slot. Currently, the only supported resource\n       * is the relevant staff member for the slot.\n       */\n      resource?: SlotResource;\n      /** Geographic location of the slot. */\n      location?: Location;\n  }\n  interface SlotResource {\n      /**\n       * Resource ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Resource name. Read only. */\n      name?: string | null;\n      /**\n       * Schedule ID. Read only.\n       * @internal\n       */\n      scheduleId?: string | null;\n  }\n  interface Location {\n      /**\n       * Business location ID. Available only for locations that are business locations,\n       * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** The full address of this location. */\n      formattedAddress?: string | null;\n      /** The full translated address of this location. */\n      formattedAddressTranslated?: string | null;\n      /**\n       * Location type.\n       *\n       * - `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n       * - `\"CUSTOM\"`: The address as set for the individual session.\n       */\n      locationType?: LocationType;\n  }\n  enum LocationType {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface WaitingList {\n      /**\n       * Total number of spots and open spots for this waitlist.\n       * For example, a Yoga class with 10 waitlist spots and 3 registered\n       * on the waitlist has 10 `total_spots` and 7 `open_spots`.\n       */\n      totalSpots?: number | null;\n      /** Number of open spots for this waitlist. */\n      openSpots?: number | null;\n  }\n  interface BookingPolicyViolations {\n      /** Bookings policy violation. Too early to book this slot. */\n      tooEarlyToBook?: boolean | null;\n      /** Bookings policy violation. Too late to book this slot. */\n      tooLateToBook?: boolean | null;\n      /** Bookings policy violation. Online booking is disabled for this slot. */\n      bookOnlineDisabled?: boolean | null;\n  }\n  interface NestedTimeSlot {\n      serviceId?: string;\n      start?: string;\n      end?: string;\n      resource?: SlotResource;\n      /** Schedule ID. */\n      scheduleId?: string;\n  }\n  interface RedirectSessionEcomCheckoutParams {\n      /**\n       * - SDK: Use [Create Checkout](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/create-checkout) or [Create Checkout From Current Cart](https://dev.wix.com/docs/sdk/backend-modules/ecom/current-cart/create-checkout-from-current-cart).\n       * - REST: Use [Create Checkout From Cart](https://dev.wix.com/docs/rest/business-solutions/e-commerce/cart/create-checkout-from-cart).\n       */\n      checkoutId?: string;\n  }\n  interface RedirectSessionEventsCheckoutParams {\n      reservationId?: string;\n      eventSlug?: string;\n  }\n  interface RedirectSessionPaidPlansCheckoutParams {\n      planId?: string;\n      /**\n       * For use when pricing plan selection is part of a checkout flow, only if the paid plan selection page is implemented on an external Wix Headless client site.\n       * In this case, a string is received by the external pricing plans page as a `checkoutData` query parameter. Pass this string back here when redirecting back to Wix for checkout.\n       */\n      checkoutData?: string | null;\n  }\n  interface RedirectSessionLoginParams {\n  }\n  interface RedirectSessionLogoutParams {\n      clientId?: string;\n  }\n  interface RedirectSessionAuthParams {\n      authRequest?: AuthorizeRequest;\n      /** prompt type */\n      prompt?: Prompt;\n  }\n  /**\n   * AuthorizeRequest is sent by the client to the authorization server to initiate\n   * the authorization process.\n   */\n  interface AuthorizeRequest {\n      /** ID of the Wix OAuth app requesting authorization. */\n      clientId?: string;\n      /**\n       * Desired authorization [grant type](https://auth0.com/docs/authenticate/protocols/oauth#grant-types).\n       *\n       * Supported values:\n       * + `code`: The endpoint returns an authorization code that can be used to obtain an access token.\n       */\n      responseType?: string;\n      /** URI to redirect the browser to after authentication and authorization. The browser is redirected to this URI whether the authentication and authorization process is successful or not. */\n      redirectUri?: string | null;\n      /**\n       * Desired scope of access. If this field is left empty, only an access token is granted.\n       * To received a refresh token, pass `offline_access` as the value of this field.\n       */\n      scope?: string | null;\n      /**\n       * A value used to confirm the state of an application before and after it makes an authorization\n       * request. If a value for this field is set in the request, it's added to the `redirectUri` when the browser\n       * is redirected there.\n       * Learn more about [using the state parameter](https://auth0.com/docs/secure/attack-protection/state-parameters).\n       */\n      state?: string;\n      /**\n       * esired response format.\n       *\n       * Supported values:\n       * + `query`: The response parameters are encoded as query string parameters and added to the `redirectUri` when redirecting.\n       * + `fragment`: The response parameters are encoded as URI fragment parameters and added to the `redirectUri` when redirecting.\n       * + `web_message`: The response parameters are encoded as a JSON object and added to the body of a [web message response](https://datatracker.ietf.org/doc/html/draft-sakimura-oauth-wmrm-00).\n       *\n       * Default value: `query`\n       */\n      responseMode?: string | null;\n      /**\n       * Code challenge to use for PKCE verification.\n       * This field is only used if `responseType` is set to `code`.\n       */\n      codeChallenge?: string | null;\n      /**\n       * Code challenge method to use for PKCE verification.\n       * This field is only used if `responseType` is set to `code`.\n       *\n       * Supported values:\n       * + `S256`: The code challenge is transformed using SHA-256 encyption.\n       * + `S512`: The code challenge is transformed using SHA-512 encyption.\n       */\n      codeChallengeMethod?: string | null;\n      /** Session token of the site visitor to authorize. */\n      sessionToken?: string | null;\n      /**\n       * Optional fields for errors\n       * A short error code that describes the type of error that occurred (e.g. \"invalid_request\")\n       * @internal\n       */\n      error?: string | null;\n      /**\n       * A human-readable description of the error that occurred\n       * @internal\n       */\n      errorDescription?: string | null;\n  }\n  /** Currently only `none` and `login` are supported. */\n  enum Prompt {\n      login = \"login\",\n      none = \"none\",\n      consent = \"consent\",\n      select_account = \"select_account\"\n  }\n  interface RedirectSessionMembersAccountParams {\n      /**\n       * The member account page to redirect to.\n       *\n       * Default: `ACCOUNT_INFO`\n       */\n      section?: MembersAccountSection;\n  }\n  enum MembersAccountSection {\n      /** Account info section in \"my account\". */\n      ACCOUNT_INFO = \"ACCOUNT_INFO\",\n      /** My Bookings section in \"my account\". */\n      BOOKINGS = \"BOOKINGS\",\n      /** My Orders section in \"my account\". */\n      ORDERS = \"ORDERS\",\n      /** Subscriptions section in \"my account\". */\n      SUBSCRIPTIONS = \"SUBSCRIPTIONS\",\n      /** Events section in \"my account\". */\n      EVENTS = \"EVENTS\"\n  }\n  interface RedirectSessionStoresProductParams {\n      productSlug?: string;\n  }\n  interface RedirectSessionBookingsBookParams {\n      /** For use when filtering the bookings page by a specific resource. */\n      resourceId?: string;\n  }\n  interface CallbackParams {\n      /**\n       * The URL for a custom thank you page implemented on a site outside of Wix. The visitor is directed to this page after the Wix-managed process is completed.\n       * When redirecting to this URL, Wix passes different query parameters depending on the preceding transaction:\n       *\n       * After a pricing plans checkout:\n       * + `planOrderId`: ID of a pricing plan order.\n       *\n       * After an eCommerce checkout:\n       * + `orderId`: ID of an eCommerce order.\n       *\n       * After an Events checkout:\n       * + `orderNumber`: Unique order number for the transaction.\n       * + `eventId`: ID of the event.\n       *\n       * If the process is abandoned or interrupted, the visitor is redirected to the URL specified in `postFlowUrl` instead.\n       *\n       * Default: If you don't specify a URL, the visitor is redirected to a Wix thank you page, and from there to the URL specified in `postFlowUrl`.\n       */\n      thankYouPageUrl?: string | null;\n      /**\n       * The URL Wix should redirect the visitor to when the Wix-managed process is completed, abandoned, or interrupted.\n       *\n       * **Note**: For an authentication redirect, don't specify a URL here. Instead, specify one in `options.auth.authRequest.redirectUri`.\n       */\n      postFlowUrl?: string | null;\n      /**\n       * (Deprecated - use planListUrl) An external pricing plans page URL, used in case the checkout allows payment with a paid plans\n       * @internal\n       * @deprecated (Deprecated - use planListUrl) An external pricing plans page URL, used in case the checkout allows payment with a paid plans\n       * @replacedBy plan_list_url\n       * @targetRemovalDate 2025-03-31\n       */\n      plansListUrl?: string | null;\n      /**\n       * The URL for a custom login page implemented outside of Wix.\n       *\n       * Default: If you don't specify a URL, a Wix login page is used.\n       */\n      loginUrl?: string | null;\n      /**\n       * The URL for a custom bookings services page implemented outside of Wix.\n       *\n       * Default: If you don't specify a URL, a Wix bookings services page is used.\n       */\n      bookingsServiceListUrl?: string | null;\n      /**\n       * The URL for a custom eCommerce cart page implemented outside of Wix.\n       *\n       * Default: If you don't specify a URL, a Wix cart page is used.\n       */\n      cartPageUrl?: string | null;\n      /**\n       * The URL for a custom pricing plans page implemented outside of Wix. When redirecting to this URL, Wix specifies the following query parameters:\n       * + `planIds`:  IDs of the pricing plans on the custom page.\n       * + `checkoutData`: Specify this string back in `options.paidPlansCheckout.checkoutData` when redirecting back to Wix for checkout.\n       *\n       *  Default: If you don't specify a URL, a Wix pricing plans page is used.\n       */\n      planListUrl?: string | null;\n      /**\n       * State that is retruned to the client when Wix redirects back to the headless site.\n       * Will be included in the `state` query parameter to any of the callback URLs.\n       * If you don't specify the state parameter, the state query parameter will not be returned.\n       *\n       * If you wish to include a state only for specific callback URLs, you can specify the state parameter in the relevant callback URL.\n       * @internal\n       */\n      state?: string | null;\n  }\n  interface RedirectSessionPreferences {\n      /**\n       * Whether to use a standard Wix template for Wix-managed pages the visitor is redirected to. Set to `false` only if your client site connects with a Wix site that has custom pages.\n       *\n       * Default: `true`\n       */\n      useGenericWixPages?: boolean | null;\n      /**\n       * Custom paths for member pages. Required if `useGenericWixPages` is `false` and the page paths have been changed in the Wix editor.\n       * @internal\n       */\n      customMemberPaths?: CustomMemberPaths;\n      /**\n       * Whether to maintain the identity used in the redirect to Wix (not relevant for `logout` and `auth` intents), or to use a new visitor identity.\n       *\n       * Default: `true`\n       */\n      maintainIdentity?: boolean | null;\n      /**\n       * Map of additional global query parameters to add to the created Wix URL.\n       * For example, [UTM parameters](https://en.wikipedia.org/wiki/UTM_parameters).\n       */\n      additionalQueryParameters?: Record<string, string>;\n      /**\n       * Whether to create short url.\n       *\n       * Default: `false`\n       * @internal\n       */\n      createShortUrl?: boolean | null;\n      /**\n       * Check if site is published for the specific app def if. If it is, return domain of site.\n       * If it is not, return the url of the site with prefix and page url.\n       * It will override use_generic_wix_pages flag.\n       *\n       * Default: `false`\n       * @internal\n       */\n      checkIfPublish?: boolean | null;\n  }\n  interface CustomMemberPaths {\n      /** Path of the account page in the site's members area. Required if `useGenericWixPages` is `false` and the account page path has been changed in the Wix editor. */\n      accountPagePath?: string | null;\n      /** Path of the member profile page in the site's members area. Required if `useGenericWixPages` is `false` and the member profile page path has been changed in the Wix editor. */\n      profilePagePath?: string | null;\n  }\n  interface CreateRedirectSessionResponse {\n      /** Details for redirecting the visitor to a Wix page. */\n      redirectSession?: RedirectSession;\n  }\n  interface CreateAnonymousRedirectSessionRequest extends CreateAnonymousRedirectSessionRequestIntentOneOf {\n      /** Information required for generating a custom URL for a Wix Bookings checkout. */\n      bookingsCheckout?: RedirectSessionBookingsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix eCommerce checkout. */\n      ecomCheckout?: RedirectSessionEcomCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Events checkout. */\n      eventsCheckout?: RedirectSessionEventsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Paid Plans checkout. */\n      paidPlansCheckout?: RedirectSessionPaidPlansCheckoutParams;\n      /** Information required for generating a custom URL for a Wix stores product page. */\n      storesProduct?: RedirectSessionStoresProductParams;\n      /** Information required for generating a custom URL for Wix bookings book page. */\n      bookingsBook?: RedirectSessionBookingsBookParams;\n      /** Optional preferences for customizing redirection to Wix pages. */\n      preferences?: RedirectSessionPreferences;\n  }\n  /** @oneof */\n  interface CreateAnonymousRedirectSessionRequestIntentOneOf {\n      /** Information required for generating a custom URL for a Wix Bookings checkout. */\n      bookingsCheckout?: RedirectSessionBookingsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix eCommerce checkout. */\n      ecomCheckout?: RedirectSessionEcomCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Events checkout. */\n      eventsCheckout?: RedirectSessionEventsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Paid Plans checkout. */\n      paidPlansCheckout?: RedirectSessionPaidPlansCheckoutParams;\n      /** Information required for generating a custom URL for a Wix stores product page. */\n      storesProduct?: RedirectSessionStoresProductParams;\n      /** Information required for generating a custom URL for Wix bookings book page. */\n      bookingsBook?: RedirectSessionBookingsBookParams;\n  }\n  interface CreateAnonymousRedirectSessionResponse {\n      /** Details for redirecting the visitor to a Wix page. */\n      redirectSession?: RedirectSession;\n  }\n  interface AttachPagesRequest {\n      /** App ID that we want to inherit pages for. */\n      appDefId: string;\n  }\n  interface AttachPagesResponse {\n      /** The status of the operation. */\n      status?: Status;\n      /** A descriptive message about the operation */\n      message?: string;\n      /** True if pages were attached, false otherwise */\n      pagesAttached?: boolean;\n      /** True if the site was already published */\n      sitePublished?: boolean;\n  }\n  enum Status {\n      /** Invalid value. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Pages were successfully attached. */\n      SUCCESS = \"SUCCESS\",\n      /** No pages were attached because the site is already published. */\n      NO_ACTION = \"NO_ACTION\",\n      /** An error occurred, such as when the site or app is not found. */\n      ERROR = \"ERROR\"\n  }\n  interface ValidateCallbackURLRequest {\n      /** An external URL to validate */\n      callbackUrl: string;\n      /** Type of the callback URL. */\n      callbackType: CallbackType;\n      /** The oauth app id used in order to pull the allowed domains from, has to correspond to the same metasite as the site in context */\n      clientId: string;\n  }\n  enum CallbackType {\n      /** Invalid value. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Callback URL is used for the logout flow. */\n      LOGOUT = \"LOGOUT\",\n      /** Callback URL is used for a checkout flow. */\n      CHECKOUT = \"CHECKOUT\",\n      /** Callback URL is used for the authorize flow. */\n      AUTHORIZE = \"AUTHORIZE\"\n  }\n  interface ValidateCallbackURLResponse {\n      /** Indicates if the provided URL is allowed for the given client id */\n      isValid?: boolean;\n  }\n  interface SignInURLRequest {\n      /** The oauth app id used in order to pull the allowed domains from, has to correspond to the same metasite as the site in context */\n      clientId: string;\n  }\n  interface SignInURLResponse {\n      /** The Wix URL details to redirect into */\n      redirectSession?: RedirectSession;\n  }\n  interface AttachAllTemplatesRequest {\n  }\n  interface AttachAllTemplatesResponse {\n      /** The status of the operation. */\n      status?: AttachAllTemplatesResponseStatus;\n  }\n  enum AttachAllTemplatesResponseStatus {\n      /** Invalid value. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Templates were successfully attached. */\n      SUCCESS = \"SUCCESS\",\n      /** An error occurred. */\n      ERROR = \"ERROR\"\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a URL for redirecting a visitor from an external client site to a Wix page for Wix-managed functionality.\n   *\n   * The Create Redirect Session method enables your external Wix Headless client site, built on any platform, to integrate Wix-managed frontend functionality for specific processes.\n   * For example, your site can temporarily redirect a visitor to Wix for authentication, or for a checkout process for bookings, eCommerce, events, or paid plans transactions.\n   *\n   * To initiate a redirect session:\n   *\n   * 1. Call Create Redirect Session with the details required for Wix to take care of one specific process (for example, authentication or a bookings checkout). Provide one or more callback URLs, so Wix can redirect the visitor back to your site as appropriate when the process is over.\n   * 1. Redirect your visitor to the URL provided in the response. This URL includes query parameters informing Wix where to redirect the visitor back to on your external site.\n   * 1. Make sure the pages at the callback URLs you provided take care of the next stages in your visitor flow.\n   * @public\n   * @param options - Options for creating a redirect session.\n   * @permissionId WIX_HEADLESS.WIX_URL_CREATE\n   */\n  function createRedirectSession(options?: CreateRedirectSessionOptions): Promise<CreateRedirectSessionResponse>;\n  interface CreateRedirectSessionOptions extends CreateRedirectSessionRequestIntentOneOf {\n      /** Information required for generating a custom URL for a Wix Bookings checkout. */\n      bookingsCheckout?: RedirectSessionBookingsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix eCommerce checkout. */\n      ecomCheckout?: RedirectSessionEcomCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Events checkout. */\n      eventsCheckout?: RedirectSessionEventsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Paid Plans checkout. */\n      paidPlansCheckout?: RedirectSessionPaidPlansCheckoutParams;\n      /** Specify an empty object in this parameter to generate a URL for Wix login without first checking whether the visitor is authenticated. */\n      login?: RedirectSessionLoginParams;\n      /** Information required for generating a custom URL to log out from a Wix account. This process invalidates the visitor or member token and clears cookies associated with the Wix domain from their browser. */\n      logout?: RedirectSessionLogoutParams;\n      /** Information required for generating a custom URL for Wix authentication. */\n      auth?: RedirectSessionAuthParams;\n      /**\n       * For future use - The parameters used in order to generate the URL into the members account area (AKA my account)\n       * @internal\n       */\n      memberAccountPage?: RedirectSessionMembersAccountParams;\n      /** Information required for generating a custom URL for a Wix stores product page. */\n      storesProduct?: RedirectSessionStoresProductParams;\n      /** Information required for generating a custom URL for Wix bookings book page. */\n      bookingsBook?: RedirectSessionBookingsBookParams;\n      /**\n       * Details of pages to redirect back to on the Wix Headless client site.\n       *\n       * **Note**: For an authentication redirect, don't specify a post-flow URL here. Instead, specify one in `options.auth.authRequest.redirectUri`.\n       */\n      callbacks?: CallbackParams;\n      /** Optional preferences for customizing redirection to Wix pages. */\n      preferences?: RedirectSessionPreferences;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_HEADLESS.WIX_URL_CREATE\n   */\n  function createAnonymousRedirectSession(options?: CreateAnonymousRedirectSessionOptions): Promise<CreateAnonymousRedirectSessionResponse>;\n  interface CreateAnonymousRedirectSessionOptions extends CreateAnonymousRedirectSessionRequestIntentOneOf {\n      /** Information required for generating a custom URL for a Wix Bookings checkout. */\n      bookingsCheckout?: RedirectSessionBookingsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix eCommerce checkout. */\n      ecomCheckout?: RedirectSessionEcomCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Events checkout. */\n      eventsCheckout?: RedirectSessionEventsCheckoutParams;\n      /** Information required for generating a custom URL for a Wix Paid Plans checkout. */\n      paidPlansCheckout?: RedirectSessionPaidPlansCheckoutParams;\n      /** Information required for generating a custom URL for a Wix stores product page. */\n      storesProduct?: RedirectSessionStoresProductParams;\n      /** Information required for generating a custom URL for Wix bookings book page. */\n      bookingsBook?: RedirectSessionBookingsBookParams;\n      /** Optional preferences for customizing redirection to Wix pages. */\n      preferences?: RedirectSessionPreferences;\n  }\n  /**\n   * Check if a site is published for the specific app definition. If it is, do nothing.\n   * If it is not, attach the pages of the app to the site using msm-writer.AttachHtmlAnywhere and site-publisher.DeployStandalonePages.\n   * @param appDefId - App ID that we want to inherit pages for.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField appDefId\n   * @permissionId WIX_HEADLESS.ATTACH_PAGES\n   * @adminMethod\n   */\n  function attachPages(appDefId: string): Promise<AttachPagesResponse>;\n  /**\n   * Validates a callback URL per the allowed domains defined for a given client ID.\n   * @param callbackUrl - An external URL to validate\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField callbackUrl\n   * @requiredField options\n   * @requiredField options.callbackType\n   * @requiredField options.clientId\n   * @permissionId WIX_HEADLESS.WIX_URL_VALIDATE_CALLBACK_URL\n   */\n  function validateCallbackUrl(callbackUrl: string, options: ValidateCallbackUrlOptions): Promise<ValidateCallbackURLResponse>;\n  interface ValidateCallbackUrlOptions {\n      /** Type of the callback URL. */\n      callbackType: CallbackType;\n      /** The oauth app id used in order to pull the allowed domains from, has to correspond to the same metasite as the site in context */\n      clientId: string;\n  }\n  /**\n   * (Internal) - Get the Wix login URL.\n   * @param clientId - The oauth app id used in order to pull the allowed domains from, has to correspond to the same metasite as the site in context\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField clientId\n   * @permissionId WIX_HEADLESS.WIX_URL_SIGN_IN\n   * @adminMethod\n   */\n  function signInUrl(clientId: string): Promise<SignInURLResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_HEADLESS.ATTACH_ALL_TEMPLATES\n   * @adminMethod\n   */\n  function attachAllTemplates(): Promise<AttachAllTemplatesResponse>;\n  \n  type headlessV1RedirectSession_universal_d_RedirectSession = RedirectSession;\n  type headlessV1RedirectSession_universal_d_URLDetails = URLDetails;\n  type headlessV1RedirectSession_universal_d_CreateRedirectSessionRequest = CreateRedirectSessionRequest;\n  type headlessV1RedirectSession_universal_d_CreateRedirectSessionRequestIntentOneOf = CreateRedirectSessionRequestIntentOneOf;\n  type headlessV1RedirectSession_universal_d_RedirectSessionBookingsCheckoutParams = RedirectSessionBookingsCheckoutParams;\n  type headlessV1RedirectSession_universal_d_SlotAvailability = SlotAvailability;\n  type headlessV1RedirectSession_universal_d_Slot = Slot;\n  type headlessV1RedirectSession_universal_d_SlotResource = SlotResource;\n  type headlessV1RedirectSession_universal_d_Location = Location;\n  type headlessV1RedirectSession_universal_d_LocationType = LocationType;\n  const headlessV1RedirectSession_universal_d_LocationType: typeof LocationType;\n  type headlessV1RedirectSession_universal_d_WaitingList = WaitingList;\n  type headlessV1RedirectSession_universal_d_BookingPolicyViolations = BookingPolicyViolations;\n  type headlessV1RedirectSession_universal_d_NestedTimeSlot = NestedTimeSlot;\n  type headlessV1RedirectSession_universal_d_RedirectSessionEcomCheckoutParams = RedirectSessionEcomCheckoutParams;\n  type headlessV1RedirectSession_universal_d_RedirectSessionEventsCheckoutParams = RedirectSessionEventsCheckoutParams;\n  type headlessV1RedirectSession_universal_d_RedirectSessionPaidPlansCheckoutParams = RedirectSessionPaidPlansCheckoutParams;\n  type headlessV1RedirectSession_universal_d_RedirectSessionLoginParams = RedirectSessionLoginParams;\n  type headlessV1RedirectSession_universal_d_RedirectSessionLogoutParams = RedirectSessionLogoutParams;\n  type headlessV1RedirectSession_universal_d_RedirectSessionAuthParams = RedirectSessionAuthParams;\n  type headlessV1RedirectSession_universal_d_AuthorizeRequest = AuthorizeRequest;\n  type headlessV1RedirectSession_universal_d_Prompt = Prompt;\n  const headlessV1RedirectSession_universal_d_Prompt: typeof Prompt;\n  type headlessV1RedirectSession_universal_d_RedirectSessionMembersAccountParams = RedirectSessionMembersAccountParams;\n  type headlessV1RedirectSession_universal_d_MembersAccountSection = MembersAccountSection;\n  const headlessV1RedirectSession_universal_d_MembersAccountSection: typeof MembersAccountSection;\n  type headlessV1RedirectSession_universal_d_RedirectSessionStoresProductParams = RedirectSessionStoresProductParams;\n  type headlessV1RedirectSession_universal_d_RedirectSessionBookingsBookParams = RedirectSessionBookingsBookParams;\n  type headlessV1RedirectSession_universal_d_CallbackParams = CallbackParams;\n  type headlessV1RedirectSession_universal_d_RedirectSessionPreferences = RedirectSessionPreferences;\n  type headlessV1RedirectSession_universal_d_CustomMemberPaths = CustomMemberPaths;\n  type headlessV1RedirectSession_universal_d_CreateRedirectSessionResponse = CreateRedirectSessionResponse;\n  type headlessV1RedirectSession_universal_d_CreateAnonymousRedirectSessionRequest = CreateAnonymousRedirectSessionRequest;\n  type headlessV1RedirectSession_universal_d_CreateAnonymousRedirectSessionRequestIntentOneOf = CreateAnonymousRedirectSessionRequestIntentOneOf;\n  type headlessV1RedirectSession_universal_d_CreateAnonymousRedirectSessionResponse = CreateAnonymousRedirectSessionResponse;\n  type headlessV1RedirectSession_universal_d_AttachPagesRequest = AttachPagesRequest;\n  type headlessV1RedirectSession_universal_d_AttachPagesResponse = AttachPagesResponse;\n  type headlessV1RedirectSession_universal_d_Status = Status;\n  const headlessV1RedirectSession_universal_d_Status: typeof Status;\n  type headlessV1RedirectSession_universal_d_ValidateCallbackURLRequest = ValidateCallbackURLRequest;\n  type headlessV1RedirectSession_universal_d_CallbackType = CallbackType;\n  const headlessV1RedirectSession_universal_d_CallbackType: typeof CallbackType;\n  type headlessV1RedirectSession_universal_d_ValidateCallbackURLResponse = ValidateCallbackURLResponse;\n  type headlessV1RedirectSession_universal_d_SignInURLRequest = SignInURLRequest;\n  type headlessV1RedirectSession_universal_d_SignInURLResponse = SignInURLResponse;\n  type headlessV1RedirectSession_universal_d_AttachAllTemplatesRequest = AttachAllTemplatesRequest;\n  type headlessV1RedirectSession_universal_d_AttachAllTemplatesResponse = AttachAllTemplatesResponse;\n  type headlessV1RedirectSession_universal_d_AttachAllTemplatesResponseStatus = AttachAllTemplatesResponseStatus;\n  const headlessV1RedirectSession_universal_d_AttachAllTemplatesResponseStatus: typeof AttachAllTemplatesResponseStatus;\n  type headlessV1RedirectSession_universal_d_DomainEvent = DomainEvent;\n  type headlessV1RedirectSession_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type headlessV1RedirectSession_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type headlessV1RedirectSession_universal_d_RestoreInfo = RestoreInfo;\n  type headlessV1RedirectSession_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type headlessV1RedirectSession_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type headlessV1RedirectSession_universal_d_ActionEvent = ActionEvent;\n  type headlessV1RedirectSession_universal_d_MessageEnvelope = MessageEnvelope;\n  type headlessV1RedirectSession_universal_d_IdentificationData = IdentificationData;\n  type headlessV1RedirectSession_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type headlessV1RedirectSession_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const headlessV1RedirectSession_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const headlessV1RedirectSession_universal_d_createRedirectSession: typeof createRedirectSession;\n  type headlessV1RedirectSession_universal_d_CreateRedirectSessionOptions = CreateRedirectSessionOptions;\n  const headlessV1RedirectSession_universal_d_createAnonymousRedirectSession: typeof createAnonymousRedirectSession;\n  type headlessV1RedirectSession_universal_d_CreateAnonymousRedirectSessionOptions = CreateAnonymousRedirectSessionOptions;\n  const headlessV1RedirectSession_universal_d_attachPages: typeof attachPages;\n  const headlessV1RedirectSession_universal_d_validateCallbackUrl: typeof validateCallbackUrl;\n  type headlessV1RedirectSession_universal_d_ValidateCallbackUrlOptions = ValidateCallbackUrlOptions;\n  const headlessV1RedirectSession_universal_d_signInUrl: typeof signInUrl;\n  const headlessV1RedirectSession_universal_d_attachAllTemplates: typeof attachAllTemplates;\n  namespace headlessV1RedirectSession_universal_d {\n    export {\n      headlessV1RedirectSession_universal_d_RedirectSession as RedirectSession,\n      headlessV1RedirectSession_universal_d_URLDetails as URLDetails,\n      headlessV1RedirectSession_universal_d_CreateRedirectSessionRequest as CreateRedirectSessionRequest,\n      headlessV1RedirectSession_universal_d_CreateRedirectSessionRequestIntentOneOf as CreateRedirectSessionRequestIntentOneOf,\n      headlessV1RedirectSession_universal_d_RedirectSessionBookingsCheckoutParams as RedirectSessionBookingsCheckoutParams,\n      headlessV1RedirectSession_universal_d_SlotAvailability as SlotAvailability,\n      headlessV1RedirectSession_universal_d_Slot as Slot,\n      headlessV1RedirectSession_universal_d_SlotResource as SlotResource,\n      headlessV1RedirectSession_universal_d_Location as Location,\n      headlessV1RedirectSession_universal_d_LocationType as LocationType,\n      headlessV1RedirectSession_universal_d_WaitingList as WaitingList,\n      headlessV1RedirectSession_universal_d_BookingPolicyViolations as BookingPolicyViolations,\n      headlessV1RedirectSession_universal_d_NestedTimeSlot as NestedTimeSlot,\n      headlessV1RedirectSession_universal_d_RedirectSessionEcomCheckoutParams as RedirectSessionEcomCheckoutParams,\n      headlessV1RedirectSession_universal_d_RedirectSessionEventsCheckoutParams as RedirectSessionEventsCheckoutParams,\n      headlessV1RedirectSession_universal_d_RedirectSessionPaidPlansCheckoutParams as RedirectSessionPaidPlansCheckoutParams,\n      headlessV1RedirectSession_universal_d_RedirectSessionLoginParams as RedirectSessionLoginParams,\n      headlessV1RedirectSession_universal_d_RedirectSessionLogoutParams as RedirectSessionLogoutParams,\n      headlessV1RedirectSession_universal_d_RedirectSessionAuthParams as RedirectSessionAuthParams,\n      headlessV1RedirectSession_universal_d_AuthorizeRequest as AuthorizeRequest,\n      headlessV1RedirectSession_universal_d_Prompt as Prompt,\n      headlessV1RedirectSession_universal_d_RedirectSessionMembersAccountParams as RedirectSessionMembersAccountParams,\n      headlessV1RedirectSession_universal_d_MembersAccountSection as MembersAccountSection,\n      headlessV1RedirectSession_universal_d_RedirectSessionStoresProductParams as RedirectSessionStoresProductParams,\n      headlessV1RedirectSession_universal_d_RedirectSessionBookingsBookParams as RedirectSessionBookingsBookParams,\n      headlessV1RedirectSession_universal_d_CallbackParams as CallbackParams,\n      headlessV1RedirectSession_universal_d_RedirectSessionPreferences as RedirectSessionPreferences,\n      headlessV1RedirectSession_universal_d_CustomMemberPaths as CustomMemberPaths,\n      headlessV1RedirectSession_universal_d_CreateRedirectSessionResponse as CreateRedirectSessionResponse,\n      headlessV1RedirectSession_universal_d_CreateAnonymousRedirectSessionRequest as CreateAnonymousRedirectSessionRequest,\n      headlessV1RedirectSession_universal_d_CreateAnonymousRedirectSessionRequestIntentOneOf as CreateAnonymousRedirectSessionRequestIntentOneOf,\n      headlessV1RedirectSession_universal_d_CreateAnonymousRedirectSessionResponse as CreateAnonymousRedirectSessionResponse,\n      headlessV1RedirectSession_universal_d_AttachPagesRequest as AttachPagesRequest,\n      headlessV1RedirectSession_universal_d_AttachPagesResponse as AttachPagesResponse,\n      headlessV1RedirectSession_universal_d_Status as Status,\n      headlessV1RedirectSession_universal_d_ValidateCallbackURLRequest as ValidateCallbackURLRequest,\n      headlessV1RedirectSession_universal_d_CallbackType as CallbackType,\n      headlessV1RedirectSession_universal_d_ValidateCallbackURLResponse as ValidateCallbackURLResponse,\n      headlessV1RedirectSession_universal_d_SignInURLRequest as SignInURLRequest,\n      headlessV1RedirectSession_universal_d_SignInURLResponse as SignInURLResponse,\n      headlessV1RedirectSession_universal_d_AttachAllTemplatesRequest as AttachAllTemplatesRequest,\n      headlessV1RedirectSession_universal_d_AttachAllTemplatesResponse as AttachAllTemplatesResponse,\n      headlessV1RedirectSession_universal_d_AttachAllTemplatesResponseStatus as AttachAllTemplatesResponseStatus,\n      headlessV1RedirectSession_universal_d_DomainEvent as DomainEvent,\n      headlessV1RedirectSession_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      headlessV1RedirectSession_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      headlessV1RedirectSession_universal_d_RestoreInfo as RestoreInfo,\n      headlessV1RedirectSession_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      headlessV1RedirectSession_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      headlessV1RedirectSession_universal_d_ActionEvent as ActionEvent,\n      headlessV1RedirectSession_universal_d_MessageEnvelope as MessageEnvelope,\n      headlessV1RedirectSession_universal_d_IdentificationData as IdentificationData,\n      headlessV1RedirectSession_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      headlessV1RedirectSession_universal_d_WebhookIdentityType as WebhookIdentityType,\n      headlessV1RedirectSession_universal_d_createRedirectSession as createRedirectSession,\n      headlessV1RedirectSession_universal_d_CreateRedirectSessionOptions as CreateRedirectSessionOptions,\n      headlessV1RedirectSession_universal_d_createAnonymousRedirectSession as createAnonymousRedirectSession,\n      headlessV1RedirectSession_universal_d_CreateAnonymousRedirectSessionOptions as CreateAnonymousRedirectSessionOptions,\n      headlessV1RedirectSession_universal_d_attachPages as attachPages,\n      headlessV1RedirectSession_universal_d_validateCallbackUrl as validateCallbackUrl,\n      headlessV1RedirectSession_universal_d_ValidateCallbackUrlOptions as ValidateCallbackUrlOptions,\n      headlessV1RedirectSession_universal_d_signInUrl as signInUrl,\n      headlessV1RedirectSession_universal_d_attachAllTemplates as attachAllTemplates,\n    };\n  }\n  \n  export { headlessV1RedirectSession_universal_d as redirects };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-v1-custom-pricing.d.ts",
      "content": "declare module \"interfaces-bookings-v1-custom-pricing\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface PricingProvider {\n  }\n  interface CalculatePriceRequest {\n      /** Booking to calculate the price for. */\n      booking?: Booking;\n  }\n  /** The booking object, version 2. */\n  interface Booking extends BookingParticipantsInfoOneOf {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices;\n      /**\n       * Booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** An object describing the slot or schedule that was booked. */\n      bookedEntity?: BookedEntity;\n      /** Contact details of the site visitor or member making the booking. */\n      contactDetails?: ContactDetails;\n      /** Additional custom fields submitted with the booking form. */\n      additionalFields?: CustomFormField[];\n      /**\n       * Number of participants.\n       * @internal\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Internal business note\n       * @internal\n       * @deprecated\n       */\n      internalBusinessNote?: string | null;\n      /**\n       * Booking status.\n       *\n       * Supported values:\n       * - `CREATED`: The booking was created.\n       * - `UPDATED`: The booking was updated.\n       * - `PENDING`: The booking is waiting to be confirmed or declined by the business owner. A booking is automatically set as `PENDING` if the service is configured to require manual business onwer confirmation and an [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction) was created.\n       * - `CONFIRMED`: The booking was confirmed. A booking is automatically confirmed if the service is configured to automatically confirm bookings and an [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction) was created. If the service isn't configured to automatically confirm bookings, you can use [Confirm Or Decline Booking](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/bookings-v2/bookings-v2-and-confirmation/confirm-or-decline-booking).\n       * - `DECLINED`: The booking was declined by the business owner. A booking is also declined if an [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction) was created that resulted in a double booking.\n       * - `CANCELED`: The booking was canceled.\n       * - `WAITING_LIST`: The booking is on a wait list.\n       */\n      status?: BookingStatus;\n      /**\n       * Payment status.\n       * One of:\n       * - `\"NOT_PAID\"` The booking is not paid for.\n       * - `\"PAID\"` The booking is fully paid.\n       * - `\"PARTIALLY_PAID\"` The booking is partially paid.\n       * - `\"REFUNDED\"` The booking is refunded.\n       * - `\"EXEMPT\"` The booking is free of charge.\n       * @readonly\n       */\n      paymentStatus?: PaymentStatus;\n      /**\n       * Selected payment option.\n       * One of the payment options offered by the service, or another option if `skipSelectedPaymentOptionValidation` is `true`.\n       * When undefined, the payment option is resolved by the service configuration on checkout.\n       */\n      selectedPaymentOption?: SelectedPaymentOption;\n      /**\n       * Date and time the booking was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** External ID provided by the client app on creation. */\n      externalUserId?: string | null;\n      /**\n       * An object describing the platform and application that made the booking.\n       * @internal\n       */\n      bookingSource?: BookingSource;\n      /**\n       * The last notification used by Cancel, Confirm, Decline, or Reschedule Booking.\n       * @internal\n       * @deprecated\n       */\n      participantNotification?: ParticipantNotification;\n      /**\n       * When value is set to True, an SMS reminder would be sent to the phone number specified in the ContactDetails, 24 hours before the session starts.\n       * @internal\n       * @deprecated\n       */\n      sendSmsReminder?: boolean | null;\n      /** Revision number to be used when updating, rescheduling, or cancelling the booking. Revision number, which increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes,the current revision must be passed when updating the booking. */\n      revision?: string | null;\n      /**\n       * ID of the creator of the Booking.\n       * If `appId` and another ID are present, the other ID takes precedence.\n       * @readonly\n       */\n      createdBy?: IdentificationData;\n      /**\n       * The start date of this booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.\n       * @readonly\n       */\n      startDate?: Date;\n      /**\n       * The end date of this booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.\n       * @readonly\n       */\n      endDate?: Date;\n      /**\n       * Sets the booking flow behavior. Some behaviors require permissions.\n       * @internal\n       */\n      flowControlSettings?: FlowControlSettings;\n      /**\n       * Date and time the booking was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Custom field data for this object. Extended fields must be configured in the Wix Dev Center before they can be accessed with API calls. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Whether this booking overlaps another existing confirmed booking. Returned when: `true`\n       * @readonly\n       */\n      doubleBooked?: boolean | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2Availability?: boolean | null;\n      /**\n       * Multi service booking info of which the booking is part of.\n       * @internal\n       * @readonly\n       */\n      multiServiceBookingInfo?: MultiServiceBookingInfo;\n      /**\n       * The date this booking was canceled on\n       * @internal\n       * @readonly\n       */\n      canceledDate?: Date;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2AvailabilityProxy?: boolean | null;\n      /**\n       * Having booking language means that the booking was made in a secondary language, having no booking.language implies that the booking was made using the main language\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** @oneof */\n  interface BookingParticipantsInfoOneOf {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices;\n  }\n  enum MultiServiceBookingType {\n      /**\n       * Multi service booking will be considered available if its bookings are\n       * available as returned from ListMultiServiceAvailabilityTimeSlots API.\n       * See [List Multi Service Availability Time Slots] (url) documentation // todo: complete url\n       */\n      SEQUENTIAL_BOOKINGS = \"SEQUENTIAL_BOOKINGS\",\n      /**\n       * Multi service booking will be considered available if each of its bookings is available separately.\n       * Not supported yet\n       */\n      SEPARATE_BOOKINGS = \"SEPARATE_BOOKINGS\",\n      /** Not supported yet */\n      PARALLEL_BOOKINGS = \"PARALLEL_BOOKINGS\"\n  }\n  interface BookedEntity extends BookedEntityItemOneOf {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule;\n      /**\n       * Session title at the time of booking.\n       * If session doesn't exist at the time of the booking, service name is used.\n       * @readonly\n       */\n      title?: string | null;\n      /**\n       * If the user made the booking in a secondary language, this field will contain the translated title.\n       * @internal\n       * @readonly\n       */\n      titleTranslated?: string | null;\n      /**\n       * List of tags for the booking.\n       * System-assigned tags for sessions and schedules are:\n       * + \"INDIVIDUAL\" Appointments, including appointments with more than 1 participant.\n       * + \"GROUP\" Individual classes.\n       * + \"COURSE\" Courses.\n       */\n      tags?: string[] | null;\n  }\n  /** @oneof */\n  interface BookedEntityItemOneOf {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule;\n  }\n  interface BookedSlot {\n      /**\n       * ID of the underlying session when session is a single session or generated from a recurring session.\n       * If `sessionId` is defined in the `Create Booking` request, the `startDate`, `endDate`, `timezone`, `resource`, and `location` fields are ignored and populated from the existing session's information.\n       */\n      sessionId?: string | null;\n      /** Service ID. */\n      serviceId?: string;\n      /** Schedule ID. Required. */\n      scheduleId?: string;\n      /**\n       * Calendar 3 event ID\n       * If not empty, on all write flows (create / update) gets priority over session_id.\n       * so if both session_id and event_id are provided, the session_id that will be set on the booking will be based on the event_id.\n       * Otherwise, if event_id is empty on write flow,\n       */\n      eventId?: string | null;\n      /**\n       * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      startDate?: string | null;\n      /**\n       * The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      endDate?: string | null;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The enriched resource assigned to the slot, can be either the requested resource or the resource chosen by the system.\n       * When populated, the given resource will be booked according to it's availability.\n       * When empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\n       * otherwise one of the service resources will be assigned to the slot randomly upon confirmation.\n       * This resource is the slot primary resource.\n       */\n      resource?: BookedResource;\n      /** Location where the slot's session takes place. */\n      location?: Location;\n      /**\n       * Optional.\n       * In addition to the `resource` field, these are the additional enriched resources that are assigned to the slot.\n       * For example the room, equipment or the additional staff member that are assigned to the slot.\n       * @internal\n       */\n      additionalResources?: BookedResource[];\n  }\n  interface BookedResource {\n      /** Booked resource ID. */\n      _id?: string;\n      /** Resource's name at the time of booking. */\n      name?: string | null;\n      /** Resource's email at the time of booking. */\n      email?: string | null;\n      /** Resource's schedule ID. */\n      scheduleId?: string | null;\n      /**\n       * Indicates whether the resource was specifically requested or should be auto selected by the Server.\n       * The value will be true if the resource was explicitly given in the request, otherwise false.\n       * @internal\n       * @readonly\n       */\n      explicitlyRequested?: boolean | null;\n      /**\n       * Resource's type.\n       * @internal\n       * @readonly\n       */\n      type?: string | null;\n  }\n  interface Location {\n      /**\n       * Business location ID. Available only for locations that are business locations,\n       * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** The full address of this location. */\n      formattedAddress?: string | null;\n      /**\n       * Location type.\n       *\n       * - `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n       * - `\"CUSTOM\"`: The address as set for the individual session.\n       */\n      locationType?: LocationType;\n  }\n  enum LocationType {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface BookedSchedule {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /** Booked service ID. */\n      serviceId?: string | null;\n      /**\n       * Location where the schedule's sessions take place. Read only.\n       * @readonly\n       */\n      location?: Location;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The start time of the first session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      firstSessionStart?: string | null;\n      /**\n       * The end time of the last session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      lastSessionEnd?: string | null;\n  }\n  interface ContactDetails {\n      /** Contact's ID. */\n      contactId?: string | null;\n      /** Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /** Contact's email, used to create a new contact or get existing one from the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts). Used to validate coupon usage limitations per contact. If not passed, the coupon usage limitation will not be enforced. (Coupon usage limitation validation is not supported yet). */\n      email?: string | null;\n      /** Contact's phone number. */\n      phone?: string | null;\n      /** Contact's full address. */\n      fullAddress?: Address;\n      /**\n       * Contact's time zone.\n       * @deprecated\n       */\n      timeZone?: string | null;\n      /** Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      countryCode?: string | null;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface CustomFormField {\n      /** ID of the form field as defined in the form. */\n      _id?: string;\n      /** Value that was submitted for this field. */\n      value?: string | null;\n      /**\n       * Form field's label at the time of submission.\n       * @readonly\n       */\n      label?: string | null;\n      valueType?: ValueType;\n  }\n  enum ValueType {\n      /** Short text. This is the default value type. */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long text */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** a text that represent the check box value: if selected the value is \"true\", otherwise \"false\". */\n      CHECK_BOX = \"CHECK_BOX\"\n  }\n  /** Booking status. */\n  enum BookingStatus {\n      CREATED = \"CREATED\",\n      CONFIRMED = \"CONFIRMED\",\n      CANCELED = \"CANCELED\",\n      PENDING = \"PENDING\",\n      DECLINED = \"DECLINED\",\n      WAITING_LIST = \"WAITING_LIST\"\n  }\n  /**\n   * Payment status.\n   * Automatically updated when using eCom checkout APIs.\n   */\n  enum PaymentStatus {\n      UNDEFINED = \"UNDEFINED\",\n      NOT_PAID = \"NOT_PAID\",\n      PAID = \"PAID\",\n      /** not supported yet. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      /** not supported yet */\n      REFUNDED = \"REFUNDED\",\n      EXEMPT = \"EXEMPT\"\n  }\n  /**\n   * The selected payment option.\n   * One of the payment options offered by the service.\n   * This field is be set when the user selects an option during booking.\n   * If left undefined, the payment option is resolved by the service configuration on checkout.\n   */\n  enum SelectedPaymentOption {\n      UNDEFINED = \"UNDEFINED\",\n      OFFLINE = \"OFFLINE\",\n      ONLINE = \"ONLINE\",\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Payment can only be done using a membership and must be manually redeemed in the dashboard by the site owner. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface BookingSource {\n      /** Platform from which a booking was created */\n      platform?: Platform;\n      /** Actor that created this booking. */\n      actor?: Actor;\n      /**\n       * Wix site ID of the application that created the booking.\n       * @readonly\n       */\n      appDefId?: string | null;\n      /**\n       * Name of the application that created the booking, as saved in Wix Developers Center at the time of booking.\n       * @readonly\n       */\n      appName?: string | null;\n  }\n  enum Platform {\n      UNDEFINED_PLATFORM = \"UNDEFINED_PLATFORM\",\n      WEB = \"WEB\",\n      MOBILE_APP = \"MOBILE_APP\"\n  }\n  enum Actor {\n      UNDEFINED_ACTOR = \"UNDEFINED_ACTOR\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\"\n  }\n  interface ParticipantNotification {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface FlowControlSettings {\n      /**\n       * When true, skips the service defined booking-window in the booking policy.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       * private because it's confusing to external users - collides with skip_availability_validation\n       * and yet, clients send it (though always with skip_availability_validation=true) so we're not just removing it\n       * When removing, we need to use proto's `reserved` field\n       * @internal\n       * @deprecated\n       */\n      ignoreBookingWindow?: boolean;\n      /**\n       * When true, skips availability checking and allows booking.\n       * Requires BOOKINGS.OVERRIDE_AVAILABILITY permissions.\n       */\n      skipAvailabilityValidation?: boolean;\n      /**\n       * When true, allows booking a confirmation-required service without requiring confirmation.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       */\n      skipBusinessConfirmation?: boolean;\n      /**\n       * When true, skips selected payment option checking as defined in `selectedPaymentOption` field\n       * and allows booking.\n       * Requires BOOKINGS.MANAGE_PAYMENTS permissions.\n       */\n      skipSelectedPaymentOptionValidation?: boolean;\n      /** When true, refunds the booking's payment when the booking is canceled. */\n      withRefund?: boolean | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ParticipantChoices {\n      /** Information about the booked service choices. Includes the number of participants. */\n      serviceChoices?: ServiceChoices[];\n  }\n  interface ServiceChoices {\n      /** Number of participants for this variant. */\n      numberOfParticipants?: number | null;\n      /** Service choices for these participants. */\n      choices?: ServiceChoice[];\n  }\n  interface ServiceChoice extends ServiceChoiceChoiceOneOf {\n      /**\n       * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n      /**\n       * ID of the corresponding option for the choice. For example, the choice `child`\n       * could correspond to the option `ageGroup`. In this case, `optionId` is the ID\n       * for the `ageGroup` option.\n       */\n      optionId?: string;\n  }\n  /** @oneof */\n  interface ServiceChoiceChoiceOneOf {\n      /**\n       * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n  }\n  interface MultiServiceBookingInfo {\n      /**\n       * Multi service booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Multi service booking type. */\n      type?: MultiServiceBookingType;\n  }\n  interface CalculatePriceResponse extends CalculatePriceResponseTotalPriceOneOf {\n      /**\n       * Calculated total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as numerical value in the\n       * `schedule.rate.labeledPriceOptions` object.\n       */\n      calculatedPrice?: number;\n      /**\n       * Description of the total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as text value in the\n       * `schedule.rate.priceText` field.\n       */\n      priceDescription?: string;\n      /**\n       * List of line items, including information about the number of participants and\n       * the price per participant.\n       */\n      bookingLineItems?: BookingLineItem[];\n      /**\n       * Total deposit the customer must pay when booking the service. Provide only when\n       * the service includes a deposit. Returning a `deposit` is optional. If you\n       * return a `deposit` that's greater than the `calculatedPrice`, the deposit's\n       * value is ignored. Instead, the customer must pay the total `calculatedPrice`\n       * in full upfront as if it was a deposit.\n       */\n      deposit?: number | null;\n      /**\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format. If you return a `currency`, it must be the one specified in the\n       * [Site Properties](https://dev.wix.com/api/rest/business-info/site-properties/properties/get-site-properties).\n       * @internal\n       */\n      currency?: string | null;\n  }\n  /** @oneof */\n  interface CalculatePriceResponseTotalPriceOneOf {\n      /**\n       * Calculated total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as numerical value in the\n       * `schedule.rate.labeledPriceOptions` object.\n       */\n      calculatedPrice?: number;\n      /**\n       * Description of the total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as text value in the\n       * `schedule.rate.priceText` field.\n       */\n      priceDescription?: string;\n  }\n  interface BookingLineItem {\n      /** Service ID. */\n      serviceId?: string | null;\n      /** Resource ID. Required for classes and appointments. */\n      resourceId?: string | null;\n      /** Custom [service choices](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction). */\n      choices?: ServiceChoice[];\n      /** Number of participants. */\n      numberOfParticipants?: number | null;\n      /** Price per participant. */\n      pricePerParticipant?: number | null;\n  }\n  interface BookingsPricingProviderConfig {\n      /** Human-readable name of the your pricing integration app. */\n      pricingProviderName?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: ContextIdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentificationDataIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ContextIdentificationData extends ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentificationDataIdentityType;\n  }\n  /** @oneof */\n  interface ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CalculatePriceOptions {\n      /** Booking to calculate the price for. */\n      booking?: Booking;\n  }\n  \n  export { Actor, Address, AddressLocation, AddressStreetOneOf, BookedEntity, BookedEntityItemOneOf, BookedResource, BookedSchedule, BookedSlot, Booking, BookingLineItem, BookingParticipantsInfoOneOf, BookingSource, BookingStatus, BookingsPricingProviderConfig, BusinessError, CalculatePriceOptions, CalculatePriceRequest, CalculatePriceResponse, CalculatePriceResponseTotalPriceOneOf, ContactDetails, Context, ContextIdentificationData, ContextIdentificationDataIdOneOf, CustomFormField, ExtendedFields, FlowControlSettings, IdentificationData, IdentificationDataIdOneOf, IdentificationDataIdentityType, IdentityType, Location, LocationType, MultiServiceBookingInfo, MultiServiceBookingType, ParticipantChoices, ParticipantNotification, PaymentStatus, Platform, PricingProvider, SelectedPaymentOption, ServiceChoice, ServiceChoiceChoiceOneOf, ServiceChoices, StreetAddress, Subdivision, ValueType };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-resourceusage-service-v1.d.ts",
      "content": "declare module \"wix-data-resourceusage-service-v1\" {\n  /** ResourceUsage describes site-wide resource limits and usage */\n  interface ResourceUsage {\n      /**\n       * Used storage sum of Sandbox and Live environments, bytes\n       * Replaced by live_used_storage_in_bytes\n       * @deprecated\n       * @replacedBy live_used_storage_in_bytes + sandbox_used_storage_in_bytes\n       */\n      totalUsedStorageInBytes?: string | null;\n      /** Max storage, bytes */\n      totalUsedStorageInBytesLimit?: string | null;\n      /** Total number of native collections created */\n      collectionCount?: number | null;\n      /** Max number of native collections allowed */\n      collectionCountLimit?: number | null;\n      /**\n       * Total number of items in native collections sum of Sandbox and Live environments\n       * Replaced by live_item_count\n       * @deprecated\n       * @replacedBy live_item_count + sandbox_item_count\n       */\n      totalItemCount?: string | null;\n      /** Max number of items in native collections */\n      totalItemCountLimit?: string | null;\n      /** Resource usages per data collection */\n      dataCollectionUsages?: DataCollectionResourceUsage[];\n      /** Used storage in Live environment */\n      liveUsedStorageInBytes?: string | null;\n      /** Number of items in native collections in Live environment */\n      liveItemCount?: string | null;\n      /** Used storage in Sandbox environment */\n      sandboxUsedStorageInBytes?: string | null;\n      /** Number of items in native collections in Sandbox environment */\n      sandboxItemCount?: string | null;\n  }\n  interface DataCollectionResourceUsage {\n      /** Data Collection ID */\n      dataCollectionId?: string;\n      /** Data Collection display name */\n      displayName?: string | null;\n      /** Data Collection item count in the live environment */\n      liveItemCount?: string;\n      /** Data Collection item count in the sandbox environment, none if disabled */\n      sandboxItemCount?: string | null;\n      /** Data Collection used storage in bytes in the live environment */\n      liveUsedStorageInBytes?: string;\n      /** Data Collection used storage in bytes in the sandbox environment, none if disabled */\n      sandboxUsedStorageInBytes?: string | null;\n      /** Type of data collection, currently only NATIVE are returned in this API */\n      dataCollectionType?: CollectionType;\n  }\n  enum CollectionType {\n      /** User-created collection. */\n      NATIVE = \"NATIVE\",\n      /** [Collection](https://support.wix.com/en/article/velo-working-with-wix-app-collections-and-code#what-are-wix-app-collections) created by a Wix app when it is installed. This type of collection can be modified dynamically by that app (for example, Wix Forms). */\n      WIX_APP = \"WIX_APP\",\n      /** Collection created by a Wix Blocks app. */\n      BLOCKS_APP = \"BLOCKS_APP\",\n      /** Collection located in externally connected storage. */\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface GetResourceUsageRequest {\n      /** ResourceUsage fields to return, if empty all are returned */\n      fields?: string[];\n      /** If true, operation queries collections for up-to-date values (rather than using cached values) */\n      consistentRead?: boolean;\n  }\n  interface GetResourceUsageResponse {\n      /** The retrieved ResourceUsage */\n      resourceUsage?: ResourceUsage;\n  }\n  interface BulkUpdateUsagesRequest {\n      updates?: InstanceUsageUpdate[];\n  }\n  interface DataCollectionResourceUsageUpdate {\n      /** Data Collection ID */\n      dataCollectionId?: string;\n      /** if true present values are added to existing, otherwise values are replaced */\n      relative?: boolean;\n      /** Data Collection item count in the live environment */\n      liveItemCount?: string | null;\n      /** Data Collection item count in the sandbox environment */\n      sandboxItemCount?: string | null;\n      /** Data Collection used storage in bytes in the live environment */\n      liveUsedStorageInBytes?: string | null;\n      /** Data Collection used storage in bytes in the sandbox environment */\n      sandboxUsedStorageInBytes?: string | null;\n  }\n  enum Segment {\n      BOTH = \"BOTH\",\n      LIVE = \"LIVE\",\n      SANDBOX = \"SANDBOX\"\n  }\n  interface InstanceUsageUpdate {\n      /** Data Instance ID */\n      instanceId?: string;\n      /** Usage updates per collection */\n      collections?: DataCollectionResourceUsageUpdate[];\n      /** if true all collections not in the list assumed to have 0 usage */\n      allCollectionsPresent?: boolean;\n      /** Indicates which segment is being updated */\n      segment?: Segment;\n  }\n  interface BulkUpdateUsagesResponse {\n  }\n  interface GetStoredUsageRequest {\n      instanceId?: string;\n  }\n  interface GetStoredUsageResponse {\n      usages?: DataCollectionResourceUsage[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface DataChangeEvent extends DataChangeEventEventOneOf {\n      dataChanged?: DataChanged;\n      /** resume point is lost so some changes may be lost */\n      changesLost?: ChangesLost;\n      referenceChanged?: ReferenceChanged;\n      /** segment access or mapping changed */\n      segmentChanged?: SegmentChanged;\n      /** segment migration started to new physical location */\n      segmentMigrationStarted?: SegmentMigrationStarted;\n      idempotenceKey?: string;\n  }\n  /** @oneof */\n  interface DataChangeEventEventOneOf {\n      dataChanged?: DataChanged;\n      /** resume point is lost so some changes may be lost */\n      changesLost?: ChangesLost;\n      referenceChanged?: ReferenceChanged;\n      /** segment access or mapping changed */\n      segmentChanged?: SegmentChanged;\n      /** segment migration started to new physical location */\n      segmentMigrationStarted?: SegmentMigrationStarted;\n  }\n  interface DataChanged extends DataChangedChangeOneOf {\n      /** inserted document */\n      inserted?: Record<string, any> | null;\n      /** full replaced document */\n      replaced?: Record<string, any> | null;\n      /** partial update, removed fields are set to Empty */\n      partial?: Record<string, any> | null;\n      /** deleted document ID */\n      removedId?: string;\n      /** physical cluster ID */\n      clusterId?: string;\n      /**\n       * physical source\n       * db.collection for MongoDB\n       */\n      source?: string;\n      /** instance ID */\n      tenantId?: string;\n      /** logical collection name */\n      collectionName?: string;\n      dataStore?: DataStore;\n      documentId?: string;\n      clusterTime?: Date | null;\n      /** raw resume token BSON */\n      resumeToken?: string;\n      /** Initiator of the request */\n      initiator?: Initiator;\n      /** Identity of the user who initiated the request */\n      writer?: Identity;\n  }\n  /** @oneof */\n  interface DataChangedChangeOneOf {\n      /** inserted document */\n      inserted?: Record<string, any> | null;\n      /** full replaced document */\n      replaced?: Record<string, any> | null;\n      /** partial update, removed fields are set to Empty */\n      partial?: Record<string, any> | null;\n      /** deleted document ID */\n      removedId?: string;\n  }\n  enum Type {\n      /** Initiator is unknown */\n      Unknown = \"Unknown\",\n      /** Indicated that write has been initiated by SSR indexer */\n      SsrIndexer = \"SsrIndexer\"\n  }\n  enum DataStore {\n      Dev = \"Dev\",\n      Public = \"Public\"\n  }\n  interface Initiator {\n      type?: Type;\n  }\n  interface Identity {\n      /** User ID, when the request is initiated by a user */\n      userId?: string | null;\n      /** Member ID, when the request is initiated by a member */\n      memberId?: string | null;\n      /** Visitor ID, when the request is initiated by a visitor */\n      visitorId?: string | null;\n      /** External App ID, when the request is initiated by an external app */\n      externalAppId?: string | null;\n      /** Service ID, when the request is initiated by a service */\n      serviceId?: string | null;\n  }\n  interface ChangesLost {\n      clusterId?: string;\n  }\n  interface ReferenceChanged {\n      /** physical cluster ID */\n      clusterId?: string;\n      /**\n       * physical source\n       * db.collection for MongoDB\n       */\n      source?: string;\n      /** instance ID */\n      tenantId?: string;\n      dataStore?: DataStore;\n      relationshipName?: string;\n      leftId?: string;\n      rightId?: string;\n      /** if reference is set or unset */\n      isRemoved?: boolean;\n      clusterTime?: Date | null;\n      /** raw resume token BSON */\n      resumeToken?: string;\n      /** ref created date */\n      createdAt?: Date | null;\n  }\n  interface SegmentChanged {\n      /** physical cluster ID */\n      clusterId?: string;\n      /**\n       * physical source\n       * db.collection for MongoDB\n       */\n      source?: string;\n      /** instance ID */\n      tenantId?: string;\n      /** segment */\n      dataStore?: DataStore;\n      /** new db name if changed */\n      newDatabase?: string | null;\n      /** new cluster if changed */\n      newClusterId?: string | null;\n      /** read permissions if changed */\n      readsEnabled?: boolean | null;\n      /** write permissions if changed */\n      writesEnabled?: boolean | null;\n      /** event time */\n      clusterTime?: Date | null;\n      /** raw resume token BSON */\n      resumeToken?: string;\n  }\n  interface SegmentMigrationStarted {\n      /** physical cluster ID */\n      clusterId?: string;\n      /**\n       * physical source\n       * db.collection for MongoDB\n       */\n      source?: string;\n      /** instance ID */\n      tenantId?: string;\n      /** segment */\n      dataStore?: DataStore;\n      /** new db name if changed */\n      newDatabase?: string;\n      /** new cluster if changed */\n      newClusterId?: string;\n      /** event time */\n      clusterTime?: Date | null;\n      /** raw resume token BSON */\n      resumeToken?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get current Resource Usage\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.RESOURCE_USAGE_READ\n   * @adminMethod\n   */\n  function getResourceUsage(options?: GetResourceUsageOptions): Promise<GetResourceUsageResponse>;\n  interface GetResourceUsageOptions {\n      /** ResourceUsage fields to return, if empty all are returned */\n      fields?: string[];\n      /** If true, operation queries collections for up-to-date values (rather than using cached values) */\n      consistentRead?: boolean;\n  }\n  \n  type cloudResourceusageV1ResourceUsage_universal_d_ResourceUsage = ResourceUsage;\n  type cloudResourceusageV1ResourceUsage_universal_d_DataCollectionResourceUsage = DataCollectionResourceUsage;\n  type cloudResourceusageV1ResourceUsage_universal_d_CollectionType = CollectionType;\n  const cloudResourceusageV1ResourceUsage_universal_d_CollectionType: typeof CollectionType;\n  type cloudResourceusageV1ResourceUsage_universal_d_GetResourceUsageRequest = GetResourceUsageRequest;\n  type cloudResourceusageV1ResourceUsage_universal_d_GetResourceUsageResponse = GetResourceUsageResponse;\n  type cloudResourceusageV1ResourceUsage_universal_d_BulkUpdateUsagesRequest = BulkUpdateUsagesRequest;\n  type cloudResourceusageV1ResourceUsage_universal_d_DataCollectionResourceUsageUpdate = DataCollectionResourceUsageUpdate;\n  type cloudResourceusageV1ResourceUsage_universal_d_Segment = Segment;\n  const cloudResourceusageV1ResourceUsage_universal_d_Segment: typeof Segment;\n  type cloudResourceusageV1ResourceUsage_universal_d_InstanceUsageUpdate = InstanceUsageUpdate;\n  type cloudResourceusageV1ResourceUsage_universal_d_BulkUpdateUsagesResponse = BulkUpdateUsagesResponse;\n  type cloudResourceusageV1ResourceUsage_universal_d_GetStoredUsageRequest = GetStoredUsageRequest;\n  type cloudResourceusageV1ResourceUsage_universal_d_GetStoredUsageResponse = GetStoredUsageResponse;\n  type cloudResourceusageV1ResourceUsage_universal_d_DomainEvent = DomainEvent;\n  type cloudResourceusageV1ResourceUsage_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type cloudResourceusageV1ResourceUsage_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type cloudResourceusageV1ResourceUsage_universal_d_RestoreInfo = RestoreInfo;\n  type cloudResourceusageV1ResourceUsage_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type cloudResourceusageV1ResourceUsage_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type cloudResourceusageV1ResourceUsage_universal_d_ActionEvent = ActionEvent;\n  type cloudResourceusageV1ResourceUsage_universal_d_Empty = Empty;\n  type cloudResourceusageV1ResourceUsage_universal_d_DataChangeEvent = DataChangeEvent;\n  type cloudResourceusageV1ResourceUsage_universal_d_DataChangeEventEventOneOf = DataChangeEventEventOneOf;\n  type cloudResourceusageV1ResourceUsage_universal_d_DataChanged = DataChanged;\n  type cloudResourceusageV1ResourceUsage_universal_d_DataChangedChangeOneOf = DataChangedChangeOneOf;\n  type cloudResourceusageV1ResourceUsage_universal_d_Type = Type;\n  const cloudResourceusageV1ResourceUsage_universal_d_Type: typeof Type;\n  type cloudResourceusageV1ResourceUsage_universal_d_DataStore = DataStore;\n  const cloudResourceusageV1ResourceUsage_universal_d_DataStore: typeof DataStore;\n  type cloudResourceusageV1ResourceUsage_universal_d_Initiator = Initiator;\n  type cloudResourceusageV1ResourceUsage_universal_d_Identity = Identity;\n  type cloudResourceusageV1ResourceUsage_universal_d_ChangesLost = ChangesLost;\n  type cloudResourceusageV1ResourceUsage_universal_d_ReferenceChanged = ReferenceChanged;\n  type cloudResourceusageV1ResourceUsage_universal_d_SegmentChanged = SegmentChanged;\n  type cloudResourceusageV1ResourceUsage_universal_d_SegmentMigrationStarted = SegmentMigrationStarted;\n  type cloudResourceusageV1ResourceUsage_universal_d_MessageEnvelope = MessageEnvelope;\n  type cloudResourceusageV1ResourceUsage_universal_d_IdentificationData = IdentificationData;\n  type cloudResourceusageV1ResourceUsage_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type cloudResourceusageV1ResourceUsage_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const cloudResourceusageV1ResourceUsage_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const cloudResourceusageV1ResourceUsage_universal_d_getResourceUsage: typeof getResourceUsage;\n  type cloudResourceusageV1ResourceUsage_universal_d_GetResourceUsageOptions = GetResourceUsageOptions;\n  namespace cloudResourceusageV1ResourceUsage_universal_d {\n    export {\n      cloudResourceusageV1ResourceUsage_universal_d_ResourceUsage as ResourceUsage,\n      cloudResourceusageV1ResourceUsage_universal_d_DataCollectionResourceUsage as DataCollectionResourceUsage,\n      cloudResourceusageV1ResourceUsage_universal_d_CollectionType as CollectionType,\n      cloudResourceusageV1ResourceUsage_universal_d_GetResourceUsageRequest as GetResourceUsageRequest,\n      cloudResourceusageV1ResourceUsage_universal_d_GetResourceUsageResponse as GetResourceUsageResponse,\n      cloudResourceusageV1ResourceUsage_universal_d_BulkUpdateUsagesRequest as BulkUpdateUsagesRequest,\n      cloudResourceusageV1ResourceUsage_universal_d_DataCollectionResourceUsageUpdate as DataCollectionResourceUsageUpdate,\n      cloudResourceusageV1ResourceUsage_universal_d_Segment as Segment,\n      cloudResourceusageV1ResourceUsage_universal_d_InstanceUsageUpdate as InstanceUsageUpdate,\n      cloudResourceusageV1ResourceUsage_universal_d_BulkUpdateUsagesResponse as BulkUpdateUsagesResponse,\n      cloudResourceusageV1ResourceUsage_universal_d_GetStoredUsageRequest as GetStoredUsageRequest,\n      cloudResourceusageV1ResourceUsage_universal_d_GetStoredUsageResponse as GetStoredUsageResponse,\n      cloudResourceusageV1ResourceUsage_universal_d_DomainEvent as DomainEvent,\n      cloudResourceusageV1ResourceUsage_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      cloudResourceusageV1ResourceUsage_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      cloudResourceusageV1ResourceUsage_universal_d_RestoreInfo as RestoreInfo,\n      cloudResourceusageV1ResourceUsage_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      cloudResourceusageV1ResourceUsage_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      cloudResourceusageV1ResourceUsage_universal_d_ActionEvent as ActionEvent,\n      cloudResourceusageV1ResourceUsage_universal_d_Empty as Empty,\n      cloudResourceusageV1ResourceUsage_universal_d_DataChangeEvent as DataChangeEvent,\n      cloudResourceusageV1ResourceUsage_universal_d_DataChangeEventEventOneOf as DataChangeEventEventOneOf,\n      cloudResourceusageV1ResourceUsage_universal_d_DataChanged as DataChanged,\n      cloudResourceusageV1ResourceUsage_universal_d_DataChangedChangeOneOf as DataChangedChangeOneOf,\n      cloudResourceusageV1ResourceUsage_universal_d_Type as Type,\n      cloudResourceusageV1ResourceUsage_universal_d_DataStore as DataStore,\n      cloudResourceusageV1ResourceUsage_universal_d_Initiator as Initiator,\n      cloudResourceusageV1ResourceUsage_universal_d_Identity as Identity,\n      cloudResourceusageV1ResourceUsage_universal_d_ChangesLost as ChangesLost,\n      cloudResourceusageV1ResourceUsage_universal_d_ReferenceChanged as ReferenceChanged,\n      cloudResourceusageV1ResourceUsage_universal_d_SegmentChanged as SegmentChanged,\n      cloudResourceusageV1ResourceUsage_universal_d_SegmentMigrationStarted as SegmentMigrationStarted,\n      cloudResourceusageV1ResourceUsage_universal_d_MessageEnvelope as MessageEnvelope,\n      cloudResourceusageV1ResourceUsage_universal_d_IdentificationData as IdentificationData,\n      cloudResourceusageV1ResourceUsage_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      cloudResourceusageV1ResourceUsage_universal_d_WebhookIdentityType as WebhookIdentityType,\n      cloudResourceusageV1ResourceUsage_universal_d_getResourceUsage as getResourceUsage,\n      cloudResourceusageV1ResourceUsage_universal_d_GetResourceUsageOptions as GetResourceUsageOptions,\n    };\n  }\n  \n  export { cloudResourceusageV1ResourceUsage_universal_d as data };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-collections.d.ts",
      "content": "declare module \"wix-data-collections\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** A data collection determines the structure of data to be stored in a database. */\n  interface DataCollection {\n      /** Collection ID. For example, `my-first-collection`. May include a namespace. */\n      _id?: string;\n      /**\n       * Collection type. Indicates how the collection was created and is stored.\n       *\n       * * `NATIVE`: User-created collection.\n       * * `WIX_APP`: [Collection](https://support.wix.com/en/article/velo-working-with-wix-app-collections-and-code#what-are-wix-app-collections) created by a Wix app, including [starter collections](https://support.wix.com/en/article/velo-working-with-wix-app-collections-and-code#what-are-wix-app-starter-collections) created when a Wix app is installed.\n       * * `BLOCKS_APP`: Collection created by a Wix Blocks app.\n       * * `EXTERNAL`: Collection located in externally connected storage.\n       * @readonly\n       */\n      collectionType?: CollectionType;\n      /**\n       * ID of the app that defined this collection. For user-defined collections, this value is null.\n       * @readonly\n       */\n      ownerAppId?: string | null;\n      /**\n       * Maximum number of items returned in a single query, based on the underlying storage.\n       * Native collections have a maximum page size of 1000 for offset-based queries or 100 for cursor-based queries.\n       * External collections' maximum page size defaults to 50, but an external provider can set any maximum value up to 1000.\n       * @readonly\n       */\n      maxPageSize?: number | null;\n      /** Collection's display name as shown in the Content Manager. For example, `My First Collection`. */\n      displayName?: string | null;\n      /**\n       * Indicates how the collection's items are sorted by default when a query doesn't specify an order.\n       * @readonly\n       */\n      defaultDisplayOrder?: Sort;\n      /**\n       * UI-friendly namespace of the Wix app with which the data collection is associated, such as Stores or Bookings.\n       * Empty for all data collections not owned by internal Wix apps.\n       */\n      displayNamespace?: string | null;\n      /**\n       * The field whose value the Content Manager displays to represent the collection item when referenced in a different collection.\n       * @readonly\n       */\n      displayField?: string;\n      /**\n       * Capabilities the collection supports.\n       * @readonly\n       */\n      capabilities?: CollectionCapabilities;\n      /** Collection's field structure. A collection must have at least 1 field. */\n      fields?: Field[];\n      /** Levels of permission for accessing and modifying data, defined by lowest role needed to perform each action. */\n      permissions?: Permissions;\n      /**\n       * Collection's current revision number, which increments each time the collection is updated. For an update operation to succeed, you must pass the latest revision number.\n       * @readonly\n       */\n      revision?: string | null;\n      /** All plugins the collection uses. Plugins apply additional capabilities to the collection or extend its functionality. */\n      plugins?: Plugin[];\n      /**\n       * All paging modes the collection supports. In native collections, offset-based paging is supported by default.\n       * @readonly\n       */\n      pagingModes?: PagingMode[];\n      /**\n       * Date the collection was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date the collection was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  enum CollectionType {\n      /** User-created collection. */\n      NATIVE = \"NATIVE\",\n      /** [Collection](https://support.wix.com/en/article/velo-working-with-wix-app-collections-and-code#what-are-wix-app-collections) created by a Wix app when it is installed. This type of collection can be modified dynamically by that app (for example, Wix Forms). */\n      WIX_APP = \"WIX_APP\",\n      /** Collection created by a Wix Blocks app. */\n      BLOCKS_APP = \"BLOCKS_APP\",\n      /** Collection located in externally connected storage. */\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface Sort {\n      /** Field to sort by. */\n      fieldKey?: string;\n      /**\n       * Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Default: `ASC`\n       */\n      direction?: Direction;\n  }\n  enum Direction {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CollectionCapabilities {\n      /** Data operations the collection supports. */\n      dataOperations?: DataOperation[];\n  }\n  enum DataOperation {\n      AGGREGATE = \"AGGREGATE\",\n      BULK_INSERT = \"BULK_INSERT\",\n      BULK_REMOVE = \"BULK_REMOVE\",\n      BULK_SAVE = \"BULK_SAVE\",\n      BULK_UPDATE = \"BULK_UPDATE\",\n      COUNT = \"COUNT\",\n      DISTINCT = \"DISTINCT\",\n      FIND = \"FIND\",\n      GET = \"GET\",\n      INSERT = \"INSERT\",\n      INSERT_REFERENCE = \"INSERT_REFERENCE\",\n      IS_REFERENCED = \"IS_REFERENCED\",\n      QUERY_REFERENCED = \"QUERY_REFERENCED\",\n      REMOVE = \"REMOVE\",\n      REMOVE_REFERENCE = \"REMOVE_REFERENCE\",\n      REPLACE_REFERENCES = \"REPLACE_REFERENCES\",\n      SAVE = \"SAVE\",\n      TRUNCATE = \"TRUNCATE\",\n      UPDATE = \"UPDATE\"\n  }\n  interface Field extends FieldRangeValidationsOneOf {\n      /** Range of possible values for a numerical field. */\n      numberRange?: NumberRange;\n      /** Length range permitted for a text field. Relevant for fields that hold strings, such as those of type `TEXT` or `RICH_TEXT`. */\n      stringLengthRange?: StringLengthRange;\n      /** Array size range permitted. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`. */\n      arraySizeRange?: ArraySizeRange;\n      /** Unique identifier for the field. For example, `firstName`. */\n      key?: string;\n      /** Field's display name when shown in the Content Manager. For example, `First Name`. */\n      displayName?: string;\n      /** Field's data type. */\n      type?: TypeEnum;\n      /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */\n      typeMetadata?: TypeMetadata;\n      /**\n       * Whether the field is a system field (created automatically).\n       * @readonly\n       */\n      systemField?: boolean;\n      /** Capabilities the field supports. */\n      capabilities?: FieldCapabilities;\n      /** Indicates if field is encrypted. */\n      encrypted?: boolean;\n      /** Defines reference to router pattern in the site document. */\n      linkedRouterPage?: string | null;\n      /** Description of the field. */\n      description?: string | null;\n      plugin?: string | null;\n      /**\n       * Whether the field is read-only. A read-only field can't be changed.\n       *\n       * Default: `false`\n       */\n      readOnly?: boolean | null;\n      /**\n       * Whether the field is immutable. An immutable field can be set once, but then cannot be updated.\n       *\n       * Default: `false`\n       */\n      immutable?: boolean | null;\n      /**\n       * Whether the field is required.\n       *\n       * Default: `false`\n       */\n      required?: boolean | null;\n  }\n  /** @oneof */\n  interface FieldRangeValidationsOneOf {\n      /** Range of possible values for a numerical field. */\n      numberRange?: NumberRange;\n      /** Length range permitted for a text field. Relevant for fields that hold strings, such as those of type `TEXT` or `RICH_TEXT`. */\n      stringLengthRange?: StringLengthRange;\n      /** Array size range permitted. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`. */\n      arraySizeRange?: ArraySizeRange;\n  }\n  enum TypeEnum {\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      DATE = \"DATE\",\n      DATETIME = \"DATETIME\",\n      IMAGE = \"IMAGE\",\n      BOOLEAN = \"BOOLEAN\",\n      DOCUMENT = \"DOCUMENT\",\n      URL = \"URL\",\n      RICH_TEXT = \"RICH_TEXT\",\n      VIDEO = \"VIDEO\",\n      ANY = \"ANY\",\n      ARRAY_STRING = \"ARRAY_STRING\",\n      ARRAY_DOCUMENT = \"ARRAY_DOCUMENT\",\n      AUDIO = \"AUDIO\",\n      TIME = \"TIME\",\n      LANGUAGE = \"LANGUAGE\",\n      RICH_CONTENT = \"RICH_CONTENT\",\n      MEDIA_GALLERY = \"MEDIA_GALLERY\",\n      ADDRESS = \"ADDRESS\",\n      PAGE_LINK = \"PAGE_LINK\",\n      REFERENCE = \"REFERENCE\",\n      MULTI_REFERENCE = \"MULTI_REFERENCE\",\n      OBJECT = \"OBJECT\",\n      ARRAY = \"ARRAY\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_TIME = \"LEGACY_TIME\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_BOOK = \"LEGACY_BOOK\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_EXTERNAL_URL = \"LEGACY_EXTERNAL_URL\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_BROKEN_REFERENCE = \"LEGACY_BROKEN_REFERENCE\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_IMAGE = \"LEGACY_IMAGE\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_COLOR = \"LEGACY_COLOR\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_EXTERNAL_VIDEO = \"LEGACY_EXTERNAL_VIDEO\"\n  }\n  interface TypeMetadata extends TypeMetadataMetadataOneOf {\n      /** Metadata for a reference field. */\n      reference?: Reference;\n      /** Metadata for a multi-reference field. */\n      multiReference?: MultiReference;\n      /** Metadata for an object field. */\n      object?: Object$1;\n      /** Metadata for an array field. */\n      array?: Array;\n      /** Metadata for a page link field. */\n      pageLink?: PageLink;\n  }\n  /** @oneof */\n  interface TypeMetadataMetadataOneOf {\n      /** Metadata for a reference field. */\n      reference?: Reference;\n      /** Metadata for a multi-reference field. */\n      multiReference?: MultiReference;\n      /** Metadata for an object field. */\n      object?: Object$1;\n      /** Metadata for an array field. */\n      array?: Array;\n      /** Metadata for a page link field. */\n      pageLink?: PageLink;\n  }\n  interface FieldCapabilities {\n      /**\n       * Whether the collection can be sorted by this field.\n       *\n       * Default: `false`\n       */\n      sortable?: boolean;\n      /** Query operators that can be used for this field. */\n      queryOperators?: QueryOperator[];\n  }\n  enum QueryOperator {\n      EQ = \"EQ\",\n      LT = \"LT\",\n      GT = \"GT\",\n      NE = \"NE\",\n      LTE = \"LTE\",\n      GTE = \"GTE\",\n      STARTS_WITH = \"STARTS_WITH\",\n      ENDS_WITH = \"ENDS_WITH\",\n      CONTAINS = \"CONTAINS\",\n      HAS_SOME = \"HAS_SOME\",\n      HAS_ALL = \"HAS_ALL\",\n      EXISTS = \"EXISTS\",\n      URLIZED = \"URLIZED\"\n  }\n  interface ObjectField {\n      /** Field key. */\n      key?: string;\n      /** Display name for the field. */\n      displayName?: string;\n      /** Field type. */\n      type?: TypeEnum;\n      /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */\n      typeMetadata?: TypeMetadata;\n      /** Capabilities the object field supports. */\n      capabilities?: FieldCapabilities;\n  }\n  interface FieldsPattern {\n      pattern?: string;\n      lowercase?: boolean;\n  }\n  interface UrlizedOnlyPattern {\n      pattern?: string;\n  }\n  interface Calculator extends CalculatorPatternOneOf {\n      /** Value is calculated according to pattern, whitespaces are replaced with dash [-]. */\n      fieldsPattern?: FieldsPattern;\n      /** Value is only URL encoded. */\n      urlizedOnlyPattern?: UrlizedOnlyPattern;\n      _id?: string;\n  }\n  /** @oneof */\n  interface CalculatorPatternOneOf {\n      /** Value is calculated according to pattern, whitespaces are replaced with dash [-]. */\n      fieldsPattern?: FieldsPattern;\n      /** Value is only URL encoded. */\n      urlizedOnlyPattern?: UrlizedOnlyPattern;\n  }\n  interface Reference {\n      /** Referenced collection ID. */\n      referencedCollectionId?: string;\n  }\n  interface MultiReference {\n      /** Referenced collection ID. */\n      referencedCollectionId?: string;\n      /** Referencing field key. */\n      referencingFieldKey?: string;\n      /** Display name in the Content Manager for the referenced data. */\n      referencingDisplayName?: string;\n  }\n  interface Object$1 {\n      /** Fields within the object. */\n      fields?: ObjectField[];\n  }\n  interface Array {\n      /** Element's data type. */\n      elementType?: TypeEnum;\n      /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */\n      typeMetadata?: TypeMetadata;\n  }\n  interface PageLink {\n      calculator?: Calculator;\n  }\n  interface NumberRange {\n      /**\n       * Minimum permitted value for a numerical field.\n       *\n       * Default: No validation\n       */\n      min?: number | null;\n      /**\n       * Maximum permitted value for a numerical field.\n       *\n       * Default: No validation\n       */\n      max?: number | null;\n  }\n  interface StringLengthRange {\n      /**\n       * Minimum permitted length for a text field.\n       *\n       * Default: No validation\n       */\n      minLength?: number | null;\n      /**\n       * Maximum permitted length for a text field.\n       *\n       * Default: No validation\n       */\n      maxLength?: number | null;\n  }\n  interface ArraySizeRange {\n      /**\n       * Minimum permitted number of items in an array field. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`.\n       *\n       * Default: No validation\n       */\n      minSize?: number | null;\n      /**\n       * Maximum permitted number of items in an array field. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`.\n       *\n       * Default: No validation\n       */\n      maxSize?: number | null;\n  }\n  /** Permissions defined by the lowest role needed to perform each action. */\n  interface Permissions {\n      /** Lowest role needed to add a collection. */\n      insert?: Role;\n      /** Lowest role needed to update a collection. */\n      update?: Role;\n      /** Lowest role needed to remove a collection. */\n      remove?: Role;\n      /** Lowest role needed to read a collection. */\n      read?: Role;\n  }\n  enum Role {\n      /** Site administrator. */\n      ADMIN = \"ADMIN\",\n      /** Signed-in user who added content to this collection. */\n      SITE_MEMBER_AUTHOR = \"SITE_MEMBER_AUTHOR\",\n      /** Any signed-in user. */\n      SITE_MEMBER = \"SITE_MEMBER\",\n      /** Any site visitor. */\n      ANYONE = \"ANYONE\"\n  }\n  interface Plugin extends PluginOptionsOneOf {\n      /** Options for the Publish plugin. */\n      publishOptions?: PublishPluginOptions;\n      /** Options for the Single Item plugin. */\n      singleItemOptions?: SingleItemPluginOptions;\n      /** Options for the Urlized plugin. */\n      urlizedOptions?: UrlizedPluginOptions;\n      /** Options for Gridappless plugin. */\n      gridapplessOptions?: GridapplessPluginOptions;\n      /**\n       * Plugin types. The following plugins are supported:\n       *\n       * * `PUBLISH`: Allows items to be marked as either draft or published. For each item you can set a publishing time when the item will become visible to site visitors.\n       * * `SINGLE_ITEM`: Ensures the collection can have one item at most. Can only be applied to a new collection.\n       * * `URLIZED`: Generates item URLs for collections used by dynamic pages.\n       * * `GRIDAPPLESS`: This plugin is read-only and can't be manually added. Indicates the collection structure is shared between sandbox and live environments.\n       */\n      type?: Type;\n  }\n  /** @oneof */\n  interface PluginOptionsOneOf {\n      /** Options for the Publish plugin. */\n      publishOptions?: PublishPluginOptions;\n      /** Options for the Single Item plugin. */\n      singleItemOptions?: SingleItemPluginOptions;\n      /** Options for the Urlized plugin. */\n      urlizedOptions?: UrlizedPluginOptions;\n      /** Options for Gridappless plugin. */\n      gridapplessOptions?: GridapplessPluginOptions;\n  }\n  enum Status {\n      PUBLISHED = \"PUBLISHED\",\n      DRAFT = \"DRAFT\"\n  }\n  enum Format {\n      ORIGINAL = \"ORIGINAL\",\n      PLAIN = \"PLAIN\"\n  }\n  enum Type {\n      /** Allows items to be marked as either draft or published. For each item you can set a publishing time when the item will become visible to site visitors. */\n      PUBLISH = \"PUBLISH\",\n      /** Ensures the collection can have one item at most. Can only be applied to a new collection. */\n      SINGLE_ITEM = \"SINGLE_ITEM\",\n      /** Generates item URLs for collections used by dynamic pages. */\n      URLIZED = \"URLIZED\",\n      /** This plugin is read-only and can't be manually added. Indicates collection structure is shared between sandbox and live environments. */\n      GRIDAPPLESS = \"GRIDAPPLESS\"\n  }\n  interface PublishPluginOptions {\n      /** Default status. */\n      defaultStatus?: Status;\n  }\n  interface SingleItemPluginOptions {\n      /** ID of the single item in this collection. If you insert or update an item, its ID value is always changed to this. */\n      singleItemId?: string;\n  }\n  interface UrlizedPluginOptions {\n      /**\n       * Encoding method for generating a URL in ASCII characters.\n       *\n       * * `ORIGINAL`: Letters are converted to lower case and spaces are replaced with dashes before generating the encoded URL.\n       * * `PLAIN`: No changes are made before generating the encoded URL.\n       */\n      format?: Format;\n  }\n  interface GridapplessPluginOptions {\n      /** indicates if tenant is migrated to gridappless or initially on it */\n      migrated?: boolean;\n  }\n  enum PagingMode {\n      /** Offset-based paging. */\n      OFFSET = \"OFFSET\",\n      /** Cursor-based paging. */\n      CURSOR = \"CURSOR\"\n  }\n  interface DataCollectionClonedEvent {\n      /** original instance collection is cloned from */\n      originInstanceId?: string;\n      /** original collection ID, may be same as current one */\n      originId?: string;\n  }\n  interface DataCollectionChangedEvent {\n      /** list of new fields */\n      fieldsAdded?: Field[];\n      /** list of changed fields */\n      fieldsUpdated?: Field[];\n      /** list of removed fields */\n      fieldsRemoved?: Field[];\n      /** list of new plugins */\n      pluginsAdded?: Plugin[];\n      /** list of changed plugins */\n      pluginsUpdated?: Plugin[];\n      /** list of removed plugins */\n      pluginsRemoved?: Plugin[];\n  }\n  interface CreateDataCollectionRequest {\n      /** Collection details. */\n      collection?: DataCollection;\n  }\n  interface CreateDataCollectionResponse {\n      /** Details of collection created. */\n      collection?: DataCollection;\n  }\n  interface GetDataCollectionRequest {\n      /** ID of the collection to retrieve. */\n      dataCollectionId: string;\n      /**\n       * Whether to return all collections referenced by the requested collection.\n       *\n       * Default: `false`\n       */\n      includeReferencedCollections?: boolean;\n  }\n  interface GetDataCollectionResponse {\n      /** Details of the collection requested. */\n      collection?: DataCollection;\n      /**\n       * Details of collections referenced by the collection requested.\n       * Only populated when `includeReferencedCollections` is `true` in the request.\n       */\n      referencedCollections?: DataCollection[];\n  }\n  interface ListDataCollectionsRequest extends ListDataCollectionsRequestPagingMethodOneOf {\n      /** Offset-based paging. */\n      paging?: Paging;\n      /** Cursor-based paging. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Defines how collections in the response are sorted.\n       *\n       * Default: Ordered by ID in ascending order.\n       */\n      sort?: Sorting;\n  }\n  /** @oneof */\n  interface ListDataCollectionsRequestPagingMethodOneOf {\n      /** Offset-based paging. */\n      paging?: Paging;\n      /** Cursor-based paging. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListDataCollectionsResponse {\n      /** List of collections. */\n      collections?: DataCollection[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkGetDataCollectionsRequest {\n      /** IDs of the collections to retrieve. */\n      dataCollectionIds?: string[];\n      /**\n       * Whether to include deleted collections.\n       *\n       * Default: `false`\n       */\n      showDeletedCollections?: boolean;\n      /**\n       * Whether the returned collection list should include referenced collections.\n       *\n       * Default: `false`\n       */\n      includeReferencedCollections?: boolean;\n      /** Sorting preferences. */\n      sort?: Sorting;\n  }\n  interface BulkGetDataCollectionsResponse {\n      /**\n       * List of requested collections.\n       * When `include_referenced_collections` is `true` in the request, referenced collections are included here.\n       */\n      activeCollections?: DataCollection[];\n      /** List of requested deleted collections. Only populated when `showDeletedCollections` is true in the request. */\n      deletedCollections?: DataCollection[];\n  }\n  interface BulkGetDataCollectionsBySnapshotsRequest {\n      /** Ids of schema snapshot */\n      snapshotIds?: string[];\n  }\n  interface BulkGetDataCollectionsBySnapshotsResponse {\n      /** List of snapshot collection map */\n      snapshotCollections?: SnapshotDataCollections[];\n  }\n  interface SnapshotDataCollections {\n      snapshotId?: string;\n      collections?: DataCollection[];\n  }\n  interface UpdateDataCollectionRequest {\n      /** Updated collection details. The existing collection is replaced with this version. */\n      collection?: DataCollection;\n  }\n  interface UpdateDataCollectionResponse {\n      /** Updated collection details. */\n      collection?: DataCollection;\n  }\n  interface DeleteDataCollectionRequest {\n      /** ID of the collection to delete. */\n      dataCollectionId: string;\n  }\n  interface DeleteDataCollectionResponse {\n  }\n  /**\n   * Creates a new data collection.\n   *\n   * The request body must include an ID, details for at least 1 field, and a permissions object. If any of these are missing, the collection isn't created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.collection._id\n   * @requiredField options.collection.fields\n   * @requiredField options.collection.permissions\n   */\n  function createDataCollection(options?: CreateDataCollectionOptions): Promise<CreateDataCollectionResponse>;\n  interface CreateDataCollectionOptions {\n      /** Collection details. */\n      collection?: DataCollection;\n  }\n  /**\n   * Retrieves a data collection by ID.\n   * @param dataCollectionId - ID of the collection to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField GetDataCollectionRequest\n   * @requiredField dataCollectionId\n   */\n  function getDataCollection(dataCollectionId: string, options?: GetDataCollectionOptions): Promise<GetDataCollectionResponse>;\n  interface GetDataCollectionOptions {\n      /**\n       * Whether to return all collections referenced by the requested collection.\n       *\n       * Default: `false`\n       */\n      includeReferencedCollections?: boolean;\n  }\n  /**\n   * Retrieves a list of all data collections associated with the site.\n   *\n   * By default, the list is ordered by ID in ascending order.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listDataCollections(options?: ListDataCollectionsOptions): Promise<ListDataCollectionsResponse>;\n  interface ListDataCollectionsOptions extends ListDataCollectionsRequestPagingMethodOneOf {\n      /**\n       * Defines how collections in the response are sorted.\n       *\n       * Default: Ordered by ID in ascending order.\n       */\n      sort?: Sorting;\n      /** Offset-based paging. */\n      paging?: Paging;\n      /** Cursor-based paging. */\n      cursorPaging?: CursorPaging;\n  }\n  /**\n   * Retrieves multiple data collections by ID.\n   * Used in frontend databinding to load multiple specific collections at once. For internal use only.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function bulkGetDataCollections(options?: BulkGetDataCollectionsOptions): Promise<BulkGetDataCollectionsResponse>;\n  interface BulkGetDataCollectionsOptions {\n      /** IDs of the collections to retrieve. */\n      dataCollectionIds?: string[];\n      /**\n       * Whether to include deleted collections.\n       *\n       * Default: `false`\n       */\n      showDeletedCollections?: boolean;\n      /**\n       * Whether the returned collection list should include referenced collections.\n       *\n       * Default: `false`\n       */\n      includeReferencedCollections?: boolean;\n      /** Sorting preferences. */\n      sort?: Sorting;\n  }\n  /**\n   * Updates a data collection.\n   *\n   * A collection ID, revision number, permissions, and at least 1 field must be provided within the `collection` body parameter.\n   * If a collection with that ID exists, and if its current `revision` number matches the one provided, it is updated.\n   * Otherwise, the request fails.\n   *\n   * When a collection is updated, its `updatedDate` property is changed to the current date and its `revision` property is incremented.\n   *\n   * > **Note:**\n   * > After a collection is updated, it only contains the properties included in the Update Data Collection request. If the existing collection has properties with values and those properties\n   * > aren't included in the updated collection details, their values are lost.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.collection._id\n   * @requiredField options.collection.fields\n   * @requiredField options.collection.permissions\n   * @requiredField options.collection.revision\n   */\n  function updateDataCollection(options?: UpdateDataCollectionOptions): Promise<UpdateDataCollectionResponse>;\n  interface UpdateDataCollectionOptions {\n      /** Updated collection details. The existing collection is replaced with this version. */\n      collection?: DataCollection;\n  }\n  /**\n   * Deletes a data collection.\n   *\n   * > **Note:**\n   * > Once a collection is deleted, it can't be restored.\n   * @param dataCollectionId - ID of the collection to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField DeleteDataCollectionRequest\n   * @requiredField dataCollectionId\n   */\n  function deleteDataCollection(dataCollectionId: string): Promise<void>;\n  \n  const dataV2DataCollection_universal_d___debug: typeof __debug;\n  type dataV2DataCollection_universal_d_DataCollection = DataCollection;\n  type dataV2DataCollection_universal_d_CollectionType = CollectionType;\n  const dataV2DataCollection_universal_d_CollectionType: typeof CollectionType;\n  type dataV2DataCollection_universal_d_Sort = Sort;\n  type dataV2DataCollection_universal_d_Direction = Direction;\n  const dataV2DataCollection_universal_d_Direction: typeof Direction;\n  type dataV2DataCollection_universal_d_CollectionCapabilities = CollectionCapabilities;\n  type dataV2DataCollection_universal_d_DataOperation = DataOperation;\n  const dataV2DataCollection_universal_d_DataOperation: typeof DataOperation;\n  type dataV2DataCollection_universal_d_Field = Field;\n  type dataV2DataCollection_universal_d_FieldRangeValidationsOneOf = FieldRangeValidationsOneOf;\n  type dataV2DataCollection_universal_d_TypeEnum = TypeEnum;\n  const dataV2DataCollection_universal_d_TypeEnum: typeof TypeEnum;\n  type dataV2DataCollection_universal_d_TypeMetadata = TypeMetadata;\n  type dataV2DataCollection_universal_d_TypeMetadataMetadataOneOf = TypeMetadataMetadataOneOf;\n  type dataV2DataCollection_universal_d_FieldCapabilities = FieldCapabilities;\n  type dataV2DataCollection_universal_d_QueryOperator = QueryOperator;\n  const dataV2DataCollection_universal_d_QueryOperator: typeof QueryOperator;\n  type dataV2DataCollection_universal_d_ObjectField = ObjectField;\n  type dataV2DataCollection_universal_d_FieldsPattern = FieldsPattern;\n  type dataV2DataCollection_universal_d_UrlizedOnlyPattern = UrlizedOnlyPattern;\n  type dataV2DataCollection_universal_d_Calculator = Calculator;\n  type dataV2DataCollection_universal_d_CalculatorPatternOneOf = CalculatorPatternOneOf;\n  type dataV2DataCollection_universal_d_Reference = Reference;\n  type dataV2DataCollection_universal_d_MultiReference = MultiReference;\n  type dataV2DataCollection_universal_d_Array = Array;\n  type dataV2DataCollection_universal_d_PageLink = PageLink;\n  type dataV2DataCollection_universal_d_NumberRange = NumberRange;\n  type dataV2DataCollection_universal_d_StringLengthRange = StringLengthRange;\n  type dataV2DataCollection_universal_d_ArraySizeRange = ArraySizeRange;\n  type dataV2DataCollection_universal_d_Permissions = Permissions;\n  type dataV2DataCollection_universal_d_Role = Role;\n  const dataV2DataCollection_universal_d_Role: typeof Role;\n  type dataV2DataCollection_universal_d_Plugin = Plugin;\n  type dataV2DataCollection_universal_d_PluginOptionsOneOf = PluginOptionsOneOf;\n  type dataV2DataCollection_universal_d_Status = Status;\n  const dataV2DataCollection_universal_d_Status: typeof Status;\n  type dataV2DataCollection_universal_d_Format = Format;\n  const dataV2DataCollection_universal_d_Format: typeof Format;\n  type dataV2DataCollection_universal_d_Type = Type;\n  const dataV2DataCollection_universal_d_Type: typeof Type;\n  type dataV2DataCollection_universal_d_PublishPluginOptions = PublishPluginOptions;\n  type dataV2DataCollection_universal_d_SingleItemPluginOptions = SingleItemPluginOptions;\n  type dataV2DataCollection_universal_d_UrlizedPluginOptions = UrlizedPluginOptions;\n  type dataV2DataCollection_universal_d_GridapplessPluginOptions = GridapplessPluginOptions;\n  type dataV2DataCollection_universal_d_PagingMode = PagingMode;\n  const dataV2DataCollection_universal_d_PagingMode: typeof PagingMode;\n  type dataV2DataCollection_universal_d_DataCollectionClonedEvent = DataCollectionClonedEvent;\n  type dataV2DataCollection_universal_d_DataCollectionChangedEvent = DataCollectionChangedEvent;\n  type dataV2DataCollection_universal_d_CreateDataCollectionRequest = CreateDataCollectionRequest;\n  type dataV2DataCollection_universal_d_CreateDataCollectionResponse = CreateDataCollectionResponse;\n  type dataV2DataCollection_universal_d_GetDataCollectionRequest = GetDataCollectionRequest;\n  type dataV2DataCollection_universal_d_GetDataCollectionResponse = GetDataCollectionResponse;\n  type dataV2DataCollection_universal_d_ListDataCollectionsRequest = ListDataCollectionsRequest;\n  type dataV2DataCollection_universal_d_ListDataCollectionsRequestPagingMethodOneOf = ListDataCollectionsRequestPagingMethodOneOf;\n  type dataV2DataCollection_universal_d_Sorting = Sorting;\n  type dataV2DataCollection_universal_d_SortOrder = SortOrder;\n  const dataV2DataCollection_universal_d_SortOrder: typeof SortOrder;\n  type dataV2DataCollection_universal_d_Paging = Paging;\n  type dataV2DataCollection_universal_d_CursorPaging = CursorPaging;\n  type dataV2DataCollection_universal_d_ListDataCollectionsResponse = ListDataCollectionsResponse;\n  type dataV2DataCollection_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type dataV2DataCollection_universal_d_Cursors = Cursors;\n  type dataV2DataCollection_universal_d_BulkGetDataCollectionsRequest = BulkGetDataCollectionsRequest;\n  type dataV2DataCollection_universal_d_BulkGetDataCollectionsResponse = BulkGetDataCollectionsResponse;\n  type dataV2DataCollection_universal_d_BulkGetDataCollectionsBySnapshotsRequest = BulkGetDataCollectionsBySnapshotsRequest;\n  type dataV2DataCollection_universal_d_BulkGetDataCollectionsBySnapshotsResponse = BulkGetDataCollectionsBySnapshotsResponse;\n  type dataV2DataCollection_universal_d_SnapshotDataCollections = SnapshotDataCollections;\n  type dataV2DataCollection_universal_d_UpdateDataCollectionRequest = UpdateDataCollectionRequest;\n  type dataV2DataCollection_universal_d_UpdateDataCollectionResponse = UpdateDataCollectionResponse;\n  type dataV2DataCollection_universal_d_DeleteDataCollectionRequest = DeleteDataCollectionRequest;\n  type dataV2DataCollection_universal_d_DeleteDataCollectionResponse = DeleteDataCollectionResponse;\n  const dataV2DataCollection_universal_d_createDataCollection: typeof createDataCollection;\n  type dataV2DataCollection_universal_d_CreateDataCollectionOptions = CreateDataCollectionOptions;\n  const dataV2DataCollection_universal_d_getDataCollection: typeof getDataCollection;\n  type dataV2DataCollection_universal_d_GetDataCollectionOptions = GetDataCollectionOptions;\n  const dataV2DataCollection_universal_d_listDataCollections: typeof listDataCollections;\n  type dataV2DataCollection_universal_d_ListDataCollectionsOptions = ListDataCollectionsOptions;\n  const dataV2DataCollection_universal_d_bulkGetDataCollections: typeof bulkGetDataCollections;\n  type dataV2DataCollection_universal_d_BulkGetDataCollectionsOptions = BulkGetDataCollectionsOptions;\n  const dataV2DataCollection_universal_d_updateDataCollection: typeof updateDataCollection;\n  type dataV2DataCollection_universal_d_UpdateDataCollectionOptions = UpdateDataCollectionOptions;\n  const dataV2DataCollection_universal_d_deleteDataCollection: typeof deleteDataCollection;\n  namespace dataV2DataCollection_universal_d {\n    export {\n      dataV2DataCollection_universal_d___debug as __debug,\n      dataV2DataCollection_universal_d_DataCollection as DataCollection,\n      dataV2DataCollection_universal_d_CollectionType as CollectionType,\n      dataV2DataCollection_universal_d_Sort as Sort,\n      dataV2DataCollection_universal_d_Direction as Direction,\n      dataV2DataCollection_universal_d_CollectionCapabilities as CollectionCapabilities,\n      dataV2DataCollection_universal_d_DataOperation as DataOperation,\n      dataV2DataCollection_universal_d_Field as Field,\n      dataV2DataCollection_universal_d_FieldRangeValidationsOneOf as FieldRangeValidationsOneOf,\n      dataV2DataCollection_universal_d_TypeEnum as TypeEnum,\n      dataV2DataCollection_universal_d_TypeMetadata as TypeMetadata,\n      dataV2DataCollection_universal_d_TypeMetadataMetadataOneOf as TypeMetadataMetadataOneOf,\n      dataV2DataCollection_universal_d_FieldCapabilities as FieldCapabilities,\n      dataV2DataCollection_universal_d_QueryOperator as QueryOperator,\n      dataV2DataCollection_universal_d_ObjectField as ObjectField,\n      dataV2DataCollection_universal_d_FieldsPattern as FieldsPattern,\n      dataV2DataCollection_universal_d_UrlizedOnlyPattern as UrlizedOnlyPattern,\n      dataV2DataCollection_universal_d_Calculator as Calculator,\n      dataV2DataCollection_universal_d_CalculatorPatternOneOf as CalculatorPatternOneOf,\n      dataV2DataCollection_universal_d_Reference as Reference,\n      dataV2DataCollection_universal_d_MultiReference as MultiReference,\n      Object$1 as Object,\n      dataV2DataCollection_universal_d_Array as Array,\n      dataV2DataCollection_universal_d_PageLink as PageLink,\n      dataV2DataCollection_universal_d_NumberRange as NumberRange,\n      dataV2DataCollection_universal_d_StringLengthRange as StringLengthRange,\n      dataV2DataCollection_universal_d_ArraySizeRange as ArraySizeRange,\n      dataV2DataCollection_universal_d_Permissions as Permissions,\n      dataV2DataCollection_universal_d_Role as Role,\n      dataV2DataCollection_universal_d_Plugin as Plugin,\n      dataV2DataCollection_universal_d_PluginOptionsOneOf as PluginOptionsOneOf,\n      dataV2DataCollection_universal_d_Status as Status,\n      dataV2DataCollection_universal_d_Format as Format,\n      dataV2DataCollection_universal_d_Type as Type,\n      dataV2DataCollection_universal_d_PublishPluginOptions as PublishPluginOptions,\n      dataV2DataCollection_universal_d_SingleItemPluginOptions as SingleItemPluginOptions,\n      dataV2DataCollection_universal_d_UrlizedPluginOptions as UrlizedPluginOptions,\n      dataV2DataCollection_universal_d_GridapplessPluginOptions as GridapplessPluginOptions,\n      dataV2DataCollection_universal_d_PagingMode as PagingMode,\n      dataV2DataCollection_universal_d_DataCollectionClonedEvent as DataCollectionClonedEvent,\n      dataV2DataCollection_universal_d_DataCollectionChangedEvent as DataCollectionChangedEvent,\n      dataV2DataCollection_universal_d_CreateDataCollectionRequest as CreateDataCollectionRequest,\n      dataV2DataCollection_universal_d_CreateDataCollectionResponse as CreateDataCollectionResponse,\n      dataV2DataCollection_universal_d_GetDataCollectionRequest as GetDataCollectionRequest,\n      dataV2DataCollection_universal_d_GetDataCollectionResponse as GetDataCollectionResponse,\n      dataV2DataCollection_universal_d_ListDataCollectionsRequest as ListDataCollectionsRequest,\n      dataV2DataCollection_universal_d_ListDataCollectionsRequestPagingMethodOneOf as ListDataCollectionsRequestPagingMethodOneOf,\n      dataV2DataCollection_universal_d_Sorting as Sorting,\n      dataV2DataCollection_universal_d_SortOrder as SortOrder,\n      dataV2DataCollection_universal_d_Paging as Paging,\n      dataV2DataCollection_universal_d_CursorPaging as CursorPaging,\n      dataV2DataCollection_universal_d_ListDataCollectionsResponse as ListDataCollectionsResponse,\n      dataV2DataCollection_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      dataV2DataCollection_universal_d_Cursors as Cursors,\n      dataV2DataCollection_universal_d_BulkGetDataCollectionsRequest as BulkGetDataCollectionsRequest,\n      dataV2DataCollection_universal_d_BulkGetDataCollectionsResponse as BulkGetDataCollectionsResponse,\n      dataV2DataCollection_universal_d_BulkGetDataCollectionsBySnapshotsRequest as BulkGetDataCollectionsBySnapshotsRequest,\n      dataV2DataCollection_universal_d_BulkGetDataCollectionsBySnapshotsResponse as BulkGetDataCollectionsBySnapshotsResponse,\n      dataV2DataCollection_universal_d_SnapshotDataCollections as SnapshotDataCollections,\n      dataV2DataCollection_universal_d_UpdateDataCollectionRequest as UpdateDataCollectionRequest,\n      dataV2DataCollection_universal_d_UpdateDataCollectionResponse as UpdateDataCollectionResponse,\n      dataV2DataCollection_universal_d_DeleteDataCollectionRequest as DeleteDataCollectionRequest,\n      dataV2DataCollection_universal_d_DeleteDataCollectionResponse as DeleteDataCollectionResponse,\n      dataV2DataCollection_universal_d_createDataCollection as createDataCollection,\n      dataV2DataCollection_universal_d_CreateDataCollectionOptions as CreateDataCollectionOptions,\n      dataV2DataCollection_universal_d_getDataCollection as getDataCollection,\n      dataV2DataCollection_universal_d_GetDataCollectionOptions as GetDataCollectionOptions,\n      dataV2DataCollection_universal_d_listDataCollections as listDataCollections,\n      dataV2DataCollection_universal_d_ListDataCollectionsOptions as ListDataCollectionsOptions,\n      dataV2DataCollection_universal_d_bulkGetDataCollections as bulkGetDataCollections,\n      dataV2DataCollection_universal_d_BulkGetDataCollectionsOptions as BulkGetDataCollectionsOptions,\n      dataV2DataCollection_universal_d_updateDataCollection as updateDataCollection,\n      dataV2DataCollection_universal_d_UpdateDataCollectionOptions as UpdateDataCollectionOptions,\n      dataV2DataCollection_universal_d_deleteDataCollection as deleteDataCollection,\n    };\n  }\n  \n  export { dataV2DataCollection_universal_d as dataCollections };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-entitlements-v1-policy-provider.d.ts",
      "content": "declare module \"interfaces-entitlements-v1-policy-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface EvaluatePolicyRequest {\n      /** Policy configuration */\n      policy?: CustomPolicy;\n      /** Evaluation context */\n      evaluationContext?: EvaluationContext;\n  }\n  /** Custom policy as implemented by the Pool Policy Provider */\n  interface CustomPolicy {\n      /** References a specific custom policy on the provider's system */\n      _id?: string | null;\n      /** Custom policy provider id */\n      appId?: string | null;\n      /** Additional info for this custom policy. It's going to be passed to the policy provider during eligibility checks */\n      additionalData?: Record<string, any> | null;\n  }\n  interface EvaluationContext {\n      /** Pool which should be evaluated whether it passes the policy or not */\n      pool?: Pool;\n      /** Id of the item that is being redeemed */\n      itemReference?: ItemReference;\n      /** Number of of items to redeem */\n      count?: number;\n      /** Beneficiary of the entitlement. If not provided, will use the identity in the context */\n      beneficiaries?: IdentificationData[];\n      /** Structured data filled in during the eligibility check or redemption request */\n      requestData?: Record<string, any> | null;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by policy providers\n       */\n      targetDate?: Date;\n  }\n  interface Pool {\n      /**\n       * Pool ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Pool was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Pool was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * PoolDefinition that this entitlement was created from\n       * @readonly\n       */\n      poolDefinitionId?: string;\n      /**\n       * Program definition from which this entitlement was provisioned from\n       * @readonly\n       */\n      programDefinitionKey?: string | null;\n      /**\n       * Package that this entitlement belongs to\n       * @readonly\n       */\n      programKey?: string;\n      /**\n       * Status of entitlement\n       * @readonly\n       */\n      status?: PoolStatus;\n      /** Who is getting the entitlement */\n      beneficiary?: IdentificationData;\n      /** Items and policies how the entitlement works */\n      details?: Details;\n      /**\n       * Name of the entitlement template that this Pool was provisioned from\n       * @readonly\n       */\n      name?: string;\n      /**\n       * ID of the app that this entitlement belongs to\n       * @readonly\n       */\n      appId?: string;\n  }\n  enum PoolStatus {\n      UNDEFINED = \"UNDEFINED\",\n      ACTIVE = \"ACTIVE\",\n      PAUSED = \"PAUSED\",\n      ENDED = \"ENDED\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface Details {\n      /** A set of benefits that share the credit pool and policies of the entitlement */\n      benefits?: Benefit[];\n      /** Settings that control the behavior of the credit pool. If this value is left empty, then the entitlement is unlimited and items should not have prices */\n      creditConfiguration?: CreditConfiguration;\n      /** Defines entitlement eligibility. Default policy for all items, but may be overridden by a specific item */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n      /** Entitlement provider */\n      provider?: Provider;\n  }\n  /** Groups items that share the same credit pool and policies */\n  interface Benefit {\n      /** A unique identifier for the group. May be empty, but only one group can have an empty key */\n      benefitKey?: string;\n      /** A set of items that share the credit pool and policies of the entitlement */\n      items?: Item[];\n      /** Price of the item expressed in credits */\n      price?: string | null;\n      /** Overrides the default policies in Entitlement Data */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n  }\n  /**\n   * Represents anything that an external system exposes as an entitlement. It could be a specific event, a booking session, or even a physical good.\n   * `category` is used to identify the type of the item and id is used to uniquely identify it within the category. The `name` is used for display purposes only.\n   * For example, if the item is a blog post, then the category could be \"post\" and the id could be the post id.\n   */\n  interface Item {\n      /** External item identifier */\n      _id?: string;\n      /** Item category. Discriminates between different types of items. E.g. posts, groups etc. */\n      category?: string | null;\n      /** Name of the item */\n      name?: string | null;\n  }\n  interface PolicyExpression extends PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n      type?: PolicyExpressionType;\n  }\n  /** @oneof */\n  interface PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n  }\n  enum PolicyExpressionType {\n      UNKNOWN = \"UNKNOWN\",\n      OPERATOR_NOT = \"OPERATOR_NOT\",\n      OPERATOR_AND = \"OPERATOR_AND\",\n      OPERATOR_OR = \"OPERATOR_OR\",\n      POLICY = \"POLICY\"\n  }\n  interface PolicyExpressionNot {\n      /** Expression that is negated */\n      expression?: PolicyExpression;\n  }\n  interface PolicyExpressionAnd {\n      /** Expressions that are combined with an `AND` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface PolicyExpressionOr {\n      /** Expressions that are combined with an `OR` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface Policy extends PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: TypesCustomPolicy;\n      /** Policy type */\n      type?: Type;\n  }\n  /** @oneof */\n  interface PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: TypesCustomPolicy;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      RATE_LIMITED = \"RATE_LIMITED\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface FixedIntervalPolicy {\n      /** Weekday that this interval starts from. If this is set then to_week_day must also be set */\n      fromWeekDay?: WeekDay;\n      /** Weekday that this interval ends at. If this is set then from_week_day must also be set */\n      toWeekDay?: WeekDay;\n      /** Hour that this interval starts from. If this is set then to_hour must also be set */\n      fromHour?: number | null;\n      /** Hour that this interval ends at. If this is set then from_hour must also be set */\n      toHour?: number | null;\n      /** Minute that this interval starts from. If this is set then to_minute must also be set */\n      fromMinute?: number | null;\n      /** Minute that this interval ends at. If this is set then from_minute must also be set */\n      toMinute?: number | null;\n  }\n  enum WeekDay {\n      UNKNOWN = \"UNKNOWN\",\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  interface RateLimitedPolicy extends RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Defines how many times it's allowed to consume a item over the period */\n      times?: number;\n      /** Type of period */\n      type?: RateLimitedPolicyType;\n  }\n  /** @oneof */\n  interface RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n  }\n  enum RateLimitedPolicyType {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      PER_CYCLE = \"PER_CYCLE\"\n  }\n  /** Custom policy as implemented by the Entitlement Policy Provider */\n  interface TypesCustomPolicy {\n      /** References a specific custom policy on the provider's system */\n      _id?: string | null;\n      /** Custom policy provider id */\n      appId?: string | null;\n      /** Additional info for this custom policy. It's going to be passed to the policy provider during eligibility checks */\n      additionalData?: Record<string, any> | null;\n  }\n  interface CreditConfiguration {\n      /** The total amount of credits available for this entitlement */\n      amount?: string;\n      /** Unused credits are rolled over to the new cycle */\n      rollOver?: boolean;\n  }\n  interface Provider {\n      /** AppId of a provider defined in a dev center which implements this entitlement custom lifecycle and redeem logic */\n      appId?: string;\n      /** Type of the entitlement, giving information to the SPI implementer so it knows what kind of entitlement it is */\n      type?: string;\n  }\n  interface ItemReference {\n      /** Id of the item */\n      _id?: string;\n      /** Item category */\n      category?: string | null;\n  }\n  interface EvaluatePolicyResponse {\n      /** Evaluation result */\n      result?: EvaluationResult;\n  }\n  interface EvaluationResult {\n      /** Whether the entitlement passes the policy or not */\n      success?: boolean;\n      /** Details indicating the type of failure and any additional error data that may be forwarded to the client */\n      details?: FailureDetails;\n  }\n  interface FailureDetails {\n      /** Error code */\n      errorCode?: string;\n      /** Additional data that will be stored in the entitlement */\n      errorData?: Record<string, any> | null;\n  }\n  interface PolicyConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: ContextIdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentificationDataIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ContextIdentificationData extends ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentificationDataIdentityType;\n  }\n  /** @oneof */\n  interface ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface EvaluatePolicyOptions {\n      /** Policy configuration */\n      policy?: CustomPolicy;\n      /** Evaluation context */\n      evaluationContext?: EvaluationContext;\n  }\n  \n  export { AlternativeUri, Benefit, BusinessError, Context, ContextIdentificationData, ContextIdentificationDataIdOneOf, CreditConfiguration, CustomPolicy, Details, EvaluatePolicyOptions, EvaluatePolicyRequest, EvaluatePolicyResponse, EvaluationContext, EvaluationResult, FailureDetails, FixedIntervalPolicy, IdentificationData, IdentificationDataIdOneOf, IdentificationDataIdentityType, IdentityType, Item, ItemReference, Policy, PolicyConfig, PolicyExpression, PolicyExpressionAnd, PolicyExpressionExpressionOneOf, PolicyExpressionNot, PolicyExpressionOr, PolicyExpressionType, PolicyPolicyOneOf, Pool, PoolStatus, Provider, RateLimitedPolicy, RateLimitedPolicyPeriodOneOf, RateLimitedPolicyType, SpiBaseUri, Type, TypesCustomPolicy, WeekDay };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-indexes.d.ts",
      "content": "declare module \"wix-data-indexes\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** An index is a map of a collection's data, organized according to specific fields to increase query speed. */\n  interface Index {\n      /** Name of the index. */\n      name?: string;\n      /**\n       * Fields for which the index is defined.\n       *\n       * Max: 3 fields (for a unique index: 1 field)\n       */\n      fields?: Field[];\n      /**\n       * Current status of the index.\n       * - `BUILDING`: Index creation is in progress.\n       * - `ACTIVE`: Index has been successfully created and can be used in queries.\n       * - `DROPPING`: Index is in the process of being dropped.\n       * - `DROPPED`: Index has been dropped successfully.\n       * - `FAILED`: Index creation has failed.\n       * - `INVALID`: Index contains incorrectly indexed data.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Contains details about the reasons for failure when `status` is `FAILED`.\n       * @readonly\n       */\n      failure?: Failure;\n      /**\n       * Whether the index enforces uniqueness of values in the field for which it is defined.\n       * If `true`, the index can have only one field.\n       *\n       * Default: `false`\n       */\n      unique?: boolean;\n      /**\n       * Whether the index ignores case.\n       *\n       * Default: `false`\n       */\n      caseInsensitive?: boolean;\n  }\n  /**\n   * Order determines how values are ordered in the index. This is important when\n   * ordering and/or range querying by indexed fields.\n   */\n  enum Order {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Field {\n      /** Path of the field to index. For example: `title` or `options.price`. */\n      path?: string;\n      /**\n       * Sort order for the index. Base on how the data is regularly queried.\n       *\n       * Default: `ASC`\n       */\n      order?: Order;\n  }\n  enum Status {\n      /** Place holder. Never returned by the service. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Index creation is in progress. */\n      BUILDING = \"BUILDING\",\n      /** Index has been successfully created and can be used in queries. */\n      ACTIVE = \"ACTIVE\",\n      /** Index is in the process of being dropped. */\n      DROPPING = \"DROPPING\",\n      /** Index has been dropped successfully. */\n      DROPPED = \"DROPPED\",\n      /** Index creation has failed. */\n      FAILED = \"FAILED\",\n      /** Index contains incorrectly indexed data. */\n      INVALID = \"INVALID\"\n  }\n  interface Failure {\n      /**\n       * Error code.\n       * - `WDE0112`: Unknown error while building collection index.\n       * - `WDE0113`: Duplicate key error while building collection index.\n       * - `WDE0114`: Document too large while building collection index.\n       */\n      code?: string;\n      /**\n       * Broad error code.\n       * - `WD_UNKNOWN_ERROR`: Unknown error.\n       * @internal\n       */\n      broadCode?: string;\n      /** Description of the failure. */\n      description?: string;\n      /**\n       * ID of the data item that caused the failure.\n       * For example, if `unique` is `true`, the ID of an item containing a duplicate value.\n       */\n      itemId?: string | null;\n  }\n  interface CreateIndexRequest {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment on which to define the index. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n      /** Details of the index to be created. */\n      index: Index;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which to generate the index. */\n      dataCollectionId?: string;\n  }\n  enum Environment {\n      LIVE = \"LIVE\",\n      SANDBOX = \"SANDBOX\"\n  }\n  interface CreateIndexResponse {\n      /** Details of the index being generated. */\n      index?: Index;\n  }\n  interface DropIndexRequest {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment on which the index is defined. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n      /** Name of the index to drop. */\n      indexName: string;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which the index to be dropped is defined. */\n      dataCollectionId?: string;\n  }\n  interface DropIndexResponse {\n  }\n  interface ListIndexesRequest {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment to list indexes for\n       * @internal\n       */\n      environment?: Environment;\n      /**\n       * slower read but consistent with recent updates\n       * @internal\n       */\n      consistentRead?: boolean;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which to list indexes. */\n      dataCollectionId?: string;\n  }\n  interface ListIndexesResponse {\n      /** List of all indexes for the requested data collection. */\n      indexes?: Index[];\n  }\n  /**\n   * Creates an index for a data collection.\n   *\n   * The index can't be used immediately, as the process of generating the index takes time.\n   * You can check whether your index is ready using the [List Indexes](https://dev.wix.com/api/rest/wix-data/wix-data/indexes/list-indexes) endpoint.\n   *\n   * Note that when an index fails to create, the failed index still occupies a slot.\n   * To remove the failed index and free up the slot for a new index, use the Drop Index endpoint.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.index\n   * @requiredField options.index.fields\n   * @requiredField options.index.fields.path\n   * @requiredField options.index.name\n   */\n  function createIndex(options: CreateIndexOptions): Promise<CreateIndexResponse>;\n  interface CreateIndexOptions {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment on which to define the index. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n      /** Details of the index to be created. */\n      index: Index;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which to generate the index. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Removes an index from a data collection.\n   *\n   * The process of dropping an index from a collection takes time.\n   * You can check whether your index has been dropped by using the [List Indexes](https://dev.wix.com/api/rest/wix-data/wix-data/indexes/list-indexes) endpoint.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.indexName\n   */\n  function dropIndex(options: DropIndexOptions): Promise<void>;\n  interface DropIndexOptions {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment on which the index is defined. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n      /** Name of the index to drop. */\n      indexName: string;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which the index to be dropped is defined. */\n      dataCollectionId?: string;\n  }\n  /**\n   * Lists all indexes defined for a data collection.\n   *\n   * When an index's status is `ACTIVE`, it is ready to use.\n   * While it is still being created, its status is `BUILDING`.\n   *\n   * When an index's status is `DROPPED`, it has been dropped successfully.\n   * While it is still in the process of being removed, its status is `DROPPING`.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listIndexes(options?: ListIndexesOptions): Promise<ListIndexesResponse>;\n  interface ListIndexesOptions {\n      /**\n       * DEPRECATED. Use data_collection_id\n       * @internal\n       */\n      collectionName?: string;\n      /**\n       * Environment to list indexes for\n       * @internal\n       */\n      environment?: Environment;\n      /**\n       * slower read but consistent with recent updates\n       * @internal\n       */\n      consistentRead?: boolean;\n      /** ID of the [data collection](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections) for which to list indexes. */\n      dataCollectionId?: string;\n  }\n  \n  const dataV2Index_universal_d___debug: typeof __debug;\n  type dataV2Index_universal_d_Index = Index;\n  type dataV2Index_universal_d_Order = Order;\n  const dataV2Index_universal_d_Order: typeof Order;\n  type dataV2Index_universal_d_Field = Field;\n  type dataV2Index_universal_d_Status = Status;\n  const dataV2Index_universal_d_Status: typeof Status;\n  type dataV2Index_universal_d_Failure = Failure;\n  type dataV2Index_universal_d_CreateIndexRequest = CreateIndexRequest;\n  type dataV2Index_universal_d_Environment = Environment;\n  const dataV2Index_universal_d_Environment: typeof Environment;\n  type dataV2Index_universal_d_CreateIndexResponse = CreateIndexResponse;\n  type dataV2Index_universal_d_DropIndexRequest = DropIndexRequest;\n  type dataV2Index_universal_d_DropIndexResponse = DropIndexResponse;\n  type dataV2Index_universal_d_ListIndexesRequest = ListIndexesRequest;\n  type dataV2Index_universal_d_ListIndexesResponse = ListIndexesResponse;\n  const dataV2Index_universal_d_createIndex: typeof createIndex;\n  type dataV2Index_universal_d_CreateIndexOptions = CreateIndexOptions;\n  const dataV2Index_universal_d_dropIndex: typeof dropIndex;\n  type dataV2Index_universal_d_DropIndexOptions = DropIndexOptions;\n  const dataV2Index_universal_d_listIndexes: typeof listIndexes;\n  type dataV2Index_universal_d_ListIndexesOptions = ListIndexesOptions;\n  namespace dataV2Index_universal_d {\n    export {\n      dataV2Index_universal_d___debug as __debug,\n      dataV2Index_universal_d_Index as Index,\n      dataV2Index_universal_d_Order as Order,\n      dataV2Index_universal_d_Field as Field,\n      dataV2Index_universal_d_Status as Status,\n      dataV2Index_universal_d_Failure as Failure,\n      dataV2Index_universal_d_CreateIndexRequest as CreateIndexRequest,\n      dataV2Index_universal_d_Environment as Environment,\n      dataV2Index_universal_d_CreateIndexResponse as CreateIndexResponse,\n      dataV2Index_universal_d_DropIndexRequest as DropIndexRequest,\n      dataV2Index_universal_d_DropIndexResponse as DropIndexResponse,\n      dataV2Index_universal_d_ListIndexesRequest as ListIndexesRequest,\n      dataV2Index_universal_d_ListIndexesResponse as ListIndexesResponse,\n      dataV2Index_universal_d_createIndex as createIndex,\n      dataV2Index_universal_d_CreateIndexOptions as CreateIndexOptions,\n      dataV2Index_universal_d_dropIndex as dropIndex,\n      dataV2Index_universal_d_DropIndexOptions as DropIndexOptions,\n      dataV2Index_universal_d_listIndexes as listIndexes,\n      dataV2Index_universal_d_ListIndexesOptions as ListIndexesOptions,\n    };\n  }\n  \n  export { dataV2Index_universal_d as dataIndexes };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-ecom.v2.d.ts",
      "content": "declare module \"wix-ecom.v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface BackInStockNotificationRequest {\n      /**\n       * Request id (autogenerated upon creation)\n       * @readonly\n       */\n      _id?: string | null;\n      /** Item identifier */\n      catalogReference?: CatalogReference;\n      /** Email that will receive notification about item being back in stock */\n      email?: string;\n      /**\n       * Contact id (autogenerated upon creation) which is associated with given email. Will receive all notifications\n       * @readonly\n       */\n      contactId?: string | null;\n      /**\n       * Request status\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Describes how notification was made: automatically or manually by store owner\n       * @readonly\n       */\n      autoNotified?: boolean | null;\n      /**\n       * Order creation date and time.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** override default item url returned from the implementer */\n      itemUrl?: string | null;\n  }\n  /** Used for grouping line items and is sent on add to cart */\n  interface CatalogReference {\n      /** ID of the item within its Wix or 3rd-party catalog. For example, `productId` for Wix Stores or `bookingId` for Wix Bookings. */\n      catalogItemId?: string;\n      /**\n       * ID of the catalog app. For items from Wix apps, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       */\n      appId?: string;\n      /**\n       * Additional info in key:value form. For example, to specify Wix Stores product options or variants:\n       * + `{\"options\": {\"options\": {\"Size\": \"M\", \"Color\": \"Red\"}}}`\n       * + `{\"options\": {\"variantId\": \"<VARIANT_ID>\"}}`\n       */\n      options?: Record<string, any> | null;\n  }\n  enum Status {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** initial status of all new requests */\n      RECEIVED = \"RECEIVED\",\n      PROCESSING = \"PROCESSING\",\n      NOTIFICATION_SENT = \"NOTIFICATION_SENT\",\n      FAILED = \"FAILED\"\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface CreateBackInStockNotificationRequestRequest {\n      /** Notification request data (id is ignored, as it's generated by server) */\n      request: BackInStockNotificationRequest;\n      /** Item data used in email and chat notifications */\n      itemDetails: BackInStockItemDetails;\n  }\n  interface BackInStockItemDetails {\n      /** Item name */\n      name?: string;\n      /** Item price */\n      price?: string;\n      /** Item image */\n      image?: string;\n  }\n  interface CreateBackInStockNotificationRequestResponse {\n      /** Created BackInStockNotificationRequest */\n      request?: BackInStockNotificationRequest;\n  }\n  interface GetBackInStockNotificationRequestRequest {\n      /** BackInStockNotificationRequest id */\n      _id: string;\n  }\n  interface GetBackInStockNotificationRequestResponse {\n      /** Requested BackInStockNotificationRequest */\n      request?: BackInStockNotificationRequest;\n  }\n  interface DeleteBackInStockNotificationRequestRequest {\n      /** BackInStockNotificationRequest id */\n      _id: string;\n  }\n  interface DeleteBackInStockNotificationRequestResponse {\n  }\n  interface MarkAsNotificationSentRequest {\n      /** BackInStockNotificationRequest id */\n      _id: string;\n  }\n  interface MarkAsNotificationSentResponse {\n      /** Updated BackInStockNotificationRequest */\n      request?: BackInStockNotificationRequest;\n  }\n  interface QueryBackInStockNotificationRequestsRequest {\n      /** Query options */\n      query: PlatformQuery;\n  }\n  interface PlatformQuery extends PlatformQueryPagingMethodOneOf {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. For example, `[{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]`. */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf {\n      /** Pointer to page of results using offset. Cannot be used together with `cursorPaging`. */\n      paging?: PlatformPaging;\n      /** Cursor pointing to page of results. Cannot be used together with `paging`. `cursorPaging.cursor` can not be used together with `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface PlatformPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryBackInStockNotificationRequestsResponse {\n      /** Matching BackInStockNotificationRequests */\n      requests?: BackInStockNotificationRequest[];\n      /** Details on the paged set of results returned. */\n      metadata?: PlatformPagingMetadata;\n  }\n  interface PlatformPagingMetadata {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /** The offset which was requested. Returned if offset paging was used. */\n      offset?: number | null;\n      /** The total number of items that match the query. Returned if offset paging was used. */\n      total?: number | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used. */\n      cursors?: Cursors;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetBackInStockNotificationRequestsCountByCatalogReferencesRequest {\n      /** Back in stock requests to be counted identified by their CatalogReference. */\n      catalogReferences: CatalogReference[];\n  }\n  interface GetBackInStockNotificationRequestsCountByCatalogReferencesResponse {\n      /** The number of back in stock notifications for each of the catalog references requested. */\n      countsPerCatalogReference?: BackInStockNotificationRequestsCount[];\n  }\n  /** Maps each back in stock CatalogReference to the results (the number of unique occurrences). */\n  interface BackInStockNotificationRequestsCount {\n      /** Catalog and item reference. Holds IDs for the item and the catalog it came from. */\n      catalogReference?: CatalogReference;\n      /** The number of unique occurrences of back in stock requests for given CatalogReference. */\n      count?: number;\n  }\n  interface ReportItemsBackInStockRequest {\n      /**\n       * Item identifier. All BackInStockNotificationRequests for this item identifier will be processed.\n       * Cannot be used with `request_ids`.\n       */\n      catalogReference?: CatalogReference;\n      /**\n       * Identifiers of BackInStockNotificationRequest that need to be handled.\n       * Cannot be used with `catalog_reference`.\n       */\n      requestIds?: string[];\n      /**\n       * Item data used in email and chat notifications.\n       * Item details values will also be passed into automation template which is used for actual back in stock notification to User of User\n       * (item_details.price will be passed as `item.price`, item_details.name - as `item.name`, item_details.image.url as `item.image.url`\n       * In case when automation template contains only [`item.price`, `item.name`, `item.image.url`] placeholders,\n       * `extra_automation_template_parameters` may be left empty\n       * In case when automation template is defined without using [`item.price`, `item.name`, `item.image.url`] placeholders,\n       * values should be passed in `extra_automation_template_parameters`\n       */\n      itemDetails: BackInStockItemDetails;\n      /**\n       * Extra key-value pairs that will be passed to back in stock notification email template\n       * [`item.price`, `item.name`, `item.image.url`] placeholder values that are taken from item_details field may be overridden by values from this map\n       */\n      extraAutomationTemplateParameters?: Record<string, string>;\n  }\n  interface ReportItemsBackInStockResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n      /** random GUID so clients can tell if event was already handled */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       */\n      entityId?: string;\n      /** The time of the event. Useful if there was a delay in dispatching */\n      eventTime?: Date;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      extendedFieldsUpdatedEvent?: ExtendedFieldsUpdatedEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      entityUpdates?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface ExtendedFieldsUpdatedEvent {\n      currentEntityAsJson?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Create a BackInStockNotificationRequest. May not create new entry if there is existing non resolved request\n   * for same CatalogReference and email (will return existing request in response)\n   * @param request - Notification request data (id is ignored, as it's generated by server)\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.itemDetails\n   * @requiredField options.itemDetails.name\n   * @requiredField options.itemDetails.price\n   * @requiredField request\n   * @requiredField request.catalogReference\n   * @requiredField request.catalogReference.appId\n   * @requiredField request.catalogReference.catalogItemId\n   * @requiredField request.email\n   * @returns Created BackInStockNotificationRequest\n   */\n  function createBackInStockNotificationRequest(request: BackInStockNotificationRequest, options: CreateBackInStockNotificationRequestOptions): Promise<BackInStockNotificationRequest>;\n  interface CreateBackInStockNotificationRequestOptions {\n      /** Item data used in email and chat notifications */\n      itemDetails: BackInStockItemDetails;\n  }\n  /**\n   * Get BackInStockNotificationRequest by id\n   * @param _id - BackInStockNotificationRequest id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @returns Requested BackInStockNotificationRequest\n   */\n  function getBackInStockNotificationRequest(_id: string): Promise<BackInStockNotificationRequest>;\n  /**\n   * Delete BackInStockNotificationRequest by id\n   * @param _id - BackInStockNotificationRequest id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function deleteBackInStockNotificationRequest(_id: string): Promise<void>;\n  /**\n   * Update BackInStockNotificationRequest status to `NOTIFICATION_SENT`\n   * @param _id - BackInStockNotificationRequest id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   */\n  function markAsNotificationSent(_id: string): Promise<MarkAsNotificationSentResponse>;\n  /**\n   * Returns BackInStockNotificationRequests matching given search parameters\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryBackInStockNotificationRequests(): RequestsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface RequestsQueryResult extends QueryCursorResult {\n      items: BackInStockNotificationRequest[];\n      query: RequestsQueryBuilder;\n      next: () => Promise<RequestsQueryResult>;\n      prev: () => Promise<RequestsQueryResult>;\n  }\n  interface RequestsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => RequestsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => RequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<RequestsQueryResult>;\n  }\n  /**\n   * Returns the number of BackInStockNotificationRequests for a given CatalogReferences.\n   * @param catalogReferences - Back in stock requests to be counted identified by their CatalogReference.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField catalogReferences\n   */\n  function getBackInStockNotificationRequestsCountByCatalogReferences(catalogReferences: CatalogReference[]): Promise<GetBackInStockNotificationRequestsCountByCatalogReferencesResponse>;\n  /**\n   * Will handle all BackInStockNotificationRequests referencing given item (if `catalog_reference` parameter is present)\n   * Otherwise (if `request_ids` parameter present) will handle BackInStockNotificationRequests with given ids\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.itemDetails\n   * @requiredField options.itemDetails.name\n   * @requiredField options.itemDetails.price\n   */\n  function reportItemsBackInStock(options: ReportItemsBackInStockOptions): Promise<void>;\n  interface ReportItemsBackInStockOptions {\n      /**\n       * Item identifier. All BackInStockNotificationRequests for this item identifier will be processed.\n       * Cannot be used with `request_ids`.\n       */\n      catalogReference?: CatalogReference;\n      /**\n       * Identifiers of BackInStockNotificationRequest that need to be handled.\n       * Cannot be used with `catalog_reference`.\n       */\n      requestIds?: string[];\n      /**\n       * Item data used in email and chat notifications.\n       * Item details values will also be passed into automation template which is used for actual back in stock notification to User of User\n       * (item_details.price will be passed as `item.price`, item_details.name - as `item.name`, item_details.image.url as `item.image.url`\n       * In case when automation template contains only [`item.price`, `item.name`, `item.image.url`] placeholders,\n       * `extra_automation_template_parameters` may be left empty\n       * In case when automation template is defined without using [`item.price`, `item.name`, `item.image.url`] placeholders,\n       * values should be passed in `extra_automation_template_parameters`\n       */\n      itemDetails: BackInStockItemDetails;\n      /**\n       * Extra key-value pairs that will be passed to back in stock notification email template\n       * [`item.price`, `item.name`, `item.image.url`] placeholder values that are taken from item_details field may be overridden by values from this map\n       */\n      extraAutomationTemplateParameters?: Record<string, string>;\n  }\n  \n  const ecomV1BackInStockNotificationRequest_universal_d___debug: typeof __debug;\n  type ecomV1BackInStockNotificationRequest_universal_d_BackInStockNotificationRequest = BackInStockNotificationRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_CatalogReference = CatalogReference;\n  type ecomV1BackInStockNotificationRequest_universal_d_Status = Status;\n  const ecomV1BackInStockNotificationRequest_universal_d_Status: typeof Status;\n  type ecomV1BackInStockNotificationRequest_universal_d_InvalidateCache = InvalidateCache;\n  type ecomV1BackInStockNotificationRequest_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type ecomV1BackInStockNotificationRequest_universal_d_App = App;\n  type ecomV1BackInStockNotificationRequest_universal_d_Page = Page;\n  type ecomV1BackInStockNotificationRequest_universal_d_URI = URI;\n  type ecomV1BackInStockNotificationRequest_universal_d_CreateBackInStockNotificationRequestRequest = CreateBackInStockNotificationRequestRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_BackInStockItemDetails = BackInStockItemDetails;\n  type ecomV1BackInStockNotificationRequest_universal_d_CreateBackInStockNotificationRequestResponse = CreateBackInStockNotificationRequestResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestRequest = GetBackInStockNotificationRequestRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestResponse = GetBackInStockNotificationRequestResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_DeleteBackInStockNotificationRequestRequest = DeleteBackInStockNotificationRequestRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_DeleteBackInStockNotificationRequestResponse = DeleteBackInStockNotificationRequestResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_MarkAsNotificationSentRequest = MarkAsNotificationSentRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_MarkAsNotificationSentResponse = MarkAsNotificationSentResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_QueryBackInStockNotificationRequestsRequest = QueryBackInStockNotificationRequestsRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_PlatformQuery = PlatformQuery;\n  type ecomV1BackInStockNotificationRequest_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n  type ecomV1BackInStockNotificationRequest_universal_d_Sorting = Sorting;\n  type ecomV1BackInStockNotificationRequest_universal_d_SortOrder = SortOrder;\n  const ecomV1BackInStockNotificationRequest_universal_d_SortOrder: typeof SortOrder;\n  type ecomV1BackInStockNotificationRequest_universal_d_PlatformPaging = PlatformPaging;\n  type ecomV1BackInStockNotificationRequest_universal_d_CursorPaging = CursorPaging;\n  type ecomV1BackInStockNotificationRequest_universal_d_QueryBackInStockNotificationRequestsResponse = QueryBackInStockNotificationRequestsResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_PlatformPagingMetadata = PlatformPagingMetadata;\n  type ecomV1BackInStockNotificationRequest_universal_d_Cursors = Cursors;\n  type ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesRequest = GetBackInStockNotificationRequestsCountByCatalogReferencesRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesResponse = GetBackInStockNotificationRequestsCountByCatalogReferencesResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_BackInStockNotificationRequestsCount = BackInStockNotificationRequestsCount;\n  type ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockRequest = ReportItemsBackInStockRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockResponse = ReportItemsBackInStockResponse;\n  type ecomV1BackInStockNotificationRequest_universal_d_DomainEvent = DomainEvent;\n  type ecomV1BackInStockNotificationRequest_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type ecomV1BackInStockNotificationRequest_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type ecomV1BackInStockNotificationRequest_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type ecomV1BackInStockNotificationRequest_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type ecomV1BackInStockNotificationRequest_universal_d_ActionEvent = ActionEvent;\n  type ecomV1BackInStockNotificationRequest_universal_d_ExtendedFieldsUpdatedEvent = ExtendedFieldsUpdatedEvent;\n  type ecomV1BackInStockNotificationRequest_universal_d_Empty = Empty;\n  const ecomV1BackInStockNotificationRequest_universal_d_createBackInStockNotificationRequest: typeof createBackInStockNotificationRequest;\n  type ecomV1BackInStockNotificationRequest_universal_d_CreateBackInStockNotificationRequestOptions = CreateBackInStockNotificationRequestOptions;\n  const ecomV1BackInStockNotificationRequest_universal_d_getBackInStockNotificationRequest: typeof getBackInStockNotificationRequest;\n  const ecomV1BackInStockNotificationRequest_universal_d_deleteBackInStockNotificationRequest: typeof deleteBackInStockNotificationRequest;\n  const ecomV1BackInStockNotificationRequest_universal_d_markAsNotificationSent: typeof markAsNotificationSent;\n  const ecomV1BackInStockNotificationRequest_universal_d_queryBackInStockNotificationRequests: typeof queryBackInStockNotificationRequests;\n  type ecomV1BackInStockNotificationRequest_universal_d_RequestsQueryResult = RequestsQueryResult;\n  type ecomV1BackInStockNotificationRequest_universal_d_RequestsQueryBuilder = RequestsQueryBuilder;\n  const ecomV1BackInStockNotificationRequest_universal_d_getBackInStockNotificationRequestsCountByCatalogReferences: typeof getBackInStockNotificationRequestsCountByCatalogReferences;\n  const ecomV1BackInStockNotificationRequest_universal_d_reportItemsBackInStock: typeof reportItemsBackInStock;\n  type ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockOptions = ReportItemsBackInStockOptions;\n  namespace ecomV1BackInStockNotificationRequest_universal_d {\n    export {\n      ecomV1BackInStockNotificationRequest_universal_d___debug as __debug,\n      ecomV1BackInStockNotificationRequest_universal_d_BackInStockNotificationRequest as BackInStockNotificationRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_CatalogReference as CatalogReference,\n      ecomV1BackInStockNotificationRequest_universal_d_Status as Status,\n      ecomV1BackInStockNotificationRequest_universal_d_InvalidateCache as InvalidateCache,\n      ecomV1BackInStockNotificationRequest_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      ecomV1BackInStockNotificationRequest_universal_d_App as App,\n      ecomV1BackInStockNotificationRequest_universal_d_Page as Page,\n      ecomV1BackInStockNotificationRequest_universal_d_URI as URI,\n      ecomV1BackInStockNotificationRequest_universal_d_CreateBackInStockNotificationRequestRequest as CreateBackInStockNotificationRequestRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_BackInStockItemDetails as BackInStockItemDetails,\n      ecomV1BackInStockNotificationRequest_universal_d_CreateBackInStockNotificationRequestResponse as CreateBackInStockNotificationRequestResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestRequest as GetBackInStockNotificationRequestRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestResponse as GetBackInStockNotificationRequestResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_DeleteBackInStockNotificationRequestRequest as DeleteBackInStockNotificationRequestRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_DeleteBackInStockNotificationRequestResponse as DeleteBackInStockNotificationRequestResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_MarkAsNotificationSentRequest as MarkAsNotificationSentRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_MarkAsNotificationSentResponse as MarkAsNotificationSentResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_QueryBackInStockNotificationRequestsRequest as QueryBackInStockNotificationRequestsRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_PlatformQuery as PlatformQuery,\n      ecomV1BackInStockNotificationRequest_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf,\n      ecomV1BackInStockNotificationRequest_universal_d_Sorting as Sorting,\n      ecomV1BackInStockNotificationRequest_universal_d_SortOrder as SortOrder,\n      ecomV1BackInStockNotificationRequest_universal_d_PlatformPaging as PlatformPaging,\n      ecomV1BackInStockNotificationRequest_universal_d_CursorPaging as CursorPaging,\n      ecomV1BackInStockNotificationRequest_universal_d_QueryBackInStockNotificationRequestsResponse as QueryBackInStockNotificationRequestsResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_PlatformPagingMetadata as PlatformPagingMetadata,\n      ecomV1BackInStockNotificationRequest_universal_d_Cursors as Cursors,\n      ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesRequest as GetBackInStockNotificationRequestsCountByCatalogReferencesRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_GetBackInStockNotificationRequestsCountByCatalogReferencesResponse as GetBackInStockNotificationRequestsCountByCatalogReferencesResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_BackInStockNotificationRequestsCount as BackInStockNotificationRequestsCount,\n      ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockRequest as ReportItemsBackInStockRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockResponse as ReportItemsBackInStockResponse,\n      ecomV1BackInStockNotificationRequest_universal_d_DomainEvent as DomainEvent,\n      ecomV1BackInStockNotificationRequest_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      ecomV1BackInStockNotificationRequest_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      ecomV1BackInStockNotificationRequest_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      ecomV1BackInStockNotificationRequest_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      ecomV1BackInStockNotificationRequest_universal_d_ActionEvent as ActionEvent,\n      ecomV1BackInStockNotificationRequest_universal_d_ExtendedFieldsUpdatedEvent as ExtendedFieldsUpdatedEvent,\n      ecomV1BackInStockNotificationRequest_universal_d_Empty as Empty,\n      ecomV1BackInStockNotificationRequest_universal_d_createBackInStockNotificationRequest as createBackInStockNotificationRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_CreateBackInStockNotificationRequestOptions as CreateBackInStockNotificationRequestOptions,\n      ecomV1BackInStockNotificationRequest_universal_d_getBackInStockNotificationRequest as getBackInStockNotificationRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_deleteBackInStockNotificationRequest as deleteBackInStockNotificationRequest,\n      ecomV1BackInStockNotificationRequest_universal_d_markAsNotificationSent as markAsNotificationSent,\n      ecomV1BackInStockNotificationRequest_universal_d_queryBackInStockNotificationRequests as queryBackInStockNotificationRequests,\n      ecomV1BackInStockNotificationRequest_universal_d_RequestsQueryResult as RequestsQueryResult,\n      ecomV1BackInStockNotificationRequest_universal_d_RequestsQueryBuilder as RequestsQueryBuilder,\n      ecomV1BackInStockNotificationRequest_universal_d_getBackInStockNotificationRequestsCountByCatalogReferences as getBackInStockNotificationRequestsCountByCatalogReferences,\n      ecomV1BackInStockNotificationRequest_universal_d_reportItemsBackInStock as reportItemsBackInStock,\n      ecomV1BackInStockNotificationRequest_universal_d_ReportItemsBackInStockOptions as ReportItemsBackInStockOptions,\n    };\n  }\n  \n  interface CurrencyRate {\n  }\n  interface ListCurrenciesRequest {\n  }\n  interface ListCurrenciesResponse {\n      /** Supported currencies. */\n      currencies?: Currency[];\n  }\n  interface Currency {\n      /** A 3-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. */\n      code?: string;\n      /** Currency symbol. */\n      symbol?: string;\n  }\n  interface ConvertCurrencyRequest {\n      /** Amounts to convert. */\n      amounts?: DecimalValue[];\n      /** Original currency to convert from as a 3-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) code. The `from` currency code must exist in the array returned by the [`listCurrencies()`](#listcurrencies) function. */\n      from: string;\n      /** Target currency to convert to as a 3-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) code. The `to` currency code must exist in the array returned by the [`listCurrencies()`](#listcurrencies) function. */\n      to: string;\n  }\n  interface DecimalValue {\n      /** The value without decimal points. For example, the number `10.95` becomes `1095`. */\n      value?: string;\n      /** Decimal places to apply. For example, the number of decimal places for `10.95`  is `2`. */\n      decimalPlaces?: number;\n  }\n  interface ConvertCurrencyResponse {\n      /** Converted amounts. */\n      amounts?: DecimalValue[];\n      /** Date and time the conversion rate was last updated. */\n      rateTimestamp?: Date | null;\n  }\n  interface ConversionRateRequest {\n      /** Original currency to get the rate for as a 3-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) code. The `from` currency code must exist in the array returned by the [`listCurrencies()`](#listcurrencies) function. */\n      from: string;\n      /** Target currency to get the rate for as a 3-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) code. The `to` currency code must exist in the array returned by the [`listCurrencies()`](#listcurrencies) function. */\n      to: string;\n  }\n  interface ConversionRateResponse {\n      /** Conversion rate between 2 currencies. */\n      rate?: DecimalValue;\n      /** Date and time the conversion rate was last updated. */\n      rateTimestamp?: Date | null;\n  }\n  /**\n   * Returns an array of currencies. The array lists all currencies for which Wix supports conversion and their symbols.\n   * @public\n   * @permissionId CURRENCY_CONVERTER.READ_CURRENCIES\n   * @adminMethod\n   */\n  function listCurrencies(): Promise<ListCurrenciesResponse>;\n  /**\n   * Returns an array of amounts converted from the original (`from`) currency to the target (`to`) currency and the timestamp for the conversion rate used.\n   *\n   *\n   * Use the `convertCurrency()` function to convert an array of one or more amounts between two currencies. The `convertCurrency()` function returns an array of converted amounts and the timestamp for the conversion rate used.\n   *\n   * > **Note**:  The currency codes used must exist in the array of supported currencies returned by the [`listCurrencies()`](#listcurrencies) function.\n   *\n   * @param amounts - Amounts to convert.\n   * @public\n   * @requiredField amounts\n   * @requiredField identifiers\n   * @requiredField identifiers.from\n   * @requiredField identifiers.to\n   * @param identifiers - Identifying details needed to determine which currency rate to convert. The combination of the `from` and `to` properties together comprise the unique ID.\n   * @param options - Options to use when converting currency.\n   * @permissionId CURRENCY_CONVERTER.READ_CURRENCIES\n   * @adminMethod\n   */\n  function convertCurrency(identifiers: ConvertCurrencyIdentifiers, amounts: DecimalValue[]): Promise<ConvertCurrencyResponse>;\n  interface ConvertCurrencyIdentifiers {\n      /** Original currency to convert from as a 3-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) code. The `from` currency code must exist in the array returned by the [`listCurrencies()`](#listcurrencies) function. */\n      from: string;\n      /** Target currency to convert to as a 3-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) code.  The `to` currency code must exist in the array returned by the [`listCurrencies()`](#listcurrencies) function. */\n      to: string;\n  }\n  /**\n   * Returns the conversion rate between 2 currencies.\n   * @public\n   * @requiredField identifiers\n   * @requiredField identifiers.from\n   * @requiredField identifiers.to\n   * @param identifiers - Identifying details needed to get the conversion rate. The combination of the `from` and `to` properties together comprise the unique ID.\n   * @permissionId CURRENCY_CONVERTER.READ_CURRENCIES\n   * @adminMethod\n   */\n  function getConversionRate(identifiers: GetConversionRateIdentifiers): Promise<ConversionRateResponse>;\n  interface GetConversionRateIdentifiers {\n      /** Original currency to get the rate for as a 3-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) code. The `from` currency code must exist in the array returned by the [`listCurrencies()`](#listcurrencies) function. */\n      from: string;\n      /** Target currency to get the rate for as a 3-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) code. The `to` currency code must exist in the array returned by the [`listCurrencies()`](#listcurrencies) function. */\n      to: string;\n  }\n  \n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_CurrencyRate = CurrencyRate;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ListCurrenciesRequest = ListCurrenciesRequest;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ListCurrenciesResponse = ListCurrenciesResponse;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_Currency = Currency;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyRequest = ConvertCurrencyRequest;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_DecimalValue = DecimalValue;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyResponse = ConvertCurrencyResponse;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConversionRateRequest = ConversionRateRequest;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConversionRateResponse = ConversionRateResponse;\n  const ecommerceCurrencyConverterV1CurrencyRate_universal_d_listCurrencies: typeof listCurrencies;\n  const ecommerceCurrencyConverterV1CurrencyRate_universal_d_convertCurrency: typeof convertCurrency;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyIdentifiers = ConvertCurrencyIdentifiers;\n  const ecommerceCurrencyConverterV1CurrencyRate_universal_d_getConversionRate: typeof getConversionRate;\n  type ecommerceCurrencyConverterV1CurrencyRate_universal_d_GetConversionRateIdentifiers = GetConversionRateIdentifiers;\n  namespace ecommerceCurrencyConverterV1CurrencyRate_universal_d {\n    export {\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_CurrencyRate as CurrencyRate,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ListCurrenciesRequest as ListCurrenciesRequest,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ListCurrenciesResponse as ListCurrenciesResponse,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_Currency as Currency,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyRequest as ConvertCurrencyRequest,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_DecimalValue as DecimalValue,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyResponse as ConvertCurrencyResponse,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConversionRateRequest as ConversionRateRequest,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConversionRateResponse as ConversionRateResponse,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_listCurrencies as listCurrencies,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_convertCurrency as convertCurrency,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_ConvertCurrencyIdentifiers as ConvertCurrencyIdentifiers,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_getConversionRate as getConversionRate,\n      ecommerceCurrencyConverterV1CurrencyRate_universal_d_GetConversionRateIdentifiers as GetConversionRateIdentifiers,\n    };\n  }\n  \n  export { ecomV1BackInStockNotificationRequest_universal_d as backInStockNotification, ecommerceCurrencyConverterV1CurrencyRate_universal_d as currencies };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-external-database-connections.d.ts",
      "content": "declare module \"wix-data-external-database-connections\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** An external database connection defines a connection between an external database and a Wix site. */\n  interface ExternalDatabaseConnection {\n      /**\n       * Name of the external database connection.\n       * An external database connection may connect to one or more external data collections or tables.\n       * These are represented as `connectionName/dataCollectionId`.\n       */\n      name?: string;\n      /** Base URL for provisioning and managing data in the external database. For example: `https://example.com/my-external-database`. */\n      endpoint?: string;\n      /**\n       * Settings passed to the external database connection as part of each request.\n       * These settings can relate to authentication, tenancy, or provide any other information needed for processing a request.\n       * Their content and structure depend on the specific requirements of the external database's API.\n       */\n      configuration?: Record<string, any> | null;\n  }\n  interface GetExternalDatabaseConnectionRequest {\n      /** Name of the external database connection to retrieve. */\n      name: string;\n  }\n  interface GetExternalDatabaseConnectionResponse {\n      /** Details of the external database connection requested. */\n      externalDatabaseConnection?: ExternalDatabaseConnection;\n  }\n  interface ListExternalDatabaseConnectionsRequest {\n  }\n  interface ListExternalDatabaseConnectionsResponse {\n      /** List of external database connections. */\n      externalDatabaseConnections?: ExternalDatabaseConnection[];\n  }\n  interface CreateExternalDatabaseConnectionRequest {\n      /** External database connection details. */\n      externalDatabaseConnection?: ExternalDatabaseConnection;\n  }\n  interface CreateExternalDatabaseConnectionResponse {\n      /** Details of external database connection created. */\n      externalDatabaseConnection?: ExternalDatabaseConnection;\n  }\n  interface UpdateExternalDatabaseConnectionRequest {\n      /** Updated external database connection details. The existing collection is replaced with this version. */\n      externalDatabaseConnection?: ExternalDatabaseConnection;\n  }\n  interface UpdateExternalDatabaseConnectionResponse {\n      /** Updated external database connection details. */\n      externalDatabaseConnection?: ExternalDatabaseConnection;\n  }\n  interface DeleteExternalDatabaseConnectionRequest {\n      /** Name of the external database connection to delete. */\n      name: string;\n  }\n  interface DeleteExternalDatabaseConnectionResponse {\n  }\n  /**\n   * Retrieves an external database connection by name.\n   * @param name - Name of the external database connection to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField name\n   */\n  function getExternalDatabaseConnection(name: string): Promise<GetExternalDatabaseConnectionResponse>;\n  /**\n   * Retrieves a list of all external database collections associated with the site.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listExternalDatabaseConnections(): Promise<ListExternalDatabaseConnectionsResponse>;\n  /**\n   * Creates a new external database connection.\n   *\n   * The request body must include a name, base URL, and configuration details for the external database within the `externalDatabaseConnection` body parameter.\n   * If any of these are missing, the external database connection isn't created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.externalDatabaseConnection.configuration\n   * @requiredField options.externalDatabaseConnection.endpoint\n   * @requiredField options.externalDatabaseConnection.name\n   */\n  function createExternalDatabaseConnection(options?: CreateExternalDatabaseConnectionOptions): Promise<CreateExternalDatabaseConnectionResponse>;\n  interface CreateExternalDatabaseConnectionOptions {\n      /** External database connection details. */\n      externalDatabaseConnection?: ExternalDatabaseConnection;\n  }\n  /**\n   * Updates an external database connection.\n   *\n   * An external database collection name must be submitted as a path parameter.\n   * If an existing external database connection is found with the same name, that connection's details are updated.\n   * If no external database connection has that name, the request fails.\n   *\n   * > **Note:** After an external database connection is updated, it only contains the values provided in the request. All previous values are lost.\n   * @param name - Name of the external database connection.\n   * An external database connection may connect to one or more external data collections or tables.\n   * These are represented as `connectionName/dataCollectionId`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField name\n   * @requiredField options.externalDatabaseConnection.configuration\n   * @requiredField options.externalDatabaseConnection.endpoint\n   */\n  function updateExternalDatabaseConnection(name: string, options?: UpdateExternalDatabaseConnectionOptions): Promise<UpdateExternalDatabaseConnectionResponse>;\n  interface UpdateExternalDatabaseConnectionOptions {\n      externalDatabaseConnection: {\n          /** Base URL for provisioning and managing data in the external database. For example: `https://example.com/my-external-database`. */\n          endpoint?: string;\n          /**\n           * Settings passed to the external database connection as part of each request.\n           * These settings can relate to authentication, tenancy, or provide any other information needed for processing a request.\n           * Their content and structure depend on the specific requirements of the external database's API.\n           */\n          configuration?: Record<string, any> | null;\n      };\n  }\n  /**\n   * Deletes an external database connection.\n   *\n   * > **Note:** Once an external database connection is deleted, it can't be restored. To reconnect the database you need to [create a new external database connection](https://dev.wix.com/api/rest/wix-data/wix-data/external-database-connections/create-external-database-connection).\n   * @param name - Name of the external database connection to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField name\n   */\n  function deleteExternalDatabaseConnection(name: string): Promise<void>;\n  \n  const dataV1ExternalDatabaseConnection_universal_d___debug: typeof __debug;\n  type dataV1ExternalDatabaseConnection_universal_d_ExternalDatabaseConnection = ExternalDatabaseConnection;\n  type dataV1ExternalDatabaseConnection_universal_d_GetExternalDatabaseConnectionRequest = GetExternalDatabaseConnectionRequest;\n  type dataV1ExternalDatabaseConnection_universal_d_GetExternalDatabaseConnectionResponse = GetExternalDatabaseConnectionResponse;\n  type dataV1ExternalDatabaseConnection_universal_d_ListExternalDatabaseConnectionsRequest = ListExternalDatabaseConnectionsRequest;\n  type dataV1ExternalDatabaseConnection_universal_d_ListExternalDatabaseConnectionsResponse = ListExternalDatabaseConnectionsResponse;\n  type dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionRequest = CreateExternalDatabaseConnectionRequest;\n  type dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionResponse = CreateExternalDatabaseConnectionResponse;\n  type dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnectionRequest = UpdateExternalDatabaseConnectionRequest;\n  type dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnectionResponse = UpdateExternalDatabaseConnectionResponse;\n  type dataV1ExternalDatabaseConnection_universal_d_DeleteExternalDatabaseConnectionRequest = DeleteExternalDatabaseConnectionRequest;\n  type dataV1ExternalDatabaseConnection_universal_d_DeleteExternalDatabaseConnectionResponse = DeleteExternalDatabaseConnectionResponse;\n  const dataV1ExternalDatabaseConnection_universal_d_getExternalDatabaseConnection: typeof getExternalDatabaseConnection;\n  const dataV1ExternalDatabaseConnection_universal_d_listExternalDatabaseConnections: typeof listExternalDatabaseConnections;\n  const dataV1ExternalDatabaseConnection_universal_d_createExternalDatabaseConnection: typeof createExternalDatabaseConnection;\n  type dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionOptions = CreateExternalDatabaseConnectionOptions;\n  const dataV1ExternalDatabaseConnection_universal_d_updateExternalDatabaseConnection: typeof updateExternalDatabaseConnection;\n  type dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnectionOptions = UpdateExternalDatabaseConnectionOptions;\n  const dataV1ExternalDatabaseConnection_universal_d_deleteExternalDatabaseConnection: typeof deleteExternalDatabaseConnection;\n  namespace dataV1ExternalDatabaseConnection_universal_d {\n    export {\n      dataV1ExternalDatabaseConnection_universal_d___debug as __debug,\n      dataV1ExternalDatabaseConnection_universal_d_ExternalDatabaseConnection as ExternalDatabaseConnection,\n      dataV1ExternalDatabaseConnection_universal_d_GetExternalDatabaseConnectionRequest as GetExternalDatabaseConnectionRequest,\n      dataV1ExternalDatabaseConnection_universal_d_GetExternalDatabaseConnectionResponse as GetExternalDatabaseConnectionResponse,\n      dataV1ExternalDatabaseConnection_universal_d_ListExternalDatabaseConnectionsRequest as ListExternalDatabaseConnectionsRequest,\n      dataV1ExternalDatabaseConnection_universal_d_ListExternalDatabaseConnectionsResponse as ListExternalDatabaseConnectionsResponse,\n      dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionRequest as CreateExternalDatabaseConnectionRequest,\n      dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionResponse as CreateExternalDatabaseConnectionResponse,\n      dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnectionRequest as UpdateExternalDatabaseConnectionRequest,\n      dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnectionResponse as UpdateExternalDatabaseConnectionResponse,\n      dataV1ExternalDatabaseConnection_universal_d_DeleteExternalDatabaseConnectionRequest as DeleteExternalDatabaseConnectionRequest,\n      dataV1ExternalDatabaseConnection_universal_d_DeleteExternalDatabaseConnectionResponse as DeleteExternalDatabaseConnectionResponse,\n      dataV1ExternalDatabaseConnection_universal_d_getExternalDatabaseConnection as getExternalDatabaseConnection,\n      dataV1ExternalDatabaseConnection_universal_d_listExternalDatabaseConnections as listExternalDatabaseConnections,\n      dataV1ExternalDatabaseConnection_universal_d_createExternalDatabaseConnection as createExternalDatabaseConnection,\n      dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionOptions as CreateExternalDatabaseConnectionOptions,\n      dataV1ExternalDatabaseConnection_universal_d_updateExternalDatabaseConnection as updateExternalDatabaseConnection,\n      dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnectionOptions as UpdateExternalDatabaseConnectionOptions,\n      dataV1ExternalDatabaseConnection_universal_d_deleteExternalDatabaseConnection as deleteExternalDatabaseConnection,\n    };\n  }\n  \n  export { dataV1ExternalDatabaseConnection_universal_d as externalDatabaseConnections };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-auth-management.v2.d.ts",
      "content": "declare module \"wix-auth-management.v2\" {\n  /** An intermediary application that authorizes and authenticates an external client to access data on a Wix project or site. */\n  interface OAuthApp {\n      /**\n       * ID of the OAuth app.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date and time the OAuth app was created, in ISO 8601 format.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** Display name of the OAuth app, as it appears in the dashboard. */\n      name?: string | null;\n      /** Description of the OAuth app, as it appears in the dashboard. */\n      description?: string | null;\n      /**\n       * For internal use only.\n       * @readonly\n       * @deprecated\n       */\n      secret?: string | null;\n      /**\n       * List of domains to which redirection from Wix is allowed after processes other than authentication.\n       *\n       * When a client redirects a user to a Wix page (for example, for checkout), the client provides a URL to redirect the user back to.\n       * Wix only redirects the user if the URL is in one of the specified domains.\n       * @internal\n       * @deprecated List of domains to which redirection from Wix is allowed after processes other than authentication.\n       *\n       * When a client redirects a user to a Wix page (for example, for checkout), the client provides a URL to redirect the user back to.\n       * Wix only redirects the user if the URL is in one of the specified domains.\n       * @replacedBy allowed_redirect_domains\n       * @removalDate 2023-05-01\n       */\n      allowedDomains?: string[];\n      /** External login URL to which users are redirected automatically to authenticate. If no login URL is specified, the user is redirected to Wix to authenticate. */\n      loginUrl?: string | null;\n      /**\n       * List of URIs to which redirection from Wix is allowed after authentication.\n       *\n       * When a client redirects a user to Wix for authentication, the client provides a URI to redirect the user back to after the user has been authenticated.\n       * Wix only redirects the user if the exact URI is contained in this array.\n       */\n      allowedRedirectUris?: string[];\n      /**\n       * List of domains to which redirection from Wix is allowed after processes other than authentication.\n       *\n       * When a client redirects a user to a Wix page (for example, for checkout), the client provides a URL to redirect the user back to.\n       * Wix only redirects the user if the URL is in one of the specified domains.\n       */\n      allowedRedirectDomains?: string[];\n      /**\n       * Whether a secret can be generated for this OAuth app.\n       *\n       * Default: `true` until a secret has been generated for the OAuth App.\n       */\n      allowSecretGeneration?: boolean | null;\n      /** External logout URL to which we invoke when user logout at wix. If no logout URL is specified, the user is logged out only at Wix. */\n      logoutUrl?: string | null;\n      /** OAuth application type. */\n      applicationType?: OAuthAppType;\n      /** OAuth technology used by the oauth application. */\n      technology?: OAuthTechnologies;\n  }\n  /** OAuth application type. */\n  enum OAuthAppType {\n      /** OAuth app type is not specified. */\n      OAUTH_APP_TYPE_UNSPECIFIED = \"OAUTH_APP_TYPE_UNSPECIFIED\",\n      /** OAuth app type is a web application. */\n      WEB_APP = \"WEB_APP\",\n      /** OAuth app type is a mobile application. */\n      MOBILE = \"MOBILE\",\n      /** OAuth app type is some other type of application. */\n      OTHER = \"OTHER\"\n  }\n  /** OAuth technology used by the oauth application. */\n  enum OAuthTechnologies {\n      /** The OAuth technology is not specified. */\n      OAUTH_TECHNOLOGY_UNSPECIFIED = \"OAUTH_TECHNOLOGY_UNSPECIFIED\",\n      /** OAuth technology using JavaScript. */\n      JAVASCRIPT = \"JAVASCRIPT\",\n      /** OAuth technology using Angular. */\n      ANGULAR = \"ANGULAR\",\n      /** OAuth technology using Vue.js. */\n      VUE = \"VUE\",\n      /** OAuth technology using React. */\n      REACT = \"REACT\",\n      /** OAuth technology using React Native. */\n      REACT_NATIVE = \"REACT_NATIVE\",\n      /** OAuth technology using iOS. */\n      IOS = \"IOS\",\n      /** OAuth technology using Android. */\n      ANDROID = \"ANDROID\",\n      /** OAuth technology using some other kind of technology. */\n      OTHER_TECHNOLOGY = \"OTHER_TECHNOLOGY\"\n  }\n  interface CreateOAuthAppRequest {\n      /** OAuth app to create. */\n      oAuthApp: OAuthApp;\n  }\n  interface CreateOAuthAppResponse {\n      /** Created OAuth app info. */\n      oAuthApp?: OAuthApp;\n  }\n  interface GetOAuthAppRequest {\n      /** ID of the OAuth app to retrieve. */\n      oAuthAppId: string;\n  }\n  interface GetOAuthAppResponse {\n      /** Retrieved OAuth app info. */\n      oAuthApp?: OAuthApp;\n  }\n  interface UpdateOAuthAppRequest {\n      /** Updated OAuth app details. May include some or all fields. */\n      oAuthApp: OAuthApp;\n      /**\n       * Explicit list of fields to update. Only fields listed are updated.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateOAuthAppResponse {\n      /** Updated OAuth app info. */\n      oAuthApp?: OAuthApp;\n  }\n  interface DeleteOAuthAppRequest {\n      /** ID of the OAuth app to delete. */\n      oAuthAppId: string;\n  }\n  interface DeleteOAuthAppResponse {\n  }\n  interface QueryOAuthAppsRequest {\n      /** Query options. */\n      query?: PlatformQuery;\n  }\n  interface PlatformQuery extends PlatformQueryPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"name\",\"order\":\"ASC\"},{\"fieldName\":\"created_date\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface PlatformQueryPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryOAuthAppsResponse {\n      /** List of OAuth apps matching the query. */\n      oAuthApps?: OAuthApp[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GenerateOAuthAppSecretRequest {\n      /** ID of the OAuth app to generate a secret for. */\n      oAuthAppId: string;\n  }\n  interface GenerateOAuthAppSecretResponse {\n      /** Secret generated. */\n      oAuthAppSecret?: string;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /** A list of \"assets\" (applications). The same as MetaSiteContext. */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface Empty {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new OAuth app for a Wix Headless client.\n   *\n   *\n   * An OAuth app authorizes an external client app or site, on any platform, to authenticate with a Wix site or project and manage its data.\n   *\n   * > **Note:** The OAuth app secret is returned only when creating the OAuth app, and can't be retrieved later. Store the secret in a secure location.\n   * @param oAuthApp - OAuth app to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField oAuthApp\n   * @requiredField oAuthApp.name\n   * @adminMethod\n   * @returns Created OAuth app info.\n   */\n  function createOAuthApp(oAuthApp: OAuthApp): Promise<OAuthApp>;\n  /**\n   * Retrieves an OAuth app by ID.\n   * @param oAuthAppId - ID of the OAuth app to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField oAuthAppId\n   * @adminMethod\n   * @returns Retrieved OAuth app info.\n   */\n  function getOAuthApp(oAuthAppId: string): Promise<OAuthApp>;\n  /**\n   * Updates an OAuth app.\n   *\n   *\n   * Only fields provided in `mask` are updated.\n   *\n   * You can update the following fields:\n   * + `name`\n   * + `description`\n   * + `allowedDomain`\n   * + `loginUrl`\n   * + `logoutUrl`\n   * + `technology`\n   * @param _id - ID of the OAuth app.\n   * @param mask - Explicit list of fields to update. Only fields listed are updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField mask\n   * @requiredField oAuthApp\n   * @adminMethod\n   * @returns Updated OAuth app info.\n   */\n  function updateOAuthApp(_id: string | null, oAuthApp: UpdateOAuthApp, mask: string[]): Promise<OAuthApp>;\n  interface UpdateOAuthApp {\n      /**\n       * ID of the OAuth app.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date and time the OAuth app was created, in ISO 8601 format.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** Display name of the OAuth app, as it appears in the dashboard. */\n      name?: string | null;\n      /** Description of the OAuth app, as it appears in the dashboard. */\n      description?: string | null;\n      /**\n       * For internal use only.\n       * @readonly\n       * @deprecated\n       */\n      secret?: string | null;\n      /**\n       * List of domains to which redirection from Wix is allowed after processes other than authentication.\n       *\n       * When a client redirects a user to a Wix page (for example, for checkout), the client provides a URL to redirect the user back to.\n       * Wix only redirects the user if the URL is in one of the specified domains.\n       * @internal\n       * @deprecated List of domains to which redirection from Wix is allowed after processes other than authentication.\n       *\n       * When a client redirects a user to a Wix page (for example, for checkout), the client provides a URL to redirect the user back to.\n       * Wix only redirects the user if the URL is in one of the specified domains.\n       * @replacedBy allowed_redirect_domains\n       * @removalDate 2023-05-01\n       */\n      allowedDomains?: string[];\n      /** External login URL to which users are redirected automatically to authenticate. If no login URL is specified, the user is redirected to Wix to authenticate. */\n      loginUrl?: string | null;\n      /**\n       * List of URIs to which redirection from Wix is allowed after authentication.\n       *\n       * When a client redirects a user to Wix for authentication, the client provides a URI to redirect the user back to after the user has been authenticated.\n       * Wix only redirects the user if the exact URI is contained in this array.\n       */\n      allowedRedirectUris?: string[];\n      /**\n       * List of domains to which redirection from Wix is allowed after processes other than authentication.\n       *\n       * When a client redirects a user to a Wix page (for example, for checkout), the client provides a URL to redirect the user back to.\n       * Wix only redirects the user if the URL is in one of the specified domains.\n       */\n      allowedRedirectDomains?: string[];\n      /**\n       * Whether a secret can be generated for this OAuth app.\n       *\n       * Default: `true` until a secret has been generated for the OAuth App.\n       */\n      allowSecretGeneration?: boolean | null;\n      /** External logout URL to which we invoke when user logout at wix. If no logout URL is specified, the user is logged out only at Wix. */\n      logoutUrl?: string | null;\n      /** OAuth application type. */\n      applicationType?: OAuthAppType;\n      /** OAuth technology used by the oauth application. */\n      technology?: OAuthTechnologies;\n  }\n  /**\n   * Deletes an OAuth app by ID.\n   *\n   *\n   * > **Note:** After you delete an OAuth app, an external client can no longer make API calls by authenticating with its client ID.\n   * @param oAuthAppId - ID of the OAuth app to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField oAuthAppId\n   * @adminMethod\n   */\n  function deleteOAuthApp(oAuthAppId: string): Promise<void>;\n  /**\n   * Retrieves a list of OAuth apps, given the provided paging, filtering, and sorting.\n   *\n   *\n   * Query OAuth Apps runs with these defaults, which you can override:\n   * + Results are sorted by `id` in descending order.\n   * + `paging.offset` is `0`.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryOAuthApps(): OAuthAppsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface OAuthAppsQueryResult extends QueryOffsetResult {\n      items: OAuthApp[];\n      query: OAuthAppsQueryBuilder;\n      next: () => Promise<OAuthAppsQueryResult>;\n      prev: () => Promise<OAuthAppsQueryResult>;\n  }\n  interface OAuthAppsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id', value: any) => OAuthAppsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | 'name'>) => OAuthAppsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | 'name'>) => OAuthAppsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => OAuthAppsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => OAuthAppsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<OAuthAppsQueryResult>;\n  }\n  /**\n   * Generates a secret for an existing OAuth app.\n   *\n   *\n   * > **Note:** You can only generate a secret once for each OAuth app, and the secret can't be retrieved later. Store the secret securely.\n   * @param oAuthAppId - ID of the OAuth app to generate a secret for.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField oAuthAppId\n   * @adminMethod\n   */\n  function generateOAuthAppSecret(oAuthAppId: string): Promise<GenerateOAuthAppSecretResponse>;\n  \n  type headlessV1OAuthApp_universal_d_OAuthApp = OAuthApp;\n  type headlessV1OAuthApp_universal_d_OAuthAppType = OAuthAppType;\n  const headlessV1OAuthApp_universal_d_OAuthAppType: typeof OAuthAppType;\n  type headlessV1OAuthApp_universal_d_OAuthTechnologies = OAuthTechnologies;\n  const headlessV1OAuthApp_universal_d_OAuthTechnologies: typeof OAuthTechnologies;\n  type headlessV1OAuthApp_universal_d_CreateOAuthAppRequest = CreateOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_CreateOAuthAppResponse = CreateOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_GetOAuthAppRequest = GetOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_GetOAuthAppResponse = GetOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_UpdateOAuthAppRequest = UpdateOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_UpdateOAuthAppResponse = UpdateOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_DeleteOAuthAppRequest = DeleteOAuthAppRequest;\n  type headlessV1OAuthApp_universal_d_DeleteOAuthAppResponse = DeleteOAuthAppResponse;\n  type headlessV1OAuthApp_universal_d_QueryOAuthAppsRequest = QueryOAuthAppsRequest;\n  type headlessV1OAuthApp_universal_d_PlatformQuery = PlatformQuery;\n  type headlessV1OAuthApp_universal_d_PlatformQueryPagingMethodOneOf = PlatformQueryPagingMethodOneOf;\n  type headlessV1OAuthApp_universal_d_Sorting = Sorting;\n  type headlessV1OAuthApp_universal_d_SortOrder = SortOrder;\n  const headlessV1OAuthApp_universal_d_SortOrder: typeof SortOrder;\n  type headlessV1OAuthApp_universal_d_Paging = Paging;\n  type headlessV1OAuthApp_universal_d_CursorPaging = CursorPaging;\n  type headlessV1OAuthApp_universal_d_QueryOAuthAppsResponse = QueryOAuthAppsResponse;\n  type headlessV1OAuthApp_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type headlessV1OAuthApp_universal_d_Cursors = Cursors;\n  type headlessV1OAuthApp_universal_d_GenerateOAuthAppSecretRequest = GenerateOAuthAppSecretRequest;\n  type headlessV1OAuthApp_universal_d_GenerateOAuthAppSecretResponse = GenerateOAuthAppSecretResponse;\n  type headlessV1OAuthApp_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type headlessV1OAuthApp_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type headlessV1OAuthApp_universal_d_Asset = Asset;\n  type headlessV1OAuthApp_universal_d_State = State;\n  const headlessV1OAuthApp_universal_d_State: typeof State;\n  type headlessV1OAuthApp_universal_d_SiteCreated = SiteCreated;\n  type headlessV1OAuthApp_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const headlessV1OAuthApp_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type headlessV1OAuthApp_universal_d_Namespace = Namespace;\n  const headlessV1OAuthApp_universal_d_Namespace: typeof Namespace;\n  type headlessV1OAuthApp_universal_d_SiteTransferred = SiteTransferred;\n  type headlessV1OAuthApp_universal_d_SiteDeleted = SiteDeleted;\n  type headlessV1OAuthApp_universal_d_DeleteContext = DeleteContext;\n  type headlessV1OAuthApp_universal_d_DeleteStatus = DeleteStatus;\n  const headlessV1OAuthApp_universal_d_DeleteStatus: typeof DeleteStatus;\n  type headlessV1OAuthApp_universal_d_SiteUndeleted = SiteUndeleted;\n  type headlessV1OAuthApp_universal_d_SitePublished = SitePublished;\n  type headlessV1OAuthApp_universal_d_SiteUnpublished = SiteUnpublished;\n  type headlessV1OAuthApp_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type headlessV1OAuthApp_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type headlessV1OAuthApp_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type headlessV1OAuthApp_universal_d_ServiceRemoved = ServiceRemoved;\n  type headlessV1OAuthApp_universal_d_SiteRenamed = SiteRenamed;\n  type headlessV1OAuthApp_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type headlessV1OAuthApp_universal_d_NamespaceChanged = NamespaceChanged;\n  type headlessV1OAuthApp_universal_d_StudioAssigned = StudioAssigned;\n  type headlessV1OAuthApp_universal_d_StudioUnassigned = StudioUnassigned;\n  type headlessV1OAuthApp_universal_d_Empty = Empty;\n  type headlessV1OAuthApp_universal_d_DomainEvent = DomainEvent;\n  type headlessV1OAuthApp_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type headlessV1OAuthApp_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type headlessV1OAuthApp_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type headlessV1OAuthApp_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type headlessV1OAuthApp_universal_d_ActionEvent = ActionEvent;\n  type headlessV1OAuthApp_universal_d_MessageEnvelope = MessageEnvelope;\n  type headlessV1OAuthApp_universal_d_IdentificationData = IdentificationData;\n  type headlessV1OAuthApp_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type headlessV1OAuthApp_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const headlessV1OAuthApp_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const headlessV1OAuthApp_universal_d_createOAuthApp: typeof createOAuthApp;\n  const headlessV1OAuthApp_universal_d_getOAuthApp: typeof getOAuthApp;\n  const headlessV1OAuthApp_universal_d_updateOAuthApp: typeof updateOAuthApp;\n  type headlessV1OAuthApp_universal_d_UpdateOAuthApp = UpdateOAuthApp;\n  const headlessV1OAuthApp_universal_d_deleteOAuthApp: typeof deleteOAuthApp;\n  const headlessV1OAuthApp_universal_d_queryOAuthApps: typeof queryOAuthApps;\n  type headlessV1OAuthApp_universal_d_OAuthAppsQueryResult = OAuthAppsQueryResult;\n  type headlessV1OAuthApp_universal_d_OAuthAppsQueryBuilder = OAuthAppsQueryBuilder;\n  const headlessV1OAuthApp_universal_d_generateOAuthAppSecret: typeof generateOAuthAppSecret;\n  namespace headlessV1OAuthApp_universal_d {\n    export {\n      headlessV1OAuthApp_universal_d_OAuthApp as OAuthApp,\n      headlessV1OAuthApp_universal_d_OAuthAppType as OAuthAppType,\n      headlessV1OAuthApp_universal_d_OAuthTechnologies as OAuthTechnologies,\n      headlessV1OAuthApp_universal_d_CreateOAuthAppRequest as CreateOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_CreateOAuthAppResponse as CreateOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_GetOAuthAppRequest as GetOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_GetOAuthAppResponse as GetOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_UpdateOAuthAppRequest as UpdateOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_UpdateOAuthAppResponse as UpdateOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_DeleteOAuthAppRequest as DeleteOAuthAppRequest,\n      headlessV1OAuthApp_universal_d_DeleteOAuthAppResponse as DeleteOAuthAppResponse,\n      headlessV1OAuthApp_universal_d_QueryOAuthAppsRequest as QueryOAuthAppsRequest,\n      headlessV1OAuthApp_universal_d_PlatformQuery as PlatformQuery,\n      headlessV1OAuthApp_universal_d_PlatformQueryPagingMethodOneOf as PlatformQueryPagingMethodOneOf,\n      headlessV1OAuthApp_universal_d_Sorting as Sorting,\n      headlessV1OAuthApp_universal_d_SortOrder as SortOrder,\n      headlessV1OAuthApp_universal_d_Paging as Paging,\n      headlessV1OAuthApp_universal_d_CursorPaging as CursorPaging,\n      headlessV1OAuthApp_universal_d_QueryOAuthAppsResponse as QueryOAuthAppsResponse,\n      headlessV1OAuthApp_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      headlessV1OAuthApp_universal_d_Cursors as Cursors,\n      headlessV1OAuthApp_universal_d_GenerateOAuthAppSecretRequest as GenerateOAuthAppSecretRequest,\n      headlessV1OAuthApp_universal_d_GenerateOAuthAppSecretResponse as GenerateOAuthAppSecretResponse,\n      headlessV1OAuthApp_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      headlessV1OAuthApp_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      headlessV1OAuthApp_universal_d_Asset as Asset,\n      headlessV1OAuthApp_universal_d_State as State,\n      headlessV1OAuthApp_universal_d_SiteCreated as SiteCreated,\n      headlessV1OAuthApp_universal_d_SiteCreatedContext as SiteCreatedContext,\n      headlessV1OAuthApp_universal_d_Namespace as Namespace,\n      headlessV1OAuthApp_universal_d_SiteTransferred as SiteTransferred,\n      headlessV1OAuthApp_universal_d_SiteDeleted as SiteDeleted,\n      headlessV1OAuthApp_universal_d_DeleteContext as DeleteContext,\n      headlessV1OAuthApp_universal_d_DeleteStatus as DeleteStatus,\n      headlessV1OAuthApp_universal_d_SiteUndeleted as SiteUndeleted,\n      headlessV1OAuthApp_universal_d_SitePublished as SitePublished,\n      headlessV1OAuthApp_universal_d_SiteUnpublished as SiteUnpublished,\n      headlessV1OAuthApp_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      headlessV1OAuthApp_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      headlessV1OAuthApp_universal_d_ServiceProvisioned as ServiceProvisioned,\n      headlessV1OAuthApp_universal_d_ServiceRemoved as ServiceRemoved,\n      headlessV1OAuthApp_universal_d_SiteRenamed as SiteRenamed,\n      headlessV1OAuthApp_universal_d_SiteHardDeleted as SiteHardDeleted,\n      headlessV1OAuthApp_universal_d_NamespaceChanged as NamespaceChanged,\n      headlessV1OAuthApp_universal_d_StudioAssigned as StudioAssigned,\n      headlessV1OAuthApp_universal_d_StudioUnassigned as StudioUnassigned,\n      headlessV1OAuthApp_universal_d_Empty as Empty,\n      headlessV1OAuthApp_universal_d_DomainEvent as DomainEvent,\n      headlessV1OAuthApp_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      headlessV1OAuthApp_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      headlessV1OAuthApp_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      headlessV1OAuthApp_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      headlessV1OAuthApp_universal_d_ActionEvent as ActionEvent,\n      headlessV1OAuthApp_universal_d_MessageEnvelope as MessageEnvelope,\n      headlessV1OAuthApp_universal_d_IdentificationData as IdentificationData,\n      headlessV1OAuthApp_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      headlessV1OAuthApp_universal_d_WebhookIdentityType as WebhookIdentityType,\n      headlessV1OAuthApp_universal_d_createOAuthApp as createOAuthApp,\n      headlessV1OAuthApp_universal_d_getOAuthApp as getOAuthApp,\n      headlessV1OAuthApp_universal_d_updateOAuthApp as updateOAuthApp,\n      headlessV1OAuthApp_universal_d_UpdateOAuthApp as UpdateOAuthApp,\n      headlessV1OAuthApp_universal_d_deleteOAuthApp as deleteOAuthApp,\n      headlessV1OAuthApp_universal_d_queryOAuthApps as queryOAuthApps,\n      headlessV1OAuthApp_universal_d_OAuthAppsQueryResult as OAuthAppsQueryResult,\n      headlessV1OAuthApp_universal_d_OAuthAppsQueryBuilder as OAuthAppsQueryBuilder,\n      headlessV1OAuthApp_universal_d_generateOAuthAppSecret as generateOAuthAppSecret,\n    };\n  }\n  \n  export { headlessV1OAuthApp_universal_d as oAuthApps };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-items.d.ts",
      "content": "declare module \"wix-data-items\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface DataItem {\n      /** Data item ID. */\n      _id?: string;\n      /**\n       * Data item contents.\n       *\n       * Property-value pairs representing the data item's payload. When retrieving a data item, it also includes the following read-only fields:\n       *\n       * + `_id`: Item ID.\n       * + `_createdDate`: Date and time the item was added to the collection.\n       * + `_updatedDate`: Date and time the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value.\n       * + `_ownerId`: ID of the user who created the item. Can be modified with site owner permissions.\n       */\n      data?: Record<string, any> | null;\n  }\n  interface InsertDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert the item. */\n      dataCollectionId: string;\n      /** Item to insert. */\n      dataItem: DataItem;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  enum Environment {\n      LIVE = \"LIVE\",\n      SANDBOX = \"SANDBOX\"\n  }\n  interface Options {\n      /**\n       * Should hooks execution be suppressed.\n       * This option can only be used with Corvid backend\n       * code identity.\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n      /** @internal */\n      publishPluginOptions?: PublishPluginOptions;\n  }\n  interface PublishPluginOptions {\n      showDraftItems?: boolean;\n  }\n  interface InsertDataItemResponse {\n      /** Inserted data item. */\n      dataItem?: DataItem;\n  }\n  interface UpdateDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the existing item. */\n      dataCollectionId: string;\n      /** Updated data item content. The existing data item's content is replaced entirely. */\n      dataItem: DataItem;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  interface UpdateDataItemResponse {\n      /** Updated data item. */\n      dataItem?: DataItem;\n  }\n  interface SaveDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert or update the item. */\n      dataCollectionId: string;\n      /** Data item to insert or update. */\n      dataItem: DataItem;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  interface SaveDataItemResponse {\n      /**\n       * The action carried out for the item.\n       *\n       * + `INSERTED`: A new item was added to the collection.\n       * + `UPDATED`: An existing item in the collection was updated.\n       */\n      action?: Action;\n      /** Inserted or updated data item. */\n      dataItem?: DataItem;\n  }\n  enum Action {\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      INSERTED = \"INSERTED\",\n      UPDATED = \"UPDATED\"\n  }\n  interface GetDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection from which to retrieve the data item. */\n      dataCollectionId: string;\n      /** ID of the data item to retrieve. */\n      dataItemId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  interface GetDataItemResponse {\n      /** Retrieved item. */\n      dataItem?: DataItem;\n  }\n  interface RemoveDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection from which to remove the item. */\n      dataCollectionId: string;\n      /** ID of the item to remove. */\n      dataItemId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  interface RemoveDataItemResponse {\n      /** Removed item. */\n      dataItem?: DataItem;\n  }\n  interface TruncateDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection to truncate. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  interface TruncateDataItemsResponse {\n  }\n  interface QueryDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert the item. */\n      dataCollectionId: string;\n      /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */\n      query?: QueryV2;\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Properties for which to include referenced items in the query's results.\n       * Up to 50 referenced items can be included for each item that matches the query.\n       */\n      includeReferencedItems?: string[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       *\n       * Examples of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryDataItemsResponse {\n      /** Retrieved items. */\n      dataItems?: DataItem[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used, `returnTotalCount` is `true` in the request, and `tooManyToCount` is false. */\n      total?: number | null;\n      /** Whether the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AggregateDataItemsRequest extends AggregateDataItemsRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection on which to run the aggregation. */\n      dataCollectionId: string;\n      /** Filter applied to the collection's data prior to running the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */\n      initialFilter?: Record<string, any> | null;\n      /** Aggregation applied to the data. */\n      aggregation?: Aggregation;\n      /** Filter applied to the processed data following the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */\n      finalFilter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  /** @oneof */\n  interface AggregateDataItemsRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Average {\n      /** Name of the field for which to calculate the average value. */\n      itemFieldName?: string;\n  }\n  interface Min {\n      /** Name of the field for which to calculate the minimum value. */\n      itemFieldName?: string;\n  }\n  interface Max {\n      /** Name of the field for which to calculate the maximum value. */\n      itemFieldName?: string;\n  }\n  interface Sum {\n      /** Name of the field for which to calculate the sum. */\n      itemFieldName?: string;\n  }\n  interface Count {\n  }\n  interface Operation extends OperationCalculateOneOf {\n      /** Calculate the average value of a specified field for all items in the grouping. */\n      average?: Average;\n      /** Calculate the minimum value of a specified field for all items in the grouping. */\n      min?: Min;\n      /** Calculate the maximum value of a specified field for all items in the grouping. */\n      max?: Max;\n      /** Calculate the sum of values of a specified field for all items in the grouping. */\n      sum?: Sum;\n      /** Calculate the number of items in the grouping. */\n      itemCount?: Count;\n      /** Name of the field containing results of the operation. */\n      resultFieldName?: string;\n  }\n  /** @oneof */\n  interface OperationCalculateOneOf {\n      /** Calculate the average value of a specified field for all items in the grouping. */\n      average?: Average;\n      /** Calculate the minimum value of a specified field for all items in the grouping. */\n      min?: Min;\n      /** Calculate the maximum value of a specified field for all items in the grouping. */\n      max?: Max;\n      /** Calculate the sum of values of a specified field for all items in the grouping. */\n      sum?: Sum;\n      /** Calculate the number of items in the grouping. */\n      itemCount?: Count;\n  }\n  interface Aggregation {\n      /** Fields by which to group items for the aggregation. If empty, the aggregation is carried out on all items in the collection. */\n      groupingFields?: string[];\n      /** Operations to carry out on the data in each grouping. */\n      operations?: Operation[];\n  }\n  interface AggregateDataItemsResponse {\n      /** Aggregation results. */\n      results?: Record<string, any>[] | null;\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface CountDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection for which to count query results. */\n      dataCollectionId: string;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`.\n       *\n       * Examples of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  interface CountDataItemsResponse {\n      /** Number of items matching the query. */\n      totalCount?: number;\n  }\n  interface QueryDistinctValuesRequest extends QueryDistinctValuesRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection to query. */\n      dataCollectionId: string;\n      /** Item field name for which to return all distinct values. */\n      fieldName?: string;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`.\n       *\n       * Examples of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`.\n       */\n      filter?: Record<string, any> | null;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  /** @oneof */\n  interface QueryDistinctValuesRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface QueryDistinctValuesResponse {\n      /** List of distinct values contained in the field specified in `fieldName`. */\n      distinctValues?: any[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface BulkInsertDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert the items. */\n      dataCollectionId: string;\n      /** Data items to insert. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options.\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to return the inserted data items.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkInsertDataItemsResponse {\n      /** Information about the inserted items. */\n      results?: BulkDataItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDataItemResult {\n      /** The action attempted for the data item. */\n      action?: BulkActionType;\n      /** Metadata related to the data item for which the action was attempted. */\n      itemMetadata?: ItemMetadata;\n      /** The data item for which the action was attempted. Only returned if `returnEntity` is `true` in the request and the action is successful. */\n      dataItem?: DataItem;\n  }\n  enum BulkActionType {\n      UNKNOWN_ACTION_TYPE = \"UNKNOWN_ACTION_TYPE\",\n      INSERT = \"INSERT\",\n      UPDATE = \"UPDATE\",\n      DELETE = \"DELETE\"\n  }\n  interface ItemMetadata {\n      /** Item ID. This field doesn't appear if there is no item ID, for example, when item creation fails. */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n  }\n  interface BulkUpdateDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to update items. */\n      dataCollectionId: string;\n      /** Data items to update. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to return the updated data items.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkUpdateDataItemsResponse {\n      /** Information about the updated items. */\n      results?: BulkDataItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkSaveDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert or update the items. */\n      dataCollectionId: string;\n      /** Data items to insert or update. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to return the saved data item.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkSaveDataItemsResponse {\n      /** Information about the saved items. */\n      results?: BulkDataItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkRemoveDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection from which to remove the item. */\n      dataCollectionId: string;\n      /** IDs of data items to remove. */\n      dataItemIds: string[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  interface BulkRemoveDataItemsResponse {\n      /** Information about the removed data items. */\n      results?: BulkDataItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface QueryReferencedDataItemsRequest extends QueryReferencedDataItemsRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** ID of the referring item. */\n      referringItemId?: string;\n      /** Field containing references in the referring item. */\n      referringItemFieldName?: string;\n      /** Order of the returned referenced items. Sorted by the date each item was referenced. */\n      order?: SortOrder;\n      /**\n       * Whether to return the total count in the response.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  /** @oneof */\n  interface QueryReferencedDataItemsRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface QueryReferencedDataItemsResponse {\n      /** Referenced items and/or IDs. For successfully resolved references, the referenced data item is returned. For references that can't be resolved, the ID is returned. */\n      results?: ReferencedResult[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface UnresolvedReference {\n      /** ID of the referring item. */\n      referringItemId?: string;\n      /** Field specified to query for references. */\n      referringItemFieldName?: string;\n  }\n  interface ReferencedResult extends ReferencedResultEntityOneOf {\n      /** Data item referenced. */\n      dataItem?: DataItem;\n      /** Unresolved reference. Appears instead of the data item when the reference doesn't resolve, for example, when an ID isn't found or if an item is in draft state. */\n      unresolvedReference?: UnresolvedReference;\n  }\n  /** @oneof */\n  interface ReferencedResultEntityOneOf {\n      /** Data item referenced. */\n      dataItem?: DataItem;\n      /** Unresolved reference. Appears instead of the data item when the reference doesn't resolve, for example, when an ID isn't found or if an item is in draft state. */\n      unresolvedReference?: UnresolvedReference;\n  }\n  interface IsReferencedDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring data item. */\n      dataCollectionId: string;\n      /** Field to check for a reference to the item that may be referenced. */\n      referringItemFieldName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** ID of the item that may be referenced. */\n      referencedItemId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  interface IsReferencedDataItemResponse {\n      /** Whether the specified reference exists. */\n      isReferenced?: boolean;\n  }\n  interface InsertDataItemReferenceRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert the reference. */\n      dataCollectionId: string;\n      /** Reference to insert */\n      dataItemReference?: DataItemReference;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  interface DataItemReference {\n      /** Referring item field containing the references to the referenced items. */\n      referringItemFieldName?: string;\n      /** ID of the referring item. */\n      referringItemId?: string;\n      /** ID of the referenced item. */\n      referencedItemId?: string;\n  }\n  interface InsertDataItemReferenceResponse {\n      /** Inserted reference. */\n      dataItemReference?: DataItemReference;\n  }\n  interface RemoveDataItemReferenceRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** Reference to remove. */\n      dataItemReference: DataItemReference;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  interface RemoveDataItemReferenceResponse {\n      /** Removed reference. */\n      dataItemReference?: DataItemReference;\n  }\n  interface BulkInsertDataItemReferencesRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring items. */\n      dataCollectionId: string;\n      /** References to insert. */\n      dataItemReferences: DataItemReference[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to return the inserted data item references.\n       * When `true`, the `results` objects contain a `dataItemReference` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkInsertDataItemReferencesResponse {\n      /** Information about the inserted references. */\n      results?: BulkDataItemReferenceResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDataItemReferenceResult {\n      /** The action attempted for the reference. */\n      action?: BulkActionType;\n      /** Metadata related to the reference for which the action was attempted. */\n      referenceMetadata?: ItemMetadata;\n      /** The reference for which the action was attempted. Only returned if `returnEntity` is `true` in the request and the action is successful. */\n      dataItemReference?: DataItemReference;\n  }\n  interface BulkRemoveDataItemReferencesRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring items. */\n      dataCollectionId: string;\n      /** References to remove. */\n      dataItemReferences: DataItemReference[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  interface BulkRemoveDataItemReferencesResponse {\n      /** Information about the removed references. */\n      results?: BulkDataItemReferenceResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ReplaceDataItemReferencesRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** Field containing references in the referring item. */\n      referringItemFieldName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** List of new referenced item IDs to replace the existing ones. */\n      newReferencedItemIds?: string[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  interface ReplaceDataItemReferencesResponse {\n      /** Updated references. */\n      dataItemReferences?: DataItemReference[];\n  }\n  /**\n   * Adds an item to a collection.\n   *\n   *\n   * An item can only be inserted into an existing connection.\n   * You can create a new collection using the [Data Collections API](https://dev.wix.com/api/rest/wix-data/wix-data/data-collections).\n   *\n   * When an item is inserted into a collection, the item's ID is automatically assigned a random value.\n   * You can optionally provide a custom ID in `dataItem.id` when inserting the item.\n   * If you specify an ID that already exists in the collection, the insertion will fail.\n   *\n   * If `dataItem.data` is empty, a new item is created with no data fields.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItem\n   */\n  function insertDataItem(options: InsertDataItemOptions): Promise<InsertDataItemResponse>;\n  interface InsertDataItemOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert the item. */\n      dataCollectionId: string;\n      /** Item to insert. */\n      dataItem: DataItem;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  /**\n   * Updates an item in a collection.\n   *\n   *\n   * This endpoint replaces the data item's existing data with the payload provided in `dataItem.data` in the request.\n   *\n   * To update an item, you need to specify an item ID and a collection ID.\n   * If an item is found in the specified collection with the specified ID, that item is updated.\n   * If the collection doesn't contain an item with that ID, the request fails.\n   *\n   * When an item is updated, its `data._updatedDate` field is changed to the current date and time.\n   *\n   * > **Note:**\n   * > After an item is updated, it only contains the fields included in the `dataItem.data` payload in Update Data Item request.\n   * > If the existing item has fields with values and those fields aren't included in the updated item, their values are lost.\n   * @param _id - Data item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItem\n   */\n  function updateDataItem(_id: string, options: UpdateDataItemOptions): Promise<UpdateDataItemResponse>;\n  interface UpdateDataItemOptions {\n      dataItem: {\n          /** Data item ID. */\n          _id?: string;\n          /**\n           * Data item contents.\n           *\n           * Property-value pairs representing the data item's payload. When retrieving a data item, it also includes the following read-only fields:\n           *\n           * + `_id`: Item ID.\n           * + `_createdDate`: Date and time the item was added to the collection.\n           * + `_updatedDate`: Date and time the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value.\n           * + `_ownerId`: ID of the user who created the item. Can be modified with site owner permissions.\n           */\n          data?: Record<string, any> | null;\n      };\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the existing item. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  /**\n   * Inserts or updates an item in a collection.\n   *\n   *\n   * The Save Data Item endpoint inserts or updates the specified item, depending on whether it already exists in the collection.\n   *\n   * + If you don't provide an ID, a new item is created.\n   *\n   * + If you provide an ID that does not exist in the collection, a new item is created with that ID.\n   *\n   * + If an item with the ID you provide already exists in the collection, that item is updated. When an item is updated, its `data._updatedDate` field is changed to the current date and time.\n   *\n   * > **Note:** When you provide an item with an ID that already exists in the collection, the payload you provide in `dataItem.data` replaces the existing item with that ID.\n   * > This means that the item's previous fields and values are lost.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItem\n   */\n  function saveDataItem(options: SaveDataItemOptions): Promise<SaveDataItemResponse>;\n  interface SaveDataItemOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert or update the item. */\n      dataCollectionId: string;\n      /** Data item to insert or update. */\n      dataItem: DataItem;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  /**\n   * Retrieves an item from a collection.\n   * @param dataItemId - ID of the data item to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField dataItemId\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @returns Retrieved item.\n   */\n  function getDataItem(dataItemId: string, options: GetDataItemOptions): Promise<DataItem>;\n  interface GetDataItemOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection from which to retrieve the data item. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  /**\n   * Removes an item from a collection.\n   *\n   *\n   * If any items in other collections reference the removed item in reference or multi-reference fields, those fields are cleared.\n   *\n   * > **Note:**\n   * > Once an item has been removed from a collection, it can't be restored.\n   * @param dataItemId - ID of the item to remove.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField dataItemId\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   */\n  function removeDataItem(dataItemId: string, options: RemoveDataItemOptions): Promise<RemoveDataItemResponse>;\n  interface RemoveDataItemOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection from which to remove the item. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  /**\n   * Removes all items from a collection.\n   *\n   *\n   * If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared.\n   *\n   * > **Note:**\n   * > Once items have been removed from a collection, they can't be restored.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   */\n  function truncateDataItems(options: TruncateDataItemsOptions): Promise<void>;\n  interface TruncateDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection to truncate. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  /**\n   * Retrieves a list of items, on the basis of the filtering, sorting, and paging preferences you provide.\n   *\n   *\n   * For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.options\n   * @requiredField options.options.dataCollectionId\n   */\n  function queryDataItems(options: QueryDataItemsOptions): DataItemsQueryBuilder;\n  interface QueryDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment | undefined;\n      /** ID of the collection in which to insert the item. */\n      dataCollectionId: string;\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean | undefined;\n      /**\n       * Properties for which to include referenced items in the query's results.\n       * Up to 50 referenced items can be included for each item that matches the query.\n       */\n      includeReferencedItems?: string[] | undefined;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null | undefined;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options | undefined;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean | undefined;\n  }\n  interface QueryOffsetResult {\n      currentPage: number;\n      totalPages: number;\n      totalCount: number;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface DataItemsQueryResult extends QueryOffsetResult {\n      items: DataItem[];\n      query: DataItemsQueryBuilder;\n      next: () => Promise<DataItemsQueryResult>;\n      prev: () => Promise<DataItemsQueryResult>;\n  }\n  interface DataItemsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'data' | string, value: any) => DataItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'data' | string, value: any) => DataItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | string, value: string) => DataItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'data' | string, value: any[]) => DataItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'data' | string, value: any) => DataItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'data' | string, value: boolean) => DataItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'data' | string>) => DataItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'data' | string>) => DataItemsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => DataItemsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => DataItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<DataItemsQueryResult>;\n  }\n  /**\n   * Runs an aggregation on a data collection and returns the resulting list of items.\n   *\n   *\n   * An aggregation enables you to perform certain calculations on your collection data, or on groups of items that you define, to retrieve meaningful summaries.\n   * You can also add paging, filtering, and sorting preferences to your aggregation to retrieve exactly what you need.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   */\n  function aggregateDataItems(options: AggregateDataItemsOptions): Promise<AggregateDataItemsResponse>;\n  interface AggregateDataItemsOptions extends AggregateDataItemsRequestPagingMethodOneOf {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection on which to run the aggregation. */\n      dataCollectionId: string;\n      /** Filter applied to the collection's data prior to running the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */\n      initialFilter?: Record<string, any> | null;\n      /** Aggregation applied to the data. */\n      aggregation?: Aggregation;\n      /** Filter applied to the processed data following the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */\n      finalFilter?: Record<string, any> | null;\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  /**\n   * Counts the number of items in a data collection that match the provided filtering preferences.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   */\n  function countDataItems(options: CountDataItemsOptions): Promise<CountDataItemsResponse>;\n  interface CountDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection for which to count query results. */\n      dataCollectionId: string;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`.\n       *\n       * Examples of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  /**\n   * Retrieves a list of distinct values for a given field in all items that match a query, without duplicates.\n   *\n   *\n   * As with the [Query Data Items](https://dev.wix.com/api/rest/wix-data/wix-data/data-items/query-data-items) endpoint, this endpoint retrieves items based on the filtering, sorting, and paging preferences you provide.\n   * However, the Query Distinct Values endpoint doesn't return all of the full items that match the query.\n   * Rather, it returns all unique values of the field you specify in `fieldName` for items that match the query.\n   * If more than one item has the same value for that field, that value appears only once.\n   *\n   * For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   */\n  function queryDistinctValues(options: QueryDistinctValuesOptions): Promise<QueryDistinctValuesResponse>;\n  interface QueryDistinctValuesOptions extends QueryDistinctValuesRequestPagingMethodOneOf {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection to query. */\n      dataCollectionId: string;\n      /** Item field name for which to return all distinct values. */\n      fieldName?: string;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`.\n       *\n       * Examples of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`.\n       */\n      filter?: Record<string, any> | null;\n      /** Sort order. */\n      order?: SortOrder;\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  /**\n   * Adds multiple items to a collection.\n   *\n   *\n   * When each item is inserted into a collection, its ID is automatically assigned to random value.\n   * You can optionally provide your own ID when inserting the item. If you specify an ID that already exists in the collection, the insertion will fail.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItems\n   */\n  function bulkInsertDataItems(options: BulkInsertDataItemsOptions): Promise<BulkInsertDataItemsResponse>;\n  interface BulkInsertDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert the items. */\n      dataCollectionId: string;\n      /** Data items to insert. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options.\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to return the inserted data items.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Updates multiple items in a collection.\n   *\n   *\n   * This endpoint replaces each specified data item's existing data with the payload provided in the request.\n   *\n   * Each item in the request must include an ID. If an item is found in the specified collection with\n   * the same ID, that item is updated. If the collection doesn't contain an item with that ID, the update fails.\n   *\n   * When an item is updated, its `data._updatedDate` field is changed to the current date and time.\n   *\n   * > **Note:**\n   * > After each item is updated, it only contains the fields included in the request. If the existing item has fields with values and those fields\n   * > aren't included in the updated item, their values are lost.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItems\n   */\n  function bulkUpdateDataItems(options: BulkUpdateDataItemsOptions): Promise<BulkUpdateDataItemsResponse>;\n  interface BulkUpdateDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to update items. */\n      dataCollectionId: string;\n      /** Data items to update. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to return the updated data items.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Inserts or updates multiple items in a collection.\n   *\n   *\n   * The Bulk Save Data Items endpoint inserts or updates each item provided, depending on whether it already exists in the collection. For each item:\n   *\n   * + If you don't provide an ID, a new item is created.\n   *\n   * + If you provide an ID that doesn't exist in the collection, a new item is created with that ID.\n   *\n   * + If an item with the ID you provide already exists in the collection, that item is updated. When an item is updated, its `data._updatedDate` field is changed to the current date and time.\n   *\n   * > **Note:** When you provide an item with an ID that already exists in the collection, the item you provide completely replaces the existing item with that ID.\n   * > This means that all of the item's previous fields and values are lost.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItems\n   */\n  function bulkSaveDataItems(options: BulkSaveDataItemsOptions): Promise<BulkSaveDataItemsResponse>;\n  interface BulkSaveDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert or update the items. */\n      dataCollectionId: string;\n      /** Data items to insert or update. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to return the saved data item.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Removes multiple items from a collection.\n   *\n   *\n   * If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared.\n   *\n   * > **Note:** Once an item has been removed from a collection, it can't be restored.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItemIds\n   */\n  function bulkRemoveDataItems(options: BulkRemoveDataItemsOptions): Promise<BulkRemoveDataItemsResponse>;\n  interface BulkRemoveDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection from which to remove the item. */\n      dataCollectionId: string;\n      /** IDs of data items to remove. */\n      dataItemIds: string[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  /**\n   * Retrieves the full items referenced in the specified field of an item.\n   *\n   *\n   * Reference and multi-reference fields refer to items in different collections.\n   * Use this endpoint to retrieve the full details of the referenced items themselves.\n   *\n   * For example, suppose you have a **Movies** collection with an **Actors** field that contains references to items in a **People** collection.\n   * Querying the **Movies** collection using the Query Referenced Data Items endpoint returns the relevant **People** items referenced in the **Actors** field of the specified **Movie** item.\n   * This gives you information from the **People** collection about each of the actors in the specified movie.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   */\n  function queryReferencedDataItems(options: QueryReferencedDataItemsOptions): Promise<QueryReferencedDataItemsResponse>;\n  interface QueryReferencedDataItemsOptions extends QueryReferencedDataItemsRequestPagingMethodOneOf {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** ID of the referring item. */\n      referringItemId?: string;\n      /** Field containing references in the referring item. */\n      referringItemFieldName?: string;\n      /** Order of the returned referenced items. Sorted by the date each item was referenced. */\n      order?: SortOrder;\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Whether to return the total count in the response.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  /**\n   * Checks whether a field in a referring item contains a reference to a specified item.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.referencedItemId\n   * @requiredField options.referringItemFieldName\n   * @requiredField options.referringItemId\n   */\n  function isReferencedDataItem(options: IsReferencedDataItemOptions): Promise<IsReferencedDataItemResponse>;\n  interface IsReferencedDataItemOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring data item. */\n      dataCollectionId: string;\n      /** Field to check for a reference to the item that may be referenced. */\n      referringItemFieldName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** ID of the item that may be referenced. */\n      referencedItemId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n  }\n  /**\n   * Inserts a reference in the specified field in an item in a collection.\n   *\n   *\n   * A reference in the `dataItemReference` field specifies a referring item's ID, the field in which to insert the reference, and the ID of the referenced item.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItemReference.referencedItemId\n   * @requiredField options.dataItemReference.referringItemFieldName\n   * @requiredField options.dataItemReference.referringItemId\n   */\n  function insertDataItemReference(options: InsertDataItemReferenceOptions): Promise<InsertDataItemReferenceResponse>;\n  interface InsertDataItemReferenceOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection in which to insert the reference. */\n      dataCollectionId: string;\n      /** Reference to insert */\n      dataItemReference?: DataItemReference;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  /**\n   * Removes the specified reference from the specified field.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItemReference\n   * @requiredField options.dataItemReference.referencedItemId\n   * @requiredField options.dataItemReference.referringItemFieldName\n   * @requiredField options.dataItemReference.referringItemId\n   */\n  function removeDataItemReference(options: RemoveDataItemReferenceOptions): Promise<RemoveDataItemReferenceResponse>;\n  interface RemoveDataItemReferenceOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** Reference to remove. */\n      dataItemReference: DataItemReference;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  /**\n   * Inserts one or more references in the specified fields of items in a collection.\n   *\n   *\n   * This endpoint adds one or more references to a collection.\n   * Each new reference in the `dataItemReferences` field specifies a referring item's ID, the field in which to insert the reference, and the ID of the referenced item.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItemReferences\n   * @requiredField options.dataItemReferences.referencedItemId\n   * @requiredField options.dataItemReferences.referringItemFieldName\n   * @requiredField options.dataItemReferences.referringItemId\n   */\n  function bulkInsertDataItemReferences(options: BulkInsertDataItemReferencesOptions): Promise<BulkInsertDataItemReferencesResponse>;\n  interface BulkInsertDataItemReferencesOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring items. */\n      dataCollectionId: string;\n      /** References to insert. */\n      dataItemReferences: DataItemReference[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n      /**\n       * Whether to return the inserted data item references.\n       * When `true`, the `results` objects contain a `dataItemReference` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Removes one or more references.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItemReferences\n   * @requiredField options.dataItemReferences.referencedItemId\n   * @requiredField options.dataItemReferences.referringItemFieldName\n   * @requiredField options.dataItemReferences.referringItemId\n   */\n  function bulkRemoveDataItemReferences(options: BulkRemoveDataItemReferencesOptions): Promise<BulkRemoveDataItemReferencesResponse>;\n  interface BulkRemoveDataItemReferencesOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring items. */\n      dataCollectionId: string;\n      /** References to remove. */\n      dataItemReferences: DataItemReference[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  /**\n   * Replaces references in a specified field of a specified data item.\n   *\n   *\n   * This endpoint replaces the existing reference or references contained in the field specified in `referringItemFieldName` within the data item specified in `referringItemId`.\n   * The endpoint removes existing references and in their place it adds references to the items specified in `newReferencedItemIds`.\n   *\n   * > **Note:** If you pass an empty array in `newReferencedItemIds`, all existing references are removed.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.dataCollectionId\n   * @requiredField options.referringItemFieldName\n   * @requiredField options.referringItemId\n   */\n  function replaceDataItemReferences(options: ReplaceDataItemReferencesOptions): Promise<ReplaceDataItemReferencesResponse>;\n  interface ReplaceDataItemReferencesOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** Field containing references in the referring item. */\n      referringItemFieldName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** List of new referenced item IDs to replace the existing ones. */\n      newReferencedItemIds?: string[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       */\n      options?: Options;\n  }\n  \n  const dataV2DataItem_universal_d___debug: typeof __debug;\n  type dataV2DataItem_universal_d_DataItem = DataItem;\n  type dataV2DataItem_universal_d_InsertDataItemRequest = InsertDataItemRequest;\n  type dataV2DataItem_universal_d_Environment = Environment;\n  const dataV2DataItem_universal_d_Environment: typeof Environment;\n  type dataV2DataItem_universal_d_Options = Options;\n  type dataV2DataItem_universal_d_PublishPluginOptions = PublishPluginOptions;\n  type dataV2DataItem_universal_d_InsertDataItemResponse = InsertDataItemResponse;\n  type dataV2DataItem_universal_d_UpdateDataItemRequest = UpdateDataItemRequest;\n  type dataV2DataItem_universal_d_UpdateDataItemResponse = UpdateDataItemResponse;\n  type dataV2DataItem_universal_d_SaveDataItemRequest = SaveDataItemRequest;\n  type dataV2DataItem_universal_d_SaveDataItemResponse = SaveDataItemResponse;\n  type dataV2DataItem_universal_d_Action = Action;\n  const dataV2DataItem_universal_d_Action: typeof Action;\n  type dataV2DataItem_universal_d_GetDataItemRequest = GetDataItemRequest;\n  type dataV2DataItem_universal_d_GetDataItemResponse = GetDataItemResponse;\n  type dataV2DataItem_universal_d_RemoveDataItemRequest = RemoveDataItemRequest;\n  type dataV2DataItem_universal_d_RemoveDataItemResponse = RemoveDataItemResponse;\n  type dataV2DataItem_universal_d_TruncateDataItemsRequest = TruncateDataItemsRequest;\n  type dataV2DataItem_universal_d_TruncateDataItemsResponse = TruncateDataItemsResponse;\n  type dataV2DataItem_universal_d_QueryDataItemsRequest = QueryDataItemsRequest;\n  type dataV2DataItem_universal_d_QueryV2 = QueryV2;\n  type dataV2DataItem_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type dataV2DataItem_universal_d_Sorting = Sorting;\n  type dataV2DataItem_universal_d_SortOrder = SortOrder;\n  const dataV2DataItem_universal_d_SortOrder: typeof SortOrder;\n  type dataV2DataItem_universal_d_Paging = Paging;\n  type dataV2DataItem_universal_d_CursorPaging = CursorPaging;\n  type dataV2DataItem_universal_d_QueryDataItemsResponse = QueryDataItemsResponse;\n  type dataV2DataItem_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type dataV2DataItem_universal_d_Cursors = Cursors;\n  type dataV2DataItem_universal_d_AggregateDataItemsRequest = AggregateDataItemsRequest;\n  type dataV2DataItem_universal_d_AggregateDataItemsRequestPagingMethodOneOf = AggregateDataItemsRequestPagingMethodOneOf;\n  type dataV2DataItem_universal_d_Average = Average;\n  type dataV2DataItem_universal_d_Min = Min;\n  type dataV2DataItem_universal_d_Max = Max;\n  type dataV2DataItem_universal_d_Sum = Sum;\n  type dataV2DataItem_universal_d_Count = Count;\n  type dataV2DataItem_universal_d_Operation = Operation;\n  type dataV2DataItem_universal_d_OperationCalculateOneOf = OperationCalculateOneOf;\n  type dataV2DataItem_universal_d_Aggregation = Aggregation;\n  type dataV2DataItem_universal_d_AggregateDataItemsResponse = AggregateDataItemsResponse;\n  type dataV2DataItem_universal_d_CountDataItemsRequest = CountDataItemsRequest;\n  type dataV2DataItem_universal_d_CountDataItemsResponse = CountDataItemsResponse;\n  type dataV2DataItem_universal_d_QueryDistinctValuesRequest = QueryDistinctValuesRequest;\n  type dataV2DataItem_universal_d_QueryDistinctValuesRequestPagingMethodOneOf = QueryDistinctValuesRequestPagingMethodOneOf;\n  type dataV2DataItem_universal_d_QueryDistinctValuesResponse = QueryDistinctValuesResponse;\n  type dataV2DataItem_universal_d_BulkInsertDataItemsRequest = BulkInsertDataItemsRequest;\n  type dataV2DataItem_universal_d_BulkInsertDataItemsResponse = BulkInsertDataItemsResponse;\n  type dataV2DataItem_universal_d_BulkDataItemResult = BulkDataItemResult;\n  type dataV2DataItem_universal_d_BulkActionType = BulkActionType;\n  const dataV2DataItem_universal_d_BulkActionType: typeof BulkActionType;\n  type dataV2DataItem_universal_d_ItemMetadata = ItemMetadata;\n  type dataV2DataItem_universal_d_ApplicationError = ApplicationError;\n  type dataV2DataItem_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type dataV2DataItem_universal_d_BulkUpdateDataItemsRequest = BulkUpdateDataItemsRequest;\n  type dataV2DataItem_universal_d_BulkUpdateDataItemsResponse = BulkUpdateDataItemsResponse;\n  type dataV2DataItem_universal_d_BulkSaveDataItemsRequest = BulkSaveDataItemsRequest;\n  type dataV2DataItem_universal_d_BulkSaveDataItemsResponse = BulkSaveDataItemsResponse;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemsRequest = BulkRemoveDataItemsRequest;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemsResponse = BulkRemoveDataItemsResponse;\n  type dataV2DataItem_universal_d_QueryReferencedDataItemsRequest = QueryReferencedDataItemsRequest;\n  type dataV2DataItem_universal_d_QueryReferencedDataItemsRequestPagingMethodOneOf = QueryReferencedDataItemsRequestPagingMethodOneOf;\n  type dataV2DataItem_universal_d_QueryReferencedDataItemsResponse = QueryReferencedDataItemsResponse;\n  type dataV2DataItem_universal_d_UnresolvedReference = UnresolvedReference;\n  type dataV2DataItem_universal_d_ReferencedResult = ReferencedResult;\n  type dataV2DataItem_universal_d_ReferencedResultEntityOneOf = ReferencedResultEntityOneOf;\n  type dataV2DataItem_universal_d_IsReferencedDataItemRequest = IsReferencedDataItemRequest;\n  type dataV2DataItem_universal_d_IsReferencedDataItemResponse = IsReferencedDataItemResponse;\n  type dataV2DataItem_universal_d_InsertDataItemReferenceRequest = InsertDataItemReferenceRequest;\n  type dataV2DataItem_universal_d_DataItemReference = DataItemReference;\n  type dataV2DataItem_universal_d_InsertDataItemReferenceResponse = InsertDataItemReferenceResponse;\n  type dataV2DataItem_universal_d_RemoveDataItemReferenceRequest = RemoveDataItemReferenceRequest;\n  type dataV2DataItem_universal_d_RemoveDataItemReferenceResponse = RemoveDataItemReferenceResponse;\n  type dataV2DataItem_universal_d_BulkInsertDataItemReferencesRequest = BulkInsertDataItemReferencesRequest;\n  type dataV2DataItem_universal_d_BulkInsertDataItemReferencesResponse = BulkInsertDataItemReferencesResponse;\n  type dataV2DataItem_universal_d_BulkDataItemReferenceResult = BulkDataItemReferenceResult;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemReferencesRequest = BulkRemoveDataItemReferencesRequest;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemReferencesResponse = BulkRemoveDataItemReferencesResponse;\n  type dataV2DataItem_universal_d_ReplaceDataItemReferencesRequest = ReplaceDataItemReferencesRequest;\n  type dataV2DataItem_universal_d_ReplaceDataItemReferencesResponse = ReplaceDataItemReferencesResponse;\n  const dataV2DataItem_universal_d_insertDataItem: typeof insertDataItem;\n  type dataV2DataItem_universal_d_InsertDataItemOptions = InsertDataItemOptions;\n  const dataV2DataItem_universal_d_updateDataItem: typeof updateDataItem;\n  type dataV2DataItem_universal_d_UpdateDataItemOptions = UpdateDataItemOptions;\n  const dataV2DataItem_universal_d_saveDataItem: typeof saveDataItem;\n  type dataV2DataItem_universal_d_SaveDataItemOptions = SaveDataItemOptions;\n  const dataV2DataItem_universal_d_getDataItem: typeof getDataItem;\n  type dataV2DataItem_universal_d_GetDataItemOptions = GetDataItemOptions;\n  const dataV2DataItem_universal_d_removeDataItem: typeof removeDataItem;\n  type dataV2DataItem_universal_d_RemoveDataItemOptions = RemoveDataItemOptions;\n  const dataV2DataItem_universal_d_truncateDataItems: typeof truncateDataItems;\n  type dataV2DataItem_universal_d_TruncateDataItemsOptions = TruncateDataItemsOptions;\n  const dataV2DataItem_universal_d_queryDataItems: typeof queryDataItems;\n  type dataV2DataItem_universal_d_QueryDataItemsOptions = QueryDataItemsOptions;\n  type dataV2DataItem_universal_d_DataItemsQueryResult = DataItemsQueryResult;\n  type dataV2DataItem_universal_d_DataItemsQueryBuilder = DataItemsQueryBuilder;\n  const dataV2DataItem_universal_d_aggregateDataItems: typeof aggregateDataItems;\n  type dataV2DataItem_universal_d_AggregateDataItemsOptions = AggregateDataItemsOptions;\n  const dataV2DataItem_universal_d_countDataItems: typeof countDataItems;\n  type dataV2DataItem_universal_d_CountDataItemsOptions = CountDataItemsOptions;\n  const dataV2DataItem_universal_d_queryDistinctValues: typeof queryDistinctValues;\n  type dataV2DataItem_universal_d_QueryDistinctValuesOptions = QueryDistinctValuesOptions;\n  const dataV2DataItem_universal_d_bulkInsertDataItems: typeof bulkInsertDataItems;\n  type dataV2DataItem_universal_d_BulkInsertDataItemsOptions = BulkInsertDataItemsOptions;\n  const dataV2DataItem_universal_d_bulkUpdateDataItems: typeof bulkUpdateDataItems;\n  type dataV2DataItem_universal_d_BulkUpdateDataItemsOptions = BulkUpdateDataItemsOptions;\n  const dataV2DataItem_universal_d_bulkSaveDataItems: typeof bulkSaveDataItems;\n  type dataV2DataItem_universal_d_BulkSaveDataItemsOptions = BulkSaveDataItemsOptions;\n  const dataV2DataItem_universal_d_bulkRemoveDataItems: typeof bulkRemoveDataItems;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemsOptions = BulkRemoveDataItemsOptions;\n  const dataV2DataItem_universal_d_queryReferencedDataItems: typeof queryReferencedDataItems;\n  type dataV2DataItem_universal_d_QueryReferencedDataItemsOptions = QueryReferencedDataItemsOptions;\n  const dataV2DataItem_universal_d_isReferencedDataItem: typeof isReferencedDataItem;\n  type dataV2DataItem_universal_d_IsReferencedDataItemOptions = IsReferencedDataItemOptions;\n  const dataV2DataItem_universal_d_insertDataItemReference: typeof insertDataItemReference;\n  type dataV2DataItem_universal_d_InsertDataItemReferenceOptions = InsertDataItemReferenceOptions;\n  const dataV2DataItem_universal_d_removeDataItemReference: typeof removeDataItemReference;\n  type dataV2DataItem_universal_d_RemoveDataItemReferenceOptions = RemoveDataItemReferenceOptions;\n  const dataV2DataItem_universal_d_bulkInsertDataItemReferences: typeof bulkInsertDataItemReferences;\n  type dataV2DataItem_universal_d_BulkInsertDataItemReferencesOptions = BulkInsertDataItemReferencesOptions;\n  const dataV2DataItem_universal_d_bulkRemoveDataItemReferences: typeof bulkRemoveDataItemReferences;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemReferencesOptions = BulkRemoveDataItemReferencesOptions;\n  const dataV2DataItem_universal_d_replaceDataItemReferences: typeof replaceDataItemReferences;\n  type dataV2DataItem_universal_d_ReplaceDataItemReferencesOptions = ReplaceDataItemReferencesOptions;\n  namespace dataV2DataItem_universal_d {\n    export {\n      dataV2DataItem_universal_d___debug as __debug,\n      dataV2DataItem_universal_d_DataItem as DataItem,\n      dataV2DataItem_universal_d_InsertDataItemRequest as InsertDataItemRequest,\n      dataV2DataItem_universal_d_Environment as Environment,\n      dataV2DataItem_universal_d_Options as Options,\n      dataV2DataItem_universal_d_PublishPluginOptions as PublishPluginOptions,\n      dataV2DataItem_universal_d_InsertDataItemResponse as InsertDataItemResponse,\n      dataV2DataItem_universal_d_UpdateDataItemRequest as UpdateDataItemRequest,\n      dataV2DataItem_universal_d_UpdateDataItemResponse as UpdateDataItemResponse,\n      dataV2DataItem_universal_d_SaveDataItemRequest as SaveDataItemRequest,\n      dataV2DataItem_universal_d_SaveDataItemResponse as SaveDataItemResponse,\n      dataV2DataItem_universal_d_Action as Action,\n      dataV2DataItem_universal_d_GetDataItemRequest as GetDataItemRequest,\n      dataV2DataItem_universal_d_GetDataItemResponse as GetDataItemResponse,\n      dataV2DataItem_universal_d_RemoveDataItemRequest as RemoveDataItemRequest,\n      dataV2DataItem_universal_d_RemoveDataItemResponse as RemoveDataItemResponse,\n      dataV2DataItem_universal_d_TruncateDataItemsRequest as TruncateDataItemsRequest,\n      dataV2DataItem_universal_d_TruncateDataItemsResponse as TruncateDataItemsResponse,\n      dataV2DataItem_universal_d_QueryDataItemsRequest as QueryDataItemsRequest,\n      dataV2DataItem_universal_d_QueryV2 as QueryV2,\n      dataV2DataItem_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      dataV2DataItem_universal_d_Sorting as Sorting,\n      dataV2DataItem_universal_d_SortOrder as SortOrder,\n      dataV2DataItem_universal_d_Paging as Paging,\n      dataV2DataItem_universal_d_CursorPaging as CursorPaging,\n      dataV2DataItem_universal_d_QueryDataItemsResponse as QueryDataItemsResponse,\n      dataV2DataItem_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      dataV2DataItem_universal_d_Cursors as Cursors,\n      dataV2DataItem_universal_d_AggregateDataItemsRequest as AggregateDataItemsRequest,\n      dataV2DataItem_universal_d_AggregateDataItemsRequestPagingMethodOneOf as AggregateDataItemsRequestPagingMethodOneOf,\n      dataV2DataItem_universal_d_Average as Average,\n      dataV2DataItem_universal_d_Min as Min,\n      dataV2DataItem_universal_d_Max as Max,\n      dataV2DataItem_universal_d_Sum as Sum,\n      dataV2DataItem_universal_d_Count as Count,\n      dataV2DataItem_universal_d_Operation as Operation,\n      dataV2DataItem_universal_d_OperationCalculateOneOf as OperationCalculateOneOf,\n      dataV2DataItem_universal_d_Aggregation as Aggregation,\n      dataV2DataItem_universal_d_AggregateDataItemsResponse as AggregateDataItemsResponse,\n      dataV2DataItem_universal_d_CountDataItemsRequest as CountDataItemsRequest,\n      dataV2DataItem_universal_d_CountDataItemsResponse as CountDataItemsResponse,\n      dataV2DataItem_universal_d_QueryDistinctValuesRequest as QueryDistinctValuesRequest,\n      dataV2DataItem_universal_d_QueryDistinctValuesRequestPagingMethodOneOf as QueryDistinctValuesRequestPagingMethodOneOf,\n      dataV2DataItem_universal_d_QueryDistinctValuesResponse as QueryDistinctValuesResponse,\n      dataV2DataItem_universal_d_BulkInsertDataItemsRequest as BulkInsertDataItemsRequest,\n      dataV2DataItem_universal_d_BulkInsertDataItemsResponse as BulkInsertDataItemsResponse,\n      dataV2DataItem_universal_d_BulkDataItemResult as BulkDataItemResult,\n      dataV2DataItem_universal_d_BulkActionType as BulkActionType,\n      dataV2DataItem_universal_d_ItemMetadata as ItemMetadata,\n      dataV2DataItem_universal_d_ApplicationError as ApplicationError,\n      dataV2DataItem_universal_d_BulkActionMetadata as BulkActionMetadata,\n      dataV2DataItem_universal_d_BulkUpdateDataItemsRequest as BulkUpdateDataItemsRequest,\n      dataV2DataItem_universal_d_BulkUpdateDataItemsResponse as BulkUpdateDataItemsResponse,\n      dataV2DataItem_universal_d_BulkSaveDataItemsRequest as BulkSaveDataItemsRequest,\n      dataV2DataItem_universal_d_BulkSaveDataItemsResponse as BulkSaveDataItemsResponse,\n      dataV2DataItem_universal_d_BulkRemoveDataItemsRequest as BulkRemoveDataItemsRequest,\n      dataV2DataItem_universal_d_BulkRemoveDataItemsResponse as BulkRemoveDataItemsResponse,\n      dataV2DataItem_universal_d_QueryReferencedDataItemsRequest as QueryReferencedDataItemsRequest,\n      dataV2DataItem_universal_d_QueryReferencedDataItemsRequestPagingMethodOneOf as QueryReferencedDataItemsRequestPagingMethodOneOf,\n      dataV2DataItem_universal_d_QueryReferencedDataItemsResponse as QueryReferencedDataItemsResponse,\n      dataV2DataItem_universal_d_UnresolvedReference as UnresolvedReference,\n      dataV2DataItem_universal_d_ReferencedResult as ReferencedResult,\n      dataV2DataItem_universal_d_ReferencedResultEntityOneOf as ReferencedResultEntityOneOf,\n      dataV2DataItem_universal_d_IsReferencedDataItemRequest as IsReferencedDataItemRequest,\n      dataV2DataItem_universal_d_IsReferencedDataItemResponse as IsReferencedDataItemResponse,\n      dataV2DataItem_universal_d_InsertDataItemReferenceRequest as InsertDataItemReferenceRequest,\n      dataV2DataItem_universal_d_DataItemReference as DataItemReference,\n      dataV2DataItem_universal_d_InsertDataItemReferenceResponse as InsertDataItemReferenceResponse,\n      dataV2DataItem_universal_d_RemoveDataItemReferenceRequest as RemoveDataItemReferenceRequest,\n      dataV2DataItem_universal_d_RemoveDataItemReferenceResponse as RemoveDataItemReferenceResponse,\n      dataV2DataItem_universal_d_BulkInsertDataItemReferencesRequest as BulkInsertDataItemReferencesRequest,\n      dataV2DataItem_universal_d_BulkInsertDataItemReferencesResponse as BulkInsertDataItemReferencesResponse,\n      dataV2DataItem_universal_d_BulkDataItemReferenceResult as BulkDataItemReferenceResult,\n      dataV2DataItem_universal_d_BulkRemoveDataItemReferencesRequest as BulkRemoveDataItemReferencesRequest,\n      dataV2DataItem_universal_d_BulkRemoveDataItemReferencesResponse as BulkRemoveDataItemReferencesResponse,\n      dataV2DataItem_universal_d_ReplaceDataItemReferencesRequest as ReplaceDataItemReferencesRequest,\n      dataV2DataItem_universal_d_ReplaceDataItemReferencesResponse as ReplaceDataItemReferencesResponse,\n      dataV2DataItem_universal_d_insertDataItem as insertDataItem,\n      dataV2DataItem_universal_d_InsertDataItemOptions as InsertDataItemOptions,\n      dataV2DataItem_universal_d_updateDataItem as updateDataItem,\n      dataV2DataItem_universal_d_UpdateDataItemOptions as UpdateDataItemOptions,\n      dataV2DataItem_universal_d_saveDataItem as saveDataItem,\n      dataV2DataItem_universal_d_SaveDataItemOptions as SaveDataItemOptions,\n      dataV2DataItem_universal_d_getDataItem as getDataItem,\n      dataV2DataItem_universal_d_GetDataItemOptions as GetDataItemOptions,\n      dataV2DataItem_universal_d_removeDataItem as removeDataItem,\n      dataV2DataItem_universal_d_RemoveDataItemOptions as RemoveDataItemOptions,\n      dataV2DataItem_universal_d_truncateDataItems as truncateDataItems,\n      dataV2DataItem_universal_d_TruncateDataItemsOptions as TruncateDataItemsOptions,\n      dataV2DataItem_universal_d_queryDataItems as queryDataItems,\n      dataV2DataItem_universal_d_QueryDataItemsOptions as QueryDataItemsOptions,\n      dataV2DataItem_universal_d_DataItemsQueryResult as DataItemsQueryResult,\n      dataV2DataItem_universal_d_DataItemsQueryBuilder as DataItemsQueryBuilder,\n      dataV2DataItem_universal_d_aggregateDataItems as aggregateDataItems,\n      dataV2DataItem_universal_d_AggregateDataItemsOptions as AggregateDataItemsOptions,\n      dataV2DataItem_universal_d_countDataItems as countDataItems,\n      dataV2DataItem_universal_d_CountDataItemsOptions as CountDataItemsOptions,\n      dataV2DataItem_universal_d_queryDistinctValues as queryDistinctValues,\n      dataV2DataItem_universal_d_QueryDistinctValuesOptions as QueryDistinctValuesOptions,\n      dataV2DataItem_universal_d_bulkInsertDataItems as bulkInsertDataItems,\n      dataV2DataItem_universal_d_BulkInsertDataItemsOptions as BulkInsertDataItemsOptions,\n      dataV2DataItem_universal_d_bulkUpdateDataItems as bulkUpdateDataItems,\n      dataV2DataItem_universal_d_BulkUpdateDataItemsOptions as BulkUpdateDataItemsOptions,\n      dataV2DataItem_universal_d_bulkSaveDataItems as bulkSaveDataItems,\n      dataV2DataItem_universal_d_BulkSaveDataItemsOptions as BulkSaveDataItemsOptions,\n      dataV2DataItem_universal_d_bulkRemoveDataItems as bulkRemoveDataItems,\n      dataV2DataItem_universal_d_BulkRemoveDataItemsOptions as BulkRemoveDataItemsOptions,\n      dataV2DataItem_universal_d_queryReferencedDataItems as queryReferencedDataItems,\n      dataV2DataItem_universal_d_QueryReferencedDataItemsOptions as QueryReferencedDataItemsOptions,\n      dataV2DataItem_universal_d_isReferencedDataItem as isReferencedDataItem,\n      dataV2DataItem_universal_d_IsReferencedDataItemOptions as IsReferencedDataItemOptions,\n      dataV2DataItem_universal_d_insertDataItemReference as insertDataItemReference,\n      dataV2DataItem_universal_d_InsertDataItemReferenceOptions as InsertDataItemReferenceOptions,\n      dataV2DataItem_universal_d_removeDataItemReference as removeDataItemReference,\n      dataV2DataItem_universal_d_RemoveDataItemReferenceOptions as RemoveDataItemReferenceOptions,\n      dataV2DataItem_universal_d_bulkInsertDataItemReferences as bulkInsertDataItemReferences,\n      dataV2DataItem_universal_d_BulkInsertDataItemReferencesOptions as BulkInsertDataItemReferencesOptions,\n      dataV2DataItem_universal_d_bulkRemoveDataItemReferences as bulkRemoveDataItemReferences,\n      dataV2DataItem_universal_d_BulkRemoveDataItemReferencesOptions as BulkRemoveDataItemReferencesOptions,\n      dataV2DataItem_universal_d_replaceDataItemReferences as replaceDataItemReferences,\n      dataV2DataItem_universal_d_ReplaceDataItemReferencesOptions as ReplaceDataItemReferencesOptions,\n    };\n  }\n  \n  export { dataV2DataItem_universal_d as dataItems };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-automations-v1-action-provider.d.ts",
      "content": "declare module \"interfaces-automations-v1-action-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface ValidateConfigurationRequest {\n      /**\n       * Action key as defined in your app's action configuration in the app dashboard.\n       * For example, `send-email` or `generate-invoice`.\n       */\n      actionKey: string;\n      /**\n       * Stringified object representing the mapping a site contributor made between keys in the input schema and their expected\n       * values when running the automation. A field can be a static value mapping, or an expression that will be evaluated\n       * dynamically on each activation.\n       */\n      inputMapping: string;\n  }\n  interface ValidateConfigurationResponse {\n      /** Whether the action configuration is valid. */\n      valid?: boolean;\n      /** Error details for an invalid action configuration. These are the errors displayed to the user. */\n      configurationErrors?: ProviderConfigurationError[];\n  }\n  interface ProviderConfigurationError {\n      /** Key corresponding to the field in the schema. */\n      fieldKey?: string | null;\n      /** Error message. */\n      message?: string;\n      /** Label for a call-to-action button that's displayed with the error. Translated according to the SPI language context. */\n      ctaLabel?: string | null;\n      /** URL to redirect to when the call-to-action button is clicked. */\n      ctaUrl?: string | null;\n      /** Title for the error. */\n      title?: string;\n  }\n  interface DuplicateInputMappingRequest {\n      /** Identifier for this action - human-readable action key - unique per app def ID */\n      actionKey: string;\n      /** Action input mapping to duplicate */\n      inputMapping: string;\n  }\n  interface DuplicateInputMappingResponse {\n      /** Duplicated action input mapping */\n      inputMapping?: string;\n  }\n  interface GenerateApplicationAutomationInputMappingRequest {\n      /** Identifier for this action - human-readable action key - unique per app def ID */\n      actionKey: string;\n      /** Action input mapping to generate from */\n      inputMapping: string;\n  }\n  interface GenerateApplicationAutomationInputMappingResponse {\n      /** Generated action input mapping */\n      inputMapping?: string;\n  }\n  interface GetQuotaInfoRequest {\n      /**\n       * Action key as defined in your app's action configuration in the app dashboard.\n       * For example, `send-email` or `generate-invoice`.\n       */\n      actionKey: string;\n  }\n  interface GetQuotaInfoResponse {\n      /** Details about the quotas for your action. */\n      actionQuotaInfo?: ActionQuotaInfo;\n  }\n  interface ActionQuotaInfo {\n      /**\n       * Whether the quotas for your action are enforced. If you mark this as `true` in the response body,\n       * Wix displays the information in the quota object on the site dashboard. If you mark this as `false` for\n       * a user, Wix does not display any quota info on the site dashboard for your service.\n       */\n      enforced?: boolean;\n      /**\n       * The plans your service provides, together with the quotas enforced by each plan. A site may be enrolled\n       * in multiple plans. Plans and quotas can be related as follows:\n       *\n       * + A single plan has a single quota.\n       * + A single plan has multiple quotas.\n       * + Multiple plans are associated with multiple quotas.\n       *\n       * Plans and quotas that are related should be grouped together in a single `quotaInfo`\n       * object.\n       */\n      quotaInfo?: QuotaInfo[];\n  }\n  interface QuotaInfo {\n      /** List of plans associated with the site making the request. */\n      plans?: Plan[];\n      /** List of quotas associated with the plans the site is enrolled in. */\n      quotas?: Quota[];\n      /**\n       * Details for an upgrade call-to-action button.\n       * Displayed in the site contributor’s dashboard together with the quota details.\n       */\n      upgradeCta?: UpgradeCTA;\n  }\n  interface Plan {\n      /** Plan ID defined by the action provider. */\n      _id?: string;\n      /** Plan name to display in the site contributor’s dashboard. */\n      name?: string;\n      /**\n       * optional - the plan group id\n       * @internal\n       */\n      groupId?: string | null;\n  }\n  interface Quota {\n      /** Name of the feature the quota is related to. For example, \"Messages sent\". */\n      featureName?: string;\n      /**\n       * Quota renewal date in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n       * For example, 10 July 2020 at 15:00 is written as `2020-07-10 15:00:00.000`.\n       */\n      renewalDate?: Date | null;\n      /** The user's current quota usage. */\n      currentUsage?: string;\n      /** Quota limit data. */\n      limit?: string | null;\n      /** Additional information about the quota. Displayed as a tooltip in the site contributor’s dashboard. */\n      additionalInfo?: AdditionalInfo;\n  }\n  interface CTA {\n      /** Call-to-action redirect URL. */\n      url?: string;\n      /** Call-to-action label. */\n      label?: string;\n  }\n  interface AdditionalInfo {\n      /** Tooltip content. */\n      description?: string;\n      /** Details for an options call-to-action link that appears in the tooltip. */\n      cta?: CTA;\n  }\n  interface UpgradeCTA {\n      /** CTA button redirect URL. */\n      url?: string;\n      /** CTA button label. */\n      label?: string;\n      /**\n       * optional - id of the related plan\n       * @internal\n       */\n      planId?: string | null;\n  }\n  interface GetDynamicInputSchemaRequest {\n      /**\n       * Action key as defined in your app's action configuration in the app dashboard.\n       * For example, `send-email` or `generate-invoice`.\n       */\n      actionKey: string;\n      /**\n       * Object representing the mapping a site contributor made between keys in the [input schema](https://dev.wix.com/docs/rest/api-reference/wix-automations/action-spi/about-the-action-spi-input-schema) and their expected\n       * values when running the automation. A field can be a static value mapping, or an expression that will be evaluated\n       * dynamically on each activation.\n       */\n      inputMapping: Record<string, any> | null;\n  }\n  interface GetDynamicInputSchemaResponse {\n      /** A [JSON schema](https://json-schema.org/) containing the action's added dynamic fields and its static fields. */\n      inputSchema?: Record<string, any> | null;\n      /** A [UI schema](https://bo.wix.com/pages/automations-ui-lib/?path=/story/getting-started--about) is a JSON Schema that describes the UI of the static and dynamic fields. */\n      uiSchema?: Record<string, any> | null;\n  }\n  interface GetDynamicOutputSchemaRequest {\n      /**\n       * Action key as defined in your app's action configuration in the app dashboard.\n       * For example, `send-email` or `generate-invoice`.\n       */\n      actionKey: string;\n      /** list of actions details which will be used to generate the output schema */\n      actionsInputMappings: ActionInputMapping[];\n  }\n  interface ActionInputMapping {\n      /** action identifier in the automation */\n      actionId?: string;\n      /**\n       * Objects representing mapping a site contributor made between keys in the [input schema](https://dev.wix.com/docs/rest/api-reference/wix-automations/action-spi/about-the-action-spi-input-schema) and their expected\n       * values when configuring the automation.\n       */\n      inputMapping?: Record<string, any> | null;\n  }\n  interface GetDynamicOutputSchemaResponse {\n      /** list of action's output schemas */\n      actionOutputSchemas?: ActionOutputSchema[];\n  }\n  interface ActionOutputSchema {\n      /** action identifier in the automation */\n      actionId?: string;\n      /** A [JSON schema](https://json-schema.org/) containing the action's output schema. */\n      outputSchema?: Record<string, any> | null;\n  }\n  interface InvokeRequest {\n      /**\n       * Data for executing your action.\n       * Structured according to the [input schema](https://dev.wix.com/docs/rest/api-reference/wix-automations/action-provider-v1/about-the-action-spi-input-schema)\n       * you provided when configuring the action in your app's dashboard.\n       */\n      actionParams: Record<string, any> | null;\n      /**\n       * Identifier == activationId#actionId\n       * @internal\n       */\n      executionIdentifier: string;\n      /**\n       * Action key as defined in your app's action configuration in the app dashboard.\n       * For example, `send-email` or `generate-invoice`.\n       */\n      actionKey: string;\n      /**\n       * Activation Context\n       * @internal\n       */\n      activationContext?: ActivationContext;\n  }\n  interface ActivationContext {\n      activationId?: string | null;\n      esbConfigurationId?: string | null;\n      triggerKey?: string | null;\n      triggerAppId?: string | null;\n      actionId?: string | null;\n      payload?: Record<string, any> | null;\n      actionAppId?: string | null;\n  }\n  interface InvokeResponse {\n      /**\n       * If the action has no output schema, return an empty object.\n       * If the action defines an output schema, return a JSON object that correlates to the output schema.\n       */\n      result?: Record<string, any> | null;\n  }\n  interface ResetActionRequest {\n      /** Identifier for this action - human-readable action key - unique per app def ID */\n      actionKey: string;\n      /** Action input mapping to reset */\n      inputMapping: string;\n  }\n  interface ResetActionResponse {\n  }\n  interface OnRemoveActionRequest {\n      /** Identifier for this action - human-readable action key - unique per app def ID */\n      actionKey: string;\n      /** Action input mappings to remove */\n      inputMappings: Record<string, any>[] | null;\n  }\n  interface OnRemoveActionResponse {\n  }\n  interface OnBeforeSaveRequest {\n      /** Identifier for this action - human readable action key - unique per app def id */\n      actionKey: string;\n      /** list of action input mappings */\n      inputMappings: string[];\n  }\n  interface OnBeforeSaveResponse {\n  }\n  interface GenerateActionInputMappingFromTemplateRequest {\n      /** action input mapping template the action spi provider will generate input mapping from */\n      actionInputMappingTemplate: Record<string, any> | null;\n  }\n  interface GenerateActionInputMappingFromTemplateResponse {\n      /** generated action input mapping spi provider returns */\n      generatedActionInputMapping?: Record<string, any> | null;\n  }\n  interface MergeInputMappingsRequest {\n      /** relevant actionKey */\n      actionKey: string;\n      /**\n       * list of input mappings to merge per action in the automation\n       * if the same type of AppDefined action exists multiple times in the automation, all instances of input mapping would be passed\n       */\n      inputMappingsToMerge: InputMappingToMerge[];\n  }\n  interface InputMappingToMerge {\n      /** action identifier in the automation */\n      actionId?: string;\n      /** the input mapping of the source automation to be merged into the target automation */\n      sourceInputMapping?: Record<string, any> | null;\n      /** input mapping of the target automation that the source automation would be merge into */\n      targetInputMapping?: Record<string, any> | null;\n  }\n  interface MergeInputMappingsResponse {\n      /** list of merged input mappings */\n      mergedInputMappings?: MergedInputMapping[];\n  }\n  interface MergedInputMapping {\n      /** action identifier in the automation */\n      actionId?: string;\n      /** merged input mapping */\n      inputMapping?: Record<string, any> | null;\n  }\n  interface ActionProviderSPIConfig {\n      /** Action service plugin configuration */\n      actionConfig?: ActionSPIConfig;\n  }\n  interface ActionSPIConfig {\n      /** Identifier for this action - human-readable action key - unique per app def ID */\n      actionKey?: string;\n      /**\n       * The action expects the following input\n       * The schema is described according to the JSON Schema standard: https://json-schema.org/\n       *\n       * Example - Add Label to Contact Action input schema:\n       * {\n       * \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n       * \"type\": \"object\",\n       * \"title\": \"Add label to contact input schema\",\n       * \"description\": \"The schema of the JSON that is sent when invoking this add label to contact action\",\n       * \"default\": {},\n       * \"examples\": [\n       * {\n       * \"contactId\": \"a647eb32-c5f4-11ec-9d64-0242ac120002\",\n       * \"labelId\": \"1e8b5e5e-dba2-11ec-9d64-0242ac120002\"\n       * }\n       * ],\n       * \"required\": [\n       * \"contactId\",\n       * \"labelId\"\n       * ],\n       * \"properties\": {\n       * \"contactId\": {\n       * \"$id\": \"#/properties/contactId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Contact Id\",\n       * \"description\": \"The ID of the contact to apply the label to\",\n       * \"default\": \"\",\n       * \"identityType\": \"contact\" // can be contact/visitor/user, limited to 1 type per identity.\n       * },\n       * \"labelId\": {\n       * \"$id\": \"#/properties/labelId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Label Id\",\n       * \"description\": \"The ID of the label to apply\",\n       * \"default\": \"\",\n       * }\n       * }\n       * }\n       */\n      inputSchema?: Record<string, any> | null;\n      /**\n       * The output of the action, which will be added to the payload after execution.\n       * The schema is described according to the JSON Schema standard: https://json-schema.org/\n       *\n       * Example - Output of create task action\n       * {\n       * \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n       * \"type\": \"object\",\n       * \"title\": \"Create task action schema\",\n       * \"description\": \"The schema of the JSON that is sent when invoking this create task action\",\n       * \"default\": {},\n       * \"examples\": [\n       * {\n       * \"taskId\": \"a647eb32-c5f4-11ec-9d64-0242ac120002\",\n       * }\n       * ],\n       * \"required\": [\n       * \"taskId\"\n       * ],\n       * \"properties\": {\n       * \"taskId\": {\n       * \"$id\": \"#/properties/taskId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Contact Id\",\n       * \"description\": \"The ID of the task created\",\n       * \"default\": \"\",\n       * }\n       * }\n       * }\n       */\n      outputSchema?: Record<string, any> | null;\n      /** Actions display name - human-readable field. Ex. - \"Send SMS\" */\n      displayName?: string | null;\n      description?: string | null;\n      /** Specifies which optional methods were implemented */\n      implementedMethods?: ImplementedMethods;\n      /**\n       * Indicates whether we should wait for the action to complete before executing the next actions or finish and\n       * expect a callback in the `actionCompleted` method.\n       */\n      executionType?: ExecutionType;\n      /** @internal */\n      metadata?: Metadata;\n      /** Chosen interface for action. */\n      interfaceConfiguration?: InterfaceConfiguration;\n      /** Icon representing the action in the UI */\n      icon?: string;\n      /** The action configuration source information */\n      source?: Source;\n  }\n  enum Type {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      WIDGET_COMPONENT = \"WIDGET_COMPONENT\",\n      GENERIC = \"GENERIC\"\n  }\n  interface WidgetComponentOptions {\n      /** Name of provided component */\n      componentName?: string;\n  }\n  interface GenericOptions {\n      /** UI schema */\n      uiSchema?: Record<string, any> | null;\n  }\n  enum SourceType {\n      UNKNOWN_SOURCE_TYPE = \"UNKNOWN_SOURCE_TYPE\",\n      /** The input/output schemas are constructed by developers in Dev Center using the self-service flow */\n      DEV_CENTER = \"DEV_CENTER\",\n      /** The input/output schemas are derived from an existing Wix API through the API-to-Action feature */\n      WIX_API = \"WIX_API\"\n  }\n  interface WixApiOptions {\n      /** Service entity fqdn */\n      serviceEntityFqdn?: string;\n      /** The service providing the API */\n      serviceName?: string;\n      /** The method name */\n      methodName?: string;\n  }\n  interface ImplementedMethods {\n      /** Implements ValidateConfiguration */\n      validateConfiguration?: boolean;\n      /** Implements DuplicateInputMapping */\n      duplicateInputMapping?: boolean;\n      /** Implements GenerateApplicationAutomationInputMapping */\n      generateApplicationAutomationInputMapping?: boolean;\n      /** Implements GetQuotaInfo */\n      getQuotaInfo?: boolean;\n      /** Implements OnBeforeSave */\n      onBeforeSave?: boolean;\n      /** Implements OnReset */\n      onReset?: boolean;\n      /** implements generateActionInputMappingFromTemplate */\n      generateActionInputMappingFromTemplate?: boolean;\n      /** implements OnRemove */\n      onRemove?: boolean;\n      /** Implements GetDynamicInputSchema */\n      getDynamicInputSchema?: boolean;\n      /** Implements MergeInputMappings */\n      mergeInputMappings?: boolean;\n      /** Implements GetDynamicOutputSchema */\n      getDynamicOutputSchema?: boolean;\n  }\n  enum ExecutionType {\n      UNKNOWN_EXECUTION_TYPE = \"UNKNOWN_EXECUTION_TYPE\",\n      SYNC = \"SYNC\",\n      ASYNC = \"ASYNC\"\n  }\n  interface Metadata {\n      /** Show action only to advanced mode users (Wix staff) */\n      hidden?: boolean;\n  }\n  interface InterfaceConfiguration extends InterfaceConfigurationOptionsOneOf {\n      widgetComponentOptions?: WidgetComponentOptions;\n      genericOptions?: GenericOptions;\n      /** Type of chosen interface. */\n      type?: Type;\n  }\n  /** @oneof */\n  interface InterfaceConfigurationOptionsOneOf {\n      widgetComponentOptions?: WidgetComponentOptions;\n      genericOptions?: GenericOptions;\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface Source extends SourceOptionsOneOf {\n      /** Wix API options */\n      wixApiOptions?: WixApiOptions;\n      /** the source type */\n      type?: SourceType;\n  }\n  /** @oneof */\n  interface SourceOptionsOneOf {\n      /** Wix API options */\n      wixApiOptions?: WixApiOptions;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ValidateConfigurationOptions {\n      /**\n       * Action key as defined in your app's action configuration in the app dashboard.\n       * For example, `send-email` or `generate-invoice`.\n       */\n      actionKey: string;\n      /**\n       * Stringified object representing the mapping a site contributor made between keys in the input schema and their expected\n       * values when running the automation. A field can be a static value mapping, or an expression that will be evaluated\n       * dynamically on each activation.\n       */\n      inputMapping: string;\n  }\n  interface GetQuotaInfoOptions {\n      /**\n       * Action key as defined in your app's action configuration in the app dashboard.\n       * For example, `send-email` or `generate-invoice`.\n       */\n      actionKey: string;\n  }\n  interface InvokeOptions {\n      /**\n       * Data for executing your action.\n       * Structured according to the [input schema](https://dev.wix.com/docs/rest/api-reference/wix-automations/action-provider-v1/about-the-action-spi-input-schema)\n       * you provided when configuring the action in your app's dashboard.\n       */\n      actionParams: Record<string, any> | null;\n      /**\n       * Identifier == activationId#actionId\n       * @internal\n       */\n      executionIdentifier: string;\n      /**\n       * Action key as defined in your app's action configuration in the app dashboard.\n       * For example, `send-email` or `generate-invoice`.\n       */\n      actionKey: string;\n      /**\n       * Activation Context\n       * @internal\n       */\n      activationContext?: ActivationContext;\n  }\n  \n  export { ActionInputMapping, ActionOutputSchema, ActionProviderSPIConfig, ActionQuotaInfo, ActionSPIConfig, ActivationContext, AdditionalInfo, BusinessError, CTA, Context, DuplicateInputMappingRequest, DuplicateInputMappingResponse, ExecutionType, FocalPoint, GenerateActionInputMappingFromTemplateRequest, GenerateActionInputMappingFromTemplateResponse, GenerateApplicationAutomationInputMappingRequest, GenerateApplicationAutomationInputMappingResponse, GenericOptions, GetDynamicInputSchemaRequest, GetDynamicInputSchemaResponse, GetDynamicOutputSchemaRequest, GetDynamicOutputSchemaResponse, GetQuotaInfoOptions, GetQuotaInfoRequest, GetQuotaInfoResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, ImplementedMethods, InputMappingToMerge, InterfaceConfiguration, InterfaceConfigurationOptionsOneOf, InvokeOptions, InvokeRequest, InvokeResponse, MergeInputMappingsRequest, MergeInputMappingsResponse, MergedInputMapping, Metadata, OnBeforeSaveRequest, OnBeforeSaveResponse, OnRemoveActionRequest, OnRemoveActionResponse, Plan, ProviderConfigurationError, Quota, QuotaInfo, ResetActionRequest, ResetActionResponse, Source, SourceOptionsOneOf, SourceType, Type, UpgradeCTA, ValidateConfigurationOptions, ValidateConfigurationRequest, ValidateConfigurationResponse, WidgetComponentOptions, WixApiOptions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-premium-v1-custom-charges-provider.d.ts",
      "content": "declare module \"interfaces-premium-v1-custom-charges-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetChargeLimitRequest {\n      /**\n       * ID of the subscription for which Wix retrieves the charge limit. Equals\n       * `null` in case Wix hasn't created the subscription when retrieving an\n       * initial charge limit. To track usage and billing for apps, we recommend to\n       * use `instanceId` instead of the `subscriptionId`.\n       */\n      subscriptionId?: string | null;\n      /**\n       * Supported values: `AUD`, `BRL`, `CAD`, `EUR`, `GBP`, `ILS`, `INR`, `JPY`, `MXN`, `PLN`, `RUB`, `TRY`, `USD`.\n       *\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format of the charge limit. Wix may add supported currencies in the future.\n       */\n      currency?: string;\n  }\n  interface GetChargeLimitResponse {\n      /**\n       * Retrieved charge limit for the app instance. You can't update the\n       * charge limit after you've set an initial value. Site owners can increase the\n       * limit in their site's dashboard, currently they aren't allowed to decrease it.\n       */\n      chargeLimit?: string | null;\n  }\n  interface ListChargesRequest {\n      /**\n       * ID of the subscription for which Wix retrieves your custom charges.\n       * To track usage and billing for apps, we recommend to use `instanceId` instead\n       * of the `subscriptionId`.\n       */\n      subscriptionId?: string;\n      /**\n       * Supported values: `AUD`, `BRL`, `CAD`, `EUR`, `GBP`, `ILS`, `INR`, `JPY`, `MXN`, `PLN`, `RUB`, `TRY`, `USD`.\n       *\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format of your charges to return. Wix may add supported currencies in the future.\n       */\n      currency?: string;\n      /**\n       * Begin of the period Wix retrieves the app instance's charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      periodStart?: Date | null;\n      /**\n       * End of the period Wix retrieves the app instance's charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      periodEnd?: Date | null;\n      /** Information about what Wix intends to do with the retrieved charges. */\n      intent?: Intent;\n  }\n  enum Intent {\n      /** Inform the customer about how much your app would charge them at the moment. Wix doesn't create an invoice. */\n      DISPLAY_ONLY = \"DISPLAY_ONLY\",\n      /** Create an invoice for the customer. */\n      CREATE_INVOICE = \"CREATE_INVOICE\"\n  }\n  interface ListChargesResponse {\n      /**\n       * Retrieved charges.\n       *\n       * Max: 5 charges\n       */\n      charges?: ChargeLineItem[];\n  }\n  interface ChargeLineItem {\n      /**\n       * ID of the charge. Make sure to save the charge ID on your servers for future\n       * reference. Identical to `lineItem.chargeId` in the Invoice Created Event.\n       *\n       * Max: 64 characters\n       */\n      _id?: string | null;\n      /** Charge description. */\n      description?: string;\n      /**\n       * Charge amount in the currency that's specified in the request. Use a whole number\n       * or separate major and minor units with a dot. For example, `10` or `1.99`. If\n       * you return an amount with more minor units than supported according to\n       * [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes),\n       * Wix truncates the additional minor units.\n       *\n       * Min: `0.50`\n       */\n      amount?: string;\n  }\n  interface ChargesRejectedRequest {\n      /**\n       * ID of the subscription for which Wix hasn't accepted your custom charges.\n       * To track usage and billing for apps, we recommend to use `instanceId` instead\n       * of the `subscriptionId`.\n       */\n      subscriptionId?: string;\n      /**\n       * Supported values: `AUD`, `BRL`, `CAD`, `EUR`, `GBP`, `ILS`, `INR`, `JPY`, `MXN`, `PLN`, `RUB`, `TRY`, `USD`.\n       *\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format of the charges. Wix may add supported currencies in the future.\n       */\n      currency?: string;\n      /**\n       * IDs of the rejected charges.\n       *\n       * Max: 5 charges\n       */\n      chargeIds?: string[] | null;\n      /**\n       * Maximum amount that your app may charge the customer per billing cycle.\n       *\n       * Min: `0.50`\n       */\n      chargeLimit?: string | null;\n      /**\n       * Information about why Wix has rejected your app's charges.\n       *\n       * Max: 20 reasons\n       */\n      reasons?: ChargesRejectedReason[];\n  }\n  enum ChargesRejectedReason {\n      /** There is no information about why Wix has rejected the charges. */\n      UNKNOWN = \"UNKNOWN\",\n      /** The sum of the charges is higher than the limit that you may charge the customer per billing cycle. */\n      CHARGE_LIMIT_EXCEEDED = \"CHARGE_LIMIT_EXCEEDED\",\n      /** You can't provide more than 5 charges per invoice. */\n      TOO_MANY_CHARGES = \"TOO_MANY_CHARGES\",\n      /** You must submit charges as whole numbers or use a dot to separate major and minor units. For example, `10` or `1.50`. Currently, Wix doesn't validate whether the submitted number of decimals for the minor unit is supported for the given currency. */\n      INVALID_FORMAT = \"INVALID_FORMAT\"\n  }\n  interface ChargesRejectedResponse {\n  }\n  interface InvoiceCreatedRequest {\n      /**\n       * ID of the subscription for which Wix has created an invoice that includes\n       * your custom charges. To track usage and billing for apps, we recommend to use\n       * `instanceId` instead of the `subscriptionId`.\n       */\n      subscriptionId?: string;\n      /**\n       * Supported values: `AUD`, `BRL`, `CAD`, `EUR`, `GBP`, `ILS`, `INR`, `JPY`, `MXN`, `PLN`, `RUB`, `TRY`, `USD`.\n       *\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format of the charges. Wix may add supported currencies in the future.\n       */\n      currency?: string;\n      /** ID of the created invoice. */\n      invoiceId?: string;\n      /** Line items included in the invoice. */\n      lineItems?: InvoiceLineItem[];\n  }\n  interface InvoiceLineItem {\n      /**\n       * ID of the charge as returned in List Charges.\n       *\n       * Max: 64 characters\n       */\n      chargeId?: string | null;\n      /** Charge amount. */\n      amount?: string;\n      /** ID of the line item in the invoice that Wix sends to the customer. */\n      _id?: string;\n  }\n  interface InvoiceCreatedResponse {\n  }\n  interface ChargeLimitUpdatedRequest {\n      /**\n       * ID of the subscription for which the charge limit has been updated.\n       * To track usage and billing for apps, we recommend to use `instanceId` instead\n       * of the `subscriptionId`.\n       */\n      subscriptionId?: string;\n      /**\n       * Supported values: `AUD`, `BRL`, `CAD`, `EUR`, `GBP`, `ILS`, `INR`, `JPY`, `MXN`, `PLN`, `RUB`, `TRY`, `USD`.\n       *\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format of the charges. Wix may add supported currencies in the future.\n       */\n      currency?: string;\n      /** Updated charge limit. */\n      chargeLimit?: string | null;\n  }\n  interface ChargeLimitUpdatedResponse {\n  }\n  interface CustomChargesConfig {\n      /**\n       * Base part of your integration's deployment URI for the Custom Charges SPI.\n       * For example `\"https://provider.example.com\"`, if Wix should call your\n       * integration at `https://provider.example.com/v1/charge-limit` for the\n       * Get Charge Limit method.\n       */\n      baseUri?: SpiBaseUri;\n  }\n  interface SpiBaseUri {\n      /**\n       * Base URI where the methods are called. Wix appends the path to the `baseUri`.\n       * For example, to call the Get Shipping Rates method at `https://my-shipping-provider.com/v1/getRates`, the base URI you provide here is `https://my-shipping-provider.com/`.\n       */\n      baseUri?: string;\n      /** Alternate, custom URIs to replace the default URIs for specific service plugin methods. */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /**\n       * Name of the method to create a custom URI for.\n       *\n       * For `methodName`, use the name of the method in PascalCase.\n       * For example, for Get Shipping Rates use `GetShippingRates`.\n       */\n      methodName?: string;\n      /**\n       * Custom URI that Wix uses to call your server for this method. The path-suffix documented in the method will not be appended to this URI.\n       * Must be a secured endpoint beginning with `https://`. For example, `https://www.my-shipping-provider.com/my-shipping-rates`.\n       */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetChargeLimitOptions {\n      /**\n       * ID of the subscription for which Wix retrieves the charge limit. Equals\n       * `null` in case Wix hasn't created the subscription when retrieving an\n       * initial charge limit. To track usage and billing for apps, we recommend to\n       * use `instanceId` instead of the `subscriptionId`.\n       */\n      subscriptionId?: string | null;\n      /**\n       * Supported values: `AUD`, `BRL`, `CAD`, `EUR`, `GBP`, `ILS`, `INR`, `JPY`, `MXN`, `PLN`, `RUB`, `TRY`, `USD`.\n       *\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format of the charge limit. Wix may add supported currencies in the future.\n       */\n      currency?: string;\n  }\n  interface ListChargesOptions {\n      /**\n       * ID of the subscription for which Wix retrieves your custom charges.\n       * To track usage and billing for apps, we recommend to use `instanceId` instead\n       * of the `subscriptionId`.\n       */\n      subscriptionId?: string;\n      /**\n       * Supported values: `AUD`, `BRL`, `CAD`, `EUR`, `GBP`, `ILS`, `INR`, `JPY`, `MXN`, `PLN`, `RUB`, `TRY`, `USD`.\n       *\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format of your charges to return. Wix may add supported currencies in the future.\n       */\n      currency?: string;\n      /**\n       * Begin of the period Wix retrieves the app instance's charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      periodStart?: Date | null;\n      /**\n       * End of the period Wix retrieves the app instance's charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      periodEnd?: Date | null;\n      /** Information about what Wix intends to do with the retrieved charges. */\n      intent?: Intent;\n  }\n  interface ChargesRejectedEventOptions {\n      /**\n       * ID of the subscription for which Wix hasn't accepted your custom charges.\n       * To track usage and billing for apps, we recommend to use `instanceId` instead\n       * of the `subscriptionId`.\n       */\n      subscriptionId?: string;\n      /**\n       * Supported values: `AUD`, `BRL`, `CAD`, `EUR`, `GBP`, `ILS`, `INR`, `JPY`, `MXN`, `PLN`, `RUB`, `TRY`, `USD`.\n       *\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format of the charges. Wix may add supported currencies in the future.\n       */\n      currency?: string;\n      /**\n       * IDs of the rejected charges.\n       *\n       * Max: 5 charges\n       */\n      chargeIds?: string[] | null;\n      /**\n       * Maximum amount that your app may charge the customer per billing cycle.\n       *\n       * Min: `0.50`\n       */\n      chargeLimit?: string | null;\n      /**\n       * Information about why Wix has rejected your app's charges.\n       *\n       * Max: 20 reasons\n       */\n      reasons?: ChargesRejectedReason[];\n  }\n  interface InvoiceCreatedEventOptions {\n      /**\n       * ID of the subscription for which Wix has created an invoice that includes\n       * your custom charges. To track usage and billing for apps, we recommend to use\n       * `instanceId` instead of the `subscriptionId`.\n       */\n      subscriptionId?: string;\n      /**\n       * Supported values: `AUD`, `BRL`, `CAD`, `EUR`, `GBP`, `ILS`, `INR`, `JPY`, `MXN`, `PLN`, `RUB`, `TRY`, `USD`.\n       *\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format of the charges. Wix may add supported currencies in the future.\n       */\n      currency?: string;\n      /** ID of the created invoice. */\n      invoiceId?: string;\n      /** Line items included in the invoice. */\n      lineItems?: InvoiceLineItem[];\n  }\n  interface ChargeLimitUpdatedEventOptions {\n      /**\n       * ID of the subscription for which the charge limit has been updated.\n       * To track usage and billing for apps, we recommend to use `instanceId` instead\n       * of the `subscriptionId`.\n       */\n      subscriptionId?: string;\n      /**\n       * Supported values: `AUD`, `BRL`, `CAD`, `EUR`, `GBP`, `ILS`, `INR`, `JPY`, `MXN`, `PLN`, `RUB`, `TRY`, `USD`.\n       *\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format of the charges. Wix may add supported currencies in the future.\n       */\n      currency?: string;\n      /** Updated charge limit. */\n      chargeLimit?: string | null;\n  }\n  \n  export { AlternativeUri, BusinessError, ChargeLimitUpdatedEventOptions, ChargeLimitUpdatedRequest, ChargeLimitUpdatedResponse, ChargeLineItem, ChargesRejectedEventOptions, ChargesRejectedReason, ChargesRejectedRequest, ChargesRejectedResponse, Context, CustomChargesConfig, GetChargeLimitOptions, GetChargeLimitRequest, GetChargeLimitResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, Intent, InvoiceCreatedEventOptions, InvoiceCreatedRequest, InvoiceCreatedResponse, InvoiceLineItem, ListChargesOptions, ListChargesRequest, ListChargesResponse, SpiBaseUri };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data.v2.d.ts",
      "content": "declare module \"wix-data.v2\" {\n  /**\n   * Permissions configuration of a data collection.\n   *\n   * Describes who can perform certain data operations on a collection.\n   */\n  interface DataPermissions$1 {\n      /** Data Collection ID that is subject of these permissions */\n      _id?: string;\n      /** Access level for data items read */\n      itemRead?: AccessLevel$1;\n      /** Access level for data items insert */\n      itemInsert?: AccessLevel$1;\n      /** Access level for data items update */\n      itemUpdate?: AccessLevel$1;\n      /** Access level for data items removal */\n      itemRemove?: AccessLevel$1;\n      /**\n       * Additional access list, which allows certain actions.\n       * If some action is not allowed by special permission it\n       * still can be allowed by top-level permissions list.\n       * @internal\n       * @readonly\n       */\n      specialPermissions?: SpecialPermissions[];\n  }\n  /**\n   * Describes who can perform certain action.\n   * Each level includes all levels below it (except UNDEFINED).\n   */\n  enum AccessLevel$1 {\n      /** Not set */\n      UNKNOWN = \"UNKNOWN\",\n      /** Any subject, including visitors */\n      ANYONE = \"ANYONE\",\n      /** Any signed-in user (both site members and collaborators) */\n      SITE_MEMBER = \"SITE_MEMBER\",\n      /** Any signed-in user, but site members only have access to own items */\n      SITE_MEMBER_AUTHOR = \"SITE_MEMBER_AUTHOR\",\n      /** Site collaborator that has a role with CMS Access permission */\n      CMS_EDITOR = \"CMS_EDITOR\",\n      /** CMS administrators and users or roles granted with special access */\n      PRIVILEGED = \"PRIVILEGED\"\n  }\n  /** Special access granted to user or role */\n  interface SpecialPermissions extends SpecialPermissionsSubjectOneOf {\n      /** User ID that is subject of these permissions */\n      userId?: string;\n      /** Policy ID of (custom) role that is subject of these permissions */\n      policyId?: string;\n      /**\n       * ID of this special access, so it can be managed separately\n       * @readonly\n       */\n      _id?: string;\n      /** If data item read is allowed */\n      itemRead?: Access;\n      /** If data item insert is allowed */\n      itemInsert?: Access;\n      /** If data item update is allowed */\n      itemUpdate?: Access;\n      /** If data item remove is allowed */\n      itemRemove?: Access;\n  }\n  /** @oneof */\n  interface SpecialPermissionsSubjectOneOf {\n      /** User ID that is subject of these permissions */\n      userId?: string;\n      /** Policy ID of (custom) role that is subject of these permissions */\n      policyId?: string;\n  }\n  enum Access {\n      /** Action is not specifically allowed, but can be allowed by top-level permissions */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** Action is specifically allowed */\n      ALLOWED = \"ALLOWED\"\n  }\n  interface GetPermissionsRequest {\n      /** Data Collection ID to get permissions for */\n      dataCollectionId: string;\n  }\n  interface GetPermissionsResponse {\n      /** Requested data permissions */\n      dataPermissions?: DataPermissions$1;\n  }\n  interface UpdatePermissionsRequest {\n      /** Data permissions to update */\n      dataPermissions: DataPermissions$1;\n  }\n  interface UpdatePermissionsResponse {\n      /** Updated data permissions */\n      dataPermissions?: DataPermissions$1;\n  }\n  interface AddSpecialPermissionsRequest {\n      /** Data Collection ID to add special permission for */\n      dataCollectionId: string;\n      /** Special permissions to add */\n      specialPermissions: SpecialPermissions;\n  }\n  interface AddSpecialPermissionsResponse {\n      /** Added special data permissions */\n      specialPermissions?: SpecialPermissions;\n  }\n  interface UpdateSpecialPermissionsRequest {\n      /** Special permissions to update */\n      specialPermissions: SpecialPermissions;\n  }\n  interface UpdateSpecialPermissionsResponse {\n      /** Updated special data permissions */\n      specialPermissions?: SpecialPermissions;\n  }\n  interface RemoveSpecialPermissionsRequest {\n      /** Special permissions ID to remove */\n      specialPermissionsId: string;\n  }\n  interface RemoveSpecialPermissionsResponse {\n  }\n  interface GetMyPermissionsRequest {\n      /** Data Collection ID to get permission for */\n      dataCollectionId: string;\n  }\n  interface GetMyPermissionsResponse {\n      /** If data item read is allowed */\n      itemRead?: boolean;\n      /** If data item insert is allowed */\n      itemInsert?: boolean;\n      /** If data item update is allowed */\n      itemUpdate?: boolean;\n      /** If data item remove is allowed */\n      itemRemove?: boolean;\n  }\n  interface MigrateCustomRolesRequest {\n      /** Role ID to update, if empty updates all roles in scope */\n      policyId?: string | null;\n  }\n  interface MigrateCustomRolesResponse {\n  }\n  interface PolicyAssignmentsUpdated extends PolicyAssignmentsUpdatedEventOneOf {\n      policyAssigned?: PolicyAssigned;\n      policyUnassigned?: PolicyUnassigned;\n      policyAssignmentUpdated?: PolicyAssignmentUpdated;\n  }\n  /** @oneof */\n  interface PolicyAssignmentsUpdatedEventOneOf {\n      policyAssigned?: PolicyAssigned;\n      policyUnassigned?: PolicyUnassigned;\n      policyAssignmentUpdated?: PolicyAssignmentUpdated;\n  }\n  interface PolicyAssigned {\n      subject?: Subject;\n      assignment?: PolicyAssignment[];\n  }\n  interface Subject {\n      /** ID of identity assigned to the asset. */\n      _id?: string;\n      /** Type of identity assigned to the asset. Supported subject types include user IDs, account IDs, and app IDs. */\n      subjectType?: SubjectType;\n      /** Context of identity assigned to the asset. For example, a `subjectType` = `USER` will have `context` = `ACCOUNT`. */\n      context?: SubjectContext;\n  }\n  enum SubjectType {\n      UNKNOWN = \"UNKNOWN\",\n      ACCOUNT = \"ACCOUNT\",\n      USER = \"USER\",\n      USER_GROUP = \"USER_GROUP\",\n      MEMBER_GROUP = \"MEMBER_GROUP\",\n      VISITOR_GROUP = \"VISITOR_GROUP\",\n      EXTERNAL_APP = \"EXTERNAL_APP\",\n      ACCOUNT_GROUP = \"ACCOUNT_GROUP\",\n      WIX_APP = \"WIX_APP\"\n  }\n  interface SubjectContext {\n      _id?: string;\n      contextType?: SubjectContextType;\n  }\n  enum SubjectContextType {\n      UNKNOWN_CTX = \"UNKNOWN_CTX\",\n      ORG_CTX = \"ORG_CTX\",\n      ACCOUNT_CTX = \"ACCOUNT_CTX\"\n  }\n  interface PolicyAssignment {\n      policyId?: string;\n      resource?: ResourcePath;\n      condition?: PolicyCondition;\n      assignmentId?: string | null;\n  }\n  interface ResourcePath {\n      organization?: string | null;\n      account?: string | null;\n      site?: string | null;\n      resource?: Resource;\n  }\n  /**\n   * A custom resource. Is used to represent some asset that is not a direct resource context (site or account), but something custom.\n   * For example: payment method, blog post, domain, logo.\n   */\n  interface Resource {\n      /** The resource id. */\n      _id?: string | null;\n      /** The resource type */\n      type?: string | null;\n  }\n  interface PolicyCondition {\n      /** The type of the condition */\n      condition?: ConditionType;\n  }\n  interface ConditionType extends ConditionTypeOfOneOf {\n      /** @deprecated */\n      simpleCondition?: SimpleCondition;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition;\n      /** @deprecated */\n      environmentCondition?: EnvironmentCondition;\n      /** A single condition */\n      condition?: Condition;\n  }\n  /** @oneof */\n  interface ConditionTypeOfOneOf {\n      /** @deprecated */\n      simpleCondition?: SimpleCondition;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition;\n      /** @deprecated */\n      environmentCondition?: EnvironmentCondition;\n      /** A single condition */\n      condition?: Condition;\n  }\n  interface SimpleCondition {\n      attrName?: string;\n      value?: SimpleConditionValue;\n      op?: SimpleConditionOperator;\n      conditionModelId?: string;\n  }\n  interface SimpleConditionValue extends SimpleConditionValueValueOneOf {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface SimpleConditionValueValueOneOf {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  enum SimpleConditionOperator {\n      UNKNOWN_SIMPLE_OP = \"UNKNOWN_SIMPLE_OP\",\n      EQUAL = \"EQUAL\"\n  }\n  interface JoinedCondition {\n      /** The operator that should be used when evaluating the condition */\n      op?: JoinedConditionOperator;\n      /** The conditions that should be evaluated, and then joined using the operator provided */\n      conditions?: ConditionType[];\n  }\n  enum JoinedConditionOperator {\n      UNKNOWN_JOIN_OP = \"UNKNOWN_JOIN_OP\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  interface EnvironmentCondition extends EnvironmentConditionConditionOneOf {\n      experimentCondition?: ExperimentCondition;\n  }\n  /** @oneof */\n  interface EnvironmentConditionConditionOneOf {\n      experimentCondition?: ExperimentCondition;\n  }\n  interface ExperimentCondition {\n      spec?: string;\n      fallbackValue?: string;\n      expectedValue?: string;\n  }\n  interface Condition {\n      /** The unique identifier of the condition model. Indicates which actions the condition is working on */\n      conditionModelId?: string;\n      /** The operator that should be evaluated */\n      operator?: ConditionOperator;\n  }\n  interface ConditionOperator extends ConditionOperatorOperatorsOneOf {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator;\n  }\n  /** @oneof */\n  interface ConditionOperatorOperatorsOneOf {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator;\n  }\n  interface EqualOperator {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the other side (attribute/value) */\n      attrName?: string;\n      /** The value to compare to. If the two parties are equal - we will return true. */\n      value?: ConditionValue;\n  }\n  interface ConditionValue extends ConditionValueValueOneOf {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface ConditionValueValueOneOf {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  interface LikeOperator {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the regex values provided. */\n      attrName?: string;\n      /** The regex values which the attribute value should be evaluated on. If the attribute value matches at least one of the regular expressions provided - we will return true */\n      values?: string[];\n  }\n  interface ExperimentOperator {\n      /** The spec to conduct the experiment on. */\n      spec?: string;\n      /** The value to use if the experiment could not be conducted */\n      fallbackValue?: string;\n      /** The expected value of the experiment conduction. If it matches the actual value - true will be returned. Otherwise - false. */\n      expectedValue?: string;\n  }\n  /** Implies that the policy takes affect only if the depend on subject is permitted as well. */\n  interface DependOnOperator {\n      /** The subject on which the current entry depends on. If the subject is allowed to perform what the query was about - the condition will be evaluated to true. Otherwise - false */\n      dependOnSubject?: Subject;\n  }\n  interface PolicyUnassigned {\n      subject?: Subject;\n      assignment?: PolicyAssignment[];\n  }\n  interface PolicyAssignmentUpdated {\n      subject?: Subject;\n      fromAssignment?: PolicyAssignment[];\n      toAssignment?: PolicyAssignment[];\n  }\n  interface Empty {\n  }\n  interface PolicyAuthorizationDataUpdated {\n      policyId?: string;\n      fromPolicyStatements?: PolicyStatement[];\n      toPolicyStatements?: PolicyStatement[];\n      policyType?: PolicyType;\n      policyOwner?: PolicyOwner;\n  }\n  interface PolicyStatement {\n      /** @readonly */\n      _id?: string | null;\n      permissions?: string[];\n      scopes?: string[];\n      effect?: Effect;\n      condition?: PolicyCondition;\n  }\n  enum Effect {\n      UNKNOWN_EFFECT = \"UNKNOWN_EFFECT\",\n      ALLOW = \"ALLOW\",\n      DENY = \"DENY\"\n  }\n  enum PolicyType {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      PREDEFINED = \"PREDEFINED\",\n      CUSTOM = \"CUSTOM\",\n      INLINE_CUSTOM = \"INLINE_CUSTOM\"\n  }\n  interface PolicyOwner {\n      type?: PolicyOwnerType;\n      _id?: string;\n  }\n  enum PolicyOwnerType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      WIX = \"WIX\",\n      WIX_ACCOUNT = \"WIX_ACCOUNT\"\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  /**\n   * Returns data permissions for a data collection\n   * @param dataCollectionId - Data Collection ID to get permissions for\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField dataCollectionId\n   * @permissionId WIX_DATA.PERMISSIONS_READ\n   * @adminMethod\n   */\n  function getPermissions(dataCollectionId: string): Promise<GetPermissionsResponse>;\n  /**\n   * Updates data permissions for a data collection\n   *\n   * NOTE that special permissions are not updated using this API, use dedicated methods for it.\n   * @param dataPermissions - Data permissions to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField dataPermissions\n   * @requiredField dataPermissions._id\n   * @requiredField dataPermissions.itemInsert\n   * @requiredField dataPermissions.itemRead\n   * @requiredField dataPermissions.itemRemove\n   * @requiredField dataPermissions.itemUpdate\n   * @permissionId WIX_DATA.PERMISSIONS_UPDATE\n   * @adminMethod\n   */\n  function updatePermissions(dataPermissions: DataPermissions$1): Promise<UpdatePermissionsResponse>;\n  /**\n   * Adds special data permissions for particular user/group\n   * Errors:\n   * - `ALREADY_EXISTS` in case if special permission for same subject already exists\n   * @param dataCollectionId - Data Collection ID to add special permission for\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField dataCollectionId\n   * @requiredField options\n   * @requiredField options.specialPermissions\n   * @permissionId WIX_DATA.PERMISSIONS_UPDATE_SPECIAL\n   * @adminMethod\n   */\n  function addSpecialPermissions(dataCollectionId: string, options: AddSpecialPermissionsOptions): Promise<AddSpecialPermissionsResponse>;\n  interface AddSpecialPermissionsOptions {\n      /** Special permissions to add */\n      specialPermissions: SpecialPermissions;\n  }\n  /**\n   * Updates special data permissions for particular user/group.\n   * Any omitted permissions will be set to UNSPECIFIED.\n   * @param _id - ID of this special access, so it can be managed separately\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField specialPermissions\n   * @permissionId WIX_DATA.PERMISSIONS_UPDATE_SPECIAL\n   * @adminMethod\n   */\n  function updateSpecialPermissions(_id: string, specialPermissions: UpdateSpecialPermissions): Promise<UpdateSpecialPermissionsResponse>;\n  interface UpdateSpecialPermissions {\n      /** User ID that is subject of these permissions */\n      userId?: string;\n      /** Policy ID of (custom) role that is subject of these permissions */\n      policyId?: string;\n      /**\n       * ID of this special access, so it can be managed separately\n       * @readonly\n       */\n      _id?: string;\n      /** If data item read is allowed */\n      itemRead?: Access;\n      /** If data item insert is allowed */\n      itemInsert?: Access;\n      /** If data item update is allowed */\n      itemUpdate?: Access;\n      /** If data item remove is allowed */\n      itemRemove?: Access;\n  }\n  /**\n   * Deletes special data permissions for particular user/group\n   * @param specialPermissionsId - Special permissions ID to remove\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField specialPermissionsId\n   * @permissionId WIX_DATA.PERMISSIONS_UPDATE_SPECIAL\n   * @adminMethod\n   */\n  function removeSpecialPermissions(specialPermissionsId: string): Promise<void>;\n  /**\n   * Returns current user permissions for given data collection\n   * @param dataCollectionId - Data Collection ID to get permission for\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField dataCollectionId\n   * @permissionId WIX_DATA.PERMISSIONS_GET_ALLOWED\n   * @adminMethod\n   */\n  function getMyPermissions(dataCollectionId: string): Promise<GetMyPermissionsResponse>;\n  \n  type dataV1DataPermissions_universal_d_SpecialPermissions = SpecialPermissions;\n  type dataV1DataPermissions_universal_d_SpecialPermissionsSubjectOneOf = SpecialPermissionsSubjectOneOf;\n  type dataV1DataPermissions_universal_d_Access = Access;\n  const dataV1DataPermissions_universal_d_Access: typeof Access;\n  type dataV1DataPermissions_universal_d_GetPermissionsRequest = GetPermissionsRequest;\n  type dataV1DataPermissions_universal_d_GetPermissionsResponse = GetPermissionsResponse;\n  type dataV1DataPermissions_universal_d_UpdatePermissionsRequest = UpdatePermissionsRequest;\n  type dataV1DataPermissions_universal_d_UpdatePermissionsResponse = UpdatePermissionsResponse;\n  type dataV1DataPermissions_universal_d_AddSpecialPermissionsRequest = AddSpecialPermissionsRequest;\n  type dataV1DataPermissions_universal_d_AddSpecialPermissionsResponse = AddSpecialPermissionsResponse;\n  type dataV1DataPermissions_universal_d_UpdateSpecialPermissionsRequest = UpdateSpecialPermissionsRequest;\n  type dataV1DataPermissions_universal_d_UpdateSpecialPermissionsResponse = UpdateSpecialPermissionsResponse;\n  type dataV1DataPermissions_universal_d_RemoveSpecialPermissionsRequest = RemoveSpecialPermissionsRequest;\n  type dataV1DataPermissions_universal_d_RemoveSpecialPermissionsResponse = RemoveSpecialPermissionsResponse;\n  type dataV1DataPermissions_universal_d_GetMyPermissionsRequest = GetMyPermissionsRequest;\n  type dataV1DataPermissions_universal_d_GetMyPermissionsResponse = GetMyPermissionsResponse;\n  type dataV1DataPermissions_universal_d_MigrateCustomRolesRequest = MigrateCustomRolesRequest;\n  type dataV1DataPermissions_universal_d_MigrateCustomRolesResponse = MigrateCustomRolesResponse;\n  type dataV1DataPermissions_universal_d_PolicyAssignmentsUpdated = PolicyAssignmentsUpdated;\n  type dataV1DataPermissions_universal_d_PolicyAssignmentsUpdatedEventOneOf = PolicyAssignmentsUpdatedEventOneOf;\n  type dataV1DataPermissions_universal_d_PolicyAssigned = PolicyAssigned;\n  type dataV1DataPermissions_universal_d_Subject = Subject;\n  type dataV1DataPermissions_universal_d_SubjectType = SubjectType;\n  const dataV1DataPermissions_universal_d_SubjectType: typeof SubjectType;\n  type dataV1DataPermissions_universal_d_SubjectContext = SubjectContext;\n  type dataV1DataPermissions_universal_d_SubjectContextType = SubjectContextType;\n  const dataV1DataPermissions_universal_d_SubjectContextType: typeof SubjectContextType;\n  type dataV1DataPermissions_universal_d_PolicyAssignment = PolicyAssignment;\n  type dataV1DataPermissions_universal_d_ResourcePath = ResourcePath;\n  type dataV1DataPermissions_universal_d_Resource = Resource;\n  type dataV1DataPermissions_universal_d_PolicyCondition = PolicyCondition;\n  type dataV1DataPermissions_universal_d_ConditionType = ConditionType;\n  type dataV1DataPermissions_universal_d_ConditionTypeOfOneOf = ConditionTypeOfOneOf;\n  type dataV1DataPermissions_universal_d_SimpleCondition = SimpleCondition;\n  type dataV1DataPermissions_universal_d_SimpleConditionValue = SimpleConditionValue;\n  type dataV1DataPermissions_universal_d_SimpleConditionValueValueOneOf = SimpleConditionValueValueOneOf;\n  type dataV1DataPermissions_universal_d_SimpleConditionOperator = SimpleConditionOperator;\n  const dataV1DataPermissions_universal_d_SimpleConditionOperator: typeof SimpleConditionOperator;\n  type dataV1DataPermissions_universal_d_JoinedCondition = JoinedCondition;\n  type dataV1DataPermissions_universal_d_JoinedConditionOperator = JoinedConditionOperator;\n  const dataV1DataPermissions_universal_d_JoinedConditionOperator: typeof JoinedConditionOperator;\n  type dataV1DataPermissions_universal_d_EnvironmentCondition = EnvironmentCondition;\n  type dataV1DataPermissions_universal_d_EnvironmentConditionConditionOneOf = EnvironmentConditionConditionOneOf;\n  type dataV1DataPermissions_universal_d_ExperimentCondition = ExperimentCondition;\n  type dataV1DataPermissions_universal_d_Condition = Condition;\n  type dataV1DataPermissions_universal_d_ConditionOperator = ConditionOperator;\n  type dataV1DataPermissions_universal_d_ConditionOperatorOperatorsOneOf = ConditionOperatorOperatorsOneOf;\n  type dataV1DataPermissions_universal_d_EqualOperator = EqualOperator;\n  type dataV1DataPermissions_universal_d_ConditionValue = ConditionValue;\n  type dataV1DataPermissions_universal_d_ConditionValueValueOneOf = ConditionValueValueOneOf;\n  type dataV1DataPermissions_universal_d_LikeOperator = LikeOperator;\n  type dataV1DataPermissions_universal_d_ExperimentOperator = ExperimentOperator;\n  type dataV1DataPermissions_universal_d_DependOnOperator = DependOnOperator;\n  type dataV1DataPermissions_universal_d_PolicyUnassigned = PolicyUnassigned;\n  type dataV1DataPermissions_universal_d_PolicyAssignmentUpdated = PolicyAssignmentUpdated;\n  type dataV1DataPermissions_universal_d_Empty = Empty;\n  type dataV1DataPermissions_universal_d_PolicyAuthorizationDataUpdated = PolicyAuthorizationDataUpdated;\n  type dataV1DataPermissions_universal_d_PolicyStatement = PolicyStatement;\n  type dataV1DataPermissions_universal_d_Effect = Effect;\n  const dataV1DataPermissions_universal_d_Effect: typeof Effect;\n  type dataV1DataPermissions_universal_d_PolicyType = PolicyType;\n  const dataV1DataPermissions_universal_d_PolicyType: typeof PolicyType;\n  type dataV1DataPermissions_universal_d_PolicyOwner = PolicyOwner;\n  type dataV1DataPermissions_universal_d_PolicyOwnerType = PolicyOwnerType;\n  const dataV1DataPermissions_universal_d_PolicyOwnerType: typeof PolicyOwnerType;\n  const dataV1DataPermissions_universal_d_getPermissions: typeof getPermissions;\n  const dataV1DataPermissions_universal_d_updatePermissions: typeof updatePermissions;\n  const dataV1DataPermissions_universal_d_addSpecialPermissions: typeof addSpecialPermissions;\n  type dataV1DataPermissions_universal_d_AddSpecialPermissionsOptions = AddSpecialPermissionsOptions;\n  const dataV1DataPermissions_universal_d_updateSpecialPermissions: typeof updateSpecialPermissions;\n  type dataV1DataPermissions_universal_d_UpdateSpecialPermissions = UpdateSpecialPermissions;\n  const dataV1DataPermissions_universal_d_removeSpecialPermissions: typeof removeSpecialPermissions;\n  const dataV1DataPermissions_universal_d_getMyPermissions: typeof getMyPermissions;\n  namespace dataV1DataPermissions_universal_d {\n    export {\n      DataPermissions$1 as DataPermissions,\n      AccessLevel$1 as AccessLevel,\n      dataV1DataPermissions_universal_d_SpecialPermissions as SpecialPermissions,\n      dataV1DataPermissions_universal_d_SpecialPermissionsSubjectOneOf as SpecialPermissionsSubjectOneOf,\n      dataV1DataPermissions_universal_d_Access as Access,\n      dataV1DataPermissions_universal_d_GetPermissionsRequest as GetPermissionsRequest,\n      dataV1DataPermissions_universal_d_GetPermissionsResponse as GetPermissionsResponse,\n      dataV1DataPermissions_universal_d_UpdatePermissionsRequest as UpdatePermissionsRequest,\n      dataV1DataPermissions_universal_d_UpdatePermissionsResponse as UpdatePermissionsResponse,\n      dataV1DataPermissions_universal_d_AddSpecialPermissionsRequest as AddSpecialPermissionsRequest,\n      dataV1DataPermissions_universal_d_AddSpecialPermissionsResponse as AddSpecialPermissionsResponse,\n      dataV1DataPermissions_universal_d_UpdateSpecialPermissionsRequest as UpdateSpecialPermissionsRequest,\n      dataV1DataPermissions_universal_d_UpdateSpecialPermissionsResponse as UpdateSpecialPermissionsResponse,\n      dataV1DataPermissions_universal_d_RemoveSpecialPermissionsRequest as RemoveSpecialPermissionsRequest,\n      dataV1DataPermissions_universal_d_RemoveSpecialPermissionsResponse as RemoveSpecialPermissionsResponse,\n      dataV1DataPermissions_universal_d_GetMyPermissionsRequest as GetMyPermissionsRequest,\n      dataV1DataPermissions_universal_d_GetMyPermissionsResponse as GetMyPermissionsResponse,\n      dataV1DataPermissions_universal_d_MigrateCustomRolesRequest as MigrateCustomRolesRequest,\n      dataV1DataPermissions_universal_d_MigrateCustomRolesResponse as MigrateCustomRolesResponse,\n      dataV1DataPermissions_universal_d_PolicyAssignmentsUpdated as PolicyAssignmentsUpdated,\n      dataV1DataPermissions_universal_d_PolicyAssignmentsUpdatedEventOneOf as PolicyAssignmentsUpdatedEventOneOf,\n      dataV1DataPermissions_universal_d_PolicyAssigned as PolicyAssigned,\n      dataV1DataPermissions_universal_d_Subject as Subject,\n      dataV1DataPermissions_universal_d_SubjectType as SubjectType,\n      dataV1DataPermissions_universal_d_SubjectContext as SubjectContext,\n      dataV1DataPermissions_universal_d_SubjectContextType as SubjectContextType,\n      dataV1DataPermissions_universal_d_PolicyAssignment as PolicyAssignment,\n      dataV1DataPermissions_universal_d_ResourcePath as ResourcePath,\n      dataV1DataPermissions_universal_d_Resource as Resource,\n      dataV1DataPermissions_universal_d_PolicyCondition as PolicyCondition,\n      dataV1DataPermissions_universal_d_ConditionType as ConditionType,\n      dataV1DataPermissions_universal_d_ConditionTypeOfOneOf as ConditionTypeOfOneOf,\n      dataV1DataPermissions_universal_d_SimpleCondition as SimpleCondition,\n      dataV1DataPermissions_universal_d_SimpleConditionValue as SimpleConditionValue,\n      dataV1DataPermissions_universal_d_SimpleConditionValueValueOneOf as SimpleConditionValueValueOneOf,\n      dataV1DataPermissions_universal_d_SimpleConditionOperator as SimpleConditionOperator,\n      dataV1DataPermissions_universal_d_JoinedCondition as JoinedCondition,\n      dataV1DataPermissions_universal_d_JoinedConditionOperator as JoinedConditionOperator,\n      dataV1DataPermissions_universal_d_EnvironmentCondition as EnvironmentCondition,\n      dataV1DataPermissions_universal_d_EnvironmentConditionConditionOneOf as EnvironmentConditionConditionOneOf,\n      dataV1DataPermissions_universal_d_ExperimentCondition as ExperimentCondition,\n      dataV1DataPermissions_universal_d_Condition as Condition,\n      dataV1DataPermissions_universal_d_ConditionOperator as ConditionOperator,\n      dataV1DataPermissions_universal_d_ConditionOperatorOperatorsOneOf as ConditionOperatorOperatorsOneOf,\n      dataV1DataPermissions_universal_d_EqualOperator as EqualOperator,\n      dataV1DataPermissions_universal_d_ConditionValue as ConditionValue,\n      dataV1DataPermissions_universal_d_ConditionValueValueOneOf as ConditionValueValueOneOf,\n      dataV1DataPermissions_universal_d_LikeOperator as LikeOperator,\n      dataV1DataPermissions_universal_d_ExperimentOperator as ExperimentOperator,\n      dataV1DataPermissions_universal_d_DependOnOperator as DependOnOperator,\n      dataV1DataPermissions_universal_d_PolicyUnassigned as PolicyUnassigned,\n      dataV1DataPermissions_universal_d_PolicyAssignmentUpdated as PolicyAssignmentUpdated,\n      dataV1DataPermissions_universal_d_Empty as Empty,\n      dataV1DataPermissions_universal_d_PolicyAuthorizationDataUpdated as PolicyAuthorizationDataUpdated,\n      dataV1DataPermissions_universal_d_PolicyStatement as PolicyStatement,\n      dataV1DataPermissions_universal_d_Effect as Effect,\n      dataV1DataPermissions_universal_d_PolicyType as PolicyType,\n      dataV1DataPermissions_universal_d_PolicyOwner as PolicyOwner,\n      dataV1DataPermissions_universal_d_PolicyOwnerType as PolicyOwnerType,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      dataV1DataPermissions_universal_d_getPermissions as getPermissions,\n      dataV1DataPermissions_universal_d_updatePermissions as updatePermissions,\n      dataV1DataPermissions_universal_d_addSpecialPermissions as addSpecialPermissions,\n      dataV1DataPermissions_universal_d_AddSpecialPermissionsOptions as AddSpecialPermissionsOptions,\n      dataV1DataPermissions_universal_d_updateSpecialPermissions as updateSpecialPermissions,\n      dataV1DataPermissions_universal_d_UpdateSpecialPermissions as UpdateSpecialPermissions,\n      dataV1DataPermissions_universal_d_removeSpecialPermissions as removeSpecialPermissions,\n      dataV1DataPermissions_universal_d_getMyPermissions as getMyPermissions,\n    };\n  }\n  \n  /** An external database connection defines a connection between an external database and a Wix site or project. */\n  interface ExternalDatabaseConnection {\n      /**\n       * Name of the external database connection.\n       * An external database connection may connect to one or more external data collections or tables.\n       * These are represented as `connectionName/dataCollectionId`.\n       */\n      name?: string;\n      /** Base URL for provisioning and managing data in the external database. For example: `https://example.com/my-external-database`. */\n      endpoint?: string | null;\n      /**\n       * Settings passed to the external database connection as part of each request.\n       * These settings can relate to authentication, tenancy, or provide any other information needed for processing a request.\n       * Their content and structure depend on the specific requirements of the external database's API.\n       */\n      configuration?: Record<string, any> | null;\n      /**\n       * Status of the external database connection. Includes whether the connection was established successfully, and if not, the reason for the failure.\n       * @readonly\n       */\n      connectionStatus?: ConnectionStatus;\n      /**\n       * The protocol version of the external database connection.\n       * @internal\n       * @readonly\n       */\n      protocolVersion?: ProtocolVersion;\n      /**\n       * The public key used to validate requests to the external database. Applicable only when the protocol version is `V3`.\n       * @internal\n       * @readonly\n       */\n      publicKey?: string | null;\n      /**\n       * The external database's capabilities.\n       * @readonly\n       */\n      capabilities?: Capabilities;\n      /**\n       * The ID of the app used to integrate this external database.\n       * @internal\n       * @readonly\n       */\n      applicationId?: string | null;\n  }\n  enum CauseOfFailure {\n      /** No connection failure. */\n      NONE = \"NONE\",\n      /** General communication failure. */\n      COMMUNICATION_FAILURE = \"COMMUNICATION_FAILURE\",\n      /** External database host is unreachable. */\n      DESTINATION_HOST_UNREACHABLE = \"DESTINATION_HOST_UNREACHABLE\",\n      /** Unauthorized to access the external database. */\n      UNAUTHORIZED = \"UNAUTHORIZED\",\n      /** `endpoint` is not set. */\n      DESTINATION_ENDPOINT_NOT_DEFINED = \"DESTINATION_ENDPOINT_NOT_DEFINED\"\n  }\n  enum CollectionsFound {\n      /** Attempt to connect to the external database failed, so status is unknown. */\n      UNKNOWN = \"UNKNOWN\",\n      /** External database has existing collections. */\n      YES = \"YES\",\n      /** External database does not have any existing collections. */\n      NO = \"NO\"\n  }\n  enum FieldType$1 {\n      UNKNOWN_FIELD_TYPE = \"UNKNOWN_FIELD_TYPE\",\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      DATE = \"DATE\",\n      DATETIME = \"DATETIME\",\n      IMAGE = \"IMAGE\",\n      BOOLEAN = \"BOOLEAN\",\n      DOCUMENT = \"DOCUMENT\",\n      URL = \"URL\",\n      RICH_TEXT = \"RICH_TEXT\",\n      VIDEO = \"VIDEO\",\n      ANY = \"ANY\",\n      ARRAY_STRING = \"ARRAY_STRING\",\n      ARRAY_DOCUMENT = \"ARRAY_DOCUMENT\",\n      AUDIO = \"AUDIO\",\n      TIME = \"TIME\",\n      LANGUAGE = \"LANGUAGE\",\n      RICH_CONTENT = \"RICH_CONTENT\",\n      MEDIA_GALLERY = \"MEDIA_GALLERY\",\n      ADDRESS = \"ADDRESS\",\n      PAGE_LINK = \"PAGE_LINK\",\n      REFERENCE = \"REFERENCE\",\n      MULTI_REFERENCE = \"MULTI_REFERENCE\",\n      OBJECT = \"OBJECT\",\n      ARRAY = \"ARRAY\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_TIME = \"LEGACY_TIME\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_BOOK = \"LEGACY_BOOK\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_EXTERNAL_URL = \"LEGACY_EXTERNAL_URL\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_BROKEN_REFERENCE = \"LEGACY_BROKEN_REFERENCE\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_IMAGE = \"LEGACY_IMAGE\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_COLOR = \"LEGACY_COLOR\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_EXTERNAL_VIDEO = \"LEGACY_EXTERNAL_VIDEO\"\n  }\n  interface ConnectionStatus {\n      /** Whether the connection was established successfully. */\n      successful?: boolean;\n      /** Whether and why a connection attempt failed. */\n      causeOfFailure?: CauseOfFailure;\n      /**\n       * Whether the external database has existing collections.\n       * @readonly\n       */\n      hasCollections?: CollectionsFound;\n  }\n  enum ProtocolVersion {\n      UNKNOWN_PROTOCOL_VERSION = \"UNKNOWN_PROTOCOL_VERSION\",\n      V1 = \"V1\",\n      V2 = \"V2\",\n      V3 = \"V3\"\n  }\n  interface Capabilities {\n      /** Whether the external database supports creating new collections, updating the structure of existing collections, or deleting them. */\n      collectionModificationsSupported?: boolean;\n      /**\n       * Field types the external database supports.\n       * This field only applies when `collectionModificationsSupported` is `true`.\n       */\n      fieldTypes?: FieldType$1[];\n  }\n  interface GetExternalDatabaseConnectionRequest {\n      /** Name of the external database connection to retrieve. */\n      name: string;\n  }\n  interface GetExternalDatabaseConnectionResponse {\n      /** Details of the external database connection requested. */\n      externalDatabaseConnection?: ExternalDatabaseConnection;\n  }\n  interface ListExternalDatabaseConnectionsRequest {\n      /** Paging */\n      paging?: Paging$3;\n  }\n  interface Paging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListExternalDatabaseConnectionsResponse {\n      /** List of external database connections. */\n      externalDatabaseConnections?: ExternalDatabaseConnection[];\n      /** Paging metadata */\n      pagingMetadata?: PagingMetadata$1;\n  }\n  interface PagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface CreateExternalDatabaseConnectionRequest {\n      /** External database connection details. */\n      externalDatabaseConnection: ExternalDatabaseConnection;\n      /** Connection type. */\n      connectionType: ConnectionType;\n      /**\n       * Indicates if database is managed by WIX.\n       * @internal\n       */\n      databaseManagedByWix?: boolean;\n  }\n  enum ConnectionType {\n      /** Unknown connection type. */\n      UNKNOWN_CONNECTION_TYPE = \"UNKNOWN_CONNECTION_TYPE\",\n      /**\n       * Connection to database adapter that implements legacy External Database Collections SPI (protocol version 1 or 2)\n       * https://www.wix.com/velo/reference/spis/external-database-collections/introduction\n       */\n      STANDALONE = \"STANDALONE\",\n      /**\n       * Connection to database adapter that implements External Database SPI (protocol version 3)\n       * https://dev.wix.com/docs/rest/internal-only/wix-data/external-database-spi/introduction\n       * https://dev.wix.com/docs/rest/articles/getting-started/service-provider-interface\n       */\n      WIX_SPI = \"WIX_SPI\"\n  }\n  interface CreateExternalDatabaseConnectionResponse {\n      /** Details of external database connection created. */\n      externalDatabaseConnection?: ExternalDatabaseConnection;\n  }\n  interface UpdateExternalDatabaseConnectionRequest {\n      /** Updated external database connection details. The existing connection is replaced with this version. */\n      externalDatabaseConnection: ExternalDatabaseConnection;\n  }\n  interface UpdateExternalDatabaseConnectionResponse {\n      /** Updated external database connection details. */\n      externalDatabaseConnection?: ExternalDatabaseConnection;\n  }\n  interface DeleteExternalDatabaseConnectionRequest {\n      /** Name of the external database connection to delete. */\n      name: string;\n  }\n  interface DeleteExternalDatabaseConnectionResponse {\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves an external database connection by name.\n   * @param name - Name of the external database connection to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField name\n   * @permissionId WIX_DATA.GET_EXTERNAL_DATABASE_CONNECTION\n   * @adminMethod\n   * @returns Details of the external database connection requested.\n   */\n  function getExternalDatabaseConnection(name: string): Promise<ExternalDatabaseConnection>;\n  /**\n   * Retrieves a list of all external database collections associated with the site or project.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.LIST_EXTERNAL_DATABASE_CONNECTIONS\n   * @adminMethod\n   */\n  function listExternalDatabaseConnections(options?: ListExternalDatabaseConnectionsOptions): Promise<ListExternalDatabaseConnectionsResponse>;\n  interface ListExternalDatabaseConnectionsOptions {\n      /** Paging */\n      paging?: Paging$3;\n  }\n  /**\n   * Creates a new external database connection.\n   *\n   * The `externalDatabaseConnection` parameter must include a `name`, `endpoint`, and `configuration` details for the external database.\n   * If any of these are missing, the external database connection isn't created.\n   * @param externalDatabaseConnection - External database connection details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField externalDatabaseConnection\n   * @requiredField externalDatabaseConnection.name\n   * @requiredField options.connectionType\n   * @param options - Options for creating an external database connection.\n   * @permissionId WIX_DATA.CREATE_EXTERNAL_DATABASE_CONNECTION\n   * @adminMethod\n   * @returns Details of external database connection created.\n   */\n  function createExternalDatabaseConnection(externalDatabaseConnection: ExternalDatabaseConnection, options?: CreateExternalDatabaseConnectionOptions): Promise<ExternalDatabaseConnection>;\n  interface CreateExternalDatabaseConnectionOptions {\n      /** Connection type. */\n      connectionType: ConnectionType;\n      /**\n       * Indicates if database is managed by WIX.\n       * @internal\n       */\n      databaseManagedByWix?: boolean;\n  }\n  /**\n   * Updates an external database connection.\n   *\n   * An external database collection name must be provided in `name`.\n   * If an existing external database connection is found with the same name, that connection's details are updated.\n   * If no external database connection has that name, the request fails.\n   *\n   * > **Note:** After an external database connection is updated, it only contains the values provided in the request. All previous values are lost.\n   * @param name - Name of the external database connection.\n   * An external database connection may connect to one or more external data collections or tables.\n   * These are represented as `connectionName/dataCollectionId`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField externalDatabaseConnection\n   * @requiredField name\n   * @param options - Options for updating an external database connection.\n   * @param externalDatabaseConnection - Updated external database connection details. The existing connection is replaced with this version.\n   * @permissionId WIX_DATA.UPDATE_EXTERNAL_DATABASE_CONNECTION\n   * @adminMethod\n   * @returns Updated external database connection details.\n   */\n  function updateExternalDatabaseConnection(name: string, externalDatabaseConnection: UpdateExternalDatabaseConnection): Promise<ExternalDatabaseConnection>;\n  interface UpdateExternalDatabaseConnection {\n      /** Base URL for provisioning and managing data in the external database. For example: `https://example.com/my-external-database`. */\n      endpoint?: string | null;\n      /**\n       * Settings passed to the external database connection as part of each request.\n       * These settings can relate to authentication, tenancy, or provide any other information needed for processing a request.\n       * Their content and structure depend on the specific requirements of the external database's API.\n       */\n      configuration?: Record<string, any> | null;\n      /**\n       * Status of the external database connection. Includes whether the connection was established successfully, and if not, the reason for the failure.\n       * @readonly\n       */\n      connectionStatus?: ConnectionStatus;\n      /**\n       * The protocol version of the external database connection.\n       * @internal\n       * @readonly\n       */\n      protocolVersion?: ProtocolVersion;\n      /**\n       * The public key used to validate requests to the external database. Applicable only when the protocol version is `V3`.\n       * @internal\n       * @readonly\n       */\n      publicKey?: string | null;\n      /**\n       * The external database's capabilities.\n       * @readonly\n       */\n      capabilities?: Capabilities;\n      /**\n       * The ID of the app used to integrate this external database.\n       * @internal\n       * @readonly\n       */\n      applicationId?: string | null;\n  }\n  /**\n   * Deletes an external database connection.\n   *\n   * > **Note:** Once an external database connection is deleted, it can't be restored. To reconnect the database you need to create a new external database connection.\n   * @param name - Name of the external database connection to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField name\n   * @permissionId WIX_DATA.DELETE_EXTERNAL_DATABASE_CONNECTION\n   * @adminMethod\n   */\n  function deleteExternalDatabaseConnection(name: string): Promise<void>;\n  \n  type dataV1ExternalDatabaseConnection_universal_d_ExternalDatabaseConnection = ExternalDatabaseConnection;\n  type dataV1ExternalDatabaseConnection_universal_d_CauseOfFailure = CauseOfFailure;\n  const dataV1ExternalDatabaseConnection_universal_d_CauseOfFailure: typeof CauseOfFailure;\n  type dataV1ExternalDatabaseConnection_universal_d_CollectionsFound = CollectionsFound;\n  const dataV1ExternalDatabaseConnection_universal_d_CollectionsFound: typeof CollectionsFound;\n  type dataV1ExternalDatabaseConnection_universal_d_ConnectionStatus = ConnectionStatus;\n  type dataV1ExternalDatabaseConnection_universal_d_ProtocolVersion = ProtocolVersion;\n  const dataV1ExternalDatabaseConnection_universal_d_ProtocolVersion: typeof ProtocolVersion;\n  type dataV1ExternalDatabaseConnection_universal_d_Capabilities = Capabilities;\n  type dataV1ExternalDatabaseConnection_universal_d_GetExternalDatabaseConnectionRequest = GetExternalDatabaseConnectionRequest;\n  type dataV1ExternalDatabaseConnection_universal_d_GetExternalDatabaseConnectionResponse = GetExternalDatabaseConnectionResponse;\n  type dataV1ExternalDatabaseConnection_universal_d_ListExternalDatabaseConnectionsRequest = ListExternalDatabaseConnectionsRequest;\n  type dataV1ExternalDatabaseConnection_universal_d_ListExternalDatabaseConnectionsResponse = ListExternalDatabaseConnectionsResponse;\n  type dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionRequest = CreateExternalDatabaseConnectionRequest;\n  type dataV1ExternalDatabaseConnection_universal_d_ConnectionType = ConnectionType;\n  const dataV1ExternalDatabaseConnection_universal_d_ConnectionType: typeof ConnectionType;\n  type dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionResponse = CreateExternalDatabaseConnectionResponse;\n  type dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnectionRequest = UpdateExternalDatabaseConnectionRequest;\n  type dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnectionResponse = UpdateExternalDatabaseConnectionResponse;\n  type dataV1ExternalDatabaseConnection_universal_d_DeleteExternalDatabaseConnectionRequest = DeleteExternalDatabaseConnectionRequest;\n  type dataV1ExternalDatabaseConnection_universal_d_DeleteExternalDatabaseConnectionResponse = DeleteExternalDatabaseConnectionResponse;\n  const dataV1ExternalDatabaseConnection_universal_d_getExternalDatabaseConnection: typeof getExternalDatabaseConnection;\n  const dataV1ExternalDatabaseConnection_universal_d_listExternalDatabaseConnections: typeof listExternalDatabaseConnections;\n  type dataV1ExternalDatabaseConnection_universal_d_ListExternalDatabaseConnectionsOptions = ListExternalDatabaseConnectionsOptions;\n  const dataV1ExternalDatabaseConnection_universal_d_createExternalDatabaseConnection: typeof createExternalDatabaseConnection;\n  type dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionOptions = CreateExternalDatabaseConnectionOptions;\n  const dataV1ExternalDatabaseConnection_universal_d_updateExternalDatabaseConnection: typeof updateExternalDatabaseConnection;\n  type dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnection = UpdateExternalDatabaseConnection;\n  const dataV1ExternalDatabaseConnection_universal_d_deleteExternalDatabaseConnection: typeof deleteExternalDatabaseConnection;\n  namespace dataV1ExternalDatabaseConnection_universal_d {\n    export {\n      dataV1ExternalDatabaseConnection_universal_d_ExternalDatabaseConnection as ExternalDatabaseConnection,\n      dataV1ExternalDatabaseConnection_universal_d_CauseOfFailure as CauseOfFailure,\n      dataV1ExternalDatabaseConnection_universal_d_CollectionsFound as CollectionsFound,\n      FieldType$1 as FieldType,\n      dataV1ExternalDatabaseConnection_universal_d_ConnectionStatus as ConnectionStatus,\n      dataV1ExternalDatabaseConnection_universal_d_ProtocolVersion as ProtocolVersion,\n      dataV1ExternalDatabaseConnection_universal_d_Capabilities as Capabilities,\n      dataV1ExternalDatabaseConnection_universal_d_GetExternalDatabaseConnectionRequest as GetExternalDatabaseConnectionRequest,\n      dataV1ExternalDatabaseConnection_universal_d_GetExternalDatabaseConnectionResponse as GetExternalDatabaseConnectionResponse,\n      dataV1ExternalDatabaseConnection_universal_d_ListExternalDatabaseConnectionsRequest as ListExternalDatabaseConnectionsRequest,\n      Paging$3 as Paging,\n      dataV1ExternalDatabaseConnection_universal_d_ListExternalDatabaseConnectionsResponse as ListExternalDatabaseConnectionsResponse,\n      PagingMetadata$1 as PagingMetadata,\n      dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionRequest as CreateExternalDatabaseConnectionRequest,\n      dataV1ExternalDatabaseConnection_universal_d_ConnectionType as ConnectionType,\n      dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionResponse as CreateExternalDatabaseConnectionResponse,\n      dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnectionRequest as UpdateExternalDatabaseConnectionRequest,\n      dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnectionResponse as UpdateExternalDatabaseConnectionResponse,\n      dataV1ExternalDatabaseConnection_universal_d_DeleteExternalDatabaseConnectionRequest as DeleteExternalDatabaseConnectionRequest,\n      dataV1ExternalDatabaseConnection_universal_d_DeleteExternalDatabaseConnectionResponse as DeleteExternalDatabaseConnectionResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      dataV1ExternalDatabaseConnection_universal_d_getExternalDatabaseConnection as getExternalDatabaseConnection,\n      dataV1ExternalDatabaseConnection_universal_d_listExternalDatabaseConnections as listExternalDatabaseConnections,\n      dataV1ExternalDatabaseConnection_universal_d_ListExternalDatabaseConnectionsOptions as ListExternalDatabaseConnectionsOptions,\n      dataV1ExternalDatabaseConnection_universal_d_createExternalDatabaseConnection as createExternalDatabaseConnection,\n      dataV1ExternalDatabaseConnection_universal_d_CreateExternalDatabaseConnectionOptions as CreateExternalDatabaseConnectionOptions,\n      dataV1ExternalDatabaseConnection_universal_d_updateExternalDatabaseConnection as updateExternalDatabaseConnection,\n      dataV1ExternalDatabaseConnection_universal_d_UpdateExternalDatabaseConnection as UpdateExternalDatabaseConnection,\n      dataV1ExternalDatabaseConnection_universal_d_deleteExternalDatabaseConnection as deleteExternalDatabaseConnection,\n    };\n  }\n  \n  /** A data collection determines the structure of data to be stored in a database. */\n  interface DataCollection {\n      /** Collection ID. For example, `my-first-collection`. May include a namespace. */\n      _id?: string;\n      /**\n       * Collection type. Indicates how the collection was created and how it is stored.\n       * @readonly\n       */\n      collectionType?: CollectionType;\n      /**\n       * ID of the app that defined this collection. For collections defined by Wix users, this value is null.\n       * @readonly\n       */\n      ownerAppId?: string | null;\n      /**\n       * Maximum number of items returned in a single query, based on the underlying storage.\n       * Native collections have a maximum page size of 1000 for offset-based queries or 100 for cursor-based queries.\n       * External collections' maximum page size defaults to 50, but an external provider can set any maximum value up to 1000.\n       * @readonly\n       */\n      maxPageSize?: number | null;\n      /** Collection's display name as shown in the CMS. For example, `My First Collection`. */\n      displayName?: string | null;\n      /**\n       * Default item sorting order when a query doesn't specify one.\n       * @readonly\n       */\n      defaultDisplayOrder?: Sort;\n      /**\n       * UI-friendly namespace of the Wix app with which the data collection is associated, such as Stores or Bookings.\n       * Empty for all data collections not owned by Wix apps.\n       * @readonly\n       */\n      displayNamespace?: string | null;\n      /** Field whose value the CMS displays to represent the collection item when referenced in a different collection. */\n      displayField?: string | null;\n      /**\n       * Capabilities the collection supports.\n       * @readonly\n       */\n      capabilities?: CollectionCapabilities;\n      /** Collection's field structure. */\n      fields?: Field$1[];\n      /** Levels of permission for accessing and modifying data, defined by lowest role needed to perform each action. */\n      permissions?: Permissions;\n      /**\n       * Collection's current revision number, which increments each time the collection is updated. For an update operation to succeed, you must specify the latest revision number.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Plugins the collection uses. Plugins apply additional capabilities to the collection or extend its functionality. */\n      plugins?: Plugin[];\n      /**\n       * Paging modes the collection supports. In native collections, offset-based paging is supported by default.\n       * @readonly\n       */\n      pagingModes?: PagingMode[];\n      /**\n       * Date the collection was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the collection was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Levels of permission for accessing and modifying data.\n       * @internal\n       */\n      dataPermissions?: DataPermissions;\n      /**\n       * Actual data operations permitted for the caller. Included only if requested by `include_allowed_data_permissions`\n       * @internal\n       * @readonly\n       */\n      allowedDataPermissions?: AllowedDataPermissions;\n  }\n  enum CollectionType {\n      /** User-created collection. */\n      NATIVE = \"NATIVE\",\n      /** [Collection](https://support.wix.com/en/article/velo-working-with-wix-app-collections-and-code#what-are-wix-app-collections) created by a Wix app when it is installed. This type of collection can be modified dynamically by that app (for example, Wix Forms). */\n      WIX_APP = \"WIX_APP\",\n      /** Collection created by a Wix Blocks app. */\n      BLOCKS_APP = \"BLOCKS_APP\",\n      /** Collection located in externally connected storage. */\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface Sort {\n      /** Field to sort by. */\n      fieldKey?: string;\n      /**\n       * Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Default: `ASC`\n       */\n      direction?: Direction;\n  }\n  enum Direction {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CollectionCapabilities {\n      /**\n       * Data operations the collection supports. The listed operations can be performed on data the collection contains.\n       *\n       * > **Note**: The `PATCH` and `BULK_PATCH` oeprations aren't currently supported.\n       */\n      dataOperations?: DataOperation[];\n      /** Collection operations supported. The listed operations can be performed on the collection itself. */\n      collectionOperations?: CollectionOperation[];\n      /** Maximum number of indexes for the collection. */\n      indexLimits?: IndexLimits;\n  }\n  enum DataOperation {\n      AGGREGATE = \"AGGREGATE\",\n      BULK_INSERT = \"BULK_INSERT\",\n      BULK_REMOVE = \"BULK_REMOVE\",\n      BULK_SAVE = \"BULK_SAVE\",\n      BULK_UPDATE = \"BULK_UPDATE\",\n      COUNT = \"COUNT\",\n      DISTINCT = \"DISTINCT\",\n      FIND = \"FIND\",\n      GET = \"GET\",\n      INSERT = \"INSERT\",\n      INSERT_REFERENCE = \"INSERT_REFERENCE\",\n      IS_REFERENCED = \"IS_REFERENCED\",\n      QUERY_REFERENCED = \"QUERY_REFERENCED\",\n      REMOVE = \"REMOVE\",\n      REMOVE_REFERENCE = \"REMOVE_REFERENCE\",\n      REPLACE_REFERENCES = \"REPLACE_REFERENCES\",\n      SAVE = \"SAVE\",\n      TRUNCATE = \"TRUNCATE\",\n      UPDATE = \"UPDATE\",\n      PATCH = \"PATCH\",\n      BULK_PATCH = \"BULK_PATCH\"\n  }\n  enum CollectionOperation {\n      /** Allows updating the collection's structure, for example adding, updating, or deleting fields. If not included, the collection's structure can't be changed. */\n      UPDATE = \"UPDATE\",\n      /** Allows deleting the entire collection. If not included, the collection can't be deleted. */\n      REMOVE = \"REMOVE\"\n  }\n  interface IndexLimits {\n      /** Maximum number of regular (non-unique) indexes allowed for this collection. */\n      regular?: number;\n      /** Maximum number of unique indexes allowed for this collection. */\n      unique?: number;\n      /** Maximum number of regular and unique indexes allowed for this collection. */\n      total?: number;\n  }\n  interface Field$1 extends FieldRangeValidationsOneOf {\n      /** Range of possible values for a numerical field. */\n      numberRange?: NumberRange;\n      /** Length range permitted for a text field. Relevant for fields that hold strings, such as those of type `TEXT` or `RICH_TEXT`. */\n      stringLengthRange?: StringLengthRange;\n      /** Array size range permitted. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`. */\n      arraySizeRange?: ArraySizeRange;\n      /** Unique identifier for the field. For example, `firstName`. */\n      key?: string;\n      /** Field's display name when displayed in the CMS. For example, `First Name`. */\n      displayName?: string | null;\n      /** Field's data type. */\n      type?: FieldType;\n      /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */\n      typeMetadata?: TypeMetadata;\n      /**\n       * Whether the field is a system field.\n       * @readonly\n       */\n      systemField?: boolean;\n      /**\n       * Capabilities the field supports.\n       * @readonly\n       */\n      capabilities?: FieldCapabilities;\n      /** Whether the field is encrypted. */\n      encrypted?: boolean;\n      /** Field description. */\n      description?: string | null;\n      /** @internal */\n      plugin?: string | null;\n      /**\n       * Whether the field is read-only. A read-only field can't be changed.\n       *\n       * Default: `false`\n       */\n      readOnly?: boolean | null;\n      /**\n       * Whether the field is immutable. An immutable field can be set once, but then cannot be updated.\n       *\n       * Default: `false`\n       */\n      immutable?: boolean | null;\n      /**\n       * Whether the field is required.\n       *\n       * Default: `false`\n       */\n      required?: boolean | null;\n      /** Additional optional plugins for the field. */\n      plugins?: FieldPlugin[];\n      /**\n       * Whether the field is deleted. Returned only when `include_deleted_fields = true`.\n       * @internal\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  /** @oneof */\n  interface FieldRangeValidationsOneOf {\n      /** Range of possible values for a numerical field. */\n      numberRange?: NumberRange;\n      /** Length range permitted for a text field. Relevant for fields that hold strings, such as those of type `TEXT` or `RICH_TEXT`. */\n      stringLengthRange?: StringLengthRange;\n      /** Array size range permitted. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`. */\n      arraySizeRange?: ArraySizeRange;\n  }\n  enum FieldType {\n      UNKNOWN_FIELD_TYPE = \"UNKNOWN_FIELD_TYPE\",\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      DATE = \"DATE\",\n      DATETIME = \"DATETIME\",\n      IMAGE = \"IMAGE\",\n      BOOLEAN = \"BOOLEAN\",\n      DOCUMENT = \"DOCUMENT\",\n      URL = \"URL\",\n      RICH_TEXT = \"RICH_TEXT\",\n      VIDEO = \"VIDEO\",\n      ANY = \"ANY\",\n      ARRAY_STRING = \"ARRAY_STRING\",\n      ARRAY_DOCUMENT = \"ARRAY_DOCUMENT\",\n      AUDIO = \"AUDIO\",\n      TIME = \"TIME\",\n      LANGUAGE = \"LANGUAGE\",\n      RICH_CONTENT = \"RICH_CONTENT\",\n      MEDIA_GALLERY = \"MEDIA_GALLERY\",\n      ADDRESS = \"ADDRESS\",\n      PAGE_LINK = \"PAGE_LINK\",\n      REFERENCE = \"REFERENCE\",\n      MULTI_REFERENCE = \"MULTI_REFERENCE\",\n      OBJECT = \"OBJECT\",\n      ARRAY = \"ARRAY\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_TIME = \"LEGACY_TIME\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_BOOK = \"LEGACY_BOOK\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_EXTERNAL_URL = \"LEGACY_EXTERNAL_URL\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_BROKEN_REFERENCE = \"LEGACY_BROKEN_REFERENCE\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_IMAGE = \"LEGACY_IMAGE\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_COLOR = \"LEGACY_COLOR\",\n      /** Deprecated - can’t be added to collections. Can only appear in older collections. */\n      LEGACY_EXTERNAL_VIDEO = \"LEGACY_EXTERNAL_VIDEO\"\n  }\n  interface TypeMetadata extends TypeMetadataMetadataOneOf {\n      /** Metadata for a reference field. */\n      reference?: Reference;\n      /** Metadata for a multi-reference field. */\n      multiReference?: MultiReference;\n      /** Metadata for an object field. */\n      object?: Object$1;\n      /** Metadata for an array field. */\n      array?: Array$1;\n      /** Metadata for a page link field. */\n      pageLink?: PageLink;\n  }\n  /** @oneof */\n  interface TypeMetadataMetadataOneOf {\n      /** Metadata for a reference field. */\n      reference?: Reference;\n      /** Metadata for a multi-reference field. */\n      multiReference?: MultiReference;\n      /** Metadata for an object field. */\n      object?: Object$1;\n      /** Metadata for an array field. */\n      array?: Array$1;\n      /** Metadata for a page link field. */\n      pageLink?: PageLink;\n  }\n  interface FieldCapabilities {\n      /**\n       * Whether the collection can be sorted by this field.\n       *\n       * Default: `false`\n       */\n      sortable?: boolean;\n      /** Query operators that can be used for this field. */\n      queryOperators?: QueryOperator[];\n  }\n  enum QueryOperator {\n      EQ = \"EQ\",\n      LT = \"LT\",\n      GT = \"GT\",\n      NE = \"NE\",\n      LTE = \"LTE\",\n      GTE = \"GTE\",\n      STARTS_WITH = \"STARTS_WITH\",\n      ENDS_WITH = \"ENDS_WITH\",\n      CONTAINS = \"CONTAINS\",\n      HAS_SOME = \"HAS_SOME\",\n      HAS_ALL = \"HAS_ALL\",\n      EXISTS = \"EXISTS\",\n      URLIZED = \"URLIZED\"\n  }\n  interface ObjectField {\n      /** Field ID. */\n      key?: string;\n      /** Display name for the field. */\n      displayName?: string | null;\n      /** Field type. */\n      type?: FieldType;\n      /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */\n      typeMetadata?: TypeMetadata;\n      /**\n       * Capabilities the object field supports.\n       * @readonly\n       */\n      capabilities?: FieldCapabilities;\n  }\n  interface FieldsPattern {\n      pattern?: string;\n      lowercase?: boolean;\n  }\n  interface UrlizedOnlyPattern {\n      pattern?: string;\n  }\n  interface Calculator extends CalculatorPatternOneOf {\n      /** Value is calculated according to pattern, whitespaces are replaced with dash [-]. */\n      fieldsPattern?: FieldsPattern;\n      /** Value is only URL encoded. */\n      urlizedOnlyPattern?: UrlizedOnlyPattern;\n  }\n  /** @oneof */\n  interface CalculatorPatternOneOf {\n      /** Value is calculated according to pattern, whitespaces are replaced with dash [-]. */\n      fieldsPattern?: FieldsPattern;\n      /** Value is only URL encoded. */\n      urlizedOnlyPattern?: UrlizedOnlyPattern;\n  }\n  interface Reference {\n      /** Referenced collection ID. */\n      referencedCollectionId?: string;\n  }\n  interface MultiReference {\n      /** Referenced collection ID. */\n      referencedCollectionId?: string;\n      /** Referencing field ID. */\n      referencingFieldKey?: string;\n      /** Display name in the CMS for the referenced data. */\n      referencingDisplayName?: string;\n  }\n  interface Object$1 {\n      /** Fields within the object. */\n      fields?: ObjectField[];\n  }\n  interface Array$1 {\n      /** Element's data type. */\n      elementType?: FieldType;\n      /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */\n      typeMetadata?: TypeMetadata;\n  }\n  interface PageLink {\n      calculator?: Calculator;\n      /** Defines reference to router pattern in the site document. */\n      linkedRouterPage?: string | null;\n  }\n  interface NumberRange {\n      /**\n       * Minimum permitted value for a numerical field.\n       *\n       * Default: No validation\n       */\n      min?: number | null;\n      /**\n       * Maximum permitted value for a numerical field.\n       *\n       * Default: No validation\n       */\n      max?: number | null;\n  }\n  interface StringLengthRange {\n      /**\n       * Minimum permitted length for a text field.\n       *\n       * Default: No validation\n       */\n      minLength?: number | null;\n      /**\n       * Maximum permitted length for a text field.\n       *\n       * Default: No validation\n       */\n      maxLength?: number | null;\n  }\n  interface ArraySizeRange {\n      /**\n       * Minimum permitted number of items in an array field. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`.\n       *\n       * Default: No validation\n       */\n      minSize?: number | null;\n      /**\n       * Maximum permitted number of items in an array field. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`.\n       *\n       * Default: No validation\n       */\n      maxSize?: number | null;\n  }\n  /** Optional plug-in aspects for fields */\n  interface FieldPlugin extends FieldPluginOptionsOneOf {\n      /** Options for the CMS plugin. */\n      cmsOptions?: CmsOptions;\n      type?: FieldPluginType;\n  }\n  /** @oneof */\n  interface FieldPluginOptionsOneOf {\n      /** Options for the CMS plugin. */\n      cmsOptions?: CmsOptions;\n  }\n  enum FieldPluginType {\n      /** Uknown plugin type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** CMS-related field attributes */\n      CMS = \"CMS\"\n  }\n  /** Options for the CMS plugin. */\n  interface CmsOptions {\n      /**\n       * Indicates an internal CMS field. The CMS does not display internal fields.\n       *\n       * Default: `false`\n       */\n      internal?: boolean;\n  }\n  /** Permissions defined by the lowest role needed to perform each action. */\n  interface Permissions {\n      /** Lowest role needed to add a collection. */\n      insert?: Role;\n      /** Lowest role needed to update a collection. */\n      update?: Role;\n      /** Lowest role needed to remove a collection. */\n      remove?: Role;\n      /** Lowest role needed to read a collection. */\n      read?: Role;\n  }\n  enum Role {\n      /** Unknown role. */\n      UNKNOWN_ROLE = \"UNKNOWN_ROLE\",\n      /** Site administrator. */\n      ADMIN = \"ADMIN\",\n      /** Signed-in user who added content to this collection. */\n      SITE_MEMBER_AUTHOR = \"SITE_MEMBER_AUTHOR\",\n      /** Any signed-in user. */\n      SITE_MEMBER = \"SITE_MEMBER\",\n      /** Any site visitor. */\n      ANYONE = \"ANYONE\"\n  }\n  interface Plugin extends PluginOptionsOneOf {\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishOptions?: PublishPluginOptions$1;\n      /** Options for the Single Item plugin. */\n      singleItemOptions?: SingleItemPluginOptions;\n      /** Options for the Urlized plugin. */\n      urlizedOptions?: UrlizedPluginOptions;\n      /** Options for the Multilingual plugin. */\n      multilingualOptions?: MultilingualOptions;\n      /** Options for the PageLink plugin. */\n      editablePageLinkOptions?: PageLinkPluginOptions;\n      /** Options for the CMS plugin. */\n      cmsOptions?: PluginCmsOptions;\n      /** Plugin types. */\n      type?: Type;\n  }\n  /** @oneof */\n  interface PluginOptionsOneOf {\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishOptions?: PublishPluginOptions$1;\n      /** Options for the Single Item plugin. */\n      singleItemOptions?: SingleItemPluginOptions;\n      /** Options for the Urlized plugin. */\n      urlizedOptions?: UrlizedPluginOptions;\n      /** Options for the Multilingual plugin. */\n      multilingualOptions?: MultilingualOptions;\n      /** Options for the PageLink plugin. */\n      editablePageLinkOptions?: PageLinkPluginOptions;\n      /** Options for the CMS plugin. */\n      cmsOptions?: PluginCmsOptions;\n  }\n  enum Status$1 {\n      UNKNOWN_PUBLISH_PLUGIN_STATUS = \"UNKNOWN_PUBLISH_PLUGIN_STATUS\",\n      PUBLISHED = \"PUBLISHED\",\n      DRAFT = \"DRAFT\"\n  }\n  enum Format {\n      UNKNOWN_URLIZED_PLUGIN_FORMAT = \"UNKNOWN_URLIZED_PLUGIN_FORMAT\",\n      /** Letters are converted to lower case and spaces are replaced with dashes before generating the encoded URL. */\n      ORIGINAL = \"ORIGINAL\",\n      /** No changes are made before generating the encoded URL. */\n      PLAIN = \"PLAIN\"\n  }\n  /** if CMS-defined sort is enabled and should be used in site */\n  interface SiteSort {\n      /** Field and order for the site sort. */\n      sort?: Sort[];\n  }\n  enum Type {\n      /** Unknown plugin type. */\n      UNKNOWN_PLUGIN_TYPE = \"UNKNOWN_PLUGIN_TYPE\",\n      /** Allows items to be marked as either draft or published. For each item you can set a publishing time when the item will become visible to site visitors. */\n      PUBLISH = \"PUBLISH\",\n      /** Ensures the collection can have one item at most. Can only be applied to a new collection. */\n      SINGLE_ITEM = \"SINGLE_ITEM\",\n      /** Generates item URLs for collections used by dynamic pages. */\n      URLIZED = \"URLIZED\",\n      /** Deprecated. Will be removed in the future. */\n      GRIDAPPLESS = \"GRIDAPPLESS\",\n      /** Indicates that the collection is translatable. This allows you to manage translation for selected fields using [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual). */\n      MULTILINGUAL = \"MULTILINGUAL\",\n      /** Indicates that collection is shared with current site. */\n      SHARED = \"SHARED\",\n      /** Indicates that page link fields are persisted and can be updated. */\n      EDITABLE_PAGE_LINK = \"EDITABLE_PAGE_LINK\",\n      /** CMS-specific collection properties. */\n      CMS = \"CMS\"\n  }\n  interface PublishPluginOptions$1 {\n      /** Default status. */\n      defaultStatus?: Status$1;\n  }\n  interface SingleItemPluginOptions {\n      /** ID of the single item in this collection. If you insert or update an item, its ID value is always changed to this. */\n      singleItemId?: string;\n  }\n  interface UrlizedPluginOptions {\n      /** Encoding method for generating a URL in ASCII characters. */\n      format?: Format;\n  }\n  interface MultilingualOptions {\n      /** IDs of fields to allow translation. */\n      translatableFieldKeys?: string[];\n  }\n  interface PageLinkPluginOptions {\n      isPersisted?: boolean;\n      isMutable?: boolean;\n  }\n  interface PluginCmsOptions {\n      /** CMS sort, applied when a collection is displayed on a site. */\n      siteSort?: SiteSort;\n  }\n  enum PagingMode {\n      /** Offset-based paging. */\n      OFFSET = \"OFFSET\",\n      /** Cursor-based paging. */\n      CURSOR = \"CURSOR\"\n  }\n  /** Data permissions defined by access level for each action. */\n  interface DataPermissions {\n      /** Access level for data items read */\n      itemRead?: AccessLevel;\n      /** Access level for data items insert */\n      itemInsert?: AccessLevel;\n      /** Access level for data items update */\n      itemUpdate?: AccessLevel;\n      /** Access level for data items removal */\n      itemRemove?: AccessLevel;\n  }\n  /**\n   * Describes who can perform certain action.\n   * Each level includes all levels below it (except UNDEFINED).\n   */\n  enum AccessLevel {\n      /** Not set. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Any subject, including visitors. */\n      ANYONE = \"ANYONE\",\n      /** Any signed-in user (both site members and collaborators). */\n      SITE_MEMBER = \"SITE_MEMBER\",\n      /** Any signed-in user, but site members only have access to own items. */\n      SITE_MEMBER_AUTHOR = \"SITE_MEMBER_AUTHOR\",\n      /** Site collaborator that has a role with CMS Access permission. */\n      CMS_EDITOR = \"CMS_EDITOR\",\n      /** CMS administrators and users or roles granted with special access. */\n      PRIVILEGED = \"PRIVILEGED\"\n  }\n  interface AllowedDataPermissions {\n      /** If data items read permitted */\n      itemRead?: boolean;\n      /** If for data items insert permitted */\n      itemInsert?: boolean;\n      /** If data items update permitted */\n      itemUpdate?: boolean;\n      /** If data items removal permitted */\n      itemRemove?: boolean;\n  }\n  interface DataCollectionClonedEvent {\n      /** Instance ID of the collection from which the data is cloned. */\n      originInstanceId?: string;\n      /** ID of the collection from which the data is cloned. */\n      originId?: string;\n  }\n  interface DataCollectionChangedEvent {\n      /** list of new fields */\n      fieldsAdded?: Field$1[];\n      /** list of changed fields */\n      fieldsUpdated?: FieldUpdate$1[];\n      /** list of removed fields */\n      fieldsRemoved?: Field$1[];\n      /** list of new plugins */\n      pluginsAdded?: Plugin[];\n      /** list of changed plugins */\n      pluginsUpdated?: PluginUpdate[];\n      /** list of removed plugins */\n      pluginsRemoved?: Plugin[];\n  }\n  interface FieldUpdate$1 {\n      /** previous state of the field */\n      previous?: Field$1;\n      /** current state of the field */\n      current?: Field$1;\n  }\n  interface PluginUpdate {\n      /** previous state of the plugin */\n      previous?: Plugin;\n      /** current state of the plugin */\n      current?: Plugin;\n  }\n  interface CreateDataCollectionRequest {\n      /** Collection details. */\n      collection: DataCollection;\n  }\n  interface CreateDataCollectionResponse {\n      /** Details of collection created. */\n      collection?: DataCollection;\n  }\n  interface GetDataCollectionRequest {\n      /** ID of the collection to retrieve. */\n      dataCollectionId: string;\n      /**\n       * Whether to return all collections referenced by the requested collection.\n       *\n       * Default: `false`\n       * @internal\n       */\n      includeReferencedCollections?: boolean;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Whether to return deleted fields.\n       *\n       * Default: `false`\n       * @internal\n       */\n      includeDeletedFields?: boolean;\n      /**\n       * If set allowed for caller data permissions would be included in the response\n       * @internal\n       */\n      includeAllowedDataPermissions?: boolean;\n      /**\n       * Segment: PUBLIC or DEV.\n       * Impacts blocks apps collections only: if PUBLIC, only apps in published site are included.\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * List of specific field names to return, if empty all fields are returned.\n       * Affects all returned collections\n       */\n      fields?: string[];\n  }\n  enum Segment {\n      UNKNOWN_SEGMENT = \"UNKNOWN_SEGMENT\",\n      PUBLIC = \"PUBLIC\",\n      DEV = \"DEV\"\n  }\n  interface GetDataCollectionResponse {\n      /** Details of the collection requested. */\n      collection?: DataCollection;\n      /**\n       * Details of collections referenced by the collection requested.\n       * Only populated when `includeReferencedCollections` is `true` in the request.\n       */\n      referencedCollections?: DataCollection[];\n  }\n  interface ListDataCollectionsRequest {\n      /**\n       * Defines how collections in the response are sorted.\n       *\n       * Default: Ordered by ID in ascending order.\n       */\n      sort?: Sorting$1;\n      /** Pagination information. */\n      paging?: Paging$2;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * If set allowed for caller data permissions would be included in the response\n       * @internal\n       */\n      includeAllowedDataPermissions?: boolean;\n      /**\n       * Segment: PUBLIC or DEV.\n       * Impacts blocks apps collections only: if PUBLIC, only apps in published site are included.\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * List of specific field names to return, if empty all fields are returned.\n       * Affects all returned collections\n       */\n      fields?: string[];\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListDataCollectionsResponse {\n      /** List of collections. */\n      collections?: DataCollection[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n  }\n  interface BulkGetDataCollectionsRequest {\n      /** IDs of the collections to retrieve. */\n      dataCollectionIds?: string[];\n      /**\n       * Whether to include deleted collections.\n       *\n       * Default: `false`\n       */\n      showDeletedCollections?: boolean;\n      /**\n       * Whether the returned collection list should include referenced collections.\n       *\n       * Default: `false`\n       */\n      includeReferencedCollections?: boolean;\n      /** Sorting preferences. */\n      sort?: Sorting$1;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * If set allowed for caller data permissions would be included in the response\n       * @internal\n       */\n      includeAllowedDataPermissions?: boolean;\n      /**\n       * Segment: PUBLIC or DEV.\n       * Impacts blocks apps collections only: if PUBLIC, only apps in published site are included.\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * List of specific field names to return, if empty all fields are returned.\n       * Affects all returned collections\n       */\n      fields?: string[];\n  }\n  interface BulkGetDataCollectionsResponse {\n      /**\n       * List of requested collections.\n       * When `include_referenced_collections` is `true` in the request, referenced collections are included here.\n       */\n      activeCollections?: DataCollection[];\n      /** List of requested deleted collections. Only populated when `showDeletedCollections` is true in the request. */\n      deletedCollections?: DataCollection[];\n  }\n  interface UpdateDataCollectionRequest {\n      /** Updated collection details. The existing collection is replaced with this version. */\n      collection: DataCollection;\n  }\n  interface UpdateDataCollectionResponse {\n      /** Updated collection details. */\n      collection?: DataCollection;\n  }\n  interface DeleteDataCollectionRequest {\n      /** ID of the collection to delete. */\n      dataCollectionId: string;\n  }\n  interface DeleteDataCollectionResponse {\n  }\n  interface RestoreDataCollectionRequest {\n      /** Data Collection ID to restore */\n      dataCollectionId?: string;\n  }\n  interface RestoreDataCollectionResponse {\n      /** Restored data collection */\n      dataCollection?: DataCollection;\n  }\n  interface CreateDataCollectionFieldRequest {\n      /** ID of data collection to update */\n      dataCollectionId: string;\n      /** field to create */\n      field: Field$1;\n  }\n  interface CreateDataCollectionFieldResponse {\n      /** updated data collection */\n      dataCollection?: DataCollection;\n  }\n  interface UpdateDataCollectionFieldRequest {\n      /** ID of data collection to update */\n      dataCollectionId: string;\n      /** Field to update */\n      field: Field$1;\n  }\n  interface UpdateDataCollectionFieldResponse {\n      /** updated data collection */\n      dataCollection?: DataCollection;\n  }\n  interface DeleteDataCollectionFieldRequest {\n      /** ID of data collection to update */\n      dataCollectionId: string;\n      /** Field ID to delete */\n      fieldKey: string;\n  }\n  interface DeleteDataCollectionFieldResponse {\n      /** updated data collection */\n      dataCollection?: DataCollection;\n  }\n  interface UpdateDataPermissionsRequest {\n      /** ID of data collections to update */\n      dataCollectionId?: string;\n      /** Data permissions to set */\n      dataPermissions?: DataPermissions;\n  }\n  interface UpdateDataPermissionsResponse {\n      /** Updated data collection */\n      dataCollection?: DataCollection;\n  }\n  interface BulkGetDataCollectionsPageBySnapshotsRequest {\n      /** Ids of schema snapshot */\n      snapshotIds?: string[];\n      /** Pagination information. */\n      paging?: Paging$2;\n  }\n  interface BulkGetDataCollectionsPageBySnapshotsResponse {\n      /** List of snapshot collection map */\n      snapshotCollections?: SnapshotCollection[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface SnapshotCollection {\n      /** snapshot to which collection belongs */\n      snapshotId?: string;\n      /** snapshot collection */\n      collection?: DataCollection;\n      /** snapshot of collection indexes */\n      indexes?: Index$1[];\n  }\n  /** An index is a map of a collection's data, organized according to specific fields to increase query speed. */\n  interface Index$1 {\n      /** Name of the index. */\n      name?: string;\n      /**\n       * Fields for which the index is defined.\n       *\n       * Max: 3 fields (for a unique index: 1 field)\n       */\n      fields?: IndexField[];\n      /**\n       * Current status of the index.\n       * @readonly\n       */\n      status?: IndexStatus;\n      /**\n       * Contains details about the reasons for failure when `status` is `FAILED`.\n       * @readonly\n       */\n      failure?: Failure$1;\n      /**\n       * Whether the index enforces uniqueness of values in the field for which it is defined.\n       * If `true`, the index can have only one field.\n       *\n       * Default: `false`\n       */\n      unique?: boolean;\n      /**\n       * Whether the index ignores case.\n       *\n       * Default: `false`\n       */\n      caseInsensitive?: boolean;\n  }\n  /**\n   * Order determines how values are ordered in the index. This is important when\n   * ordering and/or range querying by indexed fields.\n   */\n  enum Order$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface IndexField {\n      /** Path of the field to index. For example: `title` or `options.price`. */\n      path?: string;\n      /**\n       * Sort order for the index. Base on how the data is regularly queried.\n       *\n       * Default: `ASC`\n       */\n      order?: Order$1;\n  }\n  enum IndexStatus {\n      /** Place holder. Never returned by the service. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Index creation is in progress. */\n      BUILDING = \"BUILDING\",\n      /** Index has been successfully created and can be used in queries. */\n      ACTIVE = \"ACTIVE\",\n      /** Index is in the process of being dropped. */\n      DROPPING = \"DROPPING\",\n      /** Index has been dropped successfully. */\n      DROPPED = \"DROPPED\",\n      /** Index creation has failed. */\n      FAILED = \"FAILED\",\n      /** Index contains incorrectly indexed data. */\n      INVALID = \"INVALID\"\n  }\n  interface Failure$1 {\n      /**\n       * Error code.\n       * - `WDE0112`: Unknown error while building collection index.\n       * - `WDE0113`: Duplicate key error while building collection index.\n       * - `WDE0114`: Document too large while building collection index.\n       */\n      code?: string;\n      /**\n       * Broad error code.\n       * - `WD_UNKNOWN_ERROR`: Unknown error.\n       * @internal\n       */\n      broadCode?: string;\n      /** Description of the failure. */\n      description?: string;\n      /**\n       * ID of the data item that caused the failure.\n       * For example, if `unique` is `true`, the ID of an item containing a duplicate value.\n       */\n      itemId?: string | null;\n  }\n  interface CreateDataCollectionsSnapshotRequest {\n  }\n  interface CreateDataCollectionsSnapshotResponse {\n      /** created snapshot ID */\n      snapshotId?: string;\n      /** data collections in snapshot */\n      snapshotCollections?: DataCollection[];\n  }\n  interface RestoreDataCollectionsFromSnapshotRequest {\n      /** snapshot ID to restore */\n      snapshotId?: string;\n      /**\n       * collection IDs to restore, if empty – all collections would be restored\n       * @deprecated\n       * @replacedBy restoration_collections\n       * @targetRemovalDate 2025-12-31\n       */\n      dataCollectionIds?: string[];\n      /** collection to restore, if empty – all collections would be restored */\n      restorationCollections?: RestorationCollection[];\n  }\n  interface Destination {\n      /** Collection id. */\n      dataCollectionId?: string;\n      /** Display name. When not specified value is taken from the snapshot. */\n      displayName?: string | null;\n  }\n  interface RestorationCollection {\n      /** Collection ID to restore */\n      dataCollectionId?: string;\n      /**\n       * Destination where to restore the collection.\n       * When not specified destination is taken from snapshot.\n       */\n      destination?: Destination;\n  }\n  interface RestoreDataCollectionsFromSnapshotResponse {\n      /** restored collections */\n      restoredCollections?: DataCollection[];\n  }\n  interface DeleteDataCollectionsSnapshotRequest {\n      /** snapshot ID to delete */\n      snapshotId?: string;\n  }\n  interface DeleteDataCollectionsSnapshotResponse {\n  }\n  interface CreateMigratedCollectionsSnapshotRequest {\n      existingSnapshotId?: string;\n      newNamespace?: string;\n      existingNamespace?: string;\n  }\n  interface CreateMigratedCollectionsSnapshotResponse {\n      snapshotId?: string;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new data collection.\n   *\n   * The request body must include an ID, details for at least 1 field, and a permissions object. If any of these are missing, the collection isn't created.\n   * @param collection - Collection details.\n   * @public\n   * @requiredField collection\n   * @requiredField collection._id\n   * @requiredField collection.fields.key\n   * @requiredField collection.fields.type\n   * @requiredField collection.permissions.insert\n   * @requiredField collection.permissions.read\n   * @requiredField collection.permissions.remove\n   * @requiredField collection.permissions.update\n   * @param options - Options for creating a data collection.\n   * @permissionId WIX_DATA.CREATE_COLLECTION\n   * @adminMethod\n   * @returns Details of collection created.\n   */\n  function createDataCollection(collection: DataCollection): Promise<DataCollection>;\n  /**\n   * Retrieves a data collection by ID.\n   * @param dataCollectionId - ID of the collection to retrieve.\n   * @public\n   * @requiredField dataCollectionId\n   * @param options - Options for retrieving a data collection.\n   * @permissionId WIX_DATA.GET_COLLECTION\n   * @returns Details of the collection requested.\n   */\n  function getDataCollection(dataCollectionId: string, options?: GetDataCollectionOptions): Promise<DataCollection>;\n  interface GetDataCollectionOptions {\n      /**\n       * Whether to return all collections referenced by the requested collection.\n       *\n       * Default: `false`\n       * @internal\n       */\n      includeReferencedCollections?: boolean;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Whether to return deleted fields.\n       *\n       * Default: `false`\n       * @internal\n       */\n      includeDeletedFields?: boolean;\n      /**\n       * If set allowed for caller data permissions would be included in the response\n       * @internal\n       */\n      includeAllowedDataPermissions?: boolean;\n      /**\n       * Segment: PUBLIC or DEV.\n       * Impacts blocks apps collections only: if PUBLIC, only apps in published site are included.\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * List of specific field names to return, if empty all fields are returned.\n       * Affects all returned collections\n       */\n      fields?: string[];\n  }\n  /**\n   * Retrieves a list of all data collections associated with the site or project.\n   *\n   * By default, the list is ordered by ID in ascending order.\n   * @public\n   * @param options - Options for retrieving a list of data collections.\n   * @permissionId WIX_DATA.LIST_COLLECTIONS\n   * @adminMethod\n   */\n  function listDataCollections(options?: ListDataCollectionsOptions): Promise<ListDataCollectionsResponse>;\n  interface ListDataCollectionsOptions {\n      /**\n       * Defines how collections in the response are sorted.\n       *\n       * Default: Ordered by ID in ascending order.\n       */\n      sort?: Sorting$1;\n      /** Pagination information. */\n      paging?: Paging$2;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * If set allowed for caller data permissions would be included in the response\n       * @internal\n       */\n      includeAllowedDataPermissions?: boolean;\n      /**\n       * Segment: PUBLIC or DEV.\n       * Impacts blocks apps collections only: if PUBLIC, only apps in published site are included.\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * List of specific field names to return, if empty all fields are returned.\n       * Affects all returned collections\n       */\n      fields?: string[];\n  }\n  /**\n   * Retrieves multiple data collections by ID.\n   * Used in frontend databinding to load multiple specific collections at once. For internal use only.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.BULK_GET_COLLECTIONS\n   */\n  function bulkGetDataCollections(options?: BulkGetDataCollectionsOptions): Promise<BulkGetDataCollectionsResponse>;\n  interface BulkGetDataCollectionsOptions {\n      /** IDs of the collections to retrieve. */\n      dataCollectionIds?: string[];\n      /**\n       * Whether to include deleted collections.\n       *\n       * Default: `false`\n       */\n      showDeletedCollections?: boolean;\n      /**\n       * Whether the returned collection list should include referenced collections.\n       *\n       * Default: `false`\n       */\n      includeReferencedCollections?: boolean;\n      /** Sorting preferences. */\n      sort?: Sorting$1;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency).\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * If set allowed for caller data permissions would be included in the response\n       * @internal\n       */\n      includeAllowedDataPermissions?: boolean;\n      /**\n       * Segment: PUBLIC or DEV.\n       * Impacts blocks apps collections only: if PUBLIC, only apps in published site are included.\n       * @internal\n       */\n      segment?: Segment;\n      /**\n       * List of specific field names to return, if empty all fields are returned.\n       * Affects all returned collections\n       */\n      fields?: string[];\n  }\n  /**\n   * Updates a data collection.\n   *\n   * A collection ID, revision number, permissions, and at least 1 field must be provided within the `collection` body parameter.\n   * If a collection with that ID exists, and if its current `revision` number matches the one provided, it is updated.\n   * Otherwise, the request fails.\n   *\n   * When a collection is updated, its `updatedDate` property is changed to the current date and its `revision` property is incremented.\n   *\n   * > **Note:**\n   * > After a collection is updated, it only contains the properties included in the Update Data Collection request. If the existing collection has properties with values and those properties\n   * > aren't included in the updated collection details, their values are lost.\n   * @param collection - Updated collection details. The existing collection is replaced with this version.\n   * @public\n   * @requiredField collection\n   * @requiredField collection._id\n   * @requiredField collection.fields.key\n   * @requiredField collection.fields.type\n   * @requiredField collection.permissions.insert\n   * @requiredField collection.permissions.read\n   * @requiredField collection.permissions.remove\n   * @requiredField collection.permissions.update\n   * @requiredField collection.revision\n   * @param options - Options for updating a data collection.\n   * @permissionId WIX_DATA.UPDATE_COLLECTION\n   * @adminMethod\n   * @returns Updated collection details.\n   */\n  function updateDataCollection(collection: DataCollection): Promise<DataCollection>;\n  /**\n   * Deletes a data collection.\n   *\n   * > **Note:**\n   * > Once a collection is deleted, it can only be restored for limited amount of time.\n   * @param dataCollectionId - ID of the collection to delete.\n   * @public\n   * @requiredField dataCollectionId\n   * @permissionId WIX_DATA.DELETE_COLLECTION\n   * @adminMethod\n   */\n  function deleteDataCollection(dataCollectionId: string): Promise<void>;\n  /**\n   * Restores recently deleted collection.\n   *\n   * Fails with `WDE0025` if collection was deleted too long ago or has never existed.\n   * @param dataCollectionId - Data Collection ID to restore\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField dataCollectionId\n   * @permissionId WIX_DATA.CREATE_COLLECTION\n   * @adminMethod\n   */\n  function restoreDataCollection(dataCollectionId: string): Promise<RestoreDataCollectionResponse>;\n  /**\n   * Adds new field to data collection schema\n   * @param dataCollectionId - ID of data collection to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField dataCollectionId\n   * @requiredField options\n   * @requiredField options.field\n   * @permissionId WIX_DATA.CREATE_COLLECTION_FIELD\n   * @adminMethod\n   */\n  function createDataCollectionField(dataCollectionId: string, options: CreateDataCollectionFieldOptions): Promise<CreateDataCollectionFieldResponse>;\n  interface CreateDataCollectionFieldOptions {\n      /** field to create */\n      field: Field$1;\n  }\n  /**\n   * Updates data collection field\n   * @param dataCollectionId - ID of data collection to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField dataCollectionId\n   * @requiredField options\n   * @requiredField options.field\n   * @permissionId WIX_DATA.UPDATE_COLLECTION_FIELD\n   * @adminMethod\n   */\n  function updateDataCollectionField(dataCollectionId: string, options: UpdateDataCollectionFieldOptions): Promise<UpdateDataCollectionFieldResponse>;\n  interface UpdateDataCollectionFieldOptions {\n      /** Field to update */\n      field: Field$1;\n  }\n  /**\n   * Deletes data collection field\n   * @param dataCollectionId - ID of data collection to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField dataCollectionId\n   * @requiredField options\n   * @requiredField options.fieldKey\n   * @permissionId WIX_DATA.DELETE_COLLECTION_FIELD\n   * @adminMethod\n   */\n  function deleteDataCollectionField(dataCollectionId: string, options: DeleteDataCollectionFieldOptions): Promise<DeleteDataCollectionFieldResponse>;\n  interface DeleteDataCollectionFieldOptions {\n      /** Field ID to delete */\n      fieldKey: string;\n  }\n  \n  type dataV2DataCollection_universal_d_DataCollection = DataCollection;\n  type dataV2DataCollection_universal_d_CollectionType = CollectionType;\n  const dataV2DataCollection_universal_d_CollectionType: typeof CollectionType;\n  type dataV2DataCollection_universal_d_Sort = Sort;\n  type dataV2DataCollection_universal_d_Direction = Direction;\n  const dataV2DataCollection_universal_d_Direction: typeof Direction;\n  type dataV2DataCollection_universal_d_CollectionCapabilities = CollectionCapabilities;\n  type dataV2DataCollection_universal_d_DataOperation = DataOperation;\n  const dataV2DataCollection_universal_d_DataOperation: typeof DataOperation;\n  type dataV2DataCollection_universal_d_CollectionOperation = CollectionOperation;\n  const dataV2DataCollection_universal_d_CollectionOperation: typeof CollectionOperation;\n  type dataV2DataCollection_universal_d_IndexLimits = IndexLimits;\n  type dataV2DataCollection_universal_d_FieldRangeValidationsOneOf = FieldRangeValidationsOneOf;\n  type dataV2DataCollection_universal_d_FieldType = FieldType;\n  const dataV2DataCollection_universal_d_FieldType: typeof FieldType;\n  type dataV2DataCollection_universal_d_TypeMetadata = TypeMetadata;\n  type dataV2DataCollection_universal_d_TypeMetadataMetadataOneOf = TypeMetadataMetadataOneOf;\n  type dataV2DataCollection_universal_d_FieldCapabilities = FieldCapabilities;\n  type dataV2DataCollection_universal_d_QueryOperator = QueryOperator;\n  const dataV2DataCollection_universal_d_QueryOperator: typeof QueryOperator;\n  type dataV2DataCollection_universal_d_ObjectField = ObjectField;\n  type dataV2DataCollection_universal_d_FieldsPattern = FieldsPattern;\n  type dataV2DataCollection_universal_d_UrlizedOnlyPattern = UrlizedOnlyPattern;\n  type dataV2DataCollection_universal_d_Calculator = Calculator;\n  type dataV2DataCollection_universal_d_CalculatorPatternOneOf = CalculatorPatternOneOf;\n  type dataV2DataCollection_universal_d_Reference = Reference;\n  type dataV2DataCollection_universal_d_MultiReference = MultiReference;\n  type dataV2DataCollection_universal_d_PageLink = PageLink;\n  type dataV2DataCollection_universal_d_NumberRange = NumberRange;\n  type dataV2DataCollection_universal_d_StringLengthRange = StringLengthRange;\n  type dataV2DataCollection_universal_d_ArraySizeRange = ArraySizeRange;\n  type dataV2DataCollection_universal_d_FieldPlugin = FieldPlugin;\n  type dataV2DataCollection_universal_d_FieldPluginOptionsOneOf = FieldPluginOptionsOneOf;\n  type dataV2DataCollection_universal_d_FieldPluginType = FieldPluginType;\n  const dataV2DataCollection_universal_d_FieldPluginType: typeof FieldPluginType;\n  type dataV2DataCollection_universal_d_CmsOptions = CmsOptions;\n  type dataV2DataCollection_universal_d_Permissions = Permissions;\n  type dataV2DataCollection_universal_d_Role = Role;\n  const dataV2DataCollection_universal_d_Role: typeof Role;\n  type dataV2DataCollection_universal_d_Plugin = Plugin;\n  type dataV2DataCollection_universal_d_PluginOptionsOneOf = PluginOptionsOneOf;\n  type dataV2DataCollection_universal_d_Format = Format;\n  const dataV2DataCollection_universal_d_Format: typeof Format;\n  type dataV2DataCollection_universal_d_SiteSort = SiteSort;\n  type dataV2DataCollection_universal_d_Type = Type;\n  const dataV2DataCollection_universal_d_Type: typeof Type;\n  type dataV2DataCollection_universal_d_SingleItemPluginOptions = SingleItemPluginOptions;\n  type dataV2DataCollection_universal_d_UrlizedPluginOptions = UrlizedPluginOptions;\n  type dataV2DataCollection_universal_d_MultilingualOptions = MultilingualOptions;\n  type dataV2DataCollection_universal_d_PageLinkPluginOptions = PageLinkPluginOptions;\n  type dataV2DataCollection_universal_d_PluginCmsOptions = PluginCmsOptions;\n  type dataV2DataCollection_universal_d_PagingMode = PagingMode;\n  const dataV2DataCollection_universal_d_PagingMode: typeof PagingMode;\n  type dataV2DataCollection_universal_d_DataPermissions = DataPermissions;\n  type dataV2DataCollection_universal_d_AccessLevel = AccessLevel;\n  const dataV2DataCollection_universal_d_AccessLevel: typeof AccessLevel;\n  type dataV2DataCollection_universal_d_AllowedDataPermissions = AllowedDataPermissions;\n  type dataV2DataCollection_universal_d_DataCollectionClonedEvent = DataCollectionClonedEvent;\n  type dataV2DataCollection_universal_d_DataCollectionChangedEvent = DataCollectionChangedEvent;\n  type dataV2DataCollection_universal_d_PluginUpdate = PluginUpdate;\n  type dataV2DataCollection_universal_d_CreateDataCollectionRequest = CreateDataCollectionRequest;\n  type dataV2DataCollection_universal_d_CreateDataCollectionResponse = CreateDataCollectionResponse;\n  type dataV2DataCollection_universal_d_GetDataCollectionRequest = GetDataCollectionRequest;\n  type dataV2DataCollection_universal_d_Segment = Segment;\n  const dataV2DataCollection_universal_d_Segment: typeof Segment;\n  type dataV2DataCollection_universal_d_GetDataCollectionResponse = GetDataCollectionResponse;\n  type dataV2DataCollection_universal_d_ListDataCollectionsRequest = ListDataCollectionsRequest;\n  type dataV2DataCollection_universal_d_ListDataCollectionsResponse = ListDataCollectionsResponse;\n  type dataV2DataCollection_universal_d_BulkGetDataCollectionsRequest = BulkGetDataCollectionsRequest;\n  type dataV2DataCollection_universal_d_BulkGetDataCollectionsResponse = BulkGetDataCollectionsResponse;\n  type dataV2DataCollection_universal_d_UpdateDataCollectionRequest = UpdateDataCollectionRequest;\n  type dataV2DataCollection_universal_d_UpdateDataCollectionResponse = UpdateDataCollectionResponse;\n  type dataV2DataCollection_universal_d_DeleteDataCollectionRequest = DeleteDataCollectionRequest;\n  type dataV2DataCollection_universal_d_DeleteDataCollectionResponse = DeleteDataCollectionResponse;\n  type dataV2DataCollection_universal_d_RestoreDataCollectionRequest = RestoreDataCollectionRequest;\n  type dataV2DataCollection_universal_d_RestoreDataCollectionResponse = RestoreDataCollectionResponse;\n  type dataV2DataCollection_universal_d_CreateDataCollectionFieldRequest = CreateDataCollectionFieldRequest;\n  type dataV2DataCollection_universal_d_CreateDataCollectionFieldResponse = CreateDataCollectionFieldResponse;\n  type dataV2DataCollection_universal_d_UpdateDataCollectionFieldRequest = UpdateDataCollectionFieldRequest;\n  type dataV2DataCollection_universal_d_UpdateDataCollectionFieldResponse = UpdateDataCollectionFieldResponse;\n  type dataV2DataCollection_universal_d_DeleteDataCollectionFieldRequest = DeleteDataCollectionFieldRequest;\n  type dataV2DataCollection_universal_d_DeleteDataCollectionFieldResponse = DeleteDataCollectionFieldResponse;\n  type dataV2DataCollection_universal_d_UpdateDataPermissionsRequest = UpdateDataPermissionsRequest;\n  type dataV2DataCollection_universal_d_UpdateDataPermissionsResponse = UpdateDataPermissionsResponse;\n  type dataV2DataCollection_universal_d_BulkGetDataCollectionsPageBySnapshotsRequest = BulkGetDataCollectionsPageBySnapshotsRequest;\n  type dataV2DataCollection_universal_d_BulkGetDataCollectionsPageBySnapshotsResponse = BulkGetDataCollectionsPageBySnapshotsResponse;\n  type dataV2DataCollection_universal_d_SnapshotCollection = SnapshotCollection;\n  type dataV2DataCollection_universal_d_IndexField = IndexField;\n  type dataV2DataCollection_universal_d_IndexStatus = IndexStatus;\n  const dataV2DataCollection_universal_d_IndexStatus: typeof IndexStatus;\n  type dataV2DataCollection_universal_d_CreateDataCollectionsSnapshotRequest = CreateDataCollectionsSnapshotRequest;\n  type dataV2DataCollection_universal_d_CreateDataCollectionsSnapshotResponse = CreateDataCollectionsSnapshotResponse;\n  type dataV2DataCollection_universal_d_RestoreDataCollectionsFromSnapshotRequest = RestoreDataCollectionsFromSnapshotRequest;\n  type dataV2DataCollection_universal_d_Destination = Destination;\n  type dataV2DataCollection_universal_d_RestorationCollection = RestorationCollection;\n  type dataV2DataCollection_universal_d_RestoreDataCollectionsFromSnapshotResponse = RestoreDataCollectionsFromSnapshotResponse;\n  type dataV2DataCollection_universal_d_DeleteDataCollectionsSnapshotRequest = DeleteDataCollectionsSnapshotRequest;\n  type dataV2DataCollection_universal_d_DeleteDataCollectionsSnapshotResponse = DeleteDataCollectionsSnapshotResponse;\n  type dataV2DataCollection_universal_d_CreateMigratedCollectionsSnapshotRequest = CreateMigratedCollectionsSnapshotRequest;\n  type dataV2DataCollection_universal_d_CreateMigratedCollectionsSnapshotResponse = CreateMigratedCollectionsSnapshotResponse;\n  const dataV2DataCollection_universal_d_createDataCollection: typeof createDataCollection;\n  const dataV2DataCollection_universal_d_getDataCollection: typeof getDataCollection;\n  type dataV2DataCollection_universal_d_GetDataCollectionOptions = GetDataCollectionOptions;\n  const dataV2DataCollection_universal_d_listDataCollections: typeof listDataCollections;\n  type dataV2DataCollection_universal_d_ListDataCollectionsOptions = ListDataCollectionsOptions;\n  const dataV2DataCollection_universal_d_bulkGetDataCollections: typeof bulkGetDataCollections;\n  type dataV2DataCollection_universal_d_BulkGetDataCollectionsOptions = BulkGetDataCollectionsOptions;\n  const dataV2DataCollection_universal_d_updateDataCollection: typeof updateDataCollection;\n  const dataV2DataCollection_universal_d_deleteDataCollection: typeof deleteDataCollection;\n  const dataV2DataCollection_universal_d_restoreDataCollection: typeof restoreDataCollection;\n  const dataV2DataCollection_universal_d_createDataCollectionField: typeof createDataCollectionField;\n  type dataV2DataCollection_universal_d_CreateDataCollectionFieldOptions = CreateDataCollectionFieldOptions;\n  const dataV2DataCollection_universal_d_updateDataCollectionField: typeof updateDataCollectionField;\n  type dataV2DataCollection_universal_d_UpdateDataCollectionFieldOptions = UpdateDataCollectionFieldOptions;\n  const dataV2DataCollection_universal_d_deleteDataCollectionField: typeof deleteDataCollectionField;\n  type dataV2DataCollection_universal_d_DeleteDataCollectionFieldOptions = DeleteDataCollectionFieldOptions;\n  namespace dataV2DataCollection_universal_d {\n    export {\n      dataV2DataCollection_universal_d_DataCollection as DataCollection,\n      dataV2DataCollection_universal_d_CollectionType as CollectionType,\n      dataV2DataCollection_universal_d_Sort as Sort,\n      dataV2DataCollection_universal_d_Direction as Direction,\n      dataV2DataCollection_universal_d_CollectionCapabilities as CollectionCapabilities,\n      dataV2DataCollection_universal_d_DataOperation as DataOperation,\n      dataV2DataCollection_universal_d_CollectionOperation as CollectionOperation,\n      dataV2DataCollection_universal_d_IndexLimits as IndexLimits,\n      Field$1 as Field,\n      dataV2DataCollection_universal_d_FieldRangeValidationsOneOf as FieldRangeValidationsOneOf,\n      dataV2DataCollection_universal_d_FieldType as FieldType,\n      dataV2DataCollection_universal_d_TypeMetadata as TypeMetadata,\n      dataV2DataCollection_universal_d_TypeMetadataMetadataOneOf as TypeMetadataMetadataOneOf,\n      dataV2DataCollection_universal_d_FieldCapabilities as FieldCapabilities,\n      dataV2DataCollection_universal_d_QueryOperator as QueryOperator,\n      dataV2DataCollection_universal_d_ObjectField as ObjectField,\n      dataV2DataCollection_universal_d_FieldsPattern as FieldsPattern,\n      dataV2DataCollection_universal_d_UrlizedOnlyPattern as UrlizedOnlyPattern,\n      dataV2DataCollection_universal_d_Calculator as Calculator,\n      dataV2DataCollection_universal_d_CalculatorPatternOneOf as CalculatorPatternOneOf,\n      dataV2DataCollection_universal_d_Reference as Reference,\n      dataV2DataCollection_universal_d_MultiReference as MultiReference,\n      Object$1 as Object,\n      Array$1 as Array,\n      dataV2DataCollection_universal_d_PageLink as PageLink,\n      dataV2DataCollection_universal_d_NumberRange as NumberRange,\n      dataV2DataCollection_universal_d_StringLengthRange as StringLengthRange,\n      dataV2DataCollection_universal_d_ArraySizeRange as ArraySizeRange,\n      dataV2DataCollection_universal_d_FieldPlugin as FieldPlugin,\n      dataV2DataCollection_universal_d_FieldPluginOptionsOneOf as FieldPluginOptionsOneOf,\n      dataV2DataCollection_universal_d_FieldPluginType as FieldPluginType,\n      dataV2DataCollection_universal_d_CmsOptions as CmsOptions,\n      dataV2DataCollection_universal_d_Permissions as Permissions,\n      dataV2DataCollection_universal_d_Role as Role,\n      dataV2DataCollection_universal_d_Plugin as Plugin,\n      dataV2DataCollection_universal_d_PluginOptionsOneOf as PluginOptionsOneOf,\n      Status$1 as Status,\n      dataV2DataCollection_universal_d_Format as Format,\n      dataV2DataCollection_universal_d_SiteSort as SiteSort,\n      dataV2DataCollection_universal_d_Type as Type,\n      PublishPluginOptions$1 as PublishPluginOptions,\n      dataV2DataCollection_universal_d_SingleItemPluginOptions as SingleItemPluginOptions,\n      dataV2DataCollection_universal_d_UrlizedPluginOptions as UrlizedPluginOptions,\n      dataV2DataCollection_universal_d_MultilingualOptions as MultilingualOptions,\n      dataV2DataCollection_universal_d_PageLinkPluginOptions as PageLinkPluginOptions,\n      dataV2DataCollection_universal_d_PluginCmsOptions as PluginCmsOptions,\n      dataV2DataCollection_universal_d_PagingMode as PagingMode,\n      dataV2DataCollection_universal_d_DataPermissions as DataPermissions,\n      dataV2DataCollection_universal_d_AccessLevel as AccessLevel,\n      dataV2DataCollection_universal_d_AllowedDataPermissions as AllowedDataPermissions,\n      dataV2DataCollection_universal_d_DataCollectionClonedEvent as DataCollectionClonedEvent,\n      dataV2DataCollection_universal_d_DataCollectionChangedEvent as DataCollectionChangedEvent,\n      FieldUpdate$1 as FieldUpdate,\n      dataV2DataCollection_universal_d_PluginUpdate as PluginUpdate,\n      dataV2DataCollection_universal_d_CreateDataCollectionRequest as CreateDataCollectionRequest,\n      dataV2DataCollection_universal_d_CreateDataCollectionResponse as CreateDataCollectionResponse,\n      dataV2DataCollection_universal_d_GetDataCollectionRequest as GetDataCollectionRequest,\n      dataV2DataCollection_universal_d_Segment as Segment,\n      dataV2DataCollection_universal_d_GetDataCollectionResponse as GetDataCollectionResponse,\n      dataV2DataCollection_universal_d_ListDataCollectionsRequest as ListDataCollectionsRequest,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$2 as Paging,\n      dataV2DataCollection_universal_d_ListDataCollectionsResponse as ListDataCollectionsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      dataV2DataCollection_universal_d_BulkGetDataCollectionsRequest as BulkGetDataCollectionsRequest,\n      dataV2DataCollection_universal_d_BulkGetDataCollectionsResponse as BulkGetDataCollectionsResponse,\n      dataV2DataCollection_universal_d_UpdateDataCollectionRequest as UpdateDataCollectionRequest,\n      dataV2DataCollection_universal_d_UpdateDataCollectionResponse as UpdateDataCollectionResponse,\n      dataV2DataCollection_universal_d_DeleteDataCollectionRequest as DeleteDataCollectionRequest,\n      dataV2DataCollection_universal_d_DeleteDataCollectionResponse as DeleteDataCollectionResponse,\n      dataV2DataCollection_universal_d_RestoreDataCollectionRequest as RestoreDataCollectionRequest,\n      dataV2DataCollection_universal_d_RestoreDataCollectionResponse as RestoreDataCollectionResponse,\n      dataV2DataCollection_universal_d_CreateDataCollectionFieldRequest as CreateDataCollectionFieldRequest,\n      dataV2DataCollection_universal_d_CreateDataCollectionFieldResponse as CreateDataCollectionFieldResponse,\n      dataV2DataCollection_universal_d_UpdateDataCollectionFieldRequest as UpdateDataCollectionFieldRequest,\n      dataV2DataCollection_universal_d_UpdateDataCollectionFieldResponse as UpdateDataCollectionFieldResponse,\n      dataV2DataCollection_universal_d_DeleteDataCollectionFieldRequest as DeleteDataCollectionFieldRequest,\n      dataV2DataCollection_universal_d_DeleteDataCollectionFieldResponse as DeleteDataCollectionFieldResponse,\n      dataV2DataCollection_universal_d_UpdateDataPermissionsRequest as UpdateDataPermissionsRequest,\n      dataV2DataCollection_universal_d_UpdateDataPermissionsResponse as UpdateDataPermissionsResponse,\n      dataV2DataCollection_universal_d_BulkGetDataCollectionsPageBySnapshotsRequest as BulkGetDataCollectionsPageBySnapshotsRequest,\n      dataV2DataCollection_universal_d_BulkGetDataCollectionsPageBySnapshotsResponse as BulkGetDataCollectionsPageBySnapshotsResponse,\n      dataV2DataCollection_universal_d_SnapshotCollection as SnapshotCollection,\n      Index$1 as Index,\n      Order$1 as Order,\n      dataV2DataCollection_universal_d_IndexField as IndexField,\n      dataV2DataCollection_universal_d_IndexStatus as IndexStatus,\n      Failure$1 as Failure,\n      dataV2DataCollection_universal_d_CreateDataCollectionsSnapshotRequest as CreateDataCollectionsSnapshotRequest,\n      dataV2DataCollection_universal_d_CreateDataCollectionsSnapshotResponse as CreateDataCollectionsSnapshotResponse,\n      dataV2DataCollection_universal_d_RestoreDataCollectionsFromSnapshotRequest as RestoreDataCollectionsFromSnapshotRequest,\n      dataV2DataCollection_universal_d_Destination as Destination,\n      dataV2DataCollection_universal_d_RestorationCollection as RestorationCollection,\n      dataV2DataCollection_universal_d_RestoreDataCollectionsFromSnapshotResponse as RestoreDataCollectionsFromSnapshotResponse,\n      dataV2DataCollection_universal_d_DeleteDataCollectionsSnapshotRequest as DeleteDataCollectionsSnapshotRequest,\n      dataV2DataCollection_universal_d_DeleteDataCollectionsSnapshotResponse as DeleteDataCollectionsSnapshotResponse,\n      dataV2DataCollection_universal_d_CreateMigratedCollectionsSnapshotRequest as CreateMigratedCollectionsSnapshotRequest,\n      dataV2DataCollection_universal_d_CreateMigratedCollectionsSnapshotResponse as CreateMigratedCollectionsSnapshotResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      dataV2DataCollection_universal_d_createDataCollection as createDataCollection,\n      dataV2DataCollection_universal_d_getDataCollection as getDataCollection,\n      dataV2DataCollection_universal_d_GetDataCollectionOptions as GetDataCollectionOptions,\n      dataV2DataCollection_universal_d_listDataCollections as listDataCollections,\n      dataV2DataCollection_universal_d_ListDataCollectionsOptions as ListDataCollectionsOptions,\n      dataV2DataCollection_universal_d_bulkGetDataCollections as bulkGetDataCollections,\n      dataV2DataCollection_universal_d_BulkGetDataCollectionsOptions as BulkGetDataCollectionsOptions,\n      dataV2DataCollection_universal_d_updateDataCollection as updateDataCollection,\n      dataV2DataCollection_universal_d_deleteDataCollection as deleteDataCollection,\n      dataV2DataCollection_universal_d_restoreDataCollection as restoreDataCollection,\n      dataV2DataCollection_universal_d_createDataCollectionField as createDataCollectionField,\n      dataV2DataCollection_universal_d_CreateDataCollectionFieldOptions as CreateDataCollectionFieldOptions,\n      dataV2DataCollection_universal_d_updateDataCollectionField as updateDataCollectionField,\n      dataV2DataCollection_universal_d_UpdateDataCollectionFieldOptions as UpdateDataCollectionFieldOptions,\n      dataV2DataCollection_universal_d_deleteDataCollectionField as deleteDataCollectionField,\n      dataV2DataCollection_universal_d_DeleteDataCollectionFieldOptions as DeleteDataCollectionFieldOptions,\n    };\n  }\n  \n  interface DataItem {\n      /** Data item ID. */\n      _id?: string;\n      /**\n       * ID of the collection this item belongs to\n       * @readonly\n       */\n      dataCollectionId?: string;\n      /**\n       * Data item contents.\n       *\n       * Property-value pairs representing the data item's payload. When retrieving a data item, it also includes the following read-only fields:\n       *\n       * + `_id`: Item ID.\n       * + `_createdDate`: Date and time the item was added to the collection.\n       * + `_updatedDate`: Date and time the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value.\n       * + `_ownerId`: ID of the user who created the item. Can be modified with site owner permissions.\n       */\n      data?: Record<string, any> | null;\n  }\n  interface InsertDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to insert the item. */\n      dataCollectionId: string;\n      /** Item to insert. */\n      dataItem: DataItem;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n  }\n  enum Environment$1 {\n      LIVE = \"LIVE\",\n      SANDBOX = \"SANDBOX\",\n      SANDBOX_PREFERRED = \"SANDBOX_PREFERRED\"\n  }\n  interface Options {\n      /**\n       * Should hooks execution be suppressed.\n       * This option can only be used with Corvid backend\n       * code identity.\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n      /** @internal */\n      publishPluginOptions?: PublishPluginOptions;\n  }\n  interface PublishPluginOptions {\n      showDraftItems?: boolean;\n  }\n  interface InsertDataItemResponse {\n      /** Inserted data item. */\n      dataItem?: DataItem;\n  }\n  interface PatchDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the existing item. */\n      dataCollectionId: string;\n      /** Patch set applied during item update. */\n      patchSet: PatchSet;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  interface PatchSet {\n      /** Data item ID. */\n      dataItemId?: string;\n      /** Set of field updates to be applied */\n      fieldUpdates?: FieldUpdate[];\n  }\n  interface FieldUpdate extends FieldUpdateActionOptionsOneOf {\n      setField?: SetField;\n      incrementField?: IncrementField;\n      appendToArray?: AppendToArray;\n      removeFromArray?: RemoveFromArray;\n      /** Field ID to be patched. For ex \"title\", \"address.street\" */\n      fieldPath?: string;\n      /** Action to be applied */\n      action?: ACTION;\n  }\n  /** @oneof */\n  interface FieldUpdateActionOptionsOneOf {\n      setField?: SetField;\n      incrementField?: IncrementField;\n      appendToArray?: AppendToArray;\n      removeFromArray?: RemoveFromArray;\n  }\n  enum ACTION {\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      SET_FIELD = \"SET_FIELD\",\n      REMOVE_FIELD = \"REMOVE_FIELD\",\n      INCREMENT_FIELD = \"INCREMENT_FIELD\",\n      APPEND_TO_ARRAY = \"APPEND_TO_ARRAY\",\n      REMOVE_FROM_ARRAY = \"REMOVE_FROM_ARRAY\"\n  }\n  interface SetField {\n      value?: any;\n  }\n  interface IncrementField {\n      value?: number;\n  }\n  interface AppendToArray {\n      value?: any;\n  }\n  interface RemoveFromArray {\n      value?: any;\n  }\n  interface DataPublishPluginOptions {\n      /**\n       * Whether to include draft items.\n       * When `true`, the response includes both published and draft items. Default: `false`.\n       */\n      includeDraftItems?: boolean;\n  }\n  interface PatchDataItemResponse {\n      /** Updated data item. */\n      dataItem?: DataItem;\n  }\n  interface BulkPatchDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to update items. */\n      dataCollectionId: string;\n      /** Patch sets to apply. */\n      patchSets: PatchSet[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to return the updated data items.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying:\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  interface BulkPatchDataItemsResponse {\n      /** Information about the updated items. */\n      results?: BulkDataItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDataItemResult {\n      /**\n       * The action attempted for the data item.\n       *\n       * Supported values: `UNKNOWN_ACTION_TYPE`, `INSERT`, `UPDATE`, `DELETE`.\n       */\n      action?: BulkActionType;\n      /** Metadata related to the data item for which the action was attempted. */\n      itemMetadata?: ItemMetadata;\n      /** The data item for which the action was attempted. Only returned if `returnEntity` is `true` in the request and the action is successful. */\n      dataItem?: DataItem;\n  }\n  enum BulkActionType {\n      UNKNOWN_ACTION_TYPE = \"UNKNOWN_ACTION_TYPE\",\n      INSERT = \"INSERT\",\n      UPDATE = \"UPDATE\",\n      DELETE = \"DELETE\",\n      PATCH = \"PATCH\"\n  }\n  interface ItemMetadata {\n      /** Item ID. This field doesn't appear if there is no item ID, for example, when item creation fails. */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n  }\n  interface UpdateDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the existing item. */\n      dataCollectionId: string;\n      /** Updated data item content. The existing data item's content is replaced entirely. */\n      dataItem: DataItem;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  interface UpdateDataItemResponse {\n      /** Updated data item. */\n      dataItem?: DataItem;\n  }\n  interface SaveDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to insert or update the item. */\n      dataCollectionId: string;\n      /** Data item to insert or update. */\n      dataItem: DataItem;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  interface SaveDataItemResponse {\n      /** The action carried out for the item. */\n      action?: Action;\n      /** Inserted or updated data item. */\n      dataItem?: DataItem;\n  }\n  enum Action {\n      /** Undefined action. */\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      /** A new item was added to the collection. */\n      INSERTED = \"INSERTED\",\n      /** An existing item in the collection was updated. */\n      UPDATED = \"UPDATED\"\n  }\n  interface GetDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection from which to retrieve the data item. */\n      dataCollectionId: string;\n      /** ID of the data item to retrieve. */\n      dataItemId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Fields to return for the item. Only fields specified in the array are included in the response. If the array is empty, all fields are returned.\n       * **Note:** The `_id` system field is always returned.\n       */\n      fields?: string[];\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  interface GetDataItemResponse {\n      /** Retrieved item. */\n      dataItem?: DataItem;\n  }\n  interface RemoveDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection from which to remove the item. */\n      dataCollectionId: string;\n      /** ID of the item to remove. */\n      dataItemId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  interface RemoveDataItemResponse {\n      /** Removed item. */\n      dataItem?: DataItem;\n  }\n  interface TruncateDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection to truncate. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n  }\n  interface TruncateDataItemsResponse {\n  }\n  interface QueryDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection to query. */\n      dataCollectionId: string;\n      /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */\n      query?: QueryV2;\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Properties for which to include referenced items in the query's results.\n       * Up to 50 referenced items can be included for each item that matches the query.\n       * @deprecated\n       * @replacedBy referenced_item_options\n       * @targetRemovalDate 2025-08-01\n       */\n      includeReferencedItems?: string[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Request information about this collection caching\n       * @internal\n       */\n      requestCachingInfo?: boolean;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n      /** Options for retrieving referenced items. */\n      referencedItemOptions?: ReferencedItemOptions[];\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       *\n       * Examples of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       *\n       * **Note:** The values you provide for each field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /**\n       * Fields to return for each item. Only fields specified in the array are included in the response. If the array is empty, all fields are returned.\n       * **Note:** The `_id` system field is always returned.\n       */\n      fields?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       *\n       * Supported values: `ASC`, `DESC`.\n       */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ReferencedItemOptions {\n      /** Field containing references in the queried item. */\n      fieldName?: string;\n      /** Maximum number of referenced items to include for each queried item. */\n      limit?: number | null;\n  }\n  interface QueryDataItemsResponse {\n      /** Retrieved items. */\n      dataItems?: DataItem[];\n      /**\n       * Caching info, returned if `request_caching_info` is set and caching is allowed\n       * @internal\n       */\n      cachingInfo?: CachingInfo;\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface CachingInfo {\n      /** Caching tags for this collection */\n      tags?: string[];\n      /** max caching time if set */\n      maxAge?: number | null;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used, `returnTotalCount` is `true` in the request, and `tooManyToCount` is false. */\n      total?: number | null;\n      /** Whether the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AggregateDataItemsRequest extends AggregateDataItemsRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection on which to run the aggregation. */\n      dataCollectionId: string;\n      /**\n       * Filter applied to the collection's data prior to running the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object.\n       *\n       * **Note:** The values you provide for each filter field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).\n       */\n      initialFilter?: Record<string, any> | null;\n      /** Aggregation applied to the data. */\n      aggregation?: Aggregation;\n      /**\n       * Filter applied to the processed data following the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object.\n       * **Note:** The values you provide for each filter field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).\n       */\n      finalFilter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /** @oneof */\n  interface AggregateDataItemsRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Average {\n      /** Name of the field for which to calculate the average value. */\n      itemFieldName?: string;\n  }\n  interface Min {\n      /** Name of the field for which to calculate the minimum value. */\n      itemFieldName?: string;\n  }\n  interface Max {\n      /** Name of the field for which to calculate the maximum value. */\n      itemFieldName?: string;\n  }\n  interface Sum {\n      /** Name of the field for which to calculate the sum. */\n      itemFieldName?: string;\n  }\n  interface Count {\n  }\n  interface Operation extends OperationCalculateOneOf {\n      /** Calculate the average value of a specified field for all items in the grouping. */\n      average?: Average;\n      /** Calculate the minimum value of a specified field for all items in the grouping. */\n      min?: Min;\n      /** Calculate the maximum value of a specified field for all items in the grouping. */\n      max?: Max;\n      /** Calculate the sum of values of a specified field for all items in the grouping. */\n      sum?: Sum;\n      /** Calculate the number of items in the grouping. */\n      itemCount?: Count;\n      /** Name of the field containing results of the operation. */\n      resultFieldName?: string;\n  }\n  /** @oneof */\n  interface OperationCalculateOneOf {\n      /** Calculate the average value of a specified field for all items in the grouping. */\n      average?: Average;\n      /** Calculate the minimum value of a specified field for all items in the grouping. */\n      min?: Min;\n      /** Calculate the maximum value of a specified field for all items in the grouping. */\n      max?: Max;\n      /** Calculate the sum of values of a specified field for all items in the grouping. */\n      sum?: Sum;\n      /** Calculate the number of items in the grouping. */\n      itemCount?: Count;\n  }\n  interface Aggregation {\n      /** Fields by which to group items for the aggregation. If empty, the aggregation is carried out on all items in the collection. */\n      groupingFields?: string[];\n      /** Operations to carry out on the data in each grouping. */\n      operations?: Operation[];\n  }\n  interface AggregateDataItemsResponse {\n      /** Aggregation results. */\n      results?: Record<string, any>[] | null;\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface CountDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection for which to count query results. */\n      dataCollectionId: string;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`.\n       *\n       * Examples of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`.\n       *\n       * **Note:** The values you provide for each field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  interface CountDataItemsResponse {\n      /** Number of items matching the query. */\n      totalCount?: number;\n  }\n  interface QueryDistinctValuesRequest extends QueryDistinctValuesRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection to query. */\n      dataCollectionId: string;\n      /** Item field name for which to return all distinct values. */\n      fieldName?: string;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`.\n       *\n       * Examples of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`.\n       *\n       * **Note:** The values you provide for each field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort order.\n       *\n       * Supported values: `ASC`, `DESC`.\n       */\n      order?: SortOrder;\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /** @oneof */\n  interface QueryDistinctValuesRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface QueryDistinctValuesResponse {\n      /** List of distinct values contained in the field specified in `fieldName`. */\n      distinctValues?: any[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface BulkInsertDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to insert the items. */\n      dataCollectionId: string;\n      /** Data items to insert. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options.\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to return the inserted data items.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n  }\n  interface BulkInsertDataItemsResponse {\n      /** Information about the inserted items. */\n      results?: BulkDataItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUpdateDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to update items. */\n      dataCollectionId: string;\n      /** Data items to update. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to return the updated data items.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  interface BulkUpdateDataItemsResponse {\n      /** Information about the updated items. */\n      results?: BulkDataItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkSaveDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to insert or update the items. */\n      dataCollectionId: string;\n      /** Data items to insert or update. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to return the saved data item.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  interface BulkSaveDataItemsResponse {\n      /** Information about the saved items. */\n      results?: BulkDataItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkRemoveDataItemsRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection from which to remove the item. */\n      dataCollectionId: string;\n      /** IDs of data items to remove. */\n      dataItemIds: string[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  interface BulkRemoveDataItemsResponse {\n      /** Information about the removed data items. */\n      results?: BulkDataItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface QueryReferencedDataItemsRequest extends QueryReferencedDataItemsRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** ID of the referring item. */\n      referringItemId?: string;\n      /** Field containing references in the referring item. */\n      referringItemFieldName?: string;\n      /** Order of the returned referenced items. Sorted by the date each item was referenced. */\n      order?: SortOrder;\n      /**\n       * Whether to return the total count in the response.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Fields to return for each referenced item. Only fields specified in the array are included in the response. If the array is empty, all fields are returned.\n       * **Note:** The `_id` system field is always returned.\n       */\n      fields?: string[];\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying:\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n      /**\n       * IDs of the referring items.\n       * @internal\n       */\n      referringItemIds?: string[];\n  }\n  /** @oneof */\n  interface QueryReferencedDataItemsRequestPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface QueryReferencedDataItemsResponse {\n      /** Referenced items and/or IDs. For successfully resolved references, the referenced data item is returned. For references that can't be resolved, the ID is returned. */\n      results?: ReferencedResult[];\n      /** Paging information. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface UnresolvedReference {\n      /**\n       * ID of the referring item.\n       * @deprecated\n       * @targetRemovalDate 2025-03-01\n       */\n      referringItemId?: string;\n      /**\n       * Field specified to query for references.\n       * @deprecated\n       * @targetRemovalDate 2025-03-01\n       */\n      referringItemFieldName?: string;\n      /** ID of unresolved referenced item */\n      referencedItemId?: string;\n      /** Flag is set if item exists, but user is not authorized to read it */\n      unauthorized?: boolean;\n  }\n  interface ReferencedResult extends ReferencedResultEntityOneOf {\n      /** Data item referenced. */\n      dataItem?: DataItem;\n      /** Unresolved reference. Appears instead of the data item when the reference doesn't resolve, for example, when an ID isn't found or if an item is in draft state. */\n      unresolvedReference?: UnresolvedReference;\n      /** ID of the referring item. */\n      referringItemId?: string;\n  }\n  /** @oneof */\n  interface ReferencedResultEntityOneOf {\n      /** Data item referenced. */\n      dataItem?: DataItem;\n      /** Unresolved reference. Appears instead of the data item when the reference doesn't resolve, for example, when an ID isn't found or if an item is in draft state. */\n      unresolvedReference?: UnresolvedReference;\n  }\n  interface IsReferencedDataItemRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring data item. */\n      dataCollectionId: string;\n      /** Field to check for a reference to the item that may be referenced. */\n      referringItemFieldName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** ID of the item that may be referenced. */\n      referencedItemId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n  }\n  interface IsReferencedDataItemResponse {\n      /** Whether the specified reference exists. */\n      isReferenced?: boolean;\n  }\n  interface InsertDataItemReferenceRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to insert the reference. */\n      dataCollectionId: string;\n      /** Reference to insert */\n      dataItemReference?: DataItemReference;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n  }\n  interface DataItemReference {\n      /** Referring item field containing the references to the referenced items. */\n      referringItemFieldName?: string;\n      /** ID of the referring item. */\n      referringItemId?: string;\n      /** ID of the referenced item. */\n      referencedItemId?: string;\n  }\n  interface InsertDataItemReferenceResponse {\n      /** Inserted reference. */\n      dataItemReference?: DataItemReference;\n  }\n  interface RemoveDataItemReferenceRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** Reference to remove. */\n      dataItemReference: DataItemReference;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n  }\n  interface RemoveDataItemReferenceResponse {\n      /** Removed reference. */\n      dataItemReference?: DataItemReference;\n  }\n  interface BulkInsertDataItemReferencesRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring items. */\n      dataCollectionId: string;\n      /** References to insert. */\n      dataItemReferences: DataItemReference[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to return the inserted data item references.\n       * When `true`, the `results` objects contain a `dataItemReference` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n  }\n  interface BulkInsertDataItemReferencesResponse {\n      /** Information about the inserted references. */\n      results?: BulkDataItemReferenceResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDataItemReferenceResult {\n      /**\n       * The action attempted for the reference.\n       *\n       * Supported values: `UNKNOWN_ACTION_TYPE`, `INSERT`, `UPDATE`, `DELETE`.\n       */\n      action?: BulkActionType;\n      /** Metadata related to the reference for which the action was attempted. */\n      referenceMetadata?: ItemMetadata;\n      /** The reference for which the action was attempted. Only returned if `returnEntity` is `true` in the request and the action is successful. */\n      dataItemReference?: DataItemReference;\n  }\n  interface BulkRemoveDataItemReferencesRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring items. */\n      dataCollectionId: string;\n      /** References to remove. */\n      dataItemReferences: DataItemReference[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n  }\n  interface BulkRemoveDataItemReferencesResponse {\n      /** Information about the removed references. */\n      results?: BulkDataItemReferenceResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ReplaceDataItemReferencesRequest {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** Field containing references in the referring item. */\n      referringItemFieldName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** List of new referenced item IDs to replace the existing ones. */\n      newReferencedItemIds?: string[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n  }\n  interface ReplaceDataItemReferencesResponse {\n      /** Updated references. */\n      dataItemReferences?: DataItemReference[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Adds an item to a collection.\n   *\n   *\n   * An item can only be inserted into an existing connection.\n   * You can create a new collection using the Data Collections API.\n   *\n   * When an item is inserted into a collection, the item's ID is automatically assigned a random value.\n   * You can optionally provide a custom ID in `dataItem.id` when inserting the item.\n   * If you specify an ID that already exists in the collection, the insertion will fail.\n   *\n   * If `options.dataItem.data` is empty, a new item is created with no data fields.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItem\n   * @param options - Options for adding an item to a collection.\n   * @permissionId WIX_DATA.INSERT\n   * @adminMethod\n   */\n  function insertDataItem(options?: InsertDataItemOptions): Promise<InsertDataItemResponse>;\n  interface InsertDataItemOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to insert the item. */\n      dataCollectionId: string;\n      /** Item to insert. */\n      dataItem: DataItem;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n  }\n  /** @param dataItemId - Data item ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField dataItemId\n   * @requiredField options.dataCollectionId\n   * @requiredField options.patchSet\n   * @permissionId WIX_DATA.PATCH\n   * @adminMethod\n   */\n  function patchDataItem(dataItemId: string, options?: PatchDataItemOptions): Promise<PatchDataItemResponse>;\n  interface PatchDataItemOptions {\n      patchSet: {\n          /** Set of field updates to be applied */\n          fieldUpdates?: FieldUpdate[];\n      };\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the existing item. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.patchSets\n   * @permissionId WIX_DATA.BULK_PATCH\n   * @adminMethod\n   */\n  function bulkPatchDataItems(options?: BulkPatchDataItemsOptions): Promise<BulkPatchDataItemsResponse>;\n  interface BulkPatchDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to update items. */\n      dataCollectionId: string;\n      /** Patch sets to apply. */\n      patchSets: PatchSet[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to return the updated data items.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying:\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Updates an item in a collection.\n   *\n   *\n   * This function replaces the data item's existing data with the payload provided in `options.dataItem.data` in the request.\n   *\n   * To update an item, you need to specify an item ID and a collection ID.\n   * If an item is found in the specified collection with the specified ID, that item is updated.\n   * If the collection doesn't contain an item with that ID, the request fails.\n   *\n   * When an item is updated, its `data._updatedDate` field is changed to the current date and time.\n   *\n   * > **Note:**\n   * > After an item is updated, it only contains the fields included in the `options.dataItem.data` payload in the `updateDataItem()` call.\n   * > If the existing item has fields with values and those fields aren't included in the updated item, their values are lost.\n   * @param _id - Data item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItem\n   * @param options - Options for updating an item in a collection.\n   * @permissionId WIX_DATA.UPDATE\n   * @adminMethod\n   */\n  function updateDataItem(_id: string, options?: UpdateDataItemOptions): Promise<UpdateDataItemResponse>;\n  interface UpdateDataItemOptions {\n      /** Updated data item content. The existing data item's content is replaced entirely. */\n      dataItem: {\n          /** Data item ID. */\n          _id?: string;\n          /**\n           * ID of the collection this item belongs to\n           * @readonly\n           */\n          dataCollectionId?: string;\n          /**\n           * Data item contents.\n           *\n           * Property-value pairs representing the data item's payload. When retrieving a data item, it also includes the following read-only fields:\n           *\n           * + `_id`: Item ID.\n           * + `_createdDate`: Date and time the item was added to the collection.\n           * + `_updatedDate`: Date and time the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value.\n           * + `_ownerId`: ID of the user who created the item. Can be modified with site owner permissions.\n           */\n          data?: Record<string, any> | null;\n      };\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the existing item. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Inserts or updates an item in a collection.\n   *\n   *\n   * The `saveDataItem()` function inserts or updates the specified item, depending on whether it already exists in the collection.\n   *\n   * + If you don't provide an ID, a new item is created.\n   *\n   * + If you provide an ID that does not exist in the collection, a new item is created with that ID.\n   *\n   * + If an item with the ID you provide already exists in the collection, that item is updated. When an item is updated, its `data._updatedDate` field is changed to the current date and time.\n   *\n   * > **Note:** When you provide an item with an ID that already exists in the collection, the payload you provide in `options.dataItem.data` replaces the existing item with that ID.\n   * > This means that the item's previous fields and values are lost.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItem\n   * @param options - Options for saving an item in a collection.\n   * @permissionId WIX_DATA.SAVE\n   * @adminMethod\n   */\n  function saveDataItem(options?: SaveDataItemOptions): Promise<SaveDataItemResponse>;\n  interface SaveDataItemOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to insert or update the item. */\n      dataCollectionId: string;\n      /** Data item to insert or update. */\n      dataItem: DataItem;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * If true, referenced items will be included.\n       * @internal\n       */\n      includeReferencedItems?: boolean;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Retrieves an item from a collection.\n   *\n   *\n   * > **Note**: When calling `getDataItem()` following an update to your collection, the data retrieved may not contain the most recent changes. If you need the most up-to-date data, set `options.consistentRead` to `true`.\n   * @param dataItemId - ID of the data item to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField dataItemId\n   * @requiredField options.dataCollectionId\n   * @param options - Options for retrieving an item from a collection.\n   * @permissionId WIX_DATA.GET\n   * @adminMethod\n   * @returns Retrieved item.\n   */\n  function getDataItem(dataItemId: string, options?: GetDataItemOptions): Promise<DataItem>;\n  interface GetDataItemOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection from which to retrieve the data item. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Fields to return for the item. Only fields specified in the array are included in the response. If the array is empty, all fields are returned.\n       * **Note:** The `_id` system field is always returned.\n       */\n      fields?: string[];\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Removes an item from a collection.\n   *\n   *\n   * If any items in other collections reference the removed item in reference or multi-reference fields, those fields are cleared.\n   *\n   * > **Note:**\n   * > Once an item has been removed from a collection, it can't be restored.\n   * @param dataItemId - ID of the item to remove.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField dataItemId\n   * @requiredField options.dataCollectionId\n   * @param options - Options for removing an item from a collection.\n   * @permissionId WIX_DATA.REMOVE\n   * @adminMethod\n   */\n  function removeDataItem(dataItemId: string, options?: RemoveDataItemOptions): Promise<RemoveDataItemResponse>;\n  interface RemoveDataItemOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection from which to remove the item. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Removes all items from a collection.\n   *\n   *\n   * If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared.\n   *\n   * > **Note:**\n   * > Once items have been removed from a collection, they can't be restored.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @param options - Options for truncating data items from a collection.\n   * @permissionId WIX_DATA.TRUNCATE\n   * @adminMethod\n   */\n  function truncateDataItems(options?: TruncateDataItemsOptions): Promise<void>;\n  interface TruncateDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection to truncate. */\n      dataCollectionId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n  }\n  /**\n   * Creates a query to retrieve items from a database collection.\n   *\n   * The `queryDataItems()` function builds a query to retrieve data items from a collection and returns a `DataItemsQueryBuilder` object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `DataItemsQueryBuilder` functions onto the query. `DataItemsQueryBuilder` functions enable you to sort, filter, and control the results that `queryDataItems()` returns.\n   *\n   * The `queryDataItems()` function runs with the following `DataItemsQueryBuilder` defaults that you can override:\n   *\n   * + `skip`: 0\n   * + `limit`: 50\n   * + `descending`: by `_createdDate`\n   *\n   * The functions that are chained to `queryDataItems()` are applied in the order they are called. For example, if you sort on an `age` field in ascending order and then on a `name` field in descending order, the results are sorted first by the age of the items and then, if there are multiple results with the same age, the items are sorted by name in descending order, per age value.\n   *\n   * If the collection that you are querying has references to other collections, by default the data from referenced collections is not retrieved. To get the data from referenced items, specify them in the `options.includeReferencedItems` parameter.\n   *\n   * > **Note**: When calling `queryDataItems()` following an update to your collection, the data retrieved may not contain the most recent changes. If you need the most up-to-date data, set `options.consistentRead` to `true`.\n   *\n   *\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.options.dataCollectionId\n   * @param options - Options for querying data items.\n   * @permissionId WIX_DATA.QUERY\n   * @adminMethod\n   */\n  function queryDataItems(options: QueryDataItemsOptions): DataItemsQueryBuilder;\n  interface QueryDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1 | undefined;\n      /** ID of the collection to query. */\n      dataCollectionId: string;\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean | undefined;\n      /**\n       * Properties for which to include referenced items in the query's results.\n       * Up to 50 referenced items can be included for each item that matches the query.\n       * @deprecated\n       * @replacedBy referenced_item_options\n       * @targetRemovalDate 2025-08-01\n       */\n      includeReferencedItems?: string[] | undefined;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null | undefined;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options | undefined;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean | undefined;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null | undefined;\n      /**\n       * Request information about this collection caching\n       * @internal\n       */\n      requestCachingInfo?: boolean | undefined;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean | undefined;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null | undefined;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions | undefined;\n      /** Options for retrieving referenced items. */\n      referencedItemOptions?: ReferencedItemOptions[] | undefined;\n  }\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface DataItemsQueryResult extends QueryOffsetResult {\n      items: DataItem[];\n      query: DataItemsQueryBuilder;\n      next: () => Promise<DataItemsQueryResult>;\n      prev: () => Promise<DataItemsQueryResult>;\n  }\n  interface DataItemsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'dataCollectionId' | 'data' | string, value: any) => DataItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'dataCollectionId' | 'data' | string, value: any) => DataItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'dataCollectionId' | string, value: string) => DataItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'dataCollectionId' | 'data' | string, value: any) => DataItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'dataCollectionId' | 'data' | string, value: boolean) => DataItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'dataCollectionId' | 'data' | string>) => DataItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'dataCollectionId' | 'data' | string>) => DataItemsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => DataItemsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => DataItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<DataItemsQueryResult>;\n  }\n  /**\n   * Runs an aggregation on a data collection and returns the resulting list of items.\n   *\n   *\n   * An aggregation enables you to perform certain calculations on your collection data, or on groups of items that you define, to retrieve meaningful summaries.\n   * You can also add paging, filtering, and sorting preferences to your aggregation to retrieve exactly what you need.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @param options - Options for running an aggregation.\n   * @permissionId WIX_DATA.AGGREGATE\n   * @adminMethod\n   */\n  function aggregateDataItems(options?: AggregateDataItemsOptions): Promise<AggregateDataItemsResponse>;\n  interface AggregateDataItemsOptions extends AggregateDataItemsRequestPagingMethodOneOf {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection on which to run the aggregation. */\n      dataCollectionId: string;\n      /**\n       * Filter applied to the collection's data prior to running the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object.\n       *\n       * **Note:** The values you provide for each filter field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).\n       */\n      initialFilter?: Record<string, any> | null;\n      /** Aggregation applied to the data. */\n      aggregation?: Aggregation;\n      /**\n       * Filter applied to the processed data following the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object.\n       * **Note:** The values you provide for each filter field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).\n       */\n      finalFilter?: Record<string, any> | null;\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Counts the number of items in a data collection that match the provided filtering preferences.\n   *\n   * > **Note**: When calling `countDataItems()` following an update to your collection, the result returned may not reflect the most recent changes. If you need the most up-to-date data, set `options.consistentRead` to `true`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @param options - Options for counting the number of items in a data collection.\n   * @permissionId WIX_DATA.COUNT\n   * @adminMethod\n   */\n  function countDataItems(options?: CountDataItemsOptions): Promise<CountDataItemsResponse>;\n  interface CountDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection for which to count query results. */\n      dataCollectionId: string;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`.\n       *\n       * Examples of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`.\n       *\n       * **Note:** The values you provide for each field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Retrieves a list of distinct values for a given field in all items that match a query, without duplicates.\n   *\n   *\n   * As with `queryDataItems()`, this endpoint retrieves items based on the filtering, sorting, and paging preferences you provide.\n   * However, `queryDistinctValues()` doesn't return all of the full items that match the query.\n   * Rather, it returns all unique values of the field you specify in `options.fieldName` for items that match the query.\n   * If more than one item has the same value for that field, that value appears only once.\n   *\n   * For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   *\n   * > **Note**: When calling `queryDistinctValues()` following an update to your collection, the data retrieved may not reflect the most recent changes. If you need the most up-to-date data, set `options.consistentRead` to `true`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @param options - Options for querying distinct values.\n   * @permissionId WIX_DATA.QUERY_DISTINCT_VALUES\n   * @adminMethod\n   */\n  function queryDistinctValues(options?: QueryDistinctValuesOptions): Promise<QueryDistinctValuesResponse>;\n  interface QueryDistinctValuesOptions extends QueryDistinctValuesRequestPagingMethodOneOf {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection to query. */\n      dataCollectionId: string;\n      /** Item field name for which to return all distinct values. */\n      fieldName?: string;\n      /**\n       * Filter object in the following format:\n       *\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`.\n       *\n       * Examples of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`.\n       *\n       * **Note:** The values you provide for each field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort order.\n       *\n       * Supported values: `ASC`, `DESC`.\n       */\n      order?: SortOrder;\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Whether to return the total count in the response for a query with offset paging.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Adds multiple items to a collection.\n   *\n   *\n   * When each item is inserted into a collection, its ID is automatically assigned a random value.\n   * You can optionally provide your own ID when inserting the item. If you specify an ID that already exists in the collection, the insertion will fail.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItems\n   * @param options - Options for adding multiple items to a collection.\n   * @permissionId WIX_DATA.BULK_INSERT\n   * @adminMethod\n   */\n  function bulkInsertDataItems(options?: BulkInsertDataItemsOptions): Promise<BulkInsertDataItemsResponse>;\n  interface BulkInsertDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to insert the items. */\n      dataCollectionId: string;\n      /** Data items to insert. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options.\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to return the inserted data items.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n  }\n  /**\n   * Updates multiple items in a collection.\n   *\n   *\n   * This function replaces each specified data item's existing data with the payload provided in the request.\n   *\n   * Each item in the request must include an ID. If an item is found in the specified collection with\n   * the same ID, that item is updated. If the collection doesn't contain an item with that ID, the update fails.\n   *\n   * When an item is updated, its `data._updatedDate` field is changed to the current date and time.\n   *\n   * > **Note:**\n   * > After each item is updated, it only contains the fields included in the request. If the existing item has fields with values and those fields\n   * > aren't included in the updated item, their values are lost.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItems\n   * @param options - Options for updating multiple items in a collection.\n   * @permissionId WIX_DATA.BULK_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateDataItems(options?: BulkUpdateDataItemsOptions): Promise<BulkUpdateDataItemsResponse>;\n  interface BulkUpdateDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to update items. */\n      dataCollectionId: string;\n      /** Data items to update. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to return the updated data items.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Inserts or updates multiple items in a collection.\n   *\n   *\n   * This function inserts or updates each item provided, depending on whether it already exists in the collection. For each item:\n   *\n   * + If you don't provide an ID, a new item is created.\n   *\n   * + If you provide an ID that doesn't exist in the collection, a new item is created with that ID.\n   *\n   * + If an item with the ID you provide already exists in the collection, that item is updated. When an item is updated, its `data._updatedDate` field is changed to the current date and time.\n   *\n   * > **Note:** When you provide an item with an ID that already exists in the collection, the item you provide completely replaces the existing item with that ID.\n   * > This means that all of the item's previous fields and values are lost.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItems\n   * @param options - Options for saving multiple items in a collection.\n   * @permissionId WIX_DATA.BULK_SAVE\n   * @adminMethod\n   */\n  function bulkSaveDataItems(options?: BulkSaveDataItemsOptions): Promise<BulkSaveDataItemsResponse>;\n  interface BulkSaveDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to insert or update the items. */\n      dataCollectionId: string;\n      /** Data items to insert or update. */\n      dataItems: DataItem[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to return the saved data item.\n       * When `true`, the `results` objects contain a `dataItem` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Removes multiple items from a collection.\n   *\n   *\n   * If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared.\n   *\n   * > **Note:** Once an item has been removed from a collection, it can't be restored.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItemIds\n   * @param options - Options for removing multiple items from a collection.\n   * @permissionId WIX_DATA.BULK_REMOVE\n   * @adminMethod\n   */\n  function bulkRemoveDataItems(options?: BulkRemoveDataItemsOptions): Promise<BulkRemoveDataItemsResponse>;\n  interface BulkRemoveDataItemsOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection from which to remove the item. */\n      dataCollectionId: string;\n      /** IDs of data items to remove. */\n      dataItemIds: string[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to suppress data hooks.\n       * When `true`, data hooks typically triggered by this endpoint don't run.\n       *\n       * **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend).\n       *\n       * Default: `false`\n       * @internal\n       */\n      suppressHooks?: boolean;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n  }\n  /**\n   * Retrieves the full items referenced in the specified field of an item.\n   *\n   *\n   * Reference and multi-reference fields refer to items in different collections.\n   * Use this function to retrieve the full details of the referenced items themselves.\n   *\n   * For example, suppose you have a **Movies** collection with an **Actors** field that contains references to items in a **People** collection.\n   * Querying the **Movies** collection using `queryReferencedDataItems()` returns the relevant **People** items referenced in the **Actors** field of the specified **Movie** item.\n   * This gives you information from the **People** collection about each of the actors in the specified movie.\n   *\n   * > **Note**: When calling `queryReferencedDataItems()` following an update to your collection, the data retrieved may not contain the most recent changes. If you need the most up-to-date data, set `options.consistentRead` to `true`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @param options - Options for querying referenced data items.\n   * @permissionId WIX_DATA.QUERY_REFERENCED\n   * @adminMethod\n   */\n  function queryReferencedDataItems(options?: QueryReferencedDataItemsOptions): Promise<QueryReferencedDataItemsResponse>;\n  interface QueryReferencedDataItemsOptions extends QueryReferencedDataItemsRequestPagingMethodOneOf {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** ID of the referring item. */\n      referringItemId?: string;\n      /** Field containing references in the referring item. */\n      referringItemFieldName?: string;\n      /** Order of the returned referenced items. Sorted by the date each item was referenced. */\n      order?: SortOrder;\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Whether to return the total count in the response.\n       * When `true`, the `pagingMetadata` object in the response contains a `total` field.\n       *\n       * Default: `false`\n       */\n      returnTotalCount?: boolean;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /**\n       * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * If provided, the result text is returned in the specified language.\n       * **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n       *\n       * If not provided, result text is not translated.\n       */\n      language?: string | null;\n      /**\n       * Fields to return for each referenced item. Only fields specified in the array are included in the response. If the array is empty, all fields are returned.\n       * **Note:** The `_id` system field is always returned.\n       */\n      fields?: string[];\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying:\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n      /**\n       * Options for the Publish plugin.\n       * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not.\n       */\n      publishPluginOptions?: DataPublishPluginOptions;\n      /**\n       * IDs of the referring items.\n       * @internal\n       */\n      referringItemIds?: string[];\n  }\n  /**\n   * Checks whether a field in a referring item contains a reference to a specified item.\n   *\n   * > **Note**: When calling `isReferencedDataItem()` following an update to your collection, the result returned may not reflect the most recent changes. If you need the most up-to-date data, set `options.consistentRead` to `true`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.referencedItemId\n   * @requiredField options.referringItemFieldName\n   * @requiredField options.referringItemId\n   * @param options - Options for checking whether a field contains a reference to an item.\n   * @permissionId WIX_DATA.IS_REFERENCED\n   * @adminMethod\n   */\n  function isReferencedDataItem(options?: IsReferencedDataItemOptions): Promise<IsReferencedDataItemResponse>;\n  interface IsReferencedDataItemOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring data item. */\n      dataCollectionId: string;\n      /** Field to check for a reference to the item that may be referenced. */\n      referringItemFieldName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** ID of the item that may be referenced. */\n      referencedItemId: string;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to retrieve data from the primary database instance.\n       * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       *\n       * Default: `false`\n       */\n      consistentRead?: boolean;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n  }\n  /**\n   * Inserts a reference in the specified field in an item in a collection.\n   *\n   *\n   * A reference in `options.dataItemReference` specifies a referring item's ID, the field in which to insert the reference, and the ID of the referenced item.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItemReference.referencedItemId\n   * @requiredField options.dataItemReference.referringItemFieldName\n   * @requiredField options.dataItemReference.referringItemId\n   * @param options - Options for inserting a reference.\n   * @permissionId WIX_DATA.INSERT_REFERENCE\n   * @adminMethod\n   */\n  function insertDataItemReference(options?: InsertDataItemReferenceOptions): Promise<InsertDataItemReferenceResponse>;\n  interface InsertDataItemReferenceOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection in which to insert the reference. */\n      dataCollectionId: string;\n      /** Reference to insert */\n      dataItemReference?: DataItemReference;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying.\n       *\n       * When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields), pass the following optional parameters:\n       * - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`.\n       * - `includeVariants`: Whether to include product variants in the query. Default: `false`.\n       */\n      appOptions?: Record<string, any> | null;\n  }\n  /**\n   * Removes the specified reference from the specified field.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItemReference\n   * @requiredField options.dataItemReference.referencedItemId\n   * @requiredField options.dataItemReference.referringItemFieldName\n   * @requiredField options.dataItemReference.referringItemId\n   * @param options - Options for removing a reference.\n   * @permissionId WIX_DATA.REMOVE_REFERENCE\n   * @adminMethod\n   */\n  function removeDataItemReference(options?: RemoveDataItemReferenceOptions): Promise<RemoveDataItemReferenceResponse>;\n  interface RemoveDataItemReferenceOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** Reference to remove. */\n      dataItemReference: DataItemReference;\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n  }\n  /**\n   * Inserts one or more references in the specified fields of items in a collection.\n   *\n   *\n   * This endpoint adds one or more references to a collection.\n   * Each new reference in `options.dataItemReferences` specifies a referring item's ID, the field in which to insert the reference, and the ID of the referenced item.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItemReferences\n   * @requiredField options.dataItemReferences.referencedItemId\n   * @requiredField options.dataItemReferences.referringItemFieldName\n   * @requiredField options.dataItemReferences.referringItemId\n   * @param options - Options for inserting one or more references.\n   * @permissionId WIX_DATA.BULK_INSERT_REFERENCES\n   * @adminMethod\n   */\n  function bulkInsertDataItemReferences(options?: BulkInsertDataItemReferencesOptions): Promise<BulkInsertDataItemReferencesResponse>;\n  interface BulkInsertDataItemReferencesOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring items. */\n      dataCollectionId: string;\n      /** References to insert. */\n      dataItemReferences: DataItemReference[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /**\n       * Whether to return the inserted data item references.\n       * When `true`, the `results` objects contain a `dataItemReference` field.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n  }\n  /**\n   * Removes one or more references.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.dataItemReferences\n   * @requiredField options.dataItemReferences.referencedItemId\n   * @requiredField options.dataItemReferences.referringItemFieldName\n   * @requiredField options.dataItemReferences.referringItemId\n   * @param options - Options for removing one or more references.\n   * @permissionId WIX_DATA.BULK_REMOVE_REFERENCES\n   * @adminMethod\n   */\n  function bulkRemoveDataItemReferences(options?: BulkRemoveDataItemReferencesOptions): Promise<BulkRemoveDataItemReferencesResponse>;\n  interface BulkRemoveDataItemReferencesOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring items. */\n      dataCollectionId: string;\n      /** References to remove. */\n      dataItemReferences: DataItemReference[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n  }\n  /**\n   * Replaces references in a specified field of a specified data item.\n   *\n   *\n   * This function replaces the existing reference or references contained in the field specified in `options.referringItemFieldName` within the data item specified in `options.referringItemId`.\n   * The function removes existing references and in their place it adds references to the items specified in `options.newReferencedItemIds`.\n   *\n   * > **Note:** If you pass an empty array in `options.newReferencedItemIds`, all existing references are removed.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataCollectionId\n   * @requiredField options.referringItemFieldName\n   * @requiredField options.referringItemId\n   * @param options - Options for replacing references.\n   * @permissionId WIX_DATA.REPLACE_REFERENCES\n   * @adminMethod\n   */\n  function replaceDataItemReferences(options?: ReplaceDataItemReferencesOptions): Promise<ReplaceDataItemReferencesResponse>;\n  interface ReplaceDataItemReferencesOptions {\n      /**\n       * Environment: LIVE or SANDBOX\n       * @internal\n       */\n      environment?: Environment$1;\n      /** ID of the collection containing the referring item. */\n      dataCollectionId: string;\n      /** Field containing references in the referring item. */\n      referringItemFieldName: string;\n      /** ID of the referring item. */\n      referringItemId: string;\n      /** List of new referenced item IDs to replace the existing ones. */\n      newReferencedItemIds?: string[];\n      /**\n       * Grid app id. Optional in Live segment.\n       * @internal\n       */\n      appId?: string | null;\n      /**\n       * Data access options\n       * @internal\n       * @deprecated\n       * @replacedBy inlined\n       * @targetRemovalDate 2024-07-12\n       */\n      options?: Options;\n      /** @internal */\n      appOptions?: Record<string, any> | null;\n  }\n  \n  type dataV2DataItem_universal_d_DataItem = DataItem;\n  type dataV2DataItem_universal_d_InsertDataItemRequest = InsertDataItemRequest;\n  type dataV2DataItem_universal_d_Options = Options;\n  type dataV2DataItem_universal_d_PublishPluginOptions = PublishPluginOptions;\n  type dataV2DataItem_universal_d_InsertDataItemResponse = InsertDataItemResponse;\n  type dataV2DataItem_universal_d_PatchDataItemRequest = PatchDataItemRequest;\n  type dataV2DataItem_universal_d_PatchSet = PatchSet;\n  type dataV2DataItem_universal_d_FieldUpdate = FieldUpdate;\n  type dataV2DataItem_universal_d_FieldUpdateActionOptionsOneOf = FieldUpdateActionOptionsOneOf;\n  type dataV2DataItem_universal_d_ACTION = ACTION;\n  const dataV2DataItem_universal_d_ACTION: typeof ACTION;\n  type dataV2DataItem_universal_d_SetField = SetField;\n  type dataV2DataItem_universal_d_IncrementField = IncrementField;\n  type dataV2DataItem_universal_d_AppendToArray = AppendToArray;\n  type dataV2DataItem_universal_d_RemoveFromArray = RemoveFromArray;\n  type dataV2DataItem_universal_d_DataPublishPluginOptions = DataPublishPluginOptions;\n  type dataV2DataItem_universal_d_PatchDataItemResponse = PatchDataItemResponse;\n  type dataV2DataItem_universal_d_BulkPatchDataItemsRequest = BulkPatchDataItemsRequest;\n  type dataV2DataItem_universal_d_BulkPatchDataItemsResponse = BulkPatchDataItemsResponse;\n  type dataV2DataItem_universal_d_BulkDataItemResult = BulkDataItemResult;\n  type dataV2DataItem_universal_d_BulkActionType = BulkActionType;\n  const dataV2DataItem_universal_d_BulkActionType: typeof BulkActionType;\n  type dataV2DataItem_universal_d_ItemMetadata = ItemMetadata;\n  type dataV2DataItem_universal_d_ApplicationError = ApplicationError;\n  type dataV2DataItem_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type dataV2DataItem_universal_d_UpdateDataItemRequest = UpdateDataItemRequest;\n  type dataV2DataItem_universal_d_UpdateDataItemResponse = UpdateDataItemResponse;\n  type dataV2DataItem_universal_d_SaveDataItemRequest = SaveDataItemRequest;\n  type dataV2DataItem_universal_d_SaveDataItemResponse = SaveDataItemResponse;\n  type dataV2DataItem_universal_d_Action = Action;\n  const dataV2DataItem_universal_d_Action: typeof Action;\n  type dataV2DataItem_universal_d_GetDataItemRequest = GetDataItemRequest;\n  type dataV2DataItem_universal_d_GetDataItemResponse = GetDataItemResponse;\n  type dataV2DataItem_universal_d_RemoveDataItemRequest = RemoveDataItemRequest;\n  type dataV2DataItem_universal_d_RemoveDataItemResponse = RemoveDataItemResponse;\n  type dataV2DataItem_universal_d_TruncateDataItemsRequest = TruncateDataItemsRequest;\n  type dataV2DataItem_universal_d_TruncateDataItemsResponse = TruncateDataItemsResponse;\n  type dataV2DataItem_universal_d_QueryDataItemsRequest = QueryDataItemsRequest;\n  type dataV2DataItem_universal_d_QueryV2 = QueryV2;\n  type dataV2DataItem_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type dataV2DataItem_universal_d_Sorting = Sorting;\n  type dataV2DataItem_universal_d_SortOrder = SortOrder;\n  const dataV2DataItem_universal_d_SortOrder: typeof SortOrder;\n  type dataV2DataItem_universal_d_CursorPaging = CursorPaging;\n  type dataV2DataItem_universal_d_ReferencedItemOptions = ReferencedItemOptions;\n  type dataV2DataItem_universal_d_QueryDataItemsResponse = QueryDataItemsResponse;\n  type dataV2DataItem_universal_d_CachingInfo = CachingInfo;\n  type dataV2DataItem_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type dataV2DataItem_universal_d_Cursors = Cursors;\n  type dataV2DataItem_universal_d_AggregateDataItemsRequest = AggregateDataItemsRequest;\n  type dataV2DataItem_universal_d_AggregateDataItemsRequestPagingMethodOneOf = AggregateDataItemsRequestPagingMethodOneOf;\n  type dataV2DataItem_universal_d_Average = Average;\n  type dataV2DataItem_universal_d_Min = Min;\n  type dataV2DataItem_universal_d_Max = Max;\n  type dataV2DataItem_universal_d_Sum = Sum;\n  type dataV2DataItem_universal_d_Count = Count;\n  type dataV2DataItem_universal_d_Operation = Operation;\n  type dataV2DataItem_universal_d_OperationCalculateOneOf = OperationCalculateOneOf;\n  type dataV2DataItem_universal_d_Aggregation = Aggregation;\n  type dataV2DataItem_universal_d_AggregateDataItemsResponse = AggregateDataItemsResponse;\n  type dataV2DataItem_universal_d_CountDataItemsRequest = CountDataItemsRequest;\n  type dataV2DataItem_universal_d_CountDataItemsResponse = CountDataItemsResponse;\n  type dataV2DataItem_universal_d_QueryDistinctValuesRequest = QueryDistinctValuesRequest;\n  type dataV2DataItem_universal_d_QueryDistinctValuesRequestPagingMethodOneOf = QueryDistinctValuesRequestPagingMethodOneOf;\n  type dataV2DataItem_universal_d_QueryDistinctValuesResponse = QueryDistinctValuesResponse;\n  type dataV2DataItem_universal_d_BulkInsertDataItemsRequest = BulkInsertDataItemsRequest;\n  type dataV2DataItem_universal_d_BulkInsertDataItemsResponse = BulkInsertDataItemsResponse;\n  type dataV2DataItem_universal_d_BulkUpdateDataItemsRequest = BulkUpdateDataItemsRequest;\n  type dataV2DataItem_universal_d_BulkUpdateDataItemsResponse = BulkUpdateDataItemsResponse;\n  type dataV2DataItem_universal_d_BulkSaveDataItemsRequest = BulkSaveDataItemsRequest;\n  type dataV2DataItem_universal_d_BulkSaveDataItemsResponse = BulkSaveDataItemsResponse;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemsRequest = BulkRemoveDataItemsRequest;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemsResponse = BulkRemoveDataItemsResponse;\n  type dataV2DataItem_universal_d_QueryReferencedDataItemsRequest = QueryReferencedDataItemsRequest;\n  type dataV2DataItem_universal_d_QueryReferencedDataItemsRequestPagingMethodOneOf = QueryReferencedDataItemsRequestPagingMethodOneOf;\n  type dataV2DataItem_universal_d_QueryReferencedDataItemsResponse = QueryReferencedDataItemsResponse;\n  type dataV2DataItem_universal_d_UnresolvedReference = UnresolvedReference;\n  type dataV2DataItem_universal_d_ReferencedResult = ReferencedResult;\n  type dataV2DataItem_universal_d_ReferencedResultEntityOneOf = ReferencedResultEntityOneOf;\n  type dataV2DataItem_universal_d_IsReferencedDataItemRequest = IsReferencedDataItemRequest;\n  type dataV2DataItem_universal_d_IsReferencedDataItemResponse = IsReferencedDataItemResponse;\n  type dataV2DataItem_universal_d_InsertDataItemReferenceRequest = InsertDataItemReferenceRequest;\n  type dataV2DataItem_universal_d_DataItemReference = DataItemReference;\n  type dataV2DataItem_universal_d_InsertDataItemReferenceResponse = InsertDataItemReferenceResponse;\n  type dataV2DataItem_universal_d_RemoveDataItemReferenceRequest = RemoveDataItemReferenceRequest;\n  type dataV2DataItem_universal_d_RemoveDataItemReferenceResponse = RemoveDataItemReferenceResponse;\n  type dataV2DataItem_universal_d_BulkInsertDataItemReferencesRequest = BulkInsertDataItemReferencesRequest;\n  type dataV2DataItem_universal_d_BulkInsertDataItemReferencesResponse = BulkInsertDataItemReferencesResponse;\n  type dataV2DataItem_universal_d_BulkDataItemReferenceResult = BulkDataItemReferenceResult;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemReferencesRequest = BulkRemoveDataItemReferencesRequest;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemReferencesResponse = BulkRemoveDataItemReferencesResponse;\n  type dataV2DataItem_universal_d_ReplaceDataItemReferencesRequest = ReplaceDataItemReferencesRequest;\n  type dataV2DataItem_universal_d_ReplaceDataItemReferencesResponse = ReplaceDataItemReferencesResponse;\n  type dataV2DataItem_universal_d_DomainEvent = DomainEvent;\n  type dataV2DataItem_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type dataV2DataItem_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type dataV2DataItem_universal_d_RestoreInfo = RestoreInfo;\n  type dataV2DataItem_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type dataV2DataItem_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type dataV2DataItem_universal_d_ActionEvent = ActionEvent;\n  type dataV2DataItem_universal_d_MessageEnvelope = MessageEnvelope;\n  type dataV2DataItem_universal_d_IdentificationData = IdentificationData;\n  type dataV2DataItem_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type dataV2DataItem_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const dataV2DataItem_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const dataV2DataItem_universal_d_insertDataItem: typeof insertDataItem;\n  type dataV2DataItem_universal_d_InsertDataItemOptions = InsertDataItemOptions;\n  const dataV2DataItem_universal_d_patchDataItem: typeof patchDataItem;\n  type dataV2DataItem_universal_d_PatchDataItemOptions = PatchDataItemOptions;\n  const dataV2DataItem_universal_d_bulkPatchDataItems: typeof bulkPatchDataItems;\n  type dataV2DataItem_universal_d_BulkPatchDataItemsOptions = BulkPatchDataItemsOptions;\n  const dataV2DataItem_universal_d_updateDataItem: typeof updateDataItem;\n  type dataV2DataItem_universal_d_UpdateDataItemOptions = UpdateDataItemOptions;\n  const dataV2DataItem_universal_d_saveDataItem: typeof saveDataItem;\n  type dataV2DataItem_universal_d_SaveDataItemOptions = SaveDataItemOptions;\n  const dataV2DataItem_universal_d_getDataItem: typeof getDataItem;\n  type dataV2DataItem_universal_d_GetDataItemOptions = GetDataItemOptions;\n  const dataV2DataItem_universal_d_removeDataItem: typeof removeDataItem;\n  type dataV2DataItem_universal_d_RemoveDataItemOptions = RemoveDataItemOptions;\n  const dataV2DataItem_universal_d_truncateDataItems: typeof truncateDataItems;\n  type dataV2DataItem_universal_d_TruncateDataItemsOptions = TruncateDataItemsOptions;\n  const dataV2DataItem_universal_d_queryDataItems: typeof queryDataItems;\n  type dataV2DataItem_universal_d_QueryDataItemsOptions = QueryDataItemsOptions;\n  type dataV2DataItem_universal_d_DataItemsQueryResult = DataItemsQueryResult;\n  type dataV2DataItem_universal_d_DataItemsQueryBuilder = DataItemsQueryBuilder;\n  const dataV2DataItem_universal_d_aggregateDataItems: typeof aggregateDataItems;\n  type dataV2DataItem_universal_d_AggregateDataItemsOptions = AggregateDataItemsOptions;\n  const dataV2DataItem_universal_d_countDataItems: typeof countDataItems;\n  type dataV2DataItem_universal_d_CountDataItemsOptions = CountDataItemsOptions;\n  const dataV2DataItem_universal_d_queryDistinctValues: typeof queryDistinctValues;\n  type dataV2DataItem_universal_d_QueryDistinctValuesOptions = QueryDistinctValuesOptions;\n  const dataV2DataItem_universal_d_bulkInsertDataItems: typeof bulkInsertDataItems;\n  type dataV2DataItem_universal_d_BulkInsertDataItemsOptions = BulkInsertDataItemsOptions;\n  const dataV2DataItem_universal_d_bulkUpdateDataItems: typeof bulkUpdateDataItems;\n  type dataV2DataItem_universal_d_BulkUpdateDataItemsOptions = BulkUpdateDataItemsOptions;\n  const dataV2DataItem_universal_d_bulkSaveDataItems: typeof bulkSaveDataItems;\n  type dataV2DataItem_universal_d_BulkSaveDataItemsOptions = BulkSaveDataItemsOptions;\n  const dataV2DataItem_universal_d_bulkRemoveDataItems: typeof bulkRemoveDataItems;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemsOptions = BulkRemoveDataItemsOptions;\n  const dataV2DataItem_universal_d_queryReferencedDataItems: typeof queryReferencedDataItems;\n  type dataV2DataItem_universal_d_QueryReferencedDataItemsOptions = QueryReferencedDataItemsOptions;\n  const dataV2DataItem_universal_d_isReferencedDataItem: typeof isReferencedDataItem;\n  type dataV2DataItem_universal_d_IsReferencedDataItemOptions = IsReferencedDataItemOptions;\n  const dataV2DataItem_universal_d_insertDataItemReference: typeof insertDataItemReference;\n  type dataV2DataItem_universal_d_InsertDataItemReferenceOptions = InsertDataItemReferenceOptions;\n  const dataV2DataItem_universal_d_removeDataItemReference: typeof removeDataItemReference;\n  type dataV2DataItem_universal_d_RemoveDataItemReferenceOptions = RemoveDataItemReferenceOptions;\n  const dataV2DataItem_universal_d_bulkInsertDataItemReferences: typeof bulkInsertDataItemReferences;\n  type dataV2DataItem_universal_d_BulkInsertDataItemReferencesOptions = BulkInsertDataItemReferencesOptions;\n  const dataV2DataItem_universal_d_bulkRemoveDataItemReferences: typeof bulkRemoveDataItemReferences;\n  type dataV2DataItem_universal_d_BulkRemoveDataItemReferencesOptions = BulkRemoveDataItemReferencesOptions;\n  const dataV2DataItem_universal_d_replaceDataItemReferences: typeof replaceDataItemReferences;\n  type dataV2DataItem_universal_d_ReplaceDataItemReferencesOptions = ReplaceDataItemReferencesOptions;\n  namespace dataV2DataItem_universal_d {\n    export {\n      dataV2DataItem_universal_d_DataItem as DataItem,\n      dataV2DataItem_universal_d_InsertDataItemRequest as InsertDataItemRequest,\n      Environment$1 as Environment,\n      dataV2DataItem_universal_d_Options as Options,\n      dataV2DataItem_universal_d_PublishPluginOptions as PublishPluginOptions,\n      dataV2DataItem_universal_d_InsertDataItemResponse as InsertDataItemResponse,\n      dataV2DataItem_universal_d_PatchDataItemRequest as PatchDataItemRequest,\n      dataV2DataItem_universal_d_PatchSet as PatchSet,\n      dataV2DataItem_universal_d_FieldUpdate as FieldUpdate,\n      dataV2DataItem_universal_d_FieldUpdateActionOptionsOneOf as FieldUpdateActionOptionsOneOf,\n      dataV2DataItem_universal_d_ACTION as ACTION,\n      dataV2DataItem_universal_d_SetField as SetField,\n      dataV2DataItem_universal_d_IncrementField as IncrementField,\n      dataV2DataItem_universal_d_AppendToArray as AppendToArray,\n      dataV2DataItem_universal_d_RemoveFromArray as RemoveFromArray,\n      dataV2DataItem_universal_d_DataPublishPluginOptions as DataPublishPluginOptions,\n      dataV2DataItem_universal_d_PatchDataItemResponse as PatchDataItemResponse,\n      dataV2DataItem_universal_d_BulkPatchDataItemsRequest as BulkPatchDataItemsRequest,\n      dataV2DataItem_universal_d_BulkPatchDataItemsResponse as BulkPatchDataItemsResponse,\n      dataV2DataItem_universal_d_BulkDataItemResult as BulkDataItemResult,\n      dataV2DataItem_universal_d_BulkActionType as BulkActionType,\n      dataV2DataItem_universal_d_ItemMetadata as ItemMetadata,\n      dataV2DataItem_universal_d_ApplicationError as ApplicationError,\n      dataV2DataItem_universal_d_BulkActionMetadata as BulkActionMetadata,\n      dataV2DataItem_universal_d_UpdateDataItemRequest as UpdateDataItemRequest,\n      dataV2DataItem_universal_d_UpdateDataItemResponse as UpdateDataItemResponse,\n      dataV2DataItem_universal_d_SaveDataItemRequest as SaveDataItemRequest,\n      dataV2DataItem_universal_d_SaveDataItemResponse as SaveDataItemResponse,\n      dataV2DataItem_universal_d_Action as Action,\n      dataV2DataItem_universal_d_GetDataItemRequest as GetDataItemRequest,\n      dataV2DataItem_universal_d_GetDataItemResponse as GetDataItemResponse,\n      dataV2DataItem_universal_d_RemoveDataItemRequest as RemoveDataItemRequest,\n      dataV2DataItem_universal_d_RemoveDataItemResponse as RemoveDataItemResponse,\n      dataV2DataItem_universal_d_TruncateDataItemsRequest as TruncateDataItemsRequest,\n      dataV2DataItem_universal_d_TruncateDataItemsResponse as TruncateDataItemsResponse,\n      dataV2DataItem_universal_d_QueryDataItemsRequest as QueryDataItemsRequest,\n      dataV2DataItem_universal_d_QueryV2 as QueryV2,\n      dataV2DataItem_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      dataV2DataItem_universal_d_Sorting as Sorting,\n      dataV2DataItem_universal_d_SortOrder as SortOrder,\n      Paging$1 as Paging,\n      dataV2DataItem_universal_d_CursorPaging as CursorPaging,\n      dataV2DataItem_universal_d_ReferencedItemOptions as ReferencedItemOptions,\n      dataV2DataItem_universal_d_QueryDataItemsResponse as QueryDataItemsResponse,\n      dataV2DataItem_universal_d_CachingInfo as CachingInfo,\n      dataV2DataItem_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      dataV2DataItem_universal_d_Cursors as Cursors,\n      dataV2DataItem_universal_d_AggregateDataItemsRequest as AggregateDataItemsRequest,\n      dataV2DataItem_universal_d_AggregateDataItemsRequestPagingMethodOneOf as AggregateDataItemsRequestPagingMethodOneOf,\n      dataV2DataItem_universal_d_Average as Average,\n      dataV2DataItem_universal_d_Min as Min,\n      dataV2DataItem_universal_d_Max as Max,\n      dataV2DataItem_universal_d_Sum as Sum,\n      dataV2DataItem_universal_d_Count as Count,\n      dataV2DataItem_universal_d_Operation as Operation,\n      dataV2DataItem_universal_d_OperationCalculateOneOf as OperationCalculateOneOf,\n      dataV2DataItem_universal_d_Aggregation as Aggregation,\n      dataV2DataItem_universal_d_AggregateDataItemsResponse as AggregateDataItemsResponse,\n      dataV2DataItem_universal_d_CountDataItemsRequest as CountDataItemsRequest,\n      dataV2DataItem_universal_d_CountDataItemsResponse as CountDataItemsResponse,\n      dataV2DataItem_universal_d_QueryDistinctValuesRequest as QueryDistinctValuesRequest,\n      dataV2DataItem_universal_d_QueryDistinctValuesRequestPagingMethodOneOf as QueryDistinctValuesRequestPagingMethodOneOf,\n      dataV2DataItem_universal_d_QueryDistinctValuesResponse as QueryDistinctValuesResponse,\n      dataV2DataItem_universal_d_BulkInsertDataItemsRequest as BulkInsertDataItemsRequest,\n      dataV2DataItem_universal_d_BulkInsertDataItemsResponse as BulkInsertDataItemsResponse,\n      dataV2DataItem_universal_d_BulkUpdateDataItemsRequest as BulkUpdateDataItemsRequest,\n      dataV2DataItem_universal_d_BulkUpdateDataItemsResponse as BulkUpdateDataItemsResponse,\n      dataV2DataItem_universal_d_BulkSaveDataItemsRequest as BulkSaveDataItemsRequest,\n      dataV2DataItem_universal_d_BulkSaveDataItemsResponse as BulkSaveDataItemsResponse,\n      dataV2DataItem_universal_d_BulkRemoveDataItemsRequest as BulkRemoveDataItemsRequest,\n      dataV2DataItem_universal_d_BulkRemoveDataItemsResponse as BulkRemoveDataItemsResponse,\n      dataV2DataItem_universal_d_QueryReferencedDataItemsRequest as QueryReferencedDataItemsRequest,\n      dataV2DataItem_universal_d_QueryReferencedDataItemsRequestPagingMethodOneOf as QueryReferencedDataItemsRequestPagingMethodOneOf,\n      dataV2DataItem_universal_d_QueryReferencedDataItemsResponse as QueryReferencedDataItemsResponse,\n      dataV2DataItem_universal_d_UnresolvedReference as UnresolvedReference,\n      dataV2DataItem_universal_d_ReferencedResult as ReferencedResult,\n      dataV2DataItem_universal_d_ReferencedResultEntityOneOf as ReferencedResultEntityOneOf,\n      dataV2DataItem_universal_d_IsReferencedDataItemRequest as IsReferencedDataItemRequest,\n      dataV2DataItem_universal_d_IsReferencedDataItemResponse as IsReferencedDataItemResponse,\n      dataV2DataItem_universal_d_InsertDataItemReferenceRequest as InsertDataItemReferenceRequest,\n      dataV2DataItem_universal_d_DataItemReference as DataItemReference,\n      dataV2DataItem_universal_d_InsertDataItemReferenceResponse as InsertDataItemReferenceResponse,\n      dataV2DataItem_universal_d_RemoveDataItemReferenceRequest as RemoveDataItemReferenceRequest,\n      dataV2DataItem_universal_d_RemoveDataItemReferenceResponse as RemoveDataItemReferenceResponse,\n      dataV2DataItem_universal_d_BulkInsertDataItemReferencesRequest as BulkInsertDataItemReferencesRequest,\n      dataV2DataItem_universal_d_BulkInsertDataItemReferencesResponse as BulkInsertDataItemReferencesResponse,\n      dataV2DataItem_universal_d_BulkDataItemReferenceResult as BulkDataItemReferenceResult,\n      dataV2DataItem_universal_d_BulkRemoveDataItemReferencesRequest as BulkRemoveDataItemReferencesRequest,\n      dataV2DataItem_universal_d_BulkRemoveDataItemReferencesResponse as BulkRemoveDataItemReferencesResponse,\n      dataV2DataItem_universal_d_ReplaceDataItemReferencesRequest as ReplaceDataItemReferencesRequest,\n      dataV2DataItem_universal_d_ReplaceDataItemReferencesResponse as ReplaceDataItemReferencesResponse,\n      dataV2DataItem_universal_d_DomainEvent as DomainEvent,\n      dataV2DataItem_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      dataV2DataItem_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      dataV2DataItem_universal_d_RestoreInfo as RestoreInfo,\n      dataV2DataItem_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      dataV2DataItem_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      dataV2DataItem_universal_d_ActionEvent as ActionEvent,\n      dataV2DataItem_universal_d_MessageEnvelope as MessageEnvelope,\n      dataV2DataItem_universal_d_IdentificationData as IdentificationData,\n      dataV2DataItem_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      dataV2DataItem_universal_d_WebhookIdentityType as WebhookIdentityType,\n      dataV2DataItem_universal_d_insertDataItem as insertDataItem,\n      dataV2DataItem_universal_d_InsertDataItemOptions as InsertDataItemOptions,\n      dataV2DataItem_universal_d_patchDataItem as patchDataItem,\n      dataV2DataItem_universal_d_PatchDataItemOptions as PatchDataItemOptions,\n      dataV2DataItem_universal_d_bulkPatchDataItems as bulkPatchDataItems,\n      dataV2DataItem_universal_d_BulkPatchDataItemsOptions as BulkPatchDataItemsOptions,\n      dataV2DataItem_universal_d_updateDataItem as updateDataItem,\n      dataV2DataItem_universal_d_UpdateDataItemOptions as UpdateDataItemOptions,\n      dataV2DataItem_universal_d_saveDataItem as saveDataItem,\n      dataV2DataItem_universal_d_SaveDataItemOptions as SaveDataItemOptions,\n      dataV2DataItem_universal_d_getDataItem as getDataItem,\n      dataV2DataItem_universal_d_GetDataItemOptions as GetDataItemOptions,\n      dataV2DataItem_universal_d_removeDataItem as removeDataItem,\n      dataV2DataItem_universal_d_RemoveDataItemOptions as RemoveDataItemOptions,\n      dataV2DataItem_universal_d_truncateDataItems as truncateDataItems,\n      dataV2DataItem_universal_d_TruncateDataItemsOptions as TruncateDataItemsOptions,\n      dataV2DataItem_universal_d_queryDataItems as queryDataItems,\n      dataV2DataItem_universal_d_QueryDataItemsOptions as QueryDataItemsOptions,\n      dataV2DataItem_universal_d_DataItemsQueryResult as DataItemsQueryResult,\n      dataV2DataItem_universal_d_DataItemsQueryBuilder as DataItemsQueryBuilder,\n      dataV2DataItem_universal_d_aggregateDataItems as aggregateDataItems,\n      dataV2DataItem_universal_d_AggregateDataItemsOptions as AggregateDataItemsOptions,\n      dataV2DataItem_universal_d_countDataItems as countDataItems,\n      dataV2DataItem_universal_d_CountDataItemsOptions as CountDataItemsOptions,\n      dataV2DataItem_universal_d_queryDistinctValues as queryDistinctValues,\n      dataV2DataItem_universal_d_QueryDistinctValuesOptions as QueryDistinctValuesOptions,\n      dataV2DataItem_universal_d_bulkInsertDataItems as bulkInsertDataItems,\n      dataV2DataItem_universal_d_BulkInsertDataItemsOptions as BulkInsertDataItemsOptions,\n      dataV2DataItem_universal_d_bulkUpdateDataItems as bulkUpdateDataItems,\n      dataV2DataItem_universal_d_BulkUpdateDataItemsOptions as BulkUpdateDataItemsOptions,\n      dataV2DataItem_universal_d_bulkSaveDataItems as bulkSaveDataItems,\n      dataV2DataItem_universal_d_BulkSaveDataItemsOptions as BulkSaveDataItemsOptions,\n      dataV2DataItem_universal_d_bulkRemoveDataItems as bulkRemoveDataItems,\n      dataV2DataItem_universal_d_BulkRemoveDataItemsOptions as BulkRemoveDataItemsOptions,\n      dataV2DataItem_universal_d_queryReferencedDataItems as queryReferencedDataItems,\n      dataV2DataItem_universal_d_QueryReferencedDataItemsOptions as QueryReferencedDataItemsOptions,\n      dataV2DataItem_universal_d_isReferencedDataItem as isReferencedDataItem,\n      dataV2DataItem_universal_d_IsReferencedDataItemOptions as IsReferencedDataItemOptions,\n      dataV2DataItem_universal_d_insertDataItemReference as insertDataItemReference,\n      dataV2DataItem_universal_d_InsertDataItemReferenceOptions as InsertDataItemReferenceOptions,\n      dataV2DataItem_universal_d_removeDataItemReference as removeDataItemReference,\n      dataV2DataItem_universal_d_RemoveDataItemReferenceOptions as RemoveDataItemReferenceOptions,\n      dataV2DataItem_universal_d_bulkInsertDataItemReferences as bulkInsertDataItemReferences,\n      dataV2DataItem_universal_d_BulkInsertDataItemReferencesOptions as BulkInsertDataItemReferencesOptions,\n      dataV2DataItem_universal_d_bulkRemoveDataItemReferences as bulkRemoveDataItemReferences,\n      dataV2DataItem_universal_d_BulkRemoveDataItemReferencesOptions as BulkRemoveDataItemReferencesOptions,\n      dataV2DataItem_universal_d_replaceDataItemReferences as replaceDataItemReferences,\n      dataV2DataItem_universal_d_ReplaceDataItemReferencesOptions as ReplaceDataItemReferencesOptions,\n    };\n  }\n  \n  /** An index is a map of a collection's data, organized according to specific fields to increase query speed. */\n  interface Index {\n      /** Name of the index. */\n      name?: string;\n      /**\n       * Fields for which the index is defined.\n       *\n       * Max: 3 fields (for a unique index: 1 field)\n       */\n      fields?: Field[];\n      /**\n       * Current status of the index.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Contains details about the reasons for failure when `status` is `FAILED`.\n       * @readonly\n       */\n      failure?: Failure;\n      /**\n       * Whether the index enforces uniqueness of values in the field for which it is defined.\n       * If `true`, the index can have only one field.\n       *\n       * Default: `false`\n       */\n      unique?: boolean;\n      /**\n       * Whether the index ignores case.\n       *\n       * Default: `false`\n       */\n      caseInsensitive?: boolean;\n  }\n  /**\n   * Order determines how values are ordered in the index. This is important when\n   * ordering and/or range querying by indexed fields.\n   */\n  enum Order {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Field {\n      /** Path of the field to index. For example: `title` or `options.price`. */\n      path?: string;\n      /**\n       * Sort order for the index. Base on how the data is regularly queried.\n       *\n       * Default: `ASC`\n       */\n      order?: Order;\n  }\n  enum Status {\n      /** Place holder. Never returned by the service. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Index creation is in progress. */\n      BUILDING = \"BUILDING\",\n      /** Index has been successfully created and can be used in queries. */\n      ACTIVE = \"ACTIVE\",\n      /** Index is in the process of being dropped. */\n      DROPPING = \"DROPPING\",\n      /** Index has been dropped successfully. */\n      DROPPED = \"DROPPED\",\n      /** Index creation has failed. */\n      FAILED = \"FAILED\",\n      /** Index contains incorrectly indexed data. */\n      INVALID = \"INVALID\"\n  }\n  interface Failure {\n      /**\n       * Error code.\n       * - `WDE0112`: Unknown error while building collection index.\n       * - `WDE0113`: Duplicate key error while building collection index.\n       * - `WDE0114`: Document too large while building collection index.\n       */\n      code?: string;\n      /**\n       * Broad error code.\n       * - `WD_UNKNOWN_ERROR`: Unknown error.\n       * @internal\n       */\n      broadCode?: string;\n      /** Description of the failure. */\n      description?: string;\n      /**\n       * ID of the data item that caused the failure.\n       * For example, if `unique` is `true`, the ID of an item containing a duplicate value.\n       */\n      itemId?: string | null;\n  }\n  interface CreateIndexRequest {\n      /**\n       * Environment on which to define the index. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n      /** Details of the index to be created. */\n      index: Index;\n      /** ID of the data collection for which to generate the index. */\n      dataCollectionId: string;\n  }\n  enum Environment {\n      LIVE = \"LIVE\",\n      SANDBOX = \"SANDBOX\",\n      SANDBOX_PREFERRED = \"SANDBOX_PREFERRED\"\n  }\n  interface CreateIndexResponse {\n      /** Details of the index being generated. */\n      index?: Index;\n  }\n  interface DropIndexRequest {\n      /**\n       * Environment on which the index is defined. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n      /** Name of the index to drop. */\n      indexName: string;\n      /** ID of the data collection for which the index to be dropped is defined. */\n      dataCollectionId: string;\n  }\n  interface DropIndexResponse {\n  }\n  interface ListIndexesRequest {\n      /**\n       * Environment to list indexes for.\n       * @internal\n       */\n      environment?: Environment;\n      /**\n       * Whether to retrieve data from the primary database instance. This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * @internal\n       */\n      consistentRead?: boolean;\n      /** ID of the data collection for which to list indexes. */\n      dataCollectionId: string;\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListIndexesResponse {\n      /** List of all indexes for the requested data collection. */\n      indexes?: Index[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface ListAvailableIndexesRequest {\n      /** Data collection to show available indexes for */\n      dataCollectionId: string;\n  }\n  interface ListAvailableIndexesResponse {\n      /**\n       * limit of regular single-field indexes, even if 0 1-field indices may be created using\n       * 3-field quota (if available)\n       */\n      regular1Field?: number;\n      /** limit of regular indexes up to 3-fields (in addition to 1-field indexes quota) */\n      regular3Field?: number;\n      /** limit of unique indexes */\n      unique1Field?: number;\n      /** Overall index limit, missing value means there's no overall limit */\n      total?: number | null;\n  }\n  /**\n   * Creates an index for a data collection.\n   *\n   * The index can't be used immediately, as the process of generating the index takes time.\n   * You can check whether an index is ready by calling List Indexes.\n   *\n   * Note that when an index fails to create, the failed index still occupies a slot.\n   * To remove the failed index and free up the slot for a new index, call Drop Index.\n   * @param dataCollectionId - ID of the data collection for which to generate the index.\n   * @param index - Details of the index to be created.\n   * @public\n   * @requiredField dataCollectionId\n   * @requiredField index\n   * @requiredField index.fields\n   * @requiredField index.fields.path\n   * @requiredField index.name\n   * @param options - Options for creating an index.\n   * @permissionId WIX_DATA.CREATE_INDEX\n   * @adminMethod\n   * @returns Details of the index being generated.\n   */\n  function createIndex(dataCollectionId: string, index: Index, options?: CreateIndexOptions): Promise<Index>;\n  interface CreateIndexOptions {\n      /**\n       * Environment on which to define the index. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n  }\n  /**\n   * Removes an index from a data collection.\n   *\n   * The process of dropping an index from a collection takes time.\n   * You can check whether an index has been dropped by calling List Indexes.\n   * @param dataCollectionId - ID of the data collection for which the index to be dropped is defined.\n   * @param indexName - Name of the index to drop.\n   * @public\n   * @requiredField dataCollectionId\n   * @requiredField indexName\n   * @param options - Options for dropping an index.\n   * @permissionId WIX_DATA.DROP_INDEX\n   * @adminMethod\n   */\n  function dropIndex(dataCollectionId: string, indexName: string, options?: DropIndexOptions): Promise<void>;\n  interface DropIndexOptions {\n      /**\n       * Environment on which the index is defined. Default value is LIVE.\n       * @internal\n       */\n      environment?: Environment;\n  }\n  /**\n   * Lists all indexes defined for a data collection.\n   *\n   * When an index's status is `ACTIVE`, it is ready to use.\n   * While it is still being created, its status is `BUILDING`.\n   *\n   * When an index's status is `DROPPED`, it has been dropped successfully.\n   * While it is still in the process of being removed, its status is `DROPPING`.\n   * @param dataCollectionId - ID of the data collection for which to list indexes.\n   * @public\n   * @requiredField dataCollectionId\n   * @param options - Options for retrieving a list of indexes.\n   * @permissionId WIX_DATA.LIST_INDEXES\n   * @adminMethod\n   */\n  function listIndexes(dataCollectionId: string, options?: ListIndexesOptions): Promise<ListIndexesResponse>;\n  interface ListIndexesOptions {\n      /**\n       * Environment to list indexes for.\n       * @internal\n       */\n      environment?: Environment;\n      /**\n       * Whether to retrieve data from the primary database instance. This decreases performance but ensures data retrieved is up to date even immediately after an update.\n       * @internal\n       */\n      consistentRead?: boolean;\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n  }\n  /**\n   * Lists available indexes limits\n   * @param dataCollectionId - Data collection to show available indexes for\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField dataCollectionId\n   * @permissionId WIX_DATA.LIST_INDEXES\n   * @adminMethod\n   */\n  function listAvailableIndexes(dataCollectionId: string): Promise<ListAvailableIndexesResponse>;\n  \n  type dataV2Index_universal_d_Index = Index;\n  type dataV2Index_universal_d_Order = Order;\n  const dataV2Index_universal_d_Order: typeof Order;\n  type dataV2Index_universal_d_Field = Field;\n  type dataV2Index_universal_d_Status = Status;\n  const dataV2Index_universal_d_Status: typeof Status;\n  type dataV2Index_universal_d_Failure = Failure;\n  type dataV2Index_universal_d_CreateIndexRequest = CreateIndexRequest;\n  type dataV2Index_universal_d_Environment = Environment;\n  const dataV2Index_universal_d_Environment: typeof Environment;\n  type dataV2Index_universal_d_CreateIndexResponse = CreateIndexResponse;\n  type dataV2Index_universal_d_DropIndexRequest = DropIndexRequest;\n  type dataV2Index_universal_d_DropIndexResponse = DropIndexResponse;\n  type dataV2Index_universal_d_ListIndexesRequest = ListIndexesRequest;\n  type dataV2Index_universal_d_Paging = Paging;\n  type dataV2Index_universal_d_ListIndexesResponse = ListIndexesResponse;\n  type dataV2Index_universal_d_PagingMetadata = PagingMetadata;\n  type dataV2Index_universal_d_ListAvailableIndexesRequest = ListAvailableIndexesRequest;\n  type dataV2Index_universal_d_ListAvailableIndexesResponse = ListAvailableIndexesResponse;\n  const dataV2Index_universal_d_createIndex: typeof createIndex;\n  type dataV2Index_universal_d_CreateIndexOptions = CreateIndexOptions;\n  const dataV2Index_universal_d_dropIndex: typeof dropIndex;\n  type dataV2Index_universal_d_DropIndexOptions = DropIndexOptions;\n  const dataV2Index_universal_d_listIndexes: typeof listIndexes;\n  type dataV2Index_universal_d_ListIndexesOptions = ListIndexesOptions;\n  const dataV2Index_universal_d_listAvailableIndexes: typeof listAvailableIndexes;\n  namespace dataV2Index_universal_d {\n    export {\n      dataV2Index_universal_d_Index as Index,\n      dataV2Index_universal_d_Order as Order,\n      dataV2Index_universal_d_Field as Field,\n      dataV2Index_universal_d_Status as Status,\n      dataV2Index_universal_d_Failure as Failure,\n      dataV2Index_universal_d_CreateIndexRequest as CreateIndexRequest,\n      dataV2Index_universal_d_Environment as Environment,\n      dataV2Index_universal_d_CreateIndexResponse as CreateIndexResponse,\n      dataV2Index_universal_d_DropIndexRequest as DropIndexRequest,\n      dataV2Index_universal_d_DropIndexResponse as DropIndexResponse,\n      dataV2Index_universal_d_ListIndexesRequest as ListIndexesRequest,\n      dataV2Index_universal_d_Paging as Paging,\n      dataV2Index_universal_d_ListIndexesResponse as ListIndexesResponse,\n      dataV2Index_universal_d_PagingMetadata as PagingMetadata,\n      dataV2Index_universal_d_ListAvailableIndexesRequest as ListAvailableIndexesRequest,\n      dataV2Index_universal_d_ListAvailableIndexesResponse as ListAvailableIndexesResponse,\n      dataV2Index_universal_d_createIndex as createIndex,\n      dataV2Index_universal_d_CreateIndexOptions as CreateIndexOptions,\n      dataV2Index_universal_d_dropIndex as dropIndex,\n      dataV2Index_universal_d_DropIndexOptions as DropIndexOptions,\n      dataV2Index_universal_d_listIndexes as listIndexes,\n      dataV2Index_universal_d_ListIndexesOptions as ListIndexesOptions,\n      dataV2Index_universal_d_listAvailableIndexes as listAvailableIndexes,\n    };\n  }\n  \n  export { dataV2DataCollection_universal_d as collections, dataV1ExternalDatabaseConnection_universal_d as externalDatabaseConnections, dataV2Index_universal_d as indexes, dataV2DataItem_universal_d as items, dataV1DataPermissions_universal_d as permissions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-post-login-provider.d.ts",
      "content": "declare module \"interfaces-iam-v1-post-login-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface OnPostLoginRequest {\n      /** The identity that performed the login */\n      identity?: Identity;\n  }\n  interface Identity {\n      /** Identity ID */\n      _id?: string | null;\n      /** Identifiers */\n      identifiers?: Identifier[];\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes.\n       * For an update operation to succeed, you MUST pass the latest revision.\n       */\n      revision?: string | null;\n      /**\n       * The time this identity was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * The time this identity was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** The identity configured connections to authenticate with. */\n      connections?: Connection[];\n      /** Identity profile. */\n      identityProfile?: IdentityProfile;\n      /**\n       * Additional information about the identity that can impact user access.\n       * This data cannot be set.\n       */\n      metadata?: Metadata;\n      /** Identity email address. */\n      email?: Email;\n      /** Identity's current status. */\n      status?: StatusV2;\n  }\n  interface Identifier extends IdentifierValueOneOf {\n      email?: string;\n      userName?: string;\n  }\n  /** @oneof */\n  interface IdentifierValueOneOf {\n      email?: string;\n      userName?: string;\n  }\n  interface Connection extends ConnectionTypeOneOf {\n      /** IDP connection. */\n      idpConnection?: IdpConnection;\n      /** Authenticator connection. */\n      authenticatorConnection?: AuthenticatorConnection;\n  }\n  /** @oneof */\n  interface ConnectionTypeOneOf {\n      /** IDP connection. */\n      idpConnection?: IdpConnection;\n      /** Authenticator connection. */\n      authenticatorConnection?: AuthenticatorConnection;\n  }\n  interface IdpConnection {\n      /** IDP connection ID. */\n      idpConnectionId?: string;\n      /** IDP user ID. */\n      idpUserId?: string;\n  }\n  interface AuthenticatorConnection {\n      /** Authenticator connection ID. */\n      authenticatorConnectionId?: string;\n      /** Whether re-enrollment is required. */\n      reEnrollmentRequired?: boolean;\n  }\n  interface IdentityProfile {\n      /** Profile first name. */\n      firstName?: string | null;\n      /** Profile last name. */\n      lastName?: string | null;\n      /** Profile nickname. */\n      nickname?: string | null;\n      /** Profile picture URL. */\n      picture?: string | null;\n      /** Deprecated. Use `secondaryEmails` instead. */\n      emails?: string[];\n      /** Deprecated. Use `phonesV2` instead. */\n      phones?: string[];\n      /** List of profile labels. */\n      labels?: string[];\n      /** Profile language. */\n      language?: string | null;\n      /** Profile privacy status. */\n      privacyStatus?: PrivacyStatus;\n      /**\n       * Any number of custom fields. [Custom fields](https://support.wix.com/en/article/adding-custom-fields-to-contacts)\n       * are used to store additional information about your site or app's contacts.\n       */\n      customFields?: CustomField[];\n      /** List of profile email addresses. */\n      secondaryEmails?: SecondaryEmail[];\n      /** List of profile phone numbers. */\n      phonesV2?: Phone[];\n      /** List of profile physical addresses. */\n      addresses?: AddressWrapper[];\n      /** Company name. */\n      company?: string | null;\n      /** Position within company. */\n      position?: string | null;\n      /** Profile birthdate. */\n      birthdate?: string | null;\n  }\n  enum PrivacyStatus {\n      UNDEFINED = \"UNDEFINED\",\n      PUBLIC = \"PUBLIC\",\n      PRIVATE = \"PRIVATE\"\n  }\n  interface CustomField {\n      /**\n       * Custom field name. The name must match one of the key properties of the objects returned by\n       * [`List Extended Fields`](https://dev.wix.com/docs/rest/api-reference/contacts/extended-fields/list-extended-fields)\n       * with the `custom.` prefix removed.\n       */\n      name?: string;\n      /** Custom field value. */\n      value?: CustomValue;\n  }\n  interface CustomValue extends CustomValueValueOneOf {\n      /** String value. */\n      strValue?: string;\n      /** Number value. */\n      numValue?: number;\n      /** Date value. */\n      dateValue?: Date;\n      /** List value. */\n      listValue?: ListValue;\n      /** Map value. */\n      mapValue?: MapValue;\n  }\n  /** @oneof */\n  interface CustomValueValueOneOf {\n      /** String value. */\n      strValue?: string;\n      /** Number value. */\n      numValue?: number;\n      /** Date value. */\n      dateValue?: Date;\n      /** List value. */\n      listValue?: ListValue;\n      /** Map value. */\n      mapValue?: MapValue;\n  }\n  interface ListValue {\n      /** Custom value. */\n      value?: CustomValue[];\n  }\n  interface MapValue {\n      /** Mapped custom value. */\n      value?: Record<string, CustomValue>;\n  }\n  interface SecondaryEmail {\n      /** Email address. */\n      email?: string;\n      /** Email tag. */\n      tag?: EmailTag;\n  }\n  enum EmailTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\",\n      HOME = \"HOME\",\n      WORK = \"WORK\"\n  }\n  interface Phone {\n      /** Phone country code. */\n      countryCode?: string | null;\n      /** Phone number. */\n      phone?: string;\n      /** Phone tag. */\n      tag?: PhoneTag;\n  }\n  enum PhoneTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\",\n      HOME = \"HOME\",\n      MOBILE = \"MOBILE\",\n      WORK = \"WORK\",\n      FAX = \"FAX\"\n  }\n  interface AddressWrapper {\n      /** Address. */\n      address?: Address;\n      /** Address tag. */\n      tag?: AddressTag;\n  }\n  /** Physical address */\n  interface Address {\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n  }\n  enum AddressTag {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\",\n      WORK = \"WORK\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface Metadata {\n      /**\n       * represents general tags such as \"isOwner\", \"isContributor\"\n       * @readonly\n       */\n      tags?: string[];\n  }\n  interface Email {\n      address?: string;\n      isVerified?: boolean;\n  }\n  interface StatusV2 {\n      name?: StatusName;\n      reasons?: Reason[];\n  }\n  enum StatusName {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      PENDING = \"PENDING\",\n      ACTIVE = \"ACTIVE\",\n      DELETED = \"DELETED\",\n      BLOCKED = \"BLOCKED\",\n      OFFLINE = \"OFFLINE\"\n  }\n  enum Reason {\n      UNKNOWN_REASON = \"UNKNOWN_REASON\",\n      PENDING_ADMIN_APPROVAL_REQUIRED = \"PENDING_ADMIN_APPROVAL_REQUIRED\",\n      PENDING_EMAIL_VERIFICATION_REQUIRED = \"PENDING_EMAIL_VERIFICATION_REQUIRED\"\n  }\n  interface OnPostLoginResponse {\n      /** Enrichment fields the implementor can add to the response of login */\n      enrichedFields?: Record<string, CustomValue>;\n  }\n  interface PostLoginConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface OnPostLoginOptions {\n      /** The identity that performed the login */\n      identity?: Identity;\n  }\n  \n  export { Address, AddressTag, AddressWrapper, AuthenticatorConnection, BusinessError, Connection, ConnectionTypeOneOf, Context, CustomField, CustomValue, CustomValueValueOneOf, Email, EmailTag, IdentificationData, IdentificationDataIdOneOf, Identifier, IdentifierValueOneOf, Identity, IdentityProfile, IdentityType, IdpConnection, ListValue, MapValue, Metadata, OnPostLoginOptions, OnPostLoginRequest, OnPostLoginResponse, Phone, PhoneTag, PostLoginConfig, PrivacyStatus, Reason, SecondaryEmail, StatusName, StatusV2 };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-sender-emails-backend.d.ts",
      "content": "declare module \"wix-sender-emails-backend\" {\n  interface SenderEmail {\n      /**\n       * Sender email ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date and time when the sender email was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the sender email was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Sender email address. */\n      emailAddress?: string;\n      /**\n       * Whether the sender email is verified.\n       * @readonly\n       */\n      verified?: boolean;\n      /**\n       * Verification code (returned only if asked explicitly on request AND when caller has \"PROMOTE.SENDER_EMAILS_READ_VERIFICATION_CODE\" permission).\n       * @internal\n       * @readonly\n       */\n      verificationCode?: string | null;\n      /** Extensions allowing users to save custom data related to the sender emails. */\n      extendedFields?: ExtendedFields;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface GetSenderEmailRequest {\n      /** ID of the sender email to retrieve. */\n      senderEmailId: string;\n      /**\n       * Additionally requested fields.\n       * @internal\n       */\n      fields?: RequestedFields[];\n  }\n  enum RequestedFields {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      VERIFICATION_CODE = \"VERIFICATION_CODE\"\n  }\n  interface GetSenderEmailResponse {\n      /** The requested sender email info. */\n      senderEmail?: SenderEmail;\n  }\n  interface ListSenderEmailsRequest {\n      /** Paging details. */\n      paging?: CursorPaging;\n      /** Provide a specific email address if you don't want to receive all email addresses you have. */\n      emailAddress?: string | null;\n      /**\n       * Additionally requested fields.\n       * @internal\n       */\n      fields?: RequestedFields[];\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       * You can get the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListSenderEmailsResponse {\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n      /** List of sender emails. */\n      senderEmails?: SenderEmail[];\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetOrCreateSenderEmailRequest {\n      /** Requested sender email. */\n      emailAddress: string;\n      /**\n       * Additionally requested fields.\n       * @internal\n       */\n      fields?: RequestedFields[];\n  }\n  interface GetOrCreateSenderEmailResponse {\n      /** The requested sender email. */\n      senderEmail?: SenderEmail;\n  }\n  interface CreateSenderEmailRequest {\n      /** Sender email info. */\n      senderEmail: SenderEmail;\n      /**\n       * Additionally requested fields.\n       * @internal\n       */\n      fields?: RequestedFields[];\n  }\n  interface CreateSenderEmailResponse {\n      /** The created sender email. */\n      senderEmail?: SenderEmail;\n  }\n  interface DeleteSenderEmailRequest {\n      /** ID of the sender email to delete. */\n      senderEmailId: string;\n  }\n  interface DeleteSenderEmailResponse {\n  }\n  interface SendVerificationCodeRequest {\n      /** ID of the sender email to send the code for. */\n      senderEmailId: string;\n  }\n  interface SendVerificationCodeResponse {\n  }\n  interface VerifySenderEmailRequest {\n      /** ID of the sender email to verify. */\n      senderEmailId: string;\n      /** Verification code that you received in your inbox. */\n      verificationCode: string;\n  }\n  interface VerifySenderEmailResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a sender email by ID.\n   * @param senderEmailId - ID of the sender email to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField senderEmailId\n   * @permissionId PROMOTE.SENDER_EMAILS_READ\n   * @adminMethod\n   * @returns The requested sender email info.\n   */\n  function getSenderEmail(senderEmailId: string, options?: GetSenderEmailOptions): Promise<SenderEmail>;\n  interface GetSenderEmailOptions {\n      /**\n       * Additionally requested fields.\n       * @internal\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Retrieves a list of sender emails.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PROMOTE.SENDER_EMAILS_READ\n   * @adminMethod\n   */\n  function listSenderEmails(options?: ListSenderEmailsOptions): Promise<ListSenderEmailsResponse>;\n  interface ListSenderEmailsOptions {\n      /** Paging details. */\n      paging?: CursorPaging;\n      /** Provide a specific email address if you don't want to receive all email addresses you have. */\n      emailAddress?: string | null;\n      /**\n       * Additionally requested fields.\n       * @internal\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Gets the sender email info by the email address, or creates a new one.\n   *\n   * If you try to create an email with a name that aready exists, this endpoint won't return you an error. Instead, you'll get the info of the existing email.\n   * @param emailAddress - Requested sender email.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField emailAddress\n   * @permissionId PROMOTE.SENDER_EMAILS_GET_OR_CREATE\n   * @adminMethod\n   */\n  function getOrCreateSenderEmail(emailAddress: string, options?: GetOrCreateSenderEmailOptions): Promise<GetOrCreateSenderEmailResponse>;\n  interface GetOrCreateSenderEmailOptions {\n      /**\n       * Additionally requested fields.\n       * @internal\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Creates a sender email.\n   * @param senderEmail - Sender email info.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField senderEmail\n   * @requiredField senderEmail.emailAddress\n   * @permissionId PROMOTE.SENDER_EMAILS_CREATE\n   * @adminMethod\n   * @returns The created sender email.\n   */\n  function createSenderEmail(senderEmail: SenderEmail, options?: CreateSenderEmailOptions): Promise<SenderEmail>;\n  interface CreateSenderEmailOptions {\n      /**\n       * Additionally requested fields.\n       * @internal\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Deletes a sender email.\n   * @param senderEmailId - ID of the sender email to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField senderEmailId\n   * @permissionId PROMOTE.SENDER_EMAILS_DELETE\n   * @adminMethod\n   */\n  function deleteSenderEmail(senderEmailId: string): Promise<void>;\n  /**\n   * Sends the verification code to your created email inbox.\n   *\n   * > **Note:** If you haven't received your code, check the spam folder. If it's not there, try sending the verification email again.\n   * @param senderEmailId - ID of the sender email to send the code for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField senderEmailId\n   * @permissionId PROMOTE.SENDER_EMAILS_SEND_VERIFICATION_MAIL\n   * @adminMethod\n   */\n  function sendVerificationCode(senderEmailId: string): Promise<void>;\n  /**\n   * Verifies a sender email by passing the verification code that you got into your inbox.\n   * @param senderEmailId - ID of the sender email to verify.\n   * @param verificationCode - Verification code that you received in your inbox.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField senderEmailId\n   * @requiredField verificationCode\n   * @permissionId PROMOTE.SENDER_EMAILS_VERIFY\n   * @adminMethod\n   */\n  function verifySenderEmail(senderEmailId: string, verificationCode: string): Promise<void>;\n  \n  type promoteV1SenderEmail_universal_d_SenderEmail = SenderEmail;\n  type promoteV1SenderEmail_universal_d_ExtendedFields = ExtendedFields;\n  type promoteV1SenderEmail_universal_d_GetSenderEmailRequest = GetSenderEmailRequest;\n  type promoteV1SenderEmail_universal_d_RequestedFields = RequestedFields;\n  const promoteV1SenderEmail_universal_d_RequestedFields: typeof RequestedFields;\n  type promoteV1SenderEmail_universal_d_GetSenderEmailResponse = GetSenderEmailResponse;\n  type promoteV1SenderEmail_universal_d_ListSenderEmailsRequest = ListSenderEmailsRequest;\n  type promoteV1SenderEmail_universal_d_CursorPaging = CursorPaging;\n  type promoteV1SenderEmail_universal_d_ListSenderEmailsResponse = ListSenderEmailsResponse;\n  type promoteV1SenderEmail_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type promoteV1SenderEmail_universal_d_Cursors = Cursors;\n  type promoteV1SenderEmail_universal_d_GetOrCreateSenderEmailRequest = GetOrCreateSenderEmailRequest;\n  type promoteV1SenderEmail_universal_d_GetOrCreateSenderEmailResponse = GetOrCreateSenderEmailResponse;\n  type promoteV1SenderEmail_universal_d_CreateSenderEmailRequest = CreateSenderEmailRequest;\n  type promoteV1SenderEmail_universal_d_CreateSenderEmailResponse = CreateSenderEmailResponse;\n  type promoteV1SenderEmail_universal_d_DeleteSenderEmailRequest = DeleteSenderEmailRequest;\n  type promoteV1SenderEmail_universal_d_DeleteSenderEmailResponse = DeleteSenderEmailResponse;\n  type promoteV1SenderEmail_universal_d_SendVerificationCodeRequest = SendVerificationCodeRequest;\n  type promoteV1SenderEmail_universal_d_SendVerificationCodeResponse = SendVerificationCodeResponse;\n  type promoteV1SenderEmail_universal_d_VerifySenderEmailRequest = VerifySenderEmailRequest;\n  type promoteV1SenderEmail_universal_d_VerifySenderEmailResponse = VerifySenderEmailResponse;\n  type promoteV1SenderEmail_universal_d_DomainEvent = DomainEvent;\n  type promoteV1SenderEmail_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type promoteV1SenderEmail_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type promoteV1SenderEmail_universal_d_RestoreInfo = RestoreInfo;\n  type promoteV1SenderEmail_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type promoteV1SenderEmail_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type promoteV1SenderEmail_universal_d_ActionEvent = ActionEvent;\n  type promoteV1SenderEmail_universal_d_MessageEnvelope = MessageEnvelope;\n  type promoteV1SenderEmail_universal_d_IdentificationData = IdentificationData;\n  type promoteV1SenderEmail_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type promoteV1SenderEmail_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const promoteV1SenderEmail_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const promoteV1SenderEmail_universal_d_getSenderEmail: typeof getSenderEmail;\n  type promoteV1SenderEmail_universal_d_GetSenderEmailOptions = GetSenderEmailOptions;\n  const promoteV1SenderEmail_universal_d_listSenderEmails: typeof listSenderEmails;\n  type promoteV1SenderEmail_universal_d_ListSenderEmailsOptions = ListSenderEmailsOptions;\n  const promoteV1SenderEmail_universal_d_getOrCreateSenderEmail: typeof getOrCreateSenderEmail;\n  type promoteV1SenderEmail_universal_d_GetOrCreateSenderEmailOptions = GetOrCreateSenderEmailOptions;\n  const promoteV1SenderEmail_universal_d_createSenderEmail: typeof createSenderEmail;\n  type promoteV1SenderEmail_universal_d_CreateSenderEmailOptions = CreateSenderEmailOptions;\n  const promoteV1SenderEmail_universal_d_deleteSenderEmail: typeof deleteSenderEmail;\n  const promoteV1SenderEmail_universal_d_sendVerificationCode: typeof sendVerificationCode;\n  const promoteV1SenderEmail_universal_d_verifySenderEmail: typeof verifySenderEmail;\n  namespace promoteV1SenderEmail_universal_d {\n    export {\n      promoteV1SenderEmail_universal_d_SenderEmail as SenderEmail,\n      promoteV1SenderEmail_universal_d_ExtendedFields as ExtendedFields,\n      promoteV1SenderEmail_universal_d_GetSenderEmailRequest as GetSenderEmailRequest,\n      promoteV1SenderEmail_universal_d_RequestedFields as RequestedFields,\n      promoteV1SenderEmail_universal_d_GetSenderEmailResponse as GetSenderEmailResponse,\n      promoteV1SenderEmail_universal_d_ListSenderEmailsRequest as ListSenderEmailsRequest,\n      promoteV1SenderEmail_universal_d_CursorPaging as CursorPaging,\n      promoteV1SenderEmail_universal_d_ListSenderEmailsResponse as ListSenderEmailsResponse,\n      promoteV1SenderEmail_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      promoteV1SenderEmail_universal_d_Cursors as Cursors,\n      promoteV1SenderEmail_universal_d_GetOrCreateSenderEmailRequest as GetOrCreateSenderEmailRequest,\n      promoteV1SenderEmail_universal_d_GetOrCreateSenderEmailResponse as GetOrCreateSenderEmailResponse,\n      promoteV1SenderEmail_universal_d_CreateSenderEmailRequest as CreateSenderEmailRequest,\n      promoteV1SenderEmail_universal_d_CreateSenderEmailResponse as CreateSenderEmailResponse,\n      promoteV1SenderEmail_universal_d_DeleteSenderEmailRequest as DeleteSenderEmailRequest,\n      promoteV1SenderEmail_universal_d_DeleteSenderEmailResponse as DeleteSenderEmailResponse,\n      promoteV1SenderEmail_universal_d_SendVerificationCodeRequest as SendVerificationCodeRequest,\n      promoteV1SenderEmail_universal_d_SendVerificationCodeResponse as SendVerificationCodeResponse,\n      promoteV1SenderEmail_universal_d_VerifySenderEmailRequest as VerifySenderEmailRequest,\n      promoteV1SenderEmail_universal_d_VerifySenderEmailResponse as VerifySenderEmailResponse,\n      promoteV1SenderEmail_universal_d_DomainEvent as DomainEvent,\n      promoteV1SenderEmail_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      promoteV1SenderEmail_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      promoteV1SenderEmail_universal_d_RestoreInfo as RestoreInfo,\n      promoteV1SenderEmail_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      promoteV1SenderEmail_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      promoteV1SenderEmail_universal_d_ActionEvent as ActionEvent,\n      promoteV1SenderEmail_universal_d_MessageEnvelope as MessageEnvelope,\n      promoteV1SenderEmail_universal_d_IdentificationData as IdentificationData,\n      promoteV1SenderEmail_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      promoteV1SenderEmail_universal_d_WebhookIdentityType as WebhookIdentityType,\n      promoteV1SenderEmail_universal_d_getSenderEmail as getSenderEmail,\n      promoteV1SenderEmail_universal_d_GetSenderEmailOptions as GetSenderEmailOptions,\n      promoteV1SenderEmail_universal_d_listSenderEmails as listSenderEmails,\n      promoteV1SenderEmail_universal_d_ListSenderEmailsOptions as ListSenderEmailsOptions,\n      promoteV1SenderEmail_universal_d_getOrCreateSenderEmail as getOrCreateSenderEmail,\n      promoteV1SenderEmail_universal_d_GetOrCreateSenderEmailOptions as GetOrCreateSenderEmailOptions,\n      promoteV1SenderEmail_universal_d_createSenderEmail as createSenderEmail,\n      promoteV1SenderEmail_universal_d_CreateSenderEmailOptions as CreateSenderEmailOptions,\n      promoteV1SenderEmail_universal_d_deleteSenderEmail as deleteSenderEmail,\n      promoteV1SenderEmail_universal_d_sendVerificationCode as sendVerificationCode,\n      promoteV1SenderEmail_universal_d_verifySenderEmail as verifySenderEmail,\n    };\n  }\n  \n  export { promoteV1SenderEmail_universal_d as senderEmails };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-social-marketing-designs-provider.d.ts",
      "content": "declare module \"interfaces-promote-v1-social-marketing-designs-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface ListDesignsRequest {\n  }\n  interface ListDesignsResponse {\n      /** The retrieved designs. */\n      designs?: Design[];\n  }\n  /** Design is the main entity of SocialMarketingDesignSPI */\n  interface Design {\n      /**\n       * External design ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Provider ID. */\n      providerId?: string;\n      /** Thumbnail of the design. deprecarted */\n      thumbnail?: string;\n      /** Media url of the design. deprecarted */\n      mediaUrl?: string;\n      /** Format of the design. deprecarted */\n      format?: Format;\n      /**\n       * The date and time the design was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * The date and time the design was last edited.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Media type of the design. deprecarted */\n      mediaType?: MediaType;\n      /** Host metadata. */\n      hostMetadata?: HostMetadata;\n      /** Thumbnail url of the design. */\n      thumbnailUrl?: string;\n      /** Media of the design */\n      media?: Media[];\n  }\n  enum Format {\n      UNKNOWN = \"UNKNOWN\",\n      SQUARE = \"SQUARE\",\n      PORTRAIT = \"PORTRAIT\",\n      LANDSCAPE = \"LANDSCAPE\"\n  }\n  enum MediaType {\n      UNKNOWN = \"UNKNOWN\",\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      GIF = \"GIF\"\n  }\n  interface HostMetadata {\n      /**\n       * Internal database ID of the design.\n       * @readonly\n       */\n      internalId?: string;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface Media {\n      /** Url of the media item. */\n      url?: string;\n      /** Type of the media item. */\n      type?: MediaType;\n      /** Format of the media item. */\n      format?: Format;\n  }\n  interface DeleteDesignRequest {\n      /** ID of the design to delete. */\n      designId: string;\n  }\n  interface DeleteDesignResponse {\n      /** Whether the design was successfully deleted. */\n      success?: boolean;\n  }\n  interface SocialMarketingDesignsProviderConfig {\n      /** Required. Human-readable name of the design provider app. */\n      name?: string;\n      /** Required. Component ID of the dashboard component. */\n      editorComponentId?: string;\n      /** The icon URL of the app that will be displayed in the . The icon will be displayed in the UI of the social media marketing dashboard page. */\n      iconUrl?: string;\n      /** Required. How the composer should be opened. One of: `\"MODAL\"`, `\"NAVIGATE\"` */\n      navigationType?: NavigationType;\n      /** Whether the designs can be deleted from a site owner's dashboard. When `false`, designs can only be deleted from the provider's database. */\n      deleteDesignEnabled?: boolean;\n      /** Whether the designs are managed by the provider. When `false`, designs are managed by Wix. */\n      manageDesigns?: boolean;\n  }\n  enum NavigationType {\n      NAVIGATE = \"NAVIGATE\",\n      MODAL = \"MODAL\"\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  \n  export { BusinessError, Context, DeleteDesignRequest, DeleteDesignResponse, Design, Format, HostMetadata, IdentificationData, IdentificationDataIdOneOf, IdentityType, ListDesignsRequest, ListDesignsResponse, Media, MediaType, NavigationType, SocialMarketingDesignsProviderConfig };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend.v3.d.ts",
      "content": "declare module \"wix-stores-backend.v3\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Product is the main entity of ProductService that can be used for lorem ipsum dolor */\n  interface Product extends ProductTypedPropertiesOneOf {\n      /** Physical properties, can be provided only when `product_type` is PHYSICAL */\n      physicalOptions?: PhysicalProperties;\n      /** Product ID. Auto-generated on product creation. */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Product was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Product was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Product name. Translatable. */\n      name?: string | null;\n      /**\n       * A permanent, friendly URL name.\n       * If not provided, on create generated automatically.\n       * When provided, validated and must be unique.\n       */\n      slug?: string | null;\n      /**\n       * URL to product page on the site.\n       * Missing page url also?\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Optional - Product description which supports rich content.\n       * In order to use this field you have to integrate with \"Ricos\" on frontend side. To learn how to do it visit https://ricos.js.org/.\n       * @internal\n       */\n      description?: RichContent;\n      /** Whether the product is visible to site visitors in Online Stores. Default: `true` */\n      visible?: boolean | null;\n      /** Whether the product is visible in POS (point of sale app). Default: `true` */\n      visibleInPos?: boolean | null;\n      /** Media items (images, videos etc) associated with this product. */\n      media?: Media;\n      /** Custom SEO data for the product. */\n      seoData?: SeoSchema;\n      /**\n       * Tax group id\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /**\n       * Custom text fields allows to collect custom input from UoUs. For example greeting text on birthday cake or text that should be print on T-shirt.\n       * Don't get used to it. Will be migrated to other field soon.\n       * @internal\n       */\n      customFields?: CustomText[];\n      /** Product options */\n      options?: ConnectedOption[];\n      /** Product Modifiers */\n      modifiers?: ConnectedModifier[];\n      /** Optional - Brand. To assign existing brand to product provide `brand.id`. */\n      brand?: Brand;\n      /** Product info sections. */\n      infoSections?: InfoSection[];\n      /** Product subscription options. */\n      subscriptionOptions?: SubscriptionOptionInfo[];\n      /** Default: `false`. Can be `true` only when `subscription_options` not empty and means that product can be purchased only as subscription but not as individual product. */\n      subscriptionOnly?: boolean;\n      /**\n       * Product customizations. Replaces `customFields` from v1 API.\n       * @internal\n       */\n      customizations?: Customization[];\n      /** Product ribbon. */\n      ribbon?: Ribbon;\n      /**\n       * A list of categories that this product is included in directly. Updated automatically when product added/removed from category, when an item is moved within the category or when category deleted.\n       * @readonly\n       */\n      directCategories?: ProductCategory[];\n      /**\n       * A list of all categories that this product is included in directly and their parent category ids. For example, product included in category \"Shoes\", \"Shoes\" has parent category \"Women\", product is not included in category \"Women\" directly but it still will be returned in this list because product included in it's subcategory.\n       * @readonly\n       */\n      allCategories?: ProductCategory[];\n      /**\n       * Main category id. If product belongs to more than one category main category defines `breadcrumbs` on product page.\n       * By default first category from `category_ids` list. Provided value MUST be in `category_ids`\n       * Can be empty only in case if product doesn't belong to any category.\n       */\n      mainCategoryId?: string | null;\n      /**\n       * Breadcrumb, Calculated by the breadcrumbs of the `main_category_id` when it changes.\n       * @readonly\n       */\n      breadcrumbs?: BreadCrumb[];\n      /**\n       * Product base price range. The minimum and maximum prices of all the variants.\n       * @readonly\n       */\n      basePriceRange?: PriceRange;\n      /**\n       * Product discounted price range. The minimum and maximum prices of all the variants.\n       * @readonly\n       */\n      discountedPriceRange?: PriceRange;\n      /**\n       * Product cost range. The minimum and maximum costs of all the variants.\n       * Requires admin permissions to read\n       * @readonly\n       */\n      costRange?: PriceRange;\n      /**\n       * Product inventory per location (a materialized view by listening to inventory domain events).\n       * @readonly\n       */\n      inventory?: Inventory[];\n      /** Product type. Affects which properties product has. Also defines type of variants which allowed to be associated with this product. Product type must be provided on creation and cannot be changed. */\n      productType?: ProductType;\n      /**\n       * Currency code in ISO 4217 format (e.g., USD). All prices in responses are in this currency.\n       * @readonly\n       */\n      currency?: string | null;\n      /**\n       * List of related variants.\n       * On update product request with variants product options must be provided\n       */\n      variants?: Variant[];\n      /** Extensions enabling users to save custom data related to the product. */\n      extendedFields?: ExtendedFields;\n      /**\n       * SEO title extracted from `seo_data` for backward compatibility.\n       * @internal\n       * @readonly\n       */\n      seoTitle?: string | null;\n      /**\n       * SEO description extracted from `seo_data` for backward compatibility.\n       * @internal\n       * @readonly\n       */\n      seoDescription?: string | null;\n      /** Product subscription based purchases. */\n      subscription?: Subscription;\n  }\n  /** @oneof */\n  interface ProductTypedPropertiesOneOf {\n      /** Physical properties, can be provided only when `product_type` is PHYSICAL */\n      physicalOptions?: PhysicalProperties;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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. */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface V1Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: V1Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: V1Media;\n      /** Video thumbnail file details. */\n      thumbnail?: V1Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: V1Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: V1Media;\n  }\n  interface PollSettings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: V1Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: V1Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: V1Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: PollSettings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /** Deprecated: Use `image` instead. */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: V1Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: V1Media;\n      /** Video thumbnail details. */\n      thumbnail?: V1Media;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /** Deprecated: Use `rowHeader` and `columnHeader` instead. */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: V1Media;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: V1Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface Media {\n      /**\n       * Primary media (image, video etc) associated with this product.\n       * @readonly\n       */\n      main?: ProductMedia;\n      /** Media (images, videos etc) associated with this product. */\n      items?: ProductMedia[];\n  }\n  interface ProductMedia extends ProductMediaSetByOneOf, ProductMediaMediaOneOf {\n      /** Image ID from Media Manager. Use when you already uploaded media in Media Manager. */\n      _id?: string;\n      /** URL of image to be uploaded. Upload by url is async process so expect product to be created without any media. If upload successful then media will appear in product later. */\n      url?: string;\n      /**\n       * Product image.\n       * @readonly\n       */\n      image?: string;\n      /**\n       * Product video.\n       * @readonly\n       */\n      video?: string;\n      /**\n       * ID used to upload media to Wix Media Manager. When media item provided with id `correlation_id` will be the same. When media provided with url only `correlation_id` will be auto-generated.\n       * @readonly\n       */\n      correlationId?: string;\n      /** Image alt text. Relevant only for images. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ProductMediaSetByOneOf {\n      /** Image ID from Media Manager. Use when you already uploaded media in Media Manager. */\n      _id?: string;\n      /** URL of image to be uploaded. Upload by url is async process so expect product to be created without any media. If upload successful then media will appear in product later. */\n      url?: string;\n  }\n  /** @oneof */\n  interface ProductMediaMediaOneOf {\n      /**\n       * Product image.\n       * @readonly\n       */\n      image?: string;\n      /**\n       * Product video.\n       * @readonly\n       */\n      video?: string;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       */\n      poster?: string;\n      /**\n       * Video format\n       * Possible values: ['144p.mp4' '144p.webm' '240p.mp4' '240p.webm' '360p.mp4' '360p.webm' '480p.mp4' '480p.webm'\n       * '720p.mp4' '720p.webm' '1080p.mp4' '1080p.webm', 'hls' ]\n       */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       */\n      urlExpirationDate?: Date;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface CustomText {\n      /** Custom text title */\n      title?: string;\n      /**\n       * Key is autogenerated from title\n       * @readonly\n       */\n      key?: string;\n      /** Max length of input */\n      maxLength?: number;\n      /** Whether input is mandatory */\n      mandatory?: boolean;\n  }\n  interface ConnectedOption extends ConnectedOptionOptionSettingsOneOf {\n      /** TextChoices modifier settings */\n      textChoicesSettings?: TextChoicesSettings;\n      /** SwatchChoices modifier settings */\n      swatchChoicesSettings?: SwatchChoicesSettings;\n      /** The id of the option */\n      optionId?: string | null;\n      /** Option title. Materialized view field */\n      name?: string | null;\n      /** Option settings type */\n      optionSettingsType?: OptionSettingsType;\n      /**\n       * Option key. TODO: Materialized view field\n       * @readonly\n       */\n      key?: string;\n  }\n  /** @oneof */\n  interface ConnectedOptionOptionSettingsOneOf {\n      /** TextChoices modifier settings */\n      textChoicesSettings?: TextChoicesSettings;\n      /** SwatchChoices modifier settings */\n      swatchChoicesSettings?: SwatchChoicesSettings;\n  }\n  enum OptionSettingsType {\n      UNKNOWN_OPTION_SETTINGS_TYPE = \"UNKNOWN_OPTION_SETTINGS_TYPE\",\n      FREE_TEXT = \"FREE_TEXT\",\n      TEXT_CHOICES = \"TEXT_CHOICES\",\n      SWATCH_CHOICES = \"SWATCH_CHOICES\"\n  }\n  interface TextChoicesSettings {\n      /**\n       * A list of choices available for this Option.\n       * To update choices for existing Option, use SetProductOptionChoices, AddProductOptionChoices, DeleteProductOptionChoices and BulkAddProductOptionChoices endpoints\n       */\n      choices?: ConnectedChoice[];\n  }\n  interface ConnectedChoice extends ConnectedChoiceValueOneOf {\n      /** One color - HEX (#RRGGBB) color code for display. */\n      colorCode?: string;\n      /**\n       * Multiple colors  - HEX (#RRGGBB) color code\n       * @internal\n       */\n      colorCodes?: MultipleColors;\n      /**\n       * Image\n       * @internal\n       */\n      image?: string;\n      /** The id of the choice. */\n      choiceId?: string | null;\n      /**\n       * Product media overrides. When not empty only these images will be shown when such choices selected by customer. Otherwise all images of product.\n       * When several choices from different options selected only media filter present in `media_overrides` of ALL choices will be shown.\n       * For example if Color:red has images 1,2,3 and Material:Silk has images 2,3,5 then only images 2,3 will be shown when both of them selected.\n       */\n      linkedMedia?: ProductMedia[];\n      /** The type of this choice. Materialized view field */\n      choiceType?: ChoiceType;\n      /**\n       * A key based the choice name that will be used for CatalogSPI endpoints. Materialized view field.\n       * @readonly\n       */\n      key?: string;\n      /** Choice name.  Materialized view field. */\n      name?: string | null;\n      /** Price added to product price for this Choice when Option is assigned to Product as Modifier. */\n      addedPrice?: string | null;\n  }\n  /** @oneof */\n  interface ConnectedChoiceValueOneOf {\n      /** One color - HEX (#RRGGBB) color code for display. */\n      colorCode?: string;\n      /**\n       * Multiple colors  - HEX (#RRGGBB) color code\n       * @internal\n       */\n      colorCodes?: MultipleColors;\n      /**\n       * Image\n       * @internal\n       */\n      image?: string;\n  }\n  enum ChoiceType {\n      UNKNOWN_CHOICE_TYPE = \"UNKNOWN_CHOICE_TYPE\",\n      CHOICE_TEXT = \"CHOICE_TEXT\",\n      ONE_COLOR = \"ONE_COLOR\",\n      MULTIPLE_COLORS = \"MULTIPLE_COLORS\",\n      IMAGE = \"IMAGE\"\n  }\n  interface MultipleColors {\n      /** A list of color codes. */\n      colorCodes?: string[];\n  }\n  interface SwatchChoicesSettings {\n      /**\n       * A list of choices available for this Option.\n       * To update choices for existing Option, use SetProductOptionChoices, AddProductOptionChoices, DeleteProductOptionChoices and BulkAddProductOptionChoices endpoints\n       */\n      choices?: ConnectedChoice[];\n  }\n  interface ConnectedModifier extends ConnectedModifierOptionSettingsOneOf {\n      /** Free Text modifier settings */\n      freeTextSettings?: FreeTextSettings;\n      /** TextChoices modifier settings */\n      textChoicesSettings?: TextChoicesSettings;\n      /** SwatchChoices modifier settings */\n      swatchChoicesSettings?: SwatchChoicesSettings;\n      /** The id of the option */\n      optionId?: string | null;\n      /** Modifier title. Materialized view field */\n      name?: string | null;\n      /** Option settings type */\n      optionSettingsType?: OptionSettingsType;\n      /** User input is required. */\n      mandatory?: boolean;\n      /**\n       * Modifier key. TODO: Materialized view field\n       * @readonly\n       */\n      key?: string;\n  }\n  /** @oneof */\n  interface ConnectedModifierOptionSettingsOneOf {\n      /** Free Text modifier settings */\n      freeTextSettings?: FreeTextSettings;\n      /** TextChoices modifier settings */\n      textChoicesSettings?: TextChoicesSettings;\n      /** SwatchChoices modifier settings */\n      swatchChoicesSettings?: SwatchChoicesSettings;\n  }\n  interface FreeTextSettings {\n      /** minimum text length */\n      minCharCount?: number;\n      /** maximum text length */\n      maxCharCount?: number;\n      /** Price added to product price. */\n      defaultAddedPrice?: string | null;\n  }\n  interface Brand {\n      /** brand ID */\n      _id?: string | null;\n      /** brand name. Translatable. Materialized field view. */\n      name?: string | null;\n  }\n  interface InfoSection {\n      /** info section id */\n      _id?: string | null;\n      /** Product info section title. Translatable. Materialized view field. */\n      uniqueName?: string | null;\n      /**\n       * Product info section title. Translatable. Materialized view field.\n       * @readonly\n       */\n      title?: string | null;\n      /**\n       * Product info section description. Translatable. Materialized view field.\n       * In order to use this field you have to integrate with \"Ricos\" on frontend side. To learn how to do it visit https://ricos.js.org/.\n       * @readonly\n       */\n      description?: RichContent;\n  }\n  interface SubscriptionOptionInfo {\n      /** The id of the subscription_option */\n      _id?: string | null;\n      /** The visibility of the subscription_option. Default: true */\n      visible?: boolean | null;\n      /** Subscription option title as materialized view */\n      title?: string | null;\n      /** Subscription option description (optional) as materialized view */\n      description?: string | null;\n      /** Subscription charge times. For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months. */\n      settings?: SubscriptionSettings;\n      /**\n       * Discount info (optional).\n       * For example, a $20 discount would be `value: 20`, `type: AMOUNT`.\n       */\n      discount?: Discount;\n  }\n  interface SubscriptionSettings {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency;\n      /**\n       * Interval of recurring payment (optional: default value 1 will be used if not provided)\n       * @internal\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface Discount {\n      /** Discount type. */\n      type?: DiscountType;\n      /** Discount value. */\n      value?: number;\n  }\n  enum DiscountType {\n      UNDEFINED = \"UNDEFINED\",\n      /** No discount */\n      AMOUNT = \"AMOUNT\",\n      PERCENT = \"PERCENT\"\n  }\n  interface Customization extends CustomizationValueOneOf {\n      /** Text input configuration. Required when `type` is TEXT_INPUT. */\n      textInputOptions?: TextInputValue;\n      /** Title */\n      title?: string;\n      /** Type. */\n      customizationType?: CustomizationType;\n      /** Whether customer's input is mandatory. */\n      mandatory?: boolean;\n  }\n  /** @oneof */\n  interface CustomizationValueOneOf {\n      /** Text input configuration. Required when `type` is TEXT_INPUT. */\n      textInputOptions?: TextInputValue;\n  }\n  enum CustomizationType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** Represents text box for the customer to add a message to their order (e.g., customization request). */\n      TEXT_INPUT = \"TEXT_INPUT\",\n      CHECKBOX = \"CHECKBOX\"\n  }\n  interface TextInputValue {\n      /** Customer's input max length */\n      maxLength?: number;\n  }\n  interface Ribbon {\n      /** ribbon ID */\n      _id?: string;\n      /** ribbon name. Translatable. Materialized field view. */\n      name?: string;\n  }\n  interface ProductCategory {\n      /** Id of the category */\n      _id?: string;\n      /** Location of the product within the category (sorted lowest to highest) */\n      index?: number | null;\n  }\n  interface BreadCrumb {\n      /** Category ID. */\n      categoryId?: string;\n      /** Category name. Translatable */\n      categoryName?: string;\n      /** A permanent, friendly URL name of category. */\n      categorySlug?: string;\n  }\n  interface PriceRange {\n      /** Minimum value. */\n      minValue?: FixedMonetaryAmount;\n      /** Maximum value. */\n      maxValue?: FixedMonetaryAmount;\n  }\n  interface FixedMonetaryAmount {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /**\n       * Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.\n       * For example, €10.00\n       * @readonly\n       */\n      formattedValue?: string | null;\n  }\n  interface Inventory {\n      /**\n       * Location Id\n       * @readonly\n       */\n      locationId?: string;\n      /**\n       * The current purchase availability status calculated based on variants\n       * @readonly\n       */\n      purchaseAvailabilityStatus?: PurchaseAvailabilityStatus;\n      /**\n       * The current preorder status calculated based on variants\n       * @readonly\n       */\n      preorderAvailabilityStatus?: PreorderStatus;\n  }\n  enum PurchaseAvailabilityStatus {\n      UNKNOWN_PURCHASE_AVAILABILITY_STATUS = \"UNKNOWN_PURCHASE_AVAILABILITY_STATUS\",\n      /** All variants in stock and available for purchase */\n      IN_STOCK = \"IN_STOCK\",\n      /** All variants out of stock */\n      OUT_OF_STOCK = \"OUT_OF_STOCK\",\n      /** Some ouf variants out of stock and some of them are in stock */\n      PARTIALLY_OUT_OF_STOCK = \"PARTIALLY_OUT_OF_STOCK\"\n  }\n  enum PreorderStatus {\n      UNKNOWN_PREORDER_STATUS = \"UNKNOWN_PREORDER_STATUS\",\n      /** All variants available for preorder */\n      ALL_VARIANTS = \"ALL_VARIANTS\",\n      /** No variants available for preorder */\n      NO_VARIANTS = \"NO_VARIANTS\",\n      /** Some variants available for preorder */\n      SOME_VARIANTS = \"SOME_VARIANTS\"\n  }\n  enum ProductType {\n      UNKNOWN_PRODUCT_TYPE = \"UNKNOWN_PRODUCT_TYPE\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\"\n  }\n  interface PhysicalProperties {\n      /**\n       * Price per unit settings - base measurement unit and quantity in order to show price per unit data on the product page.\n       * This setting is fixed for a product. The specific price per unit value for each variant is set on each variant\n       * For example if one sells cheese and price per unit settings is 100 gr. then we will display price per 100 gr. of cheese.\n       */\n      pricePerUnit?: PricePerUnitSettings;\n      /** Fulfiller id */\n      fulfillerId?: string | null;\n      /**\n       * Shipping group id\n       * @internal\n       */\n      shippingGroupId?: string | null;\n      /**\n       * Product weight range. The minimum and maximum weights of all the variants.\n       * this is needed for bulk adjust product properties action, and also exist in the current API.\n       * @readonly\n       */\n      shippingWeightRange?: WeightRange;\n  }\n  interface PricePerUnitSettings {\n      /** Quantity value. e.g to define price per unit product setting to price per 100 gr. Set this value to 100. */\n      quantity?: number;\n      /** Measurement unit, e.g to define price per unit product setting to price per 100 gr. Set this value to \"G\". */\n      measurementUnit?: MeasurementUnit;\n  }\n  enum MeasurementUnit {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      ML = \"ML\",\n      CL = \"CL\",\n      L = \"L\",\n      CBM = \"CBM\",\n      MG = \"MG\",\n      G = \"G\",\n      KG = \"KG\",\n      MM = \"MM\",\n      CM = \"CM\",\n      M = \"M\",\n      SQM = \"SQM\",\n      OZ = \"OZ\",\n      LB = \"LB\",\n      FLOZ = \"FLOZ\",\n      PT = \"PT\",\n      QT = \"QT\",\n      GAL = \"GAL\",\n      IN = \"IN\",\n      FT = \"FT\",\n      YD = \"YD\",\n      SQFT = \"SQFT\"\n  }\n  interface WeightRange {\n      /** Minimum weight across all variants associated with product. */\n      minValue?: number;\n      /** Maximum weight across all variants associated with product. */\n      maxValue?: number;\n  }\n  interface Variant extends VariantTypedPropertiesOneOf {\n      /** Physical properties. Can be provided when `product_type` PHYSICAL */\n      physicalOptions?: VariantPhysicalProperties;\n      /** Digital properties. Can be provided when `product_type` DIGITAL */\n      digitalOptions?: VariantDigitalProperties;\n      /** Variant id. */\n      _id?: string | null;\n      /** Whether the variant is visible to site visitors in Online Stores. Default: `true` */\n      visible?: boolean | null;\n      /**\n       * A list of options with a selection of choice per option\n       * In case this list is empty, this is the default variant of an unmanaged product\n       */\n      choices?: OptionChoice[];\n      /** Variant price */\n      price?: PriceInfo;\n      /** Variant revenue details. Requires admin permissions to read */\n      revenueDetails?: RevenueDetails;\n      /**\n       * Variant name. Generated automatically based on product name and option choice names\n       * not sure it's needed here. maybe only on the view entity\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * The main media of the variant.\n       * If product has overrides per choices this is the first image applicable for `choices` of this variant.\n       * Otherwise - main image of product.\n       * @readonly\n       */\n      media?: ProductMedia;\n      /**\n       * Subscription plans prices calculated by applying subscription plan discount to the variant `price.discounted_price`\n       * @readonly\n       */\n      subscriptionPlansPrices?: SubscriptionPlanPrice[];\n  }\n  /** @oneof */\n  interface VariantTypedPropertiesOneOf {\n      /** Physical properties. Can be provided when `product_type` PHYSICAL */\n      physicalOptions?: VariantPhysicalProperties;\n      /** Digital properties. Can be provided when `product_type` DIGITAL */\n      digitalOptions?: VariantDigitalProperties;\n  }\n  interface OptionChoice {\n      /** The name of the option, */\n      optionName?: string;\n      /** The name of the choice selected for this option */\n      choiceName?: string;\n      /** Option setting type. */\n      optionSettingsType?: OptionSettingsType;\n  }\n  interface PriceInfo {\n      /** Variant price. Must be greater or equal to 0. */\n      basePrice?: FixedMonetaryAmount;\n      /** Discounted variant price. If not provided will be equal to `base_price`. Must be greater or equal to 0. */\n      discountedPrice?: FixedMonetaryAmount;\n  }\n  interface RevenueDetails {\n      /** Item cost. */\n      cost?: FixedMonetaryAmount;\n      /**\n       * Profit. Calculated by reducing `cost` from `discounted_price`.\n       * @readonly\n       */\n      profit?: FixedMonetaryAmount;\n      /**\n       * Profit Margin. Calculated by dividing `profit` by `discounted_price`.\n       * The result is rounded to 4 decimal places.\n       * @readonly\n       */\n      profitMargin?: number;\n  }\n  interface VariantPhysicalProperties {\n      /** Variant shipping weight. */\n      weight?: number | null;\n      /**\n       * Price per unit info, in order to show price per unit on the product page.\n       * For example if one sells cheese and defines 100g here then we know that buying this variant buyer receives 100g of cheese.\n       * But on product page price will be displayed for units defined on product level. See `pricePerUnit.value` to understand how it's calculated.\n       */\n      pricePerUnit?: PricePerUnit;\n      /** Variant SKU (stock keeping unit) */\n      sku?: string | null;\n      /** Variant barcode. */\n      barcode?: string | null;\n  }\n  interface PricePerUnit {\n      /**\n       * Price per unit data for this variant\n       * measurement_unit value must be corresponding to the measurement unit set on the product,\n       * for example if the base measurement unit is Kg. the variants value of total_measurement_unit must be mg, g, or kg\n       */\n      settings?: PricePerUnitSettings;\n      /**\n       * Calculated value of price per unit. Takes into account pricePerUnit settings of parent product, of this variants and discounted price of variant.\n       * For example if discounted price is 2$, product's price per unit setting is 1 Kg, variant price per unit setting is 0.5 Kg then this value is 4$ (means variant weight is 0.5 Kg and it costs 2$ but we want to show price per 1 Kg so we show 4$).\n       * @readonly\n       */\n      value?: number;\n      /**\n       * Price per unit info in the format of variant specific data / product setting, for example €4.00 / 1 Kg\n       * @readonly\n       */\n      description?: string | null;\n  }\n  interface VariantDigitalProperties {\n      /**\n       * Digital file which will be downloaded by buyer after successful purchase. Requires admin permissions to read.\n       * @internal\n       */\n      digitalFile?: SecuredMedia;\n  }\n  interface SecuredMedia {\n      /** Media ID in media manager. */\n      _id?: string;\n      /**\n       * Original file name.\n       * @readonly\n       */\n      fileName?: string;\n      /**\n       * File type.\n       * @readonly\n       */\n      fileType?: FileType;\n  }\n  enum FileType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  interface SubscriptionPlanPrice {\n      /**\n       * Subscription plan ID (auto-generated upon subscription plan creation).\n       * @readonly\n       */\n      planId?: string | null;\n      /**\n       * Subscription plan price calculated by applying subscription plan discount to the variant `price.discounted_price`\n       * @readonly\n       */\n      price?: FixedMonetaryAmount;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface Subscription {\n      /** Subscription plans. */\n      subscriptionPlans?: SubscriptionPlan[];\n      /** Product could be purchased as individual product in addition to a subscription based purchases. Default: `false`. */\n      allowOneTimePurchases?: boolean | null;\n  }\n  interface SubscriptionPlan {\n      /** Subscription plan ID (auto-generated upon subscription plan creation). */\n      _id?: string | null;\n      /** Subscription plan title. */\n      title?: string;\n      /** Subscription plan description (optional). */\n      description?: string | null;\n      /** Whether the plan is visible to site visitors in Online Stores. Default: `true` */\n      visible?: boolean | null;\n      /** Subscription charge times. For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months. */\n      subscriptionSettings?: V3SubscriptionSettings;\n      /**\n       * Discount info (optional).\n       * For example, a $20 discount would be `amount: 20`, `type: AMOUNT`.\n       */\n      discount?: SubscriptionPlanDiscount;\n  }\n  interface V3SubscriptionSettings extends V3SubscriptionSettingsCyclesOneOf {\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. */\n      billingCycles?: number;\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency;\n      /** Interval of recurring payment. Default: `1` */\n      interval?: number | null;\n  }\n  /** @oneof */\n  interface V3SubscriptionSettingsCyclesOneOf {\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. */\n      billingCycles?: number;\n  }\n  interface SubscriptionPlanDiscount extends SubscriptionPlanDiscountDiscountOneOf {\n      /** Amount to discount from the variant discounted_price. */\n      amountOff?: string;\n      /** Percentage to discount from variant discounted_price. */\n      percentOff?: number;\n      /** Discount type. */\n      type?: SubscriptionPlanDiscountDiscountType;\n  }\n  /** @oneof */\n  interface SubscriptionPlanDiscountDiscountOneOf {\n      /** Amount to discount from the variant discounted_price. */\n      amountOff?: string;\n      /** Percentage to discount from variant discounted_price. */\n      percentOff?: number;\n  }\n  enum SubscriptionPlanDiscountDiscountType {\n      UNKNOWN_DISCOUNT = \"UNKNOWN_DISCOUNT\",\n      AMOUNT = \"AMOUNT\",\n      PERCENT = \"PERCENT\"\n  }\n  interface UpdateDocumentsEvent extends UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n      /** application which owns documents */\n      appDefId?: string | null;\n      /** type of the documents */\n      documentType?: string | null;\n      /** language of the documents */\n      language?: string | null;\n      /** site documents belong to */\n      msId?: string | null;\n  }\n  /** @oneof */\n  interface UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n  }\n  interface DocumentUpdateOperation {\n      /** documents to index or update */\n      documents?: IndexDocument[];\n  }\n  interface IndexDocument {\n      /** data bag with non-searchable fields (url, image) */\n      payload?: DocumentPayload;\n      /** what type of users should documents be visible to */\n      exposure?: Enum;\n      /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n      /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */\n      permittedMemberGroups?: string[];\n      /** if true SEO is disabled for this document */\n      seoHidden?: boolean | null;\n      /** if true the page is a lightbox popup */\n      isPopup?: boolean | null;\n  }\n  interface DocumentPayload {\n      /** url of the page representing the document */\n      url?: string | null;\n      /** image which represents the document */\n      documentImage?: DocumentImage;\n  }\n  interface DocumentImage {\n      /** the name of the image */\n      name?: string;\n      /** the width of the image */\n      width?: number;\n      /** the height of the image */\n      height?: number;\n  }\n  enum Enum {\n      /** Default value. Means that permission not set */\n      UNKNOWN = \"UNKNOWN\",\n      /** Protected exposure. Exposed to members and owners */\n      PROTECTED = \"PROTECTED\",\n      /** Private exposure. Exposed to owners */\n      PRIVATE = \"PRIVATE\",\n      /** Public exposure. Visible to everyone */\n      PUBLIC = \"PUBLIC\",\n      /** Used for partial updates, to state that exposure is not changing */\n      UNCHANGED = \"UNCHANGED\",\n      /** Protected to members of permitted groups and owners */\n      GROUP_PROTECTED = \"GROUP_PROTECTED\"\n  }\n  interface DeleteByIdsOperation {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface DeleteByFilterOperation {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface UpdateByFilterOperation {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: IndexDocument;\n  }\n  interface UpdateExistingOperation {\n      /** documents to update */\n      documents?: IndexDocument[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface SearchIndexingNotification {\n      /** new state of indexing for the site specified in ms_id */\n      indexState?: State;\n      /** type of the document the notification is targeted for. Applies to all types if not provided */\n      documentType?: string | null;\n      /** languaInternalDocumentUpdateByFilterOperationge the notification is targeted for. Applies to all languages if not provided */\n      language?: string | null;\n      /** site for which notification is targeted */\n      msId?: string | null;\n  }\n  enum State {\n      /** default state */\n      Unknown = \"Unknown\",\n      /** metasite does not require site search indexing */\n      Off = \"Off\",\n      /** metasite requires site search indexing */\n      On = \"On\"\n  }\n  interface CreateProductRequest {\n      /**\n       * Product to be created.\n       * At least one variant must be provided and each variant must have relevant item in `choices` field for every item in `options`.\n       * In case if `options` is empty one default variant must be provided with empty `choices` list.\n       */\n      product: ProductComposite;\n      /** Whether to return the full product, variant and inventory entities in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  interface ProductComposite extends ProductCompositeTypedPropertiesOneOf {\n      /** Physical properties, can be provided only when `product_type` is PHYSICAL */\n      physicalOptions?: PhysicalProperties;\n      /**\n       * Product ID. Auto-generated on product creation.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /** Product name. Translatable. */\n      name?: string | null;\n      /**\n       * A permanent, friendly URL name.\n       * If not provided, on create generated automatically.\n       * When provided, validated and must be unique.\n       */\n      slug?: string | null;\n      /**\n       * Optional - Product description which supports rich content.\n       * In order to use this field you have to integrate with \"Ricos\" on frontend side. To learn how to do it visit https://ricos.js.org/.\n       * @internal\n       */\n      description?: RichContent;\n      /** Whether the product is visible to site visitors in Online Stores. Default: `true` */\n      visible?: boolean | null;\n      /** Whether the product is visible in POS (point of sale app). Default: `true` */\n      visibleInPos?: boolean | null;\n      /** Media items (images, videos etc) associated with this product. */\n      media?: Media;\n      /** Custom SEO data for the product. */\n      seoData?: SeoSchema;\n      /**\n       * Tax group id\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /**\n       * Custom text fields allows to collect custom input from UoUs. For example greeting text on birthday cake or text that should be print on T-shirt.\n       * Don't get used to it. Will be migrated to other field soon.\n       * @internal\n       */\n      customFields?: CustomText[];\n      /** Product options */\n      options?: ConnectedOption[];\n      /** Product Modifiers */\n      modifiers?: ConnectedModifier[];\n      /** Optional - Brand. To assign existing brand to product provide `brand.id`. */\n      brand?: Brand;\n      /** Product info sections. */\n      infoSections?: InfoSection[];\n      /**\n       * Product customizations. Replaces `customFields` from v1 API.\n       * @internal\n       */\n      customizations?: Customization[];\n      /** Product ribbon. */\n      ribbon?: Ribbon;\n      /**\n       * Main category id. If product belongs to more than one category main category defines `breadcrumbs` on product page.\n       * By default first category from `category_ids` list. Provided value MUST be in `category_ids`\n       * Can be empty only in case if product doesn't belong to any category.\n       */\n      mainCategoryId?: string | null;\n      /** Product type. Affects which properties product has. Also defines type of variants which allowed to be associated with this product. Product type must be provided on creation and cannot be changed. */\n      productType?: ProductType;\n      /**\n       * List of related variants.\n       * On update product request with variants product options must be provided\n       */\n      variants?: VariantComposite[];\n      subscription?: Subscription;\n  }\n  /** @oneof */\n  interface ProductCompositeTypedPropertiesOneOf {\n      /** Physical properties, can be provided only when `product_type` is PHYSICAL */\n      physicalOptions?: PhysicalProperties;\n  }\n  interface VariantComposite extends VariantCompositeTypedPropertiesOneOf {\n      /** Physical properties. Can be provided when `product_type` PHYSICAL */\n      physicalOptions?: VariantPhysicalProperties;\n      /** Digital properties. Can be provided when `product_type` DIGITAL */\n      digitalOptions?: VariantDigitalProperties;\n      /** Variant id. */\n      _id?: string | null;\n      /** Whether the variant is visible to site visitors in Online Stores. Default: `true` */\n      visible?: boolean | null;\n      /** Variant price */\n      price?: PriceInfo;\n      /** Variant revenue details. Requires admin permissions to read */\n      revenueDetails?: RevenueDetails;\n      /** Inventory item of the variant on the default location. */\n      inventoryItem?: InventoryItemComposite;\n      /**\n       * A list of options with a selection of choice per option\n       * In case this list is empty, this is the default variant of an unmanaged product\n       */\n      choices?: OptionChoiceReferences[];\n  }\n  /** @oneof */\n  interface VariantCompositeTypedPropertiesOneOf {\n      /** Physical properties. Can be provided when `product_type` PHYSICAL */\n      physicalOptions?: VariantPhysicalProperties;\n      /** Digital properties. Can be provided when `product_type` DIGITAL */\n      digitalOptions?: VariantDigitalProperties;\n  }\n  interface InventoryItemComposite extends InventoryItemCompositeTrackingMethodOneOf {\n      /** Inventory tracking status, when set to true, item is available for sale without quantity limit. */\n      inStock?: boolean;\n      /**\n       * Quantity currently left in inventory.\n       * In some scenarios, quantity could go negative, for example when decreasing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n      /**\n       * InventoryItem ID. Auto-generated on inventory creation.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * InventoryItem revision. Auto-generated on inventory creation. incremented on each update\n       * @readonly\n       */\n      revision?: string | null;\n      /** Item preorder info. */\n      preorderInfo?: PreorderInfo;\n  }\n  /** @oneof */\n  interface InventoryItemCompositeTrackingMethodOneOf {\n      /** Inventory tracking status, when set to true, item is available for sale without quantity limit. */\n      inStock?: boolean;\n      /**\n       * Quantity currently left in inventory.\n       * In some scenarios, quantity could go negative, for example when decreasing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n  }\n  interface PreorderInfo {\n      /** Whether the item is available for preorder. */\n      enabled?: boolean;\n      /** Optional - A message the buyer will see when the item is out of stock and preorder is enabled. */\n      message?: string | null;\n      /**\n       * Optional - Number of products that can be purchased as preorder after stock reaches zero.\n       * If not defined -100,000 products can be purchased as preorder.\n       */\n      limit?: number | null;\n      /**\n       * How many times this item was purchased as a preorder, limited by the value of PreorderSettings.limit.\n       * It may cross the limit if the restrict_inventory_value = false.\n       * @readonly\n       */\n      counter?: number | null;\n  }\n  interface OptionChoiceReferences {\n      /** The name of the option, */\n      optionName?: string;\n      /** The name of the choice selected for this option */\n      choiceName?: string;\n      /** Option setting type. */\n      optionSettingsType?: OptionSettingsType;\n  }\n  enum RequestedFields {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      URL = \"URL\",\n      CURRENCY = \"CURRENCY\",\n      INFO_SECTION = \"INFO_SECTION\",\n      BREADCRUMBS = \"BREADCRUMBS\",\n      /** You can request merchant data only if you have `WIX_STORES.PRODUCT_READ_MERCHANT_DATA` permission. */\n      MERCHANT_DATA = \"MERCHANT_DATA\",\n      VARIANTS = \"VARIANTS\",\n      SUBSCRIPTION_PLANS_PRICES = \"SUBSCRIPTION_PLANS_PRICES\"\n  }\n  interface CreateProductResponse {\n      /** The created Product */\n      product?: Product;\n      /** Inventories created by bulk action. */\n      inventoryResults?: BulkInventoryItemResults;\n  }\n  interface BulkInventoryItemResults {\n      /**\n       * todo need to change min to 1\n       * Inventories by bulk action.\n       */\n      results?: BulkInventoryItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkInventoryItemResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata;\n      /** Created or updated inventory item. Optional - returned only if requested with `return_entity` set to `true`. */\n      item?: InventoryItem;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /** InventoryItem is the main entity of InventoryService */\n  interface InventoryItem extends InventoryItemTrackingMethodOneOf {\n      /** Inventory tracking status, when set to true, item is available for sale without quantity limit. */\n      inStock?: boolean;\n      /**\n       * Quantity currently left in inventory.\n       * In some scenarios, quantity could go negative, for example when decreasing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n      /**\n       * Inventory ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Inventory was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Inventory was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Variant ID. */\n      variantId?: string;\n      /** Location ID, location_id with variant_id is unique. */\n      locationId?: string | null;\n      /** Product ID. */\n      productId?: string;\n      /**\n       * Whether the quantity is being tracked.\n       * @readonly\n       */\n      trackQuantity?: boolean;\n      /**\n       * Item availability, availability is combination of status and available quantity.\n       * @readonly\n       */\n      availability?: ItemAvailability;\n      /** Item preorder info. */\n      preorderInfo?: PreorderInfo;\n      /** Extensions enabling users to save custom data related to the inventory item. */\n      extendedFields?: ExtendedFields;\n  }\n  /** @oneof */\n  interface InventoryItemTrackingMethodOneOf {\n      /** Inventory tracking status, when set to true, item is available for sale without quantity limit. */\n      inStock?: boolean;\n      /**\n       * Quantity currently left in inventory.\n       * In some scenarios, quantity could go negative, for example when decreasing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n  }\n  interface ItemAvailability {\n      /**\n       * If `AvailableStatus` is NOT_AVAILABLE the item is not available\n       * If `AvailableStatus` is PURCHASE and available_quantity is N then up to N items can be purchased right now\n       * If `AvailableStatus` is PURCHASE and available_quantity is not defined then unlimited number of items can be purchased right now\n       * If `AvailableStatus` is PREORDER and available_quantity is N then up to N items can be purchased as preorder\n       * If `AvailableStatus` is PREORDER and available_quantity is not defined then unlimited number of items can be purchased as preorder\n       * @readonly\n       */\n      status?: AvailabilityStatus;\n      /**\n       * Available quantity, when not defined then unlimited number of items can be purchased.\n       * @readonly\n       */\n      quantity?: number | null;\n  }\n  /** Item availability status. */\n  enum AvailabilityStatus {\n      UNKNOWN = \"UNKNOWN\",\n      NOT_AVAILABLE = \"NOT_AVAILABLE\",\n      PURCHASE = \"PURCHASE\",\n      /**\n       * Whether the variant is available for preorder. InventoryItem will be available only when all below conditions are met:\n       * 1. the variant is out of stock\n       * 2. preorder is enabled on inventory item level (preorder_setting.enabled is true)\n       * 3. preorder limit wasn't reached (preorder_setting.limit)\n       */\n      PREORDER = \"PREORDER\"\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface VariantsNotAlignedWithProduct {\n      /** Variants not aligned with product */\n      variants?: VariantNotAlignedWithProduct[];\n  }\n  interface VariantNotAlignedWithProduct {\n      /** variant id */\n      variantId?: string;\n      /** what's wrong with this specific variant */\n      errorDescription?: string;\n  }\n  interface VariantBulkErrors {\n      /** errors occurred in variants service */\n      variantErrors?: ItemMetadata[];\n  }\n  interface InventoryBulkErrors {\n      /** errors occurred in inventory service */\n      inventoryErrors?: ItemMetadata[];\n  }\n  interface UpdateProductRequest {\n      /** Product to be updated, may be partial */\n      product: ProductComposite;\n      /**\n       * Explicit list of fields to update in product\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Whether to return the variant and inventory entities in the response. Relevant only if variants and inventory were provided in request. Otherwise this parameter will be ignored. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  interface UpdateProductResponse {\n      /** The updated Product */\n      product?: Product;\n      /** Inventories updated by bulk action. */\n      inventoryResults?: BulkInventoryItemResults;\n  }\n  interface UnsupportedFieldMasks {\n      /** Field masks provided in request but not supported */\n      fieldMasks?: string[];\n  }\n  interface BulkCreateProductsRequest {\n      products?: ProductComposite[];\n      /** Whether to return the full product, variant and inventory entities in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  interface BulkCreateProductsResponse {\n      /** Products created by bulk action. */\n      productResults?: BulkProductResults;\n      /** Inventories created by bulk action. */\n      inventoryResults?: BulkInventoryItemResults;\n  }\n  interface BulkProductResults {\n      /** Products by bulk action. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkProductResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata;\n      /** Product after bulk operation. Optional - returned only if requested with `return_entity` set to `true`. */\n      item?: Product;\n  }\n  interface BulkUpdateProductsRequest {\n      products: MaskedProductComposite[];\n      /** Whether to return the full product entity in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  interface MaskedProductComposite {\n      /** product to be updated, may be partial. */\n      product?: ProductComposite;\n      /**\n       * Explicit list of fields to update in product\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateProductsResponse {\n      /** Products updated by bulk action. */\n      productResults?: BulkProductResults;\n      /** Inventories updated by bulk action. */\n      inventoryResults?: BulkInventoryItemResults;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface DoNotCallCreateProductRequest {\n      /** Product to be created */\n      product?: Product;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  interface DoNotCallCreateProductResponse {\n      /** The created Product */\n      product?: Product;\n  }\n  interface VariantAdded {\n      variant?: Variant;\n  }\n  interface GetProductRequest {\n      /** Id of the Product to retrieve */\n      productId: string;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n      /**\n       * Indicates if the read should be done consistent or not. Default is false\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  interface GetProductResponse {\n      /** The retrieved Product */\n      product?: Product;\n  }\n  interface GetProductBySlugRequest {\n      /** Product slug. A permanent, friendly URL name unique per store. */\n      slug: string;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  interface GetProductBySlugResponse {\n      /** The retrieved Product */\n      product?: Product;\n  }\n  interface DoNotCallUpdateProductRequest {\n      /** Product to be updated, may be partial */\n      product?: Product;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  interface DoNotCallUpdateProductResponse {\n      /** The updated Product */\n      product?: Product;\n  }\n  interface VariantUpdated {\n      previous?: Variant;\n      current?: Variant;\n  }\n  interface VariantRemoved {\n      variant?: Variant;\n  }\n  interface DeleteProductRequest {\n      /** Id of the Product to delete */\n      productId: string;\n  }\n  interface DeleteProductResponse {\n  }\n  interface SearchProductsRequest {\n      /**\n       * WQL expression. Please pay attention that unlike other arrays when you want to filter by `inventory`, `options` or `variants` instead of standard array operators you must use `$matchItems` (for usage see examples).\n       * It means that product will be returned only if one or more items satisfy all filters specified in $matchItems.\n       * For example, if you have 2 variants: one visible with price 10 and another one not visible with price 20, when inside $matchItems you specify `visible:true` and `price > 15` nothing will be returned because there are no variants which satisfy both conditions.\n       * You still can use `$isEmpty` and `$exists` operators for fields listed above.\n       * See examples to understand supported capabilities.\n       */\n      search?: CursorSearch;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n      /** Whether to return products with `visible:false`. Default: false so only visible products will be in response. When true `WIX_STORES.PRODUCT_READ_NOT_VISIBLE` permission required. */\n      includeNotVisibleProducts?: boolean;\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /** Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' */\n      cursorPaging?: CursorPaging;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation[];\n      /** free text to match in searchable fields */\n      search?: SearchDetails;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. e.g. `\"2023-12-20T10:52:34.795Z\"`\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /** Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Aggregation extends AggregationKindOneOf {\n      value?: ValueAggregation;\n      range?: RangeAggregation;\n      scalar?: ScalarAggregation;\n      dateHistogram?: DateHistogramAggregation;\n      nested?: NestedAggregation;\n      name?: string | null;\n      type?: AggregationType;\n      fieldPath?: string;\n      groupBy?: GroupByAggregation;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      value?: ValueAggregation;\n      range?: RangeAggregation;\n      scalar?: ScalarAggregation;\n      dateHistogram?: DateHistogramAggregation;\n      nested?: NestedAggregation;\n  }\n  interface RangeBucket {\n      /** Inclusive lower bound of the range. Required if to is not given. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if from is not given. */\n      to?: number | null;\n  }\n  enum SortType {\n      COUNT = \"COUNT\",\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection {\n      DESC = \"DESC\",\n      ASC = \"ASC\"\n  }\n  enum MissingValues {\n      EXCLUDE = \"EXCLUDE\",\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions {\n      /** can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum ScalarType {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      MIN = \"MIN\",\n      MAX = \"MAX\",\n      SUM = \"SUM\",\n      AVG = \"AVG\"\n  }\n  interface ValueAggregation extends ValueAggregationOptionsOneOf {\n      /** options for including missing values */\n      includeOptions?: IncludeMissingValuesOptions;\n      sortType?: SortType;\n      sortDirection?: SortDirection;\n      /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** should missing values be included or excluded from the aggregation results. Default is EXCLUDE */\n      missingValues?: MissingValues;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf {\n      /** options for including missing values */\n      includeOptions?: IncludeMissingValuesOptions;\n  }\n  enum NestedAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      VALUE = \"VALUE\",\n      RANGE = \"RANGE\",\n      SCALAR = \"SCALAR\",\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface RangeAggregation {\n      buckets?: RangeBucket[];\n  }\n  interface ScalarAggregation {\n      type?: ScalarType;\n  }\n  interface DateHistogramAggregation {\n      interval?: Interval;\n  }\n  enum Interval {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      YEAR = \"YEAR\",\n      MONTH = \"MONTH\",\n      WEEK = \"WEEK\",\n      DAY = \"DAY\",\n      HOUR = \"HOUR\",\n      MINUTE = \"MINUTE\",\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      value?: ValueAggregation;\n      range?: RangeAggregation;\n      scalar?: ScalarAggregation;\n      dateHistogram?: DateHistogramAggregation;\n      name?: string | null;\n      type?: NestedAggregationType;\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      value?: ValueAggregation;\n      range?: RangeAggregation;\n      scalar?: ScalarAggregation;\n      dateHistogram?: DateHistogramAggregation;\n  }\n  enum AggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      VALUE = \"VALUE\",\n      RANGE = \"RANGE\",\n      SCALAR = \"SCALAR\",\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      NESTED = \"NESTED\"\n  }\n  /** nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */\n  interface NestedAggregation {\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface GroupByAggregation extends GroupByAggregationKindOneOf {\n      value?: ValueAggregation;\n      name?: string | null;\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface GroupByAggregationKindOneOf {\n      value?: ValueAggregation;\n  }\n  interface SearchDetails {\n      /** boolean search mode */\n      mode?: Mode;\n      /** search term or expression */\n      expression?: string | null;\n      /** fields to search in. if empty - server will search in own default fields */\n      fields?: string[];\n      /** flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** any */\n      OR = \"OR\",\n      /** all */\n      AND = \"AND\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface SearchProductsResponse {\n      /** Products which satisfy the provided query. */\n      products?: Product[];\n      /** Paging metadata. Contains cursor which can be used in next query. */\n      pagingMetadata?: CursorPagingMetadata;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AggregationData {\n      /** key = aggregation name (as derived from search request) */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      value?: string;\n      count?: number;\n  }\n  interface RangeAggregationResult {\n      from?: number | null;\n      to?: number | null;\n      count?: number;\n  }\n  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {\n      values?: ValueResults;\n      ranges?: RangeResults;\n      scalar?: ScalarResult;\n      name?: string;\n      type?: AggregationType;\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf {\n      values?: ValueResults;\n      ranges?: RangeResults;\n      scalar?: ScalarResult;\n  }\n  interface ValueResults {\n      results?: ValueAggregationResult[];\n  }\n  interface RangeResults {\n      results?: RangeAggregationResult[];\n  }\n  interface ScalarResult {\n      type?: ScalarType;\n      value?: number;\n  }\n  interface NestedValueAggregationResult {\n      value?: string;\n      nestedResults?: NestedAggregationResults;\n  }\n  interface ValueResult {\n      value?: string;\n      count?: number | null;\n  }\n  interface RangeResult {\n      from?: number | null;\n      to?: number | null;\n      count?: number | null;\n  }\n  interface NestedResultsScalarResult {\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      value?: ValueResult;\n      range?: RangeResult;\n      scalar?: NestedResultsScalarResult;\n      dateHistogram?: ValueResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      value?: ValueResult;\n      range?: RangeResult;\n      scalar?: NestedResultsScalarResult;\n      dateHistogram?: ValueResult;\n  }\n  interface Results {\n      results?: Record<string, NestedResultValue>;\n  }\n  interface DateHistogramResult {\n      /** date in ISO 8601 format */\n      value?: string;\n      /** count of documents in the bucket */\n      count?: number;\n  }\n  interface GroupByValueResults {\n      results?: NestedValueAggregationResult[];\n  }\n  interface DateHistogramResults {\n      results?: DateHistogramResult[];\n  }\n  /**\n   * results of `NESTED` aggregation type in a flattened form\n   * aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults {\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      values?: ValueResults;\n      ranges?: RangeResults;\n      scalar?: ScalarResult;\n      groupedByValue?: GroupByValueResults;\n      dateHistogram?: DateHistogramResults;\n      nested?: NestedResults;\n      name?: string;\n      type?: AggregationType;\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      values?: ValueResults;\n      ranges?: RangeResults;\n      scalar?: ScalarResult;\n      groupedByValue?: GroupByValueResults;\n      dateHistogram?: DateHistogramResults;\n      nested?: NestedResults;\n  }\n  interface EventuallyConsistentQueryProductsRequest {\n      /**\n       * WQL expression. Please pay attention that unlike other arrays when you want to filter by `inventory`, `options` or `variants` instead of standard array operators you must use `$matchItems` (for usage see examples).\n       * It means that product will be returned only if one or more items satisfy all filters specified in $matchItems.\n       * For example, if you have 2 variants: one visible with price 10 and another one not visible with price 20, when inside $matchItems you specify `visible:true` and `price > 15` nothing will be returned because there are no variants which satisfy both conditions.\n       * You still can use `$isEmpty` and `$exists` operators for fields listed above.\n       * See examples to understand supported capabilities.\n       */\n      query?: CursorQuery;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n      /** Whether to return products with `visible:false`. Default: false so only visible products will be in response. When true `WIX_STORES.PRODUCT_READ_NOT_VISIBLE` permission required. */\n      includeNotVisibleProducts?: boolean;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface EventuallyConsistentQueryProductsResponse {\n      /** Products which satisfy the provided query. */\n      products?: Product[];\n      /** Paging metadata. Contains cursor which can be used in next query. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface DeprecatedSearchProductsWithOffsetRequest {\n      search?: PlatformOffsetSearch;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n      /** Whether to return products with `visible:false`. Default: false so only visible products will be in response. When true `WIX_STORES.PRODUCT_READ_NOT_VISIBLE` permission required. */\n      includeNotVisibleProducts?: boolean;\n  }\n  interface PlatformOffsetSearch extends PlatformOffsetSearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: PlatformPaging;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation[];\n      /** free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  /** @oneof */\n  interface PlatformOffsetSearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: PlatformPaging;\n  }\n  interface PlatformPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface DeprecatedSearchProductsWithOffsetResponse {\n      /** Products which satisfy the provided query. */\n      products?: Product[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadata;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface CountProductsRequest {\n      /**\n       * A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf)\n       * To understand supported filters and limitations see `SearchProducts` method.\n       */\n      filter?: Record<string, any> | null;\n      /** free text to match in searchable fields */\n      search?: SearchDetails;\n      /** Whether to return products with `visible:false`. Default: false so only visible products will be in response. When true `WIX_STORES.PRODUCT_READ_NOT_VISIBLE` permission required. */\n      includeNotVisibleProducts?: boolean;\n  }\n  interface CountProductsResponse {\n      count?: number;\n  }\n  interface DoNotCallBulkCreateProductsRequest {\n      /** List of products to be created. */\n      products?: Product[];\n      /** Whether to return the full product entity in the response. */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. Relevant only if `return_entity` true. */\n      fields?: RequestedFields[];\n  }\n  interface DoNotCallBulkCreateProductsResponse {\n      /** Products created by bulk action. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface DoNotCallBulkUpdateProductsRequest {\n      /** List of products to be updated. */\n      products?: MaskedProduct[];\n      /** Whether to return the full product entity in the response. */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. Relevant only if `return_entity` true. */\n      fields?: RequestedFields[];\n  }\n  interface MaskedProduct {\n      /** product to be updated, may be partial. */\n      product?: Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface DoNotCallBulkUpdateProductsResponse {\n      /** Products updated by bulk action. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUpdateProductsByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"name\": \"value1\",\n       * \"categoryIds\":{\"$in\":[\"categoryId1\", \"categoryId2\"]}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n      /** Product with new field values. */\n      product: Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateProductsByFilterResponse {\n      /** Token that can be used to query \"AsyncJobService\" */\n      jobId?: string;\n  }\n  interface BulkDeleteProductsRequest {\n      /** IDs of products to be deleted. */\n      productIds: string[];\n  }\n  interface BulkDeleteProductsResponse {\n      /** Products deleted by bulk action. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteProductsByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"name\": \"value1\",\n       * \"categoryIds\":{\"$in\":[\"categoryId1\", \"categoryId2\"]}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n  }\n  interface BulkDeleteProductsByFilterResponse {\n      /** Token that can be used to query \"AsyncJobService\" */\n      jobId?: string;\n  }\n  interface BulkAddInfoSectionsToProductsByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"name\": \"value1\",\n       * \"categoryIds\":{\"$in\":[\"categoryId1\", \"categoryId2\"]}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n      /** Info sections to be added */\n      infoSectionIds: string[];\n  }\n  interface BulkAddInfoSectionsToProductsByFilterResponse {\n      /** Token that can be used to query \"AsyncJobService\" */\n      jobId?: string;\n  }\n  interface BulkAddInfoSectionsToProductsRequest {\n      /** IDs of products to be updated. */\n      productIds: ProductIdWithRevision[];\n      /** Info section to be added */\n      infoSectionIds: string[];\n      /** Whether to return all updated product entities in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  interface ProductIdWithRevision {\n      /** ID of product. */\n      productId?: string;\n      /** The revision of the Product */\n      revision?: string;\n  }\n  interface BulkAddInfoSectionsToProductsResponse {\n      /** Products updated by bulk action. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkRemoveInfoSectionsFromProductsByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"name\": \"value1\",\n       * \"categoryIds\":{\"$in\":[\"categoryId1\", \"categoryId2\"]}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n      /** Info sections to be removed */\n      infoSectionIds: string[];\n  }\n  interface BulkRemoveInfoSectionsFromProductsByFilterResponse {\n      /** Token that can be used to query \"AsyncJobService\" */\n      jobId?: string;\n  }\n  interface BulkRemoveInfoSectionsFromProductsRequest {\n      /** IDs of products to be updated. */\n      productIds: ProductIdWithRevision[];\n      /** Info section to be removed. */\n      infoSectionIds: string[];\n      /** Whether to return all updated product entities in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  interface BulkRemoveInfoSectionsFromProductsResponse {\n      /** Products updated by bulk action. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUpdateVariantsByFilterRequest {\n      /** Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */\n      filter: Record<string, any> | null;\n      /** Variant with new field values. */\n      variant: Variant;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateVariantsByFilterResponse {\n      /** Token that can be used to query \"AsyncJobService\" */\n      jobId?: string;\n  }\n  interface BulkAdjustVariantsByFilterRequest {\n      /** Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */\n      filter: Record<string, any> | null;\n      /** The amount or percentage to change the variants price by */\n      basePrice?: AdjustValue;\n      /** The amount or percentage to change the variants discounted price by */\n      discountedPrice?: AdjustValue;\n      /** The amount or percentage to change the variants cost by */\n      cost?: AdjustValue;\n      /**\n       * Set variant discounted price from base price by applying provided discount to it.\n       * For example variant base price 100$, variant discounted price 95$, requested `discounted_price_from_base_price.percentage` is 10, then old discounted price ignored and new discounted price set to 90 (100$ - 10%)\n       * @internal\n       */\n      discountedPriceFromBasePrice?: UnsignedAdjustValue;\n  }\n  interface AdjustValue extends AdjustValueAdjustValueOneOf {\n      /** A decimal value to increase or reduce from the original value, can be negative. */\n      amount?: string;\n      /** The percentage value to increase or reduce from the current value, can be negative. */\n      percentage?: number;\n  }\n  /** @oneof */\n  interface AdjustValueAdjustValueOneOf {\n      /** A decimal value to increase or reduce from the original value, can be negative. */\n      amount?: string;\n      /** The percentage value to increase or reduce from the current value, can be negative. */\n      percentage?: number;\n  }\n  interface UnsignedAdjustValue extends UnsignedAdjustValueAdjustValueOneOf {\n      /** A decimal value to reduce from the original value. */\n      amount?: string;\n      /** The percentage value to reduce from the original value. */\n      percentage?: number;\n  }\n  /** @oneof */\n  interface UnsignedAdjustValueAdjustValueOneOf {\n      /** A decimal value to reduce from the original value. */\n      amount?: string;\n      /** The percentage value to reduce from the original value. */\n      percentage?: number;\n  }\n  interface BulkAdjustVariantsByFilterResponse {\n      /** Token that can be used to query \"AsyncJobService\" */\n      jobId?: string;\n  }\n  /**\n   * Creates a new Product with variants and inventory.\n   * If any variant or inventory item creation failed entire request will fail.\n   *\n   * Permissions: Requires WIX_STORES.PRODUCT_CREATE and WIX_STORES.INVENTORY_CREATE permissions.\n   * If together with product you create other entities then you might need also WIX_STORES.BRAND_CREATE, WIX_STORES.RIBBON_CREATE, WIX_STORES.PRODUCT_OPTION_CREATE, WIX_STORES.INFO_SECTION_CREATE, WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @param product - Product to be created.\n   * At least one variant must be provided and each variant must have relevant item in `choices` field for every item in `options`.\n   * In case if `options` is empty one default variant must be provided with empty `choices` list.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField product\n   * @requiredField product.media.items\n   * @requiredField product.media.main\n   * @requiredField product.name\n   * @requiredField product.productType\n   * @requiredField product.subscription.subscriptionPlans\n   * @requiredField product.subscription.subscriptionPlans.discount\n   * @requiredField product.subscription.subscriptionPlans.discount.type\n   * @requiredField product.subscription.subscriptionPlans.subscriptionSettings\n   * @requiredField product.subscription.subscriptionPlans.subscriptionSettings.frequency\n   * @requiredField product.subscription.subscriptionPlans.title\n   * @adminMethod\n   * @returns The created Product\n   */\n  function catalogCreateProduct(product: ProductComposite, options?: CatalogCreateProductOptions): Promise<Product>;\n  interface CatalogCreateProductOptions {\n      /** Whether to return the full product, variant and inventory entities in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Update a Product, supports partial update.\n   * Pass the latest `revision` for a successful update.\n   * If you don't need to update product's `options`, variants and inventory you can stop reading.\n   *\n   * If product options updated and any option in request or in product before request had generateVariants=true then `item.variants` must be provided.\n   * If `item.variants` provided they will replace all variants and inventory items for given product.\n   * If you want update existing variant make sure to provide `id` with new data. If `id` field isn't provided then new variants with new ID will be created.\n   * If you don't want to update variants omit `variants` field.\n   * If you don't want to update inventory items for specific variants don't provide inventory items for it. If you provide at least one inventory item it will override all existing inventory items for this variant.\n   * If any variant or inventory item update failed then entire request will fail.\n   *\n   * Permissions: Always requires WIX_STORES.PRODUCT_UPDATE. If you provide variants with inventory in request then you also need  WIX_STORES.INVENTORY_UPDATE permission.\n   * If together with product you provide other entities then you might need also WIX_STORES.BRAND_CREATE, WIX_STORES.RIBBON_CREATE, WIX_STORES.PRODUCT_OPTION_CREATE or WIX_STORES.PRODUCT_OPTION_UPDATE, WIX_STORES.INFO_SECTION_CREATE or WIX_STORES.INFO_SECTION_UPDATE, WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @param _id - Product ID. Auto-generated on product creation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField product\n   * @requiredField product.media.items\n   * @requiredField product.media.main\n   * @requiredField product.revision\n   * @requiredField product.subscription.subscriptionPlans\n   * @requiredField product.subscription.subscriptionPlans.discount\n   * @requiredField product.subscription.subscriptionPlans.discount.type\n   * @requiredField product.subscription.subscriptionPlans.subscriptionSettings\n   * @requiredField product.subscription.subscriptionPlans.subscriptionSettings.frequency\n   * @requiredField product.subscription.subscriptionPlans.title\n   * @requiredField product.variants.price\n   * @requiredField product.variants.price.basePrice\n   * @adminMethod\n   * @returns The updated Product\n   */\n  function catalogUpdateProduct(_id: string | null, product: CatalogUpdateProduct, options?: CatalogUpdateProductOptions): Promise<Product>;\n  interface CatalogUpdateProduct {\n      /** Physical properties, can be provided only when `product_type` is PHYSICAL */\n      physicalOptions?: PhysicalProperties;\n      /**\n       * Product ID. Auto-generated on product creation.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /** Product name. Translatable. */\n      name?: string | null;\n      /**\n       * A permanent, friendly URL name.\n       * If not provided, on create generated automatically.\n       * When provided, validated and must be unique.\n       */\n      slug?: string | null;\n      /**\n       * Optional - Product description which supports rich content.\n       * In order to use this field you have to integrate with \"Ricos\" on frontend side. To learn how to do it visit https://ricos.js.org/.\n       * @internal\n       */\n      description?: RichContent;\n      /** Whether the product is visible to site visitors in Online Stores. Default: `true` */\n      visible?: boolean | null;\n      /** Whether the product is visible in POS (point of sale app). Default: `true` */\n      visibleInPos?: boolean | null;\n      /** Media items (images, videos etc) associated with this product. */\n      media?: Media;\n      /** Custom SEO data for the product. */\n      seoData?: SeoSchema;\n      /**\n       * Tax group id\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /**\n       * Custom text fields allows to collect custom input from UoUs. For example greeting text on birthday cake or text that should be print on T-shirt.\n       * Don't get used to it. Will be migrated to other field soon.\n       * @internal\n       */\n      customFields?: CustomText[];\n      /** Product options */\n      options?: ConnectedOption[];\n      /** Product Modifiers */\n      modifiers?: ConnectedModifier[];\n      /** Optional - Brand. To assign existing brand to product provide `brand.id`. */\n      brand?: Brand;\n      /** Product info sections. */\n      infoSections?: InfoSection[];\n      /**\n       * Product customizations. Replaces `customFields` from v1 API.\n       * @internal\n       */\n      customizations?: Customization[];\n      /** Product ribbon. */\n      ribbon?: Ribbon;\n      /**\n       * Main category id. If product belongs to more than one category main category defines `breadcrumbs` on product page.\n       * By default first category from `category_ids` list. Provided value MUST be in `category_ids`\n       * Can be empty only in case if product doesn't belong to any category.\n       */\n      mainCategoryId?: string | null;\n      /** Product type. Affects which properties product has. Also defines type of variants which allowed to be associated with this product. Product type must be provided on creation and cannot be changed. */\n      productType?: ProductType;\n      /**\n       * List of related variants.\n       * On update product request with variants product options must be provided\n       */\n      variants?: VariantComposite[];\n      subscription?: Subscription;\n  }\n  interface CatalogUpdateProductOptions {\n      /**\n       * Explicit list of fields to update in product\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Whether to return the variant and inventory entities in the response. Relevant only if variants and inventory were provided in request. Otherwise this parameter will be ignored. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Creates products in bulk. Support partial success.\n   * Limitations. In one request you can pass limited number of entities in total for all products:\n   * - options - 100\n   * - infoSections - 100\n   * - subscriptionOptions - 100\n   * - variants - 1000\n   * For example, you can create 100 products with up to 10 variants in each (100*10 = 1000) or one product with 1000 variants.\n   * Permissions: Requires WIX_STORES.PRODUCT_CREATE permission.\n   * If together with product you create other entities then you might need also WIX_STORES.BRAND_CREATE, WIX_STORES.RIBBON_CREATE, WIX_STORES.PRODUCT_OPTION_CREATE, WIX_STORES.INFO_SECTION_CREATE, WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.products.subscription.subscriptionPlans\n   * @requiredField options.products.subscription.subscriptionPlans.discount\n   * @requiredField options.products.subscription.subscriptionPlans.discount.type\n   * @requiredField options.products.subscription.subscriptionPlans.subscriptionSettings\n   * @requiredField options.products.subscription.subscriptionPlans.subscriptionSettings.frequency\n   * @requiredField options.products.subscription.subscriptionPlans.title\n   * @adminMethod\n   */\n  function catalogBulkCreateProducts(options?: CatalogBulkCreateProductsOptions): Promise<BulkCreateProductsResponse>;\n  interface CatalogBulkCreateProductsOptions {\n      products?: ProductComposite[];\n      /** Whether to return the full product, variant and inventory entities in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Bulk update up to 100 products. Can return partial success.\n   * If you don't need to update product's `options`, variants and inventory you can stop reading.\n   *\n   * Limitations. In one request you can pass limited number of entities in total for all products:\n   * - options - 100\n   * - infoSections - 100\n   * - subscriptionOptions - 100\n   * - variants - 1000\n   * For example, you can update 100 products with up to 10 variants in each (100*10 = 1000) or one product with 1000 variants.\n   *\n   * Permissions: Always requires WIX_STORES.PRODUCT_UPDATE.\n   * If together with product you provide other entities then you might need also WIX_STORES.BRAND_CREATE, WIX_STORES.RIBBON_CREATE, WIX_STORES.PRODUCT_OPTION_CREATE or WIX_STORES.PRODUCT_OPTION_UPDATE, WIX_STORES.INFO_SECTION_CREATE, WIX_STORES.MODIFY_SUBSCRIPTION_OPTIONS\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField products\n   * @requiredField products.product\n   * @requiredField products.product._id\n   * @requiredField products.product.media.items\n   * @requiredField products.product.media.main\n   * @requiredField products.product.revision\n   * @requiredField products.product.subscription.subscriptionPlans\n   * @requiredField products.product.subscription.subscriptionPlans.discount\n   * @requiredField products.product.subscription.subscriptionPlans.discount.type\n   * @requiredField products.product.subscription.subscriptionPlans.subscriptionSettings\n   * @requiredField products.product.subscription.subscriptionPlans.subscriptionSettings.frequency\n   * @requiredField products.product.subscription.subscriptionPlans.title\n   * @requiredField products.product.variants.price\n   * @requiredField products.product.variants.price.basePrice\n   * @adminMethod\n   */\n  function catalogBulkUpdateProducts(products: MaskedProductComposite[], options?: CatalogBulkUpdateProductsOptions): Promise<BulkUpdateProductsResponse>;\n  interface CatalogBulkUpdateProductsOptions {\n      /** Whether to return the full product entity in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Get a Product by id. If product exist but has `visible:false` it will be returned only if caller has additional permission `WIX_STORES.PRODUCT_READ_ADMIN`, otherwise NOT_FOUND error will be thrown.\n   * @param productId - Id of the Product to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @returns The retrieved Product\n   */\n  function getProduct(productId: string, options?: GetProductOptions): Promise<Product>;\n  interface GetProductOptions {\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n      /**\n       * Indicates if the read should be done consistent or not. Default is false\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  /**\n   * Retrieves product by slug. If product exist but has `visible:false` it will be returned only if caller has additional permission `WIX_STORES.PRODUCT_READ_NOT_VISIBLE`, otherwise NOT_FOUND error will be thrown.\n   * @param slug - Product slug. A permanent, friendly URL name unique per store.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField slug\n   */\n  function getProductBySlug(slug: string, options?: GetProductBySlugOptions): Promise<GetProductBySlugResponse>;\n  interface GetProductBySlugOptions {\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Delete a Product and all related variants\n   * @param productId - Id of the Product to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @adminMethod\n   */\n  function deleteProduct(productId: string): Promise<void>;\n  /**\n   * Search Products using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   */\n  function searchProducts(options?: SearchProductsOptions): Promise<SearchProductsResponse>;\n  interface SearchProductsOptions {\n      /**\n       * WQL expression. Please pay attention that unlike other arrays when you want to filter by `inventory`, `options` or `variants` instead of standard array operators you must use `$matchItems` (for usage see examples).\n       * It means that product will be returned only if one or more items satisfy all filters specified in $matchItems.\n       * For example, if you have 2 variants: one visible with price 10 and another one not visible with price 20, when inside $matchItems you specify `visible:true` and `price > 15` nothing will be returned because there are no variants which satisfy both conditions.\n       * You still can use `$isEmpty` and `$exists` operators for fields listed above.\n       * See examples to understand supported capabilities.\n       */\n      search?: CursorSearch;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n      /** Whether to return products with `visible:false`. Default: false so only visible products will be in response. When true `WIX_STORES.PRODUCT_READ_NOT_VISIBLE` permission required. */\n      includeNotVisibleProducts?: boolean;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   */\n  function eventuallyConsistentQueryProducts(options?: EventuallyConsistentQueryProductsOptions): ProductsQueryBuilder;\n  interface EventuallyConsistentQueryProductsOptions {\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[] | undefined;\n      /** Whether to return products with `visible:false`. Default: false so only visible products will be in response. When true `WIX_STORES.PRODUCT_READ_NOT_VISIBLE` permission required. */\n      includeNotVisibleProducts?: boolean | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProductsQueryResult extends QueryCursorResult {\n      items: Product[];\n      query: ProductsQueryBuilder;\n      next: () => Promise<ProductsQueryResult>;\n      prev: () => Promise<ProductsQueryResult>;\n  }\n  interface ProductsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'physicalOptions.fulfillerId' | 'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'slug' | 'visible' | 'visibleInPos' | 'options.textChoicesSettings.choices.choiceId' | 'options.swatchChoicesSettings.choices.choiceId' | 'options.optionId' | 'brand.id' | 'infoSections.id' | 'infoSections.uniqueName' | 'subscriptionOptions.id' | 'subscriptionOptions.visible' | 'subscriptionOnly' | 'directCategories.id' | 'directCategories.index' | 'allCategories.id' | 'allCategories.index' | 'basePriceRange.minValue.value' | 'basePriceRange.maxValue.value' | 'inventory.locationId' | 'inventory.purchaseAvailabilityStatus' | 'productType' | 'variants.physicalOptions.weight' | 'variants.physicalOptions.sku' | 'variants.physicalOptions.barcode' | 'variants.visible' | 'variants.choices.optionName' | 'variants.choices.choiceName' | 'variants.price.basePrice.value' | 'variants.price.discountedPrice.value' | 'subscription.allowOneTimePurchases', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'physicalOptions.fulfillerId' | 'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'slug' | 'visible' | 'visibleInPos' | 'options.textChoicesSettings.choices.choiceId' | 'options.swatchChoicesSettings.choices.choiceId' | 'options.optionId' | 'brand.id' | 'infoSections.id' | 'infoSections.uniqueName' | 'subscriptionOptions.id' | 'subscriptionOptions.visible' | 'subscriptionOnly' | 'directCategories.id' | 'directCategories.index' | 'allCategories.id' | 'allCategories.index' | 'basePriceRange.minValue.value' | 'basePriceRange.maxValue.value' | 'inventory.locationId' | 'inventory.purchaseAvailabilityStatus' | 'productType' | 'variants.physicalOptions.weight' | 'variants.physicalOptions.sku' | 'variants.physicalOptions.barcode' | 'variants.visible' | 'variants.choices.optionName' | 'variants.choices.choiceName' | 'variants.price.basePrice.value' | 'variants.price.discountedPrice.value' | 'subscription.allowOneTimePurchases', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_createdDate' | '_updatedDate' | 'directCategories.index' | 'allCategories.index' | 'variants.physicalOptions.weight', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_createdDate' | '_updatedDate' | 'directCategories.index' | 'allCategories.index' | 'variants.physicalOptions.weight', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_createdDate' | '_updatedDate' | 'directCategories.index' | 'allCategories.index' | 'variants.physicalOptions.weight', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_createdDate' | '_updatedDate' | 'directCategories.index' | 'allCategories.index' | 'variants.physicalOptions.weight', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'physicalOptions.fulfillerId' | '_id' | 'name' | 'slug' | 'options.textChoicesSettings.choices.choiceId' | 'options.swatchChoicesSettings.choices.choiceId' | 'options.optionId' | 'brand.id' | 'infoSections.id' | 'infoSections.uniqueName' | 'subscriptionOptions.id' | 'directCategories.id' | 'allCategories.id' | 'basePriceRange.minValue.value' | 'basePriceRange.maxValue.value' | 'inventory.locationId' | 'variants.physicalOptions.sku' | 'variants.physicalOptions.barcode' | 'variants.choices.optionName' | 'variants.choices.choiceName' | 'variants.price.basePrice.value' | 'variants.price.discountedPrice.value', value: string) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'physicalOptions.fulfillerId' | 'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'slug' | 'visible' | 'visibleInPos' | 'options.textChoicesSettings.choices.choiceId' | 'options.swatchChoicesSettings.choices.choiceId' | 'options.optionId' | 'brand.id' | 'infoSections.id' | 'infoSections.uniqueName' | 'subscriptionOptions.id' | 'subscriptionOptions.visible' | 'subscriptionOnly' | 'directCategories.id' | 'directCategories.index' | 'allCategories.id' | 'allCategories.index' | 'basePriceRange.minValue.value' | 'basePriceRange.maxValue.value' | 'inventory.locationId' | 'inventory.purchaseAvailabilityStatus' | 'productType' | 'variants.physicalOptions.weight' | 'variants.physicalOptions.sku' | 'variants.physicalOptions.barcode' | 'variants.visible' | 'variants.choices.optionName' | 'variants.choices.choiceName' | 'variants.price.basePrice.value' | 'variants.price.discountedPrice.value' | 'subscription.allowOneTimePurchases', value: any[]) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'physicalOptions.fulfillerId' | 'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'slug' | 'visible' | 'visibleInPos' | 'options.textChoicesSettings.choices.choiceId' | 'options.swatchChoicesSettings.choices.choiceId' | 'options.optionId' | 'brand.id' | 'infoSections.id' | 'infoSections.uniqueName' | 'subscriptionOptions.id' | 'subscriptionOptions.visible' | 'subscriptionOnly' | 'directCategories.id' | 'directCategories.index' | 'allCategories.id' | 'allCategories.index' | 'basePriceRange.minValue.value' | 'basePriceRange.maxValue.value' | 'inventory.locationId' | 'inventory.purchaseAvailabilityStatus' | 'productType' | 'variants.physicalOptions.weight' | 'variants.physicalOptions.sku' | 'variants.physicalOptions.barcode' | 'variants.visible' | 'variants.choices.optionName' | 'variants.choices.choiceName' | 'variants.price.basePrice.value' | 'variants.price.discountedPrice.value' | 'subscription.allowOneTimePurchases', value: any) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'physicalOptions.fulfillerId' | 'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'slug' | 'visible' | 'visibleInPos' | 'options.textChoicesSettings.choices.choiceId' | 'options.swatchChoicesSettings.choices.choiceId' | 'options.optionId' | 'brand.id' | 'infoSections.id' | 'infoSections.uniqueName' | 'subscriptionOptions.id' | 'subscriptionOptions.visible' | 'subscriptionOnly' | 'directCategories.id' | 'directCategories.index' | 'allCategories.id' | 'allCategories.index' | 'basePriceRange.minValue.value' | 'basePriceRange.maxValue.value' | 'inventory.locationId' | 'inventory.purchaseAvailabilityStatus' | 'productType' | 'variants.physicalOptions.weight' | 'variants.physicalOptions.sku' | 'variants.physicalOptions.barcode' | 'variants.visible' | 'variants.choices.optionName' | 'variants.choices.choiceName' | 'variants.price.basePrice.value' | 'variants.price.discountedPrice.value' | 'subscription.allowOneTimePurchases', value: boolean) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_createdDate' | '_updatedDate' | 'name' | 'directCategories.index' | 'allCategories.index' | 'basePriceRange.minValue.value' | 'basePriceRange.maxValue.value'>) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'physicalOptions.shippingWeightRange.minValue' | 'physicalOptions.shippingWeightRange.maxValue' | '_createdDate' | '_updatedDate' | 'name' | 'directCategories.index' | 'allCategories.index' | 'basePriceRange.minValue.value' | 'basePriceRange.maxValue.value'>) => ProductsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ProductsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ProductsQueryResult>;\n  }\n  /**\n   * Returns total count of products satisfying filter and/or search\n   * @internal\n   * @documentationMaturity preview\n   */\n  function countProducts(options?: CountProductsOptions): Promise<CountProductsResponse>;\n  interface CountProductsOptions {\n      /**\n       * A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf)\n       * To understand supported filters and limitations see `SearchProducts` method.\n       */\n      filter?: Record<string, any> | null;\n      /** free text to match in searchable fields */\n      search?: SearchDetails;\n      /** Whether to return products with `visible:false`. Default: false so only visible products will be in response. When true `WIX_STORES.PRODUCT_READ_NOT_VISIBLE` permission required. */\n      includeNotVisibleProducts?: boolean;\n  }\n  /**\n   * Bulk update products by filter.\n   * Async method with returns job_id which can be used to retrieve update results.\n   * Can be partially successful.\n   * Doesn't require revision and don't use optimistic locking.\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"name\": \"value1\",\n   * \"categoryIds\":{\"$in\":[\"categoryId1\", \"categoryId2\"]}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options.product\n   * @requiredField options.product.physicalOptions.pricePerUnit.measurementUnit\n   * @requiredField options.product.subscription.subscriptionPlans\n   * @requiredField options.product.subscription.subscriptionPlans.discount\n   * @requiredField options.product.subscription.subscriptionPlans.discount.type\n   * @requiredField options.product.subscription.subscriptionPlans.subscriptionSettings\n   * @requiredField options.product.subscription.subscriptionPlans.subscriptionSettings.frequency\n   * @requiredField options.product.subscription.subscriptionPlans.title\n   * @requiredField options.product.variants.physicalOptions.pricePerUnit.settings.measurementUnit\n   * @requiredField options.product.variants.price\n   * @requiredField options.product.variants.price.basePrice\n   * @adminMethod\n   */\n  function bulkUpdateProductsByFilter(filter: Record<string, any> | null, options?: BulkUpdateProductsByFilterOptions): Promise<BulkUpdateProductsByFilterResponse>;\n  interface BulkUpdateProductsByFilterOptions {\n      /** Product with new field values. */\n      product: Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes up to 100 products with variants.\n   * @param productIds - IDs of products to be deleted.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField productIds\n   * @adminMethod\n   */\n  function bulkDeleteProducts(productIds: string[]): Promise<BulkDeleteProductsResponse>;\n  /**\n   * Delete multiple products which satisfy the provided filter.\n   * Async method with returns job_id which can be used to retrieve results.\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"name\": \"value1\",\n   * \"categoryIds\":{\"$in\":[\"categoryId1\", \"categoryId2\"]}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @adminMethod\n   */\n  function bulkDeleteProductsByFilter(filter: Record<string, any> | null): Promise<BulkDeleteProductsByFilterResponse>;\n  /**\n   * Adds info sections to the end of info sections list of multiple products which satisfy filter.\n   * Can be partially successful.\n   * Async method, returns job_id which can be used to retrieve results.\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"name\": \"value1\",\n   * \"categoryIds\":{\"$in\":[\"categoryId1\", \"categoryId2\"]}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options\n   * @requiredField options.infoSectionIds\n   * @adminMethod\n   */\n  function bulkAddInfoSectionsToProductsByFilter(filter: Record<string, any> | null, options: BulkAddInfoSectionsToProductsByFilterOptions): Promise<BulkAddInfoSectionsToProductsByFilterResponse>;\n  interface BulkAddInfoSectionsToProductsByFilterOptions {\n      /** Info sections to be added */\n      infoSectionIds: string[];\n  }\n  /**\n   * Adds info sections to the end of info sections list of multiple products.\n   * Can be partially successful.\n   * @param productIds - IDs of products to be updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.infoSectionIds\n   * @requiredField productIds\n   * @adminMethod\n   */\n  function bulkAddInfoSectionsToProducts(productIds: ProductIdWithRevision[], options?: BulkAddInfoSectionsToProductsOptions): Promise<BulkAddInfoSectionsToProductsResponse>;\n  interface BulkAddInfoSectionsToProductsOptions {\n      /** Info section to be added */\n      infoSectionIds: string[];\n      /** Whether to return all updated product entities in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Removes info sections from info sections list of multiple products which satisfy filter.\n   * Can be partially successful.\n   * Async method, returns job_id which can be used to retrieve results.\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"name\": \"value1\",\n   * \"categoryIds\":{\"$in\":[\"categoryId1\", \"categoryId2\"]}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options\n   * @requiredField options.infoSectionIds\n   * @adminMethod\n   */\n  function bulkRemoveInfoSectionsFromProductsByFilter(filter: Record<string, any> | null, options: BulkRemoveInfoSectionsFromProductsByFilterOptions): Promise<BulkRemoveInfoSectionsFromProductsByFilterResponse>;\n  interface BulkRemoveInfoSectionsFromProductsByFilterOptions {\n      /** Info sections to be removed */\n      infoSectionIds: string[];\n  }\n  /**\n   * Removes info sections from info sections list of multiple products.\n   * Can be partially successful.\n   * @param productIds - IDs of products to be updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.infoSectionIds\n   * @requiredField productIds\n   * @adminMethod\n   */\n  function bulkRemoveInfoSectionsFromProducts(productIds: ProductIdWithRevision[], options?: BulkRemoveInfoSectionsFromProductsOptions): Promise<BulkRemoveInfoSectionsFromProductsResponse>;\n  interface BulkRemoveInfoSectionsFromProductsOptions {\n      /** Info section to be removed. */\n      infoSectionIds: string[];\n      /** Whether to return all updated product entities in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Update multiple variants which satisfy the provided product filter and meet the following conditions:\n   * + `typed_properties` of variants must correlate with `product_type`.\n   * + `typed_properties.price_per_unit.measurement_unit` of product and variant must be aligned.\n   * Async method that returns job_id which can be used to retrieve update results.\n   * Can be partially successful.\n   * Doesn't require revision and don't use optimistic locking.\n   * @param filter - Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options.variant\n   * @adminMethod\n   */\n  function bulkUpdateVariantsByFilter(filter: Record<string, any> | null, options?: BulkUpdateVariantsByFilterOptions): Promise<BulkUpdateVariantsByFilterResponse>;\n  interface BulkUpdateVariantsByFilterOptions {\n      /** Variant with new field values. */\n      variant: Variant;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Adjust the price, cost and weight of multiple variants, which satisfy the provided product filter.\n   * Allowed actions: Increase/reduce price, discounted price, cost of goods and weight by amount or by percentage,\n   * To set a exact new value for multiple variants, use BulkUpdateVariantsByFilter.\n   * @param filter - Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @adminMethod\n   */\n  function bulkAdjustVariantsByFilter(filter: Record<string, any> | null, options?: BulkAdjustVariantsByFilterOptions): Promise<BulkAdjustVariantsByFilterResponse>;\n  interface BulkAdjustVariantsByFilterOptions {\n      /** The amount or percentage to change the variants price by */\n      basePrice?: AdjustValue;\n      /** The amount or percentage to change the variants discounted price by */\n      discountedPrice?: AdjustValue;\n      /** The amount or percentage to change the variants cost by */\n      cost?: AdjustValue;\n      /**\n       * Set variant discounted price from base price by applying provided discount to it.\n       * For example variant base price 100$, variant discounted price 95$, requested `discounted_price_from_base_price.percentage` is 10, then old discounted price ignored and new discounted price set to 90 (100$ - 10%)\n       * @internal\n       */\n      discountedPriceFromBasePrice?: UnsignedAdjustValue;\n  }\n  \n  const storesCatalogV3Product_universal_d___debug: typeof __debug;\n  type storesCatalogV3Product_universal_d_Product = Product;\n  type storesCatalogV3Product_universal_d_ProductTypedPropertiesOneOf = ProductTypedPropertiesOneOf;\n  type storesCatalogV3Product_universal_d_RichContent = RichContent;\n  type storesCatalogV3Product_universal_d_Node = Node;\n  type storesCatalogV3Product_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type storesCatalogV3Product_universal_d_NodeType = NodeType;\n  const storesCatalogV3Product_universal_d_NodeType: typeof NodeType;\n  type storesCatalogV3Product_universal_d_NodeStyle = NodeStyle;\n  type storesCatalogV3Product_universal_d_ButtonData = ButtonData;\n  type storesCatalogV3Product_universal_d_Border = Border;\n  type storesCatalogV3Product_universal_d_Colors = Colors;\n  type storesCatalogV3Product_universal_d_PluginContainerData = PluginContainerData;\n  type storesCatalogV3Product_universal_d_WidthType = WidthType;\n  const storesCatalogV3Product_universal_d_WidthType: typeof WidthType;\n  type storesCatalogV3Product_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type storesCatalogV3Product_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type storesCatalogV3Product_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const storesCatalogV3Product_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type storesCatalogV3Product_universal_d_Spoiler = Spoiler;\n  type storesCatalogV3Product_universal_d_Height = Height;\n  type storesCatalogV3Product_universal_d_Type = Type;\n  const storesCatalogV3Product_universal_d_Type: typeof Type;\n  type storesCatalogV3Product_universal_d_Styles = Styles;\n  type storesCatalogV3Product_universal_d_Link = Link;\n  type storesCatalogV3Product_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type storesCatalogV3Product_universal_d_Target = Target;\n  const storesCatalogV3Product_universal_d_Target: typeof Target;\n  type storesCatalogV3Product_universal_d_Rel = Rel;\n  type storesCatalogV3Product_universal_d_CodeBlockData = CodeBlockData;\n  type storesCatalogV3Product_universal_d_TextStyle = TextStyle;\n  type storesCatalogV3Product_universal_d_TextAlignment = TextAlignment;\n  const storesCatalogV3Product_universal_d_TextAlignment: typeof TextAlignment;\n  type storesCatalogV3Product_universal_d_DividerData = DividerData;\n  type storesCatalogV3Product_universal_d_LineStyle = LineStyle;\n  const storesCatalogV3Product_universal_d_LineStyle: typeof LineStyle;\n  type storesCatalogV3Product_universal_d_Width = Width;\n  const storesCatalogV3Product_universal_d_Width: typeof Width;\n  type storesCatalogV3Product_universal_d_Alignment = Alignment;\n  const storesCatalogV3Product_universal_d_Alignment: typeof Alignment;\n  type storesCatalogV3Product_universal_d_FileData = FileData;\n  type storesCatalogV3Product_universal_d_ViewMode = ViewMode;\n  const storesCatalogV3Product_universal_d_ViewMode: typeof ViewMode;\n  type storesCatalogV3Product_universal_d_FileSource = FileSource;\n  type storesCatalogV3Product_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type storesCatalogV3Product_universal_d_PDFSettings = PDFSettings;\n  type storesCatalogV3Product_universal_d_GalleryData = GalleryData;\n  type storesCatalogV3Product_universal_d_V1Media = V1Media;\n  type storesCatalogV3Product_universal_d_Image = Image;\n  type storesCatalogV3Product_universal_d_Video = Video;\n  type storesCatalogV3Product_universal_d_Item = Item;\n  type storesCatalogV3Product_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type storesCatalogV3Product_universal_d_GalleryOptions = GalleryOptions;\n  type storesCatalogV3Product_universal_d_LayoutType = LayoutType;\n  const storesCatalogV3Product_universal_d_LayoutType: typeof LayoutType;\n  type storesCatalogV3Product_universal_d_Orientation = Orientation;\n  const storesCatalogV3Product_universal_d_Orientation: typeof Orientation;\n  type storesCatalogV3Product_universal_d_Crop = Crop;\n  const storesCatalogV3Product_universal_d_Crop: typeof Crop;\n  type storesCatalogV3Product_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const storesCatalogV3Product_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type storesCatalogV3Product_universal_d_Layout = Layout;\n  type storesCatalogV3Product_universal_d_ItemStyle = ItemStyle;\n  type storesCatalogV3Product_universal_d_Thumbnails = Thumbnails;\n  type storesCatalogV3Product_universal_d_GIFData = GIFData;\n  type storesCatalogV3Product_universal_d_GIF = GIF;\n  type storesCatalogV3Product_universal_d_HeadingData = HeadingData;\n  type storesCatalogV3Product_universal_d_HTMLData = HTMLData;\n  type storesCatalogV3Product_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type storesCatalogV3Product_universal_d_Source = Source;\n  const storesCatalogV3Product_universal_d_Source: typeof Source;\n  type storesCatalogV3Product_universal_d_ImageData = ImageData;\n  type storesCatalogV3Product_universal_d_LinkPreviewData = LinkPreviewData;\n  type storesCatalogV3Product_universal_d_MapData = MapData;\n  type storesCatalogV3Product_universal_d_MapSettings = MapSettings;\n  type storesCatalogV3Product_universal_d_MapType = MapType;\n  const storesCatalogV3Product_universal_d_MapType: typeof MapType;\n  type storesCatalogV3Product_universal_d_ParagraphData = ParagraphData;\n  type storesCatalogV3Product_universal_d_PollData = PollData;\n  type storesCatalogV3Product_universal_d_ViewRole = ViewRole;\n  const storesCatalogV3Product_universal_d_ViewRole: typeof ViewRole;\n  type storesCatalogV3Product_universal_d_VoteRole = VoteRole;\n  const storesCatalogV3Product_universal_d_VoteRole: typeof VoteRole;\n  type storesCatalogV3Product_universal_d_Permissions = Permissions;\n  type storesCatalogV3Product_universal_d_Option = Option;\n  type storesCatalogV3Product_universal_d_PollSettings = PollSettings;\n  type storesCatalogV3Product_universal_d_PollLayoutType = PollLayoutType;\n  const storesCatalogV3Product_universal_d_PollLayoutType: typeof PollLayoutType;\n  type storesCatalogV3Product_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const storesCatalogV3Product_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type storesCatalogV3Product_universal_d_PollLayout = PollLayout;\n  type storesCatalogV3Product_universal_d_OptionLayout = OptionLayout;\n  type storesCatalogV3Product_universal_d_BackgroundType = BackgroundType;\n  const storesCatalogV3Product_universal_d_BackgroundType: typeof BackgroundType;\n  type storesCatalogV3Product_universal_d_Gradient = Gradient;\n  type storesCatalogV3Product_universal_d_Background = Background;\n  type storesCatalogV3Product_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type storesCatalogV3Product_universal_d_PollDesign = PollDesign;\n  type storesCatalogV3Product_universal_d_OptionDesign = OptionDesign;\n  type storesCatalogV3Product_universal_d_Poll = Poll;\n  type storesCatalogV3Product_universal_d_PollDataLayout = PollDataLayout;\n  type storesCatalogV3Product_universal_d_Design = Design;\n  type storesCatalogV3Product_universal_d_TextData = TextData;\n  type storesCatalogV3Product_universal_d_Decoration = Decoration;\n  type storesCatalogV3Product_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type storesCatalogV3Product_universal_d_DecorationType = DecorationType;\n  const storesCatalogV3Product_universal_d_DecorationType: typeof DecorationType;\n  type storesCatalogV3Product_universal_d_AnchorData = AnchorData;\n  type storesCatalogV3Product_universal_d_ColorData = ColorData;\n  type storesCatalogV3Product_universal_d_LinkData = LinkData;\n  type storesCatalogV3Product_universal_d_MentionData = MentionData;\n  type storesCatalogV3Product_universal_d_FontSizeData = FontSizeData;\n  type storesCatalogV3Product_universal_d_FontType = FontType;\n  const storesCatalogV3Product_universal_d_FontType: typeof FontType;\n  type storesCatalogV3Product_universal_d_AppEmbedData = AppEmbedData;\n  type storesCatalogV3Product_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type storesCatalogV3Product_universal_d_AppType = AppType;\n  const storesCatalogV3Product_universal_d_AppType: typeof AppType;\n  type storesCatalogV3Product_universal_d_BookingData = BookingData;\n  type storesCatalogV3Product_universal_d_EventData = EventData;\n  type storesCatalogV3Product_universal_d_VideoData = VideoData;\n  type storesCatalogV3Product_universal_d_PlaybackOptions = PlaybackOptions;\n  type storesCatalogV3Product_universal_d_EmbedData = EmbedData;\n  type storesCatalogV3Product_universal_d_Oembed = Oembed;\n  type storesCatalogV3Product_universal_d_CollapsibleListData = CollapsibleListData;\n  type storesCatalogV3Product_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const storesCatalogV3Product_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type storesCatalogV3Product_universal_d_Direction = Direction;\n  const storesCatalogV3Product_universal_d_Direction: typeof Direction;\n  type storesCatalogV3Product_universal_d_TableData = TableData;\n  type storesCatalogV3Product_universal_d_Dimensions = Dimensions;\n  type storesCatalogV3Product_universal_d_TableCellData = TableCellData;\n  type storesCatalogV3Product_universal_d_VerticalAlignment = VerticalAlignment;\n  const storesCatalogV3Product_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type storesCatalogV3Product_universal_d_CellStyle = CellStyle;\n  type storesCatalogV3Product_universal_d_BorderColors = BorderColors;\n  type storesCatalogV3Product_universal_d_NullValue = NullValue;\n  const storesCatalogV3Product_universal_d_NullValue: typeof NullValue;\n  type storesCatalogV3Product_universal_d_ListValue = ListValue;\n  type storesCatalogV3Product_universal_d_AudioData = AudioData;\n  type storesCatalogV3Product_universal_d_OrderedListData = OrderedListData;\n  type storesCatalogV3Product_universal_d_BulletedListData = BulletedListData;\n  type storesCatalogV3Product_universal_d_BlockquoteData = BlockquoteData;\n  type storesCatalogV3Product_universal_d_Metadata = Metadata;\n  type storesCatalogV3Product_universal_d_DocumentStyle = DocumentStyle;\n  type storesCatalogV3Product_universal_d_TextNodeStyle = TextNodeStyle;\n  type storesCatalogV3Product_universal_d_Media = Media;\n  type storesCatalogV3Product_universal_d_ProductMedia = ProductMedia;\n  type storesCatalogV3Product_universal_d_ProductMediaSetByOneOf = ProductMediaSetByOneOf;\n  type storesCatalogV3Product_universal_d_ProductMediaMediaOneOf = ProductMediaMediaOneOf;\n  type storesCatalogV3Product_universal_d_VideoResolution = VideoResolution;\n  type storesCatalogV3Product_universal_d_SeoSchema = SeoSchema;\n  type storesCatalogV3Product_universal_d_Keyword = Keyword;\n  type storesCatalogV3Product_universal_d_Tag = Tag;\n  type storesCatalogV3Product_universal_d_Settings = Settings;\n  type storesCatalogV3Product_universal_d_CustomText = CustomText;\n  type storesCatalogV3Product_universal_d_ConnectedOption = ConnectedOption;\n  type storesCatalogV3Product_universal_d_ConnectedOptionOptionSettingsOneOf = ConnectedOptionOptionSettingsOneOf;\n  type storesCatalogV3Product_universal_d_OptionSettingsType = OptionSettingsType;\n  const storesCatalogV3Product_universal_d_OptionSettingsType: typeof OptionSettingsType;\n  type storesCatalogV3Product_universal_d_TextChoicesSettings = TextChoicesSettings;\n  type storesCatalogV3Product_universal_d_ConnectedChoice = ConnectedChoice;\n  type storesCatalogV3Product_universal_d_ConnectedChoiceValueOneOf = ConnectedChoiceValueOneOf;\n  type storesCatalogV3Product_universal_d_ChoiceType = ChoiceType;\n  const storesCatalogV3Product_universal_d_ChoiceType: typeof ChoiceType;\n  type storesCatalogV3Product_universal_d_MultipleColors = MultipleColors;\n  type storesCatalogV3Product_universal_d_SwatchChoicesSettings = SwatchChoicesSettings;\n  type storesCatalogV3Product_universal_d_ConnectedModifier = ConnectedModifier;\n  type storesCatalogV3Product_universal_d_ConnectedModifierOptionSettingsOneOf = ConnectedModifierOptionSettingsOneOf;\n  type storesCatalogV3Product_universal_d_FreeTextSettings = FreeTextSettings;\n  type storesCatalogV3Product_universal_d_Brand = Brand;\n  type storesCatalogV3Product_universal_d_InfoSection = InfoSection;\n  type storesCatalogV3Product_universal_d_SubscriptionOptionInfo = SubscriptionOptionInfo;\n  type storesCatalogV3Product_universal_d_SubscriptionSettings = SubscriptionSettings;\n  type storesCatalogV3Product_universal_d_SubscriptionFrequency = SubscriptionFrequency;\n  const storesCatalogV3Product_universal_d_SubscriptionFrequency: typeof SubscriptionFrequency;\n  type storesCatalogV3Product_universal_d_Discount = Discount;\n  type storesCatalogV3Product_universal_d_DiscountType = DiscountType;\n  const storesCatalogV3Product_universal_d_DiscountType: typeof DiscountType;\n  type storesCatalogV3Product_universal_d_Customization = Customization;\n  type storesCatalogV3Product_universal_d_CustomizationValueOneOf = CustomizationValueOneOf;\n  type storesCatalogV3Product_universal_d_CustomizationType = CustomizationType;\n  const storesCatalogV3Product_universal_d_CustomizationType: typeof CustomizationType;\n  type storesCatalogV3Product_universal_d_TextInputValue = TextInputValue;\n  type storesCatalogV3Product_universal_d_Ribbon = Ribbon;\n  type storesCatalogV3Product_universal_d_ProductCategory = ProductCategory;\n  type storesCatalogV3Product_universal_d_BreadCrumb = BreadCrumb;\n  type storesCatalogV3Product_universal_d_PriceRange = PriceRange;\n  type storesCatalogV3Product_universal_d_FixedMonetaryAmount = FixedMonetaryAmount;\n  type storesCatalogV3Product_universal_d_Inventory = Inventory;\n  type storesCatalogV3Product_universal_d_PurchaseAvailabilityStatus = PurchaseAvailabilityStatus;\n  const storesCatalogV3Product_universal_d_PurchaseAvailabilityStatus: typeof PurchaseAvailabilityStatus;\n  type storesCatalogV3Product_universal_d_PreorderStatus = PreorderStatus;\n  const storesCatalogV3Product_universal_d_PreorderStatus: typeof PreorderStatus;\n  type storesCatalogV3Product_universal_d_ProductType = ProductType;\n  const storesCatalogV3Product_universal_d_ProductType: typeof ProductType;\n  type storesCatalogV3Product_universal_d_PhysicalProperties = PhysicalProperties;\n  type storesCatalogV3Product_universal_d_PricePerUnitSettings = PricePerUnitSettings;\n  type storesCatalogV3Product_universal_d_MeasurementUnit = MeasurementUnit;\n  const storesCatalogV3Product_universal_d_MeasurementUnit: typeof MeasurementUnit;\n  type storesCatalogV3Product_universal_d_WeightRange = WeightRange;\n  type storesCatalogV3Product_universal_d_Variant = Variant;\n  type storesCatalogV3Product_universal_d_VariantTypedPropertiesOneOf = VariantTypedPropertiesOneOf;\n  type storesCatalogV3Product_universal_d_OptionChoice = OptionChoice;\n  type storesCatalogV3Product_universal_d_PriceInfo = PriceInfo;\n  type storesCatalogV3Product_universal_d_RevenueDetails = RevenueDetails;\n  type storesCatalogV3Product_universal_d_VariantPhysicalProperties = VariantPhysicalProperties;\n  type storesCatalogV3Product_universal_d_PricePerUnit = PricePerUnit;\n  type storesCatalogV3Product_universal_d_VariantDigitalProperties = VariantDigitalProperties;\n  type storesCatalogV3Product_universal_d_SecuredMedia = SecuredMedia;\n  type storesCatalogV3Product_universal_d_FileType = FileType;\n  const storesCatalogV3Product_universal_d_FileType: typeof FileType;\n  type storesCatalogV3Product_universal_d_SubscriptionPlanPrice = SubscriptionPlanPrice;\n  type storesCatalogV3Product_universal_d_ExtendedFields = ExtendedFields;\n  type storesCatalogV3Product_universal_d_Subscription = Subscription;\n  type storesCatalogV3Product_universal_d_SubscriptionPlan = SubscriptionPlan;\n  type storesCatalogV3Product_universal_d_V3SubscriptionSettings = V3SubscriptionSettings;\n  type storesCatalogV3Product_universal_d_V3SubscriptionSettingsCyclesOneOf = V3SubscriptionSettingsCyclesOneOf;\n  type storesCatalogV3Product_universal_d_SubscriptionPlanDiscount = SubscriptionPlanDiscount;\n  type storesCatalogV3Product_universal_d_SubscriptionPlanDiscountDiscountOneOf = SubscriptionPlanDiscountDiscountOneOf;\n  type storesCatalogV3Product_universal_d_SubscriptionPlanDiscountDiscountType = SubscriptionPlanDiscountDiscountType;\n  const storesCatalogV3Product_universal_d_SubscriptionPlanDiscountDiscountType: typeof SubscriptionPlanDiscountDiscountType;\n  type storesCatalogV3Product_universal_d_UpdateDocumentsEvent = UpdateDocumentsEvent;\n  type storesCatalogV3Product_universal_d_UpdateDocumentsEventOperationOneOf = UpdateDocumentsEventOperationOneOf;\n  type storesCatalogV3Product_universal_d_DocumentUpdateOperation = DocumentUpdateOperation;\n  type storesCatalogV3Product_universal_d_IndexDocument = IndexDocument;\n  type storesCatalogV3Product_universal_d_DocumentPayload = DocumentPayload;\n  type storesCatalogV3Product_universal_d_DocumentImage = DocumentImage;\n  type storesCatalogV3Product_universal_d_Enum = Enum;\n  const storesCatalogV3Product_universal_d_Enum: typeof Enum;\n  type storesCatalogV3Product_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n  type storesCatalogV3Product_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n  type storesCatalogV3Product_universal_d_UpdateByFilterOperation = UpdateByFilterOperation;\n  type storesCatalogV3Product_universal_d_UpdateExistingOperation = UpdateExistingOperation;\n  type storesCatalogV3Product_universal_d_DomainEvent = DomainEvent;\n  type storesCatalogV3Product_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type storesCatalogV3Product_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type storesCatalogV3Product_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type storesCatalogV3Product_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type storesCatalogV3Product_universal_d_ActionEvent = ActionEvent;\n  type storesCatalogV3Product_universal_d_Empty = Empty;\n  type storesCatalogV3Product_universal_d_SearchIndexingNotification = SearchIndexingNotification;\n  type storesCatalogV3Product_universal_d_State = State;\n  const storesCatalogV3Product_universal_d_State: typeof State;\n  type storesCatalogV3Product_universal_d_CreateProductRequest = CreateProductRequest;\n  type storesCatalogV3Product_universal_d_ProductComposite = ProductComposite;\n  type storesCatalogV3Product_universal_d_ProductCompositeTypedPropertiesOneOf = ProductCompositeTypedPropertiesOneOf;\n  type storesCatalogV3Product_universal_d_VariantComposite = VariantComposite;\n  type storesCatalogV3Product_universal_d_VariantCompositeTypedPropertiesOneOf = VariantCompositeTypedPropertiesOneOf;\n  type storesCatalogV3Product_universal_d_InventoryItemComposite = InventoryItemComposite;\n  type storesCatalogV3Product_universal_d_InventoryItemCompositeTrackingMethodOneOf = InventoryItemCompositeTrackingMethodOneOf;\n  type storesCatalogV3Product_universal_d_PreorderInfo = PreorderInfo;\n  type storesCatalogV3Product_universal_d_OptionChoiceReferences = OptionChoiceReferences;\n  type storesCatalogV3Product_universal_d_RequestedFields = RequestedFields;\n  const storesCatalogV3Product_universal_d_RequestedFields: typeof RequestedFields;\n  type storesCatalogV3Product_universal_d_CreateProductResponse = CreateProductResponse;\n  type storesCatalogV3Product_universal_d_BulkInventoryItemResults = BulkInventoryItemResults;\n  type storesCatalogV3Product_universal_d_BulkInventoryItemResult = BulkInventoryItemResult;\n  type storesCatalogV3Product_universal_d_ItemMetadata = ItemMetadata;\n  type storesCatalogV3Product_universal_d_ApplicationError = ApplicationError;\n  type storesCatalogV3Product_universal_d_InventoryItem = InventoryItem;\n  type storesCatalogV3Product_universal_d_InventoryItemTrackingMethodOneOf = InventoryItemTrackingMethodOneOf;\n  type storesCatalogV3Product_universal_d_ItemAvailability = ItemAvailability;\n  type storesCatalogV3Product_universal_d_AvailabilityStatus = AvailabilityStatus;\n  const storesCatalogV3Product_universal_d_AvailabilityStatus: typeof AvailabilityStatus;\n  type storesCatalogV3Product_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type storesCatalogV3Product_universal_d_VariantsNotAlignedWithProduct = VariantsNotAlignedWithProduct;\n  type storesCatalogV3Product_universal_d_VariantNotAlignedWithProduct = VariantNotAlignedWithProduct;\n  type storesCatalogV3Product_universal_d_VariantBulkErrors = VariantBulkErrors;\n  type storesCatalogV3Product_universal_d_InventoryBulkErrors = InventoryBulkErrors;\n  type storesCatalogV3Product_universal_d_UpdateProductRequest = UpdateProductRequest;\n  type storesCatalogV3Product_universal_d_UpdateProductResponse = UpdateProductResponse;\n  type storesCatalogV3Product_universal_d_UnsupportedFieldMasks = UnsupportedFieldMasks;\n  type storesCatalogV3Product_universal_d_BulkCreateProductsRequest = BulkCreateProductsRequest;\n  type storesCatalogV3Product_universal_d_BulkCreateProductsResponse = BulkCreateProductsResponse;\n  type storesCatalogV3Product_universal_d_BulkProductResults = BulkProductResults;\n  type storesCatalogV3Product_universal_d_BulkProductResult = BulkProductResult;\n  type storesCatalogV3Product_universal_d_BulkUpdateProductsRequest = BulkUpdateProductsRequest;\n  type storesCatalogV3Product_universal_d_MaskedProductComposite = MaskedProductComposite;\n  type storesCatalogV3Product_universal_d_BulkUpdateProductsResponse = BulkUpdateProductsResponse;\n  type storesCatalogV3Product_universal_d_InvalidateCache = InvalidateCache;\n  type storesCatalogV3Product_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type storesCatalogV3Product_universal_d_App = App;\n  type storesCatalogV3Product_universal_d_Page = Page;\n  type storesCatalogV3Product_universal_d_URI = URI;\n  type storesCatalogV3Product_universal_d_DoNotCallCreateProductRequest = DoNotCallCreateProductRequest;\n  type storesCatalogV3Product_universal_d_DoNotCallCreateProductResponse = DoNotCallCreateProductResponse;\n  type storesCatalogV3Product_universal_d_VariantAdded = VariantAdded;\n  type storesCatalogV3Product_universal_d_GetProductRequest = GetProductRequest;\n  type storesCatalogV3Product_universal_d_GetProductResponse = GetProductResponse;\n  type storesCatalogV3Product_universal_d_GetProductBySlugRequest = GetProductBySlugRequest;\n  type storesCatalogV3Product_universal_d_GetProductBySlugResponse = GetProductBySlugResponse;\n  type storesCatalogV3Product_universal_d_DoNotCallUpdateProductRequest = DoNotCallUpdateProductRequest;\n  type storesCatalogV3Product_universal_d_DoNotCallUpdateProductResponse = DoNotCallUpdateProductResponse;\n  type storesCatalogV3Product_universal_d_VariantUpdated = VariantUpdated;\n  type storesCatalogV3Product_universal_d_VariantRemoved = VariantRemoved;\n  type storesCatalogV3Product_universal_d_DeleteProductRequest = DeleteProductRequest;\n  type storesCatalogV3Product_universal_d_DeleteProductResponse = DeleteProductResponse;\n  type storesCatalogV3Product_universal_d_SearchProductsRequest = SearchProductsRequest;\n  type storesCatalogV3Product_universal_d_CursorSearch = CursorSearch;\n  type storesCatalogV3Product_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type storesCatalogV3Product_universal_d_Sorting = Sorting;\n  type storesCatalogV3Product_universal_d_SortOrder = SortOrder;\n  const storesCatalogV3Product_universal_d_SortOrder: typeof SortOrder;\n  type storesCatalogV3Product_universal_d_Aggregation = Aggregation;\n  type storesCatalogV3Product_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type storesCatalogV3Product_universal_d_RangeBucket = RangeBucket;\n  type storesCatalogV3Product_universal_d_SortType = SortType;\n  const storesCatalogV3Product_universal_d_SortType: typeof SortType;\n  type storesCatalogV3Product_universal_d_SortDirection = SortDirection;\n  const storesCatalogV3Product_universal_d_SortDirection: typeof SortDirection;\n  type storesCatalogV3Product_universal_d_MissingValues = MissingValues;\n  const storesCatalogV3Product_universal_d_MissingValues: typeof MissingValues;\n  type storesCatalogV3Product_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n  type storesCatalogV3Product_universal_d_ScalarType = ScalarType;\n  const storesCatalogV3Product_universal_d_ScalarType: typeof ScalarType;\n  type storesCatalogV3Product_universal_d_ValueAggregation = ValueAggregation;\n  type storesCatalogV3Product_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n  type storesCatalogV3Product_universal_d_NestedAggregationType = NestedAggregationType;\n  const storesCatalogV3Product_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type storesCatalogV3Product_universal_d_RangeAggregation = RangeAggregation;\n  type storesCatalogV3Product_universal_d_ScalarAggregation = ScalarAggregation;\n  type storesCatalogV3Product_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n  type storesCatalogV3Product_universal_d_Interval = Interval;\n  const storesCatalogV3Product_universal_d_Interval: typeof Interval;\n  type storesCatalogV3Product_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type storesCatalogV3Product_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type storesCatalogV3Product_universal_d_AggregationType = AggregationType;\n  const storesCatalogV3Product_universal_d_AggregationType: typeof AggregationType;\n  type storesCatalogV3Product_universal_d_NestedAggregation = NestedAggregation;\n  type storesCatalogV3Product_universal_d_GroupByAggregation = GroupByAggregation;\n  type storesCatalogV3Product_universal_d_GroupByAggregationKindOneOf = GroupByAggregationKindOneOf;\n  type storesCatalogV3Product_universal_d_SearchDetails = SearchDetails;\n  type storesCatalogV3Product_universal_d_Mode = Mode;\n  const storesCatalogV3Product_universal_d_Mode: typeof Mode;\n  type storesCatalogV3Product_universal_d_CursorPaging = CursorPaging;\n  type storesCatalogV3Product_universal_d_SearchProductsResponse = SearchProductsResponse;\n  type storesCatalogV3Product_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type storesCatalogV3Product_universal_d_Cursors = Cursors;\n  type storesCatalogV3Product_universal_d_AggregationData = AggregationData;\n  type storesCatalogV3Product_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type storesCatalogV3Product_universal_d_RangeAggregationResult = RangeAggregationResult;\n  type storesCatalogV3Product_universal_d_NestedAggregationResults = NestedAggregationResults;\n  type storesCatalogV3Product_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n  type storesCatalogV3Product_universal_d_ValueResults = ValueResults;\n  type storesCatalogV3Product_universal_d_RangeResults = RangeResults;\n  type storesCatalogV3Product_universal_d_ScalarResult = ScalarResult;\n  type storesCatalogV3Product_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n  type storesCatalogV3Product_universal_d_ValueResult = ValueResult;\n  type storesCatalogV3Product_universal_d_RangeResult = RangeResult;\n  type storesCatalogV3Product_universal_d_NestedResultsScalarResult = NestedResultsScalarResult;\n  type storesCatalogV3Product_universal_d_NestedResultValue = NestedResultValue;\n  type storesCatalogV3Product_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type storesCatalogV3Product_universal_d_Results = Results;\n  type storesCatalogV3Product_universal_d_DateHistogramResult = DateHistogramResult;\n  type storesCatalogV3Product_universal_d_GroupByValueResults = GroupByValueResults;\n  type storesCatalogV3Product_universal_d_DateHistogramResults = DateHistogramResults;\n  type storesCatalogV3Product_universal_d_NestedResults = NestedResults;\n  type storesCatalogV3Product_universal_d_AggregationResults = AggregationResults;\n  type storesCatalogV3Product_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type storesCatalogV3Product_universal_d_EventuallyConsistentQueryProductsRequest = EventuallyConsistentQueryProductsRequest;\n  type storesCatalogV3Product_universal_d_CursorQuery = CursorQuery;\n  type storesCatalogV3Product_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type storesCatalogV3Product_universal_d_EventuallyConsistentQueryProductsResponse = EventuallyConsistentQueryProductsResponse;\n  type storesCatalogV3Product_universal_d_DeprecatedSearchProductsWithOffsetRequest = DeprecatedSearchProductsWithOffsetRequest;\n  type storesCatalogV3Product_universal_d_PlatformOffsetSearch = PlatformOffsetSearch;\n  type storesCatalogV3Product_universal_d_PlatformOffsetSearchPagingMethodOneOf = PlatformOffsetSearchPagingMethodOneOf;\n  type storesCatalogV3Product_universal_d_PlatformPaging = PlatformPaging;\n  type storesCatalogV3Product_universal_d_DeprecatedSearchProductsWithOffsetResponse = DeprecatedSearchProductsWithOffsetResponse;\n  type storesCatalogV3Product_universal_d_PagingMetadata = PagingMetadata;\n  type storesCatalogV3Product_universal_d_CountProductsRequest = CountProductsRequest;\n  type storesCatalogV3Product_universal_d_CountProductsResponse = CountProductsResponse;\n  type storesCatalogV3Product_universal_d_DoNotCallBulkCreateProductsRequest = DoNotCallBulkCreateProductsRequest;\n  type storesCatalogV3Product_universal_d_DoNotCallBulkCreateProductsResponse = DoNotCallBulkCreateProductsResponse;\n  type storesCatalogV3Product_universal_d_DoNotCallBulkUpdateProductsRequest = DoNotCallBulkUpdateProductsRequest;\n  type storesCatalogV3Product_universal_d_MaskedProduct = MaskedProduct;\n  type storesCatalogV3Product_universal_d_DoNotCallBulkUpdateProductsResponse = DoNotCallBulkUpdateProductsResponse;\n  type storesCatalogV3Product_universal_d_BulkUpdateProductsByFilterRequest = BulkUpdateProductsByFilterRequest;\n  type storesCatalogV3Product_universal_d_BulkUpdateProductsByFilterResponse = BulkUpdateProductsByFilterResponse;\n  type storesCatalogV3Product_universal_d_BulkDeleteProductsRequest = BulkDeleteProductsRequest;\n  type storesCatalogV3Product_universal_d_BulkDeleteProductsResponse = BulkDeleteProductsResponse;\n  type storesCatalogV3Product_universal_d_BulkDeleteProductsByFilterRequest = BulkDeleteProductsByFilterRequest;\n  type storesCatalogV3Product_universal_d_BulkDeleteProductsByFilterResponse = BulkDeleteProductsByFilterResponse;\n  type storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsByFilterRequest = BulkAddInfoSectionsToProductsByFilterRequest;\n  type storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsByFilterResponse = BulkAddInfoSectionsToProductsByFilterResponse;\n  type storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsRequest = BulkAddInfoSectionsToProductsRequest;\n  type storesCatalogV3Product_universal_d_ProductIdWithRevision = ProductIdWithRevision;\n  type storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsResponse = BulkAddInfoSectionsToProductsResponse;\n  type storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsByFilterRequest = BulkRemoveInfoSectionsFromProductsByFilterRequest;\n  type storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsByFilterResponse = BulkRemoveInfoSectionsFromProductsByFilterResponse;\n  type storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsRequest = BulkRemoveInfoSectionsFromProductsRequest;\n  type storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsResponse = BulkRemoveInfoSectionsFromProductsResponse;\n  type storesCatalogV3Product_universal_d_BulkUpdateVariantsByFilterRequest = BulkUpdateVariantsByFilterRequest;\n  type storesCatalogV3Product_universal_d_BulkUpdateVariantsByFilterResponse = BulkUpdateVariantsByFilterResponse;\n  type storesCatalogV3Product_universal_d_BulkAdjustVariantsByFilterRequest = BulkAdjustVariantsByFilterRequest;\n  type storesCatalogV3Product_universal_d_AdjustValue = AdjustValue;\n  type storesCatalogV3Product_universal_d_AdjustValueAdjustValueOneOf = AdjustValueAdjustValueOneOf;\n  type storesCatalogV3Product_universal_d_UnsignedAdjustValue = UnsignedAdjustValue;\n  type storesCatalogV3Product_universal_d_UnsignedAdjustValueAdjustValueOneOf = UnsignedAdjustValueAdjustValueOneOf;\n  type storesCatalogV3Product_universal_d_BulkAdjustVariantsByFilterResponse = BulkAdjustVariantsByFilterResponse;\n  const storesCatalogV3Product_universal_d_catalogCreateProduct: typeof catalogCreateProduct;\n  type storesCatalogV3Product_universal_d_CatalogCreateProductOptions = CatalogCreateProductOptions;\n  const storesCatalogV3Product_universal_d_catalogUpdateProduct: typeof catalogUpdateProduct;\n  type storesCatalogV3Product_universal_d_CatalogUpdateProduct = CatalogUpdateProduct;\n  type storesCatalogV3Product_universal_d_CatalogUpdateProductOptions = CatalogUpdateProductOptions;\n  const storesCatalogV3Product_universal_d_catalogBulkCreateProducts: typeof catalogBulkCreateProducts;\n  type storesCatalogV3Product_universal_d_CatalogBulkCreateProductsOptions = CatalogBulkCreateProductsOptions;\n  const storesCatalogV3Product_universal_d_catalogBulkUpdateProducts: typeof catalogBulkUpdateProducts;\n  type storesCatalogV3Product_universal_d_CatalogBulkUpdateProductsOptions = CatalogBulkUpdateProductsOptions;\n  const storesCatalogV3Product_universal_d_getProduct: typeof getProduct;\n  type storesCatalogV3Product_universal_d_GetProductOptions = GetProductOptions;\n  const storesCatalogV3Product_universal_d_getProductBySlug: typeof getProductBySlug;\n  type storesCatalogV3Product_universal_d_GetProductBySlugOptions = GetProductBySlugOptions;\n  const storesCatalogV3Product_universal_d_deleteProduct: typeof deleteProduct;\n  const storesCatalogV3Product_universal_d_searchProducts: typeof searchProducts;\n  type storesCatalogV3Product_universal_d_SearchProductsOptions = SearchProductsOptions;\n  const storesCatalogV3Product_universal_d_eventuallyConsistentQueryProducts: typeof eventuallyConsistentQueryProducts;\n  type storesCatalogV3Product_universal_d_EventuallyConsistentQueryProductsOptions = EventuallyConsistentQueryProductsOptions;\n  type storesCatalogV3Product_universal_d_ProductsQueryResult = ProductsQueryResult;\n  type storesCatalogV3Product_universal_d_ProductsQueryBuilder = ProductsQueryBuilder;\n  const storesCatalogV3Product_universal_d_countProducts: typeof countProducts;\n  type storesCatalogV3Product_universal_d_CountProductsOptions = CountProductsOptions;\n  const storesCatalogV3Product_universal_d_bulkUpdateProductsByFilter: typeof bulkUpdateProductsByFilter;\n  type storesCatalogV3Product_universal_d_BulkUpdateProductsByFilterOptions = BulkUpdateProductsByFilterOptions;\n  const storesCatalogV3Product_universal_d_bulkDeleteProducts: typeof bulkDeleteProducts;\n  const storesCatalogV3Product_universal_d_bulkDeleteProductsByFilter: typeof bulkDeleteProductsByFilter;\n  const storesCatalogV3Product_universal_d_bulkAddInfoSectionsToProductsByFilter: typeof bulkAddInfoSectionsToProductsByFilter;\n  type storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsByFilterOptions = BulkAddInfoSectionsToProductsByFilterOptions;\n  const storesCatalogV3Product_universal_d_bulkAddInfoSectionsToProducts: typeof bulkAddInfoSectionsToProducts;\n  type storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsOptions = BulkAddInfoSectionsToProductsOptions;\n  const storesCatalogV3Product_universal_d_bulkRemoveInfoSectionsFromProductsByFilter: typeof bulkRemoveInfoSectionsFromProductsByFilter;\n  type storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsByFilterOptions = BulkRemoveInfoSectionsFromProductsByFilterOptions;\n  const storesCatalogV3Product_universal_d_bulkRemoveInfoSectionsFromProducts: typeof bulkRemoveInfoSectionsFromProducts;\n  type storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsOptions = BulkRemoveInfoSectionsFromProductsOptions;\n  const storesCatalogV3Product_universal_d_bulkUpdateVariantsByFilter: typeof bulkUpdateVariantsByFilter;\n  type storesCatalogV3Product_universal_d_BulkUpdateVariantsByFilterOptions = BulkUpdateVariantsByFilterOptions;\n  const storesCatalogV3Product_universal_d_bulkAdjustVariantsByFilter: typeof bulkAdjustVariantsByFilter;\n  type storesCatalogV3Product_universal_d_BulkAdjustVariantsByFilterOptions = BulkAdjustVariantsByFilterOptions;\n  namespace storesCatalogV3Product_universal_d {\n    export {\n      storesCatalogV3Product_universal_d___debug as __debug,\n      storesCatalogV3Product_universal_d_Product as Product,\n      storesCatalogV3Product_universal_d_ProductTypedPropertiesOneOf as ProductTypedPropertiesOneOf,\n      storesCatalogV3Product_universal_d_RichContent as RichContent,\n      storesCatalogV3Product_universal_d_Node as Node,\n      storesCatalogV3Product_universal_d_NodeDataOneOf as NodeDataOneOf,\n      storesCatalogV3Product_universal_d_NodeType as NodeType,\n      storesCatalogV3Product_universal_d_NodeStyle as NodeStyle,\n      storesCatalogV3Product_universal_d_ButtonData as ButtonData,\n      storesCatalogV3Product_universal_d_Border as Border,\n      storesCatalogV3Product_universal_d_Colors as Colors,\n      storesCatalogV3Product_universal_d_PluginContainerData as PluginContainerData,\n      storesCatalogV3Product_universal_d_WidthType as WidthType,\n      storesCatalogV3Product_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      storesCatalogV3Product_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      storesCatalogV3Product_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      storesCatalogV3Product_universal_d_Spoiler as Spoiler,\n      storesCatalogV3Product_universal_d_Height as Height,\n      storesCatalogV3Product_universal_d_Type as Type,\n      storesCatalogV3Product_universal_d_Styles as Styles,\n      storesCatalogV3Product_universal_d_Link as Link,\n      storesCatalogV3Product_universal_d_LinkDataOneOf as LinkDataOneOf,\n      storesCatalogV3Product_universal_d_Target as Target,\n      storesCatalogV3Product_universal_d_Rel as Rel,\n      storesCatalogV3Product_universal_d_CodeBlockData as CodeBlockData,\n      storesCatalogV3Product_universal_d_TextStyle as TextStyle,\n      storesCatalogV3Product_universal_d_TextAlignment as TextAlignment,\n      storesCatalogV3Product_universal_d_DividerData as DividerData,\n      storesCatalogV3Product_universal_d_LineStyle as LineStyle,\n      storesCatalogV3Product_universal_d_Width as Width,\n      storesCatalogV3Product_universal_d_Alignment as Alignment,\n      storesCatalogV3Product_universal_d_FileData as FileData,\n      storesCatalogV3Product_universal_d_ViewMode as ViewMode,\n      storesCatalogV3Product_universal_d_FileSource as FileSource,\n      storesCatalogV3Product_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      storesCatalogV3Product_universal_d_PDFSettings as PDFSettings,\n      storesCatalogV3Product_universal_d_GalleryData as GalleryData,\n      storesCatalogV3Product_universal_d_V1Media as V1Media,\n      storesCatalogV3Product_universal_d_Image as Image,\n      storesCatalogV3Product_universal_d_Video as Video,\n      storesCatalogV3Product_universal_d_Item as Item,\n      storesCatalogV3Product_universal_d_ItemDataOneOf as ItemDataOneOf,\n      storesCatalogV3Product_universal_d_GalleryOptions as GalleryOptions,\n      storesCatalogV3Product_universal_d_LayoutType as LayoutType,\n      storesCatalogV3Product_universal_d_Orientation as Orientation,\n      storesCatalogV3Product_universal_d_Crop as Crop,\n      storesCatalogV3Product_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      storesCatalogV3Product_universal_d_Layout as Layout,\n      storesCatalogV3Product_universal_d_ItemStyle as ItemStyle,\n      storesCatalogV3Product_universal_d_Thumbnails as Thumbnails,\n      storesCatalogV3Product_universal_d_GIFData as GIFData,\n      storesCatalogV3Product_universal_d_GIF as GIF,\n      storesCatalogV3Product_universal_d_HeadingData as HeadingData,\n      storesCatalogV3Product_universal_d_HTMLData as HTMLData,\n      storesCatalogV3Product_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      storesCatalogV3Product_universal_d_Source as Source,\n      storesCatalogV3Product_universal_d_ImageData as ImageData,\n      storesCatalogV3Product_universal_d_LinkPreviewData as LinkPreviewData,\n      storesCatalogV3Product_universal_d_MapData as MapData,\n      storesCatalogV3Product_universal_d_MapSettings as MapSettings,\n      storesCatalogV3Product_universal_d_MapType as MapType,\n      storesCatalogV3Product_universal_d_ParagraphData as ParagraphData,\n      storesCatalogV3Product_universal_d_PollData as PollData,\n      storesCatalogV3Product_universal_d_ViewRole as ViewRole,\n      storesCatalogV3Product_universal_d_VoteRole as VoteRole,\n      storesCatalogV3Product_universal_d_Permissions as Permissions,\n      storesCatalogV3Product_universal_d_Option as Option,\n      storesCatalogV3Product_universal_d_PollSettings as PollSettings,\n      storesCatalogV3Product_universal_d_PollLayoutType as PollLayoutType,\n      storesCatalogV3Product_universal_d_PollLayoutDirection as PollLayoutDirection,\n      storesCatalogV3Product_universal_d_PollLayout as PollLayout,\n      storesCatalogV3Product_universal_d_OptionLayout as OptionLayout,\n      storesCatalogV3Product_universal_d_BackgroundType as BackgroundType,\n      storesCatalogV3Product_universal_d_Gradient as Gradient,\n      storesCatalogV3Product_universal_d_Background as Background,\n      storesCatalogV3Product_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      storesCatalogV3Product_universal_d_PollDesign as PollDesign,\n      storesCatalogV3Product_universal_d_OptionDesign as OptionDesign,\n      storesCatalogV3Product_universal_d_Poll as Poll,\n      storesCatalogV3Product_universal_d_PollDataLayout as PollDataLayout,\n      storesCatalogV3Product_universal_d_Design as Design,\n      storesCatalogV3Product_universal_d_TextData as TextData,\n      storesCatalogV3Product_universal_d_Decoration as Decoration,\n      storesCatalogV3Product_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      storesCatalogV3Product_universal_d_DecorationType as DecorationType,\n      storesCatalogV3Product_universal_d_AnchorData as AnchorData,\n      storesCatalogV3Product_universal_d_ColorData as ColorData,\n      storesCatalogV3Product_universal_d_LinkData as LinkData,\n      storesCatalogV3Product_universal_d_MentionData as MentionData,\n      storesCatalogV3Product_universal_d_FontSizeData as FontSizeData,\n      storesCatalogV3Product_universal_d_FontType as FontType,\n      storesCatalogV3Product_universal_d_AppEmbedData as AppEmbedData,\n      storesCatalogV3Product_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      storesCatalogV3Product_universal_d_AppType as AppType,\n      storesCatalogV3Product_universal_d_BookingData as BookingData,\n      storesCatalogV3Product_universal_d_EventData as EventData,\n      storesCatalogV3Product_universal_d_VideoData as VideoData,\n      storesCatalogV3Product_universal_d_PlaybackOptions as PlaybackOptions,\n      storesCatalogV3Product_universal_d_EmbedData as EmbedData,\n      storesCatalogV3Product_universal_d_Oembed as Oembed,\n      storesCatalogV3Product_universal_d_CollapsibleListData as CollapsibleListData,\n      storesCatalogV3Product_universal_d_InitialExpandedItems as InitialExpandedItems,\n      storesCatalogV3Product_universal_d_Direction as Direction,\n      storesCatalogV3Product_universal_d_TableData as TableData,\n      storesCatalogV3Product_universal_d_Dimensions as Dimensions,\n      storesCatalogV3Product_universal_d_TableCellData as TableCellData,\n      storesCatalogV3Product_universal_d_VerticalAlignment as VerticalAlignment,\n      storesCatalogV3Product_universal_d_CellStyle as CellStyle,\n      storesCatalogV3Product_universal_d_BorderColors as BorderColors,\n      storesCatalogV3Product_universal_d_NullValue as NullValue,\n      storesCatalogV3Product_universal_d_ListValue as ListValue,\n      storesCatalogV3Product_universal_d_AudioData as AudioData,\n      storesCatalogV3Product_universal_d_OrderedListData as OrderedListData,\n      storesCatalogV3Product_universal_d_BulletedListData as BulletedListData,\n      storesCatalogV3Product_universal_d_BlockquoteData as BlockquoteData,\n      storesCatalogV3Product_universal_d_Metadata as Metadata,\n      storesCatalogV3Product_universal_d_DocumentStyle as DocumentStyle,\n      storesCatalogV3Product_universal_d_TextNodeStyle as TextNodeStyle,\n      storesCatalogV3Product_universal_d_Media as Media,\n      storesCatalogV3Product_universal_d_ProductMedia as ProductMedia,\n      storesCatalogV3Product_universal_d_ProductMediaSetByOneOf as ProductMediaSetByOneOf,\n      storesCatalogV3Product_universal_d_ProductMediaMediaOneOf as ProductMediaMediaOneOf,\n      storesCatalogV3Product_universal_d_VideoResolution as VideoResolution,\n      storesCatalogV3Product_universal_d_SeoSchema as SeoSchema,\n      storesCatalogV3Product_universal_d_Keyword as Keyword,\n      storesCatalogV3Product_universal_d_Tag as Tag,\n      storesCatalogV3Product_universal_d_Settings as Settings,\n      storesCatalogV3Product_universal_d_CustomText as CustomText,\n      storesCatalogV3Product_universal_d_ConnectedOption as ConnectedOption,\n      storesCatalogV3Product_universal_d_ConnectedOptionOptionSettingsOneOf as ConnectedOptionOptionSettingsOneOf,\n      storesCatalogV3Product_universal_d_OptionSettingsType as OptionSettingsType,\n      storesCatalogV3Product_universal_d_TextChoicesSettings as TextChoicesSettings,\n      storesCatalogV3Product_universal_d_ConnectedChoice as ConnectedChoice,\n      storesCatalogV3Product_universal_d_ConnectedChoiceValueOneOf as ConnectedChoiceValueOneOf,\n      storesCatalogV3Product_universal_d_ChoiceType as ChoiceType,\n      storesCatalogV3Product_universal_d_MultipleColors as MultipleColors,\n      storesCatalogV3Product_universal_d_SwatchChoicesSettings as SwatchChoicesSettings,\n      storesCatalogV3Product_universal_d_ConnectedModifier as ConnectedModifier,\n      storesCatalogV3Product_universal_d_ConnectedModifierOptionSettingsOneOf as ConnectedModifierOptionSettingsOneOf,\n      storesCatalogV3Product_universal_d_FreeTextSettings as FreeTextSettings,\n      storesCatalogV3Product_universal_d_Brand as Brand,\n      storesCatalogV3Product_universal_d_InfoSection as InfoSection,\n      storesCatalogV3Product_universal_d_SubscriptionOptionInfo as SubscriptionOptionInfo,\n      storesCatalogV3Product_universal_d_SubscriptionSettings as SubscriptionSettings,\n      storesCatalogV3Product_universal_d_SubscriptionFrequency as SubscriptionFrequency,\n      storesCatalogV3Product_universal_d_Discount as Discount,\n      storesCatalogV3Product_universal_d_DiscountType as DiscountType,\n      storesCatalogV3Product_universal_d_Customization as Customization,\n      storesCatalogV3Product_universal_d_CustomizationValueOneOf as CustomizationValueOneOf,\n      storesCatalogV3Product_universal_d_CustomizationType as CustomizationType,\n      storesCatalogV3Product_universal_d_TextInputValue as TextInputValue,\n      storesCatalogV3Product_universal_d_Ribbon as Ribbon,\n      storesCatalogV3Product_universal_d_ProductCategory as ProductCategory,\n      storesCatalogV3Product_universal_d_BreadCrumb as BreadCrumb,\n      storesCatalogV3Product_universal_d_PriceRange as PriceRange,\n      storesCatalogV3Product_universal_d_FixedMonetaryAmount as FixedMonetaryAmount,\n      storesCatalogV3Product_universal_d_Inventory as Inventory,\n      storesCatalogV3Product_universal_d_PurchaseAvailabilityStatus as PurchaseAvailabilityStatus,\n      storesCatalogV3Product_universal_d_PreorderStatus as PreorderStatus,\n      storesCatalogV3Product_universal_d_ProductType as ProductType,\n      storesCatalogV3Product_universal_d_PhysicalProperties as PhysicalProperties,\n      storesCatalogV3Product_universal_d_PricePerUnitSettings as PricePerUnitSettings,\n      storesCatalogV3Product_universal_d_MeasurementUnit as MeasurementUnit,\n      storesCatalogV3Product_universal_d_WeightRange as WeightRange,\n      storesCatalogV3Product_universal_d_Variant as Variant,\n      storesCatalogV3Product_universal_d_VariantTypedPropertiesOneOf as VariantTypedPropertiesOneOf,\n      storesCatalogV3Product_universal_d_OptionChoice as OptionChoice,\n      storesCatalogV3Product_universal_d_PriceInfo as PriceInfo,\n      storesCatalogV3Product_universal_d_RevenueDetails as RevenueDetails,\n      storesCatalogV3Product_universal_d_VariantPhysicalProperties as VariantPhysicalProperties,\n      storesCatalogV3Product_universal_d_PricePerUnit as PricePerUnit,\n      storesCatalogV3Product_universal_d_VariantDigitalProperties as VariantDigitalProperties,\n      storesCatalogV3Product_universal_d_SecuredMedia as SecuredMedia,\n      storesCatalogV3Product_universal_d_FileType as FileType,\n      storesCatalogV3Product_universal_d_SubscriptionPlanPrice as SubscriptionPlanPrice,\n      storesCatalogV3Product_universal_d_ExtendedFields as ExtendedFields,\n      storesCatalogV3Product_universal_d_Subscription as Subscription,\n      storesCatalogV3Product_universal_d_SubscriptionPlan as SubscriptionPlan,\n      storesCatalogV3Product_universal_d_V3SubscriptionSettings as V3SubscriptionSettings,\n      storesCatalogV3Product_universal_d_V3SubscriptionSettingsCyclesOneOf as V3SubscriptionSettingsCyclesOneOf,\n      storesCatalogV3Product_universal_d_SubscriptionPlanDiscount as SubscriptionPlanDiscount,\n      storesCatalogV3Product_universal_d_SubscriptionPlanDiscountDiscountOneOf as SubscriptionPlanDiscountDiscountOneOf,\n      storesCatalogV3Product_universal_d_SubscriptionPlanDiscountDiscountType as SubscriptionPlanDiscountDiscountType,\n      storesCatalogV3Product_universal_d_UpdateDocumentsEvent as UpdateDocumentsEvent,\n      storesCatalogV3Product_universal_d_UpdateDocumentsEventOperationOneOf as UpdateDocumentsEventOperationOneOf,\n      storesCatalogV3Product_universal_d_DocumentUpdateOperation as DocumentUpdateOperation,\n      storesCatalogV3Product_universal_d_IndexDocument as IndexDocument,\n      storesCatalogV3Product_universal_d_DocumentPayload as DocumentPayload,\n      storesCatalogV3Product_universal_d_DocumentImage as DocumentImage,\n      storesCatalogV3Product_universal_d_Enum as Enum,\n      storesCatalogV3Product_universal_d_DeleteByIdsOperation as DeleteByIdsOperation,\n      storesCatalogV3Product_universal_d_DeleteByFilterOperation as DeleteByFilterOperation,\n      storesCatalogV3Product_universal_d_UpdateByFilterOperation as UpdateByFilterOperation,\n      storesCatalogV3Product_universal_d_UpdateExistingOperation as UpdateExistingOperation,\n      storesCatalogV3Product_universal_d_DomainEvent as DomainEvent,\n      storesCatalogV3Product_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      storesCatalogV3Product_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      storesCatalogV3Product_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      storesCatalogV3Product_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      storesCatalogV3Product_universal_d_ActionEvent as ActionEvent,\n      storesCatalogV3Product_universal_d_Empty as Empty,\n      storesCatalogV3Product_universal_d_SearchIndexingNotification as SearchIndexingNotification,\n      storesCatalogV3Product_universal_d_State as State,\n      storesCatalogV3Product_universal_d_CreateProductRequest as CreateProductRequest,\n      storesCatalogV3Product_universal_d_ProductComposite as ProductComposite,\n      storesCatalogV3Product_universal_d_ProductCompositeTypedPropertiesOneOf as ProductCompositeTypedPropertiesOneOf,\n      storesCatalogV3Product_universal_d_VariantComposite as VariantComposite,\n      storesCatalogV3Product_universal_d_VariantCompositeTypedPropertiesOneOf as VariantCompositeTypedPropertiesOneOf,\n      storesCatalogV3Product_universal_d_InventoryItemComposite as InventoryItemComposite,\n      storesCatalogV3Product_universal_d_InventoryItemCompositeTrackingMethodOneOf as InventoryItemCompositeTrackingMethodOneOf,\n      storesCatalogV3Product_universal_d_PreorderInfo as PreorderInfo,\n      storesCatalogV3Product_universal_d_OptionChoiceReferences as OptionChoiceReferences,\n      storesCatalogV3Product_universal_d_RequestedFields as RequestedFields,\n      storesCatalogV3Product_universal_d_CreateProductResponse as CreateProductResponse,\n      storesCatalogV3Product_universal_d_BulkInventoryItemResults as BulkInventoryItemResults,\n      storesCatalogV3Product_universal_d_BulkInventoryItemResult as BulkInventoryItemResult,\n      storesCatalogV3Product_universal_d_ItemMetadata as ItemMetadata,\n      storesCatalogV3Product_universal_d_ApplicationError as ApplicationError,\n      storesCatalogV3Product_universal_d_InventoryItem as InventoryItem,\n      storesCatalogV3Product_universal_d_InventoryItemTrackingMethodOneOf as InventoryItemTrackingMethodOneOf,\n      storesCatalogV3Product_universal_d_ItemAvailability as ItemAvailability,\n      storesCatalogV3Product_universal_d_AvailabilityStatus as AvailabilityStatus,\n      storesCatalogV3Product_universal_d_BulkActionMetadata as BulkActionMetadata,\n      storesCatalogV3Product_universal_d_VariantsNotAlignedWithProduct as VariantsNotAlignedWithProduct,\n      storesCatalogV3Product_universal_d_VariantNotAlignedWithProduct as VariantNotAlignedWithProduct,\n      storesCatalogV3Product_universal_d_VariantBulkErrors as VariantBulkErrors,\n      storesCatalogV3Product_universal_d_InventoryBulkErrors as InventoryBulkErrors,\n      storesCatalogV3Product_universal_d_UpdateProductRequest as UpdateProductRequest,\n      storesCatalogV3Product_universal_d_UpdateProductResponse as UpdateProductResponse,\n      storesCatalogV3Product_universal_d_UnsupportedFieldMasks as UnsupportedFieldMasks,\n      storesCatalogV3Product_universal_d_BulkCreateProductsRequest as BulkCreateProductsRequest,\n      storesCatalogV3Product_universal_d_BulkCreateProductsResponse as BulkCreateProductsResponse,\n      storesCatalogV3Product_universal_d_BulkProductResults as BulkProductResults,\n      storesCatalogV3Product_universal_d_BulkProductResult as BulkProductResult,\n      storesCatalogV3Product_universal_d_BulkUpdateProductsRequest as BulkUpdateProductsRequest,\n      storesCatalogV3Product_universal_d_MaskedProductComposite as MaskedProductComposite,\n      storesCatalogV3Product_universal_d_BulkUpdateProductsResponse as BulkUpdateProductsResponse,\n      storesCatalogV3Product_universal_d_InvalidateCache as InvalidateCache,\n      storesCatalogV3Product_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      storesCatalogV3Product_universal_d_App as App,\n      storesCatalogV3Product_universal_d_Page as Page,\n      storesCatalogV3Product_universal_d_URI as URI,\n      storesCatalogV3Product_universal_d_DoNotCallCreateProductRequest as DoNotCallCreateProductRequest,\n      storesCatalogV3Product_universal_d_DoNotCallCreateProductResponse as DoNotCallCreateProductResponse,\n      storesCatalogV3Product_universal_d_VariantAdded as VariantAdded,\n      storesCatalogV3Product_universal_d_GetProductRequest as GetProductRequest,\n      storesCatalogV3Product_universal_d_GetProductResponse as GetProductResponse,\n      storesCatalogV3Product_universal_d_GetProductBySlugRequest as GetProductBySlugRequest,\n      storesCatalogV3Product_universal_d_GetProductBySlugResponse as GetProductBySlugResponse,\n      storesCatalogV3Product_universal_d_DoNotCallUpdateProductRequest as DoNotCallUpdateProductRequest,\n      storesCatalogV3Product_universal_d_DoNotCallUpdateProductResponse as DoNotCallUpdateProductResponse,\n      storesCatalogV3Product_universal_d_VariantUpdated as VariantUpdated,\n      storesCatalogV3Product_universal_d_VariantRemoved as VariantRemoved,\n      storesCatalogV3Product_universal_d_DeleteProductRequest as DeleteProductRequest,\n      storesCatalogV3Product_universal_d_DeleteProductResponse as DeleteProductResponse,\n      storesCatalogV3Product_universal_d_SearchProductsRequest as SearchProductsRequest,\n      storesCatalogV3Product_universal_d_CursorSearch as CursorSearch,\n      storesCatalogV3Product_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      storesCatalogV3Product_universal_d_Sorting as Sorting,\n      storesCatalogV3Product_universal_d_SortOrder as SortOrder,\n      storesCatalogV3Product_universal_d_Aggregation as Aggregation,\n      storesCatalogV3Product_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      storesCatalogV3Product_universal_d_RangeBucket as RangeBucket,\n      storesCatalogV3Product_universal_d_SortType as SortType,\n      storesCatalogV3Product_universal_d_SortDirection as SortDirection,\n      storesCatalogV3Product_universal_d_MissingValues as MissingValues,\n      storesCatalogV3Product_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions,\n      storesCatalogV3Product_universal_d_ScalarType as ScalarType,\n      storesCatalogV3Product_universal_d_ValueAggregation as ValueAggregation,\n      storesCatalogV3Product_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf,\n      storesCatalogV3Product_universal_d_NestedAggregationType as NestedAggregationType,\n      storesCatalogV3Product_universal_d_RangeAggregation as RangeAggregation,\n      storesCatalogV3Product_universal_d_ScalarAggregation as ScalarAggregation,\n      storesCatalogV3Product_universal_d_DateHistogramAggregation as DateHistogramAggregation,\n      storesCatalogV3Product_universal_d_Interval as Interval,\n      storesCatalogV3Product_universal_d_NestedAggregationItem as NestedAggregationItem,\n      storesCatalogV3Product_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      storesCatalogV3Product_universal_d_AggregationType as AggregationType,\n      storesCatalogV3Product_universal_d_NestedAggregation as NestedAggregation,\n      storesCatalogV3Product_universal_d_GroupByAggregation as GroupByAggregation,\n      storesCatalogV3Product_universal_d_GroupByAggregationKindOneOf as GroupByAggregationKindOneOf,\n      storesCatalogV3Product_universal_d_SearchDetails as SearchDetails,\n      storesCatalogV3Product_universal_d_Mode as Mode,\n      storesCatalogV3Product_universal_d_CursorPaging as CursorPaging,\n      storesCatalogV3Product_universal_d_SearchProductsResponse as SearchProductsResponse,\n      storesCatalogV3Product_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      storesCatalogV3Product_universal_d_Cursors as Cursors,\n      storesCatalogV3Product_universal_d_AggregationData as AggregationData,\n      storesCatalogV3Product_universal_d_ValueAggregationResult as ValueAggregationResult,\n      storesCatalogV3Product_universal_d_RangeAggregationResult as RangeAggregationResult,\n      storesCatalogV3Product_universal_d_NestedAggregationResults as NestedAggregationResults,\n      storesCatalogV3Product_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,\n      storesCatalogV3Product_universal_d_ValueResults as ValueResults,\n      storesCatalogV3Product_universal_d_RangeResults as RangeResults,\n      storesCatalogV3Product_universal_d_ScalarResult as ScalarResult,\n      storesCatalogV3Product_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,\n      storesCatalogV3Product_universal_d_ValueResult as ValueResult,\n      storesCatalogV3Product_universal_d_RangeResult as RangeResult,\n      storesCatalogV3Product_universal_d_NestedResultsScalarResult as NestedResultsScalarResult,\n      storesCatalogV3Product_universal_d_NestedResultValue as NestedResultValue,\n      storesCatalogV3Product_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      storesCatalogV3Product_universal_d_Results as Results,\n      storesCatalogV3Product_universal_d_DateHistogramResult as DateHistogramResult,\n      storesCatalogV3Product_universal_d_GroupByValueResults as GroupByValueResults,\n      storesCatalogV3Product_universal_d_DateHistogramResults as DateHistogramResults,\n      storesCatalogV3Product_universal_d_NestedResults as NestedResults,\n      storesCatalogV3Product_universal_d_AggregationResults as AggregationResults,\n      storesCatalogV3Product_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      storesCatalogV3Product_universal_d_EventuallyConsistentQueryProductsRequest as EventuallyConsistentQueryProductsRequest,\n      storesCatalogV3Product_universal_d_CursorQuery as CursorQuery,\n      storesCatalogV3Product_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      storesCatalogV3Product_universal_d_EventuallyConsistentQueryProductsResponse as EventuallyConsistentQueryProductsResponse,\n      storesCatalogV3Product_universal_d_DeprecatedSearchProductsWithOffsetRequest as DeprecatedSearchProductsWithOffsetRequest,\n      storesCatalogV3Product_universal_d_PlatformOffsetSearch as PlatformOffsetSearch,\n      storesCatalogV3Product_universal_d_PlatformOffsetSearchPagingMethodOneOf as PlatformOffsetSearchPagingMethodOneOf,\n      storesCatalogV3Product_universal_d_PlatformPaging as PlatformPaging,\n      storesCatalogV3Product_universal_d_DeprecatedSearchProductsWithOffsetResponse as DeprecatedSearchProductsWithOffsetResponse,\n      storesCatalogV3Product_universal_d_PagingMetadata as PagingMetadata,\n      storesCatalogV3Product_universal_d_CountProductsRequest as CountProductsRequest,\n      storesCatalogV3Product_universal_d_CountProductsResponse as CountProductsResponse,\n      storesCatalogV3Product_universal_d_DoNotCallBulkCreateProductsRequest as DoNotCallBulkCreateProductsRequest,\n      storesCatalogV3Product_universal_d_DoNotCallBulkCreateProductsResponse as DoNotCallBulkCreateProductsResponse,\n      storesCatalogV3Product_universal_d_DoNotCallBulkUpdateProductsRequest as DoNotCallBulkUpdateProductsRequest,\n      storesCatalogV3Product_universal_d_MaskedProduct as MaskedProduct,\n      storesCatalogV3Product_universal_d_DoNotCallBulkUpdateProductsResponse as DoNotCallBulkUpdateProductsResponse,\n      storesCatalogV3Product_universal_d_BulkUpdateProductsByFilterRequest as BulkUpdateProductsByFilterRequest,\n      storesCatalogV3Product_universal_d_BulkUpdateProductsByFilterResponse as BulkUpdateProductsByFilterResponse,\n      storesCatalogV3Product_universal_d_BulkDeleteProductsRequest as BulkDeleteProductsRequest,\n      storesCatalogV3Product_universal_d_BulkDeleteProductsResponse as BulkDeleteProductsResponse,\n      storesCatalogV3Product_universal_d_BulkDeleteProductsByFilterRequest as BulkDeleteProductsByFilterRequest,\n      storesCatalogV3Product_universal_d_BulkDeleteProductsByFilterResponse as BulkDeleteProductsByFilterResponse,\n      storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsByFilterRequest as BulkAddInfoSectionsToProductsByFilterRequest,\n      storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsByFilterResponse as BulkAddInfoSectionsToProductsByFilterResponse,\n      storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsRequest as BulkAddInfoSectionsToProductsRequest,\n      storesCatalogV3Product_universal_d_ProductIdWithRevision as ProductIdWithRevision,\n      storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsResponse as BulkAddInfoSectionsToProductsResponse,\n      storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsByFilterRequest as BulkRemoveInfoSectionsFromProductsByFilterRequest,\n      storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsByFilterResponse as BulkRemoveInfoSectionsFromProductsByFilterResponse,\n      storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsRequest as BulkRemoveInfoSectionsFromProductsRequest,\n      storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsResponse as BulkRemoveInfoSectionsFromProductsResponse,\n      storesCatalogV3Product_universal_d_BulkUpdateVariantsByFilterRequest as BulkUpdateVariantsByFilterRequest,\n      storesCatalogV3Product_universal_d_BulkUpdateVariantsByFilterResponse as BulkUpdateVariantsByFilterResponse,\n      storesCatalogV3Product_universal_d_BulkAdjustVariantsByFilterRequest as BulkAdjustVariantsByFilterRequest,\n      storesCatalogV3Product_universal_d_AdjustValue as AdjustValue,\n      storesCatalogV3Product_universal_d_AdjustValueAdjustValueOneOf as AdjustValueAdjustValueOneOf,\n      storesCatalogV3Product_universal_d_UnsignedAdjustValue as UnsignedAdjustValue,\n      storesCatalogV3Product_universal_d_UnsignedAdjustValueAdjustValueOneOf as UnsignedAdjustValueAdjustValueOneOf,\n      storesCatalogV3Product_universal_d_BulkAdjustVariantsByFilterResponse as BulkAdjustVariantsByFilterResponse,\n      storesCatalogV3Product_universal_d_catalogCreateProduct as catalogCreateProduct,\n      storesCatalogV3Product_universal_d_CatalogCreateProductOptions as CatalogCreateProductOptions,\n      storesCatalogV3Product_universal_d_catalogUpdateProduct as catalogUpdateProduct,\n      storesCatalogV3Product_universal_d_CatalogUpdateProduct as CatalogUpdateProduct,\n      storesCatalogV3Product_universal_d_CatalogUpdateProductOptions as CatalogUpdateProductOptions,\n      storesCatalogV3Product_universal_d_catalogBulkCreateProducts as catalogBulkCreateProducts,\n      storesCatalogV3Product_universal_d_CatalogBulkCreateProductsOptions as CatalogBulkCreateProductsOptions,\n      storesCatalogV3Product_universal_d_catalogBulkUpdateProducts as catalogBulkUpdateProducts,\n      storesCatalogV3Product_universal_d_CatalogBulkUpdateProductsOptions as CatalogBulkUpdateProductsOptions,\n      storesCatalogV3Product_universal_d_getProduct as getProduct,\n      storesCatalogV3Product_universal_d_GetProductOptions as GetProductOptions,\n      storesCatalogV3Product_universal_d_getProductBySlug as getProductBySlug,\n      storesCatalogV3Product_universal_d_GetProductBySlugOptions as GetProductBySlugOptions,\n      storesCatalogV3Product_universal_d_deleteProduct as deleteProduct,\n      storesCatalogV3Product_universal_d_searchProducts as searchProducts,\n      storesCatalogV3Product_universal_d_SearchProductsOptions as SearchProductsOptions,\n      storesCatalogV3Product_universal_d_eventuallyConsistentQueryProducts as eventuallyConsistentQueryProducts,\n      storesCatalogV3Product_universal_d_EventuallyConsistentQueryProductsOptions as EventuallyConsistentQueryProductsOptions,\n      storesCatalogV3Product_universal_d_ProductsQueryResult as ProductsQueryResult,\n      storesCatalogV3Product_universal_d_ProductsQueryBuilder as ProductsQueryBuilder,\n      storesCatalogV3Product_universal_d_countProducts as countProducts,\n      storesCatalogV3Product_universal_d_CountProductsOptions as CountProductsOptions,\n      storesCatalogV3Product_universal_d_bulkUpdateProductsByFilter as bulkUpdateProductsByFilter,\n      storesCatalogV3Product_universal_d_BulkUpdateProductsByFilterOptions as BulkUpdateProductsByFilterOptions,\n      storesCatalogV3Product_universal_d_bulkDeleteProducts as bulkDeleteProducts,\n      storesCatalogV3Product_universal_d_bulkDeleteProductsByFilter as bulkDeleteProductsByFilter,\n      storesCatalogV3Product_universal_d_bulkAddInfoSectionsToProductsByFilter as bulkAddInfoSectionsToProductsByFilter,\n      storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsByFilterOptions as BulkAddInfoSectionsToProductsByFilterOptions,\n      storesCatalogV3Product_universal_d_bulkAddInfoSectionsToProducts as bulkAddInfoSectionsToProducts,\n      storesCatalogV3Product_universal_d_BulkAddInfoSectionsToProductsOptions as BulkAddInfoSectionsToProductsOptions,\n      storesCatalogV3Product_universal_d_bulkRemoveInfoSectionsFromProductsByFilter as bulkRemoveInfoSectionsFromProductsByFilter,\n      storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsByFilterOptions as BulkRemoveInfoSectionsFromProductsByFilterOptions,\n      storesCatalogV3Product_universal_d_bulkRemoveInfoSectionsFromProducts as bulkRemoveInfoSectionsFromProducts,\n      storesCatalogV3Product_universal_d_BulkRemoveInfoSectionsFromProductsOptions as BulkRemoveInfoSectionsFromProductsOptions,\n      storesCatalogV3Product_universal_d_bulkUpdateVariantsByFilter as bulkUpdateVariantsByFilter,\n      storesCatalogV3Product_universal_d_BulkUpdateVariantsByFilterOptions as BulkUpdateVariantsByFilterOptions,\n      storesCatalogV3Product_universal_d_bulkAdjustVariantsByFilter as bulkAdjustVariantsByFilter,\n      storesCatalogV3Product_universal_d_BulkAdjustVariantsByFilterOptions as BulkAdjustVariantsByFilterOptions,\n    };\n  }\n  \n  export { storesCatalogV3Product_universal_d as product };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-validations-provider.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-validations-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetValidationViolationsRequest {\n      /** Information about the source of the request. */\n      sourceInfo?: SourceInfo;\n      /** Information to validate. */\n      validationInfo?: ValidationInfo;\n      /**\n       * Custom field data to validate.\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface SourceInfo {\n      /** Source of the request. */\n      source?: Source;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /** The stage at which the service plugin is called. */\n      stage?: Stage;\n  }\n  enum Source {\n      /** Context cannot be recognized */\n      OTHER = \"OTHER\",\n      /** Called from Ecom's Cart service */\n      CART = \"CART\",\n      /** Called from Ecom's Checkout service */\n      CHECKOUT = \"CHECKOUT\"\n  }\n  interface Stage extends StageStagesOneOf {\n      /** Supported values: */\n      checkoutStage?: CheckoutStage;\n  }\n  /** @oneof */\n  interface StageStagesOneOf {\n      /** Supported values: */\n      checkoutStage?: CheckoutStage;\n  }\n  enum CheckoutStage {\n      /** Not implemented. */\n      UNKNOWN_CHECKOUT_STAGE = \"UNKNOWN_CHECKOUT_STAGE\",\n      /** Used during the initialization of the checkout (Create Checkout). */\n      INITIALIZATION = \"INITIALIZATION\",\n      /** Used during the checkout process, such as updating or retrieving the checkout. */\n      IN_PROGRESS = \"IN_PROGRESS\",\n      /** Used during the creation of an order from the checkout. */\n      ORDER_CREATION = \"ORDER_CREATION\"\n  }\n  /** ValidationsData is the main entity of ValidationsSPI, which contains all the data required for validations */\n  interface ValidationInfo {\n      /** Buyer details. */\n      buyerDetails?: BuyerDetails;\n      /** Line items. Max: 300 line items */\n      lineItems?: LineItem[];\n      /**\n       * Applied gift card details.\n       *\n       * >**Note:** Gift cards are supported through the Wix UI, though the service plugin is not currently available. Learn more about [Wix Gift Cards](https://support.wix.com/en/article/wix-stores-setting-up-wix-gift-cards).\n       */\n      giftCard?: GiftCard;\n      /**\n       * Weight measurement unit.\n       * Default: Site's weight unit\n       */\n      weightUnit?: WeightUnit;\n      /** Price summary. */\n      priceSummary?: PriceSummary;\n      /** Billing information. */\n      billingInfo?: AddressWithContact;\n      /** Shipping address and contact details. */\n      shippingAddress?: AddressWithContact;\n      /** Shipping information. */\n      shippingInfo?: ShippingInfo;\n      /** Custom fields. */\n      customFields?: CustomFields;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount[];\n      /**\n       * References to an external app and resource associated with this checkout.\n       * Used for integration and tracking across different platforms.\n       * @internal\n       */\n      externalReference?: ExternalReference;\n  }\n  interface BuyerDetails {\n      /** Buyer's email address. */\n      email?: string | null;\n      /** Contact ID if one exists. */\n      contactId?: string | null;\n  }\n  interface LineItem {\n      /** Line item ID. */\n      _id?: string | null;\n      /**\n       * Item quantity.\n       * Min: `0`\n       * Max: `100000`\n       */\n      quantity?: number;\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. */\n      catalogReference?: CatalogReference;\n      /**\n       * Product name. For example,\n       * + Stores: `product.name`\n       * + Bookings: `service.info.name`\n       * + Events: `ticket.name`\n       */\n      productName?: ProductName;\n      /** Price of the item **after** catalog-defined discount and line item discounts. */\n      price?: MultiCurrencyPrice;\n      /** Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability. */\n      physicalProperties?: PhysicalProperties;\n      /** Item type. */\n      itemType?: ItemType;\n      /** [Subscription option](https://dev.wix.com/api/rest/wix-stores/subscription-options/introduction) information. A subscription is a product that is sold on a recurring basis. */\n      subscriptionOptionInfo?: SubscriptionOptionInfo;\n      /** Price breakdown for this line item. */\n      pricesBreakdown?: LineItemPricesData;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface ProductName {\n      /**\n       * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n       *\n       * Min: 1 character.\n       * Max: 200 characters.\n       */\n      original?: string;\n      /**\n       * Item name translated into the buyer's language.\n       *\n       * Min: 1 character.\n       * Max: 400 characters.\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface MultiCurrencyPrice {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface PhysicalProperties {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface ItemType extends ItemTypeItemTypeDataOneOf {\n      /** Preset item type. */\n      preset?: ItemTypeItemType;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf {\n      /** Preset item type. */\n      preset?: ItemTypeItemType;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  interface SubscriptionOptionInfo {\n      /** Subscription option settings. */\n      subscriptionSettings?: SubscriptionSettings;\n      /** Subscription option title. */\n      title?: Title;\n      /** Subscription option description. */\n      description?: Description;\n  }\n  interface SubscriptionSettings {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency;\n      /**\n       * Interval of recurring payment.\n       *\n       * Default: `1`.\n       * If SubscriptionFrequency is Day the minimum interval is 7\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription..\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n      /**\n       * Period until first cycle starts. If applied payNow will be 0\n       * If None => no free trial\n       * @internal\n       */\n      freeTrialPeriod?: FreeTrialPeriod;\n      /**\n       * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * Whether to generate an order each billing cycle. An order will always be generated for the first billing cycle.\n       * Default None => will behave like true\n       * @internal\n       */\n      generateOrderEachBillingCycle?: boolean | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface FreeTrialPeriod {\n      /** Frequency of priod. Values: DAY, WEEK, MONTH, YEAR */\n      frequency?: SubscriptionFrequency;\n      /** interval of period */\n      interval?: number;\n  }\n  interface Title {\n      /** Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Subscription option name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Description {\n      /** Subscription option description. */\n      original?: string;\n      /** Translated subscription option description. */\n      translated?: string | null;\n  }\n  interface LineItemPricesData {\n      /** Total price after discounts and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice;\n      /** Total price after discounts, and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails;\n      /** Total discount for all line items. */\n      totalDiscount?: MultiCurrencyPrice;\n      /** Catalog price after catalog discount and automatic discounts. */\n      price?: MultiCurrencyPrice;\n      /** Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided. */\n      priceBeforeDiscounts?: MultiCurrencyPrice;\n      /** Total price **after** catalog-defined discount and line item discounts. */\n      lineItemPrice?: MultiCurrencyPrice;\n      /** Item price **before** line item discounts and **before** catalog-defined discount. Defaults to `price` when not provided. */\n      fullPrice?: MultiCurrencyPrice;\n  }\n  interface ItemTaxFullDetails {\n      /** The portion of the total amount of this estimate that was taxable. */\n      taxableAmount?: MultiCurrencyPrice;\n      /** Calculated tax, based on `taxable_amount`. */\n      totalTax?: MultiCurrencyPrice;\n      /** Indicates whether the price already includes tax. */\n      isTaxIncluded?: boolean | null;\n      /** A detailed description of all the tax authorities applied on this item. */\n      taxBreakdown?: TaxBreakdown[];\n  }\n  interface TaxBreakdown {\n      /** The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** The amount of this line item price that was considered nontaxable. (Decimal value) */\n      nonTaxableAmount?: MultiCurrencyPrice;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value) */\n      rate?: string | null;\n      /** The amount of tax estimated for this line item. (Decimal value) */\n      taxAmount?: MultiCurrencyPrice;\n      /** The taxable amount of this line item. */\n      taxableAmount?: MultiCurrencyPrice;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** The type of the jurisdiction in which this tax detail applies. */\n      jurisdictionType?: JurisdictionType;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType {\n      /** Undefined jurisdiction type. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Country jurisdiction. */\n      COUNTRY = \"COUNTRY\",\n      /** State jurisdiction. */\n      STATE = \"STATE\",\n      /** County jurisdiction. */\n      COUNTY = \"COUNTY\",\n      /** City jurisdiction. */\n      CITY = \"CITY\",\n      /** Special jurisdiction. */\n      SPECIAL = \"SPECIAL\"\n  }\n  interface GiftCard {\n      /**\n       * Gift card ID.\n       * @deprecated\n       */\n      _id?: string;\n      /** Gift card obfuscated code. */\n      obfuscatedCode?: string;\n      /** Gift card value. */\n      amount?: MultiCurrencyPrice;\n      /** App ID of the gift card provider. */\n      appId?: string;\n  }\n  enum WeightUnit {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface PriceSummary {\n      /** Subtotal of all line items, before discounts and before tax. */\n      subtotal?: MultiCurrencyPrice;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: MultiCurrencyPrice;\n      /** Total tax. */\n      tax?: MultiCurrencyPrice;\n      /** Total calculated discount value. */\n      discount?: MultiCurrencyPrice;\n      /** Total price **after** discounts, gift cards, and tax. */\n      total?: MultiCurrencyPrice;\n      /** Total additional fees price **before** tax. */\n      additionalFees?: MultiCurrencyPrice;\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact {\n      /** Address. */\n      address?: Address;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails;\n  }\n  /** Physical address */\n  interface Address {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId;\n  }\n  interface VatId {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType;\n  }\n  /** tax info types */\n  enum VatType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface ShippingInfo {\n      /** Selected option out of the options allowed for the `region`. */\n      selectedCarrierServiceOption?: SelectedCarrierServiceOption;\n  }\n  interface SelectedCarrierServiceOption {\n      /** Unique identifier of selected option. For example, `usps_std_overnight`. */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       */\n      title?: string;\n      /** Shipping costs. */\n      cost?: SelectedCarrierServiceOptionPrices;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface SelectedCarrierServiceOptionPrices {\n      /** Total shipping price, after discount and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice;\n      /** Total price of shipping after discounts (when relevant), and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails;\n      /** Shipping discount before tax. */\n      totalDiscount?: MultiCurrencyPrice;\n      /** Shipping price before discount and before tax. */\n      price?: MultiCurrencyPrice;\n  }\n  interface DeliveryAllocation {\n      /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n      deliveryCarrier?: Carrier;\n      /** The delivery region that are relevant for this delivery solution. */\n      deliveryRegion?: Region;\n      /** Populated if the delivery solution is a partially supplied by this carrier. */\n      applicableLineItems?: ApplicableLineItems;\n  }\n  interface Carrier {\n      /** The carrier app id */\n      appId?: string | null;\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n  }\n  interface Region {\n      /** The delivery region id. */\n      _id?: string | null;\n      /** The delivery region name. */\n      name?: string | null;\n  }\n  interface ApplicableLineItems {\n      /** Line items that the delivery solution is for. */\n      lineItemIds?: string[];\n  }\n  interface CustomFields {\n      /** List of custom fields */\n      fields?: CustomField[];\n  }\n  interface CustomField {\n      /** Custom field value. */\n      value?: any;\n      /** Custom field title. */\n      title?: string;\n      /** Translated custom field title. */\n      translatedTitle?: string | null;\n  }\n  interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n      /** Coupon details. */\n      coupon?: Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount;\n      /** Discount rule. */\n      discountRule?: DiscountRule;\n      /** Discount type. */\n      discountType?: DiscountType;\n      /** IDs of the line items the discount applies to. */\n      lineItemIds?: string[];\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf {\n      /** Coupon details. */\n      coupon?: Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount;\n      /** Discount rule. */\n      discountRule?: DiscountRule;\n  }\n  enum DiscountType {\n      /** Global discount. */\n      GLOBAL = \"GLOBAL\",\n      /** Discount for specific items. */\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      /** Shipping discount. */\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface Coupon {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon name. */\n      name?: string;\n      amount?: string;\n  }\n  interface MerchantDiscount {\n      amount?: string;\n  }\n  interface DiscountRule {\n      /** Discount rule ID. */\n      _id?: string;\n      /** Discount rule name. */\n      name?: DiscountRuleName;\n      amount?: string;\n  }\n  interface DiscountRuleName {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface ExternalReference {\n      /**\n       * ID of the app associated with the purchase flow.\n       * For example, the Wix Pay Links app ID.\n       */\n      appId?: string;\n      /**\n       * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n       * For example, a Wix Pay Link ID.\n       */\n      resourceId?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface GetValidationViolationsResponse {\n      /** List of validation violations. */\n      violations?: Violation[];\n  }\n  interface Violation {\n      /** Severity of the violation. The violations are shown on the cart and checkout pages. A warning is displayed as yellow, and allows a site visitor to proceed with caution. An error is displayed as red, and doesn't allow a site visitor to proceed with the eCommerce flow. */\n      severity?: Severity;\n      /** Target location on a checkout or cart page where the violation will be displayed. */\n      target?: Target;\n      /** Violation description. Can include rich text. Only HTTP or HTTPS links in the following format are allowed: `<a href=\"https://www.wix.com\">Click me</a>`. */\n      description?: string | null;\n  }\n  enum Severity {\n      /** The user is allowed to move forward in the flow. */\n      WARNING = \"WARNING\",\n      /**\n       * The user is blocked from moving forward in the flow.\n       * For example, if callerContext is CART - moving to checkout is blocked. if callerContext is CHECKOUT, placing an order is blocked.\n       */\n      ERROR = \"ERROR\"\n  }\n  interface Target extends TargetTargetTypeOneOf {\n      /** General (other) violation. */\n      other?: Other;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem;\n  }\n  /** @oneof */\n  interface TargetTargetTypeOneOf {\n      /** General (other) violation. */\n      other?: Other;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem;\n  }\n  /** Available locations on the webpage */\n  enum NameInOther {\n      /** Default location, in case no specific location is specified. */\n      OTHER_DEFAULT = \"OTHER_DEFAULT\",\n      /** Delivery section. */\n      DELIVERY = \"DELIVERY\"\n  }\n  /** Available locations on the line item */\n  enum NameInLineItem {\n      /** Default location, in case no specific location is specified. */\n      LINE_ITEM_DEFAULT = \"LINE_ITEM_DEFAULT\"\n  }\n  enum SuggestedFix {\n      /** No suggested fix is specified. The user should refer to the violation description to resolve the issue. */\n      UNKNOWN_SUGGESTED_FIX = \"UNKNOWN_SUGGESTED_FIX\",\n      /** The line item should be removed from the cart or checkout to resolve the violation. */\n      REMOVE_LINE_ITEM = \"REMOVE_LINE_ITEM\"\n  }\n  /** General (other) violation. */\n  interface Other {\n      /** Location on a checkout or a cart page where a general (other) violation will be displayed. */\n      name?: NameInOther;\n  }\n  /** Specific line item violation. */\n  interface TargetLineItem {\n      /** Location on a checkout or a cart page where the specific line item violation will be displayed. */\n      name?: NameInLineItem;\n      /** ID of the line item containing the violation. */\n      _id?: string | null;\n      /**\n       * Suggested fix for resolving the line item violation.\n       * @internal\n       */\n      suggestedFix?: SuggestedFix;\n  }\n  interface ValidationsSPIConfig {\n      /** Whether to validate the cart page in addition to the checkout page. Default: `false` */\n      validateInCart?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetValidationViolationsOptions {\n      /** Information about the source of the request. */\n      sourceInfo?: SourceInfo;\n      /** Information to validate. */\n      validationInfo?: ValidationInfo;\n      /**\n       * Custom field data to validate.\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields;\n  }\n  \n  export { Address, AddressLocation, AddressWithContact, ApplicableLineItems, AppliedDiscount, AppliedDiscountDiscountSourceOneOf, BusinessError, BuyerDetails, Carrier, CatalogReference, CheckoutStage, Context, Coupon, CustomField, CustomFields, DeliveryAllocation, Description, DiscountRule, DiscountRuleName, DiscountType, ExtendedFields, ExternalReference, FreeTrialPeriod, FullAddressContactDetails, GetValidationViolationsOptions, GetValidationViolationsRequest, GetValidationViolationsResponse, GiftCard, IdentificationData, IdentificationDataIdOneOf, IdentityType, ItemTaxFullDetails, ItemType, ItemTypeItemType, ItemTypeItemTypeDataOneOf, JurisdictionType, LineItem, LineItemPricesData, MerchantDiscount, MultiCurrencyPrice, NameInLineItem, NameInOther, Other, PhysicalProperties, PriceSummary, ProductName, Region, SelectedCarrierServiceOption, SelectedCarrierServiceOptionPrices, Severity, ShippingInfo, Source, SourceInfo, Stage, StageStagesOneOf, StreetAddress, SubscriptionFrequency, SubscriptionOptionInfo, SubscriptionSettings, SuggestedFix, Target, TargetLineItem, TargetTargetTypeOneOf, TaxBreakdown, Title, ValidationInfo, ValidationsSPIConfig, VatId, VatType, Violation, WeightUnit };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-stores-v3.d.ts",
      "content": "declare module \"wix-stores-v3\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Brand is the main entity of Brands that can be used for lorem ipsum dolor */\n  interface Brand {\n      /**\n       * Brand ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server.\n       * for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Brand was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Brand was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Brand name */\n      name?: string;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface CreateBrandRequest {\n      /** Brand to be created */\n      brand: Brand;\n  }\n  interface CreateBrandResponse {\n      /** The created Brand */\n      brand?: Brand;\n  }\n  interface GetBrandRequest {\n      /** Id of the Brand to retrieve */\n      brandId: string;\n  }\n  interface GetBrandResponse {\n      /** The retrieved Brand */\n      brand?: Brand;\n  }\n  interface UpdateBrandRequest {\n      /** Brand to be updated, may be partial */\n      brand: Brand;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateBrandResponse {\n      /** The updated Brand */\n      brand?: Brand;\n  }\n  interface DeleteBrandRequest {\n      /** Id of the Brand to delete */\n      brandId: string;\n  }\n  interface DeleteBrandResponse {\n  }\n  interface QueryBrandsRequest {\n      /** WQL expression */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryBrandsResponse {\n      /** The retrieved Brands */\n      brands?: Brand[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkCreateBrandsRequest {\n      /** List of brands to be created or updated. */\n      brands: Brand[];\n      /** Whether to return the full brand entity in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateBrandsResponse {\n      /** brands created by bulk action. */\n      results?: BulkBrandsResults[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkBrandsResults {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata;\n      /** Updated brand Optional - returned only if requested with `return_entity` set to `true`. */\n      item?: Brand;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateBrandsRequest {\n      /** List of brands to be updated */\n      brands: MaskedBrand[];\n      /** Whether to return the full category entity in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedBrand {\n      /** brands to be updated, may be partial */\n      brand?: Brand;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateBrandsResponse {\n      /** Updated brands */\n      results?: BulkBrandsResults[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface GetOrCreateBrandRequest {\n      /** The brand name to fetch or create if doesn't exist */\n      brandName: string;\n  }\n  interface GetOrCreateBrandResponse {\n      brand?: Brand;\n  }\n  interface BulkGetOrCreateBrandsRequest {\n      /** The brands names to fetch or create if they don't exist */\n      brandNames: string[];\n  }\n  interface BulkGetOrCreateBrandsResponse {\n      /** brands created by bulk action. */\n      results?: BulkBrandsResults[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteBrandsRequest {\n      /** IDs of brands to delete. */\n      brandIds: string[];\n  }\n  interface BulkDeleteBrandsResponse {\n      /** bulk action results */\n      results?: ItemMetadata[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Creates a new Brand\n   * @param brand - Brand to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField brand\n   * @requiredField brand.name\n   * @adminMethod\n   * @returns The created Brand\n   */\n  function createBrand(brand: Brand): Promise<Brand>;\n  /**\n   * Get a Brand by id\n   * @param brandId - Id of the Brand to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField brandId\n   * @adminMethod\n   * @returns The retrieved Brand\n   */\n  function getBrand(brandId: string): Promise<Brand>;\n  /**\n   * Update a Brand, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - Brand ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField brand\n   * @requiredField brand.revision\n   * @adminMethod\n   * @returns The updated Brand\n   */\n  function updateBrand(_id: string | null, brand: UpdateBrand, options?: UpdateBrandOptions): Promise<Brand>;\n  interface UpdateBrand {\n      /**\n       * Brand ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server.\n       * for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Brand was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Brand was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Brand name */\n      name?: string;\n  }\n  interface UpdateBrandOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Delete a Brand, the deleted brand will also be removed from any product it's assigned to\n   * @param brandId - Id of the Brand to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField brandId\n   * @adminMethod\n   */\n  function deleteBrand(brandId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryBrands(): BrandsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface BrandsQueryResult extends QueryCursorResult {\n      items: Brand[];\n      query: BrandsQueryBuilder;\n      next: () => Promise<BrandsQueryResult>;\n      prev: () => Promise<BrandsQueryResult>;\n  }\n  interface BrandsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name', value: any) => BrandsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name', value: any) => BrandsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name', value: string) => BrandsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'name', value: any[]) => BrandsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name', value: any) => BrandsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'name', value: boolean) => BrandsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'name'>) => BrandsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'name'>) => BrandsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => BrandsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => BrandsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<BrandsQueryResult>;\n  }\n  /**\n   * Creates multiple brands.\n   * @param brands - List of brands to be created or updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField brands\n   * @requiredField brands.name\n   * @adminMethod\n   */\n  function bulkCreateBrands(brands: Brand[], options?: BulkCreateBrandsOptions): Promise<BulkCreateBrandsResponse>;\n  interface BulkCreateBrandsOptions {\n      /** Whether to return the full brand entity in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Bulk updates brands\n   * @param brands - List of brands to be updated\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField brands\n   * @requiredField brands.brand._id\n   * @requiredField brands.brand.revision\n   * @adminMethod\n   */\n  function bulkUpdateBrands(brands: MaskedBrand[], options?: BulkUpdateBrandsOptions): Promise<BulkUpdateBrandsResponse>;\n  interface BulkUpdateBrandsOptions {\n      /** Whether to return the full category entity in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Fetches the brand by name, or creates it if it doesn't exist.\n   * @param brandName - The brand name to fetch or create if doesn't exist\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField brandName\n   * @adminMethod\n   */\n  function getOrCreateBrand(brandName: string): Promise<GetOrCreateBrandResponse>;\n  /**\n   * Fetches brands by name, or creates them if they doesn't exist.\n   * @param brandNames - The brands names to fetch or create if they don't exist\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField brandNames\n   * @adminMethod\n   */\n  function bulkGetOrCreateBrands(brandNames: string[]): Promise<BulkGetOrCreateBrandsResponse>;\n  /**\n   * Deletes multiple brands\n   * @param brandIds - IDs of brands to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField brandIds\n   * @adminMethod\n   */\n  function bulkDeleteBrands(brandIds: string[]): Promise<BulkDeleteBrandsResponse>;\n  \n  const storesCatalogV3Brand_universal_d___debug: typeof __debug;\n  type storesCatalogV3Brand_universal_d_Brand = Brand;\n  type storesCatalogV3Brand_universal_d_InvalidateCache = InvalidateCache;\n  type storesCatalogV3Brand_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type storesCatalogV3Brand_universal_d_App = App;\n  type storesCatalogV3Brand_universal_d_Page = Page;\n  type storesCatalogV3Brand_universal_d_URI = URI;\n  type storesCatalogV3Brand_universal_d_CreateBrandRequest = CreateBrandRequest;\n  type storesCatalogV3Brand_universal_d_CreateBrandResponse = CreateBrandResponse;\n  type storesCatalogV3Brand_universal_d_GetBrandRequest = GetBrandRequest;\n  type storesCatalogV3Brand_universal_d_GetBrandResponse = GetBrandResponse;\n  type storesCatalogV3Brand_universal_d_UpdateBrandRequest = UpdateBrandRequest;\n  type storesCatalogV3Brand_universal_d_UpdateBrandResponse = UpdateBrandResponse;\n  type storesCatalogV3Brand_universal_d_DeleteBrandRequest = DeleteBrandRequest;\n  type storesCatalogV3Brand_universal_d_DeleteBrandResponse = DeleteBrandResponse;\n  type storesCatalogV3Brand_universal_d_QueryBrandsRequest = QueryBrandsRequest;\n  type storesCatalogV3Brand_universal_d_CursorQuery = CursorQuery;\n  type storesCatalogV3Brand_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type storesCatalogV3Brand_universal_d_Sorting = Sorting;\n  type storesCatalogV3Brand_universal_d_SortOrder = SortOrder;\n  const storesCatalogV3Brand_universal_d_SortOrder: typeof SortOrder;\n  type storesCatalogV3Brand_universal_d_CursorPaging = CursorPaging;\n  type storesCatalogV3Brand_universal_d_QueryBrandsResponse = QueryBrandsResponse;\n  type storesCatalogV3Brand_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type storesCatalogV3Brand_universal_d_Cursors = Cursors;\n  type storesCatalogV3Brand_universal_d_BulkCreateBrandsRequest = BulkCreateBrandsRequest;\n  type storesCatalogV3Brand_universal_d_BulkCreateBrandsResponse = BulkCreateBrandsResponse;\n  type storesCatalogV3Brand_universal_d_BulkBrandsResults = BulkBrandsResults;\n  type storesCatalogV3Brand_universal_d_ItemMetadata = ItemMetadata;\n  type storesCatalogV3Brand_universal_d_ApplicationError = ApplicationError;\n  type storesCatalogV3Brand_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type storesCatalogV3Brand_universal_d_BulkUpdateBrandsRequest = BulkUpdateBrandsRequest;\n  type storesCatalogV3Brand_universal_d_MaskedBrand = MaskedBrand;\n  type storesCatalogV3Brand_universal_d_BulkUpdateBrandsResponse = BulkUpdateBrandsResponse;\n  type storesCatalogV3Brand_universal_d_GetOrCreateBrandRequest = GetOrCreateBrandRequest;\n  type storesCatalogV3Brand_universal_d_GetOrCreateBrandResponse = GetOrCreateBrandResponse;\n  type storesCatalogV3Brand_universal_d_BulkGetOrCreateBrandsRequest = BulkGetOrCreateBrandsRequest;\n  type storesCatalogV3Brand_universal_d_BulkGetOrCreateBrandsResponse = BulkGetOrCreateBrandsResponse;\n  type storesCatalogV3Brand_universal_d_BulkDeleteBrandsRequest = BulkDeleteBrandsRequest;\n  type storesCatalogV3Brand_universal_d_BulkDeleteBrandsResponse = BulkDeleteBrandsResponse;\n  type storesCatalogV3Brand_universal_d_DomainEvent = DomainEvent;\n  type storesCatalogV3Brand_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type storesCatalogV3Brand_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type storesCatalogV3Brand_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type storesCatalogV3Brand_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type storesCatalogV3Brand_universal_d_ActionEvent = ActionEvent;\n  type storesCatalogV3Brand_universal_d_Empty = Empty;\n  const storesCatalogV3Brand_universal_d_createBrand: typeof createBrand;\n  const storesCatalogV3Brand_universal_d_getBrand: typeof getBrand;\n  const storesCatalogV3Brand_universal_d_updateBrand: typeof updateBrand;\n  type storesCatalogV3Brand_universal_d_UpdateBrand = UpdateBrand;\n  type storesCatalogV3Brand_universal_d_UpdateBrandOptions = UpdateBrandOptions;\n  const storesCatalogV3Brand_universal_d_deleteBrand: typeof deleteBrand;\n  const storesCatalogV3Brand_universal_d_queryBrands: typeof queryBrands;\n  type storesCatalogV3Brand_universal_d_BrandsQueryResult = BrandsQueryResult;\n  type storesCatalogV3Brand_universal_d_BrandsQueryBuilder = BrandsQueryBuilder;\n  const storesCatalogV3Brand_universal_d_bulkCreateBrands: typeof bulkCreateBrands;\n  type storesCatalogV3Brand_universal_d_BulkCreateBrandsOptions = BulkCreateBrandsOptions;\n  const storesCatalogV3Brand_universal_d_bulkUpdateBrands: typeof bulkUpdateBrands;\n  type storesCatalogV3Brand_universal_d_BulkUpdateBrandsOptions = BulkUpdateBrandsOptions;\n  const storesCatalogV3Brand_universal_d_getOrCreateBrand: typeof getOrCreateBrand;\n  const storesCatalogV3Brand_universal_d_bulkGetOrCreateBrands: typeof bulkGetOrCreateBrands;\n  const storesCatalogV3Brand_universal_d_bulkDeleteBrands: typeof bulkDeleteBrands;\n  namespace storesCatalogV3Brand_universal_d {\n    export {\n      storesCatalogV3Brand_universal_d___debug as __debug,\n      storesCatalogV3Brand_universal_d_Brand as Brand,\n      storesCatalogV3Brand_universal_d_InvalidateCache as InvalidateCache,\n      storesCatalogV3Brand_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      storesCatalogV3Brand_universal_d_App as App,\n      storesCatalogV3Brand_universal_d_Page as Page,\n      storesCatalogV3Brand_universal_d_URI as URI,\n      storesCatalogV3Brand_universal_d_CreateBrandRequest as CreateBrandRequest,\n      storesCatalogV3Brand_universal_d_CreateBrandResponse as CreateBrandResponse,\n      storesCatalogV3Brand_universal_d_GetBrandRequest as GetBrandRequest,\n      storesCatalogV3Brand_universal_d_GetBrandResponse as GetBrandResponse,\n      storesCatalogV3Brand_universal_d_UpdateBrandRequest as UpdateBrandRequest,\n      storesCatalogV3Brand_universal_d_UpdateBrandResponse as UpdateBrandResponse,\n      storesCatalogV3Brand_universal_d_DeleteBrandRequest as DeleteBrandRequest,\n      storesCatalogV3Brand_universal_d_DeleteBrandResponse as DeleteBrandResponse,\n      storesCatalogV3Brand_universal_d_QueryBrandsRequest as QueryBrandsRequest,\n      storesCatalogV3Brand_universal_d_CursorQuery as CursorQuery,\n      storesCatalogV3Brand_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      storesCatalogV3Brand_universal_d_Sorting as Sorting,\n      storesCatalogV3Brand_universal_d_SortOrder as SortOrder,\n      storesCatalogV3Brand_universal_d_CursorPaging as CursorPaging,\n      storesCatalogV3Brand_universal_d_QueryBrandsResponse as QueryBrandsResponse,\n      storesCatalogV3Brand_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      storesCatalogV3Brand_universal_d_Cursors as Cursors,\n      storesCatalogV3Brand_universal_d_BulkCreateBrandsRequest as BulkCreateBrandsRequest,\n      storesCatalogV3Brand_universal_d_BulkCreateBrandsResponse as BulkCreateBrandsResponse,\n      storesCatalogV3Brand_universal_d_BulkBrandsResults as BulkBrandsResults,\n      storesCatalogV3Brand_universal_d_ItemMetadata as ItemMetadata,\n      storesCatalogV3Brand_universal_d_ApplicationError as ApplicationError,\n      storesCatalogV3Brand_universal_d_BulkActionMetadata as BulkActionMetadata,\n      storesCatalogV3Brand_universal_d_BulkUpdateBrandsRequest as BulkUpdateBrandsRequest,\n      storesCatalogV3Brand_universal_d_MaskedBrand as MaskedBrand,\n      storesCatalogV3Brand_universal_d_BulkUpdateBrandsResponse as BulkUpdateBrandsResponse,\n      storesCatalogV3Brand_universal_d_GetOrCreateBrandRequest as GetOrCreateBrandRequest,\n      storesCatalogV3Brand_universal_d_GetOrCreateBrandResponse as GetOrCreateBrandResponse,\n      storesCatalogV3Brand_universal_d_BulkGetOrCreateBrandsRequest as BulkGetOrCreateBrandsRequest,\n      storesCatalogV3Brand_universal_d_BulkGetOrCreateBrandsResponse as BulkGetOrCreateBrandsResponse,\n      storesCatalogV3Brand_universal_d_BulkDeleteBrandsRequest as BulkDeleteBrandsRequest,\n      storesCatalogV3Brand_universal_d_BulkDeleteBrandsResponse as BulkDeleteBrandsResponse,\n      storesCatalogV3Brand_universal_d_DomainEvent as DomainEvent,\n      storesCatalogV3Brand_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      storesCatalogV3Brand_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      storesCatalogV3Brand_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      storesCatalogV3Brand_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      storesCatalogV3Brand_universal_d_ActionEvent as ActionEvent,\n      storesCatalogV3Brand_universal_d_Empty as Empty,\n      storesCatalogV3Brand_universal_d_createBrand as createBrand,\n      storesCatalogV3Brand_universal_d_getBrand as getBrand,\n      storesCatalogV3Brand_universal_d_updateBrand as updateBrand,\n      storesCatalogV3Brand_universal_d_UpdateBrand as UpdateBrand,\n      storesCatalogV3Brand_universal_d_UpdateBrandOptions as UpdateBrandOptions,\n      storesCatalogV3Brand_universal_d_deleteBrand as deleteBrand,\n      storesCatalogV3Brand_universal_d_queryBrands as queryBrands,\n      storesCatalogV3Brand_universal_d_BrandsQueryResult as BrandsQueryResult,\n      storesCatalogV3Brand_universal_d_BrandsQueryBuilder as BrandsQueryBuilder,\n      storesCatalogV3Brand_universal_d_bulkCreateBrands as bulkCreateBrands,\n      storesCatalogV3Brand_universal_d_BulkCreateBrandsOptions as BulkCreateBrandsOptions,\n      storesCatalogV3Brand_universal_d_bulkUpdateBrands as bulkUpdateBrands,\n      storesCatalogV3Brand_universal_d_BulkUpdateBrandsOptions as BulkUpdateBrandsOptions,\n      storesCatalogV3Brand_universal_d_getOrCreateBrand as getOrCreateBrand,\n      storesCatalogV3Brand_universal_d_bulkGetOrCreateBrands as bulkGetOrCreateBrands,\n      storesCatalogV3Brand_universal_d_bulkDeleteBrands as bulkDeleteBrands,\n    };\n  }\n  \n  export { storesCatalogV3Brand_universal_d as brand };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-comments-filter-v1-comments-filter-provider.d.ts",
      "content": "declare module \"interfaces-comments-filter-v1-comments-filter-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface CommentFilter {\n  }\n  interface FilterCommentRequest {\n      /** Comment id, only available when comment get edited */\n      commentId?: string | null;\n      /** App id */\n      appId?: string;\n      /** Context Id */\n      contextId?: string;\n      /** Resource Id */\n      resourceId?: string;\n      /** Comment content */\n      content?: CommentContent;\n      /** Comment author */\n      author?: CommentAuthor;\n      /** Confirmation of whether the provided captcha was successfully solved during the creation or update of a comment */\n      captchaSolved?: boolean | null;\n  }\n  interface CommentContent {\n      /** @internal */\n      draftJs?: string | null;\n      /** @internal */\n      plainText?: string | null;\n      richContent?: any;\n      attachmentUrls?: string[];\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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. */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /** Deprecated: Use `image` instead. */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /** Deprecated: Use `rowHeader` and `columnHeader` instead. */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface CommentAuthor extends CommentAuthorAuthorIdOneOf {\n      userId?: string | null;\n      memberId?: string | null;\n      visitorId?: string | null;\n  }\n  /** @oneof */\n  interface CommentAuthorAuthorIdOneOf {\n      userId?: string | null;\n      memberId?: string | null;\n      visitorId?: string | null;\n  }\n  interface FilterCommentResponse {\n      /** Filter results */\n      filterStatus?: Result;\n      /** Reason */\n      reason?: string | null;\n  }\n  enum Result {\n      UNKNOWN_RESULT = \"UNKNOWN_RESULT\",\n      /** Comment gets created with status PUBLISHED. It will be visible for all site visitors */\n      APPROVED = \"APPROVED\",\n      /** Comment gets created with status PENDING. It requires manual approval be visible for other site visitors */\n      MARKED_FOR_MODERATION = \"MARKED_FOR_MODERATION\",\n      /** Site visitor won't be able to create a comment */\n      REJECTED = \"REJECTED\",\n      /** Site visitor must provide valid captchaToken during comment creation or else comment won't be created/updated */\n      CAPTCHA_REQUIRED = \"CAPTCHA_REQUIRED\"\n  }\n  interface CommentFilterProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** List of app ids for which FilterComment should be invoked */\n      supportedAppIds?: string[];\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface FilterCommentOptions {\n      /** Comment id, only available when comment get edited */\n      commentId?: string | null;\n      /** App id */\n      appId?: string;\n      /** Context Id */\n      contextId?: string;\n      /** Resource Id */\n      resourceId?: string;\n      /** Comment content */\n      content?: CommentContent;\n      /** Comment author */\n      author?: CommentAuthor;\n      /** Confirmation of whether the provided captcha was successfully solved during the creation or update of a comment */\n      captchaSolved?: boolean | null;\n  }\n  \n  export { Alignment, AlternativeUri, AnchorData, AppEmbedData, AppEmbedDataAppDataOneOf, AppType, AudioData, Background, BackgroundBackgroundOneOf, BackgroundType, BlockquoteData, BookingData, Border, BorderColors, BulletedListData, BusinessError, ButtonData, CellStyle, CodeBlockData, CollapsibleListData, ColorData, Colors, CommentAuthor, CommentAuthorAuthorIdOneOf, CommentContent, CommentFilter, CommentFilterProviderConfig, Context, Crop, Decoration, DecorationDataOneOf, DecorationType, Design, Dimensions, Direction, DividerData, DocumentStyle, EmbedData, EventData, FileData, FileSource, FileSourceDataOneOf, FilterCommentOptions, FilterCommentRequest, FilterCommentResponse, FontSizeData, FontType, GIF, GIFData, GalleryData, GalleryOptions, Gradient, HTMLData, HTMLDataDataOneOf, HeadingData, Height, IdentificationData, IdentificationDataIdOneOf, IdentityType, Image, ImageData, InitialExpandedItems, Item, ItemDataOneOf, ItemStyle, Layout, LayoutType, LineStyle, Link, LinkData, LinkDataOneOf, LinkPreviewData, ListValue, MapData, MapSettings, MapType, Media, MentionData, Metadata, Node, NodeDataOneOf, NodeStyle, NodeType, NullValue, Oembed, Option, OptionDesign, OptionLayout, OrderedListData, Orientation, PDFSettings, ParagraphData, Permissions, PlaybackOptions, PluginContainerData, PluginContainerDataAlignment, PluginContainerDataWidth, PluginContainerDataWidthDataOneOf, Poll, PollData, PollDataLayout, PollDesign, PollLayout, PollLayoutDirection, PollLayoutType, Rel, Result, Settings, Source, SpiBaseUri, Spoiler, Styles, TableCellData, TableData, Target, TextAlignment, TextData, TextNodeStyle, TextStyle, Thumbnails, ThumbnailsAlignment, Type, VerticalAlignment, Video, VideoData, ViewMode, ViewRole, VoteRole, Width, WidthType };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-scope.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-custom-scope\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface CustomScope {\n      /** The id of this scope. This should be a unique id for the implementer */\n      _id?: string;\n      /**\n       * The name of the scope, for example: \"Specific Collections, \"Specific Sizes\"\n       * Wix applications implementing this SPI should return the translation key of the scopes name,\n       * and make sure to add translations to this key the scopes SPI host\n       * External implementation should return the English name of the scope\n       */\n      nameTranslationKey?: string;\n      /**\n       * Optional - the app_id of the catalog this scope is applied on.\n       * This should be the app_id of the catalog this filter applies on, if there is one.\n       * If this scope applies on more than one catalog, or does not related to a catalog - this field can be empty\n       */\n      catalogAppId?: string | null;\n      /**\n       * Optional - additional data used in order to generate and resolve the the discount scope.\n       * If this scope represents \"specific\" items (collections, seasons, months, etc) - this should be defined with:\n       * title: a title to the selectable items (for example: \"specific collections\"),\n       * type: \"multi_select\",\n       * custom_filter_params_struct: {\"field_name\" : fieldName},\n       * where fieldName is the name of the field that will hold the selected items in the scope\n       * For example, \"Specific collections\" filter would have {\"field_name\" : \"collectionIds\"}\n       */\n      filterAdditionalData?: FilterAdditionalData;\n  }\n  /** Additional data of the scope - for the scope's query of type CATALOG_ITEM or CUSTOM_FILTER */\n  interface FilterAdditionalData {\n      /** The translated title of the list of scope items, for example: \"Specific collections\" */\n      title?: string;\n      /** The type of the additional data, for example: \"multi_select\" */\n      type?: string;\n      /**\n       * Optional - the object structure for customFilter.params (in discount scope).\n       * For example, \"Specific collections\" filter would have {\"field_name\" : \"collectionIds\"} under this filed,\n       * which will make the UI set scope.customFilter.params to { \"collectionIds\": [...]}\n       * Will be returned for scopes of type CUSTOM_FILTER only\n       */\n      customFilterParamsStruct?: Record<string, any> | null;\n  }\n  interface GetScopesRequest {\n  }\n  interface GetScopesResponse {\n      /** A list of scopes */\n      scopes?: CustomScope[];\n  }\n  interface ListScopeItemsRequest {\n      /** Id of the Scope to retrieve */\n      scopeId: string;\n      /** A list of itemIDs to filter by. If exists, the result will only include the items with the IDs passed. */\n      itemIds?: string[];\n      /** An item name to filter by. If exists, the result will only include items with name that include this string. */\n      itemName?: string | null;\n      /** Paging options to limit and skip a number of items. */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListScopeItemsResponse {\n      /** A list of the Scope Items */\n      scopeItems?: ScopeItem[];\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n  }\n  interface ScopeItem {\n      /** The ID of the the item */\n      _id?: string;\n      /** The translated name of the item */\n      name?: string;\n  }\n  interface GetAppliedScopesRequest {\n      /** A list of scope to filter the line items by */\n      scopes?: ScopeToFilterBy[];\n      /** References to the line item's origin catalog to check if included in one of the scopes provided. */\n      catalogReference?: CatalogReference[];\n  }\n  interface ScopeToFilterBy {\n      /** The ID of the the scope to filter items by */\n      scopeId?: string;\n      /** The scope's custom filter values */\n      customFilterParams?: Record<string, any> | null;\n      /** Unique identifier that will return in `AppliedItemsByScopes.identifier` to distinguish between scopes in the response */\n      identifier?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [Wix Dev Center](https://dev.wix.com/apps).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from your Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface GetAppliedScopesResponse {\n      /** A list of items and the scopes they included in */\n      appliedItemsByScopes?: AppliedItemsByScopes[];\n  }\n  interface AppliedItemsByScopes {\n      /** Id of the scope the provided items are valid for */\n      scopeId?: string;\n      /** A list of items that matches the scope */\n      catalogReferences?: CatalogReference[];\n      /** Unique identifier that was assigned in `ScopeToFilterBy.identifier` to distinguish between scopes */\n      identifier?: string | null;\n  }\n  interface CustomScopeConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ListScopeItemsOptions {\n      /** A list of itemIDs to filter by. If exists, the result will only include the items with the IDs passed. */\n      itemIds?: string[];\n      /** An item name to filter by. If exists, the result will only include items with name that include this string. */\n      itemName?: string | null;\n      /** Paging options to limit and skip a number of items. */\n      paging?: Paging;\n  }\n  interface GetAppliedScopesOptions {\n      /** A list of scope to filter the line items by */\n      scopes?: ScopeToFilterBy[];\n      /** References to the line item's origin catalog to check if included in one of the scopes provided. */\n      catalogReference?: CatalogReference[];\n  }\n  \n  export { AppliedItemsByScopes, BusinessError, CatalogReference, Context, CustomScope, CustomScopeConfig, FilterAdditionalData, GetAppliedScopesOptions, GetAppliedScopesRequest, GetAppliedScopesResponse, GetScopesRequest, GetScopesResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, ListScopeItemsOptions, ListScopeItemsRequest, ListScopeItemsResponse, Paging, ScopeItem, ScopeToFilterBy };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-notifications.v2.d.ts",
      "content": "declare module \"wix-notifications.v2\" {\n  interface Public_notification {\n      /** id */\n      _id?: string | null;\n  }\n  interface PublicNotifyRequest extends PublicNotifyRequestRecipientsFilterOneOf, PublicNotifyRequestActionTargetOneOf {\n      /** Send to site contributors */\n      toSiteContributors?: ToSiteContributors;\n      /** Send to contacts */\n      toContacts?: ToContacts;\n      /** Send to topic subscribers */\n      toTopicsSubscribers?: ToTopicsSubscribers;\n      /** an open url as an action target */\n      targetUrl?: string | null;\n      /** target_dashboard_page */\n      targetDashboardPage?: DashboardPages;\n      /** The title of the notification */\n      title?: string | null;\n      /** The body of the notification */\n      body?: string | null;\n      /** The Action of the notification */\n      action?: string | null;\n      /** The channel to which send the notification */\n      channels?: Channel[];\n  }\n  /** @oneof */\n  interface PublicNotifyRequestRecipientsFilterOneOf {\n      /** Send to site contributors */\n      toSiteContributors?: ToSiteContributors;\n      /** Send to contacts */\n      toContacts?: ToContacts;\n      /** Send to topic subscribers */\n      toTopicsSubscribers?: ToTopicsSubscribers;\n  }\n  /** @oneof */\n  interface PublicNotifyRequestActionTargetOneOf {\n      /** an open url as an action target */\n      targetUrl?: string | null;\n      /** target_dashboard_page */\n      targetDashboardPage?: DashboardPages;\n  }\n  interface ToSiteContributors {\n      /** with_role */\n      withRole?: Role;\n  }\n  enum Role {\n      /** All contributors with any role */\n      All_Contributors = \"All_Contributors\",\n      /** Only the owner */\n      Owner = \"Owner\"\n  }\n  interface ToContacts {\n      /** contact_ids */\n      contactIds?: string[];\n  }\n  interface ToTopicsSubscribers {\n      /** topics */\n      topics?: string[];\n      /** excluded_contact_ids */\n      excludedContactIds?: string[];\n  }\n  enum Channel {\n      /** No Default Channel - need to expilicitly decide on channel */\n      Undefined = \"Undefined\",\n      /** The widget inside Wix */\n      Dashboard = \"Dashboard\",\n      /** Mobile push to WixApp */\n      Mobile = \"Mobile\",\n      /** Browser push to the active browser (Chrome/Safari only) */\n      Browser = \"Browser\"\n  }\n  enum DashboardPages {\n      Undefined_Page = \"Undefined_Page\",\n      /** goes to business manager home */\n      Home = \"Home\"\n  }\n  interface Empty {\n  }\n  /**\n   * This endpoint allows you to send notifications\n   * @param body - The body of the notification\n   * @param channels - The channel to which send the notification\n   * @public\n   * @documentationMaturity preview\n   * @requiredField body\n   * @requiredField channels\n   * @adminMethod\n   */\n  function notify(body: string | null, channels: Channel[], options?: NotifyOptions): Promise<void>;\n  interface NotifyOptions extends PublicNotifyRequestRecipientsFilterOneOf, PublicNotifyRequestActionTargetOneOf {\n      /** Send to site contributors */\n      toSiteContributors?: ToSiteContributors;\n      /** Send to contacts */\n      toContacts?: ToContacts;\n      /** Send to topic subscribers */\n      toTopicsSubscribers?: ToTopicsSubscribers;\n      /** The title of the notification */\n      title?: string | null;\n      /** The Action of the notification */\n      action?: string | null;\n      /** an open url as an action target */\n      targetUrl?: string | null;\n      /** target_dashboard_page */\n      targetDashboardPage?: DashboardPages;\n  }\n  \n  type pingNotificationsV1PublicNotification_universal_d_Public_notification = Public_notification;\n  type pingNotificationsV1PublicNotification_universal_d_PublicNotifyRequest = PublicNotifyRequest;\n  type pingNotificationsV1PublicNotification_universal_d_PublicNotifyRequestRecipientsFilterOneOf = PublicNotifyRequestRecipientsFilterOneOf;\n  type pingNotificationsV1PublicNotification_universal_d_PublicNotifyRequestActionTargetOneOf = PublicNotifyRequestActionTargetOneOf;\n  type pingNotificationsV1PublicNotification_universal_d_ToSiteContributors = ToSiteContributors;\n  type pingNotificationsV1PublicNotification_universal_d_Role = Role;\n  const pingNotificationsV1PublicNotification_universal_d_Role: typeof Role;\n  type pingNotificationsV1PublicNotification_universal_d_ToContacts = ToContacts;\n  type pingNotificationsV1PublicNotification_universal_d_ToTopicsSubscribers = ToTopicsSubscribers;\n  type pingNotificationsV1PublicNotification_universal_d_Channel = Channel;\n  const pingNotificationsV1PublicNotification_universal_d_Channel: typeof Channel;\n  type pingNotificationsV1PublicNotification_universal_d_DashboardPages = DashboardPages;\n  const pingNotificationsV1PublicNotification_universal_d_DashboardPages: typeof DashboardPages;\n  type pingNotificationsV1PublicNotification_universal_d_Empty = Empty;\n  const pingNotificationsV1PublicNotification_universal_d_notify: typeof notify;\n  type pingNotificationsV1PublicNotification_universal_d_NotifyOptions = NotifyOptions;\n  namespace pingNotificationsV1PublicNotification_universal_d {\n    export {\n      pingNotificationsV1PublicNotification_universal_d_Public_notification as Public_notification,\n      pingNotificationsV1PublicNotification_universal_d_PublicNotifyRequest as PublicNotifyRequest,\n      pingNotificationsV1PublicNotification_universal_d_PublicNotifyRequestRecipientsFilterOneOf as PublicNotifyRequestRecipientsFilterOneOf,\n      pingNotificationsV1PublicNotification_universal_d_PublicNotifyRequestActionTargetOneOf as PublicNotifyRequestActionTargetOneOf,\n      pingNotificationsV1PublicNotification_universal_d_ToSiteContributors as ToSiteContributors,\n      pingNotificationsV1PublicNotification_universal_d_Role as Role,\n      pingNotificationsV1PublicNotification_universal_d_ToContacts as ToContacts,\n      pingNotificationsV1PublicNotification_universal_d_ToTopicsSubscribers as ToTopicsSubscribers,\n      pingNotificationsV1PublicNotification_universal_d_Channel as Channel,\n      pingNotificationsV1PublicNotification_universal_d_DashboardPages as DashboardPages,\n      pingNotificationsV1PublicNotification_universal_d_Empty as Empty,\n      pingNotificationsV1PublicNotification_universal_d_notify as notify,\n      pingNotificationsV1PublicNotification_universal_d_NotifyOptions as NotifyOptions,\n    };\n  }\n  \n  export { pingNotificationsV1PublicNotification_universal_d as notifications };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-gbp-feature.d.ts",
      "content": "declare module \"interfaces-promote-v1-gbp-feature\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetFeedDataRequest extends GetFeedDataRequestGbpFeatureRequestDataOneOf {\n      /** Reserve with google request data */\n      reserveWithGoogleData?: ReserveWithGoogleRequestData;\n  }\n  /** @oneof */\n  interface GetFeedDataRequestGbpFeatureRequestDataOneOf {\n      /** Reserve with google request data */\n      reserveWithGoogleData?: ReserveWithGoogleRequestData;\n  }\n  interface ReserveWithGoogleRequestData {\n      /** List of service ids to get the details for */\n      serviceIds?: string[];\n  }\n  interface GetFeedDataResponse extends GetFeedDataResponseGbpFeatureResponseDataOneOf {\n      /** Services data for reserve with google feature */\n      reserveWithGoogleData?: ReserveWithGoogleResponseData;\n  }\n  /** @oneof */\n  interface GetFeedDataResponseGbpFeatureResponseDataOneOf {\n      /** Services data for reserve with google feature */\n      reserveWithGoogleData?: ReserveWithGoogleResponseData;\n  }\n  interface ReserveWithGoogleResponseData {\n      /** The main reserve link, when the UoU clicks \"Book Now\" on google, he will be directed to this link */\n      reserveUrl?: string;\n      /** The list of offered services which will appear on google */\n      services?: ReserveWithGoogleService[];\n  }\n  interface ReserveWithGoogleService {\n      /** A unique service ID */\n      _id?: string;\n      /** The service name */\n      name?: string;\n      /** The service category */\n      category?: string;\n      /** The service description */\n      description?: string;\n      /** The service price */\n      price?: Price;\n      /** The service duration in seconds */\n      duration?: string;\n      /** The service reserve url */\n      reserveUrl?: string;\n  }\n  interface Price {\n      /** The currency of the price that is defined in ISO 4217 */\n      currency?: string;\n      /** Price Value */\n      value?: number;\n  }\n  interface GbpFeatureConfig {\n      /** The URL of the SPI implementation */\n      baseUri?: SpiBaseUri;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetFeedDataOptions extends GetFeedDataRequestGbpFeatureRequestDataOneOf {\n      /** Reserve with google request data */\n      reserveWithGoogleData?: ReserveWithGoogleRequestData;\n  }\n  \n  export { AlternativeUri, BusinessError, Context, GbpFeatureConfig, GetFeedDataOptions, GetFeedDataRequest, GetFeedDataRequestGbpFeatureRequestDataOneOf, GetFeedDataResponse, GetFeedDataResponseGbpFeatureResponseDataOneOf, IdentificationData, IdentificationDataIdOneOf, IdentityType, Price, ReserveWithGoogleRequestData, ReserveWithGoogleResponseData, ReserveWithGoogleService, SpiBaseUri };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-workflows.v2.d.ts",
      "content": "declare module \"wix-workflows.v2\" {\n  interface Card$2 {\n      /** Card details. */\n      info?: CardInfo$2;\n  }\n  /** entity representing a card-info */\n  interface CardInfo$2 {\n      /**\n       * Card ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Display name shown at the top of the card. */\n      name?: string | null;\n      /** Card description. */\n      description?: string | null;\n      /** Details about the contact attached to the card. */\n      primaryAttachment?: Attachment$2;\n      /** Due date. */\n      dueDate?: Date | null;\n      /** Name of the app or service that created the contact. */\n      source?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      createdAt?: Date | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      updatedAt?: Date | null;\n      /**\n       * ID of the phase that currently holds the card.\n       * @readonly\n       */\n      phaseId?: string | null;\n      /**\n       * Date and time the card was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the card was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface Attachment$2 {\n      /**\n       * Attachment ID. For internal use.\n       * @readonly\n       */\n      attachmentId?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      value?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      attachmentType?: AttachmentType$2;\n      /** ID of the contact attached to the card. */\n      contactId?: string;\n  }\n  /** describes the supported types of attachments (currently only supports Contact which is the default type) */\n  enum AttachmentType$2 {\n      ContactType = \"ContactType\"\n  }\n  interface QueryCardsRequest {\n      /** Query, sort, and paging options. */\n      query?: Query$2;\n  }\n  interface Query$2 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryCardsResponse {\n      /** List of cards that matched the query criteria. */\n      cards?: Card$2[];\n      /** Metadata for the page of results. */\n      pagination?: PaginationResponse$2;\n  }\n  interface PaginationResponse$2 {\n      /** Number of items that were skipped in the current sort order. */\n      offset?: number;\n      /**\n       * Page limit.\n       * @internal\n       * @deprecated\n       */\n      limit?: number;\n      /** Total number of items that matched the filter. */\n      total?: number;\n      /** Number of returned items. */\n      count?: number;\n  }\n  interface ListCardsRequest {\n      /** ID of the workflow whose cards will be listed. */\n      workflowId: string;\n      /** Filters for cards in the specified phase. */\n      phaseId?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fetchDeleted?: boolean | null;\n      /**\n       * Number of items to return.\n       *\n       * Defaults to `50`.\n       */\n      limit?: number | null;\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       * Defaults to `0`.\n       */\n      offset?: number | null;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      order?: string[];\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fields?: string[];\n      /** Filters for cards with the specified contact ID. */\n      attachmentValue?: string | null;\n      /**\n       * Filters for archived cards.\n       * If set to `true`,\n       * only archived cards are returned.\n       * If set to `false`,\n       * only cards that are not archived are returned.\n       *\n       * Defaults to `false`.\n       */\n      fetchArchived?: boolean | null;\n      /**\n       * Supported fields:\n       * `id`, `name`, `createdDate`, `updatedDate`, `phaseId`\n       *\n       * List of fields to sort by.\n       * Formatted as `field:direction`,\n       * where field is the field name\n       * and direction is `asc` (ascending) or `desc` (descending).\n       *\n       * Sorting is applied lexicographically, so `\"abc\"` comes after `\"XYZ\"`.\n       */\n      sort?: string[];\n  }\n  interface ListCardsResponse {\n      /** List of cards. */\n      cards?: Card$2[];\n      /** Metadata for the page of results. */\n      pagination?: PaginationResponse$2;\n  }\n  interface GetCardRequest {\n      /** ID of the card to retrieve. */\n      _id: string;\n  }\n  interface GetCardResponse {\n      /** Requested card. */\n      card?: Card$2;\n  }\n  interface UpdateCardRequest {\n      /** ID of the card to update. */\n      _id: string;\n      /** Card details. */\n      cardInfo?: CardInfo$2;\n      /**\n       * Allows update an archived card\n       * If set to `true` and card id exists, it will be updated, even if archived\n       *\n       * Defaults to `false`.\n       * @internal\n       */\n      includeArchived?: boolean | null;\n  }\n  interface UpdateCardResponse {\n  }\n  interface CreateCardRequest {\n      /** ID of the workflow to create the card in. */\n      workflowId: string;\n      /** ID of the phase to create the card in. */\n      phaseId: string;\n      /** Card details. */\n      card?: CardInfo$2;\n      /**\n       * Card position, where the first card is `0`.\n       *\n       * If a card already occupies the specified position,\n       * that card and any subsequent cards are shifted to the right by 1.\n       *\n       * Defaults to the last position.\n       */\n      position?: number | null;\n  }\n  interface CreateCardResponse {\n      /** ID of the newly created card. */\n      _id?: string | null;\n  }\n  interface DeleteCardRequest {\n      /** ID of the card to delete. */\n      _id: string;\n  }\n  interface DeleteCardResponse {\n  }\n  interface MoveCardRequest {\n      /** ID of the card to move. */\n      _id: string;\n      /** ID of the phase to move the card to. */\n      newPhaseId?: string | null;\n      /** Position of the card in the phase, where the first card is `0`. */\n      newPosition?: number | null;\n  }\n  interface MoveCardResponse {\n  }\n  interface RestoreCardRequest {\n      /** ID of the card to restore. */\n      _id: string;\n      /** ID of the phase to restore the card to. */\n      newPhaseId: string;\n      /**\n       * Position of the restored card in the phase,\n       * where the first card is `0`.\n       */\n      newPosition?: number | null;\n  }\n  interface RestoreCardResponse {\n  }\n  interface ArchiveCardRequest {\n      /** ID of the card to archive. */\n      _id: string;\n  }\n  interface ArchiveCardResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Returns a list of cards according to:\n   * * paging: offset, limit\n   * * order: by some of the following fields: id, name, createdAt, updatedAt, position, phaseId\n   * * filter: by the following fields of CardInfo\n   * ** cardInfo.id                              - Guid\n   * ** cardInfo.name                            - Text\n   * ** cardInfo.source                          - Text\n   * ** cardInfo.position                        - Number\n   * ** cardInfo.createdAt                       - Date\n   * ** cardInfo.updatedAt                       - Date\n   * ** cardInfo.primaryAttachment.contactId     - Guid\n   * ** cardInfo.visibility                      - Text (Visible / Archived)\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId workflows.view\n   * @adminMethod\n   */\n  function queryCards(options?: QueryCardsOptions): Promise<QueryCardsResponse>;\n  interface QueryCardsOptions {\n      /** Query, sort, and paging options. */\n      query?: Query$2;\n  }\n  /**\n   * Retrieves a list of a workflow's cards.\n   *\n   *\n   * The `listCards()` function returns a Promise that resolves to a list of the specified workflow's cards.\n   *\n   *\n   * Use the `options` parameter to specify which cards to retrieve and in which order to retrieve them. Must use either `phaseId` or `fetchOnlyArchived`.\n   *\n   *\n   * Cards can be sorted based on their `\"id\"`, `\"name\"`, `\"phaseId\"`, `\"createdDate\"`, `\"updatedDate\"`, `\"source\"`, and `\"position\"`.\n   *\n   *\n   * If no `limit` parameter is passed, the first 50 cards are returned.\n   *\n   *\n   * Sort order defaults to by `\"phaseId\"` and then by `\"position\"` ascending.\n   *\n   *\n   * This function requires you to specify the ID of a workflow. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param workflowId - ID of the workflow whose cards will be listed.\n   * @public\n   * @requiredField workflowId\n   * @param options - Options to use when retrieving the list of cards.\n   * @permissionId workflows.view\n   * @adminMethod\n   */\n  function listCards(workflowId: string, options?: ListCardsOptions): Promise<ListCardsResponse>;\n  interface ListCardsOptions {\n      /** Filters for cards in the specified phase. */\n      phaseId?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fetchDeleted?: boolean | null;\n      /**\n       * Number of items to return.\n       *\n       * Defaults to `50`.\n       */\n      limit?: number | null;\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       * Defaults to `0`.\n       */\n      offset?: number | null;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      order?: string[];\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fields?: string[];\n      /** Filters for cards with the specified contact ID. */\n      attachmentValue?: string | null;\n      /**\n       * Filters for archived cards.\n       * If set to `true`,\n       * only archived cards are returned.\n       * If set to `false`,\n       * only cards that are not archived are returned.\n       *\n       * Defaults to `false`.\n       */\n      fetchArchived?: boolean | null;\n      /**\n       * Supported fields:\n       * `id`, `name`, `createdDate`, `updatedDate`, `phaseId`\n       *\n       * List of fields to sort by.\n       * Formatted as `field:direction`,\n       * where field is the field name\n       * and direction is `asc` (ascending) or `desc` (descending).\n       *\n       * Sorting is applied lexicographically, so `\"abc\"` comes after `\"XYZ\"`.\n       */\n      sort?: string[];\n  }\n  /**\n   * Retrieves a workflow card by ID.\n   *\n   *\n   * The `getCard()` function returns a Promise that resolves to the card with the specified ID.\n   *\n   *\n   * This function requires you to specify the ID of a card. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param _id - ID of the card to retrieve.\n   * @public\n   * @requiredField _id\n   * @permissionId workflows.view\n   * @adminMethod\n   * @returns Requested card.\n   */\n  function getCard(_id: string): Promise<Card$2>;\n  /**\n   * Updates an existing workflow card.\n   *\n   *\n   * The `updateCard()` function returns a Promise that resolves when the card has been updated with the specified values.\n   *\n   *\n   * `contactId` is not a required field, but if the parameter is not passed, the field will default to empty and the card will not be associated with any contact.\n   *\n   *\n   * This function requires you to specify the ID of a card. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param _id - ID of the card to update.\n   * @param cardInfo - Card details.\n   * @public\n   * @requiredField _id\n   * @requiredField cardInfo\n   * @param options - Options to use when updating a card.\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function updateCard(_id: string, cardInfo: CardInfo$2, options?: UpdateCardOptions): Promise<void>;\n  interface UpdateCardOptions {\n      /**\n       * Allows update an archived card\n       * If set to `true` and card id exists, it will be updated, even if archived\n       *\n       * Defaults to `false`.\n       * @internal\n       */\n      includeArchived?: boolean | null;\n  }\n  /**\n   * Creates a new workflow card.\n   *\n   *\n   * The `createCard()` function returns a Promise that resolves to the created card's ID when the card is created in the specified workflow phase.\n   *\n   * Pass a value for the `position` parameter to specify the newly created card's position within the specified phase. Positions are zero-based, meaning the first position is `0`.\n   *\n   * When omitted, the newly created card is added to the specified phase as the top card within the phase.\n   *\n   *\n   * This function requires you to specify the ID of a workflow and phase. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   *\n   *  > **Note:**\n   *  > Each workflow is limited to 5,000 cards.\n   *  > If this limit is reached, `createCard()` throws an error.\n   *  > [Archive cards](#archivecard) when they're no longer needed\n   *  > to reduce card count and avoid hitting the limit.\n   * @param card - Card details.\n   * @public\n   * @requiredField card\n   * @requiredField identifiers\n   * @requiredField identifiers.phaseId\n   * @requiredField identifiers.workflowId\n   * @param options - Options to use when creating a card.\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function createCard(identifiers: CreateCardIdentifiers, card: CardInfo$2, options?: CreateCardOptions): Promise<CreateCardResponse>;\n  interface CreateCardIdentifiers {\n      /** ID of the workflow to create the card in. */\n      workflowId: string;\n      /** ID of the phase to create the card in. */\n      phaseId: string;\n  }\n  interface CreateCardOptions {\n      /**\n       * Card position, where the first card is `0`.\n       *\n       * If a card already occupies the specified position,\n       * that card and any subsequent cards are shifted to the right by 1.\n       *\n       * Defaults to the last position.\n       */\n      position?: number | null;\n  }\n  /**\n   * Deletes a workflow card by ID.\n   *\n   *\n   * The `deleteCard()` function returns a Promise when the specified card has been deleted.\n   *\n   * This function requires you to specify the ID of a card. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param _id - ID of the card to delete.\n   * @public\n   * @requiredField _id\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function deleteCard(_id: string): Promise<void>;\n  /**\n   * Moves a card to a new position within a workflow.\n   *\n   *\n   * The `moveCard()` function returns a Promise when the specified card has been moved to the new position.\n   *\n   * Use the `options` parameter to specify the phase and position within that phase to move the card to. Positions are zero-based, meaning the first position is `0`.\n   *\n   * This function requires you to specify the ID of a card. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param _id - ID of the card to move.\n   * @public\n   * @requiredField _id\n   * @param options - Information about where to move the card.\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function moveCard(_id: string, options?: MoveCardOptions): Promise<void>;\n  interface MoveCardOptions {\n      /** ID of the phase to move the card to. */\n      newPhaseId?: string | null;\n      /** Position of the card in the phase, where the first card is `0`. */\n      newPosition?: number | null;\n  }\n  /**\n   * Restores an archived workflow card.\n   *\n   *\n   * The `restoreCard()` function returns a Promise that resolves when the archived card has been restored.\n   *\n   *\n   * This function requires you to specify the ID of a card. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   *\n   *\n   * > **Note:**\n   * > Each workflow is limited to 5,000 cards.\n   * > If this limit is reached, `createCard()` throws an error.\n   * > [Archive cards](#archivecard) when they're no longer needed\n   * > to reduce card count and avoid hitting the limit.\n   * @param _id - ID of the card to restore.\n   * @param newPhaseId - ID of the phase to restore the card to.\n   * @public\n   * @requiredField _id\n   * @requiredField newPhaseId\n   * @param options - Options to use when restoring a card.\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function restoreCard(_id: string, newPhaseId: string, options?: RestoreCardOptions): Promise<void>;\n  interface RestoreCardOptions {\n      /**\n       * Position of the restored card in the phase,\n       * where the first card is `0`.\n       */\n      newPosition?: number | null;\n  }\n  /**\n   * Archives a workflow card.\n   *\n   *\n   * The `archiveCard()` function returns a Promise that resolves when the card has been archived.\n   *\n   *\n   * This function requires you to specify the ID of a card. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param _id - ID of the card to archive.\n   * @public\n   * @requiredField _id\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function archiveCard(_id: string): Promise<void>;\n  \n  type workflowsV1Card_universal_d_QueryCardsRequest = QueryCardsRequest;\n  type workflowsV1Card_universal_d_QueryCardsResponse = QueryCardsResponse;\n  type workflowsV1Card_universal_d_ListCardsRequest = ListCardsRequest;\n  type workflowsV1Card_universal_d_ListCardsResponse = ListCardsResponse;\n  type workflowsV1Card_universal_d_GetCardRequest = GetCardRequest;\n  type workflowsV1Card_universal_d_GetCardResponse = GetCardResponse;\n  type workflowsV1Card_universal_d_UpdateCardRequest = UpdateCardRequest;\n  type workflowsV1Card_universal_d_UpdateCardResponse = UpdateCardResponse;\n  type workflowsV1Card_universal_d_CreateCardRequest = CreateCardRequest;\n  type workflowsV1Card_universal_d_CreateCardResponse = CreateCardResponse;\n  type workflowsV1Card_universal_d_DeleteCardRequest = DeleteCardRequest;\n  type workflowsV1Card_universal_d_DeleteCardResponse = DeleteCardResponse;\n  type workflowsV1Card_universal_d_MoveCardRequest = MoveCardRequest;\n  type workflowsV1Card_universal_d_MoveCardResponse = MoveCardResponse;\n  type workflowsV1Card_universal_d_RestoreCardRequest = RestoreCardRequest;\n  type workflowsV1Card_universal_d_RestoreCardResponse = RestoreCardResponse;\n  type workflowsV1Card_universal_d_ArchiveCardRequest = ArchiveCardRequest;\n  type workflowsV1Card_universal_d_ArchiveCardResponse = ArchiveCardResponse;\n  type workflowsV1Card_universal_d_DomainEvent = DomainEvent;\n  type workflowsV1Card_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type workflowsV1Card_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type workflowsV1Card_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type workflowsV1Card_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type workflowsV1Card_universal_d_ActionEvent = ActionEvent;\n  type workflowsV1Card_universal_d_MessageEnvelope = MessageEnvelope;\n  type workflowsV1Card_universal_d_IdentificationData = IdentificationData;\n  type workflowsV1Card_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type workflowsV1Card_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const workflowsV1Card_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const workflowsV1Card_universal_d_queryCards: typeof queryCards;\n  type workflowsV1Card_universal_d_QueryCardsOptions = QueryCardsOptions;\n  const workflowsV1Card_universal_d_listCards: typeof listCards;\n  type workflowsV1Card_universal_d_ListCardsOptions = ListCardsOptions;\n  const workflowsV1Card_universal_d_getCard: typeof getCard;\n  const workflowsV1Card_universal_d_updateCard: typeof updateCard;\n  type workflowsV1Card_universal_d_UpdateCardOptions = UpdateCardOptions;\n  const workflowsV1Card_universal_d_createCard: typeof createCard;\n  type workflowsV1Card_universal_d_CreateCardIdentifiers = CreateCardIdentifiers;\n  type workflowsV1Card_universal_d_CreateCardOptions = CreateCardOptions;\n  const workflowsV1Card_universal_d_deleteCard: typeof deleteCard;\n  const workflowsV1Card_universal_d_moveCard: typeof moveCard;\n  type workflowsV1Card_universal_d_MoveCardOptions = MoveCardOptions;\n  const workflowsV1Card_universal_d_restoreCard: typeof restoreCard;\n  type workflowsV1Card_universal_d_RestoreCardOptions = RestoreCardOptions;\n  const workflowsV1Card_universal_d_archiveCard: typeof archiveCard;\n  namespace workflowsV1Card_universal_d {\n    export {\n      Card$2 as Card,\n      CardInfo$2 as CardInfo,\n      Attachment$2 as Attachment,\n      AttachmentType$2 as AttachmentType,\n      workflowsV1Card_universal_d_QueryCardsRequest as QueryCardsRequest,\n      Query$2 as Query,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      Paging$2 as Paging,\n      workflowsV1Card_universal_d_QueryCardsResponse as QueryCardsResponse,\n      PaginationResponse$2 as PaginationResponse,\n      workflowsV1Card_universal_d_ListCardsRequest as ListCardsRequest,\n      workflowsV1Card_universal_d_ListCardsResponse as ListCardsResponse,\n      workflowsV1Card_universal_d_GetCardRequest as GetCardRequest,\n      workflowsV1Card_universal_d_GetCardResponse as GetCardResponse,\n      workflowsV1Card_universal_d_UpdateCardRequest as UpdateCardRequest,\n      workflowsV1Card_universal_d_UpdateCardResponse as UpdateCardResponse,\n      workflowsV1Card_universal_d_CreateCardRequest as CreateCardRequest,\n      workflowsV1Card_universal_d_CreateCardResponse as CreateCardResponse,\n      workflowsV1Card_universal_d_DeleteCardRequest as DeleteCardRequest,\n      workflowsV1Card_universal_d_DeleteCardResponse as DeleteCardResponse,\n      workflowsV1Card_universal_d_MoveCardRequest as MoveCardRequest,\n      workflowsV1Card_universal_d_MoveCardResponse as MoveCardResponse,\n      workflowsV1Card_universal_d_RestoreCardRequest as RestoreCardRequest,\n      workflowsV1Card_universal_d_RestoreCardResponse as RestoreCardResponse,\n      workflowsV1Card_universal_d_ArchiveCardRequest as ArchiveCardRequest,\n      workflowsV1Card_universal_d_ArchiveCardResponse as ArchiveCardResponse,\n      workflowsV1Card_universal_d_DomainEvent as DomainEvent,\n      workflowsV1Card_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      workflowsV1Card_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      workflowsV1Card_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      workflowsV1Card_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      workflowsV1Card_universal_d_ActionEvent as ActionEvent,\n      workflowsV1Card_universal_d_MessageEnvelope as MessageEnvelope,\n      workflowsV1Card_universal_d_IdentificationData as IdentificationData,\n      workflowsV1Card_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      workflowsV1Card_universal_d_WebhookIdentityType as WebhookIdentityType,\n      workflowsV1Card_universal_d_queryCards as queryCards,\n      workflowsV1Card_universal_d_QueryCardsOptions as QueryCardsOptions,\n      workflowsV1Card_universal_d_listCards as listCards,\n      workflowsV1Card_universal_d_ListCardsOptions as ListCardsOptions,\n      workflowsV1Card_universal_d_getCard as getCard,\n      workflowsV1Card_universal_d_updateCard as updateCard,\n      workflowsV1Card_universal_d_UpdateCardOptions as UpdateCardOptions,\n      workflowsV1Card_universal_d_createCard as createCard,\n      workflowsV1Card_universal_d_CreateCardIdentifiers as CreateCardIdentifiers,\n      workflowsV1Card_universal_d_CreateCardOptions as CreateCardOptions,\n      workflowsV1Card_universal_d_deleteCard as deleteCard,\n      workflowsV1Card_universal_d_moveCard as moveCard,\n      workflowsV1Card_universal_d_MoveCardOptions as MoveCardOptions,\n      workflowsV1Card_universal_d_restoreCard as restoreCard,\n      workflowsV1Card_universal_d_RestoreCardOptions as RestoreCardOptions,\n      workflowsV1Card_universal_d_archiveCard as archiveCard,\n    };\n  }\n  \n  interface Phase$1 {\n      /** Phase information. */\n      info?: PhaseInfo$1;\n      /** Cards contained in the phase. */\n      cardsList?: CardsList$1;\n  }\n  interface PhaseInfo$1 {\n      /**\n       * Phase ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Display name shown at the top of the phase. */\n      name?: string | null;\n  }\n  /** a list of cards (a page) along with the total number */\n  interface CardsList$1 {\n      /** Total number of cards in the phase. */\n      total?: number;\n      /**\n       * List of cards in the phase.\n       * Sorted according to the card display order, from top to bottom.\n       */\n      cards?: Card$1[];\n  }\n  interface Card$1 {\n      /** Card details. */\n      info?: CardInfo$1;\n  }\n  /** entity representing a card-info */\n  interface CardInfo$1 {\n      /**\n       * Card ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Display name shown at the top of the card. */\n      name?: string | null;\n      /** Card description. */\n      description?: string | null;\n      /** Details about the contact attached to the card. */\n      primaryAttachment?: Attachment$1;\n      /** Due date. */\n      dueDate?: Date | null;\n      /** Name of the app or service that created the contact. */\n      source?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      createdAt?: Date | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      updatedAt?: Date | null;\n      /**\n       * ID of the phase that currently holds the card.\n       * @readonly\n       */\n      phaseId?: string | null;\n      /**\n       * Date and time the card was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the card was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface Attachment$1 {\n      /**\n       * Attachment ID. For internal use.\n       * @readonly\n       */\n      attachmentId?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      value?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      attachmentType?: AttachmentType$1;\n      /** ID of the contact attached to the card. */\n      contactId?: string;\n  }\n  /** describes the supported types of attachments (currently only supports Contact which is the default type) */\n  enum AttachmentType$1 {\n      ContactType = \"ContactType\"\n  }\n  interface QueryPhasesRequest {\n      /** Query, sort, and paging options. */\n      query?: Query$1;\n  }\n  interface Query$1 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryPhasesResponse {\n      /** List of phases that matched the query criteria. */\n      phases?: Phase$1[];\n      /** Metadata for the page of results. */\n      pagination?: PaginationResponse$1;\n  }\n  interface PaginationResponse$1 {\n      /** Number of items that were skipped in the current sort order. */\n      offset?: number;\n      /**\n       * Page limit.\n       * @internal\n       * @deprecated\n       */\n      limit?: number;\n      /** Total number of items that matched the filter. */\n      total?: number;\n      /** Number of returned items. */\n      count?: number;\n  }\n  interface ListPhasesRequest {\n      /** ID of the workflow whose phases will be listed. */\n      workflowId: string;\n      /** Number of items to return. */\n      limit?: number | null;\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       * Defaults to `0`.\n       */\n      offset?: number | null;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      order?: string[];\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fields?: string[];\n      /**\n       * Supported fields:\n       * `id`, `name`\n       *\n       * List of fields to sort by.\n       * Formatted as `field:direction`,\n       * where field is the field name\n       * and direction is `asc` (ascending) or `desc` (descending).\n       *\n       * Sorting is applied lexicographically, so `\"abc\"` comes after `\"XYZ\"`.\n       */\n      sort?: string[];\n  }\n  interface ListPhasesResponse {\n      /** List of phases. */\n      phases?: Phase$1[];\n      /** Metadata for the page of results. */\n      pagination?: PaginationResponse$1;\n  }\n  interface GetPhaseRequest {\n      /** ID of the phase to retrieve. */\n      _id: string;\n  }\n  interface GetPhaseResponse {\n      /** Requested phase. */\n      phase?: Phase$1;\n  }\n  interface UpdatePhaseRequest {\n      /** ID of the phase to update. */\n      _id: string;\n      /** Phase details to update. */\n      phase?: PhaseInfo$1;\n  }\n  interface UpdatePhaseResponse {\n  }\n  interface CreatePhaseRequest {\n      /** ID of the workflow to create the phase in. */\n      workflowId: string;\n      /** Phase details. */\n      phase?: PhaseInfo$1;\n      /**\n       * Phase position, where the first phase is `0`.\n       *\n       * If a phase already occupies the specified position,\n       * that phase and any subsequent phases\n       * are shifted to the right by 1.\n       *\n       * Defaults to the last position,\n       * which is displayed before the win phase.\n       */\n      position?: number | null;\n  }\n  interface CreatePhaseResponse {\n      /** ID of the newly created phase. */\n      _id?: string | null;\n  }\n  interface DeletePhaseRequest {\n      /** ID of the phase to delete. */\n      _id: string;\n  }\n  interface DeletePhaseResponse {\n  }\n  interface MovePhaseRequest {\n      /** ID of the workflow that contains the phase to move. */\n      workflowId: string;\n      /** ID of the phase to move. */\n      _id: string;\n      /**\n       * New phase position, where the first phase is `0`.\n       *\n       * If a phase already occupies the specified position,\n       * that phase and any subsequent phases\n       * are shifted to the right by 1.\n       */\n      newPosition: number | null;\n  }\n  interface MovePhaseResponse {\n  }\n  /**\n   * Returns a list of phases according to:\n   * * paging: offset, limit\n   * * order: by some of the following fields: id, name, position\n   * * filter: by the following fields of PhaseInfo\n   * ** phaseInfo.id         - Guid\n   * ** phaseInfo.name       - Text\n   * ** phaseInfo.visibility - Text (Visible / Archived)\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId workflows.view\n   * @adminMethod\n   */\n  function queryPhases(options?: QueryPhasesOptions): Promise<QueryPhasesResponse>;\n  interface QueryPhasesOptions {\n      /** Query, sort, and paging options. */\n      query?: Query$1;\n  }\n  /**\n   * Retrieves a list of a workflow's phases.\n   *\n   *\n   * The `listPhases()` function returns a Promise that resolves to a list containing information about the specified workflow's phases.\n   *\n   *\n   * Use the `options` parameter to specify which phases to retrieve and in which order to retrieve them. Phases can be sorted based on their `\"id\"`, `\"name\"`, and `\"position\"`. If no `limit` parameter is passed, the first 50 cards are returned. Sort order defaults to by `\"position\"` ascending.\n   *\n   *\n   * This function requires you to specify the ID of a workflow. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param workflowId - ID of the workflow whose phases will be listed.\n   * @public\n   * @requiredField workflowId\n   * @param options - Options to use when retrieving the list of workflow phases.\n   * @permissionId workflows.view\n   * @adminMethod\n   */\n  function listPhases(workflowId: string, options?: ListPhasesOptions): Promise<ListPhasesResponse>;\n  interface ListPhasesOptions {\n      /** Number of items to return. */\n      limit?: number | null;\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       * Defaults to `0`.\n       */\n      offset?: number | null;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      order?: string[];\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fields?: string[];\n      /**\n       * Supported fields:\n       * `id`, `name`\n       *\n       * List of fields to sort by.\n       * Formatted as `field:direction`,\n       * where field is the field name\n       * and direction is `asc` (ascending) or `desc` (descending).\n       *\n       * Sorting is applied lexicographically, so `\"abc\"` comes after `\"XYZ\"`.\n       */\n      sort?: string[];\n  }\n  /**\n   * Retrieves a phase by ID.\n   *\n   *\n   * The `getPhase()` function returns a Promise that resolves to the phase with the specified ID.\n   *\n   * This function requires you to specify the ID of a phase. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param _id - ID of the phase to retrieve.\n   * @public\n   * @requiredField _id\n   * @permissionId workflows.view\n   * @adminMethod\n   * @returns Requested phase.\n   */\n  function getPhase(_id: string): Promise<Phase$1>;\n  /**\n   * Updates an existing workflow phase.\n   *\n   *\n   * The `updatePhase()` function returns a Promise that resolves when the phase has been updated with the specified values.\n   *\n   *\n   * Only the properties passed in the `phase` object will be updated. All other properties will remain the same.\n   *\n   *\n   * This function requires you to specify the ID of a phase. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param _id - ID of the phase to update.\n   * @param phase - Phase details to update.\n   * @public\n   * @requiredField _id\n   * @requiredField phase\n   * @param options - Phase information to update.\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function updatePhase(_id: string, phase: PhaseInfo$1): Promise<void>;\n  /**\n   * Creates a new workflow phase.\n   *\n   *\n   * The `createPhase()` function returns a Promise that resolves to the created phase ID when the phase is created in the specified workflow.\n   *\n   *\n   * Pass a value for the `position` parameter to specify the newly created phase's position within the specified workflow. Positions are zero-based, meaning the first position is `0`.\n   *\n   *\n   * When omitted, the newly created phase is added as the last non-win phase.\n   *\n   *\n   * This function requires you to specify the ID of a workflow. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param workflowId - ID of the workflow to create the phase in.\n   * @param phase - Phase details.\n   * @public\n   * @requiredField phase\n   * @requiredField phase.name\n   * @requiredField workflowId\n   * @param options - Options to use when creating workflow phases.\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function createPhase(workflowId: string, phase: PhaseInfo$1, options?: CreatePhaseOptions): Promise<CreatePhaseResponse>;\n  interface CreatePhaseOptions {\n      /**\n       * Phase position, where the first phase is `0`.\n       *\n       * If a phase already occupies the specified position,\n       * that phase and any subsequent phases\n       * are shifted to the right by 1.\n       *\n       * Defaults to the last position,\n       * which is displayed before the win phase.\n       */\n      position?: number | null;\n  }\n  /**\n   * Deletes a workflow phase.\n   *\n   *\n   * The `deletePhase()` function returns a Promise when the specified phase has been deleted.\n   *\n   *\n   * This function requires you to specify the ID of a phase. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param _id - ID of the phase to delete.\n   * @public\n   * @requiredField _id\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function deletePhase(_id: string): Promise<void>;\n  /**\n   * Moves a phase to a new position with a workflow.\n   *\n   *\n   * The `movePhase()` function returns a Promise when the specified phase has been moved to the new position.\n   *\n   *\n   * Use the `newPosition` parameter to specify the new phase position within the workflow. Any non-win phase can be moved to any non-win position. The win phase cannot be moved. Positions are zero-based, meaning the first position is `0`.\n   *\n   *\n   * This function requires you to specify the ID of a phase. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param newPosition - New phase position, where the first phase is `0`.\n   *\n   * If a phase already occupies the specified position,\n   * that phase and any subsequent phases\n   * are shifted to the right by 1.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.id\n   * @requiredField identifiers.workflowId\n   * @requiredField newPosition\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function movePhase(identifiers: MovePhaseIdentifiers, newPosition: number | null): Promise<void>;\n  interface MovePhaseIdentifiers {\n      /** ID of the workflow that contains the phase to move. */\n      workflowId: string;\n      /** ID of the phase to move. */\n      _id: string;\n  }\n  \n  type workflowsV1Phase_universal_d_QueryPhasesRequest = QueryPhasesRequest;\n  type workflowsV1Phase_universal_d_QueryPhasesResponse = QueryPhasesResponse;\n  type workflowsV1Phase_universal_d_ListPhasesRequest = ListPhasesRequest;\n  type workflowsV1Phase_universal_d_ListPhasesResponse = ListPhasesResponse;\n  type workflowsV1Phase_universal_d_GetPhaseRequest = GetPhaseRequest;\n  type workflowsV1Phase_universal_d_GetPhaseResponse = GetPhaseResponse;\n  type workflowsV1Phase_universal_d_UpdatePhaseRequest = UpdatePhaseRequest;\n  type workflowsV1Phase_universal_d_UpdatePhaseResponse = UpdatePhaseResponse;\n  type workflowsV1Phase_universal_d_CreatePhaseRequest = CreatePhaseRequest;\n  type workflowsV1Phase_universal_d_CreatePhaseResponse = CreatePhaseResponse;\n  type workflowsV1Phase_universal_d_DeletePhaseRequest = DeletePhaseRequest;\n  type workflowsV1Phase_universal_d_DeletePhaseResponse = DeletePhaseResponse;\n  type workflowsV1Phase_universal_d_MovePhaseRequest = MovePhaseRequest;\n  type workflowsV1Phase_universal_d_MovePhaseResponse = MovePhaseResponse;\n  const workflowsV1Phase_universal_d_queryPhases: typeof queryPhases;\n  type workflowsV1Phase_universal_d_QueryPhasesOptions = QueryPhasesOptions;\n  const workflowsV1Phase_universal_d_listPhases: typeof listPhases;\n  type workflowsV1Phase_universal_d_ListPhasesOptions = ListPhasesOptions;\n  const workflowsV1Phase_universal_d_getPhase: typeof getPhase;\n  const workflowsV1Phase_universal_d_updatePhase: typeof updatePhase;\n  const workflowsV1Phase_universal_d_createPhase: typeof createPhase;\n  type workflowsV1Phase_universal_d_CreatePhaseOptions = CreatePhaseOptions;\n  const workflowsV1Phase_universal_d_deletePhase: typeof deletePhase;\n  const workflowsV1Phase_universal_d_movePhase: typeof movePhase;\n  type workflowsV1Phase_universal_d_MovePhaseIdentifiers = MovePhaseIdentifiers;\n  namespace workflowsV1Phase_universal_d {\n    export {\n      Phase$1 as Phase,\n      PhaseInfo$1 as PhaseInfo,\n      CardsList$1 as CardsList,\n      Card$1 as Card,\n      CardInfo$1 as CardInfo,\n      Attachment$1 as Attachment,\n      AttachmentType$1 as AttachmentType,\n      workflowsV1Phase_universal_d_QueryPhasesRequest as QueryPhasesRequest,\n      Query$1 as Query,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$1 as Paging,\n      workflowsV1Phase_universal_d_QueryPhasesResponse as QueryPhasesResponse,\n      PaginationResponse$1 as PaginationResponse,\n      workflowsV1Phase_universal_d_ListPhasesRequest as ListPhasesRequest,\n      workflowsV1Phase_universal_d_ListPhasesResponse as ListPhasesResponse,\n      workflowsV1Phase_universal_d_GetPhaseRequest as GetPhaseRequest,\n      workflowsV1Phase_universal_d_GetPhaseResponse as GetPhaseResponse,\n      workflowsV1Phase_universal_d_UpdatePhaseRequest as UpdatePhaseRequest,\n      workflowsV1Phase_universal_d_UpdatePhaseResponse as UpdatePhaseResponse,\n      workflowsV1Phase_universal_d_CreatePhaseRequest as CreatePhaseRequest,\n      workflowsV1Phase_universal_d_CreatePhaseResponse as CreatePhaseResponse,\n      workflowsV1Phase_universal_d_DeletePhaseRequest as DeletePhaseRequest,\n      workflowsV1Phase_universal_d_DeletePhaseResponse as DeletePhaseResponse,\n      workflowsV1Phase_universal_d_MovePhaseRequest as MovePhaseRequest,\n      workflowsV1Phase_universal_d_MovePhaseResponse as MovePhaseResponse,\n      workflowsV1Phase_universal_d_queryPhases as queryPhases,\n      workflowsV1Phase_universal_d_QueryPhasesOptions as QueryPhasesOptions,\n      workflowsV1Phase_universal_d_listPhases as listPhases,\n      workflowsV1Phase_universal_d_ListPhasesOptions as ListPhasesOptions,\n      workflowsV1Phase_universal_d_getPhase as getPhase,\n      workflowsV1Phase_universal_d_updatePhase as updatePhase,\n      workflowsV1Phase_universal_d_createPhase as createPhase,\n      workflowsV1Phase_universal_d_CreatePhaseOptions as CreatePhaseOptions,\n      workflowsV1Phase_universal_d_deletePhase as deletePhase,\n      workflowsV1Phase_universal_d_movePhase as movePhase,\n      workflowsV1Phase_universal_d_MovePhaseIdentifiers as MovePhaseIdentifiers,\n    };\n  }\n  \n  interface Workflow {\n      /** Workflow information and metadata. */\n      info?: WorkflowInfo;\n      /**\n       * Final phase of the workflow.\n       * Cards in `winPhase` are treated as if they are not part of the workflow.\n       *\n       * Normally, a contact can be attached to only 1 card in the workflow.\n       * Moving a contact's card to `winPhase`\n       * frees up the contact to be attached to another card in the workflow.\n       */\n      winPhase?: Phase;\n      /** Phases that make up the workflow. */\n      phasesList?: PhasesList;\n  }\n  interface WorkflowInfo {\n      /**\n       * Workflow ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Display name for the workflow. */\n      name?: string | null;\n      /**\n       * Workflow description,\n       * shown below the workflow's display name in the dashboard.\n       */\n      description?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      createdAt?: Date | null;\n      /**\n       * Date and time the workflow was last accessed.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      lastAccess?: Date | null;\n      /**\n       * Indicates whether the workflow can be deleted.\n       * @readonly\n       * @deprecated\n       */\n      isDeletable?: boolean | null;\n      /**\n       * Date and time the workflow was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  interface Phase {\n      /** Phase information. */\n      info?: PhaseInfo;\n      /** Cards contained in the phase. */\n      cardsList?: CardsList;\n  }\n  interface PhaseInfo {\n      /**\n       * Phase ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Display name shown at the top of the phase. */\n      name?: string | null;\n  }\n  /** a list of cards (a page) along with the total number */\n  interface CardsList {\n      /** Total number of cards in the phase. */\n      total?: number;\n      /**\n       * List of cards in the phase.\n       * Sorted according to the card display order, from top to bottom.\n       */\n      cards?: Card[];\n  }\n  interface Card {\n      /** Card details. */\n      info?: CardInfo;\n  }\n  /** entity representing a card-info */\n  interface CardInfo {\n      /**\n       * Card ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Display name shown at the top of the card. */\n      name?: string | null;\n      /** Card description. */\n      description?: string | null;\n      /** Details about the contact attached to the card. */\n      primaryAttachment?: Attachment;\n      /** Due date. */\n      dueDate?: Date | null;\n      /** Name of the app or service that created the contact. */\n      source?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      createdAt?: Date | null;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      updatedAt?: Date | null;\n      /**\n       * ID of the phase that currently holds the card.\n       * @readonly\n       */\n      phaseId?: string | null;\n      /**\n       * Date and time the card was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the card was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface Attachment {\n      /**\n       * Attachment ID. For internal use.\n       * @readonly\n       */\n      attachmentId?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      value?: string;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      attachmentType?: AttachmentType;\n      /** ID of the contact attached to the card. */\n      contactId?: string;\n  }\n  /** describes the supported types of attachments (currently only supports Contact which is the default type) */\n  enum AttachmentType {\n      ContactType = \"ContactType\"\n  }\n  /** a list of phases (a page) along with the total number */\n  interface PhasesList {\n      /** Total number of phases in the workflow, excluding `winPhase`. */\n      total?: number;\n      /**\n       * List of phases in the workflow.\n       * Sorted according to the phase display order, from left to right.\n       */\n      phases?: Phase[];\n  }\n  interface ListWorkflowsRequest {\n      /**\n       * Number of workflows to return.\n       * If omitted, all results are returned.\n       */\n      limit?: number | null;\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       * Defaults to `0`.\n       */\n      offset?: number | null;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      order?: string[];\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fields?: string[];\n      /**\n       * Supported fields:\n       * `id`, `name`, `description`, `createdDate`\n       *\n       * List of fields to sort by.\n       * Formatted as `field:direction`,\n       * where field is the field name\n       * and direction is `asc` (ascending) or `desc` (descending).\n       *\n       * Sorting is applied lexicographically, so `\"abc\"` comes after `\"XYZ\"`.\n       */\n      sort?: string[];\n  }\n  interface ListWorkflowsResponse {\n      /** Retrieved list of workflows. */\n      workflows?: WorkflowInfo[];\n      /** Metadata for the page of results. */\n      pagination?: PaginationResponse;\n  }\n  interface PaginationResponse {\n      /** Number of items that were skipped in the current sort order. */\n      offset?: number;\n      /**\n       * Page limit.\n       * @internal\n       * @deprecated\n       */\n      limit?: number;\n      /** Total number of items that matched the filter. */\n      total?: number;\n      /** Number of returned items. */\n      count?: number;\n  }\n  interface QueryWorkflowsRequest {\n      /** Query options. */\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryWorkflowsResponse {\n      /** List of workflows that matched the query. */\n      workflows?: Workflow[];\n      /** Metadata for the paginated results. */\n      pagination?: PaginationResponse;\n  }\n  interface GetWorkflowRequest {\n      /** ID of the workflow to retrieve. */\n      _id: string;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      cardsInitialPageSize?: number | null;\n      /**\n       * Maximum number of cards to return per phase.\n       * To retrieve additional pages of cards, use\n       * [List Cards](../cards/listCards)\n       * (in the Cards API).\n       */\n      cardsPerPhase?: number | null;\n  }\n  interface GetWorkflowResponse {\n      /** Requested workflow. */\n      workflow?: Workflow;\n  }\n  interface UpdateWorkflowRequest {\n      /** ID of the workflow to update. */\n      _id: string;\n      /** Workflow info. */\n      workflow?: WorkflowInfo;\n  }\n  interface UpdateWorkflowResponse {\n  }\n  interface CreateWorkflowRequest {\n      /** Workflow details. */\n      workflow?: WorkflowInfo;\n  }\n  interface CreateWorkflowResponse {\n      /** ID of the new workflow. */\n      _id?: string | null;\n  }\n  interface DeleteWorkflowRequest {\n      /** ID of the workflow to delete. */\n      _id: string;\n  }\n  interface DeleteWorkflowResponse {\n  }\n  interface SetupWorkflowRequest {\n  }\n  interface SetupWorkflowResponse {\n  }\n  /**\n   * Retrieves a list of the site's workflows info.\n   *\n   *\n   * The `listWorkflows()` function returns a Promise that resolves to a list containing information about the site's workflows.\n   *\n   *\n   * Use the `options` parameter to specify which workflows to retrieve and in which order to retrieve them. Workflows can be sorted based on their `\"name\"`.\n   *\n   *\n   * If no `limit` parameter is passed, the first 100 workflows are returned. Sort order defaults to by `\"name\"` ascending.\n   * @public\n   * @param options - Options to use when retrieving a list of workflows.\n   * @permissionId workflows.view\n   * @adminMethod\n   */\n  function listWorkflows(options?: ListWorkflowsOptions): Promise<ListWorkflowsResponse>;\n  interface ListWorkflowsOptions {\n      /**\n       * Number of workflows to return.\n       * If omitted, all results are returned.\n       */\n      limit?: number | null;\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       * Defaults to `0`.\n       */\n      offset?: number | null;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      order?: string[];\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      fields?: string[];\n      /**\n       * Supported fields:\n       * `id`, `name`, `description`, `createdDate`\n       *\n       * List of fields to sort by.\n       * Formatted as `field:direction`,\n       * where field is the field name\n       * and direction is `asc` (ascending) or `desc` (descending).\n       *\n       * Sorting is applied lexicographically, so `\"abc\"` comes after `\"XYZ\"`.\n       */\n      sort?: string[];\n  }\n  /**\n   * Returns a list of workflows according to:\n   * * paging: offset, limit\n   * * order: by some of the following fields: id, name, createdAt\n   * * filter: by the following fields of WorkflowInfo\n   * ** workflowInfo.id                          - Guid\n   * ** workflowInfo.name                        - Text\n   * ** workflowInfo.createdAt                   - Date\n   * ** workflowInfo.visibility                  - Text (Visible / Archived)\n   * ** workflowInfo.winPhaseId                  - Guid\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId workflows.view\n   * @adminMethod\n   */\n  function queryWorkflows(options?: QueryWorkflowsOptions): Promise<QueryWorkflowsResponse>;\n  interface QueryWorkflowsOptions {\n      /** Query options. */\n      query?: Query;\n  }\n  /**\n   * Retrieves a workflow by ID.\n   *\n   *\n   * The `getWorkflow()` function returns a Promise that resolves to the workflow info with the specified ID.\n   *\n   *\n   * This function requires you to specify the ID of a workflow. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param _id - ID of the workflow to retrieve.\n   * @param cardsPerPhase - Maximum number of cards to return per phase.\n   * To retrieve additional pages of cards, use\n   * [List Cards](../cards/listCards)\n   * (in the Cards API).\n   * @public\n   * @requiredField _id\n   * @requiredField cardsPerPhase\n   * @param options - Options to use when retrieving a workflow.\n   * @permissionId workflows.view\n   * @adminMethod\n   * @returns Requested workflow.\n   */\n  function getWorkflow(_id: string, cardsPerPhase: number | null, options?: GetWorkflowOptions): Promise<Workflow>;\n  interface GetWorkflowOptions {\n      /**\n       * @internal\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      cardsInitialPageSize?: number | null;\n  }\n  /**\n   * Updates an existing workflow.\n   *\n   *\n   * The `updateWorkflow()` function returns a Promise that resolves when the workflow has been updated with the specified values.\n   *\n   *\n   * Only the properties passed in the `workflow` object will be updated. All other properties will remain the same.\n   *\n   *\n   * This function requires you to specify the ID of a workflow. To learn about retrieving IDs in the Workflow API, see [Retrieving IDs](#retrieving-ids).\n   * @param _id - ID of the workflow to update.\n   * @param workflow - Workflow info.\n   * @public\n   * @requiredField _id\n   * @requiredField workflow\n   * @param options - Options to use when updating a workflow.\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function updateWorkflow(_id: string, workflow: WorkflowInfo): Promise<void>;\n  /**\n   * Creates a new workflow.\n   *\n   *\n   * The `createWorkflow()` function returns a Promise that resolves to the created workflow ID.\n   * @param workflow - Workflow details.\n   * @public\n   * @requiredField workflow\n   * @requiredField workflow.name\n   * @param options - Options to use when creating a workflow.\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function createWorkflow(workflow: WorkflowInfo): Promise<CreateWorkflowResponse>;\n  /**\n   * Deletes a workflow.\n   *\n   *\n   * The `deleteWorkflow()` function returns a Promise when the specified workflow has been deleted.\n   *\n   *\n   * This function requires you to specify the ID of a workflow. To learn about retrieving IDs in the Workflows APIs, see [Retrieving IDs](wix-workflows-v2/introduction#retrieving-ids).\n   * @param _id - ID of the workflow to delete.\n   * @public\n   * @requiredField _id\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function deleteWorkflow(_id: string): Promise<void>;\n  /**\n   * Sets up the default workflow.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId workflows.modify\n   * @adminMethod\n   */\n  function setupWorkflow(): Promise<void>;\n  \n  type workflowsV1Workflow_universal_d_Workflow = Workflow;\n  type workflowsV1Workflow_universal_d_WorkflowInfo = WorkflowInfo;\n  type workflowsV1Workflow_universal_d_Phase = Phase;\n  type workflowsV1Workflow_universal_d_PhaseInfo = PhaseInfo;\n  type workflowsV1Workflow_universal_d_CardsList = CardsList;\n  type workflowsV1Workflow_universal_d_Card = Card;\n  type workflowsV1Workflow_universal_d_CardInfo = CardInfo;\n  type workflowsV1Workflow_universal_d_Attachment = Attachment;\n  type workflowsV1Workflow_universal_d_AttachmentType = AttachmentType;\n  const workflowsV1Workflow_universal_d_AttachmentType: typeof AttachmentType;\n  type workflowsV1Workflow_universal_d_PhasesList = PhasesList;\n  type workflowsV1Workflow_universal_d_ListWorkflowsRequest = ListWorkflowsRequest;\n  type workflowsV1Workflow_universal_d_ListWorkflowsResponse = ListWorkflowsResponse;\n  type workflowsV1Workflow_universal_d_PaginationResponse = PaginationResponse;\n  type workflowsV1Workflow_universal_d_QueryWorkflowsRequest = QueryWorkflowsRequest;\n  type workflowsV1Workflow_universal_d_Query = Query;\n  type workflowsV1Workflow_universal_d_Sorting = Sorting;\n  type workflowsV1Workflow_universal_d_SortOrder = SortOrder;\n  const workflowsV1Workflow_universal_d_SortOrder: typeof SortOrder;\n  type workflowsV1Workflow_universal_d_Paging = Paging;\n  type workflowsV1Workflow_universal_d_QueryWorkflowsResponse = QueryWorkflowsResponse;\n  type workflowsV1Workflow_universal_d_GetWorkflowRequest = GetWorkflowRequest;\n  type workflowsV1Workflow_universal_d_GetWorkflowResponse = GetWorkflowResponse;\n  type workflowsV1Workflow_universal_d_UpdateWorkflowRequest = UpdateWorkflowRequest;\n  type workflowsV1Workflow_universal_d_UpdateWorkflowResponse = UpdateWorkflowResponse;\n  type workflowsV1Workflow_universal_d_CreateWorkflowRequest = CreateWorkflowRequest;\n  type workflowsV1Workflow_universal_d_CreateWorkflowResponse = CreateWorkflowResponse;\n  type workflowsV1Workflow_universal_d_DeleteWorkflowRequest = DeleteWorkflowRequest;\n  type workflowsV1Workflow_universal_d_DeleteWorkflowResponse = DeleteWorkflowResponse;\n  type workflowsV1Workflow_universal_d_SetupWorkflowRequest = SetupWorkflowRequest;\n  type workflowsV1Workflow_universal_d_SetupWorkflowResponse = SetupWorkflowResponse;\n  const workflowsV1Workflow_universal_d_listWorkflows: typeof listWorkflows;\n  type workflowsV1Workflow_universal_d_ListWorkflowsOptions = ListWorkflowsOptions;\n  const workflowsV1Workflow_universal_d_queryWorkflows: typeof queryWorkflows;\n  type workflowsV1Workflow_universal_d_QueryWorkflowsOptions = QueryWorkflowsOptions;\n  const workflowsV1Workflow_universal_d_getWorkflow: typeof getWorkflow;\n  type workflowsV1Workflow_universal_d_GetWorkflowOptions = GetWorkflowOptions;\n  const workflowsV1Workflow_universal_d_updateWorkflow: typeof updateWorkflow;\n  const workflowsV1Workflow_universal_d_createWorkflow: typeof createWorkflow;\n  const workflowsV1Workflow_universal_d_deleteWorkflow: typeof deleteWorkflow;\n  const workflowsV1Workflow_universal_d_setupWorkflow: typeof setupWorkflow;\n  namespace workflowsV1Workflow_universal_d {\n    export {\n      workflowsV1Workflow_universal_d_Workflow as Workflow,\n      workflowsV1Workflow_universal_d_WorkflowInfo as WorkflowInfo,\n      workflowsV1Workflow_universal_d_Phase as Phase,\n      workflowsV1Workflow_universal_d_PhaseInfo as PhaseInfo,\n      workflowsV1Workflow_universal_d_CardsList as CardsList,\n      workflowsV1Workflow_universal_d_Card as Card,\n      workflowsV1Workflow_universal_d_CardInfo as CardInfo,\n      workflowsV1Workflow_universal_d_Attachment as Attachment,\n      workflowsV1Workflow_universal_d_AttachmentType as AttachmentType,\n      workflowsV1Workflow_universal_d_PhasesList as PhasesList,\n      workflowsV1Workflow_universal_d_ListWorkflowsRequest as ListWorkflowsRequest,\n      workflowsV1Workflow_universal_d_ListWorkflowsResponse as ListWorkflowsResponse,\n      workflowsV1Workflow_universal_d_PaginationResponse as PaginationResponse,\n      workflowsV1Workflow_universal_d_QueryWorkflowsRequest as QueryWorkflowsRequest,\n      workflowsV1Workflow_universal_d_Query as Query,\n      workflowsV1Workflow_universal_d_Sorting as Sorting,\n      workflowsV1Workflow_universal_d_SortOrder as SortOrder,\n      workflowsV1Workflow_universal_d_Paging as Paging,\n      workflowsV1Workflow_universal_d_QueryWorkflowsResponse as QueryWorkflowsResponse,\n      workflowsV1Workflow_universal_d_GetWorkflowRequest as GetWorkflowRequest,\n      workflowsV1Workflow_universal_d_GetWorkflowResponse as GetWorkflowResponse,\n      workflowsV1Workflow_universal_d_UpdateWorkflowRequest as UpdateWorkflowRequest,\n      workflowsV1Workflow_universal_d_UpdateWorkflowResponse as UpdateWorkflowResponse,\n      workflowsV1Workflow_universal_d_CreateWorkflowRequest as CreateWorkflowRequest,\n      workflowsV1Workflow_universal_d_CreateWorkflowResponse as CreateWorkflowResponse,\n      workflowsV1Workflow_universal_d_DeleteWorkflowRequest as DeleteWorkflowRequest,\n      workflowsV1Workflow_universal_d_DeleteWorkflowResponse as DeleteWorkflowResponse,\n      workflowsV1Workflow_universal_d_SetupWorkflowRequest as SetupWorkflowRequest,\n      workflowsV1Workflow_universal_d_SetupWorkflowResponse as SetupWorkflowResponse,\n      workflowsV1Workflow_universal_d_listWorkflows as listWorkflows,\n      workflowsV1Workflow_universal_d_ListWorkflowsOptions as ListWorkflowsOptions,\n      workflowsV1Workflow_universal_d_queryWorkflows as queryWorkflows,\n      workflowsV1Workflow_universal_d_QueryWorkflowsOptions as QueryWorkflowsOptions,\n      workflowsV1Workflow_universal_d_getWorkflow as getWorkflow,\n      workflowsV1Workflow_universal_d_GetWorkflowOptions as GetWorkflowOptions,\n      workflowsV1Workflow_universal_d_updateWorkflow as updateWorkflow,\n      workflowsV1Workflow_universal_d_createWorkflow as createWorkflow,\n      workflowsV1Workflow_universal_d_deleteWorkflow as deleteWorkflow,\n      workflowsV1Workflow_universal_d_setupWorkflow as setupWorkflow,\n    };\n  }\n  \n  export { workflowsV1Card_universal_d as cards, workflowsV1Phase_universal_d as phases, workflowsV1Workflow_universal_d as workflows };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-risewallet.d.ts",
      "content": "declare module \"wix-risewallet\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Wallet is the main entity of WalletService that contains GiftCard and customer references */\n  interface Wallet {\n      /**\n       * Wallet ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the Gift Card associated with this Wallet\n       * @readonly\n       */\n      giftCardId?: string;\n      /**\n       * Customer references\n       * @readonly\n       */\n      customerRefs?: CustomerRef[];\n      /**\n       * Represents the time this Wallet was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Wallet was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Gift Card info\n       * @readonly\n       */\n      giftCardInfo?: GiftCardInfo;\n  }\n  interface CustomerRef {\n      /** Source channel, i.e. Shopify */\n      sourceChannel?: string;\n      /** Tenant ID in Source, i.e. shop ID */\n      sourceTenantId?: string;\n      /** Customer ID in Source */\n      sourceCustomerId?: string;\n      /** First name */\n      firstName?: string | null;\n      /** Last name */\n      lastName?: string | null;\n      /** Phone */\n      phone?: string | null;\n      /** Email */\n      email?: string;\n  }\n  interface GiftCardInfo {\n      /** Gift Card Code */\n      code?: string;\n      /** Current Gift Card Balance */\n      balance?: string;\n      /** Gift Card Currency */\n      currency?: string | null;\n  }\n  interface CreateWalletRequest {\n      /** Customer reference */\n      customerRef: CustomerRef;\n      /** Initial amount */\n      initialValue?: string | null;\n      /** Currency */\n      currency?: string | null;\n  }\n  interface CreateWalletResponse {\n      /** wallet */\n      wallet?: Wallet;\n  }\n  interface CreateCustomerRefRequest {\n      /** Customer reference */\n      customerRef: CustomerRef;\n  }\n  interface CreateCustomerRefResponse {\n      /** Customer reference */\n      customerRef?: CustomerRef;\n  }\n  interface GetCustomerRefRequest {\n      /** Query */\n      query: CustomerRefQuery;\n  }\n  interface CustomerRefQuery {\n      /** CustomerRef source */\n      customerRefSource?: Source;\n  }\n  interface Source {\n      /** Source channel, i.e. Shopify */\n      sourceChannel?: string;\n      /** Tenant ID in Source, i.e. shop ID */\n      sourceTenantId?: string;\n      /** Customer ID in Source */\n      sourceCustomerId?: string;\n  }\n  interface GetCustomerRefResponse {\n      /** Customer reference */\n      customerRef?: CustomerRef;\n  }\n  interface UpdateCustomerRefRequest {\n      /** PII information of CustomerRef will be updated. CustomerRef is identified by ID or source. */\n      customerRef: CustomerRef;\n  }\n  interface UpdateCustomerRefResponse {\n      /** Customer reference */\n      customerRef?: CustomerRef;\n  }\n  interface DeleteCustomerRefRequest {\n      /** Query */\n      query: CustomerRefQuery;\n  }\n  interface DeleteCustomerRefResponse {\n  }\n  interface GetWalletRequest {\n      /** Query */\n      query: WalletQuery;\n  }\n  interface WalletQuery extends WalletQueryByOneOf {\n      /** Wallet id */\n      walletId?: string;\n      /** Email */\n      email?: string;\n      /** CustomerRef source */\n      customerRefSource?: Source;\n  }\n  /** @oneof */\n  interface WalletQueryByOneOf {\n      /** Wallet id */\n      walletId?: string;\n      /** Email */\n      email?: string;\n      /** CustomerRef source */\n      customerRefSource?: Source;\n  }\n  interface GetWalletResponse {\n      /** The retrieved Wallet */\n      wallet?: Wallet;\n  }\n  interface GetWalletGiftCardRequest {\n      /** ID of the Wallet for which to retrieve the associated Gift Card */\n      query: WalletQuery;\n  }\n  interface GetWalletGiftCardResponse {\n      /** The retrieved Gift Card */\n      giftCard?: GiftCard;\n  }\n  /** GiftCard is the main entity of GiftCardService that matches between code and credit balance */\n  interface GiftCard {\n      /**\n       * Gift Card unique id\n       * @readonly\n       */\n      _id?: string | null;\n      /** Gift Card code */\n      code?: string | null;\n      /** Gift Card initial value */\n      initialValue?: string;\n      /**\n       * Gift Card balance\n       * @readonly\n       */\n      balance?: string | null;\n      /** Gift Card contact id */\n      contactId?: string | null;\n      /** Gift card meta data */\n      meta?: GiftCardMeta;\n      /** Gift Card revision */\n      revision?: string | null;\n      /** Gift Card currency */\n      currency?: string | null;\n      /** Gift Card expiration date */\n      expiresAt?: Date;\n      /**\n       * Gift Card creation date\n       * @readonly\n       */\n      createdAt?: Date;\n      /**\n       * Gift Card last update date\n       * @readonly\n       */\n      updatedAt?: Date;\n      /**\n       * Last Transaction id\n       * @readonly\n       */\n      lastTransactionId?: string | null;\n  }\n  interface GiftCardMeta extends GiftCardMetaGiftCardOptionsOneOf {\n      /** Gift Card purchase */\n      orderOptions?: OrderOptions;\n      /** Bulk Options */\n      campaignOptions?: CampaignOptions;\n      /** Migration Options (migrating from another gift card) */\n      migrationOptions?: MigrationOptions;\n      /** Store Credit Options */\n      storeCreditOptions?: StoreCreditOptions;\n      type?: GiftCardType;\n      /** The Tenant ID that is associated with the gift card creation */\n      sourceId?: string | null;\n  }\n  /** @oneof */\n  interface GiftCardMetaGiftCardOptionsOneOf {\n      /** Gift Card purchase */\n      orderOptions?: OrderOptions;\n      /** Bulk Options */\n      campaignOptions?: CampaignOptions;\n      /** Migration Options (migrating from another gift card) */\n      migrationOptions?: MigrationOptions;\n      /** Store Credit Options */\n      storeCreditOptions?: StoreCreditOptions;\n  }\n  enum GiftCardType {\n      UNKNOWN = \"UNKNOWN\",\n      ORDER = \"ORDER\",\n      CAMPAIGN = \"CAMPAIGN\",\n      MIGRATION = \"MIGRATION\",\n      STORE_CREDIT = \"STORE_CREDIT\",\n      MANUAL = \"MANUAL\"\n  }\n  interface OrderOptions {\n      orderId?: string;\n  }\n  interface CampaignOptions {\n      campaignId?: string;\n  }\n  interface MigrationOptions {\n      previousId?: string;\n  }\n  interface StoreCreditOptions {\n      walletId?: string;\n  }\n  interface QueryWalletsRequest {\n      /** WQL expression for filtering Wallet entity */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryWalletsResponse {\n      /**\n       * list of wallets with gift card info\n       * @readonly\n       */\n      wallets?: Wallet[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  \n  const riseV1Wallet_universal_d___debug: typeof __debug;\n  type riseV1Wallet_universal_d_Wallet = Wallet;\n  type riseV1Wallet_universal_d_CustomerRef = CustomerRef;\n  type riseV1Wallet_universal_d_GiftCardInfo = GiftCardInfo;\n  type riseV1Wallet_universal_d_CreateWalletRequest = CreateWalletRequest;\n  type riseV1Wallet_universal_d_CreateWalletResponse = CreateWalletResponse;\n  type riseV1Wallet_universal_d_CreateCustomerRefRequest = CreateCustomerRefRequest;\n  type riseV1Wallet_universal_d_CreateCustomerRefResponse = CreateCustomerRefResponse;\n  type riseV1Wallet_universal_d_GetCustomerRefRequest = GetCustomerRefRequest;\n  type riseV1Wallet_universal_d_CustomerRefQuery = CustomerRefQuery;\n  type riseV1Wallet_universal_d_Source = Source;\n  type riseV1Wallet_universal_d_GetCustomerRefResponse = GetCustomerRefResponse;\n  type riseV1Wallet_universal_d_UpdateCustomerRefRequest = UpdateCustomerRefRequest;\n  type riseV1Wallet_universal_d_UpdateCustomerRefResponse = UpdateCustomerRefResponse;\n  type riseV1Wallet_universal_d_DeleteCustomerRefRequest = DeleteCustomerRefRequest;\n  type riseV1Wallet_universal_d_DeleteCustomerRefResponse = DeleteCustomerRefResponse;\n  type riseV1Wallet_universal_d_GetWalletRequest = GetWalletRequest;\n  type riseV1Wallet_universal_d_WalletQuery = WalletQuery;\n  type riseV1Wallet_universal_d_WalletQueryByOneOf = WalletQueryByOneOf;\n  type riseV1Wallet_universal_d_GetWalletResponse = GetWalletResponse;\n  type riseV1Wallet_universal_d_GetWalletGiftCardRequest = GetWalletGiftCardRequest;\n  type riseV1Wallet_universal_d_GetWalletGiftCardResponse = GetWalletGiftCardResponse;\n  type riseV1Wallet_universal_d_GiftCard = GiftCard;\n  type riseV1Wallet_universal_d_GiftCardMeta = GiftCardMeta;\n  type riseV1Wallet_universal_d_GiftCardMetaGiftCardOptionsOneOf = GiftCardMetaGiftCardOptionsOneOf;\n  type riseV1Wallet_universal_d_GiftCardType = GiftCardType;\n  const riseV1Wallet_universal_d_GiftCardType: typeof GiftCardType;\n  type riseV1Wallet_universal_d_OrderOptions = OrderOptions;\n  type riseV1Wallet_universal_d_CampaignOptions = CampaignOptions;\n  type riseV1Wallet_universal_d_MigrationOptions = MigrationOptions;\n  type riseV1Wallet_universal_d_StoreCreditOptions = StoreCreditOptions;\n  type riseV1Wallet_universal_d_QueryWalletsRequest = QueryWalletsRequest;\n  type riseV1Wallet_universal_d_QueryV2 = QueryV2;\n  type riseV1Wallet_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type riseV1Wallet_universal_d_Sorting = Sorting;\n  type riseV1Wallet_universal_d_SortOrder = SortOrder;\n  const riseV1Wallet_universal_d_SortOrder: typeof SortOrder;\n  type riseV1Wallet_universal_d_Paging = Paging;\n  type riseV1Wallet_universal_d_CursorPaging = CursorPaging;\n  type riseV1Wallet_universal_d_QueryWalletsResponse = QueryWalletsResponse;\n  type riseV1Wallet_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type riseV1Wallet_universal_d_Cursors = Cursors;\n  namespace riseV1Wallet_universal_d {\n    export {\n      riseV1Wallet_universal_d___debug as __debug,\n      riseV1Wallet_universal_d_Wallet as Wallet,\n      riseV1Wallet_universal_d_CustomerRef as CustomerRef,\n      riseV1Wallet_universal_d_GiftCardInfo as GiftCardInfo,\n      riseV1Wallet_universal_d_CreateWalletRequest as CreateWalletRequest,\n      riseV1Wallet_universal_d_CreateWalletResponse as CreateWalletResponse,\n      riseV1Wallet_universal_d_CreateCustomerRefRequest as CreateCustomerRefRequest,\n      riseV1Wallet_universal_d_CreateCustomerRefResponse as CreateCustomerRefResponse,\n      riseV1Wallet_universal_d_GetCustomerRefRequest as GetCustomerRefRequest,\n      riseV1Wallet_universal_d_CustomerRefQuery as CustomerRefQuery,\n      riseV1Wallet_universal_d_Source as Source,\n      riseV1Wallet_universal_d_GetCustomerRefResponse as GetCustomerRefResponse,\n      riseV1Wallet_universal_d_UpdateCustomerRefRequest as UpdateCustomerRefRequest,\n      riseV1Wallet_universal_d_UpdateCustomerRefResponse as UpdateCustomerRefResponse,\n      riseV1Wallet_universal_d_DeleteCustomerRefRequest as DeleteCustomerRefRequest,\n      riseV1Wallet_universal_d_DeleteCustomerRefResponse as DeleteCustomerRefResponse,\n      riseV1Wallet_universal_d_GetWalletRequest as GetWalletRequest,\n      riseV1Wallet_universal_d_WalletQuery as WalletQuery,\n      riseV1Wallet_universal_d_WalletQueryByOneOf as WalletQueryByOneOf,\n      riseV1Wallet_universal_d_GetWalletResponse as GetWalletResponse,\n      riseV1Wallet_universal_d_GetWalletGiftCardRequest as GetWalletGiftCardRequest,\n      riseV1Wallet_universal_d_GetWalletGiftCardResponse as GetWalletGiftCardResponse,\n      riseV1Wallet_universal_d_GiftCard as GiftCard,\n      riseV1Wallet_universal_d_GiftCardMeta as GiftCardMeta,\n      riseV1Wallet_universal_d_GiftCardMetaGiftCardOptionsOneOf as GiftCardMetaGiftCardOptionsOneOf,\n      riseV1Wallet_universal_d_GiftCardType as GiftCardType,\n      riseV1Wallet_universal_d_OrderOptions as OrderOptions,\n      riseV1Wallet_universal_d_CampaignOptions as CampaignOptions,\n      riseV1Wallet_universal_d_MigrationOptions as MigrationOptions,\n      riseV1Wallet_universal_d_StoreCreditOptions as StoreCreditOptions,\n      riseV1Wallet_universal_d_QueryWalletsRequest as QueryWalletsRequest,\n      riseV1Wallet_universal_d_QueryV2 as QueryV2,\n      riseV1Wallet_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      riseV1Wallet_universal_d_Sorting as Sorting,\n      riseV1Wallet_universal_d_SortOrder as SortOrder,\n      riseV1Wallet_universal_d_Paging as Paging,\n      riseV1Wallet_universal_d_CursorPaging as CursorPaging,\n      riseV1Wallet_universal_d_QueryWalletsResponse as QueryWalletsResponse,\n      riseV1Wallet_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      riseV1Wallet_universal_d_Cursors as Cursors,\n    };\n  }\n  \n  export { riseV1Wallet_universal_d as wallet };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-riseevent.d.ts",
      "content": "declare module \"wix-riseevent\" {\n  /** Event is the main entity of EventService */\n  interface Event {\n      /**\n       * Event ID\n       * @internal\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision\n       * @internal\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Event was created\n       * @internal\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this Event was last updated\n       * @internal\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Wallet ID\n       * @internal\n       */\n      walletId?: string;\n      /**\n       * Represents the time when the event's amount will be added to the account\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * Represents the time when the unused balance will be deducted from the account\n       * @internal\n       */\n      expiresAt?: Date | null;\n      /**\n       * Represents the time when the event was manually disabled\n       * @internal\n       */\n      disabledAt?: Date | null;\n      /**\n       * The amount to be added to the customer\n       * @internal\n       */\n      amount?: string;\n      /**\n       * Free text comment regarding the Event context\n       * @internal\n       */\n      note?: string | null;\n      /**\n       * Indicates the kind of the specific event\n       * @internal\n       */\n      type?: EventType;\n      /**\n       * The transactionId that added the event's amount;\n       * @internal\n       * @readonly\n       */\n      eventAddedTransactionId?: string | null;\n      /**\n       * The transactionId that removed the remaining event's balance;\n       * @internal\n       * @readonly\n       */\n      eventRemovedTransactionId?: string | null;\n      /** @internal */\n      status?: EventStatus;\n  }\n  enum EventType {\n      UNKNOWN = \"UNKNOWN\",\n      REWARD = \"REWARD\",\n      REFUND = \"REFUND\"\n  }\n  enum EventStatus {\n      PENDING = \"PENDING\",\n      ACTIVE = \"ACTIVE\",\n      DISABLED = \"DISABLED\",\n      EXPIRED = \"EXPIRED\"\n  }\n  interface CreateEventRequest {\n      /**\n       * Event to be created\n       * @internal\n       */\n      event: Event;\n  }\n  interface CreateEventResponse {\n      /**\n       * The created Event\n       * @internal\n       */\n      event?: Event;\n  }\n  interface EventCreationExpirationDateInThePastDetails {\n      /**\n       * The date when the event expires.\n       * @internal\n       */\n      expiresAt?: Date | null;\n      /**\n       * The date when the event was tried to be created.\n       * @internal\n       */\n      currentDate?: Date | null;\n  }\n  interface EventCreationStartLaterThanExpirationDetails {\n      /**\n       * The start date of the event.\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * The date when the event expires.\n       * @internal\n       */\n      expiresAt?: Date | null;\n  }\n  interface EventCreationDisabledAtDateSetDetails {\n      /**\n       * Represents the time when the event was disabled.\n       * @internal\n       */\n      disabledAt?: Date | null;\n  }\n  interface GetEventRequest {\n      /**\n       * ID of the Event to retrieve\n       * @internal\n       */\n      eventId: string;\n  }\n  interface GetEventResponse {\n      /**\n       * The retrieved Event\n       * @internal\n       */\n      event?: Event;\n  }\n  interface UpdateEventRequest {\n      /**\n       * Event to be updated, may be partial\n       * @internal\n       */\n      event: Event;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateEventResponse {\n      /**\n       * The updated Event\n       * @internal\n       */\n      event?: Event;\n  }\n  interface InvalidEventDetails {\n      /**\n       * Event ID.\n       * @internal\n       */\n      eventId?: string;\n  }\n  interface EventUpdateStartDateInThePastDetails {\n      /**\n       * Event ID.\n       * @internal\n       */\n      eventId?: string;\n      /**\n       * The date when the event expires.\n       * @internal\n       */\n      newStartDate?: Date | null;\n      /**\n       * The date when the event was tried to be updated.\n       * @internal\n       */\n      currentDate?: Date | null;\n  }\n  interface EventUpdateExpirationDateInThePastDetails {\n      /**\n       * Event ID.\n       * @internal\n       */\n      eventId?: string;\n      /**\n       * The date when the event expires.\n       * @internal\n       */\n      newExpiresAt?: Date | null;\n      /**\n       * The date when the event was tried to be updated.\n       * @internal\n       */\n      currentDate?: Date | null;\n  }\n  interface EventUpdateStartLaterThanExpirationDetails {\n      /**\n       * Event ID.\n       * @internal\n       */\n      eventId?: string;\n      /**\n       * The start date of the event.\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * The date when the event expires.\n       * @internal\n       */\n      expiresAt?: Date | null;\n  }\n  interface DisableEventRequest {\n      /**\n       * ID of the Event to delete\n       * @internal\n       */\n      eventId: string;\n      /**\n       * The revision of the Event\n       * @internal\n       */\n      revision: string;\n  }\n  interface DisableEventResponse {\n      /**\n       * The expired Event\n       * @internal\n       */\n      event?: Event;\n  }\n  interface EventDisabled {\n      /** @internal */\n      event?: Event;\n  }\n  interface DeleteEventRequest {\n      /**\n       * ID of the Event to delete\n       * @internal\n       */\n      eventId: string;\n      /**\n       * The revision of the Event\n       * @internal\n       */\n      revision?: string;\n  }\n  interface DeleteEventResponse {\n  }\n  interface QueryEventRequest {\n      /**\n       * WQL expression\n       * @internal\n       */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /**\n       * Paging options to limit and skip the number of items.\n       * @internal\n       */\n      paging?: Paging;\n      /**\n       * Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       * @internal\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       * @internal\n       */\n      sort?: Sorting[];\n      /**\n       * Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned.\n       * @internal\n       */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /**\n       * Paging options to limit and skip the number of items.\n       * @internal\n       */\n      paging?: Paging;\n      /**\n       * Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.\n       * @internal\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /**\n       * Name of the field to sort by.\n       * @internal\n       */\n      fieldName?: string;\n      /**\n       * Sort order.\n       * @internal\n       */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /**\n       * Number of items to load.\n       * @internal\n       */\n      limit?: number | null;\n      /**\n       * Number of items to skip in the current sort order.\n       * @internal\n       */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /**\n       * Number of items to load.\n       * @internal\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       * @internal\n       */\n      cursor?: string | null;\n  }\n  interface QueryEventResponse {\n      /**\n       * The retrieved Events\n       * @internal\n       */\n      events?: Event[];\n      /** @internal */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /**\n       * Number of items returned in the response.\n       * @internal\n       */\n      count?: number | null;\n      /**\n       * Offset that was requested.\n       * @internal\n       */\n      offset?: number | null;\n      /**\n       * Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set.\n       * @internal\n       */\n      total?: number | null;\n      /**\n       * Flag that indicates the server failed to calculate the `total` field.\n       * @internal\n       */\n      tooManyToCount?: boolean | null;\n      /**\n       * Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used.\n       * @internal\n       */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /**\n       * Cursor pointing to next page in the list of results.\n       * @internal\n       */\n      next?: string | null;\n      /**\n       * Cursor pointing to previous page in the list of results.\n       * @internal\n       */\n      prev?: string | null;\n  }\n  interface QueryEventBalancesRequest {\n      /**\n       * WQL expression\n       * @internal\n       */\n      query: QueryV2;\n  }\n  interface QueryEventBalancesResponse {\n      /**\n       * The retrieved Events with their balance\n       * @internal\n       */\n      events?: EventWithBalance[];\n      /** @internal */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface EventWithBalance {\n      /**\n       * Event\n       * @internal\n       */\n      event?: Event;\n      /**\n       * Event balance\n       * @internal\n       */\n      balance?: string | null;\n  }\n  interface Task extends TaskTriggerOneOf {\n      /**\n       * A trigger which will fire once at a specified timestamp\n       * @internal\n       */\n      oneTime?: Date | null;\n      /**\n       * A recurrent trigger defined by a specified cron expression.\n       *\n       * Cron expression is a string of five space-separated sub-expressions\n       *\n       * * * * * *\n       * | | | | |\n       * minute of hour | | | day of week\n       * hour of day | month of year\n       * day of month\n       *\n       * Field            Accepted values\n       * -----            ---------------\n       * minute of hour   0..59 / * ,\n       * hour of day      0..23 / * ,\n       * day of month     1..31 / * , W L\n       * month of year    1..12 / * ,\n       * day of week      0..7 MON..SUN / * W L #\n       *\n       * Coma separates multiple values:\n       * 0,20,40 * * * * => on 0th, 20th and 40th minute\n       * Slash selects every Nth value:\n       * * /20 * * * * => equivalent to 0,20,40\n       * 5/20 * * * * => on 5th, 25th and 45th minute\n       * W selects working days\n       * 0 2 * * W =>  2am on Mon..Fri\n       * L selects the last day of ...\n       * 0 0 L * *    => last day of each month\n       * 0 0 LW * *   => last working day of each month\n       * 0 0 * * FRIL => midnight of the last Friday of the month\n       * Hash selects Nth day of week\n       * 0 0 * * Mon#1 => midnight of the first Monday of the month\n       *\n       * Following aliases are supported: @hourly, @daily, @weekly, @monthly\n       *\n       * The first execution time will be evaluated based on the client invocation time (approximately the moment the\n       * client call returns).\n       * All executions will be evaluated in UTC.\n       *\n       * Example:\n       * 00:19:59 - client schedules a task with cron = 0/20 * * * * (every 20-th minute of the hour)\n       * 00:20:02 - task reaches Time Capsule database\n       * 00:21:00 - task is executed by Time Capsule, the client is triggered with a ~1 minute delay\n       * 00:40:00 - task is executed by Time Capsule according to the schedule with no delay\n       * @internal\n       */\n      cron?: string;\n      /**\n       * Task id\n       * @internal\n       */\n      _id?: TaskId;\n      /**\n       * Task payload\n       * @internal\n       */\n      payload?: Record<string, any> | null;\n      /**\n       * A Greyhound topic to which the task will be produced when triggered\n       * @internal\n       * @readonly\n       */\n      topic?: string;\n      /**\n       * The time when this task is scheduled to trigger. For reoccurring tasks, this will be hold the next time this task will run and will be updated after every run\n       * @internal\n       * @readonly\n       */\n      scheduledFor?: Date | null;\n  }\n  /** @oneof */\n  interface TaskTriggerOneOf {\n      /**\n       * A trigger which will fire once at a specified timestamp\n       * @internal\n       */\n      oneTime?: Date | null;\n      /**\n       * A recurrent trigger defined by a specified cron expression.\n       *\n       * Cron expression is a string of five space-separated sub-expressions\n       *\n       * * * * * *\n       * | | | | |\n       * minute of hour | | | day of week\n       * hour of day | month of year\n       * day of month\n       *\n       * Field            Accepted values\n       * -----            ---------------\n       * minute of hour   0..59 / * ,\n       * hour of day      0..23 / * ,\n       * day of month     1..31 / * , W L\n       * month of year    1..12 / * ,\n       * day of week      0..7 MON..SUN / * W L #\n       *\n       * Coma separates multiple values:\n       * 0,20,40 * * * * => on 0th, 20th and 40th minute\n       * Slash selects every Nth value:\n       * * /20 * * * * => equivalent to 0,20,40\n       * 5/20 * * * * => on 5th, 25th and 45th minute\n       * W selects working days\n       * 0 2 * * W =>  2am on Mon..Fri\n       * L selects the last day of ...\n       * 0 0 L * *    => last day of each month\n       * 0 0 LW * *   => last working day of each month\n       * 0 0 * * FRIL => midnight of the last Friday of the month\n       * Hash selects Nth day of week\n       * 0 0 * * Mon#1 => midnight of the first Monday of the month\n       *\n       * Following aliases are supported: @hourly, @daily, @weekly, @monthly\n       *\n       * The first execution time will be evaluated based on the client invocation time (approximately the moment the\n       * client call returns).\n       * All executions will be evaluated in UTC.\n       *\n       * Example:\n       * 00:19:59 - client schedules a task with cron = 0/20 * * * * (every 20-th minute of the hour)\n       * 00:20:02 - task reaches Time Capsule database\n       * 00:21:00 - task is executed by Time Capsule, the client is triggered with a ~1 minute delay\n       * 00:40:00 - task is executed by Time Capsule according to the schedule with no delay\n       * @internal\n       */\n      cron?: string;\n  }\n  interface TaskId {\n      /**\n       * A unique identifier of an application or a source that define the task. In most cases this would be the appDefId\n       * @internal\n       */\n      namespace?: string;\n      /**\n       * A free-form string distinguishing different families of tasks within a namespace.\n       * For example: \"send-promo-email\", \"ClearTrashBin\", \"premium expiration reminder\"\n       * @internal\n       */\n      taskType?: string;\n      /**\n       * A free-form string that together with `namespace` and `task_type` uniquely identifies a task.\n       * When there is an entity involved, setting this to be equal to the ID of an entity related to the task is a good option.\n       * @internal\n       */\n      key?: string;\n  }\n  interface Empty {\n  }\n  interface EventExpired {\n      /** @internal */\n      event?: Event;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      /** @internal */\n      createdEvent?: EntityCreatedEvent;\n      /** @internal */\n      updatedEvent?: EntityUpdatedEvent;\n      /** @internal */\n      deletedEvent?: EntityDeletedEvent;\n      /** @internal */\n      actionEvent?: ActionEvent;\n      /**\n       * random GUID so clients can tell if event was already handled\n       * @internal\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       * @internal\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       * @internal\n       */\n      slug?: string;\n      /**\n       * Assuming that all messages including Actions have id\n       * Example: The id of the specific order, the id of a specific campaign\n       * @internal\n       */\n      entityId?: string;\n      /**\n       * The time of the event. Useful if there was a delay in dispatching\n       * @internal\n       */\n      eventTime?: Date | null;\n      /**\n       * A field that should be set if this event was triggered by an anonymize request.\n       * For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n       * NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n       * @internal\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /**\n       * If present, indicates the action that triggered the event.\n       * @internal\n       */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       * @internal\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      /** @internal */\n      createdEvent?: EntityCreatedEvent;\n      /** @internal */\n      updatedEvent?: EntityUpdatedEvent;\n      /** @internal */\n      deletedEvent?: EntityDeletedEvent;\n      /** @internal */\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      /** @internal */\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       * @internal\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      entityUpdates?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent {\n      /** @internal */\n      bodyAsJson?: string;\n  }\n  /**\n   * Creates a new Event\n   * @param event - Event to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField event\n   * @permissionId RISE.EVENT_CREATE\n   * @adminMethod\n   * @returns The created Event\n   */\n  function createEvent(event: Event): Promise<Event>;\n  /**\n   * Get an Event by ID\n   * @param eventId - ID of the Event to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @permissionId RISE.EVENT_READ\n   * @adminMethod\n   * @returns The retrieved Event\n   */\n  function getEvent(eventId: string): Promise<Event>;\n  /**\n   * Update an Event, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - Event ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField event\n   * @permissionId RISE.EVENT_UPDATE\n   * @adminMethod\n   * @returns The updated Event\n   */\n  function updateEvent(_id: string | null, event: UpdateEvent, options?: UpdateEventOptions): Promise<Event>;\n  interface UpdateEvent {\n      /**\n       * Event ID\n       * @internal\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision\n       * @internal\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Event was created\n       * @internal\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this Event was last updated\n       * @internal\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Wallet ID\n       * @internal\n       */\n      walletId?: string;\n      /**\n       * Represents the time when the event's amount will be added to the account\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * Represents the time when the unused balance will be deducted from the account\n       * @internal\n       */\n      expiresAt?: Date | null;\n      /**\n       * Represents the time when the event was manually disabled\n       * @internal\n       */\n      disabledAt?: Date | null;\n      /**\n       * The amount to be added to the customer\n       * @internal\n       */\n      amount?: string;\n      /**\n       * Free text comment regarding the Event context\n       * @internal\n       */\n      note?: string | null;\n      /**\n       * Indicates the kind of the specific event\n       * @internal\n       */\n      type?: EventType;\n      /**\n       * The transactionId that added the event's amount;\n       * @internal\n       * @readonly\n       */\n      eventAddedTransactionId?: string | null;\n      /**\n       * The transactionId that removed the remaining event's balance;\n       * @internal\n       * @readonly\n       */\n      eventRemovedTransactionId?: string | null;\n      /** @internal */\n      status?: EventStatus;\n  }\n  interface UpdateEventOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Expire an Event immediately and deducting the remaining balance from the gift card\n   * @param eventId - ID of the Event to delete\n   * @param revision - The revision of the Event\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField revision\n   * @permissionId RISE.EVENT_UPDATE\n   * @adminMethod\n   */\n  function disableEvent(eventId: string, revision: string): Promise<void>;\n  /**\n   * Delete an Event, only available for events which haven't started\n   * @param eventId - ID of the Event to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @permissionId RISE.EVENT_DELETE\n   * @adminMethod\n   */\n  function deleteEvent(eventId: string, options?: DeleteEventOptions): Promise<void>;\n  interface DeleteEventOptions {\n      /**\n       * The revision of the Event\n       * @internal\n       */\n      revision?: string;\n  }\n  /**\n   * Query Events using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @param query - WQL expression\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId RISE.EVENT_READ\n   * @adminMethod\n   */\n  function queryEvent(query: QueryV2): Promise<void>;\n  /**\n   * Query Events using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * Results will be enriched with calculated balances\n   * @param query - WQL expression\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId RISE.EVENT_READ\n   * @adminMethod\n   */\n  function queryEventBalances(query: QueryV2): Promise<void>;\n  \n  type riseV1Event_universal_d_Event = Event;\n  type riseV1Event_universal_d_EventType = EventType;\n  const riseV1Event_universal_d_EventType: typeof EventType;\n  type riseV1Event_universal_d_EventStatus = EventStatus;\n  const riseV1Event_universal_d_EventStatus: typeof EventStatus;\n  type riseV1Event_universal_d_CreateEventRequest = CreateEventRequest;\n  type riseV1Event_universal_d_CreateEventResponse = CreateEventResponse;\n  type riseV1Event_universal_d_EventCreationExpirationDateInThePastDetails = EventCreationExpirationDateInThePastDetails;\n  type riseV1Event_universal_d_EventCreationStartLaterThanExpirationDetails = EventCreationStartLaterThanExpirationDetails;\n  type riseV1Event_universal_d_EventCreationDisabledAtDateSetDetails = EventCreationDisabledAtDateSetDetails;\n  type riseV1Event_universal_d_GetEventRequest = GetEventRequest;\n  type riseV1Event_universal_d_GetEventResponse = GetEventResponse;\n  type riseV1Event_universal_d_UpdateEventRequest = UpdateEventRequest;\n  type riseV1Event_universal_d_UpdateEventResponse = UpdateEventResponse;\n  type riseV1Event_universal_d_InvalidEventDetails = InvalidEventDetails;\n  type riseV1Event_universal_d_EventUpdateStartDateInThePastDetails = EventUpdateStartDateInThePastDetails;\n  type riseV1Event_universal_d_EventUpdateExpirationDateInThePastDetails = EventUpdateExpirationDateInThePastDetails;\n  type riseV1Event_universal_d_EventUpdateStartLaterThanExpirationDetails = EventUpdateStartLaterThanExpirationDetails;\n  type riseV1Event_universal_d_DisableEventRequest = DisableEventRequest;\n  type riseV1Event_universal_d_DisableEventResponse = DisableEventResponse;\n  type riseV1Event_universal_d_EventDisabled = EventDisabled;\n  type riseV1Event_universal_d_DeleteEventRequest = DeleteEventRequest;\n  type riseV1Event_universal_d_DeleteEventResponse = DeleteEventResponse;\n  type riseV1Event_universal_d_QueryEventRequest = QueryEventRequest;\n  type riseV1Event_universal_d_QueryV2 = QueryV2;\n  type riseV1Event_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type riseV1Event_universal_d_Sorting = Sorting;\n  type riseV1Event_universal_d_SortOrder = SortOrder;\n  const riseV1Event_universal_d_SortOrder: typeof SortOrder;\n  type riseV1Event_universal_d_Paging = Paging;\n  type riseV1Event_universal_d_CursorPaging = CursorPaging;\n  type riseV1Event_universal_d_QueryEventResponse = QueryEventResponse;\n  type riseV1Event_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type riseV1Event_universal_d_Cursors = Cursors;\n  type riseV1Event_universal_d_QueryEventBalancesRequest = QueryEventBalancesRequest;\n  type riseV1Event_universal_d_QueryEventBalancesResponse = QueryEventBalancesResponse;\n  type riseV1Event_universal_d_EventWithBalance = EventWithBalance;\n  type riseV1Event_universal_d_Task = Task;\n  type riseV1Event_universal_d_TaskTriggerOneOf = TaskTriggerOneOf;\n  type riseV1Event_universal_d_TaskId = TaskId;\n  type riseV1Event_universal_d_Empty = Empty;\n  type riseV1Event_universal_d_EventExpired = EventExpired;\n  type riseV1Event_universal_d_DomainEvent = DomainEvent;\n  type riseV1Event_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type riseV1Event_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type riseV1Event_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type riseV1Event_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type riseV1Event_universal_d_ActionEvent = ActionEvent;\n  const riseV1Event_universal_d_createEvent: typeof createEvent;\n  const riseV1Event_universal_d_getEvent: typeof getEvent;\n  const riseV1Event_universal_d_updateEvent: typeof updateEvent;\n  type riseV1Event_universal_d_UpdateEvent = UpdateEvent;\n  type riseV1Event_universal_d_UpdateEventOptions = UpdateEventOptions;\n  const riseV1Event_universal_d_disableEvent: typeof disableEvent;\n  const riseV1Event_universal_d_deleteEvent: typeof deleteEvent;\n  type riseV1Event_universal_d_DeleteEventOptions = DeleteEventOptions;\n  const riseV1Event_universal_d_queryEvent: typeof queryEvent;\n  const riseV1Event_universal_d_queryEventBalances: typeof queryEventBalances;\n  namespace riseV1Event_universal_d {\n    export {\n      riseV1Event_universal_d_Event as Event,\n      riseV1Event_universal_d_EventType as EventType,\n      riseV1Event_universal_d_EventStatus as EventStatus,\n      riseV1Event_universal_d_CreateEventRequest as CreateEventRequest,\n      riseV1Event_universal_d_CreateEventResponse as CreateEventResponse,\n      riseV1Event_universal_d_EventCreationExpirationDateInThePastDetails as EventCreationExpirationDateInThePastDetails,\n      riseV1Event_universal_d_EventCreationStartLaterThanExpirationDetails as EventCreationStartLaterThanExpirationDetails,\n      riseV1Event_universal_d_EventCreationDisabledAtDateSetDetails as EventCreationDisabledAtDateSetDetails,\n      riseV1Event_universal_d_GetEventRequest as GetEventRequest,\n      riseV1Event_universal_d_GetEventResponse as GetEventResponse,\n      riseV1Event_universal_d_UpdateEventRequest as UpdateEventRequest,\n      riseV1Event_universal_d_UpdateEventResponse as UpdateEventResponse,\n      riseV1Event_universal_d_InvalidEventDetails as InvalidEventDetails,\n      riseV1Event_universal_d_EventUpdateStartDateInThePastDetails as EventUpdateStartDateInThePastDetails,\n      riseV1Event_universal_d_EventUpdateExpirationDateInThePastDetails as EventUpdateExpirationDateInThePastDetails,\n      riseV1Event_universal_d_EventUpdateStartLaterThanExpirationDetails as EventUpdateStartLaterThanExpirationDetails,\n      riseV1Event_universal_d_DisableEventRequest as DisableEventRequest,\n      riseV1Event_universal_d_DisableEventResponse as DisableEventResponse,\n      riseV1Event_universal_d_EventDisabled as EventDisabled,\n      riseV1Event_universal_d_DeleteEventRequest as DeleteEventRequest,\n      riseV1Event_universal_d_DeleteEventResponse as DeleteEventResponse,\n      riseV1Event_universal_d_QueryEventRequest as QueryEventRequest,\n      riseV1Event_universal_d_QueryV2 as QueryV2,\n      riseV1Event_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      riseV1Event_universal_d_Sorting as Sorting,\n      riseV1Event_universal_d_SortOrder as SortOrder,\n      riseV1Event_universal_d_Paging as Paging,\n      riseV1Event_universal_d_CursorPaging as CursorPaging,\n      riseV1Event_universal_d_QueryEventResponse as QueryEventResponse,\n      riseV1Event_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      riseV1Event_universal_d_Cursors as Cursors,\n      riseV1Event_universal_d_QueryEventBalancesRequest as QueryEventBalancesRequest,\n      riseV1Event_universal_d_QueryEventBalancesResponse as QueryEventBalancesResponse,\n      riseV1Event_universal_d_EventWithBalance as EventWithBalance,\n      riseV1Event_universal_d_Task as Task,\n      riseV1Event_universal_d_TaskTriggerOneOf as TaskTriggerOneOf,\n      riseV1Event_universal_d_TaskId as TaskId,\n      riseV1Event_universal_d_Empty as Empty,\n      riseV1Event_universal_d_EventExpired as EventExpired,\n      riseV1Event_universal_d_DomainEvent as DomainEvent,\n      riseV1Event_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      riseV1Event_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      riseV1Event_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      riseV1Event_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      riseV1Event_universal_d_ActionEvent as ActionEvent,\n      riseV1Event_universal_d_createEvent as createEvent,\n      riseV1Event_universal_d_getEvent as getEvent,\n      riseV1Event_universal_d_updateEvent as updateEvent,\n      riseV1Event_universal_d_UpdateEvent as UpdateEvent,\n      riseV1Event_universal_d_UpdateEventOptions as UpdateEventOptions,\n      riseV1Event_universal_d_disableEvent as disableEvent,\n      riseV1Event_universal_d_deleteEvent as deleteEvent,\n      riseV1Event_universal_d_DeleteEventOptions as DeleteEventOptions,\n      riseV1Event_universal_d_queryEvent as queryEvent,\n      riseV1Event_universal_d_queryEventBalances as queryEventBalances,\n    };\n  }\n  \n  export { riseV1Event_universal_d as event };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-secrets-backend.v2.d.ts",
      "content": "declare module \"wix-secrets-backend.v2\" {\n  interface Secret {\n      /**\n       * Unique secret ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * A unique, human-friendly name for the secret. Use it to retrieve the secret value with Get Secret Value.\n       *\n       * **Note:** You can use alphanumeric characters and the following special characters: `_+=-@#$`. Spaces are not supported.\n       */\n      name?: string | null;\n      /** Optional text describing the secret's purpose or any other notes about it. */\n      description?: string | null;\n      /** The encrypted confidential value. */\n      value?: string | null;\n      /**\n       * Date and time when the secret was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the secret was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface GetSecretValueRequest {\n      /** Secret name. */\n      name: string;\n  }\n  interface GetSecretValueResponse {\n      /** The confidential value to protect, such as an API key. */\n      value?: string;\n  }\n  interface ListSecretInfoRequest {\n  }\n  interface ListSecretInfoResponse {\n      /** A list of secrets with encrypted values. */\n      secrets?: Secret[];\n  }\n  interface CreateSecretRequest {\n      /** Details of a secret. */\n      secret: Secret;\n  }\n  interface CreateSecretResponse {\n      /** Unique secret ID. */\n      _id?: string;\n  }\n  interface DeleteSecretRequest {\n      /** ID of the secret to delete. */\n      _id: string;\n  }\n  interface DeleteSecretResponse {\n  }\n  interface UpdateSecretRequest {\n      /** ID of the secret to update. */\n      _id: string;\n      /** Details of a secret. */\n      secret: Secret;\n  }\n  interface UpdateSecretResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a secret value by name.\n   *\n   * <blockquote class=\"caution\">\n   * __Caution:__\n   * Only use a secret's value in the backend code. Returning the secret value in the frontend is a security risk.\n   * </blockquote>\n   * @public\n   * @requiredField name\n   * @param name - The name of the secret to get the value of.\n   * @permissionId SECRETS_VAULT.SECRET_READ\n   * @adminMethod\n   */\n  function getSecretValue(name: string): Promise<GetSecretValueResponse>;\n  /**\n   * Retrieves a list of secrets.\n   *\n   * > **Note:** This method doesn't return the secret's value for security reasons. To retrieve the value, call [Get Secret Value](https://dev.wix.com/docs/rest/business-management/secrets/get-secret-value).\n   * @public\n   * @permissionId SECRETS_VAULT.SECRET_METADATA_READ\n   * @adminMethod\n   */\n  function listSecretInfo(): Promise<ListSecretInfoResponse>;\n  /**\n   * Creates a secret.\n   * @public\n   * @requiredField secret\n   * @requiredField secret.name\n   * @requiredField secret.value\n   * @param secret - Fields of a new secret.\n   * @permissionId SECRETS_VAULT.SECRET_CREATE\n   * @adminMethod\n   * @returns Unique secret ID.\n   */\n  function createSecret(secret: Secret): Promise<string>;\n  /**\n   * Deletes a secret.\n   *\n   * <blockquote class=\"warning\">\n   * __Warning:__\n   * Deleting a secret is irreversible and will break all code using the secret.\n   * </blockquote>\n   * @public\n   * @requiredField _id\n   * @param _id - The unique ID of the secret to be deleted.\n   * @permissionId SECRETS_VAULT.SECRET_DELETE\n   * @adminMethod\n   */\n  function deleteSecret(_id: string): Promise<void>;\n  /**\n   * Updates a secret by ID.\n   *\n   * You can update one or more fields, but you can't rename the secret with a name of another existing secret. Unspecified fields remain unchanged.\n   *\n   * To get the secret ID, call List Secret Info.\n   *\n   * <blockquote class=\"warning\">\n   * **Warning:**\n   * - Changing a secret's name or value will break all code using the secret.\n   * - Delete secret keys from your code after calling this method to avoid security risks.\n   * </blockquote>\n   * @param _id - ID of the secret to update.\n   * @param secret - Details of a secret.\n   * @internal\n   * @requiredField _id\n   * @requiredField secret\n   * @requiredField secret.name\n   * @requiredField secret.value\n   * @permissionId SECRETS_VAULT.SECRET_UPDATE\n   * @adminMethod\n   */\n  function internalUpdateSecret(_id: string, secret: Secret): Promise<void>;\n  /**\n   * Updates 1 or all fields of a secret.\n   *\n   * To get the secret ID, call [List Secret Info](https://dev.wix.com/docs/rest/business-management/secrets/list-secret-info).\n   * @param _id - ID of the secret to update.\n   * @param secret - Details of a secret.\n   * @public\n   * @requiredField _id\n   * @requiredField secret\n   * @permissionId SECRETS_VAULT.SECRET_UPDATE\n   * @adminMethod\n   */\n  function updateSecret(_id: string, secret: Secret): Promise<void>;\n  \n  type veloSecretsVaultV1Secret_universal_d_Secret = Secret;\n  type veloSecretsVaultV1Secret_universal_d_GetSecretValueRequest = GetSecretValueRequest;\n  type veloSecretsVaultV1Secret_universal_d_GetSecretValueResponse = GetSecretValueResponse;\n  type veloSecretsVaultV1Secret_universal_d_ListSecretInfoRequest = ListSecretInfoRequest;\n  type veloSecretsVaultV1Secret_universal_d_ListSecretInfoResponse = ListSecretInfoResponse;\n  type veloSecretsVaultV1Secret_universal_d_CreateSecretRequest = CreateSecretRequest;\n  type veloSecretsVaultV1Secret_universal_d_CreateSecretResponse = CreateSecretResponse;\n  type veloSecretsVaultV1Secret_universal_d_DeleteSecretRequest = DeleteSecretRequest;\n  type veloSecretsVaultV1Secret_universal_d_DeleteSecretResponse = DeleteSecretResponse;\n  type veloSecretsVaultV1Secret_universal_d_UpdateSecretRequest = UpdateSecretRequest;\n  type veloSecretsVaultV1Secret_universal_d_UpdateSecretResponse = UpdateSecretResponse;\n  type veloSecretsVaultV1Secret_universal_d_DomainEvent = DomainEvent;\n  type veloSecretsVaultV1Secret_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type veloSecretsVaultV1Secret_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type veloSecretsVaultV1Secret_universal_d_RestoreInfo = RestoreInfo;\n  type veloSecretsVaultV1Secret_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type veloSecretsVaultV1Secret_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type veloSecretsVaultV1Secret_universal_d_ActionEvent = ActionEvent;\n  type veloSecretsVaultV1Secret_universal_d_MessageEnvelope = MessageEnvelope;\n  type veloSecretsVaultV1Secret_universal_d_IdentificationData = IdentificationData;\n  type veloSecretsVaultV1Secret_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type veloSecretsVaultV1Secret_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const veloSecretsVaultV1Secret_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const veloSecretsVaultV1Secret_universal_d_getSecretValue: typeof getSecretValue;\n  const veloSecretsVaultV1Secret_universal_d_listSecretInfo: typeof listSecretInfo;\n  const veloSecretsVaultV1Secret_universal_d_createSecret: typeof createSecret;\n  const veloSecretsVaultV1Secret_universal_d_deleteSecret: typeof deleteSecret;\n  const veloSecretsVaultV1Secret_universal_d_internalUpdateSecret: typeof internalUpdateSecret;\n  const veloSecretsVaultV1Secret_universal_d_updateSecret: typeof updateSecret;\n  namespace veloSecretsVaultV1Secret_universal_d {\n    export {\n      veloSecretsVaultV1Secret_universal_d_Secret as Secret,\n      veloSecretsVaultV1Secret_universal_d_GetSecretValueRequest as GetSecretValueRequest,\n      veloSecretsVaultV1Secret_universal_d_GetSecretValueResponse as GetSecretValueResponse,\n      veloSecretsVaultV1Secret_universal_d_ListSecretInfoRequest as ListSecretInfoRequest,\n      veloSecretsVaultV1Secret_universal_d_ListSecretInfoResponse as ListSecretInfoResponse,\n      veloSecretsVaultV1Secret_universal_d_CreateSecretRequest as CreateSecretRequest,\n      veloSecretsVaultV1Secret_universal_d_CreateSecretResponse as CreateSecretResponse,\n      veloSecretsVaultV1Secret_universal_d_DeleteSecretRequest as DeleteSecretRequest,\n      veloSecretsVaultV1Secret_universal_d_DeleteSecretResponse as DeleteSecretResponse,\n      veloSecretsVaultV1Secret_universal_d_UpdateSecretRequest as UpdateSecretRequest,\n      veloSecretsVaultV1Secret_universal_d_UpdateSecretResponse as UpdateSecretResponse,\n      veloSecretsVaultV1Secret_universal_d_DomainEvent as DomainEvent,\n      veloSecretsVaultV1Secret_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      veloSecretsVaultV1Secret_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      veloSecretsVaultV1Secret_universal_d_RestoreInfo as RestoreInfo,\n      veloSecretsVaultV1Secret_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      veloSecretsVaultV1Secret_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      veloSecretsVaultV1Secret_universal_d_ActionEvent as ActionEvent,\n      veloSecretsVaultV1Secret_universal_d_MessageEnvelope as MessageEnvelope,\n      veloSecretsVaultV1Secret_universal_d_IdentificationData as IdentificationData,\n      veloSecretsVaultV1Secret_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      veloSecretsVaultV1Secret_universal_d_WebhookIdentityType as WebhookIdentityType,\n      veloSecretsVaultV1Secret_universal_d_getSecretValue as getSecretValue,\n      veloSecretsVaultV1Secret_universal_d_listSecretInfo as listSecretInfo,\n      veloSecretsVaultV1Secret_universal_d_createSecret as createSecret,\n      veloSecretsVaultV1Secret_universal_d_deleteSecret as deleteSecret,\n      veloSecretsVaultV1Secret_universal_d_internalUpdateSecret as internalUpdateSecret,\n      veloSecretsVaultV1Secret_universal_d_updateSecret as updateSecret,\n    };\n  }\n  \n  export { veloSecretsVaultV1Secret_universal_d as secrets };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-crm.v2.d.ts",
      "content": "declare module \"wix-crm.v2\" {\n  interface ContactAttachment extends ContactAttachmentMediaOneOf {\n      /** Image details when the attachment type is `IMAGE`. */\n      image?: string;\n      /** Document details when the attachment type is `OTHER`. */\n      document?: string;\n      /**\n       * Attachment ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Details of the preview image reduced size when the attachment is of type `IMAGE`.\n       * @readonly\n       */\n      previewImage?: string;\n      /**\n       * Name of the attachment file.\n       * @readonly\n       */\n      fileName?: string;\n      /**\n       * Mime type of the attachment. See supported mime types\n       * ([REST](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/attachments/attachment-v4/supported-mime-types)|[SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/attachments/supported-mime-types)).\n       * @readonly\n       */\n      mimeType?: string;\n      /**\n       * Type of the attachment.\n       * @readonly\n       */\n      attachmentType?: AttachmentType;\n      /**\n       * TODO: can delete after migration to crm-attachments\n       * Legacy media path\n       * @internal\n       * @readonly\n       */\n      mediaPath?: string;\n      /**\n       * TODO: can delete after migration to crm-attachments\n       * Legacy preview media path\n       * @internal\n       * @readonly\n       */\n      previewMediaPath?: string | null;\n  }\n  /** @oneof */\n  interface ContactAttachmentMediaOneOf {\n      /** Image details when the attachment type is `IMAGE`. */\n      image?: string;\n      /** Document details when the attachment type is `OTHER`. */\n      document?: string;\n  }\n  enum AttachmentType {\n      /** Unknown attachment type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Attachment is an image file. */\n      IMAGE = \"IMAGE\",\n      /** Attachment is a document or any non-image file type. */\n      OTHER = \"OTHER\"\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface MediaFileUploadedEvent {\n      fileId?: string;\n      path?: string;\n      mimeType?: string;\n      acl?: string | null;\n      size?: string | null;\n      dateCreated?: Date | null;\n      dateUpdated?: Date | null;\n  }\n  interface CrmAttachmentUploadedEvent {\n      attachment?: CrmAttachment;\n      uploadJobId?: string;\n  }\n  interface CrmAttachment {\n      /** @readonly */\n      _id?: string | null;\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date | null;\n      /** @readonly */\n      _updatedDate?: Date | null;\n      /** @readonly */\n      source?: AttachmentSource;\n      metadata?: AttachmentMetadata;\n      media?: AttachmentMedia;\n      /**\n       * Inferred by the media type\n       * @readonly\n       */\n      attachmentType?: CrmAttachmentAttachmentType;\n  }\n  interface AttachmentSource {\n      appId?: string;\n  }\n  interface AttachmentMetadata {\n      /** Entity type e.g: INVOICES */\n      entityType?: string | null;\n      /** Id of the entity, e.g: invoice id */\n      entityId?: string | null;\n      contactId?: string | null;\n      externalId?: string | null;\n  }\n  interface AttachmentMedia extends AttachmentMediaMediaOneOf {\n      image?: string;\n      document?: string;\n      /** @readonly */\n      previewImage?: string;\n      fileName?: string;\n      mimeType?: string;\n  }\n  /** @oneof */\n  interface AttachmentMediaMediaOneOf {\n      image?: string;\n      document?: string;\n  }\n  enum CrmAttachmentAttachmentType {\n      UNKNOWN = \"UNKNOWN\",\n      DOCUMENT = \"DOCUMENT\",\n      IMAGE = \"IMAGE\"\n  }\n  interface CreateDemoAttachmentRequest {\n      /** The contact id whose demo attachment is being created */\n      contactId: string;\n      /** The type of the demo contact */\n      demoContactType?: DemoContactType;\n  }\n  enum DemoContactType {\n      KAT = \"KAT\",\n      DAN = \"DAN\"\n  }\n  interface CreateDemoAttachmentResponse {\n      /** The created attachment */\n      attachment?: ContactAttachment;\n  }\n  interface GenerateAttachmentUploadUrlRequest {\n      /** ID of the contact for whom the attachment is being uploaded. */\n      contactId: string;\n      /** File name of the attachment including the extension, for example, `contact-cv.pdf`. */\n      fileName: string;\n      /**\n       * Mime type of the attachment file, for example, `application/pdf`.\n       * See supported mime types ([REST](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/attachments/attachment-v4/supported-mime-types)|\n       * [SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/attachments/supported-mime-types)).\n       */\n      mimeType: string;\n  }\n  interface GenerateAttachmentUploadUrlResponse {\n      /** The URL for uploading a file as an attachment to the contact. */\n      uploadUrl?: string;\n      /**\n       * The upload ID of the attachment.\n       * @internal\n       */\n      uploadId?: string;\n  }\n  interface ListAttachmentsRequest {\n      /** Contact ID for the attachments to be listed. */\n      contactId: string;\n      /** Allow paginating, default: limit = 100 and offset = 0 */\n      paging?: Paging$4;\n  }\n  interface Paging$4 {\n      /**\n       * Number of items to return.\n       *\n       * Default: `100`\n       * Max: `100`\n       */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListAttachmentsResponse {\n      /** List of attachments for the specified contact. */\n      attachments?: ContactAttachment[];\n      /** Metadata for the paginated results. */\n      metadata?: PagingMetadata$3;\n  }\n  interface PagingMetadata$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Whether the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface DeleteAttachmentRequest {\n      /** Contact ID for the attachment to delete. */\n      contactId: string;\n      /** Attachment ID to delete. */\n      attachmentId: string;\n  }\n  interface DeleteAttachmentResponse {\n  }\n  interface GetAttachmentRequest {\n      /** Contact ID for the attachment to retrieve. */\n      contactId: string;\n      /** Attachment ID to retrieve. */\n      attachmentId: string;\n  }\n  interface GetAttachmentResponse {\n      /** The requested attachment. */\n      attachment?: ContactAttachment;\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$5;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Create Demo Attachments.\n   * Use this endpoint only if the media already uploaded to wixmp\n   * @param contactId - The contact id whose demo attachment is being created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @permissionId CONTACTS_ATTACHMENTS.MODIFY\n   * @adminMethod\n   */\n  function createDemoAttachment(contactId: string, options?: CreateDemoAttachmentOptions): Promise<CreateDemoAttachmentResponse>;\n  interface CreateDemoAttachmentOptions {\n      /** The type of the demo contact */\n      demoContactType?: DemoContactType;\n  }\n  /**\n   * Generates an upload URL for uploading a file as an attachment to a specified contact.\n   *\n   * To learn how to use the generated upload URL in the response to upload an attachment file,\n   * see the Upload API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/media/files/upload-api) | [REST](https://dev.wix.com/docs/rest/assets/media/media-manager/files/upload-api)).\n   * @param contactId - ID of the contact for whom the attachment is being uploaded.\n   * @param fileName - File name of the attachment including the extension, for example, `contact-cv.pdf`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @requiredField fileName\n   * @requiredField options\n   * @requiredField options.mimeType\n   * @permissionId CONTACTS_ATTACHMENTS.MODIFY\n   * @adminMethod\n   */\n  function generateAttachmentUploadUrl(contactId: string, fileName: string, options: GenerateAttachmentUploadUrlOptions): Promise<GenerateAttachmentUploadUrlResponse>;\n  interface GenerateAttachmentUploadUrlOptions {\n      /**\n       * Mime type of the attachment file, for example, `application/pdf`.\n       * See supported mime types ([REST](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/attachments/attachment-v4/supported-mime-types)|\n       * [SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/attachments/supported-mime-types)).\n       */\n      mimeType: string;\n  }\n  /**\n   * Retrieves a list of attachments associated with a specified contact.\n   * @param contactId - Contact ID for the attachments to be listed.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @permissionId CONTACTS_ATTACHMENTS.VIEW\n   * @adminMethod\n   */\n  function listAttachments(contactId: string, options?: ListAttachmentsOptions): Promise<ListAttachmentsResponse>;\n  interface ListAttachmentsOptions {\n      /** Allow paginating, default: limit = 100 and offset = 0 */\n      paging?: Paging$4;\n  }\n  /**\n   * Deletes the specified attachment from the specified contact.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.attachmentId\n   * @requiredField identifiers.contactId\n   * @permissionId CONTACTS_ATTACHMENTS.MODIFY\n   * @adminMethod\n   */\n  function deleteAttachment(identifiers: DeleteAttachmentIdentifiers): Promise<void>;\n  interface DeleteAttachmentIdentifiers {\n      /** Contact ID for the attachment to delete. */\n      contactId: string;\n      /** Attachment ID to delete. */\n      attachmentId: string;\n  }\n  /**\n   * Retrieves the specified attachment for the specified contact.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.attachmentId\n   * @requiredField identifiers.contactId\n   * @permissionId CONTACTS_ATTACHMENTS.VIEW\n   * @adminMethod\n   * @returns The requested attachment.\n   */\n  function getAttachment(identifiers: GetAttachmentIdentifiers): Promise<ContactAttachment>;\n  interface GetAttachmentIdentifiers {\n      /** Contact ID for the attachment to retrieve. */\n      contactId: string;\n      /** Attachment ID to retrieve. */\n      attachmentId: string;\n  }\n  \n  type contactsV4Attachment_universal_d_ContactAttachment = ContactAttachment;\n  type contactsV4Attachment_universal_d_ContactAttachmentMediaOneOf = ContactAttachmentMediaOneOf;\n  type contactsV4Attachment_universal_d_AttachmentType = AttachmentType;\n  const contactsV4Attachment_universal_d_AttachmentType: typeof AttachmentType;\n  type contactsV4Attachment_universal_d_MediaFileUploadedEvent = MediaFileUploadedEvent;\n  type contactsV4Attachment_universal_d_CrmAttachmentUploadedEvent = CrmAttachmentUploadedEvent;\n  type contactsV4Attachment_universal_d_CrmAttachment = CrmAttachment;\n  type contactsV4Attachment_universal_d_AttachmentSource = AttachmentSource;\n  type contactsV4Attachment_universal_d_AttachmentMetadata = AttachmentMetadata;\n  type contactsV4Attachment_universal_d_AttachmentMedia = AttachmentMedia;\n  type contactsV4Attachment_universal_d_AttachmentMediaMediaOneOf = AttachmentMediaMediaOneOf;\n  type contactsV4Attachment_universal_d_CrmAttachmentAttachmentType = CrmAttachmentAttachmentType;\n  const contactsV4Attachment_universal_d_CrmAttachmentAttachmentType: typeof CrmAttachmentAttachmentType;\n  type contactsV4Attachment_universal_d_CreateDemoAttachmentRequest = CreateDemoAttachmentRequest;\n  type contactsV4Attachment_universal_d_DemoContactType = DemoContactType;\n  const contactsV4Attachment_universal_d_DemoContactType: typeof DemoContactType;\n  type contactsV4Attachment_universal_d_CreateDemoAttachmentResponse = CreateDemoAttachmentResponse;\n  type contactsV4Attachment_universal_d_GenerateAttachmentUploadUrlRequest = GenerateAttachmentUploadUrlRequest;\n  type contactsV4Attachment_universal_d_GenerateAttachmentUploadUrlResponse = GenerateAttachmentUploadUrlResponse;\n  type contactsV4Attachment_universal_d_ListAttachmentsRequest = ListAttachmentsRequest;\n  type contactsV4Attachment_universal_d_ListAttachmentsResponse = ListAttachmentsResponse;\n  type contactsV4Attachment_universal_d_DeleteAttachmentRequest = DeleteAttachmentRequest;\n  type contactsV4Attachment_universal_d_DeleteAttachmentResponse = DeleteAttachmentResponse;\n  type contactsV4Attachment_universal_d_GetAttachmentRequest = GetAttachmentRequest;\n  type contactsV4Attachment_universal_d_GetAttachmentResponse = GetAttachmentResponse;\n  const contactsV4Attachment_universal_d_createDemoAttachment: typeof createDemoAttachment;\n  type contactsV4Attachment_universal_d_CreateDemoAttachmentOptions = CreateDemoAttachmentOptions;\n  const contactsV4Attachment_universal_d_generateAttachmentUploadUrl: typeof generateAttachmentUploadUrl;\n  type contactsV4Attachment_universal_d_GenerateAttachmentUploadUrlOptions = GenerateAttachmentUploadUrlOptions;\n  const contactsV4Attachment_universal_d_listAttachments: typeof listAttachments;\n  type contactsV4Attachment_universal_d_ListAttachmentsOptions = ListAttachmentsOptions;\n  const contactsV4Attachment_universal_d_deleteAttachment: typeof deleteAttachment;\n  type contactsV4Attachment_universal_d_DeleteAttachmentIdentifiers = DeleteAttachmentIdentifiers;\n  const contactsV4Attachment_universal_d_getAttachment: typeof getAttachment;\n  type contactsV4Attachment_universal_d_GetAttachmentIdentifiers = GetAttachmentIdentifiers;\n  namespace contactsV4Attachment_universal_d {\n    export {\n      contactsV4Attachment_universal_d_ContactAttachment as ContactAttachment,\n      contactsV4Attachment_universal_d_ContactAttachmentMediaOneOf as ContactAttachmentMediaOneOf,\n      contactsV4Attachment_universal_d_AttachmentType as AttachmentType,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      Empty$1 as Empty,\n      contactsV4Attachment_universal_d_MediaFileUploadedEvent as MediaFileUploadedEvent,\n      contactsV4Attachment_universal_d_CrmAttachmentUploadedEvent as CrmAttachmentUploadedEvent,\n      contactsV4Attachment_universal_d_CrmAttachment as CrmAttachment,\n      contactsV4Attachment_universal_d_AttachmentSource as AttachmentSource,\n      contactsV4Attachment_universal_d_AttachmentMetadata as AttachmentMetadata,\n      contactsV4Attachment_universal_d_AttachmentMedia as AttachmentMedia,\n      contactsV4Attachment_universal_d_AttachmentMediaMediaOneOf as AttachmentMediaMediaOneOf,\n      contactsV4Attachment_universal_d_CrmAttachmentAttachmentType as CrmAttachmentAttachmentType,\n      contactsV4Attachment_universal_d_CreateDemoAttachmentRequest as CreateDemoAttachmentRequest,\n      contactsV4Attachment_universal_d_DemoContactType as DemoContactType,\n      contactsV4Attachment_universal_d_CreateDemoAttachmentResponse as CreateDemoAttachmentResponse,\n      contactsV4Attachment_universal_d_GenerateAttachmentUploadUrlRequest as GenerateAttachmentUploadUrlRequest,\n      contactsV4Attachment_universal_d_GenerateAttachmentUploadUrlResponse as GenerateAttachmentUploadUrlResponse,\n      contactsV4Attachment_universal_d_ListAttachmentsRequest as ListAttachmentsRequest,\n      Paging$4 as Paging,\n      contactsV4Attachment_universal_d_ListAttachmentsResponse as ListAttachmentsResponse,\n      PagingMetadata$3 as PagingMetadata,\n      contactsV4Attachment_universal_d_DeleteAttachmentRequest as DeleteAttachmentRequest,\n      contactsV4Attachment_universal_d_DeleteAttachmentResponse as DeleteAttachmentResponse,\n      contactsV4Attachment_universal_d_GetAttachmentRequest as GetAttachmentRequest,\n      contactsV4Attachment_universal_d_GetAttachmentResponse as GetAttachmentResponse,\n      MessageEnvelope$5 as MessageEnvelope,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      contactsV4Attachment_universal_d_createDemoAttachment as createDemoAttachment,\n      contactsV4Attachment_universal_d_CreateDemoAttachmentOptions as CreateDemoAttachmentOptions,\n      contactsV4Attachment_universal_d_generateAttachmentUploadUrl as generateAttachmentUploadUrl,\n      contactsV4Attachment_universal_d_GenerateAttachmentUploadUrlOptions as GenerateAttachmentUploadUrlOptions,\n      contactsV4Attachment_universal_d_listAttachments as listAttachments,\n      contactsV4Attachment_universal_d_ListAttachmentsOptions as ListAttachmentsOptions,\n      contactsV4Attachment_universal_d_deleteAttachment as deleteAttachment,\n      contactsV4Attachment_universal_d_DeleteAttachmentIdentifiers as DeleteAttachmentIdentifiers,\n      contactsV4Attachment_universal_d_getAttachment as getAttachment,\n      contactsV4Attachment_universal_d_GetAttachmentIdentifiers as GetAttachmentIdentifiers,\n    };\n  }\n  \n  interface Contact {\n      /**\n       * Contact ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Revision number, which increments by 1 each time the contact is updated.\n       * To prevent conflicting changes,\n       * the existing `revision` must be specified when updating a contact.\n       * @readonly\n       */\n      revision?: number;\n      /**\n       * Details about the contact's source.\n       * @readonly\n       */\n      source?: ContactSource;\n      /**\n       * Date and time the contact was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the contact was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Details about the contact's last action in the site.\n       * @readonly\n       */\n      lastActivity?: ContactActivity$1;\n      /**\n       * Contact's primary phone and email.\n       * @readonly\n       */\n      primaryInfo?: PrimaryContactInfo;\n      /**\n       * Contact's profile picture.\n       * This can contain an image URL and a Wix Media image ID.\n       *\n       * > **Deprecation Notice:**\n       * > This property has been replaced with\n       * > `info.picture`\n       * > and will be removed on March 31, 2022. If your app uses this property,\n       * > we recommend updating your code as soon as possible.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      picture?: string;\n      /** Contact's details. */\n      info?: ContactInfo$2;\n      /**\n       * Contact's segment IDs\n       * @internal\n       * @readonly\n       */\n      segments?: SegmentsWrapper;\n      /**\n       * Contact's primary email details.\n       * @internal\n       * @readonly\n       */\n      primaryEmail?: PrimaryEmail;\n      /**\n       * Contact's primary phone details.\n       * @internal\n       * @readonly\n       */\n      primaryPhone?: PrimaryPhone;\n      /**\n       * Contact's member info.\n       * @internal\n       * @readonly\n       */\n      memberInfo?: MemberInfo;\n  }\n  interface ContactSource {\n      /**\n       * Source type.\n       * @readonly\n       */\n      sourceType?: ContactSourceType$1;\n      /**\n       * App ID, if the contact was created by a Wix app.\n       *\n       * > **Deprecation Notice:**\n       * > This property has been replaced with\n       * > `appId`\n       * > and will be removed on March 31, 2022. If your app uses this property,\n       * > we recommend updating your code as soon as possible.\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      wixAppId?: string | null;\n      /**\n       * App ID, if the contact was created by an app.\n       * @readonly\n       */\n      appId?: string | null;\n  }\n  enum ContactSourceType$1 {\n      OTHER = \"OTHER\",\n      ADMIN = \"ADMIN\",\n      WIX_APP = \"WIX_APP\",\n      IMPORT = \"IMPORT\",\n      THIRD_PARTY = \"THIRD_PARTY\",\n      WIX_BOOKINGS = \"WIX_BOOKINGS\",\n      WIX_CHAT = \"WIX_CHAT\",\n      WIX_EMAIL_MARKETING = \"WIX_EMAIL_MARKETING\",\n      WIX_EVENTS = \"WIX_EVENTS\",\n      WIX_FORMS = \"WIX_FORMS\",\n      WIX_GROUPS = \"WIX_GROUPS\",\n      WIX_HOTELS = \"WIX_HOTELS\",\n      WIX_MARKET_PLACE = \"WIX_MARKET_PLACE\",\n      WIX_MUSIC = \"WIX_MUSIC\",\n      WIX_RESTAURANTS = \"WIX_RESTAURANTS\",\n      WIX_SITE_MEMBERS = \"WIX_SITE_MEMBERS\",\n      WIX_STORES = \"WIX_STORES\",\n      WIX_CODE = \"WIX_CODE\",\n      HOPP = \"HOPP\"\n  }\n  interface ContactActivity$1 {\n      /** Date and time of the last action. */\n      activityDate?: Date | null;\n      /** Contact's last action in the site. */\n      activityType?: ContactActivityType$1;\n      /**\n       * Date and time of the activity.\n       * @internal\n       */\n      date?: Date | null;\n      /**\n       * Activity description. Translated.\n       * @internal\n       */\n      description?: string | null;\n      /**\n       * Activity Icon\n       * @internal\n       */\n      icon?: ActivityIcon$1;\n  }\n  enum ContactActivityType$1 {\n      /** Visited the site. */\n      GENERAL = \"GENERAL\",\n      /** Became a new contact. */\n      CONTACT_CREATED = \"CONTACT_CREATED\",\n      /** Logged in. */\n      MEMBER_LOGIN = \"MEMBER_LOGIN\",\n      /** Requested a site membership. */\n      MEMBER_REGISTER = \"MEMBER_REGISTER\",\n      /** Was approved, blocked, or unblocked. */\n      MEMBER_STATUS_CHANGED = \"MEMBER_STATUS_CHANGED\",\n      /** Submitted a form. */\n      FORM_SUBMITTED = \"FORM_SUBMITTED\",\n      /** Started a chat. */\n      INBOX_FORM_SUBMITTED = \"INBOX_FORM_SUBMITTED\",\n      /** Paid a payment request. */\n      INBOX_PAYMENT_REQUEST_PAID = \"INBOX_PAYMENT_REQUEST_PAID\",\n      /** Received a message from the site. */\n      INBOX_MESSAGE_TO_CUSTOMER = \"INBOX_MESSAGE_TO_CUSTOMER\",\n      /** Sent a new message to the site. */\n      INBOX_MESSAGE_FROM_CUSTOMER = \"INBOX_MESSAGE_FROM_CUSTOMER\",\n      /** Subscribed to a site newsletter through a form. */\n      NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED = \"NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED\",\n      /** Unsubscribed from a site newsletter. */\n      NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE = \"NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE\",\n      /** Made a purchase. */\n      ECOM_PURCHASE = \"ECOM_PURCHASE\",\n      /** Abandoned a shopping cart. */\n      ECOM_CART_ABANDON = \"ECOM_CART_ABANDON\",\n      /** Checked out shopping cart and submitted buyer info (but didn’t complete the purchase yet). */\n      ECOM_CHECKOUT_BUYER = \"ECOM_CHECKOUT_BUYER\",\n      /** Booked an appointment. */\n      BOOKINGS_APPOINTMENT = \"BOOKINGS_APPOINTMENT\",\n      /** Made a Wix Hotels reservation. */\n      HOTELS_RESERVATION = \"HOTELS_RESERVATION\",\n      /** Paid for a Wix Hotels reservation. */\n      HOTELS_PURCHASE = \"HOTELS_PURCHASE\",\n      /** Confirmed a Wix Hotels reservation. */\n      HOTELS_CONFIRMATION = \"HOTELS_CONFIRMATION\",\n      /** Canceled a Wix Hotels reservation. */\n      HOTELS_CANCEL = \"HOTELS_CANCEL\",\n      /** Purchased a video. */\n      VIDEO_PURCHASE = \"VIDEO_PURCHASE\",\n      /** Rented a video. */\n      VIDEO_RENT = \"VIDEO_RENT\",\n      /** Made a purchase with a pay button. */\n      CASHIER_BUTTON_PURCHASE = \"CASHIER_BUTTON_PURCHASE\",\n      /** Became a new Wix Marketplace lead. */\n      ARENA_NEW_LEAD = \"ARENA_NEW_LEAD\",\n      /** RSVP'd to an event. */\n      EVENTS_RSVP = \"EVENTS_RSVP\",\n      /** Paid an invoice. */\n      INVOICE_PAY = \"INVOICE_PAY\",\n      /** An invoice is now overdue. */\n      INVOICE_OVERDUE = \"INVOICE_OVERDUE\",\n      /** Accepted a price quote. */\n      PRICE_QUOTE_ACCEPT = \"PRICE_QUOTE_ACCEPT\",\n      /** A price quote has expired. */\n      PRICE_QUOTE_EXPIRE = \"PRICE_QUOTE_EXPIRE\",\n      /** Ordered food with Wix Restaurants. */\n      RESTAURANTS_ORDER = \"RESTAURANTS_ORDER\",\n      /** Made a Wix Restaurants reservation. */\n      RESTAURANTS_RESERVATION = \"RESTAURANTS_RESERVATION\",\n      /** Opened an email from the site. */\n      SHOUTOUT_OPEN = \"SHOUTOUT_OPEN\",\n      /** Clicked a link in an email from the site. */\n      SHOUTOUT_CLICK = \"SHOUTOUT_CLICK\",\n      /** Merged with another contact. */\n      CONTACT_MERGED = \"CONTACT_MERGED\",\n      /** Subscribed to a site newsletter. */\n      NEWSLETTER_SUBSCRIPTION_SUBSCRIBE = \"NEWSLETTER_SUBSCRIPTION_SUBSCRIBE\",\n      /** Subscription status to site newsletters is pending confirmation. */\n      NEWSLETTER_SUBSCRIPTION_PENDING = \"NEWSLETTER_SUBSCRIPTION_PENDING\",\n      /** Subscription status to site newsletters is not set. */\n      NEWSLETTER_SUBSCRIPTION_NOT_SET = \"NEWSLETTER_SUBSCRIPTION_NOT_SET\",\n      /** Subscribed to phone notifications. */\n      PHONE_SUBSCRIPTION_SUBSCRIBE = \"PHONE_SUBSCRIPTION_SUBSCRIBE\",\n      /** Subscription to phone notificatons is pending confirmation. */\n      PHONE_SUBSCRIPTION_PENDING = \"PHONE_SUBSCRIPTION_PENDING\",\n      /** Subscription to phone notificatons is not set. */\n      PHONE_SUBSCRIPTION_NOT_SET = \"PHONE_SUBSCRIPTION_NOT_SET\",\n      /** Subscribed to phone notifications. */\n      PHONE_SUBSCRIPTION_UNSUBSCRIBE = \"PHONE_SUBSCRIPTION_UNSUBSCRIBE\"\n  }\n  interface ActivityIcon$1 {\n      /** Icon name */\n      name?: string | null;\n      /** Icon url */\n      url?: string | null;\n  }\n  interface PrimaryContactInfo {\n      /**\n       * Primary email address.\n       *\n       * This property reflects the email address in `info.emails`\n       * where `primary` is `true`.\n       * @readonly\n       */\n      email?: string | null;\n      /**\n       * Primary phone number.\n       *\n       * This property reflects the phone number in `info.phones`\n       * where `primary` is `true`.\n       * @readonly\n       */\n      phone?: string | null;\n  }\n  interface ContactInfo$2 {\n      /** Contact's first and last name. */\n      name?: ContactName$1;\n      /** Contact's email addresses. */\n      emails?: ContactEmailsWrapper$1;\n      /** Contact's phone numbers. */\n      phones?: ContactPhonesWrapper$1;\n      /** Contact's street addresses. */\n      addresses?: ContactAddressesWrapper$1;\n      /** Contact's company name. */\n      company?: string | null;\n      /** Contact's job title. */\n      jobTitle?: string | null;\n      /** Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`. */\n      birthdate?: string | null;\n      /**\n       * Site contributors\n       * who are assigned to manage communication with the contact.\n       * @internal\n       */\n      assignedUserIds?: AssigneesWrapper$1;\n      /**\n       * Locale in\n       * [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Typically, this is a lowercase 2-letter language code,\n       * followed by a hyphen, followed by an uppercase 2-letter country code.\n       * For example, `en-US` for U.S. English, and `de-DE` for Germany German.\n       */\n      locale?: string | null;\n      /**\n       * List of contact's labels.\n       *\n       * Labels are used to organize contacts. Labels can be\n       * added and removed using Label Contact and Unlabel Contact, respectively.\n       *\n       * To view or manage contact labels, use the Labels API.\n       */\n      labelKeys?: LabelsWrapper$1;\n      /**\n       * Additional custom fields.\n       *\n       * Empty fields are not returned.\n       */\n      extendedFields?: ExtendedFieldsWrapper$1;\n      /**\n       * Contact locations.\n       * @internal\n       */\n      locations?: LocationsWrapper$1;\n      /** Contact's profile picture. */\n      picture?: ContactPicture$1;\n  }\n  interface ContactName$1 {\n      /** Contact's first name. */\n      first?: string | null;\n      /** Contact's last name. */\n      last?: string | null;\n  }\n  interface ContactEmailsWrapper$1 {\n      /** List of up to 50 email addresses. */\n      items?: ContactEmail$1[];\n  }\n  interface ContactEmail$1 {\n      /**\n       * Email ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Email type.\n       *\n       * `UNTAGGED` is shown as \"Other\" in the Contact List.\n       */\n      tag?: EmailTag$1;\n      /** Email address. */\n      email?: string;\n      /**\n       * Indicates whether this is the contact's primary email address.\n       * When changing `primary` to `true` for an email,\n       * the contact's other emails become `false`.\n       * Changing the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\n       */\n      primary?: boolean | null;\n  }\n  enum EmailTag$1 {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\",\n      HOME = \"HOME\",\n      WORK = \"WORK\"\n  }\n  interface ContactPhonesWrapper$1 {\n      /** List of up to 50 phone numbers. */\n      items?: ContactPhone$1[];\n  }\n  interface ContactPhone$1 {\n      /**\n       * Phone ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Phone type.\n       *\n       * `UNTAGGED` is shown as \"Other\" in the Contact List.\n       */\n      tag?: PhoneTag$1;\n      /** [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. */\n      countryCode?: string | null;\n      /** Phone number. */\n      phone?: string;\n      /**\n       * [ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\n       * phone number.\n       * Automatically generated using `phone` and `countryCode`, pending both values are valid.\n       * @readonly\n       */\n      e164Phone?: string | null;\n      /**\n       * Formatted phone. Automatically generated using phone and countryCode.\n       * @internal\n       * @readonly\n       */\n      formattedPhone?: string | null;\n      /**\n       * Indicates whether this is the contact's primary phone number.\n       * When changing `primary` to `true` for a phone,\n       * the contact's `primary` field for other phones becomes `false`.\n       * Changing the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\n       */\n      primary?: boolean | null;\n  }\n  enum PhoneTag$1 {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\",\n      HOME = \"HOME\",\n      MOBILE = \"MOBILE\",\n      WORK = \"WORK\",\n      FAX = \"FAX\"\n  }\n  interface ContactAddressesWrapper$1 {\n      /** List of up to 50 addresses. */\n      items?: ContactAddress$1[];\n  }\n  interface ContactAddress$1 {\n      /**\n       * Street address ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Address type.\n       * `UNTAGGED` is shown as \"Other\" in the Contact List.\n       */\n      tag?: AddressTag$1;\n      /** Street address. */\n      address?: Address$1;\n  }\n  enum AddressTag$1 {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\",\n      WORK = \"WORK\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Physical address */\n  interface Address$1 extends AddressStreetOneOf$1 {\n      /** Street address object, with number and name in separate fields. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line, usually street and number, as free text. */\n      addressLine1?: string | null;\n      /**\n       * 2-letter country code in an\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n       */\n      country?: string | null;\n      /**\n       * Code for a subdivision (such as state, prefecture, or province) in an\n       * [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n       */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /**\n       * Free text providing more detailed address information,\n       * such as apartment, suite, or floor.\n       */\n      addressLine2?: string | null;\n      /**\n       * Human-readable address string.\n       * If not provided, the value is generated from the available address data.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$1;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$1 {\n      /** Street address object, with number and name in separate fields. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$1 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$1 {\n      /** Address's latitude. */\n      latitude?: number | null;\n      /** Address's longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$1 {\n      /** subdivision short code */\n      code?: string;\n      /** Full subdivision name. */\n      name?: string;\n      /** @internal */\n      type?: SubdivisionType$1;\n      /**\n       * Free text that describes the subdivision type.\n       *\n       * Examples: `\"state\"`, `\"province\"`, `\"prefecture\"`.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$1 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface AssigneesWrapper$1 {\n      /** List of site contributor user IDs. */\n      items?: string[];\n  }\n  interface LabelsWrapper$1 {\n      /**\n       * List of contact label keys.\n       *\n       * Contact labels help categorize contacts. Label keys must exist to be added to the contact.\n       * Contact labels can be created or retrieved with Find or Create Label or List Labels.\n       */\n      items?: string[];\n  }\n  interface ExtendedFieldsWrapper$1 {\n      /**\n       * Contact's extended fields,\n       * where each key is the field key,\n       * and each value is the field's value for the contact.\n       *\n       * To view and manage extended fields, use the Extended Fields API.\n       */\n      items?: Record<string, any>;\n  }\n  interface LocationsWrapper$1 {\n      /** List of location ids. */\n      items?: string[];\n  }\n  /** TEST contact picture description */\n  interface ContactPicture$1 {\n      /**\n       * Image.\n       * This can contain an image URL or a Wix Media image ID.\n       */\n      image?: string;\n      /**\n       * Indicates whether the image is retrieved from Wix Media\n       * or an external provider.\n       *\n       * - `EXTERNAL`: The image is retrieved from an external provider.\n       * - `WIX_MEDIA`: The image is retrieved from Wix Media.\n       * @internal\n       * @deprecated\n       */\n      imageProvider?: ImageProvider$1;\n  }\n  enum ImageProvider$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Image stored outside Wix */\n      EXTERNAL = \"EXTERNAL\",\n      /** Stored in wix media platform, Must be uploaded by using `GeneratePictureUploadUrl` */\n      WIX_MEDIA = \"WIX_MEDIA\"\n  }\n  interface SegmentsWrapper {\n      /** List of Contact segment IDs */\n      items?: string[];\n  }\n  interface PrimaryEmail {\n      /**\n       * Primary email address.\n       *\n       * This property reflects the email address in `info.emails`\n       * where `primary` is `true`.\n       * @readonly\n       */\n      email?: string | null;\n      /**\n       * Indicates the recipient's opt-in or opt-out status for marketing emails.\n       *\n       * - `NOT_SET`: No status specified. Default.\n       * - `PENDING`: Subscription confirmation was requested,\n       * but recipient hasn't confirmed yet.\n       * - `SUBSCRIBED`: Recipient has opted in to marketing emails.\n       * - `UNSUBSCRIBED`: Recipient has opted out of marketing emails.\n       * @readonly\n       */\n      subscriptionStatus?: SubscriptionStatus;\n      /**\n       * Indicates last reported status of sent emails.\n       *\n       * - `NOT_SET`: No status reported. Default.\n       * - `VALID`: Emails are being successfully delivered.\n       * - `BOUNCED`: The last email to the recipient bounced or was rejected.\n       * - `SPAM_COMPLAINT`: Recipient registered a spam complaint\n       * with their email provider.\n       * - `INACTIVE`: Multiple emails have been delivered without any kind of engagement from the recipient.\n       * @readonly\n       */\n      deliverabilityStatus?: EmailDeliverabilityStatus;\n  }\n  enum SubscriptionStatus {\n      NO_SUBSCRIPTION_STATUS = \"NO_SUBSCRIPTION_STATUS\",\n      NOT_SET = \"NOT_SET\",\n      PENDING = \"PENDING\",\n      SUBSCRIBED = \"SUBSCRIBED\",\n      UNSUBSCRIBED = \"UNSUBSCRIBED\"\n  }\n  enum EmailDeliverabilityStatus {\n      UNKNOWN_EMAIL_DELIVERABILITY_STATUS = \"UNKNOWN_EMAIL_DELIVERABILITY_STATUS\",\n      NOT_SET = \"NOT_SET\",\n      VALID = \"VALID\",\n      BOUNCED = \"BOUNCED\",\n      SPAM_COMPLAINT = \"SPAM_COMPLAINT\",\n      INACTIVE = \"INACTIVE\"\n  }\n  interface PrimaryPhone {\n      /** [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the primary phone. */\n      countryCode?: string | null;\n      /**\n       * [ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\n       * phone number.\n       * Automatically generated using `phone` and `countryCode`,\n       * as long as both of those values are valid.\n       * @readonly\n       */\n      e164Phone?: string | null;\n      /**\n       * Formatted phone. Automatically generated using phone and countryCode.\n       * @readonly\n       */\n      formattedPhone?: string | null;\n      /**\n       * Indicates the recipient's opt-in or opt-out status for SMS messages.\n       *\n       * - `NO_SUBSCRIPTION_STATUS`: No status exists. This is the status when the phone is not a valid E164 phone.\n       * - `NOT_SET`: No status specified. Default when the phone is a valid E164 phone.\n       * - `PENDING`: Subscription confirmation was requested,\n       * but recipient hasn't confirmed yet.\n       * - `SUBSCRIBED`: Recipient has opted in to SMS messages.\n       * - `UNSUBSCRIBED`: Recipient has opted out of SMS messages.\n       * @readonly\n       */\n      subscriptionStatus?: SubscriptionStatus;\n      /**\n       * - `NO_PHONE_DELIVERABILITY_STATUS`: No status exists. This is the status when the phone is not a valid E164 phone.\n       * - `NOT_SET`: No status reported. Default when the phone is a valid E164 phone.\n       * @internal\n       * @readonly\n       */\n      deliverabilityStatus?: PhoneDeliverabilityStatus;\n      /**\n       * Primary phone number.\n       *\n       * This property reflects the phone number in `info.phones`\n       * where `primary` is `true`.\n       * @readonly\n       */\n      phone?: string | null;\n  }\n  enum PhoneDeliverabilityStatus {\n      NO_PHONE_DELIVERABILITY_STATUS = \"NO_PHONE_DELIVERABILITY_STATUS\",\n      NOT_SET = \"NOT_SET\"\n  }\n  interface MemberInfo {\n      /** Member ID */\n      memberId?: string | null;\n      /** Signup date */\n      signupDate?: Date | null;\n      /** Login email */\n      email?: string | null;\n      /** Indicate whether the email is verified */\n      emailVerified?: boolean | null;\n      /** Indicates whether the member is required to verify their email */\n      emailVerificationRequired?: boolean | null;\n      /**\n       * Member status.\n       * - `PENDING`: Member created and is waiting for approval by site owner.\n       * - `ACTIVE`: Member can log in to the site.\n       * - `OFFLINE`: Member is a [managed writer](https://support.wix.com/en/article/wix-blog-adding-managed-writers-to-your-blog) for the site blog and cannot log in to the site.\n       * - `BLOCKED': Member is blocked and cannot log in to the site.\n       */\n      status?: MemberStatus;\n      /** Profile info */\n      profileInfo?: ProfileInfo;\n      /** User info */\n      userInfo?: UserInfo;\n      /** Session info */\n      sessionInfo?: SessionInfo;\n      /** Group info */\n      groupInfo?: GroupInfo;\n  }\n  enum MemberStatus {\n      UNKNOWN_MEMBER_STATUS = \"UNKNOWN_MEMBER_STATUS\",\n      PENDING = \"PENDING\",\n      ACTIVE = \"ACTIVE\",\n      DELETED = \"DELETED\",\n      BLOCKED = \"BLOCKED\",\n      OFFLINE = \"OFFLINE\"\n  }\n  interface ProfileInfo {\n      /** Nickname */\n      nickname?: string | null;\n      /** Privacy status */\n      privacyStatus?: PrivacyStatus;\n      /** Indicate whether the member is reported */\n      reported?: boolean | null;\n      /** Indicate whether the member is muted */\n      muted?: boolean | null;\n      /** Profile photo */\n      photo?: string;\n  }\n  enum PrivacyStatus {\n      UNKNOWN_PRIVACY_STATUS = \"UNKNOWN_PRIVACY_STATUS\",\n      PRIVATE = \"PRIVATE\",\n      PUBLIC = \"PUBLIC\"\n  }\n  interface UserInfo {\n      /** User ID */\n      userId?: string;\n      /** The user's role on the website */\n      role?: Role;\n  }\n  enum Role {\n      UNSPECIFIED_ROLE = \"UNSPECIFIED_ROLE\",\n      OWNER = \"OWNER\",\n      CONTRIBUTOR = \"CONTRIBUTOR\"\n  }\n  interface SessionInfo {\n      /** Last time the member logged in to the website */\n      lastWebLogin?: Date | null;\n      /** Last time the member logged in to one of the mobile apps */\n      lastMobileLogin?: Date | null;\n      /** List of mobile apps that the member has ever logged in to */\n      mobileAppNames?: string[];\n  }\n  interface GroupInfo {\n      /** Group IDs */\n      groupIds?: string[];\n  }\n  interface ContactSubmitted {\n      /** Pass through data, submitted with the contact */\n      passThroughData?: string | null;\n      /** Submitted activity */\n      activity?: ContactActivity$1;\n      /** Submitted Contact (after processing) */\n      contact?: Contact;\n  }\n  interface ContactChanged {\n      /** The Contact before the changes */\n      previousContact?: Contact;\n      /** The Contact after the changes */\n      currentContact?: Contact;\n  }\n  interface ContactEmailSubscriptionUpdated {\n      /** The updated contact ID. */\n      contactId?: string;\n      /** The revision of the contact. */\n      revision?: number;\n      /** The primary email of the contact with the updated subscription and deliverability status. */\n      primaryEmail?: PrimaryEmail;\n      /** Date and time the contact was updated with the email subscription or deliverability status. */\n      _updatedDate?: Date | null;\n  }\n  interface ContactPhoneSubscriptionUpdated {\n      /** The updated contact ID. */\n      contactId?: string;\n      /** The revision of the contact. */\n      revision?: number;\n      /** The primary phone of the contact with the updated subscription status. */\n      primaryPhone?: PrimaryPhone;\n      /** Date and time the contact was updated with the SMS subscription status. */\n      _updatedDate?: Date | null;\n  }\n  /**\n   * This message is an internal message used by this app and it is used to trigger\n   * the update of the subscription status of the contact asynchronously.\n   * It is published after a contact is created/updated/merged.\n   */\n  interface ContactPrimaryInfoUpdated {\n      /** The updated contact ID. */\n      contactId?: string;\n      /** Indication whether the primary email was updated. */\n      primaryEmailUpdated?: boolean;\n      /** Indication whether primary phone was updated. */\n      primaryPhoneUpdated?: boolean;\n      /** previous primary email subscription status */\n      previousPrimaryEmailSubscriptionStatus?: PrimarySubscriptionStatus;\n      /** previous primary phone subscription status */\n      previousPrimaryPhoneSubscriptionStatus?: PrimarySubscriptionStatus;\n  }\n  interface PrimarySubscriptionStatus {\n      /** subscription status */\n      subscriptionStatus?: SubscriptionStatus;\n  }\n  /**\n   * This message is an internal message used by this app and it is used to trigger\n   * the update of the contact's last activity is done asynchronously.\n   */\n  interface LastActivityUpdate {\n      /** The contact ID. */\n      contactId?: string;\n      /** Activity date. */\n      activityDate?: Date | null;\n      /** Activity translation key. */\n      activityTranslationKey?: string;\n      /** Activity icon. */\n      icon?: string | null;\n  }\n  /** Contact creation options. */\n  interface CreateContactRequest {\n      /** Contact info. */\n      info: ContactInfo$2;\n      /**\n       * Controls whether the call will succeed\n       * if the new contact information contains an email or a phone number already used by another contact.\n       *\n       * If set to `true`,\n       * the call will succeed even if an email address or phone number is used by another contact.\n       * If set to `false`,\n       * the call will fail if the given email address is used by another contact or,\n       * if the email address is not given and the given phone number is used by another contact.\n       *\n       * Default: `false`\n       */\n      allowDuplicates?: boolean;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** Contact. */\n  interface CreateContactResponse {\n      /** Contact. */\n      contact?: Contact;\n  }\n  interface DuplicateContactExists {\n      duplicateContactId?: string | null;\n      duplicateEmail?: string | null;\n      duplicatePhone?: string | null;\n  }\n  interface UpdateContactRequest {\n      /** ID of the contact to update. */\n      contactId: string;\n      /**\n       * Revision number.\n       * When updating, include the existing `revision`\n       * to prevent conflicting updates.\n       */\n      revision: number | null;\n      /**\n       * Controls whether the call will succeed\n       * if the new contact information contains an email or a phone number already used by another contact.\n       *\n       * If set to `true`,\n       * the call will succeed even if an email address or phone number is used by another contact.\n       * If set to `false`,\n       * the call will fail if the given email address is used by another contact or,\n       * if the email address is not given and the given phone number is used by another contact.\n       *\n       * Default: `false`\n       */\n      allowDuplicates?: boolean;\n      /** Contact info. */\n      info: ContactInfo$2;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * See\n       * [Field Masks in Update Requests](https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests)\n       * for details on working with field masks.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** Updated contact. */\n  interface UpdateContactResponse {\n      /** Updated contact. */\n      contact?: Contact;\n  }\n  interface MergeContactsRequest {\n      /** Target contact ID. */\n      targetContactId: string;\n      /**\n       * Target contact revision number, which increments by 1 each time the contact is updated.\n       * To prevent conflicting changes,\n       * the target contact's current `revision` must be specified.\n       */\n      targetContactRevision: number | null;\n      /**\n       * IDs of up to 5 contacts to merge into the target contact.\n       * When you merge more than one source contact,\n       * the first source is given precedence, then the second, and so on.\n       */\n      sourceContactIds?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface MergeContactsResponse {\n      /** Updated target contact. */\n      contact?: Contact;\n  }\n  interface ContactMerged {\n      /** ID of the contact the source contacts were merged into. */\n      targetContactId?: string;\n      /** IDs of contacts that were merged into the target contact. */\n      sourceContactIds?: string[];\n      /** Updated target contact. */\n      targetContact?: Contact;\n  }\n  interface PreviewMergeContactsRequest {\n      /** Target contact ID. */\n      targetContactId: string;\n      /**\n       * IDs of up to 5 contacts to merge into the target contact.\n       * When you merge more than one source contact,\n       * the first source is given precedence, then the second, and so on.\n       */\n      sourceContactIds?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface PreviewMergeContactsResponse {\n      /** Preview of the updated target contact. */\n      contact?: Contact;\n  }\n  interface DeleteContactRequest {\n      /** ID of the contact to delete. */\n      contactId: string;\n      /**\n       * Indicates whether to delete the contact that is a member. If set to `true`, the contact is deleted even\n       * if it is a member and the member is also deleted. Default: `false`\n       * @internal\n       */\n      deleteMember?: boolean | null;\n  }\n  interface DeleteContactResponse {\n  }\n  interface LabelContactRequest {\n      /** ID of the contact to add labels to. */\n      contactId: string;\n      /**\n       * List of label keys to add to the contact.\n       *\n       * Label keys must exist to be added to the contact.\n       * Use the Labels API to create or retrieve labels.\n       */\n      labelKeys: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** Updated contact. */\n  interface LabelContactResponse {\n      /** Updated contact. */\n      contact?: Contact;\n  }\n  interface UnlabelContactRequest {\n      /** ID of the contact to remove labels from. */\n      contactId: string;\n      /** List of label keys to remove from the contact. */\n      labelKeys: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** Updated contact. */\n  interface UnlabelContactResponse {\n      /** Updated contact. */\n      contact?: Contact;\n  }\n  interface LabelAndUnlabelContactRequest {\n      /** Contact ID. */\n      contactId: string;\n      /**\n       * List of label keys to add to the contact.\n       *\n       * Label keys must exist to be added to the contact.\n       * Contact labels can be created or retrieved with\n       * [Find or Create Label](https://dev.wix.com/api/rest/contacts/labels/find-or-create-label)\n       * or\n       * [List Labels](https://dev.wix.com/api/rest/contacts/labels/list-labels).\n       */\n      labelKeysToAdd: string[];\n      /** List of label keys to remove from the contact. */\n      labelKeysToRemove: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface LabelAndUnlabelContactResponse {\n      /** Updated contact. */\n      contact?: Contact;\n  }\n  interface ListContactsRequest {\n      /** [Sort order](https://dev.wix.com/api/rest/contacts/contacts/sort-and-filter). */\n      sort?: Sorting$3;\n      /** [Pagination](https://dev.wix.com/api/rest/getting-started/pagination), defaults to offset = 0 and limit = 50 (max limit 1,000). */\n      paging?: Paging$3;\n      /**\n       * List of projected fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       * `id` and `revision` are always returned.\n       *\n       * Supported properties:\n       * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`,\n       * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`,\n       * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`,\n       * `info.labelKeys`, `info.locations`, `info.extendedFields`\n       */\n      fields?: string[];\n      fieldsets?: ContactFieldSet[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface Sorting$3 {\n      /**\n       * Field to sort by.\n       *\n       * Supported properties:\n       * `createdDate`, `lastActivity.activityDate`, `primaryInfo.email`, `info.name.first`, `info.name.last`, `info.company`,\n       * `info.jobTitle`, `info.birthdate`\n       */\n      fieldName?: string;\n      /**\n       * Sort order.\n       * Use `ASC` for ascending order or `DESC` for descending order.\n       *\n       * Defaults to `ASC`.\n       */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$3 {\n      /**\n       * Number of items to return. Learn more about pagination in API Query Language([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language)|[REST](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging).\n       *\n       * Default: `50`. <br>\n       * Maximum: `1000`.\n       */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  enum ContactFieldSet {\n      /** name, primaryEmail, primaryPhone */\n      BASIC = \"BASIC\",\n      /** name, phones, emails, addresses */\n      COMMUNICATION_DETAILS = \"COMMUNICATION_DETAILS\",\n      /** name, primaryInfo(email, phone), extendedFields */\n      EXTENDED = \"EXTENDED\",\n      /** Full contact object */\n      FULL = \"FULL\"\n  }\n  /** List of contacts. */\n  interface ListContactsResponse {\n      /** List of contacts. */\n      contacts?: Contact[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadata$2;\n  }\n  interface PagingMetadata$2 {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /** The offset which was requested. */\n      offset?: number | null;\n      /** The total number of items that match the query. */\n      total?: number | null;\n      /** A flag that indicates the server failed to calculate 'total' field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryContactsRequest {\n      /**\n       * @internal\n       * @internal */\n      search?: string | null;\n      /** Query options. */\n      query?: Query$2;\n      /**\n       * Whether to calculate the total count the number of contacts\n       * @internal\n       */\n      omitTotal?: boolean | null;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface Query$2 {\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n       * for more information.\n       *\n       * For a detailed list of supported filters, see\n       * [Supported Filters](https://dev.wix.com/api/rest/contacts/contacts/supported-filters).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sorting options.\n       * See [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination)\n       * for more information.\n       *\n       * Max: 1 sort object\n       */\n      sort?: Sorting$3[];\n      /** Pagination options. */\n      paging?: Paging$3;\n      /**\n       * List of projected fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       * `id` and `revision` are always returned.\n       *\n       * Supported properties:\n       * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`,\n       * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`,\n       * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`,\n       * `info.labelKeys`, `info.locations`, `info.extendedFields`\n       */\n      fields?: string[];\n      /**\n       * Predefined sets of fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       *\n       * - `BASIC`: Returns `id`, `revision`, `primaryInfo`, `info.name`.\n       * - `COMMUNICATION_DETAILS`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.emails`, `info.phones`, `info.addresses`.\n       * - `EXTENDED`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.extendedFields`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: If `fields` is omitted from the request, `FULL`.\n       */\n      fieldsets?: ContactFieldSet[];\n  }\n  /** List of contacts. */\n  interface QueryContactsResponse {\n      /** List of contacts. */\n      contacts?: Contact[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadata$2;\n  }\n  interface ListFacetsRequest {\n      /** Pagination options. */\n      paging?: Paging$3;\n      /** Language for localization. */\n      language?: string | null;\n      /**\n       * Whether to count the number of contacts per facet\n       * @internal\n       */\n      omitCount?: boolean;\n  }\n  interface ListFacetsResponse {\n      /** List of facets. */\n      facets?: ContactsFacet[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadata$2;\n  }\n  interface ContactsFacet {\n      /** Type of facet. */\n      facetType?: ContactsFacetType;\n      /**\n       * Scope for facet keys.\n       * When a facet key exists in a namespace,\n       * each key is unique within that namespace.\n       *\n       * Currently, facets not created by Wix are in the `custom` namespace.\n       */\n      namespace?: string | null;\n      /** Human-readable display name. */\n      namespaceDisplayName?: string | null;\n      /** Facet key, automatically generated. */\n      facetKey?: string | null;\n      /** Human-readable name. Shown in the Wix UI. */\n      facetDisplayName?: string | null;\n      /** Number of contacts the facet applies to. */\n      count?: number | null;\n      /**\n       * Legacy ID of the facet label\n       * @internal\n       */\n      legacyId?: string | null;\n      /** Filter used to query contacts of this facet. */\n      queryFilter?: Record<string, any> | null;\n  }\n  enum ContactsFacetType {\n      UNKNOWN = \"UNKNOWN\",\n      ALL_CONTACTS = \"ALL_CONTACTS\",\n      NOT_LABELED = \"NOT_LABELED\",\n      LABEL = \"LABEL\",\n      SUBSCRIPTION_STATUS = \"SUBSCRIPTION_STATUS\",\n      MEMBERSHIP_STATUS = \"MEMBERSHIP_STATUS\"\n  }\n  interface QueryFacetsRequest {\n      /** Pagination options. */\n      paging?: Paging$3;\n      /** Language for localization. */\n      language?: string | null;\n      /**\n       * Whether to count the number of contacts per facet\n       * @internal\n       */\n      omitCount?: boolean;\n      /**\n       * Filterable fields:\n       * - `'info.extendedFields.emailSubscriptions.effectiveEmail'` (`$exists`).\n       * - `'info.extendedFields.emailSubscriptions.subscriptionStatus'` (`$eq`, `$ne`, `$in`, `$nin`).\n       * - `'info.extendedFields.emailSubscriptions.deliverabilityStatus'` (`$eq`, `$ne`, `$in`, `$nin`).\n       */\n      filter?: Record<string, any> | null;\n  }\n  interface QueryFacetsResponse {\n      /** List of facets. */\n      facets?: ContactsFacet[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadata$2;\n  }\n  interface BulkDeleteContactsRequest {\n      /**\n       * Filter object.\n       *\n       * Possible filters:\n       * `$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n       *\n       * See [Sort, Filter, and Search](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\n       * for a detailed list of supported filters for contact properties, extended fields, and custom fields.\n       *\n       *\n       * Example:\n       * `{ \"filter\": { \"info.name.last\": \"Smith\" } }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       *\n       * Searchable fields:\n       *\n       * - `info.name.first`\n       * - `info.name.last`\n       * - `info.emails.email`\n       * - `info.phones.phone`\n       */\n      search?: string | null;\n      /**\n       * Indicates whether to delete the contact that is a member. If set to `true`, the contact is deleted even\n       * if it is a member and the member is also deleted. Default: `false`\n       * @internal\n       */\n      deleteMember?: boolean | null;\n  }\n  interface BulkDeleteContactsResponse {\n      /**\n       * Bulk job ID.\n       * The job's status can be retrieved with\n       * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n       * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n       */\n      jobId?: string;\n  }\n  interface BulkUpdateContactsRequest {\n      /**\n       * Filter object.\n       *\n       * Possible filters:\n       * `$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n       *\n       * See [Sort, Filter, and Search](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\n       * for a detailed list of supported filters for contact properties, extended fields, and custom fields.\n       *\n       *\n       * Example:\n       * `{ \"filter\": { \"info.name.last\": \"Smith\" } }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       *\n       * Searchable fields:\n       *\n       * - `info.name.first`\n       * - `info.name.last`\n       * - `info.emails.email`\n       * - `info.phones.phone`\n       */\n      search?: string | null;\n      /** Contact info. */\n      info?: ContactInfo$2;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * See\n       * [Field Masks in Update Requests](https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests)\n       * for details on working with field masks.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateContactsResponse {\n      /**\n       * Bulk job ID.\n       * The job's status can be retrieved with\n       * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n       * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n       */\n      jobId?: string;\n  }\n  interface BulkLabelAndUnlabelContactsRequest {\n      /**\n       * Filter options.\n       * Labels will be removed from contacts that meet the `filter` and `search` criteria.\n       *\n       * See\n       * [Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\n       * for a list of supported filters and fields.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       * Labels will be removed from contacts that meet the `filter` and `search` criteria.\n       *\n       * See\n       * [Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\n       * for a list of searchable fields.\n       */\n      search?: string | null;\n      /**\n       * List of label keys to add to the contacts.\n       *\n       * Label keys must exist to be added to the contact.\n       * Contact labels can be created or retrieved with\n       * [Find or Create Label](https://dev.wix.com/api/rest/contacts/labels/find-or-create-label)\n       * or\n       * [List Labels](https://dev.wix.com/api/rest/contacts/labels/list-labels)\n       */\n      labelKeysToAdd?: string[];\n      /** List of label keys to remove from the contacts. */\n      labelKeysToRemove?: string[];\n  }\n  interface BulkLabelAndUnlabelContactsResponse {\n      /**\n       * Bulk job ID.\n       * The job's status can be retrieved with\n       * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n       * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n       */\n      jobId?: string;\n  }\n  interface BulkUpsertContactsRequest {\n      info?: ContactInfo$2[];\n      returnFullEntity?: boolean;\n  }\n  interface BulkUpsertContactsResponse {\n      results?: Item[];\n      metadata?: BulkUpsertContactsResponseMetadata;\n  }\n  enum Action {\n      UNKNOWN = \"UNKNOWN\",\n      UPDATED = \"UPDATED\",\n      CREATED = \"CREATED\"\n  }\n  interface Error {\n      /** Error code. */\n      code?: string;\n      /** Error details. */\n      message?: string | null;\n  }\n  interface Metadata {\n      _id?: string | null;\n      originalIndex?: number;\n      action?: Action;\n      success?: boolean;\n      error?: Error;\n  }\n  interface Item {\n      contact?: Contact;\n      metadata?: Metadata;\n  }\n  interface BulkUpsertContactsResponseMetadata {\n      totalSuccess?: number;\n      totalFailure?: number;\n      totalCreated?: number;\n      totalUpdated?: number;\n  }\n  interface UpsertContactRequest {\n      info: ContactInfo$2;\n  }\n  interface UpsertContactResponse {\n      /** Upserted contact. */\n      contact?: Contact;\n      action?: UpsertContactResponseAction;\n  }\n  enum UpsertContactResponseAction {\n      UNKNOWN = \"UNKNOWN\",\n      UPDATED = \"UPDATED\",\n      CREATED = \"CREATED\"\n  }\n  interface GeneratePictureUploadUrlRequest {\n      /** ID of the contact whose picture is being updated. */\n      contactId: string;\n      /**\n       * Mime Type. Must be one of:\n       * `image/png`, `image/jpeg`.\n       * Defaults to `image/png`.\n       */\n      mimeType?: string | null;\n  }\n  interface GeneratePictureUploadUrlResponse {\n      /** URL to upload the image */\n      uploadUrl?: string;\n      /** @internal */\n      uploadId?: string;\n  }\n  interface GetContactRequest {\n      /** ID of the contact to retrieve. */\n      _id: string;\n      /**\n       * List of projected fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       * `id` and `revision` are always returned.\n       *\n       * Supported properties:\n       * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`,\n       * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`,\n       * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`,\n       * `info.labelKeys`, `info.locations`, `info.extendedFields`\n       */\n      fields?: string[];\n      /**\n       * Predefined sets of fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       *\n       * - `BASIC`: Returns `id`, `revision`, `primaryInfo`, `info.name`.\n       * - `COMMUNICATION_DETAILS`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.emails`, `info.phones`, `info.addresses`.\n       * - `EXTENDED`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.extendedFields`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: If `fields` is omitted from the request, `FULL`.\n       */\n      fieldsets?: ContactFieldSet[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** The requested contact. */\n  interface GetContactResponse {\n      /** The requested contact. */\n      contact?: Contact;\n      /** Contact response type. */\n      responseType?: GetContactResponseType;\n  }\n  enum GetContactResponseType {\n      /** The specified contact was returned. */\n      REGULAR = \"REGULAR\",\n      /** Not used. */\n      IMPLICIT = \"IMPLICIT\",\n      /** The specified contact was previously merged with another contact and the new contact was returned. */\n      MERGED = \"MERGED\"\n  }\n  interface SyncSubmitContactRequest {\n      contactInfo?: ContactInfo$2;\n      activity?: ContactActivity$1;\n      passThroughData?: string | null;\n      contactId?: string;\n      submitOperation?: SubmitOperation$1;\n      /** Need to resolve source in allocator, because of server sign */\n      sourceType?: ContactSourceType$1;\n      sourceId?: string | null;\n      hideFromContactList?: boolean;\n  }\n  enum SubmitOperation$1 {\n      UNKNOWN = \"UNKNOWN\",\n      CREATE = \"CREATE\",\n      UPDATE = \"UPDATE\"\n  }\n  interface SyncSubmitContactResponse {\n  }\n  interface CountContactsRequest {\n  }\n  interface CountContactsResponse {\n      count?: number;\n  }\n  interface SearchContactsRequest {\n      /** Search object. Encapsulates filter, sorting, paging and other details */\n      search?: Search;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  interface Search extends SearchPagingMethodOneOf {\n      /** Cursor pointing to page of results. 'cursorPaging.cursor' can not be used together with 'filter' or 'sort' */\n      cursorPaging?: CursorPaging$1;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting$3[];\n      /**\n       * List of projected fields to return.\n       *\n       * If used in the request,\n       * all the fields contained in `fields` and `fieldsets` are returned.\n       * If left blank, `fieldsets` is used to determine which fields to return.\n       *\n       * For a list of valid projected fields, see\n       * [Valid Contact Projection Fields](https://dev.wix.com/api/rest/contacts/contacts/fieldsets-and-projected-fields#contacts_contacts_fieldsets-and-projected-fields_valid-contact-projection-fields).\n       */\n      fields?: string[];\n      /**\n       * Predefined sets of fields to return.\n       *\n       * Defaults to `FULL`.\n       * Ignored if left empty when `fields` is used in the request.\n       *\n       * For more information,\n       * see [Contact Fieldsets](https://dev.wix.com/api/rest/contacts/contacts/fieldsets-and-projected-fields#contacts_contacts_fieldsets-and-projected-fields_contact-fieldsets).\n       */\n      fieldsets?: string[];\n      /** free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  /** @oneof */\n  interface SearchPagingMethodOneOf {\n      /** Cursor pointing to page of results. 'cursorPaging.cursor' can not be used together with 'filter' or 'sort' */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface SearchDetails {\n      /** boolean search mode. Default is `OR` */\n      mode?: Mode;\n      /** search term or expression */\n      expression?: string | null;\n      /**\n       * fields to search in. if empty - server will search in own default fieldsDefault searchable fields:\n       *\n       * - `info.name.first`\n       * - `info.name.last`\n       * - `info.emails.email`\n       * - `info.phones.phone`\n       */\n      fields?: string[];\n      /** flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** any */\n      OR = \"OR\",\n      /** all */\n      AND = \"AND\"\n  }\n  interface CursorPaging$1 {\n      /** The number of contacts to load (default = 50, max = 1000) */\n      limit?: number | null;\n      /** Cursor returned in last query response. Should not be provided on first page request */\n      cursor?: string | null;\n  }\n  interface SearchContactsResponse {\n      /** List of contacts. */\n      contacts?: Contact[];\n      /** Details on the paged set of results returned. */\n      cursorPagingMetadata?: CursorPagingMetadata$1;\n  }\n  /** This is the preferred message for cursor-paging enabled services */\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next result page */\n      next?: string | null;\n      /** Cursor pointing to previous result page */\n      prev?: string | null;\n  }\n  interface BulkAddSegmentToContactsRequest {\n      /** Segment id */\n      segmentId?: string;\n      /** List of Contact ids */\n      contactIds?: string[];\n      /** List of existing segment ids */\n      existsSegmentIds?: string[];\n  }\n  interface BulkAddSegmentToContactsResponse {\n      /** List of action results */\n      results?: ItemMetadata[];\n      /** Metadata on the bulk action */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ContactAddedToSegment {\n      /** Id of the segment to which the contact was added */\n      segmentId?: string;\n      /** The contact that was added */\n      contact?: Contact;\n  }\n  interface BulkRemoveSegmentFromContactsRequest {\n      /** Segment id */\n      segmentId?: string;\n      /** List of Contact ids */\n      contactIds?: string[];\n  }\n  interface BulkRemoveSegmentFromContactsResponse {\n      /** List of action results */\n      results?: ItemMetadata[];\n      /** Metadata on the bulk action */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ContactRemovedFromSegment {\n      /** Id of the segment from which the contact was removed */\n      segmentId?: string;\n      /** The contact that was removed */\n      contact?: Contact;\n  }\n  interface ListContactIdsBySegmentRequest {\n      /** Segment id */\n      segmentId?: string;\n      /** Cursor paging. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface ListContactIdsBySegmentResponse {\n      /** List of contact IDs */\n      contactIds?: string[];\n      /** Paging metadata */\n      cursorPagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new contact.\n   *\n   * The `info` object must include at least one of the following:\n   * - Name\n   * - Phone number\n   * - Email address\n   *\n   * By default, if the call contains an email already in use by another contact,\n   * the new contact won't be created. To override this behavior, set `allowDuplicates` to `true`.\n   * @param info - Contact info.\n   * @public\n   * @requiredField info\n   * @param options - Create contact options.\n   * @permissionId CONTACTS.MODIFY\n   * @adminMethod\n   * @returns Contact.\n   */\n  function createContact(info: ContactInfo$2, options?: CreateContactOptions): Promise<CreateContactResponse>;\n  interface CreateContactOptions {\n      /**\n       * Controls whether the call will succeed\n       * if the new contact information contains an email or a phone number already used by another contact.\n       *\n       * If set to `true`,\n       * the call will succeed even if an email address or phone number is used by another contact.\n       * If set to `false`,\n       * the call will fail if the given email address is used by another contact or,\n       * if the email address is not given and the given phone number is used by another contact.\n       *\n       * Default: `false`\n       */\n      allowDuplicates?: boolean;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Updates a contact.\n   *\n   * Each time the contact is updated,\n   * `revision` increments by 1.\n   * The existing `revision` must be included when updating the contact.\n   * This ensures you're working with the latest contact information,\n   * and it prevents unintended overwrites.\n   *\n   * You can't call Update Contact to update the `primaryEmail` of a contact who is also a member.\n   * Instead, use the Members API to update the member's login email, which will also update the contact's primary email.\n   *\n   * Members are typically linked to contacts, and while they share a relationship, the member ID and contact ID are distinct identifiers. Make sure to specifiy the contact ID when calling Update Contact.\n   * @param contactId - ID of the contact to update.\n   * @param info - Contact info.\n   * @param revision - Revision number.\n   * When updating, include the existing `revision`\n   * to prevent conflicting updates.\n   * @public\n   * @requiredField contactId\n   * @requiredField info\n   * @requiredField revision\n   * @param options - Contact update options.\n   * @permissionId CONTACTS.MODIFY\n   * @permissionId CONTACTS.MODIFY_MEMBERSHIP_STATUS\n   * @permissionId CONTACTS.MODIFY_MEMBER_PRIMARY_EMAIL_PERMISSION\n   * @adminMethod\n   * @returns Updated contact.\n   */\n  function updateContact(contactId: string, info: ContactInfo$2, revision: number | null, options?: UpdateContactOptions): Promise<UpdateContactResponse>;\n  interface UpdateContactOptions {\n      /**\n       * Controls whether the call will succeed\n       * if the new contact information contains an email or a phone number already used by another contact.\n       *\n       * If set to `true`,\n       * the call will succeed even if an email address or phone number is used by another contact.\n       * If set to `false`,\n       * the call will fail if the given email address is used by another contact or,\n       * if the email address is not given and the given phone number is used by another contact.\n       *\n       * Default: `false`\n       */\n      allowDuplicates?: boolean;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * See\n       * [Field Masks in Update Requests](https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests)\n       * for details on working with field masks.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Merges source contacts into a target contact.\n   *\n   * Merging contacts has the following effects on the target contact:\n   *\n   * - No target contact data is overwritten or deleted.\n   * - Arrays (emails, phone numbers, addresses, and labels) from the source contacts are added to the target contact's arrays.\n   * - If you merge more than one source contact, the 1st source contact specified is added first, then the 2nd, and so on.\n   * - If there is duplicate information between the target contact and the source contact, the information isn't dupilcated in the target contact's arrays.\n   *\n   * <blockquote class=\"important\">\n   *\n   * __Important:__\n   * Merges cannot be undone.\n   * In REST, call Preview Merge Contacts to test before merging.\n   *\n   * </blockquote>\n   *\n   * When you merge contacts, source contacts are typically deleted.\n   * However, if a source contact is a site member or a Wix user,\n   * the merge will fail because site members and Wix users can't be deleted.\n   * This means that site members and Wix users can only be specified as target contacts in a merge.\n   *\n   * After merging, calling Get Contact with a deleted source contact ID returns the target contact ID.\n   * Specifying a deleted source contact ID is not supported on any other method.\n   *\n   * When contacts are merged:\n   *\n   * - The Contact Merged event is triggered.\n   * - The Contact Updated event is triggered for the target contact. `originatedFrom` is set to `merge`.\n   * - The Contact Deleted event is triggered for each source contact. `originatedFrom` is set to `merge`.\n   * @param targetContactId - Target contact ID.\n   * @param targetContactRevision - Target contact revision number, which increments by 1 each time the contact is updated.\n   * To prevent conflicting changes,\n   * the target contact's current `revision` must be specified.\n   * @public\n   * @requiredField targetContactId\n   * @requiredField targetContactRevision\n   * @param options - Merge contacts options.\n   * @permissionId CONTACTS.MERGE\n   * @adminMethod\n   */\n  function mergeContacts(targetContactId: string, targetContactRevision: number | null, options?: MergeContactsOptions): Promise<MergeContactsResponse>;\n  interface MergeContactsOptions {\n      /**\n       * IDs of up to 5 contacts to merge into the target contact.\n       * When you merge more than one source contact,\n       * the first source is given precedence, then the second, and so on.\n       */\n      sourceContactIds?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Previews merging source contacts into a target contact.\n   *\n   * This method performs a dry run without deleting or updating any contacts.\n   * A preview of the updated target contact is returned,\n   * but no data is changed in the contact list.\n   *\n   * To perform the actual merge, use Merge Contacts.\n   * @param targetContactId - Target contact ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField targetContactId\n   * @param options - Preview merge contacts options.\n   * @permissionId CONTACTS.MERGE\n   * @adminMethod\n   */\n  function previewMergeContacts(targetContactId: string, options?: PreviewMergeContactsOptions): Promise<PreviewMergeContactsResponse>;\n  interface PreviewMergeContactsOptions {\n      /**\n       * IDs of up to 5 contacts to merge into the target contact.\n       * When you merge more than one source contact,\n       * the first source is given precedence, then the second, and so on.\n       */\n      sourceContactIds?: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Deletes a contact.\n   *\n   * Deleting a contact permanently removes it from the contact list.\n   * If a contact is also a site member or Wix user, or has a valid billing subscription,\n   * the contact can't be deleted. The related site member or Wix user must first be deleted\n   * and any valid billing subscriptions must be canceled, before the contact can be deleted.\n   *\n   * Members are typically linked to contacts, and while they share a relationship, the member ID and contact ID are distinct identifiers.\n   * Make sure to specify the contact ID when calling Delete Contact.\n   * @param contactId - ID of the contact to delete.\n   * @public\n   * @requiredField contactId\n   * @permissionId CONTACTS.MODIFY\n   * @permissionId MEMBERS.MEMBER_DELETE\n   * @adminMethod\n   */\n  function deleteContact(contactId: string, options?: DeleteContactOptions): Promise<void>;\n  interface DeleteContactOptions {\n      /**\n       * Indicates whether to delete the contact that is a member. If set to `true`, the contact is deleted even\n       * if it is a member and the member is also deleted. Default: `false`\n       * @internal\n       */\n      deleteMember?: boolean | null;\n  }\n  /**\n   * Adds labels to a contact.\n   *\n   * Use the Labels API to create or retrieve labels.\n   *\n   * Members are typically linked to contacts, and while they share a relationship, the member ID and contact ID are distinct identifiers.\n   * Make sure to specify the contact ID when calling Label Contact.\n   * @param contactId - ID of the contact to add labels to.\n   * @param labelKeys - List of label keys to add to the contact.\n   *\n   * Label keys must exist to be added to the contact.\n   * Use the Labels API to create or retrieve labels.\n   * @public\n   * @requiredField contactId\n   * @requiredField labelKeys\n   * @permissionId CONTACTS.MODIFY\n   * @adminMethod\n   * @returns Updated contact.\n   */\n  function labelContact(contactId: string, labelKeys: string[], options?: LabelContactOptions): Promise<LabelContactResponse>;\n  interface LabelContactOptions {\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Removes labels from a contact.\n   *\n   * If a label is no longer needed\n   * and you want to remove it from all contacts,\n   * you can delete by calling Delete Label from the Labels API.\n   *\n   * Members are typically linked to contacts, and while they share a relationship, the member ID and contact ID are distinct identifiers.\n   * Make sure to specify the contact ID when calling Unlabel Contact.\n   * @param contactId - ID of the contact to remove labels from.\n   * @param labelKeys - List of label keys to remove from the contact.\n   * @public\n   * @requiredField contactId\n   * @requiredField labelKeys\n   * @permissionId CONTACTS.MODIFY\n   * @adminMethod\n   * @returns Updated contact.\n   */\n  function unlabelContact(contactId: string, labelKeys: string[], options?: UnlabelContactOptions): Promise<UnlabelContactResponse>;\n  interface UnlabelContactOptions {\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Adds and removes labels from a contact.\n   * The requested labels must already exist for the site.\n   * To create new labels, use\n   * [Find or Create Label](https://dev.wix.com/api/rest/contacts/labels/find-or-create-label)\n   * (in the Contact Labels API) before running this request.\n   * @param contactId - Contact ID.\n   * @param labelKeysToAdd - List of label keys to add to the contact.\n   *\n   * Label keys must exist to be added to the contact.\n   * Contact labels can be created or retrieved with\n   * [Find or Create Label](https://dev.wix.com/api/rest/contacts/labels/find-or-create-label)\n   * or\n   * [List Labels](https://dev.wix.com/api/rest/contacts/labels/list-labels).\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @requiredField labelKeysToAdd\n   * @requiredField options.labelKeysToRemove\n   * @permissionId CONTACTS.MODIFY\n   * @adminMethod\n   */\n  function labelAndUnlabelContact(contactId: string, labelKeysToAdd: string[], options?: LabelAndUnlabelContactOptions): Promise<LabelAndUnlabelContactResponse>;\n  interface LabelAndUnlabelContactOptions {\n      /** List of label keys to remove from the contact. */\n      labelKeysToRemove: string[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Retrieves a list of up to 1,000 contacts per request.\n   * @internal\n   * @documentationMaturity preview\n   * @param options - Object containing list of options for retrieving contacts.\n   * @permissionId CONTACTS.VIEW\n   * @adminMethod\n   * @returns List of contacts.\n   */\n  function listContacts(options?: ListContactsOptions): Promise<ListContactsResponse>;\n  interface ListContactsOptions {\n      /** [Sort order](https://dev.wix.com/api/rest/contacts/contacts/sort-and-filter). */\n      sort?: Sorting$3;\n      /** [Pagination](https://dev.wix.com/api/rest/getting-started/pagination), defaults to offset = 0 and limit = 50 (max limit 1,000). */\n      paging?: Paging$3;\n      /**\n       * List of projected fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       * `id` and `revision` are always returned.\n       *\n       * Supported properties:\n       * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`,\n       * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`,\n       * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`,\n       * `info.labelKeys`, `info.locations`, `info.extendedFields`\n       */\n      fields?: string[];\n      fieldsets?: ContactFieldSet[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /**\n   * Creates a query to retrieve a list of contacts.\n   *\n   * The `queryContacts()` function builds a query to retrieve a list of contacts and returns a `ContactsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `ContactsQueryBuilder` functions onto the query. `ContactsQueryBuilder` functions enable you to sort, filter, and control the results `queryContacts()` returns.\n   *\n   * `queryContacts()` runs with these `ContactsQueryBuilder` defaults, which you can override:\n   *\n   * - `skip(0)`\n   * - `limit(50)`\n   * - `descending(\\\"_createdDate\\\")`\n   *\n   * The functions that are chained to `queryContacts()` are applied in the order they are called. For example, if you apply `ascending('info.company')` and then `descending('info.name.last')`, the results are sorted first by the company name, and then, if there are multiple results with the same company, the items are sorted by last name.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Query contact options.\n   * @permissionId CONTACTS.VIEW\n   * @adminMethod\n   */\n  function queryContacts(options?: QueryContactsOptions): ContactsQueryBuilder;\n  interface QueryContactsOptions {\n      /** @internal */\n      search?: string | null | undefined;\n      /**\n       * Whether to calculate the total count the number of contacts\n       * @internal\n       */\n      omitTotal?: boolean | null | undefined;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null | undefined;\n  }\n  interface QueryOffsetResult$2 {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ContactsQueryResult extends QueryOffsetResult$2 {\n      items: Contact[];\n      query: ContactsQueryBuilder;\n      next: () => Promise<ContactsQueryResult>;\n      prev: () => Promise<ContactsQueryResult>;\n  }\n  interface ContactsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'lastActivity.activityDate' | 'primaryInfo.email' | 'primaryInfo.phone' | 'info.name.first' | 'info.name.last' | 'info.company' | 'info.jobTitle' | 'info.birthdate' | 'info.locale', value: any) => ContactsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'lastActivity.activityDate' | 'primaryInfo.email' | 'primaryInfo.phone' | 'info.name.first' | 'info.name.last' | 'info.company' | 'info.jobTitle' | 'info.birthdate' | 'info.locale', value: any) => ContactsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate' | 'lastActivity.activityDate', value: any) => ContactsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate' | 'lastActivity.activityDate', value: any) => ContactsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate' | 'lastActivity.activityDate', value: any) => ContactsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate' | 'lastActivity.activityDate', value: any) => ContactsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'primaryInfo.email' | 'primaryInfo.phone' | 'info.name.first' | 'info.name.last' | 'info.company' | 'info.jobTitle', value: string) => ContactsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'primaryInfo.email' | 'primaryInfo.phone' | 'info.name.first' | 'info.name.last' | 'info.company' | 'info.jobTitle' | 'info.locale', value: any) => ContactsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'primaryInfo.email' | 'primaryInfo.phone' | 'info.name.first' | 'info.name.last' | 'info.company' | 'info.jobTitle' | 'info.locale', value: boolean) => ContactsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | 'lastActivity.activityDate' | 'primaryInfo.email' | 'info.name.first' | 'info.name.last' | 'info.company' | 'info.jobTitle' | 'info.birthdate'>) => ContactsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | 'lastActivity.activityDate' | 'primaryInfo.email' | 'info.name.first' | 'info.name.last' | 'info.company' | 'info.jobTitle' | 'info.birthdate'>) => ContactsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ContactsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => ContactsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ContactsQueryResult>;\n  }\n  /**\n   * Lists facets from the site’s contact list.\n   * Facets include labels and subscription statuses.\n   * @internal\n   * @documentationMaturity preview\n   * @param options - List facets options.\n   * @permissionId CONTACTS.VIEW\n   * @adminMethod\n   */\n  function listFacets(options?: ListFacetsOptions): Promise<ListFacetsResponse>;\n  interface ListFacetsOptions {\n      /** Pagination options. */\n      paging?: Paging$3;\n      /** Language for localization. */\n      language?: string | null;\n      /**\n       * Whether to count the number of contacts per facet\n       * @internal\n       */\n      omitCount?: boolean;\n  }\n  /**\n   * Retrieves facets from the site’s contact list by filter.\n   * Facets include labels and subscription statuses.\n   * @internal\n   * @documentationMaturity preview\n   * @param options - Query facets options.\n   * @permissionId CONTACTS.VIEW\n   * @adminMethod\n   */\n  function queryFacets(options?: QueryFacetsOptions): Promise<QueryFacetsResponse>;\n  interface QueryFacetsOptions {\n      /** Pagination options. */\n      paging?: Paging$3;\n      /** Language for localization. */\n      language?: string | null;\n      /**\n       * Whether to count the number of contacts per facet\n       * @internal\n       */\n      omitCount?: boolean;\n      /**\n       * Filterable fields:\n       * - `'info.extendedFields.emailSubscriptions.effectiveEmail'` (`$exists`).\n       * - `'info.extendedFields.emailSubscriptions.subscriptionStatus'` (`$eq`, `$ne`, `$in`, `$nin`).\n       * - `'info.extendedFields.emailSubscriptions.deliverabilityStatus'` (`$eq`, `$ne`, `$in`, `$nin`).\n       */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Deletes multiple contacts.\n   *\n   * All contacts that meet the specified `filter` and `search` criteria are deleted.\n   * The request should contain a `filter` value or a `search` value, or both.\n   * To perform a dry run, call Query Contacts with the intended filter options.\n   *\n   * When this method is called, a bulk job is started and the job ID is returned.\n   * The job might not complete right away, depending on its size.\n   * The job's status can be retrieved with Get Bulk Job or List Bulk Jobs.\n   *\n   * The following errors might occur during the bulk processing and will appear in the bulk job:\n   * - `CANNOT_DELETE_SITE_MEMBERS` - Contact is a site member and can't be deleted. Member must be deleted first.\n   * - `CANNOT_DELETE_CONTACT_WITH_BILLING_SUBSCRIPTION` - Contact has a valid billing subscription and can't be deleted.\n   * - `CANNOT_DELETE_MEMBER_OWNER_OR_CONTRIBUTOR` - Member is a Wix user and can't be deleted. This can happen only if the request indicated to delete the member.\n   * - `FAILED_DELETE_CONTACT_AFTER_MEMBER_DELETION` - Member was deleted, but contact was not. This can happen only if the request indicated to delete the member.\n   * - `FAILED_DELETE_CONTACT` - Contact could not be deleted.\n   * @internal\n   * @documentationMaturity preview\n   * @param options - Bulk delete contacts options.\n   * @permissionId CONTACTS.MODIFY\n   * @permissionId MEMBERS.MEMBER_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteContacts(options?: BulkDeleteContactsOptions): Promise<BulkDeleteContactsResponse>;\n  interface BulkDeleteContactsOptions {\n      /**\n       * Filter object.\n       *\n       * Possible filters:\n       * `$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n       *\n       * See [Sort, Filter, and Search](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\n       * for a detailed list of supported filters for contact properties, extended fields, and custom fields.\n       *\n       *\n       * Example:\n       * `{ \"filter\": { \"info.name.last\": \"Smith\" } }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       *\n       * Searchable fields:\n       *\n       * - `info.name.first`\n       * - `info.name.last`\n       * - `info.emails.email`\n       * - `info.phones.phone`\n       */\n      search?: string | null;\n      /**\n       * Indicates whether to delete the contact that is a member. If set to `true`, the contact is deleted even\n       * if it is a member and the member is also deleted. Default: `false`\n       * @internal\n       */\n      deleteMember?: boolean | null;\n  }\n  /**\n   * Updates the specified properties for multiple contacts.\n   * Fields that are included in fieldMask.paths are updated,\n   * while all other fields stay the same.\n   *\n   * All contacts that meet the specified `filter` and `search` criteria are updated.\n   * To perform a dry run, call Query Contacts with the intended filter options.\n   *\n   * When this method is used, a bulk job is started and the job ID is returned.\n   * The job may not complete right away, depending on its size.\n   * The job's status can be retrieved with\n   * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n   * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n   * @internal\n   * @documentationMaturity preview\n   * @param options - Bulk update contacts options.\n   * @permissionId CONTACTS.MODIFY\n   * @adminMethod\n   */\n  function bulkUpdateContacts(options?: BulkUpdateContactsOptions): Promise<BulkUpdateContactsResponse>;\n  interface BulkUpdateContactsOptions {\n      /**\n       * Filter object.\n       *\n       * Possible filters:\n       * `$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n       *\n       * See [Sort, Filter, and Search](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\n       * for a detailed list of supported filters for contact properties, extended fields, and custom fields.\n       *\n       *\n       * Example:\n       * `{ \"filter\": { \"info.name.last\": \"Smith\" } }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       *\n       * Searchable fields:\n       *\n       * - `info.name.first`\n       * - `info.name.last`\n       * - `info.emails.email`\n       * - `info.phones.phone`\n       */\n      search?: string | null;\n      /** Contact info. */\n      info?: ContactInfo$2;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * See\n       * [Field Masks in Update Requests](https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests)\n       * for details on working with field masks.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Adds and removes labels from multiple contacts.\n   *\n   * Labels are added to and removed from all contacts that meet the specified\n   * `filter` and `search` criteria.\n   * The request should specify a `filter` value, a `search` value, or both.\n   * To perform a dry run, call Query Contacts with the intended filter options.\n   *\n   * When this method is used, a bulk job is started and the job ID is returned.\n   * The job might not not complete right away, depending on its size.\n   * The job's status can be retrieved with\n   * [Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n   * [List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n   * @internal\n   * @documentationMaturity preview\n   * @param options - Bulk label and unlabel contacts options.\n   * @permissionId CONTACTS.MODIFY\n   * @adminMethod\n   */\n  function bulkLabelAndUnlabelContacts(options?: BulkLabelAndUnlabelContactsOptions): Promise<BulkLabelAndUnlabelContactsResponse>;\n  interface BulkLabelAndUnlabelContactsOptions {\n      /**\n       * Filter options.\n       * Labels will be removed from contacts that meet the `filter` and `search` criteria.\n       *\n       * See\n       * [Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\n       * for a list of supported filters and fields.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Plain text search for an exact match, up to 100 characters.\n       * Labels will be removed from contacts that meet the `filter` and `search` criteria.\n       *\n       * See\n       * [Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\n       * for a list of searchable fields.\n       */\n      search?: string | null;\n      /**\n       * List of label keys to add to the contacts.\n       *\n       * Label keys must exist to be added to the contact.\n       * Contact labels can be created or retrieved with\n       * [Find or Create Label](https://dev.wix.com/api/rest/contacts/labels/find-or-create-label)\n       * or\n       * [List Labels](https://dev.wix.com/api/rest/contacts/labels/list-labels)\n       */\n      labelKeysToAdd?: string[];\n      /** List of label keys to remove from the contacts. */\n      labelKeysToRemove?: string[];\n  }\n  /**\n   * Upserts multiple contacts.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId CONTACTS.MODIFY\n   * @adminMethod\n   */\n  function bulkUpsertContacts(options?: BulkUpsertContactsOptions): Promise<BulkUpsertContactsResponse>;\n  interface BulkUpsertContactsOptions {\n      info?: ContactInfo$2[];\n      returnFullEntity?: boolean;\n  }\n  /**\n   * Update the requested contact, when found by given email and/or phone, otherwise create the contact.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField info\n   * @permissionId CONTACTS.MODIFY\n   * @adminMethod\n   */\n  function upsertContact(info: ContactInfo$2): Promise<UpsertContactResponse>;\n  /**\n   * Generates an URL that can be used to upload a contact picture\n   * @param contactId - ID of the contact whose picture is being updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @permissionId CONTACTS.MODIFY\n   * @adminMethod\n   */\n  function generatePictureUploadUrl(contactId: string, options?: GeneratePictureUploadUrlOptions): Promise<GeneratePictureUploadUrlResponse>;\n  interface GeneratePictureUploadUrlOptions {\n      /**\n       * Mime Type. Must be one of:\n       * `image/png`, `image/jpeg`.\n       * Defaults to `image/png`.\n       */\n      mimeType?: string | null;\n  }\n  /**\n   * Retrieves a contact.\n   *\n   * #### Getting Merged Contacts\n   *\n   * When a source contact is merged\n   * with a target contact, the source contact is deleted.\n   * When calling Get Contact for a merged contact,\n   * you can use the source or target contact ID.\n   * In both bases, the target contact is returned.\n   *\n   * This is supported only when calling Get Contact on merged contacts.\n   * Previously deleted source contact IDs can't be used for any other method.\n   * @param _id - ID of the contact to retrieve.\n   * @public\n   * @requiredField _id\n   * @param options - Get contact options.\n   * @permissionId CONTACTS.VIEW\n   * @adminMethod\n   * @returns The requested contact.\n   */\n  function getContact(_id: string, options?: GetContactOptions): Promise<Contact>;\n  interface GetContactOptions {\n      /**\n       * List of projected fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       * `id` and `revision` are always returned.\n       *\n       * Supported properties:\n       * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`,\n       * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`,\n       * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`,\n       * `info.labelKeys`, `info.locations`, `info.extendedFields`\n       */\n      fields?: string[];\n      /**\n       * Predefined sets of fields to return.\n       * If both `fields` and `fieldsets` are sent in the request,\n       * the union of both lists is returned.\n       *\n       * - `BASIC`: Returns `id`, `revision`, `primaryInfo`, `info.name`.\n       * - `COMMUNICATION_DETAILS`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.emails`, `info.phones`, `info.addresses`.\n       * - `EXTENDED`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.extendedFields`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: If `fields` is omitted from the request, `FULL`.\n       */\n      fieldsets?: ContactFieldSet[];\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId CONTACTS.VIEW\n   * @adminMethod\n   */\n  function countContacts(): Promise<CountContactsResponse>;\n  /**\n   * Retrieves a list of contacts, given the provided cursorPaging, [filtering, and sorting](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching).\n   * Up to 1,000 contacts can be returned per request.\n   *\n   * For a detailed list of supported operations, see\n   * filtering and sorting for\n   * [contact properties](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#contact-properties-filtering-sorting-and-searching),\n   * [extended fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#extended-fields-filtering-sorting-and-searching),\n   * and [custom fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#custom-fields-filtering-sorting-and-searching).\n   * To learn how to query contacts, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId CONTACTS.VIEW\n   * @adminMethod\n   */\n  function searchContacts(options?: SearchContactsOptions): Promise<SearchContactsResponse>;\n  interface SearchContactsOptions {\n      /** Search object. Encapsulates filter, sorting, paging and other details */\n      search?: Search;\n      /**\n       * Language for localization.\n       * @internal\n       */\n      language?: string | null;\n  }\n  \n  type contactsV4Contact_universal_d_Contact = Contact;\n  type contactsV4Contact_universal_d_ContactSource = ContactSource;\n  type contactsV4Contact_universal_d_PrimaryContactInfo = PrimaryContactInfo;\n  type contactsV4Contact_universal_d_SegmentsWrapper = SegmentsWrapper;\n  type contactsV4Contact_universal_d_PrimaryEmail = PrimaryEmail;\n  type contactsV4Contact_universal_d_SubscriptionStatus = SubscriptionStatus;\n  const contactsV4Contact_universal_d_SubscriptionStatus: typeof SubscriptionStatus;\n  type contactsV4Contact_universal_d_EmailDeliverabilityStatus = EmailDeliverabilityStatus;\n  const contactsV4Contact_universal_d_EmailDeliverabilityStatus: typeof EmailDeliverabilityStatus;\n  type contactsV4Contact_universal_d_PrimaryPhone = PrimaryPhone;\n  type contactsV4Contact_universal_d_PhoneDeliverabilityStatus = PhoneDeliverabilityStatus;\n  const contactsV4Contact_universal_d_PhoneDeliverabilityStatus: typeof PhoneDeliverabilityStatus;\n  type contactsV4Contact_universal_d_MemberInfo = MemberInfo;\n  type contactsV4Contact_universal_d_MemberStatus = MemberStatus;\n  const contactsV4Contact_universal_d_MemberStatus: typeof MemberStatus;\n  type contactsV4Contact_universal_d_ProfileInfo = ProfileInfo;\n  type contactsV4Contact_universal_d_PrivacyStatus = PrivacyStatus;\n  const contactsV4Contact_universal_d_PrivacyStatus: typeof PrivacyStatus;\n  type contactsV4Contact_universal_d_UserInfo = UserInfo;\n  type contactsV4Contact_universal_d_Role = Role;\n  const contactsV4Contact_universal_d_Role: typeof Role;\n  type contactsV4Contact_universal_d_SessionInfo = SessionInfo;\n  type contactsV4Contact_universal_d_GroupInfo = GroupInfo;\n  type contactsV4Contact_universal_d_ContactSubmitted = ContactSubmitted;\n  type contactsV4Contact_universal_d_ContactChanged = ContactChanged;\n  type contactsV4Contact_universal_d_ContactEmailSubscriptionUpdated = ContactEmailSubscriptionUpdated;\n  type contactsV4Contact_universal_d_ContactPhoneSubscriptionUpdated = ContactPhoneSubscriptionUpdated;\n  type contactsV4Contact_universal_d_ContactPrimaryInfoUpdated = ContactPrimaryInfoUpdated;\n  type contactsV4Contact_universal_d_PrimarySubscriptionStatus = PrimarySubscriptionStatus;\n  type contactsV4Contact_universal_d_LastActivityUpdate = LastActivityUpdate;\n  type contactsV4Contact_universal_d_CreateContactRequest = CreateContactRequest;\n  type contactsV4Contact_universal_d_CreateContactResponse = CreateContactResponse;\n  type contactsV4Contact_universal_d_DuplicateContactExists = DuplicateContactExists;\n  type contactsV4Contact_universal_d_UpdateContactRequest = UpdateContactRequest;\n  type contactsV4Contact_universal_d_UpdateContactResponse = UpdateContactResponse;\n  type contactsV4Contact_universal_d_MergeContactsRequest = MergeContactsRequest;\n  type contactsV4Contact_universal_d_MergeContactsResponse = MergeContactsResponse;\n  type contactsV4Contact_universal_d_ContactMerged = ContactMerged;\n  type contactsV4Contact_universal_d_PreviewMergeContactsRequest = PreviewMergeContactsRequest;\n  type contactsV4Contact_universal_d_PreviewMergeContactsResponse = PreviewMergeContactsResponse;\n  type contactsV4Contact_universal_d_DeleteContactRequest = DeleteContactRequest;\n  type contactsV4Contact_universal_d_DeleteContactResponse = DeleteContactResponse;\n  type contactsV4Contact_universal_d_LabelContactRequest = LabelContactRequest;\n  type contactsV4Contact_universal_d_LabelContactResponse = LabelContactResponse;\n  type contactsV4Contact_universal_d_UnlabelContactRequest = UnlabelContactRequest;\n  type contactsV4Contact_universal_d_UnlabelContactResponse = UnlabelContactResponse;\n  type contactsV4Contact_universal_d_LabelAndUnlabelContactRequest = LabelAndUnlabelContactRequest;\n  type contactsV4Contact_universal_d_LabelAndUnlabelContactResponse = LabelAndUnlabelContactResponse;\n  type contactsV4Contact_universal_d_ListContactsRequest = ListContactsRequest;\n  type contactsV4Contact_universal_d_ContactFieldSet = ContactFieldSet;\n  const contactsV4Contact_universal_d_ContactFieldSet: typeof ContactFieldSet;\n  type contactsV4Contact_universal_d_ListContactsResponse = ListContactsResponse;\n  type contactsV4Contact_universal_d_QueryContactsRequest = QueryContactsRequest;\n  type contactsV4Contact_universal_d_QueryContactsResponse = QueryContactsResponse;\n  type contactsV4Contact_universal_d_ListFacetsRequest = ListFacetsRequest;\n  type contactsV4Contact_universal_d_ListFacetsResponse = ListFacetsResponse;\n  type contactsV4Contact_universal_d_ContactsFacet = ContactsFacet;\n  type contactsV4Contact_universal_d_ContactsFacetType = ContactsFacetType;\n  const contactsV4Contact_universal_d_ContactsFacetType: typeof ContactsFacetType;\n  type contactsV4Contact_universal_d_QueryFacetsRequest = QueryFacetsRequest;\n  type contactsV4Contact_universal_d_QueryFacetsResponse = QueryFacetsResponse;\n  type contactsV4Contact_universal_d_BulkDeleteContactsRequest = BulkDeleteContactsRequest;\n  type contactsV4Contact_universal_d_BulkDeleteContactsResponse = BulkDeleteContactsResponse;\n  type contactsV4Contact_universal_d_BulkUpdateContactsRequest = BulkUpdateContactsRequest;\n  type contactsV4Contact_universal_d_BulkUpdateContactsResponse = BulkUpdateContactsResponse;\n  type contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsRequest = BulkLabelAndUnlabelContactsRequest;\n  type contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsResponse = BulkLabelAndUnlabelContactsResponse;\n  type contactsV4Contact_universal_d_BulkUpsertContactsRequest = BulkUpsertContactsRequest;\n  type contactsV4Contact_universal_d_BulkUpsertContactsResponse = BulkUpsertContactsResponse;\n  type contactsV4Contact_universal_d_Action = Action;\n  const contactsV4Contact_universal_d_Action: typeof Action;\n  type contactsV4Contact_universal_d_Error = Error;\n  type contactsV4Contact_universal_d_Metadata = Metadata;\n  type contactsV4Contact_universal_d_Item = Item;\n  type contactsV4Contact_universal_d_BulkUpsertContactsResponseMetadata = BulkUpsertContactsResponseMetadata;\n  type contactsV4Contact_universal_d_UpsertContactRequest = UpsertContactRequest;\n  type contactsV4Contact_universal_d_UpsertContactResponse = UpsertContactResponse;\n  type contactsV4Contact_universal_d_UpsertContactResponseAction = UpsertContactResponseAction;\n  const contactsV4Contact_universal_d_UpsertContactResponseAction: typeof UpsertContactResponseAction;\n  type contactsV4Contact_universal_d_GeneratePictureUploadUrlRequest = GeneratePictureUploadUrlRequest;\n  type contactsV4Contact_universal_d_GeneratePictureUploadUrlResponse = GeneratePictureUploadUrlResponse;\n  type contactsV4Contact_universal_d_GetContactRequest = GetContactRequest;\n  type contactsV4Contact_universal_d_GetContactResponse = GetContactResponse;\n  type contactsV4Contact_universal_d_GetContactResponseType = GetContactResponseType;\n  const contactsV4Contact_universal_d_GetContactResponseType: typeof GetContactResponseType;\n  type contactsV4Contact_universal_d_SyncSubmitContactRequest = SyncSubmitContactRequest;\n  type contactsV4Contact_universal_d_SyncSubmitContactResponse = SyncSubmitContactResponse;\n  type contactsV4Contact_universal_d_CountContactsRequest = CountContactsRequest;\n  type contactsV4Contact_universal_d_CountContactsResponse = CountContactsResponse;\n  type contactsV4Contact_universal_d_SearchContactsRequest = SearchContactsRequest;\n  type contactsV4Contact_universal_d_Search = Search;\n  type contactsV4Contact_universal_d_SearchPagingMethodOneOf = SearchPagingMethodOneOf;\n  type contactsV4Contact_universal_d_SearchDetails = SearchDetails;\n  type contactsV4Contact_universal_d_Mode = Mode;\n  const contactsV4Contact_universal_d_Mode: typeof Mode;\n  type contactsV4Contact_universal_d_SearchContactsResponse = SearchContactsResponse;\n  type contactsV4Contact_universal_d_BulkAddSegmentToContactsRequest = BulkAddSegmentToContactsRequest;\n  type contactsV4Contact_universal_d_BulkAddSegmentToContactsResponse = BulkAddSegmentToContactsResponse;\n  type contactsV4Contact_universal_d_ItemMetadata = ItemMetadata;\n  type contactsV4Contact_universal_d_ApplicationError = ApplicationError;\n  type contactsV4Contact_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type contactsV4Contact_universal_d_ContactAddedToSegment = ContactAddedToSegment;\n  type contactsV4Contact_universal_d_BulkRemoveSegmentFromContactsRequest = BulkRemoveSegmentFromContactsRequest;\n  type contactsV4Contact_universal_d_BulkRemoveSegmentFromContactsResponse = BulkRemoveSegmentFromContactsResponse;\n  type contactsV4Contact_universal_d_ContactRemovedFromSegment = ContactRemovedFromSegment;\n  type contactsV4Contact_universal_d_ListContactIdsBySegmentRequest = ListContactIdsBySegmentRequest;\n  type contactsV4Contact_universal_d_ListContactIdsBySegmentResponse = ListContactIdsBySegmentResponse;\n  const contactsV4Contact_universal_d_createContact: typeof createContact;\n  type contactsV4Contact_universal_d_CreateContactOptions = CreateContactOptions;\n  const contactsV4Contact_universal_d_updateContact: typeof updateContact;\n  type contactsV4Contact_universal_d_UpdateContactOptions = UpdateContactOptions;\n  const contactsV4Contact_universal_d_mergeContacts: typeof mergeContacts;\n  type contactsV4Contact_universal_d_MergeContactsOptions = MergeContactsOptions;\n  const contactsV4Contact_universal_d_previewMergeContacts: typeof previewMergeContacts;\n  type contactsV4Contact_universal_d_PreviewMergeContactsOptions = PreviewMergeContactsOptions;\n  const contactsV4Contact_universal_d_deleteContact: typeof deleteContact;\n  type contactsV4Contact_universal_d_DeleteContactOptions = DeleteContactOptions;\n  const contactsV4Contact_universal_d_labelContact: typeof labelContact;\n  type contactsV4Contact_universal_d_LabelContactOptions = LabelContactOptions;\n  const contactsV4Contact_universal_d_unlabelContact: typeof unlabelContact;\n  type contactsV4Contact_universal_d_UnlabelContactOptions = UnlabelContactOptions;\n  const contactsV4Contact_universal_d_labelAndUnlabelContact: typeof labelAndUnlabelContact;\n  type contactsV4Contact_universal_d_LabelAndUnlabelContactOptions = LabelAndUnlabelContactOptions;\n  const contactsV4Contact_universal_d_listContacts: typeof listContacts;\n  type contactsV4Contact_universal_d_ListContactsOptions = ListContactsOptions;\n  const contactsV4Contact_universal_d_queryContacts: typeof queryContacts;\n  type contactsV4Contact_universal_d_QueryContactsOptions = QueryContactsOptions;\n  type contactsV4Contact_universal_d_ContactsQueryResult = ContactsQueryResult;\n  type contactsV4Contact_universal_d_ContactsQueryBuilder = ContactsQueryBuilder;\n  const contactsV4Contact_universal_d_listFacets: typeof listFacets;\n  type contactsV4Contact_universal_d_ListFacetsOptions = ListFacetsOptions;\n  const contactsV4Contact_universal_d_queryFacets: typeof queryFacets;\n  type contactsV4Contact_universal_d_QueryFacetsOptions = QueryFacetsOptions;\n  const contactsV4Contact_universal_d_bulkDeleteContacts: typeof bulkDeleteContacts;\n  type contactsV4Contact_universal_d_BulkDeleteContactsOptions = BulkDeleteContactsOptions;\n  const contactsV4Contact_universal_d_bulkUpdateContacts: typeof bulkUpdateContacts;\n  type contactsV4Contact_universal_d_BulkUpdateContactsOptions = BulkUpdateContactsOptions;\n  const contactsV4Contact_universal_d_bulkLabelAndUnlabelContacts: typeof bulkLabelAndUnlabelContacts;\n  type contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsOptions = BulkLabelAndUnlabelContactsOptions;\n  const contactsV4Contact_universal_d_bulkUpsertContacts: typeof bulkUpsertContacts;\n  type contactsV4Contact_universal_d_BulkUpsertContactsOptions = BulkUpsertContactsOptions;\n  const contactsV4Contact_universal_d_upsertContact: typeof upsertContact;\n  const contactsV4Contact_universal_d_generatePictureUploadUrl: typeof generatePictureUploadUrl;\n  type contactsV4Contact_universal_d_GeneratePictureUploadUrlOptions = GeneratePictureUploadUrlOptions;\n  const contactsV4Contact_universal_d_getContact: typeof getContact;\n  type contactsV4Contact_universal_d_GetContactOptions = GetContactOptions;\n  const contactsV4Contact_universal_d_countContacts: typeof countContacts;\n  const contactsV4Contact_universal_d_searchContacts: typeof searchContacts;\n  type contactsV4Contact_universal_d_SearchContactsOptions = SearchContactsOptions;\n  namespace contactsV4Contact_universal_d {\n    export {\n      contactsV4Contact_universal_d_Contact as Contact,\n      contactsV4Contact_universal_d_ContactSource as ContactSource,\n      ContactSourceType$1 as ContactSourceType,\n      ContactActivity$1 as ContactActivity,\n      ContactActivityType$1 as ContactActivityType,\n      ActivityIcon$1 as ActivityIcon,\n      contactsV4Contact_universal_d_PrimaryContactInfo as PrimaryContactInfo,\n      ContactInfo$2 as ContactInfo,\n      ContactName$1 as ContactName,\n      ContactEmailsWrapper$1 as ContactEmailsWrapper,\n      ContactEmail$1 as ContactEmail,\n      EmailTag$1 as EmailTag,\n      ContactPhonesWrapper$1 as ContactPhonesWrapper,\n      ContactPhone$1 as ContactPhone,\n      PhoneTag$1 as PhoneTag,\n      ContactAddressesWrapper$1 as ContactAddressesWrapper,\n      ContactAddress$1 as ContactAddress,\n      AddressTag$1 as AddressTag,\n      Address$1 as Address,\n      AddressStreetOneOf$1 as AddressStreetOneOf,\n      StreetAddress$1 as StreetAddress,\n      AddressLocation$1 as AddressLocation,\n      Subdivision$1 as Subdivision,\n      SubdivisionType$1 as SubdivisionType,\n      AssigneesWrapper$1 as AssigneesWrapper,\n      LabelsWrapper$1 as LabelsWrapper,\n      ExtendedFieldsWrapper$1 as ExtendedFieldsWrapper,\n      LocationsWrapper$1 as LocationsWrapper,\n      ContactPicture$1 as ContactPicture,\n      ImageProvider$1 as ImageProvider,\n      contactsV4Contact_universal_d_SegmentsWrapper as SegmentsWrapper,\n      contactsV4Contact_universal_d_PrimaryEmail as PrimaryEmail,\n      contactsV4Contact_universal_d_SubscriptionStatus as SubscriptionStatus,\n      contactsV4Contact_universal_d_EmailDeliverabilityStatus as EmailDeliverabilityStatus,\n      contactsV4Contact_universal_d_PrimaryPhone as PrimaryPhone,\n      contactsV4Contact_universal_d_PhoneDeliverabilityStatus as PhoneDeliverabilityStatus,\n      contactsV4Contact_universal_d_MemberInfo as MemberInfo,\n      contactsV4Contact_universal_d_MemberStatus as MemberStatus,\n      contactsV4Contact_universal_d_ProfileInfo as ProfileInfo,\n      contactsV4Contact_universal_d_PrivacyStatus as PrivacyStatus,\n      contactsV4Contact_universal_d_UserInfo as UserInfo,\n      contactsV4Contact_universal_d_Role as Role,\n      contactsV4Contact_universal_d_SessionInfo as SessionInfo,\n      contactsV4Contact_universal_d_GroupInfo as GroupInfo,\n      contactsV4Contact_universal_d_ContactSubmitted as ContactSubmitted,\n      contactsV4Contact_universal_d_ContactChanged as ContactChanged,\n      contactsV4Contact_universal_d_ContactEmailSubscriptionUpdated as ContactEmailSubscriptionUpdated,\n      contactsV4Contact_universal_d_ContactPhoneSubscriptionUpdated as ContactPhoneSubscriptionUpdated,\n      contactsV4Contact_universal_d_ContactPrimaryInfoUpdated as ContactPrimaryInfoUpdated,\n      contactsV4Contact_universal_d_PrimarySubscriptionStatus as PrimarySubscriptionStatus,\n      contactsV4Contact_universal_d_LastActivityUpdate as LastActivityUpdate,\n      contactsV4Contact_universal_d_CreateContactRequest as CreateContactRequest,\n      contactsV4Contact_universal_d_CreateContactResponse as CreateContactResponse,\n      contactsV4Contact_universal_d_DuplicateContactExists as DuplicateContactExists,\n      contactsV4Contact_universal_d_UpdateContactRequest as UpdateContactRequest,\n      contactsV4Contact_universal_d_UpdateContactResponse as UpdateContactResponse,\n      contactsV4Contact_universal_d_MergeContactsRequest as MergeContactsRequest,\n      contactsV4Contact_universal_d_MergeContactsResponse as MergeContactsResponse,\n      contactsV4Contact_universal_d_ContactMerged as ContactMerged,\n      contactsV4Contact_universal_d_PreviewMergeContactsRequest as PreviewMergeContactsRequest,\n      contactsV4Contact_universal_d_PreviewMergeContactsResponse as PreviewMergeContactsResponse,\n      contactsV4Contact_universal_d_DeleteContactRequest as DeleteContactRequest,\n      contactsV4Contact_universal_d_DeleteContactResponse as DeleteContactResponse,\n      contactsV4Contact_universal_d_LabelContactRequest as LabelContactRequest,\n      contactsV4Contact_universal_d_LabelContactResponse as LabelContactResponse,\n      contactsV4Contact_universal_d_UnlabelContactRequest as UnlabelContactRequest,\n      contactsV4Contact_universal_d_UnlabelContactResponse as UnlabelContactResponse,\n      contactsV4Contact_universal_d_LabelAndUnlabelContactRequest as LabelAndUnlabelContactRequest,\n      contactsV4Contact_universal_d_LabelAndUnlabelContactResponse as LabelAndUnlabelContactResponse,\n      contactsV4Contact_universal_d_ListContactsRequest as ListContactsRequest,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      Paging$3 as Paging,\n      contactsV4Contact_universal_d_ContactFieldSet as ContactFieldSet,\n      contactsV4Contact_universal_d_ListContactsResponse as ListContactsResponse,\n      PagingMetadata$2 as PagingMetadata,\n      contactsV4Contact_universal_d_QueryContactsRequest as QueryContactsRequest,\n      Query$2 as Query,\n      contactsV4Contact_universal_d_QueryContactsResponse as QueryContactsResponse,\n      contactsV4Contact_universal_d_ListFacetsRequest as ListFacetsRequest,\n      contactsV4Contact_universal_d_ListFacetsResponse as ListFacetsResponse,\n      contactsV4Contact_universal_d_ContactsFacet as ContactsFacet,\n      contactsV4Contact_universal_d_ContactsFacetType as ContactsFacetType,\n      contactsV4Contact_universal_d_QueryFacetsRequest as QueryFacetsRequest,\n      contactsV4Contact_universal_d_QueryFacetsResponse as QueryFacetsResponse,\n      contactsV4Contact_universal_d_BulkDeleteContactsRequest as BulkDeleteContactsRequest,\n      contactsV4Contact_universal_d_BulkDeleteContactsResponse as BulkDeleteContactsResponse,\n      contactsV4Contact_universal_d_BulkUpdateContactsRequest as BulkUpdateContactsRequest,\n      contactsV4Contact_universal_d_BulkUpdateContactsResponse as BulkUpdateContactsResponse,\n      contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsRequest as BulkLabelAndUnlabelContactsRequest,\n      contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsResponse as BulkLabelAndUnlabelContactsResponse,\n      contactsV4Contact_universal_d_BulkUpsertContactsRequest as BulkUpsertContactsRequest,\n      contactsV4Contact_universal_d_BulkUpsertContactsResponse as BulkUpsertContactsResponse,\n      contactsV4Contact_universal_d_Action as Action,\n      contactsV4Contact_universal_d_Error as Error,\n      contactsV4Contact_universal_d_Metadata as Metadata,\n      contactsV4Contact_universal_d_Item as Item,\n      contactsV4Contact_universal_d_BulkUpsertContactsResponseMetadata as BulkUpsertContactsResponseMetadata,\n      contactsV4Contact_universal_d_UpsertContactRequest as UpsertContactRequest,\n      contactsV4Contact_universal_d_UpsertContactResponse as UpsertContactResponse,\n      contactsV4Contact_universal_d_UpsertContactResponseAction as UpsertContactResponseAction,\n      contactsV4Contact_universal_d_GeneratePictureUploadUrlRequest as GeneratePictureUploadUrlRequest,\n      contactsV4Contact_universal_d_GeneratePictureUploadUrlResponse as GeneratePictureUploadUrlResponse,\n      contactsV4Contact_universal_d_GetContactRequest as GetContactRequest,\n      contactsV4Contact_universal_d_GetContactResponse as GetContactResponse,\n      contactsV4Contact_universal_d_GetContactResponseType as GetContactResponseType,\n      contactsV4Contact_universal_d_SyncSubmitContactRequest as SyncSubmitContactRequest,\n      SubmitOperation$1 as SubmitOperation,\n      contactsV4Contact_universal_d_SyncSubmitContactResponse as SyncSubmitContactResponse,\n      contactsV4Contact_universal_d_CountContactsRequest as CountContactsRequest,\n      contactsV4Contact_universal_d_CountContactsResponse as CountContactsResponse,\n      contactsV4Contact_universal_d_SearchContactsRequest as SearchContactsRequest,\n      contactsV4Contact_universal_d_Search as Search,\n      contactsV4Contact_universal_d_SearchPagingMethodOneOf as SearchPagingMethodOneOf,\n      contactsV4Contact_universal_d_SearchDetails as SearchDetails,\n      contactsV4Contact_universal_d_Mode as Mode,\n      CursorPaging$1 as CursorPaging,\n      contactsV4Contact_universal_d_SearchContactsResponse as SearchContactsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      contactsV4Contact_universal_d_BulkAddSegmentToContactsRequest as BulkAddSegmentToContactsRequest,\n      contactsV4Contact_universal_d_BulkAddSegmentToContactsResponse as BulkAddSegmentToContactsResponse,\n      contactsV4Contact_universal_d_ItemMetadata as ItemMetadata,\n      contactsV4Contact_universal_d_ApplicationError as ApplicationError,\n      contactsV4Contact_universal_d_BulkActionMetadata as BulkActionMetadata,\n      contactsV4Contact_universal_d_ContactAddedToSegment as ContactAddedToSegment,\n      contactsV4Contact_universal_d_BulkRemoveSegmentFromContactsRequest as BulkRemoveSegmentFromContactsRequest,\n      contactsV4Contact_universal_d_BulkRemoveSegmentFromContactsResponse as BulkRemoveSegmentFromContactsResponse,\n      contactsV4Contact_universal_d_ContactRemovedFromSegment as ContactRemovedFromSegment,\n      contactsV4Contact_universal_d_ListContactIdsBySegmentRequest as ListContactIdsBySegmentRequest,\n      contactsV4Contact_universal_d_ListContactIdsBySegmentResponse as ListContactIdsBySegmentResponse,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      contactsV4Contact_universal_d_createContact as createContact,\n      contactsV4Contact_universal_d_CreateContactOptions as CreateContactOptions,\n      contactsV4Contact_universal_d_updateContact as updateContact,\n      contactsV4Contact_universal_d_UpdateContactOptions as UpdateContactOptions,\n      contactsV4Contact_universal_d_mergeContacts as mergeContacts,\n      contactsV4Contact_universal_d_MergeContactsOptions as MergeContactsOptions,\n      contactsV4Contact_universal_d_previewMergeContacts as previewMergeContacts,\n      contactsV4Contact_universal_d_PreviewMergeContactsOptions as PreviewMergeContactsOptions,\n      contactsV4Contact_universal_d_deleteContact as deleteContact,\n      contactsV4Contact_universal_d_DeleteContactOptions as DeleteContactOptions,\n      contactsV4Contact_universal_d_labelContact as labelContact,\n      contactsV4Contact_universal_d_LabelContactOptions as LabelContactOptions,\n      contactsV4Contact_universal_d_unlabelContact as unlabelContact,\n      contactsV4Contact_universal_d_UnlabelContactOptions as UnlabelContactOptions,\n      contactsV4Contact_universal_d_labelAndUnlabelContact as labelAndUnlabelContact,\n      contactsV4Contact_universal_d_LabelAndUnlabelContactOptions as LabelAndUnlabelContactOptions,\n      contactsV4Contact_universal_d_listContacts as listContacts,\n      contactsV4Contact_universal_d_ListContactsOptions as ListContactsOptions,\n      contactsV4Contact_universal_d_queryContacts as queryContacts,\n      contactsV4Contact_universal_d_QueryContactsOptions as QueryContactsOptions,\n      contactsV4Contact_universal_d_ContactsQueryResult as ContactsQueryResult,\n      contactsV4Contact_universal_d_ContactsQueryBuilder as ContactsQueryBuilder,\n      contactsV4Contact_universal_d_listFacets as listFacets,\n      contactsV4Contact_universal_d_ListFacetsOptions as ListFacetsOptions,\n      contactsV4Contact_universal_d_queryFacets as queryFacets,\n      contactsV4Contact_universal_d_QueryFacetsOptions as QueryFacetsOptions,\n      contactsV4Contact_universal_d_bulkDeleteContacts as bulkDeleteContacts,\n      contactsV4Contact_universal_d_BulkDeleteContactsOptions as BulkDeleteContactsOptions,\n      contactsV4Contact_universal_d_bulkUpdateContacts as bulkUpdateContacts,\n      contactsV4Contact_universal_d_BulkUpdateContactsOptions as BulkUpdateContactsOptions,\n      contactsV4Contact_universal_d_bulkLabelAndUnlabelContacts as bulkLabelAndUnlabelContacts,\n      contactsV4Contact_universal_d_BulkLabelAndUnlabelContactsOptions as BulkLabelAndUnlabelContactsOptions,\n      contactsV4Contact_universal_d_bulkUpsertContacts as bulkUpsertContacts,\n      contactsV4Contact_universal_d_BulkUpsertContactsOptions as BulkUpsertContactsOptions,\n      contactsV4Contact_universal_d_upsertContact as upsertContact,\n      contactsV4Contact_universal_d_generatePictureUploadUrl as generatePictureUploadUrl,\n      contactsV4Contact_universal_d_GeneratePictureUploadUrlOptions as GeneratePictureUploadUrlOptions,\n      contactsV4Contact_universal_d_getContact as getContact,\n      contactsV4Contact_universal_d_GetContactOptions as GetContactOptions,\n      contactsV4Contact_universal_d_countContacts as countContacts,\n      contactsV4Contact_universal_d_searchContacts as searchContacts,\n      contactsV4Contact_universal_d_SearchContactsOptions as SearchContactsOptions,\n    };\n  }\n  \n  /** Extended field that was found or created. */\n  interface ExtendedField {\n      /**\n       * Extended field namespace.\n       *\n       * Extended fields created through by calling the Find Or Create Extended Field method\n       * are automatically assigned to the `custom` namespace.\n       * @readonly\n       */\n      namespace?: string | null;\n      /**\n       * Extended field key.\n       *\n       * When accessing contact data,\n       * extended field data is available at `extendedFields[key]`.\n       * For example, if the key is \"custom.notes\",\n       * the value can be accessed at `extendedFields[\"custom.notes\"]`.\n       *\n       * `key` is generated when the extended field is created\n       * and can't be modified, even if `displayName` changes.\n       * @readonly\n       */\n      key?: string;\n      /** Display name shown in the contact list. */\n      displayName?: string;\n      /**\n       * Type of data the field holds.\n       * @readonly\n       */\n      dataType?: FieldDataType;\n      /**\n       * Indicates whether the extended field is a system field or custom field.\n       * @readonly\n       */\n      fieldType?: FieldType;\n      /**\n       * Date and time the field was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the field was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Legacy Id of field. For internal use.\n       * @internal\n       * @readonly\n       */\n      legacyId?: string | null;\n      /**\n       * Field description, if the field is a system field.\n       * @readonly\n       */\n      description?: string | null;\n      /**\n       * Wix search field name. For internal use.\n       * @internal\n       * @readonly\n       */\n      wixSearchColumn?: string | null;\n      /**\n       * Data Extensions Schema Field Id. Available only for v5 sites. For internal use.\n       * @internal\n       * @readonly\n       */\n      schemaFieldId?: string | null;\n  }\n  enum FieldDataType {\n      /** Undefined data type. */\n      UNKNOWN_DATA_TYPE = \"UNKNOWN_DATA_TYPE\",\n      /** Accepts strings. */\n      TEXT = \"TEXT\",\n      /** Accepts floats. */\n      NUMBER = \"NUMBER\",\n      /** Accepts dates formatted as `YYYY-MM-DD`. */\n      DATE = \"DATE\",\n      /** Accepts strings. Prepends `https://` if no protocol is included. */\n      URL = \"URL\"\n  }\n  enum FieldType {\n      /** Undefined field type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Field is a system field managed by Wix. System fields can't be modified by calling the Update Extended Field method. */\n      SYSTEM = \"SYSTEM\",\n      /** Field is a custom field and can be modified by calling the Update Extended Field method. */\n      USER_DEFINED = \"USER_DEFINED\"\n  }\n  /** Extended field filter options. */\n  interface ListExtendedFieldsRequest {\n      /** Filter for fields of the specified type. */\n      fieldType?: FieldType;\n      /**\n       * Filter for fields in the specified namespace.\n       * Fields created by calling the Find Or Create Extended Field method\n       * are automatically assigned to the `custom` namespace.\n       */\n      namespace?: string | null;\n      /** Filter for fields where `displayName` starts with the specified case-sensitive string. */\n      startsWith?: string | null;\n      /** Sorting options. */\n      sort?: Sorting$2;\n      /** Paging options. */\n      paging?: Paging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       *\n       * Default: `ASC`.\n       */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      /** Sort by ascending order. */\n      ASC = \"ASC\",\n      /** Sort by descending order. */\n      DESC = \"DESC\"\n  }\n  interface Paging$2 {\n      /**\n       * Number of items to return.\n       *\n       * Defaults to `100`.\n       */\n      limit?: number | null;\n      /**\n       * Number of items to skip in the current sort order.\n       *\n       * Defaults to `0`.\n       */\n      offset?: number | null;\n  }\n  /** List of extended fields. */\n  interface ListExtendedFieldsResponse {\n      /** List of extended fields. */\n      fields?: ExtendedField[];\n      /** Metadata for the page of results. */\n      metadata?: PagingMetadata$1;\n  }\n  interface PagingMetadata$1 {\n      /** Number of items returned. */\n      count?: number | null;\n      /** Requested offset. */\n      offset?: number | null;\n      /** Number of items that matched the query. */\n      total?: number | null;\n      /**\n       * Indicates if `total` calculation timed out before the response was sent.\n       * Typically this happens if there is a large set of results.\n       */\n      tooManyToCount?: boolean | null;\n  }\n  /** Custom field to find or create. */\n  interface FindOrCreateExtendedFieldRequest {\n      /**\n       * Display name to retrieve or create.\n       *\n       * If an existing custom field is an exact match\n       * for the specified display name,\n       * the existing field is returned.\n       * If not, a new field is created and returned.\n       */\n      displayName: string;\n      /**\n       * Type of data the field holds.\n       * Ignored if an existing field is an exact match\n       * for the specified display name.\n       */\n      dataType?: FieldDataType;\n  }\n  /** Extended field that was found or created. */\n  interface FindOrCreateExtendedFieldResponse {\n      /** Extended field that was found or created. */\n      field?: ExtendedField;\n      /**\n       * Indicates whether the extended field was just created or already existed.\n       *\n       * Returns `true` if the field was just created.\n       */\n      newField?: boolean;\n  }\n  interface GetExtendedFieldRequest {\n      /**\n       * Extended field key.\n       *\n       * When accessing contact data,\n       * extended field values are available at `info.extendedFields.items[key]`.\n       * For example, if the key is \"custom.patronus\",\n       * the value can be accessed at `info.extendedFields.items[\"custom.patronus\"]`.\n       *\n       * `key` is generated when the extended field is created.\n       * It can't be modified, even if `displayName` is updated.\n       */\n      key: string;\n  }\n  /** The specified field. */\n  interface GetExtendedFieldResponse {\n      /** The specified field. */\n      field?: ExtendedField;\n  }\n  interface GetExtendedFieldByLegacyIdRequest {\n      /** Legacy ID of the extended field. */\n      legacyId?: string;\n  }\n  interface GetExtendedFieldByLegacyIdResponse {\n      /** The requested extended field. */\n      field?: ExtendedField;\n  }\n  interface UpdateExtendedFieldRequest {\n      /** Extended field to rename. */\n      field?: ExtendedField;\n  }\n  /** Updated extended field. */\n  interface UpdateExtendedFieldResponse {\n      /** Renamed extended field. */\n      field?: ExtendedField;\n  }\n  interface DeleteExtendedFieldRequest {\n      /** Extended field key. */\n      key: string;\n  }\n  interface DeleteExtendedFieldResponse {\n  }\n  interface PurgeRequest$1 {\n      /** Instance ID of the site. */\n      instanceId?: string;\n  }\n  interface PurgeResponse$1 {\n      /** Number of items deleted. */\n      deletedItems?: number;\n  }\n  interface GdprListRequest$1 {\n      /** Instance ID of the site. */\n      instanceId?: string;\n  }\n  interface GdprListResponse$1 {\n      /** List of extended fields. */\n      fields?: ExtendedField[];\n  }\n  interface QueryExtendedFieldsRequest {\n      /** Query options. */\n      query?: Query$1;\n  }\n  interface Query$1 {\n      /**\n       * ilter object.\n       *\n       * Possible filters: `$eq`, `$gt`, `$gte`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n       *\n       * For a detailed list of supported filters, see [sorting and filtering for extended fields](https://dev.wix.com/api/rest/contacts/extended-fields/sort-and-filter).\n       *\n       * Example: `{ \"filter\": {\n       * \"displayName\": {\n       * \"$startsWith\": \"Referral\"\n       * }\n       * }\n       * }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sorting options. Currently supports sorting on one field only.\n       *\n       * Example: `{ \"sort\": [{\"fieldName\": \"displayName\", \"order\": \"DESC\"}] }`\n       */\n      sort?: Sorting$2[];\n      /** Pagination options. */\n      paging?: Paging$2;\n  }\n  interface QueryExtendedFieldsResponse {\n      /** List of extended fields. */\n      fields?: ExtendedField[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadata$1;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a list of extended fields.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId CONTACTS_SCHEMA.VIEW\n   * @adminMethod\n   * @returns List of extended fields.\n   */\n  function listExtendedFields(options?: ListExtendedFieldsOptions): Promise<ListExtendedFieldsResponse>;\n  interface ListExtendedFieldsOptions {\n      /** Filter for fields of the specified type. */\n      fieldType?: FieldType;\n      /**\n       * Filter for fields in the specified namespace.\n       * Fields created by calling the Find Or Create Extended Field method\n       * are automatically assigned to the `custom` namespace.\n       */\n      namespace?: string | null;\n      /** Filter for fields where `displayName` starts with the specified case-sensitive string. */\n      startsWith?: string | null;\n      /** Sorting options. */\n      sort?: Sorting$2;\n      /** Paging options. */\n      paging?: Paging$2;\n  }\n  /**\n   * Retrieves a custom field with a specified name, or creates one if it doesn't exist.\n   * The number of custom fields is limited to 100.\n   *\n   * Successful calls to this method always return a field,\n   * which can be specified in subsequent calls.\n   *\n   * To find an existing custom field without potentially creating a new one, call Get Extended Field or\n   * Query Extended Fields.\n   * @param displayName - Display name to retrieve or create.\n   *\n   * If an existing custom field is an exact match\n   * for the specified display name,\n   * the existing field is returned.\n   * If not, a new field is created and returned.\n   * @param dataType - Type of data the field holds.\n   * Ignored if an existing field is an exact match\n   * for the specified display name.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField dataType\n   * @requiredField displayName\n   * @permissionId CONTACTS_SCHEMA.MODIFY\n   * @adminMethod\n   * @returns Extended field that was found or created.\n   */\n  function findOrCreateExtendedField(displayName: string, dataType: FieldDataType): Promise<FindOrCreateExtendedFieldResponse>;\n  /**\n   * Retrieves an extended field by the specified extended field key.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField key\n   * @param key - null\n   * @permissionId CONTACTS_SCHEMA.VIEW\n   * @adminMethod\n   * @returns The specified field.\n   */\n  function getExtendedField(key: string): Promise<ExtendedField>;\n  /**\n   * Renames an extended field.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField field\n   * @requiredField field.displayName\n   * @requiredField key\n   * @param key - null\n   * @param field - null\n   * @permissionId CONTACTS_SCHEMA.MODIFY\n   * @adminMethod\n   * @returns Renamed extended field.\n   */\n  function renameExtendedField(key: string, field: RenameExtendedField): Promise<ExtendedField>;\n  interface RenameExtendedField {\n      /**\n       * Extended field namespace.\n       *\n       * Extended fields created through by calling the Find Or Create Extended Field method\n       * are automatically assigned to the `custom` namespace.\n       * @readonly\n       */\n      namespace?: string | null;\n      /** Display name shown in the contact list. */\n      displayName?: string;\n      /**\n       * Type of data the field holds.\n       * @readonly\n       */\n      dataType?: FieldDataType;\n      /**\n       * Indicates whether the extended field is a system field or custom field.\n       * @readonly\n       */\n      fieldType?: FieldType;\n      /**\n       * Date and time the field was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the field was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Legacy Id of field. For internal use.\n       * @internal\n       * @readonly\n       */\n      legacyId?: string | null;\n      /**\n       * Field description, if the field is a system field.\n       * @readonly\n       */\n      description?: string | null;\n      /**\n       * Wix search field name. For internal use.\n       * @internal\n       * @readonly\n       */\n      wixSearchColumn?: string | null;\n      /**\n       * Data Extensions Schema Field Id. Available only for v5 sites. For internal use.\n       * @internal\n       * @readonly\n       */\n      schemaFieldId?: string | null;\n  }\n  /**\n   * Deletes an extended field.\n   *\n   * When an extended field is deleted,\n   * any contact data stored in the field is also permanently deleted.\n   * @param key - Extended field key.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField key\n   * @permissionId CONTACTS_SCHEMA.MODIFY\n   * @adminMethod\n   */\n  function deleteExtendedField(key: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of extended fields.\n   *\n   * The `queryExtendedFields()` method builds a query to retrieve a list of extended fields and returns an `FieldsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the `find()` method.\n   *\n   * You can refine the query by chaining `FieldsQueryBuilder` methods onto the query. `FieldsQueryBuilder` methods enable you to filter, sort, and control the results that `queryExtendedFields()` returns.\n   *\n   * `queryExtendedFields()` runs with these `FieldsQueryBuilder` defaults, which you can override:\n   * - `skip()`\n   * - `limit(50)`\n   * - `descending('_createdDate')`\n   *\n   * The following `FieldsQueryBuilder` methods are supported for `queryExtendedFields()`. For a full description of the `Extended Field` object, see the object returned for the `items` property in `FieldsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CONTACTS_SCHEMA.VIEW\n   * @adminMethod\n   */\n  function queryExtendedFields(): FieldsQueryBuilder;\n  interface QueryOffsetResult$1 {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface FieldsQueryResult extends QueryOffsetResult$1 {\n      items: ExtendedField[];\n      query: FieldsQueryBuilder;\n      next: () => Promise<FieldsQueryResult>;\n      prev: () => Promise<FieldsQueryResult>;\n  }\n  interface FieldsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'namespace' | 'key' | 'displayName' | 'dataType' | 'fieldType' | '_createdDate' | '_updatedDate', value: any) => FieldsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'namespace' | 'key' | 'displayName' | 'dataType' | '_createdDate' | '_updatedDate', value: any) => FieldsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => FieldsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => FieldsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => FieldsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => FieldsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'displayName', value: string) => FieldsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'key' | 'displayName', value: any) => FieldsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'displayName' | '_createdDate' | '_updatedDate'>) => FieldsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'displayName' | '_createdDate' | '_updatedDate'>) => FieldsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => FieldsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => FieldsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<FieldsQueryResult>;\n  }\n  \n  type contactsV4ExtendedField_universal_d_ExtendedField = ExtendedField;\n  type contactsV4ExtendedField_universal_d_FieldDataType = FieldDataType;\n  const contactsV4ExtendedField_universal_d_FieldDataType: typeof FieldDataType;\n  type contactsV4ExtendedField_universal_d_FieldType = FieldType;\n  const contactsV4ExtendedField_universal_d_FieldType: typeof FieldType;\n  type contactsV4ExtendedField_universal_d_ListExtendedFieldsRequest = ListExtendedFieldsRequest;\n  type contactsV4ExtendedField_universal_d_ListExtendedFieldsResponse = ListExtendedFieldsResponse;\n  type contactsV4ExtendedField_universal_d_FindOrCreateExtendedFieldRequest = FindOrCreateExtendedFieldRequest;\n  type contactsV4ExtendedField_universal_d_FindOrCreateExtendedFieldResponse = FindOrCreateExtendedFieldResponse;\n  type contactsV4ExtendedField_universal_d_GetExtendedFieldRequest = GetExtendedFieldRequest;\n  type contactsV4ExtendedField_universal_d_GetExtendedFieldResponse = GetExtendedFieldResponse;\n  type contactsV4ExtendedField_universal_d_GetExtendedFieldByLegacyIdRequest = GetExtendedFieldByLegacyIdRequest;\n  type contactsV4ExtendedField_universal_d_GetExtendedFieldByLegacyIdResponse = GetExtendedFieldByLegacyIdResponse;\n  type contactsV4ExtendedField_universal_d_UpdateExtendedFieldRequest = UpdateExtendedFieldRequest;\n  type contactsV4ExtendedField_universal_d_UpdateExtendedFieldResponse = UpdateExtendedFieldResponse;\n  type contactsV4ExtendedField_universal_d_DeleteExtendedFieldRequest = DeleteExtendedFieldRequest;\n  type contactsV4ExtendedField_universal_d_DeleteExtendedFieldResponse = DeleteExtendedFieldResponse;\n  type contactsV4ExtendedField_universal_d_QueryExtendedFieldsRequest = QueryExtendedFieldsRequest;\n  type contactsV4ExtendedField_universal_d_QueryExtendedFieldsResponse = QueryExtendedFieldsResponse;\n  const contactsV4ExtendedField_universal_d_listExtendedFields: typeof listExtendedFields;\n  type contactsV4ExtendedField_universal_d_ListExtendedFieldsOptions = ListExtendedFieldsOptions;\n  const contactsV4ExtendedField_universal_d_findOrCreateExtendedField: typeof findOrCreateExtendedField;\n  const contactsV4ExtendedField_universal_d_getExtendedField: typeof getExtendedField;\n  const contactsV4ExtendedField_universal_d_renameExtendedField: typeof renameExtendedField;\n  type contactsV4ExtendedField_universal_d_RenameExtendedField = RenameExtendedField;\n  const contactsV4ExtendedField_universal_d_deleteExtendedField: typeof deleteExtendedField;\n  const contactsV4ExtendedField_universal_d_queryExtendedFields: typeof queryExtendedFields;\n  type contactsV4ExtendedField_universal_d_FieldsQueryResult = FieldsQueryResult;\n  type contactsV4ExtendedField_universal_d_FieldsQueryBuilder = FieldsQueryBuilder;\n  namespace contactsV4ExtendedField_universal_d {\n    export {\n      contactsV4ExtendedField_universal_d_ExtendedField as ExtendedField,\n      contactsV4ExtendedField_universal_d_FieldDataType as FieldDataType,\n      contactsV4ExtendedField_universal_d_FieldType as FieldType,\n      contactsV4ExtendedField_universal_d_ListExtendedFieldsRequest as ListExtendedFieldsRequest,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      Paging$2 as Paging,\n      contactsV4ExtendedField_universal_d_ListExtendedFieldsResponse as ListExtendedFieldsResponse,\n      PagingMetadata$1 as PagingMetadata,\n      contactsV4ExtendedField_universal_d_FindOrCreateExtendedFieldRequest as FindOrCreateExtendedFieldRequest,\n      contactsV4ExtendedField_universal_d_FindOrCreateExtendedFieldResponse as FindOrCreateExtendedFieldResponse,\n      contactsV4ExtendedField_universal_d_GetExtendedFieldRequest as GetExtendedFieldRequest,\n      contactsV4ExtendedField_universal_d_GetExtendedFieldResponse as GetExtendedFieldResponse,\n      contactsV4ExtendedField_universal_d_GetExtendedFieldByLegacyIdRequest as GetExtendedFieldByLegacyIdRequest,\n      contactsV4ExtendedField_universal_d_GetExtendedFieldByLegacyIdResponse as GetExtendedFieldByLegacyIdResponse,\n      contactsV4ExtendedField_universal_d_UpdateExtendedFieldRequest as UpdateExtendedFieldRequest,\n      contactsV4ExtendedField_universal_d_UpdateExtendedFieldResponse as UpdateExtendedFieldResponse,\n      contactsV4ExtendedField_universal_d_DeleteExtendedFieldRequest as DeleteExtendedFieldRequest,\n      contactsV4ExtendedField_universal_d_DeleteExtendedFieldResponse as DeleteExtendedFieldResponse,\n      PurgeRequest$1 as PurgeRequest,\n      PurgeResponse$1 as PurgeResponse,\n      GdprListRequest$1 as GdprListRequest,\n      GdprListResponse$1 as GdprListResponse,\n      contactsV4ExtendedField_universal_d_QueryExtendedFieldsRequest as QueryExtendedFieldsRequest,\n      Query$1 as Query,\n      contactsV4ExtendedField_universal_d_QueryExtendedFieldsResponse as QueryExtendedFieldsResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      contactsV4ExtendedField_universal_d_listExtendedFields as listExtendedFields,\n      contactsV4ExtendedField_universal_d_ListExtendedFieldsOptions as ListExtendedFieldsOptions,\n      contactsV4ExtendedField_universal_d_findOrCreateExtendedField as findOrCreateExtendedField,\n      contactsV4ExtendedField_universal_d_getExtendedField as getExtendedField,\n      contactsV4ExtendedField_universal_d_renameExtendedField as renameExtendedField,\n      contactsV4ExtendedField_universal_d_RenameExtendedField as RenameExtendedField,\n      contactsV4ExtendedField_universal_d_deleteExtendedField as deleteExtendedField,\n      contactsV4ExtendedField_universal_d_queryExtendedFields as queryExtendedFields,\n      contactsV4ExtendedField_universal_d_FieldsQueryResult as FieldsQueryResult,\n      contactsV4ExtendedField_universal_d_FieldsQueryBuilder as FieldsQueryBuilder,\n    };\n  }\n  \n  /** Label that was found or created. */\n  interface ContactLabel {\n      /**\n       * Label namespace.\n       *\n       * Labels created by calling the Find Or Create Label method\n       * are automatically assigned to the `custom` namespace.\n       * @readonly\n       */\n      namespace?: string | null;\n      /**\n       * Display name for the namespace,\n       * used to organize the list of labels in the site dashboard.\n       * @readonly\n       */\n      namespaceDisplayName?: string | null;\n      /**\n       * Label key.\n       *\n       * `key` is generated when the label is created.\n       * It can't be modified, even if `displayName` is updated.\n       * @readonly\n       */\n      key?: string;\n      /** Label display name shown in the dashboard. */\n      displayName?: string;\n      /**\n       * Label type indicating how the label was created.\n       * @readonly\n       */\n      labelType?: LabelType;\n      /**\n       * Date and time the label was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the label was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Legacy ID of label. For internal use only.\n       * @internal\n       * @readonly\n       */\n      legacyId?: string | null;\n      /**\n       * ID of the parallel contacts-v5 tag. For internal use only.\n       * @internal\n       * @readonly\n       */\n      tagId?: string | null;\n  }\n  enum LabelType {\n      /** Fetch all labels. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Default system label for the contact list. */\n      SYSTEM = \"SYSTEM\",\n      /** Label created by calling the Find Or Create Label method. */\n      USER_DEFINED = \"USER_DEFINED\",\n      /** Label created by an app built by Wix. */\n      WIX_APP_DEFINED = \"WIX_APP_DEFINED\"\n  }\n  /** Label filter options. */\n  interface ListLabelsRequest {\n      /** Filter for labels of the specified type. */\n      labelType?: LabelType;\n      /** Filter for labels in the specified namespace. */\n      namespace?: string | null;\n      /** Filter for labels where `displayName` starts with the specified case-sensitive string. */\n      startsWith?: string | null;\n      /** Sorting options. */\n      sort?: Sorting$1;\n      /** Paging options. */\n      paging?: Paging$1;\n      language?: string | null;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       *\n       * Default: `ASC`.\n       */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      /** Sort by ascending order. */\n      ASC = \"ASC\",\n      /** Sort by descending order. */\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /**\n       * Number of items to return.\n       *\n       * Defaults to `1000`. <br>\n       * Maximum: `2000`.\n       */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  /** List of labels. */\n  interface ListLabelsResponse {\n      /** List of labels. */\n      labels?: ContactLabel[];\n      /** Metadata for the page of results. */\n      metadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned. */\n      count?: number | null;\n      /** Requested offset. */\n      offset?: number | null;\n      /** Number of items that matched the query. */\n      total?: number | null;\n      /**\n       * Indicates if `total` calculation timed out before the response was sent.\n       * Typically this happens if there is a large set of results.\n       */\n      tooManyToCount?: boolean | null;\n  }\n  /** Label to find or create. */\n  interface FindOrCreateLabelRequest {\n      /**\n       * Display name to retrieve or create.\n       *\n       * If an existing label is an exact match\n       * for the specified display name,\n       * the existing label is returned.\n       * If not, a new label is created and returned.\n       */\n      displayName: string;\n      /**\n       * Label namespace.\n       * Labels created by calling the Find Or Create Label method\n       * are automatically assigned to the `custom` namespace.\n       *\n       * This field is read-only and is ignored when creating a label.\n       * @internal\n       */\n      namespace?: string | null;\n      /**\n       * Label type.\n       *\n       * - `SYSTEM`: The label is a default system label for the Contact List.\n       * - `USER_DEFINED`: The label was created by a site contributor or 3rd-party app.\n       * - `WIX_APP_DEFINED`: The label was created by a Wix app.\n       *\n       * This field is read-only and will be ignored when creating a label.\n       * @internal\n       */\n      labelType?: LabelType;\n      /**\n       * Language for localization.\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format.\n       */\n      language?: string | null;\n  }\n  /** Label that was found or created. */\n  interface FindOrCreateLabelResponse {\n      /** Label that was found or created. */\n      label?: ContactLabel;\n      /**\n       * Indicates whether the label was just created or already existed.\n       *\n       * Returns `true` if the label was just created.\n       */\n      newLabel?: boolean;\n  }\n  interface LabelsQuotaReached {\n      /** The maximum number of labels allowed for the site. */\n      labelsQuota?: string | null;\n      /** The current total number of labels on the site. */\n      labelsCurrentTotal?: string | null;\n  }\n  interface ListLabelNamespacesRequest {\n      /** Language for localization */\n      language?: string | null;\n  }\n  interface ListLabelNamespacesResponse {\n      /** List of namespaces */\n      namespaces?: ContactLabelNamespace[];\n  }\n  interface ContactLabelNamespace {\n      /**\n       * Namespace key\n       * @readonly\n       */\n      key?: string;\n      /**\n       * Namespace display name\n       * @readonly\n       */\n      displayName?: string | null;\n  }\n  interface GetLabelRequest {\n      /**\n       * Label key.\n       *\n       * `key` is generated when the label is created.\n       * It can't be modified, even if `displayName` is updated.\n       */\n      key: string;\n      /**\n       * Language for localization.\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format.\n       */\n      language?: string | null;\n  }\n  /** The specified label. */\n  interface GetLabelResponse {\n      /** The specified label. */\n      label?: ContactLabel;\n  }\n  interface GetLabelByLegacyIdRequest {\n      /** Legacy id of the label */\n      legacyId?: string;\n      /** Language for localization */\n      language?: string | null;\n  }\n  interface GetLabelByLegacyIdResponse {\n      /** Requested label */\n      label?: ContactLabel;\n  }\n  interface UpdateLabelRequest {\n      /** Label to rename. */\n      label?: ContactLabel;\n      /**\n       * Language for localization.\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format.\n       */\n      language?: string | null;\n  }\n  /** Updated label. */\n  interface UpdateLabelResponse {\n      /** Renamed label. */\n      label?: ContactLabel;\n  }\n  interface DeleteLabelRequest {\n      /** Label key to delete. */\n      key: string;\n  }\n  interface DeleteLabelResponse {\n  }\n  interface PurgeRequest {\n      /** Contacts Instance ID of the site. */\n      instanceId?: string;\n      /** Labels to exclude from the purge. */\n      exludingLabelKeys?: string[];\n  }\n  interface PurgeResponse {\n      /** Number of deleted items */\n      deletedItems?: number;\n  }\n  interface GdprListRequest {\n      /** Contacts Instance ID of the site. */\n      instanceId?: string;\n  }\n  interface GdprListResponse {\n      /** List of labels */\n      labels?: ContactLabel[];\n  }\n  interface QueryLabelsRequest {\n      /** Query options. */\n      query?: Query;\n      /**\n       * Language for localization.\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format.\n       */\n      language?: string | null;\n  }\n  interface Query {\n      /**\n       * ilter object.\n       *\n       * Possible filters: `$eq`, `$gt`, `$gte`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n       *\n       * For a detailed list of supported filters, see [sorting and filtering for labels](https://dev.wix.com/api/rest/contacts/labels/sort-and-filter).\n       *\n       * Example: `{ \"filter\": {\n       * \"displayName\": {\n       * \"$startsWith\": \"Referral\"\n       * }\n       * }\n       * }`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sorting options. For a list of fields that can be sorted, see [sorting and filtering for labels](https://dev.wix.com/api/rest/contacts/labels/sort-and-filter).\n       *\n       * Example: `{ \"sort\": [{\"fieldName\": \"displayName\", \"order\": \"DESC\"}] }`\n       */\n      sort?: Sorting$1[];\n      /** Pagination options. */\n      paging?: Paging$1;\n  }\n  interface QueryLabelsResponse {\n      /** List of labels */\n      labels?: ContactLabel[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Lists all contact labels for a site.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId CONTACTS_LABELS.VIEW\n   * @adminMethod\n   * @returns List of labels.\n   */\n  function listLabels(options?: ListLabelsOptions): Promise<ListLabelsResponse>;\n  interface ListLabelsOptions {\n      /** Filter for labels of the specified type. */\n      labelType?: LabelType;\n      /** Filter for labels in the specified namespace. */\n      namespace?: string | null;\n      /** Filter for labels where `displayName` starts with the specified case-sensitive string. */\n      startsWith?: string | null;\n      /** Sorting options. */\n      sort?: Sorting$1;\n      /** Paging options. */\n      paging?: Paging$1;\n      language?: string | null;\n  }\n  /**\n   * Retrieves a label with a specified name, or creates one if it doesn't exist.\n   *\n   * Successful calls to this method always return a label,\n   * which can be specified in subsequent calls.\n   *\n   * For example, in the Contacts API, Label Contact and Unlabel Contact\n   * calls will fail if you include a non-existant label.\n   * To ensure successful calls, you can call this method first,\n   * and then use the response in the Label Contact and Unlabel Contact calls.\n   *\n   * To find an existing label without potentially creating a new one, call\n   * Get Label or Query Labels.\n   * @param displayName - Display name to retrieve or create.\n   *\n   * If an existing label is an exact match\n   * for the specified display name,\n   * the existing label is returned.\n   * If not, a new label is created and returned.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField displayName\n   * @param options - Language options.\n   * @permissionId CONTACTS_LABELS.MODIFY\n   * @adminMethod\n   * @returns Label that was found or created.\n   */\n  function findOrCreateLabel(displayName: string, options?: FindOrCreateLabelOptions): Promise<FindOrCreateLabelResponse>;\n  interface FindOrCreateLabelOptions {\n      /**\n       * Label namespace.\n       * Labels created by calling the Find Or Create Label method\n       * are automatically assigned to the `custom` namespace.\n       *\n       * This field is read-only and is ignored when creating a label.\n       * @internal\n       */\n      namespace?: string | null;\n      /**\n       * Label type.\n       *\n       * - `SYSTEM`: The label is a default system label for the Contact List.\n       * - `USER_DEFINED`: The label was created by a site contributor or 3rd-party app.\n       * - `WIX_APP_DEFINED`: The label was created by a Wix app.\n       *\n       * This field is read-only and will be ignored when creating a label.\n       * @internal\n       */\n      labelType?: LabelType;\n      /**\n       * Language for localization.\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format.\n       */\n      language?: string | null;\n  }\n  /**\n   * Lists Namespaces.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId CONTACTS_LABELS.VIEW\n   * @adminMethod\n   */\n  function listLabelNamespaces(options?: ListLabelNamespacesOptions): Promise<ListLabelNamespacesResponse>;\n  interface ListLabelNamespacesOptions {\n      /** Language for localization */\n      language?: string | null;\n  }\n  /**\n   * Retrieves a label by the specified label key.\n   * @param key - Label key.\n   *\n   * `key` is generated when the label is created.\n   * It can't be modified, even if `displayName` is updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField key\n   * @param options - Language options.\n   * @permissionId CONTACTS_LABELS.VIEW\n   * @adminMethod\n   * @returns The specified label.\n   */\n  function getLabel(key: string, options?: GetLabelOptions): Promise<ContactLabel>;\n  interface GetLabelOptions {\n      /**\n       * Language for localization.\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format.\n       */\n      language?: string | null;\n  }\n  /**\n   * Renames a label.\n   * @param key - Label key.\n   *\n   * `key` is generated when the label is created.\n   * It can't be modified, even if `displayName` is updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField key\n   * @requiredField label\n   * @requiredField label.displayName\n   * @param options - Language options.\n   * @param label - Label to rename.\n   * @permissionId CONTACTS_LABELS.MODIFY\n   * @adminMethod\n   * @returns Renamed label.\n   */\n  function renameLabel(key: string, label: RenameLabel, options?: RenameLabelOptions): Promise<ContactLabel>;\n  interface RenameLabel {\n      /**\n       * Label namespace.\n       *\n       * Labels created by calling the Find Or Create Label method\n       * are automatically assigned to the `custom` namespace.\n       * @readonly\n       */\n      namespace?: string | null;\n      /**\n       * Display name for the namespace,\n       * used to organize the list of labels in the site dashboard.\n       * @readonly\n       */\n      namespaceDisplayName?: string | null;\n      /** Label display name shown in the dashboard. */\n      displayName?: string;\n      /**\n       * Label type indicating how the label was created.\n       * @readonly\n       */\n      labelType?: LabelType;\n      /**\n       * Date and time the label was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the label was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Legacy ID of label. For internal use only.\n       * @internal\n       * @readonly\n       */\n      legacyId?: string | null;\n      /**\n       * ID of the parallel contacts-v5 tag. For internal use only.\n       * @internal\n       * @readonly\n       */\n      tagId?: string | null;\n  }\n  interface RenameLabelOptions {\n      /**\n       * Language for localization.\n       * 2-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format.\n       */\n      language?: string | null;\n  }\n  /**\n   * Deletes the specified label from a site and removes it from the contacts it applies to.\n   * @param key - Label key to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField key\n   * @permissionId CONTACTS_LABELS.MODIFY\n   * @adminMethod\n   */\n  function deleteLabel(key: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of labels.\n   *\n   * The `queryLabels()` method builds a query to retrieve a list of labels and returns a `LabelsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to call the query using the `find()` method.\n   *\n   * You can refine the query by chaining `LabelsQueryBuilder` methods onto the query. `LabelsQueryBuilder` methods enable you to filter, sort, and control the response that `queryLabels()` returns.\n   *\n   * `queryLabels()` is called with the following `LabelsQueryBuilder` defaults, which you can override:\n   * - `skip(0)`\n   * - `limit(50)`\n   * - `descending('_createdDate')`\n   *\n   * The following `LabelsQueryBuilder` methods are supported for `queryLabels()`. For a full description of the `Labels` object, see the object returned for the `items` field in `LabelsQueryResult`.\n   *\n   *\n   * @public\n   * @documentationMaturity preview\n   * @param options - Language options.\n   * @permissionId CONTACTS_LABELS.VIEW\n   * @adminMethod\n   */\n  function queryLabels(options?: QueryLabelsOptions): LabelsQueryBuilder;\n  interface QueryLabelsOptions {\n      /**\n       * Language for localization.\n       *\n       * 2-letter language code in\n       * [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null | undefined;\n  }\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface LabelsQueryResult extends QueryOffsetResult {\n      items: ContactLabel[];\n      query: LabelsQueryBuilder;\n      next: () => Promise<LabelsQueryResult>;\n      prev: () => Promise<LabelsQueryResult>;\n  }\n  interface LabelsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'namespace' | 'key' | 'displayName' | 'labelType' | '_createdDate' | '_updatedDate', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'namespace' | 'key' | 'displayName' | '_createdDate' | '_updatedDate', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'displayName', value: string) => LabelsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'key' | 'displayName', value: any) => LabelsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'displayName' | '_createdDate' | '_updatedDate'>) => LabelsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'displayName' | '_createdDate' | '_updatedDate'>) => LabelsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => LabelsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => LabelsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<LabelsQueryResult>;\n  }\n  \n  type contactsV4Label_universal_d_ContactLabel = ContactLabel;\n  type contactsV4Label_universal_d_LabelType = LabelType;\n  const contactsV4Label_universal_d_LabelType: typeof LabelType;\n  type contactsV4Label_universal_d_ListLabelsRequest = ListLabelsRequest;\n  type contactsV4Label_universal_d_ListLabelsResponse = ListLabelsResponse;\n  type contactsV4Label_universal_d_PagingMetadata = PagingMetadata;\n  type contactsV4Label_universal_d_FindOrCreateLabelRequest = FindOrCreateLabelRequest;\n  type contactsV4Label_universal_d_FindOrCreateLabelResponse = FindOrCreateLabelResponse;\n  type contactsV4Label_universal_d_LabelsQuotaReached = LabelsQuotaReached;\n  type contactsV4Label_universal_d_ListLabelNamespacesRequest = ListLabelNamespacesRequest;\n  type contactsV4Label_universal_d_ListLabelNamespacesResponse = ListLabelNamespacesResponse;\n  type contactsV4Label_universal_d_ContactLabelNamespace = ContactLabelNamespace;\n  type contactsV4Label_universal_d_GetLabelRequest = GetLabelRequest;\n  type contactsV4Label_universal_d_GetLabelResponse = GetLabelResponse;\n  type contactsV4Label_universal_d_GetLabelByLegacyIdRequest = GetLabelByLegacyIdRequest;\n  type contactsV4Label_universal_d_GetLabelByLegacyIdResponse = GetLabelByLegacyIdResponse;\n  type contactsV4Label_universal_d_UpdateLabelRequest = UpdateLabelRequest;\n  type contactsV4Label_universal_d_UpdateLabelResponse = UpdateLabelResponse;\n  type contactsV4Label_universal_d_DeleteLabelRequest = DeleteLabelRequest;\n  type contactsV4Label_universal_d_DeleteLabelResponse = DeleteLabelResponse;\n  type contactsV4Label_universal_d_PurgeRequest = PurgeRequest;\n  type contactsV4Label_universal_d_PurgeResponse = PurgeResponse;\n  type contactsV4Label_universal_d_GdprListRequest = GdprListRequest;\n  type contactsV4Label_universal_d_GdprListResponse = GdprListResponse;\n  type contactsV4Label_universal_d_QueryLabelsRequest = QueryLabelsRequest;\n  type contactsV4Label_universal_d_Query = Query;\n  type contactsV4Label_universal_d_QueryLabelsResponse = QueryLabelsResponse;\n  const contactsV4Label_universal_d_listLabels: typeof listLabels;\n  type contactsV4Label_universal_d_ListLabelsOptions = ListLabelsOptions;\n  const contactsV4Label_universal_d_findOrCreateLabel: typeof findOrCreateLabel;\n  type contactsV4Label_universal_d_FindOrCreateLabelOptions = FindOrCreateLabelOptions;\n  const contactsV4Label_universal_d_listLabelNamespaces: typeof listLabelNamespaces;\n  type contactsV4Label_universal_d_ListLabelNamespacesOptions = ListLabelNamespacesOptions;\n  const contactsV4Label_universal_d_getLabel: typeof getLabel;\n  type contactsV4Label_universal_d_GetLabelOptions = GetLabelOptions;\n  const contactsV4Label_universal_d_renameLabel: typeof renameLabel;\n  type contactsV4Label_universal_d_RenameLabel = RenameLabel;\n  type contactsV4Label_universal_d_RenameLabelOptions = RenameLabelOptions;\n  const contactsV4Label_universal_d_deleteLabel: typeof deleteLabel;\n  const contactsV4Label_universal_d_queryLabels: typeof queryLabels;\n  type contactsV4Label_universal_d_QueryLabelsOptions = QueryLabelsOptions;\n  type contactsV4Label_universal_d_LabelsQueryResult = LabelsQueryResult;\n  type contactsV4Label_universal_d_LabelsQueryBuilder = LabelsQueryBuilder;\n  namespace contactsV4Label_universal_d {\n    export {\n      contactsV4Label_universal_d_ContactLabel as ContactLabel,\n      contactsV4Label_universal_d_LabelType as LabelType,\n      contactsV4Label_universal_d_ListLabelsRequest as ListLabelsRequest,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$1 as Paging,\n      contactsV4Label_universal_d_ListLabelsResponse as ListLabelsResponse,\n      contactsV4Label_universal_d_PagingMetadata as PagingMetadata,\n      contactsV4Label_universal_d_FindOrCreateLabelRequest as FindOrCreateLabelRequest,\n      contactsV4Label_universal_d_FindOrCreateLabelResponse as FindOrCreateLabelResponse,\n      contactsV4Label_universal_d_LabelsQuotaReached as LabelsQuotaReached,\n      contactsV4Label_universal_d_ListLabelNamespacesRequest as ListLabelNamespacesRequest,\n      contactsV4Label_universal_d_ListLabelNamespacesResponse as ListLabelNamespacesResponse,\n      contactsV4Label_universal_d_ContactLabelNamespace as ContactLabelNamespace,\n      contactsV4Label_universal_d_GetLabelRequest as GetLabelRequest,\n      contactsV4Label_universal_d_GetLabelResponse as GetLabelResponse,\n      contactsV4Label_universal_d_GetLabelByLegacyIdRequest as GetLabelByLegacyIdRequest,\n      contactsV4Label_universal_d_GetLabelByLegacyIdResponse as GetLabelByLegacyIdResponse,\n      contactsV4Label_universal_d_UpdateLabelRequest as UpdateLabelRequest,\n      contactsV4Label_universal_d_UpdateLabelResponse as UpdateLabelResponse,\n      contactsV4Label_universal_d_DeleteLabelRequest as DeleteLabelRequest,\n      contactsV4Label_universal_d_DeleteLabelResponse as DeleteLabelResponse,\n      contactsV4Label_universal_d_PurgeRequest as PurgeRequest,\n      contactsV4Label_universal_d_PurgeResponse as PurgeResponse,\n      contactsV4Label_universal_d_GdprListRequest as GdprListRequest,\n      contactsV4Label_universal_d_GdprListResponse as GdprListResponse,\n      contactsV4Label_universal_d_QueryLabelsRequest as QueryLabelsRequest,\n      contactsV4Label_universal_d_Query as Query,\n      contactsV4Label_universal_d_QueryLabelsResponse as QueryLabelsResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      contactsV4Label_universal_d_listLabels as listLabels,\n      contactsV4Label_universal_d_ListLabelsOptions as ListLabelsOptions,\n      contactsV4Label_universal_d_findOrCreateLabel as findOrCreateLabel,\n      contactsV4Label_universal_d_FindOrCreateLabelOptions as FindOrCreateLabelOptions,\n      contactsV4Label_universal_d_listLabelNamespaces as listLabelNamespaces,\n      contactsV4Label_universal_d_ListLabelNamespacesOptions as ListLabelNamespacesOptions,\n      contactsV4Label_universal_d_getLabel as getLabel,\n      contactsV4Label_universal_d_GetLabelOptions as GetLabelOptions,\n      contactsV4Label_universal_d_renameLabel as renameLabel,\n      contactsV4Label_universal_d_RenameLabel as RenameLabel,\n      contactsV4Label_universal_d_RenameLabelOptions as RenameLabelOptions,\n      contactsV4Label_universal_d_deleteLabel as deleteLabel,\n      contactsV4Label_universal_d_queryLabels as queryLabels,\n      contactsV4Label_universal_d_QueryLabelsOptions as QueryLabelsOptions,\n      contactsV4Label_universal_d_LabelsQueryResult as LabelsQueryResult,\n      contactsV4Label_universal_d_LabelsQueryBuilder as LabelsQueryBuilder,\n    };\n  }\n  \n  /** Dummy message for fqdn validation */\n  interface SubmitContact {\n      /** Submit Contact Id */\n      _id?: string | null;\n  }\n  interface SubmitContactRequest {\n      /**\n       * Contact's information.\n       * To reconcile with an existing contact,\n       * a phone or email must be provided,\n       * or the current session identity must be attached to a contact or member.\n       *\n       * If no existing contact can be found,\n       * a new contact is created with the specified information.\n       *\n       * <!--ONLY:REST-->\n       * Required if there's no contextual identity or given `contactId`.\n       * <!--END:ONLY:REST-->\n       */\n      info?: ContactInfo$1;\n      /**\n       * The activity that triggered this request (optional).\n       * Requires permission `CONTACTS.SUBMIT_WITH_OVERRIDES`\n       * @internal\n       */\n      activity?: ContactActivity;\n      /** Pass through data, to be posted on Contact Submitted Domain Event (optional). */\n      passThroughData?: string | null;\n      /**\n       * Existing Contact ID (optional).\n       * Requires permission `CONTACTS.SUBMIT_WITH_OVERRIDES`\n       */\n      contactId?: string | null;\n      /**\n       * Additional submit options\n       * @internal\n       */\n      options?: SubmitContactOptions;\n  }\n  interface ContactInfo$1 {\n      /** Contact's first and last name. */\n      name?: ContactName;\n      /** Contact's email addresses. */\n      emails?: ContactEmailsWrapper;\n      /** Contact's phone numbers. */\n      phones?: ContactPhonesWrapper;\n      /** Contact's street addresses. */\n      addresses?: ContactAddressesWrapper;\n      /** Contact's company name. */\n      company?: string | null;\n      /** Contact's job title. */\n      jobTitle?: string | null;\n      /** Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`. */\n      birthdate?: string | null;\n      /**\n       * Site contributors\n       * who are assigned to manage communication with the contact.\n       * @internal\n       */\n      assignedUserIds?: AssigneesWrapper;\n      /**\n       * Locale in\n       * [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Typically, this is a lowercase 2-letter language code,\n       * followed by a hyphen, followed by an uppercase 2-letter country code.\n       * For example, `en-US` for U.S. English, and `de-DE` for Germany German.\n       */\n      locale?: string | null;\n      /**\n       * List of contact's labels.\n       *\n       * Labels are used to organize contacts. Labels can be\n       * added and removed using Label Contact and Unlabel Contact, respectively.\n       *\n       * To view or manage contact labels, use the Labels API.\n       */\n      labelKeys?: LabelsWrapper;\n      /**\n       * Additional custom fields.\n       *\n       * Empty fields are not returned.\n       */\n      extendedFields?: ExtendedFieldsWrapper;\n      /**\n       * Contact locations.\n       * @internal\n       */\n      locations?: LocationsWrapper;\n      /** Contact's profile picture. */\n      picture?: ContactPicture;\n  }\n  interface ContactName {\n      /** Contact's first name. */\n      first?: string | null;\n      /** Contact's last name. */\n      last?: string | null;\n  }\n  interface ContactEmailsWrapper {\n      /** List of up to 50 email addresses. */\n      items?: ContactEmail[];\n  }\n  interface ContactEmail {\n      /**\n       * Email ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Email type.\n       *\n       * `UNTAGGED` is shown as \"Other\" in the Contact List.\n       */\n      tag?: EmailTag;\n      /** Email address. */\n      email?: string;\n      /**\n       * Indicates whether this is the contact's primary email address.\n       * When changing `primary` to `true` for an email,\n       * the contact's other emails become `false`.\n       * Changing the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\n       */\n      primary?: boolean | null;\n  }\n  enum EmailTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\",\n      HOME = \"HOME\",\n      WORK = \"WORK\"\n  }\n  interface ContactPhonesWrapper {\n      /** List of up to 50 phone numbers. */\n      items?: ContactPhone[];\n  }\n  interface ContactPhone {\n      /**\n       * Phone ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Phone type.\n       *\n       * `UNTAGGED` is shown as \"Other\" in the Contact List.\n       */\n      tag?: PhoneTag;\n      /** [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. */\n      countryCode?: string | null;\n      /** Phone number. */\n      phone?: string;\n      /**\n       * [ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\n       * phone number.\n       * Automatically generated using `phone` and `countryCode`, pending both values are valid.\n       * @readonly\n       */\n      e164Phone?: string | null;\n      /**\n       * Formatted phone. Automatically generated using phone and countryCode.\n       * @internal\n       * @readonly\n       */\n      formattedPhone?: string | null;\n      /**\n       * Indicates whether this is the contact's primary phone number.\n       * When changing `primary` to `true` for a phone,\n       * the contact's `primary` field for other phones becomes `false`.\n       * Changing the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\n       */\n      primary?: boolean | null;\n  }\n  enum PhoneTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\",\n      HOME = \"HOME\",\n      MOBILE = \"MOBILE\",\n      WORK = \"WORK\",\n      FAX = \"FAX\"\n  }\n  interface ContactAddressesWrapper {\n      /** List of up to 50 addresses. */\n      items?: ContactAddress[];\n  }\n  interface ContactAddress {\n      /**\n       * Street address ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Address type.\n       * `UNTAGGED` is shown as \"Other\" in the Contact List.\n       */\n      tag?: AddressTag;\n      /** Street address. */\n      address?: Address;\n  }\n  enum AddressTag {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\",\n      WORK = \"WORK\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street address object, with number and name in separate fields. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine1?: string | null;\n      /**\n       * 2-letter country code in an\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n       */\n      country?: string | null;\n      /**\n       * Code for a subdivision (such as state, prefecture, or province) in an\n       * [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n       */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /**\n       * Free text providing more detailed address information,\n       * such as apartment, suite, or floor.\n       */\n      addressLine2?: string | null;\n      /**\n       * Human-readable address string.\n       * If not provided, the value is generated from the available address data.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street address object, with number and name in separate fields. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address's latitude. */\n      latitude?: number | null;\n      /** Address's longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** subdivision short code */\n      code?: string;\n      /** Full subdivision name. */\n      name?: string;\n      /** @internal */\n      type?: SubdivisionType;\n      /**\n       * Free text that describes the subdivision type.\n       *\n       * Examples: `\"state\"`, `\"province\"`, `\"prefecture\"`.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface AssigneesWrapper {\n      /** List of site contributor user IDs. */\n      items?: string[];\n  }\n  interface LabelsWrapper {\n      /**\n       * List of contact label keys.\n       *\n       * Contact labels help categorize contacts. Label keys must exist to be added to the contact.\n       * Contact labels can be created or retrieved with Find or Create Label or List Labels.\n       */\n      items?: string[];\n  }\n  interface ExtendedFieldsWrapper {\n      /**\n       * Contact's extended fields,\n       * where each key is the field key,\n       * and each value is the field's value for the contact.\n       *\n       * To view and manage extended fields, use the Extended Fields API.\n       */\n      items?: Record<string, any>;\n  }\n  interface LocationsWrapper {\n      /** List of location ids. */\n      items?: string[];\n  }\n  /** TEST contact picture description */\n  interface ContactPicture {\n      /**\n       * Image.\n       * This can contain an image URL or a Wix Media image ID.\n       */\n      image?: string;\n      /**\n       * Indicates whether the image is retrieved from Wix Media\n       * or an external provider.\n       *\n       * - `EXTERNAL`: The image is retrieved from an external provider.\n       * - `WIX_MEDIA`: The image is retrieved from Wix Media.\n       * @internal\n       * @deprecated\n       */\n      imageProvider?: ImageProvider;\n  }\n  enum ImageProvider {\n      UNKNOWN = \"UNKNOWN\",\n      /** Image stored outside Wix */\n      EXTERNAL = \"EXTERNAL\",\n      /** Stored in wix media platform, Must be uploaded by using `GeneratePictureUploadUrl` */\n      WIX_MEDIA = \"WIX_MEDIA\"\n  }\n  interface ContactActivity {\n      /** Date and time of the last action. */\n      activityDate?: Date | null;\n      /** Contact's last action in the site. */\n      activityType?: ContactActivityType;\n      /**\n       * Date and time of the activity.\n       * @internal\n       */\n      date?: Date | null;\n      /**\n       * Activity description. Translated.\n       * @internal\n       */\n      description?: string | null;\n      /**\n       * Activity Icon\n       * @internal\n       */\n      icon?: ActivityIcon;\n  }\n  enum ContactActivityType {\n      /** Visited the site. */\n      GENERAL = \"GENERAL\",\n      /** Became a new contact. */\n      CONTACT_CREATED = \"CONTACT_CREATED\",\n      /** Logged in. */\n      MEMBER_LOGIN = \"MEMBER_LOGIN\",\n      /** Requested a site membership. */\n      MEMBER_REGISTER = \"MEMBER_REGISTER\",\n      /** Was approved, blocked, or unblocked. */\n      MEMBER_STATUS_CHANGED = \"MEMBER_STATUS_CHANGED\",\n      /** Submitted a form. */\n      FORM_SUBMITTED = \"FORM_SUBMITTED\",\n      /** Started a chat. */\n      INBOX_FORM_SUBMITTED = \"INBOX_FORM_SUBMITTED\",\n      /** Paid a payment request. */\n      INBOX_PAYMENT_REQUEST_PAID = \"INBOX_PAYMENT_REQUEST_PAID\",\n      /** Received a message from the site. */\n      INBOX_MESSAGE_TO_CUSTOMER = \"INBOX_MESSAGE_TO_CUSTOMER\",\n      /** Sent a new message to the site. */\n      INBOX_MESSAGE_FROM_CUSTOMER = \"INBOX_MESSAGE_FROM_CUSTOMER\",\n      /** Subscribed to a site newsletter through a form. */\n      NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED = \"NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED\",\n      /** Unsubscribed from a site newsletter. */\n      NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE = \"NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE\",\n      /** Made a purchase. */\n      ECOM_PURCHASE = \"ECOM_PURCHASE\",\n      /** Abandoned a shopping cart. */\n      ECOM_CART_ABANDON = \"ECOM_CART_ABANDON\",\n      /** Checked out shopping cart and submitted buyer info (but didn’t complete the purchase yet). */\n      ECOM_CHECKOUT_BUYER = \"ECOM_CHECKOUT_BUYER\",\n      /** Booked an appointment. */\n      BOOKINGS_APPOINTMENT = \"BOOKINGS_APPOINTMENT\",\n      /** Made a Wix Hotels reservation. */\n      HOTELS_RESERVATION = \"HOTELS_RESERVATION\",\n      /** Paid for a Wix Hotels reservation. */\n      HOTELS_PURCHASE = \"HOTELS_PURCHASE\",\n      /** Confirmed a Wix Hotels reservation. */\n      HOTELS_CONFIRMATION = \"HOTELS_CONFIRMATION\",\n      /** Canceled a Wix Hotels reservation. */\n      HOTELS_CANCEL = \"HOTELS_CANCEL\",\n      /** Purchased a video. */\n      VIDEO_PURCHASE = \"VIDEO_PURCHASE\",\n      /** Rented a video. */\n      VIDEO_RENT = \"VIDEO_RENT\",\n      /** Made a purchase with a pay button. */\n      CASHIER_BUTTON_PURCHASE = \"CASHIER_BUTTON_PURCHASE\",\n      /** Became a new Wix Marketplace lead. */\n      ARENA_NEW_LEAD = \"ARENA_NEW_LEAD\",\n      /** RSVP'd to an event. */\n      EVENTS_RSVP = \"EVENTS_RSVP\",\n      /** Paid an invoice. */\n      INVOICE_PAY = \"INVOICE_PAY\",\n      /** An invoice is now overdue. */\n      INVOICE_OVERDUE = \"INVOICE_OVERDUE\",\n      /** Accepted a price quote. */\n      PRICE_QUOTE_ACCEPT = \"PRICE_QUOTE_ACCEPT\",\n      /** A price quote has expired. */\n      PRICE_QUOTE_EXPIRE = \"PRICE_QUOTE_EXPIRE\",\n      /** Ordered food with Wix Restaurants. */\n      RESTAURANTS_ORDER = \"RESTAURANTS_ORDER\",\n      /** Made a Wix Restaurants reservation. */\n      RESTAURANTS_RESERVATION = \"RESTAURANTS_RESERVATION\",\n      /** Opened an email from the site. */\n      SHOUTOUT_OPEN = \"SHOUTOUT_OPEN\",\n      /** Clicked a link in an email from the site. */\n      SHOUTOUT_CLICK = \"SHOUTOUT_CLICK\",\n      /** Merged with another contact. */\n      CONTACT_MERGED = \"CONTACT_MERGED\",\n      /** Subscribed to a site newsletter. */\n      NEWSLETTER_SUBSCRIPTION_SUBSCRIBE = \"NEWSLETTER_SUBSCRIPTION_SUBSCRIBE\",\n      /** Subscription status to site newsletters is pending confirmation. */\n      NEWSLETTER_SUBSCRIPTION_PENDING = \"NEWSLETTER_SUBSCRIPTION_PENDING\",\n      /** Subscription status to site newsletters is not set. */\n      NEWSLETTER_SUBSCRIPTION_NOT_SET = \"NEWSLETTER_SUBSCRIPTION_NOT_SET\",\n      /** Subscribed to phone notifications. */\n      PHONE_SUBSCRIPTION_SUBSCRIBE = \"PHONE_SUBSCRIPTION_SUBSCRIBE\",\n      /** Subscription to phone notificatons is pending confirmation. */\n      PHONE_SUBSCRIPTION_PENDING = \"PHONE_SUBSCRIPTION_PENDING\",\n      /** Subscription to phone notificatons is not set. */\n      PHONE_SUBSCRIPTION_NOT_SET = \"PHONE_SUBSCRIPTION_NOT_SET\",\n      /** Subscribed to phone notifications. */\n      PHONE_SUBSCRIPTION_UNSUBSCRIBE = \"PHONE_SUBSCRIPTION_UNSUBSCRIBE\"\n  }\n  interface ActivityIcon {\n      /** Icon name */\n      name?: string | null;\n      /** Icon url */\n      url?: string | null;\n  }\n  interface SubmitContactOptions {\n      /**\n       * Overrides `visitorId`\n       * Requires permission `CONTACTS.SUBMIT_WITH_OVERRIDES`\n       */\n      overrideVisitorId?: string | null;\n      /**\n       * Overrides `memberId`\n       * Requires permission `CONTACTS.SUBMIT_WITH_OVERRIDES`\n       */\n      overrideMemberId?: string | null;\n      /**\n       * Overrides `app_id`\n       * Requires permission `CONTACTS.SUBMIT_WITH_OVERRIDES`\n       */\n      overrideAppId?: string | null;\n      /**\n       * Indicates primary email is verified (first email on contact.emails)\n       * Requires permission `CONTACTS.SUBMIT_WITH_OVERRIDES`\n       */\n      emailVerified?: boolean | null;\n      /**\n       * Indicates primary phone is verified (first phone on contact.phones)\n       * Requires permission `CONTACTS.SUBMIT_WITH_OVERRIDES`\n       */\n      phoneVerified?: boolean | null;\n      /**\n       * Indicates if the process of creating/updating the contact should happen asynchronously.\n       * In which case, the contact referenced by the returned `contactId` will only be available after a [Contact Submitted Domain Event](https://bo.wix.com/wix-docs/rest/crm/contacts/contacts-v4/contact-submitted-domain-event)\n       * will be sent.\n       * @internal\n       */\n      async?: boolean | null;\n      /**\n       * TODO: Not implemented yet\n       * 1. Use contact type \"app:ImplicitContact\"\n       * 2. Make sure GDPR handles it.\n       * Requires permission `CONTACTS.SUBMIT_WITH_OVERRIDES`\n       * @internal\n       */\n      hideFromContactList?: boolean | null;\n  }\n  interface SubmitContactResponse {\n      /** ID of the contact that was found or created. */\n      contactId?: string;\n      /**\n       * Identity type of the returned contact.\n       *\n       * - `CONTACT`: The returned contact ID belongs to a new or existing contact.\n       * - `MEMBER`: The returned contact ID belongs to the currently logged-in site member.\n       * - `NOT_AUTHENTICATED_MEMBER`: The returned contact ID belongs to a site member who is not currently logged in.\n       */\n      identityType?: IdentityType;\n      /**\n       * Indicates whether the contact was just created or already existed.\n       *\n       * If the contact was just created, returns `true`.\n       * If it already existed, returns `false`.\n       */\n      newContact?: boolean;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Existing or new contact */\n      CONTACT = \"CONTACT\",\n      /** Member is logged in, matching logic skipped */\n      MEMBER = \"MEMBER\",\n      /** Matching contact is a member, Merge logic won't be applied */\n      NOT_AUTHENTICATED_MEMBER = \"NOT_AUTHENTICATED_MEMBER\"\n  }\n  interface ContactToSubmit {\n      /**\n       * reserved  6;\n       * reserved  \"raw_source\";\n       */\n      contactInfo?: ContactInfo$1;\n      /** Last activity */\n      activity?: ContactActivity;\n      /** Pass through data */\n      passThroughData?: string | null;\n      /** Contact Id */\n      contactId?: string;\n      /** Create/Update */\n      submitOperation?: SubmitOperation;\n      /**\n       * Raw source\n       * @deprecated\n       */\n      rawSource?: string | null;\n      /** Need to resolve source in allocator, because of server sign */\n      sourceType?: ContactSourceType;\n      /** Source Id */\n      sourceId?: string | null;\n      /** Hide from contact list (implicit contact) */\n      hideFromContactList?: boolean;\n  }\n  enum SubmitOperation {\n      UNKNOWN = \"UNKNOWN\",\n      CREATE = \"CREATE\",\n      UPDATE = \"UPDATE\"\n  }\n  enum ContactSourceType {\n      OTHER = \"OTHER\",\n      ADMIN = \"ADMIN\",\n      WIX_APP = \"WIX_APP\",\n      IMPORT = \"IMPORT\",\n      THIRD_PARTY = \"THIRD_PARTY\",\n      WIX_BOOKINGS = \"WIX_BOOKINGS\",\n      WIX_CHAT = \"WIX_CHAT\",\n      WIX_EMAIL_MARKETING = \"WIX_EMAIL_MARKETING\",\n      WIX_EVENTS = \"WIX_EVENTS\",\n      WIX_FORMS = \"WIX_FORMS\",\n      WIX_GROUPS = \"WIX_GROUPS\",\n      WIX_HOTELS = \"WIX_HOTELS\",\n      WIX_MARKET_PLACE = \"WIX_MARKET_PLACE\",\n      WIX_MUSIC = \"WIX_MUSIC\",\n      WIX_RESTAURANTS = \"WIX_RESTAURANTS\",\n      WIX_SITE_MEMBERS = \"WIX_SITE_MEMBERS\",\n      WIX_STORES = \"WIX_STORES\",\n      WIX_CODE = \"WIX_CODE\",\n      HOPP = \"HOPP\"\n  }\n  interface SubmitVisitorIdRequest {\n      /** Existing Contact ID */\n      contactId: string;\n      /** The visitor ID to be attached to the given `contactId` */\n      visitorId: string;\n  }\n  interface SubmitVisitorIdResponse {\n      /** The mapped Contact ID */\n      contactId?: string;\n      /** The mapped visitor ID */\n      visitorId?: string;\n      /** Date in the `visitorId` was attached to the given `contactId` */\n      validFrom?: Date | null;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Appends an existing contact or creates a contact if it doesn't exist.\n   *\n   * For internal docs, see\n   * [Submit Contacts](crm.contact-submit-service.introduction).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CONTACTS.SUBMIT\n   */\n  function appendOrCreateContact(options?: AppendOrCreateContactOptions): Promise<SubmitContactResponse>;\n  interface AppendOrCreateContactOptions {\n      /**\n       * Contact's information.\n       * To reconcile with an existing contact,\n       * a phone or email must be provided,\n       * or the current session identity must be attached to a contact or member.\n       *\n       * If no existing contact can be found,\n       * a new contact is created with the specified information.\n       *\n       * <!--ONLY:REST-->\n       * Required if there's no contextual identity or given `contactId`.\n       * <!--END:ONLY:REST-->\n       */\n      info?: ContactInfo$1;\n      /**\n       * The activity that triggered this request (optional).\n       * Requires permission `CONTACTS.SUBMIT_WITH_OVERRIDES`\n       * @internal\n       */\n      activity?: ContactActivity;\n      /** Pass through data, to be posted on Contact Submitted Domain Event (optional). */\n      passThroughData?: string | null;\n      /**\n       * Existing Contact ID (optional).\n       * Requires permission `CONTACTS.SUBMIT_WITH_OVERRIDES`\n       */\n      contactId?: string | null;\n      /**\n       * Additional submit options\n       * @internal\n       */\n      options?: SubmitContactOptions;\n  }\n  /**\n   * Submit visitor Id to be mapped to an existing contact Id.\n   * If the visitorId already mapped to provided contactId, no action is performed\n   * If no mapping exists, or visitor Id mapped to another contact Id,\n   * new mapping will be created\n   * @param contactId - Existing Contact ID\n   * @param visitorId - The visitor ID to be attached to the given `contactId`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @requiredField visitorId\n   * @permissionId CONTACTS.SUBMIT_VISITOR_ID\n   * @adminMethod\n   */\n  function submitVisitorId(contactId: string, visitorId: string): Promise<SubmitVisitorIdResponse>;\n  \n  type contactsV4SubmitContact_universal_d_SubmitContact = SubmitContact;\n  type contactsV4SubmitContact_universal_d_SubmitContactRequest = SubmitContactRequest;\n  type contactsV4SubmitContact_universal_d_ContactName = ContactName;\n  type contactsV4SubmitContact_universal_d_ContactEmailsWrapper = ContactEmailsWrapper;\n  type contactsV4SubmitContact_universal_d_ContactEmail = ContactEmail;\n  type contactsV4SubmitContact_universal_d_EmailTag = EmailTag;\n  const contactsV4SubmitContact_universal_d_EmailTag: typeof EmailTag;\n  type contactsV4SubmitContact_universal_d_ContactPhonesWrapper = ContactPhonesWrapper;\n  type contactsV4SubmitContact_universal_d_ContactPhone = ContactPhone;\n  type contactsV4SubmitContact_universal_d_PhoneTag = PhoneTag;\n  const contactsV4SubmitContact_universal_d_PhoneTag: typeof PhoneTag;\n  type contactsV4SubmitContact_universal_d_ContactAddressesWrapper = ContactAddressesWrapper;\n  type contactsV4SubmitContact_universal_d_ContactAddress = ContactAddress;\n  type contactsV4SubmitContact_universal_d_AddressTag = AddressTag;\n  const contactsV4SubmitContact_universal_d_AddressTag: typeof AddressTag;\n  type contactsV4SubmitContact_universal_d_Address = Address;\n  type contactsV4SubmitContact_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type contactsV4SubmitContact_universal_d_StreetAddress = StreetAddress;\n  type contactsV4SubmitContact_universal_d_AddressLocation = AddressLocation;\n  type contactsV4SubmitContact_universal_d_Subdivision = Subdivision;\n  type contactsV4SubmitContact_universal_d_SubdivisionType = SubdivisionType;\n  const contactsV4SubmitContact_universal_d_SubdivisionType: typeof SubdivisionType;\n  type contactsV4SubmitContact_universal_d_AssigneesWrapper = AssigneesWrapper;\n  type contactsV4SubmitContact_universal_d_LabelsWrapper = LabelsWrapper;\n  type contactsV4SubmitContact_universal_d_ExtendedFieldsWrapper = ExtendedFieldsWrapper;\n  type contactsV4SubmitContact_universal_d_LocationsWrapper = LocationsWrapper;\n  type contactsV4SubmitContact_universal_d_ContactPicture = ContactPicture;\n  type contactsV4SubmitContact_universal_d_ImageProvider = ImageProvider;\n  const contactsV4SubmitContact_universal_d_ImageProvider: typeof ImageProvider;\n  type contactsV4SubmitContact_universal_d_ContactActivity = ContactActivity;\n  type contactsV4SubmitContact_universal_d_ContactActivityType = ContactActivityType;\n  const contactsV4SubmitContact_universal_d_ContactActivityType: typeof ContactActivityType;\n  type contactsV4SubmitContact_universal_d_ActivityIcon = ActivityIcon;\n  type contactsV4SubmitContact_universal_d_SubmitContactOptions = SubmitContactOptions;\n  type contactsV4SubmitContact_universal_d_SubmitContactResponse = SubmitContactResponse;\n  type contactsV4SubmitContact_universal_d_IdentityType = IdentityType;\n  const contactsV4SubmitContact_universal_d_IdentityType: typeof IdentityType;\n  type contactsV4SubmitContact_universal_d_ContactToSubmit = ContactToSubmit;\n  type contactsV4SubmitContact_universal_d_SubmitOperation = SubmitOperation;\n  const contactsV4SubmitContact_universal_d_SubmitOperation: typeof SubmitOperation;\n  type contactsV4SubmitContact_universal_d_ContactSourceType = ContactSourceType;\n  const contactsV4SubmitContact_universal_d_ContactSourceType: typeof ContactSourceType;\n  type contactsV4SubmitContact_universal_d_SubmitVisitorIdRequest = SubmitVisitorIdRequest;\n  type contactsV4SubmitContact_universal_d_SubmitVisitorIdResponse = SubmitVisitorIdResponse;\n  const contactsV4SubmitContact_universal_d_appendOrCreateContact: typeof appendOrCreateContact;\n  type contactsV4SubmitContact_universal_d_AppendOrCreateContactOptions = AppendOrCreateContactOptions;\n  const contactsV4SubmitContact_universal_d_submitVisitorId: typeof submitVisitorId;\n  namespace contactsV4SubmitContact_universal_d {\n    export {\n      contactsV4SubmitContact_universal_d_SubmitContact as SubmitContact,\n      contactsV4SubmitContact_universal_d_SubmitContactRequest as SubmitContactRequest,\n      ContactInfo$1 as ContactInfo,\n      contactsV4SubmitContact_universal_d_ContactName as ContactName,\n      contactsV4SubmitContact_universal_d_ContactEmailsWrapper as ContactEmailsWrapper,\n      contactsV4SubmitContact_universal_d_ContactEmail as ContactEmail,\n      contactsV4SubmitContact_universal_d_EmailTag as EmailTag,\n      contactsV4SubmitContact_universal_d_ContactPhonesWrapper as ContactPhonesWrapper,\n      contactsV4SubmitContact_universal_d_ContactPhone as ContactPhone,\n      contactsV4SubmitContact_universal_d_PhoneTag as PhoneTag,\n      contactsV4SubmitContact_universal_d_ContactAddressesWrapper as ContactAddressesWrapper,\n      contactsV4SubmitContact_universal_d_ContactAddress as ContactAddress,\n      contactsV4SubmitContact_universal_d_AddressTag as AddressTag,\n      contactsV4SubmitContact_universal_d_Address as Address,\n      contactsV4SubmitContact_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      contactsV4SubmitContact_universal_d_StreetAddress as StreetAddress,\n      contactsV4SubmitContact_universal_d_AddressLocation as AddressLocation,\n      contactsV4SubmitContact_universal_d_Subdivision as Subdivision,\n      contactsV4SubmitContact_universal_d_SubdivisionType as SubdivisionType,\n      contactsV4SubmitContact_universal_d_AssigneesWrapper as AssigneesWrapper,\n      contactsV4SubmitContact_universal_d_LabelsWrapper as LabelsWrapper,\n      contactsV4SubmitContact_universal_d_ExtendedFieldsWrapper as ExtendedFieldsWrapper,\n      contactsV4SubmitContact_universal_d_LocationsWrapper as LocationsWrapper,\n      contactsV4SubmitContact_universal_d_ContactPicture as ContactPicture,\n      contactsV4SubmitContact_universal_d_ImageProvider as ImageProvider,\n      contactsV4SubmitContact_universal_d_ContactActivity as ContactActivity,\n      contactsV4SubmitContact_universal_d_ContactActivityType as ContactActivityType,\n      contactsV4SubmitContact_universal_d_ActivityIcon as ActivityIcon,\n      contactsV4SubmitContact_universal_d_SubmitContactOptions as SubmitContactOptions,\n      contactsV4SubmitContact_universal_d_SubmitContactResponse as SubmitContactResponse,\n      contactsV4SubmitContact_universal_d_IdentityType as IdentityType,\n      contactsV4SubmitContact_universal_d_ContactToSubmit as ContactToSubmit,\n      contactsV4SubmitContact_universal_d_SubmitOperation as SubmitOperation,\n      contactsV4SubmitContact_universal_d_ContactSourceType as ContactSourceType,\n      contactsV4SubmitContact_universal_d_SubmitVisitorIdRequest as SubmitVisitorIdRequest,\n      contactsV4SubmitContact_universal_d_SubmitVisitorIdResponse as SubmitVisitorIdResponse,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      contactsV4SubmitContact_universal_d_appendOrCreateContact as appendOrCreateContact,\n      contactsV4SubmitContact_universal_d_AppendOrCreateContactOptions as AppendOrCreateContactOptions,\n      contactsV4SubmitContact_universal_d_submitVisitorId as submitVisitorId,\n    };\n  }\n  \n  interface Task {\n      /**\n       * Task ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the task is updated. To prevent conflicting changes, the existing `revision` must be used when updating a task.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Title of the task. */\n      title?: string | null;\n      /** Description of the task. */\n      description?: string | null;\n      /**\n       * Date and time the task was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the task was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Due date for the task. */\n      dueDate?: Date | null;\n      /**\n       * Status of the task.\n       *\n       * Default: `ACTION_NEEDED`\n       */\n      status?: TaskStatus;\n      /** Details about the task source. */\n      source?: TaskSource;\n      /**\n       * ID of user assigned to the task.\n       * @internal\n       */\n      assigneeId?: string | null;\n      /** Information about the contact associated with the task. */\n      contact?: ContactInfo;\n  }\n  /** Possible statuses in which the task may be. */\n  enum TaskStatus {\n      /** Undefined task status. */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Action needed. */\n      ACTION_NEEDED = \"ACTION_NEEDED\",\n      /** Task completed. */\n      COMPLETED = \"COMPLETED\"\n  }\n  interface TaskSource {\n      /**\n       * How the task was created.\n       * @readonly\n       */\n      sourceType?: SourceType;\n      /**\n       * App ID, if the task was created by an app.\n       * @readonly\n       */\n      appId?: string | null;\n      /**\n       * User ID, if the task was created by a Wix user.\n       * @readonly\n       */\n      userId?: string | null;\n  }\n  /** Possible sources that can create tasks. */\n  enum SourceType {\n      /** Undefined source type. */\n      UNKNOWN_SOURCE_TYPE = \"UNKNOWN_SOURCE_TYPE\",\n      /** Task was created by an app. */\n      APP = \"APP\",\n      /** Task was created by a Wix user. */\n      USER = \"USER\"\n  }\n  interface ContactInfo {\n      /** ID of the contact associated with the task. */\n      _id?: string | null;\n      /**\n       * Contact's first name.\n       * @readonly\n       */\n      firstName?: string | null;\n      /**\n       * Contact's last name.\n       * @readonly\n       */\n      lastName?: string | null;\n      /**\n       * Contact's image URL.\n       * @readonly\n       */\n      imageUrl?: string | null;\n      /**\n       * Contact's primary email.\n       * @readonly\n       */\n      email?: string | null;\n      /**\n       * Contact's primary phone.\n       * @readonly\n       */\n      phone?: string | null;\n  }\n  interface DeleteCompletedTasksRequest {\n      /** Optional list of tasks ids of the tasks to delete. If the list is not provided the filter is used. */\n      taskIds?: string[];\n      /** An optional filter of tasks to count. See 'queryTasks' for supported filter options. */\n      filter?: Record<string, any> | null;\n  }\n  interface DeleteCompletedTasksResponse {\n  }\n  interface SendTasksReminderRequest {\n      /** Ids of the tasks to remind */\n      taskIds?: string[];\n      /** The reminder type */\n      reminderType?: ReminderType;\n  }\n  enum ReminderType {\n      UNKNOWN_REMINDER_TYPE = \"UNKNOWN_REMINDER_TYPE\",\n      FIRST_REMINDER = \"FIRST_REMINDER\",\n      LAST_REMINDER = \"LAST_REMINDER\"\n  }\n  interface SendTasksReminderResponse {\n  }\n  interface RepositionTask {\n      /** The id of the last task that was re-positioned */\n      taskId?: string | null;\n      /** The position of the last task that was re-positioned */\n      position?: string | null;\n  }\n  interface TaskOverdue {\n      /** The overdue task. */\n      task?: Task;\n  }\n  interface TaskAssigned {\n      /** The id of the assignee */\n      assigneeId?: string;\n      /** The task that was assigned */\n      task?: Task;\n  }\n  interface CreateTaskRequest {\n      /** Task to create. */\n      task: Task;\n  }\n  interface CreateTaskResponse {\n      /** The created task. */\n      task?: Task;\n  }\n  interface ContactNotFoundError {\n      contactId?: string;\n  }\n  interface GetTaskRequest {\n      /** ID of the task to retrieve. */\n      taskId: string;\n  }\n  interface GetTaskResponse {\n      /** The retrieved task. */\n      task?: Task;\n  }\n  interface UpdateTaskRequest {\n      /** Task to update. */\n      task: Task;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateTaskResponse {\n      /** The updated task. */\n      task?: Task;\n  }\n  interface DeleteTaskRequest {\n      /** ID of the task to delete. */\n      taskId: string;\n  }\n  interface DeleteTaskResponse {\n  }\n  interface QueryTasksRequest {\n      /** Query options. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      /** Sort by ascending order. */\n      ASC = \"ASC\",\n      /** Sort by descending order. */\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTasksResponse {\n      /** The retrieved tasks. */\n      tasks?: Task[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CountTasksRequest {\n      /**\n       * Filter which tasks to count. See the list of supported filters in `queryContacts`.\n       *\n       * Filterable fields include:\n       * - `_id`\n       * - `_createdDate`\n       * - `_updatedDate`\n       * - `dueDate`\n       * - `status`\n       * - `contact.id`\n       */\n      filter?: Record<string, any> | null;\n  }\n  interface CountTasksResponse {\n      /** The number of tasks that match the specified filter. */\n      count?: number;\n  }\n  interface QueryTasksInternalRequest {\n      /** WQL expression */\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryTasksInternalResponse {\n      /** The retrieved tasks. */\n      tasks?: Task[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface MoveTaskAfterRequest {\n      /** ID of the task to move. */\n      taskId: string;\n      /**\n       * The ID of the task after which the moved task is positioned in the task display.\n       * If `beforeTaskId` is not specified, the moved task is positioned first in the task display.\n       */\n      beforeTaskId?: string | null;\n  }\n  interface MoveTaskAfterResponse {\n  }\n  interface TaskNotFoundError {\n      /** The task id that was not found */\n      taskId?: string;\n  }\n  interface Empty {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new task.\n   *\n   * All fields in the `task` object are optional. If you don't pass any fields in the `task` object, the function returns a task with the following core properties:\n   * - `_id`\n   * - `_createdDate`\n   * - `_updatedDate`\n   * - `status`\n   * - `source`\n   * - `revision`\n   *\n   * @param task - Task to create.\n   * @public\n   * @requiredField task\n   * @permissionId CRM_TASKS.TASK_CREATE\n   * @adminMethod\n   * @returns The created task.\n   */\n  function createTask(task: Task): Promise<Task>;\n  /**\n   * Retrieves a task by ID.\n   * @param taskId - ID of the task to retrieve.\n   * @public\n   * @requiredField taskId\n   * @permissionId CRM_TASKS.TASK_READ\n   * @adminMethod\n   * @returns The retrieved task.\n   */\n  function getTask(taskId: string): Promise<Task>;\n  /**\n   * Updates a task.\n   *\n   * Each time the task is updated, `revision` increments by 1.\n   * The existing `revision` must be included when updating the task.\n   * This ensures you're working with the latest task\n   * and prevents unintended overwrites.\n   * @param _id - Task ID.\n   * @public\n   * @requiredField _id\n   * @requiredField task\n   * @requiredField task.revision\n   * @param task - Task to update.\n   * @permissionId CRM_TASKS.TASK_UPDATE\n   * @adminMethod\n   * @returns The updated task.\n   */\n  function updateTask(_id: string | null, task: UpdateTask, options?: UpdateTaskOptions): Promise<Task>;\n  interface UpdateTask {\n      /**\n       * Task ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the task is updated. To prevent conflicting changes, the existing `revision` must be used when updating a task.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Title of the task. */\n      title?: string | null;\n      /** Description of the task. */\n      description?: string | null;\n      /**\n       * Date and time the task was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the task was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Due date for the task. */\n      dueDate?: Date | null;\n      /**\n       * Status of the task.\n       *\n       * Default: `ACTION_NEEDED`\n       */\n      status?: TaskStatus;\n      /** Details about the task source. */\n      source?: TaskSource;\n      /**\n       * ID of user assigned to the task.\n       * @internal\n       */\n      assigneeId?: string | null;\n      /** Information about the contact associated with the task. */\n      contact?: ContactInfo;\n  }\n  interface UpdateTaskOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a task by ID.\n   * @param taskId - ID of the task to delete.\n   * @public\n   * @requiredField taskId\n   * @permissionId CRM_TASKS.TASK_DELETE\n   * @adminMethod\n   */\n  function deleteTask(taskId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of tasks.\n   *\n   * The `queryTasks()` function builds a query to retrieve a list of tasks and returns a `TasksQueryBuilder` object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the `find()` function. You can refine the query by chaining `TasksQueryBuilder` functions onto the query. `TasksQueryBuilder` functions enable you to sort, filter, and control the results that `queryTasks()` returns.\n   *\n   * `queryTasks()` runs with these `TasksQueryBuilder` defaults, which you can override:\n   * - `limit(50)`\n   * - `descending('_createdDate')`\n   *\n   * The functions that are chained to `queryTasks()` are applied in the order they are called. For example, if you apply `ascending('_createdDate')` and then `descending('_updatedDate')`, the results are sorted first by the created date and then, if there are multiple results with the same date, the items are sorted by the updated date.\n   *\n   * The following `TasksQueryBuilder` functions are supported for `queryTasks()`. For a full description of the `task` object, see the object returned for the `items` property in `TasksQueryResult`.\n   * @public\n   * @permissionId CRM_TASKS.TASK_READ\n   * @adminMethod\n   */\n  function queryTasks(): TasksQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TasksQueryResult extends QueryCursorResult {\n      items: Task[];\n      query: TasksQueryBuilder;\n      next: () => Promise<TasksQueryResult>;\n      prev: () => Promise<TasksQueryResult>;\n  }\n  interface TasksQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'dueDate' | 'status' | 'contact.id', value: any) => TasksQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'dueDate' | 'status' | 'contact.id', value: any) => TasksQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate' | 'dueDate', value: any) => TasksQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate' | 'dueDate', value: any) => TasksQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate' | 'dueDate', value: any) => TasksQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate' | 'dueDate', value: any) => TasksQueryBuilder;\n      in: (propertyName: '_id' | 'status' | 'contact.id', value: any) => TasksQueryBuilder;\n      exists: (propertyName: 'contact.id', value: boolean) => TasksQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'dueDate'>) => TasksQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'dueDate'>) => TasksQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => TasksQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => TasksQueryBuilder;\n      find: () => Promise<TasksQueryResult>;\n  }\n  /**\n   * Counts the number of tasks.\n   *\n   *\n   * This method returns the count of all tasks regardless of their `status`.\n   *\n   * Optionally, you can specify a filter to count only tasks that meet certain criteria.\n   * @public\n   * @param options - Filtering options.\n   * @permissionId CRM_TASKS.TASK_READ\n   * @adminMethod\n   */\n  function countTasks(options?: CountTasksOptions): Promise<CountTasksResponse>;\n  interface CountTasksOptions {\n      /**\n       * Filter which tasks to count. See the list of supported filters in `queryContacts`.\n       *\n       * Filterable fields include:\n       * - `_id`\n       * - `_createdDate`\n       * - `_updatedDate`\n       * - `dueDate`\n       * - `status`\n       * - `contact.id`\n       */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Moves a task specified by ID to be placed after another task in the task display.\n   *\n   * You can reposition a task to be first in the display by omitting `beforeTaskId`.\n   * @param taskId - ID of the task to move.\n   * @public\n   * @requiredField taskId\n   * @param options - Options for moving the task.\n   * @permissionId CRM_TASKS.TASK_UPDATE\n   * @adminMethod\n   */\n  function moveTaskAfter(taskId: string, options?: MoveTaskAfterOptions): Promise<void>;\n  interface MoveTaskAfterOptions {\n      /**\n       * The ID of the task after which the moved task is positioned in the task display.\n       * If `beforeTaskId` is not specified, the moved task is positioned first in the task display.\n       */\n      beforeTaskId?: string | null;\n  }\n  \n  type crmTasksV2Task_universal_d_Task = Task;\n  type crmTasksV2Task_universal_d_TaskStatus = TaskStatus;\n  const crmTasksV2Task_universal_d_TaskStatus: typeof TaskStatus;\n  type crmTasksV2Task_universal_d_TaskSource = TaskSource;\n  type crmTasksV2Task_universal_d_SourceType = SourceType;\n  const crmTasksV2Task_universal_d_SourceType: typeof SourceType;\n  type crmTasksV2Task_universal_d_ContactInfo = ContactInfo;\n  type crmTasksV2Task_universal_d_DeleteCompletedTasksRequest = DeleteCompletedTasksRequest;\n  type crmTasksV2Task_universal_d_DeleteCompletedTasksResponse = DeleteCompletedTasksResponse;\n  type crmTasksV2Task_universal_d_SendTasksReminderRequest = SendTasksReminderRequest;\n  type crmTasksV2Task_universal_d_ReminderType = ReminderType;\n  const crmTasksV2Task_universal_d_ReminderType: typeof ReminderType;\n  type crmTasksV2Task_universal_d_SendTasksReminderResponse = SendTasksReminderResponse;\n  type crmTasksV2Task_universal_d_RepositionTask = RepositionTask;\n  type crmTasksV2Task_universal_d_TaskOverdue = TaskOverdue;\n  type crmTasksV2Task_universal_d_TaskAssigned = TaskAssigned;\n  type crmTasksV2Task_universal_d_CreateTaskRequest = CreateTaskRequest;\n  type crmTasksV2Task_universal_d_CreateTaskResponse = CreateTaskResponse;\n  type crmTasksV2Task_universal_d_ContactNotFoundError = ContactNotFoundError;\n  type crmTasksV2Task_universal_d_GetTaskRequest = GetTaskRequest;\n  type crmTasksV2Task_universal_d_GetTaskResponse = GetTaskResponse;\n  type crmTasksV2Task_universal_d_UpdateTaskRequest = UpdateTaskRequest;\n  type crmTasksV2Task_universal_d_UpdateTaskResponse = UpdateTaskResponse;\n  type crmTasksV2Task_universal_d_DeleteTaskRequest = DeleteTaskRequest;\n  type crmTasksV2Task_universal_d_DeleteTaskResponse = DeleteTaskResponse;\n  type crmTasksV2Task_universal_d_QueryTasksRequest = QueryTasksRequest;\n  type crmTasksV2Task_universal_d_CursorQuery = CursorQuery;\n  type crmTasksV2Task_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type crmTasksV2Task_universal_d_Sorting = Sorting;\n  type crmTasksV2Task_universal_d_SortOrder = SortOrder;\n  const crmTasksV2Task_universal_d_SortOrder: typeof SortOrder;\n  type crmTasksV2Task_universal_d_CursorPaging = CursorPaging;\n  type crmTasksV2Task_universal_d_QueryTasksResponse = QueryTasksResponse;\n  type crmTasksV2Task_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type crmTasksV2Task_universal_d_Cursors = Cursors;\n  type crmTasksV2Task_universal_d_CountTasksRequest = CountTasksRequest;\n  type crmTasksV2Task_universal_d_CountTasksResponse = CountTasksResponse;\n  type crmTasksV2Task_universal_d_QueryTasksInternalRequest = QueryTasksInternalRequest;\n  type crmTasksV2Task_universal_d_QueryV2 = QueryV2;\n  type crmTasksV2Task_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type crmTasksV2Task_universal_d_Paging = Paging;\n  type crmTasksV2Task_universal_d_QueryTasksInternalResponse = QueryTasksInternalResponse;\n  type crmTasksV2Task_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type crmTasksV2Task_universal_d_MoveTaskAfterRequest = MoveTaskAfterRequest;\n  type crmTasksV2Task_universal_d_MoveTaskAfterResponse = MoveTaskAfterResponse;\n  type crmTasksV2Task_universal_d_TaskNotFoundError = TaskNotFoundError;\n  type crmTasksV2Task_universal_d_Empty = Empty;\n  type crmTasksV2Task_universal_d_DomainEvent = DomainEvent;\n  type crmTasksV2Task_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type crmTasksV2Task_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type crmTasksV2Task_universal_d_RestoreInfo = RestoreInfo;\n  type crmTasksV2Task_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type crmTasksV2Task_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type crmTasksV2Task_universal_d_ActionEvent = ActionEvent;\n  type crmTasksV2Task_universal_d_MessageEnvelope = MessageEnvelope;\n  type crmTasksV2Task_universal_d_IdentificationData = IdentificationData;\n  type crmTasksV2Task_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type crmTasksV2Task_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const crmTasksV2Task_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const crmTasksV2Task_universal_d_createTask: typeof createTask;\n  const crmTasksV2Task_universal_d_getTask: typeof getTask;\n  const crmTasksV2Task_universal_d_updateTask: typeof updateTask;\n  type crmTasksV2Task_universal_d_UpdateTask = UpdateTask;\n  type crmTasksV2Task_universal_d_UpdateTaskOptions = UpdateTaskOptions;\n  const crmTasksV2Task_universal_d_deleteTask: typeof deleteTask;\n  const crmTasksV2Task_universal_d_queryTasks: typeof queryTasks;\n  type crmTasksV2Task_universal_d_TasksQueryResult = TasksQueryResult;\n  type crmTasksV2Task_universal_d_TasksQueryBuilder = TasksQueryBuilder;\n  const crmTasksV2Task_universal_d_countTasks: typeof countTasks;\n  type crmTasksV2Task_universal_d_CountTasksOptions = CountTasksOptions;\n  const crmTasksV2Task_universal_d_moveTaskAfter: typeof moveTaskAfter;\n  type crmTasksV2Task_universal_d_MoveTaskAfterOptions = MoveTaskAfterOptions;\n  namespace crmTasksV2Task_universal_d {\n    export {\n      crmTasksV2Task_universal_d_Task as Task,\n      crmTasksV2Task_universal_d_TaskStatus as TaskStatus,\n      crmTasksV2Task_universal_d_TaskSource as TaskSource,\n      crmTasksV2Task_universal_d_SourceType as SourceType,\n      crmTasksV2Task_universal_d_ContactInfo as ContactInfo,\n      crmTasksV2Task_universal_d_DeleteCompletedTasksRequest as DeleteCompletedTasksRequest,\n      crmTasksV2Task_universal_d_DeleteCompletedTasksResponse as DeleteCompletedTasksResponse,\n      crmTasksV2Task_universal_d_SendTasksReminderRequest as SendTasksReminderRequest,\n      crmTasksV2Task_universal_d_ReminderType as ReminderType,\n      crmTasksV2Task_universal_d_SendTasksReminderResponse as SendTasksReminderResponse,\n      crmTasksV2Task_universal_d_RepositionTask as RepositionTask,\n      crmTasksV2Task_universal_d_TaskOverdue as TaskOverdue,\n      crmTasksV2Task_universal_d_TaskAssigned as TaskAssigned,\n      crmTasksV2Task_universal_d_CreateTaskRequest as CreateTaskRequest,\n      crmTasksV2Task_universal_d_CreateTaskResponse as CreateTaskResponse,\n      crmTasksV2Task_universal_d_ContactNotFoundError as ContactNotFoundError,\n      crmTasksV2Task_universal_d_GetTaskRequest as GetTaskRequest,\n      crmTasksV2Task_universal_d_GetTaskResponse as GetTaskResponse,\n      crmTasksV2Task_universal_d_UpdateTaskRequest as UpdateTaskRequest,\n      crmTasksV2Task_universal_d_UpdateTaskResponse as UpdateTaskResponse,\n      crmTasksV2Task_universal_d_DeleteTaskRequest as DeleteTaskRequest,\n      crmTasksV2Task_universal_d_DeleteTaskResponse as DeleteTaskResponse,\n      crmTasksV2Task_universal_d_QueryTasksRequest as QueryTasksRequest,\n      crmTasksV2Task_universal_d_CursorQuery as CursorQuery,\n      crmTasksV2Task_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      crmTasksV2Task_universal_d_Sorting as Sorting,\n      crmTasksV2Task_universal_d_SortOrder as SortOrder,\n      crmTasksV2Task_universal_d_CursorPaging as CursorPaging,\n      crmTasksV2Task_universal_d_QueryTasksResponse as QueryTasksResponse,\n      crmTasksV2Task_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      crmTasksV2Task_universal_d_Cursors as Cursors,\n      crmTasksV2Task_universal_d_CountTasksRequest as CountTasksRequest,\n      crmTasksV2Task_universal_d_CountTasksResponse as CountTasksResponse,\n      crmTasksV2Task_universal_d_QueryTasksInternalRequest as QueryTasksInternalRequest,\n      crmTasksV2Task_universal_d_QueryV2 as QueryV2,\n      crmTasksV2Task_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      crmTasksV2Task_universal_d_Paging as Paging,\n      crmTasksV2Task_universal_d_QueryTasksInternalResponse as QueryTasksInternalResponse,\n      crmTasksV2Task_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      crmTasksV2Task_universal_d_MoveTaskAfterRequest as MoveTaskAfterRequest,\n      crmTasksV2Task_universal_d_MoveTaskAfterResponse as MoveTaskAfterResponse,\n      crmTasksV2Task_universal_d_TaskNotFoundError as TaskNotFoundError,\n      crmTasksV2Task_universal_d_Empty as Empty,\n      crmTasksV2Task_universal_d_DomainEvent as DomainEvent,\n      crmTasksV2Task_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      crmTasksV2Task_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      crmTasksV2Task_universal_d_RestoreInfo as RestoreInfo,\n      crmTasksV2Task_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      crmTasksV2Task_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      crmTasksV2Task_universal_d_ActionEvent as ActionEvent,\n      crmTasksV2Task_universal_d_MessageEnvelope as MessageEnvelope,\n      crmTasksV2Task_universal_d_IdentificationData as IdentificationData,\n      crmTasksV2Task_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      crmTasksV2Task_universal_d_WebhookIdentityType as WebhookIdentityType,\n      crmTasksV2Task_universal_d_createTask as createTask,\n      crmTasksV2Task_universal_d_getTask as getTask,\n      crmTasksV2Task_universal_d_updateTask as updateTask,\n      crmTasksV2Task_universal_d_UpdateTask as UpdateTask,\n      crmTasksV2Task_universal_d_UpdateTaskOptions as UpdateTaskOptions,\n      crmTasksV2Task_universal_d_deleteTask as deleteTask,\n      crmTasksV2Task_universal_d_queryTasks as queryTasks,\n      crmTasksV2Task_universal_d_TasksQueryResult as TasksQueryResult,\n      crmTasksV2Task_universal_d_TasksQueryBuilder as TasksQueryBuilder,\n      crmTasksV2Task_universal_d_countTasks as countTasks,\n      crmTasksV2Task_universal_d_CountTasksOptions as CountTasksOptions,\n      crmTasksV2Task_universal_d_moveTaskAfter as moveTaskAfter,\n      crmTasksV2Task_universal_d_MoveTaskAfterOptions as MoveTaskAfterOptions,\n    };\n  }\n  \n  export { contactsV4Attachment_universal_d as attachments, contactsV4Contact_universal_d as contacts, contactsV4ExtendedField_universal_d as extendedFields, contactsV4Label_universal_d as labels, contactsV4SubmitContact_universal_d as submittedContact, crmTasksV2Task_universal_d as tasks };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-captcha.v2.d.ts",
      "content": "declare module \"wix-captcha.v2\" {\n  interface CaptchaEntity {\n  }\n  interface CaptchaRequest {\n      /** The CAPTCHA token to authorize. */\n      token?: string;\n      /** @internal */\n      referrer?: string;\n      /** @internal */\n      siteKey?: string;\n      /** @internal */\n      action?: string;\n  }\n  interface CaptchaResponse {\n      /** Value is `true` when authorization is successful. */\n      success?: boolean;\n      /** Error information. */\n      errors?: Errors;\n  }\n  interface Errors {\n      /** ID of error. */\n      errorId?: number;\n  }\n  interface AssessmentResponse {\n      assessment?: string;\n  }\n  /**\n   * Authorizes a CAPTCHA token.\n   *\n   * Following CAPTCHA verification on the client side, you must authorize the generated CAPTCHA\n   * token in the backend.\n   *\n   * `Authorize` checks if the token is valid, making sure it was not tampered with or timed out.\n   *\n   * If you're developing a Wix site or Blocks app, call this method when working with the\n   * [Wix reCAPTCHA](https://dev.wix.com/docs/velo/api-reference/$w/captcha/introduction) element.\n   *\n   * If CAPTCHA token authorization fails, the method returns an error message containing a status code.\n   * The following table lists the possible HTTP error status codes, based on\n   * [RFC 2616](https://datatracker.ietf.org/doc/html/rfc2616#section-10):\n   *\n   *\n   * | Status Code | Name | Description |\n   * |---|---|---|\n   * | 400 | Bad Request | The request could not be understood by the server. This could occur for a number of reasons, such as: <ul> <li>The request was sent without a token.</li> <li>The token is invalid.</li> <li>The token has timed out.</li> </ul> |\n   * | 401 | Unauthenticated | No user identity found in passed request. |\n   * | 500 | Internal Server Error | The server encountered an unexpected condition, such as a missing or invalid private CAPTCHA key. |\n   * | 503 | Unavailable | The service is unavailable due to one of the following: <ul> <li>Throttled error: Server overload due to more than the allowed requests in a given time frame.</li> <li>Request failed: No response following 10 retries with a 1-second interval.</li> </ul> |\n   * @param token - The CAPTCHA token to authorize.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField token\n   * @adminMethod\n   */\n  function authorize(token: string, options?: AuthorizeOptions): Promise<CaptchaResponse>;\n  interface AuthorizeOptions {\n      /** @internal */\n      referrer?: string;\n      /** @internal */\n      siteKey?: string;\n      /** @internal */\n      action?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function authorizeWithoutDomainValidation(options?: AuthorizeWithoutDomainValidationOptions): Promise<CaptchaResponse>;\n  interface AuthorizeWithoutDomainValidationOptions {\n      /** The CAPTCHA token to authorize. */\n      token?: string;\n      /** @internal */\n      referrer?: string;\n      /** @internal */\n      siteKey?: string;\n      /** @internal */\n      action?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function assessment(options?: AssessmentOptions): Promise<AssessmentResponse>;\n  interface AssessmentOptions {\n      /** The CAPTCHA token to authorize. */\n      token?: string;\n      /** @internal */\n      referrer?: string;\n      /** @internal */\n      siteKey?: string;\n      /** @internal */\n      action?: string;\n  }\n  \n  type captcharatorV1CaptchaEntity_universal_d_CaptchaEntity = CaptchaEntity;\n  type captcharatorV1CaptchaEntity_universal_d_CaptchaRequest = CaptchaRequest;\n  type captcharatorV1CaptchaEntity_universal_d_CaptchaResponse = CaptchaResponse;\n  type captcharatorV1CaptchaEntity_universal_d_Errors = Errors;\n  type captcharatorV1CaptchaEntity_universal_d_AssessmentResponse = AssessmentResponse;\n  const captcharatorV1CaptchaEntity_universal_d_authorize: typeof authorize;\n  type captcharatorV1CaptchaEntity_universal_d_AuthorizeOptions = AuthorizeOptions;\n  const captcharatorV1CaptchaEntity_universal_d_authorizeWithoutDomainValidation: typeof authorizeWithoutDomainValidation;\n  type captcharatorV1CaptchaEntity_universal_d_AuthorizeWithoutDomainValidationOptions = AuthorizeWithoutDomainValidationOptions;\n  const captcharatorV1CaptchaEntity_universal_d_assessment: typeof assessment;\n  type captcharatorV1CaptchaEntity_universal_d_AssessmentOptions = AssessmentOptions;\n  namespace captcharatorV1CaptchaEntity_universal_d {\n    export {\n      captcharatorV1CaptchaEntity_universal_d_CaptchaEntity as CaptchaEntity,\n      captcharatorV1CaptchaEntity_universal_d_CaptchaRequest as CaptchaRequest,\n      captcharatorV1CaptchaEntity_universal_d_CaptchaResponse as CaptchaResponse,\n      captcharatorV1CaptchaEntity_universal_d_Errors as Errors,\n      captcharatorV1CaptchaEntity_universal_d_AssessmentResponse as AssessmentResponse,\n      captcharatorV1CaptchaEntity_universal_d_authorize as authorize,\n      captcharatorV1CaptchaEntity_universal_d_AuthorizeOptions as AuthorizeOptions,\n      captcharatorV1CaptchaEntity_universal_d_authorizeWithoutDomainValidation as authorizeWithoutDomainValidation,\n      captcharatorV1CaptchaEntity_universal_d_AuthorizeWithoutDomainValidationOptions as AuthorizeWithoutDomainValidationOptions,\n      captcharatorV1CaptchaEntity_universal_d_assessment as assessment,\n      captcharatorV1CaptchaEntity_universal_d_AssessmentOptions as AssessmentOptions,\n    };\n  }\n  \n  export { captcharatorV1CaptchaEntity_universal_d as captcha };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-entitlements-v1-entitlement-provider.d.ts",
      "content": "declare module \"interfaces-entitlements-v1-entitlement-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface StartEntitlementRequest {\n      /** Entitlement that was started */\n      pool: Pool;\n  }\n  interface Pool {\n      /**\n       * Pool ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Pool was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Pool was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * PoolDefinition that this entitlement was created from\n       * @readonly\n       */\n      poolDefinitionId?: string;\n      /**\n       * Program definition from which this entitlement was provisioned from\n       * @readonly\n       */\n      programDefinitionKey?: string | null;\n      /**\n       * Package that this entitlement belongs to\n       * @readonly\n       */\n      programKey?: string;\n      /**\n       * Status of entitlement\n       * @readonly\n       */\n      status?: PoolStatus;\n      /** Who is getting the entitlement */\n      beneficiary?: IdentificationData;\n      /** Items and policies how the entitlement works */\n      details?: Details;\n      /**\n       * Name of the entitlement template that this Pool was provisioned from\n       * @readonly\n       */\n      name?: string;\n      /**\n       * ID of the app that this entitlement belongs to\n       * @readonly\n       */\n      appId?: string;\n  }\n  enum PoolStatus {\n      UNDEFINED = \"UNDEFINED\",\n      ACTIVE = \"ACTIVE\",\n      PAUSED = \"PAUSED\",\n      ENDED = \"ENDED\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface Details {\n      /** A set of benefits that share the credit pool and policies of the entitlement */\n      benefits?: Benefit[];\n      /** Settings that control the behavior of the credit pool. If this value is left empty, then the entitlement is unlimited and items should not have prices */\n      creditConfiguration?: CreditConfiguration;\n      /** Defines entitlement eligibility. Default policy for all items, but may be overridden by a specific item */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n      /** Entitlement provider */\n      provider?: Provider;\n  }\n  /** Groups items that share the same credit pool and policies */\n  interface Benefit {\n      /** A unique identifier for the group. May be empty, but only one group can have an empty key */\n      benefitKey?: string;\n      /** A set of items that share the credit pool and policies of the entitlement */\n      items?: Item[];\n      /** Price of the item expressed in credits */\n      price?: string | null;\n      /** Overrides the default policies in Entitlement Data */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n  }\n  /**\n   * Represents anything that an external system exposes as an entitlement. It could be a specific event, a booking session, or even a physical good.\n   * `category` is used to identify the type of the item and id is used to uniquely identify it within the category. The `name` is used for display purposes only.\n   * For example, if the item is a blog post, then the category could be \"post\" and the id could be the post id.\n   */\n  interface Item {\n      /** External item identifier */\n      _id?: string;\n      /** Item category. Discriminates between different types of items. E.g. posts, groups etc. */\n      category?: string | null;\n      /** Name of the item */\n      name?: string | null;\n  }\n  interface PolicyExpression extends PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n      type?: PolicyExpressionType;\n  }\n  /** @oneof */\n  interface PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n  }\n  enum PolicyExpressionType {\n      UNKNOWN = \"UNKNOWN\",\n      OPERATOR_NOT = \"OPERATOR_NOT\",\n      OPERATOR_AND = \"OPERATOR_AND\",\n      OPERATOR_OR = \"OPERATOR_OR\",\n      POLICY = \"POLICY\"\n  }\n  interface PolicyExpressionNot {\n      /** Expression that is negated */\n      expression?: PolicyExpression;\n  }\n  interface PolicyExpressionAnd {\n      /** Expressions that are combined with an `AND` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface PolicyExpressionOr {\n      /** Expressions that are combined with an `OR` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface Policy extends PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: CustomPolicy;\n      /** Policy type */\n      type?: Type;\n  }\n  /** @oneof */\n  interface PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: CustomPolicy;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      RATE_LIMITED = \"RATE_LIMITED\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface FixedIntervalPolicy {\n      /** Weekday that this interval starts from. If this is set then to_week_day must also be set */\n      fromWeekDay?: WeekDay;\n      /** Weekday that this interval ends at. If this is set then from_week_day must also be set */\n      toWeekDay?: WeekDay;\n      /** Hour that this interval starts from. If this is set then to_hour must also be set */\n      fromHour?: number | null;\n      /** Hour that this interval ends at. If this is set then from_hour must also be set */\n      toHour?: number | null;\n      /** Minute that this interval starts from. If this is set then to_minute must also be set */\n      fromMinute?: number | null;\n      /** Minute that this interval ends at. If this is set then from_minute must also be set */\n      toMinute?: number | null;\n  }\n  enum WeekDay {\n      UNKNOWN = \"UNKNOWN\",\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  interface RateLimitedPolicy extends RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Defines how many times it's allowed to consume a item over the period */\n      times?: number;\n      /** Type of period */\n      type?: RateLimitedPolicyType;\n  }\n  /** @oneof */\n  interface RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n  }\n  enum RateLimitedPolicyType {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      PER_CYCLE = \"PER_CYCLE\"\n  }\n  /** Custom policy as implemented by the Entitlement Policy Provider */\n  interface CustomPolicy {\n      /** References a specific custom policy on the provider's system */\n      _id?: string | null;\n      /** Custom policy provider id */\n      appId?: string | null;\n      /** Additional info for this custom policy. It's going to be passed to the policy provider during eligibility checks */\n      additionalData?: Record<string, any> | null;\n  }\n  interface CreditConfiguration {\n      /** The total amount of credits available for this entitlement */\n      amount?: string;\n      /** Unused credits are rolled over to the new cycle */\n      rollOver?: boolean;\n  }\n  interface Provider {\n      /** AppId of a provider defined in a dev center which implements this entitlement custom lifecycle and redeem logic */\n      appId?: string;\n      /** Type of the entitlement, giving information to the SPI implementer so it knows what kind of entitlement it is */\n      type?: string;\n  }\n  interface StartEntitlementResponse {\n  }\n  interface PauseProgramRequest {\n      /** Entitlement that was paused */\n      pool: Pool;\n  }\n  interface PauseProgramResponse {\n  }\n  interface ResumeProgramRequest {\n      /** Entitlement that was resumed */\n      pool: Pool;\n  }\n  interface ResumeProgramResponse {\n  }\n  interface EndProgramRequest {\n      /** Entitlement that was ended */\n      pool: Pool;\n  }\n  interface EndProgramResponse {\n  }\n  interface RedeemBenefitRequest {\n      /** Entitlement that was used for redemption */\n      pool: Pool;\n      /** Reference of the item that is being redeemed */\n      itemReference: ItemReference;\n      /** Number of items that were redeemed */\n      count: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by Policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n  }\n  interface ItemReference {\n      /** Id of the item */\n      _id?: string;\n      /** Item category */\n      category?: string | null;\n  }\n  interface RedeemBenefitResponse {\n  }\n  interface EntitlementConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      /** Types of entitlements that this provider supports. Should be unique */\n      supportedTypes?: string[];\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: ContextIdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentificationDataIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ContextIdentificationData extends ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentificationDataIdentityType;\n  }\n  /** @oneof */\n  interface ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface StartEntitlementOptions {\n      /** Entitlement that was started */\n      pool: Pool;\n  }\n  interface PauseProgramOptions {\n      /** Entitlement that was paused */\n      pool: Pool;\n  }\n  interface ResumeProgramOptions {\n      /** Entitlement that was resumed */\n      pool: Pool;\n  }\n  interface EndProgramOptions {\n      /** Entitlement that was ended */\n      pool: Pool;\n  }\n  interface RedeemBenefitOptions {\n      /** Entitlement that was used for redemption */\n      pool: Pool;\n      /** Reference of the item that is being redeemed */\n      itemReference: ItemReference;\n      /** Number of items that were redeemed */\n      count: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by Policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n  }\n  \n  export { AlternativeUri, Benefit, BusinessError, Context, ContextIdentificationData, ContextIdentificationDataIdOneOf, CreditConfiguration, CustomPolicy, Details, EndProgramOptions, EndProgramRequest, EndProgramResponse, EntitlementConfig, FixedIntervalPolicy, IdentificationData, IdentificationDataIdOneOf, IdentificationDataIdentityType, IdentityType, Item, ItemReference, PauseProgramOptions, PauseProgramRequest, PauseProgramResponse, Policy, PolicyExpression, PolicyExpressionAnd, PolicyExpressionExpressionOneOf, PolicyExpressionNot, PolicyExpressionOr, PolicyExpressionType, PolicyPolicyOneOf, Pool, PoolStatus, Provider, RateLimitedPolicy, RateLimitedPolicyPeriodOneOf, RateLimitedPolicyType, RedeemBenefitOptions, RedeemBenefitRequest, RedeemBenefitResponse, ResumeProgramOptions, ResumeProgramRequest, ResumeProgramResponse, SpiBaseUri, StartEntitlementOptions, StartEntitlementRequest, StartEntitlementResponse, Type, WeekDay };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-table-reservations.v2.d.ts",
      "content": "declare module \"wix-table-reservations.v2\" {\n  /** The reservation domain object. */\n  interface Reservation {\n      /**\n       * Reservation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Status of the reservation.\n       *\n       * Supported values:\n       *\n       * * `HELD`: The reservation is temporary and will expire in 10 minutes if its status isn’t changed. This phase temporarily reserves the required number of seats and tables for a given party size at a chosen time while a customer enters details and/or confirms their reservation request.\n       * * `REQUESTED`: A customer finished requesting this reservation, meaning they have added all necessary details and confirmed the request. Restaurant staff can now either approve or decline the reservation request.\n       * * `DECLINED`: The restaurant’s owner or staff declined the customer’s request to make the reservation.\n       * * `RESERVED`: The reservation is confirmed.\n       * * `SEATED`: The customer is currently occupying the table.\n       * * `CANCELED`: The reservation is canceled.\n       * * `NO_SHOW`: The customer didn't show up for their reservation.\n       * * `FINISHED`: The reservation completed successfully.\n       *\n       *\n       * See the article for this API titled \"The Reservation Lifecycle\" in the menu on the left for more details on each of the statuses, and an explanation of the reservation lifecycle.\n       */\n      status?: Status$1;\n      /**\n       * Reservation source.\n       *\n       * This indicates how the reservation was made.\n       * * `ONLINE` indicates that the customer made the reservation through a website or app.\n       * * `OFFLINE` indicates that the reservation was made by a restaurant employee, for example when a customer calls to make a reservation.\n       * * `WALK-IN` indicates that the customer did not make a reservation beforehand, and the reservation was entered into the system by a restaurant employee when the customer arrived at the restaurant.\n       */\n      source?: Source;\n      /** Reservation details. */\n      details?: Details;\n      /**\n       * Information about the person the reservation is being made for.\n       *\n       * A reservation created with any `source` other than `WALK_IN` requires the `reservation.reservee.phone` and `reservation.reservee.firstName` fields.\n       * Attempting to create a reservation without these fields results in an error.\n       */\n      reservee?: Reservee;\n      /**\n       * Information about the person making the reservation.\n       *\n       * This field is required if the reservation's `status` is anything other than `WALK_IN`.\n       * @readonly\n       */\n      reservedBy?: ReservedBy;\n      /**\n       * Team message.\n       *\n       * A message for the restaurant staff containing any additional information regarding the reservation, such as special requirements for the guests.\n       */\n      teamMessage?: string | null;\n      /**\n       * Date and time the reservation was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the reservation was changed.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Revision number, which increments by 1 each time the reservation is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the reservation.\n       *\n       * Ignored when creating a reservation.\n       * @readonly\n       */\n      revision?: string | null;\n      /** The reason the reservation was declined. */\n      declineReason?: string | null;\n      /**\n       * Migration notes.\n       * @internal\n       * @readonly\n       */\n      migrationNotes?: MigrationNote[];\n      /**\n       * List of reserved tables with corresponding reservation ids. It includes only info of tables from details.tableIds\n       * if that tables are used in other reservations. It's a read only field, that is calculated on the server side.\n       * @internal\n       * @readonly\n       */\n      tablesWithReservationConflicts?: TableWithReservationConflicts[];\n      /**\n       * Payment status.\n       * @readonly\n       */\n      paymentStatus?: PaymentStatus;\n      /** Wix extended fields */\n      extendedFields?: ExtendedFields$1;\n  }\n  enum Status$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** The reservation is held for 10 minutes, during which time the reservee should fill in their details. */\n      HELD = \"HELD\",\n      /** The reservation has been reserved. */\n      RESERVED = \"RESERVED\",\n      /** The reservation has been canceled. */\n      CANCELED = \"CANCELED\",\n      /** The reservation has finished successfully. */\n      FINISHED = \"FINISHED\",\n      /** The reservee didn't arrive. */\n      NO_SHOW = \"NO_SHOW\",\n      /** The reservee occupied the table. */\n      SEATED = \"SEATED\",\n      /** The reservee requested a reservation and is waiting for manual approval. */\n      REQUESTED = \"REQUESTED\",\n      /** The owner declined a reservee's request. */\n      DECLINED = \"DECLINED\",\n      /** The reservation is held for 10 minutes from the created time, during which time the reservee should pay. After payment is completed status will be changed automatically to RESERVED. */\n      PAYMENT_PENDING = \"PAYMENT_PENDING\"\n  }\n  enum Source {\n      UNKNOWN = \"UNKNOWN\",\n      /** The reservation is created by a User. */\n      OFFLINE = \"OFFLINE\",\n      /** The reservation is created by UoU. */\n      ONLINE = \"ONLINE\",\n      /** The reservation is created by a User. It can be created without reservee data. */\n      WALK_IN = \"WALK_IN\"\n  }\n  /** Reservation details. */\n  interface Details {\n      /** ID of the reservation location at which this reservation will be made. */\n      reservationLocationId?: string | null;\n      /** IDs of tables used for this reservation. */\n      tableIds?: string[] | null;\n      /** Start date and time of the reservation. */\n      startDate?: Date;\n      /** End date and time of the reservation. */\n      endDate?: Date;\n      /** Party size. */\n      partySize?: number | null;\n      /**\n       * Whether reservation was created with manual approval.\n       * @internal\n       * @readonly\n       */\n      manualApproval?: boolean | null;\n  }\n  /** The person the reservation is being made for. */\n  interface Reservee {\n      /**\n       * First name.\n       *\n       * This field is required if the reservation's `status` is anything other than `WALK_IN`.\n       */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /**\n       * Phone number.\n       *\n       * This property should begin with a +, followed by the country code, and then the rest of the phone number. For example, `\"+972555555555\"`.\n       *\n       * This field is required if the reservation's `status` is anything other than `WALK_IN`.\n       */\n      phone?: string | null;\n      /** Whether the reservee has given marketing consent. */\n      marketingConsent?: boolean | null;\n      /**\n       * Custom fields for the reservee in key-value pairs.\n       *\n       * The key is the custom field's ID, and the value is the custom field's value. For example, a custom field for allergies might have the key-value pair `f4283b2d-6340-4cf9-bae7-8769e6b62127 : \"Nuts, Seafood\"`.\n       *\n       * Empty fields are not returned.\n       */\n      customFields?: Record<string, any> | null;\n      /**\n       * Contact ID. If a contact with this ID does not exist on the site, one will be created.\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  /** A person making reservation. */\n  interface ReservedBy {\n      /**\n       * Contact ID for the person who made the reservation. If a contact with this ID does not exist on the site, one will be created.\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  /** Migration note. */\n  interface MigrationNote {\n      /**\n       * Name of label.\n       * @internal\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      value?: string | null;\n  }\n  /** Table with reservation conflicts. */\n  interface TableWithReservationConflicts {\n      /** Table id. */\n      tableId?: string;\n      /** List of reservation ids. */\n      reservationIds?: string[];\n  }\n  enum PaymentStatus {\n      UNKNOWN = \"UNKNOWN\",\n      /** A reservation is free of charge. */\n      FREE = \"FREE\",\n      /** A payment is not received yet. */\n      NOT_PAID = \"NOT_PAID\",\n      /** A corresponding to reservation order was fully payed. */\n      PAID = \"PAID\",\n      /** A corresponding to reservation order was refunded, but refund amount is less than order total price. */\n      PARTIALLY_REFUNDED = \"PARTIALLY_REFUNDED\",\n      /** A corresponding to reservation order was fully refunded. The refund amount equals total price. */\n      FULLY_REFUNDED = \"FULLY_REFUNDED\",\n      /** A corresponding to reservation order was partially payed. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\"\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ReservationDelayedDomainEvent extends ReservationDelayedDomainEventBodyTypeOneOf {\n      /** Body of a created reservation event. */\n      reservationCreated?: ReservationCreated;\n      /** Body of a updated reservation event. */\n      reservationUpdated?: ReservationUpdated;\n      /** Body of a canceled reservation event. */\n      reservationCanceled?: ReservationDelayedDomainEventReservationCanceled;\n  }\n  /** @oneof */\n  interface ReservationDelayedDomainEventBodyTypeOneOf {\n      /** Body of a created reservation event. */\n      reservationCreated?: ReservationCreated;\n      /** Body of a updated reservation event. */\n      reservationUpdated?: ReservationUpdated;\n      /** Body of a canceled reservation event. */\n      reservationCanceled?: ReservationDelayedDomainEventReservationCanceled;\n  }\n  interface ReservationCreated {\n      /** Created reservation. */\n      createdReservation?: Reservation;\n  }\n  interface ReservationUpdated {\n      /** Updated reservation. */\n      updatedReservation?: Reservation;\n      /** Modified fields of previous entity */\n      modifiedFields?: Record<string, any>;\n  }\n  interface ReservationDelayedDomainEventReservationCanceled {\n      /** Canceled reservation. */\n      canceledReservation?: Reservation;\n  }\n  interface CreateReservationRequest {\n      /** Reservation details. */\n      reservation: Reservation;\n      /**\n       * If creation is forced.\n       * @internal\n       * @deprecated\n       * @replacedBy ignore_table_combination_conflicts\n       * @targetRemovalDate 2023-11-01\n       */\n      force?: boolean;\n      /**\n       * Ignore table combination conflicts of the types included in the array. This ensures that the reservation is created even if the given conflicts would normally prevent it.\n       *\n       * Possible values:\n       * * `\"RESERVED\"`: One or more of the chosen tables are already reserved.\n       * * `\"TOO_BIG\"`: The party is too big for the selected table.\n       * * `\"TOO_SMALL\"`: The party is too small for the selected table.\n       * * `\"OFFLINE_ONLY\"`: The restaurant does not allow online reservations.\n       */\n      ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];\n      /**\n       * Ignored reservation location conflicts of the types included in the array. This ensures that the reservation is created even if the given conflicts would normally prevent it.\n       *\n       * Possible values:\n       * * `\"PARTY_PACING\"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.\n       * * `\"SEAT_PACING\"`: The required number of seats are unavailable according to seat pacing settings.\n       */\n      ignoreReservationLocationConflicts?: Type$1[];\n  }\n  enum TableCombinationConflictType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      RESERVED = \"RESERVED\",\n      TOO_BIG = \"TOO_BIG\",\n      TOO_SMALL = \"TOO_SMALL\",\n      OFFLINE_ONLY = \"OFFLINE_ONLY\"\n  }\n  enum Type$1 {\n      UNKNOWN = \"UNKNOWN\",\n      PARTY_PACING = \"PARTY_PACING\",\n      SEAT_PACING = \"SEAT_PACING\"\n  }\n  interface CreateReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface ReservationDetailsConflicts {\n      /** Table combinations conflicts. */\n      tableCombinationConflicts?: TableCombinationConflict$1[];\n      /** Reservation location conflicts. */\n      reservationLocationConflicts?: ReservationLocationConflict$1[];\n  }\n  interface TableCombinationConflict$1 {\n      /** Conflict type. */\n      type?: TableCombinationConflictType$1;\n  }\n  interface ReservationLocationConflict$1 {\n      /** Reservation location conflict type. */\n      type?: Type$1;\n  }\n  interface GetReservationRequest {\n      /** Reservation ID. */\n      reservationId: string;\n      /**\n       * Predefined sets of fields to return.\n       *\n       * Supported values: `PUBLIC`, `FULL`.\n       *\n       * The 'FULL` fieldset can only be retrieved by users with the `MANAGE RESERVATIONS (MEDIUM)` or `MANAGE RESERVATIONS (FULL)` permission scopes.\n       * @internal\n       * @deprecated\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2023-11-01\n       */\n      fieldSet?: Set$1;\n      /**\n       * Array of named, predefined sets of projected fields to be returned.\n       *\n       * Supported values: `PUBLIC`, `FULL`.\n       *\n       * Calling this method with `fieldsets` set to `FULL` requires additional permissions. See this API's Introduction article for more information.\n       */\n      fieldsets?: Set$1[];\n  }\n  enum Set$1 {\n      PUBLIC = \"PUBLIC\",\n      FULL = \"FULL\"\n  }\n  interface GetReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface UpdateReservationRequest {\n      /** Reservation information to update. */\n      reservation: Reservation;\n      /**\n       * Field mask.\n       * @internal\n       */\n      mask?: string[];\n      /**\n       * If update should be forced.\n       * @internal\n       * @deprecated\n       * @replacedBy ignore_table_combination_conflicts\n       * @targetRemovalDate 2023-11-01\n       */\n      force?: boolean;\n      /**\n       * Ignore table combination conflicts of the types included in the array. This ensures that the reservation is updated even if the given conflicts would normally prevent it.\n       *\n       * Possible values:\n       * * `\"RESERVED\"`: One or more of the chosen tables are already reserved.\n       * * `\"TOO_BIG\"`: The party is too big for the selected table.\n       * * `\"TOO_SMALL\"`: The party is too small for the selected table.\n       * * `\"OFFLINE_ONLY\"`: The restaurant does not allow online reservations.\n       */\n      ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];\n      /**\n       * Ignored reservation location conflicts of the types included in the array. This ensures that the reservation is updated even if the given conflicts would normally prevent it.\n       *\n       * Possible values:\n       * * `\"PARTY_PACING\"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.\n       * * `\"SEAT_PACING\"`: The required number of seats are unavailable according to seat pacing settings.\n       */\n      ignoreReservationLocationConflicts?: Type$1[];\n  }\n  interface UpdateReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface ReservationDataUpdated {\n      /** Reserved reservation. */\n      reservation?: Reservation;\n      /** Old reservation. */\n      oldReservation?: Reservation;\n  }\n  interface CreateHeldReservationRequest {\n      /** Held reservation information to update. */\n      reservationDetails: HeldReservationDetails;\n  }\n  /** Reservation details when create reservation in status HELD. */\n  interface HeldReservationDetails {\n      /** ID of the reservation location where the reservation is made. */\n      reservationLocationId?: string | null;\n      /** Start date and time of the reservation. */\n      startDate?: Date;\n      /** Party size. */\n      partySize?: number | null;\n  }\n  interface CreateHeldReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface ReserveReservationRequest {\n      /** Reservation ID. */\n      reservationId: string;\n      /** Reservee details. */\n      reservee: Reservee;\n      /**\n       * Revision number.\n       *\n       * Include the existing `revision` to prevent conflicting updates to reservations.\n       */\n      revision: string | null;\n  }\n  interface ReserveReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface CancelReservationRequest {\n      /** Reservation ID. */\n      reservationId: string;\n      /**\n       * Revision number.\n       *\n       * Include the existing `revision` to prevent conflicting updates to reservations.\n       */\n      revision: string | null;\n      /**\n       * The phone number that was provided when the reservation was created.\n       *\n       * This is required for reservations with any `source` other than `WALK_IN`.\n       *\n       * This requirement provides additional security by ensuring that the canceling party knows both the reservation's `reservationId` and the reservee's `phone`.\n       */\n      phone?: string | null;\n  }\n  interface CancelReservationResponse {\n      /** Reservation. */\n      reservation?: Reservation;\n  }\n  interface ReservationCanceled {\n      /** Reserved reservation. */\n      reservation?: Reservation;\n  }\n  interface DeleteReservationRequest {\n      /** Reservation ID. */\n      reservationId: string;\n  }\n  interface DeleteReservationResponse {\n  }\n  interface ListReservationsRequest {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      paging?: CursorPaging$1;\n      /** Defines how reservations in the response are sorted. */\n      sort?: Sorting$1;\n      /** Only reservations starting after this date are returned. */\n      startDateFrom?: Date;\n      /** Only reservations starting before this date are returned. */\n      startDateTo?: Date;\n      /**\n       * Only reservations with this status are returned.\n       *\n       * * `HELD`: The reservation is temporary and will expire in 10 minutes if its status isn’t changed. This phase temporarily reserves the required number of seats and tables for a given party size at a chosen time while a customer enters details and/or confirms their reservation request.\n       * * `REQUESTED`: A customer finished requesting this reservation, meaning they have added all necessary details and confirmed the request. Restaurant staff can now either approve or decline the reservation request.\n       * * `DECLINED`: The restaurant’s owner or staff declined the customer’s request to make the reservation.\n       * * `RESERVED`: The reservation is confirmed.\n       * * `SEATED`: The customer is currently occupying the table.\n       * * `CANCELED`: The reservation is canceled.\n       * * `NO_SHOW`: The customer didn't show up for their reservation.\n       * * `FINISHED`: The reservation completed successfully.\n       */\n      status?: Status$1;\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       *\n       * Use `ASC` for ascending order or `DESC` for descending order. Defaults to `ASC`.\n       */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface ListReservationsResponse {\n      /** List of reservations. */\n      reservations?: Reservation[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryReservationsRequest {\n      /** Query to select reservations. */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       *\n       * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservations/sorting-filtering-and-search) article.\n       * To learn how to query reservations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface QueryReservationsResponse {\n      /** List of reservations. */\n      reservations?: Reservation[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface SearchReservationsRequest {\n      /** Search query. */\n      search: CursorSearch;\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /** Cursor pointing to a page of results. Can't be used together with 'paging'. 'cursorPaging.cursor' can't be used together with 'filter' or 'sort'. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservations/sorting-filtering-and-search) article.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /**\n       * A search method for grouping data into various categories (facets) and providing summaries for each category.\n       * For example, use aggregations to allow site visitors to narrow down their search results by selecting specific reservation statuses, party sizes, etc.\n       */\n      aggregations?: Aggregation[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n      /** Time zone to adjust date-time-based filters and aggregations. ISO 8601 or IANA time zone database format. */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /** Cursor pointing to a page of results. Can't be used together with 'paging'. 'cursorPaging.cursor' can't be used together with 'filter' or 'sort'. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Aggregation extends AggregationKindOneOf {\n      /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n      value?: ValueAggregation;\n      /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n      range?: RangeAggregation;\n      /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n      scalar?: ScalarAggregation;\n      /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n      dateHistogram?: DateHistogramAggregation;\n      /**\n       * A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy.\n       * For example, to get the number of reservations by party size for each week, first perform a date histogram aggregation on `details.startDate` with the interval `WEEK`, and a second value aggregation on `details.partySize`.\n       */\n      nested?: NestedAggregation;\n      name?: string | null;\n      type?: AggregationType;\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n      value?: ValueAggregation;\n      /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n      range?: RangeAggregation;\n      /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n      scalar?: ScalarAggregation;\n      /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n      dateHistogram?: DateHistogramAggregation;\n      /**\n       * A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy.\n       * For example, to get the number of reservations by party size for each week, first perform a date histogram aggregation on `details.startDate` with the interval `WEEK`, and a second value aggregation on `details.partySize`.\n       */\n      nested?: NestedAggregation;\n  }\n  interface RangeBucket {\n      /** Inclusive lower bound of the range. Required if `to` is not provided. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if `from` is not provided. */\n      to?: number | null;\n  }\n  enum SortType {\n      /** Sort by number of matches. */\n      COUNT = \"COUNT\",\n      /** Sort by value of the field alphabetically. */\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection {\n      /** Sort in descending order. */\n      DESC = \"DESC\",\n      /** Sort in ascending order. */\n      ASC = \"ASC\"\n  }\n  enum MissingValues {\n      /** Exclude missing values from the aggregation results */\n      EXCLUDE = \"EXCLUDE\",\n      /** Include missing values in the aggregation results */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions {\n      /** Specify a custom name for the bucket containing the missing values. Defaults are \"N/A\" for strings, \"0\" for integers, and \"false\" for booleans. */\n      addToBucket?: string;\n  }\n  enum ScalarType {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values. */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value. */\n      MIN = \"MIN\",\n      /** Maximum value. */\n      MAX = \"MAX\",\n      /** Sum of values. */\n      SUM = \"SUM\",\n      /** Average of values. */\n      AVG = \"AVG\"\n  }\n  enum NestedAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation where you can define a set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface ValueAggregation extends ValueAggregationOptionsOneOf {\n      /** Options for including missing values in results. */\n      includeOptions?: IncludeMissingValuesOptions;\n      /** Whether to sort by the number of matches or the value of the field. */\n      sortType?: SortType;\n      /** Whether to sort in ascending or descending order. */\n      sortDirection?: SortDirection;\n      /**\n       * Number of aggregation results to return.\n       * Min: `1`\n       * Max: `250`\n       * Default: `10`\n       */\n      limit?: number | null;\n      /**\n       * Whether missing values should be included or excluded from the aggregation results.\n       * Default: `EXCLUDE`.\n       */\n      missingValues?: MissingValues;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf {\n      /** Options for including missing values in results. */\n      includeOptions?: IncludeMissingValuesOptions;\n  }\n  interface RangeAggregation {\n      /** List of range buckets. During aggregation each entity will be placed in the first bucket its value falls into based on the provided range bounds. */\n      buckets?: RangeBucket[];\n  }\n  interface ScalarAggregation {\n      /** Operation type for the scalar aggregation. */\n      type?: ScalarType;\n  }\n  interface DateHistogramAggregation {\n      /** Interval for date histogram aggregation. */\n      interval?: Interval;\n  }\n  enum Interval {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      YEAR = \"YEAR\",\n      MONTH = \"MONTH\",\n      WEEK = \"WEEK\",\n      DAY = \"DAY\",\n      HOUR = \"HOUR\",\n      MINUTE = \"MINUTE\",\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n      value?: ValueAggregation;\n      /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n      range?: RangeAggregation;\n      /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n      scalar?: ScalarAggregation;\n      /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n      dateHistogram?: DateHistogramAggregation;\n      /** Aggregation name displayed in the return. */\n      name?: string | null;\n      /** Type of aggregation to perform. */\n      type?: NestedAggregationType;\n      /** Field to aggregate by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n      value?: ValueAggregation;\n      /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n      range?: RangeAggregation;\n      /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n      scalar?: ScalarAggregation;\n      /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n      dateHistogram?: DateHistogramAggregation;\n  }\n  enum AggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation where you can define a set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Multi-level aggregation, where each next aggregation is nested within the previous one. */\n      NESTED = \"NESTED\"\n  }\n  interface NestedAggregation {\n      /** Flattened list of aggregations, where each aggregation is nested within the previous one. */\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface SearchDetails {\n      /** Boolean search mode. Defines how separate search terms in the `expression` are combined. */\n      mode?: Mode$1;\n      /** Search term or expression. */\n      expression?: string | null;\n      /**\n       * Fields to search in.\n       *\n       * Searchable fields are `reservee.firstName`, `reservee.lastName`, `reservee.phone`, and `reservee.email`.\n       *\n       * If the array is empty, all fields are searched.\n       */\n      fields?: string[];\n      /**\n       * Whether to allow the search function to automatically correct typos or minor mistakes in the search expression.\n       * The search function uses an algorithm to find results that are close to what the site visitor typed.\n       */\n      fuzzy?: boolean;\n  }\n  enum Mode$1 {\n      /** Returns instances where any terms in the expression occur. */\n      OR = \"OR\",\n      /** Returns instances where all the terms in the expression occur. */\n      AND = \"AND\"\n  }\n  interface SearchReservationsResponse {\n      /** List of Reservations. */\n      reservations?: Reservation[];\n      /** Cursor paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$1;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface AggregationData {\n      /** List of the aggregated data results. */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number;\n  }\n  interface RangeAggregationResult {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in the range. */\n      count?: number;\n  }\n  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {\n      /** List of the value aggregation results. */\n      values?: ValueResults;\n      /** List of the range aggregation results. */\n      ranges?: RangeResults;\n      /** List of the scalar aggregation results. */\n      scalar?: ScalarResult;\n      /** Aggregation name defined in the request. */\n      name?: string;\n      /** Type of aggregation performed. */\n      type?: AggregationType;\n      /** Field the data was aggregated by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf {\n      /** List of the value aggregation results. */\n      values?: ValueResults;\n      /** List of the range aggregation results. */\n      ranges?: RangeResults;\n      /** List of the scalar aggregation results. */\n      scalar?: ScalarResult;\n  }\n  interface ValueResults {\n      /** List of value aggregations. */\n      results?: ValueAggregationResult[];\n  }\n  interface RangeResults {\n      /** List of ranges returned in same order as requested. */\n      results?: RangeAggregationResult[];\n  }\n  interface ScalarResult {\n      /** Type of scalar aggregation. */\n      type?: ScalarType;\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedValueAggregationResult {\n      value?: string;\n      nestedResults?: NestedAggregationResults;\n  }\n  interface ValueResult {\n      /** Value of the field. */\n      value?: string;\n      /** Count of entities with this value. */\n      count?: number | null;\n  }\n  interface RangeResult {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in the range. */\n      count?: number | null;\n  }\n  interface NestedResultsScalarResult {\n      /** Scalar aggregation results. */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation results. */\n      value?: ValueResult;\n      /** Range aggregation results. */\n      range?: RangeResult;\n      /** Scalar aggregation results. */\n      scalar?: NestedResultsScalarResult;\n      /** Date histogram aggregation results. */\n      dateHistogram?: ValueResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation results. */\n      value?: ValueResult;\n      /** Range aggregation results. */\n      range?: RangeResult;\n      /** Scalar aggregation results. */\n      scalar?: NestedResultsScalarResult;\n      /** Date histogram aggregation results. */\n      dateHistogram?: ValueResult;\n  }\n  interface Results {\n      /** List of nested aggregation results. */\n      results?: Record<string, NestedResultValue>;\n  }\n  interface DateHistogramResult {\n      /** Date in ISO 8601 format. */\n      value?: string;\n      /** Count of entities in the interval. */\n      count?: number;\n  }\n  /** deprecated */\n  interface GroupByValueResults {\n      results?: NestedValueAggregationResult[];\n  }\n  interface DateHistogramResults {\n      /** List of date histogram aggregations. */\n      results?: DateHistogramResult[];\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form.\n   * Aggregations in the resulting array are keyed by the requested aggregation `name`.\n   */\n  interface NestedResults {\n      /** List of nested aggregation results. */\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: ScalarResult;\n      /** deprecated */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n      /** Aggregation name defined in the request. */\n      name?: string;\n      /** Type of aggregation that was performed. */\n      type?: AggregationType;\n      /** Field the data was aggregated by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: ScalarResult;\n      /** deprecated */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      /** Information about the reservation that was created and event metadata. */\n      createdEvent?: EntityCreatedEvent$1;\n      /** Information about the reservation that was updated and event metadata. */\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      /** Information about the reservation that was created in JSON format. */\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface RemoveReservationMigrationNotesRequest {\n      /** Reservation ID. */\n      reservationId?: string;\n      /** Revision. */\n      revision?: string;\n  }\n  interface RemoveReservationMigrationNotesResponse {\n      reservation?: Reservation;\n  }\n  interface RawHttpRequest {\n      body?: Uint8Array;\n      pathParams?: PathParametersEntry[];\n      queryParams?: QueryParametersEntry[];\n      headers?: HeadersEntry[];\n      method?: string;\n      rawPath?: string;\n      rawQuery?: string;\n  }\n  interface PathParametersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface QueryParametersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface HeadersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface RawHttpResponse {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry[];\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new reservation.\n   *\n   * `createReservation()` accepts and requires different fields depending on the `status` provided and your permissions.\n   *\n   * **Status and source**\n   *\n   * If a `status` is not provided, it will be set to:\n   * * `RESERVED` if manual approval is not required for confirmation\n   * * `REQUESTED` if manual approval is required for confirmation.\n   *\n   * A reservation created with any `source` other than `WALK_IN` requires the `reservation.reservee.phone` and `reservation.reservee.firstName` fields.\n   * Attempting to create a reservation without these fields will result in an error.\n   *\n   * **Permissions**\n   *\n   * Including the fields `status`, `source`, `reservation.details.tableIds`, `reservation.details.endDate`, `ignoreReservationLocationConflicts`, or `ignoreTableCombinationConflicts` in the request requires additional permissions. See this API's Introduction article for more information.\n   *\n   * If `source` is not provided, its value is set depending on the permissions of the user making the call. See this API's Introduction article for more information.\n   *\n   *\n   *  > **Note:** `createReservation()` requires all details of the reservation upfront. The process of creating a reservation can be broken up using `createHeldReservation`.  `createHeldReservation` creates a temporary reservation that expires automatically unless it is completed with the addition of more details using `reserveReservation()`.\n   * @param reservation - Reservation details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reservation\n   * @requiredField reservation.details\n   * @requiredField reservation.details.partySize\n   * @requiredField reservation.details.reservationLocationId\n   * @requiredField reservation.details.startDate\n   * @param options - Options for creating the reservation.\n   * @returns Reservation.\n   */\n  function createReservation(reservation: Reservation, options?: CreateReservationOptions): Promise<Reservation>;\n  interface CreateReservationOptions {\n      /**\n       * If creation is forced.\n       * @internal\n       * @deprecated\n       * @replacedBy ignore_table_combination_conflicts\n       * @targetRemovalDate 2023-11-01\n       */\n      force?: boolean;\n      /**\n       * Ignore table combination conflicts of the types included in the array. This ensures that the reservation is created even if the given conflicts would normally prevent it.\n       *\n       * Possible values:\n       * * `\"RESERVED\"`: One or more of the chosen tables are already reserved.\n       * * `\"TOO_BIG\"`: The party is too big for the selected table.\n       * * `\"TOO_SMALL\"`: The party is too small for the selected table.\n       * * `\"OFFLINE_ONLY\"`: The restaurant does not allow online reservations.\n       */\n      ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];\n      /**\n       * Ignored reservation location conflicts of the types included in the array. This ensures that the reservation is created even if the given conflicts would normally prevent it.\n       *\n       * Possible values:\n       * * `\"PARTY_PACING\"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.\n       * * `\"SEAT_PACING\"`: The required number of seats are unavailable according to seat pacing settings.\n       */\n      ignoreReservationLocationConflicts?: Type$1[];\n  }\n  /**\n   * Retrieves a reservation.\n   *\n   * Calling this method with `fieldsets` set to `FULL` requires additional permissions. See this API's Introduction article for more information.\n   * @param reservationId - Reservation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reservationId\n   * @returns Reservation.\n   */\n  function getReservation(reservationId: string, options?: GetReservationOptions): Promise<Reservation>;\n  interface GetReservationOptions {\n      /**\n       * Predefined sets of fields to return.\n       *\n       * Supported values: `PUBLIC`, `FULL`.\n       *\n       * The 'FULL` fieldset can only be retrieved by users with the `MANAGE RESERVATIONS (MEDIUM)` or `MANAGE RESERVATIONS (FULL)` permission scopes.\n       * @internal\n       * @deprecated\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2023-11-01\n       */\n      fieldSet?: Set$1;\n      /**\n       * Array of named, predefined sets of projected fields to be returned.\n       *\n       * Supported values: `PUBLIC`, `FULL`.\n       *\n       * Calling this method with `fieldsets` set to `FULL` requires additional permissions. See this API's Introduction article for more information.\n       */\n      fieldsets?: Set$1[];\n  }\n  /**\n   * Updates a reservation.\n   *\n   * Including the fields `status`, `source`, `reservation.details.tableIds`, `reservation.details.endDate`, `ignoreReservationLocationConflicts`, and `ignoreTableCombinationConflicts` in the request requires additional permissions. See this API's Introduction article for more information.\n   *\n   * Each time the reservation is updated, revision increments by 1. The existing revision must be included when updating the reservation. This ensures you're working with the latest reservation information, and it prevents unintended overwrites.\n   * @param _id - Reservation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField reservation\n   * @requiredField reservation.revision\n   * @param options - Options for updating the reservation.\n   * @param reservation - Reservation information to update.\n   * @adminMethod\n   * @returns Reservation.\n   */\n  function updateReservation(_id: string | null, reservation: UpdateReservation, options?: UpdateReservationOptions): Promise<Reservation>;\n  interface UpdateReservation {\n      /**\n       * Reservation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Status of the reservation.\n       *\n       * See the article for this API titled \"The Reservation Lifecycle\" in the menu on the left for more details on each of the statuses, and an explanation of the reservation lifecycle.\n       */\n      status?: Status$1;\n      /**\n       * Reservation source.\n       *\n       * This indicates how the reservation was made.\n       * * `ONLINE` indicates that the customer made the reservation through a website or app.\n       * * `OFFLINE` indicates that the reservation was made by a restaurant employee, for example when a customer calls to make a reservation.\n       * * `WALK-IN` indicates that the customer did not make a reservation beforehand, and the reservation was entered into the system by a restaurant employee when the customer arrived at the restaurant.\n       */\n      source?: Source;\n      /** Reservation details. */\n      details?: Details;\n      /**\n       * Information about the person the reservation is being made for.\n       *\n       * A reservation created with any `source` other than `WALK_IN` requires the `reservation.reservee.phone` and `reservation.reservee.firstName` fields.\n       * Attempting to create a reservation without these fields results in an error.\n       */\n      reservee?: Reservee;\n      /**\n       * Information about the person making the reservation.\n       *\n       * This field is required if the reservation's `status` is anything other than `WALK_IN`.\n       * @readonly\n       */\n      reservedBy?: ReservedBy;\n      /**\n       * Team message.\n       *\n       * A message for the restaurant staff containing any additional information regarding the reservation, such as special requirements for the guests.\n       */\n      teamMessage?: string | null;\n      /**\n       * Date and time the reservation was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the reservation was changed.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Revision number, which increments by 1 each time the reservation is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the reservation.\n       *\n       * Ignored when creating a reservation.\n       * @readonly\n       */\n      revision?: string | null;\n      /** The reason the reservation was declined. */\n      declineReason?: string | null;\n      /**\n       * Migration notes.\n       * @internal\n       * @readonly\n       */\n      migrationNotes?: MigrationNote[];\n      /**\n       * List of reserved tables with corresponding reservation ids. It includes only info of tables from details.tableIds\n       * if that tables are used in other reservations. It's a read only field, that is calculated on the server side.\n       * @internal\n       * @readonly\n       */\n      tablesWithReservationConflicts?: TableWithReservationConflicts[];\n      /**\n       * Payment status.\n       * @readonly\n       */\n      paymentStatus?: PaymentStatus;\n      /** Wix extended fields */\n      extendedFields?: ExtendedFields$1;\n  }\n  interface UpdateReservationOptions {\n      /**\n       * Field mask.\n       * @internal\n       */\n      mask?: string[];\n      /**\n       * If update should be forced.\n       * @internal\n       * @deprecated\n       * @replacedBy ignore_table_combination_conflicts\n       * @targetRemovalDate 2023-11-01\n       */\n      force?: boolean;\n      /**\n       * Ignore table combination conflicts of the types included in the array. This ensures that the reservation is updated even if the given conflicts would normally prevent it.\n       *\n       * Possible values:\n       * * `\"RESERVED\"`: One or more of the chosen tables are already reserved.\n       * * `\"TOO_BIG\"`: The party is too big for the selected table.\n       * * `\"TOO_SMALL\"`: The party is too small for the selected table.\n       * * `\"OFFLINE_ONLY\"`: The restaurant does not allow online reservations.\n       */\n      ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];\n      /**\n       * Ignored reservation location conflicts of the types included in the array. This ensures that the reservation is updated even if the given conflicts would normally prevent it.\n       *\n       * Possible values:\n       * * `\"PARTY_PACING\"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.\n       * * `\"SEAT_PACING\"`: The required number of seats are unavailable according to seat pacing settings.\n       */\n      ignoreReservationLocationConflicts?: Type$1[];\n  }\n  /**\n   * Creates a new temporary reservation and holds it for the customer for 10 minutes.\n   *\n   * Creates a new reservation with the `HELD` status. `HELD` reservations are intended to reserve seats and tables for a party in a selected time slot while they enter further reservation details, such as names and contact information. Reservations with the `HELD` status are only valid for 10 minutes. Trying to change a `HELD` reservation’s status after 10 minutes returns an error.\n   *\n   * You cannot call `updateReservation()` to change a reservation’s status from `HELD`. Trying to do so returns an error. Instead, you should use `reserveReservation()`.\n   *\n   * If you do not wish to have `HELD` reservations in your flow, you can create a reservation with all required details using `createReservation()`.\n   *\n   * @param reservationDetails - Held reservation information to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reservationDetails\n   * @requiredField reservationDetails.partySize\n   * @requiredField reservationDetails.reservationLocationId\n   * @requiredField reservationDetails.startDate\n   */\n  function createHeldReservation(reservationDetails: HeldReservationDetails): Promise<CreateHeldReservationResponse>;\n  /**\n   * Reserves or requests a held reservation.\n   *\n   * Held reservations are temporary reservations with the `HELD` status created by `createHeldReservation()`.\n   *\n   * They are intended to reserve seats and tables for a party in a selected time slot while they enter further reservation details, such as names and contact information. Reservations with the `HELD` status are only valid for 10 minutes. Trying to call `Reserve Reservation` with a held reservation older than 10 minutes returns an error.\n   *\n   * `Reserve Reservation` changes a reservation's `HELD` status to:\n   * * `RESERVED` if the reservation's reservation location does not require manual approval.\n   * * `REQUESTED` if the reservation's reservation location requires manual approval.\n   * @param reservationId - Reservation ID.\n   * @param reservee - Reservee details.\n   * @param revision - Revision number.\n   *\n   * Include the existing `revision` to prevent conflicting updates to reservations.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reservationId\n   * @requiredField reservee\n   * @requiredField reservee.firstName\n   * @requiredField reservee.phone\n   * @requiredField revision\n   */\n  function reserveReservation(reservationId: string, reservee: Reservee, revision: string | null): Promise<ReserveReservationResponse>;\n  /**\n   * Cancels a reservation.\n   *\n   * Sets the reservation status to `CANCELED`.\n   * @param reservationId - Reservation ID.\n   * @param revision - Revision number.\n   *\n   * Include the existing `revision` to prevent conflicting updates to reservations.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reservationId\n   * @requiredField revision\n   * @param options - Options for canceling the reservation.\n   */\n  function cancelReservation(reservationId: string, revision: string | null, options?: CancelReservationOptions): Promise<CancelReservationResponse>;\n  interface CancelReservationOptions {\n      /**\n       * The phone number that was provided when the reservation was created.\n       *\n       * This is required for reservations with any `source` other than `WALK_IN`.\n       *\n       * This requirement provides additional security by ensuring that the canceling party knows both the reservation's `reservationId` and the reservee's `phone`.\n       */\n      phone?: string | null;\n  }\n  /**\n   * Deletes a reservation. Only reservations with the `HELD` status can be deleted.\n   * @param reservationId - Reservation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reservationId\n   */\n  function deleteReservation(reservationId: string): Promise<void>;\n  /**\n   * Retrieves a list of up to 100 reservations.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options for listing the reservations.\n   * @adminMethod\n   */\n  function listReservations(options?: ListReservationsOptions): Promise<ListReservationsResponse>;\n  interface ListReservationsOptions {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      paging?: CursorPaging$1;\n      /** Defines how reservations in the response are sorted. */\n      sort?: Sorting$1;\n      /** Only reservations starting after this date are returned. */\n      startDateFrom?: Date;\n      /** Only reservations starting before this date are returned. */\n      startDateTo?: Date;\n      /**\n       * Only reservations with this status are returned.\n       *\n       * * `HELD`: The reservation is temporary and will expire in 10 minutes if its status isn’t changed. This phase temporarily reserves the required number of seats and tables for a given party size at a chosen time while a customer enters details and/or confirms their reservation request.\n       * * `REQUESTED`: A customer finished requesting this reservation, meaning they have added all necessary details and confirmed the request. Restaurant staff can now either approve or decline the reservation request.\n       * * `DECLINED`: The restaurant’s owner or staff declined the customer’s request to make the reservation.\n       * * `RESERVED`: The reservation is confirmed.\n       * * `SEATED`: The customer is currently occupying the table.\n       * * `CANCELED`: The reservation is canceled.\n       * * `NO_SHOW`: The customer didn't show up for their reservation.\n       * * `FINISHED`: The reservation completed successfully.\n       */\n      status?: Status$1;\n  }\n  /**\n   * Creates a query to retrieve a list of reservations.\n   *\n   * The `queryReservations()` function builds a query to retrieve a list of reservations and returns a [`ReservationsQueryBuilder`](/reservations/reservations-query-builder) object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [find()](/reservations/reservations-query-builder/find) function.\n   *\n   * You can refine the query by chaining `ReservationsQueryBuilder` functions onto the query. `ReservationsQueryBuilder` functions enable you to filter, sort, and control the results that `queryReservations()` returns.\n   *\n   * `queryReservations()` runs with the following `ReservationsQueryBuilder` defaults, which you can override:\n   *\n   * * [`skip(0)`](/reservations/reservations-query-builder/skip)\n   * * [`limit(50)`](/reservations/reservations-query-builder/limit)\n   * * [`descending('_createdDate')`](/reservations/reservations-query-builder/descending)\n   *\n   * The following `ReservationsQueryBuilder` functions are supported for `queryReservations()`. For a full description of the reservation object, see the object returned for the [`items`](/reservations/reservations-query-builder/items) property in [`ReservationsQueryResult`](/reservations/reservations-query-result).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId TABLE_RESERVATIONS.RESERVATION_READ_FULL\n   * @adminMethod\n   */\n  function queryReservations(): ReservationsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReservationsQueryResult extends QueryCursorResult$1 {\n      items: Reservation[];\n      query: ReservationsQueryBuilder;\n      next: () => Promise<ReservationsQueryResult>;\n      prev: () => Promise<ReservationsQueryResult>;\n  }\n  interface ReservationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'status' | 'details.startDate', value: any) => ReservationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'status' | 'details.startDate', value: any) => ReservationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'details.startDate', value: any) => ReservationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'details.startDate', value: any) => ReservationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'details.startDate', value: any) => ReservationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'details.startDate', value: any) => ReservationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'status' | 'details.startDate', value: any) => ReservationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'details.startDate'>) => ReservationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'details.startDate'>) => ReservationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReservationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReservationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReservationsQueryResult>;\n  }\n  /**\n   * Use this endpoint to search the fields of the table reservations on a site for a given expression.\n   *\n   * You can also use this endpoint to perform data aggregations on a site's table reservation fields.\n   * For a detailed list of supported operations, see the [Sorting, Filtering, and Search](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservations/sorting-filtering-and-search) article.\n   * @param search - Search query.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField search\n   * @adminMethod\n   */\n  function searchReservations(search: CursorSearch): Promise<SearchReservationsResponse>;\n  \n  type tableReservationsV1Reservation_universal_d_Reservation = Reservation;\n  type tableReservationsV1Reservation_universal_d_Source = Source;\n  const tableReservationsV1Reservation_universal_d_Source: typeof Source;\n  type tableReservationsV1Reservation_universal_d_Details = Details;\n  type tableReservationsV1Reservation_universal_d_Reservee = Reservee;\n  type tableReservationsV1Reservation_universal_d_ReservedBy = ReservedBy;\n  type tableReservationsV1Reservation_universal_d_MigrationNote = MigrationNote;\n  type tableReservationsV1Reservation_universal_d_TableWithReservationConflicts = TableWithReservationConflicts;\n  type tableReservationsV1Reservation_universal_d_PaymentStatus = PaymentStatus;\n  const tableReservationsV1Reservation_universal_d_PaymentStatus: typeof PaymentStatus;\n  type tableReservationsV1Reservation_universal_d_ReservationDelayedDomainEvent = ReservationDelayedDomainEvent;\n  type tableReservationsV1Reservation_universal_d_ReservationDelayedDomainEventBodyTypeOneOf = ReservationDelayedDomainEventBodyTypeOneOf;\n  type tableReservationsV1Reservation_universal_d_ReservationCreated = ReservationCreated;\n  type tableReservationsV1Reservation_universal_d_ReservationUpdated = ReservationUpdated;\n  type tableReservationsV1Reservation_universal_d_ReservationDelayedDomainEventReservationCanceled = ReservationDelayedDomainEventReservationCanceled;\n  type tableReservationsV1Reservation_universal_d_CreateReservationRequest = CreateReservationRequest;\n  type tableReservationsV1Reservation_universal_d_CreateReservationResponse = CreateReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ReservationDetailsConflicts = ReservationDetailsConflicts;\n  type tableReservationsV1Reservation_universal_d_GetReservationRequest = GetReservationRequest;\n  type tableReservationsV1Reservation_universal_d_GetReservationResponse = GetReservationResponse;\n  type tableReservationsV1Reservation_universal_d_UpdateReservationRequest = UpdateReservationRequest;\n  type tableReservationsV1Reservation_universal_d_UpdateReservationResponse = UpdateReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ReservationDataUpdated = ReservationDataUpdated;\n  type tableReservationsV1Reservation_universal_d_CreateHeldReservationRequest = CreateHeldReservationRequest;\n  type tableReservationsV1Reservation_universal_d_HeldReservationDetails = HeldReservationDetails;\n  type tableReservationsV1Reservation_universal_d_CreateHeldReservationResponse = CreateHeldReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ReserveReservationRequest = ReserveReservationRequest;\n  type tableReservationsV1Reservation_universal_d_ReserveReservationResponse = ReserveReservationResponse;\n  type tableReservationsV1Reservation_universal_d_CancelReservationRequest = CancelReservationRequest;\n  type tableReservationsV1Reservation_universal_d_CancelReservationResponse = CancelReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ReservationCanceled = ReservationCanceled;\n  type tableReservationsV1Reservation_universal_d_DeleteReservationRequest = DeleteReservationRequest;\n  type tableReservationsV1Reservation_universal_d_DeleteReservationResponse = DeleteReservationResponse;\n  type tableReservationsV1Reservation_universal_d_ListReservationsRequest = ListReservationsRequest;\n  type tableReservationsV1Reservation_universal_d_ListReservationsResponse = ListReservationsResponse;\n  type tableReservationsV1Reservation_universal_d_QueryReservationsRequest = QueryReservationsRequest;\n  type tableReservationsV1Reservation_universal_d_CursorQuery = CursorQuery;\n  type tableReservationsV1Reservation_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type tableReservationsV1Reservation_universal_d_QueryReservationsResponse = QueryReservationsResponse;\n  type tableReservationsV1Reservation_universal_d_SearchReservationsRequest = SearchReservationsRequest;\n  type tableReservationsV1Reservation_universal_d_CursorSearch = CursorSearch;\n  type tableReservationsV1Reservation_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type tableReservationsV1Reservation_universal_d_Aggregation = Aggregation;\n  type tableReservationsV1Reservation_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type tableReservationsV1Reservation_universal_d_RangeBucket = RangeBucket;\n  type tableReservationsV1Reservation_universal_d_SortType = SortType;\n  const tableReservationsV1Reservation_universal_d_SortType: typeof SortType;\n  type tableReservationsV1Reservation_universal_d_SortDirection = SortDirection;\n  const tableReservationsV1Reservation_universal_d_SortDirection: typeof SortDirection;\n  type tableReservationsV1Reservation_universal_d_MissingValues = MissingValues;\n  const tableReservationsV1Reservation_universal_d_MissingValues: typeof MissingValues;\n  type tableReservationsV1Reservation_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n  type tableReservationsV1Reservation_universal_d_ScalarType = ScalarType;\n  const tableReservationsV1Reservation_universal_d_ScalarType: typeof ScalarType;\n  type tableReservationsV1Reservation_universal_d_NestedAggregationType = NestedAggregationType;\n  const tableReservationsV1Reservation_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type tableReservationsV1Reservation_universal_d_ValueAggregation = ValueAggregation;\n  type tableReservationsV1Reservation_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n  type tableReservationsV1Reservation_universal_d_RangeAggregation = RangeAggregation;\n  type tableReservationsV1Reservation_universal_d_ScalarAggregation = ScalarAggregation;\n  type tableReservationsV1Reservation_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n  type tableReservationsV1Reservation_universal_d_Interval = Interval;\n  const tableReservationsV1Reservation_universal_d_Interval: typeof Interval;\n  type tableReservationsV1Reservation_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type tableReservationsV1Reservation_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type tableReservationsV1Reservation_universal_d_AggregationType = AggregationType;\n  const tableReservationsV1Reservation_universal_d_AggregationType: typeof AggregationType;\n  type tableReservationsV1Reservation_universal_d_NestedAggregation = NestedAggregation;\n  type tableReservationsV1Reservation_universal_d_SearchDetails = SearchDetails;\n  type tableReservationsV1Reservation_universal_d_SearchReservationsResponse = SearchReservationsResponse;\n  type tableReservationsV1Reservation_universal_d_AggregationData = AggregationData;\n  type tableReservationsV1Reservation_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type tableReservationsV1Reservation_universal_d_RangeAggregationResult = RangeAggregationResult;\n  type tableReservationsV1Reservation_universal_d_NestedAggregationResults = NestedAggregationResults;\n  type tableReservationsV1Reservation_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n  type tableReservationsV1Reservation_universal_d_ValueResults = ValueResults;\n  type tableReservationsV1Reservation_universal_d_RangeResults = RangeResults;\n  type tableReservationsV1Reservation_universal_d_ScalarResult = ScalarResult;\n  type tableReservationsV1Reservation_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n  type tableReservationsV1Reservation_universal_d_ValueResult = ValueResult;\n  type tableReservationsV1Reservation_universal_d_RangeResult = RangeResult;\n  type tableReservationsV1Reservation_universal_d_NestedResultsScalarResult = NestedResultsScalarResult;\n  type tableReservationsV1Reservation_universal_d_NestedResultValue = NestedResultValue;\n  type tableReservationsV1Reservation_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type tableReservationsV1Reservation_universal_d_Results = Results;\n  type tableReservationsV1Reservation_universal_d_DateHistogramResult = DateHistogramResult;\n  type tableReservationsV1Reservation_universal_d_GroupByValueResults = GroupByValueResults;\n  type tableReservationsV1Reservation_universal_d_DateHistogramResults = DateHistogramResults;\n  type tableReservationsV1Reservation_universal_d_NestedResults = NestedResults;\n  type tableReservationsV1Reservation_universal_d_AggregationResults = AggregationResults;\n  type tableReservationsV1Reservation_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type tableReservationsV1Reservation_universal_d_RemoveReservationMigrationNotesRequest = RemoveReservationMigrationNotesRequest;\n  type tableReservationsV1Reservation_universal_d_RemoveReservationMigrationNotesResponse = RemoveReservationMigrationNotesResponse;\n  type tableReservationsV1Reservation_universal_d_RawHttpRequest = RawHttpRequest;\n  type tableReservationsV1Reservation_universal_d_PathParametersEntry = PathParametersEntry;\n  type tableReservationsV1Reservation_universal_d_QueryParametersEntry = QueryParametersEntry;\n  type tableReservationsV1Reservation_universal_d_HeadersEntry = HeadersEntry;\n  type tableReservationsV1Reservation_universal_d_RawHttpResponse = RawHttpResponse;\n  const tableReservationsV1Reservation_universal_d_createReservation: typeof createReservation;\n  type tableReservationsV1Reservation_universal_d_CreateReservationOptions = CreateReservationOptions;\n  const tableReservationsV1Reservation_universal_d_getReservation: typeof getReservation;\n  type tableReservationsV1Reservation_universal_d_GetReservationOptions = GetReservationOptions;\n  const tableReservationsV1Reservation_universal_d_updateReservation: typeof updateReservation;\n  type tableReservationsV1Reservation_universal_d_UpdateReservation = UpdateReservation;\n  type tableReservationsV1Reservation_universal_d_UpdateReservationOptions = UpdateReservationOptions;\n  const tableReservationsV1Reservation_universal_d_createHeldReservation: typeof createHeldReservation;\n  const tableReservationsV1Reservation_universal_d_reserveReservation: typeof reserveReservation;\n  const tableReservationsV1Reservation_universal_d_cancelReservation: typeof cancelReservation;\n  type tableReservationsV1Reservation_universal_d_CancelReservationOptions = CancelReservationOptions;\n  const tableReservationsV1Reservation_universal_d_deleteReservation: typeof deleteReservation;\n  const tableReservationsV1Reservation_universal_d_listReservations: typeof listReservations;\n  type tableReservationsV1Reservation_universal_d_ListReservationsOptions = ListReservationsOptions;\n  const tableReservationsV1Reservation_universal_d_queryReservations: typeof queryReservations;\n  type tableReservationsV1Reservation_universal_d_ReservationsQueryResult = ReservationsQueryResult;\n  type tableReservationsV1Reservation_universal_d_ReservationsQueryBuilder = ReservationsQueryBuilder;\n  const tableReservationsV1Reservation_universal_d_searchReservations: typeof searchReservations;\n  namespace tableReservationsV1Reservation_universal_d {\n    export {\n      tableReservationsV1Reservation_universal_d_Reservation as Reservation,\n      Status$1 as Status,\n      tableReservationsV1Reservation_universal_d_Source as Source,\n      tableReservationsV1Reservation_universal_d_Details as Details,\n      tableReservationsV1Reservation_universal_d_Reservee as Reservee,\n      tableReservationsV1Reservation_universal_d_ReservedBy as ReservedBy,\n      tableReservationsV1Reservation_universal_d_MigrationNote as MigrationNote,\n      tableReservationsV1Reservation_universal_d_TableWithReservationConflicts as TableWithReservationConflicts,\n      tableReservationsV1Reservation_universal_d_PaymentStatus as PaymentStatus,\n      ExtendedFields$1 as ExtendedFields,\n      tableReservationsV1Reservation_universal_d_ReservationDelayedDomainEvent as ReservationDelayedDomainEvent,\n      tableReservationsV1Reservation_universal_d_ReservationDelayedDomainEventBodyTypeOneOf as ReservationDelayedDomainEventBodyTypeOneOf,\n      tableReservationsV1Reservation_universal_d_ReservationCreated as ReservationCreated,\n      tableReservationsV1Reservation_universal_d_ReservationUpdated as ReservationUpdated,\n      tableReservationsV1Reservation_universal_d_ReservationDelayedDomainEventReservationCanceled as ReservationDelayedDomainEventReservationCanceled,\n      tableReservationsV1Reservation_universal_d_CreateReservationRequest as CreateReservationRequest,\n      TableCombinationConflictType$1 as TableCombinationConflictType,\n      Type$1 as Type,\n      tableReservationsV1Reservation_universal_d_CreateReservationResponse as CreateReservationResponse,\n      tableReservationsV1Reservation_universal_d_ReservationDetailsConflicts as ReservationDetailsConflicts,\n      TableCombinationConflict$1 as TableCombinationConflict,\n      ReservationLocationConflict$1 as ReservationLocationConflict,\n      tableReservationsV1Reservation_universal_d_GetReservationRequest as GetReservationRequest,\n      Set$1 as Set,\n      tableReservationsV1Reservation_universal_d_GetReservationResponse as GetReservationResponse,\n      tableReservationsV1Reservation_universal_d_UpdateReservationRequest as UpdateReservationRequest,\n      tableReservationsV1Reservation_universal_d_UpdateReservationResponse as UpdateReservationResponse,\n      tableReservationsV1Reservation_universal_d_ReservationDataUpdated as ReservationDataUpdated,\n      tableReservationsV1Reservation_universal_d_CreateHeldReservationRequest as CreateHeldReservationRequest,\n      tableReservationsV1Reservation_universal_d_HeldReservationDetails as HeldReservationDetails,\n      tableReservationsV1Reservation_universal_d_CreateHeldReservationResponse as CreateHeldReservationResponse,\n      tableReservationsV1Reservation_universal_d_ReserveReservationRequest as ReserveReservationRequest,\n      tableReservationsV1Reservation_universal_d_ReserveReservationResponse as ReserveReservationResponse,\n      tableReservationsV1Reservation_universal_d_CancelReservationRequest as CancelReservationRequest,\n      tableReservationsV1Reservation_universal_d_CancelReservationResponse as CancelReservationResponse,\n      tableReservationsV1Reservation_universal_d_ReservationCanceled as ReservationCanceled,\n      tableReservationsV1Reservation_universal_d_DeleteReservationRequest as DeleteReservationRequest,\n      tableReservationsV1Reservation_universal_d_DeleteReservationResponse as DeleteReservationResponse,\n      tableReservationsV1Reservation_universal_d_ListReservationsRequest as ListReservationsRequest,\n      CursorPaging$1 as CursorPaging,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      tableReservationsV1Reservation_universal_d_ListReservationsResponse as ListReservationsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      tableReservationsV1Reservation_universal_d_QueryReservationsRequest as QueryReservationsRequest,\n      tableReservationsV1Reservation_universal_d_CursorQuery as CursorQuery,\n      tableReservationsV1Reservation_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      tableReservationsV1Reservation_universal_d_QueryReservationsResponse as QueryReservationsResponse,\n      tableReservationsV1Reservation_universal_d_SearchReservationsRequest as SearchReservationsRequest,\n      tableReservationsV1Reservation_universal_d_CursorSearch as CursorSearch,\n      tableReservationsV1Reservation_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      tableReservationsV1Reservation_universal_d_Aggregation as Aggregation,\n      tableReservationsV1Reservation_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      tableReservationsV1Reservation_universal_d_RangeBucket as RangeBucket,\n      tableReservationsV1Reservation_universal_d_SortType as SortType,\n      tableReservationsV1Reservation_universal_d_SortDirection as SortDirection,\n      tableReservationsV1Reservation_universal_d_MissingValues as MissingValues,\n      tableReservationsV1Reservation_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions,\n      tableReservationsV1Reservation_universal_d_ScalarType as ScalarType,\n      tableReservationsV1Reservation_universal_d_NestedAggregationType as NestedAggregationType,\n      tableReservationsV1Reservation_universal_d_ValueAggregation as ValueAggregation,\n      tableReservationsV1Reservation_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf,\n      tableReservationsV1Reservation_universal_d_RangeAggregation as RangeAggregation,\n      tableReservationsV1Reservation_universal_d_ScalarAggregation as ScalarAggregation,\n      tableReservationsV1Reservation_universal_d_DateHistogramAggregation as DateHistogramAggregation,\n      tableReservationsV1Reservation_universal_d_Interval as Interval,\n      tableReservationsV1Reservation_universal_d_NestedAggregationItem as NestedAggregationItem,\n      tableReservationsV1Reservation_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      tableReservationsV1Reservation_universal_d_AggregationType as AggregationType,\n      tableReservationsV1Reservation_universal_d_NestedAggregation as NestedAggregation,\n      tableReservationsV1Reservation_universal_d_SearchDetails as SearchDetails,\n      Mode$1 as Mode,\n      tableReservationsV1Reservation_universal_d_SearchReservationsResponse as SearchReservationsResponse,\n      tableReservationsV1Reservation_universal_d_AggregationData as AggregationData,\n      tableReservationsV1Reservation_universal_d_ValueAggregationResult as ValueAggregationResult,\n      tableReservationsV1Reservation_universal_d_RangeAggregationResult as RangeAggregationResult,\n      tableReservationsV1Reservation_universal_d_NestedAggregationResults as NestedAggregationResults,\n      tableReservationsV1Reservation_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,\n      tableReservationsV1Reservation_universal_d_ValueResults as ValueResults,\n      tableReservationsV1Reservation_universal_d_RangeResults as RangeResults,\n      tableReservationsV1Reservation_universal_d_ScalarResult as ScalarResult,\n      tableReservationsV1Reservation_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,\n      tableReservationsV1Reservation_universal_d_ValueResult as ValueResult,\n      tableReservationsV1Reservation_universal_d_RangeResult as RangeResult,\n      tableReservationsV1Reservation_universal_d_NestedResultsScalarResult as NestedResultsScalarResult,\n      tableReservationsV1Reservation_universal_d_NestedResultValue as NestedResultValue,\n      tableReservationsV1Reservation_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      tableReservationsV1Reservation_universal_d_Results as Results,\n      tableReservationsV1Reservation_universal_d_DateHistogramResult as DateHistogramResult,\n      tableReservationsV1Reservation_universal_d_GroupByValueResults as GroupByValueResults,\n      tableReservationsV1Reservation_universal_d_DateHistogramResults as DateHistogramResults,\n      tableReservationsV1Reservation_universal_d_NestedResults as NestedResults,\n      tableReservationsV1Reservation_universal_d_AggregationResults as AggregationResults,\n      tableReservationsV1Reservation_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      Empty$1 as Empty,\n      tableReservationsV1Reservation_universal_d_RemoveReservationMigrationNotesRequest as RemoveReservationMigrationNotesRequest,\n      tableReservationsV1Reservation_universal_d_RemoveReservationMigrationNotesResponse as RemoveReservationMigrationNotesResponse,\n      tableReservationsV1Reservation_universal_d_RawHttpRequest as RawHttpRequest,\n      tableReservationsV1Reservation_universal_d_PathParametersEntry as PathParametersEntry,\n      tableReservationsV1Reservation_universal_d_QueryParametersEntry as QueryParametersEntry,\n      tableReservationsV1Reservation_universal_d_HeadersEntry as HeadersEntry,\n      tableReservationsV1Reservation_universal_d_RawHttpResponse as RawHttpResponse,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      tableReservationsV1Reservation_universal_d_createReservation as createReservation,\n      tableReservationsV1Reservation_universal_d_CreateReservationOptions as CreateReservationOptions,\n      tableReservationsV1Reservation_universal_d_getReservation as getReservation,\n      tableReservationsV1Reservation_universal_d_GetReservationOptions as GetReservationOptions,\n      tableReservationsV1Reservation_universal_d_updateReservation as updateReservation,\n      tableReservationsV1Reservation_universal_d_UpdateReservation as UpdateReservation,\n      tableReservationsV1Reservation_universal_d_UpdateReservationOptions as UpdateReservationOptions,\n      tableReservationsV1Reservation_universal_d_createHeldReservation as createHeldReservation,\n      tableReservationsV1Reservation_universal_d_reserveReservation as reserveReservation,\n      tableReservationsV1Reservation_universal_d_cancelReservation as cancelReservation,\n      tableReservationsV1Reservation_universal_d_CancelReservationOptions as CancelReservationOptions,\n      tableReservationsV1Reservation_universal_d_deleteReservation as deleteReservation,\n      tableReservationsV1Reservation_universal_d_listReservations as listReservations,\n      tableReservationsV1Reservation_universal_d_ListReservationsOptions as ListReservationsOptions,\n      tableReservationsV1Reservation_universal_d_queryReservations as queryReservations,\n      tableReservationsV1Reservation_universal_d_ReservationsQueryResult as ReservationsQueryResult,\n      tableReservationsV1Reservation_universal_d_ReservationsQueryBuilder as ReservationsQueryBuilder,\n      tableReservationsV1Reservation_universal_d_searchReservations as searchReservations,\n    };\n  }\n  \n  interface ReservationLocation {\n      /**\n       * Reservation location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of a reservation location. Each time the reservation location is modified, its `revision` changes. For an update operation to succeed, you must pass the latest revision. */\n      revision?: string | null;\n      /**\n       * The date and time this reservation location was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * The date and time this reservation location was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Physical location details.\n       *\n       * Locations can be created and configured using the [Locations API](https://dev.wix.com/docs/rest/api-reference/business-info/locations/introduction)\n       * or on the [Business Info](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsettings/business-info) page in the Dashboard.\n       * @readonly\n       */\n      location?: Location;\n      /** Reservation location configuration. */\n      configuration?: Configuration;\n      /**\n       * Whether this reservation location's `location` is the default location of the business.\n       * @readonly\n       */\n      default?: boolean | null;\n      /**\n       * Whether this reservation location's `location` is archived.\n       * @readonly\n       */\n      archived?: boolean | null;\n      /**\n       * PRIVATE Seating plan ID.\n       * @internal\n       */\n      seatingPlanId?: string | null;\n      /**\n       * Currency code. Must be valid ISO 4217 currency code (e.g., USD).\n       * @internal\n       * @readonly\n       */\n      currency?: string | null;\n      /** Wix extended fields */\n      extendedFields?: ExtendedFields;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  /** Address geolocation information. */\n  interface AddressLocation {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number | null;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number | null;\n  }\n  interface Address {\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address of the location. Includes street name, number, and apartment number in separate fields. */\n      streetAddress?: StreetAddress;\n      /** Full address of the location. */\n      formatted?: string | null;\n      /** Geographic coordinates of the location. */\n      location?: AddressLocation;\n  }\n  /**\n   * Time periods that this location is open for business. Includes a collection of TimePeriod instances.\n   * Aligned with https://developers.google.com/my-business/reference/rest/v4/accounts.locations#businesshours\n   * With a few minor adjustments\n   */\n  interface BusinessSchedule {\n      periods?: TimePeriod[];\n      /**\n       * Time periods during which this location is open. Each period represents a range of hours during the week during which the location is\n       * open.\n       *\n       * Max: 100 time periods\n       */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /**\n   * A span of time that the business is open,\n   * starting on the specified open day/time and closing on the specified close day/time.\n   * Closing time must occur after the opening time, for example later in the same day, or on a subsequent day.\n   */\n  interface TimePeriod {\n      /** Day of the week this period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time this period starts in 24hr [ISO 8601](http://www.w3.org/TR/NOTE-datetime) extended format (hh:mm). Valid values are `00:00-24:00`, where `24:00` represents\n       * midnight at the end of the specified day field.\n       */\n      openTime?: string;\n      /** Day of the week this period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time this period ends in 24hr [ISO 8601](http://www.w3.org/TR/NOTE-datetime) extended format (hh:mm). Valid values are `00:00-24:00`, where `24:00` represents\n       * midnight at the end of the specified day field.\n       *\n       * This is the last time a reservation can be made at the restaurant, not the time the restaurant closes its doors.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Set of time periods when a location's operational hours differ from its normal business hours. */\n  interface SpecialHourPeriod {\n      /** Start date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n      startDate?: string;\n      /** End date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n      endDate?: string;\n      /** Whether or not the location is closed during this period. */\n      isClosed?: boolean;\n      /** Additional details about the period. */\n      comment?: string;\n  }\n  interface TableDefinition {\n      /**\n       * Table ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Table name. */\n      name?: string;\n      /** Minimum number of seats. */\n      seatsMin?: number;\n      /** Maximum number of seats. */\n      seatsMax?: number;\n      /** Whether the table is active (available to be reserved). */\n      isActive?: boolean | null;\n  }\n  interface TableCombination$1 {\n      /**\n       * Table combination ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** IDs of tables in the combination. */\n      tableIds?: string[] | null;\n      /** Minimum number of seats that can be reserved in this table combination. */\n      seatsMin?: number;\n      /** Maximum number of seats that can be reserved in this table combination. */\n      seatsMax?: number;\n      /** Whether the table combination is active (available to be reserved). */\n      isActive?: boolean | null;\n  }\n  enum Unit {\n      UNKNOWN = \"UNKNOWN\",\n      MINUTES = \"MINUTES\",\n      HOURS = \"HOURS\",\n      DAYS = \"DAYS\"\n  }\n  /**\n   * Seat pacing.\n   * The maximum number of seats that can be filled by new reservations within a 15-minute period.\n   * For example, setting a seat pacing of 15 would mean that between `10:00.000`-`10:14.999` there will be no more than 15 new seats available for reservation.\n   */\n  interface SeatPacing {\n      /** Maximum number of seats that can be reserved every 15 minutes. */\n      number?: number;\n      /** Whether this option is enabled. */\n      enabled?: boolean;\n  }\n  /**\n   * Party pacing.\n   * The maximum number of party reservations that can start within a 15-minute period.\n   * For example, a party pacing of 5 would mean that no more than 5 parties could make a reservation for the period between `10:00.000`-`10:14.999`.\n   */\n  interface PartyPacing {\n      /** Maximum number of new party reservations that can be made every 15 minutes. */\n      number?: number;\n      /** Whether this option is enabled. */\n      enabled?: boolean;\n  }\n  /** The party size limits for a single reservation. */\n  interface PartiesSize {\n      /** Minimum number of seats a party can reserve. */\n      min?: number;\n      /** Maximum number of seats a party can reserve. */\n      max?: number;\n  }\n  /** The party size limits for a single reservation. */\n  interface PartySize {\n      /** Minimum number of seats a party can reserve. */\n      min?: number;\n      /** Maximum number of seats a party can reserve. */\n      max?: number;\n  }\n  /**\n   * Reservation notice period.\n   *\n   * The period of time between making a reservation and that reservation's start time. Reservations cannot be made after the start of this period.\n   */\n  interface NoticePeriod {\n      /** The quantity of the chosen time unit. */\n      number?: number;\n      /**\n       * Time unit.\n       *\n       * Supported values:\n       * 'UNKNOWN', 'MINUTES, 'HOURS', 'DAYS'.\n       */\n      unit?: Unit;\n  }\n  /** Turnover time rule. A turnover time is defined per party size range. */\n  interface TurnoverTimeRule {\n      /** Minimum number of seats to qualify for this rule. */\n      seatsMin?: number;\n      /** Maximum number of seats to qualify for this rule. */\n      seatsMax?: number;\n      /** Turnover time in minutes for qualifying parties. */\n      minutes?: number;\n  }\n  /** Turnover rule. A turnover time is defined per party size range. */\n  interface TurnoverRule {\n      /** Minimum number of seats to qualify for this rule. */\n      minSeats?: number;\n      /** Maximum number of seats to qualify for this rule. */\n      maxSeats?: number;\n      /** Turnover time in minutes for qualifying parties. */\n      minutes?: number;\n  }\n  /** Manual approval settings. */\n  interface ManualApproval extends ManualApprovalValueOneOf {\n      /** The minimum party size that requires manual approval. */\n      partySizeThreshold?: number;\n      /** Custom approvals provider id. */\n      customApprovalsProviderId?: string;\n      /** Whether manual approval is required for online reservations. */\n      enabled?: boolean;\n  }\n  /** @oneof */\n  interface ManualApprovalValueOneOf {\n      /** The minimum party size that requires manual approval. */\n      partySizeThreshold?: number;\n      /** Custom approvals provider id. */\n      customApprovalsProviderId?: string;\n  }\n  /** Type of the field. */\n  enum FieldType {\n      UNKNOWN = \"UNKNOWN\",\n      TABLE = \"TABLE\",\n      START_DATE = \"START_DATE\",\n      END_DATE = \"END_DATE\",\n      CREATED_DATE = \"CREATED_DATE\",\n      UPDATED_DATE = \"UPDATED_DATE\",\n      PARTY_SIZE = \"PARTY_SIZE\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      ADDITIONAL_INFO = \"ADDITIONAL_INFO\",\n      TEAM_MESSAGE = \"TEAM_MESSAGE\",\n      CUSTOM_FIELD = \"CUSTOM_FIELD\",\n      STATUS = \"STATUS\"\n  }\n  /** Terms and conditions. */\n  interface TermsAndConditions extends TermsAndConditionsValueOneOf {\n      /** Terms and conditions URL. */\n      url?: string;\n      /** Terms and conditions text. */\n      text?: string | null;\n      /**\n       * Whether the terms and conditions are shown to the customer.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n  }\n  /** @oneof */\n  interface TermsAndConditionsValueOneOf {\n      /** Terms and conditions URL. */\n      url?: string;\n      /** Terms and conditions text. */\n      text?: string | null;\n  }\n  /** Privacy policy. */\n  interface PrivacyPolicy extends PrivacyPolicyValueOneOf {\n      /** Privacy policy URL. */\n      url?: string;\n      /** Privacy policy text. */\n      text?: string | null;\n      /**\n       * Whether the privacy policy is shown to the customer.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n  }\n  /** @oneof */\n  interface PrivacyPolicyValueOneOf {\n      /** Privacy policy URL. */\n      url?: string;\n      /** Privacy policy text. */\n      text?: string | null;\n  }\n  /** Custom field definition. Definitions of the fields that are added to the reservation form. */\n  interface CustomFieldDefinition {\n      /**\n       * Custom field ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Custom field name. */\n      name?: string;\n      /**\n       * Whether the custom field is required.\n       *\n       * Default: `false`\n       */\n      required?: boolean;\n  }\n  /** Email marketing checkbox. */\n  interface EmailMarketingCheckbox {\n      /**\n       * Whether the checkbox is shown to the customer.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Whether the checkbox is checked by default.\n       *\n       * Default: `false`\n       */\n      checkedByDefault?: boolean;\n  }\n  interface OnlineReservations {\n      /**\n       * Seat pacing settings.\n       *\n       * The maximum number of seats that can be filled by new reservations within a 15-minute period.\n       * For example, setting a seat pacing of 15 would mean that between `10:00.000`-`10:14.999` there will be no more than 15 new seats available for reservation.\n       */\n      seatPacing?: SeatPacing;\n      /**\n       * Party pacing settings.\n       *\n       * The maximum number of party reservations that can start within a 15-minute period.\n       * For example, a party pacing of 5 would mean that no more than 5 parties could make a reservation for the period between `10:00.000`-`10:14.999`.\n       */\n      partyPacing?: PartyPacing;\n      /**\n       * PRIVATE Party size limits.\n       * @internal\n       * @deprecated PRIVATE Party size limits.\n       * @replacedBy party_size\n       * @targetRemovalDate 2023-11-01\n       */\n      partiesSize?: PartiesSize;\n      /** Party size limits for a reservation. */\n      partySize?: PartySize;\n      /**\n       * Minimum reservation notice.\n       *\n       * The minimum amount of time that must be allowed between making a reservation and that reservation's start time.\n       */\n      minimumReservationNotice?: NoticePeriod;\n      /**\n       * Default turnover time in minutes.\n       *\n       * Turnover time is how much time a party is allotted for their entire reservation - from being seated to leaving the restaurant.\n       */\n      defaultTurnoverTime?: number | null;\n      /**\n       * Custom turnover time rules.\n       *\n       * This allows you to set different turnover times for different party sizes.\n       */\n      turnoverTimeRules?: TurnoverTimeRule[];\n      /**\n       * PRIVATE Turnover rules.\n       * @internal\n       */\n      turnoverRules?: TurnoverRule[];\n      /**\n       * The location's business schedule.\n       *\n       * By default, the business schedule of a reservation location uses the values of its location's business schedule. However, after the first time a reservation location's business schedule has been modified, it stores and uses its own values and no longer mirrors its location's business schedule.\n       * Limited to 100 time periods.\n       */\n      businessSchedule?: BusinessSchedule;\n      /** Whether a phone number is shown. */\n      showPhoneNumber?: boolean | null;\n      /** Whether online reservations are enabled. */\n      onlineReservationsEnabled?: boolean | null;\n      /** Manual approval settings. */\n      manualApproval?: ManualApproval;\n      /**\n       * Interval between timeslots in minutes.\n       * @internal\n       */\n      timeSlotInterval?: number | null;\n  }\n  /** Reservation form settings. */\n  interface ReservationForm {\n      /** A message shown to the customer in the registration form. */\n      submitMessage?: string | null;\n      /** Whether to show policies (the terms and conditions, and the privacy policy) to the customer. */\n      policiesEnabled?: boolean | null;\n      /** Settings for displaying the terms and conditions. */\n      termsAndConditions?: TermsAndConditions;\n      /** Settings for displaying the privacy policy. */\n      privacyPolicy?: PrivacyPolicy;\n      /** Custom fields you wish to add to the registration form for the customer to fill in. */\n      customFieldDefinitions?: CustomFieldDefinition[];\n      /**\n       * Whether a last_name is required in the reservation form.\n       *\n       * Default: `false`\n       */\n      lastNameRequired?: boolean | null;\n      /**\n       * Whether an email is required in the reservation form.\n       *\n       * Default: `false`\n       */\n      emailRequired?: boolean | null;\n      /** Email marketing checkbox settings. */\n      emailMarketingCheckbox?: EmailMarketingCheckbox;\n  }\n  /** My reservations field definition. */\n  interface MyReservationsField {\n      /** Field type. */\n      fieldType?: FieldType;\n      /**\n       * Custom field ID.\n       *\n       * This should only be provided if the `fieldType` is `CUSTOM_FIELD`, in which case it is required and must match the ID of a custom field in the `customFieldDefinitions` array of the `reservationForm`.\n       * @readonly\n       */\n      customFieldId?: string | null;\n      /** Whether the field is shown. */\n      shown?: boolean;\n  }\n  interface TableManagement {\n      /** Table definitions. */\n      tableDefinitions?: TableDefinition[];\n      /** Deleted table definitions. */\n      deletedTableDefinitions?: TableDefinition[];\n      /** Table combinations. */\n      tableCombinations?: TableCombination$1[];\n  }\n  /** Reservation payment. */\n  interface ReservationPayment {\n      /** Monetary amount to charge. Decimal string with a period as a decimal separator (e.g., 3.99) */\n      value?: string;\n      /** Minimum party size to apply the payment policy. */\n      minPartySize?: number;\n  }\n  interface Location {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * PRIVATE Location name.\n       * @internal\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * PRIVATE Location description.\n       * @internal\n       * @readonly\n       */\n      description?: string | null;\n      /**\n       * PRIVATE Fax number for the location.\n       * @internal\n       * @readonly\n       */\n      fax?: string | null;\n      /**\n       * PRIVATE Timezone of the location in `America/New_York` format.\n       * @internal\n       * @readonly\n       */\n      timeZone?: string | null;\n      /**\n       * PRIVATE Email address for the location.\n       * @internal\n       */\n      email?: string | null;\n      /**\n       * PRIVATE Phone number for the location.\n       * @internal\n       * @readonly\n       */\n      phone?: string | null;\n      /**\n       * PRIVATE Address of the location.\n       * @internal\n       * @readonly\n       */\n      address?: Address;\n      /**\n       * PRIVATE\n       * The location's business schedule.\n       * A business schedule is an operational timetable of the business. It is represented by an array of weekly recurring time periods when the location is open for business. The business schedule is limited to 100 time periods.\n       * @internal\n       * @readonly\n       */\n      businessSchedule?: BusinessSchedule;\n  }\n  interface Configuration {\n      /** Settings for this location that are used to determine restaurant availability for reservations made online. */\n      onlineReservations?: OnlineReservations;\n      /** Reservation form settings. */\n      reservationForm?: ReservationForm;\n      /**\n       * \"My reservations\" field details.\n       *\n       * These are the fields that appear in the \"My reservations\" section of the Table Reservations page on the restaurant's Wix site dashboard.\n       */\n      myReservationsFields?: MyReservationsField[];\n      /** Table management settings. */\n      tableManagement?: TableManagement;\n      /**\n       * Reservation payment details. Used to charge flat fee prepayment or deposit.\n       * @internal\n       */\n      reservationPayment?: ReservationPayment;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface GetReservationLocationRequest {\n      /** ID of the ReservationLocation to retrieve. */\n      reservationLocationId: string;\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       * @deprecated\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2023-11-01\n       */\n      fieldSet?: Set;\n      /**\n       * Array of named, predefined sets of projected fields to be returned.\n       *\n       * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,\n       * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,\n       * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,\n       * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: `PUBLIC`.\n       */\n      fieldsets?: Set[];\n  }\n  enum Set {\n      PUBLIC = \"PUBLIC\",\n      FULL = \"FULL\"\n  }\n  interface GetReservationLocationResponse {\n      /** The retrieved reservation location. */\n      reservationLocation?: ReservationLocation;\n  }\n  interface UpdateReservationLocationRequest {\n      /** ReservationLocation to be updated, may be partial. */\n      reservationLocation: ReservationLocation;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateReservationLocationResponse {\n      /** The updated reservation location. */\n      reservationLocation?: ReservationLocation;\n  }\n  interface TablesDeleted {\n      /** ID of the affected reservation location. */\n      reservationLocationId?: string;\n      /** IDs of deleted tables. */\n      tableIds?: string[];\n  }\n  interface QueryReservationLocationsRequest {\n      /** Query options. */\n      query: QueryV2;\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       * @deprecated\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2023-11-01\n       */\n      fieldSet?: Set;\n      /**\n       * Array of named, predefined sets of projected fields to be returned.\n       *\n       * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,\n       * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,\n       * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,\n       * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: `PUBLIC`.\n       */\n      fieldsets?: Set[];\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       *\n       * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservations/sorting-and-filtering) article.\n       * To learn how to query reservations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       *\n       * Use `ASC` for ascending order or `DESC` for descending order. Defaults to `ASC`.\n       */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryReservationLocationsResponse {\n      /** List of reservation locations */\n      reservationLocations?: ReservationLocation[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListReservationLocationsRequest {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      paging?: CursorPaging;\n      /** Sorting for the locations list. */\n      sort?: Sorting;\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       * @deprecated\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2023-11-01\n       */\n      fieldSet?: Set;\n      /**\n       * Array of named, predefined sets of projected fields to be returned.\n       *\n       * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,\n       * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,\n       * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,\n       * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: `PUBLIC`.\n       */\n      fieldsets?: Set[];\n  }\n  interface ListReservationLocationsResponse {\n      /** Locations list. */\n      reservationLocations?: ReservationLocation[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface DeleteOrphanReservationLocationRequest {\n      /** Id of the ReservationLocation. */\n      reservationLocationId?: string;\n  }\n  interface DeleteOrphanReservationLocationResponse {\n  }\n  interface MigrateOldRestaurantSettingsRequest {\n      /** Mode. */\n      mode?: Mode;\n      /** Override not default. */\n      overrideNotDefault?: boolean;\n  }\n  enum Mode {\n      /** DRY RUN. */\n      UNDEFINED = \"UNDEFINED\",\n      DRY_RUN = \"DRY_RUN\",\n      MIGRATE = \"MIGRATE\",\n      FORCE_MIGRATE = \"FORCE_MIGRATE\"\n  }\n  interface MigrateOldRestaurantSettingsResponse {\n      /** Migration results. */\n      migrationResults?: MigrationResult[];\n  }\n  interface ParsedSettings {\n      futureDelayMins?: number | null;\n      partySizeMin?: number | null;\n      partySizeMax?: number | null;\n      weeklySchedule?: OldScheduleInterval[];\n      customFields?: OldCustomField[];\n      privacyPolicy?: OldPolicy;\n      termsAndConditions?: OldTerms;\n      scheduleExceptions?: OldScheduleException[];\n      available?: boolean | null;\n      locale?: string | null;\n  }\n  interface OldScheduleInterval {\n      durationMins?: number;\n      minuteOfWeek?: number;\n  }\n  interface OldCustomField {\n      label?: string;\n      required?: boolean;\n  }\n  interface OldPolicy {\n      value?: string;\n      isPlainText?: boolean;\n  }\n  interface OldTerms {\n      value?: string;\n      isPlainText?: boolean;\n  }\n  interface OldScheduleException {\n      available?: boolean;\n      comment?: string | null;\n      start?: OldInstant;\n      end?: OldInstant;\n  }\n  interface OldInstant {\n      year?: number;\n      month?: number;\n      day?: number;\n      hour?: number;\n      minute?: number;\n  }\n  interface MigrationParsingError {\n      /** Field. */\n      path?: string;\n      /** Message. */\n      message?: string;\n      /** Target. */\n      target?: Record<string, any> | null;\n  }\n  interface MigrationResult {\n      /** The migrated ReservationLocation. */\n      reservationLocation?: ReservationLocation;\n      /** Old settings. */\n      oldSettings?: Record<string, any> | null;\n      /** Parsed settings. */\n      parsedSettings?: ParsedSettings;\n      /** Migration parsing errors. */\n      migrationParsingErrors?: MigrationParsingError[];\n  }\n  interface CheckReservationLocationsCreatedRequest {\n  }\n  interface CheckReservationLocationsCreatedResponse {\n      /** Reservation locations created. */\n      created?: boolean;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /** A list of \"assets\" (applications). The same as MetaSiteContext. */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation[];\n      /** Context of the notification */\n      changeContext?: ChangeContext;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties;\n  }\n  interface Properties {\n      /** Site categories. */\n      categories?: Categories;\n      /** Site locale. */\n      locale?: Locale;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: V4Address;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: V4BusinessSchedule;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual;\n      /** Cookie policy the site owner defined for their site (before the users interacts with/limits it). */\n      consentPolicy?: ConsentPolicy;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site url that uses Wix as its headless business solution */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface V4Address {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition the user can state where he wants that additional description - before, after, or instead\n   * the address string.\n   */\n  interface AddressHint {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface V4BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: V4TimePeriod[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: V4SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface V4TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: V4DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: V4DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum V4DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface V4SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod;\n  }\n  enum ResolutionMethod {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext extends ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: V4SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: V4SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  interface PropertiesChange {\n  }\n  interface V4SiteCreated {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface FeatureEvent extends FeatureEventEventOneOf {\n      /**\n       * Information about an event that makes a feature eligible to the user.\n       * Triggered for example, for new features or when a feature is reassigned\n       * to an account or a site.\n       */\n      enabled?: FeatureEnabled;\n      /**\n       * Information about an event that disables a feature for the user.\n       * Triggered for example, when a feature is unassigned from a site,\n       * reassigned to a different site, or the user switched to a different contract.\n       */\n      disabled?: FeatureDisabled;\n      /**\n       * Information about an event that updates a feature. An `updated` event\n       * is triggered for example by the\n       * [Report Quota Usage](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/report-quota-usage)\n       * and [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter)\n       * endpoints.\n       */\n      updated?: FeatureUpdated;\n      /**\n       * Information about an event that cancels a feature for the user.\n       * Triggered for example, when a feature is canceled, transferred to\n       * another account, or the user switched to a different contract.\n       */\n      cancelled?: FeatureCancelled;\n      /**\n       * Timestamp of the event in\n       * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n       */\n      timestamp?: Date;\n  }\n  /** @oneof */\n  interface FeatureEventEventOneOf {\n      /**\n       * Information about an event that makes a feature eligible to the user.\n       * Triggered for example, for new features or when a feature is reassigned\n       * to an account or a site.\n       */\n      enabled?: FeatureEnabled;\n      /**\n       * Information about an event that disables a feature for the user.\n       * Triggered for example, when a feature is unassigned from a site,\n       * reassigned to a different site, or the user switched to a different contract.\n       */\n      disabled?: FeatureDisabled;\n      /**\n       * Information about an event that updates a feature. An `updated` event\n       * is triggered for example by the\n       * [Report Quota Usage](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/report-quota-usage)\n       * and [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter)\n       * endpoints.\n       */\n      updated?: FeatureUpdated;\n      /**\n       * Information about an event that cancels a feature for the user.\n       * Triggered for example, when a feature is canceled, transferred to\n       * another account, or the user switched to a different contract.\n       */\n      cancelled?: FeatureCancelled;\n  }\n  /** Feature created or enabled after disabled state */\n  interface FeatureEnabled extends FeatureEnabledReasonOneOf {\n      /** Information about a transfer from another account. */\n      transferredFromAnotherAccount?: TransferredFromAnotherAccountReason;\n      /** Information about a transfer from another site. */\n      reassignedFromSite?: ReassignedFromSiteReason;\n      /** Information about a feature that hadn't been assigned to site. */\n      assignedFromFloating?: AssignedFromFloatingReason;\n      /** Information about the new feature. */\n      newFeature?: NewFeatureReason;\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n      /** Information about the manually created features. */\n      manualFeatureCreation?: ManualFeatureCreationReason;\n      /** Information about a feature that was migrated from legacy. */\n      migratedFromLegacy?: MigratedFromLegacyReason;\n      /** Enabled feature. */\n      feature?: Feature;\n      /**\n       * Information about a transfer from another account.\n       * __Deprecated__. Use `reason.transferred_from_another_account` instead.\n       */\n      transferredFromAccount?: string | null;\n      /**\n       * Information about a transfer from another site.\n       * __Deprecated__. Use `reason.reassigned_from_site` instead.\n       */\n      reassignedFromMetasite?: string | null;\n  }\n  /** @oneof */\n  interface FeatureEnabledReasonOneOf {\n      /** Information about a transfer from another account. */\n      transferredFromAnotherAccount?: TransferredFromAnotherAccountReason;\n      /** Information about a transfer from another site. */\n      reassignedFromSite?: ReassignedFromSiteReason;\n      /** Information about a feature that hadn't been assigned to site. */\n      assignedFromFloating?: AssignedFromFloatingReason;\n      /** Information about the new feature. */\n      newFeature?: NewFeatureReason;\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n      /** Information about the manually created features. */\n      manualFeatureCreation?: ManualFeatureCreationReason;\n      /** Information about a feature that was migrated from legacy. */\n      migratedFromLegacy?: MigratedFromLegacyReason;\n  }\n  interface Feature extends FeatureQuantityInfoOneOf {\n      /**\n       * Deprecated. Use `enabled` instead.\n       * @deprecated\n       */\n      booleanFeature?: BooleanFeature;\n      /**\n       * Deprecated. Use `quotaInfo` instead.\n       * @deprecated\n       */\n      quotaFeature?: QuotaFeature;\n      /**\n       * ID of the feature. __Note:__ Isn't unique. For example, all features that\n       * are available to free Wix accounts or site in some capacity have\n       * `{\"id\": \"DEFAULT\"}`. Use `uniqueName` as unique identifier for a feature.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Unique name of the feature. Only lower case letters, numbers, and dashes\n       * `-` are supported. Used in the endpoints of the\n       * [Features Manager API](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/introduction)\n       * to specify the feature. Not visible to customers. We recommend to start\n       * the unique name with a prefix describing your organization or Wix company.\n       * For example, `bookings` or `crm`.\n       *\n       * Min: 2 characters\n       * Max: 50 characters\n       */\n      uniqueName?: string;\n      /**\n       * Information about whether the feature belongs to a Wix account or site.\n       * Account features have `context.userId`. Site features have `context.metaSiteId` in case\n       * they're assigned to a specific site. Site features that aren't assigned to\n       * a specific site have neither ID.\n       */\n      context?: FeatureContext;\n      /**\n       * Deprecated.\n       * @readonly\n       * @deprecated\n       */\n      createdAt?: Date;\n      /**\n       * Deprecated.\n       * @readonly\n       * @deprecated\n       */\n      updatedAt?: Date;\n      /**\n       * Information about how often customers can use the feature during a specific\n       * period. Available only for quota features.\n       */\n      quotaInfo?: QuotaInfo;\n      /**\n       * Whether the customer is currently allowed to use the feature.\n       * `true` means that the customer can use the feature. This means a boolean\n       * feature is active or a quota feature has remaining usage.\n       * `false` means that the customer can't use the feature.\n       * This means a boolean feature isn't active or a quota feature doesn't\n       * have remaining usage.\n       */\n      enabled?: boolean;\n      /**\n       * ID of the [subscription](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/subscription-object)\n       * to which the feature instance belongs.\n       */\n      subscriptionId?: string | null;\n      /**\n       * Metadata of the feature. Wix Premium uses the metadata object to indicate\n       * that customers who purchase a product with the feature also get\n       * access to an additional product. For these bundled products `metadata`\n       * looks like this: `{\"tpa\": \"{\"appDefId\": \"sample-app-def-id-1234567890\", \"vendorProductId\": \"sample-productId\"}}\"`.\n       * But you can use the `metadata` property for other purposes, too.\n       */\n      metadata?: Record<string, string>;\n  }\n  /** @oneof */\n  interface FeatureQuantityInfoOneOf {\n      /**\n       * Deprecated. Use `enabled` instead.\n       * @deprecated\n       */\n      booleanFeature?: BooleanFeature;\n      /**\n       * Deprecated. Use `quotaInfo` instead.\n       * @deprecated\n       */\n      quotaFeature?: QuotaFeature;\n  }\n  /**\n   * Context this feature is currently connected to.\n   * Note: Do not confuse with feature scope which is configured in the product catalog\n   * and defines in which context the product can be used\n   */\n  interface FeatureContext {\n      /**\n       * ID of the Wix account that the feature instance belongs to.\n       * Available for both site and account level feature instances.\n       */\n      userId?: string;\n      /**\n       * ID of the meta site that the feature instance is assigned to.\n       * Only available for site level feature instances that are assigned to a Wix\n       * site. Not available for account level and unassigned site level feature\n       * instances.\n       */\n      metaSiteId?: string | null;\n  }\n  /**\n   * A feature that can be either \"enabled\" or \"disabled\". The default/freemium setting is always OFF, and the premium setting is always ON (meaning, unlimited usage without tracking).\n   * A boolean feature is similar to a quantitive feature with a default limit of 0 and UNLIMITED premium limit (although a bit simplified).\n   */\n  interface BooleanFeature {\n  }\n  /** A feature with a periodic usage limitation. The default limit is defined in the Feature Spec, the Premium limits are defined in the respective ProductFeature. */\n  interface QuotaFeature {\n      /** Default (or Freemium) quota limitation. if left undefined the free feature has unlimited amount. */\n      limit?: string | null;\n      /** Periodic time-frame to reset the usage counter. You may use NO_PERIOD if counter shouldn't be reset. */\n      period?: FeaturePeriod;\n      /** Usage measurement units (seconds? MBs? unitless?). Usage reported will be counted in multiples of this basic unit. */\n      units?: string | null;\n  }\n  /** Determines the reset cycle of the feature usage. */\n  enum FeaturePeriod {\n      NO_PERIOD = \"NO_PERIOD\",\n      MILLISECOND = \"MILLISECOND\",\n      SECOND = \"SECOND\",\n      MINUTE = \"MINUTE\",\n      HOUR = \"HOUR\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface QuotaInfo {\n      /**\n       * How often the customer is allowed to use the feature during the specified\n       * period. `null` means that the customer has unlimited access to the feature.\n       */\n      limit?: string | null;\n      /**\n       * Time frame for the usage limitation. `NO_PERIOD` means that `remainingUsage`\n       * isn't automatically reset to the feature's `limit` after a specific period.\n       * You may still manually call\n       * [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter).\n       */\n      period?: FeaturePeriod;\n      /**\n       * How often the customer has used the feature during the current\n       * period.\n       */\n      currentUsage?: string;\n      /**\n       * How often the customer can still use the feature during the current\n       * period. `null` means that the customer has unlimited access to the feature.\n       */\n      remainingUsage?: string | null;\n  }\n  /** Subscription transferred from another account, features on the current account were enabled. */\n  interface TransferredFromAnotherAccountReason {\n      /** Information about a transfer from another account. */\n      transferredFromAccount?: string;\n  }\n  /** Subscription moved from one site to another in the same account, features enabled on the target site */\n  interface ReassignedFromSiteReason {\n      /** Information about a transfer from another site. */\n      reassignedFromMetasite?: string;\n  }\n  /** Subscription was floating and assigned to site, features enabled on the target site */\n  interface AssignedFromFloatingReason {\n  }\n  /** New subscription created and features created as enabled */\n  interface NewFeatureReason {\n  }\n  /** Subscription was upgraded or downgraded, as a result new features enabled, missing features disabled , quantities are updated */\n  interface ContractSwitchedReason {\n  }\n  /** a call to CreateFeature in features-writer, creates feature that is not attached to subscription */\n  interface ManualFeatureCreationReason {\n  }\n  /** Subscription created due to migration from old premium model */\n  interface MigratedFromLegacyReason {\n  }\n  /** Feature disabled and can be enabled in the future */\n  interface FeatureDisabled extends FeatureDisabledReasonOneOf {\n      /** Information about a feature that's no longer assigned to a site. */\n      unassingedToFloating?: UnAssingedToFloatingReason;\n      /**\n       * Information about a feature that's been replaced by a feature from a\n       * different subscription.\n       */\n      replacedByAnotherSubscription?: ReplacedByAnotherSubscriptionReason;\n      /**\n       * Information about a feature that's been reassigned to a different\n       * site.\n       */\n      reassignedToAnotherSite?: ReassignedToAnotherSiteReason;\n      /**\n       * Disabled feature. Includes information about the feature's new state,\n       * possibly its new context.\n       */\n      feature?: Feature;\n      /** ID of the meta site for which the feature has been disabled. */\n      metaSiteId?: string | null;\n  }\n  /** @oneof */\n  interface FeatureDisabledReasonOneOf {\n      /** Information about a feature that's no longer assigned to a site. */\n      unassingedToFloating?: UnAssingedToFloatingReason;\n      /**\n       * Information about a feature that's been replaced by a feature from a\n       * different subscription.\n       */\n      replacedByAnotherSubscription?: ReplacedByAnotherSubscriptionReason;\n      /**\n       * Information about a feature that's been reassigned to a different\n       * site.\n       */\n      reassignedToAnotherSite?: ReassignedToAnotherSiteReason;\n  }\n  /** Subscription was unassigned from the site and moved into floating state */\n  interface UnAssingedToFloatingReason {\n  }\n  /** Another subscription was assigned to the site, causing existing features on this site to be disabled */\n  interface ReplacedByAnotherSubscriptionReason {\n  }\n  /** Subscription was assigned to another site, causing  features on the origin  site to be disabled. */\n  interface ReassignedToAnotherSiteReason {\n      /** Information about a transfer to the site. */\n      reassignedToMetasite?: string;\n  }\n  /** Feature updated, for example Quota was increased due to upgrade */\n  interface FeatureUpdated extends FeatureUpdatedPreviousQuantityInfoOneOf, FeatureUpdatedReasonOneOf {\n      /** Information about a feature that doesn't have a usage quota. */\n      booleanFeature?: BooleanFeature;\n      /** Information about a feature that has a usage quota. */\n      quotaFeature?: QuotaFeature;\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n      /**\n       * Updated feature. Includes information about the feature's new state and\n       * possibly its new context.\n       */\n      feature?: Feature;\n  }\n  /** @oneof */\n  interface FeatureUpdatedPreviousQuantityInfoOneOf {\n      /** Information about a feature that doesn't have a usage quota. */\n      booleanFeature?: BooleanFeature;\n      /** Information about a feature that has a usage quota. */\n      quotaFeature?: QuotaFeature;\n  }\n  /** @oneof */\n  interface FeatureUpdatedReasonOneOf {\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n  }\n  /** Feature was permanently cancelled */\n  interface FeatureCancelled extends FeatureCancelledReasonOneOf {\n      /** Information about a transfer to the account. */\n      transferredToAnotherAccount?: TransferredToAnotherAccountReason;\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n      /** Information about the feature cancellation. */\n      cancelRequest?: CancelRequestedReason;\n      /** Canceled feature. */\n      feature?: Feature;\n      /**\n       * Information about a transfer to the account.\n       * __Deprecated__. Use `reason.transferred_to_account` instead.\n       */\n      transferredToAccount?: string | null;\n  }\n  /** @oneof */\n  interface FeatureCancelledReasonOneOf {\n      /** Information about a transfer to the account. */\n      transferredToAnotherAccount?: TransferredToAnotherAccountReason;\n      /** Information about the contract switch. */\n      contractSwitched?: ContractSwitchedReason;\n      /** Information about the feature cancellation. */\n      cancelRequest?: CancelRequestedReason;\n  }\n  /** Subscription was transferred to another account, features in the origin account were cancelled */\n  interface TransferredToAnotherAccountReason {\n      /** Information about a transfer to the account. */\n      transferredToAccount?: string;\n  }\n  /** Cancellation was requested from the subscription manager api, might be a result of billing event, or direct call */\n  interface CancelRequestedReason {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a reservation location by ID.\n   *\n   * The `FULL` fieldset can only be retrieved by users with the `READ RESERVATION LOCATIONS (FULL)` or `MANAGE RESERVATION LOCATIONS` permission scopes.\n   * @param reservationLocationId - ID of the ReservationLocation to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reservationLocationId\n   * @param options - An object representing the available options for retrieving a reservation location.\n   * @returns The retrieved reservation location.\n   */\n  function getReservationLocation(reservationLocationId: string, options?: GetReservationLocationOptions): Promise<ReservationLocation>;\n  interface GetReservationLocationOptions {\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       * @deprecated\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2023-11-01\n       */\n      fieldSet?: Set;\n      /**\n       * Array of named, predefined sets of projected fields to be returned.\n       *\n       * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,\n       * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,\n       * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,\n       * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: `PUBLIC`.\n       */\n      fieldsets?: Set[];\n  }\n  /**\n   * Updates a reservation location. Supports partial updates.\n   *\n   * Each time the reservation location is updated, `revision` increments by 1. The existing revision must be included when updating the reservation location. This ensures you're working with the latest reservation location information, and it prevents unintended overwrites.\n   *\n   * You cannot use this endpoint to change a reservation location's `location` object. Attempting to do so will cause the server to return an application error.\n   * @param _id - Reservation location ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField reservationLocation\n   * @requiredField reservationLocation.configuration.onlineReservations.manualApproval\n   * @requiredField reservationLocation.revision\n   * @param reservationLocation - Reservation location information to update.\n   * @adminMethod\n   * @returns The updated reservation location.\n   */\n  function updateReservationLocation(_id: string | null, reservationLocation: UpdateReservationLocation, options?: UpdateReservationLocationOptions): Promise<ReservationLocation>;\n  interface UpdateReservationLocation {\n      /**\n       * Reservation location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of a reservation location. Each time the reservation location is modified, its `revision` changes. For an update operation to succeed, you must pass the latest revision. */\n      revision?: string | null;\n      /**\n       * The date and time this reservation location was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * The date and time this reservation location was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Physical location details.\n       *\n       * Locations can be created and configured using the [Locations API](https://dev.wix.com/docs/rest/api-reference/business-info/locations/introduction)\n       * or on the [Business Info](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsettings/business-info) page in the Dashboard.\n       * @readonly\n       */\n      location?: Location;\n      /** Reservation location configuration. */\n      configuration?: Configuration;\n      /**\n       * Whether this reservation location's `location` is the default location of the business.\n       * @readonly\n       */\n      default?: boolean | null;\n      /**\n       * Whether this reservation location's `location` is archived.\n       * @readonly\n       */\n      archived?: boolean | null;\n      /**\n       * PRIVATE Seating plan ID.\n       * @internal\n       */\n      seatingPlanId?: string | null;\n      /**\n       * Currency code. Must be valid ISO 4217 currency code (e.g., USD).\n       * @internal\n       * @readonly\n       */\n      currency?: string | null;\n      /** Wix extended fields */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdateReservationLocationOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Creates a query to retrieve a list of reservation locations.\n   *\n   *\n   * The `queryReservationLocations()` function builds a query to retrieve a list of reservation locations and returns a [`ReservationLocationsQueryBuilder`](/reservation-locations/reservation-locations-query-builder/) object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [find()](/reservation-locations/reservation-locations-query-builder/find) function.\n   *\n   * You can refine the query by chaining `ReservationLocationsQueryBuilder` functions onto the query. `ReservationLocationsQueryBuilder` functions enable you to filter, sort, and control the results that `queryReservationLocations()` returns.\n   *\n   * `queryReservationLocations()` runs with the following `ReservationLocationsQueryBuilder` defaults, which you can override:\n   *\n   * * [`skip(0)`](/reservation-locations/reservation-locations-query-builder/skip)\n   * * [`limit(50)`](/reservation-locations/reservation-locations-query-builder/limit)\n   * * [`descending('_createdDate')`](/reservation-locations/reservation-locations-query-builder/descending)\n   *\n   * The following `ReservationLocationsQueryBuilder` functions are supported for `queryReservationLocations()`. For a full description of the reservation location object, see the object returned for the [`items`](/reservation-locations/reservation-locations-query-result/items) property in [`ReservationLocationsQueryResult`](/reservation-locations/reservation-locations-query-result).\n   * @public\n   * @documentationMaturity preview\n   * @param options - An object representing the available options for querying reservation locations.\n   * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_READ\n   * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_READ_FULL\n   */\n  function queryReservationLocations(options?: QueryReservationLocationsOptions): ReservationLocationsQueryBuilder;\n  interface QueryReservationLocationsOptions {\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       * @deprecated\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2023-11-01\n       */\n      fieldSet?: Set | undefined;\n      /**\n       * Array of named, predefined sets of projected fields to be returned.\n       *\n       * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,\n       * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,\n       * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,\n       * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: `PUBLIC`.\n       */\n      fieldsets?: Set[] | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReservationLocationsQueryResult extends QueryCursorResult {\n      items: ReservationLocation[];\n      query: ReservationLocationsQueryBuilder;\n      next: () => Promise<ReservationLocationsQueryResult>;\n      prev: () => Promise<ReservationLocationsQueryResult>;\n  }\n  interface ReservationLocationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id', value: any) => ReservationLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => ReservationLocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id', value: any) => ReservationLocationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReservationLocationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReservationLocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReservationLocationsQueryResult>;\n  }\n  /**\n   * Retrieves a list of up to 100 reservation locations.\n   *\n   * The `FULL` fieldset can only be retrieved by users with the `READ RESERVATION LOCATIONS (FULL)` or `MANAGE RESERVATION LOCATIONS` permission scopes.\n   * @public\n   * @documentationMaturity preview\n   * @param options - An object representing the available options for listing reservation locations.\n   */\n  function listReservationLocations(options?: ListReservationLocationsOptions): Promise<ListReservationLocationsResponse>;\n  interface ListReservationLocationsOptions {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      paging?: CursorPaging;\n      /** Sorting for the locations list. */\n      sort?: Sorting;\n      /**\n       * Predefined sets of fields to return.\n       * @internal\n       * @deprecated\n       * @replacedBy fieldsets\n       * @targetRemovalDate 2023-11-01\n       */\n      fieldSet?: Set;\n      /**\n       * Array of named, predefined sets of projected fields to be returned.\n       *\n       * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,\n       * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,\n       * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,\n       * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.\n       * - `FULL`: Returns all fields.\n       *\n       * Default: `PUBLIC`.\n       */\n      fieldsets?: Set[];\n  }\n  \n  type tableReservationsV1ReservationLocation_universal_d_ReservationLocation = ReservationLocation;\n  type tableReservationsV1ReservationLocation_universal_d_StreetAddress = StreetAddress;\n  type tableReservationsV1ReservationLocation_universal_d_AddressLocation = AddressLocation;\n  type tableReservationsV1ReservationLocation_universal_d_Address = Address;\n  type tableReservationsV1ReservationLocation_universal_d_BusinessSchedule = BusinessSchedule;\n  type tableReservationsV1ReservationLocation_universal_d_TimePeriod = TimePeriod;\n  type tableReservationsV1ReservationLocation_universal_d_DayOfWeek = DayOfWeek;\n  const tableReservationsV1ReservationLocation_universal_d_DayOfWeek: typeof DayOfWeek;\n  type tableReservationsV1ReservationLocation_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type tableReservationsV1ReservationLocation_universal_d_TableDefinition = TableDefinition;\n  type tableReservationsV1ReservationLocation_universal_d_Unit = Unit;\n  const tableReservationsV1ReservationLocation_universal_d_Unit: typeof Unit;\n  type tableReservationsV1ReservationLocation_universal_d_SeatPacing = SeatPacing;\n  type tableReservationsV1ReservationLocation_universal_d_PartyPacing = PartyPacing;\n  type tableReservationsV1ReservationLocation_universal_d_PartiesSize = PartiesSize;\n  type tableReservationsV1ReservationLocation_universal_d_PartySize = PartySize;\n  type tableReservationsV1ReservationLocation_universal_d_NoticePeriod = NoticePeriod;\n  type tableReservationsV1ReservationLocation_universal_d_TurnoverTimeRule = TurnoverTimeRule;\n  type tableReservationsV1ReservationLocation_universal_d_TurnoverRule = TurnoverRule;\n  type tableReservationsV1ReservationLocation_universal_d_ManualApproval = ManualApproval;\n  type tableReservationsV1ReservationLocation_universal_d_ManualApprovalValueOneOf = ManualApprovalValueOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_FieldType = FieldType;\n  const tableReservationsV1ReservationLocation_universal_d_FieldType: typeof FieldType;\n  type tableReservationsV1ReservationLocation_universal_d_TermsAndConditions = TermsAndConditions;\n  type tableReservationsV1ReservationLocation_universal_d_TermsAndConditionsValueOneOf = TermsAndConditionsValueOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_PrivacyPolicy = PrivacyPolicy;\n  type tableReservationsV1ReservationLocation_universal_d_PrivacyPolicyValueOneOf = PrivacyPolicyValueOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_CustomFieldDefinition = CustomFieldDefinition;\n  type tableReservationsV1ReservationLocation_universal_d_EmailMarketingCheckbox = EmailMarketingCheckbox;\n  type tableReservationsV1ReservationLocation_universal_d_OnlineReservations = OnlineReservations;\n  type tableReservationsV1ReservationLocation_universal_d_ReservationForm = ReservationForm;\n  type tableReservationsV1ReservationLocation_universal_d_MyReservationsField = MyReservationsField;\n  type tableReservationsV1ReservationLocation_universal_d_TableManagement = TableManagement;\n  type tableReservationsV1ReservationLocation_universal_d_ReservationPayment = ReservationPayment;\n  type tableReservationsV1ReservationLocation_universal_d_Location = Location;\n  type tableReservationsV1ReservationLocation_universal_d_Configuration = Configuration;\n  type tableReservationsV1ReservationLocation_universal_d_ExtendedFields = ExtendedFields;\n  type tableReservationsV1ReservationLocation_universal_d_InvalidateCache = InvalidateCache;\n  type tableReservationsV1ReservationLocation_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_App = App;\n  type tableReservationsV1ReservationLocation_universal_d_Page = Page;\n  type tableReservationsV1ReservationLocation_universal_d_URI = URI;\n  type tableReservationsV1ReservationLocation_universal_d_File = File;\n  type tableReservationsV1ReservationLocation_universal_d_GetReservationLocationRequest = GetReservationLocationRequest;\n  type tableReservationsV1ReservationLocation_universal_d_Set = Set;\n  const tableReservationsV1ReservationLocation_universal_d_Set: typeof Set;\n  type tableReservationsV1ReservationLocation_universal_d_GetReservationLocationResponse = GetReservationLocationResponse;\n  type tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationRequest = UpdateReservationLocationRequest;\n  type tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationResponse = UpdateReservationLocationResponse;\n  type tableReservationsV1ReservationLocation_universal_d_TablesDeleted = TablesDeleted;\n  type tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsRequest = QueryReservationLocationsRequest;\n  type tableReservationsV1ReservationLocation_universal_d_QueryV2 = QueryV2;\n  type tableReservationsV1ReservationLocation_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_Sorting = Sorting;\n  type tableReservationsV1ReservationLocation_universal_d_SortOrder = SortOrder;\n  const tableReservationsV1ReservationLocation_universal_d_SortOrder: typeof SortOrder;\n  type tableReservationsV1ReservationLocation_universal_d_Paging = Paging;\n  type tableReservationsV1ReservationLocation_universal_d_CursorPaging = CursorPaging;\n  type tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsResponse = QueryReservationLocationsResponse;\n  type tableReservationsV1ReservationLocation_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type tableReservationsV1ReservationLocation_universal_d_Cursors = Cursors;\n  type tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsRequest = ListReservationLocationsRequest;\n  type tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsResponse = ListReservationLocationsResponse;\n  type tableReservationsV1ReservationLocation_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type tableReservationsV1ReservationLocation_universal_d_DeleteOrphanReservationLocationRequest = DeleteOrphanReservationLocationRequest;\n  type tableReservationsV1ReservationLocation_universal_d_DeleteOrphanReservationLocationResponse = DeleteOrphanReservationLocationResponse;\n  type tableReservationsV1ReservationLocation_universal_d_MigrateOldRestaurantSettingsRequest = MigrateOldRestaurantSettingsRequest;\n  type tableReservationsV1ReservationLocation_universal_d_Mode = Mode;\n  const tableReservationsV1ReservationLocation_universal_d_Mode: typeof Mode;\n  type tableReservationsV1ReservationLocation_universal_d_MigrateOldRestaurantSettingsResponse = MigrateOldRestaurantSettingsResponse;\n  type tableReservationsV1ReservationLocation_universal_d_ParsedSettings = ParsedSettings;\n  type tableReservationsV1ReservationLocation_universal_d_OldScheduleInterval = OldScheduleInterval;\n  type tableReservationsV1ReservationLocation_universal_d_OldCustomField = OldCustomField;\n  type tableReservationsV1ReservationLocation_universal_d_OldPolicy = OldPolicy;\n  type tableReservationsV1ReservationLocation_universal_d_OldTerms = OldTerms;\n  type tableReservationsV1ReservationLocation_universal_d_OldScheduleException = OldScheduleException;\n  type tableReservationsV1ReservationLocation_universal_d_OldInstant = OldInstant;\n  type tableReservationsV1ReservationLocation_universal_d_MigrationParsingError = MigrationParsingError;\n  type tableReservationsV1ReservationLocation_universal_d_MigrationResult = MigrationResult;\n  type tableReservationsV1ReservationLocation_universal_d_CheckReservationLocationsCreatedRequest = CheckReservationLocationsCreatedRequest;\n  type tableReservationsV1ReservationLocation_universal_d_CheckReservationLocationsCreatedResponse = CheckReservationLocationsCreatedResponse;\n  type tableReservationsV1ReservationLocation_universal_d_DomainEvent = DomainEvent;\n  type tableReservationsV1ReservationLocation_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type tableReservationsV1ReservationLocation_universal_d_RestoreInfo = RestoreInfo;\n  type tableReservationsV1ReservationLocation_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type tableReservationsV1ReservationLocation_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type tableReservationsV1ReservationLocation_universal_d_ActionEvent = ActionEvent;\n  type tableReservationsV1ReservationLocation_universal_d_Empty = Empty;\n  type tableReservationsV1ReservationLocation_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type tableReservationsV1ReservationLocation_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_Asset = Asset;\n  type tableReservationsV1ReservationLocation_universal_d_State = State;\n  const tableReservationsV1ReservationLocation_universal_d_State: typeof State;\n  type tableReservationsV1ReservationLocation_universal_d_SiteCreated = SiteCreated;\n  type tableReservationsV1ReservationLocation_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const tableReservationsV1ReservationLocation_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type tableReservationsV1ReservationLocation_universal_d_Namespace = Namespace;\n  const tableReservationsV1ReservationLocation_universal_d_Namespace: typeof Namespace;\n  type tableReservationsV1ReservationLocation_universal_d_SiteTransferred = SiteTransferred;\n  type tableReservationsV1ReservationLocation_universal_d_SiteDeleted = SiteDeleted;\n  type tableReservationsV1ReservationLocation_universal_d_DeleteContext = DeleteContext;\n  type tableReservationsV1ReservationLocation_universal_d_DeleteStatus = DeleteStatus;\n  const tableReservationsV1ReservationLocation_universal_d_DeleteStatus: typeof DeleteStatus;\n  type tableReservationsV1ReservationLocation_universal_d_SiteUndeleted = SiteUndeleted;\n  type tableReservationsV1ReservationLocation_universal_d_SitePublished = SitePublished;\n  type tableReservationsV1ReservationLocation_universal_d_SiteUnpublished = SiteUnpublished;\n  type tableReservationsV1ReservationLocation_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type tableReservationsV1ReservationLocation_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type tableReservationsV1ReservationLocation_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type tableReservationsV1ReservationLocation_universal_d_ServiceRemoved = ServiceRemoved;\n  type tableReservationsV1ReservationLocation_universal_d_SiteRenamed = SiteRenamed;\n  type tableReservationsV1ReservationLocation_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type tableReservationsV1ReservationLocation_universal_d_NamespaceChanged = NamespaceChanged;\n  type tableReservationsV1ReservationLocation_universal_d_StudioAssigned = StudioAssigned;\n  type tableReservationsV1ReservationLocation_universal_d_StudioUnassigned = StudioUnassigned;\n  type tableReservationsV1ReservationLocation_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n  type tableReservationsV1ReservationLocation_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n  type tableReservationsV1ReservationLocation_universal_d_Properties = Properties;\n  type tableReservationsV1ReservationLocation_universal_d_Categories = Categories;\n  type tableReservationsV1ReservationLocation_universal_d_Locale = Locale;\n  type tableReservationsV1ReservationLocation_universal_d_V4Address = V4Address;\n  type tableReservationsV1ReservationLocation_universal_d_AddressHint = AddressHint;\n  type tableReservationsV1ReservationLocation_universal_d_PlacementType = PlacementType;\n  const tableReservationsV1ReservationLocation_universal_d_PlacementType: typeof PlacementType;\n  type tableReservationsV1ReservationLocation_universal_d_GeoCoordinates = GeoCoordinates;\n  type tableReservationsV1ReservationLocation_universal_d_V4BusinessSchedule = V4BusinessSchedule;\n  type tableReservationsV1ReservationLocation_universal_d_V4TimePeriod = V4TimePeriod;\n  type tableReservationsV1ReservationLocation_universal_d_V4DayOfWeek = V4DayOfWeek;\n  const tableReservationsV1ReservationLocation_universal_d_V4DayOfWeek: typeof V4DayOfWeek;\n  type tableReservationsV1ReservationLocation_universal_d_V4SpecialHourPeriod = V4SpecialHourPeriod;\n  type tableReservationsV1ReservationLocation_universal_d_Multilingual = Multilingual;\n  type tableReservationsV1ReservationLocation_universal_d_SupportedLanguage = SupportedLanguage;\n  type tableReservationsV1ReservationLocation_universal_d_ResolutionMethod = ResolutionMethod;\n  const tableReservationsV1ReservationLocation_universal_d_ResolutionMethod: typeof ResolutionMethod;\n  type tableReservationsV1ReservationLocation_universal_d_ConsentPolicy = ConsentPolicy;\n  type tableReservationsV1ReservationLocation_universal_d_Translation = Translation;\n  type tableReservationsV1ReservationLocation_universal_d_ChangeContext = ChangeContext;\n  type tableReservationsV1ReservationLocation_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_PropertiesChange = PropertiesChange;\n  type tableReservationsV1ReservationLocation_universal_d_V4SiteCreated = V4SiteCreated;\n  type tableReservationsV1ReservationLocation_universal_d_SiteCloned = SiteCloned;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureEvent = FeatureEvent;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureEventEventOneOf = FeatureEventEventOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureEnabled = FeatureEnabled;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureEnabledReasonOneOf = FeatureEnabledReasonOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_Feature = Feature;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureQuantityInfoOneOf = FeatureQuantityInfoOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureContext = FeatureContext;\n  type tableReservationsV1ReservationLocation_universal_d_BooleanFeature = BooleanFeature;\n  type tableReservationsV1ReservationLocation_universal_d_QuotaFeature = QuotaFeature;\n  type tableReservationsV1ReservationLocation_universal_d_FeaturePeriod = FeaturePeriod;\n  const tableReservationsV1ReservationLocation_universal_d_FeaturePeriod: typeof FeaturePeriod;\n  type tableReservationsV1ReservationLocation_universal_d_QuotaInfo = QuotaInfo;\n  type tableReservationsV1ReservationLocation_universal_d_TransferredFromAnotherAccountReason = TransferredFromAnotherAccountReason;\n  type tableReservationsV1ReservationLocation_universal_d_ReassignedFromSiteReason = ReassignedFromSiteReason;\n  type tableReservationsV1ReservationLocation_universal_d_AssignedFromFloatingReason = AssignedFromFloatingReason;\n  type tableReservationsV1ReservationLocation_universal_d_NewFeatureReason = NewFeatureReason;\n  type tableReservationsV1ReservationLocation_universal_d_ContractSwitchedReason = ContractSwitchedReason;\n  type tableReservationsV1ReservationLocation_universal_d_ManualFeatureCreationReason = ManualFeatureCreationReason;\n  type tableReservationsV1ReservationLocation_universal_d_MigratedFromLegacyReason = MigratedFromLegacyReason;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureDisabled = FeatureDisabled;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureDisabledReasonOneOf = FeatureDisabledReasonOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_UnAssingedToFloatingReason = UnAssingedToFloatingReason;\n  type tableReservationsV1ReservationLocation_universal_d_ReplacedByAnotherSubscriptionReason = ReplacedByAnotherSubscriptionReason;\n  type tableReservationsV1ReservationLocation_universal_d_ReassignedToAnotherSiteReason = ReassignedToAnotherSiteReason;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureUpdated = FeatureUpdated;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureUpdatedPreviousQuantityInfoOneOf = FeatureUpdatedPreviousQuantityInfoOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureUpdatedReasonOneOf = FeatureUpdatedReasonOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureCancelled = FeatureCancelled;\n  type tableReservationsV1ReservationLocation_universal_d_FeatureCancelledReasonOneOf = FeatureCancelledReasonOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_TransferredToAnotherAccountReason = TransferredToAnotherAccountReason;\n  type tableReservationsV1ReservationLocation_universal_d_CancelRequestedReason = CancelRequestedReason;\n  type tableReservationsV1ReservationLocation_universal_d_MessageEnvelope = MessageEnvelope;\n  type tableReservationsV1ReservationLocation_universal_d_IdentificationData = IdentificationData;\n  type tableReservationsV1ReservationLocation_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type tableReservationsV1ReservationLocation_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const tableReservationsV1ReservationLocation_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const tableReservationsV1ReservationLocation_universal_d_getReservationLocation: typeof getReservationLocation;\n  type tableReservationsV1ReservationLocation_universal_d_GetReservationLocationOptions = GetReservationLocationOptions;\n  const tableReservationsV1ReservationLocation_universal_d_updateReservationLocation: typeof updateReservationLocation;\n  type tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocation = UpdateReservationLocation;\n  type tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationOptions = UpdateReservationLocationOptions;\n  const tableReservationsV1ReservationLocation_universal_d_queryReservationLocations: typeof queryReservationLocations;\n  type tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsOptions = QueryReservationLocationsOptions;\n  type tableReservationsV1ReservationLocation_universal_d_ReservationLocationsQueryResult = ReservationLocationsQueryResult;\n  type tableReservationsV1ReservationLocation_universal_d_ReservationLocationsQueryBuilder = ReservationLocationsQueryBuilder;\n  const tableReservationsV1ReservationLocation_universal_d_listReservationLocations: typeof listReservationLocations;\n  type tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsOptions = ListReservationLocationsOptions;\n  namespace tableReservationsV1ReservationLocation_universal_d {\n    export {\n      tableReservationsV1ReservationLocation_universal_d_ReservationLocation as ReservationLocation,\n      tableReservationsV1ReservationLocation_universal_d_StreetAddress as StreetAddress,\n      tableReservationsV1ReservationLocation_universal_d_AddressLocation as AddressLocation,\n      tableReservationsV1ReservationLocation_universal_d_Address as Address,\n      tableReservationsV1ReservationLocation_universal_d_BusinessSchedule as BusinessSchedule,\n      tableReservationsV1ReservationLocation_universal_d_TimePeriod as TimePeriod,\n      tableReservationsV1ReservationLocation_universal_d_DayOfWeek as DayOfWeek,\n      tableReservationsV1ReservationLocation_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      tableReservationsV1ReservationLocation_universal_d_TableDefinition as TableDefinition,\n      TableCombination$1 as TableCombination,\n      tableReservationsV1ReservationLocation_universal_d_Unit as Unit,\n      tableReservationsV1ReservationLocation_universal_d_SeatPacing as SeatPacing,\n      tableReservationsV1ReservationLocation_universal_d_PartyPacing as PartyPacing,\n      tableReservationsV1ReservationLocation_universal_d_PartiesSize as PartiesSize,\n      tableReservationsV1ReservationLocation_universal_d_PartySize as PartySize,\n      tableReservationsV1ReservationLocation_universal_d_NoticePeriod as NoticePeriod,\n      tableReservationsV1ReservationLocation_universal_d_TurnoverTimeRule as TurnoverTimeRule,\n      tableReservationsV1ReservationLocation_universal_d_TurnoverRule as TurnoverRule,\n      tableReservationsV1ReservationLocation_universal_d_ManualApproval as ManualApproval,\n      tableReservationsV1ReservationLocation_universal_d_ManualApprovalValueOneOf as ManualApprovalValueOneOf,\n      tableReservationsV1ReservationLocation_universal_d_FieldType as FieldType,\n      tableReservationsV1ReservationLocation_universal_d_TermsAndConditions as TermsAndConditions,\n      tableReservationsV1ReservationLocation_universal_d_TermsAndConditionsValueOneOf as TermsAndConditionsValueOneOf,\n      tableReservationsV1ReservationLocation_universal_d_PrivacyPolicy as PrivacyPolicy,\n      tableReservationsV1ReservationLocation_universal_d_PrivacyPolicyValueOneOf as PrivacyPolicyValueOneOf,\n      tableReservationsV1ReservationLocation_universal_d_CustomFieldDefinition as CustomFieldDefinition,\n      tableReservationsV1ReservationLocation_universal_d_EmailMarketingCheckbox as EmailMarketingCheckbox,\n      tableReservationsV1ReservationLocation_universal_d_OnlineReservations as OnlineReservations,\n      tableReservationsV1ReservationLocation_universal_d_ReservationForm as ReservationForm,\n      tableReservationsV1ReservationLocation_universal_d_MyReservationsField as MyReservationsField,\n      tableReservationsV1ReservationLocation_universal_d_TableManagement as TableManagement,\n      tableReservationsV1ReservationLocation_universal_d_ReservationPayment as ReservationPayment,\n      tableReservationsV1ReservationLocation_universal_d_Location as Location,\n      tableReservationsV1ReservationLocation_universal_d_Configuration as Configuration,\n      tableReservationsV1ReservationLocation_universal_d_ExtendedFields as ExtendedFields,\n      tableReservationsV1ReservationLocation_universal_d_InvalidateCache as InvalidateCache,\n      tableReservationsV1ReservationLocation_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      tableReservationsV1ReservationLocation_universal_d_App as App,\n      tableReservationsV1ReservationLocation_universal_d_Page as Page,\n      tableReservationsV1ReservationLocation_universal_d_URI as URI,\n      tableReservationsV1ReservationLocation_universal_d_File as File,\n      tableReservationsV1ReservationLocation_universal_d_GetReservationLocationRequest as GetReservationLocationRequest,\n      tableReservationsV1ReservationLocation_universal_d_Set as Set,\n      tableReservationsV1ReservationLocation_universal_d_GetReservationLocationResponse as GetReservationLocationResponse,\n      tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationRequest as UpdateReservationLocationRequest,\n      tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationResponse as UpdateReservationLocationResponse,\n      tableReservationsV1ReservationLocation_universal_d_TablesDeleted as TablesDeleted,\n      tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsRequest as QueryReservationLocationsRequest,\n      tableReservationsV1ReservationLocation_universal_d_QueryV2 as QueryV2,\n      tableReservationsV1ReservationLocation_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      tableReservationsV1ReservationLocation_universal_d_Sorting as Sorting,\n      tableReservationsV1ReservationLocation_universal_d_SortOrder as SortOrder,\n      tableReservationsV1ReservationLocation_universal_d_Paging as Paging,\n      tableReservationsV1ReservationLocation_universal_d_CursorPaging as CursorPaging,\n      tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsResponse as QueryReservationLocationsResponse,\n      tableReservationsV1ReservationLocation_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      tableReservationsV1ReservationLocation_universal_d_Cursors as Cursors,\n      tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsRequest as ListReservationLocationsRequest,\n      tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsResponse as ListReservationLocationsResponse,\n      tableReservationsV1ReservationLocation_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      tableReservationsV1ReservationLocation_universal_d_DeleteOrphanReservationLocationRequest as DeleteOrphanReservationLocationRequest,\n      tableReservationsV1ReservationLocation_universal_d_DeleteOrphanReservationLocationResponse as DeleteOrphanReservationLocationResponse,\n      tableReservationsV1ReservationLocation_universal_d_MigrateOldRestaurantSettingsRequest as MigrateOldRestaurantSettingsRequest,\n      tableReservationsV1ReservationLocation_universal_d_Mode as Mode,\n      tableReservationsV1ReservationLocation_universal_d_MigrateOldRestaurantSettingsResponse as MigrateOldRestaurantSettingsResponse,\n      tableReservationsV1ReservationLocation_universal_d_ParsedSettings as ParsedSettings,\n      tableReservationsV1ReservationLocation_universal_d_OldScheduleInterval as OldScheduleInterval,\n      tableReservationsV1ReservationLocation_universal_d_OldCustomField as OldCustomField,\n      tableReservationsV1ReservationLocation_universal_d_OldPolicy as OldPolicy,\n      tableReservationsV1ReservationLocation_universal_d_OldTerms as OldTerms,\n      tableReservationsV1ReservationLocation_universal_d_OldScheduleException as OldScheduleException,\n      tableReservationsV1ReservationLocation_universal_d_OldInstant as OldInstant,\n      tableReservationsV1ReservationLocation_universal_d_MigrationParsingError as MigrationParsingError,\n      tableReservationsV1ReservationLocation_universal_d_MigrationResult as MigrationResult,\n      tableReservationsV1ReservationLocation_universal_d_CheckReservationLocationsCreatedRequest as CheckReservationLocationsCreatedRequest,\n      tableReservationsV1ReservationLocation_universal_d_CheckReservationLocationsCreatedResponse as CheckReservationLocationsCreatedResponse,\n      tableReservationsV1ReservationLocation_universal_d_DomainEvent as DomainEvent,\n      tableReservationsV1ReservationLocation_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      tableReservationsV1ReservationLocation_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      tableReservationsV1ReservationLocation_universal_d_RestoreInfo as RestoreInfo,\n      tableReservationsV1ReservationLocation_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      tableReservationsV1ReservationLocation_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      tableReservationsV1ReservationLocation_universal_d_ActionEvent as ActionEvent,\n      tableReservationsV1ReservationLocation_universal_d_Empty as Empty,\n      tableReservationsV1ReservationLocation_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      tableReservationsV1ReservationLocation_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      tableReservationsV1ReservationLocation_universal_d_Asset as Asset,\n      tableReservationsV1ReservationLocation_universal_d_State as State,\n      tableReservationsV1ReservationLocation_universal_d_SiteCreated as SiteCreated,\n      tableReservationsV1ReservationLocation_universal_d_SiteCreatedContext as SiteCreatedContext,\n      tableReservationsV1ReservationLocation_universal_d_Namespace as Namespace,\n      tableReservationsV1ReservationLocation_universal_d_SiteTransferred as SiteTransferred,\n      tableReservationsV1ReservationLocation_universal_d_SiteDeleted as SiteDeleted,\n      tableReservationsV1ReservationLocation_universal_d_DeleteContext as DeleteContext,\n      tableReservationsV1ReservationLocation_universal_d_DeleteStatus as DeleteStatus,\n      tableReservationsV1ReservationLocation_universal_d_SiteUndeleted as SiteUndeleted,\n      tableReservationsV1ReservationLocation_universal_d_SitePublished as SitePublished,\n      tableReservationsV1ReservationLocation_universal_d_SiteUnpublished as SiteUnpublished,\n      tableReservationsV1ReservationLocation_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      tableReservationsV1ReservationLocation_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      tableReservationsV1ReservationLocation_universal_d_ServiceProvisioned as ServiceProvisioned,\n      tableReservationsV1ReservationLocation_universal_d_ServiceRemoved as ServiceRemoved,\n      tableReservationsV1ReservationLocation_universal_d_SiteRenamed as SiteRenamed,\n      tableReservationsV1ReservationLocation_universal_d_SiteHardDeleted as SiteHardDeleted,\n      tableReservationsV1ReservationLocation_universal_d_NamespaceChanged as NamespaceChanged,\n      tableReservationsV1ReservationLocation_universal_d_StudioAssigned as StudioAssigned,\n      tableReservationsV1ReservationLocation_universal_d_StudioUnassigned as StudioUnassigned,\n      tableReservationsV1ReservationLocation_universal_d_SitePropertiesNotification as SitePropertiesNotification,\n      tableReservationsV1ReservationLocation_universal_d_SitePropertiesEvent as SitePropertiesEvent,\n      tableReservationsV1ReservationLocation_universal_d_Properties as Properties,\n      tableReservationsV1ReservationLocation_universal_d_Categories as Categories,\n      tableReservationsV1ReservationLocation_universal_d_Locale as Locale,\n      tableReservationsV1ReservationLocation_universal_d_V4Address as V4Address,\n      tableReservationsV1ReservationLocation_universal_d_AddressHint as AddressHint,\n      tableReservationsV1ReservationLocation_universal_d_PlacementType as PlacementType,\n      tableReservationsV1ReservationLocation_universal_d_GeoCoordinates as GeoCoordinates,\n      tableReservationsV1ReservationLocation_universal_d_V4BusinessSchedule as V4BusinessSchedule,\n      tableReservationsV1ReservationLocation_universal_d_V4TimePeriod as V4TimePeriod,\n      tableReservationsV1ReservationLocation_universal_d_V4DayOfWeek as V4DayOfWeek,\n      tableReservationsV1ReservationLocation_universal_d_V4SpecialHourPeriod as V4SpecialHourPeriod,\n      tableReservationsV1ReservationLocation_universal_d_Multilingual as Multilingual,\n      tableReservationsV1ReservationLocation_universal_d_SupportedLanguage as SupportedLanguage,\n      tableReservationsV1ReservationLocation_universal_d_ResolutionMethod as ResolutionMethod,\n      tableReservationsV1ReservationLocation_universal_d_ConsentPolicy as ConsentPolicy,\n      tableReservationsV1ReservationLocation_universal_d_Translation as Translation,\n      tableReservationsV1ReservationLocation_universal_d_ChangeContext as ChangeContext,\n      tableReservationsV1ReservationLocation_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf,\n      tableReservationsV1ReservationLocation_universal_d_PropertiesChange as PropertiesChange,\n      tableReservationsV1ReservationLocation_universal_d_V4SiteCreated as V4SiteCreated,\n      tableReservationsV1ReservationLocation_universal_d_SiteCloned as SiteCloned,\n      tableReservationsV1ReservationLocation_universal_d_FeatureEvent as FeatureEvent,\n      tableReservationsV1ReservationLocation_universal_d_FeatureEventEventOneOf as FeatureEventEventOneOf,\n      tableReservationsV1ReservationLocation_universal_d_FeatureEnabled as FeatureEnabled,\n      tableReservationsV1ReservationLocation_universal_d_FeatureEnabledReasonOneOf as FeatureEnabledReasonOneOf,\n      tableReservationsV1ReservationLocation_universal_d_Feature as Feature,\n      tableReservationsV1ReservationLocation_universal_d_FeatureQuantityInfoOneOf as FeatureQuantityInfoOneOf,\n      tableReservationsV1ReservationLocation_universal_d_FeatureContext as FeatureContext,\n      tableReservationsV1ReservationLocation_universal_d_BooleanFeature as BooleanFeature,\n      tableReservationsV1ReservationLocation_universal_d_QuotaFeature as QuotaFeature,\n      tableReservationsV1ReservationLocation_universal_d_FeaturePeriod as FeaturePeriod,\n      tableReservationsV1ReservationLocation_universal_d_QuotaInfo as QuotaInfo,\n      tableReservationsV1ReservationLocation_universal_d_TransferredFromAnotherAccountReason as TransferredFromAnotherAccountReason,\n      tableReservationsV1ReservationLocation_universal_d_ReassignedFromSiteReason as ReassignedFromSiteReason,\n      tableReservationsV1ReservationLocation_universal_d_AssignedFromFloatingReason as AssignedFromFloatingReason,\n      tableReservationsV1ReservationLocation_universal_d_NewFeatureReason as NewFeatureReason,\n      tableReservationsV1ReservationLocation_universal_d_ContractSwitchedReason as ContractSwitchedReason,\n      tableReservationsV1ReservationLocation_universal_d_ManualFeatureCreationReason as ManualFeatureCreationReason,\n      tableReservationsV1ReservationLocation_universal_d_MigratedFromLegacyReason as MigratedFromLegacyReason,\n      tableReservationsV1ReservationLocation_universal_d_FeatureDisabled as FeatureDisabled,\n      tableReservationsV1ReservationLocation_universal_d_FeatureDisabledReasonOneOf as FeatureDisabledReasonOneOf,\n      tableReservationsV1ReservationLocation_universal_d_UnAssingedToFloatingReason as UnAssingedToFloatingReason,\n      tableReservationsV1ReservationLocation_universal_d_ReplacedByAnotherSubscriptionReason as ReplacedByAnotherSubscriptionReason,\n      tableReservationsV1ReservationLocation_universal_d_ReassignedToAnotherSiteReason as ReassignedToAnotherSiteReason,\n      tableReservationsV1ReservationLocation_universal_d_FeatureUpdated as FeatureUpdated,\n      tableReservationsV1ReservationLocation_universal_d_FeatureUpdatedPreviousQuantityInfoOneOf as FeatureUpdatedPreviousQuantityInfoOneOf,\n      tableReservationsV1ReservationLocation_universal_d_FeatureUpdatedReasonOneOf as FeatureUpdatedReasonOneOf,\n      tableReservationsV1ReservationLocation_universal_d_FeatureCancelled as FeatureCancelled,\n      tableReservationsV1ReservationLocation_universal_d_FeatureCancelledReasonOneOf as FeatureCancelledReasonOneOf,\n      tableReservationsV1ReservationLocation_universal_d_TransferredToAnotherAccountReason as TransferredToAnotherAccountReason,\n      tableReservationsV1ReservationLocation_universal_d_CancelRequestedReason as CancelRequestedReason,\n      tableReservationsV1ReservationLocation_universal_d_MessageEnvelope as MessageEnvelope,\n      tableReservationsV1ReservationLocation_universal_d_IdentificationData as IdentificationData,\n      tableReservationsV1ReservationLocation_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      tableReservationsV1ReservationLocation_universal_d_WebhookIdentityType as WebhookIdentityType,\n      tableReservationsV1ReservationLocation_universal_d_getReservationLocation as getReservationLocation,\n      tableReservationsV1ReservationLocation_universal_d_GetReservationLocationOptions as GetReservationLocationOptions,\n      tableReservationsV1ReservationLocation_universal_d_updateReservationLocation as updateReservationLocation,\n      tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocation as UpdateReservationLocation,\n      tableReservationsV1ReservationLocation_universal_d_UpdateReservationLocationOptions as UpdateReservationLocationOptions,\n      tableReservationsV1ReservationLocation_universal_d_queryReservationLocations as queryReservationLocations,\n      tableReservationsV1ReservationLocation_universal_d_QueryReservationLocationsOptions as QueryReservationLocationsOptions,\n      tableReservationsV1ReservationLocation_universal_d_ReservationLocationsQueryResult as ReservationLocationsQueryResult,\n      tableReservationsV1ReservationLocation_universal_d_ReservationLocationsQueryBuilder as ReservationLocationsQueryBuilder,\n      tableReservationsV1ReservationLocation_universal_d_listReservationLocations as listReservationLocations,\n      tableReservationsV1ReservationLocation_universal_d_ListReservationLocationsOptions as ListReservationLocationsOptions,\n    };\n  }\n  \n  interface TimeSlot {\n      /** Start date and time of this time slot. */\n      startDate?: Date;\n      /** Duration in minutes of this time slot. */\n      duration?: number;\n      /**\n       * Availability status of this time slot.\n       *\n       * * `AVAILABLE`: The restaurant can accommodate a party of the given size in this time slot.\n       * * `UNAVAILABLE`: The restaurant can't accommodate a party of the given size in this time slot.\n       * * `NON_WORKING_HOURS`: The restaurant is not open during this time slot.\n       */\n      status?: Status;\n      /**\n       * Table combinations.\n       * @internal\n       */\n      tableCombinations?: TimeSlotTableCombination[];\n      /** Whether manual approval is required to make a reservation in this time slot. */\n      manualApproval?: boolean | null;\n      /**\n       * Whether payment is required to make a reservation in this time slot.\n       * @internal\n       */\n      paymentRequired?: boolean | null;\n  }\n  enum Status {\n      AVAILABLE = \"AVAILABLE\",\n      UNAVAILABLE = \"UNAVAILABLE\",\n      NON_WORKING_HOURS = \"NON_WORKING_HOURS\"\n  }\n  /** Table combination. */\n  interface TimeSlotTableCombination {\n      /** Table IDs of the tables in the combination. */\n      tableIds?: string[];\n  }\n  interface GetTimeSlotsRequest {\n      /** ID of the reservation location for which to retrieve time slots. */\n      reservationLocationId: string;\n      /** Date and time for which to retrieve a time slot in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#coordinated_Universal_Time_(UTC)) format. */\n      date: Date;\n      /**\n       * Duration in minutes of the time slot.\n       *\n       * Min: `5`\n       */\n      duration?: number | null;\n      /**\n       * Size of the party that needs to be seated during this time slot.\n       *\n       * Min: `1`\n       */\n      partySize: number | null;\n      /** The number of time slots to retrieve before the given `date`. */\n      slotsBefore?: number | null;\n      /** The number of time slots to retrieve after the given `date`. */\n      slotsAfter?: number | null;\n  }\n  interface GetTimeSlotsResponse {\n      /** A list of time slots and their availability according to the given party size. */\n      timeSlots?: TimeSlot[];\n  }\n  interface CheckReservationDetailsRequest {\n      /** Reservation location ID. */\n      reservationLocationId: string;\n      /** Date. */\n      date: Date;\n      /** Duration. */\n      duration: number | null;\n      /** Party size. */\n      partySize: number | null;\n      /** Reservation, that should be ignored during the check. */\n      excludeReservationId?: string | null;\n      /** Requested table combination. */\n      tableIds?: string[];\n  }\n  interface CheckReservationDetailsResponse {\n      /** Tables states. */\n      tables?: Table[];\n      /** Table combinations states. */\n      tableCombinations?: TableCombination[];\n      /** Reservation location conflicts. */\n      reservationLocationConflicts?: ReservationLocationConflict[];\n      /** Requested table combination state. */\n      requestedTableCombination?: TableCombination;\n      /** List of reserved tables with corresponding reservation ids. */\n      tableReservedConflicts?: TableReservedConflict[];\n      /** Whether manual approval is required to make a reservation in this time slot. */\n      manualApproval?: boolean | null;\n      /** Whether payment is required to make a reservation in this time slot. */\n      paymentRequired?: boolean | null;\n  }\n  interface Table {\n      _id?: string;\n      /** Table conflicts. */\n      tableConflicts?: TableConflict[];\n  }\n  interface TableConflict {\n      /** Conflict type. */\n      type?: TableConflictType;\n  }\n  enum TableConflictType {\n      UNKNOWN = \"UNKNOWN\",\n      TABLE_RESERVED = \"TABLE_RESERVED\",\n      TABLE_TOO_BIG = \"TABLE_TOO_BIG\",\n      TABLE_TOO_SMALL = \"TABLE_TOO_SMALL\",\n      OFFLINE_ONLY = \"OFFLINE_ONLY\"\n  }\n  interface TableCombination {\n      tableIds?: string[];\n      tableCombinationConflicts?: TableCombinationConflict[];\n  }\n  interface TableCombinationConflict {\n      /** Conflict type. */\n      type?: TableCombinationConflictType;\n  }\n  enum TableCombinationConflictType {\n      UNKNOWN = \"UNKNOWN\",\n      RESERVED = \"RESERVED\",\n      TOO_BIG = \"TOO_BIG\",\n      TOO_SMALL = \"TOO_SMALL\",\n      OFFLINE_ONLY = \"OFFLINE_ONLY\"\n  }\n  interface ReservationLocationConflict {\n      /** Reservation location conflict type. */\n      type?: Type;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      PARTY_PACING = \"PARTY_PACING\",\n      SEAT_PACING = \"SEAT_PACING\"\n  }\n  interface TableReservedConflict {\n      /** Table id. */\n      tableId?: string;\n      /** List of reservation ids. */\n      reservationIds?: string[];\n  }\n  interface CheckTimeSlotRequest {\n      /** ID of the reservation location for which to check the time slot. */\n      reservationLocationId: string;\n      /** Date and time of the time slot to check. */\n      date: Date;\n      /**\n       * Duration of the time slot in minutes .\n       *\n       * Min: `5`\n       */\n      duration: number | null;\n      /** Party size to check the restaurant's availability for. */\n      partySize: number | null;\n      /**\n       * ID of a reservation to ignore during the check.\n       *\n       * Use this when rescheduling a reservation to exclude it in its current state from the availability calculations.\n       */\n      excludeReservationId?: string | null;\n  }\n  interface CheckTimeSlotResponse {\n      /** Table combinations and their availability information. */\n      tableCombinationAvailabilities?: TableCombinationAvailability[];\n      /** Reservation location conflicts that would occur by making a reservation for the given party size in the given time slot. */\n      reservationLocationConflicts?: Type[];\n  }\n  interface TableCombinationAvailability {\n      /** IDs of the tables in the table combination. */\n      tableIds?: string[];\n      /** Conflicts that would be generated by attempting to accommodate the proposed reservation using the table combination. */\n      tableCombinationConflicts?: TableCombinationConflictType[];\n  }\n  /**\n   * Returns a list of time slots at a given restaurant on a given `date`, and their availability for a given `partySize`.\n   *\n   * Without passing optional parameters, the list will contain a single time slot at the given `date`.\n   * Use `slotsBefore` and `slotsAfter` to get additional time slots before and after the given `date`.\n   *\n   * If you do not provide a `duration`, the duration will be calculated automatically based on the reservation location's configuration.\n   * The reservation location's settings used to determine the duration are its `defaultTurnoverTime` and `turnoverTimeRules`. These specify how much time should be allotted for a reservation of a party of a given size.\n   *\n   * The `startDate`s of time slots in the response are 15 minutes apart regardless of the `duration` provided.\n   * @param reservationLocationId - ID of the reservation location for which to retrieve time slots.\n   * @param date - Date and time for which to retrieve a time slot in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#coordinated_Universal_Time_(UTC)) format.\n   * @param partySize - Size of the party that needs to be seated during this time slot.\n   *\n   * Min: `1`\n   * @public\n   * @documentationMaturity preview\n   * @requiredField date\n   * @requiredField partySize\n   * @requiredField reservationLocationId\n   * @param options - Options for retrieving the time slots.\n   */\n  function getTimeSlots(reservationLocationId: string, date: Date, partySize: number | null, options?: GetTimeSlotsOptions): Promise<GetTimeSlotsResponse>;\n  interface GetTimeSlotsOptions {\n      /**\n       * Duration in minutes of the time slot.\n       *\n       * Min: `5`\n       */\n      duration?: number | null;\n      /** The number of time slots to retrieve before the given `date`. */\n      slotsBefore?: number | null;\n      /** The number of time slots to retrieve after the given `date`. */\n      slotsAfter?: number | null;\n  }\n  /**\n   * Check reservation details.\n   * @param reservationLocationId - Reservation location ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.date\n   * @requiredField options.duration\n   * @requiredField options.partySize\n   * @requiredField reservationLocationId\n   * @adminMethod\n   */\n  function checkReservationDetails(reservationLocationId: string, options?: CheckReservationDetailsOptions): Promise<CheckReservationDetailsResponse>;\n  interface CheckReservationDetailsOptions {\n      /** Date. */\n      date: Date;\n      /** Duration. */\n      duration: number | null;\n      /** Party size. */\n      partySize: number | null;\n      /** Reservation, that should be ignored during the check. */\n      excludeReservationId?: string | null;\n      /** Requested table combination. */\n      tableIds?: string[];\n  }\n  /**\n   * Checks a restaurant's availability to accommodate a reservation for a given party size in a given time slot.\n   *\n   *  This checkTimeSlot() returns availability information for the restaurant's table combinations, and flags any party pacing or seat pacing conflicts that the proposed reservation would cause.\n   * @param reservationLocationId - ID of the reservation location for which to check the time slot.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.date\n   * @requiredField options.duration\n   * @requiredField options.partySize\n   * @requiredField reservationLocationId\n   * @adminMethod\n   */\n  function checkTimeSlot(reservationLocationId: string, options?: CheckTimeSlotOptions): Promise<CheckTimeSlotResponse>;\n  interface CheckTimeSlotOptions {\n      /** Date and time of the time slot to check. */\n      date: Date;\n      /**\n       * Duration of the time slot in minutes .\n       *\n       * Min: `5`\n       */\n      duration: number | null;\n      /** Party size to check the restaurant's availability for. */\n      partySize: number | null;\n      /**\n       * ID of a reservation to ignore during the check.\n       *\n       * Use this when rescheduling a reservation to exclude it in its current state from the availability calculations.\n       */\n      excludeReservationId?: string | null;\n  }\n  \n  type tableReservationsV1TimeSlot_universal_d_TimeSlot = TimeSlot;\n  type tableReservationsV1TimeSlot_universal_d_Status = Status;\n  const tableReservationsV1TimeSlot_universal_d_Status: typeof Status;\n  type tableReservationsV1TimeSlot_universal_d_TimeSlotTableCombination = TimeSlotTableCombination;\n  type tableReservationsV1TimeSlot_universal_d_GetTimeSlotsRequest = GetTimeSlotsRequest;\n  type tableReservationsV1TimeSlot_universal_d_GetTimeSlotsResponse = GetTimeSlotsResponse;\n  type tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsRequest = CheckReservationDetailsRequest;\n  type tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsResponse = CheckReservationDetailsResponse;\n  type tableReservationsV1TimeSlot_universal_d_Table = Table;\n  type tableReservationsV1TimeSlot_universal_d_TableConflict = TableConflict;\n  type tableReservationsV1TimeSlot_universal_d_TableConflictType = TableConflictType;\n  const tableReservationsV1TimeSlot_universal_d_TableConflictType: typeof TableConflictType;\n  type tableReservationsV1TimeSlot_universal_d_TableCombination = TableCombination;\n  type tableReservationsV1TimeSlot_universal_d_TableCombinationConflict = TableCombinationConflict;\n  type tableReservationsV1TimeSlot_universal_d_TableCombinationConflictType = TableCombinationConflictType;\n  const tableReservationsV1TimeSlot_universal_d_TableCombinationConflictType: typeof TableCombinationConflictType;\n  type tableReservationsV1TimeSlot_universal_d_ReservationLocationConflict = ReservationLocationConflict;\n  type tableReservationsV1TimeSlot_universal_d_Type = Type;\n  const tableReservationsV1TimeSlot_universal_d_Type: typeof Type;\n  type tableReservationsV1TimeSlot_universal_d_TableReservedConflict = TableReservedConflict;\n  type tableReservationsV1TimeSlot_universal_d_CheckTimeSlotRequest = CheckTimeSlotRequest;\n  type tableReservationsV1TimeSlot_universal_d_CheckTimeSlotResponse = CheckTimeSlotResponse;\n  type tableReservationsV1TimeSlot_universal_d_TableCombinationAvailability = TableCombinationAvailability;\n  const tableReservationsV1TimeSlot_universal_d_getTimeSlots: typeof getTimeSlots;\n  type tableReservationsV1TimeSlot_universal_d_GetTimeSlotsOptions = GetTimeSlotsOptions;\n  const tableReservationsV1TimeSlot_universal_d_checkReservationDetails: typeof checkReservationDetails;\n  type tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsOptions = CheckReservationDetailsOptions;\n  const tableReservationsV1TimeSlot_universal_d_checkTimeSlot: typeof checkTimeSlot;\n  type tableReservationsV1TimeSlot_universal_d_CheckTimeSlotOptions = CheckTimeSlotOptions;\n  namespace tableReservationsV1TimeSlot_universal_d {\n    export {\n      tableReservationsV1TimeSlot_universal_d_TimeSlot as TimeSlot,\n      tableReservationsV1TimeSlot_universal_d_Status as Status,\n      tableReservationsV1TimeSlot_universal_d_TimeSlotTableCombination as TimeSlotTableCombination,\n      tableReservationsV1TimeSlot_universal_d_GetTimeSlotsRequest as GetTimeSlotsRequest,\n      tableReservationsV1TimeSlot_universal_d_GetTimeSlotsResponse as GetTimeSlotsResponse,\n      tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsRequest as CheckReservationDetailsRequest,\n      tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsResponse as CheckReservationDetailsResponse,\n      tableReservationsV1TimeSlot_universal_d_Table as Table,\n      tableReservationsV1TimeSlot_universal_d_TableConflict as TableConflict,\n      tableReservationsV1TimeSlot_universal_d_TableConflictType as TableConflictType,\n      tableReservationsV1TimeSlot_universal_d_TableCombination as TableCombination,\n      tableReservationsV1TimeSlot_universal_d_TableCombinationConflict as TableCombinationConflict,\n      tableReservationsV1TimeSlot_universal_d_TableCombinationConflictType as TableCombinationConflictType,\n      tableReservationsV1TimeSlot_universal_d_ReservationLocationConflict as ReservationLocationConflict,\n      tableReservationsV1TimeSlot_universal_d_Type as Type,\n      tableReservationsV1TimeSlot_universal_d_TableReservedConflict as TableReservedConflict,\n      tableReservationsV1TimeSlot_universal_d_CheckTimeSlotRequest as CheckTimeSlotRequest,\n      tableReservationsV1TimeSlot_universal_d_CheckTimeSlotResponse as CheckTimeSlotResponse,\n      tableReservationsV1TimeSlot_universal_d_TableCombinationAvailability as TableCombinationAvailability,\n      tableReservationsV1TimeSlot_universal_d_getTimeSlots as getTimeSlots,\n      tableReservationsV1TimeSlot_universal_d_GetTimeSlotsOptions as GetTimeSlotsOptions,\n      tableReservationsV1TimeSlot_universal_d_checkReservationDetails as checkReservationDetails,\n      tableReservationsV1TimeSlot_universal_d_CheckReservationDetailsOptions as CheckReservationDetailsOptions,\n      tableReservationsV1TimeSlot_universal_d_checkTimeSlot as checkTimeSlot,\n      tableReservationsV1TimeSlot_universal_d_CheckTimeSlotOptions as CheckTimeSlotOptions,\n    };\n  }\n  \n  export { tableReservationsV1ReservationLocation_universal_d as reservationLocations, tableReservationsV1Reservation_universal_d as reservations, tableReservationsV1TimeSlot_universal_d as timeSlots };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-tax-validation-spi-v1-tax-id-validator-spi.d.ts",
      "content": "declare module \"interfaces-billing-tax-validation-spi-v1-tax-id-validator-spi\" {\n  interface ValidateTaxIdRequest {\n      /** The tax id */\n      taxId?: string;\n      /** The tax type */\n      taxType?: string;\n  }\n  interface ValidateTaxIdResponse {\n      /** Whether the tax id is valid */\n      valid?: boolean;\n      /** The time in which the validation was performed */\n      validationDate?: Date;\n  }\n  interface TaxIdValidatorSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the tax id validator */\n      validationProvider?: string;\n      /** Configuration of supported tax types */\n      taxTypesConfig?: TaxTypesConfig;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  interface TaxTypesConfig {\n      /** List of supported tax types, as provided in ValidateTaxIdRequest and persisted in TaxIdValidationService */\n      supportedTaxTypes?: string[];\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ValidateTaxIdOptions {\n      /** The tax id */\n      taxId?: string;\n      /** The tax type */\n      taxType?: string;\n  }\n  \n  export { AlternativeUri, Context, IdentificationData, IdentificationDataIdOneOf, IdentityType, SpiBaseUri, TaxIdValidatorSpiConfig, TaxTypesConfig, ValidateTaxIdOptions, ValidateTaxIdRequest, ValidateTaxIdResponse };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-categories.v2.d.ts",
      "content": "declare module \"wix-categories.v2\" {\n  interface Category {\n      /** Category ID. */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the category is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating.\n       *\n       * Ignored when creating a category.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the category was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Category name. */\n      name?: string | null;\n      /**\n       * Category image.\n       *\n       * + Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n       * + Pass full image URL to upload to Wix Media Manager.\n       */\n      image?: string;\n      /**\n       * Number of items in this category.\n       * @readonly\n       */\n      itemCounter?: number;\n      /**\n       * Category description.\n       * > **Note:** This field is returned only when you pass `fields: \"DESCRIPTION\"` in the request.\n       */\n      description?: string | null;\n      /**\n       * Whether the category is visible to site visitors in dynamic pages.\n       *\n       * + If the parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n       * + Passing `true` will fail if the visibility of any parent categories is `false`.\n       * + Default: `false`.\n       */\n      visible?: boolean | null;\n      /**\n       * Category breadcrumbs.\n       *\n       * > **Note:** Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array in Categories API requests.\n       * @readonly\n       */\n      breadcrumbsInfo?: BreadcrumbsInfo;\n      /** Parent category reference data. */\n      parentCategory?: ParentCategory;\n      /**\n       * Category slug.\n       *\n       * If not provided, the slug is autogenerated based on the category name.\n       */\n      slug?: string | null;\n      /**\n       * Custom SEO data for the category.\n       * @internal\n       */\n      seoData?: SeoSchema;\n      /**\n       * Category description using rich content.\n       * > **Note:** Returned only when you pass `\"RICH_CONTENT_DESCRIPTION\"` to the `fields` array in Categories API requests.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       */\n      richContentDescription?: RichContent;\n      /**\n       * Category tree reference details.\n       * @internal\n       * @readonly\n       */\n      treeReference?: TreeReference;\n      /**\n       * ID of the app responsible for managing the items in this category.\n       *\n       * Pass your app ID to restrict updating and deleting items in this category to your app only.\n       */\n      managingAppId?: string | null;\n      /**\n       * Custom extended fields for the category object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface BreadcrumbsInfo {\n      /**\n       * List of breadcrumb data. The current category isn't included in the list.\n       * @readonly\n       */\n      breadcrumbs?: Breadcrumb[];\n  }\n  interface Breadcrumb {\n      /** Category ID. */\n      categoryId?: string;\n      /** Category name. */\n      categoryName?: string;\n      /** Category slug. */\n      categorySlug?: string;\n  }\n  interface ParentCategory {\n      /**\n       * Parent category ID.\n       *\n       * Default: root category ID\n       */\n      _id?: string | null;\n      /**\n       * Index position of the category within the parent category.\n       * @readonly\n       */\n      index?: number | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface PollSettings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: PollSettings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData {\n      textStyle?: TextStyle;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface TreeReference {\n      /**\n       * Namespace of the app that manages the tree.\n       *\n       * For example, `\"@wix/stores\"`, `\"@bookings/bookingslist\"`, `\"@achievements/quizzes\"`.\n       */\n      appNamespace?: string;\n      /** Tree key. You must pass this when a single app manages more than one tree. */\n      treeKey?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CategoryMoved {\n      /** Category ID. */\n      categoryId?: string;\n      /** Parent category details. */\n      parentCategory?: ParentCategory;\n      /** Category tree reference details. */\n      treeReference?: TreeReference;\n  }\n  interface ItemAddedToCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** Details about the added item. */\n      addedItem?: ItemReference;\n      /** Category tree reference details. */\n      treeReference?: TreeReference;\n  }\n  interface ItemReference {\n      /**\n       * ID of the item within the catalog it belongs to.\n       *\n       * For example, `product.id` for Wix Stores or `event.id` for Wix Events.\n       */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n  }\n  interface ItemsAddedToCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** List of added items. */\n      addedItems?: ItemReference[];\n      /** Category tree reference details. */\n      treeReference?: TreeReference;\n  }\n  interface ItemRemovedFromCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** Details about the removed item. */\n      removedItem?: ItemReference;\n      /** Category tree reference details. */\n      treeReference?: TreeReference;\n  }\n  interface ItemsRemovedFromCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** List of removed items. */\n      removedItems?: ItemReference[];\n      /** Category tree reference details. */\n      treeReference?: TreeReference;\n  }\n  interface ItemsArrangedInCategory {\n      /** Category ID. */\n      categoryId?: string;\n      /** Category tree reference details. */\n      treeReference?: TreeReference;\n  }\n  interface CreateCategoryRequest {\n      /** Category to create. */\n      category: Category;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  enum SingleEntityOpsRequestedFields {\n      /** Not implemented. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      BREADCRUMBS_INFO = \"BREADCRUMBS_INFO\",\n      DESCRIPTION = \"DESCRIPTION\",\n      RICH_CONTENT_DESCRIPTION = \"RICH_CONTENT_DESCRIPTION\"\n  }\n  interface CreateCategoryResponse {\n      /** Created category. */\n      category?: Category;\n  }\n  interface GetCategoryRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface GetCategoryResponse {\n      /** Category. */\n      category?: Category;\n  }\n  interface UpdateCategoryRequest {\n      /** Category to update. */\n      category: Category;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface UpdateCategoryResponse {\n      /** Updated category. */\n      category?: Category;\n  }\n  interface DeleteCategoryRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  interface DeleteCategoryResponse {\n  }\n  interface QueryCategoriesRequest {\n      /** Query options. */\n      query?: CursorQuery;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to return non-visible categories.\n       *\n       * Default: `false` (only visible categories are returned)\n       */\n      returnNonVisibleCategories?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[];\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CommonCursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: CommonSorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface CommonSorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: CommonSortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum CommonSortOrder {\n      /** Ascending order. */\n      ASC = \"ASC\",\n      /** Descending order. */\n      DESC = \"DESC\"\n  }\n  interface CommonCursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  enum RequestedFields {\n      /** Not implemented. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      BREADCRUMBS_INFO = \"BREADCRUMBS_INFO\"\n  }\n  interface QueryCategoriesResponse {\n      /** List of categories. */\n      categories?: Category[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: CommonCursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListCompactCategoriesByIdsRequest {\n      /** List of category ids. */\n      categoryIds: string[];\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n  }\n  interface ListCompactCategoriesByIdsResponse {\n      /** Categories which satisfy the provided ids. */\n      categories?: CompactCategory[];\n  }\n  interface CompactCategory {\n      /** Category ID. */\n      _id?: string | null;\n      /** Category name. */\n      name?: string | null;\n  }\n  interface SearchCategoriesRequest {\n      /** Search options. */\n      search?: CursorSearch;\n      /**\n       * Category tree reference details.\n       * > **Note:** Pass `treeReference` only in the first request. Pass the cursor token in subsequent requests.\n       */\n      treeReference: TreeReference;\n      /**\n       * Whether to return the categories with `visible: false`.\n       *\n       * Default: `false` - only visible categories are returned in the response\n       */\n      returnNonVisibleCategories?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[];\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor pointing to page of results.\n       * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.\n       */\n      cursorPaging?: CommonCursorPaging;\n      /** A filter object. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language). */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: CommonSorting[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: CommonAggregation[];\n      /** Free text to match in searchable fields */\n      search?: CommonSearchDetails;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. e.g. `\"2023-12-20T10:52:34.795Z\"`\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor pointing to page of results.\n       * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.\n       */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface CommonAggregation extends CommonAggregationKindOneOf {\n      /** Value aggregation */\n      value?: AggregationValueAggregation;\n      /** Range aggregation */\n      range?: AggregationRangeAggregation;\n      /** Scalar aggregation */\n      scalar?: AggregationScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: AggregationDateHistogramAggregation;\n      /** Nested aggregation */\n      nested?: AggregationNestedAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: CommonAggregationType;\n      /** Field to aggregate by, use dot notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface CommonAggregationKindOneOf {\n      /** Value aggregation */\n      value?: AggregationValueAggregation;\n      /** Range aggregation */\n      range?: AggregationRangeAggregation;\n      /** Scalar aggregation */\n      scalar?: AggregationScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: AggregationDateHistogramAggregation;\n      /** Nested aggregation */\n      nested?: AggregationNestedAggregation;\n  }\n  interface RangeAggregationRangeBucket {\n      /** Inclusive lower bound of the range. Required if to is not given */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if from is not given */\n      to?: number | null;\n  }\n  enum ValueAggregationSortType {\n      /** Sort by number of matches. */\n      COUNT = \"COUNT\",\n      /** Sort alphabetically by field value. */\n      VALUE = \"VALUE\"\n  }\n  enum ValueAggregationSortDirection {\n      /** Sort in descending order. */\n      DESC = \"DESC\",\n      /** Sort in ascending order. */\n      ASC = \"ASC\"\n  }\n  enum ValueAggregationMissingValues {\n      /** Exclude missing values from the aggregation results. */\n      EXCLUDE = \"EXCLUDE\",\n      /** Included missing values in the aggregation results. */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface ValueAggregationIncludeMissingValuesOptions {\n      /** Can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum CommonScalarType {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values. */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value. */\n      MIN = \"MIN\",\n      /** Maximum value. */\n      MAX = \"MAX\",\n      /** Sum of values. */\n      SUM = \"SUM\",\n      /** Average of values. */\n      AVG = \"AVG\"\n  }\n  interface AggregationValueAggregation extends AggregationValueAggregationOptionsOneOf {\n      /** Options for including missing values */\n      includeOptions?: ValueAggregationIncludeMissingValuesOptions;\n      /** Type of sort to perform. */\n      sortType?: ValueAggregationSortType;\n      /** Direction to sort in. */\n      sortDirection?: ValueAggregationSortDirection;\n      /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /**\n       * Whether missing values are included in the aggregation results.\n       * Default: `EXCLUDE`\n       */\n      missingValues?: ValueAggregationMissingValues;\n  }\n  /** @oneof */\n  interface AggregationValueAggregationOptionsOneOf {\n      /** Options for including missing values */\n      includeOptions?: ValueAggregationIncludeMissingValuesOptions;\n  }\n  enum NestedAggregationNestedAggregationType {\n      /** Unknown aggregation type. */\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation - such as min, max, sum, and avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval such as hour, day, and week. */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface AggregationRangeAggregation {\n      /** List of range buckets, where during aggregation each entity will be placed in the first bucket where its value falls into based on provided range bounds */\n      buckets?: RangeAggregationRangeBucket[];\n  }\n  interface AggregationScalarAggregation {\n      /** Define the operator for the scalar aggregation */\n      type?: CommonScalarType;\n  }\n  interface AggregationDateHistogramAggregation {\n      /** Interval for date histogram aggregation */\n      interval?: DateHistogramAggregationInterval;\n  }\n  enum DateHistogramAggregationInterval {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval */\n      YEAR = \"YEAR\",\n      /** Monthly interval */\n      MONTH = \"MONTH\",\n      /** Weekly interval */\n      WEEK = \"WEEK\",\n      /** Daily interval */\n      DAY = \"DAY\",\n      /** Hourly interval */\n      HOUR = \"HOUR\",\n      /** Minute interval */\n      MINUTE = \"MINUTE\",\n      /** Second interval */\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationNestedAggregationItem extends NestedAggregationNestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: AggregationValueAggregation;\n      /** Range aggregation */\n      range?: AggregationRangeAggregation;\n      /** Scalar aggregation */\n      scalar?: AggregationScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: AggregationDateHistogramAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation client must provide matching aggregation field below */\n      type?: NestedAggregationNestedAggregationType;\n      /** Field to aggregate by, use dont notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationNestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: AggregationValueAggregation;\n      /** Range aggregation */\n      range?: AggregationRangeAggregation;\n      /** Scalar aggregation */\n      scalar?: AggregationScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: AggregationDateHistogramAggregation;\n  }\n  enum CommonAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation - such as min, max, sum, and avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval such as hour, day, and week. */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Multi-level aggregation, where each next aggregation is nested within the previous one. */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */\n  interface AggregationNestedAggregation {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one */\n      nestedAggregations?: NestedAggregationNestedAggregationItem[];\n  }\n  interface CommonSearchDetails {\n      /** Defines how separate search terms in `expression` are combined. */\n      mode?: SearchDetailsMode;\n      /** Search term or expression. */\n      expression?: string | null;\n      /**\n       * Fields in which to search for the `expression`. Use dot notation to specify field path.\n       *\n       * When empty - all searchable fields are looked at.\n       */\n      fields?: string[];\n      /** Whether to use fuzzy search - allowing typos and other minor errors in the search. */\n      fuzzy?: boolean;\n  }\n  enum SearchDetailsMode {\n      /** Any of the search terms must be present. */\n      OR = \"OR\",\n      /** All search terms must be present. */\n      AND = \"AND\"\n  }\n  interface SearchCategoriesResponse {\n      /** List of categories. */\n      categories?: Category[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface AggregationData {\n      /** key = aggregation name (as derived from search request) */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number;\n  }\n  interface RangeAggregationResult {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number;\n  }\n  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** User-defined name of aggregation, matches the one provided in request */\n      name?: string;\n      /** Type of aggregation that matches result */\n      type?: CommonAggregationType;\n      /** Field to aggregate by, matches the one provided in request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n  }\n  interface ValueResults {\n      /** List of value aggregations */\n      results?: ValueAggregationResult[];\n  }\n  interface RangeResults {\n      /** List of ranges returned in same order as requested */\n      results?: RangeAggregationResult[];\n  }\n  interface AggregationResultsScalarResult {\n      /** Type of scalar aggregation */\n      type?: CommonScalarType;\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedValueAggregationResult {\n      /** Value of the field */\n      value?: string;\n      /** Nested aggregations */\n      nestedResults?: NestedAggregationResults;\n  }\n  interface ValueResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number | null;\n  }\n  interface RangeResult {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number | null;\n  }\n  interface ScalarResult {\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: ValueResult;\n      /** Range aggregation result */\n      range?: RangeResult;\n      /** Scalar aggregation result */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result */\n      dateHistogram?: ValueResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: ValueResult;\n      /** Range aggregation result */\n      range?: RangeResult;\n      /** Scalar aggregation result */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result */\n      dateHistogram?: ValueResult;\n  }\n  interface Results {\n      /** List of nested aggregations */\n      results?: Record<string, NestedResultValue>;\n  }\n  interface DateHistogramResult {\n      /** Date in ISO 8601 format */\n      value?: string;\n      /** Count of documents in the bucket */\n      count?: number;\n  }\n  interface GroupByValueResults {\n      /** List of value aggregations */\n      results?: NestedValueAggregationResult[];\n  }\n  interface DateHistogramResults {\n      /** List of date histogram aggregations */\n      results?: DateHistogramResult[];\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form\n   * aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults {\n      /** List of nested aggregations */\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results */\n      nested?: NestedResults;\n      /** User-defined name of aggregation as derived from search request */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request */\n      type?: CommonAggregationType;\n      /** Field to aggregate by as derived from search request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results */\n      nested?: NestedResults;\n  }\n  interface DeprecatedSearchCategoriesWithOffsetRequest {\n      /** WQL query expression. */\n      search?: OffsetSearch;\n      /** Category tree reference details. */\n      treeReference?: TreeReference;\n      /** Whether to return categories with `visible:false`. Default: false so only visible categories will be in response. */\n      returnNonVisibleCategories?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[];\n  }\n  interface OffsetSearch extends OffsetSearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: Paging;\n      /** A filter object. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language). */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: CommonSorting[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: CommonAggregation[];\n      /** Free text to match in searchable fields */\n      search?: CommonSearchDetails;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. e.g. `\"2023-12-20T10:52:34.795Z\"`\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface OffsetSearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface DeprecatedSearchCategoriesWithOffsetResponse {\n      /** Categories which satisfy the provided query. */\n      categories?: Category[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadata;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface CountCategoriesRequest {\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter object structure](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /** Search options. */\n      search?: CommonSearchDetails;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to return categories with `visible: false` (hidden categories).\n       *\n       * Default: `false` - only visible categories are returned in the response\n       */\n      returnNonVisibleCategories?: boolean;\n  }\n  interface CountCategoriesResponse {\n      /** Total count of categories which satisfy the given filter and/or search. */\n      count?: number;\n  }\n  interface MoveCategoryRequest {\n      /** ID of the category to move. */\n      categoryId: string;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Parent category ID.\n       *\n       * Default: root category ID\n       */\n      parentCategoryId?: string | null;\n      /**\n       * Where to place the subcategory.\n       *\n       * + `FIRST`: Position the category as the first subcategory.\n       * + `LAST`: Position the category as the last subcategory.\n       * + `AFTER`: Position the category after the category ID passed in `moveAfterCategoryId`.\n       */\n      position: MoveCategoryRequestPosition;\n      /** Required when passing `position: AFTER`. */\n      moveAfterCategoryId?: string | null;\n  }\n  enum MoveCategoryRequestPosition {\n      UNKNOWN_POSITION = \"UNKNOWN_POSITION\",\n      FIRST = \"FIRST\",\n      LAST = \"LAST\",\n      AFTER = \"AFTER\"\n  }\n  interface MoveCategoryResponse {\n      /** Parent category ID. */\n      parentCategoryId?: string | null;\n      /** List of category IDs in the new order of arrangement. */\n      categoriesAfterMove?: string[];\n  }\n  interface BulkCreateCategoriesRequest {\n      /** List of categories to be created. */\n      categories: Category[];\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to return the category entity in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[];\n  }\n  interface BulkCreateCategoriesResponse {\n      /** Categories created by bulk action. */\n      results?: BulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCategoriesResult {\n      /** Bulk action metadata for category. */\n      itemMetadata?: ItemMetadata;\n      /**\n       * Full category entity.\n       *\n       * Returned only if `returnEntity: true` is passed in the request.\n       */\n      category?: Category;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateCategoriesRequest {\n      /** List of categories to update. */\n      categories: MaskedCategory[];\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to return the full category entity in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[];\n  }\n  interface MaskedCategory {\n      /** Category to update. */\n      category?: Category;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateCategoriesResponse {\n      /** Categories updated by bulk action. */\n      results?: BulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface UpdateCategoryVisibilityRequest {\n      /** Category ID. */\n      categoryId: string;\n      /**\n       * Whether the category is visible to site visitors in dynamic pages.\n       *\n       * + If a parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n       * + Passing `true` will fail if the visibility of any parent categories is `false`.\n       */\n      visible: boolean;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Latest revision of the category.\n       * To prevent conflicting changes, the current revision must be passed on update.\n       */\n      revision: string | null;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface UpdateCategoryVisibilityResponse {\n      /** Updated category. */\n      category?: Category;\n  }\n  interface BulkShowCategoriesRequest {\n      /** IDs of the categories to update. */\n      categoryIds: string[];\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to return the category entity in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[];\n  }\n  interface BulkShowCategoriesResponse {\n      /** Categories updated by bulk action. */\n      results?: BulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUpdateCategoryVisibilityByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /** value to set `visible` to. This value will be set for all categories that match the filter */\n      visible: boolean;\n  }\n  interface BulkUpdateCategoryVisibilityByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface BulkDeleteCategoriesRequest {\n      /** IDs of categories to be deleted. */\n      categoryIds: string[];\n  }\n  interface BulkDeleteCategoriesResponse {\n      /** Categories deleted by bulk action. */\n      results?: BulkDeleteCategoriesResponseBulkCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteCategoriesResponseBulkCategoriesResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata;\n  }\n  interface BulkDeleteCategoriesByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter: Record<string, any> | null;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  interface BulkDeleteCategoriesByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface BulkAddItemsToCategoryRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** List of items to add. */\n      items: ItemReference[];\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  interface BulkAddItemsToCategoryResponse {\n      /** List of items added to a category by bulk action. */\n      results?: BulkItemsToCategoryResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkItemsToCategoryResult {\n      /** Bulk action metadata for item reference. */\n      itemMetadata?: ItemReferenceMetadata;\n  }\n  interface ItemReferenceMetadata {\n      /** Catalog and item reference info. */\n      item?: ItemReference;\n      /** Original index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /**\n       * Whether the action was successful.\n       * When `false`, the `error` field is populated.\n       */\n      success?: boolean;\n      /** Error details in the case of an unsuccessful action. */\n      error?: ApplicationError;\n  }\n  interface BulkAddItemToCategoriesRequest {\n      /** Item to add. */\n      item: ItemReference;\n      /** IDs of categories to which to add the item. */\n      categoryIds: string[];\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  interface BulkAddItemToCategoriesResponse {\n      /** Items added by bulk action. */\n      results?: BulkItemToCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkItemToCategoriesResult {\n      /** Bulk action metadata for category. */\n      itemMetadata?: ItemMetadata;\n  }\n  interface BulkRemoveItemsFromCategoryRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** List of items to remove. */\n      items: ItemReference[];\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  interface BulkRemoveItemsFromCategoryResponse {\n      /** Items removed by bulk action. */\n      results?: BulkItemsToCategoryResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkRemoveItemFromCategoriesRequest {\n      /** Item to remove. */\n      item: ItemReference;\n      /** IDs of categories from which to remove the item. */\n      categoryIds: string[];\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  interface BulkRemoveItemFromCategoriesResponse {\n      /** Items removed by bulk action. */\n      results?: BulkItemToCategoriesResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ListItemsInCategoryRequest extends ListItemsInCategoryRequestPagingMethodOneOf {\n      /**\n       * Paging options to limit and skip the number of items.\n       * @internal\n       */\n      paging?: Paging;\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CommonCursorPaging;\n      /** Category ID. */\n      categoryId: string;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to use category arrangement for sorting items.\n       *\n       * Default: `false`\n       */\n      useCategoryArrangement?: boolean;\n      /**\n       * Whether to include items from subcategories.\n       *\n       * Default: `false` (only direct items of the category will be returned)\n       */\n      includeItemsFromSubcategories?: boolean;\n  }\n  /** @oneof */\n  interface ListItemsInCategoryRequestPagingMethodOneOf {\n      /**\n       * Paging options to limit and skip the number of items.\n       * @internal\n       */\n      paging?: Paging;\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface ListItemsInCategoryResponse {\n      /** List of items in the category. */\n      items?: ItemReference[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: CommonCursors;\n  }\n  interface ListCategoriesForItemRequest {\n      /** Item reference info. */\n      item: ItemReference;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  interface ListCategoriesForItemResponse {\n      /** List of IDs of categories that directly contain this item. */\n      directCategoryIds?: string[];\n      /** List of IDs of categories that directly contain this item, and their parent category IDs. */\n      allCategoryIds?: string[];\n  }\n  interface ListTreesRequest {\n  }\n  interface ListTreesResponse {\n      /** List of trees. */\n      trees?: TreeReference[];\n  }\n  interface MoveItemInCategoryRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /** Item to move. */\n      item: ItemReference;\n      /**\n       * Where to move item.\n       * `FIRST` - make `item` first item with manual arrangement. If before this operation category already has 100 manually arranged items, the 100th item will be removed from list of items with manual arrangement.\n       * `LAST` - make `item` last item with manual arrangement. If before this operation category already has 100 manually arranged items, moving item will be not last but 100th.\n       * `BEFORE` - requires `before_item`, `item` will be moved before it. If `before_item` was 100th item in category it will be removed from list of items with manual arrangement.\n       * `NONE` - don't use manual arrangement for `item`, it will be shown after all items with manual arrangement according to default sorting.\n       */\n      position: Position;\n      /** Required when `position` is `BEFORE`. `before_item` must be manually arranged item. */\n      beforeItem?: ItemReference;\n  }\n  enum Position {\n      UNKNOWN_POSITION = \"UNKNOWN_POSITION\",\n      FIRST = \"FIRST\",\n      LAST = \"LAST\",\n      BEFORE = \"BEFORE\",\n      NONE = \"NONE\"\n  }\n  interface MoveItemInCategoryResponse {\n      /** Information about manually arranged items after move. */\n      itemsAfterMove?: ItemReference[];\n  }\n  interface SetArrangedItemsRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /** List of items to set. */\n      items?: ItemReference[];\n  }\n  interface SetArrangedItemsResponse {\n      /** List of arranged items. */\n      items?: ItemReference[];\n  }\n  interface GetArrangedItemsRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  interface GetArrangedItemsResponse {\n      /** List of arranged items. */\n      items?: ItemReference[];\n  }\n  interface GetCategoriesTreeRequest {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  interface GetCategoriesTreeResponse {\n      /** Categories tree. */\n      categoriesTree?: CategoryTreeNode[];\n  }\n  /** Represents a node in the view of categories tree */\n  interface CategoryTreeNode {\n      /** Category ID. */\n      _id?: Uint8Array;\n      /** List of subcategories. */\n      subcategories?: CategoryTreeNode[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a category.\n   * @param category - Category to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField category\n   * @requiredField category.name\n   * @requiredField category.parentCategory._id\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_CREATE\n   * @adminMethod\n   * @returns Created category.\n   */\n  function createCategory(category: Category, options?: CreateCategoryOptions): Promise<Category>;\n  interface CreateCategoryOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  /**\n   * Retrieves a category.\n   * @param categoryId - Category ID.\n   * @param treeReference - Category tree reference details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_READ\n   * @returns Category.\n   */\n  function getCategory(categoryId: string, treeReference: TreeReference, options?: GetCategoryOptions): Promise<Category>;\n  interface GetCategoryOptions {\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  /**\n   * Updates a category.\n   *\n   * Each time the category is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the category.\n   * This ensures you're working with the latest category and prevents unintended overwrites.\n   * @param _id - Category ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField category\n   * @requiredField category.revision\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_UPDATE\n   * @adminMethod\n   * @returns Updated category.\n   */\n  function updateCategory(_id: string | null, category: UpdateCategory, options?: UpdateCategoryOptions): Promise<Category>;\n  interface UpdateCategory {\n      /** Category ID. */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the category is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating.\n       *\n       * Ignored when creating a category.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the category was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the category was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Category name. */\n      name?: string | null;\n      /**\n       * Category image.\n       *\n       * + Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n       * + Pass full image URL to upload to Wix Media Manager.\n       */\n      image?: string;\n      /**\n       * Number of items in this category.\n       * @readonly\n       */\n      itemCounter?: number;\n      /**\n       * Category description.\n       * > **Note:** This field is returned only when you pass `fields: \"DESCRIPTION\"` in the request.\n       */\n      description?: string | null;\n      /**\n       * Whether the category is visible to site visitors in dynamic pages.\n       *\n       * + If the parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n       * + Passing `true` will fail if the visibility of any parent categories is `false`.\n       * + Default: `false`.\n       */\n      visible?: boolean | null;\n      /**\n       * Category breadcrumbs.\n       *\n       * > **Note:** Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array in Categories API requests.\n       * @readonly\n       */\n      breadcrumbsInfo?: BreadcrumbsInfo;\n      /** Parent category reference data. */\n      parentCategory?: ParentCategory;\n      /**\n       * Category slug.\n       *\n       * If not provided, the slug is autogenerated based on the category name.\n       */\n      slug?: string | null;\n      /**\n       * Custom SEO data for the category.\n       * @internal\n       */\n      seoData?: SeoSchema;\n      /**\n       * Category description using rich content.\n       * > **Note:** Returned only when you pass `\"RICH_CONTENT_DESCRIPTION\"` to the `fields` array in Categories API requests.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       */\n      richContentDescription?: RichContent;\n      /**\n       * Category tree reference details.\n       * @internal\n       * @readonly\n       */\n      treeReference?: TreeReference;\n      /**\n       * ID of the app responsible for managing the items in this category.\n       *\n       * Pass your app ID to restrict updating and deleting items in this category to your app only.\n       */\n      managingAppId?: string | null;\n      /**\n       * Custom extended fields for the category object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdateCategoryOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  /**\n   * Deletes a category.\n   * @param categoryId - Category ID.\n   * @param treeReference - Category tree reference details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_DELETE\n   * @adminMethod\n   */\n  function deleteCategory(categoryId: string, treeReference: TreeReference): Promise<void>;\n  /**\n   * Retrieves a list of up to 1,000 categories, given the provided filtering, sorting, and cursor paging.\n   * Pass supported values to the `fields` array in the request to include those fields in the response.\n   *\n   * For field support for filters and sorting,\n   * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CATEGORIES.CATEGORY_READ\n   */\n  function queryCategories(options: QueryCategoriesOptions): CategoriesQueryBuilder;\n  interface QueryCategoriesOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to return non-visible categories.\n       *\n       * Default: `false` (only visible categories are returned)\n       */\n      returnNonVisibleCategories?: boolean | undefined;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[] | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: CommonCursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CategoriesQueryResult extends QueryCursorResult {\n      items: Category[];\n      query: CategoriesQueryBuilder;\n      next: () => Promise<CategoriesQueryResult>;\n      prev: () => Promise<CategoriesQueryResult>;\n  }\n  interface CategoriesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'visible' | 'parentCategory.id' | 'parentCategory.index' | 'slug' | 'treeReference.appNamespace' | 'treeReference.treeKey' | 'managingAppId', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'visible' | 'parentCategory.id' | 'parentCategory.index' | 'slug' | 'treeReference.appNamespace' | 'treeReference.treeKey' | 'managingAppId', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate' | 'parentCategory.index', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate' | 'parentCategory.index', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate' | 'parentCategory.index', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate' | 'parentCategory.index', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'description' | 'parentCategory.id' | 'slug' | 'treeReference.appNamespace' | 'treeReference.treeKey' | 'managingAppId', value: string) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'visible' | 'parentCategory.id' | 'parentCategory.index' | 'slug' | 'treeReference.appNamespace' | 'treeReference.treeKey' | 'managingAppId', value: any[]) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'visible' | 'parentCategory.id' | 'parentCategory.index' | 'slug' | 'treeReference.appNamespace' | 'treeReference.treeKey' | 'managingAppId', value: any) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'visible' | 'parentCategory.id' | 'parentCategory.index' | 'slug' | 'treeReference.appNamespace' | 'treeReference.treeKey' | 'managingAppId', value: boolean) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'name' | 'parentCategory.id' | 'parentCategory.index' | 'managingAppId'>) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'name' | 'parentCategory.id' | 'parentCategory.index' | 'managingAppId'>) => CategoriesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CategoriesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CategoriesQueryResult>;\n  }\n  /**\n   * Retrieves a list of categories by ids.\n   * @param categoryIds - List of category ids.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryIds\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_READ\n   */\n  function listCompactCategoriesByIds(categoryIds: string[], options: ListCompactCategoriesByIdsOptions): Promise<ListCompactCategoriesByIdsResponse>;\n  interface ListCompactCategoriesByIdsOptions {\n      /** A reference to the tree that contains the categories. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Retrieves a list of up to 1,000 categories, given the provided filtering, sorting, and cursor paging.\n   * Pass supported values to the `fields` array in the request to include those fields in the response.\n   *\n   *\n   * Search Categories runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `cursorPaging.limit` is `100`\n   *\n   * For field support for filters and sorting,\n   * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n   *\n   * To learn about working with _Search_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_READ\n   */\n  function searchCategories(options?: SearchCategoriesOptions): Promise<SearchCategoriesResponse>;\n  interface SearchCategoriesOptions {\n      /** Search options. */\n      search?: CursorSearch;\n      /**\n       * Category tree reference details.\n       * > **Note:** Pass `treeReference` only in the first request. Pass the cursor token in subsequent requests.\n       */\n      treeReference: TreeReference;\n      /**\n       * Whether to return the categories with `visible: false`.\n       *\n       * Default: `false` - only visible categories are returned in the response\n       */\n      returnNonVisibleCategories?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Counts the number of categories that match the provided filtering.\n   *\n   * For field support for filters and sorting,\n   * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_READ\n   */\n  function countCategories(options?: CountCategoriesOptions): Promise<CountCategoriesResponse>;\n  interface CountCategoriesOptions {\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter object structure](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /** Search options. */\n      search?: CommonSearchDetails;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to return categories with `visible: false` (hidden categories).\n       *\n       * Default: `false` - only visible categories are returned in the response\n       */\n      returnNonVisibleCategories?: boolean;\n  }\n  /**\n   * Moves a category within its parent category, or to a different parent category.\n   * @param categoryId - ID of the category to move.\n   * @param treeReference - Category tree reference details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField options.position\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_MOVE\n   * @adminMethod\n   */\n  function moveCategory(categoryId: string, treeReference: TreeReference, options?: MoveCategoryOptions): Promise<MoveCategoryResponse>;\n  interface MoveCategoryOptions {\n      /**\n       * Parent category ID.\n       *\n       * Default: root category ID\n       */\n      parentCategoryId?: string | null;\n      /**\n       * Where to place the subcategory.\n       *\n       * + `FIRST`: Position the category as the first subcategory.\n       * + `LAST`: Position the category as the last subcategory.\n       * + `AFTER`: Position the category after the category ID passed in `moveAfterCategoryId`.\n       */\n      position: MoveCategoryRequestPosition;\n      /** Required when passing `position: AFTER`. */\n      moveAfterCategoryId?: string | null;\n  }\n  /**\n   * Creates multiple categories.\n   * Phase 2\n   * @param categories - List of categories to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categories\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_CREATE\n   * @adminMethod\n   */\n  function bulkCreateCategories(categories: Category[], options?: BulkCreateCategoriesOptions): Promise<BulkCreateCategoriesResponse>;\n  interface BulkCreateCategoriesOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to return the category entity in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Updates multiple categories.\n   *\n   * Each time a category is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating a category.\n   * This ensures you're working with the latest category and prevents unintended overwrites.\n   * @param categories - List of categories to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categories\n   * @requiredField categories.category\n   * @requiredField categories.category._id\n   * @requiredField categories.category.revision\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateCategories(categories: MaskedCategory[], options?: BulkUpdateCategoriesOptions): Promise<BulkUpdateCategoriesResponse>;\n  interface BulkUpdateCategoriesOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to return the full category entity in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Updates category visibility.\n   *\n   *\n   * Each time a category is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating a category.\n   * This ensures you're working with the latest category and prevents unintended overwrites.\n   * @param categoryId - Category ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField options.revision\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @requiredField options.visible\n   * @permissionId CATEGORIES.CATEGORY_UPDATE\n   * @adminMethod\n   */\n  function updateCategoryVisibility(categoryId: string, options?: UpdateCategoryVisibilityOptions): Promise<UpdateCategoryVisibilityResponse>;\n  interface UpdateCategoryVisibilityOptions {\n      /**\n       * Whether the category is visible to site visitors in dynamic pages.\n       *\n       * + If a parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n       * + Passing `true` will fail if the visibility of any parent categories is `false`.\n       */\n      visible: boolean;\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Latest revision of the category.\n       * To prevent conflicting changes, the current revision must be passed on update.\n       */\n      revision: string | null;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  /** @param categoryIds - IDs of the categories to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryIds\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_UPDATE\n   * @adminMethod\n   */\n  function bulkShowCategories(categoryIds: string[], options?: BulkShowCategoriesOptions): Promise<BulkShowCategoriesResponse>;\n  interface BulkShowCategoriesOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /**\n       * Whether to return the category entity in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Update `visible` field for categories which satisfy the provided filter. If visible is set to false, all subcategories will be set to `visible=false` as well\n   * Phase 2\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"fieldName1\": \"value1\",\n   * \"fieldName2\":{\"$operator\":\"value2\"}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @requiredField options.visible\n   * @permissionId CATEGORIES.CATEGORY_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateCategoryVisibilityByFilter(filter: Record<string, any> | null, options: BulkUpdateCategoryVisibilityByFilterOptions): Promise<BulkUpdateCategoryVisibilityByFilterResponse>;\n  interface BulkUpdateCategoryVisibilityByFilterOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n      /** value to set `visible` to. This value will be set for all categories that match the filter */\n      visible: boolean;\n  }\n  /**\n   * Deletes multiple categories.\n   * Phase 2\n   * @param categoryIds - IDs of categories to be deleted.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryIds\n   * @permissionId CATEGORIES.CATEGORY_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteCategories(categoryIds: string[]): Promise<BulkDeleteCategoriesResponse>;\n  /**\n   * Delete multiple categories which satisfy the provided filter.\n   * Phase 2\n   * @param filter - Filter object in the following format:\n   * `\"filter\" : {\n   * \"fieldName1\": \"value1\",\n   * \"fieldName2\":{\"$operator\":\"value2\"}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteCategoriesByFilter(filter: Record<string, any> | null, options: BulkDeleteCategoriesByFilterOptions): Promise<BulkDeleteCategoriesByFilterResponse>;\n  interface BulkDeleteCategoriesByFilterOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Adds multiple items to a single category.\n   * @param categoryId - Category ID.\n   * @param items - List of items to add.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField items\n   * @requiredField items.appId\n   * @requiredField items.catalogItemId\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_ADD_ITEM\n   * @adminMethod\n   */\n  function bulkAddItemsToCategory(categoryId: string, items: ItemReference[], options: BulkAddItemsToCategoryOptions): Promise<BulkAddItemsToCategoryResponse>;\n  interface BulkAddItemsToCategoryOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Adds a single item to multiple categories.\n   * @param item - Item to add.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField item\n   * @requiredField item.appId\n   * @requiredField item.catalogItemId\n   * @requiredField options\n   * @requiredField options.categoryIds\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_ADD_ITEM\n   * @adminMethod\n   */\n  function bulkAddItemToCategories(item: ItemReference, options: BulkAddItemToCategoriesOptions): Promise<BulkAddItemToCategoriesResponse>;\n  interface BulkAddItemToCategoriesOptions {\n      /** IDs of categories to which to add the item. */\n      categoryIds: string[];\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Removes multiple items from a single category.\n   * @param categoryId - Category ID.\n   * @param items - List of items to remove.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField items\n   * @requiredField items.appId\n   * @requiredField items.catalogItemId\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_REMOVE_ITEM\n   * @adminMethod\n   */\n  function bulkRemoveItemsFromCategory(categoryId: string, items: ItemReference[], options: BulkRemoveItemsFromCategoryOptions): Promise<BulkRemoveItemsFromCategoryResponse>;\n  interface BulkRemoveItemsFromCategoryOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Removes a single item from multiple categories.\n   * @param item - Item to remove.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField item\n   * @requiredField item.appId\n   * @requiredField item.catalogItemId\n   * @requiredField options\n   * @requiredField options.categoryIds\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_REMOVE_ITEM\n   * @adminMethod\n   */\n  function bulkRemoveItemFromCategories(item: ItemReference, options: BulkRemoveItemFromCategoriesOptions): Promise<BulkRemoveItemFromCategoriesResponse>;\n  interface BulkRemoveItemFromCategoriesOptions {\n      /** IDs of categories from which to remove the item. */\n      categoryIds: string[];\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Retrieves a list of up to 100 items from a single category, given the provided cursor paging.\n   *\n   *\n   * List Items In Categories defaults to sorting by the time the item was added to the category, in descending order.\n   * @param categoryId - Category ID.\n   * @param treeReference - Category tree reference details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_READ\n   */\n  function listItemsInCategory(categoryId: string, treeReference: TreeReference, options?: ListItemsInCategoryOptions): Promise<ListItemsInCategoryResponse>;\n  interface ListItemsInCategoryOptions extends ListItemsInCategoryRequestPagingMethodOneOf {\n      /**\n       * Whether to use category arrangement for sorting items.\n       *\n       * Default: `false`\n       */\n      useCategoryArrangement?: boolean;\n      /**\n       * Whether to include items from subcategories.\n       *\n       * Default: `false` (only direct items of the category will be returned)\n       */\n      includeItemsFromSubcategories?: boolean;\n      /**\n       * Paging options to limit and skip the number of items.\n       * @internal\n       */\n      paging?: Paging;\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CommonCursorPaging;\n  }\n  /**\n   * Retrieves a list of categories that contain the specified item.\n   * @param item - Item reference info.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField item\n   * @requiredField options\n   * @requiredField options.treeReference\n   * @requiredField options.treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_READ\n   */\n  function listCategoriesForItem(item: ItemReference, options: ListCategoriesForItemOptions): Promise<ListCategoriesForItemResponse>;\n  interface ListCategoriesForItemOptions {\n      /** Category tree reference details. */\n      treeReference: TreeReference;\n  }\n  /**\n   * Retrieves a list of all trees installed on the site, sorted by `appNamespace` in ascending order.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CATEGORIES.CATEGORY_READ\n   */\n  function listTrees(): Promise<ListTreesResponse>;\n  /**\n   * Changes position of `item` in category. Will be used when sort items by manual arrangement\n   *\n   * > **Notes:**\n   * > + If `position.BEFORE` is passed, then beforeItem must be provided.\n   * @param categoryId - Category ID.\n   * @param treeReference - Category tree reference details.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField options.item\n   * @requiredField options.position\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_MOVE_ITEM\n   * @adminMethod\n   */\n  function moveItemInCategory(categoryId: string, treeReference: TreeReference, options?: MoveItemInCategoryOptions): Promise<MoveItemInCategoryResponse>;\n  interface MoveItemInCategoryOptions {\n      /** Item to move. */\n      item: ItemReference;\n      /**\n       * Where to move item.\n       * `FIRST` - make `item` first item with manual arrangement. If before this operation category already has 100 manually arranged items, the 100th item will be removed from list of items with manual arrangement.\n       * `LAST` - make `item` last item with manual arrangement. If before this operation category already has 100 manually arranged items, moving item will be not last but 100th.\n       * `BEFORE` - requires `before_item`, `item` will be moved before it. If `before_item` was 100th item in category it will be removed from list of items with manual arrangement.\n       * `NONE` - don't use manual arrangement for `item`, it will be shown after all items with manual arrangement according to default sorting.\n       */\n      position: Position;\n      /** Required when `position` is `BEFORE`. `before_item` must be manually arranged item. */\n      beforeItem?: ItemReference;\n  }\n  /**\n   * Sets arranged items in a category.\n   *\n   * The order of items in the `items` array determines the order of items in the category.\n   * The category's existing list of arranged items will be overridden.\n   * @param categoryId - Category ID.\n   * @param treeReference - Category tree reference details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_MOVE_ITEM\n   * @adminMethod\n   */\n  function setArrangedItems(categoryId: string, treeReference: TreeReference, options?: SetArrangedItemsOptions): Promise<SetArrangedItemsResponse>;\n  interface SetArrangedItemsOptions {\n      /** List of items to set. */\n      items?: ItemReference[];\n  }\n  /**\n   * Retrieves a list of arranged items in a category.\n   * @param categoryId - Category ID.\n   * @param treeReference - Category tree reference details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_READ\n   */\n  function getArrangedItems(categoryId: string, treeReference: TreeReference): Promise<GetArrangedItemsResponse>;\n  /**\n   * Retrieves the whole categories tree\n   * @param treeReference - Category tree reference details.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField treeReference\n   * @requiredField treeReference.appNamespace\n   * @permissionId CATEGORIES.CATEGORY_READ\n   */\n  function getCategoriesTree(treeReference: TreeReference): Promise<GetCategoriesTreeResponse>;\n  \n  type categoriesV1Category_universal_d_Category = Category;\n  type categoriesV1Category_universal_d_BreadcrumbsInfo = BreadcrumbsInfo;\n  type categoriesV1Category_universal_d_Breadcrumb = Breadcrumb;\n  type categoriesV1Category_universal_d_ParentCategory = ParentCategory;\n  type categoriesV1Category_universal_d_SeoSchema = SeoSchema;\n  type categoriesV1Category_universal_d_Keyword = Keyword;\n  type categoriesV1Category_universal_d_Tag = Tag;\n  type categoriesV1Category_universal_d_Settings = Settings;\n  type categoriesV1Category_universal_d_RichContent = RichContent;\n  type categoriesV1Category_universal_d_Node = Node;\n  type categoriesV1Category_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type categoriesV1Category_universal_d_NodeType = NodeType;\n  const categoriesV1Category_universal_d_NodeType: typeof NodeType;\n  type categoriesV1Category_universal_d_NodeStyle = NodeStyle;\n  type categoriesV1Category_universal_d_ButtonData = ButtonData;\n  type categoriesV1Category_universal_d_Border = Border;\n  type categoriesV1Category_universal_d_Colors = Colors;\n  type categoriesV1Category_universal_d_PluginContainerData = PluginContainerData;\n  type categoriesV1Category_universal_d_WidthType = WidthType;\n  const categoriesV1Category_universal_d_WidthType: typeof WidthType;\n  type categoriesV1Category_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type categoriesV1Category_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type categoriesV1Category_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const categoriesV1Category_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type categoriesV1Category_universal_d_Spoiler = Spoiler;\n  type categoriesV1Category_universal_d_Height = Height;\n  type categoriesV1Category_universal_d_Type = Type;\n  const categoriesV1Category_universal_d_Type: typeof Type;\n  type categoriesV1Category_universal_d_Styles = Styles;\n  type categoriesV1Category_universal_d_Link = Link;\n  type categoriesV1Category_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type categoriesV1Category_universal_d_Target = Target;\n  const categoriesV1Category_universal_d_Target: typeof Target;\n  type categoriesV1Category_universal_d_Rel = Rel;\n  type categoriesV1Category_universal_d_CodeBlockData = CodeBlockData;\n  type categoriesV1Category_universal_d_TextStyle = TextStyle;\n  type categoriesV1Category_universal_d_TextAlignment = TextAlignment;\n  const categoriesV1Category_universal_d_TextAlignment: typeof TextAlignment;\n  type categoriesV1Category_universal_d_DividerData = DividerData;\n  type categoriesV1Category_universal_d_LineStyle = LineStyle;\n  const categoriesV1Category_universal_d_LineStyle: typeof LineStyle;\n  type categoriesV1Category_universal_d_Width = Width;\n  const categoriesV1Category_universal_d_Width: typeof Width;\n  type categoriesV1Category_universal_d_Alignment = Alignment;\n  const categoriesV1Category_universal_d_Alignment: typeof Alignment;\n  type categoriesV1Category_universal_d_FileData = FileData;\n  type categoriesV1Category_universal_d_ViewMode = ViewMode;\n  const categoriesV1Category_universal_d_ViewMode: typeof ViewMode;\n  type categoriesV1Category_universal_d_FileSource = FileSource;\n  type categoriesV1Category_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type categoriesV1Category_universal_d_PDFSettings = PDFSettings;\n  type categoriesV1Category_universal_d_GalleryData = GalleryData;\n  type categoriesV1Category_universal_d_Media = Media;\n  type categoriesV1Category_universal_d_Image = Image;\n  type categoriesV1Category_universal_d_Video = Video;\n  type categoriesV1Category_universal_d_Item = Item;\n  type categoriesV1Category_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type categoriesV1Category_universal_d_GalleryOptions = GalleryOptions;\n  type categoriesV1Category_universal_d_LayoutType = LayoutType;\n  const categoriesV1Category_universal_d_LayoutType: typeof LayoutType;\n  type categoriesV1Category_universal_d_Orientation = Orientation;\n  const categoriesV1Category_universal_d_Orientation: typeof Orientation;\n  type categoriesV1Category_universal_d_Crop = Crop;\n  const categoriesV1Category_universal_d_Crop: typeof Crop;\n  type categoriesV1Category_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const categoriesV1Category_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type categoriesV1Category_universal_d_Layout = Layout;\n  type categoriesV1Category_universal_d_ItemStyle = ItemStyle;\n  type categoriesV1Category_universal_d_Thumbnails = Thumbnails;\n  type categoriesV1Category_universal_d_GIFData = GIFData;\n  type categoriesV1Category_universal_d_GIF = GIF;\n  type categoriesV1Category_universal_d_HeadingData = HeadingData;\n  type categoriesV1Category_universal_d_HTMLData = HTMLData;\n  type categoriesV1Category_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type categoriesV1Category_universal_d_Source = Source;\n  const categoriesV1Category_universal_d_Source: typeof Source;\n  type categoriesV1Category_universal_d_ImageData = ImageData;\n  type categoriesV1Category_universal_d_LinkPreviewData = LinkPreviewData;\n  type categoriesV1Category_universal_d_MapData = MapData;\n  type categoriesV1Category_universal_d_MapSettings = MapSettings;\n  type categoriesV1Category_universal_d_MapType = MapType;\n  const categoriesV1Category_universal_d_MapType: typeof MapType;\n  type categoriesV1Category_universal_d_ParagraphData = ParagraphData;\n  type categoriesV1Category_universal_d_PollData = PollData;\n  type categoriesV1Category_universal_d_ViewRole = ViewRole;\n  const categoriesV1Category_universal_d_ViewRole: typeof ViewRole;\n  type categoriesV1Category_universal_d_VoteRole = VoteRole;\n  const categoriesV1Category_universal_d_VoteRole: typeof VoteRole;\n  type categoriesV1Category_universal_d_Permissions = Permissions;\n  type categoriesV1Category_universal_d_Option = Option;\n  type categoriesV1Category_universal_d_PollSettings = PollSettings;\n  type categoriesV1Category_universal_d_PollLayoutType = PollLayoutType;\n  const categoriesV1Category_universal_d_PollLayoutType: typeof PollLayoutType;\n  type categoriesV1Category_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const categoriesV1Category_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type categoriesV1Category_universal_d_PollLayout = PollLayout;\n  type categoriesV1Category_universal_d_OptionLayout = OptionLayout;\n  type categoriesV1Category_universal_d_BackgroundType = BackgroundType;\n  const categoriesV1Category_universal_d_BackgroundType: typeof BackgroundType;\n  type categoriesV1Category_universal_d_Gradient = Gradient;\n  type categoriesV1Category_universal_d_Background = Background;\n  type categoriesV1Category_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type categoriesV1Category_universal_d_PollDesign = PollDesign;\n  type categoriesV1Category_universal_d_OptionDesign = OptionDesign;\n  type categoriesV1Category_universal_d_Poll = Poll;\n  type categoriesV1Category_universal_d_PollDataLayout = PollDataLayout;\n  type categoriesV1Category_universal_d_Design = Design;\n  type categoriesV1Category_universal_d_TextData = TextData;\n  type categoriesV1Category_universal_d_Decoration = Decoration;\n  type categoriesV1Category_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type categoriesV1Category_universal_d_DecorationType = DecorationType;\n  const categoriesV1Category_universal_d_DecorationType: typeof DecorationType;\n  type categoriesV1Category_universal_d_AnchorData = AnchorData;\n  type categoriesV1Category_universal_d_ColorData = ColorData;\n  type categoriesV1Category_universal_d_LinkData = LinkData;\n  type categoriesV1Category_universal_d_MentionData = MentionData;\n  type categoriesV1Category_universal_d_FontSizeData = FontSizeData;\n  type categoriesV1Category_universal_d_FontType = FontType;\n  const categoriesV1Category_universal_d_FontType: typeof FontType;\n  type categoriesV1Category_universal_d_SpoilerData = SpoilerData;\n  type categoriesV1Category_universal_d_AppEmbedData = AppEmbedData;\n  type categoriesV1Category_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type categoriesV1Category_universal_d_AppType = AppType;\n  const categoriesV1Category_universal_d_AppType: typeof AppType;\n  type categoriesV1Category_universal_d_BookingData = BookingData;\n  type categoriesV1Category_universal_d_EventData = EventData;\n  type categoriesV1Category_universal_d_VideoData = VideoData;\n  type categoriesV1Category_universal_d_PlaybackOptions = PlaybackOptions;\n  type categoriesV1Category_universal_d_EmbedData = EmbedData;\n  type categoriesV1Category_universal_d_Oembed = Oembed;\n  type categoriesV1Category_universal_d_CollapsibleListData = CollapsibleListData;\n  type categoriesV1Category_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const categoriesV1Category_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type categoriesV1Category_universal_d_Direction = Direction;\n  const categoriesV1Category_universal_d_Direction: typeof Direction;\n  type categoriesV1Category_universal_d_TableData = TableData;\n  type categoriesV1Category_universal_d_Dimensions = Dimensions;\n  type categoriesV1Category_universal_d_TableCellData = TableCellData;\n  type categoriesV1Category_universal_d_VerticalAlignment = VerticalAlignment;\n  const categoriesV1Category_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type categoriesV1Category_universal_d_CellStyle = CellStyle;\n  type categoriesV1Category_universal_d_BorderColors = BorderColors;\n  type categoriesV1Category_universal_d_NullValue = NullValue;\n  const categoriesV1Category_universal_d_NullValue: typeof NullValue;\n  type categoriesV1Category_universal_d_ListValue = ListValue;\n  type categoriesV1Category_universal_d_AudioData = AudioData;\n  type categoriesV1Category_universal_d_OrderedListData = OrderedListData;\n  type categoriesV1Category_universal_d_BulletedListData = BulletedListData;\n  type categoriesV1Category_universal_d_BlockquoteData = BlockquoteData;\n  type categoriesV1Category_universal_d_CaptionData = CaptionData;\n  type categoriesV1Category_universal_d_Metadata = Metadata;\n  type categoriesV1Category_universal_d_DocumentStyle = DocumentStyle;\n  type categoriesV1Category_universal_d_TextNodeStyle = TextNodeStyle;\n  type categoriesV1Category_universal_d_TreeReference = TreeReference;\n  type categoriesV1Category_universal_d_ExtendedFields = ExtendedFields;\n  type categoriesV1Category_universal_d_InvalidateCache = InvalidateCache;\n  type categoriesV1Category_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type categoriesV1Category_universal_d_App = App;\n  type categoriesV1Category_universal_d_Page = Page;\n  type categoriesV1Category_universal_d_URI = URI;\n  type categoriesV1Category_universal_d_File = File;\n  type categoriesV1Category_universal_d_CategoryMoved = CategoryMoved;\n  type categoriesV1Category_universal_d_ItemAddedToCategory = ItemAddedToCategory;\n  type categoriesV1Category_universal_d_ItemReference = ItemReference;\n  type categoriesV1Category_universal_d_ItemsAddedToCategory = ItemsAddedToCategory;\n  type categoriesV1Category_universal_d_ItemRemovedFromCategory = ItemRemovedFromCategory;\n  type categoriesV1Category_universal_d_ItemsRemovedFromCategory = ItemsRemovedFromCategory;\n  type categoriesV1Category_universal_d_ItemsArrangedInCategory = ItemsArrangedInCategory;\n  type categoriesV1Category_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type categoriesV1Category_universal_d_SingleEntityOpsRequestedFields = SingleEntityOpsRequestedFields;\n  const categoriesV1Category_universal_d_SingleEntityOpsRequestedFields: typeof SingleEntityOpsRequestedFields;\n  type categoriesV1Category_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n  type categoriesV1Category_universal_d_GetCategoryRequest = GetCategoryRequest;\n  type categoriesV1Category_universal_d_GetCategoryResponse = GetCategoryResponse;\n  type categoriesV1Category_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type categoriesV1Category_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n  type categoriesV1Category_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type categoriesV1Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  type categoriesV1Category_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n  type categoriesV1Category_universal_d_CursorQuery = CursorQuery;\n  type categoriesV1Category_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type categoriesV1Category_universal_d_CommonSorting = CommonSorting;\n  type categoriesV1Category_universal_d_CommonSortOrder = CommonSortOrder;\n  const categoriesV1Category_universal_d_CommonSortOrder: typeof CommonSortOrder;\n  type categoriesV1Category_universal_d_CommonCursorPaging = CommonCursorPaging;\n  type categoriesV1Category_universal_d_RequestedFields = RequestedFields;\n  const categoriesV1Category_universal_d_RequestedFields: typeof RequestedFields;\n  type categoriesV1Category_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n  type categoriesV1Category_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type categoriesV1Category_universal_d_CommonCursors = CommonCursors;\n  type categoriesV1Category_universal_d_ListCompactCategoriesByIdsRequest = ListCompactCategoriesByIdsRequest;\n  type categoriesV1Category_universal_d_ListCompactCategoriesByIdsResponse = ListCompactCategoriesByIdsResponse;\n  type categoriesV1Category_universal_d_CompactCategory = CompactCategory;\n  type categoriesV1Category_universal_d_SearchCategoriesRequest = SearchCategoriesRequest;\n  type categoriesV1Category_universal_d_CursorSearch = CursorSearch;\n  type categoriesV1Category_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type categoriesV1Category_universal_d_CommonAggregation = CommonAggregation;\n  type categoriesV1Category_universal_d_CommonAggregationKindOneOf = CommonAggregationKindOneOf;\n  type categoriesV1Category_universal_d_RangeAggregationRangeBucket = RangeAggregationRangeBucket;\n  type categoriesV1Category_universal_d_ValueAggregationSortType = ValueAggregationSortType;\n  const categoriesV1Category_universal_d_ValueAggregationSortType: typeof ValueAggregationSortType;\n  type categoriesV1Category_universal_d_ValueAggregationSortDirection = ValueAggregationSortDirection;\n  const categoriesV1Category_universal_d_ValueAggregationSortDirection: typeof ValueAggregationSortDirection;\n  type categoriesV1Category_universal_d_ValueAggregationMissingValues = ValueAggregationMissingValues;\n  const categoriesV1Category_universal_d_ValueAggregationMissingValues: typeof ValueAggregationMissingValues;\n  type categoriesV1Category_universal_d_ValueAggregationIncludeMissingValuesOptions = ValueAggregationIncludeMissingValuesOptions;\n  type categoriesV1Category_universal_d_CommonScalarType = CommonScalarType;\n  const categoriesV1Category_universal_d_CommonScalarType: typeof CommonScalarType;\n  type categoriesV1Category_universal_d_AggregationValueAggregation = AggregationValueAggregation;\n  type categoriesV1Category_universal_d_AggregationValueAggregationOptionsOneOf = AggregationValueAggregationOptionsOneOf;\n  type categoriesV1Category_universal_d_NestedAggregationNestedAggregationType = NestedAggregationNestedAggregationType;\n  const categoriesV1Category_universal_d_NestedAggregationNestedAggregationType: typeof NestedAggregationNestedAggregationType;\n  type categoriesV1Category_universal_d_AggregationRangeAggregation = AggregationRangeAggregation;\n  type categoriesV1Category_universal_d_AggregationScalarAggregation = AggregationScalarAggregation;\n  type categoriesV1Category_universal_d_AggregationDateHistogramAggregation = AggregationDateHistogramAggregation;\n  type categoriesV1Category_universal_d_DateHistogramAggregationInterval = DateHistogramAggregationInterval;\n  const categoriesV1Category_universal_d_DateHistogramAggregationInterval: typeof DateHistogramAggregationInterval;\n  type categoriesV1Category_universal_d_NestedAggregationNestedAggregationItem = NestedAggregationNestedAggregationItem;\n  type categoriesV1Category_universal_d_NestedAggregationNestedAggregationItemKindOneOf = NestedAggregationNestedAggregationItemKindOneOf;\n  type categoriesV1Category_universal_d_CommonAggregationType = CommonAggregationType;\n  const categoriesV1Category_universal_d_CommonAggregationType: typeof CommonAggregationType;\n  type categoriesV1Category_universal_d_AggregationNestedAggregation = AggregationNestedAggregation;\n  type categoriesV1Category_universal_d_CommonSearchDetails = CommonSearchDetails;\n  type categoriesV1Category_universal_d_SearchDetailsMode = SearchDetailsMode;\n  const categoriesV1Category_universal_d_SearchDetailsMode: typeof SearchDetailsMode;\n  type categoriesV1Category_universal_d_SearchCategoriesResponse = SearchCategoriesResponse;\n  type categoriesV1Category_universal_d_AggregationData = AggregationData;\n  type categoriesV1Category_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type categoriesV1Category_universal_d_RangeAggregationResult = RangeAggregationResult;\n  type categoriesV1Category_universal_d_NestedAggregationResults = NestedAggregationResults;\n  type categoriesV1Category_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n  type categoriesV1Category_universal_d_ValueResults = ValueResults;\n  type categoriesV1Category_universal_d_RangeResults = RangeResults;\n  type categoriesV1Category_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n  type categoriesV1Category_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n  type categoriesV1Category_universal_d_ValueResult = ValueResult;\n  type categoriesV1Category_universal_d_RangeResult = RangeResult;\n  type categoriesV1Category_universal_d_ScalarResult = ScalarResult;\n  type categoriesV1Category_universal_d_NestedResultValue = NestedResultValue;\n  type categoriesV1Category_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type categoriesV1Category_universal_d_Results = Results;\n  type categoriesV1Category_universal_d_DateHistogramResult = DateHistogramResult;\n  type categoriesV1Category_universal_d_GroupByValueResults = GroupByValueResults;\n  type categoriesV1Category_universal_d_DateHistogramResults = DateHistogramResults;\n  type categoriesV1Category_universal_d_NestedResults = NestedResults;\n  type categoriesV1Category_universal_d_AggregationResults = AggregationResults;\n  type categoriesV1Category_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type categoriesV1Category_universal_d_DeprecatedSearchCategoriesWithOffsetRequest = DeprecatedSearchCategoriesWithOffsetRequest;\n  type categoriesV1Category_universal_d_OffsetSearch = OffsetSearch;\n  type categoriesV1Category_universal_d_OffsetSearchPagingMethodOneOf = OffsetSearchPagingMethodOneOf;\n  type categoriesV1Category_universal_d_Paging = Paging;\n  type categoriesV1Category_universal_d_DeprecatedSearchCategoriesWithOffsetResponse = DeprecatedSearchCategoriesWithOffsetResponse;\n  type categoriesV1Category_universal_d_PagingMetadata = PagingMetadata;\n  type categoriesV1Category_universal_d_CountCategoriesRequest = CountCategoriesRequest;\n  type categoriesV1Category_universal_d_CountCategoriesResponse = CountCategoriesResponse;\n  type categoriesV1Category_universal_d_MoveCategoryRequest = MoveCategoryRequest;\n  type categoriesV1Category_universal_d_MoveCategoryRequestPosition = MoveCategoryRequestPosition;\n  const categoriesV1Category_universal_d_MoveCategoryRequestPosition: typeof MoveCategoryRequestPosition;\n  type categoriesV1Category_universal_d_MoveCategoryResponse = MoveCategoryResponse;\n  type categoriesV1Category_universal_d_BulkCreateCategoriesRequest = BulkCreateCategoriesRequest;\n  type categoriesV1Category_universal_d_BulkCreateCategoriesResponse = BulkCreateCategoriesResponse;\n  type categoriesV1Category_universal_d_BulkCategoriesResult = BulkCategoriesResult;\n  type categoriesV1Category_universal_d_ItemMetadata = ItemMetadata;\n  type categoriesV1Category_universal_d_ApplicationError = ApplicationError;\n  type categoriesV1Category_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type categoriesV1Category_universal_d_BulkUpdateCategoriesRequest = BulkUpdateCategoriesRequest;\n  type categoriesV1Category_universal_d_MaskedCategory = MaskedCategory;\n  type categoriesV1Category_universal_d_BulkUpdateCategoriesResponse = BulkUpdateCategoriesResponse;\n  type categoriesV1Category_universal_d_UpdateCategoryVisibilityRequest = UpdateCategoryVisibilityRequest;\n  type categoriesV1Category_universal_d_UpdateCategoryVisibilityResponse = UpdateCategoryVisibilityResponse;\n  type categoriesV1Category_universal_d_BulkShowCategoriesRequest = BulkShowCategoriesRequest;\n  type categoriesV1Category_universal_d_BulkShowCategoriesResponse = BulkShowCategoriesResponse;\n  type categoriesV1Category_universal_d_BulkUpdateCategoryVisibilityByFilterRequest = BulkUpdateCategoryVisibilityByFilterRequest;\n  type categoriesV1Category_universal_d_BulkUpdateCategoryVisibilityByFilterResponse = BulkUpdateCategoryVisibilityByFilterResponse;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesRequest = BulkDeleteCategoriesRequest;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesResponse = BulkDeleteCategoriesResponse;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesResponseBulkCategoriesResult = BulkDeleteCategoriesResponseBulkCategoriesResult;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterRequest = BulkDeleteCategoriesByFilterRequest;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterResponse = BulkDeleteCategoriesByFilterResponse;\n  type categoriesV1Category_universal_d_BulkAddItemsToCategoryRequest = BulkAddItemsToCategoryRequest;\n  type categoriesV1Category_universal_d_BulkAddItemsToCategoryResponse = BulkAddItemsToCategoryResponse;\n  type categoriesV1Category_universal_d_BulkItemsToCategoryResult = BulkItemsToCategoryResult;\n  type categoriesV1Category_universal_d_ItemReferenceMetadata = ItemReferenceMetadata;\n  type categoriesV1Category_universal_d_BulkAddItemToCategoriesRequest = BulkAddItemToCategoriesRequest;\n  type categoriesV1Category_universal_d_BulkAddItemToCategoriesResponse = BulkAddItemToCategoriesResponse;\n  type categoriesV1Category_universal_d_BulkItemToCategoriesResult = BulkItemToCategoriesResult;\n  type categoriesV1Category_universal_d_BulkRemoveItemsFromCategoryRequest = BulkRemoveItemsFromCategoryRequest;\n  type categoriesV1Category_universal_d_BulkRemoveItemsFromCategoryResponse = BulkRemoveItemsFromCategoryResponse;\n  type categoriesV1Category_universal_d_BulkRemoveItemFromCategoriesRequest = BulkRemoveItemFromCategoriesRequest;\n  type categoriesV1Category_universal_d_BulkRemoveItemFromCategoriesResponse = BulkRemoveItemFromCategoriesResponse;\n  type categoriesV1Category_universal_d_ListItemsInCategoryRequest = ListItemsInCategoryRequest;\n  type categoriesV1Category_universal_d_ListItemsInCategoryRequestPagingMethodOneOf = ListItemsInCategoryRequestPagingMethodOneOf;\n  type categoriesV1Category_universal_d_ListItemsInCategoryResponse = ListItemsInCategoryResponse;\n  type categoriesV1Category_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type categoriesV1Category_universal_d_ListCategoriesForItemRequest = ListCategoriesForItemRequest;\n  type categoriesV1Category_universal_d_ListCategoriesForItemResponse = ListCategoriesForItemResponse;\n  type categoriesV1Category_universal_d_ListTreesRequest = ListTreesRequest;\n  type categoriesV1Category_universal_d_ListTreesResponse = ListTreesResponse;\n  type categoriesV1Category_universal_d_MoveItemInCategoryRequest = MoveItemInCategoryRequest;\n  type categoriesV1Category_universal_d_Position = Position;\n  const categoriesV1Category_universal_d_Position: typeof Position;\n  type categoriesV1Category_universal_d_MoveItemInCategoryResponse = MoveItemInCategoryResponse;\n  type categoriesV1Category_universal_d_SetArrangedItemsRequest = SetArrangedItemsRequest;\n  type categoriesV1Category_universal_d_SetArrangedItemsResponse = SetArrangedItemsResponse;\n  type categoriesV1Category_universal_d_GetArrangedItemsRequest = GetArrangedItemsRequest;\n  type categoriesV1Category_universal_d_GetArrangedItemsResponse = GetArrangedItemsResponse;\n  type categoriesV1Category_universal_d_GetCategoriesTreeRequest = GetCategoriesTreeRequest;\n  type categoriesV1Category_universal_d_GetCategoriesTreeResponse = GetCategoriesTreeResponse;\n  type categoriesV1Category_universal_d_CategoryTreeNode = CategoryTreeNode;\n  type categoriesV1Category_universal_d_DomainEvent = DomainEvent;\n  type categoriesV1Category_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type categoriesV1Category_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type categoriesV1Category_universal_d_RestoreInfo = RestoreInfo;\n  type categoriesV1Category_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type categoriesV1Category_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type categoriesV1Category_universal_d_ActionEvent = ActionEvent;\n  type categoriesV1Category_universal_d_Empty = Empty;\n  type categoriesV1Category_universal_d_MessageEnvelope = MessageEnvelope;\n  type categoriesV1Category_universal_d_IdentificationData = IdentificationData;\n  type categoriesV1Category_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type categoriesV1Category_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const categoriesV1Category_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const categoriesV1Category_universal_d_createCategory: typeof createCategory;\n  type categoriesV1Category_universal_d_CreateCategoryOptions = CreateCategoryOptions;\n  const categoriesV1Category_universal_d_getCategory: typeof getCategory;\n  type categoriesV1Category_universal_d_GetCategoryOptions = GetCategoryOptions;\n  const categoriesV1Category_universal_d_updateCategory: typeof updateCategory;\n  type categoriesV1Category_universal_d_UpdateCategory = UpdateCategory;\n  type categoriesV1Category_universal_d_UpdateCategoryOptions = UpdateCategoryOptions;\n  const categoriesV1Category_universal_d_deleteCategory: typeof deleteCategory;\n  const categoriesV1Category_universal_d_queryCategories: typeof queryCategories;\n  type categoriesV1Category_universal_d_QueryCategoriesOptions = QueryCategoriesOptions;\n  type categoriesV1Category_universal_d_CategoriesQueryResult = CategoriesQueryResult;\n  type categoriesV1Category_universal_d_CategoriesQueryBuilder = CategoriesQueryBuilder;\n  const categoriesV1Category_universal_d_listCompactCategoriesByIds: typeof listCompactCategoriesByIds;\n  type categoriesV1Category_universal_d_ListCompactCategoriesByIdsOptions = ListCompactCategoriesByIdsOptions;\n  const categoriesV1Category_universal_d_searchCategories: typeof searchCategories;\n  type categoriesV1Category_universal_d_SearchCategoriesOptions = SearchCategoriesOptions;\n  const categoriesV1Category_universal_d_countCategories: typeof countCategories;\n  type categoriesV1Category_universal_d_CountCategoriesOptions = CountCategoriesOptions;\n  const categoriesV1Category_universal_d_moveCategory: typeof moveCategory;\n  type categoriesV1Category_universal_d_MoveCategoryOptions = MoveCategoryOptions;\n  const categoriesV1Category_universal_d_bulkCreateCategories: typeof bulkCreateCategories;\n  type categoriesV1Category_universal_d_BulkCreateCategoriesOptions = BulkCreateCategoriesOptions;\n  const categoriesV1Category_universal_d_bulkUpdateCategories: typeof bulkUpdateCategories;\n  type categoriesV1Category_universal_d_BulkUpdateCategoriesOptions = BulkUpdateCategoriesOptions;\n  const categoriesV1Category_universal_d_updateCategoryVisibility: typeof updateCategoryVisibility;\n  type categoriesV1Category_universal_d_UpdateCategoryVisibilityOptions = UpdateCategoryVisibilityOptions;\n  const categoriesV1Category_universal_d_bulkShowCategories: typeof bulkShowCategories;\n  type categoriesV1Category_universal_d_BulkShowCategoriesOptions = BulkShowCategoriesOptions;\n  const categoriesV1Category_universal_d_bulkUpdateCategoryVisibilityByFilter: typeof bulkUpdateCategoryVisibilityByFilter;\n  type categoriesV1Category_universal_d_BulkUpdateCategoryVisibilityByFilterOptions = BulkUpdateCategoryVisibilityByFilterOptions;\n  const categoriesV1Category_universal_d_bulkDeleteCategories: typeof bulkDeleteCategories;\n  const categoriesV1Category_universal_d_bulkDeleteCategoriesByFilter: typeof bulkDeleteCategoriesByFilter;\n  type categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterOptions = BulkDeleteCategoriesByFilterOptions;\n  const categoriesV1Category_universal_d_bulkAddItemsToCategory: typeof bulkAddItemsToCategory;\n  type categoriesV1Category_universal_d_BulkAddItemsToCategoryOptions = BulkAddItemsToCategoryOptions;\n  const categoriesV1Category_universal_d_bulkAddItemToCategories: typeof bulkAddItemToCategories;\n  type categoriesV1Category_universal_d_BulkAddItemToCategoriesOptions = BulkAddItemToCategoriesOptions;\n  const categoriesV1Category_universal_d_bulkRemoveItemsFromCategory: typeof bulkRemoveItemsFromCategory;\n  type categoriesV1Category_universal_d_BulkRemoveItemsFromCategoryOptions = BulkRemoveItemsFromCategoryOptions;\n  const categoriesV1Category_universal_d_bulkRemoveItemFromCategories: typeof bulkRemoveItemFromCategories;\n  type categoriesV1Category_universal_d_BulkRemoveItemFromCategoriesOptions = BulkRemoveItemFromCategoriesOptions;\n  const categoriesV1Category_universal_d_listItemsInCategory: typeof listItemsInCategory;\n  type categoriesV1Category_universal_d_ListItemsInCategoryOptions = ListItemsInCategoryOptions;\n  const categoriesV1Category_universal_d_listCategoriesForItem: typeof listCategoriesForItem;\n  type categoriesV1Category_universal_d_ListCategoriesForItemOptions = ListCategoriesForItemOptions;\n  const categoriesV1Category_universal_d_listTrees: typeof listTrees;\n  const categoriesV1Category_universal_d_moveItemInCategory: typeof moveItemInCategory;\n  type categoriesV1Category_universal_d_MoveItemInCategoryOptions = MoveItemInCategoryOptions;\n  const categoriesV1Category_universal_d_setArrangedItems: typeof setArrangedItems;\n  type categoriesV1Category_universal_d_SetArrangedItemsOptions = SetArrangedItemsOptions;\n  const categoriesV1Category_universal_d_getArrangedItems: typeof getArrangedItems;\n  const categoriesV1Category_universal_d_getCategoriesTree: typeof getCategoriesTree;\n  namespace categoriesV1Category_universal_d {\n    export {\n      categoriesV1Category_universal_d_Category as Category,\n      categoriesV1Category_universal_d_BreadcrumbsInfo as BreadcrumbsInfo,\n      categoriesV1Category_universal_d_Breadcrumb as Breadcrumb,\n      categoriesV1Category_universal_d_ParentCategory as ParentCategory,\n      categoriesV1Category_universal_d_SeoSchema as SeoSchema,\n      categoriesV1Category_universal_d_Keyword as Keyword,\n      categoriesV1Category_universal_d_Tag as Tag,\n      categoriesV1Category_universal_d_Settings as Settings,\n      categoriesV1Category_universal_d_RichContent as RichContent,\n      categoriesV1Category_universal_d_Node as Node,\n      categoriesV1Category_universal_d_NodeDataOneOf as NodeDataOneOf,\n      categoriesV1Category_universal_d_NodeType as NodeType,\n      categoriesV1Category_universal_d_NodeStyle as NodeStyle,\n      categoriesV1Category_universal_d_ButtonData as ButtonData,\n      categoriesV1Category_universal_d_Border as Border,\n      categoriesV1Category_universal_d_Colors as Colors,\n      categoriesV1Category_universal_d_PluginContainerData as PluginContainerData,\n      categoriesV1Category_universal_d_WidthType as WidthType,\n      categoriesV1Category_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      categoriesV1Category_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      categoriesV1Category_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      categoriesV1Category_universal_d_Spoiler as Spoiler,\n      categoriesV1Category_universal_d_Height as Height,\n      categoriesV1Category_universal_d_Type as Type,\n      categoriesV1Category_universal_d_Styles as Styles,\n      categoriesV1Category_universal_d_Link as Link,\n      categoriesV1Category_universal_d_LinkDataOneOf as LinkDataOneOf,\n      categoriesV1Category_universal_d_Target as Target,\n      categoriesV1Category_universal_d_Rel as Rel,\n      categoriesV1Category_universal_d_CodeBlockData as CodeBlockData,\n      categoriesV1Category_universal_d_TextStyle as TextStyle,\n      categoriesV1Category_universal_d_TextAlignment as TextAlignment,\n      categoriesV1Category_universal_d_DividerData as DividerData,\n      categoriesV1Category_universal_d_LineStyle as LineStyle,\n      categoriesV1Category_universal_d_Width as Width,\n      categoriesV1Category_universal_d_Alignment as Alignment,\n      categoriesV1Category_universal_d_FileData as FileData,\n      categoriesV1Category_universal_d_ViewMode as ViewMode,\n      categoriesV1Category_universal_d_FileSource as FileSource,\n      categoriesV1Category_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      categoriesV1Category_universal_d_PDFSettings as PDFSettings,\n      categoriesV1Category_universal_d_GalleryData as GalleryData,\n      categoriesV1Category_universal_d_Media as Media,\n      categoriesV1Category_universal_d_Image as Image,\n      categoriesV1Category_universal_d_Video as Video,\n      categoriesV1Category_universal_d_Item as Item,\n      categoriesV1Category_universal_d_ItemDataOneOf as ItemDataOneOf,\n      categoriesV1Category_universal_d_GalleryOptions as GalleryOptions,\n      categoriesV1Category_universal_d_LayoutType as LayoutType,\n      categoriesV1Category_universal_d_Orientation as Orientation,\n      categoriesV1Category_universal_d_Crop as Crop,\n      categoriesV1Category_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      categoriesV1Category_universal_d_Layout as Layout,\n      categoriesV1Category_universal_d_ItemStyle as ItemStyle,\n      categoriesV1Category_universal_d_Thumbnails as Thumbnails,\n      categoriesV1Category_universal_d_GIFData as GIFData,\n      categoriesV1Category_universal_d_GIF as GIF,\n      categoriesV1Category_universal_d_HeadingData as HeadingData,\n      categoriesV1Category_universal_d_HTMLData as HTMLData,\n      categoriesV1Category_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      categoriesV1Category_universal_d_Source as Source,\n      categoriesV1Category_universal_d_ImageData as ImageData,\n      categoriesV1Category_universal_d_LinkPreviewData as LinkPreviewData,\n      categoriesV1Category_universal_d_MapData as MapData,\n      categoriesV1Category_universal_d_MapSettings as MapSettings,\n      categoriesV1Category_universal_d_MapType as MapType,\n      categoriesV1Category_universal_d_ParagraphData as ParagraphData,\n      categoriesV1Category_universal_d_PollData as PollData,\n      categoriesV1Category_universal_d_ViewRole as ViewRole,\n      categoriesV1Category_universal_d_VoteRole as VoteRole,\n      categoriesV1Category_universal_d_Permissions as Permissions,\n      categoriesV1Category_universal_d_Option as Option,\n      categoriesV1Category_universal_d_PollSettings as PollSettings,\n      categoriesV1Category_universal_d_PollLayoutType as PollLayoutType,\n      categoriesV1Category_universal_d_PollLayoutDirection as PollLayoutDirection,\n      categoriesV1Category_universal_d_PollLayout as PollLayout,\n      categoriesV1Category_universal_d_OptionLayout as OptionLayout,\n      categoriesV1Category_universal_d_BackgroundType as BackgroundType,\n      categoriesV1Category_universal_d_Gradient as Gradient,\n      categoriesV1Category_universal_d_Background as Background,\n      categoriesV1Category_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      categoriesV1Category_universal_d_PollDesign as PollDesign,\n      categoriesV1Category_universal_d_OptionDesign as OptionDesign,\n      categoriesV1Category_universal_d_Poll as Poll,\n      categoriesV1Category_universal_d_PollDataLayout as PollDataLayout,\n      categoriesV1Category_universal_d_Design as Design,\n      categoriesV1Category_universal_d_TextData as TextData,\n      categoriesV1Category_universal_d_Decoration as Decoration,\n      categoriesV1Category_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      categoriesV1Category_universal_d_DecorationType as DecorationType,\n      categoriesV1Category_universal_d_AnchorData as AnchorData,\n      categoriesV1Category_universal_d_ColorData as ColorData,\n      categoriesV1Category_universal_d_LinkData as LinkData,\n      categoriesV1Category_universal_d_MentionData as MentionData,\n      categoriesV1Category_universal_d_FontSizeData as FontSizeData,\n      categoriesV1Category_universal_d_FontType as FontType,\n      categoriesV1Category_universal_d_SpoilerData as SpoilerData,\n      categoriesV1Category_universal_d_AppEmbedData as AppEmbedData,\n      categoriesV1Category_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      categoriesV1Category_universal_d_AppType as AppType,\n      categoriesV1Category_universal_d_BookingData as BookingData,\n      categoriesV1Category_universal_d_EventData as EventData,\n      categoriesV1Category_universal_d_VideoData as VideoData,\n      categoriesV1Category_universal_d_PlaybackOptions as PlaybackOptions,\n      categoriesV1Category_universal_d_EmbedData as EmbedData,\n      categoriesV1Category_universal_d_Oembed as Oembed,\n      categoriesV1Category_universal_d_CollapsibleListData as CollapsibleListData,\n      categoriesV1Category_universal_d_InitialExpandedItems as InitialExpandedItems,\n      categoriesV1Category_universal_d_Direction as Direction,\n      categoriesV1Category_universal_d_TableData as TableData,\n      categoriesV1Category_universal_d_Dimensions as Dimensions,\n      categoriesV1Category_universal_d_TableCellData as TableCellData,\n      categoriesV1Category_universal_d_VerticalAlignment as VerticalAlignment,\n      categoriesV1Category_universal_d_CellStyle as CellStyle,\n      categoriesV1Category_universal_d_BorderColors as BorderColors,\n      categoriesV1Category_universal_d_NullValue as NullValue,\n      categoriesV1Category_universal_d_ListValue as ListValue,\n      categoriesV1Category_universal_d_AudioData as AudioData,\n      categoriesV1Category_universal_d_OrderedListData as OrderedListData,\n      categoriesV1Category_universal_d_BulletedListData as BulletedListData,\n      categoriesV1Category_universal_d_BlockquoteData as BlockquoteData,\n      categoriesV1Category_universal_d_CaptionData as CaptionData,\n      categoriesV1Category_universal_d_Metadata as Metadata,\n      categoriesV1Category_universal_d_DocumentStyle as DocumentStyle,\n      categoriesV1Category_universal_d_TextNodeStyle as TextNodeStyle,\n      categoriesV1Category_universal_d_TreeReference as TreeReference,\n      categoriesV1Category_universal_d_ExtendedFields as ExtendedFields,\n      categoriesV1Category_universal_d_InvalidateCache as InvalidateCache,\n      categoriesV1Category_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      categoriesV1Category_universal_d_App as App,\n      categoriesV1Category_universal_d_Page as Page,\n      categoriesV1Category_universal_d_URI as URI,\n      categoriesV1Category_universal_d_File as File,\n      categoriesV1Category_universal_d_CategoryMoved as CategoryMoved,\n      categoriesV1Category_universal_d_ItemAddedToCategory as ItemAddedToCategory,\n      categoriesV1Category_universal_d_ItemReference as ItemReference,\n      categoriesV1Category_universal_d_ItemsAddedToCategory as ItemsAddedToCategory,\n      categoriesV1Category_universal_d_ItemRemovedFromCategory as ItemRemovedFromCategory,\n      categoriesV1Category_universal_d_ItemsRemovedFromCategory as ItemsRemovedFromCategory,\n      categoriesV1Category_universal_d_ItemsArrangedInCategory as ItemsArrangedInCategory,\n      categoriesV1Category_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      categoriesV1Category_universal_d_SingleEntityOpsRequestedFields as SingleEntityOpsRequestedFields,\n      categoriesV1Category_universal_d_CreateCategoryResponse as CreateCategoryResponse,\n      categoriesV1Category_universal_d_GetCategoryRequest as GetCategoryRequest,\n      categoriesV1Category_universal_d_GetCategoryResponse as GetCategoryResponse,\n      categoriesV1Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      categoriesV1Category_universal_d_UpdateCategoryResponse as UpdateCategoryResponse,\n      categoriesV1Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      categoriesV1Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      categoriesV1Category_universal_d_QueryCategoriesRequest as QueryCategoriesRequest,\n      categoriesV1Category_universal_d_CursorQuery as CursorQuery,\n      categoriesV1Category_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      categoriesV1Category_universal_d_CommonSorting as CommonSorting,\n      categoriesV1Category_universal_d_CommonSortOrder as CommonSortOrder,\n      categoriesV1Category_universal_d_CommonCursorPaging as CommonCursorPaging,\n      categoriesV1Category_universal_d_RequestedFields as RequestedFields,\n      categoriesV1Category_universal_d_QueryCategoriesResponse as QueryCategoriesResponse,\n      categoriesV1Category_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      categoriesV1Category_universal_d_CommonCursors as CommonCursors,\n      categoriesV1Category_universal_d_ListCompactCategoriesByIdsRequest as ListCompactCategoriesByIdsRequest,\n      categoriesV1Category_universal_d_ListCompactCategoriesByIdsResponse as ListCompactCategoriesByIdsResponse,\n      categoriesV1Category_universal_d_CompactCategory as CompactCategory,\n      categoriesV1Category_universal_d_SearchCategoriesRequest as SearchCategoriesRequest,\n      categoriesV1Category_universal_d_CursorSearch as CursorSearch,\n      categoriesV1Category_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      categoriesV1Category_universal_d_CommonAggregation as CommonAggregation,\n      categoriesV1Category_universal_d_CommonAggregationKindOneOf as CommonAggregationKindOneOf,\n      categoriesV1Category_universal_d_RangeAggregationRangeBucket as RangeAggregationRangeBucket,\n      categoriesV1Category_universal_d_ValueAggregationSortType as ValueAggregationSortType,\n      categoriesV1Category_universal_d_ValueAggregationSortDirection as ValueAggregationSortDirection,\n      categoriesV1Category_universal_d_ValueAggregationMissingValues as ValueAggregationMissingValues,\n      categoriesV1Category_universal_d_ValueAggregationIncludeMissingValuesOptions as ValueAggregationIncludeMissingValuesOptions,\n      categoriesV1Category_universal_d_CommonScalarType as CommonScalarType,\n      categoriesV1Category_universal_d_AggregationValueAggregation as AggregationValueAggregation,\n      categoriesV1Category_universal_d_AggregationValueAggregationOptionsOneOf as AggregationValueAggregationOptionsOneOf,\n      categoriesV1Category_universal_d_NestedAggregationNestedAggregationType as NestedAggregationNestedAggregationType,\n      categoriesV1Category_universal_d_AggregationRangeAggregation as AggregationRangeAggregation,\n      categoriesV1Category_universal_d_AggregationScalarAggregation as AggregationScalarAggregation,\n      categoriesV1Category_universal_d_AggregationDateHistogramAggregation as AggregationDateHistogramAggregation,\n      categoriesV1Category_universal_d_DateHistogramAggregationInterval as DateHistogramAggregationInterval,\n      categoriesV1Category_universal_d_NestedAggregationNestedAggregationItem as NestedAggregationNestedAggregationItem,\n      categoriesV1Category_universal_d_NestedAggregationNestedAggregationItemKindOneOf as NestedAggregationNestedAggregationItemKindOneOf,\n      categoriesV1Category_universal_d_CommonAggregationType as CommonAggregationType,\n      categoriesV1Category_universal_d_AggregationNestedAggregation as AggregationNestedAggregation,\n      categoriesV1Category_universal_d_CommonSearchDetails as CommonSearchDetails,\n      categoriesV1Category_universal_d_SearchDetailsMode as SearchDetailsMode,\n      categoriesV1Category_universal_d_SearchCategoriesResponse as SearchCategoriesResponse,\n      categoriesV1Category_universal_d_AggregationData as AggregationData,\n      categoriesV1Category_universal_d_ValueAggregationResult as ValueAggregationResult,\n      categoriesV1Category_universal_d_RangeAggregationResult as RangeAggregationResult,\n      categoriesV1Category_universal_d_NestedAggregationResults as NestedAggregationResults,\n      categoriesV1Category_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,\n      categoriesV1Category_universal_d_ValueResults as ValueResults,\n      categoriesV1Category_universal_d_RangeResults as RangeResults,\n      categoriesV1Category_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult,\n      categoriesV1Category_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,\n      categoriesV1Category_universal_d_ValueResult as ValueResult,\n      categoriesV1Category_universal_d_RangeResult as RangeResult,\n      categoriesV1Category_universal_d_ScalarResult as ScalarResult,\n      categoriesV1Category_universal_d_NestedResultValue as NestedResultValue,\n      categoriesV1Category_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      categoriesV1Category_universal_d_Results as Results,\n      categoriesV1Category_universal_d_DateHistogramResult as DateHistogramResult,\n      categoriesV1Category_universal_d_GroupByValueResults as GroupByValueResults,\n      categoriesV1Category_universal_d_DateHistogramResults as DateHistogramResults,\n      categoriesV1Category_universal_d_NestedResults as NestedResults,\n      categoriesV1Category_universal_d_AggregationResults as AggregationResults,\n      categoriesV1Category_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      categoriesV1Category_universal_d_DeprecatedSearchCategoriesWithOffsetRequest as DeprecatedSearchCategoriesWithOffsetRequest,\n      categoriesV1Category_universal_d_OffsetSearch as OffsetSearch,\n      categoriesV1Category_universal_d_OffsetSearchPagingMethodOneOf as OffsetSearchPagingMethodOneOf,\n      categoriesV1Category_universal_d_Paging as Paging,\n      categoriesV1Category_universal_d_DeprecatedSearchCategoriesWithOffsetResponse as DeprecatedSearchCategoriesWithOffsetResponse,\n      categoriesV1Category_universal_d_PagingMetadata as PagingMetadata,\n      categoriesV1Category_universal_d_CountCategoriesRequest as CountCategoriesRequest,\n      categoriesV1Category_universal_d_CountCategoriesResponse as CountCategoriesResponse,\n      categoriesV1Category_universal_d_MoveCategoryRequest as MoveCategoryRequest,\n      categoriesV1Category_universal_d_MoveCategoryRequestPosition as MoveCategoryRequestPosition,\n      categoriesV1Category_universal_d_MoveCategoryResponse as MoveCategoryResponse,\n      categoriesV1Category_universal_d_BulkCreateCategoriesRequest as BulkCreateCategoriesRequest,\n      categoriesV1Category_universal_d_BulkCreateCategoriesResponse as BulkCreateCategoriesResponse,\n      categoriesV1Category_universal_d_BulkCategoriesResult as BulkCategoriesResult,\n      categoriesV1Category_universal_d_ItemMetadata as ItemMetadata,\n      categoriesV1Category_universal_d_ApplicationError as ApplicationError,\n      categoriesV1Category_universal_d_BulkActionMetadata as BulkActionMetadata,\n      categoriesV1Category_universal_d_BulkUpdateCategoriesRequest as BulkUpdateCategoriesRequest,\n      categoriesV1Category_universal_d_MaskedCategory as MaskedCategory,\n      categoriesV1Category_universal_d_BulkUpdateCategoriesResponse as BulkUpdateCategoriesResponse,\n      categoriesV1Category_universal_d_UpdateCategoryVisibilityRequest as UpdateCategoryVisibilityRequest,\n      categoriesV1Category_universal_d_UpdateCategoryVisibilityResponse as UpdateCategoryVisibilityResponse,\n      categoriesV1Category_universal_d_BulkShowCategoriesRequest as BulkShowCategoriesRequest,\n      categoriesV1Category_universal_d_BulkShowCategoriesResponse as BulkShowCategoriesResponse,\n      categoriesV1Category_universal_d_BulkUpdateCategoryVisibilityByFilterRequest as BulkUpdateCategoryVisibilityByFilterRequest,\n      categoriesV1Category_universal_d_BulkUpdateCategoryVisibilityByFilterResponse as BulkUpdateCategoryVisibilityByFilterResponse,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesRequest as BulkDeleteCategoriesRequest,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesResponse as BulkDeleteCategoriesResponse,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesResponseBulkCategoriesResult as BulkDeleteCategoriesResponseBulkCategoriesResult,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterRequest as BulkDeleteCategoriesByFilterRequest,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterResponse as BulkDeleteCategoriesByFilterResponse,\n      categoriesV1Category_universal_d_BulkAddItemsToCategoryRequest as BulkAddItemsToCategoryRequest,\n      categoriesV1Category_universal_d_BulkAddItemsToCategoryResponse as BulkAddItemsToCategoryResponse,\n      categoriesV1Category_universal_d_BulkItemsToCategoryResult as BulkItemsToCategoryResult,\n      categoriesV1Category_universal_d_ItemReferenceMetadata as ItemReferenceMetadata,\n      categoriesV1Category_universal_d_BulkAddItemToCategoriesRequest as BulkAddItemToCategoriesRequest,\n      categoriesV1Category_universal_d_BulkAddItemToCategoriesResponse as BulkAddItemToCategoriesResponse,\n      categoriesV1Category_universal_d_BulkItemToCategoriesResult as BulkItemToCategoriesResult,\n      categoriesV1Category_universal_d_BulkRemoveItemsFromCategoryRequest as BulkRemoveItemsFromCategoryRequest,\n      categoriesV1Category_universal_d_BulkRemoveItemsFromCategoryResponse as BulkRemoveItemsFromCategoryResponse,\n      categoriesV1Category_universal_d_BulkRemoveItemFromCategoriesRequest as BulkRemoveItemFromCategoriesRequest,\n      categoriesV1Category_universal_d_BulkRemoveItemFromCategoriesResponse as BulkRemoveItemFromCategoriesResponse,\n      categoriesV1Category_universal_d_ListItemsInCategoryRequest as ListItemsInCategoryRequest,\n      categoriesV1Category_universal_d_ListItemsInCategoryRequestPagingMethodOneOf as ListItemsInCategoryRequestPagingMethodOneOf,\n      categoriesV1Category_universal_d_ListItemsInCategoryResponse as ListItemsInCategoryResponse,\n      categoriesV1Category_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      categoriesV1Category_universal_d_ListCategoriesForItemRequest as ListCategoriesForItemRequest,\n      categoriesV1Category_universal_d_ListCategoriesForItemResponse as ListCategoriesForItemResponse,\n      categoriesV1Category_universal_d_ListTreesRequest as ListTreesRequest,\n      categoriesV1Category_universal_d_ListTreesResponse as ListTreesResponse,\n      categoriesV1Category_universal_d_MoveItemInCategoryRequest as MoveItemInCategoryRequest,\n      categoriesV1Category_universal_d_Position as Position,\n      categoriesV1Category_universal_d_MoveItemInCategoryResponse as MoveItemInCategoryResponse,\n      categoriesV1Category_universal_d_SetArrangedItemsRequest as SetArrangedItemsRequest,\n      categoriesV1Category_universal_d_SetArrangedItemsResponse as SetArrangedItemsResponse,\n      categoriesV1Category_universal_d_GetArrangedItemsRequest as GetArrangedItemsRequest,\n      categoriesV1Category_universal_d_GetArrangedItemsResponse as GetArrangedItemsResponse,\n      categoriesV1Category_universal_d_GetCategoriesTreeRequest as GetCategoriesTreeRequest,\n      categoriesV1Category_universal_d_GetCategoriesTreeResponse as GetCategoriesTreeResponse,\n      categoriesV1Category_universal_d_CategoryTreeNode as CategoryTreeNode,\n      categoriesV1Category_universal_d_DomainEvent as DomainEvent,\n      categoriesV1Category_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      categoriesV1Category_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      categoriesV1Category_universal_d_RestoreInfo as RestoreInfo,\n      categoriesV1Category_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      categoriesV1Category_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      categoriesV1Category_universal_d_ActionEvent as ActionEvent,\n      categoriesV1Category_universal_d_Empty as Empty,\n      categoriesV1Category_universal_d_MessageEnvelope as MessageEnvelope,\n      categoriesV1Category_universal_d_IdentificationData as IdentificationData,\n      categoriesV1Category_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      categoriesV1Category_universal_d_WebhookIdentityType as WebhookIdentityType,\n      categoriesV1Category_universal_d_createCategory as createCategory,\n      categoriesV1Category_universal_d_CreateCategoryOptions as CreateCategoryOptions,\n      categoriesV1Category_universal_d_getCategory as getCategory,\n      categoriesV1Category_universal_d_GetCategoryOptions as GetCategoryOptions,\n      categoriesV1Category_universal_d_updateCategory as updateCategory,\n      categoriesV1Category_universal_d_UpdateCategory as UpdateCategory,\n      categoriesV1Category_universal_d_UpdateCategoryOptions as UpdateCategoryOptions,\n      categoriesV1Category_universal_d_deleteCategory as deleteCategory,\n      categoriesV1Category_universal_d_queryCategories as queryCategories,\n      categoriesV1Category_universal_d_QueryCategoriesOptions as QueryCategoriesOptions,\n      categoriesV1Category_universal_d_CategoriesQueryResult as CategoriesQueryResult,\n      categoriesV1Category_universal_d_CategoriesQueryBuilder as CategoriesQueryBuilder,\n      categoriesV1Category_universal_d_listCompactCategoriesByIds as listCompactCategoriesByIds,\n      categoriesV1Category_universal_d_ListCompactCategoriesByIdsOptions as ListCompactCategoriesByIdsOptions,\n      categoriesV1Category_universal_d_searchCategories as searchCategories,\n      categoriesV1Category_universal_d_SearchCategoriesOptions as SearchCategoriesOptions,\n      categoriesV1Category_universal_d_countCategories as countCategories,\n      categoriesV1Category_universal_d_CountCategoriesOptions as CountCategoriesOptions,\n      categoriesV1Category_universal_d_moveCategory as moveCategory,\n      categoriesV1Category_universal_d_MoveCategoryOptions as MoveCategoryOptions,\n      categoriesV1Category_universal_d_bulkCreateCategories as bulkCreateCategories,\n      categoriesV1Category_universal_d_BulkCreateCategoriesOptions as BulkCreateCategoriesOptions,\n      categoriesV1Category_universal_d_bulkUpdateCategories as bulkUpdateCategories,\n      categoriesV1Category_universal_d_BulkUpdateCategoriesOptions as BulkUpdateCategoriesOptions,\n      categoriesV1Category_universal_d_updateCategoryVisibility as updateCategoryVisibility,\n      categoriesV1Category_universal_d_UpdateCategoryVisibilityOptions as UpdateCategoryVisibilityOptions,\n      categoriesV1Category_universal_d_bulkShowCategories as bulkShowCategories,\n      categoriesV1Category_universal_d_BulkShowCategoriesOptions as BulkShowCategoriesOptions,\n      categoriesV1Category_universal_d_bulkUpdateCategoryVisibilityByFilter as bulkUpdateCategoryVisibilityByFilter,\n      categoriesV1Category_universal_d_BulkUpdateCategoryVisibilityByFilterOptions as BulkUpdateCategoryVisibilityByFilterOptions,\n      categoriesV1Category_universal_d_bulkDeleteCategories as bulkDeleteCategories,\n      categoriesV1Category_universal_d_bulkDeleteCategoriesByFilter as bulkDeleteCategoriesByFilter,\n      categoriesV1Category_universal_d_BulkDeleteCategoriesByFilterOptions as BulkDeleteCategoriesByFilterOptions,\n      categoriesV1Category_universal_d_bulkAddItemsToCategory as bulkAddItemsToCategory,\n      categoriesV1Category_universal_d_BulkAddItemsToCategoryOptions as BulkAddItemsToCategoryOptions,\n      categoriesV1Category_universal_d_bulkAddItemToCategories as bulkAddItemToCategories,\n      categoriesV1Category_universal_d_BulkAddItemToCategoriesOptions as BulkAddItemToCategoriesOptions,\n      categoriesV1Category_universal_d_bulkRemoveItemsFromCategory as bulkRemoveItemsFromCategory,\n      categoriesV1Category_universal_d_BulkRemoveItemsFromCategoryOptions as BulkRemoveItemsFromCategoryOptions,\n      categoriesV1Category_universal_d_bulkRemoveItemFromCategories as bulkRemoveItemFromCategories,\n      categoriesV1Category_universal_d_BulkRemoveItemFromCategoriesOptions as BulkRemoveItemFromCategoriesOptions,\n      categoriesV1Category_universal_d_listItemsInCategory as listItemsInCategory,\n      categoriesV1Category_universal_d_ListItemsInCategoryOptions as ListItemsInCategoryOptions,\n      categoriesV1Category_universal_d_listCategoriesForItem as listCategoriesForItem,\n      categoriesV1Category_universal_d_ListCategoriesForItemOptions as ListCategoriesForItemOptions,\n      categoriesV1Category_universal_d_listTrees as listTrees,\n      categoriesV1Category_universal_d_moveItemInCategory as moveItemInCategory,\n      categoriesV1Category_universal_d_MoveItemInCategoryOptions as MoveItemInCategoryOptions,\n      categoriesV1Category_universal_d_setArrangedItems as setArrangedItems,\n      categoriesV1Category_universal_d_SetArrangedItemsOptions as SetArrangedItemsOptions,\n      categoriesV1Category_universal_d_getArrangedItems as getArrangedItems,\n      categoriesV1Category_universal_d_getCategoriesTree as getCategoriesTree,\n    };\n  }\n  \n  export { categoriesV1Category_universal_d as categories };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-tax-validation-spi-v1-tax-id-validator.d.ts",
      "content": "declare module \"interfaces-billing-tax-validation-spi-v1-tax-id-validator\" {\n  interface ValidateTaxIdRequest {\n      /** The tax id */\n      taxId?: string;\n      /** The tax type */\n      taxType?: string;\n  }\n  interface ValidateTaxIdResponse {\n      /** Whether the tax id is valid */\n      valid?: boolean;\n      /** The time in which the validation was performed */\n      validationDate?: Date;\n  }\n  interface TaxIdValidatorConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the tax id validator */\n      validationProvider?: string;\n      /** Configuration of supported tax types */\n      taxTypesConfig?: TaxTypesConfig;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  interface TaxTypesConfig {\n      /** List of supported tax types, as provided in ValidateTaxIdRequest and persisted in TaxIdValidationService */\n      supportedTaxTypes?: string[];\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ValidateTaxIdOptions {\n      /** The tax id */\n      taxId?: string;\n      /** The tax type */\n      taxType?: string;\n  }\n  \n  export { AlternativeUri, Context, IdentificationData, IdentificationDataIdOneOf, IdentityType, SpiBaseUri, TaxIdValidatorConfig, TaxTypesConfig, ValidateTaxIdOptions, ValidateTaxIdRequest, ValidateTaxIdResponse };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-reviews.v2.d.ts",
      "content": "declare module \"wix-reviews.v2\" {\n  /**\n   * A Review object includes all of the details related to the review of an entity. An entity is a specific resource to be reviewed,\n   * for example, a store product.\n   * You can manage existing reviews, create new reviews, and retrieve reviews.\n   * Read more about reviews in this [tutorial](https://support.wix.com/en/article/wix-stores-adding-and-setting-up-wix-reviews).\n   */\n  interface Review {\n      /** Review namespace. Currently integrated with Wix Stores, as `stores`. */\n      namespace?: string;\n      /** ID of the entity to review. For example, a Wix Stores product ID. */\n      entityId?: string;\n      /**\n       * Review ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Review content. */\n      content?: ReviewContent;\n      /**\n       * Date and time the review was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the review was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Author of the review. */\n      author?: Author;\n      /**\n       * Reply to the review.\n       * @readonly\n       */\n      reply?: Reply;\n      /**\n       * Number of site visitors who found the review helpful.\n       * @readonly\n       */\n      foundHelpful?: number;\n      /**\n       * Number of site visitors who found the review unhelpful.\n       * @readonly\n       */\n      foundUnhelpful?: number;\n      /**\n       * Helpfulness score.\n       *\n       * Calculated by subtracting `foundUnhelpful` from `foundHelpful`.\n       * @readonly\n       */\n      helpfulness?: number;\n      /**\n       * Moderation status of the review.\n       * @readonly\n       */\n      moderation?: Moderation;\n      /**\n       * Revision number, which increments by 1 each time the review is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the review.\n       * Ignored when creating a review.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Indicates whether the review has been verified through a Verify Product Purchase call to the Review Product catalog SPI.\n       * @readonly\n       */\n      verified?: boolean;\n      /**\n       * Provides information about the origin of the review.\n       * Organic reviews are created by site visitors or members.\n       * App reviews are created by apps even though a site visitor or member is the author of the review.\n       * Apps can not create or update organic reviews.\n       * @readonly\n       */\n      origin?: Origin;\n      /**\n       * Date and time when the review was written.\n       * This should match `created_date`, except for reviews imported from another system.\n       */\n      reviewDate?: Date | null;\n      /**\n       * Platform-calculated score of review's relevance to the item. Used to sort\n       * reviews by relevance.\n       * @readonly\n       */\n      relevanceScore?: number | null;\n      /**\n       * Counts the number of times a review has been published.\n       * Reviews require approval before publishing, unless moderation is disabled.\n       * When moderation is disabled, reviews are automatically approved and published.\n       * @readonly\n       */\n      publishCount?: number;\n      /**\n       * Provides information about the source of the review.\n       * The source can be a review request or a request link.\n       * @internal\n       */\n      source?: Source;\n  }\n  /** The Review object. */\n  interface ReviewContent {\n      /** Review title. */\n      title?: string | null;\n      /**\n       * Review body.\n       *\n       * Max: 3,000 characters\n       */\n      body?: string | null;\n      /**\n       * List of media items associated with the review.\n       *\n       * Max: 10 items\n       */\n      media?: Media[];\n      /**\n       * Rating of the review.\n       *\n       * Min: `1`\n       *\n       * Max: `5`\n       */\n      rating?: number;\n  }\n  /** Media item associated with the review. */\n  interface Media extends MediaMediaOneOf {\n      /** Image media item. */\n      image?: string;\n      /** Video media item. */\n      video?: string;\n  }\n  /** @oneof */\n  interface MediaMediaOneOf {\n      /** Image media item. */\n      image?: string;\n      /** Video media item. */\n      video?: string;\n  }\n  interface VideoResolution {\n      /**\n       * Video URL.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Video height.\n       * @readonly\n       */\n      height?: number;\n      /**\n       * Video width.\n       * @readonly\n       */\n      width?: number;\n      /**\n       * Video thumbnail.\n       * @readonly\n       */\n      poster?: string;\n      /**\n       * Video format for example, mp4, hls.\n       * @readonly\n       */\n      format?: string;\n  }\n  /** Review author. */\n  interface Author {\n      /** Contact ID of the author. */\n      contactId?: string | null;\n      /**\n       * Type of the author.\n       * @internal\n       * @readonly\n       * @deprecated Type of the author.\n       * @targetRemovalDate 2023-07-15\n       */\n      authorType?: AuthorType;\n      /** Display name of the author. */\n      authorName?: string | null;\n  }\n  /** Supported types of review author. */\n  enum AuthorType {\n      UNKNOWN = \"UNKNOWN\",\n      MEMBER = \"MEMBER\",\n      VISITOR = \"VISITOR\"\n  }\n  /** Reply to the review. */\n  interface Reply {\n      /** Reply content. */\n      message?: string;\n      /**\n       * Date and time the reply was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the reply was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /** Moderation status of the review. */\n  interface Moderation {\n      moderationStatus?: ModerationModerationStatus;\n      /**\n       * Indicates whether a moderator manually changed the `moderationStatus` of the review.\n       *\n       * If the `moderationStatus` changed automatically because the review\n       * passed the moderation rules or if moderation is turned off, this field is set to `false`.\n       * @readonly\n       */\n      manuallyChanged?: boolean;\n  }\n  /** Supported states of the review. */\n  enum ModerationModerationStatus {\n      /** Unknown moderation status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** The review is approved and published. */\n      APPROVED = \"APPROVED\",\n      /** The review is pending moderation. Moderation can be applied in the site owner's [Dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Freviews/pending). */\n      IN_MODERATION = \"IN_MODERATION\",\n      /** The review is rejected and not visible on the site. */\n      REJECTED = \"REJECTED\",\n      /** Initial status of the review before the moderation process. */\n      SUBMITTED = \"SUBMITTED\"\n  }\n  interface Origin {\n      /** The type of the review origin. */\n      type?: OriginType;\n      /**\n       * The app ID of the APP review origin.\n       * Set only when the review origin is APP.\n       */\n      appId?: string | null;\n  }\n  /** Supported types of review origin. */\n  enum OriginType {\n      /** Unknown origin type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Review was created organically. */\n      ORGANIC = \"ORGANIC\",\n      /** Review was created by an application. */\n      APP = \"APP\"\n  }\n  interface Source extends SourceSourceTypeOptionsOneOf {\n      reviewRequestOptions?: ReviewRequestOptions;\n      requestLinkOptions?: RequestLinkOptions;\n      /** The type of the review source. */\n      type?: SourceType;\n  }\n  /** @oneof */\n  interface SourceSourceTypeOptionsOneOf {\n      reviewRequestOptions?: ReviewRequestOptions;\n      requestLinkOptions?: RequestLinkOptions;\n  }\n  enum SourceType {\n      /** Unknown source type. */\n      UNKNOWN_SOURCE_TYPE = \"UNKNOWN_SOURCE_TYPE\",\n      /** Review was created from a review request. */\n      REVIEW_REQUEST = \"REVIEW_REQUEST\",\n      /** Review was created from a request link. */\n      REQUEST_LINK = \"REQUEST_LINK\"\n  }\n  interface ReviewRequestOptions {\n      /** Review request ID. */\n      _id?: string | null;\n  }\n  interface RequestLinkOptions {\n      /** Request link ID. */\n      _id?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface GetReviewRequest {\n      /** Review ID. */\n      reviewId: string;\n      /**\n       * Whether to return private (unpublished) reviews.\n       *\n       * Default: `false`\n       */\n      returnPrivateReviews?: boolean;\n  }\n  interface GetReviewResponse {\n      /** Review. */\n      review?: Review;\n  }\n  interface GetDeletedReviewRequest {\n      /** Review ID. */\n      reviewId: string;\n  }\n  interface GetDeletedReviewResponse {\n      /** Review. */\n      review?: Review;\n  }\n  interface CreateReviewAndContactRequest {\n      /** Namespace where the review is created. */\n      namespace: string;\n      /** ID of the entity to review. */\n      entityId: string;\n      /** Name of the review author. Displayed as part of the review. Required for 3rd-party apps. */\n      name?: string | null;\n      /** Email address of the review author.  Required for 3rd-party apps. */\n      email?: string | null;\n      /** Review content. */\n      content: ReviewContent;\n  }\n  interface CreateReviewResponse {\n      /** Created review. */\n      review?: Review;\n  }\n  interface CreateReviewRequest {\n      /** Review data. */\n      review: Review;\n  }\n  /** Action describing changed review moderation status */\n  interface ReviewPublished {\n      /** Review entity */\n      review?: Review;\n  }\n  interface BulkCreateReviewRequest {\n      /** Reviews to create. */\n      reviews: Review[];\n      returnEntity?: boolean;\n  }\n  interface BulkCreateReviewResponse {\n      /**\n       * Created reviews, only returned if returnEntity is set to true.\n       * Items are returned for successful operations and when returnEntity in the request is set to true.\n       */\n      results?: BulkReviewResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkReviewResult {\n      /** ItemMetadata */\n      itemMetadata?: ItemMetadata;\n      /** New Reviews */\n      review?: Review;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface UpdateReviewContentRequest {\n      /** Review ID. */\n      reviewId: string;\n      /** Review content. */\n      content?: ReviewContent;\n      /**\n       * Fieldmask for update.\n       * Supported fields: content.title, content.body, content.media, content.rating\n       * @internal\n       */\n      fieldMask?: string[];\n      /** @internal */\n      mask?: string[];\n  }\n  interface UpdateReviewContentResponse {\n      /** Updated review data. */\n      review?: Review;\n  }\n  /** Action describing changed review moderation status */\n  interface ModerationStatusChanged {\n      /** Review entity */\n      review?: Review;\n      /**\n       * The previous moderation status of the review.\n       * - `APPROVED`: The review is approved and published.\n       * - `IN_MODERATION`: The review is pending moderation. Moderation can be applied in the site owner's [Dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Freviews/pending).\n       * - `REJECTED`: The review is rejected and not visible in the site.\n       * - `SUBMITTED`: Initial status of the review before the moderation process.\n       */\n      previousModerationStatus?: ModerationModerationStatus;\n  }\n  interface UpdateReviewRequest {\n      /** Review to update. */\n      review?: Review;\n      /**\n       * Fieldmask for update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateReviewResponse {\n      /** Updated review data. */\n      review?: Review;\n  }\n  interface DeleteReviewRequest {\n      /** Review ID. */\n      reviewId: string;\n  }\n  interface DeleteReviewResponse {\n      /** Review entity. */\n      review?: Review;\n  }\n  interface BulkDeleteReviewsRequest {\n      /**\n       * Filter object.\n       *\n       */\n      filter?: Record<string, any> | null;\n  }\n  interface BulkDeleteReviewsResponse {\n      /** Bulk job ID. */\n      jobId?: string;\n  }\n  interface QueryReviewsRequest {\n      /** Review query. */\n      query?: QueryV2;\n      /**\n       * Whether to return private (unpublished) reviews.\n       *\n       * Default: `false`\n       */\n      returnPrivateReviews?: boolean;\n  }\n  interface QueryV2 {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Sorting options. */\n      sort?: Sorting[];\n      /** Cursor paging options. */\n      cursorPaging?: CursorPaging;\n  }\n  /** Sort options. */\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       *\n       * Defaults to `ascending`.\n       */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      /** Sort by ascending order. */\n      ASC = \"ASC\",\n      /** Sort by descending order. */\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /**\n       * The number of items to load.\n       * Cursor token returned in the query response. To be used on the next query request, but not the first query request.\n       *\n       * Max: `100` <br />\n       * Default: `50`\n       */\n      limit?: number | null;\n      /** Cursor returned in last query response. Should not be provided on first page request. */\n      cursor?: string | null;\n  }\n  interface QueryReviewsResponse {\n      /**\n       * List of returned reviews.\n       * @internal\n       * @deprecated List of returned reviews.\n       * @replacedBy reviews\n       */\n      results?: Review[];\n      /** Paging metadata. */\n      metadata?: PagingMetadataV2;\n      /** List of returned reviews. */\n      reviews?: Review[];\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n  }\n  interface Cursors {\n      /** Cursor pointing to next result page. */\n      next?: string | null;\n      /** Cursor pointing to previous result page. */\n      prev?: string | null;\n  }\n  interface SetReplyRequest {\n      /** Review id */\n      reviewId: string;\n      /** Response to review author */\n      message: string;\n  }\n  interface SetReplyResponse {\n      /** Review entity */\n      review?: Review;\n  }\n  interface RemoveReplyRequest {\n      /** Review ID */\n      reviewId: string;\n  }\n  interface RemoveReplyResponse {\n      /** Review ID */\n      review?: Review;\n  }\n  interface UpdateModerationStatusRequest {\n      /** Review id */\n      reviewId: string;\n      /** Moderation status to set */\n      status?: UpdateModerationStatusRequestModerationStatus;\n  }\n  enum UpdateModerationStatusRequestModerationStatus {\n      UNKNOWN_MODERATION_STATUS = \"UNKNOWN_MODERATION_STATUS\",\n      APPROVED = \"APPROVED\",\n      REJECTED = \"REJECTED\"\n  }\n  interface UpdateModerationStatusResponse {\n      /** Review entity */\n      review?: Review;\n  }\n  interface BulkUpdateModerationStatusRequest {\n      /** Reviews to moderate */\n      filter?: Record<string, any> | null;\n      /** Moderation status to set */\n      status?: ModerationStatus;\n  }\n  enum ModerationStatus {\n      UNKNOWN = \"UNKNOWN\",\n      APPROVED = \"APPROVED\",\n      REJECTED = \"REJECTED\"\n  }\n  interface BulkUpdateModerationStatusResponse {\n      /** Reference to async job */\n      jobId?: string;\n  }\n  interface CountReviewsRequest {\n      filter?: Record<string, any> | null;\n      /**\n       * Whether to include private (unpublished) reviews in count results.\n       *\n       * Default: `false`\n       */\n      includePrivateReviews?: boolean;\n  }\n  interface CountReviewsResponse {\n      /** Number of reviews. */\n      count?: number;\n  }\n  /**\n   * Retrieves a review.\n   *\n   *\n   * The `getReview()` function returns a Promise that resolves to the retrieved review.\n   *\n   * By default, an unpublished review is not returned. To retrieve an unpublished review, pass `returnPrivateReviews` as `true`.\n   * @param reviewId - Review ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reviewId\n   * @param options - Information about the reviews to retrieve.\n   * @permissionId REVIEWS.READ_REVIEWS\n   * @permissionId REVIEWS.READ_PRIVATE_REVIEWS\n   * @returns Review.\n   */\n  function getReview(reviewId: string, options?: GetReviewOptions): Promise<Review>;\n  interface GetReviewOptions {\n      /**\n       * Whether to return private (unpublished) reviews.\n       *\n       * Default: `false`\n       */\n      returnPrivateReviews?: boolean;\n  }\n  /**\n   * Retrieves reviews from trash bin.\n   * @param reviewId - Review ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reviewId\n   * @permissionId REVIEWS.READ_DELETED_REVIEW\n   * @adminMethod\n   */\n  function getDeletedReview(reviewId: string): Promise<GetDeletedReviewResponse>;\n  /**\n   * Creates a new review and a new contact.\n   *\n   *\n   * When the review author is not a contact, use this endpoint. Include `name` and `email`,\n   * as they're required to create the contact. If these parameters are missing, a new contact and\n   * review won't be created.\n   *\n   * When the review author is already a contact, use either this endpoint or [Create Review](https://dev.wix.com/api/rest/reviews/create-review).\n   * A new review is created but a new contact is not created. For a 3rd-party app, include `name` and `email`.\n   *\n   * After a review is created, it may require [moderation](https://dev.wix.com/api/rest/reviews/introduction#reviews_introduction_moderation).\n   * @param namespace - Namespace where the review is created.\n   * @param entityId - ID of the entity to review.\n   * @param content - Review content.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField content\n   * @requiredField content.rating\n   * @requiredField entityId\n   * @requiredField namespace\n   * @permissionId REVIEWS.CREATE_REVIEW\n   * @deprecated\n   * @replacedBy com.wixpress.critique.reviews.CreateReview\n   * @targetRemovalDate 2024-02-01\n   */\n  function createReviewAndContact(namespace: string, entityId: string, content: ReviewContent, options?: CreateReviewAndContactOptions): Promise<CreateReviewResponse>;\n  interface CreateReviewAndContactOptions {\n      /** Name of the review author. Displayed as part of the review. Required for 3rd-party apps. */\n      name?: string | null;\n      /** Email address of the review author.  Required for 3rd-party apps. */\n      email?: string | null;\n  }\n  /**\n   * Creates a review.\n   *\n   *\n   * The `createReview()` function returns a promise that resolves to the created review.\n   *\n   * This function requires a `contactId`.\n   *\n   * If the review author does not have a contact ID, use `createReviewAndContact()`.\n   *\n   * If `authorName` is left empty, the member's name will be used. If the author is not a member, the field is left `null`.\n   * @param review - Review data.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField review\n   * @requiredField review.content\n   * @requiredField review.content.rating\n   * @requiredField review.entityId\n   * @requiredField review.namespace\n   * @permissionId REVIEWS.CREATE_REVIEW\n   * @returns Created review.\n   */\n  function createReview(review: Review): Promise<Review>;\n  /**\n   * Create Bulk Reviews.\n   * @param reviews - Reviews to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reviews\n   * @requiredField reviews.author\n   * @requiredField reviews.author.contactId\n   * @requiredField reviews.content\n   * @requiredField reviews.entityId\n   * @requiredField reviews.namespace\n   * @permissionId REVIEWS.REVIEW_BULK_CREATE\n   * @adminMethod\n   */\n  function bulkCreateReview(reviews: Review[], options?: BulkCreateReviewOptions): Promise<BulkCreateReviewResponse>;\n  interface BulkCreateReviewOptions {\n      returnEntity?: boolean;\n  }\n  /**\n   * Updates review content with provided data\n   * @param reviewId - Review ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reviewId\n   * @param options - Options to use when creating a review and contact.\n   * @permissionId REVIEWS.UPDATE_REVIEW\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.critique.reviews.UpdateReview\n   * @targetRemovalDate 2024-07-31\n   */\n  function updateReviewContent(reviewId: string, options?: UpdateReviewContentOptions): Promise<UpdateReviewContentResponse>;\n  interface UpdateReviewContentOptions {\n      /** Review content. */\n      content?: ReviewContent;\n      /**\n       * Fieldmask for update.\n       * Supported fields: content.title, content.body, content.media, content.rating\n       * @internal\n       */\n      fieldMask?: string[];\n      /** @internal */\n      mask?: string[];\n  }\n  /**\n   * Updates a review.\n   *\n   *\n   * The `updateReview()` function returns a promise that resolves to the updated review.\n   *\n   * Each time the review is updated, `revision` increments by 1. The existing `revision` must be included\n   * when updating the review. This ensures you're working with the latest review information, and it prevents unintended overwrites.\n   *\n   * This function is not a universal function and runs only on the backend.\n   * @param _id - Review ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField review\n   * @requiredField review.revision\n   * @param options - Options to use when updating a review.\n   * @param review - Review to update.\n   * @permissionId REVIEWS.UPDATE_REVIEW\n   * @adminMethod\n   * @returns Updated review data.\n   */\n  function updateReview(_id: string, review: UpdateReview, options?: UpdateReviewOptions): Promise<Review>;\n  interface UpdateReview {\n      /** Review namespace. Currently integrated with Wix Stores, as `stores`. */\n      namespace?: string;\n      /** ID of the entity to review. For example, a Wix Stores product ID. */\n      entityId?: string;\n      /**\n       * Review ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Review content. */\n      content?: ReviewContent;\n      /**\n       * Date and time the review was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the review was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Author of the review. */\n      author?: Author;\n      /**\n       * Reply to the review.\n       * @readonly\n       */\n      reply?: Reply;\n      /**\n       * Number of site visitors who found the review helpful.\n       * @readonly\n       */\n      foundHelpful?: number;\n      /**\n       * Number of site visitors who found the review unhelpful.\n       * @readonly\n       */\n      foundUnhelpful?: number;\n      /**\n       * Helpfulness score.\n       *\n       * Calculated by subtracting `foundUnhelpful` from `foundHelpful`.\n       * @readonly\n       */\n      helpfulness?: number;\n      /**\n       * Moderation status of the review.\n       * @readonly\n       */\n      moderation?: Moderation;\n      /**\n       * Revision number, which increments by 1 each time the review is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the review.\n       * Ignored when creating a review.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Indicates whether the review has been verified through a Verify Product Purchase call to the Review Product catalog SPI.\n       * @readonly\n       */\n      verified?: boolean;\n      /**\n       * Provides information about the origin of the review.\n       * Organic reviews are created by site visitors or members.\n       * App reviews are created by apps even though a site visitor or member is the author of the review.\n       * Apps can not create or update organic reviews.\n       * @readonly\n       */\n      origin?: Origin;\n      /**\n       * Date and time when the review was written.\n       * This should match `created_date`, except for reviews imported from another system.\n       */\n      reviewDate?: Date | null;\n      /**\n       * Platform-calculated score of review's relevance to the item. Used to sort\n       * reviews by relevance.\n       * @readonly\n       */\n      relevanceScore?: number | null;\n      /**\n       * Counts the number of times a review has been published.\n       * Reviews require approval before publishing, unless moderation is disabled.\n       * When moderation is disabled, reviews are automatically approved and published.\n       * @readonly\n       */\n      publishCount?: number;\n      /**\n       * Provides information about the source of the review.\n       * The source can be a review request or a request link.\n       * @internal\n       */\n      source?: Source;\n  }\n  interface UpdateReviewOptions {\n      /**\n       * Fieldmask for update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a review.\n   *\n   *\n   * The `deleteReview()` function returns a promise that resolves to the deleted review.\n   * @param reviewId - Review ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reviewId\n   * @permissionId REVIEWS.DELETE_REVIEW\n   * @adminMethod\n   */\n  function deleteReview(reviewId: string): Promise<DeleteReviewResponse>;\n  /**\n   * Deletes multiple reviews.\n   *\n   *\n   * The `bulkDeleteReviews()` function returns a promise which resolves to the `jobId`. The `jobId` is a unique ID that can be used to refer to that specific bulk delete.\n   *\n   * All reviews that meet the specified filter criteria are deleted. To perform a dry run, use the intended filter options with `queryReviews()`.\n   *\n   * When this function is used, a bulk job is started and `jobId` is returned. The job might not complete right away, depending on its size.\n   * @internal\n   * @documentationMaturity preview\n   * @param options - Information about the reviews to delete.\n   * @permissionId REVIEWS.DELETE_REVIEW\n   * @adminMethod\n   */\n  function bulkDeleteReviews(options?: BulkDeleteReviewsOptions): Promise<BulkDeleteReviewsResponse>;\n  interface BulkDeleteReviewsOptions {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Creates a query to retrieve a list of reviews.\n   *\n   *\n   * The `queryReviews()` function builds a query to retrieve a list of reviews and returns a `ReviewsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the  `find()` function.\n   *\n   * You can refine the query by chaining `ReviewsQueryBuilder` functions onto the query.\n   *\n   * `ReviewsQueryBuilder` functions enable you to sort, filter,\n   * and control the results that `queryReviews()` returns.\n   *\n   * The `queryReviews()` function runs with the following defaults, which you can override:\n   *\n   * - `ascending(\"_createdDate\")`\n   * - `limit(100)`\n   *\n   * The functions that are chained to `queryReviews()` are applied in the order they're called. For example, if you apply `descending(\"_createdDate\")` and then `descending(\"content.rating\")`, the results are sorted first by the `_createdDate`, and then, if there are multiple results with the same `_createdDate`, the items are sorted by `content.rating`.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Information about the reviews to retrieve.\n   * @permissionId REVIEWS.READ_REVIEWS\n   * @permissionId REVIEWS.READ_PRIVATE_REVIEWS\n   */\n  function queryReviews(options?: QueryReviewsOptions): ReviewsQueryBuilder;\n  interface QueryReviewsOptions {\n      /**\n       * Whether to return private (unpublished) reviews.\n       *\n       * Default: `false`\n       */\n      returnPrivateReviews?: boolean | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReviewsQueryResult extends QueryCursorResult {\n      items: Review[];\n      query: ReviewsQueryBuilder;\n      next: () => Promise<ReviewsQueryResult>;\n      prev: () => Promise<ReviewsQueryResult>;\n  }\n  interface ReviewsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'namespace' | 'entityId' | '_id' | 'content.rating' | '_createdDate' | 'author.contactId' | 'helpfulness' | 'moderation.moderationStatus' | 'verified' | 'origin.type' | 'relevanceScore', value: any) => ReviewsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'namespace' | 'entityId' | '_id' | 'content.rating' | '_createdDate' | 'author.contactId' | 'helpfulness' | 'moderation.moderationStatus' | 'verified' | 'origin.type' | 'relevanceScore', value: any) => ReviewsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'content.rating' | '_createdDate' | 'helpfulness' | 'relevanceScore', value: any) => ReviewsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'content.rating' | '_createdDate' | 'helpfulness' | 'relevanceScore', value: any) => ReviewsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'content.rating' | '_createdDate' | 'helpfulness' | 'relevanceScore', value: any) => ReviewsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'content.rating' | '_createdDate' | 'helpfulness' | 'relevanceScore', value: any) => ReviewsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'namespace' | 'entityId' | '_id' | 'content.rating' | '_createdDate' | 'author.contactId' | 'helpfulness' | 'moderation.moderationStatus' | 'relevanceScore', value: any) => ReviewsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'content.rating' | '_createdDate' | 'helpfulness' | 'verified' | 'origin.type' | 'relevanceScore'>) => ReviewsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'content.rating' | '_createdDate' | 'helpfulness' | 'verified' | 'origin.type' | 'relevanceScore'>) => ReviewsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReviewsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReviewsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReviewsQueryResult>;\n  }\n  /**\n   * Set reply on a review\n   * @param reviewId - Review id\n   * @param message - Response to review author\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField message\n   * @requiredField reviewId\n   * @permissionId REVIEWS.SET_REPLY\n   * @adminMethod\n   */\n  function setReply(reviewId: string, message: string): Promise<SetReplyResponse>;\n  /**\n   * Removes reply from review\n   * @param reviewId - Review ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reviewId\n   * @permissionId REVIEWS.REMOVE_REPLY\n   * @adminMethod\n   */\n  function removeReply(reviewId: string): Promise<RemoveReplyResponse>;\n  /**\n   * Updates the moderation status of a review.\n   *\n   * Possible moderation statuses:\n   * -  APPROVED: The review is published and viewable by site visitors.\n   * -  REJECTED: The review is declined and not viewable by site visitors.\n   * @param reviewId - Review id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reviewId\n   * @permissionId REVIEWS.MODERATE_REVIEWS\n   * @adminMethod\n   */\n  function updateModerationStatus(reviewId: string, options?: UpdateModerationStatusOptions): Promise<UpdateModerationStatusResponse>;\n  interface UpdateModerationStatusOptions {\n      /** Moderation status to set */\n      status?: UpdateModerationStatusRequestModerationStatus;\n  }\n  /**\n   * Changes moderation status for multiple reviews\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId REVIEWS.MODERATE_REVIEWS\n   * @adminMethod\n   */\n  function bulkUpdateModerationStatus(options?: BulkUpdateModerationStatusOptions): Promise<BulkUpdateModerationStatusResponse>;\n  interface BulkUpdateModerationStatusOptions {\n      /** Reviews to moderate */\n      filter?: Record<string, any> | null;\n      /** Moderation status to set */\n      status?: ModerationStatus;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId REVIEWS.READ_REVIEWS\n   * @permissionId REVIEWS.READ_PRIVATE_REVIEWS\n   */\n  function countReviews(options?: CountReviewsOptions): Promise<CountReviewsResponse>;\n  interface CountReviewsOptions {\n      filter?: Record<string, any> | null;\n      /**\n       * Whether to include private (unpublished) reviews in count results.\n       *\n       * Default: `false`\n       */\n      includePrivateReviews?: boolean;\n  }\n  \n  type reviewsV1Review_universal_d_Review = Review;\n  type reviewsV1Review_universal_d_ReviewContent = ReviewContent;\n  type reviewsV1Review_universal_d_Media = Media;\n  type reviewsV1Review_universal_d_MediaMediaOneOf = MediaMediaOneOf;\n  type reviewsV1Review_universal_d_VideoResolution = VideoResolution;\n  type reviewsV1Review_universal_d_Author = Author;\n  type reviewsV1Review_universal_d_AuthorType = AuthorType;\n  const reviewsV1Review_universal_d_AuthorType: typeof AuthorType;\n  type reviewsV1Review_universal_d_Reply = Reply;\n  type reviewsV1Review_universal_d_Moderation = Moderation;\n  type reviewsV1Review_universal_d_ModerationModerationStatus = ModerationModerationStatus;\n  const reviewsV1Review_universal_d_ModerationModerationStatus: typeof ModerationModerationStatus;\n  type reviewsV1Review_universal_d_Origin = Origin;\n  type reviewsV1Review_universal_d_OriginType = OriginType;\n  const reviewsV1Review_universal_d_OriginType: typeof OriginType;\n  type reviewsV1Review_universal_d_Source = Source;\n  type reviewsV1Review_universal_d_SourceSourceTypeOptionsOneOf = SourceSourceTypeOptionsOneOf;\n  type reviewsV1Review_universal_d_SourceType = SourceType;\n  const reviewsV1Review_universal_d_SourceType: typeof SourceType;\n  type reviewsV1Review_universal_d_ReviewRequestOptions = ReviewRequestOptions;\n  type reviewsV1Review_universal_d_RequestLinkOptions = RequestLinkOptions;\n  type reviewsV1Review_universal_d_DomainEvent = DomainEvent;\n  type reviewsV1Review_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type reviewsV1Review_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type reviewsV1Review_universal_d_RestoreInfo = RestoreInfo;\n  type reviewsV1Review_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type reviewsV1Review_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type reviewsV1Review_universal_d_ActionEvent = ActionEvent;\n  type reviewsV1Review_universal_d_Empty = Empty;\n  type reviewsV1Review_universal_d_MessageEnvelope = MessageEnvelope;\n  type reviewsV1Review_universal_d_IdentificationData = IdentificationData;\n  type reviewsV1Review_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type reviewsV1Review_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const reviewsV1Review_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type reviewsV1Review_universal_d_GetReviewRequest = GetReviewRequest;\n  type reviewsV1Review_universal_d_GetReviewResponse = GetReviewResponse;\n  type reviewsV1Review_universal_d_GetDeletedReviewRequest = GetDeletedReviewRequest;\n  type reviewsV1Review_universal_d_GetDeletedReviewResponse = GetDeletedReviewResponse;\n  type reviewsV1Review_universal_d_CreateReviewAndContactRequest = CreateReviewAndContactRequest;\n  type reviewsV1Review_universal_d_CreateReviewResponse = CreateReviewResponse;\n  type reviewsV1Review_universal_d_CreateReviewRequest = CreateReviewRequest;\n  type reviewsV1Review_universal_d_ReviewPublished = ReviewPublished;\n  type reviewsV1Review_universal_d_BulkCreateReviewRequest = BulkCreateReviewRequest;\n  type reviewsV1Review_universal_d_BulkCreateReviewResponse = BulkCreateReviewResponse;\n  type reviewsV1Review_universal_d_BulkReviewResult = BulkReviewResult;\n  type reviewsV1Review_universal_d_ItemMetadata = ItemMetadata;\n  type reviewsV1Review_universal_d_ApplicationError = ApplicationError;\n  type reviewsV1Review_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type reviewsV1Review_universal_d_UpdateReviewContentRequest = UpdateReviewContentRequest;\n  type reviewsV1Review_universal_d_UpdateReviewContentResponse = UpdateReviewContentResponse;\n  type reviewsV1Review_universal_d_ModerationStatusChanged = ModerationStatusChanged;\n  type reviewsV1Review_universal_d_UpdateReviewRequest = UpdateReviewRequest;\n  type reviewsV1Review_universal_d_UpdateReviewResponse = UpdateReviewResponse;\n  type reviewsV1Review_universal_d_DeleteReviewRequest = DeleteReviewRequest;\n  type reviewsV1Review_universal_d_DeleteReviewResponse = DeleteReviewResponse;\n  type reviewsV1Review_universal_d_BulkDeleteReviewsRequest = BulkDeleteReviewsRequest;\n  type reviewsV1Review_universal_d_BulkDeleteReviewsResponse = BulkDeleteReviewsResponse;\n  type reviewsV1Review_universal_d_QueryReviewsRequest = QueryReviewsRequest;\n  type reviewsV1Review_universal_d_QueryV2 = QueryV2;\n  type reviewsV1Review_universal_d_Sorting = Sorting;\n  type reviewsV1Review_universal_d_SortOrder = SortOrder;\n  const reviewsV1Review_universal_d_SortOrder: typeof SortOrder;\n  type reviewsV1Review_universal_d_CursorPaging = CursorPaging;\n  type reviewsV1Review_universal_d_QueryReviewsResponse = QueryReviewsResponse;\n  type reviewsV1Review_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type reviewsV1Review_universal_d_Cursors = Cursors;\n  type reviewsV1Review_universal_d_SetReplyRequest = SetReplyRequest;\n  type reviewsV1Review_universal_d_SetReplyResponse = SetReplyResponse;\n  type reviewsV1Review_universal_d_RemoveReplyRequest = RemoveReplyRequest;\n  type reviewsV1Review_universal_d_RemoveReplyResponse = RemoveReplyResponse;\n  type reviewsV1Review_universal_d_UpdateModerationStatusRequest = UpdateModerationStatusRequest;\n  type reviewsV1Review_universal_d_UpdateModerationStatusRequestModerationStatus = UpdateModerationStatusRequestModerationStatus;\n  const reviewsV1Review_universal_d_UpdateModerationStatusRequestModerationStatus: typeof UpdateModerationStatusRequestModerationStatus;\n  type reviewsV1Review_universal_d_UpdateModerationStatusResponse = UpdateModerationStatusResponse;\n  type reviewsV1Review_universal_d_BulkUpdateModerationStatusRequest = BulkUpdateModerationStatusRequest;\n  type reviewsV1Review_universal_d_ModerationStatus = ModerationStatus;\n  const reviewsV1Review_universal_d_ModerationStatus: typeof ModerationStatus;\n  type reviewsV1Review_universal_d_BulkUpdateModerationStatusResponse = BulkUpdateModerationStatusResponse;\n  type reviewsV1Review_universal_d_CountReviewsRequest = CountReviewsRequest;\n  type reviewsV1Review_universal_d_CountReviewsResponse = CountReviewsResponse;\n  const reviewsV1Review_universal_d_getReview: typeof getReview;\n  type reviewsV1Review_universal_d_GetReviewOptions = GetReviewOptions;\n  const reviewsV1Review_universal_d_getDeletedReview: typeof getDeletedReview;\n  const reviewsV1Review_universal_d_createReviewAndContact: typeof createReviewAndContact;\n  type reviewsV1Review_universal_d_CreateReviewAndContactOptions = CreateReviewAndContactOptions;\n  const reviewsV1Review_universal_d_createReview: typeof createReview;\n  const reviewsV1Review_universal_d_bulkCreateReview: typeof bulkCreateReview;\n  type reviewsV1Review_universal_d_BulkCreateReviewOptions = BulkCreateReviewOptions;\n  const reviewsV1Review_universal_d_updateReviewContent: typeof updateReviewContent;\n  type reviewsV1Review_universal_d_UpdateReviewContentOptions = UpdateReviewContentOptions;\n  const reviewsV1Review_universal_d_updateReview: typeof updateReview;\n  type reviewsV1Review_universal_d_UpdateReview = UpdateReview;\n  type reviewsV1Review_universal_d_UpdateReviewOptions = UpdateReviewOptions;\n  const reviewsV1Review_universal_d_deleteReview: typeof deleteReview;\n  const reviewsV1Review_universal_d_bulkDeleteReviews: typeof bulkDeleteReviews;\n  type reviewsV1Review_universal_d_BulkDeleteReviewsOptions = BulkDeleteReviewsOptions;\n  const reviewsV1Review_universal_d_queryReviews: typeof queryReviews;\n  type reviewsV1Review_universal_d_QueryReviewsOptions = QueryReviewsOptions;\n  type reviewsV1Review_universal_d_ReviewsQueryResult = ReviewsQueryResult;\n  type reviewsV1Review_universal_d_ReviewsQueryBuilder = ReviewsQueryBuilder;\n  const reviewsV1Review_universal_d_setReply: typeof setReply;\n  const reviewsV1Review_universal_d_removeReply: typeof removeReply;\n  const reviewsV1Review_universal_d_updateModerationStatus: typeof updateModerationStatus;\n  type reviewsV1Review_universal_d_UpdateModerationStatusOptions = UpdateModerationStatusOptions;\n  const reviewsV1Review_universal_d_bulkUpdateModerationStatus: typeof bulkUpdateModerationStatus;\n  type reviewsV1Review_universal_d_BulkUpdateModerationStatusOptions = BulkUpdateModerationStatusOptions;\n  const reviewsV1Review_universal_d_countReviews: typeof countReviews;\n  type reviewsV1Review_universal_d_CountReviewsOptions = CountReviewsOptions;\n  namespace reviewsV1Review_universal_d {\n    export {\n      reviewsV1Review_universal_d_Review as Review,\n      reviewsV1Review_universal_d_ReviewContent as ReviewContent,\n      reviewsV1Review_universal_d_Media as Media,\n      reviewsV1Review_universal_d_MediaMediaOneOf as MediaMediaOneOf,\n      reviewsV1Review_universal_d_VideoResolution as VideoResolution,\n      reviewsV1Review_universal_d_Author as Author,\n      reviewsV1Review_universal_d_AuthorType as AuthorType,\n      reviewsV1Review_universal_d_Reply as Reply,\n      reviewsV1Review_universal_d_Moderation as Moderation,\n      reviewsV1Review_universal_d_ModerationModerationStatus as ModerationModerationStatus,\n      reviewsV1Review_universal_d_Origin as Origin,\n      reviewsV1Review_universal_d_OriginType as OriginType,\n      reviewsV1Review_universal_d_Source as Source,\n      reviewsV1Review_universal_d_SourceSourceTypeOptionsOneOf as SourceSourceTypeOptionsOneOf,\n      reviewsV1Review_universal_d_SourceType as SourceType,\n      reviewsV1Review_universal_d_ReviewRequestOptions as ReviewRequestOptions,\n      reviewsV1Review_universal_d_RequestLinkOptions as RequestLinkOptions,\n      reviewsV1Review_universal_d_DomainEvent as DomainEvent,\n      reviewsV1Review_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      reviewsV1Review_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      reviewsV1Review_universal_d_RestoreInfo as RestoreInfo,\n      reviewsV1Review_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      reviewsV1Review_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      reviewsV1Review_universal_d_ActionEvent as ActionEvent,\n      reviewsV1Review_universal_d_Empty as Empty,\n      reviewsV1Review_universal_d_MessageEnvelope as MessageEnvelope,\n      reviewsV1Review_universal_d_IdentificationData as IdentificationData,\n      reviewsV1Review_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      reviewsV1Review_universal_d_WebhookIdentityType as WebhookIdentityType,\n      reviewsV1Review_universal_d_GetReviewRequest as GetReviewRequest,\n      reviewsV1Review_universal_d_GetReviewResponse as GetReviewResponse,\n      reviewsV1Review_universal_d_GetDeletedReviewRequest as GetDeletedReviewRequest,\n      reviewsV1Review_universal_d_GetDeletedReviewResponse as GetDeletedReviewResponse,\n      reviewsV1Review_universal_d_CreateReviewAndContactRequest as CreateReviewAndContactRequest,\n      reviewsV1Review_universal_d_CreateReviewResponse as CreateReviewResponse,\n      reviewsV1Review_universal_d_CreateReviewRequest as CreateReviewRequest,\n      reviewsV1Review_universal_d_ReviewPublished as ReviewPublished,\n      reviewsV1Review_universal_d_BulkCreateReviewRequest as BulkCreateReviewRequest,\n      reviewsV1Review_universal_d_BulkCreateReviewResponse as BulkCreateReviewResponse,\n      reviewsV1Review_universal_d_BulkReviewResult as BulkReviewResult,\n      reviewsV1Review_universal_d_ItemMetadata as ItemMetadata,\n      reviewsV1Review_universal_d_ApplicationError as ApplicationError,\n      reviewsV1Review_universal_d_BulkActionMetadata as BulkActionMetadata,\n      reviewsV1Review_universal_d_UpdateReviewContentRequest as UpdateReviewContentRequest,\n      reviewsV1Review_universal_d_UpdateReviewContentResponse as UpdateReviewContentResponse,\n      reviewsV1Review_universal_d_ModerationStatusChanged as ModerationStatusChanged,\n      reviewsV1Review_universal_d_UpdateReviewRequest as UpdateReviewRequest,\n      reviewsV1Review_universal_d_UpdateReviewResponse as UpdateReviewResponse,\n      reviewsV1Review_universal_d_DeleteReviewRequest as DeleteReviewRequest,\n      reviewsV1Review_universal_d_DeleteReviewResponse as DeleteReviewResponse,\n      reviewsV1Review_universal_d_BulkDeleteReviewsRequest as BulkDeleteReviewsRequest,\n      reviewsV1Review_universal_d_BulkDeleteReviewsResponse as BulkDeleteReviewsResponse,\n      reviewsV1Review_universal_d_QueryReviewsRequest as QueryReviewsRequest,\n      reviewsV1Review_universal_d_QueryV2 as QueryV2,\n      reviewsV1Review_universal_d_Sorting as Sorting,\n      reviewsV1Review_universal_d_SortOrder as SortOrder,\n      reviewsV1Review_universal_d_CursorPaging as CursorPaging,\n      reviewsV1Review_universal_d_QueryReviewsResponse as QueryReviewsResponse,\n      reviewsV1Review_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      reviewsV1Review_universal_d_Cursors as Cursors,\n      reviewsV1Review_universal_d_SetReplyRequest as SetReplyRequest,\n      reviewsV1Review_universal_d_SetReplyResponse as SetReplyResponse,\n      reviewsV1Review_universal_d_RemoveReplyRequest as RemoveReplyRequest,\n      reviewsV1Review_universal_d_RemoveReplyResponse as RemoveReplyResponse,\n      reviewsV1Review_universal_d_UpdateModerationStatusRequest as UpdateModerationStatusRequest,\n      reviewsV1Review_universal_d_UpdateModerationStatusRequestModerationStatus as UpdateModerationStatusRequestModerationStatus,\n      reviewsV1Review_universal_d_UpdateModerationStatusResponse as UpdateModerationStatusResponse,\n      reviewsV1Review_universal_d_BulkUpdateModerationStatusRequest as BulkUpdateModerationStatusRequest,\n      reviewsV1Review_universal_d_ModerationStatus as ModerationStatus,\n      reviewsV1Review_universal_d_BulkUpdateModerationStatusResponse as BulkUpdateModerationStatusResponse,\n      reviewsV1Review_universal_d_CountReviewsRequest as CountReviewsRequest,\n      reviewsV1Review_universal_d_CountReviewsResponse as CountReviewsResponse,\n      reviewsV1Review_universal_d_getReview as getReview,\n      reviewsV1Review_universal_d_GetReviewOptions as GetReviewOptions,\n      reviewsV1Review_universal_d_getDeletedReview as getDeletedReview,\n      reviewsV1Review_universal_d_createReviewAndContact as createReviewAndContact,\n      reviewsV1Review_universal_d_CreateReviewAndContactOptions as CreateReviewAndContactOptions,\n      reviewsV1Review_universal_d_createReview as createReview,\n      reviewsV1Review_universal_d_bulkCreateReview as bulkCreateReview,\n      reviewsV1Review_universal_d_BulkCreateReviewOptions as BulkCreateReviewOptions,\n      reviewsV1Review_universal_d_updateReviewContent as updateReviewContent,\n      reviewsV1Review_universal_d_UpdateReviewContentOptions as UpdateReviewContentOptions,\n      reviewsV1Review_universal_d_updateReview as updateReview,\n      reviewsV1Review_universal_d_UpdateReview as UpdateReview,\n      reviewsV1Review_universal_d_UpdateReviewOptions as UpdateReviewOptions,\n      reviewsV1Review_universal_d_deleteReview as deleteReview,\n      reviewsV1Review_universal_d_bulkDeleteReviews as bulkDeleteReviews,\n      reviewsV1Review_universal_d_BulkDeleteReviewsOptions as BulkDeleteReviewsOptions,\n      reviewsV1Review_universal_d_queryReviews as queryReviews,\n      reviewsV1Review_universal_d_QueryReviewsOptions as QueryReviewsOptions,\n      reviewsV1Review_universal_d_ReviewsQueryResult as ReviewsQueryResult,\n      reviewsV1Review_universal_d_ReviewsQueryBuilder as ReviewsQueryBuilder,\n      reviewsV1Review_universal_d_setReply as setReply,\n      reviewsV1Review_universal_d_removeReply as removeReply,\n      reviewsV1Review_universal_d_updateModerationStatus as updateModerationStatus,\n      reviewsV1Review_universal_d_UpdateModerationStatusOptions as UpdateModerationStatusOptions,\n      reviewsV1Review_universal_d_bulkUpdateModerationStatus as bulkUpdateModerationStatus,\n      reviewsV1Review_universal_d_BulkUpdateModerationStatusOptions as BulkUpdateModerationStatusOptions,\n      reviewsV1Review_universal_d_countReviews as countReviews,\n      reviewsV1Review_universal_d_CountReviewsOptions as CountReviewsOptions,\n    };\n  }\n  \n  export { reviewsV1Review_universal_d as reviews };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-notifications.v3.d.ts",
      "content": "declare module \"wix-notifications.v3\" {\n  interface Notification {\n      /** The id of the notification */\n      _id?: string;\n  }\n  interface NotifyRequest {\n      /**\n       * Notification template ID. A notification template specifies the text and recipients for notifications.\n       * To obtain a notification template ID, [create a notification template](https://dev.wix.com/api/rest/wix-notifications/notifications/creating-a-notification-template) in the Wix Dev Center.\n       */\n      notificationTemplateId: string;\n      /**\n       * Each key is a placeholder name you specify when [creating a notification template](https://dev.wix.com/api/rest/wix-notifications/notifications/creating-a-notification-template).\n       * The value is an object containing the text to replace the placeholder in the notifications.\n       */\n      dynamicValues?: Record<string, DynamicValue>;\n  }\n  interface DynamicValue extends DynamicValueOfTypeOneOf {\n      /** Text to be integrated into the notification. */\n      text?: string;\n      /**\n       * localized money parameter\n       * @internal\n       */\n      money?: Money;\n      /**\n       * ISO 8601 timestamp\n       * @internal\n       */\n      timestamp?: string;\n      /**\n       * map\n       * @internal\n       */\n      map?: MapDynamicValue;\n      /**\n       * array\n       * @internal\n       */\n      array?: ArrayDynamicValue;\n      /**\n       * Attachment\n       * @internal\n       */\n      attachment?: AttachmentDynamicValue;\n  }\n  /** @oneof */\n  interface DynamicValueOfTypeOneOf {\n      /** Text to be integrated into the notification. */\n      text?: string;\n      /**\n       * localized money parameter\n       * @internal\n       */\n      money?: Money;\n      /**\n       * ISO 8601 timestamp\n       * @internal\n       */\n      timestamp?: string;\n      /**\n       * map\n       * @internal\n       */\n      map?: MapDynamicValue;\n      /**\n       * array\n       * @internal\n       */\n      array?: ArrayDynamicValue;\n      /**\n       * Attachment\n       * @internal\n       */\n      attachment?: AttachmentDynamicValue;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface MapDynamicValue {\n      /** items */\n      items?: Record<string, DynamicValue>;\n  }\n  interface ArrayDynamicValue {\n      /** items */\n      items?: DynamicValue[];\n  }\n  interface AttachmentDynamicValue {\n      /** file name */\n      fileName?: string;\n      /** download url */\n      downloadUrl?: string;\n  }\n  interface NotifyResponse {\n      /** ID of the batch of notifications triggered by one request. */\n      notificationBatchId?: string;\n  }\n  interface NotifyByAppRequest {\n      /** notification_template_id */\n      notificationTemplateId: string;\n      /** app_def_id */\n      appDefId: string;\n      /** dynamic_values */\n      dynamicValues?: Record<string, DynamicValue>;\n      /** template tenant */\n      templateTenant?: string | null;\n      /** overrides */\n      overrides?: Overrides;\n      /** channels content */\n      channelsData?: ChannelsData;\n  }\n  interface Overrides {\n      /** excluded_channels */\n      excludedChannels?: TemplateChannel[];\n      /** excluded_audiences */\n      excludedAudiences?: ExcludedAudiences;\n      /** content overrides */\n      content?: ChannelsContent;\n  }\n  enum TemplateChannel {\n      WEB_FEED = \"WEB_FEED\",\n      MOBILE_FEED = \"MOBILE_FEED\",\n      MOBILE_PUSH = \"MOBILE_PUSH\",\n      BROWSER = \"BROWSER\",\n      SMS = \"SMS\",\n      EMAIL = \"EMAIL\",\n      KAFKA = \"KAFKA\",\n      VOICE = \"VOICE\"\n  }\n  interface ExcludedAudiences {\n      /** audience_key */\n      audienceKey?: string[];\n  }\n  interface ChannelsContent {\n      /** mobile push override */\n      mobileContent?: MobileContent;\n  }\n  interface MobileContent {\n      /** title override of mobile push content */\n      title?: string;\n      /** body override of mobile push content */\n      body?: string;\n  }\n  interface ChannelsData {\n      /** email data */\n      emailData?: EmailData;\n  }\n  interface EmailData {\n      /** shoutout action config */\n      shoutoutActionConfig?: Record<string, any> | null;\n  }\n  interface NotifyByAppResponse {\n      /** notification_batch_id */\n      notificationBatchId?: string;\n  }\n  interface ResolveRequest {\n      /** template id */\n      notificationTemplateId: string;\n      /** values */\n      dynamicValues?: Record<string, DynamicValue>;\n  }\n  interface ResolveResponse {\n  }\n  /**\n   * Sends notifications based on the template and dynamic values provided.\n   *\n   * > This feature is not yet available to all users.\n   *\n   * An app can call this endpoint up to 100,000 times per month for each site.\n   *\n   * When you [create a notification template](https://dev.wix.com/api/rest/wix-notifications/notifications/creating-a-notification-template) in the Wix Dev Center, you are given a notification template ID.\n   * Call the Notify endpoint with this ID as `notificationTemplateID` to trigger notifications based on the notification template.\n   * If the notification template contains placeholders for dynamic values, provide those values as key-value pairs in the `dynamicValues` array.\n   * The values you specify are incorporated seamlessly in the notifications sent out.\n   * @param notificationTemplateId - Notification template ID. A notification template specifies the text and recipients for notifications.\n   * To obtain a notification template ID, [create a notification template](https://dev.wix.com/api/rest/wix-notifications/notifications/creating-a-notification-template) in the Wix Dev Center.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField notificationTemplateId\n   * @adminMethod\n   */\n  function notify(notificationTemplateId: string, options?: NotifyOptions): Promise<NotifyResponse>;\n  interface NotifyOptions {\n      /**\n       * Each key is a placeholder name you specify when [creating a notification template](https://dev.wix.com/api/rest/wix-notifications/notifications/creating-a-notification-template).\n       * The value is an object containing the text to replace the placeholder in the notifications.\n       */\n      dynamicValues?: Record<string, DynamicValue>;\n  }\n  /**\n   * NotifyByApp\n   * @param notificationTemplateId - notification_template_id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField notificationTemplateId\n   * @requiredField options.appDefId\n   * @adminMethod\n   */\n  function notifyByApp(notificationTemplateId: string, options?: NotifyByAppOptions): Promise<NotifyByAppResponse>;\n  interface NotifyByAppOptions {\n      /** app_def_id */\n      appDefId: string;\n      /** dynamic_values */\n      dynamicValues?: Record<string, DynamicValue>;\n      /** template tenant */\n      templateTenant?: string | null;\n      /** overrides */\n      overrides?: Overrides;\n      /** channels content */\n      channelsData?: ChannelsData;\n  }\n  /** @param notificationTemplateId - template id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField notificationTemplateId\n   * @adminMethod\n   */\n  function resolve(notificationTemplateId: string, options?: ResolveOptions): Promise<void>;\n  interface ResolveOptions {\n      /** values */\n      dynamicValues?: Record<string, DynamicValue>;\n  }\n  \n  type pingNotificationsV3Notification_universal_d_Notification = Notification;\n  type pingNotificationsV3Notification_universal_d_NotifyRequest = NotifyRequest;\n  type pingNotificationsV3Notification_universal_d_DynamicValue = DynamicValue;\n  type pingNotificationsV3Notification_universal_d_DynamicValueOfTypeOneOf = DynamicValueOfTypeOneOf;\n  type pingNotificationsV3Notification_universal_d_Money = Money;\n  type pingNotificationsV3Notification_universal_d_MapDynamicValue = MapDynamicValue;\n  type pingNotificationsV3Notification_universal_d_ArrayDynamicValue = ArrayDynamicValue;\n  type pingNotificationsV3Notification_universal_d_AttachmentDynamicValue = AttachmentDynamicValue;\n  type pingNotificationsV3Notification_universal_d_NotifyResponse = NotifyResponse;\n  type pingNotificationsV3Notification_universal_d_NotifyByAppRequest = NotifyByAppRequest;\n  type pingNotificationsV3Notification_universal_d_Overrides = Overrides;\n  type pingNotificationsV3Notification_universal_d_TemplateChannel = TemplateChannel;\n  const pingNotificationsV3Notification_universal_d_TemplateChannel: typeof TemplateChannel;\n  type pingNotificationsV3Notification_universal_d_ExcludedAudiences = ExcludedAudiences;\n  type pingNotificationsV3Notification_universal_d_ChannelsContent = ChannelsContent;\n  type pingNotificationsV3Notification_universal_d_MobileContent = MobileContent;\n  type pingNotificationsV3Notification_universal_d_ChannelsData = ChannelsData;\n  type pingNotificationsV3Notification_universal_d_EmailData = EmailData;\n  type pingNotificationsV3Notification_universal_d_NotifyByAppResponse = NotifyByAppResponse;\n  type pingNotificationsV3Notification_universal_d_ResolveRequest = ResolveRequest;\n  type pingNotificationsV3Notification_universal_d_ResolveResponse = ResolveResponse;\n  const pingNotificationsV3Notification_universal_d_notify: typeof notify;\n  type pingNotificationsV3Notification_universal_d_NotifyOptions = NotifyOptions;\n  const pingNotificationsV3Notification_universal_d_notifyByApp: typeof notifyByApp;\n  type pingNotificationsV3Notification_universal_d_NotifyByAppOptions = NotifyByAppOptions;\n  const pingNotificationsV3Notification_universal_d_resolve: typeof resolve;\n  type pingNotificationsV3Notification_universal_d_ResolveOptions = ResolveOptions;\n  namespace pingNotificationsV3Notification_universal_d {\n    export {\n      pingNotificationsV3Notification_universal_d_Notification as Notification,\n      pingNotificationsV3Notification_universal_d_NotifyRequest as NotifyRequest,\n      pingNotificationsV3Notification_universal_d_DynamicValue as DynamicValue,\n      pingNotificationsV3Notification_universal_d_DynamicValueOfTypeOneOf as DynamicValueOfTypeOneOf,\n      pingNotificationsV3Notification_universal_d_Money as Money,\n      pingNotificationsV3Notification_universal_d_MapDynamicValue as MapDynamicValue,\n      pingNotificationsV3Notification_universal_d_ArrayDynamicValue as ArrayDynamicValue,\n      pingNotificationsV3Notification_universal_d_AttachmentDynamicValue as AttachmentDynamicValue,\n      pingNotificationsV3Notification_universal_d_NotifyResponse as NotifyResponse,\n      pingNotificationsV3Notification_universal_d_NotifyByAppRequest as NotifyByAppRequest,\n      pingNotificationsV3Notification_universal_d_Overrides as Overrides,\n      pingNotificationsV3Notification_universal_d_TemplateChannel as TemplateChannel,\n      pingNotificationsV3Notification_universal_d_ExcludedAudiences as ExcludedAudiences,\n      pingNotificationsV3Notification_universal_d_ChannelsContent as ChannelsContent,\n      pingNotificationsV3Notification_universal_d_MobileContent as MobileContent,\n      pingNotificationsV3Notification_universal_d_ChannelsData as ChannelsData,\n      pingNotificationsV3Notification_universal_d_EmailData as EmailData,\n      pingNotificationsV3Notification_universal_d_NotifyByAppResponse as NotifyByAppResponse,\n      pingNotificationsV3Notification_universal_d_ResolveRequest as ResolveRequest,\n      pingNotificationsV3Notification_universal_d_ResolveResponse as ResolveResponse,\n      pingNotificationsV3Notification_universal_d_notify as notify,\n      pingNotificationsV3Notification_universal_d_NotifyOptions as NotifyOptions,\n      pingNotificationsV3Notification_universal_d_notifyByApp as notifyByApp,\n      pingNotificationsV3Notification_universal_d_NotifyByAppOptions as NotifyByAppOptions,\n      pingNotificationsV3Notification_universal_d_resolve as resolve,\n      pingNotificationsV3Notification_universal_d_ResolveOptions as ResolveOptions,\n    };\n  }\n  \n  export { pingNotificationsV3Notification_universal_d as notifications };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-trigger.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-custom-trigger\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface CustomTrigger {\n      /** Custom trigger ID. */\n      _id?: string;\n      /**\n       * Optional - additional data in key:value form\n       * This data will be passed to `GetEligibleTriggers` service plugin.\n       * i.e weather trigger - be eligible if temp is above 30 degrees, params will have  { \"minTemp\": 30 }\n       * @internal\n       */\n      params?: Record<string, any> | null;\n  }\n  interface ListTriggersRequest {\n  }\n  interface ListTriggersResponse {\n      /** Custom triggers. */\n      customTriggers?: ListTriggersResponseCustomTrigger[];\n  }\n  interface ListTriggersResponseCustomTrigger {\n      /** Custom trigger ID. */\n      _id?: string;\n      /** Custom trigger name to display in the dashboard. */\n      name?: string;\n  }\n  interface GetEligibleTriggersRequest {\n      /** List of line items in the cart/checkout. */\n      lineItems?: LineItem[];\n      /** List of triggers to be checked for discount eligibility. */\n      triggers?: TriggerToFilterBy[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n  }\n  interface LineItem {\n      /** Line item ID. */\n      _id?: string;\n      /** Item quantity in this line item. */\n      quantity?: number | null;\n      /**\n       * Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info.\n       * This field may be empty in the case of a custom line item.\n       */\n      catalogReference?: CatalogReference;\n      /** Price of a single item. */\n      price?: string;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface TriggerToFilterBy {\n      /** Custom trigger info. */\n      customTrigger?: CustomTrigger;\n      /** Unique trigger identifier. The same value must be returned in `eligibleTriggers[i].identifier`. */\n      identifier?: string | null;\n  }\n  interface GetEligibleTriggersResponse {\n      /** List of eligible triggers. These are used by the Discount Rules API and Wix eCommerce to apply the relevant discount. */\n      eligibleTriggers?: EligibleTrigger[];\n  }\n  interface EligibleTrigger {\n      /** Custom trigger ID. Must be passed with relevant `identifier`. */\n      customTriggerId?: string;\n      /** Unique trigger identifier. The value must be the same as its equivalent in `triggers[i].identifier` in the request payload. */\n      identifier?: string | null;\n  }\n  interface CustomTriggerConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetEligibleTriggersOptions {\n      /** List of line items in the cart/checkout. */\n      lineItems?: LineItem[];\n      /** List of triggers to be checked for discount eligibility. */\n      triggers?: TriggerToFilterBy[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n  }\n  \n  export { BusinessError, CatalogReference, Context, CustomTrigger, CustomTriggerConfig, EligibleTrigger, GetEligibleTriggersOptions, GetEligibleTriggersRequest, GetEligibleTriggersResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, LineItem, ListTriggersRequest, ListTriggersResponse, ListTriggersResponseCustomTrigger, TriggerToFilterBy };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-comments.v2.d.ts",
      "content": "declare module \"wix-comments.v2\" {\n  /**\n   * A comment is a user-generated message in response to a specific resource. It allows site visitors\n   * to share feedback or engage in discussions around different types of resources, including blog posts, forum threads,\n   * or other site content. Comments are composed of text, images, videos, or other forms of media.\n   */\n  interface Comment {\n      /**\n       * Comment ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the comment is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the comment.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the comment was created.\n       *\n       * **Note:** This is the date from the system database, not the actual date when the comment was created. For example, if you migrate comments created in 2016, the `createdDate` field will show the current year. For the actual creation date, see the `commentDate` field.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the comment was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** ID of the app that the comment is added to. */\n      appId?: string | null;\n      /**\n       * ID of the specific context the comment is in response to.\n       *\n       * Within some Wix apps, the `contextId` will be the same as the `resourceId`. For example in Wix Forum,\n       * the `forumPostId` is used as both the `contextId` and the `resourceId`.\n       */\n      contextId?: string | null;\n      /**\n       * Reserved for internal use.\n       * @internal\n       */\n      contextType?: string | null;\n      /**\n       * ID of the specific resource that the comment is in response to.\n       *\n       * Within some Wix apps, the `resourceId` will be the same as the `contextId`. For example in Wix Forum,\n       * the `forumPostId` is used as both the `resourceId` and the `contextId`.\n       */\n      resourceId?: string | null;\n      /** Published comment content. */\n      content?: CommentContent;\n      /**\n       * Unpublished comment content.\n       * @internal\n       */\n      draftContent?: CommentContent;\n      /** Comment's author. */\n      author?: CommentAuthor;\n      /** Parent comment information. */\n      parentComment?: ParentComment;\n      /**\n       * Materialized path of comments hierarchy. List of all current comment’s parent IDs.\n       * @internal\n       * @readonly\n       */\n      parentIdsInThread?: string[];\n      /**\n       * Number of comments that reply to this comment.\n       * @readonly\n       */\n      replyCount?: number;\n      /**\n       * Summary of votes.\n       * @readonly\n       */\n      voteSummary?: VoteSummary;\n      /**\n       * Comment status.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Comment rating.\n       * @readonly\n       */\n      rating?: number | null;\n      /**\n       * Summary of reactions.\n       * @readonly\n       */\n      reactionSummary?: CommentReactionSummary;\n      /** Whether the comment is marked. */\n      marked?: boolean;\n      /** Date and time when the comment was actually created. */\n      commentDate?: Date | null;\n      /**\n       * Whether the comment has the updated content.\n       * @readonly\n       */\n      contentEdited?: boolean | null;\n      /**\n       * Whether the comment has reports\n       * @internal\n       * @readonly\n       */\n      reportCount?: number | null;\n  }\n  /** Comment content. */\n  interface CommentContent {\n      /**\n       * Draft JS format content\n       * @internal\n       * @deprecated\n       * @replacedBy content\n       * @targetRemovalDate 2026-01-01\n       */\n      draftJs?: string | null;\n      /**\n       * Plain text format content\n       * @internal\n       * @deprecated\n       * @replacedBy content\n       * @targetRemovalDate 2026-01-01\n       */\n      plainText?: string | null;\n      /**\n       * Comment rich content.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" exampleid=\"5693ba57-d141-42bf-a0d6-1eb11c73bddf\" plugins=\"emoji.heading.indent.lineSpacing.actionButton.audio.codeBlock.collapsibleList.divider.file.gallery.giphy.hashtag.html.image.link.linkButton.linkPreview.mentions.poll.spoiler.table.textColor.textHighlight.verticalEmbed.video\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       */\n      richContent?: RichContent;\n      /**\n       * People to tag with this comment.\n       *\n       * People can include users, members, visitors, or groups.\n       */\n      mentions?: Mention[];\n      /**\n       * Content effects\n       * @internal\n       */\n      effects?: Record<string, string>;\n      /** Content attachments. */\n      attachments?: Attachment[];\n      /**\n       * This field specifies the author who last edited or modified the comment's content.\n       * Usually, this is the same author as the comment's original author.\n       * It differs from the original author only when the comment has been updated by someone with permissions\n       * to modify the comment's content\n       * @internal\n       * @readonly\n       */\n      author?: ContentAuthor;\n      /**\n       * Stores the timestamp when a comment's content was written.\n       * This might indicate when the content was created or updated\n       * @internal\n       * @readonly\n       */\n      commentDate?: Date | null;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData {\n      textStyle?: TextStyle;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface Mention extends MentionIdentityOneOf {\n      /** Wix user ID. For more information about identity, see [this article](https://dev.wix.com/docs/rest/articles/getting-started/identities). */\n      userId?: string | null;\n      /** Member ID. See the Members API for more details. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Group ID. See the Groups API for more details. */\n      groupId?: string | null;\n  }\n  /** @oneof */\n  interface MentionIdentityOneOf {\n      /** Wix user ID. For more information about identity, see [this article](https://dev.wix.com/docs/rest/articles/getting-started/identities). */\n      userId?: string | null;\n      /** Member ID. See the Members API for more details. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Group ID. See the Groups API for more details. */\n      groupId?: string | null;\n  }\n  interface Attachment extends AttachmentMediaOneOf {\n      /** Information about the image. */\n      image?: string;\n      /** Information about the video. */\n      video?: string;\n      /** Information about the audio. */\n      audio?: string;\n      /** Information about the document. */\n      document?: string;\n      /** Mime type of attachment. */\n      mimeType?: string | null;\n  }\n  /** @oneof */\n  interface AttachmentMediaOneOf {\n      /** Information about the image. */\n      image?: string;\n      /** Information about the video. */\n      video?: string;\n      /** Information about the audio. */\n      audio?: string;\n      /** Information about the document. */\n      document?: string;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @readonly\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @readonly\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @readonly\n       */\n      durationInSeconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface ContentAuthor extends ContentAuthorAuthorOneOf {\n      /** Wix user ID. For more information about identity, see [this article](https://dev.wix.com/docs/rest/articles/getting-started/identities). */\n      userId?: string | null;\n      /**\n       * Member ID. See the [Members API](https://dev.wix.com/api/rest/members/members/member-object)\n       * for more details.\n       */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. For more information see [this article](https://dev.wix.com/docs/build-apps/develop-your-app/access/authentication/authenticate-as-an-app-instance). */\n      appId?: string | null;\n  }\n  /** @oneof */\n  interface ContentAuthorAuthorOneOf {\n      /** Wix user ID. For more information about identity, see [this article](https://dev.wix.com/docs/rest/articles/getting-started/identities). */\n      userId?: string | null;\n      /**\n       * Member ID. See the [Members API](https://dev.wix.com/api/rest/members/members/member-object)\n       * for more details.\n       */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. For more information see [this article](https://dev.wix.com/docs/build-apps/develop-your-app/access/authentication/authenticate-as-an-app-instance). */\n      appId?: string | null;\n  }\n  interface CommentAuthor extends CommentAuthorIdentityOneOf {\n      /** Wix user ID. */\n      userId?: string | null;\n      /** Member ID. See the Members API for more details. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /**\n       * Wix contact ID\n       * @internal\n       */\n      contactId?: string | null;\n      /**\n       * Name, optional, set by author\n       * @internal\n       */\n      authorName?: string | null;\n  }\n  /** @oneof */\n  interface CommentAuthorIdentityOneOf {\n      /** Wix user ID. */\n      userId?: string | null;\n      /** Member ID. See the Members API for more details. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n  }\n  interface ParentComment {\n      /** Comment ID of the parent comment. */\n      _id?: string | null;\n      /**\n       * Author of the parent comment.\n       * @readonly\n       */\n      author?: CommentAuthor;\n      /**\n       * Parent comment status.\n       * @readonly\n       */\n      status?: Status;\n  }\n  enum Status {\n      /** Unknown status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** This comment is published and publicly visible. */\n      PUBLISHED = \"PUBLISHED\",\n      /** This comment is deleted. */\n      DELETED = \"DELETED\",\n      /** This comment is pending moderation. Moderation is not currently supported. */\n      PENDING = \"PENDING\",\n      /** This comment has been hidden by a site moderator. */\n      HIDDEN = \"HIDDEN\"\n  }\n  interface VoteSummary {\n      /** Number of upvotes less downvotes on this comment. */\n      netVoteCount?: number;\n      /** Number of upvotes on this comment. */\n      upvoteCount?: number;\n      /** Number of downvotes on this comment. */\n      downvoteCount?: number;\n  }\n  interface CommentReactionSummary {\n      /** Total amount of reactions. */\n      total?: number;\n      /**\n       * Number of each type of reaction. `key` is the code for a reaction type and\n       * `value` is the amount of that reaction type.\n       */\n      reactionCodeCount?: Record<string, number>;\n  }\n  interface UpdateInternalDocumentsEvent extends UpdateInternalDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: InternalDocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update internal documents matching filter */\n      updateByFilter?: InternalDocumentUpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: InternalUpdateExistingOperation;\n      /** insert/update documents with versioning */\n      versionedUpdate?: VersionedDocumentUpdateOperation;\n      /** delete by document ids with versioning */\n      versionedDeleteByIds?: VersionedDeleteByIdsOperation;\n      /** type of the documents */\n      documentType?: string;\n      /** language of the documents (mandatory) */\n      language?: string | null;\n      /**\n       * one or more search documents\n       * @deprecated\n       */\n      addDocuments?: InternalDocument[];\n      /**\n       * one or more ids of indexed documents to be removed. Removal will happen before addition (if both provided)\n       * @deprecated\n       */\n      removeDocumentIds?: string[];\n      /** id to pass to processing notification */\n      correlationId?: string | null;\n      /** when event was created / issued */\n      issuedAt?: Date | null;\n  }\n  /** @oneof */\n  interface UpdateInternalDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: InternalDocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update internal documents matching filter */\n      updateByFilter?: InternalDocumentUpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: InternalUpdateExistingOperation;\n      /** insert/update documents with versioning */\n      versionedUpdate?: VersionedDocumentUpdateOperation;\n      /** delete by document ids with versioning */\n      versionedDeleteByIds?: VersionedDeleteByIdsOperation;\n  }\n  interface InternalDocument {\n      /** document with mandatory fields (id) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n  }\n  interface InternalDocumentUpdateOperation {\n      /** documents to index or update */\n      documents?: InternalDocument[];\n  }\n  interface DeleteByIdsOperation {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface DeleteByFilterOperation {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface InternalDocumentUpdateByFilterOperation {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: InternalDocument;\n  }\n  interface InternalUpdateExistingOperation {\n      /** documents to update */\n      documents?: InternalDocument[];\n  }\n  interface VersionedDocumentUpdateOperation {\n      /** documents to create or overwrite */\n      documents?: InternalDocument[];\n      /** versioning mode to use instead of default */\n      versioningMode?: VersioningMode;\n  }\n  enum VersioningMode {\n      /** use default versioning mode agreed with search team */\n      DEFAULT = \"DEFAULT\",\n      /** execute only if version is greater than existing */\n      GREATER_THAN = \"GREATER_THAN\",\n      /** execute only if version is greater or equal to existing */\n      GREATER_OR_EQUAL = \"GREATER_OR_EQUAL\"\n  }\n  interface VersionedDeleteByIdsOperation {\n      /** ids with version of the documents to delete */\n      documentIds?: VersionedDocumentId[];\n  }\n  interface VersionedDocumentId {\n      /** document id */\n      documentId?: string;\n      /** document version */\n      version?: string;\n      /** versioning mode to use instead of default */\n      versioningMode?: VersioningMode;\n  }\n  interface CommentModerated {\n      comment?: Comment;\n      moderationAction?: Action;\n  }\n  enum Action {\n      /** Unknown content. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Approve draft content. */\n      APPROVE = \"APPROVE\",\n      /** Reject draft content. */\n      REJECT = \"REJECT\"\n  }\n  interface CreateCommentRequest {\n      /** Comment to create. */\n      comment?: Comment;\n      /**\n       * Additional contact details, provided by UoU\n       * @internal\n       */\n      contactDetails?: ContactDetails;\n      /**\n       * Captcha token\n       * @internal\n       */\n      captchaToken?: string | null;\n      /**\n       * Skip filters flag\n       * @internal\n       */\n      skipFilters?: boolean | null;\n  }\n  interface ContactDetails {\n      /**\n       * UoU email address. For internal use\n       * @internal\n       */\n      email?: string | null;\n  }\n  interface CreateCommentResponse {\n      /** Created comment. */\n      comment?: Comment;\n  }\n  interface ResourceCommentCountChanged {\n      /** ID of the app that the comment is added to. */\n      appId?: string;\n      /**\n       * ID of the specific context the comment is in response to.\n       *\n       * Within some Wix apps, the `contextId` will be the same as the `resourceId`. For example in Wix Forum, the `forumPostId` is used as both the `contextId` and the `resourceId`.\n       */\n      contextId?: string;\n      /**\n       * ID of the specific resource that the comment is in response to.\n       *\n       * Within some Wix apps, the `resourceId` will be the same as the `contextId`. For example in Wix Forum, the `forumPostId` is used as both the `resourceId` and the `contextId`.\n       */\n      resourceId?: string;\n      /** How many comments are published for the resource. */\n      publishedCommentCount?: number;\n  }\n  interface GetCommentRequest {\n      /** ID of the comment to retrieve. */\n      commentId: string;\n  }\n  interface GetCommentResponse {\n      /** Retrieved comment. */\n      comment?: Comment;\n  }\n  /** Comment info to update. */\n  interface UpdateCommentRequest {\n      /** Comment info to update. */\n      comment?: Comment;\n      /**\n       * Skip filters flag\n       * @internal\n       */\n      skipFilters?: boolean | null;\n  }\n  interface UpdateCommentResponse {\n      /** Updated comment. */\n      comment?: Comment;\n      /**\n       * Captcha token\n       * @internal\n       */\n      captchaToken?: string | null;\n  }\n  interface CommentContentChanged {\n      /** Comment ID. */\n      commentId?: string;\n      /** Content before the update. */\n      previousContent?: CommentContent;\n      /** Content ater the update. */\n      currentContent?: CommentContent;\n  }\n  interface DeleteCommentRequest {\n      /** ID of the Comment to delete. */\n      commentId: string;\n      /**\n       * Revision of the comment to delete.\n       * @internal\n       * @deprecated Revision of the comment to delete.\n       */\n      revision?: string | null;\n      /**\n       * Indicates if child comments must be deleted as well.\n       * Will be deprecated and be replaced by BulkCommentDelete\n       * @internal\n       * @deprecated Indicates if child comments must be deleted as well.\n       * Will be deprecated and be replaced by BulkCommentDelete\n       */\n      cascade?: boolean | null;\n  }\n  interface DeleteCommentResponse {\n  }\n  interface CommentDeleted {\n      comment?: Comment;\n  }\n  interface ModerateDraftContentRequest {\n      /** ID of the comment to moderate. */\n      commentId: string;\n      /**\n       * Revision number, which increments by `1` each time the comment is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the comment.\n       */\n      revision: string | null;\n      /** Draft content action. */\n      draftContentAction?: Action;\n  }\n  interface ModerateDraftContentResponse {\n      /** Moderated comment. */\n      comment?: Comment;\n  }\n  interface CommentPublished {\n      /** Comment info. */\n      comment?: Comment;\n      /** Whether this is the first comment publish. */\n      firstPublish?: boolean;\n  }\n  interface CommentHidden {\n      comment?: Comment;\n  }\n  interface QueryCommentsRequest {\n      /** App ID to query comments for. */\n      appId: string;\n      /** Query options. */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCommentsResponse {\n      /** Retrieved comments. */\n      comments?: Comment[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface MarkCommentRequest {\n      /** ID of the comment to mark. */\n      commentId: string;\n      /**\n       * Revision of the comment to mark.\n       * @internal\n       * @deprecated Revision of the comment to mark.\n       */\n      revision?: string | null;\n  }\n  interface MarkCommentResponse {\n      /** Marked comment. */\n      comment?: Comment;\n  }\n  interface CommentMarked {\n      comment?: Comment;\n  }\n  interface UnmarkCommentRequest {\n      /** ID of the comment to unmark. */\n      commentId: string;\n      /**\n       * Revision of the comment to unmark.\n       * @internal\n       * @deprecated Revision of the comment to unmark.\n       */\n      revision?: string | null;\n  }\n  interface UnmarkCommentResponse {\n      /** Unmarked comment. */\n      comment?: Comment;\n  }\n  interface CommentUnmarked {\n      comment?: Comment;\n  }\n  interface HideCommentRequest {\n      /** ID of the comment to hide. */\n      commentId: string;\n  }\n  interface HideCommentResponse {\n      /** Hidden comment. */\n      comment?: Comment;\n  }\n  interface PublishCommentRequest {\n      /** ID of the comment to publish. */\n      commentId: string;\n  }\n  interface PublishCommentResponse {\n      /** Published comment. */\n      comment?: Comment;\n  }\n  /** Count comments options. */\n  interface CountCommentsRequest {\n      /** App ID to count the comments of. */\n      appId?: string;\n      /** Filter to identify the comments that need to be counted. */\n      filter?: Record<string, any> | null;\n  }\n  interface CountCommentsResponse {\n      /** Number of comments. */\n      count?: number;\n  }\n  interface ListCommentsByResourceRequest {\n      /** ID of the app from which the comments are listed. */\n      appId: string;\n      /**\n       * ID of the specific context the comment is in response to.\n       *\n       * Within some Wix apps, the `contextId` will be the same as the `resourceId`. For example in Wix Forum, the `forumPostId` is used as both the `contextId` and the `resourceId`.\n       */\n      contextId: string;\n      /** Reserved for internal use. */\n      contextType?: string;\n      /**\n       * ID of the specific resource that the comment is in response to.\n       *\n       * Within some Wix apps, the `resourceId` will be the same as the `contextId`. For example in Wix Forum, the `forumPostId` is used as both the `resourceId` and the `contextId`.\n       */\n      resourceId: string;\n      /** Comment sort. Is ignored if cursorPaging.cursor is defined. */\n      commentSort?: CommentSort;\n      /** Reply sort. Is ignored if cursorPaging.cursor is defined. */\n      replySort?: ReplySort;\n      /** Cursor paging. */\n      cursorPaging?: ListCommentsByResourceCursorPaging;\n  }\n  interface CommentSort {\n      /** Sort order. */\n      order?: Order;\n      /**\n       * If set to `true`, marked comments appear in the original order, and not at the top of the list.\n       *\n       * Default: `false`. This means that marked comments are prioritized and listed first.\n       */\n      keepMarkedInOriginalOrder?: boolean;\n  }\n  enum Order {\n      /** Unknown order. */\n      UNKNOWN_ORDER = \"UNKNOWN_ORDER\",\n      /** Oldest comments appear at the top of the list. */\n      OLDEST_FIRST = \"OLDEST_FIRST\",\n      /** Newest comments appear at the top of the list. */\n      NEWEST_FIRST = \"NEWEST_FIRST\",\n      /** Comments with the highest reaction count appear at the top of the list. */\n      REACTION_COUNT = \"REACTION_COUNT\",\n      /** Comments with the highest vote count appear at the top of the list. */\n      NET_VOTE_COUNT = \"NET_VOTE_COUNT\",\n      /** Comments with the highest rating appear at the top of the list. */\n      RATING = \"RATING\",\n      /** Comments with the lowest vote count appear at the top of the list. */\n      NET_VOTE_COUNT_ASC = \"NET_VOTE_COUNT_ASC\",\n      /** Comments with the lowest rating appear at the top of the list. */\n      RATING_ASC = \"RATING_ASC\"\n  }\n  interface ReplySort {\n      /** Sort order. */\n      order?: ReplySortOrder;\n      /**\n       * Whether the marked comments are listed in the orginal order.\n       *\n       * If set to `true`, marked comments appear in the original order, and not at the top of the list.\n       *\n       * Default: `false`. In this case marked comments are prioritized and listed first.\n       */\n      keepMarkedInOriginalOrder?: boolean;\n  }\n  enum ReplySortOrder {\n      /** Unknown order. */\n      UNKNOWN_ORDER = \"UNKNOWN_ORDER\",\n      /** Oldest comments appear at the top of the list. */\n      OLDEST_FIRST = \"OLDEST_FIRST\",\n      /** Newest comments appear at the top of the list. */\n      NEWEST_FIRST = \"NEWEST_FIRST\",\n      /** Comments with the highest reaction count appear at the top of the list. */\n      REACTION_COUNT = \"REACTION_COUNT\"\n  }\n  interface ListCommentsByResourceCursorPaging {\n      /** Pointer to the next or previous page in the list of results. */\n      cursor?: string | null;\n      /** Number of items to return. */\n      limit?: number | null;\n      /** Maximum number of replies in a response. Only applicable to parent comments. */\n      repliesLimit?: number | null;\n  }\n  interface ListCommentsByResourceResponse {\n      /** Listed comments. */\n      comments?: Comment[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n      /** Listed comment replies. */\n      commentReplies?: Record<string, RepliesListResponse>;\n  }\n  interface RepliesListResponse {\n      /** Listed comment replies. */\n      replies?: Comment[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface GetCommentThreadRequest {\n      /**\n       * App ID.\n       * @deprecated App ID.\n       * @targetRemovalDate 2024-11-01\n       */\n      appId?: string;\n      /** Comment ID. */\n      commentId: string;\n      /** Comment sorting. */\n      commentSort?: CommentSort;\n      /** Reply sorting. */\n      replySort?: ReplySort;\n  }\n  interface GetCommentThreadResponse {\n      /** Retrieved replies. */\n      comments?: Comment[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n      /** Retrieved replies of a reply. */\n      commentReplies?: Record<string, RepliesListResponse>;\n  }\n  interface BulkPublishCommentRequest {\n      /** ID of the app where to publish the comment. */\n      appId: string;\n      /** Filter to identify the comments that need to be published. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {\"resourceID\": \"64ad407e0bf87891bba7de3a\", \"parentComment.id\": \"726cb137-a9c3-408b-9cc2-2b64c6be8a95\"}. */\n      filter: Record<string, any> | null;\n  }\n  interface BulkPublishCommentResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.\n       */\n      jobId?: string;\n  }\n  interface BulkHideCommentRequest {\n      /** ID of the app where to hide the comments. */\n      appId: string;\n      /** Filter to identify the comments that need to be hidden. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {\"resourceID\": \"64ad407e0bf87891bba7de3a\", \"parentComment.id\": \"726cb137-a9c3-408b-9cc2-2b64c6be8a95\"}. */\n      filter: Record<string, any> | null;\n  }\n  interface BulkHideCommentResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.\n       */\n      jobId?: string;\n  }\n  interface BulkDeleteCommentRequest {\n      /** ID of the app where to delete the comments. */\n      appId: string;\n      /** Filter to identify the comments that need to be deleted. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {\"resourceID\": \"64ad407e0bf87891bba7de3a\", \"parentComment.id\": \"726cb137-a9c3-408b-9cc2-2b64c6be8a95\"}. */\n      filter: Record<string, any> | null;\n  }\n  interface BulkDeleteCommentResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.\n       */\n      jobId?: string;\n  }\n  interface BulkModerateDraftContentRequest {\n      /** ID of the app where to moderate the comments. */\n      appId: string;\n      /** Filter to identify the comment content that needs to be moderated. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {\"resourceID\": \"64ad407e0bf87891bba7de3a\", \"parentComment.id\": \"726cb137-a9c3-408b-9cc2-2b64c6be8a95\"}. */\n      filter: Record<string, any> | null;\n      /** Action to do regarding draft content */\n      draftContentAction: Action;\n  }\n  interface BulkModerateDraftContentResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.\n       */\n      jobId?: string;\n  }\n  interface BulkMoveCommentByFilterRequest {\n      /** ID of the app from which to move the comments. */\n      appId: string;\n      /** Filter to identify the comments that need to be moved. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {\"resourceID\": \"64ad407e0bf87891bba7de3a\", \"parentComment.id\": \"726cb137-a9c3-408b-9cc2-2b64c6be8a95\"}. */\n      filter: Record<string, any> | null;\n      /** Where to move the comment. */\n      destination?: Destination;\n  }\n  interface Destination {\n      /** Context ID to which move the comment. */\n      contextId?: string;\n      /** Resource ID to which move the comment. */\n      resourceId?: string;\n  }\n  interface BulkMoveCommentByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.\n       */\n      jobId?: string;\n  }\n  interface CommentMoved {\n      comment?: Comment;\n      destination?: Destination;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new comment and publishes it.\n   *\n   * The `appId`, `contextId`, and `resourceId` are all required and associate the created comment with the specific\n   * resource it responds to. See introduction for a list of integrated scopes for these fields.\n   *\n   * If the created comment is a direct response to another comment, the `commentId` of the parent comment should be passed\n   * as `parentComment.id` in this comment's request. See [Terminology](#introduction) for additional information on parent comments and replies.\n   * @param comment - Comment to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField comment\n   * @requiredField comment.appId\n   * @requiredField comment.content\n   * @requiredField comment.contextId\n   * @requiredField comment.resourceId\n   * @permissionId WIX_COMMENTS.COMMENT_CREATE\n   * @permissionId WIX_COMMENTS.COMMENT_OVERRIDE_AUTHOR\n   * @permissionId WIX_COMMENTS.COMMENT_OVERRIDE_COMMENT_DATE\n   * @adminMethod\n   * @returns Created comment.\n   */\n  function createComment(comment: Comment, options?: CreateCommentOptions): Promise<Comment>;\n  interface CreateCommentOptions {\n      /**\n       * Additional contact details, provided by UoU\n       * @internal\n       */\n      contactDetails?: ContactDetails;\n      /**\n       * Captcha token\n       * @internal\n       */\n      captchaToken?: string | null;\n      /**\n       * Skip filters flag\n       * @internal\n       */\n      skipFilters?: boolean | null;\n  }\n  /**\n   * Retrieves a comment.\n   * @param commentId - ID of the comment to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentId\n   * @permissionId WIX_COMMENTS.COMMENT_READ\n   * @adminMethod\n   * @returns Retrieved comment.\n   */\n  function getComment(commentId: string): Promise<Comment>;\n  /**\n   * Updates a comment.\n   *\n   * Each time the comment is updated, `revision` increments by 1. The current `revision` must be\n   * passed when updating the comment. This ensures you're working with the latest comment and\n   * prevents unintended overwrites.\n   * @param _id - Comment ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField comment\n   * @requiredField comment.revision\n   * @permissionId WIX_COMMENTS.COMMENT_UPDATE\n   * @adminMethod\n   * @returns Updated comment.\n   */\n  function updateComment(_id: string | null, comment: UpdateComment, options?: UpdateCommentOptions): Promise<Comment>;\n  interface UpdateComment {\n      /**\n       * Comment ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the comment is updated.\n       *\n       * To prevent conflicting changes, the current `revision` must be passed when updating the comment.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the comment was created.\n       *\n       * **Note:** This is the date from the system database, not the actual date when the comment was created. For example, if you migrate comments created in 2016, the `createdDate` field will show the current year. For the actual creation date, see the `commentDate` field.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the comment was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** ID of the app that the comment is added to. */\n      appId?: string | null;\n      /**\n       * ID of the specific context the comment is in response to.\n       *\n       * Within some Wix apps, the `contextId` will be the same as the `resourceId`. For example in Wix Forum,\n       * the `forumPostId` is used as both the `contextId` and the `resourceId`.\n       */\n      contextId?: string | null;\n      /**\n       * Reserved for internal use.\n       * @internal\n       */\n      contextType?: string | null;\n      /**\n       * ID of the specific resource that the comment is in response to.\n       *\n       * Within some Wix apps, the `resourceId` will be the same as the `contextId`. For example in Wix Forum,\n       * the `forumPostId` is used as both the `resourceId` and the `contextId`.\n       */\n      resourceId?: string | null;\n      /** Published comment content. */\n      content?: CommentContent;\n      /**\n       * Unpublished comment content.\n       * @internal\n       */\n      draftContent?: CommentContent;\n      /** Comment's author. */\n      author?: CommentAuthor;\n      /** Parent comment information. */\n      parentComment?: ParentComment;\n      /**\n       * Materialized path of comments hierarchy. List of all current comment’s parent IDs.\n       * @internal\n       * @readonly\n       */\n      parentIdsInThread?: string[];\n      /**\n       * Number of comments that reply to this comment.\n       * @readonly\n       */\n      replyCount?: number;\n      /**\n       * Summary of votes.\n       * @readonly\n       */\n      voteSummary?: VoteSummary;\n      /**\n       * Comment status.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Comment rating.\n       * @readonly\n       */\n      rating?: number | null;\n      /**\n       * Summary of reactions.\n       * @readonly\n       */\n      reactionSummary?: CommentReactionSummary;\n      /** Whether the comment is marked. */\n      marked?: boolean;\n      /** Date and time when the comment was actually created. */\n      commentDate?: Date | null;\n      /**\n       * Whether the comment has the updated content.\n       * @readonly\n       */\n      contentEdited?: boolean | null;\n      /**\n       * Whether the comment has reports\n       * @internal\n       * @readonly\n       */\n      reportCount?: number | null;\n  }\n  interface UpdateCommentOptions {\n      /**\n       * Skip filters flag\n       * @internal\n       */\n      skipFilters?: boolean | null;\n  }\n  /**\n   * Deletes a comment.\n   *\n   * This endpoint deletes the `content` of the comment and sets its `status` to `DELETED`.\n   * @param commentId - ID of the Comment to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentId\n   * @permissionId WIX_COMMENTS.COMMENT_DELETE\n   * @adminMethod\n   */\n  function deleteComment(commentId: string, options?: DeleteCommentOptions): Promise<void>;\n  interface DeleteCommentOptions {\n      /**\n       * Revision of the comment to delete.\n       * @internal\n       * @deprecated Revision of the comment to delete.\n       */\n      revision?: string | null;\n      /**\n       * Indicates if child comments must be deleted as well.\n       * Will be deprecated and be replaced by BulkCommentDelete\n       * @internal\n       * @deprecated Indicates if child comments must be deleted as well.\n       * Will be deprecated and be replaced by BulkCommentDelete\n       */\n      cascade?: boolean | null;\n  }\n  /**\n   * Moderates the draft content of a comment.\n   *\n   * - `APPROVE`: Moves `draftContent` to `content` and updates the comment `status` to `PUBLISHED`.\n   * - `REJECT`: Clears `draftContent` if comment `status` is `PUBLISHED` or, if comment `status` is `PENDING` it will keep `draftContent` the same and change `status` to `HIDDEN`.\n   * @param commentId - ID of the comment to moderate.\n   * @param revision - Revision number, which increments by `1` each time the comment is updated.\n   *\n   * To prevent conflicting changes, the current `revision` must be passed when updating the comment.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentId\n   * @requiredField revision\n   * @permissionId WIX_COMMENTS.COMMENT_MODERATE_DRAFT_CONTENT\n   * @adminMethod\n   */\n  function moderateDraftContent(commentId: string, revision: string | null, options?: ModerateDraftContentOptions): Promise<ModerateDraftContentResponse>;\n  interface ModerateDraftContentOptions {\n      /** Draft content action. */\n      draftContentAction?: Action;\n  }\n  /**\n   * Creates a query to retrieve a list of comments.\n   *\n   * The `queryComments()` function builds a query to retrieve a list of comments and returns a [`CommentsQueryBuilder`](#commentsquerybuilder) object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [`find()`](#commentsquerybuilder/find) function.\n   *\n   * You can refine the query by chaining `CommentsQueryBuilder` functions onto the query. `CommentsQueryBuilder` functions enable you to sort, filter, and control the results that `queryComments()` returns.\n   *\n   * `queryComments()` runs with the following `CommentsQueryBuilder` default that you can override:\n   * + `ascending(\"_id\")`\n   *\n   * The functions that are chained to `queryComments()` are applied in the order they are called. For example, if you apply `ascending(\"voteSummary.netVoteCount\")` and then `ascending(\"replyCount\")`, the results are sorted first by the `\"voteSummary.netVoteCount\"`, and then, if there are multiple results with the same `\"voteSummary.netVoteCount\"`, the items are sorted by `\"replyCount\"`.\n   *\n   * The following `CommentsQueryBuilder` functions are supported for the `queryComments()` function. For a full description of the comment object, see the object returned for the [`items`](#commentsqueryresult/items) property in [`CommentsQueryResult`](#commentsqueryresult).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @param appId - App ID to query comments for.\n   * @permissionId WIX_COMMENTS.COMMENT_QUERY\n   * @adminMethod\n   */\n  function queryComments(appId: string): CommentsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CommentsQueryResult extends QueryCursorResult {\n      items: Comment[];\n      query: CommentsQueryBuilder;\n      next: () => Promise<CommentsQueryResult>;\n      prev: () => Promise<CommentsQueryResult>;\n  }\n  interface CommentsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'contextId' | 'resourceId' | 'author.userId' | 'author.memberId' | 'author.visitorId' | 'parentComment.id' | 'replyCount' | 'voteSummary.netVoteCount' | 'status' | 'rating' | 'reactionSummary.total' | 'marked', value: any) => CommentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'contextId' | 'resourceId' | 'author.userId' | 'author.memberId' | 'author.visitorId' | 'parentComment.id' | 'replyCount' | 'voteSummary.netVoteCount' | 'status' | 'rating' | 'reactionSummary.total' | 'marked', value: any) => CommentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'replyCount' | 'voteSummary.netVoteCount' | 'rating' | 'reactionSummary.total', value: any) => CommentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'replyCount' | 'voteSummary.netVoteCount' | 'rating' | 'reactionSummary.total', value: any) => CommentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'replyCount' | 'voteSummary.netVoteCount' | 'rating' | 'reactionSummary.total', value: any) => CommentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'replyCount' | 'voteSummary.netVoteCount' | 'rating' | 'reactionSummary.total', value: any) => CommentsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'contextId' | 'resourceId' | 'author.userId' | 'author.memberId' | 'author.visitorId' | 'parentComment.id' | 'status', value: any) => CommentsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'replyCount' | 'voteSummary.netVoteCount' | 'rating' | 'reactionSummary.total' | 'marked'>) => CommentsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'replyCount' | 'voteSummary.netVoteCount' | 'rating' | 'reactionSummary.total' | 'marked'>) => CommentsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CommentsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => CommentsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CommentsQueryResult>;\n  }\n  /**\n   * Sets `marked` to `\"TRUE\"` to mark a comment.\n   * @param commentId - ID of the comment to mark.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentId\n   * @permissionId WIX_COMMENTS.COMMENT_MARK\n   * @adminMethod\n   */\n  function markComment(commentId: string, options?: MarkCommentOptions): Promise<MarkCommentResponse>;\n  interface MarkCommentOptions {\n      /**\n       * Revision of the comment to mark.\n       * @internal\n       * @deprecated Revision of the comment to mark.\n       */\n      revision?: string | null;\n  }\n  /**\n   * Sets `marked` to `\"FALSE\"` to unmark a comment.\n   * @param commentId - ID of the comment to unmark.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentId\n   * @permissionId WIX_COMMENTS.COMMENT_MARK\n   * @adminMethod\n   */\n  function unmarkComment(commentId: string, options?: UnmarkCommentOptions): Promise<UnmarkCommentResponse>;\n  interface UnmarkCommentOptions {\n      /**\n       * Revision of the comment to unmark.\n       * @internal\n       * @deprecated Revision of the comment to unmark.\n       */\n      revision?: string | null;\n  }\n  /**\n   * Hides a comment in a widget. The comment status becomes `HIDDEN`.\n   * @param commentId - ID of the comment to hide.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentId\n   * @permissionId WIX_COMMENTS.COMMENT_HIDE\n   * @adminMethod\n   */\n  function hideComment(commentId: string): Promise<HideCommentResponse>;\n  /**\n   * Publishes a comment with the `HIDDEN` status. The comment status becomes `PUBLISHED`.\n   *\n   * To publish a new comment, call [Create Comment](https://dev.wix.com/docs/rest/crm/community/comments/comments/create-comment).\n   * @param commentId - ID of the comment to publish.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentId\n   * @permissionId WIX_COMMENTS.COMMENT_PUBLISH\n   * @adminMethod\n   */\n  function publishComment(commentId: string): Promise<PublishCommentResponse>;\n  /**\n   * Counts comments, given the specified filtering. The comments with the `HIDDEN` status are not included in the response.\n   * @param appId - App ID to count the comments of.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @permissionId WIX_COMMENTS.COMMENT_COUNT\n   * @adminMethod\n   */\n  function countComments(appId: string, options?: CountCommentsOptions): Promise<CountCommentsResponse>;\n  interface CountCommentsOptions {\n      /** Filter to identify the comments that need to be counted. */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Lists published comments and replies from a specified resource, such as a blog post.\n   * @param appId - ID of the app from which the comments are listed.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options.contextId\n   * @requiredField options.resourceId\n   * @permissionId WIX_COMMENTS.COMMENT_LIST\n   * @adminMethod\n   */\n  function listCommentsByResource(appId: string, options?: ListCommentsByResourceOptions): Promise<ListCommentsByResourceResponse>;\n  interface ListCommentsByResourceOptions {\n      /**\n       * ID of the specific context the comment is in response to.\n       *\n       * Within some Wix apps, the `contextId` will be the same as the `resourceId`. For example in Wix Forum, the `forumPostId` is used as both the `contextId` and the `resourceId`.\n       */\n      contextId: string;\n      /** Reserved for internal use. */\n      contextType?: string;\n      /**\n       * ID of the specific resource that the comment is in response to.\n       *\n       * Within some Wix apps, the `resourceId` will be the same as the `contextId`. For example in Wix Forum, the `forumPostId` is used as both the `resourceId` and the `contextId`.\n       */\n      resourceId: string;\n      /** Comment sort. Is ignored if cursorPaging.cursor is defined. */\n      commentSort?: CommentSort;\n      /** Reply sort. Is ignored if cursorPaging.cursor is defined. */\n      replySort?: ReplySort;\n      /** Cursor paging. */\n      cursorPaging?: ListCommentsByResourceCursorPaging;\n  }\n  /**\n   * Returns a thread of a comment or a reply.\n   *\n   * If you request a comment thread, the endpoint returns a single comment with cursors. With cursors (`pagingMetadata.cursors.next` or `pagingMetadata.cursors.prev`) you can load replies by calling the [List Comments by Resource](https://dev.wix.com/docs/rest/crm/community/comments/comments/list-comments-by-resource) endpoint.\n   *\n   * If you request a reply thread, the endpoint returns a reply with its parent comment. With cursors (`pagingMetadata.cursors.next` or `pagingMetadata.cursors.prev`) you can load replies by calling the [List Comments by Resource](https://dev.wix.com/docs/rest/crm/community/comments/comments/list-comments-by-resource) endpoint.\n   * @param commentId - Comment ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField commentId\n   * @permissionId WIX_COMMENTS.COMMENT_THREAD\n   * @adminMethod\n   */\n  function getCommentThread(commentId: string, options?: GetCommentThreadOptions): Promise<GetCommentThreadResponse>;\n  interface GetCommentThreadOptions {\n      /**\n       * App ID.\n       * @deprecated App ID.\n       * @targetRemovalDate 2024-11-01\n       */\n      appId?: string;\n      /** Comment sorting. */\n      commentSort?: CommentSort;\n      /** Reply sorting. */\n      replySort?: ReplySort;\n  }\n  /**\n   * Publishes multiple comments with the `HIDDEN` status. The comment status becomes `PUBLISHED`.\n   * @param appId - ID of the app where to publish the comment.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.filter\n   * @permissionId WIX_COMMENTS.BULK_COMMENT_PUBLISH\n   * @adminMethod\n   */\n  function bulkPublishComment(appId: string, options: BulkPublishCommentOptions): Promise<BulkPublishCommentResponse>;\n  interface BulkPublishCommentOptions {\n      /** Filter to identify the comments that need to be published. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {\"resourceID\": \"64ad407e0bf87891bba7de3a\", \"parentComment.id\": \"726cb137-a9c3-408b-9cc2-2b64c6be8a95\"}. */\n      filter: Record<string, any> | null;\n  }\n  /**\n   * Hides multiple comments. The comment status becomes `HIDDEN`.\n   * @param appId - ID of the app where to hide the comments.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.filter\n   * @permissionId WIX_COMMENTS.BULK_COMMENT_HIDE\n   * @adminMethod\n   */\n  function bulkHideComment(appId: string, options: BulkHideCommentOptions): Promise<BulkHideCommentResponse>;\n  interface BulkHideCommentOptions {\n      /** Filter to identify the comments that need to be hidden. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {\"resourceID\": \"64ad407e0bf87891bba7de3a\", \"parentComment.id\": \"726cb137-a9c3-408b-9cc2-2b64c6be8a95\"}. */\n      filter: Record<string, any> | null;\n  }\n  /**\n   * Deletes multiple comments.\n   * @param appId - ID of the app where to delete the comments.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.filter\n   * @permissionId WIX_COMMENTS.BULK_COMMENT_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteComment(appId: string, options: BulkDeleteCommentOptions): Promise<BulkDeleteCommentResponse>;\n  interface BulkDeleteCommentOptions {\n      /** Filter to identify the comments that need to be deleted. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {\"resourceID\": \"64ad407e0bf87891bba7de3a\", \"parentComment.id\": \"726cb137-a9c3-408b-9cc2-2b64c6be8a95\"}. */\n      filter: Record<string, any> | null;\n  }\n  /**\n   * Moderates the draft content of a multiple comments.\n   * @param appId - ID of the app where to moderate the comments.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.draftContentAction\n   * @requiredField options.filter\n   * @permissionId WIX_COMMENTS.BULK_COMMENT_MODERATE_DRAFT_CONTENT\n   * @adminMethod\n   */\n  function bulkModerateDraftContent(appId: string, options: BulkModerateDraftContentOptions): Promise<BulkModerateDraftContentResponse>;\n  interface BulkModerateDraftContentOptions {\n      /** Filter to identify the comment content that needs to be moderated. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {\"resourceID\": \"64ad407e0bf87891bba7de3a\", \"parentComment.id\": \"726cb137-a9c3-408b-9cc2-2b64c6be8a95\"}. */\n      filter: Record<string, any> | null;\n      /** Action to do regarding draft content */\n      draftContentAction: Action;\n  }\n  /**\n   * Moves multiple comments to another resource.\n   * @param appId - ID of the app from which to move the comments.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options.destination.contextId\n   * @requiredField options.destination.resourceId\n   * @requiredField options.filter\n   * @permissionId WIX_COMMENTS.BULK_COMMENT_MOVE\n   * @adminMethod\n   */\n  function bulkMoveCommentByFilter(appId: string, options?: BulkMoveCommentByFilterOptions): Promise<BulkMoveCommentByFilterResponse>;\n  interface BulkMoveCommentByFilterOptions {\n      /** Filter to identify the comments that need to be moved. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {\"resourceID\": \"64ad407e0bf87891bba7de3a\", \"parentComment.id\": \"726cb137-a9c3-408b-9cc2-2b64c6be8a95\"}. */\n      filter: Record<string, any> | null;\n      /** Where to move the comment. */\n      destination?: Destination;\n  }\n  \n  type commentsV2Comment_universal_d_Comment = Comment;\n  type commentsV2Comment_universal_d_CommentContent = CommentContent;\n  type commentsV2Comment_universal_d_RichContent = RichContent;\n  type commentsV2Comment_universal_d_Node = Node;\n  type commentsV2Comment_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type commentsV2Comment_universal_d_NodeType = NodeType;\n  const commentsV2Comment_universal_d_NodeType: typeof NodeType;\n  type commentsV2Comment_universal_d_NodeStyle = NodeStyle;\n  type commentsV2Comment_universal_d_ButtonData = ButtonData;\n  type commentsV2Comment_universal_d_Border = Border;\n  type commentsV2Comment_universal_d_Colors = Colors;\n  type commentsV2Comment_universal_d_PluginContainerData = PluginContainerData;\n  type commentsV2Comment_universal_d_WidthType = WidthType;\n  const commentsV2Comment_universal_d_WidthType: typeof WidthType;\n  type commentsV2Comment_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type commentsV2Comment_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type commentsV2Comment_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const commentsV2Comment_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type commentsV2Comment_universal_d_Spoiler = Spoiler;\n  type commentsV2Comment_universal_d_Height = Height;\n  type commentsV2Comment_universal_d_Type = Type;\n  const commentsV2Comment_universal_d_Type: typeof Type;\n  type commentsV2Comment_universal_d_Styles = Styles;\n  type commentsV2Comment_universal_d_Link = Link;\n  type commentsV2Comment_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type commentsV2Comment_universal_d_Target = Target;\n  const commentsV2Comment_universal_d_Target: typeof Target;\n  type commentsV2Comment_universal_d_Rel = Rel;\n  type commentsV2Comment_universal_d_CodeBlockData = CodeBlockData;\n  type commentsV2Comment_universal_d_TextStyle = TextStyle;\n  type commentsV2Comment_universal_d_TextAlignment = TextAlignment;\n  const commentsV2Comment_universal_d_TextAlignment: typeof TextAlignment;\n  type commentsV2Comment_universal_d_DividerData = DividerData;\n  type commentsV2Comment_universal_d_LineStyle = LineStyle;\n  const commentsV2Comment_universal_d_LineStyle: typeof LineStyle;\n  type commentsV2Comment_universal_d_Width = Width;\n  const commentsV2Comment_universal_d_Width: typeof Width;\n  type commentsV2Comment_universal_d_Alignment = Alignment;\n  const commentsV2Comment_universal_d_Alignment: typeof Alignment;\n  type commentsV2Comment_universal_d_FileData = FileData;\n  type commentsV2Comment_universal_d_ViewMode = ViewMode;\n  const commentsV2Comment_universal_d_ViewMode: typeof ViewMode;\n  type commentsV2Comment_universal_d_FileSource = FileSource;\n  type commentsV2Comment_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type commentsV2Comment_universal_d_PDFSettings = PDFSettings;\n  type commentsV2Comment_universal_d_GalleryData = GalleryData;\n  type commentsV2Comment_universal_d_Media = Media;\n  type commentsV2Comment_universal_d_Image = Image;\n  type commentsV2Comment_universal_d_Video = Video;\n  type commentsV2Comment_universal_d_Item = Item;\n  type commentsV2Comment_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type commentsV2Comment_universal_d_GalleryOptions = GalleryOptions;\n  type commentsV2Comment_universal_d_LayoutType = LayoutType;\n  const commentsV2Comment_universal_d_LayoutType: typeof LayoutType;\n  type commentsV2Comment_universal_d_Orientation = Orientation;\n  const commentsV2Comment_universal_d_Orientation: typeof Orientation;\n  type commentsV2Comment_universal_d_Crop = Crop;\n  const commentsV2Comment_universal_d_Crop: typeof Crop;\n  type commentsV2Comment_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const commentsV2Comment_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type commentsV2Comment_universal_d_Layout = Layout;\n  type commentsV2Comment_universal_d_ItemStyle = ItemStyle;\n  type commentsV2Comment_universal_d_Thumbnails = Thumbnails;\n  type commentsV2Comment_universal_d_GIFData = GIFData;\n  type commentsV2Comment_universal_d_GIF = GIF;\n  type commentsV2Comment_universal_d_HeadingData = HeadingData;\n  type commentsV2Comment_universal_d_HTMLData = HTMLData;\n  type commentsV2Comment_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type commentsV2Comment_universal_d_Source = Source;\n  const commentsV2Comment_universal_d_Source: typeof Source;\n  type commentsV2Comment_universal_d_ImageData = ImageData;\n  type commentsV2Comment_universal_d_LinkPreviewData = LinkPreviewData;\n  type commentsV2Comment_universal_d_MapData = MapData;\n  type commentsV2Comment_universal_d_MapSettings = MapSettings;\n  type commentsV2Comment_universal_d_MapType = MapType;\n  const commentsV2Comment_universal_d_MapType: typeof MapType;\n  type commentsV2Comment_universal_d_ParagraphData = ParagraphData;\n  type commentsV2Comment_universal_d_PollData = PollData;\n  type commentsV2Comment_universal_d_ViewRole = ViewRole;\n  const commentsV2Comment_universal_d_ViewRole: typeof ViewRole;\n  type commentsV2Comment_universal_d_VoteRole = VoteRole;\n  const commentsV2Comment_universal_d_VoteRole: typeof VoteRole;\n  type commentsV2Comment_universal_d_Permissions = Permissions;\n  type commentsV2Comment_universal_d_Option = Option;\n  type commentsV2Comment_universal_d_Settings = Settings;\n  type commentsV2Comment_universal_d_PollLayoutType = PollLayoutType;\n  const commentsV2Comment_universal_d_PollLayoutType: typeof PollLayoutType;\n  type commentsV2Comment_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const commentsV2Comment_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type commentsV2Comment_universal_d_PollLayout = PollLayout;\n  type commentsV2Comment_universal_d_OptionLayout = OptionLayout;\n  type commentsV2Comment_universal_d_BackgroundType = BackgroundType;\n  const commentsV2Comment_universal_d_BackgroundType: typeof BackgroundType;\n  type commentsV2Comment_universal_d_Gradient = Gradient;\n  type commentsV2Comment_universal_d_Background = Background;\n  type commentsV2Comment_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type commentsV2Comment_universal_d_PollDesign = PollDesign;\n  type commentsV2Comment_universal_d_OptionDesign = OptionDesign;\n  type commentsV2Comment_universal_d_Poll = Poll;\n  type commentsV2Comment_universal_d_PollDataLayout = PollDataLayout;\n  type commentsV2Comment_universal_d_Design = Design;\n  type commentsV2Comment_universal_d_TextData = TextData;\n  type commentsV2Comment_universal_d_Decoration = Decoration;\n  type commentsV2Comment_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type commentsV2Comment_universal_d_DecorationType = DecorationType;\n  const commentsV2Comment_universal_d_DecorationType: typeof DecorationType;\n  type commentsV2Comment_universal_d_AnchorData = AnchorData;\n  type commentsV2Comment_universal_d_ColorData = ColorData;\n  type commentsV2Comment_universal_d_LinkData = LinkData;\n  type commentsV2Comment_universal_d_MentionData = MentionData;\n  type commentsV2Comment_universal_d_FontSizeData = FontSizeData;\n  type commentsV2Comment_universal_d_FontType = FontType;\n  const commentsV2Comment_universal_d_FontType: typeof FontType;\n  type commentsV2Comment_universal_d_SpoilerData = SpoilerData;\n  type commentsV2Comment_universal_d_AppEmbedData = AppEmbedData;\n  type commentsV2Comment_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type commentsV2Comment_universal_d_AppType = AppType;\n  const commentsV2Comment_universal_d_AppType: typeof AppType;\n  type commentsV2Comment_universal_d_BookingData = BookingData;\n  type commentsV2Comment_universal_d_EventData = EventData;\n  type commentsV2Comment_universal_d_VideoData = VideoData;\n  type commentsV2Comment_universal_d_PlaybackOptions = PlaybackOptions;\n  type commentsV2Comment_universal_d_EmbedData = EmbedData;\n  type commentsV2Comment_universal_d_Oembed = Oembed;\n  type commentsV2Comment_universal_d_CollapsibleListData = CollapsibleListData;\n  type commentsV2Comment_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const commentsV2Comment_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type commentsV2Comment_universal_d_Direction = Direction;\n  const commentsV2Comment_universal_d_Direction: typeof Direction;\n  type commentsV2Comment_universal_d_TableData = TableData;\n  type commentsV2Comment_universal_d_Dimensions = Dimensions;\n  type commentsV2Comment_universal_d_TableCellData = TableCellData;\n  type commentsV2Comment_universal_d_VerticalAlignment = VerticalAlignment;\n  const commentsV2Comment_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type commentsV2Comment_universal_d_CellStyle = CellStyle;\n  type commentsV2Comment_universal_d_BorderColors = BorderColors;\n  type commentsV2Comment_universal_d_NullValue = NullValue;\n  const commentsV2Comment_universal_d_NullValue: typeof NullValue;\n  type commentsV2Comment_universal_d_ListValue = ListValue;\n  type commentsV2Comment_universal_d_AudioData = AudioData;\n  type commentsV2Comment_universal_d_OrderedListData = OrderedListData;\n  type commentsV2Comment_universal_d_BulletedListData = BulletedListData;\n  type commentsV2Comment_universal_d_BlockquoteData = BlockquoteData;\n  type commentsV2Comment_universal_d_CaptionData = CaptionData;\n  type commentsV2Comment_universal_d_Metadata = Metadata;\n  type commentsV2Comment_universal_d_DocumentStyle = DocumentStyle;\n  type commentsV2Comment_universal_d_TextNodeStyle = TextNodeStyle;\n  type commentsV2Comment_universal_d_Mention = Mention;\n  type commentsV2Comment_universal_d_MentionIdentityOneOf = MentionIdentityOneOf;\n  type commentsV2Comment_universal_d_Attachment = Attachment;\n  type commentsV2Comment_universal_d_AttachmentMediaOneOf = AttachmentMediaOneOf;\n  type commentsV2Comment_universal_d_VideoResolution = VideoResolution;\n  type commentsV2Comment_universal_d_ContentAuthor = ContentAuthor;\n  type commentsV2Comment_universal_d_ContentAuthorAuthorOneOf = ContentAuthorAuthorOneOf;\n  type commentsV2Comment_universal_d_CommentAuthor = CommentAuthor;\n  type commentsV2Comment_universal_d_CommentAuthorIdentityOneOf = CommentAuthorIdentityOneOf;\n  type commentsV2Comment_universal_d_ParentComment = ParentComment;\n  type commentsV2Comment_universal_d_Status = Status;\n  const commentsV2Comment_universal_d_Status: typeof Status;\n  type commentsV2Comment_universal_d_VoteSummary = VoteSummary;\n  type commentsV2Comment_universal_d_CommentReactionSummary = CommentReactionSummary;\n  type commentsV2Comment_universal_d_UpdateInternalDocumentsEvent = UpdateInternalDocumentsEvent;\n  type commentsV2Comment_universal_d_UpdateInternalDocumentsEventOperationOneOf = UpdateInternalDocumentsEventOperationOneOf;\n  type commentsV2Comment_universal_d_InternalDocument = InternalDocument;\n  type commentsV2Comment_universal_d_InternalDocumentUpdateOperation = InternalDocumentUpdateOperation;\n  type commentsV2Comment_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n  type commentsV2Comment_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n  type commentsV2Comment_universal_d_InternalDocumentUpdateByFilterOperation = InternalDocumentUpdateByFilterOperation;\n  type commentsV2Comment_universal_d_InternalUpdateExistingOperation = InternalUpdateExistingOperation;\n  type commentsV2Comment_universal_d_VersionedDocumentUpdateOperation = VersionedDocumentUpdateOperation;\n  type commentsV2Comment_universal_d_VersioningMode = VersioningMode;\n  const commentsV2Comment_universal_d_VersioningMode: typeof VersioningMode;\n  type commentsV2Comment_universal_d_VersionedDeleteByIdsOperation = VersionedDeleteByIdsOperation;\n  type commentsV2Comment_universal_d_VersionedDocumentId = VersionedDocumentId;\n  type commentsV2Comment_universal_d_CommentModerated = CommentModerated;\n  type commentsV2Comment_universal_d_Action = Action;\n  const commentsV2Comment_universal_d_Action: typeof Action;\n  type commentsV2Comment_universal_d_CreateCommentRequest = CreateCommentRequest;\n  type commentsV2Comment_universal_d_ContactDetails = ContactDetails;\n  type commentsV2Comment_universal_d_CreateCommentResponse = CreateCommentResponse;\n  type commentsV2Comment_universal_d_ResourceCommentCountChanged = ResourceCommentCountChanged;\n  type commentsV2Comment_universal_d_GetCommentRequest = GetCommentRequest;\n  type commentsV2Comment_universal_d_GetCommentResponse = GetCommentResponse;\n  type commentsV2Comment_universal_d_UpdateCommentRequest = UpdateCommentRequest;\n  type commentsV2Comment_universal_d_UpdateCommentResponse = UpdateCommentResponse;\n  type commentsV2Comment_universal_d_CommentContentChanged = CommentContentChanged;\n  type commentsV2Comment_universal_d_DeleteCommentRequest = DeleteCommentRequest;\n  type commentsV2Comment_universal_d_DeleteCommentResponse = DeleteCommentResponse;\n  type commentsV2Comment_universal_d_CommentDeleted = CommentDeleted;\n  type commentsV2Comment_universal_d_ModerateDraftContentRequest = ModerateDraftContentRequest;\n  type commentsV2Comment_universal_d_ModerateDraftContentResponse = ModerateDraftContentResponse;\n  type commentsV2Comment_universal_d_CommentPublished = CommentPublished;\n  type commentsV2Comment_universal_d_CommentHidden = CommentHidden;\n  type commentsV2Comment_universal_d_QueryCommentsRequest = QueryCommentsRequest;\n  type commentsV2Comment_universal_d_CursorQuery = CursorQuery;\n  type commentsV2Comment_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type commentsV2Comment_universal_d_Sorting = Sorting;\n  type commentsV2Comment_universal_d_SortOrder = SortOrder;\n  const commentsV2Comment_universal_d_SortOrder: typeof SortOrder;\n  type commentsV2Comment_universal_d_CursorPaging = CursorPaging;\n  type commentsV2Comment_universal_d_QueryCommentsResponse = QueryCommentsResponse;\n  type commentsV2Comment_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type commentsV2Comment_universal_d_Cursors = Cursors;\n  type commentsV2Comment_universal_d_MarkCommentRequest = MarkCommentRequest;\n  type commentsV2Comment_universal_d_MarkCommentResponse = MarkCommentResponse;\n  type commentsV2Comment_universal_d_CommentMarked = CommentMarked;\n  type commentsV2Comment_universal_d_UnmarkCommentRequest = UnmarkCommentRequest;\n  type commentsV2Comment_universal_d_UnmarkCommentResponse = UnmarkCommentResponse;\n  type commentsV2Comment_universal_d_CommentUnmarked = CommentUnmarked;\n  type commentsV2Comment_universal_d_HideCommentRequest = HideCommentRequest;\n  type commentsV2Comment_universal_d_HideCommentResponse = HideCommentResponse;\n  type commentsV2Comment_universal_d_PublishCommentRequest = PublishCommentRequest;\n  type commentsV2Comment_universal_d_PublishCommentResponse = PublishCommentResponse;\n  type commentsV2Comment_universal_d_CountCommentsRequest = CountCommentsRequest;\n  type commentsV2Comment_universal_d_CountCommentsResponse = CountCommentsResponse;\n  type commentsV2Comment_universal_d_ListCommentsByResourceRequest = ListCommentsByResourceRequest;\n  type commentsV2Comment_universal_d_CommentSort = CommentSort;\n  type commentsV2Comment_universal_d_Order = Order;\n  const commentsV2Comment_universal_d_Order: typeof Order;\n  type commentsV2Comment_universal_d_ReplySort = ReplySort;\n  type commentsV2Comment_universal_d_ReplySortOrder = ReplySortOrder;\n  const commentsV2Comment_universal_d_ReplySortOrder: typeof ReplySortOrder;\n  type commentsV2Comment_universal_d_ListCommentsByResourceCursorPaging = ListCommentsByResourceCursorPaging;\n  type commentsV2Comment_universal_d_ListCommentsByResourceResponse = ListCommentsByResourceResponse;\n  type commentsV2Comment_universal_d_RepliesListResponse = RepliesListResponse;\n  type commentsV2Comment_universal_d_GetCommentThreadRequest = GetCommentThreadRequest;\n  type commentsV2Comment_universal_d_GetCommentThreadResponse = GetCommentThreadResponse;\n  type commentsV2Comment_universal_d_BulkPublishCommentRequest = BulkPublishCommentRequest;\n  type commentsV2Comment_universal_d_BulkPublishCommentResponse = BulkPublishCommentResponse;\n  type commentsV2Comment_universal_d_BulkHideCommentRequest = BulkHideCommentRequest;\n  type commentsV2Comment_universal_d_BulkHideCommentResponse = BulkHideCommentResponse;\n  type commentsV2Comment_universal_d_BulkDeleteCommentRequest = BulkDeleteCommentRequest;\n  type commentsV2Comment_universal_d_BulkDeleteCommentResponse = BulkDeleteCommentResponse;\n  type commentsV2Comment_universal_d_BulkModerateDraftContentRequest = BulkModerateDraftContentRequest;\n  type commentsV2Comment_universal_d_BulkModerateDraftContentResponse = BulkModerateDraftContentResponse;\n  type commentsV2Comment_universal_d_BulkMoveCommentByFilterRequest = BulkMoveCommentByFilterRequest;\n  type commentsV2Comment_universal_d_Destination = Destination;\n  type commentsV2Comment_universal_d_BulkMoveCommentByFilterResponse = BulkMoveCommentByFilterResponse;\n  type commentsV2Comment_universal_d_CommentMoved = CommentMoved;\n  type commentsV2Comment_universal_d_DomainEvent = DomainEvent;\n  type commentsV2Comment_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type commentsV2Comment_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type commentsV2Comment_universal_d_RestoreInfo = RestoreInfo;\n  type commentsV2Comment_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type commentsV2Comment_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type commentsV2Comment_universal_d_ActionEvent = ActionEvent;\n  type commentsV2Comment_universal_d_MessageEnvelope = MessageEnvelope;\n  type commentsV2Comment_universal_d_IdentificationData = IdentificationData;\n  type commentsV2Comment_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type commentsV2Comment_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const commentsV2Comment_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const commentsV2Comment_universal_d_createComment: typeof createComment;\n  type commentsV2Comment_universal_d_CreateCommentOptions = CreateCommentOptions;\n  const commentsV2Comment_universal_d_getComment: typeof getComment;\n  const commentsV2Comment_universal_d_updateComment: typeof updateComment;\n  type commentsV2Comment_universal_d_UpdateComment = UpdateComment;\n  type commentsV2Comment_universal_d_UpdateCommentOptions = UpdateCommentOptions;\n  const commentsV2Comment_universal_d_deleteComment: typeof deleteComment;\n  type commentsV2Comment_universal_d_DeleteCommentOptions = DeleteCommentOptions;\n  const commentsV2Comment_universal_d_moderateDraftContent: typeof moderateDraftContent;\n  type commentsV2Comment_universal_d_ModerateDraftContentOptions = ModerateDraftContentOptions;\n  const commentsV2Comment_universal_d_queryComments: typeof queryComments;\n  type commentsV2Comment_universal_d_CommentsQueryResult = CommentsQueryResult;\n  type commentsV2Comment_universal_d_CommentsQueryBuilder = CommentsQueryBuilder;\n  const commentsV2Comment_universal_d_markComment: typeof markComment;\n  type commentsV2Comment_universal_d_MarkCommentOptions = MarkCommentOptions;\n  const commentsV2Comment_universal_d_unmarkComment: typeof unmarkComment;\n  type commentsV2Comment_universal_d_UnmarkCommentOptions = UnmarkCommentOptions;\n  const commentsV2Comment_universal_d_hideComment: typeof hideComment;\n  const commentsV2Comment_universal_d_publishComment: typeof publishComment;\n  const commentsV2Comment_universal_d_countComments: typeof countComments;\n  type commentsV2Comment_universal_d_CountCommentsOptions = CountCommentsOptions;\n  const commentsV2Comment_universal_d_listCommentsByResource: typeof listCommentsByResource;\n  type commentsV2Comment_universal_d_ListCommentsByResourceOptions = ListCommentsByResourceOptions;\n  const commentsV2Comment_universal_d_getCommentThread: typeof getCommentThread;\n  type commentsV2Comment_universal_d_GetCommentThreadOptions = GetCommentThreadOptions;\n  const commentsV2Comment_universal_d_bulkPublishComment: typeof bulkPublishComment;\n  type commentsV2Comment_universal_d_BulkPublishCommentOptions = BulkPublishCommentOptions;\n  const commentsV2Comment_universal_d_bulkHideComment: typeof bulkHideComment;\n  type commentsV2Comment_universal_d_BulkHideCommentOptions = BulkHideCommentOptions;\n  const commentsV2Comment_universal_d_bulkDeleteComment: typeof bulkDeleteComment;\n  type commentsV2Comment_universal_d_BulkDeleteCommentOptions = BulkDeleteCommentOptions;\n  const commentsV2Comment_universal_d_bulkModerateDraftContent: typeof bulkModerateDraftContent;\n  type commentsV2Comment_universal_d_BulkModerateDraftContentOptions = BulkModerateDraftContentOptions;\n  const commentsV2Comment_universal_d_bulkMoveCommentByFilter: typeof bulkMoveCommentByFilter;\n  type commentsV2Comment_universal_d_BulkMoveCommentByFilterOptions = BulkMoveCommentByFilterOptions;\n  namespace commentsV2Comment_universal_d {\n    export {\n      commentsV2Comment_universal_d_Comment as Comment,\n      commentsV2Comment_universal_d_CommentContent as CommentContent,\n      commentsV2Comment_universal_d_RichContent as RichContent,\n      commentsV2Comment_universal_d_Node as Node,\n      commentsV2Comment_universal_d_NodeDataOneOf as NodeDataOneOf,\n      commentsV2Comment_universal_d_NodeType as NodeType,\n      commentsV2Comment_universal_d_NodeStyle as NodeStyle,\n      commentsV2Comment_universal_d_ButtonData as ButtonData,\n      commentsV2Comment_universal_d_Border as Border,\n      commentsV2Comment_universal_d_Colors as Colors,\n      commentsV2Comment_universal_d_PluginContainerData as PluginContainerData,\n      commentsV2Comment_universal_d_WidthType as WidthType,\n      commentsV2Comment_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      commentsV2Comment_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      commentsV2Comment_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      commentsV2Comment_universal_d_Spoiler as Spoiler,\n      commentsV2Comment_universal_d_Height as Height,\n      commentsV2Comment_universal_d_Type as Type,\n      commentsV2Comment_universal_d_Styles as Styles,\n      commentsV2Comment_universal_d_Link as Link,\n      commentsV2Comment_universal_d_LinkDataOneOf as LinkDataOneOf,\n      commentsV2Comment_universal_d_Target as Target,\n      commentsV2Comment_universal_d_Rel as Rel,\n      commentsV2Comment_universal_d_CodeBlockData as CodeBlockData,\n      commentsV2Comment_universal_d_TextStyle as TextStyle,\n      commentsV2Comment_universal_d_TextAlignment as TextAlignment,\n      commentsV2Comment_universal_d_DividerData as DividerData,\n      commentsV2Comment_universal_d_LineStyle as LineStyle,\n      commentsV2Comment_universal_d_Width as Width,\n      commentsV2Comment_universal_d_Alignment as Alignment,\n      commentsV2Comment_universal_d_FileData as FileData,\n      commentsV2Comment_universal_d_ViewMode as ViewMode,\n      commentsV2Comment_universal_d_FileSource as FileSource,\n      commentsV2Comment_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      commentsV2Comment_universal_d_PDFSettings as PDFSettings,\n      commentsV2Comment_universal_d_GalleryData as GalleryData,\n      commentsV2Comment_universal_d_Media as Media,\n      commentsV2Comment_universal_d_Image as Image,\n      commentsV2Comment_universal_d_Video as Video,\n      commentsV2Comment_universal_d_Item as Item,\n      commentsV2Comment_universal_d_ItemDataOneOf as ItemDataOneOf,\n      commentsV2Comment_universal_d_GalleryOptions as GalleryOptions,\n      commentsV2Comment_universal_d_LayoutType as LayoutType,\n      commentsV2Comment_universal_d_Orientation as Orientation,\n      commentsV2Comment_universal_d_Crop as Crop,\n      commentsV2Comment_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      commentsV2Comment_universal_d_Layout as Layout,\n      commentsV2Comment_universal_d_ItemStyle as ItemStyle,\n      commentsV2Comment_universal_d_Thumbnails as Thumbnails,\n      commentsV2Comment_universal_d_GIFData as GIFData,\n      commentsV2Comment_universal_d_GIF as GIF,\n      commentsV2Comment_universal_d_HeadingData as HeadingData,\n      commentsV2Comment_universal_d_HTMLData as HTMLData,\n      commentsV2Comment_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      commentsV2Comment_universal_d_Source as Source,\n      commentsV2Comment_universal_d_ImageData as ImageData,\n      commentsV2Comment_universal_d_LinkPreviewData as LinkPreviewData,\n      commentsV2Comment_universal_d_MapData as MapData,\n      commentsV2Comment_universal_d_MapSettings as MapSettings,\n      commentsV2Comment_universal_d_MapType as MapType,\n      commentsV2Comment_universal_d_ParagraphData as ParagraphData,\n      commentsV2Comment_universal_d_PollData as PollData,\n      commentsV2Comment_universal_d_ViewRole as ViewRole,\n      commentsV2Comment_universal_d_VoteRole as VoteRole,\n      commentsV2Comment_universal_d_Permissions as Permissions,\n      commentsV2Comment_universal_d_Option as Option,\n      commentsV2Comment_universal_d_Settings as Settings,\n      commentsV2Comment_universal_d_PollLayoutType as PollLayoutType,\n      commentsV2Comment_universal_d_PollLayoutDirection as PollLayoutDirection,\n      commentsV2Comment_universal_d_PollLayout as PollLayout,\n      commentsV2Comment_universal_d_OptionLayout as OptionLayout,\n      commentsV2Comment_universal_d_BackgroundType as BackgroundType,\n      commentsV2Comment_universal_d_Gradient as Gradient,\n      commentsV2Comment_universal_d_Background as Background,\n      commentsV2Comment_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      commentsV2Comment_universal_d_PollDesign as PollDesign,\n      commentsV2Comment_universal_d_OptionDesign as OptionDesign,\n      commentsV2Comment_universal_d_Poll as Poll,\n      commentsV2Comment_universal_d_PollDataLayout as PollDataLayout,\n      commentsV2Comment_universal_d_Design as Design,\n      commentsV2Comment_universal_d_TextData as TextData,\n      commentsV2Comment_universal_d_Decoration as Decoration,\n      commentsV2Comment_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      commentsV2Comment_universal_d_DecorationType as DecorationType,\n      commentsV2Comment_universal_d_AnchorData as AnchorData,\n      commentsV2Comment_universal_d_ColorData as ColorData,\n      commentsV2Comment_universal_d_LinkData as LinkData,\n      commentsV2Comment_universal_d_MentionData as MentionData,\n      commentsV2Comment_universal_d_FontSizeData as FontSizeData,\n      commentsV2Comment_universal_d_FontType as FontType,\n      commentsV2Comment_universal_d_SpoilerData as SpoilerData,\n      commentsV2Comment_universal_d_AppEmbedData as AppEmbedData,\n      commentsV2Comment_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      commentsV2Comment_universal_d_AppType as AppType,\n      commentsV2Comment_universal_d_BookingData as BookingData,\n      commentsV2Comment_universal_d_EventData as EventData,\n      commentsV2Comment_universal_d_VideoData as VideoData,\n      commentsV2Comment_universal_d_PlaybackOptions as PlaybackOptions,\n      commentsV2Comment_universal_d_EmbedData as EmbedData,\n      commentsV2Comment_universal_d_Oembed as Oembed,\n      commentsV2Comment_universal_d_CollapsibleListData as CollapsibleListData,\n      commentsV2Comment_universal_d_InitialExpandedItems as InitialExpandedItems,\n      commentsV2Comment_universal_d_Direction as Direction,\n      commentsV2Comment_universal_d_TableData as TableData,\n      commentsV2Comment_universal_d_Dimensions as Dimensions,\n      commentsV2Comment_universal_d_TableCellData as TableCellData,\n      commentsV2Comment_universal_d_VerticalAlignment as VerticalAlignment,\n      commentsV2Comment_universal_d_CellStyle as CellStyle,\n      commentsV2Comment_universal_d_BorderColors as BorderColors,\n      commentsV2Comment_universal_d_NullValue as NullValue,\n      commentsV2Comment_universal_d_ListValue as ListValue,\n      commentsV2Comment_universal_d_AudioData as AudioData,\n      commentsV2Comment_universal_d_OrderedListData as OrderedListData,\n      commentsV2Comment_universal_d_BulletedListData as BulletedListData,\n      commentsV2Comment_universal_d_BlockquoteData as BlockquoteData,\n      commentsV2Comment_universal_d_CaptionData as CaptionData,\n      commentsV2Comment_universal_d_Metadata as Metadata,\n      commentsV2Comment_universal_d_DocumentStyle as DocumentStyle,\n      commentsV2Comment_universal_d_TextNodeStyle as TextNodeStyle,\n      commentsV2Comment_universal_d_Mention as Mention,\n      commentsV2Comment_universal_d_MentionIdentityOneOf as MentionIdentityOneOf,\n      commentsV2Comment_universal_d_Attachment as Attachment,\n      commentsV2Comment_universal_d_AttachmentMediaOneOf as AttachmentMediaOneOf,\n      commentsV2Comment_universal_d_VideoResolution as VideoResolution,\n      commentsV2Comment_universal_d_ContentAuthor as ContentAuthor,\n      commentsV2Comment_universal_d_ContentAuthorAuthorOneOf as ContentAuthorAuthorOneOf,\n      commentsV2Comment_universal_d_CommentAuthor as CommentAuthor,\n      commentsV2Comment_universal_d_CommentAuthorIdentityOneOf as CommentAuthorIdentityOneOf,\n      commentsV2Comment_universal_d_ParentComment as ParentComment,\n      commentsV2Comment_universal_d_Status as Status,\n      commentsV2Comment_universal_d_VoteSummary as VoteSummary,\n      commentsV2Comment_universal_d_CommentReactionSummary as CommentReactionSummary,\n      commentsV2Comment_universal_d_UpdateInternalDocumentsEvent as UpdateInternalDocumentsEvent,\n      commentsV2Comment_universal_d_UpdateInternalDocumentsEventOperationOneOf as UpdateInternalDocumentsEventOperationOneOf,\n      commentsV2Comment_universal_d_InternalDocument as InternalDocument,\n      commentsV2Comment_universal_d_InternalDocumentUpdateOperation as InternalDocumentUpdateOperation,\n      commentsV2Comment_universal_d_DeleteByIdsOperation as DeleteByIdsOperation,\n      commentsV2Comment_universal_d_DeleteByFilterOperation as DeleteByFilterOperation,\n      commentsV2Comment_universal_d_InternalDocumentUpdateByFilterOperation as InternalDocumentUpdateByFilterOperation,\n      commentsV2Comment_universal_d_InternalUpdateExistingOperation as InternalUpdateExistingOperation,\n      commentsV2Comment_universal_d_VersionedDocumentUpdateOperation as VersionedDocumentUpdateOperation,\n      commentsV2Comment_universal_d_VersioningMode as VersioningMode,\n      commentsV2Comment_universal_d_VersionedDeleteByIdsOperation as VersionedDeleteByIdsOperation,\n      commentsV2Comment_universal_d_VersionedDocumentId as VersionedDocumentId,\n      commentsV2Comment_universal_d_CommentModerated as CommentModerated,\n      commentsV2Comment_universal_d_Action as Action,\n      commentsV2Comment_universal_d_CreateCommentRequest as CreateCommentRequest,\n      commentsV2Comment_universal_d_ContactDetails as ContactDetails,\n      commentsV2Comment_universal_d_CreateCommentResponse as CreateCommentResponse,\n      commentsV2Comment_universal_d_ResourceCommentCountChanged as ResourceCommentCountChanged,\n      commentsV2Comment_universal_d_GetCommentRequest as GetCommentRequest,\n      commentsV2Comment_universal_d_GetCommentResponse as GetCommentResponse,\n      commentsV2Comment_universal_d_UpdateCommentRequest as UpdateCommentRequest,\n      commentsV2Comment_universal_d_UpdateCommentResponse as UpdateCommentResponse,\n      commentsV2Comment_universal_d_CommentContentChanged as CommentContentChanged,\n      commentsV2Comment_universal_d_DeleteCommentRequest as DeleteCommentRequest,\n      commentsV2Comment_universal_d_DeleteCommentResponse as DeleteCommentResponse,\n      commentsV2Comment_universal_d_CommentDeleted as CommentDeleted,\n      commentsV2Comment_universal_d_ModerateDraftContentRequest as ModerateDraftContentRequest,\n      commentsV2Comment_universal_d_ModerateDraftContentResponse as ModerateDraftContentResponse,\n      commentsV2Comment_universal_d_CommentPublished as CommentPublished,\n      commentsV2Comment_universal_d_CommentHidden as CommentHidden,\n      commentsV2Comment_universal_d_QueryCommentsRequest as QueryCommentsRequest,\n      commentsV2Comment_universal_d_CursorQuery as CursorQuery,\n      commentsV2Comment_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      commentsV2Comment_universal_d_Sorting as Sorting,\n      commentsV2Comment_universal_d_SortOrder as SortOrder,\n      commentsV2Comment_universal_d_CursorPaging as CursorPaging,\n      commentsV2Comment_universal_d_QueryCommentsResponse as QueryCommentsResponse,\n      commentsV2Comment_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      commentsV2Comment_universal_d_Cursors as Cursors,\n      commentsV2Comment_universal_d_MarkCommentRequest as MarkCommentRequest,\n      commentsV2Comment_universal_d_MarkCommentResponse as MarkCommentResponse,\n      commentsV2Comment_universal_d_CommentMarked as CommentMarked,\n      commentsV2Comment_universal_d_UnmarkCommentRequest as UnmarkCommentRequest,\n      commentsV2Comment_universal_d_UnmarkCommentResponse as UnmarkCommentResponse,\n      commentsV2Comment_universal_d_CommentUnmarked as CommentUnmarked,\n      commentsV2Comment_universal_d_HideCommentRequest as HideCommentRequest,\n      commentsV2Comment_universal_d_HideCommentResponse as HideCommentResponse,\n      commentsV2Comment_universal_d_PublishCommentRequest as PublishCommentRequest,\n      commentsV2Comment_universal_d_PublishCommentResponse as PublishCommentResponse,\n      commentsV2Comment_universal_d_CountCommentsRequest as CountCommentsRequest,\n      commentsV2Comment_universal_d_CountCommentsResponse as CountCommentsResponse,\n      commentsV2Comment_universal_d_ListCommentsByResourceRequest as ListCommentsByResourceRequest,\n      commentsV2Comment_universal_d_CommentSort as CommentSort,\n      commentsV2Comment_universal_d_Order as Order,\n      commentsV2Comment_universal_d_ReplySort as ReplySort,\n      commentsV2Comment_universal_d_ReplySortOrder as ReplySortOrder,\n      commentsV2Comment_universal_d_ListCommentsByResourceCursorPaging as ListCommentsByResourceCursorPaging,\n      commentsV2Comment_universal_d_ListCommentsByResourceResponse as ListCommentsByResourceResponse,\n      commentsV2Comment_universal_d_RepliesListResponse as RepliesListResponse,\n      commentsV2Comment_universal_d_GetCommentThreadRequest as GetCommentThreadRequest,\n      commentsV2Comment_universal_d_GetCommentThreadResponse as GetCommentThreadResponse,\n      commentsV2Comment_universal_d_BulkPublishCommentRequest as BulkPublishCommentRequest,\n      commentsV2Comment_universal_d_BulkPublishCommentResponse as BulkPublishCommentResponse,\n      commentsV2Comment_universal_d_BulkHideCommentRequest as BulkHideCommentRequest,\n      commentsV2Comment_universal_d_BulkHideCommentResponse as BulkHideCommentResponse,\n      commentsV2Comment_universal_d_BulkDeleteCommentRequest as BulkDeleteCommentRequest,\n      commentsV2Comment_universal_d_BulkDeleteCommentResponse as BulkDeleteCommentResponse,\n      commentsV2Comment_universal_d_BulkModerateDraftContentRequest as BulkModerateDraftContentRequest,\n      commentsV2Comment_universal_d_BulkModerateDraftContentResponse as BulkModerateDraftContentResponse,\n      commentsV2Comment_universal_d_BulkMoveCommentByFilterRequest as BulkMoveCommentByFilterRequest,\n      commentsV2Comment_universal_d_Destination as Destination,\n      commentsV2Comment_universal_d_BulkMoveCommentByFilterResponse as BulkMoveCommentByFilterResponse,\n      commentsV2Comment_universal_d_CommentMoved as CommentMoved,\n      commentsV2Comment_universal_d_DomainEvent as DomainEvent,\n      commentsV2Comment_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      commentsV2Comment_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      commentsV2Comment_universal_d_RestoreInfo as RestoreInfo,\n      commentsV2Comment_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      commentsV2Comment_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      commentsV2Comment_universal_d_ActionEvent as ActionEvent,\n      commentsV2Comment_universal_d_MessageEnvelope as MessageEnvelope,\n      commentsV2Comment_universal_d_IdentificationData as IdentificationData,\n      commentsV2Comment_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      commentsV2Comment_universal_d_WebhookIdentityType as WebhookIdentityType,\n      commentsV2Comment_universal_d_createComment as createComment,\n      commentsV2Comment_universal_d_CreateCommentOptions as CreateCommentOptions,\n      commentsV2Comment_universal_d_getComment as getComment,\n      commentsV2Comment_universal_d_updateComment as updateComment,\n      commentsV2Comment_universal_d_UpdateComment as UpdateComment,\n      commentsV2Comment_universal_d_UpdateCommentOptions as UpdateCommentOptions,\n      commentsV2Comment_universal_d_deleteComment as deleteComment,\n      commentsV2Comment_universal_d_DeleteCommentOptions as DeleteCommentOptions,\n      commentsV2Comment_universal_d_moderateDraftContent as moderateDraftContent,\n      commentsV2Comment_universal_d_ModerateDraftContentOptions as ModerateDraftContentOptions,\n      commentsV2Comment_universal_d_queryComments as queryComments,\n      commentsV2Comment_universal_d_CommentsQueryResult as CommentsQueryResult,\n      commentsV2Comment_universal_d_CommentsQueryBuilder as CommentsQueryBuilder,\n      commentsV2Comment_universal_d_markComment as markComment,\n      commentsV2Comment_universal_d_MarkCommentOptions as MarkCommentOptions,\n      commentsV2Comment_universal_d_unmarkComment as unmarkComment,\n      commentsV2Comment_universal_d_UnmarkCommentOptions as UnmarkCommentOptions,\n      commentsV2Comment_universal_d_hideComment as hideComment,\n      commentsV2Comment_universal_d_publishComment as publishComment,\n      commentsV2Comment_universal_d_countComments as countComments,\n      commentsV2Comment_universal_d_CountCommentsOptions as CountCommentsOptions,\n      commentsV2Comment_universal_d_listCommentsByResource as listCommentsByResource,\n      commentsV2Comment_universal_d_ListCommentsByResourceOptions as ListCommentsByResourceOptions,\n      commentsV2Comment_universal_d_getCommentThread as getCommentThread,\n      commentsV2Comment_universal_d_GetCommentThreadOptions as GetCommentThreadOptions,\n      commentsV2Comment_universal_d_bulkPublishComment as bulkPublishComment,\n      commentsV2Comment_universal_d_BulkPublishCommentOptions as BulkPublishCommentOptions,\n      commentsV2Comment_universal_d_bulkHideComment as bulkHideComment,\n      commentsV2Comment_universal_d_BulkHideCommentOptions as BulkHideCommentOptions,\n      commentsV2Comment_universal_d_bulkDeleteComment as bulkDeleteComment,\n      commentsV2Comment_universal_d_BulkDeleteCommentOptions as BulkDeleteCommentOptions,\n      commentsV2Comment_universal_d_bulkModerateDraftContent as bulkModerateDraftContent,\n      commentsV2Comment_universal_d_BulkModerateDraftContentOptions as BulkModerateDraftContentOptions,\n      commentsV2Comment_universal_d_bulkMoveCommentByFilter as bulkMoveCommentByFilter,\n      commentsV2Comment_universal_d_BulkMoveCommentByFilterOptions as BulkMoveCommentByFilterOptions,\n    };\n  }\n  \n  export { commentsV2Comment_universal_d as comments };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-rise.v2.d.ts",
      "content": "declare module \"wix-rise.v2\" {\n  /** GiftCard is the main entity of GiftCardService that matches between code and credit balance */\n  interface GiftCard$1 {\n      /**\n       * Gift Card unique id\n       * @readonly\n       */\n      _id?: string | null;\n      /** Gift Card code */\n      code?: string | null;\n      /** Gift Card initial value */\n      initialValue?: string;\n      /**\n       * Gift Card balance\n       * @readonly\n       */\n      balance?: string | null;\n      /** Gift card source info */\n      sourceInfo?: GiftCardSourceInfo$1;\n      /**\n       * Gift Card revision\n       * @readonly\n       */\n      revision?: string | null;\n      /** Gift Card currency */\n      currency?: string | null;\n      /** Gift Card expiration date */\n      expirationDate?: Date | null;\n      /**\n       * Gift Card creation date\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Gift Card last update date\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Last Transaction id\n       * @readonly\n       */\n      lastTransactionId?: string | null;\n      /**\n       * Gift Card disable date\n       * @readonly\n       */\n      disableDate?: Date | null;\n      /** Gift Card idempotency key */\n      idempotencyKey?: string | null;\n  }\n  interface GiftCardSourceInfo$1 extends GiftCardSourceInfoGiftCardOptionsOneOf$1 {\n      /** Gift Card purchase */\n      orderOptions?: OrderOptions$1;\n      /**\n       * Bulk Options (deprecated)\n       * @deprecated\n       * @replacedBy bulk_options\n       */\n      campaignOptions?: CampaignOptions$1;\n      /** Migration Options (migrating from another gift card) */\n      migrationOptions?: MigrationOptions$1;\n      /** Store Credit Options */\n      storeCreditOptions?: StoreCreditOptions$1;\n      /** Workflow Options */\n      workflowOptions?: WorkflowOptions$1;\n      /** Bulk Options */\n      bulkOptions?: BulkOptions$1;\n      type?: GiftCardType$1;\n      /** The Tenant ID that is associated with the gift card creation */\n      sourceTenantId?: string | null;\n      /** The Channel ID that is associated with the gift card creation */\n      sourceChannelId?: string | null;\n      /** The location ID that is associated with the action (supports POS cases) */\n      sourceLocationId?: string | null;\n      /** Details of the API client creating this Transaction */\n      initiator?: ActionInitiator$2;\n  }\n  /** @oneof */\n  interface GiftCardSourceInfoGiftCardOptionsOneOf$1 {\n      /** Gift Card purchase */\n      orderOptions?: OrderOptions$1;\n      /**\n       * Bulk Options (deprecated)\n       * @deprecated\n       * @replacedBy bulk_options\n       */\n      campaignOptions?: CampaignOptions$1;\n      /** Migration Options (migrating from another gift card) */\n      migrationOptions?: MigrationOptions$1;\n      /** Store Credit Options */\n      storeCreditOptions?: StoreCreditOptions$1;\n      /** Workflow Options */\n      workflowOptions?: WorkflowOptions$1;\n      /** Bulk Options */\n      bulkOptions?: BulkOptions$1;\n  }\n  enum GiftCardType$1 {\n      UNKNOWN_GIFT_CARD_TYPE = \"UNKNOWN_GIFT_CARD_TYPE\",\n      ORDER = \"ORDER\",\n      CAMPAIGN = \"CAMPAIGN\",\n      MIGRATION = \"MIGRATION\",\n      STORE_CREDIT = \"STORE_CREDIT\",\n      MANUAL = \"MANUAL\",\n      WORKFLOW = \"WORKFLOW\",\n      BULK = \"BULK\"\n  }\n  interface OrderOptions$1 {\n      orderId?: string;\n      liability?: boolean | null;\n      orderNumber?: string | null;\n  }\n  interface CampaignOptions$1 {\n      campaignId?: string;\n      liability?: boolean | null;\n  }\n  interface MigrationOptions$1 {\n      previousId?: string | null;\n      liability?: boolean | null;\n      note?: string | null;\n  }\n  interface StoreCreditOptions$1 {\n      walletId?: string;\n  }\n  interface WorkflowOptions$1 {\n      workflowId?: string;\n  }\n  interface BulkOptions$1 {\n      bulkId?: string;\n      liability?: boolean | null;\n  }\n  interface ActionInitiator$2 {\n      type?: InitiatorType$2;\n      _id?: string | null;\n  }\n  enum InitiatorType$2 {\n      UNKNOWN_INITIATOR = \"UNKNOWN_INITIATOR\",\n      APP = \"APP\",\n      USER = \"USER\"\n  }\n  interface CreateGiftCardRequest {\n      giftCard?: GiftCard$1;\n  }\n  interface CreateGiftCardResponse {\n      giftCard?: GiftCard$1;\n  }\n  interface GiftCardInitialized {\n      giftCard?: GiftCard$1;\n  }\n  interface InvalidCodeDetails {\n      /** Gift Card Code */\n      code?: string;\n  }\n  interface InvalidExpirationDateDetails {\n      /** Expiration Date */\n      expirationDate?: Date | null;\n  }\n  interface GiftCardIdempotencyKeyDetails {\n      /** Idempotency Key */\n      idempotencyKey?: string;\n  }\n  interface GetGiftCardRequest {\n      giftCardId: string;\n  }\n  interface GetGiftCardResponse {\n      giftCard?: GiftCard$1;\n  }\n  interface GiftCardNotFoundDetails {\n      /** Gift Card Id */\n      giftCardId?: string;\n  }\n  interface GiftCardDisabledDetails {\n      /** Gift Card Id */\n      giftCardId?: string;\n  }\n  interface GiftCardExpiredDetails {\n      /** Gift Card Id */\n      giftCardId?: string;\n  }\n  interface UpdateGiftCardRequest {\n      giftCardId: string;\n      giftCard: GiftCard$1;\n      /** @internal */\n      fieldMask?: string[];\n  }\n  interface UpdateGiftCardResponse {\n      giftCard?: GiftCard$1;\n  }\n  interface DisableGiftCardRequest {\n      giftCardId: string;\n  }\n  interface DisableGiftCardResponse {\n      giftCard?: GiftCard$1;\n  }\n  interface GiftCardDisabled {\n      giftCard?: GiftCard$1;\n  }\n  interface IncreaseBalanceRequest {\n      transaction: Transaction;\n  }\n  /** Transaction is the secondary entity of GiftCardService that indicate an action over a Gift Card's balance */\n  interface Transaction extends TransactionTransactionOptionsOneOf {\n      /** Gift card Usage Options */\n      redeemOptions?: RedeemOptions;\n      /** Void transaction Options */\n      voidOptions?: VoidOptions;\n      /**\n       * Reward Options\n       * @deprecated\n       * @replacedBy wallet_action_start_options\n       */\n      rewardOptions?: RewardOptions;\n      /** Wallet Action End Options */\n      walletActionEndOptions?: WalletActionEndOptions;\n      /**\n       * Bulk Options\n       * @deprecated\n       * @replacedBy bulk_options\n       */\n      campaignOptions?: CampaignOptions$1;\n      /**\n       * Store credit refund Options\n       * @deprecated\n       * @replacedBy wallet_action_start_options\n       */\n      storeCreditRefundOptions?: StoreCreditRefundOptions;\n      /** Migration Options */\n      migrationOptions?: MigrationOptions$1;\n      /** Payment method refund Options */\n      paymentMethodRefundOptions?: PaymentMethodRefundOptions;\n      /** Initial Gift Card Transaction Options */\n      initialOptions?: InitialOptions;\n      /** Wallet Action start Options */\n      walletActionStartOptions?: WalletActionStartOptions;\n      /**\n       * Bulk Options\n       * @deprecated Bulk Options\n       * @replacedBy wallet_action_start_options\n       * @targetRemovalDate 2024-12-22\n       */\n      bulkOptions?: BulkOptions$1;\n      /** Manual Options */\n      manualOptions?: ManualOptions;\n      /**\n       * Transaction unique id\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Transaction creation date\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Transaction external Options */\n      type?: TransactionType;\n      /** Linked Gift Card unique id */\n      giftCardId?: string;\n      /** Transaction amount */\n      amount?: string;\n      /**\n       * Indicates whether the transaction adds / subtracts from the GiftCard balance\n       * @readonly\n       */\n      operationType?: OperationType;\n      /** Idempotency key */\n      idempotencyKey?: string | null;\n      /**\n       * Gift card Balance after this transaction operation\n       * @readonly\n       */\n      updatedBalance?: string | null;\n      /** The location ID that is associated with the action (supports POS cases) */\n      sourceInfo?: TransactionSourceInfo;\n      /** Indicates an external event that lead to the transaction */\n      externalEvent?: ExternalEvent$1;\n  }\n  /** @oneof */\n  interface TransactionTransactionOptionsOneOf {\n      /** Gift card Usage Options */\n      redeemOptions?: RedeemOptions;\n      /** Void transaction Options */\n      voidOptions?: VoidOptions;\n      /**\n       * Reward Options\n       * @deprecated\n       * @replacedBy wallet_action_start_options\n       */\n      rewardOptions?: RewardOptions;\n      /** Wallet Action End Options */\n      walletActionEndOptions?: WalletActionEndOptions;\n      /**\n       * Bulk Options\n       * @deprecated\n       * @replacedBy bulk_options\n       */\n      campaignOptions?: CampaignOptions$1;\n      /**\n       * Store credit refund Options\n       * @deprecated\n       * @replacedBy wallet_action_start_options\n       */\n      storeCreditRefundOptions?: StoreCreditRefundOptions;\n      /** Migration Options */\n      migrationOptions?: MigrationOptions$1;\n      /** Payment method refund Options */\n      paymentMethodRefundOptions?: PaymentMethodRefundOptions;\n      /** Initial Gift Card Transaction Options */\n      initialOptions?: InitialOptions;\n      /** Wallet Action start Options */\n      walletActionStartOptions?: WalletActionStartOptions;\n      /**\n       * Bulk Options\n       * @deprecated Bulk Options\n       * @replacedBy wallet_action_start_options\n       * @targetRemovalDate 2024-12-22\n       */\n      bulkOptions?: BulkOptions$1;\n      /** Manual Options */\n      manualOptions?: ManualOptions;\n  }\n  enum TransactionType {\n      UNKNOWN_TRANSACTION_TYPE = \"UNKNOWN_TRANSACTION_TYPE\",\n      REDEEM = \"REDEEM\",\n      VOID = \"VOID\",\n      REWARD = \"REWARD\",\n      WALLET_ACTION_END = \"WALLET_ACTION_END\",\n      MANUAL = \"MANUAL\",\n      CAMPAIGN = \"CAMPAIGN\",\n      STORE_CREDIT_REFUND = \"STORE_CREDIT_REFUND\",\n      MIGRATION = \"MIGRATION\",\n      INITIAL = \"INITIAL\",\n      PAYMENT_METHOD_REFUND = \"PAYMENT_METHOD_REFUND\",\n      WALLET_ACTION_START = \"WALLET_ACTION_START\",\n      BULK = \"BULK\"\n  }\n  interface RedeemOptions {\n      orderId?: string;\n      liability?: boolean | null;\n      totalPrice?: string | null;\n      orderNumber?: string | null;\n  }\n  interface VoidOptions {\n      transactionId?: string;\n  }\n  interface RewardOptions {\n      walletActionId?: string;\n      liability?: boolean | null;\n  }\n  interface WalletActionEndOptions {\n      walletActionId?: string;\n      transactionId?: string;\n      liability?: boolean | null;\n      reason?: WalletActionEndReason;\n  }\n  enum WalletActionEndReason {\n      UNKNOWN_REASON = \"UNKNOWN_REASON\",\n      CANCEL = \"CANCEL\",\n      EXPIRATION = \"EXPIRATION\"\n  }\n  interface StoreCreditRefundOptions {\n      walletActionId?: string;\n      liability?: boolean | null;\n  }\n  interface PaymentMethodRefundOptions {\n      orderId?: string;\n      liability?: boolean | null;\n      orderNumber?: string | null;\n  }\n  interface InitialOptions {\n      giftCardType?: GiftCardType$1;\n  }\n  interface WalletActionStartOptions {\n      walletActionId?: string;\n      liability?: boolean | null;\n      context?: StoreCreditContext$1;\n  }\n  interface StoreCreditContext$1 {\n      issuer?: StoreCreditIssuerType$1;\n      /** Indicates a specific instance of the issuer (relevant for workflow/bulk) */\n      issuerId?: string | null;\n      note?: string | null;\n      sourceChannelId?: string | null;\n      sourceTenantId?: string | null;\n  }\n  enum StoreCreditIssuerType$1 {\n      UNKNOWN_ISSUER = \"UNKNOWN_ISSUER\",\n      WORKFLOW = \"WORKFLOW\",\n      BULK = \"BULK\",\n      MANUAL = \"MANUAL\",\n      OTHER = \"OTHER\",\n      REFUND = \"REFUND\"\n  }\n  interface ManualOptions {\n      note?: string | null;\n  }\n  enum OperationType {\n      ADD = \"ADD\",\n      SUBTRACT = \"SUBTRACT\"\n  }\n  interface TransactionSourceInfo {\n      /** Details of the API client creating this Transaction */\n      initiator?: ActionInitiator$2;\n      /** The Tenant ID that is associated with the action */\n      sourceTenantId?: string | null;\n      /** The Channel ID that is associated with the action */\n      sourceChannelId?: string | null;\n      /** The location ID that is associated with the action (supports POS cases) */\n      sourceLocationId?: string | null;\n  }\n  interface ExternalEvent$1 {\n      /** Event type indicator */\n      name?: ExternalEventType$1;\n      /** Short description or identifier of the event */\n      description?: string | null;\n  }\n  enum ExternalEventType$1 {\n      UNKNOWN_EVENT_TYPE = \"UNKNOWN_EVENT_TYPE\",\n      ORDER = \"ORDER\",\n      REFUND = \"REFUND\",\n      REFERRAL = \"REFERRAL\",\n      SIGN_UP = \"SIGN_UP\",\n      MEMBERSHIP = \"MEMBERSHIP\",\n      COMPENSATION = \"COMPENSATION\",\n      OTHER = \"OTHER\"\n  }\n  interface IncreaseBalanceResponse {\n      transaction?: Transaction;\n      /** Gift card balance after transaction */\n      balance?: string;\n      /** Gift card Currency */\n      currency?: string | null;\n  }\n  interface TransactionAdded {\n      transaction?: Transaction;\n  }\n  interface IdempotencyKeyDetails {\n      /** Gift Card Id */\n      giftCardId?: string;\n      /** Idempotency Key */\n      idempotencyKey?: string;\n  }\n  interface InvalidGiftCardBalanceDetails {\n      /** Gift Card Id */\n      giftCardId?: string;\n      /** Current Gift Card balance */\n      currentBalance?: string;\n      /** Max balance allowed */\n      maxBalance?: string;\n      /** Attempted invalid balance */\n      invalidBalance?: string;\n  }\n  interface DecreaseBalanceRequest {\n      transaction: Transaction;\n  }\n  interface DecreaseBalanceResponse {\n      transaction?: Transaction;\n      /** Gift card balance after transaction */\n      balance?: string;\n      /** Gift card Currency */\n      currency?: string | null;\n  }\n  interface InsufficientFundsDetails {\n      /** Gift Card Id */\n      giftCardId?: string;\n      /** Gift Card Balance */\n      balance?: string;\n      /** Transaction amount */\n      amount?: string;\n  }\n  interface VoidTransactionRequest {\n      transactionId: string;\n      sourceTenantId?: string | null;\n      sourceChannelId?: string | null;\n  }\n  interface VoidTransactionResponse {\n      transaction?: Transaction;\n      /** Gift card balance after transaction */\n      balance?: string;\n      /** Gift card Currency */\n      currency?: string | null;\n  }\n  interface VoidFailedDetails {\n      /** Gift Card Id */\n      transactionId?: string;\n  }\n  interface ProduceTransactionAddedEventRequest {\n      transactionId?: string;\n  }\n  interface ProduceTransactionAddedEventResponse {\n  }\n  interface QueryGiftCardsRequest {\n      /** WQL expression */\n      query: QueryV2$2;\n  }\n  interface QueryV2$2 extends QueryV2PagingMethodOneOf$2 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$2[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$2 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$2;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryGiftCardsResponse {\n      /** The retrieved GiftCards */\n      giftCards?: GiftCard$1[];\n      pagingMetadata?: PagingMetadataV2$2;\n  }\n  interface PagingMetadataV2$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkDeleteGiftCardsByFilterRequest {\n      /** WQL expression */\n      query?: QueryV2$2;\n      /** MSID from which to delete the gift cards */\n      metaSiteId?: string;\n      /** Expected gift card amount to delete */\n      expectedAmount?: number;\n  }\n  interface BulkDeleteGiftCardsByFilterResponse {\n      jobId?: string;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface Empty$2 {\n  }\n  interface CreateMigrationGiftCardRequest {\n      /** The gift card to create. */\n      giftCard?: GiftCard$1;\n  }\n  interface CreateMigrationGiftCardResponse {\n      /** The created gift card. */\n      giftCard?: GiftCard$1;\n  }\n  interface CreateMigrationTransactionRequest {\n      /** The transaction to create. */\n      transaction?: Transaction;\n  }\n  interface CreateMigrationTransactionResponse {\n      /** The created transaction. */\n      transaction?: Transaction;\n  }\n  interface CountGiftCardsRequest {\n      filter?: Record<string, any> | null;\n  }\n  interface CountGiftCardsResponse {\n      count?: number;\n  }\n  interface SearchGiftCardsRequest {\n      search?: CursorSearch;\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * List of sort objects.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$2[];\n      /** Aggregations are a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome.\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. For example, `\"2023-12-20T10:52:34.795Z\"`.\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Aggregation extends AggregationKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation. */\n      nested?: NestedAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below. */\n      type?: AggregationType;\n      /** Field to aggregate by, use dot notation to specify json path. */\n      fieldPath?: string;\n      /**\n       * Deprecated. Use `nested` instead.\n       * @deprecated Deprecated. Use `nested` instead.\n       * @replacedBy kind.nested\n       * @targetRemovalDate 2024-03-30\n       */\n      groupBy?: GroupByAggregation;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation. */\n      nested?: NestedAggregation;\n  }\n  interface RangeBucket {\n      /** Inclusive lower bound of the range. Required if `to` is not provided. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if `from` is not provided. */\n      to?: number | null;\n  }\n  enum SortType {\n      /** Sort by number of matches. */\n      COUNT = \"COUNT\",\n      /** Sort by value of the field alphabetically. */\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection {\n      /** Sort in descending order. */\n      DESC = \"DESC\",\n      /** Sort in ascending order. */\n      ASC = \"ASC\"\n  }\n  enum MissingValues {\n      /** Exclude missing values from the aggregation results. */\n      EXCLUDE = \"EXCLUDE\",\n      /** Include missing values in the aggregation results. */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions {\n      /** Specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum ScalarType {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values. */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value. */\n      MIN = \"MIN\",\n      /** Maximum value. */\n      MAX = \"MAX\",\n      /** Sum of values. */\n      SUM = \"SUM\",\n      /** Average of values. */\n      AVG = \"AVG\"\n  }\n  interface ValueAggregation extends ValueAggregationOptionsOneOf {\n      /** Options for including missing values. */\n      includeOptions?: IncludeMissingValuesOptions;\n      /** Whether to sort by number of matches or value of the field. */\n      sortType?: SortType;\n      /** Whether to sort in ascending or descending order. */\n      sortDirection?: SortDirection;\n      /** How many aggregations to return. Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** Whether to include or exclude missing values from the aggregation results. Default: `EXCLUDE`. */\n      missingValues?: MissingValues;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf {\n      /** Options for including missing values. */\n      includeOptions?: IncludeMissingValuesOptions;\n  }\n  enum NestedAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example, min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.). */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface RangeAggregation {\n      /** List of range buckets, where during aggregation each entity will be placed in the first bucket its value falls into, based on the provided range bounds. */\n      buckets?: RangeBucket[];\n  }\n  interface ScalarAggregation {\n      /** Define the operator for the scalar aggregation. */\n      type?: ScalarType;\n  }\n  interface DateHistogramAggregation {\n      /** Interval for date histogram aggregation. */\n      interval?: Interval;\n  }\n  enum Interval {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval */\n      YEAR = \"YEAR\",\n      /** Monthly interval */\n      MONTH = \"MONTH\",\n      /** Weekly interval */\n      WEEK = \"WEEK\",\n      /** Daily interval */\n      DAY = \"DAY\",\n      /** Hourly interval */\n      HOUR = \"HOUR\",\n      /** Minute interval */\n      MINUTE = \"MINUTE\",\n      /** Second interval */\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below. */\n      type?: NestedAggregationType;\n      /** Field to aggregate by, use dot notation to specify json path. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n  }\n  enum AggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example, min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Multi-level aggregation, where each next aggregation is nested within previous one. */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one. */\n  interface NestedAggregation {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one. */\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface GroupByAggregation extends GroupByAggregationKindOneOf {\n      /** Value aggregation configuration. */\n      value?: ValueAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Field to aggregate by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface GroupByAggregationKindOneOf {\n      /** Value aggregation configuration. */\n      value?: ValueAggregation;\n  }\n  interface SearchDetails {\n      /** Defines how separate search terms in `expression` are combined. */\n      mode?: Mode;\n      /** Search term or expression. */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path. */\n      fields?: string[];\n      /** Whether to use auto fuzzy search (allowing typos by a managed proximity algorithm). */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** Any of the search terms must be present. */\n      OR = \"OR\",\n      /** All search terms must be present. */\n      AND = \"AND\"\n  }\n  interface SearchGiftCardsResponse {\n      /** gift cards which satisfy the provided query. */\n      giftCards?: GiftCard$1[];\n      /** Paging metadata. Contains cursor which can be used in next query. */\n      pagingMetadata?: CursorPagingMetadata;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$2;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface AggregationData {\n      /** key = aggregation name (as derived from search request). */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      /** Value of the field. */\n      value?: string;\n      /** Count of entities with this value. */\n      count?: number;\n  }\n  interface RangeAggregationResult {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in this range. */\n      count?: number;\n  }\n  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** User-defined name of aggregation, matches the one provided in request. */\n      name?: string;\n      /** Type of aggregation that matches result. */\n      type?: AggregationType;\n      /** Field to aggregate by, matches the one provided in request. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n  }\n  interface ValueResults {\n      /** List of value aggregations. */\n      results?: ValueAggregationResult[];\n  }\n  interface RangeResults {\n      /** List of ranges returned in same order as requested. */\n      results?: RangeAggregationResult[];\n  }\n  interface AggregationResultsScalarResult {\n      /** Type of scalar aggregation. */\n      type?: ScalarType;\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedValueAggregationResult {\n      /** Value of the field. */\n      value?: string;\n      /** Nested aggregations. */\n      nestedResults?: NestedAggregationResults;\n  }\n  interface ValueResult {\n      /** Value of the field. */\n      value?: string;\n      /** Count of entities with this value. */\n      count?: number | null;\n  }\n  interface RangeResult {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in this range. */\n      count?: number | null;\n  }\n  interface ScalarResult {\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation result. */\n      value?: ValueResult;\n      /** Range aggregation result. */\n      range?: RangeResult;\n      /** Scalar aggregation result. */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result. */\n      dateHistogram?: ValueResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation result. */\n      value?: ValueResult;\n      /** Range aggregation result. */\n      range?: RangeResult;\n      /** Scalar aggregation result. */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result. */\n      dateHistogram?: ValueResult;\n  }\n  interface Results {\n      /** List of nested aggregations. */\n      results?: Record<string, NestedResultValue>;\n  }\n  interface DateHistogramResult {\n      /** Date in ISO 8601 format. */\n      value?: string;\n      /** Count of documents in the bucket. */\n      count?: number;\n  }\n  interface GroupByValueResults {\n      /** List of value aggregations. */\n      results?: NestedValueAggregationResult[];\n  }\n  interface DateHistogramResults {\n      /** List of date histogram aggregations. */\n      results?: DateHistogramResult[];\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form.\n   * Aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults {\n      /** List of nested aggregations. */\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results. */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n      /** User-defined name of aggregation as derived from search request. */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request. */\n      type?: AggregationType;\n      /** Field to aggregate by as derived from search request. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results. */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new GiftCard\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.giftCard.initialValue\n   * @requiredField options.giftCard.sourceInfo.sourceChannelId\n   * @requiredField options.giftCard.sourceInfo.sourceTenantId\n   * @requiredField options.giftCard.sourceInfo.type\n   * @permissionId RISE.GIFT_CARD_CREATE\n   * @adminMethod\n   */\n  function createGiftCard(options?: CreateGiftCardOptions): Promise<GiftCard$1>;\n  interface CreateGiftCardOptions {\n      giftCard?: GiftCard$1;\n  }\n  /**\n   * Get a GiftCard by id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCardId\n   * @permissionId RISE.GIFT_CARD_READ\n   * @adminMethod\n   */\n  function getGiftCard(giftCardId: string): Promise<GiftCard$1>;\n  /**\n   * Update a GiftCard, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCard\n   * @requiredField giftCard.revision\n   * @requiredField giftCardId\n   * @permissionId RISE.GIFT_CARD_MODIFY\n   * @adminMethod\n   */\n  function updateGiftCard(giftCardId: string, giftCard: GiftCard$1, options?: UpdateGiftCardOptions): Promise<GiftCard$1>;\n  interface UpdateGiftCardOptions {\n      /** @internal */\n      fieldMask?: string[];\n  }\n  /**\n   * Disable a GiftCard\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCardId\n   * @permissionId RISE.GIFT_CARD_MODIFY\n   * @adminMethod\n   */\n  function disableGiftCard(giftCardId: string): Promise<DisableGiftCardResponse>;\n  /**\n   * Adds to the GiftCard balance and creates a balance Transaction.\n   * @param giftCardId - Linked Gift Card unique id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCardId\n   * @requiredField transaction\n   * @requiredField transaction.amount\n   * @requiredField transaction.type\n   * @permissionId RISE.TRANSACTION_INCREASE\n   * @adminMethod\n   */\n  function increaseBalance(giftCardId: string, transaction: IncreaseBalanceTransaction): Promise<IncreaseBalanceResponse>;\n  interface IncreaseBalanceTransaction {\n      /** Gift card Usage Options */\n      redeemOptions?: RedeemOptions;\n      /** Void transaction Options */\n      voidOptions?: VoidOptions;\n      /**\n       * Reward Options\n       * @deprecated\n       * @replacedBy wallet_action_start_options\n       */\n      rewardOptions?: RewardOptions;\n      /** Wallet Action End Options */\n      walletActionEndOptions?: WalletActionEndOptions;\n      /**\n       * Bulk Options\n       * @deprecated\n       * @replacedBy bulk_options\n       */\n      campaignOptions?: CampaignOptions$1;\n      /**\n       * Store credit refund Options\n       * @deprecated\n       * @replacedBy wallet_action_start_options\n       */\n      storeCreditRefundOptions?: StoreCreditRefundOptions;\n      /** Migration Options */\n      migrationOptions?: MigrationOptions$1;\n      /** Payment method refund Options */\n      paymentMethodRefundOptions?: PaymentMethodRefundOptions;\n      /** Initial Gift Card Transaction Options */\n      initialOptions?: InitialOptions;\n      /** Wallet Action start Options */\n      walletActionStartOptions?: WalletActionStartOptions;\n      /**\n       * Bulk Options\n       * @deprecated Bulk Options\n       * @replacedBy wallet_action_start_options\n       * @targetRemovalDate 2024-12-22\n       */\n      bulkOptions?: BulkOptions$1;\n      /** Manual Options */\n      manualOptions?: ManualOptions;\n      /**\n       * Transaction unique id\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Transaction creation date\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Transaction external Options */\n      type?: TransactionType;\n      /** Transaction amount */\n      amount?: string;\n      /**\n       * Indicates whether the transaction adds / subtracts from the GiftCard balance\n       * @readonly\n       */\n      operationType?: OperationType;\n      /** Idempotency key */\n      idempotencyKey?: string | null;\n      /**\n       * Gift card Balance after this transaction operation\n       * @readonly\n       */\n      updatedBalance?: string | null;\n      /** The location ID that is associated with the action (supports POS cases) */\n      sourceInfo?: TransactionSourceInfo;\n      /** Indicates an external event that lead to the transaction */\n      externalEvent?: ExternalEvent$1;\n  }\n  /**\n   * Subtracts from the GiftCard balance and creates a balance Transaction.\n   * @param giftCardId - Linked Gift Card unique id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCardId\n   * @requiredField transaction\n   * @requiredField transaction.amount\n   * @requiredField transaction.type\n   * @permissionId RISE.TRANSACTION_DECREASE\n   * @adminMethod\n   */\n  function decreaseBalance(giftCardId: string, transaction: DecreaseBalanceTransaction): Promise<DecreaseBalanceResponse>;\n  interface DecreaseBalanceTransaction {\n      /** Gift card Usage Options */\n      redeemOptions?: RedeemOptions;\n      /** Void transaction Options */\n      voidOptions?: VoidOptions;\n      /**\n       * Reward Options\n       * @deprecated\n       * @replacedBy wallet_action_start_options\n       */\n      rewardOptions?: RewardOptions;\n      /** Wallet Action End Options */\n      walletActionEndOptions?: WalletActionEndOptions;\n      /**\n       * Bulk Options\n       * @deprecated\n       * @replacedBy bulk_options\n       */\n      campaignOptions?: CampaignOptions$1;\n      /**\n       * Store credit refund Options\n       * @deprecated\n       * @replacedBy wallet_action_start_options\n       */\n      storeCreditRefundOptions?: StoreCreditRefundOptions;\n      /** Migration Options */\n      migrationOptions?: MigrationOptions$1;\n      /** Payment method refund Options */\n      paymentMethodRefundOptions?: PaymentMethodRefundOptions;\n      /** Initial Gift Card Transaction Options */\n      initialOptions?: InitialOptions;\n      /** Wallet Action start Options */\n      walletActionStartOptions?: WalletActionStartOptions;\n      /**\n       * Bulk Options\n       * @deprecated Bulk Options\n       * @replacedBy wallet_action_start_options\n       * @targetRemovalDate 2024-12-22\n       */\n      bulkOptions?: BulkOptions$1;\n      /** Manual Options */\n      manualOptions?: ManualOptions;\n      /**\n       * Transaction unique id\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Transaction creation date\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Transaction external Options */\n      type?: TransactionType;\n      /** Transaction amount */\n      amount?: string;\n      /**\n       * Indicates whether the transaction adds / subtracts from the GiftCard balance\n       * @readonly\n       */\n      operationType?: OperationType;\n      /** Idempotency key */\n      idempotencyKey?: string | null;\n      /**\n       * Gift card Balance after this transaction operation\n       * @readonly\n       */\n      updatedBalance?: string | null;\n      /** The location ID that is associated with the action (supports POS cases) */\n      sourceInfo?: TransactionSourceInfo;\n      /** Indicates an external event that lead to the transaction */\n      externalEvent?: ExternalEvent$1;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField transactionId\n   * @permissionId RISE.TRANSACTION_VOID\n   * @adminMethod\n   */\n  function voidTransaction(transactionId: string, options?: VoidTransactionOptions): Promise<VoidTransactionResponse>;\n  interface VoidTransactionOptions {\n      sourceTenantId?: string | null;\n      sourceChannelId?: string | null;\n  }\n  /**\n   * Query GiftCards using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RISE.GIFT_CARD_READ\n   * @adminMethod\n   */\n  function queryGiftCards(): GiftCardsQueryBuilder;\n  interface QueryOffsetResult$2 {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface GiftCardsQueryResult extends QueryOffsetResult$2 {\n      items: GiftCard$1[];\n      query: GiftCardsQueryBuilder;\n      next: () => Promise<GiftCardsQueryResult>;\n      prev: () => Promise<GiftCardsQueryResult>;\n  }\n  interface GiftCardsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'sourceInfo.type' | 'sourceInfo.sourceTenantId' | 'sourceInfo.sourceChannelId' | 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate' | 'idempotencyKey', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'sourceInfo.type' | 'sourceInfo.sourceTenantId' | 'sourceInfo.sourceChannelId' | 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate' | 'idempotencyKey', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'sourceInfo.sourceTenantId' | 'sourceInfo.sourceChannelId' | 'idempotencyKey', value: string) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'sourceInfo.type' | 'sourceInfo.sourceTenantId' | 'sourceInfo.sourceChannelId' | 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate' | 'idempotencyKey', value: any[]) => GiftCardsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'sourceInfo.type' | 'sourceInfo.sourceTenantId' | 'sourceInfo.sourceChannelId' | 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate' | 'idempotencyKey', value: any) => GiftCardsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'sourceInfo.type' | 'sourceInfo.sourceTenantId' | 'sourceInfo.sourceChannelId' | 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate' | 'idempotencyKey', value: boolean) => GiftCardsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'code' | 'initialValue' | 'balance' | 'sourceInfo.type' | 'sourceInfo.sourceTenantId' | 'sourceInfo.sourceChannelId' | 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate' | 'idempotencyKey'>) => GiftCardsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'code' | 'initialValue' | 'balance' | 'sourceInfo.type' | 'sourceInfo.sourceTenantId' | 'sourceInfo.sourceChannelId' | 'expirationDate' | '_createdDate' | '_updatedDate' | 'disableDate' | 'idempotencyKey'>) => GiftCardsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => GiftCardsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => GiftCardsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<GiftCardsQueryResult>;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId RISE.GIFT_CARD_READ\n   * @adminMethod\n   */\n  function countGiftCards(options?: CountGiftCardsOptions): Promise<CountGiftCardsResponse>;\n  interface CountGiftCardsOptions {\n      filter?: Record<string, any> | null;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId RISE.GIFT_CARD_READ\n   * @adminMethod\n   */\n  function searchGiftCards(options?: SearchGiftCardsOptions): Promise<SearchGiftCardsResponse>;\n  interface SearchGiftCardsOptions {\n      search?: CursorSearch;\n  }\n  \n  type riseV1GiftCard_universal_d_CreateGiftCardRequest = CreateGiftCardRequest;\n  type riseV1GiftCard_universal_d_CreateGiftCardResponse = CreateGiftCardResponse;\n  type riseV1GiftCard_universal_d_GiftCardInitialized = GiftCardInitialized;\n  type riseV1GiftCard_universal_d_InvalidCodeDetails = InvalidCodeDetails;\n  type riseV1GiftCard_universal_d_InvalidExpirationDateDetails = InvalidExpirationDateDetails;\n  type riseV1GiftCard_universal_d_GiftCardIdempotencyKeyDetails = GiftCardIdempotencyKeyDetails;\n  type riseV1GiftCard_universal_d_GetGiftCardRequest = GetGiftCardRequest;\n  type riseV1GiftCard_universal_d_GetGiftCardResponse = GetGiftCardResponse;\n  type riseV1GiftCard_universal_d_GiftCardNotFoundDetails = GiftCardNotFoundDetails;\n  type riseV1GiftCard_universal_d_GiftCardDisabledDetails = GiftCardDisabledDetails;\n  type riseV1GiftCard_universal_d_GiftCardExpiredDetails = GiftCardExpiredDetails;\n  type riseV1GiftCard_universal_d_UpdateGiftCardRequest = UpdateGiftCardRequest;\n  type riseV1GiftCard_universal_d_UpdateGiftCardResponse = UpdateGiftCardResponse;\n  type riseV1GiftCard_universal_d_DisableGiftCardRequest = DisableGiftCardRequest;\n  type riseV1GiftCard_universal_d_DisableGiftCardResponse = DisableGiftCardResponse;\n  type riseV1GiftCard_universal_d_GiftCardDisabled = GiftCardDisabled;\n  type riseV1GiftCard_universal_d_IncreaseBalanceRequest = IncreaseBalanceRequest;\n  type riseV1GiftCard_universal_d_Transaction = Transaction;\n  type riseV1GiftCard_universal_d_TransactionTransactionOptionsOneOf = TransactionTransactionOptionsOneOf;\n  type riseV1GiftCard_universal_d_TransactionType = TransactionType;\n  const riseV1GiftCard_universal_d_TransactionType: typeof TransactionType;\n  type riseV1GiftCard_universal_d_RedeemOptions = RedeemOptions;\n  type riseV1GiftCard_universal_d_VoidOptions = VoidOptions;\n  type riseV1GiftCard_universal_d_RewardOptions = RewardOptions;\n  type riseV1GiftCard_universal_d_WalletActionEndOptions = WalletActionEndOptions;\n  type riseV1GiftCard_universal_d_WalletActionEndReason = WalletActionEndReason;\n  const riseV1GiftCard_universal_d_WalletActionEndReason: typeof WalletActionEndReason;\n  type riseV1GiftCard_universal_d_StoreCreditRefundOptions = StoreCreditRefundOptions;\n  type riseV1GiftCard_universal_d_PaymentMethodRefundOptions = PaymentMethodRefundOptions;\n  type riseV1GiftCard_universal_d_InitialOptions = InitialOptions;\n  type riseV1GiftCard_universal_d_WalletActionStartOptions = WalletActionStartOptions;\n  type riseV1GiftCard_universal_d_ManualOptions = ManualOptions;\n  type riseV1GiftCard_universal_d_OperationType = OperationType;\n  const riseV1GiftCard_universal_d_OperationType: typeof OperationType;\n  type riseV1GiftCard_universal_d_TransactionSourceInfo = TransactionSourceInfo;\n  type riseV1GiftCard_universal_d_IncreaseBalanceResponse = IncreaseBalanceResponse;\n  type riseV1GiftCard_universal_d_TransactionAdded = TransactionAdded;\n  type riseV1GiftCard_universal_d_IdempotencyKeyDetails = IdempotencyKeyDetails;\n  type riseV1GiftCard_universal_d_InvalidGiftCardBalanceDetails = InvalidGiftCardBalanceDetails;\n  type riseV1GiftCard_universal_d_DecreaseBalanceRequest = DecreaseBalanceRequest;\n  type riseV1GiftCard_universal_d_DecreaseBalanceResponse = DecreaseBalanceResponse;\n  type riseV1GiftCard_universal_d_InsufficientFundsDetails = InsufficientFundsDetails;\n  type riseV1GiftCard_universal_d_VoidTransactionRequest = VoidTransactionRequest;\n  type riseV1GiftCard_universal_d_VoidTransactionResponse = VoidTransactionResponse;\n  type riseV1GiftCard_universal_d_VoidFailedDetails = VoidFailedDetails;\n  type riseV1GiftCard_universal_d_ProduceTransactionAddedEventRequest = ProduceTransactionAddedEventRequest;\n  type riseV1GiftCard_universal_d_ProduceTransactionAddedEventResponse = ProduceTransactionAddedEventResponse;\n  type riseV1GiftCard_universal_d_QueryGiftCardsRequest = QueryGiftCardsRequest;\n  type riseV1GiftCard_universal_d_QueryGiftCardsResponse = QueryGiftCardsResponse;\n  type riseV1GiftCard_universal_d_BulkDeleteGiftCardsByFilterRequest = BulkDeleteGiftCardsByFilterRequest;\n  type riseV1GiftCard_universal_d_BulkDeleteGiftCardsByFilterResponse = BulkDeleteGiftCardsByFilterResponse;\n  type riseV1GiftCard_universal_d_CreateMigrationGiftCardRequest = CreateMigrationGiftCardRequest;\n  type riseV1GiftCard_universal_d_CreateMigrationGiftCardResponse = CreateMigrationGiftCardResponse;\n  type riseV1GiftCard_universal_d_CreateMigrationTransactionRequest = CreateMigrationTransactionRequest;\n  type riseV1GiftCard_universal_d_CreateMigrationTransactionResponse = CreateMigrationTransactionResponse;\n  type riseV1GiftCard_universal_d_CountGiftCardsRequest = CountGiftCardsRequest;\n  type riseV1GiftCard_universal_d_CountGiftCardsResponse = CountGiftCardsResponse;\n  type riseV1GiftCard_universal_d_SearchGiftCardsRequest = SearchGiftCardsRequest;\n  type riseV1GiftCard_universal_d_CursorSearch = CursorSearch;\n  type riseV1GiftCard_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type riseV1GiftCard_universal_d_Aggregation = Aggregation;\n  type riseV1GiftCard_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type riseV1GiftCard_universal_d_RangeBucket = RangeBucket;\n  type riseV1GiftCard_universal_d_SortType = SortType;\n  const riseV1GiftCard_universal_d_SortType: typeof SortType;\n  type riseV1GiftCard_universal_d_SortDirection = SortDirection;\n  const riseV1GiftCard_universal_d_SortDirection: typeof SortDirection;\n  type riseV1GiftCard_universal_d_MissingValues = MissingValues;\n  const riseV1GiftCard_universal_d_MissingValues: typeof MissingValues;\n  type riseV1GiftCard_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n  type riseV1GiftCard_universal_d_ScalarType = ScalarType;\n  const riseV1GiftCard_universal_d_ScalarType: typeof ScalarType;\n  type riseV1GiftCard_universal_d_ValueAggregation = ValueAggregation;\n  type riseV1GiftCard_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n  type riseV1GiftCard_universal_d_NestedAggregationType = NestedAggregationType;\n  const riseV1GiftCard_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type riseV1GiftCard_universal_d_RangeAggregation = RangeAggregation;\n  type riseV1GiftCard_universal_d_ScalarAggregation = ScalarAggregation;\n  type riseV1GiftCard_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n  type riseV1GiftCard_universal_d_Interval = Interval;\n  const riseV1GiftCard_universal_d_Interval: typeof Interval;\n  type riseV1GiftCard_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type riseV1GiftCard_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type riseV1GiftCard_universal_d_AggregationType = AggregationType;\n  const riseV1GiftCard_universal_d_AggregationType: typeof AggregationType;\n  type riseV1GiftCard_universal_d_NestedAggregation = NestedAggregation;\n  type riseV1GiftCard_universal_d_GroupByAggregation = GroupByAggregation;\n  type riseV1GiftCard_universal_d_GroupByAggregationKindOneOf = GroupByAggregationKindOneOf;\n  type riseV1GiftCard_universal_d_SearchDetails = SearchDetails;\n  type riseV1GiftCard_universal_d_Mode = Mode;\n  const riseV1GiftCard_universal_d_Mode: typeof Mode;\n  type riseV1GiftCard_universal_d_SearchGiftCardsResponse = SearchGiftCardsResponse;\n  type riseV1GiftCard_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type riseV1GiftCard_universal_d_AggregationData = AggregationData;\n  type riseV1GiftCard_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type riseV1GiftCard_universal_d_RangeAggregationResult = RangeAggregationResult;\n  type riseV1GiftCard_universal_d_NestedAggregationResults = NestedAggregationResults;\n  type riseV1GiftCard_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n  type riseV1GiftCard_universal_d_ValueResults = ValueResults;\n  type riseV1GiftCard_universal_d_RangeResults = RangeResults;\n  type riseV1GiftCard_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n  type riseV1GiftCard_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n  type riseV1GiftCard_universal_d_ValueResult = ValueResult;\n  type riseV1GiftCard_universal_d_RangeResult = RangeResult;\n  type riseV1GiftCard_universal_d_ScalarResult = ScalarResult;\n  type riseV1GiftCard_universal_d_NestedResultValue = NestedResultValue;\n  type riseV1GiftCard_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type riseV1GiftCard_universal_d_Results = Results;\n  type riseV1GiftCard_universal_d_DateHistogramResult = DateHistogramResult;\n  type riseV1GiftCard_universal_d_GroupByValueResults = GroupByValueResults;\n  type riseV1GiftCard_universal_d_DateHistogramResults = DateHistogramResults;\n  type riseV1GiftCard_universal_d_NestedResults = NestedResults;\n  type riseV1GiftCard_universal_d_AggregationResults = AggregationResults;\n  type riseV1GiftCard_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  const riseV1GiftCard_universal_d_createGiftCard: typeof createGiftCard;\n  type riseV1GiftCard_universal_d_CreateGiftCardOptions = CreateGiftCardOptions;\n  const riseV1GiftCard_universal_d_getGiftCard: typeof getGiftCard;\n  const riseV1GiftCard_universal_d_updateGiftCard: typeof updateGiftCard;\n  type riseV1GiftCard_universal_d_UpdateGiftCardOptions = UpdateGiftCardOptions;\n  const riseV1GiftCard_universal_d_disableGiftCard: typeof disableGiftCard;\n  const riseV1GiftCard_universal_d_increaseBalance: typeof increaseBalance;\n  type riseV1GiftCard_universal_d_IncreaseBalanceTransaction = IncreaseBalanceTransaction;\n  const riseV1GiftCard_universal_d_decreaseBalance: typeof decreaseBalance;\n  type riseV1GiftCard_universal_d_DecreaseBalanceTransaction = DecreaseBalanceTransaction;\n  const riseV1GiftCard_universal_d_voidTransaction: typeof voidTransaction;\n  type riseV1GiftCard_universal_d_VoidTransactionOptions = VoidTransactionOptions;\n  const riseV1GiftCard_universal_d_queryGiftCards: typeof queryGiftCards;\n  type riseV1GiftCard_universal_d_GiftCardsQueryResult = GiftCardsQueryResult;\n  type riseV1GiftCard_universal_d_GiftCardsQueryBuilder = GiftCardsQueryBuilder;\n  const riseV1GiftCard_universal_d_countGiftCards: typeof countGiftCards;\n  type riseV1GiftCard_universal_d_CountGiftCardsOptions = CountGiftCardsOptions;\n  const riseV1GiftCard_universal_d_searchGiftCards: typeof searchGiftCards;\n  type riseV1GiftCard_universal_d_SearchGiftCardsOptions = SearchGiftCardsOptions;\n  namespace riseV1GiftCard_universal_d {\n    export {\n      GiftCard$1 as GiftCard,\n      GiftCardSourceInfo$1 as GiftCardSourceInfo,\n      GiftCardSourceInfoGiftCardOptionsOneOf$1 as GiftCardSourceInfoGiftCardOptionsOneOf,\n      GiftCardType$1 as GiftCardType,\n      OrderOptions$1 as OrderOptions,\n      CampaignOptions$1 as CampaignOptions,\n      MigrationOptions$1 as MigrationOptions,\n      StoreCreditOptions$1 as StoreCreditOptions,\n      WorkflowOptions$1 as WorkflowOptions,\n      BulkOptions$1 as BulkOptions,\n      ActionInitiator$2 as ActionInitiator,\n      InitiatorType$2 as InitiatorType,\n      riseV1GiftCard_universal_d_CreateGiftCardRequest as CreateGiftCardRequest,\n      riseV1GiftCard_universal_d_CreateGiftCardResponse as CreateGiftCardResponse,\n      riseV1GiftCard_universal_d_GiftCardInitialized as GiftCardInitialized,\n      riseV1GiftCard_universal_d_InvalidCodeDetails as InvalidCodeDetails,\n      riseV1GiftCard_universal_d_InvalidExpirationDateDetails as InvalidExpirationDateDetails,\n      riseV1GiftCard_universal_d_GiftCardIdempotencyKeyDetails as GiftCardIdempotencyKeyDetails,\n      riseV1GiftCard_universal_d_GetGiftCardRequest as GetGiftCardRequest,\n      riseV1GiftCard_universal_d_GetGiftCardResponse as GetGiftCardResponse,\n      riseV1GiftCard_universal_d_GiftCardNotFoundDetails as GiftCardNotFoundDetails,\n      riseV1GiftCard_universal_d_GiftCardDisabledDetails as GiftCardDisabledDetails,\n      riseV1GiftCard_universal_d_GiftCardExpiredDetails as GiftCardExpiredDetails,\n      riseV1GiftCard_universal_d_UpdateGiftCardRequest as UpdateGiftCardRequest,\n      riseV1GiftCard_universal_d_UpdateGiftCardResponse as UpdateGiftCardResponse,\n      riseV1GiftCard_universal_d_DisableGiftCardRequest as DisableGiftCardRequest,\n      riseV1GiftCard_universal_d_DisableGiftCardResponse as DisableGiftCardResponse,\n      riseV1GiftCard_universal_d_GiftCardDisabled as GiftCardDisabled,\n      riseV1GiftCard_universal_d_IncreaseBalanceRequest as IncreaseBalanceRequest,\n      riseV1GiftCard_universal_d_Transaction as Transaction,\n      riseV1GiftCard_universal_d_TransactionTransactionOptionsOneOf as TransactionTransactionOptionsOneOf,\n      riseV1GiftCard_universal_d_TransactionType as TransactionType,\n      riseV1GiftCard_universal_d_RedeemOptions as RedeemOptions,\n      riseV1GiftCard_universal_d_VoidOptions as VoidOptions,\n      riseV1GiftCard_universal_d_RewardOptions as RewardOptions,\n      riseV1GiftCard_universal_d_WalletActionEndOptions as WalletActionEndOptions,\n      riseV1GiftCard_universal_d_WalletActionEndReason as WalletActionEndReason,\n      riseV1GiftCard_universal_d_StoreCreditRefundOptions as StoreCreditRefundOptions,\n      riseV1GiftCard_universal_d_PaymentMethodRefundOptions as PaymentMethodRefundOptions,\n      riseV1GiftCard_universal_d_InitialOptions as InitialOptions,\n      riseV1GiftCard_universal_d_WalletActionStartOptions as WalletActionStartOptions,\n      StoreCreditContext$1 as StoreCreditContext,\n      StoreCreditIssuerType$1 as StoreCreditIssuerType,\n      riseV1GiftCard_universal_d_ManualOptions as ManualOptions,\n      riseV1GiftCard_universal_d_OperationType as OperationType,\n      riseV1GiftCard_universal_d_TransactionSourceInfo as TransactionSourceInfo,\n      ExternalEvent$1 as ExternalEvent,\n      ExternalEventType$1 as ExternalEventType,\n      riseV1GiftCard_universal_d_IncreaseBalanceResponse as IncreaseBalanceResponse,\n      riseV1GiftCard_universal_d_TransactionAdded as TransactionAdded,\n      riseV1GiftCard_universal_d_IdempotencyKeyDetails as IdempotencyKeyDetails,\n      riseV1GiftCard_universal_d_InvalidGiftCardBalanceDetails as InvalidGiftCardBalanceDetails,\n      riseV1GiftCard_universal_d_DecreaseBalanceRequest as DecreaseBalanceRequest,\n      riseV1GiftCard_universal_d_DecreaseBalanceResponse as DecreaseBalanceResponse,\n      riseV1GiftCard_universal_d_InsufficientFundsDetails as InsufficientFundsDetails,\n      riseV1GiftCard_universal_d_VoidTransactionRequest as VoidTransactionRequest,\n      riseV1GiftCard_universal_d_VoidTransactionResponse as VoidTransactionResponse,\n      riseV1GiftCard_universal_d_VoidFailedDetails as VoidFailedDetails,\n      riseV1GiftCard_universal_d_ProduceTransactionAddedEventRequest as ProduceTransactionAddedEventRequest,\n      riseV1GiftCard_universal_d_ProduceTransactionAddedEventResponse as ProduceTransactionAddedEventResponse,\n      riseV1GiftCard_universal_d_QueryGiftCardsRequest as QueryGiftCardsRequest,\n      QueryV2$2 as QueryV2,\n      QueryV2PagingMethodOneOf$2 as QueryV2PagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      Paging$2 as Paging,\n      CursorPaging$2 as CursorPaging,\n      riseV1GiftCard_universal_d_QueryGiftCardsResponse as QueryGiftCardsResponse,\n      PagingMetadataV2$2 as PagingMetadataV2,\n      Cursors$2 as Cursors,\n      riseV1GiftCard_universal_d_BulkDeleteGiftCardsByFilterRequest as BulkDeleteGiftCardsByFilterRequest,\n      riseV1GiftCard_universal_d_BulkDeleteGiftCardsByFilterResponse as BulkDeleteGiftCardsByFilterResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      Empty$2 as Empty,\n      riseV1GiftCard_universal_d_CreateMigrationGiftCardRequest as CreateMigrationGiftCardRequest,\n      riseV1GiftCard_universal_d_CreateMigrationGiftCardResponse as CreateMigrationGiftCardResponse,\n      riseV1GiftCard_universal_d_CreateMigrationTransactionRequest as CreateMigrationTransactionRequest,\n      riseV1GiftCard_universal_d_CreateMigrationTransactionResponse as CreateMigrationTransactionResponse,\n      riseV1GiftCard_universal_d_CountGiftCardsRequest as CountGiftCardsRequest,\n      riseV1GiftCard_universal_d_CountGiftCardsResponse as CountGiftCardsResponse,\n      riseV1GiftCard_universal_d_SearchGiftCardsRequest as SearchGiftCardsRequest,\n      riseV1GiftCard_universal_d_CursorSearch as CursorSearch,\n      riseV1GiftCard_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      riseV1GiftCard_universal_d_Aggregation as Aggregation,\n      riseV1GiftCard_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      riseV1GiftCard_universal_d_RangeBucket as RangeBucket,\n      riseV1GiftCard_universal_d_SortType as SortType,\n      riseV1GiftCard_universal_d_SortDirection as SortDirection,\n      riseV1GiftCard_universal_d_MissingValues as MissingValues,\n      riseV1GiftCard_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions,\n      riseV1GiftCard_universal_d_ScalarType as ScalarType,\n      riseV1GiftCard_universal_d_ValueAggregation as ValueAggregation,\n      riseV1GiftCard_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf,\n      riseV1GiftCard_universal_d_NestedAggregationType as NestedAggregationType,\n      riseV1GiftCard_universal_d_RangeAggregation as RangeAggregation,\n      riseV1GiftCard_universal_d_ScalarAggregation as ScalarAggregation,\n      riseV1GiftCard_universal_d_DateHistogramAggregation as DateHistogramAggregation,\n      riseV1GiftCard_universal_d_Interval as Interval,\n      riseV1GiftCard_universal_d_NestedAggregationItem as NestedAggregationItem,\n      riseV1GiftCard_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      riseV1GiftCard_universal_d_AggregationType as AggregationType,\n      riseV1GiftCard_universal_d_NestedAggregation as NestedAggregation,\n      riseV1GiftCard_universal_d_GroupByAggregation as GroupByAggregation,\n      riseV1GiftCard_universal_d_GroupByAggregationKindOneOf as GroupByAggregationKindOneOf,\n      riseV1GiftCard_universal_d_SearchDetails as SearchDetails,\n      riseV1GiftCard_universal_d_Mode as Mode,\n      riseV1GiftCard_universal_d_SearchGiftCardsResponse as SearchGiftCardsResponse,\n      riseV1GiftCard_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      riseV1GiftCard_universal_d_AggregationData as AggregationData,\n      riseV1GiftCard_universal_d_ValueAggregationResult as ValueAggregationResult,\n      riseV1GiftCard_universal_d_RangeAggregationResult as RangeAggregationResult,\n      riseV1GiftCard_universal_d_NestedAggregationResults as NestedAggregationResults,\n      riseV1GiftCard_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,\n      riseV1GiftCard_universal_d_ValueResults as ValueResults,\n      riseV1GiftCard_universal_d_RangeResults as RangeResults,\n      riseV1GiftCard_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult,\n      riseV1GiftCard_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,\n      riseV1GiftCard_universal_d_ValueResult as ValueResult,\n      riseV1GiftCard_universal_d_RangeResult as RangeResult,\n      riseV1GiftCard_universal_d_ScalarResult as ScalarResult,\n      riseV1GiftCard_universal_d_NestedResultValue as NestedResultValue,\n      riseV1GiftCard_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      riseV1GiftCard_universal_d_Results as Results,\n      riseV1GiftCard_universal_d_DateHistogramResult as DateHistogramResult,\n      riseV1GiftCard_universal_d_GroupByValueResults as GroupByValueResults,\n      riseV1GiftCard_universal_d_DateHistogramResults as DateHistogramResults,\n      riseV1GiftCard_universal_d_NestedResults as NestedResults,\n      riseV1GiftCard_universal_d_AggregationResults as AggregationResults,\n      riseV1GiftCard_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      riseV1GiftCard_universal_d_createGiftCard as createGiftCard,\n      riseV1GiftCard_universal_d_CreateGiftCardOptions as CreateGiftCardOptions,\n      riseV1GiftCard_universal_d_getGiftCard as getGiftCard,\n      riseV1GiftCard_universal_d_updateGiftCard as updateGiftCard,\n      riseV1GiftCard_universal_d_UpdateGiftCardOptions as UpdateGiftCardOptions,\n      riseV1GiftCard_universal_d_disableGiftCard as disableGiftCard,\n      riseV1GiftCard_universal_d_increaseBalance as increaseBalance,\n      riseV1GiftCard_universal_d_IncreaseBalanceTransaction as IncreaseBalanceTransaction,\n      riseV1GiftCard_universal_d_decreaseBalance as decreaseBalance,\n      riseV1GiftCard_universal_d_DecreaseBalanceTransaction as DecreaseBalanceTransaction,\n      riseV1GiftCard_universal_d_voidTransaction as voidTransaction,\n      riseV1GiftCard_universal_d_VoidTransactionOptions as VoidTransactionOptions,\n      riseV1GiftCard_universal_d_queryGiftCards as queryGiftCards,\n      riseV1GiftCard_universal_d_GiftCardsQueryResult as GiftCardsQueryResult,\n      riseV1GiftCard_universal_d_GiftCardsQueryBuilder as GiftCardsQueryBuilder,\n      riseV1GiftCard_universal_d_countGiftCards as countGiftCards,\n      riseV1GiftCard_universal_d_CountGiftCardsOptions as CountGiftCardsOptions,\n      riseV1GiftCard_universal_d_searchGiftCards as searchGiftCards,\n      riseV1GiftCard_universal_d_SearchGiftCardsOptions as SearchGiftCardsOptions,\n    };\n  }\n  \n  /** Wallet is the main entity of WalletService that contains GiftCard and customer references */\n  interface Wallet$1 {\n      /**\n       * Wallet ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the Gift Card associated with this Wallet\n       * @readonly\n       */\n      giftCardId?: string;\n      /**\n       * Customer references\n       * @readonly\n       */\n      customerReferences?: CustomerReference$1[];\n      /**\n       * Represents the time this Wallet was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this Wallet was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Gift Card info\n       * @readonly\n       */\n      giftCardInfo?: GiftCardInfo$1;\n      /**\n       * ID of primary customer reference\n       * @internal\n       * @readonly\n       */\n      primaryCustomerReferenceId?: string;\n  }\n  interface CustomerReference$1 {\n      /** Source channel, i.e. Shopify */\n      sourceChannelId?: string;\n      /** Tenant ID in Source, i.e. shop ID */\n      sourceTenantId?: string;\n      /** Customer ID in Source */\n      sourceCustomerId?: string;\n      /** First name */\n      firstName?: string | null;\n      /** Last name */\n      lastName?: string | null;\n      /** Phone */\n      phone?: string | null;\n      /** Email */\n      email?: string;\n      /**\n       * Internal id\n       * @internal\n       * @readonly\n       */\n      _id?: string | null;\n  }\n  interface GiftCardInfo$1 {\n      /**\n       * Gift Card Code\n       * @readonly\n       */\n      code?: string;\n      /**\n       * Current Gift Card Balance\n       * @readonly\n       */\n      balance?: string;\n      /**\n       * Gift Card Currency\n       * @readonly\n       */\n      currency?: string | null;\n  }\n  interface CreateWalletRequest {\n      /** Customer reference */\n      customerReference: CustomerReference$1;\n      /** Initial amount */\n      initialValue?: string | null;\n      /** Currency */\n      currency?: string | null;\n  }\n  interface CreateWalletResponse {\n      /** wallet */\n      wallet?: Wallet$1;\n      /** walletAction */\n      walletActionId?: string | null;\n  }\n  interface GetOrCreateWalletRequest {\n      /** Customer reference */\n      customerReference: CustomerReference$1;\n      /** Currency */\n      currency?: string | null;\n  }\n  interface GetOrCreateWalletResponse {\n      /** wallet */\n      wallet?: Wallet$1;\n  }\n  interface CreateCustomerReferenceRequest {\n      /** Customer reference */\n      customerReference: CustomerReference$1;\n  }\n  interface CreateCustomerReferenceResponse {\n      /** Customer reference */\n      customerReference?: CustomerReference$1;\n  }\n  interface GetCustomerReferenceRequest {\n      /** Query */\n      query: CustomerReferenceQuery;\n  }\n  interface CustomerReferenceQuery {\n      /** CustomerReference source */\n      customerReferenceSource?: Source;\n  }\n  interface Source {\n      /** Source channel, i.e. Shopify */\n      sourceChannelId?: string;\n      /** Tenant ID in Source, i.e. shop ID */\n      sourceTenantId?: string;\n      /** Customer ID in Source */\n      sourceCustomerId?: string;\n  }\n  interface GetCustomerReferenceResponse {\n      /** Customer reference */\n      customerReference?: CustomerReference$1;\n  }\n  interface UpdateCustomerReferenceRequest {\n      /** PII information of CustomerReference will be updated. CustomerReference is identified by ID or source. */\n      customerReference: CustomerReference$1;\n  }\n  interface UpdateCustomerReferenceResponse {\n      /** Customer reference */\n      customerReference?: CustomerReference$1;\n  }\n  interface DeleteCustomerReferenceRequest {\n      /** Query */\n      query: CustomerReferenceQuery;\n  }\n  interface DeleteCustomerReferenceResponse {\n  }\n  interface GetWalletRequest {\n      /** Query */\n      query: WalletQuery;\n  }\n  interface WalletQuery extends WalletQueryByOneOf {\n      /** Wallet id */\n      walletId?: string;\n      /** Email */\n      email?: string;\n      /** CustomerReference source */\n      customerReferenceSource?: Source;\n  }\n  /** @oneof */\n  interface WalletQueryByOneOf {\n      /** Wallet id */\n      walletId?: string;\n      /** Email */\n      email?: string;\n      /** CustomerReference source */\n      customerReferenceSource?: Source;\n  }\n  interface GetWalletResponse {\n      /** The retrieved Wallet */\n      wallet?: Wallet$1;\n  }\n  interface GetWalletGiftCardRequest {\n      /** ID of the Wallet for which to retrieve the associated Gift Card */\n      query: WalletQuery;\n  }\n  interface GetWalletGiftCardResponse {\n      /** The retrieved Gift Card */\n      giftCard?: GiftCard;\n  }\n  /** GiftCard is the main entity of GiftCardService that matches between code and credit balance */\n  interface GiftCard {\n      /**\n       * Gift Card unique id\n       * @readonly\n       */\n      _id?: string | null;\n      /** Gift Card code */\n      code?: string | null;\n      /** Gift Card initial value */\n      initialValue?: string;\n      /**\n       * Gift Card balance\n       * @readonly\n       */\n      balance?: string | null;\n      /** Gift card source info */\n      sourceInfo?: GiftCardSourceInfo;\n      /**\n       * Gift Card revision\n       * @readonly\n       */\n      revision?: string | null;\n      /** Gift Card currency */\n      currency?: string | null;\n      /** Gift Card expiration date */\n      expirationDate?: Date | null;\n      /**\n       * Gift Card creation date\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Gift Card last update date\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Last Transaction id\n       * @readonly\n       */\n      lastTransactionId?: string | null;\n      /**\n       * Gift Card disable date\n       * @readonly\n       */\n      disableDate?: Date | null;\n      /** Gift Card idempotency key */\n      idempotencyKey?: string | null;\n  }\n  interface GiftCardSourceInfo extends GiftCardSourceInfoGiftCardOptionsOneOf {\n      /** Gift Card purchase */\n      orderOptions?: OrderOptions;\n      /**\n       * Bulk Options (deprecated)\n       * @deprecated\n       * @replacedBy bulk_options\n       */\n      campaignOptions?: CampaignOptions;\n      /** Migration Options (migrating from another gift card) */\n      migrationOptions?: MigrationOptions;\n      /** Store Credit Options */\n      storeCreditOptions?: StoreCreditOptions;\n      /** Workflow Options */\n      workflowOptions?: WorkflowOptions;\n      /** Bulk Options */\n      bulkOptions?: BulkOptions;\n      type?: GiftCardType;\n      /** The Tenant ID that is associated with the gift card creation */\n      sourceTenantId?: string | null;\n      /** The Channel ID that is associated with the gift card creation */\n      sourceChannelId?: string | null;\n      /** The location ID that is associated with the action (supports POS cases) */\n      sourceLocationId?: string | null;\n      /** Details of the API client creating this Transaction */\n      initiator?: ActionInitiator$1;\n  }\n  /** @oneof */\n  interface GiftCardSourceInfoGiftCardOptionsOneOf {\n      /** Gift Card purchase */\n      orderOptions?: OrderOptions;\n      /**\n       * Bulk Options (deprecated)\n       * @deprecated\n       * @replacedBy bulk_options\n       */\n      campaignOptions?: CampaignOptions;\n      /** Migration Options (migrating from another gift card) */\n      migrationOptions?: MigrationOptions;\n      /** Store Credit Options */\n      storeCreditOptions?: StoreCreditOptions;\n      /** Workflow Options */\n      workflowOptions?: WorkflowOptions;\n      /** Bulk Options */\n      bulkOptions?: BulkOptions;\n  }\n  enum GiftCardType {\n      UNKNOWN_GIFT_CARD_TYPE = \"UNKNOWN_GIFT_CARD_TYPE\",\n      ORDER = \"ORDER\",\n      CAMPAIGN = \"CAMPAIGN\",\n      MIGRATION = \"MIGRATION\",\n      STORE_CREDIT = \"STORE_CREDIT\",\n      MANUAL = \"MANUAL\",\n      WORKFLOW = \"WORKFLOW\",\n      BULK = \"BULK\"\n  }\n  interface OrderOptions {\n      orderId?: string;\n      liability?: boolean | null;\n      orderNumber?: string | null;\n  }\n  interface CampaignOptions {\n      campaignId?: string;\n      liability?: boolean | null;\n  }\n  interface MigrationOptions {\n      previousId?: string | null;\n      liability?: boolean | null;\n      note?: string | null;\n  }\n  interface StoreCreditOptions {\n      walletId?: string;\n  }\n  interface WorkflowOptions {\n      workflowId?: string;\n  }\n  interface BulkOptions {\n      bulkId?: string;\n      liability?: boolean | null;\n  }\n  interface ActionInitiator$1 {\n      type?: InitiatorType$1;\n      _id?: string | null;\n  }\n  enum InitiatorType$1 {\n      UNKNOWN_INITIATOR = \"UNKNOWN_INITIATOR\",\n      APP = \"APP\",\n      USER = \"USER\"\n  }\n  interface QueryWalletsRequest {\n      /** WQL expression */\n      query: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryWalletsResponse {\n      /**\n       * list of wallets with gift card info\n       * @readonly\n       */\n      wallets?: Wallet$1[];\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface MigrateWalletRequest {\n      /** Customer reference */\n      customerReference?: CustomerReference$1;\n      /** gift card id */\n      giftCard?: GiftCard;\n      /** tenant id */\n      tenantId?: string;\n      /** channel id */\n      channelId?: string;\n  }\n  interface MigrateWalletResponse {\n      /** wallet */\n      wallet?: Wallet$1;\n      /** giftCard */\n      giftCard?: GiftCard;\n  }\n  interface CountWalletsRequest {\n      filter?: Record<string, any> | null;\n  }\n  interface CountWalletsResponse {\n      count?: number;\n  }\n  interface QueryWalletsByContactRequest {\n      query: QueryByContact;\n  }\n  interface QueryByContact {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Limit for the number of wallets returned */\n      limit?: number | null;\n  }\n  interface QueryWalletsByContactResponse {\n      /**\n       * list of wallets with gift card info\n       * @readonly\n       */\n      wallets?: Wallet$1[];\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new Wallet\n   * @param customerReference - Customer reference\n   * @public\n   * @documentationMaturity preview\n   * @requiredField customerReference\n   * @requiredField customerReference.email\n   * @requiredField customerReference.sourceChannelId\n   * @requiredField customerReference.sourceCustomerId\n   * @requiredField customerReference.sourceTenantId\n   * @permissionId RISE.WALLET_CREATE\n   * @adminMethod\n   */\n  function createWallet(customerReference: CustomerReference$1, options?: CreateWalletOptions): Promise<CreateWalletResponse>;\n  interface CreateWalletOptions {\n      /** Initial amount */\n      initialValue?: string | null;\n      /** Currency */\n      currency?: string | null;\n  }\n  /**\n   * Creates a new Wallet.\n   * In case no Wallet exists - Creates a new wallet as well\n   * if both Wallet and Customer Reference exist - doesn't update anything\n   * @param customerReference - Customer reference\n   * @public\n   * @documentationMaturity preview\n   * @requiredField customerReference\n   * @requiredField customerReference.email\n   * @requiredField customerReference.sourceChannelId\n   * @requiredField customerReference.sourceCustomerId\n   * @requiredField customerReference.sourceTenantId\n   * @permissionId RISE.WALLET_CREATE\n   * @adminMethod\n   */\n  function getOrCreateWallet(customerReference: CustomerReference$1, options?: GetOrCreateWalletOptions): Promise<GetOrCreateWalletResponse>;\n  interface GetOrCreateWalletOptions {\n      /** Currency */\n      currency?: string | null;\n  }\n  /** @param customerReference - Customer reference\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField customerReference\n   * @requiredField customerReference.email\n   * @requiredField customerReference.sourceChannelId\n   * @requiredField customerReference.sourceCustomerId\n   * @requiredField customerReference.sourceTenantId\n   * @permissionId RISE.WALLET_CREATE\n   * @adminMethod\n   */\n  function createCustomerReference(customerReference: CustomerReference$1): Promise<CreateCustomerReferenceResponse>;\n  /**\n   * Get a CustomerReference\n   * @param query - Query\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId RISE.WALLET_READ\n   * @adminMethod\n   */\n  function getCustomerReference(query: CustomerReferenceQuery): Promise<GetCustomerReferenceResponse>;\n  /**\n   * Update CustomerReference\n   * @param customerReference - PII information of CustomerReference will be updated. CustomerReference is identified by ID or source.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField customerReference\n   * @permissionId RISE.WALLET_UPDATE\n   * @adminMethod\n   */\n  function updateCustomerReference(customerReference: CustomerReference$1): Promise<UpdateCustomerReferenceResponse>;\n  /**\n   * Delete a CustomerReference\n   * @param query - Query\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId RISE.WALLET_DELETE\n   * @adminMethod\n   */\n  function deleteCustomerReference(query: CustomerReferenceQuery): Promise<void>;\n  /**\n   * Get a Wallet by ID\n   * @param query - Query\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId RISE.WALLET_READ\n   * @adminMethod\n   */\n  function getWallet(query: WalletQuery): Promise<GetWalletResponse>;\n  /**\n   * Get a Wallet's Gift Card\n   * @param query - ID of the Wallet for which to retrieve the associated Gift Card\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId RISE.WALLET_READ\n   * @adminMethod\n   */\n  function getWalletGiftCard(query: WalletQuery): Promise<GetWalletGiftCardResponse>;\n  /**\n   * Query wallets enriched with gift card and contact information\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RISE.WALLET_READ\n   * @adminMethod\n   */\n  function queryWallets(): WalletsQueryBuilder;\n  interface QueryOffsetResult$1 {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface WalletsQueryResult extends QueryOffsetResult$1 {\n      items: Wallet$1[];\n      query: WalletsQueryBuilder;\n      next: () => Promise<WalletsQueryResult>;\n      prev: () => Promise<WalletsQueryResult>;\n  }\n  interface WalletsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => WalletsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => WalletsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<WalletsQueryResult>;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId RISE.WALLET_READ\n   * @adminMethod\n   */\n  function countWallets(options?: CountWalletsOptions): Promise<CountWalletsResponse>;\n  interface CountWalletsOptions {\n      filter?: Record<string, any> | null;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId RISE.WALLET_READ\n   * @adminMethod\n   */\n  function queryWalletsByContact(query: QueryByContact): Promise<QueryWalletsByContactResponse>;\n  \n  type riseV1Wallet_universal_d_CreateWalletRequest = CreateWalletRequest;\n  type riseV1Wallet_universal_d_CreateWalletResponse = CreateWalletResponse;\n  type riseV1Wallet_universal_d_GetOrCreateWalletRequest = GetOrCreateWalletRequest;\n  type riseV1Wallet_universal_d_GetOrCreateWalletResponse = GetOrCreateWalletResponse;\n  type riseV1Wallet_universal_d_CreateCustomerReferenceRequest = CreateCustomerReferenceRequest;\n  type riseV1Wallet_universal_d_CreateCustomerReferenceResponse = CreateCustomerReferenceResponse;\n  type riseV1Wallet_universal_d_GetCustomerReferenceRequest = GetCustomerReferenceRequest;\n  type riseV1Wallet_universal_d_CustomerReferenceQuery = CustomerReferenceQuery;\n  type riseV1Wallet_universal_d_Source = Source;\n  type riseV1Wallet_universal_d_GetCustomerReferenceResponse = GetCustomerReferenceResponse;\n  type riseV1Wallet_universal_d_UpdateCustomerReferenceRequest = UpdateCustomerReferenceRequest;\n  type riseV1Wallet_universal_d_UpdateCustomerReferenceResponse = UpdateCustomerReferenceResponse;\n  type riseV1Wallet_universal_d_DeleteCustomerReferenceRequest = DeleteCustomerReferenceRequest;\n  type riseV1Wallet_universal_d_DeleteCustomerReferenceResponse = DeleteCustomerReferenceResponse;\n  type riseV1Wallet_universal_d_GetWalletRequest = GetWalletRequest;\n  type riseV1Wallet_universal_d_WalletQuery = WalletQuery;\n  type riseV1Wallet_universal_d_WalletQueryByOneOf = WalletQueryByOneOf;\n  type riseV1Wallet_universal_d_GetWalletResponse = GetWalletResponse;\n  type riseV1Wallet_universal_d_GetWalletGiftCardRequest = GetWalletGiftCardRequest;\n  type riseV1Wallet_universal_d_GetWalletGiftCardResponse = GetWalletGiftCardResponse;\n  type riseV1Wallet_universal_d_GiftCard = GiftCard;\n  type riseV1Wallet_universal_d_GiftCardSourceInfo = GiftCardSourceInfo;\n  type riseV1Wallet_universal_d_GiftCardSourceInfoGiftCardOptionsOneOf = GiftCardSourceInfoGiftCardOptionsOneOf;\n  type riseV1Wallet_universal_d_GiftCardType = GiftCardType;\n  const riseV1Wallet_universal_d_GiftCardType: typeof GiftCardType;\n  type riseV1Wallet_universal_d_OrderOptions = OrderOptions;\n  type riseV1Wallet_universal_d_CampaignOptions = CampaignOptions;\n  type riseV1Wallet_universal_d_MigrationOptions = MigrationOptions;\n  type riseV1Wallet_universal_d_StoreCreditOptions = StoreCreditOptions;\n  type riseV1Wallet_universal_d_WorkflowOptions = WorkflowOptions;\n  type riseV1Wallet_universal_d_BulkOptions = BulkOptions;\n  type riseV1Wallet_universal_d_QueryWalletsRequest = QueryWalletsRequest;\n  type riseV1Wallet_universal_d_QueryWalletsResponse = QueryWalletsResponse;\n  type riseV1Wallet_universal_d_MigrateWalletRequest = MigrateWalletRequest;\n  type riseV1Wallet_universal_d_MigrateWalletResponse = MigrateWalletResponse;\n  type riseV1Wallet_universal_d_CountWalletsRequest = CountWalletsRequest;\n  type riseV1Wallet_universal_d_CountWalletsResponse = CountWalletsResponse;\n  type riseV1Wallet_universal_d_QueryWalletsByContactRequest = QueryWalletsByContactRequest;\n  type riseV1Wallet_universal_d_QueryByContact = QueryByContact;\n  type riseV1Wallet_universal_d_QueryWalletsByContactResponse = QueryWalletsByContactResponse;\n  const riseV1Wallet_universal_d_createWallet: typeof createWallet;\n  type riseV1Wallet_universal_d_CreateWalletOptions = CreateWalletOptions;\n  const riseV1Wallet_universal_d_getOrCreateWallet: typeof getOrCreateWallet;\n  type riseV1Wallet_universal_d_GetOrCreateWalletOptions = GetOrCreateWalletOptions;\n  const riseV1Wallet_universal_d_createCustomerReference: typeof createCustomerReference;\n  const riseV1Wallet_universal_d_getCustomerReference: typeof getCustomerReference;\n  const riseV1Wallet_universal_d_updateCustomerReference: typeof updateCustomerReference;\n  const riseV1Wallet_universal_d_deleteCustomerReference: typeof deleteCustomerReference;\n  const riseV1Wallet_universal_d_getWallet: typeof getWallet;\n  const riseV1Wallet_universal_d_getWalletGiftCard: typeof getWalletGiftCard;\n  const riseV1Wallet_universal_d_queryWallets: typeof queryWallets;\n  type riseV1Wallet_universal_d_WalletsQueryResult = WalletsQueryResult;\n  type riseV1Wallet_universal_d_WalletsQueryBuilder = WalletsQueryBuilder;\n  const riseV1Wallet_universal_d_countWallets: typeof countWallets;\n  type riseV1Wallet_universal_d_CountWalletsOptions = CountWalletsOptions;\n  const riseV1Wallet_universal_d_queryWalletsByContact: typeof queryWalletsByContact;\n  namespace riseV1Wallet_universal_d {\n    export {\n      Wallet$1 as Wallet,\n      CustomerReference$1 as CustomerReference,\n      GiftCardInfo$1 as GiftCardInfo,\n      riseV1Wallet_universal_d_CreateWalletRequest as CreateWalletRequest,\n      riseV1Wallet_universal_d_CreateWalletResponse as CreateWalletResponse,\n      riseV1Wallet_universal_d_GetOrCreateWalletRequest as GetOrCreateWalletRequest,\n      riseV1Wallet_universal_d_GetOrCreateWalletResponse as GetOrCreateWalletResponse,\n      riseV1Wallet_universal_d_CreateCustomerReferenceRequest as CreateCustomerReferenceRequest,\n      riseV1Wallet_universal_d_CreateCustomerReferenceResponse as CreateCustomerReferenceResponse,\n      riseV1Wallet_universal_d_GetCustomerReferenceRequest as GetCustomerReferenceRequest,\n      riseV1Wallet_universal_d_CustomerReferenceQuery as CustomerReferenceQuery,\n      riseV1Wallet_universal_d_Source as Source,\n      riseV1Wallet_universal_d_GetCustomerReferenceResponse as GetCustomerReferenceResponse,\n      riseV1Wallet_universal_d_UpdateCustomerReferenceRequest as UpdateCustomerReferenceRequest,\n      riseV1Wallet_universal_d_UpdateCustomerReferenceResponse as UpdateCustomerReferenceResponse,\n      riseV1Wallet_universal_d_DeleteCustomerReferenceRequest as DeleteCustomerReferenceRequest,\n      riseV1Wallet_universal_d_DeleteCustomerReferenceResponse as DeleteCustomerReferenceResponse,\n      riseV1Wallet_universal_d_GetWalletRequest as GetWalletRequest,\n      riseV1Wallet_universal_d_WalletQuery as WalletQuery,\n      riseV1Wallet_universal_d_WalletQueryByOneOf as WalletQueryByOneOf,\n      riseV1Wallet_universal_d_GetWalletResponse as GetWalletResponse,\n      riseV1Wallet_universal_d_GetWalletGiftCardRequest as GetWalletGiftCardRequest,\n      riseV1Wallet_universal_d_GetWalletGiftCardResponse as GetWalletGiftCardResponse,\n      riseV1Wallet_universal_d_GiftCard as GiftCard,\n      riseV1Wallet_universal_d_GiftCardSourceInfo as GiftCardSourceInfo,\n      riseV1Wallet_universal_d_GiftCardSourceInfoGiftCardOptionsOneOf as GiftCardSourceInfoGiftCardOptionsOneOf,\n      riseV1Wallet_universal_d_GiftCardType as GiftCardType,\n      riseV1Wallet_universal_d_OrderOptions as OrderOptions,\n      riseV1Wallet_universal_d_CampaignOptions as CampaignOptions,\n      riseV1Wallet_universal_d_MigrationOptions as MigrationOptions,\n      riseV1Wallet_universal_d_StoreCreditOptions as StoreCreditOptions,\n      riseV1Wallet_universal_d_WorkflowOptions as WorkflowOptions,\n      riseV1Wallet_universal_d_BulkOptions as BulkOptions,\n      ActionInitiator$1 as ActionInitiator,\n      InitiatorType$1 as InitiatorType,\n      riseV1Wallet_universal_d_QueryWalletsRequest as QueryWalletsRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$1 as Paging,\n      CursorPaging$1 as CursorPaging,\n      riseV1Wallet_universal_d_QueryWalletsResponse as QueryWalletsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      Empty$1 as Empty,\n      riseV1Wallet_universal_d_MigrateWalletRequest as MigrateWalletRequest,\n      riseV1Wallet_universal_d_MigrateWalletResponse as MigrateWalletResponse,\n      riseV1Wallet_universal_d_CountWalletsRequest as CountWalletsRequest,\n      riseV1Wallet_universal_d_CountWalletsResponse as CountWalletsResponse,\n      riseV1Wallet_universal_d_QueryWalletsByContactRequest as QueryWalletsByContactRequest,\n      riseV1Wallet_universal_d_QueryByContact as QueryByContact,\n      riseV1Wallet_universal_d_QueryWalletsByContactResponse as QueryWalletsByContactResponse,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      riseV1Wallet_universal_d_createWallet as createWallet,\n      riseV1Wallet_universal_d_CreateWalletOptions as CreateWalletOptions,\n      riseV1Wallet_universal_d_getOrCreateWallet as getOrCreateWallet,\n      riseV1Wallet_universal_d_GetOrCreateWalletOptions as GetOrCreateWalletOptions,\n      riseV1Wallet_universal_d_createCustomerReference as createCustomerReference,\n      riseV1Wallet_universal_d_getCustomerReference as getCustomerReference,\n      riseV1Wallet_universal_d_updateCustomerReference as updateCustomerReference,\n      riseV1Wallet_universal_d_deleteCustomerReference as deleteCustomerReference,\n      riseV1Wallet_universal_d_getWallet as getWallet,\n      riseV1Wallet_universal_d_getWalletGiftCard as getWalletGiftCard,\n      riseV1Wallet_universal_d_queryWallets as queryWallets,\n      riseV1Wallet_universal_d_WalletsQueryResult as WalletsQueryResult,\n      riseV1Wallet_universal_d_WalletsQueryBuilder as WalletsQueryBuilder,\n      riseV1Wallet_universal_d_countWallets as countWallets,\n      riseV1Wallet_universal_d_CountWalletsOptions as CountWalletsOptions,\n      riseV1Wallet_universal_d_queryWalletsByContact as queryWalletsByContact,\n    };\n  }\n  \n  /** WalletAction is the main entity of WalletActionService that can be used for lorem ipsum dolor */\n  interface WalletAction {\n      /**\n       * WalletAction ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this WalletAction was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this WalletAction was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Represents the time when the walletAction's amount will be added to the account */\n      startDate?: Date | null;\n      /** Represents the time when the unused balance will be deducted from the account */\n      expirationDate?: Date | null;\n      /**\n       * Represents the time when the walletAction was manually disabled\n       * @readonly\n       */\n      disableDate?: Date | null;\n      /** The amount to be added to the Wallet */\n      amount?: string;\n      /**\n       * Free text comment regarding the WalletAction context\n       * @deprecated\n       * @replacedBy storeCreditContext.note\n       * @targetRemovalDate 2024-12-10\n       */\n      note?: string | null;\n      /**\n       * Indicates the kind of the specific walletAction\n       * @deprecated\n       */\n      type?: WalletActionType;\n      /** @readonly */\n      walletActionStarted?: WalletActionExecutionDetails;\n      /** @readonly */\n      walletActionEnded?: WalletActionExecutionDetails;\n      /** @readonly */\n      status?: WalletActionStatus;\n      /** @readonly */\n      source?: ActionInitiator;\n      notifications?: Notifications;\n      liability?: boolean | null;\n      /** @readonly */\n      storeCreditContext?: StoreCreditContext;\n      externalEvent?: ExternalEvent;\n      /** Wallet ID */\n      walletId?: string | null;\n  }\n  interface EmailParams {\n      skipEmailDispatch?: boolean | null;\n      overrideTemplateId?: string | null;\n  }\n  enum WalletActionType {\n      UNKNOWN = \"UNKNOWN\",\n      REWARD = \"REWARD\",\n      REFUND = \"REFUND\"\n  }\n  interface WalletActionExecutionDetails {\n      /** @readonly */\n      transactionId?: string | null;\n      /** @readonly */\n      executionDate?: Date | null;\n  }\n  enum WalletActionStatus {\n      PENDING = \"PENDING\",\n      ACTIVE = \"ACTIVE\",\n      DISABLED = \"DISABLED\",\n      EXPIRED = \"EXPIRED\",\n      FAILED = \"FAILED\"\n  }\n  interface ActionInitiator {\n      type?: InitiatorType;\n      _id?: string | null;\n  }\n  enum InitiatorType {\n      UNKNOWN_INITIATOR = \"UNKNOWN_INITIATOR\",\n      APP = \"APP\",\n      USER = \"USER\"\n  }\n  interface Notifications {\n      emailParams?: EmailParams;\n  }\n  interface StoreCreditContext {\n      issuer?: StoreCreditIssuerType;\n      /** Indicates a specific instance of the issuer (relevant for workflow/bulk) */\n      issuerId?: string | null;\n      note?: string | null;\n      sourceChannelId?: string | null;\n      sourceTenantId?: string | null;\n  }\n  enum StoreCreditIssuerType {\n      UNKNOWN_ISSUER = \"UNKNOWN_ISSUER\",\n      WORKFLOW = \"WORKFLOW\",\n      BULK = \"BULK\",\n      MANUAL = \"MANUAL\",\n      OTHER = \"OTHER\",\n      REFUND = \"REFUND\"\n  }\n  interface ExternalEvent {\n      /** Event type indicator */\n      name?: ExternalEventType;\n      /** Short description or identifier of the event */\n      description?: string | null;\n  }\n  enum ExternalEventType {\n      UNKNOWN_EVENT_TYPE = \"UNKNOWN_EVENT_TYPE\",\n      ORDER = \"ORDER\",\n      REFUND = \"REFUND\",\n      REFERRAL = \"REFERRAL\",\n      SIGN_UP = \"SIGN_UP\",\n      MEMBERSHIP = \"MEMBERSHIP\",\n      COMPENSATION = \"COMPENSATION\",\n      OTHER = \"OTHER\"\n  }\n  interface CreateWalletActionRequest {\n      /** WalletAction to be created */\n      walletAction: WalletAction;\n  }\n  interface CreateWalletActionResponse {\n      /** The created WalletAction */\n      walletAction?: WalletAction;\n  }\n  interface WalletActionCreationExpirationDateInThePastDetails {\n      /** The date when the walletAction expires. */\n      expirationDate?: Date | null;\n      /** The date when the walletAction was tried to be created. */\n      currentDate?: Date | null;\n  }\n  interface WalletActionCreationStartLaterThanExpirationDetails {\n      /** The start date of the walletAction. */\n      startDate?: Date | null;\n      /** The date when the walletAction expires. */\n      expirationDate?: Date | null;\n  }\n  interface WalletActionCreationDisabledAtDateSetDetails {\n      /** Represents the time when the walletAction was disabled. */\n      disableDate?: Date | null;\n  }\n  interface WalletActionExceedsMaximumBalanceDetails {\n      /** WalletAction ID. */\n      walletActionId?: string;\n  }\n  interface CreateWalletActionByCustomerReferenceRequest {\n      /** CustomerReference to create WalletAction for */\n      customerReference: CustomerReference;\n      /** WalletAction to be created */\n      walletAction: WalletAction;\n      /** The currency of the new wallet, if no wallet already exists */\n      newWalletCurrency?: string | null;\n  }\n  interface CustomerReference {\n      /** Source channel, i.e. Shopify */\n      sourceChannelId?: string;\n      /** Tenant ID in Source, i.e. shop ID */\n      sourceTenantId?: string;\n      /** Customer ID in Source */\n      sourceCustomerId?: string;\n      /** First name */\n      firstName?: string | null;\n      /** Last name */\n      lastName?: string | null;\n      /** Phone */\n      phone?: string | null;\n      /** Email */\n      email?: string;\n      /**\n       * Internal id\n       * @internal\n       * @readonly\n       */\n      _id?: string | null;\n  }\n  interface CreateWalletActionByCustomerReferenceResponse {\n      /** The created WalletAction */\n      walletAction?: WalletAction;\n      /** The wallet of the created WalletAction */\n      wallet?: Wallet;\n  }\n  /** Wallet is the main entity of WalletService that contains GiftCard and customer references */\n  interface Wallet {\n      /**\n       * Wallet ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the Gift Card associated with this Wallet\n       * @readonly\n       */\n      giftCardId?: string;\n      /**\n       * Customer references\n       * @readonly\n       */\n      customerReferences?: CustomerReference[];\n      /**\n       * Represents the time this Wallet was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this Wallet was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Gift Card info\n       * @readonly\n       */\n      giftCardInfo?: GiftCardInfo;\n      /**\n       * ID of primary customer reference\n       * @internal\n       * @readonly\n       */\n      primaryCustomerReferenceId?: string;\n  }\n  interface GiftCardInfo {\n      /**\n       * Gift Card Code\n       * @readonly\n       */\n      code?: string;\n      /**\n       * Current Gift Card Balance\n       * @readonly\n       */\n      balance?: string;\n      /**\n       * Gift Card Currency\n       * @readonly\n       */\n      currency?: string | null;\n  }\n  interface GetWalletActionRequest {\n      /** ID of the WalletAction to retrieve */\n      walletActionId: string;\n  }\n  interface GetWalletActionResponse {\n      /** The retrieved WalletAction */\n      walletAction?: WalletAction;\n  }\n  interface UpdateWalletActionRequest {\n      /** WalletAction to be updated, may be partial */\n      walletAction: WalletAction;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateWalletActionResponse {\n      /** The updated WalletAction */\n      walletAction?: WalletAction;\n  }\n  interface InvalidWalletActionDetails {\n      /** WalletAction ID. */\n      walletActionId?: string;\n  }\n  interface WalletActionUpdateStartDateInThePastDetails {\n      /** WalletAction ID. */\n      walletActionId?: string;\n      /** The date when the walletAction expires. */\n      newStartDate?: Date | null;\n      /** The date when the walletAction was tried to be updated. */\n      currentDate?: Date | null;\n  }\n  interface WalletActionUpdateExpirationDateInThePastDetails {\n      /** WalletAction ID. */\n      walletActionId?: string;\n      /** The date when the walletAction expires. */\n      newExpirationDate?: Date | null;\n      /** The date when the walletAction was tried to be updated. */\n      currentDate?: Date | null;\n  }\n  interface WalletActionUpdateStartLaterThanExpirationDetails {\n      /** WalletAction ID. */\n      walletActionId?: string;\n      /** The start date of the walletAction. */\n      startDate?: Date | null;\n      /** The date when the walletAction expires. */\n      expirationDate?: Date | null;\n  }\n  interface DisableWalletActionRequest {\n      /** ID of the WalletAction to delete */\n      walletActionId: string;\n      /** The revision of the WalletAction */\n      revision: string;\n  }\n  interface DisableWalletActionResponse {\n      /** The expired WalletAction */\n      walletAction?: WalletAction;\n  }\n  interface WalletActionDisabled {\n      walletAction?: WalletAction;\n  }\n  interface DeleteWalletActionRequest {\n      /** ID of the WalletAction to delete */\n      walletActionId: string;\n      /** The revision of the WalletAction */\n      revision?: string;\n  }\n  interface DeleteWalletActionResponse {\n  }\n  interface QueryWalletActionRequest {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryWalletActionResponse {\n      /** The retrieved WalletActions */\n      walletActions?: WalletAction[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryWalletActionBalancesRequest {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryWalletActionBalancesResponse {\n      /** The retrieved WalletActions with their balance */\n      walletActions?: WalletActionWithBalance[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface WalletActionWithBalance {\n      /** WalletAction */\n      walletAction?: WalletAction;\n      /** WalletAction balance */\n      balance?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface CreateMigrationWalletActionRequest {\n      /** WalletAction to be created */\n      walletAction?: WalletAction;\n  }\n  interface CreateMigrationWalletActionResponse {\n      /** The created WalletAction */\n      walletAction?: WalletAction;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new WalletAction\n   * @param walletAction - WalletAction to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField walletAction\n   * @requiredField walletAction.amount\n   * @requiredField walletAction.storeCreditContext\n   * @requiredField walletAction.walletId\n   * @permissionId RISE.WALLET_ACTION_CREATE\n   * @adminMethod\n   * @returns The created WalletAction\n   */\n  function createWalletAction(walletAction: WalletAction): Promise<WalletAction>;\n  /** @param customerReference - CustomerReference to create WalletAction for\n   * @public\n   * @documentationMaturity preview\n   * @requiredField customerReference\n   * @requiredField customerReference.email\n   * @requiredField customerReference.sourceChannelId\n   * @requiredField customerReference.sourceCustomerId\n   * @requiredField customerReference.sourceTenantId\n   * @requiredField options.walletAction\n   * @requiredField options.walletAction.amount\n   * @permissionId RISE.WALLET_ACTION_CREATE\n   * @adminMethod\n   */\n  function createWalletActionByCustomerReference(customerReference: CustomerReference, options?: CreateWalletActionByCustomerReferenceOptions): Promise<CreateWalletActionByCustomerReferenceResponse>;\n  interface CreateWalletActionByCustomerReferenceOptions {\n      /** WalletAction to be created */\n      walletAction: WalletAction;\n      /** The currency of the new wallet, if no wallet already exists */\n      newWalletCurrency?: string | null;\n  }\n  /**\n   * Get an WalletAction by ID\n   * @param walletActionId - ID of the WalletAction to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField walletActionId\n   * @permissionId RISE.WALLET_ACTION_READ\n   * @adminMethod\n   * @returns The retrieved WalletAction\n   */\n  function getWalletAction(walletActionId: string): Promise<WalletAction>;\n  /**\n   * Update an WalletAction, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - WalletAction ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField walletAction\n   * @requiredField walletAction.revision\n   * @permissionId RISE.WALLET_ACTION_UPDATE\n   * @adminMethod\n   * @returns The updated WalletAction\n   */\n  function updateWalletAction(_id: string | null, walletAction: UpdateWalletAction, options?: UpdateWalletActionOptions): Promise<WalletAction>;\n  interface UpdateWalletAction {\n      /**\n       * WalletAction ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this WalletAction was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this WalletAction was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Represents the time when the walletAction's amount will be added to the account */\n      startDate?: Date | null;\n      /** Represents the time when the unused balance will be deducted from the account */\n      expirationDate?: Date | null;\n      /**\n       * Represents the time when the walletAction was manually disabled\n       * @readonly\n       */\n      disableDate?: Date | null;\n      /** The amount to be added to the Wallet */\n      amount?: string;\n      /**\n       * Free text comment regarding the WalletAction context\n       * @deprecated\n       * @replacedBy storeCreditContext.note\n       * @targetRemovalDate 2024-12-10\n       */\n      note?: string | null;\n      /**\n       * Indicates the kind of the specific walletAction\n       * @deprecated\n       */\n      type?: WalletActionType;\n      /** @readonly */\n      walletActionStarted?: WalletActionExecutionDetails;\n      /** @readonly */\n      walletActionEnded?: WalletActionExecutionDetails;\n      /** @readonly */\n      status?: WalletActionStatus;\n      /** @readonly */\n      source?: ActionInitiator;\n      notifications?: Notifications;\n      liability?: boolean | null;\n      /** @readonly */\n      storeCreditContext?: StoreCreditContext;\n      externalEvent?: ExternalEvent;\n      /** Wallet ID */\n      walletId?: string | null;\n  }\n  interface UpdateWalletActionOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Expire an WalletAction immediately and deducting the remaining balance from the gift card\n   * @param walletActionId - ID of the WalletAction to delete\n   * @param revision - The revision of the WalletAction\n   * @public\n   * @documentationMaturity preview\n   * @requiredField revision\n   * @requiredField walletActionId\n   * @permissionId RISE.WALLET_ACTION_UPDATE\n   * @adminMethod\n   */\n  function disableWalletAction(walletActionId: string, revision: string): Promise<DisableWalletActionResponse>;\n  /**\n   * Delete an WalletAction, only available for wallet_actions which haven't started\n   * @param walletActionId - ID of the WalletAction to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField walletActionId\n   * @permissionId RISE.WALLET_ACTION_DELETE\n   * @adminMethod\n   */\n  function deleteWalletAction(walletActionId: string, options?: DeleteWalletActionOptions): Promise<void>;\n  interface DeleteWalletActionOptions {\n      /** The revision of the WalletAction */\n      revision?: string;\n  }\n  /**\n   * Query WalletActions using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RISE.WALLET_ACTION_READ\n   * @adminMethod\n   */\n  function queryWalletActions(): WalletActionsQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface WalletActionsQueryResult extends QueryOffsetResult {\n      items: WalletAction[];\n      query: WalletActionsQueryBuilder;\n      next: () => Promise<WalletActionsQueryResult>;\n      prev: () => Promise<WalletActionsQueryResult>;\n  }\n  interface WalletActionsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => WalletActionsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => WalletActionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<WalletActionsQueryResult>;\n  }\n  /**\n   * Query WalletActions using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * Results will be enriched with calculated balances\n   * @param query - WQL expression\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId RISE.WALLET_ACTION_READ\n   * @adminMethod\n   */\n  function queryWalletActionsBalances(query: QueryV2): Promise<QueryWalletActionBalancesResponse>;\n  \n  type riseV1WalletAction_universal_d_WalletAction = WalletAction;\n  type riseV1WalletAction_universal_d_EmailParams = EmailParams;\n  type riseV1WalletAction_universal_d_WalletActionType = WalletActionType;\n  const riseV1WalletAction_universal_d_WalletActionType: typeof WalletActionType;\n  type riseV1WalletAction_universal_d_WalletActionExecutionDetails = WalletActionExecutionDetails;\n  type riseV1WalletAction_universal_d_WalletActionStatus = WalletActionStatus;\n  const riseV1WalletAction_universal_d_WalletActionStatus: typeof WalletActionStatus;\n  type riseV1WalletAction_universal_d_ActionInitiator = ActionInitiator;\n  type riseV1WalletAction_universal_d_InitiatorType = InitiatorType;\n  const riseV1WalletAction_universal_d_InitiatorType: typeof InitiatorType;\n  type riseV1WalletAction_universal_d_Notifications = Notifications;\n  type riseV1WalletAction_universal_d_StoreCreditContext = StoreCreditContext;\n  type riseV1WalletAction_universal_d_StoreCreditIssuerType = StoreCreditIssuerType;\n  const riseV1WalletAction_universal_d_StoreCreditIssuerType: typeof StoreCreditIssuerType;\n  type riseV1WalletAction_universal_d_ExternalEvent = ExternalEvent;\n  type riseV1WalletAction_universal_d_ExternalEventType = ExternalEventType;\n  const riseV1WalletAction_universal_d_ExternalEventType: typeof ExternalEventType;\n  type riseV1WalletAction_universal_d_CreateWalletActionRequest = CreateWalletActionRequest;\n  type riseV1WalletAction_universal_d_CreateWalletActionResponse = CreateWalletActionResponse;\n  type riseV1WalletAction_universal_d_WalletActionCreationExpirationDateInThePastDetails = WalletActionCreationExpirationDateInThePastDetails;\n  type riseV1WalletAction_universal_d_WalletActionCreationStartLaterThanExpirationDetails = WalletActionCreationStartLaterThanExpirationDetails;\n  type riseV1WalletAction_universal_d_WalletActionCreationDisabledAtDateSetDetails = WalletActionCreationDisabledAtDateSetDetails;\n  type riseV1WalletAction_universal_d_WalletActionExceedsMaximumBalanceDetails = WalletActionExceedsMaximumBalanceDetails;\n  type riseV1WalletAction_universal_d_CreateWalletActionByCustomerReferenceRequest = CreateWalletActionByCustomerReferenceRequest;\n  type riseV1WalletAction_universal_d_CustomerReference = CustomerReference;\n  type riseV1WalletAction_universal_d_CreateWalletActionByCustomerReferenceResponse = CreateWalletActionByCustomerReferenceResponse;\n  type riseV1WalletAction_universal_d_Wallet = Wallet;\n  type riseV1WalletAction_universal_d_GiftCardInfo = GiftCardInfo;\n  type riseV1WalletAction_universal_d_GetWalletActionRequest = GetWalletActionRequest;\n  type riseV1WalletAction_universal_d_GetWalletActionResponse = GetWalletActionResponse;\n  type riseV1WalletAction_universal_d_UpdateWalletActionRequest = UpdateWalletActionRequest;\n  type riseV1WalletAction_universal_d_UpdateWalletActionResponse = UpdateWalletActionResponse;\n  type riseV1WalletAction_universal_d_InvalidWalletActionDetails = InvalidWalletActionDetails;\n  type riseV1WalletAction_universal_d_WalletActionUpdateStartDateInThePastDetails = WalletActionUpdateStartDateInThePastDetails;\n  type riseV1WalletAction_universal_d_WalletActionUpdateExpirationDateInThePastDetails = WalletActionUpdateExpirationDateInThePastDetails;\n  type riseV1WalletAction_universal_d_WalletActionUpdateStartLaterThanExpirationDetails = WalletActionUpdateStartLaterThanExpirationDetails;\n  type riseV1WalletAction_universal_d_DisableWalletActionRequest = DisableWalletActionRequest;\n  type riseV1WalletAction_universal_d_DisableWalletActionResponse = DisableWalletActionResponse;\n  type riseV1WalletAction_universal_d_WalletActionDisabled = WalletActionDisabled;\n  type riseV1WalletAction_universal_d_DeleteWalletActionRequest = DeleteWalletActionRequest;\n  type riseV1WalletAction_universal_d_DeleteWalletActionResponse = DeleteWalletActionResponse;\n  type riseV1WalletAction_universal_d_QueryWalletActionRequest = QueryWalletActionRequest;\n  type riseV1WalletAction_universal_d_QueryV2 = QueryV2;\n  type riseV1WalletAction_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type riseV1WalletAction_universal_d_Sorting = Sorting;\n  type riseV1WalletAction_universal_d_SortOrder = SortOrder;\n  const riseV1WalletAction_universal_d_SortOrder: typeof SortOrder;\n  type riseV1WalletAction_universal_d_Paging = Paging;\n  type riseV1WalletAction_universal_d_CursorPaging = CursorPaging;\n  type riseV1WalletAction_universal_d_QueryWalletActionResponse = QueryWalletActionResponse;\n  type riseV1WalletAction_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type riseV1WalletAction_universal_d_Cursors = Cursors;\n  type riseV1WalletAction_universal_d_QueryWalletActionBalancesRequest = QueryWalletActionBalancesRequest;\n  type riseV1WalletAction_universal_d_QueryWalletActionBalancesResponse = QueryWalletActionBalancesResponse;\n  type riseV1WalletAction_universal_d_WalletActionWithBalance = WalletActionWithBalance;\n  type riseV1WalletAction_universal_d_DomainEvent = DomainEvent;\n  type riseV1WalletAction_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type riseV1WalletAction_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type riseV1WalletAction_universal_d_RestoreInfo = RestoreInfo;\n  type riseV1WalletAction_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type riseV1WalletAction_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type riseV1WalletAction_universal_d_ActionEvent = ActionEvent;\n  type riseV1WalletAction_universal_d_Empty = Empty;\n  type riseV1WalletAction_universal_d_CreateMigrationWalletActionRequest = CreateMigrationWalletActionRequest;\n  type riseV1WalletAction_universal_d_CreateMigrationWalletActionResponse = CreateMigrationWalletActionResponse;\n  type riseV1WalletAction_universal_d_MessageEnvelope = MessageEnvelope;\n  type riseV1WalletAction_universal_d_IdentificationData = IdentificationData;\n  type riseV1WalletAction_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type riseV1WalletAction_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const riseV1WalletAction_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const riseV1WalletAction_universal_d_createWalletAction: typeof createWalletAction;\n  const riseV1WalletAction_universal_d_createWalletActionByCustomerReference: typeof createWalletActionByCustomerReference;\n  type riseV1WalletAction_universal_d_CreateWalletActionByCustomerReferenceOptions = CreateWalletActionByCustomerReferenceOptions;\n  const riseV1WalletAction_universal_d_getWalletAction: typeof getWalletAction;\n  const riseV1WalletAction_universal_d_updateWalletAction: typeof updateWalletAction;\n  type riseV1WalletAction_universal_d_UpdateWalletAction = UpdateWalletAction;\n  type riseV1WalletAction_universal_d_UpdateWalletActionOptions = UpdateWalletActionOptions;\n  const riseV1WalletAction_universal_d_disableWalletAction: typeof disableWalletAction;\n  const riseV1WalletAction_universal_d_deleteWalletAction: typeof deleteWalletAction;\n  type riseV1WalletAction_universal_d_DeleteWalletActionOptions = DeleteWalletActionOptions;\n  const riseV1WalletAction_universal_d_queryWalletActions: typeof queryWalletActions;\n  type riseV1WalletAction_universal_d_WalletActionsQueryResult = WalletActionsQueryResult;\n  type riseV1WalletAction_universal_d_WalletActionsQueryBuilder = WalletActionsQueryBuilder;\n  const riseV1WalletAction_universal_d_queryWalletActionsBalances: typeof queryWalletActionsBalances;\n  namespace riseV1WalletAction_universal_d {\n    export {\n      riseV1WalletAction_universal_d_WalletAction as WalletAction,\n      riseV1WalletAction_universal_d_EmailParams as EmailParams,\n      riseV1WalletAction_universal_d_WalletActionType as WalletActionType,\n      riseV1WalletAction_universal_d_WalletActionExecutionDetails as WalletActionExecutionDetails,\n      riseV1WalletAction_universal_d_WalletActionStatus as WalletActionStatus,\n      riseV1WalletAction_universal_d_ActionInitiator as ActionInitiator,\n      riseV1WalletAction_universal_d_InitiatorType as InitiatorType,\n      riseV1WalletAction_universal_d_Notifications as Notifications,\n      riseV1WalletAction_universal_d_StoreCreditContext as StoreCreditContext,\n      riseV1WalletAction_universal_d_StoreCreditIssuerType as StoreCreditIssuerType,\n      riseV1WalletAction_universal_d_ExternalEvent as ExternalEvent,\n      riseV1WalletAction_universal_d_ExternalEventType as ExternalEventType,\n      riseV1WalletAction_universal_d_CreateWalletActionRequest as CreateWalletActionRequest,\n      riseV1WalletAction_universal_d_CreateWalletActionResponse as CreateWalletActionResponse,\n      riseV1WalletAction_universal_d_WalletActionCreationExpirationDateInThePastDetails as WalletActionCreationExpirationDateInThePastDetails,\n      riseV1WalletAction_universal_d_WalletActionCreationStartLaterThanExpirationDetails as WalletActionCreationStartLaterThanExpirationDetails,\n      riseV1WalletAction_universal_d_WalletActionCreationDisabledAtDateSetDetails as WalletActionCreationDisabledAtDateSetDetails,\n      riseV1WalletAction_universal_d_WalletActionExceedsMaximumBalanceDetails as WalletActionExceedsMaximumBalanceDetails,\n      riseV1WalletAction_universal_d_CreateWalletActionByCustomerReferenceRequest as CreateWalletActionByCustomerReferenceRequest,\n      riseV1WalletAction_universal_d_CustomerReference as CustomerReference,\n      riseV1WalletAction_universal_d_CreateWalletActionByCustomerReferenceResponse as CreateWalletActionByCustomerReferenceResponse,\n      riseV1WalletAction_universal_d_Wallet as Wallet,\n      riseV1WalletAction_universal_d_GiftCardInfo as GiftCardInfo,\n      riseV1WalletAction_universal_d_GetWalletActionRequest as GetWalletActionRequest,\n      riseV1WalletAction_universal_d_GetWalletActionResponse as GetWalletActionResponse,\n      riseV1WalletAction_universal_d_UpdateWalletActionRequest as UpdateWalletActionRequest,\n      riseV1WalletAction_universal_d_UpdateWalletActionResponse as UpdateWalletActionResponse,\n      riseV1WalletAction_universal_d_InvalidWalletActionDetails as InvalidWalletActionDetails,\n      riseV1WalletAction_universal_d_WalletActionUpdateStartDateInThePastDetails as WalletActionUpdateStartDateInThePastDetails,\n      riseV1WalletAction_universal_d_WalletActionUpdateExpirationDateInThePastDetails as WalletActionUpdateExpirationDateInThePastDetails,\n      riseV1WalletAction_universal_d_WalletActionUpdateStartLaterThanExpirationDetails as WalletActionUpdateStartLaterThanExpirationDetails,\n      riseV1WalletAction_universal_d_DisableWalletActionRequest as DisableWalletActionRequest,\n      riseV1WalletAction_universal_d_DisableWalletActionResponse as DisableWalletActionResponse,\n      riseV1WalletAction_universal_d_WalletActionDisabled as WalletActionDisabled,\n      riseV1WalletAction_universal_d_DeleteWalletActionRequest as DeleteWalletActionRequest,\n      riseV1WalletAction_universal_d_DeleteWalletActionResponse as DeleteWalletActionResponse,\n      riseV1WalletAction_universal_d_QueryWalletActionRequest as QueryWalletActionRequest,\n      riseV1WalletAction_universal_d_QueryV2 as QueryV2,\n      riseV1WalletAction_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      riseV1WalletAction_universal_d_Sorting as Sorting,\n      riseV1WalletAction_universal_d_SortOrder as SortOrder,\n      riseV1WalletAction_universal_d_Paging as Paging,\n      riseV1WalletAction_universal_d_CursorPaging as CursorPaging,\n      riseV1WalletAction_universal_d_QueryWalletActionResponse as QueryWalletActionResponse,\n      riseV1WalletAction_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      riseV1WalletAction_universal_d_Cursors as Cursors,\n      riseV1WalletAction_universal_d_QueryWalletActionBalancesRequest as QueryWalletActionBalancesRequest,\n      riseV1WalletAction_universal_d_QueryWalletActionBalancesResponse as QueryWalletActionBalancesResponse,\n      riseV1WalletAction_universal_d_WalletActionWithBalance as WalletActionWithBalance,\n      riseV1WalletAction_universal_d_DomainEvent as DomainEvent,\n      riseV1WalletAction_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      riseV1WalletAction_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      riseV1WalletAction_universal_d_RestoreInfo as RestoreInfo,\n      riseV1WalletAction_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      riseV1WalletAction_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      riseV1WalletAction_universal_d_ActionEvent as ActionEvent,\n      riseV1WalletAction_universal_d_Empty as Empty,\n      riseV1WalletAction_universal_d_CreateMigrationWalletActionRequest as CreateMigrationWalletActionRequest,\n      riseV1WalletAction_universal_d_CreateMigrationWalletActionResponse as CreateMigrationWalletActionResponse,\n      riseV1WalletAction_universal_d_MessageEnvelope as MessageEnvelope,\n      riseV1WalletAction_universal_d_IdentificationData as IdentificationData,\n      riseV1WalletAction_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      riseV1WalletAction_universal_d_WebhookIdentityType as WebhookIdentityType,\n      riseV1WalletAction_universal_d_createWalletAction as createWalletAction,\n      riseV1WalletAction_universal_d_createWalletActionByCustomerReference as createWalletActionByCustomerReference,\n      riseV1WalletAction_universal_d_CreateWalletActionByCustomerReferenceOptions as CreateWalletActionByCustomerReferenceOptions,\n      riseV1WalletAction_universal_d_getWalletAction as getWalletAction,\n      riseV1WalletAction_universal_d_updateWalletAction as updateWalletAction,\n      riseV1WalletAction_universal_d_UpdateWalletAction as UpdateWalletAction,\n      riseV1WalletAction_universal_d_UpdateWalletActionOptions as UpdateWalletActionOptions,\n      riseV1WalletAction_universal_d_disableWalletAction as disableWalletAction,\n      riseV1WalletAction_universal_d_deleteWalletAction as deleteWalletAction,\n      riseV1WalletAction_universal_d_DeleteWalletActionOptions as DeleteWalletActionOptions,\n      riseV1WalletAction_universal_d_queryWalletActions as queryWalletActions,\n      riseV1WalletAction_universal_d_WalletActionsQueryResult as WalletActionsQueryResult,\n      riseV1WalletAction_universal_d_WalletActionsQueryBuilder as WalletActionsQueryBuilder,\n      riseV1WalletAction_universal_d_queryWalletActionsBalances as queryWalletActionsBalances,\n    };\n  }\n  \n  export { riseV1GiftCard_universal_d as giftCard, riseV1Wallet_universal_d as wallet, riseV1WalletAction_universal_d as walletAction };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-social-marketing-design.d.ts",
      "content": "declare module \"interfaces-promote-v1-social-marketing-design\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetDesignRequest {\n      /** Id of the Design to retrieve */\n      designId: string;\n  }\n  interface GetDesignResponse {\n      /** The retrieved Design */\n      design?: Design;\n  }\n  /** Design is the main entity of SocialMarketingDesignSPI */\n  interface Design {\n      /**\n       * Design ID\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Provider ID\n       * @readonly\n       */\n      providerId?: string;\n      /** Thumbnail of the design */\n      thumbnail?: string;\n      /** Main media of the design */\n      media?: string;\n      /** Format of the design */\n      format?: Format;\n      /** The date the design was last edited */\n      lastEditedDate?: Date;\n  }\n  enum Format {\n      UNKNOWN = \"UNKNOWN\",\n      SQUARE = \"SQUARE\",\n      PORTRAIT = \"PORTRAIT\",\n      LANDSCAPE = \"LANDSCAPE\"\n  }\n  interface ListDesignsRequest {\n  }\n  interface ListDesignsResponse {\n      /** The retrieved Designs */\n      designs?: Design[];\n  }\n  interface DuplicateDesignRequest {\n      /** Id of the Design to duplicate */\n      designId: string;\n  }\n  interface DuplicateDesignResponse {\n      /** The new created Design */\n      design?: Design;\n  }\n  interface DeleteDesignRequest {\n      /** Id of the Design to delete */\n      designId: string;\n  }\n  interface DeleteDesignResponse {\n  }\n  interface SocialMarketingDesignSPIConfig {\n      /** ID of the provider */\n      _id?: string;\n      /** Name of the provider */\n      name?: string;\n      /** URL of the editor */\n      editorUrl?: string;\n      /** URL of the templates page */\n      templatesPageUrl?: string;\n      /** Provider's icon, to be displayed in UI */\n      iconUrl?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  \n  export { BusinessError, Context, DeleteDesignRequest, DeleteDesignResponse, Design, DuplicateDesignRequest, DuplicateDesignResponse, Format, GetDesignRequest, GetDesignResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, ListDesignsRequest, ListDesignsResponse, SocialMarketingDesignSPIConfig };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-dealer-external-filter-v1-filter-applicable.d.ts",
      "content": "declare module \"interfaces-dealer-external-filter-v1-filter-applicable\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface ApplyFilterRequest {\n      /** specific targeting filter criteria */\n      criteria?: ExternalFilterCriteria;\n  }\n  /** Filter for targeting based on external service */\n  interface ExternalFilterCriteria {\n      /** Comparator to apply to value (i.e. if value EQUALS, LESS, GREATER than expected value etc.) */\n      conditionType?: Enum;\n      /**\n       * Expected value to be found\n       * Please read https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/struct.proto#L62\n       */\n      expectedValue?: any;\n      /** Extra parameters */\n      additionalParams?: Record<string, any> | null;\n      _id?: string | null;\n  }\n  enum Enum {\n      UNKNOWN = \"UNKNOWN\",\n      EQUAL = \"EQUAL\",\n      GREATER_THAN = \"GREATER_THAN\",\n      SMALLER_THAN = \"SMALLER_THAN\",\n      CONTAINS_ALL = \"CONTAINS_ALL\",\n      CONTAINS_SOME = \"CONTAINS_SOME\",\n      NOT_CONTAINS_SOME = \"NOT_CONTAINS_SOME\",\n      NOT_CONTAINS_ALL = \"NOT_CONTAINS_ALL\",\n      BE_NOTHING = \"BE_NOTHING\",\n      EXISTS = \"EXISTS\",\n      MORE_THAN_DAYS = \"MORE_THAN_DAYS\",\n      WITHIN_DAYS = \"WITHIN_DAYS\",\n      NOT_EQUAL = \"NOT_EQUAL\"\n  }\n  interface ApplyFilterResponse {\n      /** is filter applicable/eligible/valid to current criteria */\n      isApplicable?: boolean;\n  }\n  interface ApplyFilterListRequest {\n      /** specific targeting filter criteria */\n      criteriaList?: ExternalFilterCriteria[];\n  }\n  interface ApplyFilterListResponse {\n      /** list of filter results */\n      applyFiltersResult?: ApplyFilterResult[];\n  }\n  interface ApplyFilterResult {\n      /** the id of the filter */\n      _id?: string;\n      /** is filter applicable/eligible/valid to current criteria */\n      isApplicable?: boolean;\n  }\n  interface ExternalFilterProviderConfig {\n      /** feature toggle initialized with default value = false. should be true if implemented by spi provider */\n      toggleExtendApplyFilterList?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ApplyFilterOptions {\n      /** specific targeting filter criteria */\n      criteria?: ExternalFilterCriteria;\n  }\n  interface ApplyFilterListOptions {\n      /** specific targeting filter criteria */\n      criteriaList?: ExternalFilterCriteria[];\n  }\n  \n  export { ApplyFilterListOptions, ApplyFilterListRequest, ApplyFilterListResponse, ApplyFilterOptions, ApplyFilterRequest, ApplyFilterResponse, ApplyFilterResult, BusinessError, Context, Enum, ExternalFilterCriteria, ExternalFilterProviderConfig, IdentificationData, IdentificationDataIdOneOf, IdentityType };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-web-module.d.ts",
      "content": "declare module \"wix-web-module\" {\n  /* eslint-disable import/group-exports */\n  interface CacheOptions {\n    tags: string[];\n    ttl?: number;\n  }\n  \n  interface WebMethodOptions {\n    cache?: CacheOptions;\n  }\n  \n  /**\n   * Permissions needed to call the function in frontend code.\n   * - Anyone Any site visitor can call the function.\n   * - Admin Only site admins can call the function.\n   * - SiteMember Only site members can call the function.\n   */\n  export const Permissions: {\n    Admin: { allowedRoles: any[] };\n    SiteMember: { allowedRoles: any[] };\n    Anyone: { allowedRoles: any[] };\n  };\n  \n  /**\n   * The `webMethod()` function is a wrapper used to export functions from backend code that can be called from the frontend.\n   * Use the function's first parameter to define the permissions needed to call the function in frontend code. You can import\n   * the `Permissions` enum from the `wix-web-module` module to define the permissions.\n   * The permission options are:\n   *  - `Permissions.Anyone`: Any site visitor can call the function.\n   *  - `Permissions.Admin`: Only site admins can call the function.\n   *  - `Permissions.SiteMember`: Only site members can call the function.\n   *\n   * Web methods must be defined in files with a `.web.js` extension.\n   */\n  export function webMethod<T extends (...args: any[]) => any>(\n    permission: {\n      allowedRoles: any[];\n    },\n    method: T,\n    options?: WebMethodOptions\n  ): T & {\n    permission: {\n      allowedRoles: any[];\n    };\n  };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v1.d.ts",
      "content": "declare module \"wix-members-followers-backend.v1\" {\n  /**\n   * Fake FQDN\n   * Service will soon be replaces by v2 of the service, so does not make sense to refactor this service to support fqdn\n   */\n  interface Follower {\n  }\n  interface FollowRequest {\n      /** Site member ID */\n      userId: string;\n  }\n  interface FollowResponse {\n  }\n  interface UnfollowRequest {\n      /** Site member ID */\n      userId: string;\n  }\n  interface UnfollowResponse {\n  }\n  interface ListFollowingsRequest {\n      /** Site member ID */\n      userId: string | null;\n      /** Amount of items per response */\n      limit?: number;\n      /** Number of items to skip */\n      offset?: number;\n  }\n  interface ListFollowingsResponse {\n      /** Followed site member IDs */\n      userIds?: string[];\n      /** Total count of followed users */\n      count?: string;\n  }\n  interface ListFollowersRequest {\n      /** Site member ID */\n      userId: string | null;\n      /** Amount of items per response */\n      limit?: number;\n      /** Number of items to skip */\n      offset?: number;\n  }\n  interface ListFollowersResponse {\n      /** Follower site member IDs */\n      userIds?: string[];\n      /** Total follower count */\n      count?: string;\n  }\n  interface ListFollowingsFollowersRequest {\n      /** Site member IDs */\n      userIds?: string[];\n      /** Site member ID */\n      userId: string | null;\n  }\n  interface ListFollowingsFollowersResponse {\n      /** Site members IDs with their status */\n      followingsFollowers?: FollowingsFollowers[];\n  }\n  interface FollowingsFollowers {\n      /** Site member ID */\n      userId?: string;\n      /** Shows if the caller is following this site member */\n      followed?: boolean;\n      /** Shows if this site member is following the caller */\n      following?: boolean;\n  }\n  /**\n   * Follows site member with a provided ID\n   * @param userId - Site member ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId MEMBERS_FOLLOW.FOLLOW\n   * @adminMethod\n   */\n  function follow(userId: string): Promise<void>;\n  /**\n   * Unfollows site member with a provided ID\n   * @param userId - Site member ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId MEMBERS_FOLLOW.FOLLOW\n   * @adminMethod\n   */\n  function unfollow(userId: string): Promise<void>;\n  /**\n   * Returns IDs of members followed by the provided site member ID\n   * When calling service without the ID, the list will contain members followed by the member making the call\n   * @param userId - Site member ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId MEMBERS_FOLLOW.READ\n   * @adminMethod\n   */\n  function listFollowings(userId: string | null, options?: ListFollowingsOptions): Promise<ListFollowingsResponse>;\n  interface ListFollowingsOptions {\n      /** Amount of items per response */\n      limit?: number;\n      /** Number of items to skip */\n      offset?: number;\n  }\n  /**\n   * Returns IDs of members who follow provided site member ID\n   * When calling service without the ID, the list will contain followers for the member making the call.\n   * @param userId - Site member ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId MEMBERS_FOLLOW.READ\n   * @adminMethod\n   */\n  function listFollowers(userId: string | null, options?: ListFollowersOptions): Promise<ListFollowersResponse>;\n  interface ListFollowersOptions {\n      /** Amount of items per response */\n      limit?: number;\n      /** Number of items to skip */\n      offset?: number;\n  }\n  /**\n   * Returns information if provided site members are followers or are followed by the member making the call.\n   * When calling service without the ID, the list will contain information related to the member making the call.\n   * @param userId - Site member ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId MEMBERS_FOLLOW.READ\n   * @adminMethod\n   */\n  function listFollowingsFollowers(userId: string | null, options?: ListFollowingsFollowersOptions): Promise<ListFollowingsFollowersResponse>;\n  interface ListFollowingsFollowersOptions {\n      /** Site member IDs */\n      userIds?: string[];\n  }\n  \n  export { FollowRequest, FollowResponse, Follower, FollowingsFollowers, ListFollowersOptions, ListFollowersRequest, ListFollowersResponse, ListFollowingsFollowersOptions, ListFollowingsFollowersRequest, ListFollowingsFollowersResponse, ListFollowingsOptions, ListFollowingsRequest, ListFollowingsResponse, UnfollowRequest, UnfollowResponse, follow, listFollowers, listFollowings, listFollowingsFollowers, unfollow };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-payment-settings-provider.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-payment-settings-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetPaymentSettingsRequest {\n      /** Order. */\n      order?: Order;\n  }\n  interface Order {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Order number displayed in the site owner's dashboard (auto-generated).\n       * @readonly\n       */\n      number?: string;\n      /**\n       * Date and time the order was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the order was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Order line items.\n       * @readonly\n       */\n      lineItems?: OrderLineItem[];\n      /** Buyer information. */\n      buyerInfo?: V1BuyerInfo;\n      /** Order payment status. */\n      paymentStatus?: PaymentStatus;\n      /**\n       * Order fulfillment status.\n       * @readonly\n       */\n      fulfillmentStatus?: FulfillmentStatus;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       */\n      buyerLanguage?: string | null;\n      /** Weight measurement unit - defaults to site's weight unit. */\n      weightUnit?: WeightUnit;\n      /** Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. */\n      currency?: string | null;\n      /** Whether tax is included in line item prices. */\n      taxIncludedInPrices?: boolean;\n      /**\n       * Site language in which original values are shown.\n       * @readonly\n       */\n      siteLanguage?: string | null;\n      /**\n       * Order price summary.\n       * @readonly\n       */\n      priceSummary?: PriceSummary;\n      /** Billing address and contact details. */\n      billingInfo?: ApiAddressWithContact;\n      /** Shipping info and selected shipping option details. */\n      shippingInfo?: V1ShippingInformation;\n      /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n      buyerNote?: string | null;\n      /** Order status. */\n      status?: OrderStatus;\n      /** Whether order is archived. */\n      archived?: boolean | null;\n      /**\n       * Tax summary.\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * @deprecated Tax summary.\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxSummary?: TaxSummary;\n      /** Tax information. */\n      taxInfo?: OrderTaxInfo;\n      /** Applied discounts. */\n      appliedDiscounts?: AppliedDiscount[];\n      /**\n       * Order activities.\n       * @readonly\n       */\n      activities?: Activity[];\n      /** Order attribution source. */\n      attributionSource?: AttributionSource;\n      /**\n       * ID of the order's initiator.\n       * @readonly\n       */\n      createdBy?: V1CreatedBy;\n      /** Information about the sales channel that submitted this order. */\n      channelInfo?: ChannelInfo;\n      /** Whether a human has seen the order. Set when an order is clicked on in the dashboard. */\n      seenByAHuman?: boolean | null;\n      /** Checkout ID. */\n      checkoutId?: string | null;\n      /** Custom fields. */\n      customFields?: CustomField[];\n      /**\n       * Cart ID - required by TYP OOI for legacy orders.\n       * @internal\n       */\n      cartId?: string | null;\n      /**\n       * Private API flag that allows using read-only \"id\" during order creation.\n       * @internal\n       */\n      isInternalOrderCreate?: boolean;\n      /**\n       * Pay now price summary. Part of price_summary that must be payed at checkout\n       * @internal\n       * @readonly\n       */\n      payNow?: PriceSummary;\n      /**\n       * Balance summary.\n       * @readonly\n       */\n      balanceSummary?: BalanceSummary;\n      /** Additional fees applied to the order. */\n      additionalFees?: AdditionalFee[];\n      /**\n       * Custom string status values aggregated from every fulfillment entity associated with current order\n       * @internal\n       * @readonly\n       */\n      fulfillmentStatusesAggregate?: FulfillmentStatusesAggregate;\n      /**\n       * Custom field data for the order object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /**\n       * Order recipient address and contact details.\n       *\n       * This field may differ from the address in `shippingInfo.logistics` when:\n       * + The chosen shipping option is pickup point or store pickup.\n       * + No shipping option is selected.\n       */\n      recipientInfo?: ApiAddressWithContact;\n      /**\n       * Tag ids collections associated with current entity. private_tags requires separate permissions to be accessible and modifiable.\n       * @internal\n       */\n      tags?: Tags;\n      /**\n       * Date and time the order was originally purchased in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * Used for migration from external systems.\n       */\n      purchasedDate?: Date | null;\n      /**\n       * Order Location\n       * @internal\n       */\n      businessLocation?: Location;\n  }\n  interface OrderLineItem {\n      /** Line item ID. */\n      _id?: string;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       */\n      productName?: ProductName;\n      /**\n       * References to the line item's origin catalog.\n       * This field may be empty in the case of a custom line item.\n       */\n      catalogReference?: CatalogReference;\n      /** Line item quantity. */\n      quantity?: number;\n      /**\n       * Total discount for this line item's entire quantity.\n       * @readonly\n       */\n      totalDiscount?: Price;\n      /** Line item description lines. Used for display purposes for the cart, checkout and order. */\n      descriptionLines?: DescriptionLine[];\n      /** Line item image. */\n      image?: string;\n      /** Physical properties of the item. When relevant, contains information such as SKU and item weight. */\n      physicalProperties?: PhysicalProperties;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType;\n      /**\n       * Fulfiller ID. Field is empty when the line item is self-fulfilled.\n       * To get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-fulfillments/list-fulfillments-for-single-order).\n       */\n      fulfillerId?: string | null;\n      /** Number of items that were refunded. */\n      refundQuantity?: number | null;\n      /** Number of items restocked. */\n      restockQuantity?: number | null;\n      /** Line item price after line item discounts for display purposes. */\n      price?: Price;\n      /**\n       * Line item price before line item discounts for display purposes. Defaults to `price` when not provided.\n       * @readonly\n       */\n      priceBeforeDiscounts?: Price;\n      /**\n       * Total price after discounts, and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: Price;\n      /**\n       * Total price after all discounts and tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: Price;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       * + `FULL_PAYMENT_ONLINE` - The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE` - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n       * + `DEPOSIT_ONLINE` - Partial payment for the given item to be paid upfront during the checkout. Eligible for catalog items with type `DEPOSIT_ONLINE` only.\n       */\n      paymentOption?: PaymentOptionType;\n      /**\n       * Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @deprecated Deprecated. Use `taxInfo` instead.\n       * This field will be removed on September 30, 2024.\n       * Tax details for this line item.\n       * @replacedBy tax_info\n       * @targetRemovalDate 2024-09-30\n       */\n      taxDetails?: ItemTaxFullDetails;\n      /** Represents all the relevant tax details for a specific line item. */\n      taxInfo?: LineItemTaxInfo;\n      /** Digital file identifier, relevant only for items with type DIGITAL. */\n      digitalFile?: DigitalFile;\n      /** Subscription info. */\n      subscriptionInfo?: SubscriptionInfo;\n      /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n      priceDescription?: PriceDescription;\n      /**\n       * Item's price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `\"DEPOSIT_ONLINE\"`.\n       * @readonly\n       */\n      depositAmount?: Price;\n      /**\n       * The Item's Delivery Profile Id\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n      /** @internal */\n      shippingGroupId?: string | null;\n      /**\n       * Source locations for this line item. The location's total quantity must not exceed the line item quantity.\n       * @internal\n       */\n      locations?: LocationAndQuantity[];\n      /**\n       * Total price **after** catalog discounts and line item discounts.\n       * @internal\n       */\n      lineItemPrice?: Price;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @internal\n       * @readonly\n       */\n      customLineItem?: boolean | null;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n       * @internal\n       * @readonly\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Address used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress;\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       *\n       * Default: `false`\n       * @internal\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       *\n       * Default: `false`\n       * @internal\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Custom extended fields for the line item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface ProductName {\n      /**\n       * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n       *\n       * Min: 1 character.\n       * Max: 200 characters.\n       */\n      original?: string;\n      /**\n       * Item name translated into the buyer's language.\n       *\n       * Min: 1 character.\n       * Max: 400 characters.\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface Price {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface DescriptionLine extends DescriptionLineValueOneOf, DescriptionLineDescriptionLineValueOneOf {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue;\n      /** Description line color value. */\n      colorInfo?: Color;\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n      /** Description line name. */\n      name?: DescriptionLineName;\n      /**\n       * Description line type.\n       * @internal\n       * @deprecated\n       */\n      lineType?: DescriptionLineType;\n  }\n  /** @oneof */\n  interface DescriptionLineValueOneOf {\n      /** Description line plain text value. */\n      plainText?: PlainTextValue;\n      /** Description line color value. */\n      colorInfo?: Color;\n  }\n  /** @oneof */\n  interface DescriptionLineDescriptionLineValueOneOf {\n      /**\n       * Description line plain text value.\n       * @internal\n       * @deprecated\n       */\n      plainTextValue?: PlainTextValue;\n      /**\n       * Description line color.\n       * @internal\n       * @deprecated\n       */\n      color?: string;\n  }\n  interface DescriptionLineName {\n      /** Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface PlainTextValue {\n      /** Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line plain text value translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Color {\n      /** Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Description line color name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n      /** HEX or RGB color code for display. */\n      code?: string | null;\n  }\n  enum DescriptionLineType {\n      /** Unrecognized type. */\n      UNRECOGNISED = \"UNRECOGNISED\",\n      /** Plain text type. */\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      /** Color type. */\n      COLOR = \"COLOR\"\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface PhysicalProperties {\n      /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface ItemType extends ItemTypeItemTypeDataOneOf {\n      /** Preset item type. */\n      preset?: ItemTypeItemType;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf {\n      /** Preset item type. */\n      preset?: ItemTypeItemType;\n      /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  /** Type of selected payment option for catalog item */\n  enum PaymentOptionType {\n      /** The entire payment for this item happens as part of the checkout. */\n      FULL_PAYMENT_ONLINE = \"FULL_PAYMENT_ONLINE\",\n      /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n      FULL_PAYMENT_OFFLINE = \"FULL_PAYMENT_OFFLINE\",\n      /** Payment for this item is done by charging a membership. When selected, `price` is `0`. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n      DEPOSIT_ONLINE = \"DEPOSIT_ONLINE\",\n      /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface ItemTaxFullDetails {\n      /** Taxable amount of this line item. */\n      taxableAmount?: Price;\n      /**\n       * ID of the item's tax group, if specified.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /** Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`. */\n      taxRate?: string;\n      /** The calculated tax, based on the `taxableAmount` and `taxRate`. */\n      totalTax?: Price;\n  }\n  interface LineItemTaxInfo {\n      /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n      taxAmount?: Price;\n      /** Amount for which tax is calculated. */\n      taxableAmount?: Price;\n      /** Tax rate %, as a decimal point. */\n      taxRate?: string | null;\n      /**\n       * Tax group ID.\n       * Learn more about [Tax Groups](https://dev.wix.com/docs/rest/business-management/payments/tax/tax-groups/introduction).\n       */\n      taxGroupId?: string | null;\n      /** Indicates whether the price already includes tax. */\n      taxIncludedInPrice?: boolean;\n      /** Tax information for a line item. */\n      taxBreakdown?: LineItemTaxBreakdown[];\n  }\n  /**\n   * TaxBreakdown represents tax information for a line item.\n   * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface LineItemTaxBreakdown {\n      /** Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000. */\n      rate?: string | null;\n      /** Amount of tax calculated for this line item. */\n      taxAmount?: Price;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** Type of jurisdiction that taxes were calculated for. */\n      jurisdictionType?: JurisdictionType;\n      /** Non-taxable amount of the line item price. */\n      nonTaxableAmount?: Price;\n      /** Taxable amount of the line item price. */\n      taxableAmount?: Price;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface DigitalFile {\n      /** ID of the secure file in media. */\n      fileId?: string;\n      /** Link will exist after the digital links have been generated on the order. */\n      link?: string | null;\n      /**\n       * Link expiration time and date.\n       * @readonly\n       */\n      expirationDate?: Date | null;\n  }\n  interface SubscriptionInfo {\n      /** Subscription ID. */\n      _id?: string | null;\n      /** Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be `3`. */\n      cycleNumber?: number;\n      /** Subscription option title. For example, `\"Monthly coffee Subscription\"`. */\n      subscriptionOptionTitle?: string;\n      /** Subscription option description. For example, `\"1kg of selected coffee, once a month\"`. */\n      subscriptionOptionDescription?: string | null;\n      /** Subscription detailed information. */\n      subscriptionSettings?: SubscriptionSettings;\n  }\n  interface SubscriptionSettings {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency;\n      /** Interval of recurring payment. */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription.\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface PriceDescription {\n      /** __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Price description translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface LocationAndQuantity {\n      /** Location id in the associated owner app. */\n      _id?: string;\n      /** Location owner app, if not provided then the site business info locations will be used. */\n      appId?: string | null;\n      /** Quantity for specific location. */\n      quantity?: number;\n  }\n  interface TaxableAddress extends TaxableAddressTaxableAddressDataOneOf {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType;\n  }\n  /** @oneof */\n  interface TaxableAddressTaxableAddressDataOneOf {\n      /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n      addressType?: TaxableAddressType;\n  }\n  enum TaxableAddressType {\n      UNKNOWN_TAXABLE_ADDRESS = \"UNKNOWN_TAXABLE_ADDRESS\",\n      BUSINESS = \"BUSINESS\",\n      BILLING = \"BILLING\",\n      SHIPPING = \"SHIPPING\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  /** Buyer Info */\n  interface V1BuyerInfo extends V1BuyerInfoIdOneOf {\n      /** Visitor ID (if site visitor is not a member). */\n      visitorId?: string;\n      /** Member ID (if site visitor is a site member). */\n      memberId?: string;\n      /** Contact ID. Auto-created if one does not yet exist. For more information, see [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction). */\n      contactId?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface V1BuyerInfoIdOneOf {\n      /** Visitor ID (if site visitor is not a member). */\n      visitorId?: string;\n      /** Member ID (if site visitor is a site member). */\n      memberId?: string;\n  }\n  enum PaymentStatus {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /**\n       * `NOT_PAID` can apply to an order made online, but not yet paid. In such cases `order.status` will be `INITIALIZED`.\n       * This status also applies when an offline order needs to be manually marked as paid. In such cases `order.status` will be `APPROVED`.\n       */\n      NOT_PAID = \"NOT_PAID\",\n      /** All required payments associated with this order are paid. */\n      PAID = \"PAID\",\n      /** Order partially refunded, but the refunded amount is less than the order's total price. See `order.balanceSummary` for more details. */\n      PARTIALLY_REFUNDED = \"PARTIALLY_REFUNDED\",\n      /** Order fully refunded. Refund amount equals total price. See `order.balanceSummary` for more details. */\n      FULLY_REFUNDED = \"FULLY_REFUNDED\",\n      /**\n       * All payments pending.\n       *\n       * This can happen with two-step payments, when a payment requires manual review, or when a payment is in progress and will be concluded shortly.\n       * Learn more about [pending orders](https://support.wix.com/en/article/pending-orders).\n       */\n      PENDING = \"PENDING\",\n      /** At least one payment received and approved, but it covers less than the order's total price. See `order.balanceSummary` for more details. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      /**\n       * Payment received, but not yet confirmed by the payment provider.\n       *\n       * In most cases, when a payment provider is holding payment it's because setup hasn't been successfully completed by the merchant/site owner.\n       * To solve this, the merchant/site owner should log in to the payment provider's dashboard and make sure their account is set up correctly, or contact their support for further assistance.\n       * @documentationMaturity preview\n       */\n      PENDING_MERCHANT = \"PENDING_MERCHANT\",\n      /**\n       * One or more payments canceled.\n       * @documentationMaturity preview\n       */\n      CANCELED = \"CANCELED\",\n      /**\n       * One or more payments declined.\n       * @documentationMaturity preview\n       */\n      DECLINED = \"DECLINED\"\n  }\n  enum FulfillmentStatus {\n      /** None of the order items are fulfilled or the order was manually marked as unfulfilled. */\n      NOT_FULFILLED = \"NOT_FULFILLED\",\n      /**\n       * All of the order items are fulfilled or the order was manually marked as fulfilled.\n       * Orders without shipping info are fulfilled automatically.\n       */\n      FULFILLED = \"FULFILLED\",\n      /** Some, but not all, of the order items are fulfilled. */\n      PARTIALLY_FULFILLED = \"PARTIALLY_FULFILLED\"\n  }\n  enum WeightUnit {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface PriceSummary {\n      /** Subtotal of all the line items, before discounts and before tax. */\n      subtotal?: Price;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: Price;\n      /** Total tax on this order. */\n      tax?: Price;\n      /** Total calculated discount value. */\n      discount?: Price;\n      /**\n       * Deprecated - use `total` instead.\n       * @internal\n       * @deprecated\n       */\n      totalPrice?: Price;\n      /** Order’s total price after discounts and tax. */\n      total?: Price;\n      /**\n       * Order's total price including gift card.\n       * @internal\n       * @deprecated\n       */\n      totalWithGiftCard?: Price;\n      /**\n       * Order's total price after without gift card.\n       * @internal\n       * @deprecated\n       */\n      totalWithoutGiftCard?: Price;\n      /** Total price of additional fees before tax. */\n      totalAdditionalFees?: Price;\n  }\n  /** Billing Info and shipping details */\n  interface ApiAddressWithContact {\n      /** Address. */\n      address?: Address;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails;\n  }\n  /** Physical address */\n  interface Address {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /** @internal */\n      location?: AddressLocation;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId;\n  }\n  interface VatId {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType;\n  }\n  /** tax info types */\n  enum VatType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface V1ShippingInformation {\n      /** App Def Id of external provider which was a source of shipping info */\n      carrierId?: string | null;\n      /** Unique code (or ID) of selected shipping option. For example, `\"usps_std_overnight\"`. */\n      code?: string | null;\n      /**\n       * Shipping option title.\n       * For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"` or `\"First-Class Package International\"`.\n       */\n      title?: string;\n      /** Shipping logistics. */\n      logistics?: DeliveryLogistics;\n      /** Shipping costs. */\n      cost?: ShippingPrice;\n      /** Shipping region. */\n      region?: ShippingRegion;\n  }\n  interface DeliveryLogistics extends DeliveryLogisticsAddressOneOf {\n      /** Shipping address and contact details. */\n      shippingDestination?: ApiAddressWithContact;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails;\n      /** Expected delivery time in free text. For example, `\"3-5 business days\"`. */\n      deliveryTime?: string | null;\n      /** Instructions for carrier. For example, `\"Please knock on the door. If unanswered, please call contact number. Thanks.\"`. */\n      instructions?: string | null;\n      /**\n       * Deprecated - Latest expected delivery date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * @deprecated\n       */\n      deliverByDate?: Date | null;\n      /** Expected delivery time. */\n      deliveryTimeSlot?: DeliveryTimeSlot;\n  }\n  /** @oneof */\n  interface DeliveryLogisticsAddressOneOf {\n      /** Shipping address and contact details. */\n      shippingDestination?: ApiAddressWithContact;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails;\n  }\n  interface PickupDetails {\n      /** Pickup address. */\n      address?: PickupAddress;\n      /** Pickup method */\n      pickupMethod?: PickupMethod;\n  }\n  /** Physical address */\n  interface PickupAddress {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address object, with number, name, and apartment number in separate fields. */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n      /**\n       * Country's full name.\n       * @readonly\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full-name.\n       * @readonly\n       */\n      subdivisionFullname?: string | null;\n      /** @internal */\n      location?: AddressLocation;\n  }\n  enum PickupMethod {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface DeliveryTimeSlot {\n      /** Delivery slot starting time. */\n      from?: Date | null;\n      /** Delivery slot ending time. */\n      to?: Date | null;\n  }\n  interface ShippingPrice {\n      /** Shipping price for display purposes. */\n      price?: Price;\n      /**\n       * Total price of shipping after discounts (when relevant), and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: Price;\n      /**\n       * Shipping price after all discounts (if any exist), and after tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: Price;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails;\n      /**\n       * Shipping discount before tax.\n       * @readonly\n       */\n      discount?: Price;\n  }\n  interface ShippingRegion {\n      /** Name of shipping region. For example, `\"Metropolitan London\"`, or `\"Outer Melbourne suburbs\"`. */\n      name?: string | null;\n  }\n  enum OrderStatus {\n      /** Order created, but not yet approved or canceled. */\n      INITIALIZED = \"INITIALIZED\",\n      /**\n       * Order approved.\n       *\n       * This happens when either an online payment is received **or** when `order.priceSummary.total = 0` (a zero-total order).\n       * Offline orders (cash payment) are automatically approved.\n       */\n      APPROVED = \"APPROVED\",\n      /** Order canceled by the user. */\n      CANCELED = \"CANCELED\",\n      /**\n       * Order pending.\n       * @documentationMaturity preview\n       */\n      PENDING = \"PENDING\",\n      /**\n       * Order rejected.\n       *\n       * This happens when pending payments fail.\n       * @documentationMaturity preview\n       */\n      REJECTED = \"REJECTED\"\n  }\n  interface TaxSummary {\n      /**\n       * Total tax.\n       * @readonly\n       */\n      totalTax?: Price;\n      /**\n       * manual tax rate\n       * @internal\n       * @readonly\n       */\n      manualTaxRate?: string | null;\n  }\n  interface OrderTaxInfo {\n      /** Calculated tax, added from line items. */\n      totalTax?: Price;\n      /** The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate. */\n      taxBreakdown?: OrderTaxBreakdown[];\n      /**\n       * Manual tax rate\n       * @internal\n       * @readonly\n       */\n      manualTaxRate?: string | null;\n      /**\n       * Whether the order is exempt from tax calculations.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      taxExempt?: boolean | null;\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   */\n  interface OrderTaxBreakdown {\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdiction?: string;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionType?: JurisdictionType;\n      /** The rate at which this tax detail was calculated. */\n      rate?: string;\n      /** The sum of all the tax from line items that calculated by the tax identifiers. */\n      aggregatedTaxAmount?: Price;\n      /**\n       * The sum of all the taxable amount from line items for tax identifiers.\n       * @internal\n       */\n      aggregatedTaxableAmount?: Price;\n  }\n  interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n      /** Applied coupon info. */\n      coupon?: Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount;\n      /** Automatic Discount */\n      discountRule?: DiscountRule;\n      /**\n       * Discount type.\n       * * `\"GLOBAL\"` - discount applies to entire order.\n       * * `\"SPECIFIC-ITEMS\"` - discount applies to specific items.\n       * * `\"SHIPPING\"` - discount applies to shipping. For example, free shipping.\n       */\n      discountType?: DiscountType;\n      /**\n       * IDs of line items discount applies to.\n       * Deprecated. Use `line_item_discounts` instead.\n       * @deprecated IDs of line items discount applies to.\n       * Deprecated. Use `line_item_discounts` instead.\n       * @replacedBy line_item_discounts\n       * @targetRemovalDate 2024-10-30\n       */\n      lineItemIds?: string[];\n      /** Discount id. */\n      _id?: string | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: LineItemDiscount[];\n  }\n  /** @oneof */\n  interface AppliedDiscountDiscountSourceOneOf {\n      /** Applied coupon info. */\n      coupon?: Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: MerchantDiscount;\n      /** Automatic Discount */\n      discountRule?: DiscountRule;\n  }\n  enum DiscountType {\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface Coupon {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon name. */\n      name?: string;\n      /** Coupon value. */\n      amount?: Price;\n  }\n  interface MerchantDiscount extends MerchantDiscountMerchantDiscountReasonOneOf {\n      /**\n       * Pre-defined discount reason (optional).\n       * * `\"ITEMS_EXCHANGE\"` - exchange balance acquired as a result of items exchange.\n       */\n      discountReason?: DiscountReason;\n      /** Discount description as free text (optional). */\n      description?: string | null;\n      /** Discount amount. */\n      amount?: Price;\n      /**\n       * Discount percentage.\n       * @internal\n       */\n      percentage?: string | null;\n  }\n  /** @oneof */\n  interface MerchantDiscountMerchantDiscountReasonOneOf {\n      /**\n       * Pre-defined discount reason (optional).\n       * * `\"ITEMS_EXCHANGE\"` - exchange balance acquired as a result of items exchange.\n       */\n      discountReason?: DiscountReason;\n      /** Discount description as free text (optional). */\n      description?: string | null;\n  }\n  enum DiscountReason {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      EXCHANGED_ITEMS = \"EXCHANGED_ITEMS\"\n  }\n  interface DiscountRule {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: DiscountRuleName;\n      /** Discount value. */\n      amount?: Price;\n  }\n  interface DiscountRuleName {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface LineItemDiscount {\n      /** ID of line item the discount applies to. */\n      _id?: string;\n      /** Total discount for this line item. */\n      totalDiscount?: Price;\n  }\n  interface Activity extends ActivityContentOneOf {\n      /** Custom activity details (optional). `activity.type` must be `CUSTOM_ACTIVITY`. */\n      customActivity?: CustomActivity;\n      /** Merchant comment details (optional). `activity.type` must be `MERCHANT_COMMENT`. */\n      merchantComment?: MerchantComment;\n      /** Additional info about order refunded activity (optional). `activity.type` must be `ORDER_REFUNDED`. */\n      orderRefunded?: OrderRefunded;\n      /**\n       * Details of the original order for this exchange order. `activity.type` must be `ORDER_CREATED_FROM_EXCHANGE`.\n       * @internal\n       */\n      orderCreatedFromExchange?: OrderCreatedFromExchange;\n      /**\n       * Details of an order that was created as a result of an exchange of items in this order. `activity.type` must be `NEW_EXCHANGE_ORDER_CREATED`.\n       * @internal\n       */\n      newExchangeOrderCreated?: NewExchangeOrderCreated;\n      /**\n       * Details of changes made by the Draft Orders API.\n       * @internal\n       */\n      draftOrderChangesApplied?: DraftOrderChangesApplied;\n      /**\n       * Details of the payment method saved for order\n       * @internal\n       */\n      savedPaymentMethod?: SavedPaymentMethod;\n      /**\n       * Details of an authorized payment created.\n       * @internal\n       */\n      authorizedPaymentCreated?: AuthorizedPaymentCreated;\n      /**\n       * Details of an authorized payment captured.\n       * @internal\n       */\n      authorizedPaymentCaptured?: AuthorizedPaymentCaptured;\n      /**\n       * Details of an authorized payment voided.\n       * @internal\n       */\n      authorizedPaymentVoided?: AuthorizedPaymentVoided;\n      /**\n       * Details of an initiated refund process.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      refundInitiated?: RefundInitiated;\n      /**\n       * Details of a refunded payment.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefunded?: PaymentRefunded;\n      /**\n       * Details of a failed payment refund.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefundFailed?: PaymentRefundFailed;\n      /**\n       * Details of refund to store credit.\n       * @internal\n       */\n      refundedAsStoreCredit?: RefundedAsStoreCredit;\n      /**\n       * Details of a pending payment\n       * @internal\n       */\n      paymentPending?: PaymentPending;\n      /**\n       * Details of a canceled payment\n       * @internal\n       */\n      paymentCanceled?: PaymentCanceled;\n      /**\n       * Details of a declined payment\n       * @internal\n       */\n      paymentDeclined?: PaymentDeclined;\n      /**\n       * Activity ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Activity author's email.\n       * @readonly\n       */\n      authorEmail?: string | null;\n      /**\n       * Activity creation date and time.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Activity type. */\n      type?: ActivityType;\n  }\n  /** @oneof */\n  interface ActivityContentOneOf {\n      /** Custom activity details (optional). `activity.type` must be `CUSTOM_ACTIVITY`. */\n      customActivity?: CustomActivity;\n      /** Merchant comment details (optional). `activity.type` must be `MERCHANT_COMMENT`. */\n      merchantComment?: MerchantComment;\n      /** Additional info about order refunded activity (optional). `activity.type` must be `ORDER_REFUNDED`. */\n      orderRefunded?: OrderRefunded;\n      /**\n       * Details of the original order for this exchange order. `activity.type` must be `ORDER_CREATED_FROM_EXCHANGE`.\n       * @internal\n       */\n      orderCreatedFromExchange?: OrderCreatedFromExchange;\n      /**\n       * Details of an order that was created as a result of an exchange of items in this order. `activity.type` must be `NEW_EXCHANGE_ORDER_CREATED`.\n       * @internal\n       */\n      newExchangeOrderCreated?: NewExchangeOrderCreated;\n      /**\n       * Details of changes made by the Draft Orders API.\n       * @internal\n       */\n      draftOrderChangesApplied?: DraftOrderChangesApplied;\n      /**\n       * Details of the payment method saved for order\n       * @internal\n       */\n      savedPaymentMethod?: SavedPaymentMethod;\n      /**\n       * Details of an authorized payment created.\n       * @internal\n       */\n      authorizedPaymentCreated?: AuthorizedPaymentCreated;\n      /**\n       * Details of an authorized payment captured.\n       * @internal\n       */\n      authorizedPaymentCaptured?: AuthorizedPaymentCaptured;\n      /**\n       * Details of an authorized payment voided.\n       * @internal\n       */\n      authorizedPaymentVoided?: AuthorizedPaymentVoided;\n      /**\n       * Details of an initiated refund process.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      refundInitiated?: RefundInitiated;\n      /**\n       * Details of a refunded payment.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefunded?: PaymentRefunded;\n      /**\n       * Details of a failed payment refund.\n       *\n       * > **Note:** A single `refund_initiated` activity can result in multiple `payment_refunded` or `payment_refund_failed` activities.\n       * > In these cases, the `refund_id` will be identical across the activities.\n       * @internal\n       */\n      paymentRefundFailed?: PaymentRefundFailed;\n      /**\n       * Details of refund to store credit.\n       * @internal\n       */\n      refundedAsStoreCredit?: RefundedAsStoreCredit;\n      /**\n       * Details of a pending payment\n       * @internal\n       */\n      paymentPending?: PaymentPending;\n      /**\n       * Details of a canceled payment\n       * @internal\n       */\n      paymentCanceled?: PaymentCanceled;\n      /**\n       * Details of a declined payment\n       * @internal\n       */\n      paymentDeclined?: PaymentDeclined;\n  }\n  interface CustomActivity {\n      /** ID of the app that created the custom activity. */\n      appId?: string;\n      /** Custom activity type. For example, `\"Ticket number set\"`. */\n      type?: string;\n      /** Additional data in key-value form. For example, `{ \"Ticket number\": \"123456\" }`. */\n      additionalData?: Record<string, string>;\n  }\n  /** Store owner added a comment */\n  interface MerchantComment {\n      /** Merchant comment message. */\n      message?: string;\n  }\n  interface OrderRefunded {\n      /** Whether order was refunded manually. For example, via payment provider or using cash. */\n      manual?: boolean;\n      /** Refund amount. */\n      amount?: Price;\n      /** Reason for refund. */\n      reason?: string;\n  }\n  interface OrderCreatedFromExchange {\n      /** ID of the original order for which the exchange happened. */\n      originalOrderId?: string;\n  }\n  interface NewExchangeOrderCreated {\n      /** ID of the new order created as a result of an exchange of items. */\n      exchangeOrderId?: string;\n      /** IDs of the items that were exchanged. */\n      lineItems?: LineItemExchangeData[];\n  }\n  interface LineItemExchangeData {\n      /** ID of the exchanged line item. */\n      lineItemId?: string;\n      /** Line item quantity being exchanged. */\n      quantity?: number;\n  }\n  interface DraftOrderChangesApplied {\n      /** Draft order id. */\n      draftOrderId?: string;\n      /** Reason for edit, given by user (optional). */\n      reason?: string | null;\n      /** Changes applied to order. */\n      changes?: OrderChange[];\n  }\n  interface OrderChange extends OrderChangeValueOneOf {\n      lineItemChanged?: LineItemChanges;\n      lineItemAdded?: ManagedLineItem;\n      lineItemRemoved?: ManagedLineItem;\n      discountAdded?: ManagedDiscount;\n      discountRemoved?: ManagedDiscount;\n      additionalFeeAdded?: ManagedAdditionalFee;\n      additionalFeeRemoved?: ManagedAdditionalFee;\n      totalPriceChanged?: TotalPriceChange;\n      shippingInformationChanged?: ShippingInformationChange;\n  }\n  /** @oneof */\n  interface OrderChangeValueOneOf {\n      lineItemChanged?: LineItemChanges;\n      lineItemAdded?: ManagedLineItem;\n      lineItemRemoved?: ManagedLineItem;\n      discountAdded?: ManagedDiscount;\n      discountRemoved?: ManagedDiscount;\n      additionalFeeAdded?: ManagedAdditionalFee;\n      additionalFeeRemoved?: ManagedAdditionalFee;\n      totalPriceChanged?: TotalPriceChange;\n      shippingInformationChanged?: ShippingInformationChange;\n  }\n  interface LineItemChanges {\n      /** Line item ID. */\n      _id?: string;\n      /** Item name. */\n      name?: ProductName;\n      /** Item quantity change. */\n      quantity?: LineItemQuantityChange;\n      /** Item price change. */\n      price?: LineItemPriceChange;\n  }\n  interface LineItemQuantityChange {\n      /** Item quantity before update. */\n      originalQuantity?: number;\n      /** Item quantity after update. */\n      newQuantity?: number;\n      /** Difference between original and new quantity. Absolute value. */\n      diff?: number;\n      /** Type of quantity change: increase or decrease. */\n      deltaType?: LineItemQuantityChangeType;\n  }\n  enum LineItemQuantityChangeType {\n      /** Quantity increased. */\n      QUANTITY_INCREASED = \"QUANTITY_INCREASED\",\n      /** Quantity decreased. */\n      QUANTITY_DECREASED = \"QUANTITY_DECREASED\"\n  }\n  interface LineItemPriceChange {\n      /** Item price before update. */\n      originalPrice?: Price;\n      /** Item price after update. */\n      newPrice?: Price;\n  }\n  interface ManagedLineItem {\n      /** Line item ID. */\n      _id?: string;\n      /** Item name. */\n      name?: ProductName;\n      /** Added or removed item quantity. */\n      quantity?: number;\n  }\n  interface ManagedDiscount {\n      /** Discount id. */\n      _id?: string;\n      /** Discount name: coupon name / discount rule name / merchant discount description. */\n      name?: TranslatedValue;\n      /** Line items discount applies to. */\n      affectedLineItems?: LineItemAmount[];\n      /** Discount amount. */\n      totalAmount?: Price;\n  }\n  interface TranslatedValue {\n      /** Value in site default language. */\n      original?: string;\n      /** Translated value. */\n      translated?: string | null;\n  }\n  interface LineItemAmount {\n      /** Order line item id */\n      _id?: string;\n      /** Item name. */\n      name?: ProductName;\n      /** Amount associated with this item. (Discount amount for item / additional fee amount for item) */\n      amount?: Price;\n  }\n  interface ManagedAdditionalFee {\n      /** Additional fee id. */\n      _id?: string;\n      /** Additional fee name. */\n      name?: TranslatedValue;\n      /** Line items additional fee applies to. */\n      affectedLineItems?: LineItemAmount[];\n      /** Additional fee amount. */\n      totalAmount?: Price;\n  }\n  interface TotalPriceChange {\n      /** Order’s total price after discounts and tax. Before update */\n      originalTotal?: Price;\n      /** Order’s total price after discounts and tax. After update */\n      newTotal?: Price;\n  }\n  interface ShippingInformationChange {\n      /** Order’s Shipping Information. Before update */\n      originalShippingInfo?: ShippingInformation;\n      /** Order’s Shipping Information. After update */\n      newShippingInfo?: ShippingInformation;\n  }\n  interface ShippingInformation {\n      /** Order’s shipping price. */\n      total?: Price;\n      /** Order’s shipping title. */\n      shippingTitle?: string;\n  }\n  /** Payment method is saved for order */\n  interface SavedPaymentMethod {\n      /** Payment method name */\n      name?: string;\n      /** Payment method description */\n      description?: string | null;\n  }\n  interface AuthorizedPaymentCreated {\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n      /** Payment amount */\n      amount?: Price;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface AuthorizedPaymentCaptured {\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n      /** Payment amount */\n      amount?: Price;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface AuthorizedPaymentVoided {\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n      /** Payment amount */\n      amount?: Price;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface RefundInitiated {\n      /** Refund ID. */\n      refundId?: string;\n      /** Refund amount. */\n      amount?: Price;\n      /** Details about the payments being refunded. */\n      payments?: RefundedPayment[];\n      /** Reason for refund. */\n      reason?: string | null;\n  }\n  interface RefundedPayment extends RefundedPaymentKindOneOf {\n      /** Regular payment refund. */\n      regular?: RegularPaymentRefund;\n      /** Gift card payment refund. */\n      giftCard?: GiftCardPaymentRefund;\n      /** Membership payment refund. */\n      membership?: MembershipPaymentRefund;\n      /** Payment ID. */\n      paymentId?: string;\n      /** Whether refund was made externally and manually on the payment provider's side. */\n      externalRefund?: boolean;\n  }\n  /** @oneof */\n  interface RefundedPaymentKindOneOf {\n      /** Regular payment refund. */\n      regular?: RegularPaymentRefund;\n      /** Gift card payment refund. */\n      giftCard?: GiftCardPaymentRefund;\n      /** Membership payment refund. */\n      membership?: MembershipPaymentRefund;\n  }\n  interface RegularPaymentRefund {\n      /** Refund amount */\n      amount?: Price;\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface GiftCardPaymentRefund {\n      /** Gift card payment ID */\n      giftCardPaymentId?: string | null;\n      /** Refund amount */\n      amount?: Price;\n  }\n  interface MembershipPaymentRefund {\n      /** Membership ID */\n      membershipId?: string | null;\n  }\n  interface PaymentRefunded {\n      /** Refund ID. */\n      refundId?: string;\n      /** Details about the refunded payment. */\n      payment?: RefundedPayment;\n  }\n  interface PaymentRefundFailed {\n      /** Refund ID. */\n      refundId?: string;\n      /** Details about the failed payment refund. */\n      payment?: RefundedPayment;\n  }\n  interface RefundedAsStoreCredit {\n      /** Refund amount */\n      amount?: Price;\n      /** Reason for refund */\n      reason?: string | null;\n  }\n  interface PaymentPending extends PaymentPendingPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n  }\n  /** @oneof */\n  interface PaymentPendingPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n  }\n  interface RegularPayment extends RegularPaymentPaymentMethodDetailsOneOf {\n      /** Whether regular card used */\n      creditCardDetails?: CreditCardDetails;\n      /** Payment amount */\n      amount?: Price;\n  }\n  /** @oneof */\n  interface RegularPaymentPaymentMethodDetailsOneOf {\n      /** Whether regular card used */\n      creditCardDetails?: CreditCardDetails;\n  }\n  interface CreditCardDetails {\n      /** The last 4 digits of the card number. */\n      lastFourDigits?: string | null;\n      /** Card issuer's brand. */\n      brand?: string | null;\n  }\n  interface PaymentCanceled extends PaymentCanceledPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n  }\n  /** @oneof */\n  interface PaymentCanceledPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n  }\n  interface PaymentDeclined extends PaymentDeclinedPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n      /** Payment ID of payment associated with this activity */\n      paymentId?: string;\n  }\n  /** @oneof */\n  interface PaymentDeclinedPaymentDetailsOneOf {\n      /** Regular payment. */\n      regular?: RegularPayment;\n  }\n  enum ActivityType {\n      ORDER_REFUNDED = \"ORDER_REFUNDED\",\n      ORDER_PLACED = \"ORDER_PLACED\",\n      ORDER_PAID = \"ORDER_PAID\",\n      ORDER_FULFILLED = \"ORDER_FULFILLED\",\n      ORDER_NOT_FULFILLED = \"ORDER_NOT_FULFILLED\",\n      ORDER_CANCELED = \"ORDER_CANCELED\",\n      DOWNLOAD_LINK_SENT = \"DOWNLOAD_LINK_SENT\",\n      TRACKING_NUMBER_ADDED = \"TRACKING_NUMBER_ADDED\",\n      TRACKING_NUMBER_EDITED = \"TRACKING_NUMBER_EDITED\",\n      TRACKING_LINK_ADDED = \"TRACKING_LINK_ADDED\",\n      SHIPPING_CONFIRMATION_EMAIL_SENT = \"SHIPPING_CONFIRMATION_EMAIL_SENT\",\n      INVOICE_ADDED = \"INVOICE_ADDED\",\n      INVOICE_REMOVED = \"INVOICE_REMOVED\",\n      INVOICE_SENT = \"INVOICE_SENT\",\n      FULFILLER_EMAIL_SENT = \"FULFILLER_EMAIL_SENT\",\n      SHIPPING_ADDRESS_EDITED = \"SHIPPING_ADDRESS_EDITED\",\n      EMAIL_EDITED = \"EMAIL_EDITED\",\n      PICKUP_READY_EMAIL_SENT = \"PICKUP_READY_EMAIL_SENT\",\n      CUSTOM_ACTIVITY = \"CUSTOM_ACTIVITY\",\n      MERCHANT_COMMENT = \"MERCHANT_COMMENT\",\n      ORDER_CREATED_FROM_EXCHANGE = \"ORDER_CREATED_FROM_EXCHANGE\",\n      NEW_EXCHANGE_ORDER_CREATED = \"NEW_EXCHANGE_ORDER_CREATED\",\n      ORDER_PARTIALLY_PAID = \"ORDER_PARTIALLY_PAID\",\n      DRAFT_ORDER_CHANGES_APPLIED = \"DRAFT_ORDER_CHANGES_APPLIED\",\n      SAVED_PAYMENT_METHOD = \"SAVED_PAYMENT_METHOD\",\n      AUTHORIZED_PAYMENT_CREATED = \"AUTHORIZED_PAYMENT_CREATED\",\n      AUTHORIZED_PAYMENT_CAPTURED = \"AUTHORIZED_PAYMENT_CAPTURED\",\n      AUTHORIZED_PAYMENT_VOIDED = \"AUTHORIZED_PAYMENT_VOIDED\",\n      REFUND_INITIATED = \"REFUND_INITIATED\",\n      PAYMENT_REFUNDED = \"PAYMENT_REFUNDED\",\n      PAYMENT_REFUND_FAILED = \"PAYMENT_REFUND_FAILED\",\n      REFUNDED_AS_STORE_CREDIT = \"REFUNDED_AS_STORE_CREDIT\",\n      /** @documentationMaturity preview */\n      PAYMENT_PENDING = \"PAYMENT_PENDING\",\n      /** @documentationMaturity preview */\n      PAYMENT_CANCELED = \"PAYMENT_CANCELED\",\n      /** @documentationMaturity preview */\n      PAYMENT_DECLINED = \"PAYMENT_DECLINED\",\n      /** @documentationMaturity preview */\n      ORDER_PENDING = \"ORDER_PENDING\",\n      /** @documentationMaturity preview */\n      ORDER_REJECTED = \"ORDER_REJECTED\"\n  }\n  enum AttributionSource {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      FACEBOOK_ADS = \"FACEBOOK_ADS\"\n  }\n  interface V1CreatedBy extends V1CreatedByStringOneOf {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface V1CreatedByStringOneOf {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application. */\n      appId?: string;\n  }\n  interface ChannelInfo {\n      /** Sales channel that submitted the order. */\n      type?: ChannelType;\n      /** Reference to an order ID from an external system. */\n      externalOrderId?: string | null;\n      /** URL to the order in the external system. */\n      externalOrderUrl?: string | null;\n  }\n  enum ChannelType {\n      /** Unspecified sales channel. This value is not supported. */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** A web client. */\n      WEB = \"WEB\",\n      /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n      POS = \"POS\",\n      /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n      EBAY = \"EBAY\",\n      /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n      AMAZON = \"AMAZON\",\n      /** Other sales platform. */\n      OTHER_PLATFORM = \"OTHER_PLATFORM\",\n      /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n      WIX_APP_STORE = \"WIX_APP_STORE\",\n      /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n      WIX_INVOICES = \"WIX_INVOICES\",\n      /** Wix merchant backoffice. */\n      BACKOFFICE_MERCHANT = \"BACKOFFICE_MERCHANT\",\n      /** Wish sales channel. */\n      WISH = \"WISH\",\n      /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n      CLASS_PASS = \"CLASS_PASS\",\n      /** Global-E sales channel. */\n      GLOBAL_E = \"GLOBAL_E\",\n      /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n      FACEBOOK = \"FACEBOOK\",\n      /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n      ETSY = \"ETSY\",\n      /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n      TIKTOK = \"TIKTOK\",\n      /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n      FAIRE_COM = \"FAIRE_COM\"\n  }\n  interface CustomField {\n      /** Custom field value. */\n      value?: any;\n      /** Custom field title. */\n      title?: string;\n      /** Translated custom field title. */\n      translatedTitle?: string | null;\n  }\n  interface BalanceSummary {\n      /**\n       * Current amount left to pay.\n       * @readonly\n       */\n      balance?: Balance;\n      /**\n       * Sum of all approved and successful payments.\n       *\n       * The value includes payments that have subsequently been fully or partially refunded.\n       * @readonly\n       */\n      paid?: Price;\n      /**\n       * Sum of all successfully refunded payments.\n       * @readonly\n       */\n      refunded?: Price;\n      /**\n       * Sum of all authorized payments.\n       * @readonly\n       */\n      authorized?: Price;\n      /**\n       * Sum of all pending refund transactions.\n       * @internal\n       * @readonly\n       */\n      pendingRefund?: Price;\n      /**\n       * Sum of all pending transactions.\n       * @readonly\n       */\n      pending?: Price;\n  }\n  /**\n   * Order balance. Reflects amount left to be paid on order and is calculated dynamically. Can be negative per balance definition.\n   * `amount` field depends on order payment status:\n   * + UNSPECIFIED, NOT_PAID: price_summary.total_price\n   * + PARTIALLY_PAID : price_summary.total_price - pay_now.total_price\n   * + PENDING, REFUNDED, PARTIALLY_REFUNDED, PAID : 0\n   */\n  interface Balance {\n      /**\n       * Balance amount.\n       *\n       * A negative `amount` represents the amount to be refunded. This can happen due to overcharging or the order being modified after a payment has been made.\n       * @readonly\n       */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface AdditionalFee {\n      /** Additional fee's unique code for future processing. */\n      code?: string | null;\n      /** Name of additional fee. */\n      name?: string;\n      /** Additional fee's price. */\n      price?: Price;\n      /** Tax details. */\n      taxDetails?: ItemTaxFullDetails;\n      /** SPI implementer's `appId`. */\n      providerAppId?: string | null;\n      /** Additional fee's price before tax. */\n      priceBeforeTax?: Price;\n      /** Additional fee's price after tax. */\n      priceAfterTax?: Price;\n      /** Additional fee's id. */\n      _id?: string;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n  }\n  interface FulfillmentStatusesAggregate {\n      /** Unique string values based on Fulfillment entities statuses */\n      statuses?: string[] | null;\n  }\n  /**\n   * Common object for tags.\n   * Should be use as in this example:\n   * message Foo {\n   * string id = 1;\n   * ...\n   * Tags tags = 5\n   * }\n   *\n   * example of taggable entity\n   * {\n   * id: \"123\"\n   * tags: {\n   * tags: {\n   * tag_ids:[\"11\",\"22\"]\n   * },\n   * private_tags: {\n   * tag_ids: [\"33\", \"44\"]\n   * }\n   * }\n   * }\n   */\n  interface Tags {\n      /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n      privateTags?: TagList;\n      /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n      tags?: TagList;\n  }\n  interface TagList {\n      /** List of tag IDs */\n      tagIds?: string[];\n  }\n  interface Location {\n      /**\n       * Location ID.\n       * Learn more about the [Wix Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       */\n      _id?: string;\n      /**\n       * Location name.\n       * @readonly\n       */\n      name?: string;\n  }\n  interface GetPaymentSettingsResponse {\n      /** Retrieved payment settings. */\n      paymentSettings?: PaymentSettings;\n  }\n  interface PaymentSettings {\n      /**\n       * Whether to apply [3D Secure](https://support.wix.com/en/article/about-3d-secure-3ds-payments-with-third-party-payment-providers) during the payment process.\n       *\n       * > __Note:__\n       * > + Not all payment providers offer this feature in their Wix integration.\n       * > + If the service plugin call fails, the value set in the [extension configuration](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/payment-settings-integration-spi/introduction#configuration) for `fallbackValueForRequires3dSecure` will be used.\n       */\n      requires3dSecure?: boolean | null;\n  }\n  interface GetPaymentSettingsForCheckoutRequest {\n      /** Checkout. */\n      checkout?: Checkout;\n  }\n  interface Checkout {\n      /**\n       * Checkout ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Line items.\n       *\n       * Max: 300 items\n       * @readonly\n       */\n      lineItems?: LineItem[];\n      /** Billing information. */\n      billingInfo?: AddressWithContact;\n      /** Shipping information. */\n      shippingInfo?: ShippingInfo;\n      /** [Buyer note](https://support.wix.com/en/article/wix-stores-viewing-buyer-notes) left by the customer. */\n      buyerNote?: string | null;\n      /** Buyer information. */\n      buyerInfo?: BuyerInfo;\n      /**\n       * All converted prices are displayed in this currency in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * @readonly\n       */\n      conversionCurrency?: string;\n      /**\n       * Calculated price summary for the checkout.\n       * @readonly\n       */\n      priceSummary?: V1PriceSummary;\n      /**\n       * Errors when calculating totals.\n       * @readonly\n       */\n      calculationErrors?: CalculationErrors;\n      /**\n       * Applied gift card details.\n       *\n       * >**Note:** Gift cards are supported through the Wix UI, though the service plugin is not currently available. Learn more about [Wix Gift Cards](https://support.wix.com/en/article/wix-stores-setting-up-wix-gift-cards).\n       * @readonly\n       */\n      giftCard?: GiftCard;\n      /**\n       * Applied discounts.\n       * @readonly\n       */\n      appliedDiscounts?: V1AppliedDiscount[];\n      /** Custom fields. */\n      customFields?: CustomField[];\n      /**\n       * Weight measurement unit - defaults to site's weight unit.\n       * @readonly\n       */\n      weightUnit?: WeightUnit;\n      /**\n       * Tax summary.\n       * @readonly\n       */\n      taxSummary?: V1TaxSummary;\n      /**\n       * The currency used when submitting the order.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Sales channel that submitted the order.\n       * @readonly\n       */\n      channelType?: ChannelType;\n      /**\n       * Site language in which original values are shown.\n       * @readonly\n       */\n      siteLanguage?: string;\n      /**\n       * Language for communication with the buyer. Defaults to the site language.\n       * For a site that supports multiple languages, this is the language the buyer selected.\n       * @readonly\n       */\n      buyerLanguage?: string;\n      /**\n       * Whether an order was successfully created from this checkout.\n       * For an order to be successful, it must be successfully paid for (unless the total is 0).\n       * @readonly\n       */\n      completed?: boolean;\n      /**\n       * Whether tax is included in line item prices.\n       * @readonly\n       */\n      taxIncludedInPrice?: boolean;\n      /**\n       * ID of the checkout's initiator.\n       * @readonly\n       */\n      createdBy?: CreatedBy;\n      /**\n       * Date and time the checkout was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the checkout was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Minimal amount to pay in order to place the order.\n       * @readonly\n       */\n      payNow?: V1PriceSummary;\n      /**\n       * Remaining amount for the order to be fully paid.\n       * @readonly\n       */\n      payLater?: V1PriceSummary;\n      /** Memberships to apply when creating the order. */\n      membershipOptions?: MembershipOptions;\n      /** Additional Fees. */\n      additionalFees?: V1AdditionalFee[];\n      /** Cart ID that this checkout was created from. Empty if this checkout wasn't created from a cart. */\n      cartId?: string | null;\n      /**\n       * Information about the currency conversion that took place if at all. Empty if no conversion took place.\n       * @internal\n       */\n      conversionInfo?: ConversionInfo;\n      /**\n       * The pay now total amount after gift card reduction\n       * @internal\n       * @readonly\n       */\n      payNowTotalAfterGiftCard?: MultiCurrencyPrice;\n      /**\n       * __Deprecated.__ Use `purchaseFlowId` instead.\n       * @internal\n       * @deprecated\n       */\n      ecomId?: string | null;\n      /**\n       * List of validation violations raised by the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction).\n       * @readonly\n       */\n      violations?: Violation[];\n      /**\n       * The total payment amount after gift card reduction\n       * @internal\n       * @readonly\n       */\n      totalAfterGiftCard?: MultiCurrencyPrice;\n      /**\n       * Custom field data for the checkout object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n      /**\n       * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n       * @readonly\n       */\n      purchaseFlowId?: string | null;\n      /**\n       * Additional settings for customization of the checkout process.\n       *\n       * > **Notes:**\n       * > * Custom settings can only be set when [creating a checkout](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/checkout/create-checkout).\n       * > * To access and manage custom checkout page content, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\". Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customSettings?: CustomSettings;\n      /**\n       * Reference IDs for the app and component providing custom checkout page content.\n       *\n       * To access and manage custom checkout page content, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      customContentReference?: CustomContentReference;\n      /**\n       * References to an external app and resource associated with this checkout.\n       * Used for integration and tracking across different platforms.\n       * @internal\n       */\n      externalReference?: ExternalReference;\n      /**\n       * Order ID.\n       *\n       * This field is empty until the checkout completes and becomes an order.\n       * @internal\n       * @readonly\n       */\n      orderId?: string | null;\n      /**\n       * Payment for subscriptions after free trial period.\n       * @internal\n       * @readonly\n       */\n      payAfterFreeTrial?: V1PriceSummary;\n  }\n  interface LineItem {\n      /**\n       * Line item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Item quantity.\n       *\n       * Min: `\"1\"`\n       * Max: `\"100000\"`\n       */\n      quantity?: number;\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n      catalogReference?: CatalogReference;\n      /**\n       * Item name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       * @readonly\n       */\n      productName?: ProductName;\n      /**\n       * URL to the item's page on the site.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Item price **after** catalog-defined discount and line item discounts.\n       * @readonly\n       */\n      price?: MultiCurrencyPrice;\n      /**\n       * Total line item price **after** catalog-defined discount and line item discounts.\n       * @readonly\n       */\n      lineItemPrice?: MultiCurrencyPrice;\n      /**\n       * Item price **before** catalog-defined discount. Defaults to `price` when not provided.\n       * @readonly\n       */\n      fullPrice?: MultiCurrencyPrice;\n      /**\n       * Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.\n       * @readonly\n       */\n      priceBeforeDiscounts?: MultiCurrencyPrice;\n      /**\n       * Total price after all discounts and tax.\n       * @readonly\n       */\n      totalPriceAfterTax?: MultiCurrencyPrice;\n      /**\n       * Total price after discounts, and before tax.\n       * @readonly\n       */\n      totalPriceBeforeTax?: MultiCurrencyPrice;\n      /**\n       * Tax details for this line item.\n       * @readonly\n       */\n      taxDetails?: V1ItemTaxFullDetails;\n      /**\n       * Discount for this line item's entire quantity.\n       * @readonly\n       */\n      discount?: MultiCurrencyPrice;\n      /**\n       * Line item description lines. Used for display purposes for the cart, checkout and order.\n       * @readonly\n       */\n      descriptionLines?: DescriptionLine[];\n      /**\n       * Line item image details.\n       * @readonly\n       */\n      media?: string;\n      /**\n       * Item availability details.\n       * @readonly\n       */\n      availability?: ItemAvailabilityInfo;\n      /**\n       * Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.\n       * @readonly\n       */\n      physicalProperties?: PhysicalProperties;\n      /**\n       * Coupon scopes - which app and items a coupon applies to.\n       * This field is internal to Wix, and should be used by Bookings, Stores and Events as used by the current [Coupons API](https://bo.wix.com/wix-docs/rest/stores/coupons/valid-scope-values).\n       * @internal\n       * @readonly\n       */\n      couponScopes?: Scope[];\n      /**\n       * Item type. Either a preset type or custom.\n       * @readonly\n       */\n      itemType?: ItemType;\n      /**\n       * Subscription option information.\n       * @readonly\n       */\n      subscriptionOptionInfo?: SubscriptionOptionInfo;\n      /**\n       * Fulfiller ID for this item. Field is empty when the item is self-fulfilled.\n       * @internal\n       * @readonly\n       */\n      fulfillerId?: string | null;\n      /**\n       * Shipping group ID.\n       * @internal\n       * @readonly\n       */\n      shippingGroupId?: string | null;\n      /**\n       * Digital file identifier, relevant only for items with type DIGITAL.\n       * @internal\n       * @readonly\n       */\n      digitalFile?: SecuredMedia;\n      /**\n       * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n       * + `FULL_PAYMENT_ONLINE`: The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE`: The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP`: Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is `0`.\n       * + `DEPOSIT_ONLINE`: Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is defined by `lineItem.deposit`.\n       * + `MEMBERSHIP_OFFLINE`: Payment for this item can only be performed by using a membership and must be manually redeemed in the dashboard by the site owner. When this option is used, `lineItem.price.amount` is `0`.\n       * @readonly\n       */\n      paymentOption?: PaymentOptionType;\n      /**\n       * Service properties. When relevant, this contains information such as date and number of participants.\n       * @readonly\n       */\n      serviceProperties?: ServiceProperties;\n      /**\n       * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n       * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n       * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n       * + Used in membership validation.\n       * @readonly\n       */\n      rootCatalogItemId?: string | null;\n      /**\n       * Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".\n       * @readonly\n       */\n      priceDescription?: PriceDescription;\n      /**\n       * Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.\n       * @readonly\n       */\n      depositAmount?: MultiCurrencyPrice;\n      /**\n       * Delivery Profile Id for the product\n       * @internal\n       * @readonly\n       */\n      deliveryProfileId?: string | null;\n      /**\n       * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n       * @readonly\n       */\n      customLineItem?: boolean;\n      /**\n       * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n       * @readonly\n       */\n      consentRequiredPaymentPolicy?: string | null;\n      /**\n       * Overriding values for catalog item properties.\n       *\n       * To override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n       * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n       */\n      catalogOverrideFields?: CatalogOverrideFields;\n      /**\n       * Whether the price is not yet defined, and will be updated after the order is created.\n       * @internal\n       * @readonly\n       */\n      priceUndetermined?: boolean;\n      /**\n       * Whether the line item quantity is fixed and cannot be changed.\n       * @internal\n       * @readonly\n       */\n      fixedQuantity?: boolean;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      savePaymentMethod?: boolean;\n      /**\n       * Address to be used for tax calculation.\n       * @internal\n       */\n      taxableAddress?: TaxableAddress;\n      /**\n       * Custom extended fields for the line item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       * @internal\n       */\n      extendedFields?: ExtendedFields;\n      /**\n       * Policies to be displayed to the customer on the checkout page.\n       * @internal\n       * @readonly\n       */\n      policies?: Policy[];\n      /**\n       * ID of the app managing the inventory.\n       * @internal\n       */\n      inventoryAppId?: string | null;\n  }\n  interface MultiCurrencyPrice {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface V1ItemTaxFullDetails {\n      /** Amount for which tax is calculated. */\n      taxableAmount?: MultiCurrencyPrice;\n      /**\n       * Tax group ID, if specified.\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /** Tax rate %, as a decimal point between 0 and 1. */\n      taxRate?: string;\n      /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n      totalTax?: MultiCurrencyPrice;\n      /**\n       * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead.\n       * @readonly\n       * @deprecated\n       */\n      rateBreakdown?: TaxRateBreakdown[];\n      /**\n       * The amount of this line item that was exempt.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice;\n      /**\n       * True for items we have a tax applied on them\n       * @internal\n       */\n      isItemTaxable?: boolean | null;\n      /**\n       * True if the lineAmount include tax in it.\n       * @internal\n       */\n      isTaxIncluded?: boolean | null;\n      /**\n       * The calculator that calculated this line tax\n       * @internal\n       */\n      calculatorName?: string | null;\n      /**\n       * tax information for a line item.\n       * @internal\n       * @readonly\n       */\n      taxBreakdown?: TaxBreakdown[];\n  }\n  interface TaxRateBreakdown {\n      /** Name of tax against which the calculation was performed. */\n      name?: string;\n      /** Rate at which this tax detail was calculated. */\n      rate?: string;\n      /** Amount of tax for this tax detail. */\n      tax?: MultiCurrencyPrice;\n      /**\n       * The type of tax that was calculated\n       * @internal\n       */\n      taxType?: string | null;\n      /**\n       * The name of the jurisdiction in which this tax detail applies\n       * @internal\n       */\n      jurisdiction?: string | null;\n      /**\n       * The type of the jurisdiction in which this tax detail applies(Country,State,County,City,Special).\n       * @internal\n       */\n      jurisdictionType?: string | null;\n      /**\n       * The amount of this line item that was exempt from this authority.\n       * @internal\n       */\n      exemptAmount?: MultiCurrencyPrice;\n      /**\n       * ids of the used exemptions from the TaxEstimate exemptions array.\n       * @internal\n       */\n      exemptionIds?: number[];\n      /**\n       * The taxable amount of this tax detail\n       * @internal\n       */\n      taxableAmount?: MultiCurrencyPrice;\n      /**\n       * The Taxes/Fee component. True if the fee is applied.\n       * @internal\n       */\n      isFee?: boolean | null;\n  }\n  /**\n   * TaxBreakdown represents tax information for a line item.\n   * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n   */\n  interface TaxBreakdown {\n      /** The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\". */\n      jurisdiction?: string | null;\n      /** The amount of this line item price that was considered nontaxable. (Decimal value) */\n      nonTaxableAmount?: MultiCurrencyPrice;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value) */\n      rate?: string | null;\n      /** The amount of tax estimated for this line item. (Decimal value) */\n      taxAmount?: MultiCurrencyPrice;\n      /** The taxable amount of this line item. */\n      taxableAmount?: MultiCurrencyPrice;\n      /** The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc. */\n      taxType?: string | null;\n      /**\n       * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n       * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n       */\n      taxName?: string | null;\n      /** The type of the jurisdiction in which this tax detail applies. */\n      jurisdictionType?: V1JurisdictionType;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum V1JurisdictionType {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface ItemAvailabilityInfo {\n      /** Item availability status. */\n      status?: ItemAvailabilityStatus;\n      /** Quantity available. */\n      quantityAvailable?: number | null;\n  }\n  enum ItemAvailabilityStatus {\n      AVAILABLE = \"AVAILABLE\",\n      /** Item does not exist */\n      NOT_FOUND = \"NOT_FOUND\",\n      /** Item not in stock */\n      NOT_AVAILABLE = \"NOT_AVAILABLE\",\n      /** Available quantity is less than requested */\n      PARTIALLY_AVAILABLE = \"PARTIALLY_AVAILABLE\"\n  }\n  interface Scope {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */\n      group?: Group;\n  }\n  interface Group {\n      /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      name?: string;\n      /** Item ID (when the coupon scope is limited to just one item). */\n      entityId?: string | null;\n  }\n  interface SubscriptionOptionInfo {\n      /** Subscription option settings. */\n      subscriptionSettings?: V1SubscriptionSettings;\n      /** Subscription option title. */\n      title?: Title;\n      /** Subscription option description. */\n      description?: Description;\n  }\n  interface V1SubscriptionSettings {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency;\n      /**\n       * Interval of recurring payment.\n       *\n       * Default: `1`.\n       * If SubscriptionFrequency is Day the minimum interval is 7\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`. */\n      billingCycles?: number | null;\n      /**\n       * Whether to allow the customer to cancel the subscription..\n       * @internal\n       */\n      enableCustomerCancellation?: boolean;\n      /**\n       * Period until first cycle starts. If applied payNow will be 0\n       * If None => no free trial\n       * @internal\n       */\n      freeTrialPeriod?: FreeTrialPeriod;\n      /**\n       * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n       * @internal\n       */\n      startDate?: Date | null;\n      /**\n       * Whether to generate an order each billing cycle. An order will always be generated for the first billing cycle.\n       * Default None => will behave like true\n       * @internal\n       */\n      generateOrderEachBillingCycle?: boolean | null;\n  }\n  interface FreeTrialPeriod {\n      /** Frequency of priod. Values: DAY, WEEK, MONTH, YEAR */\n      frequency?: SubscriptionFrequency;\n      /** interval of period */\n      interval?: number;\n  }\n  interface Title {\n      /** Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope). */\n      original?: string;\n      /**\n       * Subscription option name translated into the buyer's language.\n       *\n       * Default: Same as `original`.\n       */\n      translated?: string | null;\n  }\n  interface Description {\n      /** Subscription option description. */\n      original?: string;\n      /** Translated subscription option description. */\n      translated?: string | null;\n  }\n  interface SecuredMedia {\n      /** Media ID in Wix Media Manager. */\n      _id?: string;\n      /** Original filename. */\n      fileName?: string;\n      /** File type. */\n      fileType?: FileType;\n  }\n  enum FileType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  interface ServiceProperties {\n      /**\n       * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n       * For example, the start time of a class.\n       */\n      scheduledDate?: Date | null;\n      /** The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room. */\n      numberOfParticipants?: number | null;\n  }\n  interface CatalogOverrideFields {\n      /** Item name. */\n      productName?: ProductName;\n      /** Item price **after** discounts. */\n      price?: string | null;\n      /** Item price **before** discounts. */\n      fullPrice?: string | null;\n      /** Item description lines. Used when displaying the line item to customers. */\n      descriptionLines?: DescriptionLine[];\n      /** Physical properties of the item. */\n      physicalProperties?: PhysicalProperties;\n      /** Item image. */\n      image?: string;\n      /** Payment method selected for the item. */\n      paymentOption?: PaymentOption;\n      /** Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`. */\n      depositAmount?: string | null;\n      /**\n       * Whether to save the payment method on the order.\n       *\n       * Default: `false`\n       */\n      savePaymentMethod?: boolean | null;\n  }\n  interface PaymentOption {\n      /**\n       * + `FULL_PAYMENT_ONLINE`: The entire payment for this item happens as part of the checkout.\n       * + `FULL_PAYMENT_OFFLINE`: The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n       * + `MEMBERSHIP`: Payment for this item is done by charging a membership. When selected, `price` is `0`.\n       * + `DEPOSIT_ONLINE`: Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is specified in `depositAmount`.\n       * + `MEMBERSHIP_OFFLINE`: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.\n       */\n      value?: PaymentOptionType;\n  }\n  interface Policy {\n      /** Policy title - should be translated */\n      title?: string | null;\n      /** Policy content - should be translated */\n      content?: string;\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact {\n      /** Address. */\n      address?: Address;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails;\n      /**\n       * Reference to address service.\n       * @internal\n       */\n      addressesServiceId?: string | null;\n  }\n  interface ShippingInfo {\n      /** Shipping address and contact details. */\n      shippingDestination?: AddressWithContact;\n      /** Selected option out of the options allowed for the `region`. */\n      selectedCarrierServiceOption?: SelectedCarrierServiceOption;\n      /**\n       * Shipping region. Based on the address provided.\n       * @readonly\n       */\n      region?: V1ShippingRegion;\n      /**\n       * All carrier options for this shipping rule.\n       * @readonly\n       */\n      carrierServiceOptions?: CarrierServiceOption[];\n  }\n  interface SelectedCarrierServiceOption {\n      /** Unique identifier of selected option. For example, \"usps_std_overnight\". */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       * @readonly\n       */\n      title?: string;\n      /**\n       * Delivery logistics.\n       * @readonly\n       */\n      logistics?: V1DeliveryLogistics;\n      /**\n       * Shipping costs.\n       * @readonly\n       */\n      cost?: SelectedCarrierServiceOptionPrices;\n      /**\n       * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)\n       * @readonly\n       */\n      requestedShippingOption?: boolean;\n      /** Other charges */\n      otherCharges?: SelectedCarrierServiceOptionOtherCharge[];\n      /** This carrier's unique ID */\n      carrierId?: string | null;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface V1DeliveryLogistics {\n      /** Expected delivery time, in free text. For example, \"3-5 business days\". */\n      deliveryTime?: string | null;\n      /** Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don't park in disabled parking spot\". */\n      instructions?: string | null;\n      /** Pickup details. */\n      pickupDetails?: V1PickupDetails;\n      /**\n       * Expected delivery time slot (from and to time stamps representation)\n       * @internal\n       */\n      deliveryTimeSlot?: V1DeliveryTimeSlot;\n  }\n  interface V1PickupDetails {\n      /** Pickup address. */\n      address?: Address;\n      /**\n       * Whether the pickup address is that of a business - this may effect tax calculation.\n       * @deprecated\n       */\n      businessLocation?: boolean;\n      /** Pickup method */\n      pickupMethod?: PickupDetailsPickupMethod;\n  }\n  enum PickupDetailsPickupMethod {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface V1DeliveryTimeSlot {\n      /** starting time of the delivery time slot */\n      from?: Date | null;\n      /** ending time of the delivery time slot */\n      to?: Date | null;\n  }\n  interface SelectedCarrierServiceOptionPrices {\n      /** Total shipping price, after discount and after tax. */\n      totalPriceAfterTax?: MultiCurrencyPrice;\n      /** Total price of shipping after discounts (when relevant), and before tax. */\n      totalPriceBeforeTax?: MultiCurrencyPrice;\n      /** Tax details. */\n      taxDetails?: V1ItemTaxFullDetails;\n      /** Shipping discount before tax. */\n      totalDiscount?: MultiCurrencyPrice;\n      /** Shipping price before discount and before tax. */\n      price?: MultiCurrencyPrice;\n  }\n  interface SelectedCarrierServiceOptionOtherCharge {\n      /** Type of additional cost. */\n      type?: ChargeType;\n      /** Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'. */\n      details?: string | null;\n      /** Price of added charge. */\n      cost?: SelectedCarrierServiceOptionPrices;\n  }\n  enum ChargeType {\n      HANDLING_FEE = \"HANDLING_FEE\",\n      INSURANCE = \"INSURANCE\"\n  }\n  interface DeliveryAllocation {\n      /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n      deliveryCarrier?: Carrier;\n      /** The delivery region that are relevant for this delivery solution. */\n      deliveryRegion?: Region;\n      /** Populated if the delivery solution is a partially supplied by this carrier. */\n      applicableLineItems?: ApplicableLineItems;\n  }\n  interface Carrier {\n      /** The carrier app id */\n      appId?: string | null;\n      /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n      code?: string;\n  }\n  interface Region {\n      /** The delivery region id. */\n      _id?: string | null;\n      /** The delivery region name. */\n      name?: string | null;\n  }\n  interface ApplicableLineItems {\n      /** Line items that the delivery solution is for. */\n      lineItemIds?: string[];\n  }\n  interface V1ShippingRegion {\n      /**\n       * Shipping region ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Shipping region name. */\n      name?: string;\n  }\n  interface CarrierServiceOption {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Shipping options offered by this carrier for this request. */\n      shippingOptions?: ShippingOption[];\n  }\n  interface ShippingOption {\n      /**\n       * Unique code of provided shipping option like \"usps_std_overnight\".\n       * For legacy calculators this would be the UUID of the option.\n       */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       */\n      title?: string;\n      /** Delivery logistics. */\n      logistics?: V1DeliveryLogistics;\n      /** Sipping price information. */\n      cost?: V1ShippingPrice;\n      /**\n       * Delivery solution allocations to different delivery carriers and delivery regions\n       * @internal\n       */\n      deliveryAllocations?: DeliveryAllocation[];\n      /**\n       * If the delivery solution is a partial and doesn't apply to all items.\n       * @internal\n       */\n      partial?: boolean | null;\n  }\n  interface V1ShippingPrice {\n      /** Shipping price. */\n      price?: MultiCurrencyPrice;\n      /** Other costs such as insurance, handling & packaging for fragile items, etc. */\n      otherCharges?: OtherCharge[];\n  }\n  interface OtherCharge {\n      /** Type of additional cost. */\n      type?: ChargeType;\n      /** Price of added cost. */\n      price?: MultiCurrencyPrice;\n  }\n  interface BuyerInfo extends BuyerInfoIdOneOf {\n      /**\n       * Visitor ID (if site visitor is **not** a member).\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID (if site visitor is a site member).\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * + If `true`, the checkout doesn't have an owner yet and anyone can access it. The first to access it will be the new owner.\n       * + If `false`, the value in `checkout.createdBy` is the owner.\n       * @internal\n       */\n      openAccess?: boolean;\n      /**\n       * Contact ID. Auto-created if one does not yet exist. For more information, see [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction).\n       * @readonly\n       */\n      contactId?: string | null;\n      /** Buyer email address. */\n      email?: string | null;\n  }\n  /** @oneof */\n  interface BuyerInfoIdOneOf {\n      /**\n       * Visitor ID (if site visitor is **not** a member).\n       * @readonly\n       */\n      visitorId?: string;\n      /**\n       * Member ID (if site visitor is a site member).\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * + If `true`, the checkout doesn't have an owner yet and anyone can access it. The first to access it will be the new owner.\n       * + If `false`, the value in `checkout.createdBy` is the owner.\n       * @internal\n       */\n      openAccess?: boolean;\n  }\n  interface V1PriceSummary {\n      /** Subtotal of all line items, before discounts and before tax. */\n      subtotal?: MultiCurrencyPrice;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: MultiCurrencyPrice;\n      /** Total tax. */\n      tax?: MultiCurrencyPrice;\n      /** Total calculated discount value. */\n      discount?: MultiCurrencyPrice;\n      /** Total price after discounts, gift cards, and tax. */\n      total?: MultiCurrencyPrice;\n      /** Total additional fees price before tax. */\n      additionalFees?: MultiCurrencyPrice;\n  }\n  interface CalculationErrors extends CalculationErrorsShippingCalculationErrorOneOf {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors;\n      /** Tax calculation error. */\n      taxCalculationError?: Details;\n      /** Coupon calculation error. */\n      couponCalculationError?: Details;\n      /** Gift card calculation error. */\n      giftCardCalculationError?: Details;\n      /** Order validation errors. */\n      orderValidationErrors?: ApplicationError[];\n      /**\n       * Membership payment methods calculation errors\n       * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid\n       */\n      membershipError?: Details;\n      /** Discount Rule calculation error. */\n      discountsCalculationError?: Details;\n  }\n  /** @oneof */\n  interface CalculationErrorsShippingCalculationErrorOneOf {\n      /** General shipping calculation error. */\n      generalShippingCalculationError?: Details;\n      /** Carrier errors. */\n      carrierErrors?: CarrierErrors;\n  }\n  interface Details extends DetailsKindOneOf {\n      applicationError?: ApplicationError;\n      validationError?: ValidationError;\n      systemError?: SystemError;\n      /**\n       * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n       * @deprecated\n       */\n      tracing?: Record<string, string>;\n  }\n  /** @oneof */\n  interface DetailsKindOneOf {\n      applicationError?: ApplicationError;\n      validationError?: ValidationError;\n      systemError?: SystemError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /**\n   * example result:\n   * {\n   * \"fieldViolations\": [\n   * {\n   * \"field\": \"fieldA\",\n   * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n   * \"violatedRule\": \"OTHER\",\n   * \"ruleName\": \"INVALID_NOTE\",\n   * \"data\": {\n   * \"value\": \"FI\"\n   * }\n   * },\n   * {\n   * \"field\": \"fieldB\",\n   * \"description\": \"field value out of range. supported range: [0-20]\",\n   * \"violatedRule\": \"MAX\",\n   * \"data\": {\n   * \"threshold\": 20\n   * }\n   * },\n   * {\n   * \"field\": \"fieldC\",\n   * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n   * \"violatedRule\": \"FORMAT\",\n   * \"data\": {\n   * \"type\": \"PHONE\"\n   * }\n   * }\n   * ]\n   * }\n   */\n  interface ValidationError {\n      fieldViolations?: FieldViolation[];\n  }\n  enum RuleType {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\",\n      EXACT_LENGTH = \"EXACT_LENGTH\",\n      EXACT_SIZE = \"EXACT_SIZE\"\n  }\n  interface FieldViolation {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  interface SystemError {\n      /** Error code. */\n      errorCode?: string | null;\n  }\n  interface CarrierErrors {\n      /** Carrier errors. */\n      errors?: CarrierError[];\n  }\n  interface CarrierError {\n      /** Carrier ID. */\n      carrierId?: string;\n      /** Error details. */\n      error?: Details;\n  }\n  interface GiftCard {\n      /**\n       * Gift Card ID.\n       * @deprecated\n       */\n      _id?: string;\n      /** Gift card obfuscated code. */\n      obfuscatedCode?: string;\n      /** Gift card value. */\n      amount?: MultiCurrencyPrice;\n      /** App ID of the gift card provider. */\n      appId?: string;\n      /**\n       * External ID in the gift card provider's system.\n       * Used for integration and tracking across different platforms.\n       */\n      externalId?: string | null;\n  }\n  interface V1AppliedDiscount extends V1AppliedDiscountDiscountSourceOneOf {\n      /** Coupon details. */\n      coupon?: V1Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: V1MerchantDiscount;\n      /** Discount rule */\n      discountRule?: V1DiscountRule;\n      /** Discount type. */\n      discountType?: AppliedDiscountDiscountType;\n      /**\n       * IDs of line items the discount applies to.\n       * @deprecated IDs of line items the discount applies to.\n       * @replacedBy line_items_discounts\n       * @targetRemovalDate 2024-06-01\n       */\n      lineItemIds?: string[];\n      /**\n       * Discount ID.\n       * @internal\n       */\n      _id?: string | null;\n      /**\n       * Line items the discount applies to.\n       * @internal\n       */\n      lineItemDiscounts?: V1LineItemDiscount[];\n      /**\n       * Number of subscription cycle this discount applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  /** @oneof */\n  interface V1AppliedDiscountDiscountSourceOneOf {\n      /** Coupon details. */\n      coupon?: V1Coupon;\n      /** Merchant discount. */\n      merchantDiscount?: V1MerchantDiscount;\n      /** Discount rule */\n      discountRule?: V1DiscountRule;\n  }\n  enum AppliedDiscountDiscountType {\n      GLOBAL = \"GLOBAL\",\n      SPECIFIC_ITEMS = \"SPECIFIC_ITEMS\",\n      SHIPPING = \"SHIPPING\"\n  }\n  /** Coupon */\n  interface V1Coupon {\n      /** Coupon ID. */\n      _id?: string;\n      /** Coupon code. */\n      code?: string;\n      /** Coupon value. */\n      amount?: MultiCurrencyPrice;\n      /** Coupon name. */\n      name?: string;\n      /**\n       * Coupon type: We want it to be an enum and not a string but currently we have no time to do it so we leave it as is to be aligned with cart summary.\n       * @internal\n       * @deprecated\n       */\n      couponType?: string;\n  }\n  interface V1MerchantDiscount {\n      /** Discount value. */\n      amount?: MultiCurrencyPrice;\n      /** Discount Percentage. Will be calculated from items price before other discounts. */\n      percentage?: number | null;\n  }\n  interface V1DiscountRule {\n      /** Discount rule ID */\n      _id?: string;\n      /** Discount rule name */\n      name?: V1DiscountRuleName;\n      /** Discount value. */\n      amount?: MultiCurrencyPrice;\n  }\n  interface V1DiscountRuleName {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /** Translated discount rule name according to buyer language. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface V1LineItemDiscount {\n      /** ID of line item the discount applies to. */\n      _id?: string;\n      /** Discount value. */\n      totalDiscountAmount?: MultiCurrencyPrice;\n  }\n  interface V1TaxSummary {\n      /**\n       * Amount for which tax is calculated, added from line items.\n       * @readonly\n       */\n      taxableAmount?: MultiCurrencyPrice;\n      /**\n       * Calculated tax, added from line items.\n       * @readonly\n       */\n      totalTax?: MultiCurrencyPrice;\n      /**\n       * Manual tax rate\n       * @internal\n       * @readonly\n       * @deprecated\n       */\n      manualTaxRate?: string;\n      /**\n       * Tax calculator that was active when the order was created.\n       * @deprecated\n       */\n      calculationDetails?: TaxCalculationDetails;\n      /**\n       * Tax estimation id in tax service\n       * @internal\n       * @readonly\n       */\n      taxEstimationId?: string | null;\n      /**\n       * Average Tax Rate\n       * @internal\n       * @readonly\n       */\n      averageTaxRate?: string | null;\n      /**\n       * The amount of this estimate that was exempt (for all line items).\n       * @internal\n       * @readonly\n       */\n      totalExempt?: MultiCurrencyPrice;\n      /**\n       * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n       * @internal\n       * @readonly\n       */\n      aggregatedTaxBreakdown?: AggregatedTaxBreakdown[];\n  }\n  interface TaxCalculationDetails extends TaxCalculationDetailsCalculationDetailsOneOf {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason;\n      /** Details of the fallback rate calculation. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;\n      /** Rate calculation type. */\n      rateType?: RateType;\n  }\n  /** @oneof */\n  interface TaxCalculationDetailsCalculationDetailsOneOf {\n      /** Reason the manual calculation was used. */\n      manualRateReason?: ManualCalculationReason;\n      /** Details of the fallback rate calculation. */\n      autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;\n  }\n  enum RateType {\n      /** no tax being collected for this request due to location of purchase */\n      NO_TAX_COLLECTED = \"NO_TAX_COLLECTED\",\n      /** manual rate used for calculation */\n      MANUAL_RATE = \"MANUAL_RATE\",\n      /** autotax rate used for calculation */\n      AUTO_RATE = \"AUTO_RATE\",\n      /** fallback rate used for calculation */\n      FALLBACK_RATE = \"FALLBACK_RATE\"\n  }\n  enum ManualCalculationReason {\n      /** user set calculator in Business Manager to be Manual */\n      GLOBAL_SETTING_TO_MANUAL = \"GLOBAL_SETTING_TO_MANUAL\",\n      /** specific region is on manual even though Global setting is Auto-tax */\n      REGION_SETTING_TO_MANUAL = \"REGION_SETTING_TO_MANUAL\"\n  }\n  interface AutoTaxFallbackCalculationDetails {\n      /** reason for fallback */\n      fallbackReason?: FallbackReason;\n      /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */\n      error?: ApplicationError;\n  }\n  enum FallbackReason {\n      /** auto-tax failed to be calculated */\n      AUTO_TAX_FAILED = \"AUTO_TAX_FAILED\",\n      /** auto-tax was temporarily deactivated on a system-level */\n      AUTO_TAX_DEACTIVATED = \"AUTO_TAX_DEACTIVATED\"\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   */\n  interface AggregatedTaxBreakdown {\n      /** The name of the tax against which this tax amount was calculated. */\n      taxName?: string;\n      /** The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws. */\n      taxType?: string;\n      /** The name of the jurisdiction in which this tax detail applies. */\n      jurisdiction?: string;\n      /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n      jurisdictionTypeEnum?: V1JurisdictionType;\n      /** The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value) */\n      rate?: string;\n      /** The sum of all the tax from line items that calculated by the tax identifiers. */\n      aggregatedTaxAmount?: MultiCurrencyPrice;\n      /**\n       * The sum of all the taxable amount from line items for tax identifiers.\n       * @internal\n       */\n      aggregatedTaxableAmount?: MultiCurrencyPrice;\n  }\n  interface CreatedBy extends CreatedByIdOneOf {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application or Wix service. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface CreatedByIdOneOf {\n      /**\n       * User ID - when the order was created by a Wix user on behalf of a buyer.\n       * For example, via POS (point of service).\n       */\n      userId?: string;\n      /** Member ID - when the order was created by a **logged in** site visitor. */\n      memberId?: string;\n      /** Visitor ID - when the order was created by a site visitor that was **not** logged in. */\n      visitorId?: string;\n      /** App ID - when the order was created by an external application or Wix service. */\n      appId?: string;\n  }\n  /** Reserved for internal use. */\n  interface MembershipOptions {\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      eligibleMemberships?: Membership[];\n      /**\n       * Reserved for internal use.\n       * @readonly\n       */\n      invalidMemberships?: InvalidMembership[];\n      /** Selected membership to apply to this checkout. */\n      selectedMemberships?: SelectedMemberships;\n  }\n  interface Membership {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the application providing this payment option. */\n      appId?: string;\n      /** The name of this membership. */\n      name?: MembershipName;\n      /** Line item IDs which are \"paid\" for by this membership. */\n      lineItemIds?: string[];\n      /** Optional - For a membership that has limited credits, information about credit usage. */\n      credits?: MembershipPaymentCredits;\n      /** Optional - TMembership expiry date. */\n      expirationDate?: Date | null;\n      /** Additional data about this membership. */\n      additionalData?: Record<string, any> | null;\n  }\n  interface MembershipName {\n      /** Membership name. */\n      original?: string;\n      /** Translated membership name. Defaults to `original` when not provided. */\n      translated?: string | null;\n  }\n  interface MembershipPaymentCredits {\n      /** Membership's total amount of credits. */\n      total?: number;\n      /** Membership's remaining amount of credits. */\n      remaining?: number;\n  }\n  interface InvalidMembership {\n      /** Membership details. */\n      membership?: Membership;\n      /** Reason why this membership is invalid and cannot be used. */\n      reason?: string;\n  }\n  interface SelectedMemberships {\n      /** Selected memberships. */\n      memberships?: SelectedMembership[];\n  }\n  interface SelectedMembership {\n      /** Membership ID. */\n      _id?: string;\n      /** ID of the app providing this payment option. */\n      appId?: string;\n      /** IDs of the line items this membership applies to. */\n      lineItemIds?: string[];\n  }\n  interface V1AdditionalFee {\n      /** Additional fee's unique code (or ID) for future processing. */\n      code?: string | null;\n      /** Translated additional fee's name. */\n      name?: string;\n      /** Additional fee's price. */\n      price?: MultiCurrencyPrice;\n      /** Tax details. */\n      taxDetails?: V1ItemTaxFullDetails;\n      /** Provider's app id. */\n      providerAppId?: string | null;\n      /** Additional fee's price before tax. */\n      priceBeforeTax?: MultiCurrencyPrice;\n      /** Additional fee's price after tax. */\n      priceAfterTax?: MultiCurrencyPrice;\n      /**\n       * Optional - Line items associated with this additional fee.\n       * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n       */\n      lineItemIds?: string[];\n      /**\n       * Number of subscription cycle this fee applies to\n       * default None - all billing cycle\n       * @internal\n       */\n      subscriptionCycles?: number | null;\n  }\n  interface ConversionInfo {\n      /**\n       * The site currency.\n       * @readonly\n       */\n      siteCurrency?: string;\n      /**\n       * The rate used when converting from the site currency to the checkout currency.\n       * @readonly\n       */\n      conversionRate?: string;\n  }\n  interface Violation {\n      /** Severity of the violation. The violations are shown on the cart and checkout pages. A warning is displayed as yellow, and allows a site visitor to proceed with caution. An error is displayed as red, and doesn't allow a site visitor to proceed with the eCommerce flow. */\n      severity?: Severity;\n      /** Target location on a checkout or cart page where the violation will be displayed. */\n      target?: Target;\n      /** Violation description. Can include rich text. Only HTTP or HTTPS links in the following format are allowed: `<a href=\"https://www.wix.com\">Click me</a>`. */\n      description?: string | null;\n  }\n  enum Severity {\n      /** The user is allowed to move forward in the flow. */\n      WARNING = \"WARNING\",\n      /**\n       * The user is blocked from moving forward in the flow.\n       * For example, if callerContext is CART - moving to checkout is blocked. if callerContext is CHECKOUT, placing an order is blocked.\n       */\n      ERROR = \"ERROR\"\n  }\n  interface Target extends TargetTargetTypeOneOf {\n      /** General (other) violation. */\n      other?: Other;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem;\n  }\n  /** @oneof */\n  interface TargetTargetTypeOneOf {\n      /** General (other) violation. */\n      other?: Other;\n      /** Specific line item violation. */\n      lineItem?: TargetLineItem;\n  }\n  /** Available locations on the webpage */\n  enum NameInOther {\n      /** Default location, in case no specific location is specified. */\n      OTHER_DEFAULT = \"OTHER_DEFAULT\",\n      /** Delivery section. */\n      DELIVERY = \"DELIVERY\"\n  }\n  /** Available locations on the line item */\n  enum NameInLineItem {\n      /** Default location, in case no specific location is specified. */\n      LINE_ITEM_DEFAULT = \"LINE_ITEM_DEFAULT\"\n  }\n  enum SuggestedFix {\n      /** No suggested fix is specified. The user should refer to the violation description to resolve the issue. */\n      UNKNOWN_SUGGESTED_FIX = \"UNKNOWN_SUGGESTED_FIX\",\n      /** The line item should be removed from the cart or checkout to resolve the violation. */\n      REMOVE_LINE_ITEM = \"REMOVE_LINE_ITEM\"\n  }\n  /** General (other) violation. */\n  interface Other {\n      /** Location on a checkout or a cart page where a general (other) violation will be displayed. */\n      name?: NameInOther;\n  }\n  /** Specific line item violation. */\n  interface TargetLineItem {\n      /** Location on a checkout or a cart page where the specific line item violation will be displayed. */\n      name?: NameInLineItem;\n      /** ID of the line item containing the violation. */\n      _id?: string | null;\n      /**\n       * Suggested fix for resolving the line item violation.\n       * @internal\n       */\n      suggestedFix?: SuggestedFix;\n  }\n  interface CustomSettings {\n      /**\n       * Whether to restrict the option to add or remove a gift card on the checkout page.\n       *\n       * Default: `false`\n       */\n      lockGiftCard?: boolean;\n      /**\n       * Whether to restrict the option to add or remove a coupon code on the checkout page.\n       *\n       * Default: `false`\n       */\n      lockCouponCode?: boolean;\n      /**\n       * Whether to disable policy agreement checkout in the checkout page\n       *\n       * Default: `false`\n       */\n      disabledPolicyAgreementCheckbox?: boolean;\n      /**\n       * Whether to disable manual payment option for this checkout.\n       *\n       * Default: `false`\n       */\n      disabledManualPayment?: boolean;\n  }\n  interface CustomContentReference {\n      /**\n       * ID of the app providing the content.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       */\n      appId?: string;\n      /**\n       * ID of the component within the app it belongs to.\n       *\n       * You can get your component's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       */\n      componentId?: string;\n  }\n  interface ExternalReference {\n      /**\n       * ID of the app associated with the purchase flow.\n       * For example, the Wix Pay Links app ID.\n       */\n      appId?: string;\n      /**\n       * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n       * For example, a Wix Pay Link ID.\n       */\n      resourceId?: string | null;\n  }\n  interface GetPaymentSettingsForCheckoutResponse {\n      /** Blocked payment options. */\n      blockedPaymentOptions?: V1PaymentOption[];\n  }\n  enum V1PaymentOption {\n      UNKNOWN_PAYMENT_OPTION = \"UNKNOWN_PAYMENT_OPTION\",\n      MANUAL = \"MANUAL\"\n  }\n  interface PaymentSettingsSPIConfig {\n      /**\n       * The value to set for `paymentSettings.requires3dSecure` if the service plugin call fails.\n       *\n       * Default: `false`\n       */\n      fallbackValueForRequires3dSecure?: boolean;\n      /**\n       * `true` if SPI implementer provides payments settings for checkout\n       *\n       * Default: `false`\n       */\n      providePaymentsSettingsForCheckout?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetPaymentSettingsOptions {\n      /** Order. */\n      order?: Order;\n  }\n  interface GetPaymentSettingsForCheckoutOptions {\n      /** Checkout. */\n      checkout?: Checkout;\n  }\n  \n  export { Activity, ActivityContentOneOf, ActivityType, AdditionalFee, Address, AddressLocation, AddressWithContact, AggregatedTaxBreakdown, ApiAddressWithContact, ApplicableLineItems, ApplicationError, AppliedDiscount, AppliedDiscountDiscountSourceOneOf, AppliedDiscountDiscountType, AttributionSource, AuthorizedPaymentCaptured, AuthorizedPaymentCreated, AuthorizedPaymentVoided, AutoTaxFallbackCalculationDetails, Balance, BalanceSummary, BusinessError, BuyerInfo, BuyerInfoIdOneOf, CalculationErrors, CalculationErrorsShippingCalculationErrorOneOf, Carrier, CarrierError, CarrierErrors, CarrierServiceOption, CatalogOverrideFields, CatalogReference, ChannelInfo, ChannelType, ChargeType, Checkout, Color, Context, ConversionInfo, Coupon, CreatedBy, CreatedByIdOneOf, CreditCardDetails, CustomActivity, CustomContentReference, CustomField, CustomSettings, DeliveryAllocation, DeliveryLogistics, DeliveryLogisticsAddressOneOf, DeliveryTimeSlot, Description, DescriptionLine, DescriptionLineDescriptionLineValueOneOf, DescriptionLineName, DescriptionLineType, DescriptionLineValueOneOf, Details, DetailsKindOneOf, DigitalFile, DiscountReason, DiscountRule, DiscountRuleName, DiscountType, DraftOrderChangesApplied, ExtendedFields, ExternalReference, FallbackReason, FieldViolation, FileType, FocalPoint, FreeTrialPeriod, FulfillmentStatus, FulfillmentStatusesAggregate, FullAddressContactDetails, GetPaymentSettingsForCheckoutOptions, GetPaymentSettingsForCheckoutRequest, GetPaymentSettingsForCheckoutResponse, GetPaymentSettingsOptions, GetPaymentSettingsRequest, GetPaymentSettingsResponse, GiftCard, GiftCardPaymentRefund, Group, IdentificationData, IdentificationDataIdOneOf, IdentityType, InvalidMembership, ItemAvailabilityInfo, ItemAvailabilityStatus, ItemTaxFullDetails, ItemType, ItemTypeItemType, ItemTypeItemTypeDataOneOf, JurisdictionType, LineItem, LineItemAmount, LineItemChanges, LineItemDiscount, LineItemExchangeData, LineItemPriceChange, LineItemQuantityChange, LineItemQuantityChangeType, LineItemTaxBreakdown, LineItemTaxInfo, Location, LocationAndQuantity, ManagedAdditionalFee, ManagedDiscount, ManagedLineItem, ManualCalculationReason, Membership, MembershipName, MembershipOptions, MembershipPaymentCredits, MembershipPaymentRefund, MerchantComment, MerchantDiscount, MerchantDiscountMerchantDiscountReasonOneOf, MultiCurrencyPrice, NameInLineItem, NameInOther, NewExchangeOrderCreated, Order, OrderChange, OrderChangeValueOneOf, OrderCreatedFromExchange, OrderLineItem, OrderRefunded, OrderStatus, OrderTaxBreakdown, OrderTaxInfo, Other, OtherCharge, PaymentCanceled, PaymentCanceledPaymentDetailsOneOf, PaymentDeclined, PaymentDeclinedPaymentDetailsOneOf, PaymentOption, PaymentOptionType, PaymentPending, PaymentPendingPaymentDetailsOneOf, PaymentRefundFailed, PaymentRefunded, PaymentSettings, PaymentSettingsSPIConfig, PaymentStatus, PhysicalProperties, PickupAddress, PickupDetails, PickupDetailsPickupMethod, PickupMethod, PlainTextValue, Policy, Price, PriceDescription, PriceSummary, ProductName, RateType, RefundInitiated, RefundedAsStoreCredit, RefundedPayment, RefundedPaymentKindOneOf, Region, RegularPayment, RegularPaymentPaymentMethodDetailsOneOf, RegularPaymentRefund, RuleType, SavedPaymentMethod, Scope, SecuredMedia, SelectedCarrierServiceOption, SelectedCarrierServiceOptionOtherCharge, SelectedCarrierServiceOptionPrices, SelectedMembership, SelectedMemberships, ServiceProperties, Severity, ShippingInfo, ShippingInformation, ShippingInformationChange, ShippingOption, ShippingPrice, ShippingRegion, StreetAddress, SubscriptionFrequency, SubscriptionInfo, SubscriptionOptionInfo, SubscriptionSettings, SuggestedFix, SystemError, TagList, Tags, Target, TargetLineItem, TargetTargetTypeOneOf, TaxBreakdown, TaxCalculationDetails, TaxCalculationDetailsCalculationDetailsOneOf, TaxRateBreakdown, TaxSummary, TaxableAddress, TaxableAddressTaxableAddressDataOneOf, TaxableAddressType, Title, TotalPriceChange, TranslatedValue, V1AdditionalFee, V1AppliedDiscount, V1AppliedDiscountDiscountSourceOneOf, V1BuyerInfo, V1BuyerInfoIdOneOf, V1Coupon, V1CreatedBy, V1CreatedByStringOneOf, V1DeliveryLogistics, V1DeliveryTimeSlot, V1DiscountRule, V1DiscountRuleName, V1ItemTaxFullDetails, V1JurisdictionType, V1LineItemDiscount, V1MerchantDiscount, V1PaymentOption, V1PickupDetails, V1PriceSummary, V1ShippingInformation, V1ShippingPrice, V1ShippingRegion, V1SubscriptionSettings, V1TaxSummary, ValidationError, VatId, VatType, Violation, WeightUnit };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-authenticator-provider.d.ts",
      "content": "declare module \"interfaces-iam-v1-authenticator-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface EnrollRequest {\n      /** Id of the user enrolling */\n      identityId?: string;\n      /** Id of the browser session. This is guaranteed to be consistent across multiple calls originating from the same browser session */\n      sessionId?: string;\n      /** Inputs filled in by the user */\n      inputs?: Inputs;\n      /** metadata on the identity */\n      identityMetadata?: Metadata;\n  }\n  interface Inputs {\n      /**\n       * The resolved inputs presented to the user before the enroll/authentication stage.\n       * This will have all admin configurable settings filled with their final, concrete values\n       */\n      expectedStartInputs?: ConcreteExpectedInput[];\n      /**\n       * The resolved inputs that may be presented to the user during the verify stage.\n       * This will have all admin configurable settings filled with their final, concrete values\n       */\n      expectedVerifyInputs?: ConcreteExpectedInput[];\n      /** The values provided by the user. Corresponds to the inputs specified in `expected_user_start_inputs` */\n      userStartInputs?: Record<string, string>;\n      /** The values provided by the user in response to a VerifyState */\n      userVerifyInputs?: Record<string, string>;\n  }\n  interface ConcreteExpectedInput {\n      name?: string;\n      type?: ConcreteExpectedInputConfiguration;\n  }\n  interface ConcreteExpectedInputConfiguration extends ConcreteExpectedInputConfigurationTypeOneOf {\n      text?: TextInputSettings;\n  }\n  /** @oneof */\n  interface ConcreteExpectedInputConfigurationTypeOneOf {\n      text?: TextInputSettings;\n  }\n  interface TextInputSettings {\n      /** The minimum length required for the user to enter */\n      minLength?: number | null;\n      /** The maximum length allowed for the user to enter */\n      maxLength?: number | null;\n      /** A regex that the text entered by the user must match */\n      regex?: string | null;\n      /** How should the field be displayed to the end user */\n      displayType?: TextInputDisplayType;\n  }\n  enum TextInputDisplayType {\n      /** A regular text field */\n      TEXT = \"TEXT\",\n      /** A password field (where the text is hidden visually) */\n      PASSWORD = \"PASSWORD\",\n      /** A field optimized for one time codes */\n      CODE = \"CODE\"\n  }\n  interface Metadata {\n      /**\n       * represents general tags such as \"isOwner\", \"isContributor\"\n       * @readonly\n       */\n      tags?: string[];\n  }\n  interface EnrollResponse {\n      state?: State;\n  }\n  interface State extends StateStatusOneOf {\n      /** Indicates the enrollment/authentication was successful */\n      success?: SuccessState;\n      /** Indicates that further action is required from the user to complete enrollment/authentication */\n      verify?: VerifyState;\n  }\n  /** @oneof */\n  interface StateStatusOneOf {\n      /** Indicates the enrollment/authentication was successful */\n      success?: SuccessState;\n      /** Indicates that further action is required from the user to complete enrollment/authentication */\n      verify?: VerifyState;\n  }\n  /** In case of Success - may include additional data about the authentication process in the future */\n  interface SuccessState {\n  }\n  /** In case of verify - what is missing to complete the enrollment or authentication */\n  interface VerifyState {\n      /** Override the default behavior of requiring all fields configured in expected_verify_inputs */\n      custom?: CustomVerifyExpectations;\n  }\n  interface CustomVerifyExpectations {\n  }\n  interface AuthenticateRequest {\n      /** Id of the user authenticating */\n      identityId?: string;\n      /** Id of the browser session. This is guaranteed to be consistent across multiple authenticate calls from the same browser session */\n      sessionId?: string;\n      /** Inputs filled in by the user */\n      inputs?: Inputs;\n      /** metadata on the identity */\n      identityMetadata?: Metadata;\n  }\n  interface AuthenticateResponse {\n      state?: State;\n  }\n  interface AuthenticatorConfig {\n      /** Is the enrolment step required (eg. for saving the password, public key, etc.) */\n      requireUserEnroll?: boolean;\n      /** Information required during the enrollment and authentication processes */\n      expectedInputs?: ExpectedInputs;\n  }\n  interface ExpectedInputs {\n      /** Inputs that will be expected from the user at the start of the process of trying to enroll or authenticate */\n      expectedStartInputs?: PredefinedExpectedInput[];\n      /** Inputs that may be required during a second step of enroll/authenticate, specified at runtime by sending a Verify response */\n      expectedVerifyInputs?: PredefinedExpectedInput[];\n  }\n  /**\n   * Specifies an expected input that can be fully configured by the SPI implementor, perhaps with overrides by the admin, _before_ runtime.\n   * Notably, this does not include WebAuthn, as that input requires a unique, random challenge to be generated and persisted per request (ie at runtime)\n   * in order to be implemented correctly.\n   */\n  interface PredefinedExpectedInput {\n      /** The key used to identify the value entered into the input in the user_start_inputs or user_verify_inputs map */\n      key?: string;\n      /** The name of the input as it should be indicated to the user */\n      displayName?: string;\n      /** The configuration for the input */\n      configuration?: PredefinedExpectedInputConfiguration;\n  }\n  interface PredefinedExpectedInputConfiguration extends PredefinedExpectedInputConfigurationTypeOneOf {\n      textInput?: AdminConfigurableTextInput;\n  }\n  /** @oneof */\n  interface PredefinedExpectedInputConfigurationTypeOneOf {\n      textInput?: AdminConfigurableTextInput;\n  }\n  interface AdminConfigurableTextInput {\n      /** The default settings for the text input */\n      defaultSettings?: TextInputSettings;\n      /**\n       * Settings that must be have non-null values.\n       * This must be a subset of admin_configurable_settings.\n       */\n      requiredSettings?: string[];\n      /**\n       * Settings that the admin may override.\n       * This must be a valid FieldMask with respect to TextFieldSettings as the root object.\n       */\n      adminConfigurableSettings?: string[];\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface EnrollOptions {\n      /** Id of the user enrolling */\n      identityId?: string;\n      /** Id of the browser session. This is guaranteed to be consistent across multiple calls originating from the same browser session */\n      sessionId?: string;\n      /** Inputs filled in by the user */\n      inputs?: Inputs;\n      /** metadata on the identity */\n      identityMetadata?: Metadata;\n  }\n  interface AuthenticateOptions {\n      /** Id of the user authenticating */\n      identityId?: string;\n      /** Id of the browser session. This is guaranteed to be consistent across multiple authenticate calls from the same browser session */\n      sessionId?: string;\n      /** Inputs filled in by the user */\n      inputs?: Inputs;\n      /** metadata on the identity */\n      identityMetadata?: Metadata;\n  }\n  \n  export { AdminConfigurableTextInput, AuthenticateOptions, AuthenticateRequest, AuthenticateResponse, AuthenticatorConfig, BusinessError, ConcreteExpectedInput, ConcreteExpectedInputConfiguration, ConcreteExpectedInputConfigurationTypeOneOf, Context, CustomVerifyExpectations, EnrollOptions, EnrollRequest, EnrollResponse, ExpectedInputs, IdentificationData, IdentificationDataIdOneOf, IdentityType, Inputs, Metadata, PredefinedExpectedInput, PredefinedExpectedInputConfiguration, PredefinedExpectedInputConfigurationTypeOneOf, State, StateStatusOneOf, SuccessState, TextInputDisplayType, TextInputSettings, VerifyState };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-notification-v1-notification-preferences-filter-provider.d.ts",
      "content": "declare module \"interfaces-notification-v1-notification-preferences-filter-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface FilterPreferencesRequest extends FilterPreferencesRequestRecipientIdOneOf {\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of a Contact. */\n      contactId?: string;\n      /** the type of the recipient */\n      recipientType?: RecipientType;\n  }\n  /** @oneof */\n  interface FilterPreferencesRequestRecipientIdOneOf {\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of a Contact. */\n      contactId?: string;\n  }\n  enum RecipientType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      WIX_USER = \"WIX_USER\",\n      CONTACT = \"CONTACT\"\n  }\n  interface FilterPreferencesResponse {\n      channelsPerTopic?: Record<string, Channels>;\n  }\n  interface Channels {\n      channels?: Channel[];\n  }\n  enum Channel {\n      UNKNOWN_CHANNEL = \"UNKNOWN_CHANNEL\",\n      ALL = \"ALL\",\n      MOBILE = \"MOBILE\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\",\n      VOICE = \"VOICE\",\n      BROWSER = \"BROWSER\",\n      WEB_FEED = \"WEB_FEED\"\n  }\n  interface NotificationPreferencesFilterProviderConfig {\n      /** notification preference filter SPI configuration */\n      baseUri?: SpiBaseUri;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface FilterPreferencesOptions extends FilterPreferencesRequestRecipientIdOneOf {\n      /** the type of the recipient */\n      recipientType?: RecipientType;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of a Contact. */\n      contactId?: string;\n  }\n  \n  export { AlternativeUri, BusinessError, Channel, Channels, Context, FilterPreferencesOptions, FilterPreferencesRequest, FilterPreferencesRequestRecipientIdOneOf, FilterPreferencesResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, NotificationPreferencesFilterProviderConfig, RecipientType, SpiBaseUri };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-members.v3.d.ts",
      "content": "declare module \"wix-members.v3\" {\n  /**\n   * A Badge is a a visible label to be displayed on a site member's profile.\n   * You can use badges to create specific categories of members within your site.\n   * Read more about Badges\n   * in this [article](https://support.wix.com/en/article/about-member-badges).\n   */\n  interface Badge {\n      /**\n       * Badge ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the Badge is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the Badge.\n       * Ignored when creating a Badge.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Text displayed on the badge in the Wix UI. */\n      title?: string | null;\n      /** Badge description. */\n      description?: string | null;\n      /**\n       * Badge background color in hexadecimal RGB format.\n       * Uppercase letters only.\n       * Example: `#FFFFFF`.\n       */\n      backgroundColor?: string | null;\n      /**\n       * Badge text color in hexadecimal RGB format.\n       * Uppercase letters only.\n       * Example: `#C81B53`.\n       */\n      textColor?: string | null;\n      /**\n       * Badge icon image.\n       * _Recommended_ to use `SVG` image format as it is resolution independent and looks great at any scale.\n       */\n      icon?: string;\n      /**\n       * Whether the badge has special permissions\n       * to access specific members-only pages.\n       * When `true`, members with the badge receive special permissions,\n       * and site contributors can\n       * [manage badge permissions](https://support.wix.com/en/article/setting-permissions-for-a-member-badge)\n       * in the site dashboard.\n       * When `false`, members with the badge receive no special permissions.\n       */\n      permissionsEnabled?: boolean | null;\n      /**\n       * Slugified name. Used to represent the badge in a URL.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Date and time the Badge was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the Badge was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface CreateBadgeRequest {\n      /** Badge to create. */\n      badge: Badge;\n  }\n  interface CreateBadgeResponse {\n      /** Created badge. */\n      badge?: Badge;\n  }\n  interface GetBadgeRequest {\n      /** Badge ID. */\n      badgeId: string;\n  }\n  interface GetBadgeResponse {\n      /** Badge. */\n      badge?: Badge;\n  }\n  interface QueryBadgesRequest {\n      /** CursorQuery from protodep */\n      query?: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryBadgesResponse {\n      /** List of badges. */\n      badges?: Badge[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$3;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$3 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryBadgesLegacyRequest {\n      /** Filter criteria */\n      filter?: Record<string, any> | null;\n      /** Sorting criteria */\n      sort?: Sorting$3[];\n      /** Result paging data */\n      paging?: Paging$3;\n  }\n  interface Paging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryBadgesLegacyResponse {\n      /** List of sorted badges in a site that satisfy filter and paging */\n      badges?: Badge[];\n      /** Total count of badges in a site that satisfy given filter */\n      metadata?: PagingMetadata$2;\n  }\n  interface PagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface UpdateBadgeRequest {\n      /** Badge to update. */\n      badge: Badge;\n  }\n  interface UpdateBadgeResponse {\n      /** Updated badge. */\n      badge?: Badge;\n  }\n  interface DeleteBadgeRequest {\n      /** Badge ID. */\n      badgeId: string;\n  }\n  interface DeleteBadgeResponse {\n  }\n  interface UpdateBadgesDisplayOrderRequest {\n      /** Ordered badge IDs. */\n      ids: string[];\n  }\n  interface UpdateBadgesDisplayOrderResponse {\n      /** Reordered badges list. */\n      badges?: Badge[];\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new Badge.\n   * @param badge - Badge to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField badge\n   * @requiredField badge.title\n   * @permissionId BADGES.BADGE_CREATE\n   * @adminMethod\n   * @returns Created badge.\n   */\n  function createBadge(badge: Badge): Promise<Badge>;\n  /**\n   * Retrieves a Badge.\n   * @param badgeId - Badge ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField badgeId\n   * @permissionId BADGES.BADGE_READ\n   * @returns Badge.\n   */\n  function getBadge(badgeId: string): Promise<Badge>;\n  /**\n   * Retrieves up to 1000 badges, given the requested query options, paging, and sorting.\n   * Default `paging.limit` is 100, `paging.offset` - 0.\n   * For more information, see\n   * [API Query Language: The Paging Section](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-paging-section).\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BADGES.BADGE_READ\n   */\n  function queryBadges(): BadgesQueryBuilder;\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface BadgesQueryResult extends QueryOffsetResult {\n      items: Badge[];\n      query: BadgesQueryBuilder;\n      next: () => Promise<BadgesQueryResult>;\n      prev: () => Promise<BadgesQueryResult>;\n  }\n  interface BadgesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'title' | 'description' | 'permissionsEnabled' | 'slug', value: any) => BadgesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'title' | 'description' | 'permissionsEnabled' | 'slug', value: any) => BadgesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'title' | 'description' | 'slug', value: string) => BadgesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'title' | 'description' | 'permissionsEnabled' | 'slug', value: any[]) => BadgesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'title' | 'description' | 'permissionsEnabled' | 'slug', value: any) => BadgesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'title' | 'description' | 'permissionsEnabled' | 'slug', value: boolean) => BadgesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'title' | 'description' | 'permissionsEnabled' | 'slug'>) => BadgesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => BadgesQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => BadgesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<BadgesQueryResult>;\n  }\n  /**\n   * Internal Query endpoint to accept requests from BadgesV1-V3, as there we use old Filtering in request\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BADGES.BADGE_READ\n   */\n  function queryBadgesLegacy(options?: QueryBadgesLegacyOptions): Promise<QueryBadgesLegacyResponse>;\n  interface QueryBadgesLegacyOptions {\n      /** Filter criteria */\n      filter?: Record<string, any> | null;\n      /** Sorting criteria */\n      sort?: Sorting$3[];\n      /** Result paging data */\n      paging?: Paging$3;\n  }\n  /**\n   * Updates a badge's specified properties.\n   * @param _id - Badge ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField badge\n   * @permissionId BADGES.BADGE_UPDATE\n   * @adminMethod\n   * @returns Updated badge.\n   */\n  function updateBadge(_id: string | null, badge: UpdateBadge): Promise<Badge>;\n  interface UpdateBadge {\n      /**\n       * Badge ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the Badge is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the Badge.\n       * Ignored when creating a Badge.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Text displayed on the badge in the Wix UI. */\n      title?: string | null;\n      /** Badge description. */\n      description?: string | null;\n      /**\n       * Badge background color in hexadecimal RGB format.\n       * Uppercase letters only.\n       * Example: `#FFFFFF`.\n       */\n      backgroundColor?: string | null;\n      /**\n       * Badge text color in hexadecimal RGB format.\n       * Uppercase letters only.\n       * Example: `#C81B53`.\n       */\n      textColor?: string | null;\n      /**\n       * Badge icon image.\n       * _Recommended_ to use `SVG` image format as it is resolution independent and looks great at any scale.\n       */\n      icon?: string;\n      /**\n       * Whether the badge has special permissions\n       * to access specific members-only pages.\n       * When `true`, members with the badge receive special permissions,\n       * and site contributors can\n       * [manage badge permissions](https://support.wix.com/en/article/setting-permissions-for-a-member-badge)\n       * in the site dashboard.\n       * When `false`, members with the badge receive no special permissions.\n       */\n      permissionsEnabled?: boolean | null;\n      /**\n       * Slugified name. Used to represent the badge in a URL.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Date and time the Badge was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the Badge was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /**\n   * Deletes a badge.\n   * @param badgeId - Badge ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField badgeId\n   * @permissionId BADGES.BADGE_DELETE\n   * @adminMethod\n   */\n  function deleteBadge(badgeId: string): Promise<void>;\n  /**\n   * Updates badges' display order.\n   * @param ids - Ordered badge IDs.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId BADGES.BADGE_UPDATE_DISPLAY_ORDER\n   * @adminMethod\n   */\n  function updateBadgesDisplayOrder(ids: string[]): Promise<UpdateBadgesDisplayOrderResponse>;\n  \n  type badgesV4Badge_universal_d_Badge = Badge;\n  type badgesV4Badge_universal_d_CreateBadgeRequest = CreateBadgeRequest;\n  type badgesV4Badge_universal_d_CreateBadgeResponse = CreateBadgeResponse;\n  type badgesV4Badge_universal_d_GetBadgeRequest = GetBadgeRequest;\n  type badgesV4Badge_universal_d_GetBadgeResponse = GetBadgeResponse;\n  type badgesV4Badge_universal_d_QueryBadgesRequest = QueryBadgesRequest;\n  type badgesV4Badge_universal_d_QueryBadgesResponse = QueryBadgesResponse;\n  type badgesV4Badge_universal_d_QueryBadgesLegacyRequest = QueryBadgesLegacyRequest;\n  type badgesV4Badge_universal_d_QueryBadgesLegacyResponse = QueryBadgesLegacyResponse;\n  type badgesV4Badge_universal_d_UpdateBadgeRequest = UpdateBadgeRequest;\n  type badgesV4Badge_universal_d_UpdateBadgeResponse = UpdateBadgeResponse;\n  type badgesV4Badge_universal_d_DeleteBadgeRequest = DeleteBadgeRequest;\n  type badgesV4Badge_universal_d_DeleteBadgeResponse = DeleteBadgeResponse;\n  type badgesV4Badge_universal_d_UpdateBadgesDisplayOrderRequest = UpdateBadgesDisplayOrderRequest;\n  type badgesV4Badge_universal_d_UpdateBadgesDisplayOrderResponse = UpdateBadgesDisplayOrderResponse;\n  const badgesV4Badge_universal_d_createBadge: typeof createBadge;\n  const badgesV4Badge_universal_d_getBadge: typeof getBadge;\n  const badgesV4Badge_universal_d_queryBadges: typeof queryBadges;\n  type badgesV4Badge_universal_d_BadgesQueryResult = BadgesQueryResult;\n  type badgesV4Badge_universal_d_BadgesQueryBuilder = BadgesQueryBuilder;\n  const badgesV4Badge_universal_d_queryBadgesLegacy: typeof queryBadgesLegacy;\n  type badgesV4Badge_universal_d_QueryBadgesLegacyOptions = QueryBadgesLegacyOptions;\n  const badgesV4Badge_universal_d_updateBadge: typeof updateBadge;\n  type badgesV4Badge_universal_d_UpdateBadge = UpdateBadge;\n  const badgesV4Badge_universal_d_deleteBadge: typeof deleteBadge;\n  const badgesV4Badge_universal_d_updateBadgesDisplayOrder: typeof updateBadgesDisplayOrder;\n  namespace badgesV4Badge_universal_d {\n    export {\n      badgesV4Badge_universal_d_Badge as Badge,\n      badgesV4Badge_universal_d_CreateBadgeRequest as CreateBadgeRequest,\n      badgesV4Badge_universal_d_CreateBadgeResponse as CreateBadgeResponse,\n      badgesV4Badge_universal_d_GetBadgeRequest as GetBadgeRequest,\n      badgesV4Badge_universal_d_GetBadgeResponse as GetBadgeResponse,\n      badgesV4Badge_universal_d_QueryBadgesRequest as QueryBadgesRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      CursorPaging$3 as CursorPaging,\n      badgesV4Badge_universal_d_QueryBadgesResponse as QueryBadgesResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$3 as Cursors,\n      badgesV4Badge_universal_d_QueryBadgesLegacyRequest as QueryBadgesLegacyRequest,\n      Paging$3 as Paging,\n      badgesV4Badge_universal_d_QueryBadgesLegacyResponse as QueryBadgesLegacyResponse,\n      PagingMetadata$2 as PagingMetadata,\n      badgesV4Badge_universal_d_UpdateBadgeRequest as UpdateBadgeRequest,\n      badgesV4Badge_universal_d_UpdateBadgeResponse as UpdateBadgeResponse,\n      badgesV4Badge_universal_d_DeleteBadgeRequest as DeleteBadgeRequest,\n      badgesV4Badge_universal_d_DeleteBadgeResponse as DeleteBadgeResponse,\n      badgesV4Badge_universal_d_UpdateBadgesDisplayOrderRequest as UpdateBadgesDisplayOrderRequest,\n      badgesV4Badge_universal_d_UpdateBadgesDisplayOrderResponse as UpdateBadgesDisplayOrderResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      badgesV4Badge_universal_d_createBadge as createBadge,\n      badgesV4Badge_universal_d_getBadge as getBadge,\n      badgesV4Badge_universal_d_queryBadges as queryBadges,\n      badgesV4Badge_universal_d_BadgesQueryResult as BadgesQueryResult,\n      badgesV4Badge_universal_d_BadgesQueryBuilder as BadgesQueryBuilder,\n      badgesV4Badge_universal_d_queryBadgesLegacy as queryBadgesLegacy,\n      badgesV4Badge_universal_d_QueryBadgesLegacyOptions as QueryBadgesLegacyOptions,\n      badgesV4Badge_universal_d_updateBadge as updateBadge,\n      badgesV4Badge_universal_d_UpdateBadge as UpdateBadge,\n      badgesV4Badge_universal_d_deleteBadge as deleteBadge,\n      badgesV4Badge_universal_d_updateBadgesDisplayOrder as updateBadgesDisplayOrder,\n    };\n  }\n  \n  interface UserMember {\n      /**\n       * Profile id.\n       * @readonly\n       */\n      memberId?: string | null;\n      /**\n       * User id.\n       * @readonly\n       */\n      userId?: string | null;\n      /**\n       * Contact id.\n       * @readonly\n       */\n      contactId?: string | null;\n      /**\n       * The instance id of the 'SiteMembers' app.\n       * @readonly\n       */\n      siteMembersInstanceId?: string | null;\n      /**\n       * The id of the meta site\n       * @readonly\n       */\n      metaSiteId?: string | null;\n      /** Photo picture, which is used as a profile picture. */\n      photo?: Image;\n      /**\n       * Nickname.\n       * @readonly\n       */\n      nickname?: string | null;\n      /**\n       * Member profile privacy status.\n       * @readonly\n       */\n      privacyStatus?: PrivacyStatusStatus;\n      /**\n       * Member created timestamp.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Last member updated timestamp.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Status, e.g. approved/blocked/...\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Member activity status.\n       * @readonly\n       */\n      activityStatus?: ActivityStatusStatus;\n  }\n  interface Image {\n      /**\n       * Wix Media image ID,\n       * set when the member selects an image from Wix Media.\n       */\n      _id?: string;\n      /** Image URL. */\n      url?: string;\n      /** Original image width. */\n      height?: number;\n      /** Original image height. */\n      width?: number;\n      /**\n       * X-axis offset.\n       *\n       * Default: `0`.\n       */\n      offsetX?: number | null;\n      /**\n       * Y-axis offset.\n       *\n       * Default: `0`.\n       */\n      offsetY?: number | null;\n  }\n  enum PrivacyStatusStatus {\n      UNKNOWN = \"UNKNOWN\",\n      PRIVATE = \"PRIVATE\",\n      PUBLIC = \"PUBLIC\"\n  }\n  enum Status {\n      UNKNOWN = \"UNKNOWN\",\n      PENDING = \"PENDING\",\n      APPROVED = \"APPROVED\",\n      BLOCKED = \"BLOCKED\",\n      OFFLINE = \"OFFLINE\"\n  }\n  enum ActivityStatusStatus {\n      UNKNOWN = \"UNKNOWN\",\n      ACTIVE = \"ACTIVE\",\n      MUTED = \"MUTED\"\n  }\n  interface QueryUserMembersRequest {\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryUserMembersResponse {\n      userMembers?: UserMember[];\n      metadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$2;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface Empty$4 {\n  }\n  interface MetaSiteSpecialEvent$2 extends MetaSiteSpecialEventPayloadOneOf$2 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$2;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$2;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$2;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$2;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$2;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$2;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$2;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$2;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$2;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$2;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$2;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$2;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$2;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$2;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$2;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset$2[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf$2 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$2;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$2;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$2;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$2;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$2;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$2;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$2;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$2;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$2;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$2;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$2;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$2;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$2;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$2;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$2;\n  }\n  interface Asset$2 {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State$2;\n  }\n  enum State$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated$2 {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext$2;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace$2;\n  }\n  enum SiteCreatedContext$2 {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace$2 {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred$2 {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted$2 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$2;\n  }\n  interface DeleteContext$2 {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus$2;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus$2 {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted$2 {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished$2 {\n  }\n  interface SiteUnpublished$2 {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate$2 {\n  }\n  interface SiteMarkedAsWixSite$2 {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned$2 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved$2 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed$2 {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted$2 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$2;\n  }\n  interface NamespaceChanged$2 {\n      /** A previous namespace. */\n      oldNamespace?: Namespace$2;\n      /** A new namespace. */\n      newNamespace?: Namespace$2;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned$2 {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned$2 {\n  }\n  /**\n   * Retrieves a list of user members, based on provided filters, sorting and paging.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.USER_MEMBER_READ\n   * @adminMethod\n   */\n  function queryUserMembers(): UserMembersQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface UserMembersQueryResult extends QueryCursorResult {\n      items: UserMember[];\n      query: UserMembersQueryBuilder;\n      next: () => Promise<UserMembersQueryResult>;\n      prev: () => Promise<UserMembersQueryResult>;\n  }\n  interface UserMembersQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'memberId' | 'userId' | 'siteMembersInstanceId' | 'metaSiteId', value: any) => UserMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'memberId' | 'userId' | 'siteMembersInstanceId' | 'metaSiteId', value: any) => UserMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'memberId' | 'userId' | 'siteMembersInstanceId' | 'metaSiteId', value: string) => UserMembersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'memberId' | 'userId' | 'siteMembersInstanceId' | 'metaSiteId', value: any[]) => UserMembersQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'memberId' | 'userId' | 'siteMembersInstanceId' | 'metaSiteId', value: any) => UserMembersQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'memberId' | 'userId' | 'siteMembersInstanceId' | 'metaSiteId', value: boolean) => UserMembersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'memberId' | 'userId' | 'siteMembersInstanceId' | 'metaSiteId'>) => UserMembersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'memberId' | 'userId' | 'siteMembersInstanceId' | 'metaSiteId'>) => UserMembersQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => UserMembersQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => UserMembersQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<UserMembersQueryResult>;\n  }\n  \n  type membersUsermembersV1UserMember_universal_d_UserMember = UserMember;\n  type membersUsermembersV1UserMember_universal_d_Image = Image;\n  type membersUsermembersV1UserMember_universal_d_PrivacyStatusStatus = PrivacyStatusStatus;\n  const membersUsermembersV1UserMember_universal_d_PrivacyStatusStatus: typeof PrivacyStatusStatus;\n  type membersUsermembersV1UserMember_universal_d_Status = Status;\n  const membersUsermembersV1UserMember_universal_d_Status: typeof Status;\n  type membersUsermembersV1UserMember_universal_d_ActivityStatusStatus = ActivityStatusStatus;\n  const membersUsermembersV1UserMember_universal_d_ActivityStatusStatus: typeof ActivityStatusStatus;\n  type membersUsermembersV1UserMember_universal_d_QueryUserMembersRequest = QueryUserMembersRequest;\n  type membersUsermembersV1UserMember_universal_d_CursorQuery = CursorQuery;\n  type membersUsermembersV1UserMember_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type membersUsermembersV1UserMember_universal_d_QueryUserMembersResponse = QueryUserMembersResponse;\n  type membersUsermembersV1UserMember_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  const membersUsermembersV1UserMember_universal_d_queryUserMembers: typeof queryUserMembers;\n  type membersUsermembersV1UserMember_universal_d_UserMembersQueryResult = UserMembersQueryResult;\n  type membersUsermembersV1UserMember_universal_d_UserMembersQueryBuilder = UserMembersQueryBuilder;\n  namespace membersUsermembersV1UserMember_universal_d {\n    export {\n      membersUsermembersV1UserMember_universal_d_UserMember as UserMember,\n      membersUsermembersV1UserMember_universal_d_Image as Image,\n      membersUsermembersV1UserMember_universal_d_PrivacyStatusStatus as PrivacyStatusStatus,\n      membersUsermembersV1UserMember_universal_d_Status as Status,\n      membersUsermembersV1UserMember_universal_d_ActivityStatusStatus as ActivityStatusStatus,\n      membersUsermembersV1UserMember_universal_d_QueryUserMembersRequest as QueryUserMembersRequest,\n      membersUsermembersV1UserMember_universal_d_CursorQuery as CursorQuery,\n      membersUsermembersV1UserMember_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      membersUsermembersV1UserMember_universal_d_QueryUserMembersResponse as QueryUserMembersResponse,\n      membersUsermembersV1UserMember_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      Empty$4 as Empty,\n      MetaSiteSpecialEvent$2 as MetaSiteSpecialEvent,\n      MetaSiteSpecialEventPayloadOneOf$2 as MetaSiteSpecialEventPayloadOneOf,\n      Asset$2 as Asset,\n      State$2 as State,\n      SiteCreated$2 as SiteCreated,\n      SiteCreatedContext$2 as SiteCreatedContext,\n      Namespace$2 as Namespace,\n      SiteTransferred$2 as SiteTransferred,\n      SiteDeleted$2 as SiteDeleted,\n      DeleteContext$2 as DeleteContext,\n      DeleteStatus$2 as DeleteStatus,\n      SiteUndeleted$2 as SiteUndeleted,\n      SitePublished$2 as SitePublished,\n      SiteUnpublished$2 as SiteUnpublished,\n      SiteMarkedAsTemplate$2 as SiteMarkedAsTemplate,\n      SiteMarkedAsWixSite$2 as SiteMarkedAsWixSite,\n      ServiceProvisioned$2 as ServiceProvisioned,\n      ServiceRemoved$2 as ServiceRemoved,\n      SiteRenamed$2 as SiteRenamed,\n      SiteHardDeleted$2 as SiteHardDeleted,\n      NamespaceChanged$2 as NamespaceChanged,\n      StudioAssigned$2 as StudioAssigned,\n      StudioUnassigned$2 as StudioUnassigned,\n      membersUsermembersV1UserMember_universal_d_queryUserMembers as queryUserMembers,\n      membersUsermembersV1UserMember_universal_d_UserMembersQueryResult as UserMembersQueryResult,\n      membersUsermembersV1UserMember_universal_d_UserMembersQueryBuilder as UserMembersQueryBuilder,\n    };\n  }\n  \n  /** Custom field */\n  interface CustomField {\n      /**\n       * Field ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Human-readable name shown in the business manager and live site. */\n      name?: string | null;\n      /**\n       * Field key.\n       * @readonly\n       */\n      key?: string | null;\n      /** Default privacy of custom field. */\n      defaultPrivacy?: Privacy$2;\n      /** Type of data the field holds. */\n      fieldType?: Type$1;\n      /** Social field type. */\n      socialType?: SocialTypeType$1;\n      /**\n       * Field origin.\n       * @readonly\n       */\n      fieldOrigin?: Origin$1;\n      /**\n       * Describes whom the custom field applies to.\n       * @readonly\n       */\n      appliesTo?: AppliesTo;\n      /**\n       * The section the field belongs to.\n       * @readonly\n       */\n      section?: Section;\n      /**\n       * Date and time when the field was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the field was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Revision number, used for checking the optimistic lock condition. */\n      revision?: string | null;\n  }\n  enum Privacy$2 {\n      UNKNOWN = \"UNKNOWN\",\n      PUBLIC = \"PUBLIC\",\n      PRIVATE = \"PRIVATE\"\n  }\n  enum Type$1 {\n      UNKNOWN = \"UNKNOWN\",\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      DATE = \"DATE\",\n      URL = \"URL\",\n      SOCIAL = \"SOCIAL\"\n  }\n  enum SocialTypeType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      FACEBOOK = \"FACEBOOK\",\n      INSTAGRAM = \"INSTAGRAM\",\n      LINKEDIN = \"LINKEDIN\",\n      TWITTER = \"TWITTER\",\n      YOUTUBE = \"YOUTUBE\",\n      PINTEREST = \"PINTEREST\",\n      TIKTOK = \"TIKTOK\",\n      DEVIANTART = \"DEVIANTART\",\n      SOUNDCLOUD = \"SOUNDCLOUD\",\n      TUMBLR = \"TUMBLR\",\n      VIMEO = \"VIMEO\",\n      VKONTAKTE = \"VKONTAKTE\",\n      ODNOKLASSNIKI = \"ODNOKLASSNIKI\",\n      OTHER = \"OTHER\"\n  }\n  enum Origin$1 {\n      UNKNOWN = \"UNKNOWN\",\n      CUSTOM = \"CUSTOM\",\n      CONTACT = \"CONTACT\",\n      SYSTEM = \"SYSTEM\"\n  }\n  enum AppliesTo {\n      ALL_MEMBERS = \"ALL_MEMBERS\",\n      SELECTED_MEMBERS = \"SELECTED_MEMBERS\"\n  }\n  enum Section {\n      GENERAL = \"GENERAL\",\n      SOCIAL = \"SOCIAL\",\n      DISPLAY_INFO = \"DISPLAY_INFO\",\n      ADDRESS = \"ADDRESS\"\n  }\n  interface CreateCustomFieldRequest {\n      /** Custom field to create. */\n      field: CustomField;\n  }\n  interface CreateCustomFieldResponse {\n      /** Newly created custom field. */\n      field?: CustomField;\n  }\n  interface IncorrectFieldTypeData {\n      incorrectType?: Type$1;\n      correctType?: Type$1;\n  }\n  interface IncorrectPrivacyData {\n      incorrectPrivacy?: Privacy$2;\n      correctPrivacy?: Privacy$2;\n  }\n  interface InvalidSocialTypeData {\n      invalidSocialType?: SocialTypeType$1;\n  }\n  interface GetCustomFieldRequest {\n      /** Custom field ID. */\n      _id: string | null;\n  }\n  interface GetCustomFieldResponse {\n      /** The requested custom field. */\n      field?: CustomField;\n  }\n  interface ListCustomFieldsRequest {\n      paging?: Paging$2;\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListCustomFieldsResponse {\n      fields?: CustomField[];\n      metadata?: PagingMetadata$1;\n  }\n  interface PagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface UpdateCustomFieldRequest {\n      /** Custom field details to update. */\n      field: CustomField;\n  }\n  interface UpdateCustomFieldResponse {\n      /** Updated custom field. */\n      field?: CustomField;\n  }\n  interface DefaultPrivacyChanged {\n      fromPrivacy?: Privacy$2;\n      toPrivacy?: Privacy$2;\n  }\n  interface ReservedFieldNameNonEditable {\n      newName?: string;\n      currentName?: string;\n  }\n  interface DeleteCustomFieldRequest {\n      /** ID of the custom field to delete. */\n      _id: string | null;\n      /** Revision number. */\n      revision: string | null;\n  }\n  interface DeleteCustomFieldResponse {\n  }\n  interface HideCustomFieldRequest {\n      /** ID of the custom field to hide. */\n      _id: string | null;\n      /** Revision number. */\n      revision: string | null;\n  }\n  interface HideCustomFieldResponse {\n  }\n  interface UpdateCustomFieldsOrderRequest {\n      /** Ordered custom field ids. */\n      fieldIds: string[];\n      /** The section given fields belong to. */\n      section?: Section;\n  }\n  interface UpdateCustomFieldsOrderResponse {\n      /** Reordered custom fields. */\n      fields?: CustomField[];\n      /** The section given fields belong to. */\n      section?: Section;\n  }\n  interface MetaSiteSpecialEvent$1 extends MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /** A list of \"assets\" (applications). The same as MetaSiteContext. */\n      assets?: Asset$1[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n  }\n  interface Asset$1 {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State$1;\n  }\n  enum State$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated$1 {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext$1;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace$1;\n  }\n  enum SiteCreatedContext$1 {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace$1 {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred$1 {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface DeleteContext$1 {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus$1;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus$1 {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted$1 {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished$1 {\n  }\n  interface SiteUnpublished$1 {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate$1 {\n  }\n  interface SiteMarkedAsWixSite$1 {\n  }\n  interface ServiceProvisioned$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed$1 {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface NamespaceChanged$1 {\n      /** A previous namespace. */\n      oldNamespace?: Namespace$1;\n      /** A new namespace. */\n      newNamespace?: Namespace$1;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned$1 {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned$1 {\n  }\n  interface Empty$3 {\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a custom field.\n   * @param field - Custom field to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField field\n   * @requiredField field.name\n   * @permissionId MEMBERS.CUSTOM_FIELDS_CREATE\n   * @adminMethod\n   * @returns Newly created custom field.\n   */\n  function createCustomField(field: CustomField): Promise<CustomField>;\n  /**\n   * Retrieves a custom field by id.\n   * @param _id - Custom field ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId MEMBERS.CUSTOM_FIELDS_READ\n   */\n  function getCustomField(_id: string | null): Promise<GetCustomFieldResponse>;\n  /**\n   * Returns ordered custom fields, given the provided paging.\n   *\n   * The fields are ordered by section in such sequence:\n   * - `GENERAL`\n   * - `DISPLAY_INFO`\n   * - `SOCIAL`\n   * The fields within same section are ordered with respect to the saved fields order.\n   *\n   * To modify the order of fields within sections, use [`Update Custom Fields Order`]().\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listCustomFields(options?: ListCustomFieldsOptions): Promise<ListCustomFieldsResponse>;\n  interface ListCustomFieldsOptions {\n      paging?: Paging$2;\n  }\n  /**\n   * Updates a custom field.\n   *\n   * Allowed fields to update:\n   * - when `fieldOrigin` is `CUSTOM`: `name`, `defaultPrivacy`, `socialType`.\n   * - when `fieldOrigin` is `CONTACT` or `SYSTEM`: `defaultPrivacy`.\n   * @param _id - Field ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField field\n   * @requiredField field.revision\n   * @permissionId MEMBERS.CUSTOM_FIELDS_UPDATE\n   * @adminMethod\n   * @returns Updated custom field.\n   */\n  function updateCustomField(_id: string | null, field: UpdateCustomField): Promise<CustomField>;\n  interface UpdateCustomField {\n      /**\n       * Field ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Human-readable name shown in the business manager and live site. */\n      name?: string | null;\n      /**\n       * Field key.\n       * @readonly\n       */\n      key?: string | null;\n      /** Default privacy of custom field. */\n      defaultPrivacy?: Privacy$2;\n      /** Type of data the field holds. */\n      fieldType?: Type$1;\n      /** Social field type. */\n      socialType?: SocialTypeType$1;\n      /**\n       * Field origin.\n       * @readonly\n       */\n      fieldOrigin?: Origin$1;\n      /**\n       * Describes whom the custom field applies to.\n       * @readonly\n       */\n      appliesTo?: AppliesTo;\n      /**\n       * The section the field belongs to.\n       * @readonly\n       */\n      section?: Section;\n      /**\n       * Date and time when the field was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the field was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Revision number, used for checking the optimistic lock condition. */\n      revision?: string | null;\n  }\n  /**\n   * Deletes a custom field.\n   *\n   * After this action, related custom field in Contacts List will also be removed.\n   * @param _id - ID of the custom field to delete.\n   * @param revision - Revision number.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField revision\n   * @permissionId MEMBERS.CUSTOM_FIELDS_DELETE\n   * @adminMethod\n   */\n  function deleteCustomField(_id: string | null, revision: string | null): Promise<void>;\n  /**\n   * Hides a custom field.\n   *\n   * Hidden field will be removed from the members custom fields list, yet it will be available as a suggested field to be add later.\n   *\n   * After this action, related contacts custom field will still be available in the Contacts List.\n   * @param _id - ID of the custom field to hide.\n   * @param revision - Revision number.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField revision\n   * @permissionId MEMBERS.CUSTOM_FIELDS_HIDE\n   * @adminMethod\n   */\n  function hideCustomField(_id: string | null, revision: string | null): Promise<void>;\n  /**\n   * Updates custom fields order within a section.\n   * @param fieldIds - Ordered custom field ids.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fieldIds\n   * @permissionId MEMBERS.CUSTOM_FIELDS_UPDATE\n   * @adminMethod\n   */\n  function updateCustomFieldsOrder(fieldIds: string[], options?: UpdateCustomFieldsOrderOptions): Promise<UpdateCustomFieldsOrderResponse>;\n  interface UpdateCustomFieldsOrderOptions {\n      /** The section given fields belong to. */\n      section?: Section;\n  }\n  \n  type membersV1CustomField_universal_d_CustomField = CustomField;\n  type membersV1CustomField_universal_d_AppliesTo = AppliesTo;\n  const membersV1CustomField_universal_d_AppliesTo: typeof AppliesTo;\n  type membersV1CustomField_universal_d_Section = Section;\n  const membersV1CustomField_universal_d_Section: typeof Section;\n  type membersV1CustomField_universal_d_CreateCustomFieldRequest = CreateCustomFieldRequest;\n  type membersV1CustomField_universal_d_CreateCustomFieldResponse = CreateCustomFieldResponse;\n  type membersV1CustomField_universal_d_IncorrectFieldTypeData = IncorrectFieldTypeData;\n  type membersV1CustomField_universal_d_IncorrectPrivacyData = IncorrectPrivacyData;\n  type membersV1CustomField_universal_d_InvalidSocialTypeData = InvalidSocialTypeData;\n  type membersV1CustomField_universal_d_GetCustomFieldRequest = GetCustomFieldRequest;\n  type membersV1CustomField_universal_d_GetCustomFieldResponse = GetCustomFieldResponse;\n  type membersV1CustomField_universal_d_ListCustomFieldsRequest = ListCustomFieldsRequest;\n  type membersV1CustomField_universal_d_ListCustomFieldsResponse = ListCustomFieldsResponse;\n  type membersV1CustomField_universal_d_UpdateCustomFieldRequest = UpdateCustomFieldRequest;\n  type membersV1CustomField_universal_d_UpdateCustomFieldResponse = UpdateCustomFieldResponse;\n  type membersV1CustomField_universal_d_DefaultPrivacyChanged = DefaultPrivacyChanged;\n  type membersV1CustomField_universal_d_ReservedFieldNameNonEditable = ReservedFieldNameNonEditable;\n  type membersV1CustomField_universal_d_DeleteCustomFieldRequest = DeleteCustomFieldRequest;\n  type membersV1CustomField_universal_d_DeleteCustomFieldResponse = DeleteCustomFieldResponse;\n  type membersV1CustomField_universal_d_HideCustomFieldRequest = HideCustomFieldRequest;\n  type membersV1CustomField_universal_d_HideCustomFieldResponse = HideCustomFieldResponse;\n  type membersV1CustomField_universal_d_UpdateCustomFieldsOrderRequest = UpdateCustomFieldsOrderRequest;\n  type membersV1CustomField_universal_d_UpdateCustomFieldsOrderResponse = UpdateCustomFieldsOrderResponse;\n  const membersV1CustomField_universal_d_createCustomField: typeof createCustomField;\n  const membersV1CustomField_universal_d_getCustomField: typeof getCustomField;\n  const membersV1CustomField_universal_d_listCustomFields: typeof listCustomFields;\n  type membersV1CustomField_universal_d_ListCustomFieldsOptions = ListCustomFieldsOptions;\n  const membersV1CustomField_universal_d_updateCustomField: typeof updateCustomField;\n  type membersV1CustomField_universal_d_UpdateCustomField = UpdateCustomField;\n  const membersV1CustomField_universal_d_deleteCustomField: typeof deleteCustomField;\n  const membersV1CustomField_universal_d_hideCustomField: typeof hideCustomField;\n  const membersV1CustomField_universal_d_updateCustomFieldsOrder: typeof updateCustomFieldsOrder;\n  type membersV1CustomField_universal_d_UpdateCustomFieldsOrderOptions = UpdateCustomFieldsOrderOptions;\n  namespace membersV1CustomField_universal_d {\n    export {\n      membersV1CustomField_universal_d_CustomField as CustomField,\n      Privacy$2 as Privacy,\n      Type$1 as Type,\n      SocialTypeType$1 as SocialTypeType,\n      Origin$1 as Origin,\n      membersV1CustomField_universal_d_AppliesTo as AppliesTo,\n      membersV1CustomField_universal_d_Section as Section,\n      membersV1CustomField_universal_d_CreateCustomFieldRequest as CreateCustomFieldRequest,\n      membersV1CustomField_universal_d_CreateCustomFieldResponse as CreateCustomFieldResponse,\n      membersV1CustomField_universal_d_IncorrectFieldTypeData as IncorrectFieldTypeData,\n      membersV1CustomField_universal_d_IncorrectPrivacyData as IncorrectPrivacyData,\n      membersV1CustomField_universal_d_InvalidSocialTypeData as InvalidSocialTypeData,\n      membersV1CustomField_universal_d_GetCustomFieldRequest as GetCustomFieldRequest,\n      membersV1CustomField_universal_d_GetCustomFieldResponse as GetCustomFieldResponse,\n      membersV1CustomField_universal_d_ListCustomFieldsRequest as ListCustomFieldsRequest,\n      Paging$2 as Paging,\n      membersV1CustomField_universal_d_ListCustomFieldsResponse as ListCustomFieldsResponse,\n      PagingMetadata$1 as PagingMetadata,\n      membersV1CustomField_universal_d_UpdateCustomFieldRequest as UpdateCustomFieldRequest,\n      membersV1CustomField_universal_d_UpdateCustomFieldResponse as UpdateCustomFieldResponse,\n      membersV1CustomField_universal_d_DefaultPrivacyChanged as DefaultPrivacyChanged,\n      membersV1CustomField_universal_d_ReservedFieldNameNonEditable as ReservedFieldNameNonEditable,\n      membersV1CustomField_universal_d_DeleteCustomFieldRequest as DeleteCustomFieldRequest,\n      membersV1CustomField_universal_d_DeleteCustomFieldResponse as DeleteCustomFieldResponse,\n      membersV1CustomField_universal_d_HideCustomFieldRequest as HideCustomFieldRequest,\n      membersV1CustomField_universal_d_HideCustomFieldResponse as HideCustomFieldResponse,\n      membersV1CustomField_universal_d_UpdateCustomFieldsOrderRequest as UpdateCustomFieldsOrderRequest,\n      membersV1CustomField_universal_d_UpdateCustomFieldsOrderResponse as UpdateCustomFieldsOrderResponse,\n      MetaSiteSpecialEvent$1 as MetaSiteSpecialEvent,\n      MetaSiteSpecialEventPayloadOneOf$1 as MetaSiteSpecialEventPayloadOneOf,\n      Asset$1 as Asset,\n      State$1 as State,\n      SiteCreated$1 as SiteCreated,\n      SiteCreatedContext$1 as SiteCreatedContext,\n      Namespace$1 as Namespace,\n      SiteTransferred$1 as SiteTransferred,\n      SiteDeleted$1 as SiteDeleted,\n      DeleteContext$1 as DeleteContext,\n      DeleteStatus$1 as DeleteStatus,\n      SiteUndeleted$1 as SiteUndeleted,\n      SitePublished$1 as SitePublished,\n      SiteUnpublished$1 as SiteUnpublished,\n      SiteMarkedAsTemplate$1 as SiteMarkedAsTemplate,\n      SiteMarkedAsWixSite$1 as SiteMarkedAsWixSite,\n      ServiceProvisioned$1 as ServiceProvisioned,\n      ServiceRemoved$1 as ServiceRemoved,\n      SiteRenamed$1 as SiteRenamed,\n      SiteHardDeleted$1 as SiteHardDeleted,\n      NamespaceChanged$1 as NamespaceChanged,\n      StudioAssigned$1 as StudioAssigned,\n      StudioUnassigned$1 as StudioUnassigned,\n      Empty$3 as Empty,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      membersV1CustomField_universal_d_createCustomField as createCustomField,\n      membersV1CustomField_universal_d_getCustomField as getCustomField,\n      membersV1CustomField_universal_d_listCustomFields as listCustomFields,\n      membersV1CustomField_universal_d_ListCustomFieldsOptions as ListCustomFieldsOptions,\n      membersV1CustomField_universal_d_updateCustomField as updateCustomField,\n      membersV1CustomField_universal_d_UpdateCustomField as UpdateCustomField,\n      membersV1CustomField_universal_d_deleteCustomField as deleteCustomField,\n      membersV1CustomField_universal_d_hideCustomField as hideCustomField,\n      membersV1CustomField_universal_d_updateCustomFieldsOrder as updateCustomFieldsOrder,\n      membersV1CustomField_universal_d_UpdateCustomFieldsOrderOptions as UpdateCustomFieldsOrderOptions,\n    };\n  }\n  \n  interface CustomFieldSuggestion {\n      /** Human-readable name shown in the business manager and live site. */\n      name?: string | null;\n      /** Default privacy of custom field. */\n      defaultPrivacy?: Privacy$1;\n      /** Type of data the field holds. */\n      fieldType?: Type;\n      /** Social field type. */\n      socialType?: SocialTypeType;\n      /** Field origin. */\n      fieldOrigin?: Origin;\n      /** Custom field ID. */\n      customFieldId?: string | null;\n  }\n  enum Privacy$1 {\n      UNKNOWN = \"UNKNOWN\",\n      PUBLIC = \"PUBLIC\",\n      PRIVATE = \"PRIVATE\"\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      DATE = \"DATE\",\n      URL = \"URL\",\n      SOCIAL = \"SOCIAL\"\n  }\n  enum SocialTypeType {\n      UNKNOWN = \"UNKNOWN\",\n      FACEBOOK = \"FACEBOOK\",\n      INSTAGRAM = \"INSTAGRAM\",\n      LINKEDIN = \"LINKEDIN\",\n      TWITTER = \"TWITTER\",\n      YOUTUBE = \"YOUTUBE\",\n      PINTEREST = \"PINTEREST\",\n      TIKTOK = \"TIKTOK\",\n      DEVIANTART = \"DEVIANTART\",\n      SOUNDCLOUD = \"SOUNDCLOUD\",\n      TUMBLR = \"TUMBLR\",\n      VIMEO = \"VIMEO\",\n      VKONTAKTE = \"VKONTAKTE\",\n      ODNOKLASSNIKI = \"ODNOKLASSNIKI\",\n      OTHER = \"OTHER\"\n  }\n  enum Origin {\n      UNKNOWN = \"UNKNOWN\",\n      CUSTOM = \"CUSTOM\",\n      CONTACT = \"CONTACT\",\n      SYSTEM = \"SYSTEM\"\n  }\n  interface ListCustomFieldSuggestionsRequest {\n      paging?: Paging$1;\n      sorting?: Sorting$1[];\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface ListCustomFieldSuggestionsResponse {\n      /** Custom field suggestion. */\n      suggestions?: CustomFieldSuggestion[];\n      metadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface QueryCustomFieldSuggestionsRequest {\n      query?: Query;\n  }\n  interface Query {\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: any;\n      /** Limit number of results */\n      paging?: Paging$1;\n      /** Sort the results */\n      sorting?: Sorting$1[];\n  }\n  interface QueryCustomFieldSuggestionsResponse {\n      /** Custom field suggestion. */\n      suggestions?: CustomFieldSuggestion[];\n      metadata?: PagingMetadata;\n  }\n  /**\n   * Returns suggestions of custom fields to add.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.CUSTOM_FIELDS_SUGGESTIONS_READ\n   * @adminMethod\n   */\n  function listCustomFieldSuggestions(options?: ListCustomFieldSuggestionsOptions): Promise<ListCustomFieldSuggestionsResponse>;\n  interface ListCustomFieldSuggestionsOptions {\n      paging?: Paging$1;\n      sorting?: Sorting$1[];\n  }\n  /**\n   * Returns suggestions of custom fields to add by specified type.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.CUSTOM_FIELDS_SUGGESTIONS_READ\n   * @adminMethod\n   */\n  function queryCustomFieldSuggestions(options?: QueryCustomFieldSuggestionsOptions): Promise<QueryCustomFieldSuggestionsResponse>;\n  interface QueryCustomFieldSuggestionsOptions {\n      query?: Query;\n  }\n  \n  type membersV1CustomFieldSuggestion_universal_d_CustomFieldSuggestion = CustomFieldSuggestion;\n  type membersV1CustomFieldSuggestion_universal_d_Type = Type;\n  const membersV1CustomFieldSuggestion_universal_d_Type: typeof Type;\n  type membersV1CustomFieldSuggestion_universal_d_SocialTypeType = SocialTypeType;\n  const membersV1CustomFieldSuggestion_universal_d_SocialTypeType: typeof SocialTypeType;\n  type membersV1CustomFieldSuggestion_universal_d_Origin = Origin;\n  const membersV1CustomFieldSuggestion_universal_d_Origin: typeof Origin;\n  type membersV1CustomFieldSuggestion_universal_d_ListCustomFieldSuggestionsRequest = ListCustomFieldSuggestionsRequest;\n  type membersV1CustomFieldSuggestion_universal_d_ListCustomFieldSuggestionsResponse = ListCustomFieldSuggestionsResponse;\n  type membersV1CustomFieldSuggestion_universal_d_PagingMetadata = PagingMetadata;\n  type membersV1CustomFieldSuggestion_universal_d_QueryCustomFieldSuggestionsRequest = QueryCustomFieldSuggestionsRequest;\n  type membersV1CustomFieldSuggestion_universal_d_Query = Query;\n  type membersV1CustomFieldSuggestion_universal_d_QueryCustomFieldSuggestionsResponse = QueryCustomFieldSuggestionsResponse;\n  const membersV1CustomFieldSuggestion_universal_d_listCustomFieldSuggestions: typeof listCustomFieldSuggestions;\n  type membersV1CustomFieldSuggestion_universal_d_ListCustomFieldSuggestionsOptions = ListCustomFieldSuggestionsOptions;\n  const membersV1CustomFieldSuggestion_universal_d_queryCustomFieldSuggestions: typeof queryCustomFieldSuggestions;\n  type membersV1CustomFieldSuggestion_universal_d_QueryCustomFieldSuggestionsOptions = QueryCustomFieldSuggestionsOptions;\n  namespace membersV1CustomFieldSuggestion_universal_d {\n    export {\n      membersV1CustomFieldSuggestion_universal_d_CustomFieldSuggestion as CustomFieldSuggestion,\n      Privacy$1 as Privacy,\n      membersV1CustomFieldSuggestion_universal_d_Type as Type,\n      membersV1CustomFieldSuggestion_universal_d_SocialTypeType as SocialTypeType,\n      membersV1CustomFieldSuggestion_universal_d_Origin as Origin,\n      membersV1CustomFieldSuggestion_universal_d_ListCustomFieldSuggestionsRequest as ListCustomFieldSuggestionsRequest,\n      Paging$1 as Paging,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      membersV1CustomFieldSuggestion_universal_d_ListCustomFieldSuggestionsResponse as ListCustomFieldSuggestionsResponse,\n      membersV1CustomFieldSuggestion_universal_d_PagingMetadata as PagingMetadata,\n      membersV1CustomFieldSuggestion_universal_d_QueryCustomFieldSuggestionsRequest as QueryCustomFieldSuggestionsRequest,\n      membersV1CustomFieldSuggestion_universal_d_Query as Query,\n      membersV1CustomFieldSuggestion_universal_d_QueryCustomFieldSuggestionsResponse as QueryCustomFieldSuggestionsResponse,\n      membersV1CustomFieldSuggestion_universal_d_listCustomFieldSuggestions as listCustomFieldSuggestions,\n      membersV1CustomFieldSuggestion_universal_d_ListCustomFieldSuggestionsOptions as ListCustomFieldSuggestionsOptions,\n      membersV1CustomFieldSuggestion_universal_d_queryCustomFieldSuggestions as queryCustomFieldSuggestions,\n      membersV1CustomFieldSuggestion_universal_d_QueryCustomFieldSuggestionsOptions as QueryCustomFieldSuggestionsOptions,\n    };\n  }\n  \n  /** Default privacy status */\n  interface DefaultPrivacy {\n      /**\n       * Privacy ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Default privacy status in meta site. */\n      defaultPrivacy?: Privacy;\n      /** Revision number, used for checking the optimistic lock condition. */\n      revision?: string | null;\n  }\n  enum Privacy {\n      PRIVATE = \"PRIVATE\",\n      PUBLIC = \"PUBLIC\"\n  }\n  interface GetDefaultPrivacyStatusRequest {\n  }\n  interface GetDefaultPrivacyStatusResponse {\n      defaultPrivacy?: DefaultPrivacy;\n  }\n  interface SetDefaultPrivacyStatusRequest {\n      defaultPrivacy: DefaultPrivacy;\n  }\n  interface SetDefaultPrivacyStatusResponse {\n      defaultPrivacy?: DefaultPrivacy;\n  }\n  /**\n   * Get metasite default privacy status\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.DEFAULT_PRIVACY_STATUS_READ\n   */\n  function getDefaultPrivacyStatus(): Promise<GetDefaultPrivacyStatusResponse>;\n  /**\n   * Set metasite default privacy status\n   * @public\n   * @documentationMaturity preview\n   * @requiredField defaultPrivacy\n   * @requiredField defaultPrivacy.revision\n   * @permissionId MEMBERS.DEFAULT_PRIVACY_STATUS_WRITE\n   * @adminMethod\n   */\n  function setDefaultPrivacyStatus(defaultPrivacy: DefaultPrivacy): Promise<SetDefaultPrivacyStatusResponse>;\n  \n  type membersV1DefaultPrivacy_universal_d_DefaultPrivacy = DefaultPrivacy;\n  type membersV1DefaultPrivacy_universal_d_Privacy = Privacy;\n  const membersV1DefaultPrivacy_universal_d_Privacy: typeof Privacy;\n  type membersV1DefaultPrivacy_universal_d_GetDefaultPrivacyStatusRequest = GetDefaultPrivacyStatusRequest;\n  type membersV1DefaultPrivacy_universal_d_GetDefaultPrivacyStatusResponse = GetDefaultPrivacyStatusResponse;\n  type membersV1DefaultPrivacy_universal_d_SetDefaultPrivacyStatusRequest = SetDefaultPrivacyStatusRequest;\n  type membersV1DefaultPrivacy_universal_d_SetDefaultPrivacyStatusResponse = SetDefaultPrivacyStatusResponse;\n  const membersV1DefaultPrivacy_universal_d_getDefaultPrivacyStatus: typeof getDefaultPrivacyStatus;\n  const membersV1DefaultPrivacy_universal_d_setDefaultPrivacyStatus: typeof setDefaultPrivacyStatus;\n  namespace membersV1DefaultPrivacy_universal_d {\n    export {\n      membersV1DefaultPrivacy_universal_d_DefaultPrivacy as DefaultPrivacy,\n      membersV1DefaultPrivacy_universal_d_Privacy as Privacy,\n      membersV1DefaultPrivacy_universal_d_GetDefaultPrivacyStatusRequest as GetDefaultPrivacyStatusRequest,\n      membersV1DefaultPrivacy_universal_d_GetDefaultPrivacyStatusResponse as GetDefaultPrivacyStatusResponse,\n      membersV1DefaultPrivacy_universal_d_SetDefaultPrivacyStatusRequest as SetDefaultPrivacyStatusRequest,\n      membersV1DefaultPrivacy_universal_d_SetDefaultPrivacyStatusResponse as SetDefaultPrivacyStatusResponse,\n      membersV1DefaultPrivacy_universal_d_getDefaultPrivacyStatus as getDefaultPrivacyStatus,\n      membersV1DefaultPrivacy_universal_d_setDefaultPrivacyStatus as setDefaultPrivacyStatus,\n    };\n  }\n  \n  interface MemberReport {\n      /**\n       * Report ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the reported member. */\n      reportedMemberId?: string;\n      /**\n       * ID of the member who created the report.\n       * @readonly\n       */\n      reportingMemberId?: string | null;\n      /** Reason for reporting a member. */\n      reason?: Reason;\n      /**\n       * Date and time the report was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n  }\n  interface Reason {\n      /** Report reason type. */\n      category?: Category;\n      /** Why the member is reported. */\n      description?: string | null;\n  }\n  enum Category {\n      /** Unknown category. This value is unused */\n      UNKNOWN = \"UNKNOWN\",\n      /** The member is reported for spam. */\n      SPAM = \"SPAM\",\n      /** The member is reported for impersonation. */\n      IMPERSONATION = \"IMPERSONATION\",\n      /** The member is reported for harassment. */\n      HARASSMENT = \"HARASSMENT\",\n      /** The member is reported for other reasons. */\n      OTHER = \"OTHER\"\n  }\n  interface ReportMemberRequest {\n      /** Details of a member to report. */\n      memberReport: MemberReport;\n  }\n  interface ReportMemberResponse {\n      /** Member report. */\n      memberReport?: MemberReport;\n  }\n  interface ReportedMemberCreated {\n      reportedMember?: ReportedMember;\n  }\n  /** Reported member details. */\n  interface ReportedMember {\n      /** ID of the reported member. */\n      reportedMemberId?: string;\n      /** Number of reports for this member. */\n      reportCount?: string;\n      /** Whether reports of this member have been reviewed. */\n      reviewed?: boolean;\n      /**\n       * Date and time when the most recent report was created.\n       * @readonly\n       */\n      lastReportDate?: Date | null;\n  }\n  interface ReportedMemberUpdated {\n      reportedMember?: ReportedMember;\n  }\n  interface SelfReportingForbiddenError {\n      /** ID of the member that is reported. */\n      memberId?: string;\n  }\n  interface CannotReportBlockedMemberError {\n      /** ID of the member that is reported. */\n      memberId?: string;\n  }\n  interface QueryMemberReportsRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      query?: QueryV2;\n  }\n  interface QueryV2 {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       *\n       * See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sorting?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: CursorPaging$1;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /**\n       * The number of items to load.\n       * Default: `100`\n       */\n      limit?: number | null;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursor?: string | null;\n  }\n  interface QueryMemberReportsResponse {\n      /** Retrieved member reports. */\n      memberReports?: MemberReport[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface MarkMemberReportsAsReviewedRequest {\n      /** ID of the member whose reports are to be marked as reviewed. */\n      memberId: string;\n  }\n  interface MarkMemberReportsAsReviewedResponse {\n      /** Reported member details. */\n      reportedMember?: ReportedMember;\n  }\n  interface ListReportedMembersRequest extends ListReportedMembersRequestPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Paging options to limit and skip the number of items. If empty, `cursor_paging` is used.\n       * @internal\n       */\n      paging?: Paging;\n  }\n  /** @oneof */\n  interface ListReportedMembersRequestPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Paging options to limit and skip the number of items. If empty, `cursor_paging` is used.\n       * @internal\n       */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListReportedMembersResponse {\n      /** Retrieved reported members. */\n      reportedMembers?: ReportedMember[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface QueryReportedMembersRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      query?: QueryV2;\n  }\n  interface QueryReportedMembersResponse {\n      /** Retrieved reported members. */\n      reportedMembers?: ReportedMember[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface DeleteMemberReportsRequest {\n      /** ID of the member whose reports to be deleted. */\n      memberId: string;\n  }\n  interface DeleteMemberReportsResponse {\n  }\n  interface ReportedMemberDeleted {\n      reportedMemberId?: string;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty$2 {\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a report for the reported member.\n   * @param memberReport - Details of a member to report.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberReport\n   * @requiredField memberReport.reason\n   * @requiredField memberReport.reportedMemberId\n   * @permissionId MEMBERS.REPORTS_WRITE\n   */\n  function reportMember(memberReport: MemberReport): Promise<ReportMemberResponse>;\n  /**\n   * Retrieves a list of member reports, given the provided paging, filtering, and sorting.\n   *\n   * Query Member Reports runs with these defaults, which you can override:\n   * - `createdDate` is sorted in `ASC` order\n   * - `paging.limit` is `100`\n   * - `paging.offset` is `0`\n   *\n   * For field support for filters and sorting, see [Supported Filters and Sorting]().\n   * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.REPORTS_READ\n   * @adminMethod\n   */\n  function queryMemberReports(options?: QueryMemberReportsOptions): Promise<QueryMemberReportsResponse>;\n  interface QueryMemberReportsOptions {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      query?: QueryV2;\n  }\n  /**\n   * Marks all reports of a member as reviewed.\n   * @param memberId - ID of the member whose reports are to be marked as reviewed.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.REPORTS_UPDATE\n   * @adminMethod\n   */\n  function markMemberReportsAsReviewed(memberId: string): Promise<MarkMemberReportsAsReviewedResponse>;\n  /**\n   * Retrieves a list of reported members.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.REPORTS_READ\n   * @adminMethod\n   * @deprecated\n   * @replacedBy wix.members.reports.v1.MemberReportOverviews.QueryMemberReportOverviews\n   * @targetRemovalDate 2025-01-31\n   */\n  function listReportedMembers(options?: ListReportedMembersOptions): Promise<ListReportedMembersResponse>;\n  interface ListReportedMembersOptions extends ListReportedMembersRequestPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Paging options to limit and skip the number of items. If empty, `cursor_paging` is used.\n       * @internal\n       */\n      paging?: Paging;\n  }\n  /**\n   * Retrieves a list of reported members, given the provided paging, filtering, and sorting.\n   *\n   * Query Reported Members runs with these defaults, which you can override:\n   * - `createdDate` is sorted in `ASC` order\n   * - `paging.limit` is `100`\n   * - `paging.offset` is `0`\n   *\n   * For field support for filters and sorting, see [Supported Filters and Sorting]().\n   * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.REPORTS_READ\n   * @adminMethod\n   * @deprecated\n   * @replacedBy wix.members.reports.v1.MemberReportOverviews.QueryMemberReportOverviews\n   * @targetRemovalDate 2025-01-31\n   */\n  function queryReportedMembers(options?: QueryReportedMembersOptions): Promise<QueryReportedMembersResponse>;\n  interface QueryReportedMembersOptions {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      query?: QueryV2;\n  }\n  /**\n   * Deletes all reports of a member.\n   * @param memberId - ID of the member whose reports to be deleted.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.REPORTS_DELETE\n   * @adminMethod\n   */\n  function deleteMemberReports(memberId: string): Promise<void>;\n  \n  type membersV1MemberReport_universal_d_MemberReport = MemberReport;\n  type membersV1MemberReport_universal_d_Reason = Reason;\n  type membersV1MemberReport_universal_d_Category = Category;\n  const membersV1MemberReport_universal_d_Category: typeof Category;\n  type membersV1MemberReport_universal_d_ReportMemberRequest = ReportMemberRequest;\n  type membersV1MemberReport_universal_d_ReportMemberResponse = ReportMemberResponse;\n  type membersV1MemberReport_universal_d_ReportedMemberCreated = ReportedMemberCreated;\n  type membersV1MemberReport_universal_d_ReportedMember = ReportedMember;\n  type membersV1MemberReport_universal_d_ReportedMemberUpdated = ReportedMemberUpdated;\n  type membersV1MemberReport_universal_d_SelfReportingForbiddenError = SelfReportingForbiddenError;\n  type membersV1MemberReport_universal_d_CannotReportBlockedMemberError = CannotReportBlockedMemberError;\n  type membersV1MemberReport_universal_d_QueryMemberReportsRequest = QueryMemberReportsRequest;\n  type membersV1MemberReport_universal_d_QueryV2 = QueryV2;\n  type membersV1MemberReport_universal_d_Sorting = Sorting;\n  type membersV1MemberReport_universal_d_SortOrder = SortOrder;\n  const membersV1MemberReport_universal_d_SortOrder: typeof SortOrder;\n  type membersV1MemberReport_universal_d_QueryMemberReportsResponse = QueryMemberReportsResponse;\n  type membersV1MemberReport_universal_d_MarkMemberReportsAsReviewedRequest = MarkMemberReportsAsReviewedRequest;\n  type membersV1MemberReport_universal_d_MarkMemberReportsAsReviewedResponse = MarkMemberReportsAsReviewedResponse;\n  type membersV1MemberReport_universal_d_ListReportedMembersRequest = ListReportedMembersRequest;\n  type membersV1MemberReport_universal_d_ListReportedMembersRequestPagingMethodOneOf = ListReportedMembersRequestPagingMethodOneOf;\n  type membersV1MemberReport_universal_d_Paging = Paging;\n  type membersV1MemberReport_universal_d_ListReportedMembersResponse = ListReportedMembersResponse;\n  type membersV1MemberReport_universal_d_QueryReportedMembersRequest = QueryReportedMembersRequest;\n  type membersV1MemberReport_universal_d_QueryReportedMembersResponse = QueryReportedMembersResponse;\n  type membersV1MemberReport_universal_d_DeleteMemberReportsRequest = DeleteMemberReportsRequest;\n  type membersV1MemberReport_universal_d_DeleteMemberReportsResponse = DeleteMemberReportsResponse;\n  type membersV1MemberReport_universal_d_ReportedMemberDeleted = ReportedMemberDeleted;\n  type membersV1MemberReport_universal_d_RestoreInfo = RestoreInfo;\n  const membersV1MemberReport_universal_d_reportMember: typeof reportMember;\n  const membersV1MemberReport_universal_d_queryMemberReports: typeof queryMemberReports;\n  type membersV1MemberReport_universal_d_QueryMemberReportsOptions = QueryMemberReportsOptions;\n  const membersV1MemberReport_universal_d_markMemberReportsAsReviewed: typeof markMemberReportsAsReviewed;\n  const membersV1MemberReport_universal_d_listReportedMembers: typeof listReportedMembers;\n  type membersV1MemberReport_universal_d_ListReportedMembersOptions = ListReportedMembersOptions;\n  const membersV1MemberReport_universal_d_queryReportedMembers: typeof queryReportedMembers;\n  type membersV1MemberReport_universal_d_QueryReportedMembersOptions = QueryReportedMembersOptions;\n  const membersV1MemberReport_universal_d_deleteMemberReports: typeof deleteMemberReports;\n  namespace membersV1MemberReport_universal_d {\n    export {\n      membersV1MemberReport_universal_d_MemberReport as MemberReport,\n      membersV1MemberReport_universal_d_Reason as Reason,\n      membersV1MemberReport_universal_d_Category as Category,\n      membersV1MemberReport_universal_d_ReportMemberRequest as ReportMemberRequest,\n      membersV1MemberReport_universal_d_ReportMemberResponse as ReportMemberResponse,\n      membersV1MemberReport_universal_d_ReportedMemberCreated as ReportedMemberCreated,\n      membersV1MemberReport_universal_d_ReportedMember as ReportedMember,\n      membersV1MemberReport_universal_d_ReportedMemberUpdated as ReportedMemberUpdated,\n      membersV1MemberReport_universal_d_SelfReportingForbiddenError as SelfReportingForbiddenError,\n      membersV1MemberReport_universal_d_CannotReportBlockedMemberError as CannotReportBlockedMemberError,\n      membersV1MemberReport_universal_d_QueryMemberReportsRequest as QueryMemberReportsRequest,\n      membersV1MemberReport_universal_d_QueryV2 as QueryV2,\n      membersV1MemberReport_universal_d_Sorting as Sorting,\n      membersV1MemberReport_universal_d_SortOrder as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      membersV1MemberReport_universal_d_QueryMemberReportsResponse as QueryMemberReportsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      membersV1MemberReport_universal_d_MarkMemberReportsAsReviewedRequest as MarkMemberReportsAsReviewedRequest,\n      membersV1MemberReport_universal_d_MarkMemberReportsAsReviewedResponse as MarkMemberReportsAsReviewedResponse,\n      membersV1MemberReport_universal_d_ListReportedMembersRequest as ListReportedMembersRequest,\n      membersV1MemberReport_universal_d_ListReportedMembersRequestPagingMethodOneOf as ListReportedMembersRequestPagingMethodOneOf,\n      membersV1MemberReport_universal_d_Paging as Paging,\n      membersV1MemberReport_universal_d_ListReportedMembersResponse as ListReportedMembersResponse,\n      membersV1MemberReport_universal_d_QueryReportedMembersRequest as QueryReportedMembersRequest,\n      membersV1MemberReport_universal_d_QueryReportedMembersResponse as QueryReportedMembersResponse,\n      membersV1MemberReport_universal_d_DeleteMemberReportsRequest as DeleteMemberReportsRequest,\n      membersV1MemberReport_universal_d_DeleteMemberReportsResponse as DeleteMemberReportsResponse,\n      membersV1MemberReport_universal_d_ReportedMemberDeleted as ReportedMemberDeleted,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      membersV1MemberReport_universal_d_RestoreInfo as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      Empty$2 as Empty,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      membersV1MemberReport_universal_d_reportMember as reportMember,\n      membersV1MemberReport_universal_d_queryMemberReports as queryMemberReports,\n      membersV1MemberReport_universal_d_QueryMemberReportsOptions as QueryMemberReportsOptions,\n      membersV1MemberReport_universal_d_markMemberReportsAsReviewed as markMemberReportsAsReviewed,\n      membersV1MemberReport_universal_d_listReportedMembers as listReportedMembers,\n      membersV1MemberReport_universal_d_ListReportedMembersOptions as ListReportedMembersOptions,\n      membersV1MemberReport_universal_d_queryReportedMembers as queryReportedMembers,\n      membersV1MemberReport_universal_d_QueryReportedMembersOptions as QueryReportedMembersOptions,\n      membersV1MemberReport_universal_d_deleteMemberReports as deleteMemberReports,\n    };\n  }\n  \n  interface MemberRoleDefinition {\n      /** @readonly */\n      _id?: string;\n      roleKey?: string;\n      title?: string;\n      blockable?: boolean;\n      /** Revision number, used for checking the optimistic lock condition. */\n      revision?: string | null;\n  }\n  interface SyncMetaSiteRolesRequest {\n      siteMembersInstanceId?: string | null;\n      metaSiteId?: string | null;\n  }\n  interface SyncMetaSiteRolesResponse {\n  }\n  interface CreateMemberRoleDefinitionRequest {\n      roleKey: string;\n      roleTitle: string;\n      blockable?: boolean;\n  }\n  interface CreateMemberRoleDefinitionResponse {\n      role?: MemberRoleDefinition;\n  }\n  interface ListMemberRoleDefinitionsRequest {\n  }\n  interface ListMemberRoleDefinitionsResponse {\n      roles?: MemberRoleDefinition[];\n  }\n  interface GetMemberRoleDefinitionRequest {\n      roleKey: string;\n  }\n  interface GetMemberRoleDefinitionResponse {\n      role?: MemberRoleDefinition;\n  }\n  interface UpdateMemberRoleDefinitionRequest {\n      key: string;\n      blockable?: boolean;\n      revision: string | null;\n  }\n  interface UpdateMemberRoleDefinitionResponse {\n      role?: MemberRoleDefinition;\n  }\n  interface DeleteMemberRoleDefinitionRequest {\n      roleKey: string;\n  }\n  interface DeleteMemberRoleDefinitionResponse {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface Empty$1 {\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function syncMetaSiteRoles(options?: SyncMetaSiteRolesOptions): Promise<void>;\n  interface SyncMetaSiteRolesOptions {\n      siteMembersInstanceId?: string | null;\n      metaSiteId?: string | null;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField options.roleTitle\n   * @requiredField roleKey\n   * @permissionId MEMBERS.ROLES_MANAGE\n   * @adminMethod\n   */\n  function createMemberRoleDefinition(roleKey: string, options?: CreateMemberRoleDefinitionOptions): Promise<CreateMemberRoleDefinitionResponse>;\n  interface CreateMemberRoleDefinitionOptions {\n      roleTitle: string;\n      blockable?: boolean;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.ROLES_MANAGE\n   * @adminMethod\n   */\n  function listMemberRoleDefinitions(): Promise<ListMemberRoleDefinitionsResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField roleKey\n   * @permissionId MEMBERS.ROLES_MANAGE\n   * @adminMethod\n   */\n  function getMemberRoleDefinition(roleKey: string): Promise<GetMemberRoleDefinitionResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField key\n   * @requiredField options.revision\n   * @permissionId MEMBERS.ROLES_MANAGE\n   * @adminMethod\n   */\n  function updateMemberRoleDefinition(key: string, options?: UpdateMemberRoleDefinitionOptions): Promise<UpdateMemberRoleDefinitionResponse>;\n  interface UpdateMemberRoleDefinitionOptions {\n      blockable?: boolean;\n      revision: string | null;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField roleKey\n   * @permissionId MEMBERS.ROLES_MANAGE\n   * @adminMethod\n   */\n  function deleteMemberRoleDefinition(roleKey: string): Promise<void>;\n  \n  type membersV1MemberRoleDefinition_universal_d_MemberRoleDefinition = MemberRoleDefinition;\n  type membersV1MemberRoleDefinition_universal_d_SyncMetaSiteRolesRequest = SyncMetaSiteRolesRequest;\n  type membersV1MemberRoleDefinition_universal_d_SyncMetaSiteRolesResponse = SyncMetaSiteRolesResponse;\n  type membersV1MemberRoleDefinition_universal_d_CreateMemberRoleDefinitionRequest = CreateMemberRoleDefinitionRequest;\n  type membersV1MemberRoleDefinition_universal_d_CreateMemberRoleDefinitionResponse = CreateMemberRoleDefinitionResponse;\n  type membersV1MemberRoleDefinition_universal_d_ListMemberRoleDefinitionsRequest = ListMemberRoleDefinitionsRequest;\n  type membersV1MemberRoleDefinition_universal_d_ListMemberRoleDefinitionsResponse = ListMemberRoleDefinitionsResponse;\n  type membersV1MemberRoleDefinition_universal_d_GetMemberRoleDefinitionRequest = GetMemberRoleDefinitionRequest;\n  type membersV1MemberRoleDefinition_universal_d_GetMemberRoleDefinitionResponse = GetMemberRoleDefinitionResponse;\n  type membersV1MemberRoleDefinition_universal_d_UpdateMemberRoleDefinitionRequest = UpdateMemberRoleDefinitionRequest;\n  type membersV1MemberRoleDefinition_universal_d_UpdateMemberRoleDefinitionResponse = UpdateMemberRoleDefinitionResponse;\n  type membersV1MemberRoleDefinition_universal_d_DeleteMemberRoleDefinitionRequest = DeleteMemberRoleDefinitionRequest;\n  type membersV1MemberRoleDefinition_universal_d_DeleteMemberRoleDefinitionResponse = DeleteMemberRoleDefinitionResponse;\n  type membersV1MemberRoleDefinition_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type membersV1MemberRoleDefinition_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type membersV1MemberRoleDefinition_universal_d_Asset = Asset;\n  type membersV1MemberRoleDefinition_universal_d_State = State;\n  const membersV1MemberRoleDefinition_universal_d_State: typeof State;\n  type membersV1MemberRoleDefinition_universal_d_SiteCreated = SiteCreated;\n  type membersV1MemberRoleDefinition_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const membersV1MemberRoleDefinition_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type membersV1MemberRoleDefinition_universal_d_Namespace = Namespace;\n  const membersV1MemberRoleDefinition_universal_d_Namespace: typeof Namespace;\n  type membersV1MemberRoleDefinition_universal_d_SiteTransferred = SiteTransferred;\n  type membersV1MemberRoleDefinition_universal_d_SiteDeleted = SiteDeleted;\n  type membersV1MemberRoleDefinition_universal_d_DeleteContext = DeleteContext;\n  type membersV1MemberRoleDefinition_universal_d_DeleteStatus = DeleteStatus;\n  const membersV1MemberRoleDefinition_universal_d_DeleteStatus: typeof DeleteStatus;\n  type membersV1MemberRoleDefinition_universal_d_SiteUndeleted = SiteUndeleted;\n  type membersV1MemberRoleDefinition_universal_d_SitePublished = SitePublished;\n  type membersV1MemberRoleDefinition_universal_d_SiteUnpublished = SiteUnpublished;\n  type membersV1MemberRoleDefinition_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type membersV1MemberRoleDefinition_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type membersV1MemberRoleDefinition_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type membersV1MemberRoleDefinition_universal_d_ServiceRemoved = ServiceRemoved;\n  type membersV1MemberRoleDefinition_universal_d_SiteRenamed = SiteRenamed;\n  type membersV1MemberRoleDefinition_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type membersV1MemberRoleDefinition_universal_d_NamespaceChanged = NamespaceChanged;\n  type membersV1MemberRoleDefinition_universal_d_StudioAssigned = StudioAssigned;\n  type membersV1MemberRoleDefinition_universal_d_StudioUnassigned = StudioUnassigned;\n  const membersV1MemberRoleDefinition_universal_d_syncMetaSiteRoles: typeof syncMetaSiteRoles;\n  type membersV1MemberRoleDefinition_universal_d_SyncMetaSiteRolesOptions = SyncMetaSiteRolesOptions;\n  const membersV1MemberRoleDefinition_universal_d_createMemberRoleDefinition: typeof createMemberRoleDefinition;\n  type membersV1MemberRoleDefinition_universal_d_CreateMemberRoleDefinitionOptions = CreateMemberRoleDefinitionOptions;\n  const membersV1MemberRoleDefinition_universal_d_listMemberRoleDefinitions: typeof listMemberRoleDefinitions;\n  const membersV1MemberRoleDefinition_universal_d_getMemberRoleDefinition: typeof getMemberRoleDefinition;\n  const membersV1MemberRoleDefinition_universal_d_updateMemberRoleDefinition: typeof updateMemberRoleDefinition;\n  type membersV1MemberRoleDefinition_universal_d_UpdateMemberRoleDefinitionOptions = UpdateMemberRoleDefinitionOptions;\n  const membersV1MemberRoleDefinition_universal_d_deleteMemberRoleDefinition: typeof deleteMemberRoleDefinition;\n  namespace membersV1MemberRoleDefinition_universal_d {\n    export {\n      membersV1MemberRoleDefinition_universal_d_MemberRoleDefinition as MemberRoleDefinition,\n      membersV1MemberRoleDefinition_universal_d_SyncMetaSiteRolesRequest as SyncMetaSiteRolesRequest,\n      membersV1MemberRoleDefinition_universal_d_SyncMetaSiteRolesResponse as SyncMetaSiteRolesResponse,\n      membersV1MemberRoleDefinition_universal_d_CreateMemberRoleDefinitionRequest as CreateMemberRoleDefinitionRequest,\n      membersV1MemberRoleDefinition_universal_d_CreateMemberRoleDefinitionResponse as CreateMemberRoleDefinitionResponse,\n      membersV1MemberRoleDefinition_universal_d_ListMemberRoleDefinitionsRequest as ListMemberRoleDefinitionsRequest,\n      membersV1MemberRoleDefinition_universal_d_ListMemberRoleDefinitionsResponse as ListMemberRoleDefinitionsResponse,\n      membersV1MemberRoleDefinition_universal_d_GetMemberRoleDefinitionRequest as GetMemberRoleDefinitionRequest,\n      membersV1MemberRoleDefinition_universal_d_GetMemberRoleDefinitionResponse as GetMemberRoleDefinitionResponse,\n      membersV1MemberRoleDefinition_universal_d_UpdateMemberRoleDefinitionRequest as UpdateMemberRoleDefinitionRequest,\n      membersV1MemberRoleDefinition_universal_d_UpdateMemberRoleDefinitionResponse as UpdateMemberRoleDefinitionResponse,\n      membersV1MemberRoleDefinition_universal_d_DeleteMemberRoleDefinitionRequest as DeleteMemberRoleDefinitionRequest,\n      membersV1MemberRoleDefinition_universal_d_DeleteMemberRoleDefinitionResponse as DeleteMemberRoleDefinitionResponse,\n      membersV1MemberRoleDefinition_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      membersV1MemberRoleDefinition_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      membersV1MemberRoleDefinition_universal_d_Asset as Asset,\n      membersV1MemberRoleDefinition_universal_d_State as State,\n      membersV1MemberRoleDefinition_universal_d_SiteCreated as SiteCreated,\n      membersV1MemberRoleDefinition_universal_d_SiteCreatedContext as SiteCreatedContext,\n      membersV1MemberRoleDefinition_universal_d_Namespace as Namespace,\n      membersV1MemberRoleDefinition_universal_d_SiteTransferred as SiteTransferred,\n      membersV1MemberRoleDefinition_universal_d_SiteDeleted as SiteDeleted,\n      membersV1MemberRoleDefinition_universal_d_DeleteContext as DeleteContext,\n      membersV1MemberRoleDefinition_universal_d_DeleteStatus as DeleteStatus,\n      membersV1MemberRoleDefinition_universal_d_SiteUndeleted as SiteUndeleted,\n      membersV1MemberRoleDefinition_universal_d_SitePublished as SitePublished,\n      membersV1MemberRoleDefinition_universal_d_SiteUnpublished as SiteUnpublished,\n      membersV1MemberRoleDefinition_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      membersV1MemberRoleDefinition_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      membersV1MemberRoleDefinition_universal_d_ServiceProvisioned as ServiceProvisioned,\n      membersV1MemberRoleDefinition_universal_d_ServiceRemoved as ServiceRemoved,\n      membersV1MemberRoleDefinition_universal_d_SiteRenamed as SiteRenamed,\n      membersV1MemberRoleDefinition_universal_d_SiteHardDeleted as SiteHardDeleted,\n      membersV1MemberRoleDefinition_universal_d_NamespaceChanged as NamespaceChanged,\n      membersV1MemberRoleDefinition_universal_d_StudioAssigned as StudioAssigned,\n      membersV1MemberRoleDefinition_universal_d_StudioUnassigned as StudioUnassigned,\n      Empty$1 as Empty,\n      membersV1MemberRoleDefinition_universal_d_syncMetaSiteRoles as syncMetaSiteRoles,\n      membersV1MemberRoleDefinition_universal_d_SyncMetaSiteRolesOptions as SyncMetaSiteRolesOptions,\n      membersV1MemberRoleDefinition_universal_d_createMemberRoleDefinition as createMemberRoleDefinition,\n      membersV1MemberRoleDefinition_universal_d_CreateMemberRoleDefinitionOptions as CreateMemberRoleDefinitionOptions,\n      membersV1MemberRoleDefinition_universal_d_listMemberRoleDefinitions as listMemberRoleDefinitions,\n      membersV1MemberRoleDefinition_universal_d_getMemberRoleDefinition as getMemberRoleDefinition,\n      membersV1MemberRoleDefinition_universal_d_updateMemberRoleDefinition as updateMemberRoleDefinition,\n      membersV1MemberRoleDefinition_universal_d_UpdateMemberRoleDefinitionOptions as UpdateMemberRoleDefinitionOptions,\n      membersV1MemberRoleDefinition_universal_d_deleteMemberRoleDefinition as deleteMemberRoleDefinition,\n    };\n  }\n  \n  /** Member-to-member block. */\n  interface MemberToMemberBlock {\n      /** ID of the member that is the creator of this block. */\n      blockingMemberId?: string;\n      /** ID of the member that is blocked by this block. */\n      blockedMemberId?: string;\n  }\n  interface BlockMemberRequest {\n      /** ID of a member to block. */\n      memberId: string;\n  }\n  interface BlockMemberResponse {\n  }\n  interface MemberBlockedByMember {\n      /** The block that has been created. */\n      block?: MemberToMemberBlock;\n  }\n  interface MemberAlreadyBlockedError {\n      initiatorMemberId?: string;\n      targetMemberId?: string;\n  }\n  interface SelfBlockingForbiddenError {\n      initiatorMemberId?: string;\n  }\n  interface AdminBlockingForbiddenError {\n      initiatorMemberId?: string;\n      targetMemberId?: string;\n      adminMemberId?: string;\n  }\n  interface UnblockMemberRequest {\n      /** ID of a member to unblock. */\n      memberId: string;\n  }\n  interface UnblockMemberResponse {\n  }\n  interface MemberUnblockedByMember {\n      /** The block that has been removed. */\n      block?: MemberToMemberBlock;\n  }\n  interface SelfUnblockingForbiddenError {\n      initiatorMemberId?: string;\n  }\n  interface BlockDoesNotExistError {\n      blockingMemberId?: string;\n      blockedMemberId?: string;\n  }\n  interface ListCurrentMemberBlockingRequest {\n      /** Pagination parameters. */\n      cursorPaging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListCurrentMemberBlockingResponse {\n      /** IDs of members blocked by the current member. */\n      blockedMemberIds?: string[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListMemberBlocksRequest {\n      /** ID of a member whose blocks are requested. */\n      memberId: string;\n      /** Pagination parameters. */\n      cursorPaging?: CursorPaging;\n  }\n  interface ListMemberBlocksResponse {\n      /** List of members who are either blocking or blocked by the specified member. */\n      memberBlocks?: MemberBlock[];\n      /** Metadata for the paginated results. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface MemberBlock {\n      /** Member ID. */\n      memberId?: string;\n      /**\n       * Indicates whether the member with `memberId` is blocking or blocked by the specified member.\n       *\n       * - `BLOCKING`: The member with `memberId` is blocking the requested member.\n       * - `BLOCKED`: The member with `memberId` is blocked by the requested member.\n       */\n      blockDirection?: BlockDirection;\n  }\n  enum BlockDirection {\n      UNKNOWN = \"UNKNOWN\",\n      BLOCKING = \"BLOCKING\",\n      BLOCKED = \"BLOCKED\"\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      undeleteInfo?: UndeleteInfo;\n  }\n  interface UndeleteInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Blocks the specified member from the current member.\n   * @param memberId - ID of a member to block.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.MEMBER_TO_MEMBER_BLOCKS_WRITE\n   */\n  function blockMember(memberId: string): Promise<void>;\n  /**\n   * Unblocks the specified member from the current member.\n   * @param memberId - ID of a member to unblock.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.MEMBER_TO_MEMBER_BLOCKS_WRITE\n   */\n  function unblockMember(memberId: string): Promise<void>;\n  /**\n   * Returns information about members blocked by the current member.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.MEMBER_TO_MEMBER_BLOCKS_READ\n   */\n  function listCurrentMemberBlocking(options?: ListCurrentMemberBlockingOptions): Promise<ListCurrentMemberBlockingResponse>;\n  interface ListCurrentMemberBlockingOptions {\n      /** Pagination parameters. */\n      cursorPaging?: CursorPaging;\n  }\n  /**\n   * Returns IDs of members that are blocking or blocked by the member whose ID was provided.\n   * @param memberId - ID of a member whose blocks are requested.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId MEMBERS.MEMBER_TO_MEMBER_BLOCKS_READ_MEMBER_BLOCKS\n   * @adminMethod\n   */\n  function listMemberBlocks(memberId: string, options?: ListMemberBlocksOptions): Promise<ListMemberBlocksResponse>;\n  interface ListMemberBlocksOptions {\n      /** Pagination parameters. */\n      cursorPaging?: CursorPaging;\n  }\n  \n  type membersV1MemberToMemberBlock_universal_d_MemberToMemberBlock = MemberToMemberBlock;\n  type membersV1MemberToMemberBlock_universal_d_BlockMemberRequest = BlockMemberRequest;\n  type membersV1MemberToMemberBlock_universal_d_BlockMemberResponse = BlockMemberResponse;\n  type membersV1MemberToMemberBlock_universal_d_MemberBlockedByMember = MemberBlockedByMember;\n  type membersV1MemberToMemberBlock_universal_d_MemberAlreadyBlockedError = MemberAlreadyBlockedError;\n  type membersV1MemberToMemberBlock_universal_d_SelfBlockingForbiddenError = SelfBlockingForbiddenError;\n  type membersV1MemberToMemberBlock_universal_d_AdminBlockingForbiddenError = AdminBlockingForbiddenError;\n  type membersV1MemberToMemberBlock_universal_d_UnblockMemberRequest = UnblockMemberRequest;\n  type membersV1MemberToMemberBlock_universal_d_UnblockMemberResponse = UnblockMemberResponse;\n  type membersV1MemberToMemberBlock_universal_d_MemberUnblockedByMember = MemberUnblockedByMember;\n  type membersV1MemberToMemberBlock_universal_d_SelfUnblockingForbiddenError = SelfUnblockingForbiddenError;\n  type membersV1MemberToMemberBlock_universal_d_BlockDoesNotExistError = BlockDoesNotExistError;\n  type membersV1MemberToMemberBlock_universal_d_ListCurrentMemberBlockingRequest = ListCurrentMemberBlockingRequest;\n  type membersV1MemberToMemberBlock_universal_d_CursorPaging = CursorPaging;\n  type membersV1MemberToMemberBlock_universal_d_ListCurrentMemberBlockingResponse = ListCurrentMemberBlockingResponse;\n  type membersV1MemberToMemberBlock_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type membersV1MemberToMemberBlock_universal_d_Cursors = Cursors;\n  type membersV1MemberToMemberBlock_universal_d_ListMemberBlocksRequest = ListMemberBlocksRequest;\n  type membersV1MemberToMemberBlock_universal_d_ListMemberBlocksResponse = ListMemberBlocksResponse;\n  type membersV1MemberToMemberBlock_universal_d_MemberBlock = MemberBlock;\n  type membersV1MemberToMemberBlock_universal_d_BlockDirection = BlockDirection;\n  const membersV1MemberToMemberBlock_universal_d_BlockDirection: typeof BlockDirection;\n  type membersV1MemberToMemberBlock_universal_d_DomainEvent = DomainEvent;\n  type membersV1MemberToMemberBlock_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type membersV1MemberToMemberBlock_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type membersV1MemberToMemberBlock_universal_d_UndeleteInfo = UndeleteInfo;\n  type membersV1MemberToMemberBlock_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type membersV1MemberToMemberBlock_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type membersV1MemberToMemberBlock_universal_d_ActionEvent = ActionEvent;\n  type membersV1MemberToMemberBlock_universal_d_Empty = Empty;\n  type membersV1MemberToMemberBlock_universal_d_MessageEnvelope = MessageEnvelope;\n  type membersV1MemberToMemberBlock_universal_d_IdentificationData = IdentificationData;\n  type membersV1MemberToMemberBlock_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type membersV1MemberToMemberBlock_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const membersV1MemberToMemberBlock_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const membersV1MemberToMemberBlock_universal_d_blockMember: typeof blockMember;\n  const membersV1MemberToMemberBlock_universal_d_unblockMember: typeof unblockMember;\n  const membersV1MemberToMemberBlock_universal_d_listCurrentMemberBlocking: typeof listCurrentMemberBlocking;\n  type membersV1MemberToMemberBlock_universal_d_ListCurrentMemberBlockingOptions = ListCurrentMemberBlockingOptions;\n  const membersV1MemberToMemberBlock_universal_d_listMemberBlocks: typeof listMemberBlocks;\n  type membersV1MemberToMemberBlock_universal_d_ListMemberBlocksOptions = ListMemberBlocksOptions;\n  namespace membersV1MemberToMemberBlock_universal_d {\n    export {\n      membersV1MemberToMemberBlock_universal_d_MemberToMemberBlock as MemberToMemberBlock,\n      membersV1MemberToMemberBlock_universal_d_BlockMemberRequest as BlockMemberRequest,\n      membersV1MemberToMemberBlock_universal_d_BlockMemberResponse as BlockMemberResponse,\n      membersV1MemberToMemberBlock_universal_d_MemberBlockedByMember as MemberBlockedByMember,\n      membersV1MemberToMemberBlock_universal_d_MemberAlreadyBlockedError as MemberAlreadyBlockedError,\n      membersV1MemberToMemberBlock_universal_d_SelfBlockingForbiddenError as SelfBlockingForbiddenError,\n      membersV1MemberToMemberBlock_universal_d_AdminBlockingForbiddenError as AdminBlockingForbiddenError,\n      membersV1MemberToMemberBlock_universal_d_UnblockMemberRequest as UnblockMemberRequest,\n      membersV1MemberToMemberBlock_universal_d_UnblockMemberResponse as UnblockMemberResponse,\n      membersV1MemberToMemberBlock_universal_d_MemberUnblockedByMember as MemberUnblockedByMember,\n      membersV1MemberToMemberBlock_universal_d_SelfUnblockingForbiddenError as SelfUnblockingForbiddenError,\n      membersV1MemberToMemberBlock_universal_d_BlockDoesNotExistError as BlockDoesNotExistError,\n      membersV1MemberToMemberBlock_universal_d_ListCurrentMemberBlockingRequest as ListCurrentMemberBlockingRequest,\n      membersV1MemberToMemberBlock_universal_d_CursorPaging as CursorPaging,\n      membersV1MemberToMemberBlock_universal_d_ListCurrentMemberBlockingResponse as ListCurrentMemberBlockingResponse,\n      membersV1MemberToMemberBlock_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      membersV1MemberToMemberBlock_universal_d_Cursors as Cursors,\n      membersV1MemberToMemberBlock_universal_d_ListMemberBlocksRequest as ListMemberBlocksRequest,\n      membersV1MemberToMemberBlock_universal_d_ListMemberBlocksResponse as ListMemberBlocksResponse,\n      membersV1MemberToMemberBlock_universal_d_MemberBlock as MemberBlock,\n      membersV1MemberToMemberBlock_universal_d_BlockDirection as BlockDirection,\n      membersV1MemberToMemberBlock_universal_d_DomainEvent as DomainEvent,\n      membersV1MemberToMemberBlock_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      membersV1MemberToMemberBlock_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      membersV1MemberToMemberBlock_universal_d_UndeleteInfo as UndeleteInfo,\n      membersV1MemberToMemberBlock_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      membersV1MemberToMemberBlock_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      membersV1MemberToMemberBlock_universal_d_ActionEvent as ActionEvent,\n      membersV1MemberToMemberBlock_universal_d_Empty as Empty,\n      membersV1MemberToMemberBlock_universal_d_MessageEnvelope as MessageEnvelope,\n      membersV1MemberToMemberBlock_universal_d_IdentificationData as IdentificationData,\n      membersV1MemberToMemberBlock_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      membersV1MemberToMemberBlock_universal_d_WebhookIdentityType as WebhookIdentityType,\n      membersV1MemberToMemberBlock_universal_d_blockMember as blockMember,\n      membersV1MemberToMemberBlock_universal_d_unblockMember as unblockMember,\n      membersV1MemberToMemberBlock_universal_d_listCurrentMemberBlocking as listCurrentMemberBlocking,\n      membersV1MemberToMemberBlock_universal_d_ListCurrentMemberBlockingOptions as ListCurrentMemberBlockingOptions,\n      membersV1MemberToMemberBlock_universal_d_listMemberBlocks as listMemberBlocks,\n      membersV1MemberToMemberBlock_universal_d_ListMemberBlocksOptions as ListMemberBlocksOptions,\n    };\n  }\n  \n  export { badgesV4Badge_universal_d as badgesV4, membersV1CustomField_universal_d as customField, membersV1CustomFieldSuggestion_universal_d as customFieldSuggestion, membersV1DefaultPrivacy_universal_d as defaultPrivacy, membersV1MemberReport_universal_d as memberReport, membersV1MemberRoleDefinition_universal_d as memberRoleDefinition, membersV1MemberToMemberBlock_universal_d as memberToMemberBlock, membersUsermembersV1UserMember_universal_d as userMember };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-search.v2.d.ts",
      "content": "declare module \"wix-search.v2\" {\n  interface SiteDocument$1 {\n      /**\n       * Result ID.\n       * @readonly\n       */\n      _id?: string;\n      /** The document payload. */\n      data?: Record<string, any> | null;\n  }\n  interface SearchRequest$1 {\n      /** Search query and aggregation information. */\n      search: Search;\n      /** Document type to search in. */\n      documentType: DocumentType;\n      /** Language to search in. */\n      language?: string | null;\n  }\n  interface Search extends SearchPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** A search method for grouping data into various categories (facets) and providing summaries for each category. For example, use aggregations to categorize search results by specific price ranges, brand names, or ratings. */\n      aggregations?: Aggregation$1[];\n      /** Search information. */\n      search?: SearchDetails;\n  }\n  /** @oneof */\n  interface SearchPagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Aggregation$1 extends AggregationKindOneOf {\n      /** Pass if `type` is `VALUE`. A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of products (count) for each price listed in the store. */\n      value?: ValueAggregation;\n      /** Pass if `type` is `SCALAR`. A scalar aggregation calculates a single numerical value from a dataset, such as the total, minimum, or maximum value, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the minimum price listed in a store. */\n      scalar?: ScalarAggregation;\n      /** Pass if `type` is `NESTED`. A nested aggregation is applied to the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. This allows for more complex analyses that summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on the field containing the price, and a second value aggregation on the field indicating whether a product is in stock. You can nest up to a maximum of 3 aggregations. Each aggregation can be either value-based or scalar, allowing flexibility in how the data is grouped and analyzed. */\n      nested?: NestedAggregation;\n      /** Aggregation name displayed in the return. */\n      name?: string | null;\n      /** Type of aggregation to perform. */\n      type?: AggregationType;\n      /** Field to aggregate by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      /** Pass if `type` is `VALUE`. A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of products (count) for each price listed in the store. */\n      value?: ValueAggregation;\n      /** Pass if `type` is `SCALAR`. A scalar aggregation calculates a single numerical value from a dataset, such as the total, minimum, or maximum value, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the minimum price listed in a store. */\n      scalar?: ScalarAggregation;\n      /** Pass if `type` is `NESTED`. A nested aggregation is applied to the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. This allows for more complex analyses that summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on the field containing the price, and a second value aggregation on the field indicating whether a product is in stock. You can nest up to a maximum of 3 aggregations. Each aggregation can be either value-based or scalar, allowing flexibility in how the data is grouped and analyzed. */\n      nested?: NestedAggregation;\n  }\n  enum ScalarType {\n      /** Unknown scalar type. */\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Minimum value. */\n      MIN = \"MIN\",\n      /** Maximum value. */\n      MAX = \"MAX\",\n      /** Sum of values. */\n      SUM = \"SUM\"\n  }\n  enum NestedAggregationType {\n      /** Unknown aggregation type. */\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg. */\n      SCALAR = \"SCALAR\"\n  }\n  interface ValueAggregation {\n      /**\n       * Maximum number of aggregation results to return.\n       * Min: `1`\n       * Max: `250`\n       * Default: `10`\n       */\n      limit?: number | null;\n  }\n  interface ScalarAggregation {\n      /** Type of scalar aggregation. */\n      type?: ScalarType;\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      /** Pass if `type` is `VALUE`. A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of products (count) for each price listed in the store. */\n      value?: ValueAggregation;\n      /** Pass if `type` is `SCALAR`. A scalar aggregation calculates a single numerical value from a dataset, such as the total, minimum, or maximum value, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the minimum price listed in a store. */\n      scalar?: ScalarAggregation;\n      /** Aggregation name displayed in the return. */\n      name?: string | null;\n      /** Type of aggregation to perform. */\n      type?: NestedAggregationType;\n      /** Field to aggregate by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      /** Pass if `type` is `VALUE`. A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of products (count) for each price listed in the store. */\n      value?: ValueAggregation;\n      /** Pass if `type` is `SCALAR`. A scalar aggregation calculates a single numerical value from a dataset, such as the total, minimum, or maximum value, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the minimum price listed in a store. */\n      scalar?: ScalarAggregation;\n  }\n  enum AggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** Multi-level aggregation, where each next aggregation is nested within previous one. */\n      NESTED = \"NESTED\"\n  }\n  /** List of aggregations. Each aggregation is nested within the previous one. */\n  interface NestedAggregation {\n      /** List of aggregations, where each aggregation is nested within previous one. */\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface SearchDetails {\n      /** Search term or expression. */\n      expression?: string | null;\n      /**\n       * Fields to search in.\n       * If the array is empty, all fields are searched.\n       */\n      fields?: string[];\n      /** Whether to allow the search function to automatically correct typos or minor mistakes in the search expression. The search function uses an algorithm to find results that are close to the text provided. */\n      fuzzy?: boolean;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  enum DocumentType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      BLOG_POSTS = \"BLOG_POSTS\",\n      BOOKING_SERVICES = \"BOOKING_SERVICES\",\n      EVENTS = \"EVENTS\",\n      FORUM_CONTENT = \"FORUM_CONTENT\",\n      ONLINE_PROGRAMS = \"ONLINE_PROGRAMS\",\n      PROGALLERY_ITEM = \"PROGALLERY_ITEM\",\n      STORES_PRODUCTS = \"STORES_PRODUCTS\"\n  }\n  interface SearchResponse$1 extends SearchResponsePagingOneOf {\n      /** Paging metadata. */\n      pagingOffsetMetadata?: PagingMetadata;\n      /** Documents matching the search query. */\n      siteDocumentItems?: SiteDocument$1[];\n      /** Aggregated data. */\n      aggregationData?: AggregationData;\n  }\n  /** @oneof */\n  interface SearchResponsePagingOneOf {\n      /** Paging metadata. */\n      pagingOffsetMetadata?: PagingMetadata;\n  }\n  interface AggregationData {\n      /** List of the aggregated data results. */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      /** Value contained in the field specified in `fieldPath` for this aggregation in the request. */\n      value?: string;\n      /** Number of documents containing the specified value in the specified field. */\n      count?: number;\n  }\n  interface ValueResults {\n      /** List of value aggregation results. */\n      results?: ValueAggregationResult[];\n  }\n  interface AggregationResultsScalarResult {\n      /** Type of scalar aggregation. */\n      type?: ScalarType;\n      /** Value of the scalar aggregation. For example, the minimum, maximum, or total value for the specified field. */\n      value?: number;\n  }\n  interface ValueResult {\n      /** Value contained in the field specified in `fieldPath` for this aggregation in the request. */\n      value?: string;\n      /** Number of documents containing the specified value in the specified field. */\n      count?: number | null;\n  }\n  interface ScalarResult {\n      /** Scalar aggregation results. */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation results. */\n      value?: ValueResult;\n      /** Scalar aggregation results. */\n      scalar?: ScalarResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation results. */\n      value?: ValueResult;\n      /** Scalar aggregation results. */\n      scalar?: ScalarResult;\n  }\n  interface Results {\n      /** Aggregation results. */\n      results?: Record<string, NestedResultValue>;\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form\n   * aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults {\n      /** List of nested aggregation results. */\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n      /** Aggregation name defined in the request. */\n      name?: string;\n      /** Type of aggregation that was performed. */\n      type?: AggregationType;\n      /** Field the data was aggregated by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Whether the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  /**\n   * Retrieves a list of site documents that match the provided search query and optionally performs aggregations on the data queried.\n   *\n   * The `search()` API supports the document types listed in the [Introduction](https://dev.wix.com/docs/sdk/backend-modules/search/wix-site-search/introduction), each with its own schema. These schemas define the fields available for filtering, sorting, and free-text searching.\n   *\n   * To learn more about working with the search query, see [API Query Language](https://dev.wix.com/docs/sdk/articles/working-with-the-sdk/api-query-language).\n   * @param search - Search query and aggregation information.\n   * @param documentType - Document type to search in.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField documentType\n   * @requiredField search\n   * @permissionId SEARCH.SITE_DOCUMENT_READ\n   */\n  function search$1(search: Search, documentType: DocumentType, options?: SearchOptions$1): Promise<SearchResponse$1>;\n  interface SearchOptions$1 {\n      /** Language to search in. */\n      language?: string | null;\n  }\n  \n  type searchPlatformizedV1SiteDocument_universal_d_Search = Search;\n  type searchPlatformizedV1SiteDocument_universal_d_SearchPagingMethodOneOf = SearchPagingMethodOneOf;\n  type searchPlatformizedV1SiteDocument_universal_d_Sorting = Sorting;\n  type searchPlatformizedV1SiteDocument_universal_d_SortOrder = SortOrder;\n  const searchPlatformizedV1SiteDocument_universal_d_SortOrder: typeof SortOrder;\n  type searchPlatformizedV1SiteDocument_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type searchPlatformizedV1SiteDocument_universal_d_ScalarType = ScalarType;\n  const searchPlatformizedV1SiteDocument_universal_d_ScalarType: typeof ScalarType;\n  type searchPlatformizedV1SiteDocument_universal_d_NestedAggregationType = NestedAggregationType;\n  const searchPlatformizedV1SiteDocument_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type searchPlatformizedV1SiteDocument_universal_d_ValueAggregation = ValueAggregation;\n  type searchPlatformizedV1SiteDocument_universal_d_ScalarAggregation = ScalarAggregation;\n  type searchPlatformizedV1SiteDocument_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type searchPlatformizedV1SiteDocument_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type searchPlatformizedV1SiteDocument_universal_d_AggregationType = AggregationType;\n  const searchPlatformizedV1SiteDocument_universal_d_AggregationType: typeof AggregationType;\n  type searchPlatformizedV1SiteDocument_universal_d_NestedAggregation = NestedAggregation;\n  type searchPlatformizedV1SiteDocument_universal_d_SearchDetails = SearchDetails;\n  type searchPlatformizedV1SiteDocument_universal_d_Paging = Paging;\n  type searchPlatformizedV1SiteDocument_universal_d_DocumentType = DocumentType;\n  const searchPlatformizedV1SiteDocument_universal_d_DocumentType: typeof DocumentType;\n  type searchPlatformizedV1SiteDocument_universal_d_SearchResponsePagingOneOf = SearchResponsePagingOneOf;\n  type searchPlatformizedV1SiteDocument_universal_d_AggregationData = AggregationData;\n  type searchPlatformizedV1SiteDocument_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type searchPlatformizedV1SiteDocument_universal_d_ValueResults = ValueResults;\n  type searchPlatformizedV1SiteDocument_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n  type searchPlatformizedV1SiteDocument_universal_d_ValueResult = ValueResult;\n  type searchPlatformizedV1SiteDocument_universal_d_ScalarResult = ScalarResult;\n  type searchPlatformizedV1SiteDocument_universal_d_NestedResultValue = NestedResultValue;\n  type searchPlatformizedV1SiteDocument_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type searchPlatformizedV1SiteDocument_universal_d_Results = Results;\n  type searchPlatformizedV1SiteDocument_universal_d_NestedResults = NestedResults;\n  type searchPlatformizedV1SiteDocument_universal_d_AggregationResults = AggregationResults;\n  type searchPlatformizedV1SiteDocument_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type searchPlatformizedV1SiteDocument_universal_d_PagingMetadata = PagingMetadata;\n  namespace searchPlatformizedV1SiteDocument_universal_d {\n    export {\n      SiteDocument$1 as SiteDocument,\n      SearchRequest$1 as SearchRequest,\n      searchPlatformizedV1SiteDocument_universal_d_Search as Search,\n      searchPlatformizedV1SiteDocument_universal_d_SearchPagingMethodOneOf as SearchPagingMethodOneOf,\n      searchPlatformizedV1SiteDocument_universal_d_Sorting as Sorting,\n      searchPlatformizedV1SiteDocument_universal_d_SortOrder as SortOrder,\n      Aggregation$1 as Aggregation,\n      searchPlatformizedV1SiteDocument_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      searchPlatformizedV1SiteDocument_universal_d_ScalarType as ScalarType,\n      searchPlatformizedV1SiteDocument_universal_d_NestedAggregationType as NestedAggregationType,\n      searchPlatformizedV1SiteDocument_universal_d_ValueAggregation as ValueAggregation,\n      searchPlatformizedV1SiteDocument_universal_d_ScalarAggregation as ScalarAggregation,\n      searchPlatformizedV1SiteDocument_universal_d_NestedAggregationItem as NestedAggregationItem,\n      searchPlatformizedV1SiteDocument_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      searchPlatformizedV1SiteDocument_universal_d_AggregationType as AggregationType,\n      searchPlatformizedV1SiteDocument_universal_d_NestedAggregation as NestedAggregation,\n      searchPlatformizedV1SiteDocument_universal_d_SearchDetails as SearchDetails,\n      searchPlatformizedV1SiteDocument_universal_d_Paging as Paging,\n      searchPlatformizedV1SiteDocument_universal_d_DocumentType as DocumentType,\n      SearchResponse$1 as SearchResponse,\n      searchPlatformizedV1SiteDocument_universal_d_SearchResponsePagingOneOf as SearchResponsePagingOneOf,\n      searchPlatformizedV1SiteDocument_universal_d_AggregationData as AggregationData,\n      searchPlatformizedV1SiteDocument_universal_d_ValueAggregationResult as ValueAggregationResult,\n      searchPlatformizedV1SiteDocument_universal_d_ValueResults as ValueResults,\n      searchPlatformizedV1SiteDocument_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult,\n      searchPlatformizedV1SiteDocument_universal_d_ValueResult as ValueResult,\n      searchPlatformizedV1SiteDocument_universal_d_ScalarResult as ScalarResult,\n      searchPlatformizedV1SiteDocument_universal_d_NestedResultValue as NestedResultValue,\n      searchPlatformizedV1SiteDocument_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      searchPlatformizedV1SiteDocument_universal_d_Results as Results,\n      searchPlatformizedV1SiteDocument_universal_d_NestedResults as NestedResults,\n      searchPlatformizedV1SiteDocument_universal_d_AggregationResults as AggregationResults,\n      searchPlatformizedV1SiteDocument_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      searchPlatformizedV1SiteDocument_universal_d_PagingMetadata as PagingMetadata,\n      search$1 as search,\n      SearchOptions$1 as SearchOptions,\n    };\n  }\n  \n  /** API is not yet fully migrated to FQDN entity */\n  interface SiteDocument {\n      /** the document payload */\n      document?: Record<string, any> | null;\n  }\n  interface UpdateInternalDocumentsEvent extends UpdateInternalDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: InternalDocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update internal documents matching filter */\n      updateByFilter?: InternalDocumentUpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: InternalUpdateExistingOperation;\n      /** insert/update documents with versioning */\n      versionedUpdate?: VersionedDocumentUpdateOperation;\n      /** delete by document ids with versioning */\n      versionedDeleteByIds?: VersionedDeleteByIdsOperation;\n      /** type of the documents */\n      documentType?: string;\n      /** language of the documents (mandatory) */\n      language?: string | null;\n      /**\n       * one or more search documents\n       * @deprecated\n       */\n      addDocuments?: InternalDocument[];\n      /**\n       * one or more ids of indexed documents to be removed. Removal will happen before addition (if both provided)\n       * @deprecated\n       */\n      removeDocumentIds?: string[];\n      /** id to pass to processing notification */\n      correlationId?: string | null;\n      /** when event was created / issued */\n      issuedAt?: Date | null;\n  }\n  /** @oneof */\n  interface UpdateInternalDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: InternalDocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update internal documents matching filter */\n      updateByFilter?: InternalDocumentUpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: InternalUpdateExistingOperation;\n      /** insert/update documents with versioning */\n      versionedUpdate?: VersionedDocumentUpdateOperation;\n      /** delete by document ids with versioning */\n      versionedDeleteByIds?: VersionedDeleteByIdsOperation;\n  }\n  interface InternalDocument {\n      /** document with mandatory fields (id) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n  }\n  interface InternalDocumentUpdateOperation {\n      /** documents to index or update */\n      documents?: InternalDocument[];\n  }\n  interface DeleteByIdsOperation {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface DeleteByFilterOperation {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface InternalDocumentUpdateByFilterOperation {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: InternalDocument;\n  }\n  interface InternalUpdateExistingOperation {\n      /** documents to update */\n      documents?: InternalDocument[];\n  }\n  interface VersionedDocumentUpdateOperation {\n      /** documents to create or overwrite */\n      documents?: InternalDocument[];\n      /** versioning mode to use instead of default */\n      versioningMode?: VersioningMode;\n  }\n  enum VersioningMode {\n      /** use default versioning mode agreed with search team */\n      DEFAULT = \"DEFAULT\",\n      /** execute only if version is greater than existing */\n      GREATER_THAN = \"GREATER_THAN\",\n      /** execute only if version is greater or equal to existing */\n      GREATER_OR_EQUAL = \"GREATER_OR_EQUAL\"\n  }\n  interface VersionedDeleteByIdsOperation {\n      /** ids with version of the documents to delete */\n      documentIds?: VersionedDocumentId[];\n  }\n  interface VersionedDocumentId {\n      /** document id */\n      documentId?: string;\n      /** document version */\n      version?: string;\n      /** versioning mode to use instead of default */\n      versioningMode?: VersioningMode;\n  }\n  interface UpdateDocumentsEvent extends UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: V1DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: V1DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n      /** application which owns documents */\n      appDefId?: string | null;\n      /** type of the documents */\n      documentType?: string | null;\n      /** language of the documents */\n      language?: string | null;\n      /** site documents belong to */\n      msId?: string | null;\n  }\n  /** @oneof */\n  interface UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: V1DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: V1DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n  }\n  interface DocumentUpdateOperation {\n      /** documents to index or update */\n      documents?: IndexDocument[];\n  }\n  interface IndexDocument {\n      /** data bag with non-searchable fields (url, image) */\n      payload?: DocumentPayload;\n      /** what type of users should documents be visible to */\n      exposure?: Enum;\n      /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n      /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */\n      permittedMemberGroups?: string[];\n      /** if true SEO is disabled for this document */\n      seoHidden?: boolean | null;\n      /** if true the page is a lightbox popup */\n      isPopup?: boolean | null;\n  }\n  interface DocumentPayload {\n      /** url of the page representing the document */\n      url?: string | null;\n      /** image which represents the document */\n      documentImage?: DocumentImage;\n  }\n  interface DocumentImage {\n      /** the name of the image */\n      name?: string;\n      /** the width of the image */\n      width?: number;\n      /** the height of the image */\n      height?: number;\n  }\n  enum Enum {\n      /** Default value. Means that permission not set */\n      UNKNOWN = \"UNKNOWN\",\n      /** Protected exposure. Exposed to members and owners */\n      PROTECTED = \"PROTECTED\",\n      /** Private exposure. Exposed to owners */\n      PRIVATE = \"PRIVATE\",\n      /** Public exposure. Visible to everyone */\n      PUBLIC = \"PUBLIC\",\n      /** Used for partial updates, to state that exposure is not changing */\n      UNCHANGED = \"UNCHANGED\",\n      /** Protected to members of permitted groups and owners */\n      GROUP_PROTECTED = \"GROUP_PROTECTED\"\n  }\n  interface V1DeleteByIdsOperation {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface V1DeleteByFilterOperation {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface UpdateByFilterOperation {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: IndexDocument;\n  }\n  interface UpdateExistingOperation {\n      /** documents to update */\n      documents?: IndexDocument[];\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface SearchRequest {\n      /** Text to search for. All searchable fields will be searched. */\n      query?: string | null;\n      /** Document type of documents to search for. All document types are searched if not provided. */\n      documentType?: string | null;\n      /** Fields to order by. */\n      ordering?: OrderingClauses;\n      /** Paging parameters. */\n      paging?: SearchPaging;\n      /** Language to search in. */\n      language?: string | null;\n      /** Filter in platformized query language (for example {'field': {'$eq': 'value'}}) */\n      filter?: Record<string, any> | null;\n      /** The facets to retrieve. */\n      facets?: FacetClauses;\n      /** Enable fuzzy search (eg. query 'kalvin clein' will match document with 'calvin klein' in title). */\n      fuzzy?: boolean | null;\n      /** Highlight texts matching the query. Highlighted text will be wrapped with <mark/> tag. Defaults to true if not provided. */\n      highlight?: boolean | null;\n      /** Searchable fields to search in. If not provided, search is executed on all searchable fields in schema */\n      searchFields?: string[];\n      /** A list of fields to include in the result set. If not provided, all fields of schema will be included. */\n      fields?: string[];\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`, `result-format`. */\n      properties?: SearchProperty[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n  }\n  interface OrderingClauses {\n      ordering?: OrderingClause[];\n  }\n  interface OrderingClause {\n      fieldName?: string | null;\n      direction?: Direction;\n  }\n  enum Direction {\n      UninitializedDirection = \"UninitializedDirection\",\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface SearchPaging {\n      /**\n       * Number of items to skip in the result set.\n       * @deprecated\n       */\n      skip?: number;\n      /** Number of items to fetch (effectively page size). */\n      limit?: number;\n      /** Number of items to skip in the result set. */\n      offset?: number;\n  }\n  interface FacetClauses {\n      /** Each entry represents a single facet with parameters. */\n      clauses?: FacetClause[];\n  }\n  interface FacetClause extends FacetClauseClauseOneOf {\n      term?: TermFacet;\n      aggregation?: AggregationFacet;\n      hierarchical?: HierarchicalFacet;\n  }\n  /** @oneof */\n  interface FacetClauseClauseOneOf {\n      term?: TermFacet;\n      aggregation?: AggregationFacet;\n      hierarchical?: HierarchicalFacet;\n  }\n  enum Aggregation {\n      MIN = \"MIN\",\n      MAX = \"MAX\",\n      SUM = \"SUM\"\n  }\n  interface HierarchicalFacet extends HierarchicalFacetClauseOneOf {\n      term?: TermFacet;\n      aggregation?: AggregationFacet;\n      nestedAggregation?: HierarchicalFacet;\n  }\n  /** @oneof */\n  interface HierarchicalFacetClauseOneOf {\n      term?: TermFacet;\n      aggregation?: AggregationFacet;\n  }\n  interface TermFacet {\n      /** The name of the faceted attribute. */\n      name?: string;\n      /** Limit the number of facet values returned. Default is 10. */\n      limit?: number | null;\n  }\n  interface AggregationFacet {\n      /** The name of the faceted attribute. */\n      name?: string;\n      /** Aggregation type. */\n      aggregation?: Aggregation;\n  }\n  interface SearchProperty {\n      name?: string;\n      value?: any;\n  }\n  interface SearchResponse {\n      /** Documents matching filter and query. */\n      documents?: Record<string, any>[] | null;\n      nextPage?: NextPageResponse;\n      /**\n       * Facets provide \"counts in categories\" view. For example searching for \"Nike\" would return\n       * (Shoes, 5), (Socks, 2) indicating numbers for matching by each faceted field.\n       */\n      facets?: FacetsResponse[];\n  }\n  interface NextPageResponse {\n      /** Total number of items across all pages */\n      total?: number;\n      /** The number of items to skip */\n      skip?: number;\n      /** The number of items to retrieve in one page */\n      limit?: number;\n  }\n  interface FacetsResponse extends FacetsResponseResponseOneOf {\n      terms?: TermAggregationResponse;\n      minAggregation?: MinAggregationResponse;\n      maxAggregation?: MaxAggregationResponse;\n      minMaxAggregation?: MinMaxAggregationResponse;\n      hierarchicalAggregation?: HierarchicalAggregationResponse;\n      sumAggregation?: SumAggregationResponse;\n  }\n  /** @oneof */\n  interface FacetsResponseResponseOneOf {\n      terms?: TermAggregationResponse;\n      minAggregation?: MinAggregationResponse;\n      maxAggregation?: MaxAggregationResponse;\n      minMaxAggregation?: MinMaxAggregationResponse;\n      hierarchicalAggregation?: HierarchicalAggregationResponse;\n      sumAggregation?: SumAggregationResponse;\n  }\n  interface FacetCountResponse {\n      /** Facet field value (for example \"Shoes\", \"Socks\") */\n      facetValue?: string;\n      /** Document count within the group */\n      count?: number;\n  }\n  interface Value {\n      value?: string;\n      facets?: FacetsResponse;\n      count?: number;\n  }\n  interface TermAggregationResponse {\n      /** Facet field (for example productCategory) */\n      facet?: string;\n      /** Facet values and document counts */\n      facets?: FacetCountResponse[];\n  }\n  interface MinAggregationResponse {\n      /** Facet field (for example productPrice) */\n      facet?: string;\n      /** The minimum value across all documents */\n      minValue?: number | null;\n  }\n  interface MaxAggregationResponse {\n      /** Facet field (for example productPrice) */\n      facet?: string;\n      /** The maximum value across all documents */\n      maxValue?: number | null;\n  }\n  interface MinMaxAggregationResponse {\n      /** Facet field (for example productPrice) */\n      facet?: string;\n      /** The minimum value across all documents */\n      minValue?: number | null;\n      /** The maximum value across all documents */\n      maxValue?: number | null;\n  }\n  interface HierarchicalAggregationResponse {\n      facet?: string;\n      values?: Value[];\n  }\n  interface SumAggregationResponse {\n      /** Facet field (for example productPrice) */\n      facet?: string;\n      /** The sum value across all documents */\n      value?: number | null;\n  }\n  interface FederatedSearchRequest {\n      /** Query phrase to use. */\n      query?: string | null;\n      /** Language to search in. */\n      language?: string | null;\n      /** Limit of documents to return per document type. */\n      limit?: number | null;\n      /** Enable fuzzy search (for example query 'kalvin clein' will match document with 'calvin klein' in title). */\n      fuzzy?: boolean | null;\n      /** Highlight texts matching the query. Highlighted text will be wrapped with <mark/> tag. Defaults to true if not provided. */\n      highlight?: boolean | null;\n      /** Searchable fields to search in. If not provided, search is executed on all searchable fields in schemas */\n      searchFields?: string[];\n      /** Document types to search in. If not provided, search is executed on all document types enabled for the site */\n      documentTypes?: string[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`, `result-format`. */\n      properties?: SearchProperty[];\n  }\n  interface FederatedSearchResponse {\n      /** Search results from multiple indexes. */\n      results?: FederatedSearchDocuments[];\n  }\n  interface FederatedSearchDocuments {\n      /** Document type of documents */\n      documentType?: string | null;\n      /** Documents of document type */\n      documents?: Record<string, any>[] | null;\n      /** Total count of matching documents for document type */\n      total?: number;\n  }\n  interface SuggestRequest {\n      /** Text to search for. Fields configured in suggester configuration will be searched. */\n      query?: string | null;\n      /** Document type of documents to search for. All document types are searched if not provided. */\n      documentType?: string | null;\n      /** Fields to order by. */\n      ordering?: OrderingClauses;\n      /** Number of suggested document to return. */\n      limit?: number;\n      /** Language to search in. */\n      language?: string | null;\n      /** Filter in platformized query language (for example {'field': {'$eq': 'value'}}) */\n      filter?: Record<string, any> | null;\n      /** Searchable fields to search in. If not provided, search is executed on all suggestable fields in schema */\n      searchFields?: string[];\n      /** A list of fields to include in the result set. If not provided, all fields of schema will be included. */\n      fields?: string[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`, `result-format`. */\n      properties?: SearchProperty[];\n  }\n  interface SuggestResponse {\n      /** Suggested documents. */\n      documents?: Record<string, any>[] | null;\n  }\n  interface FederatedSuggestRequest {\n      /** Text to search for. Fields configured in suggester configuration will be searched. */\n      query?: string | null;\n      /** Language to search in. */\n      language?: string | null;\n      /** Number of suggested document to return per document type. */\n      limit?: number;\n      /** Searchable fields to search in. If not provided, search is executed on all suggestable fields in schemas */\n      searchFields?: string[];\n      /** Document types to search in. If not provided, search is executed on all document types enabled for the site */\n      documentTypes?: string[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`, `result-format`. */\n      properties?: SearchProperty[];\n  }\n  interface FederatedSuggestResponse {\n      /** Suggest results from multiple indexes. */\n      results?: FederatedSuggestDocuments[];\n  }\n  interface FederatedSuggestDocuments {\n      /** Document type of documents */\n      documentType?: string | null;\n      /** Documents of document type */\n      documents?: Record<string, any>[] | null;\n  }\n  interface RelatedRequest {\n      /** ID of the document to fetch related documents for. */\n      documentId?: string | null;\n      /** Document type of the document. */\n      documentType?: string | null;\n      /** Fields to order by. */\n      ordering?: OrderingClauses;\n      /** Language to search in. */\n      language?: string | null;\n      /** Filter in platformized query language (for example {'field': {'$eq': 'value'}}). */\n      filter?: Record<string, any> | null;\n      /** Searchable fields to compare documents by. If not provided, all searchable fields in schema are used */\n      searchFields?: string[];\n      /** A list of fields to include in the result set. If not provided, all fields of schema will be included. */\n      fields?: string[];\n      /** Number of related documents to return */\n      limit?: number;\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`. */\n      properties?: SearchProperty[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n  }\n  interface RelatedResponse {\n      /** Documents matching filter and query. */\n      documents?: Record<string, any>[] | null;\n  }\n  interface AutocompleteRequest {\n      /** Query phrase to fetch completions for. */\n      query?: string | null;\n      /** Document type to use to search for phrases. */\n      documentType?: string | null;\n      /** Limit of phrases to fetch. */\n      limit?: number;\n      /** Language to search in. */\n      language?: string | null;\n      /** Filter in platfromized query language (for example {'field': {'$eq': 'value'}}) */\n      filter?: Record<string, any> | null;\n      /** Searchable fields to use for query completion. If not provided, all searchable fields in schema are used */\n      searchFields?: string[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n  }\n  interface AutocompleteResponse {\n      /** Suggested phrases. */\n      values?: AutocompleteResponseValue[];\n  }\n  interface AutocompleteResponseValue {\n      /** Suggested phrase. */\n      query?: string;\n  }\n  interface FederatedAutocompleteRequest {\n      /** Query phrase to fetch completions for. */\n      query?: string | null;\n      /** Language to search in. */\n      language?: string | null;\n      /** Number of queries to return per document type. */\n      limit?: number;\n      /** Searchable fields to search in. If not provided, search is executed on all autocompletable fields in schemas */\n      searchFields?: string[];\n      /** Document types to autocomplete in. If not provided, autocomplete is executed on all document types enabled for the site */\n      documentTypes?: string[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n  }\n  interface FederatedAutocompleteResponse {\n      /** Suggested phrases from multiple indexes */\n      results?: FederatedAutocompleteResults[];\n  }\n  interface FederatedAutocompleteResults {\n      /** Document type of queries */\n      documentType?: string | null;\n      /** Suggested phrases */\n      values?: AutocompleteResponseValue[];\n  }\n  interface TrendingRequest {\n      documentTypes?: string[];\n      language?: string | null;\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`, `result-format`. */\n      properties?: SearchProperty[];\n  }\n  interface TrendingResponse {\n      results?: TrendingItems[];\n  }\n  interface TrendingItems {\n      documentType?: string;\n      documents?: Record<string, any>[] | null;\n  }\n  /**\n   * Executes a regular search query.\n   * If you are unsure, this is likely the search method you want to used.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function search(options?: SearchOptions): Promise<SearchResponse>;\n  interface SearchOptions {\n      /** Text to search for. All searchable fields will be searched. */\n      query?: string | null;\n      /** Document type of documents to search for. All document types are searched if not provided. */\n      documentType?: string | null;\n      /** Fields to order by. */\n      ordering?: OrderingClauses;\n      /** Paging parameters. */\n      paging?: SearchPaging;\n      /** Language to search in. */\n      language?: string | null;\n      /** Filter in platformized query language (for example {'field': {'$eq': 'value'}}) */\n      filter?: Record<string, any> | null;\n      /** The facets to retrieve. */\n      facets?: FacetClauses;\n      /** Enable fuzzy search (eg. query 'kalvin clein' will match document with 'calvin klein' in title). */\n      fuzzy?: boolean | null;\n      /** Highlight texts matching the query. Highlighted text will be wrapped with <mark/> tag. Defaults to true if not provided. */\n      highlight?: boolean | null;\n      /** Searchable fields to search in. If not provided, search is executed on all searchable fields in schema */\n      searchFields?: string[];\n      /** A list of fields to include in the result set. If not provided, all fields of schema will be included. */\n      fields?: string[];\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`, `result-format`. */\n      properties?: SearchProperty[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n  }\n  /**\n   * Searches in multiple document types at once.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function federatedSearch(options?: FederatedSearchOptions): Promise<FederatedSearchResponse>;\n  interface FederatedSearchOptions {\n      /** Query phrase to use. */\n      query?: string | null;\n      /** Language to search in. */\n      language?: string | null;\n      /** Limit of documents to return per document type. */\n      limit?: number | null;\n      /** Enable fuzzy search (for example query 'kalvin clein' will match document with 'calvin klein' in title). */\n      fuzzy?: boolean | null;\n      /** Highlight texts matching the query. Highlighted text will be wrapped with <mark/> tag. Defaults to true if not provided. */\n      highlight?: boolean | null;\n      /** Searchable fields to search in. If not provided, search is executed on all searchable fields in schemas */\n      searchFields?: string[];\n      /** Document types to search in. If not provided, search is executed on all document types enabled for the site */\n      documentTypes?: string[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`, `result-format`. */\n      properties?: SearchProperty[];\n  }\n  /**\n   * Executes search query to fetch suggested items. Unlike search query suggest will match\n   * partial phrases (for example \"blu\" will match documents containing \"blue\", \"blues\" and \"blunt\").\n   * Phrase needs to be at least 3 symbols long. Suggestions can also perform optimisations in search\n   * results and generally do not guarantee the same level of quality as regular Search endpoint.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function suggest(options?: SuggestOptions): Promise<SuggestResponse>;\n  interface SuggestOptions {\n      /** Text to search for. Fields configured in suggester configuration will be searched. */\n      query?: string | null;\n      /** Document type of documents to search for. All document types are searched if not provided. */\n      documentType?: string | null;\n      /** Fields to order by. */\n      ordering?: OrderingClauses;\n      /** Number of suggested document to return. */\n      limit?: number;\n      /** Language to search in. */\n      language?: string | null;\n      /** Filter in platformized query language (for example {'field': {'$eq': 'value'}}) */\n      filter?: Record<string, any> | null;\n      /** Searchable fields to search in. If not provided, search is executed on all suggestable fields in schema */\n      searchFields?: string[];\n      /** A list of fields to include in the result set. If not provided, all fields of schema will be included. */\n      fields?: string[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`, `result-format`. */\n      properties?: SearchProperty[];\n  }\n  /**\n   * Searches for suggestions in multiple document types at once.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function federatedSuggest(options?: FederatedSuggestOptions): Promise<FederatedSuggestResponse>;\n  interface FederatedSuggestOptions {\n      /** Text to search for. Fields configured in suggester configuration will be searched. */\n      query?: string | null;\n      /** Language to search in. */\n      language?: string | null;\n      /** Number of suggested document to return per document type. */\n      limit?: number;\n      /** Searchable fields to search in. If not provided, search is executed on all suggestable fields in schemas */\n      searchFields?: string[];\n      /** Document types to search in. If not provided, search is executed on all document types enabled for the site */\n      documentTypes?: string[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`, `result-format`. */\n      properties?: SearchProperty[];\n  }\n  /**\n   * Fetches documents similar to one single document.\n   * This is typically used to implement \"related to\" scenarios (for example to fetch related store products when\n   * consumer is already viewing one).\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function related(options?: RelatedOptions): Promise<RelatedResponse>;\n  interface RelatedOptions {\n      /** ID of the document to fetch related documents for. */\n      documentId?: string | null;\n      /** Document type of the document. */\n      documentType?: string | null;\n      /** Fields to order by. */\n      ordering?: OrderingClauses;\n      /** Language to search in. */\n      language?: string | null;\n      /** Filter in platformized query language (for example {'field': {'$eq': 'value'}}). */\n      filter?: Record<string, any> | null;\n      /** Searchable fields to compare documents by. If not provided, all searchable fields in schema are used */\n      searchFields?: string[];\n      /** A list of fields to include in the result set. If not provided, all fields of schema will be included. */\n      fields?: string[];\n      /** Number of related documents to return */\n      limit?: number;\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`. */\n      properties?: SearchProperty[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n  }\n  /**\n   * Provides phrase completion. For example \"blu\" could return \"blue\", \"blues\" and \"blunt\" as candidate phrases. This operation is resource heavy at index time and is reserved for special use cases.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function autocomplete(options?: AutocompleteOptions): Promise<AutocompleteResponse>;\n  interface AutocompleteOptions {\n      /** Query phrase to fetch completions for. */\n      query?: string | null;\n      /** Document type to use to search for phrases. */\n      documentType?: string | null;\n      /** Limit of phrases to fetch. */\n      limit?: number;\n      /** Language to search in. */\n      language?: string | null;\n      /** Filter in platfromized query language (for example {'field': {'$eq': 'value'}}) */\n      filter?: Record<string, any> | null;\n      /** Searchable fields to use for query completion. If not provided, all searchable fields in schema are used */\n      searchFields?: string[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n  }\n  /**\n   * Provides phrase completion from multiple document types at once\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function federatedAutocomplete(options?: FederatedAutocompleteOptions): Promise<FederatedAutocompleteResponse>;\n  interface FederatedAutocompleteOptions {\n      /** Query phrase to fetch completions for. */\n      query?: string | null;\n      /** Language to search in. */\n      language?: string | null;\n      /** Number of queries to return per document type. */\n      limit?: number;\n      /** Searchable fields to search in. If not provided, search is executed on all autocompletable fields in schemas */\n      searchFields?: string[];\n      /** Document types to autocomplete in. If not provided, autocomplete is executed on all document types enabled for the site */\n      documentTypes?: string[];\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n  }\n  /**\n   * Returns trending documents for given document types\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function trending(options?: TrendingOptions): Promise<TrendingResponse>;\n  interface TrendingOptions {\n      documentTypes?: string[];\n      language?: string | null;\n      /** Include seo hidden documents. Defaults to false if not provided. */\n      includeSeoHidden?: boolean | null;\n      /** The properties/overrides/experiments to enable for this request. Currently supported: `scoring_profile`, `result-format`. */\n      properties?: SearchProperty[];\n  }\n  \n  type searchV1Sitedocument_universal_d_SiteDocument = SiteDocument;\n  type searchV1Sitedocument_universal_d_UpdateInternalDocumentsEvent = UpdateInternalDocumentsEvent;\n  type searchV1Sitedocument_universal_d_UpdateInternalDocumentsEventOperationOneOf = UpdateInternalDocumentsEventOperationOneOf;\n  type searchV1Sitedocument_universal_d_InternalDocument = InternalDocument;\n  type searchV1Sitedocument_universal_d_InternalDocumentUpdateOperation = InternalDocumentUpdateOperation;\n  type searchV1Sitedocument_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n  type searchV1Sitedocument_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n  type searchV1Sitedocument_universal_d_InternalDocumentUpdateByFilterOperation = InternalDocumentUpdateByFilterOperation;\n  type searchV1Sitedocument_universal_d_InternalUpdateExistingOperation = InternalUpdateExistingOperation;\n  type searchV1Sitedocument_universal_d_VersionedDocumentUpdateOperation = VersionedDocumentUpdateOperation;\n  type searchV1Sitedocument_universal_d_VersioningMode = VersioningMode;\n  const searchV1Sitedocument_universal_d_VersioningMode: typeof VersioningMode;\n  type searchV1Sitedocument_universal_d_VersionedDeleteByIdsOperation = VersionedDeleteByIdsOperation;\n  type searchV1Sitedocument_universal_d_VersionedDocumentId = VersionedDocumentId;\n  type searchV1Sitedocument_universal_d_UpdateDocumentsEvent = UpdateDocumentsEvent;\n  type searchV1Sitedocument_universal_d_UpdateDocumentsEventOperationOneOf = UpdateDocumentsEventOperationOneOf;\n  type searchV1Sitedocument_universal_d_DocumentUpdateOperation = DocumentUpdateOperation;\n  type searchV1Sitedocument_universal_d_IndexDocument = IndexDocument;\n  type searchV1Sitedocument_universal_d_DocumentPayload = DocumentPayload;\n  type searchV1Sitedocument_universal_d_DocumentImage = DocumentImage;\n  type searchV1Sitedocument_universal_d_Enum = Enum;\n  const searchV1Sitedocument_universal_d_Enum: typeof Enum;\n  type searchV1Sitedocument_universal_d_V1DeleteByIdsOperation = V1DeleteByIdsOperation;\n  type searchV1Sitedocument_universal_d_V1DeleteByFilterOperation = V1DeleteByFilterOperation;\n  type searchV1Sitedocument_universal_d_UpdateByFilterOperation = UpdateByFilterOperation;\n  type searchV1Sitedocument_universal_d_UpdateExistingOperation = UpdateExistingOperation;\n  type searchV1Sitedocument_universal_d_Empty = Empty;\n  type searchV1Sitedocument_universal_d_MessageEnvelope = MessageEnvelope;\n  type searchV1Sitedocument_universal_d_IdentificationData = IdentificationData;\n  type searchV1Sitedocument_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type searchV1Sitedocument_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const searchV1Sitedocument_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type searchV1Sitedocument_universal_d_SearchRequest = SearchRequest;\n  type searchV1Sitedocument_universal_d_OrderingClauses = OrderingClauses;\n  type searchV1Sitedocument_universal_d_OrderingClause = OrderingClause;\n  type searchV1Sitedocument_universal_d_Direction = Direction;\n  const searchV1Sitedocument_universal_d_Direction: typeof Direction;\n  type searchV1Sitedocument_universal_d_SearchPaging = SearchPaging;\n  type searchV1Sitedocument_universal_d_FacetClauses = FacetClauses;\n  type searchV1Sitedocument_universal_d_FacetClause = FacetClause;\n  type searchV1Sitedocument_universal_d_FacetClauseClauseOneOf = FacetClauseClauseOneOf;\n  type searchV1Sitedocument_universal_d_Aggregation = Aggregation;\n  const searchV1Sitedocument_universal_d_Aggregation: typeof Aggregation;\n  type searchV1Sitedocument_universal_d_HierarchicalFacet = HierarchicalFacet;\n  type searchV1Sitedocument_universal_d_HierarchicalFacetClauseOneOf = HierarchicalFacetClauseOneOf;\n  type searchV1Sitedocument_universal_d_TermFacet = TermFacet;\n  type searchV1Sitedocument_universal_d_AggregationFacet = AggregationFacet;\n  type searchV1Sitedocument_universal_d_SearchProperty = SearchProperty;\n  type searchV1Sitedocument_universal_d_SearchResponse = SearchResponse;\n  type searchV1Sitedocument_universal_d_NextPageResponse = NextPageResponse;\n  type searchV1Sitedocument_universal_d_FacetsResponse = FacetsResponse;\n  type searchV1Sitedocument_universal_d_FacetsResponseResponseOneOf = FacetsResponseResponseOneOf;\n  type searchV1Sitedocument_universal_d_FacetCountResponse = FacetCountResponse;\n  type searchV1Sitedocument_universal_d_Value = Value;\n  type searchV1Sitedocument_universal_d_TermAggregationResponse = TermAggregationResponse;\n  type searchV1Sitedocument_universal_d_MinAggregationResponse = MinAggregationResponse;\n  type searchV1Sitedocument_universal_d_MaxAggregationResponse = MaxAggregationResponse;\n  type searchV1Sitedocument_universal_d_MinMaxAggregationResponse = MinMaxAggregationResponse;\n  type searchV1Sitedocument_universal_d_HierarchicalAggregationResponse = HierarchicalAggregationResponse;\n  type searchV1Sitedocument_universal_d_SumAggregationResponse = SumAggregationResponse;\n  type searchV1Sitedocument_universal_d_FederatedSearchRequest = FederatedSearchRequest;\n  type searchV1Sitedocument_universal_d_FederatedSearchResponse = FederatedSearchResponse;\n  type searchV1Sitedocument_universal_d_FederatedSearchDocuments = FederatedSearchDocuments;\n  type searchV1Sitedocument_universal_d_SuggestRequest = SuggestRequest;\n  type searchV1Sitedocument_universal_d_SuggestResponse = SuggestResponse;\n  type searchV1Sitedocument_universal_d_FederatedSuggestRequest = FederatedSuggestRequest;\n  type searchV1Sitedocument_universal_d_FederatedSuggestResponse = FederatedSuggestResponse;\n  type searchV1Sitedocument_universal_d_FederatedSuggestDocuments = FederatedSuggestDocuments;\n  type searchV1Sitedocument_universal_d_RelatedRequest = RelatedRequest;\n  type searchV1Sitedocument_universal_d_RelatedResponse = RelatedResponse;\n  type searchV1Sitedocument_universal_d_AutocompleteRequest = AutocompleteRequest;\n  type searchV1Sitedocument_universal_d_AutocompleteResponse = AutocompleteResponse;\n  type searchV1Sitedocument_universal_d_AutocompleteResponseValue = AutocompleteResponseValue;\n  type searchV1Sitedocument_universal_d_FederatedAutocompleteRequest = FederatedAutocompleteRequest;\n  type searchV1Sitedocument_universal_d_FederatedAutocompleteResponse = FederatedAutocompleteResponse;\n  type searchV1Sitedocument_universal_d_FederatedAutocompleteResults = FederatedAutocompleteResults;\n  type searchV1Sitedocument_universal_d_TrendingRequest = TrendingRequest;\n  type searchV1Sitedocument_universal_d_TrendingResponse = TrendingResponse;\n  type searchV1Sitedocument_universal_d_TrendingItems = TrendingItems;\n  const searchV1Sitedocument_universal_d_search: typeof search;\n  type searchV1Sitedocument_universal_d_SearchOptions = SearchOptions;\n  const searchV1Sitedocument_universal_d_federatedSearch: typeof federatedSearch;\n  type searchV1Sitedocument_universal_d_FederatedSearchOptions = FederatedSearchOptions;\n  const searchV1Sitedocument_universal_d_suggest: typeof suggest;\n  type searchV1Sitedocument_universal_d_SuggestOptions = SuggestOptions;\n  const searchV1Sitedocument_universal_d_federatedSuggest: typeof federatedSuggest;\n  type searchV1Sitedocument_universal_d_FederatedSuggestOptions = FederatedSuggestOptions;\n  const searchV1Sitedocument_universal_d_related: typeof related;\n  type searchV1Sitedocument_universal_d_RelatedOptions = RelatedOptions;\n  const searchV1Sitedocument_universal_d_autocomplete: typeof autocomplete;\n  type searchV1Sitedocument_universal_d_AutocompleteOptions = AutocompleteOptions;\n  const searchV1Sitedocument_universal_d_federatedAutocomplete: typeof federatedAutocomplete;\n  type searchV1Sitedocument_universal_d_FederatedAutocompleteOptions = FederatedAutocompleteOptions;\n  const searchV1Sitedocument_universal_d_trending: typeof trending;\n  type searchV1Sitedocument_universal_d_TrendingOptions = TrendingOptions;\n  namespace searchV1Sitedocument_universal_d {\n    export {\n      searchV1Sitedocument_universal_d_SiteDocument as SiteDocument,\n      searchV1Sitedocument_universal_d_UpdateInternalDocumentsEvent as UpdateInternalDocumentsEvent,\n      searchV1Sitedocument_universal_d_UpdateInternalDocumentsEventOperationOneOf as UpdateInternalDocumentsEventOperationOneOf,\n      searchV1Sitedocument_universal_d_InternalDocument as InternalDocument,\n      searchV1Sitedocument_universal_d_InternalDocumentUpdateOperation as InternalDocumentUpdateOperation,\n      searchV1Sitedocument_universal_d_DeleteByIdsOperation as DeleteByIdsOperation,\n      searchV1Sitedocument_universal_d_DeleteByFilterOperation as DeleteByFilterOperation,\n      searchV1Sitedocument_universal_d_InternalDocumentUpdateByFilterOperation as InternalDocumentUpdateByFilterOperation,\n      searchV1Sitedocument_universal_d_InternalUpdateExistingOperation as InternalUpdateExistingOperation,\n      searchV1Sitedocument_universal_d_VersionedDocumentUpdateOperation as VersionedDocumentUpdateOperation,\n      searchV1Sitedocument_universal_d_VersioningMode as VersioningMode,\n      searchV1Sitedocument_universal_d_VersionedDeleteByIdsOperation as VersionedDeleteByIdsOperation,\n      searchV1Sitedocument_universal_d_VersionedDocumentId as VersionedDocumentId,\n      searchV1Sitedocument_universal_d_UpdateDocumentsEvent as UpdateDocumentsEvent,\n      searchV1Sitedocument_universal_d_UpdateDocumentsEventOperationOneOf as UpdateDocumentsEventOperationOneOf,\n      searchV1Sitedocument_universal_d_DocumentUpdateOperation as DocumentUpdateOperation,\n      searchV1Sitedocument_universal_d_IndexDocument as IndexDocument,\n      searchV1Sitedocument_universal_d_DocumentPayload as DocumentPayload,\n      searchV1Sitedocument_universal_d_DocumentImage as DocumentImage,\n      searchV1Sitedocument_universal_d_Enum as Enum,\n      searchV1Sitedocument_universal_d_V1DeleteByIdsOperation as V1DeleteByIdsOperation,\n      searchV1Sitedocument_universal_d_V1DeleteByFilterOperation as V1DeleteByFilterOperation,\n      searchV1Sitedocument_universal_d_UpdateByFilterOperation as UpdateByFilterOperation,\n      searchV1Sitedocument_universal_d_UpdateExistingOperation as UpdateExistingOperation,\n      searchV1Sitedocument_universal_d_Empty as Empty,\n      searchV1Sitedocument_universal_d_MessageEnvelope as MessageEnvelope,\n      searchV1Sitedocument_universal_d_IdentificationData as IdentificationData,\n      searchV1Sitedocument_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      searchV1Sitedocument_universal_d_WebhookIdentityType as WebhookIdentityType,\n      searchV1Sitedocument_universal_d_SearchRequest as SearchRequest,\n      searchV1Sitedocument_universal_d_OrderingClauses as OrderingClauses,\n      searchV1Sitedocument_universal_d_OrderingClause as OrderingClause,\n      searchV1Sitedocument_universal_d_Direction as Direction,\n      searchV1Sitedocument_universal_d_SearchPaging as SearchPaging,\n      searchV1Sitedocument_universal_d_FacetClauses as FacetClauses,\n      searchV1Sitedocument_universal_d_FacetClause as FacetClause,\n      searchV1Sitedocument_universal_d_FacetClauseClauseOneOf as FacetClauseClauseOneOf,\n      searchV1Sitedocument_universal_d_Aggregation as Aggregation,\n      searchV1Sitedocument_universal_d_HierarchicalFacet as HierarchicalFacet,\n      searchV1Sitedocument_universal_d_HierarchicalFacetClauseOneOf as HierarchicalFacetClauseOneOf,\n      searchV1Sitedocument_universal_d_TermFacet as TermFacet,\n      searchV1Sitedocument_universal_d_AggregationFacet as AggregationFacet,\n      searchV1Sitedocument_universal_d_SearchProperty as SearchProperty,\n      searchV1Sitedocument_universal_d_SearchResponse as SearchResponse,\n      searchV1Sitedocument_universal_d_NextPageResponse as NextPageResponse,\n      searchV1Sitedocument_universal_d_FacetsResponse as FacetsResponse,\n      searchV1Sitedocument_universal_d_FacetsResponseResponseOneOf as FacetsResponseResponseOneOf,\n      searchV1Sitedocument_universal_d_FacetCountResponse as FacetCountResponse,\n      searchV1Sitedocument_universal_d_Value as Value,\n      searchV1Sitedocument_universal_d_TermAggregationResponse as TermAggregationResponse,\n      searchV1Sitedocument_universal_d_MinAggregationResponse as MinAggregationResponse,\n      searchV1Sitedocument_universal_d_MaxAggregationResponse as MaxAggregationResponse,\n      searchV1Sitedocument_universal_d_MinMaxAggregationResponse as MinMaxAggregationResponse,\n      searchV1Sitedocument_universal_d_HierarchicalAggregationResponse as HierarchicalAggregationResponse,\n      searchV1Sitedocument_universal_d_SumAggregationResponse as SumAggregationResponse,\n      searchV1Sitedocument_universal_d_FederatedSearchRequest as FederatedSearchRequest,\n      searchV1Sitedocument_universal_d_FederatedSearchResponse as FederatedSearchResponse,\n      searchV1Sitedocument_universal_d_FederatedSearchDocuments as FederatedSearchDocuments,\n      searchV1Sitedocument_universal_d_SuggestRequest as SuggestRequest,\n      searchV1Sitedocument_universal_d_SuggestResponse as SuggestResponse,\n      searchV1Sitedocument_universal_d_FederatedSuggestRequest as FederatedSuggestRequest,\n      searchV1Sitedocument_universal_d_FederatedSuggestResponse as FederatedSuggestResponse,\n      searchV1Sitedocument_universal_d_FederatedSuggestDocuments as FederatedSuggestDocuments,\n      searchV1Sitedocument_universal_d_RelatedRequest as RelatedRequest,\n      searchV1Sitedocument_universal_d_RelatedResponse as RelatedResponse,\n      searchV1Sitedocument_universal_d_AutocompleteRequest as AutocompleteRequest,\n      searchV1Sitedocument_universal_d_AutocompleteResponse as AutocompleteResponse,\n      searchV1Sitedocument_universal_d_AutocompleteResponseValue as AutocompleteResponseValue,\n      searchV1Sitedocument_universal_d_FederatedAutocompleteRequest as FederatedAutocompleteRequest,\n      searchV1Sitedocument_universal_d_FederatedAutocompleteResponse as FederatedAutocompleteResponse,\n      searchV1Sitedocument_universal_d_FederatedAutocompleteResults as FederatedAutocompleteResults,\n      searchV1Sitedocument_universal_d_TrendingRequest as TrendingRequest,\n      searchV1Sitedocument_universal_d_TrendingResponse as TrendingResponse,\n      searchV1Sitedocument_universal_d_TrendingItems as TrendingItems,\n      searchV1Sitedocument_universal_d_search as search,\n      searchV1Sitedocument_universal_d_SearchOptions as SearchOptions,\n      searchV1Sitedocument_universal_d_federatedSearch as federatedSearch,\n      searchV1Sitedocument_universal_d_FederatedSearchOptions as FederatedSearchOptions,\n      searchV1Sitedocument_universal_d_suggest as suggest,\n      searchV1Sitedocument_universal_d_SuggestOptions as SuggestOptions,\n      searchV1Sitedocument_universal_d_federatedSuggest as federatedSuggest,\n      searchV1Sitedocument_universal_d_FederatedSuggestOptions as FederatedSuggestOptions,\n      searchV1Sitedocument_universal_d_related as related,\n      searchV1Sitedocument_universal_d_RelatedOptions as RelatedOptions,\n      searchV1Sitedocument_universal_d_autocomplete as autocomplete,\n      searchV1Sitedocument_universal_d_AutocompleteOptions as AutocompleteOptions,\n      searchV1Sitedocument_universal_d_federatedAutocomplete as federatedAutocomplete,\n      searchV1Sitedocument_universal_d_FederatedAutocompleteOptions as FederatedAutocompleteOptions,\n      searchV1Sitedocument_universal_d_trending as trending,\n      searchV1Sitedocument_universal_d_TrendingOptions as TrendingOptions,\n    };\n  }\n  \n  export { searchV1Sitedocument_universal_d as siteSearch, searchPlatformizedV1SiteDocument_universal_d as wixSiteSearch };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-bookings.v1.d.ts",
      "content": "declare module \"wix-bookings.v1\" {\n  interface Resource {\n      /**\n       * Resource ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Resource name. */\n      name?: string | null;\n      /** Resource email address. */\n      email?: string | null;\n      /** Resource phone number. */\n      phone?: string | null;\n      /** Resource description. */\n      description?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      tag?: string | null;\n      /** Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'. */\n      tags?: string[] | null;\n      /** Resource images. */\n      images?: string[];\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      schedules?: Schedule[];\n      /**\n       * List of IDs of schedules owned by this resource.\n       * @readonly\n       */\n      scheduleIds?: string[] | null;\n      /**\n       * Resource status.\n       *\n       * One of:\n       * - `\"CREATED\"` Default status.\n       * - `\"DELETED\"` The resource was deleted.\n       * - `\"UPDATED\"` The resource was updated.\n       *\n       * @readonly\n       */\n      status?: ResourceStatus;\n      /**\n       * Wix user ID, if the resource is associated with the Wix user.\n       * A staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager.\n       * @readonly\n       */\n      wixUserId?: string | null;\n      /**\n       * The ID of the Resource Group that this resource belongs to. This is an optional field as not every resource is part of a group.\n       * @internal\n       */\n      groupId?: string | null;\n      /**\n       * This field determines how to resolve the working hours of this resource. Defaults to `true` if was not set by the client.\n       * When set to `true` then working hours (including location information) can be found in the sessions of a schedule that is connected to this resource.\n       * If `false`, then the working hours are not specified as sessions of a connected schedule. Instead this resource is then by definition full-time available (7 x 24).\n       * @internal\n       */\n      hasWorkingHoursSchedule?: boolean | null;\n      /**\n       * True if the resource is available in all locations, false if the resource is available only in a specific business location. Empty if `has_working_hours_schedule` is true.\n       * Information on the location(s) can then be found in the sessions of one of the connected schedules.\n       * @internal\n       */\n      availableInAllLocations?: boolean | null;\n      /**\n       * Information about business location connected to the resource. Should be empty if `available_in_all_locations` is true or if no business location exists in OS.\n       * @internal\n       */\n      businessLocation?: BusinessLocation;\n      /**\n       * This schedule contains the sessions in which this resource is booked.\n       * Equals to the first element of `schedules` array.\n       * @internal\n       * @readonly\n       */\n      eventsSchedule?: Schedule;\n      /**\n       * The type of of the resource. Currently this field is only filled for staff and will contain the ID as configured in the\n       * BOOKINGS_RESOURCE_TYPES component of the Bookings app.\n       * @internal\n       * @readonly\n       */\n      type?: string | null;\n  }\n  interface Schedule {\n      /** Schedule ID. */\n      _id?: string;\n      /** ID of the schedule's owner entity. This may be a resource ID or a service ID. */\n      scheduleOwnerId?: string | null;\n      /**\n       * Start time of the first session in the schedule.\n       * @internal\n       * @readonly\n       */\n      firstSessionStart?: Date;\n      /**\n       * End time of the last session in the schedule.\n       * @internal\n       * @readonly\n       */\n      lastSessionEnd?: Date;\n      /**\n       * Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\n       * Derived from the Wix Business time zone.\n       * @readonly\n       */\n      timeZone?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      intervals?: RecurringInterval[];\n      /** Default title for the schedule's sessions. Maximum length: 6000 characters. */\n      title?: string | null;\n      /**\n       * __Deprecated.__\n       * Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\n       * The Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags.\n       * @deprecated\n       */\n      tags?: string[] | null;\n      /** Default location for the schedule's sessions. */\n      location?: Location;\n      /** Maximum number of participants that can be added to the schedule's sessions. Must be at most `1` for schedule whose availability is affected by another schedule. For example, appointment schedules of the Wix Bookings app. */\n      capacity?: number | null;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      rate?: Rate;\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      availability?: Availability;\n      /**\n       * Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes.\n       * @readonly\n       */\n      totalNumberOfParticipants?: number;\n      /**\n       * *Partial list** of participants which are registered to sessions in this schedule.\n       * Participants who are registered in the schedule are automatically registered to any session that is created for the schedule.\n       * To retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings).\n       * @readonly\n       */\n      participants?: Participant[];\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      externalCalendarOverrides?: ExternalCalendarOverrides;\n      /**\n       * Schedule status.\n       *\n       * One of:\n       * - `\"CREATED\"`\n       * - `\"CANCELLED\"`\n       *\n       * Default: `\"CREATED\"`\n       * @readonly\n       */\n      status?: ScheduleStatus;\n      /**\n       * Schedule creation date.\n       * @readonly\n       */\n      created?: Date;\n      /**\n       * Schedule last update date.\n       * @readonly\n       */\n      updated?: Date;\n      /**\n       * Schedule version number, updated each time the schedule is updated.\n       * @readonly\n       */\n      version?: number;\n      /**\n       * The schedule version, updated each time the schedule or the schedule participants are updated.\n       * @internal\n       * @readonly\n       */\n      versions?: Version;\n      /**\n       * Fields which were inherited from the Business Info page under Settings in the Dashboard.\n       * @readonly\n       */\n      inheritedFields?: string[];\n      /**\n       * @internal\n       * @internal\n       * @deprecated\n       */\n      conferenceProvider?: ConferenceProvider;\n      /**\n       * A conference created for the schedule. This is used when a participant is added to a schedule.\n       * @deprecated\n       */\n      calendarConference?: CalendarConference;\n      /**\n       * The name of the schedule owner. It may be a resource name or a service name. Optional.\n       * @internal\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the schedule owner. Optional.\n       * Currently, in Bookings system, it would be present when the schedule is owned by a staff resource and the resource is connected to a user.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  interface RecurringInterval {\n      /**\n       * The recurring interval identifier.\n       * @readonly\n       */\n      _id?: string;\n      /** The start time of the recurring interval. Required. */\n      start?: Date;\n      /** The end time of the recurring interval. Optional. Empty value indicates that there is no end time. */\n      end?: Date;\n      /** The interval rules. The day, hour and minutes the interval is recurring. */\n      interval?: Interval;\n      /** The frequency of the interval. Optional. The default is frequency with the default repetition. */\n      frequency?: Frequency;\n      /** Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval. */\n      affectedSchedules?: LinkedSchedule[];\n      /** The type of recurring interval. */\n      intervalType?: RecurringIntervalType;\n  }\n  interface Interval {\n      /** The day the interval accrue. Optional. The default is the day of the recurring interval's start time. */\n      daysOfWeek?: Day;\n      /** The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23. */\n      hourOfDay?: number | null;\n      /** The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59. */\n      minuteOfHour?: number | null;\n      /** The duration of the interval in minutes. Required. Part of the session end time calculation. */\n      duration?: number;\n  }\n  enum Day {\n      /** Undefined. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface Frequency {\n      /** The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52. */\n      repetition?: number | null;\n  }\n  interface LinkedSchedule {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /**\n       * Sets this schedule's availability for the duration of the linked schedule's sessions.  Default is `\"BUSY\"`.\n       * If set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\n       * If set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n       */\n      transparency?: Transparency;\n      /**\n       * Owner ID, of the linked schedule.\n       * @readonly\n       */\n      scheduleOwnerId?: string;\n      /**\n       * The name of the linked schedule owner. It may be a resource name or a service name. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerName?: string | null;\n      /**\n       * The user id of the linked schedule owner. Optional.\n       * This field is inherited from the schedule identified by scheduleId above.\n       * NOT IMPLEMENTED. YET.\n       * @internal\n       * @readonly\n       */\n      scheduleOwnerUserId?: string | null;\n  }\n  enum Transparency {\n      UNDEFINED = \"UNDEFINED\",\n      /** The schedule can have available slots during the session. */\n      FREE = \"FREE\",\n      /** The schedule cannot have available slots during the session. Default value. */\n      BUSY = \"BUSY\"\n  }\n  enum RecurringIntervalType {\n      /** The default value. Sessions for this interval will be of type EVENT. */\n      UNDEFINED = \"UNDEFINED\",\n      /** A recurring interval of events */\n      EVENT = \"EVENT\",\n      /** Deprecated */\n      TIME_AVAILABILITY = \"TIME_AVAILABILITY\",\n      /** A recurring interval for availability */\n      AVAILABILITY = \"AVAILABILITY\"\n  }\n  interface Location {\n      /**\n       * Location type.\n       * One of:\n       * - `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"` The address as set when creating the service.\n       * - `\"CUSTOM\"` The address set for the individual session.\n       */\n      locationType?: LocationType;\n      /**\n       * Free text address used when locationType is `OWNER_CUSTOM`.\n       * @deprecated\n       */\n      address?: string | null;\n      /** Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default. */\n      customAddress?: Address;\n      /**\n       * The Wix Business location formatted address.\n       * Valid when `locationType` is `OWNER_BUSINESS`. Defaults to the business's location.\n       * To retrieve the full location data please use the [Locations API](https://dev.wix.com/api/rest/business-info/locations).\n       * @internal\n       */\n      businessLocation?: LocationsLocation;\n  }\n  enum LocationType {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface LocationsLocation {\n      /**\n       * Location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string;\n      /** Location description. */\n      description?: string | null;\n      /**\n       * Whether this is the default location. There can only be one default location per site. The default location can't be archived.\n       * @readonly\n       */\n      default?: boolean;\n      /**\n       * Location status. Defaults to `ACTIVE`.\n       * __Notes:__\n       * - [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect the location's status.\n       * - `INACTIVE` status is currently not supported.\n       */\n      status?: LocationStatus;\n      /**\n       * Location type.\n       *\n       * **Note:** Currently not supported.\n       * @deprecated\n       */\n      locationType?: LocationsLocationType;\n      /** Fax number. */\n      fax?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Address. */\n      address?: LocationsAddress;\n      /**\n       * Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /**\n       * Revision number, which increments by 1 each time the location is updated.\n       * To prevent conflicting changes, the existing revision must be used when updating a location.\n       */\n      revision?: string | null;\n      /**\n       * Whether the location is archived. Archived locations can't be updated.\n       * __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\n       * doesn't affect its `status`.\n       * @readonly\n       */\n      archived?: boolean;\n      /** Location types. */\n      locationTypes?: LocationsLocationType[];\n  }\n  /** For future use */\n  enum LocationStatus {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  /** For future use */\n  enum LocationsLocationType {\n      UNKNOWN = \"UNKNOWN\",\n      BRANCH = \"BRANCH\",\n      OFFICES = \"OFFICES\",\n      RECEPTION = \"RECEPTION\",\n      HEADQUARTERS = \"HEADQUARTERS\",\n      INVENTORY = \"INVENTORY\"\n  }\n  interface LocationsAddress {\n      /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. Includes street name, number, and apartment number in separate fields. */\n      streetAddress?: LocationsStreetAddress;\n      /** Full address of the location. */\n      formatted?: string | null;\n      /** Geographic coordinates of location. */\n      location?: LocationsAddressLocation;\n  }\n  /** Street address. Includes street name, number, and apartment number in separate fields. */\n  interface LocationsStreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  /** Address Geolocation */\n  interface LocationsAddressLocation {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number | null;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number | null;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Rate {\n      /**\n       * Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      labeledPriceOptions?: Record<string, Price>;\n      /**\n       * Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\n       * When present in an update request, the `default_varied_price` is ignored to support backward compatibility.\n       */\n      priceText?: string | null;\n      /**\n       * Default service price. Always vailable when a service has\n       * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n       * Sometimes also available for services without variants.\n       * Ignored in [updates to a service](https://dev.wix.com/api/rest/wix-bookings/services/service/update-service),\n       * when either `labeled_price_options` or `price_text` is also specified.\n       * @internal\n       */\n      defaultVariedPrice?: Price;\n  }\n  interface Price {\n      /** Required payment amount. */\n      amount?: string;\n      /** Currency in which the amount is quoted. */\n      currency?: string;\n      /** Amount of a down payment or deposit as part of the transaction. */\n      downPayAmount?: string;\n  }\n  /**\n   * <!-- Needs updating when recurrence has been tested\n   * Schedule's availability calculation is executed by the schedule's available intervals and this additional information.\n   * Schedule's available intervals are recurring intervals (defined in the schedule) minus sessions that has no more spots for bookings (including time between_slots), or schedule's sessions with open spots for bookings.-->\n   */\n  interface Availability {\n      /** Date and time the schedule starts to be available for booking. */\n      start?: Date;\n      /** Date and time the schedule stops being available for booking. No value indicates no end time. */\n      end?: Date;\n      /** Other schedules that impact the availability calculation. Relevant only when there are availability constraints. */\n      linkedSchedules?: LinkedSchedule[];\n      /** Constraints for calculating the schedule's availability. */\n      constraints?: AvailabilityConstraints;\n      /**\n       * Not supported yet.\n       * A list of possible locations for the session when `use_default_location` is set to `false`. Slots are generated for each location. Only one of the possible locations can be chosen by the customer.\n       *\n       * **NOTE**: When using the `locations` parameter, the default location is not automatically included in the list.\n       * @internal\n       */\n      locations?: Location[];\n      /**\n       * Not supported yet.\n       * Whether the schedule's slots are only available at the schedule's default location, as set in `schedule.location`. If set to `false`, the `locations` array is used to set the possible locations of the schedule's sessions.\n       * Default is `true`.\n       * @internal\n       */\n      useDefaultLocation?: boolean | null;\n  }\n  /** Describes how to calculate the specific slots that are available for booking. */\n  interface AvailabilityConstraints {\n      /**\n       * A list of duration options for slots, in minutes. Minimum value for a duration is 1.\n       * The availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints.\n       */\n      slotDurations?: number[];\n      /**\n       * The number of minutes between the `end` of one slot, and the `start` of the next.\n       * Minimum value is 0, maximum value is 120.\n       */\n      timeBetweenSlots?: number;\n      /**\n       * Specify how to split the slots in intervals of minutes.\n       * This value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\n       * Optional. The default is the first duration in slot_durations field.\n       * Deprecated. Use the `split_slots_interval.value_in_minutes`.\n       * @deprecated\n       */\n      splitInterval?: number | null;\n      /**\n       * An object defining the time between available slots' start times.  For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration.\n       * @readonly\n       */\n      slotsSplitInterval?: SplitInterval;\n  }\n  /** The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc. */\n  interface SplitInterval {\n      /**\n       * Whether the slot duration is used as the split interval value.\n       * If `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n       * `schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field.\n       */\n      sameAsDuration?: boolean | null;\n      /** Number of minutes between available slots' start times when `same_as_duration` is `false`. */\n      valueInMinutes?: number | null;\n  }\n  interface Participant {\n      /** Participant ID. Currently represents the booking.id. */\n      _id?: string;\n      /** Contact ID. */\n      contactId?: string | null;\n      /** Participant's name. */\n      name?: string | null;\n      /** Participant's phone number. */\n      phone?: string | null;\n      /** Participant's email address. */\n      email?: string | null;\n      /** Group or party size. The number of people attending. Defaults to 0. Maximum is 250. */\n      partySize?: number;\n      /**\n       * Approval status for the participant.\n       * <!-- Commented out untill updateParticipant is exposed Generally the same status as the booking, unless updated using the `updateParticipant()` API. Defaults to `\"UNDEFINED\"`.-->\n       */\n      approvalStatus?: ApprovalStatus;\n      /**\n       * Whether the participant was inherited from the schedule, as opposed to being booked directly to the session.\n       * @readonly\n       */\n      inherited?: boolean;\n  }\n  enum ApprovalStatus {\n      /** Default. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Pending business approval. */\n      PENDING = \"PENDING\",\n      /** Approved by the business. */\n      APPROVED = \"APPROVED\",\n      /** Declined by the business. */\n      DECLINED = \"DECLINED\"\n  }\n  interface ExternalCalendarOverrides {\n      /** Synced title of the external calendar event. */\n      title?: string | null;\n      /** Synced description of the external calendar event. */\n      description?: string | null;\n  }\n  enum ScheduleStatus {\n      UNDEFINED = \"UNDEFINED\",\n      /** The default value when the schedule is created. */\n      CREATED = \"CREATED\",\n      /** The schedule has been canceled. */\n      CANCELLED = \"CANCELLED\"\n  }\n  interface Version {\n      /** Schedule version number, updated each time the schedule is updated. */\n      scheduleVersion?: number | null;\n      /** Participants version number, updated each time the schedule participants are updated. */\n      participantsVersion?: number | null;\n  }\n  interface ConferenceProvider {\n      /** Conferencing provider ID */\n      providerId?: string;\n  }\n  interface CalendarConference {\n      /**\n       * @internal\n       * @internal */\n      _id?: string;\n      /**\n       * @internal\n       * @internal */\n      externalId?: string;\n      /**\n       * A generated id for the conference entity - Base62($providerId$accountOwnerId$conferenceId)\n       * @internal\n       */\n      conferenceId?: string | null;\n      /**\n       * @internal\n       * @internal */\n      providerId?: string;\n      /** URL used by the host to start the conference. */\n      hostUrl?: string;\n      /** URL used by a guest to join the conference. */\n      guestUrl?: string;\n      /**\n       * @internal\n       * @internal */\n      password?: string | null;\n      /**\n       * @internal\n       * @internal */\n      description?: string | null;\n      /**\n       * @internal\n       * @internal */\n      conferenceType?: ConferenceType;\n      /**\n       * @internal\n       * @internal */\n      accountOwnerId?: string | null;\n  }\n  enum ConferenceType {\n      UNDEFINED = \"UNDEFINED\",\n      /** API-generated online meeting. */\n      ONLINE_MEETING_PROVIDER = \"ONLINE_MEETING_PROVIDER\",\n      /** User-defined meeting. */\n      CUSTOM = \"CUSTOM\"\n  }\n  enum ResourceStatus {\n      UNDEFINED = \"UNDEFINED\",\n      /** Default status. */\n      CREATED = \"CREATED\",\n      /** The resource was deleted. */\n      DELETED = \"DELETED\",\n      /** The resource was updated. */\n      UPDATED = \"UPDATED\"\n  }\n  interface BusinessLocation {\n      /** The ID of the business location. Has to be non-empty */\n      locationId?: string;\n  }\n  interface ListResourcesRequest {\n      query?: Query;\n  }\n  interface Query {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: any;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListResourcesResponse {\n      /** List of resources matching the query object. */\n      resources?: Resource[];\n      /** @deprecated */\n      metadata?: QueryMetaData;\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface QueryMetaData {\n      items?: number;\n      offset?: number;\n      totalCount?: number;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryResourcesRequest {\n      query?: QueryV2;\n      /**\n       * Whether to include resources with non-empty group in response. False by default.\n       * @internal\n       */\n      includeResourcesWithGroups?: boolean;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryResourcesResponse {\n      /** List of resources matching the query object. */\n      resources?: Resource[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface GetBusinessResourceRequest {\n  }\n  interface GetBusinessResourceResponse {\n      /** The business resource. */\n      resource?: Resource;\n  }\n  interface CreateResourceRequest {\n      /** Resource to create. */\n      resource: Resource;\n      /**\n       * List of schedules to be assigned for the created resource. Currently only a single schedule is allowed.\n       * If provided, any schedules in the resource entity will be ignored.\n       */\n      schedules?: Schedule[];\n  }\n  interface CreateResourceResponse {\n      /** Created resource. */\n      resource?: Resource;\n  }\n  interface ResourceNotification {\n      /**\n       * Updated resource entity.\n       * 'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead.\n       */\n      resource?: Resource;\n      /** Event type. */\n      event?: Event$1;\n  }\n  enum Event$1 {\n      UNDEFINED = \"UNDEFINED\",\n      Updated = \"Updated\",\n      Deleted = \"Deleted\",\n      Created = \"Created\",\n      Schedule_Updated = \"Schedule_Updated\"\n  }\n  interface BatchCreateResourceRequest {\n      /** List of resource entities to create. */\n      resources?: Resource[];\n      /** Optional. If provided, the resources field is ignored. */\n      batchedResources?: CreateResourceRequest[];\n  }\n  interface BatchCreateResourceResponse {\n      /** List of the created resources. */\n      resources?: Resource[];\n  }\n  interface UpdateResourceRequest {\n      /** Resource to update. */\n      resource?: Resource;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Actions to perform on the resources schedules. Can contain schedules to create, update, and cancel.\n       * Either the 'schedules' or 'schedule_actions' should be specified but not both. If both are provided, the schedules in the resource entity is ignored.\n       * @internal\n       */\n      scheduleActions?: BatchRequest;\n  }\n  interface BatchRequest {\n      /** Create multiple schedules. */\n      createRequests?: CreateScheduleRequest[];\n      /** Update multiple schedules. Not Supported yet. */\n      updateRequests?: UpdateScheduleRequest[];\n      /**\n       * Cancel multiple schedules.\n       * The given schedules move to a CANCELLED status which means that all sessions up until\n       * the cancellation point in time are kept, while removing all following sessions.\n       */\n      cancelRequests?: CancelScheduleRequest[];\n  }\n  /** schedule */\n  interface CreateScheduleRequest {\n      /** Schedule. */\n      schedule?: Schedule;\n      /**\n       * Optional. Idempotency key.\n       * @internal\n       */\n      idempotencyKey?: string | null;\n  }\n  interface UpdateScheduleRequest {\n      /** Schedule. */\n      schedule?: Schedule;\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Optional. Defaults to false. In case of updated intervals' start time, this field indicates whether to align those interval's time exceptions. */\n      alignTimeExceptions?: boolean;\n      /**\n       * Deprecated, use participant_notification.\n       * @deprecated\n       */\n      notifyParticipants?: boolean;\n      /** Whether to notify participants about the change, and an optional custom message. */\n      participantNotification?: ParticipantNotification;\n  }\n  interface ParticipantNotification {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n  }\n  interface CancelScheduleRequest {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /** Time to cancel the sessions from. Optional. If this field is empty, all of this schedule's sessions will be canceled. */\n      from?: Date;\n      /** Whether to preserve future sessions with reservations. Defaults to false. */\n      preserveFutureSessionsWithParticipants?: boolean;\n      /**\n       * Deprecated, use participant_notification\n       * @deprecated\n       */\n      notifyParticipants?: boolean;\n      /** Whether to notify participants about the change, and an optional custom message. */\n      participantNotification?: ParticipantNotification;\n  }\n  interface UpdateResourceResponse {\n      /** Updated resource. */\n      resource?: Resource;\n      /** Updated schedules. */\n      schedules?: BatchResponse;\n  }\n  interface BatchResponse {\n      /** Created schedules. */\n      created?: Schedule[];\n      /** Updated schedules. */\n      updated?: Schedule[];\n      /** Cancelled schedules. */\n      cancelled?: Schedule[];\n  }\n  interface ResourceUpdateScheduleRequest {\n      /** Resource ID to update. */\n      resourceId: string | null;\n      /**\n       * Fieldmask for schedule\n       * @internal\n       */\n      fieldmask?: string[];\n      /** Schedule to update. */\n      schedule?: Schedule;\n  }\n  interface UpdateScheduleResponse {\n      /** Updated schedule. */\n      schedule?: Schedule;\n  }\n  interface DeleteResourceRequest {\n      /** ID of the resource to delete. */\n      _id: string;\n  }\n  interface DeleteResourceResponse {\n      /** Deleted resource ID. */\n      _id?: string;\n  }\n  interface BatchDeleteResourceRequest {\n      /** List of resource IDs to delete. */\n      ids: string[];\n  }\n  interface BatchDeleteResourceResponse {\n  }\n  interface LinkResourceToUserRequest {\n      /** The id of the resource to link. */\n      resourceId: string | null;\n      /** The id of Wix user to link. */\n      userId: string | null;\n      /**\n       * The email address of the Wix user to link. This field is only intended for internal as it is needed to proxy the request to StaffMembersService.\n       * @internal\n       */\n      userEmail?: string | null;\n  }\n  interface LinkResourceToUserResponse {\n      /** The updated resource. */\n      resource?: Resource;\n  }\n  interface UnLinkResourceFromOwnerRequest {\n      /** The id of the resource to unlink. */\n      resourceId: string | null;\n  }\n  interface UnLinkResourceFromOwnerResponse {\n      /** The updated resource. */\n      resource?: Resource;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * @internal\n   * @internal\n   * @permissionId BOOKINGS.RESOURCES_READ\n   * @deprecated\n   */\n  function list(options?: ListOptions): Promise<ListResourcesResponse>;\n  interface ListOptions {\n      query?: Query;\n  }\n  /**\n   * Creates a query to retrieve extended resource information.\n   *\n   * The `queryResources()` function builds a query to retrieve a catalog of resources, including resources' related  schedules and slugs, and returns a [`ResourceQueryBuilder`](#) object. The returned object contains the query definition, which is typically used to run the query using the [`find()`](#) function.\n   *\n   * The `ResourceQueryBuilder` functions enable you to run, filter, and control which results a query returns.\n   *\n   * Typically, you build a query using the `queryResources()` function, refine the query by chaining `ResourceQueryBuilder` functions, and then execute the query by chaining the `find()` function.\n   *\n   * The query runs with the following defaults that you can override:\n   * - [`skip`](#): `0`\n   * - [`limit`](#): `50`\n   *\n   * The following query builder functions are supported for `queryResources()`. For a full description of the `Resources` object, see the object returned for the [`items`](#) array in [`ResourceQueryResult`](#).\n   * @internal\n   * @permissionId BOOKINGS.RESOURCES_READ\n   */\n  function queryResources(options?: QueryResourcesOptions): Promise<QueryResourcesResponse>;\n  interface QueryResourcesOptions {\n      query?: QueryV2;\n      /**\n       * Whether to include resources with non-empty group in response. False by default.\n       * @internal\n       */\n      includeResourcesWithGroups?: boolean;\n  }\n  /**\n   * Returns the Business Resource.\n   *\n   * This endpoint is only implemented in the Resources V2 proxy.\n   * When called for a site that is not rolled out to V2 an error is returned.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.RESOURCES_READ\n   */\n  function getBusinessResource(): Promise<GetBusinessResourceResponse>;\n  /**\n   * Creates a resource.\n   *\n   *\n   * The `createResource()` function returns a Promise that resolves to the created resource.\n   * Bookings resources are created with a schedule. The schedule determines the resource's availability by the business's default working hours.\n   *\n   * When creating a resource using `createResource()`, get the business resource's schedule ID and include it in the `schedules` object. The default hours can bee found in the Dashboard under **Settings** in the **Bookings** section, on the **Appointment hours** page.\n   *\n   *\n   * > **Notes:**\n   * >- The Wix Bookings app shows default business hours on the **Staff** page in the dashboard.\n   * >- A resource can have one schedule only.\n   * >- You can have up to 135 active resources and an additional 135 deleted resources.\n   * @param resource - Resource to create.\n   * @public\n   * @requiredField options.schedules.availability.start\n   * @requiredField options.schedules.intervals.start\n   * @requiredField resource\n   * @requiredField resource.name\n   * @param options - Options for assigning a schedule to a resource.\n   * @permissionId BOOKINGS.MANAGE_RESOURCES\n   * @adminMethod\n   * @returns Created resource.\n   */\n  function createResource(resource: Resource, options?: CreateResourceOptions): Promise<Resource>;\n  interface CreateResourceOptions {\n      /**\n       * List of schedules to be assigned for the created resource. Currently only a single schedule is allowed.\n       * If provided, any schedules in the resource entity will be ignored.\n       */\n      schedules?: Schedule[];\n  }\n  /**\n   * Creates multiple resources with corresponding schedules.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.MANAGE_RESOURCES\n   * @adminMethod\n   */\n  function batchCreate$1(options?: BatchCreateOptions$1): Promise<BatchCreateResourceResponse>;\n  interface BatchCreateOptions$1 {\n      /** List of resource entities to create. */\n      resources?: Resource[];\n      /** Optional. If provided, the resources field is ignored. */\n      batchedResources?: CreateResourceRequest[];\n  }\n  /**\n   * Updates a resource.\n   *\n   *\n   * The `updateResource()` function returns a Promise that resolves when a resource is updated. Use this function to update all bookings resource information except for the resource's schedule. To update a resource's schedule use [`updateSchedule()`](#updateschedule).\n   *\n   *\n   * >**Note:**\n   * > When updating a resource you cannot change the system tags used by the Wix Bookings app. Tags used by the app have the values `\"business\"` and `\"staff\"`.\n   * @param _id - Resource ID.\n   * @public\n   * @requiredField _id\n   * @requiredField resource\n   * @param resource - Resource to update.\n   * @permissionId BOOKINGS.MANAGE_RESOURCES\n   * @adminMethod\n   * @returns Updated resource.\n   */\n  function updateResource(_id: string | null, resource: UpdateResource, options?: UpdateResourceOptions): Promise<Resource>;\n  interface UpdateResource {\n      /**\n       * Resource ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Resource name. */\n      name?: string | null;\n      /** Resource email address. */\n      email?: string | null;\n      /** Resource phone number. */\n      phone?: string | null;\n      /** Resource description. */\n      description?: string | null;\n      /**\n       * @internal\n       * @deprecated\n       */\n      tag?: string | null;\n      /** Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'. */\n      tags?: string[] | null;\n      /** Resource images. */\n      images?: string[];\n      /**\n       * @internal\n       * @deprecated\n       */\n      schedules?: Schedule[];\n      /**\n       * List of IDs of schedules owned by this resource.\n       * @readonly\n       */\n      scheduleIds?: string[] | null;\n      /**\n       * Resource status.\n       *\n       * One of:\n       * - `\"CREATED\"` Default status.\n       * - `\"DELETED\"` The resource was deleted.\n       * - `\"UPDATED\"` The resource was updated.\n       *\n       * @readonly\n       */\n      status?: ResourceStatus;\n      /**\n       * Wix user ID, if the resource is associated with the Wix user.\n       * A staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager.\n       * @readonly\n       */\n      wixUserId?: string | null;\n      /**\n       * The ID of the Resource Group that this resource belongs to. This is an optional field as not every resource is part of a group.\n       * @internal\n       */\n      groupId?: string | null;\n      /**\n       * This field determines how to resolve the working hours of this resource. Defaults to `true` if was not set by the client.\n       * When set to `true` then working hours (including location information) can be found in the sessions of a schedule that is connected to this resource.\n       * If `false`, then the working hours are not specified as sessions of a connected schedule. Instead this resource is then by definition full-time available (7 x 24).\n       * @internal\n       */\n      hasWorkingHoursSchedule?: boolean | null;\n      /**\n       * True if the resource is available in all locations, false if the resource is available only in a specific business location. Empty if `has_working_hours_schedule` is true.\n       * Information on the location(s) can then be found in the sessions of one of the connected schedules.\n       * @internal\n       */\n      availableInAllLocations?: boolean | null;\n      /**\n       * Information about business location connected to the resource. Should be empty if `available_in_all_locations` is true or if no business location exists in OS.\n       * @internal\n       */\n      businessLocation?: BusinessLocation;\n      /**\n       * This schedule contains the sessions in which this resource is booked.\n       * Equals to the first element of `schedules` array.\n       * @internal\n       * @readonly\n       */\n      eventsSchedule?: Schedule;\n      /**\n       * The type of of the resource. Currently this field is only filled for staff and will contain the ID as configured in the\n       * BOOKINGS_RESOURCE_TYPES component of the Bookings app.\n       * @internal\n       * @readonly\n       */\n      type?: string | null;\n  }\n  interface UpdateResourceOptions {\n      /**\n       * @internal\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Actions to perform on the resources schedules. Can contain schedules to create, update, and cancel.\n       * Either the 'schedules' or 'schedule_actions' should be specified but not both. If both are provided, the schedules in the resource entity is ignored.\n       * @internal\n       */\n      scheduleActions?: BatchRequest;\n  }\n  /**\n   * Updates a resource's schedule.\n   *\n   *\n   * The `updateSchedule()` function returns a Promise that resolves when a resource's schedule has been updated. Use this function to update the bookings resource's schedule. To update other resource details use [`updateResource()`](#updateresource).\n   *\n   * > **Notes:**\n   * >- A resource can have one schedule only.\n   * >- When updating a resource's schedule you cannot change the system tags used by the Wix Bookings app. Tags used by the app have the values `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`.\n   * @param resourceId - Resource ID to update.\n   * @param schedule - Schedule to update.\n   * @public\n   * @requiredField resourceId\n   * @requiredField schedule\n   * @requiredField schedule._id\n   * @permissionId BOOKINGS.MANAGE_RESOURCES\n   * @adminMethod\n   */\n  function updateSchedule(resourceId: string | null, schedule: Schedule, options?: UpdateScheduleOptions): Promise<UpdateScheduleResponse>;\n  interface UpdateScheduleOptions {\n      /**\n       * @internal\n       * @internal\n       */\n      fieldmask?: string[];\n  }\n  /**\n   * Deletes a resource.\n   *\n   * The `deleteResource()` function returns a Promise that is resolved when a resource is deleted.\n   *\n   *\n   * Deleting a resource updates its status to `DELETED`.\n   *\n   * You cannot delete a resource if it has booked sessions.\n   *\n   *\n   * >**Notes:**\n   * >- The Bookings app automatically creates a resource with a name and tag of value `\"business\"`. This resource is used for the business's schedule and working hours and cannot be deleted.\n   * >- You can have up to 135 active resources and an additional 135 deleted resources.\n   * @param _id - ID of the resource to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId BOOKINGS.MANAGE_RESOURCES\n   * @adminMethod\n   */\n  function deleteResource(_id: string): Promise<DeleteResourceResponse>;\n  /** @param ids - List of resource IDs to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId BOOKINGS.MANAGE_RESOURCES\n   * @adminMethod\n   */\n  function batchDelete(ids: string[]): Promise<void>;\n  /**\n   * Links a resource to a Wix user.\n   * The user will be assigned with the `Bookings Staff Member` role, via the `SitePoliciesManagement.AssignPolicies` API.\n   *\n   * Preconditions:\n   * - The resource must not be linked to a user, or an active invite.\n   * - The user must be a site contributor\n   * - The user must not be linked to another resource.\n   *\n   * Note:\n   * The site owner may be linked to a resource, but will not be assigned with the 'Bookings Staff Member' role.\n   * @param resourceId - The id of the resource to link.\n   * @param userId - The id of Wix user to link.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField resourceId\n   * @requiredField userId\n   * @permissionId BOOKINGS.MANAGE_RESOURCES\n   * @adminMethod\n   */\n  function linkResourceToUser(resourceId: string | null, userId: string | null, options?: LinkResourceToUserOptions): Promise<LinkResourceToUserResponse>;\n  interface LinkResourceToUserOptions {\n      /**\n       * The email address of the Wix user to link. This field is only intended for internal as it is needed to proxy the request to StaffMembersService.\n       * @internal\n       */\n      userEmail?: string | null;\n  }\n  /**\n   * Unlink a resource from the site owner.\n   * @param resourceId - The id of the resource to unlink.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField resourceId\n   * @permissionId BOOKINGS.MANAGE_RESOURCES\n   * @adminMethod\n   */\n  function unLinkResourceFromOwner(resourceId: string | null): Promise<UnLinkResourceFromOwnerResponse>;\n  \n  type bookingsCatalogV1Resource_universal_d_Resource = Resource;\n  type bookingsCatalogV1Resource_universal_d_Schedule = Schedule;\n  type bookingsCatalogV1Resource_universal_d_RecurringInterval = RecurringInterval;\n  type bookingsCatalogV1Resource_universal_d_Interval = Interval;\n  type bookingsCatalogV1Resource_universal_d_Day = Day;\n  const bookingsCatalogV1Resource_universal_d_Day: typeof Day;\n  type bookingsCatalogV1Resource_universal_d_Frequency = Frequency;\n  type bookingsCatalogV1Resource_universal_d_LinkedSchedule = LinkedSchedule;\n  type bookingsCatalogV1Resource_universal_d_Transparency = Transparency;\n  const bookingsCatalogV1Resource_universal_d_Transparency: typeof Transparency;\n  type bookingsCatalogV1Resource_universal_d_RecurringIntervalType = RecurringIntervalType;\n  const bookingsCatalogV1Resource_universal_d_RecurringIntervalType: typeof RecurringIntervalType;\n  type bookingsCatalogV1Resource_universal_d_Location = Location;\n  type bookingsCatalogV1Resource_universal_d_LocationType = LocationType;\n  const bookingsCatalogV1Resource_universal_d_LocationType: typeof LocationType;\n  type bookingsCatalogV1Resource_universal_d_Address = Address;\n  type bookingsCatalogV1Resource_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type bookingsCatalogV1Resource_universal_d_StreetAddress = StreetAddress;\n  type bookingsCatalogV1Resource_universal_d_AddressLocation = AddressLocation;\n  type bookingsCatalogV1Resource_universal_d_Subdivision = Subdivision;\n  type bookingsCatalogV1Resource_universal_d_LocationsLocation = LocationsLocation;\n  type bookingsCatalogV1Resource_universal_d_LocationStatus = LocationStatus;\n  const bookingsCatalogV1Resource_universal_d_LocationStatus: typeof LocationStatus;\n  type bookingsCatalogV1Resource_universal_d_LocationsLocationType = LocationsLocationType;\n  const bookingsCatalogV1Resource_universal_d_LocationsLocationType: typeof LocationsLocationType;\n  type bookingsCatalogV1Resource_universal_d_LocationsAddress = LocationsAddress;\n  type bookingsCatalogV1Resource_universal_d_LocationsStreetAddress = LocationsStreetAddress;\n  type bookingsCatalogV1Resource_universal_d_LocationsAddressLocation = LocationsAddressLocation;\n  type bookingsCatalogV1Resource_universal_d_BusinessSchedule = BusinessSchedule;\n  type bookingsCatalogV1Resource_universal_d_TimePeriod = TimePeriod;\n  type bookingsCatalogV1Resource_universal_d_DayOfWeek = DayOfWeek;\n  const bookingsCatalogV1Resource_universal_d_DayOfWeek: typeof DayOfWeek;\n  type bookingsCatalogV1Resource_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type bookingsCatalogV1Resource_universal_d_Rate = Rate;\n  type bookingsCatalogV1Resource_universal_d_Price = Price;\n  type bookingsCatalogV1Resource_universal_d_Availability = Availability;\n  type bookingsCatalogV1Resource_universal_d_AvailabilityConstraints = AvailabilityConstraints;\n  type bookingsCatalogV1Resource_universal_d_SplitInterval = SplitInterval;\n  type bookingsCatalogV1Resource_universal_d_Participant = Participant;\n  type bookingsCatalogV1Resource_universal_d_ApprovalStatus = ApprovalStatus;\n  const bookingsCatalogV1Resource_universal_d_ApprovalStatus: typeof ApprovalStatus;\n  type bookingsCatalogV1Resource_universal_d_ExternalCalendarOverrides = ExternalCalendarOverrides;\n  type bookingsCatalogV1Resource_universal_d_ScheduleStatus = ScheduleStatus;\n  const bookingsCatalogV1Resource_universal_d_ScheduleStatus: typeof ScheduleStatus;\n  type bookingsCatalogV1Resource_universal_d_Version = Version;\n  type bookingsCatalogV1Resource_universal_d_ConferenceProvider = ConferenceProvider;\n  type bookingsCatalogV1Resource_universal_d_CalendarConference = CalendarConference;\n  type bookingsCatalogV1Resource_universal_d_ConferenceType = ConferenceType;\n  const bookingsCatalogV1Resource_universal_d_ConferenceType: typeof ConferenceType;\n  type bookingsCatalogV1Resource_universal_d_ResourceStatus = ResourceStatus;\n  const bookingsCatalogV1Resource_universal_d_ResourceStatus: typeof ResourceStatus;\n  type bookingsCatalogV1Resource_universal_d_BusinessLocation = BusinessLocation;\n  type bookingsCatalogV1Resource_universal_d_ListResourcesRequest = ListResourcesRequest;\n  type bookingsCatalogV1Resource_universal_d_Query = Query;\n  type bookingsCatalogV1Resource_universal_d_Sorting = Sorting;\n  type bookingsCatalogV1Resource_universal_d_SortOrder = SortOrder;\n  const bookingsCatalogV1Resource_universal_d_SortOrder: typeof SortOrder;\n  type bookingsCatalogV1Resource_universal_d_Paging = Paging;\n  type bookingsCatalogV1Resource_universal_d_ListResourcesResponse = ListResourcesResponse;\n  type bookingsCatalogV1Resource_universal_d_QueryMetaData = QueryMetaData;\n  type bookingsCatalogV1Resource_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type bookingsCatalogV1Resource_universal_d_Cursors = Cursors;\n  type bookingsCatalogV1Resource_universal_d_QueryResourcesRequest = QueryResourcesRequest;\n  type bookingsCatalogV1Resource_universal_d_QueryV2 = QueryV2;\n  type bookingsCatalogV1Resource_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type bookingsCatalogV1Resource_universal_d_CursorPaging = CursorPaging;\n  type bookingsCatalogV1Resource_universal_d_QueryResourcesResponse = QueryResourcesResponse;\n  type bookingsCatalogV1Resource_universal_d_GetBusinessResourceRequest = GetBusinessResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_GetBusinessResourceResponse = GetBusinessResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_CreateResourceRequest = CreateResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_CreateResourceResponse = CreateResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_ResourceNotification = ResourceNotification;\n  type bookingsCatalogV1Resource_universal_d_BatchCreateResourceRequest = BatchCreateResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_BatchCreateResourceResponse = BatchCreateResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_UpdateResourceRequest = UpdateResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_BatchRequest = BatchRequest;\n  type bookingsCatalogV1Resource_universal_d_CreateScheduleRequest = CreateScheduleRequest;\n  type bookingsCatalogV1Resource_universal_d_UpdateScheduleRequest = UpdateScheduleRequest;\n  type bookingsCatalogV1Resource_universal_d_ParticipantNotification = ParticipantNotification;\n  type bookingsCatalogV1Resource_universal_d_CancelScheduleRequest = CancelScheduleRequest;\n  type bookingsCatalogV1Resource_universal_d_UpdateResourceResponse = UpdateResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_BatchResponse = BatchResponse;\n  type bookingsCatalogV1Resource_universal_d_ResourceUpdateScheduleRequest = ResourceUpdateScheduleRequest;\n  type bookingsCatalogV1Resource_universal_d_UpdateScheduleResponse = UpdateScheduleResponse;\n  type bookingsCatalogV1Resource_universal_d_DeleteResourceRequest = DeleteResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_DeleteResourceResponse = DeleteResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_BatchDeleteResourceRequest = BatchDeleteResourceRequest;\n  type bookingsCatalogV1Resource_universal_d_BatchDeleteResourceResponse = BatchDeleteResourceResponse;\n  type bookingsCatalogV1Resource_universal_d_LinkResourceToUserRequest = LinkResourceToUserRequest;\n  type bookingsCatalogV1Resource_universal_d_LinkResourceToUserResponse = LinkResourceToUserResponse;\n  type bookingsCatalogV1Resource_universal_d_UnLinkResourceFromOwnerRequest = UnLinkResourceFromOwnerRequest;\n  type bookingsCatalogV1Resource_universal_d_UnLinkResourceFromOwnerResponse = UnLinkResourceFromOwnerResponse;\n  const bookingsCatalogV1Resource_universal_d_list: typeof list;\n  type bookingsCatalogV1Resource_universal_d_ListOptions = ListOptions;\n  const bookingsCatalogV1Resource_universal_d_queryResources: typeof queryResources;\n  type bookingsCatalogV1Resource_universal_d_QueryResourcesOptions = QueryResourcesOptions;\n  const bookingsCatalogV1Resource_universal_d_getBusinessResource: typeof getBusinessResource;\n  const bookingsCatalogV1Resource_universal_d_createResource: typeof createResource;\n  type bookingsCatalogV1Resource_universal_d_CreateResourceOptions = CreateResourceOptions;\n  const bookingsCatalogV1Resource_universal_d_updateResource: typeof updateResource;\n  type bookingsCatalogV1Resource_universal_d_UpdateResource = UpdateResource;\n  type bookingsCatalogV1Resource_universal_d_UpdateResourceOptions = UpdateResourceOptions;\n  const bookingsCatalogV1Resource_universal_d_updateSchedule: typeof updateSchedule;\n  type bookingsCatalogV1Resource_universal_d_UpdateScheduleOptions = UpdateScheduleOptions;\n  const bookingsCatalogV1Resource_universal_d_deleteResource: typeof deleteResource;\n  const bookingsCatalogV1Resource_universal_d_batchDelete: typeof batchDelete;\n  const bookingsCatalogV1Resource_universal_d_linkResourceToUser: typeof linkResourceToUser;\n  type bookingsCatalogV1Resource_universal_d_LinkResourceToUserOptions = LinkResourceToUserOptions;\n  const bookingsCatalogV1Resource_universal_d_unLinkResourceFromOwner: typeof unLinkResourceFromOwner;\n  namespace bookingsCatalogV1Resource_universal_d {\n    export {\n      bookingsCatalogV1Resource_universal_d_Resource as Resource,\n      bookingsCatalogV1Resource_universal_d_Schedule as Schedule,\n      bookingsCatalogV1Resource_universal_d_RecurringInterval as RecurringInterval,\n      bookingsCatalogV1Resource_universal_d_Interval as Interval,\n      bookingsCatalogV1Resource_universal_d_Day as Day,\n      bookingsCatalogV1Resource_universal_d_Frequency as Frequency,\n      bookingsCatalogV1Resource_universal_d_LinkedSchedule as LinkedSchedule,\n      bookingsCatalogV1Resource_universal_d_Transparency as Transparency,\n      bookingsCatalogV1Resource_universal_d_RecurringIntervalType as RecurringIntervalType,\n      bookingsCatalogV1Resource_universal_d_Location as Location,\n      bookingsCatalogV1Resource_universal_d_LocationType as LocationType,\n      bookingsCatalogV1Resource_universal_d_Address as Address,\n      bookingsCatalogV1Resource_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      bookingsCatalogV1Resource_universal_d_StreetAddress as StreetAddress,\n      bookingsCatalogV1Resource_universal_d_AddressLocation as AddressLocation,\n      bookingsCatalogV1Resource_universal_d_Subdivision as Subdivision,\n      bookingsCatalogV1Resource_universal_d_LocationsLocation as LocationsLocation,\n      bookingsCatalogV1Resource_universal_d_LocationStatus as LocationStatus,\n      bookingsCatalogV1Resource_universal_d_LocationsLocationType as LocationsLocationType,\n      bookingsCatalogV1Resource_universal_d_LocationsAddress as LocationsAddress,\n      bookingsCatalogV1Resource_universal_d_LocationsStreetAddress as LocationsStreetAddress,\n      bookingsCatalogV1Resource_universal_d_LocationsAddressLocation as LocationsAddressLocation,\n      bookingsCatalogV1Resource_universal_d_BusinessSchedule as BusinessSchedule,\n      bookingsCatalogV1Resource_universal_d_TimePeriod as TimePeriod,\n      bookingsCatalogV1Resource_universal_d_DayOfWeek as DayOfWeek,\n      bookingsCatalogV1Resource_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      bookingsCatalogV1Resource_universal_d_Rate as Rate,\n      bookingsCatalogV1Resource_universal_d_Price as Price,\n      bookingsCatalogV1Resource_universal_d_Availability as Availability,\n      bookingsCatalogV1Resource_universal_d_AvailabilityConstraints as AvailabilityConstraints,\n      bookingsCatalogV1Resource_universal_d_SplitInterval as SplitInterval,\n      bookingsCatalogV1Resource_universal_d_Participant as Participant,\n      bookingsCatalogV1Resource_universal_d_ApprovalStatus as ApprovalStatus,\n      bookingsCatalogV1Resource_universal_d_ExternalCalendarOverrides as ExternalCalendarOverrides,\n      bookingsCatalogV1Resource_universal_d_ScheduleStatus as ScheduleStatus,\n      bookingsCatalogV1Resource_universal_d_Version as Version,\n      bookingsCatalogV1Resource_universal_d_ConferenceProvider as ConferenceProvider,\n      bookingsCatalogV1Resource_universal_d_CalendarConference as CalendarConference,\n      bookingsCatalogV1Resource_universal_d_ConferenceType as ConferenceType,\n      bookingsCatalogV1Resource_universal_d_ResourceStatus as ResourceStatus,\n      bookingsCatalogV1Resource_universal_d_BusinessLocation as BusinessLocation,\n      bookingsCatalogV1Resource_universal_d_ListResourcesRequest as ListResourcesRequest,\n      bookingsCatalogV1Resource_universal_d_Query as Query,\n      bookingsCatalogV1Resource_universal_d_Sorting as Sorting,\n      bookingsCatalogV1Resource_universal_d_SortOrder as SortOrder,\n      bookingsCatalogV1Resource_universal_d_Paging as Paging,\n      bookingsCatalogV1Resource_universal_d_ListResourcesResponse as ListResourcesResponse,\n      bookingsCatalogV1Resource_universal_d_QueryMetaData as QueryMetaData,\n      bookingsCatalogV1Resource_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      bookingsCatalogV1Resource_universal_d_Cursors as Cursors,\n      bookingsCatalogV1Resource_universal_d_QueryResourcesRequest as QueryResourcesRequest,\n      bookingsCatalogV1Resource_universal_d_QueryV2 as QueryV2,\n      bookingsCatalogV1Resource_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      bookingsCatalogV1Resource_universal_d_CursorPaging as CursorPaging,\n      bookingsCatalogV1Resource_universal_d_QueryResourcesResponse as QueryResourcesResponse,\n      bookingsCatalogV1Resource_universal_d_GetBusinessResourceRequest as GetBusinessResourceRequest,\n      bookingsCatalogV1Resource_universal_d_GetBusinessResourceResponse as GetBusinessResourceResponse,\n      bookingsCatalogV1Resource_universal_d_CreateResourceRequest as CreateResourceRequest,\n      bookingsCatalogV1Resource_universal_d_CreateResourceResponse as CreateResourceResponse,\n      bookingsCatalogV1Resource_universal_d_ResourceNotification as ResourceNotification,\n      Event$1 as Event,\n      bookingsCatalogV1Resource_universal_d_BatchCreateResourceRequest as BatchCreateResourceRequest,\n      bookingsCatalogV1Resource_universal_d_BatchCreateResourceResponse as BatchCreateResourceResponse,\n      bookingsCatalogV1Resource_universal_d_UpdateResourceRequest as UpdateResourceRequest,\n      bookingsCatalogV1Resource_universal_d_BatchRequest as BatchRequest,\n      bookingsCatalogV1Resource_universal_d_CreateScheduleRequest as CreateScheduleRequest,\n      bookingsCatalogV1Resource_universal_d_UpdateScheduleRequest as UpdateScheduleRequest,\n      bookingsCatalogV1Resource_universal_d_ParticipantNotification as ParticipantNotification,\n      bookingsCatalogV1Resource_universal_d_CancelScheduleRequest as CancelScheduleRequest,\n      bookingsCatalogV1Resource_universal_d_UpdateResourceResponse as UpdateResourceResponse,\n      bookingsCatalogV1Resource_universal_d_BatchResponse as BatchResponse,\n      bookingsCatalogV1Resource_universal_d_ResourceUpdateScheduleRequest as ResourceUpdateScheduleRequest,\n      bookingsCatalogV1Resource_universal_d_UpdateScheduleResponse as UpdateScheduleResponse,\n      bookingsCatalogV1Resource_universal_d_DeleteResourceRequest as DeleteResourceRequest,\n      bookingsCatalogV1Resource_universal_d_DeleteResourceResponse as DeleteResourceResponse,\n      bookingsCatalogV1Resource_universal_d_BatchDeleteResourceRequest as BatchDeleteResourceRequest,\n      bookingsCatalogV1Resource_universal_d_BatchDeleteResourceResponse as BatchDeleteResourceResponse,\n      bookingsCatalogV1Resource_universal_d_LinkResourceToUserRequest as LinkResourceToUserRequest,\n      bookingsCatalogV1Resource_universal_d_LinkResourceToUserResponse as LinkResourceToUserResponse,\n      bookingsCatalogV1Resource_universal_d_UnLinkResourceFromOwnerRequest as UnLinkResourceFromOwnerRequest,\n      bookingsCatalogV1Resource_universal_d_UnLinkResourceFromOwnerResponse as UnLinkResourceFromOwnerResponse,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      bookingsCatalogV1Resource_universal_d_list as list,\n      bookingsCatalogV1Resource_universal_d_ListOptions as ListOptions,\n      bookingsCatalogV1Resource_universal_d_queryResources as queryResources,\n      bookingsCatalogV1Resource_universal_d_QueryResourcesOptions as QueryResourcesOptions,\n      bookingsCatalogV1Resource_universal_d_getBusinessResource as getBusinessResource,\n      bookingsCatalogV1Resource_universal_d_createResource as createResource,\n      bookingsCatalogV1Resource_universal_d_CreateResourceOptions as CreateResourceOptions,\n      batchCreate$1 as batchCreate,\n      BatchCreateOptions$1 as BatchCreateOptions,\n      bookingsCatalogV1Resource_universal_d_updateResource as updateResource,\n      bookingsCatalogV1Resource_universal_d_UpdateResource as UpdateResource,\n      bookingsCatalogV1Resource_universal_d_UpdateResourceOptions as UpdateResourceOptions,\n      bookingsCatalogV1Resource_universal_d_updateSchedule as updateSchedule,\n      bookingsCatalogV1Resource_universal_d_UpdateScheduleOptions as UpdateScheduleOptions,\n      bookingsCatalogV1Resource_universal_d_deleteResource as deleteResource,\n      bookingsCatalogV1Resource_universal_d_batchDelete as batchDelete,\n      bookingsCatalogV1Resource_universal_d_linkResourceToUser as linkResourceToUser,\n      bookingsCatalogV1Resource_universal_d_LinkResourceToUserOptions as LinkResourceToUserOptions,\n      bookingsCatalogV1Resource_universal_d_unLinkResourceFromOwner as unLinkResourceFromOwner,\n    };\n  }\n  \n  /** Categories are used to group multiple services together. A service must be associated with a category in order to be exposed in the Wix Bookings UI. */\n  interface Category {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Category name. */\n      name?: string | null;\n      /**\n       * @internal\n       * @internal\n       * @internal\n       */\n      customProperties?: Record<string, string>;\n      /**\n       * @internal\n       * @internal\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * @internal\n       * @internal */\n      sortOrder?: number | null;\n  }\n  enum Status {\n      /** The category was created. */\n      CREATED = \"CREATED\",\n      /** The category was deleted. */\n      DELETED = \"DELETED\"\n  }\n  interface ListCategoryRequest {\n      /** Category IDs. */\n      categoryIds?: string[];\n      /**\n       * @internal\n       * @internal */\n      includeDeleted?: boolean | null;\n  }\n  interface ListCategoryResponse {\n      /** Category information. */\n      categories?: Category[];\n  }\n  /** An event sent every time a category entity is changed. */\n  interface CategoryNotification {\n      category?: Category;\n      event?: Event;\n  }\n  enum Event {\n      Updated = \"Updated\",\n      Deleted = \"Deleted\",\n      Created = \"Created\"\n  }\n  interface CreateCategoryRequest {\n      /** Category information. */\n      category: Category;\n  }\n  interface CreateCategoryResponse {\n      /** Category information. */\n      category?: Category;\n  }\n  interface BatchCreateCategoryRequest {\n      /** Category information. */\n      categories?: Category[];\n  }\n  interface BatchCreateCategoryResponse {\n      /** Category information. */\n      categories?: Category[];\n  }\n  interface UpdateCategoryRequest {\n      category: Category;\n  }\n  interface UpdateCategoryResponse {\n      /** The updated category. */\n      category?: Category;\n  }\n  interface DeleteCategoryRequest {\n      /** Category ID. */\n      _id: string | null;\n      /** Cascade delete all the services in this category. Defaults to false (when false, the services will still exist but will not be accessible in the dashboard). */\n      deleteServices?: boolean | null;\n  }\n  interface DeleteCategoryResponse {\n      /** Deleted Category ID. */\n      _id?: string | null;\n  }\n  interface BatchDeleteCategoryRequest {\n      /** Category ID. */\n      ids?: string[] | null;\n  }\n  interface BatchDeleteCategoryResponse {\n  }\n  interface BatchUpdateCategoryRequest {\n      /** List of categories to be updated. */\n      categories?: Category[];\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BatchUpdateCategoryResponse {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Lists all categories.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.CATEGORIES_READ\n   */\n  function listCategories(options?: ListCategoriesOptions): Promise<ListCategoryResponse>;\n  interface ListCategoriesOptions {\n      /** Category IDs. */\n      categoryIds?: string[];\n      /** @internal */\n      includeDeleted?: boolean | null;\n  }\n  /**\n   * Creates a new category.\n   * @param category - Category information.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField category\n   * @requiredField category.name\n   * @permissionId BOOKINGS.MANAGE_CATEGORIES\n   * @adminMethod\n   * @returns Category information.\n   */\n  function createCategory(category: Category): Promise<Category>;\n  /**\n   * Creates multiple new categories.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId BOOKINGS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function batchCreate(options?: BatchCreateOptions): Promise<BatchCreateCategoryResponse>;\n  interface BatchCreateOptions {\n      /** Category information. */\n      categories?: Category[];\n  }\n  /**\n   * Updates an existing category.\n   * @param _id - Category ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField category\n   * @requiredField category.name\n   * @permissionId BOOKINGS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function updateCategory(_id: string | null, category: UpdateCategory): Promise<UpdateCategoryResponse>;\n  interface UpdateCategory {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Category name. */\n      name?: string | null;\n      /**\n       * @internal\n       * @internal\n       */\n      customProperties?: Record<string, string>;\n      /**\n       * @internal\n       * @readonly\n       */\n      status?: Status;\n      /** @internal */\n      sortOrder?: number | null;\n  }\n  /**\n   * Deletes a category.\n   * When deleting a category, you have the option to delete all the associated services within this category using the `deleteServices` field in the request.\n   * @param _id - Category ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId BOOKINGS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function deleteCategory(_id: string | null, options?: DeleteCategoryOptions): Promise<DeleteCategoryResponse>;\n  interface DeleteCategoryOptions {\n      /** Cascade delete all the services in this category. Defaults to false (when false, the services will still exist but will not be accessible in the dashboard). */\n      deleteServices?: boolean | null;\n  }\n  /**\n   * Updates multiple categories.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.categories._id\n   * @permissionId BOOKINGS.MANAGE_CATEGORIES\n   * @adminMethod\n   */\n  function batchUpdate(options?: BatchUpdateOptions): Promise<void>;\n  interface BatchUpdateOptions {\n      /** List of categories to be updated. */\n      categories?: Category[];\n      /**\n       * Field mask of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  \n  type bookingsV1Category_universal_d_Category = Category;\n  type bookingsV1Category_universal_d_Status = Status;\n  const bookingsV1Category_universal_d_Status: typeof Status;\n  type bookingsV1Category_universal_d_ListCategoryRequest = ListCategoryRequest;\n  type bookingsV1Category_universal_d_ListCategoryResponse = ListCategoryResponse;\n  type bookingsV1Category_universal_d_CategoryNotification = CategoryNotification;\n  type bookingsV1Category_universal_d_Event = Event;\n  const bookingsV1Category_universal_d_Event: typeof Event;\n  type bookingsV1Category_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type bookingsV1Category_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n  type bookingsV1Category_universal_d_BatchCreateCategoryRequest = BatchCreateCategoryRequest;\n  type bookingsV1Category_universal_d_BatchCreateCategoryResponse = BatchCreateCategoryResponse;\n  type bookingsV1Category_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type bookingsV1Category_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n  type bookingsV1Category_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type bookingsV1Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  type bookingsV1Category_universal_d_BatchDeleteCategoryRequest = BatchDeleteCategoryRequest;\n  type bookingsV1Category_universal_d_BatchDeleteCategoryResponse = BatchDeleteCategoryResponse;\n  type bookingsV1Category_universal_d_BatchUpdateCategoryRequest = BatchUpdateCategoryRequest;\n  type bookingsV1Category_universal_d_BatchUpdateCategoryResponse = BatchUpdateCategoryResponse;\n  type bookingsV1Category_universal_d_MessageEnvelope = MessageEnvelope;\n  type bookingsV1Category_universal_d_IdentificationData = IdentificationData;\n  type bookingsV1Category_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type bookingsV1Category_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const bookingsV1Category_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const bookingsV1Category_universal_d_listCategories: typeof listCategories;\n  type bookingsV1Category_universal_d_ListCategoriesOptions = ListCategoriesOptions;\n  const bookingsV1Category_universal_d_createCategory: typeof createCategory;\n  const bookingsV1Category_universal_d_batchCreate: typeof batchCreate;\n  type bookingsV1Category_universal_d_BatchCreateOptions = BatchCreateOptions;\n  const bookingsV1Category_universal_d_updateCategory: typeof updateCategory;\n  type bookingsV1Category_universal_d_UpdateCategory = UpdateCategory;\n  const bookingsV1Category_universal_d_deleteCategory: typeof deleteCategory;\n  type bookingsV1Category_universal_d_DeleteCategoryOptions = DeleteCategoryOptions;\n  const bookingsV1Category_universal_d_batchUpdate: typeof batchUpdate;\n  type bookingsV1Category_universal_d_BatchUpdateOptions = BatchUpdateOptions;\n  namespace bookingsV1Category_universal_d {\n    export {\n      bookingsV1Category_universal_d_Category as Category,\n      bookingsV1Category_universal_d_Status as Status,\n      bookingsV1Category_universal_d_ListCategoryRequest as ListCategoryRequest,\n      bookingsV1Category_universal_d_ListCategoryResponse as ListCategoryResponse,\n      bookingsV1Category_universal_d_CategoryNotification as CategoryNotification,\n      bookingsV1Category_universal_d_Event as Event,\n      bookingsV1Category_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      bookingsV1Category_universal_d_CreateCategoryResponse as CreateCategoryResponse,\n      bookingsV1Category_universal_d_BatchCreateCategoryRequest as BatchCreateCategoryRequest,\n      bookingsV1Category_universal_d_BatchCreateCategoryResponse as BatchCreateCategoryResponse,\n      bookingsV1Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      bookingsV1Category_universal_d_UpdateCategoryResponse as UpdateCategoryResponse,\n      bookingsV1Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      bookingsV1Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      bookingsV1Category_universal_d_BatchDeleteCategoryRequest as BatchDeleteCategoryRequest,\n      bookingsV1Category_universal_d_BatchDeleteCategoryResponse as BatchDeleteCategoryResponse,\n      bookingsV1Category_universal_d_BatchUpdateCategoryRequest as BatchUpdateCategoryRequest,\n      bookingsV1Category_universal_d_BatchUpdateCategoryResponse as BatchUpdateCategoryResponse,\n      bookingsV1Category_universal_d_MessageEnvelope as MessageEnvelope,\n      bookingsV1Category_universal_d_IdentificationData as IdentificationData,\n      bookingsV1Category_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      bookingsV1Category_universal_d_WebhookIdentityType as WebhookIdentityType,\n      bookingsV1Category_universal_d_listCategories as listCategories,\n      bookingsV1Category_universal_d_ListCategoriesOptions as ListCategoriesOptions,\n      bookingsV1Category_universal_d_createCategory as createCategory,\n      bookingsV1Category_universal_d_batchCreate as batchCreate,\n      bookingsV1Category_universal_d_BatchCreateOptions as BatchCreateOptions,\n      bookingsV1Category_universal_d_updateCategory as updateCategory,\n      bookingsV1Category_universal_d_UpdateCategory as UpdateCategory,\n      bookingsV1Category_universal_d_deleteCategory as deleteCategory,\n      bookingsV1Category_universal_d_DeleteCategoryOptions as DeleteCategoryOptions,\n      bookingsV1Category_universal_d_batchUpdate as batchUpdate,\n      bookingsV1Category_universal_d_BatchUpdateOptions as BatchUpdateOptions,\n    };\n  }\n  \n  export { bookingsV1Category_universal_d as categories, bookingsCatalogV1Resource_universal_d as resources };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-members-about.v1.d.ts",
      "content": "declare module \"wix-members-about.v1\" {\n  interface MemberAbout {\n      /**\n       * About ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Member ID. */\n      memberId?: string | null;\n      /** https://github.com/wix-private/wix-ricos/blob/master/wix-ricos-schema/src/main/proto/wix/rich_content/v1/rich_content.proto */\n      content?: RichContent;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData {\n      textStyle?: TextStyle;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface CreateMemberAboutRequest {\n      memberAbout: MemberAbout;\n  }\n  interface CreateMemberAboutResponse {\n      memberAbout?: MemberAbout;\n  }\n  interface UpdateMemberAboutRequest {\n      memberAbout?: MemberAbout;\n  }\n  interface UpdateMemberAboutResponse {\n      memberAbout?: MemberAbout;\n  }\n  interface DeleteMemberAboutRequest {\n      _id: string;\n  }\n  interface DeleteMemberAboutResponse {\n  }\n  interface GetMemberAboutRequest {\n      _id: string;\n  }\n  interface GetMemberAboutResponse {\n      memberAbout?: MemberAbout;\n  }\n  interface GetMyMemberAboutRequest {\n  }\n  interface GetMyMemberAboutResponse {\n      memberAbout?: MemberAbout;\n  }\n  interface QueryMemberAboutsRequest {\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryMemberAboutsResponse {\n      memberAbouts?: MemberAbout[];\n      metadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates member about.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberAbout\n   * @requiredField memberAbout.content\n   * @permissionId MEMBERS.MEMBER_ABOUT_CREATE\n   */\n  function createMemberAbout(memberAbout: MemberAbout): Promise<MemberAbout>;\n  /**\n   * Updates an about content by ID.\n   * @param _id - About ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_ABOUT_UPDATE\n   */\n  function updateMemberAbout(_id: string | null, options?: UpdateMemberAboutOptions): Promise<MemberAbout>;\n  interface UpdateMemberAboutOptions {\n      memberAbout: {\n          /**\n           * About ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /**\n           * Revision.\n           * @readonly\n           */\n          revision?: string | null;\n          /** Member ID. */\n          memberId?: string | null;\n          /** https://github.com/wix-private/wix-ricos/blob/master/wix-ricos-schema/src/main/proto/wix/rich_content/v1/rich_content.proto */\n          content?: RichContent;\n      };\n  }\n  /**\n   * Deletes an about.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_ABOUT_DELETE\n   */\n  function deleteMemberAbout(_id: string): Promise<void>;\n  /**\n   * Retrieves an about by ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId MEMBERS.MEMBER_ABOUT_READ\n   */\n  function getMemberAbout(_id: string): Promise<MemberAbout>;\n  /**\n   * Retrieves current logged-in about\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.MEMBER_ABOUT_READ\n   */\n  function getMyMemberAbout(): Promise<GetMyMemberAboutResponse>;\n  /**\n   * Retries a list of up to 100 abouts, given the provided filters, sorting and paging.\n   *\n   * Currently supported fields for filtering:\n   *\n   * - `id`\n   * - `member_id`\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.MEMBER_ABOUT_READ\n   */\n  function queryMemberAbouts(): MemberAboutsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface MemberAboutsQueryResult extends QueryCursorResult {\n      items: MemberAbout[];\n      query: MemberAboutsQueryBuilder;\n      next: () => Promise<MemberAboutsQueryResult>;\n      prev: () => Promise<MemberAboutsQueryResult>;\n  }\n  interface MemberAboutsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'memberId', value: any) => MemberAboutsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'memberId', value: any) => MemberAboutsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'memberId', value: string) => MemberAboutsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'memberId', value: any[]) => MemberAboutsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'memberId', value: any) => MemberAboutsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'memberId', value: boolean) => MemberAboutsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => MemberAboutsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => MemberAboutsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<MemberAboutsQueryResult>;\n  }\n  \n  type membersAboutV2MemberAbout_universal_d_MemberAbout = MemberAbout;\n  type membersAboutV2MemberAbout_universal_d_RichContent = RichContent;\n  type membersAboutV2MemberAbout_universal_d_Node = Node;\n  type membersAboutV2MemberAbout_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type membersAboutV2MemberAbout_universal_d_NodeType = NodeType;\n  const membersAboutV2MemberAbout_universal_d_NodeType: typeof NodeType;\n  type membersAboutV2MemberAbout_universal_d_NodeStyle = NodeStyle;\n  type membersAboutV2MemberAbout_universal_d_ButtonData = ButtonData;\n  type membersAboutV2MemberAbout_universal_d_Border = Border;\n  type membersAboutV2MemberAbout_universal_d_Colors = Colors;\n  type membersAboutV2MemberAbout_universal_d_PluginContainerData = PluginContainerData;\n  type membersAboutV2MemberAbout_universal_d_WidthType = WidthType;\n  const membersAboutV2MemberAbout_universal_d_WidthType: typeof WidthType;\n  type membersAboutV2MemberAbout_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type membersAboutV2MemberAbout_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type membersAboutV2MemberAbout_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const membersAboutV2MemberAbout_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type membersAboutV2MemberAbout_universal_d_Spoiler = Spoiler;\n  type membersAboutV2MemberAbout_universal_d_Height = Height;\n  type membersAboutV2MemberAbout_universal_d_Type = Type;\n  const membersAboutV2MemberAbout_universal_d_Type: typeof Type;\n  type membersAboutV2MemberAbout_universal_d_Styles = Styles;\n  type membersAboutV2MemberAbout_universal_d_Link = Link;\n  type membersAboutV2MemberAbout_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type membersAboutV2MemberAbout_universal_d_Target = Target;\n  const membersAboutV2MemberAbout_universal_d_Target: typeof Target;\n  type membersAboutV2MemberAbout_universal_d_Rel = Rel;\n  type membersAboutV2MemberAbout_universal_d_CodeBlockData = CodeBlockData;\n  type membersAboutV2MemberAbout_universal_d_TextStyle = TextStyle;\n  type membersAboutV2MemberAbout_universal_d_TextAlignment = TextAlignment;\n  const membersAboutV2MemberAbout_universal_d_TextAlignment: typeof TextAlignment;\n  type membersAboutV2MemberAbout_universal_d_DividerData = DividerData;\n  type membersAboutV2MemberAbout_universal_d_LineStyle = LineStyle;\n  const membersAboutV2MemberAbout_universal_d_LineStyle: typeof LineStyle;\n  type membersAboutV2MemberAbout_universal_d_Width = Width;\n  const membersAboutV2MemberAbout_universal_d_Width: typeof Width;\n  type membersAboutV2MemberAbout_universal_d_Alignment = Alignment;\n  const membersAboutV2MemberAbout_universal_d_Alignment: typeof Alignment;\n  type membersAboutV2MemberAbout_universal_d_FileData = FileData;\n  type membersAboutV2MemberAbout_universal_d_ViewMode = ViewMode;\n  const membersAboutV2MemberAbout_universal_d_ViewMode: typeof ViewMode;\n  type membersAboutV2MemberAbout_universal_d_FileSource = FileSource;\n  type membersAboutV2MemberAbout_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type membersAboutV2MemberAbout_universal_d_PDFSettings = PDFSettings;\n  type membersAboutV2MemberAbout_universal_d_GalleryData = GalleryData;\n  type membersAboutV2MemberAbout_universal_d_Media = Media;\n  type membersAboutV2MemberAbout_universal_d_Image = Image;\n  type membersAboutV2MemberAbout_universal_d_Video = Video;\n  type membersAboutV2MemberAbout_universal_d_Item = Item;\n  type membersAboutV2MemberAbout_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type membersAboutV2MemberAbout_universal_d_GalleryOptions = GalleryOptions;\n  type membersAboutV2MemberAbout_universal_d_LayoutType = LayoutType;\n  const membersAboutV2MemberAbout_universal_d_LayoutType: typeof LayoutType;\n  type membersAboutV2MemberAbout_universal_d_Orientation = Orientation;\n  const membersAboutV2MemberAbout_universal_d_Orientation: typeof Orientation;\n  type membersAboutV2MemberAbout_universal_d_Crop = Crop;\n  const membersAboutV2MemberAbout_universal_d_Crop: typeof Crop;\n  type membersAboutV2MemberAbout_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const membersAboutV2MemberAbout_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type membersAboutV2MemberAbout_universal_d_Layout = Layout;\n  type membersAboutV2MemberAbout_universal_d_ItemStyle = ItemStyle;\n  type membersAboutV2MemberAbout_universal_d_Thumbnails = Thumbnails;\n  type membersAboutV2MemberAbout_universal_d_GIFData = GIFData;\n  type membersAboutV2MemberAbout_universal_d_GIF = GIF;\n  type membersAboutV2MemberAbout_universal_d_HeadingData = HeadingData;\n  type membersAboutV2MemberAbout_universal_d_HTMLData = HTMLData;\n  type membersAboutV2MemberAbout_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type membersAboutV2MemberAbout_universal_d_Source = Source;\n  const membersAboutV2MemberAbout_universal_d_Source: typeof Source;\n  type membersAboutV2MemberAbout_universal_d_ImageData = ImageData;\n  type membersAboutV2MemberAbout_universal_d_LinkPreviewData = LinkPreviewData;\n  type membersAboutV2MemberAbout_universal_d_MapData = MapData;\n  type membersAboutV2MemberAbout_universal_d_MapSettings = MapSettings;\n  type membersAboutV2MemberAbout_universal_d_MapType = MapType;\n  const membersAboutV2MemberAbout_universal_d_MapType: typeof MapType;\n  type membersAboutV2MemberAbout_universal_d_ParagraphData = ParagraphData;\n  type membersAboutV2MemberAbout_universal_d_PollData = PollData;\n  type membersAboutV2MemberAbout_universal_d_ViewRole = ViewRole;\n  const membersAboutV2MemberAbout_universal_d_ViewRole: typeof ViewRole;\n  type membersAboutV2MemberAbout_universal_d_VoteRole = VoteRole;\n  const membersAboutV2MemberAbout_universal_d_VoteRole: typeof VoteRole;\n  type membersAboutV2MemberAbout_universal_d_Permissions = Permissions;\n  type membersAboutV2MemberAbout_universal_d_Option = Option;\n  type membersAboutV2MemberAbout_universal_d_Settings = Settings;\n  type membersAboutV2MemberAbout_universal_d_PollLayoutType = PollLayoutType;\n  const membersAboutV2MemberAbout_universal_d_PollLayoutType: typeof PollLayoutType;\n  type membersAboutV2MemberAbout_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const membersAboutV2MemberAbout_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type membersAboutV2MemberAbout_universal_d_PollLayout = PollLayout;\n  type membersAboutV2MemberAbout_universal_d_OptionLayout = OptionLayout;\n  type membersAboutV2MemberAbout_universal_d_BackgroundType = BackgroundType;\n  const membersAboutV2MemberAbout_universal_d_BackgroundType: typeof BackgroundType;\n  type membersAboutV2MemberAbout_universal_d_Gradient = Gradient;\n  type membersAboutV2MemberAbout_universal_d_Background = Background;\n  type membersAboutV2MemberAbout_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type membersAboutV2MemberAbout_universal_d_PollDesign = PollDesign;\n  type membersAboutV2MemberAbout_universal_d_OptionDesign = OptionDesign;\n  type membersAboutV2MemberAbout_universal_d_Poll = Poll;\n  type membersAboutV2MemberAbout_universal_d_PollDataLayout = PollDataLayout;\n  type membersAboutV2MemberAbout_universal_d_Design = Design;\n  type membersAboutV2MemberAbout_universal_d_TextData = TextData;\n  type membersAboutV2MemberAbout_universal_d_Decoration = Decoration;\n  type membersAboutV2MemberAbout_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type membersAboutV2MemberAbout_universal_d_DecorationType = DecorationType;\n  const membersAboutV2MemberAbout_universal_d_DecorationType: typeof DecorationType;\n  type membersAboutV2MemberAbout_universal_d_AnchorData = AnchorData;\n  type membersAboutV2MemberAbout_universal_d_ColorData = ColorData;\n  type membersAboutV2MemberAbout_universal_d_LinkData = LinkData;\n  type membersAboutV2MemberAbout_universal_d_MentionData = MentionData;\n  type membersAboutV2MemberAbout_universal_d_FontSizeData = FontSizeData;\n  type membersAboutV2MemberAbout_universal_d_FontType = FontType;\n  const membersAboutV2MemberAbout_universal_d_FontType: typeof FontType;\n  type membersAboutV2MemberAbout_universal_d_SpoilerData = SpoilerData;\n  type membersAboutV2MemberAbout_universal_d_AppEmbedData = AppEmbedData;\n  type membersAboutV2MemberAbout_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type membersAboutV2MemberAbout_universal_d_AppType = AppType;\n  const membersAboutV2MemberAbout_universal_d_AppType: typeof AppType;\n  type membersAboutV2MemberAbout_universal_d_BookingData = BookingData;\n  type membersAboutV2MemberAbout_universal_d_EventData = EventData;\n  type membersAboutV2MemberAbout_universal_d_VideoData = VideoData;\n  type membersAboutV2MemberAbout_universal_d_PlaybackOptions = PlaybackOptions;\n  type membersAboutV2MemberAbout_universal_d_EmbedData = EmbedData;\n  type membersAboutV2MemberAbout_universal_d_Oembed = Oembed;\n  type membersAboutV2MemberAbout_universal_d_CollapsibleListData = CollapsibleListData;\n  type membersAboutV2MemberAbout_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const membersAboutV2MemberAbout_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type membersAboutV2MemberAbout_universal_d_Direction = Direction;\n  const membersAboutV2MemberAbout_universal_d_Direction: typeof Direction;\n  type membersAboutV2MemberAbout_universal_d_TableData = TableData;\n  type membersAboutV2MemberAbout_universal_d_Dimensions = Dimensions;\n  type membersAboutV2MemberAbout_universal_d_TableCellData = TableCellData;\n  type membersAboutV2MemberAbout_universal_d_VerticalAlignment = VerticalAlignment;\n  const membersAboutV2MemberAbout_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type membersAboutV2MemberAbout_universal_d_CellStyle = CellStyle;\n  type membersAboutV2MemberAbout_universal_d_BorderColors = BorderColors;\n  type membersAboutV2MemberAbout_universal_d_NullValue = NullValue;\n  const membersAboutV2MemberAbout_universal_d_NullValue: typeof NullValue;\n  type membersAboutV2MemberAbout_universal_d_ListValue = ListValue;\n  type membersAboutV2MemberAbout_universal_d_AudioData = AudioData;\n  type membersAboutV2MemberAbout_universal_d_OrderedListData = OrderedListData;\n  type membersAboutV2MemberAbout_universal_d_BulletedListData = BulletedListData;\n  type membersAboutV2MemberAbout_universal_d_BlockquoteData = BlockquoteData;\n  type membersAboutV2MemberAbout_universal_d_CaptionData = CaptionData;\n  type membersAboutV2MemberAbout_universal_d_Metadata = Metadata;\n  type membersAboutV2MemberAbout_universal_d_DocumentStyle = DocumentStyle;\n  type membersAboutV2MemberAbout_universal_d_TextNodeStyle = TextNodeStyle;\n  type membersAboutV2MemberAbout_universal_d_CreateMemberAboutRequest = CreateMemberAboutRequest;\n  type membersAboutV2MemberAbout_universal_d_CreateMemberAboutResponse = CreateMemberAboutResponse;\n  type membersAboutV2MemberAbout_universal_d_UpdateMemberAboutRequest = UpdateMemberAboutRequest;\n  type membersAboutV2MemberAbout_universal_d_UpdateMemberAboutResponse = UpdateMemberAboutResponse;\n  type membersAboutV2MemberAbout_universal_d_DeleteMemberAboutRequest = DeleteMemberAboutRequest;\n  type membersAboutV2MemberAbout_universal_d_DeleteMemberAboutResponse = DeleteMemberAboutResponse;\n  type membersAboutV2MemberAbout_universal_d_GetMemberAboutRequest = GetMemberAboutRequest;\n  type membersAboutV2MemberAbout_universal_d_GetMemberAboutResponse = GetMemberAboutResponse;\n  type membersAboutV2MemberAbout_universal_d_GetMyMemberAboutRequest = GetMyMemberAboutRequest;\n  type membersAboutV2MemberAbout_universal_d_GetMyMemberAboutResponse = GetMyMemberAboutResponse;\n  type membersAboutV2MemberAbout_universal_d_QueryMemberAboutsRequest = QueryMemberAboutsRequest;\n  type membersAboutV2MemberAbout_universal_d_CursorQuery = CursorQuery;\n  type membersAboutV2MemberAbout_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type membersAboutV2MemberAbout_universal_d_Sorting = Sorting;\n  type membersAboutV2MemberAbout_universal_d_SortOrder = SortOrder;\n  const membersAboutV2MemberAbout_universal_d_SortOrder: typeof SortOrder;\n  type membersAboutV2MemberAbout_universal_d_CursorPaging = CursorPaging;\n  type membersAboutV2MemberAbout_universal_d_QueryMemberAboutsResponse = QueryMemberAboutsResponse;\n  type membersAboutV2MemberAbout_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type membersAboutV2MemberAbout_universal_d_Cursors = Cursors;\n  type membersAboutV2MemberAbout_universal_d_DomainEvent = DomainEvent;\n  type membersAboutV2MemberAbout_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type membersAboutV2MemberAbout_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type membersAboutV2MemberAbout_universal_d_RestoreInfo = RestoreInfo;\n  type membersAboutV2MemberAbout_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type membersAboutV2MemberAbout_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type membersAboutV2MemberAbout_universal_d_ActionEvent = ActionEvent;\n  type membersAboutV2MemberAbout_universal_d_Empty = Empty;\n  type membersAboutV2MemberAbout_universal_d_MessageEnvelope = MessageEnvelope;\n  type membersAboutV2MemberAbout_universal_d_IdentificationData = IdentificationData;\n  type membersAboutV2MemberAbout_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type membersAboutV2MemberAbout_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const membersAboutV2MemberAbout_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const membersAboutV2MemberAbout_universal_d_createMemberAbout: typeof createMemberAbout;\n  const membersAboutV2MemberAbout_universal_d_updateMemberAbout: typeof updateMemberAbout;\n  type membersAboutV2MemberAbout_universal_d_UpdateMemberAboutOptions = UpdateMemberAboutOptions;\n  const membersAboutV2MemberAbout_universal_d_deleteMemberAbout: typeof deleteMemberAbout;\n  const membersAboutV2MemberAbout_universal_d_getMemberAbout: typeof getMemberAbout;\n  const membersAboutV2MemberAbout_universal_d_getMyMemberAbout: typeof getMyMemberAbout;\n  const membersAboutV2MemberAbout_universal_d_queryMemberAbouts: typeof queryMemberAbouts;\n  type membersAboutV2MemberAbout_universal_d_MemberAboutsQueryResult = MemberAboutsQueryResult;\n  type membersAboutV2MemberAbout_universal_d_MemberAboutsQueryBuilder = MemberAboutsQueryBuilder;\n  namespace membersAboutV2MemberAbout_universal_d {\n    export {\n      membersAboutV2MemberAbout_universal_d_MemberAbout as MemberAbout,\n      membersAboutV2MemberAbout_universal_d_RichContent as RichContent,\n      membersAboutV2MemberAbout_universal_d_Node as Node,\n      membersAboutV2MemberAbout_universal_d_NodeDataOneOf as NodeDataOneOf,\n      membersAboutV2MemberAbout_universal_d_NodeType as NodeType,\n      membersAboutV2MemberAbout_universal_d_NodeStyle as NodeStyle,\n      membersAboutV2MemberAbout_universal_d_ButtonData as ButtonData,\n      membersAboutV2MemberAbout_universal_d_Border as Border,\n      membersAboutV2MemberAbout_universal_d_Colors as Colors,\n      membersAboutV2MemberAbout_universal_d_PluginContainerData as PluginContainerData,\n      membersAboutV2MemberAbout_universal_d_WidthType as WidthType,\n      membersAboutV2MemberAbout_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      membersAboutV2MemberAbout_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      membersAboutV2MemberAbout_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      membersAboutV2MemberAbout_universal_d_Spoiler as Spoiler,\n      membersAboutV2MemberAbout_universal_d_Height as Height,\n      membersAboutV2MemberAbout_universal_d_Type as Type,\n      membersAboutV2MemberAbout_universal_d_Styles as Styles,\n      membersAboutV2MemberAbout_universal_d_Link as Link,\n      membersAboutV2MemberAbout_universal_d_LinkDataOneOf as LinkDataOneOf,\n      membersAboutV2MemberAbout_universal_d_Target as Target,\n      membersAboutV2MemberAbout_universal_d_Rel as Rel,\n      membersAboutV2MemberAbout_universal_d_CodeBlockData as CodeBlockData,\n      membersAboutV2MemberAbout_universal_d_TextStyle as TextStyle,\n      membersAboutV2MemberAbout_universal_d_TextAlignment as TextAlignment,\n      membersAboutV2MemberAbout_universal_d_DividerData as DividerData,\n      membersAboutV2MemberAbout_universal_d_LineStyle as LineStyle,\n      membersAboutV2MemberAbout_universal_d_Width as Width,\n      membersAboutV2MemberAbout_universal_d_Alignment as Alignment,\n      membersAboutV2MemberAbout_universal_d_FileData as FileData,\n      membersAboutV2MemberAbout_universal_d_ViewMode as ViewMode,\n      membersAboutV2MemberAbout_universal_d_FileSource as FileSource,\n      membersAboutV2MemberAbout_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      membersAboutV2MemberAbout_universal_d_PDFSettings as PDFSettings,\n      membersAboutV2MemberAbout_universal_d_GalleryData as GalleryData,\n      membersAboutV2MemberAbout_universal_d_Media as Media,\n      membersAboutV2MemberAbout_universal_d_Image as Image,\n      membersAboutV2MemberAbout_universal_d_Video as Video,\n      membersAboutV2MemberAbout_universal_d_Item as Item,\n      membersAboutV2MemberAbout_universal_d_ItemDataOneOf as ItemDataOneOf,\n      membersAboutV2MemberAbout_universal_d_GalleryOptions as GalleryOptions,\n      membersAboutV2MemberAbout_universal_d_LayoutType as LayoutType,\n      membersAboutV2MemberAbout_universal_d_Orientation as Orientation,\n      membersAboutV2MemberAbout_universal_d_Crop as Crop,\n      membersAboutV2MemberAbout_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      membersAboutV2MemberAbout_universal_d_Layout as Layout,\n      membersAboutV2MemberAbout_universal_d_ItemStyle as ItemStyle,\n      membersAboutV2MemberAbout_universal_d_Thumbnails as Thumbnails,\n      membersAboutV2MemberAbout_universal_d_GIFData as GIFData,\n      membersAboutV2MemberAbout_universal_d_GIF as GIF,\n      membersAboutV2MemberAbout_universal_d_HeadingData as HeadingData,\n      membersAboutV2MemberAbout_universal_d_HTMLData as HTMLData,\n      membersAboutV2MemberAbout_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      membersAboutV2MemberAbout_universal_d_Source as Source,\n      membersAboutV2MemberAbout_universal_d_ImageData as ImageData,\n      membersAboutV2MemberAbout_universal_d_LinkPreviewData as LinkPreviewData,\n      membersAboutV2MemberAbout_universal_d_MapData as MapData,\n      membersAboutV2MemberAbout_universal_d_MapSettings as MapSettings,\n      membersAboutV2MemberAbout_universal_d_MapType as MapType,\n      membersAboutV2MemberAbout_universal_d_ParagraphData as ParagraphData,\n      membersAboutV2MemberAbout_universal_d_PollData as PollData,\n      membersAboutV2MemberAbout_universal_d_ViewRole as ViewRole,\n      membersAboutV2MemberAbout_universal_d_VoteRole as VoteRole,\n      membersAboutV2MemberAbout_universal_d_Permissions as Permissions,\n      membersAboutV2MemberAbout_universal_d_Option as Option,\n      membersAboutV2MemberAbout_universal_d_Settings as Settings,\n      membersAboutV2MemberAbout_universal_d_PollLayoutType as PollLayoutType,\n      membersAboutV2MemberAbout_universal_d_PollLayoutDirection as PollLayoutDirection,\n      membersAboutV2MemberAbout_universal_d_PollLayout as PollLayout,\n      membersAboutV2MemberAbout_universal_d_OptionLayout as OptionLayout,\n      membersAboutV2MemberAbout_universal_d_BackgroundType as BackgroundType,\n      membersAboutV2MemberAbout_universal_d_Gradient as Gradient,\n      membersAboutV2MemberAbout_universal_d_Background as Background,\n      membersAboutV2MemberAbout_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      membersAboutV2MemberAbout_universal_d_PollDesign as PollDesign,\n      membersAboutV2MemberAbout_universal_d_OptionDesign as OptionDesign,\n      membersAboutV2MemberAbout_universal_d_Poll as Poll,\n      membersAboutV2MemberAbout_universal_d_PollDataLayout as PollDataLayout,\n      membersAboutV2MemberAbout_universal_d_Design as Design,\n      membersAboutV2MemberAbout_universal_d_TextData as TextData,\n      membersAboutV2MemberAbout_universal_d_Decoration as Decoration,\n      membersAboutV2MemberAbout_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      membersAboutV2MemberAbout_universal_d_DecorationType as DecorationType,\n      membersAboutV2MemberAbout_universal_d_AnchorData as AnchorData,\n      membersAboutV2MemberAbout_universal_d_ColorData as ColorData,\n      membersAboutV2MemberAbout_universal_d_LinkData as LinkData,\n      membersAboutV2MemberAbout_universal_d_MentionData as MentionData,\n      membersAboutV2MemberAbout_universal_d_FontSizeData as FontSizeData,\n      membersAboutV2MemberAbout_universal_d_FontType as FontType,\n      membersAboutV2MemberAbout_universal_d_SpoilerData as SpoilerData,\n      membersAboutV2MemberAbout_universal_d_AppEmbedData as AppEmbedData,\n      membersAboutV2MemberAbout_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      membersAboutV2MemberAbout_universal_d_AppType as AppType,\n      membersAboutV2MemberAbout_universal_d_BookingData as BookingData,\n      membersAboutV2MemberAbout_universal_d_EventData as EventData,\n      membersAboutV2MemberAbout_universal_d_VideoData as VideoData,\n      membersAboutV2MemberAbout_universal_d_PlaybackOptions as PlaybackOptions,\n      membersAboutV2MemberAbout_universal_d_EmbedData as EmbedData,\n      membersAboutV2MemberAbout_universal_d_Oembed as Oembed,\n      membersAboutV2MemberAbout_universal_d_CollapsibleListData as CollapsibleListData,\n      membersAboutV2MemberAbout_universal_d_InitialExpandedItems as InitialExpandedItems,\n      membersAboutV2MemberAbout_universal_d_Direction as Direction,\n      membersAboutV2MemberAbout_universal_d_TableData as TableData,\n      membersAboutV2MemberAbout_universal_d_Dimensions as Dimensions,\n      membersAboutV2MemberAbout_universal_d_TableCellData as TableCellData,\n      membersAboutV2MemberAbout_universal_d_VerticalAlignment as VerticalAlignment,\n      membersAboutV2MemberAbout_universal_d_CellStyle as CellStyle,\n      membersAboutV2MemberAbout_universal_d_BorderColors as BorderColors,\n      membersAboutV2MemberAbout_universal_d_NullValue as NullValue,\n      membersAboutV2MemberAbout_universal_d_ListValue as ListValue,\n      membersAboutV2MemberAbout_universal_d_AudioData as AudioData,\n      membersAboutV2MemberAbout_universal_d_OrderedListData as OrderedListData,\n      membersAboutV2MemberAbout_universal_d_BulletedListData as BulletedListData,\n      membersAboutV2MemberAbout_universal_d_BlockquoteData as BlockquoteData,\n      membersAboutV2MemberAbout_universal_d_CaptionData as CaptionData,\n      membersAboutV2MemberAbout_universal_d_Metadata as Metadata,\n      membersAboutV2MemberAbout_universal_d_DocumentStyle as DocumentStyle,\n      membersAboutV2MemberAbout_universal_d_TextNodeStyle as TextNodeStyle,\n      membersAboutV2MemberAbout_universal_d_CreateMemberAboutRequest as CreateMemberAboutRequest,\n      membersAboutV2MemberAbout_universal_d_CreateMemberAboutResponse as CreateMemberAboutResponse,\n      membersAboutV2MemberAbout_universal_d_UpdateMemberAboutRequest as UpdateMemberAboutRequest,\n      membersAboutV2MemberAbout_universal_d_UpdateMemberAboutResponse as UpdateMemberAboutResponse,\n      membersAboutV2MemberAbout_universal_d_DeleteMemberAboutRequest as DeleteMemberAboutRequest,\n      membersAboutV2MemberAbout_universal_d_DeleteMemberAboutResponse as DeleteMemberAboutResponse,\n      membersAboutV2MemberAbout_universal_d_GetMemberAboutRequest as GetMemberAboutRequest,\n      membersAboutV2MemberAbout_universal_d_GetMemberAboutResponse as GetMemberAboutResponse,\n      membersAboutV2MemberAbout_universal_d_GetMyMemberAboutRequest as GetMyMemberAboutRequest,\n      membersAboutV2MemberAbout_universal_d_GetMyMemberAboutResponse as GetMyMemberAboutResponse,\n      membersAboutV2MemberAbout_universal_d_QueryMemberAboutsRequest as QueryMemberAboutsRequest,\n      membersAboutV2MemberAbout_universal_d_CursorQuery as CursorQuery,\n      membersAboutV2MemberAbout_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      membersAboutV2MemberAbout_universal_d_Sorting as Sorting,\n      membersAboutV2MemberAbout_universal_d_SortOrder as SortOrder,\n      membersAboutV2MemberAbout_universal_d_CursorPaging as CursorPaging,\n      membersAboutV2MemberAbout_universal_d_QueryMemberAboutsResponse as QueryMemberAboutsResponse,\n      membersAboutV2MemberAbout_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      membersAboutV2MemberAbout_universal_d_Cursors as Cursors,\n      membersAboutV2MemberAbout_universal_d_DomainEvent as DomainEvent,\n      membersAboutV2MemberAbout_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      membersAboutV2MemberAbout_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      membersAboutV2MemberAbout_universal_d_RestoreInfo as RestoreInfo,\n      membersAboutV2MemberAbout_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      membersAboutV2MemberAbout_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      membersAboutV2MemberAbout_universal_d_ActionEvent as ActionEvent,\n      membersAboutV2MemberAbout_universal_d_Empty as Empty,\n      membersAboutV2MemberAbout_universal_d_MessageEnvelope as MessageEnvelope,\n      membersAboutV2MemberAbout_universal_d_IdentificationData as IdentificationData,\n      membersAboutV2MemberAbout_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      membersAboutV2MemberAbout_universal_d_WebhookIdentityType as WebhookIdentityType,\n      membersAboutV2MemberAbout_universal_d_createMemberAbout as createMemberAbout,\n      membersAboutV2MemberAbout_universal_d_updateMemberAbout as updateMemberAbout,\n      membersAboutV2MemberAbout_universal_d_UpdateMemberAboutOptions as UpdateMemberAboutOptions,\n      membersAboutV2MemberAbout_universal_d_deleteMemberAbout as deleteMemberAbout,\n      membersAboutV2MemberAbout_universal_d_getMemberAbout as getMemberAbout,\n      membersAboutV2MemberAbout_universal_d_getMyMemberAbout as getMyMemberAbout,\n      membersAboutV2MemberAbout_universal_d_queryMemberAbouts as queryMemberAbouts,\n      membersAboutV2MemberAbout_universal_d_MemberAboutsQueryResult as MemberAboutsQueryResult,\n      membersAboutV2MemberAbout_universal_d_MemberAboutsQueryBuilder as MemberAboutsQueryBuilder,\n    };\n  }\n  \n  export { membersAboutV2MemberAbout_universal_d as membersAbout };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-forms.v2.d.ts",
      "content": "declare module \"wix-forms.v2\" {\n  interface FormSpamSubmissionSpiConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri$1;\n      /** Configuration of namespaces known by implementer */\n      namespaceConfigs?: FormsSpamSubmissionsNamespaceConfig[];\n  }\n  interface SpiBaseUri$1 {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri$1[];\n  }\n  interface AlternativeUri$1 {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  interface FormsSpamSubmissionsNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: SpamSubmissionPermissions;\n      /**\n       * Disables Wix spam submissions filter.\n       * Spam submissions are persisted in spam submissions storage to support marking submissions as not spam.\n       */\n      wixSpamFilterDisabled?: boolean;\n  }\n  interface SpamSubmissionPermissions {\n      /** Create permission name */\n      create?: string;\n      /** Delete permission name */\n      delete?: string;\n      /** Update permission name */\n      update?: string;\n      /** Read permission name */\n      read?: string;\n      /** Report as not spam permission name */\n      reportNotSpam?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context$1 {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData$3;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  /** SpamSubmissionReport stores a submission, which was marked as spam. */\n  interface SpamSubmission {\n      /**\n       * Spam submission id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Id of a form to which submission belongs. */\n      formId?: string;\n      /**\n       * Form namespace to which submissions belong.\n       * @readonly\n       */\n      namespace?: string;\n      /**\n       * Submission submitter ID.\n       * @readonly\n       */\n      submitter?: Submitter$3;\n      /** Submission values where key is a target of a form field and value is a submissions for the given field. */\n      submissions?: Record<string, any>;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Identifies the reason why the submission was reported as spam. */\n      reportReason?: ReportReason$1;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields$3;\n  }\n  interface Submitter$3 extends SubmitterSubmitterOneOf$3 {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface SubmitterSubmitterOneOf$3 {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  enum ReportReason$1 {\n      UNKNOWN_REASON = \"UNKNOWN_REASON\",\n      /** An email quota is reached. There were too many submissions in a short time period with the same email. */\n      EMAIL_QUOTA_REACHED = \"EMAIL_QUOTA_REACHED\",\n      /** An IP address is is blocklisted. */\n      IP_BLOCKLISTED = \"IP_BLOCKLISTED\",\n      /** An email is is blocklisted. */\n      EMAIL_BLOCKLISTED = \"EMAIL_BLOCKLISTED\",\n      /** Reported spam by the AI spam detection model. It uses submission text as an input. */\n      AI_REPORTED = \"AI_REPORTED\",\n      /** Reported as spam by a submission manager. */\n      MANUALLY_REPORTED = \"MANUALLY_REPORTED\"\n  }\n  interface ExtendedFields$3 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ValidateSpamRequest {\n      /** Submission. */\n      submission: FormSubmission$3;\n      /** Form. */\n      form: Form$1;\n  }\n  /** Form submission that was created or retrieved. */\n  interface FormSubmission$3 {\n      /**\n       * Submission ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the form which submission belongs to. */\n      formId?: string;\n      /**\n       * The app which the form submissions belong to. For example, the namespace for the Wix Forms App is `\"wix.form_app.form\"`. The namespace of a submission can be retrieved using the Get Submission endpoint.\n       * @readonly\n       */\n      namespace?: string;\n      /**\n       * Status of the submission.\n       * - `PENDING`: When a submission has been created, but has not yet been recorded in the submission table of the forms dashboard.\n       * - `PAYMENT_WAITING`: When a submission of form, requiring payment, has been created.\n       * - `PAYMENT_CANCELED`: When a submission's of form, requiring payment, order has been canceled.\n       * - `CONFIRMED`: When a submission is recorded in the submissions table of the forms dashboard.\n       */\n      status?: SubmissionStatus$3;\n      /** Submission values where key is the form field and value is the data submitted for the given field. */\n      submissions?: Record<string, any>;\n      /**\n       * Date and time the form submission was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the form submission was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Renamed to submitter\n       * @internal\n       * @readonly\n       */\n      owner?: Owner;\n      /**\n       * ID of the creator of the form submission.\n       * @readonly\n       */\n      submitter?: Submitter$3;\n      /** Whether the submission was read by a site Extension with permissions to manage submissions. */\n      seen?: boolean;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields$3;\n      /** Order details. */\n      orderDetails?: OrderDetails$3;\n  }\n  enum SubmissionStatus$3 {\n      UNDEFINED = \"UNDEFINED\",\n      PENDING = \"PENDING\",\n      CONFIRMED = \"CONFIRMED\",\n      PAYMENT_WAITING = \"PAYMENT_WAITING\",\n      PAYMENT_CANCELED = \"PAYMENT_CANCELED\"\n  }\n  interface Owner extends OwnerOwnerOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Service ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface OwnerOwnerOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Service ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  interface OrderDetails$3 {\n      /**\n       * ID of the order related to submission (applicable if form has payments added).\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Order number.\n       * @readonly\n       */\n      number?: string | null;\n      /**\n       * Currency.\n       * @readonly\n       */\n      currency?: string;\n      /**\n       * Item subtotal.\n       * @readonly\n       */\n      itemSubtotal?: string;\n  }\n  interface Form$1 {\n      /**\n       * Form ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** List of form fields that represent input elements. */\n      fields?: FormField$1[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      fieldsV2?: FormFieldV2$1[];\n      /** Defines the layout for form fields in each submission step. */\n      steps?: Step$1[];\n      /** Form rules, can be applied to layout and items properties. */\n      rules?: FormRule$1[];\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Properties of the form. */\n      properties?: FormProperties$1;\n      /**\n       * Fields which were soft deleted.\n       * @readonly\n       */\n      deletedFields?: FormField$1[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      deletedFieldsV2?: FormFieldV2$1[];\n      /**\n       * Regular forms can be freely modified.\n       * Extensions are copied from templates and might have restrictions.\n       * @readonly\n       */\n      kind?: Kind$1;\n      /**\n       * Defines triggers that will be executed after the submission, for the submissions based on this schema.\n       * Forms provide a set of predefined triggers that allow it to assign specific business cases to created forms.\n       */\n      postSubmissionTriggers?: PostSubmissionTriggers$1;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields$3;\n      /** Identifies the namespace that the form belongs to. */\n      namespace?: string;\n      /**\n       * Nested forms.\n       * @internal\n       * @readonly\n       */\n      nestedForms?: NestedForm$1[];\n      /**\n       * Media folder ID.\n       * @readonly\n       */\n      mediaFolderId?: string | null;\n  }\n  interface FormField$1 {\n      /** Item ID. */\n      _id?: string;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /** Validation of field output value. */\n      validation?: Validation$1;\n      /** Mark the field as containing personal information. This will encrypt user data when storing it. */\n      pii?: boolean;\n      /** Whether the field is hidden. */\n      hidden?: boolean;\n      /** Field view properties. */\n      view?: Record<string, any> | null;\n      /** Details identifying field, which is extension of other entity */\n      dataExtensionsDetails?: DataExtensionsDetails$1;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n      /**\n       * Nested form overrides.\n       * @internal\n       */\n      nestedFormOverrides?: NestedFormOverrides$1;\n  }\n  interface StringType$1 extends StringTypeFormatOptionsOneOf$1 {\n      /** DATE format options */\n      dateOptions?: DateTimeConstraints$1;\n      /** DATE_TIME format options */\n      dateTimeOptions?: DateTimeConstraints$1;\n      /** TIME format options */\n      timeOptions?: DateTimeConstraints$1;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: DateTimeConstraints$1;\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: Format$1;\n      /** Custom error messages when validation fails. */\n      errorMessages?: StringErrorMessages$1;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  /** @oneof */\n  interface StringTypeFormatOptionsOneOf$1 {\n      /** DATE format options */\n      dateOptions?: DateTimeConstraints$1;\n      /** DATE_TIME format options */\n      dateTimeOptions?: DateTimeConstraints$1;\n      /** TIME format options */\n      timeOptions?: DateTimeConstraints$1;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: DateTimeConstraints$1;\n  }\n  enum Format$1 {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface StringErrorMessages$1 {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface DateTimeConstraints$1 {\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      minimum?: string | null;\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      maximum?: string | null;\n  }\n  interface NumberType$1 {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages$1;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface NumberErrorMessages$1 {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface IntegerType$1 {\n      /** Minimum value. */\n      maximum?: number | null;\n      /** Maximum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages$1;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface BooleanType$1 {\n      /** Custom error message when validation fails. */\n      errorMessages?: BooleanErrorMessages$1;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface BooleanErrorMessages$1 {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayType$1 {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayItems$1;\n      /** Custom error message when validation fails. */\n      errorMessages?: ArrayErrorMessages$1;\n  }\n  interface ObjectType$1 {\n      /** Description of object properties. */\n      properties?: Record<string, PropertiesType$1>;\n      /** Custom error message when validation fails. */\n      errorMessages?: ObjectErrorMessages$1;\n  }\n  interface PropertiesType$1 extends PropertiesTypePropertiesTypeOneOf$1 {\n      /** String type validation for property. */\n      string?: StringType$1;\n      /** Number type validation for property. */\n      number?: NumberType$1;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType$1;\n      /** Integer type validation for property. */\n      integer?: IntegerType$1;\n      /** Array type validation for property. */\n      array?: ArrayType$1;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface PropertiesTypePropertiesTypeOneOf$1 {\n      /** String type validation for property. */\n      string?: StringType$1;\n      /** Number type validation for property. */\n      number?: NumberType$1;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType$1;\n      /** Integer type validation for property. */\n      integer?: IntegerType$1;\n      /** Array type validation for property. */\n      array?: ArrayType$1;\n  }\n  interface ObjectErrorMessages$1 {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayItems$1 extends ArrayItemsItemsOneOf$1 {\n      /** String type validation for items. */\n      string?: StringType$1;\n      /** Number type validation for items. */\n      number?: NumberType$1;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType$1;\n      /** Integer type validation for items. */\n      integer?: IntegerType$1;\n      /** Object type validation for items */\n      object?: ObjectType$1;\n  }\n  /** @oneof */\n  interface ArrayItemsItemsOneOf$1 {\n      /** String type validation for items. */\n      string?: StringType$1;\n      /** Number type validation for items. */\n      number?: NumberType$1;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType$1;\n      /** Integer type validation for items. */\n      integer?: IntegerType$1;\n      /** Object type validation for items */\n      object?: ObjectType$1;\n  }\n  interface ArrayErrorMessages$1 {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface PredefinedValidation$1 extends PredefinedValidationFormatOptionsOneOf$1 {\n      /** Payment input field. */\n      paymentOptions?: PaymentType$1;\n      /** Format of predefined validation. */\n      format?: ValidationFormat$1;\n  }\n  /** @oneof */\n  interface PredefinedValidationFormatOptionsOneOf$1 {\n      /** Payment input field. */\n      paymentOptions?: PaymentType$1;\n  }\n  enum ValidationFormat$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** File upload validation. */\n      WIX_FILE = \"WIX_FILE\",\n      /** Payment validation. */\n      PAYMENT = \"PAYMENT\"\n  }\n  interface PaymentType$1 {\n      /** Field mapped to products. */\n      products?: Product$1[];\n      /** Minimum amount of different products. */\n      minItems?: number | null;\n      /** Maximum amount of different products. */\n      maxItems?: number | null;\n  }\n  enum ProductType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Shippable (physical). */\n      SHIPPABLE = \"SHIPPABLE\",\n      /** Digital. */\n      DIGITAL = \"DIGITAL\"\n  }\n  enum PriceType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      /** Fixed price. */\n      FIXED_PRICE = \"FIXED_PRICE\",\n      /** Dynamic price from price range. */\n      DYNAMIC_PRICE = \"DYNAMIC_PRICE\"\n  }\n  interface QuantityLimit$1 {\n      /** Minimum quantity. */\n      minimum?: number | null;\n      /** Maximum quantity. */\n      maximum?: number | null;\n  }\n  interface FixedPriceOptions$1 {\n      /** Fixed price monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). */\n      price?: string;\n  }\n  interface DynamicPriceOptions$1 {\n      /** Minimal price monetary amount. */\n      minPrice?: string;\n      /** Maximal price monetary amount. */\n      maxPrice?: string | null;\n  }\n  interface Product$1 extends ProductPriceOptionsOneOf$1 {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions$1;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions$1;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Product type. */\n      productType?: ProductType$1;\n      /** Price type. */\n      priceType?: PriceType$1;\n      /** Quantity limit. */\n      quantityLimit?: QuantityLimit$1;\n  }\n  /** @oneof */\n  interface ProductPriceOptionsOneOf$1 {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions$1;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions$1;\n  }\n  interface NestedFormFieldOverrides$1 {\n      /** Whether the field is required. Leave blank for no override. */\n      required?: boolean | null;\n      /** Whether the field is hidden. Leave blank for no override. */\n      hidden?: boolean | null;\n  }\n  interface Validation$1 extends ValidationValidationOneOf$1 {\n      /** Validation of string type. */\n      string?: StringType$1;\n      /** Validation of number type. */\n      number?: NumberType$1;\n      /** Validation of integer type. */\n      integer?: IntegerType$1;\n      /** Validation of boolean type. */\n      boolean?: BooleanType$1;\n      /** Validation of array type. */\n      array?: ArrayType$1;\n      /** Validation of object type. */\n      object?: ObjectType$1;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation$1;\n      /** Whether the field is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ValidationValidationOneOf$1 {\n      /** Validation of string type. */\n      string?: StringType$1;\n      /** Validation of number type. */\n      number?: NumberType$1;\n      /** Validation of integer type. */\n      integer?: IntegerType$1;\n      /** Validation of boolean type. */\n      boolean?: BooleanType$1;\n      /** Validation of array type. */\n      array?: ArrayType$1;\n      /** Validation of object type. */\n      object?: ObjectType$1;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation$1;\n  }\n  interface DataExtensionsDetails$1 {\n      /** FQDNS which can be extended with this field */\n      fqdns?: string[];\n  }\n  interface NestedFormOverrides$1 {\n      /** Field overrides by field ID */\n      fieldOverrides?: Record<string, NestedFormFieldOverrides$1>;\n  }\n  interface FormFieldV2$1 extends FormFieldV2FieldTypeOptionsOneOf$1 {\n      /** Field accept input of data */\n      inputOptions?: InputField$1;\n      /** Field for displaying information */\n      displayOptions?: DisplayField$1;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton$1;\n      /** Field id. */\n      _id?: string;\n      /**\n       * Whether the field is hidden.\n       * Default: false\n       */\n      hidden?: boolean;\n      /** Custom identification of field, can be used to specify exceptional behaviour of client for specific field */\n      identifier?: string | null;\n      /**\n       * Type of the field\n       * @readonly\n       */\n      fieldType?: FieldType$1;\n  }\n  /** @oneof */\n  interface FormFieldV2FieldTypeOptionsOneOf$1 {\n      /** Field accept input of data */\n      inputOptions?: InputField$1;\n      /** Field for displaying information */\n      displayOptions?: DisplayField$1;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton$1;\n  }\n  interface InputFieldStringType$1 {\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: FormatEnumFormat$1;\n      /** Custom error messages when validation fails. */\n      errorMessages?: InputFieldStringErrorMessages$1;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  enum FormatEnumFormat$1 {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface InputFieldStringErrorMessages$1 {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum StringComponentType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      TEXT_INPUT = \"TEXT_INPUT\",\n      RADIO_GROUP = \"RADIO_GROUP\",\n      DROPDOWN = \"DROPDOWN\",\n      DATE_TIME = \"DATE_TIME\"\n  }\n  interface TextInput$1 {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent$1;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface RichContent$1 {\n      /** Node objects representing a rich content document. */\n      nodes?: Node$1[];\n      /** Object metadata. */\n      metadata?: Metadata$1;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle$1;\n  }\n  interface Node$1 extends NodeDataOneOf$1 {\n      /** Data for a button node. */\n      buttonData?: ButtonData$1;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData$1;\n      /** Data for a divider node. */\n      dividerData?: DividerData$1;\n      /** Data for a file node. */\n      fileData?: FileData$1;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData$1;\n      /** Data for a GIF node. */\n      gifData?: GIFData$1;\n      /** Data for a heading node. */\n      headingData?: HeadingData$1;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData$1;\n      /** Data for an image node. */\n      imageData?: ImageData$1;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData$1;\n      /** Data for a map node. */\n      mapData?: MapData$1;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData$1;\n      /** Data for a poll node. */\n      pollData?: PollData$1;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData$1;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData$1;\n      /** Data for a video node. */\n      videoData?: VideoData$1;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData$1;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData$1;\n      /** Data for a table node. */\n      tableData?: TableData$1;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData$1;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData$1;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData$1;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData$1;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData$1;\n      /** 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. */\n      type?: NodeType$1;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node$1[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle$1;\n  }\n  /** @oneof */\n  interface NodeDataOneOf$1 {\n      /** Data for a button node. */\n      buttonData?: ButtonData$1;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData$1;\n      /** Data for a divider node. */\n      dividerData?: DividerData$1;\n      /** Data for a file node. */\n      fileData?: FileData$1;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData$1;\n      /** Data for a GIF node. */\n      gifData?: GIFData$1;\n      /** Data for a heading node. */\n      headingData?: HeadingData$1;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData$1;\n      /** Data for an image node. */\n      imageData?: ImageData$1;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData$1;\n      /** Data for a map node. */\n      mapData?: MapData$1;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData$1;\n      /** Data for a poll node. */\n      pollData?: PollData$1;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData$1;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData$1;\n      /** Data for a video node. */\n      videoData?: VideoData$1;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData$1;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData$1;\n      /** Data for a table node. */\n      tableData?: TableData$1;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData$1;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData$1;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData$1;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData$1;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData$1;\n  }\n  enum NodeType$1 {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle$1 {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData$1 {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData$1;\n      /** The button type. */\n      type?: Type$1;\n      /** Styling for the button. */\n      styles?: Styles$1;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link$1;\n  }\n  interface Border$1 {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors$1 {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData$1 {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth$1;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment$1;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler$1;\n      /** The height of the node when it's displayed. */\n      height?: Height$1;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType$1 {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth$1 extends PluginContainerDataWidthDataOneOf$1 {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType$1;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf$1 {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType$1;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment$1 {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler$1 {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height$1 {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type$1 {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles$1 {\n      /** Border attributes. */\n      border?: Border$1;\n      /** Color attributes. */\n      colors?: Colors$1;\n  }\n  interface Link$1 extends LinkDataOneOf$1 {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: LinkTarget$1;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel$1;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf$1 {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum LinkTarget$1 {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel$1 {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData$1 {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle$1;\n  }\n  interface TextStyle$1 {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment$1;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment$1 {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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. */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData$1 {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData$1;\n      /** Divider line style. */\n      lineStyle?: LineStyle$1;\n      /** Divider width. */\n      width?: Width$1;\n      /** Divider alignment. */\n      alignment?: Alignment$1;\n  }\n  enum LineStyle$1 {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width$1 {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment$1 {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData$1 {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData$1;\n      /** The source for the file's data. */\n      src?: FileSource$1;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings$1;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode$1 {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource$1 extends FileSourceDataOneOf$1 {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf$1 {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings$1 {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode$1;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData$1 {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData$1;\n      /** The items in the gallery. */\n      items?: Item$1[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions$1;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface Media$1 {\n      /** The source for the media's data. */\n      src?: FileSource$1;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image$1 {\n      /** Image file details. */\n      media?: Media$1;\n      /** Link details for images that are links. */\n      link?: Link$1;\n  }\n  interface Video$1 {\n      /** Video file details. */\n      media?: Media$1;\n      /** Video thumbnail file details. */\n      thumbnail?: Media$1;\n  }\n  interface Item$1 extends ItemDataOneOf$1 {\n      /** An image item. */\n      image?: Image$1;\n      /** A video item. */\n      video?: Video$1;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf$1 {\n      /** An image item. */\n      image?: Image$1;\n      /** A video item. */\n      video?: Video$1;\n  }\n  interface GalleryOptions$1 {\n      /** Gallery layout. */\n      layout?: Layout$1;\n      /** Styling for gallery items. */\n      item?: ItemStyle$1;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails$1;\n  }\n  enum LayoutType$1 {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation$1 {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop$1 {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment$1 {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout$1 {\n      /** Gallery layout type. */\n      type?: LayoutType$1;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation$1;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle$1 {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop$1;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails$1 {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment$1;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData$1 {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData$1;\n      /** The source of the full size GIF. */\n      original?: GIF$1;\n      /** The source of the downsized GIF. */\n      downsized?: GIF$1;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF$1 {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData$1 {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle$1;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData$1 extends HTMLDataDataOneOf$1 {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData$1;\n      /** The type of HTML code. */\n      source?: Source$1;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf$1 {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  enum Source$1 {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData$1 {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData$1;\n      /** Image file details. */\n      image?: Media$1;\n      /** Link details for images that are links. */\n      link?: Link$1;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData$1 {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData$1;\n      /** Link details. */\n      link?: Link$1;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData$1 {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData$1;\n      /** Map settings. */\n      mapSettings?: MapSettings$1;\n  }\n  interface MapSettings$1 {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType$1;\n  }\n  enum MapType$1 {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData$1 {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle$1;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData$1 {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData$1;\n      /** Poll data. */\n      poll?: Poll$1;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout$1;\n      /** Styling for the poll and voting options. */\n      design?: Design$1;\n  }\n  enum ViewRole$1 {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole$1 {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions$1 {\n      /** Sets who can view the poll results. */\n      view?: ViewRole$1;\n      /** Sets who can vote. */\n      vote?: VoteRole$1;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface PollOption$1 {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media$1;\n  }\n  interface Settings$1 {\n      /** Permissions settings for voting. */\n      permissions?: Permissions$1;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType$1 {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection$1 {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout$1 {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType$1;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection$1;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout$1 {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType$1 {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient$1 {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background$1 extends BackgroundBackgroundOneOf$1 {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media$1;\n      /** Details for a gradient background. */\n      gradient?: Gradient$1;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType$1;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf$1 {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media$1;\n      /** Details for a gradient background. */\n      gradient?: Gradient$1;\n  }\n  interface PollDesign$1 {\n      /** Background styling. */\n      background?: Background$1;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign$1 {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll$1 {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media$1;\n      /** Voting options. */\n      options?: PollOption$1[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings$1;\n  }\n  interface PollDataLayout$1 {\n      /** Poll layout settings. */\n      poll?: PollLayout$1;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout$1;\n  }\n  interface Design$1 {\n      /** Styling for the poll. */\n      poll?: PollDesign$1;\n      /** Styling for voting options. */\n      options?: OptionDesign$1;\n  }\n  interface TextData$1 {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration$1[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration$1 extends DecorationDataOneOf$1 {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData$1;\n      /** Data for a color decoration. */\n      colorData?: ColorData$1;\n      /** Data for an external link decoration. */\n      linkData?: LinkData$1;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData$1;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData$1;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n      /** The type of decoration to apply. */\n      type?: DecorationType$1;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf$1 {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData$1;\n      /** Data for a color decoration. */\n      colorData?: ColorData$1;\n      /** Data for an external link decoration. */\n      linkData?: LinkData$1;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData$1;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData$1;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType$1 {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData$1 {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData$1 {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData$1 {\n      /** Link details. */\n      link?: Link$1;\n  }\n  interface MentionData$1 {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData$1 {\n      /** The units used for the font size. */\n      unit?: FontType$1;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType$1 {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface AppEmbedData$1 extends AppEmbedDataAppDataOneOf$1 {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData$1;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData$1;\n      /** The type of Wix App content being embedded. */\n      type?: AppType$1;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /** Deprecated: Use `image` instead. */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media$1;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf$1 {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData$1;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData$1;\n  }\n  enum AppType$1 {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData$1 {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData$1 {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData$1 {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData$1;\n      /** Video details. */\n      video?: Media$1;\n      /** Video thumbnail details. */\n      thumbnail?: Media$1;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions$1;\n  }\n  interface PlaybackOptions$1 {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData$1 {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData$1;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed$1;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed$1 {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData$1 {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData$1;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems$1;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction$1;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems$1 {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction$1 {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData$1 {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData$1;\n      /** The table's dimensions. */\n      dimensions?: Dimensions$1;\n      /** Deprecated: Use `rowHeader` and `columnHeader` instead. */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions$1 {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData$1 {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle$1;\n      /** The cell's border colors. */\n      borderColors?: BorderColors$1;\n  }\n  enum VerticalAlignment$1 {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle$1 {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment$1;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors$1 {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue$1 {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue$1 {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData$1 {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData$1;\n      /** Audio file details. */\n      audio?: Media$1;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media$1;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData$1 {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData$1 {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData$1 {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface Metadata$1 {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle$1 {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle$1;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle$1;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle$1;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle$1;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle$1;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle$1;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle$1;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle$1;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle$1;\n  }\n  interface TextNodeStyle$1 {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration$1[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle$1;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface RadioGroup$1 {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent$1;\n      /**\n       * Flag identifying to show option allowing input custom value\n       * List of options to select from\n       */\n      options?: RadioGroupOption$1[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: RadioGroupCustomOption$1;\n  }\n  interface RadioGroupOption$1 {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface RadioGroupCustomOption$1 {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface Dropdown$1 {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent$1;\n      /** List of options to select from */\n      options?: DropdownOption$1[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: DropdownCustomOption$1;\n      /** Placeholder of dropdown input */\n      placeholder?: string | null;\n  }\n  interface DropdownOption$1 {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface DropdownCustomOption$1 {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface DateTimeInput$1 extends DateTimeInputDateTimeInputTypeOptionsOneOf {\n      /** Options specific to the combined Date and Time input type. */\n      dateTimeOptions?: DateTimeOptions;\n      /** Options specific to the Date-only input type. */\n      dateOptions?: DateOptions;\n      /** Options specific to the Time-only input type. */\n      timeOptions?: TimeOptions;\n      /** Label of the field. Displayed text for the date/time input. */\n      label?: string | null;\n      /** Description of the field. Additional information about the date/time input. */\n      description?: RichContent$1;\n      /**\n       * Flag identifying whether to show or hide the label.\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /**\n       * Flag identifying whether to show or hide the placeholder.\n       * Default: true\n       */\n      showPlaceholder?: boolean | null;\n      /**\n       * Date and/or time input component type\n       * @readonly\n       */\n      dateTimeInputType?: DateTimeInputType;\n  }\n  /** @oneof */\n  interface DateTimeInputDateTimeInputTypeOptionsOneOf {\n      /** Options specific to the combined Date and Time input type. */\n      dateTimeOptions?: DateTimeOptions;\n      /** Options specific to the Date-only input type. */\n      dateOptions?: DateOptions;\n      /** Options specific to the Time-only input type. */\n      timeOptions?: TimeOptions;\n  }\n  enum DateFormatPart {\n      YEAR = \"YEAR\",\n      MONTH = \"MONTH\",\n      DAY = \"DAY\"\n  }\n  enum DateTimeInputType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Show date and time input */\n      DATE_TIME = \"DATE_TIME\",\n      /** Show only date input */\n      DATE = \"DATE\",\n      /** Show only time input */\n      TIME = \"TIME\"\n  }\n  interface DateTimeOptions {\n      /** Order of date picking component parts (e.g., YEAR, MONTH, DAY). */\n      dateFormatParts?: DateFormatPart[];\n      /**\n       * Flag indicating whether to use the 24-hour time format.\n       * Default: false.\n       */\n      use24HourFormat?: boolean;\n  }\n  interface DateOptions {\n      /** Order of date picking component parts (e.g., YEAR, MONTH, DAY). */\n      dateFormatParts?: DateFormatPart[];\n  }\n  interface TimeOptions {\n      /**\n       * Flag indicating whether to use the 24-hour time format.\n       * Default: false.\n       */\n      use24HourFormat?: boolean;\n  }\n  interface InputFieldNumberType$1 {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages$1;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldNumberErrorMessages$1 {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum NumberComponentType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      NUMBER_INPUT = \"NUMBER_INPUT\"\n  }\n  interface NumberInput$1 {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent$1;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface InputFieldBooleanType$1 {\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldBooleanErrorMessages$1;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface InputFieldBooleanErrorMessages$1 {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum BooleanComponentType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX = \"CHECKBOX\"\n  }\n  interface Checkbox$1 {\n      /** Label of the field */\n      label?: RichContent$1;\n  }\n  interface InputFieldArrayType$1 {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayTypeArrayItems$1;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldArrayErrorMessages$1;\n  }\n  enum ItemType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      OBJECT = \"OBJECT\"\n  }\n  interface InputFieldIntegerType$1 {\n      /** Maximum value. */\n      maximum?: number | null;\n      /** Minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages$1;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldObjectType$1 {\n      /** Description of object properties. */\n      properties?: Record<string, ObjectTypePropertiesType$1>;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldObjectErrorMessages$1;\n  }\n  enum PropertiesTypePropertiesType {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      ARRAY = \"ARRAY\"\n  }\n  interface ObjectTypePropertiesType$1 extends ObjectTypePropertiesTypePropertiesTypeOptionsOneOf$1 {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType$1;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType$1;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType$1;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType$1;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType$1;\n      /**\n       * Type of object properties\n       * @readonly\n       */\n      propertiesType?: PropertiesTypePropertiesType;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ObjectTypePropertiesTypePropertiesTypeOptionsOneOf$1 {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType$1;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType$1;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType$1;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType$1;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType$1;\n  }\n  interface InputFieldObjectErrorMessages$1 {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayTypeArrayItems$1 extends ArrayTypeArrayItemsItemTypeOptionsOneOf$1 {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType$1;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType$1;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType$1;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType$1;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType$1;\n      /**\n       * Type of array items\n       * @readonly\n       */\n      itemType?: ItemType$1;\n  }\n  /** @oneof */\n  interface ArrayTypeArrayItemsItemTypeOptionsOneOf$1 {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType$1;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType$1;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType$1;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType$1;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType$1;\n  }\n  interface InputFieldArrayErrorMessages$1 {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum ComponentType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\"\n  }\n  interface CheckboxGroup$1 {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent$1;\n      /** List of options to select from */\n      options?: Option$1[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CustomOption$1;\n  }\n  interface MediaItem$1 extends MediaItemMediaOneOf$1 {\n      /** WixMedia image. */\n      image?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf$1 {\n      /** WixMedia image. */\n      image?: string;\n  }\n  interface Option$1 {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: any;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem$1;\n  }\n  interface CustomOption$1 {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  enum WixFileComponentType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      FILE_UPLOAD = \"FILE_UPLOAD\"\n  }\n  interface FileUpload$1 {\n      /** Selectable option label */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent$1;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Text on upload button */\n      buttonText?: string | null;\n      /** Amount of files allowed to upload */\n      fileLimit?: number;\n      /** Supported file formats for upload */\n      uploadFileFormats?: UploadFileFormat$1[];\n      /** Custom text which appears when file is uploaded, if missing file name will be shown */\n      explanationText?: string | null;\n  }\n  enum UploadFileFormat$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** Video files */\n      VIDEO = \"VIDEO\",\n      /** Image files */\n      IMAGE = \"IMAGE\",\n      /** Audio files */\n      AUDIO = \"AUDIO\",\n      /** Document files */\n      DOCUMENT = \"DOCUMENT\"\n  }\n  enum PaymentComponentType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\"\n  }\n  interface ProductCheckboxGroup$1 {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent$1;\n      /** List of options to select from. */\n      options?: ProductCheckboxGroupOption$1[];\n  }\n  interface ProductCheckboxGroupOption$1 {\n      /** Selectable option label. */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. Corresponds to product id, found in field's products list. */\n      value?: any;\n      /** Option id. Used as binding for translations. */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem$1;\n  }\n  enum InputType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      ARRAY = \"ARRAY\",\n      OBJECT = \"OBJECT\",\n      WIX_FILE = \"WIX_FILE\",\n      PAYMENT = \"PAYMENT\"\n  }\n  interface _String$1 extends _StringComponentTypeOptionsOneOf$1 {\n      /** Text input field */\n      textInputOptions?: TextInput$1;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup$1;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown$1;\n      /** Field for selecting date and/or time */\n      dateTimeOptions?: DateTimeInput$1;\n      /** Validation of field output value. */\n      validation?: InputFieldStringType$1;\n      /**\n       * Component type of the string input field\n       * @readonly\n       */\n      componentType?: StringComponentType$1;\n  }\n  /** @oneof */\n  interface _StringComponentTypeOptionsOneOf$1 {\n      /** Text input field */\n      textInputOptions?: TextInput$1;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup$1;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown$1;\n      /** Field for selecting date and/or time */\n      dateTimeOptions?: DateTimeInput$1;\n  }\n  interface _Number$1 extends _NumberComponentTypeOptionsOneOf$1 {\n      /** Number value input field */\n      numberInputOptions?: NumberInput$1;\n      /** Validation of field output value. */\n      validation?: InputFieldNumberType$1;\n      /**\n       * Component type of the number input field\n       * @readonly\n       */\n      componentType?: NumberComponentType$1;\n  }\n  /** @oneof */\n  interface _NumberComponentTypeOptionsOneOf$1 {\n      /** Number value input field */\n      numberInputOptions?: NumberInput$1;\n  }\n  interface _Boolean$1 extends _BooleanComponentTypeOptionsOneOf$1 {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox$1;\n      /** Validation of field output value. */\n      validation?: InputFieldBooleanType$1;\n      /**\n       * Component type of the boolean input field\n       * @readonly\n       */\n      componentType?: BooleanComponentType$1;\n  }\n  /** @oneof */\n  interface _BooleanComponentTypeOptionsOneOf$1 {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox$1;\n  }\n  interface _Array$1 extends _ArrayComponentTypeOptionsOneOf$1 {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup$1;\n      /** Validation of array type. */\n      validation?: InputFieldArrayType$1;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: ComponentType$1;\n  }\n  /** @oneof */\n  interface _ArrayComponentTypeOptionsOneOf$1 {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup$1;\n  }\n  interface _Object$1 extends _ObjectValidationOneOf$1 {\n      /** Validation of object type. */\n      object?: InputFieldObjectType$1;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  /** @oneof */\n  interface _ObjectValidationOneOf$1 {\n      /** Validation of object type. */\n      object?: InputFieldObjectType$1;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  interface WixFile$1 extends WixFileComponentTypeOptionsOneOf$1 {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload$1;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: WixFileComponentType$1;\n  }\n  /** @oneof */\n  interface WixFileComponentTypeOptionsOneOf$1 {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload$1;\n  }\n  interface Payment$1 extends PaymentComponentTypeOptionsOneOf$1 {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: ProductCheckboxGroup$1;\n      /**\n       * Component type of the payment input field.\n       * @readonly\n       */\n      componentType?: PaymentComponentType$1;\n      /** Validation of payment type. */\n      validation?: PaymentType$1;\n  }\n  /** @oneof */\n  interface PaymentComponentTypeOptionsOneOf$1 {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: ProductCheckboxGroup$1;\n  }\n  interface Header$1 {\n      /** Content of the header */\n      content?: RichContent$1;\n  }\n  interface RichText$1 {\n      /** Content of the rich text field */\n      content?: RichContent$1;\n  }\n  enum Target$1 {\n      UNDEFINED = \"UNDEFINED\",\n      /** Opened in same browser tab */\n      SELF = \"SELF\",\n      /** Url open in new tab */\n      BLANK = \"BLANK\"\n  }\n  interface ThankYouMessage$1 {\n      /** Message show after form submission */\n      text?: RichContent$1;\n      /**\n       * Duration after how much second it should disappear. If 0, will stay forever.\n       * Default: false\n       */\n      duration?: number | null;\n  }\n  interface Redirect$1 {\n      /** Url to which UoU should be redirected after successful submit of form */\n      url?: string | null;\n      /** How should url be opened */\n      target?: Target$1;\n  }\n  enum FieldType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      INPUT = \"INPUT\",\n      DISPLAY = \"DISPLAY\",\n      SUBMIT = \"SUBMIT\"\n  }\n  interface InputField$1 extends InputFieldInputTypeOptionsOneOf$1 {\n      /** Input return string as value */\n      stringOptions?: _String$1;\n      /** Input return number as value */\n      numberOptions?: _Number$1;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean$1;\n      /** Input return array as value */\n      arrayOptions?: _Array$1;\n      /** Input return object as value */\n      objectOptions?: _Object$1;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile$1;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment$1;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /**\n       * Mark the field as containing personal information. This will encrypt user data when storing it.\n       * Default: false\n       */\n      pii?: boolean;\n      /**\n       * Whether the field is required.\n       * Default: false\n       */\n      required?: boolean;\n      /**\n       * Type of the input field\n       * @readonly\n       */\n      inputType?: InputType$1;\n  }\n  /** @oneof */\n  interface InputFieldInputTypeOptionsOneOf$1 {\n      /** Input return string as value */\n      stringOptions?: _String$1;\n      /** Input return number as value */\n      numberOptions?: _Number$1;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean$1;\n      /** Input return array as value */\n      arrayOptions?: _Array$1;\n      /** Input return object as value */\n      objectOptions?: _Object$1;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile$1;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment$1;\n  }\n  interface DisplayField$1 extends DisplayFieldComponentTypeOneOf$1 {\n      /** Header field */\n      header?: Header$1;\n      /** Rich text field */\n      richText?: RichText$1;\n  }\n  /** @oneof */\n  interface DisplayFieldComponentTypeOneOf$1 {\n      /** Header field */\n      header?: Header$1;\n      /** Rich text field */\n      richText?: RichText$1;\n  }\n  interface SubmitButton$1 extends SubmitButtonSubmitActionOneOf$1 {\n      /** Submit action effect is to show message */\n      thankYouMessage?: ThankYouMessage$1;\n      /** Submit action effect is to redirect to */\n      redirect?: Redirect$1;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to next page. */\n      nextText?: string | null;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to previous page. */\n      previousText?: string | null;\n      /** Text on the button when button is submitting a form */\n      submitText?: string | null;\n  }\n  /** @oneof */\n  interface SubmitButtonSubmitActionOneOf$1 {\n      /** Submit action effect is to show message */\n      thankYouMessage?: ThankYouMessage$1;\n      /** Submit action effect is to redirect to */\n      redirect?: Redirect$1;\n  }\n  interface Step$1 {\n      /** Step ID. */\n      _id?: string;\n      /** Name of the step. */\n      name?: string | null;\n      /** Is step hidden */\n      hidden?: boolean;\n      /** Form step properties */\n      layout?: FormLayout$1;\n  }\n  interface FormLayout$1 {\n      /** Layout for large break point. */\n      large?: BreakPoint$1;\n      /** Layout for medium break point. */\n      medium?: BreakPoint$1;\n      /** Layout for small break point. */\n      small?: BreakPoint$1;\n  }\n  interface BreakPoint$1 {\n      /** Description of layouts for items. */\n      items?: ItemLayout$1[];\n      /** Amount of columns of layout grid. */\n      columns?: number | null;\n      /** Row height of layout grid. */\n      rowHeight?: number | null;\n      /** Description of elements margins. */\n      margin?: Margin$1;\n      /** Description of elements paddings. */\n      padding?: Margin$1;\n      /** Sections of the layout, which allow manage fields */\n      sections?: Section$1[];\n  }\n  interface ItemLayout$1 {\n      /** Form field reference id. */\n      fieldId?: string;\n      /** Horizontal coordinate in the grid. */\n      row?: number | null;\n      /** Vertical coordinate in the grid. */\n      column?: number | null;\n      /** Height. */\n      width?: number | null;\n      /** Width. */\n      height?: number | null;\n  }\n  interface Margin$1 {\n      /** Horizontal value. */\n      horizontal?: number | null;\n      /** Vertical value. */\n      vertical?: number | null;\n  }\n  interface Section$1 {\n      /** Id of the section */\n      _id?: string;\n      /** Horizontal coordinate in the grid. */\n      row?: number | null;\n      /**\n       * A list of field identifiers that are permitted to be placed within a section.\n       * The section will only accept fields with IDs specified in this list.\n       * If the section encounters the $new key within the list,\n       * it allows the inclusion of fields not explicitly listed,\n       * enabling dynamic addition of new fields.\n       */\n      allowedFieldIds?: string[];\n  }\n  interface FormRule$1 {\n      /** Id of the rule */\n      _id?: string;\n      /** Rule on which item properties or layouts will be changed. */\n      condition?: Record<string, any> | null;\n      /**\n       * Form items with defined properties that will be\n       * changed when given condition is resolved to true.\n       */\n      overrides?: FormOverride$1[];\n      /** Name of the rule */\n      name?: string | null;\n  }\n  enum OverrideEntityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      FIELD = \"FIELD\",\n      FORM = \"FORM\",\n      NESTED_FORM_FIELD = \"NESTED_FORM_FIELD\"\n  }\n  interface FormOverride$1 {\n      /** Override entity type. */\n      entityType?: OverrideEntityType$1;\n      /** Overridden entity id. Either fieldId, or \"{fieldIdWithNestedForm}/{nestedFormFieldId}\" */\n      entityId?: string | null;\n      /** Form entity properties path with new value, that will be changed on condition. */\n      valueChanges?: Record<string, any>;\n  }\n  interface FormProperties$1 {\n      /** Form name. */\n      name?: string | null;\n      /** Identifies if the form is disabled. */\n      disabled?: boolean;\n  }\n  enum Kind$1 {\n      REGULAR = \"REGULAR\",\n      EXTENSION = \"EXTENSION\"\n  }\n  interface PostSubmissionTriggers$1 {\n      /** Upserts a contact from the submission data. */\n      upsertContact?: UpsertContact$1;\n  }\n  interface UpsertContact$1 {\n      /** Fields mapping (target field mapped to corresponding contact field). */\n      fieldsMapping?: Record<string, FormFieldContactInfo$1>;\n      /**\n       * List of contact label keys.\n       * [Contact labels](https://support.wix.com/en/article/adding-labels-to-contacts-in-your-contact-list)\n       * help categorize contacts.\n       */\n      labels?: string[];\n  }\n  interface FormFieldContactInfo$1 extends FormFieldContactInfoAdditionalInfoOneOf$1 {\n      /** Email info. */\n      emailInfo?: EmailInfo$1;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo$1;\n      /** Address info. */\n      addressInfo?: AddressInfo$1;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo$1;\n      /** Field mapped to contacts. */\n      contactField?: ContactField$1;\n  }\n  /** @oneof */\n  interface FormFieldContactInfoAdditionalInfoOneOf$1 {\n      /** Email info. */\n      emailInfo?: EmailInfo$1;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo$1;\n      /** Address info. */\n      addressInfo?: AddressInfo$1;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo$1;\n  }\n  enum EmailInfoTag$1 {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum PhoneInfoTag$1 {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum Tag$1 {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\"\n  }\n  enum ContactField$1 {\n      UNDEFINED = \"UNDEFINED\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      COMPANY = \"COMPANY\",\n      POSITION = \"POSITION\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      ADDRESS = \"ADDRESS\",\n      BIRTHDATE = \"BIRTHDATE\",\n      CUSTOM_FIELD = \"CUSTOM_FIELD\",\n      SUBSCRIPTION = \"SUBSCRIPTION\",\n      VAT_ID = \"VAT_ID\"\n  }\n  interface EmailInfo$1 {\n      /** Email tag. */\n      tag?: EmailInfoTag$1;\n  }\n  interface PhoneInfo$1 {\n      /** Phone tag. */\n      tag?: PhoneInfoTag$1;\n  }\n  interface AddressInfo$1 {\n      /** Address tag. */\n      tag?: Tag$1;\n  }\n  interface CustomFieldInfo$1 {\n      /** Custom field key. */\n      key?: string;\n  }\n  interface NestedForm$1 {\n      /** Targets which have this form. */\n      targets?: string[];\n      /** Nested form. */\n      form?: Form$1;\n  }\n  interface ValidateSpamResponse {\n      /** The created SpamSubmission. */\n      spamSubmission?: SpamSubmission;\n      /** Is the submission a spam. */\n      spam?: boolean;\n  }\n  interface CreateSpamSubmissionRequest {\n      /** Spam submission to be created. */\n      spamSubmission: SpamSubmission;\n  }\n  interface CreateSpamSubmissionResponse {\n      /** The created spam submission. */\n      spamSubmission?: SpamSubmission;\n  }\n  interface GetSpamSubmissionRequest {\n      /** Id of the spam submission to retrieve. */\n      spamSubmissionId: string;\n  }\n  interface GetSpamSubmissionResponse {\n      /** The retrieved spam submission. */\n      spamSubmission?: SpamSubmission;\n  }\n  interface DeleteSpamSubmissionRequest {\n      /** Id of the spam submission to delete. */\n      spamSubmissionId: string;\n  }\n  interface DeleteSpamSubmissionResponse {\n  }\n  interface ReportNotSpamSubmissionRequest$1 {\n      /** Id of the spam submission to report as not spam. */\n      spamSubmissionId: string;\n  }\n  interface ReportNotSpamSubmissionResponse$1 {\n      /** Created submission */\n      submission?: FormSubmission$3;\n  }\n  interface ReportSpamSubmissionRequest$1 {\n      /** Id of the submission to report as spam. */\n      submissionId: string;\n  }\n  interface ReportSpamSubmissionResponse$1 {\n      /** Created spam submission */\n      spamSubmission?: SpamSubmission;\n  }\n  interface QuerySpamSubmissionsRequest {\n      /** WQL expression. */\n      query: CursorQuery$2;\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       */\n      filter?: Record<string, any> | null;\n      /** Sort object. */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySpamSubmissionsResponse {\n      /** The retrieved SpamSubmissions. */\n      spamSubmissions?: SpamSubmission[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateSpamSubmissionRequest {\n      /** Spam submission to be updated, may be partial. */\n      spamSubmission: SpamSubmission;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateSpamSubmissionResponse {\n      /** Updated spam submission. */\n      spamSubmission?: SpamSubmission;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface Empty$2 {\n  }\n  /**\n   * Checks if submission is a spam. For spam, persists a spam submission.\n   * @param submission - Submission.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.form\n   * @requiredField options.form._id\n   * @requiredField options.form.fields\n   * @requiredField submission\n   * @requiredField submission.formId\n   */\n  function validateSpam(submission: FormSubmission$3, options: ValidateSpamOptions): Promise<ValidateSpamResponse>;\n  interface ValidateSpamOptions {\n      /** Form. */\n      form: Form$1;\n  }\n  /**\n   * Creates a new spam submission.\n   * To upload submission media, use the FormSubmissionService.getMediaUploadUrl endpoint\n   * @param spamSubmission - Spam submission to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField spamSubmission\n   * @requiredField spamSubmission.formId\n   * @requiredField spamSubmission.reportReason\n   * @requiredField spamSubmission.submissions\n   * @requiredField spamSubmission.submitter\n   * @adminMethod\n   * @returns The created spam submission.\n   */\n  function createSpamSubmission(spamSubmission: SpamSubmission): Promise<SpamSubmission>;\n  /**\n   * Get a spam submission by id.\n   * @param spamSubmissionId - Id of the spam submission to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField spamSubmissionId\n   * @adminMethod\n   * @returns The retrieved spam submission.\n   */\n  function getSpamSubmission(spamSubmissionId: string): Promise<SpamSubmission>;\n  /**\n   * Delete a spam submission.\n   * @param spamSubmissionId - Id of the spam submission to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField spamSubmissionId\n   * @adminMethod\n   */\n  function deleteSpamSubmission(spamSubmissionId: string): Promise<void>;\n  /**\n   * Report a spam submission as not spam. The submission is created, and the spam one is deleted.\n   * Submission automations are triggered the same way as in standard submission creation flow.\n   * @param spamSubmissionId - Id of the spam submission to report as not spam.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField spamSubmissionId\n   * @adminMethod\n   */\n  function reportNotSpamSubmission$1(spamSubmissionId: string): Promise<ReportNotSpamSubmissionResponse$1>;\n  /**\n   * Report a submission as spam. The spam submission is created, and the submission is deleted.\n   * @param submissionId - Id of the submission to report as spam.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   * @adminMethod\n   */\n  function reportSpamSubmission$1(submissionId: string): Promise<ReportSpamSubmissionResponse$1>;\n  /**\n   * Query spam submissions using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function querySpamSubmissions(): SpamSubmissionsQueryBuilder;\n  interface QueryCursorResult$2 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SpamSubmissionsQueryResult extends QueryCursorResult$2 {\n      items: SpamSubmission[];\n      query: SpamSubmissionsQueryBuilder;\n      next: () => Promise<SpamSubmissionsQueryResult>;\n      prev: () => Promise<SpamSubmissionsQueryResult>;\n  }\n  interface SpamSubmissionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'formId' | 'namespace' | '_createdDate' | 'reportReason', value: any) => SpamSubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'formId' | '_createdDate' | 'reportReason', value: any) => SpamSubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate', value: any) => SpamSubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate', value: any) => SpamSubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate', value: any) => SpamSubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate', value: any) => SpamSubmissionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'formId' | '_createdDate' | 'reportReason', value: any) => SpamSubmissionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'formId' | '_createdDate' | 'reportReason'>) => SpamSubmissionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'formId' | '_createdDate' | 'reportReason'>) => SpamSubmissionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SpamSubmissionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SpamSubmissionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SpamSubmissionsQueryResult>;\n  }\n  /**\n   * Updates a spam submission, supports partial update.\n   * You need to pass the latest 'revision' for a successful update.\n   * @param _id - Spam submission id.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField spamSubmission\n   * @requiredField spamSubmission.formId\n   * @requiredField spamSubmission.revision\n   * @adminMethod\n   * @returns Updated spam submission.\n   */\n  function updateSpamSubmission(_id: string | null, spamSubmission: UpdateSpamSubmission, options?: UpdateSpamSubmissionOptions): Promise<SpamSubmission>;\n  interface UpdateSpamSubmission {\n      /**\n       * Spam submission id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Id of a form to which submission belongs. */\n      formId?: string;\n      /**\n       * Form namespace to which submissions belong.\n       * @readonly\n       */\n      namespace?: string;\n      /**\n       * Submission submitter ID.\n       * @readonly\n       */\n      submitter?: Submitter$3;\n      /** Submission values where key is a target of a form field and value is a submissions for the given field. */\n      submissions?: Record<string, any>;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Identifies the reason why the submission was reported as spam. */\n      reportReason?: ReportReason$1;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields$3;\n  }\n  interface UpdateSpamSubmissionOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  \n  type formsV4SpamSubmission_universal_d_FormSpamSubmissionSpiConfig = FormSpamSubmissionSpiConfig;\n  type formsV4SpamSubmission_universal_d_FormsSpamSubmissionsNamespaceConfig = FormsSpamSubmissionsNamespaceConfig;\n  type formsV4SpamSubmission_universal_d_SpamSubmissionPermissions = SpamSubmissionPermissions;\n  type formsV4SpamSubmission_universal_d_SpamSubmission = SpamSubmission;\n  type formsV4SpamSubmission_universal_d_ValidateSpamRequest = ValidateSpamRequest;\n  type formsV4SpamSubmission_universal_d_Owner = Owner;\n  type formsV4SpamSubmission_universal_d_OwnerOwnerOneOf = OwnerOwnerOneOf;\n  type formsV4SpamSubmission_universal_d_DateTimeInputDateTimeInputTypeOptionsOneOf = DateTimeInputDateTimeInputTypeOptionsOneOf;\n  type formsV4SpamSubmission_universal_d_DateFormatPart = DateFormatPart;\n  const formsV4SpamSubmission_universal_d_DateFormatPart: typeof DateFormatPart;\n  type formsV4SpamSubmission_universal_d_DateTimeInputType = DateTimeInputType;\n  const formsV4SpamSubmission_universal_d_DateTimeInputType: typeof DateTimeInputType;\n  type formsV4SpamSubmission_universal_d_DateTimeOptions = DateTimeOptions;\n  type formsV4SpamSubmission_universal_d_DateOptions = DateOptions;\n  type formsV4SpamSubmission_universal_d_TimeOptions = TimeOptions;\n  type formsV4SpamSubmission_universal_d_PropertiesTypePropertiesType = PropertiesTypePropertiesType;\n  const formsV4SpamSubmission_universal_d_PropertiesTypePropertiesType: typeof PropertiesTypePropertiesType;\n  type formsV4SpamSubmission_universal_d_ValidateSpamResponse = ValidateSpamResponse;\n  type formsV4SpamSubmission_universal_d_CreateSpamSubmissionRequest = CreateSpamSubmissionRequest;\n  type formsV4SpamSubmission_universal_d_CreateSpamSubmissionResponse = CreateSpamSubmissionResponse;\n  type formsV4SpamSubmission_universal_d_GetSpamSubmissionRequest = GetSpamSubmissionRequest;\n  type formsV4SpamSubmission_universal_d_GetSpamSubmissionResponse = GetSpamSubmissionResponse;\n  type formsV4SpamSubmission_universal_d_DeleteSpamSubmissionRequest = DeleteSpamSubmissionRequest;\n  type formsV4SpamSubmission_universal_d_DeleteSpamSubmissionResponse = DeleteSpamSubmissionResponse;\n  type formsV4SpamSubmission_universal_d_QuerySpamSubmissionsRequest = QuerySpamSubmissionsRequest;\n  type formsV4SpamSubmission_universal_d_QuerySpamSubmissionsResponse = QuerySpamSubmissionsResponse;\n  type formsV4SpamSubmission_universal_d_UpdateSpamSubmissionRequest = UpdateSpamSubmissionRequest;\n  type formsV4SpamSubmission_universal_d_UpdateSpamSubmissionResponse = UpdateSpamSubmissionResponse;\n  const formsV4SpamSubmission_universal_d_validateSpam: typeof validateSpam;\n  type formsV4SpamSubmission_universal_d_ValidateSpamOptions = ValidateSpamOptions;\n  const formsV4SpamSubmission_universal_d_createSpamSubmission: typeof createSpamSubmission;\n  const formsV4SpamSubmission_universal_d_getSpamSubmission: typeof getSpamSubmission;\n  const formsV4SpamSubmission_universal_d_deleteSpamSubmission: typeof deleteSpamSubmission;\n  const formsV4SpamSubmission_universal_d_querySpamSubmissions: typeof querySpamSubmissions;\n  type formsV4SpamSubmission_universal_d_SpamSubmissionsQueryResult = SpamSubmissionsQueryResult;\n  type formsV4SpamSubmission_universal_d_SpamSubmissionsQueryBuilder = SpamSubmissionsQueryBuilder;\n  const formsV4SpamSubmission_universal_d_updateSpamSubmission: typeof updateSpamSubmission;\n  type formsV4SpamSubmission_universal_d_UpdateSpamSubmission = UpdateSpamSubmission;\n  type formsV4SpamSubmission_universal_d_UpdateSpamSubmissionOptions = UpdateSpamSubmissionOptions;\n  namespace formsV4SpamSubmission_universal_d {\n    export {\n      formsV4SpamSubmission_universal_d_FormSpamSubmissionSpiConfig as FormSpamSubmissionSpiConfig,\n      SpiBaseUri$1 as SpiBaseUri,\n      AlternativeUri$1 as AlternativeUri,\n      formsV4SpamSubmission_universal_d_FormsSpamSubmissionsNamespaceConfig as FormsSpamSubmissionsNamespaceConfig,\n      formsV4SpamSubmission_universal_d_SpamSubmissionPermissions as SpamSubmissionPermissions,\n      Context$1 as Context,\n      IdentityType$2 as IdentityType,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      formsV4SpamSubmission_universal_d_SpamSubmission as SpamSubmission,\n      Submitter$3 as Submitter,\n      SubmitterSubmitterOneOf$3 as SubmitterSubmitterOneOf,\n      ReportReason$1 as ReportReason,\n      ExtendedFields$3 as ExtendedFields,\n      formsV4SpamSubmission_universal_d_ValidateSpamRequest as ValidateSpamRequest,\n      FormSubmission$3 as FormSubmission,\n      SubmissionStatus$3 as SubmissionStatus,\n      formsV4SpamSubmission_universal_d_Owner as Owner,\n      formsV4SpamSubmission_universal_d_OwnerOwnerOneOf as OwnerOwnerOneOf,\n      OrderDetails$3 as OrderDetails,\n      Form$1 as Form,\n      FormField$1 as FormField,\n      StringType$1 as StringType,\n      StringTypeFormatOptionsOneOf$1 as StringTypeFormatOptionsOneOf,\n      Format$1 as Format,\n      StringErrorMessages$1 as StringErrorMessages,\n      DateTimeConstraints$1 as DateTimeConstraints,\n      NumberType$1 as NumberType,\n      NumberErrorMessages$1 as NumberErrorMessages,\n      IntegerType$1 as IntegerType,\n      BooleanType$1 as BooleanType,\n      BooleanErrorMessages$1 as BooleanErrorMessages,\n      ArrayType$1 as ArrayType,\n      ObjectType$1 as ObjectType,\n      PropertiesType$1 as PropertiesType,\n      PropertiesTypePropertiesTypeOneOf$1 as PropertiesTypePropertiesTypeOneOf,\n      ObjectErrorMessages$1 as ObjectErrorMessages,\n      ArrayItems$1 as ArrayItems,\n      ArrayItemsItemsOneOf$1 as ArrayItemsItemsOneOf,\n      ArrayErrorMessages$1 as ArrayErrorMessages,\n      PredefinedValidation$1 as PredefinedValidation,\n      PredefinedValidationFormatOptionsOneOf$1 as PredefinedValidationFormatOptionsOneOf,\n      ValidationFormat$1 as ValidationFormat,\n      PaymentType$1 as PaymentType,\n      ProductType$1 as ProductType,\n      PriceType$1 as PriceType,\n      QuantityLimit$1 as QuantityLimit,\n      FixedPriceOptions$1 as FixedPriceOptions,\n      DynamicPriceOptions$1 as DynamicPriceOptions,\n      Product$1 as Product,\n      ProductPriceOptionsOneOf$1 as ProductPriceOptionsOneOf,\n      NestedFormFieldOverrides$1 as NestedFormFieldOverrides,\n      Validation$1 as Validation,\n      ValidationValidationOneOf$1 as ValidationValidationOneOf,\n      DataExtensionsDetails$1 as DataExtensionsDetails,\n      NestedFormOverrides$1 as NestedFormOverrides,\n      FormFieldV2$1 as FormFieldV2,\n      FormFieldV2FieldTypeOptionsOneOf$1 as FormFieldV2FieldTypeOptionsOneOf,\n      InputFieldStringType$1 as InputFieldStringType,\n      FormatEnumFormat$1 as FormatEnumFormat,\n      InputFieldStringErrorMessages$1 as InputFieldStringErrorMessages,\n      StringComponentType$1 as StringComponentType,\n      TextInput$1 as TextInput,\n      RichContent$1 as RichContent,\n      Node$1 as Node,\n      NodeDataOneOf$1 as NodeDataOneOf,\n      NodeType$1 as NodeType,\n      NodeStyle$1 as NodeStyle,\n      ButtonData$1 as ButtonData,\n      Border$1 as Border,\n      Colors$1 as Colors,\n      PluginContainerData$1 as PluginContainerData,\n      WidthType$1 as WidthType,\n      PluginContainerDataWidth$1 as PluginContainerDataWidth,\n      PluginContainerDataWidthDataOneOf$1 as PluginContainerDataWidthDataOneOf,\n      PluginContainerDataAlignment$1 as PluginContainerDataAlignment,\n      Spoiler$1 as Spoiler,\n      Height$1 as Height,\n      Type$1 as Type,\n      Styles$1 as Styles,\n      Link$1 as Link,\n      LinkDataOneOf$1 as LinkDataOneOf,\n      LinkTarget$1 as LinkTarget,\n      Rel$1 as Rel,\n      CodeBlockData$1 as CodeBlockData,\n      TextStyle$1 as TextStyle,\n      TextAlignment$1 as TextAlignment,\n      DividerData$1 as DividerData,\n      LineStyle$1 as LineStyle,\n      Width$1 as Width,\n      Alignment$1 as Alignment,\n      FileData$1 as FileData,\n      ViewMode$1 as ViewMode,\n      FileSource$1 as FileSource,\n      FileSourceDataOneOf$1 as FileSourceDataOneOf,\n      PDFSettings$1 as PDFSettings,\n      GalleryData$1 as GalleryData,\n      Media$1 as Media,\n      Image$1 as Image,\n      Video$1 as Video,\n      Item$1 as Item,\n      ItemDataOneOf$1 as ItemDataOneOf,\n      GalleryOptions$1 as GalleryOptions,\n      LayoutType$1 as LayoutType,\n      Orientation$1 as Orientation,\n      Crop$1 as Crop,\n      ThumbnailsAlignment$1 as ThumbnailsAlignment,\n      Layout$1 as Layout,\n      ItemStyle$1 as ItemStyle,\n      Thumbnails$1 as Thumbnails,\n      GIFData$1 as GIFData,\n      GIF$1 as GIF,\n      HeadingData$1 as HeadingData,\n      HTMLData$1 as HTMLData,\n      HTMLDataDataOneOf$1 as HTMLDataDataOneOf,\n      Source$1 as Source,\n      ImageData$1 as ImageData,\n      LinkPreviewData$1 as LinkPreviewData,\n      MapData$1 as MapData,\n      MapSettings$1 as MapSettings,\n      MapType$1 as MapType,\n      ParagraphData$1 as ParagraphData,\n      PollData$1 as PollData,\n      ViewRole$1 as ViewRole,\n      VoteRole$1 as VoteRole,\n      Permissions$1 as Permissions,\n      PollOption$1 as PollOption,\n      Settings$1 as Settings,\n      PollLayoutType$1 as PollLayoutType,\n      PollLayoutDirection$1 as PollLayoutDirection,\n      PollLayout$1 as PollLayout,\n      OptionLayout$1 as OptionLayout,\n      BackgroundType$1 as BackgroundType,\n      Gradient$1 as Gradient,\n      Background$1 as Background,\n      BackgroundBackgroundOneOf$1 as BackgroundBackgroundOneOf,\n      PollDesign$1 as PollDesign,\n      OptionDesign$1 as OptionDesign,\n      Poll$1 as Poll,\n      PollDataLayout$1 as PollDataLayout,\n      Design$1 as Design,\n      TextData$1 as TextData,\n      Decoration$1 as Decoration,\n      DecorationDataOneOf$1 as DecorationDataOneOf,\n      DecorationType$1 as DecorationType,\n      AnchorData$1 as AnchorData,\n      ColorData$1 as ColorData,\n      LinkData$1 as LinkData,\n      MentionData$1 as MentionData,\n      FontSizeData$1 as FontSizeData,\n      FontType$1 as FontType,\n      AppEmbedData$1 as AppEmbedData,\n      AppEmbedDataAppDataOneOf$1 as AppEmbedDataAppDataOneOf,\n      AppType$1 as AppType,\n      BookingData$1 as BookingData,\n      EventData$1 as EventData,\n      VideoData$1 as VideoData,\n      PlaybackOptions$1 as PlaybackOptions,\n      EmbedData$1 as EmbedData,\n      Oembed$1 as Oembed,\n      CollapsibleListData$1 as CollapsibleListData,\n      InitialExpandedItems$1 as InitialExpandedItems,\n      Direction$1 as Direction,\n      TableData$1 as TableData,\n      Dimensions$1 as Dimensions,\n      TableCellData$1 as TableCellData,\n      VerticalAlignment$1 as VerticalAlignment,\n      CellStyle$1 as CellStyle,\n      BorderColors$1 as BorderColors,\n      NullValue$1 as NullValue,\n      ListValue$1 as ListValue,\n      AudioData$1 as AudioData,\n      OrderedListData$1 as OrderedListData,\n      BulletedListData$1 as BulletedListData,\n      BlockquoteData$1 as BlockquoteData,\n      Metadata$1 as Metadata,\n      DocumentStyle$1 as DocumentStyle,\n      TextNodeStyle$1 as TextNodeStyle,\n      RadioGroup$1 as RadioGroup,\n      RadioGroupOption$1 as RadioGroupOption,\n      RadioGroupCustomOption$1 as RadioGroupCustomOption,\n      Dropdown$1 as Dropdown,\n      DropdownOption$1 as DropdownOption,\n      DropdownCustomOption$1 as DropdownCustomOption,\n      DateTimeInput$1 as DateTimeInput,\n      formsV4SpamSubmission_universal_d_DateTimeInputDateTimeInputTypeOptionsOneOf as DateTimeInputDateTimeInputTypeOptionsOneOf,\n      formsV4SpamSubmission_universal_d_DateFormatPart as DateFormatPart,\n      formsV4SpamSubmission_universal_d_DateTimeInputType as DateTimeInputType,\n      formsV4SpamSubmission_universal_d_DateTimeOptions as DateTimeOptions,\n      formsV4SpamSubmission_universal_d_DateOptions as DateOptions,\n      formsV4SpamSubmission_universal_d_TimeOptions as TimeOptions,\n      InputFieldNumberType$1 as InputFieldNumberType,\n      InputFieldNumberErrorMessages$1 as InputFieldNumberErrorMessages,\n      NumberComponentType$1 as NumberComponentType,\n      NumberInput$1 as NumberInput,\n      InputFieldBooleanType$1 as InputFieldBooleanType,\n      InputFieldBooleanErrorMessages$1 as InputFieldBooleanErrorMessages,\n      BooleanComponentType$1 as BooleanComponentType,\n      Checkbox$1 as Checkbox,\n      InputFieldArrayType$1 as InputFieldArrayType,\n      ItemType$1 as ItemType,\n      InputFieldIntegerType$1 as InputFieldIntegerType,\n      InputFieldObjectType$1 as InputFieldObjectType,\n      formsV4SpamSubmission_universal_d_PropertiesTypePropertiesType as PropertiesTypePropertiesType,\n      ObjectTypePropertiesType$1 as ObjectTypePropertiesType,\n      ObjectTypePropertiesTypePropertiesTypeOptionsOneOf$1 as ObjectTypePropertiesTypePropertiesTypeOptionsOneOf,\n      InputFieldObjectErrorMessages$1 as InputFieldObjectErrorMessages,\n      ArrayTypeArrayItems$1 as ArrayTypeArrayItems,\n      ArrayTypeArrayItemsItemTypeOptionsOneOf$1 as ArrayTypeArrayItemsItemTypeOptionsOneOf,\n      InputFieldArrayErrorMessages$1 as InputFieldArrayErrorMessages,\n      ComponentType$1 as ComponentType,\n      CheckboxGroup$1 as CheckboxGroup,\n      MediaItem$1 as MediaItem,\n      MediaItemMediaOneOf$1 as MediaItemMediaOneOf,\n      Option$1 as Option,\n      CustomOption$1 as CustomOption,\n      WixFileComponentType$1 as WixFileComponentType,\n      FileUpload$1 as FileUpload,\n      UploadFileFormat$1 as UploadFileFormat,\n      PaymentComponentType$1 as PaymentComponentType,\n      ProductCheckboxGroup$1 as ProductCheckboxGroup,\n      ProductCheckboxGroupOption$1 as ProductCheckboxGroupOption,\n      InputType$1 as InputType,\n      _String$1 as _String,\n      _StringComponentTypeOptionsOneOf$1 as _StringComponentTypeOptionsOneOf,\n      _Number$1 as _Number,\n      _NumberComponentTypeOptionsOneOf$1 as _NumberComponentTypeOptionsOneOf,\n      _Boolean$1 as _Boolean,\n      _BooleanComponentTypeOptionsOneOf$1 as _BooleanComponentTypeOptionsOneOf,\n      _Array$1 as _Array,\n      _ArrayComponentTypeOptionsOneOf$1 as _ArrayComponentTypeOptionsOneOf,\n      _Object$1 as _Object,\n      _ObjectValidationOneOf$1 as _ObjectValidationOneOf,\n      WixFile$1 as WixFile,\n      WixFileComponentTypeOptionsOneOf$1 as WixFileComponentTypeOptionsOneOf,\n      Payment$1 as Payment,\n      PaymentComponentTypeOptionsOneOf$1 as PaymentComponentTypeOptionsOneOf,\n      Header$1 as Header,\n      RichText$1 as RichText,\n      Target$1 as Target,\n      ThankYouMessage$1 as ThankYouMessage,\n      Redirect$1 as Redirect,\n      FieldType$1 as FieldType,\n      InputField$1 as InputField,\n      InputFieldInputTypeOptionsOneOf$1 as InputFieldInputTypeOptionsOneOf,\n      DisplayField$1 as DisplayField,\n      DisplayFieldComponentTypeOneOf$1 as DisplayFieldComponentTypeOneOf,\n      SubmitButton$1 as SubmitButton,\n      SubmitButtonSubmitActionOneOf$1 as SubmitButtonSubmitActionOneOf,\n      Step$1 as Step,\n      FormLayout$1 as FormLayout,\n      BreakPoint$1 as BreakPoint,\n      ItemLayout$1 as ItemLayout,\n      Margin$1 as Margin,\n      Section$1 as Section,\n      FormRule$1 as FormRule,\n      OverrideEntityType$1 as OverrideEntityType,\n      FormOverride$1 as FormOverride,\n      FormProperties$1 as FormProperties,\n      Kind$1 as Kind,\n      PostSubmissionTriggers$1 as PostSubmissionTriggers,\n      UpsertContact$1 as UpsertContact,\n      FormFieldContactInfo$1 as FormFieldContactInfo,\n      FormFieldContactInfoAdditionalInfoOneOf$1 as FormFieldContactInfoAdditionalInfoOneOf,\n      EmailInfoTag$1 as EmailInfoTag,\n      PhoneInfoTag$1 as PhoneInfoTag,\n      Tag$1 as Tag,\n      ContactField$1 as ContactField,\n      EmailInfo$1 as EmailInfo,\n      PhoneInfo$1 as PhoneInfo,\n      AddressInfo$1 as AddressInfo,\n      CustomFieldInfo$1 as CustomFieldInfo,\n      NestedForm$1 as NestedForm,\n      formsV4SpamSubmission_universal_d_ValidateSpamResponse as ValidateSpamResponse,\n      formsV4SpamSubmission_universal_d_CreateSpamSubmissionRequest as CreateSpamSubmissionRequest,\n      formsV4SpamSubmission_universal_d_CreateSpamSubmissionResponse as CreateSpamSubmissionResponse,\n      formsV4SpamSubmission_universal_d_GetSpamSubmissionRequest as GetSpamSubmissionRequest,\n      formsV4SpamSubmission_universal_d_GetSpamSubmissionResponse as GetSpamSubmissionResponse,\n      formsV4SpamSubmission_universal_d_DeleteSpamSubmissionRequest as DeleteSpamSubmissionRequest,\n      formsV4SpamSubmission_universal_d_DeleteSpamSubmissionResponse as DeleteSpamSubmissionResponse,\n      ReportNotSpamSubmissionRequest$1 as ReportNotSpamSubmissionRequest,\n      ReportNotSpamSubmissionResponse$1 as ReportNotSpamSubmissionResponse,\n      ReportSpamSubmissionRequest$1 as ReportSpamSubmissionRequest,\n      ReportSpamSubmissionResponse$1 as ReportSpamSubmissionResponse,\n      formsV4SpamSubmission_universal_d_QuerySpamSubmissionsRequest as QuerySpamSubmissionsRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      formsV4SpamSubmission_universal_d_QuerySpamSubmissionsResponse as QuerySpamSubmissionsResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      formsV4SpamSubmission_universal_d_UpdateSpamSubmissionRequest as UpdateSpamSubmissionRequest,\n      formsV4SpamSubmission_universal_d_UpdateSpamSubmissionResponse as UpdateSpamSubmissionResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      Empty$2 as Empty,\n      formsV4SpamSubmission_universal_d_validateSpam as validateSpam,\n      formsV4SpamSubmission_universal_d_ValidateSpamOptions as ValidateSpamOptions,\n      formsV4SpamSubmission_universal_d_createSpamSubmission as createSpamSubmission,\n      formsV4SpamSubmission_universal_d_getSpamSubmission as getSpamSubmission,\n      formsV4SpamSubmission_universal_d_deleteSpamSubmission as deleteSpamSubmission,\n      reportNotSpamSubmission$1 as reportNotSpamSubmission,\n      reportSpamSubmission$1 as reportSpamSubmission,\n      formsV4SpamSubmission_universal_d_querySpamSubmissions as querySpamSubmissions,\n      formsV4SpamSubmission_universal_d_SpamSubmissionsQueryResult as SpamSubmissionsQueryResult,\n      formsV4SpamSubmission_universal_d_SpamSubmissionsQueryBuilder as SpamSubmissionsQueryBuilder,\n      formsV4SpamSubmission_universal_d_updateSpamSubmission as updateSpamSubmission,\n      formsV4SpamSubmission_universal_d_UpdateSpamSubmission as UpdateSpamSubmission,\n      formsV4SpamSubmission_universal_d_UpdateSpamSubmissionOptions as UpdateSpamSubmissionOptions,\n    };\n  }\n  \n  interface ValidateSubmissionRequest extends ValidateSubmissionRequestActionsOneOf {\n      /** Data for updating an existing submission. */\n      updateOptions?: UpdateOptions;\n      /** Submission to validate. */\n      submission: FormSubmission$2;\n      /** Whether to create or update the submission. */\n      actionType: ActionType;\n  }\n  /** @oneof */\n  interface ValidateSubmissionRequestActionsOneOf {\n      /** Data for updating an existing submission. */\n      updateOptions?: UpdateOptions;\n  }\n  /** Form submission that was created or retrieved. */\n  interface FormSubmission$2 {\n      /**\n       * Submission ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the form which the submission belongs to. */\n      formId?: string;\n      /**\n       * The app which the form submissions belong to. For example, the namespace for the Wix Forms app is `wix.form_app.form`. Call `Get Submission` to retrieve the namespace.\n       * @readonly\n       */\n      namespace?: string;\n      /**\n       * Status of the submission.\n       * - `PENDING`: A submission is created, but has not yet been recorded in the Wix Forms collection.\n       * - `PAYMENT_WAITING`: A form submission requiring payment is created.\n       * - `PAYMENT_CANCELED`: An order of a form submission is canceled.\n       * - `CONFIRMED`: A submission is recorded in the Wix Forms collection.\n       */\n      status?: SubmissionStatus$2;\n      /** Submission values where `key` is the form field and `value` is the data submitted for the given field. */\n      submissions?: Record<string, any>;\n      /**\n       * Date and time the form submission was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the form submission was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * ID of the visitor that submitted the form.\n       * @readonly\n       */\n      submitter?: Submitter$2;\n      /** Whether a site owner marked a submission as \"seen\". */\n      seen?: boolean;\n      /** Data extension object that holds users' and apps' fields. */\n      extendedFields?: ExtendedFields$2;\n      /**\n       * Order details. <br>\n       * <b>Note</b>: This object is only applicable when submittng a form in the Wix Payments app.\n       */\n      orderDetails?: OrderDetails$2;\n  }\n  enum SubmissionStatus$2 {\n      UNDEFINED = \"UNDEFINED\",\n      PENDING = \"PENDING\",\n      CONFIRMED = \"CONFIRMED\",\n      PAYMENT_WAITING = \"PAYMENT_WAITING\",\n      PAYMENT_CANCELED = \"PAYMENT_CANCELED\"\n  }\n  interface Submitter$2 extends SubmitterSubmitterOneOf$2 {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface SubmitterSubmitterOneOf$2 {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  interface ExtendedFields$2 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface OrderDetails$2 {\n      /**\n       * ID of the order related to submission (only applicable if a form has payments).\n       * @readonly\n       */\n      orderId?: string | null;\n      /**\n       * Order number.\n       * @readonly\n       */\n      number?: string | null;\n      /**\n       * Currency.\n       * @readonly\n       */\n      currency?: string | null;\n      /**\n       * Item subtotal.\n       * @readonly\n       */\n      itemSubtotal?: string;\n      /**\n       * ID of the checkout related to submission (only applicable if a form has payments).\n       * @readonly\n       */\n      checkoutId?: string;\n  }\n  enum ActionType {\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      UPDATE = \"UPDATE\",\n      CREATE = \"CREATE\"\n  }\n  interface UpdateOptions {\n      /** Submission to update. */\n      currentSubmission?: FormSubmission$2;\n  }\n  interface ValidateSubmissionResponse {\n      /**\n       * List of validation errors. <br>\n       * If there are no validation errors, returns an empty array.\n       */\n      errors?: SubmissionValidationError[];\n  }\n  interface SubmissionValidationError extends SubmissionValidationErrorErrorMessageOneOf {\n      /** Predefined error type. */\n      errorType?: SubmissionErrorType;\n      /** Custom error message. The message is displayed instead of an error type. */\n      customErrorMessage?: string;\n      /** Path indicating the source of the error, such as `form.fields.target`. */\n      errorPath?: string;\n      /** Additional error parameters. */\n      params?: Record<string, any> | null;\n  }\n  /** @oneof */\n  interface SubmissionValidationErrorErrorMessageOneOf {\n      /** Predefined error type. */\n      errorType?: SubmissionErrorType;\n      /** Custom error message. The message is displayed instead of an error type. */\n      customErrorMessage?: string;\n  }\n  enum SubmissionErrorType {\n      /** Error is unknown or not suitable for any of options bellow */\n      UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n      /** Type of submitted value is incorrect */\n      TYPE_ERROR = \"TYPE_ERROR\",\n      /** Value is required to be provided */\n      REQUIRED_VALUE_ERROR = \"REQUIRED_VALUE_ERROR\",\n      /** Value contains additional properties not expected in schema */\n      UNKNOWN_VALUE_ERROR = \"UNKNOWN_VALUE_ERROR\",\n      /** Text value exceeds max length */\n      MAX_LENGTH_ERROR = \"MAX_LENGTH_ERROR\",\n      /** Text value not reaches min length */\n      MIN_LENGTH_ERROR = \"MIN_LENGTH_ERROR\",\n      /** Text value not applicable for expected pattern */\n      PATTERN_ERROR = \"PATTERN_ERROR\",\n      /** Text value not applicable for expected format */\n      FORMAT_ERROR = \"FORMAT_ERROR\",\n      /** Number value is too big */\n      MAX_VALUE_ERROR = \"MAX_VALUE_ERROR\",\n      /** Number value is too small */\n      MIN_VALUE_ERROR = \"MIN_VALUE_ERROR\",\n      /** Number value is not multiple of expected number */\n      MULTIPLE_OF_VALUE_ERROR = \"MULTIPLE_OF_VALUE_ERROR\",\n      /** Array value has too much items */\n      MIN_ITEMS_ERROR = \"MIN_ITEMS_ERROR\",\n      /** Array value has not enough items */\n      MAX_ITEMS_ERROR = \"MAX_ITEMS_ERROR\",\n      /** Value is not in list of allowed values */\n      NOT_ALLOWED_VALUE_ERROR = \"NOT_ALLOWED_VALUE_ERROR\",\n      /** Submitted form is disabled */\n      DISABLED_FORM_ERROR = \"DISABLED_FORM_ERROR\"\n  }\n  interface FormSubmissionSpiExtensionConfig {\n      /** URI where the service plugin Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** Namespace names. */\n      namespaceConfigs?: FormsSubmissionsExtensionNamespaceConfig[];\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  interface FormsSubmissionsExtensionNamespaceConfig {\n      /** Targeted namespace, with what submissions should trigger defined methods. */\n      namespace?: string;\n      /** Enable submission validation. */\n      submissionValidationEnabled?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData$2;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  /**\n   * > **Notes:** <br>\n   * > - The Form Submission service plugin is only available in Wix Studio and Editor X.\n   * > - The Form Submission service plugin only works with the Wix Forms app. Call [GetAppInstance](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/get-app-instance) to confirm that the app named `wix_forms` is installed on the site.\n   * <br>\n   * Validates a submission. <br>\n   * Validates a site visitor's form submission and returns any validation violations. <br>\n   * Site visitors can see the validation violations on their forms. For example, invalid fields are highlighted in red.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.actionType\n   * @requiredField options.submission\n   */\n  function validateSubmission(options?: ValidateSubmissionOptions): Promise<ValidateSubmissionResponse>;\n  interface ValidateSubmissionOptions extends ValidateSubmissionRequestActionsOneOf {\n      /** Submission to validate. */\n      submission: FormSubmission$2;\n      /** Whether to create or update the submission. */\n      actionType: ActionType;\n      /** Data for updating an existing submission. */\n      updateOptions?: UpdateOptions;\n  }\n  \n  type interfacesFormsV4SubmissionExtension_universal_d_ValidateSubmissionRequest = ValidateSubmissionRequest;\n  type interfacesFormsV4SubmissionExtension_universal_d_ValidateSubmissionRequestActionsOneOf = ValidateSubmissionRequestActionsOneOf;\n  type interfacesFormsV4SubmissionExtension_universal_d_ActionType = ActionType;\n  const interfacesFormsV4SubmissionExtension_universal_d_ActionType: typeof ActionType;\n  type interfacesFormsV4SubmissionExtension_universal_d_UpdateOptions = UpdateOptions;\n  type interfacesFormsV4SubmissionExtension_universal_d_ValidateSubmissionResponse = ValidateSubmissionResponse;\n  type interfacesFormsV4SubmissionExtension_universal_d_SubmissionValidationError = SubmissionValidationError;\n  type interfacesFormsV4SubmissionExtension_universal_d_SubmissionValidationErrorErrorMessageOneOf = SubmissionValidationErrorErrorMessageOneOf;\n  type interfacesFormsV4SubmissionExtension_universal_d_SubmissionErrorType = SubmissionErrorType;\n  const interfacesFormsV4SubmissionExtension_universal_d_SubmissionErrorType: typeof SubmissionErrorType;\n  type interfacesFormsV4SubmissionExtension_universal_d_FormSubmissionSpiExtensionConfig = FormSubmissionSpiExtensionConfig;\n  type interfacesFormsV4SubmissionExtension_universal_d_SpiBaseUri = SpiBaseUri;\n  type interfacesFormsV4SubmissionExtension_universal_d_AlternativeUri = AlternativeUri;\n  type interfacesFormsV4SubmissionExtension_universal_d_FormsSubmissionsExtensionNamespaceConfig = FormsSubmissionsExtensionNamespaceConfig;\n  type interfacesFormsV4SubmissionExtension_universal_d_Context = Context;\n  const interfacesFormsV4SubmissionExtension_universal_d_validateSubmission: typeof validateSubmission;\n  type interfacesFormsV4SubmissionExtension_universal_d_ValidateSubmissionOptions = ValidateSubmissionOptions;\n  namespace interfacesFormsV4SubmissionExtension_universal_d {\n    export {\n      interfacesFormsV4SubmissionExtension_universal_d_ValidateSubmissionRequest as ValidateSubmissionRequest,\n      interfacesFormsV4SubmissionExtension_universal_d_ValidateSubmissionRequestActionsOneOf as ValidateSubmissionRequestActionsOneOf,\n      FormSubmission$2 as FormSubmission,\n      SubmissionStatus$2 as SubmissionStatus,\n      Submitter$2 as Submitter,\n      SubmitterSubmitterOneOf$2 as SubmitterSubmitterOneOf,\n      ExtendedFields$2 as ExtendedFields,\n      OrderDetails$2 as OrderDetails,\n      interfacesFormsV4SubmissionExtension_universal_d_ActionType as ActionType,\n      interfacesFormsV4SubmissionExtension_universal_d_UpdateOptions as UpdateOptions,\n      interfacesFormsV4SubmissionExtension_universal_d_ValidateSubmissionResponse as ValidateSubmissionResponse,\n      interfacesFormsV4SubmissionExtension_universal_d_SubmissionValidationError as SubmissionValidationError,\n      interfacesFormsV4SubmissionExtension_universal_d_SubmissionValidationErrorErrorMessageOneOf as SubmissionValidationErrorErrorMessageOneOf,\n      interfacesFormsV4SubmissionExtension_universal_d_SubmissionErrorType as SubmissionErrorType,\n      interfacesFormsV4SubmissionExtension_universal_d_FormSubmissionSpiExtensionConfig as FormSubmissionSpiExtensionConfig,\n      interfacesFormsV4SubmissionExtension_universal_d_SpiBaseUri as SpiBaseUri,\n      interfacesFormsV4SubmissionExtension_universal_d_AlternativeUri as AlternativeUri,\n      interfacesFormsV4SubmissionExtension_universal_d_FormsSubmissionsExtensionNamespaceConfig as FormsSubmissionsExtensionNamespaceConfig,\n      interfacesFormsV4SubmissionExtension_universal_d_Context as Context,\n      IdentityType$1 as IdentityType,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      interfacesFormsV4SubmissionExtension_universal_d_validateSubmission as validateSubmission,\n      interfacesFormsV4SubmissionExtension_universal_d_ValidateSubmissionOptions as ValidateSubmissionOptions,\n    };\n  }\n  \n  /**\n   * FormSpamSubmissionReportReport stores a form submission spam report.\n   * It contains submission details as well as report reason.\n   */\n  interface FormSpamSubmissionReport {\n      /**\n       * Form spam submission report id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Id of a form to which the form spam submission report belongs. */\n      formId?: string;\n      /**\n       * Form namespace to which the form spam submission report belongs.\n       * @readonly\n       */\n      namespace?: string;\n      /** Form submission submitter id. */\n      submitter?: Submitter$1;\n      /** Submission values where key is a target of a form field and value is a submissions for the given field. */\n      submissions?: Record<string, any>;\n      /** Identifies the reason why the submission was reported as spam. */\n      reportReason?: ReportReason;\n      /** Date of submission creation. If a submission was created in the past, pass the original submission creation date. */\n      _createdDate?: Date | null;\n      /**\n       * Date of form spam submission report creation.\n       * @readonly\n       */\n      reportedDate?: Date | null;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields$1;\n      /** Last status of the submission at the time of the report */\n      submissionStatusAtReport?: SubmissionStatus$1;\n      /** Order details. */\n      orderDetails?: FormSpamSubmissionReportOrderDetails;\n      /**\n       * Contact ID. Member who created the submission, or a mapped contact.\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  interface Submitter$1 extends SubmitterSubmitterOneOf$1 {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface SubmitterSubmitterOneOf$1 {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  enum ReportReason {\n      UNKNOWN_REASON = \"UNKNOWN_REASON\",\n      /** An email quota is reached. There were too many submissions in a short time period with the same email. */\n      EMAIL_QUOTA_REACHED = \"EMAIL_QUOTA_REACHED\",\n      /** An IP address is is blocklisted. */\n      IP_BLOCKLISTED = \"IP_BLOCKLISTED\",\n      /** An email is is blocklisted. */\n      EMAIL_BLOCKLISTED = \"EMAIL_BLOCKLISTED\",\n      /** Reported spam by the AI spam detection model. It uses submission text as an input. */\n      AI_REPORTED = \"AI_REPORTED\",\n      /** Reported as spam by a submission manager. */\n      MANUALLY_REPORTED = \"MANUALLY_REPORTED\"\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  enum SubmissionStatus$1 {\n      UNKNOWN_SUBMISSION_STATUS = \"UNKNOWN_SUBMISSION_STATUS\",\n      /** A submission is created, but has not yet been recorded in the Wix Forms collection. */\n      PENDING = \"PENDING\",\n      /** A submission is recorded in the Wix Forms collection. */\n      CONFIRMED = \"CONFIRMED\",\n      /** A form submission requiring payment is created. */\n      PAYMENT_WAITING = \"PAYMENT_WAITING\",\n      /** An order of a form submission is canceled. */\n      PAYMENT_CANCELED = \"PAYMENT_CANCELED\"\n  }\n  interface FormSpamSubmissionReportOrderDetails {\n      /**\n       * ID of the checkout related to submission (applicable if form has payments added).\n       * @readonly\n       */\n      checkoutId?: string;\n  }\n  interface CheckForSpamRequest {\n      /** Form submission. */\n      submission: FormSubmission$1;\n  }\n  /** Form submission that was created or retrieved. */\n  interface FormSubmission$1 {\n      /**\n       * Submission ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the form which the submission belongs to. */\n      formId?: string;\n      /**\n       * The app which the form submissions belong to. For example, the namespace for the Wix Forms app is `wix.form_app.form`. Call `Get Submission` to retrieve the namespace.\n       * @readonly\n       */\n      namespace?: string;\n      /** Status of the submission. */\n      status?: SubmissionStatus$1;\n      /** Submission values where `key` is the form field and `value` is the data submitted for the given field. */\n      submissions?: Record<string, any>;\n      /** Date and time the form submission was created. */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the form submission was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * ID of the visitor that submitted the form.\n       * @readonly\n       */\n      submitter?: Submitter$1;\n      /** Whether a site owner marked a submission as \"seen\". */\n      seen?: boolean;\n      /** Data extension object that holds users' and apps' fields. */\n      extendedFields?: ExtendedFields$1;\n      /**\n       * Order details. <br>\n       * <b>Note</b>: This object is only applicable when submittng a form in the Wix Payments app.\n       */\n      orderDetails?: OrderDetails$1;\n      /** Contact ID of a site visitor who created the submission. */\n      contactId?: string | null;\n  }\n  interface OrderDetails$1 {\n      /**\n       * ID of the order related to submission (only applicable if a form has payments).\n       * @readonly\n       */\n      orderId?: string | null;\n      /**\n       * Order number.\n       * @readonly\n       */\n      number?: string | null;\n      /**\n       * Currency.\n       * @readonly\n       */\n      currency?: string | null;\n      /**\n       * Item subtotal.\n       * @readonly\n       */\n      itemSubtotal?: string;\n      /**\n       * ID of the checkout related to submission (only applicable if a form has payments).\n       * @readonly\n       */\n      checkoutId?: string;\n  }\n  interface CheckForSpamResponse {\n      /** Is the submission a spam. */\n      spam?: boolean;\n      /** Spam report details. Filled when spam == true */\n      spamReport?: SpamReport;\n  }\n  interface SpamReport {\n      /** Identifies the reason why the submission was reported as spam. */\n      reportReason?: ReportReason;\n  }\n  interface CreateFormSpamSubmissionReportRequest {\n      /** Form spam submission report to be created. */\n      formSpamSubmissionReport: FormSpamSubmissionReport;\n  }\n  interface CreateFormSpamSubmissionReportResponse {\n      /** The created form spam submission report. */\n      formSpamSubmissionReport?: FormSpamSubmissionReport;\n  }\n  interface FormSpamSubmissionReportValidationErrorsDetails {\n      /** Submission validation errors details. */\n      errors?: ValidationError$1[];\n  }\n  interface ValidationError$1 {\n      /** Path indicating the source of the error, such as `submission.submissions.email`` */\n      errorPath?: string;\n      /** Error type. */\n      errorType?: ErrorType$1;\n      /** Error message. */\n      errorMessage?: string;\n      /** Additional error parameters, to help identify additional info. */\n      params?: Record<string, any> | null;\n      /**\n       * Whether to use a custom error message.\n       * If `false`, the API takes the message from the `errorType` field.\n       * Default: `false`\n       */\n      useCustomErrorMessage?: boolean;\n  }\n  enum ErrorType$1 {\n      /** Error is unknown or not suitable for any of options bellow */\n      UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n      /** Type of submitted value is incorrect */\n      TYPE_ERROR = \"TYPE_ERROR\",\n      /** Value is required to be provided */\n      REQUIRED_VALUE_ERROR = \"REQUIRED_VALUE_ERROR\",\n      /** Value contains additional properties not expected in schema */\n      UNKNOWN_VALUE_ERROR = \"UNKNOWN_VALUE_ERROR\",\n      /** Text value exceeds max length */\n      MAX_LENGTH_ERROR = \"MAX_LENGTH_ERROR\",\n      /** Text value not reaches min length */\n      MIN_LENGTH_ERROR = \"MIN_LENGTH_ERROR\",\n      /** Text value not applicable for expected pattern */\n      PATTERN_ERROR = \"PATTERN_ERROR\",\n      /** Text value not applicable for expected format */\n      FORMAT_ERROR = \"FORMAT_ERROR\",\n      /** Number value is too big */\n      MAX_VALUE_ERROR = \"MAX_VALUE_ERROR\",\n      /** Number value is too small */\n      MIN_VALUE_ERROR = \"MIN_VALUE_ERROR\",\n      /** Number value is not multiple of expected number */\n      MULTIPLE_OF_VALUE_ERROR = \"MULTIPLE_OF_VALUE_ERROR\",\n      /** Array value has too much items */\n      MIN_ITEMS_ERROR = \"MIN_ITEMS_ERROR\",\n      /** Array value has not enough items */\n      MAX_ITEMS_ERROR = \"MAX_ITEMS_ERROR\",\n      /** Value is not in list of allowed values */\n      NOT_ALLOWED_VALUE_ERROR = \"NOT_ALLOWED_VALUE_ERROR\",\n      /** Form fields are incompatible */\n      FIELDS_COMPATIBILITY_ERROR = \"FIELDS_COMPATIBILITY_ERROR\",\n      /** Submitted form is disabled */\n      DISABLED_FORM_ERROR = \"DISABLED_FORM_ERROR\",\n      /** Too much forms */\n      FORMS_COUNT_RESTRICTIONS_ERROR = \"FORMS_COUNT_RESTRICTIONS_ERROR\",\n      /** Too much fields on form */\n      FIELDS_COUNT_RESTRICTIONS_ERROR = \"FIELDS_COUNT_RESTRICTIONS_ERROR\",\n      /** Too much steps on forms */\n      STEPS_COUNT_RESTRICTIONS_ERROR = \"STEPS_COUNT_RESTRICTIONS_ERROR\",\n      /** Too much rules on forms */\n      RULES_COUNT_RESTRICTIONS_ERROR = \"RULES_COUNT_RESTRICTIONS_ERROR\",\n      /** File upload is not allowed */\n      FILE_UPLOAD_RESTRICTIONS_ERROR = \"FILE_UPLOAD_RESTRICTIONS_ERROR\",\n      /** Country code is not correct or missing from the phone number */\n      INVALID_PHONE_COUNTRY_CODE_ERROR = \"INVALID_PHONE_COUNTRY_CODE_ERROR\"\n  }\n  interface GetFormSpamSubmissionReportRequest {\n      /** Id of the form spam submission report to retrieve. */\n      formSpamSubmissionReportId: string;\n  }\n  interface GetFormSpamSubmissionReportResponse {\n      /** The retrieved form spam submission report. */\n      formSpamSubmissionReport?: FormSpamSubmissionReport;\n  }\n  interface DeleteFormSpamSubmissionReportRequest {\n      /** Id of the form spam submission report to delete. */\n      formSpamSubmissionReportId: string;\n  }\n  interface DeleteFormSpamSubmissionReportResponse {\n  }\n  interface BulkDeleteFormSpamSubmissionReportRequest {\n      /** Form ID. */\n      formId: string;\n      /** Ids of the form spam submission reports to delete. */\n      formSpamSubmissionReportIds?: string[];\n  }\n  interface BulkDeleteFormSpamSubmissionReportResponse {\n      /** Results of bulk report delete */\n      results?: BulkDeleteFormSpamSubmissionReportResult[];\n      /** Metadata of request */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkDeleteFormSpamSubmissionReportResult {\n      /** Deleted item metadata */\n      itemMetadata?: ItemMetadata$1;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkDeleteFormSpamSubmissionReportByFilterRequest {\n      /**\n       * Filter object.\n       *\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       */\n      filter: Record<string, any> | null;\n  }\n  interface BulkDeleteFormSpamSubmissionReportByFilterResponse {\n      /** Job id of bulk delete form submission report by filter job */\n      jobId?: string;\n  }\n  interface ReportNotSpamSubmissionRequest {\n      /** Id of the form spam submission report to report as not spam. */\n      formSpamSubmissionReportId: string;\n  }\n  interface ReportNotSpamSubmissionResponse {\n      /** Created form submission. */\n      submission?: FormSubmission$1;\n  }\n  interface BulkReportNotSpamSubmissionRequest {\n      /** Id of the form to which belong reports */\n      formId: string;\n      /** Ids of the form spam submission reports to report as not spam. */\n      formSpamSubmissionReportIds?: string[];\n  }\n  interface BulkReportNotSpamSubmissionResponse {\n      /** Info whatever report of specific items was successful */\n      results?: BulkReportNotSpamSubmissionResult[];\n      /** Metadata of request */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkReportNotSpamSubmissionResult {\n      /** Metadata of submission, marked as not spam */\n      itemMetadata?: ItemMetadata$1;\n      /** Id of related report, which was reported as not spam */\n      formSpamSubmissionReportId?: string;\n  }\n  interface ReportSpamSubmissionRequest {\n      /** Id of the submission to report as spam. */\n      submissionId: string;\n      /** Identifies the reason why the submission was reported as spam. */\n      reportReason: ReportReason;\n  }\n  interface ReportSpamSubmissionResponse {\n      /** Created form spam submission report. */\n      formSpamSubmissionReport?: FormSpamSubmissionReport;\n  }\n  interface BulkReportSpamSubmissionRequest {\n      /** Id of the form to which belong submissions to report as spam. */\n      formId: string;\n      /** Ids of the submissions to report as spam. */\n      submissionIds: string[];\n      /** Identifies the reason why the submission was reported as spam. */\n      reportReason: ReportReason;\n      /** When set, items will be returned on successful report */\n      returnEntity?: boolean;\n  }\n  interface BulkReportSpamSubmissionResponse {\n      /** Created reports with metadata */\n      results?: BulkReportSpamSubmissionResult[];\n      /** Metadata of request */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkReportSpamSubmissionResult {\n      /** Created report metadata */\n      itemMetadata?: ItemMetadata$1;\n      /** Created report, exists if `returnEntity` was set to `true` in the request */\n      item?: FormSpamSubmissionReport;\n  }\n  interface QueryFormSpamSubmissionReportsByNamespaceRequest {\n      /** WQL expression. */\n      query: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryFormSpamSubmissionReportsByNamespaceResponse {\n      /** The retrieved FormSpamSubmissionReports. */\n      formSpamSubmissionReports?: FormSpamSubmissionReport[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CountFormSpamSubmissionReportsRequest {\n      /** Form IDs. */\n      formIds: string[];\n      /** Identifies the app which the form submissions belong to. For example, the namespace for the Wix Forms App is `\"wix.form_app.form\"`. The namespace of a submission can be retrieved using the Get Submission endpoint. */\n      namespace: string;\n  }\n  interface CountFormSpamSubmissionReportsResponse {\n      /** Forms submission count. */\n      formsSpamSubmissionReportsCount?: FormSpamSubmissionReportsCount[];\n  }\n  interface FormSpamSubmissionReportsCount {\n      /** Form ID. */\n      formId?: string;\n      /** Total number of submissions. */\n      totalCount?: number;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Checks if submission is a spam.\n   * @param submission - Form submission.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField submission\n   * @requiredField submission.formId\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_CHECK_FOR_SPAM\n   */\n  function checkForSpam(submission: FormSubmission$1): Promise<CheckForSpamResponse>;\n  /**\n   * Creates a new spam submission.\n   * To upload submission media, use the FormSubmissionService.getMediaUploadUrl endpoint.\n   * @param formSpamSubmissionReport - Form spam submission report to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formSpamSubmissionReport\n   * @requiredField formSpamSubmissionReport.formId\n   * @requiredField formSpamSubmissionReport.reportReason\n   * @requiredField formSpamSubmissionReport.submissions\n   * @requiredField formSpamSubmissionReport.submitter\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_CREATE\n   * @adminMethod\n   * @returns The created form spam submission report.\n   */\n  function createFormSpamSubmissionReport(formSpamSubmissionReport: FormSpamSubmissionReport): Promise<FormSpamSubmissionReport>;\n  /**\n   * Get a spam submission by id.\n   * @param formSpamSubmissionReportId - Id of the form spam submission report to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formSpamSubmissionReportId\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_READ\n   * @adminMethod\n   * @returns The retrieved form spam submission report.\n   */\n  function getFormSpamSubmissionReport(formSpamSubmissionReportId: string): Promise<FormSpamSubmissionReport>;\n  /**\n   * Delete a spam submission report.\n   * @param formSpamSubmissionReportId - Id of the form spam submission report to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formSpamSubmissionReportId\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_DELETE\n   * @adminMethod\n   */\n  function deleteFormSpamSubmissionReport(formSpamSubmissionReportId: string): Promise<void>;\n  /**\n   * Deletes report by IDS or all for specific form.\n   * @param formId - Form ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteFormSpamSubmissionReport(formId: string, options?: BulkDeleteFormSpamSubmissionReportOptions): Promise<BulkDeleteFormSpamSubmissionReportResponse>;\n  interface BulkDeleteFormSpamSubmissionReportOptions {\n      /** Ids of the form spam submission reports to delete. */\n      formSpamSubmissionReportIds?: string[];\n  }\n  /**\n   * Deletes reports by filter for specific form.\n   * @param filter - Filter object.\n   *\n   * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteFormSpamSubmissionReportByFilter(filter: Record<string, any> | null): Promise<BulkDeleteFormSpamSubmissionReportByFilterResponse>;\n  /**\n   * Report a spam submission as not spam. The submission is created, and the spam report is deleted.\n   * Submission automations are triggered the same way as in standard submission creation flow.\n   * @param formSpamSubmissionReportId - Id of the form spam submission report to report as not spam.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formSpamSubmissionReportId\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_REPORT_NOT_SPAM\n   * @adminMethod\n   */\n  function reportNotSpamSubmission(formSpamSubmissionReportId: string): Promise<ReportNotSpamSubmissionResponse>;\n  /**\n   * Report a spam submissions as not spam. The submissions is created, and the spam reports is deleted.\n   * Submissions automations are triggered the same way as in standard submission creation flow.\n   * @param formId - Id of the form to which belong reports\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_REPORT_NOT_SPAM\n   * @adminMethod\n   */\n  function bulkReportNotSpamSubmission(formId: string, options?: BulkReportNotSpamSubmissionOptions): Promise<BulkReportNotSpamSubmissionResponse>;\n  interface BulkReportNotSpamSubmissionOptions {\n      /** Ids of the form spam submission reports to report as not spam. */\n      formSpamSubmissionReportIds?: string[];\n  }\n  /**\n   * Report a submission as spam. The spam submission report is created, and the submission is deleted.\n   * @param submissionId - Id of the submission to report as spam.\n   * @param reportReason - Identifies the reason why the submission was reported as spam.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reportReason\n   * @requiredField submissionId\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_CREATE\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @permissionId WIX_FORMS.SUBMISSION_DELETE\n   * @adminMethod\n   */\n  function reportSpamSubmission(submissionId: string, reportReason: ReportReason): Promise<ReportSpamSubmissionResponse>;\n  /**\n   * Report multiple submissions as spam. The spam submission reports is created, and the submissions is deleted.\n   * @param formId - Id of the form to which belong submissions to report as spam.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @requiredField options.reportReason\n   * @requiredField options.submissionIds\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_CREATE\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @permissionId WIX_FORMS.SUBMISSION_DELETE\n   * @adminMethod\n   */\n  function bulkReportSpamSubmission(formId: string, options?: BulkReportSpamSubmissionOptions): Promise<BulkReportSpamSubmissionResponse>;\n  interface BulkReportSpamSubmissionOptions {\n      /** Ids of the submissions to report as spam. */\n      submissionIds: string[];\n      /** Identifies the reason why the submission was reported as spam. */\n      reportReason: ReportReason;\n      /** When set, items will be returned on successful report */\n      returnEntity?: boolean;\n  }\n  /**\n   * Query form spam submission reports using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_FORMS.FORM_SPAM_SUBMISSION_REPORT_READ\n   * @adminMethod\n   */\n  function queryFormSpamSubmissionReportsByNamespace(): FormSpamSubmissionReportsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface FormSpamSubmissionReportsQueryResult extends QueryCursorResult$1 {\n      items: FormSpamSubmissionReport[];\n      query: FormSpamSubmissionReportsQueryBuilder;\n      next: () => Promise<FormSpamSubmissionReportsQueryResult>;\n      prev: () => Promise<FormSpamSubmissionReportsQueryResult>;\n  }\n  interface FormSpamSubmissionReportsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'formId' | 'namespace' | 'reportReason' | '_createdDate' | 'reportedDate', value: any) => FormSpamSubmissionReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'formId' | 'reportReason' | '_createdDate' | 'reportedDate', value: any) => FormSpamSubmissionReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | 'reportedDate', value: any) => FormSpamSubmissionReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | 'reportedDate', value: any) => FormSpamSubmissionReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | 'reportedDate', value: any) => FormSpamSubmissionReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | 'reportedDate', value: any) => FormSpamSubmissionReportsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'formId' | 'reportReason' | '_createdDate' | 'reportedDate', value: any) => FormSpamSubmissionReportsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'formId' | 'reportReason' | '_createdDate' | 'reportedDate'>) => FormSpamSubmissionReportsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'formId' | 'reportReason' | '_createdDate' | 'reportedDate'>) => FormSpamSubmissionReportsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => FormSpamSubmissionReportsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => FormSpamSubmissionReportsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<FormSpamSubmissionReportsQueryResult>;\n  }\n  /**\n   * Counts the number of spam submission reports belonging to the specified forms.\n   * @param formIds - Form IDs.\n   * @param namespace - Identifies the app which the form submissions belong to. For example, the namespace for the Wix Forms App is `\"wix.form_app.form\"`. The namespace of a submission can be retrieved using the Get Submission endpoint.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formIds\n   * @requiredField namespace\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function countFormSpamSubmissionReports(formIds: string[], namespace: string): Promise<CountFormSpamSubmissionReportsResponse>;\n  \n  type formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReport = FormSpamSubmissionReport;\n  type formsV4FormSpamSubmissionReport_universal_d_ReportReason = ReportReason;\n  const formsV4FormSpamSubmissionReport_universal_d_ReportReason: typeof ReportReason;\n  type formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReportOrderDetails = FormSpamSubmissionReportOrderDetails;\n  type formsV4FormSpamSubmissionReport_universal_d_CheckForSpamRequest = CheckForSpamRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_CheckForSpamResponse = CheckForSpamResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_SpamReport = SpamReport;\n  type formsV4FormSpamSubmissionReport_universal_d_CreateFormSpamSubmissionReportRequest = CreateFormSpamSubmissionReportRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_CreateFormSpamSubmissionReportResponse = CreateFormSpamSubmissionReportResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReportValidationErrorsDetails = FormSpamSubmissionReportValidationErrorsDetails;\n  type formsV4FormSpamSubmissionReport_universal_d_GetFormSpamSubmissionReportRequest = GetFormSpamSubmissionReportRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_GetFormSpamSubmissionReportResponse = GetFormSpamSubmissionReportResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_DeleteFormSpamSubmissionReportRequest = DeleteFormSpamSubmissionReportRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_DeleteFormSpamSubmissionReportResponse = DeleteFormSpamSubmissionReportResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportRequest = BulkDeleteFormSpamSubmissionReportRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportResponse = BulkDeleteFormSpamSubmissionReportResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportResult = BulkDeleteFormSpamSubmissionReportResult;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportByFilterRequest = BulkDeleteFormSpamSubmissionReportByFilterRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportByFilterResponse = BulkDeleteFormSpamSubmissionReportByFilterResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_ReportNotSpamSubmissionRequest = ReportNotSpamSubmissionRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_ReportNotSpamSubmissionResponse = ReportNotSpamSubmissionResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkReportNotSpamSubmissionRequest = BulkReportNotSpamSubmissionRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkReportNotSpamSubmissionResponse = BulkReportNotSpamSubmissionResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkReportNotSpamSubmissionResult = BulkReportNotSpamSubmissionResult;\n  type formsV4FormSpamSubmissionReport_universal_d_ReportSpamSubmissionRequest = ReportSpamSubmissionRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_ReportSpamSubmissionResponse = ReportSpamSubmissionResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkReportSpamSubmissionRequest = BulkReportSpamSubmissionRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkReportSpamSubmissionResponse = BulkReportSpamSubmissionResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkReportSpamSubmissionResult = BulkReportSpamSubmissionResult;\n  type formsV4FormSpamSubmissionReport_universal_d_QueryFormSpamSubmissionReportsByNamespaceRequest = QueryFormSpamSubmissionReportsByNamespaceRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_QueryFormSpamSubmissionReportsByNamespaceResponse = QueryFormSpamSubmissionReportsByNamespaceResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_CountFormSpamSubmissionReportsRequest = CountFormSpamSubmissionReportsRequest;\n  type formsV4FormSpamSubmissionReport_universal_d_CountFormSpamSubmissionReportsResponse = CountFormSpamSubmissionReportsResponse;\n  type formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReportsCount = FormSpamSubmissionReportsCount;\n  const formsV4FormSpamSubmissionReport_universal_d_checkForSpam: typeof checkForSpam;\n  const formsV4FormSpamSubmissionReport_universal_d_createFormSpamSubmissionReport: typeof createFormSpamSubmissionReport;\n  const formsV4FormSpamSubmissionReport_universal_d_getFormSpamSubmissionReport: typeof getFormSpamSubmissionReport;\n  const formsV4FormSpamSubmissionReport_universal_d_deleteFormSpamSubmissionReport: typeof deleteFormSpamSubmissionReport;\n  const formsV4FormSpamSubmissionReport_universal_d_bulkDeleteFormSpamSubmissionReport: typeof bulkDeleteFormSpamSubmissionReport;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportOptions = BulkDeleteFormSpamSubmissionReportOptions;\n  const formsV4FormSpamSubmissionReport_universal_d_bulkDeleteFormSpamSubmissionReportByFilter: typeof bulkDeleteFormSpamSubmissionReportByFilter;\n  const formsV4FormSpamSubmissionReport_universal_d_reportNotSpamSubmission: typeof reportNotSpamSubmission;\n  const formsV4FormSpamSubmissionReport_universal_d_bulkReportNotSpamSubmission: typeof bulkReportNotSpamSubmission;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkReportNotSpamSubmissionOptions = BulkReportNotSpamSubmissionOptions;\n  const formsV4FormSpamSubmissionReport_universal_d_reportSpamSubmission: typeof reportSpamSubmission;\n  const formsV4FormSpamSubmissionReport_universal_d_bulkReportSpamSubmission: typeof bulkReportSpamSubmission;\n  type formsV4FormSpamSubmissionReport_universal_d_BulkReportSpamSubmissionOptions = BulkReportSpamSubmissionOptions;\n  const formsV4FormSpamSubmissionReport_universal_d_queryFormSpamSubmissionReportsByNamespace: typeof queryFormSpamSubmissionReportsByNamespace;\n  type formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReportsQueryResult = FormSpamSubmissionReportsQueryResult;\n  type formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReportsQueryBuilder = FormSpamSubmissionReportsQueryBuilder;\n  const formsV4FormSpamSubmissionReport_universal_d_countFormSpamSubmissionReports: typeof countFormSpamSubmissionReports;\n  namespace formsV4FormSpamSubmissionReport_universal_d {\n    export {\n      formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReport as FormSpamSubmissionReport,\n      Submitter$1 as Submitter,\n      SubmitterSubmitterOneOf$1 as SubmitterSubmitterOneOf,\n      formsV4FormSpamSubmissionReport_universal_d_ReportReason as ReportReason,\n      ExtendedFields$1 as ExtendedFields,\n      SubmissionStatus$1 as SubmissionStatus,\n      formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReportOrderDetails as FormSpamSubmissionReportOrderDetails,\n      formsV4FormSpamSubmissionReport_universal_d_CheckForSpamRequest as CheckForSpamRequest,\n      FormSubmission$1 as FormSubmission,\n      OrderDetails$1 as OrderDetails,\n      formsV4FormSpamSubmissionReport_universal_d_CheckForSpamResponse as CheckForSpamResponse,\n      formsV4FormSpamSubmissionReport_universal_d_SpamReport as SpamReport,\n      formsV4FormSpamSubmissionReport_universal_d_CreateFormSpamSubmissionReportRequest as CreateFormSpamSubmissionReportRequest,\n      formsV4FormSpamSubmissionReport_universal_d_CreateFormSpamSubmissionReportResponse as CreateFormSpamSubmissionReportResponse,\n      formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReportValidationErrorsDetails as FormSpamSubmissionReportValidationErrorsDetails,\n      ValidationError$1 as ValidationError,\n      ErrorType$1 as ErrorType,\n      formsV4FormSpamSubmissionReport_universal_d_GetFormSpamSubmissionReportRequest as GetFormSpamSubmissionReportRequest,\n      formsV4FormSpamSubmissionReport_universal_d_GetFormSpamSubmissionReportResponse as GetFormSpamSubmissionReportResponse,\n      formsV4FormSpamSubmissionReport_universal_d_DeleteFormSpamSubmissionReportRequest as DeleteFormSpamSubmissionReportRequest,\n      formsV4FormSpamSubmissionReport_universal_d_DeleteFormSpamSubmissionReportResponse as DeleteFormSpamSubmissionReportResponse,\n      formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportRequest as BulkDeleteFormSpamSubmissionReportRequest,\n      formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportResponse as BulkDeleteFormSpamSubmissionReportResponse,\n      formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportResult as BulkDeleteFormSpamSubmissionReportResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportByFilterRequest as BulkDeleteFormSpamSubmissionReportByFilterRequest,\n      formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportByFilterResponse as BulkDeleteFormSpamSubmissionReportByFilterResponse,\n      formsV4FormSpamSubmissionReport_universal_d_ReportNotSpamSubmissionRequest as ReportNotSpamSubmissionRequest,\n      formsV4FormSpamSubmissionReport_universal_d_ReportNotSpamSubmissionResponse as ReportNotSpamSubmissionResponse,\n      formsV4FormSpamSubmissionReport_universal_d_BulkReportNotSpamSubmissionRequest as BulkReportNotSpamSubmissionRequest,\n      formsV4FormSpamSubmissionReport_universal_d_BulkReportNotSpamSubmissionResponse as BulkReportNotSpamSubmissionResponse,\n      formsV4FormSpamSubmissionReport_universal_d_BulkReportNotSpamSubmissionResult as BulkReportNotSpamSubmissionResult,\n      formsV4FormSpamSubmissionReport_universal_d_ReportSpamSubmissionRequest as ReportSpamSubmissionRequest,\n      formsV4FormSpamSubmissionReport_universal_d_ReportSpamSubmissionResponse as ReportSpamSubmissionResponse,\n      formsV4FormSpamSubmissionReport_universal_d_BulkReportSpamSubmissionRequest as BulkReportSpamSubmissionRequest,\n      formsV4FormSpamSubmissionReport_universal_d_BulkReportSpamSubmissionResponse as BulkReportSpamSubmissionResponse,\n      formsV4FormSpamSubmissionReport_universal_d_BulkReportSpamSubmissionResult as BulkReportSpamSubmissionResult,\n      formsV4FormSpamSubmissionReport_universal_d_QueryFormSpamSubmissionReportsByNamespaceRequest as QueryFormSpamSubmissionReportsByNamespaceRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      formsV4FormSpamSubmissionReport_universal_d_QueryFormSpamSubmissionReportsByNamespaceResponse as QueryFormSpamSubmissionReportsByNamespaceResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      formsV4FormSpamSubmissionReport_universal_d_CountFormSpamSubmissionReportsRequest as CountFormSpamSubmissionReportsRequest,\n      formsV4FormSpamSubmissionReport_universal_d_CountFormSpamSubmissionReportsResponse as CountFormSpamSubmissionReportsResponse,\n      formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReportsCount as FormSpamSubmissionReportsCount,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      Empty$1 as Empty,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      formsV4FormSpamSubmissionReport_universal_d_checkForSpam as checkForSpam,\n      formsV4FormSpamSubmissionReport_universal_d_createFormSpamSubmissionReport as createFormSpamSubmissionReport,\n      formsV4FormSpamSubmissionReport_universal_d_getFormSpamSubmissionReport as getFormSpamSubmissionReport,\n      formsV4FormSpamSubmissionReport_universal_d_deleteFormSpamSubmissionReport as deleteFormSpamSubmissionReport,\n      formsV4FormSpamSubmissionReport_universal_d_bulkDeleteFormSpamSubmissionReport as bulkDeleteFormSpamSubmissionReport,\n      formsV4FormSpamSubmissionReport_universal_d_BulkDeleteFormSpamSubmissionReportOptions as BulkDeleteFormSpamSubmissionReportOptions,\n      formsV4FormSpamSubmissionReport_universal_d_bulkDeleteFormSpamSubmissionReportByFilter as bulkDeleteFormSpamSubmissionReportByFilter,\n      formsV4FormSpamSubmissionReport_universal_d_reportNotSpamSubmission as reportNotSpamSubmission,\n      formsV4FormSpamSubmissionReport_universal_d_bulkReportNotSpamSubmission as bulkReportNotSpamSubmission,\n      formsV4FormSpamSubmissionReport_universal_d_BulkReportNotSpamSubmissionOptions as BulkReportNotSpamSubmissionOptions,\n      formsV4FormSpamSubmissionReport_universal_d_reportSpamSubmission as reportSpamSubmission,\n      formsV4FormSpamSubmissionReport_universal_d_bulkReportSpamSubmission as bulkReportSpamSubmission,\n      formsV4FormSpamSubmissionReport_universal_d_BulkReportSpamSubmissionOptions as BulkReportSpamSubmissionOptions,\n      formsV4FormSpamSubmissionReport_universal_d_queryFormSpamSubmissionReportsByNamespace as queryFormSpamSubmissionReportsByNamespace,\n      formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReportsQueryResult as FormSpamSubmissionReportsQueryResult,\n      formsV4FormSpamSubmissionReport_universal_d_FormSpamSubmissionReportsQueryBuilder as FormSpamSubmissionReportsQueryBuilder,\n      formsV4FormSpamSubmissionReport_universal_d_countFormSpamSubmissionReports as countFormSpamSubmissionReports,\n    };\n  }\n  \n  /** Form submission that was created or retrieved. */\n  interface FormSubmission {\n      /**\n       * Submission ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the form which the submission belongs to. */\n      formId?: string;\n      /**\n       * The app which the form submissions belong to. For example, the namespace for the Wix Forms app is `wix.form_app.form`. Call `Get Submission` to retrieve the namespace.\n       * @readonly\n       */\n      namespace?: string;\n      /** Status of the submission. */\n      status?: SubmissionStatus;\n      /** Submission values where `key` is the form field and `value` is the data submitted for the given field. */\n      submissions?: Record<string, any>;\n      /** Date and time the form submission was created. */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the form submission was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * ID of the visitor that submitted the form.\n       * @readonly\n       */\n      submitter?: Submitter;\n      /** Whether a site owner marked a submission as \"seen\". */\n      seen?: boolean;\n      /** Data extension object that holds users' and apps' fields. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Order details. <br>\n       * <b>Note</b>: This object is only applicable when submittng a form in the Wix Payments app.\n       */\n      orderDetails?: OrderDetails;\n      /** Contact ID of a site visitor who created the submission. */\n      contactId?: string | null;\n  }\n  enum SubmissionStatus {\n      UNKNOWN_SUBMISSION_STATUS = \"UNKNOWN_SUBMISSION_STATUS\",\n      /** A submission is created, but has not yet been recorded in the Wix Forms collection. */\n      PENDING = \"PENDING\",\n      /** A submission is recorded in the Wix Forms collection. */\n      CONFIRMED = \"CONFIRMED\",\n      /** A form submission requiring payment is created. */\n      PAYMENT_WAITING = \"PAYMENT_WAITING\",\n      /** An order of a form submission is canceled. */\n      PAYMENT_CANCELED = \"PAYMENT_CANCELED\"\n  }\n  interface Submitter extends SubmitterSubmitterOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface SubmitterSubmitterOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface OrderDetails {\n      /**\n       * ID of the order related to submission (only applicable if a form has payments).\n       * @readonly\n       */\n      orderId?: string | null;\n      /**\n       * Order number.\n       * @readonly\n       */\n      number?: string | null;\n      /**\n       * Currency.\n       * @readonly\n       */\n      currency?: string | null;\n      /**\n       * Item subtotal.\n       * @readonly\n       */\n      itemSubtotal?: string;\n      /**\n       * ID of the checkout related to submission (only applicable if a form has payments).\n       * @readonly\n       */\n      checkoutId?: string;\n  }\n  interface FormSubmissionStatusUpdatedEvent {\n      /** Updated submission. */\n      submission?: FormSubmission;\n      /** Previous status of the submission. */\n      previousStatus?: SubmissionStatus;\n  }\n  interface RemovedSubmissionFromTrash {\n      /** Removed submission. */\n      submission?: FormSubmission;\n  }\n  interface SubmissionContactMapped {\n      /**\n       * Mapped upserted contact ID.\n       * @readonly\n       */\n      contactId?: string;\n      /** Identifies the namespace that the submission's form belongs to. */\n      namespace?: string;\n      /** Marketing subscription details */\n      marketingSubscriptionDetails?: MarketingSubscriptionDetails;\n  }\n  interface MarketingSubscriptionDetails {\n      /** Form id which was submitted */\n      formId?: string;\n      /** Mapped contact emails. */\n      emails?: string[];\n      /**\n       * Date and time the form submission was created.\n       * @readonly\n       */\n      submittedDate?: Date | null;\n      /**\n       * Subscription consent opt in level, either single or double confirmation.\n       * Default: SINGLE_CONFIRMATION\n       */\n      optInLevel?: OptInLevel;\n  }\n  enum OptInLevel {\n      /** Single confirmation. */\n      SINGLE_CONFIRMATION = \"SINGLE_CONFIRMATION\",\n      /** Double confirmation. */\n      DOUBLE_CONFIRMATION = \"DOUBLE_CONFIRMATION\"\n  }\n  interface SubmissionContactMappingSkipped {\n      /** Form Id. */\n      formId?: string;\n      /** Identifies the namespace that the submission's form belongs to. */\n      namespace?: string;\n      /**\n       * Contact ID resolved from the submission context.\n       * @readonly\n       */\n      contactId?: string | null;\n  }\n  interface CreateCheckoutFromSubmissionRequest extends CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf {\n      /** Submission's form. */\n      form?: Form;\n      /** Submission to create checkout from. */\n      submission?: FormSubmission;\n  }\n  /** @oneof */\n  interface CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf {\n      /** Submission's form. */\n      form?: Form;\n  }\n  interface Form {\n      /**\n       * Form ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** List of form fields that represent input elements. */\n      fields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      fieldsV2?: FormFieldV2[];\n      /** Defines the layout for form fields in each submission step. */\n      steps?: Step[];\n      /** Form rules, can be applied to layout and items properties. */\n      rules?: FormRule[];\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Properties of the form. */\n      properties?: FormProperties;\n      /**\n       * Fields which were soft deleted.\n       * @readonly\n       */\n      deletedFields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      deletedFieldsV2?: FormFieldV2[];\n      /**\n       * Regular forms can be freely modified.\n       * Extensions are copied from templates and might have restrictions.\n       * @readonly\n       */\n      kind?: Kind;\n      /**\n       * Defines triggers that will be executed after the submission, for the submissions based on this schema.\n       * Forms provide a set of predefined triggers that allow it to assign specific business cases to created forms.\n       */\n      postSubmissionTriggers?: PostSubmissionTriggers;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields;\n      /** Identifies the namespace that the form belongs to. */\n      namespace?: string;\n      /**\n       * Nested forms.\n       * @internal\n       * @readonly\n       */\n      nestedForms?: NestedForm[];\n      /**\n       * Media folder ID.\n       * @readonly\n       */\n      mediaFolderId?: string | null;\n      /** Rules that limit submissions on this form. */\n      limitationRule?: LimitationRule;\n      /**\n       * Spam filter protection level.\n       * Default: ADVANCED.\n       */\n      spamFilterProtectionLevel?: SpamFilterProtectionLevel;\n      /** Required indicator properties. */\n      requiredIndicatorProperties?: RequiredIndicatorProperties;\n      /** Settings for actions to be taken after form submission. */\n      submitSettings?: SubmitSettings;\n      /** Settings for field groups */\n      fieldGroups?: FieldGroup[];\n      /** Message shown when the form is disabled */\n      disabledFormMessage?: RichContent;\n      /** Id of the source form. */\n      sourceFormId?: string | null;\n  }\n  enum RequiredIndicator {\n      /** Unknown required indicator. */\n      UNKNOWN_INDICATOR = \"UNKNOWN_INDICATOR\",\n      /** Asterisk (*). */\n      ASTERISK = \"ASTERISK\",\n      /** Text (default: \"Required\"). */\n      TEXT = \"TEXT\",\n      /** None. */\n      NONE = \"NONE\"\n  }\n  enum RequiredIndicatorPlacement {\n      /** Unknown required indicator placement. */\n      UNKNOWN_PLACEMENT = \"UNKNOWN_PLACEMENT\",\n      /** After field title. */\n      AFTER_FIELD_TITLE = \"AFTER_FIELD_TITLE\",\n      /** Before field title. */\n      BEFORE_FIELD_TITLE = \"BEFORE_FIELD_TITLE\"\n  }\n  interface FormField {\n      /** Item ID. */\n      _id?: string;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /** Validation of field output value. */\n      validation?: Validation;\n      /** Mark the field as containing personal information. This will encrypt user data when storing it. */\n      pii?: boolean;\n      /** Whether the field is hidden. */\n      hidden?: boolean;\n      /** Field view properties. */\n      view?: Record<string, any> | null;\n      /** Details identifying field, which is extension of other entity */\n      dataExtensionsDetails?: DataExtensionsDetails;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n      /**\n       * Nested form overrides.\n       * @internal\n       */\n      nestedFormOverrides?: NestedFormOverrides;\n      /**\n       * Whether the field is read only.\n       * Default: false\n       */\n      readOnly?: boolean;\n  }\n  interface StringType extends StringTypeFormatOptionsOneOf {\n      /** DATE format options */\n      dateOptions?: DateTimeConstraints;\n      /** DATE_TIME format options */\n      dateTimeOptions?: DateTimeConstraints;\n      /** TIME format options */\n      timeOptions?: DateTimeConstraints;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: DateTimeConstraints;\n      /** PHONE format options */\n      phoneOptions?: PhoneConstraints;\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: Format;\n      /** Custom error messages when validation fails. */\n      errorMessages?: StringErrorMessages;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  /** @oneof */\n  interface StringTypeFormatOptionsOneOf {\n      /** DATE format options */\n      dateOptions?: DateTimeConstraints;\n      /** DATE_TIME format options */\n      dateTimeOptions?: DateTimeConstraints;\n      /** TIME format options */\n      timeOptions?: DateTimeConstraints;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: DateTimeConstraints;\n      /** PHONE format options */\n      phoneOptions?: PhoneConstraints;\n  }\n  enum Format {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface StringErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface DateTimeConstraints {\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      minimum?: string | null;\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      maximum?: string | null;\n  }\n  interface PhoneConstraints {\n      /** Country codes for phone number that are allowed */\n      allowedCountryCodes?: string[];\n  }\n  interface NumberType {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface NumberErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface IntegerType {\n      /** Minimum value. */\n      maximum?: number | null;\n      /** Maximum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface BooleanType {\n      /** Custom error message when validation fails. */\n      errorMessages?: BooleanErrorMessages;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface BooleanErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayType {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayItems;\n      /** Custom error message when validation fails. */\n      errorMessages?: ArrayErrorMessages;\n  }\n  interface ObjectType {\n      /** Description of object properties. */\n      properties?: Record<string, PropertiesType>;\n      /** Custom error message when validation fails. */\n      errorMessages?: ObjectErrorMessages;\n  }\n  interface PropertiesType extends PropertiesTypePropertiesTypeOneOf {\n      /** String type validation for property. */\n      string?: StringType;\n      /** Number type validation for property. */\n      number?: NumberType;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType;\n      /** Integer type validation for property. */\n      integer?: IntegerType;\n      /** Array type validation for property. */\n      array?: ArrayType;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface PropertiesTypePropertiesTypeOneOf {\n      /** String type validation for property. */\n      string?: StringType;\n      /** Number type validation for property. */\n      number?: NumberType;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType;\n      /** Integer type validation for property. */\n      integer?: IntegerType;\n      /** Array type validation for property. */\n      array?: ArrayType;\n  }\n  interface ObjectErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayItems extends ArrayItemsItemsOneOf {\n      /** String type validation for items. */\n      string?: StringType;\n      /** Number type validation for items. */\n      number?: NumberType;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType;\n      /** Integer type validation for items. */\n      integer?: IntegerType;\n      /** Object type validation for items */\n      object?: ObjectType;\n  }\n  /** @oneof */\n  interface ArrayItemsItemsOneOf {\n      /** String type validation for items. */\n      string?: StringType;\n      /** Number type validation for items. */\n      number?: NumberType;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType;\n      /** Integer type validation for items. */\n      integer?: IntegerType;\n      /** Object type validation for items */\n      object?: ObjectType;\n  }\n  interface ArrayErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface PredefinedValidation extends PredefinedValidationFormatOptionsOneOf {\n      /** Payment input field. */\n      paymentOptions?: PaymentType;\n      /** Multiline address validation. */\n      multilineAddressOptions?: MultilineAddressValidation;\n      /** Format of predefined validation. */\n      format?: ValidationFormat;\n  }\n  /** @oneof */\n  interface PredefinedValidationFormatOptionsOneOf {\n      /** Payment input field. */\n      paymentOptions?: PaymentType;\n      /** Multiline address validation. */\n      multilineAddressOptions?: MultilineAddressValidation;\n  }\n  enum ValidationFormat {\n      UNDEFINED = \"UNDEFINED\",\n      /** File upload validation. */\n      WIX_FILE = \"WIX_FILE\",\n      /** Payment validation. */\n      PAYMENT = \"PAYMENT\",\n      /** Multiline address. */\n      MULTILINE_ADDRESS = \"MULTILINE_ADDRESS\"\n  }\n  interface PaymentType {\n      /** Field mapped to products. */\n      products?: Product[];\n      /** Minimum amount of different products. */\n      minItems?: number | null;\n      /** Maximum amount of different products. */\n      maxItems?: number | null;\n  }\n  enum ProductType {\n      /** Unknown product type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Shippable (physical) product. */\n      SHIPPABLE = \"SHIPPABLE\",\n      /** Digital product. */\n      DIGITAL = \"DIGITAL\"\n  }\n  enum PriceType {\n      /** Unknown price type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Fixed price. */\n      FIXED_PRICE = \"FIXED_PRICE\",\n      /** Dynamic price from price range. */\n      DYNAMIC_PRICE = \"DYNAMIC_PRICE\"\n  }\n  interface QuantityLimit {\n      /** Minimum quantity. */\n      minimum?: number | null;\n      /** Maximum quantity. */\n      maximum?: number | null;\n  }\n  interface FixedPriceOptions {\n      /** Fixed price monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). */\n      price?: string;\n  }\n  interface DynamicPriceOptions {\n      /** Minimal price monetary amount. */\n      minPrice?: string;\n      /** Maximal price monetary amount. */\n      maxPrice?: string | null;\n  }\n  interface Product extends ProductPriceOptionsOneOf {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Product type. */\n      productType?: ProductType;\n      /** Price type. */\n      priceType?: PriceType;\n      /** Quantity limit. */\n      quantityLimit?: QuantityLimit;\n  }\n  /** @oneof */\n  interface ProductPriceOptionsOneOf {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions;\n  }\n  interface MultilineAddressValidation {\n      /** Allowed countries. No countries treated as all. */\n      allowedCountries?: string[];\n      /** Fields overrides. */\n      fields?: FieldsOverrides;\n  }\n  interface FieldOverrides {\n      /** Whether the field is required. */\n      required?: boolean;\n  }\n  interface FieldsOverrides {\n      /** Subdivision. */\n      subdivision?: FieldOverrides;\n      /** City. */\n      city?: FieldOverrides;\n      /** Postal code. */\n      postalCode?: FieldOverrides;\n      /** Street name. */\n      streetName?: FieldOverrides;\n      /** Street number. */\n      streetNumber?: FieldOverrides;\n      /** Address line. */\n      addressLine?: FieldOverrides;\n      /** Address line 2. */\n      addressLine2?: FieldOverrides;\n      /** Country. */\n      country?: FieldOverrides;\n  }\n  interface NestedFormFieldOverrides {\n      /** Whether the field is required. Leave blank for no override. */\n      required?: boolean | null;\n      /** Whether the field is hidden. Leave blank for no override. */\n      hidden?: boolean | null;\n  }\n  interface Validation extends ValidationValidationOneOf {\n      /** Validation of string type. */\n      string?: StringType;\n      /** Validation of number type. */\n      number?: NumberType;\n      /** Validation of integer type. */\n      integer?: IntegerType;\n      /** Validation of boolean type. */\n      boolean?: BooleanType;\n      /** Validation of array type. */\n      array?: ArrayType;\n      /** Validation of object type. */\n      object?: ObjectType;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation;\n      /** Whether the field is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ValidationValidationOneOf {\n      /** Validation of string type. */\n      string?: StringType;\n      /** Validation of number type. */\n      number?: NumberType;\n      /** Validation of integer type. */\n      integer?: IntegerType;\n      /** Validation of boolean type. */\n      boolean?: BooleanType;\n      /** Validation of array type. */\n      array?: ArrayType;\n      /** Validation of object type. */\n      object?: ObjectType;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation;\n  }\n  interface DataExtensionsDetails {\n      /** FQDNS which can be extended with this field */\n      fqdns?: string[];\n  }\n  interface NestedFormOverrides {\n      /** Field overrides by field ID */\n      fieldOverrides?: Record<string, NestedFormFieldOverrides>;\n  }\n  interface FormFieldV2 extends FormFieldV2FieldTypeOptionsOneOf {\n      /** Field accept input of data */\n      inputOptions?: InputField;\n      /** Field for displaying information such as header or text paragraph */\n      displayOptions?: DisplayField;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton;\n      /** Field id. */\n      _id?: string;\n      /**\n       * Whether the field is hidden.\n       * Default: false\n       */\n      hidden?: boolean;\n      /** Custom identification of field, can be used to specify exceptional behaviour of client for specific field */\n      identifier?: string | null;\n      /**\n       * Type of the field\n       * @readonly\n       */\n      fieldType?: FieldType;\n  }\n  /** @oneof */\n  interface FormFieldV2FieldTypeOptionsOneOf {\n      /** Field accept input of data */\n      inputOptions?: InputField;\n      /** Field for displaying information such as header or text paragraph */\n      displayOptions?: DisplayField;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton;\n  }\n  interface InputFieldStringType extends InputFieldStringTypeFormatOptionsOneOf {\n      /** DATE format options */\n      dateOptions?: StringTypeDateTimeConstraints;\n      /** DATE_TIME format options */\n      dateTimeOptions?: StringTypeDateTimeConstraints;\n      /** TIME format options */\n      timeOptions?: StringTypeDateTimeConstraints;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: StringTypeDateTimeConstraints;\n      /** PHONE format options */\n      phoneOptions?: StringTypePhoneConstraints;\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: FormatEnumFormat;\n      /** Custom error messages when validation fails. */\n      errorMessages?: InputFieldStringErrorMessages;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  /** @oneof */\n  interface InputFieldStringTypeFormatOptionsOneOf {\n      /** DATE format options */\n      dateOptions?: StringTypeDateTimeConstraints;\n      /** DATE_TIME format options */\n      dateTimeOptions?: StringTypeDateTimeConstraints;\n      /** TIME format options */\n      timeOptions?: StringTypeDateTimeConstraints;\n      /** DATE_OPTIONAL_TIME format options */\n      dateOptionalTimeOptions?: StringTypeDateTimeConstraints;\n      /** PHONE format options */\n      phoneOptions?: StringTypePhoneConstraints;\n  }\n  enum FormatEnumFormat {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface InputFieldStringErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface StringTypeDateTimeConstraints {\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      minimum?: string | null;\n      /**\n       * Support static constrains defined as ISO date/time format, as well as\n       * dynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\n       * The dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\n       * The regex pattern for dynamic calculations is: \\$now([+-]\\d{1,2})([yMdmh])\n       */\n      maximum?: string | null;\n  }\n  interface StringTypePhoneConstraints {\n      /** Country codes for phone number that are allowed */\n      allowedCountryCodes?: string[];\n  }\n  enum StringComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      TEXT_INPUT = \"TEXT_INPUT\",\n      RADIO_GROUP = \"RADIO_GROUP\",\n      DROPDOWN = \"DROPDOWN\",\n      DATE_TIME = \"DATE_TIME\",\n      PHONE_INPUT = \"PHONE_INPUT\",\n      DATE_INPUT = \"DATE_INPUT\",\n      TIME_INPUT = \"TIME_INPUT\",\n      DATE_PICKER = \"DATE_PICKER\"\n  }\n  interface TextInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: ButtonDataType;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum ButtonDataType {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: LinkTarget;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum LinkTarget {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface PollOption {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: PollOption[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData {\n      textStyle?: TextStyle;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface RadioGroup {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to show option allowing input custom value\n       * List of options to select from\n       */\n      options?: RadioGroupOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: RadioGroupCustomOption;\n      /**\n       * Specifies the number of columns used to display the selections within the component.\n       * Default: ONE\n       */\n      numberOfColumns?: NumberOfColumns;\n  }\n  interface RadioGroupOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface RadioGroupCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  enum NumberOfColumns {\n      /** Undefined number of columns. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Zero columns. */\n      ZERO = \"ZERO\",\n      /** One column. */\n      ONE = \"ONE\",\n      /** Two columns. */\n      TWO = \"TWO\",\n      /** Three columns. */\n      THREE = \"THREE\"\n  }\n  interface Dropdown {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: DropdownOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: DropdownCustomOption;\n      /** Placeholder of dropdown input */\n      placeholder?: string | null;\n  }\n  interface DropdownOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface DropdownCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface DateTimeInput {\n      /** Label of the field. Displayed text for the date/time input. */\n      label?: string | null;\n      /** Description of the field. Additional information about the date/time input. */\n      description?: RichContent;\n      /**\n       * Flag identifying whether to show or hide the label.\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /**\n       * Flag identifying whether to show or hide the placeholder.\n       * Default: true\n       */\n      showPlaceholder?: boolean | null;\n      /**\n       * Flag indicating whether to use the 24-hour time format.\n       * Default: false.\n       */\n      use24HourFormat?: boolean;\n  }\n  interface PhoneInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to show label or not\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Default value of the country code */\n      defaultCountryCode?: string | null;\n      /**\n       * Flag identifying to show country flag or not\n       * Default: false\n       */\n      showCountryFlag?: boolean;\n  }\n  interface DateInput {\n      /** Label of the field. Displayed text for the date/time input. */\n      label?: string | null;\n      /** Description of the field. Additional information about the date/time input. */\n      description?: RichContent;\n      /**\n       * Flag identifying whether to show or hide the label.\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /**\n       * Flag identifying whether to show or hide the placeholder.\n       * Default: true\n       */\n      showPlaceholder?: boolean | null;\n  }\n  interface TimeInput {\n      /** Label of the field. Displayed text for the date/time input. */\n      label?: string | null;\n      /** Description of the field. Additional information about the date/time input. */\n      description?: RichContent;\n      /**\n       * Flag identifying whether to show or hide the label.\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /**\n       * Flag identifying whether to show or hide the placeholder.\n       * Default: true\n       */\n      showPlaceholder?: boolean | null;\n      /**\n       * Flag indicating whether to use the 24-hour time format.\n       * Default: false.\n       */\n      use24HourFormat?: boolean;\n  }\n  interface DatePicker {\n      /** Label of the field. Displayed text for the date/time input. */\n      label?: string | null;\n      /** Description of the field. Additional information about the date/time input. */\n      description?: RichContent;\n      /**\n       * Flag identifying whether to show or hide the label.\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Placeholder of date picker input */\n      placeholder?: string | null;\n      /** First day of the week displayed on date picker. */\n      firstDayOfWeek?: FirstDayOfWeekEnumFirstDayOfWeek;\n  }\n  enum FirstDayOfWeekEnumFirstDayOfWeek {\n      /** First day of the week is Monday. */\n      MONDAY = \"MONDAY\",\n      /** First day of the week is Sunday. */\n      SUNDAY = \"SUNDAY\"\n  }\n  interface InputFieldNumberType {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldNumberErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum NumberComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      NUMBER_INPUT = \"NUMBER_INPUT\",\n      RATING_INPUT = \"RATING_INPUT\"\n  }\n  interface NumberInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface RatingInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide label or not\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Default rating */\n      defaultValue?: number | null;\n  }\n  interface InputFieldBooleanType {\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldBooleanErrorMessages;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface InputFieldBooleanErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum BooleanComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      CHECKBOX = \"CHECKBOX\"\n  }\n  interface Checkbox {\n      /** Label of the field */\n      label?: RichContent;\n      /**\n       * Flag identifying if checked by default\n       * Default: false\n       */\n      checked?: boolean;\n  }\n  interface InputFieldArrayType {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayTypeArrayItems;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldArrayErrorMessages;\n  }\n  enum ItemType {\n      UNKNOWN_ITEM_TYPE = \"UNKNOWN_ITEM_TYPE\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      OBJECT = \"OBJECT\"\n  }\n  interface InputFieldIntegerType {\n      /** Maximum value. */\n      maximum?: number | null;\n      /** Minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldObjectType {\n      /** Description of object properties. */\n      properties?: Record<string, ObjectTypePropertiesType>;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldObjectErrorMessages;\n  }\n  enum PropertiesTypeEnum {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      ARRAY = \"ARRAY\"\n  }\n  interface ObjectTypePropertiesType extends ObjectTypePropertiesTypePropertiesTypeOptionsOneOf {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType;\n      /**\n       * Type of object properties\n       * @readonly\n       */\n      propertiesType?: PropertiesTypeEnum;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ObjectTypePropertiesTypePropertiesTypeOptionsOneOf {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType;\n  }\n  interface InputFieldObjectErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayTypeArrayItems extends ArrayTypeArrayItemsItemTypeOptionsOneOf {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType;\n      /**\n       * Type of array items\n       * @readonly\n       */\n      itemType?: ItemType;\n  }\n  /** @oneof */\n  interface ArrayTypeArrayItemsItemTypeOptionsOneOf {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType;\n  }\n  interface InputFieldArrayErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum ComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\",\n      TAGS = \"TAGS\"\n  }\n  interface CheckboxGroup {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: Option[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CustomOption;\n      /**\n       * Specifies the number of columns used to display the selections within the component.\n       * Default: ONE\n       */\n      numberOfColumns?: NumberOfColumns;\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** WixMedia image. */\n      image?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** WixMedia image. */\n      image?: string;\n  }\n  interface Option {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: any;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  interface CustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface Tags {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: TagsOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CommonCustomOption;\n      /**\n       * Specifies the number of columns used to display the selections within the component.\n       * Default: ONE\n       */\n      numberOfColumns?: NumberOfColumns;\n  }\n  interface TagsOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: any;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  interface CommonCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  enum WixFileComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      FILE_UPLOAD = \"FILE_UPLOAD\",\n      SIGNATURE = \"SIGNATURE\"\n  }\n  interface FileUpload {\n      /** Selectable option label */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Text on upload button */\n      buttonText?: string | null;\n      /** Amount of files allowed to upload */\n      fileLimit?: number;\n      /** Supported file formats for upload */\n      uploadFileFormats?: UploadFileFormat[];\n      /** Custom text which appears when file is uploaded, if missing file name will be shown */\n      explanationText?: string | null;\n  }\n  enum UploadFileFormat {\n      /** Undefined upload file format. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Video files. */\n      VIDEO = \"VIDEO\",\n      /** Image files. */\n      IMAGE = \"IMAGE\",\n      /** Audio files. */\n      AUDIO = \"AUDIO\",\n      /** Document files. */\n      DOCUMENT = \"DOCUMENT\",\n      /** Archive files. */\n      ARCHIVE = \"ARCHIVE\"\n  }\n  interface Signature {\n      /** Selectable option label */\n      label?: string | null;\n      /**\n       * Flag identifying to hide label or not\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Is image upload enabled */\n      imageUploadEnabled?: boolean;\n  }\n  enum PaymentComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\",\n      DONATION_INPUT = \"DONATION_INPUT\",\n      PAYMENT_INPUT = \"PAYMENT_INPUT\",\n      FIXED_PAYMENT = \"FIXED_PAYMENT\"\n  }\n  interface ProductCheckboxGroup {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /** List of options to select from. */\n      options?: ProductCheckboxGroupOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /**\n       * Defines how an image should be resized to fit within its option.\n       * Default: COVER\n       */\n      imageFit?: ImageFit;\n  }\n  interface ProductCheckboxGroupOption {\n      /** Selectable option label. */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. Corresponds to product id, found in field's products list. */\n      value?: any;\n      /** Option id. Used as binding for translations. */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  enum ImageFit {\n      UNKNOWN_IMAGE_FIT = \"UNKNOWN_IMAGE_FIT\",\n      /** Image is scaled to maintain its aspect ratio while filling the element's entire content box. Portions of the image may be clipped if the aspect ratios do not match. */\n      COVER = \"COVER\",\n      /** Image is resized to fill the element's content box. Aspect ratio may not be preserved. */\n      CONTAIN = \"CONTAIN\"\n  }\n  interface DonationInput {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /** List of options to select from. */\n      options?: DonationInputOption[];\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CommonCustomOption;\n      /**\n       * Specifies the number of columns used to display the selections within the component.\n       * Default: ONE\n       */\n      numberOfColumns?: NumberOfColumns;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface DonationInputOption {\n      /** Selectable option value, which is saved to DB. Corresponds to product id, found in field's products list. */\n      value?: string;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n  }\n  interface PaymentInput {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface FixedPayment {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  enum MultilineAddressComponentType {\n      UNKNOWN_COMPONENT_TYPE = \"UNKNOWN_COMPONENT_TYPE\",\n      MULTILINE_ADDRESS = \"MULTILINE_ADDRESS\"\n  }\n  interface MultilineAddress {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /** Show country flags. */\n      showCountryFlags?: boolean;\n      /** Default country configuration. */\n      defaultCountryConfig?: DefaultCountryConfig;\n      /** Fields settings. */\n      fieldSettings?: FieldsSettings;\n      /** Autocomplete enabled for address line field. */\n      autocompleteEnabled?: boolean;\n  }\n  enum Type {\n      /** Unknown default country config type. */\n      UNKNOWN_DEFAULT_COUNTRY = \"UNKNOWN_DEFAULT_COUNTRY\",\n      /** Country is determined by customer's IP address. */\n      BY_IP = \"BY_IP\",\n      /** Pre-selected default country. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface AddressLine2 {\n      /** Show address line 2 field. */\n      show?: boolean;\n  }\n  interface DefaultCountryConfig extends DefaultCountryConfigOptionsOneOf {\n      /** Country. */\n      countryOptions?: string;\n      /** Default country type. */\n      type?: Type;\n  }\n  /** @oneof */\n  interface DefaultCountryConfigOptionsOneOf {\n      /** Country. */\n      countryOptions?: string;\n  }\n  interface FieldsSettings {\n      /** Address line 2. */\n      addressLine2?: AddressLine2;\n  }\n  enum InputType {\n      UNKNOWN_INPUT_TYPE = \"UNKNOWN_INPUT_TYPE\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      ARRAY = \"ARRAY\",\n      OBJECT = \"OBJECT\",\n      WIX_FILE = \"WIX_FILE\",\n      PAYMENT = \"PAYMENT\",\n      MULTILINE_ADDRESS = \"MULTILINE_ADDRESS\"\n  }\n  interface FormFieldContactInfo extends FormFieldContactInfoAdditionalInfoOneOf {\n      /** Email info. */\n      emailInfo?: EmailInfo;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo;\n      /** Address info. */\n      addressInfo?: AddressInfo;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo;\n      /** Subscription info */\n      subscriptionInfo?: SubscriptionInfo;\n      /** Field mapped to contacts. */\n      contactField?: ContactField;\n  }\n  /** @oneof */\n  interface FormFieldContactInfoAdditionalInfoOneOf {\n      /** Email info. */\n      emailInfo?: EmailInfo;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo;\n      /** Address info. */\n      addressInfo?: AddressInfo;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo;\n      /** Subscription info */\n      subscriptionInfo?: SubscriptionInfo;\n  }\n  enum EmailInfoTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum PhoneInfoTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum Tag {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\"\n  }\n  enum SubscriptionInfoOptInLevel {\n      UNKNOWN = \"UNKNOWN\",\n      SINGLE_CONFIRMATION = \"SINGLE_CONFIRMATION\",\n      DOUBLE_CONFIRMATION = \"DOUBLE_CONFIRMATION\"\n  }\n  enum ContactField {\n      UNDEFINED = \"UNDEFINED\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      COMPANY = \"COMPANY\",\n      POSITION = \"POSITION\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      ADDRESS = \"ADDRESS\",\n      BIRTHDATE = \"BIRTHDATE\",\n      CUSTOM_FIELD = \"CUSTOM_FIELD\",\n      SUBSCRIPTION = \"SUBSCRIPTION\",\n      VAT_ID = \"VAT_ID\"\n  }\n  interface EmailInfo {\n      /** Email tag. */\n      tag?: EmailInfoTag;\n  }\n  interface PhoneInfo {\n      /** Phone tag. */\n      tag?: PhoneInfoTag;\n  }\n  interface AddressInfo {\n      /** Address tag. */\n      tag?: Tag;\n  }\n  interface CustomFieldInfo {\n      /** Custom field key. */\n      key?: string;\n  }\n  interface SubscriptionInfo {\n      /**\n       * Subscription consent opt in level, either single or double confirmation.\n       * Default: SINGLE_CONFIRMATION\n       */\n      optInLevel?: SubscriptionInfoOptInLevel;\n  }\n  interface _String extends _StringComponentTypeOptionsOneOf {\n      /** Text input field */\n      textInputOptions?: TextInput;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown;\n      /** Field for selecting date and/or time */\n      dateTimeOptions?: DateTimeInput;\n      /** Phone input field */\n      phoneInputOptions?: PhoneInput;\n      /** Dropdown based component for selecting date */\n      dateInputOptions?: DateInput;\n      /** Field for selecting time */\n      timeInputOptions?: TimeInput;\n      /** Calendar type component for selecting date */\n      datePickerOptions?: DatePicker;\n      /** Validation of field output value. */\n      validation?: InputFieldStringType;\n      /**\n       * Component type of the string input field\n       * @readonly\n       */\n      componentType?: StringComponentType;\n  }\n  /** @oneof */\n  interface _StringComponentTypeOptionsOneOf {\n      /** Text input field */\n      textInputOptions?: TextInput;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown;\n      /** Field for selecting date and/or time */\n      dateTimeOptions?: DateTimeInput;\n      /** Phone input field */\n      phoneInputOptions?: PhoneInput;\n      /** Dropdown based component for selecting date */\n      dateInputOptions?: DateInput;\n      /** Field for selecting time */\n      timeInputOptions?: TimeInput;\n      /** Calendar type component for selecting date */\n      datePickerOptions?: DatePicker;\n  }\n  interface _Number extends _NumberComponentTypeOptionsOneOf {\n      /** Number value input field */\n      numberInputOptions?: NumberInput;\n      /** Rating value input field */\n      ratingInputOptions?: RatingInput;\n      /** Validation of field output value. */\n      validation?: InputFieldNumberType;\n      /**\n       * Component type of the number input field\n       * @readonly\n       */\n      componentType?: NumberComponentType;\n  }\n  /** @oneof */\n  interface _NumberComponentTypeOptionsOneOf {\n      /** Number value input field */\n      numberInputOptions?: NumberInput;\n      /** Rating value input field */\n      ratingInputOptions?: RatingInput;\n  }\n  interface _Boolean extends _BooleanComponentTypeOptionsOneOf {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox;\n      /** Validation of field output value. */\n      validation?: InputFieldBooleanType;\n      /**\n       * Component type of the boolean input field\n       * @readonly\n       */\n      componentType?: BooleanComponentType;\n  }\n  /** @oneof */\n  interface _BooleanComponentTypeOptionsOneOf {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox;\n  }\n  interface _Array extends _ArrayComponentTypeOptionsOneOf {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup;\n      /** Tags input field */\n      tagsOptions?: Tags;\n      /** Validation of array type. */\n      validation?: InputFieldArrayType;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: ComponentType;\n  }\n  /** @oneof */\n  interface _ArrayComponentTypeOptionsOneOf {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup;\n      /** Tags input field */\n      tagsOptions?: Tags;\n  }\n  interface _Object extends _ObjectValidationOneOf {\n      /** Validation of object type. */\n      object?: InputFieldObjectType;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  /** @oneof */\n  interface _ObjectValidationOneOf {\n      /** Validation of object type. */\n      object?: InputFieldObjectType;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  interface WixFile extends WixFileComponentTypeOptionsOneOf {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload;\n      /** Signature input field */\n      signatureOptions?: Signature;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: WixFileComponentType;\n  }\n  /** @oneof */\n  interface WixFileComponentTypeOptionsOneOf {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload;\n      /** Signature input field */\n      signatureOptions?: Signature;\n  }\n  interface Payment extends PaymentComponentTypeOptionsOneOf {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: ProductCheckboxGroup;\n      /** Donation input field. */\n      donationInputOptions?: DonationInput;\n      /** Payment input field. */\n      paymentInputOptions?: PaymentInput;\n      /** Fixed payment field. */\n      fixedPaymentOptions?: FixedPayment;\n      /**\n       * Component type of the payment input field.\n       * @readonly\n       */\n      componentType?: PaymentComponentType;\n      /** Validation of payment type. */\n      validation?: PaymentType;\n  }\n  /** @oneof */\n  interface PaymentComponentTypeOptionsOneOf {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: ProductCheckboxGroup;\n      /** Donation input field. */\n      donationInputOptions?: DonationInput;\n      /** Payment input field. */\n      paymentInputOptions?: PaymentInput;\n      /** Fixed payment field. */\n      fixedPaymentOptions?: FixedPayment;\n  }\n  interface InputFieldMultilineAddress extends InputFieldMultilineAddressComponentTypeOptionsOneOf {\n      /** Multiline address input field. */\n      multilineAddressOptions?: MultilineAddress;\n      /**\n       * Component type of the multiline address field.\n       * @readonly\n       */\n      componentType?: MultilineAddressComponentType;\n      /** Validation of multiline address field output value. */\n      validation?: MultilineAddressValidation;\n  }\n  /** @oneof */\n  interface InputFieldMultilineAddressComponentTypeOptionsOneOf {\n      /** Multiline address input field. */\n      multilineAddressOptions?: MultilineAddress;\n  }\n  enum Target {\n      /** Undefined target. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Open in the same browser tab. */\n      SELF = \"SELF\",\n      /** Open in a new tab. */\n      BLANK = \"BLANK\"\n  }\n  interface ThankYouMessage {\n      /** Message show after form submission */\n      text?: RichContent;\n      /**\n       * Duration after how much second it should disappear. If 0, will stay forever.\n       * Default: false\n       */\n      duration?: number | null;\n  }\n  interface Redirect {\n      /** Url to which UoU should be redirected after successful submit of form */\n      url?: string | null;\n      /** How should url be opened */\n      target?: Target;\n  }\n  enum FieldType {\n      UNKNOWN = \"UNKNOWN\",\n      INPUT = \"INPUT\",\n      DISPLAY = \"DISPLAY\",\n      SUBMIT = \"SUBMIT\"\n  }\n  interface InputField extends InputFieldInputTypeOptionsOneOf {\n      /** Input return string as value */\n      stringOptions?: _String;\n      /** Input return number as value */\n      numberOptions?: _Number;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean;\n      /** Input return array as value */\n      arrayOptions?: _Array;\n      /** Input return object as value */\n      objectOptions?: _Object;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment;\n      /** Input returns multiline address as value. */\n      multilineAddressOptions?: InputFieldMultilineAddress;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /**\n       * Mark the field as containing personal information. This will encrypt user data when storing it.\n       * Default: false\n       */\n      pii?: boolean;\n      /**\n       * Whether the field is required.\n       * Default: false\n       */\n      required?: boolean;\n      /**\n       * Type of the input field\n       * @readonly\n       */\n      inputType?: InputType;\n      /** Mapping to contacts, telling to what contact property field input value should be saved. */\n      contactMapping?: FormFieldContactInfo;\n      /**\n       * Whether the field is read only.\n       * Default: false\n       */\n      readOnly?: boolean;\n  }\n  /** @oneof */\n  interface InputFieldInputTypeOptionsOneOf {\n      /** Input return string as value */\n      stringOptions?: _String;\n      /** Input return number as value */\n      numberOptions?: _Number;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean;\n      /** Input return array as value */\n      arrayOptions?: _Array;\n      /** Input return object as value */\n      objectOptions?: _Object;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment;\n      /** Input returns multiline address as value. */\n      multilineAddressOptions?: InputFieldMultilineAddress;\n  }\n  /** Copy of the entity existing in form template project, needed to hide translations. */\n  interface DisplayField extends DisplayFieldDisplayFieldTypeOptionsOneOf, DisplayFieldComponentTypeOneOf {\n      /** Component displaying rich content */\n      richContentOptions?: RichContentOptions;\n      /** Page navigation component resolving as navigation or submit buttons */\n      pageNavigationOptions?: PageNavigationOptions;\n      /** Header field */\n      header?: Header;\n      /** Rich text field */\n      richText?: RichText;\n      /** Type of the display field */\n      displayFieldType?: DisplayFieldType;\n  }\n  /** @oneof */\n  interface DisplayFieldDisplayFieldTypeOptionsOneOf {\n      /** Component displaying rich content */\n      richContentOptions?: RichContentOptions;\n      /** Page navigation component resolving as navigation or submit buttons */\n      pageNavigationOptions?: PageNavigationOptions;\n  }\n  /** @oneof */\n  interface DisplayFieldComponentTypeOneOf {\n      /** Header field */\n      header?: Header;\n      /** Rich text field */\n      richText?: RichText;\n  }\n  enum DisplayFieldType {\n      UNKNOWN_FIELD_TYPE = \"UNKNOWN_FIELD_TYPE\",\n      RICH_CONTENT = \"RICH_CONTENT\",\n      PAGE_NAVIGATION = \"PAGE_NAVIGATION\"\n  }\n  interface RichContentOptions {\n      /** Content of the header */\n      richContent?: RichContent;\n  }\n  interface PageNavigationOptions {\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to next page. */\n      nextPageText?: string | null;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to previous page. */\n      previousPageText?: string | null;\n      /** Text on the button when button is submitting a form */\n      submitText?: string | null;\n  }\n  interface Header {\n      /** Content of the header */\n      content?: RichContent;\n  }\n  interface RichText {\n      /** Content of the rich text field */\n      content?: RichContent;\n  }\n  interface SubmitButton extends SubmitButtonSubmitActionOneOf {\n      /**\n       * Submit action effect is to show message\n       * @deprecated Submit action effect is to show message\n       * @replacedBy wix.forms.v4.SubmitSettings.ThankYouMessageOptions\n       * @targetRemovalDate 2025-01-06\n       */\n      thankYouMessage?: ThankYouMessage;\n      /**\n       * Submit action effect is to redirect to\n       * @deprecated Submit action effect is to redirect to\n       * @replacedBy wix.forms.v4.SubmitSettings.RedirectOptions\n       * @targetRemovalDate 2025-01-06\n       */\n      redirect?: Redirect;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to next page. */\n      nextText?: string | null;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to previous page. */\n      previousText?: string | null;\n      /** Text on the button when button is submitting a form */\n      submitText?: string | null;\n  }\n  /** @oneof */\n  interface SubmitButtonSubmitActionOneOf {\n      /**\n       * Submit action effect is to show message\n       * @deprecated Submit action effect is to show message\n       * @replacedBy wix.forms.v4.SubmitSettings.ThankYouMessageOptions\n       * @targetRemovalDate 2025-01-06\n       */\n      thankYouMessage?: ThankYouMessage;\n      /**\n       * Submit action effect is to redirect to\n       * @deprecated Submit action effect is to redirect to\n       * @replacedBy wix.forms.v4.SubmitSettings.RedirectOptions\n       * @targetRemovalDate 2025-01-06\n       */\n      redirect?: Redirect;\n  }\n  interface Step {\n      /** Step ID. */\n      _id?: string;\n      /** Name of the step. */\n      name?: string | null;\n      /** Is step hidden */\n      hidden?: boolean;\n      /** Form step properties */\n      layout?: FormLayout;\n  }\n  interface FormLayout {\n      /** Layout for large break point. */\n      large?: BreakPoint;\n      /** Layout for medium break point. */\n      medium?: BreakPoint;\n      /** Layout for small break point. */\n      small?: BreakPoint;\n  }\n  interface BreakPoint {\n      /** Description of layouts for items. */\n      items?: ItemLayout[];\n      /** Amount of columns of layout grid. */\n      columns?: number | null;\n      /** Row height of layout grid. */\n      rowHeight?: number | null;\n      /** Description of elements margins. */\n      margin?: Margin;\n      /** Description of elements paddings. */\n      padding?: Margin;\n      /** Sections of the layout, which allow manage fields */\n      sections?: Section[];\n  }\n  interface ItemLayout extends ItemLayoutItemOneOf {\n      /** Form field reference id. */\n      fieldId?: string;\n      /** Group info, defining that this item is a group of multiple fields */\n      group?: Group;\n      /** Horizontal coordinate in the grid. */\n      row?: number | null;\n      /** Vertical coordinate in the grid. */\n      column?: number | null;\n      /** Height. */\n      width?: number | null;\n      /** Width. */\n      height?: number | null;\n  }\n  /** @oneof */\n  interface ItemLayoutItemOneOf {\n      /** Form field reference id. */\n      fieldId?: string;\n      /** Group info, defining that this item is a group of multiple fields */\n      group?: Group;\n  }\n  interface Group {\n      /** Field group reference id. */\n      groupId?: string;\n      /** Description of layouts for items. */\n      items?: ItemLayout[];\n  }\n  interface Margin {\n      /** Horizontal value. */\n      horizontal?: number | null;\n      /** Vertical value. */\n      vertical?: number | null;\n  }\n  interface Section {\n      /** Id of the section */\n      _id?: string;\n      /** Horizontal coordinate in the grid. */\n      row?: number | null;\n      /**\n       * A list of field identifiers that are permitted to be placed within a section.\n       * The section will only accept fields with IDs specified in this list.\n       * If the section encounters the $new key within the list,\n       * it allows the inclusion of fields not explicitly listed,\n       * enabling dynamic addition of new fields.\n       */\n      allowedFieldIds?: string[];\n  }\n  interface FormRule {\n      /** Id of the rule */\n      _id?: string;\n      /** Rule on which item properties or layouts will be changed. */\n      condition?: Record<string, any> | null;\n      /**\n       * Form items with defined properties that will be\n       * changed when given condition is resolved to true.\n       */\n      overrides?: FormOverride[];\n      /** Name of the rule */\n      name?: string | null;\n  }\n  enum OverrideEntityType {\n      UNKNOWN = \"UNKNOWN\",\n      FIELD = \"FIELD\",\n      FORM = \"FORM\",\n      NESTED_FORM_FIELD = \"NESTED_FORM_FIELD\"\n  }\n  interface FormOverride {\n      /** Override entity type. */\n      entityType?: OverrideEntityType;\n      /** Overridden entity id. Either fieldId, or \"{fieldIdWithNestedForm}/{nestedFormFieldId}\" */\n      entityId?: string | null;\n      /** Form entity properties path with new value, that will be changed on condition. */\n      valueChanges?: Record<string, any>;\n  }\n  interface FormProperties {\n      /** Form name. */\n      name?: string | null;\n      /** Identifies if the form is disabled. */\n      disabled?: boolean;\n  }\n  enum Kind {\n      /** Return forms specific to tenant, excluding template based forms. */\n      REGULAR = \"REGULAR\",\n      /** Return forms based on common templates, with applied user overrides if they exist. */\n      EXTENSION = \"EXTENSION\"\n  }\n  interface PostSubmissionTriggers {\n      /** Upserts a contact from the submission data. */\n      upsertContact?: UpsertContact;\n  }\n  interface UpsertContact {\n      /** Fields mapping (target field mapped to corresponding contact field). */\n      fieldsMapping?: Record<string, FormFieldContactInfo>;\n      /**\n       * List of contact label keys.\n       * [Contact labels](https://support.wix.com/en/article/adding-labels-to-contacts-in-your-contact-list)\n       * help categorize contacts.\n       */\n      labels?: string[];\n  }\n  interface NestedForm {\n      /** Targets which have this form. */\n      targets?: string[];\n      /** Nested form. */\n      form?: Form;\n  }\n  interface LimitationRule {\n      /** Limitation by submission count, disables form when a set amount of submissions is reached. */\n      maxAllowedSubmissions?: number | null;\n      /** Limitation by submission date, disables form when a set date and time is reached. */\n      dateTimeDeadline?: Date | null;\n  }\n  enum SpamFilterProtectionLevel {\n      /** Unknown spam filter protection level. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Spam filter is not used. Form is open for spam submissions. */\n      NONE = \"NONE\",\n      /** Spam filter operates in basic mode. Form is open to high risk of spam submissions. */\n      BASIC = \"BASIC\",\n      /** Spam filter operates in advanced mode. Form is open to low risk of spam submissions. */\n      ADVANCED = \"ADVANCED\"\n  }\n  interface RequiredIndicatorProperties {\n      /** Required indicator. */\n      requiredIndicator?: RequiredIndicator;\n      /** Required indicator placement. */\n      requiredIndicatorPlacement?: RequiredIndicatorPlacement;\n  }\n  interface SubmitSettings extends SubmitSettingsSubmitSuccessActionOptionsOneOf {\n      /** Options for showing a thank you message after submission. */\n      thankYouMessageOptions?: ThankYouMessageOptions;\n      /** Options for redirecting to a URL after submission. */\n      redirectOptions?: RedirectOptions;\n      /** Action that is triggered after a successful form submission. */\n      submitSuccessAction?: SubmitSuccessAction;\n  }\n  /** @oneof */\n  interface SubmitSettingsSubmitSuccessActionOptionsOneOf {\n      /** Options for showing a thank you message after submission. */\n      thankYouMessageOptions?: ThankYouMessageOptions;\n      /** Options for redirecting to a URL after submission. */\n      redirectOptions?: RedirectOptions;\n  }\n  enum UrlTargetEnumTarget {\n      /** Unknown target. */\n      UNKNOWN_TARGET = \"UNKNOWN_TARGET\",\n      /** Open in the same browser tab. */\n      SELF = \"SELF\",\n      /** Open in a new browser tab. */\n      BLANK = \"BLANK\"\n  }\n  enum SubmitSuccessAction {\n      /** Unknown submit success action. */\n      UNKNOWN_SUBMIT_SUCCESS_ACTION = \"UNKNOWN_SUBMIT_SUCCESS_ACTION\",\n      /** No action will be taken after submission. */\n      NO_ACTION = \"NO_ACTION\",\n      /** A thank you message will be shown after submission. */\n      THANK_YOU_MESSAGE = \"THANK_YOU_MESSAGE\",\n      /** The user will be redirected to a URL after submission. */\n      REDIRECT = \"REDIRECT\"\n  }\n  interface ThankYouMessageOptions {\n      /** Duration in seconds after which the message should disappear. If 0, the message will stay forever. */\n      durationInSeconds?: number | null;\n      /** The message shown after form submission. */\n      richContent?: RichContent;\n  }\n  interface RedirectOptions {\n      /** The URL to which the user should be redirected after a successful form submission. */\n      redirectUrl?: string | null;\n      /** How the URL should be opened. */\n      target?: UrlTargetEnumTarget;\n  }\n  interface FieldGroup {\n      /** Id of group, on layout */\n      _id?: string;\n      /** Label of group */\n      label?: string | null;\n  }\n  interface CreateCheckoutFromSubmissionResponse {\n      /** Checkout ID (applicable for form involving payments). */\n      checkoutId?: string | null;\n      /** Checkout (applicable for form involving payments). */\n      checkout?: Checkout;\n  }\n  interface Checkout {\n      /** Checkout ID. */\n      _id?: string;\n      /**\n       * The currency used when submitting the order.\n       * @readonly\n       */\n      currency?: string;\n  }\n  interface IsFormSubmittableRequest {\n  }\n  interface IsFormSubmittableResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CreateSubmissionRequest {\n      /** Submission to create. */\n      submission: FormSubmission;\n      /** Captcha token. */\n      captchaToken?: string | null;\n      /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n      additionalMetadata?: Record<string, any> | null;\n  }\n  interface CreateSubmissionResponse {\n      /** The created submission. */\n      submission?: FormSubmission;\n  }\n  interface SubmissionValidationErrorsDetails {\n      /** Submission validation errors details. */\n      errors?: ValidationError[];\n  }\n  interface ValidationError {\n      /** Path indicating the source of the error, such as `submission.submissions.email`` */\n      errorPath?: string;\n      /** Error type. */\n      errorType?: ErrorType;\n      /** Error message. */\n      errorMessage?: string;\n      /** Additional error parameters, to help identify additional info. */\n      params?: Record<string, any> | null;\n      /**\n       * Whether to use a custom error message.\n       * If `false`, the API takes the message from the `errorType` field.\n       * Default: `false`\n       */\n      useCustomErrorMessage?: boolean;\n  }\n  enum ErrorType {\n      /** Error is unknown or not suitable for any of options bellow */\n      UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n      /** Type of submitted value is incorrect */\n      TYPE_ERROR = \"TYPE_ERROR\",\n      /** Value is required to be provided */\n      REQUIRED_VALUE_ERROR = \"REQUIRED_VALUE_ERROR\",\n      /** Value contains additional properties not expected in schema */\n      UNKNOWN_VALUE_ERROR = \"UNKNOWN_VALUE_ERROR\",\n      /** Text value exceeds max length */\n      MAX_LENGTH_ERROR = \"MAX_LENGTH_ERROR\",\n      /** Text value not reaches min length */\n      MIN_LENGTH_ERROR = \"MIN_LENGTH_ERROR\",\n      /** Text value not applicable for expected pattern */\n      PATTERN_ERROR = \"PATTERN_ERROR\",\n      /** Text value not applicable for expected format */\n      FORMAT_ERROR = \"FORMAT_ERROR\",\n      /** Number value is too big */\n      MAX_VALUE_ERROR = \"MAX_VALUE_ERROR\",\n      /** Number value is too small */\n      MIN_VALUE_ERROR = \"MIN_VALUE_ERROR\",\n      /** Number value is not multiple of expected number */\n      MULTIPLE_OF_VALUE_ERROR = \"MULTIPLE_OF_VALUE_ERROR\",\n      /** Array value has too much items */\n      MIN_ITEMS_ERROR = \"MIN_ITEMS_ERROR\",\n      /** Array value has not enough items */\n      MAX_ITEMS_ERROR = \"MAX_ITEMS_ERROR\",\n      /** Value is not in list of allowed values */\n      NOT_ALLOWED_VALUE_ERROR = \"NOT_ALLOWED_VALUE_ERROR\",\n      /** Form fields are incompatible */\n      FIELDS_COMPATIBILITY_ERROR = \"FIELDS_COMPATIBILITY_ERROR\",\n      /** Submitted form is disabled */\n      DISABLED_FORM_ERROR = \"DISABLED_FORM_ERROR\",\n      /** Too much forms */\n      FORMS_COUNT_RESTRICTIONS_ERROR = \"FORMS_COUNT_RESTRICTIONS_ERROR\",\n      /** Too much fields on form */\n      FIELDS_COUNT_RESTRICTIONS_ERROR = \"FIELDS_COUNT_RESTRICTIONS_ERROR\",\n      /** Too much steps on forms */\n      STEPS_COUNT_RESTRICTIONS_ERROR = \"STEPS_COUNT_RESTRICTIONS_ERROR\",\n      /** Too much rules on forms */\n      RULES_COUNT_RESTRICTIONS_ERROR = \"RULES_COUNT_RESTRICTIONS_ERROR\",\n      /** File upload is not allowed */\n      FILE_UPLOAD_RESTRICTIONS_ERROR = \"FILE_UPLOAD_RESTRICTIONS_ERROR\",\n      /** Country code is not correct or missing from the phone number */\n      INVALID_PHONE_COUNTRY_CODE_ERROR = \"INVALID_PHONE_COUNTRY_CODE_ERROR\"\n  }\n  interface CreateSubmissionBySubmitterRequest {\n      /** Submission to create. */\n      submission: FormSubmission;\n      /** A flag indicating whether this operation is a repeated creation, such as restoring a previously manually reported as spam entity. */\n      repeatedCreation?: boolean;\n      /** Validation will be mode is more forgiving, for example \"required\" won't be validated. */\n      lenientValidation?: boolean;\n  }\n  interface CreateSubmissionBySubmitterResponse {\n      /** The created submission. */\n      submission?: FormSubmission;\n  }\n  interface BulkCreateSubmissionBySubmitterRequest {\n      /** Form id. Restricts submissions creation for a single form. */\n      formId: string;\n      /**\n       * Submissions to create.\n       * Deprecated\n       */\n      submissions?: FormSubmission[];\n      /** When set, items will be returned on successful create. */\n      returnEntity?: boolean;\n      /** Submissions data to create. */\n      submissionsV2?: BulkCreateSubmissionBySubmitterData[];\n      /** Validation will be mode is more forgiving, for example \"required\" won't be validated. */\n      lenientValidation?: boolean;\n  }\n  interface BulkCreateSubmissionBySubmitterData {\n      /** Submissions to create. */\n      submission?: FormSubmission;\n      /** A flag indicating whether this operation is a repeated creation, such as restoring a previously manually reported as spam entity. */\n      repeatedCreation?: boolean;\n  }\n  interface BulkCreateSubmissionBySubmitterResponse {\n      /** Created submissions with metadata */\n      results?: BulkSubmissionResult[];\n      /** Metadata of request */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkSubmissionResult {\n      /** Created submission metadata */\n      itemMetadata?: ItemMetadata;\n      /** The created submission. */\n      item?: FormSubmission;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetSubmissionRequest {\n      /** ID of the submission to retrieve. */\n      submissionId: string;\n  }\n  interface GetSubmissionResponse {\n      /** The retrieved submission. */\n      submission?: FormSubmission;\n  }\n  interface GetSubmissionByCheckoutIdRequest {\n      /** Checkout ID of the submission to retrieve. */\n      checkoutId: string;\n  }\n  interface GetSubmissionByCheckoutIdResponse {\n      /** The retrieved submission. */\n      submission?: FormSubmission;\n  }\n  interface UpdateSubmissionRequest {\n      /** Submission to update. */\n      submission: FormSubmission;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateSubmissionResponse {\n      /** The updated submission. */\n      submission?: FormSubmission;\n  }\n  interface ConfirmSubmissionRequest {\n      /** Submission ID to confirm. */\n      submissionId: string;\n  }\n  interface ConfirmSubmissionResponse {\n      /** The confirmed submission. */\n      submission?: FormSubmission;\n  }\n  interface DeleteSubmissionRequest {\n      /** ID of the submission to delete. */\n      submissionId: string;\n      /**\n       * Delete the submission, bypassing the trash bin. This means that the submission is permanently deleted and cannot be restored.\n       *\n       *\n       * Default: `false`\n       */\n      permanent?: boolean;\n      /** Whether to preserve files, associated with the submission. If the value is `false`, then the files are deleted after 210 days. */\n      preserveFiles?: boolean;\n  }\n  interface DeleteSubmissionResponse {\n  }\n  interface BulkDeleteSubmissionRequest {\n      /** Form ID. */\n      formId: string;\n      /** Submission ids. */\n      submissionIds?: string[];\n      /**\n       * Delete submission bypassing trash-bin\n       * Default: false\n       */\n      permanent?: boolean;\n      /** Preserve files. */\n      preserveFiles?: boolean;\n  }\n  interface BulkDeleteSubmissionResponse {\n      /** Results of bulk submission delete */\n      results?: BulkDeleteSubmissionResult[];\n      /** Metadata of request */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteSubmissionResult {\n      /** Deleted item metadata */\n      itemMetadata?: ItemMetadata;\n  }\n  interface RestoreSubmissionFromTrashBinRequest {\n      /** ID of the submission to restore. */\n      submissionId: string;\n  }\n  interface RestoreSubmissionFromTrashBinResponse {\n      /** The restored submission. */\n      submission?: FormSubmission;\n  }\n  interface RemoveSubmissionFromTrashBinRequest {\n      /** ID of the submission to restore. */\n      submissionId: string;\n  }\n  interface RemoveSubmissionFromTrashBinResponse {\n  }\n  interface BulkRemoveSubmissionFromTrashBinRequest {\n      /** Form ID. */\n      formId: string;\n      /** Submission ids. */\n      submissionIds?: string[];\n  }\n  interface BulkRemoveSubmissionFromTrashBinResponse {\n      /** Results of bulk submission removal from trash */\n      results?: BulkRemoveSubmissionFromTrashBinResult[];\n      /** Metadata of request */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkRemoveSubmissionFromTrashBinResult {\n      /** Deleted item metadata */\n      itemMetadata?: ItemMetadata;\n  }\n  interface ListDeletedSubmissionsRequest {\n      /** Form ID. */\n      formId: string;\n      /** Submission ids. */\n      submissionIds?: string[];\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or `order`. */\n      paging?: CursorPaging;\n      /**\n       * List of statuses of submissions which should be returned\n       * Default: CONFIRMED\n       */\n      statuses?: SubmissionStatus[];\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListDeletedSubmissionsResponse {\n      /** The retrieved Submissions. */\n      submissions?: FormSubmission[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetDeletedSubmissionRequest {\n      /** Submission id. */\n      submissionId: string;\n  }\n  interface GetDeletedSubmissionResponse {\n      /** The retrieved Submission. */\n      submission?: FormSubmission;\n  }\n  interface QuerySubmissionRequest {\n      /** Query options. */\n      query: CursorQuery;\n      /**\n       * Renamed to only_your_own;\n       * @internal\n       */\n      onlyOwn?: boolean;\n      /** Whether to return only your own submissions. If `false`, returns all submissions based on query filters. */\n      onlyYourOwn?: boolean;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QuerySubmissionResponse {\n      /** The retrieved submissions. */\n      submissions?: FormSubmission[];\n      /** Paging metadata. */\n      metadata?: CursorPagingMetadata;\n  }\n  interface SearchSubmissionsByNamespaceRequest {\n      /** Query options. */\n      search: CursorSearch;\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor pointing to page of results.\n       * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.\n       */\n      cursorPaging?: CursorPaging;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting[];\n      /** Free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor pointing to page of results.\n       * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface SearchDetails {\n      /** Defines how separate search terms in `expression` are combined */\n      mode?: Mode;\n      /** Search term or expression */\n      expression?: string | null;\n      /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** Any of the search terms must be present */\n      OR = \"OR\",\n      /** All search terms must be present */\n      AND = \"AND\"\n  }\n  interface SearchSubmissionsByNamespaceResponse {\n      /** The retrieved Submissions. */\n      submissions?: FormSubmission[];\n      /** Paging metadata. */\n      metadata?: CursorPagingMetadata;\n  }\n  interface SearchSubmissionsByNamespaceForExportRequest {\n      /** Query options. */\n      query: CursorQuery;\n  }\n  interface SearchSubmissionsByNamespaceForExportResponse {\n      /** The retrieved Submissions. */\n      submissions?: FormSubmission[];\n      /** Paging metadata. */\n      metadata?: CursorPagingMetadata;\n  }\n  interface QuerySubmissionsByNamespaceRequest {\n      /** Query options. */\n      query: CursorQuery;\n      /**\n       * Renamed to only_your_own;\n       * @internal\n       */\n      onlyOwn?: boolean;\n      /** Whether to return only your own submissions. If `false`, returns all submissions based on query filters. */\n      onlyYourOwn?: boolean;\n  }\n  interface QuerySubmissionsByNamespaceResponse {\n      /** The retrieved Submissions. */\n      submissions?: FormSubmission[];\n      /** Paging metadata. */\n      metadata?: CursorPagingMetadata;\n  }\n  interface QuerySubmissionsByNamespaceForExportRequest {\n      /** Query options. */\n      query: CursorQuery;\n  }\n  interface QuerySubmissionsByNamespaceForExportResponse {\n      /** The retrieved Submissions. */\n      submissions?: FormSubmission[];\n      /** Paging metadata. */\n      metadata?: CursorPagingMetadata;\n  }\n  interface CountSubmissionsByFilterRequest {\n      /** A filter object. Must filter by namespace. */\n      filter: Record<string, any> | null;\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n  }\n  interface CountSubmissionsByFilterResponse {\n      /** Forms submission count. */\n      formsSubmissionsCount?: FormSubmissionsCount[];\n  }\n  interface FormSubmissionsCount {\n      /** Form ID. */\n      formId?: string;\n      /** Total number of submissions. */\n      totalCount?: number;\n      /** Number of submissions that the site owner hasn't seen yet. */\n      unseenCount?: number;\n  }\n  interface CountSubmissionsRequest {\n      /** Form IDs which submissions should be counted. */\n      formIds: string[];\n      /** The app which the form submissions belong to. For example, the namespace for the Wix Forms app is `wix.form_app.form`. Call `getSubmission()` to retrieve the namespace. */\n      namespace: string;\n      /**\n       * Status of the submission.\n       * - `PENDING`: A submission is created, but has not yet been recorded in the Wix Forms collection.\n       * - `PAYMENT_WAITING`: A form submission requiring payment is created.\n       * - `PAYMENT_CANCELED`: An order of a form submission is canceled.\n       * - `CONFIRMED`: A submission is recorded in the Wix Forms collection.\n       */\n      statuses?: SubmissionStatus[];\n  }\n  interface CountSubmissionsResponse {\n      /** Forms submission count. */\n      formsSubmissionsCount?: FormSubmissionsCount[];\n  }\n  interface CountDeletedSubmissionsRequest {\n      /** Form IDs. */\n      formIds: string[];\n      /** Identifies the app which the form submissions belong to. For example, the namespace for the Wix Forms App is `\"wix.form_app.form\"`. The namespace of a submission can be retrieved using the Get Submission endpoint. */\n      namespace: string;\n      /**\n       * List of statuses of submissions which should be taken into count\n       * Default: CONFIRMED, PAYMENT_WAITING, PAYMENT_CANCELED\n       */\n      statuses?: SubmissionStatus[];\n  }\n  interface CountDeletedSubmissionsResponse {\n      /** Forms submission count. */\n      formsDeletedSubmissionsCount?: FormDeletedSubmissionsCount[];\n  }\n  interface FormDeletedSubmissionsCount {\n      /** Form ID. */\n      formId?: string;\n      /** Total number of submissions. */\n      totalCount?: number;\n  }\n  interface GetMediaUploadURLRequest {\n      /** Form ID. */\n      formId: string;\n      /** Name of file to upload. */\n      filename: string;\n      /**\n       * [Mime type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#) of file to upload.\n       *\n       * For example, `'image/png'`\n       */\n      mimeType: string;\n  }\n  interface GetMediaUploadURLResponse {\n      /** Url to upload file. */\n      uploadUrl?: string;\n      /**\n       * Flag identifying is url generated by media platform, rather than media manager\n       * @internal\n       */\n      generatedByMediaPlatform?: boolean;\n  }\n  interface BulkMarkSubmissionsAsSeenRequest {\n      /** Submission IDs to mark as seen. */\n      ids: string[];\n      /** ID of the form which the submissions belong to. */\n      formId: string;\n  }\n  interface BulkMarkSubmissionsAsSeenResponse {\n  }\n  interface GetSubmissionDownloadUrlRequest {\n      /** Submission ID. */\n      submissionId: string;\n  }\n  interface GetSubmissionDownloadUrlResponse {\n      /** The retrieved submission document. */\n      document?: SubmissionDocument;\n  }\n  interface SubmissionDocument extends SubmissionDocumentDocumentOneOf {\n      /** Data of ready to download document */\n      readyDetails?: DocumentReady;\n      /**\n       * Document ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Document status. */\n      status?: Status;\n  }\n  /** @oneof */\n  interface SubmissionDocumentDocumentOneOf {\n      /** Data of ready to download document */\n      readyDetails?: DocumentReady;\n  }\n  enum Status {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      READY = \"READY\",\n      PENDING = \"PENDING\",\n      FAILED = \"FAILED\"\n  }\n  interface DocumentReady {\n      /**\n       * Document download URL.\n       * @readonly\n       */\n      downloadUrl?: string;\n  }\n  interface GetFormattedSubmissionRequest {\n      /** Submission ID. */\n      submissionId: string;\n  }\n  interface GetFormattedSubmissionResponse {\n      /** Submission ID. */\n      submissionId?: string;\n      /** Ordered by form layout list of field submissions. */\n      submissions?: FormattedSubmission[];\n  }\n  interface FormattedSubmission {\n      /** Label of form field */\n      label?: string | null;\n      /** Key of the submission, and target of a form field */\n      key?: string;\n      /** Value of the submission, formatted as a string */\n      value?: string;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** namespace that was updated */\n      namespace?: string;\n      /** only data from UpdateExtendedFieldsRequest namespace_data */\n      namespaceData?: Record<string, any> | null;\n  }\n  interface UpsertContactFromSubmissionRequest {\n      /** Submission from which contact needs to be upserted. */\n      submissionId: string;\n      /** Optional contact id to which submission should be mapped. */\n      contactId?: string | null;\n      /** Indicates contact has verified primary email. */\n      emailVerified?: boolean;\n  }\n  interface UpsertContactFromSubmissionResponse {\n      /** Submit contact response. */\n      submitContactResponse?: SubmitContactResponse;\n  }\n  interface SubmitContactResponse {\n      /** ID of the contact that was found or created. */\n      contactId?: string;\n      /**\n       * Identity type of the returned contact.\n       *\n       * - `CONTACT`: The returned contact ID belongs to a new or existing contact.\n       * - `MEMBER`: The returned contact ID belongs to the currently logged-in site member.\n       * - `NOT_AUTHENTICATED_MEMBER`: The returned contact ID belongs to a site member who is not currently logged in.\n       */\n      identityType?: IdentityType;\n      /**\n       * Indicates whether the contact was just created or already existed.\n       *\n       * If the contact was just created, returns `true`.\n       * If it already existed, returns `false`.\n       */\n      newContact?: boolean;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Existing or new contact */\n      CONTACT = \"CONTACT\",\n      /** Member is logged in, matching logic skipped */\n      MEMBER = \"MEMBER\",\n      /** Matching contact is a member, Merge logic won't be applied */\n      NOT_AUTHENTICATED_MEMBER = \"NOT_AUTHENTICATED_MEMBER\"\n  }\n  /**\n   * Creates a submission.\n   *\n   *\n   * The `createSubmission()` function is an alternative way to the [`WixFormsV2`](https://www.wix.com/velo/reference/$w/wixformsv2/submit) element for submitting a form. In this case, clicking the submit button is unnecessary, the submission is automatically created when calling this function.\n   * @param submission - Submission to create.\n   * @public\n   * @requiredField submission\n   * @requiredField submission.formId\n   * @param options - Optional fields.\n   * @permissionId WIX_FORMS.SUBMISSION_CREATE\n   * @returns The created submission.\n   */\n  function createSubmission(submission: FormSubmission, options?: CreateSubmissionOptions): Promise<FormSubmission>;\n  interface CreateSubmissionOptions {\n      /** Captcha token. */\n      captchaToken?: string | null;\n      /** Optional metadata passed to SPI implementer, allowing clients to include additional business-specific data. */\n      additionalMetadata?: Record<string, any> | null;\n  }\n  /**\n   * Creates a new submission with specified submitter for a given form.\n   * Internal, migration only.\n   * @param submission - Submission to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField submission\n   * @requiredField submission.formId\n   * @requiredField submission.submitter\n   * @permissionId WIX_FORMS.INTERNAL_SUBMISSION_CREATE\n   * @adminMethod\n   */\n  function createSubmissionBySubmitter(submission: FormSubmission, options?: CreateSubmissionBySubmitterOptions): Promise<CreateSubmissionBySubmitterResponse>;\n  interface CreateSubmissionBySubmitterOptions {\n      /** A flag indicating whether this operation is a repeated creation, such as restoring a previously manually reported as spam entity. */\n      repeatedCreation?: boolean;\n      /** Validation will be mode is more forgiving, for example \"required\" won't be validated. */\n      lenientValidation?: boolean;\n  }\n  /**\n   * Creates multiple submissions with specified submitters.\n   * Internal, migration only.\n   * @param formId - Form id. Restricts submissions creation for a single form.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @requiredField options.submissions.submissions\n   * @requiredField options.submissions.submitter\n   * @permissionId WIX_FORMS.INTERNAL_SUBMISSION_CREATE\n   * @adminMethod\n   */\n  function bulkCreateSubmissionBySubmitter(formId: string, options?: BulkCreateSubmissionBySubmitterOptions): Promise<BulkCreateSubmissionBySubmitterResponse>;\n  interface BulkCreateSubmissionBySubmitterOptions {\n      /**\n       * Submissions to create.\n       * Deprecated\n       */\n      submissions?: FormSubmission[];\n      /** When set, items will be returned on successful create. */\n      returnEntity?: boolean;\n      /** Submissions data to create. */\n      submissionsV2?: BulkCreateSubmissionBySubmitterData[];\n      /** Validation will be mode is more forgiving, for example \"required\" won't be validated. */\n      lenientValidation?: boolean;\n  }\n  /**\n   * Retrieves a submission by ID.\n   * @param submissionId - ID of the submission to retrieve.\n   * @public\n   * @requiredField submissionId\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   * @returns The retrieved submission.\n   */\n  function getSubmission(submissionId: string): Promise<FormSubmission>;\n  /**\n   * Retrieves a submission by checkout ID.\n   * @param checkoutId - Checkout ID of the submission to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField checkoutId\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function getSubmissionByCheckoutId(checkoutId: string): Promise<GetSubmissionByCheckoutIdResponse>;\n  /**\n   * Updates a submission.\n   *\n   *\n   * Each time the submission is updated, `revision` increments by 1. The existing `revision` must be included when updating the submission. This ensures you're working with the latest submission information, and prevents unintended overwrites.\n   * @param _id - Submission ID.\n   * @public\n   * @requiredField _id\n   * @requiredField submission\n   * @requiredField submission.formId\n   * @requiredField submission.revision\n   * @param submission - Submission to update.\n   * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n   * @adminMethod\n   * @returns The updated submission.\n   */\n  function updateSubmission(_id: string | null, submission: UpdateSubmission, options?: UpdateSubmissionOptions): Promise<FormSubmission>;\n  interface UpdateSubmission {\n      /**\n       * Submission ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the form which the submission belongs to. */\n      formId?: string;\n      /**\n       * The app which the form submissions belong to. For example, the namespace for the Wix Forms app is `wix.form_app.form`. Call `Get Submission` to retrieve the namespace.\n       * @readonly\n       */\n      namespace?: string;\n      /** Status of the submission. */\n      status?: SubmissionStatus;\n      /** Submission values where `key` is the form field and `value` is the data submitted for the given field. */\n      submissions?: Record<string, any>;\n      /** Date and time the form submission was created. */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the form submission was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * ID of the visitor that submitted the form.\n       * @readonly\n       */\n      submitter?: Submitter;\n      /** Whether a site owner marked a submission as \"seen\". */\n      seen?: boolean;\n      /** Data extension object that holds users' and apps' fields. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Order details. <br>\n       * <b>Note</b>: This object is only applicable when submittng a form in the Wix Payments app.\n       */\n      orderDetails?: OrderDetails;\n      /** Contact ID of a site visitor who created the submission. */\n      contactId?: string | null;\n  }\n  interface UpdateSubmissionOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Confirms a submission.\n   *\n   *\n   * You can only confirm a submission that has a `PENDING` status.\n   * When using forms from the [Wix Pricing Plans](https://www.wix.com/app-market/paid-plans?referral=collection&appIndex=42&referralTag=made-by-wix&referralSectionName=made-by-wix) app, the default submission status is `PENDING`.\n   * When using forms from the [Wix Forms]() app, the default form submission status is `CONFIRMED`. You can change the default status for individual submissions using the `updateSubmission()` method.\n   * @param submissionId - Submission ID to confirm.\n   * @public\n   * @requiredField submissionId\n   * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n   * @adminMethod\n   */\n  function confirmSubmission(submissionId: string): Promise<ConfirmSubmissionResponse>;\n  /**\n   * Deletes a submission.\n   *\n   *\n   * This function moves the form submission into the trash bin. To delete the submission permanently, change the default `permanent` field value to `true.`\n   * @param submissionId - ID of the submission to delete.\n   * @public\n   * @requiredField submissionId\n   * @param options - Optional fields.\n   * @permissionId WIX_FORMS.SUBMISSION_DELETE\n   * @adminMethod\n   */\n  function deleteSubmission(submissionId: string, options?: DeleteSubmissionOptions): Promise<void>;\n  interface DeleteSubmissionOptions {\n      /**\n       * Delete the submission, bypassing the trash bin. This means that the submission is permanently delete and cannot be restored.\n       *\n       *\n       * Default: `false`\n       */\n      permanent?: boolean;\n      /** Whether to preserve files, associated with the submission. If the value is `false`, then the files are deleted after 210 days. */\n      preserveFiles?: boolean;\n  }\n  /**\n   * Deletes submissions by IDS for specific form.\n   * @param formId - Form ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.SUBMISSION_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteSubmission(formId: string, options?: BulkDeleteSubmissionOptions): Promise<BulkDeleteSubmissionResponse>;\n  interface BulkDeleteSubmissionOptions {\n      /** Submission ids. */\n      submissionIds?: string[];\n      /**\n       * Delete submission bypassing trash-bin\n       * Default: false\n       */\n      permanent?: boolean;\n      /** Preserve files. */\n      preserveFiles?: boolean;\n  }\n  /**\n   * Restores deleted submission\n   * @param submissionId - ID of the submission to restore.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n   * @adminMethod\n   */\n  function restoreSubmissionFromTrashBin(submissionId: string): Promise<RestoreSubmissionFromTrashBinResponse>;\n  /**\n   * Remove deleted submission\n   * @param submissionId - ID of the submission to restore.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   * @permissionId WIX_FORMS.SUBMISSION_DELETE\n   * @adminMethod\n   */\n  function removeSubmissionFromTrashBin(submissionId: string): Promise<void>;\n  /**\n   * Remove multiple deleted submissions\n   * @param formId - Form ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.SUBMISSION_DELETE\n   * @adminMethod\n   */\n  function bulkRemoveSubmissionFromTrashBin(formId: string, options?: BulkRemoveSubmissionFromTrashBinOptions): Promise<BulkRemoveSubmissionFromTrashBinResponse>;\n  interface BulkRemoveSubmissionFromTrashBinOptions {\n      /** Submission ids. */\n      submissionIds?: string[];\n  }\n  /**\n   * List deleted submissions\n   * @param formId - Form ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formId\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function listDeletedSubmissions(formId: string, options?: ListDeletedSubmissionsOptions): Promise<ListDeletedSubmissionsResponse>;\n  interface ListDeletedSubmissionsOptions {\n      /** Submission ids. */\n      submissionIds?: string[];\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or `order`. */\n      paging?: CursorPaging;\n      /**\n       * List of statuses of submissions which should be returned\n       * Default: CONFIRMED\n       */\n      statuses?: SubmissionStatus[];\n  }\n  /**\n   * Get deleted submission\n   * @param submissionId - Submission id.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function getDeletedSubmission(submissionId: string): Promise<GetDeletedSubmissionResponse>;\n  /**\n   * Deprecated on '2023-08-08'. Use QuerySubmissionsByNamespace.\n   * @param query - Query options.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.forms.v4.FormSubmissionService.QuerySubmissionsByNamespace\n   * @targetRemovalDate 2025-01-11\n   */\n  function querySubmission(query: CursorQuery, options?: QuerySubmissionOptions): Promise<QuerySubmissionResponse>;\n  interface QuerySubmissionOptions {\n      /**\n       * Renamed to only_your_own;\n       * @internal\n       */\n      onlyOwn?: boolean;\n      /** Whether to return only your own submissions. If `false`, returns all submissions based on query filters. */\n      onlyYourOwn?: boolean;\n  }\n  /**\n   * > **Note:** The Form Submission API only works with the Wix Forms app. Call [GetAppInstance](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/get-app-instance) to confirm that the app named `wix_forms` is installed on the site.\n   * <br>\n   *\n   * Returns a list of up to 100 submissions, given the provided paging, filtering, and sorting.\n   *\n   * You can only query submissions from a specified namespace. Use the query filter on the `namespace` field, otherwise you will receive an error.\n   *\n   * For field support for filters and sorting, see [Form Submissions: Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-forms/form-submissions/sort-and-filter).option\n   *\n   * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @param search - Query options.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField search\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function searchSubmissionsByNamespace(search: CursorSearch): Promise<SearchSubmissionsByNamespaceResponse>;\n  /**\n   * > **Note:** The Form Submission API only works with the Wix Forms app. Call [GetAppInstance](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/get-app-instance) to confirm that the app named `wix_forms` is installed on the site.\n   * <br>\n   *\n   * Returns a list of up to 100 submissions, given the provided paging, filtering, and sorting.\n   *\n   * You can only query submissions from a specified namespace. Use the query filter on the `namespace` field, otherwise you will receive an error.\n   *\n   * For field support for filters and sorting, see [Form Submissions: Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-forms/form-submissions/sort-and-filter).option\n   *\n   * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @param query - Query options.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function searchSubmissionsByNamespaceForExport(query: CursorQuery): Promise<SearchSubmissionsByNamespaceForExportResponse>;\n  /**\n   * Creates a query to retrieve a list of submissions.\n   *\n   *\n   * The `querySubmissionsByNamespace()` method builds a query to retrieve a list of submissions from the specified namespace and returns a [`SubmissionsQueryBuilder`](#submissionsquerybuilder) object.\n   * >**Note:** You can only query submissions from a specified namespace. Use the query filter on the `namespace` field, otherwise you will receive an error.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [`find()`](#submissionsquerybuilder/find) method.\n   *\n   * You can refine the query by chaining `SubmissionsQueryBuilder` methods onto the query. `SubmissionsQueryBuilder` methods enable you to sort, filter, and control the results that `querySubmissionsByNamespace()` returns.\n   *\n   * The following `SubmissionsQueryBuilder` methods are supported for `querySubmissionsByNamespace()`. For a full description of the Submissions object, see the object returned for the [`items`](#submissionsqueryresult/items) property in [`SubmissionsQueryResult`](#submissionsqueryresult).\n   * @public\n   * @param options - Query options.\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function querySubmissionsByNamespace(options?: QuerySubmissionsByNamespaceOptions): SubmissionsQueryBuilder;\n  interface QuerySubmissionsByNamespaceOptions {\n      /**\n       * Renamed to only_your_own;\n       * @internal\n       */\n      onlyOwn?: boolean | undefined;\n      /** Whether to return only your own submissions. If `false`, returns all submissions based on query filters. */\n      onlyYourOwn?: boolean | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SubmissionsQueryResult extends QueryCursorResult {\n      items: FormSubmission[];\n      query: SubmissionsQueryBuilder;\n      next: () => Promise<SubmissionsQueryResult>;\n      prev: () => Promise<SubmissionsQueryResult>;\n  }\n  interface SubmissionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      eq: (propertyName: '_id' | 'formId' | 'namespace' | 'status' | '_createdDate' | '_updatedDate' | 'seen', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ne: (propertyName: '_id' | 'formId' | 'status' | '_createdDate' | '_updatedDate' | 'seen', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      in: (propertyName: '_id' | 'formId' | 'status' | '_createdDate' | '_updatedDate', value: any) => SubmissionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      ascending: (...propertyNames: Array<'_id' | 'formId' | 'status' | '_createdDate' | '_updatedDate' | 'seen'>) => SubmissionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n      descending: (...propertyNames: Array<'_id' | 'formId' | 'status' | '_createdDate' | '_updatedDate' | 'seen'>) => SubmissionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n      limit: (limit: number) => SubmissionsQueryBuilder;\n      /** @param cursor - A pointer to specific record */\n      skipTo: (cursor: string) => SubmissionsQueryBuilder;\n      find: () => Promise<SubmissionsQueryResult>;\n  }\n  /**\n   * Returns a list of up to 100 submissions, given the provided paging, filtering, and sorting.\n   *\n   * You can only query submissions for export from a specified namespace. Use the query filter on the `namespace` field, otherwise you will receive an error.\n   *\n   * For field support for filters and sorting, see [Form Submissions: Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-forms/form-submissions/sort-and-filter).option\n   *\n   * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @param query - Query options.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function querySubmissionsByNamespaceForExport(query: CursorQuery): Promise<QuerySubmissionsByNamespaceForExportResponse>;\n  /**\n   * > **Note:** The Form Submission API only works with the Wix Forms app. Call [GetAppInstance](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/get-app-instance) to confirm that the app named `wix_forms` is installed on the site.\n   * <br>\n   * Counts the number of submissions belonging to forms that were filtered and contain a provided expression.\n   * @param filter - A filter object. Must filter by namespace.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function countSubmissionsByFilter(filter: Record<string, any> | null, options?: CountSubmissionsByFilterOptions): Promise<CountSubmissionsByFilterResponse>;\n  interface CountSubmissionsByFilterOptions {\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n  }\n  /**\n   * Counts the number of submissions belonging to the specified forms.\n   *\n   *\n   * The `countSubmissions()` function is useful for analytics and tracking purposes. For example, if you have a contact form on your website, you can use this function to track how many submissions it receives daily, weekly, or monthly.\n   * @public\n   * @requiredField formIds\n   * @requiredField namespace\n   * @param namespace - The app which the form submissions belong to. For example, the namespace for the Wix Forms app is `wix.form_app.form`. Call `getSubmission()` to retrieve the namespace.\n   * @param formIds - Form IDs which submissions should be counted.\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function countSubmissions(formIds: string[], namespace: string, options?: CountSubmissionsOptions): Promise<CountSubmissionsResponse>;\n  interface CountSubmissionsOptions {\n      /**\n       * Status of the submission.\n       * - `PENDING`: A submission is created, but has not yet been recorded in the Wix Forms collection.\n       * - `PAYMENT_WAITING`: A form submission requiring payment is created.\n       * - `PAYMENT_CANCELED`: An order of a form submission is canceled.\n       * - `CONFIRMED`: A submission is recorded in the Wix Forms collection.\n       */\n      statuses?: SubmissionStatus[];\n  }\n  /**\n   * > **Note:**\n   * > The Submissions API is only available in the Wix Studio editor.\n   *\n   * Counts the number of submissions belonging to the specified forms.\n   * @param formIds - Form IDs.\n   * @param namespace - Identifies the app which the form submissions belong to. For example, the namespace for the Wix Forms App is `\"wix.form_app.form\"`. The namespace of a submission can be retrieved using the Get Submission endpoint.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField formIds\n   * @requiredField namespace\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function countDeletedSubmissions(formIds: string[], namespace: string, options?: CountDeletedSubmissionsOptions): Promise<CountDeletedSubmissionsResponse>;\n  interface CountDeletedSubmissionsOptions {\n      /**\n       * List of statuses of submissions which should be taken into count\n       * Default: CONFIRMED, PAYMENT_WAITING, PAYMENT_CANCELED\n       */\n      statuses?: SubmissionStatus[];\n  }\n  /**\n   * Retrieves a URL generated by the [Media Manager](https://www.wix.com/velo/reference/wix-media-v2/files/generatefileuploadurl) to use when creating a submission that includes a field for uploading files.\n   * > **Note:** You need at least a [Standard Premium](https://support.wix.com/en/article/choosing-a-premium-plan) plan for your site to upload files.\n   *\n   *\n   * To learn how external clients can use the generated upload URL to upload a file to the Media Manager, see [Upload API](https://www.wix.com/velo/reference/wix-media-v2/files/upload-api).\n   * @param formId - Form ID.\n   * @param filename - Name of file to upload.\n   * @param mimeType - [Mime type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#) of file to upload.\n   *\n   * For example, `'image/png'`\n   * @public\n   * @requiredField filename\n   * @requiredField formId\n   * @requiredField mimeType\n   * @permissionId WIX_FORMS.SUBMISSION_CREATE\n   */\n  function getMediaUploadUrl(formId: string, filename: string, mimeType: string): Promise<GetMediaUploadURLResponse>;\n  /**\n   * Marks form submissions as \"seen\".\n   *\n   *\n   * This function marks the submissions as if they were seen by the site owner. Only site collaborators with the **[Manage Submission](https://support.wix.com/en/article/roles-permissions-accessing-roles-permissions)** permissions can mark submissions.\n   * @public\n   * @requiredField formId\n   * @requiredField ids\n   * @param ids - IDs of submissions to mark as seen.\n   * @param formId - ID of the form which the submissions belong to.\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function bulkMarkSubmissionsAsSeen(ids: string[], formId: string): Promise<void>;\n  /**\n   * Gets submission as document which may include the document download url if the document is ready.\n   * @param submissionId - Submission ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n   * @adminMethod\n   */\n  function getSubmissionDownloadUrl(submissionId: string): Promise<GetSubmissionDownloadUrlResponse>;\n  /**\n   * Retrieves a submission formatted by language\n   * @param submissionId - Submission ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   * @permissionId WIX_FORMS.SUBMISSION_READ_ANY\n   * @adminMethod\n   */\n  function getFormattedSubmission(submissionId: string): Promise<GetFormattedSubmissionResponse>;\n  /**\n   * Update Extended Fields of the Form\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId WIX_FORMS.SUBMISSION_UPDATE_ANY\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  /**\n   * Upserts contact from submission.\n   * @param submissionId - Submission from which contact needs to be upserted.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField submissionId\n   * @permissionId WIX_FORMS.SUBMISSION_CONTACT_UPSERT\n   * @adminMethod\n   */\n  function upsertContactFromSubmission(submissionId: string, options?: UpsertContactFromSubmissionOptions): Promise<UpsertContactFromSubmissionResponse>;\n  interface UpsertContactFromSubmissionOptions {\n      /** Optional contact id to which submission should be mapped. */\n      contactId?: string | null;\n      /** Indicates contact has verified primary email. */\n      emailVerified?: boolean;\n  }\n  \n  type formsV4Submission_universal_d_FormSubmission = FormSubmission;\n  type formsV4Submission_universal_d_SubmissionStatus = SubmissionStatus;\n  const formsV4Submission_universal_d_SubmissionStatus: typeof SubmissionStatus;\n  type formsV4Submission_universal_d_Submitter = Submitter;\n  type formsV4Submission_universal_d_SubmitterSubmitterOneOf = SubmitterSubmitterOneOf;\n  type formsV4Submission_universal_d_ExtendedFields = ExtendedFields;\n  type formsV4Submission_universal_d_OrderDetails = OrderDetails;\n  type formsV4Submission_universal_d_FormSubmissionStatusUpdatedEvent = FormSubmissionStatusUpdatedEvent;\n  type formsV4Submission_universal_d_RemovedSubmissionFromTrash = RemovedSubmissionFromTrash;\n  type formsV4Submission_universal_d_SubmissionContactMapped = SubmissionContactMapped;\n  type formsV4Submission_universal_d_MarketingSubscriptionDetails = MarketingSubscriptionDetails;\n  type formsV4Submission_universal_d_OptInLevel = OptInLevel;\n  const formsV4Submission_universal_d_OptInLevel: typeof OptInLevel;\n  type formsV4Submission_universal_d_SubmissionContactMappingSkipped = SubmissionContactMappingSkipped;\n  type formsV4Submission_universal_d_CreateCheckoutFromSubmissionRequest = CreateCheckoutFromSubmissionRequest;\n  type formsV4Submission_universal_d_CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf = CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf;\n  type formsV4Submission_universal_d_Form = Form;\n  type formsV4Submission_universal_d_RequiredIndicator = RequiredIndicator;\n  const formsV4Submission_universal_d_RequiredIndicator: typeof RequiredIndicator;\n  type formsV4Submission_universal_d_RequiredIndicatorPlacement = RequiredIndicatorPlacement;\n  const formsV4Submission_universal_d_RequiredIndicatorPlacement: typeof RequiredIndicatorPlacement;\n  type formsV4Submission_universal_d_FormField = FormField;\n  type formsV4Submission_universal_d_StringType = StringType;\n  type formsV4Submission_universal_d_StringTypeFormatOptionsOneOf = StringTypeFormatOptionsOneOf;\n  type formsV4Submission_universal_d_Format = Format;\n  const formsV4Submission_universal_d_Format: typeof Format;\n  type formsV4Submission_universal_d_StringErrorMessages = StringErrorMessages;\n  type formsV4Submission_universal_d_DateTimeConstraints = DateTimeConstraints;\n  type formsV4Submission_universal_d_PhoneConstraints = PhoneConstraints;\n  type formsV4Submission_universal_d_NumberType = NumberType;\n  type formsV4Submission_universal_d_NumberErrorMessages = NumberErrorMessages;\n  type formsV4Submission_universal_d_IntegerType = IntegerType;\n  type formsV4Submission_universal_d_BooleanType = BooleanType;\n  type formsV4Submission_universal_d_BooleanErrorMessages = BooleanErrorMessages;\n  type formsV4Submission_universal_d_ArrayType = ArrayType;\n  type formsV4Submission_universal_d_ObjectType = ObjectType;\n  type formsV4Submission_universal_d_PropertiesType = PropertiesType;\n  type formsV4Submission_universal_d_PropertiesTypePropertiesTypeOneOf = PropertiesTypePropertiesTypeOneOf;\n  type formsV4Submission_universal_d_ObjectErrorMessages = ObjectErrorMessages;\n  type formsV4Submission_universal_d_ArrayItems = ArrayItems;\n  type formsV4Submission_universal_d_ArrayItemsItemsOneOf = ArrayItemsItemsOneOf;\n  type formsV4Submission_universal_d_ArrayErrorMessages = ArrayErrorMessages;\n  type formsV4Submission_universal_d_PredefinedValidation = PredefinedValidation;\n  type formsV4Submission_universal_d_PredefinedValidationFormatOptionsOneOf = PredefinedValidationFormatOptionsOneOf;\n  type formsV4Submission_universal_d_ValidationFormat = ValidationFormat;\n  const formsV4Submission_universal_d_ValidationFormat: typeof ValidationFormat;\n  type formsV4Submission_universal_d_PaymentType = PaymentType;\n  type formsV4Submission_universal_d_ProductType = ProductType;\n  const formsV4Submission_universal_d_ProductType: typeof ProductType;\n  type formsV4Submission_universal_d_PriceType = PriceType;\n  const formsV4Submission_universal_d_PriceType: typeof PriceType;\n  type formsV4Submission_universal_d_QuantityLimit = QuantityLimit;\n  type formsV4Submission_universal_d_FixedPriceOptions = FixedPriceOptions;\n  type formsV4Submission_universal_d_DynamicPriceOptions = DynamicPriceOptions;\n  type formsV4Submission_universal_d_Product = Product;\n  type formsV4Submission_universal_d_ProductPriceOptionsOneOf = ProductPriceOptionsOneOf;\n  type formsV4Submission_universal_d_MultilineAddressValidation = MultilineAddressValidation;\n  type formsV4Submission_universal_d_FieldOverrides = FieldOverrides;\n  type formsV4Submission_universal_d_FieldsOverrides = FieldsOverrides;\n  type formsV4Submission_universal_d_NestedFormFieldOverrides = NestedFormFieldOverrides;\n  type formsV4Submission_universal_d_Validation = Validation;\n  type formsV4Submission_universal_d_ValidationValidationOneOf = ValidationValidationOneOf;\n  type formsV4Submission_universal_d_DataExtensionsDetails = DataExtensionsDetails;\n  type formsV4Submission_universal_d_NestedFormOverrides = NestedFormOverrides;\n  type formsV4Submission_universal_d_FormFieldV2 = FormFieldV2;\n  type formsV4Submission_universal_d_FormFieldV2FieldTypeOptionsOneOf = FormFieldV2FieldTypeOptionsOneOf;\n  type formsV4Submission_universal_d_InputFieldStringType = InputFieldStringType;\n  type formsV4Submission_universal_d_InputFieldStringTypeFormatOptionsOneOf = InputFieldStringTypeFormatOptionsOneOf;\n  type formsV4Submission_universal_d_FormatEnumFormat = FormatEnumFormat;\n  const formsV4Submission_universal_d_FormatEnumFormat: typeof FormatEnumFormat;\n  type formsV4Submission_universal_d_InputFieldStringErrorMessages = InputFieldStringErrorMessages;\n  type formsV4Submission_universal_d_StringTypeDateTimeConstraints = StringTypeDateTimeConstraints;\n  type formsV4Submission_universal_d_StringTypePhoneConstraints = StringTypePhoneConstraints;\n  type formsV4Submission_universal_d_StringComponentType = StringComponentType;\n  const formsV4Submission_universal_d_StringComponentType: typeof StringComponentType;\n  type formsV4Submission_universal_d_TextInput = TextInput;\n  type formsV4Submission_universal_d_RichContent = RichContent;\n  type formsV4Submission_universal_d_Node = Node;\n  type formsV4Submission_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type formsV4Submission_universal_d_NodeType = NodeType;\n  const formsV4Submission_universal_d_NodeType: typeof NodeType;\n  type formsV4Submission_universal_d_NodeStyle = NodeStyle;\n  type formsV4Submission_universal_d_ButtonData = ButtonData;\n  type formsV4Submission_universal_d_Border = Border;\n  type formsV4Submission_universal_d_Colors = Colors;\n  type formsV4Submission_universal_d_PluginContainerData = PluginContainerData;\n  type formsV4Submission_universal_d_WidthType = WidthType;\n  const formsV4Submission_universal_d_WidthType: typeof WidthType;\n  type formsV4Submission_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type formsV4Submission_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type formsV4Submission_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const formsV4Submission_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type formsV4Submission_universal_d_Spoiler = Spoiler;\n  type formsV4Submission_universal_d_Height = Height;\n  type formsV4Submission_universal_d_ButtonDataType = ButtonDataType;\n  const formsV4Submission_universal_d_ButtonDataType: typeof ButtonDataType;\n  type formsV4Submission_universal_d_Styles = Styles;\n  type formsV4Submission_universal_d_Link = Link;\n  type formsV4Submission_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type formsV4Submission_universal_d_LinkTarget = LinkTarget;\n  const formsV4Submission_universal_d_LinkTarget: typeof LinkTarget;\n  type formsV4Submission_universal_d_Rel = Rel;\n  type formsV4Submission_universal_d_CodeBlockData = CodeBlockData;\n  type formsV4Submission_universal_d_TextStyle = TextStyle;\n  type formsV4Submission_universal_d_TextAlignment = TextAlignment;\n  const formsV4Submission_universal_d_TextAlignment: typeof TextAlignment;\n  type formsV4Submission_universal_d_DividerData = DividerData;\n  type formsV4Submission_universal_d_LineStyle = LineStyle;\n  const formsV4Submission_universal_d_LineStyle: typeof LineStyle;\n  type formsV4Submission_universal_d_Width = Width;\n  const formsV4Submission_universal_d_Width: typeof Width;\n  type formsV4Submission_universal_d_Alignment = Alignment;\n  const formsV4Submission_universal_d_Alignment: typeof Alignment;\n  type formsV4Submission_universal_d_FileData = FileData;\n  type formsV4Submission_universal_d_ViewMode = ViewMode;\n  const formsV4Submission_universal_d_ViewMode: typeof ViewMode;\n  type formsV4Submission_universal_d_FileSource = FileSource;\n  type formsV4Submission_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type formsV4Submission_universal_d_PDFSettings = PDFSettings;\n  type formsV4Submission_universal_d_GalleryData = GalleryData;\n  type formsV4Submission_universal_d_Media = Media;\n  type formsV4Submission_universal_d_Image = Image;\n  type formsV4Submission_universal_d_Video = Video;\n  type formsV4Submission_universal_d_Item = Item;\n  type formsV4Submission_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type formsV4Submission_universal_d_GalleryOptions = GalleryOptions;\n  type formsV4Submission_universal_d_LayoutType = LayoutType;\n  const formsV4Submission_universal_d_LayoutType: typeof LayoutType;\n  type formsV4Submission_universal_d_Orientation = Orientation;\n  const formsV4Submission_universal_d_Orientation: typeof Orientation;\n  type formsV4Submission_universal_d_Crop = Crop;\n  const formsV4Submission_universal_d_Crop: typeof Crop;\n  type formsV4Submission_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const formsV4Submission_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type formsV4Submission_universal_d_Layout = Layout;\n  type formsV4Submission_universal_d_ItemStyle = ItemStyle;\n  type formsV4Submission_universal_d_Thumbnails = Thumbnails;\n  type formsV4Submission_universal_d_GIFData = GIFData;\n  type formsV4Submission_universal_d_GIF = GIF;\n  type formsV4Submission_universal_d_HeadingData = HeadingData;\n  type formsV4Submission_universal_d_HTMLData = HTMLData;\n  type formsV4Submission_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type formsV4Submission_universal_d_Source = Source;\n  const formsV4Submission_universal_d_Source: typeof Source;\n  type formsV4Submission_universal_d_ImageData = ImageData;\n  type formsV4Submission_universal_d_LinkPreviewData = LinkPreviewData;\n  type formsV4Submission_universal_d_MapData = MapData;\n  type formsV4Submission_universal_d_MapSettings = MapSettings;\n  type formsV4Submission_universal_d_MapType = MapType;\n  const formsV4Submission_universal_d_MapType: typeof MapType;\n  type formsV4Submission_universal_d_ParagraphData = ParagraphData;\n  type formsV4Submission_universal_d_PollData = PollData;\n  type formsV4Submission_universal_d_ViewRole = ViewRole;\n  const formsV4Submission_universal_d_ViewRole: typeof ViewRole;\n  type formsV4Submission_universal_d_VoteRole = VoteRole;\n  const formsV4Submission_universal_d_VoteRole: typeof VoteRole;\n  type formsV4Submission_universal_d_Permissions = Permissions;\n  type formsV4Submission_universal_d_PollOption = PollOption;\n  type formsV4Submission_universal_d_Settings = Settings;\n  type formsV4Submission_universal_d_PollLayoutType = PollLayoutType;\n  const formsV4Submission_universal_d_PollLayoutType: typeof PollLayoutType;\n  type formsV4Submission_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const formsV4Submission_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type formsV4Submission_universal_d_PollLayout = PollLayout;\n  type formsV4Submission_universal_d_OptionLayout = OptionLayout;\n  type formsV4Submission_universal_d_BackgroundType = BackgroundType;\n  const formsV4Submission_universal_d_BackgroundType: typeof BackgroundType;\n  type formsV4Submission_universal_d_Gradient = Gradient;\n  type formsV4Submission_universal_d_Background = Background;\n  type formsV4Submission_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type formsV4Submission_universal_d_PollDesign = PollDesign;\n  type formsV4Submission_universal_d_OptionDesign = OptionDesign;\n  type formsV4Submission_universal_d_Poll = Poll;\n  type formsV4Submission_universal_d_PollDataLayout = PollDataLayout;\n  type formsV4Submission_universal_d_Design = Design;\n  type formsV4Submission_universal_d_TextData = TextData;\n  type formsV4Submission_universal_d_Decoration = Decoration;\n  type formsV4Submission_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type formsV4Submission_universal_d_DecorationType = DecorationType;\n  const formsV4Submission_universal_d_DecorationType: typeof DecorationType;\n  type formsV4Submission_universal_d_AnchorData = AnchorData;\n  type formsV4Submission_universal_d_ColorData = ColorData;\n  type formsV4Submission_universal_d_LinkData = LinkData;\n  type formsV4Submission_universal_d_MentionData = MentionData;\n  type formsV4Submission_universal_d_FontSizeData = FontSizeData;\n  type formsV4Submission_universal_d_FontType = FontType;\n  const formsV4Submission_universal_d_FontType: typeof FontType;\n  type formsV4Submission_universal_d_SpoilerData = SpoilerData;\n  type formsV4Submission_universal_d_AppEmbedData = AppEmbedData;\n  type formsV4Submission_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type formsV4Submission_universal_d_AppType = AppType;\n  const formsV4Submission_universal_d_AppType: typeof AppType;\n  type formsV4Submission_universal_d_BookingData = BookingData;\n  type formsV4Submission_universal_d_EventData = EventData;\n  type formsV4Submission_universal_d_VideoData = VideoData;\n  type formsV4Submission_universal_d_PlaybackOptions = PlaybackOptions;\n  type formsV4Submission_universal_d_EmbedData = EmbedData;\n  type formsV4Submission_universal_d_Oembed = Oembed;\n  type formsV4Submission_universal_d_CollapsibleListData = CollapsibleListData;\n  type formsV4Submission_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const formsV4Submission_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type formsV4Submission_universal_d_Direction = Direction;\n  const formsV4Submission_universal_d_Direction: typeof Direction;\n  type formsV4Submission_universal_d_TableData = TableData;\n  type formsV4Submission_universal_d_Dimensions = Dimensions;\n  type formsV4Submission_universal_d_TableCellData = TableCellData;\n  type formsV4Submission_universal_d_VerticalAlignment = VerticalAlignment;\n  const formsV4Submission_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type formsV4Submission_universal_d_CellStyle = CellStyle;\n  type formsV4Submission_universal_d_BorderColors = BorderColors;\n  type formsV4Submission_universal_d_NullValue = NullValue;\n  const formsV4Submission_universal_d_NullValue: typeof NullValue;\n  type formsV4Submission_universal_d_ListValue = ListValue;\n  type formsV4Submission_universal_d_AudioData = AudioData;\n  type formsV4Submission_universal_d_OrderedListData = OrderedListData;\n  type formsV4Submission_universal_d_BulletedListData = BulletedListData;\n  type formsV4Submission_universal_d_BlockquoteData = BlockquoteData;\n  type formsV4Submission_universal_d_CaptionData = CaptionData;\n  type formsV4Submission_universal_d_Metadata = Metadata;\n  type formsV4Submission_universal_d_DocumentStyle = DocumentStyle;\n  type formsV4Submission_universal_d_TextNodeStyle = TextNodeStyle;\n  type formsV4Submission_universal_d_RadioGroup = RadioGroup;\n  type formsV4Submission_universal_d_RadioGroupOption = RadioGroupOption;\n  type formsV4Submission_universal_d_RadioGroupCustomOption = RadioGroupCustomOption;\n  type formsV4Submission_universal_d_NumberOfColumns = NumberOfColumns;\n  const formsV4Submission_universal_d_NumberOfColumns: typeof NumberOfColumns;\n  type formsV4Submission_universal_d_Dropdown = Dropdown;\n  type formsV4Submission_universal_d_DropdownOption = DropdownOption;\n  type formsV4Submission_universal_d_DropdownCustomOption = DropdownCustomOption;\n  type formsV4Submission_universal_d_DateTimeInput = DateTimeInput;\n  type formsV4Submission_universal_d_PhoneInput = PhoneInput;\n  type formsV4Submission_universal_d_DateInput = DateInput;\n  type formsV4Submission_universal_d_TimeInput = TimeInput;\n  type formsV4Submission_universal_d_DatePicker = DatePicker;\n  type formsV4Submission_universal_d_FirstDayOfWeekEnumFirstDayOfWeek = FirstDayOfWeekEnumFirstDayOfWeek;\n  const formsV4Submission_universal_d_FirstDayOfWeekEnumFirstDayOfWeek: typeof FirstDayOfWeekEnumFirstDayOfWeek;\n  type formsV4Submission_universal_d_InputFieldNumberType = InputFieldNumberType;\n  type formsV4Submission_universal_d_InputFieldNumberErrorMessages = InputFieldNumberErrorMessages;\n  type formsV4Submission_universal_d_NumberComponentType = NumberComponentType;\n  const formsV4Submission_universal_d_NumberComponentType: typeof NumberComponentType;\n  type formsV4Submission_universal_d_NumberInput = NumberInput;\n  type formsV4Submission_universal_d_RatingInput = RatingInput;\n  type formsV4Submission_universal_d_InputFieldBooleanType = InputFieldBooleanType;\n  type formsV4Submission_universal_d_InputFieldBooleanErrorMessages = InputFieldBooleanErrorMessages;\n  type formsV4Submission_universal_d_BooleanComponentType = BooleanComponentType;\n  const formsV4Submission_universal_d_BooleanComponentType: typeof BooleanComponentType;\n  type formsV4Submission_universal_d_Checkbox = Checkbox;\n  type formsV4Submission_universal_d_InputFieldArrayType = InputFieldArrayType;\n  type formsV4Submission_universal_d_ItemType = ItemType;\n  const formsV4Submission_universal_d_ItemType: typeof ItemType;\n  type formsV4Submission_universal_d_InputFieldIntegerType = InputFieldIntegerType;\n  type formsV4Submission_universal_d_InputFieldObjectType = InputFieldObjectType;\n  type formsV4Submission_universal_d_PropertiesTypeEnum = PropertiesTypeEnum;\n  const formsV4Submission_universal_d_PropertiesTypeEnum: typeof PropertiesTypeEnum;\n  type formsV4Submission_universal_d_ObjectTypePropertiesType = ObjectTypePropertiesType;\n  type formsV4Submission_universal_d_ObjectTypePropertiesTypePropertiesTypeOptionsOneOf = ObjectTypePropertiesTypePropertiesTypeOptionsOneOf;\n  type formsV4Submission_universal_d_InputFieldObjectErrorMessages = InputFieldObjectErrorMessages;\n  type formsV4Submission_universal_d_ArrayTypeArrayItems = ArrayTypeArrayItems;\n  type formsV4Submission_universal_d_ArrayTypeArrayItemsItemTypeOptionsOneOf = ArrayTypeArrayItemsItemTypeOptionsOneOf;\n  type formsV4Submission_universal_d_InputFieldArrayErrorMessages = InputFieldArrayErrorMessages;\n  type formsV4Submission_universal_d_ComponentType = ComponentType;\n  const formsV4Submission_universal_d_ComponentType: typeof ComponentType;\n  type formsV4Submission_universal_d_CheckboxGroup = CheckboxGroup;\n  type formsV4Submission_universal_d_MediaItem = MediaItem;\n  type formsV4Submission_universal_d_MediaItemMediaOneOf = MediaItemMediaOneOf;\n  type formsV4Submission_universal_d_Option = Option;\n  type formsV4Submission_universal_d_CustomOption = CustomOption;\n  type formsV4Submission_universal_d_Tags = Tags;\n  type formsV4Submission_universal_d_TagsOption = TagsOption;\n  type formsV4Submission_universal_d_CommonCustomOption = CommonCustomOption;\n  type formsV4Submission_universal_d_WixFileComponentType = WixFileComponentType;\n  const formsV4Submission_universal_d_WixFileComponentType: typeof WixFileComponentType;\n  type formsV4Submission_universal_d_FileUpload = FileUpload;\n  type formsV4Submission_universal_d_UploadFileFormat = UploadFileFormat;\n  const formsV4Submission_universal_d_UploadFileFormat: typeof UploadFileFormat;\n  type formsV4Submission_universal_d_Signature = Signature;\n  type formsV4Submission_universal_d_PaymentComponentType = PaymentComponentType;\n  const formsV4Submission_universal_d_PaymentComponentType: typeof PaymentComponentType;\n  type formsV4Submission_universal_d_ProductCheckboxGroup = ProductCheckboxGroup;\n  type formsV4Submission_universal_d_ProductCheckboxGroupOption = ProductCheckboxGroupOption;\n  type formsV4Submission_universal_d_ImageFit = ImageFit;\n  const formsV4Submission_universal_d_ImageFit: typeof ImageFit;\n  type formsV4Submission_universal_d_DonationInput = DonationInput;\n  type formsV4Submission_universal_d_DonationInputOption = DonationInputOption;\n  type formsV4Submission_universal_d_PaymentInput = PaymentInput;\n  type formsV4Submission_universal_d_FixedPayment = FixedPayment;\n  type formsV4Submission_universal_d_MultilineAddressComponentType = MultilineAddressComponentType;\n  const formsV4Submission_universal_d_MultilineAddressComponentType: typeof MultilineAddressComponentType;\n  type formsV4Submission_universal_d_MultilineAddress = MultilineAddress;\n  type formsV4Submission_universal_d_Type = Type;\n  const formsV4Submission_universal_d_Type: typeof Type;\n  type formsV4Submission_universal_d_AddressLine2 = AddressLine2;\n  type formsV4Submission_universal_d_DefaultCountryConfig = DefaultCountryConfig;\n  type formsV4Submission_universal_d_DefaultCountryConfigOptionsOneOf = DefaultCountryConfigOptionsOneOf;\n  type formsV4Submission_universal_d_FieldsSettings = FieldsSettings;\n  type formsV4Submission_universal_d_InputType = InputType;\n  const formsV4Submission_universal_d_InputType: typeof InputType;\n  type formsV4Submission_universal_d_FormFieldContactInfo = FormFieldContactInfo;\n  type formsV4Submission_universal_d_FormFieldContactInfoAdditionalInfoOneOf = FormFieldContactInfoAdditionalInfoOneOf;\n  type formsV4Submission_universal_d_EmailInfoTag = EmailInfoTag;\n  const formsV4Submission_universal_d_EmailInfoTag: typeof EmailInfoTag;\n  type formsV4Submission_universal_d_PhoneInfoTag = PhoneInfoTag;\n  const formsV4Submission_universal_d_PhoneInfoTag: typeof PhoneInfoTag;\n  type formsV4Submission_universal_d_Tag = Tag;\n  const formsV4Submission_universal_d_Tag: typeof Tag;\n  type formsV4Submission_universal_d_SubscriptionInfoOptInLevel = SubscriptionInfoOptInLevel;\n  const formsV4Submission_universal_d_SubscriptionInfoOptInLevel: typeof SubscriptionInfoOptInLevel;\n  type formsV4Submission_universal_d_ContactField = ContactField;\n  const formsV4Submission_universal_d_ContactField: typeof ContactField;\n  type formsV4Submission_universal_d_EmailInfo = EmailInfo;\n  type formsV4Submission_universal_d_PhoneInfo = PhoneInfo;\n  type formsV4Submission_universal_d_AddressInfo = AddressInfo;\n  type formsV4Submission_universal_d_CustomFieldInfo = CustomFieldInfo;\n  type formsV4Submission_universal_d_SubscriptionInfo = SubscriptionInfo;\n  type formsV4Submission_universal_d__String = _String;\n  type formsV4Submission_universal_d__StringComponentTypeOptionsOneOf = _StringComponentTypeOptionsOneOf;\n  type formsV4Submission_universal_d__Number = _Number;\n  type formsV4Submission_universal_d__NumberComponentTypeOptionsOneOf = _NumberComponentTypeOptionsOneOf;\n  type formsV4Submission_universal_d__Boolean = _Boolean;\n  type formsV4Submission_universal_d__BooleanComponentTypeOptionsOneOf = _BooleanComponentTypeOptionsOneOf;\n  type formsV4Submission_universal_d__Array = _Array;\n  type formsV4Submission_universal_d__ArrayComponentTypeOptionsOneOf = _ArrayComponentTypeOptionsOneOf;\n  type formsV4Submission_universal_d__Object = _Object;\n  type formsV4Submission_universal_d__ObjectValidationOneOf = _ObjectValidationOneOf;\n  type formsV4Submission_universal_d_WixFile = WixFile;\n  type formsV4Submission_universal_d_WixFileComponentTypeOptionsOneOf = WixFileComponentTypeOptionsOneOf;\n  type formsV4Submission_universal_d_Payment = Payment;\n  type formsV4Submission_universal_d_PaymentComponentTypeOptionsOneOf = PaymentComponentTypeOptionsOneOf;\n  type formsV4Submission_universal_d_InputFieldMultilineAddress = InputFieldMultilineAddress;\n  type formsV4Submission_universal_d_InputFieldMultilineAddressComponentTypeOptionsOneOf = InputFieldMultilineAddressComponentTypeOptionsOneOf;\n  type formsV4Submission_universal_d_Target = Target;\n  const formsV4Submission_universal_d_Target: typeof Target;\n  type formsV4Submission_universal_d_ThankYouMessage = ThankYouMessage;\n  type formsV4Submission_universal_d_Redirect = Redirect;\n  type formsV4Submission_universal_d_FieldType = FieldType;\n  const formsV4Submission_universal_d_FieldType: typeof FieldType;\n  type formsV4Submission_universal_d_InputField = InputField;\n  type formsV4Submission_universal_d_InputFieldInputTypeOptionsOneOf = InputFieldInputTypeOptionsOneOf;\n  type formsV4Submission_universal_d_DisplayField = DisplayField;\n  type formsV4Submission_universal_d_DisplayFieldDisplayFieldTypeOptionsOneOf = DisplayFieldDisplayFieldTypeOptionsOneOf;\n  type formsV4Submission_universal_d_DisplayFieldComponentTypeOneOf = DisplayFieldComponentTypeOneOf;\n  type formsV4Submission_universal_d_DisplayFieldType = DisplayFieldType;\n  const formsV4Submission_universal_d_DisplayFieldType: typeof DisplayFieldType;\n  type formsV4Submission_universal_d_RichContentOptions = RichContentOptions;\n  type formsV4Submission_universal_d_PageNavigationOptions = PageNavigationOptions;\n  type formsV4Submission_universal_d_Header = Header;\n  type formsV4Submission_universal_d_RichText = RichText;\n  type formsV4Submission_universal_d_SubmitButton = SubmitButton;\n  type formsV4Submission_universal_d_SubmitButtonSubmitActionOneOf = SubmitButtonSubmitActionOneOf;\n  type formsV4Submission_universal_d_Step = Step;\n  type formsV4Submission_universal_d_FormLayout = FormLayout;\n  type formsV4Submission_universal_d_BreakPoint = BreakPoint;\n  type formsV4Submission_universal_d_ItemLayout = ItemLayout;\n  type formsV4Submission_universal_d_ItemLayoutItemOneOf = ItemLayoutItemOneOf;\n  type formsV4Submission_universal_d_Group = Group;\n  type formsV4Submission_universal_d_Margin = Margin;\n  type formsV4Submission_universal_d_Section = Section;\n  type formsV4Submission_universal_d_FormRule = FormRule;\n  type formsV4Submission_universal_d_OverrideEntityType = OverrideEntityType;\n  const formsV4Submission_universal_d_OverrideEntityType: typeof OverrideEntityType;\n  type formsV4Submission_universal_d_FormOverride = FormOverride;\n  type formsV4Submission_universal_d_FormProperties = FormProperties;\n  type formsV4Submission_universal_d_Kind = Kind;\n  const formsV4Submission_universal_d_Kind: typeof Kind;\n  type formsV4Submission_universal_d_PostSubmissionTriggers = PostSubmissionTriggers;\n  type formsV4Submission_universal_d_UpsertContact = UpsertContact;\n  type formsV4Submission_universal_d_NestedForm = NestedForm;\n  type formsV4Submission_universal_d_LimitationRule = LimitationRule;\n  type formsV4Submission_universal_d_SpamFilterProtectionLevel = SpamFilterProtectionLevel;\n  const formsV4Submission_universal_d_SpamFilterProtectionLevel: typeof SpamFilterProtectionLevel;\n  type formsV4Submission_universal_d_RequiredIndicatorProperties = RequiredIndicatorProperties;\n  type formsV4Submission_universal_d_SubmitSettings = SubmitSettings;\n  type formsV4Submission_universal_d_SubmitSettingsSubmitSuccessActionOptionsOneOf = SubmitSettingsSubmitSuccessActionOptionsOneOf;\n  type formsV4Submission_universal_d_UrlTargetEnumTarget = UrlTargetEnumTarget;\n  const formsV4Submission_universal_d_UrlTargetEnumTarget: typeof UrlTargetEnumTarget;\n  type formsV4Submission_universal_d_SubmitSuccessAction = SubmitSuccessAction;\n  const formsV4Submission_universal_d_SubmitSuccessAction: typeof SubmitSuccessAction;\n  type formsV4Submission_universal_d_ThankYouMessageOptions = ThankYouMessageOptions;\n  type formsV4Submission_universal_d_RedirectOptions = RedirectOptions;\n  type formsV4Submission_universal_d_FieldGroup = FieldGroup;\n  type formsV4Submission_universal_d_CreateCheckoutFromSubmissionResponse = CreateCheckoutFromSubmissionResponse;\n  type formsV4Submission_universal_d_Checkout = Checkout;\n  type formsV4Submission_universal_d_IsFormSubmittableRequest = IsFormSubmittableRequest;\n  type formsV4Submission_universal_d_IsFormSubmittableResponse = IsFormSubmittableResponse;\n  type formsV4Submission_universal_d_DomainEvent = DomainEvent;\n  type formsV4Submission_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type formsV4Submission_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type formsV4Submission_universal_d_RestoreInfo = RestoreInfo;\n  type formsV4Submission_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type formsV4Submission_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type formsV4Submission_universal_d_ActionEvent = ActionEvent;\n  type formsV4Submission_universal_d_Empty = Empty;\n  type formsV4Submission_universal_d_MessageEnvelope = MessageEnvelope;\n  type formsV4Submission_universal_d_IdentificationData = IdentificationData;\n  type formsV4Submission_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type formsV4Submission_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const formsV4Submission_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type formsV4Submission_universal_d_CreateSubmissionRequest = CreateSubmissionRequest;\n  type formsV4Submission_universal_d_CreateSubmissionResponse = CreateSubmissionResponse;\n  type formsV4Submission_universal_d_SubmissionValidationErrorsDetails = SubmissionValidationErrorsDetails;\n  type formsV4Submission_universal_d_ValidationError = ValidationError;\n  type formsV4Submission_universal_d_ErrorType = ErrorType;\n  const formsV4Submission_universal_d_ErrorType: typeof ErrorType;\n  type formsV4Submission_universal_d_CreateSubmissionBySubmitterRequest = CreateSubmissionBySubmitterRequest;\n  type formsV4Submission_universal_d_CreateSubmissionBySubmitterResponse = CreateSubmissionBySubmitterResponse;\n  type formsV4Submission_universal_d_BulkCreateSubmissionBySubmitterRequest = BulkCreateSubmissionBySubmitterRequest;\n  type formsV4Submission_universal_d_BulkCreateSubmissionBySubmitterData = BulkCreateSubmissionBySubmitterData;\n  type formsV4Submission_universal_d_BulkCreateSubmissionBySubmitterResponse = BulkCreateSubmissionBySubmitterResponse;\n  type formsV4Submission_universal_d_BulkSubmissionResult = BulkSubmissionResult;\n  type formsV4Submission_universal_d_ItemMetadata = ItemMetadata;\n  type formsV4Submission_universal_d_ApplicationError = ApplicationError;\n  type formsV4Submission_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type formsV4Submission_universal_d_GetSubmissionRequest = GetSubmissionRequest;\n  type formsV4Submission_universal_d_GetSubmissionResponse = GetSubmissionResponse;\n  type formsV4Submission_universal_d_GetSubmissionByCheckoutIdRequest = GetSubmissionByCheckoutIdRequest;\n  type formsV4Submission_universal_d_GetSubmissionByCheckoutIdResponse = GetSubmissionByCheckoutIdResponse;\n  type formsV4Submission_universal_d_UpdateSubmissionRequest = UpdateSubmissionRequest;\n  type formsV4Submission_universal_d_UpdateSubmissionResponse = UpdateSubmissionResponse;\n  type formsV4Submission_universal_d_ConfirmSubmissionRequest = ConfirmSubmissionRequest;\n  type formsV4Submission_universal_d_ConfirmSubmissionResponse = ConfirmSubmissionResponse;\n  type formsV4Submission_universal_d_DeleteSubmissionRequest = DeleteSubmissionRequest;\n  type formsV4Submission_universal_d_DeleteSubmissionResponse = DeleteSubmissionResponse;\n  type formsV4Submission_universal_d_BulkDeleteSubmissionRequest = BulkDeleteSubmissionRequest;\n  type formsV4Submission_universal_d_BulkDeleteSubmissionResponse = BulkDeleteSubmissionResponse;\n  type formsV4Submission_universal_d_BulkDeleteSubmissionResult = BulkDeleteSubmissionResult;\n  type formsV4Submission_universal_d_RestoreSubmissionFromTrashBinRequest = RestoreSubmissionFromTrashBinRequest;\n  type formsV4Submission_universal_d_RestoreSubmissionFromTrashBinResponse = RestoreSubmissionFromTrashBinResponse;\n  type formsV4Submission_universal_d_RemoveSubmissionFromTrashBinRequest = RemoveSubmissionFromTrashBinRequest;\n  type formsV4Submission_universal_d_RemoveSubmissionFromTrashBinResponse = RemoveSubmissionFromTrashBinResponse;\n  type formsV4Submission_universal_d_BulkRemoveSubmissionFromTrashBinRequest = BulkRemoveSubmissionFromTrashBinRequest;\n  type formsV4Submission_universal_d_BulkRemoveSubmissionFromTrashBinResponse = BulkRemoveSubmissionFromTrashBinResponse;\n  type formsV4Submission_universal_d_BulkRemoveSubmissionFromTrashBinResult = BulkRemoveSubmissionFromTrashBinResult;\n  type formsV4Submission_universal_d_ListDeletedSubmissionsRequest = ListDeletedSubmissionsRequest;\n  type formsV4Submission_universal_d_CursorPaging = CursorPaging;\n  type formsV4Submission_universal_d_ListDeletedSubmissionsResponse = ListDeletedSubmissionsResponse;\n  type formsV4Submission_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type formsV4Submission_universal_d_Cursors = Cursors;\n  type formsV4Submission_universal_d_GetDeletedSubmissionRequest = GetDeletedSubmissionRequest;\n  type formsV4Submission_universal_d_GetDeletedSubmissionResponse = GetDeletedSubmissionResponse;\n  type formsV4Submission_universal_d_QuerySubmissionRequest = QuerySubmissionRequest;\n  type formsV4Submission_universal_d_CursorQuery = CursorQuery;\n  type formsV4Submission_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type formsV4Submission_universal_d_Sorting = Sorting;\n  type formsV4Submission_universal_d_SortOrder = SortOrder;\n  const formsV4Submission_universal_d_SortOrder: typeof SortOrder;\n  type formsV4Submission_universal_d_QuerySubmissionResponse = QuerySubmissionResponse;\n  type formsV4Submission_universal_d_SearchSubmissionsByNamespaceRequest = SearchSubmissionsByNamespaceRequest;\n  type formsV4Submission_universal_d_CursorSearch = CursorSearch;\n  type formsV4Submission_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type formsV4Submission_universal_d_SearchDetails = SearchDetails;\n  type formsV4Submission_universal_d_Mode = Mode;\n  const formsV4Submission_universal_d_Mode: typeof Mode;\n  type formsV4Submission_universal_d_SearchSubmissionsByNamespaceResponse = SearchSubmissionsByNamespaceResponse;\n  type formsV4Submission_universal_d_SearchSubmissionsByNamespaceForExportRequest = SearchSubmissionsByNamespaceForExportRequest;\n  type formsV4Submission_universal_d_SearchSubmissionsByNamespaceForExportResponse = SearchSubmissionsByNamespaceForExportResponse;\n  type formsV4Submission_universal_d_QuerySubmissionsByNamespaceRequest = QuerySubmissionsByNamespaceRequest;\n  type formsV4Submission_universal_d_QuerySubmissionsByNamespaceResponse = QuerySubmissionsByNamespaceResponse;\n  type formsV4Submission_universal_d_QuerySubmissionsByNamespaceForExportRequest = QuerySubmissionsByNamespaceForExportRequest;\n  type formsV4Submission_universal_d_QuerySubmissionsByNamespaceForExportResponse = QuerySubmissionsByNamespaceForExportResponse;\n  type formsV4Submission_universal_d_CountSubmissionsByFilterRequest = CountSubmissionsByFilterRequest;\n  type formsV4Submission_universal_d_CountSubmissionsByFilterResponse = CountSubmissionsByFilterResponse;\n  type formsV4Submission_universal_d_FormSubmissionsCount = FormSubmissionsCount;\n  type formsV4Submission_universal_d_CountSubmissionsRequest = CountSubmissionsRequest;\n  type formsV4Submission_universal_d_CountSubmissionsResponse = CountSubmissionsResponse;\n  type formsV4Submission_universal_d_CountDeletedSubmissionsRequest = CountDeletedSubmissionsRequest;\n  type formsV4Submission_universal_d_CountDeletedSubmissionsResponse = CountDeletedSubmissionsResponse;\n  type formsV4Submission_universal_d_FormDeletedSubmissionsCount = FormDeletedSubmissionsCount;\n  type formsV4Submission_universal_d_GetMediaUploadURLRequest = GetMediaUploadURLRequest;\n  type formsV4Submission_universal_d_GetMediaUploadURLResponse = GetMediaUploadURLResponse;\n  type formsV4Submission_universal_d_BulkMarkSubmissionsAsSeenRequest = BulkMarkSubmissionsAsSeenRequest;\n  type formsV4Submission_universal_d_BulkMarkSubmissionsAsSeenResponse = BulkMarkSubmissionsAsSeenResponse;\n  type formsV4Submission_universal_d_GetSubmissionDownloadUrlRequest = GetSubmissionDownloadUrlRequest;\n  type formsV4Submission_universal_d_GetSubmissionDownloadUrlResponse = GetSubmissionDownloadUrlResponse;\n  type formsV4Submission_universal_d_SubmissionDocument = SubmissionDocument;\n  type formsV4Submission_universal_d_SubmissionDocumentDocumentOneOf = SubmissionDocumentDocumentOneOf;\n  type formsV4Submission_universal_d_Status = Status;\n  const formsV4Submission_universal_d_Status: typeof Status;\n  type formsV4Submission_universal_d_DocumentReady = DocumentReady;\n  type formsV4Submission_universal_d_GetFormattedSubmissionRequest = GetFormattedSubmissionRequest;\n  type formsV4Submission_universal_d_GetFormattedSubmissionResponse = GetFormattedSubmissionResponse;\n  type formsV4Submission_universal_d_FormattedSubmission = FormattedSubmission;\n  type formsV4Submission_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type formsV4Submission_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type formsV4Submission_universal_d_UpsertContactFromSubmissionRequest = UpsertContactFromSubmissionRequest;\n  type formsV4Submission_universal_d_UpsertContactFromSubmissionResponse = UpsertContactFromSubmissionResponse;\n  type formsV4Submission_universal_d_SubmitContactResponse = SubmitContactResponse;\n  type formsV4Submission_universal_d_IdentityType = IdentityType;\n  const formsV4Submission_universal_d_IdentityType: typeof IdentityType;\n  const formsV4Submission_universal_d_createSubmission: typeof createSubmission;\n  type formsV4Submission_universal_d_CreateSubmissionOptions = CreateSubmissionOptions;\n  const formsV4Submission_universal_d_createSubmissionBySubmitter: typeof createSubmissionBySubmitter;\n  type formsV4Submission_universal_d_CreateSubmissionBySubmitterOptions = CreateSubmissionBySubmitterOptions;\n  const formsV4Submission_universal_d_bulkCreateSubmissionBySubmitter: typeof bulkCreateSubmissionBySubmitter;\n  type formsV4Submission_universal_d_BulkCreateSubmissionBySubmitterOptions = BulkCreateSubmissionBySubmitterOptions;\n  const formsV4Submission_universal_d_getSubmission: typeof getSubmission;\n  const formsV4Submission_universal_d_getSubmissionByCheckoutId: typeof getSubmissionByCheckoutId;\n  const formsV4Submission_universal_d_updateSubmission: typeof updateSubmission;\n  type formsV4Submission_universal_d_UpdateSubmission = UpdateSubmission;\n  type formsV4Submission_universal_d_UpdateSubmissionOptions = UpdateSubmissionOptions;\n  const formsV4Submission_universal_d_confirmSubmission: typeof confirmSubmission;\n  const formsV4Submission_universal_d_deleteSubmission: typeof deleteSubmission;\n  type formsV4Submission_universal_d_DeleteSubmissionOptions = DeleteSubmissionOptions;\n  const formsV4Submission_universal_d_bulkDeleteSubmission: typeof bulkDeleteSubmission;\n  type formsV4Submission_universal_d_BulkDeleteSubmissionOptions = BulkDeleteSubmissionOptions;\n  const formsV4Submission_universal_d_restoreSubmissionFromTrashBin: typeof restoreSubmissionFromTrashBin;\n  const formsV4Submission_universal_d_removeSubmissionFromTrashBin: typeof removeSubmissionFromTrashBin;\n  const formsV4Submission_universal_d_bulkRemoveSubmissionFromTrashBin: typeof bulkRemoveSubmissionFromTrashBin;\n  type formsV4Submission_universal_d_BulkRemoveSubmissionFromTrashBinOptions = BulkRemoveSubmissionFromTrashBinOptions;\n  const formsV4Submission_universal_d_listDeletedSubmissions: typeof listDeletedSubmissions;\n  type formsV4Submission_universal_d_ListDeletedSubmissionsOptions = ListDeletedSubmissionsOptions;\n  const formsV4Submission_universal_d_getDeletedSubmission: typeof getDeletedSubmission;\n  const formsV4Submission_universal_d_querySubmission: typeof querySubmission;\n  type formsV4Submission_universal_d_QuerySubmissionOptions = QuerySubmissionOptions;\n  const formsV4Submission_universal_d_searchSubmissionsByNamespace: typeof searchSubmissionsByNamespace;\n  const formsV4Submission_universal_d_searchSubmissionsByNamespaceForExport: typeof searchSubmissionsByNamespaceForExport;\n  const formsV4Submission_universal_d_querySubmissionsByNamespace: typeof querySubmissionsByNamespace;\n  type formsV4Submission_universal_d_QuerySubmissionsByNamespaceOptions = QuerySubmissionsByNamespaceOptions;\n  type formsV4Submission_universal_d_SubmissionsQueryResult = SubmissionsQueryResult;\n  type formsV4Submission_universal_d_SubmissionsQueryBuilder = SubmissionsQueryBuilder;\n  const formsV4Submission_universal_d_querySubmissionsByNamespaceForExport: typeof querySubmissionsByNamespaceForExport;\n  const formsV4Submission_universal_d_countSubmissionsByFilter: typeof countSubmissionsByFilter;\n  type formsV4Submission_universal_d_CountSubmissionsByFilterOptions = CountSubmissionsByFilterOptions;\n  const formsV4Submission_universal_d_countSubmissions: typeof countSubmissions;\n  type formsV4Submission_universal_d_CountSubmissionsOptions = CountSubmissionsOptions;\n  const formsV4Submission_universal_d_countDeletedSubmissions: typeof countDeletedSubmissions;\n  type formsV4Submission_universal_d_CountDeletedSubmissionsOptions = CountDeletedSubmissionsOptions;\n  const formsV4Submission_universal_d_getMediaUploadUrl: typeof getMediaUploadUrl;\n  const formsV4Submission_universal_d_bulkMarkSubmissionsAsSeen: typeof bulkMarkSubmissionsAsSeen;\n  const formsV4Submission_universal_d_getSubmissionDownloadUrl: typeof getSubmissionDownloadUrl;\n  const formsV4Submission_universal_d_getFormattedSubmission: typeof getFormattedSubmission;\n  const formsV4Submission_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type formsV4Submission_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  const formsV4Submission_universal_d_upsertContactFromSubmission: typeof upsertContactFromSubmission;\n  type formsV4Submission_universal_d_UpsertContactFromSubmissionOptions = UpsertContactFromSubmissionOptions;\n  namespace formsV4Submission_universal_d {\n    export {\n      formsV4Submission_universal_d_FormSubmission as FormSubmission,\n      formsV4Submission_universal_d_SubmissionStatus as SubmissionStatus,\n      formsV4Submission_universal_d_Submitter as Submitter,\n      formsV4Submission_universal_d_SubmitterSubmitterOneOf as SubmitterSubmitterOneOf,\n      formsV4Submission_universal_d_ExtendedFields as ExtendedFields,\n      formsV4Submission_universal_d_OrderDetails as OrderDetails,\n      formsV4Submission_universal_d_FormSubmissionStatusUpdatedEvent as FormSubmissionStatusUpdatedEvent,\n      formsV4Submission_universal_d_RemovedSubmissionFromTrash as RemovedSubmissionFromTrash,\n      formsV4Submission_universal_d_SubmissionContactMapped as SubmissionContactMapped,\n      formsV4Submission_universal_d_MarketingSubscriptionDetails as MarketingSubscriptionDetails,\n      formsV4Submission_universal_d_OptInLevel as OptInLevel,\n      formsV4Submission_universal_d_SubmissionContactMappingSkipped as SubmissionContactMappingSkipped,\n      formsV4Submission_universal_d_CreateCheckoutFromSubmissionRequest as CreateCheckoutFromSubmissionRequest,\n      formsV4Submission_universal_d_CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf as CreateCheckoutFromSubmissionRequestFormSchemaIdentifierOneOf,\n      formsV4Submission_universal_d_Form as Form,\n      formsV4Submission_universal_d_RequiredIndicator as RequiredIndicator,\n      formsV4Submission_universal_d_RequiredIndicatorPlacement as RequiredIndicatorPlacement,\n      formsV4Submission_universal_d_FormField as FormField,\n      formsV4Submission_universal_d_StringType as StringType,\n      formsV4Submission_universal_d_StringTypeFormatOptionsOneOf as StringTypeFormatOptionsOneOf,\n      formsV4Submission_universal_d_Format as Format,\n      formsV4Submission_universal_d_StringErrorMessages as StringErrorMessages,\n      formsV4Submission_universal_d_DateTimeConstraints as DateTimeConstraints,\n      formsV4Submission_universal_d_PhoneConstraints as PhoneConstraints,\n      formsV4Submission_universal_d_NumberType as NumberType,\n      formsV4Submission_universal_d_NumberErrorMessages as NumberErrorMessages,\n      formsV4Submission_universal_d_IntegerType as IntegerType,\n      formsV4Submission_universal_d_BooleanType as BooleanType,\n      formsV4Submission_universal_d_BooleanErrorMessages as BooleanErrorMessages,\n      formsV4Submission_universal_d_ArrayType as ArrayType,\n      formsV4Submission_universal_d_ObjectType as ObjectType,\n      formsV4Submission_universal_d_PropertiesType as PropertiesType,\n      formsV4Submission_universal_d_PropertiesTypePropertiesTypeOneOf as PropertiesTypePropertiesTypeOneOf,\n      formsV4Submission_universal_d_ObjectErrorMessages as ObjectErrorMessages,\n      formsV4Submission_universal_d_ArrayItems as ArrayItems,\n      formsV4Submission_universal_d_ArrayItemsItemsOneOf as ArrayItemsItemsOneOf,\n      formsV4Submission_universal_d_ArrayErrorMessages as ArrayErrorMessages,\n      formsV4Submission_universal_d_PredefinedValidation as PredefinedValidation,\n      formsV4Submission_universal_d_PredefinedValidationFormatOptionsOneOf as PredefinedValidationFormatOptionsOneOf,\n      formsV4Submission_universal_d_ValidationFormat as ValidationFormat,\n      formsV4Submission_universal_d_PaymentType as PaymentType,\n      formsV4Submission_universal_d_ProductType as ProductType,\n      formsV4Submission_universal_d_PriceType as PriceType,\n      formsV4Submission_universal_d_QuantityLimit as QuantityLimit,\n      formsV4Submission_universal_d_FixedPriceOptions as FixedPriceOptions,\n      formsV4Submission_universal_d_DynamicPriceOptions as DynamicPriceOptions,\n      formsV4Submission_universal_d_Product as Product,\n      formsV4Submission_universal_d_ProductPriceOptionsOneOf as ProductPriceOptionsOneOf,\n      formsV4Submission_universal_d_MultilineAddressValidation as MultilineAddressValidation,\n      formsV4Submission_universal_d_FieldOverrides as FieldOverrides,\n      formsV4Submission_universal_d_FieldsOverrides as FieldsOverrides,\n      formsV4Submission_universal_d_NestedFormFieldOverrides as NestedFormFieldOverrides,\n      formsV4Submission_universal_d_Validation as Validation,\n      formsV4Submission_universal_d_ValidationValidationOneOf as ValidationValidationOneOf,\n      formsV4Submission_universal_d_DataExtensionsDetails as DataExtensionsDetails,\n      formsV4Submission_universal_d_NestedFormOverrides as NestedFormOverrides,\n      formsV4Submission_universal_d_FormFieldV2 as FormFieldV2,\n      formsV4Submission_universal_d_FormFieldV2FieldTypeOptionsOneOf as FormFieldV2FieldTypeOptionsOneOf,\n      formsV4Submission_universal_d_InputFieldStringType as InputFieldStringType,\n      formsV4Submission_universal_d_InputFieldStringTypeFormatOptionsOneOf as InputFieldStringTypeFormatOptionsOneOf,\n      formsV4Submission_universal_d_FormatEnumFormat as FormatEnumFormat,\n      formsV4Submission_universal_d_InputFieldStringErrorMessages as InputFieldStringErrorMessages,\n      formsV4Submission_universal_d_StringTypeDateTimeConstraints as StringTypeDateTimeConstraints,\n      formsV4Submission_universal_d_StringTypePhoneConstraints as StringTypePhoneConstraints,\n      formsV4Submission_universal_d_StringComponentType as StringComponentType,\n      formsV4Submission_universal_d_TextInput as TextInput,\n      formsV4Submission_universal_d_RichContent as RichContent,\n      formsV4Submission_universal_d_Node as Node,\n      formsV4Submission_universal_d_NodeDataOneOf as NodeDataOneOf,\n      formsV4Submission_universal_d_NodeType as NodeType,\n      formsV4Submission_universal_d_NodeStyle as NodeStyle,\n      formsV4Submission_universal_d_ButtonData as ButtonData,\n      formsV4Submission_universal_d_Border as Border,\n      formsV4Submission_universal_d_Colors as Colors,\n      formsV4Submission_universal_d_PluginContainerData as PluginContainerData,\n      formsV4Submission_universal_d_WidthType as WidthType,\n      formsV4Submission_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      formsV4Submission_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      formsV4Submission_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      formsV4Submission_universal_d_Spoiler as Spoiler,\n      formsV4Submission_universal_d_Height as Height,\n      formsV4Submission_universal_d_ButtonDataType as ButtonDataType,\n      formsV4Submission_universal_d_Styles as Styles,\n      formsV4Submission_universal_d_Link as Link,\n      formsV4Submission_universal_d_LinkDataOneOf as LinkDataOneOf,\n      formsV4Submission_universal_d_LinkTarget as LinkTarget,\n      formsV4Submission_universal_d_Rel as Rel,\n      formsV4Submission_universal_d_CodeBlockData as CodeBlockData,\n      formsV4Submission_universal_d_TextStyle as TextStyle,\n      formsV4Submission_universal_d_TextAlignment as TextAlignment,\n      formsV4Submission_universal_d_DividerData as DividerData,\n      formsV4Submission_universal_d_LineStyle as LineStyle,\n      formsV4Submission_universal_d_Width as Width,\n      formsV4Submission_universal_d_Alignment as Alignment,\n      formsV4Submission_universal_d_FileData as FileData,\n      formsV4Submission_universal_d_ViewMode as ViewMode,\n      formsV4Submission_universal_d_FileSource as FileSource,\n      formsV4Submission_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      formsV4Submission_universal_d_PDFSettings as PDFSettings,\n      formsV4Submission_universal_d_GalleryData as GalleryData,\n      formsV4Submission_universal_d_Media as Media,\n      formsV4Submission_universal_d_Image as Image,\n      formsV4Submission_universal_d_Video as Video,\n      formsV4Submission_universal_d_Item as Item,\n      formsV4Submission_universal_d_ItemDataOneOf as ItemDataOneOf,\n      formsV4Submission_universal_d_GalleryOptions as GalleryOptions,\n      formsV4Submission_universal_d_LayoutType as LayoutType,\n      formsV4Submission_universal_d_Orientation as Orientation,\n      formsV4Submission_universal_d_Crop as Crop,\n      formsV4Submission_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      formsV4Submission_universal_d_Layout as Layout,\n      formsV4Submission_universal_d_ItemStyle as ItemStyle,\n      formsV4Submission_universal_d_Thumbnails as Thumbnails,\n      formsV4Submission_universal_d_GIFData as GIFData,\n      formsV4Submission_universal_d_GIF as GIF,\n      formsV4Submission_universal_d_HeadingData as HeadingData,\n      formsV4Submission_universal_d_HTMLData as HTMLData,\n      formsV4Submission_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      formsV4Submission_universal_d_Source as Source,\n      formsV4Submission_universal_d_ImageData as ImageData,\n      formsV4Submission_universal_d_LinkPreviewData as LinkPreviewData,\n      formsV4Submission_universal_d_MapData as MapData,\n      formsV4Submission_universal_d_MapSettings as MapSettings,\n      formsV4Submission_universal_d_MapType as MapType,\n      formsV4Submission_universal_d_ParagraphData as ParagraphData,\n      formsV4Submission_universal_d_PollData as PollData,\n      formsV4Submission_universal_d_ViewRole as ViewRole,\n      formsV4Submission_universal_d_VoteRole as VoteRole,\n      formsV4Submission_universal_d_Permissions as Permissions,\n      formsV4Submission_universal_d_PollOption as PollOption,\n      formsV4Submission_universal_d_Settings as Settings,\n      formsV4Submission_universal_d_PollLayoutType as PollLayoutType,\n      formsV4Submission_universal_d_PollLayoutDirection as PollLayoutDirection,\n      formsV4Submission_universal_d_PollLayout as PollLayout,\n      formsV4Submission_universal_d_OptionLayout as OptionLayout,\n      formsV4Submission_universal_d_BackgroundType as BackgroundType,\n      formsV4Submission_universal_d_Gradient as Gradient,\n      formsV4Submission_universal_d_Background as Background,\n      formsV4Submission_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      formsV4Submission_universal_d_PollDesign as PollDesign,\n      formsV4Submission_universal_d_OptionDesign as OptionDesign,\n      formsV4Submission_universal_d_Poll as Poll,\n      formsV4Submission_universal_d_PollDataLayout as PollDataLayout,\n      formsV4Submission_universal_d_Design as Design,\n      formsV4Submission_universal_d_TextData as TextData,\n      formsV4Submission_universal_d_Decoration as Decoration,\n      formsV4Submission_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      formsV4Submission_universal_d_DecorationType as DecorationType,\n      formsV4Submission_universal_d_AnchorData as AnchorData,\n      formsV4Submission_universal_d_ColorData as ColorData,\n      formsV4Submission_universal_d_LinkData as LinkData,\n      formsV4Submission_universal_d_MentionData as MentionData,\n      formsV4Submission_universal_d_FontSizeData as FontSizeData,\n      formsV4Submission_universal_d_FontType as FontType,\n      formsV4Submission_universal_d_SpoilerData as SpoilerData,\n      formsV4Submission_universal_d_AppEmbedData as AppEmbedData,\n      formsV4Submission_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      formsV4Submission_universal_d_AppType as AppType,\n      formsV4Submission_universal_d_BookingData as BookingData,\n      formsV4Submission_universal_d_EventData as EventData,\n      formsV4Submission_universal_d_VideoData as VideoData,\n      formsV4Submission_universal_d_PlaybackOptions as PlaybackOptions,\n      formsV4Submission_universal_d_EmbedData as EmbedData,\n      formsV4Submission_universal_d_Oembed as Oembed,\n      formsV4Submission_universal_d_CollapsibleListData as CollapsibleListData,\n      formsV4Submission_universal_d_InitialExpandedItems as InitialExpandedItems,\n      formsV4Submission_universal_d_Direction as Direction,\n      formsV4Submission_universal_d_TableData as TableData,\n      formsV4Submission_universal_d_Dimensions as Dimensions,\n      formsV4Submission_universal_d_TableCellData as TableCellData,\n      formsV4Submission_universal_d_VerticalAlignment as VerticalAlignment,\n      formsV4Submission_universal_d_CellStyle as CellStyle,\n      formsV4Submission_universal_d_BorderColors as BorderColors,\n      formsV4Submission_universal_d_NullValue as NullValue,\n      formsV4Submission_universal_d_ListValue as ListValue,\n      formsV4Submission_universal_d_AudioData as AudioData,\n      formsV4Submission_universal_d_OrderedListData as OrderedListData,\n      formsV4Submission_universal_d_BulletedListData as BulletedListData,\n      formsV4Submission_universal_d_BlockquoteData as BlockquoteData,\n      formsV4Submission_universal_d_CaptionData as CaptionData,\n      formsV4Submission_universal_d_Metadata as Metadata,\n      formsV4Submission_universal_d_DocumentStyle as DocumentStyle,\n      formsV4Submission_universal_d_TextNodeStyle as TextNodeStyle,\n      formsV4Submission_universal_d_RadioGroup as RadioGroup,\n      formsV4Submission_universal_d_RadioGroupOption as RadioGroupOption,\n      formsV4Submission_universal_d_RadioGroupCustomOption as RadioGroupCustomOption,\n      formsV4Submission_universal_d_NumberOfColumns as NumberOfColumns,\n      formsV4Submission_universal_d_Dropdown as Dropdown,\n      formsV4Submission_universal_d_DropdownOption as DropdownOption,\n      formsV4Submission_universal_d_DropdownCustomOption as DropdownCustomOption,\n      formsV4Submission_universal_d_DateTimeInput as DateTimeInput,\n      formsV4Submission_universal_d_PhoneInput as PhoneInput,\n      formsV4Submission_universal_d_DateInput as DateInput,\n      formsV4Submission_universal_d_TimeInput as TimeInput,\n      formsV4Submission_universal_d_DatePicker as DatePicker,\n      formsV4Submission_universal_d_FirstDayOfWeekEnumFirstDayOfWeek as FirstDayOfWeekEnumFirstDayOfWeek,\n      formsV4Submission_universal_d_InputFieldNumberType as InputFieldNumberType,\n      formsV4Submission_universal_d_InputFieldNumberErrorMessages as InputFieldNumberErrorMessages,\n      formsV4Submission_universal_d_NumberComponentType as NumberComponentType,\n      formsV4Submission_universal_d_NumberInput as NumberInput,\n      formsV4Submission_universal_d_RatingInput as RatingInput,\n      formsV4Submission_universal_d_InputFieldBooleanType as InputFieldBooleanType,\n      formsV4Submission_universal_d_InputFieldBooleanErrorMessages as InputFieldBooleanErrorMessages,\n      formsV4Submission_universal_d_BooleanComponentType as BooleanComponentType,\n      formsV4Submission_universal_d_Checkbox as Checkbox,\n      formsV4Submission_universal_d_InputFieldArrayType as InputFieldArrayType,\n      formsV4Submission_universal_d_ItemType as ItemType,\n      formsV4Submission_universal_d_InputFieldIntegerType as InputFieldIntegerType,\n      formsV4Submission_universal_d_InputFieldObjectType as InputFieldObjectType,\n      formsV4Submission_universal_d_PropertiesTypeEnum as PropertiesTypeEnum,\n      formsV4Submission_universal_d_ObjectTypePropertiesType as ObjectTypePropertiesType,\n      formsV4Submission_universal_d_ObjectTypePropertiesTypePropertiesTypeOptionsOneOf as ObjectTypePropertiesTypePropertiesTypeOptionsOneOf,\n      formsV4Submission_universal_d_InputFieldObjectErrorMessages as InputFieldObjectErrorMessages,\n      formsV4Submission_universal_d_ArrayTypeArrayItems as ArrayTypeArrayItems,\n      formsV4Submission_universal_d_ArrayTypeArrayItemsItemTypeOptionsOneOf as ArrayTypeArrayItemsItemTypeOptionsOneOf,\n      formsV4Submission_universal_d_InputFieldArrayErrorMessages as InputFieldArrayErrorMessages,\n      formsV4Submission_universal_d_ComponentType as ComponentType,\n      formsV4Submission_universal_d_CheckboxGroup as CheckboxGroup,\n      formsV4Submission_universal_d_MediaItem as MediaItem,\n      formsV4Submission_universal_d_MediaItemMediaOneOf as MediaItemMediaOneOf,\n      formsV4Submission_universal_d_Option as Option,\n      formsV4Submission_universal_d_CustomOption as CustomOption,\n      formsV4Submission_universal_d_Tags as Tags,\n      formsV4Submission_universal_d_TagsOption as TagsOption,\n      formsV4Submission_universal_d_CommonCustomOption as CommonCustomOption,\n      formsV4Submission_universal_d_WixFileComponentType as WixFileComponentType,\n      formsV4Submission_universal_d_FileUpload as FileUpload,\n      formsV4Submission_universal_d_UploadFileFormat as UploadFileFormat,\n      formsV4Submission_universal_d_Signature as Signature,\n      formsV4Submission_universal_d_PaymentComponentType as PaymentComponentType,\n      formsV4Submission_universal_d_ProductCheckboxGroup as ProductCheckboxGroup,\n      formsV4Submission_universal_d_ProductCheckboxGroupOption as ProductCheckboxGroupOption,\n      formsV4Submission_universal_d_ImageFit as ImageFit,\n      formsV4Submission_universal_d_DonationInput as DonationInput,\n      formsV4Submission_universal_d_DonationInputOption as DonationInputOption,\n      formsV4Submission_universal_d_PaymentInput as PaymentInput,\n      formsV4Submission_universal_d_FixedPayment as FixedPayment,\n      formsV4Submission_universal_d_MultilineAddressComponentType as MultilineAddressComponentType,\n      formsV4Submission_universal_d_MultilineAddress as MultilineAddress,\n      formsV4Submission_universal_d_Type as Type,\n      formsV4Submission_universal_d_AddressLine2 as AddressLine2,\n      formsV4Submission_universal_d_DefaultCountryConfig as DefaultCountryConfig,\n      formsV4Submission_universal_d_DefaultCountryConfigOptionsOneOf as DefaultCountryConfigOptionsOneOf,\n      formsV4Submission_universal_d_FieldsSettings as FieldsSettings,\n      formsV4Submission_universal_d_InputType as InputType,\n      formsV4Submission_universal_d_FormFieldContactInfo as FormFieldContactInfo,\n      formsV4Submission_universal_d_FormFieldContactInfoAdditionalInfoOneOf as FormFieldContactInfoAdditionalInfoOneOf,\n      formsV4Submission_universal_d_EmailInfoTag as EmailInfoTag,\n      formsV4Submission_universal_d_PhoneInfoTag as PhoneInfoTag,\n      formsV4Submission_universal_d_Tag as Tag,\n      formsV4Submission_universal_d_SubscriptionInfoOptInLevel as SubscriptionInfoOptInLevel,\n      formsV4Submission_universal_d_ContactField as ContactField,\n      formsV4Submission_universal_d_EmailInfo as EmailInfo,\n      formsV4Submission_universal_d_PhoneInfo as PhoneInfo,\n      formsV4Submission_universal_d_AddressInfo as AddressInfo,\n      formsV4Submission_universal_d_CustomFieldInfo as CustomFieldInfo,\n      formsV4Submission_universal_d_SubscriptionInfo as SubscriptionInfo,\n      formsV4Submission_universal_d__String as _String,\n      formsV4Submission_universal_d__StringComponentTypeOptionsOneOf as _StringComponentTypeOptionsOneOf,\n      formsV4Submission_universal_d__Number as _Number,\n      formsV4Submission_universal_d__NumberComponentTypeOptionsOneOf as _NumberComponentTypeOptionsOneOf,\n      formsV4Submission_universal_d__Boolean as _Boolean,\n      formsV4Submission_universal_d__BooleanComponentTypeOptionsOneOf as _BooleanComponentTypeOptionsOneOf,\n      formsV4Submission_universal_d__Array as _Array,\n      formsV4Submission_universal_d__ArrayComponentTypeOptionsOneOf as _ArrayComponentTypeOptionsOneOf,\n      formsV4Submission_universal_d__Object as _Object,\n      formsV4Submission_universal_d__ObjectValidationOneOf as _ObjectValidationOneOf,\n      formsV4Submission_universal_d_WixFile as WixFile,\n      formsV4Submission_universal_d_WixFileComponentTypeOptionsOneOf as WixFileComponentTypeOptionsOneOf,\n      formsV4Submission_universal_d_Payment as Payment,\n      formsV4Submission_universal_d_PaymentComponentTypeOptionsOneOf as PaymentComponentTypeOptionsOneOf,\n      formsV4Submission_universal_d_InputFieldMultilineAddress as InputFieldMultilineAddress,\n      formsV4Submission_universal_d_InputFieldMultilineAddressComponentTypeOptionsOneOf as InputFieldMultilineAddressComponentTypeOptionsOneOf,\n      formsV4Submission_universal_d_Target as Target,\n      formsV4Submission_universal_d_ThankYouMessage as ThankYouMessage,\n      formsV4Submission_universal_d_Redirect as Redirect,\n      formsV4Submission_universal_d_FieldType as FieldType,\n      formsV4Submission_universal_d_InputField as InputField,\n      formsV4Submission_universal_d_InputFieldInputTypeOptionsOneOf as InputFieldInputTypeOptionsOneOf,\n      formsV4Submission_universal_d_DisplayField as DisplayField,\n      formsV4Submission_universal_d_DisplayFieldDisplayFieldTypeOptionsOneOf as DisplayFieldDisplayFieldTypeOptionsOneOf,\n      formsV4Submission_universal_d_DisplayFieldComponentTypeOneOf as DisplayFieldComponentTypeOneOf,\n      formsV4Submission_universal_d_DisplayFieldType as DisplayFieldType,\n      formsV4Submission_universal_d_RichContentOptions as RichContentOptions,\n      formsV4Submission_universal_d_PageNavigationOptions as PageNavigationOptions,\n      formsV4Submission_universal_d_Header as Header,\n      formsV4Submission_universal_d_RichText as RichText,\n      formsV4Submission_universal_d_SubmitButton as SubmitButton,\n      formsV4Submission_universal_d_SubmitButtonSubmitActionOneOf as SubmitButtonSubmitActionOneOf,\n      formsV4Submission_universal_d_Step as Step,\n      formsV4Submission_universal_d_FormLayout as FormLayout,\n      formsV4Submission_universal_d_BreakPoint as BreakPoint,\n      formsV4Submission_universal_d_ItemLayout as ItemLayout,\n      formsV4Submission_universal_d_ItemLayoutItemOneOf as ItemLayoutItemOneOf,\n      formsV4Submission_universal_d_Group as Group,\n      formsV4Submission_universal_d_Margin as Margin,\n      formsV4Submission_universal_d_Section as Section,\n      formsV4Submission_universal_d_FormRule as FormRule,\n      formsV4Submission_universal_d_OverrideEntityType as OverrideEntityType,\n      formsV4Submission_universal_d_FormOverride as FormOverride,\n      formsV4Submission_universal_d_FormProperties as FormProperties,\n      formsV4Submission_universal_d_Kind as Kind,\n      formsV4Submission_universal_d_PostSubmissionTriggers as PostSubmissionTriggers,\n      formsV4Submission_universal_d_UpsertContact as UpsertContact,\n      formsV4Submission_universal_d_NestedForm as NestedForm,\n      formsV4Submission_universal_d_LimitationRule as LimitationRule,\n      formsV4Submission_universal_d_SpamFilterProtectionLevel as SpamFilterProtectionLevel,\n      formsV4Submission_universal_d_RequiredIndicatorProperties as RequiredIndicatorProperties,\n      formsV4Submission_universal_d_SubmitSettings as SubmitSettings,\n      formsV4Submission_universal_d_SubmitSettingsSubmitSuccessActionOptionsOneOf as SubmitSettingsSubmitSuccessActionOptionsOneOf,\n      formsV4Submission_universal_d_UrlTargetEnumTarget as UrlTargetEnumTarget,\n      formsV4Submission_universal_d_SubmitSuccessAction as SubmitSuccessAction,\n      formsV4Submission_universal_d_ThankYouMessageOptions as ThankYouMessageOptions,\n      formsV4Submission_universal_d_RedirectOptions as RedirectOptions,\n      formsV4Submission_universal_d_FieldGroup as FieldGroup,\n      formsV4Submission_universal_d_CreateCheckoutFromSubmissionResponse as CreateCheckoutFromSubmissionResponse,\n      formsV4Submission_universal_d_Checkout as Checkout,\n      formsV4Submission_universal_d_IsFormSubmittableRequest as IsFormSubmittableRequest,\n      formsV4Submission_universal_d_IsFormSubmittableResponse as IsFormSubmittableResponse,\n      formsV4Submission_universal_d_DomainEvent as DomainEvent,\n      formsV4Submission_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      formsV4Submission_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      formsV4Submission_universal_d_RestoreInfo as RestoreInfo,\n      formsV4Submission_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      formsV4Submission_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      formsV4Submission_universal_d_ActionEvent as ActionEvent,\n      formsV4Submission_universal_d_Empty as Empty,\n      formsV4Submission_universal_d_MessageEnvelope as MessageEnvelope,\n      formsV4Submission_universal_d_IdentificationData as IdentificationData,\n      formsV4Submission_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      formsV4Submission_universal_d_WebhookIdentityType as WebhookIdentityType,\n      formsV4Submission_universal_d_CreateSubmissionRequest as CreateSubmissionRequest,\n      formsV4Submission_universal_d_CreateSubmissionResponse as CreateSubmissionResponse,\n      formsV4Submission_universal_d_SubmissionValidationErrorsDetails as SubmissionValidationErrorsDetails,\n      formsV4Submission_universal_d_ValidationError as ValidationError,\n      formsV4Submission_universal_d_ErrorType as ErrorType,\n      formsV4Submission_universal_d_CreateSubmissionBySubmitterRequest as CreateSubmissionBySubmitterRequest,\n      formsV4Submission_universal_d_CreateSubmissionBySubmitterResponse as CreateSubmissionBySubmitterResponse,\n      formsV4Submission_universal_d_BulkCreateSubmissionBySubmitterRequest as BulkCreateSubmissionBySubmitterRequest,\n      formsV4Submission_universal_d_BulkCreateSubmissionBySubmitterData as BulkCreateSubmissionBySubmitterData,\n      formsV4Submission_universal_d_BulkCreateSubmissionBySubmitterResponse as BulkCreateSubmissionBySubmitterResponse,\n      formsV4Submission_universal_d_BulkSubmissionResult as BulkSubmissionResult,\n      formsV4Submission_universal_d_ItemMetadata as ItemMetadata,\n      formsV4Submission_universal_d_ApplicationError as ApplicationError,\n      formsV4Submission_universal_d_BulkActionMetadata as BulkActionMetadata,\n      formsV4Submission_universal_d_GetSubmissionRequest as GetSubmissionRequest,\n      formsV4Submission_universal_d_GetSubmissionResponse as GetSubmissionResponse,\n      formsV4Submission_universal_d_GetSubmissionByCheckoutIdRequest as GetSubmissionByCheckoutIdRequest,\n      formsV4Submission_universal_d_GetSubmissionByCheckoutIdResponse as GetSubmissionByCheckoutIdResponse,\n      formsV4Submission_universal_d_UpdateSubmissionRequest as UpdateSubmissionRequest,\n      formsV4Submission_universal_d_UpdateSubmissionResponse as UpdateSubmissionResponse,\n      formsV4Submission_universal_d_ConfirmSubmissionRequest as ConfirmSubmissionRequest,\n      formsV4Submission_universal_d_ConfirmSubmissionResponse as ConfirmSubmissionResponse,\n      formsV4Submission_universal_d_DeleteSubmissionRequest as DeleteSubmissionRequest,\n      formsV4Submission_universal_d_DeleteSubmissionResponse as DeleteSubmissionResponse,\n      formsV4Submission_universal_d_BulkDeleteSubmissionRequest as BulkDeleteSubmissionRequest,\n      formsV4Submission_universal_d_BulkDeleteSubmissionResponse as BulkDeleteSubmissionResponse,\n      formsV4Submission_universal_d_BulkDeleteSubmissionResult as BulkDeleteSubmissionResult,\n      formsV4Submission_universal_d_RestoreSubmissionFromTrashBinRequest as RestoreSubmissionFromTrashBinRequest,\n      formsV4Submission_universal_d_RestoreSubmissionFromTrashBinResponse as RestoreSubmissionFromTrashBinResponse,\n      formsV4Submission_universal_d_RemoveSubmissionFromTrashBinRequest as RemoveSubmissionFromTrashBinRequest,\n      formsV4Submission_universal_d_RemoveSubmissionFromTrashBinResponse as RemoveSubmissionFromTrashBinResponse,\n      formsV4Submission_universal_d_BulkRemoveSubmissionFromTrashBinRequest as BulkRemoveSubmissionFromTrashBinRequest,\n      formsV4Submission_universal_d_BulkRemoveSubmissionFromTrashBinResponse as BulkRemoveSubmissionFromTrashBinResponse,\n      formsV4Submission_universal_d_BulkRemoveSubmissionFromTrashBinResult as BulkRemoveSubmissionFromTrashBinResult,\n      formsV4Submission_universal_d_ListDeletedSubmissionsRequest as ListDeletedSubmissionsRequest,\n      formsV4Submission_universal_d_CursorPaging as CursorPaging,\n      formsV4Submission_universal_d_ListDeletedSubmissionsResponse as ListDeletedSubmissionsResponse,\n      formsV4Submission_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      formsV4Submission_universal_d_Cursors as Cursors,\n      formsV4Submission_universal_d_GetDeletedSubmissionRequest as GetDeletedSubmissionRequest,\n      formsV4Submission_universal_d_GetDeletedSubmissionResponse as GetDeletedSubmissionResponse,\n      formsV4Submission_universal_d_QuerySubmissionRequest as QuerySubmissionRequest,\n      formsV4Submission_universal_d_CursorQuery as CursorQuery,\n      formsV4Submission_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      formsV4Submission_universal_d_Sorting as Sorting,\n      formsV4Submission_universal_d_SortOrder as SortOrder,\n      formsV4Submission_universal_d_QuerySubmissionResponse as QuerySubmissionResponse,\n      formsV4Submission_universal_d_SearchSubmissionsByNamespaceRequest as SearchSubmissionsByNamespaceRequest,\n      formsV4Submission_universal_d_CursorSearch as CursorSearch,\n      formsV4Submission_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      formsV4Submission_universal_d_SearchDetails as SearchDetails,\n      formsV4Submission_universal_d_Mode as Mode,\n      formsV4Submission_universal_d_SearchSubmissionsByNamespaceResponse as SearchSubmissionsByNamespaceResponse,\n      formsV4Submission_universal_d_SearchSubmissionsByNamespaceForExportRequest as SearchSubmissionsByNamespaceForExportRequest,\n      formsV4Submission_universal_d_SearchSubmissionsByNamespaceForExportResponse as SearchSubmissionsByNamespaceForExportResponse,\n      formsV4Submission_universal_d_QuerySubmissionsByNamespaceRequest as QuerySubmissionsByNamespaceRequest,\n      formsV4Submission_universal_d_QuerySubmissionsByNamespaceResponse as QuerySubmissionsByNamespaceResponse,\n      formsV4Submission_universal_d_QuerySubmissionsByNamespaceForExportRequest as QuerySubmissionsByNamespaceForExportRequest,\n      formsV4Submission_universal_d_QuerySubmissionsByNamespaceForExportResponse as QuerySubmissionsByNamespaceForExportResponse,\n      formsV4Submission_universal_d_CountSubmissionsByFilterRequest as CountSubmissionsByFilterRequest,\n      formsV4Submission_universal_d_CountSubmissionsByFilterResponse as CountSubmissionsByFilterResponse,\n      formsV4Submission_universal_d_FormSubmissionsCount as FormSubmissionsCount,\n      formsV4Submission_universal_d_CountSubmissionsRequest as CountSubmissionsRequest,\n      formsV4Submission_universal_d_CountSubmissionsResponse as CountSubmissionsResponse,\n      formsV4Submission_universal_d_CountDeletedSubmissionsRequest as CountDeletedSubmissionsRequest,\n      formsV4Submission_universal_d_CountDeletedSubmissionsResponse as CountDeletedSubmissionsResponse,\n      formsV4Submission_universal_d_FormDeletedSubmissionsCount as FormDeletedSubmissionsCount,\n      formsV4Submission_universal_d_GetMediaUploadURLRequest as GetMediaUploadURLRequest,\n      formsV4Submission_universal_d_GetMediaUploadURLResponse as GetMediaUploadURLResponse,\n      formsV4Submission_universal_d_BulkMarkSubmissionsAsSeenRequest as BulkMarkSubmissionsAsSeenRequest,\n      formsV4Submission_universal_d_BulkMarkSubmissionsAsSeenResponse as BulkMarkSubmissionsAsSeenResponse,\n      formsV4Submission_universal_d_GetSubmissionDownloadUrlRequest as GetSubmissionDownloadUrlRequest,\n      formsV4Submission_universal_d_GetSubmissionDownloadUrlResponse as GetSubmissionDownloadUrlResponse,\n      formsV4Submission_universal_d_SubmissionDocument as SubmissionDocument,\n      formsV4Submission_universal_d_SubmissionDocumentDocumentOneOf as SubmissionDocumentDocumentOneOf,\n      formsV4Submission_universal_d_Status as Status,\n      formsV4Submission_universal_d_DocumentReady as DocumentReady,\n      formsV4Submission_universal_d_GetFormattedSubmissionRequest as GetFormattedSubmissionRequest,\n      formsV4Submission_universal_d_GetFormattedSubmissionResponse as GetFormattedSubmissionResponse,\n      formsV4Submission_universal_d_FormattedSubmission as FormattedSubmission,\n      formsV4Submission_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      formsV4Submission_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      formsV4Submission_universal_d_UpsertContactFromSubmissionRequest as UpsertContactFromSubmissionRequest,\n      formsV4Submission_universal_d_UpsertContactFromSubmissionResponse as UpsertContactFromSubmissionResponse,\n      formsV4Submission_universal_d_SubmitContactResponse as SubmitContactResponse,\n      formsV4Submission_universal_d_IdentityType as IdentityType,\n      formsV4Submission_universal_d_createSubmission as createSubmission,\n      formsV4Submission_universal_d_CreateSubmissionOptions as CreateSubmissionOptions,\n      formsV4Submission_universal_d_createSubmissionBySubmitter as createSubmissionBySubmitter,\n      formsV4Submission_universal_d_CreateSubmissionBySubmitterOptions as CreateSubmissionBySubmitterOptions,\n      formsV4Submission_universal_d_bulkCreateSubmissionBySubmitter as bulkCreateSubmissionBySubmitter,\n      formsV4Submission_universal_d_BulkCreateSubmissionBySubmitterOptions as BulkCreateSubmissionBySubmitterOptions,\n      formsV4Submission_universal_d_getSubmission as getSubmission,\n      formsV4Submission_universal_d_getSubmissionByCheckoutId as getSubmissionByCheckoutId,\n      formsV4Submission_universal_d_updateSubmission as updateSubmission,\n      formsV4Submission_universal_d_UpdateSubmission as UpdateSubmission,\n      formsV4Submission_universal_d_UpdateSubmissionOptions as UpdateSubmissionOptions,\n      formsV4Submission_universal_d_confirmSubmission as confirmSubmission,\n      formsV4Submission_universal_d_deleteSubmission as deleteSubmission,\n      formsV4Submission_universal_d_DeleteSubmissionOptions as DeleteSubmissionOptions,\n      formsV4Submission_universal_d_bulkDeleteSubmission as bulkDeleteSubmission,\n      formsV4Submission_universal_d_BulkDeleteSubmissionOptions as BulkDeleteSubmissionOptions,\n      formsV4Submission_universal_d_restoreSubmissionFromTrashBin as restoreSubmissionFromTrashBin,\n      formsV4Submission_universal_d_removeSubmissionFromTrashBin as removeSubmissionFromTrashBin,\n      formsV4Submission_universal_d_bulkRemoveSubmissionFromTrashBin as bulkRemoveSubmissionFromTrashBin,\n      formsV4Submission_universal_d_BulkRemoveSubmissionFromTrashBinOptions as BulkRemoveSubmissionFromTrashBinOptions,\n      formsV4Submission_universal_d_listDeletedSubmissions as listDeletedSubmissions,\n      formsV4Submission_universal_d_ListDeletedSubmissionsOptions as ListDeletedSubmissionsOptions,\n      formsV4Submission_universal_d_getDeletedSubmission as getDeletedSubmission,\n      formsV4Submission_universal_d_querySubmission as querySubmission,\n      formsV4Submission_universal_d_QuerySubmissionOptions as QuerySubmissionOptions,\n      formsV4Submission_universal_d_searchSubmissionsByNamespace as searchSubmissionsByNamespace,\n      formsV4Submission_universal_d_searchSubmissionsByNamespaceForExport as searchSubmissionsByNamespaceForExport,\n      formsV4Submission_universal_d_querySubmissionsByNamespace as querySubmissionsByNamespace,\n      formsV4Submission_universal_d_QuerySubmissionsByNamespaceOptions as QuerySubmissionsByNamespaceOptions,\n      formsV4Submission_universal_d_SubmissionsQueryResult as SubmissionsQueryResult,\n      formsV4Submission_universal_d_SubmissionsQueryBuilder as SubmissionsQueryBuilder,\n      formsV4Submission_universal_d_querySubmissionsByNamespaceForExport as querySubmissionsByNamespaceForExport,\n      formsV4Submission_universal_d_countSubmissionsByFilter as countSubmissionsByFilter,\n      formsV4Submission_universal_d_CountSubmissionsByFilterOptions as CountSubmissionsByFilterOptions,\n      formsV4Submission_universal_d_countSubmissions as countSubmissions,\n      formsV4Submission_universal_d_CountSubmissionsOptions as CountSubmissionsOptions,\n      formsV4Submission_universal_d_countDeletedSubmissions as countDeletedSubmissions,\n      formsV4Submission_universal_d_CountDeletedSubmissionsOptions as CountDeletedSubmissionsOptions,\n      formsV4Submission_universal_d_getMediaUploadUrl as getMediaUploadUrl,\n      formsV4Submission_universal_d_bulkMarkSubmissionsAsSeen as bulkMarkSubmissionsAsSeen,\n      formsV4Submission_universal_d_getSubmissionDownloadUrl as getSubmissionDownloadUrl,\n      formsV4Submission_universal_d_getFormattedSubmission as getFormattedSubmission,\n      formsV4Submission_universal_d_updateExtendedFields as updateExtendedFields,\n      formsV4Submission_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n      formsV4Submission_universal_d_upsertContactFromSubmission as upsertContactFromSubmission,\n      formsV4Submission_universal_d_UpsertContactFromSubmissionOptions as UpsertContactFromSubmissionOptions,\n    };\n  }\n  \n  export { formsV4FormSpamSubmissionReport_universal_d as formSpamSubmissionReports, formsV4SpamSubmission_universal_d as spamSubmissions, formsV4Submission_universal_d as submissions, interfacesFormsV4SubmissionExtension_universal_d as submissionsExtensionSpi };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-invoices-v1-invoices.d.ts",
      "content": "declare module \"interfaces-invoices-v1-invoices\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface CreateInvoiceRequest {\n      invoice?: Invoice;\n      /** unique key that help avoid duplications. */\n      idempotencyKey?: string | null;\n  }\n  interface Invoice {\n      /**\n       * Invoice Id\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the invoice is updated.\n       * To prevent conflicting changes,\n       * the existing `revision` must be used when updating an invoice.\n       */\n      revision?: string | null;\n      /** Invoice document number. */\n      documentNumber?: string | null;\n      /** The title of the invoice */\n      title?: string | null;\n      /**\n       * Date and time the invoice was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the invoice was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Details about the app that created the invoice. Will be empty in case the invoice was not created by an application. */\n      origin?: Origin;\n      /** The customer for which this invoice was issued */\n      customer?: Customer;\n      /** The details of the business which issues the document, as defined in the site properties */\n      businessDetails?: BusinessDetails;\n      /** The line items on the invoice, containing products or services and their quantities and prices */\n      lineItems?: LineItem[];\n      /** Labels can be used to tag documents, for example: important, archived etc. */\n      labels?: Labels;\n      /** Additional invoice custom fields. */\n      customFields?: CustomFields;\n      /** Discounts applying to the overall invoice */\n      discounts?: Discounts;\n      /** Invoice installments plan. */\n      installments?: Installments;\n      /** Invoice recurring policy. */\n      recurringPolicy?: RecurringPolicy;\n      /** Recurrence metadata */\n      recurrence?: Recurrence;\n      /** Summaries of totals including tax, discount and fees */\n      totals?: Totals;\n      /** Attachments to the document */\n      attachments?: Attachments;\n      /** regional properties pertaining to the template or financial document. The defaults are from the site properties */\n      regionalProperties?: RegionalProperties;\n      /**\n       * Invoice status\n       * @readonly\n       */\n      status?: InvoiceStatus;\n      /**\n       * Date and time the invoice was last seen.\n       * @readonly\n       */\n      lastSeenDate?: Date;\n      /**\n       * Date and time the invoice was sent.\n       * @readonly\n       */\n      lastSentDate?: Date;\n      /**\n       * Date the invoice was issued, formatted as `\"YYYY-MM-DD\"`\n       *\n       * Example: `\"2021-03-15\"` for March 15, 2021.\n       * If not provided upon creation, will be set for create time.\n       */\n      issueDate?: string | null;\n      /**\n       * Due date the of the invoice, formatted as `\"YYYY-MM-DD\"`\n       * Must be greater or equal to the issueDate parameter.\n       * Example: `\"2021-03-15\"` for March 15, 2021.\n       * If not provided upon creation, will be set according to settings policy\n       */\n      dueDate?: string | null;\n      /** Currency code in [ISO-4217 alphabetic](https://www.iso.org/iso-4217-currency-codes.html) format. */\n      currency?: string | null;\n      /** Template Id, optional identifier of the template associated to this invoice. */\n      templateId?: string | null;\n      /** Tax definitions used in this invoice */\n      taxDefinitions?: TaxDefinitions;\n      /** Fee definitions used in this invoice */\n      feeDefinitions?: FeeDefinitions;\n      /** Line item options */\n      lineItemsSettings?: LineItemsSettings;\n      /** Totals display options */\n      totalsSettings?: TotalsSettings;\n      /** Generated documents for this invoice */\n      generatedDocuments?: GeneratedDocuments;\n      /** Permitted actions for this invoice */\n      permittedActions?: Action[];\n      /** Payment provider order id */\n      paymentOrderId?: string | null;\n      /** Invoice layout settings */\n      layout?: InvoiceLayout;\n  }\n  interface Origin {\n      /**\n       * App ID, if the invoice was created by an app.\n       * @readonly\n       */\n      appId?: string | null;\n      /**\n       * Indicates if this invoice can be updated via /updateInvoice endpoint\n       * Only caller with the same wixAppId as the current invoice can change this value\n       * Default is set to 'True'\n       */\n      allowEditByOthers?: boolean | null;\n      /** External reference for this invoice. For example, an order id if the invoice created for some order. */\n      externalId?: string | null;\n      additionalInfo?: Record<string, string>;\n  }\n  interface Customer {\n      /** Contact Id. */\n      contactId?: string;\n      /** Contact's email. */\n      email?: string | null;\n      /**\n       * todo: should we have formatted\n       * Contact's first name.\n       */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /** Contact's title. e.g. Mr. Miss, Dr., San etc' */\n      title?: string | null;\n      /** Contact's phone */\n      phone?: string | null;\n      /** Government id for personal/corporate (Vat ID) */\n      vatId?: string | null;\n      /** Contact's company name. */\n      companyName?: string | null;\n      /** Contact's billing address. */\n      billingAddress?: Address;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface BusinessDetails {\n      /** The business email */\n      email?: string | null;\n      /** The business phone */\n      phone?: string | null;\n      /** The business fax */\n      fax?: string | null;\n      /** The business logo */\n      logo?: string;\n      /** The business name */\n      companyName?: string | null;\n      /** The business address */\n      address?: Address;\n  }\n  interface LineItem {\n      /** Line item id */\n      _id?: string | null;\n      /** Line item name */\n      name?: string;\n      /** Line item description */\n      description?: string | null;\n      /** Picture of line item */\n      picture?: string;\n      /** Quantity */\n      quantity?: Quantity;\n      /** Line item price before taxes */\n      price?: string | null;\n      /** Line item taxes */\n      taxes?: TaxItems;\n      /** The source of the line item */\n      appId?: string | null;\n      /** The line-item level metadata. */\n      metadata?: LineItemMetadata;\n      /** external reference Id for this line item */\n      externalId?: string | null;\n      /**\n       * Total price of this line items, price * quantity.\n       * @readonly\n       */\n      total?: string | null;\n      /** Discounts applying to this line item */\n      discounts?: Discounts;\n      /** Additional fees for this line item */\n      additionalFees?: Fees;\n  }\n  interface Quantity {\n      /** Quantity unit */\n      unit?: string | null;\n      /**\n       * TODO: make decision about range, according to price\n       * Quantity amount\n       */\n      amount?: string | null;\n  }\n  interface TaxItems {\n      /** Tax items */\n      items?: TaxItem[];\n      /**\n       * Total amount of the calculated taxes\n       * @readonly\n       */\n      taxTotalAmount?: string | null;\n  }\n  interface TaxItem {\n      /** Tax code */\n      code?: string;\n      /** The amount on which tax is calculated. If not provided, the system will calculate it */\n      calculatedAmount?: string | null;\n  }\n  interface LineItemMetadata {\n      metadata?: Record<string, string>;\n  }\n  interface Discounts {\n      /** List of discounts. */\n      items?: Discount[];\n  }\n  interface Discount extends DiscountValueOneOf {\n      fixedAmount?: string;\n      percentage?: string;\n      /** Discount name */\n      name?: string | null;\n  }\n  /** @oneof */\n  interface DiscountValueOneOf {\n      fixedAmount?: string;\n      percentage?: string;\n  }\n  interface Fees {\n      /** Fee items */\n      items?: Fee[];\n  }\n  interface Fee {\n      /** Fee name */\n      code?: string;\n      /** Fee amount */\n      amount?: string | null;\n      /** Taxes on additional fees */\n      taxes?: TaxItems;\n  }\n  interface Labels {\n      /** List of labels. */\n      items?: string[];\n  }\n  interface CustomFields {\n      /**\n       * Invoice's custom fields, where each key is the field key.\n       * This includes fields managed by Wix, by third party apps, and by the site.\n       */\n      fields?: CustomFieldMetadata;\n      /**\n       * Values that are applied to the custom fields. The path to the field consists of `field_name` or `namespace.field_name`\n       * for a non-default namespace.\n       */\n      values?: Record<string, any> | null;\n  }\n  interface CustomFieldMetadata {\n      fields?: CustomFieldInfo[];\n  }\n  interface CustomFieldInfo {\n      /**\n       * Human-readable name.\n       * Shown in the Wix UI and on quotes and invoices.\n       */\n      displayName?: string | null;\n      /** Field namespace. Field keys must be unique within a given namespace. */\n      namespace?: string | null;\n      /** Field placement or logical grouping in the quote or invoice. */\n      placement?: CustomFieldPlacement;\n      /** Type of data the field holds. */\n      fieldType?: CustomFieldType;\n      /** Type of data the field holds. */\n      sensitivity?: ValueSensitivity;\n  }\n  enum Location {\n      UNKNOWN_CUSTOM_FIELD_PLACEMENT = \"UNKNOWN_CUSTOM_FIELD_PLACEMENT\",\n      BUSINESS_DETAILS = \"BUSINESS_DETAILS\",\n      CUSTOMER_DETAILS = \"CUSTOMER_DETAILS\",\n      DOCUMENT = \"DOCUMENT\",\n      FOOTER = \"FOOTER\",\n      OTHER = \"OTHER\"\n  }\n  /** Placement values for the custom field. */\n  interface CustomFieldPlacement {\n      location?: Location;\n  }\n  enum CustomFieldType {\n      UNKNOWN_CUSTOM_FIELD_TYPE = \"UNKNOWN_CUSTOM_FIELD_TYPE\",\n      STRING = \"STRING\",\n      DATE = \"DATE\",\n      BOOLEAN = \"BOOLEAN\",\n      NUMBER = \"NUMBER\",\n      RICH_CONTENT = \"RICH_CONTENT\"\n  }\n  enum ValueSensitivity {\n      UNKNOWN = \"UNKNOWN\",\n      PII = \"PII\"\n  }\n  interface Installments {\n      /** Installments plan. */\n      plan?: Installment[];\n      /** Indicate if the first installment is a deposit. */\n      deposit?: boolean | null;\n  }\n  interface Installment extends InstallmentValueOneOf {\n      fixAmount?: string;\n      percentage?: string;\n      /** Installment id, used mainly by the line item to indicate which installments are applicable to it */\n      _id?: string | null;\n      /** Index of the installment. */\n      index?: number;\n      /** Name of the installment, for example: \"deposit\" */\n      name?: string | null;\n      /**\n       * Due date the of the installment, formatted as `\"YYYY-MM-DD\"`\n       *\n       * Example: `\"2021-03-15\"` for March 15, 2021.\n       */\n      dueDate?: string | null;\n      /** List of line items ids this installment applied to. */\n      lineItemIds?: string[];\n      /** Total amount of the installments. */\n      totalAmount?: string | null;\n  }\n  /** @oneof */\n  interface InstallmentValueOneOf {\n      fixAmount?: string;\n      percentage?: string;\n  }\n  interface RecurringPolicy {\n      period?: Period;\n      repeatLimit?: number;\n  }\n  enum TimeUnit {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface Period {\n      repeatsEvery?: number;\n      unit?: TimeUnit;\n  }\n  interface Recurrence {\n      /** Invoice Id that defines the recurring policy. */\n      originInvoiceId?: string;\n      /** Sequence in the recurring series */\n      recurrenceSequence?: number;\n  }\n  interface Totals {\n      /** Sum of all line items before taxes, fees, and discounts */\n      subtotal?: string | null;\n      /**\n       * The type of totals. Default is COMPUTED\n       * @readonly\n       */\n      type?: TotalType;\n      /** Discounted totals */\n      discounts?: DiscountedTotals;\n      /** Sum total of all discount_total in the discounts array */\n      discountTotal?: string | null;\n      /** Taxed totals */\n      taxes?: TaxedTotals;\n      /**\n       * subtotal of all the items on the invoice that receive this tax.\n       * taxes are equal if all fields are equal. (name, code, rate and taxableAmount)\n       */\n      totalTax?: string | null;\n      /** Additional fees */\n      additionalFees?: FeesTotals;\n      /** Sum total of all additional fees */\n      additionalFeesTotal?: string | null;\n      /** Subtotal, minus discounts, plus taxes */\n      grandTotal?: string | null;\n      /**\n       * Invoice balance, calculated as invoice total minus gift card minus amount paid\n       * @readonly\n       */\n      balance?: string | null;\n  }\n  /** default value when not provided is COMPUTED */\n  enum TotalType {\n      UNKNOWN_TOTAL_TYPE = \"UNKNOWN_TOTAL_TYPE\",\n      COMPUTED = \"COMPUTED\",\n      MANUAL = \"MANUAL\"\n  }\n  interface DiscountedTotals {\n      /** Array of each unique discount and its amounts */\n      items?: DiscountedTotal[];\n  }\n  interface DiscountedTotal {\n      /** Discount */\n      discount?: Discount;\n      /** Calculated total discount that got applied to the applied_to_amount according to this discount type (fixed|percentage). */\n      appliedDiscount?: string | null;\n  }\n  interface TaxedTotals {\n      /** Array of each unique deposit and its amounts */\n      items?: TaxedTotal[];\n  }\n  interface TaxedTotal {\n      /** Tax item */\n      tax?: TaxItem;\n      /** Calculated total tax that got applied to the applied_to_amount */\n      appliedTax?: string | null;\n      /** subtotal of all the items on the invoice that receive this tax */\n      appliedToAmount?: string | null;\n  }\n  interface FeesTotals {\n      /** Array of each fee and its amounts */\n      items?: FeesTotal[];\n  }\n  interface FeesTotal {\n      /** Fee */\n      fee?: Fee;\n      /** Calculated total fee according to this fee. */\n      appliedFee?: string | null;\n  }\n  interface Attachments {\n      /** List of attached items */\n      items?: MediaItem[];\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      image?: string;\n      document?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      image?: string;\n      document?: string;\n  }\n  /** Defaults are taken from site-properties */\n  interface RegionalProperties {\n      /** The default language of the site. */\n      languageCode?: string | null;\n      /** The locale determines the default format of numbers, dates and times */\n      locale?: Locale;\n      /** The time zone determines the default format of dates and times */\n      timeZone?: string | null;\n  }\n  interface Locale {\n      languageCode?: string;\n      country?: string;\n  }\n  enum InvoiceStatus {\n      UNKNOWN_INVOICE_STATUS = \"UNKNOWN_INVOICE_STATUS\",\n      DRAFT = \"DRAFT\",\n      PUBLISHED = \"PUBLISHED\",\n      OVERDUE = \"OVERDUE\",\n      IN_PROGRESS = \"IN_PROGRESS\",\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      PAID = \"PAID\",\n      VOIDED = \"VOIDED\",\n      REFUNDED = \"REFUNDED\"\n  }\n  interface TaxDefinitions {\n      /** Tax items */\n      definitions?: TaxDefinition[];\n  }\n  interface TaxDefinition {\n      /** Tax name */\n      name?: string | null;\n      /** Tax code */\n      code?: string | null;\n      /**\n       * The rate is divided by 100 to get the percentage value.\n       * For example: 15.25% is be represented by the rate value 1525.\n       */\n      rate?: string | null;\n  }\n  interface FeeDefinitions {\n      /** Fee items */\n      definitions?: FeeDefinition[];\n  }\n  interface FeeDefinition {\n      /** Fee name */\n      code?: string;\n      /** Fee name */\n      name?: string;\n      /** Optional fixed amount */\n      fixedRate?: string | null;\n  }\n  interface LineItemsSettings {\n      lineItemsOptions?: LineItemsOption[];\n  }\n  enum LineItemsOption {\n      UNDEFINED_LINE_ITEMS_OPTION = \"UNDEFINED_LINE_ITEMS_OPTION\",\n      SHOW_TAX = \"SHOW_TAX\"\n  }\n  interface TotalsSettings {\n      totalsOptions?: TotalsOption[];\n  }\n  enum TotalsOption {\n      UNDEFINED_TOTALS_OPTION = \"UNDEFINED_TOTALS_OPTION\",\n      BREAKDOWN_SUBTOTALS_PER_TAX = \"BREAKDOWN_SUBTOTALS_PER_TAX\"\n  }\n  interface GeneratedDocuments {\n      /** Default document */\n      defaultDocument?: GeneratedDocument;\n      /** Document in other formats */\n      otherFormatDocuments?: GeneratedDocument[];\n  }\n  interface GeneratedDocument {\n      /** Reference to the generated document */\n      document?: string;\n      /** Optional name of the generator */\n      generatorName?: string | null;\n  }\n  enum Action {\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      VIEW = \"VIEW\",\n      UPDATE = \"UPDATE\",\n      DELETE = \"DELETE\",\n      PUBLISH = \"PUBLISH\",\n      RECORD_PAYMENT = \"RECORD_PAYMENT\",\n      CANCEL_PAYMENT = \"CANCEL_PAYMENT\",\n      VOID = \"VOID\",\n      REFUND = \"REFUND\",\n      CREATE_ORDER = \"CREATE_ORDER\"\n  }\n  interface InvoiceLayout {\n      /** Address placement hint */\n      addressHintPlacement?: AddressHintPlacement;\n  }\n  enum AddressHintPlacement {\n      UNKNOWN_PLACEMENT = \"UNKNOWN_PLACEMENT\",\n      REPLACE = \"REPLACE\",\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\"\n  }\n  interface CreateInvoiceResponse {\n      invoiceId?: string;\n      revision?: string | null;\n  }\n  interface UpdateInvoiceRequest {\n  }\n  interface UpdateInvoiceResponse {\n  }\n  interface DeleteInvoiceRequest {\n  }\n  interface DeleteInvoiceResponse {\n  }\n  interface GenerateInvoiceRequest {\n  }\n  interface GenerateInvoiceResponse {\n  }\n  interface InvoicesConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CreateInvoiceOptions {\n      invoice?: Invoice;\n      /** unique key that help avoid duplications. */\n      idempotencyKey?: string | null;\n  }\n  \n  export { Action, Address, AddressHintPlacement, AddressLocation, AddressStreetOneOf, Attachments, BusinessDetails, BusinessError, Context, CreateInvoiceOptions, CreateInvoiceRequest, CreateInvoiceResponse, CustomFieldInfo, CustomFieldMetadata, CustomFieldPlacement, CustomFieldType, CustomFields, Customer, DeleteInvoiceRequest, DeleteInvoiceResponse, Discount, DiscountValueOneOf, DiscountedTotal, DiscountedTotals, Discounts, Fee, FeeDefinition, FeeDefinitions, Fees, FeesTotal, FeesTotals, GenerateInvoiceRequest, GenerateInvoiceResponse, GeneratedDocument, GeneratedDocuments, IdentificationData, IdentificationDataIdOneOf, IdentityType, Installment, InstallmentValueOneOf, Installments, Invoice, InvoiceLayout, InvoiceStatus, InvoicesConfig, Labels, LineItem, LineItemMetadata, LineItemsOption, LineItemsSettings, Locale, Location, MediaItem, MediaItemMediaOneOf, Origin, Period, Quantity, Recurrence, RecurringPolicy, RegionalProperties, StreetAddress, Subdivision, SubdivisionType, TaxDefinition, TaxDefinitions, TaxItem, TaxItems, TaxedTotal, TaxedTotals, TimeUnit, TotalType, Totals, TotalsOption, TotalsSettings, UpdateInvoiceRequest, UpdateInvoiceResponse, ValueSensitivity };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-restaurants.v2.d.ts",
      "content": "declare module \"wix-restaurants.v2\" {\n  interface ModifierGroup$1 {\n      /**\n       * Modifier group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the modifier group is updated. To prevent conflicting changes, the current revision must be passed when updating the modifier group. Ignored when creating a modifier group.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the modifier group was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the modifier group was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Modifier group name. */\n      name?: string | null;\n      /** Group of item modifiers. */\n      modifiers?: Modifier$1[];\n      /** Modifier group details. */\n      rule?: Rule$1;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$9;\n  }\n  interface Modifier$1 {\n      /** Item modifier ID. */\n      _id?: string;\n      /**\n       * Deprecated, modifier additional charge. Can be 0 to represent free.\n       * @internal\n       * @deprecated Deprecated, modifier additional charge. Can be 0 to represent free.\n       * @replacedBy AdditionalChargeInfo.additional_charge\n       * @targetRemovalDate 2024-06-30\n       */\n      additionalCharge?: string | null;\n      /**\n       * Whether the item modifier is pre-selected.\n       * Default: `false`.\n       */\n      preSelected?: boolean | null;\n      /** Item modifier price details. */\n      additionalChargeInfo?: AdditionalChargeInfo;\n  }\n  interface AdditionalChargeInfo {\n      /** Additional charge for the item modifier. A value of `0` means the item modifier is free. */\n      additionalCharge?: string | null;\n      /**\n       * Formatted additional charge.\n       * @internal\n       * @readonly\n       */\n      formattedAdditionalCharge?: string | null;\n  }\n  interface Rule$1 {\n      /** Whether the items from the modifier group must be selected. */\n      required?: boolean | null;\n      /**\n       * Minimum number of item modifiers a site visitor must select. The value must be lower or equal to the available item modifiers in the group.\n       * Default: `0`.\n       */\n      minSelections?: number | null;\n      /** Minimum number of item modifiers a site visitor must select. Must be greater than or equal to the value of `minSelections`. */\n      maxSelections?: number | null;\n  }\n  interface ExtendedFields$9 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache$9 extends InvalidateCacheGetByOneOf$9 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$9;\n      /** Invalidate by page id */\n      page?: Page$9;\n      /** Invalidate by URI path */\n      uri?: URI$9;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$9;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$9 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$9;\n      /** Invalidate by page id */\n      page?: Page$9;\n      /** Invalidate by URI path */\n      uri?: URI$9;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$9;\n  }\n  interface App$9 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$9 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$9 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$9 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateModifierGroupRequest {\n      /** Modifier group details. */\n      modifierGroup: ModifierGroup$1;\n  }\n  interface CreateModifierGroupResponse {\n      /** Modifier group. */\n      modifierGroup?: ModifierGroup$1;\n  }\n  interface GetModifierGroupRequest {\n      /** Modifier group ID. */\n      modifierGroupId: string;\n  }\n  interface GetModifierGroupResponse {\n      /** Modifier group. */\n      modifierGroup?: ModifierGroup$1;\n  }\n  interface ListModifierGroupRequest {\n      /** Modifier group IDs. */\n      modifierGroupIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$a;\n  }\n  interface CursorPaging$a {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListModifierGroupResponse {\n      /** Retrieved modifier groups. */\n      modifierGroups?: ModifierGroup$1[];\n      /** The metadata of the paginated results. */\n      metadata?: CursorPagingMetadata$a;\n  }\n  interface CursorPagingMetadata$a {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$a;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$a {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryModifierGroupsRequest {\n      /** Query options. */\n      query?: CursorQuery$b;\n  }\n  interface CursorQuery$b extends CursorQueryPagingMethodOneOf$b {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$a;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$b[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$b {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$a;\n  }\n  interface Sorting$b {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$b;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$b {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryModifierGroupsResponse {\n      /** Retrieved modifier groups. */\n      modifierGroups?: ModifierGroup$1[];\n      /** Metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$a;\n  }\n  interface CountModifierGroupsRequest {\n      /** Filter for counting modifier groups. */\n      filter?: Record<string, any> | null;\n  }\n  interface CountModifierGroupsResponse {\n      /** Counted modifier groups. */\n      count?: number;\n  }\n  interface UpdateModifierGroupRequest {\n      /** Modifier group to update. */\n      modifierGroup: ModifierGroup$1;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateModifierGroupResponse {\n      /** Updated modifier group. */\n      modifierGroup?: ModifierGroup$1;\n  }\n  interface DeleteModifierGroupRequest {\n      /** Modifier group ID. */\n      modifierGroupId: string;\n  }\n  interface DeleteModifierGroupResponse {\n  }\n  interface BulkCreateModifierGroupsRequest {\n      /** Modifier groups details. */\n      modifierGroups: ModifierGroup$1[];\n      /** Whether to receive the created modifier groups in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateModifierGroupsResponse {\n      /** Information about the created modifier groups. */\n      results?: BulkCreateModifierGroupsResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$9;\n  }\n  interface BulkCreateModifierGroupsResult {\n      /** Metadata for group modifier creation. */\n      itemMetadata?: ItemMetadata$9;\n      /** Created modifier group. */\n      modifierGroup?: ModifierGroup$1;\n  }\n  interface ItemMetadata$9 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$9;\n  }\n  interface ApplicationError$9 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$9 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateModifierGroupsRequest {\n      /** Modifier groups to update. */\n      modifierGroups: MaskedModifierGroup[];\n      /** Whether to receive the updated modifier groups in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedModifierGroup {\n      /** Modifier group to update. */\n      modifierGroup?: ModifierGroup$1;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface BulkUpdateModifierGroupsResponse {\n      /** Information about the updated modifier groups. */\n      results?: BulkUpdateModifierGroupsResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$9;\n  }\n  interface BulkUpdateModifierGroupsResult {\n      /** Metadata for group modifier update. */\n      itemMetadata?: ItemMetadata$9;\n      /** Updated modifier group. Only returned if `returnEntity` is set to `true`. */\n      modifierGroup?: ModifierGroup$1;\n  }\n  interface BulkDeleteModifierGroupsRequest {\n      /** Modifier Group IDs. */\n      ids: string[];\n  }\n  interface BulkDeleteModifierGroupsResponse {\n      /** Information about the deleted modifier group. */\n      results?: BulkDeleteModifierGroupsResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$9;\n  }\n  interface BulkDeleteModifierGroupsResult {\n      /** Metadata for group modifier deletion. */\n      itemMetadata?: ItemMetadata$9;\n  }\n  interface CloneModifierGroupsRequest {\n      /** The MetaSiteId to clone from. */\n      metaSiteId: string;\n  }\n  interface CloneModifierGroupsResponse {\n  }\n  interface DomainEvent$c extends DomainEventBodyOneOf$c {\n      createdEvent?: EntityCreatedEvent$c;\n      updatedEvent?: EntityUpdatedEvent$c;\n      deletedEvent?: EntityDeletedEvent$c;\n      actionEvent?: ActionEvent$c;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$c {\n      createdEvent?: EntityCreatedEvent$c;\n      updatedEvent?: EntityUpdatedEvent$c;\n      deletedEvent?: EntityDeletedEvent$c;\n      actionEvent?: ActionEvent$c;\n  }\n  interface EntityCreatedEvent$c {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$c;\n  }\n  interface RestoreInfo$c {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$c {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$c {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$c {\n      bodyAsJson?: string;\n  }\n  interface Empty$b {\n  }\n  interface MessageEnvelope$c {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$c;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$c extends IdentificationDataIdOneOf$c {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$c;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$c {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$c {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * > **Note:** The Item Modifier Groups API only works with the Wix Restaurants Menus (New) app. Make sure you downloaded this app from [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates a modifier group.\n   *\n   * To create multiple modifier groups at once, use [Bulk Create Modifiers](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item-modifier-groups/bulk-create-modifier-groups).\n   * @param modifierGroup - Modifier group details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField modifierGroup\n   * @requiredField modifierGroup.name\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_CREATE\n   * @adminMethod\n   * @returns Modifier group.\n   */\n  function createModifierGroup(modifierGroup: ModifierGroup$1): Promise<ModifierGroup$1>;\n  /**\n   * > **Note:** The Item Modifier Groups API only works with the Wix Restaurants Menus (New) app. Make sure you downloaded this app from [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves a modifier group by the ID.\n   * @param modifierGroupId - Modifier group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField modifierGroupId\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_READ\n   * @returns Modifier group.\n   */\n  function getModifierGroup(modifierGroupId: string): Promise<ModifierGroup$1>;\n  /**\n   * > **Note:** The Item Modifier Groups API only works with the Wix Restaurants Menus (New) app. Make sure you downloaded this app from [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves a list of up to 100 modifier groups.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_READ\n   */\n  function listModifierGroups(options?: ListModifierGroupsOptions): Promise<ListModifierGroupResponse>;\n  interface ListModifierGroupsOptions {\n      /** Modifier group IDs. */\n      modifierGroupIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$a;\n  }\n  /**\n   * Creates a query to retrieve a list of item modifier groups.\n   *\n   * The `queryModifierGroups()` function builds a query to retrieve a list of item modifier groups and returns a `ModifierGroupsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/item-modifier-groups/modifier-groups-query-builder/find) function.\n   *\n   * You can refine the query by chaining `ModifierGroupsQueryBuilder` functions onto the query. `ModifierGroupsQueryBuilder` functions enable you to filter, sort, and control the results that `queryModifierGroups()` returns.\n   *\n   * `queryModifierGroups()` runs with the following `ModifierGroupsQueryBuilder` defaults, which you can override:\n   *\n   * * [`limit(100)`](/item-modifier-groups/modifier-groups-query-builder/limit)\n   * * [`ascending('entityId')`](/item-modifier-groups/modifier-groups-query-builder/ascending)\n   *\n   * The following `ModifierGroupsQueryBuilder` functions are supported for `queryModifierGroups()`. For a full description of the item modifier group object, see the object returned for the [`items`](/item-modifier-groups/modifier-groups-query-builder/items) property in `ModifierGroupsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_READ\n   */\n  function queryModifierGroups(): ModifierGroupsQueryBuilder;\n  interface QueryCursorResult$b {\n      cursors: Cursors$a;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ModifierGroupsQueryResult extends QueryCursorResult$b {\n      items: ModifierGroup$1[];\n      query: ModifierGroupsQueryBuilder;\n      next: () => Promise<ModifierGroupsQueryResult>;\n      prev: () => Promise<ModifierGroupsQueryResult>;\n  }\n  interface ModifierGroupsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'modifiers.preSelected' | 'rule.required' | 'rule.minSelections' | 'rule.maxSelections', value: any) => ModifierGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'modifiers.preSelected' | 'rule.required' | 'rule.minSelections' | 'rule.maxSelections', value: any) => ModifierGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ModifierGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ModifierGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ModifierGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ModifierGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'name', value: string) => ModifierGroupsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | 'modifiers.id' | 'modifiers.preSelected' | 'rule.required', value: any) => ModifierGroupsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'modifiers' | 'rule', value: boolean) => ModifierGroupsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ModifierGroupsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ModifierGroupsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ModifierGroupsQueryResult>;\n  }\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves the number of modifier groups that match a specified filter.\n   *\n   * If a filter isn't passed in the request, the endpoint returns the count of all modifier groups.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_READ\n   */\n  function countModifierGroups(options?: CountModifierGroupsOptions): Promise<CountModifierGroupsResponse>;\n  interface CountModifierGroupsOptions {\n      /** Filter for counting modifier groups. */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * > **Note:** The Item Modifier Groups API only works with the Wix Restaurants Menus (New) app. Make sure you downloaded this app from [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates a modifier group.\n   *\n   * Each time a modifier group is updated, its revision increments by 1. The existing revision must be included when updating the modifier group. This ensures you're working with the latest modifier group information, and it prevents unintended overwrites.\n   * @param _id - Modifier group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField modifierGroup\n   * @requiredField modifierGroup.revision\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_UPDATE\n   * @adminMethod\n   * @returns Updated modifier group.\n   */\n  function updateModifierGroup(_id: string | null, modifierGroup: UpdateModifierGroup, options?: UpdateModifierGroupOptions): Promise<ModifierGroup$1>;\n  interface UpdateModifierGroup {\n      /**\n       * Modifier group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the modifier group is updated. To prevent conflicting changes, the current revision must be passed when updating the modifier group. Ignored when creating a modifier group.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the modifier group was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the modifier group was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Modifier group name. */\n      name?: string | null;\n      /** Group of item modifiers. */\n      modifiers?: Modifier$1[];\n      /** Modifier group details. */\n      rule?: Rule$1;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$9;\n  }\n  interface UpdateModifierGroupOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * > **Note:** The Item Modifier Groups API only works with the Wix Restaurants Menus (New) app. Make sure you downloaded this app from [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Deletes a modifier group.\n   * @param modifierGroupId - Modifier group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField modifierGroupId\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_DELETE\n   * @adminMethod\n   */\n  function deleteModifierGroup(modifierGroupId: string): Promise<void>;\n  /**\n   * > **Note:** The Item Modifier Groups API only works with the Wix Restaurants Menus (New) app. Make sure you downloaded this app from [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates multiple modifier groups.\n   * @param modifierGroups - Modifier groups details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField modifierGroups\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_CREATE\n   * @adminMethod\n   */\n  function bulkCreateModifierGroups(modifierGroups: ModifierGroup$1[], options?: BulkCreateModifierGroupsOptions): Promise<BulkCreateModifierGroupsResponse>;\n  interface BulkCreateModifierGroupsOptions {\n      /** Whether to receive the created modifier groups in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * > **Note:** The Item Modifier Groups API only works with the Wix Restaurants Menus (New) app. Make sure you downloaded this app from [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates multiple item modifier groups at once. This function supports partial updates.\n   * Each time a modifier group is updated, its revision increments by 1. The existing revision must be included when updating an item modifier group. This ensures you're working with the latest item information, and prevents unintended overwrites.\n   * Up to 100 modifier groups can be returned per request.\n   * @param modifierGroups - Modifier groups to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField modifierGroups\n   * @requiredField modifierGroups.modifierGroup._id\n   * @requiredField modifierGroups.modifierGroup.revision\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateModifierGroups(modifierGroups: MaskedModifierGroup[], options?: BulkUpdateModifierGroupsOptions): Promise<BulkUpdateModifierGroupsResponse>;\n  interface BulkUpdateModifierGroupsOptions {\n      /** Whether to receive the updated modifier groups in the response. */\n      returnEntity?: boolean;\n  }\n  /** @param ids - Modifier Group IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteModifierGroups(ids: string[]): Promise<BulkDeleteModifierGroupsResponse>;\n  /**\n   * Clone modifier groups from a different metasite.\n   * @param metaSiteId - The MetaSiteId to clone from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @permissionId RESTAURANTS.MODIFIER_GROUP_CREATE\n   * @adminMethod\n   */\n  function cloneModifierGroups(metaSiteId: string): Promise<void>;\n  \n  type restaurantsMenusV1ItemModifierGroup_universal_d_AdditionalChargeInfo = AdditionalChargeInfo;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_CreateModifierGroupRequest = CreateModifierGroupRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_CreateModifierGroupResponse = CreateModifierGroupResponse;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_GetModifierGroupRequest = GetModifierGroupRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_GetModifierGroupResponse = GetModifierGroupResponse;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_ListModifierGroupRequest = ListModifierGroupRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_ListModifierGroupResponse = ListModifierGroupResponse;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_QueryModifierGroupsRequest = QueryModifierGroupsRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_QueryModifierGroupsResponse = QueryModifierGroupsResponse;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_CountModifierGroupsRequest = CountModifierGroupsRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_CountModifierGroupsResponse = CountModifierGroupsResponse;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_UpdateModifierGroupRequest = UpdateModifierGroupRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_UpdateModifierGroupResponse = UpdateModifierGroupResponse;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_DeleteModifierGroupRequest = DeleteModifierGroupRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_DeleteModifierGroupResponse = DeleteModifierGroupResponse;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkCreateModifierGroupsRequest = BulkCreateModifierGroupsRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkCreateModifierGroupsResponse = BulkCreateModifierGroupsResponse;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkCreateModifierGroupsResult = BulkCreateModifierGroupsResult;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkUpdateModifierGroupsRequest = BulkUpdateModifierGroupsRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_MaskedModifierGroup = MaskedModifierGroup;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkUpdateModifierGroupsResponse = BulkUpdateModifierGroupsResponse;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkUpdateModifierGroupsResult = BulkUpdateModifierGroupsResult;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkDeleteModifierGroupsRequest = BulkDeleteModifierGroupsRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkDeleteModifierGroupsResponse = BulkDeleteModifierGroupsResponse;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkDeleteModifierGroupsResult = BulkDeleteModifierGroupsResult;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_CloneModifierGroupsRequest = CloneModifierGroupsRequest;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_CloneModifierGroupsResponse = CloneModifierGroupsResponse;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_createModifierGroup: typeof createModifierGroup;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_getModifierGroup: typeof getModifierGroup;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_listModifierGroups: typeof listModifierGroups;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_ListModifierGroupsOptions = ListModifierGroupsOptions;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_queryModifierGroups: typeof queryModifierGroups;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_ModifierGroupsQueryResult = ModifierGroupsQueryResult;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_ModifierGroupsQueryBuilder = ModifierGroupsQueryBuilder;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_countModifierGroups: typeof countModifierGroups;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_CountModifierGroupsOptions = CountModifierGroupsOptions;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_updateModifierGroup: typeof updateModifierGroup;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_UpdateModifierGroup = UpdateModifierGroup;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_UpdateModifierGroupOptions = UpdateModifierGroupOptions;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_deleteModifierGroup: typeof deleteModifierGroup;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_bulkCreateModifierGroups: typeof bulkCreateModifierGroups;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkCreateModifierGroupsOptions = BulkCreateModifierGroupsOptions;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_bulkUpdateModifierGroups: typeof bulkUpdateModifierGroups;\n  type restaurantsMenusV1ItemModifierGroup_universal_d_BulkUpdateModifierGroupsOptions = BulkUpdateModifierGroupsOptions;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_bulkDeleteModifierGroups: typeof bulkDeleteModifierGroups;\n  const restaurantsMenusV1ItemModifierGroup_universal_d_cloneModifierGroups: typeof cloneModifierGroups;\n  namespace restaurantsMenusV1ItemModifierGroup_universal_d {\n    export {\n      ModifierGroup$1 as ModifierGroup,\n      Modifier$1 as Modifier,\n      restaurantsMenusV1ItemModifierGroup_universal_d_AdditionalChargeInfo as AdditionalChargeInfo,\n      Rule$1 as Rule,\n      ExtendedFields$9 as ExtendedFields,\n      InvalidateCache$9 as InvalidateCache,\n      InvalidateCacheGetByOneOf$9 as InvalidateCacheGetByOneOf,\n      App$9 as App,\n      Page$9 as Page,\n      URI$9 as URI,\n      File$9 as File,\n      restaurantsMenusV1ItemModifierGroup_universal_d_CreateModifierGroupRequest as CreateModifierGroupRequest,\n      restaurantsMenusV1ItemModifierGroup_universal_d_CreateModifierGroupResponse as CreateModifierGroupResponse,\n      restaurantsMenusV1ItemModifierGroup_universal_d_GetModifierGroupRequest as GetModifierGroupRequest,\n      restaurantsMenusV1ItemModifierGroup_universal_d_GetModifierGroupResponse as GetModifierGroupResponse,\n      restaurantsMenusV1ItemModifierGroup_universal_d_ListModifierGroupRequest as ListModifierGroupRequest,\n      CursorPaging$a as CursorPaging,\n      restaurantsMenusV1ItemModifierGroup_universal_d_ListModifierGroupResponse as ListModifierGroupResponse,\n      CursorPagingMetadata$a as CursorPagingMetadata,\n      Cursors$a as Cursors,\n      restaurantsMenusV1ItemModifierGroup_universal_d_QueryModifierGroupsRequest as QueryModifierGroupsRequest,\n      CursorQuery$b as CursorQuery,\n      CursorQueryPagingMethodOneOf$b as CursorQueryPagingMethodOneOf,\n      Sorting$b as Sorting,\n      SortOrder$b as SortOrder,\n      restaurantsMenusV1ItemModifierGroup_universal_d_QueryModifierGroupsResponse as QueryModifierGroupsResponse,\n      restaurantsMenusV1ItemModifierGroup_universal_d_CountModifierGroupsRequest as CountModifierGroupsRequest,\n      restaurantsMenusV1ItemModifierGroup_universal_d_CountModifierGroupsResponse as CountModifierGroupsResponse,\n      restaurantsMenusV1ItemModifierGroup_universal_d_UpdateModifierGroupRequest as UpdateModifierGroupRequest,\n      restaurantsMenusV1ItemModifierGroup_universal_d_UpdateModifierGroupResponse as UpdateModifierGroupResponse,\n      restaurantsMenusV1ItemModifierGroup_universal_d_DeleteModifierGroupRequest as DeleteModifierGroupRequest,\n      restaurantsMenusV1ItemModifierGroup_universal_d_DeleteModifierGroupResponse as DeleteModifierGroupResponse,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkCreateModifierGroupsRequest as BulkCreateModifierGroupsRequest,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkCreateModifierGroupsResponse as BulkCreateModifierGroupsResponse,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkCreateModifierGroupsResult as BulkCreateModifierGroupsResult,\n      ItemMetadata$9 as ItemMetadata,\n      ApplicationError$9 as ApplicationError,\n      BulkActionMetadata$9 as BulkActionMetadata,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkUpdateModifierGroupsRequest as BulkUpdateModifierGroupsRequest,\n      restaurantsMenusV1ItemModifierGroup_universal_d_MaskedModifierGroup as MaskedModifierGroup,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkUpdateModifierGroupsResponse as BulkUpdateModifierGroupsResponse,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkUpdateModifierGroupsResult as BulkUpdateModifierGroupsResult,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkDeleteModifierGroupsRequest as BulkDeleteModifierGroupsRequest,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkDeleteModifierGroupsResponse as BulkDeleteModifierGroupsResponse,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkDeleteModifierGroupsResult as BulkDeleteModifierGroupsResult,\n      restaurantsMenusV1ItemModifierGroup_universal_d_CloneModifierGroupsRequest as CloneModifierGroupsRequest,\n      restaurantsMenusV1ItemModifierGroup_universal_d_CloneModifierGroupsResponse as CloneModifierGroupsResponse,\n      DomainEvent$c as DomainEvent,\n      DomainEventBodyOneOf$c as DomainEventBodyOneOf,\n      EntityCreatedEvent$c as EntityCreatedEvent,\n      RestoreInfo$c as RestoreInfo,\n      EntityUpdatedEvent$c as EntityUpdatedEvent,\n      EntityDeletedEvent$c as EntityDeletedEvent,\n      ActionEvent$c as ActionEvent,\n      Empty$b as Empty,\n      MessageEnvelope$c as MessageEnvelope,\n      IdentificationData$c as IdentificationData,\n      IdentificationDataIdOneOf$c as IdentificationDataIdOneOf,\n      WebhookIdentityType$c as WebhookIdentityType,\n      restaurantsMenusV1ItemModifierGroup_universal_d_createModifierGroup as createModifierGroup,\n      restaurantsMenusV1ItemModifierGroup_universal_d_getModifierGroup as getModifierGroup,\n      restaurantsMenusV1ItemModifierGroup_universal_d_listModifierGroups as listModifierGroups,\n      restaurantsMenusV1ItemModifierGroup_universal_d_ListModifierGroupsOptions as ListModifierGroupsOptions,\n      restaurantsMenusV1ItemModifierGroup_universal_d_queryModifierGroups as queryModifierGroups,\n      restaurantsMenusV1ItemModifierGroup_universal_d_ModifierGroupsQueryResult as ModifierGroupsQueryResult,\n      restaurantsMenusV1ItemModifierGroup_universal_d_ModifierGroupsQueryBuilder as ModifierGroupsQueryBuilder,\n      restaurantsMenusV1ItemModifierGroup_universal_d_countModifierGroups as countModifierGroups,\n      restaurantsMenusV1ItemModifierGroup_universal_d_CountModifierGroupsOptions as CountModifierGroupsOptions,\n      restaurantsMenusV1ItemModifierGroup_universal_d_updateModifierGroup as updateModifierGroup,\n      restaurantsMenusV1ItemModifierGroup_universal_d_UpdateModifierGroup as UpdateModifierGroup,\n      restaurantsMenusV1ItemModifierGroup_universal_d_UpdateModifierGroupOptions as UpdateModifierGroupOptions,\n      restaurantsMenusV1ItemModifierGroup_universal_d_deleteModifierGroup as deleteModifierGroup,\n      restaurantsMenusV1ItemModifierGroup_universal_d_bulkCreateModifierGroups as bulkCreateModifierGroups,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkCreateModifierGroupsOptions as BulkCreateModifierGroupsOptions,\n      restaurantsMenusV1ItemModifierGroup_universal_d_bulkUpdateModifierGroups as bulkUpdateModifierGroups,\n      restaurantsMenusV1ItemModifierGroup_universal_d_BulkUpdateModifierGroupsOptions as BulkUpdateModifierGroupsOptions,\n      restaurantsMenusV1ItemModifierGroup_universal_d_bulkDeleteModifierGroups as bulkDeleteModifierGroups,\n      restaurantsMenusV1ItemModifierGroup_universal_d_cloneModifierGroups as cloneModifierGroups,\n    };\n  }\n  \n  interface Section {\n      /**\n       * Section ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current revision must be passed when updating the section. Ignored when creating a section.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the section was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the section was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Section name. */\n      name?: string;\n      /** Section description. */\n      description?: string | null;\n      /** Main section image. */\n      image?: string;\n      /** Additional section images. */\n      additionalImages?: string[];\n      /** Item IDs. */\n      itemIds?: string[];\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$8;\n      /** Whether the section is visible in the menu for site visitors. */\n      visible?: boolean | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      oloMigrationSectionId?: string | null;\n  }\n  interface ExtendedFields$8 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache$8 extends InvalidateCacheGetByOneOf$8 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$8;\n      /** Invalidate by page id */\n      page?: Page$8;\n      /** Invalidate by URI path */\n      uri?: URI$8;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$8;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$8 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$8;\n      /** Invalidate by page id */\n      page?: Page$8;\n      /** Invalidate by URI path */\n      uri?: URI$8;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$8;\n  }\n  interface App$8 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$8 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$8 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$8 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateSectionRequest {\n      /** Section details. */\n      section: Section;\n  }\n  interface CreateSectionResponse {\n      /** Section. */\n      section?: Section;\n  }\n  interface BulkCreateSectionsRequest {\n      /** Sections details. */\n      sections: Section[];\n      /** Whether to receive the created sections in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateSectionsResponse {\n      /** Information about the created sections. */\n      results?: BulkCreateSectionResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$8;\n  }\n  interface BulkCreateSectionResult {\n      /** Metadata for created sections. */\n      itemMetadata?: ItemMetadata$8;\n      /** Created section. Only returned if `returnEntity` is set to `true`. */\n      item?: Section;\n  }\n  interface ItemMetadata$8 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$8;\n  }\n  interface ApplicationError$8 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$8 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetSectionRequest {\n      /** Section ID. */\n      sectionId: string;\n  }\n  interface GetSectionResponse {\n      /** Section. */\n      section?: Section;\n  }\n  interface ListSectionsRequest {\n      /** Section IDs. */\n      sectionIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$9;\n      /** Whether to return only sections that are visible to site visitors. */\n      onlyVisible?: boolean | null;\n  }\n  interface CursorPaging$9 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListSectionsResponse {\n      /** Retrieved sections. */\n      sections?: Section[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$9;\n  }\n  interface CursorPagingMetadata$9 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$9;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$9 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QuerySectionsRequest {\n      /** Query options. */\n      query?: CursorQuery$a;\n  }\n  interface CursorQuery$a extends CursorQueryPagingMethodOneOf$a {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$9;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$a[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$a {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$9;\n  }\n  interface Sorting$a {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$a;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$a {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QuerySectionsResponse {\n      /** Retrieved sections. */\n      sections?: Section[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$9;\n  }\n  interface UpdateSectionRequest {\n      /** Section update. */\n      section: Section;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateSectionResponse {\n      /** Updated section. */\n      section?: Section;\n  }\n  interface BulkUpdateSectionRequest {\n      /** Sections to update. */\n      sections: MaskedSection[];\n      /** Whether to receive the updated sections in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedSection {\n      /** Section update. */\n      section?: Section;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface BulkUpdateSectionResponse {\n      /** Information about the updated sections. */\n      results?: BulkSectionResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$8;\n  }\n  interface BulkSectionResult {\n      /** Whether to receive the updated sections in the response. */\n      sectionMetadata?: ItemMetadata$8;\n      /** Updated section. Only returned if `returnEntity` is set to `true`. */\n      section?: Section;\n  }\n  interface DeleteSectionRequest {\n      /** Section ID. */\n      sectionId: string;\n  }\n  interface DeleteSectionResponse {\n  }\n  interface BulkDeleteSectionsRequest {\n      /** Section IDs. */\n      ids: string[];\n  }\n  interface BulkDeleteSectionsResponse {\n      /** Information about the deleted sections. */\n      results?: BulkDeleteSectionResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$8;\n  }\n  interface BulkDeleteSectionResult {\n      /** Metadata for deleted sections. */\n      itemMetadata?: ItemMetadata$8;\n  }\n  interface CloneSectionsRequest {\n      /** The MetaSiteId to clone from. */\n      metaSiteId: string;\n  }\n  interface CloneSectionsResponse {\n  }\n  interface DomainEvent$b extends DomainEventBodyOneOf$b {\n      createdEvent?: EntityCreatedEvent$b;\n      updatedEvent?: EntityUpdatedEvent$b;\n      deletedEvent?: EntityDeletedEvent$b;\n      actionEvent?: ActionEvent$b;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$b {\n      createdEvent?: EntityCreatedEvent$b;\n      updatedEvent?: EntityUpdatedEvent$b;\n      deletedEvent?: EntityDeletedEvent$b;\n      actionEvent?: ActionEvent$b;\n  }\n  interface EntityCreatedEvent$b {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$b;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$b {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$b {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$b {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$b {\n      bodyAsJson?: string;\n  }\n  interface Empty$a {\n  }\n  interface MessageEnvelope$b {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$b;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$b extends IdentificationDataIdOneOf$b {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$b;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$b {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$b {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * > **Note:** The Sections API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates a section.\n   *\n   * To create multiple sections at once, use [Bulk Create Sections](/sections/bulk-create-sections).\n   * @param section - Section details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField section\n   * @permissionId RESTAURANTS.SECTION_CREATE\n   * @adminMethod\n   * @returns Section.\n   */\n  function createSection(section: Section): Promise<Section>;\n  /**\n   * > **Note:** The Section API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates multiple sections at once.\n   * @param sections - Sections details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField sections\n   * @permissionId RESTAURANTS.SECTION_CREATE\n   * @adminMethod\n   */\n  function bulkCreateSections(sections: Section[], options?: BulkCreateSectionsOptions): Promise<BulkCreateSectionsResponse>;\n  interface BulkCreateSectionsOptions {\n      /** Whether to receive the created sections in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * > **Note:** The Section API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves a section by ID.\n   * @param sectionId - Section ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField sectionId\n   * @permissionId RESTAURANTS.SECTION_READ\n   * @returns Section.\n   */\n  function getSection(sectionId: string): Promise<Section>;\n  /**\n   * > **Note:** The Section API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves a list of up to 500 sections.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.SECTION_READ\n   */\n  function listSections(options?: ListSectionsOptions): Promise<ListSectionsResponse>;\n  interface ListSectionsOptions {\n      /** Section IDs. */\n      sectionIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$9;\n      /** Whether to return only sections that are visible to site visitors. */\n      onlyVisible?: boolean | null;\n  }\n  /**\n   * Creates a query to retrieve a list of sections.\n   *\n   * The `querySections()` function builds a query to retrieve a list of sections and returns a `SectionsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/sections/sections-query-builder/find) function.\n   *\n   * You can refine the query by chaining `SectionsQueryBuilder` functions onto the query. `SectionsQueryBuilder` functions enable you to filter, sort, and control the results that `querySections()` returns.\n   *\n   * `querySections()` runs with the following `SectionsQueryBuilder` defaults, which you can override:\n   *\n   * * [`limit(100)`](/sections/sections-query-builder/limit)\n   * * [`ascending('entityId')`](/sections/sections-query-builder/ascending)\n   *\n   * The following `SectionsQueryBuilder` functions are supported for `querySections()`. For a full description of the section object, see the object returned for the [`items`](/sections/sections-query-result/items) property in `SectionsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.SECTION_READ\n   */\n  function querySections(): SectionsQueryBuilder;\n  interface QueryCursorResult$a {\n      cursors: Cursors$9;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SectionsQueryResult extends QueryCursorResult$a {\n      items: Section[];\n      query: SectionsQueryBuilder;\n      next: () => Promise<SectionsQueryResult>;\n      prev: () => Promise<SectionsQueryResult>;\n  }\n  interface SectionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description', value: any) => SectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description', value: any) => SectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => SectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => SectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => SectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => SectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'name' | 'description', value: string) => SectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | 'description', value: any) => SectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'image' | 'itemIds', value: boolean) => SectionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SectionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SectionsQueryResult>;\n  }\n  /**\n   * > **Note:** The Section API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates a section.\n   *\n   * Each time a section is updated, its revision increments by 1. The existing revision must be included when updating a section. This ensures you're working with the latest section information, and it prevents unintended overwrites.\n   * @param _id - Section ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField section\n   * @requiredField section.revision\n   * @permissionId RESTAURANTS.SECTION_UPDATE\n   * @adminMethod\n   * @returns Updated section.\n   */\n  function updateSection(_id: string | null, section: UpdateSection, options?: UpdateSectionOptions): Promise<Section>;\n  interface UpdateSection {\n      /**\n       * Section ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current revision must be passed when updating the section. Ignored when creating a section.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the section was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the section was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Section name. */\n      name?: string;\n      /** Section description. */\n      description?: string | null;\n      /** Main section image. */\n      image?: string;\n      /** Additional section images. */\n      additionalImages?: string[];\n      /** Item IDs. */\n      itemIds?: string[];\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$8;\n      /** Whether the section is visible in the menu for site visitors. */\n      visible?: boolean | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      oloMigrationSectionId?: string | null;\n  }\n  interface UpdateSectionOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * > **Note:** The Section API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates multiple sections at once.\n   *\n   * Each time a section is updated, its revision increments by 1. The existing revision must be included when updating a section. This ensures you're working with the latest section information, and it prevents unintended overwrites.\n   * @param sections - Sections to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField sections\n   * @requiredField sections.section._id\n   * @requiredField sections.section.revision\n   * @permissionId RESTAURANTS.SECTION_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateSection(sections: MaskedSection[], options?: BulkUpdateSectionOptions): Promise<BulkUpdateSectionResponse>;\n  interface BulkUpdateSectionOptions {\n      /** Whether to receive the updated sections in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * > **Note:** The Section API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Deletes a section.\n   * @param sectionId - Section ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField sectionId\n   * @permissionId RESTAURANTS.SECTION_DELETE\n   * @adminMethod\n   */\n  function deleteSection(sectionId: string): Promise<void>;\n  /**\n   * > **Note:** The Section API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Deletes multiple sections at once.\n   * @param ids - Section IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId RESTAURANTS.SECTION_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteSections(ids: string[]): Promise<BulkDeleteSectionsResponse>;\n  /**\n   * Clone sections from a different metasite\n   * @param metaSiteId - The MetaSiteId to clone from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @permissionId RESTAURANTS.SECTION_CREATE\n   * @adminMethod\n   */\n  function cloneSections(metaSiteId: string): Promise<void>;\n  \n  type restaurantsMenusV1Section_universal_d_Section = Section;\n  type restaurantsMenusV1Section_universal_d_CreateSectionRequest = CreateSectionRequest;\n  type restaurantsMenusV1Section_universal_d_CreateSectionResponse = CreateSectionResponse;\n  type restaurantsMenusV1Section_universal_d_BulkCreateSectionsRequest = BulkCreateSectionsRequest;\n  type restaurantsMenusV1Section_universal_d_BulkCreateSectionsResponse = BulkCreateSectionsResponse;\n  type restaurantsMenusV1Section_universal_d_BulkCreateSectionResult = BulkCreateSectionResult;\n  type restaurantsMenusV1Section_universal_d_GetSectionRequest = GetSectionRequest;\n  type restaurantsMenusV1Section_universal_d_GetSectionResponse = GetSectionResponse;\n  type restaurantsMenusV1Section_universal_d_ListSectionsRequest = ListSectionsRequest;\n  type restaurantsMenusV1Section_universal_d_ListSectionsResponse = ListSectionsResponse;\n  type restaurantsMenusV1Section_universal_d_QuerySectionsRequest = QuerySectionsRequest;\n  type restaurantsMenusV1Section_universal_d_QuerySectionsResponse = QuerySectionsResponse;\n  type restaurantsMenusV1Section_universal_d_UpdateSectionRequest = UpdateSectionRequest;\n  type restaurantsMenusV1Section_universal_d_UpdateSectionResponse = UpdateSectionResponse;\n  type restaurantsMenusV1Section_universal_d_BulkUpdateSectionRequest = BulkUpdateSectionRequest;\n  type restaurantsMenusV1Section_universal_d_MaskedSection = MaskedSection;\n  type restaurantsMenusV1Section_universal_d_BulkUpdateSectionResponse = BulkUpdateSectionResponse;\n  type restaurantsMenusV1Section_universal_d_BulkSectionResult = BulkSectionResult;\n  type restaurantsMenusV1Section_universal_d_DeleteSectionRequest = DeleteSectionRequest;\n  type restaurantsMenusV1Section_universal_d_DeleteSectionResponse = DeleteSectionResponse;\n  type restaurantsMenusV1Section_universal_d_BulkDeleteSectionsRequest = BulkDeleteSectionsRequest;\n  type restaurantsMenusV1Section_universal_d_BulkDeleteSectionsResponse = BulkDeleteSectionsResponse;\n  type restaurantsMenusV1Section_universal_d_BulkDeleteSectionResult = BulkDeleteSectionResult;\n  type restaurantsMenusV1Section_universal_d_CloneSectionsRequest = CloneSectionsRequest;\n  type restaurantsMenusV1Section_universal_d_CloneSectionsResponse = CloneSectionsResponse;\n  const restaurantsMenusV1Section_universal_d_createSection: typeof createSection;\n  const restaurantsMenusV1Section_universal_d_bulkCreateSections: typeof bulkCreateSections;\n  type restaurantsMenusV1Section_universal_d_BulkCreateSectionsOptions = BulkCreateSectionsOptions;\n  const restaurantsMenusV1Section_universal_d_getSection: typeof getSection;\n  const restaurantsMenusV1Section_universal_d_listSections: typeof listSections;\n  type restaurantsMenusV1Section_universal_d_ListSectionsOptions = ListSectionsOptions;\n  const restaurantsMenusV1Section_universal_d_querySections: typeof querySections;\n  type restaurantsMenusV1Section_universal_d_SectionsQueryResult = SectionsQueryResult;\n  type restaurantsMenusV1Section_universal_d_SectionsQueryBuilder = SectionsQueryBuilder;\n  const restaurantsMenusV1Section_universal_d_updateSection: typeof updateSection;\n  type restaurantsMenusV1Section_universal_d_UpdateSection = UpdateSection;\n  type restaurantsMenusV1Section_universal_d_UpdateSectionOptions = UpdateSectionOptions;\n  const restaurantsMenusV1Section_universal_d_bulkUpdateSection: typeof bulkUpdateSection;\n  type restaurantsMenusV1Section_universal_d_BulkUpdateSectionOptions = BulkUpdateSectionOptions;\n  const restaurantsMenusV1Section_universal_d_deleteSection: typeof deleteSection;\n  const restaurantsMenusV1Section_universal_d_bulkDeleteSections: typeof bulkDeleteSections;\n  const restaurantsMenusV1Section_universal_d_cloneSections: typeof cloneSections;\n  namespace restaurantsMenusV1Section_universal_d {\n    export {\n      restaurantsMenusV1Section_universal_d_Section as Section,\n      ExtendedFields$8 as ExtendedFields,\n      InvalidateCache$8 as InvalidateCache,\n      InvalidateCacheGetByOneOf$8 as InvalidateCacheGetByOneOf,\n      App$8 as App,\n      Page$8 as Page,\n      URI$8 as URI,\n      File$8 as File,\n      restaurantsMenusV1Section_universal_d_CreateSectionRequest as CreateSectionRequest,\n      restaurantsMenusV1Section_universal_d_CreateSectionResponse as CreateSectionResponse,\n      restaurantsMenusV1Section_universal_d_BulkCreateSectionsRequest as BulkCreateSectionsRequest,\n      restaurantsMenusV1Section_universal_d_BulkCreateSectionsResponse as BulkCreateSectionsResponse,\n      restaurantsMenusV1Section_universal_d_BulkCreateSectionResult as BulkCreateSectionResult,\n      ItemMetadata$8 as ItemMetadata,\n      ApplicationError$8 as ApplicationError,\n      BulkActionMetadata$8 as BulkActionMetadata,\n      restaurantsMenusV1Section_universal_d_GetSectionRequest as GetSectionRequest,\n      restaurantsMenusV1Section_universal_d_GetSectionResponse as GetSectionResponse,\n      restaurantsMenusV1Section_universal_d_ListSectionsRequest as ListSectionsRequest,\n      CursorPaging$9 as CursorPaging,\n      restaurantsMenusV1Section_universal_d_ListSectionsResponse as ListSectionsResponse,\n      CursorPagingMetadata$9 as CursorPagingMetadata,\n      Cursors$9 as Cursors,\n      restaurantsMenusV1Section_universal_d_QuerySectionsRequest as QuerySectionsRequest,\n      CursorQuery$a as CursorQuery,\n      CursorQueryPagingMethodOneOf$a as CursorQueryPagingMethodOneOf,\n      Sorting$a as Sorting,\n      SortOrder$a as SortOrder,\n      restaurantsMenusV1Section_universal_d_QuerySectionsResponse as QuerySectionsResponse,\n      restaurantsMenusV1Section_universal_d_UpdateSectionRequest as UpdateSectionRequest,\n      restaurantsMenusV1Section_universal_d_UpdateSectionResponse as UpdateSectionResponse,\n      restaurantsMenusV1Section_universal_d_BulkUpdateSectionRequest as BulkUpdateSectionRequest,\n      restaurantsMenusV1Section_universal_d_MaskedSection as MaskedSection,\n      restaurantsMenusV1Section_universal_d_BulkUpdateSectionResponse as BulkUpdateSectionResponse,\n      restaurantsMenusV1Section_universal_d_BulkSectionResult as BulkSectionResult,\n      restaurantsMenusV1Section_universal_d_DeleteSectionRequest as DeleteSectionRequest,\n      restaurantsMenusV1Section_universal_d_DeleteSectionResponse as DeleteSectionResponse,\n      restaurantsMenusV1Section_universal_d_BulkDeleteSectionsRequest as BulkDeleteSectionsRequest,\n      restaurantsMenusV1Section_universal_d_BulkDeleteSectionsResponse as BulkDeleteSectionsResponse,\n      restaurantsMenusV1Section_universal_d_BulkDeleteSectionResult as BulkDeleteSectionResult,\n      restaurantsMenusV1Section_universal_d_CloneSectionsRequest as CloneSectionsRequest,\n      restaurantsMenusV1Section_universal_d_CloneSectionsResponse as CloneSectionsResponse,\n      DomainEvent$b as DomainEvent,\n      DomainEventBodyOneOf$b as DomainEventBodyOneOf,\n      EntityCreatedEvent$b as EntityCreatedEvent,\n      RestoreInfo$b as RestoreInfo,\n      EntityUpdatedEvent$b as EntityUpdatedEvent,\n      EntityDeletedEvent$b as EntityDeletedEvent,\n      ActionEvent$b as ActionEvent,\n      Empty$a as Empty,\n      MessageEnvelope$b as MessageEnvelope,\n      IdentificationData$b as IdentificationData,\n      IdentificationDataIdOneOf$b as IdentificationDataIdOneOf,\n      WebhookIdentityType$b as WebhookIdentityType,\n      restaurantsMenusV1Section_universal_d_createSection as createSection,\n      restaurantsMenusV1Section_universal_d_bulkCreateSections as bulkCreateSections,\n      restaurantsMenusV1Section_universal_d_BulkCreateSectionsOptions as BulkCreateSectionsOptions,\n      restaurantsMenusV1Section_universal_d_getSection as getSection,\n      restaurantsMenusV1Section_universal_d_listSections as listSections,\n      restaurantsMenusV1Section_universal_d_ListSectionsOptions as ListSectionsOptions,\n      restaurantsMenusV1Section_universal_d_querySections as querySections,\n      restaurantsMenusV1Section_universal_d_SectionsQueryResult as SectionsQueryResult,\n      restaurantsMenusV1Section_universal_d_SectionsQueryBuilder as SectionsQueryBuilder,\n      restaurantsMenusV1Section_universal_d_updateSection as updateSection,\n      restaurantsMenusV1Section_universal_d_UpdateSection as UpdateSection,\n      restaurantsMenusV1Section_universal_d_UpdateSectionOptions as UpdateSectionOptions,\n      restaurantsMenusV1Section_universal_d_bulkUpdateSection as bulkUpdateSection,\n      restaurantsMenusV1Section_universal_d_BulkUpdateSectionOptions as BulkUpdateSectionOptions,\n      restaurantsMenusV1Section_universal_d_deleteSection as deleteSection,\n      restaurantsMenusV1Section_universal_d_bulkDeleteSections as bulkDeleteSections,\n      restaurantsMenusV1Section_universal_d_cloneSections as cloneSections,\n    };\n  }\n  \n  interface MenuOrderingSettings {\n      /**\n       * Menu ordering settings object ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number. Increments by 1 each time the menu ordering settings object is updated. To prevent conflicting changes, the existing revision must be specified when updating a menu ordering settings object.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the menu ordering settings object was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the menu ordering settings object was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** ID of the restaurant operation the menu belongs to. (See the Restaurants Operations API for more information.) */\n      operationId?: string | null;\n      /**\n       * ID of the menu these settings apply to.\n       * @readonly\n       */\n      menuId?: string | null;\n      /** Whether online ordering is enabled for the menu. */\n      onlineOrderingEnabled?: boolean | null;\n      /** Menu availability settings. */\n      availability?: Availability$1;\n      /**\n       * Location ID associated with the menu.\n       * @internal\n       * @readonly\n       */\n      locationId?: string | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$7;\n  }\n  interface Availability$1 extends AvailabilityAvailabilityTypeOptionsOneOf {\n      /** Settings for availability on a weekly schedule. */\n      weeklyScheduleOptions?: WeeklyScheduleOptions;\n      /** Settings for availability within a time range. */\n      timestampRangesOptions?: TimestampRangesOptions;\n      /** Availability type. */\n      type?: AvailabilityType;\n      /**\n       * Time zone in [Time Zone Database](https://www.iana.org/time-zones) format.\n       * @readonly\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface AvailabilityAvailabilityTypeOptionsOneOf {\n      /** Settings for availability on a weekly schedule. */\n      weeklyScheduleOptions?: WeeklyScheduleOptions;\n      /** Settings for availability within a time range. */\n      timestampRangesOptions?: TimestampRangesOptions;\n  }\n  enum AvailabilityType {\n      /** Missing type due to an error. */\n      UNSPECIFIED_AVAILABILITY_OPTION = \"UNSPECIFIED_AVAILABILITY_OPTION\",\n      /** Available all the time. */\n      ALWAYS_AVAILABLE = \"ALWAYS_AVAILABLE\",\n      /** Available on specific days and times throughout the week. */\n      WEEKLY_SCHEDULE = \"WEEKLY_SCHEDULE\",\n      /** Available during a specific time range. */\n      TIMESTAMP_RANGES = \"TIMESTAMP_RANGES\"\n  }\n  interface WeeklyScheduleOptions {\n      /** List of available time ranges for specific days of the week. */\n      availableTimes?: DayOfWeekAvailability$2[];\n  }\n  interface DayOfWeekAvailability$2 {\n      /** The day of week this availability relates to. */\n      dayOfWeek?: EntitiesDayOfWeek$2;\n      /** A list of time ranges during which the fulfillment should be available. */\n      timeRanges?: TimeOfDayRange$2[];\n  }\n  enum EntitiesDayOfWeek$2 {\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface TimeOfDayRange$2 {\n      /** The start time in time of day representation. */\n      startTime?: TimeOfDay$2;\n      /** The end time in time of day representation. */\n      endTime?: TimeOfDay$2;\n  }\n  interface TimeOfDay$2 {\n      /**\n       * Hours. <br />\n       * Min: `0`. <br />\n       * Max: `23`.\n       */\n      hours?: number;\n      /**\n       * Minutes. <br />\n       * Min: `0`. <br />\n       * Max: `23`.\n       */\n      minutes?: number;\n  }\n  interface TimestampRangesOptions {\n      /** List of available time ranges. */\n      ranges?: AvailableRange[];\n  }\n  interface AvailableRange {\n      /** The start time of the availability in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n      startTime?: Date | null;\n      /** The end time of the availability in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n      endTime?: Date | null;\n  }\n  interface ExtendedFields$7 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache$7 extends InvalidateCacheGetByOneOf$7 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$7;\n      /** Invalidate by page id */\n      page?: Page$7;\n      /** Invalidate by URI path */\n      uri?: URI$7;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$7;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$7 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$7;\n      /** Invalidate by page id */\n      page?: Page$7;\n      /** Invalidate by URI path */\n      uri?: URI$7;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$7;\n  }\n  interface App$7 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$7 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$7 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$7 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateMenuOrderingSettingsRequest {\n      /** Menu ordering settings entity details. */\n      menuOrderingSettings: MenuOrderingSettings;\n  }\n  interface CreateMenuOrderingSettingsResponse {\n      /** The created menu ordering settings entity. */\n      menuOrderingSettings?: MenuOrderingSettings;\n  }\n  interface GetMenuOrderingSettingsRequest {\n      /** ID of the menu ordering settings entity to retrieve. */\n      menuOrderingSettingsId: string;\n  }\n  interface GetMenuOrderingSettingsResponse {\n      /** The requested menu ordering settings entity. */\n      menuOrderingSettings?: MenuOrderingSettings;\n  }\n  interface UpsertMenuOrderingSettingsByMenuIdRequest {\n      /** Details of the menu ordering settings entity to be created or updated. */\n      menuOrderingSettings: MenuOrderingSettings;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpsertMenuOrderingSettingsByMenuIdResponse {\n      /** The created or updated menu ordering settings entity. */\n      menuOrderingSettings?: MenuOrderingSettings;\n  }\n  interface UpdateMenuOrderingSettingsRequest {\n      /** Details of the menu ordering settings entity to update. */\n      menuOrderingSettings: MenuOrderingSettings;\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateMenuOrderingSettingsResponse {\n      /** Updated menu ordering settings entity. */\n      menuOrderingSettings?: MenuOrderingSettings;\n  }\n  interface DeleteMenuOrderingSettingsRequest {\n      /** ID of the menu ordering settings entity to delete. */\n      menuOrderingSettingsId: string;\n  }\n  interface DeleteMenuOrderingSettingsResponse {\n  }\n  interface QueryMenuOrderingSettingsRequest {\n      /** WQL expression. */\n      query?: CursorQuery$9;\n  }\n  interface CursorQuery$9 extends CursorQueryPagingMethodOneOf$9 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$8;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$9[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$9 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$8;\n  }\n  interface Sorting$9 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$9;\n  }\n  enum SortOrder$9 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$8 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryMenuOrderingSettingsResponse {\n      /** List of menu ordering settings entities. */\n      menuOrderingSettings?: MenuOrderingSettings[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$8;\n  }\n  interface CursorPagingMetadata$8 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$8;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$8 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkUpdateMenuOrderingSettingsRequest {\n      /** Menu ordering settings entities to update. */\n      menusOrderingSettings: MaskedMenuOrderingSettings[];\n      /** Whether to receive the entity in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedMenuOrderingSettings {\n      /** Menu ordering settings entities to update. */\n      menuOrderingSettings?: MenuOrderingSettings;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface BulkUpdateMenuOrderingSettingsResponse {\n      /** Results of bulk menu ordering settings entities update. */\n      results?: BulkMenuOrderingSettingsResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$7;\n  }\n  interface ItemMetadata$7 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$7;\n  }\n  interface ApplicationError$7 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkMenuOrderingSettingsResult {\n      /** Metadata for menu update. */\n      menuOrderingSettingsMetadata?: ItemMetadata$7;\n      /** Updated menu ordering settings. Only returned if `returnEntity` is set to `true`. */\n      menuOrderingSettings?: MenuOrderingSettings;\n  }\n  interface BulkActionMetadata$7 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ListMenusAvailabilityStatusRequest {\n      /** The time slot for which to check the availability of menus. */\n      timeSlot: TimeSlot;\n      /** The ID of the restaurant operation whose menus will be checked. (See the Restaurants Operations API for more information.) */\n      operationId?: string | null;\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$8;\n  }\n  interface TimeSlot {\n      /** The start time of the time slot in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n      startTime?: Date | null;\n      /** The end time of the time slot in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n      endTime?: Date | null;\n  }\n  interface ListMenusAvailabilityStatusResponse {\n      /** The retrieved menus' availability statuses. */\n      menusAvailabilityStatus?: MenuAvailabilityStatus[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$8;\n  }\n  interface MenuAvailabilityStatus {\n      /** Menu ID. */\n      menuId?: string;\n      /** The menu's availability status. */\n      availabilityStatus?: AvailabilityStatus;\n  }\n  enum AvailabilityStatus {\n      /** Unknown availability status. */\n      UNKNOWN_AVAILABILITY_STATUS = \"UNKNOWN_AVAILABILITY_STATUS\",\n      /** Available. */\n      AVAILABLE = \"AVAILABLE\",\n      /** Unavailable. */\n      UNAVAILABLE = \"UNAVAILABLE\"\n  }\n  interface UpdateExtendedFieldsRequest$1 {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse$1 {\n      /** The updated menu ordering settings entity. */\n      menuOrderingSettings?: MenuOrderingSettings;\n  }\n  interface DomainEvent$a extends DomainEventBodyOneOf$a {\n      createdEvent?: EntityCreatedEvent$a;\n      updatedEvent?: EntityUpdatedEvent$a;\n      deletedEvent?: EntityDeletedEvent$a;\n      actionEvent?: ActionEvent$a;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$a {\n      createdEvent?: EntityCreatedEvent$a;\n      updatedEvent?: EntityUpdatedEvent$a;\n      deletedEvent?: EntityDeletedEvent$a;\n      actionEvent?: ActionEvent$a;\n  }\n  interface EntityCreatedEvent$a {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$a;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$a {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$a {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$a {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$a {\n      bodyAsJson?: string;\n  }\n  interface Empty$9 {\n  }\n  interface GetRestaurantsAppClonesStatusRequest {\n  }\n  interface GetRestaurantsAppClonesStatusResponse {\n      /** The requested menu ordering settings entity. */\n      retaurantsAppCloneStatus?: RestaurantsAppCloneStatus;\n  }\n  /** The status of the data cloning process of the Restaurants Apps. */\n  interface RestaurantsAppCloneStatus {\n      /**\n       * Whether the cloning of the orders was completed.\n       * @readonly\n       */\n      ordersCloningCompleted?: boolean;\n      /**\n       * Whether the cloning of the menus was completed.\n       * @readonly\n       */\n      menusCloningCompleted?: boolean;\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification$3 {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent$3;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation$3[];\n      /** Context of the notification */\n      changeContext?: ChangeContext$3;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent$3 {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties$3;\n  }\n  interface Properties$3 {\n      /** Site categories. */\n      categories?: Categories$3;\n      /** Site locale. */\n      locale?: Locale$4;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address$3;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$3;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual$3;\n      /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n      consentPolicy?: ConsentPolicy$3;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site URL that uses Wix as its headless business solution. */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics. */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories$3 {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale$4 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address$3 {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint$3;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates$3;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n   */\n  interface AddressHint$3 {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType$3;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType$3 {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates$3 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$3 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$3[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$3[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$3 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$3;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$3;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$3 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$3 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual$3 {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage$3[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage$3 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale$4;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod$3;\n  }\n  enum ResolutionMethod$3 {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy$3 {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation$3 {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext$3 extends ChangeContextPayloadOneOf$3 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$3;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$3;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$3;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf$3 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$3;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$3;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$3;\n  }\n  interface PropertiesChange$3 {\n  }\n  interface SiteCreated$3 {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned$3 {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface OperationsDataCloningCompleted$1 {\n  }\n  interface MenusDataCloningCompleted$1 {\n  }\n  interface MessageEnvelope$a {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$a;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$a extends IdentificationDataIdOneOf$a {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$a;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$a {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$a {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a menu ordering settings entity.\n   * @param menuOrderingSettings - Menu ordering settings entity details.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField menuOrderingSettings\n   * @requiredField menuOrderingSettings.menuId\n   * @permissionId RESTAURANTS.MENU_ORDERING_SETTINGS_CREATE\n   * @adminMethod\n   * @returns The created menu ordering settings entity.\n   */\n  function createMenuOrderingSettings(menuOrderingSettings: MenuOrderingSettings): Promise<MenuOrderingSettings>;\n  /**\n   * Retrieves a menu ordering settings entity.\n   * @param menuOrderingSettingsId - ID of the menu ordering settings entity to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField menuOrderingSettingsId\n   * @permissionId RESTAURANTS.MENU_ORDERING_SETTINGS_READ\n   * @returns The requested menu ordering settings entity.\n   */\n  function getMenuOrderingSettings(menuOrderingSettingsId: string): Promise<MenuOrderingSettings>;\n  /**\n   * Upserts a menu ordering settings entity for a given `menuId`.\n   * Try to create a menu ordering settings, in case it already exists - update the menu ordering settings\n   * @param menuId - ID of the menu these settings apply to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField menuId\n   * @requiredField menuOrderingSettings\n   * @permissionId RESTAURANTS.MENU_ORDERING_SETTINGS_UPSERT\n   * @adminMethod\n   */\n  function upsertMenuOrderingSettingsByMenuId(menuId: string | null, menuOrderingSettings: UpsertMenuOrderingSettingsByMenuIdMenuOrderingSettings, options?: UpsertMenuOrderingSettingsByMenuIdOptions): Promise<UpsertMenuOrderingSettingsByMenuIdResponse>;\n  interface UpsertMenuOrderingSettingsByMenuIdMenuOrderingSettings {\n      /**\n       * Menu ordering settings object ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number. Increments by 1 each time the menu ordering settings object is updated. To prevent conflicting changes, the existing revision must be specified when updating a menu ordering settings object.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the menu ordering settings object was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the menu ordering settings object was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** ID of the restaurant operation the menu belongs to. (See the Restaurants Operations API for more information.) */\n      operationId?: string | null;\n      /** Whether online ordering is enabled for the menu. */\n      onlineOrderingEnabled?: boolean | null;\n      /** Menu availability settings. */\n      availability?: Availability$1;\n      /**\n       * Location ID associated with the menu.\n       * @internal\n       * @readonly\n       */\n      locationId?: string | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$7;\n  }\n  interface UpsertMenuOrderingSettingsByMenuIdOptions {\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Updates a menu ordering settings entity.\n   *\n   * Each time the menu ordering settings entity is updated, `revision` increments by 1. The current `revision` must be specified when updating the menu ordering settings entity.\n   * This ensures you're working with the latest entity and prevents unintended overwrites.\n   * @param _id - Menu ordering settings object ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField menuOrderingSettings\n   * @requiredField menuOrderingSettings.revision\n   * @permissionId RESTAURANTS.MENU_ORDERING_SETTINGS_UPDATE\n   * @adminMethod\n   * @returns Updated menu ordering settings entity.\n   */\n  function updateMenuOrderingSettings(_id: string | null, menuOrderingSettings: UpdateMenuOrderingSettings, options?: UpdateMenuOrderingSettingsOptions): Promise<MenuOrderingSettings>;\n  interface UpdateMenuOrderingSettings {\n      /**\n       * Menu ordering settings object ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number. Increments by 1 each time the menu ordering settings object is updated. To prevent conflicting changes, the existing revision must be specified when updating a menu ordering settings object.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the menu ordering settings object was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the menu ordering settings object was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** ID of the restaurant operation the menu belongs to. (See the Restaurants Operations API for more information.) */\n      operationId?: string | null;\n      /**\n       * ID of the menu these settings apply to.\n       * @readonly\n       */\n      menuId?: string | null;\n      /** Whether online ordering is enabled for the menu. */\n      onlineOrderingEnabled?: boolean | null;\n      /** Menu availability settings. */\n      availability?: Availability$1;\n      /**\n       * Location ID associated with the menu.\n       * @internal\n       * @readonly\n       */\n      locationId?: string | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$7;\n  }\n  interface UpdateMenuOrderingSettingsOptions {\n      /**\n       * Set of fields to update.\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a menu ordering settings entity.\n   * Deleting an entity permanently removes it from the menu ordering settings list.\n   * @param menuOrderingSettingsId - ID of the menu ordering settings entity to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField menuOrderingSettingsId\n   * @permissionId RESTAURANTS.MENU_ORDERING_SETTINGS_DELETE\n   * @adminMethod\n   */\n  function deleteMenuOrderingSettings(menuOrderingSettingsId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of menu ordering settings objects.\n   *\n   * The `queryMenuOrderingSettings()` function builds a query to retrieve a list of menu ordering settings objects and returns an `MenuOrderingSettingsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/menu-ordering-settings/menu-ordering-settings-query-builder/find) function.\n   *\n   * You can refine the query by chaining `MenuOrderingSettingsQueryBuilder` functions onto the query. `MenuOrderingSettingsQueryBuilder` functions enable you to filter, sort, and control the results that `queryMenuOrderingSettings()` returns.\n   *\n   * `queryMenuOrderingSettings()` runs with the following `MenuOrderingSettingsQueryBuilder` defaults, which you can override:\n   *\n   * - [`limit(50)`](/menu-ordering-settings/menu-ordering-settings-query-builder/limit)\n   * - [ascending('_id')](/menu-ordering-settings/menu-ordering-settings-query-builder/ascending)\n   *\n   * The following `MenuOrderingSettingsQueryBuilder` functions are supported for `queryMenuOrderingSettings()`. For a full description of the menu ordering settings object, see the object returned for the [`items`](/menu-ordering-settings/menu-ordering-settings-query-result/items) property in `MenuOrderingSettingsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.MENU_ORDERING_SETTINGS_READ\n   */\n  function queryMenuOrderingSettings(): MenuOrderingSettingsQueryBuilder;\n  interface QueryCursorResult$9 {\n      cursors: Cursors$8;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface MenuOrderingSettingsQueryResult extends QueryCursorResult$9 {\n      items: MenuOrderingSettings[];\n      query: MenuOrderingSettingsQueryBuilder;\n      next: () => Promise<MenuOrderingSettingsQueryResult>;\n      prev: () => Promise<MenuOrderingSettingsQueryResult>;\n  }\n  interface MenuOrderingSettingsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'operationId' | 'menuId' | 'onlineOrderingEnabled' | 'availability.type', value: any) => MenuOrderingSettingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'operationId' | 'menuId' | 'onlineOrderingEnabled' | 'availability.type', value: any) => MenuOrderingSettingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenuOrderingSettingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenuOrderingSettingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenuOrderingSettingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenuOrderingSettingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'operationId' | 'menuId', value: string) => MenuOrderingSettingsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'operationId' | 'menuId' | 'onlineOrderingEnabled' | 'availability.type', value: any[]) => MenuOrderingSettingsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'operationId' | 'menuId' | 'onlineOrderingEnabled' | 'availability.type', value: any) => MenuOrderingSettingsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'operationId' | 'menuId' | 'onlineOrderingEnabled' | 'availability.type', value: boolean) => MenuOrderingSettingsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'operationId' | 'menuId' | 'onlineOrderingEnabled' | 'availability.type'>) => MenuOrderingSettingsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'operationId' | 'menuId' | 'onlineOrderingEnabled' | 'availability.type'>) => MenuOrderingSettingsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => MenuOrderingSettingsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => MenuOrderingSettingsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<MenuOrderingSettingsQueryResult>;\n  }\n  /**\n   * Updates multiple menu ordering settings entities at once.\n   * Each time a menu ordering settings entity is updated, `revision` increments by 1. The existing revision must be specified when updating the menu ordering settings entity. This ensures you're working with the entity's latest information, and it prevents unintended overwrites.\n   * @param menusOrderingSettings - Menu ordering settings entities to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField menusOrderingSettings\n   * @requiredField menusOrderingSettings.menuOrderingSettings._id\n   * @requiredField menusOrderingSettings.menuOrderingSettings.revision\n   * @permissionId RESTAURANTS.MENU_ORDERING_SETTINGS_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateMenuOrderingSettings(menusOrderingSettings: MaskedMenuOrderingSettings[], options?: BulkUpdateMenuOrderingSettingsOptions): Promise<BulkUpdateMenuOrderingSettingsResponse>;\n  interface BulkUpdateMenuOrderingSettingsOptions {\n      /** Whether to receive the entity in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Retrieves a list of a menu's availability statuses for a given time slot and restaurant operation. (See the Restaurants Operations API for more information.)\n   * Returns the availability status for the given time slot per menu.\n   * @param timeSlot - The time slot for which to check the availability of menus.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField timeSlot\n   * @requiredField timeSlot.endTime\n   * @requiredField timeSlot.startTime\n   * @permissionId RESTAURANTS.MENU_ORDERING_SETTINGS_READ\n   */\n  function listMenusAvailabilityStatus(timeSlot: TimeSlot, options?: ListMenusAvailabilityStatusOptions): Promise<ListMenusAvailabilityStatusResponse>;\n  interface ListMenusAvailabilityStatusOptions {\n      /** The ID of the restaurant operation whose menus will be checked. (See the Restaurants Operations API for more information.) */\n      operationId?: string | null;\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$8;\n  }\n  /**\n   * Updates extended fields of a menu ordering settings entity without incrementing its revision.\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId RESTAURANTS.MENU_ORDERING_SETTINGS_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields$1(_id: string, namespace: string, options: UpdateExtendedFieldsOptions$1): Promise<UpdateExtendedFieldsResponse$1>;\n  interface UpdateExtendedFieldsOptions$1 {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  /**\n   * Retrieves the clone status of the restaurants apps.\n   * In case of uninstalling an app, the clone status will not be changed.\n   * For internal use of the service only.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.APP_CLONES_STATUS_READ\n   * @adminMethod\n   */\n  function getRestaurantsAppClonesStatus(): Promise<GetRestaurantsAppClonesStatusResponse>;\n  \n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_MenuOrderingSettings = MenuOrderingSettings;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_AvailabilityAvailabilityTypeOptionsOneOf = AvailabilityAvailabilityTypeOptionsOneOf;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_AvailabilityType = AvailabilityType;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_AvailabilityType: typeof AvailabilityType;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_WeeklyScheduleOptions = WeeklyScheduleOptions;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_TimestampRangesOptions = TimestampRangesOptions;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_AvailableRange = AvailableRange;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_CreateMenuOrderingSettingsRequest = CreateMenuOrderingSettingsRequest;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_CreateMenuOrderingSettingsResponse = CreateMenuOrderingSettingsResponse;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_GetMenuOrderingSettingsRequest = GetMenuOrderingSettingsRequest;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_GetMenuOrderingSettingsResponse = GetMenuOrderingSettingsResponse;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdRequest = UpsertMenuOrderingSettingsByMenuIdRequest;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdResponse = UpsertMenuOrderingSettingsByMenuIdResponse;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsRequest = UpdateMenuOrderingSettingsRequest;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsResponse = UpdateMenuOrderingSettingsResponse;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_DeleteMenuOrderingSettingsRequest = DeleteMenuOrderingSettingsRequest;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_DeleteMenuOrderingSettingsResponse = DeleteMenuOrderingSettingsResponse;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_QueryMenuOrderingSettingsRequest = QueryMenuOrderingSettingsRequest;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_QueryMenuOrderingSettingsResponse = QueryMenuOrderingSettingsResponse;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsRequest = BulkUpdateMenuOrderingSettingsRequest;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_MaskedMenuOrderingSettings = MaskedMenuOrderingSettings;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsResponse = BulkUpdateMenuOrderingSettingsResponse;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_BulkMenuOrderingSettingsResult = BulkMenuOrderingSettingsResult;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_ListMenusAvailabilityStatusRequest = ListMenusAvailabilityStatusRequest;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_TimeSlot = TimeSlot;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_ListMenusAvailabilityStatusResponse = ListMenusAvailabilityStatusResponse;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_MenuAvailabilityStatus = MenuAvailabilityStatus;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_AvailabilityStatus = AvailabilityStatus;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_AvailabilityStatus: typeof AvailabilityStatus;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_GetRestaurantsAppClonesStatusRequest = GetRestaurantsAppClonesStatusRequest;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_GetRestaurantsAppClonesStatusResponse = GetRestaurantsAppClonesStatusResponse;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_RestaurantsAppCloneStatus = RestaurantsAppCloneStatus;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_createMenuOrderingSettings: typeof createMenuOrderingSettings;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_getMenuOrderingSettings: typeof getMenuOrderingSettings;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_upsertMenuOrderingSettingsByMenuId: typeof upsertMenuOrderingSettingsByMenuId;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdMenuOrderingSettings = UpsertMenuOrderingSettingsByMenuIdMenuOrderingSettings;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdOptions = UpsertMenuOrderingSettingsByMenuIdOptions;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_updateMenuOrderingSettings: typeof updateMenuOrderingSettings;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpdateMenuOrderingSettings = UpdateMenuOrderingSettings;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsOptions = UpdateMenuOrderingSettingsOptions;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_deleteMenuOrderingSettings: typeof deleteMenuOrderingSettings;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_queryMenuOrderingSettings: typeof queryMenuOrderingSettings;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_MenuOrderingSettingsQueryResult = MenuOrderingSettingsQueryResult;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_MenuOrderingSettingsQueryBuilder = MenuOrderingSettingsQueryBuilder;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_bulkUpdateMenuOrderingSettings: typeof bulkUpdateMenuOrderingSettings;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsOptions = BulkUpdateMenuOrderingSettingsOptions;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_listMenusAvailabilityStatus: typeof listMenusAvailabilityStatus;\n  type restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_ListMenusAvailabilityStatusOptions = ListMenusAvailabilityStatusOptions;\n  const restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_getRestaurantsAppClonesStatus: typeof getRestaurantsAppClonesStatus;\n  namespace restaurantsMenuSettingsV1MenuOrderingSettings_universal_d {\n    export {\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_MenuOrderingSettings as MenuOrderingSettings,\n      Availability$1 as Availability,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_AvailabilityAvailabilityTypeOptionsOneOf as AvailabilityAvailabilityTypeOptionsOneOf,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_AvailabilityType as AvailabilityType,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_WeeklyScheduleOptions as WeeklyScheduleOptions,\n      DayOfWeekAvailability$2 as DayOfWeekAvailability,\n      EntitiesDayOfWeek$2 as EntitiesDayOfWeek,\n      TimeOfDayRange$2 as TimeOfDayRange,\n      TimeOfDay$2 as TimeOfDay,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_TimestampRangesOptions as TimestampRangesOptions,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_AvailableRange as AvailableRange,\n      ExtendedFields$7 as ExtendedFields,\n      InvalidateCache$7 as InvalidateCache,\n      InvalidateCacheGetByOneOf$7 as InvalidateCacheGetByOneOf,\n      App$7 as App,\n      Page$7 as Page,\n      URI$7 as URI,\n      File$7 as File,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_CreateMenuOrderingSettingsRequest as CreateMenuOrderingSettingsRequest,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_CreateMenuOrderingSettingsResponse as CreateMenuOrderingSettingsResponse,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_GetMenuOrderingSettingsRequest as GetMenuOrderingSettingsRequest,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_GetMenuOrderingSettingsResponse as GetMenuOrderingSettingsResponse,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdRequest as UpsertMenuOrderingSettingsByMenuIdRequest,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdResponse as UpsertMenuOrderingSettingsByMenuIdResponse,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsRequest as UpdateMenuOrderingSettingsRequest,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsResponse as UpdateMenuOrderingSettingsResponse,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_DeleteMenuOrderingSettingsRequest as DeleteMenuOrderingSettingsRequest,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_DeleteMenuOrderingSettingsResponse as DeleteMenuOrderingSettingsResponse,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_QueryMenuOrderingSettingsRequest as QueryMenuOrderingSettingsRequest,\n      CursorQuery$9 as CursorQuery,\n      CursorQueryPagingMethodOneOf$9 as CursorQueryPagingMethodOneOf,\n      Sorting$9 as Sorting,\n      SortOrder$9 as SortOrder,\n      CursorPaging$8 as CursorPaging,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_QueryMenuOrderingSettingsResponse as QueryMenuOrderingSettingsResponse,\n      CursorPagingMetadata$8 as CursorPagingMetadata,\n      Cursors$8 as Cursors,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsRequest as BulkUpdateMenuOrderingSettingsRequest,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_MaskedMenuOrderingSettings as MaskedMenuOrderingSettings,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsResponse as BulkUpdateMenuOrderingSettingsResponse,\n      ItemMetadata$7 as ItemMetadata,\n      ApplicationError$7 as ApplicationError,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_BulkMenuOrderingSettingsResult as BulkMenuOrderingSettingsResult,\n      BulkActionMetadata$7 as BulkActionMetadata,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_ListMenusAvailabilityStatusRequest as ListMenusAvailabilityStatusRequest,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_TimeSlot as TimeSlot,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_ListMenusAvailabilityStatusResponse as ListMenusAvailabilityStatusResponse,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_MenuAvailabilityStatus as MenuAvailabilityStatus,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_AvailabilityStatus as AvailabilityStatus,\n      UpdateExtendedFieldsRequest$1 as UpdateExtendedFieldsRequest,\n      UpdateExtendedFieldsResponse$1 as UpdateExtendedFieldsResponse,\n      DomainEvent$a as DomainEvent,\n      DomainEventBodyOneOf$a as DomainEventBodyOneOf,\n      EntityCreatedEvent$a as EntityCreatedEvent,\n      RestoreInfo$a as RestoreInfo,\n      EntityUpdatedEvent$a as EntityUpdatedEvent,\n      EntityDeletedEvent$a as EntityDeletedEvent,\n      ActionEvent$a as ActionEvent,\n      Empty$9 as Empty,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_GetRestaurantsAppClonesStatusRequest as GetRestaurantsAppClonesStatusRequest,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_GetRestaurantsAppClonesStatusResponse as GetRestaurantsAppClonesStatusResponse,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_RestaurantsAppCloneStatus as RestaurantsAppCloneStatus,\n      SitePropertiesNotification$3 as SitePropertiesNotification,\n      SitePropertiesEvent$3 as SitePropertiesEvent,\n      Properties$3 as Properties,\n      Categories$3 as Categories,\n      Locale$4 as Locale,\n      Address$3 as Address,\n      AddressHint$3 as AddressHint,\n      PlacementType$3 as PlacementType,\n      GeoCoordinates$3 as GeoCoordinates,\n      BusinessSchedule$3 as BusinessSchedule,\n      TimePeriod$3 as TimePeriod,\n      DayOfWeek$3 as DayOfWeek,\n      SpecialHourPeriod$3 as SpecialHourPeriod,\n      Multilingual$3 as Multilingual,\n      SupportedLanguage$3 as SupportedLanguage,\n      ResolutionMethod$3 as ResolutionMethod,\n      ConsentPolicy$3 as ConsentPolicy,\n      Translation$3 as Translation,\n      ChangeContext$3 as ChangeContext,\n      ChangeContextPayloadOneOf$3 as ChangeContextPayloadOneOf,\n      PropertiesChange$3 as PropertiesChange,\n      SiteCreated$3 as SiteCreated,\n      SiteCloned$3 as SiteCloned,\n      OperationsDataCloningCompleted$1 as OperationsDataCloningCompleted,\n      MenusDataCloningCompleted$1 as MenusDataCloningCompleted,\n      MessageEnvelope$a as MessageEnvelope,\n      IdentificationData$a as IdentificationData,\n      IdentificationDataIdOneOf$a as IdentificationDataIdOneOf,\n      WebhookIdentityType$a as WebhookIdentityType,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_createMenuOrderingSettings as createMenuOrderingSettings,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_getMenuOrderingSettings as getMenuOrderingSettings,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_upsertMenuOrderingSettingsByMenuId as upsertMenuOrderingSettingsByMenuId,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdMenuOrderingSettings as UpsertMenuOrderingSettingsByMenuIdMenuOrderingSettings,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpsertMenuOrderingSettingsByMenuIdOptions as UpsertMenuOrderingSettingsByMenuIdOptions,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_updateMenuOrderingSettings as updateMenuOrderingSettings,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpdateMenuOrderingSettings as UpdateMenuOrderingSettings,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_UpdateMenuOrderingSettingsOptions as UpdateMenuOrderingSettingsOptions,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_deleteMenuOrderingSettings as deleteMenuOrderingSettings,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_queryMenuOrderingSettings as queryMenuOrderingSettings,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_MenuOrderingSettingsQueryResult as MenuOrderingSettingsQueryResult,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_MenuOrderingSettingsQueryBuilder as MenuOrderingSettingsQueryBuilder,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_bulkUpdateMenuOrderingSettings as bulkUpdateMenuOrderingSettings,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_BulkUpdateMenuOrderingSettingsOptions as BulkUpdateMenuOrderingSettingsOptions,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_listMenusAvailabilityStatus as listMenusAvailabilityStatus,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_ListMenusAvailabilityStatusOptions as ListMenusAvailabilityStatusOptions,\n      updateExtendedFields$1 as updateExtendedFields,\n      UpdateExtendedFieldsOptions$1 as UpdateExtendedFieldsOptions,\n      restaurantsMenuSettingsV1MenuOrderingSettings_universal_d_getRestaurantsAppClonesStatus as getRestaurantsAppClonesStatus,\n    };\n  }\n  \n  interface Item extends ItemPricingOneOf {\n      /** Item price variants. */\n      priceVariants?: PriceVariants;\n      /** Item price info. */\n      priceInfo?: PriceInfo;\n      /**\n       * Item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the item is updated. To prevent conflicting changes, the current revision must be passed when updating the item. Ignored when creating a item.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Item name. */\n      name?: string;\n      /** Item description. */\n      description?: string | null;\n      /** Main item image. */\n      image?: string;\n      /** Additional item images. */\n      additionalImages?: string[];\n      /** Item labels. */\n      labels?: Label$1[];\n      /** Whether the item is visible in the menu for site visitors. */\n      visible?: boolean | null;\n      /** Online order settings. */\n      orderSettings?: OrderSettings;\n      /** Item modifier groups. */\n      modifierGroups?: ModifierGroup[];\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$6;\n      /**\n       * @internal\n       * @readonly\n       */\n      oloMigrationItemId?: string | null;\n  }\n  /** @oneof */\n  interface ItemPricingOneOf {\n      /** Item price variants. */\n      priceVariants?: PriceVariants;\n      /** Item price info. */\n      priceInfo?: PriceInfo;\n  }\n  interface PriceVariants {\n      /** List of price variants. */\n      variants?: PriceVariant[];\n  }\n  /** flynt-deleted-field-enum-reserved */\n  interface PriceVariant {\n      /** Price variant ID. */\n      variantId?: string | null;\n      /**\n       * Price of a variant.\n       * @deprecated Price of a variant.\n       * @replacedBy pricing.price_variants.variants.price_info\n       * @targetRemovalDate 2024-08-01\n       */\n      price?: string | null;\n      /** Price info of a variant. */\n      priceInfo?: PriceInfo;\n  }\n  interface PriceInfo {\n      /** Price. */\n      price?: string;\n      /**\n       * Formatted price.\n       * @internal\n       * @readonly\n       */\n      formattedPrice?: string | null;\n  }\n  interface Label$1 {\n      /** Item label ID. */\n      _id?: string;\n  }\n  interface OrderSettings {\n      /**\n       * Whether the item is in stock.\n       * Default: `true`.\n       */\n      inStock?: boolean | null;\n      /**\n       * Whether a customer can add a special request when ordering this item.\n       * Default: `true`.\n       */\n      acceptSpecialRequests?: boolean | null;\n      /**\n       * E-com defined tax group for the product.\n       * @internal\n       */\n      taxGroupId?: string | null;\n  }\n  interface ModifierGroup {\n      /** Modifier group ID. */\n      _id?: string | null;\n  }\n  interface ExtendedFields$6 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface UpdateDocumentsEvent extends UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n      /** application which owns documents */\n      appDefId?: string | null;\n      /** type of the documents */\n      documentType?: string | null;\n      /** language of the documents */\n      language?: string | null;\n      /** site documents belong to */\n      msId?: string | null;\n  }\n  /** @oneof */\n  interface UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n  }\n  interface DocumentUpdateOperation {\n      /** documents to index or update */\n      documents?: IndexDocument[];\n  }\n  interface IndexDocument {\n      /** data bag with non-searchable fields (url, image) */\n      payload?: DocumentPayload;\n      /** what type of users should documents be visible to */\n      exposure?: Enum;\n      /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n      /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */\n      permittedMemberGroups?: string[];\n      /** if true SEO is disabled for this document */\n      seoHidden?: boolean | null;\n      /** if true the page is a lightbox popup */\n      isPopup?: boolean | null;\n  }\n  interface DocumentPayload {\n      /** url of the page representing the document */\n      url?: string | null;\n      /** image which represents the document */\n      documentImage?: DocumentImage;\n  }\n  interface DocumentImage {\n      /** the name of the image */\n      name?: string;\n      /** the width of the image */\n      width?: number;\n      /** the height of the image */\n      height?: number;\n  }\n  enum Enum {\n      /** Default value. Means that permission not set */\n      UNKNOWN = \"UNKNOWN\",\n      /** Protected exposure. Exposed to members and owners */\n      PROTECTED = \"PROTECTED\",\n      /** Private exposure. Exposed to owners */\n      PRIVATE = \"PRIVATE\",\n      /** Public exposure. Visible to everyone */\n      PUBLIC = \"PUBLIC\",\n      /** Used for partial updates, to state that exposure is not changing */\n      UNCHANGED = \"UNCHANGED\",\n      /** Protected to members of permitted groups and owners */\n      GROUP_PROTECTED = \"GROUP_PROTECTED\"\n  }\n  interface DeleteByIdsOperation {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface DeleteByFilterOperation {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface UpdateByFilterOperation {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: IndexDocument;\n  }\n  interface UpdateExistingOperation {\n      /** documents to update */\n      documents?: IndexDocument[];\n  }\n  interface DomainEvent$9 extends DomainEventBodyOneOf$9 {\n      createdEvent?: EntityCreatedEvent$9;\n      updatedEvent?: EntityUpdatedEvent$9;\n      deletedEvent?: EntityDeletedEvent$9;\n      actionEvent?: ActionEvent$9;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$9 {\n      createdEvent?: EntityCreatedEvent$9;\n      updatedEvent?: EntityUpdatedEvent$9;\n      deletedEvent?: EntityDeletedEvent$9;\n      actionEvent?: ActionEvent$9;\n  }\n  interface EntityCreatedEvent$9 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$9;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$9 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$9 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$9 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$9 {\n      bodyAsJson?: string;\n  }\n  interface Empty$8 {\n  }\n  interface SearchIndexingNotification {\n      /** new state of indexing for the site specified in ms_id */\n      indexState?: State;\n      /** type of the document the notification is targeted for. Applies to all types if not provided */\n      documentType?: string | null;\n      /** languaInternalDocumentUpdateByFilterOperationge the notification is targeted for. Applies to all languages if not provided */\n      language?: string | null;\n      /** site for which notification is targeted */\n      msId?: string | null;\n  }\n  enum State {\n      /** default state */\n      Unknown = \"Unknown\",\n      /** metasite does not require site search indexing */\n      Off = \"Off\",\n      /** metasite requires site search indexing */\n      On = \"On\"\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification$2 {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent$2;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation$2[];\n      /** Context of the notification */\n      changeContext?: ChangeContext$2;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent$2 {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties$2;\n  }\n  interface Properties$2 {\n      /** Site categories. */\n      categories?: Categories$2;\n      /** Site locale. */\n      locale?: Locale$3;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address$2;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$2;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual$2;\n      /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n      consentPolicy?: ConsentPolicy$2;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site URL that uses Wix as its headless business solution. */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics. */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories$2 {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale$3 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address$2 {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint$2;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates$2;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n   */\n  interface AddressHint$2 {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType$2;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType$2 {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates$2 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$2 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$2[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$2[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$2 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$2;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$2;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$2 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$2 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual$2 {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage$2[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage$2 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale$3;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod$2;\n  }\n  enum ResolutionMethod$2 {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy$2 {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation$2 {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext$2 extends ChangeContextPayloadOneOf$2 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$2;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$2;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$2;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf$2 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$2;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$2;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$2;\n  }\n  interface PropertiesChange$2 {\n  }\n  interface SiteCreated$2 {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned$2 {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface MessageEnvelope$9 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$9;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$9 extends IdentificationDataIdOneOf$9 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$9;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$9 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$9 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface InvalidateCache$6 extends InvalidateCacheGetByOneOf$6 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$6;\n      /** Invalidate by page id */\n      page?: Page$6;\n      /** Invalidate by URI path */\n      uri?: URI$6;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$6;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$6 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$6;\n      /** Invalidate by page id */\n      page?: Page$6;\n      /** Invalidate by URI path */\n      uri?: URI$6;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$6;\n  }\n  interface App$6 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$6 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$6 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$6 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateItemRequest {\n      /** Item details. */\n      item: Item;\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  interface CreateItemResponse {\n      /** Item. */\n      item?: Item;\n  }\n  interface BulkCreateItemsRequest {\n      /** Items details. */\n      items: Item[];\n      /** Whether to return entity in the response. */\n      returnEntity?: boolean;\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  interface BulkCreateItemsResponse {\n      /** Information about the created items. */\n      results?: BulkCreateItemResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$6;\n  }\n  interface BulkCreateItemResult {\n      /** Metadata for item update. */\n      itemMetadata?: ItemMetadata$6;\n      /** Created item. */\n      item?: Item;\n  }\n  interface ItemMetadata$6 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$6;\n  }\n  interface ApplicationError$6 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$6 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetItemRequest {\n      /** Item ID. */\n      itemId: string;\n  }\n  interface GetItemResponse {\n      /** Item. */\n      item?: Item;\n  }\n  interface ListItemsRequest {\n      /** Item IDs. */\n      itemIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$7;\n      /** Whether to return only items that are visible to site visitors. */\n      onlyVisible?: boolean | null;\n  }\n  interface CursorPaging$7 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListItemsResponse {\n      /** Items. */\n      items?: Item[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$7;\n  }\n  interface CursorPagingMetadata$7 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$7;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$7 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryItemsRequest {\n      /** Query options. */\n      query?: CursorQuery$8;\n  }\n  interface CursorQuery$8 extends CursorQueryPagingMethodOneOf$8 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$7;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$8[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$8 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$7;\n  }\n  interface Sorting$8 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$8;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$8 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryItemsResponse {\n      /** Retrieved items. */\n      items?: Item[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$7;\n  }\n  interface CountItemsRequest {\n      /** Filter for counting items. */\n      filter?: Record<string, any> | null;\n  }\n  interface CountItemsResponse {\n      /** Counted items. */\n      count?: number;\n  }\n  interface UpdateItemRequest {\n      /** Item to update. */\n      item: Item;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  interface UpdateItemResponse {\n      /** Updated item. */\n      item?: Item;\n  }\n  interface BulkUpdateItemRequest {\n      /** Items to update. */\n      items: MaskedItem[];\n      /** Whether to return entity in the response. */\n      returnEntity?: boolean;\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  interface MaskedItem {\n      /** Item to update. */\n      item?: Item;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface BulkUpdateItemResponse {\n      /** Information about the updated items. */\n      results?: BulkItemResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$6;\n  }\n  interface BulkItemResult {\n      /** Metadata for item update. */\n      itemMetadata?: ItemMetadata$6;\n      /** Updated item. Only returned if `returnEntity` is set to `true`. */\n      item?: Item;\n  }\n  interface DeleteItemRequest {\n      /** Item ID. */\n      itemId: string;\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  interface DeleteItemResponse {\n  }\n  interface BulkDeleteItemsRequest {\n      /** Item IDs. */\n      ids: string[];\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  interface BulkDeleteItemsResponse {\n      /** Information about the deleted items. */\n      results?: BulkDeleteItemResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$6;\n  }\n  interface BulkDeleteItemResult {\n      /** Metadata for item delete. */\n      itemMetadata?: ItemMetadata$6;\n  }\n  interface CloneItemsRequest {\n      /** The MetaSiteId to clone from. */\n      metaSiteId: string;\n  }\n  interface CloneItemsResponse {\n  }\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates an item.\n   *\n   * To create multiple items at once, use [Bulk Create Items](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item/bulk-create-items).\n   * @param item - Item details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField item\n   * @requiredField item.modifierGroups._id\n   * @permissionId RESTAURANTS.ITEM_CREATE\n   * @adminMethod\n   * @returns Item.\n   */\n  function createItem(item: Item, options?: CreateItemOptions): Promise<Item>;\n  interface CreateItemOptions {\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  /**\n   * > **Note:** The Items API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates multiple items at once.\n   * @param items - Items details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField items\n   * @requiredField items.modifierGroups._id\n   * @permissionId RESTAURANTS.ITEM_CREATE\n   * @adminMethod\n   */\n  function bulkCreateItems(items: Item[], options?: BulkCreateItemsOptions): Promise<BulkCreateItemsResponse>;\n  interface BulkCreateItemsOptions {\n      /** Whether to return entity in the response. */\n      returnEntity?: boolean;\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves an item by ID.\n   * @param itemId - Item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @permissionId RESTAURANTS.ITEM_READ\n   * @returns Item.\n   */\n  function getItem(itemId: string): Promise<Item>;\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves a list of up to 500 items.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.ITEM_READ\n   */\n  function listItems(options?: ListItemsOptions): Promise<ListItemsResponse>;\n  interface ListItemsOptions {\n      /** Item IDs. */\n      itemIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$7;\n      /** Whether to return only items that are visible to site visitors. */\n      onlyVisible?: boolean | null;\n  }\n  /**\n   * Creates a query to retrieve a list of items.\n   *\n   * The `queryItems()` function builds a query to retrieve a list of items and returns a `ItemsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/items/items-query-builder/find) function.\n   *\n   * You can refine the query by chaining `ItemsQueryBuilder` functions onto the query. `ItemsQueryBuilder` functions enable you to filter, sort, and control the results that `queryItems()` returns.\n   *\n   * `queryItems()` runs with the following `ItemsQueryBuilder` defaults, which you can override:\n   *\n   * * [`limit(500)`](/items/items-query-builder/limit)\n   * * [`ascending('entityId')`](/items/items-query-builder/ascending)\n   *\n   * The following `ItemsQueryBuilder` functions are supported for `queryItems()`. For a full description of the item object, see the object returned for the [`items`](/items/items-query-result/items) property in `ItemsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.ITEM_READ\n   */\n  function queryItems(): ItemsQueryBuilder;\n  interface QueryCursorResult$8 {\n      cursors: Cursors$7;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ItemsQueryResult extends QueryCursorResult$8 {\n      items: Item[];\n      query: ItemsQueryBuilder;\n      next: () => Promise<ItemsQueryResult>;\n      prev: () => Promise<ItemsQueryResult>;\n  }\n  interface ItemsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'priceVariants.variants.price' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'image.id' | 'orderSettings.inStock' | 'orderSettings.acceptSpecialRequests', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'priceVariants.variants.price' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'image.id' | 'orderSettings.inStock' | 'orderSettings.acceptSpecialRequests', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'name' | 'description', value: string) => ItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | 'description' | 'orderSettings.inStock' | 'orderSettings.acceptSpecialRequests', value: any) => ItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'priceVariants.variants' | 'image' | 'labels' | 'orderSettings', value: boolean) => ItemsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ItemsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ItemsQueryResult>;\n  }\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves the number of items that match a specified filter.\n   *\n   * If a filter isn't passed in the request, the endpoint returns the count of all items.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.ITEM_READ\n   */\n  function countItems(options?: CountItemsOptions): Promise<CountItemsResponse>;\n  interface CountItemsOptions {\n      /** Filter for counting items. */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates an item.\n   *\n   * To update multiple items at once, use [Bulk Update Item](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item/bulk-update-item)\n   *\n   * Each time an item is updated, its revision increments by 1. The existing revision must be included when updating the item. This ensures you're working with the latest item information, and it prevents unintended overwrites.\n   * @param _id - Item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField item\n   * @requiredField item.modifierGroups._id\n   * @requiredField item.revision\n   * @permissionId RESTAURANTS.ITEM_UPDATE\n   * @adminMethod\n   * @returns Updated item.\n   */\n  function updateItem(_id: string | null, item: UpdateItem, options?: UpdateItemOptions): Promise<Item>;\n  interface UpdateItem {\n      /** Item price variants. */\n      priceVariants?: PriceVariants;\n      /** Item price info. */\n      priceInfo?: PriceInfo;\n      /**\n       * Item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the item is updated. To prevent conflicting changes, the current revision must be passed when updating the item. Ignored when creating a item.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Item name. */\n      name?: string;\n      /** Item description. */\n      description?: string | null;\n      /** Main item image. */\n      image?: string;\n      /** Additional item images. */\n      additionalImages?: string[];\n      /** Item labels. */\n      labels?: Label$1[];\n      /** Whether the item is visible in the menu for site visitors. */\n      visible?: boolean | null;\n      /** Online order settings. */\n      orderSettings?: OrderSettings;\n      /** Item modifier groups. */\n      modifierGroups?: ModifierGroup[];\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$6;\n      /**\n       * @internal\n       * @readonly\n       */\n      oloMigrationItemId?: string | null;\n  }\n  interface UpdateItemOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates up to 100 multiple items at once.\n   *\n   * Each time an item is updated, its revision increments by 1. The existing revision must be included when updating item. This ensures you're working with the latest item information, and it prevents unintended overwrites.\n   * @param items - Items to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField items\n   * @requiredField items.item._id\n   * @requiredField items.item.modifierGroups._id\n   * @requiredField items.item.revision\n   * @permissionId RESTAURANTS.ITEM_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateItem(items: MaskedItem[], options?: BulkUpdateItemOptions): Promise<BulkUpdateItemResponse>;\n  interface BulkUpdateItemOptions {\n      /** Whether to return entity in the response. */\n      returnEntity?: boolean;\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Deletes an item.\n   * @param itemId - Item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @permissionId RESTAURANTS.ITEM_DELETE\n   * @adminMethod\n   */\n  function deleteItem(itemId: string, options?: DeleteItemOptions): Promise<void>;\n  interface DeleteItemOptions {\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Deletes multiple items at once.\n   * @param ids - Item IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId RESTAURANTS.ITEM_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteItems(ids: string[], options?: BulkDeleteItemsOptions): Promise<BulkDeleteItemsResponse>;\n  interface BulkDeleteItemsOptions {\n      /**\n       * The source of this request.\n       * @internal\n       */\n      source?: string | null;\n  }\n  /**\n   * Clone items from a different metasite.\n   * @param metaSiteId - The MetaSiteId to clone from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @permissionId RESTAURANTS.ITEM_CREATE\n   * @adminMethod\n   */\n  function cloneItems(metaSiteId: string): Promise<void>;\n  \n  type restaurantsMenusV1Item_universal_d_Item = Item;\n  type restaurantsMenusV1Item_universal_d_ItemPricingOneOf = ItemPricingOneOf;\n  type restaurantsMenusV1Item_universal_d_PriceVariants = PriceVariants;\n  type restaurantsMenusV1Item_universal_d_PriceVariant = PriceVariant;\n  type restaurantsMenusV1Item_universal_d_PriceInfo = PriceInfo;\n  type restaurantsMenusV1Item_universal_d_OrderSettings = OrderSettings;\n  type restaurantsMenusV1Item_universal_d_ModifierGroup = ModifierGroup;\n  type restaurantsMenusV1Item_universal_d_UpdateDocumentsEvent = UpdateDocumentsEvent;\n  type restaurantsMenusV1Item_universal_d_UpdateDocumentsEventOperationOneOf = UpdateDocumentsEventOperationOneOf;\n  type restaurantsMenusV1Item_universal_d_DocumentUpdateOperation = DocumentUpdateOperation;\n  type restaurantsMenusV1Item_universal_d_IndexDocument = IndexDocument;\n  type restaurantsMenusV1Item_universal_d_DocumentPayload = DocumentPayload;\n  type restaurantsMenusV1Item_universal_d_DocumentImage = DocumentImage;\n  type restaurantsMenusV1Item_universal_d_Enum = Enum;\n  const restaurantsMenusV1Item_universal_d_Enum: typeof Enum;\n  type restaurantsMenusV1Item_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n  type restaurantsMenusV1Item_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n  type restaurantsMenusV1Item_universal_d_UpdateByFilterOperation = UpdateByFilterOperation;\n  type restaurantsMenusV1Item_universal_d_UpdateExistingOperation = UpdateExistingOperation;\n  type restaurantsMenusV1Item_universal_d_SearchIndexingNotification = SearchIndexingNotification;\n  type restaurantsMenusV1Item_universal_d_State = State;\n  const restaurantsMenusV1Item_universal_d_State: typeof State;\n  type restaurantsMenusV1Item_universal_d_CreateItemRequest = CreateItemRequest;\n  type restaurantsMenusV1Item_universal_d_CreateItemResponse = CreateItemResponse;\n  type restaurantsMenusV1Item_universal_d_BulkCreateItemsRequest = BulkCreateItemsRequest;\n  type restaurantsMenusV1Item_universal_d_BulkCreateItemsResponse = BulkCreateItemsResponse;\n  type restaurantsMenusV1Item_universal_d_BulkCreateItemResult = BulkCreateItemResult;\n  type restaurantsMenusV1Item_universal_d_GetItemRequest = GetItemRequest;\n  type restaurantsMenusV1Item_universal_d_GetItemResponse = GetItemResponse;\n  type restaurantsMenusV1Item_universal_d_ListItemsRequest = ListItemsRequest;\n  type restaurantsMenusV1Item_universal_d_ListItemsResponse = ListItemsResponse;\n  type restaurantsMenusV1Item_universal_d_QueryItemsRequest = QueryItemsRequest;\n  type restaurantsMenusV1Item_universal_d_QueryItemsResponse = QueryItemsResponse;\n  type restaurantsMenusV1Item_universal_d_CountItemsRequest = CountItemsRequest;\n  type restaurantsMenusV1Item_universal_d_CountItemsResponse = CountItemsResponse;\n  type restaurantsMenusV1Item_universal_d_UpdateItemRequest = UpdateItemRequest;\n  type restaurantsMenusV1Item_universal_d_UpdateItemResponse = UpdateItemResponse;\n  type restaurantsMenusV1Item_universal_d_BulkUpdateItemRequest = BulkUpdateItemRequest;\n  type restaurantsMenusV1Item_universal_d_MaskedItem = MaskedItem;\n  type restaurantsMenusV1Item_universal_d_BulkUpdateItemResponse = BulkUpdateItemResponse;\n  type restaurantsMenusV1Item_universal_d_BulkItemResult = BulkItemResult;\n  type restaurantsMenusV1Item_universal_d_DeleteItemRequest = DeleteItemRequest;\n  type restaurantsMenusV1Item_universal_d_DeleteItemResponse = DeleteItemResponse;\n  type restaurantsMenusV1Item_universal_d_BulkDeleteItemsRequest = BulkDeleteItemsRequest;\n  type restaurantsMenusV1Item_universal_d_BulkDeleteItemsResponse = BulkDeleteItemsResponse;\n  type restaurantsMenusV1Item_universal_d_BulkDeleteItemResult = BulkDeleteItemResult;\n  type restaurantsMenusV1Item_universal_d_CloneItemsRequest = CloneItemsRequest;\n  type restaurantsMenusV1Item_universal_d_CloneItemsResponse = CloneItemsResponse;\n  const restaurantsMenusV1Item_universal_d_createItem: typeof createItem;\n  type restaurantsMenusV1Item_universal_d_CreateItemOptions = CreateItemOptions;\n  const restaurantsMenusV1Item_universal_d_bulkCreateItems: typeof bulkCreateItems;\n  type restaurantsMenusV1Item_universal_d_BulkCreateItemsOptions = BulkCreateItemsOptions;\n  const restaurantsMenusV1Item_universal_d_getItem: typeof getItem;\n  const restaurantsMenusV1Item_universal_d_listItems: typeof listItems;\n  type restaurantsMenusV1Item_universal_d_ListItemsOptions = ListItemsOptions;\n  const restaurantsMenusV1Item_universal_d_queryItems: typeof queryItems;\n  type restaurantsMenusV1Item_universal_d_ItemsQueryResult = ItemsQueryResult;\n  type restaurantsMenusV1Item_universal_d_ItemsQueryBuilder = ItemsQueryBuilder;\n  const restaurantsMenusV1Item_universal_d_countItems: typeof countItems;\n  type restaurantsMenusV1Item_universal_d_CountItemsOptions = CountItemsOptions;\n  const restaurantsMenusV1Item_universal_d_updateItem: typeof updateItem;\n  type restaurantsMenusV1Item_universal_d_UpdateItem = UpdateItem;\n  type restaurantsMenusV1Item_universal_d_UpdateItemOptions = UpdateItemOptions;\n  const restaurantsMenusV1Item_universal_d_bulkUpdateItem: typeof bulkUpdateItem;\n  type restaurantsMenusV1Item_universal_d_BulkUpdateItemOptions = BulkUpdateItemOptions;\n  const restaurantsMenusV1Item_universal_d_deleteItem: typeof deleteItem;\n  type restaurantsMenusV1Item_universal_d_DeleteItemOptions = DeleteItemOptions;\n  const restaurantsMenusV1Item_universal_d_bulkDeleteItems: typeof bulkDeleteItems;\n  type restaurantsMenusV1Item_universal_d_BulkDeleteItemsOptions = BulkDeleteItemsOptions;\n  const restaurantsMenusV1Item_universal_d_cloneItems: typeof cloneItems;\n  namespace restaurantsMenusV1Item_universal_d {\n    export {\n      restaurantsMenusV1Item_universal_d_Item as Item,\n      restaurantsMenusV1Item_universal_d_ItemPricingOneOf as ItemPricingOneOf,\n      restaurantsMenusV1Item_universal_d_PriceVariants as PriceVariants,\n      restaurantsMenusV1Item_universal_d_PriceVariant as PriceVariant,\n      restaurantsMenusV1Item_universal_d_PriceInfo as PriceInfo,\n      Label$1 as Label,\n      restaurantsMenusV1Item_universal_d_OrderSettings as OrderSettings,\n      restaurantsMenusV1Item_universal_d_ModifierGroup as ModifierGroup,\n      ExtendedFields$6 as ExtendedFields,\n      restaurantsMenusV1Item_universal_d_UpdateDocumentsEvent as UpdateDocumentsEvent,\n      restaurantsMenusV1Item_universal_d_UpdateDocumentsEventOperationOneOf as UpdateDocumentsEventOperationOneOf,\n      restaurantsMenusV1Item_universal_d_DocumentUpdateOperation as DocumentUpdateOperation,\n      restaurantsMenusV1Item_universal_d_IndexDocument as IndexDocument,\n      restaurantsMenusV1Item_universal_d_DocumentPayload as DocumentPayload,\n      restaurantsMenusV1Item_universal_d_DocumentImage as DocumentImage,\n      restaurantsMenusV1Item_universal_d_Enum as Enum,\n      restaurantsMenusV1Item_universal_d_DeleteByIdsOperation as DeleteByIdsOperation,\n      restaurantsMenusV1Item_universal_d_DeleteByFilterOperation as DeleteByFilterOperation,\n      restaurantsMenusV1Item_universal_d_UpdateByFilterOperation as UpdateByFilterOperation,\n      restaurantsMenusV1Item_universal_d_UpdateExistingOperation as UpdateExistingOperation,\n      DomainEvent$9 as DomainEvent,\n      DomainEventBodyOneOf$9 as DomainEventBodyOneOf,\n      EntityCreatedEvent$9 as EntityCreatedEvent,\n      RestoreInfo$9 as RestoreInfo,\n      EntityUpdatedEvent$9 as EntityUpdatedEvent,\n      EntityDeletedEvent$9 as EntityDeletedEvent,\n      ActionEvent$9 as ActionEvent,\n      Empty$8 as Empty,\n      restaurantsMenusV1Item_universal_d_SearchIndexingNotification as SearchIndexingNotification,\n      restaurantsMenusV1Item_universal_d_State as State,\n      SitePropertiesNotification$2 as SitePropertiesNotification,\n      SitePropertiesEvent$2 as SitePropertiesEvent,\n      Properties$2 as Properties,\n      Categories$2 as Categories,\n      Locale$3 as Locale,\n      Address$2 as Address,\n      AddressHint$2 as AddressHint,\n      PlacementType$2 as PlacementType,\n      GeoCoordinates$2 as GeoCoordinates,\n      BusinessSchedule$2 as BusinessSchedule,\n      TimePeriod$2 as TimePeriod,\n      DayOfWeek$2 as DayOfWeek,\n      SpecialHourPeriod$2 as SpecialHourPeriod,\n      Multilingual$2 as Multilingual,\n      SupportedLanguage$2 as SupportedLanguage,\n      ResolutionMethod$2 as ResolutionMethod,\n      ConsentPolicy$2 as ConsentPolicy,\n      Translation$2 as Translation,\n      ChangeContext$2 as ChangeContext,\n      ChangeContextPayloadOneOf$2 as ChangeContextPayloadOneOf,\n      PropertiesChange$2 as PropertiesChange,\n      SiteCreated$2 as SiteCreated,\n      SiteCloned$2 as SiteCloned,\n      MessageEnvelope$9 as MessageEnvelope,\n      IdentificationData$9 as IdentificationData,\n      IdentificationDataIdOneOf$9 as IdentificationDataIdOneOf,\n      WebhookIdentityType$9 as WebhookIdentityType,\n      InvalidateCache$6 as InvalidateCache,\n      InvalidateCacheGetByOneOf$6 as InvalidateCacheGetByOneOf,\n      App$6 as App,\n      Page$6 as Page,\n      URI$6 as URI,\n      File$6 as File,\n      restaurantsMenusV1Item_universal_d_CreateItemRequest as CreateItemRequest,\n      restaurantsMenusV1Item_universal_d_CreateItemResponse as CreateItemResponse,\n      restaurantsMenusV1Item_universal_d_BulkCreateItemsRequest as BulkCreateItemsRequest,\n      restaurantsMenusV1Item_universal_d_BulkCreateItemsResponse as BulkCreateItemsResponse,\n      restaurantsMenusV1Item_universal_d_BulkCreateItemResult as BulkCreateItemResult,\n      ItemMetadata$6 as ItemMetadata,\n      ApplicationError$6 as ApplicationError,\n      BulkActionMetadata$6 as BulkActionMetadata,\n      restaurantsMenusV1Item_universal_d_GetItemRequest as GetItemRequest,\n      restaurantsMenusV1Item_universal_d_GetItemResponse as GetItemResponse,\n      restaurantsMenusV1Item_universal_d_ListItemsRequest as ListItemsRequest,\n      CursorPaging$7 as CursorPaging,\n      restaurantsMenusV1Item_universal_d_ListItemsResponse as ListItemsResponse,\n      CursorPagingMetadata$7 as CursorPagingMetadata,\n      Cursors$7 as Cursors,\n      restaurantsMenusV1Item_universal_d_QueryItemsRequest as QueryItemsRequest,\n      CursorQuery$8 as CursorQuery,\n      CursorQueryPagingMethodOneOf$8 as CursorQueryPagingMethodOneOf,\n      Sorting$8 as Sorting,\n      SortOrder$8 as SortOrder,\n      restaurantsMenusV1Item_universal_d_QueryItemsResponse as QueryItemsResponse,\n      restaurantsMenusV1Item_universal_d_CountItemsRequest as CountItemsRequest,\n      restaurantsMenusV1Item_universal_d_CountItemsResponse as CountItemsResponse,\n      restaurantsMenusV1Item_universal_d_UpdateItemRequest as UpdateItemRequest,\n      restaurantsMenusV1Item_universal_d_UpdateItemResponse as UpdateItemResponse,\n      restaurantsMenusV1Item_universal_d_BulkUpdateItemRequest as BulkUpdateItemRequest,\n      restaurantsMenusV1Item_universal_d_MaskedItem as MaskedItem,\n      restaurantsMenusV1Item_universal_d_BulkUpdateItemResponse as BulkUpdateItemResponse,\n      restaurantsMenusV1Item_universal_d_BulkItemResult as BulkItemResult,\n      restaurantsMenusV1Item_universal_d_DeleteItemRequest as DeleteItemRequest,\n      restaurantsMenusV1Item_universal_d_DeleteItemResponse as DeleteItemResponse,\n      restaurantsMenusV1Item_universal_d_BulkDeleteItemsRequest as BulkDeleteItemsRequest,\n      restaurantsMenusV1Item_universal_d_BulkDeleteItemsResponse as BulkDeleteItemsResponse,\n      restaurantsMenusV1Item_universal_d_BulkDeleteItemResult as BulkDeleteItemResult,\n      restaurantsMenusV1Item_universal_d_CloneItemsRequest as CloneItemsRequest,\n      restaurantsMenusV1Item_universal_d_CloneItemsResponse as CloneItemsResponse,\n      restaurantsMenusV1Item_universal_d_createItem as createItem,\n      restaurantsMenusV1Item_universal_d_CreateItemOptions as CreateItemOptions,\n      restaurantsMenusV1Item_universal_d_bulkCreateItems as bulkCreateItems,\n      restaurantsMenusV1Item_universal_d_BulkCreateItemsOptions as BulkCreateItemsOptions,\n      restaurantsMenusV1Item_universal_d_getItem as getItem,\n      restaurantsMenusV1Item_universal_d_listItems as listItems,\n      restaurantsMenusV1Item_universal_d_ListItemsOptions as ListItemsOptions,\n      restaurantsMenusV1Item_universal_d_queryItems as queryItems,\n      restaurantsMenusV1Item_universal_d_ItemsQueryResult as ItemsQueryResult,\n      restaurantsMenusV1Item_universal_d_ItemsQueryBuilder as ItemsQueryBuilder,\n      restaurantsMenusV1Item_universal_d_countItems as countItems,\n      restaurantsMenusV1Item_universal_d_CountItemsOptions as CountItemsOptions,\n      restaurantsMenusV1Item_universal_d_updateItem as updateItem,\n      restaurantsMenusV1Item_universal_d_UpdateItem as UpdateItem,\n      restaurantsMenusV1Item_universal_d_UpdateItemOptions as UpdateItemOptions,\n      restaurantsMenusV1Item_universal_d_bulkUpdateItem as bulkUpdateItem,\n      restaurantsMenusV1Item_universal_d_BulkUpdateItemOptions as BulkUpdateItemOptions,\n      restaurantsMenusV1Item_universal_d_deleteItem as deleteItem,\n      restaurantsMenusV1Item_universal_d_DeleteItemOptions as DeleteItemOptions,\n      restaurantsMenusV1Item_universal_d_bulkDeleteItems as bulkDeleteItems,\n      restaurantsMenusV1Item_universal_d_BulkDeleteItemsOptions as BulkDeleteItemsOptions,\n      restaurantsMenusV1Item_universal_d_cloneItems as cloneItems,\n    };\n  }\n  \n  interface Label {\n      /**\n       * Item label ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the item label is updated. To prevent conflicting changes, the current revision must be passed when updating the item label. Ignored when creating a item label.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the item label was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item label was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Item label name. */\n      name?: string;\n      /** Item label icon. */\n      icon?: string;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$5;\n  }\n  interface ExtendedFields$5 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache$5 extends InvalidateCacheGetByOneOf$5 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$5;\n      /** Invalidate by page id */\n      page?: Page$5;\n      /** Invalidate by URI path */\n      uri?: URI$5;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$5;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$5 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$5;\n      /** Invalidate by page id */\n      page?: Page$5;\n      /** Invalidate by URI path */\n      uri?: URI$5;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$5;\n  }\n  interface App$5 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$5 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$5 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$5 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateLabelRequest {\n      /** Item label details. */\n      label: Label;\n  }\n  interface CreateLabelResponse {\n      /** Item label. */\n      label?: Label;\n  }\n  interface GetLabelRequest {\n      /** Item label ID. */\n      labelId: string;\n  }\n  interface GetLabelResponse {\n      /** Item label. */\n      label?: Label;\n  }\n  interface ListLabelsRequest {\n  }\n  interface ListLabelsResponse {\n      /** Retrieved item labels. */\n      labels?: Label[];\n  }\n  interface QueryLabelsRequest {\n      /** Query options. */\n      query?: CursorQuery$7;\n  }\n  interface CursorQuery$7 extends CursorQueryPagingMethodOneOf$7 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$6;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$7[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$7 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$6;\n  }\n  interface Sorting$7 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$7;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$7 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$6 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryLabelsResponse {\n      /** Retrieved item labels. */\n      labels?: Label[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$6;\n  }\n  interface CursorPagingMetadata$6 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$6;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$6 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateLabelRequest {\n      /** Item label to update. */\n      label: Label;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateLabelResponse {\n      /** Updated item label. */\n      label?: Label;\n  }\n  interface DeleteLabelRequest {\n      /** ID of the item label. */\n      labelId: string;\n  }\n  interface DeleteLabelResponse {\n  }\n  interface CloneLabelsRequest {\n      /** The MetaSiteId to clone from. */\n      metaSiteId: string;\n  }\n  interface CloneLabelsResponse {\n  }\n  interface DomainEvent$8 extends DomainEventBodyOneOf$8 {\n      createdEvent?: EntityCreatedEvent$8;\n      updatedEvent?: EntityUpdatedEvent$8;\n      deletedEvent?: EntityDeletedEvent$8;\n      actionEvent?: ActionEvent$8;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$8 {\n      createdEvent?: EntityCreatedEvent$8;\n      updatedEvent?: EntityUpdatedEvent$8;\n      deletedEvent?: EntityDeletedEvent$8;\n      actionEvent?: ActionEvent$8;\n  }\n  interface EntityCreatedEvent$8 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$8;\n  }\n  interface RestoreInfo$8 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$8 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$8 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$8 {\n      bodyAsJson?: string;\n  }\n  interface Empty$7 {\n  }\n  interface MessageEnvelope$8 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$8;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$8 extends IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$8;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$8 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * > **Note:** The Label API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates an item label.\n   * @param label - Item label details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField label\n   * @permissionId RESTAURANTS.LABEL_CREATE\n   * @adminMethod\n   * @returns Item label.\n   */\n  function createLabel(label: Label): Promise<Label>;\n  /**\n   * > **Note:** The Labels API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves an item label by ID.\n   * @param labelId - Item label ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField labelId\n   * @permissionId RESTAURANTS.LABEL_READ\n   * @returns Item label.\n   */\n  function getLabel(labelId: string): Promise<Label>;\n  /**\n   * > **Note:** The Label API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves a list of up to 500 item labels.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.LABEL_READ\n   */\n  function listLabels(): Promise<ListLabelsResponse>;\n  /**\n   * Creates a query to retrieve a list of item labels.\n   *\n   * The `queryLabels()` function builds a query to retrieve a list of item labels and returns a `LabelsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/item-labels/labels-query-builder/find) function.\n   *\n   * You can refine the query by chaining `LabelsQueryBuilder` functions onto the query. `LabelsQueryBuilder` functions enable you to filter, sort, and control the results that `queryLabels()` returns.\n   *\n   * `queryLabels()` runs with the following `LabelsQueryBuilder` defaults, which you can override:\n   *\n   * * [`limit(100)`](/item-labels/labels-query-builder/limit)\n   * * [`ascending('entityId')`](/item-labels/labels-query-builder/ascending)\n   *\n   * The following `LabelsQueryBuilder` functions are supported for `queryLabels()`. For a full description of the item label object, see the object returned for the [`items`](/item-labels/labels-query-result/items) property in `LabelsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.LABEL_READ\n   */\n  function queryLabels(): LabelsQueryBuilder;\n  interface QueryCursorResult$7 {\n      cursors: Cursors$6;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface LabelsQueryResult extends QueryCursorResult$7 {\n      items: Label[];\n      query: LabelsQueryBuilder;\n      next: () => Promise<LabelsQueryResult>;\n      prev: () => Promise<LabelsQueryResult>;\n  }\n  interface LabelsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => LabelsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'name', value: string) => LabelsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name', value: any) => LabelsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'icon', value: boolean) => LabelsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => LabelsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => LabelsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<LabelsQueryResult>;\n  }\n  /**\n   * > **Note:** The Label API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates an item Label.\n   *\n   * Each time an item label is updated, its revision increments by 1. The existing revision must be included when updating the item labels. This ensures you're working with the latest item labels information, and it prevents unintended overwrites.\n   * @param _id - Item label ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField label\n   * @requiredField label.revision\n   * @permissionId RESTAURANTS.LABEL_UPDATE\n   * @adminMethod\n   * @returns Updated item label.\n   */\n  function updateLabel(_id: string | null, label: UpdateLabel, options?: UpdateLabelOptions): Promise<Label>;\n  interface UpdateLabel {\n      /**\n       * Item label ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the item label is updated. To prevent conflicting changes, the current revision must be passed when updating the item label. Ignored when creating a item label.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the item label was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item label was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Item label name. */\n      name?: string;\n      /** Item label icon. */\n      icon?: string;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$5;\n  }\n  interface UpdateLabelOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * > **Note:** The Label API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Deletes an item label.\n   * @param labelId - ID of the item label.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField labelId\n   * @permissionId RESTAURANTS.LABEL_DELETE\n   * @adminMethod\n   */\n  function deleteLabel(labelId: string): Promise<void>;\n  /**\n   * Clone labels from a different metasite\n   * @param metaSiteId - The MetaSiteId to clone from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @permissionId RESTAURANTS.LABEL_CREATE\n   * @adminMethod\n   */\n  function cloneLabels(metaSiteId: string): Promise<void>;\n  \n  type restaurantsMenusV1ItemLabel_universal_d_Label = Label;\n  type restaurantsMenusV1ItemLabel_universal_d_CreateLabelRequest = CreateLabelRequest;\n  type restaurantsMenusV1ItemLabel_universal_d_CreateLabelResponse = CreateLabelResponse;\n  type restaurantsMenusV1ItemLabel_universal_d_GetLabelRequest = GetLabelRequest;\n  type restaurantsMenusV1ItemLabel_universal_d_GetLabelResponse = GetLabelResponse;\n  type restaurantsMenusV1ItemLabel_universal_d_ListLabelsRequest = ListLabelsRequest;\n  type restaurantsMenusV1ItemLabel_universal_d_ListLabelsResponse = ListLabelsResponse;\n  type restaurantsMenusV1ItemLabel_universal_d_QueryLabelsRequest = QueryLabelsRequest;\n  type restaurantsMenusV1ItemLabel_universal_d_QueryLabelsResponse = QueryLabelsResponse;\n  type restaurantsMenusV1ItemLabel_universal_d_UpdateLabelRequest = UpdateLabelRequest;\n  type restaurantsMenusV1ItemLabel_universal_d_UpdateLabelResponse = UpdateLabelResponse;\n  type restaurantsMenusV1ItemLabel_universal_d_DeleteLabelRequest = DeleteLabelRequest;\n  type restaurantsMenusV1ItemLabel_universal_d_DeleteLabelResponse = DeleteLabelResponse;\n  type restaurantsMenusV1ItemLabel_universal_d_CloneLabelsRequest = CloneLabelsRequest;\n  type restaurantsMenusV1ItemLabel_universal_d_CloneLabelsResponse = CloneLabelsResponse;\n  const restaurantsMenusV1ItemLabel_universal_d_createLabel: typeof createLabel;\n  const restaurantsMenusV1ItemLabel_universal_d_getLabel: typeof getLabel;\n  const restaurantsMenusV1ItemLabel_universal_d_listLabels: typeof listLabels;\n  const restaurantsMenusV1ItemLabel_universal_d_queryLabels: typeof queryLabels;\n  type restaurantsMenusV1ItemLabel_universal_d_LabelsQueryResult = LabelsQueryResult;\n  type restaurantsMenusV1ItemLabel_universal_d_LabelsQueryBuilder = LabelsQueryBuilder;\n  const restaurantsMenusV1ItemLabel_universal_d_updateLabel: typeof updateLabel;\n  type restaurantsMenusV1ItemLabel_universal_d_UpdateLabel = UpdateLabel;\n  type restaurantsMenusV1ItemLabel_universal_d_UpdateLabelOptions = UpdateLabelOptions;\n  const restaurantsMenusV1ItemLabel_universal_d_deleteLabel: typeof deleteLabel;\n  const restaurantsMenusV1ItemLabel_universal_d_cloneLabels: typeof cloneLabels;\n  namespace restaurantsMenusV1ItemLabel_universal_d {\n    export {\n      restaurantsMenusV1ItemLabel_universal_d_Label as Label,\n      ExtendedFields$5 as ExtendedFields,\n      InvalidateCache$5 as InvalidateCache,\n      InvalidateCacheGetByOneOf$5 as InvalidateCacheGetByOneOf,\n      App$5 as App,\n      Page$5 as Page,\n      URI$5 as URI,\n      File$5 as File,\n      restaurantsMenusV1ItemLabel_universal_d_CreateLabelRequest as CreateLabelRequest,\n      restaurantsMenusV1ItemLabel_universal_d_CreateLabelResponse as CreateLabelResponse,\n      restaurantsMenusV1ItemLabel_universal_d_GetLabelRequest as GetLabelRequest,\n      restaurantsMenusV1ItemLabel_universal_d_GetLabelResponse as GetLabelResponse,\n      restaurantsMenusV1ItemLabel_universal_d_ListLabelsRequest as ListLabelsRequest,\n      restaurantsMenusV1ItemLabel_universal_d_ListLabelsResponse as ListLabelsResponse,\n      restaurantsMenusV1ItemLabel_universal_d_QueryLabelsRequest as QueryLabelsRequest,\n      CursorQuery$7 as CursorQuery,\n      CursorQueryPagingMethodOneOf$7 as CursorQueryPagingMethodOneOf,\n      Sorting$7 as Sorting,\n      SortOrder$7 as SortOrder,\n      CursorPaging$6 as CursorPaging,\n      restaurantsMenusV1ItemLabel_universal_d_QueryLabelsResponse as QueryLabelsResponse,\n      CursorPagingMetadata$6 as CursorPagingMetadata,\n      Cursors$6 as Cursors,\n      restaurantsMenusV1ItemLabel_universal_d_UpdateLabelRequest as UpdateLabelRequest,\n      restaurantsMenusV1ItemLabel_universal_d_UpdateLabelResponse as UpdateLabelResponse,\n      restaurantsMenusV1ItemLabel_universal_d_DeleteLabelRequest as DeleteLabelRequest,\n      restaurantsMenusV1ItemLabel_universal_d_DeleteLabelResponse as DeleteLabelResponse,\n      restaurantsMenusV1ItemLabel_universal_d_CloneLabelsRequest as CloneLabelsRequest,\n      restaurantsMenusV1ItemLabel_universal_d_CloneLabelsResponse as CloneLabelsResponse,\n      DomainEvent$8 as DomainEvent,\n      DomainEventBodyOneOf$8 as DomainEventBodyOneOf,\n      EntityCreatedEvent$8 as EntityCreatedEvent,\n      RestoreInfo$8 as RestoreInfo,\n      EntityUpdatedEvent$8 as EntityUpdatedEvent,\n      EntityDeletedEvent$8 as EntityDeletedEvent,\n      ActionEvent$8 as ActionEvent,\n      Empty$7 as Empty,\n      MessageEnvelope$8 as MessageEnvelope,\n      IdentificationData$8 as IdentificationData,\n      IdentificationDataIdOneOf$8 as IdentificationDataIdOneOf,\n      WebhookIdentityType$8 as WebhookIdentityType,\n      restaurantsMenusV1ItemLabel_universal_d_createLabel as createLabel,\n      restaurantsMenusV1ItemLabel_universal_d_getLabel as getLabel,\n      restaurantsMenusV1ItemLabel_universal_d_listLabels as listLabels,\n      restaurantsMenusV1ItemLabel_universal_d_queryLabels as queryLabels,\n      restaurantsMenusV1ItemLabel_universal_d_LabelsQueryResult as LabelsQueryResult,\n      restaurantsMenusV1ItemLabel_universal_d_LabelsQueryBuilder as LabelsQueryBuilder,\n      restaurantsMenusV1ItemLabel_universal_d_updateLabel as updateLabel,\n      restaurantsMenusV1ItemLabel_universal_d_UpdateLabel as UpdateLabel,\n      restaurantsMenusV1ItemLabel_universal_d_UpdateLabelOptions as UpdateLabelOptions,\n      restaurantsMenusV1ItemLabel_universal_d_deleteLabel as deleteLabel,\n      restaurantsMenusV1ItemLabel_universal_d_cloneLabels as cloneLabels,\n    };\n  }\n  \n  /**\n   * An item modifier is a type of menu item that serves as an addition to a menu item.\n   * Read more about [item modifiers](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item-modifiers/introduction).\n   */\n  interface Modifier {\n      /**\n       * Item modifier ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the item modifier is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the item modifier. <br />\n       *\n       * Ignored when creating an item modifier.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the item modifier was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item modifier was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Item modifier display name. */\n      name?: string | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$4;\n      /**\n       * Whether the modifier is in stock.\n       * Default: `true`.\n       */\n      inStock?: boolean | null;\n  }\n  interface ExtendedFields$4 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache$4 extends InvalidateCacheGetByOneOf$4 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$4;\n      /** Invalidate by page id */\n      page?: Page$4;\n      /** Invalidate by URI path */\n      uri?: URI$4;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$4;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$4 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$4;\n      /** Invalidate by page id */\n      page?: Page$4;\n      /** Invalidate by URI path */\n      uri?: URI$4;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$4;\n  }\n  interface App$4 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$4 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$4 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$4 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateModifierRequest {\n      /** Item modifier to create. */\n      modifier: Modifier;\n  }\n  interface CreateModifierResponse {\n      /** Created item modifier. */\n      modifier?: Modifier;\n  }\n  interface GetModifierRequest {\n      /** ID of the item modifier to retrieve. */\n      modifierId: string;\n  }\n  interface GetModifierResponse {\n      /** Retrieved item modifier. */\n      modifier?: Modifier;\n  }\n  interface ListModifiersRequest {\n      /** IDs of the item modifiers to retrieve. */\n      modifierIds?: string[];\n      /** Metadata of the paginated results. */\n      paging?: CursorPaging$5;\n  }\n  interface CursorPaging$5 {\n      /** Maximum number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListModifiersResponse {\n      /** Retrieved item modifiers. */\n      modifiers?: Modifier[];\n      /** Metadata of the paginated results. */\n      metadata?: CursorPagingMetadata$5;\n  }\n  interface CursorPagingMetadata$5 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor pointing to the next page and the previous page in the list of results. */\n      cursors?: Cursors$5;\n      /**\n       * Whether there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$5 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateModifierRequest {\n      /** Item Modifier with updated properties. */\n      modifier: Modifier;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateModifierResponse {\n      /** Updated item modifier. */\n      modifier?: Modifier;\n  }\n  interface BulkCreateModifiersRequest {\n      /** List of item modifiers to create. */\n      modifiers: Modifier[];\n      /**\n       * Whether the created item modifiers are included in the response. <br />\n       * Default: `false`.\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateModifiersResponse {\n      /** Information about the created item modifiers. */\n      results?: BulkCreateModifierResult[];\n      /** Metadata for Bulk Create Modifiers API call. */\n      bulkActionMetadata?: BulkActionMetadata$5;\n  }\n  interface BulkCreateModifierResult {\n      /** Metadata for creation of the item modifer. */\n      itemMetadata?: ItemMetadata$5;\n      /** Created item modifier. */\n      modifier?: Modifier;\n  }\n  interface ItemMetadata$5 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$5;\n  }\n  interface ApplicationError$5 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$5 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateModifiersRequest {\n      /** List of item modifiers to update. */\n      modifiers: MaskedModifier[];\n      /** Whether the updated item modifiers are included in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedModifier {\n      /** Item modifier to update. */\n      modifier?: Modifier;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface BulkUpdateModifiersResponse {\n      /** Information about the updated item modifiers. */\n      results?: BulkUpdateModifierResult[];\n      /** Metadata for Bulk Update Modifiers API call. */\n      bulkActionMetadata?: BulkActionMetadata$5;\n  }\n  interface BulkUpdateModifierResult {\n      /** Metadata for the update of the item modifer. */\n      itemMetadata?: ItemMetadata$5;\n      /** Updated item modifier. */\n      modifier?: Modifier;\n  }\n  interface DeleteModifierRequest {\n      /** ID of the item modifier to delete. */\n      modifierId: string;\n  }\n  interface DeleteModifierResponse {\n  }\n  interface QueryModifiersRequest {\n      /** Query options. */\n      query?: CursorQuery$6;\n  }\n  interface CursorQuery$6 extends CursorQueryPagingMethodOneOf$6 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n       * for more information.\n       *\n       * For a detailed list of supported filters, see\n       * [Supported Filters](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item-modifiers/supported-filters-and-sorting).\n       */\n      filter?: Record<string, any> | null;\n      /** Sort object. */\n      sort?: Sorting$6[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$6 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n  }\n  interface Sorting$6 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$6;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$6 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryModifiersResponse {\n      /** Retrieved item modifiers. */\n      modifiers?: Modifier[];\n      /** Metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$5;\n  }\n  interface CountModifiersRequest {\n      /** Filter for counting modifiers. */\n      filter?: Record<string, any> | null;\n  }\n  interface CountModifiersResponse {\n      /** Counted modifiers. */\n      count?: number;\n  }\n  interface BulkDeleteModifiersRequest {\n      /** Item Modifier IDs. */\n      ids: string[];\n  }\n  interface BulkDeleteModifiersResponse {\n      /** Information about the deleted modifiers. */\n      results?: BulkDeleteModifiersResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$5;\n  }\n  interface BulkDeleteModifiersResult {\n      /** Metadata for modifiers deletion. */\n      itemMetadata?: ItemMetadata$5;\n  }\n  interface CloneModifiersRequest {\n      /** The MetaSiteId to clone from */\n      metaSiteId: string;\n  }\n  interface CloneModifiersResponse {\n  }\n  interface DomainEvent$7 extends DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n  }\n  interface EntityCreatedEvent$7 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$7;\n  }\n  interface RestoreInfo$7 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$7 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$7 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$7 {\n      bodyAsJson?: string;\n  }\n  interface Empty$6 {\n  }\n  interface MessageEnvelope$7 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$7;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$7 extends IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$7;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$7 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * > **Note:** The Item Modifiers API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates an item modifier.\n   *\n   * To create multiple item modifiers at once, use [Bulk Create Modifiers](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item-modifiers/bulk-create-modifiers).\n   * @param modifier - Item modifier to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField modifier\n   * @requiredField modifier.name\n   * @permissionId RESTAURANTS.MODIFIER_CREATE\n   * @adminMethod\n   * @returns Created item modifier.\n   */\n  function createModifier(modifier: Modifier): Promise<Modifier>;\n  /**\n   * > **Note:** The Item Modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves an item modifier by ID.\n   * @param modifierId - ID of the item modifier to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField modifierId\n   * @permissionId RESTAURANTS.MODIFIER_READ\n   * @returns Retrieved item modifier.\n   */\n  function getModifier(modifierId: string): Promise<Modifier>;\n  /**\n   * > **Note:** The Item Modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves a list of up to 100 item modifiers.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.MODIFIER_READ\n   */\n  function listModifiers(options?: ListModifiersOptions): Promise<ListModifiersResponse>;\n  interface ListModifiersOptions {\n      /** IDs of the item modifiers to retrieve. */\n      modifierIds?: string[];\n      /** Metadata of the paginated results. */\n      paging?: CursorPaging$5;\n  }\n  /**\n   * > **Note:** The Item Modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates an item modifier.\n   *\n   * To update multiple item modifiers at once, use [Bulk Update Item Modifiers](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item-modifiers/bulk-update-modifiers).\n   *\n   * Each time an item modifier is updated, its revision increments by 1. The existing revision must be included when updating an item modifier. This ensures you're working with the latest item modifier information, and it prevents unintended overwrites.\n   * @param _id - Item modifier ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField modifier\n   * @requiredField modifier.revision\n   * @permissionId RESTAURANTS.MODIFIER_UPDATE\n   * @adminMethod\n   * @returns Updated item modifier.\n   */\n  function updateModifier(_id: string | null, modifier: UpdateModifier, options?: UpdateModifierOptions): Promise<Modifier>;\n  interface UpdateModifier {\n      /**\n       * Item modifier ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the item modifier is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the item modifier. <br />\n       *\n       * Ignored when creating an item modifier.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the item modifier was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item modifier was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Item modifier display name. */\n      name?: string | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$4;\n      /**\n       * Whether the modifier is in stock.\n       * Default: `true`.\n       */\n      inStock?: boolean | null;\n  }\n  interface UpdateModifierOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * > **Note:** The Item Modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates multiple item modifiers.\n   * @param modifiers - List of item modifiers to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField modifiers\n   * @permissionId RESTAURANTS.MODIFIER_CREATE\n   * @adminMethod\n   */\n  function bulkCreateModifiers(modifiers: Modifier[], options?: BulkCreateModifiersOptions): Promise<BulkCreateModifiersResponse>;\n  interface BulkCreateModifiersOptions {\n      /**\n       * Whether the created item modifiers are included in the response. <br />\n       * Default: `false`.\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * > **Note:** The Item modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates multiple item modifiers at once.\n   * Each time an item modifier is updated, its revision increments by 1. The existing revision must be included when updating the item modifier. This ensures you're working with the latest item modifier information, and prevents unintended overwrites.\n   * @param modifiers - List of item modifiers to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField modifiers\n   * @permissionId RESTAURANTS.MODIFIER_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateModifiers(modifiers: MaskedModifier[], options?: BulkUpdateModifiersOptions): Promise<BulkUpdateModifiersResponse>;\n  interface BulkUpdateModifiersOptions {\n      /** Whether the updated item modifiers are included in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * > **Note:** The Item modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   * Deletes an item modifier.\n   * @param modifierId - ID of the item modifier to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField modifierId\n   * @permissionId RESTAURANTS.MODIFIER_DELETE\n   * @adminMethod\n   */\n  function deleteModifier(modifierId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of item modifiers.\n   *\n   * The `queryModifiers()` function builds a query to retrieve a list of item modifiers and returns a `ModifiersQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/item-modifiers/modifiers-query-builder/find) function.\n   *\n   * You can refine the query by chaining `ModifiersQueryBuilder` functions onto the query. `ModifiersQueryBuilder` functions enable you to filter, sort, and control the results that `queryModifiers()` returns.\n   *\n   * `queryModifiers()` runs with the following `ModifiersQueryBuilder` defaults, which you can override:\n   *\n   * * [`limit(200)`](/item-modifiers/modifiers-query-builder/limit)\n   * * [`ascending('entityId')`](/item-modifiers/modifiers-query-builder/ascending)\n   *\n   * The following `ModifiersQueryBuilder` functions are supported for `queryModifiers()`. For a full description of the item modifier object, see the object returned for the [`items`](/item-modifiers/modifiers-query-builder/items) property in `ModifiersQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.MODIFIER_READ\n   */\n  function queryModifiers(): ModifiersQueryBuilder;\n  interface QueryCursorResult$6 {\n      cursors: Cursors$5;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ModifiersQueryResult extends QueryCursorResult$6 {\n      items: Modifier[];\n      query: ModifiersQueryBuilder;\n      next: () => Promise<ModifiersQueryResult>;\n      prev: () => Promise<ModifiersQueryResult>;\n  }\n  interface ModifiersQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => ModifiersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => ModifiersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ModifiersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ModifiersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ModifiersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ModifiersQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name', value: any) => ModifiersQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ModifiersQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ModifiersQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ModifiersQueryResult>;\n  }\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves the number of modifiers that match a specified filter.\n   *\n   * If a filter isn't passed in the request, the endpoint returns the count of all modifiers.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.MODIFIER_READ\n   */\n  function countModifiers(options?: CountModifiersOptions): Promise<CountModifiersResponse>;\n  interface CountModifiersOptions {\n      /** Filter for counting modifiers. */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * > **Note:** The Item Modifier API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Deletes multiple item Modifiers at once.\n   * @param ids - Item Modifier IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId RESTAURANTS.MODIFIER_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteModifiers(ids: string[]): Promise<BulkDeleteModifiersResponse>;\n  /**\n   * Clone item modifiers from a different metasite.\n   * @param metaSiteId - The MetaSiteId to clone from\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @permissionId RESTAURANTS.MODIFIER_CREATE\n   * @adminMethod\n   */\n  function cloneModifiers(metaSiteId: string): Promise<void>;\n  \n  type restaurantsMenusV1ItemModifier_universal_d_Modifier = Modifier;\n  type restaurantsMenusV1ItemModifier_universal_d_CreateModifierRequest = CreateModifierRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_CreateModifierResponse = CreateModifierResponse;\n  type restaurantsMenusV1ItemModifier_universal_d_GetModifierRequest = GetModifierRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_GetModifierResponse = GetModifierResponse;\n  type restaurantsMenusV1ItemModifier_universal_d_ListModifiersRequest = ListModifiersRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_ListModifiersResponse = ListModifiersResponse;\n  type restaurantsMenusV1ItemModifier_universal_d_UpdateModifierRequest = UpdateModifierRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_UpdateModifierResponse = UpdateModifierResponse;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkCreateModifiersRequest = BulkCreateModifiersRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkCreateModifiersResponse = BulkCreateModifiersResponse;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkCreateModifierResult = BulkCreateModifierResult;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkUpdateModifiersRequest = BulkUpdateModifiersRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_MaskedModifier = MaskedModifier;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkUpdateModifiersResponse = BulkUpdateModifiersResponse;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkUpdateModifierResult = BulkUpdateModifierResult;\n  type restaurantsMenusV1ItemModifier_universal_d_DeleteModifierRequest = DeleteModifierRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_DeleteModifierResponse = DeleteModifierResponse;\n  type restaurantsMenusV1ItemModifier_universal_d_QueryModifiersRequest = QueryModifiersRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_QueryModifiersResponse = QueryModifiersResponse;\n  type restaurantsMenusV1ItemModifier_universal_d_CountModifiersRequest = CountModifiersRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_CountModifiersResponse = CountModifiersResponse;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkDeleteModifiersRequest = BulkDeleteModifiersRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkDeleteModifiersResponse = BulkDeleteModifiersResponse;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkDeleteModifiersResult = BulkDeleteModifiersResult;\n  type restaurantsMenusV1ItemModifier_universal_d_CloneModifiersRequest = CloneModifiersRequest;\n  type restaurantsMenusV1ItemModifier_universal_d_CloneModifiersResponse = CloneModifiersResponse;\n  const restaurantsMenusV1ItemModifier_universal_d_createModifier: typeof createModifier;\n  const restaurantsMenusV1ItemModifier_universal_d_getModifier: typeof getModifier;\n  const restaurantsMenusV1ItemModifier_universal_d_listModifiers: typeof listModifiers;\n  type restaurantsMenusV1ItemModifier_universal_d_ListModifiersOptions = ListModifiersOptions;\n  const restaurantsMenusV1ItemModifier_universal_d_updateModifier: typeof updateModifier;\n  type restaurantsMenusV1ItemModifier_universal_d_UpdateModifier = UpdateModifier;\n  type restaurantsMenusV1ItemModifier_universal_d_UpdateModifierOptions = UpdateModifierOptions;\n  const restaurantsMenusV1ItemModifier_universal_d_bulkCreateModifiers: typeof bulkCreateModifiers;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkCreateModifiersOptions = BulkCreateModifiersOptions;\n  const restaurantsMenusV1ItemModifier_universal_d_bulkUpdateModifiers: typeof bulkUpdateModifiers;\n  type restaurantsMenusV1ItemModifier_universal_d_BulkUpdateModifiersOptions = BulkUpdateModifiersOptions;\n  const restaurantsMenusV1ItemModifier_universal_d_deleteModifier: typeof deleteModifier;\n  const restaurantsMenusV1ItemModifier_universal_d_queryModifiers: typeof queryModifiers;\n  type restaurantsMenusV1ItemModifier_universal_d_ModifiersQueryResult = ModifiersQueryResult;\n  type restaurantsMenusV1ItemModifier_universal_d_ModifiersQueryBuilder = ModifiersQueryBuilder;\n  const restaurantsMenusV1ItemModifier_universal_d_countModifiers: typeof countModifiers;\n  type restaurantsMenusV1ItemModifier_universal_d_CountModifiersOptions = CountModifiersOptions;\n  const restaurantsMenusV1ItemModifier_universal_d_bulkDeleteModifiers: typeof bulkDeleteModifiers;\n  const restaurantsMenusV1ItemModifier_universal_d_cloneModifiers: typeof cloneModifiers;\n  namespace restaurantsMenusV1ItemModifier_universal_d {\n    export {\n      restaurantsMenusV1ItemModifier_universal_d_Modifier as Modifier,\n      ExtendedFields$4 as ExtendedFields,\n      InvalidateCache$4 as InvalidateCache,\n      InvalidateCacheGetByOneOf$4 as InvalidateCacheGetByOneOf,\n      App$4 as App,\n      Page$4 as Page,\n      URI$4 as URI,\n      File$4 as File,\n      restaurantsMenusV1ItemModifier_universal_d_CreateModifierRequest as CreateModifierRequest,\n      restaurantsMenusV1ItemModifier_universal_d_CreateModifierResponse as CreateModifierResponse,\n      restaurantsMenusV1ItemModifier_universal_d_GetModifierRequest as GetModifierRequest,\n      restaurantsMenusV1ItemModifier_universal_d_GetModifierResponse as GetModifierResponse,\n      restaurantsMenusV1ItemModifier_universal_d_ListModifiersRequest as ListModifiersRequest,\n      CursorPaging$5 as CursorPaging,\n      restaurantsMenusV1ItemModifier_universal_d_ListModifiersResponse as ListModifiersResponse,\n      CursorPagingMetadata$5 as CursorPagingMetadata,\n      Cursors$5 as Cursors,\n      restaurantsMenusV1ItemModifier_universal_d_UpdateModifierRequest as UpdateModifierRequest,\n      restaurantsMenusV1ItemModifier_universal_d_UpdateModifierResponse as UpdateModifierResponse,\n      restaurantsMenusV1ItemModifier_universal_d_BulkCreateModifiersRequest as BulkCreateModifiersRequest,\n      restaurantsMenusV1ItemModifier_universal_d_BulkCreateModifiersResponse as BulkCreateModifiersResponse,\n      restaurantsMenusV1ItemModifier_universal_d_BulkCreateModifierResult as BulkCreateModifierResult,\n      ItemMetadata$5 as ItemMetadata,\n      ApplicationError$5 as ApplicationError,\n      BulkActionMetadata$5 as BulkActionMetadata,\n      restaurantsMenusV1ItemModifier_universal_d_BulkUpdateModifiersRequest as BulkUpdateModifiersRequest,\n      restaurantsMenusV1ItemModifier_universal_d_MaskedModifier as MaskedModifier,\n      restaurantsMenusV1ItemModifier_universal_d_BulkUpdateModifiersResponse as BulkUpdateModifiersResponse,\n      restaurantsMenusV1ItemModifier_universal_d_BulkUpdateModifierResult as BulkUpdateModifierResult,\n      restaurantsMenusV1ItemModifier_universal_d_DeleteModifierRequest as DeleteModifierRequest,\n      restaurantsMenusV1ItemModifier_universal_d_DeleteModifierResponse as DeleteModifierResponse,\n      restaurantsMenusV1ItemModifier_universal_d_QueryModifiersRequest as QueryModifiersRequest,\n      CursorQuery$6 as CursorQuery,\n      CursorQueryPagingMethodOneOf$6 as CursorQueryPagingMethodOneOf,\n      Sorting$6 as Sorting,\n      SortOrder$6 as SortOrder,\n      restaurantsMenusV1ItemModifier_universal_d_QueryModifiersResponse as QueryModifiersResponse,\n      restaurantsMenusV1ItemModifier_universal_d_CountModifiersRequest as CountModifiersRequest,\n      restaurantsMenusV1ItemModifier_universal_d_CountModifiersResponse as CountModifiersResponse,\n      restaurantsMenusV1ItemModifier_universal_d_BulkDeleteModifiersRequest as BulkDeleteModifiersRequest,\n      restaurantsMenusV1ItemModifier_universal_d_BulkDeleteModifiersResponse as BulkDeleteModifiersResponse,\n      restaurantsMenusV1ItemModifier_universal_d_BulkDeleteModifiersResult as BulkDeleteModifiersResult,\n      restaurantsMenusV1ItemModifier_universal_d_CloneModifiersRequest as CloneModifiersRequest,\n      restaurantsMenusV1ItemModifier_universal_d_CloneModifiersResponse as CloneModifiersResponse,\n      DomainEvent$7 as DomainEvent,\n      DomainEventBodyOneOf$7 as DomainEventBodyOneOf,\n      EntityCreatedEvent$7 as EntityCreatedEvent,\n      RestoreInfo$7 as RestoreInfo,\n      EntityUpdatedEvent$7 as EntityUpdatedEvent,\n      EntityDeletedEvent$7 as EntityDeletedEvent,\n      ActionEvent$7 as ActionEvent,\n      Empty$6 as Empty,\n      MessageEnvelope$7 as MessageEnvelope,\n      IdentificationData$7 as IdentificationData,\n      IdentificationDataIdOneOf$7 as IdentificationDataIdOneOf,\n      WebhookIdentityType$7 as WebhookIdentityType,\n      restaurantsMenusV1ItemModifier_universal_d_createModifier as createModifier,\n      restaurantsMenusV1ItemModifier_universal_d_getModifier as getModifier,\n      restaurantsMenusV1ItemModifier_universal_d_listModifiers as listModifiers,\n      restaurantsMenusV1ItemModifier_universal_d_ListModifiersOptions as ListModifiersOptions,\n      restaurantsMenusV1ItemModifier_universal_d_updateModifier as updateModifier,\n      restaurantsMenusV1ItemModifier_universal_d_UpdateModifier as UpdateModifier,\n      restaurantsMenusV1ItemModifier_universal_d_UpdateModifierOptions as UpdateModifierOptions,\n      restaurantsMenusV1ItemModifier_universal_d_bulkCreateModifiers as bulkCreateModifiers,\n      restaurantsMenusV1ItemModifier_universal_d_BulkCreateModifiersOptions as BulkCreateModifiersOptions,\n      restaurantsMenusV1ItemModifier_universal_d_bulkUpdateModifiers as bulkUpdateModifiers,\n      restaurantsMenusV1ItemModifier_universal_d_BulkUpdateModifiersOptions as BulkUpdateModifiersOptions,\n      restaurantsMenusV1ItemModifier_universal_d_deleteModifier as deleteModifier,\n      restaurantsMenusV1ItemModifier_universal_d_queryModifiers as queryModifiers,\n      restaurantsMenusV1ItemModifier_universal_d_ModifiersQueryResult as ModifiersQueryResult,\n      restaurantsMenusV1ItemModifier_universal_d_ModifiersQueryBuilder as ModifiersQueryBuilder,\n      restaurantsMenusV1ItemModifier_universal_d_countModifiers as countModifiers,\n      restaurantsMenusV1ItemModifier_universal_d_CountModifiersOptions as CountModifiersOptions,\n      restaurantsMenusV1ItemModifier_universal_d_bulkDeleteModifiers as bulkDeleteModifiers,\n      restaurantsMenusV1ItemModifier_universal_d_cloneModifiers as cloneModifiers,\n    };\n  }\n  \n  interface Variant {\n      /**\n       * Item variant ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the item variant is updated. To prevent conflicting changes, the current revision must be passed when updating the item variant. Ignored when creating an item variant.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the item variant was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item variant was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Item variant name. */\n      name?: string | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$3;\n      /**\n       * @internal\n       * @readonly\n       */\n      oloMigrationVariantId?: string | null;\n  }\n  interface ExtendedFields$3 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache$3 extends InvalidateCacheGetByOneOf$3 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$3;\n      /** Invalidate by page id */\n      page?: Page$3;\n      /** Invalidate by URI path */\n      uri?: URI$3;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$3;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$3 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$3;\n      /** Invalidate by page id */\n      page?: Page$3;\n      /** Invalidate by URI path */\n      uri?: URI$3;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$3;\n  }\n  interface App$3 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$3 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$3 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$3 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateVariantRequest {\n      /** Item variant info. */\n      variant: Variant;\n  }\n  interface CreateVariantResponse {\n      /** Item variant. */\n      variant?: Variant;\n  }\n  interface GetVariantRequest {\n      /** ID of the item variant to retrieve. */\n      variantId: string;\n  }\n  interface GetVariantResponse {\n      /** Item variant. */\n      variant?: Variant;\n  }\n  interface ListVariantsRequest {\n      /** Item variant IDs. */\n      variantIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$4;\n  }\n  interface CursorPaging$4 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListVariantsResponse {\n      /** The retrieved item variants. */\n      variants?: Variant[];\n      /** The metadata of the paginated results. */\n      metadata?: CursorPagingMetadata$4;\n  }\n  interface CursorPagingMetadata$4 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$4;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$4 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateVariantRequest {\n      /** Item variant to update. */\n      variant: Variant;\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateVariantResponse {\n      /** Updated item variant. */\n      variant?: Variant;\n  }\n  interface BulkCreateVariantsRequest {\n      /** Item variants details. */\n      variants: Variant[];\n      /** Whether to receive the created item variants in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateVariantsResponse {\n      /** Information about the created item variants. */\n      results?: BulkVariantResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$4;\n  }\n  interface BulkVariantResult {\n      /** Metadata for creation of item variants. */\n      itemMetadata?: ItemMetadata$4;\n      /** Created item variants. Only returned if the `returnEntity` value is `true`. */\n      variant?: Variant;\n  }\n  interface ItemMetadata$4 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$4;\n  }\n  interface ApplicationError$4 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$4 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateVariantsRequest {\n      /** Item variants to be updated. */\n      variants: MaskedVariant[];\n      /** Whether to receive the updated item variants in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedVariant {\n      /** Item variant to update. */\n      variant?: Variant;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateVariantsResponse {\n      /** Information about the updated item variants. */\n      results?: BulkVariantResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$4;\n  }\n  interface DeleteVariantRequest {\n      /** Item variant ID. */\n      variantId: string;\n  }\n  interface DeleteVariantResponse {\n  }\n  interface QueryVariantsRequest {\n      /** Query options. */\n      query?: CursorQuery$5;\n  }\n  interface CursorQuery$5 extends CursorQueryPagingMethodOneOf$5 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$5[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$5 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface Sorting$5 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$5;\n  }\n  enum SortOrder$5 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryVariantsResponse {\n      /** Retrieved item variants. */\n      variants?: Variant[];\n      /** Metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$4;\n  }\n  interface CountVariantsRequest {\n      /** Filter for counting variants. */\n      filter?: Record<string, any> | null;\n  }\n  interface CountVariantsResponse {\n      /** Counted variants. */\n      count?: number;\n  }\n  interface CloneVariantsRequest {\n      /** The MetaSiteId to clone from */\n      metaSiteId: string;\n  }\n  interface CloneVariantsResponse {\n  }\n  interface BulkDeleteVariantsRequest {\n      /** Item variant IDs. */\n      ids: string[];\n  }\n  interface BulkDeleteVariantsResponse {\n      /** Information about the deleted variants. */\n      results?: BulkDeleteVariantsResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$4;\n  }\n  interface BulkDeleteVariantsResult {\n      /** Metadata for variants deletion. */\n      itemMetadata?: ItemMetadata$4;\n  }\n  interface DomainEvent$6 extends DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n  }\n  interface EntityCreatedEvent$6 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$6;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$6 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$6 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$6 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$6 {\n      bodyAsJson?: string;\n  }\n  interface Empty$5 {\n  }\n  interface MessageEnvelope$6 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$6;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$6 extends IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$6;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$6 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * > **Note:** The Item Variants API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates an item variant.\n   *\n   * To create multiple item variants at once, use [Bulk Create Variants](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item-variant/bulk-create-variants).\n   * @param variant - Item variant info.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField variant\n   * @requiredField variant.name\n   * @permissionId RESTAURANTS.VARIANT_CREATE\n   * @adminMethod\n   * @returns Item variant.\n   */\n  function createVariant(variant: Variant): Promise<Variant>;\n  /**\n   * > **Note:** The Item Variants API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves an item variant by ID.\n   * @param variantId - ID of the item variant to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField variantId\n   * @permissionId RESTAURANTS.VARIANT_READ\n   * @returns Item variant.\n   */\n  function getVariant(variantId: string): Promise<Variant>;\n  /**\n   * > **Note:** The Item Variants API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves a list of up to 100 item variants.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.VARIANT_READ\n   */\n  function listVariants(options?: ListVariantsOptions): Promise<ListVariantsResponse>;\n  interface ListVariantsOptions {\n      /** Item variant IDs. */\n      variantIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$4;\n  }\n  /**\n   * > **Note:** The Item Variants API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates an item variant.\n   *\n   * To update multiple item variants at once, use [Bulk Update Variants](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item-variant/bulk-update-variants).\n   *\n   * Each time an item variant is updated, its revision increments by 1. The existing revision must be included when updating the variant. This ensures you're working with the latest variant information, and it prevents unintended overwrites.\n   * @param _id - Item variant ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField variant\n   * @requiredField variant.revision\n   * @permissionId RESTAURANTS.VARIANT_UPDATE\n   * @adminMethod\n   * @returns Updated item variant.\n   */\n  function updateVariant(_id: string | null, variant: UpdateVariant, options?: UpdateVariantOptions): Promise<Variant>;\n  interface UpdateVariant {\n      /**\n       * Item variant ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the item variant is updated. To prevent conflicting changes, the current revision must be passed when updating the item variant. Ignored when creating an item variant.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the item variant was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the item variant was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Item variant name. */\n      name?: string | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$3;\n      /**\n       * @internal\n       * @readonly\n       */\n      oloMigrationVariantId?: string | null;\n  }\n  interface UpdateVariantOptions {\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * > **Note:** The Item Variants API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates multiple item variants.\n   * @param variants - Item variants details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField variants\n   * @permissionId RESTAURANTS.VARIANT_CREATE\n   * @adminMethod\n   */\n  function bulkCreateVariants(variants: Variant[], options?: BulkCreateVariantsOptions): Promise<BulkCreateVariantsResponse>;\n  interface BulkCreateVariantsOptions {\n      /** Whether to receive the created item variants in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * > **Note:** The Item Variants API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates multiple item variants.\n   *\n   * Each time an item variant is updated, its revision increments by 1. The existing revision must be included when updating variant. This ensures you're working with the latest item information, and it prevents unintended overwrites.\n   *\n   * Up to 100 item variants can be returned per request.\n   * @param variants - Item variants to be updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField variants\n   * @permissionId RESTAURANTS.VARIANT_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateVariants(variants: MaskedVariant[], options?: BulkUpdateVariantsOptions): Promise<BulkUpdateVariantsResponse>;\n  interface BulkUpdateVariantsOptions {\n      /** Whether to receive the updated item variants in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * > **Note:** The Item Variants API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Permanently deletes an item variant.\n   * @param variantId - Item variant ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField variantId\n   * @permissionId RESTAURANTS.VARIANT_DELETE\n   * @adminMethod\n   */\n  function deleteVariant(variantId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of item variants.\n   *\n   * The `queryVariants()` function builds a query to retrieve a list of item variants and returns a `VariantsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/item-variants/variants-query-builder/find) function.\n   *\n   * You can refine the query by chaining `VariantsQueryBuilder` functions onto the query. `VariantsQueryBuilder` functions enable you to filter, sort, and control the results that `queryVariants()` returns.\n   *\n   * `queryVariants()` runs with the following `VariantsQueryBuilder` defaults, which you can override:\n   *\n   * * [`limit(200)`](/item-variants/variants-query-builder/limit)\n   * * [`ascending('entityId')`](/item-variants/variants-query-builder/ascending)\n   *\n   * The following `VariantsQueryBuilder` functions are supported for `queryVariants()`. For a full description of the item variant object, see the object returned for the [`items`](/item-variants/variants-query-builder/items) property in `VariantsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.VARIANT_READ\n   */\n  function queryVariants(): VariantsQueryBuilder;\n  interface QueryCursorResult$5 {\n      cursors: Cursors$4;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface VariantsQueryResult extends QueryCursorResult$5 {\n      items: Variant[];\n      query: VariantsQueryBuilder;\n      next: () => Promise<VariantsQueryResult>;\n      prev: () => Promise<VariantsQueryResult>;\n  }\n  interface VariantsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => VariantsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => VariantsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => VariantsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => VariantsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => VariantsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => VariantsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name', value: any) => VariantsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => VariantsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => VariantsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<VariantsQueryResult>;\n  }\n  /**\n   * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves the number of item variants that match a specified filter.\n   *\n   * If a filter isn't passed in the request, the endpoint returns the count of all item variants.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.VARIANT_READ\n   */\n  function countVariants(options?: CountVariantsOptions): Promise<CountVariantsResponse>;\n  interface CountVariantsOptions {\n      /** Filter for counting variants. */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Clone item variants from a different metasite.\n   * @param metaSiteId - The MetaSiteId to clone from\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @permissionId RESTAURANTS.VARIANT_CREATE\n   * @adminMethod\n   */\n  function cloneVariants(metaSiteId: string): Promise<void>;\n  /**\n   * > **Note:** The Item Variants API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Deletes multiple item variants at once.\n   * @param ids - Item variant IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId RESTAURANTS.VARIANT_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteVariants(ids: string[]): Promise<BulkDeleteVariantsResponse>;\n  \n  type restaurantsMenusV1ItemVariant_universal_d_Variant = Variant;\n  type restaurantsMenusV1ItemVariant_universal_d_CreateVariantRequest = CreateVariantRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_CreateVariantResponse = CreateVariantResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_GetVariantRequest = GetVariantRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_GetVariantResponse = GetVariantResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_ListVariantsRequest = ListVariantsRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_ListVariantsResponse = ListVariantsResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_UpdateVariantRequest = UpdateVariantRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_UpdateVariantResponse = UpdateVariantResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_BulkCreateVariantsRequest = BulkCreateVariantsRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_BulkCreateVariantsResponse = BulkCreateVariantsResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_BulkVariantResult = BulkVariantResult;\n  type restaurantsMenusV1ItemVariant_universal_d_BulkUpdateVariantsRequest = BulkUpdateVariantsRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_MaskedVariant = MaskedVariant;\n  type restaurantsMenusV1ItemVariant_universal_d_BulkUpdateVariantsResponse = BulkUpdateVariantsResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_DeleteVariantRequest = DeleteVariantRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_DeleteVariantResponse = DeleteVariantResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_QueryVariantsRequest = QueryVariantsRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_QueryVariantsResponse = QueryVariantsResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_CountVariantsRequest = CountVariantsRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_CountVariantsResponse = CountVariantsResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_CloneVariantsRequest = CloneVariantsRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_CloneVariantsResponse = CloneVariantsResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_BulkDeleteVariantsRequest = BulkDeleteVariantsRequest;\n  type restaurantsMenusV1ItemVariant_universal_d_BulkDeleteVariantsResponse = BulkDeleteVariantsResponse;\n  type restaurantsMenusV1ItemVariant_universal_d_BulkDeleteVariantsResult = BulkDeleteVariantsResult;\n  const restaurantsMenusV1ItemVariant_universal_d_createVariant: typeof createVariant;\n  const restaurantsMenusV1ItemVariant_universal_d_getVariant: typeof getVariant;\n  const restaurantsMenusV1ItemVariant_universal_d_listVariants: typeof listVariants;\n  type restaurantsMenusV1ItemVariant_universal_d_ListVariantsOptions = ListVariantsOptions;\n  const restaurantsMenusV1ItemVariant_universal_d_updateVariant: typeof updateVariant;\n  type restaurantsMenusV1ItemVariant_universal_d_UpdateVariant = UpdateVariant;\n  type restaurantsMenusV1ItemVariant_universal_d_UpdateVariantOptions = UpdateVariantOptions;\n  const restaurantsMenusV1ItemVariant_universal_d_bulkCreateVariants: typeof bulkCreateVariants;\n  type restaurantsMenusV1ItemVariant_universal_d_BulkCreateVariantsOptions = BulkCreateVariantsOptions;\n  const restaurantsMenusV1ItemVariant_universal_d_bulkUpdateVariants: typeof bulkUpdateVariants;\n  type restaurantsMenusV1ItemVariant_universal_d_BulkUpdateVariantsOptions = BulkUpdateVariantsOptions;\n  const restaurantsMenusV1ItemVariant_universal_d_deleteVariant: typeof deleteVariant;\n  const restaurantsMenusV1ItemVariant_universal_d_queryVariants: typeof queryVariants;\n  type restaurantsMenusV1ItemVariant_universal_d_VariantsQueryResult = VariantsQueryResult;\n  type restaurantsMenusV1ItemVariant_universal_d_VariantsQueryBuilder = VariantsQueryBuilder;\n  const restaurantsMenusV1ItemVariant_universal_d_countVariants: typeof countVariants;\n  type restaurantsMenusV1ItemVariant_universal_d_CountVariantsOptions = CountVariantsOptions;\n  const restaurantsMenusV1ItemVariant_universal_d_cloneVariants: typeof cloneVariants;\n  const restaurantsMenusV1ItemVariant_universal_d_bulkDeleteVariants: typeof bulkDeleteVariants;\n  namespace restaurantsMenusV1ItemVariant_universal_d {\n    export {\n      restaurantsMenusV1ItemVariant_universal_d_Variant as Variant,\n      ExtendedFields$3 as ExtendedFields,\n      InvalidateCache$3 as InvalidateCache,\n      InvalidateCacheGetByOneOf$3 as InvalidateCacheGetByOneOf,\n      App$3 as App,\n      Page$3 as Page,\n      URI$3 as URI,\n      File$3 as File,\n      restaurantsMenusV1ItemVariant_universal_d_CreateVariantRequest as CreateVariantRequest,\n      restaurantsMenusV1ItemVariant_universal_d_CreateVariantResponse as CreateVariantResponse,\n      restaurantsMenusV1ItemVariant_universal_d_GetVariantRequest as GetVariantRequest,\n      restaurantsMenusV1ItemVariant_universal_d_GetVariantResponse as GetVariantResponse,\n      restaurantsMenusV1ItemVariant_universal_d_ListVariantsRequest as ListVariantsRequest,\n      CursorPaging$4 as CursorPaging,\n      restaurantsMenusV1ItemVariant_universal_d_ListVariantsResponse as ListVariantsResponse,\n      CursorPagingMetadata$4 as CursorPagingMetadata,\n      Cursors$4 as Cursors,\n      restaurantsMenusV1ItemVariant_universal_d_UpdateVariantRequest as UpdateVariantRequest,\n      restaurantsMenusV1ItemVariant_universal_d_UpdateVariantResponse as UpdateVariantResponse,\n      restaurantsMenusV1ItemVariant_universal_d_BulkCreateVariantsRequest as BulkCreateVariantsRequest,\n      restaurantsMenusV1ItemVariant_universal_d_BulkCreateVariantsResponse as BulkCreateVariantsResponse,\n      restaurantsMenusV1ItemVariant_universal_d_BulkVariantResult as BulkVariantResult,\n      ItemMetadata$4 as ItemMetadata,\n      ApplicationError$4 as ApplicationError,\n      BulkActionMetadata$4 as BulkActionMetadata,\n      restaurantsMenusV1ItemVariant_universal_d_BulkUpdateVariantsRequest as BulkUpdateVariantsRequest,\n      restaurantsMenusV1ItemVariant_universal_d_MaskedVariant as MaskedVariant,\n      restaurantsMenusV1ItemVariant_universal_d_BulkUpdateVariantsResponse as BulkUpdateVariantsResponse,\n      restaurantsMenusV1ItemVariant_universal_d_DeleteVariantRequest as DeleteVariantRequest,\n      restaurantsMenusV1ItemVariant_universal_d_DeleteVariantResponse as DeleteVariantResponse,\n      restaurantsMenusV1ItemVariant_universal_d_QueryVariantsRequest as QueryVariantsRequest,\n      CursorQuery$5 as CursorQuery,\n      CursorQueryPagingMethodOneOf$5 as CursorQueryPagingMethodOneOf,\n      Sorting$5 as Sorting,\n      SortOrder$5 as SortOrder,\n      restaurantsMenusV1ItemVariant_universal_d_QueryVariantsResponse as QueryVariantsResponse,\n      restaurantsMenusV1ItemVariant_universal_d_CountVariantsRequest as CountVariantsRequest,\n      restaurantsMenusV1ItemVariant_universal_d_CountVariantsResponse as CountVariantsResponse,\n      restaurantsMenusV1ItemVariant_universal_d_CloneVariantsRequest as CloneVariantsRequest,\n      restaurantsMenusV1ItemVariant_universal_d_CloneVariantsResponse as CloneVariantsResponse,\n      restaurantsMenusV1ItemVariant_universal_d_BulkDeleteVariantsRequest as BulkDeleteVariantsRequest,\n      restaurantsMenusV1ItemVariant_universal_d_BulkDeleteVariantsResponse as BulkDeleteVariantsResponse,\n      restaurantsMenusV1ItemVariant_universal_d_BulkDeleteVariantsResult as BulkDeleteVariantsResult,\n      DomainEvent$6 as DomainEvent,\n      DomainEventBodyOneOf$6 as DomainEventBodyOneOf,\n      EntityCreatedEvent$6 as EntityCreatedEvent,\n      RestoreInfo$6 as RestoreInfo,\n      EntityUpdatedEvent$6 as EntityUpdatedEvent,\n      EntityDeletedEvent$6 as EntityDeletedEvent,\n      ActionEvent$6 as ActionEvent,\n      Empty$5 as Empty,\n      MessageEnvelope$6 as MessageEnvelope,\n      IdentificationData$6 as IdentificationData,\n      IdentificationDataIdOneOf$6 as IdentificationDataIdOneOf,\n      WebhookIdentityType$6 as WebhookIdentityType,\n      restaurantsMenusV1ItemVariant_universal_d_createVariant as createVariant,\n      restaurantsMenusV1ItemVariant_universal_d_getVariant as getVariant,\n      restaurantsMenusV1ItemVariant_universal_d_listVariants as listVariants,\n      restaurantsMenusV1ItemVariant_universal_d_ListVariantsOptions as ListVariantsOptions,\n      restaurantsMenusV1ItemVariant_universal_d_updateVariant as updateVariant,\n      restaurantsMenusV1ItemVariant_universal_d_UpdateVariant as UpdateVariant,\n      restaurantsMenusV1ItemVariant_universal_d_UpdateVariantOptions as UpdateVariantOptions,\n      restaurantsMenusV1ItemVariant_universal_d_bulkCreateVariants as bulkCreateVariants,\n      restaurantsMenusV1ItemVariant_universal_d_BulkCreateVariantsOptions as BulkCreateVariantsOptions,\n      restaurantsMenusV1ItemVariant_universal_d_bulkUpdateVariants as bulkUpdateVariants,\n      restaurantsMenusV1ItemVariant_universal_d_BulkUpdateVariantsOptions as BulkUpdateVariantsOptions,\n      restaurantsMenusV1ItemVariant_universal_d_deleteVariant as deleteVariant,\n      restaurantsMenusV1ItemVariant_universal_d_queryVariants as queryVariants,\n      restaurantsMenusV1ItemVariant_universal_d_VariantsQueryResult as VariantsQueryResult,\n      restaurantsMenusV1ItemVariant_universal_d_VariantsQueryBuilder as VariantsQueryBuilder,\n      restaurantsMenusV1ItemVariant_universal_d_countVariants as countVariants,\n      restaurantsMenusV1ItemVariant_universal_d_CountVariantsOptions as CountVariantsOptions,\n      restaurantsMenusV1ItemVariant_universal_d_cloneVariants as cloneVariants,\n      restaurantsMenusV1ItemVariant_universal_d_bulkDeleteVariants as bulkDeleteVariants,\n    };\n  }\n  \n  interface Menu {\n      /**\n       * Menu ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the menu is updated. To prevent conflicting changes, the current revision must be passed when updating the menu. Ignored when creating a menu.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the menu was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the menu was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Menu name. */\n      name?: string;\n      /** Menu description. */\n      description?: string | null;\n      /** Whether the menu visible to site visitors. */\n      visible?: boolean | null;\n      /** Menu section IDs. */\n      sectionIds?: string[];\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$2;\n      /** Part of the site URL, that redirects to the menu. For example, in the URL `www.mywebsite.com/our-menus/dinner-menu`, `dinner-menu` is the field value. */\n      urlQueryParam?: string | null;\n      /** Custom SEO data for the menu. */\n      seoData?: SeoSchema;\n      /**\n       * Details of this menu's location.\n       * @internal\n       */\n      location?: Location$1;\n      /**\n       * @internal\n       * @readonly\n       */\n      oloMigrationMenuId?: string | null;\n  }\n  interface ExtendedFields$2 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface Location$1 {\n      /**\n       * Location Id\n       * @internal\n       */\n      _id?: string | null;\n      /**\n       * Location Name.\n       * @internal\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Whether this menu's location is archived. This has no impact on API behavior, but it can be used to indicate whether this menu's location is active or inactive.\n       * @internal\n       * @readonly\n       */\n      archived?: boolean | null;\n  }\n  interface GetMenuSiteUrlRequest {\n      /**\n       * Menu ID.\n       * @readonly\n       */\n      _id: string | null;\n  }\n  interface GetMenuSiteUrlResponse {\n      /** Retrieved menuInfo with path url. */\n      menuSiteUrl?: MenuSiteUrl;\n  }\n  interface MenuSiteUrl {\n      /** Path URL. */\n      path?: string;\n  }\n  interface QueryMenusSiteUrlRequest {\n      /** Query options */\n      query?: CursorQuery$4;\n  }\n  interface CursorQuery$4 extends CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$4[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$4 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$4;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$4 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryMenusSiteUrlResponse {\n      /** Retrieved menuInfos with path urls. */\n      menuSiteUrls?: MenuSiteUrl[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$3;\n  }\n  interface CursorPagingMetadata$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$3;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$3 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface InvalidateCache$2 extends InvalidateCacheGetByOneOf$2 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$2;\n      /** Invalidate by page id */\n      page?: Page$2;\n      /** Invalidate by URI path */\n      uri?: URI$2;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$2;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$2 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$2;\n      /** Invalidate by page id */\n      page?: Page$2;\n      /** Invalidate by URI path */\n      uri?: URI$2;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$2;\n  }\n  interface App$2 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$2 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$2 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$2 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface DeleteOrphanSections {\n      /** Menu id */\n      menuId?: string;\n  }\n  interface MenusDataCloningCompleted {\n  }\n  interface CreateMenuRequest {\n      /** Menu details. */\n      menu: Menu;\n  }\n  interface CreateMenuResponse {\n      /** Menu. */\n      menu?: Menu;\n  }\n  interface BulkCreateMenusRequest {\n      /** Menu details. */\n      menus: Menu[];\n      /** Whether to receive the created menus in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateMenusResponse {\n      /** Information about the created menus. */\n      results?: BulkCreateMenuResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkCreateMenuResult {\n      /** Whether to receive the created menus in the response. */\n      menuMetadata?: ItemMetadata$3;\n      /** Created menu. */\n      menu?: Menu;\n  }\n  interface ItemMetadata$3 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$3;\n  }\n  interface ApplicationError$3 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$3 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetMenuRequest {\n      /** Menu ID. */\n      menuId: string;\n  }\n  interface GetMenuResponse {\n      /** Menu. */\n      menu?: Menu;\n  }\n  interface ListMenusRequest {\n      /** Menu IDs. */\n      menuIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$3;\n      /** Whether to return only menus that are visible to site visitors. */\n      onlyVisible?: boolean | null;\n  }\n  interface ListMenusResponse {\n      /** Retrieved menus. */\n      menus?: Menu[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$3;\n  }\n  interface QueryMenusRequest {\n      /** Query options. */\n      query?: CursorQuery$4;\n  }\n  interface QueryMenusResponse {\n      /** Retrieved menus. */\n      menus?: Menu[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$3;\n  }\n  interface UpdateMenuRequest {\n      /** Menu to update. */\n      menu: Menu;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateMenuResponse {\n      /** Updated menu. */\n      menu?: Menu;\n  }\n  interface BulkUpdateMenuRequest {\n      /** Menus to update. */\n      menus: MaskedMenu[];\n      /** Whether to receive the entity in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedMenu {\n      /** Menu to updated. */\n      menu?: Menu;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface BulkUpdateMenuResponse {\n      /** Results of bulk menu update. */\n      results?: BulkMenuResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkMenuResult {\n      /** Metadata for menu update. */\n      menuMetadata?: ItemMetadata$3;\n      /** Updated menu. Only returned if `returnEntity` is set to `true`. */\n      menu?: Menu;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** Namespace of the app. */\n      namespace?: string;\n      /** Updated extended fields data. */\n      namespaceData?: Record<string, any> | null;\n  }\n  interface DeleteMenuRequest {\n      /** Menu ID. */\n      menuId: string;\n  }\n  interface DeleteMenuResponse {\n  }\n  interface CloneMenusRequest {\n      /** The MetaSiteId to clone from. */\n      metaSiteId: string;\n  }\n  interface CloneMenusResponse {\n  }\n  interface DomainEvent$5 extends DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n  }\n  interface EntityCreatedEvent$5 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$5;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$5 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$5 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$5 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$5 {\n      bodyAsJson?: string;\n  }\n  interface Empty$4 {\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$5;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get menu details and path URL by menu ID.\n   * @param _id - Menu ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId RESTAURANTS.MENU_READ\n   */\n  function getMenuSiteUrl(_id: string | null): Promise<GetMenuSiteUrlResponse>;\n  /**\n   * Query menu details and path URL\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.MENU_READ\n   */\n  function queryMenusSiteUrl(options?: QueryMenusSiteUrlOptions): Promise<QueryMenusSiteUrlResponse>;\n  interface QueryMenusSiteUrlOptions {\n      /** Query options */\n      query?: CursorQuery$4;\n  }\n  /**\n   * > **Note:** The Menus API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates a menu.\n   *\n   * To create multiple menus at once, use [Bulk Create Menus](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/menu/bulk-create-menus).\n   * @param menu - Menu details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField menu\n   * @permissionId RESTAURANTS.MENU_CREATE\n   * @adminMethod\n   * @returns Menu.\n   */\n  function createMenu(menu: Menu): Promise<Menu>;\n  /**\n   * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Creates multiple menus at once.\n   * @param menus - Menu details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField menus\n   * @permissionId RESTAURANTS.MENU_CREATE\n   * @adminMethod\n   */\n  function bulkCreateMenus(menus: Menu[], options?: BulkCreateMenusOptions): Promise<BulkCreateMenusResponse>;\n  interface BulkCreateMenusOptions {\n      /** Whether to receive the created menus in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves a menu by ID.\n   * @param menuId - Menu ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField menuId\n   * @permissionId RESTAURANTS.MENU_READ\n   * @returns Menu.\n   */\n  function getMenu(menuId: string): Promise<Menu>;\n  /**\n   * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Retrieves a list of up to 500 menus.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.MENU_READ\n   */\n  function listMenus(options?: ListMenusOptions): Promise<ListMenusResponse>;\n  interface ListMenusOptions {\n      /** Menu IDs. */\n      menuIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$3;\n      /** Whether to return only menus that are visible to site visitors. */\n      onlyVisible?: boolean | null;\n  }\n  /**\n   * Creates a query to retrieve a list of menus.\n   *\n   * The `queryMenus()` function builds a query to retrieve a list of menus and returns a `MenusQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/menus/menus-query-builder/find) function.\n   *\n   * You can refine the query by chaining `MenusQueryBuilder` functions onto the query. `MenusQueryBuilder` functions enable you to filter, sort, and control the results that `queryMenus()` returns.\n   *\n   * `queryMenus()` runs with the following `MenusQueryBuilder` defaults, which you can override:\n   *\n   * * [`limit(100)`](/menus/menus-query-builder/limit)\n   * * [`ascending('entityId')`](/menus/menus-query-builder/ascending)\n   *\n   * The following `MenusQueryBuilder` functions are supported for `queryMenus()`. For a full description of the menu object, see the object returned for the [`items`](/menus/menus-query-result/items) property in `MenusQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.MENU_READ\n   */\n  function queryMenus(): MenusQueryBuilder;\n  interface QueryCursorResult$4 {\n      cursors: Cursors$3;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface MenusQueryResult extends QueryCursorResult$4 {\n      items: Menu[];\n      query: MenusQueryBuilder;\n      next: () => Promise<MenusQueryResult>;\n      prev: () => Promise<MenusQueryResult>;\n  }\n  interface MenusQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'urlQueryParam', value: any) => MenusQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'urlQueryParam', value: any) => MenusQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenusQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenusQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenusQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenusQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'name' | 'description' | 'urlQueryParam', value: string) => MenusQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | 'description' | 'urlQueryParam', value: any) => MenusQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => MenusQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => MenusQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<MenusQueryResult>;\n  }\n  /**\n   * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates a menu.\n   *\n   * To update multiple menus at once, use [Bulk Update Menu](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/menu/bulk-update-menu).\n   *\n   * Each time a menu is updated, its revision increments by 1. The existing revision must be included when updating a menu. This ensures you're working with the latest menu information, and it prevents unintended overwrites.\n   * @param _id - Menu ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField menu\n   * @requiredField menu.revision\n   * @permissionId RESTAURANTS.MENU_UPDATE\n   * @adminMethod\n   * @returns Updated menu.\n   */\n  function updateMenu(_id: string | null, menu: UpdateMenu, options?: UpdateMenuOptions): Promise<Menu>;\n  interface UpdateMenu {\n      /**\n       * Menu ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the menu is updated. To prevent conflicting changes, the current revision must be passed when updating the menu. Ignored when creating a menu.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the menu was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the menu was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Menu name. */\n      name?: string;\n      /** Menu description. */\n      description?: string | null;\n      /** Whether the menu visible to site visitors. */\n      visible?: boolean | null;\n      /** Menu section IDs. */\n      sectionIds?: string[];\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$2;\n      /** Part of the site URL, that redirects to the menu. For example, in the URL `www.mywebsite.com/our-menus/dinner-menu`, `dinner-menu` is the field value. */\n      urlQueryParam?: string | null;\n      /** Custom SEO data for the menu. */\n      seoData?: SeoSchema;\n      /**\n       * Details of this menu's location.\n       * @internal\n       */\n      location?: Location$1;\n      /**\n       * @internal\n       * @readonly\n       */\n      oloMigrationMenuId?: string | null;\n  }\n  interface UpdateMenuOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates multiple menus at once.\n   *\n   * Each time a menu is updated, its revision increments by 1. The existing revision must be included when updating the menu. This ensures you're working with the latest menu information, and it prevents unintended overwrites.\n   * @param menus - Menus to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField menus\n   * @requiredField menus.menu._id\n   * @requiredField menus.menu.revision\n   * @permissionId RESTAURANTS.MENU_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateMenu(menus: MaskedMenu[], options?: BulkUpdateMenuOptions): Promise<BulkUpdateMenuResponse>;\n  interface BulkUpdateMenuOptions {\n      /** Whether to receive the entity in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Updates only the `extendedFields` field.\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  /**\n   * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n   *\n   * Deletes a menu.\n   * @param menuId - Menu ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField menuId\n   * @permissionId RESTAURANTS.MENU_DELETE\n   * @adminMethod\n   */\n  function deleteMenu(menuId: string): Promise<void>;\n  /**\n   * Clone menus from a different metasite\n   * @param metaSiteId - The MetaSiteId to clone from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @permissionId RESTAURANTS.MENU_CREATE\n   * @adminMethod\n   */\n  function cloneMenus(metaSiteId: string): Promise<void>;\n  \n  type restaurantsMenusV1Menu_universal_d_Menu = Menu;\n  type restaurantsMenusV1Menu_universal_d_SeoSchema = SeoSchema;\n  type restaurantsMenusV1Menu_universal_d_Keyword = Keyword;\n  type restaurantsMenusV1Menu_universal_d_Tag = Tag;\n  type restaurantsMenusV1Menu_universal_d_Settings = Settings;\n  type restaurantsMenusV1Menu_universal_d_GetMenuSiteUrlRequest = GetMenuSiteUrlRequest;\n  type restaurantsMenusV1Menu_universal_d_GetMenuSiteUrlResponse = GetMenuSiteUrlResponse;\n  type restaurantsMenusV1Menu_universal_d_MenuSiteUrl = MenuSiteUrl;\n  type restaurantsMenusV1Menu_universal_d_QueryMenusSiteUrlRequest = QueryMenusSiteUrlRequest;\n  type restaurantsMenusV1Menu_universal_d_QueryMenusSiteUrlResponse = QueryMenusSiteUrlResponse;\n  type restaurantsMenusV1Menu_universal_d_DeleteOrphanSections = DeleteOrphanSections;\n  type restaurantsMenusV1Menu_universal_d_MenusDataCloningCompleted = MenusDataCloningCompleted;\n  type restaurantsMenusV1Menu_universal_d_CreateMenuRequest = CreateMenuRequest;\n  type restaurantsMenusV1Menu_universal_d_CreateMenuResponse = CreateMenuResponse;\n  type restaurantsMenusV1Menu_universal_d_BulkCreateMenusRequest = BulkCreateMenusRequest;\n  type restaurantsMenusV1Menu_universal_d_BulkCreateMenusResponse = BulkCreateMenusResponse;\n  type restaurantsMenusV1Menu_universal_d_BulkCreateMenuResult = BulkCreateMenuResult;\n  type restaurantsMenusV1Menu_universal_d_GetMenuRequest = GetMenuRequest;\n  type restaurantsMenusV1Menu_universal_d_GetMenuResponse = GetMenuResponse;\n  type restaurantsMenusV1Menu_universal_d_ListMenusRequest = ListMenusRequest;\n  type restaurantsMenusV1Menu_universal_d_ListMenusResponse = ListMenusResponse;\n  type restaurantsMenusV1Menu_universal_d_QueryMenusRequest = QueryMenusRequest;\n  type restaurantsMenusV1Menu_universal_d_QueryMenusResponse = QueryMenusResponse;\n  type restaurantsMenusV1Menu_universal_d_UpdateMenuRequest = UpdateMenuRequest;\n  type restaurantsMenusV1Menu_universal_d_UpdateMenuResponse = UpdateMenuResponse;\n  type restaurantsMenusV1Menu_universal_d_BulkUpdateMenuRequest = BulkUpdateMenuRequest;\n  type restaurantsMenusV1Menu_universal_d_MaskedMenu = MaskedMenu;\n  type restaurantsMenusV1Menu_universal_d_BulkUpdateMenuResponse = BulkUpdateMenuResponse;\n  type restaurantsMenusV1Menu_universal_d_BulkMenuResult = BulkMenuResult;\n  type restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type restaurantsMenusV1Menu_universal_d_DeleteMenuRequest = DeleteMenuRequest;\n  type restaurantsMenusV1Menu_universal_d_DeleteMenuResponse = DeleteMenuResponse;\n  type restaurantsMenusV1Menu_universal_d_CloneMenusRequest = CloneMenusRequest;\n  type restaurantsMenusV1Menu_universal_d_CloneMenusResponse = CloneMenusResponse;\n  const restaurantsMenusV1Menu_universal_d_getMenuSiteUrl: typeof getMenuSiteUrl;\n  const restaurantsMenusV1Menu_universal_d_queryMenusSiteUrl: typeof queryMenusSiteUrl;\n  type restaurantsMenusV1Menu_universal_d_QueryMenusSiteUrlOptions = QueryMenusSiteUrlOptions;\n  const restaurantsMenusV1Menu_universal_d_createMenu: typeof createMenu;\n  const restaurantsMenusV1Menu_universal_d_bulkCreateMenus: typeof bulkCreateMenus;\n  type restaurantsMenusV1Menu_universal_d_BulkCreateMenusOptions = BulkCreateMenusOptions;\n  const restaurantsMenusV1Menu_universal_d_getMenu: typeof getMenu;\n  const restaurantsMenusV1Menu_universal_d_listMenus: typeof listMenus;\n  type restaurantsMenusV1Menu_universal_d_ListMenusOptions = ListMenusOptions;\n  const restaurantsMenusV1Menu_universal_d_queryMenus: typeof queryMenus;\n  type restaurantsMenusV1Menu_universal_d_MenusQueryResult = MenusQueryResult;\n  type restaurantsMenusV1Menu_universal_d_MenusQueryBuilder = MenusQueryBuilder;\n  const restaurantsMenusV1Menu_universal_d_updateMenu: typeof updateMenu;\n  type restaurantsMenusV1Menu_universal_d_UpdateMenu = UpdateMenu;\n  type restaurantsMenusV1Menu_universal_d_UpdateMenuOptions = UpdateMenuOptions;\n  const restaurantsMenusV1Menu_universal_d_bulkUpdateMenu: typeof bulkUpdateMenu;\n  type restaurantsMenusV1Menu_universal_d_BulkUpdateMenuOptions = BulkUpdateMenuOptions;\n  const restaurantsMenusV1Menu_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  const restaurantsMenusV1Menu_universal_d_deleteMenu: typeof deleteMenu;\n  const restaurantsMenusV1Menu_universal_d_cloneMenus: typeof cloneMenus;\n  namespace restaurantsMenusV1Menu_universal_d {\n    export {\n      restaurantsMenusV1Menu_universal_d_Menu as Menu,\n      ExtendedFields$2 as ExtendedFields,\n      restaurantsMenusV1Menu_universal_d_SeoSchema as SeoSchema,\n      restaurantsMenusV1Menu_universal_d_Keyword as Keyword,\n      restaurantsMenusV1Menu_universal_d_Tag as Tag,\n      restaurantsMenusV1Menu_universal_d_Settings as Settings,\n      Location$1 as Location,\n      restaurantsMenusV1Menu_universal_d_GetMenuSiteUrlRequest as GetMenuSiteUrlRequest,\n      restaurantsMenusV1Menu_universal_d_GetMenuSiteUrlResponse as GetMenuSiteUrlResponse,\n      restaurantsMenusV1Menu_universal_d_MenuSiteUrl as MenuSiteUrl,\n      restaurantsMenusV1Menu_universal_d_QueryMenusSiteUrlRequest as QueryMenusSiteUrlRequest,\n      CursorQuery$4 as CursorQuery,\n      CursorQueryPagingMethodOneOf$4 as CursorQueryPagingMethodOneOf,\n      Sorting$4 as Sorting,\n      SortOrder$4 as SortOrder,\n      CursorPaging$3 as CursorPaging,\n      restaurantsMenusV1Menu_universal_d_QueryMenusSiteUrlResponse as QueryMenusSiteUrlResponse,\n      CursorPagingMetadata$3 as CursorPagingMetadata,\n      Cursors$3 as Cursors,\n      InvalidateCache$2 as InvalidateCache,\n      InvalidateCacheGetByOneOf$2 as InvalidateCacheGetByOneOf,\n      App$2 as App,\n      Page$2 as Page,\n      URI$2 as URI,\n      File$2 as File,\n      restaurantsMenusV1Menu_universal_d_DeleteOrphanSections as DeleteOrphanSections,\n      restaurantsMenusV1Menu_universal_d_MenusDataCloningCompleted as MenusDataCloningCompleted,\n      restaurantsMenusV1Menu_universal_d_CreateMenuRequest as CreateMenuRequest,\n      restaurantsMenusV1Menu_universal_d_CreateMenuResponse as CreateMenuResponse,\n      restaurantsMenusV1Menu_universal_d_BulkCreateMenusRequest as BulkCreateMenusRequest,\n      restaurantsMenusV1Menu_universal_d_BulkCreateMenusResponse as BulkCreateMenusResponse,\n      restaurantsMenusV1Menu_universal_d_BulkCreateMenuResult as BulkCreateMenuResult,\n      ItemMetadata$3 as ItemMetadata,\n      ApplicationError$3 as ApplicationError,\n      BulkActionMetadata$3 as BulkActionMetadata,\n      restaurantsMenusV1Menu_universal_d_GetMenuRequest as GetMenuRequest,\n      restaurantsMenusV1Menu_universal_d_GetMenuResponse as GetMenuResponse,\n      restaurantsMenusV1Menu_universal_d_ListMenusRequest as ListMenusRequest,\n      restaurantsMenusV1Menu_universal_d_ListMenusResponse as ListMenusResponse,\n      restaurantsMenusV1Menu_universal_d_QueryMenusRequest as QueryMenusRequest,\n      restaurantsMenusV1Menu_universal_d_QueryMenusResponse as QueryMenusResponse,\n      restaurantsMenusV1Menu_universal_d_UpdateMenuRequest as UpdateMenuRequest,\n      restaurantsMenusV1Menu_universal_d_UpdateMenuResponse as UpdateMenuResponse,\n      restaurantsMenusV1Menu_universal_d_BulkUpdateMenuRequest as BulkUpdateMenuRequest,\n      restaurantsMenusV1Menu_universal_d_MaskedMenu as MaskedMenu,\n      restaurantsMenusV1Menu_universal_d_BulkUpdateMenuResponse as BulkUpdateMenuResponse,\n      restaurantsMenusV1Menu_universal_d_BulkMenuResult as BulkMenuResult,\n      restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      restaurantsMenusV1Menu_universal_d_DeleteMenuRequest as DeleteMenuRequest,\n      restaurantsMenusV1Menu_universal_d_DeleteMenuResponse as DeleteMenuResponse,\n      restaurantsMenusV1Menu_universal_d_CloneMenusRequest as CloneMenusRequest,\n      restaurantsMenusV1Menu_universal_d_CloneMenusResponse as CloneMenusResponse,\n      DomainEvent$5 as DomainEvent,\n      DomainEventBodyOneOf$5 as DomainEventBodyOneOf,\n      EntityCreatedEvent$5 as EntityCreatedEvent,\n      RestoreInfo$5 as RestoreInfo,\n      EntityUpdatedEvent$5 as EntityUpdatedEvent,\n      EntityDeletedEvent$5 as EntityDeletedEvent,\n      ActionEvent$5 as ActionEvent,\n      Empty$4 as Empty,\n      MessageEnvelope$5 as MessageEnvelope,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      restaurantsMenusV1Menu_universal_d_getMenuSiteUrl as getMenuSiteUrl,\n      restaurantsMenusV1Menu_universal_d_queryMenusSiteUrl as queryMenusSiteUrl,\n      restaurantsMenusV1Menu_universal_d_QueryMenusSiteUrlOptions as QueryMenusSiteUrlOptions,\n      restaurantsMenusV1Menu_universal_d_createMenu as createMenu,\n      restaurantsMenusV1Menu_universal_d_bulkCreateMenus as bulkCreateMenus,\n      restaurantsMenusV1Menu_universal_d_BulkCreateMenusOptions as BulkCreateMenusOptions,\n      restaurantsMenusV1Menu_universal_d_getMenu as getMenu,\n      restaurantsMenusV1Menu_universal_d_listMenus as listMenus,\n      restaurantsMenusV1Menu_universal_d_ListMenusOptions as ListMenusOptions,\n      restaurantsMenusV1Menu_universal_d_queryMenus as queryMenus,\n      restaurantsMenusV1Menu_universal_d_MenusQueryResult as MenusQueryResult,\n      restaurantsMenusV1Menu_universal_d_MenusQueryBuilder as MenusQueryBuilder,\n      restaurantsMenusV1Menu_universal_d_updateMenu as updateMenu,\n      restaurantsMenusV1Menu_universal_d_UpdateMenu as UpdateMenu,\n      restaurantsMenusV1Menu_universal_d_UpdateMenuOptions as UpdateMenuOptions,\n      restaurantsMenusV1Menu_universal_d_bulkUpdateMenu as bulkUpdateMenu,\n      restaurantsMenusV1Menu_universal_d_BulkUpdateMenuOptions as BulkUpdateMenuOptions,\n      restaurantsMenusV1Menu_universal_d_updateExtendedFields as updateExtendedFields,\n      restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n      restaurantsMenusV1Menu_universal_d_deleteMenu as deleteMenu,\n      restaurantsMenusV1Menu_universal_d_cloneMenus as cloneMenus,\n    };\n  }\n  \n  /**\n   * An operation is a service a restaurant offers that includes various aspects of its online ordering.\n   * You can define default fulfillments, service fees, and scheduling requirements for each operation.\n   */\n  interface Operation$1 extends OperationOnlineOrderingStatusOptionsOneOf {\n      /** Options for online ordering status. Required when `onlineOrderingStatus` is `PAUSED_UNTIL`. */\n      pausedUntilOptions?: OnlineOrderingPausedUntilOptions;\n      /**\n       * Operation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number. Increments by 1 each time the operation is updated.\n       * To prevent conflicting changes,\n       * the existing `revision` must be specified when updating an operation.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the operation was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the operation was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Operation name. */\n      name?: string | null;\n      /**\n       * Currently INTERNAL. Whether the operation is enabled.\n       * @internal\n       */\n      enabled?: boolean | null;\n      /**\n       * The scheduling data for this operation.\n       * Scheduling specifies when an order can be placed for.\n       * @internal\n       * @deprecated\n       * @replacedBy order_scheduling\n       * @targetRemovalDate 2024-03-04\n       */\n      scheduling?: Scheduling;\n      /**\n       * INTERNAL. Profile ID associated with the operation.\n       * @internal\n       */\n      profileId?: string | null;\n      /**\n       * Whether the operation is the default operation. <br />\n       * Default: `false`.\n       */\n      default?: boolean | null;\n      /** IDs of the fulfillment methods ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/fulfillment-methods/introduction) | [REST](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/fulfillment-methods/introduction)) associated with the operation. */\n      fulfillmentIds?: string[] | null;\n      /**\n       * IDs of the service fee rules ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/service-fees/introduction) | [REST](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/service-fees/introduction)) associated with the operation.\n       * @internal\n       * @deprecated\n       * @replacedBy service_fee_rule_ids\n       * @targetRemovalDate 2024-02-04\n       */\n      serviceFeeRulesIds?: string[] | null;\n      /** Online ordering status of the operation. <br /> */\n      onlineOrderingStatus?: OnlineOrderingStatusType;\n      /**\n       * IDs of the service fee rules ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/service-fees/introduction) | [REST](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/service-fees/introduction)) associated with the operation.\n       * @deprecated\n       * @targetRemovalDate 2024-11-30\n       */\n      serviceFeeRuleIds?: string[] | null;\n      /** Default fulfillment type of the operation. */\n      defaultFulfillmentType?: FulfillmentType;\n      /** Information about when an order can be placed for. */\n      orderScheduling?: OrderScheduling;\n      /**\n       * ID of the operation group this operation belongs to.\n       * @internal\n       */\n      operationGroupId?: string | null;\n      /**\n       * Details of this operation's location.\n       * @internal\n       */\n      location?: Location;\n  }\n  /** @oneof */\n  interface OperationOnlineOrderingStatusOptionsOneOf {\n      /** Options for online ordering status. Required when `onlineOrderingStatus` is `PAUSED_UNTIL`. */\n      pausedUntilOptions?: OnlineOrderingPausedUntilOptions;\n  }\n  /** Information about when an order can be placed for. */\n  interface Scheduling extends SchedulingSchedulingOptionsOneOf {\n      /** Options for scheduling. Required when `type` is `ASAP`. */\n      asapOptions?: AsapScheduling;\n      /** Options for scheduling. Required when `type` is `PREORDER`. */\n      preorderOptions?: PreorderScheduling;\n      /**\n       * Scheduling type. <br />\n       * - When `ASAP`, `asapOptions` is a required field.\n       * - When `PREORDER`, `preorderOptions` is a required field.\n       */\n      type?: SchedulingType;\n  }\n  /** @oneof */\n  interface SchedulingSchedulingOptionsOneOf {\n      /** Options for scheduling. Required when `type` is `ASAP`. */\n      asapOptions?: AsapScheduling;\n      /** Options for scheduling. Required when `type` is `PREORDER`. */\n      preorderOptions?: PreorderScheduling;\n  }\n  /** Scheduling type enum. */\n  enum SchedulingType {\n      /** Unknown scheduling type. */\n      UNKNOWN_SCHEDULING = \"UNKNOWN_SCHEDULING\",\n      /** Orders can be scheduled for the future and to be handled immediately. */\n      ASAP = \"ASAP\",\n      /** Orders can be scheduled only for the future. */\n      PREORDER = \"PREORDER\"\n  }\n  /** Options for scheduling. Required if `type` is `ASAP`. */\n  interface AsapScheduling extends AsapSchedulingPreparationTimeOneOf, AsapSchedulingAsapPreorderOneOf {\n      /** Options for preparation time. Required when `type` is `MAX_TIME`. */\n      maxOptions?: TimeDuration;\n      /** Options for preparation time. Required when `type` is `TIME_RANGE`. */\n      rangeOptions?: TimeDurationRange;\n      /** Information for when orders must be made a set number of business days in advance. */\n      businessDaysPreorderOptions?: BusinessDaysPreorder;\n      /** How to define the time needed to prepare an order. */\n      type?: PreparationTimeType;\n      /**\n       * Indication of whether it is possible to place an order for a later time on the same day.\n       * @deprecated Indication of whether it is possible to place an order for a later time on the same day.\n       * @replacedBy asap_preorder_type\n       * @targetRemovalDate 2023-12-28\n       */\n      allowSameDayPreorder?: boolean | null;\n      /** The type of preorder allowed for the ASAP scheduling. */\n      asapPreorderType?: AsapPreorderType;\n  }\n  /** @oneof */\n  interface AsapSchedulingPreparationTimeOneOf {\n      /** Options for preparation time. Required when `type` is `MAX_TIME`. */\n      maxOptions?: TimeDuration;\n      /** Options for preparation time. Required when `type` is `TIME_RANGE`. */\n      rangeOptions?: TimeDurationRange;\n  }\n  /** @oneof */\n  interface AsapSchedulingAsapPreorderOneOf {\n      /** Information for when orders must be made a set number of business days in advance. */\n      businessDaysPreorderOptions?: BusinessDaysPreorder;\n  }\n  /** Preparation time type enum. */\n  enum PreparationTimeType {\n      /** Unknown preparation time type. */\n      UNKNOWN_PREPARATION_TIME = \"UNKNOWN_PREPARATION_TIME\",\n      /** Preparation time that is bounded by a maximum time. */\n      MAX = \"MAX\",\n      /** Preparation time that is bounded by a range of times. */\n      RANGE = \"RANGE\"\n  }\n  /** Time duration. */\n  interface TimeDuration {\n      /** Unit of time for the duration. */\n      timeUnit?: TimeUnit;\n      /** Duration value. Unit of time specified in `timeUnit`. */\n      duration?: number | null;\n  }\n  /** Time unit enum. */\n  enum TimeUnit {\n      /** Unknown time unit. */\n      UNKNOWN_TIME_UNIT = \"UNKNOWN_TIME_UNIT\",\n      /** Minutes time unit. */\n      MINUTES = \"MINUTES\",\n      /** Hours time unit. */\n      HOURS = \"HOURS\",\n      /** Days time unit. */\n      DAYS = \"DAYS\"\n  }\n  /** Time range for preparation. */\n  interface TimeDurationRange {\n      /** Time unit for the time range. */\n      timeUnit?: TimeUnit;\n      /**\n       * Minimum duration value. Unit of time specified in `timeUnit`.\n       * @internal\n       * @deprecated\n       * @replacedBy min_duration\n       * @targetRemovalDate 2023-11-11\n       */\n      rangeMinimumDuration?: number | null;\n      /**\n       * Maximum duration value. Unit of time specified in `timeUnit`.\n       * @internal\n       * @deprecated\n       * @replacedBy max_duration\n       * @targetRemovalDate 2023-11-11\n       */\n      rangeMaximumDuration?: number | null;\n      /** Minimum duration value. Unit of time specified in `timeUnit`. */\n      minDuration?: number | null;\n      /** Maximum duration value. Unit of time specified in `timeUnit`. */\n      maxDuration?: number | null;\n  }\n  /** Asap preorder type enum. */\n  enum AsapPreorderType {\n      /** Unknown ASAP preorder type. */\n      UNKNOWN_ASAP_PREORDER = \"UNKNOWN_ASAP_PREORDER\",\n      /** Doesn't allow preorder. */\n      NO_PREORDER = \"NO_PREORDER\",\n      /** Allows preorder for a maximum specified number of business days in advance. */\n      BUSINESS_DAYS_PREORDER = \"BUSINESS_DAYS_PREORDER\"\n  }\n  /** Information for when orders must be made a set number of business days in advance. */\n  interface BusinessDaysPreorder {\n      /**\n       * Maximum number of business days an order can be scheduled in advance.\n       *\n       * When `0`, an order can be scheduled only until the end of the current business day.\n       * For any other value, the order can be scheduled for the end of the business day in that many days.\n       * For example, `5` means the order can be scheduled for any time before the end of the 5th business day from today (where today is \"day 0\").\n       */\n      businessDays?: number | null;\n  }\n  /** Information about preorders. */\n  interface PreorderScheduling {\n      method?: PreorderMethod;\n      /**\n       * Configuration of the fulfillment times. <br />\n       * Currently, only `TIME_WINDOWS` is supported.\n       * @internal\n       * @deprecated\n       * @replacedBy fulfillment_times_display\n       * @targetRemovalDate 2023-11-11\n       */\n      fulfillmentTimesDisplayConfig?: FulfillmentTimesDisplayConfig;\n      /**\n       * Configuration of the fulfillment times. <br />\n       * Currently, only `TIME_WINDOWS` is supported.\n       */\n      fulfillmentTimesDisplay?: FulfillmentTimesDisplayConfig;\n  }\n  /** Method for `PREORDER` scheduling type. */\n  interface PreorderMethod extends PreorderMethodMethodOptionsOneOf {\n      /** Options for the method. Required when `type` is `TIME_BOUNDED`. */\n      timeBoundedOptions?: TimeBounded;\n      /** Options for the method. Required when `type` is `WEEKLY_SCHEDULE`. */\n      weeklyScheduleOptions?: WeeklySchedule;\n      /**\n       * Type of time frame for how long in advance preorders can be made. <br />\n       * - When `TIME_BOUNDED`, `timeBoundedOptions` is a required field.\n       * - When `WEEKLY_SCHEDULE`, `weeklyScheduleOptions` is a required field.\n       */\n      type?: MethodType;\n  }\n  /** @oneof */\n  interface PreorderMethodMethodOptionsOneOf {\n      /** Options for the method. Required when `type` is `TIME_BOUNDED`. */\n      timeBoundedOptions?: TimeBounded;\n      /** Options for the method. Required when `type` is `WEEKLY_SCHEDULE`. */\n      weeklyScheduleOptions?: WeeklySchedule;\n  }\n  /** Day of the week and time of the day. */\n  interface DayAndTime {\n      /** Day of the week. */\n      dayOfWeek?: EntitiesDayOfWeek$1;\n      /** Time of the day. */\n      timeOfDay?: TimeOfDay$1;\n  }\n  enum EntitiesDayOfWeek$1 {\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface TimeOfDay$1 {\n      /**\n       * Hours. <br />\n       * Min: `0`. <br />\n       * Max: `23`.\n       */\n      hours?: number;\n      /**\n       * Minutes. <br />\n       * Min: `0`. <br />\n       * Max: `23`.\n       */\n      minutes?: number;\n  }\n  /** Preorder method type enum. */\n  enum MethodType {\n      /** Unknown preorder method type. */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** Preorder time has a minimum and a maximum. */\n      TIME_BOUNDED = \"TIME_BOUNDED\",\n      /** Preorders have a weekly schedule with a weekly cutoff time. */\n      WEEKLY_SCHEDULE = \"WEEKLY_SCHEDULE\"\n  }\n  /** Information about the time range when preorders are time bounded. */\n  interface TimeBounded {\n      /**\n       * Minimum time required to schedule the order.\n       * @internal\n       * @deprecated\n       * @replacedBy min_time_in_advance\n       * @targetRemovalDate 2023-11-11\n       */\n      minimumInAdvanceTime?: TimeDuration;\n      /**\n       * Maximum time allowed to schedule the order.\n       * @internal\n       * @deprecated\n       * @replacedBy max_time_in_advance\n       * @targetRemovalDate 2023-11-11\n       */\n      maximumInAdvanceTime?: TimeDuration;\n      /** Minimum time required to schedule the order. */\n      minTimeInAdvance?: TimeDuration;\n      /** Maximum time allowed to schedule the order. */\n      maxTimeInAdvance?: TimeDuration;\n  }\n  /** Options for the method. Required when `type` is `WEEKLY_SCHEDULE`. */\n  interface WeeklySchedule {\n      /**\n       * The weekly schedule cutoff time. <br />\n       * Orders placed before the cutoff time are scheduled for the current week. <br />\n       * Orders placed after the cutoff time are scheduled for the next week.\n       */\n      cutOffTime?: DayAndTime;\n  }\n  /** Way by which fulfillment times should be displayed. */\n  interface FulfillmentTimesDisplayConfig extends FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf {\n      /** Options for fulfillment time. Required when `fulfillmentTimesType` is `TIME_WINDOWS`. */\n      timeWindowsOptions?: TimeDuration;\n      /**\n       * Type of the fulfillment times.<br />\n       * When `TIME_WINDOWS`, `timeWindowsOptions` is a required field.\n       * @internal\n       * @deprecated\n       * @replacedBy type\n       * @targetRemovalDate 2023-11-11\n       */\n      fulfillmentTimesType?: FulfillmentTimesType;\n      /**\n       * Type of the fulfillment times. <br />\n       * When `TIME_WINDOWS`, `timeWindowsOptions` is a required field.\n       */\n      type?: FulfillmentTimesType;\n  }\n  /** @oneof */\n  interface FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf {\n      /** Options for fulfillment time. Required when `fulfillmentTimesType` is `TIME_WINDOWS`. */\n      timeWindowsOptions?: TimeDuration;\n  }\n  /** The fulfillment times type enum. */\n  enum FulfillmentTimesType {\n      /** Unknown fulfillment times type. */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** Display fulfillment times as time windows. */\n      TIME_WINDOWS = \"TIME_WINDOWS\"\n  }\n  /** Online ordering status enum. */\n  enum OnlineOrderingStatusType {\n      /** Online ordering status is not defined. */\n      UNDEFINED_ONLINE_ORDERING_STATUS = \"UNDEFINED_ONLINE_ORDERING_STATUS\",\n      /** Operation currently accepts online orders. */\n      ENABLED = \"ENABLED\",\n      /** Operation currently does not accept online orders. */\n      DISABLED = \"DISABLED\",\n      /** Operation currently does not accept online orders, but will accept online orders from a specified time and date. When applied, `pausedUntilOptions` is a required field. */\n      PAUSED_UNTIL = \"PAUSED_UNTIL\"\n  }\n  /** Options for online ordering status. Required when `onlineOrderingStatus` is `PAUSED_UNTIL`. */\n  interface OnlineOrderingPausedUntilOptions {\n      /**\n       * Date and time until which online ordering is paused. <br />\n       *\n       * Before the specified time, behavior is the same as when `onlineOrderingStatus` is `DISABLED`. <br />\n       *\n       * After the specified time, behavior is the same as when `onlineOrderingStatus` is `ENABLED`. <br />\n       *\n       * Passing the time does not trigger any changes to value of any properties.\n       */\n      time?: Date | null;\n  }\n  /** Fulfillment type enum. */\n  enum FulfillmentType {\n      /** Undefined fulfillment type. */\n      UNDEFINED_FULFILLMENT_TYPE = \"UNDEFINED_FULFILLMENT_TYPE\",\n      /** Pickup fulfillment. */\n      PICKUP = \"PICKUP\",\n      /** Delivery fulfillment. */\n      DELIVERY = \"DELIVERY\"\n  }\n  /** Information about when an order can be placed for. */\n  interface OrderScheduling extends OrderSchedulingOrderSchedulingOptionsOneOf {\n      /** Options for scheduling. Required if `type` is `ASAP`. */\n      asapOptions?: AsapOrderScheduling;\n      /** Options for scheduling. Required if `type` is `PREORDER`. */\n      preorderOptions?: PreorderScheduling;\n      /**\n       * Scheduling type. <br />\n       * - When `ASAP`, `asapOptions` is a required field.\n       * - When `PREORDER`, `preorderOptions` is a required field.\n       */\n      type?: SchedulingType;\n  }\n  /** @oneof */\n  interface OrderSchedulingOrderSchedulingOptionsOneOf {\n      /** Options for scheduling. Required if `type` is `ASAP`. */\n      asapOptions?: AsapOrderScheduling;\n      /** Options for scheduling. Required if `type` is `PREORDER`. */\n      preorderOptions?: PreorderScheduling;\n  }\n  interface AsapOrderScheduling extends AsapOrderSchedulingAsapFutureHandlingOptionsOneOf {\n      /** Options for future handling. Required when `asapFutureHandlingType` is `BUSINESS_DAYS_AHEAD_HANDLING`. */\n      businessDaysAheadHandlingOptions?: BusinessDaysAheadHandling;\n      /**\n       * Amount of time needed to prepare the order. <br />\n       * - When `MAX_TIME`, `maxTimeOptions` is a required field.\n       * - When `MAX_RANGE`, `timeRangeOptions` is a required field.\n       */\n      preparationTime?: PreparationTime;\n      /**\n       * Defines if and how non-immediate orders should be handled. <br />\n       * When this value is `BUSINESS_DAYS_AHEAD_HANDLING`, `businessDaysAheadHandlingOptions` is a required field.\n       */\n      asapFutureHandlingType?: AsapFutureHandlingType;\n  }\n  /** @oneof */\n  interface AsapOrderSchedulingAsapFutureHandlingOptionsOneOf {\n      /** Options for future handling. Required when `asapFutureHandlingType` is `BUSINESS_DAYS_AHEAD_HANDLING`. */\n      businessDaysAheadHandlingOptions?: BusinessDaysAheadHandling;\n  }\n  interface PreparationTime extends PreparationTimeTimeSpecificationOneOf {\n      /** Options for preparation time. Required when `type` is `MAX_TIME`. */\n      maxTimeOptions?: TimeDuration;\n      /** Options for preparation time. Required when `type` is `TIME_RANGE`. */\n      timeRangeOptions?: TimeDurationRange;\n      /** Preparation time type. */\n      type?: PreparationTimePreparationTimeType;\n  }\n  /** @oneof */\n  interface PreparationTimeTimeSpecificationOneOf {\n      /** Options for preparation time. Required when `type` is `MAX_TIME`. */\n      maxTimeOptions?: TimeDuration;\n      /** Options for preparation time. Required when `type` is `TIME_RANGE`. */\n      timeRangeOptions?: TimeDurationRange;\n  }\n  /** Preparation time type enum. */\n  enum PreparationTimePreparationTimeType {\n      UNKNOWN_PREPARATION_TIME = \"UNKNOWN_PREPARATION_TIME\",\n      MAX_TIME = \"MAX_TIME\",\n      TIME_RANGE = \"TIME_RANGE\"\n  }\n  enum AsapFutureHandlingType {\n      /** Unknown asap future handling type. */\n      UNKNOWN_ASAP_FUTURE_HANDLING = \"UNKNOWN_ASAP_FUTURE_HANDLING\",\n      /** No future handling. */\n      NO_FUTURE_HANDLING = \"NO_FUTURE_HANDLING\",\n      /** Allows future orders for up to a specified number of business days ahead. */\n      BUSINESS_DAYS_AHEAD_HANDLING = \"BUSINESS_DAYS_AHEAD_HANDLING\"\n  }\n  interface BusinessDaysAheadHandling {\n      /**\n       * Number of business days ahead for which orders can be scheduled. <br />\n       * Setting the `daysCount` to 0 means that orders can be scheduled until the end of the current business day.\n       */\n      daysCount?: number | null;\n  }\n  interface Location {\n      /**\n       * Location Id.\n       * @internal\n       */\n      _id?: string | null;\n      /**\n       * Location Name.\n       * @internal\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Whether this operation's location is archived. This has no impact on API behavior, but it can be used to indicate whether this operation's location is active or inactive.\n       * @internal\n       * @readonly\n       */\n      archived?: boolean | null;\n  }\n  interface InvalidateCache$1 extends InvalidateCacheGetByOneOf$1 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page$1;\n      /** Invalidate by URI path */\n      uri?: URI$1;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$1;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$1 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page$1;\n      /** Invalidate by URI path */\n      uri?: URI$1;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$1;\n  }\n  interface App$1 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$1 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$1 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$1 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface DeliveryProfileConfiguredForOperation {\n      /** Operation */\n      operation?: Operation$1;\n  }\n  interface OperationsDataCloningCompleted {\n  }\n  interface CreateOperationRequest {\n      /** Operation to create. */\n      operation: Operation$1;\n  }\n  interface CreateOperationResponse {\n      /** Created operation. */\n      operation?: Operation$1;\n  }\n  interface GetOperationRequest {\n      /** ID of the operation to retrieve. */\n      operationId: string;\n  }\n  interface GetOperationResponse {\n      /** Retrieved operation. */\n      operation?: Operation$1;\n  }\n  interface UpdateOperationRequest {\n      /** Operation to update. */\n      operation: Operation$1;\n      /**\n       * Field mask of the fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateOperationResponse {\n      /** Updated operation. */\n      operation?: Operation$1;\n  }\n  interface DeleteOperationRequest {\n      /** ID of the operation to delete. */\n      operationId: string;\n  }\n  interface DeleteOperationResponse {\n  }\n  interface QueryOperationRequest {\n      /** Query options. */\n      query: CursorQuery$3;\n  }\n  interface CursorQuery$3 extends CursorQueryPagingMethodOneOf$3 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n       * for more information.\n       *\n       * For a detailed list of supported filters, see\n       * [Supported Filters](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/operations/operations/supported-filters-and-sorting).\n       */\n      filter?: Record<string, any> | null;\n      /** Sort object. */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$3 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$3 {\n      /**\n       * Supported properties:\n       * - `id`\n       * - `createdDate`\n       * - `updatedDate`\n       * - `name`\n       */\n      fieldName?: string;\n      /**\n       * Sort order. Use `ASC` for ascending order or `DESC` for descending order. <br />\n       *\n       * Default: `ASC`\n       */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryOperationResponse {\n      /** Retrieved operations. */\n      operations?: Operation$1[];\n      /** Metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$2;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListOperationsRequest {\n  }\n  interface ListOperationsResponse {\n      /** Retrieved operations. */\n      operations?: Operation$1[];\n  }\n  interface ListOperationIdsRequest {\n      /** metasite id */\n      metasiteId: string;\n  }\n  interface ListOperationIdsResponse {\n      /** List of operation ids */\n      operationIds?: string[];\n  }\n  interface ListAvailableFulfillmentOptionsRequest {\n      /** Operation ID. Returned fulfillment options will belong to this operation. */\n      operationId: string;\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n  }\n  /** Physical address */\n  interface CommonAddress$1 extends CommonAddressStreetOneOf$1 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$1;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision$1[];\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf$1 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$1 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$1 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$1 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$1;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$1 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface ListAvailableFulfillmentOptionsResponse {\n      /** Whether pickup fulfillment method is configured for the requested operation. */\n      pickupConfigured?: boolean;\n      /** Whether delivery fulfillment method is configured for the requested operation. */\n      deliveryConfigured?: boolean;\n      /** List of the available fulfillment options. */\n      fulfillmentOptions?: FulfillmentOption[];\n      /** Whether availability exceptions block the fulfillment options. */\n      blockedByAvailabilityExceptions?: boolean | null;\n  }\n  /** Fulfillment method that is currently available to fulfill orders, given its availability and the operation's scheduling configurations. */\n  interface FulfillmentOption extends FulfillmentOptionFulfillmentTimeOptionsOneOf, FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf, FulfillmentOptionFulfillmentTypeOptionsOneOf {\n      /** Fulfillment time has a maximum time. */\n      maxTimeOptions?: number;\n      /** Fulfillment time is limited by a range. */\n      durationRangeOptions?: DurationRange;\n      /** Options for fulfillment time. Required when `type` is `TIME_WINDOWS`. */\n      timeWindowsOptions?: TimeWindowDisplayConfig;\n      /** Information about pickup fulfillment types. */\n      pickupOptions?: PickupDetails;\n      /** Information about delivery fulfillment types. */\n      deliveryOptions?: DeliveryDetails;\n      /** Fulfillment method ID. */\n      _id?: string | null;\n      /** Fulfillment option type. */\n      type?: FulfillmentType;\n      /** Minimum order price to qualify for the fulfillment option. */\n      minOrderPrice?: string | null;\n      /** Fee for using the fulfillment option. */\n      fee?: string | null;\n      /** Availability of the fulfillment option. */\n      availability?: FulfillmentOptionAvailability;\n      /**\n       * Fulfillment time type.\n       * Relevant only to ASAP operations.\n       */\n      fulfillmentTimeType?: FulfillmentTimeType;\n      /** Fulfillment times display type. Relevant to preorder operations. */\n      fulfillmentTimesDisplayType?: FulfillmentTimesDisplayType;\n      /**\n       * Minimum order price for free fulfillment.\n       * If order price exceeds this amount, the given `fee` is waived.\n       */\n      freeFulfillmentPriceThreshold?: string | null;\n      /** Instructions for the fulfillment. */\n      instructions?: string | null;\n  }\n  /** @oneof */\n  interface FulfillmentOptionFulfillmentTimeOptionsOneOf {\n      /** Fulfillment time has a maximum time. */\n      maxTimeOptions?: number;\n      /** Fulfillment time is limited by a range. */\n      durationRangeOptions?: DurationRange;\n  }\n  /** @oneof */\n  interface FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf {\n      /** Options for fulfillment time. Required when `type` is `TIME_WINDOWS`. */\n      timeWindowsOptions?: TimeWindowDisplayConfig;\n  }\n  /** @oneof */\n  interface FulfillmentOptionFulfillmentTypeOptionsOneOf {\n      /** Information about pickup fulfillment types. */\n      pickupOptions?: PickupDetails;\n      /** Information about delivery fulfillment types. */\n      deliveryOptions?: DeliveryDetails;\n  }\n  /** Availability of the fulfillment option. */\n  interface FulfillmentOptionAvailability {\n      /** Date and time at which the fulfillment option's availability starts. */\n      startTime?: Date | null;\n      /** Date and time at which the fulfillment option's availability ends. */\n      endTime?: Date | null;\n      /**\n       * List of available times for the days of the week.\n       * All the specified times must be within the range between `startTime` and `endTime`.\n       */\n      availableTimes?: DayOfWeekAvailability$1[];\n      /** List of availability exceptions that override the availability defined in `availableTimes`. */\n      exceptions?: AvailabilityException$1[];\n      /** Timezone for which the available times are given. */\n      timeZone?: string | null;\n      /** Whether it's possible to submit an order for as soon as possible handling. */\n      asapHandlingAvailable?: boolean;\n      /** Whether it's possible to submit an order for future handling. */\n      futureHandlingAvailable?: boolean | null;\n  }\n  interface DayOfWeekAvailability$1 {\n      /** The day of week this availability relates to. */\n      dayOfWeek?: EntitiesDayOfWeek$1;\n      /** A list of time ranges during which the fulfillment should be available. */\n      timeRanges?: TimeOfDayRange$1[];\n  }\n  interface TimeOfDayRange$1 {\n      /** The start time in time of day representation. */\n      startTime?: TimeOfDay$1;\n      /** The end time in time of day representation. */\n      endTime?: TimeOfDay$1;\n  }\n  interface AvailabilityException$1 {\n      /** The start time of the availability exception. */\n      startTime?: Date | null;\n      /** The end time of the availability exception. */\n      endTime?: Date | null;\n      /** An indication whether the exception makes the [`start_time`, `end_time`] range available. */\n      available?: boolean;\n      /** The reason for the exception. */\n      reason?: string | null;\n  }\n  /** Fulfillment time type enum. */\n  enum FulfillmentTimeType {\n      /** Undefined fulfillment time type. */\n      UNDEFINED_FULFILLMENT_TIME = \"UNDEFINED_FULFILLMENT_TIME\",\n      /** Fulfillment time has a maximum. */\n      MAX_TIME = \"MAX_TIME\",\n      /** Fulfillment time has a minimum and a maximum. */\n      DURATION_RANGE = \"DURATION_RANGE\"\n  }\n  /** Duration range. */\n  interface DurationRange {\n      /** Minimum duration in minutes. */\n      minDuration?: number;\n      /** Maximum duration in minutes. */\n      maxDuration?: number;\n  }\n  /** Fulfillment times display type enum. */\n  enum FulfillmentTimesDisplayType {\n      /** Undefined fulfillment times display type. */\n      UNDEFINED_FULFILLMENT_TIMES_DISPLAY = \"UNDEFINED_FULFILLMENT_TIMES_DISPLAY\",\n      /** Fulfillment times are displayed as a list of time windows. */\n      TIME_WINDOWS = \"TIME_WINDOWS\"\n  }\n  /** Time window. */\n  interface TimeWindowDisplayConfig {\n      /** Time window duration in minutes. */\n      durationInMinutes?: number;\n  }\n  /** Information about pickup fulfillment types. */\n  interface PickupDetails {\n      /** Pickup address. This is the restaurant's address. */\n      address?: CommonAddress$1;\n  }\n  /** Information about delivery fulfillment types. */\n  interface DeliveryDetails {\n      /** Delivery provider app id. */\n      deliveryProviderAppId?: string | null;\n      /** Pickup instructions for couriers. */\n      courierPickupInstructions?: string | null;\n  }\n  interface ListFirstAvailableTimeSlotForFulfillmentTypesRequest {\n      /**\n       * Operation ID.\n       * Returned fulfillment options will belong to this operation.\n       */\n      operationId: string;\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n  }\n  interface ListFirstAvailableTimeSlotForFulfillmentTypesResponse {\n      /**\n       * List of available time slots for each fulfillment type.\n       *\n       * Each time slot is the first available time slot for the given fulfillment type.\n       * A delivery fulfillment type is returned only if the delivery address is provided.\n       */\n      timeSlots?: FulfillmentTimeSlot[];\n  }\n  interface FulfillmentTimeSlot {\n      /** Start time and date of the time slot. */\n      startTime?: Date | null;\n      /** End time and date of the time slot. */\n      endTime?: Date | null;\n      /** Type of the fulfillment. */\n      fulfilmentType?: FulfillmentType;\n      /** Whether the time slot starts now. */\n      startsNow?: boolean;\n      /** Details for each fulfillment option of the time slot. */\n      fulfillmentDetails?: FulfillmentDetails[];\n      /** Address of the fulfillment. */\n      fulfillmentAddress?: FulfillmentAddress;\n  }\n  /** Details about the fulfillment option. */\n  interface FulfillmentDetails extends FulfillmentDetailsFulfillmentTimeOptionsOneOf {\n      /** Fulfillment time has a maximum. */\n      maxTimeOptions?: number;\n      /** Fulfillment time has a minimum and a maximum. */\n      durationRangeOptions?: DurationRange;\n      /** Fee for using this fulfillment. */\n      fee?: string | null;\n      /** Minimum order price to qualify for using this fulfillment. */\n      minOrderPrice?: string | null;\n      /** Fulfillment time type. Only be relevant to ASAP operations. */\n      fulfillmentTimeType?: FulfillmentTimeType;\n      /**\n       * Minimum order price for free fulfillment.\n       * If order price exceeds this amount, the given `fee` is waived.\n       */\n      freeFulfillmentPriceThreshold?: string | null;\n  }\n  /** @oneof */\n  interface FulfillmentDetailsFulfillmentTimeOptionsOneOf {\n      /** Fulfillment time has a maximum. */\n      maxTimeOptions?: number;\n      /** Fulfillment time has a minimum and a maximum. */\n      durationRangeOptions?: DurationRange;\n  }\n  /**\n   * Details on the address of the fulfillment.\n   * For pickup it will the address to take the order from.\n   * For delivery it will be the address to deliver the order to.\n   */\n  interface FulfillmentAddress {\n      /** Pickup address. This is the address of the restaurant. */\n      address?: CommonAddress$1;\n  }\n  interface ListFirstAvailableTimeSlotsForMenusRequest {\n      /**\n       * Operation ID.\n       * Returned timeslots that are belong to this operation.\n       */\n      operationId: string | null;\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface ListFirstAvailableTimeSlotsForMenusResponse {\n      /**\n       * List of available time slots for each menu.\n       * For each menu will be returned the first available time slot for each fulfillment type.\n       */\n      timeSlotsPerMenu?: FirstFulfillmentTimeSlotsPerMenu[];\n      /** Cursor to next request. */\n      cursor?: string | null;\n  }\n  interface FirstFulfillmentTimeSlotsPerMenu {\n      /** Menu ID. */\n      menuId?: string | null;\n      /** List of available time slots for each fulfillment type. */\n      timeslotsPerFulfillmentType?: FulfillmentTimeSlot[];\n  }\n  interface ListAvailableTimeSlotsForDateRequest {\n      /**\n       * Operation ID.\n       * The returned fulfillment options will belong to this operation.\n       */\n      operationId: string;\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n      /** Date and time to get the available time slots for. */\n      date: _Date;\n  }\n  interface _Date {\n      /** The day of the month. */\n      day?: number;\n      /** The month of the year. */\n      month?: number;\n      /** The year of the date. */\n      year?: number;\n  }\n  interface ListAvailableTimeSlotsForDateResponse {\n      /** Lst of the available time slots in the requested date. */\n      timeSlots?: FulfillmentTimeSlot[];\n  }\n  interface ListAvailableDatesInRangeRequest {\n      /**\n       * Operation ID.\n       * The returned fulfillment options will belong to this operation.\n       */\n      operationId: string;\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n      /** Start date and time of the range. */\n      from: _Date;\n      /** End date and time of the range. */\n      until: _Date;\n  }\n  interface ListAvailableDatesInRangeResponse {\n      /** List of the available dates in descending order for each fulfillment type. */\n      availableDates?: FulfillmentTypeAvailableDates[];\n  }\n  /** Available dates for a given fulfillment type. */\n  interface FulfillmentTypeAvailableDates {\n      /** Type of the fulfillment. */\n      fulfilmentType?: FulfillmentType;\n      /** List of the available dates in descending order. */\n      dates?: _Date[];\n  }\n  interface GetExpectedFulfillmentSelectionRequest {\n      /** Operation ID. The returned fulfillment will belong to this operation. */\n      operationId: string;\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n      /** Start time and date of the time slot. */\n      timeslotStartTime?: Date | null;\n      /** End time and date of the time slot. */\n      timeslotEndTime?: Date | null;\n      /** Type of fulfillment. */\n      fulfilmentType: FulfillmentType;\n      /** Whether it is possible to submit an order to be prepared asap. */\n      canSubmitOrderForNow?: boolean | null;\n  }\n  interface GetExpectedFulfillmentSelectionResponse {\n      /** Expected fulfillment option. */\n      expectedFulfillmentSelections?: FulfillmentOption[];\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface Empty$3 {\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification$1 {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent$1;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation$1[];\n      /** Context of the notification */\n      changeContext?: ChangeContext$1;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent$1 {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties$1;\n  }\n  interface Properties$1 {\n      /** Site categories. */\n      categories?: Categories$1;\n      /** Site locale. */\n      locale?: Locale$2;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address$1;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$1;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual$1;\n      /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n      consentPolicy?: ConsentPolicy$1;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site URL that uses Wix as its headless business solution. */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics. */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories$1 {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale$2 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address$1 {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint$1;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates$1;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n   */\n  interface AddressHint$1 {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType$1;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType$1 {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates$1 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$1 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$1[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$1[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$1 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$1;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$1;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$1 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$1 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual$1 {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage$1[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage$1 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale$2;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod$1;\n  }\n  enum ResolutionMethod$1 {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy$1 {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation$1 {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext$1 extends ChangeContextPayloadOneOf$1 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$1;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$1;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf$1 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$1;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$1;\n  }\n  interface PropertiesChange$1 {\n  }\n  interface SiteCreated$1 {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned$1 {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new operation.\n   * @param operation - Operation to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField operation\n   * @permissionId RESTAURANTS.OPERATION_CREATE\n   * @adminMethod\n   * @returns Created operation.\n   */\n  function createOperation(operation: Operation$1): Promise<Operation$1>;\n  /**\n   * Retrieves an operation.\n   * @param operationId - ID of the operation to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @permissionId RESTAURANTS.OPERATION_READ\n   * @returns Retrieved operation.\n   */\n  function getOperation(operationId: string): Promise<Operation$1>;\n  /**\n   * Updates an operation.\n   *\n   * If you update part of the `orderScheduling` property, the whole object is overwritten,\n   * so you must include the entire object unless you are not updating `orderScheduling` at all. <br />\n   *\n   * Each time the operation is updated,\n   * `revision` increments by 1.\n   * The current `revision` must be passed when updating the operation.\n   * This ensures you're working with the latest operation\n   * and prevents unintended overwrites.\n   * @param _id - Operation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField operation\n   * @requiredField operation.revision\n   * @permissionId RESTAURANTS.OPERATION_UPDATE\n   * @adminMethod\n   * @returns Updated operation.\n   */\n  function updateOperation(_id: string | null, operation: UpdateOperation, options?: UpdateOperationOptions): Promise<Operation$1>;\n  interface UpdateOperation {\n      /** Options for online ordering status. Required when `onlineOrderingStatus` is `PAUSED_UNTIL`. */\n      pausedUntilOptions?: OnlineOrderingPausedUntilOptions;\n      /**\n       * Operation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number. Increments by 1 each time the operation is updated.\n       * To prevent conflicting changes,\n       * the existing `revision` must be specified when updating an operation.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the operation was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the operation was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Operation name. */\n      name?: string | null;\n      /**\n       * Currently INTERNAL. Whether the operation is enabled.\n       * @internal\n       */\n      enabled?: boolean | null;\n      /**\n       * The scheduling data for this operation.\n       * Scheduling specifies when an order can be placed for.\n       * @internal\n       * @deprecated\n       * @replacedBy order_scheduling\n       * @targetRemovalDate 2024-03-04\n       */\n      scheduling?: Scheduling;\n      /**\n       * INTERNAL. Profile ID associated with the operation.\n       * @internal\n       */\n      profileId?: string | null;\n      /**\n       * Whether the operation is the default operation. <br />\n       * Default: `false`.\n       */\n      default?: boolean | null;\n      /** IDs of the fulfillment methods ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/fulfillment-methods/introduction) | [REST](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/fulfillment-methods/introduction)) associated with the operation. */\n      fulfillmentIds?: string[] | null;\n      /**\n       * IDs of the service fee rules ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/service-fees/introduction) | [REST](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/service-fees/introduction)) associated with the operation.\n       * @internal\n       * @deprecated\n       * @replacedBy service_fee_rule_ids\n       * @targetRemovalDate 2024-02-04\n       */\n      serviceFeeRulesIds?: string[] | null;\n      /** Online ordering status of the operation. <br /> */\n      onlineOrderingStatus?: OnlineOrderingStatusType;\n      /**\n       * IDs of the service fee rules ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/service-fees/introduction) | [REST](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/service-fees/introduction)) associated with the operation.\n       * @deprecated\n       * @targetRemovalDate 2024-11-30\n       */\n      serviceFeeRuleIds?: string[] | null;\n      /** Default fulfillment type of the operation. */\n      defaultFulfillmentType?: FulfillmentType;\n      /** Information about when an order can be placed for. */\n      orderScheduling?: OrderScheduling;\n      /**\n       * ID of the operation group this operation belongs to.\n       * @internal\n       */\n      operationGroupId?: string | null;\n      /**\n       * Details of this operation's location.\n       * @internal\n       */\n      location?: Location;\n  }\n  interface UpdateOperationOptions {\n      /**\n       * Field mask of the fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes an operation.\n   * @param operationId - ID of the operation to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @permissionId RESTAURANTS.OPERATION_DELETE\n   * @adminMethod\n   */\n  function deleteOperation(operationId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of operations.\n   *\n   * The `queryOperations()` function builds a query to retrieve a list of operations and returns an `OperationsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/operations/operations-query-builder/find) function.\n   *\n   * You can refine the query by chaining `OperationsQueryBuilder` functions onto the query. `OperationsQueryBuilder` functions enable you to filter, sort, and control the results that `queryOperations()` returns.\n   *\n   * `queryOperations()` runs with the following `OperationsQueryBuilder` defaults, which you can override:\n   *\n   * * [`limit(50)`](/operations/operations-query-builder/limit)\n   * * [`ascending('entityId')`](/operations/operations-methods-query-builder/ascending)\n   *\n   * The following `OperationsQueryBuilder` functions are supported for `queryOperations()`. For a full description of the operations object, see the object returned for the [`items`](/operations/operations-query-result/items) property in `OperationsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.OPERATION_READ\n   */\n  function queryOperation(): OperationsQueryBuilder;\n  interface QueryCursorResult$3 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface OperationsQueryResult extends QueryCursorResult$3 {\n      items: Operation$1[];\n      query: OperationsQueryBuilder;\n      next: () => Promise<OperationsQueryResult>;\n      prev: () => Promise<OperationsQueryResult>;\n  }\n  interface OperationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'default' | 'fulfillmentIds' | 'onlineOrderingStatus' | 'serviceFeeRuleIds' | 'defaultFulfillmentType', value: any) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'default' | 'fulfillmentIds' | 'onlineOrderingStatus' | 'serviceFeeRuleIds' | 'defaultFulfillmentType', value: any) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name', value: string) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'default' | 'fulfillmentIds' | 'onlineOrderingStatus' | 'serviceFeeRuleIds' | 'defaultFulfillmentType', value: any[]) => OperationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasAll: (propertyName: 'fulfillmentIds' | 'serviceFeeRuleIds', value: any[]) => OperationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'default' | 'fulfillmentIds' | 'onlineOrderingStatus' | 'serviceFeeRuleIds' | 'defaultFulfillmentType', value: any) => OperationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'default' | 'fulfillmentIds' | 'onlineOrderingStatus' | 'serviceFeeRuleIds' | 'defaultFulfillmentType', value: boolean) => OperationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'name' | 'profileId' | 'default' | 'fulfillmentIds' | 'onlineOrderingStatus' | 'serviceFeeRuleIds' | 'defaultFulfillmentType'>) => OperationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'name' | 'profileId' | 'default' | 'fulfillmentIds' | 'onlineOrderingStatus' | 'serviceFeeRuleIds' | 'defaultFulfillmentType'>) => OperationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => OperationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => OperationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<OperationsQueryResult>;\n  }\n  /**\n   * Retrieves a list of operations.\n   * The result will be sorted by created date in ascending order.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.OPERATION_READ\n   */\n  function listOperations(): Promise<ListOperationsResponse>;\n  /** @param metasiteId - metasite id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metasiteId\n   * @adminMethod\n   */\n  function listOperationIds(metasiteId: string): Promise<ListOperationIdsResponse>;\n  /**\n   * Retrieves a list of available fulfillment options.\n   *\n   * What makes a fulfillment option available is whether you can submit an order given the scheduling configurations and the fulfillment method's availability.\n   * When a delivery address is not provided in the input, our system retrieves a list encompassing all types of fulfillment methods.\n   * Conversely, if a delivery address` is given, the response may includes non-delivery fulfillment options along with delivery fulfillment methods that are applicable to the given address, ensuring the address falls within the defined delivery area of these methods.\n   * @param operationId - Operation ID. Returned fulfillment options will belong to this operation.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @permissionId RESTAURANTS.OPERATION_READ\n   */\n  function listAvailableFulfillmentOptions(operationId: string, options?: ListAvailableFulfillmentOptions): Promise<ListAvailableFulfillmentOptionsResponse>;\n  interface ListAvailableFulfillmentOptions {\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n  }\n  /**\n   * Retrieves a list of available time slots for each fulfillment type.\n   *\n   * Each time slot is the first available time slot for the given fulfillment type.\n   * @param operationId - Operation ID.\n   * Returned fulfillment options will belong to this operation.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @permissionId RESTAURANTS.OPERATION_READ\n   */\n  function listFirstAvailableTimeSlotForFulfillmentTypes(operationId: string, options?: ListFirstAvailableTimeSlotForFulfillmentTypesOptions): Promise<ListFirstAvailableTimeSlotForFulfillmentTypesResponse>;\n  interface ListFirstAvailableTimeSlotForFulfillmentTypesOptions {\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n  }\n  /**\n   * For each menu, retrieves the first available time slots for each fulfillment type.\n   * @param operationId - Operation ID.\n   * Returned timeslots that are belong to this operation.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @permissionId RESTAURANTS.OPERATION_READ\n   */\n  function listFirstAvailableTimeSlotsForMenus(operationId: string | null, options?: ListFirstAvailableTimeSlotsForMenusOptions): Promise<ListFirstAvailableTimeSlotsForMenusResponse>;\n  interface ListFirstAvailableTimeSlotsForMenusOptions {\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$2;\n  }\n  /**\n   * Retrieves a list of the available time slots for a given date.\n   * @param operationId - Operation ID.\n   * The returned fulfillment options will belong to this operation.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @requiredField options.date\n   * @requiredField options.date.day\n   * @requiredField options.date.month\n   * @requiredField options.date.year\n   * @permissionId RESTAURANTS.OPERATION_READ\n   */\n  function listAvailableTimeSlotsForDate(operationId: string, options?: ListAvailableTimeSlotsForDateOptions): Promise<ListAvailableTimeSlotsForDateResponse>;\n  interface ListAvailableTimeSlotsForDateOptions {\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n      /** Date and time to get the available time slots for. */\n      date: _Date;\n  }\n  /**\n   * Retrieves a list of the available dates in a given time range.\n   *\n   * A date is considered available if it has at least one available time slot.\n   * @param operationId - Operation ID.\n   * The returned fulfillment options will belong to this operation.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @requiredField options.from\n   * @requiredField options.until\n   * @permissionId RESTAURANTS.OPERATION_READ\n   */\n  function listAvailableDatesInRange(operationId: string, options?: ListAvailableDatesInRangeOptions): Promise<ListAvailableDatesInRangeResponse>;\n  interface ListAvailableDatesInRangeOptions {\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n      /** Start date and time of the range. */\n      from: _Date;\n      /** End date and time of the range. */\n      until: _Date;\n  }\n  /**\n   * Retrieves a list of the fulfillment options that will be available given the provided filters.\n   *\n   * TODO: probably rename, the implementation took a different direction than the name suggests\n   * @param operationId - Operation ID. The returned fulfillment will belong to this operation.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField operationId\n   * @requiredField options.fulfilmentType\n   * @permissionId RESTAURANTS.OPERATION_READ\n   */\n  function getExpectedFulfillmentSelection(operationId: string, options?: GetExpectedFulfillmentSelectionOptions): Promise<GetExpectedFulfillmentSelectionResponse>;\n  interface GetExpectedFulfillmentSelectionOptions {\n      /**\n       * Delivery address. Optional.\n       *\n       * If provided, the returned delivery fulfillment options will be able to deliver to this address.\n       */\n      deliveryAddress?: CommonAddress$1;\n      /** Start time and date of the time slot. */\n      timeslotStartTime?: Date | null;\n      /** End time and date of the time slot. */\n      timeslotEndTime?: Date | null;\n      /** Type of fulfillment. */\n      fulfilmentType: FulfillmentType;\n      /** Whether it is possible to submit an order to be prepared asap. */\n      canSubmitOrderForNow?: boolean | null;\n  }\n  \n  type restaurantsOperationsV1Operation_universal_d_OperationOnlineOrderingStatusOptionsOneOf = OperationOnlineOrderingStatusOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_Scheduling = Scheduling;\n  type restaurantsOperationsV1Operation_universal_d_SchedulingSchedulingOptionsOneOf = SchedulingSchedulingOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_SchedulingType = SchedulingType;\n  const restaurantsOperationsV1Operation_universal_d_SchedulingType: typeof SchedulingType;\n  type restaurantsOperationsV1Operation_universal_d_AsapScheduling = AsapScheduling;\n  type restaurantsOperationsV1Operation_universal_d_AsapSchedulingPreparationTimeOneOf = AsapSchedulingPreparationTimeOneOf;\n  type restaurantsOperationsV1Operation_universal_d_AsapSchedulingAsapPreorderOneOf = AsapSchedulingAsapPreorderOneOf;\n  type restaurantsOperationsV1Operation_universal_d_PreparationTimeType = PreparationTimeType;\n  const restaurantsOperationsV1Operation_universal_d_PreparationTimeType: typeof PreparationTimeType;\n  type restaurantsOperationsV1Operation_universal_d_TimeDuration = TimeDuration;\n  type restaurantsOperationsV1Operation_universal_d_TimeUnit = TimeUnit;\n  const restaurantsOperationsV1Operation_universal_d_TimeUnit: typeof TimeUnit;\n  type restaurantsOperationsV1Operation_universal_d_TimeDurationRange = TimeDurationRange;\n  type restaurantsOperationsV1Operation_universal_d_AsapPreorderType = AsapPreorderType;\n  const restaurantsOperationsV1Operation_universal_d_AsapPreorderType: typeof AsapPreorderType;\n  type restaurantsOperationsV1Operation_universal_d_BusinessDaysPreorder = BusinessDaysPreorder;\n  type restaurantsOperationsV1Operation_universal_d_PreorderScheduling = PreorderScheduling;\n  type restaurantsOperationsV1Operation_universal_d_PreorderMethod = PreorderMethod;\n  type restaurantsOperationsV1Operation_universal_d_PreorderMethodMethodOptionsOneOf = PreorderMethodMethodOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_DayAndTime = DayAndTime;\n  type restaurantsOperationsV1Operation_universal_d_MethodType = MethodType;\n  const restaurantsOperationsV1Operation_universal_d_MethodType: typeof MethodType;\n  type restaurantsOperationsV1Operation_universal_d_TimeBounded = TimeBounded;\n  type restaurantsOperationsV1Operation_universal_d_WeeklySchedule = WeeklySchedule;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayConfig = FulfillmentTimesDisplayConfig;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf = FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimesType = FulfillmentTimesType;\n  const restaurantsOperationsV1Operation_universal_d_FulfillmentTimesType: typeof FulfillmentTimesType;\n  type restaurantsOperationsV1Operation_universal_d_OnlineOrderingStatusType = OnlineOrderingStatusType;\n  const restaurantsOperationsV1Operation_universal_d_OnlineOrderingStatusType: typeof OnlineOrderingStatusType;\n  type restaurantsOperationsV1Operation_universal_d_OnlineOrderingPausedUntilOptions = OnlineOrderingPausedUntilOptions;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentType = FulfillmentType;\n  const restaurantsOperationsV1Operation_universal_d_FulfillmentType: typeof FulfillmentType;\n  type restaurantsOperationsV1Operation_universal_d_OrderScheduling = OrderScheduling;\n  type restaurantsOperationsV1Operation_universal_d_OrderSchedulingOrderSchedulingOptionsOneOf = OrderSchedulingOrderSchedulingOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_AsapOrderScheduling = AsapOrderScheduling;\n  type restaurantsOperationsV1Operation_universal_d_AsapOrderSchedulingAsapFutureHandlingOptionsOneOf = AsapOrderSchedulingAsapFutureHandlingOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_PreparationTime = PreparationTime;\n  type restaurantsOperationsV1Operation_universal_d_PreparationTimeTimeSpecificationOneOf = PreparationTimeTimeSpecificationOneOf;\n  type restaurantsOperationsV1Operation_universal_d_PreparationTimePreparationTimeType = PreparationTimePreparationTimeType;\n  const restaurantsOperationsV1Operation_universal_d_PreparationTimePreparationTimeType: typeof PreparationTimePreparationTimeType;\n  type restaurantsOperationsV1Operation_universal_d_AsapFutureHandlingType = AsapFutureHandlingType;\n  const restaurantsOperationsV1Operation_universal_d_AsapFutureHandlingType: typeof AsapFutureHandlingType;\n  type restaurantsOperationsV1Operation_universal_d_BusinessDaysAheadHandling = BusinessDaysAheadHandling;\n  type restaurantsOperationsV1Operation_universal_d_Location = Location;\n  type restaurantsOperationsV1Operation_universal_d_DeliveryProfileConfiguredForOperation = DeliveryProfileConfiguredForOperation;\n  type restaurantsOperationsV1Operation_universal_d_OperationsDataCloningCompleted = OperationsDataCloningCompleted;\n  type restaurantsOperationsV1Operation_universal_d_CreateOperationRequest = CreateOperationRequest;\n  type restaurantsOperationsV1Operation_universal_d_CreateOperationResponse = CreateOperationResponse;\n  type restaurantsOperationsV1Operation_universal_d_GetOperationRequest = GetOperationRequest;\n  type restaurantsOperationsV1Operation_universal_d_GetOperationResponse = GetOperationResponse;\n  type restaurantsOperationsV1Operation_universal_d_UpdateOperationRequest = UpdateOperationRequest;\n  type restaurantsOperationsV1Operation_universal_d_UpdateOperationResponse = UpdateOperationResponse;\n  type restaurantsOperationsV1Operation_universal_d_DeleteOperationRequest = DeleteOperationRequest;\n  type restaurantsOperationsV1Operation_universal_d_DeleteOperationResponse = DeleteOperationResponse;\n  type restaurantsOperationsV1Operation_universal_d_QueryOperationRequest = QueryOperationRequest;\n  type restaurantsOperationsV1Operation_universal_d_QueryOperationResponse = QueryOperationResponse;\n  type restaurantsOperationsV1Operation_universal_d_ListOperationsRequest = ListOperationsRequest;\n  type restaurantsOperationsV1Operation_universal_d_ListOperationsResponse = ListOperationsResponse;\n  type restaurantsOperationsV1Operation_universal_d_ListOperationIdsRequest = ListOperationIdsRequest;\n  type restaurantsOperationsV1Operation_universal_d_ListOperationIdsResponse = ListOperationIdsResponse;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptionsRequest = ListAvailableFulfillmentOptionsRequest;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptionsResponse = ListAvailableFulfillmentOptionsResponse;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentOption = FulfillmentOption;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTimeOptionsOneOf = FulfillmentOptionFulfillmentTimeOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf = FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTypeOptionsOneOf = FulfillmentOptionFulfillmentTypeOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentOptionAvailability = FulfillmentOptionAvailability;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimeType = FulfillmentTimeType;\n  const restaurantsOperationsV1Operation_universal_d_FulfillmentTimeType: typeof FulfillmentTimeType;\n  type restaurantsOperationsV1Operation_universal_d_DurationRange = DurationRange;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayType = FulfillmentTimesDisplayType;\n  const restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayType: typeof FulfillmentTimesDisplayType;\n  type restaurantsOperationsV1Operation_universal_d_TimeWindowDisplayConfig = TimeWindowDisplayConfig;\n  type restaurantsOperationsV1Operation_universal_d_PickupDetails = PickupDetails;\n  type restaurantsOperationsV1Operation_universal_d_DeliveryDetails = DeliveryDetails;\n  type restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesRequest = ListFirstAvailableTimeSlotForFulfillmentTypesRequest;\n  type restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesResponse = ListFirstAvailableTimeSlotForFulfillmentTypesResponse;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTimeSlot = FulfillmentTimeSlot;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentDetails = FulfillmentDetails;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentDetailsFulfillmentTimeOptionsOneOf = FulfillmentDetailsFulfillmentTimeOptionsOneOf;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentAddress = FulfillmentAddress;\n  type restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotsForMenusRequest = ListFirstAvailableTimeSlotsForMenusRequest;\n  type restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotsForMenusResponse = ListFirstAvailableTimeSlotsForMenusResponse;\n  type restaurantsOperationsV1Operation_universal_d_FirstFulfillmentTimeSlotsPerMenu = FirstFulfillmentTimeSlotsPerMenu;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateRequest = ListAvailableTimeSlotsForDateRequest;\n  type restaurantsOperationsV1Operation_universal_d__Date = _Date;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateResponse = ListAvailableTimeSlotsForDateResponse;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeRequest = ListAvailableDatesInRangeRequest;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeResponse = ListAvailableDatesInRangeResponse;\n  type restaurantsOperationsV1Operation_universal_d_FulfillmentTypeAvailableDates = FulfillmentTypeAvailableDates;\n  type restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionRequest = GetExpectedFulfillmentSelectionRequest;\n  type restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionResponse = GetExpectedFulfillmentSelectionResponse;\n  const restaurantsOperationsV1Operation_universal_d_createOperation: typeof createOperation;\n  const restaurantsOperationsV1Operation_universal_d_getOperation: typeof getOperation;\n  const restaurantsOperationsV1Operation_universal_d_updateOperation: typeof updateOperation;\n  type restaurantsOperationsV1Operation_universal_d_UpdateOperation = UpdateOperation;\n  type restaurantsOperationsV1Operation_universal_d_UpdateOperationOptions = UpdateOperationOptions;\n  const restaurantsOperationsV1Operation_universal_d_deleteOperation: typeof deleteOperation;\n  const restaurantsOperationsV1Operation_universal_d_queryOperation: typeof queryOperation;\n  type restaurantsOperationsV1Operation_universal_d_OperationsQueryResult = OperationsQueryResult;\n  type restaurantsOperationsV1Operation_universal_d_OperationsQueryBuilder = OperationsQueryBuilder;\n  const restaurantsOperationsV1Operation_universal_d_listOperations: typeof listOperations;\n  const restaurantsOperationsV1Operation_universal_d_listOperationIds: typeof listOperationIds;\n  const restaurantsOperationsV1Operation_universal_d_listAvailableFulfillmentOptions: typeof listAvailableFulfillmentOptions;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptions = ListAvailableFulfillmentOptions;\n  const restaurantsOperationsV1Operation_universal_d_listFirstAvailableTimeSlotForFulfillmentTypes: typeof listFirstAvailableTimeSlotForFulfillmentTypes;\n  type restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesOptions = ListFirstAvailableTimeSlotForFulfillmentTypesOptions;\n  const restaurantsOperationsV1Operation_universal_d_listFirstAvailableTimeSlotsForMenus: typeof listFirstAvailableTimeSlotsForMenus;\n  type restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotsForMenusOptions = ListFirstAvailableTimeSlotsForMenusOptions;\n  const restaurantsOperationsV1Operation_universal_d_listAvailableTimeSlotsForDate: typeof listAvailableTimeSlotsForDate;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateOptions = ListAvailableTimeSlotsForDateOptions;\n  const restaurantsOperationsV1Operation_universal_d_listAvailableDatesInRange: typeof listAvailableDatesInRange;\n  type restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeOptions = ListAvailableDatesInRangeOptions;\n  const restaurantsOperationsV1Operation_universal_d_getExpectedFulfillmentSelection: typeof getExpectedFulfillmentSelection;\n  type restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionOptions = GetExpectedFulfillmentSelectionOptions;\n  namespace restaurantsOperationsV1Operation_universal_d {\n    export {\n      Operation$1 as Operation,\n      restaurantsOperationsV1Operation_universal_d_OperationOnlineOrderingStatusOptionsOneOf as OperationOnlineOrderingStatusOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_Scheduling as Scheduling,\n      restaurantsOperationsV1Operation_universal_d_SchedulingSchedulingOptionsOneOf as SchedulingSchedulingOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_SchedulingType as SchedulingType,\n      restaurantsOperationsV1Operation_universal_d_AsapScheduling as AsapScheduling,\n      restaurantsOperationsV1Operation_universal_d_AsapSchedulingPreparationTimeOneOf as AsapSchedulingPreparationTimeOneOf,\n      restaurantsOperationsV1Operation_universal_d_AsapSchedulingAsapPreorderOneOf as AsapSchedulingAsapPreorderOneOf,\n      restaurantsOperationsV1Operation_universal_d_PreparationTimeType as PreparationTimeType,\n      restaurantsOperationsV1Operation_universal_d_TimeDuration as TimeDuration,\n      restaurantsOperationsV1Operation_universal_d_TimeUnit as TimeUnit,\n      restaurantsOperationsV1Operation_universal_d_TimeDurationRange as TimeDurationRange,\n      restaurantsOperationsV1Operation_universal_d_AsapPreorderType as AsapPreorderType,\n      restaurantsOperationsV1Operation_universal_d_BusinessDaysPreorder as BusinessDaysPreorder,\n      restaurantsOperationsV1Operation_universal_d_PreorderScheduling as PreorderScheduling,\n      restaurantsOperationsV1Operation_universal_d_PreorderMethod as PreorderMethod,\n      restaurantsOperationsV1Operation_universal_d_PreorderMethodMethodOptionsOneOf as PreorderMethodMethodOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_DayAndTime as DayAndTime,\n      EntitiesDayOfWeek$1 as EntitiesDayOfWeek,\n      TimeOfDay$1 as TimeOfDay,\n      restaurantsOperationsV1Operation_universal_d_MethodType as MethodType,\n      restaurantsOperationsV1Operation_universal_d_TimeBounded as TimeBounded,\n      restaurantsOperationsV1Operation_universal_d_WeeklySchedule as WeeklySchedule,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayConfig as FulfillmentTimesDisplayConfig,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf as FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimesType as FulfillmentTimesType,\n      restaurantsOperationsV1Operation_universal_d_OnlineOrderingStatusType as OnlineOrderingStatusType,\n      restaurantsOperationsV1Operation_universal_d_OnlineOrderingPausedUntilOptions as OnlineOrderingPausedUntilOptions,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentType as FulfillmentType,\n      restaurantsOperationsV1Operation_universal_d_OrderScheduling as OrderScheduling,\n      restaurantsOperationsV1Operation_universal_d_OrderSchedulingOrderSchedulingOptionsOneOf as OrderSchedulingOrderSchedulingOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_AsapOrderScheduling as AsapOrderScheduling,\n      restaurantsOperationsV1Operation_universal_d_AsapOrderSchedulingAsapFutureHandlingOptionsOneOf as AsapOrderSchedulingAsapFutureHandlingOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_PreparationTime as PreparationTime,\n      restaurantsOperationsV1Operation_universal_d_PreparationTimeTimeSpecificationOneOf as PreparationTimeTimeSpecificationOneOf,\n      restaurantsOperationsV1Operation_universal_d_PreparationTimePreparationTimeType as PreparationTimePreparationTimeType,\n      restaurantsOperationsV1Operation_universal_d_AsapFutureHandlingType as AsapFutureHandlingType,\n      restaurantsOperationsV1Operation_universal_d_BusinessDaysAheadHandling as BusinessDaysAheadHandling,\n      restaurantsOperationsV1Operation_universal_d_Location as Location,\n      InvalidateCache$1 as InvalidateCache,\n      InvalidateCacheGetByOneOf$1 as InvalidateCacheGetByOneOf,\n      App$1 as App,\n      Page$1 as Page,\n      URI$1 as URI,\n      File$1 as File,\n      restaurantsOperationsV1Operation_universal_d_DeliveryProfileConfiguredForOperation as DeliveryProfileConfiguredForOperation,\n      restaurantsOperationsV1Operation_universal_d_OperationsDataCloningCompleted as OperationsDataCloningCompleted,\n      restaurantsOperationsV1Operation_universal_d_CreateOperationRequest as CreateOperationRequest,\n      restaurantsOperationsV1Operation_universal_d_CreateOperationResponse as CreateOperationResponse,\n      restaurantsOperationsV1Operation_universal_d_GetOperationRequest as GetOperationRequest,\n      restaurantsOperationsV1Operation_universal_d_GetOperationResponse as GetOperationResponse,\n      restaurantsOperationsV1Operation_universal_d_UpdateOperationRequest as UpdateOperationRequest,\n      restaurantsOperationsV1Operation_universal_d_UpdateOperationResponse as UpdateOperationResponse,\n      restaurantsOperationsV1Operation_universal_d_DeleteOperationRequest as DeleteOperationRequest,\n      restaurantsOperationsV1Operation_universal_d_DeleteOperationResponse as DeleteOperationResponse,\n      restaurantsOperationsV1Operation_universal_d_QueryOperationRequest as QueryOperationRequest,\n      CursorQuery$3 as CursorQuery,\n      CursorQueryPagingMethodOneOf$3 as CursorQueryPagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      restaurantsOperationsV1Operation_universal_d_QueryOperationResponse as QueryOperationResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      restaurantsOperationsV1Operation_universal_d_ListOperationsRequest as ListOperationsRequest,\n      restaurantsOperationsV1Operation_universal_d_ListOperationsResponse as ListOperationsResponse,\n      restaurantsOperationsV1Operation_universal_d_ListOperationIdsRequest as ListOperationIdsRequest,\n      restaurantsOperationsV1Operation_universal_d_ListOperationIdsResponse as ListOperationIdsResponse,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptionsRequest as ListAvailableFulfillmentOptionsRequest,\n      CommonAddress$1 as CommonAddress,\n      CommonAddressStreetOneOf$1 as CommonAddressStreetOneOf,\n      StreetAddress$1 as StreetAddress,\n      AddressLocation$1 as AddressLocation,\n      Subdivision$1 as Subdivision,\n      SubdivisionType$1 as SubdivisionType,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptionsResponse as ListAvailableFulfillmentOptionsResponse,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentOption as FulfillmentOption,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTimeOptionsOneOf as FulfillmentOptionFulfillmentTimeOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf as FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentOptionFulfillmentTypeOptionsOneOf as FulfillmentOptionFulfillmentTypeOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentOptionAvailability as FulfillmentOptionAvailability,\n      DayOfWeekAvailability$1 as DayOfWeekAvailability,\n      TimeOfDayRange$1 as TimeOfDayRange,\n      AvailabilityException$1 as AvailabilityException,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimeType as FulfillmentTimeType,\n      restaurantsOperationsV1Operation_universal_d_DurationRange as DurationRange,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimesDisplayType as FulfillmentTimesDisplayType,\n      restaurantsOperationsV1Operation_universal_d_TimeWindowDisplayConfig as TimeWindowDisplayConfig,\n      restaurantsOperationsV1Operation_universal_d_PickupDetails as PickupDetails,\n      restaurantsOperationsV1Operation_universal_d_DeliveryDetails as DeliveryDetails,\n      restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesRequest as ListFirstAvailableTimeSlotForFulfillmentTypesRequest,\n      restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesResponse as ListFirstAvailableTimeSlotForFulfillmentTypesResponse,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTimeSlot as FulfillmentTimeSlot,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentDetails as FulfillmentDetails,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentDetailsFulfillmentTimeOptionsOneOf as FulfillmentDetailsFulfillmentTimeOptionsOneOf,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentAddress as FulfillmentAddress,\n      restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotsForMenusRequest as ListFirstAvailableTimeSlotsForMenusRequest,\n      restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotsForMenusResponse as ListFirstAvailableTimeSlotsForMenusResponse,\n      restaurantsOperationsV1Operation_universal_d_FirstFulfillmentTimeSlotsPerMenu as FirstFulfillmentTimeSlotsPerMenu,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateRequest as ListAvailableTimeSlotsForDateRequest,\n      restaurantsOperationsV1Operation_universal_d__Date as _Date,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateResponse as ListAvailableTimeSlotsForDateResponse,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeRequest as ListAvailableDatesInRangeRequest,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeResponse as ListAvailableDatesInRangeResponse,\n      restaurantsOperationsV1Operation_universal_d_FulfillmentTypeAvailableDates as FulfillmentTypeAvailableDates,\n      restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionRequest as GetExpectedFulfillmentSelectionRequest,\n      restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionResponse as GetExpectedFulfillmentSelectionResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      Empty$3 as Empty,\n      SitePropertiesNotification$1 as SitePropertiesNotification,\n      SitePropertiesEvent$1 as SitePropertiesEvent,\n      Properties$1 as Properties,\n      Categories$1 as Categories,\n      Locale$2 as Locale,\n      Address$1 as Address,\n      AddressHint$1 as AddressHint,\n      PlacementType$1 as PlacementType,\n      GeoCoordinates$1 as GeoCoordinates,\n      BusinessSchedule$1 as BusinessSchedule,\n      TimePeriod$1 as TimePeriod,\n      DayOfWeek$1 as DayOfWeek,\n      SpecialHourPeriod$1 as SpecialHourPeriod,\n      Multilingual$1 as Multilingual,\n      SupportedLanguage$1 as SupportedLanguage,\n      ResolutionMethod$1 as ResolutionMethod,\n      ConsentPolicy$1 as ConsentPolicy,\n      Translation$1 as Translation,\n      ChangeContext$1 as ChangeContext,\n      ChangeContextPayloadOneOf$1 as ChangeContextPayloadOneOf,\n      PropertiesChange$1 as PropertiesChange,\n      SiteCreated$1 as SiteCreated,\n      SiteCloned$1 as SiteCloned,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      restaurantsOperationsV1Operation_universal_d_createOperation as createOperation,\n      restaurantsOperationsV1Operation_universal_d_getOperation as getOperation,\n      restaurantsOperationsV1Operation_universal_d_updateOperation as updateOperation,\n      restaurantsOperationsV1Operation_universal_d_UpdateOperation as UpdateOperation,\n      restaurantsOperationsV1Operation_universal_d_UpdateOperationOptions as UpdateOperationOptions,\n      restaurantsOperationsV1Operation_universal_d_deleteOperation as deleteOperation,\n      restaurantsOperationsV1Operation_universal_d_queryOperation as queryOperation,\n      restaurantsOperationsV1Operation_universal_d_OperationsQueryResult as OperationsQueryResult,\n      restaurantsOperationsV1Operation_universal_d_OperationsQueryBuilder as OperationsQueryBuilder,\n      restaurantsOperationsV1Operation_universal_d_listOperations as listOperations,\n      restaurantsOperationsV1Operation_universal_d_listOperationIds as listOperationIds,\n      restaurantsOperationsV1Operation_universal_d_listAvailableFulfillmentOptions as listAvailableFulfillmentOptions,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableFulfillmentOptions as ListAvailableFulfillmentOptions,\n      restaurantsOperationsV1Operation_universal_d_listFirstAvailableTimeSlotForFulfillmentTypes as listFirstAvailableTimeSlotForFulfillmentTypes,\n      restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotForFulfillmentTypesOptions as ListFirstAvailableTimeSlotForFulfillmentTypesOptions,\n      restaurantsOperationsV1Operation_universal_d_listFirstAvailableTimeSlotsForMenus as listFirstAvailableTimeSlotsForMenus,\n      restaurantsOperationsV1Operation_universal_d_ListFirstAvailableTimeSlotsForMenusOptions as ListFirstAvailableTimeSlotsForMenusOptions,\n      restaurantsOperationsV1Operation_universal_d_listAvailableTimeSlotsForDate as listAvailableTimeSlotsForDate,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableTimeSlotsForDateOptions as ListAvailableTimeSlotsForDateOptions,\n      restaurantsOperationsV1Operation_universal_d_listAvailableDatesInRange as listAvailableDatesInRange,\n      restaurantsOperationsV1Operation_universal_d_ListAvailableDatesInRangeOptions as ListAvailableDatesInRangeOptions,\n      restaurantsOperationsV1Operation_universal_d_getExpectedFulfillmentSelection as getExpectedFulfillmentSelection,\n      restaurantsOperationsV1Operation_universal_d_GetExpectedFulfillmentSelectionOptions as GetExpectedFulfillmentSelectionOptions,\n    };\n  }\n  \n  /** Policy is the main entity of OrderPacingPolicies that can be used for lorem ipsum dolor */\n  interface Policy {\n      /** The policy's id */\n      _id?: string | null;\n      /**\n       * Current state of this policy.\n       * Each time the policy is modified, its `revision` changes.\n       * For an update operation to succeed, you MUST pass the latest revision\n       */\n      revision?: string | null;\n      /** The active state of this policy - is it enabled or not */\n      enabled?: boolean;\n      /** The location id this policy is related to */\n      locationId?: string | null;\n      /** The pacing rules this policy should enforce */\n      rules?: PolicyRule[];\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$1;\n  }\n  interface PolicyRule {\n      /** The volume limit */\n      volumeLimit?: number;\n      /** Should the volume limit include contactless dine-in orders. */\n      includeContactlessDineinOrders?: boolean;\n      /**\n       * A list of weekly time intervals in which the policy should be enforced.\n       * An empty list means that the enforcement times are during the opening hours of the restaurant.\n       */\n      enforcementTimes?: WeeklyTimeInterval[];\n  }\n  interface WeeklyTimeInterval {\n      /** The minute of the week the interval starts */\n      minuteOfWeek?: number;\n      /** The duration in minutes of the interval, starting from the minute_of_week */\n      durationInMinutes?: number;\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreatePolicyRequest {\n      /** The policy to be created */\n      policy: Policy;\n  }\n  interface CreatePolicyResponse {\n      /** The created Policy */\n      policy?: Policy;\n  }\n  interface GetPolicyRequest {\n      /** The location_id the policy belongs to */\n      locationId?: string | null;\n      /**\n       * The restaurantLocationId the policy belongs to\n       * @internal\n       */\n      restaurantLocationId?: string | null;\n  }\n  interface GetPolicyResponse {\n      /** The retrieved Policy */\n      policy?: Policy;\n  }\n  interface UpdatePolicyRequest {\n      /** Policy to be updated, may be partial */\n      policy: Policy;\n  }\n  interface UpdatePolicyResponse {\n      /** The updated Policy */\n      policy?: Policy;\n  }\n  interface RestaurantLocationsUpdatedEvent {\n      metaSiteId?: string;\n      triggerBy?: SyncLocationsSource;\n      prevLocationsProperties?: RestaurantLocationProperties[];\n      updatedLocationsProperties?: RestaurantLocationProperties[];\n      specialEvent?: SpecialEvent;\n  }\n  enum Type$2 {\n      UNKNOWN = \"UNKNOWN\",\n      FROM_ZERO_LOCATIONS_TO_ONE_LOCATION = \"FROM_ZERO_LOCATIONS_TO_ONE_LOCATION\",\n      FROM_ONE_LOCATION_TO_ZERO_LOCATIONS = \"FROM_ONE_LOCATION_TO_ZERO_LOCATIONS\"\n  }\n  enum SyncLocationsSource {\n      API = \"API\",\n      LOCATION_EVENT = \"LOCATION_EVENT\",\n      RESTAURANT_PROVISIONED_EVENT = \"RESTAURANT_PROVISIONED_EVENT\"\n  }\n  interface RestaurantLocationProperties {\n      locationId?: string;\n      defaultLocation?: boolean;\n      archived?: boolean;\n  }\n  interface SpecialEvent {\n      type?: Type$2;\n      locationId?: string;\n  }\n  interface Empty$2 {\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new Policy\n   * The default location id for the metaSite will be used if the location_id is not provided\n   * @param policy - The policy to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField policy\n   * @requiredField policy.rules\n   * @permissionId WIX_RESTAURANTS.ORDER_PACING_CREATE\n   * @adminMethod\n   * @returns The created Policy\n   */\n  function createPolicy(policy: Policy): Promise<Policy>;\n  /**\n   * Get a Policy by location_id\n   * The default location id for the metaSite will be used if the location_id is not provided\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.ORDER_PACING_POLICIES_READ\n   * @adminMethod\n   */\n  function getPolicy(options?: GetPolicyOptions): Promise<GetPolicyResponse>;\n  interface GetPolicyOptions {\n      /** The location_id the policy belongs to */\n      locationId?: string | null;\n      /**\n       * The restaurantLocationId the policy belongs to\n       * @internal\n       */\n      restaurantLocationId?: string | null;\n  }\n  /**\n   * Update a Policy\n   * The default location id for the metaSite will be used if the location_id is not provided\n   * Pass the latest `revision` for a successful update\n   * @param _id - The policy's id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField policy\n   * @requiredField policy.revision\n   * @requiredField policy.rules\n   * @permissionId WIX_RESTAURANTS.ORDER_PACING_UPDATE\n   * @adminMethod\n   */\n  function updatePolicy(_id: string | null, policy: UpdatePolicy): Promise<UpdatePolicyResponse>;\n  interface UpdatePolicy {\n      /** The policy's id */\n      _id?: string | null;\n      /**\n       * Current state of this policy.\n       * Each time the policy is modified, its `revision` changes.\n       * For an update operation to succeed, you MUST pass the latest revision\n       */\n      revision?: string | null;\n      /** The active state of this policy - is it enabled or not */\n      enabled?: boolean;\n      /** The location id this policy is related to */\n      locationId?: string | null;\n      /** The pacing rules this policy should enforce */\n      rules?: PolicyRule[];\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$1;\n  }\n  \n  type restaurantsOrderPacingV1Policy_universal_d_Policy = Policy;\n  type restaurantsOrderPacingV1Policy_universal_d_PolicyRule = PolicyRule;\n  type restaurantsOrderPacingV1Policy_universal_d_WeeklyTimeInterval = WeeklyTimeInterval;\n  type restaurantsOrderPacingV1Policy_universal_d_CreatePolicyRequest = CreatePolicyRequest;\n  type restaurantsOrderPacingV1Policy_universal_d_CreatePolicyResponse = CreatePolicyResponse;\n  type restaurantsOrderPacingV1Policy_universal_d_GetPolicyRequest = GetPolicyRequest;\n  type restaurantsOrderPacingV1Policy_universal_d_GetPolicyResponse = GetPolicyResponse;\n  type restaurantsOrderPacingV1Policy_universal_d_UpdatePolicyRequest = UpdatePolicyRequest;\n  type restaurantsOrderPacingV1Policy_universal_d_UpdatePolicyResponse = UpdatePolicyResponse;\n  type restaurantsOrderPacingV1Policy_universal_d_RestaurantLocationsUpdatedEvent = RestaurantLocationsUpdatedEvent;\n  type restaurantsOrderPacingV1Policy_universal_d_SyncLocationsSource = SyncLocationsSource;\n  const restaurantsOrderPacingV1Policy_universal_d_SyncLocationsSource: typeof SyncLocationsSource;\n  type restaurantsOrderPacingV1Policy_universal_d_RestaurantLocationProperties = RestaurantLocationProperties;\n  type restaurantsOrderPacingV1Policy_universal_d_SpecialEvent = SpecialEvent;\n  const restaurantsOrderPacingV1Policy_universal_d_createPolicy: typeof createPolicy;\n  const restaurantsOrderPacingV1Policy_universal_d_getPolicy: typeof getPolicy;\n  type restaurantsOrderPacingV1Policy_universal_d_GetPolicyOptions = GetPolicyOptions;\n  const restaurantsOrderPacingV1Policy_universal_d_updatePolicy: typeof updatePolicy;\n  type restaurantsOrderPacingV1Policy_universal_d_UpdatePolicy = UpdatePolicy;\n  namespace restaurantsOrderPacingV1Policy_universal_d {\n    export {\n      restaurantsOrderPacingV1Policy_universal_d_Policy as Policy,\n      restaurantsOrderPacingV1Policy_universal_d_PolicyRule as PolicyRule,\n      restaurantsOrderPacingV1Policy_universal_d_WeeklyTimeInterval as WeeklyTimeInterval,\n      ExtendedFields$1 as ExtendedFields,\n      restaurantsOrderPacingV1Policy_universal_d_CreatePolicyRequest as CreatePolicyRequest,\n      restaurantsOrderPacingV1Policy_universal_d_CreatePolicyResponse as CreatePolicyResponse,\n      restaurantsOrderPacingV1Policy_universal_d_GetPolicyRequest as GetPolicyRequest,\n      restaurantsOrderPacingV1Policy_universal_d_GetPolicyResponse as GetPolicyResponse,\n      restaurantsOrderPacingV1Policy_universal_d_UpdatePolicyRequest as UpdatePolicyRequest,\n      restaurantsOrderPacingV1Policy_universal_d_UpdatePolicyResponse as UpdatePolicyResponse,\n      restaurantsOrderPacingV1Policy_universal_d_RestaurantLocationsUpdatedEvent as RestaurantLocationsUpdatedEvent,\n      Type$2 as Type,\n      restaurantsOrderPacingV1Policy_universal_d_SyncLocationsSource as SyncLocationsSource,\n      restaurantsOrderPacingV1Policy_universal_d_RestaurantLocationProperties as RestaurantLocationProperties,\n      restaurantsOrderPacingV1Policy_universal_d_SpecialEvent as SpecialEvent,\n      Empty$2 as Empty,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      restaurantsOrderPacingV1Policy_universal_d_createPolicy as createPolicy,\n      restaurantsOrderPacingV1Policy_universal_d_getPolicy as getPolicy,\n      restaurantsOrderPacingV1Policy_universal_d_GetPolicyOptions as GetPolicyOptions,\n      restaurantsOrderPacingV1Policy_universal_d_updatePolicy as updatePolicy,\n      restaurantsOrderPacingV1Policy_universal_d_UpdatePolicy as UpdatePolicy,\n    };\n  }\n  \n  interface AvailabilityException {\n      /**\n       * Availability exception ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the availability exception is updated.\n       * To prevent conflicting changes, the current revision must be specified when updating the availability exception.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the availability exception was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the availability exception was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** The start time of the availability exception in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n      startTime?: Date | null;\n      /** The end time of the availability exception in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n      endTime?: Date | null;\n      /**\n       * Whether the exception makes the [`start_time`, `end_time`] range available.\n       * If `true`, the exception makes the restaurant available for online ordering during the time range. If `false`, the exception makes the restaurant unavailable for ordering during the time range.\n       * Currently, only `false` is supported.\n       * @readonly\n       */\n      available?: boolean | null;\n      /** Exception name. */\n      name?: string | null;\n      /** Fulfillment methods for which this exception applies. */\n      affectedFulfillmentMethods?: AffectedFulfillmentMethods;\n      /** ID of the restaurant operation this exception is associated with. (See the Restaurants Operations API for more information.) */\n      operationId?: string | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Location Id associated with the availability exception.\n       * @internal\n       * @readonly\n       */\n      locationId?: string | null;\n  }\n  interface AffectedFulfillmentMethods extends AffectedFulfillmentMethodsAffectedMethodsOptionsOneOf {\n      /** Settings for specific fulfillment methods. */\n      specificFulfillmentMethodsOptions?: SpecificFulfillmentMethodsImpactScope;\n      /** The type of the fulfillment methods this exception applies to. */\n      affectedMethods?: AffectedMethods;\n  }\n  /** @oneof */\n  interface AffectedFulfillmentMethodsAffectedMethodsOptionsOneOf {\n      /** Settings for specific fulfillment methods. */\n      specificFulfillmentMethodsOptions?: SpecificFulfillmentMethodsImpactScope;\n  }\n  /** The scope the exception applied. */\n  enum AffectedMethods {\n      /** Unknown impact scope. */\n      UNKNOWN_AFFECTED_METHODS = \"UNKNOWN_AFFECTED_METHODS\",\n      /** All fulfillment methods of this operation applied for this exception. */\n      ALL_FULFILLMENT_METHODS = \"ALL_FULFILLMENT_METHODS\",\n      /** Specific fulfillment methods applied for this exception. */\n      SPECIFIC_FULFILLMENT_METHODS = \"SPECIFIC_FULFILLMENT_METHODS\",\n      /** All pickup fulfillment methods applied for this exception. */\n      ALL_PICKUP_FULFILLMENT_METHODS = \"ALL_PICKUP_FULFILLMENT_METHODS\",\n      /** All delivery fulfillment methods applied for this exception. */\n      ALL_DELIVERY_FULFILLMENT_METHODS = \"ALL_DELIVERY_FULFILLMENT_METHODS\"\n  }\n  /** Details of the specific fulfillment methods this exception applies to. */\n  interface SpecificFulfillmentMethodsImpactScope {\n      /** IDs of the fulfillment methods this exception applies to. */\n      fulfillmentMethodIds?: string[] | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateAvailabilityExceptionRequest {\n      /** Availability exception details. */\n      availabilityException: AvailabilityException;\n  }\n  interface CreateAvailabilityExceptionResponse {\n      /** The created availability exception. */\n      availabilityException?: AvailabilityException;\n  }\n  interface GetAvailabilityExceptionRequest {\n      /** ID of the availability exception to retrieve. */\n      availabilityExceptionId: string;\n  }\n  interface GetAvailabilityExceptionResponse {\n      /** The requested availability exception. */\n      availabilityException?: AvailabilityException;\n  }\n  interface UpdateAvailabilityExceptionRequest {\n      /** Availability exception to update. */\n      availabilityException: AvailabilityException;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateAvailabilityExceptionResponse {\n      /** Updated availability exception. */\n      availabilityException?: AvailabilityException;\n  }\n  interface DeleteAvailabilityExceptionRequest {\n      /** ID of the availability exception to delete. */\n      availabilityExceptionId: string;\n  }\n  interface DeleteAvailabilityExceptionResponse {\n  }\n  interface QueryAvailabilityExceptionsRequest {\n      /** WQL expression. */\n      query?: CursorQuery$2;\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryAvailabilityExceptionsResponse {\n      /** List of availability exceptions. */\n      availabilityExceptions?: AvailabilityException[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkCreateAvailabilityExceptionsRequest {\n      /** Availability exception details. */\n      availabilityExceptions: AvailabilityException[];\n      /** Whether the full availability exception entity is returned. Defaults to `true`. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateAvailabilityExceptionsResponse {\n      /** Information about the created availability exception. */\n      results?: BulkCreateAvailabilityExceptionsResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkCreateAvailabilityExceptionsResult {\n      /** Metadata for availability exception creation. */\n      itemMetadata?: ItemMetadata$2;\n      /** Created availability exception. */\n      availabilityException?: AvailabilityException;\n  }\n  interface ItemMetadata$2 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$2;\n  }\n  interface ApplicationError$2 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$2 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new availability exception.\n   * @param availabilityException - Availability exception details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField availabilityException\n   * @requiredField availabilityException.affectedFulfillmentMethods\n   * @requiredField availabilityException.affectedFulfillmentMethods.affectedMethods\n   * @requiredField availabilityException.available\n   * @requiredField availabilityException.endTime\n   * @requiredField availabilityException.operationId\n   * @requiredField availabilityException.startTime\n   * @permissionId RESTAURANTS.AVAILABILITY_EXCEPTION_CREATE\n   * @adminMethod\n   * @returns The created availability exception.\n   */\n  function createAvailabilityException(availabilityException: AvailabilityException): Promise<AvailabilityException>;\n  /**\n   * Retrieves an availability exception.\n   * @param availabilityExceptionId - ID of the availability exception to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField availabilityExceptionId\n   * @permissionId RESTAURANTS.AVAILABILITY_EXCEPTION_READ\n   * @adminMethod\n   * @returns The requested availability exception.\n   */\n  function getAvailabilityException(availabilityExceptionId: string): Promise<AvailabilityException>;\n  /**\n   * Updates an availability exception.\n   *\n   * Each time the availability exception is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the availability exception.\n   * This ensures you're working with the latest availability exception and prevents unintended overwrites.\n   * @param _id - Availability exception ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField availabilityException\n   * @requiredField availabilityException.revision\n   * @permissionId RESTAURANTS.AVAILABILITY_EXCEPTION_UPDATE\n   * @adminMethod\n   * @returns Updated availability exception.\n   */\n  function updateAvailabilityException(_id: string | null, availabilityException: UpdateAvailabilityException, options?: UpdateAvailabilityExceptionOptions): Promise<AvailabilityException>;\n  interface UpdateAvailabilityException {\n      /**\n       * Availability exception ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the availability exception is updated.\n       * To prevent conflicting changes, the current revision must be specified when updating the availability exception.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the availability exception was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the availability exception was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** The start time of the availability exception in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n      startTime?: Date | null;\n      /** The end time of the availability exception in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n      endTime?: Date | null;\n      /**\n       * Whether the exception makes the [`start_time`, `end_time`] range available.\n       * If `true`, the exception makes the restaurant available for online ordering during the time range. If `false`, the exception makes the restaurant unavailable for ordering during the time range.\n       * Currently, only `false` is supported.\n       * @readonly\n       */\n      available?: boolean | null;\n      /** Exception name. */\n      name?: string | null;\n      /** Fulfillment methods for which this exception applies. */\n      affectedFulfillmentMethods?: AffectedFulfillmentMethods;\n      /** ID of the restaurant operation this exception is associated with. (See the Restaurants Operations API for more information.) */\n      operationId?: string | null;\n      /** Extended fields. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Location Id associated with the availability exception.\n       * @internal\n       * @readonly\n       */\n      locationId?: string | null;\n  }\n  interface UpdateAvailabilityExceptionOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes an availability exception.\n   * @param availabilityExceptionId - ID of the availability exception to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField availabilityExceptionId\n   * @permissionId RESTAURANTS.AVAILABILITY_EXCEPTION_DELETE\n   * @adminMethod\n   */\n  function deleteAvailabilityException(availabilityExceptionId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of availability exceptions.\n   *\n   * The `queryAvailabilityExceptions()` function builds a query to retrieve a list of availability exceptions and returns an `AvailabilityExceptionsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/availability-exceptions/availability-exceptions-query-builder/find) function.\n   *\n   * You can refine the query by chaining `AvailabilityExceptionsQueryBuilder` functions onto the query. `AvailabilityExceptionsQueryBuilder` functions enable you to filter, sort, and control the results that `queryAvailabilityExceptions()` returns.\n   *\n   * `queryAvailabilityExceptions()` runs with the following `AvailabilityExceptionsQueryBuilder` defaults, which you can override:\n   *\n   * - [`limit(50)`](/availability-exceptions/availability-exceptions-query-builder/limit)\n   * - [`ascending('_id')`](/availability-exceptions/availability-exceptions-query-builder/ascending)\n   *\n   * The following `AvailabilityExceptionsQueryBuilder` functions are supported for `queryAvailabilityExceptions()`. For a full description of the availability exception object, see the object returned for the [`items`](/availability-exceptions/availability-exceptions-query-result/items) property in `AvailabilityExceptionsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.AVAILABILITY_EXCEPTION_READ\n   * @adminMethod\n   */\n  function queryAvailabilityExceptions(): AvailabilityExceptionsQueryBuilder;\n  interface QueryCursorResult$2 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface AvailabilityExceptionsQueryResult extends QueryCursorResult$2 {\n      items: AvailabilityException[];\n      query: AvailabilityExceptionsQueryBuilder;\n      next: () => Promise<AvailabilityExceptionsQueryResult>;\n      prev: () => Promise<AvailabilityExceptionsQueryResult>;\n  }\n  interface AvailabilityExceptionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'startTime' | 'endTime' | 'available' | 'name' | 'affectedFulfillmentMethods.affectedMethods', value: any) => AvailabilityExceptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'startTime' | 'endTime' | 'available' | 'name' | 'affectedFulfillmentMethods.affectedMethods', value: any) => AvailabilityExceptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate' | 'startTime' | 'endTime', value: any) => AvailabilityExceptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate' | 'startTime' | 'endTime', value: any) => AvailabilityExceptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate' | 'startTime' | 'endTime', value: any) => AvailabilityExceptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate' | 'startTime' | 'endTime', value: any) => AvailabilityExceptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name', value: string) => AvailabilityExceptionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'startTime' | 'endTime' | 'available' | 'name' | 'affectedFulfillmentMethods.affectedMethods', value: any[]) => AvailabilityExceptionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'startTime' | 'endTime' | 'available' | 'name' | 'affectedFulfillmentMethods.affectedMethods', value: any) => AvailabilityExceptionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'startTime' | 'endTime' | 'available' | 'name' | 'affectedFulfillmentMethods.affectedMethods', value: boolean) => AvailabilityExceptionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'startTime' | 'endTime' | 'available' | 'name' | 'affectedFulfillmentMethods.affectedMethods'>) => AvailabilityExceptionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'startTime' | 'endTime' | 'available' | 'name' | 'affectedFulfillmentMethods.affectedMethods'>) => AvailabilityExceptionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => AvailabilityExceptionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => AvailabilityExceptionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<AvailabilityExceptionsQueryResult>;\n  }\n  /**\n   * Creates multiple availability exceptions.\n   * @param availabilityExceptions - Availability exception details.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField availabilityExceptions\n   * @requiredField availabilityExceptions.affectedFulfillmentMethods\n   * @requiredField availabilityExceptions.affectedFulfillmentMethods.affectedMethods\n   * @requiredField availabilityExceptions.available\n   * @requiredField availabilityExceptions.endTime\n   * @requiredField availabilityExceptions.operationId\n   * @requiredField availabilityExceptions.startTime\n   * @permissionId RESTAURANTS.AVAILABILITY_EXCEPTION_CREATE\n   * @adminMethod\n   */\n  function bulkCreateAvailabilityExceptions(availabilityExceptions: AvailabilityException[], options?: BulkCreateAvailabilityExceptionsOptions): Promise<BulkCreateAvailabilityExceptionsResponse>;\n  interface BulkCreateAvailabilityExceptionsOptions {\n      /** Whether the full availability exception entity is returned. Defaults to `true`. */\n      returnEntity?: boolean;\n  }\n  \n  type restaurantsV1AvailabilityException_universal_d_AvailabilityException = AvailabilityException;\n  type restaurantsV1AvailabilityException_universal_d_AffectedFulfillmentMethods = AffectedFulfillmentMethods;\n  type restaurantsV1AvailabilityException_universal_d_AffectedFulfillmentMethodsAffectedMethodsOptionsOneOf = AffectedFulfillmentMethodsAffectedMethodsOptionsOneOf;\n  type restaurantsV1AvailabilityException_universal_d_AffectedMethods = AffectedMethods;\n  const restaurantsV1AvailabilityException_universal_d_AffectedMethods: typeof AffectedMethods;\n  type restaurantsV1AvailabilityException_universal_d_SpecificFulfillmentMethodsImpactScope = SpecificFulfillmentMethodsImpactScope;\n  type restaurantsV1AvailabilityException_universal_d_ExtendedFields = ExtendedFields;\n  type restaurantsV1AvailabilityException_universal_d_CreateAvailabilityExceptionRequest = CreateAvailabilityExceptionRequest;\n  type restaurantsV1AvailabilityException_universal_d_CreateAvailabilityExceptionResponse = CreateAvailabilityExceptionResponse;\n  type restaurantsV1AvailabilityException_universal_d_GetAvailabilityExceptionRequest = GetAvailabilityExceptionRequest;\n  type restaurantsV1AvailabilityException_universal_d_GetAvailabilityExceptionResponse = GetAvailabilityExceptionResponse;\n  type restaurantsV1AvailabilityException_universal_d_UpdateAvailabilityExceptionRequest = UpdateAvailabilityExceptionRequest;\n  type restaurantsV1AvailabilityException_universal_d_UpdateAvailabilityExceptionResponse = UpdateAvailabilityExceptionResponse;\n  type restaurantsV1AvailabilityException_universal_d_DeleteAvailabilityExceptionRequest = DeleteAvailabilityExceptionRequest;\n  type restaurantsV1AvailabilityException_universal_d_DeleteAvailabilityExceptionResponse = DeleteAvailabilityExceptionResponse;\n  type restaurantsV1AvailabilityException_universal_d_QueryAvailabilityExceptionsRequest = QueryAvailabilityExceptionsRequest;\n  type restaurantsV1AvailabilityException_universal_d_QueryAvailabilityExceptionsResponse = QueryAvailabilityExceptionsResponse;\n  type restaurantsV1AvailabilityException_universal_d_BulkCreateAvailabilityExceptionsRequest = BulkCreateAvailabilityExceptionsRequest;\n  type restaurantsV1AvailabilityException_universal_d_BulkCreateAvailabilityExceptionsResponse = BulkCreateAvailabilityExceptionsResponse;\n  type restaurantsV1AvailabilityException_universal_d_BulkCreateAvailabilityExceptionsResult = BulkCreateAvailabilityExceptionsResult;\n  const restaurantsV1AvailabilityException_universal_d_createAvailabilityException: typeof createAvailabilityException;\n  const restaurantsV1AvailabilityException_universal_d_getAvailabilityException: typeof getAvailabilityException;\n  const restaurantsV1AvailabilityException_universal_d_updateAvailabilityException: typeof updateAvailabilityException;\n  type restaurantsV1AvailabilityException_universal_d_UpdateAvailabilityException = UpdateAvailabilityException;\n  type restaurantsV1AvailabilityException_universal_d_UpdateAvailabilityExceptionOptions = UpdateAvailabilityExceptionOptions;\n  const restaurantsV1AvailabilityException_universal_d_deleteAvailabilityException: typeof deleteAvailabilityException;\n  const restaurantsV1AvailabilityException_universal_d_queryAvailabilityExceptions: typeof queryAvailabilityExceptions;\n  type restaurantsV1AvailabilityException_universal_d_AvailabilityExceptionsQueryResult = AvailabilityExceptionsQueryResult;\n  type restaurantsV1AvailabilityException_universal_d_AvailabilityExceptionsQueryBuilder = AvailabilityExceptionsQueryBuilder;\n  const restaurantsV1AvailabilityException_universal_d_bulkCreateAvailabilityExceptions: typeof bulkCreateAvailabilityExceptions;\n  type restaurantsV1AvailabilityException_universal_d_BulkCreateAvailabilityExceptionsOptions = BulkCreateAvailabilityExceptionsOptions;\n  namespace restaurantsV1AvailabilityException_universal_d {\n    export {\n      restaurantsV1AvailabilityException_universal_d_AvailabilityException as AvailabilityException,\n      restaurantsV1AvailabilityException_universal_d_AffectedFulfillmentMethods as AffectedFulfillmentMethods,\n      restaurantsV1AvailabilityException_universal_d_AffectedFulfillmentMethodsAffectedMethodsOptionsOneOf as AffectedFulfillmentMethodsAffectedMethodsOptionsOneOf,\n      restaurantsV1AvailabilityException_universal_d_AffectedMethods as AffectedMethods,\n      restaurantsV1AvailabilityException_universal_d_SpecificFulfillmentMethodsImpactScope as SpecificFulfillmentMethodsImpactScope,\n      restaurantsV1AvailabilityException_universal_d_ExtendedFields as ExtendedFields,\n      restaurantsV1AvailabilityException_universal_d_CreateAvailabilityExceptionRequest as CreateAvailabilityExceptionRequest,\n      restaurantsV1AvailabilityException_universal_d_CreateAvailabilityExceptionResponse as CreateAvailabilityExceptionResponse,\n      restaurantsV1AvailabilityException_universal_d_GetAvailabilityExceptionRequest as GetAvailabilityExceptionRequest,\n      restaurantsV1AvailabilityException_universal_d_GetAvailabilityExceptionResponse as GetAvailabilityExceptionResponse,\n      restaurantsV1AvailabilityException_universal_d_UpdateAvailabilityExceptionRequest as UpdateAvailabilityExceptionRequest,\n      restaurantsV1AvailabilityException_universal_d_UpdateAvailabilityExceptionResponse as UpdateAvailabilityExceptionResponse,\n      restaurantsV1AvailabilityException_universal_d_DeleteAvailabilityExceptionRequest as DeleteAvailabilityExceptionRequest,\n      restaurantsV1AvailabilityException_universal_d_DeleteAvailabilityExceptionResponse as DeleteAvailabilityExceptionResponse,\n      restaurantsV1AvailabilityException_universal_d_QueryAvailabilityExceptionsRequest as QueryAvailabilityExceptionsRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      restaurantsV1AvailabilityException_universal_d_QueryAvailabilityExceptionsResponse as QueryAvailabilityExceptionsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      restaurantsV1AvailabilityException_universal_d_BulkCreateAvailabilityExceptionsRequest as BulkCreateAvailabilityExceptionsRequest,\n      restaurantsV1AvailabilityException_universal_d_BulkCreateAvailabilityExceptionsResponse as BulkCreateAvailabilityExceptionsResponse,\n      restaurantsV1AvailabilityException_universal_d_BulkCreateAvailabilityExceptionsResult as BulkCreateAvailabilityExceptionsResult,\n      ItemMetadata$2 as ItemMetadata,\n      ApplicationError$2 as ApplicationError,\n      BulkActionMetadata$2 as BulkActionMetadata,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      Empty$1 as Empty,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      restaurantsV1AvailabilityException_universal_d_createAvailabilityException as createAvailabilityException,\n      restaurantsV1AvailabilityException_universal_d_getAvailabilityException as getAvailabilityException,\n      restaurantsV1AvailabilityException_universal_d_updateAvailabilityException as updateAvailabilityException,\n      restaurantsV1AvailabilityException_universal_d_UpdateAvailabilityException as UpdateAvailabilityException,\n      restaurantsV1AvailabilityException_universal_d_UpdateAvailabilityExceptionOptions as UpdateAvailabilityExceptionOptions,\n      restaurantsV1AvailabilityException_universal_d_deleteAvailabilityException as deleteAvailabilityException,\n      restaurantsV1AvailabilityException_universal_d_queryAvailabilityExceptions as queryAvailabilityExceptions,\n      restaurantsV1AvailabilityException_universal_d_AvailabilityExceptionsQueryResult as AvailabilityExceptionsQueryResult,\n      restaurantsV1AvailabilityException_universal_d_AvailabilityExceptionsQueryBuilder as AvailabilityExceptionsQueryBuilder,\n      restaurantsV1AvailabilityException_universal_d_bulkCreateAvailabilityExceptions as bulkCreateAvailabilityExceptions,\n      restaurantsV1AvailabilityException_universal_d_BulkCreateAvailabilityExceptionsOptions as BulkCreateAvailabilityExceptionsOptions,\n    };\n  }\n  \n  /** A Fulfillment Method represents a way in which a restaurant can provide orders to its customers. */\n  interface FulfillmentMethod extends FulfillmentMethodMethodOptionsOneOf {\n      /** Data specific for pickup fulfillment method. */\n      pickupOptions?: PickupInfo;\n      /** Data specific for delivery fulfillment method. */\n      deliveryOptions?: DeliveryInfo;\n      /**\n       * Fulfillment method ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the fulfillment method was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the fulfillment method was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Type of fulfillment method. */\n      type?: FulfillmentMethodType;\n      /** Fulfillment method name. */\n      name?: string | null;\n      /** Whether the fulfillment method is enabled. */\n      enabled?: boolean | null;\n      /** Fee for using this fulfillment method. */\n      fee?: string | null;\n      /** Availability of this fulfillment method. */\n      availability?: Availability;\n      /** Minimum order price to qualify for using this fulfillment method. */\n      minOrderPrice?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      oldFulfillmentMethodId?: string | null;\n      /**\n       * Location ID associated with the fulfillment method.\n       * @internal\n       * @readonly\n       */\n      locationId?: string | null;\n  }\n  /** @oneof */\n  interface FulfillmentMethodMethodOptionsOneOf {\n      /** Data specific for pickup fulfillment method. */\n      pickupOptions?: PickupInfo;\n      /** Data specific for delivery fulfillment method. */\n      deliveryOptions?: DeliveryInfo;\n  }\n  enum FulfillmentMethodType {\n      /** Unknown fulfillment type. */\n      UNKNOWN_FULFILLMENT_TYPE = \"UNKNOWN_FULFILLMENT_TYPE\",\n      /** The customer must pick up the order from the restaurant. */\n      PICKUP = \"PICKUP\",\n      /** The restaurant, or someone on behalf of the restaurant, must deliver the order to the customer. */\n      DELIVERY = \"DELIVERY\"\n  }\n  interface PickupInfo {\n      /** Instructions for the pickup. */\n      instructions?: string | null;\n      /**\n       * Pickup address.\n       *\n       * This is set to the address of the restaurant.\n       * @readonly\n       */\n      address?: CommonAddress;\n  }\n  /** Physical address */\n  interface CommonAddress extends CommonAddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision[];\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface DeliveryInfo {\n      /** Estimated delivery time in minutes. */\n      deliveryTimeInMinutes?: number | null;\n      /**\n       * Threshold for offering free delivery.\n       * If the order price exceeds this threshold, the delivery fee is waived.\n       */\n      freeDeliveryThreshold?: string | null;\n      /** Delivery area supported by this delivery fulfillment method. */\n      deliveryArea?: DeliveryArea;\n      /**\n       * Delivery provider app id.\n       * @readonly\n       */\n      deliveryProviderAppId?: string | null;\n      /** Pickup instructions for couriers. */\n      courierPickupInstructions?: string | null;\n  }\n  interface DeliveryArea extends DeliveryAreaAreaOptionsOneOf {\n      /** Settings for a radius delivery area. */\n      radiusOptions?: Radius;\n      /** Settings for a postal code delivery area. */\n      postalCodeOptions?: PostalCode;\n      /** Settings for a custom delivery area. */\n      customOptions?: CustomArea;\n      /** Type of delivery area. */\n      type?: Type$1;\n  }\n  /** @oneof */\n  interface DeliveryAreaAreaOptionsOneOf {\n      /** Settings for a radius delivery area. */\n      radiusOptions?: Radius;\n      /** Settings for a postal code delivery area. */\n      postalCodeOptions?: PostalCode;\n      /** Settings for a custom delivery area. */\n      customOptions?: CustomArea;\n  }\n  enum Type$1 {\n      /** Unknown delivery area type. */\n      UNKNOWN_DELIVERY_AREA = \"UNKNOWN_DELIVERY_AREA\",\n      /** Delivery area defined by a radius around the restaurant's address. */\n      RADIUS = \"RADIUS\",\n      /** Delivery area defined by a list of postal codes. */\n      POSTAL_CODE = \"POSTAL_CODE\",\n      /** Delivery area defined by a custom polygon. */\n      CUSTOM = \"CUSTOM\",\n      /** Delivery area that is determined by the provider. Setting this option, you must also provide `delivery_provider_app_id`. */\n      PROVIDER_DEFINED = \"PROVIDER_DEFINED\"\n  }\n  interface Radius {\n      /**\n       * Radius value.\n       * The unit of the radius is specified in the `unit` field.\n       * __Deprecated.__ Use `maxDistance` instead.\n       * This property will be removed on {{Jan 18}}, {{2025}}.\n       * @deprecated\n       * @replacedBy max_distance\n       * @targetRemovalDate 2025-01-18\n       */\n      value?: string | null;\n      /**\n       * Minimum distance value.\n       * The unit of the radius is specified in the `unit` field.\n       */\n      minDistance?: string | null;\n      /**\n       * Maximum distance value.\n       * The unit of the radius is specified in the `unit` field.\n       */\n      maxDistance?: string | null;\n      /**\n       * Address at the center of the circle.\n       * @readonly\n       */\n      centerPointAddress?: CommonAddress;\n      /** Unit of measurement of the radius. */\n      unit?: Unit;\n  }\n  enum Unit {\n      /** Unknown unit. */\n      UNKNOWN_UNIT = \"UNKNOWN_UNIT\",\n      /** Miles. */\n      MILES = \"MILES\",\n      /** Kilometers. */\n      KILOMETERS = \"KILOMETERS\"\n  }\n  interface PostalCode {\n      /**\n       * Postal code of the delivery area.\n       * @internal\n       * @deprecated\n       * @replacedBy postal_codes\n       * @targetRemovalDate 2023-10-30\n       */\n      postalCode?: string | null;\n      /**\n       * Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n       * @readonly\n       */\n      countryCode?: string | null;\n      /**\n       * List of postal codes and postal code regexes. For example, `10001`, `10002` or `1000*`.\n       * A postal code regex will enable you to define a range of postal codes using an asterisk (*).\n       * For example, to include the postal codes in the range of `10001`-`10009`, use `1000*`.\n       */\n      postalCodes?: string[] | null;\n  }\n  interface CustomArea {\n      /** Geocodes of the polygon defining the delivery area. */\n      geocodes?: AddressLocation[];\n  }\n  interface Availability {\n      /** A list of availability times for the days of the week. */\n      availableTimes?: DayOfWeekAvailability[];\n      /**\n       * The timezone in which the availability times are given.\n       * @readonly\n       */\n      timeZone?: string | null;\n  }\n  interface DayOfWeekAvailability {\n      /** The day of week this availability relates to. */\n      dayOfWeek?: EntitiesDayOfWeek;\n      /** A list of time ranges during which the fulfillment should be available. */\n      timeRanges?: TimeOfDayRange[];\n  }\n  enum EntitiesDayOfWeek {\n      /** Monday. */\n      MON = \"MON\",\n      /** Tuesday. */\n      TUE = \"TUE\",\n      /** Wednesday. */\n      WED = \"WED\",\n      /** Thursday. */\n      THU = \"THU\",\n      /** Friday. */\n      FRI = \"FRI\",\n      /** Saturday. */\n      SAT = \"SAT\",\n      /** Sunday. */\n      SUN = \"SUN\"\n  }\n  interface TimeOfDayRange {\n      /** The start time in time of day representation. */\n      startTime?: TimeOfDay;\n      /** The end time in time of day representation. */\n      endTime?: TimeOfDay;\n  }\n  interface TimeOfDay {\n      /**\n       * Hours. <br />\n       * Min: `0`. <br />\n       * Max: `23`.\n       */\n      hours?: number;\n      /**\n       * Minutes. <br />\n       * Min: `0`. <br />\n       * Max: `23`.\n       */\n      minutes?: number;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateFulfillmentMethodRequest {\n      /** Fulfillment method to create. */\n      fulfillmentMethod: FulfillmentMethod;\n  }\n  interface CreateFulfillmentMethodResponse {\n      /** The created fulfillment method. */\n      fulfillmentMethod?: FulfillmentMethod;\n  }\n  interface BulkCreateFulfillmentMethodsRequest {\n      /** Fulfillment methods to create. */\n      fulfillmentMethods?: FulfillmentMethod[];\n      /** If true, the created entities will be returned. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateFulfillmentMethodsResponse {\n      /** Information about the created fulfillment method. */\n      results?: BulkCreateFulfillmentMethodResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkCreateFulfillmentMethodResult {\n      /** Metadata for fulfillment method creation. */\n      itemMetadata?: ItemMetadata$1;\n      /** Created fulfillment method. */\n      fulfillmentMethod?: FulfillmentMethod;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetFulfillmentMethodRequest {\n      /** The ID of the fulfillment method to retrieve. */\n      fulfillmentMethodId: string;\n  }\n  interface GetFulfillmentMethodResponse {\n      /** The retrieved fulfillment method. */\n      fulfillmentMethod?: FulfillmentMethod;\n  }\n  interface UpdateFulfillmentMethodRequest {\n      /**\n       * Fulfillment method to update.\n       * The fulfillment method update may be partial with the use of `field_mask`.\n       */\n      fulfillmentMethod: FulfillmentMethod;\n      /**\n       * Field mask of the fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateFulfillmentMethodResponse {\n      /** The updated fulfillment method. */\n      fulfillmentMethod?: FulfillmentMethod;\n  }\n  interface DeleteFulfillmentMethodRequest {\n      /** The ID of the fulfillment method to delete. */\n      fulfillmentMethodId: string;\n  }\n  interface DeleteFulfillmentMethodResponse {\n  }\n  interface QueryFulfillmentMethodsRequest {\n      /** The query by which to select fulfillment methods. */\n      query?: CursorQuery$1;\n      /**\n       * Projection mask of the fields to return.\n       * @internal\n       * @deprecated Projection mask of the fields to return.\n       */\n      projectionMask?: string[];\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CommonCursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CommonCursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryFulfillmentMethodsResponse {\n      /** The retrieved fulfillment methods. */\n      fulfillmentMethods?: FulfillmentMethod[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface CommonCursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: CommonCursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListFulfillmentMethodsRequest {\n      /**\n       * The address by which to filter delivery fulfillment methods.\n       * @internal\n       * @deprecated The address by which to filter delivery fulfillment methods.\n       */\n      address?: CommonAddress;\n      /** Cursor paging */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface ListFulfillmentMethodsResponse {\n      /** The retrieved fulfillment methods. */\n      fulfillmentMethods?: FulfillmentMethod[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface ListAvailableFulfillmentMethodsForAddressRequest {\n      /** The address by which to filter delivery fulfillment methods. */\n      address?: CommonAddress;\n      /** Cursor paging */\n      cursorPaging?: CommonCursorPaging;\n      /** If provided, only fulfillment methods with the given IDs will be returned. */\n      fulfillmentMethodIds?: string[];\n  }\n  interface ListAvailableFulfillmentMethodsForAddressResponse {\n      /** The retrieved fulfillment methods. */\n      fulfillmentMethods?: FulfillmentMethod[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface ListActiveFulfillmentMethodsRequest {\n      /** Only fulfillment methods with the given IDs will be returned. */\n      fulfillmentMethodIds?: string[];\n      /** Cursor paging */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface ListActiveFulfillmentMethodsResponse {\n      /** The enabled fulfillment methods. */\n      fulfillmentMethods?: FulfillmentMethod[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface GetAccumulatedFulfillmentMethodsAvailabilityRequest {\n      /** fulfillment method ids to check availability for. */\n      fulfillmentMethodIds?: string[];\n  }\n  interface GetAccumulatedFulfillmentMethodsAvailabilityResponse {\n      /** The accumulated availability of all fulfillment methods. */\n      availability?: Availability;\n      /** Fulfillment methods types that accumulate availability. */\n      types?: FulfillmentMethodType[];\n  }\n  interface GetCombinedMethodAvailabilityRequest {\n      /** IDs of fulfillment methods used to determine the combined availability. */\n      fulfillmentMethodIds: string[];\n  }\n  interface GetCombinedMethodAvailabilityResponse {\n      /** The combined availability of the given fulfillment methods. */\n      combinedAvailability?: Availability;\n      /** Types of fulfillment methods available during at least some the combined availability's `availableTimes`. */\n      fulfillmentTypes?: FulfillmentMethodType[];\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation[];\n      /** Context of the notification */\n      changeContext?: ChangeContext;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties;\n  }\n  interface Properties {\n      /** Site categories. */\n      categories?: Categories;\n      /** Site locale. */\n      locale?: Locale$1;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual;\n      /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n      consentPolicy?: ConsentPolicy;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site URL that uses Wix as its headless business solution. */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics. */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale$1 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n   */\n  interface AddressHint {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale$1;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod;\n  }\n  enum ResolutionMethod {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext extends ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  interface PropertiesChange {\n  }\n  interface SiteCreated {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Creates a new fulfillment method.\n   *\n   * >**Note:** `fulfillmentMethod.availability.time_zone` uses the time zone specified in the [`language and regions`](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsettings/language-and-region) settings in the dashboard, regardless of the value provided.\n   * @param fulfillmentMethod - Fulfillment method to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fulfillmentMethod\n   * @requiredField fulfillmentMethod.availability.timeZone\n   * @requiredField fulfillmentMethod.deliveryOptions.deliveryArea\n   * @requiredField fulfillmentMethod.deliveryOptions.deliveryArea.postalCodeOptions.countryCode\n   * @requiredField fulfillmentMethod.deliveryOptions.deliveryArea.radiusOptions.centerPointAddress\n   * @requiredField fulfillmentMethod.pickupOptions.address\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_CREATE\n   * @adminMethod\n   * @returns The created fulfillment method.\n   */\n  function createFulfillmentMethod(fulfillmentMethod: FulfillmentMethod): Promise<FulfillmentMethod>;\n  /**\n   * Create multiple fulfillment methods at once.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_CREATE\n   * @adminMethod\n   */\n  function bulkCreateFulfillmentMethods(options?: BulkCreateFulfillmentMethodsOptions): Promise<BulkCreateFulfillmentMethodsResponse>;\n  interface BulkCreateFulfillmentMethodsOptions {\n      /** Fulfillment methods to create. */\n      fulfillmentMethods?: FulfillmentMethod[];\n      /** If true, the created entities will be returned. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Retrieves a fulfillment method.\n   * @param fulfillmentMethodId - The ID of the fulfillment method to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fulfillmentMethodId\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_READ\n   * @returns The retrieved fulfillment method.\n   */\n  function getFulfillmentMethod(fulfillmentMethodId: string): Promise<FulfillmentMethod>;\n  /**\n   * Updates a fulfillment method.\n   *\n   * Each time the fulfillment method is updated, its revision increments by 1. The existing revision must be included when updating the fulfillment method. This ensures you're working with the latest fulfillment method information, and it prevents unintended overwrites.\n   * @param _id - Fulfillment method ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField fulfillmentMethod\n   * @requiredField fulfillmentMethod.revision\n   * @param fulfillmentMethod - Fulfillment method information to update.\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_UPDATE\n   * @adminMethod\n   * @returns The updated fulfillment method.\n   */\n  function updateFulfillmentMethod(_id: string | null, fulfillmentMethod: UpdateFulfillmentMethod, options?: UpdateFulfillmentMethodOptions): Promise<FulfillmentMethod>;\n  interface UpdateFulfillmentMethod {\n      /** Data specific for pickup fulfillment method. */\n      pickupOptions?: PickupInfo;\n      /** Data specific for delivery fulfillment method. */\n      deliveryOptions?: DeliveryInfo;\n      /**\n       * Fulfillment method ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the fulfillment method was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the fulfillment method was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Type of fulfillment method. */\n      type?: FulfillmentMethodType;\n      /** Fulfillment method name. */\n      name?: string | null;\n      /** Whether the fulfillment method is enabled. */\n      enabled?: boolean | null;\n      /** Fee for using this fulfillment method. */\n      fee?: string | null;\n      /** Availability of this fulfillment method. */\n      availability?: Availability;\n      /** Minimum order price to qualify for using this fulfillment method. */\n      minOrderPrice?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      oldFulfillmentMethodId?: string | null;\n      /**\n       * Location ID associated with the fulfillment method.\n       * @internal\n       * @readonly\n       */\n      locationId?: string | null;\n  }\n  interface UpdateFulfillmentMethodOptions {\n      /**\n       * Field mask of the fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a fulfillment method.\n   * @param fulfillmentMethodId - The ID of the fulfillment method to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fulfillmentMethodId\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_DELETE\n   * @adminMethod\n   */\n  function deleteFulfillmentMethod(fulfillmentMethodId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of fulfillment methods.\n   *\n   * The `queryFulfillmentMethods()` function builds a query to retrieve a list of fulfillment methods and returns a `FulfillmentMethodsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](/fulfillment-methods/fulfillment-methods-query-builder/find) function.\n   *\n   * You can refine the query by chaining `FulfillmentMethodsQueryBuilder` functions onto the query. `FulfillmentMethodsQueryBuilder` functions enable you to filter, sort, and control the results that `queryFulfillmentMethods()` returns.\n   *\n   * `queryFulfillmentMethods()` runs with the following `FulfillmentMethodsQueryBuilder` defaults, which you can override:\n   *\n   * * [`limit(50)`](/fulfillment-methods/fulfillment-methods-query-builder/limit)\n   * * [`ascending('entityId')`](/fulfillment-methods/fulfillment-methods-query-builder/ascending)\n   *\n   * The following `FulfillmentMethodsQueryBuilder` functions are supported for `queryFulfillmentMethods()`. For a full description of the fulfillment method object, see the object returned for the [`items`](/fulfillment-methods/fulfillment-methods-query-result/items) property in `FulfillmentMethodsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_READ\n   */\n  function queryFulfillmentMethods(options?: QueryFulfillmentMethodsOptions): FulfillmentMethodsQueryBuilder;\n  interface QueryFulfillmentMethodsOptions {\n      /**\n       * Projection mask of the fields to return.\n       * @internal\n       * @deprecated Projection mask of the fields to return.\n       */\n      projectionMask?: string[] | undefined;\n  }\n  interface QueryCursorResult$1 {\n      cursors: CommonCursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface FulfillmentMethodsQueryResult extends QueryCursorResult$1 {\n      items: FulfillmentMethod[];\n      query: FulfillmentMethodsQueryBuilder;\n      next: () => Promise<FulfillmentMethodsQueryResult>;\n      prev: () => Promise<FulfillmentMethodsQueryResult>;\n  }\n  interface FulfillmentMethodsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'type' | 'name' | 'enabled' | 'fee' | 'minOrderPrice', value: any) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'type' | 'name' | 'enabled' | 'fee' | 'minOrderPrice', value: any) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'fee' | 'minOrderPrice', value: string) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'type' | 'name' | 'enabled' | 'fee' | 'minOrderPrice', value: any[]) => FulfillmentMethodsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'type' | 'name' | 'enabled' | 'fee' | 'minOrderPrice', value: any) => FulfillmentMethodsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'type' | 'name' | 'enabled' | 'fee' | 'minOrderPrice', value: boolean) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'type' | 'name' | 'enabled' | 'fee' | 'minOrderPrice'>) => FulfillmentMethodsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'type' | 'name' | 'enabled' | 'fee' | 'minOrderPrice'>) => FulfillmentMethodsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => FulfillmentMethodsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => FulfillmentMethodsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<FulfillmentMethodsQueryResult>;\n  }\n  /**\n   * Retrieves a list of up to 100 fulfillment methods.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options for listing the fulfillment methods.\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_READ\n   */\n  function listFulfillmentMethods(options?: ListFulfillmentMethodsOptions): Promise<ListFulfillmentMethodsResponse>;\n  interface ListFulfillmentMethodsOptions {\n      /**\n       * The address by which to filter delivery fulfillment methods.\n       * @internal\n       * @deprecated The address by which to filter delivery fulfillment methods.\n       */\n      address?: CommonAddress;\n      /** Cursor paging */\n      cursorPaging?: CommonCursorPaging;\n  }\n  /**\n   * Retrieves a list of up to 100 fulfillment methods available for a given address.\n   *\n   * The response will only include:\n   * - Non-delivery fulfillment methods.\n   * - Delivery fulfillment methods that are available to the given address according to their delivery areas.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Options for listing the available fulfillment methods.\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_READ\n   */\n  function listAvailableFulfillmentMethodsForAddress(options?: ListAvailableFulfillmentMethodsForAddressOptions): Promise<ListAvailableFulfillmentMethodsForAddressResponse>;\n  interface ListAvailableFulfillmentMethodsForAddressOptions {\n      /** The address by which to filter delivery fulfillment methods. */\n      address?: CommonAddress;\n      /** Cursor paging */\n      cursorPaging?: CommonCursorPaging;\n      /** If provided, only fulfillment methods with the given IDs will be returned. */\n      fulfillmentMethodIds?: string[];\n  }\n  /**\n   * Retrieves a list of up to 100 enabled fulfillment methods.\n   *\n   * The response will only include:\n   * - External provider deliveries that are enabled and are returned as active by the provider.\n   * - Enabled fulfillment methods that are not external provider deliveries.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_READ\n   */\n  function listActiveFulfillmentMethods(options?: ListActiveFulfillmentMethodsOptions): Promise<ListActiveFulfillmentMethodsResponse>;\n  interface ListActiveFulfillmentMethodsOptions {\n      /** Only fulfillment methods with the given IDs will be returned. */\n      fulfillmentMethodIds?: string[];\n      /** Cursor paging */\n      cursorPaging?: CommonCursorPaging;\n  }\n  /**\n   * Retrieves the accumulated availability of all fulfillment methods.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_READ\n   * @deprecated method is deprecated due to...\n   * @replacedBy GetCombinedMethodAvailability\n   * @targetRemovalDate 2024-09-29\n   */\n  function getAccumulatedFulfillmentMethodsAvailability(options?: GetAccumulatedFulfillmentMethodsAvailabilityOptions): Promise<GetAccumulatedFulfillmentMethodsAvailabilityResponse>;\n  interface GetAccumulatedFulfillmentMethodsAvailabilityOptions {\n      /** fulfillment method ids to check availability for. */\n      fulfillmentMethodIds?: string[];\n  }\n  /**\n   * Retrieves the combined availability of a list of fulfillment methods.\n   *\n   * The combined availability is a list of times during which one or more of the given fulfillment methods is available, and the types of those fulfillment methods.\n   * @param fulfillmentMethodIds - IDs of fulfillment methods used to determine the combined availability.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fulfillmentMethodIds\n   * @permissionId RESTAURANTS.FULFILLMENT_METHOD_READ\n   */\n  function getCombinedMethodAvailability(fulfillmentMethodIds: string[]): Promise<GetCombinedMethodAvailabilityResponse>;\n  \n  type restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethod = FulfillmentMethod;\n  type restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodMethodOptionsOneOf = FulfillmentMethodMethodOptionsOneOf;\n  type restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodType = FulfillmentMethodType;\n  const restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodType: typeof FulfillmentMethodType;\n  type restaurantsV1FulfillmentMethod_universal_d_PickupInfo = PickupInfo;\n  type restaurantsV1FulfillmentMethod_universal_d_CommonAddress = CommonAddress;\n  type restaurantsV1FulfillmentMethod_universal_d_CommonAddressStreetOneOf = CommonAddressStreetOneOf;\n  type restaurantsV1FulfillmentMethod_universal_d_StreetAddress = StreetAddress;\n  type restaurantsV1FulfillmentMethod_universal_d_AddressLocation = AddressLocation;\n  type restaurantsV1FulfillmentMethod_universal_d_Subdivision = Subdivision;\n  type restaurantsV1FulfillmentMethod_universal_d_SubdivisionType = SubdivisionType;\n  const restaurantsV1FulfillmentMethod_universal_d_SubdivisionType: typeof SubdivisionType;\n  type restaurantsV1FulfillmentMethod_universal_d_DeliveryInfo = DeliveryInfo;\n  type restaurantsV1FulfillmentMethod_universal_d_DeliveryArea = DeliveryArea;\n  type restaurantsV1FulfillmentMethod_universal_d_DeliveryAreaAreaOptionsOneOf = DeliveryAreaAreaOptionsOneOf;\n  type restaurantsV1FulfillmentMethod_universal_d_Radius = Radius;\n  type restaurantsV1FulfillmentMethod_universal_d_Unit = Unit;\n  const restaurantsV1FulfillmentMethod_universal_d_Unit: typeof Unit;\n  type restaurantsV1FulfillmentMethod_universal_d_PostalCode = PostalCode;\n  type restaurantsV1FulfillmentMethod_universal_d_CustomArea = CustomArea;\n  type restaurantsV1FulfillmentMethod_universal_d_Availability = Availability;\n  type restaurantsV1FulfillmentMethod_universal_d_DayOfWeekAvailability = DayOfWeekAvailability;\n  type restaurantsV1FulfillmentMethod_universal_d_EntitiesDayOfWeek = EntitiesDayOfWeek;\n  const restaurantsV1FulfillmentMethod_universal_d_EntitiesDayOfWeek: typeof EntitiesDayOfWeek;\n  type restaurantsV1FulfillmentMethod_universal_d_TimeOfDayRange = TimeOfDayRange;\n  type restaurantsV1FulfillmentMethod_universal_d_TimeOfDay = TimeOfDay;\n  type restaurantsV1FulfillmentMethod_universal_d_InvalidateCache = InvalidateCache;\n  type restaurantsV1FulfillmentMethod_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type restaurantsV1FulfillmentMethod_universal_d_App = App;\n  type restaurantsV1FulfillmentMethod_universal_d_Page = Page;\n  type restaurantsV1FulfillmentMethod_universal_d_URI = URI;\n  type restaurantsV1FulfillmentMethod_universal_d_File = File;\n  type restaurantsV1FulfillmentMethod_universal_d_CreateFulfillmentMethodRequest = CreateFulfillmentMethodRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_CreateFulfillmentMethodResponse = CreateFulfillmentMethodResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_BulkCreateFulfillmentMethodsRequest = BulkCreateFulfillmentMethodsRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_BulkCreateFulfillmentMethodsResponse = BulkCreateFulfillmentMethodsResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_BulkCreateFulfillmentMethodResult = BulkCreateFulfillmentMethodResult;\n  type restaurantsV1FulfillmentMethod_universal_d_GetFulfillmentMethodRequest = GetFulfillmentMethodRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_GetFulfillmentMethodResponse = GetFulfillmentMethodResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_UpdateFulfillmentMethodRequest = UpdateFulfillmentMethodRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_UpdateFulfillmentMethodResponse = UpdateFulfillmentMethodResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_DeleteFulfillmentMethodRequest = DeleteFulfillmentMethodRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_DeleteFulfillmentMethodResponse = DeleteFulfillmentMethodResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsRequest = QueryFulfillmentMethodsRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_CommonCursorPaging = CommonCursorPaging;\n  type restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsResponse = QueryFulfillmentMethodsResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_CommonCursorPagingMetadata = CommonCursorPagingMetadata;\n  type restaurantsV1FulfillmentMethod_universal_d_CommonCursors = CommonCursors;\n  type restaurantsV1FulfillmentMethod_universal_d_ListFulfillmentMethodsRequest = ListFulfillmentMethodsRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_ListFulfillmentMethodsResponse = ListFulfillmentMethodsResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressRequest = ListAvailableFulfillmentMethodsForAddressRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressResponse = ListAvailableFulfillmentMethodsForAddressResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_ListActiveFulfillmentMethodsRequest = ListActiveFulfillmentMethodsRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_ListActiveFulfillmentMethodsResponse = ListActiveFulfillmentMethodsResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityRequest = GetAccumulatedFulfillmentMethodsAvailabilityRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityResponse = GetAccumulatedFulfillmentMethodsAvailabilityResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_GetCombinedMethodAvailabilityRequest = GetCombinedMethodAvailabilityRequest;\n  type restaurantsV1FulfillmentMethod_universal_d_GetCombinedMethodAvailabilityResponse = GetCombinedMethodAvailabilityResponse;\n  type restaurantsV1FulfillmentMethod_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n  type restaurantsV1FulfillmentMethod_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n  type restaurantsV1FulfillmentMethod_universal_d_Properties = Properties;\n  type restaurantsV1FulfillmentMethod_universal_d_Categories = Categories;\n  type restaurantsV1FulfillmentMethod_universal_d_Address = Address;\n  type restaurantsV1FulfillmentMethod_universal_d_AddressHint = AddressHint;\n  type restaurantsV1FulfillmentMethod_universal_d_PlacementType = PlacementType;\n  const restaurantsV1FulfillmentMethod_universal_d_PlacementType: typeof PlacementType;\n  type restaurantsV1FulfillmentMethod_universal_d_GeoCoordinates = GeoCoordinates;\n  type restaurantsV1FulfillmentMethod_universal_d_BusinessSchedule = BusinessSchedule;\n  type restaurantsV1FulfillmentMethod_universal_d_TimePeriod = TimePeriod;\n  type restaurantsV1FulfillmentMethod_universal_d_DayOfWeek = DayOfWeek;\n  const restaurantsV1FulfillmentMethod_universal_d_DayOfWeek: typeof DayOfWeek;\n  type restaurantsV1FulfillmentMethod_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type restaurantsV1FulfillmentMethod_universal_d_Multilingual = Multilingual;\n  type restaurantsV1FulfillmentMethod_universal_d_SupportedLanguage = SupportedLanguage;\n  type restaurantsV1FulfillmentMethod_universal_d_ResolutionMethod = ResolutionMethod;\n  const restaurantsV1FulfillmentMethod_universal_d_ResolutionMethod: typeof ResolutionMethod;\n  type restaurantsV1FulfillmentMethod_universal_d_ConsentPolicy = ConsentPolicy;\n  type restaurantsV1FulfillmentMethod_universal_d_Translation = Translation;\n  type restaurantsV1FulfillmentMethod_universal_d_ChangeContext = ChangeContext;\n  type restaurantsV1FulfillmentMethod_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n  type restaurantsV1FulfillmentMethod_universal_d_PropertiesChange = PropertiesChange;\n  type restaurantsV1FulfillmentMethod_universal_d_SiteCreated = SiteCreated;\n  type restaurantsV1FulfillmentMethod_universal_d_SiteCloned = SiteCloned;\n  type restaurantsV1FulfillmentMethod_universal_d_Empty = Empty;\n  const restaurantsV1FulfillmentMethod_universal_d_createFulfillmentMethod: typeof createFulfillmentMethod;\n  const restaurantsV1FulfillmentMethod_universal_d_bulkCreateFulfillmentMethods: typeof bulkCreateFulfillmentMethods;\n  type restaurantsV1FulfillmentMethod_universal_d_BulkCreateFulfillmentMethodsOptions = BulkCreateFulfillmentMethodsOptions;\n  const restaurantsV1FulfillmentMethod_universal_d_getFulfillmentMethod: typeof getFulfillmentMethod;\n  const restaurantsV1FulfillmentMethod_universal_d_updateFulfillmentMethod: typeof updateFulfillmentMethod;\n  type restaurantsV1FulfillmentMethod_universal_d_UpdateFulfillmentMethod = UpdateFulfillmentMethod;\n  type restaurantsV1FulfillmentMethod_universal_d_UpdateFulfillmentMethodOptions = UpdateFulfillmentMethodOptions;\n  const restaurantsV1FulfillmentMethod_universal_d_deleteFulfillmentMethod: typeof deleteFulfillmentMethod;\n  const restaurantsV1FulfillmentMethod_universal_d_queryFulfillmentMethods: typeof queryFulfillmentMethods;\n  type restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsOptions = QueryFulfillmentMethodsOptions;\n  type restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodsQueryResult = FulfillmentMethodsQueryResult;\n  type restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodsQueryBuilder = FulfillmentMethodsQueryBuilder;\n  const restaurantsV1FulfillmentMethod_universal_d_listFulfillmentMethods: typeof listFulfillmentMethods;\n  type restaurantsV1FulfillmentMethod_universal_d_ListFulfillmentMethodsOptions = ListFulfillmentMethodsOptions;\n  const restaurantsV1FulfillmentMethod_universal_d_listAvailableFulfillmentMethodsForAddress: typeof listAvailableFulfillmentMethodsForAddress;\n  type restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressOptions = ListAvailableFulfillmentMethodsForAddressOptions;\n  const restaurantsV1FulfillmentMethod_universal_d_listActiveFulfillmentMethods: typeof listActiveFulfillmentMethods;\n  type restaurantsV1FulfillmentMethod_universal_d_ListActiveFulfillmentMethodsOptions = ListActiveFulfillmentMethodsOptions;\n  const restaurantsV1FulfillmentMethod_universal_d_getAccumulatedFulfillmentMethodsAvailability: typeof getAccumulatedFulfillmentMethodsAvailability;\n  type restaurantsV1FulfillmentMethod_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityOptions = GetAccumulatedFulfillmentMethodsAvailabilityOptions;\n  const restaurantsV1FulfillmentMethod_universal_d_getCombinedMethodAvailability: typeof getCombinedMethodAvailability;\n  namespace restaurantsV1FulfillmentMethod_universal_d {\n    export {\n      restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethod as FulfillmentMethod,\n      restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodMethodOptionsOneOf as FulfillmentMethodMethodOptionsOneOf,\n      restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodType as FulfillmentMethodType,\n      restaurantsV1FulfillmentMethod_universal_d_PickupInfo as PickupInfo,\n      restaurantsV1FulfillmentMethod_universal_d_CommonAddress as CommonAddress,\n      restaurantsV1FulfillmentMethod_universal_d_CommonAddressStreetOneOf as CommonAddressStreetOneOf,\n      restaurantsV1FulfillmentMethod_universal_d_StreetAddress as StreetAddress,\n      restaurantsV1FulfillmentMethod_universal_d_AddressLocation as AddressLocation,\n      restaurantsV1FulfillmentMethod_universal_d_Subdivision as Subdivision,\n      restaurantsV1FulfillmentMethod_universal_d_SubdivisionType as SubdivisionType,\n      restaurantsV1FulfillmentMethod_universal_d_DeliveryInfo as DeliveryInfo,\n      restaurantsV1FulfillmentMethod_universal_d_DeliveryArea as DeliveryArea,\n      restaurantsV1FulfillmentMethod_universal_d_DeliveryAreaAreaOptionsOneOf as DeliveryAreaAreaOptionsOneOf,\n      Type$1 as Type,\n      restaurantsV1FulfillmentMethod_universal_d_Radius as Radius,\n      restaurantsV1FulfillmentMethod_universal_d_Unit as Unit,\n      restaurantsV1FulfillmentMethod_universal_d_PostalCode as PostalCode,\n      restaurantsV1FulfillmentMethod_universal_d_CustomArea as CustomArea,\n      restaurantsV1FulfillmentMethod_universal_d_Availability as Availability,\n      restaurantsV1FulfillmentMethod_universal_d_DayOfWeekAvailability as DayOfWeekAvailability,\n      restaurantsV1FulfillmentMethod_universal_d_EntitiesDayOfWeek as EntitiesDayOfWeek,\n      restaurantsV1FulfillmentMethod_universal_d_TimeOfDayRange as TimeOfDayRange,\n      restaurantsV1FulfillmentMethod_universal_d_TimeOfDay as TimeOfDay,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      restaurantsV1FulfillmentMethod_universal_d_InvalidateCache as InvalidateCache,\n      restaurantsV1FulfillmentMethod_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      restaurantsV1FulfillmentMethod_universal_d_App as App,\n      restaurantsV1FulfillmentMethod_universal_d_Page as Page,\n      restaurantsV1FulfillmentMethod_universal_d_URI as URI,\n      restaurantsV1FulfillmentMethod_universal_d_File as File,\n      restaurantsV1FulfillmentMethod_universal_d_CreateFulfillmentMethodRequest as CreateFulfillmentMethodRequest,\n      restaurantsV1FulfillmentMethod_universal_d_CreateFulfillmentMethodResponse as CreateFulfillmentMethodResponse,\n      restaurantsV1FulfillmentMethod_universal_d_BulkCreateFulfillmentMethodsRequest as BulkCreateFulfillmentMethodsRequest,\n      restaurantsV1FulfillmentMethod_universal_d_BulkCreateFulfillmentMethodsResponse as BulkCreateFulfillmentMethodsResponse,\n      restaurantsV1FulfillmentMethod_universal_d_BulkCreateFulfillmentMethodResult as BulkCreateFulfillmentMethodResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      restaurantsV1FulfillmentMethod_universal_d_GetFulfillmentMethodRequest as GetFulfillmentMethodRequest,\n      restaurantsV1FulfillmentMethod_universal_d_GetFulfillmentMethodResponse as GetFulfillmentMethodResponse,\n      restaurantsV1FulfillmentMethod_universal_d_UpdateFulfillmentMethodRequest as UpdateFulfillmentMethodRequest,\n      restaurantsV1FulfillmentMethod_universal_d_UpdateFulfillmentMethodResponse as UpdateFulfillmentMethodResponse,\n      restaurantsV1FulfillmentMethod_universal_d_DeleteFulfillmentMethodRequest as DeleteFulfillmentMethodRequest,\n      restaurantsV1FulfillmentMethod_universal_d_DeleteFulfillmentMethodResponse as DeleteFulfillmentMethodResponse,\n      restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsRequest as QueryFulfillmentMethodsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      restaurantsV1FulfillmentMethod_universal_d_CommonCursorPaging as CommonCursorPaging,\n      restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsResponse as QueryFulfillmentMethodsResponse,\n      restaurantsV1FulfillmentMethod_universal_d_CommonCursorPagingMetadata as CommonCursorPagingMetadata,\n      restaurantsV1FulfillmentMethod_universal_d_CommonCursors as CommonCursors,\n      restaurantsV1FulfillmentMethod_universal_d_ListFulfillmentMethodsRequest as ListFulfillmentMethodsRequest,\n      restaurantsV1FulfillmentMethod_universal_d_ListFulfillmentMethodsResponse as ListFulfillmentMethodsResponse,\n      restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressRequest as ListAvailableFulfillmentMethodsForAddressRequest,\n      restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressResponse as ListAvailableFulfillmentMethodsForAddressResponse,\n      restaurantsV1FulfillmentMethod_universal_d_ListActiveFulfillmentMethodsRequest as ListActiveFulfillmentMethodsRequest,\n      restaurantsV1FulfillmentMethod_universal_d_ListActiveFulfillmentMethodsResponse as ListActiveFulfillmentMethodsResponse,\n      restaurantsV1FulfillmentMethod_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityRequest as GetAccumulatedFulfillmentMethodsAvailabilityRequest,\n      restaurantsV1FulfillmentMethod_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityResponse as GetAccumulatedFulfillmentMethodsAvailabilityResponse,\n      restaurantsV1FulfillmentMethod_universal_d_GetCombinedMethodAvailabilityRequest as GetCombinedMethodAvailabilityRequest,\n      restaurantsV1FulfillmentMethod_universal_d_GetCombinedMethodAvailabilityResponse as GetCombinedMethodAvailabilityResponse,\n      restaurantsV1FulfillmentMethod_universal_d_SitePropertiesNotification as SitePropertiesNotification,\n      restaurantsV1FulfillmentMethod_universal_d_SitePropertiesEvent as SitePropertiesEvent,\n      restaurantsV1FulfillmentMethod_universal_d_Properties as Properties,\n      restaurantsV1FulfillmentMethod_universal_d_Categories as Categories,\n      Locale$1 as Locale,\n      restaurantsV1FulfillmentMethod_universal_d_Address as Address,\n      restaurantsV1FulfillmentMethod_universal_d_AddressHint as AddressHint,\n      restaurantsV1FulfillmentMethod_universal_d_PlacementType as PlacementType,\n      restaurantsV1FulfillmentMethod_universal_d_GeoCoordinates as GeoCoordinates,\n      restaurantsV1FulfillmentMethod_universal_d_BusinessSchedule as BusinessSchedule,\n      restaurantsV1FulfillmentMethod_universal_d_TimePeriod as TimePeriod,\n      restaurantsV1FulfillmentMethod_universal_d_DayOfWeek as DayOfWeek,\n      restaurantsV1FulfillmentMethod_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      restaurantsV1FulfillmentMethod_universal_d_Multilingual as Multilingual,\n      restaurantsV1FulfillmentMethod_universal_d_SupportedLanguage as SupportedLanguage,\n      restaurantsV1FulfillmentMethod_universal_d_ResolutionMethod as ResolutionMethod,\n      restaurantsV1FulfillmentMethod_universal_d_ConsentPolicy as ConsentPolicy,\n      restaurantsV1FulfillmentMethod_universal_d_Translation as Translation,\n      restaurantsV1FulfillmentMethod_universal_d_ChangeContext as ChangeContext,\n      restaurantsV1FulfillmentMethod_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf,\n      restaurantsV1FulfillmentMethod_universal_d_PropertiesChange as PropertiesChange,\n      restaurantsV1FulfillmentMethod_universal_d_SiteCreated as SiteCreated,\n      restaurantsV1FulfillmentMethod_universal_d_SiteCloned as SiteCloned,\n      restaurantsV1FulfillmentMethod_universal_d_Empty as Empty,\n      restaurantsV1FulfillmentMethod_universal_d_createFulfillmentMethod as createFulfillmentMethod,\n      restaurantsV1FulfillmentMethod_universal_d_bulkCreateFulfillmentMethods as bulkCreateFulfillmentMethods,\n      restaurantsV1FulfillmentMethod_universal_d_BulkCreateFulfillmentMethodsOptions as BulkCreateFulfillmentMethodsOptions,\n      restaurantsV1FulfillmentMethod_universal_d_getFulfillmentMethod as getFulfillmentMethod,\n      restaurantsV1FulfillmentMethod_universal_d_updateFulfillmentMethod as updateFulfillmentMethod,\n      restaurantsV1FulfillmentMethod_universal_d_UpdateFulfillmentMethod as UpdateFulfillmentMethod,\n      restaurantsV1FulfillmentMethod_universal_d_UpdateFulfillmentMethodOptions as UpdateFulfillmentMethodOptions,\n      restaurantsV1FulfillmentMethod_universal_d_deleteFulfillmentMethod as deleteFulfillmentMethod,\n      restaurantsV1FulfillmentMethod_universal_d_queryFulfillmentMethods as queryFulfillmentMethods,\n      restaurantsV1FulfillmentMethod_universal_d_QueryFulfillmentMethodsOptions as QueryFulfillmentMethodsOptions,\n      restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodsQueryResult as FulfillmentMethodsQueryResult,\n      restaurantsV1FulfillmentMethod_universal_d_FulfillmentMethodsQueryBuilder as FulfillmentMethodsQueryBuilder,\n      restaurantsV1FulfillmentMethod_universal_d_listFulfillmentMethods as listFulfillmentMethods,\n      restaurantsV1FulfillmentMethod_universal_d_ListFulfillmentMethodsOptions as ListFulfillmentMethodsOptions,\n      restaurantsV1FulfillmentMethod_universal_d_listAvailableFulfillmentMethodsForAddress as listAvailableFulfillmentMethodsForAddress,\n      restaurantsV1FulfillmentMethod_universal_d_ListAvailableFulfillmentMethodsForAddressOptions as ListAvailableFulfillmentMethodsForAddressOptions,\n      restaurantsV1FulfillmentMethod_universal_d_listActiveFulfillmentMethods as listActiveFulfillmentMethods,\n      restaurantsV1FulfillmentMethod_universal_d_ListActiveFulfillmentMethodsOptions as ListActiveFulfillmentMethodsOptions,\n      restaurantsV1FulfillmentMethod_universal_d_getAccumulatedFulfillmentMethodsAvailability as getAccumulatedFulfillmentMethodsAvailability,\n      restaurantsV1FulfillmentMethod_universal_d_GetAccumulatedFulfillmentMethodsAvailabilityOptions as GetAccumulatedFulfillmentMethodsAvailabilityOptions,\n      restaurantsV1FulfillmentMethod_universal_d_getCombinedMethodAvailability as getCombinedMethodAvailability,\n    };\n  }\n  \n  interface Rule extends RuleValueOneOf, RuleRequirementsOneOf, RuleConditionsOneOf, RuleConditionTypeOptionsOneOf, RuleTaxesOneOf {\n      /**\n       * Fixed fee. Must hold a positive value.\n       * @deprecated Fixed fee. Must hold a positive value.\n       * @replacedBy fixed_fee\n       * @targetRemovalDate 2024-02-15\n       */\n      amount?: Money;\n      /**\n       * Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\n       * @deprecated\n       * @replacedBy percentage_fee\n       * @targetRemovalDate 2024-02-15\n       */\n      percentage?: string | null;\n      /** Fixed fee. Must hold a positive value. */\n      fixedFee?: CommonMoney;\n      /**\n       * Percentage fee. For example, 5 represents a 5% fee applied to the order's total.\n       *\n       * Min: `0`.\n       *\n       * Max: `100`.\n       */\n      percentageFee?: string | null;\n      /**\n       * Single condition that must be met for the rule to be applied to an order.\n       * @deprecated Single condition that must be met for the rule to be applied to an order.\n       * @replacedBy condition_options\n       * @targetRemovalDate 2024-02-15\n       */\n      condition?: Condition;\n      /**\n       * Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.\n       * @deprecated Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.\n       * @replacedBy condition_tree_options\n       * @targetRemovalDate 2024-02-15\n       */\n      conditionTree?: ConditionTree;\n      /** Single condition that must be met for the rule to be applied to an order. */\n      conditionOptions?: Condition;\n      /** Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order. */\n      conditionTreeOptions?: ConditionTree;\n      /** Percentage value to apply as a custom tax rate. Range: [0-100]. */\n      customTaxRate?: string | null;\n      /** Tax group ID. Internal only. */\n      taxGroupId?: string | null;\n      /**\n       * Rule ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the restaurant’s [location](/locations/introduction). */\n      locationId?: string | null;\n      /** Rule name. */\n      name?: string | null;\n      /**\n       * Date and time the rule was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the rule was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Percentage value to apply as a custom tax rate. For example, `5` respresents a 5% fee applied to the order's total. <br />\n       * Min: '0'. <br />\n       * Max: `100`.\n       * @deprecated\n       * @replacedBy taxes\n       * @targetRemovalDate 2023-09-16\n       */\n      taxRate?: string | null;\n      /**\n       * Specifies the type of condition.\n       * @deprecated Specifies the type of condition.\n       * @replacedBy condition_type\n       * @targetRemovalDate 2024-02-15\n       */\n      conditionsType?: ConditionsType;\n      /** Specifies the type of condition. */\n      conditionType?: ConditionType;\n      /** Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated. */\n      enabled?: boolean | null;\n      /**\n       * Revision number. Increments by 1 each time the rule is updated.\n       * To prevent conflicting changes, the existing `revision` must be used when updating a rule.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * DEPRECATED. Defines the app that the rule is connected to.\n       * @deprecated DEPRECATED. Defines the app that the rule is connected to.\n       * @replacedBy app_id\n       * @targetRemovalDate 2023-02-19\n       */\n      label?: string | null;\n      /** Defines the app that the rule is connected to. */\n      appId?: string | null;\n      /**\n       * Rounding strategy to apply to fee and tax calculation.\n       *\n       * Supported values:\n       *\n       * - `\"HALF_UP\"`: Rounds up any number exactly halfway between two integers. For example, `2.5` rounds to `3`, and `3.5` and rounds to `4`.\n       * - `\"HALF_EVEN\"`: Rounds such numbers to the nearest even integer. For example, `2.5` rounds to `2`, but `3.5` rounds to `4`.\n       * - `\"UNKNOWN_ROUNDING_STRATEGY\"`\n       */\n      roundingStrategy?: RoundingStrategy;\n  }\n  /** @oneof */\n  interface RuleValueOneOf {\n      /**\n       * Fixed fee. Must hold a positive value.\n       * @deprecated Fixed fee. Must hold a positive value.\n       * @replacedBy fixed_fee\n       * @targetRemovalDate 2024-02-15\n       */\n      amount?: Money;\n      /**\n       * Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\n       * @deprecated\n       * @replacedBy percentage_fee\n       * @targetRemovalDate 2024-02-15\n       */\n      percentage?: string | null;\n  }\n  /** @oneof */\n  interface RuleRequirementsOneOf {\n      /** Fixed fee. Must hold a positive value. */\n      fixedFee?: CommonMoney;\n      /**\n       * Percentage fee. For example, 5 represents a 5% fee applied to the order's total.\n       *\n       * Min: `0`.\n       *\n       * Max: `100`.\n       */\n      percentageFee?: string | null;\n  }\n  /** @oneof */\n  interface RuleConditionsOneOf {\n      /**\n       * Single condition that must be met for the rule to be applied to an order.\n       * @deprecated Single condition that must be met for the rule to be applied to an order.\n       * @replacedBy condition_options\n       * @targetRemovalDate 2024-02-15\n       */\n      condition?: Condition;\n      /**\n       * Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.\n       * @deprecated Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.\n       * @replacedBy condition_tree_options\n       * @targetRemovalDate 2024-02-15\n       */\n      conditionTree?: ConditionTree;\n  }\n  /** @oneof */\n  interface RuleConditionTypeOptionsOneOf {\n      /** Single condition that must be met for the rule to be applied to an order. */\n      conditionOptions?: Condition;\n      /** Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order. */\n      conditionTreeOptions?: ConditionTree;\n  }\n  /** @oneof */\n  interface RuleTaxesOneOf {\n      /** Percentage value to apply as a custom tax rate. Range: [0-100]. */\n      customTaxRate?: string | null;\n      /** Tax group ID. Internal only. */\n      taxGroupId?: string | null;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface CommonMoney {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface Condition extends ConditionValueOneOf {\n      /**\n       * Contains a numeric value and an operation.\n       *\n       * Required if `expectedFieldType` is `NUMBER`.\n       */\n      number?: _Number;\n      /**\n       * Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\n       *\n       * Required if `expectedFieldType` is `LIST`.\n       */\n      list?: List;\n      /**\n       * Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.\n       * @deprecated\n       * @replacedBy order_field_path\n       * @targetRemovalDate 2024-02-15\n       */\n      path?: string;\n      /** Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`. */\n      orderFieldPath?: string;\n      /**\n       * Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).\n       * @deprecated Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).\n       * @replacedBy expected_field_type\n       * @targetRemovalDate 2024-02-15\n       */\n      expectedType?: ExpectedType;\n      /** Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`). */\n      expectedFieldType?: ExpectedFieldType;\n  }\n  /** @oneof */\n  interface ConditionValueOneOf {\n      /**\n       * Contains a numeric value and an operation.\n       *\n       * Required if `expectedFieldType` is `NUMBER`.\n       */\n      number?: _Number;\n      /**\n       * Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\n       *\n       * Required if `expectedFieldType` is `LIST`.\n       */\n      list?: List;\n  }\n  interface ExpectedType {\n      /** Type of the field specified in `orderFieldPath`. */\n      value?: Value;\n  }\n  enum Value {\n      /** Represents a number value. */\n      NUMBER = \"NUMBER\",\n      /** Represents a list of strings values - Not supported yet. */\n      LIST = \"LIST\",\n      /** Represents a string value. */\n      STRING = \"STRING\"\n  }\n  enum ExpectedFieldType {\n      /** Unknown expected field type */\n      UNKNOWN_EXPECTED_FIELD_TYPE = \"UNKNOWN_EXPECTED_FIELD_TYPE\",\n      /** Represents a number value. */\n      NUMBER = \"NUMBER\",\n      /** Represents a list of strings values - Not supported yet. */\n      LIST = \"LIST\",\n      /** Represents a string value. */\n      STRING = \"STRING\"\n  }\n  interface _Number {\n      /** Numeric value to compare with the value of the specified field. */\n      value?: number;\n      /**\n       * Operation to use.\n       *\n       * Supported values:\n       *\n       * - `\"EQ\"`: Equal to.\n       * - `\"LT\"`: Strictly less than.\n       * - `\"LE\"`: Less than or equal to.\n       * - `\"GT\"`: Strictly greater than.\n       * - `\"GE\"`: Greater than or equal to.\n       */\n      operation?: Operation;\n  }\n  enum Operation {\n      /** Equal to. */\n      EQ = \"EQ\",\n      /** Strictly less than. */\n      LT = \"LT\",\n      /** Less than or equal to. */\n      LE = \"LE\",\n      /** Strictly greater than. */\n      GT = \"GT\",\n      /** Greater than or equal to. */\n      GE = \"GE\"\n  }\n  interface List {\n      /** Array of string values to compare with the value of the field. If the value of the fields matches a string in the array, the condition is considered met. */\n      values?: string[];\n  }\n  /** Used to represent a logical condition in the form of a tree structure. */\n  interface ConditionTree extends ConditionTreeLeftConditionNodeOneOf, ConditionTreeRightConditionNodeOneOf {\n      /** Single condition that must be met for the rule to be applied to an order. */\n      leftCondition?: Condition;\n      /** Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order. */\n      leftConditionsTree?: ConditionTree;\n      /** Single condition that must be met for the rule to be applied to an order. */\n      rightCondition?: Condition;\n      /** Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order. */\n      rightConditionsTree?: ConditionTree;\n      /** Specifies the logical operator to use when combining the evaluation of the left and right conditions. */\n      operator?: Operator;\n  }\n  /** @oneof */\n  interface ConditionTreeLeftConditionNodeOneOf {\n      /** Single condition that must be met for the rule to be applied to an order. */\n      leftCondition?: Condition;\n      /** Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order. */\n      leftConditionsTree?: ConditionTree;\n  }\n  /** @oneof */\n  interface ConditionTreeRightConditionNodeOneOf {\n      /** Single condition that must be met for the rule to be applied to an order. */\n      rightCondition?: Condition;\n      /** Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order. */\n      rightConditionsTree?: ConditionTree;\n  }\n  enum Operator {\n      /** The condition is true if both the left and right sides are true. */\n      AND = \"AND\",\n      /** The condition is true if either the left or right side is true. */\n      OR = \"OR\"\n  }\n  enum ConditionsType {\n      /** Indicates that the Rule has no conditions specified. */\n      NO_CONDITIONS = \"NO_CONDITIONS\",\n      /** Indicates that the Rule has a single Condition. */\n      CONDITION = \"CONDITION\",\n      /** Indicates that the Rule has a complex condition specified as a ConditionTree. */\n      CONDITION_TREE = \"CONDITION_TREE\"\n  }\n  enum ConditionType {\n      /** Indicates that the Rule has no conditions specified. */\n      UNDEFINED_CONDITION_TYPE = \"UNDEFINED_CONDITION_TYPE\",\n      /** Indicates that the Rule has a single Condition. */\n      CONDITION = \"CONDITION\",\n      /** Indicates that the Rule has a complex condition specified as a ConditionTree. */\n      CONDITION_TREE = \"CONDITION_TREE\"\n  }\n  enum RoundingStrategy {\n      /** Unknown rounding strategy */\n      UNKNOWN_ROUNDING_STRATEGY = \"UNKNOWN_ROUNDING_STRATEGY\",\n      /** Half-up rounding strategy - relevant for fee and percentage fee calculation. */\n      HALF_UP = \"HALF_UP\",\n      /** Half-even rounding strategy - relevant for fee and percentage fee calculation. */\n      HALF_EVEN = \"HALF_EVEN\"\n  }\n  interface CalculateServiceFeesRequest {\n      /** Order information needed to evaluate the rules and calculate the relevant fees. */\n      order: Order;\n      /**\n       * DEPRECATED. Defines the app that the rule is connected to.\n       * @deprecated DEPRECATED. Defines the app that the rule is connected to.\n       * @replacedBy app_id\n       * @targetRemovalDate 2023-02-19\n       */\n      label?: string | null;\n      /** Defines the app that the rule is connected to. */\n      appId?: string | null;\n  }\n  interface Order {\n      /**\n       * Order ID.\n       * @readonly\n       */\n      _id?: string;\n      /** ID of the site's location. */\n      locationId?: string | null;\n      /** Currency used for pricing on the site. */\n      currency?: string | null;\n      /** Information about the price of the order. */\n      priceSummary?: PriceSummary;\n      /** Order's shipping information. */\n      shippingInfo?: ShippingInformation;\n      /** Platform on which the order was placed. */\n      platform?: Platform;\n      /** Order's locale. */\n      locale?: Locale;\n  }\n  interface PriceSummary {\n      /** Subtotal of the order. */\n      subtotal?: string;\n  }\n  interface ShippingInformation {\n      /** Information about the type of delivery. For example, pick-up. */\n      logistics?: DeliveryLogistics;\n  }\n  interface DeliveryLogistics {\n      /**\n       * Type of delivery.\n       *\n       * Supported values:\n       * - `\"UNSPECIFIED_FULFILLMENT_TYPE\"`\n       * - `\"PICKUP\"`\n       * - `\"DELIVERY\"`\n       * - `\"DINE_IN\"`\n       * - `\"CURBSIDE_PICKUP\"`\n       */\n      type?: Type;\n  }\n  enum Type {\n      /** Missing type due to an error. */\n      UNSPECIFIED_FULFILLMENT_TYPE = \"UNSPECIFIED_FULFILLMENT_TYPE\",\n      /** Pickup */\n      PICKUP = \"PICKUP\",\n      /** Delivery */\n      DELIVERY = \"DELIVERY\",\n      /** Dine-in */\n      DINE_IN = \"DINE_IN\",\n      /** Curbside-pickup */\n      CURBSIDE_PICKUP = \"CURBSIDE_PICKUP\"\n  }\n  interface Platform {\n      /**\n       * Platform on which the order was placed.\n       *\n       * Supported values:\n       * - `\"SITE\"`\n       * - `\"MOBILE_SITE\"`\n       * - `\"MOBILE_APP\"`\n       */\n      value?: PlatformValue;\n  }\n  enum PlatformValue {\n      /** Site */\n      SITE = \"SITE\",\n      /** Mobile site */\n      MOBILE_SITE = \"MOBILE_SITE\",\n      /** Mobile app */\n      MOBILE_APP = \"MOBILE_APP\"\n  }\n  interface Locale {\n      /**\n       * Locale in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n       * Typically, this is a lowercase 2-letter language code,\n       * followed by a hyphen, followed by an uppercase 2-letter country code.\n       * For example, `en-US` for U.S. English, and `de-DE` for Germany German.\n       */\n      languageCode?: string | null;\n      /** 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string | null;\n  }\n  interface CalculateServiceFeesResponse {\n      /** A list of calculated fees based on rules evaluation. */\n      calculatedFees?: CalculatedFee[];\n  }\n  interface CalculatedFee {\n      /** The ID of the rule that was used to calculate the fee. */\n      ruleId?: string;\n      /**\n       * The name of the rule that was used to calculate the fee.\n       * @readonly\n       */\n      name?: string;\n      /** Fee amount. */\n      fee?: CommonMoney;\n      /** Tax amount. */\n      tax?: CommonMoney;\n      /** Tax group ID. This is an alternative to calculating the tax amount manually. */\n      taxGroupId?: string | null;\n  }\n  interface CreateRuleRequest {\n      /** Rule to create. */\n      rule: Rule;\n  }\n  interface CreateRuleResponse {\n      /** Created rule */\n      rule?: Rule;\n  }\n  interface GetRuleRequest {\n      /** ID of the rule to retrieve. */\n      ruleId: string;\n  }\n  interface GetRuleResponse {\n      /** The retrieved rule. */\n      rule?: Rule;\n  }\n  interface UpdateRuleRequest {\n      /** Rule to update. */\n      rule: Rule;\n      /**\n       * List of fields to update in the rule.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateRuleResponse {\n      /** Updated rule. */\n      rule?: Rule;\n  }\n  interface DeleteRuleRequest {\n      /** ID of the rule to delete. */\n      ruleId: string;\n  }\n  interface DeleteRuleResponse {\n  }\n  interface ListRulesRequest {\n      /** Retrieve only rule that apply at the [location](https://dev.wix.com/docs/rest/api-reference/business-tools/locations/location-object) with this ID. If this field is `null`, the rules will not be filtered by location. */\n      locationId?: string | null;\n      /**\n       * DEPRECATED. Defines the app that the rule is connected to.\n       * @deprecated DEPRECATED. Defines the app that the rule is connected to.\n       * @replacedBy app_id\n       * @targetRemovalDate 2023-02-19\n       */\n      label?: string | null;\n      /** Defines the app that the rule is connected to. */\n      appId?: string | null;\n  }\n  interface ListRulesResponse {\n      /** Array containing the retrieved rules. */\n      rules?: Rule[];\n  }\n  interface QueryRulesRequest {\n      /** Query options. */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n       * for more information.\n       *\n       * For a detailed list of supported filters, see\n       * [Supported Filters](/supported-filters-and-sorting).\n       */\n      filter?: Record<string, any> | null;\n      /** Sort object. */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /**\n       * Sort order.\n       *\n       * Supported values:\n       * - `\"ASC\"`\n       * - `\"DESC\"`\n       */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /**\n       * Number of items to load. <br />\n       * Default: `50`\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryRulesResponse {\n      /** The retrieved rules. */\n      rules?: Rule[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkCreateRulesRequest {\n      /** Rules to create. */\n      rules: Rule[];\n      /**\n       * Whether the full rule entity is returned. <br />\n       * Default: `false`.\n       */\n      returnFullEntity?: boolean;\n  }\n  interface BulkCreateRulesResponse {\n      /** The created rules. Omitted if `returnFullEntity` is set to false. */\n      results?: BulkRuleResult[];\n      /** Bulk Create Rule metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkRuleResult {\n      /** Metadata of the rule. */\n      itemMetadata?: ItemMetadata;\n      /** The created rule. */\n      rule?: Rule;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateRulesRequest {\n      /** Masked rules to update. */\n      rules: MaskedRule[];\n      /**\n       * Whether the full rule entity is returned. <br />\n       * Default: `false`.\n       */\n      returnFullEntity?: boolean;\n  }\n  interface MaskedRule {\n      /** Rule to update. */\n      rule?: Rule;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface BulkUpdateRulesResponse {\n      /** The updated rules. Omitted if `returnFullEntity` is set to false. */\n      results?: BulkRuleResult[];\n      /** Bulk Update Rule metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteRulesRequest {\n      /** IDs of the rules to delete. */\n      ruleIds: string[];\n  }\n  interface BulkDeleteRulesResponse {\n      /** Information about the deleted rules. */\n      results?: BulkRuleResult[];\n      /** Bulk Delete Rule metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * The `calculateServiceFees()` function returns a Promise that resolves to an array containing the calculated fees.\n   *\n   *\n   * The specified order information is evaluated against all rules created for the site. If the rule conditions are met, the service fee set in the rule is applied. Otherwise, no service fee is added.\n   * @param order - Order information needed to evaluate the rules and calculate the relevant fees.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField order\n   * @requiredField order.currency\n   * @requiredField order.priceSummary\n   * @permissionId WIX_RESTAURANTS.SERVICE_FEES_READ\n   */\n  function calculateServiceFees(order: Order, options?: CalculateServiceFeesOptions): Promise<CalculateServiceFeesResponse>;\n  interface CalculateServiceFeesOptions {\n      /**\n       * DEPRECATED. Defines the app that the rule is connected to.\n       * @deprecated DEPRECATED. Defines the app that the rule is connected to.\n       * @replacedBy app_id\n       * @targetRemovalDate 2023-02-19\n       */\n      label?: string | null;\n      /** Defines the app that the rule is connected to. */\n      appId?: string | null;\n  }\n  /**\n   * The `createRule()` function returns a Promise that resolves to the created rule.\n   *\n   *\n   * To create multiple rules at once, use the `bulkCreateRules()` function.\n   * @param rule - Rule to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rule\n   * @requiredField rule.enabled\n   * @requiredField rule.name\n   * @permissionId WIX_RESTAURANTS.SERVICE_FEES_RULES_CREATE\n   * @adminMethod\n   * @returns Created rule\n   */\n  function createRule(rule: Rule): Promise<Rule>;\n  /**\n   * The `createRule()` function returns a Promise that resolves to the retrieved rule.\n   * @param ruleId - ID of the rule to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ruleId\n   * @permissionId WIX_RESTAURANTS.SERVICE_FEES_RULES_READ\n   * @returns The retrieved rule.\n   */\n  function getRule(ruleId: string): Promise<Rule>;\n  /**\n   * The `updateRule()` function returns a Promise that resolves to the updated rule.\n   *\n   *\n   * Each time the task is updated, `revision` increments by 1. The existing `revision` must be included when updating the task. This ensures you're working with the latest task and prevents unintended overwrites.\n   *\n   * To update multiple rules at once, use the `bulkUpdateRules()` function.\n   * @param _id - Rule ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField rule\n   * @requiredField rule.revision\n   * @permissionId WIX_RESTAURANTS.SERVICE_FEES_RULES_UPDATE\n   * @adminMethod\n   * @returns Updated rule.\n   */\n  function updateRule(_id: string | null, rule: UpdateRule, options?: UpdateRuleOptions): Promise<Rule>;\n  interface UpdateRule {\n      /**\n       * Fixed fee. Must hold a positive value.\n       * @deprecated Fixed fee. Must hold a positive value.\n       * @replacedBy fixed_fee\n       * @targetRemovalDate 2024-02-15\n       */\n      amount?: Money;\n      /**\n       * Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\n       * @deprecated\n       * @replacedBy percentage_fee\n       * @targetRemovalDate 2024-02-15\n       */\n      percentage?: string | null;\n      /** Fixed fee. Must hold a positive value. */\n      fixedFee?: CommonMoney;\n      /**\n       * Percentage fee. For example, 5 represents a 5% fee applied to the order's total.\n       *\n       * Min: `0`.\n       *\n       * Max: `100`.\n       */\n      percentageFee?: string | null;\n      /**\n       * Single condition that must be met for the rule to be applied to an order.\n       * @deprecated Single condition that must be met for the rule to be applied to an order.\n       * @replacedBy condition_options\n       * @targetRemovalDate 2024-02-15\n       */\n      condition?: Condition;\n      /**\n       * Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.\n       * @deprecated Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.\n       * @replacedBy condition_tree_options\n       * @targetRemovalDate 2024-02-15\n       */\n      conditionTree?: ConditionTree;\n      /** Single condition that must be met for the rule to be applied to an order. */\n      conditionOptions?: Condition;\n      /** Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order. */\n      conditionTreeOptions?: ConditionTree;\n      /** Percentage value to apply as a custom tax rate. Range: [0-100]. */\n      customTaxRate?: string | null;\n      /** Tax group ID. Internal only. */\n      taxGroupId?: string | null;\n      /**\n       * Rule ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the restaurant’s [location](/locations/introduction). */\n      locationId?: string | null;\n      /** Rule name. */\n      name?: string | null;\n      /**\n       * Date and time the rule was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the rule was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Percentage value to apply as a custom tax rate. For example, `5` respresents a 5% fee applied to the order's total. <br />\n       * Min: '0'. <br />\n       * Max: `100`.\n       * @deprecated\n       * @replacedBy taxes\n       * @targetRemovalDate 2023-09-16\n       */\n      taxRate?: string | null;\n      /**\n       * Specifies the type of condition.\n       * @deprecated Specifies the type of condition.\n       * @replacedBy condition_type\n       * @targetRemovalDate 2024-02-15\n       */\n      conditionsType?: ConditionsType;\n      /** Specifies the type of condition. */\n      conditionType?: ConditionType;\n      /** Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated. */\n      enabled?: boolean | null;\n      /**\n       * Revision number. Increments by 1 each time the rule is updated.\n       * To prevent conflicting changes, the existing `revision` must be used when updating a rule.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * DEPRECATED. Defines the app that the rule is connected to.\n       * @deprecated DEPRECATED. Defines the app that the rule is connected to.\n       * @replacedBy app_id\n       * @targetRemovalDate 2023-02-19\n       */\n      label?: string | null;\n      /** Defines the app that the rule is connected to. */\n      appId?: string | null;\n      /**\n       * Rounding strategy to apply to fee and tax calculation.\n       *\n       * Supported values:\n       *\n       * - `\"HALF_UP\"`: Rounds up any number exactly halfway between two integers. For example, `2.5` rounds to `3`, and `3.5` and rounds to `4`.\n       * - `\"HALF_EVEN\"`: Rounds such numbers to the nearest even integer. For example, `2.5` rounds to `2`, but `3.5` rounds to `4`.\n       * - `\"UNKNOWN_ROUNDING_STRATEGY\"`\n       */\n      roundingStrategy?: RoundingStrategy;\n  }\n  interface UpdateRuleOptions {\n      /**\n       * List of fields to update in the rule.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * The `deleteRule()` function returns a Promise that resolves to void.\n   *\n   *\n   * To delete multiple rules at once, use the `bulkDeleteRules()` function.\n   * @param ruleId - ID of the rule to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ruleId\n   * @permissionId WIX_RESTAURANTS.SERVICE_FEES_RULES_DELETE\n   * @adminMethod\n   */\n  function deleteRule(ruleId: string): Promise<void>;\n  /**\n   * The `listRules()` function returns a Promise that resolves to an array of the retrieved rules.\n   *\n   *\n   * You can filter by location or app that the rules are associated with.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.SERVICE_FEES_RULES_READ\n   */\n  function listRules(options?: ListRulesOptions): Promise<ListRulesResponse>;\n  interface ListRulesOptions {\n      /** Retrieve only rule that apply at the [location](https://dev.wix.com/docs/rest/api-reference/business-tools/locations/location-object) with this ID. If this field is `null`, the rules will not be filtered by location. */\n      locationId?: string | null;\n      /**\n       * DEPRECATED. Defines the app that the rule is connected to.\n       * @deprecated DEPRECATED. Defines the app that the rule is connected to.\n       * @replacedBy app_id\n       * @targetRemovalDate 2023-02-19\n       */\n      label?: string | null;\n      /** Defines the app that the rule is connected to. */\n      appId?: string | null;\n  }\n  /**\n   * Creates a query to retrieve a list of rules.\n   *\n   *\n   * The `queryRules()` function builds a query to retrieve a list of up to 1,000 rules and returns a `RulesQueryBuilder` object.\n   *\n   * The returned object contains the query definition which is typically used to run the query using the [`find()`](/service-fees/rules-query-builder/find) function.\n   *\n   * You can refine the query by chaining `RulesQueryBuilder` functions onto the query. `RulesQueryBuilder` functions enable you to sort, filter, and control the results that `queryRules()` returns. The functions that are chained to `queryRules()` are applied in the order they are called.\n   *\n   * `queryRules()` runs with the following `RulesQueryBuilder` defaults that you can override:\n   *\n   * * [`limit(50)`](/service-fees/rules-query-builder/limit)\n   * * [`ascending('entityId')`](/service-fees/rules-query-builder/ascending)\n   *\n   * The following `QueryRulesBuilder` functions are supported for the `queryRules()` function. For a full description of the Rules object, see the object returned for the [`items`](/service-fees/rules-query-builder/items) property in `RulesQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_RESTAURANTS.SERVICE_FEES_RULES_READ\n   */\n  function queryRules(): RulesQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface RulesQueryResult extends QueryCursorResult {\n      items: Rule[];\n      query: RulesQueryBuilder;\n      next: () => Promise<RulesQueryResult>;\n      prev: () => Promise<RulesQueryResult>;\n  }\n  interface RulesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id', value: any) => RulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => RulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id', value: string) => RulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id', value: any[]) => RulesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id', value: any) => RulesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id', value: boolean) => RulesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id'>) => RulesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id'>) => RulesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => RulesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => RulesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<RulesQueryResult>;\n  }\n  /**\n   * The `bulkCreateRules()` function returns a Promise that resolves to the created rules.\n   *\n   *\n   * To create only one rule, use the `createRule()` function.\n   * @param rules - Rules to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rules\n   * @permissionId WIX_RESTAURANTS.SERVICE_FEES_RULES_CREATE\n   * @adminMethod\n   */\n  function bulkCreateRules(rules: Rule[], options?: BulkCreateRulesOptions): Promise<BulkCreateRulesResponse>;\n  interface BulkCreateRulesOptions {\n      /**\n       * Whether the full rule entity is returned. <br />\n       * Default: `false`.\n       */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * The `bulkUpdateRules()` function returns a Promise that resolves to the updated rules.\n   *\n   *\n   * Each time the task is updated, `revision` increments by 1. The existing `revision` must be included when updating the task. This ensures you're working with the latest task and prevents unintended overwrites.\n   *\n   * To update only one rule, use the `updateRule()` function.\n   * @param rules - Masked rules to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rules\n   * @permissionId WIX_RESTAURANTS.SERVICE_FEES_RULES_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateRules(rules: MaskedRule[], options?: BulkUpdateRulesOptions): Promise<BulkUpdateRulesResponse>;\n  interface BulkUpdateRulesOptions {\n      /**\n       * Whether the full rule entity is returned. <br />\n       * Default: `false`.\n       */\n      returnFullEntity?: boolean;\n  }\n  /**\n   * The `bulkDeleteRules()` function returns a Promise that resolves to the deleted rules.\n   *\n   *\n   * To delete only one rule, use the `deleteRule()` function.\n   * @param ruleIds - IDs of the rules to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ruleIds\n   * @permissionId WIX_RESTAURANTS.SERVICE_FEES_RULES_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteRules(ruleIds: string[]): Promise<BulkDeleteRulesResponse>;\n  \n  type serviceFeesV1Rule_universal_d_Rule = Rule;\n  type serviceFeesV1Rule_universal_d_RuleValueOneOf = RuleValueOneOf;\n  type serviceFeesV1Rule_universal_d_RuleRequirementsOneOf = RuleRequirementsOneOf;\n  type serviceFeesV1Rule_universal_d_RuleConditionsOneOf = RuleConditionsOneOf;\n  type serviceFeesV1Rule_universal_d_RuleConditionTypeOptionsOneOf = RuleConditionTypeOptionsOneOf;\n  type serviceFeesV1Rule_universal_d_RuleTaxesOneOf = RuleTaxesOneOf;\n  type serviceFeesV1Rule_universal_d_Money = Money;\n  type serviceFeesV1Rule_universal_d_CommonMoney = CommonMoney;\n  type serviceFeesV1Rule_universal_d_Condition = Condition;\n  type serviceFeesV1Rule_universal_d_ConditionValueOneOf = ConditionValueOneOf;\n  type serviceFeesV1Rule_universal_d_ExpectedType = ExpectedType;\n  type serviceFeesV1Rule_universal_d_Value = Value;\n  const serviceFeesV1Rule_universal_d_Value: typeof Value;\n  type serviceFeesV1Rule_universal_d_ExpectedFieldType = ExpectedFieldType;\n  const serviceFeesV1Rule_universal_d_ExpectedFieldType: typeof ExpectedFieldType;\n  type serviceFeesV1Rule_universal_d__Number = _Number;\n  type serviceFeesV1Rule_universal_d_Operation = Operation;\n  const serviceFeesV1Rule_universal_d_Operation: typeof Operation;\n  type serviceFeesV1Rule_universal_d_List = List;\n  type serviceFeesV1Rule_universal_d_ConditionTree = ConditionTree;\n  type serviceFeesV1Rule_universal_d_ConditionTreeLeftConditionNodeOneOf = ConditionTreeLeftConditionNodeOneOf;\n  type serviceFeesV1Rule_universal_d_ConditionTreeRightConditionNodeOneOf = ConditionTreeRightConditionNodeOneOf;\n  type serviceFeesV1Rule_universal_d_Operator = Operator;\n  const serviceFeesV1Rule_universal_d_Operator: typeof Operator;\n  type serviceFeesV1Rule_universal_d_ConditionsType = ConditionsType;\n  const serviceFeesV1Rule_universal_d_ConditionsType: typeof ConditionsType;\n  type serviceFeesV1Rule_universal_d_ConditionType = ConditionType;\n  const serviceFeesV1Rule_universal_d_ConditionType: typeof ConditionType;\n  type serviceFeesV1Rule_universal_d_RoundingStrategy = RoundingStrategy;\n  const serviceFeesV1Rule_universal_d_RoundingStrategy: typeof RoundingStrategy;\n  type serviceFeesV1Rule_universal_d_CalculateServiceFeesRequest = CalculateServiceFeesRequest;\n  type serviceFeesV1Rule_universal_d_Order = Order;\n  type serviceFeesV1Rule_universal_d_PriceSummary = PriceSummary;\n  type serviceFeesV1Rule_universal_d_ShippingInformation = ShippingInformation;\n  type serviceFeesV1Rule_universal_d_DeliveryLogistics = DeliveryLogistics;\n  type serviceFeesV1Rule_universal_d_Type = Type;\n  const serviceFeesV1Rule_universal_d_Type: typeof Type;\n  type serviceFeesV1Rule_universal_d_Platform = Platform;\n  type serviceFeesV1Rule_universal_d_PlatformValue = PlatformValue;\n  const serviceFeesV1Rule_universal_d_PlatformValue: typeof PlatformValue;\n  type serviceFeesV1Rule_universal_d_Locale = Locale;\n  type serviceFeesV1Rule_universal_d_CalculateServiceFeesResponse = CalculateServiceFeesResponse;\n  type serviceFeesV1Rule_universal_d_CalculatedFee = CalculatedFee;\n  type serviceFeesV1Rule_universal_d_CreateRuleRequest = CreateRuleRequest;\n  type serviceFeesV1Rule_universal_d_CreateRuleResponse = CreateRuleResponse;\n  type serviceFeesV1Rule_universal_d_GetRuleRequest = GetRuleRequest;\n  type serviceFeesV1Rule_universal_d_GetRuleResponse = GetRuleResponse;\n  type serviceFeesV1Rule_universal_d_UpdateRuleRequest = UpdateRuleRequest;\n  type serviceFeesV1Rule_universal_d_UpdateRuleResponse = UpdateRuleResponse;\n  type serviceFeesV1Rule_universal_d_DeleteRuleRequest = DeleteRuleRequest;\n  type serviceFeesV1Rule_universal_d_DeleteRuleResponse = DeleteRuleResponse;\n  type serviceFeesV1Rule_universal_d_ListRulesRequest = ListRulesRequest;\n  type serviceFeesV1Rule_universal_d_ListRulesResponse = ListRulesResponse;\n  type serviceFeesV1Rule_universal_d_QueryRulesRequest = QueryRulesRequest;\n  type serviceFeesV1Rule_universal_d_CursorQuery = CursorQuery;\n  type serviceFeesV1Rule_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type serviceFeesV1Rule_universal_d_Sorting = Sorting;\n  type serviceFeesV1Rule_universal_d_SortOrder = SortOrder;\n  const serviceFeesV1Rule_universal_d_SortOrder: typeof SortOrder;\n  type serviceFeesV1Rule_universal_d_CursorPaging = CursorPaging;\n  type serviceFeesV1Rule_universal_d_QueryRulesResponse = QueryRulesResponse;\n  type serviceFeesV1Rule_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type serviceFeesV1Rule_universal_d_Cursors = Cursors;\n  type serviceFeesV1Rule_universal_d_BulkCreateRulesRequest = BulkCreateRulesRequest;\n  type serviceFeesV1Rule_universal_d_BulkCreateRulesResponse = BulkCreateRulesResponse;\n  type serviceFeesV1Rule_universal_d_BulkRuleResult = BulkRuleResult;\n  type serviceFeesV1Rule_universal_d_ItemMetadata = ItemMetadata;\n  type serviceFeesV1Rule_universal_d_ApplicationError = ApplicationError;\n  type serviceFeesV1Rule_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type serviceFeesV1Rule_universal_d_BulkUpdateRulesRequest = BulkUpdateRulesRequest;\n  type serviceFeesV1Rule_universal_d_MaskedRule = MaskedRule;\n  type serviceFeesV1Rule_universal_d_BulkUpdateRulesResponse = BulkUpdateRulesResponse;\n  type serviceFeesV1Rule_universal_d_BulkDeleteRulesRequest = BulkDeleteRulesRequest;\n  type serviceFeesV1Rule_universal_d_BulkDeleteRulesResponse = BulkDeleteRulesResponse;\n  type serviceFeesV1Rule_universal_d_DomainEvent = DomainEvent;\n  type serviceFeesV1Rule_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type serviceFeesV1Rule_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type serviceFeesV1Rule_universal_d_RestoreInfo = RestoreInfo;\n  type serviceFeesV1Rule_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type serviceFeesV1Rule_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type serviceFeesV1Rule_universal_d_ActionEvent = ActionEvent;\n  type serviceFeesV1Rule_universal_d_MessageEnvelope = MessageEnvelope;\n  type serviceFeesV1Rule_universal_d_IdentificationData = IdentificationData;\n  type serviceFeesV1Rule_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type serviceFeesV1Rule_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const serviceFeesV1Rule_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const serviceFeesV1Rule_universal_d_calculateServiceFees: typeof calculateServiceFees;\n  type serviceFeesV1Rule_universal_d_CalculateServiceFeesOptions = CalculateServiceFeesOptions;\n  const serviceFeesV1Rule_universal_d_createRule: typeof createRule;\n  const serviceFeesV1Rule_universal_d_getRule: typeof getRule;\n  const serviceFeesV1Rule_universal_d_updateRule: typeof updateRule;\n  type serviceFeesV1Rule_universal_d_UpdateRule = UpdateRule;\n  type serviceFeesV1Rule_universal_d_UpdateRuleOptions = UpdateRuleOptions;\n  const serviceFeesV1Rule_universal_d_deleteRule: typeof deleteRule;\n  const serviceFeesV1Rule_universal_d_listRules: typeof listRules;\n  type serviceFeesV1Rule_universal_d_ListRulesOptions = ListRulesOptions;\n  const serviceFeesV1Rule_universal_d_queryRules: typeof queryRules;\n  type serviceFeesV1Rule_universal_d_RulesQueryResult = RulesQueryResult;\n  type serviceFeesV1Rule_universal_d_RulesQueryBuilder = RulesQueryBuilder;\n  const serviceFeesV1Rule_universal_d_bulkCreateRules: typeof bulkCreateRules;\n  type serviceFeesV1Rule_universal_d_BulkCreateRulesOptions = BulkCreateRulesOptions;\n  const serviceFeesV1Rule_universal_d_bulkUpdateRules: typeof bulkUpdateRules;\n  type serviceFeesV1Rule_universal_d_BulkUpdateRulesOptions = BulkUpdateRulesOptions;\n  const serviceFeesV1Rule_universal_d_bulkDeleteRules: typeof bulkDeleteRules;\n  namespace serviceFeesV1Rule_universal_d {\n    export {\n      serviceFeesV1Rule_universal_d_Rule as Rule,\n      serviceFeesV1Rule_universal_d_RuleValueOneOf as RuleValueOneOf,\n      serviceFeesV1Rule_universal_d_RuleRequirementsOneOf as RuleRequirementsOneOf,\n      serviceFeesV1Rule_universal_d_RuleConditionsOneOf as RuleConditionsOneOf,\n      serviceFeesV1Rule_universal_d_RuleConditionTypeOptionsOneOf as RuleConditionTypeOptionsOneOf,\n      serviceFeesV1Rule_universal_d_RuleTaxesOneOf as RuleTaxesOneOf,\n      serviceFeesV1Rule_universal_d_Money as Money,\n      serviceFeesV1Rule_universal_d_CommonMoney as CommonMoney,\n      serviceFeesV1Rule_universal_d_Condition as Condition,\n      serviceFeesV1Rule_universal_d_ConditionValueOneOf as ConditionValueOneOf,\n      serviceFeesV1Rule_universal_d_ExpectedType as ExpectedType,\n      serviceFeesV1Rule_universal_d_Value as Value,\n      serviceFeesV1Rule_universal_d_ExpectedFieldType as ExpectedFieldType,\n      serviceFeesV1Rule_universal_d__Number as _Number,\n      serviceFeesV1Rule_universal_d_Operation as Operation,\n      serviceFeesV1Rule_universal_d_List as List,\n      serviceFeesV1Rule_universal_d_ConditionTree as ConditionTree,\n      serviceFeesV1Rule_universal_d_ConditionTreeLeftConditionNodeOneOf as ConditionTreeLeftConditionNodeOneOf,\n      serviceFeesV1Rule_universal_d_ConditionTreeRightConditionNodeOneOf as ConditionTreeRightConditionNodeOneOf,\n      serviceFeesV1Rule_universal_d_Operator as Operator,\n      serviceFeesV1Rule_universal_d_ConditionsType as ConditionsType,\n      serviceFeesV1Rule_universal_d_ConditionType as ConditionType,\n      serviceFeesV1Rule_universal_d_RoundingStrategy as RoundingStrategy,\n      serviceFeesV1Rule_universal_d_CalculateServiceFeesRequest as CalculateServiceFeesRequest,\n      serviceFeesV1Rule_universal_d_Order as Order,\n      serviceFeesV1Rule_universal_d_PriceSummary as PriceSummary,\n      serviceFeesV1Rule_universal_d_ShippingInformation as ShippingInformation,\n      serviceFeesV1Rule_universal_d_DeliveryLogistics as DeliveryLogistics,\n      serviceFeesV1Rule_universal_d_Type as Type,\n      serviceFeesV1Rule_universal_d_Platform as Platform,\n      serviceFeesV1Rule_universal_d_PlatformValue as PlatformValue,\n      serviceFeesV1Rule_universal_d_Locale as Locale,\n      serviceFeesV1Rule_universal_d_CalculateServiceFeesResponse as CalculateServiceFeesResponse,\n      serviceFeesV1Rule_universal_d_CalculatedFee as CalculatedFee,\n      serviceFeesV1Rule_universal_d_CreateRuleRequest as CreateRuleRequest,\n      serviceFeesV1Rule_universal_d_CreateRuleResponse as CreateRuleResponse,\n      serviceFeesV1Rule_universal_d_GetRuleRequest as GetRuleRequest,\n      serviceFeesV1Rule_universal_d_GetRuleResponse as GetRuleResponse,\n      serviceFeesV1Rule_universal_d_UpdateRuleRequest as UpdateRuleRequest,\n      serviceFeesV1Rule_universal_d_UpdateRuleResponse as UpdateRuleResponse,\n      serviceFeesV1Rule_universal_d_DeleteRuleRequest as DeleteRuleRequest,\n      serviceFeesV1Rule_universal_d_DeleteRuleResponse as DeleteRuleResponse,\n      serviceFeesV1Rule_universal_d_ListRulesRequest as ListRulesRequest,\n      serviceFeesV1Rule_universal_d_ListRulesResponse as ListRulesResponse,\n      serviceFeesV1Rule_universal_d_QueryRulesRequest as QueryRulesRequest,\n      serviceFeesV1Rule_universal_d_CursorQuery as CursorQuery,\n      serviceFeesV1Rule_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      serviceFeesV1Rule_universal_d_Sorting as Sorting,\n      serviceFeesV1Rule_universal_d_SortOrder as SortOrder,\n      serviceFeesV1Rule_universal_d_CursorPaging as CursorPaging,\n      serviceFeesV1Rule_universal_d_QueryRulesResponse as QueryRulesResponse,\n      serviceFeesV1Rule_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      serviceFeesV1Rule_universal_d_Cursors as Cursors,\n      serviceFeesV1Rule_universal_d_BulkCreateRulesRequest as BulkCreateRulesRequest,\n      serviceFeesV1Rule_universal_d_BulkCreateRulesResponse as BulkCreateRulesResponse,\n      serviceFeesV1Rule_universal_d_BulkRuleResult as BulkRuleResult,\n      serviceFeesV1Rule_universal_d_ItemMetadata as ItemMetadata,\n      serviceFeesV1Rule_universal_d_ApplicationError as ApplicationError,\n      serviceFeesV1Rule_universal_d_BulkActionMetadata as BulkActionMetadata,\n      serviceFeesV1Rule_universal_d_BulkUpdateRulesRequest as BulkUpdateRulesRequest,\n      serviceFeesV1Rule_universal_d_MaskedRule as MaskedRule,\n      serviceFeesV1Rule_universal_d_BulkUpdateRulesResponse as BulkUpdateRulesResponse,\n      serviceFeesV1Rule_universal_d_BulkDeleteRulesRequest as BulkDeleteRulesRequest,\n      serviceFeesV1Rule_universal_d_BulkDeleteRulesResponse as BulkDeleteRulesResponse,\n      serviceFeesV1Rule_universal_d_DomainEvent as DomainEvent,\n      serviceFeesV1Rule_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      serviceFeesV1Rule_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      serviceFeesV1Rule_universal_d_RestoreInfo as RestoreInfo,\n      serviceFeesV1Rule_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      serviceFeesV1Rule_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      serviceFeesV1Rule_universal_d_ActionEvent as ActionEvent,\n      serviceFeesV1Rule_universal_d_MessageEnvelope as MessageEnvelope,\n      serviceFeesV1Rule_universal_d_IdentificationData as IdentificationData,\n      serviceFeesV1Rule_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      serviceFeesV1Rule_universal_d_WebhookIdentityType as WebhookIdentityType,\n      serviceFeesV1Rule_universal_d_calculateServiceFees as calculateServiceFees,\n      serviceFeesV1Rule_universal_d_CalculateServiceFeesOptions as CalculateServiceFeesOptions,\n      serviceFeesV1Rule_universal_d_createRule as createRule,\n      serviceFeesV1Rule_universal_d_getRule as getRule,\n      serviceFeesV1Rule_universal_d_updateRule as updateRule,\n      serviceFeesV1Rule_universal_d_UpdateRule as UpdateRule,\n      serviceFeesV1Rule_universal_d_UpdateRuleOptions as UpdateRuleOptions,\n      serviceFeesV1Rule_universal_d_deleteRule as deleteRule,\n      serviceFeesV1Rule_universal_d_listRules as listRules,\n      serviceFeesV1Rule_universal_d_ListRulesOptions as ListRulesOptions,\n      serviceFeesV1Rule_universal_d_queryRules as queryRules,\n      serviceFeesV1Rule_universal_d_RulesQueryResult as RulesQueryResult,\n      serviceFeesV1Rule_universal_d_RulesQueryBuilder as RulesQueryBuilder,\n      serviceFeesV1Rule_universal_d_bulkCreateRules as bulkCreateRules,\n      serviceFeesV1Rule_universal_d_BulkCreateRulesOptions as BulkCreateRulesOptions,\n      serviceFeesV1Rule_universal_d_bulkUpdateRules as bulkUpdateRules,\n      serviceFeesV1Rule_universal_d_BulkUpdateRulesOptions as BulkUpdateRulesOptions,\n      serviceFeesV1Rule_universal_d_bulkDeleteRules as bulkDeleteRules,\n    };\n  }\n  \n  export { restaurantsV1AvailabilityException_universal_d as availabilityExceptions, restaurantsV1FulfillmentMethod_universal_d as fulfillmentMethods, restaurantsMenusV1ItemLabel_universal_d as itemLabels, restaurantsMenusV1ItemModifierGroup_universal_d as itemModifierGroups, restaurantsMenusV1ItemModifier_universal_d as itemModifiers, restaurantsMenusV1ItemVariant_universal_d as itemVariants, restaurantsMenusV1Item_universal_d as items, restaurantsMenuSettingsV1MenuOrderingSettings_universal_d as menuOrderingSettings, restaurantsMenusV1Menu_universal_d as menus, restaurantsOperationsV1Operation_universal_d as operations, restaurantsOrderPacingV1Policy_universal_d as orderPacingPolicy, restaurantsMenusV1Section_universal_d as sections, serviceFeesV1Rule_universal_d as serviceFees };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-availability-time-slots-configuration-provider.d.ts",
      "content": "declare module \"interfaces-bookings-availability-v2-availability-time-slots-configuration-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface ListAvailabilityTimeSlotConfigurationsRequest {\n      /**\n       * IDs of the services for which configurations are to be retrieved.\n       * Deprecated. Use 'services'.\n       */\n      serviceIds?: string[];\n      /** Service IDs paired with selected customer choices. */\n      services?: Service[];\n  }\n  /**\n   * Selected customer choices.\n   * These choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties.\n   */\n  interface CustomerChoices {\n      /**\n       * The selected customer duration in minutes.\n       * Min: `1 minute`\n       * Max: `44639 minutes` (30 days, 23 hours, and 59 minutes)\n       */\n      durationInMinutes?: number | null;\n  }\n  interface Service {\n      /** ID of the service for which configuration is retrieved. */\n      serviceId?: string;\n      /** Customer selected choices for this service. */\n      customerChoices?: CustomerChoices;\n  }\n  interface ListAvailabilityTimeSlotConfigurationsResponse {\n      /** The retrieved configurations. */\n      configurations?: AvailabilityTimeSlotsConfiguration[];\n  }\n  interface AvailabilityTimeSlotsConfiguration {\n      /** Service ID. */\n      serviceId?: string;\n      /** Resource types required to book this service, for instance, booking a room from the \"rooms\" resource type and a staff member from the \"staff\" resource type. */\n      resourceTypes?: ResourceType[];\n      /**\n       * The locations this service is offered at.\n       * Only multiple locations of type `BUSINESS` are supported. multiple locations of type `CUSTOM` or `CUSTOMER` are not supported.\n       */\n      locations?: Location[];\n      /**\n       * The time between available slots' start times.\n       * For example, for 5-minute slots, 3:00, 3:05, 3:15 etc. For 1-hour slots, 3:00, 4:00, 5:00 etc.\n       */\n      splitIntervalInMinutes?: number;\n      /** The duration of the service. */\n      duration?: Duration;\n      /**\n       * The number of minutes between the end of a slot and the start of the next.\n       * Min: `0 minutes`\n       * Max: `720 minutes`\n       */\n      bufferTimeInMinutes?: number;\n  }\n  interface ResourceType {\n      /** Resource type ID. */\n      resourceTypeId?: string | null;\n      /**\n       * Resource IDs.\n       * The potential resources available for booking, with the required number of resources to book defined by 'numberOfResourcesRequired.' These resources may be a subset within the resource type.\n       */\n      resourceIds?: string[] | null;\n      /**\n       * The number of resources required to book the service.\n       * Optional.\n       * Default: `1`\n       * Currently only `1` is supported.\n       */\n      numberOfResourcesRequired?: number | null;\n      /**\n       * Whether to return the available resources in the response for this particular type.\n       * Optional.\n       * Default: `true`\n       * Internal - Not supported yet.\n       * @internal\n       */\n      returnAvailableResources?: boolean | null;\n  }\n  interface Location {\n      /** Business Location ID. Present if the location is a business location. */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /**\n       * The type of location:\n       * - `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n       * - `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.\n       * - `CUSTOMER`: Will be determined by the customer.\n       */\n      locationType?: LocationType;\n  }\n  enum LocationType {\n      UNKNOWN_LOCATION_TYPE = \"UNKNOWN_LOCATION_TYPE\",\n      /** The location is unique to this service and isn't defined as one of the business locations. */\n      CUSTOM = \"CUSTOM\",\n      /** The location is one of the business locations available using the Business Info. */\n      BUSINESS = \"BUSINESS\",\n      /** The location can be determined by the customer and is not set up beforehand. */\n      CUSTOMER = \"CUSTOMER\"\n  }\n  interface Duration {\n      /**\n       * Default duration in minutes.\n       * Min: `1 minute`\n       * Max: `44639 minutes` (30 days, 23 hours, and 59 minutes)\n       */\n      defaultInMinutes?: number;\n  }\n  interface AvailabilityTimeSlotsProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ListAvailabilityTimeSlotConfigurationsOptions {\n      /**\n       * IDs of the services for which configurations are to be retrieved.\n       * Deprecated. Use 'services'.\n       */\n      serviceIds?: string[];\n      /** Service IDs paired with selected customer choices. */\n      services?: Service[];\n  }\n  \n  export { AlternativeUri, AvailabilityTimeSlotsConfiguration, AvailabilityTimeSlotsProviderConfig, BusinessError, Context, CustomerChoices, Duration, IdentificationData, IdentificationDataIdOneOf, IdentityType, ListAvailabilityTimeSlotConfigurationsOptions, ListAvailabilityTimeSlotConfigurationsRequest, ListAvailabilityTimeSlotConfigurationsResponse, Location, LocationType, ResourceType, Service, SpiBaseUri };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-benefit-programs-backend.v1.d.ts",
      "content": "declare module \"wix-benefit-programs-backend.v1\" {\n  interface Balance {\n      /** The id of the balance. Same as the pool id */\n      _id?: string;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time the transaction was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time the transaction was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * The owner of this balance\n       * @readonly\n       */\n      beneficiary?: IdentificationData$5;\n      /**\n       * Balance for the pool\n       * @readonly\n       */\n      balance?: BalanceAmount;\n      /**\n       * Pool information\n       * @readonly\n       */\n      pool?: PoolInfo$1;\n      /** Data extensions */\n      extendedFields?: ExtendedFields$3;\n      /**\n       * Last transaction id, which triggered balance change\n       * @readonly\n       */\n      lastTransactionId?: string | null;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface BalanceAmount {\n      /**\n       * Represents the sum of the available credits for the pool\n       * @readonly\n       */\n      available?: string;\n  }\n  interface PoolInfo$1 {\n      /**\n       * The pool from which the balance was changed\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * PoolDefinition that this pool was created from\n       * @readonly\n       */\n      poolDefinitionId?: string | null;\n      /**\n       * Program definition from which this entitlement was provisioned from\n       * @readonly\n       */\n      programDefinitionId?: string | null;\n      /**\n       * Package that this entitlement belongs to\n       * @readonly\n       */\n      programId?: string | null;\n      /** The total amount of credits available for this pool */\n      creditAmount?: string | null;\n      /** The namespace of the pool */\n      namespace?: string | null;\n  }\n  interface ExtendedFields$3 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface GetBalanceRequest {\n      /** The id of the pool */\n      poolId: string;\n  }\n  interface GetBalanceResponse {\n      /** Requested balance */\n      balance?: Balance;\n  }\n  interface ListBalancesRequest {\n      /** The ids of the pools */\n      poolIds?: string[];\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$5;\n  }\n  interface CursorPaging$5 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListBalancesResponse {\n      /** Requested balances */\n      balances?: Balance[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata$5;\n  }\n  interface CursorPagingMetadata$5 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$5;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$5 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryBalancesRequest {\n      /** WQL expression */\n      query?: CursorQuery$5;\n  }\n  interface CursorQuery$5 extends CursorQueryPagingMethodOneOf$5 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$5[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$5 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n  }\n  interface Sorting$5 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$5;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$5 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryBalancesResponse {\n      /** The retrieved balances */\n      balances?: Balance[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata$5;\n  }\n  interface ChangeBalanceRequest extends ChangeBalanceRequestOperationOneOf {\n      /** Applies the delta to the current balance. If 0, change won't be performed, but the transaction is still going to be reported */\n      adjustOptions?: AdjustOptions;\n      /** Sets the balance to any amount. If the set amount is the same as the current balance no action will be performed */\n      setOptions?: SetOptions;\n      /**\n       * Sets the initial balance to any amount. Initializes the pool account. Must be the first operation performed on the account and only called once\n       * All subsequent SetInitialOperations will fail.\n       */\n      setInitialOptions?: SetInitialOptions;\n      /** The id of the pool */\n      poolId: string;\n      /** Unique value generated by the client which the service uses to recognize subsequent retries of the same request */\n      idempotencyKey: string;\n      /** Party that initiated this change. Could be the site use, the pool owner or the beneficiary */\n      instructingParty?: IdentificationData$5;\n      /** The operation to perform on the balance */\n      type?: Type$3;\n      /** Transaction details related to the change */\n      transactionDetails?: TransactionDetails$1;\n  }\n  /** @oneof */\n  interface ChangeBalanceRequestOperationOneOf {\n      /** Applies the delta to the current balance. If 0, change won't be performed, but the transaction is still going to be reported */\n      adjustOptions?: AdjustOptions;\n      /** Sets the balance to any amount. If the set amount is the same as the current balance no action will be performed */\n      setOptions?: SetOptions;\n      /**\n       * Sets the initial balance to any amount. Initializes the pool account. Must be the first operation performed on the account and only called once\n       * All subsequent SetInitialOperations will fail.\n       */\n      setInitialOptions?: SetInitialOptions;\n  }\n  enum Type$3 {\n      UNKNOWN_OPERATION = \"UNKNOWN_OPERATION\",\n      ADJUST = \"ADJUST\",\n      SET = \"SET\",\n      SET_INITIAL = \"SET_INITIAL\"\n  }\n  interface AdjustOptions {\n      /** Change the available balance by the provided amount. Can be negative and positive values. */\n      amount?: string;\n      /** Beneficiary of the operation */\n      beneficiary?: IdentificationData$5;\n  }\n  interface SetOptions {\n      /** Set the available balance to the provided amount. */\n      amount?: string;\n      /** Beneficiary of the transaction */\n      beneficiary?: IdentificationData$5;\n  }\n  interface SetInitialOptions {\n      /** Set the available balance to the provided amount. */\n      amount?: string;\n      /** Beneficiary of the transaction */\n      beneficiary?: IdentificationData$5;\n  }\n  interface TransactionDetails$1 {\n      /**\n       * The item for which the balance was changed, if applicable\n       * @readonly\n       */\n      item?: Item$3;\n      /** Item count, if applicable */\n      itemCount?: number | null;\n      /**\n       * Represents the time the business performed the transaction\n       * @readonly\n       */\n      effectiveDate?: Date;\n      /**\n       * Free format string\n       * @readonly\n       */\n      reason?: string | null;\n  }\n  interface Item$3 {\n      /**\n       * The item id\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * External item identifier\n       * @readonly\n       */\n      externalId?: string | null;\n      /**\n       * Item category. Discriminates between different types of items. E.g. posts, groups etc.\n       * @readonly\n       */\n      category?: string | null;\n      /**\n       * Key of the set that this item is part of\n       * @readonly\n       */\n      itemSetId?: string | null;\n      /**\n       * Display name of the item\n       * @readonly\n       */\n      displayName?: string | null;\n  }\n  interface ChangeBalanceResponse {\n      /** Changed balance */\n      balance?: Balance;\n      /** Id of the resulting transaction from balance change operation */\n      transactionId?: string | null;\n  }\n  interface NotEnoughBalance$1 {\n      /** Current balance */\n      balance?: BalanceAmount;\n      /**\n       * The requested amount\n       * @readonly\n       */\n      requested?: string;\n  }\n  interface RevertBalanceChangeRequest {\n      /** Reverts the change to the balance made by the provided transaction */\n      transactionId: string;\n      /** Unique value generated by the client which the service uses to recognize subsequent retries of the same request */\n      idempotencyKey: string;\n      /** Party that initiated this change. Could be the site use, the pool owner or the beneficiary */\n      instructingParty?: IdentificationData$5;\n  }\n  interface RevertBalanceChangeResponse {\n      /** Id of the created reverse transaction */\n      transactionId?: string | null;\n  }\n  interface ChangeAlreadyReverted {\n      /** The id of the transaction which was already reverted */\n      originalTransactionId?: string;\n      /** The id of the transaction which reverted the original transaction */\n      revertedTransactionId?: string;\n  }\n  interface GetTransactionReversibilityRequest {\n      /** Id of the transaction to get the reversibility */\n      transactionId: string;\n  }\n  interface GetTransactionReversibilityResponse {\n      /** The result of transaction reversibility validation */\n      transactionReversibility?: TransactionReversibility;\n  }\n  /** Transaction reversibility results */\n  enum TransactionReversibility {\n      /** Transaction is allowed to be reverted */\n      TRANSACTION_IS_REVERSIBLE = \"TRANSACTION_IS_REVERSIBLE\",\n      /** Transaction isn't allowed to be reverted, because it was already reverted */\n      TRANSACTION_ALREADY_REVERSED = \"TRANSACTION_ALREADY_REVERSED\"\n  }\n  interface DomainEvent$5 extends DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n  }\n  interface EntityCreatedEvent$5 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      undeleteInfo?: UndeleteInfo$2;\n  }\n  interface UndeleteInfo$2 {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$5 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$5 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$5 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData$2 extends WebhooksIdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get the balance in the pool.\n   * @param poolId - The id of the pool\n   * @public\n   * @documentationMaturity preview\n   * @requiredField poolId\n   * @adminMethod\n   * @returns Requested balance\n   */\n  function getBalance(poolId: string): Promise<Balance>;\n  /**\n   * Get the balances for provided pools\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listBalances(options?: ListBalancesOptions): Promise<ListBalancesResponse>;\n  interface ListBalancesOptions {\n      /** The ids of the pools */\n      poolIds?: string[];\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$5;\n  }\n  /**\n   * Query the balances for provided pools\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryBalances(): BalancesQueryBuilder;\n  interface QueryCursorResult$5 {\n      cursors: Cursors$5;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface BalancesQueryResult extends QueryCursorResult$5 {\n      items: Balance[];\n      query: BalancesQueryBuilder;\n      next: () => Promise<BalancesQueryResult>;\n      prev: () => Promise<BalancesQueryResult>;\n  }\n  interface BalancesQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => BalancesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => BalancesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<BalancesQueryResult>;\n  }\n  /**\n   * Change balance using one of these operations:\n   * ADJUST\n   * SET\n   * SET_INITIAL\n   * @param poolId - The id of the pool\n   * @param idempotencyKey - Unique value generated by the client which the service uses to recognize subsequent retries of the same request\n   * @public\n   * @documentationMaturity preview\n   * @requiredField idempotencyKey\n   * @requiredField poolId\n   * @adminMethod\n   */\n  function changeBalance(poolId: string, idempotencyKey: string, options?: ChangeBalanceOptions): Promise<ChangeBalanceResponse>;\n  interface ChangeBalanceOptions extends ChangeBalanceRequestOperationOneOf {\n      /** Party that initiated this change. Could be the site use, the pool owner or the beneficiary */\n      instructingParty?: IdentificationData$5;\n      /** The operation to perform on the balance */\n      type?: Type$3;\n      /** Applies the delta to the current balance. If 0, change won't be performed, but the transaction is still going to be reported */\n      adjustOptions?: AdjustOptions;\n      /** Sets the balance to any amount. If the set amount is the same as the current balance no action will be performed */\n      setOptions?: SetOptions;\n      /**\n       * Sets the initial balance to any amount. Initializes the pool account. Must be the first operation performed on the account and only called once\n       * All subsequent SetInitialOperations will fail.\n       */\n      setInitialOptions?: SetInitialOptions;\n      /** Transaction details related to the change */\n      transactionDetails?: TransactionDetails$1;\n  }\n  /**\n   * Reverts balance change done with ChangeBalance\n   * @param transactionId - Reverts the change to the balance made by the provided transaction\n   * @param idempotencyKey - Unique value generated by the client which the service uses to recognize subsequent retries of the same request\n   * @public\n   * @documentationMaturity preview\n   * @requiredField idempotencyKey\n   * @requiredField transactionId\n   * @adminMethod\n   */\n  function revertBalanceChange(transactionId: string, idempotencyKey: string, options?: RevertBalanceChangeOptions): Promise<RevertBalanceChangeResponse>;\n  interface RevertBalanceChangeOptions {\n      /** Party that initiated this change. Could be the site use, the pool owner or the beneficiary */\n      instructingParty?: IdentificationData$5;\n  }\n  /**\n   * Get a transaction reversibility by transaction id\n   *\n   * Should be always internal this is only used to support EcomMembershipSPI\n   * @param transactionId - Id of the transaction to get the reversibility\n   * @public\n   * @documentationMaturity preview\n   * @requiredField transactionId\n   * @adminMethod\n   */\n  function getTransactionReversibility(transactionId: string): Promise<GetTransactionReversibilityResponse>;\n  \n  type benefitProgramsV1Balance_universal_d_Balance = Balance;\n  type benefitProgramsV1Balance_universal_d_BalanceAmount = BalanceAmount;\n  type benefitProgramsV1Balance_universal_d_GetBalanceRequest = GetBalanceRequest;\n  type benefitProgramsV1Balance_universal_d_GetBalanceResponse = GetBalanceResponse;\n  type benefitProgramsV1Balance_universal_d_ListBalancesRequest = ListBalancesRequest;\n  type benefitProgramsV1Balance_universal_d_ListBalancesResponse = ListBalancesResponse;\n  type benefitProgramsV1Balance_universal_d_QueryBalancesRequest = QueryBalancesRequest;\n  type benefitProgramsV1Balance_universal_d_QueryBalancesResponse = QueryBalancesResponse;\n  type benefitProgramsV1Balance_universal_d_ChangeBalanceRequest = ChangeBalanceRequest;\n  type benefitProgramsV1Balance_universal_d_ChangeBalanceRequestOperationOneOf = ChangeBalanceRequestOperationOneOf;\n  type benefitProgramsV1Balance_universal_d_AdjustOptions = AdjustOptions;\n  type benefitProgramsV1Balance_universal_d_SetOptions = SetOptions;\n  type benefitProgramsV1Balance_universal_d_SetInitialOptions = SetInitialOptions;\n  type benefitProgramsV1Balance_universal_d_ChangeBalanceResponse = ChangeBalanceResponse;\n  type benefitProgramsV1Balance_universal_d_RevertBalanceChangeRequest = RevertBalanceChangeRequest;\n  type benefitProgramsV1Balance_universal_d_RevertBalanceChangeResponse = RevertBalanceChangeResponse;\n  type benefitProgramsV1Balance_universal_d_ChangeAlreadyReverted = ChangeAlreadyReverted;\n  type benefitProgramsV1Balance_universal_d_GetTransactionReversibilityRequest = GetTransactionReversibilityRequest;\n  type benefitProgramsV1Balance_universal_d_GetTransactionReversibilityResponse = GetTransactionReversibilityResponse;\n  type benefitProgramsV1Balance_universal_d_TransactionReversibility = TransactionReversibility;\n  const benefitProgramsV1Balance_universal_d_TransactionReversibility: typeof TransactionReversibility;\n  const benefitProgramsV1Balance_universal_d_getBalance: typeof getBalance;\n  const benefitProgramsV1Balance_universal_d_listBalances: typeof listBalances;\n  type benefitProgramsV1Balance_universal_d_ListBalancesOptions = ListBalancesOptions;\n  const benefitProgramsV1Balance_universal_d_queryBalances: typeof queryBalances;\n  type benefitProgramsV1Balance_universal_d_BalancesQueryResult = BalancesQueryResult;\n  type benefitProgramsV1Balance_universal_d_BalancesQueryBuilder = BalancesQueryBuilder;\n  const benefitProgramsV1Balance_universal_d_changeBalance: typeof changeBalance;\n  type benefitProgramsV1Balance_universal_d_ChangeBalanceOptions = ChangeBalanceOptions;\n  const benefitProgramsV1Balance_universal_d_revertBalanceChange: typeof revertBalanceChange;\n  type benefitProgramsV1Balance_universal_d_RevertBalanceChangeOptions = RevertBalanceChangeOptions;\n  const benefitProgramsV1Balance_universal_d_getTransactionReversibility: typeof getTransactionReversibility;\n  namespace benefitProgramsV1Balance_universal_d {\n    export {\n      benefitProgramsV1Balance_universal_d_Balance as Balance,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      IdentityType$2 as IdentityType,\n      benefitProgramsV1Balance_universal_d_BalanceAmount as BalanceAmount,\n      PoolInfo$1 as PoolInfo,\n      ExtendedFields$3 as ExtendedFields,\n      benefitProgramsV1Balance_universal_d_GetBalanceRequest as GetBalanceRequest,\n      benefitProgramsV1Balance_universal_d_GetBalanceResponse as GetBalanceResponse,\n      benefitProgramsV1Balance_universal_d_ListBalancesRequest as ListBalancesRequest,\n      CursorPaging$5 as CursorPaging,\n      benefitProgramsV1Balance_universal_d_ListBalancesResponse as ListBalancesResponse,\n      CursorPagingMetadata$5 as CursorPagingMetadata,\n      Cursors$5 as Cursors,\n      benefitProgramsV1Balance_universal_d_QueryBalancesRequest as QueryBalancesRequest,\n      CursorQuery$5 as CursorQuery,\n      CursorQueryPagingMethodOneOf$5 as CursorQueryPagingMethodOneOf,\n      Sorting$5 as Sorting,\n      SortOrder$5 as SortOrder,\n      benefitProgramsV1Balance_universal_d_QueryBalancesResponse as QueryBalancesResponse,\n      benefitProgramsV1Balance_universal_d_ChangeBalanceRequest as ChangeBalanceRequest,\n      benefitProgramsV1Balance_universal_d_ChangeBalanceRequestOperationOneOf as ChangeBalanceRequestOperationOneOf,\n      Type$3 as Type,\n      benefitProgramsV1Balance_universal_d_AdjustOptions as AdjustOptions,\n      benefitProgramsV1Balance_universal_d_SetOptions as SetOptions,\n      benefitProgramsV1Balance_universal_d_SetInitialOptions as SetInitialOptions,\n      TransactionDetails$1 as TransactionDetails,\n      Item$3 as Item,\n      benefitProgramsV1Balance_universal_d_ChangeBalanceResponse as ChangeBalanceResponse,\n      NotEnoughBalance$1 as NotEnoughBalance,\n      benefitProgramsV1Balance_universal_d_RevertBalanceChangeRequest as RevertBalanceChangeRequest,\n      benefitProgramsV1Balance_universal_d_RevertBalanceChangeResponse as RevertBalanceChangeResponse,\n      benefitProgramsV1Balance_universal_d_ChangeAlreadyReverted as ChangeAlreadyReverted,\n      benefitProgramsV1Balance_universal_d_GetTransactionReversibilityRequest as GetTransactionReversibilityRequest,\n      benefitProgramsV1Balance_universal_d_GetTransactionReversibilityResponse as GetTransactionReversibilityResponse,\n      benefitProgramsV1Balance_universal_d_TransactionReversibility as TransactionReversibility,\n      DomainEvent$5 as DomainEvent,\n      DomainEventBodyOneOf$5 as DomainEventBodyOneOf,\n      EntityCreatedEvent$5 as EntityCreatedEvent,\n      UndeleteInfo$2 as UndeleteInfo,\n      EntityUpdatedEvent$5 as EntityUpdatedEvent,\n      EntityDeletedEvent$5 as EntityDeletedEvent,\n      ActionEvent$5 as ActionEvent,\n      MessageEnvelope$5 as MessageEnvelope,\n      WebhooksIdentificationData$2 as WebhooksIdentificationData,\n      WebhooksIdentificationDataIdOneOf$2 as WebhooksIdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      benefitProgramsV1Balance_universal_d_getBalance as getBalance,\n      benefitProgramsV1Balance_universal_d_listBalances as listBalances,\n      benefitProgramsV1Balance_universal_d_ListBalancesOptions as ListBalancesOptions,\n      benefitProgramsV1Balance_universal_d_queryBalances as queryBalances,\n      benefitProgramsV1Balance_universal_d_BalancesQueryResult as BalancesQueryResult,\n      benefitProgramsV1Balance_universal_d_BalancesQueryBuilder as BalancesQueryBuilder,\n      benefitProgramsV1Balance_universal_d_changeBalance as changeBalance,\n      benefitProgramsV1Balance_universal_d_ChangeBalanceOptions as ChangeBalanceOptions,\n      benefitProgramsV1Balance_universal_d_revertBalanceChange as revertBalanceChange,\n      benefitProgramsV1Balance_universal_d_RevertBalanceChangeOptions as RevertBalanceChangeOptions,\n      benefitProgramsV1Balance_universal_d_getTransactionReversibility as getTransactionReversibility,\n    };\n  }\n  \n  /**\n   * Represents anything that an external system exposes as a benefit. It could be a specific event, a booking session, or even a physical good.\n   * `category` is used to identify the type of the item and id is used to uniquely identify it within the category.\n   * For example, if the item is a blog post, then the category could be \"post\" and the id could be the post id.\n   */\n  interface Item$2 {\n      /**\n       * Item identifier\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Item was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Item was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** External item identifier */\n      externalId?: string;\n      /** Item category. Discriminates between different types of items. E.g. posts, groups etc. */\n      category?: string | null;\n      /** Key of the set that this item is part of */\n      itemSetId?: string;\n      /** Display name of the item */\n      displayName?: string | null;\n      /** ID of the app that provides this item, eg. bookings, blog or events */\n      providerAppId?: string | null;\n      /** Data extensions */\n      extendedFields?: ExtendedFields$2;\n      /** Item namespace */\n      namespace?: string | null;\n  }\n  interface ExtendedFields$2 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateItemRequest {\n      /** Item to be created */\n      item: Item$2;\n  }\n  interface CreateItemResponse {\n      /** Item that was created */\n      item?: Item$2;\n  }\n  interface BulkCreateItemRequest {\n      /** Items to be added */\n      items: Item$2[];\n      /** set to `true` if you wish to receive back the created items in the response */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateItemResponse {\n      /** Item that were added */\n      results?: BulkItemResult$1[];\n      /** Bulk action metadata */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkItemResult$1 {\n      /** Item metadata */\n      itemMetadata?: ItemMetadata$3;\n      /** Only exists if `returnEntity` was set to true in the request */\n      item?: Item$2;\n  }\n  interface ItemMetadata$3 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$3;\n  }\n  interface ApplicationError$3 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$3 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface DeleteItemRequest {\n      /** Item id */\n      itemId: string;\n  }\n  interface DeleteItemResponse {\n  }\n  interface BulkDeleteItemRequest {\n      /** Items to be deleted */\n      itemIds: string[];\n  }\n  interface BulkDeleteItemResponse {\n      /** Items that were removed */\n      results?: BulkItemResult$1[];\n      /** Bulk action metadata */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface UpdateItemRequest$1 {\n      /** Item to be updated, may be partial */\n      item: Item$2;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateItemResponse$1 {\n      /** Item that was updated */\n      item?: Item$2;\n  }\n  interface BulkUpdateItemRequest {\n      /** Items to be added */\n      items?: MaskedItem[];\n      /** set to `true` if you wish to receive back the delete items in the response */\n      returnEntity?: boolean;\n  }\n  interface MaskedItem {\n      /** Item to be updated, may be partial */\n      item?: Item$2;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateItemResponse {\n      /** Item that were updated */\n      results?: BulkItemResult$1[];\n      /** Bulk action metadata */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface GetItemRequest$1 {\n      /** Id of the Item to retrieve */\n      itemId: string;\n  }\n  interface GetItemResponse$1 {\n      /** The retrieved Item */\n      item?: Item$2;\n  }\n  interface ListItemsRequest {\n      /** The filter */\n      filter?: Filter$1;\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$4;\n  }\n  enum Type$2 {\n      UNKNOWN_FILTER = \"UNKNOWN_FILTER\",\n      BY_ITEM_SET_ID_AND_REFERENCE = \"BY_ITEM_SET_ID_AND_REFERENCE\",\n      BY_REFERENCE = \"BY_REFERENCE\"\n  }\n  interface ByItemSetIdAndReference {\n      /** A list of filters */\n      filters?: ByItemSetIdAndReferenceFilter[];\n  }\n  interface ByItemSetIdAndReferenceFilter {\n      /** Key of the set that this item is part of */\n      itemSetId?: string;\n      /** External item identifier */\n      externalId?: string;\n      /** Item category. Discriminates between different types of items. E.g. posts, groups etc. */\n      category?: string;\n      /** Item provider app id */\n      providerAppId?: string;\n  }\n  interface ByReference {\n      /** A list of filters */\n      filters?: ByReferenceFilter[];\n  }\n  interface ByReferenceFilter {\n      /** External item identifier */\n      externalId?: string;\n      /** Item category. Discriminates between different types of items. E.g. posts, groups etc. */\n      category?: string;\n      /** Item provider app id */\n      providerAppId?: string;\n  }\n  interface Filter$1 extends FilterFilterOneOf$1 {\n      /** A list of filters by itemSetId and reference */\n      byItemSetIdAndReferenceOptions?: ByItemSetIdAndReference;\n      /** A list of filters by reference */\n      byReferenceOptions?: ByReference;\n      /** Type of the filter */\n      type?: Type$2;\n      /** Item namespace */\n      namespace?: string;\n  }\n  /** @oneof */\n  interface FilterFilterOneOf$1 {\n      /** A list of filters by itemSetId and reference */\n      byItemSetIdAndReferenceOptions?: ByItemSetIdAndReference;\n      /** A list of filters by reference */\n      byReferenceOptions?: ByReference;\n  }\n  interface CursorPaging$4 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListItemsResponse {\n      /** The retrieved items */\n      items?: Item$2[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata$4;\n  }\n  interface CursorPagingMetadata$4 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$4;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$4 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryItemsRequest$1 {\n      /** WQL expression */\n      query?: CursorQuery$4;\n  }\n  interface CursorQuery$4 extends CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$4[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface Sorting$4 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$4;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$4 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryItemsResponse$1 {\n      /** The retrieved Items */\n      items?: Item$2[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata$4;\n  }\n  interface CountItemsRequest {\n      /** Items filter to count */\n      filter?: Record<string, any> | null;\n  }\n  interface CountItemsResponse {\n      /** Number of counted items */\n      count?: number;\n  }\n  interface CloneItemsRequest {\n      /** Id of the item set that these items were added to */\n      itemSetId: string;\n  }\n  interface CloneItemsResponse {\n      /** Id of the item set that these items were added to */\n      clonedItemSetId?: string;\n      /** Id of the job that is cloning the item set */\n      cloneJobId?: string;\n  }\n  interface AllocateItemSetsRequest {\n      /** Number of sets to allocate */\n      numberOfSets?: number;\n  }\n  interface AllocateItemSetsResponse {\n      /** Key of the item set that was created */\n      itemSetIds?: string[];\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      undeleteInfo?: UndeleteInfo$1;\n  }\n  interface UndeleteInfo$1 {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Create an item\n   * @param item - Item to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField item\n   * @requiredField item.externalId\n   * @requiredField item.itemSetId\n   * @requiredField item.namespace\n   * @requiredField item.providerAppId\n   * @adminMethod\n   * @returns Item that was created\n   */\n  function createItem(item: Item$2): Promise<Item$2>;\n  /**\n   * Adds items to the benefit\n   * @param items - Items to be added\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField items\n   * @requiredField items.externalId\n   * @requiredField items.itemSetId\n   * @requiredField items.namespace\n   * @adminMethod\n   */\n  function bulkCreateItem(items: Item$2[], options?: BulkCreateItemOptions): Promise<BulkCreateItemResponse>;\n  interface BulkCreateItemOptions {\n      /** set to `true` if you wish to receive back the created items in the response */\n      returnEntity?: boolean;\n  }\n  /**\n   * Removes the item from the benefit\n   * @param itemId - Item id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @adminMethod\n   */\n  function deleteItem(itemId: string): Promise<void>;\n  /**\n   * Deletes the items\n   * @param itemIds - Items to be deleted\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemIds\n   * @adminMethod\n   */\n  function bulkDeleteItem(itemIds: string[]): Promise<BulkDeleteItemResponse>;\n  /**\n   * Update the Item, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - Item identifier\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField item\n   * @requiredField item.revision\n   * @adminMethod\n   * @returns Item that was updated\n   */\n  function updateItem$1(_id: string | null, item: UpdateItem$1, options?: UpdateItemOptions$1): Promise<Item$2>;\n  interface UpdateItem$1 {\n      /**\n       * Item identifier\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Item was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Item was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** External item identifier */\n      externalId?: string;\n      /** Item category. Discriminates between different types of items. E.g. posts, groups etc. */\n      category?: string | null;\n      /** Key of the set that this item is part of */\n      itemSetId?: string;\n      /** Display name of the item */\n      displayName?: string | null;\n      /** ID of the app that provides this item, eg. bookings, blog or events */\n      providerAppId?: string | null;\n      /** Data extensions */\n      extendedFields?: ExtendedFields$2;\n      /** Item namespace */\n      namespace?: string | null;\n  }\n  interface UpdateItemOptions$1 {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Update the Item, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.items.item\n   * @requiredField options.items.item._id\n   * @requiredField options.items.item.revision\n   * @adminMethod\n   */\n  function bulkUpdateItem(options?: BulkUpdateItemOptions): Promise<BulkUpdateItemResponse>;\n  interface BulkUpdateItemOptions {\n      /** Items to be added */\n      items?: MaskedItem[];\n      /** set to `true` if you wish to receive back the delete items in the response */\n      returnEntity?: boolean;\n  }\n  /**\n   * Get a Benefit Item by id\n   * @param itemId - Id of the Item to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @adminMethod\n   * @returns The retrieved Item\n   */\n  function getItem$1(itemId: string): Promise<Item$2>;\n  /**\n   * Get all items matching the filter\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listItems(options?: ListItemsOptions): Promise<ListItemsResponse>;\n  interface ListItemsOptions {\n      /** The filter */\n      filter?: Filter$1;\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$4;\n  }\n  /**\n   * Query Items using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryItems$1(): ItemsQueryBuilder$1;\n  interface QueryCursorResult$4 {\n      cursors: Cursors$4;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ItemsQueryResult$1 extends QueryCursorResult$4 {\n      items: Item$2[];\n      query: ItemsQueryBuilder$1;\n      next: () => Promise<ItemsQueryResult$1>;\n      prev: () => Promise<ItemsQueryResult$1>;\n  }\n  interface ItemsQueryBuilder$1 {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'externalId' | 'category' | 'itemSetId' | 'providerAppId', value: any) => ItemsQueryBuilder$1;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'externalId' | 'category' | 'itemSetId' | 'providerAppId', value: any) => ItemsQueryBuilder$1;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'externalId' | 'category' | 'itemSetId' | 'providerAppId', value: string) => ItemsQueryBuilder$1;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'externalId' | 'category' | 'itemSetId' | 'providerAppId', value: any[]) => ItemsQueryBuilder$1;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'externalId' | 'category' | 'itemSetId' | 'providerAppId', value: any) => ItemsQueryBuilder$1;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'externalId' | 'category' | 'itemSetId' | 'providerAppId', value: boolean) => ItemsQueryBuilder$1;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'externalId' | 'category' | 'itemSetId' | 'providerAppId'>) => ItemsQueryBuilder$1;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'externalId' | 'category' | 'itemSetId' | 'providerAppId'>) => ItemsQueryBuilder$1;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ItemsQueryBuilder$1;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ItemsQueryBuilder$1;\n      /** @documentationMaturity preview */\n      find: () => Promise<ItemsQueryResult$1>;\n  }\n  /**\n   * Used for counting items\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function countItems(options?: CountItemsOptions): Promise<CountItemsResponse>;\n  interface CountItemsOptions {\n      /** Items filter to count */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Clone the item set\n   * @param itemSetId - Id of the item set that these items were added to\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemSetId\n   * @adminMethod\n   */\n  function cloneItems(itemSetId: string): Promise<CloneItemsResponse>;\n  /**\n   * Allocates the provided number of sets\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function allocateItemSets(options?: AllocateItemSetsOptions): Promise<AllocateItemSetsResponse>;\n  interface AllocateItemSetsOptions {\n      /** Number of sets to allocate */\n      numberOfSets?: number;\n  }\n  \n  type benefitProgramsV1Item_universal_d_CreateItemRequest = CreateItemRequest;\n  type benefitProgramsV1Item_universal_d_CreateItemResponse = CreateItemResponse;\n  type benefitProgramsV1Item_universal_d_BulkCreateItemRequest = BulkCreateItemRequest;\n  type benefitProgramsV1Item_universal_d_BulkCreateItemResponse = BulkCreateItemResponse;\n  type benefitProgramsV1Item_universal_d_DeleteItemRequest = DeleteItemRequest;\n  type benefitProgramsV1Item_universal_d_DeleteItemResponse = DeleteItemResponse;\n  type benefitProgramsV1Item_universal_d_BulkDeleteItemRequest = BulkDeleteItemRequest;\n  type benefitProgramsV1Item_universal_d_BulkDeleteItemResponse = BulkDeleteItemResponse;\n  type benefitProgramsV1Item_universal_d_BulkUpdateItemRequest = BulkUpdateItemRequest;\n  type benefitProgramsV1Item_universal_d_MaskedItem = MaskedItem;\n  type benefitProgramsV1Item_universal_d_BulkUpdateItemResponse = BulkUpdateItemResponse;\n  type benefitProgramsV1Item_universal_d_ListItemsRequest = ListItemsRequest;\n  type benefitProgramsV1Item_universal_d_ByItemSetIdAndReference = ByItemSetIdAndReference;\n  type benefitProgramsV1Item_universal_d_ByItemSetIdAndReferenceFilter = ByItemSetIdAndReferenceFilter;\n  type benefitProgramsV1Item_universal_d_ByReference = ByReference;\n  type benefitProgramsV1Item_universal_d_ByReferenceFilter = ByReferenceFilter;\n  type benefitProgramsV1Item_universal_d_ListItemsResponse = ListItemsResponse;\n  type benefitProgramsV1Item_universal_d_CountItemsRequest = CountItemsRequest;\n  type benefitProgramsV1Item_universal_d_CountItemsResponse = CountItemsResponse;\n  type benefitProgramsV1Item_universal_d_CloneItemsRequest = CloneItemsRequest;\n  type benefitProgramsV1Item_universal_d_CloneItemsResponse = CloneItemsResponse;\n  type benefitProgramsV1Item_universal_d_AllocateItemSetsRequest = AllocateItemSetsRequest;\n  type benefitProgramsV1Item_universal_d_AllocateItemSetsResponse = AllocateItemSetsResponse;\n  const benefitProgramsV1Item_universal_d_createItem: typeof createItem;\n  const benefitProgramsV1Item_universal_d_bulkCreateItem: typeof bulkCreateItem;\n  type benefitProgramsV1Item_universal_d_BulkCreateItemOptions = BulkCreateItemOptions;\n  const benefitProgramsV1Item_universal_d_deleteItem: typeof deleteItem;\n  const benefitProgramsV1Item_universal_d_bulkDeleteItem: typeof bulkDeleteItem;\n  const benefitProgramsV1Item_universal_d_bulkUpdateItem: typeof bulkUpdateItem;\n  type benefitProgramsV1Item_universal_d_BulkUpdateItemOptions = BulkUpdateItemOptions;\n  const benefitProgramsV1Item_universal_d_listItems: typeof listItems;\n  type benefitProgramsV1Item_universal_d_ListItemsOptions = ListItemsOptions;\n  const benefitProgramsV1Item_universal_d_countItems: typeof countItems;\n  type benefitProgramsV1Item_universal_d_CountItemsOptions = CountItemsOptions;\n  const benefitProgramsV1Item_universal_d_cloneItems: typeof cloneItems;\n  const benefitProgramsV1Item_universal_d_allocateItemSets: typeof allocateItemSets;\n  type benefitProgramsV1Item_universal_d_AllocateItemSetsOptions = AllocateItemSetsOptions;\n  namespace benefitProgramsV1Item_universal_d {\n    export {\n      Item$2 as Item,\n      ExtendedFields$2 as ExtendedFields,\n      benefitProgramsV1Item_universal_d_CreateItemRequest as CreateItemRequest,\n      benefitProgramsV1Item_universal_d_CreateItemResponse as CreateItemResponse,\n      benefitProgramsV1Item_universal_d_BulkCreateItemRequest as BulkCreateItemRequest,\n      benefitProgramsV1Item_universal_d_BulkCreateItemResponse as BulkCreateItemResponse,\n      BulkItemResult$1 as BulkItemResult,\n      ItemMetadata$3 as ItemMetadata,\n      ApplicationError$3 as ApplicationError,\n      BulkActionMetadata$3 as BulkActionMetadata,\n      benefitProgramsV1Item_universal_d_DeleteItemRequest as DeleteItemRequest,\n      benefitProgramsV1Item_universal_d_DeleteItemResponse as DeleteItemResponse,\n      benefitProgramsV1Item_universal_d_BulkDeleteItemRequest as BulkDeleteItemRequest,\n      benefitProgramsV1Item_universal_d_BulkDeleteItemResponse as BulkDeleteItemResponse,\n      UpdateItemRequest$1 as UpdateItemRequest,\n      UpdateItemResponse$1 as UpdateItemResponse,\n      benefitProgramsV1Item_universal_d_BulkUpdateItemRequest as BulkUpdateItemRequest,\n      benefitProgramsV1Item_universal_d_MaskedItem as MaskedItem,\n      benefitProgramsV1Item_universal_d_BulkUpdateItemResponse as BulkUpdateItemResponse,\n      GetItemRequest$1 as GetItemRequest,\n      GetItemResponse$1 as GetItemResponse,\n      benefitProgramsV1Item_universal_d_ListItemsRequest as ListItemsRequest,\n      Type$2 as Type,\n      benefitProgramsV1Item_universal_d_ByItemSetIdAndReference as ByItemSetIdAndReference,\n      benefitProgramsV1Item_universal_d_ByItemSetIdAndReferenceFilter as ByItemSetIdAndReferenceFilter,\n      benefitProgramsV1Item_universal_d_ByReference as ByReference,\n      benefitProgramsV1Item_universal_d_ByReferenceFilter as ByReferenceFilter,\n      Filter$1 as Filter,\n      FilterFilterOneOf$1 as FilterFilterOneOf,\n      CursorPaging$4 as CursorPaging,\n      benefitProgramsV1Item_universal_d_ListItemsResponse as ListItemsResponse,\n      CursorPagingMetadata$4 as CursorPagingMetadata,\n      Cursors$4 as Cursors,\n      QueryItemsRequest$1 as QueryItemsRequest,\n      CursorQuery$4 as CursorQuery,\n      CursorQueryPagingMethodOneOf$4 as CursorQueryPagingMethodOneOf,\n      Sorting$4 as Sorting,\n      SortOrder$4 as SortOrder,\n      QueryItemsResponse$1 as QueryItemsResponse,\n      benefitProgramsV1Item_universal_d_CountItemsRequest as CountItemsRequest,\n      benefitProgramsV1Item_universal_d_CountItemsResponse as CountItemsResponse,\n      benefitProgramsV1Item_universal_d_CloneItemsRequest as CloneItemsRequest,\n      benefitProgramsV1Item_universal_d_CloneItemsResponse as CloneItemsResponse,\n      benefitProgramsV1Item_universal_d_AllocateItemSetsRequest as AllocateItemSetsRequest,\n      benefitProgramsV1Item_universal_d_AllocateItemSetsResponse as AllocateItemSetsResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      UndeleteInfo$1 as UndeleteInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      benefitProgramsV1Item_universal_d_createItem as createItem,\n      benefitProgramsV1Item_universal_d_bulkCreateItem as bulkCreateItem,\n      benefitProgramsV1Item_universal_d_BulkCreateItemOptions as BulkCreateItemOptions,\n      benefitProgramsV1Item_universal_d_deleteItem as deleteItem,\n      benefitProgramsV1Item_universal_d_bulkDeleteItem as bulkDeleteItem,\n      updateItem$1 as updateItem,\n      UpdateItem$1 as UpdateItem,\n      UpdateItemOptions$1 as UpdateItemOptions,\n      benefitProgramsV1Item_universal_d_bulkUpdateItem as bulkUpdateItem,\n      benefitProgramsV1Item_universal_d_BulkUpdateItemOptions as BulkUpdateItemOptions,\n      getItem$1 as getItem,\n      benefitProgramsV1Item_universal_d_listItems as listItems,\n      benefitProgramsV1Item_universal_d_ListItemsOptions as ListItemsOptions,\n      queryItems$1 as queryItems,\n      ItemsQueryResult$1 as ItemsQueryResult,\n      ItemsQueryBuilder$1 as ItemsQueryBuilder,\n      benefitProgramsV1Item_universal_d_countItems as countItems,\n      benefitProgramsV1Item_universal_d_CountItemsOptions as CountItemsOptions,\n      benefitProgramsV1Item_universal_d_cloneItems as cloneItems,\n      benefitProgramsV1Item_universal_d_allocateItemSets as allocateItemSets,\n      benefitProgramsV1Item_universal_d_AllocateItemSetsOptions as AllocateItemSetsOptions,\n    };\n  }\n  \n  /**\n   * This represents the current state of what the beneficiary is entitled to. Pool is always created in the image of the template.\n   * + Pool supports basic lifecycle, can be paused or resumed. E.g. for recurring entitlements they should be active only when the underlying subscription is active. Redemption would fail on a non-active entitlement\n   * + Pool may be recurring. Recurrence is driven by an external system (e.g. pricing plans order billing cycle) via the grant method of this API.\n   * + Depending on user input updates to entitlement templates may cascade to entitlements in 3 different ways:\n   * + On Provision\n   * + On Grant\n   * + Immediately\n   *\n   * Entitlements much like their templates are also grouped together in packages which are identified by their id.\n   * When entitlements are provisioned from either a single template or a template package they are always assigned to a new entitlement package (id provided by the caller). This reference\n   * is then used throughout the lifecycle of the entitlement.\n   */\n  interface Pool {\n      /**\n       * Pool ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Pool was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Pool was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * PoolDefinition that this entitlement was created from\n       * @readonly\n       */\n      poolDefinitionId?: string;\n      /**\n       * Program definition from which this entitlement was provisioned from\n       * @readonly\n       */\n      programDefinitionId?: string | null;\n      /**\n       * Package that this entitlement belongs to\n       * @readonly\n       */\n      programId?: string;\n      /**\n       * Status of entitlement\n       * @readonly\n       */\n      status?: PoolStatus;\n      /** Who is getting the entitlement */\n      beneficiary?: IdentificationData$3;\n      /** Items and policies how the entitlement works */\n      details?: Details$1;\n      /**\n       * Name of the entitlement template that this Pool was provisioned from\n       * @readonly\n       */\n      displayName?: string;\n      /** Used to determine the source of the pool that is copied from the pool definition. Default is \"unknown\". */\n      namespace?: string | null;\n      /** Data extensions */\n      extendedFields?: ExtendedFields$1;\n      /**\n       * Program definition info\n       * @readonly\n       */\n      programDefinition?: ProgramDefinitionInfo;\n      /**\n       * Program info\n       * @readonly\n       */\n      program?: ProgramInfo;\n  }\n  enum PoolStatus {\n      UNDEFINED = \"UNDEFINED\",\n      ACTIVE = \"ACTIVE\",\n      PAUSED = \"PAUSED\",\n      ENDED = \"ENDED\",\n      PROVISIONING = \"PROVISIONING\"\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface Details$1 {\n      /** A set of benefits that share the credit pool and policies of the entitlement */\n      benefits?: Benefit$1[];\n      /** Settings that control the behavior of the credit pool. If this value is left empty, then the entitlement is unlimited and items should not have prices */\n      creditConfiguration?: CreditConfiguration$1;\n      /** Defines entitlement eligibility. Default policy for all items, but may be overridden by a specific item */\n      policyExpression?: PolicyExpression$1;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n  }\n  /** Groups items that share the same credit pool and policies */\n  interface Benefit$1 {\n      /** An identifier for the benefit. Should be unique per pool / pool definition. May be an empty string */\n      benefitKey?: string;\n      /**\n       * Id referencing the set of items that can be used to redeem this benefit\n       * @readonly\n       */\n      itemSetId?: string | null;\n      /** Price of the item expressed in credits */\n      price?: string | null;\n      /** Overrides the default policies in Entitlement Data */\n      policyExpression?: PolicyExpression$1;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n      /** ID of the app that provides this benefit, eg. bookings, blog or events */\n      providerAppId?: string | null;\n      /** Display name of the benefit */\n      displayName?: string | null;\n      /** Description of the benefit */\n      description?: string | null;\n  }\n  interface PolicyExpression$1 extends PolicyExpressionExpressionOneOf$1 {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot$1;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd$1;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr$1;\n      /** Represents the specific policy */\n      policyOptions?: Policy$1;\n      /** Policy expression type */\n      type?: PolicyExpressionType$1;\n  }\n  /** @oneof */\n  interface PolicyExpressionExpressionOneOf$1 {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot$1;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd$1;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr$1;\n      /** Represents the specific policy */\n      policyOptions?: Policy$1;\n  }\n  enum PolicyExpressionType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      OPERATOR_NOT = \"OPERATOR_NOT\",\n      OPERATOR_AND = \"OPERATOR_AND\",\n      OPERATOR_OR = \"OPERATOR_OR\",\n      POLICY = \"POLICY\"\n  }\n  interface PolicyExpressionNot$1 {\n      /** Expression that is negated */\n      expression?: PolicyExpression$1;\n  }\n  interface PolicyExpressionAnd$1 {\n      /** Expressions that are combined with an `AND` operator */\n      expressions?: PolicyExpression$1[];\n  }\n  interface PolicyExpressionOr$1 {\n      /** Expressions that are combined with an `OR` operator */\n      expressions?: PolicyExpression$1[];\n  }\n  interface Policy$1 extends PolicyPolicyOneOf$1 {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy$1;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy$1;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: CustomPolicy$1;\n      /** Policy type */\n      type?: Type$1;\n  }\n  /** @oneof */\n  interface PolicyPolicyOneOf$1 {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy$1;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy$1;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: CustomPolicy$1;\n  }\n  enum Type$1 {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      RATE_LIMITED = \"RATE_LIMITED\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface FixedIntervalPolicy$1 {\n      /** Weekday that this interval starts from. If this is set then to_week_day must also be set */\n      fromWeekDay?: WeekDay$1;\n      /** Weekday that this interval ends at. If this is set then from_week_day must also be set */\n      toWeekDay?: WeekDay$1;\n      /** Hour that this interval starts from. If this is set then to_hour must also be set */\n      fromHour?: number | null;\n      /** Hour that this interval ends at. If this is set then from_hour must also be set */\n      toHour?: number | null;\n      /** Minute that this interval starts from. If this is set then to_minute must also be set */\n      fromMinute?: number | null;\n      /** Minute that this interval ends at. If this is set then from_minute must also be set */\n      toMinute?: number | null;\n  }\n  enum WeekDay$1 {\n      UNKNOWN = \"UNKNOWN\",\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  interface RateLimitedPolicy$1 extends RateLimitedPolicyPeriodOneOf$1 {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy$1;\n      /** Defines how many times it's allowed to consume a item over the period */\n      times?: number;\n      /** Type of period */\n      type?: RateLimitedPolicyType$1;\n  }\n  /** @oneof */\n  interface RateLimitedPolicyPeriodOneOf$1 {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy$1;\n  }\n  enum RateLimitedPolicyType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      PER_CYCLE = \"PER_CYCLE\"\n  }\n  /** Custom policy as implemented by the Entitlement Policy Provider */\n  interface CustomPolicy$1 {\n      /** References a specific custom policy on the provider's system */\n      _id?: string;\n      /** Custom policy provider id */\n      appId?: string | null;\n      /** Additional info for this custom policy. It's going to be passed to the policy provider during eligibility checks */\n      additionalData?: Record<string, any> | null;\n  }\n  interface CreditConfiguration$1 {\n      /** The total amount of credits available for this entitlement */\n      amount?: string;\n      /** Rollover configuration */\n      rolloverConfiguration?: RolloverConfiguration$1;\n      /** Display name of the unit */\n      unitDisplayName?: string | null;\n  }\n  interface RolloverConfiguration$1 {\n      /** Determined whether unused credits are rolled over to the new cycle */\n      enabled?: boolean | null;\n      /** The maximum amount of credits to roll over on renewal. The rolled over value will be the minimum of this value and the remaining credits. */\n      amount?: string | null;\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ProgramDefinitionInfo {\n      /**\n       * Id of the program definition\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * External id of the pool definition\n       * @readonly\n       */\n      externalId?: string | null;\n  }\n  interface ProgramInfo {\n      /**\n       * Id of the program\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * External id of the program\n       * @readonly\n       */\n      externalId?: string | null;\n  }\n  interface CreatePoolRequest {\n      /** Pool to be created */\n      pool: Pool;\n  }\n  interface CreatePoolResponse {\n      /** The created Pool */\n      pool?: Pool;\n  }\n  interface GetPoolRequest {\n      /** Id of the Pool to retrieve */\n      poolId: string;\n  }\n  interface GetPoolResponse {\n      /** The retrieved Pool */\n      pool?: Pool;\n  }\n  interface UpdatePoolRequest {\n      /** Pool to be updated, may be partial */\n      pool: Pool;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdatePoolResponse {\n      /** The updated Pool */\n      pool?: Pool;\n  }\n  interface DeletePoolRequest {\n      /** Id of the Pool to delete */\n      poolId: string;\n  }\n  interface DeletePoolResponse {\n  }\n  interface QueryPoolsRequest {\n      /** WQL expression */\n      query: CursorQuery$3;\n  }\n  interface CursorQuery$3 extends CursorQueryPagingMethodOneOf$3 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$3 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$3 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryPoolsResponse {\n      /** The retrieved Pools */\n      pools?: Pool[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata$3;\n  }\n  interface CursorPagingMetadata$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$3;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$3 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface RedeemBenefitRequest {\n      /** Id of the pool that is being redeemed from */\n      poolId: string;\n      /** Reference of the item that is being redeemed */\n      itemReference: ItemReference;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Number of of items to redeem */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by benefit policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the benefit. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$3;\n      /** Namespace of the pool */\n      namespace?: string;\n  }\n  interface ItemReference {\n      /** External Id of the item */\n      externalId?: string;\n      /** Item category */\n      category?: string;\n      /** Item provider app Id */\n      providerAppId?: string;\n  }\n  interface RedeemBenefitResponse {\n      /** Id of the resulting transaction */\n      transactionId?: string;\n  }\n  interface BenefitRedeemed {\n      /** Pool which has been redeemed */\n      pool?: Pool;\n      /** Details of the redemption */\n      redemptionDetails?: RedemptionDetails;\n  }\n  interface RedemptionDetails {\n      /** Id of the redemption transaction */\n      transactionId?: string;\n      /** Reference of the item that is being redeemed */\n      itemReference?: ItemReference;\n      /** Number of of items to redeem */\n      itemCount?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by entitlement providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey?: string;\n      /** Additional info provided during redemption */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the entitlement */\n      beneficiary?: IdentificationData$3;\n  }\n  interface NotEnoughBalance {\n      /** Pool ID */\n      poolId?: string;\n      /** Item reference */\n      itemReference?: ItemReference;\n      /** Price of the item expressed in credits */\n      availableBalance?: string;\n      /** Price of the item expressed in credits */\n      requestedBalance?: string;\n  }\n  interface PolicyExpressionEvaluatedToFalse {\n      /** Pool ID */\n      poolId?: string;\n      /** Item reference */\n      itemReference?: ItemReference;\n      /** Failure details */\n      failureDetails?: FailureDetails[];\n  }\n  interface FailureDetails {\n      /** Failure code */\n      code?: string;\n      /** Failure message */\n      message?: string | null;\n      /** Policy id */\n      policyId?: string | null;\n      /** App that owns the policy */\n      appId?: string | null;\n      /** Information provided by the policy */\n      errorData?: Record<string, any> | null;\n  }\n  interface PoolNotActive {\n      /** Pool ID */\n      poolId?: string;\n      /** Pool status */\n      poolStatus?: PoolStatus;\n  }\n  interface BenefitAlreadyRedeemed {\n      /** Pool ID */\n      poolId?: string;\n      /** Idempotency key of the request that failed */\n      idempotencyKey?: string;\n  }\n  interface BenefitNotFound {\n      /** Pool ID */\n      poolId?: string;\n      /** Key of the referenced benefit, if provided */\n      benefitKey?: string | null;\n  }\n  interface ReserveBenefitRequest {\n      /** Id of the pool that is being redeemed from */\n      poolId: string;\n      /** Reference of the item that is being redeemed */\n      itemReference: ItemReference;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Number of items to redeem */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by benefit policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the benefit. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$3;\n      /** Namespace of the pool */\n      namespace?: string;\n  }\n  interface ReserveBenefitResponse {\n      /** Id of the transaction that was created as a result of this request */\n      transactionId?: string;\n  }\n  interface BenefitReserved {\n      /** Pool which was used to perform this transaction */\n      pool?: Pool;\n      /** Details of the redemption */\n      redemptionDetails?: RedemptionDetails;\n  }\n  interface CancelBenefitReservationRequest {\n      /** Id of the transaction that was created as a result of this request */\n      transactionId: string;\n  }\n  interface CancelBenefitReservationResponse {\n      /** Id of the transaction that was created as a result of this request */\n      transactionId?: string;\n  }\n  interface BenefitReservationCanceled {\n      /** Pool which was used to perform this transaction */\n      pool?: Pool;\n      /** Id of the canceled reservation transaction */\n      transactionId?: string;\n  }\n  interface ReleaseBenefitReservationRequest {\n      /** Id of the transaction that was created as a result of this request */\n      transactionId: string;\n  }\n  interface ReleaseBenefitReservationResponse {\n      /** Id of the transaction that was created as a result of this request */\n      transactionId?: string;\n  }\n  interface BenefitReservationReleased {\n      /** Pool which was used to perform this transaction */\n      pool?: Pool;\n      /** Id of the released reservation transaction */\n      transactionId?: string;\n  }\n  interface CheckBenefitEligibilityRequest {\n      /** Id of the pool to check eligibility for */\n      poolId: string;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Reference of the item for which to check benefit's eligibility */\n      itemReference: ItemReference;\n      /** Number of items to check eligibility for. This number if checked against the policies and credit pool of the pools */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by benefit policy providers\n       */\n      targetDate?: Date;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the benefit. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$3;\n      /** Namespace of the pool */\n      namespace?: string;\n  }\n  interface CheckBenefitEligibilityResponse {\n      /** The result of the eligibility check. Indicates whether the benefit is eligible for redemption, and if not, returns the reason */\n      result?: EligibilityCheckResult;\n  }\n  interface EligibilityCheckResult extends EligibilityCheckResultResultOneOf {\n      /** Set when eligibility check passed */\n      eligibleOptions?: Eligible;\n      /** Set when not enough balance */\n      notEnoughBalanceOptions?: NotEnoughBalance;\n      /** Set when policy expression evaluated to false */\n      policyExpressionEvaluatedToFalseOptions?: PolicyExpressionEvaluatedToFalse;\n      /** Set when pool is not active */\n      poolNotActiveOptions?: PoolNotActive;\n      /** Set when benefit not found */\n      benefitNotFoundOptions?: BenefitNotFound;\n      /** Set when pool not found */\n      poolNotFoundOptions?: PoolNotFound;\n      /** Type of the result */\n      type?: EligibilityCheckResultType;\n  }\n  /** @oneof */\n  interface EligibilityCheckResultResultOneOf {\n      /** Set when eligibility check passed */\n      eligibleOptions?: Eligible;\n      /** Set when not enough balance */\n      notEnoughBalanceOptions?: NotEnoughBalance;\n      /** Set when policy expression evaluated to false */\n      policyExpressionEvaluatedToFalseOptions?: PolicyExpressionEvaluatedToFalse;\n      /** Set when pool is not active */\n      poolNotActiveOptions?: PoolNotActive;\n      /** Set when benefit not found */\n      benefitNotFoundOptions?: BenefitNotFound;\n      /** Set when pool not found */\n      poolNotFoundOptions?: PoolNotFound;\n  }\n  interface EligibleBenefit {\n      /**\n       * Pool ID\n       * @readonly\n       */\n      poolId?: string;\n      /** A unique identifier for the group. May be empty, but only one group can have an empty key */\n      benefitKey?: string;\n      /** Item reference */\n      itemReference?: ItemReference;\n      /** Price of the item expressed in credits */\n      price?: string | null;\n  }\n  enum EligibilityCheckResultType {\n      UNKNOWN = \"UNKNOWN\",\n      ELIGIBLE = \"ELIGIBLE\",\n      NOT_ENOUGH_BALANCE = \"NOT_ENOUGH_BALANCE\",\n      POLICY_EXPRESSION_EVALUATED_TO_FALSE = \"POLICY_EXPRESSION_EVALUATED_TO_FALSE\",\n      POOL_NOT_ACTIVE = \"POOL_NOT_ACTIVE\",\n      BENEFIT_NOT_FOUND = \"BENEFIT_NOT_FOUND\",\n      POOL_NOT_FOUND = \"POOL_NOT_FOUND\"\n  }\n  interface Eligible {\n      /** Eligible benefits */\n      eligibleBenefits?: EligibleBenefit[];\n  }\n  interface PoolNotFound {\n      /** Pool ID */\n      poolId?: string;\n  }\n  interface BulkCheckBenefitEligibilityRequest {\n      /** Benefits to check eligibility for */\n      benefitSelectors?: BenefitSelector[];\n      /** Namespace of the benefits */\n      namespace?: string;\n      /** Beneficiary of the benefit. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$3;\n  }\n  interface BenefitSelector {\n      /** Id of the pool to check eligibility for */\n      poolId?: string;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Reference of the item for which to check benefit's eligibility */\n      itemReference?: ItemReference;\n      /** Number of items to check eligibility for. This number if checked against the policies and credit pool of the pools */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by benefit policy providers\n       */\n      targetDate?: Date;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n  }\n  interface BulkCheckBenefitEligibilityResponse {\n      /** Benefit eligibility check results */\n      results?: BulkEligibilityCheckResult[];\n  }\n  interface BulkEligibilityCheckResult {\n      /** Evaluated request */\n      benefitSelector?: BenefitSelector;\n      /** Eligibility check result */\n      result?: EligibilityCheckResult;\n  }\n  interface GetEligibleBenefitsRequest {\n      /** Reference of the item for which all eligible pools will be returned */\n      itemReference: ItemReference;\n      /** Number of items to check eligibility for. This number is checked against the policies and credit pool of the pools */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by benefit policy providers\n       */\n      targetDate?: Date;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the benefit. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$3;\n      /** Namespace of the pool */\n      namespace?: string;\n  }\n  interface GetEligibleBenefitsResponse {\n      /** Eligible benefits */\n      eligibleBenefits?: EligibleBenefit[];\n  }\n  interface ListPoolsRequest {\n      /** The filter */\n      filter?: Filter;\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$3;\n  }\n  enum ListPoolsRequestType {\n      UNKNOWN_FILTER = \"UNKNOWN_FILTER\",\n      BY_ITEM_REFERENCE = \"BY_ITEM_REFERENCE\"\n  }\n  interface ByItemReference {\n      /** A list of filters */\n      filters?: ByItemReferenceFilter[];\n      /** Beneficiary of the pool */\n      beneficiary?: IdentificationData$3;\n      /** Returns pools that are in the following statuses */\n      poolStatuses?: PoolStatus[];\n  }\n  interface ByItemReferenceFilter {\n      /** Reference of the item */\n      itemReference?: ItemReference;\n  }\n  interface Filter extends FilterFilterOneOf {\n      /** A list of filters by reference */\n      byItemReferenceOptions?: ByItemReference;\n      /** Type of the filter */\n      type?: ListPoolsRequestType;\n      /** Pool namespace */\n      namespace?: string;\n  }\n  /** @oneof */\n  interface FilterFilterOneOf {\n      /** A list of filters by reference */\n      byItemReferenceOptions?: ByItemReference;\n  }\n  interface ListPoolsResponse {\n      /** The retrieved pools */\n      pools?: PoolWithItems[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata$3;\n  }\n  interface PoolWithItems {\n      /** The pool */\n      pool?: Pool;\n      /** The items in the pool */\n      itemReference?: ItemReference[];\n  }\n  interface BulkUpdatePoolRequest {\n      /** Pools to be added */\n      pools?: MaskedPool[];\n      /** set to `true` if you wish to receive back the delete items in the response */\n      returnEntity?: boolean;\n  }\n  interface MaskedPool {\n      /** Pool to be updated, may be partial */\n      pool?: Pool;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdatePoolResponse {\n      /** Pool that were updated */\n      results?: BulkPoolResult[];\n      /** Bulk action metadata */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkPoolResult {\n      /** Pool metadata */\n      poolMetadata?: ItemMetadata$2;\n      /** Only exists if `returnEntity` was set to true in the request */\n      pool?: Pool;\n  }\n  interface ItemMetadata$2 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$2;\n  }\n  interface ApplicationError$2 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$2 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ProvisionPoolsForProgramRequest {\n      /** Reference of the template that is used to provision the pools */\n      poolDefinitionReference?: PoolDefinitionReference;\n      /** Program that the provisioned pools are part of */\n      programId?: string;\n  }\n  interface PoolDefinitionReference extends PoolDefinitionReferenceIdOneOf {\n      /** Individual entitlement pool definition */\n      poolDefinitionId?: string;\n      /** Program definition key */\n      programDefinitionId?: string;\n  }\n  /** @oneof */\n  interface PoolDefinitionReferenceIdOneOf {\n      /** Individual entitlement pool definition */\n      poolDefinitionId?: string;\n      /** Program definition key */\n      programDefinitionId?: string;\n  }\n  interface ProvisionPoolsForProgramResponse {\n      /** Job id of the provision job */\n      jobId?: string;\n  }\n  interface PoolProvisioned {\n      /** Pool which has been provisioned */\n      pool?: Pool;\n  }\n  interface InvalidPoolDefinitionReference {\n      /** Reference of the template that didn't find any pool definitions */\n      poolDefinitionReference?: PoolDefinitionReference;\n  }\n  interface RenewPoolsForProgramRequest {\n      /** Package of pools to grant. Package id should be the same that was used to provision programs. */\n      programId?: string;\n  }\n  interface RenewPoolsForProgramResponse {\n      /** Job id of the renewal job */\n      jobId?: string;\n  }\n  interface PoolRenewed {\n      /** Pool which has been granted */\n      pool?: Pool;\n  }\n  interface UpdatePoolStatusRequest extends UpdatePoolStatusRequestPoolSelectorOneOf {\n      byPoolDefinitionIdAndProgramDefinitionIdOptions?: ByPoolDefinitionIdAndProgramDefinitionIdOptions;\n      byProgramIdOptions?: ByProgramIdOptions;\n      /** New pool status */\n      status?: PoolStatus;\n      /** Pool selector type */\n      poolSelectorType?: PoolSelectorType;\n  }\n  /** @oneof */\n  interface UpdatePoolStatusRequestPoolSelectorOneOf {\n      byPoolDefinitionIdAndProgramDefinitionIdOptions?: ByPoolDefinitionIdAndProgramDefinitionIdOptions;\n      byProgramIdOptions?: ByProgramIdOptions;\n  }\n  enum ProgramStatus {\n      UNDEFINED = \"UNDEFINED\",\n      ACTIVE = \"ACTIVE\",\n      PAUSED = \"PAUSED\",\n      ENDED = \"ENDED\",\n      PROVISIONING = \"PROVISIONING\",\n      PAUSING = \"PAUSING\",\n      RESUMING = \"RESUMING\",\n      ENDING = \"ENDING\"\n  }\n  enum PoolSelectorType {\n      UNKNOWN_SELECTOR = \"UNKNOWN_SELECTOR\",\n      BY_POOL_DEFINITION_ID_AND_PROGRAM_DEFINITION_ID = \"BY_POOL_DEFINITION_ID_AND_PROGRAM_DEFINITION_ID\",\n      BY_PROGRAM_ID = \"BY_PROGRAM_ID\"\n  }\n  interface ByPoolDefinitionIdAndProgramDefinitionIdOptions {\n      poolDefinitionId?: string;\n      programDefinitionId?: string | null;\n  }\n  interface ByProgramIdOptions {\n      /** Program id */\n      programId?: string;\n      /** The previous status of the program */\n      currentProgramStatus?: ProgramStatus;\n      /** The target status of the program once the async job is complete */\n      targetProgramStatus?: ProgramStatus;\n  }\n  interface UpdatePoolStatusResponse {\n      /** Job id of the provision job */\n      jobId?: string;\n  }\n  interface CountNumberOfPoolsInProvisioningStatusRequest {\n      /** Program id */\n      programId?: string;\n  }\n  interface CountNumberOfPoolsInProvisioningStatusResponse {\n      /** Number of pools in provisioning status */\n      count?: number;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      undeleteInfo?: UndeleteInfo;\n  }\n  interface UndeleteInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData$1 extends WebhooksIdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new Pool\n   * @param pool - Pool to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField pool\n   * @adminMethod\n   * @returns The created Pool\n   */\n  function createPool(pool: Pool): Promise<Pool>;\n  /**\n   * Get an Pool by id\n   * @param poolId - Id of the Pool to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField poolId\n   * @adminMethod\n   * @returns The retrieved Pool\n   */\n  function getPool(poolId: string): Promise<Pool>;\n  /**\n   * Update an Pool, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - Pool ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField pool\n   * @requiredField pool.revision\n   * @adminMethod\n   * @returns The updated Pool\n   */\n  function updatePool(_id: string | null, pool: UpdatePool, options?: UpdatePoolOptions): Promise<Pool>;\n  interface UpdatePool {\n      /**\n       * Pool ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Pool was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Pool was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * PoolDefinition that this entitlement was created from\n       * @readonly\n       */\n      poolDefinitionId?: string;\n      /**\n       * Program definition from which this entitlement was provisioned from\n       * @readonly\n       */\n      programDefinitionId?: string | null;\n      /**\n       * Package that this entitlement belongs to\n       * @readonly\n       */\n      programId?: string;\n      /**\n       * Status of entitlement\n       * @readonly\n       */\n      status?: PoolStatus;\n      /** Who is getting the entitlement */\n      beneficiary?: IdentificationData$3;\n      /** Items and policies how the entitlement works */\n      details?: Details$1;\n      /**\n       * Name of the entitlement template that this Pool was provisioned from\n       * @readonly\n       */\n      displayName?: string;\n      /** Used to determine the source of the pool that is copied from the pool definition. Default is \"unknown\". */\n      namespace?: string | null;\n      /** Data extensions */\n      extendedFields?: ExtendedFields$1;\n      /**\n       * Program definition info\n       * @readonly\n       */\n      programDefinition?: ProgramDefinitionInfo;\n      /**\n       * Program info\n       * @readonly\n       */\n      program?: ProgramInfo;\n  }\n  interface UpdatePoolOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Delete an Pool\n   * @param poolId - Id of the Pool to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField poolId\n   * @adminMethod\n   */\n  function deletePool(poolId: string): Promise<void>;\n  /**\n   * Query Pools using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryPools(): PoolsQueryBuilder;\n  interface QueryCursorResult$3 {\n      cursors: Cursors$3;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface PoolsQueryResult extends QueryCursorResult$3 {\n      items: Pool[];\n      query: PoolsQueryBuilder;\n      next: () => Promise<PoolsQueryResult>;\n      prev: () => Promise<PoolsQueryResult>;\n  }\n  interface PoolsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'poolDefinitionId' | 'programDefinitionId' | 'programId' | 'status' | 'beneficiary' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace' | 'programDefinition.id' | 'program.id', value: any) => PoolsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'poolDefinitionId' | 'programDefinitionId' | 'programId' | 'status' | 'beneficiary' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace' | 'programDefinition.id' | 'program.id', value: any) => PoolsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'poolDefinitionId' | 'programDefinitionId' | 'programId' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace' | 'programDefinition.id' | 'program.id', value: string) => PoolsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'poolDefinitionId' | 'programDefinitionId' | 'programId' | 'status' | 'beneficiary' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace' | 'programDefinition.id' | 'program.id', value: any[]) => PoolsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'poolDefinitionId' | 'programDefinitionId' | 'programId' | 'status' | 'beneficiary' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace' | 'programDefinition.id' | 'program.id', value: any) => PoolsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'poolDefinitionId' | 'programDefinitionId' | 'programId' | 'status' | 'beneficiary' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace' | 'programDefinition.id' | 'program.id', value: boolean) => PoolsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'poolDefinitionId' | 'programDefinitionId' | 'programId' | 'status' | 'beneficiary' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace' | 'programDefinition.id' | 'program.id'>) => PoolsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'poolDefinitionId' | 'programDefinitionId' | 'programId' | 'status' | 'beneficiary' | 'beneficiary.memberId' | 'beneficiary.wixUserId' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace' | 'programDefinition.id' | 'program.id'>) => PoolsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => PoolsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => PoolsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<PoolsQueryResult>;\n  }\n  /**\n   * Redeems the requested number of credits for one specific item\n   * @param poolId - Id of the pool that is being redeemed from\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.idempotencyKey\n   * @requiredField options.itemReference\n   * @requiredField options.itemReference.externalId\n   * @requiredField poolId\n   * @adminMethod\n   */\n  function redeemBenefit(poolId: string, options?: RedeemBenefitOptions): Promise<RedeemBenefitResponse>;\n  interface RedeemBenefitOptions {\n      /** Reference of the item that is being redeemed */\n      itemReference: ItemReference;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Number of of items to redeem */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by benefit policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the benefit. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$3;\n      /** Namespace of the pool */\n      namespace?: string;\n  }\n  /**\n   * Performed as two-part redemption\n   * @param poolId - Id of the pool that is being redeemed from\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.idempotencyKey\n   * @requiredField options.itemReference\n   * @requiredField options.itemReference.externalId\n   * @requiredField poolId\n   * @adminMethod\n   */\n  function reserveBenefit(poolId: string, options?: ReserveBenefitOptions): Promise<ReserveBenefitResponse>;\n  interface ReserveBenefitOptions {\n      /** Reference of the item that is being redeemed */\n      itemReference: ItemReference;\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Number of items to redeem */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by benefit policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the benefit. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$3;\n      /** Namespace of the pool */\n      namespace?: string;\n  }\n  /**\n   * Performed as two-part redemption\n   * @param transactionId - Id of the transaction that was created as a result of this request\n   * @public\n   * @documentationMaturity preview\n   * @requiredField transactionId\n   * @adminMethod\n   */\n  function cancelBenefitReservation(transactionId: string): Promise<CancelBenefitReservationResponse>;\n  /**\n   * Performed as two-part redemption\n   * @param transactionId - Id of the transaction that was created as a result of this request\n   * @public\n   * @documentationMaturity preview\n   * @requiredField transactionId\n   * @adminMethod\n   */\n  function releaseBenefitReservation(transactionId: string): Promise<ReleaseBenefitReservationResponse>;\n  /**\n   * Performed as part of redemption, but can be called on its own\n   * @param poolId - Id of the pool to check eligibility for\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.itemReference\n   * @requiredField options.itemReference.externalId\n   * @requiredField poolId\n   * @adminMethod\n   */\n  function checkBenefitEligibility(poolId: string, options?: CheckBenefitEligibilityOptions): Promise<CheckBenefitEligibilityResponse>;\n  interface CheckBenefitEligibilityOptions {\n      /** If provided it will force the redemption to be done from the specific benefit instead of the first eligible one */\n      benefitKey?: string | null;\n      /** Reference of the item for which to check benefit's eligibility */\n      itemReference: ItemReference;\n      /** Number of items to check eligibility for. This number if checked against the policies and credit pool of the pools */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by benefit policy providers\n       */\n      targetDate?: Date;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the benefit. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$3;\n      /** Namespace of the pool */\n      namespace?: string;\n  }\n  /**\n   * Bulk version of the CheckBenefitEligibility endpoint\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.benefitSelectors.itemReference\n   * @requiredField options.benefitSelectors.itemReference.externalId\n   * @requiredField options.benefitSelectors.poolId\n   * @adminMethod\n   */\n  function bulkCheckBenefitEligibility(options?: BulkCheckBenefitEligibilityOptions): Promise<BulkCheckBenefitEligibilityResponse>;\n  interface BulkCheckBenefitEligibilityOptions {\n      /** Benefits to check eligibility for */\n      benefitSelectors?: BenefitSelector[];\n      /** Namespace of the benefits */\n      namespace?: string;\n      /** Beneficiary of the benefit. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$3;\n  }\n  /**\n   * Performed as part of redemption, but can be called on its own\n   * @param itemReference - Reference of the item for which all eligible pools will be returned\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemReference\n   * @requiredField itemReference.externalId\n   * @adminMethod\n   */\n  function getEligibleBenefits(itemReference: ItemReference, options?: GetEligibleBenefitsOptions): Promise<GetEligibleBenefitsResponse>;\n  interface GetEligibleBenefitsOptions {\n      /** Number of items to check eligibility for. This number is checked against the policies and credit pool of the pools */\n      count?: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by benefit policy providers\n       */\n      targetDate?: Date;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n      /** Beneficiary of the benefit. If not provided, will use the identity in the context */\n      beneficiary?: IdentificationData$3;\n      /** Namespace of the pool */\n      namespace?: string;\n  }\n  /**\n   * Get all pools matching the filter\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listPools(options?: ListPoolsOptions): Promise<ListPoolsResponse>;\n  interface ListPoolsOptions {\n      /** The filter */\n      filter?: Filter;\n      /** Cursor paging */\n      cursorPaging?: CursorPaging$3;\n  }\n  /**\n   * Update the Pool, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.pools.pool\n   * @requiredField options.pools.pool._id\n   * @requiredField options.pools.pool.revision\n   * @adminMethod\n   */\n  function bulkUpdatePool(options?: BulkUpdatePoolOptions): Promise<BulkUpdatePoolResponse>;\n  interface BulkUpdatePoolOptions {\n      /** Pools to be added */\n      pools?: MaskedPool[];\n      /** set to `true` if you wish to receive back the delete items in the response */\n      returnEntity?: boolean;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function countNumberOfPoolsInProvisioningStatus(options?: CountNumberOfPoolsInProvisioningStatusOptions): Promise<CountNumberOfPoolsInProvisioningStatusResponse>;\n  interface CountNumberOfPoolsInProvisioningStatusOptions {\n      /** Program id */\n      programId?: string;\n  }\n  \n  type benefitProgramsV1Pool_universal_d_Pool = Pool;\n  type benefitProgramsV1Pool_universal_d_PoolStatus = PoolStatus;\n  const benefitProgramsV1Pool_universal_d_PoolStatus: typeof PoolStatus;\n  type benefitProgramsV1Pool_universal_d_ProgramDefinitionInfo = ProgramDefinitionInfo;\n  type benefitProgramsV1Pool_universal_d_ProgramInfo = ProgramInfo;\n  type benefitProgramsV1Pool_universal_d_CreatePoolRequest = CreatePoolRequest;\n  type benefitProgramsV1Pool_universal_d_CreatePoolResponse = CreatePoolResponse;\n  type benefitProgramsV1Pool_universal_d_GetPoolRequest = GetPoolRequest;\n  type benefitProgramsV1Pool_universal_d_GetPoolResponse = GetPoolResponse;\n  type benefitProgramsV1Pool_universal_d_UpdatePoolRequest = UpdatePoolRequest;\n  type benefitProgramsV1Pool_universal_d_UpdatePoolResponse = UpdatePoolResponse;\n  type benefitProgramsV1Pool_universal_d_DeletePoolRequest = DeletePoolRequest;\n  type benefitProgramsV1Pool_universal_d_DeletePoolResponse = DeletePoolResponse;\n  type benefitProgramsV1Pool_universal_d_QueryPoolsRequest = QueryPoolsRequest;\n  type benefitProgramsV1Pool_universal_d_QueryPoolsResponse = QueryPoolsResponse;\n  type benefitProgramsV1Pool_universal_d_RedeemBenefitRequest = RedeemBenefitRequest;\n  type benefitProgramsV1Pool_universal_d_ItemReference = ItemReference;\n  type benefitProgramsV1Pool_universal_d_RedeemBenefitResponse = RedeemBenefitResponse;\n  type benefitProgramsV1Pool_universal_d_BenefitRedeemed = BenefitRedeemed;\n  type benefitProgramsV1Pool_universal_d_RedemptionDetails = RedemptionDetails;\n  type benefitProgramsV1Pool_universal_d_NotEnoughBalance = NotEnoughBalance;\n  type benefitProgramsV1Pool_universal_d_PolicyExpressionEvaluatedToFalse = PolicyExpressionEvaluatedToFalse;\n  type benefitProgramsV1Pool_universal_d_FailureDetails = FailureDetails;\n  type benefitProgramsV1Pool_universal_d_PoolNotActive = PoolNotActive;\n  type benefitProgramsV1Pool_universal_d_BenefitAlreadyRedeemed = BenefitAlreadyRedeemed;\n  type benefitProgramsV1Pool_universal_d_BenefitNotFound = BenefitNotFound;\n  type benefitProgramsV1Pool_universal_d_ReserveBenefitRequest = ReserveBenefitRequest;\n  type benefitProgramsV1Pool_universal_d_ReserveBenefitResponse = ReserveBenefitResponse;\n  type benefitProgramsV1Pool_universal_d_BenefitReserved = BenefitReserved;\n  type benefitProgramsV1Pool_universal_d_CancelBenefitReservationRequest = CancelBenefitReservationRequest;\n  type benefitProgramsV1Pool_universal_d_CancelBenefitReservationResponse = CancelBenefitReservationResponse;\n  type benefitProgramsV1Pool_universal_d_BenefitReservationCanceled = BenefitReservationCanceled;\n  type benefitProgramsV1Pool_universal_d_ReleaseBenefitReservationRequest = ReleaseBenefitReservationRequest;\n  type benefitProgramsV1Pool_universal_d_ReleaseBenefitReservationResponse = ReleaseBenefitReservationResponse;\n  type benefitProgramsV1Pool_universal_d_BenefitReservationReleased = BenefitReservationReleased;\n  type benefitProgramsV1Pool_universal_d_CheckBenefitEligibilityRequest = CheckBenefitEligibilityRequest;\n  type benefitProgramsV1Pool_universal_d_CheckBenefitEligibilityResponse = CheckBenefitEligibilityResponse;\n  type benefitProgramsV1Pool_universal_d_EligibilityCheckResult = EligibilityCheckResult;\n  type benefitProgramsV1Pool_universal_d_EligibilityCheckResultResultOneOf = EligibilityCheckResultResultOneOf;\n  type benefitProgramsV1Pool_universal_d_EligibleBenefit = EligibleBenefit;\n  type benefitProgramsV1Pool_universal_d_EligibilityCheckResultType = EligibilityCheckResultType;\n  const benefitProgramsV1Pool_universal_d_EligibilityCheckResultType: typeof EligibilityCheckResultType;\n  type benefitProgramsV1Pool_universal_d_Eligible = Eligible;\n  type benefitProgramsV1Pool_universal_d_PoolNotFound = PoolNotFound;\n  type benefitProgramsV1Pool_universal_d_BulkCheckBenefitEligibilityRequest = BulkCheckBenefitEligibilityRequest;\n  type benefitProgramsV1Pool_universal_d_BenefitSelector = BenefitSelector;\n  type benefitProgramsV1Pool_universal_d_BulkCheckBenefitEligibilityResponse = BulkCheckBenefitEligibilityResponse;\n  type benefitProgramsV1Pool_universal_d_BulkEligibilityCheckResult = BulkEligibilityCheckResult;\n  type benefitProgramsV1Pool_universal_d_GetEligibleBenefitsRequest = GetEligibleBenefitsRequest;\n  type benefitProgramsV1Pool_universal_d_GetEligibleBenefitsResponse = GetEligibleBenefitsResponse;\n  type benefitProgramsV1Pool_universal_d_ListPoolsRequest = ListPoolsRequest;\n  type benefitProgramsV1Pool_universal_d_ListPoolsRequestType = ListPoolsRequestType;\n  const benefitProgramsV1Pool_universal_d_ListPoolsRequestType: typeof ListPoolsRequestType;\n  type benefitProgramsV1Pool_universal_d_ByItemReference = ByItemReference;\n  type benefitProgramsV1Pool_universal_d_ByItemReferenceFilter = ByItemReferenceFilter;\n  type benefitProgramsV1Pool_universal_d_Filter = Filter;\n  type benefitProgramsV1Pool_universal_d_FilterFilterOneOf = FilterFilterOneOf;\n  type benefitProgramsV1Pool_universal_d_ListPoolsResponse = ListPoolsResponse;\n  type benefitProgramsV1Pool_universal_d_PoolWithItems = PoolWithItems;\n  type benefitProgramsV1Pool_universal_d_BulkUpdatePoolRequest = BulkUpdatePoolRequest;\n  type benefitProgramsV1Pool_universal_d_MaskedPool = MaskedPool;\n  type benefitProgramsV1Pool_universal_d_BulkUpdatePoolResponse = BulkUpdatePoolResponse;\n  type benefitProgramsV1Pool_universal_d_BulkPoolResult = BulkPoolResult;\n  type benefitProgramsV1Pool_universal_d_ProvisionPoolsForProgramRequest = ProvisionPoolsForProgramRequest;\n  type benefitProgramsV1Pool_universal_d_PoolDefinitionReference = PoolDefinitionReference;\n  type benefitProgramsV1Pool_universal_d_PoolDefinitionReferenceIdOneOf = PoolDefinitionReferenceIdOneOf;\n  type benefitProgramsV1Pool_universal_d_ProvisionPoolsForProgramResponse = ProvisionPoolsForProgramResponse;\n  type benefitProgramsV1Pool_universal_d_PoolProvisioned = PoolProvisioned;\n  type benefitProgramsV1Pool_universal_d_InvalidPoolDefinitionReference = InvalidPoolDefinitionReference;\n  type benefitProgramsV1Pool_universal_d_RenewPoolsForProgramRequest = RenewPoolsForProgramRequest;\n  type benefitProgramsV1Pool_universal_d_RenewPoolsForProgramResponse = RenewPoolsForProgramResponse;\n  type benefitProgramsV1Pool_universal_d_PoolRenewed = PoolRenewed;\n  type benefitProgramsV1Pool_universal_d_UpdatePoolStatusRequest = UpdatePoolStatusRequest;\n  type benefitProgramsV1Pool_universal_d_UpdatePoolStatusRequestPoolSelectorOneOf = UpdatePoolStatusRequestPoolSelectorOneOf;\n  type benefitProgramsV1Pool_universal_d_ProgramStatus = ProgramStatus;\n  const benefitProgramsV1Pool_universal_d_ProgramStatus: typeof ProgramStatus;\n  type benefitProgramsV1Pool_universal_d_PoolSelectorType = PoolSelectorType;\n  const benefitProgramsV1Pool_universal_d_PoolSelectorType: typeof PoolSelectorType;\n  type benefitProgramsV1Pool_universal_d_ByPoolDefinitionIdAndProgramDefinitionIdOptions = ByPoolDefinitionIdAndProgramDefinitionIdOptions;\n  type benefitProgramsV1Pool_universal_d_ByProgramIdOptions = ByProgramIdOptions;\n  type benefitProgramsV1Pool_universal_d_UpdatePoolStatusResponse = UpdatePoolStatusResponse;\n  type benefitProgramsV1Pool_universal_d_CountNumberOfPoolsInProvisioningStatusRequest = CountNumberOfPoolsInProvisioningStatusRequest;\n  type benefitProgramsV1Pool_universal_d_CountNumberOfPoolsInProvisioningStatusResponse = CountNumberOfPoolsInProvisioningStatusResponse;\n  type benefitProgramsV1Pool_universal_d_UndeleteInfo = UndeleteInfo;\n  const benefitProgramsV1Pool_universal_d_createPool: typeof createPool;\n  const benefitProgramsV1Pool_universal_d_getPool: typeof getPool;\n  const benefitProgramsV1Pool_universal_d_updatePool: typeof updatePool;\n  type benefitProgramsV1Pool_universal_d_UpdatePool = UpdatePool;\n  type benefitProgramsV1Pool_universal_d_UpdatePoolOptions = UpdatePoolOptions;\n  const benefitProgramsV1Pool_universal_d_deletePool: typeof deletePool;\n  const benefitProgramsV1Pool_universal_d_queryPools: typeof queryPools;\n  type benefitProgramsV1Pool_universal_d_PoolsQueryResult = PoolsQueryResult;\n  type benefitProgramsV1Pool_universal_d_PoolsQueryBuilder = PoolsQueryBuilder;\n  const benefitProgramsV1Pool_universal_d_redeemBenefit: typeof redeemBenefit;\n  type benefitProgramsV1Pool_universal_d_RedeemBenefitOptions = RedeemBenefitOptions;\n  const benefitProgramsV1Pool_universal_d_reserveBenefit: typeof reserveBenefit;\n  type benefitProgramsV1Pool_universal_d_ReserveBenefitOptions = ReserveBenefitOptions;\n  const benefitProgramsV1Pool_universal_d_cancelBenefitReservation: typeof cancelBenefitReservation;\n  const benefitProgramsV1Pool_universal_d_releaseBenefitReservation: typeof releaseBenefitReservation;\n  const benefitProgramsV1Pool_universal_d_checkBenefitEligibility: typeof checkBenefitEligibility;\n  type benefitProgramsV1Pool_universal_d_CheckBenefitEligibilityOptions = CheckBenefitEligibilityOptions;\n  const benefitProgramsV1Pool_universal_d_bulkCheckBenefitEligibility: typeof bulkCheckBenefitEligibility;\n  type benefitProgramsV1Pool_universal_d_BulkCheckBenefitEligibilityOptions = BulkCheckBenefitEligibilityOptions;\n  const benefitProgramsV1Pool_universal_d_getEligibleBenefits: typeof getEligibleBenefits;\n  type benefitProgramsV1Pool_universal_d_GetEligibleBenefitsOptions = GetEligibleBenefitsOptions;\n  const benefitProgramsV1Pool_universal_d_listPools: typeof listPools;\n  type benefitProgramsV1Pool_universal_d_ListPoolsOptions = ListPoolsOptions;\n  const benefitProgramsV1Pool_universal_d_bulkUpdatePool: typeof bulkUpdatePool;\n  type benefitProgramsV1Pool_universal_d_BulkUpdatePoolOptions = BulkUpdatePoolOptions;\n  const benefitProgramsV1Pool_universal_d_countNumberOfPoolsInProvisioningStatus: typeof countNumberOfPoolsInProvisioningStatus;\n  type benefitProgramsV1Pool_universal_d_CountNumberOfPoolsInProvisioningStatusOptions = CountNumberOfPoolsInProvisioningStatusOptions;\n  namespace benefitProgramsV1Pool_universal_d {\n    export {\n      benefitProgramsV1Pool_universal_d_Pool as Pool,\n      benefitProgramsV1Pool_universal_d_PoolStatus as PoolStatus,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      IdentityType$1 as IdentityType,\n      Details$1 as Details,\n      Benefit$1 as Benefit,\n      PolicyExpression$1 as PolicyExpression,\n      PolicyExpressionExpressionOneOf$1 as PolicyExpressionExpressionOneOf,\n      PolicyExpressionType$1 as PolicyExpressionType,\n      PolicyExpressionNot$1 as PolicyExpressionNot,\n      PolicyExpressionAnd$1 as PolicyExpressionAnd,\n      PolicyExpressionOr$1 as PolicyExpressionOr,\n      Policy$1 as Policy,\n      PolicyPolicyOneOf$1 as PolicyPolicyOneOf,\n      Type$1 as Type,\n      FixedIntervalPolicy$1 as FixedIntervalPolicy,\n      WeekDay$1 as WeekDay,\n      RateLimitedPolicy$1 as RateLimitedPolicy,\n      RateLimitedPolicyPeriodOneOf$1 as RateLimitedPolicyPeriodOneOf,\n      RateLimitedPolicyType$1 as RateLimitedPolicyType,\n      CustomPolicy$1 as CustomPolicy,\n      CreditConfiguration$1 as CreditConfiguration,\n      RolloverConfiguration$1 as RolloverConfiguration,\n      ExtendedFields$1 as ExtendedFields,\n      benefitProgramsV1Pool_universal_d_ProgramDefinitionInfo as ProgramDefinitionInfo,\n      benefitProgramsV1Pool_universal_d_ProgramInfo as ProgramInfo,\n      benefitProgramsV1Pool_universal_d_CreatePoolRequest as CreatePoolRequest,\n      benefitProgramsV1Pool_universal_d_CreatePoolResponse as CreatePoolResponse,\n      benefitProgramsV1Pool_universal_d_GetPoolRequest as GetPoolRequest,\n      benefitProgramsV1Pool_universal_d_GetPoolResponse as GetPoolResponse,\n      benefitProgramsV1Pool_universal_d_UpdatePoolRequest as UpdatePoolRequest,\n      benefitProgramsV1Pool_universal_d_UpdatePoolResponse as UpdatePoolResponse,\n      benefitProgramsV1Pool_universal_d_DeletePoolRequest as DeletePoolRequest,\n      benefitProgramsV1Pool_universal_d_DeletePoolResponse as DeletePoolResponse,\n      benefitProgramsV1Pool_universal_d_QueryPoolsRequest as QueryPoolsRequest,\n      CursorQuery$3 as CursorQuery,\n      CursorQueryPagingMethodOneOf$3 as CursorQueryPagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      CursorPaging$3 as CursorPaging,\n      benefitProgramsV1Pool_universal_d_QueryPoolsResponse as QueryPoolsResponse,\n      CursorPagingMetadata$3 as CursorPagingMetadata,\n      Cursors$3 as Cursors,\n      benefitProgramsV1Pool_universal_d_RedeemBenefitRequest as RedeemBenefitRequest,\n      benefitProgramsV1Pool_universal_d_ItemReference as ItemReference,\n      benefitProgramsV1Pool_universal_d_RedeemBenefitResponse as RedeemBenefitResponse,\n      benefitProgramsV1Pool_universal_d_BenefitRedeemed as BenefitRedeemed,\n      benefitProgramsV1Pool_universal_d_RedemptionDetails as RedemptionDetails,\n      benefitProgramsV1Pool_universal_d_NotEnoughBalance as NotEnoughBalance,\n      benefitProgramsV1Pool_universal_d_PolicyExpressionEvaluatedToFalse as PolicyExpressionEvaluatedToFalse,\n      benefitProgramsV1Pool_universal_d_FailureDetails as FailureDetails,\n      benefitProgramsV1Pool_universal_d_PoolNotActive as PoolNotActive,\n      benefitProgramsV1Pool_universal_d_BenefitAlreadyRedeemed as BenefitAlreadyRedeemed,\n      benefitProgramsV1Pool_universal_d_BenefitNotFound as BenefitNotFound,\n      benefitProgramsV1Pool_universal_d_ReserveBenefitRequest as ReserveBenefitRequest,\n      benefitProgramsV1Pool_universal_d_ReserveBenefitResponse as ReserveBenefitResponse,\n      benefitProgramsV1Pool_universal_d_BenefitReserved as BenefitReserved,\n      benefitProgramsV1Pool_universal_d_CancelBenefitReservationRequest as CancelBenefitReservationRequest,\n      benefitProgramsV1Pool_universal_d_CancelBenefitReservationResponse as CancelBenefitReservationResponse,\n      benefitProgramsV1Pool_universal_d_BenefitReservationCanceled as BenefitReservationCanceled,\n      benefitProgramsV1Pool_universal_d_ReleaseBenefitReservationRequest as ReleaseBenefitReservationRequest,\n      benefitProgramsV1Pool_universal_d_ReleaseBenefitReservationResponse as ReleaseBenefitReservationResponse,\n      benefitProgramsV1Pool_universal_d_BenefitReservationReleased as BenefitReservationReleased,\n      benefitProgramsV1Pool_universal_d_CheckBenefitEligibilityRequest as CheckBenefitEligibilityRequest,\n      benefitProgramsV1Pool_universal_d_CheckBenefitEligibilityResponse as CheckBenefitEligibilityResponse,\n      benefitProgramsV1Pool_universal_d_EligibilityCheckResult as EligibilityCheckResult,\n      benefitProgramsV1Pool_universal_d_EligibilityCheckResultResultOneOf as EligibilityCheckResultResultOneOf,\n      benefitProgramsV1Pool_universal_d_EligibleBenefit as EligibleBenefit,\n      benefitProgramsV1Pool_universal_d_EligibilityCheckResultType as EligibilityCheckResultType,\n      benefitProgramsV1Pool_universal_d_Eligible as Eligible,\n      benefitProgramsV1Pool_universal_d_PoolNotFound as PoolNotFound,\n      benefitProgramsV1Pool_universal_d_BulkCheckBenefitEligibilityRequest as BulkCheckBenefitEligibilityRequest,\n      benefitProgramsV1Pool_universal_d_BenefitSelector as BenefitSelector,\n      benefitProgramsV1Pool_universal_d_BulkCheckBenefitEligibilityResponse as BulkCheckBenefitEligibilityResponse,\n      benefitProgramsV1Pool_universal_d_BulkEligibilityCheckResult as BulkEligibilityCheckResult,\n      benefitProgramsV1Pool_universal_d_GetEligibleBenefitsRequest as GetEligibleBenefitsRequest,\n      benefitProgramsV1Pool_universal_d_GetEligibleBenefitsResponse as GetEligibleBenefitsResponse,\n      benefitProgramsV1Pool_universal_d_ListPoolsRequest as ListPoolsRequest,\n      benefitProgramsV1Pool_universal_d_ListPoolsRequestType as ListPoolsRequestType,\n      benefitProgramsV1Pool_universal_d_ByItemReference as ByItemReference,\n      benefitProgramsV1Pool_universal_d_ByItemReferenceFilter as ByItemReferenceFilter,\n      benefitProgramsV1Pool_universal_d_Filter as Filter,\n      benefitProgramsV1Pool_universal_d_FilterFilterOneOf as FilterFilterOneOf,\n      benefitProgramsV1Pool_universal_d_ListPoolsResponse as ListPoolsResponse,\n      benefitProgramsV1Pool_universal_d_PoolWithItems as PoolWithItems,\n      benefitProgramsV1Pool_universal_d_BulkUpdatePoolRequest as BulkUpdatePoolRequest,\n      benefitProgramsV1Pool_universal_d_MaskedPool as MaskedPool,\n      benefitProgramsV1Pool_universal_d_BulkUpdatePoolResponse as BulkUpdatePoolResponse,\n      benefitProgramsV1Pool_universal_d_BulkPoolResult as BulkPoolResult,\n      ItemMetadata$2 as ItemMetadata,\n      ApplicationError$2 as ApplicationError,\n      BulkActionMetadata$2 as BulkActionMetadata,\n      benefitProgramsV1Pool_universal_d_ProvisionPoolsForProgramRequest as ProvisionPoolsForProgramRequest,\n      benefitProgramsV1Pool_universal_d_PoolDefinitionReference as PoolDefinitionReference,\n      benefitProgramsV1Pool_universal_d_PoolDefinitionReferenceIdOneOf as PoolDefinitionReferenceIdOneOf,\n      benefitProgramsV1Pool_universal_d_ProvisionPoolsForProgramResponse as ProvisionPoolsForProgramResponse,\n      benefitProgramsV1Pool_universal_d_PoolProvisioned as PoolProvisioned,\n      benefitProgramsV1Pool_universal_d_InvalidPoolDefinitionReference as InvalidPoolDefinitionReference,\n      benefitProgramsV1Pool_universal_d_RenewPoolsForProgramRequest as RenewPoolsForProgramRequest,\n      benefitProgramsV1Pool_universal_d_RenewPoolsForProgramResponse as RenewPoolsForProgramResponse,\n      benefitProgramsV1Pool_universal_d_PoolRenewed as PoolRenewed,\n      benefitProgramsV1Pool_universal_d_UpdatePoolStatusRequest as UpdatePoolStatusRequest,\n      benefitProgramsV1Pool_universal_d_UpdatePoolStatusRequestPoolSelectorOneOf as UpdatePoolStatusRequestPoolSelectorOneOf,\n      benefitProgramsV1Pool_universal_d_ProgramStatus as ProgramStatus,\n      benefitProgramsV1Pool_universal_d_PoolSelectorType as PoolSelectorType,\n      benefitProgramsV1Pool_universal_d_ByPoolDefinitionIdAndProgramDefinitionIdOptions as ByPoolDefinitionIdAndProgramDefinitionIdOptions,\n      benefitProgramsV1Pool_universal_d_ByProgramIdOptions as ByProgramIdOptions,\n      benefitProgramsV1Pool_universal_d_UpdatePoolStatusResponse as UpdatePoolStatusResponse,\n      benefitProgramsV1Pool_universal_d_CountNumberOfPoolsInProvisioningStatusRequest as CountNumberOfPoolsInProvisioningStatusRequest,\n      benefitProgramsV1Pool_universal_d_CountNumberOfPoolsInProvisioningStatusResponse as CountNumberOfPoolsInProvisioningStatusResponse,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      benefitProgramsV1Pool_universal_d_UndeleteInfo as UndeleteInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      WebhooksIdentificationData$1 as WebhooksIdentificationData,\n      WebhooksIdentificationDataIdOneOf$1 as WebhooksIdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      benefitProgramsV1Pool_universal_d_createPool as createPool,\n      benefitProgramsV1Pool_universal_d_getPool as getPool,\n      benefitProgramsV1Pool_universal_d_updatePool as updatePool,\n      benefitProgramsV1Pool_universal_d_UpdatePool as UpdatePool,\n      benefitProgramsV1Pool_universal_d_UpdatePoolOptions as UpdatePoolOptions,\n      benefitProgramsV1Pool_universal_d_deletePool as deletePool,\n      benefitProgramsV1Pool_universal_d_queryPools as queryPools,\n      benefitProgramsV1Pool_universal_d_PoolsQueryResult as PoolsQueryResult,\n      benefitProgramsV1Pool_universal_d_PoolsQueryBuilder as PoolsQueryBuilder,\n      benefitProgramsV1Pool_universal_d_redeemBenefit as redeemBenefit,\n      benefitProgramsV1Pool_universal_d_RedeemBenefitOptions as RedeemBenefitOptions,\n      benefitProgramsV1Pool_universal_d_reserveBenefit as reserveBenefit,\n      benefitProgramsV1Pool_universal_d_ReserveBenefitOptions as ReserveBenefitOptions,\n      benefitProgramsV1Pool_universal_d_cancelBenefitReservation as cancelBenefitReservation,\n      benefitProgramsV1Pool_universal_d_releaseBenefitReservation as releaseBenefitReservation,\n      benefitProgramsV1Pool_universal_d_checkBenefitEligibility as checkBenefitEligibility,\n      benefitProgramsV1Pool_universal_d_CheckBenefitEligibilityOptions as CheckBenefitEligibilityOptions,\n      benefitProgramsV1Pool_universal_d_bulkCheckBenefitEligibility as bulkCheckBenefitEligibility,\n      benefitProgramsV1Pool_universal_d_BulkCheckBenefitEligibilityOptions as BulkCheckBenefitEligibilityOptions,\n      benefitProgramsV1Pool_universal_d_getEligibleBenefits as getEligibleBenefits,\n      benefitProgramsV1Pool_universal_d_GetEligibleBenefitsOptions as GetEligibleBenefitsOptions,\n      benefitProgramsV1Pool_universal_d_listPools as listPools,\n      benefitProgramsV1Pool_universal_d_ListPoolsOptions as ListPoolsOptions,\n      benefitProgramsV1Pool_universal_d_bulkUpdatePool as bulkUpdatePool,\n      benefitProgramsV1Pool_universal_d_BulkUpdatePoolOptions as BulkUpdatePoolOptions,\n      benefitProgramsV1Pool_universal_d_countNumberOfPoolsInProvisioningStatus as countNumberOfPoolsInProvisioningStatus,\n      benefitProgramsV1Pool_universal_d_CountNumberOfPoolsInProvisioningStatusOptions as CountNumberOfPoolsInProvisioningStatusOptions,\n    };\n  }\n  \n  /**\n   * Stores the values that will be used to construct / update the entitlement on provision and grant actions.\n   * It defines a set of items sharing the same credit pool and abiding by the same default redemption policy. Each item has a price and may override the default redemption policy\n   *\n   * PoolDefinitions can be used individually to provision an entitlement or be grouped into program definitions. A pool definition may be a member of multiple program definitions. Program Definitions as well as individual pool definitions are\n   * accepted by the entitlement service provision and grant methods. Program Definitions are just a convenient way of grouping and reusing individual pool definitions.\n   * For example, pool definition program definitions can be used to model tiered plans: \"Gold\" and \"Silver\":\n   * - \"Silver\" program definition would include the following pool definitions: \"silver_reward1\", \"silver_reward2\"\n   * - \"Gold\" program definition would then include pool definitions: \"gold_reward\", \"silver_reward1\" and \"silver_reward2\"\n   * Notice, that \"silver_reward1\" and \"silver_reward2\" are members of both program definitions and \"gold_reward\" is specific only to the \"Gold\" program definition\n   */\n  interface PoolDefinition {\n      /**\n       * PoolDefinition ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this PoolDefinition was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this PoolDefinition was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Name of the pool definition */\n      displayName?: string;\n      /**\n       * Program definitions that this pool definition belongs to\n       * @readonly\n       */\n      programDefinitionIds?: string[];\n      /**\n       * Entitlement data, which contains item, policy and credit pool configuration\n       * and is copied over to an entitlement on provisioning and grant actions\n       */\n      details?: Details;\n      /** Used to determine the source of the pool definition creation, eg. pricing plans (wix.pricing_plans), loyalty (wix.loyalty) or velo (velo.custom_name) */\n      namespace?: string | null;\n      /** Data extensions */\n      extendedFields?: ExtendedFields;\n  }\n  interface Details {\n      /** A set of benefits that share the credit pool and policies of the entitlement */\n      benefits?: Benefit[];\n      /** Settings that control the behavior of the credit pool. If this value is left empty, then the entitlement is unlimited and items should not have prices */\n      creditConfiguration?: CreditConfiguration;\n      /** Defines entitlement eligibility. Default policy for all items, but may be overridden by a specific item */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n  }\n  /** Groups items that share the same credit pool and policies */\n  interface Benefit {\n      /** An identifier for the benefit. Should be unique per pool / pool definition. May be an empty string */\n      benefitKey?: string;\n      /**\n       * Id referencing the set of items that can be used to redeem this benefit\n       * @readonly\n       */\n      itemSetId?: string | null;\n      /** Price of the item expressed in credits */\n      price?: string | null;\n      /** Overrides the default policies in Entitlement Data */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n      /** ID of the app that provides this benefit, eg. bookings, blog or events */\n      providerAppId?: string | null;\n      /** Display name of the benefit */\n      displayName?: string | null;\n      /** Description of the benefit */\n      description?: string | null;\n  }\n  interface PolicyExpression extends PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n      /** Policy expression type */\n      type?: PolicyExpressionType;\n  }\n  /** @oneof */\n  interface PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n  }\n  enum PolicyExpressionType {\n      UNKNOWN = \"UNKNOWN\",\n      OPERATOR_NOT = \"OPERATOR_NOT\",\n      OPERATOR_AND = \"OPERATOR_AND\",\n      OPERATOR_OR = \"OPERATOR_OR\",\n      POLICY = \"POLICY\"\n  }\n  interface PolicyExpressionNot {\n      /** Expression that is negated */\n      expression?: PolicyExpression;\n  }\n  interface PolicyExpressionAnd {\n      /** Expressions that are combined with an `AND` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface PolicyExpressionOr {\n      /** Expressions that are combined with an `OR` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface Policy extends PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: CustomPolicy;\n      /** Policy type */\n      type?: Type;\n  }\n  /** @oneof */\n  interface PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: CustomPolicy;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      RATE_LIMITED = \"RATE_LIMITED\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface FixedIntervalPolicy {\n      /** Weekday that this interval starts from. If this is set then to_week_day must also be set */\n      fromWeekDay?: WeekDay;\n      /** Weekday that this interval ends at. If this is set then from_week_day must also be set */\n      toWeekDay?: WeekDay;\n      /** Hour that this interval starts from. If this is set then to_hour must also be set */\n      fromHour?: number | null;\n      /** Hour that this interval ends at. If this is set then from_hour must also be set */\n      toHour?: number | null;\n      /** Minute that this interval starts from. If this is set then to_minute must also be set */\n      fromMinute?: number | null;\n      /** Minute that this interval ends at. If this is set then from_minute must also be set */\n      toMinute?: number | null;\n  }\n  enum WeekDay {\n      UNKNOWN = \"UNKNOWN\",\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  interface RateLimitedPolicy extends RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Defines how many times it's allowed to consume a item over the period */\n      times?: number;\n      /** Type of period */\n      type?: RateLimitedPolicyType;\n  }\n  /** @oneof */\n  interface RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n  }\n  enum RateLimitedPolicyType {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      PER_CYCLE = \"PER_CYCLE\"\n  }\n  /** Custom policy as implemented by the Entitlement Policy Provider */\n  interface CustomPolicy {\n      /** References a specific custom policy on the provider's system */\n      _id?: string;\n      /** Custom policy provider id */\n      appId?: string | null;\n      /** Additional info for this custom policy. It's going to be passed to the policy provider during eligibility checks */\n      additionalData?: Record<string, any> | null;\n  }\n  interface CreditConfiguration {\n      /** The total amount of credits available for this entitlement */\n      amount?: string;\n      /** Rollover configuration */\n      rolloverConfiguration?: RolloverConfiguration;\n      /** Display name of the unit */\n      unitDisplayName?: string | null;\n  }\n  interface RolloverConfiguration {\n      /** Determined whether unused credits are rolled over to the new cycle */\n      enabled?: boolean | null;\n      /** The maximum amount of credits to roll over on renewal. The rolled over value will be the minimum of this value and the remaining credits. */\n      amount?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreatePoolDefinitionRequest {\n      /** PoolDefinition to be created */\n      poolDefinition: PoolDefinition;\n      /** Defines how the update cascades to related pools. Must be provided if program_definition_ids are provided */\n      cascade?: Cascade$1;\n  }\n  enum Cascade$1 {\n      /** No cascade is performed. Can only be used when data is not being updated */\n      UNKNOWN_CASCADE = \"UNKNOWN_CASCADE\",\n      /** Scenario 1. Update to data cascades only to newly created entitlements */\n      ON_PROVISION = \"ON_PROVISION\",\n      /** Scenario 2. Update to data cascades to entitlements on new grants (e.g. when a new cycle is triggered) and new purchases */\n      ON_GRANT = \"ON_GRANT\",\n      /** Scenario 3. Update to data cascades to entitlements immediately */\n      IMMEDIATELY = \"IMMEDIATELY\"\n  }\n  interface CreatePoolDefinitionResponse {\n      /** The created PoolDefinition */\n      poolDefinition?: PoolDefinition;\n  }\n  interface UpdatePoolDefinitionRequest {\n      /** PoolDefinition to be updated, may be partial */\n      poolDefinition: PoolDefinition;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Defines how the update cascades to related Entitlements. Must be provided if details are being updated */\n      cascade?: Cascade$1;\n  }\n  interface UpdatePoolDefinitionResponse {\n      /** The updated PoolDefinition */\n      poolDefinition?: PoolDefinition;\n  }\n  interface PoolDefinitionUpdateCascaded {\n      /** PoolDefinition which has caused the cascade to happen (data was updated) */\n      poolDefinition?: PoolDefinition;\n      /** Previous pool definition, if cascade type was ON_PROVISION */\n      previousPoolDefinition?: PoolDefinition;\n      /** Type of cascade */\n      cascadeType?: Cascade$1;\n  }\n  /** This event is needed to support legacy benefit notification event. Should be only consumed in the proxy. */\n  interface PoolDefinitionUpdatedProxySupport {\n      /** PoolDefinition after the update */\n      currentPoolDefinition?: PoolDefinition;\n      /** PoolDefinition before the update */\n      previousPoolDefinition?: PoolDefinition;\n  }\n  interface DeletePoolDefinitionRequest {\n      /** Id of the PoolDefinition to delete */\n      poolDefinitionId: string;\n      /** Defines how the delete operation cascades to related pools. Must be provided if pool definition is a member of at least one program definition */\n      cascade?: Cascade$1;\n  }\n  interface DeletePoolDefinitionResponse {\n  }\n  /** This event is needed to support legacy benefit notification event. Should be only consumed in the proxy. */\n  interface PoolDefinitionDeletedProxySupport {\n      /** PoolDefinition which was deleted */\n      deletedPoolDefinition?: PoolDefinition;\n  }\n  interface PoolDefinitionDeleteCascaded {\n      /** PoolDefinition which has caused the cascade to happen (data was updated) */\n      poolDefinition?: PoolDefinition;\n      /** Type of cascade */\n      cascadeType?: Cascade$1;\n  }\n  interface BulkPoolDefinitionResult {\n      /** Item metadata */\n      itemMetadata?: ItemMetadata$1;\n      /** Only exists if `returnEntity` was set to true in the request */\n      poolDefinition?: PoolDefinition;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetPoolDefinitionRequest {\n      /** Id of the PoolDefinition to retrieve */\n      poolDefinitionId: string;\n  }\n  interface GetPoolDefinitionResponse {\n      /** The retrieved PoolDefinition */\n      poolDefinition?: PoolDefinition;\n  }\n  interface QueryPoolDefinitionsRequest {\n      /** WQL expression */\n      query?: CursorQuery$2;\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryPoolDefinitionsResponse {\n      /** The retrieved PoolDefinitions */\n      poolDefinitions?: PoolDefinition[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$2;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AddPoolDefinitionToProgramDefinitionRequest {\n      /** PoolDefinition to be added to the program definition */\n      poolDefinitionId: string;\n      /** Program Definition to add the pool definition to */\n      programDefinitionId: string;\n      /** Defines how the update cascades to related Entitlements */\n      cascade?: Cascade$1;\n  }\n  interface AddPoolDefinitionToProgramDefinitionResponse {\n      /** Updated pool definition */\n      poolDefinition?: PoolDefinition;\n  }\n  interface PoolDefinitionAddedToProgramDefinition {\n      /** PoolDefinition that was added to the program definition */\n      poolDefinition?: PoolDefinition;\n      /** Program Definition that the pool definition was added to */\n      programDefinitionId?: string;\n      /** Type of cascade */\n      cascadeType?: Cascade$1;\n  }\n  interface RemovePoolDefinitionFromProgramDefinitionRequest {\n      /** PoolDefinition to be removed from the program definition */\n      poolDefinitionId: string;\n      /** Program Definition to remove the pool_definition from */\n      programDefinitionId: string;\n      /** Defines how the update cascades to related Entitlements */\n      cascade?: Cascade$1;\n  }\n  interface RemovePoolDefinitionFromProgramDefinitionResponse {\n      /** Updated pool definition */\n      poolDefinition?: PoolDefinition;\n  }\n  interface PoolDefinitionRemovedFromProgramDefinition {\n      /** PoolDefinition that was removed from the program definition */\n      poolDefinition?: PoolDefinition;\n      /** Program Definition that the pool definition was removed from */\n      programDefinitionId?: string;\n      /** Type of cascade */\n      cascadeType?: Cascade$1;\n  }\n  interface FindPoolDefinitionsByProgramDefinitionRequest {\n      /** Program definition key */\n      programDefinitionId?: string;\n      /** Program definition namespace */\n      namespace?: string;\n  }\n  interface FindPoolDefinitionsByProgramDefinitionResponse {\n      /** Pool Definitions belonging to the provided program definition id */\n      poolDefinitions?: PoolDefinition[];\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new Pool Definition\n   * @param poolDefinition - PoolDefinition to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField poolDefinition\n   * @requiredField poolDefinition.details\n   * @requiredField poolDefinition.details.benefits\n   * @requiredField poolDefinition.details.benefits.benefitKey\n   * @requiredField poolDefinition.details.benefits.providerAppId\n   * @requiredField poolDefinition.namespace\n   * @adminMethod\n   * @returns The created PoolDefinition\n   */\n  function createPoolDefinition(poolDefinition: PoolDefinition, options?: CreatePoolDefinitionOptions): Promise<PoolDefinition>;\n  interface CreatePoolDefinitionOptions {\n      /** Defines how the update cascades to related pools. Must be provided if program_definition_ids are provided */\n      cascade?: Cascade$1;\n  }\n  /**\n   * Update the PoolDefinition, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - PoolDefinition ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField poolDefinition\n   * @requiredField poolDefinition.revision\n   * @adminMethod\n   * @returns The updated PoolDefinition\n   */\n  function updatePoolDefinition(_id: string | null, poolDefinition: UpdatePoolDefinition, options?: UpdatePoolDefinitionOptions): Promise<PoolDefinition>;\n  interface UpdatePoolDefinition {\n      /**\n       * PoolDefinition ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this PoolDefinition was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this PoolDefinition was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Name of the pool definition */\n      displayName?: string;\n      /**\n       * Program definitions that this pool definition belongs to\n       * @readonly\n       */\n      programDefinitionIds?: string[];\n      /**\n       * Entitlement data, which contains item, policy and credit pool configuration\n       * and is copied over to an entitlement on provisioning and grant actions\n       */\n      details?: Details;\n      /** Used to determine the source of the pool definition creation, eg. pricing plans (wix.pricing_plans), loyalty (wix.loyalty) or velo (velo.custom_name) */\n      namespace?: string | null;\n      /** Data extensions */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdatePoolDefinitionOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Defines how the update cascades to related Entitlements. Must be provided if details are being updated */\n      cascade?: Cascade$1;\n  }\n  /**\n   * Delete the PoolDefinition\n   * @param poolDefinitionId - Id of the PoolDefinition to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField poolDefinitionId\n   * @adminMethod\n   */\n  function deletePoolDefinition(poolDefinitionId: string, options?: DeletePoolDefinitionOptions): Promise<void>;\n  interface DeletePoolDefinitionOptions {\n      /** Defines how the delete operation cascades to related pools. Must be provided if pool definition is a member of at least one program definition */\n      cascade?: Cascade$1;\n  }\n  /**\n   * Get a PoolDefinition by id\n   * @param poolDefinitionId - Id of the PoolDefinition to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField poolDefinitionId\n   * @adminMethod\n   * @returns The retrieved PoolDefinition\n   */\n  function getPoolDefinition(poolDefinitionId: string): Promise<PoolDefinition>;\n  /**\n   * Query PoolDefinitions using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryPoolDefinitions(): PoolDefinitionsQueryBuilder;\n  interface QueryCursorResult$2 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface PoolDefinitionsQueryResult extends QueryCursorResult$2 {\n      items: PoolDefinition[];\n      query: PoolDefinitionsQueryBuilder;\n      next: () => Promise<PoolDefinitionsQueryResult>;\n      prev: () => Promise<PoolDefinitionsQueryResult>;\n  }\n  interface PoolDefinitionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'programDefinitionIds' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace', value: any) => PoolDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'programDefinitionIds' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace', value: any) => PoolDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace', value: string) => PoolDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'programDefinitionIds' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace', value: any[]) => PoolDefinitionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasAll: (propertyName: 'programDefinitionIds', value: any[]) => PoolDefinitionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'programDefinitionIds' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace', value: any) => PoolDefinitionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'programDefinitionIds' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace', value: boolean) => PoolDefinitionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'programDefinitionIds' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace'>) => PoolDefinitionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'programDefinitionIds' | 'details.benefits.itemSetId' | 'details.benefits.providerAppId' | 'namespace'>) => PoolDefinitionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => PoolDefinitionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => PoolDefinitionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<PoolDefinitionsQueryResult>;\n  }\n  /**\n   * Assign a PoolDefinition to a Program Definition. PoolDefinition program definitions are used to group pool definitions together and provision them as a single unit.\n   * PoolDefinitions assigned to a program definition cannot be provisioned individually.\n   * @param poolDefinitionId - PoolDefinition to be added to the program definition\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.programDefinitionId\n   * @requiredField poolDefinitionId\n   * @adminMethod\n   */\n  function addPoolDefinitionToProgramDefinition(poolDefinitionId: string, options?: AddPoolDefinitionToProgramDefinitionOptions): Promise<AddPoolDefinitionToProgramDefinitionResponse>;\n  interface AddPoolDefinitionToProgramDefinitionOptions {\n      /** Program Definition to add the pool definition to */\n      programDefinitionId: string;\n      /** Defines how the update cascades to related Entitlements */\n      cascade?: Cascade$1;\n  }\n  /**\n   * Unassign a PoolDefinition from a Program Definition. PoolDefinition program definitions are used to group pool definitions together and provision them as a single unit.\n   * PoolDefinitions assigned to a program definition cannot be provisioned individually.\n   * @param poolDefinitionId - PoolDefinition to be removed from the program definition\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.programDefinitionId\n   * @requiredField poolDefinitionId\n   * @adminMethod\n   */\n  function removePoolDefinitionFromProgramDefinition(poolDefinitionId: string, options?: RemovePoolDefinitionFromProgramDefinitionOptions): Promise<RemovePoolDefinitionFromProgramDefinitionResponse>;\n  interface RemovePoolDefinitionFromProgramDefinitionOptions {\n      /** Program Definition to remove the pool_definition from */\n      programDefinitionId: string;\n      /** Defines how the update cascades to related Entitlements */\n      cascade?: Cascade$1;\n  }\n  /**\n   * Get a pool definition program definition by its id\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function findPoolDefinitionsByProgramDefinition(options?: FindPoolDefinitionsByProgramDefinitionOptions): Promise<FindPoolDefinitionsByProgramDefinitionResponse>;\n  interface FindPoolDefinitionsByProgramDefinitionOptions {\n      /** Program definition key */\n      programDefinitionId?: string;\n      /** Program definition namespace */\n      namespace?: string;\n  }\n  \n  type benefitProgramsV1PoolDefinition_universal_d_PoolDefinition = PoolDefinition;\n  type benefitProgramsV1PoolDefinition_universal_d_Details = Details;\n  type benefitProgramsV1PoolDefinition_universal_d_Benefit = Benefit;\n  type benefitProgramsV1PoolDefinition_universal_d_PolicyExpression = PolicyExpression;\n  type benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionExpressionOneOf = PolicyExpressionExpressionOneOf;\n  type benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionType = PolicyExpressionType;\n  const benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionType: typeof PolicyExpressionType;\n  type benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionNot = PolicyExpressionNot;\n  type benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionAnd = PolicyExpressionAnd;\n  type benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionOr = PolicyExpressionOr;\n  type benefitProgramsV1PoolDefinition_universal_d_Policy = Policy;\n  type benefitProgramsV1PoolDefinition_universal_d_PolicyPolicyOneOf = PolicyPolicyOneOf;\n  type benefitProgramsV1PoolDefinition_universal_d_Type = Type;\n  const benefitProgramsV1PoolDefinition_universal_d_Type: typeof Type;\n  type benefitProgramsV1PoolDefinition_universal_d_FixedIntervalPolicy = FixedIntervalPolicy;\n  type benefitProgramsV1PoolDefinition_universal_d_WeekDay = WeekDay;\n  const benefitProgramsV1PoolDefinition_universal_d_WeekDay: typeof WeekDay;\n  type benefitProgramsV1PoolDefinition_universal_d_RateLimitedPolicy = RateLimitedPolicy;\n  type benefitProgramsV1PoolDefinition_universal_d_RateLimitedPolicyPeriodOneOf = RateLimitedPolicyPeriodOneOf;\n  type benefitProgramsV1PoolDefinition_universal_d_RateLimitedPolicyType = RateLimitedPolicyType;\n  const benefitProgramsV1PoolDefinition_universal_d_RateLimitedPolicyType: typeof RateLimitedPolicyType;\n  type benefitProgramsV1PoolDefinition_universal_d_CustomPolicy = CustomPolicy;\n  type benefitProgramsV1PoolDefinition_universal_d_CreditConfiguration = CreditConfiguration;\n  type benefitProgramsV1PoolDefinition_universal_d_RolloverConfiguration = RolloverConfiguration;\n  type benefitProgramsV1PoolDefinition_universal_d_ExtendedFields = ExtendedFields;\n  type benefitProgramsV1PoolDefinition_universal_d_CreatePoolDefinitionRequest = CreatePoolDefinitionRequest;\n  type benefitProgramsV1PoolDefinition_universal_d_CreatePoolDefinitionResponse = CreatePoolDefinitionResponse;\n  type benefitProgramsV1PoolDefinition_universal_d_UpdatePoolDefinitionRequest = UpdatePoolDefinitionRequest;\n  type benefitProgramsV1PoolDefinition_universal_d_UpdatePoolDefinitionResponse = UpdatePoolDefinitionResponse;\n  type benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionUpdateCascaded = PoolDefinitionUpdateCascaded;\n  type benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionUpdatedProxySupport = PoolDefinitionUpdatedProxySupport;\n  type benefitProgramsV1PoolDefinition_universal_d_DeletePoolDefinitionRequest = DeletePoolDefinitionRequest;\n  type benefitProgramsV1PoolDefinition_universal_d_DeletePoolDefinitionResponse = DeletePoolDefinitionResponse;\n  type benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionDeletedProxySupport = PoolDefinitionDeletedProxySupport;\n  type benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionDeleteCascaded = PoolDefinitionDeleteCascaded;\n  type benefitProgramsV1PoolDefinition_universal_d_BulkPoolDefinitionResult = BulkPoolDefinitionResult;\n  type benefitProgramsV1PoolDefinition_universal_d_GetPoolDefinitionRequest = GetPoolDefinitionRequest;\n  type benefitProgramsV1PoolDefinition_universal_d_GetPoolDefinitionResponse = GetPoolDefinitionResponse;\n  type benefitProgramsV1PoolDefinition_universal_d_QueryPoolDefinitionsRequest = QueryPoolDefinitionsRequest;\n  type benefitProgramsV1PoolDefinition_universal_d_QueryPoolDefinitionsResponse = QueryPoolDefinitionsResponse;\n  type benefitProgramsV1PoolDefinition_universal_d_AddPoolDefinitionToProgramDefinitionRequest = AddPoolDefinitionToProgramDefinitionRequest;\n  type benefitProgramsV1PoolDefinition_universal_d_AddPoolDefinitionToProgramDefinitionResponse = AddPoolDefinitionToProgramDefinitionResponse;\n  type benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionAddedToProgramDefinition = PoolDefinitionAddedToProgramDefinition;\n  type benefitProgramsV1PoolDefinition_universal_d_RemovePoolDefinitionFromProgramDefinitionRequest = RemovePoolDefinitionFromProgramDefinitionRequest;\n  type benefitProgramsV1PoolDefinition_universal_d_RemovePoolDefinitionFromProgramDefinitionResponse = RemovePoolDefinitionFromProgramDefinitionResponse;\n  type benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionRemovedFromProgramDefinition = PoolDefinitionRemovedFromProgramDefinition;\n  type benefitProgramsV1PoolDefinition_universal_d_FindPoolDefinitionsByProgramDefinitionRequest = FindPoolDefinitionsByProgramDefinitionRequest;\n  type benefitProgramsV1PoolDefinition_universal_d_FindPoolDefinitionsByProgramDefinitionResponse = FindPoolDefinitionsByProgramDefinitionResponse;\n  const benefitProgramsV1PoolDefinition_universal_d_createPoolDefinition: typeof createPoolDefinition;\n  type benefitProgramsV1PoolDefinition_universal_d_CreatePoolDefinitionOptions = CreatePoolDefinitionOptions;\n  const benefitProgramsV1PoolDefinition_universal_d_updatePoolDefinition: typeof updatePoolDefinition;\n  type benefitProgramsV1PoolDefinition_universal_d_UpdatePoolDefinition = UpdatePoolDefinition;\n  type benefitProgramsV1PoolDefinition_universal_d_UpdatePoolDefinitionOptions = UpdatePoolDefinitionOptions;\n  const benefitProgramsV1PoolDefinition_universal_d_deletePoolDefinition: typeof deletePoolDefinition;\n  type benefitProgramsV1PoolDefinition_universal_d_DeletePoolDefinitionOptions = DeletePoolDefinitionOptions;\n  const benefitProgramsV1PoolDefinition_universal_d_getPoolDefinition: typeof getPoolDefinition;\n  const benefitProgramsV1PoolDefinition_universal_d_queryPoolDefinitions: typeof queryPoolDefinitions;\n  type benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionsQueryResult = PoolDefinitionsQueryResult;\n  type benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionsQueryBuilder = PoolDefinitionsQueryBuilder;\n  const benefitProgramsV1PoolDefinition_universal_d_addPoolDefinitionToProgramDefinition: typeof addPoolDefinitionToProgramDefinition;\n  type benefitProgramsV1PoolDefinition_universal_d_AddPoolDefinitionToProgramDefinitionOptions = AddPoolDefinitionToProgramDefinitionOptions;\n  const benefitProgramsV1PoolDefinition_universal_d_removePoolDefinitionFromProgramDefinition: typeof removePoolDefinitionFromProgramDefinition;\n  type benefitProgramsV1PoolDefinition_universal_d_RemovePoolDefinitionFromProgramDefinitionOptions = RemovePoolDefinitionFromProgramDefinitionOptions;\n  const benefitProgramsV1PoolDefinition_universal_d_findPoolDefinitionsByProgramDefinition: typeof findPoolDefinitionsByProgramDefinition;\n  type benefitProgramsV1PoolDefinition_universal_d_FindPoolDefinitionsByProgramDefinitionOptions = FindPoolDefinitionsByProgramDefinitionOptions;\n  namespace benefitProgramsV1PoolDefinition_universal_d {\n    export {\n      benefitProgramsV1PoolDefinition_universal_d_PoolDefinition as PoolDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_Details as Details,\n      benefitProgramsV1PoolDefinition_universal_d_Benefit as Benefit,\n      benefitProgramsV1PoolDefinition_universal_d_PolicyExpression as PolicyExpression,\n      benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionExpressionOneOf as PolicyExpressionExpressionOneOf,\n      benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionType as PolicyExpressionType,\n      benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionNot as PolicyExpressionNot,\n      benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionAnd as PolicyExpressionAnd,\n      benefitProgramsV1PoolDefinition_universal_d_PolicyExpressionOr as PolicyExpressionOr,\n      benefitProgramsV1PoolDefinition_universal_d_Policy as Policy,\n      benefitProgramsV1PoolDefinition_universal_d_PolicyPolicyOneOf as PolicyPolicyOneOf,\n      benefitProgramsV1PoolDefinition_universal_d_Type as Type,\n      benefitProgramsV1PoolDefinition_universal_d_FixedIntervalPolicy as FixedIntervalPolicy,\n      benefitProgramsV1PoolDefinition_universal_d_WeekDay as WeekDay,\n      benefitProgramsV1PoolDefinition_universal_d_RateLimitedPolicy as RateLimitedPolicy,\n      benefitProgramsV1PoolDefinition_universal_d_RateLimitedPolicyPeriodOneOf as RateLimitedPolicyPeriodOneOf,\n      benefitProgramsV1PoolDefinition_universal_d_RateLimitedPolicyType as RateLimitedPolicyType,\n      benefitProgramsV1PoolDefinition_universal_d_CustomPolicy as CustomPolicy,\n      benefitProgramsV1PoolDefinition_universal_d_CreditConfiguration as CreditConfiguration,\n      benefitProgramsV1PoolDefinition_universal_d_RolloverConfiguration as RolloverConfiguration,\n      benefitProgramsV1PoolDefinition_universal_d_ExtendedFields as ExtendedFields,\n      benefitProgramsV1PoolDefinition_universal_d_CreatePoolDefinitionRequest as CreatePoolDefinitionRequest,\n      Cascade$1 as Cascade,\n      benefitProgramsV1PoolDefinition_universal_d_CreatePoolDefinitionResponse as CreatePoolDefinitionResponse,\n      benefitProgramsV1PoolDefinition_universal_d_UpdatePoolDefinitionRequest as UpdatePoolDefinitionRequest,\n      benefitProgramsV1PoolDefinition_universal_d_UpdatePoolDefinitionResponse as UpdatePoolDefinitionResponse,\n      benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionUpdateCascaded as PoolDefinitionUpdateCascaded,\n      benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionUpdatedProxySupport as PoolDefinitionUpdatedProxySupport,\n      benefitProgramsV1PoolDefinition_universal_d_DeletePoolDefinitionRequest as DeletePoolDefinitionRequest,\n      benefitProgramsV1PoolDefinition_universal_d_DeletePoolDefinitionResponse as DeletePoolDefinitionResponse,\n      benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionDeletedProxySupport as PoolDefinitionDeletedProxySupport,\n      benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionDeleteCascaded as PoolDefinitionDeleteCascaded,\n      benefitProgramsV1PoolDefinition_universal_d_BulkPoolDefinitionResult as BulkPoolDefinitionResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      benefitProgramsV1PoolDefinition_universal_d_GetPoolDefinitionRequest as GetPoolDefinitionRequest,\n      benefitProgramsV1PoolDefinition_universal_d_GetPoolDefinitionResponse as GetPoolDefinitionResponse,\n      benefitProgramsV1PoolDefinition_universal_d_QueryPoolDefinitionsRequest as QueryPoolDefinitionsRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      benefitProgramsV1PoolDefinition_universal_d_QueryPoolDefinitionsResponse as QueryPoolDefinitionsResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      benefitProgramsV1PoolDefinition_universal_d_AddPoolDefinitionToProgramDefinitionRequest as AddPoolDefinitionToProgramDefinitionRequest,\n      benefitProgramsV1PoolDefinition_universal_d_AddPoolDefinitionToProgramDefinitionResponse as AddPoolDefinitionToProgramDefinitionResponse,\n      benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionAddedToProgramDefinition as PoolDefinitionAddedToProgramDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_RemovePoolDefinitionFromProgramDefinitionRequest as RemovePoolDefinitionFromProgramDefinitionRequest,\n      benefitProgramsV1PoolDefinition_universal_d_RemovePoolDefinitionFromProgramDefinitionResponse as RemovePoolDefinitionFromProgramDefinitionResponse,\n      benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionRemovedFromProgramDefinition as PoolDefinitionRemovedFromProgramDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_FindPoolDefinitionsByProgramDefinitionRequest as FindPoolDefinitionsByProgramDefinitionRequest,\n      benefitProgramsV1PoolDefinition_universal_d_FindPoolDefinitionsByProgramDefinitionResponse as FindPoolDefinitionsByProgramDefinitionResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      benefitProgramsV1PoolDefinition_universal_d_createPoolDefinition as createPoolDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_CreatePoolDefinitionOptions as CreatePoolDefinitionOptions,\n      benefitProgramsV1PoolDefinition_universal_d_updatePoolDefinition as updatePoolDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_UpdatePoolDefinition as UpdatePoolDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_UpdatePoolDefinitionOptions as UpdatePoolDefinitionOptions,\n      benefitProgramsV1PoolDefinition_universal_d_deletePoolDefinition as deletePoolDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_DeletePoolDefinitionOptions as DeletePoolDefinitionOptions,\n      benefitProgramsV1PoolDefinition_universal_d_getPoolDefinition as getPoolDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_queryPoolDefinitions as queryPoolDefinitions,\n      benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionsQueryResult as PoolDefinitionsQueryResult,\n      benefitProgramsV1PoolDefinition_universal_d_PoolDefinitionsQueryBuilder as PoolDefinitionsQueryBuilder,\n      benefitProgramsV1PoolDefinition_universal_d_addPoolDefinitionToProgramDefinition as addPoolDefinitionToProgramDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_AddPoolDefinitionToProgramDefinitionOptions as AddPoolDefinitionToProgramDefinitionOptions,\n      benefitProgramsV1PoolDefinition_universal_d_removePoolDefinitionFromProgramDefinition as removePoolDefinitionFromProgramDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_RemovePoolDefinitionFromProgramDefinitionOptions as RemovePoolDefinitionFromProgramDefinitionOptions,\n      benefitProgramsV1PoolDefinition_universal_d_findPoolDefinitionsByProgramDefinition as findPoolDefinitionsByProgramDefinition,\n      benefitProgramsV1PoolDefinition_universal_d_FindPoolDefinitionsByProgramDefinitionOptions as FindPoolDefinitionsByProgramDefinitionOptions,\n    };\n  }\n  \n  /**\n   * Represents anything that an external system exposes as an entitlement. It could be a specific event, a booking session, or even a physical good.\n   * `category` is used to identify the type of the item and id is used to uniquely identify it within the category. The `name` is used for display purposes only.\n   * For example, if the item is a blog post, then the category could be \"post\" and the id could be the post id.\n   */\n  interface Item$1 {\n      /**\n       * Item identifier\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Item was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Item was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** External item identifier */\n      externalId?: string;\n      /** Item category. Discriminates between different types of items. E.g. posts, groups etc. */\n      category?: string | null;\n      /** Key of the set that this item is part of */\n      itemSetId?: string;\n      /** Display name of the item */\n      displayName?: string | null;\n  }\n  interface AddItemToBenefitRequest {\n      /** Item to be added */\n      item: ItemInfo;\n      /** Benefit that this item is added to */\n      benefitReference?: BenefitReference;\n      /** Defines how the update cascades to related pools */\n      cascade: Cascade;\n  }\n  interface ItemInfo {\n      /** External item identifier */\n      externalId?: string;\n      /** Item category. Discriminates between different types of items. E.g. posts, groups etc. */\n      category?: string | null;\n      /** Display name of the item */\n      displayName?: string | null;\n  }\n  interface BenefitReference {\n      /** Pool definition id that this item is added to */\n      poolDefinitionId?: string;\n      /** A reference to the benefit in the pool definition */\n      benefitKey?: string;\n  }\n  enum Cascade {\n      /** No cascade is performed. Can only be used when data is not being updated */\n      UNKNOWN_CASCADE = \"UNKNOWN_CASCADE\",\n      /** Scenario 1. Update to data cascades only to newly created entitlements */\n      ON_PROVISION = \"ON_PROVISION\",\n      /** Scenario 2. Update to data cascades to entitlements on new grants (e.g. when a new cycle is triggered) and new purchases */\n      ON_GRANT = \"ON_GRANT\",\n      /** Scenario 3. Update to data cascades to entitlements immediately */\n      IMMEDIATELY = \"IMMEDIATELY\"\n  }\n  interface AddItemToBenefitResponse {\n      /** Item that was added */\n      item?: Item$1;\n  }\n  interface ItemsAddedToBenefit {\n      /** Items that were added to the benefit */\n      items?: Item$1[];\n      /** Benefit that these items were added to */\n      benefitReference?: BenefitReference;\n      /** Id of the item set that these items were added to */\n      itemSetId?: string;\n  }\n  interface BulkAddItemToBenefitRequest {\n      /** Items to be added */\n      items: ItemInfo[];\n      /** Benefit that this item is added to */\n      benefitReference?: BenefitReference;\n      /** set to `true` if you wish to receive back the created items in the response */\n      returnEntity?: boolean;\n      /** Defines how the update cascades to related pools */\n      cascade: Cascade;\n  }\n  interface BulkAddItemToBenefitResponse {\n      /** Item that were added */\n      results?: BulkItemResult[];\n      /** Bulk action metadata */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkItemResult {\n      /** Item metadata */\n      itemMetadata?: ItemMetadata;\n      /** Only exists if `returnEntity` was set to true in the request */\n      item?: Item$1;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface RemoveItemFromBenefitRequest {\n      /** Item id */\n      itemId: string;\n      /** Defines how the update cascades to related Entitlements */\n      cascade: Cascade;\n  }\n  interface RemoveItemFromBenefitResponse {\n  }\n  interface ItemsRemovedFromBenefit {\n      /** Items that were removed from the benefit */\n      items?: Item$1[];\n      /** Benefit that these items were removed from */\n      benefitReference?: BenefitReference;\n      /** Id of the item set that these items were removed from */\n      itemSetId?: string;\n  }\n  interface UpdateItemRequest {\n      /** Item to be updated, may be partial */\n      item: Item$1;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Defines how the update cascades to related Entitlements */\n      cascade?: Cascade;\n  }\n  interface UpdateItemResponse {\n      /** Item that was updated */\n      item?: Item$1;\n  }\n  interface GetItemRequest {\n      /** Id of the Item to retrieve */\n      itemId: string;\n  }\n  interface GetItemResponse {\n      /** The retrieved Item */\n      item?: Item$1;\n  }\n  interface QueryItemsRequest {\n      /** WQL expression */\n      query?: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryItemsResponse {\n      /** The retrieved Items */\n      items?: Item$1[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Adds the item to the benefit\n   * @param item - Item to be added\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField item\n   * @requiredField item.externalId\n   * @requiredField options.benefitReference.benefitKey\n   * @requiredField options.benefitReference.poolDefinitionId\n   * @requiredField options.cascade\n   * @adminMethod\n   */\n  function addItemToBenefit(item: ItemInfo, options?: AddItemToBenefitOptions): Promise<AddItemToBenefitResponse>;\n  interface AddItemToBenefitOptions {\n      /** Benefit that this item is added to */\n      benefitReference?: BenefitReference;\n      /** Defines how the update cascades to related pools */\n      cascade: Cascade;\n  }\n  /**\n   * Adds items to the benefit\n   * @param items - Items to be added\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField items\n   * @requiredField items.externalId\n   * @requiredField options.benefitReference.benefitKey\n   * @requiredField options.benefitReference.poolDefinitionId\n   * @requiredField options.cascade\n   * @adminMethod\n   */\n  function bulkAddItemToBenefit(items: ItemInfo[], options?: BulkAddItemToBenefitOptions): Promise<BulkAddItemToBenefitResponse>;\n  interface BulkAddItemToBenefitOptions {\n      /** Benefit that this item is added to */\n      benefitReference?: BenefitReference;\n      /** set to `true` if you wish to receive back the created items in the response */\n      returnEntity?: boolean;\n      /** Defines how the update cascades to related pools */\n      cascade: Cascade;\n  }\n  /**\n   * Removes the item from the benefit\n   * @param itemId - Item id\n   * @param cascade - Defines how the update cascades to related Entitlements\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField cascade\n   * @requiredField itemId\n   * @adminMethod\n   */\n  function removeItemFromBenefit(itemId: string, cascade: Cascade): Promise<void>;\n  /**\n   * Update the Item, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - Item identifier\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField item\n   * @requiredField item.revision\n   * @adminMethod\n   * @returns Item that was updated\n   */\n  function updateItem(_id: string | null, item: UpdateItem, options?: UpdateItemOptions): Promise<Item$1>;\n  interface UpdateItem {\n      /**\n       * Item identifier\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Item was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Item was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** External item identifier */\n      externalId?: string;\n      /** Item category. Discriminates between different types of items. E.g. posts, groups etc. */\n      category?: string | null;\n      /** Key of the set that this item is part of */\n      itemSetId?: string;\n      /** Display name of the item */\n      displayName?: string | null;\n  }\n  interface UpdateItemOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Defines how the update cascades to related Entitlements */\n      cascade?: Cascade;\n  }\n  /**\n   * Get a Benefit Item by id\n   * @param itemId - Id of the Item to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @adminMethod\n   * @returns The retrieved Item\n   */\n  function getItem(itemId: string): Promise<Item$1>;\n  /**\n   * Query Benefits using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryItems(): ItemsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ItemsQueryResult extends QueryCursorResult$1 {\n      items: Item$1[];\n      query: ItemsQueryBuilder;\n      next: () => Promise<ItemsQueryResult>;\n      prev: () => Promise<ItemsQueryResult>;\n  }\n  interface ItemsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ItemsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ItemsQueryResult>;\n  }\n  \n  type benefitProgramsV1PoolDefinitionItem_universal_d_AddItemToBenefitRequest = AddItemToBenefitRequest;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_ItemInfo = ItemInfo;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_BenefitReference = BenefitReference;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_Cascade = Cascade;\n  const benefitProgramsV1PoolDefinitionItem_universal_d_Cascade: typeof Cascade;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_AddItemToBenefitResponse = AddItemToBenefitResponse;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_ItemsAddedToBenefit = ItemsAddedToBenefit;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_BulkAddItemToBenefitRequest = BulkAddItemToBenefitRequest;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_BulkAddItemToBenefitResponse = BulkAddItemToBenefitResponse;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_BulkItemResult = BulkItemResult;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_ItemMetadata = ItemMetadata;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_ApplicationError = ApplicationError;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_RemoveItemFromBenefitRequest = RemoveItemFromBenefitRequest;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_RemoveItemFromBenefitResponse = RemoveItemFromBenefitResponse;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_ItemsRemovedFromBenefit = ItemsRemovedFromBenefit;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_UpdateItemRequest = UpdateItemRequest;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_UpdateItemResponse = UpdateItemResponse;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_GetItemRequest = GetItemRequest;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_GetItemResponse = GetItemResponse;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_QueryItemsRequest = QueryItemsRequest;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_QueryItemsResponse = QueryItemsResponse;\n  const benefitProgramsV1PoolDefinitionItem_universal_d_addItemToBenefit: typeof addItemToBenefit;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_AddItemToBenefitOptions = AddItemToBenefitOptions;\n  const benefitProgramsV1PoolDefinitionItem_universal_d_bulkAddItemToBenefit: typeof bulkAddItemToBenefit;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_BulkAddItemToBenefitOptions = BulkAddItemToBenefitOptions;\n  const benefitProgramsV1PoolDefinitionItem_universal_d_removeItemFromBenefit: typeof removeItemFromBenefit;\n  const benefitProgramsV1PoolDefinitionItem_universal_d_updateItem: typeof updateItem;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_UpdateItem = UpdateItem;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_UpdateItemOptions = UpdateItemOptions;\n  const benefitProgramsV1PoolDefinitionItem_universal_d_getItem: typeof getItem;\n  const benefitProgramsV1PoolDefinitionItem_universal_d_queryItems: typeof queryItems;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_ItemsQueryResult = ItemsQueryResult;\n  type benefitProgramsV1PoolDefinitionItem_universal_d_ItemsQueryBuilder = ItemsQueryBuilder;\n  namespace benefitProgramsV1PoolDefinitionItem_universal_d {\n    export {\n      Item$1 as Item,\n      benefitProgramsV1PoolDefinitionItem_universal_d_AddItemToBenefitRequest as AddItemToBenefitRequest,\n      benefitProgramsV1PoolDefinitionItem_universal_d_ItemInfo as ItemInfo,\n      benefitProgramsV1PoolDefinitionItem_universal_d_BenefitReference as BenefitReference,\n      benefitProgramsV1PoolDefinitionItem_universal_d_Cascade as Cascade,\n      benefitProgramsV1PoolDefinitionItem_universal_d_AddItemToBenefitResponse as AddItemToBenefitResponse,\n      benefitProgramsV1PoolDefinitionItem_universal_d_ItemsAddedToBenefit as ItemsAddedToBenefit,\n      benefitProgramsV1PoolDefinitionItem_universal_d_BulkAddItemToBenefitRequest as BulkAddItemToBenefitRequest,\n      benefitProgramsV1PoolDefinitionItem_universal_d_BulkAddItemToBenefitResponse as BulkAddItemToBenefitResponse,\n      benefitProgramsV1PoolDefinitionItem_universal_d_BulkItemResult as BulkItemResult,\n      benefitProgramsV1PoolDefinitionItem_universal_d_ItemMetadata as ItemMetadata,\n      benefitProgramsV1PoolDefinitionItem_universal_d_ApplicationError as ApplicationError,\n      benefitProgramsV1PoolDefinitionItem_universal_d_BulkActionMetadata as BulkActionMetadata,\n      benefitProgramsV1PoolDefinitionItem_universal_d_RemoveItemFromBenefitRequest as RemoveItemFromBenefitRequest,\n      benefitProgramsV1PoolDefinitionItem_universal_d_RemoveItemFromBenefitResponse as RemoveItemFromBenefitResponse,\n      benefitProgramsV1PoolDefinitionItem_universal_d_ItemsRemovedFromBenefit as ItemsRemovedFromBenefit,\n      benefitProgramsV1PoolDefinitionItem_universal_d_UpdateItemRequest as UpdateItemRequest,\n      benefitProgramsV1PoolDefinitionItem_universal_d_UpdateItemResponse as UpdateItemResponse,\n      benefitProgramsV1PoolDefinitionItem_universal_d_GetItemRequest as GetItemRequest,\n      benefitProgramsV1PoolDefinitionItem_universal_d_GetItemResponse as GetItemResponse,\n      benefitProgramsV1PoolDefinitionItem_universal_d_QueryItemsRequest as QueryItemsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      benefitProgramsV1PoolDefinitionItem_universal_d_QueryItemsResponse as QueryItemsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      benefitProgramsV1PoolDefinitionItem_universal_d_addItemToBenefit as addItemToBenefit,\n      benefitProgramsV1PoolDefinitionItem_universal_d_AddItemToBenefitOptions as AddItemToBenefitOptions,\n      benefitProgramsV1PoolDefinitionItem_universal_d_bulkAddItemToBenefit as bulkAddItemToBenefit,\n      benefitProgramsV1PoolDefinitionItem_universal_d_BulkAddItemToBenefitOptions as BulkAddItemToBenefitOptions,\n      benefitProgramsV1PoolDefinitionItem_universal_d_removeItemFromBenefit as removeItemFromBenefit,\n      benefitProgramsV1PoolDefinitionItem_universal_d_updateItem as updateItem,\n      benefitProgramsV1PoolDefinitionItem_universal_d_UpdateItem as UpdateItem,\n      benefitProgramsV1PoolDefinitionItem_universal_d_UpdateItemOptions as UpdateItemOptions,\n      benefitProgramsV1PoolDefinitionItem_universal_d_getItem as getItem,\n      benefitProgramsV1PoolDefinitionItem_universal_d_queryItems as queryItems,\n      benefitProgramsV1PoolDefinitionItem_universal_d_ItemsQueryResult as ItemsQueryResult,\n      benefitProgramsV1PoolDefinitionItem_universal_d_ItemsQueryBuilder as ItemsQueryBuilder,\n    };\n  }\n  \n  interface Transaction {\n      /** @readonly */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time the transaction was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time the transaction was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * The pool from which the balance was changed\n       * @readonly\n       */\n      pool?: PoolInfo;\n      /**\n       * Absolute amount to adjust the balance with. The balance change depends on the source and target balances\n       * @readonly\n       */\n      amount?: string;\n      /**\n       * The source balance\n       * @readonly\n       */\n      source?: BalanceType;\n      /**\n       * The target balance\n       * @readonly\n       */\n      target?: BalanceType;\n      /**\n       * Generated idempotency key from the client when making a change to the balance.\n       * @readonly\n       */\n      idempotencyKey?: string;\n      /**\n       * Related transaction id. For example - for a reservation cancellation transaction, the related transaction is the redemption itself.\n       * @readonly\n       */\n      relatedTransactionId?: string | null;\n      /**\n       * The identity that owns this transaction\n       * @readonly\n       */\n      beneficiary?: IdentificationData;\n      /**\n       * The identity that created this transaction\n       * @readonly\n       */\n      instructingParty?: IdentificationData;\n      /** status of the transaction */\n      status?: TransactionStatus;\n      /**\n       * Additional details about the transaction\n       * @readonly\n       */\n      details?: TransactionDetails;\n  }\n  interface PoolInfo {\n      /**\n       * The pool from which the balance was changed\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * PoolDefinition that this pool was created from\n       * @readonly\n       */\n      poolDefinitionId?: string | null;\n      /**\n       * Program definition from which this entitlement was provisioned from\n       * @readonly\n       */\n      programDefinitionId?: string | null;\n      /**\n       * Package that this entitlement belongs to\n       * @readonly\n       */\n      programId?: string | null;\n      /** The total amount of credits available for this pool */\n      creditAmount?: string | null;\n      /** The namespace of the pool */\n      namespace?: string | null;\n  }\n  enum BalanceType {\n      UNDEFINED = \"UNDEFINED\",\n      /** Available balance */\n      AVAILABLE = \"AVAILABLE\",\n      /** Reserved balance */\n      RESERVED = \"RESERVED\",\n      /** External balance */\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  enum TransactionStatus {\n      UNDEFINED = \"UNDEFINED\",\n      /** Transaction is pending. This is the initial status of the transaction. Once the balance is updated, the transaction will become COMPLETED. If the balance update fails, the transaction will become FAILED. */\n      PENDING = \"PENDING\",\n      /** Transaction is completed */\n      COMPLETED = \"COMPLETED\",\n      /** Transaction is failed */\n      FAILED = \"FAILED\"\n  }\n  interface TransactionDetails {\n      /**\n       * The item for which the balance was changed, if applicable\n       * @readonly\n       */\n      item?: Item;\n      /** Item count, if applicable */\n      itemCount?: number | null;\n      /**\n       * Represents the time the business performed the transaction\n       * @readonly\n       */\n      effectiveDate?: Date;\n      /**\n       * Free format string\n       * @readonly\n       */\n      reason?: string | null;\n  }\n  interface Item {\n      /**\n       * The item id\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * External item identifier\n       * @readonly\n       */\n      externalId?: string | null;\n      /**\n       * Item category. Discriminates between different types of items. E.g. posts, groups etc.\n       * @readonly\n       */\n      category?: string | null;\n      /**\n       * Key of the set that this item is part of\n       * @readonly\n       */\n      itemSetId?: string | null;\n      /**\n       * Display name of the item\n       * @readonly\n       */\n      displayName?: string | null;\n  }\n  interface CreateTransactionRequest {\n      /** The transaction to create */\n      transaction: Transaction;\n  }\n  interface CreateTransactionResponse {\n      /** The created transaction */\n      transaction?: Transaction;\n  }\n  interface UpdateTransactionRequest {\n      /** The transaction to update */\n      transaction: Transaction;\n      /**\n       * The field mask to apply\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateTransactionResponse {\n      /** The updated transaction */\n      transaction?: Transaction;\n  }\n  interface GetTransactionRequest {\n      /** Id of the transaction to retrieve */\n      transactionId: string;\n  }\n  interface GetTransactionResponse {\n      /** The retrieved transaction */\n      transaction?: Transaction;\n  }\n  interface QueryTransactionsRequest {\n      /** WQL expression */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTransactionsResponse {\n      /** The retrieved transactions */\n      transactions?: Transaction[];\n      /** Paging information */\n      metadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData extends WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a transaction\n   * @param transaction - The transaction to create\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField transaction\n   * @requiredField transaction.amount\n   * @requiredField transaction.beneficiary\n   * @requiredField transaction.idempotencyKey\n   * @requiredField transaction.pool\n   * @requiredField transaction.pool._id\n   * @requiredField transaction.source\n   * @requiredField transaction.status\n   * @requiredField transaction.target\n   * @adminMethod\n   * @returns The created transaction\n   */\n  function createTransaction(transaction: Transaction): Promise<Transaction>;\n  /**\n   * Updates a transaction\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField transaction\n   * @requiredField transaction.revision\n   * @adminMethod\n   * @returns The updated transaction\n   */\n  function updateTransaction(_id: string | null, transaction: UpdateTransaction, options?: UpdateTransactionOptions): Promise<Transaction>;\n  interface UpdateTransaction {\n      /** @readonly */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time the transaction was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time the transaction was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * The pool from which the balance was changed\n       * @readonly\n       */\n      pool?: PoolInfo;\n      /**\n       * Absolute amount to adjust the balance with. The balance change depends on the source and target balances\n       * @readonly\n       */\n      amount?: string;\n      /**\n       * The source balance\n       * @readonly\n       */\n      source?: BalanceType;\n      /**\n       * The target balance\n       * @readonly\n       */\n      target?: BalanceType;\n      /**\n       * Generated idempotency key from the client when making a change to the balance.\n       * @readonly\n       */\n      idempotencyKey?: string;\n      /**\n       * Related transaction id. For example - for a reservation cancellation transaction, the related transaction is the redemption itself.\n       * @readonly\n       */\n      relatedTransactionId?: string | null;\n      /**\n       * The identity that owns this transaction\n       * @readonly\n       */\n      beneficiary?: IdentificationData;\n      /**\n       * The identity that created this transaction\n       * @readonly\n       */\n      instructingParty?: IdentificationData;\n      /** status of the transaction */\n      status?: TransactionStatus;\n      /**\n       * Additional details about the transaction\n       * @readonly\n       */\n      details?: TransactionDetails;\n  }\n  interface UpdateTransactionOptions {\n      /**\n       * The field mask to apply\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Get a transaction by id\n   * @param transactionId - Id of the transaction to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField transactionId\n   * @adminMethod\n   * @returns The retrieved transaction\n   */\n  function getTransaction(transactionId: string): Promise<Transaction>;\n  /**\n   * Query transactions using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryTransactions(): TransactionsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TransactionsQueryResult extends QueryCursorResult {\n      items: Transaction[];\n      query: TransactionsQueryBuilder;\n      next: () => Promise<TransactionsQueryResult>;\n      prev: () => Promise<TransactionsQueryResult>;\n  }\n  interface TransactionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'pool.id' | 'relatedTransactionId', value: any) => TransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'pool.id' | 'relatedTransactionId', value: any) => TransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'pool.id' | 'relatedTransactionId', value: string) => TransactionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'pool.id' | 'relatedTransactionId', value: any[]) => TransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'pool.id' | 'relatedTransactionId', value: any) => TransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'pool.id' | 'relatedTransactionId', value: boolean) => TransactionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'pool.id' | 'relatedTransactionId'>) => TransactionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'pool.id' | 'relatedTransactionId'>) => TransactionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => TransactionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => TransactionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<TransactionsQueryResult>;\n  }\n  \n  type benefitProgramsV1Transaction_universal_d_Transaction = Transaction;\n  type benefitProgramsV1Transaction_universal_d_PoolInfo = PoolInfo;\n  type benefitProgramsV1Transaction_universal_d_BalanceType = BalanceType;\n  const benefitProgramsV1Transaction_universal_d_BalanceType: typeof BalanceType;\n  type benefitProgramsV1Transaction_universal_d_IdentificationData = IdentificationData;\n  type benefitProgramsV1Transaction_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type benefitProgramsV1Transaction_universal_d_IdentityType = IdentityType;\n  const benefitProgramsV1Transaction_universal_d_IdentityType: typeof IdentityType;\n  type benefitProgramsV1Transaction_universal_d_TransactionStatus = TransactionStatus;\n  const benefitProgramsV1Transaction_universal_d_TransactionStatus: typeof TransactionStatus;\n  type benefitProgramsV1Transaction_universal_d_TransactionDetails = TransactionDetails;\n  type benefitProgramsV1Transaction_universal_d_Item = Item;\n  type benefitProgramsV1Transaction_universal_d_CreateTransactionRequest = CreateTransactionRequest;\n  type benefitProgramsV1Transaction_universal_d_CreateTransactionResponse = CreateTransactionResponse;\n  type benefitProgramsV1Transaction_universal_d_UpdateTransactionRequest = UpdateTransactionRequest;\n  type benefitProgramsV1Transaction_universal_d_UpdateTransactionResponse = UpdateTransactionResponse;\n  type benefitProgramsV1Transaction_universal_d_GetTransactionRequest = GetTransactionRequest;\n  type benefitProgramsV1Transaction_universal_d_GetTransactionResponse = GetTransactionResponse;\n  type benefitProgramsV1Transaction_universal_d_QueryTransactionsRequest = QueryTransactionsRequest;\n  type benefitProgramsV1Transaction_universal_d_CursorQuery = CursorQuery;\n  type benefitProgramsV1Transaction_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type benefitProgramsV1Transaction_universal_d_Sorting = Sorting;\n  type benefitProgramsV1Transaction_universal_d_SortOrder = SortOrder;\n  const benefitProgramsV1Transaction_universal_d_SortOrder: typeof SortOrder;\n  type benefitProgramsV1Transaction_universal_d_CursorPaging = CursorPaging;\n  type benefitProgramsV1Transaction_universal_d_QueryTransactionsResponse = QueryTransactionsResponse;\n  type benefitProgramsV1Transaction_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type benefitProgramsV1Transaction_universal_d_Cursors = Cursors;\n  type benefitProgramsV1Transaction_universal_d_DomainEvent = DomainEvent;\n  type benefitProgramsV1Transaction_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type benefitProgramsV1Transaction_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type benefitProgramsV1Transaction_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type benefitProgramsV1Transaction_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type benefitProgramsV1Transaction_universal_d_ActionEvent = ActionEvent;\n  type benefitProgramsV1Transaction_universal_d_MessageEnvelope = MessageEnvelope;\n  type benefitProgramsV1Transaction_universal_d_WebhooksIdentificationData = WebhooksIdentificationData;\n  type benefitProgramsV1Transaction_universal_d_WebhooksIdentificationDataIdOneOf = WebhooksIdentificationDataIdOneOf;\n  type benefitProgramsV1Transaction_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const benefitProgramsV1Transaction_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const benefitProgramsV1Transaction_universal_d_createTransaction: typeof createTransaction;\n  const benefitProgramsV1Transaction_universal_d_updateTransaction: typeof updateTransaction;\n  type benefitProgramsV1Transaction_universal_d_UpdateTransaction = UpdateTransaction;\n  type benefitProgramsV1Transaction_universal_d_UpdateTransactionOptions = UpdateTransactionOptions;\n  const benefitProgramsV1Transaction_universal_d_getTransaction: typeof getTransaction;\n  const benefitProgramsV1Transaction_universal_d_queryTransactions: typeof queryTransactions;\n  type benefitProgramsV1Transaction_universal_d_TransactionsQueryResult = TransactionsQueryResult;\n  type benefitProgramsV1Transaction_universal_d_TransactionsQueryBuilder = TransactionsQueryBuilder;\n  namespace benefitProgramsV1Transaction_universal_d {\n    export {\n      benefitProgramsV1Transaction_universal_d_Transaction as Transaction,\n      benefitProgramsV1Transaction_universal_d_PoolInfo as PoolInfo,\n      benefitProgramsV1Transaction_universal_d_BalanceType as BalanceType,\n      benefitProgramsV1Transaction_universal_d_IdentificationData as IdentificationData,\n      benefitProgramsV1Transaction_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      benefitProgramsV1Transaction_universal_d_IdentityType as IdentityType,\n      benefitProgramsV1Transaction_universal_d_TransactionStatus as TransactionStatus,\n      benefitProgramsV1Transaction_universal_d_TransactionDetails as TransactionDetails,\n      benefitProgramsV1Transaction_universal_d_Item as Item,\n      benefitProgramsV1Transaction_universal_d_CreateTransactionRequest as CreateTransactionRequest,\n      benefitProgramsV1Transaction_universal_d_CreateTransactionResponse as CreateTransactionResponse,\n      benefitProgramsV1Transaction_universal_d_UpdateTransactionRequest as UpdateTransactionRequest,\n      benefitProgramsV1Transaction_universal_d_UpdateTransactionResponse as UpdateTransactionResponse,\n      benefitProgramsV1Transaction_universal_d_GetTransactionRequest as GetTransactionRequest,\n      benefitProgramsV1Transaction_universal_d_GetTransactionResponse as GetTransactionResponse,\n      benefitProgramsV1Transaction_universal_d_QueryTransactionsRequest as QueryTransactionsRequest,\n      benefitProgramsV1Transaction_universal_d_CursorQuery as CursorQuery,\n      benefitProgramsV1Transaction_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      benefitProgramsV1Transaction_universal_d_Sorting as Sorting,\n      benefitProgramsV1Transaction_universal_d_SortOrder as SortOrder,\n      benefitProgramsV1Transaction_universal_d_CursorPaging as CursorPaging,\n      benefitProgramsV1Transaction_universal_d_QueryTransactionsResponse as QueryTransactionsResponse,\n      benefitProgramsV1Transaction_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      benefitProgramsV1Transaction_universal_d_Cursors as Cursors,\n      benefitProgramsV1Transaction_universal_d_DomainEvent as DomainEvent,\n      benefitProgramsV1Transaction_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      benefitProgramsV1Transaction_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      benefitProgramsV1Transaction_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      benefitProgramsV1Transaction_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      benefitProgramsV1Transaction_universal_d_ActionEvent as ActionEvent,\n      benefitProgramsV1Transaction_universal_d_MessageEnvelope as MessageEnvelope,\n      benefitProgramsV1Transaction_universal_d_WebhooksIdentificationData as WebhooksIdentificationData,\n      benefitProgramsV1Transaction_universal_d_WebhooksIdentificationDataIdOneOf as WebhooksIdentificationDataIdOneOf,\n      benefitProgramsV1Transaction_universal_d_WebhookIdentityType as WebhookIdentityType,\n      benefitProgramsV1Transaction_universal_d_createTransaction as createTransaction,\n      benefitProgramsV1Transaction_universal_d_updateTransaction as updateTransaction,\n      benefitProgramsV1Transaction_universal_d_UpdateTransaction as UpdateTransaction,\n      benefitProgramsV1Transaction_universal_d_UpdateTransactionOptions as UpdateTransactionOptions,\n      benefitProgramsV1Transaction_universal_d_getTransaction as getTransaction,\n      benefitProgramsV1Transaction_universal_d_queryTransactions as queryTransactions,\n      benefitProgramsV1Transaction_universal_d_TransactionsQueryResult as TransactionsQueryResult,\n      benefitProgramsV1Transaction_universal_d_TransactionsQueryBuilder as TransactionsQueryBuilder,\n    };\n  }\n  \n  export { benefitProgramsV1Balance_universal_d as balance, benefitProgramsV1Item_universal_d as item, benefitProgramsV1Pool_universal_d as pool, benefitProgramsV1PoolDefinition_universal_d as poolDefinition, benefitProgramsV1PoolDefinitionItem_universal_d as poolDefinitionItem, benefitProgramsV1Transaction_universal_d as transaction };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-online-programs.d.ts",
      "content": "declare module \"wix-online-programs\" {\n  /** Category is the main entity of CategoriesService that can be used to group programs by */\n  interface Category {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Category was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Category was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Human readable name of the category */\n      label?: string;\n      /** List of programs in that category. */\n      assignedTo?: string[];\n      /** extensible field */\n      extendedFields?: ExtendedFields$2;\n  }\n  interface ExtendedFields$2 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateCategoryRequest {\n      /** Category to be created */\n      category: Category;\n  }\n  interface CreateCategoryResponse {\n      /** The created Category */\n      category?: Category;\n  }\n  interface BulkCreateCategoryRequest {\n      /** List of categories you want to create */\n      categories: Category[];\n      /** Flag to specify if you want to get created entities in response */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateCategoryResponse {\n      results?: BulkCategoryResult[];\n      bulkActionMetadata?: BulkActionMetadata$4;\n  }\n  interface ItemMetadata$5 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$5;\n  }\n  interface ApplicationError$5 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkCategoryResult {\n      itemMetadata?: ItemMetadata$5;\n      item?: Category;\n  }\n  interface BulkActionMetadata$4 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetCategoryRequest {\n      /** Id of the Category to retrieve */\n      categoryId: string;\n  }\n  interface GetCategoryResponse {\n      /** The retrieved Category */\n      category?: Category;\n  }\n  interface ListCategoriesRequest {\n      /** Ids of categories to list */\n      categoryIds?: string[];\n  }\n  interface ListCategoriesResponse {\n      /** The retrieved categories */\n      categories?: Category[];\n  }\n  interface UpdateCategoryRequest {\n      /** Category to be updated, may be partial */\n      category: Category;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateCategoryResponse {\n      /** The updated Category */\n      category?: Category;\n  }\n  interface DeleteCategoryRequest {\n      /** Id of the Category to delete */\n      categoryId: string;\n  }\n  interface DeleteCategoryResponse {\n  }\n  interface QueryCategoriesRequest {\n      /** WQL expression */\n      query?: CursorQuery$5;\n  }\n  interface CursorQuery$5 extends CursorQueryPagingMethodOneOf$5 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$5[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$5 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n  }\n  interface Sorting$5 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$5;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$5 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$5 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCategoriesResponse {\n      /** The retrieved Categories */\n      categories?: Category[];\n      /** Metadata for paging */\n      pagingMetadata?: CursorPagingMetadata$5;\n  }\n  interface CursorPagingMetadata$5 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$5;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$5 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkAssignCategoriesToProgramRequest {\n      /** program ID which categories are changing */\n      programId: string;\n      /** Categories which are added to program */\n      categoriesToAssign?: string[];\n      /** Categories which are removed from program */\n      categoriesToUnassign?: string[];\n      returnEntity?: boolean;\n  }\n  interface BulkAssignCategoriesToProgramResponse {\n      results?: BulkAssignCategoryResult[];\n      bulkActionMetadata?: BulkActionMetadata$4;\n  }\n  enum Action {\n      UNKNOWN = \"UNKNOWN\",\n      ASSIGN_PROGRAMS = \"ASSIGN_PROGRAMS\"\n  }\n  interface BulkAssignCategoryResult {\n      action?: Action;\n      itemMetadata?: ItemMetadata$5;\n      item?: Category;\n  }\n  interface CategoriesAssignedToProgram {\n      /** Categories which were added to program */\n      categoriesAdded?: string[];\n      /** Categories which were removed from program */\n      categoriesRemoved?: string[];\n  }\n  interface DomainEvent$6 extends DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n  }\n  interface EntityCreatedEvent$6 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$5;\n  }\n  interface RestoreInfo$5 {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$6 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$6 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$6 {\n      bodyAsJson?: string;\n  }\n  interface Empty$4 {\n  }\n  interface MessageEnvelope$6 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$6;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$6 extends IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$6;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$6 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new Category\n   * @param category - Category to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField category\n   * @adminMethod\n   * @returns The created Category\n   */\n  function createCategory(category: Category): Promise<Category>;\n  /**\n   * Creates new categories in a bulk\n   * @param categories - List of categories you want to create\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categories\n   * @adminMethod\n   */\n  function bulkCreateCategory(categories: Category[], options?: BulkCreateCategoryOptions): Promise<BulkCreateCategoryResponse>;\n  interface BulkCreateCategoryOptions {\n      /** Flag to specify if you want to get created entities in response */\n      returnEntity?: boolean;\n  }\n  /**\n   * Get a Category by id\n   * @param categoryId - Id of the Category to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @returns The retrieved Category\n   */\n  function getCategory(categoryId: string): Promise<Category>;\n  /**\n   * Get list of categories by list of ids\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listCategories(options?: ListCategoriesOptions): Promise<ListCategoriesResponse>;\n  interface ListCategoriesOptions {\n      /** Ids of categories to list */\n      categoryIds?: string[];\n  }\n  /**\n   * Update a Category, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - Category ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField category\n   * @requiredField category.revision\n   * @adminMethod\n   * @returns The updated Category\n   */\n  function updateCategory(_id: string | null, category: UpdateCategory, options?: UpdateCategoryOptions): Promise<Category>;\n  interface UpdateCategory {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Category was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Category was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Human readable name of the category */\n      label?: string;\n      /** List of programs in that category. */\n      assignedTo?: string[];\n      /** extensible field */\n      extendedFields?: ExtendedFields$2;\n  }\n  interface UpdateCategoryOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Delete a Category\n   * @param categoryId - Id of the Category to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @adminMethod\n   */\n  function deleteCategory(categoryId: string): Promise<void>;\n  /**\n   * Query Categories using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ONLINE_PROGRAMS.CATEGORY_READ\n   */\n  function queryCategories(): CategoriesQueryBuilder;\n  interface QueryCursorResult$5 {\n      cursors: Cursors$5;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CategoriesQueryResult extends QueryCursorResult$5 {\n      items: Category[];\n      query: CategoriesQueryBuilder;\n      next: () => Promise<CategoriesQueryResult>;\n      prev: () => Promise<CategoriesQueryResult>;\n  }\n  interface CategoriesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id', value: string) => CategoriesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id', value: any[]) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id', value: any) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id', value: boolean) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id'>) => CategoriesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id'>) => CategoriesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CategoriesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CategoriesQueryResult>;\n  }\n  /**\n   * Assign or unassign categories to a program\n   * @param programId - program ID which categories are changing\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function bulkAssignCategoriesToProgram(programId: string, options?: BulkAssignCategoriesToProgramOptions): Promise<BulkAssignCategoriesToProgramResponse>;\n  interface BulkAssignCategoriesToProgramOptions {\n      /** Categories which are added to program */\n      categoriesToAssign?: string[];\n      /** Categories which are removed from program */\n      categoriesToUnassign?: string[];\n      returnEntity?: boolean;\n  }\n  \n  type achievementsCategoriesV3Category_universal_d_Category = Category;\n  type achievementsCategoriesV3Category_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type achievementsCategoriesV3Category_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n  type achievementsCategoriesV3Category_universal_d_BulkCreateCategoryRequest = BulkCreateCategoryRequest;\n  type achievementsCategoriesV3Category_universal_d_BulkCreateCategoryResponse = BulkCreateCategoryResponse;\n  type achievementsCategoriesV3Category_universal_d_BulkCategoryResult = BulkCategoryResult;\n  type achievementsCategoriesV3Category_universal_d_GetCategoryRequest = GetCategoryRequest;\n  type achievementsCategoriesV3Category_universal_d_GetCategoryResponse = GetCategoryResponse;\n  type achievementsCategoriesV3Category_universal_d_ListCategoriesRequest = ListCategoriesRequest;\n  type achievementsCategoriesV3Category_universal_d_ListCategoriesResponse = ListCategoriesResponse;\n  type achievementsCategoriesV3Category_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type achievementsCategoriesV3Category_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n  type achievementsCategoriesV3Category_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type achievementsCategoriesV3Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  type achievementsCategoriesV3Category_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n  type achievementsCategoriesV3Category_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n  type achievementsCategoriesV3Category_universal_d_BulkAssignCategoriesToProgramRequest = BulkAssignCategoriesToProgramRequest;\n  type achievementsCategoriesV3Category_universal_d_BulkAssignCategoriesToProgramResponse = BulkAssignCategoriesToProgramResponse;\n  type achievementsCategoriesV3Category_universal_d_Action = Action;\n  const achievementsCategoriesV3Category_universal_d_Action: typeof Action;\n  type achievementsCategoriesV3Category_universal_d_BulkAssignCategoryResult = BulkAssignCategoryResult;\n  type achievementsCategoriesV3Category_universal_d_CategoriesAssignedToProgram = CategoriesAssignedToProgram;\n  const achievementsCategoriesV3Category_universal_d_createCategory: typeof createCategory;\n  const achievementsCategoriesV3Category_universal_d_bulkCreateCategory: typeof bulkCreateCategory;\n  type achievementsCategoriesV3Category_universal_d_BulkCreateCategoryOptions = BulkCreateCategoryOptions;\n  const achievementsCategoriesV3Category_universal_d_getCategory: typeof getCategory;\n  const achievementsCategoriesV3Category_universal_d_listCategories: typeof listCategories;\n  type achievementsCategoriesV3Category_universal_d_ListCategoriesOptions = ListCategoriesOptions;\n  const achievementsCategoriesV3Category_universal_d_updateCategory: typeof updateCategory;\n  type achievementsCategoriesV3Category_universal_d_UpdateCategory = UpdateCategory;\n  type achievementsCategoriesV3Category_universal_d_UpdateCategoryOptions = UpdateCategoryOptions;\n  const achievementsCategoriesV3Category_universal_d_deleteCategory: typeof deleteCategory;\n  const achievementsCategoriesV3Category_universal_d_queryCategories: typeof queryCategories;\n  type achievementsCategoriesV3Category_universal_d_CategoriesQueryResult = CategoriesQueryResult;\n  type achievementsCategoriesV3Category_universal_d_CategoriesQueryBuilder = CategoriesQueryBuilder;\n  const achievementsCategoriesV3Category_universal_d_bulkAssignCategoriesToProgram: typeof bulkAssignCategoriesToProgram;\n  type achievementsCategoriesV3Category_universal_d_BulkAssignCategoriesToProgramOptions = BulkAssignCategoriesToProgramOptions;\n  namespace achievementsCategoriesV3Category_universal_d {\n    export {\n      achievementsCategoriesV3Category_universal_d_Category as Category,\n      ExtendedFields$2 as ExtendedFields,\n      achievementsCategoriesV3Category_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      achievementsCategoriesV3Category_universal_d_CreateCategoryResponse as CreateCategoryResponse,\n      achievementsCategoriesV3Category_universal_d_BulkCreateCategoryRequest as BulkCreateCategoryRequest,\n      achievementsCategoriesV3Category_universal_d_BulkCreateCategoryResponse as BulkCreateCategoryResponse,\n      ItemMetadata$5 as ItemMetadata,\n      ApplicationError$5 as ApplicationError,\n      achievementsCategoriesV3Category_universal_d_BulkCategoryResult as BulkCategoryResult,\n      BulkActionMetadata$4 as BulkActionMetadata,\n      achievementsCategoriesV3Category_universal_d_GetCategoryRequest as GetCategoryRequest,\n      achievementsCategoriesV3Category_universal_d_GetCategoryResponse as GetCategoryResponse,\n      achievementsCategoriesV3Category_universal_d_ListCategoriesRequest as ListCategoriesRequest,\n      achievementsCategoriesV3Category_universal_d_ListCategoriesResponse as ListCategoriesResponse,\n      achievementsCategoriesV3Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      achievementsCategoriesV3Category_universal_d_UpdateCategoryResponse as UpdateCategoryResponse,\n      achievementsCategoriesV3Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      achievementsCategoriesV3Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      achievementsCategoriesV3Category_universal_d_QueryCategoriesRequest as QueryCategoriesRequest,\n      CursorQuery$5 as CursorQuery,\n      CursorQueryPagingMethodOneOf$5 as CursorQueryPagingMethodOneOf,\n      Sorting$5 as Sorting,\n      SortOrder$5 as SortOrder,\n      CursorPaging$5 as CursorPaging,\n      achievementsCategoriesV3Category_universal_d_QueryCategoriesResponse as QueryCategoriesResponse,\n      CursorPagingMetadata$5 as CursorPagingMetadata,\n      Cursors$5 as Cursors,\n      achievementsCategoriesV3Category_universal_d_BulkAssignCategoriesToProgramRequest as BulkAssignCategoriesToProgramRequest,\n      achievementsCategoriesV3Category_universal_d_BulkAssignCategoriesToProgramResponse as BulkAssignCategoriesToProgramResponse,\n      achievementsCategoriesV3Category_universal_d_Action as Action,\n      achievementsCategoriesV3Category_universal_d_BulkAssignCategoryResult as BulkAssignCategoryResult,\n      achievementsCategoriesV3Category_universal_d_CategoriesAssignedToProgram as CategoriesAssignedToProgram,\n      DomainEvent$6 as DomainEvent,\n      DomainEventBodyOneOf$6 as DomainEventBodyOneOf,\n      EntityCreatedEvent$6 as EntityCreatedEvent,\n      RestoreInfo$5 as RestoreInfo,\n      EntityUpdatedEvent$6 as EntityUpdatedEvent,\n      EntityDeletedEvent$6 as EntityDeletedEvent,\n      ActionEvent$6 as ActionEvent,\n      Empty$4 as Empty,\n      MessageEnvelope$6 as MessageEnvelope,\n      IdentificationData$6 as IdentificationData,\n      IdentificationDataIdOneOf$6 as IdentificationDataIdOneOf,\n      WebhookIdentityType$6 as WebhookIdentityType,\n      achievementsCategoriesV3Category_universal_d_createCategory as createCategory,\n      achievementsCategoriesV3Category_universal_d_bulkCreateCategory as bulkCreateCategory,\n      achievementsCategoriesV3Category_universal_d_BulkCreateCategoryOptions as BulkCreateCategoryOptions,\n      achievementsCategoriesV3Category_universal_d_getCategory as getCategory,\n      achievementsCategoriesV3Category_universal_d_listCategories as listCategories,\n      achievementsCategoriesV3Category_universal_d_ListCategoriesOptions as ListCategoriesOptions,\n      achievementsCategoriesV3Category_universal_d_updateCategory as updateCategory,\n      achievementsCategoriesV3Category_universal_d_UpdateCategory as UpdateCategory,\n      achievementsCategoriesV3Category_universal_d_UpdateCategoryOptions as UpdateCategoryOptions,\n      achievementsCategoriesV3Category_universal_d_deleteCategory as deleteCategory,\n      achievementsCategoriesV3Category_universal_d_queryCategories as queryCategories,\n      achievementsCategoriesV3Category_universal_d_CategoriesQueryResult as CategoriesQueryResult,\n      achievementsCategoriesV3Category_universal_d_CategoriesQueryBuilder as CategoriesQueryBuilder,\n      achievementsCategoriesV3Category_universal_d_bulkAssignCategoriesToProgram as bulkAssignCategoriesToProgram,\n      achievementsCategoriesV3Category_universal_d_BulkAssignCategoriesToProgramOptions as BulkAssignCategoriesToProgramOptions,\n    };\n  }\n  \n  /** Instructor entity */\n  interface Instructor {\n      /**\n       * ID of the instructor that equals to memberId\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * User ID for real instructors (will be filled only for real instructors)\n       * @readonly\n       */\n      userId?: string | null;\n      /** The name of the instructor */\n      name?: string | null;\n      /** A description of the instructor */\n      description?: string | null;\n      /** URL of profile photo */\n      photo?: Image;\n      /**\n       * Slug that determines the instructor's profile page URL.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Role of the instructor\n       * @readonly\n       */\n      role?: Role;\n      /**\n       * IDs of programs instructor is assigned to\n       * @readonly\n       */\n      programIds?: string[];\n      /**\n       * Date and time when the instructor was created\n       * @readonly\n       */\n      _createdDate?: Date;\n  }\n  interface Image {\n      /**\n       * Wix Media image ID,\n       * set when the member selects an image from Wix Media.\n       */\n      _id?: string;\n      /** Image URL. */\n      url?: string;\n      /** Original image width. */\n      height?: number;\n      /** Original image height. */\n      width?: number;\n      /**\n       * X-axis offset.\n       *\n       * Default: `0`.\n       */\n      offsetX?: number | null;\n      /**\n       * Y-axis offset.\n       *\n       * Default: `0`.\n       */\n      offsetY?: number | null;\n  }\n  enum Role {\n      /** VIRTUAL instructor */\n      DEFAULT = \"DEFAULT\",\n      /** REAL instructor who is the owner of the site */\n      OWNER = \"OWNER\",\n      /** REAL instructor who has access to specified list of programs */\n      INSTRUCTOR = \"INSTRUCTOR\",\n      /** REAL instructor who has the same rights as program owner */\n      MANAGER = \"MANAGER\"\n  }\n  interface CreateInstructorRequest {\n      /** Instructor to be created */\n      instructor?: Instructor;\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  interface CreateInstructorResponse {\n      /** The created instructor */\n      instructor?: Instructor;\n  }\n  interface InviteInstructorRequest {\n      /** Instructor's email to invite */\n      email: string;\n  }\n  interface InviteInstructorResponse {\n  }\n  interface ListInstructorsRequest {\n      /**\n       * Filter instructors assigned to specified programs.\n       * Return all instructors if this field has empty value\n       */\n      programIdsFilter?: string[];\n      /** page */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListInstructorsResponse {\n      /** Retrieved instructors */\n      instructors?: Instructor[];\n      /** paging metadata */\n      paging?: PagingMetadataV2;\n      /** paging metadata */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$4;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$4 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryInstructorsRequest {\n      /** Platformized query to get instructors */\n      query?: CursorQuery$4;\n  }\n  interface CursorQuery$4 extends CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$4[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface Sorting$4 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$4;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$4 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$4 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryInstructorsResponse {\n      /** The retrieved Categories */\n      instructors?: Instructor[];\n      /** Metadata for paging */\n      pagingMetadata?: CursorPagingMetadata$4;\n  }\n  interface CursorPagingMetadata$4 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$4;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface UpdateInstructorRequest {\n      /** Instructor to be updated, may be partial */\n      instructor: Instructor;\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  interface UpdateInstructorResponse {\n      /** Updated instructor */\n      instructor?: Instructor;\n  }\n  interface DeleteInstructorRequest {\n      /** ID of the instructor to delete */\n      instructorId: string;\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  interface DeleteInstructorResponse {\n      /** Deleted instructor */\n      instructor?: Instructor;\n  }\n  interface AssignInstructorToProgramRequest {\n      /** ID of the instructor to assign */\n      instructorId: string;\n      /** ID of the program */\n      programId: string;\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  interface AssignInstructorToProgramResponse {\n  }\n  interface InstructorWasAssigned {\n      /** ID of assigned Instructor */\n      instructorId?: string;\n      /** ID of the program Instructor was assigned to */\n      programId?: string;\n  }\n  interface UnassignInstructorFromProgramRequest {\n      /** ID of the instructor to unassign */\n      instructorId: string;\n      /** ID of the program */\n      programId: string;\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  interface UnassignInstructorFromProgramResponse {\n  }\n  interface InstructorWasUnassigned {\n      /** ID of unassigned Instructor */\n      instructorId?: string;\n      /** ID of the program Instructor was unassigned from */\n      programId?: string;\n  }\n  interface ChangeProgramInstructorsRequest {\n      /** ID of the program */\n      programId: string;\n      /** IDs of instructors to assign */\n      assignInstructorIds?: string[];\n      /** IDs of instructors to unassign */\n      unassignInstructorIds?: string[];\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  interface ChangeProgramInstructorsResponse {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /** A list of \"assets\" (applications). The same as MetaSiteContext. */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State$3;\n  }\n  enum State$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface Empty$3 {\n  }\n  interface DomainEvent$5 extends DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n  }\n  interface EntityCreatedEvent$5 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$5 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$5 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$5 {\n      bodyAsJson?: string;\n  }\n  interface PolicyAssignedToContributor {\n      accountId?: string;\n      metaSiteId?: string;\n      policyIds?: string[];\n  }\n  interface PolicyRemovedFromContributor {\n      accountId?: string;\n      metaSiteId?: string;\n      policyIds?: string[];\n  }\n  interface PolicyUpdatedForContributor {\n      accountId?: string;\n      metaSiteId?: string;\n      oldPolicyIds?: string[];\n      newPolicyIds?: string[];\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$5;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new instructor\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.instructor.name\n   * @adminMethod\n   * @returns The created instructor\n   */\n  function createInstructor(options?: CreateInstructorOptions): Promise<Instructor>;\n  interface CreateInstructorOptions {\n      /** Instructor to be created */\n      instructor?: Instructor;\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  /**\n   * Invite instructor by provided email\n   * @param email - Instructor's email to invite\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField email\n   * @adminMethod\n   */\n  function inviteInstructor(email: string): Promise<void>;\n  /**\n   * Lists instructors created on the site\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listInstructors(options?: ListInstructorsOptions): Promise<ListInstructorsResponse>;\n  interface ListInstructorsOptions {\n      /**\n       * Filter instructors assigned to specified programs.\n       * Return all instructors if this field has empty value\n       */\n      programIdsFilter?: string[];\n      /** page */\n      paging?: Paging;\n  }\n  /**\n   * Query instructors\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ONLINE_PROGRAMS.INSTRUCTORS_READ\n   */\n  function queryInstructors(): InstructorsQueryBuilder;\n  interface QueryCursorResult$4 {\n      cursors: Cursors$4;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface InstructorsQueryResult extends QueryCursorResult$4 {\n      items: Instructor[];\n      query: InstructorsQueryBuilder;\n      next: () => Promise<InstructorsQueryResult>;\n      prev: () => Promise<InstructorsQueryResult>;\n  }\n  interface InstructorsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'userId', value: any) => InstructorsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => InstructorsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id', value: string) => InstructorsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id', value: any[]) => InstructorsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'userId', value: any) => InstructorsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id', value: boolean) => InstructorsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'userId'>) => InstructorsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'userId'>) => InstructorsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => InstructorsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => InstructorsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<InstructorsQueryResult>;\n  }\n  /**\n   * Updates an instructor, supports partial update\n   * @param _id - ID of the instructor that equals to memberId\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField instructor\n   * @adminMethod\n   * @returns Updated instructor\n   */\n  function updateInstructor(_id: string | null, instructor: UpdateInstructor, options?: UpdateInstructorOptions): Promise<Instructor>;\n  interface UpdateInstructor {\n      /**\n       * ID of the instructor that equals to memberId\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * User ID for real instructors (will be filled only for real instructors)\n       * @readonly\n       */\n      userId?: string | null;\n      /** The name of the instructor */\n      name?: string | null;\n      /** A description of the instructor */\n      description?: string | null;\n      /** URL of profile photo */\n      photo?: Image;\n      /**\n       * Slug that determines the instructor's profile page URL.\n       * @readonly\n       */\n      slug?: string | null;\n      /**\n       * Role of the instructor\n       * @readonly\n       */\n      role?: Role;\n      /**\n       * IDs of programs instructor is assigned to\n       * @readonly\n       */\n      programIds?: string[];\n      /**\n       * Date and time when the instructor was created\n       * @readonly\n       */\n      _createdDate?: Date;\n  }\n  interface UpdateInstructorOptions {\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  /**\n   * Deletes an instructor\n   * @param instructorId - ID of the instructor to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField instructorId\n   * @adminMethod\n   */\n  function deleteInstructor(instructorId: string, options?: DeleteInstructorOptions): Promise<DeleteInstructorResponse>;\n  interface DeleteInstructorOptions {\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  /**\n   * Assigns an instructor to the program\n   * @param instructorId - ID of the instructor to assign\n   * @param programId - ID of the program\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField instructorId\n   * @requiredField programId\n   * @adminMethod\n   */\n  function assignInstructorToProgram(instructorId: string, programId: string, options?: AssignInstructorToProgramOptions): Promise<void>;\n  interface AssignInstructorToProgramOptions {\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  /**\n   * Unassigns an instructor from the program\n   * @param instructorId - ID of the instructor to unassign\n   * @param programId - ID of the program\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField instructorId\n   * @requiredField programId\n   * @adminMethod\n   */\n  function unassignInstructorFromProgram(instructorId: string, programId: string, options?: UnassignInstructorFromProgramOptions): Promise<void>;\n  interface UnassignInstructorFromProgramOptions {\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  /**\n   * Assigns or unassigns instructors to the program\n   * @param programId - ID of the program\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function changeProgramInstructors(programId: string, options?: ChangeProgramInstructorsOptions): Promise<void>;\n  interface ChangeProgramInstructorsOptions {\n      /** IDs of instructors to assign */\n      assignInstructorIds?: string[];\n      /** IDs of instructors to unassign */\n      unassignInstructorIds?: string[];\n      /** trace id used by BI. */\n      actionId?: string;\n  }\n  \n  type achievementsInstructorsV2Instructor_universal_d_Instructor = Instructor;\n  type achievementsInstructorsV2Instructor_universal_d_Image = Image;\n  type achievementsInstructorsV2Instructor_universal_d_Role = Role;\n  const achievementsInstructorsV2Instructor_universal_d_Role: typeof Role;\n  type achievementsInstructorsV2Instructor_universal_d_CreateInstructorRequest = CreateInstructorRequest;\n  type achievementsInstructorsV2Instructor_universal_d_CreateInstructorResponse = CreateInstructorResponse;\n  type achievementsInstructorsV2Instructor_universal_d_InviteInstructorRequest = InviteInstructorRequest;\n  type achievementsInstructorsV2Instructor_universal_d_InviteInstructorResponse = InviteInstructorResponse;\n  type achievementsInstructorsV2Instructor_universal_d_ListInstructorsRequest = ListInstructorsRequest;\n  type achievementsInstructorsV2Instructor_universal_d_Paging = Paging;\n  type achievementsInstructorsV2Instructor_universal_d_ListInstructorsResponse = ListInstructorsResponse;\n  type achievementsInstructorsV2Instructor_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type achievementsInstructorsV2Instructor_universal_d_QueryInstructorsRequest = QueryInstructorsRequest;\n  type achievementsInstructorsV2Instructor_universal_d_QueryInstructorsResponse = QueryInstructorsResponse;\n  type achievementsInstructorsV2Instructor_universal_d_UpdateInstructorRequest = UpdateInstructorRequest;\n  type achievementsInstructorsV2Instructor_universal_d_UpdateInstructorResponse = UpdateInstructorResponse;\n  type achievementsInstructorsV2Instructor_universal_d_DeleteInstructorRequest = DeleteInstructorRequest;\n  type achievementsInstructorsV2Instructor_universal_d_DeleteInstructorResponse = DeleteInstructorResponse;\n  type achievementsInstructorsV2Instructor_universal_d_AssignInstructorToProgramRequest = AssignInstructorToProgramRequest;\n  type achievementsInstructorsV2Instructor_universal_d_AssignInstructorToProgramResponse = AssignInstructorToProgramResponse;\n  type achievementsInstructorsV2Instructor_universal_d_InstructorWasAssigned = InstructorWasAssigned;\n  type achievementsInstructorsV2Instructor_universal_d_UnassignInstructorFromProgramRequest = UnassignInstructorFromProgramRequest;\n  type achievementsInstructorsV2Instructor_universal_d_UnassignInstructorFromProgramResponse = UnassignInstructorFromProgramResponse;\n  type achievementsInstructorsV2Instructor_universal_d_InstructorWasUnassigned = InstructorWasUnassigned;\n  type achievementsInstructorsV2Instructor_universal_d_ChangeProgramInstructorsRequest = ChangeProgramInstructorsRequest;\n  type achievementsInstructorsV2Instructor_universal_d_ChangeProgramInstructorsResponse = ChangeProgramInstructorsResponse;\n  type achievementsInstructorsV2Instructor_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type achievementsInstructorsV2Instructor_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type achievementsInstructorsV2Instructor_universal_d_Asset = Asset;\n  type achievementsInstructorsV2Instructor_universal_d_SiteCreated = SiteCreated;\n  type achievementsInstructorsV2Instructor_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const achievementsInstructorsV2Instructor_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type achievementsInstructorsV2Instructor_universal_d_Namespace = Namespace;\n  const achievementsInstructorsV2Instructor_universal_d_Namespace: typeof Namespace;\n  type achievementsInstructorsV2Instructor_universal_d_SiteTransferred = SiteTransferred;\n  type achievementsInstructorsV2Instructor_universal_d_SiteDeleted = SiteDeleted;\n  type achievementsInstructorsV2Instructor_universal_d_DeleteContext = DeleteContext;\n  type achievementsInstructorsV2Instructor_universal_d_DeleteStatus = DeleteStatus;\n  const achievementsInstructorsV2Instructor_universal_d_DeleteStatus: typeof DeleteStatus;\n  type achievementsInstructorsV2Instructor_universal_d_SiteUndeleted = SiteUndeleted;\n  type achievementsInstructorsV2Instructor_universal_d_SitePublished = SitePublished;\n  type achievementsInstructorsV2Instructor_universal_d_SiteUnpublished = SiteUnpublished;\n  type achievementsInstructorsV2Instructor_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type achievementsInstructorsV2Instructor_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type achievementsInstructorsV2Instructor_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type achievementsInstructorsV2Instructor_universal_d_ServiceRemoved = ServiceRemoved;\n  type achievementsInstructorsV2Instructor_universal_d_SiteRenamed = SiteRenamed;\n  type achievementsInstructorsV2Instructor_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type achievementsInstructorsV2Instructor_universal_d_NamespaceChanged = NamespaceChanged;\n  type achievementsInstructorsV2Instructor_universal_d_StudioAssigned = StudioAssigned;\n  type achievementsInstructorsV2Instructor_universal_d_StudioUnassigned = StudioUnassigned;\n  type achievementsInstructorsV2Instructor_universal_d_PolicyAssignedToContributor = PolicyAssignedToContributor;\n  type achievementsInstructorsV2Instructor_universal_d_PolicyRemovedFromContributor = PolicyRemovedFromContributor;\n  type achievementsInstructorsV2Instructor_universal_d_PolicyUpdatedForContributor = PolicyUpdatedForContributor;\n  const achievementsInstructorsV2Instructor_universal_d_createInstructor: typeof createInstructor;\n  type achievementsInstructorsV2Instructor_universal_d_CreateInstructorOptions = CreateInstructorOptions;\n  const achievementsInstructorsV2Instructor_universal_d_inviteInstructor: typeof inviteInstructor;\n  const achievementsInstructorsV2Instructor_universal_d_listInstructors: typeof listInstructors;\n  type achievementsInstructorsV2Instructor_universal_d_ListInstructorsOptions = ListInstructorsOptions;\n  const achievementsInstructorsV2Instructor_universal_d_queryInstructors: typeof queryInstructors;\n  type achievementsInstructorsV2Instructor_universal_d_InstructorsQueryResult = InstructorsQueryResult;\n  type achievementsInstructorsV2Instructor_universal_d_InstructorsQueryBuilder = InstructorsQueryBuilder;\n  const achievementsInstructorsV2Instructor_universal_d_updateInstructor: typeof updateInstructor;\n  type achievementsInstructorsV2Instructor_universal_d_UpdateInstructor = UpdateInstructor;\n  type achievementsInstructorsV2Instructor_universal_d_UpdateInstructorOptions = UpdateInstructorOptions;\n  const achievementsInstructorsV2Instructor_universal_d_deleteInstructor: typeof deleteInstructor;\n  type achievementsInstructorsV2Instructor_universal_d_DeleteInstructorOptions = DeleteInstructorOptions;\n  const achievementsInstructorsV2Instructor_universal_d_assignInstructorToProgram: typeof assignInstructorToProgram;\n  type achievementsInstructorsV2Instructor_universal_d_AssignInstructorToProgramOptions = AssignInstructorToProgramOptions;\n  const achievementsInstructorsV2Instructor_universal_d_unassignInstructorFromProgram: typeof unassignInstructorFromProgram;\n  type achievementsInstructorsV2Instructor_universal_d_UnassignInstructorFromProgramOptions = UnassignInstructorFromProgramOptions;\n  const achievementsInstructorsV2Instructor_universal_d_changeProgramInstructors: typeof changeProgramInstructors;\n  type achievementsInstructorsV2Instructor_universal_d_ChangeProgramInstructorsOptions = ChangeProgramInstructorsOptions;\n  namespace achievementsInstructorsV2Instructor_universal_d {\n    export {\n      achievementsInstructorsV2Instructor_universal_d_Instructor as Instructor,\n      achievementsInstructorsV2Instructor_universal_d_Image as Image,\n      achievementsInstructorsV2Instructor_universal_d_Role as Role,\n      achievementsInstructorsV2Instructor_universal_d_CreateInstructorRequest as CreateInstructorRequest,\n      achievementsInstructorsV2Instructor_universal_d_CreateInstructorResponse as CreateInstructorResponse,\n      achievementsInstructorsV2Instructor_universal_d_InviteInstructorRequest as InviteInstructorRequest,\n      achievementsInstructorsV2Instructor_universal_d_InviteInstructorResponse as InviteInstructorResponse,\n      achievementsInstructorsV2Instructor_universal_d_ListInstructorsRequest as ListInstructorsRequest,\n      achievementsInstructorsV2Instructor_universal_d_Paging as Paging,\n      achievementsInstructorsV2Instructor_universal_d_ListInstructorsResponse as ListInstructorsResponse,\n      achievementsInstructorsV2Instructor_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      Cursors$4 as Cursors,\n      achievementsInstructorsV2Instructor_universal_d_QueryInstructorsRequest as QueryInstructorsRequest,\n      CursorQuery$4 as CursorQuery,\n      CursorQueryPagingMethodOneOf$4 as CursorQueryPagingMethodOneOf,\n      Sorting$4 as Sorting,\n      SortOrder$4 as SortOrder,\n      CursorPaging$4 as CursorPaging,\n      achievementsInstructorsV2Instructor_universal_d_QueryInstructorsResponse as QueryInstructorsResponse,\n      CursorPagingMetadata$4 as CursorPagingMetadata,\n      achievementsInstructorsV2Instructor_universal_d_UpdateInstructorRequest as UpdateInstructorRequest,\n      achievementsInstructorsV2Instructor_universal_d_UpdateInstructorResponse as UpdateInstructorResponse,\n      achievementsInstructorsV2Instructor_universal_d_DeleteInstructorRequest as DeleteInstructorRequest,\n      achievementsInstructorsV2Instructor_universal_d_DeleteInstructorResponse as DeleteInstructorResponse,\n      achievementsInstructorsV2Instructor_universal_d_AssignInstructorToProgramRequest as AssignInstructorToProgramRequest,\n      achievementsInstructorsV2Instructor_universal_d_AssignInstructorToProgramResponse as AssignInstructorToProgramResponse,\n      achievementsInstructorsV2Instructor_universal_d_InstructorWasAssigned as InstructorWasAssigned,\n      achievementsInstructorsV2Instructor_universal_d_UnassignInstructorFromProgramRequest as UnassignInstructorFromProgramRequest,\n      achievementsInstructorsV2Instructor_universal_d_UnassignInstructorFromProgramResponse as UnassignInstructorFromProgramResponse,\n      achievementsInstructorsV2Instructor_universal_d_InstructorWasUnassigned as InstructorWasUnassigned,\n      achievementsInstructorsV2Instructor_universal_d_ChangeProgramInstructorsRequest as ChangeProgramInstructorsRequest,\n      achievementsInstructorsV2Instructor_universal_d_ChangeProgramInstructorsResponse as ChangeProgramInstructorsResponse,\n      achievementsInstructorsV2Instructor_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      achievementsInstructorsV2Instructor_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      achievementsInstructorsV2Instructor_universal_d_Asset as Asset,\n      State$3 as State,\n      achievementsInstructorsV2Instructor_universal_d_SiteCreated as SiteCreated,\n      achievementsInstructorsV2Instructor_universal_d_SiteCreatedContext as SiteCreatedContext,\n      achievementsInstructorsV2Instructor_universal_d_Namespace as Namespace,\n      achievementsInstructorsV2Instructor_universal_d_SiteTransferred as SiteTransferred,\n      achievementsInstructorsV2Instructor_universal_d_SiteDeleted as SiteDeleted,\n      achievementsInstructorsV2Instructor_universal_d_DeleteContext as DeleteContext,\n      achievementsInstructorsV2Instructor_universal_d_DeleteStatus as DeleteStatus,\n      achievementsInstructorsV2Instructor_universal_d_SiteUndeleted as SiteUndeleted,\n      achievementsInstructorsV2Instructor_universal_d_SitePublished as SitePublished,\n      achievementsInstructorsV2Instructor_universal_d_SiteUnpublished as SiteUnpublished,\n      achievementsInstructorsV2Instructor_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      achievementsInstructorsV2Instructor_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      achievementsInstructorsV2Instructor_universal_d_ServiceProvisioned as ServiceProvisioned,\n      achievementsInstructorsV2Instructor_universal_d_ServiceRemoved as ServiceRemoved,\n      achievementsInstructorsV2Instructor_universal_d_SiteRenamed as SiteRenamed,\n      achievementsInstructorsV2Instructor_universal_d_SiteHardDeleted as SiteHardDeleted,\n      achievementsInstructorsV2Instructor_universal_d_NamespaceChanged as NamespaceChanged,\n      achievementsInstructorsV2Instructor_universal_d_StudioAssigned as StudioAssigned,\n      achievementsInstructorsV2Instructor_universal_d_StudioUnassigned as StudioUnassigned,\n      Empty$3 as Empty,\n      DomainEvent$5 as DomainEvent,\n      DomainEventBodyOneOf$5 as DomainEventBodyOneOf,\n      EntityCreatedEvent$5 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$5 as EntityUpdatedEvent,\n      EntityDeletedEvent$5 as EntityDeletedEvent,\n      ActionEvent$5 as ActionEvent,\n      achievementsInstructorsV2Instructor_universal_d_PolicyAssignedToContributor as PolicyAssignedToContributor,\n      achievementsInstructorsV2Instructor_universal_d_PolicyRemovedFromContributor as PolicyRemovedFromContributor,\n      achievementsInstructorsV2Instructor_universal_d_PolicyUpdatedForContributor as PolicyUpdatedForContributor,\n      MessageEnvelope$5 as MessageEnvelope,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      achievementsInstructorsV2Instructor_universal_d_createInstructor as createInstructor,\n      achievementsInstructorsV2Instructor_universal_d_CreateInstructorOptions as CreateInstructorOptions,\n      achievementsInstructorsV2Instructor_universal_d_inviteInstructor as inviteInstructor,\n      achievementsInstructorsV2Instructor_universal_d_listInstructors as listInstructors,\n      achievementsInstructorsV2Instructor_universal_d_ListInstructorsOptions as ListInstructorsOptions,\n      achievementsInstructorsV2Instructor_universal_d_queryInstructors as queryInstructors,\n      achievementsInstructorsV2Instructor_universal_d_InstructorsQueryResult as InstructorsQueryResult,\n      achievementsInstructorsV2Instructor_universal_d_InstructorsQueryBuilder as InstructorsQueryBuilder,\n      achievementsInstructorsV2Instructor_universal_d_updateInstructor as updateInstructor,\n      achievementsInstructorsV2Instructor_universal_d_UpdateInstructor as UpdateInstructor,\n      achievementsInstructorsV2Instructor_universal_d_UpdateInstructorOptions as UpdateInstructorOptions,\n      achievementsInstructorsV2Instructor_universal_d_deleteInstructor as deleteInstructor,\n      achievementsInstructorsV2Instructor_universal_d_DeleteInstructorOptions as DeleteInstructorOptions,\n      achievementsInstructorsV2Instructor_universal_d_assignInstructorToProgram as assignInstructorToProgram,\n      achievementsInstructorsV2Instructor_universal_d_AssignInstructorToProgramOptions as AssignInstructorToProgramOptions,\n      achievementsInstructorsV2Instructor_universal_d_unassignInstructorFromProgram as unassignInstructorFromProgram,\n      achievementsInstructorsV2Instructor_universal_d_UnassignInstructorFromProgramOptions as UnassignInstructorFromProgramOptions,\n      achievementsInstructorsV2Instructor_universal_d_changeProgramInstructors as changeProgramInstructors,\n      achievementsInstructorsV2Instructor_universal_d_ChangeProgramInstructorsOptions as ChangeProgramInstructorsOptions,\n    };\n  }\n  \n  interface Quiz {\n      /**\n       * ID of the quiz\n       * @readonly\n       */\n      _id?: string | null;\n      /** Quiz settings */\n      settings?: QuizSettings;\n      /**\n       * Represents the current state of the quiz. Each time the it is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * The time this quiz was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * The time this quiz was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Quiz fields */\n      fields?: QuizField[];\n  }\n  interface QuizSettings {\n      /** Minimal grade to pass the quiz */\n      passingGrade?: number | null;\n      /** Quiz title */\n      title?: string | null;\n      /** Maximal number of submission attempts */\n      attempts?: number | null;\n  }\n  interface QuizField extends QuizFieldFieldTypeOneOf {\n      /** Type for numeric input */\n      numeric?: NumericField;\n      /** Type for text input */\n      shortText?: ShortTextField;\n      /** Type for long text input */\n      longText?: LongTextField;\n      /** Type for input with predefined options where only one can be selected */\n      singleChoice?: SingleChoiceField;\n      /** Type for input with predefined options where multiple can be selected */\n      multiChoice?: MultiChoiceField;\n      /** Type for file input */\n      fileUpload?: FileUploadField;\n      /** Field ID */\n      _id?: string;\n      /** Key used in submission */\n      target?: string | null;\n      /** Question */\n      question?: string | null;\n      /** Score of the question when answered right */\n      score?: number | null;\n      /** Message shown for right answer */\n      rightMessage?: string | null;\n      /** Message shown for wrong answer */\n      wrongMessage?: string | null;\n  }\n  /** @oneof */\n  interface QuizFieldFieldTypeOneOf {\n      /** Type for numeric input */\n      numeric?: NumericField;\n      /** Type for text input */\n      shortText?: ShortTextField;\n      /** Type for long text input */\n      longText?: LongTextField;\n      /** Type for input with predefined options where only one can be selected */\n      singleChoice?: SingleChoiceField;\n      /** Type for input with predefined options where multiple can be selected */\n      multiChoice?: MultiChoiceField;\n      /** Type for file input */\n      fileUpload?: FileUploadField;\n  }\n  enum FileFormat {\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      AUDIO = \"AUDIO\",\n      DOCUMENT = \"DOCUMENT\",\n      ARCHIVE = \"ARCHIVE\"\n  }\n  interface NumericField {\n      /** Right answer */\n      rightAnswer?: number | null;\n  }\n  interface ShortTextField {\n      /** Right answer */\n      rightAnswer?: string | null;\n  }\n  interface LongTextField {\n  }\n  interface SingleChoiceField {\n      /** Right answer */\n      rightAnswer?: string | null;\n      /** Answer options */\n      options?: string[] | null;\n  }\n  interface MultiChoiceField {\n      /** Right answer */\n      rightAnswer?: string[] | null;\n      /** Answer options */\n      options?: string[] | null;\n  }\n  interface FileUploadField {\n      /** Text for upload button */\n      buttonText?: string | null;\n      /** Limit of upload items */\n      itemsLimit?: number | null;\n      /** Formats of files that can be uploaded */\n      fileFormats?: FileFormat[];\n  }\n  interface CreateQuizRequest {\n      /** Quiz to created */\n      quiz: Quiz;\n  }\n  interface CreateQuizResponse {\n      /** Created quiz */\n      quiz?: Quiz;\n  }\n  interface CloneQuizRequest {\n      /** ID of the quiz to be cloned */\n      quizId: string;\n  }\n  interface CloneQuizResponse {\n      /** Cloned quiz */\n      quiz?: Quiz;\n  }\n  interface BulkCreateQuizRequest {\n      /** Quizzes to be created */\n      quizzes: Quiz[];\n      /** When set, items will be returned on successful create */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateQuizResponse {\n      /** Created quizzes with metadata */\n      results?: BulkQuizResult[];\n  }\n  interface BulkQuizResult {\n      /** Created quiz metadata */\n      itemMetadata?: ItemMetadata$4;\n      /** Created quiz */\n      item?: Quiz;\n  }\n  interface ItemMetadata$4 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$4;\n  }\n  interface ApplicationError$4 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface GetQuizRequest {\n      /** ID of the quiz */\n      quizId: string;\n  }\n  interface GetQuizResponse {\n      /** Requested quiz */\n      quiz?: Quiz;\n  }\n  interface UpdateQuizRequest {\n      /** Quiz to be updated. Maybe partial */\n      quiz: Quiz;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateQuizResponse {\n      /** Updated quiz */\n      quiz?: Quiz;\n  }\n  interface DeleteQuizRequest {\n      /** ID of quiz */\n      quizId: string;\n  }\n  interface DeleteQuizResponse {\n      /** Deleted quiz */\n      quiz?: Quiz;\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates quiz\n   * @param quiz - Quiz to created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField quiz\n   * @requiredField quiz.fields\n   * @requiredField quiz.fields._id\n   * @requiredField quiz.fields.multiChoice.options\n   * @requiredField quiz.fields.question\n   * @requiredField quiz.fields.singleChoice.options\n   * @requiredField quiz.fields.target\n   * @adminMethod\n   * @returns Created quiz\n   */\n  function createQuiz(quiz: Quiz): Promise<Quiz>;\n  /**\n   * Clones quiz\n   * @param quizId - ID of the quiz to be cloned\n   * @public\n   * @documentationMaturity preview\n   * @requiredField quizId\n   * @adminMethod\n   */\n  function cloneQuiz(quizId: string): Promise<CloneQuizResponse>;\n  /**\n   * Creates quizzes\n   * @param quizzes - Quizzes to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField quizzes\n   * @requiredField quizzes.fields\n   * @requiredField quizzes.fields._id\n   * @requiredField quizzes.fields.multiChoice.options\n   * @requiredField quizzes.fields.question\n   * @requiredField quizzes.fields.singleChoice.options\n   * @requiredField quizzes.fields.target\n   * @adminMethod\n   */\n  function bulkCreateQuiz(quizzes: Quiz[], options?: BulkCreateQuizOptions): Promise<BulkCreateQuizResponse>;\n  interface BulkCreateQuizOptions {\n      /** When set, items will be returned on successful create */\n      returnEntity?: boolean;\n  }\n  /**\n   * Reads quiz by ID\n   * @param quizId - ID of the quiz\n   * @public\n   * @documentationMaturity preview\n   * @requiredField quizId\n   * @returns Requested quiz\n   */\n  function getQuiz(quizId: string): Promise<Quiz>;\n  /**\n   * Updates quiz\n   * @param _id - ID of the quiz\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField quiz\n   * @requiredField quiz.fields._id\n   * @requiredField quiz.revision\n   * @adminMethod\n   * @returns Updated quiz\n   */\n  function updateQuiz(_id: string | null, quiz: UpdateQuiz, options?: UpdateQuizOptions): Promise<Quiz>;\n  interface UpdateQuiz {\n      /**\n       * ID of the quiz\n       * @readonly\n       */\n      _id?: string | null;\n      /** Quiz settings */\n      settings?: QuizSettings;\n      /**\n       * Represents the current state of the quiz. Each time the it is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * The time this quiz was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * The time this quiz was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Quiz fields */\n      fields?: QuizField[];\n  }\n  interface UpdateQuizOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes quiz\n   * @param quizId - ID of quiz\n   * @public\n   * @documentationMaturity preview\n   * @requiredField quizId\n   * @adminMethod\n   */\n  function deleteQuiz(quizId: string): Promise<DeleteQuizResponse>;\n  \n  type achievementsQuizzesV1Quiz_universal_d_Quiz = Quiz;\n  type achievementsQuizzesV1Quiz_universal_d_QuizSettings = QuizSettings;\n  type achievementsQuizzesV1Quiz_universal_d_QuizField = QuizField;\n  type achievementsQuizzesV1Quiz_universal_d_QuizFieldFieldTypeOneOf = QuizFieldFieldTypeOneOf;\n  type achievementsQuizzesV1Quiz_universal_d_FileFormat = FileFormat;\n  const achievementsQuizzesV1Quiz_universal_d_FileFormat: typeof FileFormat;\n  type achievementsQuizzesV1Quiz_universal_d_NumericField = NumericField;\n  type achievementsQuizzesV1Quiz_universal_d_ShortTextField = ShortTextField;\n  type achievementsQuizzesV1Quiz_universal_d_LongTextField = LongTextField;\n  type achievementsQuizzesV1Quiz_universal_d_SingleChoiceField = SingleChoiceField;\n  type achievementsQuizzesV1Quiz_universal_d_MultiChoiceField = MultiChoiceField;\n  type achievementsQuizzesV1Quiz_universal_d_FileUploadField = FileUploadField;\n  type achievementsQuizzesV1Quiz_universal_d_CreateQuizRequest = CreateQuizRequest;\n  type achievementsQuizzesV1Quiz_universal_d_CreateQuizResponse = CreateQuizResponse;\n  type achievementsQuizzesV1Quiz_universal_d_CloneQuizRequest = CloneQuizRequest;\n  type achievementsQuizzesV1Quiz_universal_d_CloneQuizResponse = CloneQuizResponse;\n  type achievementsQuizzesV1Quiz_universal_d_BulkCreateQuizRequest = BulkCreateQuizRequest;\n  type achievementsQuizzesV1Quiz_universal_d_BulkCreateQuizResponse = BulkCreateQuizResponse;\n  type achievementsQuizzesV1Quiz_universal_d_BulkQuizResult = BulkQuizResult;\n  type achievementsQuizzesV1Quiz_universal_d_GetQuizRequest = GetQuizRequest;\n  type achievementsQuizzesV1Quiz_universal_d_GetQuizResponse = GetQuizResponse;\n  type achievementsQuizzesV1Quiz_universal_d_UpdateQuizRequest = UpdateQuizRequest;\n  type achievementsQuizzesV1Quiz_universal_d_UpdateQuizResponse = UpdateQuizResponse;\n  type achievementsQuizzesV1Quiz_universal_d_DeleteQuizRequest = DeleteQuizRequest;\n  type achievementsQuizzesV1Quiz_universal_d_DeleteQuizResponse = DeleteQuizResponse;\n  const achievementsQuizzesV1Quiz_universal_d_createQuiz: typeof createQuiz;\n  const achievementsQuizzesV1Quiz_universal_d_cloneQuiz: typeof cloneQuiz;\n  const achievementsQuizzesV1Quiz_universal_d_bulkCreateQuiz: typeof bulkCreateQuiz;\n  type achievementsQuizzesV1Quiz_universal_d_BulkCreateQuizOptions = BulkCreateQuizOptions;\n  const achievementsQuizzesV1Quiz_universal_d_getQuiz: typeof getQuiz;\n  const achievementsQuizzesV1Quiz_universal_d_updateQuiz: typeof updateQuiz;\n  type achievementsQuizzesV1Quiz_universal_d_UpdateQuiz = UpdateQuiz;\n  type achievementsQuizzesV1Quiz_universal_d_UpdateQuizOptions = UpdateQuizOptions;\n  const achievementsQuizzesV1Quiz_universal_d_deleteQuiz: typeof deleteQuiz;\n  namespace achievementsQuizzesV1Quiz_universal_d {\n    export {\n      achievementsQuizzesV1Quiz_universal_d_Quiz as Quiz,\n      achievementsQuizzesV1Quiz_universal_d_QuizSettings as QuizSettings,\n      achievementsQuizzesV1Quiz_universal_d_QuizField as QuizField,\n      achievementsQuizzesV1Quiz_universal_d_QuizFieldFieldTypeOneOf as QuizFieldFieldTypeOneOf,\n      achievementsQuizzesV1Quiz_universal_d_FileFormat as FileFormat,\n      achievementsQuizzesV1Quiz_universal_d_NumericField as NumericField,\n      achievementsQuizzesV1Quiz_universal_d_ShortTextField as ShortTextField,\n      achievementsQuizzesV1Quiz_universal_d_LongTextField as LongTextField,\n      achievementsQuizzesV1Quiz_universal_d_SingleChoiceField as SingleChoiceField,\n      achievementsQuizzesV1Quiz_universal_d_MultiChoiceField as MultiChoiceField,\n      achievementsQuizzesV1Quiz_universal_d_FileUploadField as FileUploadField,\n      achievementsQuizzesV1Quiz_universal_d_CreateQuizRequest as CreateQuizRequest,\n      achievementsQuizzesV1Quiz_universal_d_CreateQuizResponse as CreateQuizResponse,\n      achievementsQuizzesV1Quiz_universal_d_CloneQuizRequest as CloneQuizRequest,\n      achievementsQuizzesV1Quiz_universal_d_CloneQuizResponse as CloneQuizResponse,\n      achievementsQuizzesV1Quiz_universal_d_BulkCreateQuizRequest as BulkCreateQuizRequest,\n      achievementsQuizzesV1Quiz_universal_d_BulkCreateQuizResponse as BulkCreateQuizResponse,\n      achievementsQuizzesV1Quiz_universal_d_BulkQuizResult as BulkQuizResult,\n      ItemMetadata$4 as ItemMetadata,\n      ApplicationError$4 as ApplicationError,\n      achievementsQuizzesV1Quiz_universal_d_GetQuizRequest as GetQuizRequest,\n      achievementsQuizzesV1Quiz_universal_d_GetQuizResponse as GetQuizResponse,\n      achievementsQuizzesV1Quiz_universal_d_UpdateQuizRequest as UpdateQuizRequest,\n      achievementsQuizzesV1Quiz_universal_d_UpdateQuizResponse as UpdateQuizResponse,\n      achievementsQuizzesV1Quiz_universal_d_DeleteQuizRequest as DeleteQuizRequest,\n      achievementsQuizzesV1Quiz_universal_d_DeleteQuizResponse as DeleteQuizResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      achievementsQuizzesV1Quiz_universal_d_createQuiz as createQuiz,\n      achievementsQuizzesV1Quiz_universal_d_cloneQuiz as cloneQuiz,\n      achievementsQuizzesV1Quiz_universal_d_bulkCreateQuiz as bulkCreateQuiz,\n      achievementsQuizzesV1Quiz_universal_d_BulkCreateQuizOptions as BulkCreateQuizOptions,\n      achievementsQuizzesV1Quiz_universal_d_getQuiz as getQuiz,\n      achievementsQuizzesV1Quiz_universal_d_updateQuiz as updateQuiz,\n      achievementsQuizzesV1Quiz_universal_d_UpdateQuiz as UpdateQuiz,\n      achievementsQuizzesV1Quiz_universal_d_UpdateQuizOptions as UpdateQuizOptions,\n      achievementsQuizzesV1Quiz_universal_d_deleteQuiz as deleteQuiz,\n    };\n  }\n  \n  interface Participant extends ParticipantStateOptionsOneOf {\n      paymentPendingOptions?: PaymentPendingOptions;\n      joinedOptions?: JoinedOptions;\n      completedOptions?: CompletedOptions;\n      failedOptions?: FailedOptions;\n      suspendedOptions?: SuspendedOptions;\n      /**\n       * Participant ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** @readonly */\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n      /**\n       * Member ID of participant on site\n       * @readonly\n       */\n      memberId?: string;\n      /**\n       * Program ID which participant participates in\n       * @readonly\n       */\n      programId?: string;\n      /**\n       * Program completion progress\n       * @readonly\n       */\n      progress?: Progress;\n      /** state of participation in the program */\n      state?: State$2;\n      /** Certificate issued to participant */\n      certificate?: Certificate$1;\n  }\n  /** @oneof */\n  interface ParticipantStateOptionsOneOf {\n      paymentPendingOptions?: PaymentPendingOptions;\n      joinedOptions?: JoinedOptions;\n      completedOptions?: CompletedOptions;\n      failedOptions?: FailedOptions;\n      suspendedOptions?: SuspendedOptions;\n  }\n  enum JoinPath {\n      UNKNOWN_JOIN_PATH = \"UNKNOWN_JOIN_PATH\",\n      /** Member joined to the program for free */\n      FREE = \"FREE\",\n      /** Member was added to the program by site owner */\n      ADDED = \"ADDED\",\n      /** Member paid once to join the program */\n      SINGLE_PAYMENT = \"SINGLE_PAYMENT\",\n      /** Member has Paid Plan to join */\n      PAID_PLAN = \"PAID_PLAN\",\n      /** Member joined with the Free Coupon */\n      FREE_COUPON = \"FREE_COUPON\"\n  }\n  interface SinglePaymentOptions {\n      orderId?: string;\n  }\n  interface PaidPlanOptions {\n      planIds?: string[];\n  }\n  interface FreeCouponOptions {\n      couponId?: string;\n  }\n  interface Progress {\n      /** Number of program steps completed by member */\n      totalStepsCompleted?: number;\n      /** Total number of program steps available to resolve */\n      totalStepsAvailable?: number;\n      /** Completion percentage */\n      completionPercentage?: number;\n  }\n  enum State$2 {\n      /** Unknown state */\n      UNKNOWN_STATE = \"UNKNOWN_STATE\",\n      /** Member invited to participate in program */\n      INVITED = \"INVITED\",\n      /** Member asked owner to participate in program */\n      APPROVAL_PENDING = \"APPROVAL_PENDING\",\n      PAYMENT_PENDING = \"PAYMENT_PENDING\",\n      /** Member joined the program and became participant */\n      JOINED = \"JOINED\",\n      /** Participant completed the program, and could join again */\n      COMPLETED = \"COMPLETED\",\n      /** Participant failed to complete the program, and could join again */\n      FAILED = \"FAILED\",\n      /** Participant with ended pricing plan (PP), will be joined as renew PP */\n      SUSPENDED = \"SUSPENDED\"\n  }\n  interface Certificate$1 {\n      /**\n       * when certificate was issued, UTC\n       * @readonly\n       */\n      issuedDate?: Date;\n  }\n  interface PaymentPendingOptions {\n      /** Payment order */\n      paymentOrderId?: string | null;\n      /** Offline payment transaction */\n      offlineTrxId?: string | null;\n      /** Pricing plans */\n      paidPlanIds?: string[];\n  }\n  interface JoinedOptions extends JoinedOptionsJoinPathOptionsOneOf {\n      singlePaymentOptions?: SinglePaymentOptions;\n      paidPlanOptions?: PaidPlanOptions;\n      freeCouponOptions?: FreeCouponOptions;\n      timeZone?: string;\n      startDate?: string;\n      joinPath?: JoinPath;\n  }\n  /** @oneof */\n  interface JoinedOptionsJoinPathOptionsOneOf {\n      singlePaymentOptions?: SinglePaymentOptions;\n      paidPlanOptions?: PaidPlanOptions;\n      freeCouponOptions?: FreeCouponOptions;\n  }\n  interface CompletedOptions {\n      startDate?: string;\n  }\n  interface FailedOptions {\n      startDate?: string;\n  }\n  interface SuspendedOptions {\n      startDate?: string;\n  }\n  interface ExportParticipantsStatsRequest {\n      /** program id to export data from */\n      programId: string;\n  }\n  interface ExportParticipantsStatsResponse {\n  }\n  interface ParticipantExportsFinished {\n      /** program id from which stats were exported */\n      programId?: string;\n      /** user id of program owner */\n      userId?: string;\n      /** url to download report */\n      downloadUrl?: string;\n      /** days url will be downloadable */\n      downloadUrlTtlDays?: number;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ResolvedStep {\n      /** participant who resolved step */\n      participantId?: string;\n      /** program step been resolve */\n      programStepId?: string;\n      /** quiz submission */\n      quizSubmissionId?: string | null;\n      /** earned score for resolved step */\n      earnedScore?: number | null;\n      /** step passing grade */\n      passingGrade?: number | null;\n      /** resolved step status */\n      status?: Status;\n      /**\n       * created date of resolved step\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * updated date of resolved step\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  enum Status {\n      /** step completed */\n      COMPLETED = \"COMPLETED\",\n      /** participant failed to resolve step */\n      FAILED = \"FAILED\"\n  }\n  interface StepResolved {\n      resolvedStep?: ResolvedStep;\n      programId?: string;\n      memberId?: string;\n  }\n  interface UndoStepRequest {\n      participantId: string;\n      stepId: string;\n  }\n  interface UndoStepResponse {\n  }\n  interface StepUndone {\n      participantId?: string;\n      stepId?: string;\n  }\n  interface ListResolvedStepsRequest {\n      participantId: string;\n  }\n  interface ListResolvedStepsResponse {\n      resolvedSteps?: ResolvedStep[];\n  }\n  interface GetResolvedStepRequest {\n      participantId: string;\n      stepId: string;\n  }\n  interface GetResolvedStepResponse {\n      resolvedStep?: ResolvedStep;\n  }\n  interface QueryResolvedStepsRequest {\n      query?: CursorQuery$3;\n  }\n  interface CursorQuery$3 extends CursorQueryPagingMethodOneOf$3 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$3 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$3 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryResolvedStepsResponse {\n      resolvedSteps?: ResolvedStep[];\n      pagingMetadata?: CursorPagingMetadata$3;\n  }\n  interface CursorPagingMetadata$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$3;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$3 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkCreateResolvedStepMigrationRequest {\n      /** resolved steps to create */\n      resolvedSteps: ResolvedStep[];\n  }\n  interface BulkCreateResolvedStepMigrationResponse {\n      /** results of bulk insertion */\n      results?: BulkResolvedStepResult[];\n      /** metadata about resolved steps that were to insert */\n      bulkActionMetadata?: CommonBulkActionMetadata;\n  }\n  interface CommonItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$3;\n  }\n  interface ApplicationError$3 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkResolvedStepResult {\n      /** info about whether resolved step was inserted etc */\n      itemMetadata?: CommonItemMetadata;\n      /** resolved step itself */\n      item?: ResolvedStep;\n  }\n  interface CommonBulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date;\n  }\n  interface Empty$2 {\n  }\n  interface JoinProgramRequest {\n      /** Program to join */\n      programId: string;\n  }\n  interface JoinProgramResponse {\n      /** Created participant with corresponding state */\n      participant?: Participant;\n  }\n  interface ParticipantJoined {\n      /** Joined participant */\n      participant?: Participant;\n  }\n  interface GetParticipantRequest {\n      /** Participant id to fetch */\n      participantId: string;\n  }\n  interface GetParticipantResponse {\n      /** existing participant */\n      participant?: Participant;\n  }\n  interface LeaveProgramRequest {\n      /** Participant id to leave program */\n      participantId: string;\n  }\n  interface LeaveProgramResponse {\n  }\n  interface ParticipantLeft {\n      /** Participant id who left */\n      participantId?: string;\n      /** Program id participant left */\n      programId?: string;\n      /** Participant's member id */\n      memberId?: string;\n  }\n  interface QueryParticipantsRequest {\n      /** Platformized query */\n      query?: CursorQuery$3;\n  }\n  interface QueryParticipantsResponse {\n      /** found participants */\n      participants?: Participant[];\n      /** paging metadata */\n      pagingMetadata?: CursorPagingMetadata$3;\n  }\n  interface QueryProgramSummariesRequest {\n      /**\n       * Basically the query to sort and query the programs;\n       * Works exactly the same as the query in QueryPrograms request\n       */\n      query?: CommonCursorQuery;\n  }\n  interface CommonCursorQuery extends CommonCursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CommonCursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: CommonSorting[];\n  }\n  /** @oneof */\n  interface CommonCursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface CommonSorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: CommonSortOrder;\n  }\n  enum CommonSortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CommonCursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryProgramSummariesResponse {\n      /** summaries */\n      summaries?: ProgramSummary[];\n      /** paging metadata */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface ProgramSummary {\n      /** Program */\n      program?: Program$1;\n      /** Statistic for the program */\n      statistic?: Statistic;\n      /** Membership of the participant; if participant is not in the program, this field will be empty */\n      membership?: Membership;\n  }\n  interface Program$1 {\n      /**\n       * Program ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** @readonly */\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n      /**\n       * current program state / does participant need it?\n       * @readonly\n       */\n      state?: V3State;\n      /**\n       * assigned categories\n       * @readonly\n       */\n      categoryIds?: string[];\n      /** general program info. */\n      description?: Description$3;\n      /** timeline type -> Self-paced, time-restricted. */\n      timeline?: Timeline$1;\n      /** participant limitation, step-completion pace and etc. */\n      restrictions?: Restrictions$1;\n      /** single-payment price. */\n      pricing?: Money$1;\n      /** seo settings. */\n      seo?: Seo$1;\n      /** rewards to be assigned after reaching some of the program milestones. */\n      rewards?: Reward$1[];\n      /** connected social group. */\n      socialGroupId?: string | null;\n      /** join flow options. */\n      accessType?: AccessType$1;\n      /** extensible field */\n      extendedFields?: ExtendedFields$1;\n      /** if true -> invoice is sent to the customer who purchased the program via single payment; else -> payment confirmation email is sent */\n      shouldSendInvoice?: boolean;\n  }\n  enum V3State {\n      /** not published program, visible only on BM */\n      DRAFT = \"DRAFT\",\n      /** program visible regarding to restrictions */\n      PUBLISHED = \"PUBLISHED\",\n      /** program isn't available to join. */\n      ENDED = \"ENDED\",\n      /** closed program. Joins and sections/steps are not available for participants. */\n      ARCHIVED = \"ARCHIVED\"\n  }\n  interface Description$3 extends DescriptionMediaOneOf$3 {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n      /** step title */\n      title?: string;\n      /** step additional details */\n      details?: string | null;\n  }\n  /** @oneof */\n  interface DescriptionMediaOneOf$3 {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n  }\n  interface VideoResolution$3 {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface Timeline$1 extends TimelineFinishConditionOptionsOneOf$1 {\n      /** evaluate after some period of time in days. */\n      timeEvaluationOptions?: TimeEvaluationOptions$1;\n      /** are sections/steps evaluated every day? Or can UoU participate in a self paced mode? */\n      selfPaced?: boolean;\n      /** everyone starts on this day */\n      startDate?: string | null;\n      /** condition on which the program is completed */\n      finishCondition?: FinishCondition$1;\n  }\n  /** @oneof */\n  interface TimelineFinishConditionOptionsOneOf$1 {\n      /** evaluate after some period of time in days. */\n      timeEvaluationOptions?: TimeEvaluationOptions$1;\n  }\n  enum FinishCondition$1 {\n      UNKNOWN_FINISH_CONDITION = \"UNKNOWN_FINISH_CONDITION\",\n      /** finish participation after some time. */\n      TIME_EVALUATION = \"TIME_EVALUATION\",\n      /** finish participation when all steps are resolved. */\n      ALL_STEPS_COMPLETED = \"ALL_STEPS_COMPLETED\"\n  }\n  interface TimeEvaluationOptions$1 {\n      /** duration in days */\n      durationInDays?: number;\n  }\n  interface Restrictions$1 {\n      /** limit of active participants in the program. */\n      maxParticipants?: number | null;\n      /** hide steps in the Pending state. */\n      hideFutureSteps?: boolean;\n      /** allow participants complete steps in the certain order. */\n      resolveStepsInOrder?: boolean;\n      /** allow program participants to share their progress in group */\n      shareProgress?: boolean;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money$1 {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface Seo$1 {\n      /** challenge slug expression. */\n      slug?: string;\n      /** schema used by Seo team */\n      seoData?: SeoSchema$1;\n      /** program url */\n      url?: string;\n      /** image url from description media */\n      imageUrl?: string | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$1 {\n      /** SEO tag information. */\n      tags?: Tag$1[];\n      /** SEO general settings. */\n      settings?: Settings$1;\n  }\n  interface Keyword$1 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n  }\n  interface Tag$1 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$1 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$1[];\n  }\n  interface Reward$1 {\n      /** on which action rewards must be assigned. */\n      trigger?: Trigger$1;\n      /** badges participant will get on program complete */\n      badgeIds?: string[];\n      /** certificate for program. Currently is program GUID */\n      certificate?: RewardCertificate;\n  }\n  enum Trigger$1 {\n      /** member joins the program */\n      JOINED_TO_PROGRAM = \"JOINED_TO_PROGRAM\",\n      /** at least one step completed */\n      STEP_COMPLETED = \"STEP_COMPLETED\",\n      /** all steps are completed. */\n      ALL_STEPS_COMPLETED = \"ALL_STEPS_COMPLETED\"\n  }\n  interface RewardCertificate {\n      /** Certificate for program completion. Currently is program GUID */\n      _id?: string;\n      /** date it was connected to program */\n      connectedDate?: Date;\n  }\n  enum AccessType$1 {\n      /** join without approvals */\n      PUBLIC = \"PUBLIC\",\n      /** send a join request to the owner and get an approval from him. */\n      PRIVATE = \"PRIVATE\",\n      /** join possible only after owner invite. */\n      SECRET = \"SECRET\"\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface Statistic {\n      /** number of invited members */\n      invited?: string;\n      /** number of join requests */\n      approvalPending?: string;\n      /** number of participants waiting for the owner payment confirmation */\n      paymentPending?: string;\n      /** number of joined participants */\n      joined?: string;\n      /** number of finished participants */\n      completed?: string;\n      /** number of failed participants */\n      failed?: string;\n      /** number of suspended participants */\n      suspended?: string;\n      /** number of participants who started the program */\n      inProgress?: string;\n  }\n  interface Membership {\n      /** Referenced participant id */\n      participantId?: string;\n      /** state of the participant */\n      state?: State$2;\n      /** number of completed steps */\n      completedStepsCount?: number;\n  }\n  interface CommonCursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: CommonCursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetProgramSummariesRequest {\n      /** Programs to get summary about */\n      programIds?: string[];\n  }\n  interface GetProgramSummariesResponse {\n      /** summaries for each program in the same order as program_ids */\n      summaries?: ParticipantsSummary[];\n  }\n  interface ParticipantsSummary {\n      /** Referenced program id */\n      programId?: string;\n      /** Statistics for the program */\n      statistic?: Statistic;\n      /** Membership of the participant; if participant is not in the program, this field will be empty */\n      membership?: Membership;\n  }\n  interface OfflinePaymentSent {\n      /** Participant who started offline payment */\n      participant?: Participant;\n  }\n  interface PaymentFailed {\n      /** Participant whose payment was failed */\n      participant?: Participant;\n  }\n  interface SinglePaymentConfirmed {\n      /** Participant whose payment was confirmed */\n      participant?: Participant;\n  }\n  interface SinglePaymentDeclined {\n      /** Participant whose payment was declined */\n      participant?: Participant;\n  }\n  interface BenefitNotification {\n      /** Plan unique ID */\n      planId?: string;\n      /** App def ID */\n      appDefId?: string;\n      /** Current benefit details */\n      benefit?: Benefit;\n      /** Previous benefit */\n      prevBenefit?: Benefit;\n      /** Notification event */\n      event?: Event;\n  }\n  interface Benefit {\n      /**\n       * Benefit unique ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Benefit Type */\n      benefitType?: BenefitType;\n      /** Resource IDs that serves by this benefit */\n      resourceIds?: string[];\n      /** Amount of credits that provided by this benefit */\n      creditAmount?: number | null;\n      /** additional details related to benefit; limited to 20 entries, 20 symbols for key and 20 symbols for value */\n      customFields?: Record<string, string>;\n      /** return value only in case it required in the ListRequest, true means that benefit's type could be updated */\n      editable?: boolean | null;\n      /** Benefit behavior */\n      behavior?: Behavior;\n      /**\n       * Id of the app associated with this benefit\n       * @readonly\n       */\n      appDefId?: string | null;\n  }\n  interface EntryPass {\n  }\n  interface Discount extends DiscountDiscountOneOf {\n      /** Fixed-rate percent off discount */\n      percentOffRate?: string;\n      /** Absolute amount discount */\n      moneyOffAmount?: string;\n  }\n  /** @oneof */\n  interface DiscountDiscountOneOf {\n      /** Fixed-rate percent off discount */\n      percentOffRate?: string;\n      /** Absolute amount discount */\n      moneyOffAmount?: string;\n  }\n  enum BenefitType {\n      /** Should never be used */\n      UNDEFINED = \"UNDEFINED\",\n      /** Limited benefit type */\n      LIMITED = \"LIMITED\",\n      /** Unlimited benefit type */\n      UNLIMITED = \"UNLIMITED\"\n  }\n  interface Behavior extends BehaviorBehaviorOneOf {\n      /** Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events. */\n      defaultBehavior?: EntryPass;\n      /** Discount applied to paid resources */\n      discount?: Discount;\n  }\n  /** @oneof */\n  interface BehaviorBehaviorOneOf {\n      /** Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events. */\n      defaultBehavior?: EntryPass;\n      /** Discount applied to paid resources */\n      discount?: Discount;\n  }\n  enum Event {\n      Updated = \"Updated\",\n      Deleted = \"Deleted\",\n      Created = \"Created\"\n  }\n  interface BulkInviteToProgramRequest {\n      /** Program to which bulk invite participants. */\n      programId: string;\n      /** Return added participants in the response or not. */\n      memberIds?: string[];\n      /** Return invited participants in the response or not. */\n      returnEntity?: boolean;\n  }\n  interface BulkInviteToProgramResponse {\n      /** Participants created by bulk action */\n      results?: BulkInviteToProgramResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface ItemMetadata$3 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$3;\n  }\n  interface BulkInviteToProgramResult {\n      /** Invited participant metadata. */\n      itemMetadata?: ItemMetadata$3;\n      /** Invited participant */\n      item?: Participant;\n  }\n  interface BulkActionMetadata$3 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ParticipantInvited {\n      /** Program to which bulk invite participants. */\n      programId?: string;\n      /** Invited member to program */\n      memberId?: string;\n  }\n  interface BulkInviteAllToProgramRequest {\n      /** Program to which bulk add participants. */\n      programId: string;\n      /** Exclude site members. */\n      excludeMemberIds?: string[];\n  }\n  interface BulkInviteAllToProgramResponse {\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkAddToProgramRequest {\n      /** Program to which bulk add participants. */\n      programId: string;\n      /** Site members. */\n      memberIds?: string[];\n      /** Return added participants in the response or not. */\n      returnEntity?: boolean;\n  }\n  interface BulkAddToProgramResponse {\n      /** Participants created by bulk action */\n      results?: BulkAddToProgramResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkAddToProgramResult {\n      /** Added participant metadata. */\n      itemMetadata?: ItemMetadata$3;\n      /** Added participant */\n      item?: Participant;\n  }\n  interface ParticipantAdded {\n      /** Program ID which participant was added */\n      programId?: string;\n      /** Member ID of participant on site */\n      memberId?: string;\n  }\n  interface BulkAddAllToProgramRequest {\n      /** Program to which bulk add participants. */\n      programId: string;\n      /** Exclude site members. */\n      excludeMemberIds?: string[];\n  }\n  interface BulkAddAllToProgramResponse {\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkApproveParticipantRequest {\n      /** Participants to add */\n      participantIds: string[];\n      /** program to approve participant */\n      programId?: string;\n      /** Return approved participants in the response or not */\n      returnEntity?: boolean;\n  }\n  interface BulkApproveParticipantResponse {\n      /** Participants approved by bulk action */\n      results?: BulkApproveParticipantResult[];\n      /** Bulk action metadata */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkApproveParticipantResult {\n      /** Approved participant metadata */\n      itemMetadata?: ItemMetadata$3;\n      /** Approved or existing participant */\n      item?: Participant;\n  }\n  interface ParticipantApproved {\n      /** Program ID which participant approved */\n      programId?: string;\n      /** Member ID of participant approved */\n      memberId?: string;\n  }\n  interface BulkApproveAllParticipantRequest {\n      /** Program to approve all participants. */\n      programId?: string;\n      /** Exclude site members. */\n      excludeParticipantIds?: string[];\n  }\n  interface BulkApproveAllParticipantResponse {\n      /** Job id with async process */\n      jobId?: string;\n  }\n  interface DeleteParticipantRequest {\n      /** Participants to delete */\n      participantId: string;\n  }\n  interface DeleteParticipantResponse {\n  }\n  interface ParticipantRejected {\n      /** Program ID which participant rejected */\n      programId?: string;\n      /** Member ID of participant rejected */\n      memberId?: string;\n  }\n  interface IssueCertificateRequest {\n      /** Participant to get certificate */\n      participantId: string;\n  }\n  interface IssueCertificateResponse {\n      /** Updated participant */\n      participant?: Participant;\n  }\n  interface ApplyCouponRequest {\n      participantId: string;\n      orderId: string;\n      couponCode: string;\n  }\n  interface ApplyCouponResponse {\n      couponId?: string;\n      subTotal?: number;\n      discount?: number;\n      total?: number;\n  }\n  interface RevertCouponRequest {\n      participantId: string;\n      orderId: string;\n      couponId: string;\n  }\n  interface RevertCouponResponse {\n      total?: number;\n  }\n  /**\n   * Exports data about participants as well as resolved steps in program.\n   * @param programId - program id to export data from\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function exportParticipantsStats(programId: string): Promise<void>;\n  /**\n   * Member joins the program. By the type of program, participant in corresponding\n   * state will be created.\n   * @param programId - Program to join\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   */\n  function joinProgram(programId: string): Promise<JoinProgramResponse>;\n  /**\n   * Returns participant.\n   * @param participantId - Participant id to fetch\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField participantId\n   * @returns existing participant\n   */\n  function getParticipant(participantId: string): Promise<Participant>;\n  /**\n   * Participant leaves program. Entity will be deleted. Idempotent call.\n   * @param participantId - Participant id to leave program\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField participantId\n   */\n  function leaveProgram(participantId: string): Promise<void>;\n  /**\n   * Query existing participants\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ONLINE_PROGRAMS.PARTICIPANT_READ\n   */\n  function queryParticipants(): ParticipantsQueryBuilder;\n  interface QueryCursorResult$3 {\n      cursors: Cursors$3;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ParticipantsQueryResult extends QueryCursorResult$3 {\n      items: Participant[];\n      query: ParticipantsQueryBuilder;\n      next: () => Promise<ParticipantsQueryResult>;\n      prev: () => Promise<ParticipantsQueryResult>;\n  }\n  interface ParticipantsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'memberId' | 'programId' | 'state', value: any) => ParticipantsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'memberId' | 'state', value: any) => ParticipantsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'joinedOptions.startDate' | '_id' | '_createdDate' | 'state'>) => ParticipantsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'joinedOptions.startDate' | '_id' | '_createdDate' | 'state'>) => ParticipantsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ParticipantsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ParticipantsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ParticipantsQueryResult>;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   */\n  function queryProgramSummaries(options?: QueryProgramSummariesOptions): Promise<QueryProgramSummariesResponse>;\n  interface QueryProgramSummariesOptions {\n      /**\n       * Basically the query to sort and query the programs;\n       * Works exactly the same as the query in QueryPrograms request\n       */\n      query?: CommonCursorQuery;\n  }\n  /**\n   * Get summary about participants interacting with the program\n   * @internal\n   * @documentationMaturity preview\n   */\n  function getProgramSummaries(options?: GetProgramSummariesOptions): Promise<GetProgramSummariesResponse>;\n  interface GetProgramSummariesOptions {\n      /** Programs to get summary about */\n      programIds?: string[];\n  }\n  /**\n   * Bulk invites participants to program.\n   * For each member participant in Invited state is created.\n   * @param programId - Program to which bulk invite participants.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function bulkInviteToProgram(programId: string, options?: BulkInviteToProgramOptions): Promise<BulkInviteToProgramResponse>;\n  interface BulkInviteToProgramOptions {\n      /** Return added participants in the response or not. */\n      memberIds?: string[];\n      /** Return invited participants in the response or not. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Bulk invites all participants to program, but not more then 1000.\n   * For each member participant in Invited state is created.\n   * @param programId - Program to which bulk add participants.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function bulkInviteAllToProgram(programId: string, options?: BulkInviteAllToProgramOptions): Promise<BulkInviteAllToProgramResponse>;\n  interface BulkInviteAllToProgramOptions {\n      /** Exclude site members. */\n      excludeMemberIds?: string[];\n  }\n  /**\n   * Bulk adds participants to program.\n   * Participant will be either created in state Joined, or updated to that state\n   * from pending one.\n   * @param programId - Program to which bulk add participants.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   */\n  function bulkAddToProgram(programId: string, options?: BulkAddToProgramOptions): Promise<BulkAddToProgramResponse>;\n  interface BulkAddToProgramOptions {\n      /** Site members. */\n      memberIds?: string[];\n      /** Return added participants in the response or not. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Bulk adds all site members to program, but not more then 1000.\n   * Participant will be either created in state Joined, or updated to that state\n   * from pending one.\n   * @param programId - Program to which bulk add participants.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   */\n  function bulkAddAllToProgram(programId: string, options?: BulkAddAllToProgramOptions): Promise<BulkAddAllToProgramResponse>;\n  interface BulkAddAllToProgramOptions {\n      /** Exclude site members. */\n      excludeMemberIds?: string[];\n  }\n  /**\n   * Bulk approves participants, who asked to join private program (aka in\n   * state `APPROVAL_PENDING`). If participant was in other state, no effect and\n   * error returned.\n   * @param participantIds - Participants to add\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField participantIds\n   * @adminMethod\n   */\n  function bulkApproveParticipant(participantIds: string[], options?: BulkApproveParticipantOptions): Promise<BulkApproveParticipantResponse>;\n  interface BulkApproveParticipantOptions {\n      /** program to approve participant */\n      programId?: string;\n      /** Return approved participants in the response or not */\n      returnEntity?: boolean;\n  }\n  /**\n   * Bulk approves all pending participants, who asked to join private program (aka\n   * in state `APPROVAL_PENDING`).\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function bulkApproveAllParticipant(options?: BulkApproveAllParticipantOptions): Promise<BulkApproveAllParticipantResponse>;\n  interface BulkApproveAllParticipantOptions {\n      /** Program to approve all participants. */\n      programId?: string;\n      /** Exclude site members. */\n      excludeParticipantIds?: string[];\n  }\n  /**\n   * Delete participant from program by owner will. Removes participant from member\n   * group. Leaves him in Social Group.\n   * @param participantId - Participants to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField participantId\n   * @adminMethod\n   */\n  function deleteParticipant(participantId: string): Promise<void>;\n  /**\n   * Issue certificate by site admin\n   * @param participantId - Participant to get certificate\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField participantId\n   * @adminMethod\n   */\n  function issueCertificate(participantId: string): Promise<IssueCertificateResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.couponCode\n   * @requiredField identifiers.participantId\n   * @requiredField orderId\n   * @adminMethod\n   */\n  function applyCoupon(identifiers: ApplyCouponIdentifiers, orderId: string): Promise<ApplyCouponResponse>;\n  interface ApplyCouponIdentifiers {\n      participantId: string;\n      couponCode: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.couponId\n   * @requiredField identifiers.participantId\n   * @requiredField orderId\n   * @adminMethod\n   */\n  function revertCoupon(identifiers: RevertCouponIdentifiers, orderId: string): Promise<RevertCouponResponse>;\n  interface RevertCouponIdentifiers {\n      participantId: string;\n      couponId: string;\n  }\n  \n  type onlineProgramsV3Participant_universal_d_Participant = Participant;\n  type onlineProgramsV3Participant_universal_d_ParticipantStateOptionsOneOf = ParticipantStateOptionsOneOf;\n  type onlineProgramsV3Participant_universal_d_JoinPath = JoinPath;\n  const onlineProgramsV3Participant_universal_d_JoinPath: typeof JoinPath;\n  type onlineProgramsV3Participant_universal_d_SinglePaymentOptions = SinglePaymentOptions;\n  type onlineProgramsV3Participant_universal_d_PaidPlanOptions = PaidPlanOptions;\n  type onlineProgramsV3Participant_universal_d_FreeCouponOptions = FreeCouponOptions;\n  type onlineProgramsV3Participant_universal_d_Progress = Progress;\n  type onlineProgramsV3Participant_universal_d_PaymentPendingOptions = PaymentPendingOptions;\n  type onlineProgramsV3Participant_universal_d_JoinedOptions = JoinedOptions;\n  type onlineProgramsV3Participant_universal_d_JoinedOptionsJoinPathOptionsOneOf = JoinedOptionsJoinPathOptionsOneOf;\n  type onlineProgramsV3Participant_universal_d_CompletedOptions = CompletedOptions;\n  type onlineProgramsV3Participant_universal_d_FailedOptions = FailedOptions;\n  type onlineProgramsV3Participant_universal_d_SuspendedOptions = SuspendedOptions;\n  type onlineProgramsV3Participant_universal_d_ExportParticipantsStatsRequest = ExportParticipantsStatsRequest;\n  type onlineProgramsV3Participant_universal_d_ExportParticipantsStatsResponse = ExportParticipantsStatsResponse;\n  type onlineProgramsV3Participant_universal_d_ParticipantExportsFinished = ParticipantExportsFinished;\n  type onlineProgramsV3Participant_universal_d_ResolvedStep = ResolvedStep;\n  type onlineProgramsV3Participant_universal_d_Status = Status;\n  const onlineProgramsV3Participant_universal_d_Status: typeof Status;\n  type onlineProgramsV3Participant_universal_d_StepResolved = StepResolved;\n  type onlineProgramsV3Participant_universal_d_UndoStepRequest = UndoStepRequest;\n  type onlineProgramsV3Participant_universal_d_UndoStepResponse = UndoStepResponse;\n  type onlineProgramsV3Participant_universal_d_StepUndone = StepUndone;\n  type onlineProgramsV3Participant_universal_d_ListResolvedStepsRequest = ListResolvedStepsRequest;\n  type onlineProgramsV3Participant_universal_d_ListResolvedStepsResponse = ListResolvedStepsResponse;\n  type onlineProgramsV3Participant_universal_d_GetResolvedStepRequest = GetResolvedStepRequest;\n  type onlineProgramsV3Participant_universal_d_GetResolvedStepResponse = GetResolvedStepResponse;\n  type onlineProgramsV3Participant_universal_d_QueryResolvedStepsRequest = QueryResolvedStepsRequest;\n  type onlineProgramsV3Participant_universal_d_QueryResolvedStepsResponse = QueryResolvedStepsResponse;\n  type onlineProgramsV3Participant_universal_d_BulkCreateResolvedStepMigrationRequest = BulkCreateResolvedStepMigrationRequest;\n  type onlineProgramsV3Participant_universal_d_BulkCreateResolvedStepMigrationResponse = BulkCreateResolvedStepMigrationResponse;\n  type onlineProgramsV3Participant_universal_d_CommonItemMetadata = CommonItemMetadata;\n  type onlineProgramsV3Participant_universal_d_BulkResolvedStepResult = BulkResolvedStepResult;\n  type onlineProgramsV3Participant_universal_d_CommonBulkActionMetadata = CommonBulkActionMetadata;\n  type onlineProgramsV3Participant_universal_d_JoinProgramRequest = JoinProgramRequest;\n  type onlineProgramsV3Participant_universal_d_JoinProgramResponse = JoinProgramResponse;\n  type onlineProgramsV3Participant_universal_d_ParticipantJoined = ParticipantJoined;\n  type onlineProgramsV3Participant_universal_d_GetParticipantRequest = GetParticipantRequest;\n  type onlineProgramsV3Participant_universal_d_GetParticipantResponse = GetParticipantResponse;\n  type onlineProgramsV3Participant_universal_d_LeaveProgramRequest = LeaveProgramRequest;\n  type onlineProgramsV3Participant_universal_d_LeaveProgramResponse = LeaveProgramResponse;\n  type onlineProgramsV3Participant_universal_d_ParticipantLeft = ParticipantLeft;\n  type onlineProgramsV3Participant_universal_d_QueryParticipantsRequest = QueryParticipantsRequest;\n  type onlineProgramsV3Participant_universal_d_QueryParticipantsResponse = QueryParticipantsResponse;\n  type onlineProgramsV3Participant_universal_d_QueryProgramSummariesRequest = QueryProgramSummariesRequest;\n  type onlineProgramsV3Participant_universal_d_CommonCursorQuery = CommonCursorQuery;\n  type onlineProgramsV3Participant_universal_d_CommonCursorQueryPagingMethodOneOf = CommonCursorQueryPagingMethodOneOf;\n  type onlineProgramsV3Participant_universal_d_CommonSorting = CommonSorting;\n  type onlineProgramsV3Participant_universal_d_CommonSortOrder = CommonSortOrder;\n  const onlineProgramsV3Participant_universal_d_CommonSortOrder: typeof CommonSortOrder;\n  type onlineProgramsV3Participant_universal_d_CommonCursorPaging = CommonCursorPaging;\n  type onlineProgramsV3Participant_universal_d_QueryProgramSummariesResponse = QueryProgramSummariesResponse;\n  type onlineProgramsV3Participant_universal_d_ProgramSummary = ProgramSummary;\n  type onlineProgramsV3Participant_universal_d_V3State = V3State;\n  const onlineProgramsV3Participant_universal_d_V3State: typeof V3State;\n  type onlineProgramsV3Participant_universal_d_RewardCertificate = RewardCertificate;\n  type onlineProgramsV3Participant_universal_d_Statistic = Statistic;\n  type onlineProgramsV3Participant_universal_d_Membership = Membership;\n  type onlineProgramsV3Participant_universal_d_CommonCursorPagingMetadata = CommonCursorPagingMetadata;\n  type onlineProgramsV3Participant_universal_d_CommonCursors = CommonCursors;\n  type onlineProgramsV3Participant_universal_d_GetProgramSummariesRequest = GetProgramSummariesRequest;\n  type onlineProgramsV3Participant_universal_d_GetProgramSummariesResponse = GetProgramSummariesResponse;\n  type onlineProgramsV3Participant_universal_d_ParticipantsSummary = ParticipantsSummary;\n  type onlineProgramsV3Participant_universal_d_OfflinePaymentSent = OfflinePaymentSent;\n  type onlineProgramsV3Participant_universal_d_PaymentFailed = PaymentFailed;\n  type onlineProgramsV3Participant_universal_d_SinglePaymentConfirmed = SinglePaymentConfirmed;\n  type onlineProgramsV3Participant_universal_d_SinglePaymentDeclined = SinglePaymentDeclined;\n  type onlineProgramsV3Participant_universal_d_BenefitNotification = BenefitNotification;\n  type onlineProgramsV3Participant_universal_d_Benefit = Benefit;\n  type onlineProgramsV3Participant_universal_d_EntryPass = EntryPass;\n  type onlineProgramsV3Participant_universal_d_Discount = Discount;\n  type onlineProgramsV3Participant_universal_d_DiscountDiscountOneOf = DiscountDiscountOneOf;\n  type onlineProgramsV3Participant_universal_d_BenefitType = BenefitType;\n  const onlineProgramsV3Participant_universal_d_BenefitType: typeof BenefitType;\n  type onlineProgramsV3Participant_universal_d_Behavior = Behavior;\n  type onlineProgramsV3Participant_universal_d_BehaviorBehaviorOneOf = BehaviorBehaviorOneOf;\n  type onlineProgramsV3Participant_universal_d_Event = Event;\n  const onlineProgramsV3Participant_universal_d_Event: typeof Event;\n  type onlineProgramsV3Participant_universal_d_BulkInviteToProgramRequest = BulkInviteToProgramRequest;\n  type onlineProgramsV3Participant_universal_d_BulkInviteToProgramResponse = BulkInviteToProgramResponse;\n  type onlineProgramsV3Participant_universal_d_BulkInviteToProgramResult = BulkInviteToProgramResult;\n  type onlineProgramsV3Participant_universal_d_ParticipantInvited = ParticipantInvited;\n  type onlineProgramsV3Participant_universal_d_BulkInviteAllToProgramRequest = BulkInviteAllToProgramRequest;\n  type onlineProgramsV3Participant_universal_d_BulkInviteAllToProgramResponse = BulkInviteAllToProgramResponse;\n  type onlineProgramsV3Participant_universal_d_BulkAddToProgramRequest = BulkAddToProgramRequest;\n  type onlineProgramsV3Participant_universal_d_BulkAddToProgramResponse = BulkAddToProgramResponse;\n  type onlineProgramsV3Participant_universal_d_BulkAddToProgramResult = BulkAddToProgramResult;\n  type onlineProgramsV3Participant_universal_d_ParticipantAdded = ParticipantAdded;\n  type onlineProgramsV3Participant_universal_d_BulkAddAllToProgramRequest = BulkAddAllToProgramRequest;\n  type onlineProgramsV3Participant_universal_d_BulkAddAllToProgramResponse = BulkAddAllToProgramResponse;\n  type onlineProgramsV3Participant_universal_d_BulkApproveParticipantRequest = BulkApproveParticipantRequest;\n  type onlineProgramsV3Participant_universal_d_BulkApproveParticipantResponse = BulkApproveParticipantResponse;\n  type onlineProgramsV3Participant_universal_d_BulkApproveParticipantResult = BulkApproveParticipantResult;\n  type onlineProgramsV3Participant_universal_d_ParticipantApproved = ParticipantApproved;\n  type onlineProgramsV3Participant_universal_d_BulkApproveAllParticipantRequest = BulkApproveAllParticipantRequest;\n  type onlineProgramsV3Participant_universal_d_BulkApproveAllParticipantResponse = BulkApproveAllParticipantResponse;\n  type onlineProgramsV3Participant_universal_d_DeleteParticipantRequest = DeleteParticipantRequest;\n  type onlineProgramsV3Participant_universal_d_DeleteParticipantResponse = DeleteParticipantResponse;\n  type onlineProgramsV3Participant_universal_d_ParticipantRejected = ParticipantRejected;\n  type onlineProgramsV3Participant_universal_d_IssueCertificateRequest = IssueCertificateRequest;\n  type onlineProgramsV3Participant_universal_d_IssueCertificateResponse = IssueCertificateResponse;\n  type onlineProgramsV3Participant_universal_d_ApplyCouponRequest = ApplyCouponRequest;\n  type onlineProgramsV3Participant_universal_d_ApplyCouponResponse = ApplyCouponResponse;\n  type onlineProgramsV3Participant_universal_d_RevertCouponRequest = RevertCouponRequest;\n  type onlineProgramsV3Participant_universal_d_RevertCouponResponse = RevertCouponResponse;\n  const onlineProgramsV3Participant_universal_d_exportParticipantsStats: typeof exportParticipantsStats;\n  const onlineProgramsV3Participant_universal_d_joinProgram: typeof joinProgram;\n  const onlineProgramsV3Participant_universal_d_getParticipant: typeof getParticipant;\n  const onlineProgramsV3Participant_universal_d_leaveProgram: typeof leaveProgram;\n  const onlineProgramsV3Participant_universal_d_queryParticipants: typeof queryParticipants;\n  type onlineProgramsV3Participant_universal_d_ParticipantsQueryResult = ParticipantsQueryResult;\n  type onlineProgramsV3Participant_universal_d_ParticipantsQueryBuilder = ParticipantsQueryBuilder;\n  const onlineProgramsV3Participant_universal_d_queryProgramSummaries: typeof queryProgramSummaries;\n  type onlineProgramsV3Participant_universal_d_QueryProgramSummariesOptions = QueryProgramSummariesOptions;\n  const onlineProgramsV3Participant_universal_d_getProgramSummaries: typeof getProgramSummaries;\n  type onlineProgramsV3Participant_universal_d_GetProgramSummariesOptions = GetProgramSummariesOptions;\n  const onlineProgramsV3Participant_universal_d_bulkInviteToProgram: typeof bulkInviteToProgram;\n  type onlineProgramsV3Participant_universal_d_BulkInviteToProgramOptions = BulkInviteToProgramOptions;\n  const onlineProgramsV3Participant_universal_d_bulkInviteAllToProgram: typeof bulkInviteAllToProgram;\n  type onlineProgramsV3Participant_universal_d_BulkInviteAllToProgramOptions = BulkInviteAllToProgramOptions;\n  const onlineProgramsV3Participant_universal_d_bulkAddToProgram: typeof bulkAddToProgram;\n  type onlineProgramsV3Participant_universal_d_BulkAddToProgramOptions = BulkAddToProgramOptions;\n  const onlineProgramsV3Participant_universal_d_bulkAddAllToProgram: typeof bulkAddAllToProgram;\n  type onlineProgramsV3Participant_universal_d_BulkAddAllToProgramOptions = BulkAddAllToProgramOptions;\n  const onlineProgramsV3Participant_universal_d_bulkApproveParticipant: typeof bulkApproveParticipant;\n  type onlineProgramsV3Participant_universal_d_BulkApproveParticipantOptions = BulkApproveParticipantOptions;\n  const onlineProgramsV3Participant_universal_d_bulkApproveAllParticipant: typeof bulkApproveAllParticipant;\n  type onlineProgramsV3Participant_universal_d_BulkApproveAllParticipantOptions = BulkApproveAllParticipantOptions;\n  const onlineProgramsV3Participant_universal_d_deleteParticipant: typeof deleteParticipant;\n  const onlineProgramsV3Participant_universal_d_issueCertificate: typeof issueCertificate;\n  const onlineProgramsV3Participant_universal_d_applyCoupon: typeof applyCoupon;\n  type onlineProgramsV3Participant_universal_d_ApplyCouponIdentifiers = ApplyCouponIdentifiers;\n  const onlineProgramsV3Participant_universal_d_revertCoupon: typeof revertCoupon;\n  type onlineProgramsV3Participant_universal_d_RevertCouponIdentifiers = RevertCouponIdentifiers;\n  namespace onlineProgramsV3Participant_universal_d {\n    export {\n      onlineProgramsV3Participant_universal_d_Participant as Participant,\n      onlineProgramsV3Participant_universal_d_ParticipantStateOptionsOneOf as ParticipantStateOptionsOneOf,\n      onlineProgramsV3Participant_universal_d_JoinPath as JoinPath,\n      onlineProgramsV3Participant_universal_d_SinglePaymentOptions as SinglePaymentOptions,\n      onlineProgramsV3Participant_universal_d_PaidPlanOptions as PaidPlanOptions,\n      onlineProgramsV3Participant_universal_d_FreeCouponOptions as FreeCouponOptions,\n      onlineProgramsV3Participant_universal_d_Progress as Progress,\n      State$2 as State,\n      Certificate$1 as Certificate,\n      onlineProgramsV3Participant_universal_d_PaymentPendingOptions as PaymentPendingOptions,\n      onlineProgramsV3Participant_universal_d_JoinedOptions as JoinedOptions,\n      onlineProgramsV3Participant_universal_d_JoinedOptionsJoinPathOptionsOneOf as JoinedOptionsJoinPathOptionsOneOf,\n      onlineProgramsV3Participant_universal_d_CompletedOptions as CompletedOptions,\n      onlineProgramsV3Participant_universal_d_FailedOptions as FailedOptions,\n      onlineProgramsV3Participant_universal_d_SuspendedOptions as SuspendedOptions,\n      onlineProgramsV3Participant_universal_d_ExportParticipantsStatsRequest as ExportParticipantsStatsRequest,\n      onlineProgramsV3Participant_universal_d_ExportParticipantsStatsResponse as ExportParticipantsStatsResponse,\n      onlineProgramsV3Participant_universal_d_ParticipantExportsFinished as ParticipantExportsFinished,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      onlineProgramsV3Participant_universal_d_ResolvedStep as ResolvedStep,\n      onlineProgramsV3Participant_universal_d_Status as Status,\n      onlineProgramsV3Participant_universal_d_StepResolved as StepResolved,\n      onlineProgramsV3Participant_universal_d_UndoStepRequest as UndoStepRequest,\n      onlineProgramsV3Participant_universal_d_UndoStepResponse as UndoStepResponse,\n      onlineProgramsV3Participant_universal_d_StepUndone as StepUndone,\n      onlineProgramsV3Participant_universal_d_ListResolvedStepsRequest as ListResolvedStepsRequest,\n      onlineProgramsV3Participant_universal_d_ListResolvedStepsResponse as ListResolvedStepsResponse,\n      onlineProgramsV3Participant_universal_d_GetResolvedStepRequest as GetResolvedStepRequest,\n      onlineProgramsV3Participant_universal_d_GetResolvedStepResponse as GetResolvedStepResponse,\n      onlineProgramsV3Participant_universal_d_QueryResolvedStepsRequest as QueryResolvedStepsRequest,\n      CursorQuery$3 as CursorQuery,\n      CursorQueryPagingMethodOneOf$3 as CursorQueryPagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      CursorPaging$3 as CursorPaging,\n      onlineProgramsV3Participant_universal_d_QueryResolvedStepsResponse as QueryResolvedStepsResponse,\n      CursorPagingMetadata$3 as CursorPagingMetadata,\n      Cursors$3 as Cursors,\n      onlineProgramsV3Participant_universal_d_BulkCreateResolvedStepMigrationRequest as BulkCreateResolvedStepMigrationRequest,\n      onlineProgramsV3Participant_universal_d_BulkCreateResolvedStepMigrationResponse as BulkCreateResolvedStepMigrationResponse,\n      onlineProgramsV3Participant_universal_d_CommonItemMetadata as CommonItemMetadata,\n      ApplicationError$3 as ApplicationError,\n      onlineProgramsV3Participant_universal_d_BulkResolvedStepResult as BulkResolvedStepResult,\n      onlineProgramsV3Participant_universal_d_CommonBulkActionMetadata as CommonBulkActionMetadata,\n      RestoreInfo$2 as RestoreInfo,\n      Empty$2 as Empty,\n      onlineProgramsV3Participant_universal_d_JoinProgramRequest as JoinProgramRequest,\n      onlineProgramsV3Participant_universal_d_JoinProgramResponse as JoinProgramResponse,\n      onlineProgramsV3Participant_universal_d_ParticipantJoined as ParticipantJoined,\n      onlineProgramsV3Participant_universal_d_GetParticipantRequest as GetParticipantRequest,\n      onlineProgramsV3Participant_universal_d_GetParticipantResponse as GetParticipantResponse,\n      onlineProgramsV3Participant_universal_d_LeaveProgramRequest as LeaveProgramRequest,\n      onlineProgramsV3Participant_universal_d_LeaveProgramResponse as LeaveProgramResponse,\n      onlineProgramsV3Participant_universal_d_ParticipantLeft as ParticipantLeft,\n      onlineProgramsV3Participant_universal_d_QueryParticipantsRequest as QueryParticipantsRequest,\n      onlineProgramsV3Participant_universal_d_QueryParticipantsResponse as QueryParticipantsResponse,\n      onlineProgramsV3Participant_universal_d_QueryProgramSummariesRequest as QueryProgramSummariesRequest,\n      onlineProgramsV3Participant_universal_d_CommonCursorQuery as CommonCursorQuery,\n      onlineProgramsV3Participant_universal_d_CommonCursorQueryPagingMethodOneOf as CommonCursorQueryPagingMethodOneOf,\n      onlineProgramsV3Participant_universal_d_CommonSorting as CommonSorting,\n      onlineProgramsV3Participant_universal_d_CommonSortOrder as CommonSortOrder,\n      onlineProgramsV3Participant_universal_d_CommonCursorPaging as CommonCursorPaging,\n      onlineProgramsV3Participant_universal_d_QueryProgramSummariesResponse as QueryProgramSummariesResponse,\n      onlineProgramsV3Participant_universal_d_ProgramSummary as ProgramSummary,\n      Program$1 as Program,\n      onlineProgramsV3Participant_universal_d_V3State as V3State,\n      Description$3 as Description,\n      DescriptionMediaOneOf$3 as DescriptionMediaOneOf,\n      VideoResolution$3 as VideoResolution,\n      Timeline$1 as Timeline,\n      TimelineFinishConditionOptionsOneOf$1 as TimelineFinishConditionOptionsOneOf,\n      FinishCondition$1 as FinishCondition,\n      TimeEvaluationOptions$1 as TimeEvaluationOptions,\n      Restrictions$1 as Restrictions,\n      Money$1 as Money,\n      Seo$1 as Seo,\n      SeoSchema$1 as SeoSchema,\n      Keyword$1 as Keyword,\n      Tag$1 as Tag,\n      Settings$1 as Settings,\n      Reward$1 as Reward,\n      Trigger$1 as Trigger,\n      onlineProgramsV3Participant_universal_d_RewardCertificate as RewardCertificate,\n      AccessType$1 as AccessType,\n      ExtendedFields$1 as ExtendedFields,\n      onlineProgramsV3Participant_universal_d_Statistic as Statistic,\n      onlineProgramsV3Participant_universal_d_Membership as Membership,\n      onlineProgramsV3Participant_universal_d_CommonCursorPagingMetadata as CommonCursorPagingMetadata,\n      onlineProgramsV3Participant_universal_d_CommonCursors as CommonCursors,\n      onlineProgramsV3Participant_universal_d_GetProgramSummariesRequest as GetProgramSummariesRequest,\n      onlineProgramsV3Participant_universal_d_GetProgramSummariesResponse as GetProgramSummariesResponse,\n      onlineProgramsV3Participant_universal_d_ParticipantsSummary as ParticipantsSummary,\n      onlineProgramsV3Participant_universal_d_OfflinePaymentSent as OfflinePaymentSent,\n      onlineProgramsV3Participant_universal_d_PaymentFailed as PaymentFailed,\n      onlineProgramsV3Participant_universal_d_SinglePaymentConfirmed as SinglePaymentConfirmed,\n      onlineProgramsV3Participant_universal_d_SinglePaymentDeclined as SinglePaymentDeclined,\n      onlineProgramsV3Participant_universal_d_BenefitNotification as BenefitNotification,\n      onlineProgramsV3Participant_universal_d_Benefit as Benefit,\n      onlineProgramsV3Participant_universal_d_EntryPass as EntryPass,\n      onlineProgramsV3Participant_universal_d_Discount as Discount,\n      onlineProgramsV3Participant_universal_d_DiscountDiscountOneOf as DiscountDiscountOneOf,\n      onlineProgramsV3Participant_universal_d_BenefitType as BenefitType,\n      onlineProgramsV3Participant_universal_d_Behavior as Behavior,\n      onlineProgramsV3Participant_universal_d_BehaviorBehaviorOneOf as BehaviorBehaviorOneOf,\n      onlineProgramsV3Participant_universal_d_Event as Event,\n      onlineProgramsV3Participant_universal_d_BulkInviteToProgramRequest as BulkInviteToProgramRequest,\n      onlineProgramsV3Participant_universal_d_BulkInviteToProgramResponse as BulkInviteToProgramResponse,\n      ItemMetadata$3 as ItemMetadata,\n      onlineProgramsV3Participant_universal_d_BulkInviteToProgramResult as BulkInviteToProgramResult,\n      BulkActionMetadata$3 as BulkActionMetadata,\n      onlineProgramsV3Participant_universal_d_ParticipantInvited as ParticipantInvited,\n      onlineProgramsV3Participant_universal_d_BulkInviteAllToProgramRequest as BulkInviteAllToProgramRequest,\n      onlineProgramsV3Participant_universal_d_BulkInviteAllToProgramResponse as BulkInviteAllToProgramResponse,\n      onlineProgramsV3Participant_universal_d_BulkAddToProgramRequest as BulkAddToProgramRequest,\n      onlineProgramsV3Participant_universal_d_BulkAddToProgramResponse as BulkAddToProgramResponse,\n      onlineProgramsV3Participant_universal_d_BulkAddToProgramResult as BulkAddToProgramResult,\n      onlineProgramsV3Participant_universal_d_ParticipantAdded as ParticipantAdded,\n      onlineProgramsV3Participant_universal_d_BulkAddAllToProgramRequest as BulkAddAllToProgramRequest,\n      onlineProgramsV3Participant_universal_d_BulkAddAllToProgramResponse as BulkAddAllToProgramResponse,\n      onlineProgramsV3Participant_universal_d_BulkApproveParticipantRequest as BulkApproveParticipantRequest,\n      onlineProgramsV3Participant_universal_d_BulkApproveParticipantResponse as BulkApproveParticipantResponse,\n      onlineProgramsV3Participant_universal_d_BulkApproveParticipantResult as BulkApproveParticipantResult,\n      onlineProgramsV3Participant_universal_d_ParticipantApproved as ParticipantApproved,\n      onlineProgramsV3Participant_universal_d_BulkApproveAllParticipantRequest as BulkApproveAllParticipantRequest,\n      onlineProgramsV3Participant_universal_d_BulkApproveAllParticipantResponse as BulkApproveAllParticipantResponse,\n      onlineProgramsV3Participant_universal_d_DeleteParticipantRequest as DeleteParticipantRequest,\n      onlineProgramsV3Participant_universal_d_DeleteParticipantResponse as DeleteParticipantResponse,\n      onlineProgramsV3Participant_universal_d_ParticipantRejected as ParticipantRejected,\n      onlineProgramsV3Participant_universal_d_IssueCertificateRequest as IssueCertificateRequest,\n      onlineProgramsV3Participant_universal_d_IssueCertificateResponse as IssueCertificateResponse,\n      onlineProgramsV3Participant_universal_d_ApplyCouponRequest as ApplyCouponRequest,\n      onlineProgramsV3Participant_universal_d_ApplyCouponResponse as ApplyCouponResponse,\n      onlineProgramsV3Participant_universal_d_RevertCouponRequest as RevertCouponRequest,\n      onlineProgramsV3Participant_universal_d_RevertCouponResponse as RevertCouponResponse,\n      onlineProgramsV3Participant_universal_d_exportParticipantsStats as exportParticipantsStats,\n      onlineProgramsV3Participant_universal_d_joinProgram as joinProgram,\n      onlineProgramsV3Participant_universal_d_getParticipant as getParticipant,\n      onlineProgramsV3Participant_universal_d_leaveProgram as leaveProgram,\n      onlineProgramsV3Participant_universal_d_queryParticipants as queryParticipants,\n      onlineProgramsV3Participant_universal_d_ParticipantsQueryResult as ParticipantsQueryResult,\n      onlineProgramsV3Participant_universal_d_ParticipantsQueryBuilder as ParticipantsQueryBuilder,\n      onlineProgramsV3Participant_universal_d_queryProgramSummaries as queryProgramSummaries,\n      onlineProgramsV3Participant_universal_d_QueryProgramSummariesOptions as QueryProgramSummariesOptions,\n      onlineProgramsV3Participant_universal_d_getProgramSummaries as getProgramSummaries,\n      onlineProgramsV3Participant_universal_d_GetProgramSummariesOptions as GetProgramSummariesOptions,\n      onlineProgramsV3Participant_universal_d_bulkInviteToProgram as bulkInviteToProgram,\n      onlineProgramsV3Participant_universal_d_BulkInviteToProgramOptions as BulkInviteToProgramOptions,\n      onlineProgramsV3Participant_universal_d_bulkInviteAllToProgram as bulkInviteAllToProgram,\n      onlineProgramsV3Participant_universal_d_BulkInviteAllToProgramOptions as BulkInviteAllToProgramOptions,\n      onlineProgramsV3Participant_universal_d_bulkAddToProgram as bulkAddToProgram,\n      onlineProgramsV3Participant_universal_d_BulkAddToProgramOptions as BulkAddToProgramOptions,\n      onlineProgramsV3Participant_universal_d_bulkAddAllToProgram as bulkAddAllToProgram,\n      onlineProgramsV3Participant_universal_d_BulkAddAllToProgramOptions as BulkAddAllToProgramOptions,\n      onlineProgramsV3Participant_universal_d_bulkApproveParticipant as bulkApproveParticipant,\n      onlineProgramsV3Participant_universal_d_BulkApproveParticipantOptions as BulkApproveParticipantOptions,\n      onlineProgramsV3Participant_universal_d_bulkApproveAllParticipant as bulkApproveAllParticipant,\n      onlineProgramsV3Participant_universal_d_BulkApproveAllParticipantOptions as BulkApproveAllParticipantOptions,\n      onlineProgramsV3Participant_universal_d_deleteParticipant as deleteParticipant,\n      onlineProgramsV3Participant_universal_d_issueCertificate as issueCertificate,\n      onlineProgramsV3Participant_universal_d_applyCoupon as applyCoupon,\n      onlineProgramsV3Participant_universal_d_ApplyCouponIdentifiers as ApplyCouponIdentifiers,\n      onlineProgramsV3Participant_universal_d_revertCoupon as revertCoupon,\n      onlineProgramsV3Participant_universal_d_RevertCouponIdentifiers as RevertCouponIdentifiers,\n    };\n  }\n  \n  interface Program {\n      /**\n       * Program ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** @readonly */\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n      /**\n       * current program state / does participant need it?\n       * @readonly\n       */\n      state?: State$1;\n      /**\n       * assigned categories\n       * @readonly\n       */\n      categoryIds?: string[];\n      /** general program info. */\n      description?: Description$2;\n      /** timeline type -> Self-paced, time-restricted. */\n      timeline?: Timeline;\n      /** participant limitation, step-completion pace and etc. */\n      restrictions?: Restrictions;\n      /** single-payment price. */\n      pricing?: Money;\n      /** seo settings. */\n      seo?: Seo;\n      /** rewards to be assigned after reaching some of the program milestones. */\n      rewards?: Reward[];\n      /** connected social group. */\n      socialGroupId?: string | null;\n      /** join flow options. */\n      accessType?: AccessType;\n      /** extensible field */\n      extendedFields?: ExtendedFields;\n      /** if true -> invoice is sent to the customer who purchased the program via single payment; else -> payment confirmation email is sent */\n      shouldSendInvoice?: boolean;\n  }\n  enum State$1 {\n      /** not published program, visible only on BM */\n      DRAFT = \"DRAFT\",\n      /** program visible regarding to restrictions */\n      PUBLISHED = \"PUBLISHED\",\n      /** program isn't available to join. */\n      ENDED = \"ENDED\",\n      /** closed program. Joins and sections/steps are not available for participants. */\n      ARCHIVED = \"ARCHIVED\"\n  }\n  interface Description$2 extends DescriptionMediaOneOf$2 {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n      /** step title */\n      title?: string;\n      /** step additional details */\n      details?: string | null;\n  }\n  /** @oneof */\n  interface DescriptionMediaOneOf$2 {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n  }\n  interface VideoResolution$2 {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface Timeline extends TimelineFinishConditionOptionsOneOf {\n      /** evaluate after some period of time in days. */\n      timeEvaluationOptions?: TimeEvaluationOptions;\n      /** are sections/steps evaluated every day? Or can UoU participate in a self paced mode? */\n      selfPaced?: boolean;\n      /** everyone starts on this day */\n      startDate?: string | null;\n      /** condition on which the program is completed */\n      finishCondition?: FinishCondition;\n  }\n  /** @oneof */\n  interface TimelineFinishConditionOptionsOneOf {\n      /** evaluate after some period of time in days. */\n      timeEvaluationOptions?: TimeEvaluationOptions;\n  }\n  enum FinishCondition {\n      UNKNOWN_FINISH_CONDITION = \"UNKNOWN_FINISH_CONDITION\",\n      /** finish participation after some time. */\n      TIME_EVALUATION = \"TIME_EVALUATION\",\n      /** finish participation when all steps are resolved. */\n      ALL_STEPS_COMPLETED = \"ALL_STEPS_COMPLETED\"\n  }\n  interface TimeEvaluationOptions {\n      /** duration in days */\n      durationInDays?: number;\n  }\n  interface Restrictions {\n      /** limit of active participants in the program. */\n      maxParticipants?: number | null;\n      /** hide steps in the Pending state. */\n      hideFutureSteps?: boolean;\n      /** allow participants complete steps in the certain order. */\n      resolveStepsInOrder?: boolean;\n      /** allow program participants to share their progress in group */\n      shareProgress?: boolean;\n  }\n  /**\n   * Money.\n   * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n   */\n  interface Money {\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string;\n      /** Currency code. Must be valid ISO 4217 currency code (e.g., USD). */\n      currency?: string;\n      /** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */\n      formattedValue?: string | null;\n  }\n  interface Seo {\n      /** challenge slug expression. */\n      slug?: string;\n      /** schema used by Seo team */\n      seoData?: SeoSchema;\n      /** program url */\n      url?: string;\n      /** image url from description media */\n      imageUrl?: string | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface Reward {\n      /** on which action rewards must be assigned. */\n      trigger?: Trigger;\n      /** badges participant will get on program complete */\n      badgeIds?: string[];\n      /** certificate for program. Currently is program GUID */\n      certificate?: Certificate;\n  }\n  enum Trigger {\n      /** member joins the program */\n      JOINED_TO_PROGRAM = \"JOINED_TO_PROGRAM\",\n      /** at least one step completed */\n      STEP_COMPLETED = \"STEP_COMPLETED\",\n      /** all steps are completed. */\n      ALL_STEPS_COMPLETED = \"ALL_STEPS_COMPLETED\"\n  }\n  interface Certificate {\n      /** Certificate for program completion. Currently is program GUID */\n      _id?: string;\n      /** date it was connected to program */\n      connectedDate?: Date;\n  }\n  enum AccessType {\n      /** join without approvals */\n      PUBLIC = \"PUBLIC\",\n      /** send a join request to the owner and get an approval from him. */\n      PRIVATE = \"PRIVATE\",\n      /** join possible only after owner invite. */\n      SECRET = \"SECRET\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface DiscoverableContentChange extends DiscoverableContentChangeChangeOneOf {\n      created?: ContentCreated;\n      updated?: ContentUpdated;\n      deleted?: ContentDeleted;\n      /** content id */\n      _id?: string;\n      /** fqdn for the content */\n      fqdn?: string;\n  }\n  /** @oneof */\n  interface DiscoverableContentChangeChangeOneOf {\n      created?: ContentCreated;\n      updated?: ContentUpdated;\n      deleted?: ContentDeleted;\n  }\n  interface ContentCreated {\n      /** created content */\n      content?: Content;\n  }\n  /** content data */\n  interface Content {\n      /** content id */\n      _id?: string;\n      /** fqdn for the content */\n      fqdn?: string;\n      /** optional content title */\n      title?: string | null;\n      /** content parts */\n      contentParts?: ContentPart[];\n      /** classifier values that apply to content (i.e. Blog categories) */\n      classifierValues?: ClassifierValues[];\n      /** author info */\n      authorInfo?: AuthorInfo;\n      /** time of content creation */\n      _createdDate?: Date;\n      /** parent content info, optional */\n      parent?: ParentInfo;\n      /** optional deep link to content in vertical ui */\n      deepLink?: Link;\n      /** content visibility (read access) settings */\n      visibility?: Visibility;\n  }\n  interface ContentPart extends ContentPartContentOneOf {\n      /** plain text content */\n      textContent?: string | null;\n      /** draftJs content */\n      draftJs?: string | null;\n      /** Wix Media item */\n      attachment?: MediaItem;\n      /** content id stored in the future (rich) content server */\n      storedContentId?: string | null;\n      jsonData?: any;\n      /** content part name */\n      name?: string;\n  }\n  /** @oneof */\n  interface ContentPartContentOneOf {\n      /** plain text content */\n      textContent?: string | null;\n      /** draftJs content */\n      draftJs?: string | null;\n      /** Wix Media item */\n      attachment?: MediaItem;\n      /** content id stored in the future (rich) content server */\n      storedContentId?: string | null;\n      jsonData?: any;\n  }\n  /** Deprecated - Copy this message into your service, do not reference it */\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n      /** WixMedia document */\n      document?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n      /** WixMedia document */\n      document?: string;\n  }\n  interface ClassifierValues {\n      /** classifier type, fqdn if applicable */\n      type?: string;\n      /** applicable value ids */\n      valueIds?: string[];\n  }\n  interface AuthorInfo extends AuthorInfoIdentityOneOf {\n      visitorId?: string;\n      siteMemberId?: string;\n      userId?: string;\n      service?: string;\n      externalApp?: string;\n  }\n  /** @oneof */\n  interface AuthorInfoIdentityOneOf {\n      visitorId?: string;\n      siteMemberId?: string;\n      userId?: string;\n      service?: string;\n      externalApp?: string;\n  }\n  interface ParentInfo {\n      /** fqdn for the parent */\n      fqdn?: string;\n      /** parent id */\n      parentId?: string;\n      /** classifier values that apply to parent (i.e. Blog categories) */\n      classifierValues?: ClassifierValues[];\n      /** classifier values for parent are not known and should be queried from SPI for parent if possible */\n      classifiersUnknown?: boolean;\n  }\n  /** to be replaced by commons wix.common.Link once merged */\n  interface Link {\n      /** Page url */\n      url?: string;\n      /** The mobile deeplink - e.g wix://app/1234-1234-1234-1234/memberships/manager */\n      mobileLink?: string;\n  }\n  interface Visibility {\n      /** enum stating content visibility type */\n      visibilityType?: VisibilityType;\n      /** array of permission ids or member groups that can be used with isPermitted to check content visibility */\n      permissions?: string[];\n  }\n  enum VisibilityType {\n      UNKNOWN = \"UNKNOWN\",\n      PUBLIC = \"PUBLIC\",\n      RESTRICTED = \"RESTRICTED\"\n  }\n  interface ContentUpdated {\n      /** updated content */\n      content?: Content;\n  }\n  interface ContentDeleted {\n  }\n  interface CreateProgramRequest {\n      /** Program to be created. */\n      program: Program;\n  }\n  interface CreateProgramResponse {\n      /** The created Program. */\n      program?: Program;\n  }\n  interface DuplicateProgramRequest {\n      /** Program to be duplicated from. */\n      programId: string;\n  }\n  interface DuplicateProgramResponse {\n      /** The created Program. */\n      program?: Program;\n  }\n  interface ProgramDuplicated {\n      /** Newly created program */\n      program?: Program;\n      /** Program that was duplicated */\n      duplicatedFrom?: Program;\n  }\n  interface GetProgramRequest {\n      /** ID or slug of the Program to retrieve. */\n      programId: string;\n  }\n  interface GetProgramResponse {\n      /** The requested Program. */\n      program?: Program;\n  }\n  interface UpdateProgramRequest {\n      /** Program to be updated, may be partial. */\n      program: Program;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateProgramResponse {\n      /** Updated Program. */\n      program?: Program;\n  }\n  interface WrongStateErrorDetails {\n  }\n  interface WrongStartDateErrorDetails {\n  }\n  interface WrongParticipantsNumberErrorDetails {\n      /** Participants that already joined the program */\n      activeParticipantsCount?: number;\n  }\n  interface DuplicatedSlugErrorDetails {\n  }\n  interface DeleteProgramRequest {\n      /** Id of the Program to delete. */\n      programId: string;\n  }\n  interface DeleteProgramResponse {\n  }\n  interface QueryProgramsRequest {\n      /** Query to filter programs */\n      query?: CursorQuery$2;\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryProgramsResponse {\n      /** Found programs */\n      programs?: Program[];\n      /** paging */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface PublishProgramRequest {\n      /** Program to publish */\n      programId: string;\n  }\n  interface PublishProgramResponse {\n      /** Published program */\n      program?: Program;\n  }\n  interface ChangedProgramState {\n      /** Id of the Program. */\n      programId?: string;\n      /** program's new state */\n      newState?: State$1;\n  }\n  interface EndProgramRequest {\n      /** Program to finish */\n      programId: string;\n  }\n  interface EndProgramResponse {\n      /** Finished program */\n      program?: Program;\n  }\n  interface ArchiveProgramRequest {\n      /** Program to archive */\n      programId: string;\n  }\n  interface ArchiveProgramResponse {\n      /** Archived program */\n      program?: Program;\n  }\n  interface BulkUpdateProgramsRequest {\n      /** List of programs you want to update */\n      programs: MaskedProgram[];\n      /** set to `true` if you wish to receive back the created programs in the response */\n      returnEntity?: boolean;\n  }\n  interface MaskedProgram {\n      /** Program to be updated, may be partial */\n      program?: Program;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateProgramsResponse {\n      results?: BulkUpdateProgramResult[];\n      /** metadata */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface ItemMetadata$2 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$2;\n  }\n  interface ApplicationError$2 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkUpdateProgramResult {\n      /** item metadata */\n      itemMetadata?: ItemMetadata$2;\n      /** Only exists if `returnEntity` was set to true in the request */\n      item?: Program;\n  }\n  interface BulkActionMetadata$2 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface ListSampleProgramsRequest {\n  }\n  interface ListSampleProgramsResponse {\n      /** sample programs */\n      programs?: Program[];\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a Program.\n   * @param program - Program to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField program\n   * @adminMethod\n   * @returns The created Program.\n   */\n  function createProgram(program: Program): Promise<Program>;\n  /**\n   * Duplicates the Program. Leaves certificate template, but removes social group.\n   * @param programId - Program to be duplicated from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function duplicateProgram(programId: string): Promise<DuplicateProgramResponse>;\n  /**\n   * Retrieves a Program.\n   * @param programId - ID or slug of the Program to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @returns The requested Program.\n   */\n  function getProgram(programId: string): Promise<Program>;\n  /**\n   * Updates a Program.\n   * @param _id - Program ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField program\n   * @requiredField program.revision\n   * @adminMethod\n   * @returns Updated Program.\n   */\n  function updateProgram(_id: string | null, program: UpdateProgram, options?: UpdateProgramOptions): Promise<Program>;\n  interface UpdateProgram {\n      /**\n       * Program ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** @readonly */\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n      /**\n       * current program state / does participant need it?\n       * @readonly\n       */\n      state?: State$1;\n      /**\n       * assigned categories\n       * @readonly\n       */\n      categoryIds?: string[];\n      /** general program info. */\n      description?: Description$2;\n      /** timeline type -> Self-paced, time-restricted. */\n      timeline?: Timeline;\n      /** participant limitation, step-completion pace and etc. */\n      restrictions?: Restrictions;\n      /** single-payment price. */\n      pricing?: Money;\n      /** seo settings. */\n      seo?: Seo;\n      /** rewards to be assigned after reaching some of the program milestones. */\n      rewards?: Reward[];\n      /** connected social group. */\n      socialGroupId?: string | null;\n      /** join flow options. */\n      accessType?: AccessType;\n      /** extensible field */\n      extendedFields?: ExtendedFields;\n      /** if true -> invoice is sent to the customer who purchased the program via single payment; else -> payment confirmation email is sent */\n      shouldSendInvoice?: boolean;\n  }\n  interface UpdateProgramOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a Program.\n   * Deleting a Program permanently removes them from the Program List.\n   * @param programId - Id of the Program to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function deleteProgram(programId: string): Promise<void>;\n  /**\n   * Retrieves a list of Programs\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ONLINE_PROGRAMS.PROGRAM_READ\n   */\n  function queryPrograms(): ProgramsQueryBuilder;\n  interface QueryCursorResult$2 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProgramsQueryResult extends QueryCursorResult$2 {\n      items: Program[];\n      query: ProgramsQueryBuilder;\n      next: () => Promise<ProgramsQueryResult>;\n      prev: () => Promise<ProgramsQueryResult>;\n  }\n  interface ProgramsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'state' | 'seo.slug', value: any) => ProgramsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'state', value: any) => ProgramsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'state' | 'seo.slug'>) => ProgramsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'state' | 'seo.slug'>) => ProgramsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ProgramsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ProgramsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ProgramsQueryResult>;\n  }\n  /**\n   * Publishes draft program. In other state returns program as is.\n   * @param programId - Program to publish\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function publishProgram(programId: string): Promise<PublishProgramResponse>;\n  /**\n   * Ends program.\n   * @param programId - Program to finish\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function endProgram(programId: string): Promise<EndProgramResponse>;\n  /**\n   * Archives program\n   * @param programId - Program to archive\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   * @adminMethod\n   */\n  function archiveProgram(programId: string): Promise<ArchiveProgramResponse>;\n  /**\n   * Update multiple Programs in a single request. Works synchronously.\n   * @param programs - List of programs you want to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programs\n   * @requiredField programs.program.revision\n   * @adminMethod\n   */\n  function bulkUpdatePrograms(programs: MaskedProgram[], options?: BulkUpdateProgramsOptions): Promise<BulkUpdateProgramsResponse>;\n  interface BulkUpdateProgramsOptions {\n      /** set to `true` if you wish to receive back the created programs in the response */\n      returnEntity?: boolean;\n  }\n  /**\n   * Returns list of sample programs.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listSamplePrograms(): Promise<ListSampleProgramsResponse>;\n  \n  type onlineProgramsV3Program_universal_d_Program = Program;\n  type onlineProgramsV3Program_universal_d_Timeline = Timeline;\n  type onlineProgramsV3Program_universal_d_TimelineFinishConditionOptionsOneOf = TimelineFinishConditionOptionsOneOf;\n  type onlineProgramsV3Program_universal_d_FinishCondition = FinishCondition;\n  const onlineProgramsV3Program_universal_d_FinishCondition: typeof FinishCondition;\n  type onlineProgramsV3Program_universal_d_TimeEvaluationOptions = TimeEvaluationOptions;\n  type onlineProgramsV3Program_universal_d_Restrictions = Restrictions;\n  type onlineProgramsV3Program_universal_d_Money = Money;\n  type onlineProgramsV3Program_universal_d_Seo = Seo;\n  type onlineProgramsV3Program_universal_d_SeoSchema = SeoSchema;\n  type onlineProgramsV3Program_universal_d_Keyword = Keyword;\n  type onlineProgramsV3Program_universal_d_Tag = Tag;\n  type onlineProgramsV3Program_universal_d_Settings = Settings;\n  type onlineProgramsV3Program_universal_d_Reward = Reward;\n  type onlineProgramsV3Program_universal_d_Trigger = Trigger;\n  const onlineProgramsV3Program_universal_d_Trigger: typeof Trigger;\n  type onlineProgramsV3Program_universal_d_Certificate = Certificate;\n  type onlineProgramsV3Program_universal_d_AccessType = AccessType;\n  const onlineProgramsV3Program_universal_d_AccessType: typeof AccessType;\n  type onlineProgramsV3Program_universal_d_ExtendedFields = ExtendedFields;\n  type onlineProgramsV3Program_universal_d_DiscoverableContentChange = DiscoverableContentChange;\n  type onlineProgramsV3Program_universal_d_DiscoverableContentChangeChangeOneOf = DiscoverableContentChangeChangeOneOf;\n  type onlineProgramsV3Program_universal_d_ContentCreated = ContentCreated;\n  type onlineProgramsV3Program_universal_d_Content = Content;\n  type onlineProgramsV3Program_universal_d_ContentPart = ContentPart;\n  type onlineProgramsV3Program_universal_d_ContentPartContentOneOf = ContentPartContentOneOf;\n  type onlineProgramsV3Program_universal_d_MediaItem = MediaItem;\n  type onlineProgramsV3Program_universal_d_MediaItemMediaOneOf = MediaItemMediaOneOf;\n  type onlineProgramsV3Program_universal_d_ClassifierValues = ClassifierValues;\n  type onlineProgramsV3Program_universal_d_AuthorInfo = AuthorInfo;\n  type onlineProgramsV3Program_universal_d_AuthorInfoIdentityOneOf = AuthorInfoIdentityOneOf;\n  type onlineProgramsV3Program_universal_d_ParentInfo = ParentInfo;\n  type onlineProgramsV3Program_universal_d_Link = Link;\n  type onlineProgramsV3Program_universal_d_Visibility = Visibility;\n  type onlineProgramsV3Program_universal_d_VisibilityType = VisibilityType;\n  const onlineProgramsV3Program_universal_d_VisibilityType: typeof VisibilityType;\n  type onlineProgramsV3Program_universal_d_ContentUpdated = ContentUpdated;\n  type onlineProgramsV3Program_universal_d_ContentDeleted = ContentDeleted;\n  type onlineProgramsV3Program_universal_d_CreateProgramRequest = CreateProgramRequest;\n  type onlineProgramsV3Program_universal_d_CreateProgramResponse = CreateProgramResponse;\n  type onlineProgramsV3Program_universal_d_DuplicateProgramRequest = DuplicateProgramRequest;\n  type onlineProgramsV3Program_universal_d_DuplicateProgramResponse = DuplicateProgramResponse;\n  type onlineProgramsV3Program_universal_d_ProgramDuplicated = ProgramDuplicated;\n  type onlineProgramsV3Program_universal_d_GetProgramRequest = GetProgramRequest;\n  type onlineProgramsV3Program_universal_d_GetProgramResponse = GetProgramResponse;\n  type onlineProgramsV3Program_universal_d_UpdateProgramRequest = UpdateProgramRequest;\n  type onlineProgramsV3Program_universal_d_UpdateProgramResponse = UpdateProgramResponse;\n  type onlineProgramsV3Program_universal_d_WrongStateErrorDetails = WrongStateErrorDetails;\n  type onlineProgramsV3Program_universal_d_WrongStartDateErrorDetails = WrongStartDateErrorDetails;\n  type onlineProgramsV3Program_universal_d_WrongParticipantsNumberErrorDetails = WrongParticipantsNumberErrorDetails;\n  type onlineProgramsV3Program_universal_d_DuplicatedSlugErrorDetails = DuplicatedSlugErrorDetails;\n  type onlineProgramsV3Program_universal_d_DeleteProgramRequest = DeleteProgramRequest;\n  type onlineProgramsV3Program_universal_d_DeleteProgramResponse = DeleteProgramResponse;\n  type onlineProgramsV3Program_universal_d_QueryProgramsRequest = QueryProgramsRequest;\n  type onlineProgramsV3Program_universal_d_QueryProgramsResponse = QueryProgramsResponse;\n  type onlineProgramsV3Program_universal_d_PublishProgramRequest = PublishProgramRequest;\n  type onlineProgramsV3Program_universal_d_PublishProgramResponse = PublishProgramResponse;\n  type onlineProgramsV3Program_universal_d_ChangedProgramState = ChangedProgramState;\n  type onlineProgramsV3Program_universal_d_EndProgramRequest = EndProgramRequest;\n  type onlineProgramsV3Program_universal_d_EndProgramResponse = EndProgramResponse;\n  type onlineProgramsV3Program_universal_d_ArchiveProgramRequest = ArchiveProgramRequest;\n  type onlineProgramsV3Program_universal_d_ArchiveProgramResponse = ArchiveProgramResponse;\n  type onlineProgramsV3Program_universal_d_BulkUpdateProgramsRequest = BulkUpdateProgramsRequest;\n  type onlineProgramsV3Program_universal_d_MaskedProgram = MaskedProgram;\n  type onlineProgramsV3Program_universal_d_BulkUpdateProgramsResponse = BulkUpdateProgramsResponse;\n  type onlineProgramsV3Program_universal_d_BulkUpdateProgramResult = BulkUpdateProgramResult;\n  type onlineProgramsV3Program_universal_d_ListSampleProgramsRequest = ListSampleProgramsRequest;\n  type onlineProgramsV3Program_universal_d_ListSampleProgramsResponse = ListSampleProgramsResponse;\n  const onlineProgramsV3Program_universal_d_createProgram: typeof createProgram;\n  const onlineProgramsV3Program_universal_d_duplicateProgram: typeof duplicateProgram;\n  const onlineProgramsV3Program_universal_d_getProgram: typeof getProgram;\n  const onlineProgramsV3Program_universal_d_updateProgram: typeof updateProgram;\n  type onlineProgramsV3Program_universal_d_UpdateProgram = UpdateProgram;\n  type onlineProgramsV3Program_universal_d_UpdateProgramOptions = UpdateProgramOptions;\n  const onlineProgramsV3Program_universal_d_deleteProgram: typeof deleteProgram;\n  const onlineProgramsV3Program_universal_d_queryPrograms: typeof queryPrograms;\n  type onlineProgramsV3Program_universal_d_ProgramsQueryResult = ProgramsQueryResult;\n  type onlineProgramsV3Program_universal_d_ProgramsQueryBuilder = ProgramsQueryBuilder;\n  const onlineProgramsV3Program_universal_d_publishProgram: typeof publishProgram;\n  const onlineProgramsV3Program_universal_d_endProgram: typeof endProgram;\n  const onlineProgramsV3Program_universal_d_archiveProgram: typeof archiveProgram;\n  const onlineProgramsV3Program_universal_d_bulkUpdatePrograms: typeof bulkUpdatePrograms;\n  type onlineProgramsV3Program_universal_d_BulkUpdateProgramsOptions = BulkUpdateProgramsOptions;\n  const onlineProgramsV3Program_universal_d_listSamplePrograms: typeof listSamplePrograms;\n  namespace onlineProgramsV3Program_universal_d {\n    export {\n      onlineProgramsV3Program_universal_d_Program as Program,\n      State$1 as State,\n      Description$2 as Description,\n      DescriptionMediaOneOf$2 as DescriptionMediaOneOf,\n      VideoResolution$2 as VideoResolution,\n      onlineProgramsV3Program_universal_d_Timeline as Timeline,\n      onlineProgramsV3Program_universal_d_TimelineFinishConditionOptionsOneOf as TimelineFinishConditionOptionsOneOf,\n      onlineProgramsV3Program_universal_d_FinishCondition as FinishCondition,\n      onlineProgramsV3Program_universal_d_TimeEvaluationOptions as TimeEvaluationOptions,\n      onlineProgramsV3Program_universal_d_Restrictions as Restrictions,\n      onlineProgramsV3Program_universal_d_Money as Money,\n      onlineProgramsV3Program_universal_d_Seo as Seo,\n      onlineProgramsV3Program_universal_d_SeoSchema as SeoSchema,\n      onlineProgramsV3Program_universal_d_Keyword as Keyword,\n      onlineProgramsV3Program_universal_d_Tag as Tag,\n      onlineProgramsV3Program_universal_d_Settings as Settings,\n      onlineProgramsV3Program_universal_d_Reward as Reward,\n      onlineProgramsV3Program_universal_d_Trigger as Trigger,\n      onlineProgramsV3Program_universal_d_Certificate as Certificate,\n      onlineProgramsV3Program_universal_d_AccessType as AccessType,\n      onlineProgramsV3Program_universal_d_ExtendedFields as ExtendedFields,\n      onlineProgramsV3Program_universal_d_DiscoverableContentChange as DiscoverableContentChange,\n      onlineProgramsV3Program_universal_d_DiscoverableContentChangeChangeOneOf as DiscoverableContentChangeChangeOneOf,\n      onlineProgramsV3Program_universal_d_ContentCreated as ContentCreated,\n      onlineProgramsV3Program_universal_d_Content as Content,\n      onlineProgramsV3Program_universal_d_ContentPart as ContentPart,\n      onlineProgramsV3Program_universal_d_ContentPartContentOneOf as ContentPartContentOneOf,\n      onlineProgramsV3Program_universal_d_MediaItem as MediaItem,\n      onlineProgramsV3Program_universal_d_MediaItemMediaOneOf as MediaItemMediaOneOf,\n      onlineProgramsV3Program_universal_d_ClassifierValues as ClassifierValues,\n      onlineProgramsV3Program_universal_d_AuthorInfo as AuthorInfo,\n      onlineProgramsV3Program_universal_d_AuthorInfoIdentityOneOf as AuthorInfoIdentityOneOf,\n      onlineProgramsV3Program_universal_d_ParentInfo as ParentInfo,\n      onlineProgramsV3Program_universal_d_Link as Link,\n      onlineProgramsV3Program_universal_d_Visibility as Visibility,\n      onlineProgramsV3Program_universal_d_VisibilityType as VisibilityType,\n      onlineProgramsV3Program_universal_d_ContentUpdated as ContentUpdated,\n      onlineProgramsV3Program_universal_d_ContentDeleted as ContentDeleted,\n      onlineProgramsV3Program_universal_d_CreateProgramRequest as CreateProgramRequest,\n      onlineProgramsV3Program_universal_d_CreateProgramResponse as CreateProgramResponse,\n      onlineProgramsV3Program_universal_d_DuplicateProgramRequest as DuplicateProgramRequest,\n      onlineProgramsV3Program_universal_d_DuplicateProgramResponse as DuplicateProgramResponse,\n      onlineProgramsV3Program_universal_d_ProgramDuplicated as ProgramDuplicated,\n      onlineProgramsV3Program_universal_d_GetProgramRequest as GetProgramRequest,\n      onlineProgramsV3Program_universal_d_GetProgramResponse as GetProgramResponse,\n      onlineProgramsV3Program_universal_d_UpdateProgramRequest as UpdateProgramRequest,\n      onlineProgramsV3Program_universal_d_UpdateProgramResponse as UpdateProgramResponse,\n      onlineProgramsV3Program_universal_d_WrongStateErrorDetails as WrongStateErrorDetails,\n      onlineProgramsV3Program_universal_d_WrongStartDateErrorDetails as WrongStartDateErrorDetails,\n      onlineProgramsV3Program_universal_d_WrongParticipantsNumberErrorDetails as WrongParticipantsNumberErrorDetails,\n      onlineProgramsV3Program_universal_d_DuplicatedSlugErrorDetails as DuplicatedSlugErrorDetails,\n      onlineProgramsV3Program_universal_d_DeleteProgramRequest as DeleteProgramRequest,\n      onlineProgramsV3Program_universal_d_DeleteProgramResponse as DeleteProgramResponse,\n      onlineProgramsV3Program_universal_d_QueryProgramsRequest as QueryProgramsRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      onlineProgramsV3Program_universal_d_QueryProgramsResponse as QueryProgramsResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      onlineProgramsV3Program_universal_d_PublishProgramRequest as PublishProgramRequest,\n      onlineProgramsV3Program_universal_d_PublishProgramResponse as PublishProgramResponse,\n      onlineProgramsV3Program_universal_d_ChangedProgramState as ChangedProgramState,\n      onlineProgramsV3Program_universal_d_EndProgramRequest as EndProgramRequest,\n      onlineProgramsV3Program_universal_d_EndProgramResponse as EndProgramResponse,\n      onlineProgramsV3Program_universal_d_ArchiveProgramRequest as ArchiveProgramRequest,\n      onlineProgramsV3Program_universal_d_ArchiveProgramResponse as ArchiveProgramResponse,\n      onlineProgramsV3Program_universal_d_BulkUpdateProgramsRequest as BulkUpdateProgramsRequest,\n      onlineProgramsV3Program_universal_d_MaskedProgram as MaskedProgram,\n      onlineProgramsV3Program_universal_d_BulkUpdateProgramsResponse as BulkUpdateProgramsResponse,\n      ItemMetadata$2 as ItemMetadata,\n      ApplicationError$2 as ApplicationError,\n      onlineProgramsV3Program_universal_d_BulkUpdateProgramResult as BulkUpdateProgramResult,\n      BulkActionMetadata$2 as BulkActionMetadata,\n      onlineProgramsV3Program_universal_d_ListSampleProgramsRequest as ListSampleProgramsRequest,\n      onlineProgramsV3Program_universal_d_ListSampleProgramsResponse as ListSampleProgramsResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      onlineProgramsV3Program_universal_d_createProgram as createProgram,\n      onlineProgramsV3Program_universal_d_duplicateProgram as duplicateProgram,\n      onlineProgramsV3Program_universal_d_getProgram as getProgram,\n      onlineProgramsV3Program_universal_d_updateProgram as updateProgram,\n      onlineProgramsV3Program_universal_d_UpdateProgram as UpdateProgram,\n      onlineProgramsV3Program_universal_d_UpdateProgramOptions as UpdateProgramOptions,\n      onlineProgramsV3Program_universal_d_deleteProgram as deleteProgram,\n      onlineProgramsV3Program_universal_d_queryPrograms as queryPrograms,\n      onlineProgramsV3Program_universal_d_ProgramsQueryResult as ProgramsQueryResult,\n      onlineProgramsV3Program_universal_d_ProgramsQueryBuilder as ProgramsQueryBuilder,\n      onlineProgramsV3Program_universal_d_publishProgram as publishProgram,\n      onlineProgramsV3Program_universal_d_endProgram as endProgram,\n      onlineProgramsV3Program_universal_d_archiveProgram as archiveProgram,\n      onlineProgramsV3Program_universal_d_bulkUpdatePrograms as bulkUpdatePrograms,\n      onlineProgramsV3Program_universal_d_BulkUpdateProgramsOptions as BulkUpdateProgramsOptions,\n      onlineProgramsV3Program_universal_d_listSamplePrograms as listSamplePrograms,\n    };\n  }\n  \n  interface Section {\n      /**\n       * Program Section ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Section was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Section was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Program Id to which this section is assigned to. */\n      programId?: string;\n      /** title, description and media content. */\n      description?: Description$1;\n      /** is this section published yet? */\n      state?: State;\n      /**\n       * number of program steps in this section.\n       * @readonly\n       */\n      totalSteps?: number;\n      /** should we open this section as a trial content even though the owning program isn't purchased yet? */\n      trialSection?: boolean;\n      /** field for manual ordering of sections */\n      ordering?: number;\n      /** open after defined number of days passed. */\n      delayInDays?: number;\n  }\n  interface Description$1 extends DescriptionMediaOneOf$1 {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n      title?: string;\n      details?: string | null;\n  }\n  /** @oneof */\n  interface DescriptionMediaOneOf$1 {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n  }\n  interface VideoResolution$1 {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  enum State {\n      /** invalid default state. */\n      UNKNOWN = \"UNKNOWN\",\n      /** the section isn't ready to be shown to participants. */\n      DRAFT = \"DRAFT\",\n      /** this content is visible to participants. */\n      PUBLISHED = \"PUBLISHED\"\n  }\n  interface UpdateDocumentsEvent$1 extends UpdateDocumentsEventOperationOneOf$1 {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation$1;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation$1;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation$1;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation$1;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation$1;\n      /** application which owns documents */\n      appDefId?: string | null;\n      /** type of the documents */\n      documentType?: string | null;\n      /** language of the documents */\n      language?: string | null;\n      /** site documents belong to */\n      msId?: string | null;\n  }\n  /** @oneof */\n  interface UpdateDocumentsEventOperationOneOf$1 {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation$1;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation$1;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation$1;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation$1;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation$1;\n  }\n  interface DocumentUpdateOperation$1 {\n      /** documents to index or update */\n      documents?: IndexDocument$1[];\n  }\n  interface IndexDocument$1 {\n      /** data bag with non-searchable fields (url, image) */\n      payload?: DocumentPayload$1;\n      /** what type of users should documents be visible to */\n      exposure?: Enum$1;\n      /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n      /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */\n      permittedMemberGroups?: string[];\n      /** if true SEO is disabled for this document */\n      seoHidden?: boolean | null;\n      /** if true the page is a lightbox popup */\n      isPopup?: boolean | null;\n  }\n  interface DocumentPayload$1 {\n      /** url of the page representing the document */\n      url?: string | null;\n      /** image which represents the document */\n      documentImage?: DocumentImage$1;\n  }\n  interface DocumentImage$1 {\n      /** the name of the image */\n      name?: string;\n      /** the width of the image */\n      width?: number;\n      /** the height of the image */\n      height?: number;\n  }\n  enum Enum$1 {\n      /** Default value. Means that permission not set */\n      UNKNOWN = \"UNKNOWN\",\n      /** Protected exposure. Exposed to members and owners */\n      PROTECTED = \"PROTECTED\",\n      /** Private exposure. Exposed to owners */\n      PRIVATE = \"PRIVATE\",\n      /** Public exposure. Visible to everyone */\n      PUBLIC = \"PUBLIC\",\n      /** Used for partial updates, to state that exposure is not changing */\n      UNCHANGED = \"UNCHANGED\",\n      /** Protected to members of permitted groups and owners */\n      GROUP_PROTECTED = \"GROUP_PROTECTED\"\n  }\n  interface DeleteByIdsOperation$1 {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface DeleteByFilterOperation$1 {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface UpdateByFilterOperation$1 {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: IndexDocument$1;\n  }\n  interface UpdateExistingOperation$1 {\n      /** documents to update */\n      documents?: IndexDocument$1[];\n  }\n  interface CreateSectionRequest {\n      /** Section to be created. */\n      section: Section;\n  }\n  interface CreateSectionResponse {\n      /** The created Section. */\n      section?: Section;\n  }\n  interface BulkCreateSectionRequest {\n      /** List of sections you want to create */\n      sections: Section[];\n  }\n  interface BulkCreateSectionResponse {\n      /** bulk results */\n      results?: BulkSectionResult[];\n      /** bulk metadata */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkSectionResult {\n      /** item metadata */\n      itemMetadata?: ItemMetadata$1;\n      /** created section */\n      item?: Section;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetSectionRequest {\n      /** ID of the Section to retrieve. */\n      sectionId: string;\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet$1;\n  }\n  enum DescriptionFieldSet$1 {\n      STANDARD = \"STANDARD\",\n      EXTENDED = \"EXTENDED\"\n  }\n  interface GetSectionResponse {\n      /** The requested Section. */\n      section?: Section;\n  }\n  interface UpdateSectionRequest {\n      /** Section to be updated, may be partial. */\n      section: Section;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateSectionResponse {\n      /** Updated Section. */\n      section?: Section;\n  }\n  interface DeleteSectionRequest {\n      /** Id of the Section to delete. */\n      sectionId: string;\n  }\n  interface DeleteSectionResponse {\n  }\n  interface DeleteAllProgramSectionsRequest {\n      /** Program id to delete sections from */\n      programId?: string;\n  }\n  interface DeleteAllProgramSectionsResponse {\n      /** Total count of sections in the program */\n      sectionsTotal?: number;\n      /** Count of successfully deleted sections */\n      successfulCount?: number;\n      /** Count of sections that failed to be deleted */\n      failedCount?: number;\n  }\n  interface QuerySectionsRequest {\n      /** WQL expression. */\n      query?: CursorQuery$1;\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySectionsResponse {\n      /** List of Sections. */\n      sections?: Section[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListSectionsRequest {\n      /** Program id to list sections */\n      programId: string;\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet$1;\n  }\n  interface ListSectionsResponse {\n      /** sections */\n      sections?: Section[];\n  }\n  interface CloneSectionRequest {\n      /** Section to clone */\n      sectionId: string;\n  }\n  interface CloneSectionResponse {\n      /** cloned section */\n      section?: Section;\n  }\n  interface MoveSectionRequest {\n      /** Section to move */\n      sectionId?: string;\n      /** change section position to be after the specified section. If empty insert in the \"0\" position. */\n      afterSectionId?: string | null;\n      /** section revision */\n      revision?: string;\n  }\n  interface MoveSectionResponse {\n      /** updated section which was moved */\n      section?: Section;\n  }\n  interface SectionMoved {\n      /** Moved section id */\n      sectionId?: string;\n      /** section position */\n      newSectionPositionRank?: number;\n  }\n  interface PublishSectionRequest {\n      /** Section to publish */\n      sectionId?: string;\n      /** section revision */\n      revision?: string;\n  }\n  interface PublishSectionResponse {\n      /** Published section */\n      section?: Section;\n  }\n  interface SectionPublished {\n      /** Published section id */\n      sectionId?: string;\n  }\n  interface BulkCloneSectionRequest {\n      /** id of program which was cloned */\n      prototypeProgramId?: string;\n      /** id of program created after clone */\n      clonedProgramId?: string;\n  }\n  interface BulkCloneSectionResponse {\n      /** id of program which was cloned */\n      prototypeProgramId?: string;\n      /** id of program created after clone */\n      clonedProgramId?: string;\n      /** mapping of original to cloned section ids */\n      prototypeIdToClonedId?: Record<string, string>;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a Section.\n   * @param section - Section to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField section\n   * @adminMethod\n   * @returns The created Section.\n   */\n  function createSection(section: Section): Promise<Section>;\n  /**\n   * Bulk Section creation.\n   * @param sections - List of sections you want to create\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sections\n   * @adminMethod\n   */\n  function bulkCreateSection(sections: Section[]): Promise<BulkCreateSectionResponse>;\n  /**\n   * Retrieves a Section.\n   * @param sectionId - ID of the Section to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sectionId\n   * @returns The requested Section.\n   */\n  function getSection(sectionId: string, options?: GetSectionOptions): Promise<Section>;\n  interface GetSectionOptions {\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet$1;\n  }\n  /**\n   * Updates a Section.\n   * @param _id - Program Section ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField section\n   * @requiredField section.revision\n   * @adminMethod\n   * @returns Updated Section.\n   */\n  function updateSection(_id: string | null, section: UpdateSection, options?: UpdateSectionOptions): Promise<Section>;\n  interface UpdateSection {\n      /**\n       * Program Section ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Section was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Section was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Program Id to which this section is assigned to. */\n      programId?: string;\n      /** title, description and media content. */\n      description?: Description$1;\n      /** is this section published yet? */\n      state?: State;\n      /**\n       * number of program steps in this section.\n       * @readonly\n       */\n      totalSteps?: number;\n      /** should we open this section as a trial content even though the owning program isn't purchased yet? */\n      trialSection?: boolean;\n      /** field for manual ordering of sections */\n      ordering?: number;\n      /** open after defined number of days passed. */\n      delayInDays?: number;\n  }\n  interface UpdateSectionOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a Section.\n   * Deleting a Section permanently removes them from the Section List.\n   * @param sectionId - Id of the Section to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sectionId\n   * @adminMethod\n   */\n  function deleteSection(sectionId: string): Promise<void>;\n  /**\n   * Delete all program sections\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function deleteAllProgramSections(options?: DeleteAllProgramSectionsOptions): Promise<DeleteAllProgramSectionsResponse>;\n  interface DeleteAllProgramSectionsOptions {\n      /** Program id to delete sections from */\n      programId?: string;\n  }\n  /**\n   * Retrieves a list of Sections, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 1,000 Sections can be returned per request.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ONLINE_PROGRAMS.SECTION_READ\n   */\n  function querySections(options?: QuerySectionsOptions): SectionsQueryBuilder;\n  interface QuerySectionsOptions {\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet$1 | undefined;\n  }\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SectionsQueryResult extends QueryCursorResult$1 {\n      items: Section[];\n      query: SectionsQueryBuilder;\n      next: () => Promise<SectionsQueryResult>;\n      prev: () => Promise<SectionsQueryResult>;\n  }\n  interface SectionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'programId' | 'trialSection' | 'delayInDays', value: any) => SectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => SectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id', value: any) => SectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | 'ordering' | 'delayInDays'>) => SectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | 'ordering' | 'delayInDays'>) => SectionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SectionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SectionsQueryResult>;\n  }\n  /**\n   * List sections per program id\n   * @param programId - Program id to list sections\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField programId\n   */\n  function listSections(programId: string, options?: ListSectionsOptions): Promise<ListSectionsResponse>;\n  interface ListSectionsOptions {\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet$1;\n  }\n  /**\n   * Clones section with specified id\n   * @param sectionId - Section to clone\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sectionId\n   * @adminMethod\n   */\n  function cloneSection(sectionId: string): Promise<CloneSectionResponse>;\n  /**\n   * Places section after specified one or inserts it in the beginning\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function moveSection(options?: MoveSectionOptions): Promise<MoveSectionResponse>;\n  interface MoveSectionOptions {\n      /** Section to move */\n      sectionId?: string;\n      /** change section position to be after the specified section. If empty insert in the \"0\" position. */\n      afterSectionId?: string | null;\n      /** section revision */\n      revision?: string;\n  }\n  /**\n   * Publishes section\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function publishSection(options?: PublishSectionOptions): Promise<PublishSectionResponse>;\n  interface PublishSectionOptions {\n      /** Section to publish */\n      sectionId?: string;\n      /** section revision */\n      revision?: string;\n  }\n  /**\n   * Clones all sections from prototype program\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function bulkCloneSection(options?: BulkCloneSectionOptions): Promise<BulkCloneSectionResponse>;\n  interface BulkCloneSectionOptions {\n      /** id of program which was cloned */\n      prototypeProgramId?: string;\n      /** id of program created after clone */\n      clonedProgramId?: string;\n  }\n  \n  type onlineProgramsV3Section_universal_d_Section = Section;\n  type onlineProgramsV3Section_universal_d_State = State;\n  const onlineProgramsV3Section_universal_d_State: typeof State;\n  type onlineProgramsV3Section_universal_d_CreateSectionRequest = CreateSectionRequest;\n  type onlineProgramsV3Section_universal_d_CreateSectionResponse = CreateSectionResponse;\n  type onlineProgramsV3Section_universal_d_BulkCreateSectionRequest = BulkCreateSectionRequest;\n  type onlineProgramsV3Section_universal_d_BulkCreateSectionResponse = BulkCreateSectionResponse;\n  type onlineProgramsV3Section_universal_d_BulkSectionResult = BulkSectionResult;\n  type onlineProgramsV3Section_universal_d_GetSectionRequest = GetSectionRequest;\n  type onlineProgramsV3Section_universal_d_GetSectionResponse = GetSectionResponse;\n  type onlineProgramsV3Section_universal_d_UpdateSectionRequest = UpdateSectionRequest;\n  type onlineProgramsV3Section_universal_d_UpdateSectionResponse = UpdateSectionResponse;\n  type onlineProgramsV3Section_universal_d_DeleteSectionRequest = DeleteSectionRequest;\n  type onlineProgramsV3Section_universal_d_DeleteSectionResponse = DeleteSectionResponse;\n  type onlineProgramsV3Section_universal_d_DeleteAllProgramSectionsRequest = DeleteAllProgramSectionsRequest;\n  type onlineProgramsV3Section_universal_d_DeleteAllProgramSectionsResponse = DeleteAllProgramSectionsResponse;\n  type onlineProgramsV3Section_universal_d_QuerySectionsRequest = QuerySectionsRequest;\n  type onlineProgramsV3Section_universal_d_QuerySectionsResponse = QuerySectionsResponse;\n  type onlineProgramsV3Section_universal_d_ListSectionsRequest = ListSectionsRequest;\n  type onlineProgramsV3Section_universal_d_ListSectionsResponse = ListSectionsResponse;\n  type onlineProgramsV3Section_universal_d_CloneSectionRequest = CloneSectionRequest;\n  type onlineProgramsV3Section_universal_d_CloneSectionResponse = CloneSectionResponse;\n  type onlineProgramsV3Section_universal_d_MoveSectionRequest = MoveSectionRequest;\n  type onlineProgramsV3Section_universal_d_MoveSectionResponse = MoveSectionResponse;\n  type onlineProgramsV3Section_universal_d_SectionMoved = SectionMoved;\n  type onlineProgramsV3Section_universal_d_PublishSectionRequest = PublishSectionRequest;\n  type onlineProgramsV3Section_universal_d_PublishSectionResponse = PublishSectionResponse;\n  type onlineProgramsV3Section_universal_d_SectionPublished = SectionPublished;\n  type onlineProgramsV3Section_universal_d_BulkCloneSectionRequest = BulkCloneSectionRequest;\n  type onlineProgramsV3Section_universal_d_BulkCloneSectionResponse = BulkCloneSectionResponse;\n  const onlineProgramsV3Section_universal_d_createSection: typeof createSection;\n  const onlineProgramsV3Section_universal_d_bulkCreateSection: typeof bulkCreateSection;\n  const onlineProgramsV3Section_universal_d_getSection: typeof getSection;\n  type onlineProgramsV3Section_universal_d_GetSectionOptions = GetSectionOptions;\n  const onlineProgramsV3Section_universal_d_updateSection: typeof updateSection;\n  type onlineProgramsV3Section_universal_d_UpdateSection = UpdateSection;\n  type onlineProgramsV3Section_universal_d_UpdateSectionOptions = UpdateSectionOptions;\n  const onlineProgramsV3Section_universal_d_deleteSection: typeof deleteSection;\n  const onlineProgramsV3Section_universal_d_deleteAllProgramSections: typeof deleteAllProgramSections;\n  type onlineProgramsV3Section_universal_d_DeleteAllProgramSectionsOptions = DeleteAllProgramSectionsOptions;\n  const onlineProgramsV3Section_universal_d_querySections: typeof querySections;\n  type onlineProgramsV3Section_universal_d_QuerySectionsOptions = QuerySectionsOptions;\n  type onlineProgramsV3Section_universal_d_SectionsQueryResult = SectionsQueryResult;\n  type onlineProgramsV3Section_universal_d_SectionsQueryBuilder = SectionsQueryBuilder;\n  const onlineProgramsV3Section_universal_d_listSections: typeof listSections;\n  type onlineProgramsV3Section_universal_d_ListSectionsOptions = ListSectionsOptions;\n  const onlineProgramsV3Section_universal_d_cloneSection: typeof cloneSection;\n  const onlineProgramsV3Section_universal_d_moveSection: typeof moveSection;\n  type onlineProgramsV3Section_universal_d_MoveSectionOptions = MoveSectionOptions;\n  const onlineProgramsV3Section_universal_d_publishSection: typeof publishSection;\n  type onlineProgramsV3Section_universal_d_PublishSectionOptions = PublishSectionOptions;\n  const onlineProgramsV3Section_universal_d_bulkCloneSection: typeof bulkCloneSection;\n  type onlineProgramsV3Section_universal_d_BulkCloneSectionOptions = BulkCloneSectionOptions;\n  namespace onlineProgramsV3Section_universal_d {\n    export {\n      onlineProgramsV3Section_universal_d_Section as Section,\n      Description$1 as Description,\n      DescriptionMediaOneOf$1 as DescriptionMediaOneOf,\n      VideoResolution$1 as VideoResolution,\n      onlineProgramsV3Section_universal_d_State as State,\n      UpdateDocumentsEvent$1 as UpdateDocumentsEvent,\n      UpdateDocumentsEventOperationOneOf$1 as UpdateDocumentsEventOperationOneOf,\n      DocumentUpdateOperation$1 as DocumentUpdateOperation,\n      IndexDocument$1 as IndexDocument,\n      DocumentPayload$1 as DocumentPayload,\n      DocumentImage$1 as DocumentImage,\n      Enum$1 as Enum,\n      DeleteByIdsOperation$1 as DeleteByIdsOperation,\n      DeleteByFilterOperation$1 as DeleteByFilterOperation,\n      UpdateByFilterOperation$1 as UpdateByFilterOperation,\n      UpdateExistingOperation$1 as UpdateExistingOperation,\n      onlineProgramsV3Section_universal_d_CreateSectionRequest as CreateSectionRequest,\n      onlineProgramsV3Section_universal_d_CreateSectionResponse as CreateSectionResponse,\n      onlineProgramsV3Section_universal_d_BulkCreateSectionRequest as BulkCreateSectionRequest,\n      onlineProgramsV3Section_universal_d_BulkCreateSectionResponse as BulkCreateSectionResponse,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      onlineProgramsV3Section_universal_d_BulkSectionResult as BulkSectionResult,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      onlineProgramsV3Section_universal_d_GetSectionRequest as GetSectionRequest,\n      DescriptionFieldSet$1 as DescriptionFieldSet,\n      onlineProgramsV3Section_universal_d_GetSectionResponse as GetSectionResponse,\n      onlineProgramsV3Section_universal_d_UpdateSectionRequest as UpdateSectionRequest,\n      onlineProgramsV3Section_universal_d_UpdateSectionResponse as UpdateSectionResponse,\n      onlineProgramsV3Section_universal_d_DeleteSectionRequest as DeleteSectionRequest,\n      onlineProgramsV3Section_universal_d_DeleteSectionResponse as DeleteSectionResponse,\n      onlineProgramsV3Section_universal_d_DeleteAllProgramSectionsRequest as DeleteAllProgramSectionsRequest,\n      onlineProgramsV3Section_universal_d_DeleteAllProgramSectionsResponse as DeleteAllProgramSectionsResponse,\n      onlineProgramsV3Section_universal_d_QuerySectionsRequest as QuerySectionsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      onlineProgramsV3Section_universal_d_QuerySectionsResponse as QuerySectionsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      onlineProgramsV3Section_universal_d_ListSectionsRequest as ListSectionsRequest,\n      onlineProgramsV3Section_universal_d_ListSectionsResponse as ListSectionsResponse,\n      onlineProgramsV3Section_universal_d_CloneSectionRequest as CloneSectionRequest,\n      onlineProgramsV3Section_universal_d_CloneSectionResponse as CloneSectionResponse,\n      onlineProgramsV3Section_universal_d_MoveSectionRequest as MoveSectionRequest,\n      onlineProgramsV3Section_universal_d_MoveSectionResponse as MoveSectionResponse,\n      onlineProgramsV3Section_universal_d_SectionMoved as SectionMoved,\n      onlineProgramsV3Section_universal_d_PublishSectionRequest as PublishSectionRequest,\n      onlineProgramsV3Section_universal_d_PublishSectionResponse as PublishSectionResponse,\n      onlineProgramsV3Section_universal_d_SectionPublished as SectionPublished,\n      onlineProgramsV3Section_universal_d_BulkCloneSectionRequest as BulkCloneSectionRequest,\n      onlineProgramsV3Section_universal_d_BulkCloneSectionResponse as BulkCloneSectionResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      Empty$1 as Empty,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      onlineProgramsV3Section_universal_d_createSection as createSection,\n      onlineProgramsV3Section_universal_d_bulkCreateSection as bulkCreateSection,\n      onlineProgramsV3Section_universal_d_getSection as getSection,\n      onlineProgramsV3Section_universal_d_GetSectionOptions as GetSectionOptions,\n      onlineProgramsV3Section_universal_d_updateSection as updateSection,\n      onlineProgramsV3Section_universal_d_UpdateSection as UpdateSection,\n      onlineProgramsV3Section_universal_d_UpdateSectionOptions as UpdateSectionOptions,\n      onlineProgramsV3Section_universal_d_deleteSection as deleteSection,\n      onlineProgramsV3Section_universal_d_deleteAllProgramSections as deleteAllProgramSections,\n      onlineProgramsV3Section_universal_d_DeleteAllProgramSectionsOptions as DeleteAllProgramSectionsOptions,\n      onlineProgramsV3Section_universal_d_querySections as querySections,\n      onlineProgramsV3Section_universal_d_QuerySectionsOptions as QuerySectionsOptions,\n      onlineProgramsV3Section_universal_d_SectionsQueryResult as SectionsQueryResult,\n      onlineProgramsV3Section_universal_d_SectionsQueryBuilder as SectionsQueryBuilder,\n      onlineProgramsV3Section_universal_d_listSections as listSections,\n      onlineProgramsV3Section_universal_d_ListSectionsOptions as ListSectionsOptions,\n      onlineProgramsV3Section_universal_d_cloneSection as cloneSection,\n      onlineProgramsV3Section_universal_d_moveSection as moveSection,\n      onlineProgramsV3Section_universal_d_MoveSectionOptions as MoveSectionOptions,\n      onlineProgramsV3Section_universal_d_publishSection as publishSection,\n      onlineProgramsV3Section_universal_d_PublishSectionOptions as PublishSectionOptions,\n      onlineProgramsV3Section_universal_d_bulkCloneSection as bulkCloneSection,\n      onlineProgramsV3Section_universal_d_BulkCloneSectionOptions as BulkCloneSectionOptions,\n    };\n  }\n  \n  interface Step extends StepStepTypeOptionsOneOf {\n      /** options of video step. */\n      videoOptions?: VideoOptions;\n      /** options of quiz step. */\n      quizOptions?: QuizOptions;\n      /**\n       * Program Task ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Task was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Task was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** id of the owning section. */\n      sectionId?: string;\n      /** title, description and media content. */\n      description?: Description;\n      /** field for manual ordering of steps */\n      ordering?: number;\n      stepType?: StepType;\n  }\n  /** @oneof */\n  interface StepStepTypeOptionsOneOf {\n      /** options of video step. */\n      videoOptions?: VideoOptions;\n      /** options of quiz step. */\n      quizOptions?: QuizOptions;\n  }\n  interface WixVideo {\n      _id?: string;\n      paid?: boolean;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface Description extends DescriptionMediaOneOf {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n      title?: string;\n      details?: string | null;\n  }\n  /** @oneof */\n  interface DescriptionMediaOneOf {\n      /** WixMedia image */\n      image?: string;\n      /** WixMedia video */\n      video?: string;\n  }\n  enum StepType {\n      ARTICLE = \"ARTICLE\",\n      VIDEO = \"VIDEO\",\n      QUIZ = \"QUIZ\"\n  }\n  interface VideoOptions extends VideoOptionsVideoSourceOneOf {\n      wixVideo?: WixVideo;\n      video?: string;\n      requiredCompletionPercentage?: number;\n      coverImage?: string;\n      durationInMilliseconds?: number | null;\n      deleted?: boolean;\n  }\n  /** @oneof */\n  interface VideoOptionsVideoSourceOneOf {\n      wixVideo?: WixVideo;\n      video?: string;\n  }\n  interface QuizOptions {\n      /** quiz id */\n      _id?: string;\n      /**\n       * number of questions inside the quiz\n       * @readonly\n       */\n      totalQuestions?: number;\n      /**\n       * percentage of right answers to complete the quiz.\n       * @readonly\n       */\n      passingGrade?: number | null;\n  }\n  interface UpdateDocumentsEvent extends UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n      /** application which owns documents */\n      appDefId?: string | null;\n      /** type of the documents */\n      documentType?: string | null;\n      /** language of the documents */\n      language?: string | null;\n      /** site documents belong to */\n      msId?: string | null;\n  }\n  /** @oneof */\n  interface UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n  }\n  interface DocumentUpdateOperation {\n      /** documents to index or update */\n      documents?: IndexDocument[];\n  }\n  interface IndexDocument {\n      /** data bag with non-searchable fields (url, image) */\n      payload?: DocumentPayload;\n      /** what type of users should documents be visible to */\n      exposure?: Enum;\n      /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n      /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */\n      permittedMemberGroups?: string[];\n      /** if true SEO is disabled for this document */\n      seoHidden?: boolean | null;\n      /** if true the page is a lightbox popup */\n      isPopup?: boolean | null;\n  }\n  interface DocumentPayload {\n      /** url of the page representing the document */\n      url?: string | null;\n      /** image which represents the document */\n      documentImage?: DocumentImage;\n  }\n  interface DocumentImage {\n      /** the name of the image */\n      name?: string;\n      /** the width of the image */\n      width?: number;\n      /** the height of the image */\n      height?: number;\n  }\n  enum Enum {\n      /** Default value. Means that permission not set */\n      UNKNOWN = \"UNKNOWN\",\n      /** Protected exposure. Exposed to members and owners */\n      PROTECTED = \"PROTECTED\",\n      /** Private exposure. Exposed to owners */\n      PRIVATE = \"PRIVATE\",\n      /** Public exposure. Visible to everyone */\n      PUBLIC = \"PUBLIC\",\n      /** Used for partial updates, to state that exposure is not changing */\n      UNCHANGED = \"UNCHANGED\",\n      /** Protected to members of permitted groups and owners */\n      GROUP_PROTECTED = \"GROUP_PROTECTED\"\n  }\n  interface DeleteByIdsOperation {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface DeleteByFilterOperation {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface UpdateByFilterOperation {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: IndexDocument;\n  }\n  interface UpdateExistingOperation {\n      /** documents to update */\n      documents?: IndexDocument[];\n  }\n  interface CreateStepRequest {\n      /** Step to be created. */\n      step: Step;\n      programId?: string;\n  }\n  interface CreateStepResponse {\n      /** The created Step. */\n      step?: Step;\n  }\n  interface BulkCreateStepRequest {\n      /** List of steps you want to create */\n      steps: Step[];\n      returnEntity?: boolean;\n      programId?: string;\n  }\n  interface BulkCreateStepResponse {\n      results?: BulkStepResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkStepResult {\n      itemMetadata?: ItemMetadata;\n      item?: Step;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkCreateStepMigrationRequest {\n      /** List of steps you want to create */\n      steps: Step[];\n      programId?: string;\n  }\n  interface BulkCreateStepMigrationResponse {\n      results?: BulkStepResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface GetStepRequest {\n      /** ID of the Step to retrieve. */\n      stepId: string;\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  enum DescriptionFieldSet {\n      STANDARD = \"STANDARD\",\n      EXTENDED = \"EXTENDED\"\n  }\n  interface GetStepResponse {\n      /** The requested Step. */\n      step?: Step;\n  }\n  interface UpdateStepRequest {\n      /** Step to be updated, may be partial. */\n      step: Step;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateStepResponse {\n      /** Updated Step. */\n      step?: Step;\n  }\n  interface DeleteStepRequest {\n      /** Id of the Step to delete. */\n      stepId: string;\n  }\n  interface DeleteStepResponse {\n  }\n  interface QueryStepsRequest {\n      /** WQL expression. */\n      query?: CursorQuery;\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryStepsResponse {\n      /** List of Steps. */\n      steps?: Step[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryStepsWithoutPagingRequest {\n      /** WQL expression. Cursor paging is not supported in this endpoint. */\n      query?: CursorQuery;\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  interface QueryStepsWithoutPagingResponse {\n      /** List of Steps. */\n      steps?: Step[];\n  }\n  interface ListAllProgramStepsRequest {\n      /** program id of requested steps */\n      programId?: string;\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  interface ListAllProgramStepsResponse {\n      /** List of Steps. */\n      steps?: Step[];\n  }\n  interface DeleteAllProgramStepsRequest {\n      /** Program id to delete steps from */\n      programId?: string;\n  }\n  interface DeleteAllProgramStepsResponse {\n      /** Total count of steps in the program */\n      stepsTotal?: number;\n      /** Count of successfully deleted steps */\n      successfulCount?: number;\n      /** Count of steps that failed to be deleted */\n      failedCount?: number;\n  }\n  interface BulkCloneStepRequest {\n      /** id of program which was cloned */\n      prototypeProgramId?: string;\n      /** id of program which was cloned */\n      clonedProgramId?: string;\n      /** mapping of original to cloned section ids */\n      prototypeIdToClonedId?: Record<string, string>;\n  }\n  interface BulkCloneStepResponse {\n      /** ids of newly created steps */\n      createdStepIds?: string[];\n  }\n  interface MoveStepRequest {\n      /** what step to move */\n      stepId: string;\n      /** target section (keep the same or move step to a different one) */\n      sectionId: string;\n      /** insert after this step id (can be empty if it's the first position in the section) */\n      afterStepId?: string | null;\n      revision?: string;\n  }\n  interface MoveStepResponse {\n      step?: Step;\n  }\n  interface StepMoved {\n      /** target section id */\n      sectionId?: string;\n      /** what step to move */\n      stepId?: string;\n      /** new step position */\n      newPosition?: number;\n  }\n  interface CloneStepRequest {\n      /** what step to clone */\n      stepId: string;\n  }\n  interface CloneStepResponse {\n      /** created step. */\n      step?: Step;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a Step.\n   * @param step - Step to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField step\n   * @adminMethod\n   * @returns The created Step.\n   */\n  function createStep(step: Step, options?: CreateStepOptions): Promise<Step>;\n  interface CreateStepOptions {\n      programId?: string;\n  }\n  /** @param steps - List of steps you want to create\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField steps\n   * @adminMethod\n   */\n  function bulkCreateStep(steps: Step[], options?: BulkCreateStepOptions): Promise<BulkCreateStepResponse>;\n  interface BulkCreateStepOptions {\n      returnEntity?: boolean;\n      programId?: string;\n  }\n  /** @param steps - List of steps you want to create\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField steps\n   * @adminMethod\n   */\n  function bulkCreateStepMigration(steps: Step[], options?: BulkCreateStepMigrationOptions): Promise<BulkCreateStepMigrationResponse>;\n  interface BulkCreateStepMigrationOptions {\n      programId?: string;\n  }\n  /**\n   * Retrieves a Step.\n   * @param stepId - ID of the Step to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField stepId\n   * @returns The requested Step.\n   */\n  function getStep(stepId: string, options?: GetStepOptions): Promise<Step>;\n  interface GetStepOptions {\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  /**\n   * Update Step.\n   * @param _id - Program Task ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField step\n   * @requiredField step.revision\n   * @adminMethod\n   * @returns Updated Step.\n   */\n  function updateStep(_id: string | null, step: UpdateStep, options?: UpdateStepOptions): Promise<Step>;\n  interface UpdateStep {\n      /** options of video step. */\n      videoOptions?: VideoOptions;\n      /** options of quiz step. */\n      quizOptions?: QuizOptions;\n      /**\n       * Program Task ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Task was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Task was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** id of the owning section. */\n      sectionId?: string;\n      /** title, description and media content. */\n      description?: Description;\n      /** field for manual ordering of steps */\n      ordering?: number;\n      stepType?: StepType;\n  }\n  interface UpdateStepOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a Step.\n   * Deleting a Step permanently removes them from the Step List.\n   * @param stepId - Id of the Step to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField stepId\n   * @adminMethod\n   */\n  function deleteStep(stepId: string): Promise<void>;\n  /**\n   * Query steps.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function querySteps(options?: QueryStepsOptions): Promise<QueryStepsResponse>;\n  interface QueryStepsOptions {\n      /** WQL expression. */\n      query?: CursorQuery;\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId ONLINE_PROGRAMS.STEP_READ\n   */\n  function queryStepsWithoutPaging(options?: QueryStepsWithoutPagingOptions): StepsQueryBuilder;\n  interface QueryStepsWithoutPagingOptions {\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface StepsQueryResult extends QueryCursorResult {\n      items: Step[];\n      query: StepsQueryBuilder;\n      next: () => Promise<StepsQueryResult>;\n      prev: () => Promise<StepsQueryResult>;\n  }\n  interface StepsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'sectionId', value: any) => StepsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id', value: any) => StepsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'sectionId', value: any) => StepsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id'>) => StepsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id'>) => StepsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => StepsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => StepsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<StepsQueryResult>;\n  }\n  /**\n   * List all program steps without paging\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listAllProgramSteps(options?: ListAllProgramStepsOptions): Promise<ListAllProgramStepsResponse>;\n  interface ListAllProgramStepsOptions {\n      /** program id of requested steps */\n      programId?: string;\n      /** Whenever to return description only with title or with details as well */\n      descriptionFieldSet?: DescriptionFieldSet;\n  }\n  /**\n   * Delete all program steps\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function deleteAllProgramSteps(options?: DeleteAllProgramStepsOptions): Promise<DeleteAllProgramStepsResponse>;\n  interface DeleteAllProgramStepsOptions {\n      /** Program id to delete steps from */\n      programId?: string;\n  }\n  /**\n   * Clones all steps of prototype program\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function bulkCloneStep(options?: BulkCloneStepOptions): Promise<BulkCloneStepResponse>;\n  interface BulkCloneStepOptions {\n      /** id of program which was cloned */\n      prototypeProgramId?: string;\n      /** id of program which was cloned */\n      clonedProgramId?: string;\n      /** mapping of original to cloned section ids */\n      prototypeIdToClonedId?: Record<string, string>;\n  }\n  /**\n   * Change Step position.\n   * @param stepId - what step to move\n   * @param sectionId - target section (keep the same or move step to a different one)\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sectionId\n   * @requiredField stepId\n   * @adminMethod\n   */\n  function moveStep(stepId: string, sectionId: string, options?: MoveStepOptions): Promise<MoveStepResponse>;\n  interface MoveStepOptions {\n      /** insert after this step id (can be empty if it's the first position in the section) */\n      afterStepId?: string | null;\n      revision?: string;\n  }\n  /**\n   * Clone Step.\n   * @param stepId - what step to clone\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField stepId\n   * @adminMethod\n   */\n  function cloneStep(stepId: string): Promise<CloneStepResponse>;\n  \n  type onlineProgramsV3Step_universal_d_Step = Step;\n  type onlineProgramsV3Step_universal_d_StepStepTypeOptionsOneOf = StepStepTypeOptionsOneOf;\n  type onlineProgramsV3Step_universal_d_WixVideo = WixVideo;\n  type onlineProgramsV3Step_universal_d_VideoResolution = VideoResolution;\n  type onlineProgramsV3Step_universal_d_Description = Description;\n  type onlineProgramsV3Step_universal_d_DescriptionMediaOneOf = DescriptionMediaOneOf;\n  type onlineProgramsV3Step_universal_d_StepType = StepType;\n  const onlineProgramsV3Step_universal_d_StepType: typeof StepType;\n  type onlineProgramsV3Step_universal_d_VideoOptions = VideoOptions;\n  type onlineProgramsV3Step_universal_d_VideoOptionsVideoSourceOneOf = VideoOptionsVideoSourceOneOf;\n  type onlineProgramsV3Step_universal_d_QuizOptions = QuizOptions;\n  type onlineProgramsV3Step_universal_d_UpdateDocumentsEvent = UpdateDocumentsEvent;\n  type onlineProgramsV3Step_universal_d_UpdateDocumentsEventOperationOneOf = UpdateDocumentsEventOperationOneOf;\n  type onlineProgramsV3Step_universal_d_DocumentUpdateOperation = DocumentUpdateOperation;\n  type onlineProgramsV3Step_universal_d_IndexDocument = IndexDocument;\n  type onlineProgramsV3Step_universal_d_DocumentPayload = DocumentPayload;\n  type onlineProgramsV3Step_universal_d_DocumentImage = DocumentImage;\n  type onlineProgramsV3Step_universal_d_Enum = Enum;\n  const onlineProgramsV3Step_universal_d_Enum: typeof Enum;\n  type onlineProgramsV3Step_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n  type onlineProgramsV3Step_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n  type onlineProgramsV3Step_universal_d_UpdateByFilterOperation = UpdateByFilterOperation;\n  type onlineProgramsV3Step_universal_d_UpdateExistingOperation = UpdateExistingOperation;\n  type onlineProgramsV3Step_universal_d_CreateStepRequest = CreateStepRequest;\n  type onlineProgramsV3Step_universal_d_CreateStepResponse = CreateStepResponse;\n  type onlineProgramsV3Step_universal_d_BulkCreateStepRequest = BulkCreateStepRequest;\n  type onlineProgramsV3Step_universal_d_BulkCreateStepResponse = BulkCreateStepResponse;\n  type onlineProgramsV3Step_universal_d_BulkStepResult = BulkStepResult;\n  type onlineProgramsV3Step_universal_d_ItemMetadata = ItemMetadata;\n  type onlineProgramsV3Step_universal_d_ApplicationError = ApplicationError;\n  type onlineProgramsV3Step_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type onlineProgramsV3Step_universal_d_BulkCreateStepMigrationRequest = BulkCreateStepMigrationRequest;\n  type onlineProgramsV3Step_universal_d_BulkCreateStepMigrationResponse = BulkCreateStepMigrationResponse;\n  type onlineProgramsV3Step_universal_d_GetStepRequest = GetStepRequest;\n  type onlineProgramsV3Step_universal_d_DescriptionFieldSet = DescriptionFieldSet;\n  const onlineProgramsV3Step_universal_d_DescriptionFieldSet: typeof DescriptionFieldSet;\n  type onlineProgramsV3Step_universal_d_GetStepResponse = GetStepResponse;\n  type onlineProgramsV3Step_universal_d_UpdateStepRequest = UpdateStepRequest;\n  type onlineProgramsV3Step_universal_d_UpdateStepResponse = UpdateStepResponse;\n  type onlineProgramsV3Step_universal_d_DeleteStepRequest = DeleteStepRequest;\n  type onlineProgramsV3Step_universal_d_DeleteStepResponse = DeleteStepResponse;\n  type onlineProgramsV3Step_universal_d_QueryStepsRequest = QueryStepsRequest;\n  type onlineProgramsV3Step_universal_d_CursorQuery = CursorQuery;\n  type onlineProgramsV3Step_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type onlineProgramsV3Step_universal_d_Sorting = Sorting;\n  type onlineProgramsV3Step_universal_d_SortOrder = SortOrder;\n  const onlineProgramsV3Step_universal_d_SortOrder: typeof SortOrder;\n  type onlineProgramsV3Step_universal_d_CursorPaging = CursorPaging;\n  type onlineProgramsV3Step_universal_d_QueryStepsResponse = QueryStepsResponse;\n  type onlineProgramsV3Step_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type onlineProgramsV3Step_universal_d_Cursors = Cursors;\n  type onlineProgramsV3Step_universal_d_QueryStepsWithoutPagingRequest = QueryStepsWithoutPagingRequest;\n  type onlineProgramsV3Step_universal_d_QueryStepsWithoutPagingResponse = QueryStepsWithoutPagingResponse;\n  type onlineProgramsV3Step_universal_d_ListAllProgramStepsRequest = ListAllProgramStepsRequest;\n  type onlineProgramsV3Step_universal_d_ListAllProgramStepsResponse = ListAllProgramStepsResponse;\n  type onlineProgramsV3Step_universal_d_DeleteAllProgramStepsRequest = DeleteAllProgramStepsRequest;\n  type onlineProgramsV3Step_universal_d_DeleteAllProgramStepsResponse = DeleteAllProgramStepsResponse;\n  type onlineProgramsV3Step_universal_d_BulkCloneStepRequest = BulkCloneStepRequest;\n  type onlineProgramsV3Step_universal_d_BulkCloneStepResponse = BulkCloneStepResponse;\n  type onlineProgramsV3Step_universal_d_MoveStepRequest = MoveStepRequest;\n  type onlineProgramsV3Step_universal_d_MoveStepResponse = MoveStepResponse;\n  type onlineProgramsV3Step_universal_d_StepMoved = StepMoved;\n  type onlineProgramsV3Step_universal_d_CloneStepRequest = CloneStepRequest;\n  type onlineProgramsV3Step_universal_d_CloneStepResponse = CloneStepResponse;\n  type onlineProgramsV3Step_universal_d_DomainEvent = DomainEvent;\n  type onlineProgramsV3Step_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type onlineProgramsV3Step_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type onlineProgramsV3Step_universal_d_RestoreInfo = RestoreInfo;\n  type onlineProgramsV3Step_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type onlineProgramsV3Step_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type onlineProgramsV3Step_universal_d_ActionEvent = ActionEvent;\n  type onlineProgramsV3Step_universal_d_Empty = Empty;\n  type onlineProgramsV3Step_universal_d_MessageEnvelope = MessageEnvelope;\n  type onlineProgramsV3Step_universal_d_IdentificationData = IdentificationData;\n  type onlineProgramsV3Step_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type onlineProgramsV3Step_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const onlineProgramsV3Step_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const onlineProgramsV3Step_universal_d_createStep: typeof createStep;\n  type onlineProgramsV3Step_universal_d_CreateStepOptions = CreateStepOptions;\n  const onlineProgramsV3Step_universal_d_bulkCreateStep: typeof bulkCreateStep;\n  type onlineProgramsV3Step_universal_d_BulkCreateStepOptions = BulkCreateStepOptions;\n  const onlineProgramsV3Step_universal_d_bulkCreateStepMigration: typeof bulkCreateStepMigration;\n  type onlineProgramsV3Step_universal_d_BulkCreateStepMigrationOptions = BulkCreateStepMigrationOptions;\n  const onlineProgramsV3Step_universal_d_getStep: typeof getStep;\n  type onlineProgramsV3Step_universal_d_GetStepOptions = GetStepOptions;\n  const onlineProgramsV3Step_universal_d_updateStep: typeof updateStep;\n  type onlineProgramsV3Step_universal_d_UpdateStep = UpdateStep;\n  type onlineProgramsV3Step_universal_d_UpdateStepOptions = UpdateStepOptions;\n  const onlineProgramsV3Step_universal_d_deleteStep: typeof deleteStep;\n  const onlineProgramsV3Step_universal_d_querySteps: typeof querySteps;\n  type onlineProgramsV3Step_universal_d_QueryStepsOptions = QueryStepsOptions;\n  const onlineProgramsV3Step_universal_d_queryStepsWithoutPaging: typeof queryStepsWithoutPaging;\n  type onlineProgramsV3Step_universal_d_QueryStepsWithoutPagingOptions = QueryStepsWithoutPagingOptions;\n  type onlineProgramsV3Step_universal_d_StepsQueryResult = StepsQueryResult;\n  type onlineProgramsV3Step_universal_d_StepsQueryBuilder = StepsQueryBuilder;\n  const onlineProgramsV3Step_universal_d_listAllProgramSteps: typeof listAllProgramSteps;\n  type onlineProgramsV3Step_universal_d_ListAllProgramStepsOptions = ListAllProgramStepsOptions;\n  const onlineProgramsV3Step_universal_d_deleteAllProgramSteps: typeof deleteAllProgramSteps;\n  type onlineProgramsV3Step_universal_d_DeleteAllProgramStepsOptions = DeleteAllProgramStepsOptions;\n  const onlineProgramsV3Step_universal_d_bulkCloneStep: typeof bulkCloneStep;\n  type onlineProgramsV3Step_universal_d_BulkCloneStepOptions = BulkCloneStepOptions;\n  const onlineProgramsV3Step_universal_d_moveStep: typeof moveStep;\n  type onlineProgramsV3Step_universal_d_MoveStepOptions = MoveStepOptions;\n  const onlineProgramsV3Step_universal_d_cloneStep: typeof cloneStep;\n  namespace onlineProgramsV3Step_universal_d {\n    export {\n      onlineProgramsV3Step_universal_d_Step as Step,\n      onlineProgramsV3Step_universal_d_StepStepTypeOptionsOneOf as StepStepTypeOptionsOneOf,\n      onlineProgramsV3Step_universal_d_WixVideo as WixVideo,\n      onlineProgramsV3Step_universal_d_VideoResolution as VideoResolution,\n      onlineProgramsV3Step_universal_d_Description as Description,\n      onlineProgramsV3Step_universal_d_DescriptionMediaOneOf as DescriptionMediaOneOf,\n      onlineProgramsV3Step_universal_d_StepType as StepType,\n      onlineProgramsV3Step_universal_d_VideoOptions as VideoOptions,\n      onlineProgramsV3Step_universal_d_VideoOptionsVideoSourceOneOf as VideoOptionsVideoSourceOneOf,\n      onlineProgramsV3Step_universal_d_QuizOptions as QuizOptions,\n      onlineProgramsV3Step_universal_d_UpdateDocumentsEvent as UpdateDocumentsEvent,\n      onlineProgramsV3Step_universal_d_UpdateDocumentsEventOperationOneOf as UpdateDocumentsEventOperationOneOf,\n      onlineProgramsV3Step_universal_d_DocumentUpdateOperation as DocumentUpdateOperation,\n      onlineProgramsV3Step_universal_d_IndexDocument as IndexDocument,\n      onlineProgramsV3Step_universal_d_DocumentPayload as DocumentPayload,\n      onlineProgramsV3Step_universal_d_DocumentImage as DocumentImage,\n      onlineProgramsV3Step_universal_d_Enum as Enum,\n      onlineProgramsV3Step_universal_d_DeleteByIdsOperation as DeleteByIdsOperation,\n      onlineProgramsV3Step_universal_d_DeleteByFilterOperation as DeleteByFilterOperation,\n      onlineProgramsV3Step_universal_d_UpdateByFilterOperation as UpdateByFilterOperation,\n      onlineProgramsV3Step_universal_d_UpdateExistingOperation as UpdateExistingOperation,\n      onlineProgramsV3Step_universal_d_CreateStepRequest as CreateStepRequest,\n      onlineProgramsV3Step_universal_d_CreateStepResponse as CreateStepResponse,\n      onlineProgramsV3Step_universal_d_BulkCreateStepRequest as BulkCreateStepRequest,\n      onlineProgramsV3Step_universal_d_BulkCreateStepResponse as BulkCreateStepResponse,\n      onlineProgramsV3Step_universal_d_BulkStepResult as BulkStepResult,\n      onlineProgramsV3Step_universal_d_ItemMetadata as ItemMetadata,\n      onlineProgramsV3Step_universal_d_ApplicationError as ApplicationError,\n      onlineProgramsV3Step_universal_d_BulkActionMetadata as BulkActionMetadata,\n      onlineProgramsV3Step_universal_d_BulkCreateStepMigrationRequest as BulkCreateStepMigrationRequest,\n      onlineProgramsV3Step_universal_d_BulkCreateStepMigrationResponse as BulkCreateStepMigrationResponse,\n      onlineProgramsV3Step_universal_d_GetStepRequest as GetStepRequest,\n      onlineProgramsV3Step_universal_d_DescriptionFieldSet as DescriptionFieldSet,\n      onlineProgramsV3Step_universal_d_GetStepResponse as GetStepResponse,\n      onlineProgramsV3Step_universal_d_UpdateStepRequest as UpdateStepRequest,\n      onlineProgramsV3Step_universal_d_UpdateStepResponse as UpdateStepResponse,\n      onlineProgramsV3Step_universal_d_DeleteStepRequest as DeleteStepRequest,\n      onlineProgramsV3Step_universal_d_DeleteStepResponse as DeleteStepResponse,\n      onlineProgramsV3Step_universal_d_QueryStepsRequest as QueryStepsRequest,\n      onlineProgramsV3Step_universal_d_CursorQuery as CursorQuery,\n      onlineProgramsV3Step_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      onlineProgramsV3Step_universal_d_Sorting as Sorting,\n      onlineProgramsV3Step_universal_d_SortOrder as SortOrder,\n      onlineProgramsV3Step_universal_d_CursorPaging as CursorPaging,\n      onlineProgramsV3Step_universal_d_QueryStepsResponse as QueryStepsResponse,\n      onlineProgramsV3Step_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      onlineProgramsV3Step_universal_d_Cursors as Cursors,\n      onlineProgramsV3Step_universal_d_QueryStepsWithoutPagingRequest as QueryStepsWithoutPagingRequest,\n      onlineProgramsV3Step_universal_d_QueryStepsWithoutPagingResponse as QueryStepsWithoutPagingResponse,\n      onlineProgramsV3Step_universal_d_ListAllProgramStepsRequest as ListAllProgramStepsRequest,\n      onlineProgramsV3Step_universal_d_ListAllProgramStepsResponse as ListAllProgramStepsResponse,\n      onlineProgramsV3Step_universal_d_DeleteAllProgramStepsRequest as DeleteAllProgramStepsRequest,\n      onlineProgramsV3Step_universal_d_DeleteAllProgramStepsResponse as DeleteAllProgramStepsResponse,\n      onlineProgramsV3Step_universal_d_BulkCloneStepRequest as BulkCloneStepRequest,\n      onlineProgramsV3Step_universal_d_BulkCloneStepResponse as BulkCloneStepResponse,\n      onlineProgramsV3Step_universal_d_MoveStepRequest as MoveStepRequest,\n      onlineProgramsV3Step_universal_d_MoveStepResponse as MoveStepResponse,\n      onlineProgramsV3Step_universal_d_StepMoved as StepMoved,\n      onlineProgramsV3Step_universal_d_CloneStepRequest as CloneStepRequest,\n      onlineProgramsV3Step_universal_d_CloneStepResponse as CloneStepResponse,\n      onlineProgramsV3Step_universal_d_DomainEvent as DomainEvent,\n      onlineProgramsV3Step_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      onlineProgramsV3Step_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      onlineProgramsV3Step_universal_d_RestoreInfo as RestoreInfo,\n      onlineProgramsV3Step_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      onlineProgramsV3Step_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      onlineProgramsV3Step_universal_d_ActionEvent as ActionEvent,\n      onlineProgramsV3Step_universal_d_Empty as Empty,\n      onlineProgramsV3Step_universal_d_MessageEnvelope as MessageEnvelope,\n      onlineProgramsV3Step_universal_d_IdentificationData as IdentificationData,\n      onlineProgramsV3Step_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      onlineProgramsV3Step_universal_d_WebhookIdentityType as WebhookIdentityType,\n      onlineProgramsV3Step_universal_d_createStep as createStep,\n      onlineProgramsV3Step_universal_d_CreateStepOptions as CreateStepOptions,\n      onlineProgramsV3Step_universal_d_bulkCreateStep as bulkCreateStep,\n      onlineProgramsV3Step_universal_d_BulkCreateStepOptions as BulkCreateStepOptions,\n      onlineProgramsV3Step_universal_d_bulkCreateStepMigration as bulkCreateStepMigration,\n      onlineProgramsV3Step_universal_d_BulkCreateStepMigrationOptions as BulkCreateStepMigrationOptions,\n      onlineProgramsV3Step_universal_d_getStep as getStep,\n      onlineProgramsV3Step_universal_d_GetStepOptions as GetStepOptions,\n      onlineProgramsV3Step_universal_d_updateStep as updateStep,\n      onlineProgramsV3Step_universal_d_UpdateStep as UpdateStep,\n      onlineProgramsV3Step_universal_d_UpdateStepOptions as UpdateStepOptions,\n      onlineProgramsV3Step_universal_d_deleteStep as deleteStep,\n      onlineProgramsV3Step_universal_d_querySteps as querySteps,\n      onlineProgramsV3Step_universal_d_QueryStepsOptions as QueryStepsOptions,\n      onlineProgramsV3Step_universal_d_queryStepsWithoutPaging as queryStepsWithoutPaging,\n      onlineProgramsV3Step_universal_d_QueryStepsWithoutPagingOptions as QueryStepsWithoutPagingOptions,\n      onlineProgramsV3Step_universal_d_StepsQueryResult as StepsQueryResult,\n      onlineProgramsV3Step_universal_d_StepsQueryBuilder as StepsQueryBuilder,\n      onlineProgramsV3Step_universal_d_listAllProgramSteps as listAllProgramSteps,\n      onlineProgramsV3Step_universal_d_ListAllProgramStepsOptions as ListAllProgramStepsOptions,\n      onlineProgramsV3Step_universal_d_deleteAllProgramSteps as deleteAllProgramSteps,\n      onlineProgramsV3Step_universal_d_DeleteAllProgramStepsOptions as DeleteAllProgramStepsOptions,\n      onlineProgramsV3Step_universal_d_bulkCloneStep as bulkCloneStep,\n      onlineProgramsV3Step_universal_d_BulkCloneStepOptions as BulkCloneStepOptions,\n      onlineProgramsV3Step_universal_d_moveStep as moveStep,\n      onlineProgramsV3Step_universal_d_MoveStepOptions as MoveStepOptions,\n      onlineProgramsV3Step_universal_d_cloneStep as cloneStep,\n    };\n  }\n  \n  export { achievementsCategoriesV3Category_universal_d as categories, achievementsInstructorsV2Instructor_universal_d as instructors, onlineProgramsV3Participant_universal_d as participants, onlineProgramsV3Program_universal_d as programs, achievementsQuizzesV1Quiz_universal_d as quizzes, onlineProgramsV3Section_universal_d as sections, onlineProgramsV3Step_universal_d as steps };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-automations-v1-velo-action-provider.d.ts",
      "content": "declare module \"interfaces-automations-v1-velo-action-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface InvokeRequest {\n      /** payload */\n      payload: Record<string, any> | null;\n  }\n  interface InvokeResponse {\n      /** The result of executing this velo action */\n      result?: Record<string, any> | null;\n  }\n  interface VeloActionConfig {\n      baseUri?: SpiBaseUri;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface InvokeOptions {\n      /** payload */\n      payload: Record<string, any> | null;\n  }\n  \n  export { AlternativeUri, BusinessError, Context, IdentificationData, IdentificationDataIdOneOf, IdentityType, InvokeOptions, InvokeRequest, InvokeResponse, SpiBaseUri, VeloActionConfig };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-custom-fields-schema.v2.d.ts",
      "content": "declare module \"wix-custom-fields-schema.v2\" {\n  interface DataExtensionSchema {\n      /**\n       * Schema ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** FQDN of the entity this schema extends. */\n      fqdn?: string | null;\n      /**\n       * Namespace for this schema. For example, an app creating schemas might use their app name as a namespace.\n       * When a site owner creates a user-defined schema, the namespace is: `_user_fields`.\n       */\n      namespace?: string | null;\n      /**\n       * Schema definition in [JSON schema format](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/the-json-schema) with the following [vocab](https://docs.json-everything.net/schema/vocabs/) extension:\n       * ```\n       * {\n       * \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n       * \"$id\": \"https://wixapis.com/v1/json-schema/extensions\",\n       * \"$vocabulary\": {\n       * \"https://wixapis.com/v1/json-schema/extensions/vocab/data-extensions\": true\n       * },\n       * \"$dynamicAnchor\": \"meta\",\n       * \"title\": \"Wix' data-extensions vocabulary meta schema\",\n       * \"type\": [\n       * \"object\",\n       * \"boolean\"\n       * ],\n       * \"properties\": {\n       * \"x-wix-permissions\": {\n       * \"type\": \"object\",\n       * \"description\": \"list of identity types that are allowed reading schema properties\",\n       * \"properties\": {\n       * \"read\": {\n       * \"type\": \"array\",\n       * \"items\": {\n       * \"type\": \"string\",\n       * \"enum\": [\n       * \"apps\",\n       * \"owning-app\",\n       * \"users\",\n       * \"users-of-users\"\n       * ]\n       * }\n       * },\n       * \"write\": {\n       * \"type\": \"array\",\n       * \"items\": {\n       * \"type\": \"string\",\n       * \"enum\": [\n       * \"apps\",\n       * \"owning-app\",\n       * \"users\",\n       * \"users-of-users\"\n       * ]\n       * }\n       * }\n       * }\n       * },\n       * \"x-wix-display\": {\n       * \"type\": \"object\",\n       * \"description\": \"field display properties\",\n       * \"schema\": {\n       * \"properties\": {\n       * \"placeholder\": {\n       * \"type\": \"string\",\n       * \"maxLength\": 255,\n       * \"description\": \"placeholder text for input fields\"\n       * },\n       * \"label\": {\n       * \"type\": \"string\",\n       * \"maxLength\": 255,\n       * \"description\": \"label of the input fields\"\n       * },\n       * \"hint\": {\n       * \"type\": \"string\",\n       * \"maxLength\": 255,\n       * \"description\": \"a short explanation that appears next to the input field\"\n       * }\n       * }\n       * }\n       * }\n       * }\n       * }\n       * ```\n       */\n      jsonSchema?: Record<string, any> | null;\n      /**\n       * Date and time the schema was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Date and time the schema was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Revision number, which increments by 1 each time the schema is updated. To prevent conflicting changes, the existing revision must be used when updating a schema.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * app def if of the app in the given namespace\n       * @internal\n       * @readonly\n       */\n      appDefId?: string | null;\n      /**\n       * Maximum allowed schema size in bytes.\n       * @readonly\n       */\n      maxLimitBytes?: number | null;\n      /**\n       * Current schema size in bytes.\n       * @readonly\n       */\n      currentSizeBytes?: number | null;\n      /** Name of the specific entity field this schema is extending, or `\"ROOT\"` for extensions for the entire entity. Default: `\"ROOT\"`. */\n      extensionPoint?: string;\n  }\n  interface ReindexEvent {\n      /** fqdn of the dext schema that needs reindexing */\n      fqdn?: string;\n      /** List of fields that needs reindexing */\n      fields?: ReindexField[];\n  }\n  interface ReindexField {\n      /** path of field that needs reindexing */\n      fieldPath?: string;\n      /** only reindex records updated after this timestamp */\n      reindexSince?: Date;\n  }\n  interface CreateDataExtensionSchemaRequest {\n      /** Schema to create. */\n      dataExtensionSchema: DataExtensionSchema;\n  }\n  interface CreateDataExtensionSchemaResponse {\n      /** Created schema. */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  interface UpdateDataExtensionSchemaRequest {\n      /** Schema to update. */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  interface UpdateDataExtensionSchemaResponse {\n      /** Updated schema. */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  interface ListDataExtensionSchemasRequest {\n      /** [Fully qualified domain name](https://dev.wix.com/docs/rest/articles/getting-started/fqdns). */\n      fqdn: string;\n      /** Namespaces within the given entity. */\n      namespaces?: string[];\n      /** Additional fields that are hidden by default. For example, fields with `\"x-wix-archived\": true`. */\n      fields?: RequestedField[];\n  }\n  enum RequestedField {\n      /** Doesn't do anything */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Returns `x-wix-archived` fields in `DataExtensionSchema.json_schema`. */\n      ARCHIVED = \"ARCHIVED\"\n  }\n  interface ListDataExtensionSchemasResponse {\n      /** Requested schemas. */\n      dataExtensionSchemas?: DataExtensionSchema[];\n  }\n  interface ListAllDataExtensionSchemasRequest {\n      /** [Fully qualified domain name](https://dev.wix.com/docs/rest/articles/getting-started/fqdns). */\n      fqdn?: string;\n      /** Namespaces within the given entity. */\n      namespaces?: string[];\n      /** Additional fields that are hidden by default. For example, fields with `\"x-wix-archived\": true`. */\n      fields?: RequestedField[];\n  }\n  interface ListAllDataExtensionSchemasResponse {\n      /** Requested schemas. */\n      dataExtensionSchemas?: DataExtensionSchema[];\n  }\n  interface UpsertDataExtensionGlobalSchemaRequest {\n      /** the upsert to create */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  interface UpsertDataExtensionGlobalSchemaResponse {\n      /** the upsert schema */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  interface DeleteDemoDataExtensionSchemaRequest {\n      /** Schema ID. */\n      dataExtensionSchemaId?: string;\n  }\n  interface DeleteDemoDataExtensionSchemaResponse {\n  }\n  interface DeleteGlobalExtensionSchemaRequest {\n      /** fqdn */\n      fqdn?: string;\n      /** namespace */\n      namespace?: string;\n  }\n  interface DeleteGlobalExtensionSchemaResponse {\n  }\n  interface DeleteByWhiteListedMetaSiteRequest {\n      /** Meta site id */\n      metaSiteId: string;\n  }\n  interface DeleteByWhiteListedMetaSiteResponse {\n      /** has more */\n      hasMore?: boolean;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  /** payload for kafka event for this version on app submit */\n  interface AppVersionStateChanged extends AppVersionStateChangedStateOneOf {\n      created?: AppVersionCreated;\n      submitted?: AppVersionSubmitted;\n      published?: AppVersionPublished;\n      declined?: AppVersionDeclined;\n      released?: AppVersionReleased;\n      approved?: AppVersionApproved;\n      draftChanged?: AppVersionDraftChanged;\n      archived?: AppVersionArchived;\n      appId?: string;\n      /** @readonly */\n      version?: string;\n      previousState?: VersionStatus;\n  }\n  /** @oneof */\n  interface AppVersionStateChangedStateOneOf {\n      created?: AppVersionCreated;\n      submitted?: AppVersionSubmitted;\n      published?: AppVersionPublished;\n      declined?: AppVersionDeclined;\n      released?: AppVersionReleased;\n      approved?: AppVersionApproved;\n      draftChanged?: AppVersionDraftChanged;\n      archived?: AppVersionArchived;\n  }\n  interface AppVersionCreated {\n  }\n  interface AppVersionSubmitted {\n  }\n  interface AppVersionPublished {\n  }\n  interface AppVersionDeclined {\n  }\n  interface AppVersionReleased {\n  }\n  interface AppVersionApproved {\n  }\n  interface AppVersionDraftChanged {\n  }\n  interface AppVersionArchived {\n  }\n  enum VersionStatus {\n      /** default, internal use status. do not use */\n      NONE_STATUS = \"NONE_STATUS\",\n      /** a version which was created in the dev center and has not started the approval process yet */\n      DRAFT = \"DRAFT\",\n      /** the version was submitted for review by the developer */\n      SUBMITTED = \"SUBMITTED\",\n      /** the version is being reviewed by the app market team in cactus */\n      IN_REVIEW = \"IN_REVIEW\",\n      /** our team approved the version */\n      APPROVED = \"APPROVED\",\n      /** this version is published - only one version can be published at any given time; if this app was already published, the previously published version's status is now ARCHIVED */\n      PUBLISHED = \"PUBLISHED\",\n      /** our team did not accept this version of the app */\n      DECLINED = \"DECLINED\",\n      /** the status for versions that are no longer relevant */\n      ARCHIVED = \"ARCHIVED\",\n      /** status for versions with no significant changes, e.g. for test app. for questions contact our team */\n      HIDDEN = \"HIDDEN\",\n      /** mark apps as RELEASED, without adding to the apps cache, and allow users to install */\n      RELEASED = \"RELEASED\"\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a user-defined data extension schema.\n   * @param dataExtensionSchema - Schema to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField dataExtensionSchema\n   * @requiredField dataExtensionSchema.fqdn\n   * @requiredField dataExtensionSchema.jsonSchema\n   * @requiredField dataExtensionSchema.namespace\n   * @permissionId DATA_EXTENSION_SCHEMA.WRITE\n   * @adminMethod\n   * @returns Created schema.\n   */\n  function createDataExtensionSchema(dataExtensionSchema: DataExtensionSchema): Promise<DataExtensionSchema>;\n  /**\n   * Updates a user-defined data extension schema, overriding the existing data.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataExtensionSchema._id\n   * @requiredField options.dataExtensionSchema.jsonSchema\n   * @requiredField options.dataExtensionSchema.revision\n   * @param options - Field options. The following fields **must** be passed: `_id`, `jsonSchema`, `revision`.\n   * @permissionId DATA_EXTENSION_SCHEMA.WRITE\n   * @adminMethod\n   */\n  function updateDataExtensionSchema(options?: UpdateDataExtensionSchemaOptions): Promise<UpdateDataExtensionSchemaResponse>;\n  interface UpdateDataExtensionSchemaOptions {\n      /** Schema to update. */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  /**\n   * Retrieves a list of global and user-defined data extension schemas for a given FQDN.\n   * @param fqdn - [Fully qualified domain name](https://dev.wix.com/docs/rest/articles/getting-started/fqdns).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fqdn\n   * @permissionId DATA_EXTENSION_SCHEMA.READ\n   */\n  function listDataExtensionSchemas(fqdn: string, options?: ListDataExtensionSchemasOptions): Promise<ListDataExtensionSchemasResponse>;\n  interface ListDataExtensionSchemasOptions {\n      /** Namespaces within the given entity. */\n      namespaces?: string[];\n      /** Additional fields that are hidden by default. For example, fields with `\"x-wix-archived\": true`. */\n      fields?: RequestedField[];\n  }\n  /**\n   * Deletes schemas of whitelisted metasite ids\n   * @param metaSiteId - Meta site id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @adminMethod\n   */\n  function deleteByWhiteListedMetaSite(metaSiteId: string): Promise<DeleteByWhiteListedMetaSiteResponse>;\n  \n  type dataExtensionsV1DataExtensionSchema_universal_d_DataExtensionSchema = DataExtensionSchema;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ReindexEvent = ReindexEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ReindexField = ReindexField;\n  type dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaRequest = CreateDataExtensionSchemaRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaResponse = CreateDataExtensionSchemaResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaRequest = UpdateDataExtensionSchemaRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaResponse = UpdateDataExtensionSchemaResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasRequest = ListDataExtensionSchemasRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_RequestedField = RequestedField;\n  const dataExtensionsV1DataExtensionSchema_universal_d_RequestedField: typeof RequestedField;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasResponse = ListDataExtensionSchemasResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ListAllDataExtensionSchemasRequest = ListAllDataExtensionSchemasRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ListAllDataExtensionSchemasResponse = ListAllDataExtensionSchemasResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaRequest = UpsertDataExtensionGlobalSchemaRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaResponse = UpsertDataExtensionGlobalSchemaResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaRequest = DeleteDemoDataExtensionSchemaRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaResponse = DeleteDemoDataExtensionSchemaResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteGlobalExtensionSchemaRequest = DeleteGlobalExtensionSchemaRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteGlobalExtensionSchemaResponse = DeleteGlobalExtensionSchemaResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteRequest = DeleteByWhiteListedMetaSiteRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteResponse = DeleteByWhiteListedMetaSiteResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DomainEvent = DomainEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type dataExtensionsV1DataExtensionSchema_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_RestoreInfo = RestoreInfo;\n  type dataExtensionsV1DataExtensionSchema_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ActionEvent = ActionEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_Empty = Empty;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionStateChanged = AppVersionStateChanged;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionStateChangedStateOneOf = AppVersionStateChangedStateOneOf;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionCreated = AppVersionCreated;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionSubmitted = AppVersionSubmitted;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionPublished = AppVersionPublished;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionDeclined = AppVersionDeclined;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionReleased = AppVersionReleased;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionApproved = AppVersionApproved;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionDraftChanged = AppVersionDraftChanged;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionArchived = AppVersionArchived;\n  type dataExtensionsV1DataExtensionSchema_universal_d_VersionStatus = VersionStatus;\n  const dataExtensionsV1DataExtensionSchema_universal_d_VersionStatus: typeof VersionStatus;\n  type dataExtensionsV1DataExtensionSchema_universal_d_MessageEnvelope = MessageEnvelope;\n  type dataExtensionsV1DataExtensionSchema_universal_d_IdentificationData = IdentificationData;\n  type dataExtensionsV1DataExtensionSchema_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type dataExtensionsV1DataExtensionSchema_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const dataExtensionsV1DataExtensionSchema_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const dataExtensionsV1DataExtensionSchema_universal_d_createDataExtensionSchema: typeof createDataExtensionSchema;\n  const dataExtensionsV1DataExtensionSchema_universal_d_updateDataExtensionSchema: typeof updateDataExtensionSchema;\n  type dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaOptions = UpdateDataExtensionSchemaOptions;\n  const dataExtensionsV1DataExtensionSchema_universal_d_listDataExtensionSchemas: typeof listDataExtensionSchemas;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasOptions = ListDataExtensionSchemasOptions;\n  const dataExtensionsV1DataExtensionSchema_universal_d_deleteByWhiteListedMetaSite: typeof deleteByWhiteListedMetaSite;\n  namespace dataExtensionsV1DataExtensionSchema_universal_d {\n    export {\n      dataExtensionsV1DataExtensionSchema_universal_d_DataExtensionSchema as DataExtensionSchema,\n      dataExtensionsV1DataExtensionSchema_universal_d_ReindexEvent as ReindexEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_ReindexField as ReindexField,\n      dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaRequest as CreateDataExtensionSchemaRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaResponse as CreateDataExtensionSchemaResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaRequest as UpdateDataExtensionSchemaRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaResponse as UpdateDataExtensionSchemaResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasRequest as ListDataExtensionSchemasRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_RequestedField as RequestedField,\n      dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasResponse as ListDataExtensionSchemasResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_ListAllDataExtensionSchemasRequest as ListAllDataExtensionSchemasRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_ListAllDataExtensionSchemasResponse as ListAllDataExtensionSchemasResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaRequest as UpsertDataExtensionGlobalSchemaRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaResponse as UpsertDataExtensionGlobalSchemaResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaRequest as DeleteDemoDataExtensionSchemaRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaResponse as DeleteDemoDataExtensionSchemaResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteGlobalExtensionSchemaRequest as DeleteGlobalExtensionSchemaRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteGlobalExtensionSchemaResponse as DeleteGlobalExtensionSchemaResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteRequest as DeleteByWhiteListedMetaSiteRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteResponse as DeleteByWhiteListedMetaSiteResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_DomainEvent as DomainEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      dataExtensionsV1DataExtensionSchema_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_RestoreInfo as RestoreInfo,\n      dataExtensionsV1DataExtensionSchema_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_ActionEvent as ActionEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_Empty as Empty,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionStateChanged as AppVersionStateChanged,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionStateChangedStateOneOf as AppVersionStateChangedStateOneOf,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionCreated as AppVersionCreated,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionSubmitted as AppVersionSubmitted,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionPublished as AppVersionPublished,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionDeclined as AppVersionDeclined,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionReleased as AppVersionReleased,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionApproved as AppVersionApproved,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionDraftChanged as AppVersionDraftChanged,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionArchived as AppVersionArchived,\n      dataExtensionsV1DataExtensionSchema_universal_d_VersionStatus as VersionStatus,\n      dataExtensionsV1DataExtensionSchema_universal_d_MessageEnvelope as MessageEnvelope,\n      dataExtensionsV1DataExtensionSchema_universal_d_IdentificationData as IdentificationData,\n      dataExtensionsV1DataExtensionSchema_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      dataExtensionsV1DataExtensionSchema_universal_d_WebhookIdentityType as WebhookIdentityType,\n      dataExtensionsV1DataExtensionSchema_universal_d_createDataExtensionSchema as createDataExtensionSchema,\n      dataExtensionsV1DataExtensionSchema_universal_d_updateDataExtensionSchema as updateDataExtensionSchema,\n      dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaOptions as UpdateDataExtensionSchemaOptions,\n      dataExtensionsV1DataExtensionSchema_universal_d_listDataExtensionSchemas as listDataExtensionSchemas,\n      dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasOptions as ListDataExtensionSchemasOptions,\n      dataExtensionsV1DataExtensionSchema_universal_d_deleteByWhiteListedMetaSite as deleteByWhiteListedMetaSite,\n    };\n  }\n  \n  export { dataExtensionsV1DataExtensionSchema_universal_d as schemas };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-benefit-programs-v1-benefit-provider.d.ts",
      "content": "declare module \"interfaces-benefit-programs-v1-benefit-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface StartEntitlementRequest {\n      /** Entitlement that was started */\n      pool: Pool;\n  }\n  interface Pool {\n      /**\n       * Pool ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Pool was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Pool was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * PoolDefinition that this entitlement was created from\n       * @readonly\n       */\n      poolDefinitionId?: string;\n      /**\n       * Program definition from which this entitlement was provisioned from\n       * @readonly\n       */\n      programDefinitionKey?: string | null;\n      /**\n       * Package that this entitlement belongs to\n       * @readonly\n       */\n      programKey?: string;\n      /**\n       * Status of entitlement\n       * @readonly\n       */\n      status?: PoolStatus;\n      /** Who is getting the entitlement */\n      beneficiary?: IdentificationData;\n      /** Items and policies how the entitlement works */\n      details?: Details;\n      /**\n       * Name of the entitlement template that this Pool was provisioned from\n       * @readonly\n       */\n      name?: string;\n      /**\n       * ID of the app that this entitlement belongs to\n       * @readonly\n       */\n      appId?: string;\n  }\n  enum PoolStatus {\n      UNDEFINED = \"UNDEFINED\",\n      ACTIVE = \"ACTIVE\",\n      PAUSED = \"PAUSED\",\n      ENDED = \"ENDED\",\n      PROVISIONING = \"PROVISIONING\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface Details {\n      /** A set of benefits that share the credit pool and policies of the entitlement */\n      benefits?: Benefit[];\n      /** Settings that control the behavior of the credit pool. If this value is left empty, then the entitlement is unlimited and items should not have prices */\n      creditConfiguration?: CreditConfiguration;\n      /** Defines entitlement eligibility. Default policy for all items, but may be overridden by a specific item */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n      /** Entitlement provider */\n      provider?: Provider;\n  }\n  /** Groups items that share the same credit pool and policies */\n  interface Benefit {\n      /** A unique identifier for the benefit. May be empty, but only one group can have an empty key */\n      benefitKey?: string;\n      /** Id referencing the set of items that can be used to redeem this benefit */\n      itemSetId?: string | null;\n      /** Price of the item expressed in credits */\n      price?: string | null;\n      /** Overrides the default policies in Entitlement Data */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n  }\n  interface PolicyExpression extends PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n      /** Policy expression type */\n      type?: PolicyExpressionType;\n  }\n  /** @oneof */\n  interface PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n  }\n  enum PolicyExpressionType {\n      UNKNOWN = \"UNKNOWN\",\n      OPERATOR_NOT = \"OPERATOR_NOT\",\n      OPERATOR_AND = \"OPERATOR_AND\",\n      OPERATOR_OR = \"OPERATOR_OR\",\n      POLICY = \"POLICY\"\n  }\n  interface PolicyExpressionNot {\n      /** Expression that is negated */\n      expression?: PolicyExpression;\n  }\n  interface PolicyExpressionAnd {\n      /** Expressions that are combined with an `AND` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface PolicyExpressionOr {\n      /** Expressions that are combined with an `OR` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface Policy extends PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: CustomPolicy;\n      /** Policy type */\n      type?: Type;\n  }\n  /** @oneof */\n  interface PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: CustomPolicy;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      RATE_LIMITED = \"RATE_LIMITED\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface FixedIntervalPolicy {\n      /** Weekday that this interval starts from. If this is set then to_week_day must also be set */\n      fromWeekDay?: WeekDay;\n      /** Weekday that this interval ends at. If this is set then from_week_day must also be set */\n      toWeekDay?: WeekDay;\n      /** Hour that this interval starts from. If this is set then to_hour must also be set */\n      fromHour?: number | null;\n      /** Hour that this interval ends at. If this is set then from_hour must also be set */\n      toHour?: number | null;\n      /** Minute that this interval starts from. If this is set then to_minute must also be set */\n      fromMinute?: number | null;\n      /** Minute that this interval ends at. If this is set then from_minute must also be set */\n      toMinute?: number | null;\n  }\n  enum WeekDay {\n      UNKNOWN = \"UNKNOWN\",\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  interface RateLimitedPolicy extends RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Defines how many times it's allowed to consume a item over the period */\n      times?: number;\n      /** Type of period */\n      type?: RateLimitedPolicyType;\n  }\n  /** @oneof */\n  interface RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n  }\n  enum RateLimitedPolicyType {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      PER_CYCLE = \"PER_CYCLE\"\n  }\n  /** Custom policy as implemented by the Entitlement Policy Provider */\n  interface CustomPolicy {\n      /** References a specific custom policy on the provider's system */\n      _id?: string | null;\n      /** Custom policy provider id */\n      appId?: string | null;\n      /** Additional info for this custom policy. It's going to be passed to the policy provider during eligibility checks */\n      additionalData?: Record<string, any> | null;\n  }\n  interface CreditConfiguration {\n      /** The total amount of credits available for this entitlement */\n      amount?: string;\n      /** Unused credits are rolled over to the new cycle */\n      rollOver?: boolean;\n  }\n  interface Provider {\n      /** AppId of a provider defined in a dev center which implements this entitlement custom lifecycle and redeem logic */\n      appId?: string;\n      /** Type of the entitlement, giving information to the SPI implementer so it knows what kind of entitlement it is */\n      type?: string;\n  }\n  interface StartEntitlementResponse {\n  }\n  interface PauseProgramRequest {\n      /** Entitlement that was paused */\n      pool: Pool;\n  }\n  interface PauseProgramResponse {\n  }\n  interface ResumeProgramRequest {\n      /** Entitlement that was resumed */\n      pool: Pool;\n  }\n  interface ResumeProgramResponse {\n  }\n  interface EndProgramRequest {\n      /** Entitlement that was ended */\n      pool: Pool;\n  }\n  interface EndProgramResponse {\n  }\n  interface RedeemBenefitRequest {\n      /** Entitlement that was used for redemption */\n      pool: Pool;\n      /** Reference of the item that is being redeemed */\n      itemReference: ItemReference;\n      /** Number of items that were redeemed */\n      count: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by Policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n  }\n  interface ItemReference {\n      /** External Id of the item */\n      externalId?: string;\n      /** Item category */\n      category?: string | null;\n  }\n  interface RedeemBenefitResponse {\n  }\n  interface BenefitProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      /** Types of entitlements that this provider supports. Should be unique */\n      supportedTypes?: string[];\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: ContextIdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentificationDataIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ContextIdentificationData extends ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentificationDataIdentityType;\n  }\n  /** @oneof */\n  interface ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface StartEntitlementOptions {\n      /** Entitlement that was started */\n      pool: Pool;\n  }\n  interface PauseProgramOptions {\n      /** Entitlement that was paused */\n      pool: Pool;\n  }\n  interface ResumeProgramOptions {\n      /** Entitlement that was resumed */\n      pool: Pool;\n  }\n  interface EndProgramOptions {\n      /** Entitlement that was ended */\n      pool: Pool;\n  }\n  interface RedeemBenefitOptions {\n      /** Entitlement that was used for redemption */\n      pool: Pool;\n      /** Reference of the item that is being redeemed */\n      itemReference: ItemReference;\n      /** Number of items that were redeemed */\n      count: number;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by Policy providers\n       */\n      targetDate?: Date;\n      /** Idempotency key */\n      idempotencyKey: string;\n      /** Additional info */\n      additionalData?: Record<string, any> | null;\n  }\n  \n  export { AlternativeUri, Benefit, BenefitProviderConfig, BusinessError, Context, ContextIdentificationData, ContextIdentificationDataIdOneOf, CreditConfiguration, CustomPolicy, Details, EndProgramOptions, EndProgramRequest, EndProgramResponse, FixedIntervalPolicy, IdentificationData, IdentificationDataIdOneOf, IdentificationDataIdentityType, IdentityType, ItemReference, PauseProgramOptions, PauseProgramRequest, PauseProgramResponse, Policy, PolicyExpression, PolicyExpressionAnd, PolicyExpressionExpressionOneOf, PolicyExpressionNot, PolicyExpressionOr, PolicyExpressionType, PolicyPolicyOneOf, Pool, PoolStatus, Provider, RateLimitedPolicy, RateLimitedPolicyPeriodOneOf, RateLimitedPolicyType, RedeemBenefitOptions, RedeemBenefitRequest, RedeemBenefitResponse, ResumeProgramOptions, ResumeProgramRequest, ResumeProgramResponse, SpiBaseUri, StartEntitlementOptions, StartEntitlementRequest, StartEntitlementResponse, Type, WeekDay };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission.d.ts",
      "content": "declare module \"interfaces-forms-v4-submission\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface ValidateSubmissionRequest extends ValidateSubmissionRequestActionsOneOf {\n      /** Payload sent on update action. */\n      updateOptions?: UpdateOptions;\n      /** Payload sent on create action. */\n      createOptions?: CreateOptions;\n      /** Submission to be validated */\n      submission: FormSubmission;\n      /** Form to validate with. */\n      form: Form;\n      type: ActionType;\n  }\n  /** @oneof */\n  interface ValidateSubmissionRequestActionsOneOf {\n      /** Payload sent on update action. */\n      updateOptions?: UpdateOptions;\n      /** Payload sent on create action. */\n      createOptions?: CreateOptions;\n  }\n  /** Form submission that was created or retrieved. */\n  interface FormSubmission {\n      /**\n       * Submission ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the form which submission belongs to. */\n      formId?: string;\n      /**\n       * The app which the form submissions belong to. For example, the namespace for the Wix Forms App is `\"wix.form_app.form\"`. The namespace of a submission can be retrieved using the Get Submission endpoint.\n       * @readonly\n       */\n      namespace?: string;\n      /**\n       * Status of the submission.\n       * - `PENDING`: When a submission has been created, but has not yet been recorded in the submission table of the forms dashboard.\n       * - `PAYMENT_WAITING`: When a submission of form, requiring payment, has been created.\n       * - `PAYMENT_CANCELED`: When a submission's of form, requiring payment, order has been canceled.\n       * - `CONFIRMED`: When a submission is recorded in the submissions table of the forms dashboard.\n       */\n      status?: SubmissionStatus;\n      /** Submission values where key is the form field and value is the data submitted for the given field. */\n      submissions?: Record<string, any>;\n      /**\n       * Date and time the form submission was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the form submission was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Renamed to submitter\n       * @internal\n       * @readonly\n       */\n      owner?: Owner;\n      /**\n       * ID of the creator of the form submission.\n       * @readonly\n       */\n      submitter?: Submitter;\n      /** Whether the submission was read by a site collaborator with permissions to manage submissions. */\n      seen?: boolean;\n      /**\n       * ID of the order related to submission (applicable if form has payments added).\n       * @readonly\n       */\n      orderId?: string | null;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields;\n  }\n  enum SubmissionStatus {\n      UNDEFINED = \"UNDEFINED\",\n      PENDING = \"PENDING\",\n      CONFIRMED = \"CONFIRMED\",\n      PAYMENT_WAITING = \"PAYMENT_WAITING\",\n      PAYMENT_CANCELED = \"PAYMENT_CANCELED\"\n  }\n  interface Owner extends OwnerOwnerOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Service ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface OwnerOwnerOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Service ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  interface Submitter extends SubmitterSubmitterOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface SubmitterSubmitterOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface Form {\n      /**\n       * Form ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** List of form fields that represent input elements. */\n      fields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      fieldsV2?: FormFieldV2[];\n      /** Defines the layout for form fields in each submission step. */\n      steps?: Step[];\n      /** Form rules, can be applied to layout and items properties. */\n      rules?: FormRule[];\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Properties of the form. */\n      properties?: FormProperties;\n      /**\n       * Fields which were soft deleted.\n       * @readonly\n       */\n      deletedFields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      deletedFieldsV2?: FormFieldV2[];\n      /**\n       * Regular forms can be freely modified.\n       * Extensions are copied from templates and might have restrictions.\n       * @readonly\n       */\n      kind?: Kind;\n      /**\n       * Defines triggers that will be executed after the submission, for the submissions based on this schema.\n       * Forms provide a set of predefined triggers that allow it to assign specific business cases to created forms.\n       */\n      postSubmissionTriggers?: PostSubmissionTriggers;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields;\n      /** Identifies the namespace that the form belongs to. */\n      namespace?: string;\n      /**\n       * Nested forms.\n       * @internal\n       * @readonly\n       */\n      nestedForms?: NestedForm[];\n      /**\n       * Media folder ID.\n       * @readonly\n       */\n      mediaFolderId?: string | null;\n  }\n  interface FormField {\n      /** Item ID. */\n      _id?: string;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /** Validation of field output value. */\n      validation?: Validation;\n      /** Mark the field as containing personal information. This will encrypt user data when storing it. */\n      pii?: boolean;\n      /** Whether the field is hidden. */\n      hidden?: boolean;\n      /** Field view properties. */\n      view?: Record<string, any> | null;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n      /**\n       * Nested form overrides.\n       * @internal\n       */\n      nestedFormOverrides?: NestedFormOverrides;\n  }\n  interface StringType {\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: Format;\n      /** Custom error messages when validation fails. */\n      errorMessages?: StringErrorMessages;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  enum Format {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\"\n  }\n  interface StringErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface NumberType {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface NumberErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface IntegerType {\n      /** Minimum value. */\n      maximum?: number | null;\n      /** Maximum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface BooleanType {\n      /** Custom error message when validation fails. */\n      errorMessages?: BooleanErrorMessages;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface BooleanErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayType {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayItems;\n      /** Custom error message when validation fails. */\n      errorMessages?: ArrayErrorMessages;\n  }\n  interface ObjectType {\n      /** Description of object properties. */\n      properties?: Record<string, PropertiesType>;\n      /** Custom error message when validation fails. */\n      errorMessages?: ObjectErrorMessages;\n  }\n  interface PropertiesType extends PropertiesTypePropertiesTypeOneOf {\n      /** String type validation for property. */\n      string?: StringType;\n      /** Number type validation for property. */\n      number?: NumberType;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType;\n      /** Integer type validation for property. */\n      integer?: IntegerType;\n      /** Array type validation for property. */\n      array?: ArrayType;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface PropertiesTypePropertiesTypeOneOf {\n      /** String type validation for property. */\n      string?: StringType;\n      /** Number type validation for property. */\n      number?: NumberType;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType;\n      /** Integer type validation for property. */\n      integer?: IntegerType;\n      /** Array type validation for property. */\n      array?: ArrayType;\n  }\n  interface ObjectErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayItems extends ArrayItemsItemsOneOf {\n      /** String type validation for items. */\n      string?: StringType;\n      /** Number type validation for items. */\n      number?: NumberType;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType;\n      /** Integer type validation for items. */\n      integer?: IntegerType;\n      /** Object type validation for items */\n      object?: ObjectType;\n  }\n  /** @oneof */\n  interface ArrayItemsItemsOneOf {\n      /** String type validation for items. */\n      string?: StringType;\n      /** Number type validation for items. */\n      number?: NumberType;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType;\n      /** Integer type validation for items. */\n      integer?: IntegerType;\n      /** Object type validation for items */\n      object?: ObjectType;\n  }\n  interface ArrayErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface PredefinedValidation {\n      /** Format of predefined validation. */\n      format?: ValidationFormat;\n  }\n  enum ValidationFormat {\n      UNDEFINED = \"UNDEFINED\",\n      /** File upload validation. */\n      WIX_FILE = \"WIX_FILE\",\n      /** Payment validation (described in payment trigger). */\n      PAYMENT = \"PAYMENT\"\n  }\n  interface NestedFormFieldOverrides {\n      /** Whether the field is required. Leave blank for no override. */\n      required?: boolean | null;\n      /** Whether the field is hidden. Leave blank for no override. */\n      hidden?: boolean | null;\n  }\n  interface Validation extends ValidationValidationOneOf {\n      /** Validation of string type. */\n      string?: StringType;\n      /** Validation of number type. */\n      number?: NumberType;\n      /** Validation of integer type. */\n      integer?: IntegerType;\n      /** Validation of boolean type. */\n      boolean?: BooleanType;\n      /** Validation of array type. */\n      array?: ArrayType;\n      /** Validation of object type. */\n      object?: ObjectType;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation;\n      /** Whether the field is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ValidationValidationOneOf {\n      /** Validation of string type. */\n      string?: StringType;\n      /** Validation of number type. */\n      number?: NumberType;\n      /** Validation of integer type. */\n      integer?: IntegerType;\n      /** Validation of boolean type. */\n      boolean?: BooleanType;\n      /** Validation of array type. */\n      array?: ArrayType;\n      /** Validation of object type. */\n      object?: ObjectType;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation;\n  }\n  interface NestedFormOverrides {\n      /** Field overrides by field ID */\n      fieldOverrides?: Record<string, NestedFormFieldOverrides>;\n  }\n  interface FormFieldV2 extends FormFieldV2FieldTypeOptionsOneOf {\n      /** Field accept input of data */\n      inputOptions?: InputField;\n      /** Field for displaying information */\n      displayOptions?: DisplayField;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton;\n      /** Field id. */\n      _id?: string;\n      /**\n       * Whether the field is hidden.\n       * Default: false\n       */\n      hidden?: boolean;\n      /** Custom identification of field, can be used to specify exceptional behaviour of client for specific field */\n      identifier?: string | null;\n      /**\n       * Type of the field\n       * @readonly\n       */\n      fieldType?: FieldType;\n  }\n  /** @oneof */\n  interface FormFieldV2FieldTypeOptionsOneOf {\n      /** Field accept input of data */\n      inputOptions?: InputField;\n      /** Field for displaying information */\n      displayOptions?: DisplayField;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: LinkTarget;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum LinkTarget {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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. */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface SettingsPermissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface PollOption {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: SettingsPermissions;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: PollOption[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /** Deprecated: Use `image` instead. */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /** Deprecated: Use `rowHeader` and `columnHeader` instead. */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface RadioGroupOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface RadioGroupCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface DropdownOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface DropdownCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface InputFieldStringType {\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: FormatEnumFormat;\n      /** Custom error messages when validation fails. */\n      errorMessages?: InputFieldStringErrorMessages;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  enum FormatEnumFormat {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\"\n  }\n  interface InputFieldStringErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum StringComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      TEXT_INPUT = \"TEXT_INPUT\",\n      RADIO_GROUP = \"RADIO_GROUP\",\n      DROPDOWN = \"DROPDOWN\"\n  }\n  interface TextInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface RadioGroup {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to show option allowing input custom value\n       * List of options to select from\n       */\n      options?: RadioGroupOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: RadioGroupCustomOption;\n  }\n  interface Dropdown {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: DropdownOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: DropdownCustomOption;\n      /** Placeholder of dropdown input */\n      placeholder?: string | null;\n  }\n  interface InputFieldNumberType {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldNumberErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum NumberComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      NUMBER_INPUT = \"NUMBER_INPUT\"\n  }\n  interface NumberInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface InputFieldBooleanType {\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldBooleanErrorMessages;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface InputFieldBooleanErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum BooleanComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX = \"CHECKBOX\"\n  }\n  interface Checkbox {\n      /** Label of the field */\n      label?: RichContent;\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** WixMedia image. */\n      image?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** WixMedia image. */\n      image?: string;\n  }\n  interface Option {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: any;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  interface CustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface InputFieldArrayType {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayTypeArrayItems;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldArrayErrorMessages;\n  }\n  enum ItemType {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      OBJECT = \"OBJECT\"\n  }\n  interface InputFieldIntegerType {\n      /** Maximum value. */\n      maximum?: number | null;\n      /** Minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldObjectType {\n      /** Description of object properties. */\n      properties?: Record<string, ObjectTypePropertiesType>;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldObjectErrorMessages;\n  }\n  enum PropertiesTypePropertiesType {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      ARRAY = \"ARRAY\"\n  }\n  interface ObjectTypePropertiesType extends ObjectTypePropertiesTypePropertiesTypeOptionsOneOf {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType;\n      /**\n       * Type of object properties\n       * @readonly\n       */\n      propertiesType?: PropertiesTypePropertiesType;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ObjectTypePropertiesTypePropertiesTypeOptionsOneOf {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType;\n  }\n  interface InputFieldObjectErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayTypeArrayItems extends ArrayTypeArrayItemsItemTypeOptionsOneOf {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType;\n      /**\n       * Type of array items\n       * @readonly\n       */\n      itemType?: ItemType;\n  }\n  /** @oneof */\n  interface ArrayTypeArrayItemsItemTypeOptionsOneOf {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType;\n  }\n  interface InputFieldArrayErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum ComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\"\n  }\n  interface CheckboxGroup {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: Option[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CustomOption;\n  }\n  enum UploadFileFormat {\n      UNDEFINED = \"UNDEFINED\",\n      /** Video files */\n      VIDEO = \"VIDEO\",\n      /** Image files */\n      IMAGE = \"IMAGE\",\n      /** Audio files */\n      AUDIO = \"AUDIO\",\n      /** Document files */\n      DOCUMENT = \"DOCUMENT\"\n  }\n  enum WixFileComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      FILE_UPLOAD = \"FILE_UPLOAD\"\n  }\n  interface FileUpload {\n      /** Selectable option label */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Text on upload button */\n      buttonText?: string | null;\n      /** Amount of files allowed to upload */\n      fileLimit?: number;\n      /** Supported file formats for upload */\n      uploadFileFormats?: UploadFileFormat[];\n      /** Custom text which appears when file is uploaded, if missing file name will be shown */\n      explanationText?: string | null;\n  }\n  interface CheckboxGroupOption {\n      /** Selectable option label. */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: any;\n      /** Option id. Used as binding for translations. Corresponds to product id, found in payment trigger field's products list. */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  enum PaymentComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\"\n  }\n  interface PaymentCheckboxGroup {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /** List of options to select from. */\n      options?: CheckboxGroupOption[];\n  }\n  enum InputType {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      ARRAY = \"ARRAY\",\n      OBJECT = \"OBJECT\",\n      WIX_FILE = \"WIX_FILE\",\n      PAYMENT = \"PAYMENT\"\n  }\n  interface _String extends _StringComponentTypeOptionsOneOf {\n      /** Text input field */\n      textInputOptions?: TextInput;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown;\n      /** Validation of field output value. */\n      validation?: InputFieldStringType;\n      /**\n       * Component type of the string input field\n       * @readonly\n       */\n      componentType?: StringComponentType;\n  }\n  /** @oneof */\n  interface _StringComponentTypeOptionsOneOf {\n      /** Text input field */\n      textInputOptions?: TextInput;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown;\n  }\n  interface _Number extends _NumberComponentTypeOptionsOneOf {\n      /** Number value input field */\n      numberInputOptions?: NumberInput;\n      /** Validation of field output value. */\n      validation?: InputFieldNumberType;\n      /**\n       * Component type of the number input field\n       * @readonly\n       */\n      componentType?: NumberComponentType;\n  }\n  /** @oneof */\n  interface _NumberComponentTypeOptionsOneOf {\n      /** Number value input field */\n      numberInputOptions?: NumberInput;\n  }\n  interface _Boolean extends _BooleanComponentTypeOptionsOneOf {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox;\n      /** Validation of field output value. */\n      validation?: InputFieldBooleanType;\n      /**\n       * Component type of the boolean input field\n       * @readonly\n       */\n      componentType?: BooleanComponentType;\n  }\n  /** @oneof */\n  interface _BooleanComponentTypeOptionsOneOf {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox;\n  }\n  interface _Array extends _ArrayComponentTypeOptionsOneOf {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup;\n      /** Validation of array type. */\n      validation?: InputFieldArrayType;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: ComponentType;\n  }\n  /** @oneof */\n  interface _ArrayComponentTypeOptionsOneOf {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup;\n  }\n  interface _Object extends _ObjectValidationOneOf {\n      /** Validation of object type. */\n      object?: InputFieldObjectType;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  /** @oneof */\n  interface _ObjectValidationOneOf {\n      /** Validation of object type. */\n      object?: InputFieldObjectType;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  interface WixFile extends WixFileComponentTypeOptionsOneOf {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: WixFileComponentType;\n  }\n  /** @oneof */\n  interface WixFileComponentTypeOptionsOneOf {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload;\n  }\n  interface Payment extends PaymentComponentTypeOptionsOneOf {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: PaymentCheckboxGroup;\n      /**\n       * Component type of the payment input field.\n       * @readonly\n       */\n      componentType?: PaymentComponentType;\n  }\n  /** @oneof */\n  interface PaymentComponentTypeOptionsOneOf {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: PaymentCheckboxGroup;\n  }\n  interface Header {\n      /** Content of the header */\n      content?: RichContent;\n  }\n  interface RichText {\n      /** Content of the rich text field */\n      content?: RichContent;\n  }\n  enum Target {\n      UNDEFINED = \"UNDEFINED\",\n      /** Opened in same browser tab */\n      SELF = \"SELF\",\n      /** Url open in new tab */\n      BLANK = \"BLANK\"\n  }\n  interface ThankYouMessage {\n      /** Message show after form submission */\n      text?: RichContent;\n      /**\n       * Duration after how much second it should disappear. If 0, will stay forever.\n       * Default: false\n       */\n      duration?: number | null;\n  }\n  interface Redirect {\n      /** Url to which UoU should be redirected after successful submit of form */\n      url?: string | null;\n      /** How should url be opened */\n      target?: Target;\n  }\n  enum FieldType {\n      UNKNOWN = \"UNKNOWN\",\n      INPUT = \"INPUT\",\n      DISPLAY = \"DISPLAY\",\n      SUBMIT = \"SUBMIT\"\n  }\n  interface InputField extends InputFieldInputTypeOptionsOneOf {\n      /** Input return string as value */\n      stringOptions?: _String;\n      /** Input return number as value */\n      numberOptions?: _Number;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean;\n      /** Input return array as value */\n      arrayOptions?: _Array;\n      /** Input return object as value */\n      objectOptions?: _Object;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /**\n       * Mark the field as containing personal information. This will encrypt user data when storing it.\n       * Default: false\n       */\n      pii?: boolean;\n      /**\n       * Whether the field is required.\n       * Default: false\n       */\n      required?: boolean;\n      /**\n       * Type of the input field\n       * @readonly\n       */\n      inputType?: InputType;\n  }\n  /** @oneof */\n  interface InputFieldInputTypeOptionsOneOf {\n      /** Input return string as value */\n      stringOptions?: _String;\n      /** Input return number as value */\n      numberOptions?: _Number;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean;\n      /** Input return array as value */\n      arrayOptions?: _Array;\n      /** Input return object as value */\n      objectOptions?: _Object;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment;\n  }\n  interface DisplayField extends DisplayFieldComponentTypeOneOf {\n      /** Header field */\n      header?: Header;\n      /** Rich text field */\n      richText?: RichText;\n  }\n  /** @oneof */\n  interface DisplayFieldComponentTypeOneOf {\n      /** Header field */\n      header?: Header;\n      /** Rich text field */\n      richText?: RichText;\n  }\n  interface SubmitButton extends SubmitButtonSubmitActionOneOf {\n      /** Submit action effect is to show message */\n      thankYouMessage?: ThankYouMessage;\n      /** Submit action effect is to redirect to */\n      redirect?: Redirect;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to next page. */\n      nextText?: string | null;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to previous page. */\n      previousText?: string | null;\n      /** Text on the button when button is submitting a form */\n      submitText?: string | null;\n  }\n  /** @oneof */\n  interface SubmitButtonSubmitActionOneOf {\n      /** Submit action effect is to show message */\n      thankYouMessage?: ThankYouMessage;\n      /** Submit action effect is to redirect to */\n      redirect?: Redirect;\n  }\n  interface Step {\n      /** Step ID. */\n      _id?: string;\n      /** Name of the step. */\n      name?: string | null;\n      /** Is step hidden */\n      hidden?: boolean;\n      /** Form step properties */\n      layout?: FormLayout;\n  }\n  interface FormLayout {\n      /** Layout for large break point. */\n      large?: BreakPoint;\n      /** Layout for medium break point. */\n      medium?: BreakPoint;\n      /** Layout for small break point. */\n      small?: BreakPoint;\n  }\n  interface BreakPoint {\n      /** Description of layouts for items. */\n      items?: ItemLayout[];\n      /** Amount of columns of layout grid. */\n      columns?: number | null;\n      /** Row height of layout grid. */\n      rowHeight?: number | null;\n      /** Description of elements margins. */\n      margin?: Margin;\n      /** Description of elements paddings. */\n      padding?: Margin;\n  }\n  interface ItemLayout {\n      /** Form field reference id. */\n      fieldId?: string;\n      /** Horizontal coordinate in the grid. */\n      row?: number | null;\n      /** Vertical coordinate in the grid. */\n      column?: number | null;\n      /** Height. */\n      width?: number | null;\n      /** Width. */\n      height?: number | null;\n  }\n  interface Margin {\n      /** Horizontal value. */\n      horizontal?: number | null;\n      /** Vertical value. */\n      vertical?: number | null;\n  }\n  interface FormRule {\n      /** Id of the rule */\n      _id?: string;\n      /** Rule on which item properties or layouts will be changed. */\n      condition?: Record<string, any> | null;\n      /**\n       * Form items with defined properties that will be\n       * changed when given condition is resolved to true.\n       */\n      overrides?: FormOverride[];\n      /** Name of the rule */\n      name?: string | null;\n  }\n  enum OverrideEntityType {\n      UNKNOWN = \"UNKNOWN\",\n      FIELD = \"FIELD\",\n      FORM = \"FORM\",\n      NESTED_FORM_FIELD = \"NESTED_FORM_FIELD\"\n  }\n  interface FormOverride {\n      /** Override entity type. */\n      entityType?: OverrideEntityType;\n      /** Overridden entity id. Either fieldId, or \"{fieldIdWithNestedForm}/{nestedFormFieldId}\" */\n      entityId?: string | null;\n      /** Form entity properties path with new value, that will be changed on condition. */\n      valueChanges?: Record<string, any>;\n  }\n  interface FormProperties {\n      /** Form name. */\n      name?: string | null;\n      /** Identifies if the form is disabled. */\n      disabled?: boolean;\n  }\n  enum Kind {\n      REGULAR = \"REGULAR\",\n      EXTENSION = \"EXTENSION\"\n  }\n  interface PostSubmissionTriggers {\n      /** Upserts a contact from the submission data. */\n      upsertContact?: UpsertContact;\n      /** Payment trigger. */\n      paymentTrigger?: PaymentTrigger;\n  }\n  interface UpsertContact {\n      /** Fields mapping (target field mapped to corresponding contact field). */\n      fieldsMapping?: Record<string, FormFieldContactInfo>;\n      /**\n       * List of contact label keys.\n       * [Contact labels](https://support.wix.com/en/article/adding-labels-to-contacts-in-your-contact-list)\n       * help categorize contacts.\n       */\n      labels?: string[];\n  }\n  interface FormFieldContactInfo extends FormFieldContactInfoAdditionalInfoOneOf {\n      /** Email info. */\n      emailInfo?: EmailInfo;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo;\n      /** Address info. */\n      addressInfo?: AddressInfo;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo;\n      /** Field mapped to contacts. */\n      contactField?: ContactField;\n  }\n  /** @oneof */\n  interface FormFieldContactInfoAdditionalInfoOneOf {\n      /** Email info. */\n      emailInfo?: EmailInfo;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo;\n      /** Address info. */\n      addressInfo?: AddressInfo;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo;\n  }\n  enum EmailInfoTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum PhoneInfoTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum Tag {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\"\n  }\n  enum ContactField {\n      UNDEFINED = \"UNDEFINED\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      COMPANY = \"COMPANY\",\n      POSITION = \"POSITION\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      ADDRESS = \"ADDRESS\",\n      BIRTHDATE = \"BIRTHDATE\",\n      CUSTOM_FIELD = \"CUSTOM_FIELD\",\n      SUBSCRIPTION = \"SUBSCRIPTION\",\n      VAT_ID = \"VAT_ID\"\n  }\n  interface EmailInfo {\n      /** Email tag. */\n      tag?: EmailInfoTag;\n  }\n  interface PhoneInfo {\n      /** Phone tag. */\n      tag?: PhoneInfoTag;\n  }\n  interface AddressInfo {\n      /** Address tag. */\n      tag?: Tag;\n  }\n  interface CustomFieldInfo {\n      /** Custom field key. */\n      key?: string;\n  }\n  interface PaymentTrigger {\n      /** Fields mapping (target field mapped to corresponding payment field). */\n      fieldsMapping?: Record<string, FormFieldPaymentInfo>;\n  }\n  interface FormFieldPaymentInfo {\n      /** Field mapped to products. */\n      products?: Product[];\n      /** Minimum amount of different products. */\n      minItems?: number | null;\n      /** Maximum amount of different products. */\n      maxItems?: number | null;\n  }\n  enum ProductType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Shippable (physical). */\n      SHIPPABLE = \"SHIPPABLE\",\n      /** Digital. */\n      DIGITAL = \"DIGITAL\"\n  }\n  enum PriceType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Fixed price. */\n      FIXED_PRICE = \"FIXED_PRICE\",\n      /** Dynamic price from price range. */\n      DYNAMIC_PRICE = \"DYNAMIC_PRICE\"\n  }\n  interface QuantityLimit {\n      /** Minimum quantity. */\n      minimum?: number | null;\n      /** Maximum quantity. */\n      maximum?: number | null;\n  }\n  interface FixedPriceOptions {\n      /** Fixed price monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). */\n      price?: string;\n  }\n  interface DynamicPriceOptions {\n      /** Minimal price monetary amount. */\n      minPrice?: string;\n      /** Maximal price monetary amount. */\n      maxPrice?: string | null;\n  }\n  interface Product extends ProductPriceOptionsOneOf {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Product type. */\n      productType?: ProductType;\n      /** Price type. */\n      priceType?: PriceType;\n      /** Quantity limit. */\n      quantityLimit?: QuantityLimit;\n  }\n  /** @oneof */\n  interface ProductPriceOptionsOneOf {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions;\n  }\n  interface NestedForm {\n      /** Targets which have this form. */\n      targets?: string[];\n      /** Nested form. */\n      form?: Form;\n  }\n  enum ActionType {\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      UPDATE = \"UPDATE\",\n      CREATE = \"CREATE\"\n  }\n  interface UpdateOptions {\n      /** Submission object before update was applied. */\n      submission?: FormSubmission;\n  }\n  interface CreateOptions {\n  }\n  interface ValidateSubmissionResponse {\n      /** Submission validation result. */\n      validationResult?: ValidationResult;\n  }\n  interface ValidationResult {\n      /** List of validation errors. */\n      errors?: ValidationError[];\n  }\n  interface ValidationError {\n      /** Path to cause of the error, e.g. form.fields.target */\n      errorPath?: string;\n      /** Error type. */\n      errorType?: ErrorType;\n      /** Error message. */\n      errorMessage?: string;\n      /** Additional error parameters. */\n      params?: Record<string, any> | null;\n  }\n  enum ErrorType {\n      UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n      TYPE_ERROR = \"TYPE_ERROR\",\n      REQUIRED_VALUE_ERROR = \"REQUIRED_VALUE_ERROR\",\n      UNKNOWN_VALUE_ERROR = \"UNKNOWN_VALUE_ERROR\",\n      MAX_LENGTH_ERROR = \"MAX_LENGTH_ERROR\",\n      MIN_LENGTH_ERROR = \"MIN_LENGTH_ERROR\",\n      PATTERN_ERROR = \"PATTERN_ERROR\",\n      FORMAT_ERROR = \"FORMAT_ERROR\",\n      MAX_VALUE_ERROR = \"MAX_VALUE_ERROR\",\n      MIN_VALUE_ERROR = \"MIN_VALUE_ERROR\",\n      MULTIPLE_OF_VALUE_ERROR = \"MULTIPLE_OF_VALUE_ERROR\",\n      MIN_ITEMS_ERROR = \"MIN_ITEMS_ERROR\",\n      MAX_ITEMS_ERROR = \"MAX_ITEMS_ERROR\",\n      NOT_ALLOWED_VALUE_ERROR = \"NOT_ALLOWED_VALUE_ERROR\",\n      FIELDS_COMPATIBILITY_ERROR = \"FIELDS_COMPATIBILITY_ERROR\",\n      DISABLED_FORM_ERROR = \"DISABLED_FORM_ERROR\",\n      FORMS_COUNT_RESTRICTIONS_ERROR = \"FORMS_COUNT_RESTRICTIONS_ERROR\",\n      FIELDS_COUNT_RESTRICTIONS_ERROR = \"FIELDS_COUNT_RESTRICTIONS_ERROR\",\n      STEPS_COUNT_RESTRICTIONS_ERROR = \"STEPS_COUNT_RESTRICTIONS_ERROR\",\n      RULES_COUNT_RESTRICTIONS_ERROR = \"RULES_COUNT_RESTRICTIONS_ERROR\",\n      FILE_UPLOAD_RESTRICTIONS_ERROR = \"FILE_UPLOAD_RESTRICTIONS_ERROR\"\n  }\n  interface FormSubmissionSpiConfig {\n      /** Configuration of namespaces known by implementer */\n      namespaceConfigs?: FormsSubmissionsNamespaceConfig[];\n  }\n  interface FormsSubmissionsNamespaceConfig {\n      /** Namespace name. */\n      namespace?: string;\n      /** Permissions associated with this namespace. */\n      permissions?: Permissions;\n      /** Mark new submission as pending by default. */\n      pendingByDefault?: boolean;\n      /**\n       * Allows to disable automatic contact insert/update on contact mapping provided.\n       * On manual contact mapping enabled, the implementer is responsible for mapping the submission to a contact.\n       * Out of the box GDPR support is not available for unmapped submissions with contact PII fields.\n       */\n      manualContactMapping?: boolean;\n      /** Delete a PENDING submission after X days. */\n      deletePendingAfterDays?: number | null;\n      /** Enable submission validation. */\n      submissionValidationEnabled?: boolean;\n  }\n  interface Permissions {\n      /** Create permission name */\n      create?: string;\n      /** Delete permission name */\n      delete?: string;\n      /** Update permission name */\n      update?: string;\n      /** Read permission name */\n      read?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ValidateSubmissionOptions extends ValidateSubmissionRequestActionsOneOf {\n      /** Submission to be validated */\n      submission: FormSubmission;\n      /** Form to validate with. */\n      form: Form;\n      type: ActionType;\n      /** Payload sent on update action. */\n      updateOptions?: UpdateOptions;\n      /** Payload sent on create action. */\n      createOptions?: CreateOptions;\n  }\n  \n  export { ActionType, AddressInfo, Alignment, AnchorData, AppEmbedData, AppEmbedDataAppDataOneOf, AppType, ArrayErrorMessages, ArrayItems, ArrayItemsItemsOneOf, ArrayType, ArrayTypeArrayItems, ArrayTypeArrayItemsItemTypeOptionsOneOf, AudioData, Background, BackgroundBackgroundOneOf, BackgroundType, BlockquoteData, BookingData, BooleanComponentType, BooleanErrorMessages, BooleanType, Border, BorderColors, BreakPoint, BulletedListData, BusinessError, ButtonData, CellStyle, Checkbox, CheckboxGroup, CheckboxGroupOption, CodeBlockData, CollapsibleListData, ColorData, Colors, ComponentType, ContactField, Context, CreateOptions, Crop, CustomFieldInfo, CustomOption, Decoration, DecorationDataOneOf, DecorationType, Design, Dimensions, Direction, DisplayField, DisplayFieldComponentTypeOneOf, DividerData, DocumentStyle, Dropdown, DropdownCustomOption, DropdownOption, DynamicPriceOptions, EmailInfo, EmailInfoTag, EmbedData, ErrorType, EventData, ExtendedFields, FieldType, FileData, FileSource, FileSourceDataOneOf, FileUpload, FixedPriceOptions, FontSizeData, FontType, Form, FormField, FormFieldContactInfo, FormFieldContactInfoAdditionalInfoOneOf, FormFieldPaymentInfo, FormFieldV2, FormFieldV2FieldTypeOptionsOneOf, FormLayout, FormOverride, FormProperties, FormRule, FormSubmission, FormSubmissionSpiConfig, Format, FormatEnumFormat, FormsSubmissionsNamespaceConfig, GIF, GIFData, GalleryData, GalleryOptions, Gradient, HTMLData, HTMLDataDataOneOf, Header, HeadingData, Height, IdentificationData, IdentificationDataIdOneOf, IdentityType, Image, ImageData, InitialExpandedItems, InputField, InputFieldArrayErrorMessages, InputFieldArrayType, InputFieldBooleanErrorMessages, InputFieldBooleanType, InputFieldInputTypeOptionsOneOf, InputFieldIntegerType, InputFieldNumberErrorMessages, InputFieldNumberType, InputFieldObjectErrorMessages, InputFieldObjectType, InputFieldStringErrorMessages, InputFieldStringType, InputType, IntegerType, Item, ItemDataOneOf, ItemLayout, ItemStyle, ItemType, Kind, Layout, LayoutType, LineStyle, Link, LinkData, LinkDataOneOf, LinkPreviewData, LinkTarget, ListValue, MapData, MapSettings, MapType, Margin, Media, MediaItem, MediaItemMediaOneOf, MentionData, Metadata, NestedForm, NestedFormFieldOverrides, NestedFormOverrides, Node, NodeDataOneOf, NodeStyle, NodeType, NullValue, NumberComponentType, NumberErrorMessages, NumberInput, NumberType, ObjectErrorMessages, ObjectType, ObjectTypePropertiesType, ObjectTypePropertiesTypePropertiesTypeOptionsOneOf, Oembed, Option, OptionDesign, OptionLayout, OrderedListData, Orientation, OverrideEntityType, Owner, OwnerOwnerOneOf, PDFSettings, ParagraphData, Payment, PaymentCheckboxGroup, PaymentComponentType, PaymentComponentTypeOptionsOneOf, PaymentTrigger, Permissions, PhoneInfo, PhoneInfoTag, PlaybackOptions, PluginContainerData, PluginContainerDataAlignment, PluginContainerDataWidth, PluginContainerDataWidthDataOneOf, Poll, PollData, PollDataLayout, PollDesign, PollLayout, PollLayoutDirection, PollLayoutType, PollOption, PostSubmissionTriggers, PredefinedValidation, PriceType, Product, ProductPriceOptionsOneOf, ProductType, PropertiesType, PropertiesTypePropertiesType, PropertiesTypePropertiesTypeOneOf, QuantityLimit, RadioGroup, RadioGroupCustomOption, RadioGroupOption, Redirect, Rel, RichContent, RichText, Settings, SettingsPermissions, Source, Spoiler, Step, StringComponentType, StringErrorMessages, StringType, Styles, SubmissionStatus, SubmitButton, SubmitButtonSubmitActionOneOf, Submitter, SubmitterSubmitterOneOf, TableCellData, TableData, Tag, Target, TextAlignment, TextData, TextInput, TextNodeStyle, TextStyle, ThankYouMessage, Thumbnails, ThumbnailsAlignment, Type, UpdateOptions, UploadFileFormat, UpsertContact, ValidateSubmissionOptions, ValidateSubmissionRequest, ValidateSubmissionRequestActionsOneOf, ValidateSubmissionResponse, Validation, ValidationError, ValidationFormat, ValidationResult, ValidationValidationOneOf, VerticalAlignment, Video, VideoData, ViewMode, ViewRole, VoteRole, Width, WidthType, WixFile, WixFileComponentType, WixFileComponentTypeOptionsOneOf, _Array, _ArrayComponentTypeOptionsOneOf, _Boolean, _BooleanComponentTypeOptionsOneOf, _Number, _NumberComponentTypeOptionsOneOf, _Object, _ObjectValidationOneOf, _String, _StringComponentTypeOptionsOneOf };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission-collaborator.d.ts",
      "content": "declare module \"interfaces-forms-v4-submission-collaborator\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface FormSubmissionSpiCollaboratorConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentUri?: SpiBaseUri;\n      /** Namespace names. */\n      namespaceConfigs?: FormsSubmissionsCollaboratorNamespaceConfig[];\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  interface FormsSubmissionsCollaboratorNamespaceConfig {\n      /** Targeted namespace, with what submissions should trigger defined methods. */\n      namespace?: string;\n      /** Enable submission validation. */\n      submissionValidationEnabled?: boolean;\n  }\n  interface ValidateSubmissionRequest extends ValidateSubmissionRequestActionsOneOf {\n      /** Payload sent on update action. */\n      updateOptions?: UpdateOptions;\n      /** Payload sent on create action. */\n      createOptions?: CreateOptions;\n      /** Submission to be validated */\n      submission: FormSubmission;\n      /** Form to validate with. */\n      form: Form;\n      /** Type of action performed with submission */\n      type: ActionType;\n  }\n  /** @oneof */\n  interface ValidateSubmissionRequestActionsOneOf {\n      /** Payload sent on update action. */\n      updateOptions?: UpdateOptions;\n      /** Payload sent on create action. */\n      createOptions?: CreateOptions;\n  }\n  /** Form submission that was created or retrieved. */\n  interface FormSubmission {\n      /**\n       * Submission ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the form which submission belongs to. */\n      formId?: string;\n      /**\n       * The app which the form submissions belong to. For example, the namespace for the Wix Forms App is `\"wix.form_app.form\"`. The namespace of a submission can be retrieved using the Get Submission endpoint.\n       * @readonly\n       */\n      namespace?: string;\n      /**\n       * Status of the submission.\n       * - `PENDING`: When a submission has been created, but has not yet been recorded in the submission table of the forms dashboard.\n       * - `PAYMENT_WAITING`: When a submission of form, requiring payment, has been created.\n       * - `PAYMENT_CANCELED`: When a submission's of form, requiring payment, order has been canceled.\n       * - `CONFIRMED`: When a submission is recorded in the submissions table of the forms dashboard.\n       */\n      status?: SubmissionStatus;\n      /** Submission values where key is the form field and value is the data submitted for the given field. */\n      submissions?: Record<string, any>;\n      /**\n       * Date and time the form submission was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the form submission was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Renamed to submitter\n       * @internal\n       * @readonly\n       */\n      owner?: Owner;\n      /**\n       * ID of the creator of the form submission.\n       * @readonly\n       */\n      submitter?: Submitter;\n      /** Whether the submission was read by a site collaborator with permissions to manage submissions. */\n      seen?: boolean;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields;\n      /** Order details. */\n      orderDetails?: OrderDetails;\n  }\n  enum SubmissionStatus {\n      UNDEFINED = \"UNDEFINED\",\n      PENDING = \"PENDING\",\n      CONFIRMED = \"CONFIRMED\",\n      PAYMENT_WAITING = \"PAYMENT_WAITING\",\n      PAYMENT_CANCELED = \"PAYMENT_CANCELED\"\n  }\n  interface Owner extends OwnerOwnerOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Service ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface OwnerOwnerOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Service ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  interface Submitter extends SubmitterSubmitterOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface SubmitterSubmitterOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface OrderDetails {\n      /**\n       * ID of the order related to submission (applicable if form has payments added).\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Order number.\n       * @readonly\n       */\n      number?: string | null;\n  }\n  interface Form {\n      /**\n       * Form ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** List of form fields that represent input elements. */\n      fields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      fieldsV2?: FormFieldV2[];\n      /** Defines the layout for form fields in each submission step. */\n      steps?: Step[];\n      /** Form rules, can be applied to layout and items properties. */\n      rules?: FormRule[];\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date of creation.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date of last update.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Properties of the form. */\n      properties?: FormProperties;\n      /**\n       * Fields which were soft deleted.\n       * @readonly\n       */\n      deletedFields?: FormField[];\n      /**\n       * List of form fields that represent input elements.\n       * @readonly\n       */\n      deletedFieldsV2?: FormFieldV2[];\n      /**\n       * Regular forms can be freely modified.\n       * Extensions are copied from templates and might have restrictions.\n       * @readonly\n       */\n      kind?: Kind;\n      /**\n       * Defines triggers that will be executed after the submission, for the submissions based on this schema.\n       * Forms provide a set of predefined triggers that allow it to assign specific business cases to created forms.\n       */\n      postSubmissionTriggers?: PostSubmissionTriggers;\n      /** Data extensions ExtendedFields. */\n      extendedFields?: ExtendedFields;\n      /** Identifies the namespace that the form belongs to. */\n      namespace?: string;\n      /**\n       * Nested forms.\n       * @internal\n       * @readonly\n       */\n      nestedForms?: NestedForm[];\n      /**\n       * Media folder ID.\n       * @readonly\n       */\n      mediaFolderId?: string | null;\n  }\n  interface FormField {\n      /** Item ID. */\n      _id?: string;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /** Validation of field output value. */\n      validation?: Validation;\n      /** Mark the field as containing personal information. This will encrypt user data when storing it. */\n      pii?: boolean;\n      /** Whether the field is hidden. */\n      hidden?: boolean;\n      /** Field view properties. */\n      view?: Record<string, any> | null;\n      /** Details identifying field, which is extension of other entity */\n      dataExtensionsDetails?: DataExtensionsDetails;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n      /**\n       * Nested form overrides.\n       * @internal\n       */\n      nestedFormOverrides?: NestedFormOverrides;\n  }\n  interface StringType {\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: Format;\n      /** Custom error messages when validation fails. */\n      errorMessages?: StringErrorMessages;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  enum Format {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface StringErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface NumberType {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface NumberErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface IntegerType {\n      /** Minimum value. */\n      maximum?: number | null;\n      /** Maximum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: NumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface BooleanType {\n      /** Custom error message when validation fails. */\n      errorMessages?: BooleanErrorMessages;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface BooleanErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayType {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayItems;\n      /** Custom error message when validation fails. */\n      errorMessages?: ArrayErrorMessages;\n  }\n  interface ObjectType {\n      /** Description of object properties. */\n      properties?: Record<string, PropertiesType>;\n      /** Custom error message when validation fails. */\n      errorMessages?: ObjectErrorMessages;\n  }\n  interface PropertiesType extends PropertiesTypePropertiesTypeOneOf {\n      /** String type validation for property. */\n      string?: StringType;\n      /** Number type validation for property. */\n      number?: NumberType;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType;\n      /** Integer type validation for property. */\n      integer?: IntegerType;\n      /** Array type validation for property. */\n      array?: ArrayType;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface PropertiesTypePropertiesTypeOneOf {\n      /** String type validation for property. */\n      string?: StringType;\n      /** Number type validation for property. */\n      number?: NumberType;\n      /** Boolean type validation for property. */\n      boolean?: BooleanType;\n      /** Integer type validation for property. */\n      integer?: IntegerType;\n      /** Array type validation for property. */\n      array?: ArrayType;\n  }\n  interface ObjectErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayItems extends ArrayItemsItemsOneOf {\n      /** String type validation for items. */\n      string?: StringType;\n      /** Number type validation for items. */\n      number?: NumberType;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType;\n      /** Integer type validation for items. */\n      integer?: IntegerType;\n      /** Object type validation for items */\n      object?: ObjectType;\n  }\n  /** @oneof */\n  interface ArrayItemsItemsOneOf {\n      /** String type validation for items. */\n      string?: StringType;\n      /** Number type validation for items. */\n      number?: NumberType;\n      /** Boolean type validation for items. */\n      boolean?: BooleanType;\n      /** Integer type validation for items. */\n      integer?: IntegerType;\n      /** Object type validation for items */\n      object?: ObjectType;\n  }\n  interface ArrayErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface PredefinedValidation {\n      /** Format of predefined validation. */\n      format?: ValidationFormat;\n  }\n  enum ValidationFormat {\n      UNDEFINED = \"UNDEFINED\",\n      /** File upload validation. */\n      WIX_FILE = \"WIX_FILE\",\n      /** Payment validation (described in payment trigger). */\n      PAYMENT = \"PAYMENT\"\n  }\n  interface NestedFormFieldOverrides {\n      /** Whether the field is required. Leave blank for no override. */\n      required?: boolean | null;\n      /** Whether the field is hidden. Leave blank for no override. */\n      hidden?: boolean | null;\n  }\n  interface Validation extends ValidationValidationOneOf {\n      /** Validation of string type. */\n      string?: StringType;\n      /** Validation of number type. */\n      number?: NumberType;\n      /** Validation of integer type. */\n      integer?: IntegerType;\n      /** Validation of boolean type. */\n      boolean?: BooleanType;\n      /** Validation of array type. */\n      array?: ArrayType;\n      /** Validation of object type. */\n      object?: ObjectType;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation;\n      /** Whether the field is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ValidationValidationOneOf {\n      /** Validation of string type. */\n      string?: StringType;\n      /** Validation of number type. */\n      number?: NumberType;\n      /** Validation of integer type. */\n      integer?: IntegerType;\n      /** Validation of boolean type. */\n      boolean?: BooleanType;\n      /** Validation of array type. */\n      array?: ArrayType;\n      /** Validation of object type. */\n      object?: ObjectType;\n      /** Predefined validation of specific format */\n      predefined?: PredefinedValidation;\n  }\n  interface DataExtensionsDetails {\n      /** FQDNS which can be extended with this field */\n      fqdns?: string[];\n  }\n  interface NestedFormOverrides {\n      /** Field overrides by field ID */\n      fieldOverrides?: Record<string, NestedFormFieldOverrides>;\n  }\n  interface FormFieldV2 extends FormFieldV2FieldTypeOptionsOneOf {\n      /** Field accept input of data */\n      inputOptions?: InputField;\n      /** Field for displaying information */\n      displayOptions?: DisplayField;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton;\n      /** Field id. */\n      _id?: string;\n      /**\n       * Whether the field is hidden.\n       * Default: false\n       */\n      hidden?: boolean;\n      /** Custom identification of field, can be used to specify exceptional behaviour of client for specific field */\n      identifier?: string | null;\n      /**\n       * Type of the field\n       * @readonly\n       */\n      fieldType?: FieldType;\n  }\n  /** @oneof */\n  interface FormFieldV2FieldTypeOptionsOneOf {\n      /** Field accept input of data */\n      inputOptions?: InputField;\n      /** Field for displaying information */\n      displayOptions?: DisplayField;\n      /** Submit button of the form */\n      submitOptions?: SubmitButton;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custon external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: Small width.\n       * `ORIGINAL`: The width of the container matches the original asset width.\n       * `FULL_WIDTH`: Full width.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: LinkTarget;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum LinkTarget {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. */\n      sponsored?: boolean | null;\n      /** 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. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** A CSS `line-height` value for the text as a unitless ratio. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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. */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /** File size in KB. */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /** Custom ID. Use `id` instead. */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /** Whether this is an AdSense element. Use `source` instead. */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /** Image caption. */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-6. */\n      indentation?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface PollOption {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: PollOption[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. */\n      underlineData?: boolean | null;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /** Deprecated: Use `image` instead. */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /** Deprecated: Use `rowHeader` and `columnHeader` instead. */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BulletedListData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface BlockquoteData {\n      /** Indentation level. */\n      indentation?: number;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       */\n      createdTimestamp?: Date;\n      /** When the object was most recently updated. */\n      updatedTimestamp?: Date;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface RadioGroupOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface RadioGroupCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface DropdownOption {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: string | null;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n  }\n  interface DropdownCustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface InputFieldStringType {\n      /** Minimum length. */\n      minLength?: number | null;\n      /** Maximum length. */\n      maxLength?: number | null;\n      /** Pattern for a regular expression match. */\n      pattern?: string | null;\n      /** Format of a string. */\n      format?: FormatEnumFormat;\n      /** Custom error messages when validation fails. */\n      errorMessages?: InputFieldStringErrorMessages;\n      /** List of allowed values. */\n      enum?: string[] | null;\n  }\n  enum FormatEnumFormat {\n      UNDEFINED = \"UNDEFINED\",\n      DATE = \"DATE\",\n      TIME = \"TIME\",\n      DATE_TIME = \"DATE_TIME\",\n      EMAIL = \"EMAIL\",\n      URL = \"URL\",\n      UUID = \"UUID\",\n      PHONE = \"PHONE\",\n      URI = \"URI\",\n      HOSTNAME = \"HOSTNAME\",\n      COLOR_HEX = \"COLOR_HEX\",\n      CURRENCY = \"CURRENCY\",\n      LANGUAGE = \"LANGUAGE\",\n      DATE_OPTIONAL_TIME = \"DATE_OPTIONAL_TIME\"\n  }\n  interface InputFieldStringErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum StringComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      TEXT_INPUT = \"TEXT_INPUT\",\n      RADIO_GROUP = \"RADIO_GROUP\",\n      DROPDOWN = \"DROPDOWN\"\n  }\n  interface TextInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface RadioGroup {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to show option allowing input custom value\n       * List of options to select from\n       */\n      options?: RadioGroupOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: RadioGroupCustomOption;\n  }\n  interface Dropdown {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: DropdownOption[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: DropdownCustomOption;\n      /** Placeholder of dropdown input */\n      placeholder?: string | null;\n  }\n  interface InputFieldNumberType {\n      /** Inclusive maximum value. */\n      maximum?: number | null;\n      /** Inclusive minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldNumberErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum NumberComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      NUMBER_INPUT = \"NUMBER_INPUT\"\n  }\n  interface NumberInput {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** Placeholder for the value input */\n      placeholder?: string | null;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n  }\n  interface InputFieldBooleanType {\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldBooleanErrorMessages;\n      /** List of allowed values. */\n      enum?: boolean[];\n  }\n  interface InputFieldBooleanErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum BooleanComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX = \"CHECKBOX\"\n  }\n  interface Checkbox {\n      /** Label of the field */\n      label?: RichContent;\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** WixMedia image. */\n      image?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** WixMedia image. */\n      image?: string;\n  }\n  interface Option {\n      /** Selectable option label */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. */\n      value?: any;\n      /** Flag identifying that option should be selected by default */\n      default?: boolean;\n      /** Option id. Used as binding for translations */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  interface CustomOption {\n      /** Label of custom option input */\n      label?: string | null;\n      /** Placeholder of custom option input */\n      placeholder?: string | null;\n  }\n  interface InputFieldArrayType {\n      /** Maximum amount of array elements. */\n      maxItems?: number | null;\n      /** Minimum amount of array elements. */\n      minItems?: number | null;\n      /** Type of items allowed in array. */\n      items?: ArrayTypeArrayItems;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldArrayErrorMessages;\n  }\n  enum ItemType {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      OBJECT = \"OBJECT\"\n  }\n  interface InputFieldIntegerType {\n      /** Maximum value. */\n      maximum?: number | null;\n      /** Minimum value. */\n      minimum?: number | null;\n      /** Multiple of value. */\n      multipleOf?: number | null;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldNumberErrorMessages;\n      /** List of allowed values. */\n      enum?: number[] | null;\n  }\n  interface InputFieldObjectType {\n      /** Description of object properties. */\n      properties?: Record<string, ObjectTypePropertiesType>;\n      /** Custom error message when validation fails. */\n      errorMessages?: InputFieldObjectErrorMessages;\n  }\n  enum PropertiesTypePropertiesType {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      INTEGER = \"INTEGER\",\n      ARRAY = \"ARRAY\"\n  }\n  interface ObjectTypePropertiesType extends ObjectTypePropertiesTypePropertiesTypeOptionsOneOf {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType;\n      /**\n       * Type of object properties\n       * @readonly\n       */\n      propertiesType?: PropertiesTypePropertiesType;\n      /** Whether the property is required. */\n      required?: boolean;\n  }\n  /** @oneof */\n  interface ObjectTypePropertiesTypePropertiesTypeOptionsOneOf {\n      /** String type validation for property. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for property. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for property. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for property. */\n      integerOptions?: InputFieldIntegerType;\n      /** Array type validation for property. */\n      arrayOptions?: InputFieldArrayType;\n  }\n  interface InputFieldObjectErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  interface ArrayTypeArrayItems extends ArrayTypeArrayItemsItemTypeOptionsOneOf {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType;\n      /**\n       * Type of array items\n       * @readonly\n       */\n      itemType?: ItemType;\n  }\n  /** @oneof */\n  interface ArrayTypeArrayItemsItemTypeOptionsOneOf {\n      /** String type validation for items. */\n      stringOptions?: InputFieldStringType;\n      /** Number type validation for items. */\n      numberOptions?: InputFieldNumberType;\n      /** Boolean type validation for items. */\n      booleanOptions?: InputFieldBooleanType;\n      /** Integer type validation for items. */\n      integerOptions?: InputFieldIntegerType;\n      /** Object type validation for items */\n      objectOptions?: InputFieldObjectType;\n  }\n  interface InputFieldArrayErrorMessages {\n      /** Default error message on invalid validation. */\n      default?: string | null;\n  }\n  enum ComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\"\n  }\n  interface CheckboxGroup {\n      /** Label of the field */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /** List of options to select from */\n      options?: Option[];\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Option which can be specified by UoU, enabled when this object is specified. */\n      customOption?: CustomOption;\n  }\n  enum UploadFileFormat {\n      UNDEFINED = \"UNDEFINED\",\n      /** Video files */\n      VIDEO = \"VIDEO\",\n      /** Image files */\n      IMAGE = \"IMAGE\",\n      /** Audio files */\n      AUDIO = \"AUDIO\",\n      /** Document files */\n      DOCUMENT = \"DOCUMENT\"\n  }\n  enum WixFileComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      FILE_UPLOAD = \"FILE_UPLOAD\"\n  }\n  interface FileUpload {\n      /** Selectable option label */\n      label?: string | null;\n      /** Description of the field */\n      description?: RichContent;\n      /**\n       * Flag identifying to hide or not label\n       * Default: true\n       */\n      showLabel?: boolean | null;\n      /** Text on upload button */\n      buttonText?: string | null;\n      /** Amount of files allowed to upload */\n      fileLimit?: number;\n      /** Supported file formats for upload */\n      uploadFileFormats?: UploadFileFormat[];\n      /** Custom text which appears when file is uploaded, if missing file name will be shown */\n      explanationText?: string | null;\n  }\n  interface CheckboxGroupOption {\n      /** Selectable option label. */\n      label?: string | null;\n      /** Selectable option value, which is saved to DB. Corresponds to product id, found in payment trigger field's products list. */\n      value?: any;\n      /** Option id. Used as binding for translations. */\n      _id?: string;\n      /** Media item. Media, associated with option, like image. */\n      media?: MediaItem;\n  }\n  enum PaymentComponentType {\n      UNKNOWN = \"UNKNOWN\",\n      CHECKBOX_GROUP = \"CHECKBOX_GROUP\"\n  }\n  interface PaymentCheckboxGroup {\n      /** Label of the field. */\n      label?: string | null;\n      /** Description of the field. */\n      description?: RichContent;\n      /** List of options to select from. */\n      options?: CheckboxGroupOption[];\n  }\n  enum InputType {\n      UNKNOWN = \"UNKNOWN\",\n      STRING = \"STRING\",\n      NUMBER = \"NUMBER\",\n      BOOLEAN = \"BOOLEAN\",\n      ARRAY = \"ARRAY\",\n      OBJECT = \"OBJECT\",\n      WIX_FILE = \"WIX_FILE\",\n      PAYMENT = \"PAYMENT\"\n  }\n  interface _String extends _StringComponentTypeOptionsOneOf {\n      /** Text input field */\n      textInputOptions?: TextInput;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown;\n      /** Validation of field output value. */\n      validation?: InputFieldStringType;\n      /**\n       * Component type of the string input field\n       * @readonly\n       */\n      componentType?: StringComponentType;\n  }\n  /** @oneof */\n  interface _StringComponentTypeOptionsOneOf {\n      /** Text input field */\n      textInputOptions?: TextInput;\n      /** Selection field as radio group */\n      radioGroupOptions?: RadioGroup;\n      /** Selection field as drop down */\n      dropdownOptions?: Dropdown;\n  }\n  interface _Number extends _NumberComponentTypeOptionsOneOf {\n      /** Number value input field */\n      numberInputOptions?: NumberInput;\n      /** Validation of field output value. */\n      validation?: InputFieldNumberType;\n      /**\n       * Component type of the number input field\n       * @readonly\n       */\n      componentType?: NumberComponentType;\n  }\n  /** @oneof */\n  interface _NumberComponentTypeOptionsOneOf {\n      /** Number value input field */\n      numberInputOptions?: NumberInput;\n  }\n  interface _Boolean extends _BooleanComponentTypeOptionsOneOf {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox;\n      /** Validation of field output value. */\n      validation?: InputFieldBooleanType;\n      /**\n       * Component type of the boolean input field\n       * @readonly\n       */\n      componentType?: BooleanComponentType;\n  }\n  /** @oneof */\n  interface _BooleanComponentTypeOptionsOneOf {\n      /** Checkbox input field */\n      checkboxOptions?: Checkbox;\n  }\n  interface _Array extends _ArrayComponentTypeOptionsOneOf {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup;\n      /** Validation of array type. */\n      validation?: InputFieldArrayType;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: ComponentType;\n  }\n  /** @oneof */\n  interface _ArrayComponentTypeOptionsOneOf {\n      /** Checkbox group input field */\n      checkboxGroupOptions?: CheckboxGroup;\n  }\n  interface _Object extends _ObjectValidationOneOf {\n      /** Validation of object type. */\n      object?: InputFieldObjectType;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  /** @oneof */\n  interface _ObjectValidationOneOf {\n      /** Validation of object type. */\n      object?: InputFieldObjectType;\n      /**\n       * Nested form ID.\n       * @internal\n       */\n      nestedFormId?: string | null;\n  }\n  interface WixFile extends WixFileComponentTypeOptionsOneOf {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload;\n      /**\n       * Component type of the array input field\n       * @readonly\n       */\n      componentType?: WixFileComponentType;\n  }\n  /** @oneof */\n  interface WixFileComponentTypeOptionsOneOf {\n      /** File upload input field */\n      fileUploadOptions?: FileUpload;\n  }\n  interface Payment extends PaymentComponentTypeOptionsOneOf {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: PaymentCheckboxGroup;\n      /**\n       * Component type of the payment input field.\n       * @readonly\n       */\n      componentType?: PaymentComponentType;\n  }\n  /** @oneof */\n  interface PaymentComponentTypeOptionsOneOf {\n      /** Checkbox group input field. */\n      checkboxGroupOptions?: PaymentCheckboxGroup;\n  }\n  interface Header {\n      /** Content of the header */\n      content?: RichContent;\n  }\n  interface RichText {\n      /** Content of the rich text field */\n      content?: RichContent;\n  }\n  enum Target {\n      UNDEFINED = \"UNDEFINED\",\n      /** Opened in same browser tab */\n      SELF = \"SELF\",\n      /** Url open in new tab */\n      BLANK = \"BLANK\"\n  }\n  interface ThankYouMessage {\n      /** Message show after form submission */\n      text?: RichContent;\n      /**\n       * Duration after how much second it should disappear. If 0, will stay forever.\n       * Default: false\n       */\n      duration?: number | null;\n  }\n  interface Redirect {\n      /** Url to which UoU should be redirected after successful submit of form */\n      url?: string | null;\n      /** How should url be opened */\n      target?: Target;\n  }\n  enum FieldType {\n      UNKNOWN = \"UNKNOWN\",\n      INPUT = \"INPUT\",\n      DISPLAY = \"DISPLAY\",\n      SUBMIT = \"SUBMIT\"\n  }\n  interface InputField extends InputFieldInputTypeOptionsOneOf {\n      /** Input return string as value */\n      stringOptions?: _String;\n      /** Input return number as value */\n      numberOptions?: _Number;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean;\n      /** Input return array as value */\n      arrayOptions?: _Array;\n      /** Input return object as value */\n      objectOptions?: _Object;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment;\n      /** Definition of a target where the value of field belongs. */\n      target?: string | null;\n      /**\n       * Mark the field as containing personal information. This will encrypt user data when storing it.\n       * Default: false\n       */\n      pii?: boolean;\n      /**\n       * Whether the field is required.\n       * Default: false\n       */\n      required?: boolean;\n      /**\n       * Type of the input field\n       * @readonly\n       */\n      inputType?: InputType;\n  }\n  /** @oneof */\n  interface InputFieldInputTypeOptionsOneOf {\n      /** Input return string as value */\n      stringOptions?: _String;\n      /** Input return number as value */\n      numberOptions?: _Number;\n      /** Input return boolean as value */\n      booleanOptions?: _Boolean;\n      /** Input return array as value */\n      arrayOptions?: _Array;\n      /** Input return object as value */\n      objectOptions?: _Object;\n      /** Input return \"Wix file\" as value */\n      wixFileOptions?: WixFile;\n      /** Input returns selected products as value. */\n      paymentOptions?: Payment;\n  }\n  interface DisplayField extends DisplayFieldComponentTypeOneOf {\n      /** Header field */\n      header?: Header;\n      /** Rich text field */\n      richText?: RichText;\n  }\n  /** @oneof */\n  interface DisplayFieldComponentTypeOneOf {\n      /** Header field */\n      header?: Header;\n      /** Rich text field */\n      richText?: RichText;\n  }\n  interface SubmitButton extends SubmitButtonSubmitActionOneOf {\n      /** Submit action effect is to show message */\n      thankYouMessage?: ThankYouMessage;\n      /** Submit action effect is to redirect to */\n      redirect?: Redirect;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to next page. */\n      nextText?: string | null;\n      /** When button is not on last page it behaves as switch between pages page, text of label to go to previous page. */\n      previousText?: string | null;\n      /** Text on the button when button is submitting a form */\n      submitText?: string | null;\n  }\n  /** @oneof */\n  interface SubmitButtonSubmitActionOneOf {\n      /** Submit action effect is to show message */\n      thankYouMessage?: ThankYouMessage;\n      /** Submit action effect is to redirect to */\n      redirect?: Redirect;\n  }\n  interface Step {\n      /** Step ID. */\n      _id?: string;\n      /** Name of the step. */\n      name?: string | null;\n      /** Is step hidden */\n      hidden?: boolean;\n      /** Form step properties */\n      layout?: FormLayout;\n  }\n  interface FormLayout {\n      /** Layout for large break point. */\n      large?: BreakPoint;\n      /** Layout for medium break point. */\n      medium?: BreakPoint;\n      /** Layout for small break point. */\n      small?: BreakPoint;\n  }\n  interface BreakPoint {\n      /** Description of layouts for items. */\n      items?: ItemLayout[];\n      /** Amount of columns of layout grid. */\n      columns?: number | null;\n      /** Row height of layout grid. */\n      rowHeight?: number | null;\n      /** Description of elements margins. */\n      margin?: Margin;\n      /** Description of elements paddings. */\n      padding?: Margin;\n  }\n  interface ItemLayout {\n      /** Form field reference id. */\n      fieldId?: string;\n      /** Horizontal coordinate in the grid. */\n      row?: number | null;\n      /** Vertical coordinate in the grid. */\n      column?: number | null;\n      /** Height. */\n      width?: number | null;\n      /** Width. */\n      height?: number | null;\n  }\n  interface Margin {\n      /** Horizontal value. */\n      horizontal?: number | null;\n      /** Vertical value. */\n      vertical?: number | null;\n  }\n  interface FormRule {\n      /** Id of the rule */\n      _id?: string;\n      /** Rule on which item properties or layouts will be changed. */\n      condition?: Record<string, any> | null;\n      /**\n       * Form items with defined properties that will be\n       * changed when given condition is resolved to true.\n       */\n      overrides?: FormOverride[];\n      /** Name of the rule */\n      name?: string | null;\n  }\n  enum OverrideEntityType {\n      UNKNOWN = \"UNKNOWN\",\n      FIELD = \"FIELD\",\n      FORM = \"FORM\",\n      NESTED_FORM_FIELD = \"NESTED_FORM_FIELD\"\n  }\n  interface FormOverride {\n      /** Override entity type. */\n      entityType?: OverrideEntityType;\n      /** Overridden entity id. Either fieldId, or \"{fieldIdWithNestedForm}/{nestedFormFieldId}\" */\n      entityId?: string | null;\n      /** Form entity properties path with new value, that will be changed on condition. */\n      valueChanges?: Record<string, any>;\n  }\n  interface FormProperties {\n      /** Form name. */\n      name?: string | null;\n      /** Identifies if the form is disabled. */\n      disabled?: boolean;\n  }\n  enum Kind {\n      REGULAR = \"REGULAR\",\n      EXTENSION = \"EXTENSION\"\n  }\n  interface PostSubmissionTriggers {\n      /** Upserts a contact from the submission data. */\n      upsertContact?: UpsertContact;\n      /** Payment trigger. */\n      paymentTrigger?: PaymentTrigger;\n  }\n  interface UpsertContact {\n      /** Fields mapping (target field mapped to corresponding contact field). */\n      fieldsMapping?: Record<string, FormFieldContactInfo>;\n      /**\n       * List of contact label keys.\n       * [Contact labels](https://support.wix.com/en/article/adding-labels-to-contacts-in-your-contact-list)\n       * help categorize contacts.\n       */\n      labels?: string[];\n  }\n  interface FormFieldContactInfo extends FormFieldContactInfoAdditionalInfoOneOf {\n      /** Email info. */\n      emailInfo?: EmailInfo;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo;\n      /** Address info. */\n      addressInfo?: AddressInfo;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo;\n      /** Field mapped to contacts. */\n      contactField?: ContactField;\n  }\n  /** @oneof */\n  interface FormFieldContactInfoAdditionalInfoOneOf {\n      /** Email info. */\n      emailInfo?: EmailInfo;\n      /** Phone info. */\n      phoneInfo?: PhoneInfo;\n      /** Address info. */\n      addressInfo?: AddressInfo;\n      /** Custom field info. */\n      customFieldInfo?: CustomFieldInfo;\n  }\n  enum EmailInfoTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum PhoneInfoTag {\n      UNTAGGED = \"UNTAGGED\",\n      MAIN = \"MAIN\"\n  }\n  enum Tag {\n      UNTAGGED = \"UNTAGGED\",\n      HOME = \"HOME\"\n  }\n  enum ContactField {\n      UNDEFINED = \"UNDEFINED\",\n      FIRST_NAME = \"FIRST_NAME\",\n      LAST_NAME = \"LAST_NAME\",\n      COMPANY = \"COMPANY\",\n      POSITION = \"POSITION\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      ADDRESS = \"ADDRESS\",\n      BIRTHDATE = \"BIRTHDATE\",\n      CUSTOM_FIELD = \"CUSTOM_FIELD\",\n      SUBSCRIPTION = \"SUBSCRIPTION\",\n      VAT_ID = \"VAT_ID\"\n  }\n  interface EmailInfo {\n      /** Email tag. */\n      tag?: EmailInfoTag;\n  }\n  interface PhoneInfo {\n      /** Phone tag. */\n      tag?: PhoneInfoTag;\n  }\n  interface AddressInfo {\n      /** Address tag. */\n      tag?: Tag;\n  }\n  interface CustomFieldInfo {\n      /** Custom field key. */\n      key?: string;\n  }\n  interface PaymentTrigger {\n      /** Fields mapping (target field mapped to corresponding payment field). */\n      fieldsMapping?: Record<string, FormFieldPaymentInfo>;\n  }\n  interface FormFieldPaymentInfo {\n      /** Field mapped to products. */\n      products?: Product[];\n      /** Minimum amount of different products. */\n      minItems?: number | null;\n      /** Maximum amount of different products. */\n      maxItems?: number | null;\n  }\n  enum ProductType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Shippable (physical). */\n      SHIPPABLE = \"SHIPPABLE\",\n      /** Digital. */\n      DIGITAL = \"DIGITAL\"\n  }\n  enum PriceType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Fixed price. */\n      FIXED_PRICE = \"FIXED_PRICE\",\n      /** Dynamic price from price range. */\n      DYNAMIC_PRICE = \"DYNAMIC_PRICE\"\n  }\n  interface QuantityLimit {\n      /** Minimum quantity. */\n      minimum?: number | null;\n      /** Maximum quantity. */\n      maximum?: number | null;\n  }\n  interface FixedPriceOptions {\n      /** Fixed price monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). */\n      price?: string;\n  }\n  interface DynamicPriceOptions {\n      /** Minimal price monetary amount. */\n      minPrice?: string;\n      /** Maximal price monetary amount. */\n      maxPrice?: string | null;\n  }\n  interface Product extends ProductPriceOptionsOneOf {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Product type. */\n      productType?: ProductType;\n      /** Price type. */\n      priceType?: PriceType;\n      /** Quantity limit. */\n      quantityLimit?: QuantityLimit;\n  }\n  /** @oneof */\n  interface ProductPriceOptionsOneOf {\n      /** Fixed price options. */\n      fixedPriceOptions?: FixedPriceOptions;\n      /** Dynamic price options. */\n      dynamicPriceOptions?: DynamicPriceOptions;\n  }\n  interface NestedForm {\n      /** Targets which have this form. */\n      targets?: string[];\n      /** Nested form. */\n      form?: Form;\n  }\n  enum ActionType {\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      UPDATE = \"UPDATE\",\n      CREATE = \"CREATE\"\n  }\n  interface UpdateOptions {\n      /** Submission object before update was applied. */\n      submission?: FormSubmission;\n  }\n  interface CreateOptions {\n  }\n  interface ValidateSubmissionResponse {\n      /** Submission validation result. */\n      validationResult?: ValidationResult;\n  }\n  interface ValidationResult {\n      /** List of validation errors. */\n      errors?: ValidationError[];\n  }\n  interface ValidationError {\n      /** Path to cause of the error, e.g. form.fields.target */\n      errorPath?: string;\n      /** Error type. */\n      errorType?: ErrorType;\n      /** Error message. */\n      errorMessage?: string;\n      /** Additional error parameters. */\n      params?: Record<string, any> | null;\n  }\n  enum ErrorType {\n      UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n      TYPE_ERROR = \"TYPE_ERROR\",\n      REQUIRED_VALUE_ERROR = \"REQUIRED_VALUE_ERROR\",\n      UNKNOWN_VALUE_ERROR = \"UNKNOWN_VALUE_ERROR\",\n      MAX_LENGTH_ERROR = \"MAX_LENGTH_ERROR\",\n      MIN_LENGTH_ERROR = \"MIN_LENGTH_ERROR\",\n      PATTERN_ERROR = \"PATTERN_ERROR\",\n      FORMAT_ERROR = \"FORMAT_ERROR\",\n      MAX_VALUE_ERROR = \"MAX_VALUE_ERROR\",\n      MIN_VALUE_ERROR = \"MIN_VALUE_ERROR\",\n      MULTIPLE_OF_VALUE_ERROR = \"MULTIPLE_OF_VALUE_ERROR\",\n      MIN_ITEMS_ERROR = \"MIN_ITEMS_ERROR\",\n      MAX_ITEMS_ERROR = \"MAX_ITEMS_ERROR\",\n      NOT_ALLOWED_VALUE_ERROR = \"NOT_ALLOWED_VALUE_ERROR\",\n      FIELDS_COMPATIBILITY_ERROR = \"FIELDS_COMPATIBILITY_ERROR\",\n      DISABLED_FORM_ERROR = \"DISABLED_FORM_ERROR\",\n      FORMS_COUNT_RESTRICTIONS_ERROR = \"FORMS_COUNT_RESTRICTIONS_ERROR\",\n      FIELDS_COUNT_RESTRICTIONS_ERROR = \"FIELDS_COUNT_RESTRICTIONS_ERROR\",\n      STEPS_COUNT_RESTRICTIONS_ERROR = \"STEPS_COUNT_RESTRICTIONS_ERROR\",\n      RULES_COUNT_RESTRICTIONS_ERROR = \"RULES_COUNT_RESTRICTIONS_ERROR\",\n      FILE_UPLOAD_RESTRICTIONS_ERROR = \"FILE_UPLOAD_RESTRICTIONS_ERROR\"\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ValidateSubmissionOptions extends ValidateSubmissionRequestActionsOneOf {\n      /** Submission to be validated */\n      submission: FormSubmission;\n      /** Form to validate with. */\n      form: Form;\n      /** Type of action performed with submission */\n      type: ActionType;\n      /** Payload sent on update action. */\n      updateOptions?: UpdateOptions;\n      /** Payload sent on create action. */\n      createOptions?: CreateOptions;\n  }\n  \n  export { ActionType, AddressInfo, Alignment, AlternativeUri, AnchorData, AppEmbedData, AppEmbedDataAppDataOneOf, AppType, ArrayErrorMessages, ArrayItems, ArrayItemsItemsOneOf, ArrayType, ArrayTypeArrayItems, ArrayTypeArrayItemsItemTypeOptionsOneOf, AudioData, Background, BackgroundBackgroundOneOf, BackgroundType, BlockquoteData, BookingData, BooleanComponentType, BooleanErrorMessages, BooleanType, Border, BorderColors, BreakPoint, BulletedListData, BusinessError, ButtonData, CellStyle, Checkbox, CheckboxGroup, CheckboxGroupOption, CodeBlockData, CollapsibleListData, ColorData, Colors, ComponentType, ContactField, Context, CreateOptions, Crop, CustomFieldInfo, CustomOption, DataExtensionsDetails, Decoration, DecorationDataOneOf, DecorationType, Design, Dimensions, Direction, DisplayField, DisplayFieldComponentTypeOneOf, DividerData, DocumentStyle, Dropdown, DropdownCustomOption, DropdownOption, DynamicPriceOptions, EmailInfo, EmailInfoTag, EmbedData, ErrorType, EventData, ExtendedFields, FieldType, FileData, FileSource, FileSourceDataOneOf, FileUpload, FixedPriceOptions, FontSizeData, FontType, Form, FormField, FormFieldContactInfo, FormFieldContactInfoAdditionalInfoOneOf, FormFieldPaymentInfo, FormFieldV2, FormFieldV2FieldTypeOptionsOneOf, FormLayout, FormOverride, FormProperties, FormRule, FormSubmission, FormSubmissionSpiCollaboratorConfig, Format, FormatEnumFormat, FormsSubmissionsCollaboratorNamespaceConfig, GIF, GIFData, GalleryData, GalleryOptions, Gradient, HTMLData, HTMLDataDataOneOf, Header, HeadingData, Height, IdentificationData, IdentificationDataIdOneOf, IdentityType, Image, ImageData, InitialExpandedItems, InputField, InputFieldArrayErrorMessages, InputFieldArrayType, InputFieldBooleanErrorMessages, InputFieldBooleanType, InputFieldInputTypeOptionsOneOf, InputFieldIntegerType, InputFieldNumberErrorMessages, InputFieldNumberType, InputFieldObjectErrorMessages, InputFieldObjectType, InputFieldStringErrorMessages, InputFieldStringType, InputType, IntegerType, Item, ItemDataOneOf, ItemLayout, ItemStyle, ItemType, Kind, Layout, LayoutType, LineStyle, Link, LinkData, LinkDataOneOf, LinkPreviewData, LinkTarget, ListValue, MapData, MapSettings, MapType, Margin, Media, MediaItem, MediaItemMediaOneOf, MentionData, Metadata, NestedForm, NestedFormFieldOverrides, NestedFormOverrides, Node, NodeDataOneOf, NodeStyle, NodeType, NullValue, NumberComponentType, NumberErrorMessages, NumberInput, NumberType, ObjectErrorMessages, ObjectType, ObjectTypePropertiesType, ObjectTypePropertiesTypePropertiesTypeOptionsOneOf, Oembed, Option, OptionDesign, OptionLayout, OrderDetails, OrderedListData, Orientation, OverrideEntityType, Owner, OwnerOwnerOneOf, PDFSettings, ParagraphData, Payment, PaymentCheckboxGroup, PaymentComponentType, PaymentComponentTypeOptionsOneOf, PaymentTrigger, Permissions, PhoneInfo, PhoneInfoTag, PlaybackOptions, PluginContainerData, PluginContainerDataAlignment, PluginContainerDataWidth, PluginContainerDataWidthDataOneOf, Poll, PollData, PollDataLayout, PollDesign, PollLayout, PollLayoutDirection, PollLayoutType, PollOption, PostSubmissionTriggers, PredefinedValidation, PriceType, Product, ProductPriceOptionsOneOf, ProductType, PropertiesType, PropertiesTypePropertiesType, PropertiesTypePropertiesTypeOneOf, QuantityLimit, RadioGroup, RadioGroupCustomOption, RadioGroupOption, Redirect, Rel, RichContent, RichText, Settings, Source, SpiBaseUri, Spoiler, Step, StringComponentType, StringErrorMessages, StringType, Styles, SubmissionStatus, SubmitButton, SubmitButtonSubmitActionOneOf, Submitter, SubmitterSubmitterOneOf, TableCellData, TableData, Tag, Target, TextAlignment, TextData, TextInput, TextNodeStyle, TextStyle, ThankYouMessage, Thumbnails, ThumbnailsAlignment, Type, UpdateOptions, UploadFileFormat, UpsertContact, ValidateSubmissionOptions, ValidateSubmissionRequest, ValidateSubmissionRequestActionsOneOf, ValidateSubmissionResponse, Validation, ValidationError, ValidationFormat, ValidationResult, ValidationValidationOneOf, VerticalAlignment, Video, VideoData, ViewMode, ViewRole, VoteRole, Width, WidthType, WixFile, WixFileComponentType, WixFileComponentTypeOptionsOneOf, _Array, _ArrayComponentTypeOptionsOneOf, _Boolean, _BooleanComponentTypeOptionsOneOf, _Number, _NumberComponentTypeOptionsOneOf, _Object, _ObjectValidationOneOf, _String, _StringComponentTypeOptionsOneOf };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-velo-ide-v1-gridapp-files-transformer.d.ts",
      "content": "declare module \"interfaces-velo-ide-v1-gridapp-files-transformer\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface TransformPathsToLayoutRequest {\n      /** Page files paths */\n      pagePaths?: string[];\n      /** Public files paths */\n      publicPaths?: string[];\n      /** Backend files paths */\n      backendPaths?: string[];\n      /** Styles files paths */\n      stylesPaths?: string[];\n      /** Optional. Editor site revision to compare pages to, defaults to latest state in editor transactions */\n      revision?: string | null;\n      /** Optional. The branch ID of the editor site revision, if applicable */\n      branchId?: string | null;\n  }\n  interface TransformPathsToLayoutResponse {\n      /** List of mappings between GridApp and layout formats */\n      appPathMappings?: AppPathMappings;\n  }\n  interface AppPathMappings {\n      /** Page files paths mappings */\n      pagePathMappings?: Mapping[];\n      /** Public files paths mappings */\n      publicPathMappings?: Mapping[];\n      /** Backend files paths mappings */\n      backendPathMappings?: Mapping[];\n      /** Style files paths mappings */\n      stylePathMappings?: Mapping[];\n  }\n  interface Mapping {\n      /** Path of the file in GridAppFormat */\n      gridAppPath?: string;\n      /** Path of the file in the desired transformed format */\n      layoutPath?: string;\n  }\n  interface TransformPathsToGridAppRequest {\n      /** List of the public/backend/pages/styles paths in layout format which require transformation to GridApp format */\n      paths?: string[];\n  }\n  interface TransformPathsToGridAppResponse {\n      /** List of mappings between GridApp and layout formats */\n      appPathMappings?: AppPathMappings;\n  }\n  interface TransformContentToLayoutRequest {\n      /** List of app files in GridApp format where content require transformation to layout format */\n      appFiles?: AppFile[];\n  }\n  interface AppFile {\n      /** Full path of the file (e.g.: \"public/helper-functions.js\") */\n      path?: string;\n      /** File content as text */\n      content?: string;\n  }\n  interface TransformContentToLayoutResponse {\n      /** List of app files in layout format */\n      appFiles?: AppFile[];\n  }\n  interface TransformContentToGridAppRequest {\n      /** List of app files in layout format where content require transformation to GridApp format */\n      appFiles?: AppFile[];\n  }\n  interface TransformContentToGridAppResponse {\n      /** List of app files in GridApp format */\n      appFiles?: AppFile[];\n  }\n  interface GridAppFilesTransformerConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      /**\n       * Transformation layout which should match to value from\n       * [GridAppLayout](https://github.com/wix-private/wix-code/blob/master/editor/wix-code-ide-server-ng/proto/wix/velo/ide/v1/grid_app_layout.proto) enum.\n       * The new values should be added via PR.\n       */\n      layout?: string;\n      /** List of paths which requires content transformation to GridApp format */\n      filesContentToTransformToGridApp?: string[];\n      /** List of paths which requires content transformation to Layout format */\n      filesContentToTransformToLayout?: string[];\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface TransformPathsToLayoutOptions {\n      /** Page files paths */\n      pagePaths?: string[];\n      /** Public files paths */\n      publicPaths?: string[];\n      /** Backend files paths */\n      backendPaths?: string[];\n      /** Styles files paths */\n      stylesPaths?: string[];\n      /** Optional. Editor site revision to compare pages to, defaults to latest state in editor transactions */\n      revision?: string | null;\n      /** Optional. The branch ID of the editor site revision, if applicable */\n      branchId?: string | null;\n  }\n  interface TransformPathsToGridAppOptions {\n      /** List of the public/backend/pages/styles paths in layout format which require transformation to GridApp format */\n      paths?: string[];\n  }\n  interface TransformContentToLayoutOptions {\n      /** List of app files in GridApp format where content require transformation to layout format */\n      appFiles?: AppFile[];\n  }\n  interface TransformContentToGridAppOptions {\n      /** List of app files in layout format where content require transformation to GridApp format */\n      appFiles?: AppFile[];\n  }\n  \n  export { AlternativeUri, AppFile, AppPathMappings, BusinessError, Context, GridAppFilesTransformerConfig, IdentificationData, IdentificationDataIdOneOf, IdentityType, Mapping, SpiBaseUri, TransformContentToGridAppOptions, TransformContentToGridAppRequest, TransformContentToGridAppResponse, TransformContentToLayoutOptions, TransformContentToLayoutRequest, TransformContentToLayoutResponse, TransformPathsToGridAppOptions, TransformPathsToGridAppRequest, TransformPathsToGridAppResponse, TransformPathsToLayoutOptions, TransformPathsToLayoutRequest, TransformPathsToLayoutResponse };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/ecom-v1-validations-data.d.ts",
      "content": "declare module \"ecom-v1-validations-data\" {\n  /** ValidationsData is the main entity of ValidationsSPI, which contains all the data required for validations */\n  interface ValidationsData {\n      /** Buyer details. */\n      buyerDetails?: BuyerDetails;\n      /** Line items. */\n      lineItems?: LineItem[];\n      /**\n       * Applied gift card details.\n       *\n       * >**Note:** Gift cards are supported through the Wix UI, though the SPI is not currently available. Learn more about [Wix Gift Cards](https://support.wix.com/en/article/wix-stores-setting-up-wix-gift-cards).\n       * @readonly\n       */\n      giftCard?: GiftCard;\n      /** Weight measurement unit */\n      weightUnit?: WeightUnit;\n      /** Price summary. */\n      priceSummary?: PriceSummary;\n      /** Billing information. */\n      billingInfo?: AddressWithContact;\n      /** Shipping address and contact details. */\n      shippingAddress?: AddressWithContact;\n      /** Shipping information. */\n      shippingInfo?: ShippingInfo;\n      /** Custom fields. */\n      customFields?: CustomFields;\n  }\n  interface BuyerDetails {\n      /** Buyer email address. */\n      email?: string | null;\n      /** Buyer info. */\n      buyerInfo?: BuyerInfo;\n  }\n  /** ids are unrelated to the buyer - they are related to those who performed the command, i.e. Identity field */\n  interface BuyerInfo extends BuyerInfoIdOneOf {\n      /** Visitor ID - if the buyer is **not** a site member. */\n      visitorId?: string;\n      /** Member ID - if the buyer is a site member. */\n      memberId?: string;\n      /** User ID - if the buyer is a Wix user. */\n      userId?: string;\n      /** App ID - when the order was created by an external application or Wix service. */\n      appId?: string;\n      /** Contact ID - if the buyer is saved as a contact for the site. */\n      contactId?: string | null;\n  }\n  /** @oneof */\n  interface BuyerInfoIdOneOf {\n      /** Visitor ID - if the buyer is **not** a site member. */\n      visitorId?: string;\n      /** Member ID - if the buyer is a site member. */\n      memberId?: string;\n      /** User ID - if the buyer is a Wix user. */\n      userId?: string;\n      /** App ID - when the order was created by an external application or Wix service. */\n      appId?: string;\n  }\n  interface LineItem {\n      /** Line item ID. */\n      _id?: string | null;\n      /** Item quantity. */\n      quantity?: number;\n      /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. */\n      catalogReference?: CatalogReference;\n      /**\n       * Product name.\n       * + Stores - `product.name`\n       * + Bookings - `service.info.name`\n       * + Events - `ticket.name`\n       * Can be used for free text message (\"Cannot purchase more than 5 cups\")\n       */\n      productName?: ProductName;\n      /**\n       * Item price **after** catalog-defined discount and line item discounts.\n       * Formatted prices can be used for free text message (applies to all MultiCurrencyPrice fields)\n       */\n      price?: MultiCurrencyPrice;\n      /** Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability. */\n      physicalProperties?: PhysicalProperties;\n      /** Item type. Either a preset type or custom. */\n      itemType?: ItemType;\n      /** Subscription option information. */\n      subscriptionOptionInfo?: SubscriptionOptionInfo;\n  }\n  /** Used for grouping line items and is sent on add to cart */\n  interface CatalogReference {\n      /** ID of the item within its Wix or 3rd-party catalog. For example, `productId` for Wix Stores or `eventId` for Wix Events. */\n      catalogItemId?: string;\n      /** ID of the catalog app. For example, the Wix Stores `appId`, or the 3rd-party `appId`. */\n      appId?: string;\n      /** Additional info in key:value form. For example, `{\"options\":{\"Size\": \"M\", \"Color\": \"Red\"}}` or `{\"variantId\": \"<VARIANT_ID>\"}`. */\n      options?: Record<string, any> | null;\n  }\n  interface ProductName {\n      /**\n       * __Required.__ Original item name in site's default language.\n       * Min: 1 character\n       * Max: 80 characters\n       */\n      original?: string;\n      /**\n       * Optional. Translated item name according to buyer language. Defaults to `original` when not provided.\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      translated?: string | null;\n  }\n  interface MultiCurrencyPrice {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface PhysicalProperties {\n      /** Line item weight. Measurement unit (KG or LB) is taken from `order.weightUnit`. */\n      weight?: number | null;\n      /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      sku?: string | null;\n      /** Whether this line item is shippable. */\n      shippable?: boolean;\n  }\n  interface ItemType extends ItemTypeItemTypeDataOneOf {\n      /** Preset item type. */\n      preset?: ItemTypeItemType;\n      /** Custom item type. */\n      custom?: string;\n  }\n  /** @oneof */\n  interface ItemTypeItemTypeDataOneOf {\n      /** Preset item type. */\n      preset?: ItemTypeItemType;\n      /** Custom item type. */\n      custom?: string;\n  }\n  enum ItemTypeItemType {\n      UNRECOGNISED = \"UNRECOGNISED\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\",\n      GIFT_CARD = \"GIFT_CARD\",\n      SERVICE = \"SERVICE\"\n  }\n  interface SubscriptionOptionInfo {\n      /** Subscription option settings. */\n      subscriptionSettings?: SubscriptionSettings;\n      /** Subscription option title. */\n      title?: Title;\n      /** Subscription option description. */\n      description?: Description;\n  }\n  interface SubscriptionSettings {\n      /** Frequency of recurring payment. */\n      frequency?: SubscriptionFrequency;\n      /**\n       * Interval of recurring payment (optional: default value 1 will be used if not provided)\n       * @internal\n       */\n      interval?: number | null;\n      /** Whether subscription is renewed automatically at the end of each period. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`. */\n      billingCycles?: number | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface Title {\n      /** Subscription option name. */\n      original?: string;\n      /** Translated subscription option name. */\n      translated?: string | null;\n  }\n  interface Description {\n      /** Subscription option description. */\n      original?: string;\n      /** Translated subscription option name. */\n      translated?: string | null;\n  }\n  interface GiftCard {\n      /** Gift Card ID. */\n      _id?: string;\n      /** Gift card obfuscated code. */\n      obfuscatedCode?: string;\n      /** Gift card value. */\n      amount?: MultiCurrencyPrice;\n      /** App ID of the gift card provider. */\n      appId?: string;\n  }\n  enum WeightUnit {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface PriceSummary {\n      /** Subtotal of all line items, before discounts and before tax. */\n      subtotal?: MultiCurrencyPrice;\n      /** Total shipping price, before discounts and before tax. */\n      shipping?: MultiCurrencyPrice;\n      /** Total tax. */\n      tax?: MultiCurrencyPrice;\n      /** Total calculated discount value. */\n      discount?: MultiCurrencyPrice;\n      /** Total price after discounts, gift cards, and tax. */\n      total?: MultiCurrencyPrice;\n      /** Total additional fees price before tax. */\n      additionalFees?: MultiCurrencyPrice;\n  }\n  /** Billing Info and shipping details */\n  interface AddressWithContact {\n      /** Address. */\n      address?: Address;\n      /** Contact details. */\n      contactDetails?: FullAddressContactDetails;\n  }\n  /** Physical address */\n  interface Address {\n      /** Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. */\n      country?: string | null;\n      /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Street address. */\n      streetAddress?: StreetAddress;\n      /** Main address line (usually street name and number). */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address info. Usually contains apt, suite, floor. */\n      addressLine2?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails {\n      /** First name. */\n      firstName?: string | null;\n      /** Last name. */\n      lastName?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Company name. */\n      company?: string | null;\n      /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n      vatId?: VatId;\n  }\n  interface VatId {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType;\n  }\n  /** tax info types */\n  enum VatType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  interface ShippingInfo {\n      /** Selected option out of the options allowed for the `region`. */\n      selectedCarrierServiceOption?: SelectedCarrierServiceOption;\n  }\n  interface SelectedCarrierServiceOption {\n      /** Unique identifier of selected option. For example, \"usps_std_overnight\". */\n      code?: string;\n      /**\n       * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n       * For example, \"Standard\" or \"First-Class Package International\".\n       */\n      title?: string;\n      /** Delivery logistics. */\n      logistics?: DeliveryLogistics;\n      /** This carrier's unique ID */\n      carrierId?: string | null;\n  }\n  interface DeliveryLogistics {\n      /** Expected delivery time, in free text. For example, \"3-5 business days\". */\n      deliveryTime?: string | null;\n      /** Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don't park in disabled parking spot\". */\n      instructions?: string | null;\n      /** Pickup details. */\n      pickupDetails?: PickupDetails;\n  }\n  interface PickupDetails {\n      /** Pickup address. */\n      address?: Address;\n      /** Pickup method */\n      pickupMethod?: PickupMethod;\n  }\n  enum PickupMethod {\n      UNKNOWN_METHOD = \"UNKNOWN_METHOD\",\n      STORE_PICKUP = \"STORE_PICKUP\",\n      PICKUP_POINT = \"PICKUP_POINT\"\n  }\n  interface CustomFields {\n      /** List of custom fields */\n      values?: CustomField[];\n  }\n  interface CustomField {\n      /** Custom field value. */\n      value?: any;\n      /** Custom field title. */\n      title?: string;\n      /** Translated custom field title. */\n      translatedTitle?: string | null;\n  }\n  interface ValidateRequest {\n      /** Caller context - where the call came from + entity ids */\n      callerContext: CallerContext;\n      /** Data provided for validations by implementers. */\n      validationsData?: ValidationsData;\n  }\n  interface CallerContext {\n      /** Where did the call come from? */\n      source?: Source;\n      /** Cart ID, Checkout ID, Ecom ID */\n      entityContext?: EntityContext;\n  }\n  enum Source {\n      /** Context cannot be recognized */\n      OTHER = \"OTHER\",\n      /** Called from Ecom's Cart service */\n      CART = \"CART\",\n      /** Called from Ecom's Checkout service */\n      CHECKOUT = \"CHECKOUT\"\n  }\n  interface EntityContext {\n      /** Cart ID */\n      cartId?: string | null;\n      /** Checkout ID */\n      checkoutId?: string | null;\n      /** Ecom ID - correlation between corresponding cart & checkout entities */\n      ecomId?: string | null;\n  }\n  interface ValidateResponse {\n      /** Violations risen by all implementers. */\n      violations?: Violation[];\n  }\n  interface Violation {\n      /** Severity - whether the UoU should be allowed to continue or not */\n      severity?: Severity;\n      /** Violation path - for instance, cart.lineItem[2].quantity */\n      violationPath?: string | null;\n      /** Description for the constraint. */\n      violationDescription?: string;\n  }\n  interface Severity {\n  }\n  interface ValidationsSPIConfig {\n      /**\n       * Base URI which Wix eCommerce will call to retrieve the validation violations.\n       * For example, `https://my-additional-fees.com/v1/calculate-additional-fees`.\n       */\n      uriConfig?: SpiBaseUri;\n      /** Whether validations should be performed in cart page or not. */\n      optInCart?: boolean;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ValidateOptions {\n      /** Caller context - where the call came from + entity ids */\n      callerContext: CallerContext;\n      /** Data provided for validations by implementers. */\n      validationsData?: ValidationsData;\n  }\n  \n  export { Address, AddressWithContact, AlternativeUri, BuyerDetails, BuyerInfo, BuyerInfoIdOneOf, CallerContext, CatalogReference, Context, CustomField, CustomFields, DeliveryLogistics, Description, EntityContext, FullAddressContactDetails, GiftCard, IdentificationData, IdentificationDataIdOneOf, IdentityType, ItemType, ItemTypeItemType, ItemTypeItemTypeDataOneOf, LineItem, MultiCurrencyPrice, PhysicalProperties, PickupDetails, PickupMethod, PriceSummary, ProductName, SelectedCarrierServiceOption, Severity, ShippingInfo, Source, SpiBaseUri, StreetAddress, SubscriptionFrequency, SubscriptionOptionInfo, SubscriptionSettings, Title, ValidateOptions, ValidateRequest, ValidateResponse, ValidationsData, ValidationsSPIConfig, VatId, VatType, Violation, WeightUnit };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-export-async-job.v1.d.ts",
      "content": "declare module \"wix-export-async-job.v1\" {\n  interface ExportAsyncJob {\n      /** @readonly */\n      _id?: string;\n      data?: ExportAsyncJobData;\n      status?: Status;\n      /** @readonly */\n      createDate?: Date | null;\n      /** @readonly */\n      updateDate?: Date | null;\n  }\n  interface ExportAsyncJobData {\n      /** original request data for the export */\n      query?: ExportQueryV2;\n      /** translated CSV headers */\n      fields?: FieldDescriptor[];\n      arrayFieldDelimiter?: ArrayFieldDelimiter;\n      /** The target method to query data from */\n      methodMetadata?: MethodMetadata;\n      /** Custom spec for the target method's request/response */\n      methodSpec?: MethodSpec;\n      userId?: string;\n      subDir?: string | null;\n      format?: string;\n      uploadId?: string;\n      saveAs?: string | null;\n      /** the progress of fetching all data update during the process multiple times */\n      pagingMetadata?: PagingMetadataV2;\n      iterationsCount?: number;\n      processedItemsCount?: number;\n      completionStep?: string | null;\n      /** how many times the export was reset */\n      resetCount?: number;\n      /** at final step update the signed_url to download the result from */\n      signedUrl?: string;\n      /** when failed during the process update the error details */\n      error?: Details;\n      testParams?: Record<string, any> | null;\n  }\n  interface ExportQueryV2 extends ExportQueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: ExportCursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface ExportQueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: ExportCursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ExportCursorPaging {\n      limit?: number | null;\n      cursor?: string | null;\n  }\n  interface FieldDescriptor {\n      /** the path to the field out of the query response items */\n      _id?: string;\n      /** how to present the filed in the CSV headers (translated) */\n      header?: string;\n  }\n  enum ArrayFieldDelimiter {\n      SEMICOLON = \"SEMICOLON\",\n      SEMICOLON_AND_SPACE = \"SEMICOLON_AND_SPACE\"\n  }\n  interface MethodMetadata {\n      artifact?: string;\n      service?: string;\n      method?: string;\n  }\n  interface MethodSpec {\n      requestQueryFieldNumber?: QueryFieldNumber;\n      responseRepeatedFieldName?: string | null;\n      responsePagingMetadataFieldName?: string | null;\n  }\n  enum QueryFieldNumber {\n      /** message QuerySomethingRequest { .wix.common.QueryV2 query = 1; } */\n      DEFAULT = \"DEFAULT\",\n      FIELD_2 = \"FIELD_2\",\n      FIELD_3 = \"FIELD_3\",\n      FIELD_4 = \"FIELD_4\",\n      FIELD_5 = \"FIELD_5\",\n      FIELD_6 = \"FIELD_6\",\n      FIELD_7 = \"FIELD_7\",\n      /** message QuerySomethingRequest { .wix.common.QueryV2 query = 8; } */\n      FIELD_8 = \"FIELD_8\",\n      FIELD_9 = \"FIELD_9\"\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface Details extends DetailsKindOneOf {\n      applicationError?: ApplicationError;\n      validationError?: ValidationError;\n      systemError?: SystemError;\n      /**\n       * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n       * @deprecated\n       */\n      tracing?: Record<string, string>;\n  }\n  /** @oneof */\n  interface DetailsKindOneOf {\n      applicationError?: ApplicationError;\n      validationError?: ValidationError;\n      systemError?: SystemError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /**\n   * example result:\n   * {\n   * \"fieldViolations\": [\n   * {\n   * \"field\": \"fieldA\",\n   * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n   * \"violatedRule\": \"OTHER\",\n   * \"ruleName\": \"INVALID_NOTE\",\n   * \"data\": {\n   * \"value\": \"FI\"\n   * }\n   * },\n   * {\n   * \"field\": \"fieldB\",\n   * \"description\": \"field value out of range. supported range: [0-20]\",\n   * \"violatedRule\": \"MAX\",\n   * \"data\": {\n   * \"threshold\": 20\n   * }\n   * },\n   * {\n   * \"field\": \"fieldC\",\n   * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n   * \"violatedRule\": \"FORMAT\",\n   * \"data\": {\n   * \"type\": \"PHONE\"\n   * }\n   * }\n   * ]\n   * }\n   */\n  interface ValidationError {\n      fieldViolations?: FieldViolation[];\n  }\n  enum RuleType {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\",\n      EXACT_LENGTH = \"EXACT_LENGTH\",\n      EXACT_SIZE = \"EXACT_SIZE\"\n  }\n  interface FieldViolation {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  interface SystemError {\n      /** Error code. */\n      errorCode?: string | null;\n  }\n  enum Status {\n      UNKNOWN = \"UNKNOWN\",\n      /** Job is created, but hasn't started yet. */\n      INITIALIZED = \"INITIALIZED\",\n      /** Job has started and is in progress. */\n      PROCESSING = \"PROCESSING\",\n      /** Job is finished. */\n      FINISHED = \"FINISHED\",\n      /** Job has failed. */\n      FAILED = \"FAILED\"\n  }\n  interface CreateExportAsyncJobRequest {\n      /** WQL expression */\n      query: ExportQueryV2;\n      /** translated CSV headers */\n      fields: FieldDescriptor[];\n      arrayFieldDelimiter?: ArrayFieldDelimiter;\n      /** The target method to query data from */\n      methodMetadata: MethodMetadata;\n      /** The target method to query data from */\n      methodSpec?: MethodSpec;\n      saveAs?: string | null;\n      /** Test params */\n      testParams?: Record<string, any> | null;\n  }\n  interface CreateExportAsyncJobResponse {\n      /** The retrieved Exports */\n      job?: ExportAsyncJob;\n  }\n  interface GetExportAsyncJobRequest {\n      /** Id of the Export to retrieve */\n      jobId: string;\n  }\n  interface GetExportAsyncJobResponse {\n      /** The retrieved ExportAsyncJob */\n      job?: ExportAsyncJob;\n  }\n  interface CancelExportAsyncJobRequest {\n      /** Id of the Export to retrieve */\n      jobId: string;\n  }\n  interface CancelExportAsyncJobResponse {\n      /** The retrieved ExportAsyncJob */\n      job?: ExportAsyncJob;\n  }\n  interface GenerateExportAsyncJobDownloadUrlRequest {\n      /** Id of the Export to retrieve */\n      jobId: string;\n  }\n  interface GenerateExportAsyncJobDownloadUrlResponse {\n      /** The retrieved ExportAsyncJob */\n      job?: ExportAsyncJob;\n  }\n  interface QueryRequestLoose {\n      /** WQL expression */\n      query?: ExportQueryV2;\n  }\n  interface QueryVariantsExportSpiResponse {\n      items?: ProductOrVariant[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface ProductOrVariant {\n      kind?: string;\n      product?: Product;\n      variant?: StoreVariant;\n  }\n  interface Product {\n      /**\n       * Product ID (generated automatically by the catalog).\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Product name.\n       *\n       * Min: 1 character\n       * Max: 80 characters\n       */\n      name?: string | null;\n      /** A friendly URL name (generated automatically by the catalog when a product is created), can be updated. */\n      slug?: string;\n      /** Whether the product is visible to site visitors. */\n      visible?: boolean | null;\n      /** Currently, only creating physical products ( `\"productType\": \"physical\"` ) is supported via the API. */\n      productType?: ProductType;\n      /** Product description. Accepts [rich text](https://dev.wix.com/api/rest/wix-stores/rich-text). */\n      description?: string | null;\n      /** Stock keeping unit. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, SKUs will be set per variant, and this field will be empty. */\n      sku?: string | null;\n      /** Product weight. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, weight will be set per variant, and this field will be empty. */\n      weight?: number | null;\n      /**\n       * Product weight range. The minimum and maximum weights of all the variants.\n       * @readonly\n       */\n      weightRange?: NumericPropertyRange;\n      /**\n       * Product inventory status (in future this will be writable via Inventory API).\n       * @readonly\n       */\n      stock?: Stock;\n      /**\n       * Deprecated (use `priceData` instead).\n       * @readonly\n       * @deprecated\n       */\n      price?: PriceData;\n      /** Price data. */\n      priceData?: PriceData;\n      /**\n       * Price data, converted to the currency specified in request header.\n       * @readonly\n       */\n      convertedPriceData?: PriceData;\n      /**\n       * Product price range. The minimum and maximum prices of all the variants.\n       * @readonly\n       */\n      priceRange?: NumericPropertyRange;\n      /** Cost and profit data. */\n      costAndProfitData?: CostAndProfitData;\n      /**\n       * Product cost range. The minimum and maximum costs of all the variants.\n       * @readonly\n       */\n      costRange?: NumericPropertyRange;\n      /** Price per unit data. */\n      pricePerUnitData?: PricePerUnitData;\n      /** Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.). */\n      additionalInfoSections?: AdditionalInfoSection[];\n      /**\n       * Deprecated (use `ribbon` instead).\n       * @readonly\n       * @deprecated\n       */\n      ribbons?: Ribbon[];\n      /**\n       * Media items (images, videos etc) associated with this product (writable via [Add Product Media](https://dev.wix.com/api/rest/wix-stores/catalog/products/add-product-media) endpoint).\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI.\n       * @readonly\n       */\n      customTextFields?: CustomTextField[];\n      /** Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data. */\n      manageVariants?: boolean | null;\n      /** Options for this product. */\n      productOptions?: ProductOption[];\n      /**\n       * Product page URL for this product (generated automatically by the server).\n       * @readonly\n       */\n      productPageUrl?: PageUrl;\n      /**\n       * Product’s unique numeric ID (assigned in ascending order).\n       * Primarily used for sorting and filtering when crawling all products.\n       * @readonly\n       */\n      numericId?: string;\n      /**\n       * Inventory item ID - ID referencing the inventory system.\n       * @readonly\n       */\n      inventoryItemId?: string;\n      /** Discount deducted from the product's original price. */\n      discount?: Discount;\n      /**\n       * A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).\n       * @readonly\n       */\n      collectionIds?: string[];\n      /**\n       * Product variants, will be provided if the the request was sent with the `includeVariants: true`.\n       *\n       * Max: 1,000 variants\n       * @readonly\n       */\n      variants?: Variant[];\n      /**\n       * Date and time the product was last updated.\n       * @readonly\n       */\n      lastUpdated?: Date | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Custom SEO data for the product. */\n      seoData?: SeoSchema;\n      /** Product ribbon. Used to highlight relevant information about a product. For example, \"Sale\", \"New Arrival\", \"Sold Out\". */\n      ribbon?: string | null;\n      /** Product brand. Including a brand name can help improve site and product [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores). */\n      brand?: string | null;\n      /**\n       * tax group id\n       * @internal\n       */\n      taxGroupId?: string | null;\n      /**\n       * internal field used by import/export to know how to link products in csv file to product ids\n       * @internal\n       * @readonly\n       */\n      exportProductId?: string;\n      /**\n       * Digital file which will be downloaded by buyer after successful purchase.\n       * @internal\n       * @readonly\n       */\n      digitalFile?: SecuredMedia;\n  }\n  enum ProductType {\n      unspecified_product_type = \"unspecified_product_type\",\n      physical = \"physical\",\n      digital = \"digital\"\n  }\n  interface NumericPropertyRange {\n      /** Minimum value. */\n      minValue?: number;\n      /** Maximum value. */\n      maxValue?: number;\n  }\n  interface Stock {\n      /** Whether inventory is being tracked */\n      trackInventory?: boolean;\n      /** Quantity currently left in inventory */\n      quantity?: number | null;\n      /**\n       * Whether the product is currently in stock (relevant only when tracking manually)\n       * Deprecated (use `inventoryStatus` instead)\n       * @deprecated\n       */\n      inStock?: boolean;\n      /**\n       * The current status of the inventory\n       * + `IN_STOCK` - In stock\n       * + `OUT_OF_STOCK` - Not in stock\n       * + `PARTIALLY_OUT_OF_STOCK` - Some of the variants are not in stock\n       */\n      inventoryStatus?: InventoryStatus;\n  }\n  enum InventoryStatus {\n      /** In stock */\n      IN_STOCK = \"IN_STOCK\",\n      /** Not in stock */\n      OUT_OF_STOCK = \"OUT_OF_STOCK\",\n      /** Some of the variants are not in stock */\n      PARTIALLY_OUT_OF_STOCK = \"PARTIALLY_OUT_OF_STOCK\"\n  }\n  interface PriceData {\n      /**\n       * Product price currency\n       * @readonly\n       */\n      currency?: string;\n      /** Product price */\n      price?: number | null;\n      /**\n       * Discounted product price (if no discounted price is set, the product price is returned)\n       * @readonly\n       */\n      discountedPrice?: number;\n      /**\n       * The product price and discounted price, formatted with the currency\n       * @readonly\n       */\n      formatted?: FormattedPrice;\n      /**\n       * Price per unit\n       * @readonly\n       */\n      pricePerUnit?: number | null;\n  }\n  interface FormattedPrice {\n      /** Product price formatted with the currency */\n      price?: string;\n      /** Discounted product price formatted with the currency (if no discounted price is set, the product formatted price is returned) */\n      discountedPrice?: string;\n      /**\n       * Price per unit\n       * @readonly\n       */\n      pricePerUnit?: string | null;\n  }\n  interface CostAndProfitData {\n      /** Item cost. */\n      itemCost?: number | null;\n      /**\n       * Item cost formatted with currency symbol.\n       * @readonly\n       */\n      formattedItemCost?: string;\n      /**\n       * Profit. Calculated by reducing `cost` from `discounted_price`.\n       * @readonly\n       */\n      profit?: number;\n      /**\n       * Profit formatted with currency symbol.\n       * @readonly\n       */\n      formattedProfit?: string;\n      /**\n       * Profit Margin. Calculated by dividing `profit` by `discounted_price`.\n       * The result is rounded to 4 decimal places.\n       * @readonly\n       */\n      profitMargin?: number;\n  }\n  interface PricePerUnitData {\n      /** Total quantity */\n      totalQuantity?: number;\n      /** Total measurement unit */\n      totalMeasurementUnit?: MeasurementUnit;\n      /** Base quantity */\n      baseQuantity?: number;\n      /** Base measurement unit */\n      baseMeasurementUnit?: MeasurementUnit;\n  }\n  enum MeasurementUnit {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      ML = \"ML\",\n      CL = \"CL\",\n      L = \"L\",\n      CBM = \"CBM\",\n      MG = \"MG\",\n      G = \"G\",\n      KG = \"KG\",\n      MM = \"MM\",\n      CM = \"CM\",\n      M = \"M\",\n      SQM = \"SQM\",\n      OZ = \"OZ\",\n      LB = \"LB\",\n      FLOZ = \"FLOZ\",\n      PT = \"PT\",\n      QT = \"QT\",\n      GAL = \"GAL\",\n      IN = \"IN\",\n      FT = \"FT\",\n      YD = \"YD\",\n      SQFT = \"SQFT\"\n  }\n  interface AdditionalInfoSection {\n      /** Product info section title */\n      title?: string;\n      /** Product info section description */\n      description?: string;\n  }\n  interface Ribbon {\n      /** Ribbon text */\n      text?: string;\n  }\n  interface Media {\n      /** Primary media (image, video etc) associated with this product. */\n      mainMedia?: MediaItem;\n      /** Media (images, videos etc) associated with this product. */\n      items?: MediaItem[];\n  }\n  interface MediaItem extends MediaItemItemOneOf {\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo;\n      /** Media item thumbnail details. */\n      thumbnail?: MediaItemUrlAndSize;\n      /** Media item type (image, video, etc.). */\n      mediaType?: MediaItemType;\n      /** Media item title. */\n      title?: string;\n      /** Media ID (for example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`). */\n      _id?: string;\n  }\n  /** @oneof */\n  interface MediaItemItemOneOf {\n      /** Image data (URL, size). */\n      image?: MediaItemUrlAndSize;\n      /** Video data (URL, size). */\n      video?: MediaItemVideo;\n  }\n  interface MediaItemUrlAndSize {\n      /** Media item URL. */\n      url?: string;\n      /** Media item width. */\n      width?: number;\n      /** Media item height. */\n      height?: number;\n      /** Media format (mp4, png, etc.). */\n      format?: string | null;\n      /** Alt text. This text will be shown in case the image is not available. */\n      altText?: string | null;\n  }\n  enum MediaItemType {\n      unspecified_media_item_type = \"unspecified_media_item_type\",\n      /** Image media type. */\n      image = \"image\",\n      /** Video media type. */\n      video = \"video\",\n      /** Audio media type. */\n      audio = \"audio\",\n      /** Document media type. */\n      document = \"document\",\n      /** Zip media type. */\n      zip = \"zip\"\n  }\n  interface MediaItemVideo {\n      /** Data (URL, size) about each resolution for which this video is available. */\n      files?: MediaItemUrlAndSize[];\n      /** ID of an image taken from the video. Used primarily for Wix Search indexing. For example, `\"nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg\"`. */\n      stillFrameMediaId?: string;\n  }\n  interface CustomTextField {\n      /** Text box title */\n      title?: string;\n      /** Text box input max length */\n      maxLength?: number;\n      /** Whether this text box is mandatory */\n      mandatory?: boolean;\n  }\n  interface ProductOption {\n      /**\n       * Option type.\n       * @readonly\n       */\n      optionType?: OptionType;\n      /** Option name. */\n      name?: string;\n      /** Choices available for this option. */\n      choices?: Choice[];\n  }\n  enum OptionType {\n      /** Unspecified option type. */\n      unspecified_option_type = \"unspecified_option_type\",\n      /** Drop down. */\n      drop_down = \"drop_down\",\n      /** Color. */\n      color = \"color\"\n  }\n  interface Choice {\n      /** Choice value. */\n      value?: string;\n      /** Choice description. */\n      description?: string;\n      /**\n       * Media items (images, videos) associated with this choice\n       * @readonly\n       */\n      media?: Media;\n      /**\n       * Based on the customer’s choices, which (if any) variants that include the selected choices are in stock\n       * @readonly\n       */\n      inStock?: boolean;\n      /**\n       * Based on the customer’s choices, which (if any) variants that include the selected choices are visible\n       * @readonly\n       */\n      visible?: boolean;\n  }\n  interface PageUrl {\n      /** Base URL. For premium sites, this is the domain. For free sites, this is the site URL (e.g mysite.wixsite.com/mysite). */\n      base?: string;\n      /** Path to the product page - e.g /product-page/a-product. */\n      path?: string;\n  }\n  interface Discount {\n      /**\n       * Discount type:\n       * + `\"AMOUNT\"`\n       * + `\"PERCENT\"`\n       */\n      type?: DiscountType;\n      /** Discount value */\n      value?: number;\n  }\n  enum DiscountType {\n      UNDEFINED = \"UNDEFINED\",\n      /** No discount */\n      NONE = \"NONE\",\n      /** Discount by a fixed amount */\n      AMOUNT = \"AMOUNT\",\n      /** Discount by a percentage */\n      PERCENT = \"PERCENT\"\n  }\n  interface Variant {\n      /** Requested Variant ID */\n      _id?: string;\n      /** Specific choices within a selection, as option-choice key-value pairs */\n      choices?: Record<string, string>;\n      variant?: VariantDataWithNoStock;\n      /**\n       * Variant inventory status.\n       * @readonly\n       */\n      stock?: VariantStock;\n  }\n  interface VariantDataWithNoStock {\n      /** Variant price. */\n      priceData?: PriceData;\n      /**\n       * Variant price data, converted to currency requested in header.\n       * @readonly\n       */\n      convertedPriceData?: PriceData;\n      /** Cost and profit data. */\n      costAndProfitData?: CostAndProfitData;\n      /** Variant weight. */\n      weight?: number;\n      /** Variant SKU (stock keeping unit). */\n      sku?: string;\n      /** Whether the variant is visible to customers. */\n      visible?: boolean;\n  }\n  interface VariantStock {\n      /** Whether inventory is being tracked. */\n      trackQuantity?: boolean;\n      /** Quantity currently left in inventory. */\n      quantity?: number | null;\n      /** Whether the product is currently in stock (relevant only when tracking manually). */\n      inStock?: boolean;\n      /**\n       * The location of the inventory in question. None indicates the online-store default location.\n       * @internal\n       */\n      locationId?: string | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface SecuredMedia {\n      /** Media ID in Wix Media Manager. */\n      _id?: string;\n      /** Original filename. */\n      fileName?: string;\n      /** File type. */\n      fileType?: FileType;\n  }\n  enum FileType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  interface StoreVariant {\n      /** Store variant ID. Comprised of the `productId` and the `variantId`, separated by a hyphen: {productId}.{variantId}. */\n      _id?: string;\n      /** Variant ID. */\n      variantId?: string;\n      /** Product ID. */\n      productId?: string;\n      /** Variant name. */\n      variantName?: string;\n      /** Product name. */\n      productName?: string;\n      /** Whether the variant is managed or represents a product. */\n      managedVariant?: boolean;\n      /** Variant SKU (stock keeping unit). */\n      sku?: string;\n      /** Variant inventory status. */\n      stock?: VariantStock;\n      /** The selected options of this variant. For example, `{\"Color\": \"Blue\", \"Size\": \"Large\"}`. */\n      choices?: Record<string, string>;\n      /** Collections that include this variant. */\n      collectionIds?: string[];\n      /**\n       * Media items (images, videos) associated with this variant.\n       * @readonly\n       */\n      media?: PlatformMedia;\n      /** @internal */\n      customFields?: Record<string, any>;\n      /** Preorder information. */\n      preorderInfo?: PreorderInfo;\n  }\n  interface PlatformMedia extends PlatformMediaMediaOneOf {\n      image?: string;\n      video?: string;\n  }\n  /** @oneof */\n  interface PlatformMediaMediaOneOf {\n      image?: string;\n      video?: string;\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface PreorderInfo {\n      /** Whether the item is available for preorder. */\n      enabled?: boolean;\n      /** A message the buyer will see when the item is out of stock and preorder is enabled. */\n      message?: string | null;\n      /** Number of products that can be preordered after stock reaches zero. */\n      limit?: number | null;\n  }\n  interface QueryProductsExportSpiResponse {\n      items?: ProductOrVariantV2[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface ProductOrVariantV2 {\n      kind?: string;\n      product?: Product;\n      variant?: Variant;\n  }\n  /**\n   * Creates a new Export\n   * @param query - WQL expression\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.fields\n   * @requiredField options.methodMetadata\n   * @requiredField query\n   * @permissionId EXPORT_ASYNC_JOB.CREATE\n   * @adminMethod\n   */\n  function createExportAsyncJob(query: ExportQueryV2, options?: CreateExportAsyncJobOptions): Promise<CreateExportAsyncJobResponse>;\n  interface CreateExportAsyncJobOptions {\n      /** translated CSV headers */\n      fields: FieldDescriptor[];\n      arrayFieldDelimiter?: ArrayFieldDelimiter;\n      /** The target method to query data from */\n      methodMetadata: MethodMetadata;\n      /** The target method to query data from */\n      methodSpec?: MethodSpec;\n      saveAs?: string | null;\n      /** Test params */\n      testParams?: Record<string, any> | null;\n  }\n  /**\n   * Get a Export by id\n   * @param jobId - Id of the Export to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @permissionId EXPORT_ASYNC_JOB.CREATE\n   * @adminMethod\n   * @returns The retrieved ExportAsyncJob\n   */\n  function getExportAsyncJob(jobId: string): Promise<ExportAsyncJob>;\n  /** @param jobId - Id of the Export to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @permissionId EXPORT_ASYNC_JOB.CREATE\n   * @adminMethod\n   */\n  function cancelExportAsyncJob(jobId: string): Promise<CancelExportAsyncJobResponse>;\n  /** @param jobId - Id of the Export to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @permissionId EXPORT_ASYNC_JOB.CREATE\n   * @adminMethod\n   */\n  function generateExportAsyncJobDownloadUrl(jobId: string): Promise<GenerateExportAsyncJobDownloadUrlResponse>;\n  \n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ExportAsyncJob = ExportAsyncJob;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ExportAsyncJobData = ExportAsyncJobData;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ExportQueryV2 = ExportQueryV2;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ExportQueryV2PagingMethodOneOf = ExportQueryV2PagingMethodOneOf;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Sorting = Sorting;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_SortOrder = SortOrder;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_SortOrder: typeof SortOrder;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Paging = Paging;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ExportCursorPaging = ExportCursorPaging;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_FieldDescriptor = FieldDescriptor;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ArrayFieldDelimiter = ArrayFieldDelimiter;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_ArrayFieldDelimiter: typeof ArrayFieldDelimiter;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_MethodMetadata = MethodMetadata;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_MethodSpec = MethodSpec;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_QueryFieldNumber = QueryFieldNumber;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_QueryFieldNumber: typeof QueryFieldNumber;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Cursors = Cursors;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Details = Details;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_DetailsKindOneOf = DetailsKindOneOf;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ApplicationError = ApplicationError;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ValidationError = ValidationError;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_RuleType = RuleType;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_RuleType: typeof RuleType;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_FieldViolation = FieldViolation;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_SystemError = SystemError;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Status = Status;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_Status: typeof Status;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_CreateExportAsyncJobRequest = CreateExportAsyncJobRequest;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_CreateExportAsyncJobResponse = CreateExportAsyncJobResponse;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_GetExportAsyncJobRequest = GetExportAsyncJobRequest;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_GetExportAsyncJobResponse = GetExportAsyncJobResponse;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_CancelExportAsyncJobRequest = CancelExportAsyncJobRequest;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_CancelExportAsyncJobResponse = CancelExportAsyncJobResponse;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_GenerateExportAsyncJobDownloadUrlRequest = GenerateExportAsyncJobDownloadUrlRequest;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_GenerateExportAsyncJobDownloadUrlResponse = GenerateExportAsyncJobDownloadUrlResponse;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_QueryRequestLoose = QueryRequestLoose;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_QueryVariantsExportSpiResponse = QueryVariantsExportSpiResponse;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ProductOrVariant = ProductOrVariant;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Product = Product;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ProductType = ProductType;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_ProductType: typeof ProductType;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_NumericPropertyRange = NumericPropertyRange;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Stock = Stock;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_InventoryStatus = InventoryStatus;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_InventoryStatus: typeof InventoryStatus;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_PriceData = PriceData;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_FormattedPrice = FormattedPrice;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_CostAndProfitData = CostAndProfitData;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_PricePerUnitData = PricePerUnitData;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_MeasurementUnit = MeasurementUnit;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_MeasurementUnit: typeof MeasurementUnit;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_AdditionalInfoSection = AdditionalInfoSection;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Ribbon = Ribbon;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Media = Media;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItem = MediaItem;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItemItemOneOf = MediaItemItemOneOf;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItemUrlAndSize = MediaItemUrlAndSize;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItemType = MediaItemType;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItemType: typeof MediaItemType;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItemVideo = MediaItemVideo;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_CustomTextField = CustomTextField;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ProductOption = ProductOption;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_OptionType = OptionType;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_OptionType: typeof OptionType;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Choice = Choice;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_PageUrl = PageUrl;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Discount = Discount;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_DiscountType = DiscountType;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_DiscountType: typeof DiscountType;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Variant = Variant;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_VariantDataWithNoStock = VariantDataWithNoStock;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_VariantStock = VariantStock;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_SeoSchema = SeoSchema;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Keyword = Keyword;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Tag = Tag;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_Settings = Settings;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_SecuredMedia = SecuredMedia;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_FileType = FileType;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_FileType: typeof FileType;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_StoreVariant = StoreVariant;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_PlatformMedia = PlatformMedia;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_PlatformMediaMediaOneOf = PlatformMediaMediaOneOf;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_FocalPoint = FocalPoint;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_VideoResolution = VideoResolution;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_PreorderInfo = PreorderInfo;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_QueryProductsExportSpiResponse = QueryProductsExportSpiResponse;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_ProductOrVariantV2 = ProductOrVariantV2;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_createExportAsyncJob: typeof createExportAsyncJob;\n  type fedinfraExportserviceV1ExportAsyncJob_universal_d_CreateExportAsyncJobOptions = CreateExportAsyncJobOptions;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_getExportAsyncJob: typeof getExportAsyncJob;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_cancelExportAsyncJob: typeof cancelExportAsyncJob;\n  const fedinfraExportserviceV1ExportAsyncJob_universal_d_generateExportAsyncJobDownloadUrl: typeof generateExportAsyncJobDownloadUrl;\n  namespace fedinfraExportserviceV1ExportAsyncJob_universal_d {\n    export {\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ExportAsyncJob as ExportAsyncJob,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ExportAsyncJobData as ExportAsyncJobData,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ExportQueryV2 as ExportQueryV2,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ExportQueryV2PagingMethodOneOf as ExportQueryV2PagingMethodOneOf,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Sorting as Sorting,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_SortOrder as SortOrder,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Paging as Paging,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ExportCursorPaging as ExportCursorPaging,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_FieldDescriptor as FieldDescriptor,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ArrayFieldDelimiter as ArrayFieldDelimiter,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_MethodMetadata as MethodMetadata,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_MethodSpec as MethodSpec,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_QueryFieldNumber as QueryFieldNumber,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Cursors as Cursors,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Details as Details,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_DetailsKindOneOf as DetailsKindOneOf,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ApplicationError as ApplicationError,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ValidationError as ValidationError,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_RuleType as RuleType,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_FieldViolation as FieldViolation,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_SystemError as SystemError,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Status as Status,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_CreateExportAsyncJobRequest as CreateExportAsyncJobRequest,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_CreateExportAsyncJobResponse as CreateExportAsyncJobResponse,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_GetExportAsyncJobRequest as GetExportAsyncJobRequest,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_GetExportAsyncJobResponse as GetExportAsyncJobResponse,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_CancelExportAsyncJobRequest as CancelExportAsyncJobRequest,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_CancelExportAsyncJobResponse as CancelExportAsyncJobResponse,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_GenerateExportAsyncJobDownloadUrlRequest as GenerateExportAsyncJobDownloadUrlRequest,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_GenerateExportAsyncJobDownloadUrlResponse as GenerateExportAsyncJobDownloadUrlResponse,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_QueryRequestLoose as QueryRequestLoose,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_QueryVariantsExportSpiResponse as QueryVariantsExportSpiResponse,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ProductOrVariant as ProductOrVariant,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Product as Product,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ProductType as ProductType,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_NumericPropertyRange as NumericPropertyRange,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Stock as Stock,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_InventoryStatus as InventoryStatus,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_PriceData as PriceData,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_FormattedPrice as FormattedPrice,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_CostAndProfitData as CostAndProfitData,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_PricePerUnitData as PricePerUnitData,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_MeasurementUnit as MeasurementUnit,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_AdditionalInfoSection as AdditionalInfoSection,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Ribbon as Ribbon,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Media as Media,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItem as MediaItem,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItemItemOneOf as MediaItemItemOneOf,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItemUrlAndSize as MediaItemUrlAndSize,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItemType as MediaItemType,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_MediaItemVideo as MediaItemVideo,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_CustomTextField as CustomTextField,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ProductOption as ProductOption,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_OptionType as OptionType,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Choice as Choice,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_PageUrl as PageUrl,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Discount as Discount,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_DiscountType as DiscountType,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Variant as Variant,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_VariantDataWithNoStock as VariantDataWithNoStock,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_VariantStock as VariantStock,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_SeoSchema as SeoSchema,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Keyword as Keyword,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Tag as Tag,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_Settings as Settings,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_SecuredMedia as SecuredMedia,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_FileType as FileType,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_StoreVariant as StoreVariant,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_PlatformMedia as PlatformMedia,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_PlatformMediaMediaOneOf as PlatformMediaMediaOneOf,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_FocalPoint as FocalPoint,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_VideoResolution as VideoResolution,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_PreorderInfo as PreorderInfo,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_QueryProductsExportSpiResponse as QueryProductsExportSpiResponse,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_ProductOrVariantV2 as ProductOrVariantV2,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_createExportAsyncJob as createExportAsyncJob,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_CreateExportAsyncJobOptions as CreateExportAsyncJobOptions,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_getExportAsyncJob as getExportAsyncJob,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_cancelExportAsyncJob as cancelExportAsyncJob,\n      fedinfraExportserviceV1ExportAsyncJob_universal_d_generateExportAsyncJobDownloadUrl as generateExportAsyncJobDownloadUrl,\n    };\n  }\n  \n  export { fedinfraExportserviceV1ExportAsyncJob_universal_d as exportAsyncJob };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-fqdn-definitions-backend.d.ts",
      "content": "declare module \"wix-fqdn-definitions-backend\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface FqdnDefinition {\n      /**\n       * name of the fqdn.\n       *\n       * e.g. wix.stores.v1.catalog\n       */\n      fqdn?: string;\n      entityTransformations?: EntityTransformations;\n      /**\n       * All EDMs that this FQDN is contained in and its custom transformations, if any.\n       *\n       * Example:\n       *\n       * [\n       * { \"edmName\": \"wix-dev-backend\" },\n       * {\n       * \"edmName\": \"wix-members-backend\",\n       * \"methodOverrides\": [\n       * {\n       * \"originalMethodName\": \"GetProfile\",\n       * \"edmMethodName\": \"GetMemberProfile\"\n       * \"return\": {\n       * \"transformations\": {\n       * simpleMapping: \"$.foo.bar\"\n       * }\n       * }\n       * }\n       * ]\n       * }\n       * ]\n       */\n      edmDefinitions?: EdmDefinitionOfFqdn[];\n      /** Docs for this entity */\n      documentation?: Documentation;\n      /**\n       * Custom transformation for events.\n       *\n       * Example:\n       *\n       * [\n       * {\n       * \"functionName\":\"wixStores_onProductCreated\",\n       * \"transformations\": {\n       * \"simpleMapping\": \"$.foo.bar\"\n       * }\n       * }\n       * ]\n       */\n      eventDefinitions?: EventDefinition[];\n      /**\n       * DB driver definition of fqdn.\n       *\n       * Example:\n       *\n       * {\n       * \"dbDriverName\": \"Stores\",\n       * \"collectionName\": \"Products\"\n       * }\n       */\n      dbDriverDefinition?: DbDriverDefinitionOfFqdn;\n      /** Calculated MD5 hash of the FQDN definition. */\n      fqdnDefinitionHash?: string;\n  }\n  interface EntityTransformations {\n      /** From Velo entity to Proto one */\n      fromVelo?: Transformation;\n      /** From Proto entity to Velo one */\n      toVelo?: Transformation;\n      /** Paths of [nested] fields to ignore when renaming keys to and from velo style */\n      ignorePathsForKeyRenames?: string[];\n  }\n  interface Transformation extends TransformationKindOneOf {\n      /** E.g. { \"secret\": { \"name\": \"$[0]\", \"value\": \"$[1]\", \"description\": \"$[2].options.description\" } } */\n      complexMapping?: Record<string, any> | null;\n      /** E.g. \"$.id\" */\n      simpleMapping?: string;\n  }\n  /** @oneof */\n  interface TransformationKindOneOf {\n      /** E.g. { \"secret\": { \"name\": \"$[0]\", \"value\": \"$[1]\", \"description\": \"$[2].options.description\" } } */\n      complexMapping?: Record<string, any> | null;\n      /** E.g. \"$.id\" */\n      simpleMapping?: string;\n  }\n  interface EdmDefinitionOfFqdn {\n      edmName?: string;\n      methodOverrides?: MethodTransform[];\n      /** Namespace which the FQDN will be exposed under in the EDM */\n      namespace?: string;\n      documentation?: Documentation;\n      /**\n       * By default, the namespace is linked to the FQDN.\n       * If you want to link the namespace to a implementing service (the service fqn), you can explicitly specify the fqn.\n       */\n      service?: string | null;\n  }\n  interface MethodTransform {\n      /** The original method name that should be overriden */\n      originalMethodName?: string;\n      /** The new method name to be used in the generated EDM, optional */\n      edmMethodName?: string;\n      /** Any transformations on input arguments */\n      input?: Arguments;\n      /** Any transformation on return values */\n      return?: Arguments;\n      /** Example files for the EDM Method */\n      examples?: Example[];\n      /** Any documentation we need to add / override at the method level */\n      documentation?: Documentation;\n      /** Any documentation we need to add / override at the method level for any sdk type */\n      documentations?: Documentation[];\n      /** should be annotated explicitly if the method can be called only with server identity */\n      serverOnly?: boolean | null;\n      /** should be annotated explicitly if the method should override exposure from proto */\n      exposure?: ExposureOverride;\n      /** should be annotated explicitly if the documentation of the method has been vetted */\n      documentationMaturity?: DocumentationMaturity;\n  }\n  interface Arguments {\n      /** The argument names in the method */\n      names?: string[];\n      /** Any transformations we need for method arguments */\n      transformations?: Transformation;\n      /** Any documentation needed for arguments */\n      documentation?: Documentation;\n  }\n  interface Documentation {\n      /** Path to a general description file above the entity / method */\n      mdFilePath?: string | null;\n      /** General descriptor for a complete entity / method */\n      description?: string | null;\n      /** Opened an issue regarding validations for strings in maps: https://github.com/wix-private/nile-tracker/issues/955 */\n      paramOverrides?: Record<string, string>;\n      /** Opened an issue regarding validations for strings in maps: https://github.com/wix-private/nile-tracker/issues/955 */\n      typeOverrides?: Record<string, string>;\n      /** Opened an issue regarding validations for strings in maps: https://github.com/wix-private/nile-tracker/issues/955 */\n      eventsTypesOverrides?: Record<string, string>;\n      sdkType?: SdkType;\n  }\n  enum SdkType {\n      ALL = \"ALL\",\n      VELO = \"VELO\",\n      PUBLIC_SDK = \"PUBLIC_SDK\"\n  }\n  interface Example {\n      /** The file path in the EDM definition repo */\n      fileName?: string;\n      /** The title of the file to be displayed in the DOCs */\n      title?: string;\n      /** example content */\n      content?: string;\n      exampleType?: ExampleType;\n  }\n  enum ExampleType {\n      VELO = \"VELO\",\n      PUBLIC_SDK = \"PUBLIC_SDK\"\n  }\n  enum ExposureOverride {\n      UNKNOWN = \"UNKNOWN\",\n      PRIVATE = \"PRIVATE\",\n      PUBLIC = \"PUBLIC\"\n  }\n  enum DocumentationMaturity {\n      UNDEFINED = \"UNDEFINED\",\n      PREVIEW = \"PREVIEW\",\n      READY = \"READY\"\n  }\n  interface EventDefinition {\n      /** event function name E.g. wixStores_onProductCreated */\n      functionName?: string;\n      /** custom transformation for event */\n      transformation?: Transformation;\n      /** Any documentation we need to add / override */\n      documentation?: EventDocumentation;\n      /** examples for event function */\n      examples?: Example[];\n  }\n  interface EventDocumentation {\n      /** General descriptor of the event */\n      description?: string | null;\n      /** Opened an issue regarding validations for strings in maps: https://github.com/wix-private/nile-tracker/issues/955 */\n      paramOverrides?: Record<string, string>;\n      /** should be annotated explicitly if the documentation of the method has been vetted */\n      documentationMaturity?: DocumentationMaturity;\n  }\n  interface DbDriverDefinitionOfFqdn {\n      /** The name of the DB driver that this fqdn will be contained in. */\n      dbDriverName?: string;\n      /** The name of the collection that this fqdn appears as in the db driver. */\n      collectionName?: string;\n      /** Opened an issue regarding validations for strings in maps: https://github.com/wix-private/nile-tracker/issues/955 */\n      queryOverrides?: Record<string, QueryOverridesFieldValue>;\n  }\n  interface QueryOverridesFieldValue {\n      value?: any;\n  }\n  interface GetRequest {\n      fqdnName?: string;\n  }\n  interface GetResponse {\n      fqdnDefinition?: FqdnDefinition;\n  }\n  interface GetFqdnDefinitionRequest {\n      fqdnName: string;\n  }\n  interface GetFqdnDefinitionResponse {\n      fqdnDefinition?: FqdnDefinition;\n  }\n  interface DeleteFqdnDefinitionRequest {\n      fqdnName?: string;\n  }\n  interface DeleteFqdnDefinitionResponse {\n  }\n  interface ResetFqdnDefinitionCacheRequest {\n      fqdnName?: string;\n  }\n  interface ResetFqdnDefinitionCacheResponse {\n  }\n  interface TriggerFqdnChangeRequest {\n      fqdnName?: string;\n  }\n  interface TriggerFqdnChangeResponse {\n  }\n  interface RegisterEdmDefinitionToFqdnRequest {\n      fqdn?: string;\n      edmDefinition?: EdmDefinitionOfFqdn;\n  }\n  interface RegisterEdmDefinitionToFqdnResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField fqdnName\n   * @adminMethod\n   */\n  function getFqdnDefinition(fqdnName: string): Promise<GetFqdnDefinitionResponse>;\n  \n  export { ActionEvent, Arguments, DbDriverDefinitionOfFqdn, DeleteFqdnDefinitionRequest, DeleteFqdnDefinitionResponse, Documentation, DocumentationMaturity, DomainEvent, DomainEventBodyOneOf, EdmDefinitionOfFqdn, EntityCreatedEvent, EntityDeletedEvent, EntityTransformations, EntityUpdatedEvent, EventDefinition, EventDocumentation, Example, ExampleType, ExposureOverride, FqdnDefinition, GetFqdnDefinitionRequest, GetFqdnDefinitionResponse, GetRequest, GetResponse, MethodTransform, QueryOverridesFieldValue, RegisterEdmDefinitionToFqdnRequest, RegisterEdmDefinitionToFqdnResponse, ResetFqdnDefinitionCacheRequest, ResetFqdnDefinitionCacheResponse, SdkType, Transformation, TransformationKindOneOf, TriggerFqdnChangeRequest, TriggerFqdnChangeResponse, __debug, getFqdnDefinition };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-settings.v2.d.ts",
      "content": "declare module \"wix-settings.v2\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface AppSettings {\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The app global settings */\n      settings?: Record<string, any> | null;\n      /** Translatable textual assets - not using a collection because this type only the get flow (which should return a single value) */\n      translations?: Record<string, string>;\n  }\n  /** The state of the settings (Saved or Published) */\n  enum State {\n      /** Not relevant */\n      NR = \"NR\",\n      SAVED = \"SAVED\",\n      PUBLISHED = \"PUBLISHED\"\n  }\n  /** The host in which the settings are displayed */\n  enum Host {\n      NA = \"NA\",\n      VIEWER = \"VIEWER\",\n      BUSINESS_MANAGER = \"BUSINESS_MANAGER\",\n      ONE_APP = \"ONE_APP\"\n  }\n  interface SetComponentSettingsRequest {\n      /** The component Id */\n      componentId: string | null;\n      /** The data we'd like to store for this component */\n      settings?: Record<string, any> | null;\n      /** The state to set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD ** */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states to set in */\n      states?: State[];\n  }\n  /** The translated language that contains the key and its translations */\n  interface TranslatedLanguage {\n      /** The key of the translations' language */\n      languageKey?: LanguageKey;\n      /** Key-value pair mapping of textual assets */\n      translations?: Record<string, string>;\n  }\n  /** The language key of the saved multilingual data */\n  interface LanguageKey {\n      /** e.g. en */\n      languageCode?: string;\n      /** e.g. us */\n      regionCode?: string;\n      /** default: '' */\n      scriptVariant?: string;\n  }\n  interface SetComponentSettingsResponse {\n      /** Echo of the component settings */\n      settings?: Record<string, any> | null;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  interface SetComponentSettingsForMigrationRequest {\n      /** The component Id */\n      componentId?: string | null;\n      /** The data we'd like to store for this component */\n      settings?: Record<string, any> | null;\n      /** The state to set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD ** */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states to set in */\n      states?: State[];\n      /** The appDefId for migration */\n      appDefId?: string;\n      /** The instanceId for migration (msid) */\n      instanceId?: string;\n  }\n  interface SetComponentSettingsForMigrationResponse {\n      /** Echo of the component settings */\n      settings?: Record<string, any> | null;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  interface GetComponentSettingsRequest {\n      /** The component we want data for. Component ids can be from the site or oneApp */\n      componentId: string | null;\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n      /** Whether it is critical to get Global Settings as well */\n      includeGlobalSettings?: boolean;\n  }\n  interface GetComponentSettingsResponse {\n      /** Component settings for the requested component id */\n      settings?: Record<string, any> | null;\n      /** The data state of the response */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** based on x-wix-language or fallback */\n      translations?: Record<string, string>;\n      /** Optional. The global app settings */\n      globalSettings?: AppSettings;\n  }\n  interface BulkGetComponentSettingsRequest {\n      /** The component we want data for. Component ids can be from the site or oneApp */\n      componentIds?: string[];\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n  }\n  interface BulkGetComponentSettingsResponse {\n      componentSettings?: ComponentSettings[];\n  }\n  interface ComponentSettings {\n      componentId?: string;\n      /** Component settings for the requested component id */\n      settings?: Record<string, any> | null;\n      /** The data state of the response */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** based on x-wix-language or fallback */\n      translations?: Record<string, string>;\n  }\n  interface SetGlobalSettingsRequest {\n      /** The global settings for the app */\n      settings?: Record<string, any> | null;\n      /** Any components we would like to set */\n      componentSettings?: SetComponentSettingsItem[];\n      /** The state this is set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD ** */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  interface SetComponentSettingsItem {\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The component we want data for. Component ids can be from the site or oneApp */\n      componentId?: string | null;\n      /** The component settings */\n      settings?: Record<string, any> | null;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n  }\n  interface SetGlobalSettingsResponse {\n      /** The data we have not for the App */\n      settings?: Record<string, any> | null;\n      /** The data we have for the components */\n      componentSettings?: SetComponentSettingsItem[];\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  interface GetGlobalSettingsRequest {\n      /** The requested state, default is published */\n      state?: State;\n      /** Allow to filter by host to get only components for that host */\n      host?: Host;\n      /** If component settings data should also be returned */\n      includeComponentSettings?: boolean;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n  }\n  interface GetGlobalSettingsResponse {\n      /** The state of the app */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The global app settings */\n      settings?: Record<string, any> | null;\n      /** Optional. All components listed. may include components from the site or oneApp */\n      componentSettings?: GetComponentSettingsItem[];\n      /** based on x-wix-language or fallback */\n      translations?: Record<string, string>;\n  }\n  interface GetComponentSettingsItem {\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The component we want data for. Component ids can be from the site or oneApp */\n      componentId?: string | null;\n      /** The component settings */\n      settings?: Record<string, any> | null;\n      /** Translatable textual assets - not using a collection because this type only the get flow (which should return a single value) */\n      translations?: Record<string, string>;\n  }\n  interface SetGlobalSettingsForMigrationRequest {\n      /** The global settings for the app */\n      settings?: Record<string, any> | null;\n      /** Any components we would like to set */\n      componentSettings?: SetComponentSettingsItem[];\n      /** The state this is set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD ** */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n      /** The appDefId for migration */\n      appDefId?: string;\n      /** The instanceId for migration (msid) */\n      instanceId?: string;\n  }\n  interface SetGlobalSettingsForMigrationResponse {\n      /** The data we have not for the App */\n      settings?: Record<string, any> | null;\n      /** The data we have for the components */\n      componentSettings?: SetComponentSettingsItem[];\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  interface GetGlobalSettingsForMigrationRequest {\n      /** The requested state, default is published */\n      state?: State;\n      /** Allow to filter by host to get only components for that host */\n      host?: Host;\n      /** If component settings data should also be returned */\n      includeComponentSettings?: boolean;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n      /** The appDefId for migration */\n      appDefId?: string;\n      /** The instanceId for migration (msid) */\n      instanceId?: string;\n  }\n  interface GetGlobalSettingsForMigrationResponse {\n      /** The state of the app */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The global app settings */\n      settings?: Record<string, any> | null;\n      /** Optional. All components listed. may include components from the site or oneApp */\n      componentSettings?: GetComponentSettingsItem[];\n      /** Translatable textual assets (returns unfiltered global translations when languageKey is omitted) */\n      translations?: TranslatedLanguage[];\n  }\n  interface GetRequest {\n      /** id of app-scoped settings */\n      externalAppId?: string | null;\n      /** id of component-scoped settings */\n      externalComponentId?: string | null;\n      /** desired fields to retrieve on either GetResponse.app_settings or GetResponse.component_settings */\n      fields?: string[];\n  }\n  interface GetResponse {\n      /** app-scoped settings; */\n      appSettings?: Record<string, any> | null;\n      /** component-scoped settings; */\n      componentSettings?: Record<string, any> | null;\n  }\n  interface SetRequest {\n      /** id of settings snapshot */\n      externalId: string | null;\n      /** scope of settings to store */\n      scope: Scope;\n      /** settings themselves; */\n      data: Record<string, any> | null;\n  }\n  /** scope of settings when creating/updating; */\n  enum Scope {\n      /** multiple instances of a tpa can share same settings; */\n      APP = \"APP\",\n      /** scoped to a single component of an app; */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface SetResponse {\n  }\n  interface UpdateRequest {\n      /** id of settings snapshot */\n      externalId: string | null;\n      /** scope of settings to update */\n      scope: Scope;\n      /** changed fields in provided data */\n      fields: string[];\n      /** data itself */\n      data: Record<string, any> | null;\n  }\n  interface UpdateResponse {\n      /** new if of stored settings snapshot */\n      newExternalId?: string | null;\n  }\n  /**\n   * Set component settings by componentId\n   * @param componentId - The component Id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField componentId\n   * @adminMethod\n   */\n  function setComponentSettings(componentId: string | null, options?: SetComponentSettingsOptions): Promise<SetComponentSettingsResponse>;\n  interface SetComponentSettingsOptions {\n      /** The data we'd like to store for this component */\n      settings?: Record<string, any> | null;\n      /** The state to set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states to set in */\n      states?: State[];\n  }\n  /**\n   * Get component settings by componentId\n   * @param componentId - The component we want data for. Component ids can be from the site or oneApp\n   * @public\n   * @documentationMaturity preview\n   * @requiredField componentId\n   * @adminMethod\n   */\n  function getComponentSettings(componentId: string | null, options?: GetComponentSettingsOptions): Promise<GetComponentSettingsResponse>;\n  interface GetComponentSettingsOptions {\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n      /** Whether it is critical to get Global Settings as well */\n      includeGlobalSettings?: boolean;\n  }\n  /**\n   * Get component settings by componentId\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function bulkGetComponentSettings(options?: BulkGetComponentSettingsOptions): Promise<BulkGetComponentSettingsResponse>;\n  interface BulkGetComponentSettingsOptions {\n      /** The component we want data for. Component ids can be from the site or oneApp */\n      componentIds?: string[];\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n  }\n  /**\n   * Set global settings by instanceId (extracted from Authorization)\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function setGlobalSettings(options?: SetGlobalSettingsOptions): Promise<SetGlobalSettingsResponse>;\n  interface SetGlobalSettingsOptions {\n      /** The global settings for the app */\n      settings?: Record<string, any> | null;\n      /** Any components we would like to set */\n      componentSettings?: SetComponentSettingsItem[];\n      /** The state this is set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  /**\n   * Get global settings by instanceId (extracted from Authorization)\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getGlobalSettings(options?: GetGlobalSettingsOptions): Promise<GetGlobalSettingsResponse>;\n  interface GetGlobalSettingsOptions {\n      /** The requested state, default is published */\n      state?: State;\n      /** Allow to filter by host to get only components for that host */\n      host?: Host;\n      /** If component settings data should also be returned */\n      includeComponentSettings?: boolean;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n  }\n  /**\n   * retrieve settings for site. app and component-scoped settings ids can be provided.\n   * looks-up settings for one or both ids provided.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function get(options?: GetOptions): Promise<GetResponse>;\n  interface GetOptions {\n      /** id of app-scoped settings */\n      externalAppId?: string | null;\n      /** id of component-scoped settings */\n      externalComponentId?: string | null;\n      /** desired fields to retrieve on either GetResponse.app_settings or GetResponse.component_settings */\n      fields?: string[];\n  }\n  /**\n   * store new snapshot of settings on server\n   * @param data - settings themselves;\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField data\n   * @requiredField identifiers\n   * @requiredField identifiers.externalId\n   * @requiredField identifiers.scope\n   * @adminMethod\n   */\n  function set(identifiers: SetIdentifiers, data: Record<string, any> | null): Promise<void>;\n  interface SetIdentifiers {\n      /** scope of settings to store */\n      scope: Scope;\n      /** id of settings snapshot */\n      externalId: string | null;\n  }\n  /**\n   * create new snapshot of settings (patch)\n   * @param fields - changed fields in provided data\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fields\n   * @requiredField identifiers\n   * @requiredField identifiers.externalId\n   * @requiredField identifiers.scope\n   * @requiredField options\n   * @requiredField options.data\n   * @adminMethod\n   */\n  function update(identifiers: UpdateIdentifiers, fields: string[], options: UpdateOptions): Promise<UpdateResponse>;\n  interface UpdateIdentifiers {\n      /** scope of settings to update */\n      scope: Scope;\n      /** id of settings snapshot */\n      externalId: string | null;\n  }\n  interface UpdateOptions {\n      /** data itself */\n      data: Record<string, any> | null;\n  }\n  \n  const appSettingsV1Settings_universal_d___debug: typeof __debug;\n  type appSettingsV1Settings_universal_d_AppSettings = AppSettings;\n  type appSettingsV1Settings_universal_d_State = State;\n  const appSettingsV1Settings_universal_d_State: typeof State;\n  type appSettingsV1Settings_universal_d_Host = Host;\n  const appSettingsV1Settings_universal_d_Host: typeof Host;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsRequest = SetComponentSettingsRequest;\n  type appSettingsV1Settings_universal_d_TranslatedLanguage = TranslatedLanguage;\n  type appSettingsV1Settings_universal_d_LanguageKey = LanguageKey;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsResponse = SetComponentSettingsResponse;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsForMigrationRequest = SetComponentSettingsForMigrationRequest;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsForMigrationResponse = SetComponentSettingsForMigrationResponse;\n  type appSettingsV1Settings_universal_d_GetComponentSettingsRequest = GetComponentSettingsRequest;\n  type appSettingsV1Settings_universal_d_GetComponentSettingsResponse = GetComponentSettingsResponse;\n  type appSettingsV1Settings_universal_d_BulkGetComponentSettingsRequest = BulkGetComponentSettingsRequest;\n  type appSettingsV1Settings_universal_d_BulkGetComponentSettingsResponse = BulkGetComponentSettingsResponse;\n  type appSettingsV1Settings_universal_d_ComponentSettings = ComponentSettings;\n  type appSettingsV1Settings_universal_d_SetGlobalSettingsRequest = SetGlobalSettingsRequest;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsItem = SetComponentSettingsItem;\n  type appSettingsV1Settings_universal_d_SetGlobalSettingsResponse = SetGlobalSettingsResponse;\n  type appSettingsV1Settings_universal_d_GetGlobalSettingsRequest = GetGlobalSettingsRequest;\n  type appSettingsV1Settings_universal_d_GetGlobalSettingsResponse = GetGlobalSettingsResponse;\n  type appSettingsV1Settings_universal_d_GetComponentSettingsItem = GetComponentSettingsItem;\n  type appSettingsV1Settings_universal_d_SetGlobalSettingsForMigrationRequest = SetGlobalSettingsForMigrationRequest;\n  type appSettingsV1Settings_universal_d_SetGlobalSettingsForMigrationResponse = SetGlobalSettingsForMigrationResponse;\n  type appSettingsV1Settings_universal_d_GetGlobalSettingsForMigrationRequest = GetGlobalSettingsForMigrationRequest;\n  type appSettingsV1Settings_universal_d_GetGlobalSettingsForMigrationResponse = GetGlobalSettingsForMigrationResponse;\n  type appSettingsV1Settings_universal_d_GetRequest = GetRequest;\n  type appSettingsV1Settings_universal_d_GetResponse = GetResponse;\n  type appSettingsV1Settings_universal_d_SetRequest = SetRequest;\n  type appSettingsV1Settings_universal_d_Scope = Scope;\n  const appSettingsV1Settings_universal_d_Scope: typeof Scope;\n  type appSettingsV1Settings_universal_d_SetResponse = SetResponse;\n  type appSettingsV1Settings_universal_d_UpdateRequest = UpdateRequest;\n  type appSettingsV1Settings_universal_d_UpdateResponse = UpdateResponse;\n  const appSettingsV1Settings_universal_d_setComponentSettings: typeof setComponentSettings;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsOptions = SetComponentSettingsOptions;\n  const appSettingsV1Settings_universal_d_getComponentSettings: typeof getComponentSettings;\n  type appSettingsV1Settings_universal_d_GetComponentSettingsOptions = GetComponentSettingsOptions;\n  const appSettingsV1Settings_universal_d_bulkGetComponentSettings: typeof bulkGetComponentSettings;\n  type appSettingsV1Settings_universal_d_BulkGetComponentSettingsOptions = BulkGetComponentSettingsOptions;\n  const appSettingsV1Settings_universal_d_setGlobalSettings: typeof setGlobalSettings;\n  type appSettingsV1Settings_universal_d_SetGlobalSettingsOptions = SetGlobalSettingsOptions;\n  const appSettingsV1Settings_universal_d_getGlobalSettings: typeof getGlobalSettings;\n  type appSettingsV1Settings_universal_d_GetGlobalSettingsOptions = GetGlobalSettingsOptions;\n  const appSettingsV1Settings_universal_d_get: typeof get;\n  type appSettingsV1Settings_universal_d_GetOptions = GetOptions;\n  const appSettingsV1Settings_universal_d_set: typeof set;\n  type appSettingsV1Settings_universal_d_SetIdentifiers = SetIdentifiers;\n  const appSettingsV1Settings_universal_d_update: typeof update;\n  type appSettingsV1Settings_universal_d_UpdateIdentifiers = UpdateIdentifiers;\n  type appSettingsV1Settings_universal_d_UpdateOptions = UpdateOptions;\n  namespace appSettingsV1Settings_universal_d {\n    export {\n      appSettingsV1Settings_universal_d___debug as __debug,\n      appSettingsV1Settings_universal_d_AppSettings as AppSettings,\n      appSettingsV1Settings_universal_d_State as State,\n      appSettingsV1Settings_universal_d_Host as Host,\n      appSettingsV1Settings_universal_d_SetComponentSettingsRequest as SetComponentSettingsRequest,\n      appSettingsV1Settings_universal_d_TranslatedLanguage as TranslatedLanguage,\n      appSettingsV1Settings_universal_d_LanguageKey as LanguageKey,\n      appSettingsV1Settings_universal_d_SetComponentSettingsResponse as SetComponentSettingsResponse,\n      appSettingsV1Settings_universal_d_SetComponentSettingsForMigrationRequest as SetComponentSettingsForMigrationRequest,\n      appSettingsV1Settings_universal_d_SetComponentSettingsForMigrationResponse as SetComponentSettingsForMigrationResponse,\n      appSettingsV1Settings_universal_d_GetComponentSettingsRequest as GetComponentSettingsRequest,\n      appSettingsV1Settings_universal_d_GetComponentSettingsResponse as GetComponentSettingsResponse,\n      appSettingsV1Settings_universal_d_BulkGetComponentSettingsRequest as BulkGetComponentSettingsRequest,\n      appSettingsV1Settings_universal_d_BulkGetComponentSettingsResponse as BulkGetComponentSettingsResponse,\n      appSettingsV1Settings_universal_d_ComponentSettings as ComponentSettings,\n      appSettingsV1Settings_universal_d_SetGlobalSettingsRequest as SetGlobalSettingsRequest,\n      appSettingsV1Settings_universal_d_SetComponentSettingsItem as SetComponentSettingsItem,\n      appSettingsV1Settings_universal_d_SetGlobalSettingsResponse as SetGlobalSettingsResponse,\n      appSettingsV1Settings_universal_d_GetGlobalSettingsRequest as GetGlobalSettingsRequest,\n      appSettingsV1Settings_universal_d_GetGlobalSettingsResponse as GetGlobalSettingsResponse,\n      appSettingsV1Settings_universal_d_GetComponentSettingsItem as GetComponentSettingsItem,\n      appSettingsV1Settings_universal_d_SetGlobalSettingsForMigrationRequest as SetGlobalSettingsForMigrationRequest,\n      appSettingsV1Settings_universal_d_SetGlobalSettingsForMigrationResponse as SetGlobalSettingsForMigrationResponse,\n      appSettingsV1Settings_universal_d_GetGlobalSettingsForMigrationRequest as GetGlobalSettingsForMigrationRequest,\n      appSettingsV1Settings_universal_d_GetGlobalSettingsForMigrationResponse as GetGlobalSettingsForMigrationResponse,\n      appSettingsV1Settings_universal_d_GetRequest as GetRequest,\n      appSettingsV1Settings_universal_d_GetResponse as GetResponse,\n      appSettingsV1Settings_universal_d_SetRequest as SetRequest,\n      appSettingsV1Settings_universal_d_Scope as Scope,\n      appSettingsV1Settings_universal_d_SetResponse as SetResponse,\n      appSettingsV1Settings_universal_d_UpdateRequest as UpdateRequest,\n      appSettingsV1Settings_universal_d_UpdateResponse as UpdateResponse,\n      appSettingsV1Settings_universal_d_setComponentSettings as setComponentSettings,\n      appSettingsV1Settings_universal_d_SetComponentSettingsOptions as SetComponentSettingsOptions,\n      appSettingsV1Settings_universal_d_getComponentSettings as getComponentSettings,\n      appSettingsV1Settings_universal_d_GetComponentSettingsOptions as GetComponentSettingsOptions,\n      appSettingsV1Settings_universal_d_bulkGetComponentSettings as bulkGetComponentSettings,\n      appSettingsV1Settings_universal_d_BulkGetComponentSettingsOptions as BulkGetComponentSettingsOptions,\n      appSettingsV1Settings_universal_d_setGlobalSettings as setGlobalSettings,\n      appSettingsV1Settings_universal_d_SetGlobalSettingsOptions as SetGlobalSettingsOptions,\n      appSettingsV1Settings_universal_d_getGlobalSettings as getGlobalSettings,\n      appSettingsV1Settings_universal_d_GetGlobalSettingsOptions as GetGlobalSettingsOptions,\n      appSettingsV1Settings_universal_d_get as get,\n      appSettingsV1Settings_universal_d_GetOptions as GetOptions,\n      appSettingsV1Settings_universal_d_set as set,\n      appSettingsV1Settings_universal_d_SetIdentifiers as SetIdentifiers,\n      appSettingsV1Settings_universal_d_update as update,\n      appSettingsV1Settings_universal_d_UpdateIdentifiers as UpdateIdentifiers,\n      appSettingsV1Settings_universal_d_UpdateOptions as UpdateOptions,\n    };\n  }\n  \n  export { appSettingsV1Settings_universal_d as appSettings };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-restaurants.d.ts",
      "content": "declare module \"wix-restaurants\" {\n  const __debug$2: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Item is the main entity of RestaurantsMenusItem that represents the item (dish) of the restaurant menu. */\n  interface Item extends ItemPricingOneOf {\n      price?: string;\n      priceVariants?: PriceVariants;\n      /**\n       * Item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Item was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Item was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Item name. */\n      name?: string;\n      /** Item description. */\n      description?: string | null;\n      /** Item primary image. */\n      image?: string;\n      /** Item additional images. */\n      additionalImages?: string[];\n      /** Item labels. */\n      labels?: Label[];\n      /** Is visible. */\n      visible?: boolean | null;\n      /** Online order settings. */\n      orderSettings?: OrderSettings;\n      /** Modifier Groups. */\n      modifierGroups?: ModifierGroup[];\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$1;\n  }\n  /** @oneof */\n  interface ItemPricingOneOf {\n      price?: string;\n      priceVariants?: PriceVariants;\n  }\n  interface PriceVariants {\n      /** A list of price variants. */\n      priceVariants?: PriceVariant[];\n  }\n  interface PriceVariant {\n      /** Price variant modifier ID. */\n      modifierId?: string;\n      /** Price of a variant. */\n      price?: string;\n  }\n  interface Label {\n      /** Label ID. */\n      _id?: string;\n  }\n  interface OrderSettings {\n      /** Whether the item is out of stock. */\n      outOfStock?: boolean | null;\n      /** Whether a customer can add a special request when ordering this item. Defaults to `true`. */\n      acceptSpecialRequests?: boolean | null;\n      /**\n       * E-com defined tax group for the product.\n       * @internal\n       */\n      taxGroupId?: string | null;\n  }\n  interface ModifierGroup {\n      /** Modifier Group ID. */\n      _id?: string | null;\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache$2 extends InvalidateCacheGetByOneOf$2 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$2;\n      /** Invalidate by page id */\n      page?: Page$2;\n      /** Invalidate by URI path */\n      uri?: URI$2;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$2 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$2;\n      /** Invalidate by page id */\n      page?: Page$2;\n      /** Invalidate by URI path */\n      uri?: URI$2;\n  }\n  interface App$2 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$2 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$2 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface CreateItemRequest {\n      /** Item to be created. */\n      item: Item;\n  }\n  interface CreateItemResponse {\n      /** The created item. */\n      item?: Item;\n  }\n  interface BulkCreateItemsRequest {\n      /** Items to be created. */\n      items: Item[];\n      /** set to `true` if you wish to receive back the created items in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateItemsResponse {\n      /** Results of bulk item create. */\n      results?: BulkCreateItemResult[];\n      /** Information about successful action or error for failure. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkCreateItemResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata$2;\n      /** Created item. */\n      item?: Item;\n  }\n  interface ItemMetadata$2 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$2;\n  }\n  interface ApplicationError$2 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$2 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetItemRequest {\n      /** ID of the Item to retrieve. */\n      itemId: string;\n  }\n  interface GetItemResponse {\n      /** The retrieved Item. */\n      item?: Item;\n  }\n  interface ListItemsRequest {\n      /** IDs of the items to be listed */\n      itemIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$2;\n  }\n  interface CursorPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListItemsResponse {\n      /** The retrieved items. */\n      items?: Item[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryItemsRequest {\n      /** The query by which to select items. */\n      query?: CursorQuery$2;\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryItemsResponse {\n      /** The retrieved items. */\n      items?: Item[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CountItemsRequest {\n      /** Filter criteria for counting items. */\n      filter?: Record<string, any> | null;\n  }\n  interface CountItemsResponse {\n      /** The count of items. */\n      count?: number;\n  }\n  interface UpdateItemRequest {\n      /** Item to be updated, may be partial. */\n      item: Item;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateItemResponse {\n      /** The updated Item. */\n      item?: Item;\n  }\n  interface BulkUpdateItemRequest {\n      /** Items to be updated. */\n      items: MaskedItem[];\n      /** set to `true` if you wish to receive back the created items in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedItem {\n      /** Item to be updated, may be partial. */\n      item?: Item;\n      /** Explicit list of fields to update. */\n      mask?: string[];\n  }\n  interface BulkUpdateItemResponse {\n      /** Results of bulk item update. */\n      results?: BulkItemResult[];\n      /** Information about successful action or error for failure. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkItemResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata$2;\n      /** Only exists if `returnEntity` was set to true in the request. */\n      item?: Item;\n  }\n  interface DeleteItemRequest {\n      /** ID of the Item to delete. */\n      itemId: string;\n  }\n  interface DeleteItemResponse {\n  }\n  interface BulkDeleteItemsRequest {\n      /** Item IDs to be deleted. */\n      ids: string[];\n  }\n  interface BulkDeleteItemsResponse {\n      /** Results of bulk item delete. */\n      results?: BulkDeleteItemResult[];\n      /** Information about successful action or error for failure. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkDeleteItemResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata$2;\n  }\n  interface CloneItemsRequest {\n      /** The MetaSiteId to clone from. */\n      metaSiteId: string;\n  }\n  interface CloneItemsResponse {\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface Empty$2 {\n  }\n  /**\n   * Creates a new menu item.\n   * @param item - Item to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField item\n   * @adminMethod\n   * @returns The created item.\n   */\n  function createItem(item: Item): Promise<Item>;\n  /**\n   * Bulk create new menu items.\n   * @param items - Items to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField items\n   * @adminMethod\n   */\n  function bulkCreateItems(items: Item[], options?: BulkCreateItemsOptions): Promise<BulkCreateItemsResponse>;\n  interface BulkCreateItemsOptions {\n      /** set to `true` if you wish to receive back the created items in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Get an Item by id.\n   * @param itemId - ID of the Item to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @returns The retrieved Item.\n   */\n  function getItem(itemId: string): Promise<Item>;\n  /**\n   * Retrieves a list of items.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listItems(options?: ListItemsOptions): Promise<ListItemsResponse>;\n  interface ListItemsOptions {\n      /** IDs of the items to be listed */\n      itemIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$2;\n  }\n  /**\n   * Retrieves a list of items by a given query.\n   *\n   * To learn how to query items, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   *\n   * Up to 100 items can be returned per request.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryItems(): ItemsQueryBuilder;\n  interface QueryCursorResult$2 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ItemsQueryResult extends QueryCursorResult$2 {\n      items: Item[];\n      query: ItemsQueryBuilder;\n      next: () => Promise<ItemsQueryResult>;\n      prev: () => Promise<ItemsQueryResult>;\n  }\n  interface ItemsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ItemsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ItemsQueryResult>;\n  }\n  /**\n   * retrieves the number of items based on a specified filter that match the criteria specified by the provided filter.\n   *\n   * If no filter is provided, it will return the count of all items.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function countItems(options?: CountItemsOptions): Promise<CountItemsResponse>;\n  interface CountItemsOptions {\n      /** Filter criteria for counting items. */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Update an Item, supports partial update.\n   *\n   * Each time an item is updated, revision increments by 1. The existing revision must be included when updating the menu item. This ensures you're working with the latest menu item information, and it prevents unintended overwrites.\n   * @param _id - Item ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField item\n   * @requiredField item.revision\n   * @adminMethod\n   * @returns The updated Item.\n   */\n  function updateItem(_id: string | null, item: UpdateItem, options?: UpdateItemOptions): Promise<Item>;\n  interface UpdateItem {\n      price?: string;\n      priceVariants?: PriceVariants;\n      /**\n       * Item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Item was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Item was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Item name. */\n      name?: string;\n      /** Item description. */\n      description?: string | null;\n      /** Item primary image. */\n      image?: string;\n      /** Item additional images. */\n      additionalImages?: string[];\n      /** Item labels. */\n      labels?: Label[];\n      /** Is visible. */\n      visible?: boolean | null;\n      /** Online order settings. */\n      orderSettings?: OrderSettings;\n      /** Modifier Groups. */\n      modifierGroups?: ModifierGroup[];\n      /** Extended fields. */\n      extendedFields?: ExtendedFields$1;\n  }\n  interface UpdateItemOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Bulk update an Item, supports partial update.\n   *\n   * Each time a menu item is updated, revision increments by 1. The existing revision must be included when updating menu item. This ensures you're working with the latest item information, and it prevents unintended overwrites.\n   *\n   * Up to 100 items can be returned per request.\n   * @param items - Items to be updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField items\n   * @requiredField items.item._id\n   * @requiredField items.item.revision\n   * @adminMethod\n   */\n  function bulkUpdateItem(items: MaskedItem[], options?: BulkUpdateItemOptions): Promise<BulkUpdateItemResponse>;\n  interface BulkUpdateItemOptions {\n      /** set to `true` if you wish to receive back the created items in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Deletes an Item.\n   * @param itemId - ID of the Item to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @adminMethod\n   */\n  function deleteItem(itemId: string): Promise<void>;\n  /**\n   * Bulk delete Items.\n   * @param ids - Item IDs to be deleted.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @adminMethod\n   */\n  function bulkDeleteItems(ids: string[]): Promise<BulkDeleteItemsResponse>;\n  /**\n   * Clone items from a different metasite\n   * @param metaSiteId - The MetaSiteId to clone from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @adminMethod\n   */\n  function cloneItems(metaSiteId: string): Promise<void>;\n  \n  type restaurantsMenusV1Item_universal_d_Item = Item;\n  type restaurantsMenusV1Item_universal_d_ItemPricingOneOf = ItemPricingOneOf;\n  type restaurantsMenusV1Item_universal_d_PriceVariants = PriceVariants;\n  type restaurantsMenusV1Item_universal_d_PriceVariant = PriceVariant;\n  type restaurantsMenusV1Item_universal_d_Label = Label;\n  type restaurantsMenusV1Item_universal_d_OrderSettings = OrderSettings;\n  type restaurantsMenusV1Item_universal_d_ModifierGroup = ModifierGroup;\n  type restaurantsMenusV1Item_universal_d_CreateItemRequest = CreateItemRequest;\n  type restaurantsMenusV1Item_universal_d_CreateItemResponse = CreateItemResponse;\n  type restaurantsMenusV1Item_universal_d_BulkCreateItemsRequest = BulkCreateItemsRequest;\n  type restaurantsMenusV1Item_universal_d_BulkCreateItemsResponse = BulkCreateItemsResponse;\n  type restaurantsMenusV1Item_universal_d_BulkCreateItemResult = BulkCreateItemResult;\n  type restaurantsMenusV1Item_universal_d_GetItemRequest = GetItemRequest;\n  type restaurantsMenusV1Item_universal_d_GetItemResponse = GetItemResponse;\n  type restaurantsMenusV1Item_universal_d_ListItemsRequest = ListItemsRequest;\n  type restaurantsMenusV1Item_universal_d_ListItemsResponse = ListItemsResponse;\n  type restaurantsMenusV1Item_universal_d_QueryItemsRequest = QueryItemsRequest;\n  type restaurantsMenusV1Item_universal_d_QueryItemsResponse = QueryItemsResponse;\n  type restaurantsMenusV1Item_universal_d_CountItemsRequest = CountItemsRequest;\n  type restaurantsMenusV1Item_universal_d_CountItemsResponse = CountItemsResponse;\n  type restaurantsMenusV1Item_universal_d_UpdateItemRequest = UpdateItemRequest;\n  type restaurantsMenusV1Item_universal_d_UpdateItemResponse = UpdateItemResponse;\n  type restaurantsMenusV1Item_universal_d_BulkUpdateItemRequest = BulkUpdateItemRequest;\n  type restaurantsMenusV1Item_universal_d_MaskedItem = MaskedItem;\n  type restaurantsMenusV1Item_universal_d_BulkUpdateItemResponse = BulkUpdateItemResponse;\n  type restaurantsMenusV1Item_universal_d_BulkItemResult = BulkItemResult;\n  type restaurantsMenusV1Item_universal_d_DeleteItemRequest = DeleteItemRequest;\n  type restaurantsMenusV1Item_universal_d_DeleteItemResponse = DeleteItemResponse;\n  type restaurantsMenusV1Item_universal_d_BulkDeleteItemsRequest = BulkDeleteItemsRequest;\n  type restaurantsMenusV1Item_universal_d_BulkDeleteItemsResponse = BulkDeleteItemsResponse;\n  type restaurantsMenusV1Item_universal_d_BulkDeleteItemResult = BulkDeleteItemResult;\n  type restaurantsMenusV1Item_universal_d_CloneItemsRequest = CloneItemsRequest;\n  type restaurantsMenusV1Item_universal_d_CloneItemsResponse = CloneItemsResponse;\n  const restaurantsMenusV1Item_universal_d_createItem: typeof createItem;\n  const restaurantsMenusV1Item_universal_d_bulkCreateItems: typeof bulkCreateItems;\n  type restaurantsMenusV1Item_universal_d_BulkCreateItemsOptions = BulkCreateItemsOptions;\n  const restaurantsMenusV1Item_universal_d_getItem: typeof getItem;\n  const restaurantsMenusV1Item_universal_d_listItems: typeof listItems;\n  type restaurantsMenusV1Item_universal_d_ListItemsOptions = ListItemsOptions;\n  const restaurantsMenusV1Item_universal_d_queryItems: typeof queryItems;\n  type restaurantsMenusV1Item_universal_d_ItemsQueryResult = ItemsQueryResult;\n  type restaurantsMenusV1Item_universal_d_ItemsQueryBuilder = ItemsQueryBuilder;\n  const restaurantsMenusV1Item_universal_d_countItems: typeof countItems;\n  type restaurantsMenusV1Item_universal_d_CountItemsOptions = CountItemsOptions;\n  const restaurantsMenusV1Item_universal_d_updateItem: typeof updateItem;\n  type restaurantsMenusV1Item_universal_d_UpdateItem = UpdateItem;\n  type restaurantsMenusV1Item_universal_d_UpdateItemOptions = UpdateItemOptions;\n  const restaurantsMenusV1Item_universal_d_bulkUpdateItem: typeof bulkUpdateItem;\n  type restaurantsMenusV1Item_universal_d_BulkUpdateItemOptions = BulkUpdateItemOptions;\n  const restaurantsMenusV1Item_universal_d_deleteItem: typeof deleteItem;\n  const restaurantsMenusV1Item_universal_d_bulkDeleteItems: typeof bulkDeleteItems;\n  const restaurantsMenusV1Item_universal_d_cloneItems: typeof cloneItems;\n  namespace restaurantsMenusV1Item_universal_d {\n    export {\n      __debug$2 as __debug,\n      restaurantsMenusV1Item_universal_d_Item as Item,\n      restaurantsMenusV1Item_universal_d_ItemPricingOneOf as ItemPricingOneOf,\n      restaurantsMenusV1Item_universal_d_PriceVariants as PriceVariants,\n      restaurantsMenusV1Item_universal_d_PriceVariant as PriceVariant,\n      restaurantsMenusV1Item_universal_d_Label as Label,\n      restaurantsMenusV1Item_universal_d_OrderSettings as OrderSettings,\n      restaurantsMenusV1Item_universal_d_ModifierGroup as ModifierGroup,\n      ExtendedFields$1 as ExtendedFields,\n      InvalidateCache$2 as InvalidateCache,\n      InvalidateCacheGetByOneOf$2 as InvalidateCacheGetByOneOf,\n      App$2 as App,\n      Page$2 as Page,\n      URI$2 as URI,\n      restaurantsMenusV1Item_universal_d_CreateItemRequest as CreateItemRequest,\n      restaurantsMenusV1Item_universal_d_CreateItemResponse as CreateItemResponse,\n      restaurantsMenusV1Item_universal_d_BulkCreateItemsRequest as BulkCreateItemsRequest,\n      restaurantsMenusV1Item_universal_d_BulkCreateItemsResponse as BulkCreateItemsResponse,\n      restaurantsMenusV1Item_universal_d_BulkCreateItemResult as BulkCreateItemResult,\n      ItemMetadata$2 as ItemMetadata,\n      ApplicationError$2 as ApplicationError,\n      BulkActionMetadata$2 as BulkActionMetadata,\n      restaurantsMenusV1Item_universal_d_GetItemRequest as GetItemRequest,\n      restaurantsMenusV1Item_universal_d_GetItemResponse as GetItemResponse,\n      restaurantsMenusV1Item_universal_d_ListItemsRequest as ListItemsRequest,\n      CursorPaging$2 as CursorPaging,\n      restaurantsMenusV1Item_universal_d_ListItemsResponse as ListItemsResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      restaurantsMenusV1Item_universal_d_QueryItemsRequest as QueryItemsRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      restaurantsMenusV1Item_universal_d_QueryItemsResponse as QueryItemsResponse,\n      restaurantsMenusV1Item_universal_d_CountItemsRequest as CountItemsRequest,\n      restaurantsMenusV1Item_universal_d_CountItemsResponse as CountItemsResponse,\n      restaurantsMenusV1Item_universal_d_UpdateItemRequest as UpdateItemRequest,\n      restaurantsMenusV1Item_universal_d_UpdateItemResponse as UpdateItemResponse,\n      restaurantsMenusV1Item_universal_d_BulkUpdateItemRequest as BulkUpdateItemRequest,\n      restaurantsMenusV1Item_universal_d_MaskedItem as MaskedItem,\n      restaurantsMenusV1Item_universal_d_BulkUpdateItemResponse as BulkUpdateItemResponse,\n      restaurantsMenusV1Item_universal_d_BulkItemResult as BulkItemResult,\n      restaurantsMenusV1Item_universal_d_DeleteItemRequest as DeleteItemRequest,\n      restaurantsMenusV1Item_universal_d_DeleteItemResponse as DeleteItemResponse,\n      restaurantsMenusV1Item_universal_d_BulkDeleteItemsRequest as BulkDeleteItemsRequest,\n      restaurantsMenusV1Item_universal_d_BulkDeleteItemsResponse as BulkDeleteItemsResponse,\n      restaurantsMenusV1Item_universal_d_BulkDeleteItemResult as BulkDeleteItemResult,\n      restaurantsMenusV1Item_universal_d_CloneItemsRequest as CloneItemsRequest,\n      restaurantsMenusV1Item_universal_d_CloneItemsResponse as CloneItemsResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      Empty$2 as Empty,\n      restaurantsMenusV1Item_universal_d_createItem as createItem,\n      restaurantsMenusV1Item_universal_d_bulkCreateItems as bulkCreateItems,\n      restaurantsMenusV1Item_universal_d_BulkCreateItemsOptions as BulkCreateItemsOptions,\n      restaurantsMenusV1Item_universal_d_getItem as getItem,\n      restaurantsMenusV1Item_universal_d_listItems as listItems,\n      restaurantsMenusV1Item_universal_d_ListItemsOptions as ListItemsOptions,\n      restaurantsMenusV1Item_universal_d_queryItems as queryItems,\n      restaurantsMenusV1Item_universal_d_ItemsQueryResult as ItemsQueryResult,\n      restaurantsMenusV1Item_universal_d_ItemsQueryBuilder as ItemsQueryBuilder,\n      restaurantsMenusV1Item_universal_d_countItems as countItems,\n      restaurantsMenusV1Item_universal_d_CountItemsOptions as CountItemsOptions,\n      restaurantsMenusV1Item_universal_d_updateItem as updateItem,\n      restaurantsMenusV1Item_universal_d_UpdateItem as UpdateItem,\n      restaurantsMenusV1Item_universal_d_UpdateItemOptions as UpdateItemOptions,\n      restaurantsMenusV1Item_universal_d_bulkUpdateItem as bulkUpdateItem,\n      restaurantsMenusV1Item_universal_d_BulkUpdateItemOptions as BulkUpdateItemOptions,\n      restaurantsMenusV1Item_universal_d_deleteItem as deleteItem,\n      restaurantsMenusV1Item_universal_d_bulkDeleteItems as bulkDeleteItems,\n      restaurantsMenusV1Item_universal_d_cloneItems as cloneItems,\n    };\n  }\n  \n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Section is the main entity of RestaurantsMenusSection that represents a section inside a restaurant menu. */\n  interface Section {\n      /**\n       * Section ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of a section. Each time the section is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Section was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Section was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Section name. */\n      name?: string;\n      /** Section description. */\n      description?: string | null;\n      /** Section primary image. */\n      image?: string;\n      /** Section additional images. */\n      additionalImages?: string[];\n      /** Item ids. */\n      itemIds?: string[];\n  }\n  interface InvalidateCache$1 extends InvalidateCacheGetByOneOf$1 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page$1;\n      /** Invalidate by URI path */\n      uri?: URI$1;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$1 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page$1;\n      /** Invalidate by URI path */\n      uri?: URI$1;\n  }\n  interface App$1 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$1 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$1 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface CreateSectionRequest {\n      /** Section to be created. */\n      section: Section;\n  }\n  interface CreateSectionResponse {\n      /** The created Section. */\n      section?: Section;\n  }\n  interface BulkCreateSectionsRequest {\n      /** Sections to be created. */\n      sections: Section[];\n      /** Set to `true` if you wish to receive back the created sections in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateSectionsResponse {\n      /** Results of bulk sections create. */\n      results?: BulkCreateSectionResult[];\n      /** Information about successful action or error for failure. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkCreateSectionResult {\n      /** Set to `true` if you wish to receive back the created section in the response. */\n      itemMetadata?: ItemMetadata$1;\n      /** The created section. */\n      item?: Section;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetSectionRequest {\n      /** ID of the Section to retrieve. */\n      sectionId: string;\n  }\n  interface GetSectionResponse {\n      /** The retrieved Section. */\n      section?: Section;\n  }\n  interface ListSectionsRequest {\n      /** IDs of the sections to be listed. */\n      sectionIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$1;\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListSectionsResponse {\n      /** The retrieved sections. */\n      sections?: Section[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QuerySectionsRequest {\n      /** The query by which to select sections. */\n      query?: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QuerySectionsResponse {\n      /** The retrieved sections. */\n      sections?: Section[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface UpdateSectionRequest {\n      /** Section to be updated, may be partial. */\n      section: Section;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateSectionResponse {\n      /** The updated Section. */\n      section?: Section;\n  }\n  interface BulkUpdateSectionRequest {\n      /** Sections to be updated. */\n      sections: MaskedSection[];\n      /** set to `true` if you wish to receive back the created sections in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedSection {\n      /** Section to be updated, may be partial. */\n      section?: Section;\n      /** Explicit list of fields to update. */\n      mask?: string[];\n  }\n  interface BulkUpdateSectionResponse {\n      /** Results of bulk sections update. */\n      results?: BulkSectionResult[];\n      /** Information about successful action or error for failure. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkSectionResult {\n      /** set to `true` if you wish to receive back the updated sections in the response. */\n      sectionMetadata?: ItemMetadata$1;\n      /** Only exists if `returnEntity` was set to true in the request. */\n      section?: Section;\n  }\n  interface DeleteSectionRequest {\n      /** ID of the Section to delete. */\n      sectionId: string;\n  }\n  interface DeleteSectionResponse {\n  }\n  interface BulkDeleteSectionsRequest {\n      /** IDs of the sections to be listed. */\n      ids: string[];\n  }\n  interface BulkDeleteSectionsResponse {\n      /** Results of bulk sections delete. */\n      results?: BulkDeleteSectionResult[];\n      /** Information about successful action or error for failure. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkDeleteSectionResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata$1;\n  }\n  interface CloneSectionsRequest {\n      /** The MetaSiteId to clone from. */\n      metaSiteId: string;\n  }\n  interface CloneSectionsResponse {\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  /**\n   * Creates a new Section.\n   * @param section - Section to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField section\n   * @adminMethod\n   * @returns The created Section.\n   */\n  function createSection(section: Section): Promise<Section>;\n  /**\n   * Bulk create new Sections.\n   * @param sections - Sections to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sections\n   * @adminMethod\n   */\n  function bulkCreateSections(sections: Section[], options?: BulkCreateSectionsOptions): Promise<BulkCreateSectionsResponse>;\n  interface BulkCreateSectionsOptions {\n      /** Set to `true` if you wish to receive back the created sections in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Get a Section by id.\n   * @param sectionId - ID of the Section to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sectionId\n   * @returns The retrieved Section.\n   */\n  function getSection(sectionId: string): Promise<Section>;\n  /**\n   * Retrieves a list of sections.\n   *\n   * Up to 500 sections can be returned.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listSections(options?: ListSectionsOptions): Promise<ListSectionsResponse>;\n  interface ListSectionsOptions {\n      /** IDs of the sections to be listed. */\n      sectionIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging$1;\n  }\n  /**\n   * Retrieves a list of sections by a given query.\n   *\n   * To learn how to query sections, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   *\n   * Up to 500 sections can be returned per request.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function querySections(): SectionsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SectionsQueryResult extends QueryCursorResult$1 {\n      items: Section[];\n      query: SectionsQueryBuilder;\n      next: () => Promise<SectionsQueryResult>;\n      prev: () => Promise<SectionsQueryResult>;\n  }\n  interface SectionsQueryBuilder {\n      /** @documentationMaturity preview */\n      in: (propertyName: 'itemIds', value: any) => SectionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SectionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SectionsQueryResult>;\n  }\n  /**\n   * Update a Section, supports partial update.\n   *\n   * Each time a section is updated, revision increments by 1. The existing revision must be included when updating a section. This ensures you're working with the latest section information, and it prevents unintended overwrites.\n   * @param _id - Section ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField section\n   * @requiredField section.revision\n   * @adminMethod\n   * @returns The updated Section.\n   */\n  function updateSection(_id: string | null, section: UpdateSection, options?: UpdateSectionOptions): Promise<Section>;\n  interface UpdateSection {\n      /**\n       * Section ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of a section. Each time the section is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Section was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Section was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Section name. */\n      name?: string;\n      /** Section description. */\n      description?: string | null;\n      /** Section primary image. */\n      image?: string;\n      /** Section additional images. */\n      additionalImages?: string[];\n      /** Item ids. */\n      itemIds?: string[];\n  }\n  interface UpdateSectionOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Bulk update a Section, supports partial update.\n   *\n   * Each time a section is updated, revision increments by 1. The existing revision must be included when updating a section. This ensures you're working with the latest section information, and it prevents unintended overwrites.\n   * @param sections - Sections to be updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sections\n   * @requiredField sections.section._id\n   * @requiredField sections.section.revision\n   * @adminMethod\n   */\n  function bulkUpdateSection(sections: MaskedSection[], options?: BulkUpdateSectionOptions): Promise<BulkUpdateSectionResponse>;\n  interface BulkUpdateSectionOptions {\n      /** set to `true` if you wish to receive back the created sections in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Delete a Section.\n   * @param sectionId - ID of the Section to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sectionId\n   * @adminMethod\n   */\n  function deleteSection(sectionId: string): Promise<void>;\n  /**\n   * Bulk delete Sections.\n   * @param ids - IDs of the sections to be listed.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @adminMethod\n   */\n  function bulkDeleteSections(ids: string[]): Promise<BulkDeleteSectionsResponse>;\n  /**\n   * Clone sections from a different metasite\n   * @param metaSiteId - The MetaSiteId to clone from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @adminMethod\n   */\n  function cloneSections(metaSiteId: string): Promise<void>;\n  \n  type restaurantsMenusV1Section_universal_d_Section = Section;\n  type restaurantsMenusV1Section_universal_d_CreateSectionRequest = CreateSectionRequest;\n  type restaurantsMenusV1Section_universal_d_CreateSectionResponse = CreateSectionResponse;\n  type restaurantsMenusV1Section_universal_d_BulkCreateSectionsRequest = BulkCreateSectionsRequest;\n  type restaurantsMenusV1Section_universal_d_BulkCreateSectionsResponse = BulkCreateSectionsResponse;\n  type restaurantsMenusV1Section_universal_d_BulkCreateSectionResult = BulkCreateSectionResult;\n  type restaurantsMenusV1Section_universal_d_GetSectionRequest = GetSectionRequest;\n  type restaurantsMenusV1Section_universal_d_GetSectionResponse = GetSectionResponse;\n  type restaurantsMenusV1Section_universal_d_ListSectionsRequest = ListSectionsRequest;\n  type restaurantsMenusV1Section_universal_d_ListSectionsResponse = ListSectionsResponse;\n  type restaurantsMenusV1Section_universal_d_QuerySectionsRequest = QuerySectionsRequest;\n  type restaurantsMenusV1Section_universal_d_QuerySectionsResponse = QuerySectionsResponse;\n  type restaurantsMenusV1Section_universal_d_UpdateSectionRequest = UpdateSectionRequest;\n  type restaurantsMenusV1Section_universal_d_UpdateSectionResponse = UpdateSectionResponse;\n  type restaurantsMenusV1Section_universal_d_BulkUpdateSectionRequest = BulkUpdateSectionRequest;\n  type restaurantsMenusV1Section_universal_d_MaskedSection = MaskedSection;\n  type restaurantsMenusV1Section_universal_d_BulkUpdateSectionResponse = BulkUpdateSectionResponse;\n  type restaurantsMenusV1Section_universal_d_BulkSectionResult = BulkSectionResult;\n  type restaurantsMenusV1Section_universal_d_DeleteSectionRequest = DeleteSectionRequest;\n  type restaurantsMenusV1Section_universal_d_DeleteSectionResponse = DeleteSectionResponse;\n  type restaurantsMenusV1Section_universal_d_BulkDeleteSectionsRequest = BulkDeleteSectionsRequest;\n  type restaurantsMenusV1Section_universal_d_BulkDeleteSectionsResponse = BulkDeleteSectionsResponse;\n  type restaurantsMenusV1Section_universal_d_BulkDeleteSectionResult = BulkDeleteSectionResult;\n  type restaurantsMenusV1Section_universal_d_CloneSectionsRequest = CloneSectionsRequest;\n  type restaurantsMenusV1Section_universal_d_CloneSectionsResponse = CloneSectionsResponse;\n  const restaurantsMenusV1Section_universal_d_createSection: typeof createSection;\n  const restaurantsMenusV1Section_universal_d_bulkCreateSections: typeof bulkCreateSections;\n  type restaurantsMenusV1Section_universal_d_BulkCreateSectionsOptions = BulkCreateSectionsOptions;\n  const restaurantsMenusV1Section_universal_d_getSection: typeof getSection;\n  const restaurantsMenusV1Section_universal_d_listSections: typeof listSections;\n  type restaurantsMenusV1Section_universal_d_ListSectionsOptions = ListSectionsOptions;\n  const restaurantsMenusV1Section_universal_d_querySections: typeof querySections;\n  type restaurantsMenusV1Section_universal_d_SectionsQueryResult = SectionsQueryResult;\n  type restaurantsMenusV1Section_universal_d_SectionsQueryBuilder = SectionsQueryBuilder;\n  const restaurantsMenusV1Section_universal_d_updateSection: typeof updateSection;\n  type restaurantsMenusV1Section_universal_d_UpdateSection = UpdateSection;\n  type restaurantsMenusV1Section_universal_d_UpdateSectionOptions = UpdateSectionOptions;\n  const restaurantsMenusV1Section_universal_d_bulkUpdateSection: typeof bulkUpdateSection;\n  type restaurantsMenusV1Section_universal_d_BulkUpdateSectionOptions = BulkUpdateSectionOptions;\n  const restaurantsMenusV1Section_universal_d_deleteSection: typeof deleteSection;\n  const restaurantsMenusV1Section_universal_d_bulkDeleteSections: typeof bulkDeleteSections;\n  const restaurantsMenusV1Section_universal_d_cloneSections: typeof cloneSections;\n  namespace restaurantsMenusV1Section_universal_d {\n    export {\n      __debug$1 as __debug,\n      restaurantsMenusV1Section_universal_d_Section as Section,\n      InvalidateCache$1 as InvalidateCache,\n      InvalidateCacheGetByOneOf$1 as InvalidateCacheGetByOneOf,\n      App$1 as App,\n      Page$1 as Page,\n      URI$1 as URI,\n      restaurantsMenusV1Section_universal_d_CreateSectionRequest as CreateSectionRequest,\n      restaurantsMenusV1Section_universal_d_CreateSectionResponse as CreateSectionResponse,\n      restaurantsMenusV1Section_universal_d_BulkCreateSectionsRequest as BulkCreateSectionsRequest,\n      restaurantsMenusV1Section_universal_d_BulkCreateSectionsResponse as BulkCreateSectionsResponse,\n      restaurantsMenusV1Section_universal_d_BulkCreateSectionResult as BulkCreateSectionResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      restaurantsMenusV1Section_universal_d_GetSectionRequest as GetSectionRequest,\n      restaurantsMenusV1Section_universal_d_GetSectionResponse as GetSectionResponse,\n      restaurantsMenusV1Section_universal_d_ListSectionsRequest as ListSectionsRequest,\n      CursorPaging$1 as CursorPaging,\n      restaurantsMenusV1Section_universal_d_ListSectionsResponse as ListSectionsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      restaurantsMenusV1Section_universal_d_QuerySectionsRequest as QuerySectionsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      restaurantsMenusV1Section_universal_d_QuerySectionsResponse as QuerySectionsResponse,\n      restaurantsMenusV1Section_universal_d_UpdateSectionRequest as UpdateSectionRequest,\n      restaurantsMenusV1Section_universal_d_UpdateSectionResponse as UpdateSectionResponse,\n      restaurantsMenusV1Section_universal_d_BulkUpdateSectionRequest as BulkUpdateSectionRequest,\n      restaurantsMenusV1Section_universal_d_MaskedSection as MaskedSection,\n      restaurantsMenusV1Section_universal_d_BulkUpdateSectionResponse as BulkUpdateSectionResponse,\n      restaurantsMenusV1Section_universal_d_BulkSectionResult as BulkSectionResult,\n      restaurantsMenusV1Section_universal_d_DeleteSectionRequest as DeleteSectionRequest,\n      restaurantsMenusV1Section_universal_d_DeleteSectionResponse as DeleteSectionResponse,\n      restaurantsMenusV1Section_universal_d_BulkDeleteSectionsRequest as BulkDeleteSectionsRequest,\n      restaurantsMenusV1Section_universal_d_BulkDeleteSectionsResponse as BulkDeleteSectionsResponse,\n      restaurantsMenusV1Section_universal_d_BulkDeleteSectionResult as BulkDeleteSectionResult,\n      restaurantsMenusV1Section_universal_d_CloneSectionsRequest as CloneSectionsRequest,\n      restaurantsMenusV1Section_universal_d_CloneSectionsResponse as CloneSectionsResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      Empty$1 as Empty,\n      restaurantsMenusV1Section_universal_d_createSection as createSection,\n      restaurantsMenusV1Section_universal_d_bulkCreateSections as bulkCreateSections,\n      restaurantsMenusV1Section_universal_d_BulkCreateSectionsOptions as BulkCreateSectionsOptions,\n      restaurantsMenusV1Section_universal_d_getSection as getSection,\n      restaurantsMenusV1Section_universal_d_listSections as listSections,\n      restaurantsMenusV1Section_universal_d_ListSectionsOptions as ListSectionsOptions,\n      restaurantsMenusV1Section_universal_d_querySections as querySections,\n      restaurantsMenusV1Section_universal_d_SectionsQueryResult as SectionsQueryResult,\n      restaurantsMenusV1Section_universal_d_SectionsQueryBuilder as SectionsQueryBuilder,\n      restaurantsMenusV1Section_universal_d_updateSection as updateSection,\n      restaurantsMenusV1Section_universal_d_UpdateSection as UpdateSection,\n      restaurantsMenusV1Section_universal_d_UpdateSectionOptions as UpdateSectionOptions,\n      restaurantsMenusV1Section_universal_d_bulkUpdateSection as bulkUpdateSection,\n      restaurantsMenusV1Section_universal_d_BulkUpdateSectionOptions as BulkUpdateSectionOptions,\n      restaurantsMenusV1Section_universal_d_deleteSection as deleteSection,\n      restaurantsMenusV1Section_universal_d_bulkDeleteSections as bulkDeleteSections,\n      restaurantsMenusV1Section_universal_d_cloneSections as cloneSections,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Menu is the main entity of RestaurantsMenusMenu that represents a menu of a restaurant. */\n  interface Menu {\n      /**\n       * Menu ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of a menu. Each time the menu is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Menu was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Menu was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Menu name. */\n      name?: string;\n      /** Menu description. */\n      description?: string | null;\n      /** Is visible. */\n      visible?: boolean | null;\n      /** Section ids. */\n      sectionIds?: string[];\n      /** Order index. */\n      orderIdx?: number | null;\n      /** Data extension. */\n      extendedFields?: ExtendedFields;\n      /** URL query param for displaying the menu in the livesite. */\n      urlQueryParam?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface DeleteOrphanSections {\n      /** Menu id */\n      menuId?: string;\n  }\n  interface CreateMenuRequest {\n      /** Menu to be created. */\n      menu: Menu;\n  }\n  interface CreateMenuResponse {\n      /** The created Menu. */\n      menu?: Menu;\n  }\n  interface BulkCreateMenusRequest {\n      /** Items to be created. */\n      menus: Menu[];\n      /** Set to `true` if you wish to receive back the created menus in the response */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateMenusResponse {\n      /** Results of bulk menu create. */\n      results?: BulkCreateMenuResult[];\n      /** Information about successful action or error for failure. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCreateMenuResult {\n      /** Set to `true` if you wish to receive back the created menus in the response. */\n      menuMetadata?: ItemMetadata;\n      /** The created Menu. */\n      menu?: Menu;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetMenuRequest {\n      /** ID of the menu to retrieve. */\n      menuId: string;\n  }\n  interface GetMenuResponse {\n      /** The retrieved menu. */\n      menu?: Menu;\n  }\n  interface ListMenusRequest {\n      /** IDs of the menus to be listed. */\n      menuIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListMenusResponse {\n      /** The retrieved menus. */\n      menus?: Menu[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryMenusRequest {\n      /** The query by which to select menus. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryMenusResponse {\n      /** The retrieved menus. */\n      menus?: Menu[];\n      /** The metadata of the paginated results. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface UpdateMenuRequest {\n      /** Menu to be updated, may be partial. */\n      menu: Menu;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateMenuResponse {\n      /** The updated menu. */\n      menu?: Menu;\n  }\n  interface BulkUpdateMenuRequest {\n      /** Menus to be updated. */\n      menus: MaskedMenu[];\n      /** Set to `true` if you wish to receive back the created menus in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedMenu {\n      /** Menu to be updated, may be partial. */\n      menu?: Menu;\n      /** Explicit list of fields to update. */\n      mask?: string[];\n  }\n  interface BulkUpdateMenuResponse {\n      /** Results of bulk menu update. */\n      results?: BulkMenuResult[];\n      /** Information about successful action or error for failure. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkMenuResult {\n      /** Set to `true` if you wish to receive back the updated menus in the response. */\n      menuMetadata?: ItemMetadata;\n      /** The Updated menu. */\n      menu?: Menu;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** Namespace of data-extensions. */\n      namespace?: string;\n      /** Only data from UpdateExtendedFieldsRequest namespace_data. */\n      namespaceData?: Record<string, any> | null;\n  }\n  interface DeleteMenuRequest {\n      /** ID of the menu to delete. */\n      menuId: string;\n  }\n  interface DeleteMenuResponse {\n  }\n  interface CloneMenusRequest {\n      /** The MetaSiteId to clone from. */\n      metaSiteId: string;\n  }\n  interface CloneMenusResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  /**\n   * Creates a new Menu.\n   * @param menu - Menu to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField menu\n   * @adminMethod\n   * @returns The created Menu.\n   */\n  function createMenu(menu: Menu): Promise<Menu>;\n  /**\n   * Bulk create new menus.\n   * @param menus - Items to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField menus\n   * @adminMethod\n   */\n  function bulkCreateMenus(menus: Menu[], options?: BulkCreateMenusOptions): Promise<BulkCreateMenusResponse>;\n  interface BulkCreateMenusOptions {\n      /** Set to `true` if you wish to receive back the created menus in the response */\n      returnEntity?: boolean;\n  }\n  /**\n   * Get a menu by id.\n   * @param menuId - ID of the menu to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField menuId\n   * @returns The retrieved menu.\n   */\n  function getMenu(menuId: string): Promise<Menu>;\n  /**\n   * Retrieves a list of menus.\n   *\n   * Up to 500 menus can be returned.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listMenus(options?: ListMenusOptions): Promise<ListMenusResponse>;\n  interface ListMenusOptions {\n      /** IDs of the menus to be listed. */\n      menuIds?: string[];\n      /** The metadata of the paginated results. */\n      paging?: CursorPaging;\n  }\n  /**\n   * Retrieves a list of menus by a given query.\n   *\n   * To learn how to query menus, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   *\n   * Up to 500 menus can be returned per request.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryMenus(): MenusQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface MenusQueryResult extends QueryCursorResult {\n      items: Menu[];\n      query: MenusQueryBuilder;\n      next: () => Promise<MenusQueryResult>;\n      prev: () => Promise<MenusQueryResult>;\n  }\n  interface MenusQueryBuilder {\n      /** @documentationMaturity preview */\n      in: (propertyName: 'sectionIds', value: any) => MenusQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => MenusQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => MenusQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<MenusQueryResult>;\n  }\n  /**\n   * Update a menu, supports partial update.\n   *\n   * Each time a menu is updated, revision increments by 1. The existing revision must be included when updating a menu. This ensures you're working with the latest menu information, and it prevents unintended overwrites.\n   * @param _id - Menu ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField menu\n   * @requiredField menu.revision\n   * @adminMethod\n   * @returns The updated menu.\n   */\n  function updateMenu(_id: string | null, menu: UpdateMenu, options?: UpdateMenuOptions): Promise<Menu>;\n  interface UpdateMenu {\n      /**\n       * Menu ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of a menu. Each time the menu is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this Menu was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Menu was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Menu name. */\n      name?: string;\n      /** Menu description. */\n      description?: string | null;\n      /** Is visible. */\n      visible?: boolean | null;\n      /** Section ids. */\n      sectionIds?: string[];\n      /** Order index. */\n      orderIdx?: number | null;\n      /** Data extension. */\n      extendedFields?: ExtendedFields;\n      /** URL query param for displaying the menu in the livesite. */\n      urlQueryParam?: string | null;\n  }\n  interface UpdateMenuOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Bulk update a menu, supports partial update.\n   *\n   * Each time a menu is updated, revision increments by 1. The existing revision must be included when updating the menu. This ensures you're working with the latest menu information, and it prevents unintended overwrites.\n   *\n   * Up to 500 menus can be returned per request.\n   * @param menus - Menus to be updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField menus\n   * @requiredField menus.menu._id\n   * @requiredField menus.menu.revision\n   * @adminMethod\n   */\n  function bulkUpdateMenu(menus: MaskedMenu[], options?: BulkUpdateMenuOptions): Promise<BulkUpdateMenuResponse>;\n  interface BulkUpdateMenuOptions {\n      /** Set to `true` if you wish to receive back the created menus in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Update Extended Fields of the Menu.\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  /**\n   * Delete a Menu.\n   * @param menuId - ID of the menu to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField menuId\n   * @adminMethod\n   */\n  function deleteMenu(menuId: string): Promise<void>;\n  /**\n   * Clone menus from a different metasite\n   * @param metaSiteId - The MetaSiteId to clone from.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @adminMethod\n   */\n  function cloneMenus(metaSiteId: string): Promise<void>;\n  \n  const restaurantsMenusV1Menu_universal_d___debug: typeof __debug;\n  type restaurantsMenusV1Menu_universal_d_Menu = Menu;\n  type restaurantsMenusV1Menu_universal_d_ExtendedFields = ExtendedFields;\n  type restaurantsMenusV1Menu_universal_d_InvalidateCache = InvalidateCache;\n  type restaurantsMenusV1Menu_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type restaurantsMenusV1Menu_universal_d_App = App;\n  type restaurantsMenusV1Menu_universal_d_Page = Page;\n  type restaurantsMenusV1Menu_universal_d_URI = URI;\n  type restaurantsMenusV1Menu_universal_d_DeleteOrphanSections = DeleteOrphanSections;\n  type restaurantsMenusV1Menu_universal_d_CreateMenuRequest = CreateMenuRequest;\n  type restaurantsMenusV1Menu_universal_d_CreateMenuResponse = CreateMenuResponse;\n  type restaurantsMenusV1Menu_universal_d_BulkCreateMenusRequest = BulkCreateMenusRequest;\n  type restaurantsMenusV1Menu_universal_d_BulkCreateMenusResponse = BulkCreateMenusResponse;\n  type restaurantsMenusV1Menu_universal_d_BulkCreateMenuResult = BulkCreateMenuResult;\n  type restaurantsMenusV1Menu_universal_d_ItemMetadata = ItemMetadata;\n  type restaurantsMenusV1Menu_universal_d_ApplicationError = ApplicationError;\n  type restaurantsMenusV1Menu_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type restaurantsMenusV1Menu_universal_d_GetMenuRequest = GetMenuRequest;\n  type restaurantsMenusV1Menu_universal_d_GetMenuResponse = GetMenuResponse;\n  type restaurantsMenusV1Menu_universal_d_ListMenusRequest = ListMenusRequest;\n  type restaurantsMenusV1Menu_universal_d_CursorPaging = CursorPaging;\n  type restaurantsMenusV1Menu_universal_d_ListMenusResponse = ListMenusResponse;\n  type restaurantsMenusV1Menu_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type restaurantsMenusV1Menu_universal_d_Cursors = Cursors;\n  type restaurantsMenusV1Menu_universal_d_QueryMenusRequest = QueryMenusRequest;\n  type restaurantsMenusV1Menu_universal_d_CursorQuery = CursorQuery;\n  type restaurantsMenusV1Menu_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type restaurantsMenusV1Menu_universal_d_Sorting = Sorting;\n  type restaurantsMenusV1Menu_universal_d_SortOrder = SortOrder;\n  const restaurantsMenusV1Menu_universal_d_SortOrder: typeof SortOrder;\n  type restaurantsMenusV1Menu_universal_d_QueryMenusResponse = QueryMenusResponse;\n  type restaurantsMenusV1Menu_universal_d_UpdateMenuRequest = UpdateMenuRequest;\n  type restaurantsMenusV1Menu_universal_d_UpdateMenuResponse = UpdateMenuResponse;\n  type restaurantsMenusV1Menu_universal_d_BulkUpdateMenuRequest = BulkUpdateMenuRequest;\n  type restaurantsMenusV1Menu_universal_d_MaskedMenu = MaskedMenu;\n  type restaurantsMenusV1Menu_universal_d_BulkUpdateMenuResponse = BulkUpdateMenuResponse;\n  type restaurantsMenusV1Menu_universal_d_BulkMenuResult = BulkMenuResult;\n  type restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type restaurantsMenusV1Menu_universal_d_DeleteMenuRequest = DeleteMenuRequest;\n  type restaurantsMenusV1Menu_universal_d_DeleteMenuResponse = DeleteMenuResponse;\n  type restaurantsMenusV1Menu_universal_d_CloneMenusRequest = CloneMenusRequest;\n  type restaurantsMenusV1Menu_universal_d_CloneMenusResponse = CloneMenusResponse;\n  type restaurantsMenusV1Menu_universal_d_DomainEvent = DomainEvent;\n  type restaurantsMenusV1Menu_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type restaurantsMenusV1Menu_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type restaurantsMenusV1Menu_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type restaurantsMenusV1Menu_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type restaurantsMenusV1Menu_universal_d_ActionEvent = ActionEvent;\n  type restaurantsMenusV1Menu_universal_d_Empty = Empty;\n  const restaurantsMenusV1Menu_universal_d_createMenu: typeof createMenu;\n  const restaurantsMenusV1Menu_universal_d_bulkCreateMenus: typeof bulkCreateMenus;\n  type restaurantsMenusV1Menu_universal_d_BulkCreateMenusOptions = BulkCreateMenusOptions;\n  const restaurantsMenusV1Menu_universal_d_getMenu: typeof getMenu;\n  const restaurantsMenusV1Menu_universal_d_listMenus: typeof listMenus;\n  type restaurantsMenusV1Menu_universal_d_ListMenusOptions = ListMenusOptions;\n  const restaurantsMenusV1Menu_universal_d_queryMenus: typeof queryMenus;\n  type restaurantsMenusV1Menu_universal_d_MenusQueryResult = MenusQueryResult;\n  type restaurantsMenusV1Menu_universal_d_MenusQueryBuilder = MenusQueryBuilder;\n  const restaurantsMenusV1Menu_universal_d_updateMenu: typeof updateMenu;\n  type restaurantsMenusV1Menu_universal_d_UpdateMenu = UpdateMenu;\n  type restaurantsMenusV1Menu_universal_d_UpdateMenuOptions = UpdateMenuOptions;\n  const restaurantsMenusV1Menu_universal_d_bulkUpdateMenu: typeof bulkUpdateMenu;\n  type restaurantsMenusV1Menu_universal_d_BulkUpdateMenuOptions = BulkUpdateMenuOptions;\n  const restaurantsMenusV1Menu_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  const restaurantsMenusV1Menu_universal_d_deleteMenu: typeof deleteMenu;\n  const restaurantsMenusV1Menu_universal_d_cloneMenus: typeof cloneMenus;\n  namespace restaurantsMenusV1Menu_universal_d {\n    export {\n      restaurantsMenusV1Menu_universal_d___debug as __debug,\n      restaurantsMenusV1Menu_universal_d_Menu as Menu,\n      restaurantsMenusV1Menu_universal_d_ExtendedFields as ExtendedFields,\n      restaurantsMenusV1Menu_universal_d_InvalidateCache as InvalidateCache,\n      restaurantsMenusV1Menu_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      restaurantsMenusV1Menu_universal_d_App as App,\n      restaurantsMenusV1Menu_universal_d_Page as Page,\n      restaurantsMenusV1Menu_universal_d_URI as URI,\n      restaurantsMenusV1Menu_universal_d_DeleteOrphanSections as DeleteOrphanSections,\n      restaurantsMenusV1Menu_universal_d_CreateMenuRequest as CreateMenuRequest,\n      restaurantsMenusV1Menu_universal_d_CreateMenuResponse as CreateMenuResponse,\n      restaurantsMenusV1Menu_universal_d_BulkCreateMenusRequest as BulkCreateMenusRequest,\n      restaurantsMenusV1Menu_universal_d_BulkCreateMenusResponse as BulkCreateMenusResponse,\n      restaurantsMenusV1Menu_universal_d_BulkCreateMenuResult as BulkCreateMenuResult,\n      restaurantsMenusV1Menu_universal_d_ItemMetadata as ItemMetadata,\n      restaurantsMenusV1Menu_universal_d_ApplicationError as ApplicationError,\n      restaurantsMenusV1Menu_universal_d_BulkActionMetadata as BulkActionMetadata,\n      restaurantsMenusV1Menu_universal_d_GetMenuRequest as GetMenuRequest,\n      restaurantsMenusV1Menu_universal_d_GetMenuResponse as GetMenuResponse,\n      restaurantsMenusV1Menu_universal_d_ListMenusRequest as ListMenusRequest,\n      restaurantsMenusV1Menu_universal_d_CursorPaging as CursorPaging,\n      restaurantsMenusV1Menu_universal_d_ListMenusResponse as ListMenusResponse,\n      restaurantsMenusV1Menu_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      restaurantsMenusV1Menu_universal_d_Cursors as Cursors,\n      restaurantsMenusV1Menu_universal_d_QueryMenusRequest as QueryMenusRequest,\n      restaurantsMenusV1Menu_universal_d_CursorQuery as CursorQuery,\n      restaurantsMenusV1Menu_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      restaurantsMenusV1Menu_universal_d_Sorting as Sorting,\n      restaurantsMenusV1Menu_universal_d_SortOrder as SortOrder,\n      restaurantsMenusV1Menu_universal_d_QueryMenusResponse as QueryMenusResponse,\n      restaurantsMenusV1Menu_universal_d_UpdateMenuRequest as UpdateMenuRequest,\n      restaurantsMenusV1Menu_universal_d_UpdateMenuResponse as UpdateMenuResponse,\n      restaurantsMenusV1Menu_universal_d_BulkUpdateMenuRequest as BulkUpdateMenuRequest,\n      restaurantsMenusV1Menu_universal_d_MaskedMenu as MaskedMenu,\n      restaurantsMenusV1Menu_universal_d_BulkUpdateMenuResponse as BulkUpdateMenuResponse,\n      restaurantsMenusV1Menu_universal_d_BulkMenuResult as BulkMenuResult,\n      restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      restaurantsMenusV1Menu_universal_d_DeleteMenuRequest as DeleteMenuRequest,\n      restaurantsMenusV1Menu_universal_d_DeleteMenuResponse as DeleteMenuResponse,\n      restaurantsMenusV1Menu_universal_d_CloneMenusRequest as CloneMenusRequest,\n      restaurantsMenusV1Menu_universal_d_CloneMenusResponse as CloneMenusResponse,\n      restaurantsMenusV1Menu_universal_d_DomainEvent as DomainEvent,\n      restaurantsMenusV1Menu_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      restaurantsMenusV1Menu_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      restaurantsMenusV1Menu_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      restaurantsMenusV1Menu_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      restaurantsMenusV1Menu_universal_d_ActionEvent as ActionEvent,\n      restaurantsMenusV1Menu_universal_d_Empty as Empty,\n      restaurantsMenusV1Menu_universal_d_createMenu as createMenu,\n      restaurantsMenusV1Menu_universal_d_bulkCreateMenus as bulkCreateMenus,\n      restaurantsMenusV1Menu_universal_d_BulkCreateMenusOptions as BulkCreateMenusOptions,\n      restaurantsMenusV1Menu_universal_d_getMenu as getMenu,\n      restaurantsMenusV1Menu_universal_d_listMenus as listMenus,\n      restaurantsMenusV1Menu_universal_d_ListMenusOptions as ListMenusOptions,\n      restaurantsMenusV1Menu_universal_d_queryMenus as queryMenus,\n      restaurantsMenusV1Menu_universal_d_MenusQueryResult as MenusQueryResult,\n      restaurantsMenusV1Menu_universal_d_MenusQueryBuilder as MenusQueryBuilder,\n      restaurantsMenusV1Menu_universal_d_updateMenu as updateMenu,\n      restaurantsMenusV1Menu_universal_d_UpdateMenu as UpdateMenu,\n      restaurantsMenusV1Menu_universal_d_UpdateMenuOptions as UpdateMenuOptions,\n      restaurantsMenusV1Menu_universal_d_bulkUpdateMenu as bulkUpdateMenu,\n      restaurantsMenusV1Menu_universal_d_BulkUpdateMenuOptions as BulkUpdateMenuOptions,\n      restaurantsMenusV1Menu_universal_d_updateExtendedFields as updateExtendedFields,\n      restaurantsMenusV1Menu_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n      restaurantsMenusV1Menu_universal_d_deleteMenu as deleteMenu,\n      restaurantsMenusV1Menu_universal_d_cloneMenus as cloneMenus,\n    };\n  }\n  \n  export { restaurantsMenusV1Item_universal_d as menuItems, restaurantsMenusV1Menu_universal_d as menus, restaurantsMenusV1Section_universal_d as sections };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission-extension.d.ts",
      "content": "declare module \"interfaces-forms-v4-submission-extension\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface ValidateSubmissionRequest extends ValidateSubmissionRequestActionsOneOf {\n      /** Data for updating an existing submission. */\n      updateOptions?: UpdateOptions;\n      /** Submission to validate. */\n      submission: FormSubmission;\n      /** Whether to create or update the submission. */\n      actionType: ActionType;\n  }\n  /** @oneof */\n  interface ValidateSubmissionRequestActionsOneOf {\n      /** Data for updating an existing submission. */\n      updateOptions?: UpdateOptions;\n  }\n  /** Form submission that was created or retrieved. */\n  interface FormSubmission {\n      /**\n       * Submission ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** ID of the form which the submission belongs to. */\n      formId?: string;\n      /**\n       * The app which the form submissions belong to. For example, the namespace for the Wix Forms app is `wix.form_app.form`. Call `Get Submission` to retrieve the namespace.\n       * @readonly\n       */\n      namespace?: string;\n      /**\n       * Status of the submission.\n       * - `PENDING`: A submission is created, but has not yet been recorded in the Wix Forms collection.\n       * - `PAYMENT_WAITING`: A form submission requiring payment is created.\n       * - `PAYMENT_CANCELED`: An order of a form submission is canceled.\n       * - `CONFIRMED`: A submission is recorded in the Wix Forms collection.\n       */\n      status?: SubmissionStatus;\n      /** Submission values where `key` is the form field and `value` is the data submitted for the given field. */\n      submissions?: Record<string, any>;\n      /** Date and time the form submission was created. */\n      _createdDate?: Date;\n      /**\n       * Date and time the form submission was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * ID of the visitor that submitted the form.\n       * @readonly\n       */\n      submitter?: Submitter;\n      /** Whether a site owner marked a submission as \"seen\". */\n      seen?: boolean;\n      /** Data extension object that holds users' and apps' fields. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Order details. <br>\n       * <b>Note</b>: This object is only applicable when submittng a form in the Wix Payments app.\n       */\n      orderDetails?: OrderDetails;\n      /** Contact ID of a site visitor who created the submission. */\n      contactId?: string | null;\n  }\n  enum SubmissionStatus {\n      UNKNOWN_SUBMISSION_STATUS = \"UNKNOWN_SUBMISSION_STATUS\",\n      PENDING = \"PENDING\",\n      CONFIRMED = \"CONFIRMED\",\n      PAYMENT_WAITING = \"PAYMENT_WAITING\",\n      PAYMENT_CANCELED = \"PAYMENT_CANCELED\"\n  }\n  interface Submitter extends SubmitterSubmitterOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  /** @oneof */\n  interface SubmitterSubmitterOneOf {\n      /** Member ID. */\n      memberId?: string | null;\n      /** Visitor ID. */\n      visitorId?: string | null;\n      /** Application ID. */\n      applicationId?: string | null;\n      /** User ID. */\n      userId?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface OrderDetails {\n      /**\n       * ID of the order related to submission (only applicable if a form has payments).\n       * @readonly\n       */\n      orderId?: string | null;\n      /**\n       * Order number.\n       * @readonly\n       */\n      number?: string | null;\n      /**\n       * Currency.\n       * @readonly\n       */\n      currency?: string | null;\n      /**\n       * Item subtotal.\n       * @readonly\n       */\n      itemSubtotal?: string;\n      /**\n       * ID of the checkout related to submission (only applicable if a form has payments).\n       * @readonly\n       */\n      checkoutId?: string;\n  }\n  enum ActionType {\n      UNKNOWN_ACTION = \"UNKNOWN_ACTION\",\n      UPDATE = \"UPDATE\",\n      CREATE = \"CREATE\"\n  }\n  interface UpdateOptions {\n      /** Submission to update. */\n      currentSubmission?: FormSubmission;\n  }\n  interface ValidateSubmissionResponse {\n      /**\n       * List of validation errors. <br>\n       * If there are no validation errors, returns an empty array.\n       */\n      errors?: SubmissionValidationError[];\n  }\n  interface SubmissionValidationError extends SubmissionValidationErrorErrorMessageOneOf {\n      /** Predefined error type. */\n      errorType?: SubmissionErrorType;\n      /** Custom error message. The message is displayed instead of an error type. */\n      customErrorMessage?: string;\n      /** Path indicating the source of the error, such as `form.fields.target`. */\n      errorPath?: string;\n      /** Additional error parameters. */\n      params?: Record<string, any> | null;\n  }\n  /** @oneof */\n  interface SubmissionValidationErrorErrorMessageOneOf {\n      /** Predefined error type. */\n      errorType?: SubmissionErrorType;\n      /** Custom error message. The message is displayed instead of an error type. */\n      customErrorMessage?: string;\n  }\n  enum SubmissionErrorType {\n      /** Error is unknown or not suitable for any of options bellow */\n      UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n      /** Type of submitted value is incorrect */\n      TYPE_ERROR = \"TYPE_ERROR\",\n      /** Value is required to be provided */\n      REQUIRED_VALUE_ERROR = \"REQUIRED_VALUE_ERROR\",\n      /** Value contains additional properties not expected in schema */\n      UNKNOWN_VALUE_ERROR = \"UNKNOWN_VALUE_ERROR\",\n      /** Text value exceeds max length */\n      MAX_LENGTH_ERROR = \"MAX_LENGTH_ERROR\",\n      /** Text value not reaches min length */\n      MIN_LENGTH_ERROR = \"MIN_LENGTH_ERROR\",\n      /** Text value not applicable for expected pattern */\n      PATTERN_ERROR = \"PATTERN_ERROR\",\n      /** Text value not applicable for expected format */\n      FORMAT_ERROR = \"FORMAT_ERROR\",\n      /** Number value is too big */\n      MAX_VALUE_ERROR = \"MAX_VALUE_ERROR\",\n      /** Number value is too small */\n      MIN_VALUE_ERROR = \"MIN_VALUE_ERROR\",\n      /** Number value is not multiple of expected number */\n      MULTIPLE_OF_VALUE_ERROR = \"MULTIPLE_OF_VALUE_ERROR\",\n      /** Array value has too much items */\n      MIN_ITEMS_ERROR = \"MIN_ITEMS_ERROR\",\n      /** Array value has not enough items */\n      MAX_ITEMS_ERROR = \"MAX_ITEMS_ERROR\",\n      /** Value is not in list of allowed values */\n      NOT_ALLOWED_VALUE_ERROR = \"NOT_ALLOWED_VALUE_ERROR\",\n      /** Submitted form is disabled */\n      DISABLED_FORM_ERROR = \"DISABLED_FORM_ERROR\"\n  }\n  interface FormSubmissionSpiExtensionConfig {\n      /**\n       * Deployment URI where the endpoints are called. Wix Forms appends the endpoint path to the deployment URI.\n       * For example, to call the Validate Submission endpoint at `https://my-form-submissions.com/v1/validateSubmission`,\n       * the `deploymentUri` you provide here is `https://my-form-submissions.com/`.\n       */\n      deploymentUri?: SpiBaseUri;\n      /** Namespace names. */\n      namespaceConfigs?: FormsSubmissionsExtensionNamespaceConfig[];\n  }\n  interface SpiBaseUri {\n      /**\n       * Base URI where the methods are called. Wix appends the path to the `baseUri`.\n       * For example, to call the Get Shipping Rates method at `https://my-shipping-provider.com/v1/getRates`, the base URI you provide here is `https://my-shipping-provider.com/`.\n       */\n      baseUri?: string;\n      /** Alternate, custom URIs to replace the default URIs for specific service plugin methods. */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /**\n       * Name of the method to create a custom URI for.\n       *\n       * For `methodName`, use the name of the method in PascalCase.\n       * For example, for Get Shipping Rates use `GetShippingRates`.\n       */\n      methodName?: string;\n      /**\n       * Custom URI that Wix uses to call your server for this method. The path-suffix documented in the method will not be appended to this URI.\n       * Must be a secured endpoint beginning with `https://`. For example, `https://www.my-shipping-provider.com/my-shipping-rates`.\n       */\n      absoluteUri?: string;\n  }\n  interface FormsSubmissionsExtensionNamespaceConfig {\n      /**\n       * The app which the form submissions belong to. For example, the namespace for the Wix Forms app is `wix.form_app.form`.\n       *\n       * Call `Get Submission` to retrieve the namespace.\n       */\n      namespace?: string;\n      /**\n       * The ID of the specific form that will trigger the defined methods when a submission is made.\n       * This field is optional. If not provided, submissions from all forms will trigger the methods.\n       */\n      formId?: string | null;\n      /** Enable submission validation. */\n      submissionValidationEnabled?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface ValidateSubmissionOptions extends ValidateSubmissionRequestActionsOneOf {\n      /** Submission to validate. */\n      submission: FormSubmission;\n      /** Whether to create or update the submission. */\n      actionType: ActionType;\n      /** Data for updating an existing submission. */\n      updateOptions?: UpdateOptions;\n  }\n  \n  export { ActionType, AlternativeUri, BusinessError, Context, ExtendedFields, FormSubmission, FormSubmissionSpiExtensionConfig, FormsSubmissionsExtensionNamespaceConfig, IdentificationData, IdentificationDataIdOneOf, IdentityType, OrderDetails, SpiBaseUri, SubmissionErrorType, SubmissionStatus, SubmissionValidationError, SubmissionValidationErrorErrorMessageOneOf, Submitter, SubmitterSubmitterOneOf, UpdateOptions, ValidateSubmissionOptions, ValidateSubmissionRequest, ValidateSubmissionRequestActionsOneOf, ValidateSubmissionResponse };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/table-reservations-v1-custom-reservations-approval.d.ts",
      "content": "declare module \"table-reservations-v1-custom-reservations-approval\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetTimeSlotsRequiringApprovalRequest {\n      /** Party size. */\n      partySize?: number;\n      /** Reservation location. */\n      reservationLocation?: ReservationLocation;\n      /** Start dates. */\n      startDates?: Date[];\n  }\n  interface ReservationLocation {\n      /** ID. */\n      _id?: string;\n  }\n  interface GetTimeSlotsRequiringApprovalResponse {\n      /** Start dates requiring approval. */\n      startDatesRequiringApproval?: Date[];\n  }\n  interface CustomReservationsApprovalConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n      name?: string;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetTimeSlotsRequiringApprovalOptions {\n      /** Party size. */\n      partySize?: number;\n      /** Reservation location. */\n      reservationLocation?: ReservationLocation;\n      /** Start dates. */\n      startDates?: Date[];\n  }\n  \n  export { AlternativeUri, BusinessError, Context, CustomReservationsApprovalConfig, GetTimeSlotsRequiringApprovalOptions, GetTimeSlotsRequiringApprovalRequest, GetTimeSlotsRequiringApprovalResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, ReservationLocation, SpiBaseUri };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-multilingual.v2.d.ts",
      "content": "declare module \"wix-multilingual.v2\" {\n  /** Holds the current status of the translation credits of the current site */\n  interface CreditData extends CreditDataTypeOneOf {\n      /**\n       * Quota available for the site\n       * @readonly\n       */\n      limitedQuota?: LimitedQuota;\n      /** already used quota */\n      creditsUsed?: number | null;\n      /** Quota type - a number or limitless */\n      quotaType?: Quota;\n  }\n  /** @oneof */\n  interface CreditDataTypeOneOf {\n      /**\n       * Quota available for the site\n       * @readonly\n       */\n      limitedQuota?: LimitedQuota;\n  }\n  enum Quota {\n      UNKNOWN = \"UNKNOWN\",\n      /** represents a limited quota */\n      LIMITED = \"LIMITED\",\n      /** represents limitless quota */\n      LIMITLESS = \"LIMITLESS\"\n  }\n  interface LimitedQuota {\n      /** quota for */\n      quota?: number | null;\n  }\n  interface GetCreditDataRequest {\n  }\n  interface GetCreditDataResponse {\n      /** Current credit status for the requested site */\n      creditData?: CreditData;\n  }\n  interface CheckSufficientCreditsRequest {\n      /** Number of words to check for translation eligibility */\n      wordCount?: number;\n  }\n  interface CheckSufficientCreditsResponse {\n      /** Indicates whether the site has enough credits for the requested word count */\n      sufficientCredits?: boolean;\n  }\n  interface ReportCreditUsageRequest {\n      /** Number of credits used in the translation operation */\n      used?: number;\n  }\n  interface ReportCreditUsageResponse {\n      /** Updated credit status after reporting usage */\n      creditData?: CreditData;\n  }\n  interface UpdateCreditRequest {\n      /** New credit status to be set for the site */\n      creditData?: CreditData;\n  }\n  interface UpdateCreditResponse {\n      /** Updated credit status after the change */\n      creditData?: CreditData;\n  }\n  /**\n   * Retrieves the current credit status for the requested site\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.GET_CREDITS\n   * @adminMethod\n   */\n  function getCreditData(): Promise<GetCreditDataResponse>;\n  /**\n   * Checks if a site has enough credits for a specific number of words to be translated\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.GET_IS_ELIGIBLE\n   * @adminMethod\n   */\n  function checkSufficientCredits(options?: CheckSufficientCreditsOptions): Promise<CheckSufficientCreditsResponse>;\n  interface CheckSufficientCreditsOptions {\n      /** Number of words to check for translation eligibility */\n      wordCount?: number;\n  }\n  \n  type multilingualMachineV1Credit_universal_d_CreditData = CreditData;\n  type multilingualMachineV1Credit_universal_d_CreditDataTypeOneOf = CreditDataTypeOneOf;\n  type multilingualMachineV1Credit_universal_d_Quota = Quota;\n  const multilingualMachineV1Credit_universal_d_Quota: typeof Quota;\n  type multilingualMachineV1Credit_universal_d_LimitedQuota = LimitedQuota;\n  type multilingualMachineV1Credit_universal_d_GetCreditDataRequest = GetCreditDataRequest;\n  type multilingualMachineV1Credit_universal_d_GetCreditDataResponse = GetCreditDataResponse;\n  type multilingualMachineV1Credit_universal_d_CheckSufficientCreditsRequest = CheckSufficientCreditsRequest;\n  type multilingualMachineV1Credit_universal_d_CheckSufficientCreditsResponse = CheckSufficientCreditsResponse;\n  type multilingualMachineV1Credit_universal_d_ReportCreditUsageRequest = ReportCreditUsageRequest;\n  type multilingualMachineV1Credit_universal_d_ReportCreditUsageResponse = ReportCreditUsageResponse;\n  type multilingualMachineV1Credit_universal_d_UpdateCreditRequest = UpdateCreditRequest;\n  type multilingualMachineV1Credit_universal_d_UpdateCreditResponse = UpdateCreditResponse;\n  const multilingualMachineV1Credit_universal_d_getCreditData: typeof getCreditData;\n  const multilingualMachineV1Credit_universal_d_checkSufficientCredits: typeof checkSufficientCredits;\n  type multilingualMachineV1Credit_universal_d_CheckSufficientCreditsOptions = CheckSufficientCreditsOptions;\n  namespace multilingualMachineV1Credit_universal_d {\n    export {\n      multilingualMachineV1Credit_universal_d_CreditData as CreditData,\n      multilingualMachineV1Credit_universal_d_CreditDataTypeOneOf as CreditDataTypeOneOf,\n      multilingualMachineV1Credit_universal_d_Quota as Quota,\n      multilingualMachineV1Credit_universal_d_LimitedQuota as LimitedQuota,\n      multilingualMachineV1Credit_universal_d_GetCreditDataRequest as GetCreditDataRequest,\n      multilingualMachineV1Credit_universal_d_GetCreditDataResponse as GetCreditDataResponse,\n      multilingualMachineV1Credit_universal_d_CheckSufficientCreditsRequest as CheckSufficientCreditsRequest,\n      multilingualMachineV1Credit_universal_d_CheckSufficientCreditsResponse as CheckSufficientCreditsResponse,\n      multilingualMachineV1Credit_universal_d_ReportCreditUsageRequest as ReportCreditUsageRequest,\n      multilingualMachineV1Credit_universal_d_ReportCreditUsageResponse as ReportCreditUsageResponse,\n      multilingualMachineV1Credit_universal_d_UpdateCreditRequest as UpdateCreditRequest,\n      multilingualMachineV1Credit_universal_d_UpdateCreditResponse as UpdateCreditResponse,\n      multilingualMachineV1Credit_universal_d_getCreditData as getCreditData,\n      multilingualMachineV1Credit_universal_d_checkSufficientCredits as checkSufficientCredits,\n      multilingualMachineV1Credit_universal_d_CheckSufficientCreditsOptions as CheckSufficientCreditsOptions,\n    };\n  }\n  \n  interface Mapper {\n      _id?: string | null;\n      /** The FQDN of the entity the mapper refer to of exist */\n      entityFqdn?: string;\n      /** The entity fqn - this is unique across wix */\n      entityFqn?: string;\n      /** The appDefId that the entity belongs to */\n      appId?: string;\n      /** A list of fields to translate from the entity */\n      fields?: MapperField[];\n      /** The name of field that hold the parent name (if exist) */\n      groupByNameFieldId?: string | null;\n      /** Flag to turn off sync data to localization upon domain events */\n      ignoreDomainEvents?: boolean | null;\n      /** The segment of the entity */\n      segment?: string | null;\n      /** flag that indicate the removing a repeated field in main language should remove it in all languages */\n      deleteRepeatedFields?: boolean | null;\n      /** Whether the entity can bt extended by Data Extensions */\n      extensible?: boolean | null;\n      /** The schema id that the mapper points to */\n      schemaId?: string | null;\n  }\n  interface MapperField {\n      /** The field FQN */\n      _id?: string;\n      /** The field Type as it's shown in localization schema */\n      type?: FieldType$1;\n      /** If the field is part of a repeated fields */\n      sequencePath?: SequencePath[];\n      /** Option to override the field mask (the default is the id) */\n      overrideMask?: string | null;\n  }\n  enum FieldType$1 {\n      /** Undefined field type */\n      UNDEFINED_TYPE = \"UNDEFINED_TYPE\",\n      /** Short text TEXT */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long Plain Text TEXT */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** Long text including styles, images, links and more... HTML */\n      RICH_TEXT = \"RICH_TEXT\",\n      /** Wix Rich-Content-Editor format RICO */\n      RICH_CONTENT_EDITOR = \"RICH_CONTENT_EDITOR\",\n      /** Choose one from many options CSV TEXT */\n      SELECTION = \"SELECTION\",\n      /** Choose multi items from many options */\n      MULTI_SELECTION = \"MULTI_SELECTION\",\n      /** Wix document media item */\n      DOCUMENT = \"DOCUMENT\",\n      /** Wix Image media item */\n      IMAGE = \"IMAGE\",\n      /** Wix Video media item */\n      VIDEO = \"VIDEO\",\n      /** Image URL without metadata */\n      IMAGE_LINK = \"IMAGE_LINK\",\n      /** contain an XML representation of an entity or part of it */\n      XML = \"XML\"\n  }\n  interface SequencePath {\n      /** The name of the sequence the field is a part of */\n      name?: string;\n      /** The name of the field hold the id in the entity */\n      fieldId?: string;\n  }\n  interface Empty$3 {\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface LocalizedPublishedLanguageContentChanged {\n      /** The action that changed the content */\n      action?: LocalizationPublicAction;\n      /** token to identify the flow this event is part of and the total number of event in this flow. */\n      flowToken?: string | null;\n  }\n  interface LocalizedPublishedContent {\n      /** UUID identifier for content. */\n      contentId?: string;\n      /** compound key identifier for content. */\n      contentKey?: LocalizedContentKey;\n      /** content IETF BCP 47 language tag */\n      languageTag?: string;\n      /** localized content list of published fields. */\n      languagePublishedFields?: LocalizedPublishedContentField[];\n      /** Optional field that will group in the UI contents with the same group name */\n      groupByName?: string | null;\n  }\n  interface LocalizedContentKey {\n      /** Schema unique key identifier */\n      schemaKey?: SchemaKey$2;\n      /** Unique identifier that represents a specific entity in the app */\n      entityId?: string;\n  }\n  interface SchemaKey$2 {\n      /** ID of app that created the schema. */\n      appId?: string;\n      /** Unique name defined by the creator app, used to distinguish between different entities in the the app domain. */\n      entityType?: string;\n      /** Scope schema is defined in (Global/Site) */\n      scope?: SchemaScope$2;\n  }\n  enum SchemaScope$2 {\n      /** Global schema, relevant to all sites */\n      GLOBAL = \"GLOBAL\",\n      /** Site schema, relevant to specific site only */\n      SITE = \"SITE\"\n  }\n  /** contains only information relevant to UoU */\n  interface LocalizedPublishedContentField extends LocalizedPublishedContentFieldValueOneOf {\n      /** Field actual localized content as simple text type */\n      textValue?: string;\n      /** Field actual localized content as rich content editor type */\n      wixRichContentEditorValue?: string;\n      /** Field actual localized content as media type (image, video or document) */\n      mediaValue?: MediaItem;\n      /** Field unique identifier. This id has to fit to a schema field id. */\n      _id?: string;\n      /** In case field is reachable via sequence/s, this array represents all the sequences names in the path, and their corresponding item id. */\n      sequencePath?: FieldSequence[];\n  }\n  /** @oneof */\n  interface LocalizedPublishedContentFieldValueOneOf {\n      /** Field actual localized content as simple text type */\n      textValue?: string;\n      /** Field actual localized content as rich content editor type */\n      wixRichContentEditorValue?: string;\n      /** Field actual localized content as media type (image, video or document) */\n      mediaValue?: MediaItem;\n  }\n  interface MediaItem extends MediaItemMediaOneOf {\n      /** Image media item */\n      image?: string;\n      /** Video media item */\n      video?: string;\n      /** Document media item */\n      document?: string;\n  }\n  /** @oneof */\n  interface MediaItemMediaOneOf {\n      /** Image media item */\n      image?: string;\n      /** Video media item */\n      video?: string;\n      /** Document media item */\n      document?: string;\n  }\n  interface FocalPoint$1 {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface VideoResolution$2 {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface FieldSequence {\n      /** Name of sequence */\n      seqName?: string;\n      /** Id of relevant item in the sequence */\n      itemId?: string;\n      /** Optional field - in case set sequences will be ordered by priority index (best effort) */\n      priorityIndex?: number | null;\n  }\n  interface CreateOrUpdateAction {\n      /** The new Localized published state */\n      localizedPublishedContent?: LocalizedPublishedContent;\n  }\n  interface DeleteAction {\n      /** compound key identifier for removed content. */\n      contentKey?: LocalizedContentKey;\n      /** content IETF BCP 47 language tag */\n      languageTag?: string;\n  }\n  interface LocalizationPublicAction extends LocalizationPublicActionActionOneOf {\n      /** Content has changes in its fields */\n      createOrUpdateAction?: CreateOrUpdateAction;\n      /** Content deleted */\n      deleteAction?: DeleteAction;\n  }\n  /** @oneof */\n  interface LocalizationPublicActionActionOneOf {\n      /** Content has changes in its fields */\n      createOrUpdateAction?: CreateOrUpdateAction;\n      /** Content deleted */\n      deleteAction?: DeleteAction;\n  }\n  interface CreateOrUpdateNileMapperRequest {\n      /** A mapper to create or update if already exist */\n      mapper?: Mapper;\n      /** if true don't send pods notify kafka event */\n      skipPodsNotify?: boolean | null;\n  }\n  interface CreateOrUpdateNileMapperResponse {\n  }\n  interface GetEntityMapperRequest {\n      /** App id of the mapper requested */\n      appId?: string;\n      /** Entity fqn of the mapper requested */\n      entityFqn?: string;\n  }\n  interface GetEntityMapperResponse {\n      /** Mapper requested */\n      entityMapper?: Mapper;\n  }\n  interface ListEntityMapperRequest {\n      /** App id of the mapper requested */\n      appId?: string | null;\n      /** Entity fqn of the mapper requested */\n      entityFqn?: string | null;\n  }\n  interface ListEntityMapperResponse {\n      /** Mapper requested */\n      mappers?: Mapper[];\n  }\n  interface DeleteEntityMapperRequest {\n      /** App id of the mapper to delete */\n      appId?: string;\n      /** Entity fqn of the mapper to delete */\n      entityFqn?: string;\n  }\n  interface DeleteEntityMapperResponse {\n  }\n  interface GetSubscribedTopicsRequest {\n  }\n  interface GetSubscribedTopicsResponse {\n      /** List of subscribed topics */\n      topics?: string[];\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface HtmlNewRevisionSavedMessage {\n      /** HTML Site ID */\n      siteId?: string;\n      /** Newly saved revision */\n      revision?: string;\n      /** Restored from revision */\n      restoredFrom?: string | null;\n      /** Optional meta site id */\n      metaSiteId?: string | null;\n      /** Date that this version was updated (same as created) */\n      updateDate?: string;\n      /** determine whether this site uses responsive editor */\n      isResponsive?: boolean;\n      /** optional branch id if revision saved on branch */\n      branchId?: string | null;\n      /** determine if the new revision is a result of override save */\n      overrideSave?: boolean;\n      /** Optional last transaction id */\n      lastTransactionId?: string | null;\n      /** optional branch id if revision restored from branch */\n      restoredFromBranchId?: string | null;\n      /** information of revision prior to save revision operation */\n      lastRevisionInfo?: RevisionInfo;\n      /** new revision pages */\n      pages?: Page[];\n      /** the pages that were changed from the last save. Operations such as clone and restore will return an empty response at the moment. */\n      changedPages?: ChangedPages;\n      /** id of the main page of the site */\n      mainPageId?: string;\n      /** correlation id of original process (allows callers of createRevision to identify their revisions) */\n      originCorrelationId?: string | null;\n  }\n  interface RevisionInfo {\n      /** revision number */\n      revision?: string;\n      /** last_transaction_id of revision */\n      lastTransactionId?: string | null;\n  }\n  interface Page {\n      /** Page's Id */\n      _id?: string;\n  }\n  interface ChangedPages {\n      /** list of updated_pages */\n      updatedPages?: Page[];\n      /** list of deleted_pages */\n      deletedPages?: Page[];\n  }\n  interface SyncEditorDataRequest {\n      /** an optional filter for syncing the content */\n      syncFilter?: SyncFilter;\n  }\n  interface SyncFilter {\n      /** content IETF BCP 47 language tag */\n      languageTag?: string;\n  }\n  interface SyncEditorDataResponse {\n  }\n  interface PublishSiteTranslationsRequest {\n      /** A language to publish it's language */\n      language?: string;\n  }\n  interface PublishSiteTranslationsResponse {\n  }\n  interface CreateOrUpdateEditorMapperRequest {\n      /** A mapper to create or update if already exist */\n      mapper: Mapper;\n  }\n  interface CreateOrUpdateEditorMapperResponse {\n  }\n  interface GetMapperRequest {\n      /** The mapper type requested */\n      entityType: string;\n  }\n  interface GetMapperResponse {\n      /** The mapper with the entity type requested */\n      mapper?: Mapper;\n  }\n  interface DeleteMapperRequest {\n      /** The entity type to delete from the service */\n      entityType: string;\n  }\n  interface DeleteMapperResponse {\n  }\n  interface ListMappersRequest {\n  }\n  interface ListMappersResponse {\n      /** all mappers known to editor adapter */\n      mappers?: Mapper[];\n  }\n  interface StressDMRequest {\n      /** the meta site id to stress */\n      metaSiteId?: string;\n  }\n  interface StressDMResponse {\n  }\n  /**\n   * Update localization content with editor data\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function syncEditorData(options?: SyncEditorDataOptions): Promise<void>;\n  interface SyncEditorDataOptions {\n      /** an optional filter for syncing the content */\n      syncFilter?: SyncFilter;\n  }\n  /**\n   * Update publish content in editor with the latest saved content\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.TRANSLATE_APPS\n   * @adminMethod\n   */\n  function publishSiteTranslations(options?: PublishSiteTranslationsOptions): Promise<void>;\n  interface PublishSiteTranslationsOptions {\n      /** A language to publish it's language */\n      language?: string;\n  }\n  /**\n   * Update a mapper of create one if it doesn't exist\n   * @param mapper - A mapper to create or update if already exist\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField mapper\n   * @requiredField mapper.entityFqn\n   * @permissionId WIX_MULTILINGUAL.MANAGE_EDITOR_MAPPER\n   * @adminMethod\n   */\n  function createOrUpdateEditorMapper(mapper: Mapper): Promise<void>;\n  /**\n   * Get mapper by entity type\n   * @param entityType - The mapper type requested\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField entityType\n   * @permissionId WIX_MULTILINGUAL.MANAGE_EDITOR_MAPPER\n   * @adminMethod\n   */\n  function getMapper(entityType: string): Promise<GetMapperResponse>;\n  /**\n   * Delete a mapper from the service\n   * @param entityType - The entity type to delete from the service\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField entityType\n   * @permissionId WIX_MULTILINGUAL.MANAGE_EDITOR_MAPPER\n   * @adminMethod\n   */\n  function deleteMapper(entityType: string): Promise<void>;\n  /**\n   * List all mappers known to service\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.MANAGE_EDITOR_MAPPER\n   * @adminMethod\n   */\n  function listMappers(): Promise<ListMappersResponse>;\n  /**\n   * Stress test\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.MANAGE_EDITOR_MAPPER\n   * @adminMethod\n   */\n  function stressDm(options?: StressDmOptions): Promise<void>;\n  interface StressDmOptions {\n      /** the meta site id to stress */\n      metaSiteId?: string;\n  }\n  \n  type multilingualGenericconverterV1EntityMapper_universal_d_Mapper = Mapper;\n  type multilingualGenericconverterV1EntityMapper_universal_d_MapperField = MapperField;\n  type multilingualGenericconverterV1EntityMapper_universal_d_SequencePath = SequencePath;\n  type multilingualGenericconverterV1EntityMapper_universal_d_LocalizedPublishedLanguageContentChanged = LocalizedPublishedLanguageContentChanged;\n  type multilingualGenericconverterV1EntityMapper_universal_d_LocalizedPublishedContent = LocalizedPublishedContent;\n  type multilingualGenericconverterV1EntityMapper_universal_d_LocalizedContentKey = LocalizedContentKey;\n  type multilingualGenericconverterV1EntityMapper_universal_d_LocalizedPublishedContentField = LocalizedPublishedContentField;\n  type multilingualGenericconverterV1EntityMapper_universal_d_LocalizedPublishedContentFieldValueOneOf = LocalizedPublishedContentFieldValueOneOf;\n  type multilingualGenericconverterV1EntityMapper_universal_d_MediaItem = MediaItem;\n  type multilingualGenericconverterV1EntityMapper_universal_d_MediaItemMediaOneOf = MediaItemMediaOneOf;\n  type multilingualGenericconverterV1EntityMapper_universal_d_FieldSequence = FieldSequence;\n  type multilingualGenericconverterV1EntityMapper_universal_d_CreateOrUpdateAction = CreateOrUpdateAction;\n  type multilingualGenericconverterV1EntityMapper_universal_d_DeleteAction = DeleteAction;\n  type multilingualGenericconverterV1EntityMapper_universal_d_LocalizationPublicAction = LocalizationPublicAction;\n  type multilingualGenericconverterV1EntityMapper_universal_d_LocalizationPublicActionActionOneOf = LocalizationPublicActionActionOneOf;\n  type multilingualGenericconverterV1EntityMapper_universal_d_CreateOrUpdateNileMapperRequest = CreateOrUpdateNileMapperRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_CreateOrUpdateNileMapperResponse = CreateOrUpdateNileMapperResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_GetEntityMapperRequest = GetEntityMapperRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_GetEntityMapperResponse = GetEntityMapperResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_ListEntityMapperRequest = ListEntityMapperRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_ListEntityMapperResponse = ListEntityMapperResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_DeleteEntityMapperRequest = DeleteEntityMapperRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_DeleteEntityMapperResponse = DeleteEntityMapperResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_GetSubscribedTopicsRequest = GetSubscribedTopicsRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_GetSubscribedTopicsResponse = GetSubscribedTopicsResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_HtmlNewRevisionSavedMessage = HtmlNewRevisionSavedMessage;\n  type multilingualGenericconverterV1EntityMapper_universal_d_RevisionInfo = RevisionInfo;\n  type multilingualGenericconverterV1EntityMapper_universal_d_Page = Page;\n  type multilingualGenericconverterV1EntityMapper_universal_d_ChangedPages = ChangedPages;\n  type multilingualGenericconverterV1EntityMapper_universal_d_SyncEditorDataRequest = SyncEditorDataRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_SyncFilter = SyncFilter;\n  type multilingualGenericconverterV1EntityMapper_universal_d_SyncEditorDataResponse = SyncEditorDataResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_PublishSiteTranslationsRequest = PublishSiteTranslationsRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_PublishSiteTranslationsResponse = PublishSiteTranslationsResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_CreateOrUpdateEditorMapperRequest = CreateOrUpdateEditorMapperRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_CreateOrUpdateEditorMapperResponse = CreateOrUpdateEditorMapperResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_GetMapperRequest = GetMapperRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_GetMapperResponse = GetMapperResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_DeleteMapperRequest = DeleteMapperRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_DeleteMapperResponse = DeleteMapperResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_ListMappersRequest = ListMappersRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_ListMappersResponse = ListMappersResponse;\n  type multilingualGenericconverterV1EntityMapper_universal_d_StressDMRequest = StressDMRequest;\n  type multilingualGenericconverterV1EntityMapper_universal_d_StressDMResponse = StressDMResponse;\n  const multilingualGenericconverterV1EntityMapper_universal_d_syncEditorData: typeof syncEditorData;\n  type multilingualGenericconverterV1EntityMapper_universal_d_SyncEditorDataOptions = SyncEditorDataOptions;\n  const multilingualGenericconverterV1EntityMapper_universal_d_publishSiteTranslations: typeof publishSiteTranslations;\n  type multilingualGenericconverterV1EntityMapper_universal_d_PublishSiteTranslationsOptions = PublishSiteTranslationsOptions;\n  const multilingualGenericconverterV1EntityMapper_universal_d_createOrUpdateEditorMapper: typeof createOrUpdateEditorMapper;\n  const multilingualGenericconverterV1EntityMapper_universal_d_getMapper: typeof getMapper;\n  const multilingualGenericconverterV1EntityMapper_universal_d_deleteMapper: typeof deleteMapper;\n  const multilingualGenericconverterV1EntityMapper_universal_d_listMappers: typeof listMappers;\n  const multilingualGenericconverterV1EntityMapper_universal_d_stressDm: typeof stressDm;\n  type multilingualGenericconverterV1EntityMapper_universal_d_StressDmOptions = StressDmOptions;\n  namespace multilingualGenericconverterV1EntityMapper_universal_d {\n    export {\n      multilingualGenericconverterV1EntityMapper_universal_d_Mapper as Mapper,\n      multilingualGenericconverterV1EntityMapper_universal_d_MapperField as MapperField,\n      FieldType$1 as FieldType,\n      multilingualGenericconverterV1EntityMapper_universal_d_SequencePath as SequencePath,\n      Empty$3 as Empty,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      multilingualGenericconverterV1EntityMapper_universal_d_LocalizedPublishedLanguageContentChanged as LocalizedPublishedLanguageContentChanged,\n      multilingualGenericconverterV1EntityMapper_universal_d_LocalizedPublishedContent as LocalizedPublishedContent,\n      multilingualGenericconverterV1EntityMapper_universal_d_LocalizedContentKey as LocalizedContentKey,\n      SchemaKey$2 as SchemaKey,\n      SchemaScope$2 as SchemaScope,\n      multilingualGenericconverterV1EntityMapper_universal_d_LocalizedPublishedContentField as LocalizedPublishedContentField,\n      multilingualGenericconverterV1EntityMapper_universal_d_LocalizedPublishedContentFieldValueOneOf as LocalizedPublishedContentFieldValueOneOf,\n      multilingualGenericconverterV1EntityMapper_universal_d_MediaItem as MediaItem,\n      multilingualGenericconverterV1EntityMapper_universal_d_MediaItemMediaOneOf as MediaItemMediaOneOf,\n      FocalPoint$1 as FocalPoint,\n      VideoResolution$2 as VideoResolution,\n      multilingualGenericconverterV1EntityMapper_universal_d_FieldSequence as FieldSequence,\n      multilingualGenericconverterV1EntityMapper_universal_d_CreateOrUpdateAction as CreateOrUpdateAction,\n      multilingualGenericconverterV1EntityMapper_universal_d_DeleteAction as DeleteAction,\n      multilingualGenericconverterV1EntityMapper_universal_d_LocalizationPublicAction as LocalizationPublicAction,\n      multilingualGenericconverterV1EntityMapper_universal_d_LocalizationPublicActionActionOneOf as LocalizationPublicActionActionOneOf,\n      multilingualGenericconverterV1EntityMapper_universal_d_CreateOrUpdateNileMapperRequest as CreateOrUpdateNileMapperRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_CreateOrUpdateNileMapperResponse as CreateOrUpdateNileMapperResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_GetEntityMapperRequest as GetEntityMapperRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_GetEntityMapperResponse as GetEntityMapperResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_ListEntityMapperRequest as ListEntityMapperRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_ListEntityMapperResponse as ListEntityMapperResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_DeleteEntityMapperRequest as DeleteEntityMapperRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_DeleteEntityMapperResponse as DeleteEntityMapperResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_GetSubscribedTopicsRequest as GetSubscribedTopicsRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_GetSubscribedTopicsResponse as GetSubscribedTopicsResponse,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      multilingualGenericconverterV1EntityMapper_universal_d_HtmlNewRevisionSavedMessage as HtmlNewRevisionSavedMessage,\n      multilingualGenericconverterV1EntityMapper_universal_d_RevisionInfo as RevisionInfo,\n      multilingualGenericconverterV1EntityMapper_universal_d_Page as Page,\n      multilingualGenericconverterV1EntityMapper_universal_d_ChangedPages as ChangedPages,\n      multilingualGenericconverterV1EntityMapper_universal_d_SyncEditorDataRequest as SyncEditorDataRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_SyncFilter as SyncFilter,\n      multilingualGenericconverterV1EntityMapper_universal_d_SyncEditorDataResponse as SyncEditorDataResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_PublishSiteTranslationsRequest as PublishSiteTranslationsRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_PublishSiteTranslationsResponse as PublishSiteTranslationsResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_CreateOrUpdateEditorMapperRequest as CreateOrUpdateEditorMapperRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_CreateOrUpdateEditorMapperResponse as CreateOrUpdateEditorMapperResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_GetMapperRequest as GetMapperRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_GetMapperResponse as GetMapperResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_DeleteMapperRequest as DeleteMapperRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_DeleteMapperResponse as DeleteMapperResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_ListMappersRequest as ListMappersRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_ListMappersResponse as ListMappersResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_StressDMRequest as StressDMRequest,\n      multilingualGenericconverterV1EntityMapper_universal_d_StressDMResponse as StressDMResponse,\n      multilingualGenericconverterV1EntityMapper_universal_d_syncEditorData as syncEditorData,\n      multilingualGenericconverterV1EntityMapper_universal_d_SyncEditorDataOptions as SyncEditorDataOptions,\n      multilingualGenericconverterV1EntityMapper_universal_d_publishSiteTranslations as publishSiteTranslations,\n      multilingualGenericconverterV1EntityMapper_universal_d_PublishSiteTranslationsOptions as PublishSiteTranslationsOptions,\n      multilingualGenericconverterV1EntityMapper_universal_d_createOrUpdateEditorMapper as createOrUpdateEditorMapper,\n      multilingualGenericconverterV1EntityMapper_universal_d_getMapper as getMapper,\n      multilingualGenericconverterV1EntityMapper_universal_d_deleteMapper as deleteMapper,\n      multilingualGenericconverterV1EntityMapper_universal_d_listMappers as listMappers,\n      multilingualGenericconverterV1EntityMapper_universal_d_stressDm as stressDm,\n      multilingualGenericconverterV1EntityMapper_universal_d_StressDmOptions as StressDmOptions,\n    };\n  }\n  \n  interface PublishedContent {\n      /**\n       * Published content ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Schema key of the published content. */\n      schemaKey?: SchemaKey$1;\n      /**\n       * A unique identifier defined by the app developer to differentiate translation content for various entities within the site. For example, if an app developer is creating translation content for blog posts, the `entityId` can be `'blog-posts-1'`.\n       * @readonly\n       */\n      entityId?: string;\n      /**\n       * Published content locale.\n       * @readonly\n       */\n      locale?: string;\n      /** List of fields that have been translated and published for the given locale. */\n      fields?: PublishedContentField[];\n      /** A reference to the parent content. For example, if the content is a menu item, this property would contain the `entityId` of the menu it belongs to. */\n      parentEntityId?: string | null;\n      /** Custom field data for the published content object. */\n      extendedFields?: ExtendedFields;\n  }\n  interface SchemaKey$1 {\n      /**\n       * ID of the app that created the schema.\n       * @readonly\n       */\n      appId?: string;\n      /** A unique name defined by the app developer to differentiate translation schemas for various entities within their app. For example, if an app developer is creating a translation schema for blog posts, the `entityType` can be `'blog-posts'`. */\n      entityType?: string;\n      /**\n       * Scope of the translation schema.\n       * Supported values:\n       * + `GLOBAL`: A global schema for all sites.\n       * + `SITE`: A custom schema for a specific site.\n       */\n      scope?: SchemaScope$1;\n  }\n  enum SchemaScope$1 {\n      UNKNOWN_SCOPE = \"UNKNOWN_SCOPE\",\n      /** Global schema for all sites. */\n      GLOBAL = \"GLOBAL\",\n      /** Custom schema for a specific site. */\n      SITE = \"SITE\"\n  }\n  interface PublishedContentField extends PublishedContentFieldValueOneOf {\n      /** Plain text. */\n      textValue?: string;\n      /** Rich content. */\n      richContent?: RichContent$2;\n      /** Wix Media Manager image. */\n      image?: string;\n      /** Wix Media Manager video. */\n      video?: string;\n      /** Wix Media Manager document. */\n      document?: string;\n      /**\n       * Unique string identifier that links a specific content field to its corresponding field in the schema.\n       * @readonly\n       */\n      schemaFieldKey?: string;\n      /** For repeated fields. Contains the IDs of the messages linked to this field. */\n      sequenceIds?: string[];\n  }\n  /** @oneof */\n  interface PublishedContentFieldValueOneOf {\n      /** Plain text. */\n      textValue?: string;\n      /** Rich content. */\n      richContent?: RichContent$2;\n      /** Wix Media Manager image. */\n      image?: string;\n      /** Wix Media Manager video. */\n      video?: string;\n      /** Wix Media Manager document. */\n      document?: string;\n  }\n  interface RichContent$2 {\n      /** Node objects representing a rich content document. */\n      nodes?: Node$2[];\n      /** Object metadata. */\n      metadata?: Metadata$2;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle$2;\n  }\n  interface Node$2 extends NodeDataOneOf$2 {\n      /** Data for a button node. */\n      buttonData?: ButtonData$2;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData$2;\n      /** Data for a divider node. */\n      dividerData?: DividerData$2;\n      /** Data for a file node. */\n      fileData?: FileData$2;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData$2;\n      /** Data for a GIF node. */\n      gifData?: GIFData$2;\n      /** Data for a heading node. */\n      headingData?: HeadingData$2;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData$2;\n      /** Data for an image node. */\n      imageData?: ImageData$2;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData$2;\n      /** Data for a map node. */\n      mapData?: MapData$2;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData$2;\n      /** Data for a poll node. */\n      pollData?: PollData$2;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData$2;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData$2;\n      /** Data for a video node. */\n      videoData?: VideoData$2;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData$2;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData$2;\n      /** Data for a table node. */\n      tableData?: TableData$2;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData$2;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData$2;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData$2;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData$2;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData$2;\n      /** Data for a caption node. */\n      captionData?: CaptionData$2;\n      /** 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. */\n      type?: NodeType$2;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node$2[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle$2;\n  }\n  /** @oneof */\n  interface NodeDataOneOf$2 {\n      /** Data for a button node. */\n      buttonData?: ButtonData$2;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData$2;\n      /** Data for a divider node. */\n      dividerData?: DividerData$2;\n      /** Data for a file node. */\n      fileData?: FileData$2;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData$2;\n      /** Data for a GIF node. */\n      gifData?: GIFData$2;\n      /** Data for a heading node. */\n      headingData?: HeadingData$2;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData$2;\n      /** Data for an image node. */\n      imageData?: ImageData$2;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData$2;\n      /** Data for a map node. */\n      mapData?: MapData$2;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData$2;\n      /** Data for a poll node. */\n      pollData?: PollData$2;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData$2;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData$2;\n      /** Data for a video node. */\n      videoData?: VideoData$2;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData$2;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData$2;\n      /** Data for a table node. */\n      tableData?: TableData$2;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData$2;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData$2;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData$2;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData$2;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData$2;\n      /** Data for a caption node. */\n      captionData?: CaptionData$2;\n  }\n  enum NodeType$2 {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle$2 {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData$2 {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData$2;\n      /** The button type. */\n      type?: Type$2;\n      /** Styling for the button. */\n      styles?: Styles$2;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link$2;\n  }\n  interface Border$2 {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors$2 {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData$2 {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth$2;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment$2;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler$2;\n      /** The height of the node when it's displayed. */\n      height?: Height$2;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType$2 {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth$2 extends PluginContainerDataWidthDataOneOf$2 {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType$2;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf$2 {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType$2;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment$2 {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler$2 {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height$2 {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type$2 {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles$2 {\n      /** Border attributes. */\n      border?: Border$2;\n      /** Color attributes. */\n      colors?: Colors$2;\n  }\n  interface Link$2 extends LinkDataOneOf$2 {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target$2;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel$2;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf$2 {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target$2 {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel$2 {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData$2 {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle$2;\n  }\n  interface TextStyle$2 {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment$2;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment$2 {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData$2 {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData$2;\n      /** Divider line style. */\n      lineStyle?: LineStyle$2;\n      /** Divider width. */\n      width?: Width$2;\n      /** Divider alignment. */\n      alignment?: Alignment$2;\n  }\n  enum LineStyle$2 {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width$2 {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment$2 {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData$2 {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData$2;\n      /** The source for the file's data. */\n      src?: FileSource$2;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings$2;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode$2 {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource$2 extends FileSourceDataOneOf$2 {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf$2 {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings$2 {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode$2;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData$2 {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData$2;\n      /** The items in the gallery. */\n      items?: Item$2[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions$2;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media$2 {\n      /** The source for the media's data. */\n      src?: FileSource$2;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image$2 {\n      /** Image file details. */\n      media?: Media$2;\n      /** Link details for images that are links. */\n      link?: Link$2;\n  }\n  interface Video$2 {\n      /** Video file details. */\n      media?: Media$2;\n      /** Video thumbnail file details. */\n      thumbnail?: Media$2;\n  }\n  interface Item$2 extends ItemDataOneOf$2 {\n      /** An image item. */\n      image?: Image$2;\n      /** A video item. */\n      video?: Video$2;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf$2 {\n      /** An image item. */\n      image?: Image$2;\n      /** A video item. */\n      video?: Video$2;\n  }\n  interface GalleryOptions$2 {\n      /** Gallery layout. */\n      layout?: Layout$2;\n      /** Styling for gallery items. */\n      item?: ItemStyle$2;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails$2;\n  }\n  enum LayoutType$2 {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation$2 {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop$2 {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment$2 {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout$2 {\n      /** Gallery layout type. */\n      type?: LayoutType$2;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation$2;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle$2 {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop$2;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails$2 {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment$2;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData$2 {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData$2;\n      /** The source of the full size GIF. */\n      original?: GIF$2;\n      /** The source of the downsized GIF. */\n      downsized?: GIF$2;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF$2 {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData$2 {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle$2;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData$2 extends HTMLDataDataOneOf$2 {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData$2;\n      /** The type of HTML code. */\n      source?: Source$2;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf$2 {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source$2 {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData$2 {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData$2;\n      /** Image file details. */\n      image?: Media$2;\n      /** Link details for images that are links. */\n      link?: Link$2;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData$2 {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData$2;\n      /** Link details. */\n      link?: Link$2;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData$2 {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData$2;\n      /** Map settings. */\n      mapSettings?: MapSettings$2;\n  }\n  interface MapSettings$2 {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType$2;\n  }\n  enum MapType$2 {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData$2 {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle$2;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData$2 {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData$2;\n      /** Poll data. */\n      poll?: Poll$2;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout$2;\n      /** Styling for the poll and voting options. */\n      design?: Design$2;\n  }\n  enum ViewRole$2 {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole$2 {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions$2 {\n      /** Sets who can view the poll results. */\n      view?: ViewRole$2;\n      /** Sets who can vote. */\n      vote?: VoteRole$2;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option$2 {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media$2;\n  }\n  interface Settings$2 {\n      /** Permissions settings for voting. */\n      permissions?: Permissions$2;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType$2 {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection$2 {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout$2 {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType$2;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection$2;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout$2 {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType$2 {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient$2 {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background$2 extends BackgroundBackgroundOneOf$2 {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media$2;\n      /** Details for a gradient background. */\n      gradient?: Gradient$2;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType$2;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf$2 {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media$2;\n      /** Details for a gradient background. */\n      gradient?: Gradient$2;\n  }\n  interface PollDesign$2 {\n      /** Background styling. */\n      background?: Background$2;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign$2 {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll$2 {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media$2;\n      /** Voting options. */\n      options?: Option$2[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings$2;\n  }\n  interface PollDataLayout$2 {\n      /** Poll layout settings. */\n      poll?: PollLayout$2;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout$2;\n  }\n  interface Design$2 {\n      /** Styling for the poll. */\n      poll?: PollDesign$2;\n      /** Styling for voting options. */\n      options?: OptionDesign$2;\n  }\n  interface TextData$2 {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration$2[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration$2 extends DecorationDataOneOf$2 {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData$2;\n      /** Data for a color decoration. */\n      colorData?: ColorData$2;\n      /** Data for an external link decoration. */\n      linkData?: LinkData$2;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData$2;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData$2;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData$2;\n      /** The type of decoration to apply. */\n      type?: DecorationType$2;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf$2 {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData$2;\n      /** Data for a color decoration. */\n      colorData?: ColorData$2;\n      /** Data for an external link decoration. */\n      linkData?: LinkData$2;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData$2;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData$2;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData$2;\n  }\n  enum DecorationType$2 {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData$2 {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData$2 {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData$2 {\n      /** Link details. */\n      link?: Link$2;\n  }\n  interface MentionData$2 {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData$2 {\n      /** The units used for the font size. */\n      unit?: FontType$2;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType$2 {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData$2 {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData$2 extends AppEmbedDataAppDataOneOf$2 {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData$2;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData$2;\n      /** The type of Wix App content being embedded. */\n      type?: AppType$2;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media$2;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf$2 {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData$2;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData$2;\n  }\n  enum AppType$2 {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData$2 {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData$2 {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData$2 {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData$2;\n      /** Video details. */\n      video?: Media$2;\n      /** Video thumbnail details. */\n      thumbnail?: Media$2;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions$2;\n  }\n  interface PlaybackOptions$2 {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData$2 {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData$2;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed$2;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed$2 {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData$2 {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData$2;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems$2;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction$2;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems$2 {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction$2 {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData$2 {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData$2;\n      /** The table's dimensions. */\n      dimensions?: Dimensions$2;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions$2 {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData$2 {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle$2;\n      /** The cell's border colors. */\n      borderColors?: BorderColors$2;\n  }\n  enum VerticalAlignment$2 {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle$2 {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment$2;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors$2 {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue$2 {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue$2 {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData$2 {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData$2;\n      /** Audio file details. */\n      audio?: Media$2;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media$2;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData$2 {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData$2 {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData$2 {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData$2 {\n      textStyle?: TextStyle$2;\n  }\n  interface Metadata$2 {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle$2 {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle$2;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle$2;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle$2;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle$2;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle$2;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle$2;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle$2;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle$2;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle$2;\n  }\n  interface TextNodeStyle$2 {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration$2[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle$2;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface VideoResolution$1 {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2024-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface GetPublishedContentRequest {\n      /** The ID of the published content */\n      contentId: string;\n  }\n  interface GetPublishedContentResponse {\n      /** The published content */\n      publishedContent?: PublishedContent;\n  }\n  interface QueryPublishedContentRequest {\n      /** Query options. Note that some query filters are required. See the API description for a list of required filters. */\n      query: CursorQuery$2;\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryPublishedContentResponse {\n      /** The published translation content. */\n      publishedContent?: PublishedContent[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$2;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface Empty$2 {\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get the published content of a single entity by its ID\n   * @param contentId - The ID of the published content\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField contentId\n   * @permissionId WIX_MULTILINGUAL.READ_PUBLISHED_TRANSLATIONS\n   */\n  function getPublishedContent(contentId: string): Promise<GetPublishedContentResponse>;\n  /**\n   * Creates a query to retrieve a list of translation content items.\n   *\n   * The `queryPublishedContent()` function builds a query to retrieve a list of translation content items and returns a `PublishedContentQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-published-content/published-content-query-builder/find) function.\n   *\n   * You can refine the query by chaining `PublishedContentQueryBuilder` functions onto the query. `PublishedContentQueryBuilder` functions enable you to filter, sort, and control the results that `queryPublishedContent()` returns.\n   *\n   * `queryPublishedContent()` runs with the following `PublishedContentQueryBuilder` defaults which you can override:\n   *\n   * + [`limit(100)`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-published-content/published-content-query-builder/limit)\n   * + [`ascending('_id')`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-published-content/published-content-query-builder/ascending)\n   *\n   * The following query filter fields are required:\n   *\n   * + `schemaKey.appId`\n   * + `schemaKey.entityType`\n   * + `schemaKey.scope`\n   *\n   * The following `PublishedContentQueryBuilder` functions are supported for `queryPublishedContent()`. For a full description of the operations object, see the object returned for the [`items`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-published-content/published-content-query-result/items) property in `PublishedContentQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.READ_PUBLISHED_TRANSLATIONS\n   */\n  function queryPublishedContent(): PublishedContentQueryBuilder;\n  interface QueryCursorResult$2 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface PublishedContentQueryResult extends QueryCursorResult$2 {\n      items: PublishedContent[];\n      query: PublishedContentQueryBuilder;\n      next: () => Promise<PublishedContentQueryResult>;\n      prev: () => Promise<PublishedContentQueryResult>;\n  }\n  interface PublishedContentQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'schemaKey.appId' | 'schemaKey.entityType' | 'schemaKey.scope' | 'entityId' | 'locale' | 'parentEntityId', value: any) => PublishedContentQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'schemaKey.appId' | 'schemaKey.entityType' | 'schemaKey.scope' | 'entityId' | 'locale' | 'parentEntityId', value: any) => PublishedContentQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'schemaKey.appId' | 'schemaKey.entityType' | 'entityId' | 'locale' | 'parentEntityId', value: string) => PublishedContentQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'schemaKey.appId' | 'schemaKey.entityType' | 'schemaKey.scope' | 'entityId' | 'locale' | 'parentEntityId', value: any[]) => PublishedContentQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'schemaKey.appId' | 'schemaKey.entityType' | 'schemaKey.scope' | 'entityId' | 'locale' | 'parentEntityId', value: any) => PublishedContentQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'schemaKey.appId' | 'schemaKey.entityType' | 'schemaKey.scope' | 'entityId' | 'locale' | 'parentEntityId', value: boolean) => PublishedContentQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'schemaKey.appId' | 'schemaKey.entityType' | 'schemaKey.scope' | 'entityId' | 'locale' | 'parentEntityId'>) => PublishedContentQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'schemaKey.appId' | 'schemaKey.entityType' | 'schemaKey.scope' | 'entityId' | 'locale' | 'parentEntityId'>) => PublishedContentQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => PublishedContentQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => PublishedContentQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<PublishedContentQueryResult>;\n  }\n  \n  type multilingualLocalizationPublicV3PublishedContent_universal_d_PublishedContent = PublishedContent;\n  type multilingualLocalizationPublicV3PublishedContent_universal_d_PublishedContentField = PublishedContentField;\n  type multilingualLocalizationPublicV3PublishedContent_universal_d_PublishedContentFieldValueOneOf = PublishedContentFieldValueOneOf;\n  type multilingualLocalizationPublicV3PublishedContent_universal_d_FocalPoint = FocalPoint;\n  type multilingualLocalizationPublicV3PublishedContent_universal_d_ExtendedFields = ExtendedFields;\n  type multilingualLocalizationPublicV3PublishedContent_universal_d_GetPublishedContentRequest = GetPublishedContentRequest;\n  type multilingualLocalizationPublicV3PublishedContent_universal_d_GetPublishedContentResponse = GetPublishedContentResponse;\n  type multilingualLocalizationPublicV3PublishedContent_universal_d_QueryPublishedContentRequest = QueryPublishedContentRequest;\n  type multilingualLocalizationPublicV3PublishedContent_universal_d_QueryPublishedContentResponse = QueryPublishedContentResponse;\n  const multilingualLocalizationPublicV3PublishedContent_universal_d_getPublishedContent: typeof getPublishedContent;\n  const multilingualLocalizationPublicV3PublishedContent_universal_d_queryPublishedContent: typeof queryPublishedContent;\n  type multilingualLocalizationPublicV3PublishedContent_universal_d_PublishedContentQueryResult = PublishedContentQueryResult;\n  type multilingualLocalizationPublicV3PublishedContent_universal_d_PublishedContentQueryBuilder = PublishedContentQueryBuilder;\n  namespace multilingualLocalizationPublicV3PublishedContent_universal_d {\n    export {\n      multilingualLocalizationPublicV3PublishedContent_universal_d_PublishedContent as PublishedContent,\n      SchemaKey$1 as SchemaKey,\n      SchemaScope$1 as SchemaScope,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_PublishedContentField as PublishedContentField,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_PublishedContentFieldValueOneOf as PublishedContentFieldValueOneOf,\n      RichContent$2 as RichContent,\n      Node$2 as Node,\n      NodeDataOneOf$2 as NodeDataOneOf,\n      NodeType$2 as NodeType,\n      NodeStyle$2 as NodeStyle,\n      ButtonData$2 as ButtonData,\n      Border$2 as Border,\n      Colors$2 as Colors,\n      PluginContainerData$2 as PluginContainerData,\n      WidthType$2 as WidthType,\n      PluginContainerDataWidth$2 as PluginContainerDataWidth,\n      PluginContainerDataWidthDataOneOf$2 as PluginContainerDataWidthDataOneOf,\n      PluginContainerDataAlignment$2 as PluginContainerDataAlignment,\n      Spoiler$2 as Spoiler,\n      Height$2 as Height,\n      Type$2 as Type,\n      Styles$2 as Styles,\n      Link$2 as Link,\n      LinkDataOneOf$2 as LinkDataOneOf,\n      Target$2 as Target,\n      Rel$2 as Rel,\n      CodeBlockData$2 as CodeBlockData,\n      TextStyle$2 as TextStyle,\n      TextAlignment$2 as TextAlignment,\n      DividerData$2 as DividerData,\n      LineStyle$2 as LineStyle,\n      Width$2 as Width,\n      Alignment$2 as Alignment,\n      FileData$2 as FileData,\n      ViewMode$2 as ViewMode,\n      FileSource$2 as FileSource,\n      FileSourceDataOneOf$2 as FileSourceDataOneOf,\n      PDFSettings$2 as PDFSettings,\n      GalleryData$2 as GalleryData,\n      Media$2 as Media,\n      Image$2 as Image,\n      Video$2 as Video,\n      Item$2 as Item,\n      ItemDataOneOf$2 as ItemDataOneOf,\n      GalleryOptions$2 as GalleryOptions,\n      LayoutType$2 as LayoutType,\n      Orientation$2 as Orientation,\n      Crop$2 as Crop,\n      ThumbnailsAlignment$2 as ThumbnailsAlignment,\n      Layout$2 as Layout,\n      ItemStyle$2 as ItemStyle,\n      Thumbnails$2 as Thumbnails,\n      GIFData$2 as GIFData,\n      GIF$2 as GIF,\n      HeadingData$2 as HeadingData,\n      HTMLData$2 as HTMLData,\n      HTMLDataDataOneOf$2 as HTMLDataDataOneOf,\n      Source$2 as Source,\n      ImageData$2 as ImageData,\n      LinkPreviewData$2 as LinkPreviewData,\n      MapData$2 as MapData,\n      MapSettings$2 as MapSettings,\n      MapType$2 as MapType,\n      ParagraphData$2 as ParagraphData,\n      PollData$2 as PollData,\n      ViewRole$2 as ViewRole,\n      VoteRole$2 as VoteRole,\n      Permissions$2 as Permissions,\n      Option$2 as Option,\n      Settings$2 as Settings,\n      PollLayoutType$2 as PollLayoutType,\n      PollLayoutDirection$2 as PollLayoutDirection,\n      PollLayout$2 as PollLayout,\n      OptionLayout$2 as OptionLayout,\n      BackgroundType$2 as BackgroundType,\n      Gradient$2 as Gradient,\n      Background$2 as Background,\n      BackgroundBackgroundOneOf$2 as BackgroundBackgroundOneOf,\n      PollDesign$2 as PollDesign,\n      OptionDesign$2 as OptionDesign,\n      Poll$2 as Poll,\n      PollDataLayout$2 as PollDataLayout,\n      Design$2 as Design,\n      TextData$2 as TextData,\n      Decoration$2 as Decoration,\n      DecorationDataOneOf$2 as DecorationDataOneOf,\n      DecorationType$2 as DecorationType,\n      AnchorData$2 as AnchorData,\n      ColorData$2 as ColorData,\n      LinkData$2 as LinkData,\n      MentionData$2 as MentionData,\n      FontSizeData$2 as FontSizeData,\n      FontType$2 as FontType,\n      SpoilerData$2 as SpoilerData,\n      AppEmbedData$2 as AppEmbedData,\n      AppEmbedDataAppDataOneOf$2 as AppEmbedDataAppDataOneOf,\n      AppType$2 as AppType,\n      BookingData$2 as BookingData,\n      EventData$2 as EventData,\n      VideoData$2 as VideoData,\n      PlaybackOptions$2 as PlaybackOptions,\n      EmbedData$2 as EmbedData,\n      Oembed$2 as Oembed,\n      CollapsibleListData$2 as CollapsibleListData,\n      InitialExpandedItems$2 as InitialExpandedItems,\n      Direction$2 as Direction,\n      TableData$2 as TableData,\n      Dimensions$2 as Dimensions,\n      TableCellData$2 as TableCellData,\n      VerticalAlignment$2 as VerticalAlignment,\n      CellStyle$2 as CellStyle,\n      BorderColors$2 as BorderColors,\n      NullValue$2 as NullValue,\n      ListValue$2 as ListValue,\n      AudioData$2 as AudioData,\n      OrderedListData$2 as OrderedListData,\n      BulletedListData$2 as BulletedListData,\n      BlockquoteData$2 as BlockquoteData,\n      CaptionData$2 as CaptionData,\n      Metadata$2 as Metadata,\n      DocumentStyle$2 as DocumentStyle,\n      TextNodeStyle$2 as TextNodeStyle,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_FocalPoint as FocalPoint,\n      VideoResolution$1 as VideoResolution,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_ExtendedFields as ExtendedFields,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_GetPublishedContentRequest as GetPublishedContentRequest,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_GetPublishedContentResponse as GetPublishedContentResponse,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_QueryPublishedContentRequest as QueryPublishedContentRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_QueryPublishedContentResponse as QueryPublishedContentResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      Empty$2 as Empty,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_getPublishedContent as getPublishedContent,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_queryPublishedContent as queryPublishedContent,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_PublishedContentQueryResult as PublishedContentQueryResult,\n      multilingualLocalizationPublicV3PublishedContent_universal_d_PublishedContentQueryBuilder as PublishedContentQueryBuilder,\n    };\n  }\n  \n  /**\n   * A translatable content is a unit of content to translate.\n   *\n   * Use [Machine Translate](/machine-translation/machine-translate) to translate a single unit of translatable content, or [Bulk Machine Translate](/machine-translation/bulk-machine-translate)\n   * to translate many.\n   */\n  interface TranslatableContent extends TranslatableContentContentOneOf {\n      /** Plain text. */\n      plainTextContent?: string;\n      /** HTML-encoded. */\n      htmlContent?: string;\n      /** Rich content. */\n      richContent?: RichContent$1;\n      /** Translatable content ID. The ID should be unique to this content and doesn't need to match the ID used by any other service. */\n      _id?: string | null;\n      /** Format of the translatable content. */\n      format?: Format;\n  }\n  /** @oneof */\n  interface TranslatableContentContentOneOf {\n      /** Plain text. */\n      plainTextContent?: string;\n      /** HTML-encoded. */\n      htmlContent?: string;\n      /** Rich content. */\n      richContent?: RichContent$1;\n  }\n  enum Format {\n      /** Unspecified format. */\n      UNKNOWN_FORMAT = \"UNKNOWN_FORMAT\",\n      /** Plain text content. */\n      PLAIN_TEXT = \"PLAIN_TEXT\",\n      /** HTML content. */\n      HTML = \"HTML\",\n      /** Rich Content. */\n      RICH = \"RICH\"\n  }\n  interface RichContent$1 {\n      /** Node objects representing a rich content document. */\n      nodes?: Node$1[];\n      /** Object metadata. */\n      metadata?: Metadata$1;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle$1;\n  }\n  interface Node$1 extends NodeDataOneOf$1 {\n      /** Data for a button node. */\n      buttonData?: ButtonData$1;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData$1;\n      /** Data for a divider node. */\n      dividerData?: DividerData$1;\n      /** Data for a file node. */\n      fileData?: FileData$1;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData$1;\n      /** Data for a GIF node. */\n      gifData?: GIFData$1;\n      /** Data for a heading node. */\n      headingData?: HeadingData$1;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData$1;\n      /** Data for an image node. */\n      imageData?: ImageData$1;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData$1;\n      /** Data for a map node. */\n      mapData?: MapData$1;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData$1;\n      /** Data for a poll node. */\n      pollData?: PollData$1;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData$1;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData$1;\n      /** Data for a video node. */\n      videoData?: VideoData$1;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData$1;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData$1;\n      /** Data for a table node. */\n      tableData?: TableData$1;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData$1;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData$1;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData$1;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData$1;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData$1;\n      /** Data for a caption node. */\n      captionData?: CaptionData$1;\n      /** 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. */\n      type?: NodeType$1;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node$1[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle$1;\n  }\n  /** @oneof */\n  interface NodeDataOneOf$1 {\n      /** Data for a button node. */\n      buttonData?: ButtonData$1;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData$1;\n      /** Data for a divider node. */\n      dividerData?: DividerData$1;\n      /** Data for a file node. */\n      fileData?: FileData$1;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData$1;\n      /** Data for a GIF node. */\n      gifData?: GIFData$1;\n      /** Data for a heading node. */\n      headingData?: HeadingData$1;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData$1;\n      /** Data for an image node. */\n      imageData?: ImageData$1;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData$1;\n      /** Data for a map node. */\n      mapData?: MapData$1;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData$1;\n      /** Data for a poll node. */\n      pollData?: PollData$1;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData$1;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData$1;\n      /** Data for a video node. */\n      videoData?: VideoData$1;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData$1;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData$1;\n      /** Data for a table node. */\n      tableData?: TableData$1;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData$1;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData$1;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData$1;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData$1;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData$1;\n      /** Data for a caption node. */\n      captionData?: CaptionData$1;\n  }\n  enum NodeType$1 {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle$1 {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData$1 {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData$1;\n      /** The button type. */\n      type?: Type$1;\n      /** Styling for the button. */\n      styles?: Styles$1;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link$1;\n  }\n  interface Border$1 {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors$1 {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData$1 {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth$1;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment$1;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler$1;\n      /** The height of the node when it's displayed. */\n      height?: Height$1;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType$1 {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth$1 extends PluginContainerDataWidthDataOneOf$1 {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType$1;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf$1 {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType$1;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment$1 {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler$1 {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height$1 {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type$1 {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles$1 {\n      /** Border attributes. */\n      border?: Border$1;\n      /** Color attributes. */\n      colors?: Colors$1;\n  }\n  interface Link$1 extends LinkDataOneOf$1 {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target$1;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel$1;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf$1 {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target$1 {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel$1 {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData$1 {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle$1;\n  }\n  interface TextStyle$1 {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment$1;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment$1 {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData$1 {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData$1;\n      /** Divider line style. */\n      lineStyle?: LineStyle$1;\n      /** Divider width. */\n      width?: Width$1;\n      /** Divider alignment. */\n      alignment?: Alignment$1;\n  }\n  enum LineStyle$1 {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width$1 {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment$1 {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData$1 {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData$1;\n      /** The source for the file's data. */\n      src?: FileSource$1;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings$1;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode$1 {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource$1 extends FileSourceDataOneOf$1 {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf$1 {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings$1 {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode$1;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData$1 {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData$1;\n      /** The items in the gallery. */\n      items?: Item$1[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions$1;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media$1 {\n      /** The source for the media's data. */\n      src?: FileSource$1;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image$1 {\n      /** Image file details. */\n      media?: Media$1;\n      /** Link details for images that are links. */\n      link?: Link$1;\n  }\n  interface Video$1 {\n      /** Video file details. */\n      media?: Media$1;\n      /** Video thumbnail file details. */\n      thumbnail?: Media$1;\n  }\n  interface Item$1 extends ItemDataOneOf$1 {\n      /** An image item. */\n      image?: Image$1;\n      /** A video item. */\n      video?: Video$1;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf$1 {\n      /** An image item. */\n      image?: Image$1;\n      /** A video item. */\n      video?: Video$1;\n  }\n  interface GalleryOptions$1 {\n      /** Gallery layout. */\n      layout?: Layout$1;\n      /** Styling for gallery items. */\n      item?: ItemStyle$1;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails$1;\n  }\n  enum LayoutType$1 {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation$1 {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop$1 {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment$1 {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout$1 {\n      /** Gallery layout type. */\n      type?: LayoutType$1;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation$1;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle$1 {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop$1;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails$1 {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment$1;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData$1 {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData$1;\n      /** The source of the full size GIF. */\n      original?: GIF$1;\n      /** The source of the downsized GIF. */\n      downsized?: GIF$1;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF$1 {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData$1 {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle$1;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData$1 extends HTMLDataDataOneOf$1 {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData$1;\n      /** The type of HTML code. */\n      source?: Source$1;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf$1 {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source$1 {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData$1 {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData$1;\n      /** Image file details. */\n      image?: Media$1;\n      /** Link details for images that are links. */\n      link?: Link$1;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData$1 {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData$1;\n      /** Link details. */\n      link?: Link$1;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData$1 {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData$1;\n      /** Map settings. */\n      mapSettings?: MapSettings$1;\n  }\n  interface MapSettings$1 {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType$1;\n  }\n  enum MapType$1 {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData$1 {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle$1;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData$1 {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData$1;\n      /** Poll data. */\n      poll?: Poll$1;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout$1;\n      /** Styling for the poll and voting options. */\n      design?: Design$1;\n  }\n  enum ViewRole$1 {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole$1 {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions$1 {\n      /** Sets who can view the poll results. */\n      view?: ViewRole$1;\n      /** Sets who can vote. */\n      vote?: VoteRole$1;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option$1 {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media$1;\n  }\n  interface Settings$1 {\n      /** Permissions settings for voting. */\n      permissions?: Permissions$1;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType$1 {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection$1 {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout$1 {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType$1;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection$1;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout$1 {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType$1 {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient$1 {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background$1 extends BackgroundBackgroundOneOf$1 {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media$1;\n      /** Details for a gradient background. */\n      gradient?: Gradient$1;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType$1;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf$1 {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media$1;\n      /** Details for a gradient background. */\n      gradient?: Gradient$1;\n  }\n  interface PollDesign$1 {\n      /** Background styling. */\n      background?: Background$1;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign$1 {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll$1 {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media$1;\n      /** Voting options. */\n      options?: Option$1[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings$1;\n  }\n  interface PollDataLayout$1 {\n      /** Poll layout settings. */\n      poll?: PollLayout$1;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout$1;\n  }\n  interface Design$1 {\n      /** Styling for the poll. */\n      poll?: PollDesign$1;\n      /** Styling for voting options. */\n      options?: OptionDesign$1;\n  }\n  interface TextData$1 {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration$1[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration$1 extends DecorationDataOneOf$1 {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData$1;\n      /** Data for a color decoration. */\n      colorData?: ColorData$1;\n      /** Data for an external link decoration. */\n      linkData?: LinkData$1;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData$1;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData$1;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData$1;\n      /** The type of decoration to apply. */\n      type?: DecorationType$1;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf$1 {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData$1;\n      /** Data for a color decoration. */\n      colorData?: ColorData$1;\n      /** Data for an external link decoration. */\n      linkData?: LinkData$1;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData$1;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData$1;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData$1;\n  }\n  enum DecorationType$1 {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData$1 {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData$1 {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData$1 {\n      /** Link details. */\n      link?: Link$1;\n  }\n  interface MentionData$1 {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData$1 {\n      /** The units used for the font size. */\n      unit?: FontType$1;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType$1 {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData$1 {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData$1 extends AppEmbedDataAppDataOneOf$1 {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData$1;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData$1;\n      /** The type of Wix App content being embedded. */\n      type?: AppType$1;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media$1;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf$1 {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData$1;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData$1;\n  }\n  enum AppType$1 {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData$1 {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData$1 {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData$1 {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData$1;\n      /** Video details. */\n      video?: Media$1;\n      /** Video thumbnail details. */\n      thumbnail?: Media$1;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions$1;\n  }\n  interface PlaybackOptions$1 {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData$1 {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData$1;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed$1;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed$1 {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData$1 {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData$1;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems$1;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction$1;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems$1 {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction$1 {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData$1 {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData$1;\n      /** The table's dimensions. */\n      dimensions?: Dimensions$1;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions$1 {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData$1 {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle$1;\n      /** The cell's border colors. */\n      borderColors?: BorderColors$1;\n  }\n  enum VerticalAlignment$1 {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle$1 {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment$1;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors$1 {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue$1 {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue$1 {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData$1 {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData$1;\n      /** Audio file details. */\n      audio?: Media$1;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media$1;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData$1 {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData$1 {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData$1 {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData$1 {\n      textStyle?: TextStyle$1;\n  }\n  interface Metadata$1 {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle$1 {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle$1;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle$1;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle$1;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle$1;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle$1;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle$1;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle$1;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle$1;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle$1;\n  }\n  interface TextNodeStyle$1 {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration$1[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle$1;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface MachineTranslateRequest {\n      /** Language of the source text to translate. */\n      sourceLanguage: SupportedLanguage;\n      /** Language to translate text into. */\n      targetLanguage: SupportedLanguage;\n      /** The content to translate. */\n      contentToTranslate: TranslatableContent;\n  }\n  enum SupportedLanguage {\n      /** Undefined Language */\n      UNDEFINED_SUPPORTED_LANGUAGE = \"UNDEFINED_SUPPORTED_LANGUAGE\",\n      /** Afrikaans */\n      AF = \"AF\",\n      /** Albanian */\n      SQ = \"SQ\",\n      /** Amharic */\n      AM = \"AM\",\n      /** Arabic */\n      AR = \"AR\",\n      /** Armenian */\n      HY = \"HY\",\n      /** Assamese */\n      AS = \"AS\",\n      /** Aymara */\n      AY = \"AY\",\n      /** Azerbaijani */\n      AZ = \"AZ\",\n      /** Bambara */\n      BM = \"BM\",\n      /** Basque */\n      EU = \"EU\",\n      /** Belarusian */\n      BE = \"BE\",\n      /** Bengali */\n      BN = \"BN\",\n      /** Bhojpuri */\n      BHO = \"BHO\",\n      /** Bosnian */\n      BS = \"BS\",\n      /** Bulgarian */\n      BG = \"BG\",\n      /** Catalan */\n      CA = \"CA\",\n      /** Cebuano */\n      CEB = \"CEB\",\n      /** Chinese (Simplified) */\n      ZH_CN = \"ZH_CN\",\n      /** Chinese (Traditional) */\n      ZH_TW = \"ZH_TW\",\n      /** Chinese (Simplified) */\n      ZH = \"ZH\",\n      /** Corsican */\n      CO = \"CO\",\n      /** Croatian */\n      HR = \"HR\",\n      /** Czech */\n      CS = \"CS\",\n      /** Danish */\n      DA = \"DA\",\n      /** Dhivehi */\n      DV = \"DV\",\n      /** Dogri */\n      DOI = \"DOI\",\n      /** Dutch */\n      NL = \"NL\",\n      /** English */\n      EN = \"EN\",\n      /** Esperanto */\n      EO = \"EO\",\n      /** Estonian */\n      ET = \"ET\",\n      /** Ewe */\n      EE = \"EE\",\n      /** Filipino (Tagalog) */\n      FIL = \"FIL\",\n      /** Finnish */\n      FI = \"FI\",\n      /** French */\n      FR = \"FR\",\n      /** Frisian */\n      FY = \"FY\",\n      /** Galician */\n      GL = \"GL\",\n      /** Georgian */\n      KA = \"KA\",\n      /** German */\n      DE = \"DE\",\n      /** Greek */\n      EL = \"EL\",\n      /** Guarani */\n      GN = \"GN\",\n      /** Gujarati */\n      GU = \"GU\",\n      /** Haitian Creole */\n      HT = \"HT\",\n      /** Hausa */\n      HA = \"HA\",\n      /** Hawaiian */\n      HAW = \"HAW\",\n      /** Hebrew */\n      HE = \"HE\",\n      /** Hindi */\n      HI = \"HI\",\n      /** Hmong */\n      HMN = \"HMN\",\n      /** Hungarian */\n      HU = \"HU\",\n      /** Icelandic */\n      IS = \"IS\",\n      /** Igbo */\n      IG = \"IG\",\n      /** Ilocano */\n      ILO = \"ILO\",\n      /** Indonesian */\n      ID = \"ID\",\n      /** Irish */\n      GA = \"GA\",\n      /** Italian */\n      IT = \"IT\",\n      /** Japanese */\n      JA = \"JA\",\n      /** Javanese */\n      JW = \"JW\",\n      /** Kannada */\n      KN = \"KN\",\n      /** Kazakh */\n      KK = \"KK\",\n      /** Khmer */\n      KM = \"KM\",\n      /** Kinyarwanda */\n      RW = \"RW\",\n      /** Konkani */\n      GOM = \"GOM\",\n      /** Korean */\n      KO = \"KO\",\n      /** Krio */\n      KRI = \"KRI\",\n      /** Kurdish */\n      KU = \"KU\",\n      /** Kurdish (Sorani) */\n      CKB = \"CKB\",\n      /** Kyrgyz */\n      KY = \"KY\",\n      /** Lao */\n      LO = \"LO\",\n      /** Latin */\n      LA = \"LA\",\n      /** Latvian */\n      LV = \"LV\",\n      /** Lingala */\n      LN = \"LN\",\n      /** Lithuanian */\n      LT = \"LT\",\n      /** Luganda */\n      LG = \"LG\",\n      /** Luxembourgish */\n      LB = \"LB\",\n      /** Macedonian */\n      MK = \"MK\",\n      /** Maithili */\n      MAI = \"MAI\",\n      /** Malagasy */\n      MG = \"MG\",\n      /** Malay */\n      MS = \"MS\",\n      /** Malayalam */\n      ML = \"ML\",\n      /** Maltese */\n      MT = \"MT\",\n      /** Maori */\n      MI = \"MI\",\n      /** Marathi */\n      MR = \"MR\",\n      /** Meiteilon (Manipuri) */\n      MNI_MTEI = \"MNI_MTEI\",\n      /** Mizo */\n      LUS = \"LUS\",\n      /** Mongolian */\n      MN = \"MN\",\n      /** Myanmar (Burmese) */\n      MY = \"MY\",\n      /** Nepali */\n      NE = \"NE\",\n      /** Norwegian */\n      NO = \"NO\",\n      /** Nyanja (Chichewa) */\n      NY = \"NY\",\n      /** Odia (Oriya) */\n      OR = \"OR\",\n      /** Oromo */\n      OM = \"OM\",\n      /** Pashto */\n      PS = \"PS\",\n      /** Persian */\n      FA = \"FA\",\n      /** Polish */\n      PL = \"PL\",\n      /** Portuguese (Portugal, Brazil) */\n      PT = \"PT\",\n      /** Punjabi */\n      PA = \"PA\",\n      /** Quechua */\n      QU = \"QU\",\n      /** Romanian */\n      RO = \"RO\",\n      /** Russian */\n      RU = \"RU\",\n      /** Samoan */\n      SM = \"SM\",\n      /** Sanskrit */\n      SA = \"SA\",\n      /** Scots Gaelic */\n      GD = \"GD\",\n      /** Sepedi */\n      NSO = \"NSO\",\n      /** Serbian */\n      SR = \"SR\",\n      /** Sesotho */\n      ST = \"ST\",\n      /** Shona */\n      SN = \"SN\",\n      /** Sindhi */\n      SD = \"SD\",\n      /** Sinhala (Sinhalese) */\n      SI = \"SI\",\n      /** Slovak */\n      SK = \"SK\",\n      /** Slovenian */\n      SL = \"SL\",\n      /** Somali */\n      SO = \"SO\",\n      /** Spanish */\n      ES = \"ES\",\n      /** Sundanese */\n      SU = \"SU\",\n      /** Swahili */\n      SW = \"SW\",\n      /** Swedish */\n      SV = \"SV\",\n      /** Tagalog (Filipino) */\n      TL = \"TL\",\n      /** Tajik */\n      TG = \"TG\",\n      /** Tamil */\n      TA = \"TA\",\n      /** Tatar */\n      TT = \"TT\",\n      /** Telugu */\n      TE = \"TE\",\n      /** Thai */\n      TH = \"TH\",\n      /** Tigrinya */\n      TI = \"TI\",\n      /** Tsonga */\n      TS = \"TS\",\n      /** Turkish */\n      TR = \"TR\",\n      /** Turkmen */\n      TK = \"TK\",\n      /** Twi (Akan) */\n      AK = \"AK\",\n      /** Ukrainian */\n      UK = \"UK\",\n      /** Urdu */\n      UR = \"UR\",\n      /** Uyghur */\n      UG = \"UG\",\n      /** Uzbek */\n      UZ = \"UZ\",\n      /** Vietnamese */\n      VI = \"VI\",\n      /** Welsh */\n      CY = \"CY\",\n      /** Xhosa */\n      XH = \"XH\",\n      /** Yiddish */\n      YI = \"YI\",\n      /** Yoruba */\n      YO = \"YO\",\n      /** Zulu */\n      ZU = \"ZU\"\n  }\n  interface MachineTranslateResponse {\n      /** The translated content. */\n      translatedContent?: TranslatableContent;\n  }\n  interface NotEnoughCreditsError {\n      /** The number of credits required to translate the content in the request. */\n      creditsRequired?: number;\n  }\n  interface TextTooLongError {\n      /** The maximum length of text that can be translated. */\n      maxLength?: number;\n      /** The actual length of the text that was sent for translation. */\n      actualLength?: number;\n  }\n  interface UnknownFormatError {\n  }\n  interface SameLanguageArgumentsError {\n      /** The language supplied as both the source and the target languages */\n      language?: string;\n  }\n  interface BulkMachineTranslateRequest {\n      /** Language of the source text to translate. */\n      sourceLanguage: SupportedLanguage;\n      /** Language to translate text into. */\n      targetLanguage: SupportedLanguage;\n      /** The content to translate. */\n      contentToTranslate?: TranslatableContent[];\n  }\n  interface BulkMachineTranslateResponse {\n      /** List of results for each item in the bulk request. */\n      results?: BulkTranslateResult[];\n      /** Metadata for the overall bulk action, including success and failure counts. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkTranslateResult {\n      /** Metadata for the individual item in the request. */\n      itemMetadata?: ItemMetadata$1;\n      /** The translated content. */\n      item?: TranslatableContent;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  /**\n   * Translates the text of a translatable unit of content from one supported language to another.\n   *\n   * The `translatedContent` object returns with the same `id` used for `contentToTranslate.id` but the text within the\n   * content fields is replaced with the translated text. Note that Wix does not overwrite the original content object.\n   * To retrieve the translated content later, make sure to store it separately.\n   *\n   * Only text content is translated, even if the content is `htmlContent` or `richContent`. Note that [collapsible text](https://support.wix.com/en/article/adding-and-setting-up-collapsible-text)\n   * cannot be translated using this method.\n   *\n   * The translatable content must not exceed 5,000 characters. If this limit is exceeded, the method returns a `TEXT_TOO_LONG` error.\n   * For `richContent`, the 5,000-character limit applies separately to each node in `richContent.nodes`.\n   * The total translatable content may be more than 5,000 characters as long as no individual node surpasses this limit.\n   * If any node exceeds 5,000 characters, the entire request fails.\n   *\n   * Each site has a [word credit](/machine-translation/introduction#terminology) balance, starting at 3,000 words.\n   * Each successful translation request reduces the word credits by the number of words in `contentToTranslate`.\n   * If the site does not have sufficient word credits to translate all of the text in the request, the request fails\n   * with a `NOT_ENOUGH_CREDITS` error. Additional credits can be [purchased through the Dashboard](https://support.wix.com/en/article/wix-multilingual-auto-translating-your-site?tabs=Dashboard-5#purchasing-translation-packages).\n   *\n   * To translate up to 1,000 `translatableContent` units at once, use [Bulk Machine Translate](/machine-translation/bulk-machine-translate).\n   * @param sourceLanguage - Language of the source text to translate.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.contentToTranslate\n   * @requiredField options.targetLanguage\n   * @requiredField sourceLanguage\n   * @permissionId WIX_MULTILINGUAL.MACHINE_TRANSLATE\n   * @adminMethod\n   */\n  function machineTranslate(sourceLanguage: SupportedLanguage, options: MachineTranslateOptions): Promise<MachineTranslateResponse>;\n  interface MachineTranslateOptions {\n      /** Language to translate text into. */\n      targetLanguage: SupportedLanguage;\n      /** The content to translate. */\n      contentToTranslate: TranslatableContent;\n  }\n  /**\n   * Translates the text of multiple units of translatable content from one supported language to another.\n   *\n   * Each translated content item in the `results` array returns with the same `id` as the corresponding `contentToTranslate.id`, but with the text in the\n   * content fields replaced with the translated text. Note that Wix does not overwrite the original content source,\n   * to retrieve the translated content later, make sure to store it separately.\n   *\n   * Only text content is translated, even if the content is `htmlContent` or `richContent`. Note that [collapsible text](https://support.wix.com/en/article/adding-and-setting-up-collapsible-text)\n   * cannot be translated using this method.\n   *\n   * Each unit of translatable content must not exceed 5,000 characters. If this limit is exceeded, the method returns a `TEXT_TOO_LONG` error.\n   * For `richContent`, the 5,000-character limit applies separately to each node in `richContent.nodes`.\n   * The total request may exceed 5,000 characters as long as no individual node surpasses this limit.\n   * If any node exceeds 5,000 characters, then the request fails for that specific `contentToTranslate` item and the error details for that\n   * error are returned in `itemMetadata`. Even if some translations fail due to the character limit,\n   * the machine translation for other items will succeed if they are under the character limit.\n   *\n   * Each site has a [word credit](/machine-translation/introduction#terminology) balance, starting at 3,000 words.\n   * Each successful translation request reduces the word credits by the number of words included in `contentToTranslate`.\n   * If the site does not have sufficient word credits to complete the translation, then the entire request fails\n   * with a `NOT_ENOUGH_CREDITS` error. Additional credits can be [purchased through the Dashboard](https://support.wix.com/en/article/wix-multilingual-auto-translating-your-site?tabs=Dashboard-5#purchasing-translation-packages).\n   *\n   * To translate a single unit of `translatableContent`, use [Machine Translate](/machine-translation/machine-translate).\n   * @param sourceLanguage - Language of the source text to translate.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.targetLanguage\n   * @requiredField sourceLanguage\n   * @permissionId WIX_MULTILINGUAL.MACHINE_TRANSLATE\n   * @adminMethod\n   */\n  function bulkMachineTranslate(sourceLanguage: SupportedLanguage, options?: BulkMachineTranslateOptions): Promise<BulkMachineTranslateResponse>;\n  interface BulkMachineTranslateOptions {\n      /** Language to translate text into. */\n      targetLanguage: SupportedLanguage;\n      /** The content to translate. */\n      contentToTranslate?: TranslatableContent[];\n  }\n  \n  type multilingualMachineV3TranslatableContent_universal_d_TranslatableContent = TranslatableContent;\n  type multilingualMachineV3TranslatableContent_universal_d_TranslatableContentContentOneOf = TranslatableContentContentOneOf;\n  type multilingualMachineV3TranslatableContent_universal_d_Format = Format;\n  const multilingualMachineV3TranslatableContent_universal_d_Format: typeof Format;\n  type multilingualMachineV3TranslatableContent_universal_d_MachineTranslateRequest = MachineTranslateRequest;\n  type multilingualMachineV3TranslatableContent_universal_d_SupportedLanguage = SupportedLanguage;\n  const multilingualMachineV3TranslatableContent_universal_d_SupportedLanguage: typeof SupportedLanguage;\n  type multilingualMachineV3TranslatableContent_universal_d_MachineTranslateResponse = MachineTranslateResponse;\n  type multilingualMachineV3TranslatableContent_universal_d_NotEnoughCreditsError = NotEnoughCreditsError;\n  type multilingualMachineV3TranslatableContent_universal_d_TextTooLongError = TextTooLongError;\n  type multilingualMachineV3TranslatableContent_universal_d_UnknownFormatError = UnknownFormatError;\n  type multilingualMachineV3TranslatableContent_universal_d_SameLanguageArgumentsError = SameLanguageArgumentsError;\n  type multilingualMachineV3TranslatableContent_universal_d_BulkMachineTranslateRequest = BulkMachineTranslateRequest;\n  type multilingualMachineV3TranslatableContent_universal_d_BulkMachineTranslateResponse = BulkMachineTranslateResponse;\n  type multilingualMachineV3TranslatableContent_universal_d_BulkTranslateResult = BulkTranslateResult;\n  const multilingualMachineV3TranslatableContent_universal_d_machineTranslate: typeof machineTranslate;\n  type multilingualMachineV3TranslatableContent_universal_d_MachineTranslateOptions = MachineTranslateOptions;\n  const multilingualMachineV3TranslatableContent_universal_d_bulkMachineTranslate: typeof bulkMachineTranslate;\n  type multilingualMachineV3TranslatableContent_universal_d_BulkMachineTranslateOptions = BulkMachineTranslateOptions;\n  namespace multilingualMachineV3TranslatableContent_universal_d {\n    export {\n      multilingualMachineV3TranslatableContent_universal_d_TranslatableContent as TranslatableContent,\n      multilingualMachineV3TranslatableContent_universal_d_TranslatableContentContentOneOf as TranslatableContentContentOneOf,\n      multilingualMachineV3TranslatableContent_universal_d_Format as Format,\n      RichContent$1 as RichContent,\n      Node$1 as Node,\n      NodeDataOneOf$1 as NodeDataOneOf,\n      NodeType$1 as NodeType,\n      NodeStyle$1 as NodeStyle,\n      ButtonData$1 as ButtonData,\n      Border$1 as Border,\n      Colors$1 as Colors,\n      PluginContainerData$1 as PluginContainerData,\n      WidthType$1 as WidthType,\n      PluginContainerDataWidth$1 as PluginContainerDataWidth,\n      PluginContainerDataWidthDataOneOf$1 as PluginContainerDataWidthDataOneOf,\n      PluginContainerDataAlignment$1 as PluginContainerDataAlignment,\n      Spoiler$1 as Spoiler,\n      Height$1 as Height,\n      Type$1 as Type,\n      Styles$1 as Styles,\n      Link$1 as Link,\n      LinkDataOneOf$1 as LinkDataOneOf,\n      Target$1 as Target,\n      Rel$1 as Rel,\n      CodeBlockData$1 as CodeBlockData,\n      TextStyle$1 as TextStyle,\n      TextAlignment$1 as TextAlignment,\n      DividerData$1 as DividerData,\n      LineStyle$1 as LineStyle,\n      Width$1 as Width,\n      Alignment$1 as Alignment,\n      FileData$1 as FileData,\n      ViewMode$1 as ViewMode,\n      FileSource$1 as FileSource,\n      FileSourceDataOneOf$1 as FileSourceDataOneOf,\n      PDFSettings$1 as PDFSettings,\n      GalleryData$1 as GalleryData,\n      Media$1 as Media,\n      Image$1 as Image,\n      Video$1 as Video,\n      Item$1 as Item,\n      ItemDataOneOf$1 as ItemDataOneOf,\n      GalleryOptions$1 as GalleryOptions,\n      LayoutType$1 as LayoutType,\n      Orientation$1 as Orientation,\n      Crop$1 as Crop,\n      ThumbnailsAlignment$1 as ThumbnailsAlignment,\n      Layout$1 as Layout,\n      ItemStyle$1 as ItemStyle,\n      Thumbnails$1 as Thumbnails,\n      GIFData$1 as GIFData,\n      GIF$1 as GIF,\n      HeadingData$1 as HeadingData,\n      HTMLData$1 as HTMLData,\n      HTMLDataDataOneOf$1 as HTMLDataDataOneOf,\n      Source$1 as Source,\n      ImageData$1 as ImageData,\n      LinkPreviewData$1 as LinkPreviewData,\n      MapData$1 as MapData,\n      MapSettings$1 as MapSettings,\n      MapType$1 as MapType,\n      ParagraphData$1 as ParagraphData,\n      PollData$1 as PollData,\n      ViewRole$1 as ViewRole,\n      VoteRole$1 as VoteRole,\n      Permissions$1 as Permissions,\n      Option$1 as Option,\n      Settings$1 as Settings,\n      PollLayoutType$1 as PollLayoutType,\n      PollLayoutDirection$1 as PollLayoutDirection,\n      PollLayout$1 as PollLayout,\n      OptionLayout$1 as OptionLayout,\n      BackgroundType$1 as BackgroundType,\n      Gradient$1 as Gradient,\n      Background$1 as Background,\n      BackgroundBackgroundOneOf$1 as BackgroundBackgroundOneOf,\n      PollDesign$1 as PollDesign,\n      OptionDesign$1 as OptionDesign,\n      Poll$1 as Poll,\n      PollDataLayout$1 as PollDataLayout,\n      Design$1 as Design,\n      TextData$1 as TextData,\n      Decoration$1 as Decoration,\n      DecorationDataOneOf$1 as DecorationDataOneOf,\n      DecorationType$1 as DecorationType,\n      AnchorData$1 as AnchorData,\n      ColorData$1 as ColorData,\n      LinkData$1 as LinkData,\n      MentionData$1 as MentionData,\n      FontSizeData$1 as FontSizeData,\n      FontType$1 as FontType,\n      SpoilerData$1 as SpoilerData,\n      AppEmbedData$1 as AppEmbedData,\n      AppEmbedDataAppDataOneOf$1 as AppEmbedDataAppDataOneOf,\n      AppType$1 as AppType,\n      BookingData$1 as BookingData,\n      EventData$1 as EventData,\n      VideoData$1 as VideoData,\n      PlaybackOptions$1 as PlaybackOptions,\n      EmbedData$1 as EmbedData,\n      Oembed$1 as Oembed,\n      CollapsibleListData$1 as CollapsibleListData,\n      InitialExpandedItems$1 as InitialExpandedItems,\n      Direction$1 as Direction,\n      TableData$1 as TableData,\n      Dimensions$1 as Dimensions,\n      TableCellData$1 as TableCellData,\n      VerticalAlignment$1 as VerticalAlignment,\n      CellStyle$1 as CellStyle,\n      BorderColors$1 as BorderColors,\n      NullValue$1 as NullValue,\n      ListValue$1 as ListValue,\n      AudioData$1 as AudioData,\n      OrderedListData$1 as OrderedListData,\n      BulletedListData$1 as BulletedListData,\n      BlockquoteData$1 as BlockquoteData,\n      CaptionData$1 as CaptionData,\n      Metadata$1 as Metadata,\n      DocumentStyle$1 as DocumentStyle,\n      TextNodeStyle$1 as TextNodeStyle,\n      multilingualMachineV3TranslatableContent_universal_d_MachineTranslateRequest as MachineTranslateRequest,\n      multilingualMachineV3TranslatableContent_universal_d_SupportedLanguage as SupportedLanguage,\n      multilingualMachineV3TranslatableContent_universal_d_MachineTranslateResponse as MachineTranslateResponse,\n      multilingualMachineV3TranslatableContent_universal_d_NotEnoughCreditsError as NotEnoughCreditsError,\n      multilingualMachineV3TranslatableContent_universal_d_TextTooLongError as TextTooLongError,\n      multilingualMachineV3TranslatableContent_universal_d_UnknownFormatError as UnknownFormatError,\n      multilingualMachineV3TranslatableContent_universal_d_SameLanguageArgumentsError as SameLanguageArgumentsError,\n      multilingualMachineV3TranslatableContent_universal_d_BulkMachineTranslateRequest as BulkMachineTranslateRequest,\n      multilingualMachineV3TranslatableContent_universal_d_BulkMachineTranslateResponse as BulkMachineTranslateResponse,\n      multilingualMachineV3TranslatableContent_universal_d_BulkTranslateResult as BulkTranslateResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      multilingualMachineV3TranslatableContent_universal_d_machineTranslate as machineTranslate,\n      multilingualMachineV3TranslatableContent_universal_d_MachineTranslateOptions as MachineTranslateOptions,\n      multilingualMachineV3TranslatableContent_universal_d_bulkMachineTranslate as bulkMachineTranslate,\n      multilingualMachineV3TranslatableContent_universal_d_BulkMachineTranslateOptions as BulkMachineTranslateOptions,\n    };\n  }\n  \n  interface SiteTranslatableProperties {\n      /** Total number of words that exist in the main_language */\n      totalWords?: number;\n      /** Number of words that were already translated into the translated_language */\n      translatedWords?: number;\n      /** Word credits already used for machine translation */\n      machineTranslationWordsUsed?: number;\n      /** Word credits available for machine translation */\n      machineTranslateWordsLimit?: number;\n      /** Word information by app_id */\n      applicationProperties?: ApplicationTranslatableProperties[];\n  }\n  interface ApplicationTranslatableProperties {\n      /** Unique identifier of application ID */\n      appId?: string;\n      /** Total number of words that exist in the main_language in a specific application */\n      applicationTotalWords?: number;\n      /** Number of words that were already translated into the translated_language in a specific application */\n      applicationTranslatedWords?: number;\n  }\n  interface TranslateSiteRequest {\n      /** Language from which the site content is translated */\n      mainLanguage: Locale;\n      /** Language into which the site content is translated */\n      translatedLanguage: Locale;\n  }\n  interface Locale {\n      /** The IETF BCP 47 formatted identifier of the language */\n      language?: string;\n      /**\n       * Deprecated, please use the language field with the region code when needed\n       * @deprecated\n       * @targetRemovalDate 2024-04-20\n       */\n      flag?: Flag;\n  }\n  enum Flag {\n      UNDEFINED_FLAG_CODE = \"UNDEFINED_FLAG_CODE\",\n      AFG = \"AFG\",\n      AGO = \"AGO\",\n      AIA = \"AIA\",\n      ALA = \"ALA\",\n      ALB = \"ALB\",\n      AND = \"AND\",\n      ARE = \"ARE\",\n      ARG = \"ARG\",\n      ARM = \"ARM\",\n      ASM = \"ASM\",\n      ATF = \"ATF\",\n      ATG = \"ATG\",\n      AUS = \"AUS\",\n      AUT = \"AUT\",\n      AZE = \"AZE\",\n      BDI = \"BDI\",\n      BEL = \"BEL\",\n      BEN = \"BEN\",\n      BES = \"BES\",\n      BFA = \"BFA\",\n      BGD = \"BGD\",\n      BGR = \"BGR\",\n      BHR = \"BHR\",\n      BHS = \"BHS\",\n      BIH = \"BIH\",\n      BLM = \"BLM\",\n      BLR = \"BLR\",\n      BLZ = \"BLZ\",\n      BMU = \"BMU\",\n      BOL = \"BOL\",\n      BRA = \"BRA\",\n      BRB = \"BRB\",\n      BRN = \"BRN\",\n      BRT = \"BRT\",\n      BTN = \"BTN\",\n      BWA = \"BWA\",\n      CAF = \"CAF\",\n      CAN = \"CAN\",\n      CAT = \"CAT\",\n      CHE = \"CHE\",\n      CHL = \"CHL\",\n      CHN = \"CHN\",\n      CIV = \"CIV\",\n      CMR = \"CMR\",\n      COD = \"COD\",\n      COG = \"COG\",\n      COL = \"COL\",\n      COM = \"COM\",\n      COR = \"COR\",\n      CPV = \"CPV\",\n      CRI = \"CRI\",\n      CUB = \"CUB\",\n      CUW = \"CUW\",\n      CYM = \"CYM\",\n      CZE = \"CZE\",\n      DEU = \"DEU\",\n      DJI = \"DJI\",\n      DMA = \"DMA\",\n      DNK = \"DNK\",\n      DOM = \"DOM\",\n      DZA = \"DZA\",\n      ECU = \"ECU\",\n      EGY = \"EGY\",\n      ERI = \"ERI\",\n      ESP = \"ESP\",\n      EST = \"EST\",\n      ETH = \"ETH\",\n      EUR = \"EUR\",\n      EUS = \"EUS\",\n      FIN = \"FIN\",\n      FJI = \"FJI\",\n      FLK = \"FLK\",\n      FRA = \"FRA\",\n      FRO = \"FRO\",\n      FSM = \"FSM\",\n      GAB = \"GAB\",\n      GBR = \"GBR\",\n      GEO = \"GEO\",\n      GGY = \"GGY\",\n      GHA = \"GHA\",\n      GIB = \"GIB\",\n      GIN = \"GIN\",\n      GLG = \"GLG\",\n      GLO = \"GLO\",\n      GLP = \"GLP\",\n      GMB = \"GMB\",\n      GNB = \"GNB\",\n      GNQ = \"GNQ\",\n      GRC = \"GRC\",\n      GRD = \"GRD\",\n      GRL = \"GRL\",\n      GTM = \"GTM\",\n      GUM = \"GUM\",\n      GUY = \"GUY\",\n      HKG = \"HKG\",\n      HND = \"HND\",\n      HRV = \"HRV\",\n      HTI = \"HTI\",\n      HUN = \"HUN\",\n      IDN = \"IDN\",\n      IMN = \"IMN\",\n      IND = \"IND\",\n      IOT = \"IOT\",\n      IRL = \"IRL\",\n      IRN = \"IRN\",\n      IRQ = \"IRQ\",\n      ISL = \"ISL\",\n      ISR = \"ISR\",\n      ITA = \"ITA\",\n      JAM = \"JAM\",\n      JEY = \"JEY\",\n      JOR = \"JOR\",\n      JPN = \"JPN\",\n      KAZ = \"KAZ\",\n      KEN = \"KEN\",\n      KGZ = \"KGZ\",\n      KHM = \"KHM\",\n      KIR = \"KIR\",\n      KNA = \"KNA\",\n      KOR = \"KOR\",\n      KUR = \"KUR\",\n      KWT = \"KWT\",\n      LAO = \"LAO\",\n      LBN = \"LBN\",\n      LBR = \"LBR\",\n      LBY = \"LBY\",\n      LCA = \"LCA\",\n      LIE = \"LIE\",\n      LKA = \"LKA\",\n      LSO = \"LSO\",\n      LTU = \"LTU\",\n      LUX = \"LUX\",\n      LVA = \"LVA\",\n      MAC = \"MAC\",\n      MAF = \"MAF\",\n      MAR = \"MAR\",\n      MCO = \"MCO\",\n      MDA = \"MDA\",\n      MDG = \"MDG\",\n      MDV = \"MDV\",\n      MEX = \"MEX\",\n      MHL = \"MHL\",\n      MKD = \"MKD\",\n      MLI = \"MLI\",\n      MLT = \"MLT\",\n      MMR = \"MMR\",\n      MNE = \"MNE\",\n      MNG = \"MNG\",\n      MNP = \"MNP\",\n      MOZ = \"MOZ\",\n      MRT = \"MRT\",\n      MSR = \"MSR\",\n      MTQ = \"MTQ\",\n      MWI = \"MWI\",\n      MYS = \"MYS\",\n      MYT = \"MYT\",\n      NAM = \"NAM\",\n      NCL = \"NCL\",\n      NER = \"NER\",\n      NFK = \"NFK\",\n      NGA = \"NGA\",\n      NIC = \"NIC\",\n      NIU = \"NIU\",\n      NLD = \"NLD\",\n      NOR = \"NOR\",\n      NPL = \"NPL\",\n      NRU = \"NRU\",\n      NZL = \"NZL\",\n      OMN = \"OMN\",\n      PAK = \"PAK\",\n      PAN = \"PAN\",\n      PCN = \"PCN\",\n      PER = \"PER\",\n      PHL = \"PHL\",\n      PLW = \"PLW\",\n      PNG = \"PNG\",\n      POL = \"POL\",\n      PRI = \"PRI\",\n      PRK = \"PRK\",\n      PRT = \"PRT\",\n      PRY = \"PRY\",\n      PSE = \"PSE\",\n      PYF = \"PYF\",\n      QAT = \"QAT\",\n      REU = \"REU\",\n      ROU = \"ROU\",\n      RUS = \"RUS\",\n      RWA = \"RWA\",\n      SAU = \"SAU\",\n      SDN = \"SDN\",\n      SEN = \"SEN\",\n      SGP = \"SGP\",\n      SGS = \"SGS\",\n      SHN = \"SHN\",\n      SJM = \"SJM\",\n      SLB = \"SLB\",\n      SLE = \"SLE\",\n      SLV = \"SLV\",\n      SMR = \"SMR\",\n      SOM = \"SOM\",\n      SPM = \"SPM\",\n      SRB = \"SRB\",\n      SSD = \"SSD\",\n      STP = \"STP\",\n      SUR = \"SUR\",\n      SVK = \"SVK\",\n      SVN = \"SVN\",\n      SWE = \"SWE\",\n      SWZ = \"SWZ\",\n      SXM = \"SXM\",\n      SYC = \"SYC\",\n      SYR = \"SYR\",\n      TCA = \"TCA\",\n      TCD = \"TCD\",\n      TGO = \"TGO\",\n      THA = \"THA\",\n      TJK = \"TJK\",\n      TKL = \"TKL\",\n      TKM = \"TKM\",\n      TLS = \"TLS\",\n      TON = \"TON\",\n      TTO = \"TTO\",\n      TUN = \"TUN\",\n      TUR = \"TUR\",\n      TUV = \"TUV\",\n      TWN = \"TWN\",\n      TZA = \"TZA\",\n      UGA = \"UGA\",\n      UKR = \"UKR\",\n      URY = \"URY\",\n      USA = \"USA\",\n      UZB = \"UZB\",\n      VAT = \"VAT\",\n      VCT = \"VCT\",\n      VEN = \"VEN\",\n      VGB = \"VGB\",\n      VIR = \"VIR\",\n      VLC = \"VLC\",\n      VNM = \"VNM\",\n      VUT = \"VUT\",\n      WLF = \"WLF\",\n      WLS = \"WLS\",\n      YEM = \"YEM\",\n      ZAF = \"ZAF\",\n      ZMB = \"ZMB\",\n      ZWE = \"ZWE\"\n  }\n  interface TranslateSiteResponse {\n  }\n  interface GetSiteTranslatablesPropertiesRequest {\n      /** Number of words included in main_language */\n      mainLanguage: Locale;\n      /** Number of words already translated from main_language to translated_language */\n      translatedLanguage?: Locale;\n  }\n  interface GetSiteTranslatablesPropertiesResponse {\n      /** Current status of site translation and word credits usage */\n      data?: SiteTranslatableProperties;\n  }\n  /**\n   * Start a task to auto-translate all site content that hasn't been translated yet\n   * @param mainLanguage - Language from which the site content is translated\n   * @public\n   * @documentationMaturity preview\n   * @requiredField mainLanguage\n   * @requiredField options\n   * @requiredField options.translatedLanguage\n   * @permissionId WIX_MULTILINGUAL.ONE_CLICK_TRANSLATION\n   * @adminMethod\n   */\n  function translateSite(mainLanguage: Locale, options: TranslateSiteOptions): Promise<void>;\n  interface TranslateSiteOptions {\n      /** Language into which the site content is translated */\n      translatedLanguage: Locale;\n  }\n  /**\n   * Receive the site's translation status\n   * @param mainLanguage - Number of words included in main_language\n   * @public\n   * @documentationMaturity preview\n   * @requiredField mainLanguage\n   * @permissionId WIX_MULTILINGUAL.ONE_CLICK_TRANSLATION\n   * @adminMethod\n   */\n  function getSiteTranslatablesProperties(mainLanguage: Locale, options?: GetSiteTranslatablesPropertiesOptions): Promise<GetSiteTranslatablesPropertiesResponse>;\n  interface GetSiteTranslatablesPropertiesOptions {\n      /** Number of words already translated from main_language to translated_language */\n      translatedLanguage?: Locale;\n  }\n  \n  type multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_SiteTranslatableProperties = SiteTranslatableProperties;\n  type multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_ApplicationTranslatableProperties = ApplicationTranslatableProperties;\n  type multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_TranslateSiteRequest = TranslateSiteRequest;\n  type multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_Locale = Locale;\n  type multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_Flag = Flag;\n  const multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_Flag: typeof Flag;\n  type multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_TranslateSiteResponse = TranslateSiteResponse;\n  type multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_GetSiteTranslatablesPropertiesRequest = GetSiteTranslatablesPropertiesRequest;\n  type multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_GetSiteTranslatablesPropertiesResponse = GetSiteTranslatablesPropertiesResponse;\n  const multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_translateSite: typeof translateSite;\n  type multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_TranslateSiteOptions = TranslateSiteOptions;\n  const multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_getSiteTranslatablesProperties: typeof getSiteTranslatablesProperties;\n  type multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_GetSiteTranslatablesPropertiesOptions = GetSiteTranslatablesPropertiesOptions;\n  namespace multilingualSitetranslatorV2SiteTranslatableProperties_universal_d {\n    export {\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_SiteTranslatableProperties as SiteTranslatableProperties,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_ApplicationTranslatableProperties as ApplicationTranslatableProperties,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_TranslateSiteRequest as TranslateSiteRequest,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_Locale as Locale,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_Flag as Flag,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_TranslateSiteResponse as TranslateSiteResponse,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_GetSiteTranslatablesPropertiesRequest as GetSiteTranslatablesPropertiesRequest,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_GetSiteTranslatablesPropertiesResponse as GetSiteTranslatablesPropertiesResponse,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_translateSite as translateSite,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_TranslateSiteOptions as TranslateSiteOptions,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_getSiteTranslatablesProperties as getSiteTranslatablesProperties,\n      multilingualSitetranslatorV2SiteTranslatableProperties_universal_d_GetSiteTranslatablesPropertiesOptions as GetSiteTranslatablesPropertiesOptions,\n    };\n  }\n  \n  interface Content {\n      /**\n       * Translation content ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Translation schema ID. */\n      schemaId?: string;\n      /** A unique identifier defined by the app developer to differentiate translation content for various entities within the site. For example, if an app developer is creating translation content for blog posts, the `entityId` can be `'blog-posts-1'`. */\n      entityId?: string;\n      /** Translation content locale. */\n      locale?: string;\n      /** List of fields for the translation content. This property uses a string to map to a `ContentField` (`Map<string, ContentField>`). The string serves as a key, which you'll need to access each field in the content and when referencing a translation schema. */\n      fields?: Record<string, ContentField>;\n      /** A reference to the parent content. For example, if the content is a menu item, this property would contain the `entityId` of the menu it belongs to. */\n      parentEntityId?: string | null;\n      /**\n       * The aggregated published status across all content fields.\n       * @readonly\n       */\n      publishStatus?: PublishStatus;\n      /**\n       * Contains the value of the preview field if the schema defines one.\n       * @readonly\n       */\n      previewField?: string | null;\n      /**\n       * Date and time the translation content was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the translation content was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface ContentField extends ContentFieldValueOneOf {\n      /** Plain text. Use this field if the corresponding schema `fields.type` is `SHORT_TEXT`, `LONG_TEXT`, `HTML`, or `IMAGE_LINK`. */\n      textValue?: string;\n      /**\n       * Translation Content rich content.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" exampleid=\"71a5e527-a334-49e6-bc2d-9f5b3e831fc5\">See Ricos document reference</widget>\n       */\n      richContent?: RichContent;\n      /** Wix Media Manager image. */\n      image?: string;\n      /** Wix Media Manager video. */\n      video?: string;\n      /** Wix Media Manager document. */\n      document?: string;\n      /**\n       * Field unique identifier. Validated according to Regex `^[A-Za-z0-9-_)(]+$`. Field IDs may contain parentheses to reference repeated items, such as images. These parentheses can't be nested and each opening parenthesis must be followed by a closing one. For example, `title()()` is valid, while `title)(` and `title(())` aren't valid. The value inside the parenthesis is validated according to Regex `^[^)(\\\\]\\\\[\\\\.]+$`.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Whether to publish the translation content to the live site, making it visible to site visitors.\n       *\n       * Default: `false`\n       */\n      published?: boolean;\n      /** **Required.** The source that updated the translation content. */\n      updatedBy?: UpdaterIdentity;\n      /**\n       * Unique string identifier that links a specific content field to its corresponding field in the schema.\n       * @readonly\n       */\n      schemaFieldKey?: string;\n      /**\n       * Field index. Used for cases where the order of the fields are relevant.\n       * @readonly\n       */\n      index?: number;\n  }\n  /** @oneof */\n  interface ContentFieldValueOneOf {\n      /** Plain text. Use this field if the corresponding schema `fields.type` is `SHORT_TEXT`, `LONG_TEXT`, `HTML`, or `IMAGE_LINK`. */\n      textValue?: string;\n      /**\n       * Translation Content rich content.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" exampleid=\"71a5e527-a334-49e6-bc2d-9f5b3e831fc5\">See Ricos document reference</widget>\n       */\n      richContent?: RichContent;\n      /** Wix Media Manager image. */\n      image?: string;\n      /** Wix Media Manager video. */\n      video?: string;\n      /** Wix Media Manager document. */\n      document?: string;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData {\n      textStyle?: TextStyle;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated Deprecated. Use the `posters` property in the parent entity instead.\n       * @targetRemovalDate 2029-08-01\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @targetRemovalDate 2029-08-01\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @targetRemovalDate 2029-08-01\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       * @targetRemovalDate 2029-08-01\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  enum UpdaterIdentity {\n      /** Unknown updater. */\n      UNKNOWN_UPDATER_IDENTITY = \"UNKNOWN_UPDATER_IDENTITY\",\n      /** The Wix user. */\n      USER = \"USER\",\n      /** An external translation app. */\n      EXTERNAL_APP = \"EXTERNAL_APP\",\n      /** Machine translation service. */\n      MACHINE = \"MACHINE\"\n  }\n  enum PublishStatus {\n      /** Unknown publish status. */\n      UNKNOWN_PUBLISH_STATUS = \"UNKNOWN_PUBLISH_STATUS\",\n      /** None of the fields have been sent for publication. */\n      UNPUBLISHED = \"UNPUBLISHED\",\n      /** Some of the fields have been sent for publication. */\n      PARTIALLY_PUBLISHED = \"PARTIALLY_PUBLISHED\",\n      /** All of the fields have been sent for publication. */\n      PUBLISHED = \"PUBLISHED\"\n  }\n  interface CreateContentRequest {\n      /** Translation content to create. */\n      content: Content;\n  }\n  interface CreateContentResponse {\n      /** Newly created translation content. */\n      content?: Content;\n  }\n  interface GetContentRequest {\n      /** ID of the translation content to retrieve. */\n      contentId: string;\n  }\n  interface GetContentResponse {\n      /** The requested translation content. */\n      content?: Content;\n  }\n  interface UpdateContentRequest {\n      /** Translation content to update. */\n      content: Content;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateContentResponse {\n      /** Updated translation content. */\n      content?: Content;\n  }\n  interface UpdateContentByKeyRequest {\n      /** Content to update. */\n      content: Content;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateContentByKeyResponse {\n      /** Updated Content. */\n      content?: Content;\n  }\n  interface DeleteContentRequest {\n      /** ID of the translation content to delete. */\n      contentId: string;\n  }\n  interface DeleteContentResponse {\n  }\n  interface QueryContentsRequest {\n      /** Query options. */\n      query?: CursorQuery$1;\n      /**\n       * use when query should be consistent\n       * @internal\n       */\n      consistent?: boolean;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryContentsResponse {\n      /** List of translation content. */\n      contents?: Content[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryContentsLegacyRequest {\n      /** WQL expression. */\n      query?: QueryV2;\n      /**\n       * use when query should be consistent\n       * @internal\n       */\n      consistent?: boolean;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryContentsLegacyResponse {\n      /** List of translation content. */\n      contents?: Content[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface SearchContentsRequest {\n      /** Search query and aggregation information. */\n      search?: CursorSearch;\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * List of sort objects.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n      /** Aggregations are a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome.\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. For example, `\"2023-12-20T10:52:34.795Z\"`.\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Aggregation extends AggregationKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation. */\n      nested?: NestedAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below. */\n      type?: AggregationType;\n      /** Field to aggregate by, use dot notation to specify json path. */\n      fieldPath?: string;\n      /**\n       * Deprecated. Use `nested` instead.\n       * @deprecated Deprecated. Use `nested` instead.\n       * @replacedBy kind.nested\n       * @targetRemovalDate 2029-03-30\n       */\n      groupBy?: GroupByAggregation;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation. */\n      nested?: NestedAggregation;\n  }\n  interface RangeBucket {\n      /** Inclusive lower bound of the range. Required if `to` is not provided. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if `from` is not provided. */\n      to?: number | null;\n  }\n  enum SortType {\n      /** Sort by number of matches. */\n      COUNT = \"COUNT\",\n      /** Sort by value of the field alphabetically. */\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection {\n      /** Sort in descending order. */\n      DESC = \"DESC\",\n      /** Sort in ascending order. */\n      ASC = \"ASC\"\n  }\n  enum MissingValues {\n      /** Exclude missing values from the aggregation results. */\n      EXCLUDE = \"EXCLUDE\",\n      /** Include missing values in the aggregation results. */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions {\n      /** Specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum ScalarType {\n      /** Undefined scalar type. */\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values. */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value. */\n      MIN = \"MIN\",\n      /** Maximum value. */\n      MAX = \"MAX\",\n      /** Sum of values. */\n      SUM = \"SUM\",\n      /** Average of values. */\n      AVG = \"AVG\"\n  }\n  interface ValueAggregation extends ValueAggregationOptionsOneOf {\n      /** Options for including missing values. */\n      includeOptions?: IncludeMissingValuesOptions;\n      /** Whether to sort by number of matches or value of the field. */\n      sortType?: SortType;\n      /** Whether to sort in ascending or descending order. */\n      sortDirection?: SortDirection;\n      /** How many aggregations to return. Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** Whether to include or exclude missing values from the aggregation results. Default: `EXCLUDE`. */\n      missingValues?: MissingValues;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf {\n      /** Options for including missing values. */\n      includeOptions?: IncludeMissingValuesOptions;\n  }\n  enum NestedAggregationType {\n      /** Undefined aggregation type. */\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built, one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where the user can define a set of ranges, each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example, min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation where result buckets are dynamically built, one per time interval. For example, every hour, day, week, etc. */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface RangeAggregation {\n      /** List of range buckets, where during aggregation each entity will be placed in the first bucket its value falls into, based on the provided range bounds. */\n      buckets?: RangeBucket[];\n  }\n  interface ScalarAggregation {\n      /** Define the operator for the scalar aggregation. */\n      type?: ScalarType;\n  }\n  interface DateHistogramAggregation {\n      /** Interval for date histogram aggregation. */\n      interval?: Interval;\n  }\n  enum Interval {\n      /** Undefined interval type. */\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval. */\n      YEAR = \"YEAR\",\n      /** Monthly interval. */\n      MONTH = \"MONTH\",\n      /** Weekly interval. */\n      WEEK = \"WEEK\",\n      /** Daily interval. */\n      DAY = \"DAY\",\n      /** Hourly interval. */\n      HOUR = \"HOUR\",\n      /** Minute interval. */\n      MINUTE = \"MINUTE\",\n      /** Second interval. */\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below. */\n      type?: NestedAggregationType;\n      /** Field to aggregate by, use dot notation to specify json path. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      /** Value aggregation. */\n      value?: ValueAggregation;\n      /** Range aggregation. */\n      range?: RangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation;\n  }\n  enum AggregationType {\n      /** Undefined aggregation type. */\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built, one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where the user can define a set of ranges, each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example, min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation where result buckets are dynamically built, one per time interval. For example, every hour, day, week, etc. */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Multi-level aggregation, where each next aggregation is nested within the previous one. */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one. */\n  interface NestedAggregation {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one. */\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface GroupByAggregation extends GroupByAggregationKindOneOf {\n      /** Value aggregation configuration. */\n      value?: ValueAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Field to aggregate by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface GroupByAggregationKindOneOf {\n      /** Value aggregation configuration. */\n      value?: ValueAggregation;\n  }\n  interface SearchDetails {\n      /** Defines how separate search terms in `expression` are combined. */\n      mode?: Mode;\n      /** Search term or expression. */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path. */\n      fields?: string[];\n      /** Whether to use auto fuzzy search (allowing typos by a managed proximity algorithm). */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** Any of the search terms must be present. */\n      OR = \"OR\",\n      /** All search terms must be present. */\n      AND = \"AND\"\n  }\n  interface SearchContentsResponse {\n      /** List of translation content. */\n      contents?: Content[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata$1;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface AggregationData {\n      /** key = aggregation name (as derived from search request). */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      /** Value of the field. */\n      value?: string;\n      /** Count of entities with this value. */\n      count?: number;\n  }\n  interface RangeAggregationResult {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in this range. */\n      count?: number;\n  }\n  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** User-defined name of aggregation, matches the one provided in request. */\n      name?: string;\n      /** Type of aggregation that matches result. */\n      type?: AggregationType;\n      /** Field to aggregate by, matches the one provided in request. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n  }\n  interface ValueResults {\n      /** List of value aggregations. */\n      results?: ValueAggregationResult[];\n  }\n  interface RangeResults {\n      /** List of ranges returned in same order as requested. */\n      results?: RangeAggregationResult[];\n  }\n  interface AggregationResultsScalarResult {\n      /** Type of scalar aggregation. */\n      type?: ScalarType;\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedValueAggregationResult {\n      /** Value of the field. */\n      value?: string;\n      /** Nested aggregations. */\n      nestedResults?: NestedAggregationResults;\n  }\n  interface ValueResult {\n      /** Value of the field. */\n      value?: string;\n      /** Count of entities with this value. */\n      count?: number | null;\n  }\n  interface RangeResult {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in this range. */\n      count?: number | null;\n  }\n  interface ScalarResult {\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation result. */\n      value?: ValueResult;\n      /** Range aggregation result. */\n      range?: RangeResult;\n      /** Scalar aggregation result. */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result. */\n      dateHistogram?: ValueResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation result. */\n      value?: ValueResult;\n      /** Range aggregation result. */\n      range?: RangeResult;\n      /** Scalar aggregation result. */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result. */\n      dateHistogram?: ValueResult;\n  }\n  interface Results {\n      /** List of nested aggregations. */\n      results?: Record<string, NestedResultValue>;\n  }\n  interface DateHistogramResult {\n      /** Date in ISO 8601 format. */\n      value?: string;\n      /** Count of documents in the bucket. */\n      count?: number;\n  }\n  interface GroupByValueResults {\n      /** List of value aggregations. */\n      results?: NestedValueAggregationResult[];\n  }\n  interface DateHistogramResults {\n      /** List of date histogram aggregations. */\n      results?: DateHistogramResult[];\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form.\n   * Aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults {\n      /** List of nested aggregations. */\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results. */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n      /** User-defined name of aggregation as derived from search request. */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request. */\n      type?: AggregationType;\n      /** Field to aggregate by as derived from search request. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      /** Value aggregation results. */\n      values?: ValueResults;\n      /** Range aggregation results. */\n      ranges?: RangeResults;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results. */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results. */\n      nested?: NestedResults;\n  }\n  interface BulkCreateContentRequest {\n      /** List of translation content. */\n      contents: Content[];\n      /** Whether to include the created translation content items in the response. Set to `true` to receive the translation content items in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateContentResponse {\n      /** Items created by bulk action. */\n      results?: BulkContentResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkContentResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Translation content. This field is only returned if the operation was successful and `returnEntity` was set to true in the request. */\n      item?: Content;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateContentRequest {\n      /** Translation content items to update. */\n      contents: MaskedContent[];\n      /** Whether to include the updated translation content items in the response. Set to `true` to receive the translation content items in the response. */\n      returnEntity?: boolean;\n  }\n  interface MaskedContent {\n      /** Translation content to update. */\n      content?: Content;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateContentResponse {\n      /** Items created by bulk action. */\n      results?: BulkUpdateContentResponseBulkContentResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUpdateContentResponseBulkContentResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Translation content. This field is only returned if the operation was successful and `returnEntity` was set to true in the request. */\n      item?: Content;\n  }\n  interface BulkUpdateContentByKeyRequest {\n      /** Translation content items to update. */\n      contents: BulkUpdateContentByKeyRequestMaskedContent[];\n      /** Whether to include the created translation content items in the response. Set to `true` to receive the translation content items in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkUpdateContentByKeyRequestMaskedContent {\n      /** Translation content to update. */\n      content?: Content;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateContentByKeyResponse {\n      /** Items created by bulk action. */\n      results?: BulkUpdateContentByKeyResponseBulkContentResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUpdateContentByKeyResponseBulkContentResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Translation content. This field is only returned if the operation was successful and `returnEntity` was set to true in the request. */\n      item?: Content;\n  }\n  interface PermissiveBulkUpdateContentRequest {\n      /** Contents to be updated. TODO: think again if we want to increase maxSize */\n      contents?: PermissiveBulkUpdateContentRequestMaskedContent[];\n      /** set to `true` if you wish to receive back the created contents in the response */\n      returnEntity?: boolean;\n  }\n  interface PermissiveBulkUpdateContentRequestMaskedContent {\n      /** Content to be updated, may be partial */\n      content?: Content;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface PermissiveBulkUpdateContentResponse {\n      /** List of results */\n      results?: PermissiveBulkUpdateContentResponseBulkContentResult[];\n      /** metadata */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface PermissiveBulkUpdateContentResponseBulkContentResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Translation content. This field is only returned if the operation was successful and `returnEntity` was set to true in the request. */\n      item?: Content;\n  }\n  interface BulkDeleteContentRequest {\n      /** IDs of the translation content items to delete. */\n      contentIds: string[];\n  }\n  interface BulkDeleteContentResponse {\n      /** Items created by bulk action. */\n      results?: BulkDeleteContentResponseBulkContentResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteContentResponseBulkContentResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n  }\n  interface MetaSiteSpecialEvent$1 extends MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset$1[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n  }\n  interface Asset$1 {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State$1;\n  }\n  enum State$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated$1 {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext$1;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace$1;\n  }\n  enum SiteCreatedContext$1 {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace$1 {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred$1 {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface DeleteContext$1 {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus$1;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus$1 {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted$1 {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished$1 {\n  }\n  interface SiteUnpublished$1 {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate$1 {\n  }\n  interface SiteMarkedAsWixSite$1 {\n  }\n  interface ServiceProvisioned$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed$1 {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface NamespaceChanged$1 {\n      /** A previous namespace. */\n      oldNamespace?: Namespace$1;\n      /** A new namespace. */\n      newNamespace?: Namespace$1;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned$1 {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned$1 {\n  }\n  interface Empty$1 {\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface RemoveContentsByFilterRequest {\n      /** the query filter content to delete */\n      query?: CursorQuery$1;\n  }\n  interface RemoveContentsByFilterResponse {\n      /** follow the remove job. */\n      jobId?: string | null;\n  }\n  interface RepublishContentByFilterRequest {\n      /** the query filter content to delete */\n      query: CursorQuery$1;\n      /** the maximum to try and republish in one request - if content exceed this the a cursor will be returned */\n      maxToPublish?: number | null;\n  }\n  interface RepublishContentByFilterResponse {\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface ChangeContentLocaleRequest extends ChangeContentLocaleRequestQueryContextOneOf {\n      /** Specifies source locale filter for initial selection query. */\n      sourceLocale?: string;\n      /** Indicates the cursor for paginated query processing. */\n      cursorPaging?: CursorPaging$1;\n      /** Specifies target locale to change to */\n      targetLocale?: string;\n  }\n  /** @oneof */\n  interface ChangeContentLocaleRequestQueryContextOneOf {\n      /** Specifies source locale filter for initial selection query. */\n      sourceLocale?: string;\n      /** Indicates the cursor for paginated query processing. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface ChangeContentLocaleResponse {\n      /** Details on the paged set of content items with changed locale. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a translation content item.\n   *\n   * The content is validated based on the constraints defined in the corresponding schema.\n   * @param content - Translation content to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField content\n   * @requiredField content.entityId\n   * @requiredField content.fields\n   * @requiredField content.locale\n   * @requiredField content.schemaId\n   * @permissionId WIX_MULTILINGUAL.CONTENT_CREATE\n   * @adminMethod\n   * @returns Newly created translation content.\n   */\n  function createContent(content: Content): Promise<Content>;\n  /**\n   * Retrieves a translation content item.\n   * @param contentId - ID of the translation content to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contentId\n   * @permissionId WIX_MULTILINGUAL.CONTENT_READ\n   * @adminMethod\n   * @returns The requested translation content.\n   */\n  function getContent(contentId: string): Promise<Content>;\n  /**\n   * Updates a translation content item by ID.\n   *\n   * To remove a field, pass the field key with an empty object as the value. For example:\n   *\n   * ```json\n   * {\n   * \"fields\": {\n   * \"title\": {}\n   * }\n   * }\n   * ```\n   * @param _id - Translation content ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField content\n   * @requiredField content.schemaId\n   * @permissionId WIX_MULTILINGUAL.CONTENT_UPDATE\n   * @adminMethod\n   * @returns Updated translation content.\n   */\n  function updateContent(_id: string | null, content: UpdateContent, options?: UpdateContentOptions): Promise<Content>;\n  interface UpdateContent {\n      /**\n       * Translation content ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Translation schema ID. */\n      schemaId?: string;\n      /** A unique identifier defined by the app developer to differentiate translation content for various entities within the site. For example, if an app developer is creating translation content for blog posts, the `entityId` can be `'blog-posts-1'`. */\n      entityId?: string;\n      /** Translation content locale. */\n      locale?: string;\n      /** List of fields for the translation content. This property uses a string to map to a `ContentField` (`Map<string, ContentField>`). The string serves as a key, which you'll need to access each field in the content and when referencing a translation schema. */\n      fields?: Record<string, ContentField>;\n      /** A reference to the parent content. For example, if the content is a menu item, this property would contain the `entityId` of the menu it belongs to. */\n      parentEntityId?: string | null;\n      /**\n       * The aggregated published status across all content fields.\n       * @readonly\n       */\n      publishStatus?: PublishStatus;\n      /**\n       * Contains the value of the preview field if the schema defines one.\n       * @readonly\n       */\n      previewField?: string | null;\n      /**\n       * Date and time the translation content was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the translation content was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateContentOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Updates a translation content item using a unique key, which is a combination of `content.schemaId`, `content.entityId`, and `content.locale`.\n   *\n   * To remove a field, pass the field key with an empty object as the value. For example:\n   *\n   * ```json\n   * {\n   * \"fields\": {\n   * \"title\": {}\n   * }\n   * }\n   * ```\n   * @param content - Content to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField content\n   * @requiredField content.entityId\n   * @requiredField content.locale\n   * @requiredField content.schemaId\n   * @permissionId WIX_MULTILINGUAL.CONTENT_UPDATE\n   * @adminMethod\n   */\n  function updateContentByKey(content: Content, options?: UpdateContentByKeyOptions): Promise<UpdateContentByKeyResponse>;\n  interface UpdateContentByKeyOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a translation content item.\n   * @param contentId - ID of the translation content to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contentId\n   * @permissionId WIX_MULTILINGUAL.CONTENT_DELETE\n   * @adminMethod\n   */\n  function deleteContent(contentId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of translation content items.\n   *\n   * The `queryContents()` function builds a query to retrieve a list of translation content items and returns a `ContentsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-content/contents-query-builder/find) function.\n   *\n   * You can refine the query by chaining `ContentsQueryBuilder` functions onto the query. `ContentsQueryBuilder` functions enable you to filter, sort, and control the results that `queryContents()` returns.\n   *\n   * `queryContents()`  runs with the following `ContentsQueryBuilder` defaults which you can override:\n   *\n   * + [`limit(100)`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-content/contents-query-builder/limit)\n   * + [`ascending('_id')`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-content/contents-query-builder/ascending)\n   *\n   * The following `ContentsQueryBuilder` functions are supported for `queryContents()`. For a full description of the operations object, see the object returned for the [`items`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-content/contents-query-result/items) property in `ContentsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.CONTENT_READ\n   * @adminMethod\n   */\n  function queryContents(options?: QueryContentsOptions): ContentsQueryBuilder;\n  interface QueryContentsOptions {\n      /**\n       * use when query should be consistent\n       * @internal\n       */\n      consistent?: boolean | undefined;\n  }\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ContentsQueryResult extends QueryCursorResult$1 {\n      items: Content[];\n      query: ContentsQueryBuilder;\n      next: () => Promise<ContentsQueryResult>;\n      prev: () => Promise<ContentsQueryResult>;\n  }\n  interface ContentsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'schemaId' | 'entityId' | 'locale' | 'parentEntityId' | 'publishStatus', value: any) => ContentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'schemaId' | 'entityId' | 'locale' | 'parentEntityId' | 'publishStatus', value: any) => ContentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'schemaId' | 'entityId' | 'locale' | 'parentEntityId', value: string) => ContentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'schemaId' | 'entityId' | 'locale' | 'parentEntityId' | 'publishStatus', value: any[]) => ContentsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'schemaId' | 'entityId' | 'locale' | 'parentEntityId' | 'publishStatus', value: any) => ContentsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'schemaId' | 'entityId' | 'locale' | 'parentEntityId' | 'publishStatus', value: boolean) => ContentsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'schemaId' | 'entityId' | 'locale' | 'parentEntityId' | 'publishStatus'>) => ContentsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'schemaId' | 'entityId' | 'locale' | 'parentEntityId' | 'publishStatus'>) => ContentsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ContentsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ContentsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ContentsQueryResult>;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.CONTENT_READ\n   * @adminMethod\n   */\n  function queryContentsLegacy(options?: QueryContentsLegacyOptions): Promise<QueryContentsLegacyResponse>;\n  interface QueryContentsLegacyOptions {\n      /** WQL expression. */\n      query?: QueryV2;\n      /**\n       * use when query should be consistent\n       * @internal\n       */\n      consistent?: boolean;\n  }\n  /**\n   * Retrieves a list of all translation content associated with a site that matches the search query, with optional data aggregation.\n   *\n   * Note that this method allows you to retrieve all translation content for a site, regardless of which app created it.\n   *\n   * Use this method to search translation content fields on a site for a given expression, and/or to perform data aggregations on a site's translation content fields.\n   *\n   * For field support for filters, sorting, and free-text searching see [Translation Content: Supported Filters, Sorting, and Search](https://dev.wix.com/docs/rest/business-management/multilingual/translation/translation-content/sort-filter-and-search).\n   *\n   * To learn more about working with the search query, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.CONTENT_READ\n   * @adminMethod\n   */\n  function searchContents(options?: SearchContentsOptions): Promise<SearchContentsResponse>;\n  interface SearchContentsOptions {\n      /** Search query and aggregation information. */\n      search?: CursorSearch;\n  }\n  /**\n   * Creates multiple translation content items.\n   *\n   * The content items are validated based on the constraints defined in the corresponding schema.\n   * @param contents - List of translation content.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contents\n   * @requiredField contents.entityId\n   * @requiredField contents.fields\n   * @requiredField contents.locale\n   * @requiredField contents.schemaId\n   * @permissionId WIX_MULTILINGUAL.CONTENT_CREATE\n   * @adminMethod\n   */\n  function bulkCreateContent(contents: Content[], options?: BulkCreateContentOptions): Promise<BulkCreateContentResponse>;\n  interface BulkCreateContentOptions {\n      /** Whether to include the created translation content items in the response. Set to `true` to receive the translation content items in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Updates multiple translation content items by ID.\n   *\n   * To remove a field, pass the field key with an empty object as the value. For example:\n   *\n   * ```json\n   * {\n   * \"fields\": {\n   * \"title\": {}\n   * }\n   * }\n   * ```\n   * @param contents - Translation content items to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contents\n   * @requiredField contents.content._id\n   * @requiredField contents.content.schemaId\n   * @permissionId WIX_MULTILINGUAL.CONTENT_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateContent(contents: MaskedContent[], options?: BulkUpdateContentOptions): Promise<BulkUpdateContentResponse>;\n  interface BulkUpdateContentOptions {\n      /** Whether to include the updated translation content items in the response. Set to `true` to receive the translation content items in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Updates multiple translation content items using a unique key, which is a combination of `contents.content.schemaId`, `contents.content.entityId`, and `contents.content.locale`.\n   *\n   * To remove a field, pass the field key with an empty object as the value. For example:\n   *\n   * ```json\n   * {\n   * \"fields\": {\n   * \"title\": {}\n   * }\n   * }\n   * ```\n   * @param contents - Translation content items to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contents\n   * @requiredField contents.content.entityId\n   * @requiredField contents.content.locale\n   * @requiredField contents.content.schemaId\n   * @permissionId WIX_MULTILINGUAL.CONTENT_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateContentByKey(contents: BulkUpdateContentByKeyRequestMaskedContent[], options?: BulkUpdateContentByKeyOptions): Promise<BulkUpdateContentByKeyResponse>;\n  interface BulkUpdateContentByKeyOptions {\n      /** Whether to include the created translation content items in the response. Set to `true` to receive the translation content items in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Deletes multiple translation content items.\n   * @param contentIds - IDs of the translation content items to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contentIds\n   * @permissionId WIX_MULTILINGUAL.CONTENT_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteContent(contentIds: string[]): Promise<BulkDeleteContentResponse>;\n  /**\n   * Removes existing content by filter. Non-matching filters are ignored. Optional cursor exists.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.CONTENT_REMOVE_BY_FILTER\n   * @adminMethod\n   */\n  function removeContentsByFilter(options?: RemoveContentsByFilterOptions): Promise<RemoveContentsByFilterResponse>;\n  interface RemoveContentsByFilterOptions {\n      /** the query filter content to delete */\n      query?: CursorQuery$1;\n  }\n  /**\n   * Send domain events for purpose of republishing. All contents matching the filter will be sent. Optional cursor exists.\n   * @param query - the query filter content to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId WIX_MULTILINGUAL.CONTENT_REPUBLISH\n   * @adminMethod\n   */\n  function republishContentByFilter(query: CursorQuery$1, options?: RepublishContentByFilterOptions): Promise<RepublishContentByFilterResponse>;\n  interface RepublishContentByFilterOptions {\n      /** the maximum to try and republish in one request - if content exceed this the a cursor will be returned */\n      maxToPublish?: number | null;\n  }\n  \n  type multilingualTranslationV1Content_universal_d_Content = Content;\n  type multilingualTranslationV1Content_universal_d_ContentField = ContentField;\n  type multilingualTranslationV1Content_universal_d_ContentFieldValueOneOf = ContentFieldValueOneOf;\n  type multilingualTranslationV1Content_universal_d_RichContent = RichContent;\n  type multilingualTranslationV1Content_universal_d_Node = Node;\n  type multilingualTranslationV1Content_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type multilingualTranslationV1Content_universal_d_NodeType = NodeType;\n  const multilingualTranslationV1Content_universal_d_NodeType: typeof NodeType;\n  type multilingualTranslationV1Content_universal_d_NodeStyle = NodeStyle;\n  type multilingualTranslationV1Content_universal_d_ButtonData = ButtonData;\n  type multilingualTranslationV1Content_universal_d_Border = Border;\n  type multilingualTranslationV1Content_universal_d_Colors = Colors;\n  type multilingualTranslationV1Content_universal_d_PluginContainerData = PluginContainerData;\n  type multilingualTranslationV1Content_universal_d_WidthType = WidthType;\n  const multilingualTranslationV1Content_universal_d_WidthType: typeof WidthType;\n  type multilingualTranslationV1Content_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type multilingualTranslationV1Content_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type multilingualTranslationV1Content_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const multilingualTranslationV1Content_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type multilingualTranslationV1Content_universal_d_Spoiler = Spoiler;\n  type multilingualTranslationV1Content_universal_d_Height = Height;\n  type multilingualTranslationV1Content_universal_d_Type = Type;\n  const multilingualTranslationV1Content_universal_d_Type: typeof Type;\n  type multilingualTranslationV1Content_universal_d_Styles = Styles;\n  type multilingualTranslationV1Content_universal_d_Link = Link;\n  type multilingualTranslationV1Content_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type multilingualTranslationV1Content_universal_d_Target = Target;\n  const multilingualTranslationV1Content_universal_d_Target: typeof Target;\n  type multilingualTranslationV1Content_universal_d_Rel = Rel;\n  type multilingualTranslationV1Content_universal_d_CodeBlockData = CodeBlockData;\n  type multilingualTranslationV1Content_universal_d_TextStyle = TextStyle;\n  type multilingualTranslationV1Content_universal_d_TextAlignment = TextAlignment;\n  const multilingualTranslationV1Content_universal_d_TextAlignment: typeof TextAlignment;\n  type multilingualTranslationV1Content_universal_d_DividerData = DividerData;\n  type multilingualTranslationV1Content_universal_d_LineStyle = LineStyle;\n  const multilingualTranslationV1Content_universal_d_LineStyle: typeof LineStyle;\n  type multilingualTranslationV1Content_universal_d_Width = Width;\n  const multilingualTranslationV1Content_universal_d_Width: typeof Width;\n  type multilingualTranslationV1Content_universal_d_Alignment = Alignment;\n  const multilingualTranslationV1Content_universal_d_Alignment: typeof Alignment;\n  type multilingualTranslationV1Content_universal_d_FileData = FileData;\n  type multilingualTranslationV1Content_universal_d_ViewMode = ViewMode;\n  const multilingualTranslationV1Content_universal_d_ViewMode: typeof ViewMode;\n  type multilingualTranslationV1Content_universal_d_FileSource = FileSource;\n  type multilingualTranslationV1Content_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type multilingualTranslationV1Content_universal_d_PDFSettings = PDFSettings;\n  type multilingualTranslationV1Content_universal_d_GalleryData = GalleryData;\n  type multilingualTranslationV1Content_universal_d_Media = Media;\n  type multilingualTranslationV1Content_universal_d_Image = Image;\n  type multilingualTranslationV1Content_universal_d_Video = Video;\n  type multilingualTranslationV1Content_universal_d_Item = Item;\n  type multilingualTranslationV1Content_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type multilingualTranslationV1Content_universal_d_GalleryOptions = GalleryOptions;\n  type multilingualTranslationV1Content_universal_d_LayoutType = LayoutType;\n  const multilingualTranslationV1Content_universal_d_LayoutType: typeof LayoutType;\n  type multilingualTranslationV1Content_universal_d_Orientation = Orientation;\n  const multilingualTranslationV1Content_universal_d_Orientation: typeof Orientation;\n  type multilingualTranslationV1Content_universal_d_Crop = Crop;\n  const multilingualTranslationV1Content_universal_d_Crop: typeof Crop;\n  type multilingualTranslationV1Content_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const multilingualTranslationV1Content_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type multilingualTranslationV1Content_universal_d_Layout = Layout;\n  type multilingualTranslationV1Content_universal_d_ItemStyle = ItemStyle;\n  type multilingualTranslationV1Content_universal_d_Thumbnails = Thumbnails;\n  type multilingualTranslationV1Content_universal_d_GIFData = GIFData;\n  type multilingualTranslationV1Content_universal_d_GIF = GIF;\n  type multilingualTranslationV1Content_universal_d_HeadingData = HeadingData;\n  type multilingualTranslationV1Content_universal_d_HTMLData = HTMLData;\n  type multilingualTranslationV1Content_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type multilingualTranslationV1Content_universal_d_Source = Source;\n  const multilingualTranslationV1Content_universal_d_Source: typeof Source;\n  type multilingualTranslationV1Content_universal_d_ImageData = ImageData;\n  type multilingualTranslationV1Content_universal_d_LinkPreviewData = LinkPreviewData;\n  type multilingualTranslationV1Content_universal_d_MapData = MapData;\n  type multilingualTranslationV1Content_universal_d_MapSettings = MapSettings;\n  type multilingualTranslationV1Content_universal_d_MapType = MapType;\n  const multilingualTranslationV1Content_universal_d_MapType: typeof MapType;\n  type multilingualTranslationV1Content_universal_d_ParagraphData = ParagraphData;\n  type multilingualTranslationV1Content_universal_d_PollData = PollData;\n  type multilingualTranslationV1Content_universal_d_ViewRole = ViewRole;\n  const multilingualTranslationV1Content_universal_d_ViewRole: typeof ViewRole;\n  type multilingualTranslationV1Content_universal_d_VoteRole = VoteRole;\n  const multilingualTranslationV1Content_universal_d_VoteRole: typeof VoteRole;\n  type multilingualTranslationV1Content_universal_d_Permissions = Permissions;\n  type multilingualTranslationV1Content_universal_d_Option = Option;\n  type multilingualTranslationV1Content_universal_d_Settings = Settings;\n  type multilingualTranslationV1Content_universal_d_PollLayoutType = PollLayoutType;\n  const multilingualTranslationV1Content_universal_d_PollLayoutType: typeof PollLayoutType;\n  type multilingualTranslationV1Content_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const multilingualTranslationV1Content_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type multilingualTranslationV1Content_universal_d_PollLayout = PollLayout;\n  type multilingualTranslationV1Content_universal_d_OptionLayout = OptionLayout;\n  type multilingualTranslationV1Content_universal_d_BackgroundType = BackgroundType;\n  const multilingualTranslationV1Content_universal_d_BackgroundType: typeof BackgroundType;\n  type multilingualTranslationV1Content_universal_d_Gradient = Gradient;\n  type multilingualTranslationV1Content_universal_d_Background = Background;\n  type multilingualTranslationV1Content_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type multilingualTranslationV1Content_universal_d_PollDesign = PollDesign;\n  type multilingualTranslationV1Content_universal_d_OptionDesign = OptionDesign;\n  type multilingualTranslationV1Content_universal_d_Poll = Poll;\n  type multilingualTranslationV1Content_universal_d_PollDataLayout = PollDataLayout;\n  type multilingualTranslationV1Content_universal_d_Design = Design;\n  type multilingualTranslationV1Content_universal_d_TextData = TextData;\n  type multilingualTranslationV1Content_universal_d_Decoration = Decoration;\n  type multilingualTranslationV1Content_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type multilingualTranslationV1Content_universal_d_DecorationType = DecorationType;\n  const multilingualTranslationV1Content_universal_d_DecorationType: typeof DecorationType;\n  type multilingualTranslationV1Content_universal_d_AnchorData = AnchorData;\n  type multilingualTranslationV1Content_universal_d_ColorData = ColorData;\n  type multilingualTranslationV1Content_universal_d_LinkData = LinkData;\n  type multilingualTranslationV1Content_universal_d_MentionData = MentionData;\n  type multilingualTranslationV1Content_universal_d_FontSizeData = FontSizeData;\n  type multilingualTranslationV1Content_universal_d_FontType = FontType;\n  const multilingualTranslationV1Content_universal_d_FontType: typeof FontType;\n  type multilingualTranslationV1Content_universal_d_SpoilerData = SpoilerData;\n  type multilingualTranslationV1Content_universal_d_AppEmbedData = AppEmbedData;\n  type multilingualTranslationV1Content_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type multilingualTranslationV1Content_universal_d_AppType = AppType;\n  const multilingualTranslationV1Content_universal_d_AppType: typeof AppType;\n  type multilingualTranslationV1Content_universal_d_BookingData = BookingData;\n  type multilingualTranslationV1Content_universal_d_EventData = EventData;\n  type multilingualTranslationV1Content_universal_d_VideoData = VideoData;\n  type multilingualTranslationV1Content_universal_d_PlaybackOptions = PlaybackOptions;\n  type multilingualTranslationV1Content_universal_d_EmbedData = EmbedData;\n  type multilingualTranslationV1Content_universal_d_Oembed = Oembed;\n  type multilingualTranslationV1Content_universal_d_CollapsibleListData = CollapsibleListData;\n  type multilingualTranslationV1Content_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const multilingualTranslationV1Content_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type multilingualTranslationV1Content_universal_d_Direction = Direction;\n  const multilingualTranslationV1Content_universal_d_Direction: typeof Direction;\n  type multilingualTranslationV1Content_universal_d_TableData = TableData;\n  type multilingualTranslationV1Content_universal_d_Dimensions = Dimensions;\n  type multilingualTranslationV1Content_universal_d_TableCellData = TableCellData;\n  type multilingualTranslationV1Content_universal_d_VerticalAlignment = VerticalAlignment;\n  const multilingualTranslationV1Content_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type multilingualTranslationV1Content_universal_d_CellStyle = CellStyle;\n  type multilingualTranslationV1Content_universal_d_BorderColors = BorderColors;\n  type multilingualTranslationV1Content_universal_d_NullValue = NullValue;\n  const multilingualTranslationV1Content_universal_d_NullValue: typeof NullValue;\n  type multilingualTranslationV1Content_universal_d_ListValue = ListValue;\n  type multilingualTranslationV1Content_universal_d_AudioData = AudioData;\n  type multilingualTranslationV1Content_universal_d_OrderedListData = OrderedListData;\n  type multilingualTranslationV1Content_universal_d_BulletedListData = BulletedListData;\n  type multilingualTranslationV1Content_universal_d_BlockquoteData = BlockquoteData;\n  type multilingualTranslationV1Content_universal_d_CaptionData = CaptionData;\n  type multilingualTranslationV1Content_universal_d_Metadata = Metadata;\n  type multilingualTranslationV1Content_universal_d_DocumentStyle = DocumentStyle;\n  type multilingualTranslationV1Content_universal_d_TextNodeStyle = TextNodeStyle;\n  type multilingualTranslationV1Content_universal_d_VideoResolution = VideoResolution;\n  type multilingualTranslationV1Content_universal_d_UpdaterIdentity = UpdaterIdentity;\n  const multilingualTranslationV1Content_universal_d_UpdaterIdentity: typeof UpdaterIdentity;\n  type multilingualTranslationV1Content_universal_d_PublishStatus = PublishStatus;\n  const multilingualTranslationV1Content_universal_d_PublishStatus: typeof PublishStatus;\n  type multilingualTranslationV1Content_universal_d_CreateContentRequest = CreateContentRequest;\n  type multilingualTranslationV1Content_universal_d_CreateContentResponse = CreateContentResponse;\n  type multilingualTranslationV1Content_universal_d_GetContentRequest = GetContentRequest;\n  type multilingualTranslationV1Content_universal_d_GetContentResponse = GetContentResponse;\n  type multilingualTranslationV1Content_universal_d_UpdateContentRequest = UpdateContentRequest;\n  type multilingualTranslationV1Content_universal_d_UpdateContentResponse = UpdateContentResponse;\n  type multilingualTranslationV1Content_universal_d_UpdateContentByKeyRequest = UpdateContentByKeyRequest;\n  type multilingualTranslationV1Content_universal_d_UpdateContentByKeyResponse = UpdateContentByKeyResponse;\n  type multilingualTranslationV1Content_universal_d_DeleteContentRequest = DeleteContentRequest;\n  type multilingualTranslationV1Content_universal_d_DeleteContentResponse = DeleteContentResponse;\n  type multilingualTranslationV1Content_universal_d_QueryContentsRequest = QueryContentsRequest;\n  type multilingualTranslationV1Content_universal_d_QueryContentsResponse = QueryContentsResponse;\n  type multilingualTranslationV1Content_universal_d_QueryContentsLegacyRequest = QueryContentsLegacyRequest;\n  type multilingualTranslationV1Content_universal_d_QueryV2 = QueryV2;\n  type multilingualTranslationV1Content_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type multilingualTranslationV1Content_universal_d_Paging = Paging;\n  type multilingualTranslationV1Content_universal_d_QueryContentsLegacyResponse = QueryContentsLegacyResponse;\n  type multilingualTranslationV1Content_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type multilingualTranslationV1Content_universal_d_SearchContentsRequest = SearchContentsRequest;\n  type multilingualTranslationV1Content_universal_d_CursorSearch = CursorSearch;\n  type multilingualTranslationV1Content_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type multilingualTranslationV1Content_universal_d_Aggregation = Aggregation;\n  type multilingualTranslationV1Content_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type multilingualTranslationV1Content_universal_d_RangeBucket = RangeBucket;\n  type multilingualTranslationV1Content_universal_d_SortType = SortType;\n  const multilingualTranslationV1Content_universal_d_SortType: typeof SortType;\n  type multilingualTranslationV1Content_universal_d_SortDirection = SortDirection;\n  const multilingualTranslationV1Content_universal_d_SortDirection: typeof SortDirection;\n  type multilingualTranslationV1Content_universal_d_MissingValues = MissingValues;\n  const multilingualTranslationV1Content_universal_d_MissingValues: typeof MissingValues;\n  type multilingualTranslationV1Content_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n  type multilingualTranslationV1Content_universal_d_ScalarType = ScalarType;\n  const multilingualTranslationV1Content_universal_d_ScalarType: typeof ScalarType;\n  type multilingualTranslationV1Content_universal_d_ValueAggregation = ValueAggregation;\n  type multilingualTranslationV1Content_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n  type multilingualTranslationV1Content_universal_d_NestedAggregationType = NestedAggregationType;\n  const multilingualTranslationV1Content_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type multilingualTranslationV1Content_universal_d_RangeAggregation = RangeAggregation;\n  type multilingualTranslationV1Content_universal_d_ScalarAggregation = ScalarAggregation;\n  type multilingualTranslationV1Content_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n  type multilingualTranslationV1Content_universal_d_Interval = Interval;\n  const multilingualTranslationV1Content_universal_d_Interval: typeof Interval;\n  type multilingualTranslationV1Content_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type multilingualTranslationV1Content_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type multilingualTranslationV1Content_universal_d_AggregationType = AggregationType;\n  const multilingualTranslationV1Content_universal_d_AggregationType: typeof AggregationType;\n  type multilingualTranslationV1Content_universal_d_NestedAggregation = NestedAggregation;\n  type multilingualTranslationV1Content_universal_d_GroupByAggregation = GroupByAggregation;\n  type multilingualTranslationV1Content_universal_d_GroupByAggregationKindOneOf = GroupByAggregationKindOneOf;\n  type multilingualTranslationV1Content_universal_d_SearchDetails = SearchDetails;\n  type multilingualTranslationV1Content_universal_d_Mode = Mode;\n  const multilingualTranslationV1Content_universal_d_Mode: typeof Mode;\n  type multilingualTranslationV1Content_universal_d_SearchContentsResponse = SearchContentsResponse;\n  type multilingualTranslationV1Content_universal_d_AggregationData = AggregationData;\n  type multilingualTranslationV1Content_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type multilingualTranslationV1Content_universal_d_RangeAggregationResult = RangeAggregationResult;\n  type multilingualTranslationV1Content_universal_d_NestedAggregationResults = NestedAggregationResults;\n  type multilingualTranslationV1Content_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n  type multilingualTranslationV1Content_universal_d_ValueResults = ValueResults;\n  type multilingualTranslationV1Content_universal_d_RangeResults = RangeResults;\n  type multilingualTranslationV1Content_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n  type multilingualTranslationV1Content_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n  type multilingualTranslationV1Content_universal_d_ValueResult = ValueResult;\n  type multilingualTranslationV1Content_universal_d_RangeResult = RangeResult;\n  type multilingualTranslationV1Content_universal_d_ScalarResult = ScalarResult;\n  type multilingualTranslationV1Content_universal_d_NestedResultValue = NestedResultValue;\n  type multilingualTranslationV1Content_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type multilingualTranslationV1Content_universal_d_Results = Results;\n  type multilingualTranslationV1Content_universal_d_DateHistogramResult = DateHistogramResult;\n  type multilingualTranslationV1Content_universal_d_GroupByValueResults = GroupByValueResults;\n  type multilingualTranslationV1Content_universal_d_DateHistogramResults = DateHistogramResults;\n  type multilingualTranslationV1Content_universal_d_NestedResults = NestedResults;\n  type multilingualTranslationV1Content_universal_d_AggregationResults = AggregationResults;\n  type multilingualTranslationV1Content_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type multilingualTranslationV1Content_universal_d_BulkCreateContentRequest = BulkCreateContentRequest;\n  type multilingualTranslationV1Content_universal_d_BulkCreateContentResponse = BulkCreateContentResponse;\n  type multilingualTranslationV1Content_universal_d_ItemMetadata = ItemMetadata;\n  type multilingualTranslationV1Content_universal_d_ApplicationError = ApplicationError;\n  type multilingualTranslationV1Content_universal_d_BulkContentResult = BulkContentResult;\n  type multilingualTranslationV1Content_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type multilingualTranslationV1Content_universal_d_BulkUpdateContentRequest = BulkUpdateContentRequest;\n  type multilingualTranslationV1Content_universal_d_MaskedContent = MaskedContent;\n  type multilingualTranslationV1Content_universal_d_BulkUpdateContentResponse = BulkUpdateContentResponse;\n  type multilingualTranslationV1Content_universal_d_BulkUpdateContentResponseBulkContentResult = BulkUpdateContentResponseBulkContentResult;\n  type multilingualTranslationV1Content_universal_d_BulkUpdateContentByKeyRequest = BulkUpdateContentByKeyRequest;\n  type multilingualTranslationV1Content_universal_d_BulkUpdateContentByKeyRequestMaskedContent = BulkUpdateContentByKeyRequestMaskedContent;\n  type multilingualTranslationV1Content_universal_d_BulkUpdateContentByKeyResponse = BulkUpdateContentByKeyResponse;\n  type multilingualTranslationV1Content_universal_d_BulkUpdateContentByKeyResponseBulkContentResult = BulkUpdateContentByKeyResponseBulkContentResult;\n  type multilingualTranslationV1Content_universal_d_PermissiveBulkUpdateContentRequest = PermissiveBulkUpdateContentRequest;\n  type multilingualTranslationV1Content_universal_d_PermissiveBulkUpdateContentRequestMaskedContent = PermissiveBulkUpdateContentRequestMaskedContent;\n  type multilingualTranslationV1Content_universal_d_PermissiveBulkUpdateContentResponse = PermissiveBulkUpdateContentResponse;\n  type multilingualTranslationV1Content_universal_d_PermissiveBulkUpdateContentResponseBulkContentResult = PermissiveBulkUpdateContentResponseBulkContentResult;\n  type multilingualTranslationV1Content_universal_d_BulkDeleteContentRequest = BulkDeleteContentRequest;\n  type multilingualTranslationV1Content_universal_d_BulkDeleteContentResponse = BulkDeleteContentResponse;\n  type multilingualTranslationV1Content_universal_d_BulkDeleteContentResponseBulkContentResult = BulkDeleteContentResponseBulkContentResult;\n  type multilingualTranslationV1Content_universal_d_RemoveContentsByFilterRequest = RemoveContentsByFilterRequest;\n  type multilingualTranslationV1Content_universal_d_RemoveContentsByFilterResponse = RemoveContentsByFilterResponse;\n  type multilingualTranslationV1Content_universal_d_RepublishContentByFilterRequest = RepublishContentByFilterRequest;\n  type multilingualTranslationV1Content_universal_d_RepublishContentByFilterResponse = RepublishContentByFilterResponse;\n  type multilingualTranslationV1Content_universal_d_ChangeContentLocaleRequest = ChangeContentLocaleRequest;\n  type multilingualTranslationV1Content_universal_d_ChangeContentLocaleRequestQueryContextOneOf = ChangeContentLocaleRequestQueryContextOneOf;\n  type multilingualTranslationV1Content_universal_d_ChangeContentLocaleResponse = ChangeContentLocaleResponse;\n  const multilingualTranslationV1Content_universal_d_createContent: typeof createContent;\n  const multilingualTranslationV1Content_universal_d_getContent: typeof getContent;\n  const multilingualTranslationV1Content_universal_d_updateContent: typeof updateContent;\n  type multilingualTranslationV1Content_universal_d_UpdateContent = UpdateContent;\n  type multilingualTranslationV1Content_universal_d_UpdateContentOptions = UpdateContentOptions;\n  const multilingualTranslationV1Content_universal_d_updateContentByKey: typeof updateContentByKey;\n  type multilingualTranslationV1Content_universal_d_UpdateContentByKeyOptions = UpdateContentByKeyOptions;\n  const multilingualTranslationV1Content_universal_d_deleteContent: typeof deleteContent;\n  const multilingualTranslationV1Content_universal_d_queryContents: typeof queryContents;\n  type multilingualTranslationV1Content_universal_d_QueryContentsOptions = QueryContentsOptions;\n  type multilingualTranslationV1Content_universal_d_ContentsQueryResult = ContentsQueryResult;\n  type multilingualTranslationV1Content_universal_d_ContentsQueryBuilder = ContentsQueryBuilder;\n  const multilingualTranslationV1Content_universal_d_queryContentsLegacy: typeof queryContentsLegacy;\n  type multilingualTranslationV1Content_universal_d_QueryContentsLegacyOptions = QueryContentsLegacyOptions;\n  const multilingualTranslationV1Content_universal_d_searchContents: typeof searchContents;\n  type multilingualTranslationV1Content_universal_d_SearchContentsOptions = SearchContentsOptions;\n  const multilingualTranslationV1Content_universal_d_bulkCreateContent: typeof bulkCreateContent;\n  type multilingualTranslationV1Content_universal_d_BulkCreateContentOptions = BulkCreateContentOptions;\n  const multilingualTranslationV1Content_universal_d_bulkUpdateContent: typeof bulkUpdateContent;\n  type multilingualTranslationV1Content_universal_d_BulkUpdateContentOptions = BulkUpdateContentOptions;\n  const multilingualTranslationV1Content_universal_d_bulkUpdateContentByKey: typeof bulkUpdateContentByKey;\n  type multilingualTranslationV1Content_universal_d_BulkUpdateContentByKeyOptions = BulkUpdateContentByKeyOptions;\n  const multilingualTranslationV1Content_universal_d_bulkDeleteContent: typeof bulkDeleteContent;\n  const multilingualTranslationV1Content_universal_d_removeContentsByFilter: typeof removeContentsByFilter;\n  type multilingualTranslationV1Content_universal_d_RemoveContentsByFilterOptions = RemoveContentsByFilterOptions;\n  const multilingualTranslationV1Content_universal_d_republishContentByFilter: typeof republishContentByFilter;\n  type multilingualTranslationV1Content_universal_d_RepublishContentByFilterOptions = RepublishContentByFilterOptions;\n  namespace multilingualTranslationV1Content_universal_d {\n    export {\n      multilingualTranslationV1Content_universal_d_Content as Content,\n      multilingualTranslationV1Content_universal_d_ContentField as ContentField,\n      multilingualTranslationV1Content_universal_d_ContentFieldValueOneOf as ContentFieldValueOneOf,\n      multilingualTranslationV1Content_universal_d_RichContent as RichContent,\n      multilingualTranslationV1Content_universal_d_Node as Node,\n      multilingualTranslationV1Content_universal_d_NodeDataOneOf as NodeDataOneOf,\n      multilingualTranslationV1Content_universal_d_NodeType as NodeType,\n      multilingualTranslationV1Content_universal_d_NodeStyle as NodeStyle,\n      multilingualTranslationV1Content_universal_d_ButtonData as ButtonData,\n      multilingualTranslationV1Content_universal_d_Border as Border,\n      multilingualTranslationV1Content_universal_d_Colors as Colors,\n      multilingualTranslationV1Content_universal_d_PluginContainerData as PluginContainerData,\n      multilingualTranslationV1Content_universal_d_WidthType as WidthType,\n      multilingualTranslationV1Content_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      multilingualTranslationV1Content_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      multilingualTranslationV1Content_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      multilingualTranslationV1Content_universal_d_Spoiler as Spoiler,\n      multilingualTranslationV1Content_universal_d_Height as Height,\n      multilingualTranslationV1Content_universal_d_Type as Type,\n      multilingualTranslationV1Content_universal_d_Styles as Styles,\n      multilingualTranslationV1Content_universal_d_Link as Link,\n      multilingualTranslationV1Content_universal_d_LinkDataOneOf as LinkDataOneOf,\n      multilingualTranslationV1Content_universal_d_Target as Target,\n      multilingualTranslationV1Content_universal_d_Rel as Rel,\n      multilingualTranslationV1Content_universal_d_CodeBlockData as CodeBlockData,\n      multilingualTranslationV1Content_universal_d_TextStyle as TextStyle,\n      multilingualTranslationV1Content_universal_d_TextAlignment as TextAlignment,\n      multilingualTranslationV1Content_universal_d_DividerData as DividerData,\n      multilingualTranslationV1Content_universal_d_LineStyle as LineStyle,\n      multilingualTranslationV1Content_universal_d_Width as Width,\n      multilingualTranslationV1Content_universal_d_Alignment as Alignment,\n      multilingualTranslationV1Content_universal_d_FileData as FileData,\n      multilingualTranslationV1Content_universal_d_ViewMode as ViewMode,\n      multilingualTranslationV1Content_universal_d_FileSource as FileSource,\n      multilingualTranslationV1Content_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      multilingualTranslationV1Content_universal_d_PDFSettings as PDFSettings,\n      multilingualTranslationV1Content_universal_d_GalleryData as GalleryData,\n      multilingualTranslationV1Content_universal_d_Media as Media,\n      multilingualTranslationV1Content_universal_d_Image as Image,\n      multilingualTranslationV1Content_universal_d_Video as Video,\n      multilingualTranslationV1Content_universal_d_Item as Item,\n      multilingualTranslationV1Content_universal_d_ItemDataOneOf as ItemDataOneOf,\n      multilingualTranslationV1Content_universal_d_GalleryOptions as GalleryOptions,\n      multilingualTranslationV1Content_universal_d_LayoutType as LayoutType,\n      multilingualTranslationV1Content_universal_d_Orientation as Orientation,\n      multilingualTranslationV1Content_universal_d_Crop as Crop,\n      multilingualTranslationV1Content_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      multilingualTranslationV1Content_universal_d_Layout as Layout,\n      multilingualTranslationV1Content_universal_d_ItemStyle as ItemStyle,\n      multilingualTranslationV1Content_universal_d_Thumbnails as Thumbnails,\n      multilingualTranslationV1Content_universal_d_GIFData as GIFData,\n      multilingualTranslationV1Content_universal_d_GIF as GIF,\n      multilingualTranslationV1Content_universal_d_HeadingData as HeadingData,\n      multilingualTranslationV1Content_universal_d_HTMLData as HTMLData,\n      multilingualTranslationV1Content_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      multilingualTranslationV1Content_universal_d_Source as Source,\n      multilingualTranslationV1Content_universal_d_ImageData as ImageData,\n      multilingualTranslationV1Content_universal_d_LinkPreviewData as LinkPreviewData,\n      multilingualTranslationV1Content_universal_d_MapData as MapData,\n      multilingualTranslationV1Content_universal_d_MapSettings as MapSettings,\n      multilingualTranslationV1Content_universal_d_MapType as MapType,\n      multilingualTranslationV1Content_universal_d_ParagraphData as ParagraphData,\n      multilingualTranslationV1Content_universal_d_PollData as PollData,\n      multilingualTranslationV1Content_universal_d_ViewRole as ViewRole,\n      multilingualTranslationV1Content_universal_d_VoteRole as VoteRole,\n      multilingualTranslationV1Content_universal_d_Permissions as Permissions,\n      multilingualTranslationV1Content_universal_d_Option as Option,\n      multilingualTranslationV1Content_universal_d_Settings as Settings,\n      multilingualTranslationV1Content_universal_d_PollLayoutType as PollLayoutType,\n      multilingualTranslationV1Content_universal_d_PollLayoutDirection as PollLayoutDirection,\n      multilingualTranslationV1Content_universal_d_PollLayout as PollLayout,\n      multilingualTranslationV1Content_universal_d_OptionLayout as OptionLayout,\n      multilingualTranslationV1Content_universal_d_BackgroundType as BackgroundType,\n      multilingualTranslationV1Content_universal_d_Gradient as Gradient,\n      multilingualTranslationV1Content_universal_d_Background as Background,\n      multilingualTranslationV1Content_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      multilingualTranslationV1Content_universal_d_PollDesign as PollDesign,\n      multilingualTranslationV1Content_universal_d_OptionDesign as OptionDesign,\n      multilingualTranslationV1Content_universal_d_Poll as Poll,\n      multilingualTranslationV1Content_universal_d_PollDataLayout as PollDataLayout,\n      multilingualTranslationV1Content_universal_d_Design as Design,\n      multilingualTranslationV1Content_universal_d_TextData as TextData,\n      multilingualTranslationV1Content_universal_d_Decoration as Decoration,\n      multilingualTranslationV1Content_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      multilingualTranslationV1Content_universal_d_DecorationType as DecorationType,\n      multilingualTranslationV1Content_universal_d_AnchorData as AnchorData,\n      multilingualTranslationV1Content_universal_d_ColorData as ColorData,\n      multilingualTranslationV1Content_universal_d_LinkData as LinkData,\n      multilingualTranslationV1Content_universal_d_MentionData as MentionData,\n      multilingualTranslationV1Content_universal_d_FontSizeData as FontSizeData,\n      multilingualTranslationV1Content_universal_d_FontType as FontType,\n      multilingualTranslationV1Content_universal_d_SpoilerData as SpoilerData,\n      multilingualTranslationV1Content_universal_d_AppEmbedData as AppEmbedData,\n      multilingualTranslationV1Content_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      multilingualTranslationV1Content_universal_d_AppType as AppType,\n      multilingualTranslationV1Content_universal_d_BookingData as BookingData,\n      multilingualTranslationV1Content_universal_d_EventData as EventData,\n      multilingualTranslationV1Content_universal_d_VideoData as VideoData,\n      multilingualTranslationV1Content_universal_d_PlaybackOptions as PlaybackOptions,\n      multilingualTranslationV1Content_universal_d_EmbedData as EmbedData,\n      multilingualTranslationV1Content_universal_d_Oembed as Oembed,\n      multilingualTranslationV1Content_universal_d_CollapsibleListData as CollapsibleListData,\n      multilingualTranslationV1Content_universal_d_InitialExpandedItems as InitialExpandedItems,\n      multilingualTranslationV1Content_universal_d_Direction as Direction,\n      multilingualTranslationV1Content_universal_d_TableData as TableData,\n      multilingualTranslationV1Content_universal_d_Dimensions as Dimensions,\n      multilingualTranslationV1Content_universal_d_TableCellData as TableCellData,\n      multilingualTranslationV1Content_universal_d_VerticalAlignment as VerticalAlignment,\n      multilingualTranslationV1Content_universal_d_CellStyle as CellStyle,\n      multilingualTranslationV1Content_universal_d_BorderColors as BorderColors,\n      multilingualTranslationV1Content_universal_d_NullValue as NullValue,\n      multilingualTranslationV1Content_universal_d_ListValue as ListValue,\n      multilingualTranslationV1Content_universal_d_AudioData as AudioData,\n      multilingualTranslationV1Content_universal_d_OrderedListData as OrderedListData,\n      multilingualTranslationV1Content_universal_d_BulletedListData as BulletedListData,\n      multilingualTranslationV1Content_universal_d_BlockquoteData as BlockquoteData,\n      multilingualTranslationV1Content_universal_d_CaptionData as CaptionData,\n      multilingualTranslationV1Content_universal_d_Metadata as Metadata,\n      multilingualTranslationV1Content_universal_d_DocumentStyle as DocumentStyle,\n      multilingualTranslationV1Content_universal_d_TextNodeStyle as TextNodeStyle,\n      multilingualTranslationV1Content_universal_d_VideoResolution as VideoResolution,\n      multilingualTranslationV1Content_universal_d_UpdaterIdentity as UpdaterIdentity,\n      multilingualTranslationV1Content_universal_d_PublishStatus as PublishStatus,\n      multilingualTranslationV1Content_universal_d_CreateContentRequest as CreateContentRequest,\n      multilingualTranslationV1Content_universal_d_CreateContentResponse as CreateContentResponse,\n      multilingualTranslationV1Content_universal_d_GetContentRequest as GetContentRequest,\n      multilingualTranslationV1Content_universal_d_GetContentResponse as GetContentResponse,\n      multilingualTranslationV1Content_universal_d_UpdateContentRequest as UpdateContentRequest,\n      multilingualTranslationV1Content_universal_d_UpdateContentResponse as UpdateContentResponse,\n      multilingualTranslationV1Content_universal_d_UpdateContentByKeyRequest as UpdateContentByKeyRequest,\n      multilingualTranslationV1Content_universal_d_UpdateContentByKeyResponse as UpdateContentByKeyResponse,\n      multilingualTranslationV1Content_universal_d_DeleteContentRequest as DeleteContentRequest,\n      multilingualTranslationV1Content_universal_d_DeleteContentResponse as DeleteContentResponse,\n      multilingualTranslationV1Content_universal_d_QueryContentsRequest as QueryContentsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      multilingualTranslationV1Content_universal_d_QueryContentsResponse as QueryContentsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      multilingualTranslationV1Content_universal_d_QueryContentsLegacyRequest as QueryContentsLegacyRequest,\n      multilingualTranslationV1Content_universal_d_QueryV2 as QueryV2,\n      multilingualTranslationV1Content_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      multilingualTranslationV1Content_universal_d_Paging as Paging,\n      multilingualTranslationV1Content_universal_d_QueryContentsLegacyResponse as QueryContentsLegacyResponse,\n      multilingualTranslationV1Content_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      multilingualTranslationV1Content_universal_d_SearchContentsRequest as SearchContentsRequest,\n      multilingualTranslationV1Content_universal_d_CursorSearch as CursorSearch,\n      multilingualTranslationV1Content_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      multilingualTranslationV1Content_universal_d_Aggregation as Aggregation,\n      multilingualTranslationV1Content_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      multilingualTranslationV1Content_universal_d_RangeBucket as RangeBucket,\n      multilingualTranslationV1Content_universal_d_SortType as SortType,\n      multilingualTranslationV1Content_universal_d_SortDirection as SortDirection,\n      multilingualTranslationV1Content_universal_d_MissingValues as MissingValues,\n      multilingualTranslationV1Content_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions,\n      multilingualTranslationV1Content_universal_d_ScalarType as ScalarType,\n      multilingualTranslationV1Content_universal_d_ValueAggregation as ValueAggregation,\n      multilingualTranslationV1Content_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf,\n      multilingualTranslationV1Content_universal_d_NestedAggregationType as NestedAggregationType,\n      multilingualTranslationV1Content_universal_d_RangeAggregation as RangeAggregation,\n      multilingualTranslationV1Content_universal_d_ScalarAggregation as ScalarAggregation,\n      multilingualTranslationV1Content_universal_d_DateHistogramAggregation as DateHistogramAggregation,\n      multilingualTranslationV1Content_universal_d_Interval as Interval,\n      multilingualTranslationV1Content_universal_d_NestedAggregationItem as NestedAggregationItem,\n      multilingualTranslationV1Content_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      multilingualTranslationV1Content_universal_d_AggregationType as AggregationType,\n      multilingualTranslationV1Content_universal_d_NestedAggregation as NestedAggregation,\n      multilingualTranslationV1Content_universal_d_GroupByAggregation as GroupByAggregation,\n      multilingualTranslationV1Content_universal_d_GroupByAggregationKindOneOf as GroupByAggregationKindOneOf,\n      multilingualTranslationV1Content_universal_d_SearchDetails as SearchDetails,\n      multilingualTranslationV1Content_universal_d_Mode as Mode,\n      multilingualTranslationV1Content_universal_d_SearchContentsResponse as SearchContentsResponse,\n      multilingualTranslationV1Content_universal_d_AggregationData as AggregationData,\n      multilingualTranslationV1Content_universal_d_ValueAggregationResult as ValueAggregationResult,\n      multilingualTranslationV1Content_universal_d_RangeAggregationResult as RangeAggregationResult,\n      multilingualTranslationV1Content_universal_d_NestedAggregationResults as NestedAggregationResults,\n      multilingualTranslationV1Content_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,\n      multilingualTranslationV1Content_universal_d_ValueResults as ValueResults,\n      multilingualTranslationV1Content_universal_d_RangeResults as RangeResults,\n      multilingualTranslationV1Content_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult,\n      multilingualTranslationV1Content_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,\n      multilingualTranslationV1Content_universal_d_ValueResult as ValueResult,\n      multilingualTranslationV1Content_universal_d_RangeResult as RangeResult,\n      multilingualTranslationV1Content_universal_d_ScalarResult as ScalarResult,\n      multilingualTranslationV1Content_universal_d_NestedResultValue as NestedResultValue,\n      multilingualTranslationV1Content_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      multilingualTranslationV1Content_universal_d_Results as Results,\n      multilingualTranslationV1Content_universal_d_DateHistogramResult as DateHistogramResult,\n      multilingualTranslationV1Content_universal_d_GroupByValueResults as GroupByValueResults,\n      multilingualTranslationV1Content_universal_d_DateHistogramResults as DateHistogramResults,\n      multilingualTranslationV1Content_universal_d_NestedResults as NestedResults,\n      multilingualTranslationV1Content_universal_d_AggregationResults as AggregationResults,\n      multilingualTranslationV1Content_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      multilingualTranslationV1Content_universal_d_BulkCreateContentRequest as BulkCreateContentRequest,\n      multilingualTranslationV1Content_universal_d_BulkCreateContentResponse as BulkCreateContentResponse,\n      multilingualTranslationV1Content_universal_d_ItemMetadata as ItemMetadata,\n      multilingualTranslationV1Content_universal_d_ApplicationError as ApplicationError,\n      multilingualTranslationV1Content_universal_d_BulkContentResult as BulkContentResult,\n      multilingualTranslationV1Content_universal_d_BulkActionMetadata as BulkActionMetadata,\n      multilingualTranslationV1Content_universal_d_BulkUpdateContentRequest as BulkUpdateContentRequest,\n      multilingualTranslationV1Content_universal_d_MaskedContent as MaskedContent,\n      multilingualTranslationV1Content_universal_d_BulkUpdateContentResponse as BulkUpdateContentResponse,\n      multilingualTranslationV1Content_universal_d_BulkUpdateContentResponseBulkContentResult as BulkUpdateContentResponseBulkContentResult,\n      multilingualTranslationV1Content_universal_d_BulkUpdateContentByKeyRequest as BulkUpdateContentByKeyRequest,\n      multilingualTranslationV1Content_universal_d_BulkUpdateContentByKeyRequestMaskedContent as BulkUpdateContentByKeyRequestMaskedContent,\n      multilingualTranslationV1Content_universal_d_BulkUpdateContentByKeyResponse as BulkUpdateContentByKeyResponse,\n      multilingualTranslationV1Content_universal_d_BulkUpdateContentByKeyResponseBulkContentResult as BulkUpdateContentByKeyResponseBulkContentResult,\n      multilingualTranslationV1Content_universal_d_PermissiveBulkUpdateContentRequest as PermissiveBulkUpdateContentRequest,\n      multilingualTranslationV1Content_universal_d_PermissiveBulkUpdateContentRequestMaskedContent as PermissiveBulkUpdateContentRequestMaskedContent,\n      multilingualTranslationV1Content_universal_d_PermissiveBulkUpdateContentResponse as PermissiveBulkUpdateContentResponse,\n      multilingualTranslationV1Content_universal_d_PermissiveBulkUpdateContentResponseBulkContentResult as PermissiveBulkUpdateContentResponseBulkContentResult,\n      multilingualTranslationV1Content_universal_d_BulkDeleteContentRequest as BulkDeleteContentRequest,\n      multilingualTranslationV1Content_universal_d_BulkDeleteContentResponse as BulkDeleteContentResponse,\n      multilingualTranslationV1Content_universal_d_BulkDeleteContentResponseBulkContentResult as BulkDeleteContentResponseBulkContentResult,\n      MetaSiteSpecialEvent$1 as MetaSiteSpecialEvent,\n      MetaSiteSpecialEventPayloadOneOf$1 as MetaSiteSpecialEventPayloadOneOf,\n      Asset$1 as Asset,\n      State$1 as State,\n      SiteCreated$1 as SiteCreated,\n      SiteCreatedContext$1 as SiteCreatedContext,\n      Namespace$1 as Namespace,\n      SiteTransferred$1 as SiteTransferred,\n      SiteDeleted$1 as SiteDeleted,\n      DeleteContext$1 as DeleteContext,\n      DeleteStatus$1 as DeleteStatus,\n      SiteUndeleted$1 as SiteUndeleted,\n      SitePublished$1 as SitePublished,\n      SiteUnpublished$1 as SiteUnpublished,\n      SiteMarkedAsTemplate$1 as SiteMarkedAsTemplate,\n      SiteMarkedAsWixSite$1 as SiteMarkedAsWixSite,\n      ServiceProvisioned$1 as ServiceProvisioned,\n      ServiceRemoved$1 as ServiceRemoved,\n      SiteRenamed$1 as SiteRenamed,\n      SiteHardDeleted$1 as SiteHardDeleted,\n      NamespaceChanged$1 as NamespaceChanged,\n      StudioAssigned$1 as StudioAssigned,\n      StudioUnassigned$1 as StudioUnassigned,\n      Empty$1 as Empty,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      multilingualTranslationV1Content_universal_d_RemoveContentsByFilterRequest as RemoveContentsByFilterRequest,\n      multilingualTranslationV1Content_universal_d_RemoveContentsByFilterResponse as RemoveContentsByFilterResponse,\n      multilingualTranslationV1Content_universal_d_RepublishContentByFilterRequest as RepublishContentByFilterRequest,\n      multilingualTranslationV1Content_universal_d_RepublishContentByFilterResponse as RepublishContentByFilterResponse,\n      multilingualTranslationV1Content_universal_d_ChangeContentLocaleRequest as ChangeContentLocaleRequest,\n      multilingualTranslationV1Content_universal_d_ChangeContentLocaleRequestQueryContextOneOf as ChangeContentLocaleRequestQueryContextOneOf,\n      multilingualTranslationV1Content_universal_d_ChangeContentLocaleResponse as ChangeContentLocaleResponse,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      multilingualTranslationV1Content_universal_d_createContent as createContent,\n      multilingualTranslationV1Content_universal_d_getContent as getContent,\n      multilingualTranslationV1Content_universal_d_updateContent as updateContent,\n      multilingualTranslationV1Content_universal_d_UpdateContent as UpdateContent,\n      multilingualTranslationV1Content_universal_d_UpdateContentOptions as UpdateContentOptions,\n      multilingualTranslationV1Content_universal_d_updateContentByKey as updateContentByKey,\n      multilingualTranslationV1Content_universal_d_UpdateContentByKeyOptions as UpdateContentByKeyOptions,\n      multilingualTranslationV1Content_universal_d_deleteContent as deleteContent,\n      multilingualTranslationV1Content_universal_d_queryContents as queryContents,\n      multilingualTranslationV1Content_universal_d_QueryContentsOptions as QueryContentsOptions,\n      multilingualTranslationV1Content_universal_d_ContentsQueryResult as ContentsQueryResult,\n      multilingualTranslationV1Content_universal_d_ContentsQueryBuilder as ContentsQueryBuilder,\n      multilingualTranslationV1Content_universal_d_queryContentsLegacy as queryContentsLegacy,\n      multilingualTranslationV1Content_universal_d_QueryContentsLegacyOptions as QueryContentsLegacyOptions,\n      multilingualTranslationV1Content_universal_d_searchContents as searchContents,\n      multilingualTranslationV1Content_universal_d_SearchContentsOptions as SearchContentsOptions,\n      multilingualTranslationV1Content_universal_d_bulkCreateContent as bulkCreateContent,\n      multilingualTranslationV1Content_universal_d_BulkCreateContentOptions as BulkCreateContentOptions,\n      multilingualTranslationV1Content_universal_d_bulkUpdateContent as bulkUpdateContent,\n      multilingualTranslationV1Content_universal_d_BulkUpdateContentOptions as BulkUpdateContentOptions,\n      multilingualTranslationV1Content_universal_d_bulkUpdateContentByKey as bulkUpdateContentByKey,\n      multilingualTranslationV1Content_universal_d_BulkUpdateContentByKeyOptions as BulkUpdateContentByKeyOptions,\n      multilingualTranslationV1Content_universal_d_bulkDeleteContent as bulkDeleteContent,\n      multilingualTranslationV1Content_universal_d_removeContentsByFilter as removeContentsByFilter,\n      multilingualTranslationV1Content_universal_d_RemoveContentsByFilterOptions as RemoveContentsByFilterOptions,\n      multilingualTranslationV1Content_universal_d_republishContentByFilter as republishContentByFilter,\n      multilingualTranslationV1Content_universal_d_RepublishContentByFilterOptions as RepublishContentByFilterOptions,\n    };\n  }\n  \n  interface Schema {\n      /**\n       * Translation schema ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Translation schema unique key identifier. */\n      key?: SchemaKey;\n      /** List of fields for the translation schema. This property uses a string to map to a `SchemaField` (`Map<string, SchemaField>`). The string serves as a key, which you'll need to access each field in the schema and when adding translation content. */\n      fields?: Record<string, SchemaField>;\n      /** Fields displayed in content previews. For example, a product name for a product translation schema. */\n      previewFields?: PreviewFields;\n      /**\n       * Whether the translation schema is hidden from the site.\n       *\n       * Default: `false`\n       */\n      hidden?: boolean | null;\n      /** Translation schema name displayed in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager). */\n      displayName?: string | null;\n      /** A reference to the parent schema. For example, if the schema is for a menu item, this property would contain the schema ID of the menu it belongs to. */\n      parentId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the schema is updated. To prevent conflicting changes, the existing `revision` must be used when updating a schema.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the translation schema was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the translation schema was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Whether to duplicate the translated content when a site containing the translation schema and content is duplicated.\n       *\n       * Default: `false`\n       */\n      duplicateContent?: boolean | null;\n      /**\n       * Indicate if this schema should be grouped under a custom group in the Translation Manager\n       * For more info about this field check dev-center extension `Multilingual Schema Group`\n       * @internal\n       */\n      schemaGroupId?: string | null;\n  }\n  interface SchemaKey {\n      /**\n       * ID of the app that created the schema.\n       * @readonly\n       */\n      appId?: string;\n      /** A unique name defined by the app developer to differentiate translation schemas for various entities within their app. For example, if an app developer is creating a translation schema for blog posts, the `entityType` can be `'blog-posts'`. */\n      entityType?: string;\n      /**\n       * Scope of the translation schema.\n       * Supported values:\n       * + `GLOBAL`: A global schema for all sites.\n       * + `SITE`: A custom schema for a specific site.\n       */\n      scope?: SchemaScope;\n  }\n  enum SchemaScope {\n      UNKNOWN_SCOPE = \"UNKNOWN_SCOPE\",\n      /** Global schema for all sites. */\n      GLOBAL = \"GLOBAL\",\n      /** Custom schema for a specific site. */\n      SITE = \"SITE\"\n  }\n  interface SchemaField {\n      /**\n       * Field ID. Validated according to Regex `^[A-Za-z0-9-_)(]+$`. Field IDs may contain parentheses to reference repeated items, such as images. These parentheses can't be nested and each opening parenthesis must be followed by a closing one. For example, `title()()` is valid, while `title)(` and `title(())` aren't valid. The value inside the parenthesis is validated according to Regex `^[^)(\\\\]\\\\[\\\\.]+$`.\n       * @readonly\n       */\n      _id?: string;\n      /** **Required.** Field type. */\n      type?: FieldType;\n      /** Field name displayed in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager). */\n      displayName?: string | null;\n      /** Field group name. */\n      groupName?: string | null;\n      /** Field minimum text length. */\n      minLength?: number | null;\n      /** Field maximum text length. */\n      maxLength?: number | null;\n      /** Field format. Content is validated based on the format set here in the field schema. For example, if the format is `EMAIL`, then the content for this field must be a valid email address. */\n      format?: string | null;\n      /** Whether the field is hidden from the site. Hidden fields are still validated. */\n      hidden?: boolean;\n      /** Whether the field is read-only, and not intended to be translated. For example, an image. Use this field when you want an image to remain in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager) for context, but without being translated. */\n      displayOnly?: boolean;\n      /** Field index. Use for cases where the order of the fields are relevant. */\n      index?: number | null;\n  }\n  enum FieldType {\n      /** Undefined field type */\n      UNDEFINED_TYPE = \"UNDEFINED_TYPE\",\n      /** Short plain text displayed as a single line in the UI. */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long plain text displayed as multiple lines in the UI. */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** Long text including styles, images, and links. */\n      HTML = \"HTML\",\n      /** Rich-Content using the Wix Ricos format. */\n      RICH_CONTENT = \"RICH_CONTENT\",\n      /** Wix Media Manager image. */\n      IMAGE = \"IMAGE\",\n      /** Image URL without metadata. */\n      IMAGE_LINK = \"IMAGE_LINK\",\n      /** Contains an XML representation of an entity or part of it. */\n      JSON = \"JSON\",\n      /** Wix Media Manager video. */\n      VIDEO = \"VIDEO\",\n      /** Wix Media Manager document. */\n      DOCUMENT = \"DOCUMENT\"\n  }\n  interface PreviewFields {\n      /** ID of the field representing the schema's title. */\n      titleFieldId?: string | null;\n      /** ID of the field representing the schema's image. */\n      imageFieldId?: string | null;\n  }\n  interface CreateSchemaRequest {\n      /** Translation schema to create. */\n      schema: Schema;\n      /**\n       * This field is in use if you want to override the app-id from the call scope server signature\n       * This field is private and allowed only if the request came from Multilingual server signature\n       * @internal\n       */\n      overrideAppId?: string | null;\n  }\n  interface CreateSchemaResponse {\n      /** Newly created translation schema. */\n      schema?: Schema;\n  }\n  interface GetSchemaRequest {\n      /** ID of the translation schema to retrieve. */\n      schemaId: string;\n  }\n  interface GetSchemaResponse {\n      /** The requested translation schema. */\n      schema?: Schema;\n  }\n  interface GetSchemaByKeyRequest {\n      /** ID of the translation schema to retrieve. */\n      key: SchemaKey;\n  }\n  interface GetSchemaByKeyResponse {\n      /** The requested translation schema. */\n      schema?: Schema;\n  }\n  interface UpdateSchemaRequest {\n      /** Translation schema to update. */\n      schema: Schema;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateSchemaResponse {\n      /** Updated Schema. */\n      schema?: Schema;\n  }\n  interface DeleteSchemaRequest {\n      /** ID of the translation schema to delete. */\n      schemaId: string;\n  }\n  interface DeleteSchemaResponse {\n  }\n  interface QuerySchemasRequest {\n      /** Query options. */\n      query?: CursorQuery;\n      /**\n       * determine of query should respond with all schemas regardless of display filter\n       * @internal\n       */\n      ignoreDisplayFilter?: boolean | null;\n      /**\n       * should the read be consistent when reading from DB\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySchemasResponse {\n      /** List of translation schemas. */\n      schemas?: Schema[];\n      /** Paging metadata for the next page of results. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListSiteSchemasRequest {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      paging?: CursorPaging;\n      /** ID of app that created the schema. */\n      appId?: string | null;\n      /** A unique name defined by the app developer to differentiate translation schemas for various entities within their app. For example, if an app developer is creating a translation schema for blog posts, the `entityType` can be `'blog-posts'`. */\n      entityType?: string | null;\n      /**\n       * Scope of the translation schema.\n       * Supported values:\n       * + `GLOBAL`: A global schema for all sites.\n       * + `SITE`: A custom schema for a specific site.\n       */\n      scope?: SchemaScope;\n  }\n  interface ListSiteSchemasResponse {\n      /** List of translation schemas. */\n      schemas?: Schema[];\n      /** Paging metadata for the next page of results. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface Empty {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a translation schema.\n   * @param schema - Translation schema to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField schema\n   * @requiredField schema.fields\n   * @requiredField schema.key\n   * @requiredField schema.key.entityType\n   * @permissionId WIX_MULTILINGUAL.SCHEMA_CREATE_ORGANIZATION\n   * @adminMethod\n   * @returns Newly created translation schema.\n   */\n  function createSchema(schema: Schema, options?: CreateSchemaOptions): Promise<Schema>;\n  interface CreateSchemaOptions {\n      /**\n       * This field is in use if you want to override the app-id from the call scope server signature\n       * This field is private and allowed only if the request came from Multilingual server signature\n       * @internal\n       */\n      overrideAppId?: string | null;\n  }\n  /**\n   * Retrieves a translation schema by ID.\n   * @param schemaId - ID of the translation schema to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField schemaId\n   * @permissionId WIX_MULTILINGUAL.SCHEMA_READ_ORGANIZATION\n   * @adminMethod\n   * @returns The requested translation schema.\n   */\n  function getSchema(schemaId: string): Promise<Schema>;\n  /**\n   * Retrieves a translation schema by key.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.keyAppId\n   * @requiredField identifiers.keyEntityType\n   * @requiredField identifiers.keyScope\n   * @requiredField key\n   * @permissionId WIX_MULTILINGUAL.SCHEMA_READ_ORGANIZATION\n   * @adminMethod\n   */\n  function getSchemaByKey(identifiers: GetSchemaByKeyIdentifiers): Promise<GetSchemaByKeyResponse>;\n  interface GetSchemaByKeyIdentifiers {\n      /**\n       * ID of the app that created the schema.\n       * @readonly\n       */\n      keyAppId?: string;\n      /** A unique name defined by the app developer to differentiate translation schemas for various entities within their app. For example, if an app developer is creating a translation schema for blog posts, the `entityType` can be `'blog-posts'`. */\n      keyEntityType?: string;\n      /**\n       * Scope of the translation schema.\n       * Supported values:\n       * + `GLOBAL`: A global schema for all sites.\n       * + `SITE`: A custom schema for a specific site.\n       */\n      keyScope?: SchemaScope;\n  }\n  /**\n   * Updates a translation schema.\n   *\n   * To remove a field, pass the field key with an empty object as the value. For example:\n   *\n   * ```json\n   * {\n   * \"fields\": {\n   * \"title\": {}\n   * }\n   * }\n   * ```\n   *\n   * <blockquote class=\"caution\">\n   * <strong>Caution:</strong>\n   *\n   * Removing a schema field makes the corresponding content field unavailable.\n   * </blockquote>\n   * @param _id - Translation schema ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField schema\n   * @requiredField schema.revision\n   * @permissionId WIX_MULTILINGUAL.SCHEMA_UPDATE_ORGANIZATION\n   * @adminMethod\n   * @returns Updated Schema.\n   */\n  function updateSchema(_id: string | null, schema: UpdateSchema, options?: UpdateSchemaOptions): Promise<Schema>;\n  interface UpdateSchema {\n      /**\n       * Translation schema ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Translation schema unique key identifier. */\n      key?: SchemaKey;\n      /** List of fields for the translation schema. This property uses a string to map to a `SchemaField` (`Map<string, SchemaField>`). The string serves as a key, which you'll need to access each field in the schema and when adding translation content. */\n      fields?: Record<string, SchemaField>;\n      /** Fields displayed in content previews. For example, a product name for a product translation schema. */\n      previewFields?: PreviewFields;\n      /**\n       * Whether the translation schema is hidden from the site.\n       *\n       * Default: `false`\n       */\n      hidden?: boolean | null;\n      /** Translation schema name displayed in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager). */\n      displayName?: string | null;\n      /** A reference to the parent schema. For example, if the schema is for a menu item, this property would contain the schema ID of the menu it belongs to. */\n      parentId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the schema is updated. To prevent conflicting changes, the existing `revision` must be used when updating a schema.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the translation schema was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the translation schema was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Whether to duplicate the translated content when a site containing the translation schema and content is duplicated.\n       *\n       * Default: `false`\n       */\n      duplicateContent?: boolean | null;\n      /**\n       * Indicate if this schema should be grouped under a custom group in the Translation Manager\n       * For more info about this field check dev-center extension `Multilingual Schema Group`\n       * @internal\n       */\n      schemaGroupId?: string | null;\n  }\n  interface UpdateSchemaOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a translation schema.\n   * @param schemaId - ID of the translation schema to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField schemaId\n   * @permissionId WIX_MULTILINGUAL.SCHEMA_DELETE_ORGANIZATION\n   * @adminMethod\n   */\n  function deleteSchema(schemaId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of schemas.\n   *\n   * > **Note:**\n   * >\n   * > This method can retrieve all schemas with a `GLOBAL` scope and schemas with a `SITE` scope for the site the API request is authorized to access.\n   *\n   * The `querySchemas()` function builds a query to retrieve a list of translation schemas and returns a `SchemasQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [`find()`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-schema/schemas-query-builder/find) function.\n   *\n   * You can refine the query by chaining `SchemasQueryBuilder` functions onto the query. `SchemasQueryBuilder` functions enable you to filter, sort, and control the results that `querySchemas()` returns.\n   *\n   * `querySchemas()` runs with the following `SchemasQueryBuilder` defaults which you can override:\n   *\n   * + [`limit(100)`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-schema/schemas-query-builder/limit)\n   * + [`ascending('_id')`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-schema/schemas-query-builder/ascending)\n   *\n   * The following `SchemasQueryBuilder` functions are supported for `querySchemas()`. For a full description of the operations object, see the object returned for the [`items`](https://dev.wix.com/docs/sdk/backend-modules/multilingual/translation/translation-schema/schemas-query-result/items) property in `SchemasQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.SCHEMA_READ_ORGANIZATION\n   * @adminMethod\n   */\n  function querySchemas(options?: QuerySchemasOptions): SchemasQueryBuilder;\n  interface QuerySchemasOptions {\n      /**\n       * determine of query should respond with all schemas regardless of display filter\n       * @internal\n       */\n      ignoreDisplayFilter?: boolean | null | undefined;\n      /**\n       * should the read be consistent when reading from DB\n       * @internal\n       */\n      consistent?: boolean | null | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SchemasQueryResult extends QueryCursorResult {\n      items: Schema[];\n      query: SchemasQueryBuilder;\n      next: () => Promise<SchemasQueryResult>;\n      prev: () => Promise<SchemasQueryResult>;\n  }\n  interface SchemasQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'key.appId' | 'key.entityType' | 'key.scope' | 'hidden' | 'parentId', value: any) => SchemasQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'key.appId' | 'key.entityType' | 'key.scope' | 'hidden' | 'parentId', value: any) => SchemasQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'key.appId' | 'key.entityType' | 'parentId', value: string) => SchemasQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'key.appId' | 'key.entityType' | 'key.scope' | 'hidden' | 'parentId', value: any[]) => SchemasQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'key.appId' | 'key.entityType' | 'key.scope' | 'hidden' | 'parentId', value: any) => SchemasQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'key.appId' | 'key.entityType' | 'key.scope' | 'hidden' | 'parentId', value: boolean) => SchemasQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'key.appId' | 'key.entityType' | 'key.scope' | 'hidden' | 'parentId'>) => SchemasQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'key.appId' | 'key.entityType' | 'key.scope' | 'hidden' | 'parentId'>) => SchemasQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SchemasQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SchemasQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SchemasQueryResult>;\n  }\n  /**\n   * Retrieves a list of all translation schemas associated with a site, regardless of which app created them.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_MULTILINGUAL.SCHEMA_READ\n   * @adminMethod\n   */\n  function listSiteSchemas(options?: ListSiteSchemasOptions): Promise<ListSiteSchemasResponse>;\n  interface ListSiteSchemasOptions {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      paging?: CursorPaging;\n      /** ID of app that created the schema. */\n      appId?: string | null;\n      /** A unique name defined by the app developer to differentiate translation schemas for various entities within their app. For example, if an app developer is creating a translation schema for blog posts, the `entityType` can be `'blog-posts'`. */\n      entityType?: string | null;\n      /**\n       * Scope of the translation schema.\n       * Supported values:\n       * + `GLOBAL`: A global schema for all sites.\n       * + `SITE`: A custom schema for a specific site.\n       */\n      scope?: SchemaScope;\n  }\n  \n  type multilingualTranslationV1Schema_universal_d_Schema = Schema;\n  type multilingualTranslationV1Schema_universal_d_SchemaKey = SchemaKey;\n  type multilingualTranslationV1Schema_universal_d_SchemaScope = SchemaScope;\n  const multilingualTranslationV1Schema_universal_d_SchemaScope: typeof SchemaScope;\n  type multilingualTranslationV1Schema_universal_d_SchemaField = SchemaField;\n  type multilingualTranslationV1Schema_universal_d_FieldType = FieldType;\n  const multilingualTranslationV1Schema_universal_d_FieldType: typeof FieldType;\n  type multilingualTranslationV1Schema_universal_d_PreviewFields = PreviewFields;\n  type multilingualTranslationV1Schema_universal_d_CreateSchemaRequest = CreateSchemaRequest;\n  type multilingualTranslationV1Schema_universal_d_CreateSchemaResponse = CreateSchemaResponse;\n  type multilingualTranslationV1Schema_universal_d_GetSchemaRequest = GetSchemaRequest;\n  type multilingualTranslationV1Schema_universal_d_GetSchemaResponse = GetSchemaResponse;\n  type multilingualTranslationV1Schema_universal_d_GetSchemaByKeyRequest = GetSchemaByKeyRequest;\n  type multilingualTranslationV1Schema_universal_d_GetSchemaByKeyResponse = GetSchemaByKeyResponse;\n  type multilingualTranslationV1Schema_universal_d_UpdateSchemaRequest = UpdateSchemaRequest;\n  type multilingualTranslationV1Schema_universal_d_UpdateSchemaResponse = UpdateSchemaResponse;\n  type multilingualTranslationV1Schema_universal_d_DeleteSchemaRequest = DeleteSchemaRequest;\n  type multilingualTranslationV1Schema_universal_d_DeleteSchemaResponse = DeleteSchemaResponse;\n  type multilingualTranslationV1Schema_universal_d_QuerySchemasRequest = QuerySchemasRequest;\n  type multilingualTranslationV1Schema_universal_d_CursorQuery = CursorQuery;\n  type multilingualTranslationV1Schema_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type multilingualTranslationV1Schema_universal_d_Sorting = Sorting;\n  type multilingualTranslationV1Schema_universal_d_SortOrder = SortOrder;\n  const multilingualTranslationV1Schema_universal_d_SortOrder: typeof SortOrder;\n  type multilingualTranslationV1Schema_universal_d_CursorPaging = CursorPaging;\n  type multilingualTranslationV1Schema_universal_d_QuerySchemasResponse = QuerySchemasResponse;\n  type multilingualTranslationV1Schema_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type multilingualTranslationV1Schema_universal_d_Cursors = Cursors;\n  type multilingualTranslationV1Schema_universal_d_ListSiteSchemasRequest = ListSiteSchemasRequest;\n  type multilingualTranslationV1Schema_universal_d_ListSiteSchemasResponse = ListSiteSchemasResponse;\n  type multilingualTranslationV1Schema_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type multilingualTranslationV1Schema_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type multilingualTranslationV1Schema_universal_d_Asset = Asset;\n  type multilingualTranslationV1Schema_universal_d_State = State;\n  const multilingualTranslationV1Schema_universal_d_State: typeof State;\n  type multilingualTranslationV1Schema_universal_d_SiteCreated = SiteCreated;\n  type multilingualTranslationV1Schema_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const multilingualTranslationV1Schema_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type multilingualTranslationV1Schema_universal_d_Namespace = Namespace;\n  const multilingualTranslationV1Schema_universal_d_Namespace: typeof Namespace;\n  type multilingualTranslationV1Schema_universal_d_SiteTransferred = SiteTransferred;\n  type multilingualTranslationV1Schema_universal_d_SiteDeleted = SiteDeleted;\n  type multilingualTranslationV1Schema_universal_d_DeleteContext = DeleteContext;\n  type multilingualTranslationV1Schema_universal_d_DeleteStatus = DeleteStatus;\n  const multilingualTranslationV1Schema_universal_d_DeleteStatus: typeof DeleteStatus;\n  type multilingualTranslationV1Schema_universal_d_SiteUndeleted = SiteUndeleted;\n  type multilingualTranslationV1Schema_universal_d_SitePublished = SitePublished;\n  type multilingualTranslationV1Schema_universal_d_SiteUnpublished = SiteUnpublished;\n  type multilingualTranslationV1Schema_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type multilingualTranslationV1Schema_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type multilingualTranslationV1Schema_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type multilingualTranslationV1Schema_universal_d_ServiceRemoved = ServiceRemoved;\n  type multilingualTranslationV1Schema_universal_d_SiteRenamed = SiteRenamed;\n  type multilingualTranslationV1Schema_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type multilingualTranslationV1Schema_universal_d_NamespaceChanged = NamespaceChanged;\n  type multilingualTranslationV1Schema_universal_d_StudioAssigned = StudioAssigned;\n  type multilingualTranslationV1Schema_universal_d_StudioUnassigned = StudioUnassigned;\n  type multilingualTranslationV1Schema_universal_d_Empty = Empty;\n  type multilingualTranslationV1Schema_universal_d_DomainEvent = DomainEvent;\n  type multilingualTranslationV1Schema_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type multilingualTranslationV1Schema_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type multilingualTranslationV1Schema_universal_d_RestoreInfo = RestoreInfo;\n  type multilingualTranslationV1Schema_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type multilingualTranslationV1Schema_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type multilingualTranslationV1Schema_universal_d_ActionEvent = ActionEvent;\n  type multilingualTranslationV1Schema_universal_d_MessageEnvelope = MessageEnvelope;\n  type multilingualTranslationV1Schema_universal_d_IdentificationData = IdentificationData;\n  type multilingualTranslationV1Schema_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type multilingualTranslationV1Schema_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const multilingualTranslationV1Schema_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const multilingualTranslationV1Schema_universal_d_createSchema: typeof createSchema;\n  type multilingualTranslationV1Schema_universal_d_CreateSchemaOptions = CreateSchemaOptions;\n  const multilingualTranslationV1Schema_universal_d_getSchema: typeof getSchema;\n  const multilingualTranslationV1Schema_universal_d_getSchemaByKey: typeof getSchemaByKey;\n  type multilingualTranslationV1Schema_universal_d_GetSchemaByKeyIdentifiers = GetSchemaByKeyIdentifiers;\n  const multilingualTranslationV1Schema_universal_d_updateSchema: typeof updateSchema;\n  type multilingualTranslationV1Schema_universal_d_UpdateSchema = UpdateSchema;\n  type multilingualTranslationV1Schema_universal_d_UpdateSchemaOptions = UpdateSchemaOptions;\n  const multilingualTranslationV1Schema_universal_d_deleteSchema: typeof deleteSchema;\n  const multilingualTranslationV1Schema_universal_d_querySchemas: typeof querySchemas;\n  type multilingualTranslationV1Schema_universal_d_QuerySchemasOptions = QuerySchemasOptions;\n  type multilingualTranslationV1Schema_universal_d_SchemasQueryResult = SchemasQueryResult;\n  type multilingualTranslationV1Schema_universal_d_SchemasQueryBuilder = SchemasQueryBuilder;\n  const multilingualTranslationV1Schema_universal_d_listSiteSchemas: typeof listSiteSchemas;\n  type multilingualTranslationV1Schema_universal_d_ListSiteSchemasOptions = ListSiteSchemasOptions;\n  namespace multilingualTranslationV1Schema_universal_d {\n    export {\n      multilingualTranslationV1Schema_universal_d_Schema as Schema,\n      multilingualTranslationV1Schema_universal_d_SchemaKey as SchemaKey,\n      multilingualTranslationV1Schema_universal_d_SchemaScope as SchemaScope,\n      multilingualTranslationV1Schema_universal_d_SchemaField as SchemaField,\n      multilingualTranslationV1Schema_universal_d_FieldType as FieldType,\n      multilingualTranslationV1Schema_universal_d_PreviewFields as PreviewFields,\n      multilingualTranslationV1Schema_universal_d_CreateSchemaRequest as CreateSchemaRequest,\n      multilingualTranslationV1Schema_universal_d_CreateSchemaResponse as CreateSchemaResponse,\n      multilingualTranslationV1Schema_universal_d_GetSchemaRequest as GetSchemaRequest,\n      multilingualTranslationV1Schema_universal_d_GetSchemaResponse as GetSchemaResponse,\n      multilingualTranslationV1Schema_universal_d_GetSchemaByKeyRequest as GetSchemaByKeyRequest,\n      multilingualTranslationV1Schema_universal_d_GetSchemaByKeyResponse as GetSchemaByKeyResponse,\n      multilingualTranslationV1Schema_universal_d_UpdateSchemaRequest as UpdateSchemaRequest,\n      multilingualTranslationV1Schema_universal_d_UpdateSchemaResponse as UpdateSchemaResponse,\n      multilingualTranslationV1Schema_universal_d_DeleteSchemaRequest as DeleteSchemaRequest,\n      multilingualTranslationV1Schema_universal_d_DeleteSchemaResponse as DeleteSchemaResponse,\n      multilingualTranslationV1Schema_universal_d_QuerySchemasRequest as QuerySchemasRequest,\n      multilingualTranslationV1Schema_universal_d_CursorQuery as CursorQuery,\n      multilingualTranslationV1Schema_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      multilingualTranslationV1Schema_universal_d_Sorting as Sorting,\n      multilingualTranslationV1Schema_universal_d_SortOrder as SortOrder,\n      multilingualTranslationV1Schema_universal_d_CursorPaging as CursorPaging,\n      multilingualTranslationV1Schema_universal_d_QuerySchemasResponse as QuerySchemasResponse,\n      multilingualTranslationV1Schema_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      multilingualTranslationV1Schema_universal_d_Cursors as Cursors,\n      multilingualTranslationV1Schema_universal_d_ListSiteSchemasRequest as ListSiteSchemasRequest,\n      multilingualTranslationV1Schema_universal_d_ListSiteSchemasResponse as ListSiteSchemasResponse,\n      multilingualTranslationV1Schema_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      multilingualTranslationV1Schema_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      multilingualTranslationV1Schema_universal_d_Asset as Asset,\n      multilingualTranslationV1Schema_universal_d_State as State,\n      multilingualTranslationV1Schema_universal_d_SiteCreated as SiteCreated,\n      multilingualTranslationV1Schema_universal_d_SiteCreatedContext as SiteCreatedContext,\n      multilingualTranslationV1Schema_universal_d_Namespace as Namespace,\n      multilingualTranslationV1Schema_universal_d_SiteTransferred as SiteTransferred,\n      multilingualTranslationV1Schema_universal_d_SiteDeleted as SiteDeleted,\n      multilingualTranslationV1Schema_universal_d_DeleteContext as DeleteContext,\n      multilingualTranslationV1Schema_universal_d_DeleteStatus as DeleteStatus,\n      multilingualTranslationV1Schema_universal_d_SiteUndeleted as SiteUndeleted,\n      multilingualTranslationV1Schema_universal_d_SitePublished as SitePublished,\n      multilingualTranslationV1Schema_universal_d_SiteUnpublished as SiteUnpublished,\n      multilingualTranslationV1Schema_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      multilingualTranslationV1Schema_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      multilingualTranslationV1Schema_universal_d_ServiceProvisioned as ServiceProvisioned,\n      multilingualTranslationV1Schema_universal_d_ServiceRemoved as ServiceRemoved,\n      multilingualTranslationV1Schema_universal_d_SiteRenamed as SiteRenamed,\n      multilingualTranslationV1Schema_universal_d_SiteHardDeleted as SiteHardDeleted,\n      multilingualTranslationV1Schema_universal_d_NamespaceChanged as NamespaceChanged,\n      multilingualTranslationV1Schema_universal_d_StudioAssigned as StudioAssigned,\n      multilingualTranslationV1Schema_universal_d_StudioUnassigned as StudioUnassigned,\n      multilingualTranslationV1Schema_universal_d_Empty as Empty,\n      multilingualTranslationV1Schema_universal_d_DomainEvent as DomainEvent,\n      multilingualTranslationV1Schema_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      multilingualTranslationV1Schema_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      multilingualTranslationV1Schema_universal_d_RestoreInfo as RestoreInfo,\n      multilingualTranslationV1Schema_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      multilingualTranslationV1Schema_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      multilingualTranslationV1Schema_universal_d_ActionEvent as ActionEvent,\n      multilingualTranslationV1Schema_universal_d_MessageEnvelope as MessageEnvelope,\n      multilingualTranslationV1Schema_universal_d_IdentificationData as IdentificationData,\n      multilingualTranslationV1Schema_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      multilingualTranslationV1Schema_universal_d_WebhookIdentityType as WebhookIdentityType,\n      multilingualTranslationV1Schema_universal_d_createSchema as createSchema,\n      multilingualTranslationV1Schema_universal_d_CreateSchemaOptions as CreateSchemaOptions,\n      multilingualTranslationV1Schema_universal_d_getSchema as getSchema,\n      multilingualTranslationV1Schema_universal_d_getSchemaByKey as getSchemaByKey,\n      multilingualTranslationV1Schema_universal_d_GetSchemaByKeyIdentifiers as GetSchemaByKeyIdentifiers,\n      multilingualTranslationV1Schema_universal_d_updateSchema as updateSchema,\n      multilingualTranslationV1Schema_universal_d_UpdateSchema as UpdateSchema,\n      multilingualTranslationV1Schema_universal_d_UpdateSchemaOptions as UpdateSchemaOptions,\n      multilingualTranslationV1Schema_universal_d_deleteSchema as deleteSchema,\n      multilingualTranslationV1Schema_universal_d_querySchemas as querySchemas,\n      multilingualTranslationV1Schema_universal_d_QuerySchemasOptions as QuerySchemasOptions,\n      multilingualTranslationV1Schema_universal_d_SchemasQueryResult as SchemasQueryResult,\n      multilingualTranslationV1Schema_universal_d_SchemasQueryBuilder as SchemasQueryBuilder,\n      multilingualTranslationV1Schema_universal_d_listSiteSchemas as listSiteSchemas,\n      multilingualTranslationV1Schema_universal_d_ListSiteSchemasOptions as ListSiteSchemasOptions,\n    };\n  }\n  \n  export { multilingualGenericconverterV1EntityMapper_universal_d as entityMapper, multilingualMachineV3TranslatableContent_universal_d as machineTranslation, multilingualSitetranslatorV2SiteTranslatableProperties_universal_d as siteTranslator, multilingualTranslationV1Content_universal_d as translationContents, multilingualMachineV1Credit_universal_d as translationCredits, multilingualLocalizationPublicV3PublishedContent_universal_d as translationPublishedContents, multilingualTranslationV1Schema_universal_d as translationSchemas };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-multi-service-booking-policy-provider.d.ts",
      "content": "declare module \"interfaces-bookings-availability-v2-multi-service-booking-policy-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetMultiServiceBookingPolicyRequest {\n      /** IDs of the services for which the multi service booking policy is to be retrieved. */\n      serviceIds: string[];\n  }\n  interface GetMultiServiceBookingPolicyResponse {\n      /** The retrieved multi service booking policy. */\n      multiServiceBookingPolicy?: MultiServiceBookingPolicy;\n  }\n  interface MultiServiceBookingPolicy {\n      /** Policy for limiting early bookings. */\n      limitEarlyBooking?: LimitEarlyBooking;\n      /** Policy for limiting late bookings. */\n      limitLateBooking?: LimitLateBooking;\n      /** Policy for allowing online bookings. */\n      onlineBooking?: OnlineBooking;\n  }\n  interface LimitEarlyBooking {\n      /**\n       * Whether there is a limit on how early a customer can book.\n       * When `false`, there is no limit on the earliest booking time and customers can book in advance, as early as they like.\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Maximum number of minutes before the start of the slot that a booking can be made.\n       * This value must be greater than `latestBookingInMinutes` in the `LimitLateBooking` policy.\n       * Default: `10080 minutes` (7 days)\n       * Min: `1 minute`\n       */\n      earliestBookingInMinutes?: number | null;\n  }\n  interface LimitLateBooking {\n      /**\n       * Whether there is a limit on how late a customer can book.\n       * When `false`, there is no limit on the latest booking time and customers can book up to the last minute.\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Minimum number of minutes before the start of the slot that a booking can be made.\n       * This value must be less than `earliestBookingInMinutes` in the `LimitEarlyBooking` policy.\n       * Default: `1440 minutes` (1 day)\n       * Min: `1 minute`\n       */\n      latestBookingInMinutes?: number | null;\n  }\n  interface OnlineBooking {\n      /**\n       * Whether this service can be booked online.\n       * When set to `true`, customers can book the service online.\n       * When set to `false`, customers cannot book the service online.\n       * Default: `true`\n       */\n      enabled?: boolean | null;\n  }\n  interface MultiServiceBookingPolicyProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetMultiServiceBookingPolicyOptions {\n      /** IDs of the services for which the multi service booking policy is to be retrieved. */\n      serviceIds: string[];\n  }\n  \n  export { AlternativeUri, BusinessError, Context, GetMultiServiceBookingPolicyOptions, GetMultiServiceBookingPolicyRequest, GetMultiServiceBookingPolicyResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, LimitEarlyBooking, LimitLateBooking, MultiServiceBookingPolicy, MultiServiceBookingPolicyProviderConfig, OnlineBooking, SpiBaseUri };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-booking-policy-provider.d.ts",
      "content": "declare module \"interfaces-bookings-availability-v2-booking-policy-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetBookingPoliciesRequest {\n      /** IDs of the services for which booking policies are to be retrieved. */\n      serviceIds: string[];\n  }\n  interface GetBookingPoliciesResponse {\n      /** The retrieved booking policies. */\n      bookingPolicies?: BookingPolicy[];\n  }\n  interface BookingPolicy {\n      /** Service ID. */\n      serviceId?: string;\n      /** Policy for limiting early bookings. */\n      limitEarlyBooking?: LimitEarlyBooking;\n      /** Policy for limiting late bookings. */\n      limitLateBooking?: LimitLateBooking;\n      /** Policy for allowing online bookings. */\n      onlineBooking?: OnlineBooking;\n      /**\n       * Policy for waiting list.\n       * Internal - Not supported yet.\n       * @internal\n       */\n      waitingList?: WaitingList;\n  }\n  interface LimitEarlyBooking {\n      /**\n       * Whether there is a limit on how early a customer can book.\n       * When `false`, there is no limit on the earliest booking time and customers can book in advance, as early as they like.\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Maximum number of minutes before the start of the slot that a booking can be made.\n       * This value must be greater than `latestBookingInMinutes` in the `LimitLateBooking` policy.\n       * Default: `10080 minutes` (7 days)\n       * Min: `1 minute`\n       */\n      earliestBookingInMinutes?: number | null;\n  }\n  interface LimitLateBooking {\n      /**\n       * Whether there is a limit on how late a customer can book.\n       * When `false`, there is no limit on the latest booking time and customers can book up to the last minute.\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Minimum number of minutes before the start of the slot that a booking can be made.\n       * This value must be less than `earliestBookingInMinutes` in the `LimitEarlyBooking` policy.\n       * Default: `1440 minutes` (1 day)\n       * Min: `1 minute`\n       */\n      latestBookingInMinutes?: number | null;\n  }\n  interface OnlineBooking {\n      /**\n       * Whether this service can be booked online.\n       * When set to `true`, customers can book the service online.\n       * When set to `false`, customers cannot book the service online.\n       * Default: `true`\n       */\n      enabled?: boolean | null;\n  }\n  /** TODO: implement default for total_capacity and hold_time_in_minutes */\n  interface WaitingList {\n      /**\n       * Whether the event has a waitlist. If `true`, there is a waitlist.\n       * Default: `false`\n       */\n      enabled?: boolean;\n      /**\n       * Number of spots available in the waitlist.\n       * Default: `10 spots`\n       * Min: `1 spot`\n       */\n      totalCapacity?: number | null;\n      /**\n       * Amount of time a participant is given to book, once notified that a spot is available.\n       * Default: `10 minutes`\n       * Min: `1 spot`\n       */\n      holdTimeInMinutes?: number | null;\n  }\n  interface ListBookingPoliciesRequest {\n      /** IDs of the services for which booking policies are to be retrieved. */\n      serviceIds: string[];\n  }\n  interface ListBookingPoliciesResponse {\n      /** The retrieved booking policies. */\n      bookingPolicies?: BookingPolicy[];\n  }\n  interface BookingPolicyProviderConfig {\n      /** URI where the SPI Implementer is deployed. */\n      deploymentUri?: SpiBaseUri;\n      /** User-friendly name of the provider. */\n      providerName?: string | null;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetBookingPoliciesOptions {\n      /** IDs of the services for which booking policies are to be retrieved. */\n      serviceIds: string[];\n  }\n  interface ListBookingPoliciesOptions {\n      /** IDs of the services for which booking policies are to be retrieved. */\n      serviceIds: string[];\n  }\n  \n  export { AlternativeUri, BookingPolicy, BookingPolicyProviderConfig, BusinessError, Context, GetBookingPoliciesOptions, GetBookingPoliciesRequest, GetBookingPoliciesResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, LimitEarlyBooking, LimitLateBooking, ListBookingPoliciesOptions, ListBookingPoliciesRequest, ListBookingPoliciesResponse, OnlineBooking, SpiBaseUri, WaitingList };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-calendar.v3.d.ts",
      "content": "declare module \"wix-calendar.v3\" {\n  /**\n   * An event is a scheduled entry on a calendar that includes details like timing,\n   * location, and participants. Each event is associated with\n   * a [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction),\n   * from which it may [inherit default values](https://dev.wix.com/docs/rest/business-management/calendar/default-values).\n   * Events can either be standalone, part of a recurring series, or define a\n   * recurrence pattern. You can also specify whether events block time on the\n   * schedule or allow other events to be scheduled concurrently.\n   */\n  interface Event$1 {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ID of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction)\n       * the event belongs to.\n       * After creating an event, you can't assign it to a different schedule.\n       */\n      scheduleId?: string | null;\n      /**\n       * ID of the external schedule the event belongs to.\n       *\n       * For example, if the event belongs to a Bookings staff member, identical to the ID of the [resource](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/introduction). If the schedule belongs to a Bookings service, identical to the ID of the [service](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/setup).\n       * @readonly\n       */\n      externalScheduleId?: string | null;\n      /**\n       * Schedule name.\n       * @readonly\n       */\n      scheduleName?: string | null;\n      /**\n       * Event type. You can set the event type but you can't update it.\n       *\n       * Supported values:\n       * + `DEFAULT`: A standard event that's not further specified.\n       * + `WORKING_HOURS`: The event adds working hours to a schedule. By default not returned in [queryEvents()](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/query-events).\n       *\n       * Additional supported values, if Wix Bookings is installed:\n       * + `APPOINTMENT`: Bookings appointment event.\n       * + `CLASS`: Bookings class event.\n       * + `COURSE`: Bookings course event.\n       */\n      type?: string | null;\n      /**\n       * Event status.\n       *\n       * Supported values:\n       * + `CONFIRMED`: Event is scheduled to happen or has happened.\n       * + `CANCELLED`: Event has been canceled.\n       *\n       * Default: `CONFIRMED`\n       * @readonly\n       */\n      status?: Status$4;\n      /**\n       * Event title.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      title?: string | null;\n      /** Information about when the event starts. */\n      start?: ZonedDate$2;\n      /**\n       * Information about when the event ends.\n       *\n       * Maximum allowed date: Year 2100, or up to 100 years from the event's start date (whichever comes first).\n       */\n      end?: ZonedDate$2;\n      /**\n       * Information about when the event starts adjusted to the `timeZone` of the\n       * business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties)\n       * or a different `timeZone` you provide in the call's request.\n       * @readonly\n       */\n      adjustedStart?: ZonedDate$2;\n      /**\n       * Information about when the event ends adjusted to the `timeZone` of the\n       * business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties)\n       * or a different `timeZone` you provide in the call's request.\n       * @readonly\n       */\n      adjustedEnd?: ZonedDate$2;\n      /**\n       * Time zone the event is associated with in\n       * [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n       * Only regional time zones and UTC are supported.\n       * For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction).\n       */\n      timeZone?: string | null;\n      /**\n       * Information about whether the event is a single occurrence or part of a\n       * recurring series.\n       *\n       * Supported values:\n       * + `NONE`: The event occurs only once and doesn't repeat.\n       * + `MASTER`: Defines the recurrence pattern for a series of recurring events.\n       * + `INSTANCE`: A specific occurrence of a recurring event. You can't create an event with `{\"recurrenceType\": \"INSTANCE\"}`, instead it's automatically generated based on the recurrence rule. If you update an `INSTANCE` event, `recurrenceType` automatically changes to `EXCEPTION`.\n       * + `EXCEPTION`: A modified instance of a recurring event that differs from the recurrence pattern. For example, an event with a different time or location. You can't create an `EXCEPTION` event directly, instead it's set automatically when you update an `INSTANCE` event.\n       *\n       * Default: `NONE`\n       * @readonly\n       */\n      recurrenceType?: RecurrenceType$1;\n      /**\n       * Recurrence pattern for a series of events. This field is required when\n       * creating a `MASTER` event and isn't available for non-recurring events.\n       * You can't update the recurrence rule for `INSTANCE` or `EXCEPTION` events.\n       *\n       * For example, an event that repeats every second Monday until January 7, 2026,\n       * at 8:00 AM has the following `recurrenceRule`:\n       * - `frequency = WEEKLY`\n       * - `interval = 2`\n       * - `days = [MONDAY]`\n       * - `until = 20260107T08:00:00Z`\n       */\n      recurrenceRule?: RecurrenceRule$1;\n      /**\n       * ID of the `MASTER` event the event belongs to. Available only for `INSTANCE`\n       * and `EXCEPTION` events.\n       * @readonly\n       */\n      recurringEventId?: string | null;\n      /**\n       * Specifies whether the event blocks time in the schedule it belongs to.\n       *\n       * Supported values:\n       * + `OPAQUE`:  The schedule is blocked during the event, preventing other events that involve the same entities (for example, Booking staff members) from being scheduled at the same time.\n       * + `TRANSPARENT`: The schedule remains open during the event, allowing other events to be scheduled concurrently.\n       *\n       * Default: `OPAQUE`\n       */\n      transparency?: Transparency$1;\n      /**\n       * Event location.\n       *\n       * Default: `defaultLocation` of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) the event belongs to\n       */\n      location?: Location$2;\n      /**\n       * List of [Wix Bookings resources](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/introduction)\n       * affected by the event. This could include, for example, the\n       * [Wix Bookings staff member](https://dev.wix.com/docs/sdk/backend-modules/bookings/staff-members/introduction)\n       * providing the service or the room where the appointment takes place.\n       *\n       * Max: 100 resources\n       */\n      resources?: Resource$1[];\n      /**\n       * Maximum number of participants who can participate in the event.\n       *\n       * Default: `defaultCapacity` of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) the event belongs to.\n       */\n      totalCapacity?: number | null;\n      /**\n       * Number of participants who can still be added to the event.\n       * @readonly\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Information about the event's participants.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#retrieve-personal-information).\n       * @readonly\n       */\n      participants?: Participants$1;\n      /**\n       * Information about the event's online conferencing.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#retrieve-personal-information).\n       *\n       * Default: `defaultConferencingDetails` of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) the event belongs to.\n       */\n      conferencingDetails?: ConferencingDetails$2;\n      /**\n       * Additional notes about the event.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#retrieve-personal-information).\n       *\n       * Min: 1 character\n       * Max: 5000 characters\n       */\n      notes?: string | null;\n      /**\n       * List of fields whose values are inherited.\n       * + For single-occurrence events, values are inherited from the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction).\n       * + For `INSTANCE` and `EXCEPTION` events, values are inherited from the related `MASTER` event.\n       * @readonly\n       */\n      inheritedFields?: Field$1[];\n      /**\n       * ID of the app that owns the event. Identical to `appId` of the\n       * [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction)\n       * to which the event belongs.\n       * @readonly\n       */\n      appId?: string | null;\n      /**\n       * List of permissions associated with the event. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#roles)\n       * for more information.\n       * @readonly\n       */\n      permissions?: Permission$2[];\n      /** Extensions enabling applications or users to save custom data related to the event. */\n      extendedFields?: ExtendedFields$3;\n      /**\n       * Revision number, which increments each time the event is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the event.\n       * Ignored when creating an event.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date the event was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the event was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  enum Status$4 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Event is scheduled to happen or has happened. */\n      CONFIRMED = \"CONFIRMED\",\n      /** DEPRECATED! AND WILL BE REMOVED SOON */\n      PENDING_CONFIRMATION = \"PENDING_CONFIRMATION\",\n      /** Event has been canceled. */\n      CANCELLED = \"CANCELLED\"\n  }\n  /** A date time with a time zone, having the UTC offset and date determined by the server. */\n  interface ZonedDate$2 {\n      /**\n       * Local date time in [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n       * For example, `2024-01-30T13:30:00`.\n       * Wix Calendar APIs ignore seconds.\n       */\n      localDate?: string | null;\n      /**\n       * Time zone in\n       * [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n       * For example, `America/New_York`.\n       * @readonly\n       */\n      timeZone?: string | null;\n      /**\n       * UTC date time in [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n       * For example, `2024-01-30T13:30:00`.\n       * Not available for adjusted date fields.\n       * @readonly\n       */\n      utcDate?: Date | null;\n  }\n  enum RecurrenceType$1 {\n      UNKNOWN_RECURRENCE_TYPE = \"UNKNOWN_RECURRENCE_TYPE\",\n      /** The event occurs only once and doesn't repeat. */\n      NONE = \"NONE\",\n      /** Defines the recurrence pattern for a series of recurring events. */\n      MASTER = \"MASTER\",\n      /** A specific occurrence of a recurring event. You can't create an event with `{\"recurrenceType\": \"INSTANCE\"}`, instead it's automatically generated based on the recurrence rule. If you update an `INSTANCE` event, `recurrenceType` automatically changes to `EXCEPTION`. */\n      INSTANCE = \"INSTANCE\",\n      /** A modified instance of a recurring event that differs from the recurrence pattern. For example, an event with a different time or location. You can't create an `EXCEPTION` event directly, instead it's set automatically when you update an `INSTANCE` event. */\n      EXCEPTION = \"EXCEPTION\"\n  }\n  interface RecurrenceRule$1 {\n      /**\n       * Frequency how often the event repeats. Works together with `interval`.\n       *\n       * Supported values:\n       * + `WEEKLY`: The event's recurrence pattern is based on weeks.\n       */\n      frequency?: Frequency$1;\n      /**\n       * Interval how often the event repeats. Works together with `frequency`.\n       * For example, `frequency` set to `WEEKLY`  and `interval` set to `2` means\n       * the event repeats every 2 weeks.\n       *\n       * Min: `1`\n       * Max: `4`\n       * Default: `1`\n       */\n      interval?: number | null;\n      /**\n       * Days of the week when the recurring event takes place.\n       * Currently, only a single day is supported.\n       *\n       * Min: 1 day\n       * Max: 1 day\n       */\n      days?: Day$1[];\n      /**\n       * Date until when the event repeats.\n       * If not specified, the event repeats forever.\n       */\n      until?: ZonedDate$2;\n      /**\n       * Date until when the event repeats\n       * adjusted to the `timeZone` of the business\n       * [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties)\n       * or a different `timeZone` you provide in the call's request.\n       * @readonly\n       */\n      adjustedUntil?: ZonedDate$2;\n  }\n  enum Frequency$1 {\n      UNKNOWN_FREQUENCY = \"UNKNOWN_FREQUENCY\",\n      /** The event's recurrence pattern is based on weeks. */\n      WEEKLY = \"WEEKLY\"\n  }\n  enum Day$1 {\n      /** The recurring event takes place on Mondays. */\n      MONDAY = \"MONDAY\",\n      /** The recurring event takes place on Tuesdays. */\n      TUESDAY = \"TUESDAY\",\n      /** The recurring event takes place on Wednesday. */\n      WEDNESDAY = \"WEDNESDAY\",\n      /** The recurring event takes place on Thursdays. */\n      THURSDAY = \"THURSDAY\",\n      /** The recurring event takes place on Fridays. */\n      FRIDAY = \"FRIDAY\",\n      /** The recurring event takes place on Saturdays. */\n      SATURDAY = \"SATURDAY\",\n      /** The recurring event takes place on Sundays. */\n      SUNDAY = \"SUNDAY\"\n  }\n  enum Transparency$1 {\n      UNKNOWN_TRANSPARENCY = \"UNKNOWN_TRANSPARENCY\",\n      /** The schedule is blocked during the event, preventing other events that involve the same entities (for example, Booking staff members) from being scheduled at the same time. */\n      OPAQUE = \"OPAQUE\",\n      /** The schedule remains open during the event, allowing other events to be scheduled concurrently. */\n      TRANSPARENT = \"TRANSPARENT\"\n  }\n  interface Location$2 {\n      /**\n       * [Location](https://dev.wix.com/docs/rest/business-management/locations/location-object)\n       * ID. Available only for `BUSINESS` locations.\n       */\n      _id?: string | null;\n      /**\n       * Location type.\n       *\n       * Supported values:\n       * + `BUSINESS`: The event is held at a business location.\n       * + `CUSTOMER`: The event is held at the customer's location, such as their home or office.\n       * + `CUSTOM`: The event is held at an address or venue not tied to the business or customer.\n       */\n      type?: LocationType$2;\n      /**\n       * Location name. For `BUSINESS` locations, it's identical to the\n       * [location](https://dev.wix.com/docs/rest/business-management/locations/location-object)\n       * `name`.\n       *\n       * Min: 1 character\n       * Max: 150 characters\n       */\n      name?: string | null;\n      /**\n       * Location address. For `BUSINESS` locations, it's identical to the\n       * [location](https://dev.wix.com/docs/rest/business-management/locations/location-object)'s\n       * `formattedAddress`.\n       */\n      address?: string | null;\n  }\n  enum LocationType$2 {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** The event is held at a business location. */\n      BUSINESS = \"BUSINESS\",\n      /** The event is held at the customer's location, such as their home or office. */\n      CUSTOMER = \"CUSTOMER\",\n      /** The event is held at an address or venue not tied to the business or customer. */\n      CUSTOM = \"CUSTOM\"\n  }\n  interface Resource$1 {\n      /** Resource ID. */\n      _id?: string | null;\n      /**\n       * Resource name.\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Resource type.\n       * @readonly\n       */\n      type?: string | null;\n      /**\n       * ID of the resource's [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction).\n       * @internal\n       * @readonly\n       */\n      scheduleId?: string | null;\n      /**\n       * Specifies whether the event blocks time in the resource's schedule.\n       *\n       * Supported values:\n       * + `OPAQUE`: The schedule is blocked during the event, preventing other events that involve the same resource from being scheduled at the same time.\n       * + `TRANSPARENT`: The schedule remains open during the event, allowing other events to be scheduled concurrently.\n       *\n       * Default: `OPAQUE`.\n       */\n      transparency?: Transparency$1;\n      /**\n       * Permission role associated with the resource. Refer to the\n       * [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions#roles)\n       * for more information.\n       */\n      permissionRole?: Role$2;\n  }\n  enum Role$2 {\n      UNKNOWN_ROLE = \"UNKNOWN_ROLE\",\n      /** Full read and write access. */\n      WRITER = \"WRITER\",\n      /** Full read access, write access limited to `event.notes`. */\n      COMMENTER = \"COMMENTER\"\n  }\n  interface Participants$1 {\n      /**\n       * Total number of participants.\n       *\n       * Min: `0`\n       */\n      total?: number | null;\n      /**\n       * Full or partial list of the participants.\n       *\n       * Max: 50 participants\n       */\n      list?: Participant$2[];\n      /**\n       * Whether there are more participants for the event than listed.\n       *\n       * + `false`: The list includes all participants.\n       * + `true`: The list doesn't include all participants.\n       */\n      hasMore?: boolean | null;\n      /**\n       * Participant's status.\n       *\n       * Supported values:\n       * + `CONFIRMED`: All participants are confirmed.\n       * + `PENDING_CONFIRMATION`: At least one participant isn't confirmed yet.\n       */\n      status?: ParticipantsStatus$1;\n  }\n  interface Participant$2 {\n      /**\n       * Participant name.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      name?: string | null;\n      /** Participant's phone number. */\n      phone?: string | null;\n      /** Participant's email address. */\n      email?: string | null;\n      /**\n       * [Contact](https://dev.wix.com/docs/sdk/backend-modules/crm/contacts/introduction)\n       * ID of the participant.\n       */\n      contactId?: string | null;\n  }\n  enum ParticipantsStatus$1 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** All participants are confirmed. */\n      CONFIRMED = \"CONFIRMED\",\n      /** At least one participant isn't confirmed yet. */\n      PENDING_CONFIRMATION = \"PENDING_CONFIRMATION\"\n  }\n  interface ConferencingDetails$2 {\n      /** Conference type. For example, `Zoom`. */\n      type?: Type$2;\n      /**\n       * URL used by the host to start the conference.\n       *\n       * Min: 1 character\n       * Max: 2000 characters\n       */\n      hostUrl?: string | null;\n      /**\n       * URL used by a guest to join the conference.\n       *\n       * Min: 1 character\n       * Max: 2000 characters\n       */\n      guestUrl?: string | null;\n      /**\n       * Conference password.\n       *\n       * Min: 1 character\n       * Max: 100 characters\n       */\n      password?: string | null;\n      /**\n       * Conference description.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       * @internal\n       */\n      description?: string | null;\n      /**\n       * Conference ID in an external system.\n       *\n       * Min: 1 character\n       * Max: 150 characters\n       */\n      externalId?: string | null;\n  }\n  enum Type$2 {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      ZOOM = \"ZOOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  enum Field$1 {\n      UNKNOWN_FIELD = \"UNKNOWN_FIELD\",\n      /** `title` is inherited from the schedule or `MASTER` event. */\n      TITLE = \"TITLE\",\n      /** `timeZone` is inherited from the schedule or `MASTER` event. */\n      TIME_ZONE = \"TIME_ZONE\",\n      /** `start` and `end` are inherited from the `MASTER` event. */\n      TIME = \"TIME\",\n      /** `location` is inherited from the schedule or `MASTER` event. */\n      LOCATION = \"LOCATION\",\n      /** `resources` is inherited from the `MASTER` event. */\n      RESOURCES = \"RESOURCES\",\n      /** `capacity` is inherited from the schedule or `MASTER` event. */\n      CAPACITY = \"CAPACITY\",\n      /** `participants` is inherited from the `MASTER` event. */\n      PARTICIPANTS = \"PARTICIPANTS\",\n      /** `conferencingDetails` is inherited from the schedule or `MASTER` event. */\n      CONFERENCING_DETAILS = \"CONFERENCING_DETAILS\"\n  }\n  interface Permission$2 {\n      /**\n       * [Wix user](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities#wix-users)\n       * granted the permission.\n       */\n      identity?: IdentificationData$4;\n      /**\n       * Permission role.\n       *\n       * Supported values:\n       * + `WRITER`: Full read and write access.\n       * + `COMMENTER`: Full read access, write access limited to `event.notes`.\n       */\n      role?: Role$2;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /**\n       * ID of a Wix user. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      wixUserId?: string;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /**\n       * ID of a Wix user. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      wixUserId?: string;\n  }\n  enum IdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      WIX_USER = \"WIX_USER\"\n  }\n  interface ExtendedFields$3 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface FixSCHED38956Request {\n      metaSiteId?: string;\n      /**\n       * Whether to run in safe, dry run mode, and only print logs without applying any changes.\n       * Default to `true`!.\n       */\n      dryRun?: boolean | null;\n  }\n  interface FixSCHED38956Response {\n      dryRun?: boolean | null;\n      affectedEventCount?: number | null;\n      fixedEventCount?: number | null;\n  }\n  interface GetEventRequest {\n      /**\n       * ID of the event to retrieve.\n       *\n       * Min: 36 characters\n       * Max: 250 characters\n       */\n      eventId: string | null;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /**\n       * Information about which fields containing personal data to return. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions)\n       * for more information.\n       *\n       * Supported values:\n       * + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope.\n       * + `OWN_PI_FIELDS`: Returns only fields containing your own personal data.\n       *\n       * Max: 1 field\n       * Default: No personal data is returned.\n       */\n      fields?: RequestedFields$1[];\n      /**\n       * Whether to return consistent response.\n       * Please consult with us at #bookings-calendar-platform if you think your case requires consistent reads.\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  enum RequestedFields$1 {\n      UNKNOWN_REQUESTED_FIELDS = \"UNKNOWN_REQUESTED_FIELDS\",\n      /** Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope. */\n      PI_FIELDS = \"PI_FIELDS\",\n      /** Returns only fields containing your own personal data. */\n      OWN_PI_FIELDS = \"OWN_PI_FIELDS\"\n  }\n  interface GetEventResponse {\n      /** Retrieved event. */\n      event?: Event$1;\n  }\n  interface ListEventsRequest {\n      /**\n       * IDs of the events to retrieve.\n       *\n       * Min: 1 event ID\n       * Min: 100 event IDs\n       */\n      eventIds: string[];\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /**\n       * Information about which fields containing personal data to return. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions)\n       * for more information.\n       *\n       * Supported values:\n       * + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope.\n       * + `OWN_PI_FIELDS`: Returns only fields containing your own personal data.\n       *\n       * Max: 1 field\n       * Default: No personal data is returned.\n       */\n      fields?: RequestedFields$1[];\n      /**\n       * Whether to return consistent response.\n       * Please consult with us at #bookings-calendar-platform if you think your case requires consistent reads.\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  interface ListEventsResponse {\n      /** Retrieved events matching the provided IDs. */\n      events?: Event$1[];\n  }\n  interface QueryEventsRequest {\n      /**\n       * Local start date and time from which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`.\n       *\n       * Events that start before the `fromLocalDate` but end after it are included in\n       * the results. Must be earlier than `toLocalDate` unless the sort order is\n       * descending.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Local end date and time up to which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`.\n       *\n       * Events that start before `toLocalDate` but end after it are included in the\n       * results. Must be later than `fromLocalDate` unless the sort order is\n       * descending.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for `fromLocalDate`, `toLocalDate`, and for calculating `adjustedStart` and\n       * `adjustedEnd`. For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /** Query containing filters and paging. */\n      query?: CursorQuery$2;\n      /**\n       * Filters events based on their `recurrenceType`.\n       *\n       * Max: 5 recurrence types can be specified.\n       * Default: Events with `recurrenceType` of `NONE`, `INSTANCE`, and `EXCEPTION` are returned.\n       */\n      recurrenceType?: RecurrenceType$1[];\n      /**\n       * Information about which fields containing personal data to return. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions)\n       * for more information.\n       *\n       * Supported values:\n       * + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope.\n       * + `OWN_PI_FIELDS`: Returns only fields containing your own personal data.\n       *\n       * Max: 1 field\n       * Default: No personal data is returned.\n       */\n      fields?: RequestedFields$1[];\n      /**\n       * Whether to return consistent response.\n       * Please consult with us at #bookings-calendar-platform if you think your case requires consistent reads.\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  /** TODO Diverge */\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter`. */\n      cursorPaging?: CommonCursorPaging;\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n       * for more information.\n       *\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`.\n       *\n       * For a detailed list of supported filters, see Supported Filters.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Whether to sort events by their start date in ascending order or by their end date in descending order.\n       * Default is start ascending.\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter`. */\n      cursorPaging?: CommonCursorPaging;\n  }\n  /** TODO Diverge */\n  interface Sorting {\n      /**\n       * The field to sort by.\n       * Either `start` or `end`.\n       * Default is `start`.\n       */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  /** TODO Diverge */\n  interface CommonCursorPaging {\n      /**\n       * Number of events to return.\n       * Defaults to `50`. Maximum `1000`.\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryEventsResponse {\n      /** Retrieved events matching the provided query. */\n      events?: Event$1[];\n      /** Paging metadata. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  /** TODO Diverge */\n  interface CommonCursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging). */\n      cursors?: CommonCursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n  }\n  interface ListRecurringEventInstancesHistoryRequest {\n      /**\n       * The ID of the recurring event.\n       * Required, unless `cursorPaging` is provided.\n       */\n      recurringEventId?: string | null;\n      /**\n       * The revision of the recurring event.\n       * Required, unless `cursorPaging` is provided.\n       */\n      revision?: string | null;\n      /**\n       * Inclusive start date for which events are returned, in ISO-8601 format.\n       * Events that begin at or after the `fromDate` are included in the results.\n       * Required, unless `cursorPaging` is provided.\n       */\n      fromDate?: Date | null;\n      /**\n       * Exclusive end date for which events are returned, in ISO-8601 format.\n       * Events that begin before the `toDate` are included in the results.\n       * Required, unless `cursorPaging` is provided.\n       */\n      toDate?: Date | null;\n      /** Optional cursor pointing to the next page of events. */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface ListRecurringEventInstancesHistoryResponse {\n      /** The recurring event instances. */\n      recurringEventInstances?: Event$1[];\n      /** Paging metadata. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface CreateEventRequest {\n      /** Event to create. */\n      event: Event$1;\n      /**\n       * Optional list of fields to create or override.\n       *\n       * For example, to set empty values for fields that would otherwise be inherited from the schedule.\n       * @internal\n       */\n      fieldmask?: string[];\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /**\n       * Idempotency key guaranteeing that you don't create the same event more\n       * than once.\n       */\n      idempotencyKey?: string | null;\n  }\n  interface CreateEventResponse {\n      /** Created event. */\n      event?: Event$1;\n  }\n  interface BulkCreateEventRequest {\n      /** Events to create. */\n      events: MaskedEvent[];\n      /**\n       * Whether to return created events.\n       *\n       * Default: `false`.\n       */\n      returnEntity?: boolean | null;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  interface MaskedEvent {\n      /** Event to create. */\n      event?: Event$1;\n      /**\n       * Optional list of fields to create or override.\n       *\n       * For example, to set empty values for fields that would otherwise be inherited from the schedule.\n       * @internal\n       */\n      fieldmask?: string[];\n  }\n  interface BulkCreateEventResponse {\n      /** The result for each event, containing the event and whether the action was successful. */\n      results?: BulkEventResult[];\n      /** Total successes and failures. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkEventResult {\n      /** Whether the requested action was successful. */\n      itemMetadata?: ItemMetadata;\n      /** The event. */\n      item?: Event$1;\n  }\n  interface ItemMetadata {\n      /**\n       * Event ID.\n       * Should always be available, unless it's impossible (for example, when failing to create an event).\n       */\n      _id?: string | null;\n      /** Index of the item within the request array, for correlation between request and response items. */\n      originalIndex?: number;\n      /**\n       * Whether the requested action was successful for this event.\n       * When `false`, the `error` field is populated.\n       */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of events that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of events that couldn't be processed. */\n      totalFailures?: number;\n  }\n  interface UpdateEventRequest {\n      /** Event to update. */\n      event: Event$1;\n      /**\n       * Optional list of fields to update or override.\n       *\n       * For example, to set empty values for fields that would otherwise be inherited from the schedule.\n       * @internal\n       */\n      fieldmask?: string[];\n      /**\n       * Information about whether participants of the updated event are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  interface ParticipantNotification$1 {\n      /**\n       * Whether to notify the participants about changes made to the schedule or event.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean | null;\n      /**\n       * Message to send.\n       *\n       * Min: 1 character\n       * Max: 5000 characters\n       */\n      message?: string | null;\n      /**\n       * Optional additional metadata.\n       * Limits: max keys: `10`, max key length: `64`, max value length: `1000`.\n       * @internal\n       */\n      metadata?: Record<string, string>;\n  }\n  interface UpdateEventResponse {\n      /** Updated event. */\n      event?: Event$1;\n  }\n  /** `PRIVATE` until we'll have standard events metadata from Infra. */\n  interface EventUpdatedWithMetadata {\n      /** The updated event. */\n      event?: Event$1;\n      /**\n       * Information about whether participants of the updated event are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Temporary! will be replaced by diff very soon.\n       * @internal\n       * @deprecated\n       */\n      previousEvent?: Event$1;\n  }\n  interface BulkUpdateEventRequest {\n      /**\n       * Events to update.\n       *\n       * Min: 1 event\n       * Max: 50 events\n       */\n      events: BulkUpdateEventRequestMaskedEvent[];\n      /**\n       * Whether to return the updated events.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean | null;\n      /**\n       * Information about whether participants of the updated event are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  interface BulkUpdateEventRequestMaskedEvent {\n      /** Event to update. */\n      event?: Event$1;\n      /**\n       * Optional list of fields to update or override.\n       *\n       * For example, to set empty values for fields that would otherwise be inherited from the schedule.\n       * @internal\n       */\n      fieldmask?: string[];\n  }\n  interface BulkUpdateEventResponse {\n      /** The result for each event, containing the event and whether the action was successful. */\n      results?: BulkEventResult[];\n      /** Total successes and failures. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface UpdateEventParticipantsRequest {\n      /**\n       * ID of the event to update.\n       *\n       * Min: 36 characters\n       * Max: 250 characters\n       */\n      eventId?: string | null;\n      /** The participants to update. */\n      participants?: Participants$1;\n  }\n  interface UpdateEventParticipantsResponse {\n      /** Updated event. */\n      event?: Event$1;\n  }\n  interface RestoreEventDefaultsRequest {\n      /** ID of the event for which to restore default values. */\n      eventId: string | null;\n      /**\n       * Fields for which to restore default values.\n       *\n       * `TIME` restores default values for `start` and `end`.\n       *\n       * Min: 1 field\n       */\n      fields: Field$1[];\n      /**\n       * Information about whether participants of the updated event are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  interface RestoreEventDefaultsResponse {\n      /** Updated event. */\n      event?: Event$1;\n  }\n  interface SplitRecurringEventRequest {\n      /** ID of the `MASTER` event to split. */\n      recurringEventId: string | null;\n      /**\n       * Local date and time at which the `MASTER` event is split in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2025-03-11T09:00:00`.\n       * Must be a future date that's after the `start` date of the next `INSTANCE` or\n       * `EXCEPTION` event in the series. Additionally, there must be another\n       * `INSTANCE` or `EXCEPTION` event following this next event, as the changes\n       * wouldn't affect any event without a subsequent occurrence.\n       */\n      splitLocalDate: string | null;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  interface SplitRecurringEventResponse {\n      /** Original `MASTER` event that was shortened. */\n      updatedRecurringEventEndingBeforeSplit?: Event$1;\n      /** New `MASTER` event starting with the first event after the split date. */\n      newRecurringEventStartingFromSplit?: Event$1;\n  }\n  interface RecurringEventSplit {\n      /** Original `MASTER` event that was shortened. */\n      updatedRecurringEventEndingBeforeSplit?: Event$1;\n      /** New `MASTER` event starting with the first event after the split date. */\n      newRecurringEventStartingFromSplit?: Event$1;\n  }\n  interface CancelEventRequest {\n      /** ID of the event to cancel. */\n      eventId: string | null;\n      /**\n       * Information about whether participants of the canceled event are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  interface CancelEventResponse {\n      /** Canceled event. */\n      event?: Event$1;\n  }\n  interface EventCancelled {\n      /** Canceled event. */\n      event?: Event$1;\n      /**\n       * Information about whether participants of the canceled event are notified and\n       * the message they receive.\n       * @internal\n       */\n      participantNotification?: ParticipantNotification$1;\n  }\n  interface BulkCancelEventRequest {\n      /** IDs of the events to cancel. */\n      eventIds: string[];\n      /**\n       * Whether to return the canceled events.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean | null;\n      /**\n       * Information about whether participants of the canceled events are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  interface BulkCancelEventResponse {\n      /** The result for each event, containing the event and whether the action was successful. */\n      results?: BulkEventResult[];\n      /** Total successes and failures. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData$2 extends WebhooksIdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification$2 {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent$2;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation$2[];\n      /** Context of the notification */\n      changeContext?: ChangeContext$2;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent$2 {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties$2;\n  }\n  interface Properties$2 {\n      /** Site categories. */\n      categories?: Categories$2;\n      /** Site locale. */\n      locale?: Locale$2;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address$2;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$2;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual$2;\n      /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n      consentPolicy?: ConsentPolicy$2;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site URL that uses Wix as its headless business solution. */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics. */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories$2 {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale$2 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address$2 {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint$2;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates$2;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n   */\n  interface AddressHint$2 {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType$2;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType$2 {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates$2 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$2 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$2[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$2[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$2 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$2;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$2;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$2 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$2 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual$2 {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage$2[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage$2 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale$2;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod$2;\n  }\n  enum ResolutionMethod$2 {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy$2 {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation$2 {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext$2 extends ChangeContextPayloadOneOf$2 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$2;\n      /** Default properties were created on site creation. */\n      siteCreated?: V4SiteCreated$2;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$2;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf$2 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$2;\n      /** Default properties were created on site creation. */\n      siteCreated?: V4SiteCreated$2;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$2;\n  }\n  interface PropertiesChange$2 {\n  }\n  interface V4SiteCreated$2 {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned$2 {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface Empty$4 {\n  }\n  interface ListEventsByContactIdRequest {\n      /**\n       * ID of the [contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/contact-object)\n       * to retrieve events for. Required, unless you provide `cursorPaging`.\n       */\n      contactId: string | null;\n      /**\n       * Local start date and time from which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`. Required if `cursorPaging` isn't provided.\n       *\n       * Events that start before the `fromLocalDate` but end after it are included in\n       * the results. Must be earlier than `toLocalDate`.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Local end date and time up to which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`. Can't be more than a full year after\n       * `2024-01-30T13:30:00`. Required if `cursorPaging` isn't provided.\n       *\n       * Events that start before `toLocalDate` but end after it are included in the\n       * results. Must be later than `fromLocalDate`.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for `fromLocalDate`, `toLocalDate`, and for calculating `adjustedStart` and\n       * `adjustedEnd`. For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /**\n       * [App ID](https://dev.wix.com/docs/rest/articles/getting-started/wix-business-solutions)\n       * to filter events by.\n       */\n      appId?: string | null;\n      /** Cursor to retrieve the next page of the results. */\n      cursorPaging?: CursorPaging$2;\n  }\n  /** TODO Diverge */\n  interface CursorPaging$2 {\n      /**\n       * Number of events to return.\n       * Defaults to `50`. Maximum `100`.\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListEventsByContactIdResponse {\n      /** Retrieved events. */\n      events?: Event$1[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  /** TODO Diverge */\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging). */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n  }\n  interface ListEventsByMemberIdRequest {\n      /**\n       * ID of the [member](https://dev.wix.com/docs/rest/crm/members-contacts/members/members/member-object)\n       * to retrieve events for. Required, unless you provide `cursorPaging`.\n       * Provide `me` to retrieve events for the currently logged-in member.\n       * You must have the `Read Calendars - Including PI`\n       * [permission scope](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/configure-permissions-for-your-app)\n       * to retrieve events for members who aren't the currently logged in member.\n       */\n      memberId: string | null;\n      /**\n       * Local start date and time from which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`. Required if neither `cursorPaging` is provided nor a non-empty `eventIds` array.\n       *\n       * Events that start before the `fromLocalDate` but end after it are included in\n       * the results. Must be earlier than `toLocalDate`.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Local end date and time up to which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`. Can't be more than a full year after\n       * `fromLocalDate`. Required if neither `cursorPaging` is provided nor a non-empty `eventIds` array.\n       *\n       * Events that start before `toLocalDate` but end after it are included in the\n       * results. Must be later than `fromLocalDate`.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for `fromLocalDate`, `toLocalDate`, and for calculating `adjustedStart` and\n       * `adjustedEnd`. For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /**\n       * [App ID](https://dev.wix.com/docs/rest/articles/getting-started/wix-business-solutions)\n       * to filter events by.\n       */\n      appId?: string | null;\n      /** Cursor to retrieve the next page of the results. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * IDs of the events to retrieve.\n       * If you provide a list of IDs, all other filters are ignored.\n       *\n       * Max: 100 `eventId`s\n       */\n      eventIds?: string[];\n  }\n  interface ListEventsByMemberIdResponse {\n      /** Retrieved events. */\n      events?: Event$1[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  /**\n   * Retrieves an event.\n   * @param eventId - ID of the event to retrieve.\n   *\n   * Min: 36 characters\n   * Max: 250 characters\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @permissionId CALENDAR.EVENT_READ\n   * @permissionId CALENDAR.EVENT_READ_PI\n   * @returns Retrieved event.\n   */\n  function getEvent(eventId: string | null, options?: GetEventOptions): Promise<Event$1>;\n  interface GetEventOptions {\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /**\n       * Information about which fields containing personal data to return. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions)\n       * for more information.\n       *\n       * Supported values:\n       * + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope.\n       * + `OWN_PI_FIELDS`: Returns only fields containing your own personal data.\n       *\n       * Max: 1 field\n       * Default: No personal data is returned.\n       */\n      fields?: RequestedFields$1[];\n      /**\n       * Whether to return consistent response.\n       * Please consult with us at #bookings-calendar-platform if you think your case requires consistent reads.\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  /**\n   * Retrieves a list of events by their IDs.\n   * @param eventIds - IDs of the events to retrieve.\n   *\n   * Min: 1 event ID\n   * Min: 100 event IDs\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventIds\n   * @permissionId CALENDAR.EVENT_READ\n   * @permissionId CALENDAR.EVENT_READ_PI\n   */\n  function listEvents(eventIds: string[], options?: ListEventsOptions): Promise<ListEventsResponse>;\n  interface ListEventsOptions {\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /**\n       * Information about which fields containing personal data to return. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions)\n       * for more information.\n       *\n       * Supported values:\n       * + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope.\n       * + `OWN_PI_FIELDS`: Returns only fields containing your own personal data.\n       *\n       * Max: 1 field\n       * Default: No personal data is returned.\n       */\n      fields?: RequestedFields$1[];\n      /**\n       * Whether to return consistent response.\n       * Please consult with us at #bookings-calendar-platform if you think your case requires consistent reads.\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  /**\n   * Creates a query to retrieve a list of events.\n   *\n   * The `queryEvents()` function builds a query to retrieve a list of events and returns an `EventsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/events-query-builder/find) function.\n   *\n   * You can refine the query by chaining `EventsQueryBuilder` functions onto the query. `EventsQueryBuilder` functions enable you to sort, filter, and control the results that `queryEvents()` returns.\n   *\n   * `queryEvents()` runs with the following `EventsQueryBuilder` default that you can override:\n   *\n   * + `limit` is `50`.\n   * + Sorted by `event.start` in ascending order.\n   *\n   * The functions that are chained to `queryEvents()` are applied in the order they are called.\n   *\n   * The following `EventsQueryBuilder` functions are supported for the `queryEvents()` function. For a full description of the events object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/events-query-result/items) property in `EventsQueryResult`.\n   *\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CALENDAR.EVENT_READ\n   * @permissionId CALENDAR.EVENT_READ_PI\n   */\n  function queryEvents(options?: QueryEventsOptions): EventsQueryBuilder;\n  interface QueryEventsOptions {\n      /**\n       * Local start date and time from which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`.\n       *\n       * Events that start before the `fromLocalDate` but end after it are included in\n       * the results. Must be earlier than `toLocalDate` unless the sort order is\n       * descending.\n       */\n      fromLocalDate?: string | null | undefined;\n      /**\n       * Local end date and time up to which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`.\n       *\n       * Events that start before `toLocalDate` but end after it are included in the\n       * results. Must be later than `fromLocalDate` unless the sort order is\n       * descending.\n       */\n      toLocalDate?: string | null | undefined;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for `fromLocalDate`, `toLocalDate`, and for calculating `adjustedStart` and\n       * `adjustedEnd`. For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties).\n       */\n      timeZone?: string | null | undefined;\n      /**\n       * Filters events based on their `recurrenceType`.\n       *\n       * Max: 5 recurrence types can be specified.\n       * Default: Events with `recurrenceType` of `NONE`, `INSTANCE`, and `EXCEPTION` are returned.\n       */\n      recurrenceType?: RecurrenceType$1[] | undefined;\n      /**\n       * Information about which fields containing personal data to return. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions)\n       * for more information.\n       *\n       * Supported values:\n       * + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope.\n       * + `OWN_PI_FIELDS`: Returns only fields containing your own personal data.\n       *\n       * Max: 1 field\n       * Default: No personal data is returned.\n       */\n      fields?: RequestedFields$1[] | undefined;\n      /**\n       * Whether to return consistent response.\n       * Please consult with us at #bookings-calendar-platform if you think your case requires consistent reads.\n       * @internal\n       */\n      consistent?: boolean | null | undefined;\n  }\n  interface QueryCursorResult$2 {\n      cursors: CommonCursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface EventsQueryResult extends QueryCursorResult$2 {\n      items: Event$1[];\n      query: EventsQueryBuilder;\n      next: () => Promise<EventsQueryResult>;\n      prev: () => Promise<EventsQueryResult>;\n  }\n  interface EventsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'scheduleId' | 'externalScheduleId' | 'type' | 'recurringEventId' | 'transparency' | 'location.id' | 'location.type' | 'totalCapacity' | 'remainingCapacity' | 'participants.total' | 'appId', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'totalCapacity' | 'remainingCapacity' | 'participants.total', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'totalCapacity' | 'remainingCapacity' | 'participants.total', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'totalCapacity' | 'remainingCapacity' | 'participants.total', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'totalCapacity' | 'remainingCapacity' | 'participants.total', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'totalCapacity' | 'remainingCapacity' | 'participants.total', value: any) => EventsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'scheduleId' | 'externalScheduleId' | 'type' | 'recurringEventId' | 'location.id' | 'location.type' | 'appId', value: any) => EventsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'location' | 'totalCapacity' | 'conferencingDetails', value: boolean) => EventsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => EventsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => EventsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<EventsQueryResult>;\n  }\n  /**\n   * Creates an event.\n   *\n   *\n   * If you provide `recurrenceRule`, an event with `{\"recurrenceType\": \"MASTER\"}` is created. Then, you can't set `start.localDate` to a past date, though the time can be earlier on the same day. You can, however, create single-occurrence events for past dates.\n   *\n   * You can't create an event with `recurrenceType` set to `INSTANCE` or `EXCEPTION`. `INSTANCE` events are generated automatically based on the recurrence rule in the relevant `MASTER` event. `EXCEPTION` events are automatically created when you [update](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/update-event) an `INSTANCE` event, which changes its `recurrenceType` to `EXCEPTION`.\n   * @param event - Event to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField event\n   * @requiredField event.conferencingDetails.guestUrl\n   * @requiredField event.conferencingDetails.hostUrl\n   * @requiredField event.conferencingDetails.type\n   * @requiredField event.end\n   * @requiredField event.end.localDate\n   * @requiredField event.location.type\n   * @requiredField event.participants.list.name\n   * @requiredField event.recurrenceRule.days\n   * @requiredField event.recurrenceRule.frequency\n   * @requiredField event.recurrenceRule.until.localDate\n   * @requiredField event.resources._id\n   * @requiredField event.scheduleId\n   * @requiredField event.start\n   * @requiredField event.start.localDate\n   * @permissionId CALENDAR.EVENT_CREATE_OWN\n   * @permissionId CALENDAR.EVENT_CREATE\n   * @adminMethod\n   * @returns Created event.\n   */\n  function createEvent(event: Event$1, options?: CreateEventOptions): Promise<Event$1>;\n  interface CreateEventOptions {\n      /**\n       * Optional list of fields to create or override.\n       *\n       * For example, to set empty values for fields that would otherwise be inherited from the schedule.\n       * @internal\n       */\n      fieldmask?: string[];\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /**\n       * Idempotency key guaranteeing that you don't create the same event more\n       * than once.\n       */\n      idempotencyKey?: string | null;\n  }\n  /**\n   * Creates multiple events in bulk.\n   *\n   *\n   * If you provide `recurrenceRule`, an event with `{\"recurrenceType\": \"MASTER\"}` is\n   * created. Then, you can't set `start.localDate` to a past date, though the time can be\n   * earlier on the same day. You can, however, create single-occurrence events for\n   * past dates.\n   *\n   * You can't create an event with `recurrenceType` set to `INSTANCE` or `EXCEPTION`.\n   * `INSTANCE` events are generated automatically based on the recurrence rule in the\n   * relevant `MASTER` event. `EXCEPTION` events are automatically created when you\n   * [update](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/update-event)\n   * an `INSTANCE` event, which changes its `recurrenceType` to `EXCEPTION`.\n   * @param events - Events to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField events\n   * @requiredField events.event\n   * @requiredField events.event.conferencingDetails.guestUrl\n   * @requiredField events.event.conferencingDetails.hostUrl\n   * @requiredField events.event.conferencingDetails.type\n   * @requiredField events.event.end\n   * @requiredField events.event.end.localDate\n   * @requiredField events.event.location.type\n   * @requiredField events.event.participants.list.name\n   * @requiredField events.event.recurrenceRule.days\n   * @requiredField events.event.recurrenceRule.frequency\n   * @requiredField events.event.recurrenceRule.until.localDate\n   * @requiredField events.event.resources._id\n   * @requiredField events.event.scheduleId\n   * @requiredField events.event.start\n   * @requiredField events.event.start.localDate\n   * @permissionId CALENDAR.EVENT_CREATE_OWN\n   * @permissionId CALENDAR.EVENT_CREATE\n   * @adminMethod\n   */\n  function bulkCreateEvent(events: MaskedEvent[], options?: BulkCreateEventOptions): Promise<BulkCreateEventResponse>;\n  interface BulkCreateEventOptions {\n      /**\n       * Whether to return created events.\n       *\n       * Default: `false`.\n       */\n      returnEntity?: boolean | null;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  /**\n   * Updates an event.\n   *\n   *\n   * When updating an event with `{\"recurrenceType\": \"INSTANCE\"}`, the\n   * `recurrenceType` automatically changes to `EXCEPTION`.\n   *\n   * When updating an event with `{\"recurrenceType\": \"MASTER\"}`:\n   * + Past `INSTANCE` and `EXCEPTION` events remain unchanged.\n   * + For future `INSTANCE` events, all relevant fields are updated.\n   * + For future `EXCEPTION` events, only changes to the `inheritedFields` are\n   * applied, while other fields remain unchanged.\n   * @param _id - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField event\n   * @requiredField event.conferencingDetails.guestUrl\n   * @requiredField event.conferencingDetails.hostUrl\n   * @requiredField event.conferencingDetails.type\n   * @requiredField event.end.localDate\n   * @requiredField event.location.type\n   * @requiredField event.participants.list.name\n   * @requiredField event.recurrenceRule.days\n   * @requiredField event.recurrenceRule.frequency\n   * @requiredField event.recurrenceRule.until.localDate\n   * @requiredField event.resources._id\n   * @requiredField event.revision\n   * @requiredField event.start.localDate\n   * @permissionId CALENDAR.EVENT_UPDATE_OWN\n   * @permissionId CALENDAR.EVENT_UPDATE\n   * @adminMethod\n   * @returns Updated event.\n   */\n  function updateEvent(_id: string | null, event: UpdateEvent, options?: UpdateEventOptions): Promise<Event$1>;\n  interface UpdateEvent {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ID of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction)\n       * the event belongs to.\n       * After creating an event, you can't assign it to a different schedule.\n       */\n      scheduleId?: string | null;\n      /**\n       * ID of the external schedule the event belongs to.\n       *\n       * For example, if the event belongs to a Bookings staff member, identical to the ID of the [resource](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/introduction). If the schedule belongs to a Bookings service, identical to the ID of the [service](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/setup).\n       * @readonly\n       */\n      externalScheduleId?: string | null;\n      /**\n       * Schedule name.\n       * @readonly\n       */\n      scheduleName?: string | null;\n      /**\n       * Event type. You can set the event type but you can't update it.\n       *\n       * Supported values:\n       * + `DEFAULT`: A standard event that's not further specified.\n       * + `WORKING_HOURS`: The event adds working hours to a schedule. By default not returned in [queryEvents()](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/query-events).\n       *\n       * Additional supported values, if Wix Bookings is installed:\n       * + `APPOINTMENT`: Bookings appointment event.\n       * + `CLASS`: Bookings class event.\n       * + `COURSE`: Bookings course event.\n       */\n      type?: string | null;\n      /**\n       * Event status.\n       *\n       * Supported values:\n       * + `CONFIRMED`: Event is scheduled to happen or has happened.\n       * + `CANCELLED`: Event has been canceled.\n       *\n       * Default: `CONFIRMED`\n       * @readonly\n       */\n      status?: Status$4;\n      /**\n       * Event title.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      title?: string | null;\n      /** Information about when the event starts. */\n      start?: ZonedDate$2;\n      /**\n       * Information about when the event ends.\n       *\n       * Maximum allowed date: Year 2100, or up to 100 years from the event's start date (whichever comes first).\n       */\n      end?: ZonedDate$2;\n      /**\n       * Information about when the event starts adjusted to the `timeZone` of the\n       * business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties)\n       * or a different `timeZone` you provide in the call's request.\n       * @readonly\n       */\n      adjustedStart?: ZonedDate$2;\n      /**\n       * Information about when the event ends adjusted to the `timeZone` of the\n       * business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties)\n       * or a different `timeZone` you provide in the call's request.\n       * @readonly\n       */\n      adjustedEnd?: ZonedDate$2;\n      /**\n       * Time zone the event is associated with in\n       * [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n       * Only regional time zones and UTC are supported.\n       * For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction).\n       */\n      timeZone?: string | null;\n      /**\n       * Information about whether the event is a single occurrence or part of a\n       * recurring series.\n       *\n       * Supported values:\n       * + `NONE`: The event occurs only once and doesn't repeat.\n       * + `MASTER`: Defines the recurrence pattern for a series of recurring events.\n       * + `INSTANCE`: A specific occurrence of a recurring event. You can't create an event with `{\"recurrenceType\": \"INSTANCE\"}`, instead it's automatically generated based on the recurrence rule. If you update an `INSTANCE` event, `recurrenceType` automatically changes to `EXCEPTION`.\n       * + `EXCEPTION`: A modified instance of a recurring event that differs from the recurrence pattern. For example, an event with a different time or location. You can't create an `EXCEPTION` event directly, instead it's set automatically when you update an `INSTANCE` event.\n       *\n       * Default: `NONE`\n       * @readonly\n       */\n      recurrenceType?: RecurrenceType$1;\n      /**\n       * Recurrence pattern for a series of events. This field is required when\n       * creating a `MASTER` event and isn't available for non-recurring events.\n       * You can't update the recurrence rule for `INSTANCE` or `EXCEPTION` events.\n       *\n       * For example, an event that repeats every second Monday until January 7, 2026,\n       * at 8:00 AM has the following `recurrenceRule`:\n       * - `frequency = WEEKLY`\n       * - `interval = 2`\n       * - `days = [MONDAY]`\n       * - `until = 20260107T08:00:00Z`\n       */\n      recurrenceRule?: RecurrenceRule$1;\n      /**\n       * ID of the `MASTER` event the event belongs to. Available only for `INSTANCE`\n       * and `EXCEPTION` events.\n       * @readonly\n       */\n      recurringEventId?: string | null;\n      /**\n       * Specifies whether the event blocks time in the schedule it belongs to.\n       *\n       * Supported values:\n       * + `OPAQUE`:  The schedule is blocked during the event, preventing other events that involve the same entities (for example, Booking staff members) from being scheduled at the same time.\n       * + `TRANSPARENT`: The schedule remains open during the event, allowing other events to be scheduled concurrently.\n       *\n       * Default: `OPAQUE`\n       */\n      transparency?: Transparency$1;\n      /**\n       * Event location.\n       *\n       * Default: `defaultLocation` of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) the event belongs to\n       */\n      location?: Location$2;\n      /**\n       * List of [Wix Bookings resources](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/introduction)\n       * affected by the event. This could include, for example, the\n       * [Wix Bookings staff member](https://dev.wix.com/docs/sdk/backend-modules/bookings/staff-members/introduction)\n       * providing the service or the room where the appointment takes place.\n       *\n       * Max: 100 resources\n       */\n      resources?: Resource$1[];\n      /**\n       * Maximum number of participants who can participate in the event.\n       *\n       * Default: `defaultCapacity` of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) the event belongs to.\n       */\n      totalCapacity?: number | null;\n      /**\n       * Number of participants who can still be added to the event.\n       * @readonly\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Information about the event's participants.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#retrieve-personal-information).\n       * @readonly\n       */\n      participants?: Participants$1;\n      /**\n       * Information about the event's online conferencing.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#retrieve-personal-information).\n       *\n       * Default: `defaultConferencingDetails` of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) the event belongs to.\n       */\n      conferencingDetails?: ConferencingDetails$2;\n      /**\n       * Additional notes about the event.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#retrieve-personal-information).\n       *\n       * Min: 1 character\n       * Max: 5000 characters\n       */\n      notes?: string | null;\n      /**\n       * List of fields whose values are inherited.\n       * + For single-occurrence events, values are inherited from the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction).\n       * + For `INSTANCE` and `EXCEPTION` events, values are inherited from the related `MASTER` event.\n       * @readonly\n       */\n      inheritedFields?: Field$1[];\n      /**\n       * ID of the app that owns the event. Identical to `appId` of the\n       * [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction)\n       * to which the event belongs.\n       * @readonly\n       */\n      appId?: string | null;\n      /**\n       * List of permissions associated with the event. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#roles)\n       * for more information.\n       * @readonly\n       */\n      permissions?: Permission$2[];\n      /** Extensions enabling applications or users to save custom data related to the event. */\n      extendedFields?: ExtendedFields$3;\n      /**\n       * Revision number, which increments each time the event is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the event.\n       * Ignored when creating an event.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date the event was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the event was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateEventOptions {\n      /**\n       * Optional list of fields to update or override.\n       *\n       * For example, to set empty values for fields that would otherwise be inherited from the schedule.\n       * @internal\n       */\n      fieldmask?: string[];\n      /**\n       * Information about whether participants of the updated event are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  /**\n   * Updates multiple events in bulk.\n   *\n   *\n   * When updating an event with `{\"recurrenceType\": \"INSTANCE\"}`, the\n   * `recurrenceType` automatically changes to `EXCEPTION`.\n   *\n   * When updating an event with `{\"recurrenceType\": \"MASTER\"}`:\n   * + Past `INSTANCE` and `EXCEPTION` events remain unchanged.\n   * + For future `INSTANCE` events, all relevant fields are updated.\n   * + For future `EXCEPTION` events, only changes to the `inheritedFields` are\n   * applied, while other fields remain unchanged.\n   * @param events - Events to update.\n   *\n   * Min: 1 event\n   * Max: 50 events\n   * @public\n   * @documentationMaturity preview\n   * @requiredField events\n   * @requiredField events.event\n   * @requiredField events.event._id\n   * @requiredField events.event.conferencingDetails.guestUrl\n   * @requiredField events.event.conferencingDetails.hostUrl\n   * @requiredField events.event.conferencingDetails.type\n   * @requiredField events.event.end.localDate\n   * @requiredField events.event.location.type\n   * @requiredField events.event.participants.list.name\n   * @requiredField events.event.recurrenceRule.days\n   * @requiredField events.event.recurrenceRule.frequency\n   * @requiredField events.event.recurrenceRule.until.localDate\n   * @requiredField events.event.resources._id\n   * @requiredField events.event.revision\n   * @requiredField events.event.start.localDate\n   * @permissionId CALENDAR.EVENT_UPDATE_OWN\n   * @permissionId CALENDAR.EVENT_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateEvent(events: BulkUpdateEventRequestMaskedEvent[], options?: BulkUpdateEventOptions): Promise<BulkUpdateEventResponse>;\n  interface BulkUpdateEventOptions {\n      /**\n       * Whether to return the updated events.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean | null;\n      /**\n       * Information about whether participants of the updated event are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  /**\n   * Restores the event's default values from the relevant schedule or `MASTER`\n   * event.\n   *\n   *\n   * You must provide `fields` to specify which `inheritedFields` are restored.\n   *\n   * For example, if you've created an event that takes place in a non-default\n   * location with a custom title and capacity, but you want to reset only title\n   * and capacity to default values without affecting the location, provide the\n   * event ID and set `fields` to `[\"TITLE\", \"CAPACITY\"]`.\n   *\n   * Refer to the [default values article](https://dev.wix.com/docs/sdk/backend-modules/calendar/default-values)\n   * for more information.\n   * @param eventId - ID of the event for which to restore default values.\n   * @param fields - Fields for which to restore default values.\n   *\n   * `TIME` restores default values for `start` and `end`.\n   *\n   * Min: 1 field\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField fields\n   * @permissionId CALENDAR.EVENT_UPDATE_OWN\n   * @permissionId CALENDAR.EVENT_UPDATE\n   * @adminMethod\n   */\n  function restoreEventDefaults(eventId: string | null, fields: Field$1[], options?: RestoreEventDefaultsOptions): Promise<RestoreEventDefaultsResponse>;\n  interface RestoreEventDefaultsOptions {\n      /**\n       * Information about whether participants of the updated event are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  /**\n   * Splits a recurring `MASTER` event into 2 separate `MASTER` events.\n   *\n   *\n   * You must provide a `splitLocalDate` that's in the future and after the `start`\n   * date of the next `INSTANCE` or `EXCEPTION` event in the series. Additionally,\n   * there must be another `INSTANCE` or `EXCEPTION` event following this next event,\n   * as the changes wouldn't affect any event without a subsequent occurrence.\n   *\n   * If you want to modify a `MASTER` event with the changes already applying to\n   * the very next event, use\n   * [updateEvent()](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/update-event)\n   * instead, as this preserves past events and only modifies future events.\n   *\n   * The main consequences are:\n   * - **The original `MASTER` event is shortened**. Its `recurrenceRule.until.localDate`\n   * is updated to `end.localDate` of the latest `INSTANCE` or `EXCEPTION`\n   * event starting before `splitLocalDate`. If an `INSTANCE` or `EXCEPTION` event\n   * starts before but ends after `splitLocalDate`, `until.localDate` is set\n   * to value that's later than `splitLocalDate`.\n   * - **A new `MASTER` event is created**, starting from the first event that\n   * begins after `splitLocalDate`.\n   * - **Existing `INSTANCE` and `EXCEPTION` events that occur after the split are updated**.\n   * Their `recurringEventId` is set to the ID of the newly created `MASTER` event.\n   * @param recurringEventId - ID of the `MASTER` event to split.\n   * @param splitLocalDate - Local date and time at which the `MASTER` event is split in\n   * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n   * `2025-03-11T09:00:00`.\n   * Must be a future date that's after the `start` date of the next `INSTANCE` or\n   * `EXCEPTION` event in the series. Additionally, there must be another\n   * `INSTANCE` or `EXCEPTION` event following this next event, as the changes\n   * wouldn't affect any event without a subsequent occurrence.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField recurringEventId\n   * @requiredField splitLocalDate\n   * @permissionId CALENDAR.EVENT_UPDATE_OWN\n   * @permissionId CALENDAR.EVENT_UPDATE\n   * @adminMethod\n   */\n  function splitRecurringEvent(recurringEventId: string | null, splitLocalDate: string | null, options?: SplitRecurringEventOptions): Promise<SplitRecurringEventResponse>;\n  interface SplitRecurringEventOptions {\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  /**\n   * Cancels an event.\n   * @param eventId - ID of the event to cancel.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @permissionId CALENDAR.EVENT_CANCEL_OWN\n   * @permissionId CALENDAR.EVENT_CANCEL\n   * @adminMethod\n   */\n  function cancelEvent(eventId: string | null, options?: CancelEventOptions): Promise<CancelEventResponse>;\n  interface CancelEventOptions {\n      /**\n       * Information about whether participants of the canceled event are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  /**\n   * Cancels multiple events in bulk.\n   * @param eventIds - IDs of the events to cancel.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventIds\n   * @permissionId CALENDAR.EVENT_CANCEL_OWN\n   * @permissionId CALENDAR.EVENT_CANCEL\n   * @adminMethod\n   */\n  function bulkCancelEvent(eventIds: string[], options?: BulkCancelEventOptions): Promise<BulkCancelEventResponse>;\n  interface BulkCancelEventOptions {\n      /**\n       * Whether to return the canceled events.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean | null;\n      /**\n       * Information about whether participants of the canceled events are notified and\n       * the message they receive.\n       */\n      participantNotification?: ParticipantNotification$1;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for calculating `adjustedStart` and `adjustedEnd`. For example,\n       * `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       */\n      timeZone?: string | null;\n  }\n  /**\n   * Retrieves a list of events filtered by the participant's\n   * [contact](https://dev.wix.com/docs/sdk/backend-modules/crm/contacts/introduction)\n   * ID.\n   *\n   *\n   * You can't set `toLocalDate` to a value that's more than a full year after\n   * `fromLocalDate`.\n   * @param contactId - ID of the [contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/contact-object)\n   * to retrieve events for. Required, unless you provide `cursorPaging`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @permissionId CALENDAR.EVENT_READ_PI\n   * @adminMethod\n   */\n  function listEventsByContactId(contactId: string | null, options?: ListEventsByContactIdOptions): Promise<ListEventsByContactIdResponse>;\n  interface ListEventsByContactIdOptions {\n      /**\n       * Local start date and time from which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`. Required if `cursorPaging` isn't provided.\n       *\n       * Events that start before the `fromLocalDate` but end after it are included in\n       * the results. Must be earlier than `toLocalDate`.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Local end date and time up to which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`. Can't be more than a full year after\n       * `2024-01-30T13:30:00`. Required if `cursorPaging` isn't provided.\n       *\n       * Events that start before `toLocalDate` but end after it are included in the\n       * results. Must be later than `fromLocalDate`.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for `fromLocalDate`, `toLocalDate`, and for calculating `adjustedStart` and\n       * `adjustedEnd`. For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /**\n       * [App ID](https://dev.wix.com/docs/rest/articles/getting-started/wix-business-solutions)\n       * to filter events by.\n       */\n      appId?: string | null;\n      /** Cursor to retrieve the next page of the results. */\n      cursorPaging?: CursorPaging$2;\n  }\n  /**\n   * Retrieves a list of events filtered by the participant's\n   * [member](https://dev.wix.com/docs/sdk/backend-modules/members/members/introduction)\n   * ID.\n   *\n   *\n   * You can't set `toLocalDate` to a value that's more than a full year after\n   * `fromLocalDate`.\n   * @param memberId - ID of the [member](https://dev.wix.com/docs/rest/crm/members-contacts/members/members/member-object)\n   * to retrieve events for. Required, unless you provide `cursorPaging`.\n   * Provide `me` to retrieve events for the currently logged-in member.\n   * You must have the `Read Calendars - Including PI`\n   * [permission scope](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/configure-permissions-for-your-app)\n   * to retrieve events for members who aren't the currently logged in member.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField memberId\n   * @permissionId CALENDAR.EVENT_READ\n   * @permissionId CALENDAR.EVENT_READ_PI\n   */\n  function listEventsByMemberId(memberId: string | null, options?: ListEventsByMemberIdOptions): Promise<ListEventsByMemberIdResponse>;\n  interface ListEventsByMemberIdOptions {\n      /**\n       * Local start date and time from which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`. Required if neither `cursorPaging` is provided nor a non-empty `eventIds` array.\n       *\n       * Events that start before the `fromLocalDate` but end after it are included in\n       * the results. Must be earlier than `toLocalDate`.\n       */\n      fromLocalDate?: string | null;\n      /**\n       * Local end date and time up to which events are returned in\n       * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. For example,\n       * `2024-01-30T13:30:00`. Can't be more than a full year after\n       * `fromLocalDate`. Required if neither `cursorPaging` is provided nor a non-empty `eventIds` array.\n       *\n       * Events that start before `toLocalDate` but end after it are included in the\n       * results. Must be later than `fromLocalDate`.\n       */\n      toLocalDate?: string | null;\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database)\n       * for `fromLocalDate`, `toLocalDate`, and for calculating `adjustedStart` and\n       * `adjustedEnd`. For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties).\n       */\n      timeZone?: string | null;\n      /**\n       * [App ID](https://dev.wix.com/docs/rest/articles/getting-started/wix-business-solutions)\n       * to filter events by.\n       */\n      appId?: string | null;\n      /** Cursor to retrieve the next page of the results. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * IDs of the events to retrieve.\n       * If you provide a list of IDs, all other filters are ignored.\n       *\n       * Max: 100 `eventId`s\n       */\n      eventIds?: string[];\n  }\n  \n  type calendarV3Event_universal_d_FixSCHED38956Request = FixSCHED38956Request;\n  type calendarV3Event_universal_d_FixSCHED38956Response = FixSCHED38956Response;\n  type calendarV3Event_universal_d_GetEventRequest = GetEventRequest;\n  type calendarV3Event_universal_d_GetEventResponse = GetEventResponse;\n  type calendarV3Event_universal_d_ListEventsRequest = ListEventsRequest;\n  type calendarV3Event_universal_d_ListEventsResponse = ListEventsResponse;\n  type calendarV3Event_universal_d_QueryEventsRequest = QueryEventsRequest;\n  type calendarV3Event_universal_d_Sorting = Sorting;\n  type calendarV3Event_universal_d_SortOrder = SortOrder;\n  const calendarV3Event_universal_d_SortOrder: typeof SortOrder;\n  type calendarV3Event_universal_d_CommonCursorPaging = CommonCursorPaging;\n  type calendarV3Event_universal_d_QueryEventsResponse = QueryEventsResponse;\n  type calendarV3Event_universal_d_CommonCursorPagingMetadata = CommonCursorPagingMetadata;\n  type calendarV3Event_universal_d_CommonCursors = CommonCursors;\n  type calendarV3Event_universal_d_ListRecurringEventInstancesHistoryRequest = ListRecurringEventInstancesHistoryRequest;\n  type calendarV3Event_universal_d_ListRecurringEventInstancesHistoryResponse = ListRecurringEventInstancesHistoryResponse;\n  type calendarV3Event_universal_d_CreateEventRequest = CreateEventRequest;\n  type calendarV3Event_universal_d_CreateEventResponse = CreateEventResponse;\n  type calendarV3Event_universal_d_BulkCreateEventRequest = BulkCreateEventRequest;\n  type calendarV3Event_universal_d_MaskedEvent = MaskedEvent;\n  type calendarV3Event_universal_d_BulkCreateEventResponse = BulkCreateEventResponse;\n  type calendarV3Event_universal_d_BulkEventResult = BulkEventResult;\n  type calendarV3Event_universal_d_ItemMetadata = ItemMetadata;\n  type calendarV3Event_universal_d_ApplicationError = ApplicationError;\n  type calendarV3Event_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type calendarV3Event_universal_d_UpdateEventRequest = UpdateEventRequest;\n  type calendarV3Event_universal_d_UpdateEventResponse = UpdateEventResponse;\n  type calendarV3Event_universal_d_EventUpdatedWithMetadata = EventUpdatedWithMetadata;\n  type calendarV3Event_universal_d_BulkUpdateEventRequest = BulkUpdateEventRequest;\n  type calendarV3Event_universal_d_BulkUpdateEventRequestMaskedEvent = BulkUpdateEventRequestMaskedEvent;\n  type calendarV3Event_universal_d_BulkUpdateEventResponse = BulkUpdateEventResponse;\n  type calendarV3Event_universal_d_UpdateEventParticipantsRequest = UpdateEventParticipantsRequest;\n  type calendarV3Event_universal_d_UpdateEventParticipantsResponse = UpdateEventParticipantsResponse;\n  type calendarV3Event_universal_d_RestoreEventDefaultsRequest = RestoreEventDefaultsRequest;\n  type calendarV3Event_universal_d_RestoreEventDefaultsResponse = RestoreEventDefaultsResponse;\n  type calendarV3Event_universal_d_SplitRecurringEventRequest = SplitRecurringEventRequest;\n  type calendarV3Event_universal_d_SplitRecurringEventResponse = SplitRecurringEventResponse;\n  type calendarV3Event_universal_d_RecurringEventSplit = RecurringEventSplit;\n  type calendarV3Event_universal_d_CancelEventRequest = CancelEventRequest;\n  type calendarV3Event_universal_d_CancelEventResponse = CancelEventResponse;\n  type calendarV3Event_universal_d_EventCancelled = EventCancelled;\n  type calendarV3Event_universal_d_BulkCancelEventRequest = BulkCancelEventRequest;\n  type calendarV3Event_universal_d_BulkCancelEventResponse = BulkCancelEventResponse;\n  type calendarV3Event_universal_d_ListEventsByContactIdRequest = ListEventsByContactIdRequest;\n  type calendarV3Event_universal_d_ListEventsByContactIdResponse = ListEventsByContactIdResponse;\n  type calendarV3Event_universal_d_ListEventsByMemberIdRequest = ListEventsByMemberIdRequest;\n  type calendarV3Event_universal_d_ListEventsByMemberIdResponse = ListEventsByMemberIdResponse;\n  const calendarV3Event_universal_d_getEvent: typeof getEvent;\n  type calendarV3Event_universal_d_GetEventOptions = GetEventOptions;\n  const calendarV3Event_universal_d_listEvents: typeof listEvents;\n  type calendarV3Event_universal_d_ListEventsOptions = ListEventsOptions;\n  const calendarV3Event_universal_d_queryEvents: typeof queryEvents;\n  type calendarV3Event_universal_d_QueryEventsOptions = QueryEventsOptions;\n  type calendarV3Event_universal_d_EventsQueryResult = EventsQueryResult;\n  type calendarV3Event_universal_d_EventsQueryBuilder = EventsQueryBuilder;\n  const calendarV3Event_universal_d_createEvent: typeof createEvent;\n  type calendarV3Event_universal_d_CreateEventOptions = CreateEventOptions;\n  const calendarV3Event_universal_d_bulkCreateEvent: typeof bulkCreateEvent;\n  type calendarV3Event_universal_d_BulkCreateEventOptions = BulkCreateEventOptions;\n  const calendarV3Event_universal_d_updateEvent: typeof updateEvent;\n  type calendarV3Event_universal_d_UpdateEvent = UpdateEvent;\n  type calendarV3Event_universal_d_UpdateEventOptions = UpdateEventOptions;\n  const calendarV3Event_universal_d_bulkUpdateEvent: typeof bulkUpdateEvent;\n  type calendarV3Event_universal_d_BulkUpdateEventOptions = BulkUpdateEventOptions;\n  const calendarV3Event_universal_d_restoreEventDefaults: typeof restoreEventDefaults;\n  type calendarV3Event_universal_d_RestoreEventDefaultsOptions = RestoreEventDefaultsOptions;\n  const calendarV3Event_universal_d_splitRecurringEvent: typeof splitRecurringEvent;\n  type calendarV3Event_universal_d_SplitRecurringEventOptions = SplitRecurringEventOptions;\n  const calendarV3Event_universal_d_cancelEvent: typeof cancelEvent;\n  type calendarV3Event_universal_d_CancelEventOptions = CancelEventOptions;\n  const calendarV3Event_universal_d_bulkCancelEvent: typeof bulkCancelEvent;\n  type calendarV3Event_universal_d_BulkCancelEventOptions = BulkCancelEventOptions;\n  const calendarV3Event_universal_d_listEventsByContactId: typeof listEventsByContactId;\n  type calendarV3Event_universal_d_ListEventsByContactIdOptions = ListEventsByContactIdOptions;\n  const calendarV3Event_universal_d_listEventsByMemberId: typeof listEventsByMemberId;\n  type calendarV3Event_universal_d_ListEventsByMemberIdOptions = ListEventsByMemberIdOptions;\n  namespace calendarV3Event_universal_d {\n    export {\n      Event$1 as Event,\n      Status$4 as Status,\n      ZonedDate$2 as ZonedDate,\n      RecurrenceType$1 as RecurrenceType,\n      RecurrenceRule$1 as RecurrenceRule,\n      Frequency$1 as Frequency,\n      Day$1 as Day,\n      Transparency$1 as Transparency,\n      Location$2 as Location,\n      LocationType$2 as LocationType,\n      Resource$1 as Resource,\n      Role$2 as Role,\n      Participants$1 as Participants,\n      Participant$2 as Participant,\n      ParticipantsStatus$1 as ParticipantsStatus,\n      ConferencingDetails$2 as ConferencingDetails,\n      Type$2 as Type,\n      Field$1 as Field,\n      Permission$2 as Permission,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      IdentityType$2 as IdentityType,\n      ExtendedFields$3 as ExtendedFields,\n      calendarV3Event_universal_d_FixSCHED38956Request as FixSCHED38956Request,\n      calendarV3Event_universal_d_FixSCHED38956Response as FixSCHED38956Response,\n      calendarV3Event_universal_d_GetEventRequest as GetEventRequest,\n      RequestedFields$1 as RequestedFields,\n      calendarV3Event_universal_d_GetEventResponse as GetEventResponse,\n      calendarV3Event_universal_d_ListEventsRequest as ListEventsRequest,\n      calendarV3Event_universal_d_ListEventsResponse as ListEventsResponse,\n      calendarV3Event_universal_d_QueryEventsRequest as QueryEventsRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      calendarV3Event_universal_d_Sorting as Sorting,\n      calendarV3Event_universal_d_SortOrder as SortOrder,\n      calendarV3Event_universal_d_CommonCursorPaging as CommonCursorPaging,\n      calendarV3Event_universal_d_QueryEventsResponse as QueryEventsResponse,\n      calendarV3Event_universal_d_CommonCursorPagingMetadata as CommonCursorPagingMetadata,\n      calendarV3Event_universal_d_CommonCursors as CommonCursors,\n      calendarV3Event_universal_d_ListRecurringEventInstancesHistoryRequest as ListRecurringEventInstancesHistoryRequest,\n      calendarV3Event_universal_d_ListRecurringEventInstancesHistoryResponse as ListRecurringEventInstancesHistoryResponse,\n      calendarV3Event_universal_d_CreateEventRequest as CreateEventRequest,\n      calendarV3Event_universal_d_CreateEventResponse as CreateEventResponse,\n      calendarV3Event_universal_d_BulkCreateEventRequest as BulkCreateEventRequest,\n      calendarV3Event_universal_d_MaskedEvent as MaskedEvent,\n      calendarV3Event_universal_d_BulkCreateEventResponse as BulkCreateEventResponse,\n      calendarV3Event_universal_d_BulkEventResult as BulkEventResult,\n      calendarV3Event_universal_d_ItemMetadata as ItemMetadata,\n      calendarV3Event_universal_d_ApplicationError as ApplicationError,\n      calendarV3Event_universal_d_BulkActionMetadata as BulkActionMetadata,\n      calendarV3Event_universal_d_UpdateEventRequest as UpdateEventRequest,\n      ParticipantNotification$1 as ParticipantNotification,\n      calendarV3Event_universal_d_UpdateEventResponse as UpdateEventResponse,\n      calendarV3Event_universal_d_EventUpdatedWithMetadata as EventUpdatedWithMetadata,\n      calendarV3Event_universal_d_BulkUpdateEventRequest as BulkUpdateEventRequest,\n      calendarV3Event_universal_d_BulkUpdateEventRequestMaskedEvent as BulkUpdateEventRequestMaskedEvent,\n      calendarV3Event_universal_d_BulkUpdateEventResponse as BulkUpdateEventResponse,\n      calendarV3Event_universal_d_UpdateEventParticipantsRequest as UpdateEventParticipantsRequest,\n      calendarV3Event_universal_d_UpdateEventParticipantsResponse as UpdateEventParticipantsResponse,\n      calendarV3Event_universal_d_RestoreEventDefaultsRequest as RestoreEventDefaultsRequest,\n      calendarV3Event_universal_d_RestoreEventDefaultsResponse as RestoreEventDefaultsResponse,\n      calendarV3Event_universal_d_SplitRecurringEventRequest as SplitRecurringEventRequest,\n      calendarV3Event_universal_d_SplitRecurringEventResponse as SplitRecurringEventResponse,\n      calendarV3Event_universal_d_RecurringEventSplit as RecurringEventSplit,\n      calendarV3Event_universal_d_CancelEventRequest as CancelEventRequest,\n      calendarV3Event_universal_d_CancelEventResponse as CancelEventResponse,\n      calendarV3Event_universal_d_EventCancelled as EventCancelled,\n      calendarV3Event_universal_d_BulkCancelEventRequest as BulkCancelEventRequest,\n      calendarV3Event_universal_d_BulkCancelEventResponse as BulkCancelEventResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      MessageEnvelope$4 as MessageEnvelope,\n      WebhooksIdentificationData$2 as WebhooksIdentificationData,\n      WebhooksIdentificationDataIdOneOf$2 as WebhooksIdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      SitePropertiesNotification$2 as SitePropertiesNotification,\n      SitePropertiesEvent$2 as SitePropertiesEvent,\n      Properties$2 as Properties,\n      Categories$2 as Categories,\n      Locale$2 as Locale,\n      Address$2 as Address,\n      AddressHint$2 as AddressHint,\n      PlacementType$2 as PlacementType,\n      GeoCoordinates$2 as GeoCoordinates,\n      BusinessSchedule$2 as BusinessSchedule,\n      TimePeriod$2 as TimePeriod,\n      DayOfWeek$2 as DayOfWeek,\n      SpecialHourPeriod$2 as SpecialHourPeriod,\n      Multilingual$2 as Multilingual,\n      SupportedLanguage$2 as SupportedLanguage,\n      ResolutionMethod$2 as ResolutionMethod,\n      ConsentPolicy$2 as ConsentPolicy,\n      Translation$2 as Translation,\n      ChangeContext$2 as ChangeContext,\n      ChangeContextPayloadOneOf$2 as ChangeContextPayloadOneOf,\n      PropertiesChange$2 as PropertiesChange,\n      V4SiteCreated$2 as V4SiteCreated,\n      SiteCloned$2 as SiteCloned,\n      Empty$4 as Empty,\n      calendarV3Event_universal_d_ListEventsByContactIdRequest as ListEventsByContactIdRequest,\n      CursorPaging$2 as CursorPaging,\n      calendarV3Event_universal_d_ListEventsByContactIdResponse as ListEventsByContactIdResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      calendarV3Event_universal_d_ListEventsByMemberIdRequest as ListEventsByMemberIdRequest,\n      calendarV3Event_universal_d_ListEventsByMemberIdResponse as ListEventsByMemberIdResponse,\n      calendarV3Event_universal_d_getEvent as getEvent,\n      calendarV3Event_universal_d_GetEventOptions as GetEventOptions,\n      calendarV3Event_universal_d_listEvents as listEvents,\n      calendarV3Event_universal_d_ListEventsOptions as ListEventsOptions,\n      calendarV3Event_universal_d_queryEvents as queryEvents,\n      calendarV3Event_universal_d_QueryEventsOptions as QueryEventsOptions,\n      calendarV3Event_universal_d_EventsQueryResult as EventsQueryResult,\n      calendarV3Event_universal_d_EventsQueryBuilder as EventsQueryBuilder,\n      calendarV3Event_universal_d_createEvent as createEvent,\n      calendarV3Event_universal_d_CreateEventOptions as CreateEventOptions,\n      calendarV3Event_universal_d_bulkCreateEvent as bulkCreateEvent,\n      calendarV3Event_universal_d_BulkCreateEventOptions as BulkCreateEventOptions,\n      calendarV3Event_universal_d_updateEvent as updateEvent,\n      calendarV3Event_universal_d_UpdateEvent as UpdateEvent,\n      calendarV3Event_universal_d_UpdateEventOptions as UpdateEventOptions,\n      calendarV3Event_universal_d_bulkUpdateEvent as bulkUpdateEvent,\n      calendarV3Event_universal_d_BulkUpdateEventOptions as BulkUpdateEventOptions,\n      calendarV3Event_universal_d_restoreEventDefaults as restoreEventDefaults,\n      calendarV3Event_universal_d_RestoreEventDefaultsOptions as RestoreEventDefaultsOptions,\n      calendarV3Event_universal_d_splitRecurringEvent as splitRecurringEvent,\n      calendarV3Event_universal_d_SplitRecurringEventOptions as SplitRecurringEventOptions,\n      calendarV3Event_universal_d_cancelEvent as cancelEvent,\n      calendarV3Event_universal_d_CancelEventOptions as CancelEventOptions,\n      calendarV3Event_universal_d_bulkCancelEvent as bulkCancelEvent,\n      calendarV3Event_universal_d_BulkCancelEventOptions as BulkCancelEventOptions,\n      calendarV3Event_universal_d_listEventsByContactId as listEventsByContactId,\n      calendarV3Event_universal_d_ListEventsByContactIdOptions as ListEventsByContactIdOptions,\n      calendarV3Event_universal_d_listEventsByMemberId as listEventsByMemberId,\n      calendarV3Event_universal_d_ListEventsByMemberIdOptions as ListEventsByMemberIdOptions,\n    };\n  }\n  \n  /**\n   * The `eventsView` object gives you details about how far into the future you can\n   * easily get a complete picture of a calendar. Subscribing to the event view\n   * webhooks lets you keep track of a calendar's single-occurrence, `EXCEPTION`, and\n   * `INSTANCE` events at least one year into the future.\n   */\n  interface EventsView {\n      /**\n       * End date of the event view in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      endDate?: Date | null;\n      /**\n       * Number of days from now until the event view ends.\n       * @readonly\n       */\n      futureDurationInDays?: number | null;\n  }\n  interface EventsViewProjectionUpdated extends EventsViewProjectionUpdatedTypeOneOf {\n      /**\n       * Available when there is a change to an event in the current event view, including when:\n       * + An event is created within the view.\n       * + An existing event is updated, unless its start time moves outside the view. Then, `eventRemoved` is returned.\n       * + An event previously outside the view is rescheduled to fall within it.\n       * + The view is extended, bringing an event into scope.\n       */\n      eventAddedOrUpdated?: EventAddedOrUpdated;\n      /**\n       * Available when an event has been removed from the current view, including\n       * when:\n       * + An event within the view is deleted.\n       * + An event within the view is rescheduled so that its start time falls outside the view.\n       */\n      eventRemoved?: EventRemoved;\n      /**\n       * ID of the app that owns the event. Identical to `appId` of the\n       * [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction)\n       * to which the event belongs.\n       */\n      appId?: string | null;\n  }\n  /** @oneof */\n  interface EventsViewProjectionUpdatedTypeOneOf {\n      /**\n       * Available when there is a change to an event in the current event view, including when:\n       * + An event is created within the view.\n       * + An existing event is updated, unless its start time moves outside the view. Then, `eventRemoved` is returned.\n       * + An event previously outside the view is rescheduled to fall within it.\n       * + The view is extended, bringing an event into scope.\n       */\n      eventAddedOrUpdated?: EventAddedOrUpdated;\n      /**\n       * Available when an event has been removed from the current view, including\n       * when:\n       * + An event within the view is deleted.\n       * + An event within the view is rescheduled so that its start time falls outside the view.\n       */\n      eventRemoved?: EventRemoved;\n  }\n  interface EventAddedOrUpdated {\n      /** Event that was added or updated. */\n      event?: Event;\n      /**\n       * Event’s original version before an update. Available only when an event is\n       * updated. Not available when a new event is created or an existing event falls\n       * into the view because the view is extended.\n       */\n      previousEvent?: Event;\n  }\n  /**\n   * An event is a scheduled entry on a calendar that includes details like timing,\n   * location, and participants. Each event is associated with\n   * a [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction),\n   * from which it may [inherit default values](https://dev.wix.com/docs/rest/business-management/calendar/default-values).\n   * Events can either be standalone, part of a recurring series, or define a\n   * recurrence pattern. You can also specify whether events block time on the\n   * schedule or allow other events to be scheduled concurrently.\n   */\n  interface Event {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * ID of the [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object)\n       * the event belongs to.\n       * After creating an event, you can't assign it to a different schedule.\n       */\n      scheduleId?: string | null;\n      /**\n       * ID of the external schedule the event belongs to.\n       *\n       * For example, if the event belongs to a Bookings staff member, identical to\n       * the ID of the [resource](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members-and-resources/resource-v2/resource-object).\n       * If the schedule belongs to a Bookings service,\n       * identical to the ID of the [service](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/service-object).\n       * @readonly\n       */\n      externalScheduleId?: string | null;\n      /**\n       * Schedule name.\n       * @readonly\n       */\n      scheduleName?: string | null;\n      /**\n       * Event type. You can set the event type but you can't update it.\n       *\n       * Supported values:\n       * + `DEFAULT`: A standard event that's not further specified.\n       * + `WORKING_HOURS`: The event adds working hours to a schedule. By default not returned in [Query Events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/query-events).\n       *\n       * Additional supported values, if Wix Bookings is installed:\n       * + `APPOINTMENT`: Bookings appointment event.\n       * + `CLASS`: Bookings class event.\n       * + `COURSE`: Bookings course event.\n       */\n      type?: string | null;\n      /**\n       * Event status.\n       *\n       * Supported values:\n       * + `CONFIRMED`: Event is scheduled to happen or has happened.\n       * + `CANCELLED`: Event has been canceled.\n       *\n       * Default: `CONFIRMED`\n       * @readonly\n       */\n      status?: Status$3;\n      /**\n       * Event title.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      title?: string | null;\n      /** Information about when the event starts. */\n      start?: ZonedDate$1;\n      /**\n       * Information about when the event ends.\n       *\n       * Maximum allowed date: Year 2100, or up to 100 years from the event's start date (whichever comes first).\n       */\n      end?: ZonedDate$1;\n      /**\n       * Information about when the event starts adjusted to the `timeZone` of the\n       * business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/properties-object)\n       * or a different `timeZone` you provide in the call's request.\n       * @readonly\n       */\n      adjustedStart?: ZonedDate$1;\n      /**\n       * Information about when the event ends adjusted to the `timeZone` of the\n       * business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/properties-object)\n       * or a different `timeZone` you provide in the call's request.\n       * @readonly\n       */\n      adjustedEnd?: ZonedDate$1;\n      /**\n       * Time zone the event is associated with in\n       * [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n       * Only regional time zones and UTC are supported.\n       * For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` of the [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object).\n       */\n      timeZone?: string | null;\n      /**\n       * Information about whether the event is a single occurrence or part of a\n       * recurring series.\n       *\n       * Supported values:\n       * + `NONE`: The event occurs only once and doesn't repeat.\n       * + `MASTER`: Defines the recurrence pattern for a series of recurring events.\n       * + `INSTANCE`: A specific occurrence of a recurring event. You can't create an event with `{\"recurrenceType\": \"INSTANCE\"}`, instead it's automatically generated based on the recurrence rule. If you update an `INSTANCE` event, `recurrenceType` automatically changes to `EXCEPTION`.\n       * + `EXCEPTION`: A modified instance of a recurring event that differs from the recurrence pattern. For example, an event with a different time or location. You can't create an `EXCEPTION` event directly, instead it's set automatically when you update an `INSTANCE` event.\n       *\n       * Default: `NONE`\n       * @readonly\n       */\n      recurrenceType?: RecurrenceType;\n      /**\n       * Recurrence pattern for a series of events. This field is required when\n       * creating a `MASTER` event and isn't available for non-recurring events.\n       * You can't update the recurrence rule for `INSTANCE` or `EXCEPTION` events.\n       *\n       * For example, an event that repeats every second Monday until January 7, 2026,\n       * at 8:00 AM has the following `recurrenceRule`:\n       * - `frequency = WEEKLY`\n       * - `interval = 2`\n       * - `days = [MONDAY]`\n       * - `until = 20260107T08:00:00Z`\n       */\n      recurrenceRule?: RecurrenceRule;\n      /**\n       * ID of the `MASTER` event the event belongs to. Available only for `INSTANCE`\n       * and `EXCEPTION` events.\n       * @readonly\n       */\n      recurringEventId?: string | null;\n      /**\n       * Specifies whether the event blocks time in the schedule it belongs to.\n       *\n       * Supported values:\n       * + `OPAQUE`:  The schedule is blocked during the event, preventing other events that involve the same entities (for example, Booking staff members) from being scheduled at the same time.\n       * + `TRANSPARENT`: The schedule remains open during the event, allowing other events to be scheduled concurrently.\n       *\n       * Default: `OPAQUE`\n       */\n      transparency?: Transparency;\n      /**\n       * Event location.\n       *\n       * Default: `defaultLocation` of the [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object) the event belongs to\n       */\n      location?: Location$1;\n      /**\n       * List of [Wix Bookings resources](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members-and-resources/resource-v2/resource-object)\n       * affected by the event. This could include, for example, the\n       * [Wix Bookings staff member](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members-and-resources/staff-member-v1/staff-member-object)\n       * providing the service or the room where the appointment takes place.\n       *\n       * Max: 100 resources\n       */\n      resources?: Resource[];\n      /**\n       * Maximum number of participants who can participate in the event.\n       *\n       * Default: `defaultCapacity` of the [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object) the event belongs to\n       */\n      totalCapacity?: number | null;\n      /**\n       * Number of participants who can still be added to the event.\n       * @readonly\n       */\n      remainingCapacity?: number | null;\n      /**\n       * Information about the event's participants.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions#retrieve-personal-information).\n       * @readonly\n       */\n      participants?: Participants;\n      /**\n       * Information about the event's online conferencing.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions#retrieve-personal-information).\n       *\n       * Default: `defaultConferencingDetails` of the [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object) the event belongs to\n       */\n      conferencingDetails?: ConferencingDetails$1;\n      /**\n       * Additional notes about the event.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions#retrieve-personal-information).\n       *\n       * Min: 1 character\n       * Max: 5000 characters\n       */\n      notes?: string | null;\n      /**\n       * List of fields whose values are inherited.\n       * + For single-occurrence events, values are inherited from the [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object).\n       * + For `INSTANCE` and `EXCEPTION` events, values are inherited from the related `MASTER` event.\n       * @readonly\n       */\n      inheritedFields?: Field[];\n      /**\n       * ID of the app that owns the event. Identical to `appId` of the\n       * [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction)\n       * to which the event belongs.\n       * @readonly\n       */\n      appId?: string | null;\n      /**\n       * List of permissions associated with the event. Refer to the\n       * [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions#roles)\n       * for more information.\n       * @readonly\n       */\n      permissions?: Permission$1[];\n      /** Extensions enabling applications or users to save custom data related to the event. */\n      extendedFields?: ExtendedFields$2;\n      /**\n       * Revision number, which increments each time the event is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the event.\n       * Ignored when creating an event.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date the event was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the event was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  enum Status$3 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Event is scheduled to happen or has happened. */\n      CONFIRMED = \"CONFIRMED\",\n      /** DEPRECATED! AND WILL BE REMOVED SOON */\n      PENDING_CONFIRMATION = \"PENDING_CONFIRMATION\",\n      /** Event has been canceled. */\n      CANCELLED = \"CANCELLED\"\n  }\n  /** A date time with a time zone, having the UTC offset and date determined by the server. */\n  interface ZonedDate$1 {\n      /**\n       * Local date time in [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n       * For example, `2024-01-30T13:30:00`.\n       * Wix Calendar APIs ignore seconds.\n       */\n      localDate?: string | null;\n      /**\n       * Time zone in\n       * [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n       * For example, `America/New_York`.\n       * @readonly\n       */\n      timeZone?: string | null;\n      /**\n       * UTC date time in [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n       * For example, `2024-01-30T13:30:00`.\n       * Not available for adjusted date fields.\n       * @readonly\n       */\n      utcDate?: Date | null;\n  }\n  enum RecurrenceType {\n      UNKNOWN_RECURRENCE_TYPE = \"UNKNOWN_RECURRENCE_TYPE\",\n      /** The event occurs only once and doesn't repeat. */\n      NONE = \"NONE\",\n      /** Defines the recurrence pattern for a series of recurring events. */\n      MASTER = \"MASTER\",\n      /** A specific occurrence of a recurring event. You can't create an event with `{\"recurrenceType\": \"INSTANCE\"}`, instead it's automatically generated based on the recurrence rule. If you update an `INSTANCE` event, `recurrenceType` automatically changes to `EXCEPTION`. */\n      INSTANCE = \"INSTANCE\",\n      /** A modified instance of a recurring event that differs from the recurrence pattern. For example, an event with a different time or location. You can't create an `EXCEPTION` event directly, instead it's set automatically when you update an `INSTANCE` event. */\n      EXCEPTION = \"EXCEPTION\"\n  }\n  interface RecurrenceRule {\n      /**\n       * Frequency how often the event repeats. Works together with `interval`.\n       *\n       * Supported values:\n       * + `WEEKLY`: The event's recurrence pattern is based on weeks.\n       */\n      frequency?: Frequency;\n      /**\n       * Interval how often the event repeats. Works together with `frequency`.\n       * For example, `frequency` set to `WEEKLY`  and `interval` set to `2` means\n       * the event repeats every 2 weeks.\n       *\n       * Min: `1`\n       * Max: `4`\n       * Default: `1`\n       */\n      interval?: number | null;\n      /**\n       * Days of the week when the recurring event takes place.\n       * Currently, only a single day is supported.\n       *\n       * Min: 1 day\n       * Max: 1 day\n       */\n      days?: Day[];\n      /**\n       * Date until when the event repeats.\n       * If not specified, the event repeats forever.\n       */\n      until?: ZonedDate$1;\n      /**\n       * Date until when the event repeats\n       * adjusted to the `timeZone` of the business\n       * [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/properties-object)\n       * or a different `timeZone` you provide in the call's request.\n       * @readonly\n       */\n      adjustedUntil?: ZonedDate$1;\n  }\n  enum Frequency {\n      UNKNOWN_FREQUENCY = \"UNKNOWN_FREQUENCY\",\n      /** The event's recurrence pattern is based on weeks. */\n      WEEKLY = \"WEEKLY\"\n  }\n  enum Day {\n      /** The recurring event takes place on Mondays. */\n      MONDAY = \"MONDAY\",\n      /** The recurring event takes place on Tuesdays. */\n      TUESDAY = \"TUESDAY\",\n      /** The recurring event takes place on Wednesday. */\n      WEDNESDAY = \"WEDNESDAY\",\n      /** The recurring event takes place on Thursdays. */\n      THURSDAY = \"THURSDAY\",\n      /** The recurring event takes place on Fridays. */\n      FRIDAY = \"FRIDAY\",\n      /** The recurring event takes place on Saturdays. */\n      SATURDAY = \"SATURDAY\",\n      /** The recurring event takes place on Sundays. */\n      SUNDAY = \"SUNDAY\"\n  }\n  enum Transparency {\n      UNKNOWN_TRANSPARENCY = \"UNKNOWN_TRANSPARENCY\",\n      /** The schedule is blocked during the event, preventing other events that involve the same entities (for example, Booking staff members) from being scheduled at the same time. */\n      OPAQUE = \"OPAQUE\",\n      /** The schedule remains open during the event, allowing other events to be scheduled concurrently. */\n      TRANSPARENT = \"TRANSPARENT\"\n  }\n  interface Location$1 {\n      /**\n       * [Location](https://dev.wix.com/docs/rest/business-management/locations/location-object)\n       * ID. Available only for `BUSINESS` locations.\n       */\n      _id?: string | null;\n      /**\n       * Location type.\n       *\n       * Supported values:\n       * + `BUSINESS`: The event is held at a business location.\n       * + `CUSTOMER`: The event is held at the customer's location, such as their home or office.\n       * + `CUSTOM`: The event is held at an address or venue not tied to the business or customer.\n       */\n      type?: LocationType$1;\n      /**\n       * Location name. For `BUSINESS` locations, it's identical to the\n       * [location](https://dev.wix.com/docs/rest/business-management/locations/location-object)\n       * `name`.\n       *\n       * Min: 1 character\n       * Max: 150 characters\n       */\n      name?: string | null;\n      /**\n       * Location address. For `BUSINESS` locations, it's identical to the\n       * [location](https://dev.wix.com/docs/rest/business-management/locations/location-object)'s\n       * `formattedAddress`.\n       */\n      address?: string | null;\n  }\n  enum LocationType$1 {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** The event is held at a business location. */\n      BUSINESS = \"BUSINESS\",\n      /** The event is held at the customer's location, such as their home or office. */\n      CUSTOMER = \"CUSTOMER\",\n      /** The event is held at an address or venue not tied to the business or customer. */\n      CUSTOM = \"CUSTOM\"\n  }\n  interface Resource {\n      /** Resource ID. */\n      _id?: string | null;\n      /**\n       * Resource name.\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Resource type.\n       * @readonly\n       */\n      type?: string | null;\n      /**\n       * ID of the resource's [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object).\n       * @internal\n       * @readonly\n       */\n      scheduleId?: string | null;\n      /**\n       * Specifies whether the event blocks time in the resource's schedule.\n       *\n       * Supported values:\n       * + `OPAQUE`: The schedule is blocked during the event, preventing other events that involve the same resource from being scheduled at the same time.\n       * + `TRANSPARENT`: The schedule remains open during the event, allowing other events to be scheduled concurrently.\n       *\n       * Default: `OPAQUE`.\n       */\n      transparency?: Transparency;\n      /**\n       * Permission role associated with the resource. Refer to the\n       * [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions#roles)\n       * for more information.\n       */\n      permissionRole?: Role$1;\n  }\n  enum Role$1 {\n      UNKNOWN_ROLE = \"UNKNOWN_ROLE\",\n      /** Full read and write access. */\n      WRITER = \"WRITER\",\n      /** Full read access, write access limited to `event.notes`. */\n      COMMENTER = \"COMMENTER\"\n  }\n  interface Participants {\n      /**\n       * Total number of participants.\n       *\n       * Min: `0`\n       */\n      total?: number | null;\n      /**\n       * Full or partial list of the participants.\n       *\n       * Max: 50 participants\n       */\n      list?: Participant$1[];\n      /**\n       * Whether there are more participants for the event than listed.\n       *\n       * + `false`: The list includes all participants.\n       * + `true`: The list doesn't include all participants.\n       */\n      hasMore?: boolean | null;\n      /**\n       * Participant's status.\n       *\n       * Supported values:\n       * + `CONFIRMED`: All participants are confirmed.\n       * + `PENDING_CONFIRMATION`: At least one participant isn't confirmed yet.\n       */\n      status?: ParticipantsStatus;\n  }\n  interface Participant$1 {\n      /**\n       * Participant name.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      name?: string | null;\n      /** Participant's phone number. */\n      phone?: string | null;\n      /** Participant's email address. */\n      email?: string | null;\n      /**\n       * [Contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/contact-object)\n       * ID of the participant.\n       */\n      contactId?: string | null;\n  }\n  enum ParticipantsStatus {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** All participants are confirmed. */\n      CONFIRMED = \"CONFIRMED\",\n      /** At least one participant isn't confirmed yet. */\n      PENDING_CONFIRMATION = \"PENDING_CONFIRMATION\"\n  }\n  interface ConferencingDetails$1 {\n      /** Conference type. For example, `Zoom`. */\n      type?: Type$1;\n      /**\n       * URL used by the host to start the conference.\n       *\n       * Min: 1 character\n       * Max: 2000 characters\n       */\n      hostUrl?: string | null;\n      /**\n       * URL used by a guest to join the conference.\n       *\n       * Min: 1 character\n       * Max: 2000 characters\n       */\n      guestUrl?: string | null;\n      /**\n       * Conference password.\n       *\n       * Min: 1 character\n       * Max: 100 characters\n       */\n      password?: string | null;\n      /**\n       * Conference description.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       * @internal\n       */\n      description?: string | null;\n      /**\n       * Conference ID in an external system.\n       *\n       * Min: 1 character\n       * Max: 150 characters\n       */\n      externalId?: string | null;\n  }\n  enum Type$1 {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      ZOOM = \"ZOOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  enum Field {\n      UNKNOWN_FIELD = \"UNKNOWN_FIELD\",\n      /** `title` is inherited from the schedule or `MASTER` event. */\n      TITLE = \"TITLE\",\n      /** `timeZone` is inherited from the schedule or `MASTER` event. */\n      TIME_ZONE = \"TIME_ZONE\",\n      /** `start` and `end` are inherited from the `MASTER` event. */\n      TIME = \"TIME\",\n      /** `location` is inherited from the schedule or `MASTER` event. */\n      LOCATION = \"LOCATION\",\n      /** `resources` is inherited from the `MASTER` event. */\n      RESOURCES = \"RESOURCES\",\n      /** `capacity` is inherited from the schedule or `MASTER` event. */\n      CAPACITY = \"CAPACITY\",\n      /** `participants` is inherited from the `MASTER` event. */\n      PARTICIPANTS = \"PARTICIPANTS\",\n      /** `conferencingDetails` is inherited from the schedule or `MASTER` event. */\n      CONFERENCING_DETAILS = \"CONFERENCING_DETAILS\"\n  }\n  interface Permission$1 {\n      /**\n       * [Wix user](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities#wix-users)\n       * granted the permission.\n       */\n      identity?: IdentificationData$3;\n      /**\n       * Permission role.\n       *\n       * Supported values:\n       * + `WRITER`: Full read and write access.\n       * + `COMMENTER`: Full read access, write access limited to `event.notes`.\n       */\n      role?: Role$1;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /**\n       * ID of a Wix user. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      wixUserId?: string;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /**\n       * ID of a Wix user. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      wixUserId?: string;\n  }\n  enum IdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      WIX_USER = \"WIX_USER\"\n  }\n  interface ExtendedFields$2 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface EventRemoved {\n      /** Event that was removed from the current view. */\n      event?: Event;\n  }\n  interface EventsViewExtended {\n      /**\n       * Extended date of the events view in `YYYY-MM-DDTHH:MM:SSZ`\n       * format.\n       */\n      extendedEndDate?: Date | null;\n  }\n  interface GetEventsViewRequest {\n  }\n  interface GetEventsViewResponse {\n      /** Retrieved event view. */\n      eventsView?: EventsView;\n  }\n  interface ExtendEventsViewRequest {\n      /**\n       * Number of days from now until the event view ends.\n       * Must be greater than the current value.\n       */\n      futureDurationInDays?: number | null;\n  }\n  interface ExtendEventsViewResponse {\n      /** Udated event view. */\n      eventsView?: EventsView;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface Empty$3 {\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData$1 extends WebhooksIdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Doesn’t return details about events within the view. You can use\n   * [queryEvents()](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/query-events),\n   * providing `eventsView.endDate` as `toLocalDate` to retrieve the\n   * events.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CALENDAR.EVENT_VIEW_READ\n   * @adminMethod\n   */\n  function getEventsView(): Promise<GetEventsViewResponse>;\n  \n  type calendarV3EventsView_universal_d_EventsView = EventsView;\n  type calendarV3EventsView_universal_d_EventsViewProjectionUpdated = EventsViewProjectionUpdated;\n  type calendarV3EventsView_universal_d_EventsViewProjectionUpdatedTypeOneOf = EventsViewProjectionUpdatedTypeOneOf;\n  type calendarV3EventsView_universal_d_EventAddedOrUpdated = EventAddedOrUpdated;\n  type calendarV3EventsView_universal_d_Event = Event;\n  type calendarV3EventsView_universal_d_RecurrenceType = RecurrenceType;\n  const calendarV3EventsView_universal_d_RecurrenceType: typeof RecurrenceType;\n  type calendarV3EventsView_universal_d_RecurrenceRule = RecurrenceRule;\n  type calendarV3EventsView_universal_d_Frequency = Frequency;\n  const calendarV3EventsView_universal_d_Frequency: typeof Frequency;\n  type calendarV3EventsView_universal_d_Day = Day;\n  const calendarV3EventsView_universal_d_Day: typeof Day;\n  type calendarV3EventsView_universal_d_Transparency = Transparency;\n  const calendarV3EventsView_universal_d_Transparency: typeof Transparency;\n  type calendarV3EventsView_universal_d_Resource = Resource;\n  type calendarV3EventsView_universal_d_Participants = Participants;\n  type calendarV3EventsView_universal_d_ParticipantsStatus = ParticipantsStatus;\n  const calendarV3EventsView_universal_d_ParticipantsStatus: typeof ParticipantsStatus;\n  type calendarV3EventsView_universal_d_Field = Field;\n  const calendarV3EventsView_universal_d_Field: typeof Field;\n  type calendarV3EventsView_universal_d_EventRemoved = EventRemoved;\n  type calendarV3EventsView_universal_d_EventsViewExtended = EventsViewExtended;\n  type calendarV3EventsView_universal_d_GetEventsViewRequest = GetEventsViewRequest;\n  type calendarV3EventsView_universal_d_GetEventsViewResponse = GetEventsViewResponse;\n  type calendarV3EventsView_universal_d_ExtendEventsViewRequest = ExtendEventsViewRequest;\n  type calendarV3EventsView_universal_d_ExtendEventsViewResponse = ExtendEventsViewResponse;\n  const calendarV3EventsView_universal_d_getEventsView: typeof getEventsView;\n  namespace calendarV3EventsView_universal_d {\n    export {\n      calendarV3EventsView_universal_d_EventsView as EventsView,\n      calendarV3EventsView_universal_d_EventsViewProjectionUpdated as EventsViewProjectionUpdated,\n      calendarV3EventsView_universal_d_EventsViewProjectionUpdatedTypeOneOf as EventsViewProjectionUpdatedTypeOneOf,\n      calendarV3EventsView_universal_d_EventAddedOrUpdated as EventAddedOrUpdated,\n      calendarV3EventsView_universal_d_Event as Event,\n      Status$3 as Status,\n      ZonedDate$1 as ZonedDate,\n      calendarV3EventsView_universal_d_RecurrenceType as RecurrenceType,\n      calendarV3EventsView_universal_d_RecurrenceRule as RecurrenceRule,\n      calendarV3EventsView_universal_d_Frequency as Frequency,\n      calendarV3EventsView_universal_d_Day as Day,\n      calendarV3EventsView_universal_d_Transparency as Transparency,\n      Location$1 as Location,\n      LocationType$1 as LocationType,\n      calendarV3EventsView_universal_d_Resource as Resource,\n      Role$1 as Role,\n      calendarV3EventsView_universal_d_Participants as Participants,\n      Participant$1 as Participant,\n      calendarV3EventsView_universal_d_ParticipantsStatus as ParticipantsStatus,\n      ConferencingDetails$1 as ConferencingDetails,\n      Type$1 as Type,\n      calendarV3EventsView_universal_d_Field as Field,\n      Permission$1 as Permission,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      IdentityType$1 as IdentityType,\n      ExtendedFields$2 as ExtendedFields,\n      calendarV3EventsView_universal_d_EventRemoved as EventRemoved,\n      calendarV3EventsView_universal_d_EventsViewExtended as EventsViewExtended,\n      calendarV3EventsView_universal_d_GetEventsViewRequest as GetEventsViewRequest,\n      calendarV3EventsView_universal_d_GetEventsViewResponse as GetEventsViewResponse,\n      calendarV3EventsView_universal_d_ExtendEventsViewRequest as ExtendEventsViewRequest,\n      calendarV3EventsView_universal_d_ExtendEventsViewResponse as ExtendEventsViewResponse,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      Empty$3 as Empty,\n      MessageEnvelope$3 as MessageEnvelope,\n      WebhooksIdentificationData$1 as WebhooksIdentificationData,\n      WebhooksIdentificationDataIdOneOf$1 as WebhooksIdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      calendarV3EventsView_universal_d_getEventsView as getEventsView,\n    };\n  }\n  \n  /**\n   * The `participation` object represents the relationship between a participant and\n   * an [event](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object)\n   * or [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object).\n   * It includes details about the participant, whether the participation status is confirmed or\n   * pending, which app owns the relevant event or schedule, and allows for custom data extensions.\n   */\n  interface Participation extends ParticipationParticipatedItemOneOf {\n      /**\n       * ID of the [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object)\n       * associated with the participation.\n       */\n      scheduleId?: string | null;\n      /**\n       * ID of the [event](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object)\n       * associated with the participation.\n       */\n      eventId?: string | null;\n      /**\n       * Participation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** External ID. */\n      externalId?: string | null;\n      /** Information about the participant. */\n      participant?: Participant;\n      /**\n       * Party size of the group or `1` for individuals.\n       *\n       * Min: `1`\n       * Max: `1000`\n       */\n      partySize?: number | null;\n      /**\n       * Status of the party's participation in the event. Depending on your\n       * implementation, confirmation may be handled by the business owner or the customer.\n       *\n       * Supported values:\n       * + `CONFIRMED`: The party's participation is confirmed. For example, the business owner has confirmed a [booking](https://dev.wix.com/docs/rest/business-solutions/bookings/about-wix-bookings).\n       * + `PENDING_CONFIRMATION`: The party's participation is awaiting confirmation. For example, the business owner still needs to approve the [booking](https://dev.wix.com/docs/rest/business-solutions/bookings/about-wix-bookings).\n       *\n       * Default: `CONFIRMED`\n       */\n      status?: Status$2;\n      /**\n       * ID of the app that owns the participation `object`. Identical to `appId` of the\n       * [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object)\n       * that the related\n       * [event](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object)\n       * belongs to.\n       * @readonly\n       */\n      appId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the participation is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the participation.\n       * Ignored when creating a participation.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date the participation was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the participation was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Extensions enabling applications or users to save custom data related to the participation. */\n      extendedFields?: ExtendedFields$1;\n  }\n  /** @oneof */\n  interface ParticipationParticipatedItemOneOf {\n      /**\n       * ID of the [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object)\n       * associated with the participation.\n       */\n      scheduleId?: string | null;\n      /**\n       * ID of the [event](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object)\n       * associated with the participation.\n       */\n      eventId?: string | null;\n  }\n  interface Participant {\n      /**\n       * Participant name.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      name?: string | null;\n      /** Participant's phone number. */\n      phone?: string | null;\n      /** Participant's email address. */\n      email?: string | null;\n      /**\n       * [Contact](https://dev.wix.com/docs/sdk/backend-modules/crm/contacts/introduction)\n       * ID of the participant.\n       */\n      contactId?: string | null;\n  }\n  enum Status$2 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** The party's participation is confirmed. For example, the business owner has confirmed a [booking](https://dev.wix.com/docs/rest/business-solutions/bookings/about-wix-bookings). */\n      CONFIRMED = \"CONFIRMED\",\n      /** The party's participation is awaiting confirmation. For example, the business owner still needs to approve the [booking](https://dev.wix.com/docs/rest/business-solutions/bookings/about-wix-bookings). */\n      PENDING_CONFIRMATION = \"PENDING_CONFIRMATION\"\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface GetParticipationRequest {\n      /** ID of the `participation` object to retrieve. */\n      participationId: string | null;\n  }\n  interface GetParticipationResponse {\n      /** Retrieved `participation` object. */\n      participation?: Participation;\n  }\n  interface QueryParticipationsRequest {\n      /** Query containing filters and paging. */\n      query?: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface CursorPaging$1 {\n      /** Number of participations to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryParticipationsResponse {\n      /** Retrieved `participation` objects matching the provided query. */\n      participations?: Participation[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CreateParticipationRequest {\n      /** `participation` object to create. */\n      participation: Participation;\n      /**\n       * Idempotency key guaranteeing that you don't create the same `participation`\n       * object more than once.\n       */\n      idempotencyKey?: string | null;\n  }\n  interface CreateParticipationResponse {\n      /** Created `participation` object. */\n      participation?: Participation;\n  }\n  interface UpdateParticipationRequest {\n      /** `participation` object to update. */\n      participation: Participation;\n      /**\n       * Optional field mask of fields to update.\n       * @internal\n       */\n      fieldmask?: string[];\n  }\n  interface UpdateParticipationResponse {\n      /** Updated `participation` object. */\n      participation?: Participation;\n  }\n  interface ParticipationUpdatedWithMetadata {\n      /** The updated participation. */\n      participation?: Participation;\n      /**\n       * Temporary! will be replaced by diff very soon.\n       * @internal\n       * @deprecated\n       */\n      previousParticipation?: Participation;\n  }\n  interface DeleteParticipationRequest {\n      /** ID of `participation` object to delete. */\n      participationId: string | null;\n  }\n  interface DeleteParticipationResponse {\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface Empty$2 {\n  }\n  interface SumParticipationsPartySizeByScheduleIdRequest {\n      /** The schedule IDs. */\n      scheduleIds?: string[] | null;\n  }\n  interface SumParticipationsPartySizeByScheduleIdResponse {\n      /** The sum of party size by schedule ID. */\n      partySizeSumByScheduleId?: PartySizeSumByScheduleId[];\n  }\n  interface PartySizeSumByScheduleId {\n      /** The ID of the schedule. */\n      scheduleId?: string | null;\n      /** The sum of the participations party size. */\n      partySizeSum?: number | null;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a `participation` object.\n   * @param participationId - ID of the `participation` object to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField participationId\n   * @permissionId CALENDAR.PARTICIPATION_READ\n   * @adminMethod\n   * @returns Retrieved `participation` object.\n   */\n  function getParticipation(participationId: string | null): Promise<Participation>;\n  /**\n   * Creates a query to retrieve a list of participations.\n   *\n   * The `queryParticipations()` function builds a query to retrieve a list of participations and returns a `ParticipationsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/calendar/participations/participations-query-builder/find) function.\n   *\n   * You can refine the query by chaining `ParticipationsQueryBuilder` functions onto the query. `ParticipationsQueryBuilder` functions enable you to sort, filter, and control the results that `queryParticipations()` returns.\n   *\n   * `queryParticipations()` runs with the following `ParticipationsQueryBuilder` default that you can override:\n   *\n   * + `limit` is `50`.\n   * + Sorted by `createdDate` in ascending order.\n   *\n   * The functions that are chained to `queryParticipations()` are applied in the order they are called.\n   *\n   * The following `ParticipationsQueryBuilder` functions are supported for the `queryParticipations()` function. For a full description of the participations object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/calendar/participations/participations-query-result/items) property in `ParticipationsQueryResult`.\n   *\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CALENDAR.PARTICIPATION_READ\n   * @adminMethod\n   */\n  function queryParticipations(): ParticipationsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ParticipationsQueryResult extends QueryCursorResult$1 {\n      items: Participation[];\n      query: ParticipationsQueryBuilder;\n      next: () => Promise<ParticipationsQueryResult>;\n      prev: () => Promise<ParticipationsQueryResult>;\n  }\n  interface ParticipationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'scheduleId' | 'eventId' | 'externalId', value: any) => ParticipationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'scheduleId' | 'eventId' | '_id' | 'externalId', value: any) => ParticipationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ParticipationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ParticipationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ParticipationsQueryResult>;\n  }\n  /**\n   * Creates a `participation` object for a schedule or event.\n   * @param participation - `participation` object to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField participation\n   * @requiredField participation.participant\n   * @requiredField participation.participant.name\n   * @requiredField participation.partySize\n   * @permissionId CALENDAR.PARTICIPATION_CREATE\n   * @adminMethod\n   * @returns Created `participation` object.\n   */\n  function createParticipation(participation: Participation, options?: CreateParticipationOptions): Promise<Participation>;\n  interface CreateParticipationOptions {\n      /**\n       * Idempotency key guaranteeing that you don't create the same `participation`\n       * object more than once.\n       */\n      idempotencyKey?: string | null;\n  }\n  /**\n   * Updates a `participation` object.\n   * @param _id - Participation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField participation\n   * @requiredField participation.revision\n   * @permissionId CALENDAR.PARTICIPATION_UPDATE\n   * @adminMethod\n   * @returns Updated `participation` object.\n   */\n  function updateParticipation(_id: string | null, participation: UpdateParticipation, options?: UpdateParticipationOptions): Promise<Participation>;\n  interface UpdateParticipation {\n      /**\n       * ID of the [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object)\n       * associated with the participation.\n       */\n      scheduleId?: string | null;\n      /**\n       * ID of the [event](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object)\n       * associated with the participation.\n       */\n      eventId?: string | null;\n      /**\n       * Participation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** External ID. */\n      externalId?: string | null;\n      /** Information about the participant. */\n      participant?: Participant;\n      /**\n       * Party size of the group or `1` for individuals.\n       *\n       * Min: `1`\n       * Max: `1000`\n       */\n      partySize?: number | null;\n      /**\n       * Status of the party's participation in the event. Depending on your\n       * implementation, confirmation may be handled by the business owner or the customer.\n       *\n       * Supported values:\n       * + `CONFIRMED`: The party's participation is confirmed. For example, the business owner has confirmed a [booking](https://dev.wix.com/docs/rest/business-solutions/bookings/about-wix-bookings).\n       * + `PENDING_CONFIRMATION`: The party's participation is awaiting confirmation. For example, the business owner still needs to approve the [booking](https://dev.wix.com/docs/rest/business-solutions/bookings/about-wix-bookings).\n       *\n       * Default: `CONFIRMED`\n       */\n      status?: Status$2;\n      /**\n       * ID of the app that owns the participation `object`. Identical to `appId` of the\n       * [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/schedule-object)\n       * that the related\n       * [event](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object)\n       * belongs to.\n       * @readonly\n       */\n      appId?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the participation is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the participation.\n       * Ignored when creating a participation.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date the participation was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the participation was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Extensions enabling applications or users to save custom data related to the participation. */\n      extendedFields?: ExtendedFields$1;\n  }\n  interface UpdateParticipationOptions {\n      /**\n       * Optional field mask of fields to update.\n       * @internal\n       */\n      fieldmask?: string[];\n  }\n  /**\n   * Deletes a `participation` object.\n   * @param participationId - ID of `participation` object to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField participationId\n   * @permissionId CALENDAR.PARTICIPATION_DELETE\n   * @adminMethod\n   */\n  function deleteParticipation(participationId: string | null): Promise<void>;\n  \n  type calendarV3Participation_universal_d_Participation = Participation;\n  type calendarV3Participation_universal_d_ParticipationParticipatedItemOneOf = ParticipationParticipatedItemOneOf;\n  type calendarV3Participation_universal_d_Participant = Participant;\n  type calendarV3Participation_universal_d_GetParticipationRequest = GetParticipationRequest;\n  type calendarV3Participation_universal_d_GetParticipationResponse = GetParticipationResponse;\n  type calendarV3Participation_universal_d_QueryParticipationsRequest = QueryParticipationsRequest;\n  type calendarV3Participation_universal_d_QueryParticipationsResponse = QueryParticipationsResponse;\n  type calendarV3Participation_universal_d_CreateParticipationRequest = CreateParticipationRequest;\n  type calendarV3Participation_universal_d_CreateParticipationResponse = CreateParticipationResponse;\n  type calendarV3Participation_universal_d_UpdateParticipationRequest = UpdateParticipationRequest;\n  type calendarV3Participation_universal_d_UpdateParticipationResponse = UpdateParticipationResponse;\n  type calendarV3Participation_universal_d_ParticipationUpdatedWithMetadata = ParticipationUpdatedWithMetadata;\n  type calendarV3Participation_universal_d_DeleteParticipationRequest = DeleteParticipationRequest;\n  type calendarV3Participation_universal_d_DeleteParticipationResponse = DeleteParticipationResponse;\n  type calendarV3Participation_universal_d_SumParticipationsPartySizeByScheduleIdRequest = SumParticipationsPartySizeByScheduleIdRequest;\n  type calendarV3Participation_universal_d_SumParticipationsPartySizeByScheduleIdResponse = SumParticipationsPartySizeByScheduleIdResponse;\n  type calendarV3Participation_universal_d_PartySizeSumByScheduleId = PartySizeSumByScheduleId;\n  const calendarV3Participation_universal_d_getParticipation: typeof getParticipation;\n  const calendarV3Participation_universal_d_queryParticipations: typeof queryParticipations;\n  type calendarV3Participation_universal_d_ParticipationsQueryResult = ParticipationsQueryResult;\n  type calendarV3Participation_universal_d_ParticipationsQueryBuilder = ParticipationsQueryBuilder;\n  const calendarV3Participation_universal_d_createParticipation: typeof createParticipation;\n  type calendarV3Participation_universal_d_CreateParticipationOptions = CreateParticipationOptions;\n  const calendarV3Participation_universal_d_updateParticipation: typeof updateParticipation;\n  type calendarV3Participation_universal_d_UpdateParticipation = UpdateParticipation;\n  type calendarV3Participation_universal_d_UpdateParticipationOptions = UpdateParticipationOptions;\n  const calendarV3Participation_universal_d_deleteParticipation: typeof deleteParticipation;\n  namespace calendarV3Participation_universal_d {\n    export {\n      calendarV3Participation_universal_d_Participation as Participation,\n      calendarV3Participation_universal_d_ParticipationParticipatedItemOneOf as ParticipationParticipatedItemOneOf,\n      calendarV3Participation_universal_d_Participant as Participant,\n      Status$2 as Status,\n      ExtendedFields$1 as ExtendedFields,\n      calendarV3Participation_universal_d_GetParticipationRequest as GetParticipationRequest,\n      calendarV3Participation_universal_d_GetParticipationResponse as GetParticipationResponse,\n      calendarV3Participation_universal_d_QueryParticipationsRequest as QueryParticipationsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      CursorPaging$1 as CursorPaging,\n      calendarV3Participation_universal_d_QueryParticipationsResponse as QueryParticipationsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      calendarV3Participation_universal_d_CreateParticipationRequest as CreateParticipationRequest,\n      calendarV3Participation_universal_d_CreateParticipationResponse as CreateParticipationResponse,\n      calendarV3Participation_universal_d_UpdateParticipationRequest as UpdateParticipationRequest,\n      calendarV3Participation_universal_d_UpdateParticipationResponse as UpdateParticipationResponse,\n      calendarV3Participation_universal_d_ParticipationUpdatedWithMetadata as ParticipationUpdatedWithMetadata,\n      calendarV3Participation_universal_d_DeleteParticipationRequest as DeleteParticipationRequest,\n      calendarV3Participation_universal_d_DeleteParticipationResponse as DeleteParticipationResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      Empty$2 as Empty,\n      calendarV3Participation_universal_d_SumParticipationsPartySizeByScheduleIdRequest as SumParticipationsPartySizeByScheduleIdRequest,\n      calendarV3Participation_universal_d_SumParticipationsPartySizeByScheduleIdResponse as SumParticipationsPartySizeByScheduleIdResponse,\n      calendarV3Participation_universal_d_PartySizeSumByScheduleId as PartySizeSumByScheduleId,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      calendarV3Participation_universal_d_getParticipation as getParticipation,\n      calendarV3Participation_universal_d_queryParticipations as queryParticipations,\n      calendarV3Participation_universal_d_ParticipationsQueryResult as ParticipationsQueryResult,\n      calendarV3Participation_universal_d_ParticipationsQueryBuilder as ParticipationsQueryBuilder,\n      calendarV3Participation_universal_d_createParticipation as createParticipation,\n      calendarV3Participation_universal_d_CreateParticipationOptions as CreateParticipationOptions,\n      calendarV3Participation_universal_d_updateParticipation as updateParticipation,\n      calendarV3Participation_universal_d_UpdateParticipation as UpdateParticipation,\n      calendarV3Participation_universal_d_UpdateParticipationOptions as UpdateParticipationOptions,\n      calendarV3Participation_universal_d_deleteParticipation as deleteParticipation,\n    };\n  }\n  \n  /**\n   * A collection of [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object)\n   * associated with a specific entity, such as a\n   * [Bookings service](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/service-object),\n   * or [Bookings resource](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members-and-resources/resource-v2/resource-object).\n   * Schedules can also serve as templates for the events they manage, setting\n   * default values like a default location.\n   */\n  interface Schedule {\n      /**\n       * Schedule ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * External ID. You can't update the external ID.\n       *\n       * If the schedule belongs to a Bookings staff member, identical to the ID of\n       * the [resource](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/introduction).\n       * If the schedule belongs to a Bookings service, identical to the ID of\n       * the [service](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/setup).\n       */\n      externalId?: string | null;\n      /**\n       * Schedule name.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      name?: string | null;\n      /**\n       * Schedule status.\n       *\n       * Supported values:\n       * - `ACTIVE`: You can add events to the schedule or update its fields.\n       * - `CANCELLED`: You can't add events to the schedule or update its fields.\n       *\n       * Default: `ACTIVE`\n       * @readonly\n       */\n      status?: Status$1;\n      /**\n       * Time zone the schedule is associated with in\n       * [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n       * For example, `America/New_York`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       *\n       * Min: 1 character\n       * Max: 150 characters\n       */\n      timeZone?: string | null;\n      /**\n       * Whether the schedule's `timeZone` is automatically synced from\n       * `timeZone` of the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       *\n       * Default: `true`\n       */\n      businessTimeZoneEnabled?: boolean | null;\n      /**\n       * Default `title` for [events](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction)\n       * that are added to the schedule.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      defaultTitle?: string | null;\n      /**\n       * Default `location` for [events](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction)\n       * that are added to the schedule.\n       */\n      defaultLocation?: Location;\n      /**\n       * Default `totalCapacity` for [events](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction)\n       * that are added to the schedule.\n       *\n       * Min: `0`\n       */\n      defaultCapacity?: number | null;\n      /**\n       * Default `conferencingDetails` for [events](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction)\n       * that are added to the schedule.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#retrieve-personal-information).\n       */\n      defaultConferencingDetails?: ConferencingDetails;\n      /**\n       * ID of the app that's associated with the schedule. You can't update `appId`.\n       * If you want to create a schedule and ensure its associated events appear\n       * in the [Bookings calendar](https://support.wix.com/en/article/wix-bookings-about-the-wix-booking-calendar),\n       * you must provide the Wix Bookings app ID\n       * `13d21c63-b5ec-5912-8397-c3a5ddb27a97`.\n       */\n      appId?: string | null;\n      /**\n       * List of permissions associated with the schedule. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#roles)\n       * for more information.\n       *\n       * Max: 1 permission\n       */\n      permissions?: Permission[];\n      /** Extensions enabling applications or users to save custom data related to the schedule. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Revision number, which increments by 1 each time the schedule is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the schedule.\n       * Ignored when creating a schedule.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date the schedule was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the schedule was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  enum Status$1 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** You can add events to the schedule or update its fields. */\n      ACTIVE = \"ACTIVE\",\n      /** You can't add events to the schedule or update its fields. */\n      CANCELLED = \"CANCELLED\"\n  }\n  interface Location {\n      /**\n       * [Location](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction)\n       * ID. Available only for `BUSINESS` locations.\n       */\n      _id?: string | null;\n      /**\n       * Location type.\n       *\n       * Supported values:\n       * + `BUSINESS`: The event is held at a business location.\n       * + `CUSTOMER`: The event is held at the customer's location, such as their home or office.\n       * + `CUSTOM`: The event is held at an address or venue not tied to the business or customer.\n       */\n      type?: LocationType;\n      /**\n       * Location name. For `BUSINESS` locations, it's identical to the\n       * [location](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction)\n       * `name`.\n       *\n       * Min: 1 character\n       * Max: 150 characters\n       */\n      name?: string | null;\n      /**\n       * Location address. For `BUSINESS` locations, it's identical to the\n       * [location](https://dev.wix.com/docs/rest/business-management/locations/location-object)'s\n       * `formattedAddress`.\n       */\n      address?: string | null;\n  }\n  enum LocationType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** The event is held at a business location. */\n      BUSINESS = \"BUSINESS\",\n      /** The event is held at the customer's location, such as their home or office. */\n      CUSTOMER = \"CUSTOMER\",\n      /** The event is held at an address or venue not tied to the business or customer. */\n      CUSTOM = \"CUSTOM\"\n  }\n  interface ConferencingDetails {\n      /** Conference type. For example, `Zoom`. */\n      type?: Type;\n      /**\n       * URL used by the host to start the conference.\n       *\n       * Min: 1 character\n       * Max: 2000 characters\n       */\n      hostUrl?: string | null;\n      /**\n       * URL used by a guest to join the conference.\n       *\n       * Min: 1 character\n       * Max: 2000 characters\n       */\n      guestUrl?: string | null;\n      /**\n       * Conference password.\n       *\n       * Min: 1 character\n       * Max: 100 characters\n       */\n      password?: string | null;\n      /**\n       * Conference description.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       * @internal\n       */\n      description?: string | null;\n      /**\n       * Conference ID in an external system.\n       *\n       * Min: 1 character\n       * Max: 150 characters\n       */\n      externalId?: string | null;\n  }\n  enum Type {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      ZOOM = \"ZOOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface Permission {\n      /**\n       * [Wix user](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities#wix-users)\n       * granted the permission.\n       */\n      identity?: IdentificationData$1;\n      /**\n       * Permission role.\n       *\n       * Supported values:\n       * + `WRITER`: Full read and write access.\n       * + `COMMENTER`: Full read access, write access limited to `event.notes`.\n       */\n      role?: Role;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /**\n       * ID of a Wix user. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      wixUserId?: string;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /**\n       * ID of a Wix user. For example, the site owner or a\n       * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site).\n       */\n      wixUserId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      WIX_USER = \"WIX_USER\"\n  }\n  enum Role {\n      UNKNOWN_ROLE = \"UNKNOWN_ROLE\",\n      /** Full read and write access. */\n      WRITER = \"WRITER\",\n      /** Full read access, write access limited to `event.notes`. */\n      COMMENTER = \"COMMENTER\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface GetScheduleRequest {\n      /** ID of the schedule to retrieve. */\n      scheduleId: string | null;\n      /**\n       * Information about which fields containing personal data to return. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions)\n       * for more information.\n       *\n       * Supported values:\n       * + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope.\n       * + `OWN_PI_FIELDS`: Returns only fields containing your own personal data.\n       *\n       * Max: 1 field\n       * Default: No personal data is returned.\n       */\n      fields?: RequestedFields[];\n  }\n  enum RequestedFields {\n      UNKNOWN_REQUESTED_FIELDS = \"UNKNOWN_REQUESTED_FIELDS\",\n      /** Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope. */\n      PI_FIELDS = \"PI_FIELDS\",\n      /** Returns only fields containing your own personal data. */\n      OWN_PI_FIELDS = \"OWN_PI_FIELDS\"\n  }\n  interface GetScheduleResponse {\n      /** Retrieved schedule. */\n      schedule?: Schedule;\n  }\n  interface QuerySchedulesRequest {\n      /** Query containing filters and paging. */\n      query?: CursorQuery;\n      /**\n       * Information about which fields containing personal data to return. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions)\n       * for more information.\n       *\n       * Supported values:\n       * + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope.\n       * + `OWN_PI_FIELDS`: Returns only fields containing your own personal data.\n       *\n       * Max: 1 field\n       * Default: No personal data is returned.\n       */\n      fields?: RequestedFields[];\n      /**\n       * Whether to return consistent response.\n       * Please consult with us at #bookings-calendar-platform if you think your case requires consistent reads.\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  /** TODO Diverge */\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       * See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language)\n       * for more information.\n       *\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`.\n       *\n       * For a detailed list of supported filters, see Supported Filters.\n       */\n      filter?: Record<string, any> | null;\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter`. */\n      cursorPaging?: CursorPaging;\n  }\n  /** TODO Diverge */\n  interface CursorPaging {\n      /**\n       * Number of schedules to return.\n       *\n       * Min: `1`\n       * Max: `100`\n       * Default: `50`\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySchedulesResponse {\n      /** Retrieved schedules matching the provided query. */\n      schedules?: Schedule[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  /** TODO Diverge */\n  interface CursorPagingMetadata {\n      /** Number of schedules returned in the current page of the response. */\n      count?: number | null;\n      /** Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging). */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CreateScheduleRequest {\n      /** Schedule to create. */\n      schedule: Schedule;\n      /**\n       * Idempotency key guaranteeing that you don't create the same schedule more\n       * than once.\n       */\n      idempotencyKey?: string | null;\n  }\n  interface CreateScheduleResponse {\n      /** Created schedule. */\n      schedule?: Schedule;\n  }\n  interface UpdateScheduleRequest {\n      /** Schedule to update. */\n      schedule: Schedule;\n      /**\n       * Optional list of fields to update.\n       * @internal\n       */\n      fieldmask?: string[];\n      /**\n       * Information about whether participants of the schedule's updated events are\n       * notified and the message they receive.\n       */\n      participantNotification?: ParticipantNotification;\n  }\n  interface ParticipantNotification {\n      /**\n       * Whether to notify the participants about changes made to the schedule or event.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean | null;\n      /**\n       * Message to send.\n       *\n       * Min: 1 character\n       * Max: 5000 characters\n       */\n      message?: string | null;\n      /**\n       * Optional additional metadata.\n       * Limits: max keys: `10`, max key length: `64`, max value length: `1000`.\n       * @internal\n       */\n      metadata?: Record<string, string>;\n  }\n  interface UpdateScheduleResponse {\n      /** Updated schedule. */\n      schedule?: Schedule;\n  }\n  /** `PRIVATE` until we'll have standard events metadata from Infra. */\n  interface ScheduleUpdatedWithMetadata {\n      /** The updated schedule. */\n      schedule?: Schedule;\n      /** Whether to notify participants regarding the changes. */\n      participantNotification?: ParticipantNotification;\n      /**\n       * Temporary! will be replaced by diff very soon.\n       * @internal\n       * @deprecated\n       */\n      previousSchedule?: Schedule;\n  }\n  interface CloneScheduleRequest {\n      /** ID of the schedule to clone. */\n      scheduleId?: string | null;\n      /** Fields to override in the cloned schedule. */\n      schedule?: Schedule;\n      /**\n       * Optional fields to override.\n       * For example, to set empty values for fields that would otherwise be cloned.\n       * @internal\n       */\n      fieldmask?: string[];\n  }\n  interface CloneScheduleResponse {\n      /** Cloned schedule. */\n      schedule?: Schedule;\n  }\n  interface ScheduleCloned {\n      /** New cloned schedule. */\n      schedule?: Schedule;\n      /** The clone trigger. */\n      trigger?: Trigger;\n      /** The original Meta Site ID if different. */\n      originalMetaSiteId?: string | null;\n      /** The original schedule ID if different. */\n      originalScheduleId?: string | null;\n  }\n  enum Trigger {\n      UNKNOWN_TRIGGER = \"UNKNOWN_TRIGGER\",\n      /** Schedule cloned using the `CloneSchedule` API. */\n      SCHEDULE_CLONED = \"SCHEDULE_CLONED\",\n      /** Site duplicated from the same account. */\n      SITE_DUPLICATED_FROM_SAME_ACCOUNT = \"SITE_DUPLICATED_FROM_SAME_ACCOUNT\",\n      /** Site duplicated from a different account. */\n      SITE_DUPLICATED_FROM_DIFFERENT_ACCOUNT = \"SITE_DUPLICATED_FROM_DIFFERENT_ACCOUNT\",\n      /** Site created from template. */\n      SITE_CREATED_FROM_TEMPLATE = \"SITE_CREATED_FROM_TEMPLATE\",\n      /** Other. */\n      OTHER = \"OTHER\"\n  }\n  interface CancelScheduleRequest {\n      /** ID of the schedule to cancel. */\n      scheduleId: string | null;\n      /**\n       * Whether to preserve future events with participants.\n       * Default: `false`.\n       */\n      preserveFutureEventsWithParticipants?: boolean | null;\n      /**\n       * Information about whether participants of the schedule's updated events are\n       * notified and the message they receive.\n       */\n      participantNotification?: ParticipantNotification;\n  }\n  interface CancelScheduleResponse {\n      /** Canceled schedule. */\n      schedule?: Schedule;\n  }\n  interface ScheduleCancelled {\n      /** Canceled schedule. */\n      schedule?: Schedule;\n      /** Whether future events with participants were preserved. */\n      preserveFutureEventsWithParticipants?: boolean | null;\n      /**\n       * Whether to notify participants regarding the changes.\n       * `PRIVATE` until we'll have standard events metadata from Infra.\n       * @internal\n       */\n      participantNotification?: ParticipantNotification;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface Empty$1 {\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification$1 {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent$1;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation$1[];\n      /** Context of the notification */\n      changeContext?: ChangeContext$1;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent$1 {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties$1;\n  }\n  interface Properties$1 {\n      /** Site categories. */\n      categories?: Categories$1;\n      /** Site locale. */\n      locale?: Locale$1;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address$1;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule$1;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual$1;\n      /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n      consentPolicy?: ConsentPolicy$1;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site URL that uses Wix as its headless business solution. */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics. */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories$1 {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale$1 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address$1 {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint$1;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates$1;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n   */\n  interface AddressHint$1 {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType$1;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType$1 {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates$1 {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule$1 {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$1[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod$1[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$1 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek$1;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek$1;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek$1 {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod$1 {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual$1 {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage$1[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage$1 {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale$1;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod$1;\n  }\n  enum ResolutionMethod$1 {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy$1 {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation$1 {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext$1 extends ChangeContextPayloadOneOf$1 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$1;\n      /** Default properties were created on site creation. */\n      siteCreated?: V4SiteCreated$1;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$1;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf$1 {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange$1;\n      /** Default properties were created on site creation. */\n      siteCreated?: V4SiteCreated$1;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned$1;\n  }\n  interface PropertiesChange$1 {\n  }\n  interface V4SiteCreated$1 {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned$1 {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData extends WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a schedule.\n   * @param scheduleId - ID of the schedule to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField scheduleId\n   * @permissionId CALENDAR.SCHEDULE_READ\n   * @permissionId CALENDAR.SCHEDULE_READ_PI\n   * @returns Retrieved schedule.\n   */\n  function getSchedule(scheduleId: string | null, options?: GetScheduleOptions): Promise<Schedule>;\n  interface GetScheduleOptions {\n      /**\n       * Information about which fields containing personal data to return. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions)\n       * for more information.\n       *\n       * Supported values:\n       * + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope.\n       * + `OWN_PI_FIELDS`: Returns only fields containing your own personal data.\n       *\n       * Max: 1 field\n       * Default: No personal data is returned.\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Creates a query to retrieve a list of schedules.\n   *\n   * The `querySchedules()` function builds a query to retrieve a list of tip settings and returns a `SchedulesQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/schedules-query-builder/find) function.\n   *\n   * You can refine the query by chaining `SchedulesQueryBuilder` functions onto the query. `SchedulesQueryBuilder` functions enable you to sort, filter, and control the results that `querySchedules()` returns.\n   *\n   * `querySchedules()` runs with the following `SchedulesQueryBuilder` default that you can override:\n   *\n   * + `limit` is `50`.\n   * + Sorted by `id` in ascending order.\n   *\n   * The functions that are chained to `querySchedules()` are applied in the order they are called. For example, if you apply `ascending(\"status\")` and then `ascending(\"externalId\")`, the results are sorted first by the `\"status\"`, and then, if there are multiple results with the same `\"status\"`, the items are sorted by `\"externalId\"`.\n   *\n   * The following `SchedulesQueryBuilder` functions are supported for the `querySchedules()` function. For a full description of the tip settings object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/schedules-query-result/items) property in `SchedulesQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CALENDAR.SCHEDULE_READ\n   * @permissionId CALENDAR.SCHEDULE_READ_PI\n   */\n  function querySchedules(options?: QuerySchedulesOptions): SchedulesQueryBuilder;\n  interface QuerySchedulesOptions {\n      /**\n       * Information about which fields containing personal data to return. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions)\n       * for more information.\n       *\n       * Supported values:\n       * + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope.\n       * + `OWN_PI_FIELDS`: Returns only fields containing your own personal data.\n       *\n       * Max: 1 field\n       * Default: No personal data is returned.\n       */\n      fields?: RequestedFields[] | undefined;\n      /**\n       * Whether to return consistent response.\n       * Please consult with us at #bookings-calendar-platform if you think your case requires consistent reads.\n       * @internal\n       */\n      consistent?: boolean | null | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SchedulesQueryResult extends QueryCursorResult {\n      items: Schedule[];\n      query: SchedulesQueryBuilder;\n      next: () => Promise<SchedulesQueryResult>;\n      prev: () => Promise<SchedulesQueryResult>;\n  }\n  interface SchedulesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'externalId' | 'status' | 'appId', value: any) => SchedulesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'externalId' | 'status' | 'appId', value: any) => SchedulesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SchedulesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SchedulesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SchedulesQueryResult>;\n  }\n  /**\n   * Creates a schedule.\n   *\n   *\n   * If you want the schedule's events to appear in the\n   * [Bookings calendar](https://support.wix.com/en/article/wix-bookings-about-the-wix-booking-calendar),\n   * you must set `appId` to the ID of the Wix Bookings app by providing\n   * `{\"appId\": \"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"}`.\n   * @param schedule - Schedule to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField schedule\n   * @requiredField schedule.defaultConferencingDetails.guestUrl\n   * @requiredField schedule.defaultConferencingDetails.hostUrl\n   * @requiredField schedule.defaultConferencingDetails.type\n   * @requiredField schedule.defaultLocation.type\n   * @permissionId CALENDAR.SCHEDULE_CREATE\n   * @adminMethod\n   * @returns Created schedule.\n   */\n  function createSchedule(schedule: Schedule, options?: CreateScheduleOptions): Promise<Schedule>;\n  interface CreateScheduleOptions {\n      /**\n       * Idempotency key guaranteeing that you don't create the same schedule more\n       * than once.\n       */\n      idempotencyKey?: string | null;\n  }\n  /**\n   * Updates a schedule.\n   *\n   *\n   * Each time the schedule is updated,\n   * `revision` increments by 1.\n   * The current `revision` must be passed when updating the schedule.\n   * This ensures you're working with the latest schedule\n   * and prevents unintended overwrites.\n   * @param _id - Schedule ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField schedule\n   * @requiredField schedule.revision\n   * @permissionId CALENDAR.SCHEDULE_UPDATE\n   * @adminMethod\n   * @returns Updated schedule.\n   */\n  function updateSchedule(_id: string | null, schedule: UpdateSchedule, options?: UpdateScheduleOptions): Promise<Schedule>;\n  interface UpdateSchedule {\n      /**\n       * Schedule ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * External ID. You can't update the external ID.\n       *\n       * If the schedule belongs to a Bookings staff member, identical to the ID of\n       * the [resource](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/introduction).\n       * If the schedule belongs to a Bookings service, identical to the ID of\n       * the [service](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/setup).\n       */\n      externalId?: string | null;\n      /**\n       * Schedule name.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      name?: string | null;\n      /**\n       * Schedule status.\n       *\n       * Supported values:\n       * - `ACTIVE`: You can add events to the schedule or update its fields.\n       * - `CANCELLED`: You can't add events to the schedule or update its fields.\n       *\n       * Default: `ACTIVE`\n       * @readonly\n       */\n      status?: Status$1;\n      /**\n       * Time zone the schedule is associated with in\n       * [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n       * For example, `America/New_York`.\n       *\n       * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       *\n       * Min: 1 character\n       * Max: 150 characters\n       */\n      timeZone?: string | null;\n      /**\n       * Whether the schedule's `timeZone` is automatically synced from\n       * `timeZone` of the business [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties).\n       *\n       * Default: `true`\n       */\n      businessTimeZoneEnabled?: boolean | null;\n      /**\n       * Default `title` for [events](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction)\n       * that are added to the schedule.\n       *\n       * Min: 1 character\n       * Max: 200 characters\n       */\n      defaultTitle?: string | null;\n      /**\n       * Default `location` for [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object)\n       * that are added to the schedule.\n       */\n      defaultLocation?: Location;\n      /**\n       * Default `totalCapacity` for [events](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction)\n       * that are added to the schedule.\n       *\n       * Min: `0`\n       */\n      defaultCapacity?: number | null;\n      /**\n       * Default `conferencingDetails` for [events](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction)\n       * that are added to the schedule.\n       * Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#retrieve-personal-information).\n       */\n      defaultConferencingDetails?: ConferencingDetails;\n      /**\n       * ID of the app that's associated with the schedule. You can't update `appId`.\n       * If you want to create a schedule and ensure its associated events appear\n       * in the [Bookings calendar](https://support.wix.com/en/article/wix-bookings-about-the-wix-booking-calendar),\n       * you must provide the Wix Bookings app ID\n       * `13d21c63-b5ec-5912-8397-c3a5ddb27a97`.\n       */\n      appId?: string | null;\n      /**\n       * List of permissions associated with the schedule. Refer to the\n       * [permissions article](https://dev.wix.com/docs/sdk/backend-modules/calendar/permissions#roles)\n       * for more information.\n       *\n       * Max: 1 permission\n       */\n      permissions?: Permission[];\n      /** Extensions enabling applications or users to save custom data related to the schedule. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Revision number, which increments by 1 each time the schedule is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the schedule.\n       * Ignored when creating a schedule.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date the schedule was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date the schedule was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateScheduleOptions {\n      /**\n       * Optional list of fields to update.\n       * @internal\n       */\n      fieldmask?: string[];\n      /**\n       * Information about whether participants of the schedule's updated events are\n       * notified and the message they receive.\n       */\n      participantNotification?: ParticipantNotification;\n  }\n  /**\n   * Sets a schedule's `status` to `CANCELLED`.\n   *\n   *\n   * Also cancels future events belonging to the schedule.\n   *\n   * Once a schedule is marked as `CANCELLED`, you can't reactivate it, update it,\n   * or assign new events.\n   * @param scheduleId - ID of the schedule to cancel.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField scheduleId\n   * @permissionId CALENDAR.SCHEDULE_CANCEL\n   * @adminMethod\n   */\n  function cancelSchedule(scheduleId: string | null, options?: CancelScheduleOptions): Promise<CancelScheduleResponse>;\n  interface CancelScheduleOptions {\n      /**\n       * Whether to preserve future events with participants.\n       * Default: `false`.\n       */\n      preserveFutureEventsWithParticipants?: boolean | null;\n      /**\n       * Information about whether participants of the schedule's updated events are\n       * notified and the message they receive.\n       */\n      participantNotification?: ParticipantNotification;\n  }\n  \n  type calendarV3Schedule_universal_d_Schedule = Schedule;\n  type calendarV3Schedule_universal_d_Location = Location;\n  type calendarV3Schedule_universal_d_LocationType = LocationType;\n  const calendarV3Schedule_universal_d_LocationType: typeof LocationType;\n  type calendarV3Schedule_universal_d_ConferencingDetails = ConferencingDetails;\n  type calendarV3Schedule_universal_d_Type = Type;\n  const calendarV3Schedule_universal_d_Type: typeof Type;\n  type calendarV3Schedule_universal_d_Permission = Permission;\n  type calendarV3Schedule_universal_d_IdentityType = IdentityType;\n  const calendarV3Schedule_universal_d_IdentityType: typeof IdentityType;\n  type calendarV3Schedule_universal_d_Role = Role;\n  const calendarV3Schedule_universal_d_Role: typeof Role;\n  type calendarV3Schedule_universal_d_ExtendedFields = ExtendedFields;\n  type calendarV3Schedule_universal_d_GetScheduleRequest = GetScheduleRequest;\n  type calendarV3Schedule_universal_d_RequestedFields = RequestedFields;\n  const calendarV3Schedule_universal_d_RequestedFields: typeof RequestedFields;\n  type calendarV3Schedule_universal_d_GetScheduleResponse = GetScheduleResponse;\n  type calendarV3Schedule_universal_d_QuerySchedulesRequest = QuerySchedulesRequest;\n  type calendarV3Schedule_universal_d_CursorQuery = CursorQuery;\n  type calendarV3Schedule_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type calendarV3Schedule_universal_d_CursorPaging = CursorPaging;\n  type calendarV3Schedule_universal_d_QuerySchedulesResponse = QuerySchedulesResponse;\n  type calendarV3Schedule_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type calendarV3Schedule_universal_d_Cursors = Cursors;\n  type calendarV3Schedule_universal_d_CreateScheduleRequest = CreateScheduleRequest;\n  type calendarV3Schedule_universal_d_CreateScheduleResponse = CreateScheduleResponse;\n  type calendarV3Schedule_universal_d_UpdateScheduleRequest = UpdateScheduleRequest;\n  type calendarV3Schedule_universal_d_ParticipantNotification = ParticipantNotification;\n  type calendarV3Schedule_universal_d_UpdateScheduleResponse = UpdateScheduleResponse;\n  type calendarV3Schedule_universal_d_ScheduleUpdatedWithMetadata = ScheduleUpdatedWithMetadata;\n  type calendarV3Schedule_universal_d_CloneScheduleRequest = CloneScheduleRequest;\n  type calendarV3Schedule_universal_d_CloneScheduleResponse = CloneScheduleResponse;\n  type calendarV3Schedule_universal_d_ScheduleCloned = ScheduleCloned;\n  type calendarV3Schedule_universal_d_Trigger = Trigger;\n  const calendarV3Schedule_universal_d_Trigger: typeof Trigger;\n  type calendarV3Schedule_universal_d_CancelScheduleRequest = CancelScheduleRequest;\n  type calendarV3Schedule_universal_d_CancelScheduleResponse = CancelScheduleResponse;\n  type calendarV3Schedule_universal_d_ScheduleCancelled = ScheduleCancelled;\n  type calendarV3Schedule_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type calendarV3Schedule_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type calendarV3Schedule_universal_d_Asset = Asset;\n  type calendarV3Schedule_universal_d_State = State;\n  const calendarV3Schedule_universal_d_State: typeof State;\n  type calendarV3Schedule_universal_d_SiteCreated = SiteCreated;\n  type calendarV3Schedule_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const calendarV3Schedule_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type calendarV3Schedule_universal_d_Namespace = Namespace;\n  const calendarV3Schedule_universal_d_Namespace: typeof Namespace;\n  type calendarV3Schedule_universal_d_SiteTransferred = SiteTransferred;\n  type calendarV3Schedule_universal_d_SiteDeleted = SiteDeleted;\n  type calendarV3Schedule_universal_d_DeleteContext = DeleteContext;\n  type calendarV3Schedule_universal_d_DeleteStatus = DeleteStatus;\n  const calendarV3Schedule_universal_d_DeleteStatus: typeof DeleteStatus;\n  type calendarV3Schedule_universal_d_SiteUndeleted = SiteUndeleted;\n  type calendarV3Schedule_universal_d_SitePublished = SitePublished;\n  type calendarV3Schedule_universal_d_SiteUnpublished = SiteUnpublished;\n  type calendarV3Schedule_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type calendarV3Schedule_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type calendarV3Schedule_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type calendarV3Schedule_universal_d_ServiceRemoved = ServiceRemoved;\n  type calendarV3Schedule_universal_d_SiteRenamed = SiteRenamed;\n  type calendarV3Schedule_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type calendarV3Schedule_universal_d_NamespaceChanged = NamespaceChanged;\n  type calendarV3Schedule_universal_d_StudioAssigned = StudioAssigned;\n  type calendarV3Schedule_universal_d_StudioUnassigned = StudioUnassigned;\n  type calendarV3Schedule_universal_d_WebhooksIdentificationData = WebhooksIdentificationData;\n  type calendarV3Schedule_universal_d_WebhooksIdentificationDataIdOneOf = WebhooksIdentificationDataIdOneOf;\n  const calendarV3Schedule_universal_d_getSchedule: typeof getSchedule;\n  type calendarV3Schedule_universal_d_GetScheduleOptions = GetScheduleOptions;\n  const calendarV3Schedule_universal_d_querySchedules: typeof querySchedules;\n  type calendarV3Schedule_universal_d_QuerySchedulesOptions = QuerySchedulesOptions;\n  type calendarV3Schedule_universal_d_SchedulesQueryResult = SchedulesQueryResult;\n  type calendarV3Schedule_universal_d_SchedulesQueryBuilder = SchedulesQueryBuilder;\n  const calendarV3Schedule_universal_d_createSchedule: typeof createSchedule;\n  type calendarV3Schedule_universal_d_CreateScheduleOptions = CreateScheduleOptions;\n  const calendarV3Schedule_universal_d_updateSchedule: typeof updateSchedule;\n  type calendarV3Schedule_universal_d_UpdateSchedule = UpdateSchedule;\n  type calendarV3Schedule_universal_d_UpdateScheduleOptions = UpdateScheduleOptions;\n  const calendarV3Schedule_universal_d_cancelSchedule: typeof cancelSchedule;\n  type calendarV3Schedule_universal_d_CancelScheduleOptions = CancelScheduleOptions;\n  namespace calendarV3Schedule_universal_d {\n    export {\n      calendarV3Schedule_universal_d_Schedule as Schedule,\n      Status$1 as Status,\n      calendarV3Schedule_universal_d_Location as Location,\n      calendarV3Schedule_universal_d_LocationType as LocationType,\n      calendarV3Schedule_universal_d_ConferencingDetails as ConferencingDetails,\n      calendarV3Schedule_universal_d_Type as Type,\n      calendarV3Schedule_universal_d_Permission as Permission,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      calendarV3Schedule_universal_d_IdentityType as IdentityType,\n      calendarV3Schedule_universal_d_Role as Role,\n      calendarV3Schedule_universal_d_ExtendedFields as ExtendedFields,\n      calendarV3Schedule_universal_d_GetScheduleRequest as GetScheduleRequest,\n      calendarV3Schedule_universal_d_RequestedFields as RequestedFields,\n      calendarV3Schedule_universal_d_GetScheduleResponse as GetScheduleResponse,\n      calendarV3Schedule_universal_d_QuerySchedulesRequest as QuerySchedulesRequest,\n      calendarV3Schedule_universal_d_CursorQuery as CursorQuery,\n      calendarV3Schedule_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      calendarV3Schedule_universal_d_CursorPaging as CursorPaging,\n      calendarV3Schedule_universal_d_QuerySchedulesResponse as QuerySchedulesResponse,\n      calendarV3Schedule_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      calendarV3Schedule_universal_d_Cursors as Cursors,\n      calendarV3Schedule_universal_d_CreateScheduleRequest as CreateScheduleRequest,\n      calendarV3Schedule_universal_d_CreateScheduleResponse as CreateScheduleResponse,\n      calendarV3Schedule_universal_d_UpdateScheduleRequest as UpdateScheduleRequest,\n      calendarV3Schedule_universal_d_ParticipantNotification as ParticipantNotification,\n      calendarV3Schedule_universal_d_UpdateScheduleResponse as UpdateScheduleResponse,\n      calendarV3Schedule_universal_d_ScheduleUpdatedWithMetadata as ScheduleUpdatedWithMetadata,\n      calendarV3Schedule_universal_d_CloneScheduleRequest as CloneScheduleRequest,\n      calendarV3Schedule_universal_d_CloneScheduleResponse as CloneScheduleResponse,\n      calendarV3Schedule_universal_d_ScheduleCloned as ScheduleCloned,\n      calendarV3Schedule_universal_d_Trigger as Trigger,\n      calendarV3Schedule_universal_d_CancelScheduleRequest as CancelScheduleRequest,\n      calendarV3Schedule_universal_d_CancelScheduleResponse as CancelScheduleResponse,\n      calendarV3Schedule_universal_d_ScheduleCancelled as ScheduleCancelled,\n      calendarV3Schedule_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      calendarV3Schedule_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      calendarV3Schedule_universal_d_Asset as Asset,\n      calendarV3Schedule_universal_d_State as State,\n      calendarV3Schedule_universal_d_SiteCreated as SiteCreated,\n      calendarV3Schedule_universal_d_SiteCreatedContext as SiteCreatedContext,\n      calendarV3Schedule_universal_d_Namespace as Namespace,\n      calendarV3Schedule_universal_d_SiteTransferred as SiteTransferred,\n      calendarV3Schedule_universal_d_SiteDeleted as SiteDeleted,\n      calendarV3Schedule_universal_d_DeleteContext as DeleteContext,\n      calendarV3Schedule_universal_d_DeleteStatus as DeleteStatus,\n      calendarV3Schedule_universal_d_SiteUndeleted as SiteUndeleted,\n      calendarV3Schedule_universal_d_SitePublished as SitePublished,\n      calendarV3Schedule_universal_d_SiteUnpublished as SiteUnpublished,\n      calendarV3Schedule_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      calendarV3Schedule_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      calendarV3Schedule_universal_d_ServiceProvisioned as ServiceProvisioned,\n      calendarV3Schedule_universal_d_ServiceRemoved as ServiceRemoved,\n      calendarV3Schedule_universal_d_SiteRenamed as SiteRenamed,\n      calendarV3Schedule_universal_d_SiteHardDeleted as SiteHardDeleted,\n      calendarV3Schedule_universal_d_NamespaceChanged as NamespaceChanged,\n      calendarV3Schedule_universal_d_StudioAssigned as StudioAssigned,\n      calendarV3Schedule_universal_d_StudioUnassigned as StudioUnassigned,\n      Empty$1 as Empty,\n      SitePropertiesNotification$1 as SitePropertiesNotification,\n      SitePropertiesEvent$1 as SitePropertiesEvent,\n      Properties$1 as Properties,\n      Categories$1 as Categories,\n      Locale$1 as Locale,\n      Address$1 as Address,\n      AddressHint$1 as AddressHint,\n      PlacementType$1 as PlacementType,\n      GeoCoordinates$1 as GeoCoordinates,\n      BusinessSchedule$1 as BusinessSchedule,\n      TimePeriod$1 as TimePeriod,\n      DayOfWeek$1 as DayOfWeek,\n      SpecialHourPeriod$1 as SpecialHourPeriod,\n      Multilingual$1 as Multilingual,\n      SupportedLanguage$1 as SupportedLanguage,\n      ResolutionMethod$1 as ResolutionMethod,\n      ConsentPolicy$1 as ConsentPolicy,\n      Translation$1 as Translation,\n      ChangeContext$1 as ChangeContext,\n      ChangeContextPayloadOneOf$1 as ChangeContextPayloadOneOf,\n      PropertiesChange$1 as PropertiesChange,\n      V4SiteCreated$1 as V4SiteCreated,\n      SiteCloned$1 as SiteCloned,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      calendarV3Schedule_universal_d_WebhooksIdentificationData as WebhooksIdentificationData,\n      calendarV3Schedule_universal_d_WebhooksIdentificationDataIdOneOf as WebhooksIdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      calendarV3Schedule_universal_d_getSchedule as getSchedule,\n      calendarV3Schedule_universal_d_GetScheduleOptions as GetScheduleOptions,\n      calendarV3Schedule_universal_d_querySchedules as querySchedules,\n      calendarV3Schedule_universal_d_QuerySchedulesOptions as QuerySchedulesOptions,\n      calendarV3Schedule_universal_d_SchedulesQueryResult as SchedulesQueryResult,\n      calendarV3Schedule_universal_d_SchedulesQueryBuilder as SchedulesQueryBuilder,\n      calendarV3Schedule_universal_d_createSchedule as createSchedule,\n      calendarV3Schedule_universal_d_CreateScheduleOptions as CreateScheduleOptions,\n      calendarV3Schedule_universal_d_updateSchedule as updateSchedule,\n      calendarV3Schedule_universal_d_UpdateSchedule as UpdateSchedule,\n      calendarV3Schedule_universal_d_UpdateScheduleOptions as UpdateScheduleOptions,\n      calendarV3Schedule_universal_d_cancelSchedule as cancelSchedule,\n      calendarV3Schedule_universal_d_CancelScheduleOptions as CancelScheduleOptions,\n    };\n  }\n  \n  /**\n   * Information about the start and end dates of the first and last\n   * [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/introduction)\n   * that belong to a [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction)\n   * and whether any events follow an unlimited repetition pattern.\n   */\n  interface ScheduleTimeFrame {\n      /**\n       * ID of the [schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction)\n       * to which the time frame belongs.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Information about the presence of recurring events within the schedule.\n       *\n       * Supported values:\n       * + `NONE`: No [events](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction) are scheduled within the schedule.\n       * + `FINITE`: All recurring events within the schedule have a defined end date, or there are no recurring events.\n       * + `INFINITE`: At least one recurring event within the schedule has no end date, meaning it follows an unlimited repetition pattern.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Start date of the first [event](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction)\n       * within the schedule. Identical to `event.start.localDate`. Available only if\n       * `status` is set to `FINITE` or `INFINITE`.\n       * @readonly\n       */\n      firstEventStartDate?: ZonedDate;\n      /**\n       * End date of the last [event](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction)\n       * belonging to the schedule. Identical to `event.end.localDate`. Available only if\n       * `status` is set to `FINITE`.\n       * @readonly\n       */\n      lastEventEndDate?: ZonedDate;\n      /**\n       * Start date of the first [event](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object)\n       * belonging to the schedule, adjusted to `timeZone` of the\n       * [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties)\n       * or the `timeZone` specified in the request.\n       * Identical to `event.adjustedStart.localDate`.\n       * @readonly\n       */\n      adjustedFirstEventStartDate?: ZonedDate;\n      /**\n       * End date of the last [event](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction)\n       * belonging to the schedule, adjusted to `timeZone` of the\n       * [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties)\n       * or the `timeZone` specified in the request.\n       * Identical to `event.adjustedEnd.localDate`.\n       * @readonly\n       */\n      adjustedLastEventEndDate?: ZonedDate;\n      /**\n       * Revision number, which increments by 1 each time the schedule time frame is updated.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  enum Status {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** No [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object) that belong to the schedule. */\n      NONE = \"NONE\",\n      /** There are no recurring events or all recurring events belonging to the schedule have a defined end date. */\n      FINITE = \"FINITE\",\n      /** At least one recurring event belonging to the schedule has an unlimited repetition pattern (no end date). */\n      INFINITE = \"INFINITE\"\n  }\n  /** A date time with a time zone, having the UTC offset and date determined by the server. */\n  interface ZonedDate {\n      /**\n       * Local date time in [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n       * For example, `2024-01-30T13:30:00`.\n       * Wix Calendar APIs ignore seconds.\n       */\n      localDate?: string | null;\n      /**\n       * Time zone in\n       * [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n       * For example, `America/New_York`.\n       * @readonly\n       */\n      timeZone?: string | null;\n      /**\n       * UTC date time in [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n       * For example, `2024-01-30T13:30:00`.\n       * Not available for adjusted date fields.\n       * @readonly\n       */\n      utcDate?: Date | null;\n  }\n  interface ScheduleTimeFrameUpdatedWithMetadata {\n      /** Updated schedule time frame. */\n      scheduleTimeFrame?: ScheduleTimeFrame;\n      /**\n       * Temporary! will be replaced by diff very soon.\n       * @internal\n       * @deprecated\n       */\n      previousScheduleTimeFrame?: ScheduleTimeFrame;\n  }\n  interface GetScheduleTimeFrameRequest {\n      /**\n       * [Schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction)\n       * ID for which to retrieve the schedule time frame.\n       */\n      _id: string | null;\n      /**\n       * Time zone for adjusting the times of the returned schedule time frame.\n       *\n       * Default: `timeZone` of the [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/properties-object)\n       */\n      timeZone?: string | null;\n      /**\n       * Whether to return consistent response.\n       * Please consult with us at #bookings-calendar-platform if you think your case requires consistent reads.\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  interface GetScheduleTimeFrameResponse {\n      /** Retrieved schedule time frame. */\n      scheduleTimeFrame?: ScheduleTimeFrame;\n  }\n  interface ListScheduleTimeFramesRequest {\n      /**\n       * IDs of the schedules for which to retrieve schedule time frames.\n       *\n       * Min: 1 schedule ID\n       * Max: 100 schedule IDs\n       */\n      ids: string[];\n      /**\n       * Time zone for adjusting the times of the returned schedule time frames.\n       *\n       * Default: `timeZone` of the [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/properties-object)\n       */\n      timeZone?: string | null;\n  }\n  interface ListScheduleTimeFramesResponse {\n      /** Retrieved schedule time frames. */\n      scheduleTimeFrames?: ScheduleTimeFrame[];\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation[];\n      /** Context of the notification */\n      changeContext?: ChangeContext;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties;\n  }\n  interface Properties {\n      /** Site categories. */\n      categories?: Categories;\n      /** Site locale. */\n      locale?: Locale;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual;\n      /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n      consentPolicy?: ConsentPolicy;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site URL that uses Wix as its headless business solution. */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics. */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n   */\n  interface AddressHint {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod;\n  }\n  enum ResolutionMethod {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext extends ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: V4SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: V4SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  interface PropertiesChange {\n  }\n  interface V4SiteCreated {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface Empty {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a schedule time frame by schedule ID.\n   * @param _id - [Schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction)\n   * ID for which to retrieve the schedule time frame.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId CALENDAR.SCHEDULE_READ\n   * @returns Retrieved schedule time frame.\n   */\n  function getScheduleTimeFrame(_id: string | null, options?: GetScheduleTimeFrameOptions): Promise<ScheduleTimeFrame>;\n  interface GetScheduleTimeFrameOptions {\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting the times of the returned schedule time frame. For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` of the [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties)\n       */\n      timeZone?: string | null;\n      /**\n       * Whether to return consistent response.\n       * Please consult with us at #bookings-calendar-platform if you think your case requires consistent reads.\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  /**\n   * Retrieves a list of schedule time frames by schedule IDs.\n   *\n   *\n   * Sorted by schedule ID in ascending order.\n   * @param ids - IDs of the schedules for which to retrieve schedule time frames.\n   *\n   * Min: 1 schedule ID\n   * Max: 100 schedule IDs\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @permissionId CALENDAR.SCHEDULE_READ\n   */\n  function listScheduleTimeFrames(ids: string[], options?: ListScheduleTimeFramesOptions): Promise<ListScheduleTimeFramesResponse>;\n  interface ListScheduleTimeFramesOptions {\n      /**\n       * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting the times of the returned schedule time frame. For example, `America/New_York` or `UTC`.\n       *\n       * Default: `timeZone` of the [site properties](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties)\n       */\n      timeZone?: string | null;\n  }\n  \n  type calendarV3ScheduleTimeFrame_universal_d_ScheduleTimeFrame = ScheduleTimeFrame;\n  type calendarV3ScheduleTimeFrame_universal_d_Status = Status;\n  const calendarV3ScheduleTimeFrame_universal_d_Status: typeof Status;\n  type calendarV3ScheduleTimeFrame_universal_d_ZonedDate = ZonedDate;\n  type calendarV3ScheduleTimeFrame_universal_d_ScheduleTimeFrameUpdatedWithMetadata = ScheduleTimeFrameUpdatedWithMetadata;\n  type calendarV3ScheduleTimeFrame_universal_d_GetScheduleTimeFrameRequest = GetScheduleTimeFrameRequest;\n  type calendarV3ScheduleTimeFrame_universal_d_GetScheduleTimeFrameResponse = GetScheduleTimeFrameResponse;\n  type calendarV3ScheduleTimeFrame_universal_d_ListScheduleTimeFramesRequest = ListScheduleTimeFramesRequest;\n  type calendarV3ScheduleTimeFrame_universal_d_ListScheduleTimeFramesResponse = ListScheduleTimeFramesResponse;\n  type calendarV3ScheduleTimeFrame_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n  type calendarV3ScheduleTimeFrame_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n  type calendarV3ScheduleTimeFrame_universal_d_Properties = Properties;\n  type calendarV3ScheduleTimeFrame_universal_d_Categories = Categories;\n  type calendarV3ScheduleTimeFrame_universal_d_Locale = Locale;\n  type calendarV3ScheduleTimeFrame_universal_d_Address = Address;\n  type calendarV3ScheduleTimeFrame_universal_d_AddressHint = AddressHint;\n  type calendarV3ScheduleTimeFrame_universal_d_PlacementType = PlacementType;\n  const calendarV3ScheduleTimeFrame_universal_d_PlacementType: typeof PlacementType;\n  type calendarV3ScheduleTimeFrame_universal_d_GeoCoordinates = GeoCoordinates;\n  type calendarV3ScheduleTimeFrame_universal_d_BusinessSchedule = BusinessSchedule;\n  type calendarV3ScheduleTimeFrame_universal_d_TimePeriod = TimePeriod;\n  type calendarV3ScheduleTimeFrame_universal_d_DayOfWeek = DayOfWeek;\n  const calendarV3ScheduleTimeFrame_universal_d_DayOfWeek: typeof DayOfWeek;\n  type calendarV3ScheduleTimeFrame_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type calendarV3ScheduleTimeFrame_universal_d_Multilingual = Multilingual;\n  type calendarV3ScheduleTimeFrame_universal_d_SupportedLanguage = SupportedLanguage;\n  type calendarV3ScheduleTimeFrame_universal_d_ResolutionMethod = ResolutionMethod;\n  const calendarV3ScheduleTimeFrame_universal_d_ResolutionMethod: typeof ResolutionMethod;\n  type calendarV3ScheduleTimeFrame_universal_d_ConsentPolicy = ConsentPolicy;\n  type calendarV3ScheduleTimeFrame_universal_d_Translation = Translation;\n  type calendarV3ScheduleTimeFrame_universal_d_ChangeContext = ChangeContext;\n  type calendarV3ScheduleTimeFrame_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n  type calendarV3ScheduleTimeFrame_universal_d_PropertiesChange = PropertiesChange;\n  type calendarV3ScheduleTimeFrame_universal_d_V4SiteCreated = V4SiteCreated;\n  type calendarV3ScheduleTimeFrame_universal_d_SiteCloned = SiteCloned;\n  type calendarV3ScheduleTimeFrame_universal_d_Empty = Empty;\n  type calendarV3ScheduleTimeFrame_universal_d_DomainEvent = DomainEvent;\n  type calendarV3ScheduleTimeFrame_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type calendarV3ScheduleTimeFrame_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type calendarV3ScheduleTimeFrame_universal_d_RestoreInfo = RestoreInfo;\n  type calendarV3ScheduleTimeFrame_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type calendarV3ScheduleTimeFrame_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type calendarV3ScheduleTimeFrame_universal_d_ActionEvent = ActionEvent;\n  type calendarV3ScheduleTimeFrame_universal_d_MessageEnvelope = MessageEnvelope;\n  type calendarV3ScheduleTimeFrame_universal_d_IdentificationData = IdentificationData;\n  type calendarV3ScheduleTimeFrame_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type calendarV3ScheduleTimeFrame_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const calendarV3ScheduleTimeFrame_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const calendarV3ScheduleTimeFrame_universal_d_getScheduleTimeFrame: typeof getScheduleTimeFrame;\n  type calendarV3ScheduleTimeFrame_universal_d_GetScheduleTimeFrameOptions = GetScheduleTimeFrameOptions;\n  const calendarV3ScheduleTimeFrame_universal_d_listScheduleTimeFrames: typeof listScheduleTimeFrames;\n  type calendarV3ScheduleTimeFrame_universal_d_ListScheduleTimeFramesOptions = ListScheduleTimeFramesOptions;\n  namespace calendarV3ScheduleTimeFrame_universal_d {\n    export {\n      calendarV3ScheduleTimeFrame_universal_d_ScheduleTimeFrame as ScheduleTimeFrame,\n      calendarV3ScheduleTimeFrame_universal_d_Status as Status,\n      calendarV3ScheduleTimeFrame_universal_d_ZonedDate as ZonedDate,\n      calendarV3ScheduleTimeFrame_universal_d_ScheduleTimeFrameUpdatedWithMetadata as ScheduleTimeFrameUpdatedWithMetadata,\n      calendarV3ScheduleTimeFrame_universal_d_GetScheduleTimeFrameRequest as GetScheduleTimeFrameRequest,\n      calendarV3ScheduleTimeFrame_universal_d_GetScheduleTimeFrameResponse as GetScheduleTimeFrameResponse,\n      calendarV3ScheduleTimeFrame_universal_d_ListScheduleTimeFramesRequest as ListScheduleTimeFramesRequest,\n      calendarV3ScheduleTimeFrame_universal_d_ListScheduleTimeFramesResponse as ListScheduleTimeFramesResponse,\n      calendarV3ScheduleTimeFrame_universal_d_SitePropertiesNotification as SitePropertiesNotification,\n      calendarV3ScheduleTimeFrame_universal_d_SitePropertiesEvent as SitePropertiesEvent,\n      calendarV3ScheduleTimeFrame_universal_d_Properties as Properties,\n      calendarV3ScheduleTimeFrame_universal_d_Categories as Categories,\n      calendarV3ScheduleTimeFrame_universal_d_Locale as Locale,\n      calendarV3ScheduleTimeFrame_universal_d_Address as Address,\n      calendarV3ScheduleTimeFrame_universal_d_AddressHint as AddressHint,\n      calendarV3ScheduleTimeFrame_universal_d_PlacementType as PlacementType,\n      calendarV3ScheduleTimeFrame_universal_d_GeoCoordinates as GeoCoordinates,\n      calendarV3ScheduleTimeFrame_universal_d_BusinessSchedule as BusinessSchedule,\n      calendarV3ScheduleTimeFrame_universal_d_TimePeriod as TimePeriod,\n      calendarV3ScheduleTimeFrame_universal_d_DayOfWeek as DayOfWeek,\n      calendarV3ScheduleTimeFrame_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      calendarV3ScheduleTimeFrame_universal_d_Multilingual as Multilingual,\n      calendarV3ScheduleTimeFrame_universal_d_SupportedLanguage as SupportedLanguage,\n      calendarV3ScheduleTimeFrame_universal_d_ResolutionMethod as ResolutionMethod,\n      calendarV3ScheduleTimeFrame_universal_d_ConsentPolicy as ConsentPolicy,\n      calendarV3ScheduleTimeFrame_universal_d_Translation as Translation,\n      calendarV3ScheduleTimeFrame_universal_d_ChangeContext as ChangeContext,\n      calendarV3ScheduleTimeFrame_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf,\n      calendarV3ScheduleTimeFrame_universal_d_PropertiesChange as PropertiesChange,\n      calendarV3ScheduleTimeFrame_universal_d_V4SiteCreated as V4SiteCreated,\n      calendarV3ScheduleTimeFrame_universal_d_SiteCloned as SiteCloned,\n      calendarV3ScheduleTimeFrame_universal_d_Empty as Empty,\n      calendarV3ScheduleTimeFrame_universal_d_DomainEvent as DomainEvent,\n      calendarV3ScheduleTimeFrame_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      calendarV3ScheduleTimeFrame_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      calendarV3ScheduleTimeFrame_universal_d_RestoreInfo as RestoreInfo,\n      calendarV3ScheduleTimeFrame_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      calendarV3ScheduleTimeFrame_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      calendarV3ScheduleTimeFrame_universal_d_ActionEvent as ActionEvent,\n      calendarV3ScheduleTimeFrame_universal_d_MessageEnvelope as MessageEnvelope,\n      calendarV3ScheduleTimeFrame_universal_d_IdentificationData as IdentificationData,\n      calendarV3ScheduleTimeFrame_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      calendarV3ScheduleTimeFrame_universal_d_WebhookIdentityType as WebhookIdentityType,\n      calendarV3ScheduleTimeFrame_universal_d_getScheduleTimeFrame as getScheduleTimeFrame,\n      calendarV3ScheduleTimeFrame_universal_d_GetScheduleTimeFrameOptions as GetScheduleTimeFrameOptions,\n      calendarV3ScheduleTimeFrame_universal_d_listScheduleTimeFrames as listScheduleTimeFrames,\n      calendarV3ScheduleTimeFrame_universal_d_ListScheduleTimeFramesOptions as ListScheduleTimeFramesOptions,\n    };\n  }\n  \n  export { calendarV3EventsView_universal_d as eventViews, calendarV3Event_universal_d as events, calendarV3Participation_universal_d as participations, calendarV3ScheduleTimeFrame_universal_d as scheduleTimeFrames, calendarV3Schedule_universal_d as schedules };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-v1-tax-calculation-provider.d.ts",
      "content": "declare module \"interfaces-billing-v1-tax-calculation-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  /** Items and information to calculate tax for. */\n  interface CalculateTaxRequest {\n      /** 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency?: string;\n      /** Array of addresses. Each line item can individually reference the address to apply with `lineItems.addressIndex`. */\n      addresses?: Address[];\n      /** Line items to calculate tax for. */\n      lineItems?: LineItem[];\n  }\n  /** Wix common address format for physical address to use if you plan to store addresses in your service. */\n  interface Address {\n      /** 2-letter country code in [ISO-3166 alpha-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string | null;\n      /** Subdivision (such as state, prefecture, or province) in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address information, such as apartment, suite, or floor. */\n      addressLine2?: string | null;\n  }\n  /** Line items to calculate tax for. */\n  interface LineItem {\n      /** Line item ID. */\n      _id?: string;\n      /** Line item name to display. */\n      itemName?: string | null;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item price. */\n      price?: string;\n      /** Stock keeping unit for this line item. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      itemCode?: string | null;\n      /** Tax group ID for this line item. If not provided, the default tax group applies. */\n      taxGroupId?: string | null;\n      /** Whether tax is included in the price. */\n      taxIncludedInPrice?: boolean;\n      /** Index of the address from `addresses` to use to calculate tax for this specific line item. The index is zero-based. */\n      addressIndex?: AddressIndex;\n      /** Tax region ID for this line item. */\n      taxRegionId?: string | null;\n  }\n  /** Index of the address from `addresses` to use to calculate tax for this specific line item. The index is zero-based. */\n  interface AddressIndex extends AddressIndexAddressIndexOptionsOneOf {\n      /** Single address to use for a sale location when only one address is required for tax calculations. The index is zero-based. */\n      singleAddress?: number;\n      /**\n       * Multiple addresses to use for a sale. For example, some tax calculations may require both the address where an item is shipped from,\n       * as well as the address the item is shipped to.\n       */\n      multipleAddresses?: MultipleAddresses;\n  }\n  /** @oneof */\n  interface AddressIndexAddressIndexOptionsOneOf {\n      /** Single address to use for a sale location when only one address is required for tax calculations. The index is zero-based. */\n      singleAddress?: number;\n      /**\n       * Multiple addresses to use for a sale. For example, some tax calculations may require both the address where an item is shipped from,\n       * as well as the address the item is shipped to.\n       */\n      multipleAddresses?: MultipleAddresses;\n  }\n  /**\n   * MultipleAddresses are used for example for tax calculation of items shipped from store warehouse to a shipping address.\n   * In this case origin is the warehouse address and destination is the shipping address.\n   */\n  interface MultipleAddresses {\n      /** Index of the origin address. */\n      origin?: number;\n      /** Index of the destination address. */\n      destination?: number;\n  }\n  /** Calculated tax. */\n  interface CalculateTaxResponse {\n      /**\n       * 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * If this code doesn't match the `currency` passed in the request, then the response is invalid.\n       */\n      currency?: string;\n      /** Summary of the tax calculated. */\n      taxSummary?: TaxSummary;\n      /** Details of each tax applied to each line item. */\n      lineItemTaxDetails?: LineItemTaxDetails[];\n  }\n  interface TaxSummary {\n      /** Total price for all line items. */\n      totalAmount?: string;\n      /**\n       * Total amount of tax calculated for all line items.\n       * Note that due to rounding, `totalTax` may not equal the sum of `lineItemTaxDetails.taxSummary.taxAmount`.\n       */\n      totalTax?: string;\n      /** Total taxable amount for all line items. */\n      totalTaxableAmount?: string;\n      /** Total amount of `totalTax` that is included in price. Applies to line items with `taxIncludedInPrice` set to `true`. */\n      totalTaxIncludedInPrice?: string | null;\n  }\n  /** Tax details for a specific line item. */\n  interface LineItemTaxDetails {\n      /** Line item ID. */\n      _id?: string;\n      /** Line item name to display. */\n      itemName?: string | null;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Array of each tax applied, grouped by `jurisdiction`, `jurisdictionType`, `taxName`, `taxRate`, and `taxType`. */\n      taxBreakdown?: TaxBreakdown[];\n      /** Summary of this line item's total price and tax. */\n      taxSummary?: LineItemTaxSummary;\n  }\n  /** A detailed description of all the tax authorities applied on this item. */\n  interface TaxBreakdown {\n      /** Jurisdiction that taxes were calculated for. */\n      jurisdiction?: string | null;\n      /** Non-taxable amount of the price. */\n      nonTaxableAmount?: string | null;\n      /** Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is `\"0.1000\"` and 200% tax is `\"2.0000\"`. */\n      rate?: string | null;\n      /** Amount of this tax calculated for this jurisdiction. */\n      taxAmount?: string | null;\n      /** Taxable amount of the price. */\n      taxableAmount?: string | null;\n      /** Type of tax that was calculated. For example, `\"Sales Tax\"`, `\"Income Tax\"`, `\"Value Added Tax\"`, etc. */\n      taxType?: string | null;\n      /** Name of the tax that was calculated. For example, `\"NY State Sales Tax\"`, `\"Quebec GST\"`, etc. */\n      taxName?: string | null;\n      /** Type of jurisdiction that taxes were calculated for. */\n      jurisdictionType?: JurisdictionType;\n  }\n  /** Type of jurisdiction that taxes were calculated for. */\n  enum JurisdictionType {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  interface LineItemTaxSummary {\n      /**\n       * Total price for this line item.\n       * To determine the price for each individual unit of this line item, divide by `quantity`.\n       */\n      fullPrice?: string | null;\n      /** The total amount of tax calculated for this line item. */\n      taxAmount?: string;\n      /** Total taxable amount for this line item. */\n      taxableAmount?: string;\n  }\n  interface TaxCalculationConfig {\n      /**\n       * *Required.** Base URI where the endpoints are called. Wix appends the endpoint path to the base URI.\n       *\n       * For example, to call the Calculate Tax endpoint at https://my-tax-calc.com/v1/calculateTax, the base URI you provide here is `\"https://my-tax-calc.com/\"`.\n       */\n      deploymentUri?: SpiBaseUri;\n      /** Display name of the tax calculator. */\n      calculatorDisplayName?: string;\n      /** List of countries, in [ISO-3166 alpha-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format, that the calculator does not support. */\n      unsupportedCountries?: string[];\n  }\n  interface SpiBaseUri {\n      /**\n       * Base URI where the methods are called. Wix appends the path to the `baseUri`.\n       * For example, to call the Get Shipping Rates method at `https://my-shipping-provider.com/v1/getRates`, the base URI you provide here is `https://my-shipping-provider.com/`.\n       */\n      baseUri?: string;\n      /** Alternate, custom URIs to replace the default URIs for specific service plugin methods. */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /**\n       * Name of the method to create a custom URI for.\n       *\n       * For `methodName`, use the name of the method in PascalCase.\n       * For example, for Get Shipping Rates use `GetShippingRates`.\n       */\n      methodName?: string;\n      /**\n       * Custom URI that Wix uses to call your server for this method. The path-suffix documented in the method will not be appended to this URI.\n       * Must be a secured endpoint beginning with `https://`. For example, `https://www.my-shipping-provider.com/my-shipping-rates`.\n       */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CalculateTaxOptions {\n      /** 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency?: string;\n      /** Array of addresses. Each line item can individually reference the address to apply with `lineItems.addressIndex`. */\n      addresses?: Address[];\n      /** Line items to calculate tax for. */\n      lineItems?: LineItem[];\n  }\n  \n  export { Address, AddressIndex, AddressIndexAddressIndexOptionsOneOf, AlternativeUri, BusinessError, CalculateTaxOptions, CalculateTaxRequest, CalculateTaxResponse, Context, IdentificationData, IdentificationDataIdOneOf, IdentityType, JurisdictionType, LineItem, LineItemTaxDetails, LineItemTaxSummary, MultipleAddresses, SpiBaseUri, TaxBreakdown, TaxCalculationConfig, TaxSummary };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-editor-deployments-v1-deployment-pipeline-provider.d.ts",
      "content": "declare module \"interfaces-editor-deployments-v1-deployment-pipeline-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface InvokeDeploymentPipelineRequest {\n      /** The deployment creation process id */\n      deploymentId: string;\n      /** The deployment pipeline implementer id as appears in the SPI Config */\n      deploymentPipelineId: string;\n  }\n  interface InvokeDeploymentPipelineResponse {\n  }\n  interface AbortDeploymentPipelineRequest {\n      /** The deployment creation process id */\n      deploymentId: string;\n      /** The deployment pipeline implementer id as appears in the SPI Config */\n      deploymentPipelineId: string;\n  }\n  interface AbortDeploymentPipelineResponse {\n  }\n  interface GetDeploymentPipelineResultsRequest {\n      /** The deployment creation process id */\n      deploymentId: string;\n      /** The deployment pipeline implementer id as appears in the SPI Config */\n      deploymentPipelineId: string;\n  }\n  interface GetDeploymentPipelineResultsResponse {\n      /** The full results - per task. */\n      tasksDescriptions?: TaskDescription[];\n  }\n  interface TaskDescription {\n      /** Name of the task for internal references. For example: \"user code bundling\". */\n      taskName?: string;\n      /** Description about the tasks results. */\n      description?: string | null;\n      /** Task status */\n      status?: TaskStatus;\n  }\n  enum TaskStatus {\n      UNDEFINED = \"UNDEFINED\",\n      SUCCESS = \"SUCCESS\",\n      ERROR = \"ERROR\"\n  }\n  interface DeploymentPipelineProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      deploymentPipelineUri?: SpiBaseUri;\n      /** The deployment pipeline implementer id */\n      deploymentPipelineId?: string;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface InvokeDeploymentPipelineOptions {\n      /** The deployment pipeline implementer id as appears in the SPI Config */\n      deploymentPipelineId: string;\n  }\n  interface AbortDeploymentPipelineOptions {\n      /** The deployment pipeline implementer id as appears in the SPI Config */\n      deploymentPipelineId: string;\n  }\n  interface GetDeploymentPipelineResultsOptions {\n      /** The deployment pipeline implementer id as appears in the SPI Config */\n      deploymentPipelineId: string;\n  }\n  \n  export { AbortDeploymentPipelineOptions, AbortDeploymentPipelineRequest, AbortDeploymentPipelineResponse, AlternativeUri, BusinessError, Context, DeploymentPipelineProviderConfig, GetDeploymentPipelineResultsOptions, GetDeploymentPipelineResultsRequest, GetDeploymentPipelineResultsResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, InvokeDeploymentPipelineOptions, InvokeDeploymentPipelineRequest, InvokeDeploymentPipelineResponse, SpiBaseUri, TaskDescription, TaskStatus };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-benefit-programs-v1-policy-provider.d.ts",
      "content": "declare module \"interfaces-benefit-programs-v1-policy-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface EvaluatePolicyRequest {\n      /** List of evaluation requests */\n      evaluationRequests?: EvaluationRequest[];\n  }\n  interface EvaluationRequest {\n      /** Key used to uniquely identify this evaluation request. This key will be used to match the response to the request */\n      evaluationKey?: string;\n      /** Policy configuration */\n      policies?: CustomPolicy[];\n      /** Evaluation context */\n      evaluationContext?: EvaluationContext;\n  }\n  /** Custom policy as implemented by the Pool Policy Provider */\n  interface CustomPolicy {\n      /** References a specific custom policy on the provider's system */\n      _id?: string;\n      /** Custom policy provider id */\n      appId?: string | null;\n      /** Additional info data on this policy when it was created. It's going to be passed to the policy provider during eligibility checks */\n      additionalData?: Record<string, any> | null;\n  }\n  interface EvaluationContext {\n      /** Pool which should be evaluated whether it passes the policy or not */\n      pool?: Pool;\n      /** Id of the item that is being redeemed */\n      itemReference?: ItemReference;\n      /** The selected benefit key, if any */\n      benefitKey?: string;\n      /** Number of of items to redeem */\n      count?: number;\n      /** Beneficiary of the entitlement. If not provided, will use the identity in the context */\n      beneficiaries?: IdentificationData[];\n      /** Structured data filled in during the eligibility check or redemption request */\n      requestData?: Record<string, any> | null;\n      /**\n       * Date at which the item will be used. Target date does not necessarily equal the redemption date. Credits are redeemed immediately.\n       * This date is only used for validations that may be performed by policy providers\n       */\n      targetDate?: Date;\n  }\n  interface Pool {\n      /**\n       * Pool ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /**\n       * Represents the time this Pool was created\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this Pool was last updated\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * PoolDefinition that this entitlement was created from\n       * @readonly\n       */\n      poolDefinitionId?: string;\n      /**\n       * Program definition from which this entitlement was provisioned from\n       * @readonly\n       */\n      programDefinitionId?: string | null;\n      /**\n       * Package that this entitlement belongs to\n       * @readonly\n       */\n      programId?: string;\n      /**\n       * Status of entitlement\n       * @readonly\n       */\n      status?: PoolStatus;\n      /** Who is getting the entitlement */\n      beneficiary?: IdentificationData;\n      /** Items and policies how the entitlement works */\n      details?: Details;\n      /**\n       * Name of the entitlement template that this Pool was provisioned from\n       * @readonly\n       */\n      displayName?: string;\n      /** Used to determine the source of the pool that is copied from the pool definition. Default is \"unknown\". */\n      namespace?: string;\n  }\n  enum PoolStatus {\n      UNDEFINED = \"UNDEFINED\",\n      ACTIVE = \"ACTIVE\",\n      PAUSED = \"PAUSED\",\n      ENDED = \"ENDED\",\n      PROVISIONING = \"PROVISIONING\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface Details {\n      /** A set of benefits that share the credit pool and policies of the entitlement */\n      benefits?: Benefit[];\n      /** Settings that control the behavior of the credit pool. If this value is left empty, then the entitlement is unlimited and items should not have prices */\n      creditConfiguration?: CreditConfiguration;\n      /** Defines entitlement eligibility. Default policy for all items, but may be overridden by a specific item */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n  }\n  /** Groups items that share the same credit pool and policies */\n  interface Benefit {\n      /** An identifier for the benefit. Should be unique per pool / pool definition. May be an empty string */\n      benefitKey?: string;\n      /**\n       * Id referencing the set of items that can be used to redeem this benefit\n       * @readonly\n       */\n      itemSetId?: string | null;\n      /** Price of the item expressed in credits */\n      price?: string | null;\n      /** Overrides the default policies in Entitlement Data */\n      policyExpression?: PolicyExpression;\n      /** Additional info that was set by the Entitlement Provider */\n      additionalData?: Record<string, any> | null;\n      /** ID of the app that provides this benefit, eg. bookings, blog or events */\n      providerAppId?: string | null;\n      /** Display name of the benefit */\n      displayName?: string | null;\n      /** Description of the benefit */\n      description?: string | null;\n  }\n  interface PolicyExpression extends PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n      /** Policy expression type */\n      type?: PolicyExpressionType;\n  }\n  /** @oneof */\n  interface PolicyExpressionExpressionOneOf {\n      /** Negates the expression */\n      operatorNotOptions?: PolicyExpressionNot;\n      /** Combines the expressions with an `AND` operator */\n      operatorAndOptions?: PolicyExpressionAnd;\n      /** Combines the expressions with an `OR` operator */\n      operatorOrOptions?: PolicyExpressionOr;\n      /** Represents the specific policy */\n      policyOptions?: Policy;\n  }\n  enum PolicyExpressionType {\n      UNKNOWN = \"UNKNOWN\",\n      OPERATOR_NOT = \"OPERATOR_NOT\",\n      OPERATOR_AND = \"OPERATOR_AND\",\n      OPERATOR_OR = \"OPERATOR_OR\",\n      POLICY = \"POLICY\"\n  }\n  interface PolicyExpressionNot {\n      /** Expression that is negated */\n      expression?: PolicyExpression;\n  }\n  interface PolicyExpressionAnd {\n      /** Expressions that are combined with an `AND` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface PolicyExpressionOr {\n      /** Expressions that are combined with an `OR` operator */\n      expressions?: PolicyExpression[];\n  }\n  interface Policy extends PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: TypesCustomPolicy;\n      /** Policy type */\n      type?: Type;\n  }\n  /** @oneof */\n  interface PolicyPolicyOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Policy which limits entitlement usage per time unit */\n      rateLimitedOptions?: RateLimitedPolicy;\n      /** Custom policy definition that is controlled by the CustomPolicyProvider */\n      customOptions?: TypesCustomPolicy;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      RATE_LIMITED = \"RATE_LIMITED\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface FixedIntervalPolicy {\n      /** Weekday that this interval starts from. If this is set then to_week_day must also be set */\n      fromWeekDay?: WeekDay;\n      /** Weekday that this interval ends at. If this is set then from_week_day must also be set */\n      toWeekDay?: WeekDay;\n      /** Hour that this interval starts from. If this is set then to_hour must also be set */\n      fromHour?: number | null;\n      /** Hour that this interval ends at. If this is set then from_hour must also be set */\n      toHour?: number | null;\n      /** Minute that this interval starts from. If this is set then to_minute must also be set */\n      fromMinute?: number | null;\n      /** Minute that this interval ends at. If this is set then from_minute must also be set */\n      toMinute?: number | null;\n  }\n  enum WeekDay {\n      UNKNOWN = \"UNKNOWN\",\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  interface RateLimitedPolicy extends RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n      /** Defines how many times it's allowed to consume a item over the period */\n      times?: number;\n      /** Type of period */\n      type?: RateLimitedPolicyType;\n  }\n  /** @oneof */\n  interface RateLimitedPolicyPeriodOneOf {\n      /** Policy which defines entitlement eligibility on particular days or hours */\n      fixedIntervalOptions?: FixedIntervalPolicy;\n  }\n  enum RateLimitedPolicyType {\n      UNKNOWN = \"UNKNOWN\",\n      FIXED_INTERVAL = \"FIXED_INTERVAL\",\n      PER_CYCLE = \"PER_CYCLE\"\n  }\n  /** Custom policy as implemented by the Entitlement Policy Provider */\n  interface TypesCustomPolicy {\n      /** References a specific custom policy on the provider's system */\n      _id?: string;\n      /** Custom policy provider id */\n      appId?: string | null;\n      /** Additional info for this custom policy. It's going to be passed to the policy provider during eligibility checks */\n      additionalData?: Record<string, any> | null;\n  }\n  interface CreditConfiguration {\n      /** The total amount of credits available for this entitlement */\n      amount?: string;\n      /** Rollover configuration */\n      rolloverConfiguration?: RolloverConfiguration;\n      /** Display name of the unit */\n      unitDisplayName?: string | null;\n  }\n  interface RolloverConfiguration {\n      /** Determined whether unused credits are rolled over to the new cycle */\n      enabled?: boolean | null;\n      /** The maximum amount of credits to roll over on renewal. The rolled over value will be the minimum of this value and the remaining credits. */\n      amount?: string | null;\n  }\n  interface ItemReference {\n      /** External Id of the item */\n      externalId?: string;\n      /** Item category */\n      category?: string | null;\n      /** Item provider app Id */\n      providerAppId?: string;\n  }\n  interface EvaluatePolicyResponse {\n      /** Evaluation result */\n      results?: EvaluationResult[];\n  }\n  interface EvaluationResult {\n      /** Key used to uniquely identify this evaluation request. This key will be used to match the response to the request */\n      evaluationKey?: string;\n      /** References a specific custom policy on the provider's system */\n      policyResults?: PolicyEvaluationResult[];\n  }\n  interface PolicyEvaluationResult {\n      /** References a specific custom policy on the provider's system */\n      policyId?: string | null;\n      /** Whether the entitlement passes the policy or not */\n      success?: boolean;\n      /** Details indicating the type of failure and any additional error data that may be forwarded to the client */\n      details?: FailureDetails;\n  }\n  interface FailureDetails {\n      /** Error code */\n      errorCode?: string;\n      /** Additional data that will be stored in the entitlement */\n      errorData?: Record<string, any> | null;\n  }\n  interface PolicyConfig {\n      /** URI where the SPI Implementer is deployed */\n      uriConfig?: SpiBaseUri;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: ContextIdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentificationDataIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ContextIdentificationData extends ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentificationDataIdentityType;\n  }\n  /** @oneof */\n  interface ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface EvaluatePolicyOptions {\n      /** List of evaluation requests */\n      evaluationRequests?: EvaluationRequest[];\n  }\n  \n  export { AlternativeUri, Benefit, BusinessError, Context, ContextIdentificationData, ContextIdentificationDataIdOneOf, CreditConfiguration, CustomPolicy, Details, EvaluatePolicyOptions, EvaluatePolicyRequest, EvaluatePolicyResponse, EvaluationContext, EvaluationRequest, EvaluationResult, FailureDetails, FixedIntervalPolicy, IdentificationData, IdentificationDataIdOneOf, IdentificationDataIdentityType, IdentityType, ItemReference, Policy, PolicyConfig, PolicyEvaluationResult, PolicyExpression, PolicyExpressionAnd, PolicyExpressionExpressionOneOf, PolicyExpressionNot, PolicyExpressionOr, PolicyExpressionType, PolicyPolicyOneOf, Pool, PoolStatus, RateLimitedPolicy, RateLimitedPolicyPeriodOneOf, RateLimitedPolicyType, RolloverConfiguration, SpiBaseUri, Type, TypesCustomPolicy, WeekDay };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-generate-example.d.ts",
      "content": "declare module \"wix-generate-example\" {\n  interface Example {\n      /** ID of the example created. */\n      _id?: string;\n      /** the output of gpt */\n      example?: string;\n      /** the method we generated the example for */\n      action?: string;\n  }\n  interface GenerateExamplesForResourceRequest {\n      /** the main entity to generate examples for */\n      resource: string;\n  }\n  interface GenerateExamplesForResourceResponse {\n      examples?: Example[];\n  }\n  interface GetStatusForResourceRequest {\n      /** the resource to check status for */\n      resource: string;\n      /** the namespace in resource to check status for */\n      namespace: string;\n  }\n  interface GetStatusForResourceResponse {\n      methodsStatus?: MethodStatus[];\n  }\n  interface MethodStatus {\n      package?: string;\n      namespace?: string;\n      method?: string;\n      status?: Status;\n  }\n  enum Status {\n      SUCCESS = \"SUCCESS\",\n      FAIL = \"FAIL\",\n      NA = \"NA\"\n  }\n  /** @param resource - the main entity to generate examples for\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField resource\n   * @permissionId WIX_IGOR.CREATE_EXAMPLE\n   * @adminMethod\n   */\n  function generateExamplesForResource(resource: string): Promise<GenerateExamplesForResourceResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.namespace\n   * @requiredField identifiers.resource\n   * @permissionId WIX_IGOR.GET_STATUS\n   * @adminMethod\n   */\n  function getStatusForResource(identifiers: GetStatusForResourceIdentifiers): Promise<GetStatusForResourceResponse>;\n  interface GetStatusForResourceIdentifiers {\n      /** the resource to check status for */\n      resource: string;\n      /** the namespace in resource to check status for */\n      namespace: string;\n  }\n  \n  export { Example, GenerateExamplesForResourceRequest, GenerateExamplesForResourceResponse, GetStatusForResourceIdentifiers, GetStatusForResourceRequest, GetStatusForResourceResponse, MethodStatus, Status, generateExamplesForResource, getStatusForResource };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-billing-tax.d.ts",
      "content": "declare module \"wix-billing-tax\" {\n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * Tax Group represents a tax category for a group of line items.\n   * It is used as a way to connect a tax rate to a group of line items.\n   */\n  interface TaxGroup {\n      /**\n       * Tax Group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Tax Group Name - a non empty string that represents the tax category. */\n      name?: string;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes.\n       * for an update operation to succeed, you MUST pass the latest revision.\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this TaxGroup was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this TaxGroup was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  interface CreateTaxGroupRequest {\n      /** Tax Group to be created */\n      taxGroup: TaxGroup;\n  }\n  interface CreateTaxGroupResponse {\n      /** The created Tax Group */\n      taxGroup?: TaxGroup;\n  }\n  interface GetTaxGroupRequest {\n      /** Id of the Tax Group to retrieve */\n      taxGroupId: string;\n  }\n  interface GetTaxGroupResponse {\n      /** The retrieved Tax Group */\n      taxGroup?: TaxGroup;\n  }\n  interface UpdateTaxGroupRequest {\n      /** Tax Group to be updated, may be partial */\n      taxGroup: TaxGroup;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateTaxGroupResponse {\n      /** The updated Tax Group */\n      taxGroup?: TaxGroup;\n  }\n  interface DeleteTaxGroupRequest {\n      /** Id of the Tax Group to delete */\n      taxGroupId: string;\n  }\n  interface DeleteTaxGroupResponse {\n  }\n  interface QueryTaxGroupsRequest {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTaxGroupsResponse {\n      /** The retrieved Tax Groups */\n      taxGroups?: TaxGroup[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListDefaultTaxGroupsRequest {\n  }\n  interface ListDefaultTaxGroupsResponse {\n      /** The system defined groups for the installed apps (stores will return \"all products\", \"shipping\", \"fees\") */\n      taxGroups?: TaxGroup[];\n  }\n  interface ListDefaultTaxGroupsByAppIdsRequest {\n      /** The app ids to get the default tax groups for */\n      appIds: string[];\n  }\n  interface ListDefaultTaxGroupsByAppIdsResponse {\n      /** The default tax group for each app */\n      results?: ListDefaultTaxGroupsByAppIdsResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface ListDefaultTaxGroupsByAppIdsResult {\n      /** Information about successful action or error for failure. */\n      taxGroupMetadata?: ItemMetadata$1;\n      /** The default TaxGroup for the app */\n      taxGroup?: TaxGroup;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  /**\n   * Create a Tax Group\n   * @param taxGroup - Tax Group to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField taxGroup\n   * @requiredField taxGroup.name\n   * @adminMethod\n   * @returns The created Tax Group\n   */\n  function createTaxGroup(taxGroup: TaxGroup): Promise<TaxGroup>;\n  /**\n   * Get a Tax Group\n   * @param taxGroupId - Id of the Tax Group to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField taxGroupId\n   * @returns The retrieved Tax Group\n   */\n  function getTaxGroup(taxGroupId: string): Promise<TaxGroup>;\n  /**\n   * Update a Tax Group, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - Tax Group ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField taxGroup\n   * @requiredField taxGroup.name\n   * @requiredField taxGroup.revision\n   * @adminMethod\n   * @returns The updated Tax Group\n   */\n  function updateTaxGroup(_id: string | null, taxGroup: UpdateTaxGroup, options?: UpdateTaxGroupOptions): Promise<TaxGroup>;\n  interface UpdateTaxGroup {\n      /**\n       * Tax Group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Tax Group Name - a non empty string that represents the tax category. */\n      name?: string;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes.\n       * for an update operation to succeed, you MUST pass the latest revision.\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this TaxGroup was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this TaxGroup was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  interface UpdateTaxGroupOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Delete a Tax Group\n   * @param taxGroupId - Id of the Tax Group to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField taxGroupId\n   * @adminMethod\n   */\n  function deleteTaxGroup(taxGroupId: string): Promise<void>;\n  /**\n   * Query Tax Groups using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   */\n  function queryTaxGroups(): TaxGroupsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TaxGroupsQueryResult extends QueryCursorResult$1 {\n      items: TaxGroup[];\n      query: TaxGroupsQueryBuilder;\n      next: () => Promise<TaxGroupsQueryResult>;\n      prev: () => Promise<TaxGroupsQueryResult>;\n  }\n  interface TaxGroupsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name' | '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name' | '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_createdDate' | '_updatedDate', value: any[]) => TaxGroupsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_createdDate' | '_updatedDate', value: boolean) => TaxGroupsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'name' | '_createdDate' | '_updatedDate'>) => TaxGroupsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'name' | '_createdDate' | '_updatedDate'>) => TaxGroupsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => TaxGroupsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => TaxGroupsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<TaxGroupsQueryResult>;\n  }\n  /**\n   * ListDefaultTaxGroups - will return all default tax groups for the installed apps for the given metasite.\n   * for example, if stores is installed then its default tax group - \"Products\" will be returned.\n   * if bookings is installed then its default tax group - \"services\" will be returned.\n   * The language of the default tax group will be the language of the metasite.\n   * Default tax groups are defined via the Default Tax Group spi configuration.\n   * @internal\n   * @documentationMaturity preview\n   */\n  function listDefaultTaxGroups(): Promise<ListDefaultTaxGroupsResponse>;\n  /**\n   * ListDefaultTaxGroupsByAppIds - will return all default tax groups for the given app ids if they are installed for the given metasite and the app has default tax groups extension.\n   * for example, if online stores is installed and its app id is given then its default tax group - \"Products\" will be returned.\n   * if bookings is not installed, even if you will send its app id you will not get the tax group back.\n   * @param appIds - The app ids to get the default tax groups for\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField appIds\n   */\n  function listDefaultTaxGroupsByAppIds(appIds: string[]): Promise<ListDefaultTaxGroupsByAppIdsResponse>;\n  \n  type billingV1TaxGroup_universal_d_TaxGroup = TaxGroup;\n  type billingV1TaxGroup_universal_d_CreateTaxGroupRequest = CreateTaxGroupRequest;\n  type billingV1TaxGroup_universal_d_CreateTaxGroupResponse = CreateTaxGroupResponse;\n  type billingV1TaxGroup_universal_d_GetTaxGroupRequest = GetTaxGroupRequest;\n  type billingV1TaxGroup_universal_d_GetTaxGroupResponse = GetTaxGroupResponse;\n  type billingV1TaxGroup_universal_d_UpdateTaxGroupRequest = UpdateTaxGroupRequest;\n  type billingV1TaxGroup_universal_d_UpdateTaxGroupResponse = UpdateTaxGroupResponse;\n  type billingV1TaxGroup_universal_d_DeleteTaxGroupRequest = DeleteTaxGroupRequest;\n  type billingV1TaxGroup_universal_d_DeleteTaxGroupResponse = DeleteTaxGroupResponse;\n  type billingV1TaxGroup_universal_d_QueryTaxGroupsRequest = QueryTaxGroupsRequest;\n  type billingV1TaxGroup_universal_d_QueryV2 = QueryV2;\n  type billingV1TaxGroup_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type billingV1TaxGroup_universal_d_Paging = Paging;\n  type billingV1TaxGroup_universal_d_QueryTaxGroupsResponse = QueryTaxGroupsResponse;\n  type billingV1TaxGroup_universal_d_ListDefaultTaxGroupsRequest = ListDefaultTaxGroupsRequest;\n  type billingV1TaxGroup_universal_d_ListDefaultTaxGroupsResponse = ListDefaultTaxGroupsResponse;\n  type billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsRequest = ListDefaultTaxGroupsByAppIdsRequest;\n  type billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsResponse = ListDefaultTaxGroupsByAppIdsResponse;\n  type billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsResult = ListDefaultTaxGroupsByAppIdsResult;\n  const billingV1TaxGroup_universal_d_createTaxGroup: typeof createTaxGroup;\n  const billingV1TaxGroup_universal_d_getTaxGroup: typeof getTaxGroup;\n  const billingV1TaxGroup_universal_d_updateTaxGroup: typeof updateTaxGroup;\n  type billingV1TaxGroup_universal_d_UpdateTaxGroup = UpdateTaxGroup;\n  type billingV1TaxGroup_universal_d_UpdateTaxGroupOptions = UpdateTaxGroupOptions;\n  const billingV1TaxGroup_universal_d_deleteTaxGroup: typeof deleteTaxGroup;\n  const billingV1TaxGroup_universal_d_queryTaxGroups: typeof queryTaxGroups;\n  type billingV1TaxGroup_universal_d_TaxGroupsQueryResult = TaxGroupsQueryResult;\n  type billingV1TaxGroup_universal_d_TaxGroupsQueryBuilder = TaxGroupsQueryBuilder;\n  const billingV1TaxGroup_universal_d_listDefaultTaxGroups: typeof listDefaultTaxGroups;\n  const billingV1TaxGroup_universal_d_listDefaultTaxGroupsByAppIds: typeof listDefaultTaxGroupsByAppIds;\n  namespace billingV1TaxGroup_universal_d {\n    export {\n      __debug$1 as __debug,\n      billingV1TaxGroup_universal_d_TaxGroup as TaxGroup,\n      billingV1TaxGroup_universal_d_CreateTaxGroupRequest as CreateTaxGroupRequest,\n      billingV1TaxGroup_universal_d_CreateTaxGroupResponse as CreateTaxGroupResponse,\n      billingV1TaxGroup_universal_d_GetTaxGroupRequest as GetTaxGroupRequest,\n      billingV1TaxGroup_universal_d_GetTaxGroupResponse as GetTaxGroupResponse,\n      billingV1TaxGroup_universal_d_UpdateTaxGroupRequest as UpdateTaxGroupRequest,\n      billingV1TaxGroup_universal_d_UpdateTaxGroupResponse as UpdateTaxGroupResponse,\n      billingV1TaxGroup_universal_d_DeleteTaxGroupRequest as DeleteTaxGroupRequest,\n      billingV1TaxGroup_universal_d_DeleteTaxGroupResponse as DeleteTaxGroupResponse,\n      billingV1TaxGroup_universal_d_QueryTaxGroupsRequest as QueryTaxGroupsRequest,\n      billingV1TaxGroup_universal_d_QueryV2 as QueryV2,\n      billingV1TaxGroup_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      billingV1TaxGroup_universal_d_Paging as Paging,\n      CursorPaging$1 as CursorPaging,\n      billingV1TaxGroup_universal_d_QueryTaxGroupsResponse as QueryTaxGroupsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      billingV1TaxGroup_universal_d_ListDefaultTaxGroupsRequest as ListDefaultTaxGroupsRequest,\n      billingV1TaxGroup_universal_d_ListDefaultTaxGroupsResponse as ListDefaultTaxGroupsResponse,\n      billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsRequest as ListDefaultTaxGroupsByAppIdsRequest,\n      billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsResponse as ListDefaultTaxGroupsByAppIdsResponse,\n      billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsResult as ListDefaultTaxGroupsByAppIdsResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      billingV1TaxGroup_universal_d_createTaxGroup as createTaxGroup,\n      billingV1TaxGroup_universal_d_getTaxGroup as getTaxGroup,\n      billingV1TaxGroup_universal_d_updateTaxGroup as updateTaxGroup,\n      billingV1TaxGroup_universal_d_UpdateTaxGroup as UpdateTaxGroup,\n      billingV1TaxGroup_universal_d_UpdateTaxGroupOptions as UpdateTaxGroupOptions,\n      billingV1TaxGroup_universal_d_deleteTaxGroup as deleteTaxGroup,\n      billingV1TaxGroup_universal_d_queryTaxGroups as queryTaxGroups,\n      billingV1TaxGroup_universal_d_TaxGroupsQueryResult as TaxGroupsQueryResult,\n      billingV1TaxGroup_universal_d_TaxGroupsQueryBuilder as TaxGroupsQueryBuilder,\n      billingV1TaxGroup_universal_d_listDefaultTaxGroups as listDefaultTaxGroups,\n      billingV1TaxGroup_universal_d_listDefaultTaxGroupsByAppIds as listDefaultTaxGroupsByAppIds,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * TaxRegion is the main entity of TaxRegionsService that can be used to define where you collect taxes and how.\n   * Country and subdivision represent the location and the method is referred by the calculator_id.\n   * All available calculators can be fetched by TaxService.ListTaxCalculators API.\n   */\n  interface TaxRegion {\n      /**\n       * TaxRegion ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Two-letter country code in ISO-3166 alpha-2 format. */\n      country?: string;\n      /**\n       * Code for a subdivision (such as state, prefecture, or province) in ISO 3166-2 format.\n       * If tax region is defined for a country, subdivision must be equal to \"*\". if not provided, it will be set to \"*\".\n       */\n      subdivision?: string;\n      /**\n       * The primary calculator appDefId for this region.\n       * Note that for any calculator you should set fallback manual rates to be used in case the calculator fails.\n       * e.g For Avalara calculator use \"7516f85b-0868-4c23-9fcb-cea7784243df\".\n       * Since Avalara is a premium service, on downgrade to free plan, the Avalara calculator will be replaced with Manual calculator.\n       */\n      appId?: string;\n      /** indicates if the price for this region includes the tax. In some countries, like in EU, the displayed price must include tax. */\n      taxIncludedInPrice?: boolean;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this TaxRegion was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this TaxRegion was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  interface CreateTaxRegionRequest {\n      /** TaxRegion to be created */\n      taxRegion: TaxRegion;\n      /**\n       * when a region is created by user the site is added to the new tax service. during the migration we want to prevent that.\n       * @internal\n       */\n      updateMigrationManager?: boolean | null;\n  }\n  interface CreateTaxRegionResponse {\n      /** The created TaxRegion */\n      taxRegion?: TaxRegion;\n  }\n  interface ConflictErrorDetails {\n      /** reason for conflict */\n      reasonForConflict?: string;\n  }\n  interface BulkCreateTaxRegionRequest {\n      /** a sequence of tax regions to be created by bulk */\n      taxRegions: TaxRegion[];\n      /** Whether to return the full tax_region entity in the response. */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateTaxRegionResponse {\n      /** Tax regions created by bulk. */\n      results?: BulkCreateTaxRegionResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCreateTaxRegionResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata;\n      /** The created TaxRegion, Only exists if `returnEntity` was set to true in the request */\n      item?: TaxRegion;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetTaxRegionRequest {\n      /** Id of the TaxRegion to retrieve */\n      taxRegionId: string;\n  }\n  interface GetTaxRegionResponse {\n      /** The retrieved TaxRegion */\n      taxRegion?: TaxRegion;\n  }\n  interface UpdateTaxRegionRequest {\n      /** TaxRegion to be updated, may be partial */\n      taxRegion: TaxRegion;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateTaxRegionResponse {\n      /** The updated TaxRegion */\n      taxRegion?: TaxRegion;\n  }\n  interface DeleteTaxRegionRequest {\n      /** Id of the TaxRegion to delete */\n      taxRegionId: string;\n  }\n  interface DeleteTaxRegionResponse {\n  }\n  interface QueryTaxRegionsRequest {\n      /** WQL expression */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTaxRegionsResponse {\n      /** The retrieved TaxRegions */\n      taxRegions?: TaxRegion[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  /**\n   * Creates a new TaxRegion.\n   * Once the tax region is created, it is possible to configure the tax group mappings for the tax region.\n   * The tax group mappings are used by the built-in calculators to calculate the tax for a given tax group.\n   * @param taxRegion - TaxRegion to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField taxRegion\n   * @requiredField taxRegion.appId\n   * @requiredField taxRegion.country\n   * @requiredField taxRegion.taxIncludedInPrice\n   * @adminMethod\n   * @returns The created TaxRegion\n   */\n  function createTaxRegion(taxRegion: TaxRegion, options?: CreateTaxRegionOptions): Promise<TaxRegion>;\n  interface CreateTaxRegionOptions {\n      /**\n       * when a region is created by user the site is added to the new tax service. during the migration we want to prevent that.\n       * @internal\n       */\n      updateMigrationManager?: boolean | null;\n  }\n  /**\n   * Create multiple Tax Regions by Bulk\n   * @param taxRegions - a sequence of tax regions to be created by bulk\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField taxRegions\n   * @adminMethod\n   */\n  function bulkCreateTaxRegion(taxRegions: TaxRegion[], options?: BulkCreateTaxRegionOptions): Promise<BulkCreateTaxRegionResponse>;\n  interface BulkCreateTaxRegionOptions {\n      /** Whether to return the full tax_region entity in the response. */\n      returnEntity?: boolean;\n  }\n  /**\n   * Get a TaxRegion by id\n   * @param taxRegionId - Id of the TaxRegion to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField taxRegionId\n   * @adminMethod\n   * @returns The retrieved TaxRegion\n   */\n  function getTaxRegion(taxRegionId: string): Promise<TaxRegion>;\n  /**\n   * Update a TaxRegion, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - TaxRegion ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField taxRegion\n   * @requiredField taxRegion.revision\n   * @adminMethod\n   * @returns The updated TaxRegion\n   */\n  function updateTaxRegion(_id: string | null, taxRegion: UpdateTaxRegion, options?: UpdateTaxRegionOptions): Promise<TaxRegion>;\n  interface UpdateTaxRegion {\n      /**\n       * TaxRegion ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Two-letter country code in ISO-3166 alpha-2 format. */\n      country?: string;\n      /**\n       * Code for a subdivision (such as state, prefecture, or province) in ISO 3166-2 format.\n       * If tax region is defined for a country, subdivision must be equal to \"*\". if not provided, it will be set to \"*\".\n       */\n      subdivision?: string;\n      /**\n       * The primary calculator appDefId for this region.\n       * Note that for any calculator you should set fallback manual rates to be used in case the calculator fails.\n       * e.g For Avalara calculator use \"7516f85b-0868-4c23-9fcb-cea7784243df\".\n       * Since Avalara is a premium service, on downgrade to free plan, the Avalara calculator will be replaced with Manual calculator.\n       */\n      appId?: string;\n      /** indicates if the price for this region includes the tax. In some countries, like in EU, the displayed price must include tax. */\n      taxIncludedInPrice?: boolean;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this TaxRegion was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Represents the time this TaxRegion was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n  }\n  interface UpdateTaxRegionOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Delete a TaxRegion\n   *\n   * Triggers a side effect of deleting all mappings that are associated with this TaxRegion on the built-in calculators.\n   * For Avalara calculator, all the mappings that are associated with this TaxRegion will be deleted.\n   * For Manual calculator, all the \"wix.billing.v1.manual_calc.tax_group_mapping\" that are associated with this TaxRegion will be deleted.\n   * For external calculators, this side effect is not guaranteed.\n   *\n   * Deleting a TaxRegion means that tax is not collected for the region anymore and so zero tax will be returned for addresses of this region.\n   * @param taxRegionId - Id of the TaxRegion to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField taxRegionId\n   * @adminMethod\n   */\n  function deleteTaxRegion(taxRegionId: string): Promise<void>;\n  /**\n   * Query TaxRegions using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryTaxRegions(): TaxRegionsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TaxRegionsQueryResult extends QueryCursorResult {\n      items: TaxRegion[];\n      query: TaxRegionsQueryBuilder;\n      next: () => Promise<TaxRegionsQueryResult>;\n      prev: () => Promise<TaxRegionsQueryResult>;\n  }\n  interface TaxRegionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'country' | 'subdivision' | 'appId', value: string) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate', value: any[]) => TaxRegionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate', value: boolean) => TaxRegionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate'>) => TaxRegionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate'>) => TaxRegionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => TaxRegionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => TaxRegionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<TaxRegionsQueryResult>;\n  }\n  \n  const billingV1TaxRegion_universal_d___debug: typeof __debug;\n  type billingV1TaxRegion_universal_d_TaxRegion = TaxRegion;\n  type billingV1TaxRegion_universal_d_CreateTaxRegionRequest = CreateTaxRegionRequest;\n  type billingV1TaxRegion_universal_d_CreateTaxRegionResponse = CreateTaxRegionResponse;\n  type billingV1TaxRegion_universal_d_ConflictErrorDetails = ConflictErrorDetails;\n  type billingV1TaxRegion_universal_d_BulkCreateTaxRegionRequest = BulkCreateTaxRegionRequest;\n  type billingV1TaxRegion_universal_d_BulkCreateTaxRegionResponse = BulkCreateTaxRegionResponse;\n  type billingV1TaxRegion_universal_d_BulkCreateTaxRegionResult = BulkCreateTaxRegionResult;\n  type billingV1TaxRegion_universal_d_ItemMetadata = ItemMetadata;\n  type billingV1TaxRegion_universal_d_ApplicationError = ApplicationError;\n  type billingV1TaxRegion_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type billingV1TaxRegion_universal_d_GetTaxRegionRequest = GetTaxRegionRequest;\n  type billingV1TaxRegion_universal_d_GetTaxRegionResponse = GetTaxRegionResponse;\n  type billingV1TaxRegion_universal_d_UpdateTaxRegionRequest = UpdateTaxRegionRequest;\n  type billingV1TaxRegion_universal_d_UpdateTaxRegionResponse = UpdateTaxRegionResponse;\n  type billingV1TaxRegion_universal_d_DeleteTaxRegionRequest = DeleteTaxRegionRequest;\n  type billingV1TaxRegion_universal_d_DeleteTaxRegionResponse = DeleteTaxRegionResponse;\n  type billingV1TaxRegion_universal_d_QueryTaxRegionsRequest = QueryTaxRegionsRequest;\n  type billingV1TaxRegion_universal_d_CursorQuery = CursorQuery;\n  type billingV1TaxRegion_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type billingV1TaxRegion_universal_d_Sorting = Sorting;\n  type billingV1TaxRegion_universal_d_SortOrder = SortOrder;\n  const billingV1TaxRegion_universal_d_SortOrder: typeof SortOrder;\n  type billingV1TaxRegion_universal_d_CursorPaging = CursorPaging;\n  type billingV1TaxRegion_universal_d_QueryTaxRegionsResponse = QueryTaxRegionsResponse;\n  type billingV1TaxRegion_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type billingV1TaxRegion_universal_d_Cursors = Cursors;\n  type billingV1TaxRegion_universal_d_DomainEvent = DomainEvent;\n  type billingV1TaxRegion_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type billingV1TaxRegion_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type billingV1TaxRegion_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type billingV1TaxRegion_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type billingV1TaxRegion_universal_d_ActionEvent = ActionEvent;\n  const billingV1TaxRegion_universal_d_createTaxRegion: typeof createTaxRegion;\n  type billingV1TaxRegion_universal_d_CreateTaxRegionOptions = CreateTaxRegionOptions;\n  const billingV1TaxRegion_universal_d_bulkCreateTaxRegion: typeof bulkCreateTaxRegion;\n  type billingV1TaxRegion_universal_d_BulkCreateTaxRegionOptions = BulkCreateTaxRegionOptions;\n  const billingV1TaxRegion_universal_d_getTaxRegion: typeof getTaxRegion;\n  const billingV1TaxRegion_universal_d_updateTaxRegion: typeof updateTaxRegion;\n  type billingV1TaxRegion_universal_d_UpdateTaxRegion = UpdateTaxRegion;\n  type billingV1TaxRegion_universal_d_UpdateTaxRegionOptions = UpdateTaxRegionOptions;\n  const billingV1TaxRegion_universal_d_deleteTaxRegion: typeof deleteTaxRegion;\n  const billingV1TaxRegion_universal_d_queryTaxRegions: typeof queryTaxRegions;\n  type billingV1TaxRegion_universal_d_TaxRegionsQueryResult = TaxRegionsQueryResult;\n  type billingV1TaxRegion_universal_d_TaxRegionsQueryBuilder = TaxRegionsQueryBuilder;\n  namespace billingV1TaxRegion_universal_d {\n    export {\n      billingV1TaxRegion_universal_d___debug as __debug,\n      billingV1TaxRegion_universal_d_TaxRegion as TaxRegion,\n      billingV1TaxRegion_universal_d_CreateTaxRegionRequest as CreateTaxRegionRequest,\n      billingV1TaxRegion_universal_d_CreateTaxRegionResponse as CreateTaxRegionResponse,\n      billingV1TaxRegion_universal_d_ConflictErrorDetails as ConflictErrorDetails,\n      billingV1TaxRegion_universal_d_BulkCreateTaxRegionRequest as BulkCreateTaxRegionRequest,\n      billingV1TaxRegion_universal_d_BulkCreateTaxRegionResponse as BulkCreateTaxRegionResponse,\n      billingV1TaxRegion_universal_d_BulkCreateTaxRegionResult as BulkCreateTaxRegionResult,\n      billingV1TaxRegion_universal_d_ItemMetadata as ItemMetadata,\n      billingV1TaxRegion_universal_d_ApplicationError as ApplicationError,\n      billingV1TaxRegion_universal_d_BulkActionMetadata as BulkActionMetadata,\n      billingV1TaxRegion_universal_d_GetTaxRegionRequest as GetTaxRegionRequest,\n      billingV1TaxRegion_universal_d_GetTaxRegionResponse as GetTaxRegionResponse,\n      billingV1TaxRegion_universal_d_UpdateTaxRegionRequest as UpdateTaxRegionRequest,\n      billingV1TaxRegion_universal_d_UpdateTaxRegionResponse as UpdateTaxRegionResponse,\n      billingV1TaxRegion_universal_d_DeleteTaxRegionRequest as DeleteTaxRegionRequest,\n      billingV1TaxRegion_universal_d_DeleteTaxRegionResponse as DeleteTaxRegionResponse,\n      billingV1TaxRegion_universal_d_QueryTaxRegionsRequest as QueryTaxRegionsRequest,\n      billingV1TaxRegion_universal_d_CursorQuery as CursorQuery,\n      billingV1TaxRegion_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      billingV1TaxRegion_universal_d_Sorting as Sorting,\n      billingV1TaxRegion_universal_d_SortOrder as SortOrder,\n      billingV1TaxRegion_universal_d_CursorPaging as CursorPaging,\n      billingV1TaxRegion_universal_d_QueryTaxRegionsResponse as QueryTaxRegionsResponse,\n      billingV1TaxRegion_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      billingV1TaxRegion_universal_d_Cursors as Cursors,\n      billingV1TaxRegion_universal_d_DomainEvent as DomainEvent,\n      billingV1TaxRegion_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      billingV1TaxRegion_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      billingV1TaxRegion_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      billingV1TaxRegion_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      billingV1TaxRegion_universal_d_ActionEvent as ActionEvent,\n      billingV1TaxRegion_universal_d_createTaxRegion as createTaxRegion,\n      billingV1TaxRegion_universal_d_CreateTaxRegionOptions as CreateTaxRegionOptions,\n      billingV1TaxRegion_universal_d_bulkCreateTaxRegion as bulkCreateTaxRegion,\n      billingV1TaxRegion_universal_d_BulkCreateTaxRegionOptions as BulkCreateTaxRegionOptions,\n      billingV1TaxRegion_universal_d_getTaxRegion as getTaxRegion,\n      billingV1TaxRegion_universal_d_updateTaxRegion as updateTaxRegion,\n      billingV1TaxRegion_universal_d_UpdateTaxRegion as UpdateTaxRegion,\n      billingV1TaxRegion_universal_d_UpdateTaxRegionOptions as UpdateTaxRegionOptions,\n      billingV1TaxRegion_universal_d_deleteTaxRegion as deleteTaxRegion,\n      billingV1TaxRegion_universal_d_queryTaxRegions as queryTaxRegions,\n      billingV1TaxRegion_universal_d_TaxRegionsQueryResult as TaxRegionsQueryResult,\n      billingV1TaxRegion_universal_d_TaxRegionsQueryBuilder as TaxRegionsQueryBuilder,\n    };\n  }\n  \n  export { billingV1TaxGroup_universal_d as taxGroups, billingV1TaxRegion_universal_d as taxRegions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-events.v1.d.ts",
      "content": "declare module \"wix-events.v1\" {\n  const __debug$8: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Event$1 {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Event location. */\n      location?: Location$1;\n      /** Event scheduling. */\n      scheduling?: Scheduling$1;\n      /** Event title. */\n      title?: string;\n      /** Event description. */\n      description?: string;\n      /** Rich-text content displayed in Wix UI - \"About Event\" section (HTML). */\n      about?: string;\n      /** Main event image. */\n      mainImage?: string;\n      /** Event slug URL (generated from event title). */\n      slug?: string;\n      /** ISO 639-1 language code of the event (used in content translations). */\n      language?: string;\n      /** Event creation timestamp. */\n      created?: Date;\n      /** Event modified timestamp. */\n      modified?: Date;\n      /** Event status. */\n      status?: EventStatus$1;\n      /** RSVP or ticketing registration details. */\n      registration?: Registration$1;\n      /** \"Add to calendar\" URLs. */\n      calendarLinks?: CalendarLinks$4;\n      /** Event page URL components. */\n      eventPageUrl?: SiteUrl$1;\n      /** Event registration form. */\n      form?: Form$1;\n      /** Event dashboard summary of RSVP / ticket sales. */\n      dashboard?: Dashboard$3;\n      /** Instance ID of the site where event is hosted. */\n      instanceId?: string;\n      /** Guest list configuration. */\n      guestListConfig?: GuestListConfig$1;\n      /** Event creator user ID. */\n      userId?: string;\n      /** Event discussion feed. For internal use. */\n      feed?: Feed$1;\n      /** Online conferencing details. */\n      onlineConferencing?: OnlineConferencing$1;\n      /** SEO settings. */\n      seoSettings?: SeoSettings$1;\n      /** Assigned contacts label key. */\n      assignedContactsLabel?: string | null;\n      /** Agenda details. */\n      agenda?: Agenda$1;\n      /** Categories this event is assigned to. */\n      categories?: Category$2[];\n      /** Visual settings for event. */\n      eventDisplaySettings?: EventDisplaySettings$1;\n      /**\n       * @internal\n       * @readonly\n       */\n      customizableTickets?: boolean | null;\n  }\n  interface Location$1 {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates$1;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationType$1;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address$5;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates$1 {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationType$1 {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address$5 extends AddressStreetOneOf$5 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$5;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation$5;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$5 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$5;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$5 {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /**\n       * apartment number\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation$5 {\n      /** address latitude coordinates */\n      latitude?: number | null;\n      /** address longitude coordinates */\n      longitude?: number | null;\n  }\n  interface Subdivision$5 {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /**\n       * subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$5;\n      /**\n       * free text description of subdivision type\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$5 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface Scheduling$1 {\n      /** Schedule configuration. */\n      config?: ScheduleConfig$1;\n      /** Formatted schedule representation. */\n      formatted?: string;\n      /** Formatted start date of the event (empty for TBD schedules). */\n      startDateFormatted?: string;\n      /** Formatted start time of the event (empty for TBD schedules). */\n      startTimeFormatted?: string;\n      /** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */\n      endDateFormatted?: string;\n      /** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */\n      endTimeFormatted?: string;\n  }\n  interface ScheduleConfig$1 {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date;\n      /** Event end timestamp. */\n      endDate?: Date;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: Recurrences$1;\n  }\n  interface Recurrences$1 {\n      /** Event occurrences. */\n      occurrences?: Occurrence$1[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: Status$1;\n  }\n  interface Occurrence$1 {\n      /** Event start timestamp. */\n      startDate?: Date;\n      /** Event end timestamp. */\n      endDate?: Date;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum Status$1 {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  enum EventStatus$1 {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface Registration$1 {\n      /** Event type. */\n      type?: EventType$1;\n      /** Event registration status. */\n      status?: RegistrationStatus$1;\n      /** RSVP collection details. */\n      rsvpCollection?: RsvpCollection$1;\n      /** Ticketing details. */\n      ticketing?: Ticketing$1;\n      /** External registration details. */\n      external?: ExternalEvent$1;\n      /** Types of users allowed to register. */\n      restrictedTo?: VisitorType$1;\n      /** Initial event type which was set when creating an event. */\n      initialType?: EventType$1;\n  }\n  enum EventType$1 {\n      /** Type not available for this request fieldset */\n      NA_EVENT_TYPE = \"NA_EVENT_TYPE\",\n      /** Registration via RSVP */\n      RSVP = \"RSVP\",\n      /** Registration via ticket purchase */\n      TICKETS = \"TICKETS\",\n      /** External registration */\n      EXTERNAL = \"EXTERNAL\",\n      /** Registration not available */\n      NO_REGISTRATION = \"NO_REGISTRATION\"\n  }\n  enum RegistrationStatus$1 {\n      /** Registration status is not applicable */\n      NA_REGISTRATION_STATUS = \"NA_REGISTRATION_STATUS\",\n      /** Registration to event is closed */\n      CLOSED = \"CLOSED\",\n      /** Registration to event is closed manually */\n      CLOSED_MANUALLY = \"CLOSED_MANUALLY\",\n      /** Registration is open via RSVP */\n      OPEN_RSVP = \"OPEN_RSVP\",\n      /** Registration to event waitlist is open via RSVP */\n      OPEN_RSVP_WAITLIST = \"OPEN_RSVP_WAITLIST\",\n      /** Registration is open via ticket purchase */\n      OPEN_TICKETS = \"OPEN_TICKETS\",\n      /** Registration is open via external URL */\n      OPEN_EXTERNAL = \"OPEN_EXTERNAL\",\n      /** Registration will be open via RSVP */\n      SCHEDULED_RSVP = \"SCHEDULED_RSVP\"\n  }\n  interface RsvpCollection$1 {\n      /** RSVP collection configuration. */\n      config?: RsvpCollectionConfig$1;\n  }\n  interface RsvpCollectionConfig$1 {\n      /** Defines the supported RSVP statuses. */\n      rsvpStatusOptions?: RsvpStatusOptions$1;\n      /**\n       * Total guest limit available to register to the event.\n       * Additional guests per RSVP are counted towards total guests.\n       */\n      limit?: number | null;\n      /** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */\n      waitlist?: boolean;\n      /** Registration start timestamp. */\n      startDate?: Date;\n      /** Registration end timestamp. */\n      endDate?: Date;\n  }\n  enum RsvpStatusOptions$1 {\n      /** Only YES RSVP status is available for RSVP registration */\n      YES_ONLY = \"YES_ONLY\",\n      /** YES and NO RSVP status options are available for the registration */\n      YES_AND_NO = \"YES_AND_NO\"\n  }\n  interface Ticketing$1 {\n      /** Deprecated. */\n      lowestPrice?: string | null;\n      /** Deprecated. */\n      highestPrice?: string | null;\n      /** Currency used in event transactions. */\n      currency?: string | null;\n      /** Ticketing configuration. */\n      config?: TicketingConfig$1;\n      /**\n       * Price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPrice?: Money$4;\n      /**\n       * Price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPrice?: Money$4;\n      /**\n       * Formatted price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPriceFormatted?: string | null;\n      /**\n       * Formatted price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPriceFormatted?: string | null;\n      /**\n       * Whether all tickets are sold for this event.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n  }\n  interface TicketingConfig$1 {\n      /** Whether the form must be filled out separately for each ticket. */\n      guestAssignedTickets?: boolean;\n      /** Tax configuration. */\n      taxConfig?: TaxConfig$1;\n      /** Limit of tickets that can be purchased per order, default 20. */\n      ticketLimitPerOrder?: number;\n      /**\n       * App Id for external ticket stock management.\n       * By default tickets stock is defined in TicketDefinition object.\n       * If defined then limitation from TicketDefinition is ignored.\n       * @internal\n       */\n      stockManagerAppId?: string | null;\n      /** Duration for which the tickets being bought are reserved. */\n      reservationDurationInMinutes?: number | null;\n  }\n  interface TaxConfig$1 {\n      /** Tax application settings. */\n      type?: TaxType$3;\n      /** Tax name. */\n      name?: string | null;\n      /** Tax rate (e.g.,`21.55`). */\n      rate?: string | null;\n      /** Applies taxes for donations, default true. */\n      appliesToDonations?: boolean | null;\n  }\n  enum TaxType$3 {\n      /** Tax is included in the ticket price */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Money$4 {\n      /** *Deprecated:** Use `value` instead. */\n      amount?: string;\n      /** ISO 4217 format of the currency i.e. `USD`. */\n      currency?: string;\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string | null;\n  }\n  interface ExternalEvent$1 {\n      /** External event registration URL. */\n      registration?: string;\n  }\n  enum VisitorType$1 {\n      /** Site visitor (including member) */\n      VISITOR = \"VISITOR\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Site visitor or member */\n      VISITOR_OR_MEMBER = \"VISITOR_OR_MEMBER\"\n  }\n  interface CalendarLinks$4 {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  /** Site URL components */\n  interface SiteUrl$1 {\n      /**\n       * Base URL. For premium sites, this will be the domain.\n       * For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`)\n       */\n      base?: string;\n      /** The path to that page - e.g `/my-events/weekly-meetup-2` */\n      path?: string;\n  }\n  /**\n   * The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout).\n   * It also contains customizable messages and labels.\n   *\n   *\n   * A form is an ordered list of controls (blocks), which accept guest information into a field input.\n   *\n   * Each control contains one or more nested inputs. For example, `Name` control has two inputs:\n   * - First Name\n   * - Last Name\n   *\n   * By default, name and email controls are always required and are pinned to the top of the form.\n   */\n  interface Form$1 {\n      /** Nested fields as an ordered list. */\n      controls?: InputControl$1[];\n      /** Set of configured form messages. */\n      messages?: FormMessages$1;\n  }\n  /**\n   * A block of nested fields.\n   * Used to aggregate similar inputs like First Name and Last Name.\n   */\n  interface InputControl$1 {\n      /** Field control type. */\n      type?: InputControlType$1;\n      /** Whether control is mandatory (such as name & email). When true, only label can be changed. */\n      system?: boolean;\n      /** Deprecated: Use `id`. */\n      name?: string;\n      /** Child inputs. */\n      inputs?: Input$1[];\n      /** Deprecated: use `inputs.label`. */\n      label?: string;\n      /** Field controls are sorted by this value in ascending order. */\n      orderIndex?: number;\n      /** Unique control ID. */\n      _id?: string;\n  }\n  enum InputControlType$1 {\n      /** Single text value field. */\n      INPUT = \"INPUT\",\n      /** Single text value field. */\n      TEXTAREA = \"TEXTAREA\",\n      /** Single-choice field of predefined values. */\n      DROPDOWN = \"DROPDOWN\",\n      /** Single-choice field of predefined values. */\n      RADIO = \"RADIO\",\n      /** Multiple-choice field of predefined values. */\n      CHECKBOX = \"CHECKBOX\",\n      /** First and last name fields. */\n      NAME = \"NAME\",\n      /** Additional guests and respective guest names fields. */\n      GUEST_CONTROL = \"GUEST_CONTROL\",\n      /** Single-line address field. */\n      ADDRESS_SHORT = \"ADDRESS_SHORT\",\n      /** Full address field. */\n      ADDRESS_FULL = \"ADDRESS_FULL\",\n      /** Year, month and day fields. */\n      DATE = \"DATE\"\n  }\n  /** An input of one or multiple text values */\n  interface Input$1 {\n      /** Field name. */\n      name?: string;\n      /** Deprecated: use `ValueType.TEXT_ARRAY`. */\n      array?: boolean;\n      /** Main field label */\n      label?: string;\n      /** Additional labels for multi-valued fields such as address. */\n      additionalLabels?: Record<string, string>;\n      /** Predefined choice options for fields, such as dropdown. */\n      options?: string[];\n      /** Whether field is mandatory. */\n      mandatory?: boolean;\n      /** Maximum number of accepted characters (relevant for text fields). */\n      maxLength?: number;\n      /**\n       * Type which determines field format.\n       * Used to validate submitted response.\n       */\n      type?: ValueType$1;\n      /**\n       * A maximum accepted values for array input.\n       * Only applicable for inputs of valueType: TEXT_ARRAY.\n       */\n      maxSize?: number | null;\n      /**\n       * Preselected option.\n       * Currently only applicable for dropdown.\n       */\n      defaultOptionSelection?: OptionSelection$1;\n      /**\n       * Additional labels for multi-valued fields such as address.\n       * @readonly\n       */\n      labels?: Label$1[];\n  }\n  enum ValueType$1 {\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      TEXT_ARRAY = \"TEXT_ARRAY\",\n      DATE_TIME = \"DATE_TIME\",\n      ADDRESS = \"ADDRESS\"\n  }\n  /**\n   * Describes initially selected option when an input has multiple choices.\n   * Defaults to first (0th) option if not configured.\n   */\n  interface OptionSelection$1 extends OptionSelectionSelectedOptionOneOf$1 {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  /** @oneof */\n  interface OptionSelectionSelectedOptionOneOf$1 {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  interface Label$1 {\n      /** Field name. */\n      name?: string;\n      /** Field label. */\n      label?: string;\n  }\n  /**\n   * Defines form messages shown in UI before, during, and after registration flow.\n   * It enables configuration of form titles, response labels, \"thank you\" messages, and call-to-action texts.\n   */\n  interface FormMessages$1 {\n      /** RSVP form messages. */\n      rsvp?: RsvpFormMessages$1;\n      /** Checkout form messages. */\n      checkout?: CheckoutFormMessages$1;\n      /** Messages shown when event registration is closed. */\n      registrationClosed?: RegistrationClosedMessages$1;\n      /** Messages shown when event tickets are unavailable. */\n      ticketsUnavailable?: TicketsUnavailableMessages$1;\n  }\n  interface RsvpFormMessages$1 {\n      /** Label text indicating RSVP `YES` response. */\n      rsvpYesOption?: string;\n      /** Label text indicating RSVP `NO` response. */\n      rsvpNoOption?: string;\n      /** Messages shown for RSVP = `YES`. */\n      positiveMessages?: Positive$1;\n      /** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */\n      waitlistMessages?: Positive$1;\n      /** Messages shown for RSVP = `NO`. */\n      negativeMessages?: Negative$1;\n      /** \"Submit form\" call-to-action label text. */\n      submitActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface PositiveResponseConfirmation$1 {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarActionLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface NegativeResponseConfirmation$1 {\n      /** Confirmation message title. */\n      title?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Set of messages shown during registration when RSVP response is positive. */\n  interface Positive$1 {\n      /** Main form title for positive response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: PositiveResponseConfirmation$1;\n  }\n  /** A set of messages shown during registration with negative response */\n  interface Negative$1 {\n      /** Main form title for negative response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: NegativeResponseConfirmation$1;\n  }\n  interface CheckoutFormMessages$1 {\n      /** Main form title for response. */\n      title?: string;\n      /** Submit form call-to-action label text. */\n      submitActionLabel?: string;\n      /** Confirmation messages shown after checkout. */\n      confirmation?: ResponseConfirmation$1;\n  }\n  /** Confirmation messages shown after checkout. */\n  interface ResponseConfirmation$1 {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Download tickets\" call-to-action label text. */\n      downloadTicketsLabel?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareEventLabel?: string;\n  }\n  interface RegistrationClosedMessages$1 {\n      /** Message shown when event registration is closed. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface TicketsUnavailableMessages$1 {\n      /** Message shown when event tickets are unavailable. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface Dashboard$3 {\n      /** Guest RSVP summary. */\n      rsvpSummary?: RsvpSummary$1;\n      /**\n       * Summary of revenue and tickets sold.\n       * (Archived orders are not included).\n       */\n      ticketingSummary?: TicketingSummary$1;\n  }\n  interface RsvpSummary$1 {\n      /** Total number of RSVPs. */\n      total?: number;\n      /** Number of RSVPs with status `YES`. */\n      yes?: number;\n      /** Number of RSVPs with status `NO`. */\n      no?: number;\n      /** Number of RSVPs in waitlist. */\n      waitlist?: number;\n  }\n  interface TicketingSummary$1 {\n      /** Number of tickets sold. */\n      tickets?: number;\n      /**\n       * Total revenue, excluding fees.\n       * (taxes and payment provider fees are not deducted.)\n       */\n      revenue?: Money$4;\n      /** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */\n      currencyLocked?: boolean;\n      /** Number of orders placed. */\n      orders?: number;\n      /** Total balance of confirmed transactions. */\n      totalSales?: Money$4;\n  }\n  interface GuestListConfig$1 {\n      /** Whether members can see other members attending the event (defaults to true). */\n      publicGuestList?: boolean;\n  }\n  interface Feed$1 {\n      /** Event discussion feed token. */\n      token?: string;\n  }\n  interface OnlineConferencing$1 {\n      config?: OnlineConferencingConfig$1;\n      session?: OnlineConferencingSession$1;\n      /**\n       * Configured conferencing provider name.\n       * @internal\n       * @readonly\n       */\n      providerName?: string;\n  }\n  interface OnlineConferencingConfig$1 {\n      /**\n       * Whether online conferencing is enabled (not supported for TBD schedules).\n       * When enabled, links to join conferencing are generated and provided to guests.\n       */\n      enabled?: boolean;\n      /** Conferencing provider ID. */\n      providerId?: string | null;\n      /** Conference type */\n      conferenceType?: ConferenceType$1;\n  }\n  enum ConferenceType$1 {\n      /** Everyone in the meeting can publish and subscribe video and audio. */\n      MEETING = \"MEETING\",\n      /** Guests can only subscribe to video and audio. */\n      WEBINAR = \"WEBINAR\"\n  }\n  interface OnlineConferencingSession$1 {\n      /**\n       * Link for event host to start the online conference session.\n       * @readonly\n       */\n      hostLink?: string;\n      /**\n       * Link for guests to join the online conference session.\n       * @readonly\n       */\n      guestLink?: string;\n      /**\n       * The password required to join online conferencing session (when relevant).\n       * @readonly\n       */\n      password?: string | null;\n      /**\n       * Indicates that session was created successfully on providers side.\n       * @readonly\n       */\n      sessionCreated?: boolean | null;\n      /**\n       * Unique session id\n       * @readonly\n       */\n      sessionId?: string | null;\n  }\n  interface SeoSettings$1 {\n      /** URL slug */\n      slug?: string;\n      /** Advanced SEO data */\n      advancedSeoData?: SeoSchema$1;\n      /**\n       * Hidden from SEO Site Map\n       * @readonly\n       */\n      hidden?: boolean | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema$1 {\n      /** SEO tag information. */\n      tags?: Tag$1[];\n      /** SEO general settings. */\n      settings?: Settings$1;\n  }\n  interface Keyword$1 {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n  }\n  interface Tag$1 {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings$1 {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword$1[];\n  }\n  interface Agenda$1 {\n      /** Whether the schedule is enabled for the event. */\n      enabled?: boolean;\n      /**\n       * Agenda page URL.\n       * @readonly\n       */\n      pageUrl?: SiteUrl$1;\n  }\n  interface Category$2 {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Category creation timestamp.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Assigned events count. Deleted events are excluded.\n       * @readonly\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * Assigned and assigned draft event counts.\n       * @readonly\n       */\n      counts?: CategoryCounts$2;\n      /**\n       * Category state. Default - MANUAL.\n       * WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission is required to use other states.\n       * Field will be ignored on update requests.\n       */\n      states?: State$5[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  interface CategoryCounts$2 {\n      /** Assigned events count. Deleted events are excluded. */\n      assignedEventsCount?: number | null;\n      /** Assigned draft events count. */\n      assignedDraftEventsCount?: number | null;\n  }\n  enum State$5 {\n      /** Created manually by the user. */\n      MANUAL = \"MANUAL\",\n      /** Created automatically. */\n      AUTO = \"AUTO\",\n      /** Created when publishing recurring events. */\n      RECURRING_EVENT = \"RECURRING_EVENT\",\n      /** Category is hidden. */\n      HIDDEN = \"HIDDEN\",\n      /** Category is used to store component events. */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface EventDisplaySettings$1 {\n      /** Whether event details button is hidden. Only available for events with no registration. */\n      hideEventDetailsButton?: boolean | null;\n  }\n  interface EventStarted {\n      /** Event start timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface EventReminder {\n      /** Reminder timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$1;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$1;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Time until the event starts (currently, reminder is triggered 1 day before event starts). */\n      startsIn?: TimeDuration;\n  }\n  /**\n   * A coarse-grained representation of time duration divided into whole constituting components of days, hours, and minutes.\n   * For example, 25.5 hours duration is represented as `{ days: 1, hours: 1, minutes: 30 }`.\n   */\n  interface TimeDuration {\n      /** Number of days */\n      days?: number;\n      /** Number of hours */\n      hours?: number;\n      /** Number of minutes */\n      minutes?: number;\n  }\n  interface EventEnded {\n      /** Event end timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n  }\n  interface QueryEventsRequest {\n      /** Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter?: Record<string, any> | null;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      facet?: string[];\n      /** User ID filter, by default any */\n      userId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: string;\n      /**\n       * Whether draft events should be returned in the response.\n       * Requires WIX_EVENTS.MANAGE_EVENTS permission.\n       */\n      includeDrafts?: boolean;\n  }\n  enum EventFieldset {\n      FULL = \"FULL\",\n      /** Include `description`, `mainImage` and `calendarLinks` in the response. */\n      DETAILS = \"DETAILS\",\n      /** Include `about` event rich text in the response. */\n      TEXTS = \"TEXTS\",\n      /** Include `registration` in the response. */\n      REGISTRATION = \"REGISTRATION\",\n      /** Include `eventPageUrl` in the response. */\n      URLS = \"URLS\",\n      /** Include `form` in the response. */\n      FORM = \"FORM\",\n      /** Include `dashboard` in the response. */\n      DASHBOARD = \"DASHBOARD\",\n      /** Include `feed` in the response. */\n      FEED = \"FEED\",\n      /** Include `onlineConferencing` in the response. */\n      ONLINE_CONFERENCING_SESSION = \"ONLINE_CONFERENCING_SESSION\",\n      /** Include `seoSettings` in the response. */\n      SEO_SETTINGS = \"SEO_SETTINGS\",\n      /** Include `agendaSettings` in the response. */\n      AGENDA = \"AGENDA\",\n      /** Include `categories` in the response. */\n      CATEGORIES = \"CATEGORIES\",\n      CUSTOMIZABLE_TICKETS = \"CUSTOMIZABLE_TICKETS\"\n  }\n  interface QueryEventsResponse {\n      /** Total number of events that match the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Events list */\n      events?: Event$1[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$6>;\n  }\n  interface FacetCounts$6 {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface QueryEventsV2Request {\n      query?: QueryV2$3;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      facet?: string[];\n      /**\n       * Whether draft events should be returned in the response.\n       * Requires WIX_EVENTS.MANAGE_EVENTS permission.\n       */\n      includeDrafts?: boolean;\n  }\n  interface QueryV2$3 extends QueryV2PagingMethodOneOf$3 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$3;\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$3 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$3;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by */\n      fieldName?: string;\n      /** Sort order (ASC/DESC). Defaults to ASC */\n      order?: SortOrder$3;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$3 {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QueryEventsV2Response {\n      pagingMetadata?: PagingMetadataV2$3;\n      /** Events list */\n      events?: Event$1[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$6>;\n  }\n  interface PagingMetadataV2$3 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$3;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$3 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListEventsRequest {\n      /** Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency of the service.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n      /** Event status. */\n      status?: EventStatus$1[];\n      /** Event URL slug. */\n      slug?: string;\n      /**\n       * Wix user filter, by default any.\n       * Allows to filter events by user relation to the event (within the site).\n       * @internal\n       */\n      userFilter?: UserFilter;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      facet?: string[];\n      /** User ID filter, by default any */\n      userId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: string;\n      /** Category filter. */\n      categoryFilter?: CategoryFilter;\n      /**\n       * Whether draft events should be returned in the response.\n       * Requires WIX_EVENTS.MANAGE_EVENTS permission.\n       */\n      includeDrafts?: boolean;\n      /** Recurrence status filter. */\n      recurrenceStatus?: Status$1[];\n      /** Recurring group id filter. */\n      recurringGroupId?: string[];\n  }\n  interface UserFilter {\n      /** User who is related to event */\n      userId?: string;\n      /** Relation of user to event */\n      relation?: Relation[];\n  }\n  enum Relation {\n      /**\n       * User is attending the event.\n       * User has RSVP with status YES or has ordered tickets.\n       */\n      ATTENDING = \"ATTENDING\"\n  }\n  interface CategoryFilter {\n      /**\n       * If true - only categorised events will be returned.\n       * If false - only not categorised events will be returned.\n       */\n      categorised?: boolean | null;\n      /** Category id filter. */\n      categoryId?: string[];\n      /** Category states filter. Default - any state. */\n      states?: State$5[];\n  }\n  interface ListEventsResponse {\n      /** Total number of events that match the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Events list. */\n      events?: Event$1[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$6>;\n  }\n  interface ListUserEventsRequest {\n      paging?: Paging$3;\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: Sorting$3[];\n      /** Event status. */\n      status?: EventStatus$1[];\n      /**\n       * Wix user filter, by default any.\n       * Allows to filter events by user relation to the event among all wix sites.\n       */\n      userFilter: UserFilter;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      facet?: string[];\n  }\n  interface ListUserEventsResponse {\n      pagingMetadata?: PagingMetadataV2$3;\n      /** Events list. */\n      events?: Event$1[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$6>;\n  }\n  interface ListCategoryEventsRequest {\n      /** Category ID */\n      categoryId: string;\n      paging?: Paging$3;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency of the service.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n  }\n  interface ListCategoryEventsResponse {\n      pagingMetadata?: PagingMetadataV2$3;\n      /** Events list. */\n      events?: Event$1[];\n  }\n  interface GetEventRequest extends GetEventRequestGetByOneOf {\n      /** Event ID. */\n      _id?: string | null;\n      /** URL slug. */\n      slug?: string | null;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n      /**\n       * indicates whether full_address should be resolved\n       * @internal\n       */\n      resolveFullAddress?: boolean;\n  }\n  /** @oneof */\n  interface GetEventRequestGetByOneOf {\n      /** Event ID. */\n      _id?: string | null;\n      /** URL slug. */\n      slug?: string | null;\n  }\n  interface GetEventResponse {\n      /** Event. */\n      event?: Event$1;\n  }\n  interface FindEventRequest extends FindEventRequestFindByOneOf {\n      /** Event ID. */\n      _id?: string | null;\n      /** URL slug. */\n      slug?: string | null;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n  }\n  /** @oneof */\n  interface FindEventRequestFindByOneOf {\n      /** Event ID. */\n      _id?: string | null;\n      /** URL slug. */\n      slug?: string | null;\n  }\n  interface FindEventResponse {\n      /** Event. */\n      event?: Event$1;\n  }\n  interface CreateEventV2Request {\n      /** Event data. */\n      event: EventData;\n      /**\n       * Content language code in ISO 639-1 format.\n       * Used for translating ticket PDF labels, registration form, automatic emails, etc.\n       * Supported languages: ar, bg, cs, da, de, el, en, es, fi, fr, he, hi, hu, id, it, ja, ko, ms, nl, no, pl, pt, ro, ru, sv, th, tl, tr, uk, zh.\n       * Defaults to en.\n       */\n      language?: string | null;\n      /** Whether event should be created as draft. Draft events are hidden from site visitors. */\n      draft?: boolean;\n  }\n  interface EventData {\n      /** Event title. */\n      title?: string | null;\n      /** Event description. */\n      description?: string | null;\n      /**\n       * Event location.\n       * Address is required for non TBD event.\n       * Location name is required for TBD event.\n       */\n      location?: Location$1;\n      /** Event schedule configuration */\n      scheduleConfig?: ScheduleConfig$1;\n      /**\n       * Main event image. Printed in ticket PDF.\n       * Currently, only images previously saved in Wix Media are supported.\n       */\n      mainImage?: string;\n      /** RSVP collection configuration. Can be used to set limits. */\n      rsvpCollectionConfig?: RsvpCollectionConfig$1;\n      /** Guest list configuration */\n      guestListConfig?: GuestListConfig$1;\n      /** Rich-text content for About Event section (HTML). */\n      about?: string | null;\n      /** Registration configuration */\n      registrationConfig?: RegistrationConfig;\n      /** Online conferencing configuration */\n      onlineConferencingConfig?: OnlineConferencingConfig$1;\n      /** SEO settings */\n      seoSettings?: SeoSettings$1;\n      /** Agenda configuration */\n      agenda?: Agenda$1;\n      /** Visual settings for event. */\n      eventDisplaySettings?: EventDisplaySettings$1;\n      /** @internal */\n      customizableTickets?: boolean | null;\n  }\n  interface RegistrationConfig {\n      /** External event registration URL (for external events only). */\n      externalRegistrationUrl?: string | null;\n      /** Whether registration is closed. */\n      pausedRegistration?: boolean;\n      /** Ticketing configuration. */\n      ticketingConfig?: TicketingConfig$1;\n      /** Types of users allowed to register. */\n      restrictedTo?: VisitorType$1;\n      /** Whether registration is disabled. */\n      disabledRegistration?: boolean;\n      /**\n       * Initial event type. Only RSVP and TICKETS are allowed when creating an event.\n       * Updating this field is not allowed.\n       */\n      initialType?: EventType$1;\n  }\n  interface CreateEventV2Response {\n      /** Created event. */\n      event?: Event$1;\n  }\n  interface EventCreated {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$1;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$1;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus$1;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n  }\n  interface EventPublished {\n      /** Event publish timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event status. */\n      status?: EventStatus$1;\n      /**\n       * Event ID. Indicates the original event which current event was derived from.\n       * Can be used to track the original event and add missing information.\n       */\n      derivedFromEventId?: string | null;\n  }\n  interface CopyEventRequest {\n      /** Event ID. */\n      eventId: string;\n      /**\n       * If true, event will be copied as draft.\n       * Otherwise copied event will be published, unless it is draft.\n       */\n      draft?: boolean;\n  }\n  interface CopyEventResponse {\n      /** Copied event. */\n      event?: Event$1;\n  }\n  interface EventCopied {\n      /** Event created timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$1;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$1;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /** Event status. */\n      status?: EventStatus$1;\n      /** Instance ID. Indicates the original app instance which current event was derived from. */\n      derivedFromInstanceId?: string | null;\n      /** Event ID. Indicates the original event which current event was derived from. */\n      derivedFromEventId?: string | null;\n      /**\n       * Map of copied ticket definitions from original event.\n       * Key represents ticket def id in the original event.\n       * Value represents ticket def id in the newly created event.\n       */\n      ticketDefinitions?: Record<string, string>;\n  }\n  interface CopyEventV2Request {\n      /** Event ID. */\n      _id: string;\n      /** Event data to update (partial) */\n      event?: EventData;\n      /**\n       * Set of field paths to update.\n       * <!--ONLY:REST-->\n       * Fields will be auto-populated from the `event` entity unless added to the request explicitly.\n       * <!--END:ONLY:REST-->\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * If true, event will be copied as draft.\n       * Otherwise copied event will be published, unless it is draft.\n       */\n      draft?: boolean;\n  }\n  interface CopyEventV2Response {\n      /** Copied event. */\n      event?: Event$1;\n  }\n  interface UpdateEventRequest {\n      /** Event ID. */\n      _id: string;\n      /** Event data to update (partial) */\n      event?: EventData;\n      /**\n       * Set of field paths to update.\n       * <!--ONLY:REST-->\n       * Fields will be auto-populated from the `event` entity unless added to the request explicitly.\n       * <!--END:ONLY:REST-->\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Content language code in ISO 639-1 format.\n       * Used for translating ticket PDF labels, registration form, automatic emails, etc.\n       * Supported languages: ar, bg, cs, da, de, el, en, es, fi, fr, he, hi, hu, id, it, ja, ko, ms, nl, no, pl, pt, ro, ru, sv, th, tl, tr, uk, zh.\n       * Defaults to en.\n       */\n      language?: string | null;\n  }\n  interface UpdateEventResponse {\n      /** Updated event. */\n      event?: Event$1;\n  }\n  interface EventUpdated$1 {\n      /** Event update timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location$1;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig$1;\n      /** Event title. */\n      title?: string;\n      /** Whether schedule configuration was updated. */\n      scheduleConfigUpdated?: boolean;\n      /**\n       * The set of properties which were updated. For example 'title' or 'location'\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Whether event has opened new spots with this update.\n       * @internal\n       */\n      newSpotsOpened?: boolean | null;\n  }\n  interface PublishDraftEventRequest {\n      /** Event ID. */\n      _id: string;\n  }\n  interface PublishDraftEventResponse {\n      /** Published event. */\n      event?: Event$1;\n  }\n  interface CancelEventRequest {\n      /** Event ID. */\n      _id: string;\n  }\n  interface CancelEventResponse {\n      /** Canceled event. */\n      event?: Event$1;\n  }\n  interface EventCanceled {\n      /** Event canceled timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n  }\n  interface BulkCancelEventsRequest {\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter: Record<string, any> | null;\n  }\n  interface BulkCancelEventsResponse {\n  }\n  interface DeleteEventRequest {\n      /** Event ID. */\n      _id: string;\n  }\n  interface DeleteEventResponse {\n      /** Deleted event ID. */\n      _id?: string;\n  }\n  interface EventDeleted {\n      /** Event deleted timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event title. */\n      title?: string;\n      /** Event creator user ID. */\n      userId?: string | null;\n      /**\n       * Event categories.\n       * @internal\n       */\n      categories?: string[];\n  }\n  interface BulkDeleteEventsRequest {\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter: Record<string, any> | null;\n  }\n  interface BulkDeleteEventsResponse {\n  }\n  interface GetRecurringEventStateRequest {\n      /** Recurring event category id. */\n      categoryId?: string;\n  }\n  interface GetRecurringEventStateResponse {\n      /** Recurring event category id. */\n      categoryId?: string | null;\n      inconsistentState?: boolean;\n      actual?: RecurringEventState;\n      desired?: RecurringEventState;\n  }\n  interface RecurringEventState {\n      recurringNext?: RecurringEventDetails;\n      recurringLastEnded?: RecurringEventDetails;\n      recurringLastCanceled?: RecurringEventDetails;\n  }\n  interface RecurringEventDetails {\n      eventId?: string | null;\n      /** Event slug */\n      slug?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date;\n      /** Event end timestamp. */\n      endDate?: Date;\n      recurrenceStatus?: Status$1;\n  }\n  interface UpdateRecurringStatusRequest {\n      /** Recurring event category id. */\n      categoryId?: string;\n  }\n  interface UpdateRecurringStatusResponse {\n  }\n  interface GetTicketingSummaryRequest {\n      eventId?: string | null;\n  }\n  interface GetTicketingSummaryResponse {\n      summary?: Ticketing$1;\n  }\n  /**\n   * Retrieves a list of up to 1,000 events, given the provided [paging](https://dev.wix.com/api/rest/getting-started/pagination), [filtering and sorting](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n   * @public\n   * @documentationMaturity preview\n   */\n  function query(options?: QueryOptions): Promise<QueryEventsResponse>;\n  interface QueryOptions {\n      /** Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter?: Record<string, any> | null;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      facet?: string[];\n      /** User ID filter, by default any */\n      userId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: string;\n      /**\n       * Whether draft events should be returned in the response.\n       * Requires WIX_EVENTS.MANAGE_EVENTS permission.\n       */\n      includeDrafts?: boolean;\n  }\n  /**\n   * Retrieves a list of up to 1,000 events, given the provided paging, filtering and sorting.\n   *\n   * ** Important **:\n   * - All results are for one specific business, resolved from the request context.\n   *\n   * Query object support:\n   * - `filter` - supported, see [filtering and sorting](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n   * - `sort` - supported, see [filtering and sorting](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n   * - `paging` - supported, see [paging](https://dev.wix.com/api/rest/getting-started/pagination).\n   * - `fields` - not supported.\n   * - `fieldsets` - not supported, use request-level `fieldset` instead.\n   * - `cursorPaging` - not supported, use offset pagination instead.\n   *\n   * Defaults:\n   * - When filter is not specified, returns all events that caller is authorized to read.\n   * - When sorting is not specified, defaults to `created` in `DESC` order.\n   * @public\n   * @documentationMaturity preview\n   */\n  function queryEventsV2(options?: QueryEventsV2Options): EventsQueryBuilder;\n  interface QueryEventsV2Options {\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[] | undefined;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      facet?: string[] | undefined;\n      /**\n       * Whether draft events should be returned in the response.\n       * Requires WIX_EVENTS.MANAGE_EVENTS permission.\n       */\n      includeDrafts?: boolean | undefined;\n  }\n  interface QueryOffsetResult {\n      currentPage: number | undefined;\n      totalPages: number | undefined;\n      totalCount: number | undefined;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface EventsQueryResult extends QueryOffsetResult {\n      items: Event$1[];\n      query: EventsQueryBuilder;\n      next: () => Promise<EventsQueryResult>;\n      prev: () => Promise<EventsQueryResult>;\n  }\n  interface EventsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'title' | 'slug' | 'created' | 'modified' | 'status' | 'userId', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'title' | 'slug' | 'created' | 'modified' | 'status' | 'userId', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'created' | 'modified', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'created' | 'modified', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'created' | 'modified', value: any) => EventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'created' | 'modified', value: any) => EventsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'title' | 'slug' | 'created' | 'modified' | 'status' | 'userId', value: any) => EventsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'title' | 'slug' | 'created' | 'modified'>) => EventsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'title' | 'slug' | 'created' | 'modified'>) => EventsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => EventsQueryBuilder;\n      /** @param skip - Number of items to skip in the query results before returning the results.\n       * @documentationMaturity preview\n       */\n      skip: (skip: number) => EventsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<EventsQueryResult>;\n  }\n  /**\n   * Retrieves a list of up to 100 events, given the provided [paging](https://dev.wix.com/api/rest/getting-started/pagination), [filtering & sorting](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n   *\n   * > **Note:**\n   * > This endpoint is relevant only for [Headless](https://dev.wix.com/docs/go-headless/getting-started/about-headless/about-wix-headless) projects.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listEvents(options?: ListEventsOptions): Promise<ListEventsResponse>;\n  interface ListEventsOptions {\n      /** Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency of the service.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n      /** Event status. */\n      status?: EventStatus$1[];\n      /** Event URL slug. */\n      slug?: string;\n      /**\n       * Wix user filter, by default any.\n       * Allows to filter events by user relation to the event (within the site).\n       * @internal\n       */\n      userFilter?: UserFilter;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      facet?: string[];\n      /** User ID filter, by default any */\n      userId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: string;\n      /** Category filter. */\n      categoryFilter?: CategoryFilter;\n      /**\n       * Whether draft events should be returned in the response.\n       * Requires WIX_EVENTS.MANAGE_EVENTS permission.\n       */\n      includeDrafts?: boolean;\n      /** Recurrence status filter. */\n      recurrenceStatus?: Status$1[];\n      /** Recurring group id filter. */\n      recurringGroupId?: string[];\n  }\n  /**\n   * Retrieves a list of up to 100 events, given the provided [paging](https://dev.wix.com/api/rest/getting-started/pagination) and category_id.\n   * Events are sorted by the sort index defined by CategoryManagement.\n   * @param categoryId - Category ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   */\n  function listCategoryEvents(categoryId: string, options?: ListCategoryEventsOptions): Promise<ListCategoryEventsResponse>;\n  interface ListCategoryEventsOptions {\n      paging?: Paging$3;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency of the service.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n  }\n  /**\n   * Retrieves an event by ID or URL slug.\n   * @public\n   * @documentationMaturity preview\n   */\n  function getEvent(options?: GetEventOptions): Promise<GetEventResponse>;\n  interface GetEventOptions extends GetEventRequestGetByOneOf {\n      /** Event ID. */\n      _id?: string | null;\n      /** URL slug. */\n      slug?: string | null;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n      /**\n       * indicates whether full_address should be resolved\n       * @internal\n       */\n      resolveFullAddress?: boolean;\n  }\n  /**\n   * Finds an event by ID or URL slug. In contrast to Get Event endpoint which returns not found error,\n   * Find Event returns empty response when an event is not found.\n   *\n   * > **Note:**\n   * > This endpoint is relevant only for [Headless](https://dev.wix.com/docs/go-headless/getting-started/about-headless/about-wix-headless) projects.\n   * @public\n   * @documentationMaturity preview\n   */\n  function findEvent(options?: FindEventOptions): Promise<FindEventResponse>;\n  interface FindEventOptions extends FindEventRequestFindByOneOf {\n      /** Event ID. */\n      _id?: string | null;\n      /** URL slug. */\n      slug?: string | null;\n      /**\n       * Controls which event properties are returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_event-fieldset).\n       * Some fields require additional computation that affects latency.\n       * Use minimum set of required fieldset for best performance.\n       */\n      fieldset?: EventFieldset[];\n  }\n  /**\n   * Creates a new event, with a default registration form in the given language.\n   * Default registration form includes first name, last name, and email inputs.\n   * To learn more about registration form and customize it, see [Registration Form](https://dev.wix.com/api/rest/wix-events/wix-events/registration-form/about-the-registration-form-api).\n   * The event is automatically configured to send daily summary reports of new registrations to site business email.\n   * RegistrationConfig.initialType is required - allowed value when creating is RSVP or TICKETS.\n   * @param event - Event data.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField event\n   * @requiredField event.location\n   * @requiredField event.scheduleConfig\n   * @requiredField event.title\n   * @adminMethod\n   */\n  function createEventV2(event: EventData, options?: CreateEventV2Options): Promise<CreateEventV2Response>;\n  interface CreateEventV2Options {\n      /**\n       * Content language code in ISO 639-1 format.\n       * Used for translating ticket PDF labels, registration form, automatic emails, etc.\n       * Supported languages: ar, bg, cs, da, de, el, en, es, fi, fr, he, hi, hu, id, it, ja, ko, ms, nl, no, pl, pt, ro, ru, sv, th, tl, tr, uk, zh.\n       * Defaults to en.\n       */\n      language?: string | null;\n      /** Whether event should be created as draft. Draft events are hidden from site visitors. */\n      draft?: boolean;\n  }\n  /**\n   * Copies an event, including its registration form, notifications and tickets configuration - scheduled two weeks from the original event.\n   * Multilingual translations are also copied to the new event.\n   *\n   * When an event with same title already exists, appends (1), (2), ... to it. For example, copying an event titled \"My Event\" creates \"My Event (1)\".\n   * Very long event titles are cropped: \"Daily stand-up ev... (2)\".\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function copy(eventId: string, options?: CopyOptions): Promise<CopyEventResponse>;\n  interface CopyOptions {\n      /**\n       * If true, event will be copied as draft.\n       * Otherwise copied event will be published, unless it is draft.\n       */\n      draft?: boolean;\n  }\n  /**\n   * Copies an event, including its registration form, notifications and tickets configuration - scheduled two weeks from the original event.\n   * Multilingual translations are also copied to the new event.\n   * Supports partial update of the original event fields. See [Partial Updates](https://dev.wix.com/api/rest/wix-events/wix-events/partial-updates) for more information.\n   *\n   * When an event with same title already exists, appends (1), (2), ... to it. For example, copying an event titled \"My Event\" creates \"My Event (1)\".\n   * Very long event titles are cropped: \"Daily stand-up ev... (2)\".\n   * @param _id - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function copyEventV2(_id: string, options?: CopyEventV2Options): Promise<CopyEventV2Response>;\n  interface CopyEventV2Options {\n      /** Event data to update (partial) */\n      event?: EventData;\n      /**\n       * Set of field paths to update.\n       * <!--ONLY:REST-->\n       * Fields will be auto-populated from the `event` entity unless added to the request explicitly.\n       * <!--END:ONLY:REST-->\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * If true, event will be copied as draft.\n       * Otherwise copied event will be published, unless it is draft.\n       */\n      draft?: boolean;\n  }\n  /**\n   * Updates an event's parameters. See [Partial Updates](https://dev.wix.com/api/rest/wix-events/wix-events/partial-updates) for more information.\n   * @param _id - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function updateEvent(_id: string, options?: UpdateEventOptions): Promise<UpdateEventResponse>;\n  interface UpdateEventOptions {\n      /** Event data to update (partial) */\n      event?: EventData;\n      /**\n       * Set of field paths to update.\n       * <!--ONLY:REST-->\n       * Fields will be auto-populated from the `event` entity unless added to the request explicitly.\n       * <!--END:ONLY:REST-->\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Content language code in ISO 639-1 format.\n       * Used for translating ticket PDF labels, registration form, automatic emails, etc.\n       * Supported languages: ar, bg, cs, da, de, el, en, es, fi, fr, he, hi, hu, id, it, ja, ko, ms, nl, no, pl, pt, ro, ru, sv, th, tl, tr, uk, zh.\n       * Defaults to en.\n       */\n      language?: string | null;\n  }\n  /**\n   * Publishes draft event so that it becomes available to site visitors.\n   * If recurring events are set, category with state RECURRING_EVENT will be created.\n   * All recurring events will be assigned to this category.\n   *\n   * > **Note:**\n   * > This endpoint is relevant only for [Headless](https://dev.wix.com/docs/go-headless/getting-started/about-headless/about-wix-headless) projects.\n   * @param _id - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function publishDraftEvent(_id: string): Promise<PublishDraftEventResponse>;\n  /**\n   * Cancels an event and closes registration.\n   * If event cancellation notifications are enabled, canceling an event automatically sends cancellation emails and/or push notifications to registered guests.\n   * @param _id - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function cancelEvent(_id: string): Promise<CancelEventResponse>;\n  /**\n   * Cancels events by filter.\n   * If event cancellation notifications are enabled, canceling an event automatically sends cancellation emails and/or push notifications to registered guests.\n   *\n   * > **Note:**\n   * > This endpoint is relevant only for [Headless](https://dev.wix.com/docs/go-headless/getting-started/about-headless/about-wix-headless) projects.\n   * @param filter - Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @adminMethod\n   */\n  function bulkCancelEvents(filter: Record<string, any> | null): Promise<void>;\n  /**\n   * Deletes an event.\n   * Deleted events are not returned via API. The only way to retrieve them is via GDPR access request.\n   * @param _id - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function deleteEvent(_id: string): Promise<DeleteEventResponse>;\n  /**\n   * Deletes events by filter.\n   * Deleted events are not returned via API. The only way to retrieve them is via GDPR access request.\n   *\n   * > **Note:**\n   * > This endpoint is relevant only for [Headless](https://dev.wix.com/docs/go-headless/getting-started/about-headless/about-wix-headless) projects.\n   * @param filter - Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @adminMethod\n   */\n  function bulkDeleteEvents(filter: Record<string, any> | null): Promise<void>;\n  \n  type eventsV1Event_universal_d_EventStarted = EventStarted;\n  type eventsV1Event_universal_d_EventReminder = EventReminder;\n  type eventsV1Event_universal_d_TimeDuration = TimeDuration;\n  type eventsV1Event_universal_d_EventEnded = EventEnded;\n  type eventsV1Event_universal_d_QueryEventsRequest = QueryEventsRequest;\n  type eventsV1Event_universal_d_EventFieldset = EventFieldset;\n  const eventsV1Event_universal_d_EventFieldset: typeof EventFieldset;\n  type eventsV1Event_universal_d_QueryEventsResponse = QueryEventsResponse;\n  type eventsV1Event_universal_d_QueryEventsV2Request = QueryEventsV2Request;\n  type eventsV1Event_universal_d_QueryEventsV2Response = QueryEventsV2Response;\n  type eventsV1Event_universal_d_ListEventsRequest = ListEventsRequest;\n  type eventsV1Event_universal_d_UserFilter = UserFilter;\n  type eventsV1Event_universal_d_Relation = Relation;\n  const eventsV1Event_universal_d_Relation: typeof Relation;\n  type eventsV1Event_universal_d_CategoryFilter = CategoryFilter;\n  type eventsV1Event_universal_d_ListEventsResponse = ListEventsResponse;\n  type eventsV1Event_universal_d_ListUserEventsRequest = ListUserEventsRequest;\n  type eventsV1Event_universal_d_ListUserEventsResponse = ListUserEventsResponse;\n  type eventsV1Event_universal_d_ListCategoryEventsRequest = ListCategoryEventsRequest;\n  type eventsV1Event_universal_d_ListCategoryEventsResponse = ListCategoryEventsResponse;\n  type eventsV1Event_universal_d_GetEventRequest = GetEventRequest;\n  type eventsV1Event_universal_d_GetEventRequestGetByOneOf = GetEventRequestGetByOneOf;\n  type eventsV1Event_universal_d_GetEventResponse = GetEventResponse;\n  type eventsV1Event_universal_d_FindEventRequest = FindEventRequest;\n  type eventsV1Event_universal_d_FindEventRequestFindByOneOf = FindEventRequestFindByOneOf;\n  type eventsV1Event_universal_d_FindEventResponse = FindEventResponse;\n  type eventsV1Event_universal_d_CreateEventV2Request = CreateEventV2Request;\n  type eventsV1Event_universal_d_EventData = EventData;\n  type eventsV1Event_universal_d_RegistrationConfig = RegistrationConfig;\n  type eventsV1Event_universal_d_CreateEventV2Response = CreateEventV2Response;\n  type eventsV1Event_universal_d_EventCreated = EventCreated;\n  type eventsV1Event_universal_d_EventPublished = EventPublished;\n  type eventsV1Event_universal_d_CopyEventRequest = CopyEventRequest;\n  type eventsV1Event_universal_d_CopyEventResponse = CopyEventResponse;\n  type eventsV1Event_universal_d_EventCopied = EventCopied;\n  type eventsV1Event_universal_d_CopyEventV2Request = CopyEventV2Request;\n  type eventsV1Event_universal_d_CopyEventV2Response = CopyEventV2Response;\n  type eventsV1Event_universal_d_UpdateEventRequest = UpdateEventRequest;\n  type eventsV1Event_universal_d_UpdateEventResponse = UpdateEventResponse;\n  type eventsV1Event_universal_d_PublishDraftEventRequest = PublishDraftEventRequest;\n  type eventsV1Event_universal_d_PublishDraftEventResponse = PublishDraftEventResponse;\n  type eventsV1Event_universal_d_CancelEventRequest = CancelEventRequest;\n  type eventsV1Event_universal_d_CancelEventResponse = CancelEventResponse;\n  type eventsV1Event_universal_d_EventCanceled = EventCanceled;\n  type eventsV1Event_universal_d_BulkCancelEventsRequest = BulkCancelEventsRequest;\n  type eventsV1Event_universal_d_BulkCancelEventsResponse = BulkCancelEventsResponse;\n  type eventsV1Event_universal_d_DeleteEventRequest = DeleteEventRequest;\n  type eventsV1Event_universal_d_DeleteEventResponse = DeleteEventResponse;\n  type eventsV1Event_universal_d_EventDeleted = EventDeleted;\n  type eventsV1Event_universal_d_BulkDeleteEventsRequest = BulkDeleteEventsRequest;\n  type eventsV1Event_universal_d_BulkDeleteEventsResponse = BulkDeleteEventsResponse;\n  type eventsV1Event_universal_d_GetRecurringEventStateRequest = GetRecurringEventStateRequest;\n  type eventsV1Event_universal_d_GetRecurringEventStateResponse = GetRecurringEventStateResponse;\n  type eventsV1Event_universal_d_RecurringEventState = RecurringEventState;\n  type eventsV1Event_universal_d_RecurringEventDetails = RecurringEventDetails;\n  type eventsV1Event_universal_d_UpdateRecurringStatusRequest = UpdateRecurringStatusRequest;\n  type eventsV1Event_universal_d_UpdateRecurringStatusResponse = UpdateRecurringStatusResponse;\n  type eventsV1Event_universal_d_GetTicketingSummaryRequest = GetTicketingSummaryRequest;\n  type eventsV1Event_universal_d_GetTicketingSummaryResponse = GetTicketingSummaryResponse;\n  const eventsV1Event_universal_d_query: typeof query;\n  type eventsV1Event_universal_d_QueryOptions = QueryOptions;\n  const eventsV1Event_universal_d_queryEventsV2: typeof queryEventsV2;\n  type eventsV1Event_universal_d_QueryEventsV2Options = QueryEventsV2Options;\n  type eventsV1Event_universal_d_EventsQueryResult = EventsQueryResult;\n  type eventsV1Event_universal_d_EventsQueryBuilder = EventsQueryBuilder;\n  const eventsV1Event_universal_d_listEvents: typeof listEvents;\n  type eventsV1Event_universal_d_ListEventsOptions = ListEventsOptions;\n  const eventsV1Event_universal_d_listCategoryEvents: typeof listCategoryEvents;\n  type eventsV1Event_universal_d_ListCategoryEventsOptions = ListCategoryEventsOptions;\n  const eventsV1Event_universal_d_getEvent: typeof getEvent;\n  type eventsV1Event_universal_d_GetEventOptions = GetEventOptions;\n  const eventsV1Event_universal_d_findEvent: typeof findEvent;\n  type eventsV1Event_universal_d_FindEventOptions = FindEventOptions;\n  const eventsV1Event_universal_d_createEventV2: typeof createEventV2;\n  type eventsV1Event_universal_d_CreateEventV2Options = CreateEventV2Options;\n  const eventsV1Event_universal_d_copy: typeof copy;\n  type eventsV1Event_universal_d_CopyOptions = CopyOptions;\n  const eventsV1Event_universal_d_copyEventV2: typeof copyEventV2;\n  type eventsV1Event_universal_d_CopyEventV2Options = CopyEventV2Options;\n  const eventsV1Event_universal_d_updateEvent: typeof updateEvent;\n  type eventsV1Event_universal_d_UpdateEventOptions = UpdateEventOptions;\n  const eventsV1Event_universal_d_publishDraftEvent: typeof publishDraftEvent;\n  const eventsV1Event_universal_d_cancelEvent: typeof cancelEvent;\n  const eventsV1Event_universal_d_bulkCancelEvents: typeof bulkCancelEvents;\n  const eventsV1Event_universal_d_deleteEvent: typeof deleteEvent;\n  const eventsV1Event_universal_d_bulkDeleteEvents: typeof bulkDeleteEvents;\n  namespace eventsV1Event_universal_d {\n    export {\n      __debug$8 as __debug,\n      Event$1 as Event,\n      Location$1 as Location,\n      MapCoordinates$1 as MapCoordinates,\n      LocationType$1 as LocationType,\n      Address$5 as Address,\n      AddressStreetOneOf$5 as AddressStreetOneOf,\n      StreetAddress$5 as StreetAddress,\n      AddressLocation$5 as AddressLocation,\n      Subdivision$5 as Subdivision,\n      SubdivisionType$5 as SubdivisionType,\n      Scheduling$1 as Scheduling,\n      ScheduleConfig$1 as ScheduleConfig,\n      Recurrences$1 as Recurrences,\n      Occurrence$1 as Occurrence,\n      Status$1 as Status,\n      EventStatus$1 as EventStatus,\n      Registration$1 as Registration,\n      EventType$1 as EventType,\n      RegistrationStatus$1 as RegistrationStatus,\n      RsvpCollection$1 as RsvpCollection,\n      RsvpCollectionConfig$1 as RsvpCollectionConfig,\n      RsvpStatusOptions$1 as RsvpStatusOptions,\n      Ticketing$1 as Ticketing,\n      TicketingConfig$1 as TicketingConfig,\n      TaxConfig$1 as TaxConfig,\n      TaxType$3 as TaxType,\n      Money$4 as Money,\n      ExternalEvent$1 as ExternalEvent,\n      VisitorType$1 as VisitorType,\n      CalendarLinks$4 as CalendarLinks,\n      SiteUrl$1 as SiteUrl,\n      Form$1 as Form,\n      InputControl$1 as InputControl,\n      InputControlType$1 as InputControlType,\n      Input$1 as Input,\n      ValueType$1 as ValueType,\n      OptionSelection$1 as OptionSelection,\n      OptionSelectionSelectedOptionOneOf$1 as OptionSelectionSelectedOptionOneOf,\n      Label$1 as Label,\n      FormMessages$1 as FormMessages,\n      RsvpFormMessages$1 as RsvpFormMessages,\n      PositiveResponseConfirmation$1 as PositiveResponseConfirmation,\n      NegativeResponseConfirmation$1 as NegativeResponseConfirmation,\n      Positive$1 as Positive,\n      Negative$1 as Negative,\n      CheckoutFormMessages$1 as CheckoutFormMessages,\n      ResponseConfirmation$1 as ResponseConfirmation,\n      RegistrationClosedMessages$1 as RegistrationClosedMessages,\n      TicketsUnavailableMessages$1 as TicketsUnavailableMessages,\n      Dashboard$3 as Dashboard,\n      RsvpSummary$1 as RsvpSummary,\n      TicketingSummary$1 as TicketingSummary,\n      GuestListConfig$1 as GuestListConfig,\n      Feed$1 as Feed,\n      OnlineConferencing$1 as OnlineConferencing,\n      OnlineConferencingConfig$1 as OnlineConferencingConfig,\n      ConferenceType$1 as ConferenceType,\n      OnlineConferencingSession$1 as OnlineConferencingSession,\n      SeoSettings$1 as SeoSettings,\n      SeoSchema$1 as SeoSchema,\n      Keyword$1 as Keyword,\n      Tag$1 as Tag,\n      Settings$1 as Settings,\n      Agenda$1 as Agenda,\n      Category$2 as Category,\n      CategoryCounts$2 as CategoryCounts,\n      State$5 as State,\n      EventDisplaySettings$1 as EventDisplaySettings,\n      eventsV1Event_universal_d_EventStarted as EventStarted,\n      eventsV1Event_universal_d_EventReminder as EventReminder,\n      eventsV1Event_universal_d_TimeDuration as TimeDuration,\n      eventsV1Event_universal_d_EventEnded as EventEnded,\n      eventsV1Event_universal_d_QueryEventsRequest as QueryEventsRequest,\n      eventsV1Event_universal_d_EventFieldset as EventFieldset,\n      eventsV1Event_universal_d_QueryEventsResponse as QueryEventsResponse,\n      FacetCounts$6 as FacetCounts,\n      eventsV1Event_universal_d_QueryEventsV2Request as QueryEventsV2Request,\n      QueryV2$3 as QueryV2,\n      QueryV2PagingMethodOneOf$3 as QueryV2PagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      Paging$3 as Paging,\n      eventsV1Event_universal_d_QueryEventsV2Response as QueryEventsV2Response,\n      PagingMetadataV2$3 as PagingMetadataV2,\n      Cursors$3 as Cursors,\n      eventsV1Event_universal_d_ListEventsRequest as ListEventsRequest,\n      eventsV1Event_universal_d_UserFilter as UserFilter,\n      eventsV1Event_universal_d_Relation as Relation,\n      eventsV1Event_universal_d_CategoryFilter as CategoryFilter,\n      eventsV1Event_universal_d_ListEventsResponse as ListEventsResponse,\n      eventsV1Event_universal_d_ListUserEventsRequest as ListUserEventsRequest,\n      eventsV1Event_universal_d_ListUserEventsResponse as ListUserEventsResponse,\n      eventsV1Event_universal_d_ListCategoryEventsRequest as ListCategoryEventsRequest,\n      eventsV1Event_universal_d_ListCategoryEventsResponse as ListCategoryEventsResponse,\n      eventsV1Event_universal_d_GetEventRequest as GetEventRequest,\n      eventsV1Event_universal_d_GetEventRequestGetByOneOf as GetEventRequestGetByOneOf,\n      eventsV1Event_universal_d_GetEventResponse as GetEventResponse,\n      eventsV1Event_universal_d_FindEventRequest as FindEventRequest,\n      eventsV1Event_universal_d_FindEventRequestFindByOneOf as FindEventRequestFindByOneOf,\n      eventsV1Event_universal_d_FindEventResponse as FindEventResponse,\n      eventsV1Event_universal_d_CreateEventV2Request as CreateEventV2Request,\n      eventsV1Event_universal_d_EventData as EventData,\n      eventsV1Event_universal_d_RegistrationConfig as RegistrationConfig,\n      eventsV1Event_universal_d_CreateEventV2Response as CreateEventV2Response,\n      eventsV1Event_universal_d_EventCreated as EventCreated,\n      eventsV1Event_universal_d_EventPublished as EventPublished,\n      eventsV1Event_universal_d_CopyEventRequest as CopyEventRequest,\n      eventsV1Event_universal_d_CopyEventResponse as CopyEventResponse,\n      eventsV1Event_universal_d_EventCopied as EventCopied,\n      eventsV1Event_universal_d_CopyEventV2Request as CopyEventV2Request,\n      eventsV1Event_universal_d_CopyEventV2Response as CopyEventV2Response,\n      eventsV1Event_universal_d_UpdateEventRequest as UpdateEventRequest,\n      eventsV1Event_universal_d_UpdateEventResponse as UpdateEventResponse,\n      EventUpdated$1 as EventUpdated,\n      eventsV1Event_universal_d_PublishDraftEventRequest as PublishDraftEventRequest,\n      eventsV1Event_universal_d_PublishDraftEventResponse as PublishDraftEventResponse,\n      eventsV1Event_universal_d_CancelEventRequest as CancelEventRequest,\n      eventsV1Event_universal_d_CancelEventResponse as CancelEventResponse,\n      eventsV1Event_universal_d_EventCanceled as EventCanceled,\n      eventsV1Event_universal_d_BulkCancelEventsRequest as BulkCancelEventsRequest,\n      eventsV1Event_universal_d_BulkCancelEventsResponse as BulkCancelEventsResponse,\n      eventsV1Event_universal_d_DeleteEventRequest as DeleteEventRequest,\n      eventsV1Event_universal_d_DeleteEventResponse as DeleteEventResponse,\n      eventsV1Event_universal_d_EventDeleted as EventDeleted,\n      eventsV1Event_universal_d_BulkDeleteEventsRequest as BulkDeleteEventsRequest,\n      eventsV1Event_universal_d_BulkDeleteEventsResponse as BulkDeleteEventsResponse,\n      eventsV1Event_universal_d_GetRecurringEventStateRequest as GetRecurringEventStateRequest,\n      eventsV1Event_universal_d_GetRecurringEventStateResponse as GetRecurringEventStateResponse,\n      eventsV1Event_universal_d_RecurringEventState as RecurringEventState,\n      eventsV1Event_universal_d_RecurringEventDetails as RecurringEventDetails,\n      eventsV1Event_universal_d_UpdateRecurringStatusRequest as UpdateRecurringStatusRequest,\n      eventsV1Event_universal_d_UpdateRecurringStatusResponse as UpdateRecurringStatusResponse,\n      eventsV1Event_universal_d_GetTicketingSummaryRequest as GetTicketingSummaryRequest,\n      eventsV1Event_universal_d_GetTicketingSummaryResponse as GetTicketingSummaryResponse,\n      eventsV1Event_universal_d_query as query,\n      eventsV1Event_universal_d_QueryOptions as QueryOptions,\n      eventsV1Event_universal_d_queryEventsV2 as queryEventsV2,\n      eventsV1Event_universal_d_QueryEventsV2Options as QueryEventsV2Options,\n      eventsV1Event_universal_d_EventsQueryResult as EventsQueryResult,\n      eventsV1Event_universal_d_EventsQueryBuilder as EventsQueryBuilder,\n      eventsV1Event_universal_d_listEvents as listEvents,\n      eventsV1Event_universal_d_ListEventsOptions as ListEventsOptions,\n      eventsV1Event_universal_d_listCategoryEvents as listCategoryEvents,\n      eventsV1Event_universal_d_ListCategoryEventsOptions as ListCategoryEventsOptions,\n      eventsV1Event_universal_d_getEvent as getEvent,\n      eventsV1Event_universal_d_GetEventOptions as GetEventOptions,\n      eventsV1Event_universal_d_findEvent as findEvent,\n      eventsV1Event_universal_d_FindEventOptions as FindEventOptions,\n      eventsV1Event_universal_d_createEventV2 as createEventV2,\n      eventsV1Event_universal_d_CreateEventV2Options as CreateEventV2Options,\n      eventsV1Event_universal_d_copy as copy,\n      eventsV1Event_universal_d_CopyOptions as CopyOptions,\n      eventsV1Event_universal_d_copyEventV2 as copyEventV2,\n      eventsV1Event_universal_d_CopyEventV2Options as CopyEventV2Options,\n      eventsV1Event_universal_d_updateEvent as updateEvent,\n      eventsV1Event_universal_d_UpdateEventOptions as UpdateEventOptions,\n      eventsV1Event_universal_d_publishDraftEvent as publishDraftEvent,\n      eventsV1Event_universal_d_cancelEvent as cancelEvent,\n      eventsV1Event_universal_d_bulkCancelEvents as bulkCancelEvents,\n      eventsV1Event_universal_d_deleteEvent as deleteEvent,\n      eventsV1Event_universal_d_bulkDeleteEvents as bulkDeleteEvents,\n    };\n  }\n  \n  const __debug$7: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Schedule item describes the schedule within an event. Each event may contain multiple schedule items. */\n  interface ScheduleItem$1 {\n      /**\n       * Schedule item ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Whether schedule item is hidden from guests. */\n      hidden?: boolean;\n      /** Schedule item name. */\n      name?: string;\n      /** Time slot of an schedule item. */\n      timeSlot?: TimeInterval$1;\n      /** Rich-text content displayed in Wix UI when viewing schedule item details (HTML). */\n      description?: string;\n      /** Stage or room name in which session takes place. */\n      stageName?: string;\n      /** Tags are used to organize schedule items by assigning them to a general theme or field of study. */\n      tags?: string[];\n      /** Schedule item status. */\n      status?: ScheduleStatus$1;\n      /**\n       * Schedule item created timestamp.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Schedule item modified timestamp.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Event ID.\n       * @readonly\n       */\n      eventId?: string;\n      /**\n       * Whether schedule item is draft.\n       * @readonly\n       */\n      draft?: boolean;\n  }\n  /** Time interval on the timeline between two points in time. */\n  interface TimeInterval$1 {\n      /** Start of the interval. Inclusive. */\n      start?: Date;\n      /** End of the interval. Non-inclusive. */\n      end?: Date;\n      /**\n       * Time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`.\n       * Defaults to `Etc/UTC` when not set.\n       */\n      timeZoneId?: string | null;\n  }\n  enum ScheduleStatus$1 {\n      /** Item is scheduled for a future date */\n      SCHEDULED = \"SCHEDULED\",\n      /** Item was canceled */\n      CANCELED = \"CANCELED\"\n  }\n  interface ListScheduleItemsRequest$1 {\n      /** Event ID. */\n      eventId?: string[];\n      /**\n       * Schedule item state filter.\n       * Defaults to `[PUBLISHED, VISIBLE]` when no filters are specified.\n       * If neither `PUBLISHED` nor `DRAFT` are specified, assumes `PUBLISHED`, for example: `[HIDDEN]` becomes `[HIDDEN, PUBLISHED]`.\n       * If neither `VISIBLE` nor `HIDDEN` are specified, assumes `VISIBLE`, for example: `[DRAFT]` becomes `[DRAFT, VISIBLE]`.\n       */\n      state?: StateFilter$1[];\n      /** Filters schedule items starting on or after specified point in time. Inclusive. */\n      startingFrom?: Date;\n      /** Filters schedule items starting before specified point in time. Non-inclusive. */\n      startingBefore?: Date;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      offset?: number;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      limit?: number;\n      /**\n       * Filter facets.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-schedule-items).\n       */\n      facet?: string[];\n      /** Item IDs filter. */\n      itemId?: string[];\n      /** Tags filter. */\n      tag?: string[];\n      /** Stage names filter. */\n      stageName?: string[];\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$2;\n  }\n  enum StateFilter$1 {\n      /** Schedule item is published. */\n      PUBLISHED = \"PUBLISHED\",\n      /** Opposite of `PUBLISHED`. Requires `WIX_EVENTS.MANAGE_AGENDA` permission. */\n      DRAFT = \"DRAFT\",\n      /** Schedule item is visible to the public. */\n      VISIBLE = \"VISIBLE\",\n      /** Opposite of `VISIBLE`. Requires `WIX_EVENTS.MANAGE_AGENDA` permission. */\n      HIDDEN = \"HIDDEN\"\n  }\n  interface Paging$2 {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListScheduleItemsResponse$1 {\n      /**\n       * Deprecated, use `paging_metadata.total`.\n       * Total schedule items matching the given filters.\n       * @readonly\n       */\n      total?: number;\n      /**\n       * Deprecated.\n       * Limit.\n       */\n      limit?: number;\n      /**\n       * Deprecated, use `paging_metadata.offset`.\n       * Offset.\n       */\n      offset?: number;\n      /** Schedule items. */\n      items?: ScheduleItem$1[];\n      /**\n       * Facets.\n       * @readonly\n       */\n      facets?: Record<string, FacetCounts$5>;\n      /**\n       * Whether there are draft changes which have not been published yet.\n       * Returned only when filtering by single `event_id` with `WIX_EVENTS.MANAGE_AGENDA` permission.\n       * @readonly\n       */\n      draftNotPublished?: boolean | null;\n      pagingMetadata?: PagingMetadataV2$2;\n  }\n  interface FacetCounts$5 {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface PagingMetadataV2$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryScheduleItemsRequest$1 {\n      query?: QueryV2$2;\n  }\n  interface QueryV2$2 extends QueryV2PagingMethodOneOf$2 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$2;\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$2 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by */\n      fieldName?: string;\n      /** Sort order (ASC/DESC). Defaults to ASC */\n      order?: SortOrder$2;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryScheduleItemsResponse$1 {\n      pagingMetadata?: PagingMetadataV2$2;\n      /** Schedule items. */\n      items?: ScheduleItem$1[];\n  }\n  interface GetScheduleItemRequest$1 {\n      /** Event ID. */\n      eventId?: string;\n      /** Schedule item ID. */\n      itemId: string;\n      includeDraft?: boolean;\n  }\n  interface GetScheduleItemResponse$1 {\n      /** Schedule item. */\n      item?: ScheduleItem$1;\n      /** Draft of the Schedule item. */\n      draft?: ScheduleItem$1;\n  }\n  interface AddScheduleItemRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Schedule item. */\n      item?: ScheduleItemData$1;\n  }\n  /** Schedule item describes the schedule within an event. Each event may contain multiple schedule items. */\n  interface ScheduleItemData$1 {\n      /** Whether schedule item is hidden from guests. */\n      hidden?: boolean;\n      /** Schedule item name. */\n      name?: string;\n      /** Time slot */\n      timeSlot?: TimeInterval$1;\n      /** Rich-text content displayed in Wix UI when viewing schedule item details (HTML). */\n      description?: string;\n      /** Stage or room name in which session takes place. */\n      stageName?: string;\n      /** Tags are used to organize schedule items by assigning them to a general theme or field of study. */\n      tags?: string[];\n      /** Schedule item status. */\n      status?: ScheduleStatus$1;\n  }\n  interface AddScheduleItemResponse$1 {\n      /** Schedule item. */\n      item?: ScheduleItem$1;\n  }\n  interface UpdateScheduleItemRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n      /** Schedule item. */\n      item?: ScheduleItemData$1;\n      /**\n       * Set of field paths to update.\n       * When fields are empty, request is interpreted as full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface UpdateScheduleItemResponse$1 {\n      /** Schedule item. */\n      item?: ScheduleItem$1;\n  }\n  interface DeleteScheduleItemRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Schedule items to delete. */\n      itemIds?: string[];\n  }\n  interface DeleteScheduleItemResponse$1 {\n  }\n  interface DiscardDraftRequest$2 {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface DiscardDraftResponse$2 {\n  }\n  interface PublishDraftRequest$2 {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface PublishDraftResponse$2 {\n  }\n  interface RescheduleDraftRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId: string;\n      /** Offset added or subtracted from schedule item start & end times. */\n      timeSlotOffset?: GoogleProtoDuration$1;\n  }\n  interface RescheduleDraftResponse$1 {\n  }\n  interface ListBookmarksRequest$1 {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface ListBookmarksResponse$1 {\n      /** Schedule items. */\n      items?: ScheduleItem$1[];\n  }\n  interface CreateBookmarkRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n  }\n  interface CreateBookmarkResponse$1 {\n  }\n  interface DeleteBookmarkRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n  }\n  interface DeleteBookmarkResponse$1 {\n  }\n  type GoogleProtoDuration$1 = any;\n  /**\n   * Retrieves a list of bookmarked schedule items for current member.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   */\n  function listBookmarks(eventId: string): Promise<ListBookmarksResponse$1>;\n  /**\n   * Bookmarks schedule item for current member.\n   * @param itemId - Schedule item ID.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField itemId\n   */\n  function createBookmark(itemId: string, eventId: string): Promise<void>;\n  /**\n   * Removes schedule item bookmark from current member.\n   * @param itemId - Schedule item ID.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField itemId\n   */\n  function deleteBookmark(itemId: string, eventId: string): Promise<void>;\n  \n  const eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_listBookmarks: typeof listBookmarks;\n  const eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_createBookmark: typeof createBookmark;\n  const eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_deleteBookmark: typeof deleteBookmark;\n  namespace eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d {\n    export {\n      __debug$7 as __debug,\n      ScheduleItem$1 as ScheduleItem,\n      TimeInterval$1 as TimeInterval,\n      ScheduleStatus$1 as ScheduleStatus,\n      ListScheduleItemsRequest$1 as ListScheduleItemsRequest,\n      StateFilter$1 as StateFilter,\n      Paging$2 as Paging,\n      ListScheduleItemsResponse$1 as ListScheduleItemsResponse,\n      FacetCounts$5 as FacetCounts,\n      PagingMetadataV2$2 as PagingMetadataV2,\n      Cursors$2 as Cursors,\n      QueryScheduleItemsRequest$1 as QueryScheduleItemsRequest,\n      QueryV2$2 as QueryV2,\n      QueryV2PagingMethodOneOf$2 as QueryV2PagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      QueryScheduleItemsResponse$1 as QueryScheduleItemsResponse,\n      GetScheduleItemRequest$1 as GetScheduleItemRequest,\n      GetScheduleItemResponse$1 as GetScheduleItemResponse,\n      AddScheduleItemRequest$1 as AddScheduleItemRequest,\n      ScheduleItemData$1 as ScheduleItemData,\n      AddScheduleItemResponse$1 as AddScheduleItemResponse,\n      UpdateScheduleItemRequest$1 as UpdateScheduleItemRequest,\n      UpdateScheduleItemResponse$1 as UpdateScheduleItemResponse,\n      DeleteScheduleItemRequest$1 as DeleteScheduleItemRequest,\n      DeleteScheduleItemResponse$1 as DeleteScheduleItemResponse,\n      DiscardDraftRequest$2 as DiscardDraftRequest,\n      DiscardDraftResponse$2 as DiscardDraftResponse,\n      PublishDraftRequest$2 as PublishDraftRequest,\n      PublishDraftResponse$2 as PublishDraftResponse,\n      RescheduleDraftRequest$1 as RescheduleDraftRequest,\n      RescheduleDraftResponse$1 as RescheduleDraftResponse,\n      ListBookmarksRequest$1 as ListBookmarksRequest,\n      ListBookmarksResponse$1 as ListBookmarksResponse,\n      CreateBookmarkRequest$1 as CreateBookmarkRequest,\n      CreateBookmarkResponse$1 as CreateBookmarkResponse,\n      DeleteBookmarkRequest$1 as DeleteBookmarkRequest,\n      DeleteBookmarkResponse$1 as DeleteBookmarkResponse,\n      eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_listBookmarks as listBookmarks,\n      eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_createBookmark as createBookmark,\n      eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d_deleteBookmark as deleteBookmark,\n    };\n  }\n  \n  const __debug$6: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Schedule item describes the schedule within an event. Each event may contain multiple schedule items. */\n  interface ScheduleItem {\n      /**\n       * Schedule item ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Whether schedule item is hidden from guests. */\n      hidden?: boolean;\n      /** Schedule item name. */\n      name?: string;\n      /** Time slot of an schedule item. */\n      timeSlot?: TimeInterval;\n      /** Rich-text content displayed in Wix UI when viewing schedule item details (HTML). */\n      description?: string;\n      /** Stage or room name in which session takes place. */\n      stageName?: string;\n      /** Tags are used to organize schedule items by assigning them to a general theme or field of study. */\n      tags?: string[];\n      /** Schedule item status. */\n      status?: ScheduleStatus;\n      /**\n       * Schedule item created timestamp.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Schedule item modified timestamp.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /**\n       * Event ID.\n       * @readonly\n       */\n      eventId?: string;\n      /**\n       * Whether schedule item is draft.\n       * @readonly\n       */\n      draft?: boolean;\n  }\n  /** Time interval on the timeline between two points in time. */\n  interface TimeInterval {\n      /** Start of the interval. Inclusive. */\n      start?: Date;\n      /** End of the interval. Non-inclusive. */\n      end?: Date;\n      /**\n       * Time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`.\n       * Defaults to `Etc/UTC` when not set.\n       */\n      timeZoneId?: string | null;\n  }\n  enum ScheduleStatus {\n      /** Item is scheduled for a future date */\n      SCHEDULED = \"SCHEDULED\",\n      /** Item was canceled */\n      CANCELED = \"CANCELED\"\n  }\n  interface ListScheduleItemsRequest {\n      /** Event ID. */\n      eventId?: string[];\n      /**\n       * Schedule item state filter.\n       * Defaults to `[PUBLISHED, VISIBLE]` when no filters are specified.\n       * If neither `PUBLISHED` nor `DRAFT` are specified, assumes `PUBLISHED`, for example: `[HIDDEN]` becomes `[HIDDEN, PUBLISHED]`.\n       * If neither `VISIBLE` nor `HIDDEN` are specified, assumes `VISIBLE`, for example: `[DRAFT]` becomes `[DRAFT, VISIBLE]`.\n       */\n      state?: StateFilter[];\n      /** Filters schedule items starting on or after specified point in time. Inclusive. */\n      startingFrom?: Date;\n      /** Filters schedule items starting before specified point in time. Non-inclusive. */\n      startingBefore?: Date;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      offset?: number;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      limit?: number;\n      /**\n       * Filter facets.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-schedule-items).\n       */\n      facet?: string[];\n      /** Item IDs filter. */\n      itemId?: string[];\n      /** Tags filter. */\n      tag?: string[];\n      /** Stage names filter. */\n      stageName?: string[];\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$1;\n  }\n  enum StateFilter {\n      /** Schedule item is published. */\n      PUBLISHED = \"PUBLISHED\",\n      /** Opposite of `PUBLISHED`. Requires `WIX_EVENTS.MANAGE_AGENDA` permission. */\n      DRAFT = \"DRAFT\",\n      /** Schedule item is visible to the public. */\n      VISIBLE = \"VISIBLE\",\n      /** Opposite of `VISIBLE`. Requires `WIX_EVENTS.MANAGE_AGENDA` permission. */\n      HIDDEN = \"HIDDEN\"\n  }\n  interface Paging$1 {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ListScheduleItemsResponse {\n      /**\n       * Deprecated, use `paging_metadata.total`.\n       * Total schedule items matching the given filters.\n       * @readonly\n       */\n      total?: number;\n      /**\n       * Deprecated.\n       * Limit.\n       */\n      limit?: number;\n      /**\n       * Deprecated, use `paging_metadata.offset`.\n       * Offset.\n       */\n      offset?: number;\n      /** Schedule items. */\n      items?: ScheduleItem[];\n      /**\n       * Facets.\n       * @readonly\n       */\n      facets?: Record<string, FacetCounts$4>;\n      /**\n       * Whether there are draft changes which have not been published yet.\n       * Returned only when filtering by single `event_id` with `WIX_EVENTS.MANAGE_AGENDA` permission.\n       * @readonly\n       */\n      draftNotPublished?: boolean | null;\n      pagingMetadata?: PagingMetadataV2$1;\n  }\n  interface FacetCounts$4 {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryScheduleItemsRequest {\n      query?: QueryV2$1;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$1;\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by */\n      fieldName?: string;\n      /** Sort order (ASC/DESC). Defaults to ASC */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface QueryScheduleItemsResponse {\n      pagingMetadata?: PagingMetadataV2$1;\n      /** Schedule items. */\n      items?: ScheduleItem[];\n  }\n  interface GetScheduleItemRequest {\n      /** Event ID. */\n      eventId?: string;\n      /** Schedule item ID. */\n      itemId: string;\n      includeDraft?: boolean;\n  }\n  interface GetScheduleItemResponse {\n      /** Schedule item. */\n      item?: ScheduleItem;\n      /** Draft of the Schedule item. */\n      draft?: ScheduleItem;\n  }\n  interface AddScheduleItemRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Schedule item. */\n      item?: ScheduleItemData;\n  }\n  /** Schedule item describes the schedule within an event. Each event may contain multiple schedule items. */\n  interface ScheduleItemData {\n      /** Whether schedule item is hidden from guests. */\n      hidden?: boolean;\n      /** Schedule item name. */\n      name?: string;\n      /** Time slot */\n      timeSlot?: TimeInterval;\n      /** Rich-text content displayed in Wix UI when viewing schedule item details (HTML). */\n      description?: string;\n      /** Stage or room name in which session takes place. */\n      stageName?: string;\n      /** Tags are used to organize schedule items by assigning them to a general theme or field of study. */\n      tags?: string[];\n      /** Schedule item status. */\n      status?: ScheduleStatus;\n  }\n  interface AddScheduleItemResponse {\n      /** Schedule item. */\n      item?: ScheduleItem;\n  }\n  interface UpdateScheduleItemRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n      /** Schedule item. */\n      item?: ScheduleItemData;\n      /**\n       * Set of field paths to update.\n       * When fields are empty, request is interpreted as full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface UpdateScheduleItemResponse {\n      /** Schedule item. */\n      item?: ScheduleItem;\n  }\n  interface DeleteScheduleItemRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Schedule items to delete. */\n      itemIds?: string[];\n  }\n  interface DeleteScheduleItemResponse {\n  }\n  interface DiscardDraftRequest$1 {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface DiscardDraftResponse$1 {\n  }\n  interface PublishDraftRequest$1 {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface PublishDraftResponse$1 {\n  }\n  interface RescheduleDraftRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId: string;\n      /** Offset added or subtracted from schedule item start & end times. */\n      timeSlotOffset?: GoogleProtoDuration;\n  }\n  interface RescheduleDraftResponse {\n  }\n  interface ListBookmarksRequest {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface ListBookmarksResponse {\n      /** Schedule items. */\n      items?: ScheduleItem[];\n  }\n  interface CreateBookmarkRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n  }\n  interface CreateBookmarkResponse {\n  }\n  interface DeleteBookmarkRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Schedule item ID. */\n      itemId: string;\n  }\n  interface DeleteBookmarkResponse {\n  }\n  type GoogleProtoDuration = any;\n  /**\n   * Retrieves a list of up to 100 schedule items, with basic filter support.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listScheduleItems(options?: ListScheduleItemsOptions): Promise<ListScheduleItemsResponse>;\n  interface ListScheduleItemsOptions {\n      /** Event ID. */\n      eventId?: string[];\n      /**\n       * Schedule item state filter.\n       * Defaults to `[PUBLISHED, VISIBLE]` when no filters are specified.\n       * If neither `PUBLISHED` nor `DRAFT` are specified, assumes `PUBLISHED`, for example: `[HIDDEN]` becomes `[HIDDEN, PUBLISHED]`.\n       * If neither `VISIBLE` nor `HIDDEN` are specified, assumes `VISIBLE`, for example: `[DRAFT]` becomes `[DRAFT, VISIBLE]`.\n       */\n      state?: StateFilter[];\n      /** Filters schedule items starting on or after specified point in time. Inclusive. */\n      startingFrom?: Date;\n      /** Filters schedule items starting before specified point in time. Non-inclusive. */\n      startingBefore?: Date;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      offset?: number;\n      /**\n       * Deprecated, use `paging`.\n       * Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      limit?: number;\n      /**\n       * Filter facets.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-schedule-items).\n       */\n      facet?: string[];\n      /** Item IDs filter. */\n      itemId?: string[];\n      /** Tags filter. */\n      tag?: string[];\n      /** Stage names filter. */\n      stageName?: string[];\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging$1;\n  }\n  /**\n   * Retrieves a list of up to 100 schedule items, given the provided [paging](https://dev.wix.com/api/rest/getting-started/pagination), [filtering](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-schedule-items).\n   *\n   * * Important **:\n   * - All results are for one specific business, resolved from the request context.\n   *\n   * Query object support:\n   * - `filter` - supported, see [filtering and sorting](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-schedule-items).\n   * - `sort` - supported, see [filtering and sorting](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-schedule-items).\n   * - `paging` - supported, see [paging](https://dev.wix.com/api/rest/getting-started/pagination).\n   * - `fields` - not supported.\n   * - `fieldsets` - not supported.\n   * - `cursorPaging` - not supported, use offset pagination instead.\n   *\n   * Defaults:\n   * - When filter is not specified, returns all schedule items that caller is authorized to read.\n   * - When sorting is not specified, defaults to `time_slot.start` and `time_slot.end` in `ASC` order.\n   * @public\n   * @documentationMaturity preview\n   */\n  function queryScheduleItems(): ItemsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ItemsQueryResult extends QueryCursorResult$1 {\n      items: ScheduleItem[];\n      query: ItemsQueryBuilder;\n      next: () => Promise<ItemsQueryResult>;\n      prev: () => Promise<ItemsQueryResult>;\n  }\n  interface ItemsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name' | 'description' | 'stageName' | '_createdDate' | '_updatedDate' | 'eventId', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name' | 'description' | 'stageName' | '_createdDate' | '_updatedDate' | 'eventId', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'name' | 'description' | 'stageName' | '_createdDate' | '_updatedDate' | 'eventId'>) => ItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'name' | 'description' | 'stageName' | '_createdDate' | '_updatedDate' | 'eventId'>) => ItemsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ItemsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ItemsQueryResult>;\n  }\n  /**\n   * Retrieves schedule item by ID.\n   * @param itemId - Schedule item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @returns Schedule item.\n   */\n  function getScheduleItem(itemId: string, options?: GetScheduleItemOptions): Promise<ScheduleItem>;\n  interface GetScheduleItemOptions {\n      /** Event ID. */\n      eventId?: string;\n      includeDraft?: boolean;\n  }\n  /**\n   * Adds schedule item to the draft schedule. Draft items are not publicly available unless published.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField options.item.name\n   * @requiredField options.item.timeSlot\n   * @requiredField options.item.timeSlot.end\n   * @requiredField options.item.timeSlot.start\n   * @adminMethod\n   */\n  function addScheduleItem(eventId: string, options?: AddScheduleItemOptions): Promise<AddScheduleItemResponse>;\n  interface AddScheduleItemOptions {\n      /** Schedule item. */\n      item?: ScheduleItemData;\n  }\n  /**\n   * Updates existing schedule item.\n   * All modifications are performed on a draft schedule, even if schedule item has already been published.\n   * @param itemId - Schedule item ID.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField itemId\n   * @adminMethod\n   */\n  function updateScheduleItem(itemId: string, eventId: string, options?: UpdateScheduleItemOptions): Promise<UpdateScheduleItemResponse>;\n  interface UpdateScheduleItemOptions {\n      /** Schedule item. */\n      item?: ScheduleItemData;\n      /**\n       * Set of field paths to update.\n       * When fields are empty, request is interpreted as full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /**\n   * Deletes schedule item from draft schedule.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function deleteScheduleItem(eventId: string, options?: DeleteScheduleItemOptions): Promise<void>;\n  interface DeleteScheduleItemOptions {\n      /** Schedule items to delete. */\n      itemIds?: string[];\n  }\n  /**\n   * Clears all changes to the draft schedule. (Does not affect the published schedule.)\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function discardDraft$1(eventId: string): Promise<void>;\n  /**\n   * Publishes the draft schedule.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function publishDraft$1(eventId: string): Promise<void>;\n  /**\n   * Adjusts time of all draft schedule items (per event).\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField options.timeZoneId\n   * @adminMethod\n   */\n  function rescheduleDraft(eventId: string, options?: RescheduleDraftOptions): Promise<void>;\n  interface RescheduleDraftOptions {\n      /** Time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId: string;\n      /** Offset added or subtracted from schedule item start & end times. */\n      timeSlotOffset?: GoogleProtoDuration;\n  }\n  \n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleItem = ScheduleItem;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_TimeInterval = TimeInterval;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleStatus = ScheduleStatus;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleStatus: typeof ScheduleStatus;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsRequest = ListScheduleItemsRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_StateFilter = StateFilter;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_StateFilter: typeof StateFilter;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsResponse = ListScheduleItemsResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_QueryScheduleItemsRequest = QueryScheduleItemsRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_QueryScheduleItemsResponse = QueryScheduleItemsResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemRequest = GetScheduleItemRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemResponse = GetScheduleItemResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemRequest = AddScheduleItemRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleItemData = ScheduleItemData;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemResponse = AddScheduleItemResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemRequest = UpdateScheduleItemRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemResponse = UpdateScheduleItemResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemRequest = DeleteScheduleItemRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemResponse = DeleteScheduleItemResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftRequest = RescheduleDraftRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftResponse = RescheduleDraftResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ListBookmarksRequest = ListBookmarksRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ListBookmarksResponse = ListBookmarksResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_CreateBookmarkRequest = CreateBookmarkRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_CreateBookmarkResponse = CreateBookmarkResponse;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteBookmarkRequest = DeleteBookmarkRequest;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteBookmarkResponse = DeleteBookmarkResponse;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_listScheduleItems: typeof listScheduleItems;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsOptions = ListScheduleItemsOptions;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_queryScheduleItems: typeof queryScheduleItems;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ItemsQueryResult = ItemsQueryResult;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_ItemsQueryBuilder = ItemsQueryBuilder;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_getScheduleItem: typeof getScheduleItem;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemOptions = GetScheduleItemOptions;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_addScheduleItem: typeof addScheduleItem;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemOptions = AddScheduleItemOptions;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_updateScheduleItem: typeof updateScheduleItem;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemOptions = UpdateScheduleItemOptions;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_deleteScheduleItem: typeof deleteScheduleItem;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemOptions = DeleteScheduleItemOptions;\n  const eventsScheduleV1ScheduleItemSchedule_universal_d_rescheduleDraft: typeof rescheduleDraft;\n  type eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftOptions = RescheduleDraftOptions;\n  namespace eventsScheduleV1ScheduleItemSchedule_universal_d {\n    export {\n      __debug$6 as __debug,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleItem as ScheduleItem,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_TimeInterval as TimeInterval,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleStatus as ScheduleStatus,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsRequest as ListScheduleItemsRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_StateFilter as StateFilter,\n      Paging$1 as Paging,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsResponse as ListScheduleItemsResponse,\n      FacetCounts$4 as FacetCounts,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_QueryScheduleItemsRequest as QueryScheduleItemsRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_QueryScheduleItemsResponse as QueryScheduleItemsResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemRequest as GetScheduleItemRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemResponse as GetScheduleItemResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemRequest as AddScheduleItemRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ScheduleItemData as ScheduleItemData,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemResponse as AddScheduleItemResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemRequest as UpdateScheduleItemRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemResponse as UpdateScheduleItemResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemRequest as DeleteScheduleItemRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemResponse as DeleteScheduleItemResponse,\n      DiscardDraftRequest$1 as DiscardDraftRequest,\n      DiscardDraftResponse$1 as DiscardDraftResponse,\n      PublishDraftRequest$1 as PublishDraftRequest,\n      PublishDraftResponse$1 as PublishDraftResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftRequest as RescheduleDraftRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftResponse as RescheduleDraftResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ListBookmarksRequest as ListBookmarksRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ListBookmarksResponse as ListBookmarksResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_CreateBookmarkRequest as CreateBookmarkRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_CreateBookmarkResponse as CreateBookmarkResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteBookmarkRequest as DeleteBookmarkRequest,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteBookmarkResponse as DeleteBookmarkResponse,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_listScheduleItems as listScheduleItems,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ListScheduleItemsOptions as ListScheduleItemsOptions,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_queryScheduleItems as queryScheduleItems,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ItemsQueryResult as ItemsQueryResult,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_ItemsQueryBuilder as ItemsQueryBuilder,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_getScheduleItem as getScheduleItem,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_GetScheduleItemOptions as GetScheduleItemOptions,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_addScheduleItem as addScheduleItem,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_AddScheduleItemOptions as AddScheduleItemOptions,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_updateScheduleItem as updateScheduleItem,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_UpdateScheduleItemOptions as UpdateScheduleItemOptions,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_deleteScheduleItem as deleteScheduleItem,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_DeleteScheduleItemOptions as DeleteScheduleItemOptions,\n      discardDraft$1 as discardDraft,\n      publishDraft$1 as publishDraft,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_rescheduleDraft as rescheduleDraft,\n      eventsScheduleV1ScheduleItemSchedule_universal_d_RescheduleDraftOptions as RescheduleDraftOptions,\n    };\n  }\n  \n  const __debug$5: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Category$1 {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Category creation timestamp.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Assigned events count. Deleted events are excluded.\n       * @readonly\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * Assigned and assigned draft event counts.\n       * @readonly\n       */\n      counts?: CategoryCounts$1;\n      /**\n       * Category state. Default - MANUAL.\n       * WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission is required to use other states.\n       * Field will be ignored on update requests.\n       */\n      states?: State$4[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  interface CategoryCounts$1 {\n      /** Assigned events count. Deleted events are excluded. */\n      assignedEventsCount?: number | null;\n      /** Assigned draft events count. */\n      assignedDraftEventsCount?: number | null;\n  }\n  enum State$4 {\n      /** Created manually by the user. */\n      MANUAL = \"MANUAL\",\n      /** Created automatically. */\n      AUTO = \"AUTO\",\n      /** Created when publishing recurring events. */\n      RECURRING_EVENT = \"RECURRING_EVENT\",\n      /** Category is hidden. */\n      HIDDEN = \"HIDDEN\",\n      /** Category is used to store component events. */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface CreateCategoryRequest {\n      /** Category to be created. */\n      category: Category$1;\n  }\n  interface CreateCategoryResponse {\n      /** Created category. */\n      category?: Category$1;\n  }\n  interface BulkCreateCategoryRequest {\n      /** Categories to be created. */\n      categories: Category$1[];\n  }\n  interface BulkCreateCategoryResponse {\n      /** Bulk create results. */\n      results?: BulkCategoryResult[];\n      /** Bulk create metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCategoryResult {\n      /** Metadata. */\n      itemMetadata?: ItemMetadata;\n      /** Category. */\n      item?: Category$1;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface UpdateCategoryRequest {\n      /** Category update. */\n      category: Category$1;\n  }\n  interface UpdateCategoryResponse {\n      /** Updated category. */\n      category?: Category$1;\n  }\n  interface DeleteCategoryRequest {\n      /** ID of category to be deleted. */\n      categoryId: string;\n  }\n  interface DeleteCategoryResponse {\n  }\n  interface QueryCategoriesRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query: QueryV2;\n      /**\n       * Predefined sets of fields to return.\n       * - `COUNTS`: Returns `assignedEventsCount`.\n       */\n      fieldset?: CategoryFieldset[];\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging;\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /**\n       * Pointer to page of results using offset.\n       * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination).\n       */\n      paging?: Paging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by */\n      fieldName?: string;\n      /** Sort order (ASC/DESC). Defaults to ASC */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load per page. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  enum CategoryFieldset {\n      /** Include `assignedEventsCount` in the response. */\n      COUNTS = \"COUNTS\"\n  }\n  interface QueryCategoriesResponse {\n      /** List of categories. */\n      categories?: Category$1[];\n      /** Metadata for the paginated results. */\n      metaData?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AssignEventsRequest {\n      /** ID of category to which events should be assigned. */\n      categoryId: string;\n      /** A list of events IDs. */\n      eventId: string[];\n  }\n  interface AssignEventsResponse {\n  }\n  interface BulkAssignEventsRequest {\n      /** A list of category ids to which events should be assigned. */\n      categoryId: string[];\n      /** A list of events IDs. */\n      eventId: string[];\n  }\n  interface BulkAssignEventsResponse {\n      /** Results. */\n      results?: BulkCategoryResult[];\n      /** Metadata of results. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkAssignEventsAsyncRequest {\n      /** Category IDs. */\n      categoryId: string[];\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter: Record<string, any> | null;\n  }\n  interface BulkAssignEventsAsyncResponse {\n  }\n  interface UnassignEventsRequest {\n      /** Category ID. */\n      categoryId: string;\n      /** A list of events IDs. */\n      eventId: string[];\n  }\n  interface UnassignEventsResponse {\n  }\n  interface BulkUnassignEventsRequest {\n      /** A list of category IDs. */\n      categoryId: string[];\n      /** A list of events IDs. */\n      eventId?: string[];\n  }\n  interface BulkUnassignEventsResponse {\n      /** Results. */\n      results?: BulkCategoryResult[];\n      /** Metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkUnassignEventsAsyncRequest {\n      /** Category ID. */\n      categoryId: string[];\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter: Record<string, any> | null;\n  }\n  interface BulkUnassignEventsAsyncResponse {\n  }\n  interface ListEventCategoriesRequest {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface ListEventCategoriesResponse {\n      /** A list of categories. */\n      categories?: Category$1[];\n  }\n  interface ReorderCategoryEventsRequest extends ReorderCategoryEventsRequestReferenceEventOneOf {\n      /** Move the Category Event ID before this Event ID */\n      beforeEventId?: string;\n      /** Move the Category Event ID after this Event ID */\n      afterEventId?: string;\n      /** Category ID */\n      categoryId: string;\n      /** Event ID */\n      eventId?: string;\n  }\n  /** @oneof */\n  interface ReorderCategoryEventsRequestReferenceEventOneOf {\n      /** Move the Category Event ID before this Event ID */\n      beforeEventId?: string;\n      /** Move the Category Event ID after this Event ID */\n      afterEventId?: string;\n  }\n  interface ReorderCategoryEventsResponse {\n  }\n  /**\n   * Creates a new category.\n   * @param category - Category to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField category\n   * @adminMethod\n   * @returns Created category.\n   */\n  function createCategory(category: Category$1): Promise<Category$1>;\n  /**\n   * Creates new categories.\n   * @param categories - Categories to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categories\n   * @adminMethod\n   */\n  function bulkCreateCategory(categories: Category$1[]): Promise<BulkCreateCategoryResponse>;\n  /**\n   * Updates an existing category.\n   * @param _id - Category ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField category\n   * @adminMethod\n   * @returns Updated category.\n   */\n  function updateCategory(_id: string, category: UpdateCategory): Promise<Category$1>;\n  interface UpdateCategory {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Category creation timestamp.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Assigned events count. Deleted events are excluded.\n       * @readonly\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * Assigned and assigned draft event counts.\n       * @readonly\n       */\n      counts?: CategoryCounts$1;\n      /**\n       * Category state. Default - MANUAL.\n       * WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission is required to use other states.\n       * Field will be ignored on update requests.\n       */\n      states?: State$4[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  /**\n   * Deletes existing category.\n   * @param categoryId - ID of category to be deleted.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @adminMethod\n   */\n  function deleteCategory(categoryId: string): Promise<void>;\n  /**\n   * - `filter` - supported for `name`, `id` and `states` fields.\n   * - `sort` - supported for `created` and `name` fields.\n   * - `paging` - supported, see [paging](https://dev.wix.com/api/rest/getting-started/pagination).\n   * - `fields` - not supported.\n   * - `fieldsets` - not supported.\n   * - `cursorPaging` - not supported, use offset pagination instead.\n   * @public\n   * @documentationMaturity preview\n   */\n  function queryCategories(options?: QueryCategoriesOptions): CategoriesQueryBuilder;\n  interface QueryCategoriesOptions {\n      /**\n       * Predefined sets of fields to return.\n       * - `COUNTS`: Returns `assignedEventsCount`.\n       */\n      fieldset?: CategoryFieldset[] | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CategoriesQueryResult extends QueryCursorResult {\n      items: Category$1[];\n      query: CategoriesQueryBuilder;\n      next: () => Promise<CategoriesQueryResult>;\n      prev: () => Promise<CategoriesQueryResult>;\n  }\n  interface CategoriesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name', value: any) => CategoriesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CategoriesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => CategoriesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CategoriesQueryResult>;\n  }\n  /**\n   * Assigns events to a single category.\n   * @param categoryId - ID of category to which events should be assigned.\n   * @param eventId - A list of events IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function assignEvents(categoryId: string, eventId: string[]): Promise<void>;\n  /**\n   * Assigns events to multiple categories.\n   * @param categoryId - A list of category ids to which events should be assigned.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField options\n   * @requiredField options.eventId\n   * @adminMethod\n   */\n  function bulkAssignEvents(categoryId: string[], options: BulkAssignEventsOptions): Promise<BulkAssignEventsResponse>;\n  interface BulkAssignEventsOptions {\n      /** A list of events IDs. */\n      eventId: string[];\n  }\n  /**\n   * Assigns filtered events to multiple categories.\n   * @param categoryId - Category IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField options\n   * @requiredField options.filter\n   * @adminMethod\n   */\n  function bulkAssignEventsAsync(categoryId: string[], options: BulkAssignEventsAsyncOptions): Promise<void>;\n  interface BulkAssignEventsAsyncOptions {\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter: Record<string, any> | null;\n  }\n  /**\n   * Unassigns events from a single category.\n   * @param categoryId - Category ID.\n   * @param eventId - A list of events IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function unassignEvents(categoryId: string, eventId: string[]): Promise<void>;\n  /**\n   * Unassigns events from multiple categories.\n   * @param categoryId - A list of category IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @adminMethod\n   */\n  function bulkUnassignEvents(categoryId: string[], options?: BulkUnassignEventsOptions): Promise<BulkUnassignEventsResponse>;\n  interface BulkUnassignEventsOptions {\n      /** A list of events IDs. */\n      eventId?: string[];\n  }\n  /**\n   * Unassigns filtered events from multiple categories.\n   * @param categoryId - Category ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @requiredField options\n   * @requiredField options.filter\n   * @adminMethod\n   */\n  function bulkUnassignEventsAsync(categoryId: string[], options: BulkUnassignEventsAsyncOptions): Promise<void>;\n  interface BulkUnassignEventsAsyncOptions {\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */\n      filter: Record<string, any> | null;\n  }\n  /**\n   * Lists visible event categories.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   */\n  function listEventCategories(eventId: string): Promise<ListEventCategoriesResponse>;\n  /**\n   * Change the order of category events.\n   * @param categoryId - Category ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField categoryId\n   * @adminMethod\n   */\n  function reorderCategoryEvents(categoryId: string, options?: ReorderCategoryEventsOptions): Promise<void>;\n  interface ReorderCategoryEventsOptions extends ReorderCategoryEventsRequestReferenceEventOneOf {\n      /** Event ID */\n      eventId?: string;\n      /** Move the Category Event ID before this Event ID */\n      beforeEventId?: string;\n      /** Move the Category Event ID after this Event ID */\n      afterEventId?: string;\n  }\n  \n  type eventsV1Category_universal_d_CreateCategoryRequest = CreateCategoryRequest;\n  type eventsV1Category_universal_d_CreateCategoryResponse = CreateCategoryResponse;\n  type eventsV1Category_universal_d_BulkCreateCategoryRequest = BulkCreateCategoryRequest;\n  type eventsV1Category_universal_d_BulkCreateCategoryResponse = BulkCreateCategoryResponse;\n  type eventsV1Category_universal_d_BulkCategoryResult = BulkCategoryResult;\n  type eventsV1Category_universal_d_ItemMetadata = ItemMetadata;\n  type eventsV1Category_universal_d_ApplicationError = ApplicationError;\n  type eventsV1Category_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type eventsV1Category_universal_d_UpdateCategoryRequest = UpdateCategoryRequest;\n  type eventsV1Category_universal_d_UpdateCategoryResponse = UpdateCategoryResponse;\n  type eventsV1Category_universal_d_DeleteCategoryRequest = DeleteCategoryRequest;\n  type eventsV1Category_universal_d_DeleteCategoryResponse = DeleteCategoryResponse;\n  type eventsV1Category_universal_d_QueryCategoriesRequest = QueryCategoriesRequest;\n  type eventsV1Category_universal_d_QueryV2 = QueryV2;\n  type eventsV1Category_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type eventsV1Category_universal_d_Sorting = Sorting;\n  type eventsV1Category_universal_d_SortOrder = SortOrder;\n  const eventsV1Category_universal_d_SortOrder: typeof SortOrder;\n  type eventsV1Category_universal_d_Paging = Paging;\n  type eventsV1Category_universal_d_CategoryFieldset = CategoryFieldset;\n  const eventsV1Category_universal_d_CategoryFieldset: typeof CategoryFieldset;\n  type eventsV1Category_universal_d_QueryCategoriesResponse = QueryCategoriesResponse;\n  type eventsV1Category_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type eventsV1Category_universal_d_Cursors = Cursors;\n  type eventsV1Category_universal_d_AssignEventsRequest = AssignEventsRequest;\n  type eventsV1Category_universal_d_AssignEventsResponse = AssignEventsResponse;\n  type eventsV1Category_universal_d_BulkAssignEventsRequest = BulkAssignEventsRequest;\n  type eventsV1Category_universal_d_BulkAssignEventsResponse = BulkAssignEventsResponse;\n  type eventsV1Category_universal_d_BulkAssignEventsAsyncRequest = BulkAssignEventsAsyncRequest;\n  type eventsV1Category_universal_d_BulkAssignEventsAsyncResponse = BulkAssignEventsAsyncResponse;\n  type eventsV1Category_universal_d_UnassignEventsRequest = UnassignEventsRequest;\n  type eventsV1Category_universal_d_UnassignEventsResponse = UnassignEventsResponse;\n  type eventsV1Category_universal_d_BulkUnassignEventsRequest = BulkUnassignEventsRequest;\n  type eventsV1Category_universal_d_BulkUnassignEventsResponse = BulkUnassignEventsResponse;\n  type eventsV1Category_universal_d_BulkUnassignEventsAsyncRequest = BulkUnassignEventsAsyncRequest;\n  type eventsV1Category_universal_d_BulkUnassignEventsAsyncResponse = BulkUnassignEventsAsyncResponse;\n  type eventsV1Category_universal_d_ListEventCategoriesRequest = ListEventCategoriesRequest;\n  type eventsV1Category_universal_d_ListEventCategoriesResponse = ListEventCategoriesResponse;\n  type eventsV1Category_universal_d_ReorderCategoryEventsRequest = ReorderCategoryEventsRequest;\n  type eventsV1Category_universal_d_ReorderCategoryEventsRequestReferenceEventOneOf = ReorderCategoryEventsRequestReferenceEventOneOf;\n  type eventsV1Category_universal_d_ReorderCategoryEventsResponse = ReorderCategoryEventsResponse;\n  const eventsV1Category_universal_d_createCategory: typeof createCategory;\n  const eventsV1Category_universal_d_bulkCreateCategory: typeof bulkCreateCategory;\n  const eventsV1Category_universal_d_updateCategory: typeof updateCategory;\n  type eventsV1Category_universal_d_UpdateCategory = UpdateCategory;\n  const eventsV1Category_universal_d_deleteCategory: typeof deleteCategory;\n  const eventsV1Category_universal_d_queryCategories: typeof queryCategories;\n  type eventsV1Category_universal_d_QueryCategoriesOptions = QueryCategoriesOptions;\n  type eventsV1Category_universal_d_CategoriesQueryResult = CategoriesQueryResult;\n  type eventsV1Category_universal_d_CategoriesQueryBuilder = CategoriesQueryBuilder;\n  const eventsV1Category_universal_d_assignEvents: typeof assignEvents;\n  const eventsV1Category_universal_d_bulkAssignEvents: typeof bulkAssignEvents;\n  type eventsV1Category_universal_d_BulkAssignEventsOptions = BulkAssignEventsOptions;\n  const eventsV1Category_universal_d_bulkAssignEventsAsync: typeof bulkAssignEventsAsync;\n  type eventsV1Category_universal_d_BulkAssignEventsAsyncOptions = BulkAssignEventsAsyncOptions;\n  const eventsV1Category_universal_d_unassignEvents: typeof unassignEvents;\n  const eventsV1Category_universal_d_bulkUnassignEvents: typeof bulkUnassignEvents;\n  type eventsV1Category_universal_d_BulkUnassignEventsOptions = BulkUnassignEventsOptions;\n  const eventsV1Category_universal_d_bulkUnassignEventsAsync: typeof bulkUnassignEventsAsync;\n  type eventsV1Category_universal_d_BulkUnassignEventsAsyncOptions = BulkUnassignEventsAsyncOptions;\n  const eventsV1Category_universal_d_listEventCategories: typeof listEventCategories;\n  const eventsV1Category_universal_d_reorderCategoryEvents: typeof reorderCategoryEvents;\n  type eventsV1Category_universal_d_ReorderCategoryEventsOptions = ReorderCategoryEventsOptions;\n  namespace eventsV1Category_universal_d {\n    export {\n      __debug$5 as __debug,\n      Category$1 as Category,\n      CategoryCounts$1 as CategoryCounts,\n      State$4 as State,\n      eventsV1Category_universal_d_CreateCategoryRequest as CreateCategoryRequest,\n      eventsV1Category_universal_d_CreateCategoryResponse as CreateCategoryResponse,\n      eventsV1Category_universal_d_BulkCreateCategoryRequest as BulkCreateCategoryRequest,\n      eventsV1Category_universal_d_BulkCreateCategoryResponse as BulkCreateCategoryResponse,\n      eventsV1Category_universal_d_BulkCategoryResult as BulkCategoryResult,\n      eventsV1Category_universal_d_ItemMetadata as ItemMetadata,\n      eventsV1Category_universal_d_ApplicationError as ApplicationError,\n      eventsV1Category_universal_d_BulkActionMetadata as BulkActionMetadata,\n      eventsV1Category_universal_d_UpdateCategoryRequest as UpdateCategoryRequest,\n      eventsV1Category_universal_d_UpdateCategoryResponse as UpdateCategoryResponse,\n      eventsV1Category_universal_d_DeleteCategoryRequest as DeleteCategoryRequest,\n      eventsV1Category_universal_d_DeleteCategoryResponse as DeleteCategoryResponse,\n      eventsV1Category_universal_d_QueryCategoriesRequest as QueryCategoriesRequest,\n      eventsV1Category_universal_d_QueryV2 as QueryV2,\n      eventsV1Category_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      eventsV1Category_universal_d_Sorting as Sorting,\n      eventsV1Category_universal_d_SortOrder as SortOrder,\n      eventsV1Category_universal_d_Paging as Paging,\n      eventsV1Category_universal_d_CategoryFieldset as CategoryFieldset,\n      eventsV1Category_universal_d_QueryCategoriesResponse as QueryCategoriesResponse,\n      eventsV1Category_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      eventsV1Category_universal_d_Cursors as Cursors,\n      eventsV1Category_universal_d_AssignEventsRequest as AssignEventsRequest,\n      eventsV1Category_universal_d_AssignEventsResponse as AssignEventsResponse,\n      eventsV1Category_universal_d_BulkAssignEventsRequest as BulkAssignEventsRequest,\n      eventsV1Category_universal_d_BulkAssignEventsResponse as BulkAssignEventsResponse,\n      eventsV1Category_universal_d_BulkAssignEventsAsyncRequest as BulkAssignEventsAsyncRequest,\n      eventsV1Category_universal_d_BulkAssignEventsAsyncResponse as BulkAssignEventsAsyncResponse,\n      eventsV1Category_universal_d_UnassignEventsRequest as UnassignEventsRequest,\n      eventsV1Category_universal_d_UnassignEventsResponse as UnassignEventsResponse,\n      eventsV1Category_universal_d_BulkUnassignEventsRequest as BulkUnassignEventsRequest,\n      eventsV1Category_universal_d_BulkUnassignEventsResponse as BulkUnassignEventsResponse,\n      eventsV1Category_universal_d_BulkUnassignEventsAsyncRequest as BulkUnassignEventsAsyncRequest,\n      eventsV1Category_universal_d_BulkUnassignEventsAsyncResponse as BulkUnassignEventsAsyncResponse,\n      eventsV1Category_universal_d_ListEventCategoriesRequest as ListEventCategoriesRequest,\n      eventsV1Category_universal_d_ListEventCategoriesResponse as ListEventCategoriesResponse,\n      eventsV1Category_universal_d_ReorderCategoryEventsRequest as ReorderCategoryEventsRequest,\n      eventsV1Category_universal_d_ReorderCategoryEventsRequestReferenceEventOneOf as ReorderCategoryEventsRequestReferenceEventOneOf,\n      eventsV1Category_universal_d_ReorderCategoryEventsResponse as ReorderCategoryEventsResponse,\n      eventsV1Category_universal_d_createCategory as createCategory,\n      eventsV1Category_universal_d_bulkCreateCategory as bulkCreateCategory,\n      eventsV1Category_universal_d_updateCategory as updateCategory,\n      eventsV1Category_universal_d_UpdateCategory as UpdateCategory,\n      eventsV1Category_universal_d_deleteCategory as deleteCategory,\n      eventsV1Category_universal_d_queryCategories as queryCategories,\n      eventsV1Category_universal_d_QueryCategoriesOptions as QueryCategoriesOptions,\n      eventsV1Category_universal_d_CategoriesQueryResult as CategoriesQueryResult,\n      eventsV1Category_universal_d_CategoriesQueryBuilder as CategoriesQueryBuilder,\n      eventsV1Category_universal_d_assignEvents as assignEvents,\n      eventsV1Category_universal_d_bulkAssignEvents as bulkAssignEvents,\n      eventsV1Category_universal_d_BulkAssignEventsOptions as BulkAssignEventsOptions,\n      eventsV1Category_universal_d_bulkAssignEventsAsync as bulkAssignEventsAsync,\n      eventsV1Category_universal_d_BulkAssignEventsAsyncOptions as BulkAssignEventsAsyncOptions,\n      eventsV1Category_universal_d_unassignEvents as unassignEvents,\n      eventsV1Category_universal_d_bulkUnassignEvents as bulkUnassignEvents,\n      eventsV1Category_universal_d_BulkUnassignEventsOptions as BulkUnassignEventsOptions,\n      eventsV1Category_universal_d_bulkUnassignEventsAsync as bulkUnassignEventsAsync,\n      eventsV1Category_universal_d_BulkUnassignEventsAsyncOptions as BulkUnassignEventsAsyncOptions,\n      eventsV1Category_universal_d_listEventCategories as listEventCategories,\n      eventsV1Category_universal_d_reorderCategoryEvents as reorderCategoryEvents,\n      eventsV1Category_universal_d_ReorderCategoryEventsOptions as ReorderCategoryEventsOptions,\n    };\n  }\n  \n  const __debug$4: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /**\n   * The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout).\n   * It also contains customizable messages and labels.\n   *\n   *\n   * A form is an ordered list of controls (blocks), which accept guest information into a field input.\n   *\n   * Each control contains one or more nested inputs. For example, `Name` control has two inputs:\n   * - First Name\n   * - Last Name\n   *\n   * By default, name and email controls are always required and are pinned to the top of the form.\n   */\n  interface Form {\n      /** Nested fields as an ordered list. */\n      controls?: InputControl[];\n      /** Set of configured form messages. */\n      messages?: FormMessages;\n  }\n  /**\n   * A block of nested fields.\n   * Used to aggregate similar inputs like First Name and Last Name.\n   */\n  interface InputControl {\n      /** Field control type. */\n      type?: InputControlType;\n      /** Whether control is mandatory (such as name & email). When true, only label can be changed. */\n      system?: boolean;\n      /** Deprecated: Use `id`. */\n      name?: string;\n      /** Child inputs. */\n      inputs?: Input[];\n      /** Deprecated: use `inputs.label`. */\n      label?: string;\n      /** Field controls are sorted by this value in ascending order. */\n      orderIndex?: number;\n      /** Unique control ID. */\n      _id?: string;\n  }\n  enum InputControlType {\n      /** Single text value field. */\n      INPUT = \"INPUT\",\n      /** Single text value field. */\n      TEXTAREA = \"TEXTAREA\",\n      /** Single-choice field of predefined values. */\n      DROPDOWN = \"DROPDOWN\",\n      /** Single-choice field of predefined values. */\n      RADIO = \"RADIO\",\n      /** Multiple-choice field of predefined values. */\n      CHECKBOX = \"CHECKBOX\",\n      /** First and last name fields. */\n      NAME = \"NAME\",\n      /** Additional guests and respective guest names fields. */\n      GUEST_CONTROL = \"GUEST_CONTROL\",\n      /** Single-line address field. */\n      ADDRESS_SHORT = \"ADDRESS_SHORT\",\n      /** Full address field. */\n      ADDRESS_FULL = \"ADDRESS_FULL\",\n      /** Year, month and day fields. */\n      DATE = \"DATE\"\n  }\n  /** An input of one or multiple text values */\n  interface Input {\n      /** Field name. */\n      name?: string;\n      /** Deprecated: use `ValueType.TEXT_ARRAY`. */\n      array?: boolean;\n      /** Main field label */\n      label?: string;\n      /** Additional labels for multi-valued fields such as address. */\n      additionalLabels?: Record<string, string>;\n      /** Predefined choice options for fields, such as dropdown. */\n      options?: string[];\n      /** Whether field is mandatory. */\n      mandatory?: boolean;\n      /** Maximum number of accepted characters (relevant for text fields). */\n      maxLength?: number;\n      /**\n       * Type which determines field format.\n       * Used to validate submitted response.\n       */\n      type?: ValueType;\n      /**\n       * A maximum accepted values for array input.\n       * Only applicable for inputs of valueType: TEXT_ARRAY.\n       */\n      maxSize?: number | null;\n      /**\n       * Preselected option.\n       * Currently only applicable for dropdown.\n       */\n      defaultOptionSelection?: OptionSelection;\n      /**\n       * Additional labels for multi-valued fields such as address.\n       * @readonly\n       */\n      labels?: Label[];\n  }\n  enum ValueType {\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      TEXT_ARRAY = \"TEXT_ARRAY\",\n      DATE_TIME = \"DATE_TIME\",\n      ADDRESS = \"ADDRESS\"\n  }\n  /**\n   * Describes initially selected option when an input has multiple choices.\n   * Defaults to first (0th) option if not configured.\n   */\n  interface OptionSelection extends OptionSelectionSelectedOptionOneOf {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  /** @oneof */\n  interface OptionSelectionSelectedOptionOneOf {\n      /** 0-based index from predefined `input.options` which is selected initially. */\n      optionIndex?: number;\n      /**\n       * Placeholder hint describing expected choices (such as \"Please select\").\n       * Considered an empty choice.\n       */\n      placeholderText?: string;\n  }\n  interface Label {\n      /** Field name. */\n      name?: string;\n      /** Field label. */\n      label?: string;\n  }\n  /**\n   * Defines form messages shown in UI before, during, and after registration flow.\n   * It enables configuration of form titles, response labels, \"thank you\" messages, and call-to-action texts.\n   */\n  interface FormMessages {\n      /** RSVP form messages. */\n      rsvp?: RsvpFormMessages;\n      /** Checkout form messages. */\n      checkout?: CheckoutFormMessages;\n      /** Messages shown when event registration is closed. */\n      registrationClosed?: RegistrationClosedMessages;\n      /** Messages shown when event tickets are unavailable. */\n      ticketsUnavailable?: TicketsUnavailableMessages;\n  }\n  interface RsvpFormMessages {\n      /** Label text indicating RSVP `YES` response. */\n      rsvpYesOption?: string;\n      /** Label text indicating RSVP `NO` response. */\n      rsvpNoOption?: string;\n      /** Messages shown for RSVP = `YES`. */\n      positiveMessages?: Positive;\n      /** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */\n      waitlistMessages?: Positive;\n      /** Messages shown for RSVP = `NO`. */\n      negativeMessages?: Negative;\n      /** \"Submit form\" call-to-action label text. */\n      submitActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface PositiveResponseConfirmation {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarActionLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Confirmation messages shown after registration. */\n  interface NegativeResponseConfirmation {\n      /** Confirmation message title. */\n      title?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareActionLabel?: string;\n  }\n  /** Set of messages shown during registration when RSVP response is positive. */\n  interface Positive {\n      /** Main form title for positive response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: PositiveResponseConfirmation;\n  }\n  /** A set of messages shown during registration with negative response */\n  interface Negative {\n      /** Main form title for negative response. */\n      title?: string;\n      /** Confirmation messages shown after registration. */\n      confirmation?: NegativeResponseConfirmation;\n  }\n  interface CheckoutFormMessages {\n      /** Main form title for response. */\n      title?: string;\n      /** Submit form call-to-action label text. */\n      submitActionLabel?: string;\n      /** Confirmation messages shown after checkout. */\n      confirmation?: ResponseConfirmation;\n  }\n  /** Confirmation messages shown after checkout. */\n  interface ResponseConfirmation {\n      /** Confirmation message title. */\n      title?: string;\n      /** Confirmation message text. */\n      message?: string;\n      /** \"Download tickets\" call-to-action label text. */\n      downloadTicketsLabel?: string;\n      /** \"Add to calendar\" call-to-action label text. */\n      addToCalendarLabel?: string;\n      /** \"Share event\" call-to-action label text. */\n      shareEventLabel?: string;\n  }\n  interface RegistrationClosedMessages {\n      /** Message shown when event registration is closed. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface TicketsUnavailableMessages {\n      /** Message shown when event tickets are unavailable. */\n      message?: string;\n      /** \"Explore other events\" call-to-action label text. */\n      exploreEventsActionLabel?: string;\n  }\n  interface FormInputControlAdded {\n      /** Event ID. */\n      eventId?: string;\n      /** Input control. */\n      inputControl?: InputControl;\n  }\n  interface FormInputControlUpdated {\n      /** Event ID. */\n      eventId?: string;\n      /** Input control. */\n      updatedInputControl?: InputControl;\n  }\n  interface FormInputControlDeleted {\n      /** Event ID. */\n      eventId?: string;\n      /** Input control. */\n      deletedInputControl?: InputControl;\n  }\n  interface GetFormRequest {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface GetFormResponse {\n      /**\n       * Currently published event form.\n       * Published form is visible to site visitors.\n       */\n      form?: Form;\n      /**\n       * Draft event form.\n       * Not available to visitors unless published.\n       */\n      draftForm?: Form;\n  }\n  interface AddControlRequest extends AddControlRequestControlOneOf {\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Deprecated. Use radioButton.\n       * @internal\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Single-choice radio button style input control. */\n      radioButton?: RadioButtonControl;\n      /** Event ID. */\n      eventId: string;\n  }\n  /** @oneof */\n  interface AddControlRequestControlOneOf {\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Deprecated. Use radioButton.\n       * @internal\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Single-choice radio button style input control. */\n      radioButton?: RadioButtonControl;\n  }\n  interface PhoneControl {\n      /** Phone input label. */\n      label?: string;\n      /** Whether phone input is required. */\n      mandatory?: boolean;\n  }\n  interface AddressControl {\n      /** Address control labels for each input. */\n      labels?: AddressControlLabels;\n      /** Whether address is multi-line (consisting of multiple fields such as country, city, postal code). When false, address is single-line. */\n      full?: boolean;\n      /** Whether address input is required. */\n      mandatory?: boolean;\n  }\n  interface AddressControlLabels {\n      /** Single-line address input label. */\n      addressLine?: string;\n      /** Country input label. */\n      country?: string;\n      /** Subdivision input label. */\n      subdivision?: string;\n      /** City input label. */\n      city?: string;\n      /** Postal code input label. */\n      postalCode?: string;\n      /** Street address input label. */\n      streetAddress?: string;\n  }\n  interface DateControl {\n      /** Input control label. */\n      label?: string;\n      /** Whether date input is required */\n      mandatory?: boolean;\n  }\n  interface AdditionalGuestsControl {\n      /** Additional guests control labels for each input. */\n      labels?: Labels;\n      /** Whether individual guest names are required. */\n      namesMandatory?: boolean;\n      /** Maximum number of additional guests. */\n      maxGuests?: number;\n  }\n  interface Labels {\n      /** Input label for a single guest. */\n      single?: string;\n      /** Input label for multiple guests. */\n      multiple?: string;\n  }\n  interface DropdownControl {\n      /** Input control label. */\n      label?: string;\n      /** Predefined options guests can choose from. */\n      options?: string[];\n      /** Whether choice is required. */\n      mandatory?: boolean;\n      /** Preselected option. */\n      defaultOptionSelection?: OptionSelection;\n  }\n  interface RadioButtonControl {\n      /** Input control label. */\n      label?: string;\n      /** Predefined options guests can choose from. */\n      options?: string[];\n  }\n  interface CheckboxControl {\n      /** Input control label. */\n      label?: string;\n      /** Whether at least one checkbox is required. */\n      mandatory?: boolean;\n      /** Predefined options guests can choose from. */\n      options?: string[];\n  }\n  interface TextControl {\n      /** Input control label. */\n      label?: string;\n      /** Whether text input is required. */\n      mandatory?: boolean;\n      /** Maximum number of characters allowed. */\n      maxLength?: number;\n      /** Whether input control should allow multiple lines in text. */\n      multiLine?: boolean;\n      /** Whether input control should be displayed as a comment. */\n      comment?: boolean;\n  }\n  interface AddControlResponse {\n      /** Generated unique input control ID. */\n      _id?: string;\n      /** Modified draft event form. */\n      form?: Form;\n  }\n  interface UpdateControlRequest extends UpdateControlRequestControlOneOf {\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Single-choice radio style input control.\n       * @internal\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Main guest name input control. */\n      name?: NameControl;\n      /** Main guest email input control. */\n      email?: EmailControl;\n      /** Single-choice radio style input control. */\n      radioButton?: RadioButtonControl;\n      /** Event ID. */\n      eventId: string;\n      /** Unique input control ID. */\n      _id: string;\n      /** Index used to sort input controls in ascending order. */\n      orderIndex?: number;\n  }\n  /** @oneof */\n  interface UpdateControlRequestControlOneOf {\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Single-choice radio style input control.\n       * @internal\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Main guest name input control. */\n      name?: NameControl;\n      /** Main guest email input control. */\n      email?: EmailControl;\n      /** Single-choice radio style input control. */\n      radioButton?: RadioButtonControl;\n  }\n  interface NameControl {\n      /** Name control labels of each input */\n      labels?: NameControlLabels;\n  }\n  interface NameControlLabels {\n      /** First name input label */\n      firstName?: string;\n      /** Last name input label */\n      lastName?: string;\n  }\n  interface EmailControl {\n      /** Email input label. */\n      label?: string;\n  }\n  interface UpdateControlResponse {\n      /** Modified draft event form. */\n      form?: Form;\n  }\n  interface DeleteControlRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Unique input control ID. */\n      _id: string;\n  }\n  interface DeleteControlResponse {\n      /** Modified draft event form */\n      form?: Form;\n  }\n  interface UpdateMessagesRequest {\n      /** Event ID. */\n      eventId: string;\n      /**\n       * Set of field paths, specifying which parts of this resource to update.\n       * When fields are empty, request is interpreted as full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields: string[];\n      /** Set of configured form messages. */\n      messages?: FormMessages;\n  }\n  interface UpdateMessagesResponse {\n      /** Modified draft event form. */\n      form?: Form;\n  }\n  interface PublishDraftRequest {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface PublishDraftResponse {\n      /** Published event form. */\n      form?: Form;\n  }\n  interface EventUpdated {\n      /** Event update timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Event location. */\n      location?: Location;\n      /** Event schedule configuration. */\n      scheduleConfig?: ScheduleConfig;\n      /** Event title. */\n      title?: string;\n      /** Whether schedule configuration was updated. */\n      scheduleConfigUpdated?: boolean;\n      /**\n       * The set of properties which were updated. For example 'title' or 'location'\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Whether event has opened new spots with this update.\n       * @internal\n       */\n      newSpotsOpened?: boolean | null;\n      /** Updated event */\n      event?: Event;\n  }\n  interface Location {\n      /** Location name. */\n      name?: string | null;\n      /** Location map coordinates. */\n      coordinates?: MapCoordinates;\n      /** Single line address representation. */\n      address?: string | null;\n      /** Location type. */\n      type?: LocationType;\n      /**\n       * Full address derived from formatted single line `address`.\n       * When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.\n       * If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.\n       *\n       * Migration notes:\n       * - `full_address.formatted_address` is equivalent to `address`.\n       * - `full_address.geocode` is equivalent to `coordinates`.\n       */\n      fullAddress?: Address$4;\n      /**\n       * Defines event location as TBD (To Be Determined).\n       * When event location is not yet defined, `name` is displayed instead of location address.\n       * `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.\n       */\n      tbd?: boolean | null;\n  }\n  interface MapCoordinates {\n      /** Latitude. */\n      lat?: number;\n      /** Longitude. */\n      lng?: number;\n  }\n  enum LocationType {\n      VENUE = \"VENUE\",\n      ONLINE = \"ONLINE\"\n  }\n  /** Physical address */\n  interface Address$4 extends AddressStreetOneOf$4 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$4;\n      /** Main address line (usually street and number) as free text */\n      addressLine1?: string | null;\n      /** country code */\n      country?: string | null;\n      /** subdivision (usually state or region) code according to ISO 3166-2 */\n      subdivision?: string | null;\n      /** city name */\n      city?: string | null;\n      /** zip/postal code */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, Floor */\n      addressLine2?: string | null;\n      /** A string containing the human-readable address of this location */\n      formatted?: string | null;\n      /** coordinates of the physical address */\n      location?: AddressLocation$4;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$4 {\n      /** a break down of the street to number and street name */\n      streetAddress?: StreetAddress$4;\n      /** Main address line (usually street and number) as free text */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$4 {\n      /** street number */\n      number?: string;\n      /** street name */\n      name?: string;\n      /**\n       * apartment number\n       * @internal\n       */\n      apt?: string;\n  }\n  interface AddressLocation$4 {\n      /** address latitude coordinates */\n      latitude?: number | null;\n      /** address longitude coordinates */\n      longitude?: number | null;\n  }\n  interface Subdivision$4 {\n      /** subdivision short code */\n      code?: string;\n      /** subdivision full-name */\n      name?: string;\n      /**\n       * subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$4;\n      /**\n       * free text description of subdivision type\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$4 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface ScheduleConfig {\n      /**\n       * Defines event as TBD (To Be Determined) schedule.\n       * When event time is not yet defined, TBD message is displayed instead of event start and end times.\n       * `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.\n       */\n      scheduleTbd?: boolean;\n      /** TBD message. */\n      scheduleTbdMessage?: string | null;\n      /** Event start timestamp. */\n      startDate?: Date;\n      /** Event end timestamp. */\n      endDate?: Date;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether end date is hidden in the formatted schedule. */\n      endDateHidden?: boolean;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n      /** Event recurrences. */\n      recurrences?: Recurrences;\n  }\n  interface Recurrences {\n      /** Event occurrences. */\n      occurrences?: Occurrence[];\n      /**\n       * Recurring event category ID.\n       * @readonly\n       */\n      categoryId?: string | null;\n      /**\n       * Recurrence status.\n       * @readonly\n       */\n      status?: Status;\n  }\n  interface Occurrence {\n      /** Event start timestamp. */\n      startDate?: Date;\n      /** Event end timestamp. */\n      endDate?: Date;\n      /** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */\n      timeZoneId?: string | null;\n      /** Whether time zone is displayed in formatted schedule. */\n      showTimeZone?: boolean;\n  }\n  enum Status {\n      /** Event occurs only once. */\n      ONE_TIME = \"ONE_TIME\",\n      /** Event is recurring. */\n      RECURRING = \"RECURRING\",\n      /** Marks the next upcoming occurrence of the recurring event. */\n      RECURRING_NEXT = \"RECURRING_NEXT\",\n      /** Marks the most recent ended occurrence of the recurring event. */\n      RECURRING_LAST_ENDED = \"RECURRING_LAST_ENDED\",\n      /** Marks the most recent canceled occurrence of the recurring event. */\n      RECURRING_LAST_CANCELED = \"RECURRING_LAST_CANCELED\"\n  }\n  interface Event {\n      /**\n       * Event ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Event location. */\n      location?: Location;\n      /** Event scheduling. */\n      scheduling?: Scheduling;\n      /** Event title. */\n      title?: string;\n      /** Event description. */\n      description?: string;\n      /** Rich-text content displayed in Wix UI - \"About Event\" section (HTML). */\n      about?: string;\n      /** Main event image. */\n      mainImage?: string;\n      /** Event slug URL (generated from event title). */\n      slug?: string;\n      /** ISO 639-1 language code of the event (used in content translations). */\n      language?: string;\n      /** Event creation timestamp. */\n      created?: Date;\n      /** Event modified timestamp. */\n      modified?: Date;\n      /** Event status. */\n      status?: EventStatus;\n      /** RSVP or ticketing registration details. */\n      registration?: Registration;\n      /** \"Add to calendar\" URLs. */\n      calendarLinks?: CalendarLinks$3;\n      /** Event page URL components. */\n      eventPageUrl?: SiteUrl;\n      /** Event registration form. */\n      form?: Form;\n      /** Event dashboard summary of RSVP / ticket sales. */\n      dashboard?: Dashboard$2;\n      /** Instance ID of the site where event is hosted. */\n      instanceId?: string;\n      /** Guest list configuration. */\n      guestListConfig?: GuestListConfig;\n      /** Event creator user ID. */\n      userId?: string;\n      /** Event discussion feed. For internal use. */\n      feed?: Feed;\n      /** Online conferencing details. */\n      onlineConferencing?: OnlineConferencing;\n      /** SEO settings. */\n      seoSettings?: SeoSettings;\n      /** Assigned contacts label key. */\n      assignedContactsLabel?: string | null;\n      /** Agenda details. */\n      agenda?: Agenda;\n      /** Categories this event is assigned to. */\n      categories?: Category[];\n      /** Visual settings for event. */\n      eventDisplaySettings?: EventDisplaySettings;\n      /**\n       * @internal\n       * @readonly\n       */\n      customizableTickets?: boolean | null;\n  }\n  interface Scheduling {\n      /** Schedule configuration. */\n      config?: ScheduleConfig;\n      /** Formatted schedule representation. */\n      formatted?: string;\n      /** Formatted start date of the event (empty for TBD schedules). */\n      startDateFormatted?: string;\n      /** Formatted start time of the event (empty for TBD schedules). */\n      startTimeFormatted?: string;\n      /** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */\n      endDateFormatted?: string;\n      /** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */\n      endTimeFormatted?: string;\n  }\n  enum EventStatus {\n      /** Event is public and scheduled to start */\n      SCHEDULED = \"SCHEDULED\",\n      /** Event has started */\n      STARTED = \"STARTED\",\n      /** Event has ended */\n      ENDED = \"ENDED\",\n      /** Event was canceled */\n      CANCELED = \"CANCELED\",\n      /** Event is not public and needs to be published */\n      DRAFT = \"DRAFT\"\n  }\n  interface Registration {\n      /** Event type. */\n      type?: EventType;\n      /** Event registration status. */\n      status?: RegistrationStatus;\n      /** RSVP collection details. */\n      rsvpCollection?: RsvpCollection;\n      /** Ticketing details. */\n      ticketing?: Ticketing;\n      /** External registration details. */\n      external?: ExternalEvent;\n      /** Types of users allowed to register. */\n      restrictedTo?: VisitorType;\n      /** Initial event type which was set when creating an event. */\n      initialType?: EventType;\n  }\n  enum EventType {\n      /** Type not available for this request fieldset */\n      NA_EVENT_TYPE = \"NA_EVENT_TYPE\",\n      /** Registration via RSVP */\n      RSVP = \"RSVP\",\n      /** Registration via ticket purchase */\n      TICKETS = \"TICKETS\",\n      /** External registration */\n      EXTERNAL = \"EXTERNAL\",\n      /** Registration not available */\n      NO_REGISTRATION = \"NO_REGISTRATION\"\n  }\n  enum RegistrationStatus {\n      /** Registration status is not applicable */\n      NA_REGISTRATION_STATUS = \"NA_REGISTRATION_STATUS\",\n      /** Registration to event is closed */\n      CLOSED = \"CLOSED\",\n      /** Registration to event is closed manually */\n      CLOSED_MANUALLY = \"CLOSED_MANUALLY\",\n      /** Registration is open via RSVP */\n      OPEN_RSVP = \"OPEN_RSVP\",\n      /** Registration to event waitlist is open via RSVP */\n      OPEN_RSVP_WAITLIST = \"OPEN_RSVP_WAITLIST\",\n      /** Registration is open via ticket purchase */\n      OPEN_TICKETS = \"OPEN_TICKETS\",\n      /** Registration is open via external URL */\n      OPEN_EXTERNAL = \"OPEN_EXTERNAL\",\n      /** Registration will be open via RSVP */\n      SCHEDULED_RSVP = \"SCHEDULED_RSVP\"\n  }\n  interface RsvpCollection {\n      /** RSVP collection configuration. */\n      config?: RsvpCollectionConfig;\n  }\n  interface RsvpCollectionConfig {\n      /** Defines the supported RSVP statuses. */\n      rsvpStatusOptions?: RsvpStatusOptions;\n      /**\n       * Total guest limit available to register to the event.\n       * Additional guests per RSVP are counted towards total guests.\n       */\n      limit?: number | null;\n      /** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */\n      waitlist?: boolean;\n      /** Registration start timestamp. */\n      startDate?: Date;\n      /** Registration end timestamp. */\n      endDate?: Date;\n  }\n  enum RsvpStatusOptions {\n      /** Only YES RSVP status is available for RSVP registration */\n      YES_ONLY = \"YES_ONLY\",\n      /** YES and NO RSVP status options are available for the registration */\n      YES_AND_NO = \"YES_AND_NO\"\n  }\n  interface Ticketing {\n      /** Deprecated. */\n      lowestPrice?: string | null;\n      /** Deprecated. */\n      highestPrice?: string | null;\n      /** Currency used in event transactions. */\n      currency?: string | null;\n      /** Ticketing configuration. */\n      config?: TicketingConfig;\n      /**\n       * Price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPrice?: Money$3;\n      /**\n       * Price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPrice?: Money$3;\n      /**\n       * Formatted price of lowest priced ticket.\n       * @readonly\n       */\n      lowestTicketPriceFormatted?: string | null;\n      /**\n       * Formatted price of highest priced ticket.\n       * @readonly\n       */\n      highestTicketPriceFormatted?: string | null;\n      /**\n       * Whether all tickets are sold for this event.\n       * @readonly\n       */\n      soldOut?: boolean | null;\n  }\n  interface TicketingConfig {\n      /** Whether the form must be filled out separately for each ticket. */\n      guestAssignedTickets?: boolean;\n      /** Tax configuration. */\n      taxConfig?: TaxConfig;\n      /** Limit of tickets that can be purchased per order, default 20. */\n      ticketLimitPerOrder?: number;\n      /**\n       * App Id for external ticket stock management.\n       * By default tickets stock is defined in TicketDefinition object.\n       * If defined then limitation from TicketDefinition is ignored.\n       * @internal\n       */\n      stockManagerAppId?: string | null;\n      /** Duration for which the tickets being bought are reserved. */\n      reservationDurationInMinutes?: number | null;\n  }\n  interface TaxConfig {\n      /** Tax application settings. */\n      type?: TaxType$2;\n      /** Tax name. */\n      name?: string | null;\n      /** Tax rate (e.g.,`21.55`). */\n      rate?: string | null;\n      /** Applies taxes for donations, default true. */\n      appliesToDonations?: boolean | null;\n  }\n  enum TaxType$2 {\n      /** Tax is included in the ticket price */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Money$3 {\n      /** *Deprecated:** Use `value` instead. */\n      amount?: string;\n      /** ISO 4217 format of the currency i.e. `USD`. */\n      currency?: string;\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string | null;\n  }\n  interface ExternalEvent {\n      /** External event registration URL. */\n      registration?: string;\n  }\n  enum VisitorType {\n      /** Site visitor (including member) */\n      VISITOR = \"VISITOR\",\n      /** Site member */\n      MEMBER = \"MEMBER\",\n      /** Site visitor or member */\n      VISITOR_OR_MEMBER = \"VISITOR_OR_MEMBER\"\n  }\n  interface CalendarLinks$3 {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  /** Site URL components */\n  interface SiteUrl {\n      /**\n       * Base URL. For premium sites, this will be the domain.\n       * For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`)\n       */\n      base?: string;\n      /** The path to that page - e.g `/my-events/weekly-meetup-2` */\n      path?: string;\n  }\n  interface Dashboard$2 {\n      /** Guest RSVP summary. */\n      rsvpSummary?: RsvpSummary;\n      /**\n       * Summary of revenue and tickets sold.\n       * (Archived orders are not included).\n       */\n      ticketingSummary?: TicketingSummary;\n  }\n  interface RsvpSummary {\n      /** Total number of RSVPs. */\n      total?: number;\n      /** Number of RSVPs with status `YES`. */\n      yes?: number;\n      /** Number of RSVPs with status `NO`. */\n      no?: number;\n      /** Number of RSVPs in waitlist. */\n      waitlist?: number;\n  }\n  interface TicketingSummary {\n      /** Number of tickets sold. */\n      tickets?: number;\n      /**\n       * Total revenue, excluding fees.\n       * (taxes and payment provider fees are not deducted.)\n       */\n      revenue?: Money$3;\n      /** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */\n      currencyLocked?: boolean;\n      /** Number of orders placed. */\n      orders?: number;\n      /** Total balance of confirmed transactions. */\n      totalSales?: Money$3;\n  }\n  interface GuestListConfig {\n      /** Whether members can see other members attending the event (defaults to true). */\n      publicGuestList?: boolean;\n  }\n  interface Feed {\n      /** Event discussion feed token. */\n      token?: string;\n  }\n  interface OnlineConferencing {\n      config?: OnlineConferencingConfig;\n      session?: OnlineConferencingSession;\n      /**\n       * Configured conferencing provider name.\n       * @internal\n       * @readonly\n       */\n      providerName?: string;\n  }\n  interface OnlineConferencingConfig {\n      /**\n       * Whether online conferencing is enabled (not supported for TBD schedules).\n       * When enabled, links to join conferencing are generated and provided to guests.\n       */\n      enabled?: boolean;\n      /** Conferencing provider ID. */\n      providerId?: string | null;\n      /** Conference type */\n      conferenceType?: ConferenceType;\n  }\n  enum ConferenceType {\n      /** Everyone in the meeting can publish and subscribe video and audio. */\n      MEETING = \"MEETING\",\n      /** Guests can only subscribe to video and audio. */\n      WEBINAR = \"WEBINAR\"\n  }\n  interface OnlineConferencingSession {\n      /**\n       * Link for event host to start the online conference session.\n       * @readonly\n       */\n      hostLink?: string;\n      /**\n       * Link for guests to join the online conference session.\n       * @readonly\n       */\n      guestLink?: string;\n      /**\n       * The password required to join online conferencing session (when relevant).\n       * @readonly\n       */\n      password?: string | null;\n      /**\n       * Indicates that session was created successfully on providers side.\n       * @readonly\n       */\n      sessionCreated?: boolean | null;\n      /**\n       * Unique session id\n       * @readonly\n       */\n      sessionId?: string | null;\n  }\n  interface SeoSettings {\n      /** URL slug */\n      slug?: string;\n      /** Advanced SEO data */\n      advancedSeoData?: SeoSchema;\n      /**\n       * Hidden from SEO Site Map\n       * @readonly\n       */\n      hidden?: boolean | null;\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\n       * For example: `{'name': 'description', 'content': 'the description itself'}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{height: 300, width: 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface Agenda {\n      /** Whether the schedule is enabled for the event. */\n      enabled?: boolean;\n      /**\n       * Agenda page URL.\n       * @readonly\n       */\n      pageUrl?: SiteUrl;\n  }\n  interface Category {\n      /**\n       * Category ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Category name. */\n      name?: string;\n      /**\n       * Category creation timestamp.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Assigned events count. Deleted events are excluded.\n       * @readonly\n       */\n      assignedEventsCount?: number | null;\n      /**\n       * Assigned and assigned draft event counts.\n       * @readonly\n       */\n      counts?: CategoryCounts;\n      /**\n       * Category state. Default - MANUAL.\n       * WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission is required to use other states.\n       * Field will be ignored on update requests.\n       */\n      states?: State$3[];\n      /**\n       * Optionally client defined external ID.\n       * @internal\n       */\n      externalId?: string | null;\n  }\n  interface CategoryCounts {\n      /** Assigned events count. Deleted events are excluded. */\n      assignedEventsCount?: number | null;\n      /** Assigned draft events count. */\n      assignedDraftEventsCount?: number | null;\n  }\n  enum State$3 {\n      /** Created manually by the user. */\n      MANUAL = \"MANUAL\",\n      /** Created automatically. */\n      AUTO = \"AUTO\",\n      /** Created when publishing recurring events. */\n      RECURRING_EVENT = \"RECURRING_EVENT\",\n      /** Category is hidden. */\n      HIDDEN = \"HIDDEN\",\n      /** Category is used to store component events. */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface EventDisplaySettings {\n      /** Whether event details button is hidden. Only available for events with no registration. */\n      hideEventDetailsButton?: boolean | null;\n  }\n  interface DiscardDraftRequest {\n      /** Event ID. */\n      eventId: string;\n  }\n  interface DiscardDraftResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  /**\n   * Retrieves an event registration form (both the draft and published versions).\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @returns Currently published event form.\n   * Published form is visible to site visitors.\n   */\n  function getForm(eventId: string): Promise<Form>;\n  /**\n   * Adds an input control to the draft form.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function addControl(eventId: string, options?: AddControlOptions): Promise<AddControlResponse>;\n  interface AddControlOptions extends AddControlRequestControlOneOf {\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Deprecated. Use radioButton.\n       * @internal\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Single-choice radio button style input control. */\n      radioButton?: RadioButtonControl;\n  }\n  /**\n   * Updates an existing input control in the draft form.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.id\n   * @adminMethod\n   */\n  function updateControl(identifiers: UpdateControlIdentifiers, options?: UpdateControlOptions): Promise<UpdateControlResponse>;\n  interface UpdateControlIdentifiers extends UpdateControlRequestControlOneOf {\n      /** Event ID. */\n      eventId: string;\n      /** Unique input control ID. */\n      _id: string;\n  }\n  interface UpdateControlOptions extends UpdateControlRequestControlOneOf {\n      /** Index used to sort input controls in ascending order. */\n      orderIndex?: number;\n      /** Phone number input control. */\n      phone?: PhoneControl;\n      /** Single-line or full address input control. */\n      address?: AddressControl;\n      /** Day, month, year date input control. */\n      date?: DateControl;\n      /** Additional guests input control. */\n      additionalGuests?: AdditionalGuestsControl;\n      /** Single-choice dropdown style input control. */\n      dropdown?: DropdownControl;\n      /**\n       * Single-choice radio style input control.\n       * @internal\n       */\n      radio?: RadioButtonControl;\n      /** Multiple-choice checkbox style input control. */\n      checkbox?: CheckboxControl;\n      /** Free-form text input control. */\n      text?: TextControl;\n      /** Main guest name input control. */\n      name?: NameControl;\n      /** Main guest email input control. */\n      email?: EmailControl;\n      /** Single-choice radio style input control. */\n      radioButton?: RadioButtonControl;\n  }\n  /**\n   * Deletes an input control from the draft form.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.id\n   * @adminMethod\n   */\n  function deleteControl(identifiers: DeleteControlIdentifiers): Promise<DeleteControlResponse>;\n  interface DeleteControlIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Unique input control ID. */\n      _id: string;\n  }\n  /**\n   * Updates draft form messages, as displayed in the Wix UI before, during, and after the registration flow.\n   * Configurable messages include form titles, response labels, \"thank you\" messages, and call-to-action texts.\n   * @param eventId - Event ID.\n   * @param fields - Set of field paths, specifying which parts of this resource to update.\n   * When fields are empty, request is interpreted as full update.\n   * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField fields\n   * @adminMethod\n   */\n  function updateMessages(eventId: string, fields: string[], options?: UpdateMessagesOptions): Promise<UpdateMessagesResponse>;\n  interface UpdateMessagesOptions {\n      /** Set of configured form messages. */\n      messages?: FormMessages;\n  }\n  /**\n   * Publishes the draft form.\n   * Sets event registration form equal to contents of draft form.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function publishDraft(eventId: string): Promise<PublishDraftResponse>;\n  /**\n   * Clears all changes to the draft form.\n   * (Does not affect the published form.)\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function discardDraft(eventId: string): Promise<void>;\n  \n  type eventsV1Form_universal_d_Form = Form;\n  type eventsV1Form_universal_d_InputControl = InputControl;\n  type eventsV1Form_universal_d_InputControlType = InputControlType;\n  const eventsV1Form_universal_d_InputControlType: typeof InputControlType;\n  type eventsV1Form_universal_d_Input = Input;\n  type eventsV1Form_universal_d_ValueType = ValueType;\n  const eventsV1Form_universal_d_ValueType: typeof ValueType;\n  type eventsV1Form_universal_d_OptionSelection = OptionSelection;\n  type eventsV1Form_universal_d_OptionSelectionSelectedOptionOneOf = OptionSelectionSelectedOptionOneOf;\n  type eventsV1Form_universal_d_Label = Label;\n  type eventsV1Form_universal_d_FormMessages = FormMessages;\n  type eventsV1Form_universal_d_RsvpFormMessages = RsvpFormMessages;\n  type eventsV1Form_universal_d_PositiveResponseConfirmation = PositiveResponseConfirmation;\n  type eventsV1Form_universal_d_NegativeResponseConfirmation = NegativeResponseConfirmation;\n  type eventsV1Form_universal_d_Positive = Positive;\n  type eventsV1Form_universal_d_Negative = Negative;\n  type eventsV1Form_universal_d_CheckoutFormMessages = CheckoutFormMessages;\n  type eventsV1Form_universal_d_ResponseConfirmation = ResponseConfirmation;\n  type eventsV1Form_universal_d_RegistrationClosedMessages = RegistrationClosedMessages;\n  type eventsV1Form_universal_d_TicketsUnavailableMessages = TicketsUnavailableMessages;\n  type eventsV1Form_universal_d_FormInputControlAdded = FormInputControlAdded;\n  type eventsV1Form_universal_d_FormInputControlUpdated = FormInputControlUpdated;\n  type eventsV1Form_universal_d_FormInputControlDeleted = FormInputControlDeleted;\n  type eventsV1Form_universal_d_GetFormRequest = GetFormRequest;\n  type eventsV1Form_universal_d_GetFormResponse = GetFormResponse;\n  type eventsV1Form_universal_d_AddControlRequest = AddControlRequest;\n  type eventsV1Form_universal_d_AddControlRequestControlOneOf = AddControlRequestControlOneOf;\n  type eventsV1Form_universal_d_PhoneControl = PhoneControl;\n  type eventsV1Form_universal_d_AddressControl = AddressControl;\n  type eventsV1Form_universal_d_AddressControlLabels = AddressControlLabels;\n  type eventsV1Form_universal_d_DateControl = DateControl;\n  type eventsV1Form_universal_d_AdditionalGuestsControl = AdditionalGuestsControl;\n  type eventsV1Form_universal_d_Labels = Labels;\n  type eventsV1Form_universal_d_DropdownControl = DropdownControl;\n  type eventsV1Form_universal_d_RadioButtonControl = RadioButtonControl;\n  type eventsV1Form_universal_d_CheckboxControl = CheckboxControl;\n  type eventsV1Form_universal_d_TextControl = TextControl;\n  type eventsV1Form_universal_d_AddControlResponse = AddControlResponse;\n  type eventsV1Form_universal_d_UpdateControlRequest = UpdateControlRequest;\n  type eventsV1Form_universal_d_UpdateControlRequestControlOneOf = UpdateControlRequestControlOneOf;\n  type eventsV1Form_universal_d_NameControl = NameControl;\n  type eventsV1Form_universal_d_NameControlLabels = NameControlLabels;\n  type eventsV1Form_universal_d_EmailControl = EmailControl;\n  type eventsV1Form_universal_d_UpdateControlResponse = UpdateControlResponse;\n  type eventsV1Form_universal_d_DeleteControlRequest = DeleteControlRequest;\n  type eventsV1Form_universal_d_DeleteControlResponse = DeleteControlResponse;\n  type eventsV1Form_universal_d_UpdateMessagesRequest = UpdateMessagesRequest;\n  type eventsV1Form_universal_d_UpdateMessagesResponse = UpdateMessagesResponse;\n  type eventsV1Form_universal_d_PublishDraftRequest = PublishDraftRequest;\n  type eventsV1Form_universal_d_PublishDraftResponse = PublishDraftResponse;\n  type eventsV1Form_universal_d_EventUpdated = EventUpdated;\n  type eventsV1Form_universal_d_Location = Location;\n  type eventsV1Form_universal_d_MapCoordinates = MapCoordinates;\n  type eventsV1Form_universal_d_LocationType = LocationType;\n  const eventsV1Form_universal_d_LocationType: typeof LocationType;\n  type eventsV1Form_universal_d_ScheduleConfig = ScheduleConfig;\n  type eventsV1Form_universal_d_Recurrences = Recurrences;\n  type eventsV1Form_universal_d_Occurrence = Occurrence;\n  type eventsV1Form_universal_d_Status = Status;\n  const eventsV1Form_universal_d_Status: typeof Status;\n  type eventsV1Form_universal_d_Event = Event;\n  type eventsV1Form_universal_d_Scheduling = Scheduling;\n  type eventsV1Form_universal_d_EventStatus = EventStatus;\n  const eventsV1Form_universal_d_EventStatus: typeof EventStatus;\n  type eventsV1Form_universal_d_Registration = Registration;\n  type eventsV1Form_universal_d_EventType = EventType;\n  const eventsV1Form_universal_d_EventType: typeof EventType;\n  type eventsV1Form_universal_d_RegistrationStatus = RegistrationStatus;\n  const eventsV1Form_universal_d_RegistrationStatus: typeof RegistrationStatus;\n  type eventsV1Form_universal_d_RsvpCollection = RsvpCollection;\n  type eventsV1Form_universal_d_RsvpCollectionConfig = RsvpCollectionConfig;\n  type eventsV1Form_universal_d_RsvpStatusOptions = RsvpStatusOptions;\n  const eventsV1Form_universal_d_RsvpStatusOptions: typeof RsvpStatusOptions;\n  type eventsV1Form_universal_d_Ticketing = Ticketing;\n  type eventsV1Form_universal_d_TicketingConfig = TicketingConfig;\n  type eventsV1Form_universal_d_TaxConfig = TaxConfig;\n  type eventsV1Form_universal_d_ExternalEvent = ExternalEvent;\n  type eventsV1Form_universal_d_VisitorType = VisitorType;\n  const eventsV1Form_universal_d_VisitorType: typeof VisitorType;\n  type eventsV1Form_universal_d_SiteUrl = SiteUrl;\n  type eventsV1Form_universal_d_RsvpSummary = RsvpSummary;\n  type eventsV1Form_universal_d_TicketingSummary = TicketingSummary;\n  type eventsV1Form_universal_d_GuestListConfig = GuestListConfig;\n  type eventsV1Form_universal_d_Feed = Feed;\n  type eventsV1Form_universal_d_OnlineConferencing = OnlineConferencing;\n  type eventsV1Form_universal_d_OnlineConferencingConfig = OnlineConferencingConfig;\n  type eventsV1Form_universal_d_ConferenceType = ConferenceType;\n  const eventsV1Form_universal_d_ConferenceType: typeof ConferenceType;\n  type eventsV1Form_universal_d_OnlineConferencingSession = OnlineConferencingSession;\n  type eventsV1Form_universal_d_SeoSettings = SeoSettings;\n  type eventsV1Form_universal_d_SeoSchema = SeoSchema;\n  type eventsV1Form_universal_d_Keyword = Keyword;\n  type eventsV1Form_universal_d_Tag = Tag;\n  type eventsV1Form_universal_d_Settings = Settings;\n  type eventsV1Form_universal_d_Agenda = Agenda;\n  type eventsV1Form_universal_d_Category = Category;\n  type eventsV1Form_universal_d_CategoryCounts = CategoryCounts;\n  type eventsV1Form_universal_d_EventDisplaySettings = EventDisplaySettings;\n  type eventsV1Form_universal_d_DiscardDraftRequest = DiscardDraftRequest;\n  type eventsV1Form_universal_d_DiscardDraftResponse = DiscardDraftResponse;\n  type eventsV1Form_universal_d_DomainEvent = DomainEvent;\n  type eventsV1Form_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type eventsV1Form_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type eventsV1Form_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type eventsV1Form_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type eventsV1Form_universal_d_ActionEvent = ActionEvent;\n  const eventsV1Form_universal_d_getForm: typeof getForm;\n  const eventsV1Form_universal_d_addControl: typeof addControl;\n  type eventsV1Form_universal_d_AddControlOptions = AddControlOptions;\n  const eventsV1Form_universal_d_updateControl: typeof updateControl;\n  type eventsV1Form_universal_d_UpdateControlIdentifiers = UpdateControlIdentifiers;\n  type eventsV1Form_universal_d_UpdateControlOptions = UpdateControlOptions;\n  const eventsV1Form_universal_d_deleteControl: typeof deleteControl;\n  type eventsV1Form_universal_d_DeleteControlIdentifiers = DeleteControlIdentifiers;\n  const eventsV1Form_universal_d_updateMessages: typeof updateMessages;\n  type eventsV1Form_universal_d_UpdateMessagesOptions = UpdateMessagesOptions;\n  const eventsV1Form_universal_d_publishDraft: typeof publishDraft;\n  const eventsV1Form_universal_d_discardDraft: typeof discardDraft;\n  namespace eventsV1Form_universal_d {\n    export {\n      __debug$4 as __debug,\n      eventsV1Form_universal_d_Form as Form,\n      eventsV1Form_universal_d_InputControl as InputControl,\n      eventsV1Form_universal_d_InputControlType as InputControlType,\n      eventsV1Form_universal_d_Input as Input,\n      eventsV1Form_universal_d_ValueType as ValueType,\n      eventsV1Form_universal_d_OptionSelection as OptionSelection,\n      eventsV1Form_universal_d_OptionSelectionSelectedOptionOneOf as OptionSelectionSelectedOptionOneOf,\n      eventsV1Form_universal_d_Label as Label,\n      eventsV1Form_universal_d_FormMessages as FormMessages,\n      eventsV1Form_universal_d_RsvpFormMessages as RsvpFormMessages,\n      eventsV1Form_universal_d_PositiveResponseConfirmation as PositiveResponseConfirmation,\n      eventsV1Form_universal_d_NegativeResponseConfirmation as NegativeResponseConfirmation,\n      eventsV1Form_universal_d_Positive as Positive,\n      eventsV1Form_universal_d_Negative as Negative,\n      eventsV1Form_universal_d_CheckoutFormMessages as CheckoutFormMessages,\n      eventsV1Form_universal_d_ResponseConfirmation as ResponseConfirmation,\n      eventsV1Form_universal_d_RegistrationClosedMessages as RegistrationClosedMessages,\n      eventsV1Form_universal_d_TicketsUnavailableMessages as TicketsUnavailableMessages,\n      eventsV1Form_universal_d_FormInputControlAdded as FormInputControlAdded,\n      eventsV1Form_universal_d_FormInputControlUpdated as FormInputControlUpdated,\n      eventsV1Form_universal_d_FormInputControlDeleted as FormInputControlDeleted,\n      eventsV1Form_universal_d_GetFormRequest as GetFormRequest,\n      eventsV1Form_universal_d_GetFormResponse as GetFormResponse,\n      eventsV1Form_universal_d_AddControlRequest as AddControlRequest,\n      eventsV1Form_universal_d_AddControlRequestControlOneOf as AddControlRequestControlOneOf,\n      eventsV1Form_universal_d_PhoneControl as PhoneControl,\n      eventsV1Form_universal_d_AddressControl as AddressControl,\n      eventsV1Form_universal_d_AddressControlLabels as AddressControlLabels,\n      eventsV1Form_universal_d_DateControl as DateControl,\n      eventsV1Form_universal_d_AdditionalGuestsControl as AdditionalGuestsControl,\n      eventsV1Form_universal_d_Labels as Labels,\n      eventsV1Form_universal_d_DropdownControl as DropdownControl,\n      eventsV1Form_universal_d_RadioButtonControl as RadioButtonControl,\n      eventsV1Form_universal_d_CheckboxControl as CheckboxControl,\n      eventsV1Form_universal_d_TextControl as TextControl,\n      eventsV1Form_universal_d_AddControlResponse as AddControlResponse,\n      eventsV1Form_universal_d_UpdateControlRequest as UpdateControlRequest,\n      eventsV1Form_universal_d_UpdateControlRequestControlOneOf as UpdateControlRequestControlOneOf,\n      eventsV1Form_universal_d_NameControl as NameControl,\n      eventsV1Form_universal_d_NameControlLabels as NameControlLabels,\n      eventsV1Form_universal_d_EmailControl as EmailControl,\n      eventsV1Form_universal_d_UpdateControlResponse as UpdateControlResponse,\n      eventsV1Form_universal_d_DeleteControlRequest as DeleteControlRequest,\n      eventsV1Form_universal_d_DeleteControlResponse as DeleteControlResponse,\n      eventsV1Form_universal_d_UpdateMessagesRequest as UpdateMessagesRequest,\n      eventsV1Form_universal_d_UpdateMessagesResponse as UpdateMessagesResponse,\n      eventsV1Form_universal_d_PublishDraftRequest as PublishDraftRequest,\n      eventsV1Form_universal_d_PublishDraftResponse as PublishDraftResponse,\n      eventsV1Form_universal_d_EventUpdated as EventUpdated,\n      eventsV1Form_universal_d_Location as Location,\n      eventsV1Form_universal_d_MapCoordinates as MapCoordinates,\n      eventsV1Form_universal_d_LocationType as LocationType,\n      Address$4 as Address,\n      AddressStreetOneOf$4 as AddressStreetOneOf,\n      StreetAddress$4 as StreetAddress,\n      AddressLocation$4 as AddressLocation,\n      Subdivision$4 as Subdivision,\n      SubdivisionType$4 as SubdivisionType,\n      eventsV1Form_universal_d_ScheduleConfig as ScheduleConfig,\n      eventsV1Form_universal_d_Recurrences as Recurrences,\n      eventsV1Form_universal_d_Occurrence as Occurrence,\n      eventsV1Form_universal_d_Status as Status,\n      eventsV1Form_universal_d_Event as Event,\n      eventsV1Form_universal_d_Scheduling as Scheduling,\n      eventsV1Form_universal_d_EventStatus as EventStatus,\n      eventsV1Form_universal_d_Registration as Registration,\n      eventsV1Form_universal_d_EventType as EventType,\n      eventsV1Form_universal_d_RegistrationStatus as RegistrationStatus,\n      eventsV1Form_universal_d_RsvpCollection as RsvpCollection,\n      eventsV1Form_universal_d_RsvpCollectionConfig as RsvpCollectionConfig,\n      eventsV1Form_universal_d_RsvpStatusOptions as RsvpStatusOptions,\n      eventsV1Form_universal_d_Ticketing as Ticketing,\n      eventsV1Form_universal_d_TicketingConfig as TicketingConfig,\n      eventsV1Form_universal_d_TaxConfig as TaxConfig,\n      TaxType$2 as TaxType,\n      Money$3 as Money,\n      eventsV1Form_universal_d_ExternalEvent as ExternalEvent,\n      eventsV1Form_universal_d_VisitorType as VisitorType,\n      CalendarLinks$3 as CalendarLinks,\n      eventsV1Form_universal_d_SiteUrl as SiteUrl,\n      Dashboard$2 as Dashboard,\n      eventsV1Form_universal_d_RsvpSummary as RsvpSummary,\n      eventsV1Form_universal_d_TicketingSummary as TicketingSummary,\n      eventsV1Form_universal_d_GuestListConfig as GuestListConfig,\n      eventsV1Form_universal_d_Feed as Feed,\n      eventsV1Form_universal_d_OnlineConferencing as OnlineConferencing,\n      eventsV1Form_universal_d_OnlineConferencingConfig as OnlineConferencingConfig,\n      eventsV1Form_universal_d_ConferenceType as ConferenceType,\n      eventsV1Form_universal_d_OnlineConferencingSession as OnlineConferencingSession,\n      eventsV1Form_universal_d_SeoSettings as SeoSettings,\n      eventsV1Form_universal_d_SeoSchema as SeoSchema,\n      eventsV1Form_universal_d_Keyword as Keyword,\n      eventsV1Form_universal_d_Tag as Tag,\n      eventsV1Form_universal_d_Settings as Settings,\n      eventsV1Form_universal_d_Agenda as Agenda,\n      eventsV1Form_universal_d_Category as Category,\n      eventsV1Form_universal_d_CategoryCounts as CategoryCounts,\n      State$3 as State,\n      eventsV1Form_universal_d_EventDisplaySettings as EventDisplaySettings,\n      eventsV1Form_universal_d_DiscardDraftRequest as DiscardDraftRequest,\n      eventsV1Form_universal_d_DiscardDraftResponse as DiscardDraftResponse,\n      eventsV1Form_universal_d_DomainEvent as DomainEvent,\n      eventsV1Form_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      eventsV1Form_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      eventsV1Form_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      eventsV1Form_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      eventsV1Form_universal_d_ActionEvent as ActionEvent,\n      eventsV1Form_universal_d_getForm as getForm,\n      eventsV1Form_universal_d_addControl as addControl,\n      eventsV1Form_universal_d_AddControlOptions as AddControlOptions,\n      eventsV1Form_universal_d_updateControl as updateControl,\n      eventsV1Form_universal_d_UpdateControlIdentifiers as UpdateControlIdentifiers,\n      eventsV1Form_universal_d_UpdateControlOptions as UpdateControlOptions,\n      eventsV1Form_universal_d_deleteControl as deleteControl,\n      eventsV1Form_universal_d_DeleteControlIdentifiers as DeleteControlIdentifiers,\n      eventsV1Form_universal_d_updateMessages as updateMessages,\n      eventsV1Form_universal_d_UpdateMessagesOptions as UpdateMessagesOptions,\n      eventsV1Form_universal_d_publishDraft as publishDraft,\n      eventsV1Form_universal_d_discardDraft as discardDraft,\n    };\n  }\n  \n  const __debug$3: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Order$1 {\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Reservation ID. */\n      reservationId?: string;\n      /**\n       * Payment snapshot ID.\n       * Empty for FREE order.\n       * @readonly\n       */\n      snapshotId?: string;\n      /** Event ID. */\n      eventId?: string;\n      /** Contact ID of buyer (resolved using email address). */\n      contactId?: string;\n      /** Member ID of buyer (if relevant). */\n      memberId?: string;\n      /**\n       * RSVP created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** Checkout form response. When each purchased ticket is assigned to a guest, guest forms are returned for each ticket, and buyer info is returned. */\n      checkoutForm?: FormResponse$3;\n      /** Whether the order is confirmed (triggered once payment gateway processes the payment and funds reach the merchant's account). */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus$2;\n      /** Payment method used for purchase, e.g., \"payPal\", \"creditCard\", etc. */\n      method?: string;\n      /** Tickets ordered. */\n      ticketsQuantity?: number;\n      /** Total order price. */\n      totalPrice?: Money$2;\n      /** URL to ticket PDF. */\n      ticketsPdf?: string;\n      /** Tickets (generated after payment). */\n      tickets?: TicketingTicket$2[];\n      /** Whether the order is archived. */\n      archived?: boolean;\n      /** Whether the order is anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /** Guest full name. */\n      fullName?: string;\n      /** Order invoice. */\n      invoice?: Invoice$1;\n      /** Whether all tickets in order are checked-in. */\n      fullyCheckedIn?: boolean;\n      /**\n       * Deprecated. Use `payment_details.transaction.transaction_id`.\n       * @internal\n       * @readonly\n       */\n      transactionId?: string;\n      /** Internal order payment details */\n      paymentDetails?: PaymentDetails$1;\n      /** Checkout channel type */\n      channel?: ChannelType$2;\n      /**\n       * Language in which Order was created.\n       * @internal\n       */\n      language?: string | null;\n      /**\n       * Locale in which Order was created.\n       * @internal\n       */\n      locale?: string | null;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date;\n  }\n  interface FormResponse$3 {\n      inputValues?: InputValue$3[];\n  }\n  interface InputValue$3 {\n      inputName?: string;\n      value?: string;\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress$3;\n  }\n  interface FormattedAddress$3 {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: Address$3;\n  }\n  /** Physical address */\n  interface Address$3 extends AddressStreetOneOf$3 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$3;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$3;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$3 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$3;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$3 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$3 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$3 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$3;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$3 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  enum OrderStatus$2 {\n      /** Order status not available for this request fieldset */\n      NA_ORDER_STATUS = \"NA_ORDER_STATUS\",\n      /** Order is confirmed, no payment required */\n      FREE = \"FREE\",\n      /** Order was paid but payment gateway suspended the payment. Eventually changes to PAID */\n      PENDING = \"PENDING\",\n      /** Order paid via payment gateway */\n      PAID = \"PAID\",\n      /** Order confirmed but has to be paid via offline payment and status manually updated to PAID */\n      OFFLINE_PENDING = \"OFFLINE_PENDING\",\n      /** Order is awaiting for payment in Cashier */\n      INITIATED = \"INITIATED\",\n      /** Order was canceled */\n      CANCELED = \"CANCELED\",\n      /** Order payment was declined */\n      DECLINED = \"DECLINED\"\n  }\n  interface Money$2 {\n      /** *Deprecated:** Use `value` instead. */\n      amount?: string;\n      /** ISO 4217 format of the currency i.e. `USD`. */\n      currency?: string;\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string | null;\n  }\n  interface TicketingTicket$2 {\n      /** Unique ticket number (issued automatically). */\n      ticketNumber?: string;\n      /** Associated order number. */\n      orderNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket price. */\n      price?: Money$2;\n      /**\n       * Whether ticket requires payment.\n       * @readonly\n       */\n      free?: boolean;\n      /** Ticket policy (as displayed in PDF). */\n      policy?: string;\n      /** Deprecated, use `check_in_url`. */\n      qrCode?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn$3;\n      /** Associated order status. */\n      orderStatus?: OrderStatus$2;\n      /** Whether order and ticket are visible in order list. */\n      orderArchived?: boolean;\n      /** Buyer full name. */\n      orderFullName?: string;\n      /** Guest full name. */\n      guestFullName?: string | null;\n      /** Guest personal details. */\n      guestDetails?: GuestDetails$2;\n      /** Whether ticket is visible in guest list. */\n      archived?: boolean;\n      /** Deprecated, use `ticket_pdf_url`. */\n      ticketPdf?: string;\n      /** Ticket owner member ID. */\n      memberId?: string | null;\n      /**\n       * Whether ticket was anonymized by GDPR delete.\n       * Anonymized tickets no longer contain personally identifiable information (PII).\n       */\n      anonymized?: boolean;\n      /**\n       * Ticket check-in URL.\n       * Shown as QR code image in PDF.\n       * Format: `https://www.wixevents.com/check-in/{ticket number},{event id}`\n       * Example: `https://www.wixevents.com/check-in/AAAA-AAAA-BB021,00000000-0000-0000-0000-000000000000`\n       */\n      checkInUrl?: string;\n      /** URL for ticket PDF download. */\n      ticketPdfUrl?: string;\n      /** Associated order checkout channel type */\n      channel?: ChannelType$2;\n      /**\n       * URL to download ticket in .pkpass format for Apple Wallet\n       * @readonly\n       */\n      walletPassUrl?: string;\n      /**\n       * Additional ticket details.\n       * @internal\n       * @readonly\n       */\n      ticketDetails?: TicketDetails$2;\n  }\n  interface CheckIn$3 {\n      /** Time of check-in */\n      created?: Date;\n  }\n  interface GuestDetails$2 {\n      /** Whether ticket belongs to assigned guest. */\n      guestAssigned?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Full form response. */\n      form?: FormResponse$3;\n      /** Contact ID associated with this guest. */\n      contactId?: string | null;\n  }\n  enum ChannelType$2 {\n      /** Buyer created order via one of the online channels (website, mobile app, etc.) */\n      ONLINE = \"ONLINE\",\n      /** Order created and money collected by the sales person */\n      OFFLINE_POS = \"OFFLINE_POS\"\n  }\n  interface TicketDetails$2 {\n      /** Unique seat id in the event venue. */\n      seatId?: string | null;\n      /**\n       * Optional sector name.\n       * @internal\n       * @readonly\n       */\n      sectorName?: string | null;\n      /**\n       * Area name.\n       * @internal\n       * @readonly\n       */\n      areaName?: string | null;\n      /**\n       * Table name.\n       * @internal\n       * @readonly\n       */\n      tableName?: string | null;\n      /**\n       * Row label.\n       * @internal\n       * @readonly\n       */\n      rowNumber?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @internal\n       * @readonly\n       */\n      seatNumber?: string | null;\n      /**\n       * Optional sector label.\n       * @readonly\n       */\n      sectionLabel?: string | null;\n      /**\n       * Area label.\n       * @readonly\n       */\n      areaLabel?: string | null;\n      /**\n       * Table label.\n       * @readonly\n       */\n      tableLabel?: string | null;\n      /**\n       * Row label.\n       * @readonly\n       */\n      rowLabel?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @readonly\n       */\n      seatLabel?: string | null;\n      /** Number of places in the spot. If not provided - defaults to 1. */\n      capacity?: number | null;\n      /** Custom pricing of ticket. */\n      priceOverride?: string | null;\n      /** Pricing option id. */\n      pricingOptionId?: string | null;\n      /**\n       * Pricing option name.\n       * @readonly\n       */\n      pricingOptionName?: string | null;\n  }\n  interface Invoice$1 {\n      /** Items listed in the invoice. */\n      items?: Item$1[];\n      /** Total cart amount. */\n      total?: Money$2;\n      /** Discount applied to cart. */\n      discount?: Discount$1;\n      /** Tax applied to cart. */\n      tax?: Tax$1;\n      /** Total cart amount before discount, tax, and fees. */\n      subTotal?: Money$2;\n      /**\n       * Total amount of cart after discount, tax, and fees.\n       * Grand total is calculated in the following order:\n       * 1. Total prices of all items in the cart are calculated.\n       * 2. Discount is subtracted from the cart (if applicable).\n       * 3. Tax is added (if applicable).\n       * 4. Wix service fee is added.\n       */\n      grandTotal?: Money$2;\n      /**\n       * Fees applied to the cart.\n       * @readonly\n       */\n      fees?: Fee$1[];\n      /** Total revenue, excluding fees. (Taxes and payment provider fees are not deducted). */\n      revenue?: Money$2;\n      /** URL to invoice preview. Returned only if order is paid. */\n      previewUrl?: string | null;\n  }\n  interface Item$1 {\n      /** Unique line item ID. */\n      _id?: string;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item mame. */\n      name?: string;\n      /** Line item price. */\n      price?: Money$2;\n      /** Total price for line items. Always equal to price * quantity. */\n      total?: Money$2;\n      /** Discount applied to the line item. */\n      discount?: Discount$1;\n      /** Tax applied to the item. */\n      tax?: Tax$1;\n      /**\n       * Fees applied to the item.\n       * @readonly\n       */\n      fees?: Fee$1[];\n  }\n  interface Discount$1 {\n      /** Total discount amount. */\n      amount?: Money$2;\n      /** Total charge after applied discount. */\n      afterDiscount?: Money$2;\n      /** Discount coupon code. */\n      code?: string;\n      /** Discount coupon name. */\n      name?: string;\n      /** Discount coupon ID. */\n      couponId?: string;\n      /** Discount items. */\n      discounts?: DiscountItem$1[];\n  }\n  interface DiscountItem$1 extends DiscountItemDiscountOneOf$1 {\n      /** Coupon discount. */\n      coupon?: CouponDiscount$1;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount$1;\n      /** Total discount amount. */\n      amount?: Money$2;\n  }\n  /** @oneof */\n  interface DiscountItemDiscountOneOf$1 {\n      /** Coupon discount. */\n      coupon?: CouponDiscount$1;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount$1;\n  }\n  interface CouponDiscount$1 {\n      /** Discount coupon name. */\n      name?: string;\n      /** Discount coupon code. */\n      code?: string;\n      /** Discount coupon ID. */\n      couponId?: string;\n  }\n  interface PaidPlanDiscount$1 extends PaidPlanDiscountDiscountOneOf$1 {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount$1;\n      /** Name of pricing plan. */\n      name?: string;\n  }\n  /** @oneof */\n  interface PaidPlanDiscountDiscountOneOf$1 {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount$1;\n  }\n  interface PercentDiscount$1 {\n      /** Percent rate. */\n      rate?: string;\n      /** Number of discounted tickets. */\n      quantityDiscounted?: number;\n  }\n  interface Tax$1 {\n      /** Tax type. */\n      type?: TaxType$1;\n      /**\n       * Tax name.\n       * @readonly\n       */\n      name?: string;\n      /** Tax rate. */\n      rate?: string;\n      /** Taxable amount. */\n      taxable?: Money$2;\n      /** Total tax amount. */\n      amount?: Money$2;\n  }\n  enum TaxType$1 {\n      /** Tax is included in the ticket price */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Fee$1 {\n      /** Fee identifier. */\n      name?: FeeName$1;\n      /** How fee is calculated. */\n      type?: FeeType$1;\n      /**\n       * Fee rate.\n       * @readonly\n       */\n      rate?: string;\n      /** Total amount of fee charges. */\n      amount?: Money$2;\n  }\n  enum FeeName$1 {\n      /** Wix service fee charges applied to the line item. */\n      WIX_FEE = \"WIX_FEE\"\n  }\n  enum FeeType$1 {\n      /** Fee is added to the ticket price at checkout */\n      FEE_ADDED = \"FEE_ADDED\",\n      /** Seller absorbs the fee. It is deducted from the ticket price */\n      FEE_INCLUDED = \"FEE_INCLUDED\",\n      /** Fee is added to the ticket price at checkout */\n      FEE_ADDED_AT_CHECKOUT = \"FEE_ADDED_AT_CHECKOUT\"\n  }\n  interface PaymentDetails$1 {\n      /** Wix Payments transaction */\n      transaction?: PaymentTransaction$1;\n  }\n  interface PaymentTransaction$1 {\n      /**\n       * Wix Payments transaction id\n       * @readonly\n       */\n      transactionId?: string;\n      /**\n       * Transaction Payment method e.g., \"payPal\", \"creditCard\", etc.\n       * @readonly\n       */\n      method?: string;\n  }\n  interface OrderDeleted$1 {\n      /** Order deleted timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date;\n      /** Whether order was anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /** Order type. */\n      orderType?: OrderType$1;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n      /** Tickets generated after payment. */\n      tickets?: Ticket$2[];\n  }\n  enum OrderType$1 {\n      /** Buyer form is used for all tickets */\n      UNASSIGNED_TICKETS = \"UNASSIGNED_TICKETS\",\n      /** Each order ticket has its own form */\n      ASSIGNED_TICKETS = \"ASSIGNED_TICKETS\"\n  }\n  interface Ticket$2 {\n      /** Unique issued ticket number. */\n      ticketNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn$3;\n      /** Ticket price. */\n      price?: Money$2;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Contact ID associated with this ticket. */\n      contactId?: string | null;\n      /** Whether ticket is confirmed */\n      confirmed?: boolean;\n      /** Member ID associated with this ticket. */\n      memberId?: string | null;\n      /** Ticket form response (only assigned tickets contain separate forms). */\n      form?: FormResponse$3;\n      /** Ticket name. */\n      ticketName?: string;\n      /** Anonymized tickets no longer contain personally identifiable information (PII). */\n      anonymized?: boolean;\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$3;\n  }\n  interface OnlineConferencingLogin$3 {\n      /**\n       * Link URL to the online conference.\n       * @readonly\n       */\n      link?: string;\n      /**\n       * Password for the online conference.\n       * @readonly\n       */\n      password?: string | null;\n  }\n  interface ListOrdersRequest$1 {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKETS`: Returns `tickets`.\n       * - `DETAILS`: Returns `reservationId`, `snapshotId`, `created`, `firstName`, `lastName`, `confirmed`, `status`, `method`, `ticketsQuantity`, `totalPrice`, `ticketsPdf`, `archived`, `fullName`.\n       * - `FORM` : Returns `checkoutForm`.\n       * - `INVOICE`: Returns `invoice`.\n       *\n       * Default: If `fieldset` is omitted from the request,  `orderNumber`, `eventId`, `contactId`, `memberId`, `anonymized`, `fullyCheckedIn`.\n       *\n       */\n      fieldset?: OrderFieldset$1[];\n      /** Status. */\n      status?: OrderStatus$2[];\n      /**\n       * Deprecated: use tag = CONFIRMED\n       * @internal\n       */\n      confirmed?: boolean | null;\n      /** Event ID. */\n      eventId?: string[];\n      /** Order number. */\n      orderNumber?: string[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       */\n      membersOnly?: boolean;\n      /** Field facets, */\n      facet?: string[];\n      /**\n       * Deprecated: use tag = ARCHIVED / NON_ARCHIVED\n       * @internal\n       */\n      archived?: boolean | null;\n      /** Textual search filter - search is performed on `\"full_name\"`, `\"email\"` and `\"order_number\"`. */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Deprecated: use tag = FULLY_CHECKED_IN / NOT_FULLY_CHECKED_IN\n       * @internal\n       */\n      fullyCheckedIn?: boolean | null;\n      /**\n       * Sort order. Defaults to \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-orders).\n       */\n      sort?: string;\n      /** Order tag. */\n      tag?: OrderTag$1[];\n  }\n  enum OrderFieldset$1 {\n      /** Include tickets in response */\n      TICKETS = \"TICKETS\",\n      /** Include order details: status, first_name, last_name, email, created, etc. */\n      DETAILS = \"DETAILS\",\n      /** Include checkout_form */\n      FORM = \"FORM\",\n      /** Include invoice */\n      INVOICE = \"INVOICE\"\n  }\n  enum OrderTag$1 {\n      /** Return only confirmed orders */\n      CONFIRMED = \"CONFIRMED\",\n      /** Return only unconfirmed orders */\n      UNCONFIRMED = \"UNCONFIRMED\",\n      /** Return only member orders */\n      MEMBER = \"MEMBER\",\n      /** Return only archived orders */\n      ARCHIVED = \"ARCHIVED\",\n      /** Return only non archived orders */\n      NON_ARCHIVED = \"NON_ARCHIVED\",\n      /** Return only orders with all guests checked-in */\n      FULLY_CHECKED_IN = \"FULLY_CHECKED_IN\",\n      /** Return only orders with no guests checked-in */\n      NOT_FULLY_CHECKED_IN = \"NOT_FULLY_CHECKED_IN\"\n  }\n  interface ListOrdersResponse$1 {\n      /** Total orders matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Orders. */\n      orders?: Order$1[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$3>;\n      /** Order data enriched facets. */\n      orderFacets?: OrderFacets$1;\n  }\n  interface FacetCounts$3 {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface OrderFacets$1 {\n      /** Filter facets. */\n      facets?: Record<string, OrderFacetCounts$1>;\n  }\n  interface OrderFacetCounts$1 {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, Counts$3>;\n  }\n  interface Counts$3 {\n      /** Number or orders */\n      count?: number;\n      /** Number of tickets within orders */\n      tickets?: number;\n      /** Number of tickets with check-in */\n      ticketsCheckIn?: number;\n  }\n  interface GetOrderRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKETS`: Returns `tickets`.\n       * - `DETAILS`: Returns `reservationId`, `snapshotId`, `created`, `firstName`, `lastName`, `confirmed`, `status`, `method`, `ticketsQuantity`, `totalPrice`, `ticketsPdf`, `archived`, `fullName`.\n       * - `FORM` : Returns `checkoutForm`.\n       * - `INVOICE`: Returns `invoice`.\n       *\n       * Default: If `fieldset` is omitted from the request,  `orderNumber`, `eventId`, `contactId`, `memberId`, `anonymized`, `fullyCheckedIn`.\n       */\n      fieldset?: OrderFieldset$1[];\n  }\n  interface GetOrderResponse$1 {\n      /** Requested order. */\n      order?: Order$1;\n      /** \"Add to calendar\" links. */\n      calendarLinks?: CalendarLinks$2;\n  }\n  interface CalendarLinks$2 {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  interface UpdateOrderRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /**\n       * Set of field paths to update.\n       * @internal\n       */\n      fields?: string[];\n      /** Checkout form. */\n      checkoutForm?: FormResponse$3;\n      /** Whether order is archived. */\n      archived?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      expires?: Date;\n  }\n  interface UpdateOrderResponse$1 {\n      /** Updated order. */\n      order?: Order$1;\n  }\n  interface OrderUpdated$2 {\n      /** Order updated timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$3;\n      /** Whether order is confirmed - occurs once payment gateway processes the payment and funds reach merchant's account. */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus$2;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets generated after payment. */\n      tickets?: Ticket$2[];\n      /** Whether order was archived and excluded from results. */\n      archived?: boolean;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n  }\n  interface BulkUpdateOrdersRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      orderNumber?: string[];\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fields?: string[];\n      /** Whether to archive the order. */\n      archived?: boolean;\n  }\n  interface BulkUpdateOrdersResponse$1 {\n      /** Updated orders. */\n      orders?: Order$1[];\n  }\n  interface ConfirmOrderRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Order numbers. */\n      orderNumber?: string[];\n  }\n  interface ConfirmOrderResponse$1 {\n      /** Confirmed orders. */\n      orders?: Order$1[];\n  }\n  interface GetSummaryRequest$1 {\n      /** Event ID. */\n      eventId?: string | null;\n  }\n  interface GetSummaryResponse$1 {\n      /** Ticket sales grouped by currency. */\n      sales?: TicketSales$1[];\n  }\n  interface TicketSales$1 {\n      /** Total balance of confirmed transactions. */\n      total?: Money$2;\n      /** Total number of confirmed orders. */\n      totalOrders?: number;\n      /** Total number of tickets purchased. */\n      totalTickets?: number;\n      /** Total revenue, excluding fees (taxes and payment provider fees are not deducted). */\n      revenue?: Money$2;\n  }\n  interface GetInvoicePreviewRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Order number. */\n      orderNumber: string;\n  }\n  interface RawHttpResponse$1 {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry$1[];\n  }\n  interface HeadersEntry$1 {\n      key?: string;\n      value?: string;\n  }\n  interface GetPaymentInfoRequest$1 {\n      /** Event ID. */\n      eventId?: string;\n      /** Order number. */\n      orderNumber?: string;\n  }\n  interface GetPaymentInfoResponse$1 {\n      transactions?: PaymentTransactionSummary$1[];\n      status?: string | null;\n      /** @readonly */\n      transactionId?: string | null;\n  }\n  interface PaymentTransactionSummary$1 {\n      /**\n       * Wix Payments transaction id\n       * @readonly\n       */\n      transactionId?: string;\n      /**\n       * Final transaction status\n       * @readonly\n       */\n      finalTransactionStatus?: string;\n      /** Transaction events */\n      events?: PaymentTransactionEvent$1[];\n  }\n  interface PaymentTransactionEvent$1 {\n      /**\n       * Order snapshot id\n       * @readonly\n       */\n      snapshotId?: string;\n      /**\n       * Transaction status\n       * @readonly\n       */\n      transactionStatus?: string;\n      /**\n       * Transaction Payment method e.g., \"payPal\", \"creditCard\", etc.\n       * @readonly\n       */\n      paymentMethod?: string;\n      /**\n       * Transaction payment amount\n       * @readonly\n       */\n      paymentAmount?: Money$2;\n      /**\n       * Crated date\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Reason code\n       * @readonly\n       */\n      reasonCode?: string | null;\n      /**\n       * Refunded amount\n       * @readonly\n       */\n      refundedAmount?: Money$2;\n  }\n  interface OrderConfirmed$1 {\n      /** Order confirmation timestamp in ISO UTC. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp\n       * @readonly\n       */\n      created?: Date;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$3;\n      /** Order status. */\n      status?: OrderStatus$2;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets (generated after payment). */\n      tickets?: Ticket$2[];\n      /** Invoice. */\n      invoice?: Invoice$1;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  interface OrderPaid$1 {\n      /** Order paid timestamp in ISO UTC. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  interface ReservationCreated$1 {\n      /** Reservation created timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n      /** Reservation status. */\n      status?: ReservationStatus$1;\n      /** Reservation ticket quantities. */\n      quantities?: TicketQuantity$1[];\n      /** Reservation update timestamp. */\n      _updatedDate?: Date;\n      /** Reservation counts. */\n      counts?: ReservationCount$1[];\n  }\n  enum ReservationStatus$1 {\n      /**\n       * Reservation is pending confirmation.\n       * The reservation will expire after the expiration due time.\n       */\n      RESERVATION_PENDING = \"RESERVATION_PENDING\",\n      /** The reservation was confirmed and will not expire. */\n      RESERVATION_CONFIRMED = \"RESERVATION_CONFIRMED\",\n      /** The reservation was canceled because of non payment. */\n      RESERVATION_CANCELED = \"RESERVATION_CANCELED\",\n      /** The reservation was canceled manually by the buyer. */\n      RESERVATION_CANCELED_MANUALLY = \"RESERVATION_CANCELED_MANUALLY\",\n      /** The reservation has expired. */\n      RESERVATION_EXPIRED = \"RESERVATION_EXPIRED\"\n  }\n  interface TicketQuantity$1 {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string | null;\n      /** Quantity. */\n      quantity?: number | null;\n      /** Quantity update timestamp. */\n      _updatedDate?: Date;\n  }\n  interface ReservationCount$1 {\n      /** Reservation Count snapshot timestamp. */\n      timestamp?: Date;\n      /** Ticket Definition ID. */\n      ticketDefinitionId?: string;\n      /** Confirmed reservation count. */\n      confirmedCount?: number;\n      /** Pending reservation count. */\n      pendingCount?: number;\n      /** True if paid ticket reservation exist. */\n      paidExists?: boolean;\n  }\n  interface ReservationUpdated$1 {\n      /** Reservation updated timestamp. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation status. */\n      status?: ReservationStatus$1;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n      /** Reservation ticket quantities. */\n      quantities?: TicketQuantity$1[];\n      /** Reservation update timestamp. */\n      _updatedDate?: Date;\n      /** Reservation counts. */\n      counts?: ReservationCount$1[];\n  }\n  interface GetCheckoutOptionsRequest$1 {\n  }\n  interface GetCheckoutOptionsResponse$1 {\n      /** Whether any payment method is configured and available for payment. */\n      paymentMethodConfigured?: boolean;\n      /** Whether coupons are accepted at checkout. */\n      acceptCoupons?: boolean;\n      /** Whether premium services are enabled. Enabled for free if site does not sell any paid tickets. Selling tickets for a fee requires a premium feature \"events_sell_tickets\". */\n      premiumServices?: boolean;\n      /** Whether there are any paid tickets available for sale. */\n      paidTickets?: boolean;\n  }\n  interface ListAvailableTicketsRequest$1 {\n      /** Event ID. If not provided, available tickets for all events in the site will be returned. */\n      eventId?: string;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Sort order, defaults to \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-available-tickets).\n       */\n      sort?: string;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n      state?: State$2[];\n  }\n  enum State$2 {\n      INCLUDE_HIDDEN_NOT_ON_SALE = \"INCLUDE_HIDDEN_NOT_ON_SALE\"\n  }\n  interface ListAvailableTicketsResponse$1 {\n      /** Ticket definitions meta data. */\n      metaData?: ResponseMetaData$1;\n      /** Ticket definitions. */\n      definitions?: TicketDefinition$1[];\n  }\n  interface ResponseMetaData$1 {\n      /** Number of items in the response. */\n      count?: number;\n      /** Offset of items. */\n      offset?: number;\n      /** Total number of matching items. */\n      total?: number;\n  }\n  interface TicketDefinition$1 {\n      /** Ticket definition ID. */\n      _id?: string;\n      /** Ticket price. */\n      price?: Money$2;\n      /** Whether the ticket is free (read only). */\n      free?: boolean;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket description. */\n      description?: string;\n      /**\n       * Limit of tickets that can be purchased per checkout.\n       * Set to 20 for unlimited ticket definition.\n       */\n      limitPerCheckout?: number;\n      /** Custom sort index. */\n      orderIndex?: number;\n      /** Policy information plain text block, as printed on the ticket. */\n      policy?: string;\n      /** Sensitive dashboard data. */\n      dashboard?: Dashboard$1;\n      /** Event ID associated with the ticket. */\n      eventId?: string;\n      /**\n       * Configuration of the fixed-rate Wix service fee that is applied at checkout to each ticket sold.\n       * @readonly\n       */\n      wixFeeConfig?: WixFeeConfig$1;\n      /** Ticket sale period. */\n      salePeriod?: TicketSalePeriod$1;\n      /**\n       * Ticket sale status.\n       * @readonly\n       */\n      saleStatus?: TicketSaleStatus$1;\n      /** Ticket state. */\n      state?: State$2[];\n      /** Ticket pricing. */\n      pricing?: TicketPricing$1;\n  }\n  interface Dashboard$1 {\n      /** Whether ticket is hidden and cannot be sold. */\n      hidden?: boolean;\n      /** Number of tickets sold and reserved. */\n      sold?: number;\n      /** Whether the ticket has limited quantity. */\n      limited?: boolean;\n      /** Ticket limit. `NULL` for unlimited ticket definitions. */\n      quantity?: number | null;\n      /** Number of unsold tickets. `NULL` for unlimited ticket definitions. */\n      unsold?: number | null;\n      /** Number of tickets sold. */\n      ticketsSold?: number;\n      /** Number of tickets reserved. */\n      ticketsReserved?: number;\n  }\n  interface WixFeeConfig$1 {\n      /** Fee calculation method. */\n      type?: FeeType$1;\n  }\n  interface TicketSalePeriod$1 {\n      /** Ticket sale start timestamp. */\n      startDate?: Date;\n      /** Ticket sale end timestamp. */\n      endDate?: Date;\n      /** Whether to hide this ticket if it's not on sale */\n      hideNotOnSale?: boolean;\n  }\n  enum TicketSaleStatus$1 {\n      /** Ticket sale is scheduled to start */\n      SALE_SCHEDULED = \"SALE_SCHEDULED\",\n      /** Ticket sale has started */\n      SALE_STARTED = \"SALE_STARTED\",\n      /** Ticket sale has ended */\n      SALE_ENDED = \"SALE_ENDED\"\n  }\n  interface TicketPricing$1 extends TicketPricingPriceOneOf$1 {\n      /** Ticket price which is read only. */\n      fixedPrice?: Money$2;\n      /** Min price per ticket, customizable. */\n      minPrice?: Money$2;\n      /** Ticket pricing options. */\n      pricingOptions?: PricingOptions$1;\n      /**\n       * Ticket pricing type.\n       * @readonly\n       */\n      pricingType?: Type$1;\n  }\n  /** @oneof */\n  interface TicketPricingPriceOneOf$1 {\n      /** Ticket price which is read only. */\n      fixedPrice?: Money$2;\n      /** Min price per ticket, customizable. */\n      minPrice?: Money$2;\n      /** Ticket pricing options. */\n      pricingOptions?: PricingOptions$1;\n  }\n  interface PricingOptions$1 {\n      /** Multiple ticket pricing options. */\n      options?: PricingOption$1[];\n  }\n  interface PricingOption$1 {\n      /** Ticket pricing option ID. */\n      _id?: string | null;\n      /** Ticket pricing option name. */\n      name?: string | null;\n      /** Ticket pricing option price. */\n      price?: Money$2;\n  }\n  enum Type$1 {\n      STANDARD = \"STANDARD\",\n      DONATION = \"DONATION\"\n  }\n  interface QueryAvailableTicketsRequest$1 {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Ticket definition. */\n      filter?: Record<string, any> | null;\n      fieldset?: TicketDefinitionFieldset$1[];\n      /** Sort order, defaults to \"created:asc\". */\n      sort?: string;\n  }\n  enum TicketDefinitionFieldset$1 {\n      /** Include policy in the response. */\n      POLICY = \"POLICY\",\n      /** Include dashboard in the response. */\n      DASHBOARD = \"DASHBOARD\"\n  }\n  interface QueryAvailableTicketsResponse$1 {\n      /** Ticket definitions meta data. */\n      metaData?: ResponseMetaData$1;\n      /** Ticket definitions. */\n      definitions?: TicketDefinition$1[];\n  }\n  interface CreateReservationRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Tickets to reserve. */\n      ticketQuantities?: TicketReservationQuantity$1[];\n      /** Whether to ignore the available ticket limits upon reservation. */\n      ignoreLimits?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n      /** Whether to allow reservation for hidden tickets. */\n      allowHiddenTickets?: boolean;\n      /**\n       * Whether to exclude Wix fee.\n       * @internal\n       */\n      excludeFee?: boolean;\n  }\n  interface TicketReservationQuantity$1 {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Quantity of tickets to reserve. */\n      quantity?: number;\n      /** Ticket price to charge - overriding the ticket price. */\n      priceOverride?: string | null;\n      /** Optional ticket details */\n      ticketDetails?: TicketDetails$2[];\n  }\n  interface CreateReservationResponse$1 {\n      /** Reservation ID. */\n      _id?: string;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n      /** Ticket reservations. */\n      reservations?: TicketReservation$1[];\n      /** Reservation invoice. */\n      invoice?: Invoice$1;\n  }\n  interface TicketReservation$1 {\n      /** Quantity of reserved tickets. */\n      quantity?: number;\n      /** An object containing ticket information. */\n      ticket?: TicketDefinition$1;\n      /** Optional ticket details. */\n      ticketDetails?: TicketDetails$2[];\n  }\n  interface CancelReservationRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Reservation ID. */\n      _id: string;\n  }\n  interface CancelReservationResponse$1 {\n  }\n  interface GetInvoiceRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Reservation ID. */\n      reservationId: string;\n      /** Optional discount to be applied on the returned invoice. */\n      withDiscount?: DiscountRequest$1;\n      /** Optional benefit granted by the pricing plan to be applied on the returned invoice. */\n      paidPlanBenefit?: PaidPlanBenefit$1;\n  }\n  interface DiscountRequest$1 {\n      /** Discount coupon code. */\n      couponCode?: string;\n  }\n  interface PaidPlanBenefit$1 {\n      /** Pricing plan ID. */\n      planOrderId?: string;\n      /** Pricing plan benefit ID. */\n      benefitId?: string;\n  }\n  interface GetInvoiceResponse$1 {\n      /** Invoice with applied discount. */\n      invoice?: Invoice$1;\n      /** Discount errors, if relevant. */\n      discountErrors?: DiscountErrors$1;\n      /** Time when the reservation expires. */\n      expires?: Date;\n      /** Reservation status. */\n      reservationStatus?: ReservationStatus$1;\n      /** Whether this reservation is already used in checkout. */\n      reservationOccupied?: boolean;\n      /** Ticket reservations. */\n      reservations?: TicketReservation$1[];\n  }\n  interface DiscountErrors$1 {\n      /** Object containing error information. */\n      error?: Error$1[];\n  }\n  interface Error$1 {\n      /** A code identifying the error type. */\n      code?: string;\n  }\n  interface CheckoutRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Ticket reservation ID. */\n      reservationId?: string;\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest$1;\n      /**\n       * Deprecated.\n       * @internal\n       */\n      silent?: boolean;\n      /**\n       * Deprecated.\n       * @internal\n       */\n      payInPerson?: boolean;\n      /** Buyer details. */\n      buyer?: Buyer$1;\n      /** Guest details. */\n      guests?: Guest$2[];\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit$1;\n      /** Options controlling the checkout process. */\n      options?: CheckoutOptions$1;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n  }\n  interface Buyer$1 {\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n  }\n  interface Guest$2 {\n      /** Specific guest info. */\n      form?: FormResponse$3;\n  }\n  interface CheckoutOptions$1 {\n      /** Whether to ignore settings to notify contacts or users. */\n      silent?: boolean;\n      /** Whether the payment is to be done in person between the buyer and the merchant. When true, the completed order is created with status OFFLINE_PENDING and inPerson payment method. */\n      payInPerson?: boolean;\n      /** Whether to ignore form validation. */\n      ignoreFormValidation?: boolean;\n      /**\n       * URL which overrides default payment redirect URL.\n       * @internal\n       */\n      paymentRedirectUrl?: string | null;\n      /** Marks payment as already paid */\n      markAsPaid?: boolean | null;\n  }\n  interface CheckoutResponse$1 {\n      /** Created order. */\n      order?: Order$1;\n      /** Time when the order expires, applies to orders with status = INITIATED. */\n      expires?: Date;\n      /** Ticket reservations. */\n      reservations?: TicketReservation$1[];\n      /** Order page url. */\n      orderPageUrl?: string | null;\n  }\n  interface OrderInitiated$1 {\n      /** Order initiated timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$3;\n      /** Order status. */\n      status?: OrderStatus$2;\n      /** Invoice. */\n      invoice?: Invoice$1;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n      /** Order was marked as paid. */\n      markedAsPaid?: boolean | null;\n  }\n  interface UpdateCheckoutRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /** Buyer details. */\n      buyer?: Buyer$1;\n      /** Guest details. */\n      guests?: Guest$2[];\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string | null;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest$1;\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit$1;\n      /**\n       * Payment details id\n       * @internal\n       */\n      paymentDetailsId?: string | null;\n  }\n  interface UpdateCheckoutResponse$1 {\n      /** Updated order. */\n      order?: Order$1;\n      /** Order page url. */\n      orderPageUrl?: string | null;\n      /**\n       * Payment response token.\n       * @internal\n       */\n      chargeToken?: string | null;\n  }\n  interface PosCheckoutRequest$1 {\n      /** Event ID. */\n      eventId: string;\n      /** Ticket reservation ID. */\n      reservationId: string;\n      /**\n       * Payment details ID.\n       * Not required if reservation total is 0. In this case the order will be created with status Free and no payment.\n       */\n      paymentDetailsId?: string | null;\n  }\n  interface PosCheckoutResponse$1 {\n      /** Created order. */\n      order?: Order$1;\n      /** Time when the order expires, applies to orders with status = INITIATED. */\n      expires?: Date;\n      /** Ticket reservations. */\n      reservations?: TicketReservation$1[];\n  }\n  /**\n   * Returns checkout meta data used in checkout UX.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @documentationMaturity preview\n   */\n  function getCheckoutOptions(): Promise<GetCheckoutOptionsResponse$1>;\n  /**\n   * Returns tickets available to reserve.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @documentationMaturity preview\n   * @param options - An object representing the available options for retrieving a list of tickets available for reservation.\n   */\n  function listAvailableTickets(options?: ListAvailableTicketsOptions): Promise<ListAvailableTicketsResponse$1>;\n  interface ListAvailableTicketsOptions {\n      /** Event ID. If not provided, available tickets for all events in the site will be returned. */\n      eventId?: string;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Sort order, defaults to \"created:asc\". */\n      sort?: string;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n      state?: State$2[];\n  }\n  /**\n   * Returns tickets available to reserve.\n   * <!--\n   * > Note: The fieldsets in this function are restricted and only run if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @documentationMaturity preview\n   * @param options - An object representing the available options for retrieving a list of tickets available for reservation.\n   */\n  function queryAvailableTickets(options?: QueryAvailableTicketsOptions): Promise<QueryAvailableTicketsResponse$1>;\n  interface QueryAvailableTicketsOptions {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Ticket definition. */\n      filter?: Record<string, any> | null;\n      fieldset?: TicketDefinitionFieldset$1[];\n      /** Sort order, defaults to \"created:asc\". */\n      sort?: string;\n  }\n  /**\n   * Reserves tickets for 20 minutes.\n   * Reserved tickets are deducted from tickets stock and cannot be bought by another party.\n   * When the reservation expires, the tickets are added back in the stock.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @param options - An object representing the available options for creating a reservation.\n   */\n  function createReservation(eventId: string, options?: CreateReservationOptions): Promise<CreateReservationResponse$1>;\n  interface CreateReservationOptions {\n      /** Tickets to reserve. */\n      ticketQuantities?: TicketReservationQuantity$1[];\n      /** Whether to ignore the available ticket limits upon reservation. */\n      ignoreLimits?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n      /** Whether to allow reservation for hidden tickets. */\n      allowHiddenTickets?: boolean;\n      /**\n       * Whether to exclude Wix fee.\n       * @internal\n       */\n      excludeFee?: boolean;\n  }\n  /**\n   * Cancels ticket reservation and returns tickets to stock.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param _id - Reservation ID.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField eventId\n   * @param identifiers - An object containing identifiers for the reservation to be cancelled.\n   */\n  function cancelReservation(_id: string, eventId: string): Promise<void>;\n  /**\n   * Generates a preview of a reservation invoice, including the given coupon or pricing plan.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param reservationId - Reservation ID.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField reservationId\n   * @param options - An object representing the available options for generating a preview of a reservation invoice.\n   * @param identifiers - An object containing identifiers for the reservation invoice preview to be generated.\n   */\n  function getInvoice(reservationId: string, eventId: string, options?: GetInvoiceOptions): Promise<GetInvoiceResponse$1>;\n  interface GetInvoiceOptions {\n      /** Optional discount to be applied on the returned invoice. */\n      withDiscount?: DiscountRequest$1;\n      /** Optional benefit granted by the pricing plan to be applied on the returned invoice. */\n      paidPlanBenefit?: PaidPlanBenefit$1;\n  }\n  /**\n   * Checkout of reserved tickets.\n   *\n   *\n   * Creates order and associates it with a site contact.\n   * Guest details must be sent according to the Registration Form input fields.\n   * (To change an existing \"INITIATED, \"PENDING\", or \"OFFLINE_PENDING\" order, call the [Update Checkout](https://dev.wix.com/api/rest/wix-events/wix-events/checkout/update-checkout) endpoint).\n   *\n   * There is a possibility to use a separate ready-made Wix checkout form where the user will be redirected from your non-Wix site or a custom ticket picker created with Velo.\n   * To construct the checkout form path, get your event base URL by using the [`getEvent()`](https://www.wix.com/velo/reference/wix-events-backend/wixevents/getevent) function and add the following path:\n   * `/{{EVENT_PAGE_SLUG}}/{{SLUG}}/ticket-form?reservationId={{YOUR_RESERVATION_ID}}`\n   *\n   * Example:  `https://johndoe.wixsite.com/weddings/event-details/doe-wedding/ticket-form?reservationId=2be6d34a-2a1e-459f-897b-b4a66e73f69a`\n   *\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField options.guests.form\n   * @param options - An object representing the available options for checking out a reserved ticket.\n   */\n  function checkout(eventId: string, options?: CheckoutOptionsForRequest): Promise<CheckoutResponse$1>;\n  interface CheckoutOptionsForRequest {\n      /** Ticket reservation ID. */\n      reservationId?: string;\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest$1;\n      /**\n       * Deprecated.\n       * @internal\n       */\n      silent?: boolean;\n      /**\n       * Deprecated.\n       * @internal\n       */\n      payInPerson?: boolean;\n      /** Buyer details. */\n      buyer?: Buyer$1;\n      /** Guest details. */\n      guests?: Guest$2[];\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit$1;\n      /** Options controlling the checkout process. */\n      options?: CheckoutOptions$1;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n  }\n  /**\n   * Updates order and tickets (supported only for unconfirmed orders).\n   * Guest details must be sent according to Registration Form input fields.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param orderNumber - Unique order number.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField orderNumber\n   * @param options - An object representing the available options for updating an order and tickets.\n   * @param identifiers - An object containing identifiers for the order and tickets to be updated.\n   */\n  function updateCheckout(orderNumber: string, eventId: string, options?: UpdateCheckoutOptions): Promise<UpdateCheckoutResponse$1>;\n  interface UpdateCheckoutOptions {\n      /** Buyer details. */\n      buyer?: Buyer$1;\n      /** Guest details. */\n      guests?: Guest$2[];\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string | null;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest$1;\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit$1;\n      /**\n       * Payment details id\n       * @internal\n       */\n      paymentDetailsId?: string | null;\n  }\n  /**\n   * Creates order with payment details already initiated via Cashier Pay API.\n   * @param eventId - Event ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField options.reservationId\n   * @adminMethod\n   */\n  function posCheckout(eventId: string, options?: PosCheckoutOptions): Promise<PosCheckoutResponse$1>;\n  interface PosCheckoutOptions {\n      /** Ticket reservation ID. */\n      reservationId: string;\n      /**\n       * Payment details ID.\n       * Not required if reservation total is 0. In this case the order will be created with status Free and no payment.\n       */\n      paymentDetailsId?: string | null;\n  }\n  \n  const eventsV1OrderCheckout_universal_d_getCheckoutOptions: typeof getCheckoutOptions;\n  const eventsV1OrderCheckout_universal_d_listAvailableTickets: typeof listAvailableTickets;\n  type eventsV1OrderCheckout_universal_d_ListAvailableTicketsOptions = ListAvailableTicketsOptions;\n  const eventsV1OrderCheckout_universal_d_queryAvailableTickets: typeof queryAvailableTickets;\n  type eventsV1OrderCheckout_universal_d_QueryAvailableTicketsOptions = QueryAvailableTicketsOptions;\n  const eventsV1OrderCheckout_universal_d_createReservation: typeof createReservation;\n  type eventsV1OrderCheckout_universal_d_CreateReservationOptions = CreateReservationOptions;\n  const eventsV1OrderCheckout_universal_d_cancelReservation: typeof cancelReservation;\n  const eventsV1OrderCheckout_universal_d_getInvoice: typeof getInvoice;\n  type eventsV1OrderCheckout_universal_d_GetInvoiceOptions = GetInvoiceOptions;\n  const eventsV1OrderCheckout_universal_d_checkout: typeof checkout;\n  type eventsV1OrderCheckout_universal_d_CheckoutOptionsForRequest = CheckoutOptionsForRequest;\n  const eventsV1OrderCheckout_universal_d_updateCheckout: typeof updateCheckout;\n  type eventsV1OrderCheckout_universal_d_UpdateCheckoutOptions = UpdateCheckoutOptions;\n  const eventsV1OrderCheckout_universal_d_posCheckout: typeof posCheckout;\n  type eventsV1OrderCheckout_universal_d_PosCheckoutOptions = PosCheckoutOptions;\n  namespace eventsV1OrderCheckout_universal_d {\n    export {\n      __debug$3 as __debug,\n      Order$1 as Order,\n      FormResponse$3 as FormResponse,\n      InputValue$3 as InputValue,\n      FormattedAddress$3 as FormattedAddress,\n      Address$3 as Address,\n      AddressStreetOneOf$3 as AddressStreetOneOf,\n      StreetAddress$3 as StreetAddress,\n      AddressLocation$3 as AddressLocation,\n      Subdivision$3 as Subdivision,\n      SubdivisionType$3 as SubdivisionType,\n      OrderStatus$2 as OrderStatus,\n      Money$2 as Money,\n      TicketingTicket$2 as TicketingTicket,\n      CheckIn$3 as CheckIn,\n      GuestDetails$2 as GuestDetails,\n      ChannelType$2 as ChannelType,\n      TicketDetails$2 as TicketDetails,\n      Invoice$1 as Invoice,\n      Item$1 as Item,\n      Discount$1 as Discount,\n      DiscountItem$1 as DiscountItem,\n      DiscountItemDiscountOneOf$1 as DiscountItemDiscountOneOf,\n      CouponDiscount$1 as CouponDiscount,\n      PaidPlanDiscount$1 as PaidPlanDiscount,\n      PaidPlanDiscountDiscountOneOf$1 as PaidPlanDiscountDiscountOneOf,\n      PercentDiscount$1 as PercentDiscount,\n      Tax$1 as Tax,\n      TaxType$1 as TaxType,\n      Fee$1 as Fee,\n      FeeName$1 as FeeName,\n      FeeType$1 as FeeType,\n      PaymentDetails$1 as PaymentDetails,\n      PaymentTransaction$1 as PaymentTransaction,\n      OrderDeleted$1 as OrderDeleted,\n      OrderType$1 as OrderType,\n      Ticket$2 as Ticket,\n      OnlineConferencingLogin$3 as OnlineConferencingLogin,\n      ListOrdersRequest$1 as ListOrdersRequest,\n      OrderFieldset$1 as OrderFieldset,\n      OrderTag$1 as OrderTag,\n      ListOrdersResponse$1 as ListOrdersResponse,\n      FacetCounts$3 as FacetCounts,\n      OrderFacets$1 as OrderFacets,\n      OrderFacetCounts$1 as OrderFacetCounts,\n      Counts$3 as Counts,\n      GetOrderRequest$1 as GetOrderRequest,\n      GetOrderResponse$1 as GetOrderResponse,\n      CalendarLinks$2 as CalendarLinks,\n      UpdateOrderRequest$1 as UpdateOrderRequest,\n      UpdateOrderResponse$1 as UpdateOrderResponse,\n      OrderUpdated$2 as OrderUpdated,\n      BulkUpdateOrdersRequest$1 as BulkUpdateOrdersRequest,\n      BulkUpdateOrdersResponse$1 as BulkUpdateOrdersResponse,\n      ConfirmOrderRequest$1 as ConfirmOrderRequest,\n      ConfirmOrderResponse$1 as ConfirmOrderResponse,\n      GetSummaryRequest$1 as GetSummaryRequest,\n      GetSummaryResponse$1 as GetSummaryResponse,\n      TicketSales$1 as TicketSales,\n      GetInvoicePreviewRequest$1 as GetInvoicePreviewRequest,\n      RawHttpResponse$1 as RawHttpResponse,\n      HeadersEntry$1 as HeadersEntry,\n      GetPaymentInfoRequest$1 as GetPaymentInfoRequest,\n      GetPaymentInfoResponse$1 as GetPaymentInfoResponse,\n      PaymentTransactionSummary$1 as PaymentTransactionSummary,\n      PaymentTransactionEvent$1 as PaymentTransactionEvent,\n      OrderConfirmed$1 as OrderConfirmed,\n      OrderPaid$1 as OrderPaid,\n      ReservationCreated$1 as ReservationCreated,\n      ReservationStatus$1 as ReservationStatus,\n      TicketQuantity$1 as TicketQuantity,\n      ReservationCount$1 as ReservationCount,\n      ReservationUpdated$1 as ReservationUpdated,\n      GetCheckoutOptionsRequest$1 as GetCheckoutOptionsRequest,\n      GetCheckoutOptionsResponse$1 as GetCheckoutOptionsResponse,\n      ListAvailableTicketsRequest$1 as ListAvailableTicketsRequest,\n      State$2 as State,\n      ListAvailableTicketsResponse$1 as ListAvailableTicketsResponse,\n      ResponseMetaData$1 as ResponseMetaData,\n      TicketDefinition$1 as TicketDefinition,\n      Dashboard$1 as Dashboard,\n      WixFeeConfig$1 as WixFeeConfig,\n      TicketSalePeriod$1 as TicketSalePeriod,\n      TicketSaleStatus$1 as TicketSaleStatus,\n      TicketPricing$1 as TicketPricing,\n      TicketPricingPriceOneOf$1 as TicketPricingPriceOneOf,\n      PricingOptions$1 as PricingOptions,\n      PricingOption$1 as PricingOption,\n      Type$1 as Type,\n      QueryAvailableTicketsRequest$1 as QueryAvailableTicketsRequest,\n      TicketDefinitionFieldset$1 as TicketDefinitionFieldset,\n      QueryAvailableTicketsResponse$1 as QueryAvailableTicketsResponse,\n      CreateReservationRequest$1 as CreateReservationRequest,\n      TicketReservationQuantity$1 as TicketReservationQuantity,\n      CreateReservationResponse$1 as CreateReservationResponse,\n      TicketReservation$1 as TicketReservation,\n      CancelReservationRequest$1 as CancelReservationRequest,\n      CancelReservationResponse$1 as CancelReservationResponse,\n      GetInvoiceRequest$1 as GetInvoiceRequest,\n      DiscountRequest$1 as DiscountRequest,\n      PaidPlanBenefit$1 as PaidPlanBenefit,\n      GetInvoiceResponse$1 as GetInvoiceResponse,\n      DiscountErrors$1 as DiscountErrors,\n      Error$1 as Error,\n      CheckoutRequest$1 as CheckoutRequest,\n      Buyer$1 as Buyer,\n      Guest$2 as Guest,\n      CheckoutOptions$1 as CheckoutOptions,\n      CheckoutResponse$1 as CheckoutResponse,\n      OrderInitiated$1 as OrderInitiated,\n      UpdateCheckoutRequest$1 as UpdateCheckoutRequest,\n      UpdateCheckoutResponse$1 as UpdateCheckoutResponse,\n      PosCheckoutRequest$1 as PosCheckoutRequest,\n      PosCheckoutResponse$1 as PosCheckoutResponse,\n      eventsV1OrderCheckout_universal_d_getCheckoutOptions as getCheckoutOptions,\n      eventsV1OrderCheckout_universal_d_listAvailableTickets as listAvailableTickets,\n      eventsV1OrderCheckout_universal_d_ListAvailableTicketsOptions as ListAvailableTicketsOptions,\n      eventsV1OrderCheckout_universal_d_queryAvailableTickets as queryAvailableTickets,\n      eventsV1OrderCheckout_universal_d_QueryAvailableTicketsOptions as QueryAvailableTicketsOptions,\n      eventsV1OrderCheckout_universal_d_createReservation as createReservation,\n      eventsV1OrderCheckout_universal_d_CreateReservationOptions as CreateReservationOptions,\n      eventsV1OrderCheckout_universal_d_cancelReservation as cancelReservation,\n      eventsV1OrderCheckout_universal_d_getInvoice as getInvoice,\n      eventsV1OrderCheckout_universal_d_GetInvoiceOptions as GetInvoiceOptions,\n      eventsV1OrderCheckout_universal_d_checkout as checkout,\n      eventsV1OrderCheckout_universal_d_CheckoutOptionsForRequest as CheckoutOptionsForRequest,\n      eventsV1OrderCheckout_universal_d_updateCheckout as updateCheckout,\n      eventsV1OrderCheckout_universal_d_UpdateCheckoutOptions as UpdateCheckoutOptions,\n      eventsV1OrderCheckout_universal_d_posCheckout as posCheckout,\n      eventsV1OrderCheckout_universal_d_PosCheckoutOptions as PosCheckoutOptions,\n    };\n  }\n  \n  const __debug$2: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Order {\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Reservation ID. */\n      reservationId?: string;\n      /**\n       * Payment snapshot ID.\n       * Empty for FREE order.\n       * @readonly\n       */\n      snapshotId?: string;\n      /** Event ID. */\n      eventId?: string;\n      /** Contact ID of buyer (resolved using email address). */\n      contactId?: string;\n      /** Member ID of buyer (if relevant). */\n      memberId?: string;\n      /**\n       * RSVP created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** Checkout form response. When each purchased ticket is assigned to a guest, guest forms are returned for each ticket, and buyer info is returned. */\n      checkoutForm?: FormResponse$2;\n      /** Whether the order is confirmed (triggered once payment gateway processes the payment and funds reach the merchant's account). */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus$1;\n      /** Payment method used for purchase, e.g., \"payPal\", \"creditCard\", etc. */\n      method?: string;\n      /** Tickets ordered. */\n      ticketsQuantity?: number;\n      /** Total order price. */\n      totalPrice?: Money$1;\n      /** URL to ticket PDF. */\n      ticketsPdf?: string;\n      /** Tickets (generated after payment). */\n      tickets?: TicketingTicket$1[];\n      /** Whether the order is archived. */\n      archived?: boolean;\n      /** Whether the order is anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /** Guest full name. */\n      fullName?: string;\n      /** Order invoice. */\n      invoice?: Invoice;\n      /** Whether all tickets in order are checked-in. */\n      fullyCheckedIn?: boolean;\n      /**\n       * Deprecated. Use `payment_details.transaction.transaction_id`.\n       * @internal\n       * @readonly\n       */\n      transactionId?: string;\n      /** Internal order payment details */\n      paymentDetails?: PaymentDetails;\n      /** Checkout channel type */\n      channel?: ChannelType$1;\n      /**\n       * Language in which Order was created.\n       * @internal\n       */\n      language?: string | null;\n      /**\n       * Locale in which Order was created.\n       * @internal\n       */\n      locale?: string | null;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date;\n  }\n  interface FormResponse$2 {\n      inputValues?: InputValue$2[];\n  }\n  interface InputValue$2 {\n      inputName?: string;\n      value?: string;\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress$2;\n  }\n  interface FormattedAddress$2 {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: Address$2;\n  }\n  /** Physical address */\n  interface Address$2 extends AddressStreetOneOf$2 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$2;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$2;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$2 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$2;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$2 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$2 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$2 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$2;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$2 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  enum OrderStatus$1 {\n      /** Order status not available for this request fieldset */\n      NA_ORDER_STATUS = \"NA_ORDER_STATUS\",\n      /** Order is confirmed, no payment required */\n      FREE = \"FREE\",\n      /** Order was paid but payment gateway suspended the payment. Eventually changes to PAID */\n      PENDING = \"PENDING\",\n      /** Order paid via payment gateway */\n      PAID = \"PAID\",\n      /** Order confirmed but has to be paid via offline payment and status manually updated to PAID */\n      OFFLINE_PENDING = \"OFFLINE_PENDING\",\n      /** Order is awaiting for payment in Cashier */\n      INITIATED = \"INITIATED\",\n      /** Order was canceled */\n      CANCELED = \"CANCELED\",\n      /** Order payment was declined */\n      DECLINED = \"DECLINED\"\n  }\n  interface Money$1 {\n      /** *Deprecated:** Use `value` instead. */\n      amount?: string;\n      /** ISO 4217 format of the currency i.e. `USD`. */\n      currency?: string;\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string | null;\n  }\n  interface TicketingTicket$1 {\n      /** Unique ticket number (issued automatically). */\n      ticketNumber?: string;\n      /** Associated order number. */\n      orderNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket price. */\n      price?: Money$1;\n      /**\n       * Whether ticket requires payment.\n       * @readonly\n       */\n      free?: boolean;\n      /** Ticket policy (as displayed in PDF). */\n      policy?: string;\n      /** Deprecated, use `check_in_url`. */\n      qrCode?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn$2;\n      /** Associated order status. */\n      orderStatus?: OrderStatus$1;\n      /** Whether order and ticket are visible in order list. */\n      orderArchived?: boolean;\n      /** Buyer full name. */\n      orderFullName?: string;\n      /** Guest full name. */\n      guestFullName?: string | null;\n      /** Guest personal details. */\n      guestDetails?: GuestDetails$1;\n      /** Whether ticket is visible in guest list. */\n      archived?: boolean;\n      /** Deprecated, use `ticket_pdf_url`. */\n      ticketPdf?: string;\n      /** Ticket owner member ID. */\n      memberId?: string | null;\n      /**\n       * Whether ticket was anonymized by GDPR delete.\n       * Anonymized tickets no longer contain personally identifiable information (PII).\n       */\n      anonymized?: boolean;\n      /**\n       * Ticket check-in URL.\n       * Shown as QR code image in PDF.\n       * Format: `https://www.wixevents.com/check-in/{ticket number},{event id}`\n       * Example: `https://www.wixevents.com/check-in/AAAA-AAAA-BB021,00000000-0000-0000-0000-000000000000`\n       */\n      checkInUrl?: string;\n      /** URL for ticket PDF download. */\n      ticketPdfUrl?: string;\n      /** Associated order checkout channel type */\n      channel?: ChannelType$1;\n      /**\n       * URL to download ticket in .pkpass format for Apple Wallet\n       * @readonly\n       */\n      walletPassUrl?: string;\n      /**\n       * Additional ticket details.\n       * @internal\n       * @readonly\n       */\n      ticketDetails?: TicketDetails$1;\n  }\n  interface CheckIn$2 {\n      /** Time of check-in */\n      created?: Date;\n  }\n  interface GuestDetails$1 {\n      /** Whether ticket belongs to assigned guest. */\n      guestAssigned?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Full form response. */\n      form?: FormResponse$2;\n      /** Contact ID associated with this guest. */\n      contactId?: string | null;\n  }\n  enum ChannelType$1 {\n      /** Buyer created order via one of the online channels (website, mobile app, etc.) */\n      ONLINE = \"ONLINE\",\n      /** Order created and money collected by the sales person */\n      OFFLINE_POS = \"OFFLINE_POS\"\n  }\n  interface TicketDetails$1 {\n      /** Unique seat id in the event venue. */\n      seatId?: string | null;\n      /**\n       * Optional sector name.\n       * @internal\n       * @readonly\n       */\n      sectorName?: string | null;\n      /**\n       * Area name.\n       * @internal\n       * @readonly\n       */\n      areaName?: string | null;\n      /**\n       * Table name.\n       * @internal\n       * @readonly\n       */\n      tableName?: string | null;\n      /**\n       * Row label.\n       * @internal\n       * @readonly\n       */\n      rowNumber?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @internal\n       * @readonly\n       */\n      seatNumber?: string | null;\n      /**\n       * Optional sector label.\n       * @readonly\n       */\n      sectionLabel?: string | null;\n      /**\n       * Area label.\n       * @readonly\n       */\n      areaLabel?: string | null;\n      /**\n       * Table label.\n       * @readonly\n       */\n      tableLabel?: string | null;\n      /**\n       * Row label.\n       * @readonly\n       */\n      rowLabel?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @readonly\n       */\n      seatLabel?: string | null;\n      /** Number of places in the spot. If not provided - defaults to 1. */\n      capacity?: number | null;\n      /** Custom pricing of ticket. */\n      priceOverride?: string | null;\n      /** Pricing option id. */\n      pricingOptionId?: string | null;\n      /**\n       * Pricing option name.\n       * @readonly\n       */\n      pricingOptionName?: string | null;\n  }\n  interface Invoice {\n      /** Items listed in the invoice. */\n      items?: Item[];\n      /** Total cart amount. */\n      total?: Money$1;\n      /** Discount applied to cart. */\n      discount?: Discount;\n      /** Tax applied to cart. */\n      tax?: Tax;\n      /** Total cart amount before discount, tax, and fees. */\n      subTotal?: Money$1;\n      /**\n       * Total amount of cart after discount, tax, and fees.\n       * Grand total is calculated in the following order:\n       * 1. Total prices of all items in the cart are calculated.\n       * 2. Discount is subtracted from the cart (if applicable).\n       * 3. Tax is added (if applicable).\n       * 4. Wix service fee is added.\n       */\n      grandTotal?: Money$1;\n      /**\n       * Fees applied to the cart.\n       * @readonly\n       */\n      fees?: Fee[];\n      /** Total revenue, excluding fees. (Taxes and payment provider fees are not deducted). */\n      revenue?: Money$1;\n      /** URL to invoice preview. Returned only if order is paid. */\n      previewUrl?: string | null;\n  }\n  interface Item {\n      /** Unique line item ID. */\n      _id?: string;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item mame. */\n      name?: string;\n      /** Line item price. */\n      price?: Money$1;\n      /** Total price for line items. Always equal to price * quantity. */\n      total?: Money$1;\n      /** Discount applied to the line item. */\n      discount?: Discount;\n      /** Tax applied to the item. */\n      tax?: Tax;\n      /**\n       * Fees applied to the item.\n       * @readonly\n       */\n      fees?: Fee[];\n  }\n  interface Discount {\n      /** Total discount amount. */\n      amount?: Money$1;\n      /** Total charge after applied discount. */\n      afterDiscount?: Money$1;\n      /** Discount coupon code. */\n      code?: string;\n      /** Discount coupon name. */\n      name?: string;\n      /** Discount coupon ID. */\n      couponId?: string;\n      /** Discount items. */\n      discounts?: DiscountItem[];\n  }\n  interface DiscountItem extends DiscountItemDiscountOneOf {\n      /** Coupon discount. */\n      coupon?: CouponDiscount;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount;\n      /** Total discount amount. */\n      amount?: Money$1;\n  }\n  /** @oneof */\n  interface DiscountItemDiscountOneOf {\n      /** Coupon discount. */\n      coupon?: CouponDiscount;\n      /** Pricing plan discount. */\n      paidPlan?: PaidPlanDiscount;\n  }\n  interface CouponDiscount {\n      /** Discount coupon name. */\n      name?: string;\n      /** Discount coupon code. */\n      code?: string;\n      /** Discount coupon ID. */\n      couponId?: string;\n  }\n  interface PaidPlanDiscount extends PaidPlanDiscountDiscountOneOf {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount;\n      /** Name of pricing plan. */\n      name?: string;\n  }\n  /** @oneof */\n  interface PaidPlanDiscountDiscountOneOf {\n      /** Discount by percentage applied to tickets. */\n      percentDiscount?: PercentDiscount;\n  }\n  interface PercentDiscount {\n      /** Percent rate. */\n      rate?: string;\n      /** Number of discounted tickets. */\n      quantityDiscounted?: number;\n  }\n  interface Tax {\n      /** Tax type. */\n      type?: TaxType;\n      /**\n       * Tax name.\n       * @readonly\n       */\n      name?: string;\n      /** Tax rate. */\n      rate?: string;\n      /** Taxable amount. */\n      taxable?: Money$1;\n      /** Total tax amount. */\n      amount?: Money$1;\n  }\n  enum TaxType {\n      /** Tax is included in the ticket price */\n      INCLUDED = \"INCLUDED\",\n      /** Tax is added to the order at the checkout */\n      ADDED = \"ADDED\",\n      /** Tax is added to the final total at the checkout */\n      ADDED_AT_CHECKOUT = \"ADDED_AT_CHECKOUT\"\n  }\n  interface Fee {\n      /** Fee identifier. */\n      name?: FeeName;\n      /** How fee is calculated. */\n      type?: FeeType;\n      /**\n       * Fee rate.\n       * @readonly\n       */\n      rate?: string;\n      /** Total amount of fee charges. */\n      amount?: Money$1;\n  }\n  enum FeeName {\n      /** Wix service fee charges applied to the line item. */\n      WIX_FEE = \"WIX_FEE\"\n  }\n  enum FeeType {\n      /** Fee is added to the ticket price at checkout */\n      FEE_ADDED = \"FEE_ADDED\",\n      /** Seller absorbs the fee. It is deducted from the ticket price */\n      FEE_INCLUDED = \"FEE_INCLUDED\",\n      /** Fee is added to the ticket price at checkout */\n      FEE_ADDED_AT_CHECKOUT = \"FEE_ADDED_AT_CHECKOUT\"\n  }\n  interface PaymentDetails {\n      /** Wix Payments transaction */\n      transaction?: PaymentTransaction;\n  }\n  interface PaymentTransaction {\n      /**\n       * Wix Payments transaction id\n       * @readonly\n       */\n      transactionId?: string;\n      /**\n       * Transaction Payment method e.g., \"payPal\", \"creditCard\", etc.\n       * @readonly\n       */\n      method?: string;\n  }\n  interface OrderDeleted {\n      /** Order deleted timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date;\n      /** Whether order was anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /** Order type. */\n      orderType?: OrderType;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n      /** Tickets generated after payment. */\n      tickets?: Ticket$1[];\n  }\n  enum OrderType {\n      /** Buyer form is used for all tickets */\n      UNASSIGNED_TICKETS = \"UNASSIGNED_TICKETS\",\n      /** Each order ticket has its own form */\n      ASSIGNED_TICKETS = \"ASSIGNED_TICKETS\"\n  }\n  interface Ticket$1 {\n      /** Unique issued ticket number. */\n      ticketNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn$2;\n      /** Ticket price. */\n      price?: Money$1;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Contact ID associated with this ticket. */\n      contactId?: string | null;\n      /** Whether ticket is confirmed */\n      confirmed?: boolean;\n      /** Member ID associated with this ticket. */\n      memberId?: string | null;\n      /** Ticket form response (only assigned tickets contain separate forms). */\n      form?: FormResponse$2;\n      /** Ticket name. */\n      ticketName?: string;\n      /** Anonymized tickets no longer contain personally identifiable information (PII). */\n      anonymized?: boolean;\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$2;\n  }\n  interface OnlineConferencingLogin$2 {\n      /**\n       * Link URL to the online conference.\n       * @readonly\n       */\n      link?: string;\n      /**\n       * Password for the online conference.\n       * @readonly\n       */\n      password?: string | null;\n  }\n  interface ListOrdersRequest {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKETS`: Returns `tickets`.\n       * - `DETAILS`: Returns `reservationId`, `snapshotId`, `created`, `firstName`, `lastName`, `confirmed`, `status`, `method`, `ticketsQuantity`, `totalPrice`, `ticketsPdf`, `archived`, `fullName`.\n       * - `FORM` : Returns `checkoutForm`.\n       * - `INVOICE`: Returns `invoice`.\n       *\n       * Default: If `fieldset` is omitted from the request,  `orderNumber`, `eventId`, `contactId`, `memberId`, `anonymized`, `fullyCheckedIn`.\n       *\n       */\n      fieldset?: OrderFieldset[];\n      /** Status. */\n      status?: OrderStatus$1[];\n      /**\n       * Deprecated: use tag = CONFIRMED\n       * @internal\n       */\n      confirmed?: boolean | null;\n      /** Event ID. */\n      eventId?: string[];\n      /** Order number. */\n      orderNumber?: string[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       */\n      membersOnly?: boolean;\n      /** Field facets, */\n      facet?: string[];\n      /**\n       * Deprecated: use tag = ARCHIVED / NON_ARCHIVED\n       * @internal\n       */\n      archived?: boolean | null;\n      /** Textual search filter - search is performed on `\"full_name\"`, `\"email\"` and `\"order_number\"`. */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Deprecated: use tag = FULLY_CHECKED_IN / NOT_FULLY_CHECKED_IN\n       * @internal\n       */\n      fullyCheckedIn?: boolean | null;\n      /**\n       * Sort order. Defaults to \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-orders).\n       */\n      sort?: string;\n      /** Order tag. */\n      tag?: OrderTag[];\n  }\n  enum OrderFieldset {\n      /** Include tickets in response */\n      TICKETS = \"TICKETS\",\n      /** Include order details: status, first_name, last_name, email, created, etc. */\n      DETAILS = \"DETAILS\",\n      /** Include checkout_form */\n      FORM = \"FORM\",\n      /** Include invoice */\n      INVOICE = \"INVOICE\"\n  }\n  enum OrderTag {\n      /** Return only confirmed orders */\n      CONFIRMED = \"CONFIRMED\",\n      /** Return only unconfirmed orders */\n      UNCONFIRMED = \"UNCONFIRMED\",\n      /** Return only member orders */\n      MEMBER = \"MEMBER\",\n      /** Return only archived orders */\n      ARCHIVED = \"ARCHIVED\",\n      /** Return only non archived orders */\n      NON_ARCHIVED = \"NON_ARCHIVED\",\n      /** Return only orders with all guests checked-in */\n      FULLY_CHECKED_IN = \"FULLY_CHECKED_IN\",\n      /** Return only orders with no guests checked-in */\n      NOT_FULLY_CHECKED_IN = \"NOT_FULLY_CHECKED_IN\"\n  }\n  interface ListOrdersResponse {\n      /** Total orders matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Orders. */\n      orders?: Order[];\n      /** Filter facets. */\n      facets?: Record<string, FacetCounts$2>;\n      /** Order data enriched facets. */\n      orderFacets?: OrderFacets;\n  }\n  interface FacetCounts$2 {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface OrderFacets {\n      /** Filter facets. */\n      facets?: Record<string, OrderFacetCounts>;\n  }\n  interface OrderFacetCounts {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, Counts$2>;\n  }\n  interface Counts$2 {\n      /** Number or orders */\n      count?: number;\n      /** Number of tickets within orders */\n      tickets?: number;\n      /** Number of tickets with check-in */\n      ticketsCheckIn?: number;\n  }\n  interface GetOrderRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKETS`: Returns `tickets`.\n       * - `DETAILS`: Returns `reservationId`, `snapshotId`, `created`, `firstName`, `lastName`, `confirmed`, `status`, `method`, `ticketsQuantity`, `totalPrice`, `ticketsPdf`, `archived`, `fullName`.\n       * - `FORM` : Returns `checkoutForm`.\n       * - `INVOICE`: Returns `invoice`.\n       *\n       * Default: If `fieldset` is omitted from the request,  `orderNumber`, `eventId`, `contactId`, `memberId`, `anonymized`, `fullyCheckedIn`.\n       */\n      fieldset?: OrderFieldset[];\n  }\n  interface GetOrderResponse {\n      /** Requested order. */\n      order?: Order;\n      /** \"Add to calendar\" links. */\n      calendarLinks?: CalendarLinks$1;\n  }\n  interface CalendarLinks$1 {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  interface UpdateOrderRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /**\n       * Set of field paths to update.\n       * @internal\n       */\n      fields?: string[];\n      /** Checkout form. */\n      checkoutForm?: FormResponse$2;\n      /** Whether order is archived. */\n      archived?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      expires?: Date;\n  }\n  interface UpdateOrderResponse {\n      /** Updated order. */\n      order?: Order;\n  }\n  interface OrderUpdated$1 {\n      /** Order updated timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$2;\n      /** Whether order is confirmed - occurs once payment gateway processes the payment and funds reach merchant's account. */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus$1;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets generated after payment. */\n      tickets?: Ticket$1[];\n      /** Whether order was archived and excluded from results. */\n      archived?: boolean;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n  }\n  interface BulkUpdateOrdersRequest {\n      /** Event ID. */\n      eventId: string;\n      orderNumber?: string[];\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fields?: string[];\n      /** Whether to archive the order. */\n      archived?: boolean;\n  }\n  interface BulkUpdateOrdersResponse {\n      /** Updated orders. */\n      orders?: Order[];\n  }\n  interface ConfirmOrderRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Order numbers. */\n      orderNumber?: string[];\n  }\n  interface ConfirmOrderResponse {\n      /** Confirmed orders. */\n      orders?: Order[];\n  }\n  interface GetSummaryRequest {\n      /** Event ID. */\n      eventId?: string | null;\n  }\n  interface GetSummaryResponse {\n      /** Ticket sales grouped by currency. */\n      sales?: TicketSales[];\n  }\n  interface TicketSales {\n      /** Total balance of confirmed transactions. */\n      total?: Money$1;\n      /** Total number of confirmed orders. */\n      totalOrders?: number;\n      /** Total number of tickets purchased. */\n      totalTickets?: number;\n      /** Total revenue, excluding fees (taxes and payment provider fees are not deducted). */\n      revenue?: Money$1;\n  }\n  interface GetInvoicePreviewRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Order number. */\n      orderNumber: string;\n  }\n  interface RawHttpResponse {\n      body?: Uint8Array;\n      statusCode?: number | null;\n      headers?: HeadersEntry[];\n  }\n  interface HeadersEntry {\n      key?: string;\n      value?: string;\n  }\n  interface GetPaymentInfoRequest {\n      /** Event ID. */\n      eventId?: string;\n      /** Order number. */\n      orderNumber?: string;\n  }\n  interface GetPaymentInfoResponse {\n      transactions?: PaymentTransactionSummary[];\n      status?: string | null;\n      /** @readonly */\n      transactionId?: string | null;\n  }\n  interface PaymentTransactionSummary {\n      /**\n       * Wix Payments transaction id\n       * @readonly\n       */\n      transactionId?: string;\n      /**\n       * Final transaction status\n       * @readonly\n       */\n      finalTransactionStatus?: string;\n      /** Transaction events */\n      events?: PaymentTransactionEvent[];\n  }\n  interface PaymentTransactionEvent {\n      /**\n       * Order snapshot id\n       * @readonly\n       */\n      snapshotId?: string;\n      /**\n       * Transaction status\n       * @readonly\n       */\n      transactionStatus?: string;\n      /**\n       * Transaction Payment method e.g., \"payPal\", \"creditCard\", etc.\n       * @readonly\n       */\n      paymentMethod?: string;\n      /**\n       * Transaction payment amount\n       * @readonly\n       */\n      paymentAmount?: Money$1;\n      /**\n       * Crated date\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Reason code\n       * @readonly\n       */\n      reasonCode?: string | null;\n      /**\n       * Refunded amount\n       * @readonly\n       */\n      refundedAmount?: Money$1;\n  }\n  interface OrderConfirmed {\n      /** Order confirmation timestamp in ISO UTC. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp\n       * @readonly\n       */\n      created?: Date;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$2;\n      /** Order status. */\n      status?: OrderStatus$1;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets (generated after payment). */\n      tickets?: Ticket$1[];\n      /** Invoice. */\n      invoice?: Invoice;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  interface OrderPaid {\n      /** Order paid timestamp in ISO UTC. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n  }\n  interface ReservationCreated {\n      /** Reservation created timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n      /** Reservation status. */\n      status?: ReservationStatus;\n      /** Reservation ticket quantities. */\n      quantities?: TicketQuantity[];\n      /** Reservation update timestamp. */\n      _updatedDate?: Date;\n      /** Reservation counts. */\n      counts?: ReservationCount[];\n  }\n  enum ReservationStatus {\n      /**\n       * Reservation is pending confirmation.\n       * The reservation will expire after the expiration due time.\n       */\n      RESERVATION_PENDING = \"RESERVATION_PENDING\",\n      /** The reservation was confirmed and will not expire. */\n      RESERVATION_CONFIRMED = \"RESERVATION_CONFIRMED\",\n      /** The reservation was canceled because of non payment. */\n      RESERVATION_CANCELED = \"RESERVATION_CANCELED\",\n      /** The reservation was canceled manually by the buyer. */\n      RESERVATION_CANCELED_MANUALLY = \"RESERVATION_CANCELED_MANUALLY\",\n      /** The reservation has expired. */\n      RESERVATION_EXPIRED = \"RESERVATION_EXPIRED\"\n  }\n  interface TicketQuantity {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string | null;\n      /** Quantity. */\n      quantity?: number | null;\n      /** Quantity update timestamp. */\n      _updatedDate?: Date;\n  }\n  interface ReservationCount {\n      /** Reservation Count snapshot timestamp. */\n      timestamp?: Date;\n      /** Ticket Definition ID. */\n      ticketDefinitionId?: string;\n      /** Confirmed reservation count. */\n      confirmedCount?: number;\n      /** Pending reservation count. */\n      pendingCount?: number;\n      /** True if paid ticket reservation exist. */\n      paidExists?: boolean;\n  }\n  interface ReservationUpdated {\n      /** Reservation updated timestamp. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /**\n       * Reservation ID.\n       * Can be used to retrieve a reservation invoice.\n       */\n      reservationId?: string;\n      /** Reservation status. */\n      status?: ReservationStatus;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n      /** Reservation ticket quantities. */\n      quantities?: TicketQuantity[];\n      /** Reservation update timestamp. */\n      _updatedDate?: Date;\n      /** Reservation counts. */\n      counts?: ReservationCount[];\n  }\n  interface GetCheckoutOptionsRequest {\n  }\n  interface GetCheckoutOptionsResponse {\n      /** Whether any payment method is configured and available for payment. */\n      paymentMethodConfigured?: boolean;\n      /** Whether coupons are accepted at checkout. */\n      acceptCoupons?: boolean;\n      /** Whether premium services are enabled. Enabled for free if site does not sell any paid tickets. Selling tickets for a fee requires a premium feature \"events_sell_tickets\". */\n      premiumServices?: boolean;\n      /** Whether there are any paid tickets available for sale. */\n      paidTickets?: boolean;\n  }\n  interface ListAvailableTicketsRequest {\n      /** Event ID. If not provided, available tickets for all events in the site will be returned. */\n      eventId?: string;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Sort order, defaults to \"created:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-available-tickets).\n       */\n      sort?: string;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n      state?: State$1[];\n  }\n  enum State$1 {\n      INCLUDE_HIDDEN_NOT_ON_SALE = \"INCLUDE_HIDDEN_NOT_ON_SALE\"\n  }\n  interface ListAvailableTicketsResponse {\n      /** Ticket definitions meta data. */\n      metaData?: ResponseMetaData;\n      /** Ticket definitions. */\n      definitions?: TicketDefinition[];\n  }\n  interface ResponseMetaData {\n      /** Number of items in the response. */\n      count?: number;\n      /** Offset of items. */\n      offset?: number;\n      /** Total number of matching items. */\n      total?: number;\n  }\n  interface TicketDefinition {\n      /** Ticket definition ID. */\n      _id?: string;\n      /** Ticket price. */\n      price?: Money$1;\n      /** Whether the ticket is free (read only). */\n      free?: boolean;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket description. */\n      description?: string;\n      /**\n       * Limit of tickets that can be purchased per checkout.\n       * Set to 20 for unlimited ticket definition.\n       */\n      limitPerCheckout?: number;\n      /** Custom sort index. */\n      orderIndex?: number;\n      /** Policy information plain text block, as printed on the ticket. */\n      policy?: string;\n      /** Sensitive dashboard data. */\n      dashboard?: Dashboard;\n      /** Event ID associated with the ticket. */\n      eventId?: string;\n      /**\n       * Configuration of the fixed-rate Wix service fee that is applied at checkout to each ticket sold.\n       * @readonly\n       */\n      wixFeeConfig?: WixFeeConfig;\n      /** Ticket sale period. */\n      salePeriod?: TicketSalePeriod;\n      /**\n       * Ticket sale status.\n       * @readonly\n       */\n      saleStatus?: TicketSaleStatus;\n      /** Ticket state. */\n      state?: State$1[];\n      /** Ticket pricing. */\n      pricing?: TicketPricing;\n  }\n  interface Dashboard {\n      /** Whether ticket is hidden and cannot be sold. */\n      hidden?: boolean;\n      /** Number of tickets sold and reserved. */\n      sold?: number;\n      /** Whether the ticket has limited quantity. */\n      limited?: boolean;\n      /** Ticket limit. `NULL` for unlimited ticket definitions. */\n      quantity?: number | null;\n      /** Number of unsold tickets. `NULL` for unlimited ticket definitions. */\n      unsold?: number | null;\n      /** Number of tickets sold. */\n      ticketsSold?: number;\n      /** Number of tickets reserved. */\n      ticketsReserved?: number;\n  }\n  interface WixFeeConfig {\n      /** Fee calculation method. */\n      type?: FeeType;\n  }\n  interface TicketSalePeriod {\n      /** Ticket sale start timestamp. */\n      startDate?: Date;\n      /** Ticket sale end timestamp. */\n      endDate?: Date;\n      /** Whether to hide this ticket if it's not on sale */\n      hideNotOnSale?: boolean;\n  }\n  enum TicketSaleStatus {\n      /** Ticket sale is scheduled to start */\n      SALE_SCHEDULED = \"SALE_SCHEDULED\",\n      /** Ticket sale has started */\n      SALE_STARTED = \"SALE_STARTED\",\n      /** Ticket sale has ended */\n      SALE_ENDED = \"SALE_ENDED\"\n  }\n  interface TicketPricing extends TicketPricingPriceOneOf {\n      /** Ticket price which is read only. */\n      fixedPrice?: Money$1;\n      /** Min price per ticket, customizable. */\n      minPrice?: Money$1;\n      /** Ticket pricing options. */\n      pricingOptions?: PricingOptions;\n      /**\n       * Ticket pricing type.\n       * @readonly\n       */\n      pricingType?: Type;\n  }\n  /** @oneof */\n  interface TicketPricingPriceOneOf {\n      /** Ticket price which is read only. */\n      fixedPrice?: Money$1;\n      /** Min price per ticket, customizable. */\n      minPrice?: Money$1;\n      /** Ticket pricing options. */\n      pricingOptions?: PricingOptions;\n  }\n  interface PricingOptions {\n      /** Multiple ticket pricing options. */\n      options?: PricingOption[];\n  }\n  interface PricingOption {\n      /** Ticket pricing option ID. */\n      _id?: string | null;\n      /** Ticket pricing option name. */\n      name?: string | null;\n      /** Ticket pricing option price. */\n      price?: Money$1;\n  }\n  enum Type {\n      STANDARD = \"STANDARD\",\n      DONATION = \"DONATION\"\n  }\n  interface QueryAvailableTicketsRequest {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Ticket definition. */\n      filter?: Record<string, any> | null;\n      fieldset?: TicketDefinitionFieldset[];\n      /** Sort order, defaults to \"created:asc\". */\n      sort?: string;\n  }\n  enum TicketDefinitionFieldset {\n      /** Include policy in the response. */\n      POLICY = \"POLICY\",\n      /** Include dashboard in the response. */\n      DASHBOARD = \"DASHBOARD\"\n  }\n  interface QueryAvailableTicketsResponse {\n      /** Ticket definitions meta data. */\n      metaData?: ResponseMetaData;\n      /** Ticket definitions. */\n      definitions?: TicketDefinition[];\n  }\n  interface CreateReservationRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Tickets to reserve. */\n      ticketQuantities?: TicketReservationQuantity[];\n      /** Whether to ignore the available ticket limits upon reservation. */\n      ignoreLimits?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n      /** Whether to allow reservation for hidden tickets. */\n      allowHiddenTickets?: boolean;\n      /**\n       * Whether to exclude Wix fee.\n       * @internal\n       */\n      excludeFee?: boolean;\n  }\n  interface TicketReservationQuantity {\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Quantity of tickets to reserve. */\n      quantity?: number;\n      /** Ticket price to charge - overriding the ticket price. */\n      priceOverride?: string | null;\n      /** Optional ticket details */\n      ticketDetails?: TicketDetails$1[];\n  }\n  interface CreateReservationResponse {\n      /** Reservation ID. */\n      _id?: string;\n      /** Reservation expiration timestamp. */\n      expires?: Date;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n      /** Reservation invoice. */\n      invoice?: Invoice;\n  }\n  interface TicketReservation {\n      /** Quantity of reserved tickets. */\n      quantity?: number;\n      /** An object containing ticket information. */\n      ticket?: TicketDefinition;\n      /** Optional ticket details. */\n      ticketDetails?: TicketDetails$1[];\n  }\n  interface CancelReservationRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Reservation ID. */\n      _id: string;\n  }\n  interface CancelReservationResponse {\n  }\n  interface GetInvoiceRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Reservation ID. */\n      reservationId: string;\n      /** Optional discount to be applied on the returned invoice. */\n      withDiscount?: DiscountRequest;\n      /** Optional benefit granted by the pricing plan to be applied on the returned invoice. */\n      paidPlanBenefit?: PaidPlanBenefit;\n  }\n  interface DiscountRequest {\n      /** Discount coupon code. */\n      couponCode?: string;\n  }\n  interface PaidPlanBenefit {\n      /** Pricing plan ID. */\n      planOrderId?: string;\n      /** Pricing plan benefit ID. */\n      benefitId?: string;\n  }\n  interface GetInvoiceResponse {\n      /** Invoice with applied discount. */\n      invoice?: Invoice;\n      /** Discount errors, if relevant. */\n      discountErrors?: DiscountErrors;\n      /** Time when the reservation expires. */\n      expires?: Date;\n      /** Reservation status. */\n      reservationStatus?: ReservationStatus;\n      /** Whether this reservation is already used in checkout. */\n      reservationOccupied?: boolean;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n  }\n  interface DiscountErrors {\n      /** Object containing error information. */\n      error?: Error[];\n  }\n  interface Error {\n      /** A code identifying the error type. */\n      code?: string;\n  }\n  interface CheckoutRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Ticket reservation ID. */\n      reservationId?: string;\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest;\n      /**\n       * Deprecated.\n       * @internal\n       */\n      silent?: boolean;\n      /**\n       * Deprecated.\n       * @internal\n       */\n      payInPerson?: boolean;\n      /** Buyer details. */\n      buyer?: Buyer;\n      /** Guest details. */\n      guests?: Guest$1[];\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit;\n      /** Options controlling the checkout process. */\n      options?: CheckoutOptions;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      overrideRequestTime?: Date;\n  }\n  interface Buyer {\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n  }\n  interface Guest$1 {\n      /** Specific guest info. */\n      form?: FormResponse$2;\n  }\n  interface CheckoutOptions {\n      /** Whether to ignore settings to notify contacts or users. */\n      silent?: boolean;\n      /** Whether the payment is to be done in person between the buyer and the merchant. When true, the completed order is created with status OFFLINE_PENDING and inPerson payment method. */\n      payInPerson?: boolean;\n      /** Whether to ignore form validation. */\n      ignoreFormValidation?: boolean;\n      /**\n       * URL which overrides default payment redirect URL.\n       * @internal\n       */\n      paymentRedirectUrl?: string | null;\n      /** Marks payment as already paid */\n      markAsPaid?: boolean | null;\n  }\n  interface CheckoutResponse {\n      /** Created order. */\n      order?: Order;\n      /** Time when the order expires, applies to orders with status = INITIATED. */\n      expires?: Date;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n      /** Order page url. */\n      orderPageUrl?: string | null;\n  }\n  interface OrderInitiated {\n      /** Order initiated timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email address. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse$2;\n      /** Order status. */\n      status?: OrderStatus$1;\n      /** Invoice. */\n      invoice?: Invoice;\n      /** Reservation ID associated with this order. */\n      reservationId?: string;\n      /** Order was marked as paid. */\n      markedAsPaid?: boolean | null;\n  }\n  interface UpdateCheckoutRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n      /** Buyer details. */\n      buyer?: Buyer;\n      /** Guest details. */\n      guests?: Guest$1[];\n      /** Member ID (if empty - no site member is associated to this order). */\n      memberId?: string | null;\n      /** Discount to apply on the invoice. */\n      discount?: DiscountRequest;\n      /** Benefit granted by the pricing plan. */\n      paidPlanBenefit?: PaidPlanBenefit;\n      /**\n       * Payment details id\n       * @internal\n       */\n      paymentDetailsId?: string | null;\n  }\n  interface UpdateCheckoutResponse {\n      /** Updated order. */\n      order?: Order;\n      /** Order page url. */\n      orderPageUrl?: string | null;\n      /**\n       * Payment response token.\n       * @internal\n       */\n      chargeToken?: string | null;\n  }\n  interface PosCheckoutRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Ticket reservation ID. */\n      reservationId: string;\n      /**\n       * Payment details ID.\n       * Not required if reservation total is 0. In this case the order will be created with status Free and no payment.\n       */\n      paymentDetailsId?: string | null;\n  }\n  interface PosCheckoutResponse {\n      /** Created order. */\n      order?: Order;\n      /** Time when the order expires, applies to orders with status = INITIATED. */\n      expires?: Date;\n      /** Ticket reservations. */\n      reservations?: TicketReservation[];\n  }\n  /**\n   * Retrieves a list of orders, including ticket data, with basic filter support.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @documentationMaturity preview\n   * @param options - An object representing the available options for retrieving a list of orders.\n   * @adminMethod\n   */\n  function listOrders(options?: ListOrdersOptions): Promise<ListOrdersResponse>;\n  interface ListOrdersOptions {\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKETS`: Returns `tickets`.\n       * - `DETAILS`: Returns `reservationId`, `snapshotId`, `created`, `firstName`, `lastName`, `confirmed`, `status`, `method`, `ticketsQuantity`, `totalPrice`, `ticketsPdf`, `archived`, `fullName`.\n       * - `FORM` : Returns `checkoutForm`.\n       * - `INVOICE`: Returns `invoice`.\n       *\n       * Default: If `fieldset` is omitted from the request,  `orderNumber`, `eventId`, `contactId`, `memberId`, `anonymized`, `fullyCheckedIn`.\n       *\n       */\n      fieldset?: OrderFieldset[];\n      /** Status. */\n      status?: OrderStatus$1[];\n      /**\n       * Deprecated: use tag = CONFIRMED\n       * @internal\n       */\n      confirmed?: boolean | null;\n      /** Event ID. */\n      eventId?: string[];\n      /** Order number. */\n      orderNumber?: string[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       */\n      membersOnly?: boolean;\n      /** Field facets. */\n      facet?: string[];\n      /**\n       * Deprecated: use tag = ARCHIVED / NON_ARCHIVED\n       * @internal\n       */\n      archived?: boolean | null;\n      /** Textual search filter - search is performed on `\"full_name\"`, `\"email\"` and `\"order_number\"`. */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Deprecated: use tag = FULLY_CHECKED_IN / NOT_FULLY_CHECKED_IN\n       * @internal\n       */\n      fullyCheckedIn?: boolean | null;\n      /**\n       * Sort order.\n       *\n       * Default: `\"created\"`:`\"asc\"`.\n       *\n       *\n       * See [Orders Sort](/wix-events-v2/orders/orders-sort) for more information.\n       */\n      sort?: string;\n      /** Order tag. */\n      tag?: OrderTag[];\n  }\n  /**\n   * Retrieves an order, including ticket data.\n   * <!--\n   * >The fieldsets in this function are restricted and only run if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.orderNumber\n   * @param options - An object representing the available options for getting an order.\n   * @param identifiers - An object containing identifiers for the order to be retrieved.\n   * @adminMethod\n   * @returns Requested order.\n   */\n  function getOrder(identifiers: GetOrderIdentifiers, options?: GetOrderOptions): Promise<Order>;\n  interface GetOrderIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n  }\n  interface GetOrderOptions {\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKETS`: Returns `tickets`.\n       * - `DETAILS`: Returns `reservationId`, `snapshotId`, `created`, `firstName`, `lastName`, `confirmed`, `status`, `method`, `ticketsQuantity`, `totalPrice`, `ticketsPdf`, `archived`, `fullName`.\n       * - `FORM` : Returns `checkoutForm`.\n       * - `INVOICE`: Returns `invoice`.\n       *\n       * Default: If `fieldset` is omitted from the request,  `orderNumber`, `eventId`, `contactId`, `memberId`, `anonymized`, `fullyCheckedIn`.\n       */\n      fieldset?: OrderFieldset[];\n  }\n  /**\n   * Updates an order.\n   *\n   *\n   * See [Partial Updates](/wix-events-v2/partial-updates) for more information.\n   * <!--\n   * >Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.orderNumber\n   * @param options - An object representing the available options for updating an order.\n   * @param identifiers - An object containing identifiers for the order to be updated.\n   * @adminMethod\n   */\n  function updateOrder(identifiers: UpdateOrderIdentifiers, options?: UpdateOrderOptions): Promise<UpdateOrderResponse>;\n  interface UpdateOrderIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Unique order number. */\n      orderNumber: string;\n  }\n  interface UpdateOrderOptions {\n      /**\n       * Set of field paths to update.\n       * @internal\n       */\n      fields?: string[];\n      /** Checkout form. */\n      checkoutForm?: FormResponse$2;\n      /** Whether order is archived. */\n      archived?: boolean;\n      /**\n       * Only used in tests.\n       * @internal\n       */\n      expires?: Date;\n  }\n  /**\n   * Updates multiple orders' `archived` status.\n   *\n   *\n   * See [Partial Updates](/wix-events-v2/partial-updates) for more information.\n   * <!--\n   * >Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @param options - An object representing the available options for confirming an order.\n   * @adminMethod\n   */\n  function bulkUpdateOrders(eventId: string, options?: BulkUpdateOrdersOptions): Promise<BulkUpdateOrdersResponse>;\n  interface BulkUpdateOrdersOptions {\n      /** Unique order number. */\n      orderNumber?: string[];\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fields?: string[];\n      /** Whether to archive the order. */\n      archived?: boolean;\n  }\n  /**\n   * Changes order status from \"INITIATED, \"PENDING\", or \"OFFLINE_PENDING\" to \"PAID\". Previously confirmed orders (with status \"PAID\" or \"FREE\") are not changed. Confirming previously \"INITIATED\" or \"PENDING\" orders triggers an email with the tickets to the buyer (and to additional guests, if relevant and provided).\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @param options - An object representing the available options for confirming an order.\n   * @adminMethod\n   */\n  function confirmOrder(eventId: string, options?: ConfirmOrderOptions): Promise<ConfirmOrderResponse>;\n  interface ConfirmOrderOptions {\n      /** Order numbers. */\n      orderNumber?: string[];\n  }\n  /**\n   * Retrieves a summary of total ticket sales.\n   * <!--\n   * > Note: This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @documentationMaturity preview\n   * @param options - An object representing the available options for retrieving a summary of total ticket sales.\n   * @adminMethod\n   */\n  function getSummary(options?: GetSummaryOptions): Promise<GetSummaryResponse>;\n  interface GetSummaryOptions {\n      /** Event ID. */\n      eventId?: string | null;\n  }\n  /**\n   * Returns invoice preview. Works only for PAID orders.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.orderNumber\n   * @adminMethod\n   */\n  function getInvoicePreview(identifiers: GetInvoicePreviewIdentifiers): Promise<RawHttpResponse>;\n  interface GetInvoicePreviewIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Order number. */\n      orderNumber: string;\n  }\n  \n  type eventsV1OrderOrders_universal_d_Order = Order;\n  type eventsV1OrderOrders_universal_d_Invoice = Invoice;\n  type eventsV1OrderOrders_universal_d_Item = Item;\n  type eventsV1OrderOrders_universal_d_Discount = Discount;\n  type eventsV1OrderOrders_universal_d_DiscountItem = DiscountItem;\n  type eventsV1OrderOrders_universal_d_DiscountItemDiscountOneOf = DiscountItemDiscountOneOf;\n  type eventsV1OrderOrders_universal_d_CouponDiscount = CouponDiscount;\n  type eventsV1OrderOrders_universal_d_PaidPlanDiscount = PaidPlanDiscount;\n  type eventsV1OrderOrders_universal_d_PaidPlanDiscountDiscountOneOf = PaidPlanDiscountDiscountOneOf;\n  type eventsV1OrderOrders_universal_d_PercentDiscount = PercentDiscount;\n  type eventsV1OrderOrders_universal_d_Tax = Tax;\n  type eventsV1OrderOrders_universal_d_TaxType = TaxType;\n  const eventsV1OrderOrders_universal_d_TaxType: typeof TaxType;\n  type eventsV1OrderOrders_universal_d_Fee = Fee;\n  type eventsV1OrderOrders_universal_d_FeeName = FeeName;\n  const eventsV1OrderOrders_universal_d_FeeName: typeof FeeName;\n  type eventsV1OrderOrders_universal_d_FeeType = FeeType;\n  const eventsV1OrderOrders_universal_d_FeeType: typeof FeeType;\n  type eventsV1OrderOrders_universal_d_PaymentDetails = PaymentDetails;\n  type eventsV1OrderOrders_universal_d_PaymentTransaction = PaymentTransaction;\n  type eventsV1OrderOrders_universal_d_OrderDeleted = OrderDeleted;\n  type eventsV1OrderOrders_universal_d_OrderType = OrderType;\n  const eventsV1OrderOrders_universal_d_OrderType: typeof OrderType;\n  type eventsV1OrderOrders_universal_d_ListOrdersRequest = ListOrdersRequest;\n  type eventsV1OrderOrders_universal_d_OrderFieldset = OrderFieldset;\n  const eventsV1OrderOrders_universal_d_OrderFieldset: typeof OrderFieldset;\n  type eventsV1OrderOrders_universal_d_OrderTag = OrderTag;\n  const eventsV1OrderOrders_universal_d_OrderTag: typeof OrderTag;\n  type eventsV1OrderOrders_universal_d_ListOrdersResponse = ListOrdersResponse;\n  type eventsV1OrderOrders_universal_d_OrderFacets = OrderFacets;\n  type eventsV1OrderOrders_universal_d_OrderFacetCounts = OrderFacetCounts;\n  type eventsV1OrderOrders_universal_d_GetOrderRequest = GetOrderRequest;\n  type eventsV1OrderOrders_universal_d_GetOrderResponse = GetOrderResponse;\n  type eventsV1OrderOrders_universal_d_UpdateOrderRequest = UpdateOrderRequest;\n  type eventsV1OrderOrders_universal_d_UpdateOrderResponse = UpdateOrderResponse;\n  type eventsV1OrderOrders_universal_d_BulkUpdateOrdersRequest = BulkUpdateOrdersRequest;\n  type eventsV1OrderOrders_universal_d_BulkUpdateOrdersResponse = BulkUpdateOrdersResponse;\n  type eventsV1OrderOrders_universal_d_ConfirmOrderRequest = ConfirmOrderRequest;\n  type eventsV1OrderOrders_universal_d_ConfirmOrderResponse = ConfirmOrderResponse;\n  type eventsV1OrderOrders_universal_d_GetSummaryRequest = GetSummaryRequest;\n  type eventsV1OrderOrders_universal_d_GetSummaryResponse = GetSummaryResponse;\n  type eventsV1OrderOrders_universal_d_TicketSales = TicketSales;\n  type eventsV1OrderOrders_universal_d_GetInvoicePreviewRequest = GetInvoicePreviewRequest;\n  type eventsV1OrderOrders_universal_d_RawHttpResponse = RawHttpResponse;\n  type eventsV1OrderOrders_universal_d_HeadersEntry = HeadersEntry;\n  type eventsV1OrderOrders_universal_d_GetPaymentInfoRequest = GetPaymentInfoRequest;\n  type eventsV1OrderOrders_universal_d_GetPaymentInfoResponse = GetPaymentInfoResponse;\n  type eventsV1OrderOrders_universal_d_PaymentTransactionSummary = PaymentTransactionSummary;\n  type eventsV1OrderOrders_universal_d_PaymentTransactionEvent = PaymentTransactionEvent;\n  type eventsV1OrderOrders_universal_d_OrderConfirmed = OrderConfirmed;\n  type eventsV1OrderOrders_universal_d_OrderPaid = OrderPaid;\n  type eventsV1OrderOrders_universal_d_ReservationCreated = ReservationCreated;\n  type eventsV1OrderOrders_universal_d_ReservationStatus = ReservationStatus;\n  const eventsV1OrderOrders_universal_d_ReservationStatus: typeof ReservationStatus;\n  type eventsV1OrderOrders_universal_d_TicketQuantity = TicketQuantity;\n  type eventsV1OrderOrders_universal_d_ReservationCount = ReservationCount;\n  type eventsV1OrderOrders_universal_d_ReservationUpdated = ReservationUpdated;\n  type eventsV1OrderOrders_universal_d_GetCheckoutOptionsRequest = GetCheckoutOptionsRequest;\n  type eventsV1OrderOrders_universal_d_GetCheckoutOptionsResponse = GetCheckoutOptionsResponse;\n  type eventsV1OrderOrders_universal_d_ListAvailableTicketsRequest = ListAvailableTicketsRequest;\n  type eventsV1OrderOrders_universal_d_ListAvailableTicketsResponse = ListAvailableTicketsResponse;\n  type eventsV1OrderOrders_universal_d_ResponseMetaData = ResponseMetaData;\n  type eventsV1OrderOrders_universal_d_TicketDefinition = TicketDefinition;\n  type eventsV1OrderOrders_universal_d_Dashboard = Dashboard;\n  type eventsV1OrderOrders_universal_d_WixFeeConfig = WixFeeConfig;\n  type eventsV1OrderOrders_universal_d_TicketSalePeriod = TicketSalePeriod;\n  type eventsV1OrderOrders_universal_d_TicketSaleStatus = TicketSaleStatus;\n  const eventsV1OrderOrders_universal_d_TicketSaleStatus: typeof TicketSaleStatus;\n  type eventsV1OrderOrders_universal_d_TicketPricing = TicketPricing;\n  type eventsV1OrderOrders_universal_d_TicketPricingPriceOneOf = TicketPricingPriceOneOf;\n  type eventsV1OrderOrders_universal_d_PricingOptions = PricingOptions;\n  type eventsV1OrderOrders_universal_d_PricingOption = PricingOption;\n  type eventsV1OrderOrders_universal_d_Type = Type;\n  const eventsV1OrderOrders_universal_d_Type: typeof Type;\n  type eventsV1OrderOrders_universal_d_QueryAvailableTicketsRequest = QueryAvailableTicketsRequest;\n  type eventsV1OrderOrders_universal_d_TicketDefinitionFieldset = TicketDefinitionFieldset;\n  const eventsV1OrderOrders_universal_d_TicketDefinitionFieldset: typeof TicketDefinitionFieldset;\n  type eventsV1OrderOrders_universal_d_QueryAvailableTicketsResponse = QueryAvailableTicketsResponse;\n  type eventsV1OrderOrders_universal_d_CreateReservationRequest = CreateReservationRequest;\n  type eventsV1OrderOrders_universal_d_TicketReservationQuantity = TicketReservationQuantity;\n  type eventsV1OrderOrders_universal_d_CreateReservationResponse = CreateReservationResponse;\n  type eventsV1OrderOrders_universal_d_TicketReservation = TicketReservation;\n  type eventsV1OrderOrders_universal_d_CancelReservationRequest = CancelReservationRequest;\n  type eventsV1OrderOrders_universal_d_CancelReservationResponse = CancelReservationResponse;\n  type eventsV1OrderOrders_universal_d_GetInvoiceRequest = GetInvoiceRequest;\n  type eventsV1OrderOrders_universal_d_DiscountRequest = DiscountRequest;\n  type eventsV1OrderOrders_universal_d_PaidPlanBenefit = PaidPlanBenefit;\n  type eventsV1OrderOrders_universal_d_GetInvoiceResponse = GetInvoiceResponse;\n  type eventsV1OrderOrders_universal_d_DiscountErrors = DiscountErrors;\n  type eventsV1OrderOrders_universal_d_Error = Error;\n  type eventsV1OrderOrders_universal_d_CheckoutRequest = CheckoutRequest;\n  type eventsV1OrderOrders_universal_d_Buyer = Buyer;\n  type eventsV1OrderOrders_universal_d_CheckoutOptions = CheckoutOptions;\n  type eventsV1OrderOrders_universal_d_CheckoutResponse = CheckoutResponse;\n  type eventsV1OrderOrders_universal_d_OrderInitiated = OrderInitiated;\n  type eventsV1OrderOrders_universal_d_UpdateCheckoutRequest = UpdateCheckoutRequest;\n  type eventsV1OrderOrders_universal_d_UpdateCheckoutResponse = UpdateCheckoutResponse;\n  type eventsV1OrderOrders_universal_d_PosCheckoutRequest = PosCheckoutRequest;\n  type eventsV1OrderOrders_universal_d_PosCheckoutResponse = PosCheckoutResponse;\n  const eventsV1OrderOrders_universal_d_listOrders: typeof listOrders;\n  type eventsV1OrderOrders_universal_d_ListOrdersOptions = ListOrdersOptions;\n  const eventsV1OrderOrders_universal_d_getOrder: typeof getOrder;\n  type eventsV1OrderOrders_universal_d_GetOrderIdentifiers = GetOrderIdentifiers;\n  type eventsV1OrderOrders_universal_d_GetOrderOptions = GetOrderOptions;\n  const eventsV1OrderOrders_universal_d_updateOrder: typeof updateOrder;\n  type eventsV1OrderOrders_universal_d_UpdateOrderIdentifiers = UpdateOrderIdentifiers;\n  type eventsV1OrderOrders_universal_d_UpdateOrderOptions = UpdateOrderOptions;\n  const eventsV1OrderOrders_universal_d_bulkUpdateOrders: typeof bulkUpdateOrders;\n  type eventsV1OrderOrders_universal_d_BulkUpdateOrdersOptions = BulkUpdateOrdersOptions;\n  const eventsV1OrderOrders_universal_d_confirmOrder: typeof confirmOrder;\n  type eventsV1OrderOrders_universal_d_ConfirmOrderOptions = ConfirmOrderOptions;\n  const eventsV1OrderOrders_universal_d_getSummary: typeof getSummary;\n  type eventsV1OrderOrders_universal_d_GetSummaryOptions = GetSummaryOptions;\n  const eventsV1OrderOrders_universal_d_getInvoicePreview: typeof getInvoicePreview;\n  type eventsV1OrderOrders_universal_d_GetInvoicePreviewIdentifiers = GetInvoicePreviewIdentifiers;\n  namespace eventsV1OrderOrders_universal_d {\n    export {\n      __debug$2 as __debug,\n      eventsV1OrderOrders_universal_d_Order as Order,\n      FormResponse$2 as FormResponse,\n      InputValue$2 as InputValue,\n      FormattedAddress$2 as FormattedAddress,\n      Address$2 as Address,\n      AddressStreetOneOf$2 as AddressStreetOneOf,\n      StreetAddress$2 as StreetAddress,\n      AddressLocation$2 as AddressLocation,\n      Subdivision$2 as Subdivision,\n      SubdivisionType$2 as SubdivisionType,\n      OrderStatus$1 as OrderStatus,\n      Money$1 as Money,\n      TicketingTicket$1 as TicketingTicket,\n      CheckIn$2 as CheckIn,\n      GuestDetails$1 as GuestDetails,\n      ChannelType$1 as ChannelType,\n      TicketDetails$1 as TicketDetails,\n      eventsV1OrderOrders_universal_d_Invoice as Invoice,\n      eventsV1OrderOrders_universal_d_Item as Item,\n      eventsV1OrderOrders_universal_d_Discount as Discount,\n      eventsV1OrderOrders_universal_d_DiscountItem as DiscountItem,\n      eventsV1OrderOrders_universal_d_DiscountItemDiscountOneOf as DiscountItemDiscountOneOf,\n      eventsV1OrderOrders_universal_d_CouponDiscount as CouponDiscount,\n      eventsV1OrderOrders_universal_d_PaidPlanDiscount as PaidPlanDiscount,\n      eventsV1OrderOrders_universal_d_PaidPlanDiscountDiscountOneOf as PaidPlanDiscountDiscountOneOf,\n      eventsV1OrderOrders_universal_d_PercentDiscount as PercentDiscount,\n      eventsV1OrderOrders_universal_d_Tax as Tax,\n      eventsV1OrderOrders_universal_d_TaxType as TaxType,\n      eventsV1OrderOrders_universal_d_Fee as Fee,\n      eventsV1OrderOrders_universal_d_FeeName as FeeName,\n      eventsV1OrderOrders_universal_d_FeeType as FeeType,\n      eventsV1OrderOrders_universal_d_PaymentDetails as PaymentDetails,\n      eventsV1OrderOrders_universal_d_PaymentTransaction as PaymentTransaction,\n      eventsV1OrderOrders_universal_d_OrderDeleted as OrderDeleted,\n      eventsV1OrderOrders_universal_d_OrderType as OrderType,\n      Ticket$1 as Ticket,\n      OnlineConferencingLogin$2 as OnlineConferencingLogin,\n      eventsV1OrderOrders_universal_d_ListOrdersRequest as ListOrdersRequest,\n      eventsV1OrderOrders_universal_d_OrderFieldset as OrderFieldset,\n      eventsV1OrderOrders_universal_d_OrderTag as OrderTag,\n      eventsV1OrderOrders_universal_d_ListOrdersResponse as ListOrdersResponse,\n      FacetCounts$2 as FacetCounts,\n      eventsV1OrderOrders_universal_d_OrderFacets as OrderFacets,\n      eventsV1OrderOrders_universal_d_OrderFacetCounts as OrderFacetCounts,\n      Counts$2 as Counts,\n      eventsV1OrderOrders_universal_d_GetOrderRequest as GetOrderRequest,\n      eventsV1OrderOrders_universal_d_GetOrderResponse as GetOrderResponse,\n      CalendarLinks$1 as CalendarLinks,\n      eventsV1OrderOrders_universal_d_UpdateOrderRequest as UpdateOrderRequest,\n      eventsV1OrderOrders_universal_d_UpdateOrderResponse as UpdateOrderResponse,\n      OrderUpdated$1 as OrderUpdated,\n      eventsV1OrderOrders_universal_d_BulkUpdateOrdersRequest as BulkUpdateOrdersRequest,\n      eventsV1OrderOrders_universal_d_BulkUpdateOrdersResponse as BulkUpdateOrdersResponse,\n      eventsV1OrderOrders_universal_d_ConfirmOrderRequest as ConfirmOrderRequest,\n      eventsV1OrderOrders_universal_d_ConfirmOrderResponse as ConfirmOrderResponse,\n      eventsV1OrderOrders_universal_d_GetSummaryRequest as GetSummaryRequest,\n      eventsV1OrderOrders_universal_d_GetSummaryResponse as GetSummaryResponse,\n      eventsV1OrderOrders_universal_d_TicketSales as TicketSales,\n      eventsV1OrderOrders_universal_d_GetInvoicePreviewRequest as GetInvoicePreviewRequest,\n      eventsV1OrderOrders_universal_d_RawHttpResponse as RawHttpResponse,\n      eventsV1OrderOrders_universal_d_HeadersEntry as HeadersEntry,\n      eventsV1OrderOrders_universal_d_GetPaymentInfoRequest as GetPaymentInfoRequest,\n      eventsV1OrderOrders_universal_d_GetPaymentInfoResponse as GetPaymentInfoResponse,\n      eventsV1OrderOrders_universal_d_PaymentTransactionSummary as PaymentTransactionSummary,\n      eventsV1OrderOrders_universal_d_PaymentTransactionEvent as PaymentTransactionEvent,\n      eventsV1OrderOrders_universal_d_OrderConfirmed as OrderConfirmed,\n      eventsV1OrderOrders_universal_d_OrderPaid as OrderPaid,\n      eventsV1OrderOrders_universal_d_ReservationCreated as ReservationCreated,\n      eventsV1OrderOrders_universal_d_ReservationStatus as ReservationStatus,\n      eventsV1OrderOrders_universal_d_TicketQuantity as TicketQuantity,\n      eventsV1OrderOrders_universal_d_ReservationCount as ReservationCount,\n      eventsV1OrderOrders_universal_d_ReservationUpdated as ReservationUpdated,\n      eventsV1OrderOrders_universal_d_GetCheckoutOptionsRequest as GetCheckoutOptionsRequest,\n      eventsV1OrderOrders_universal_d_GetCheckoutOptionsResponse as GetCheckoutOptionsResponse,\n      eventsV1OrderOrders_universal_d_ListAvailableTicketsRequest as ListAvailableTicketsRequest,\n      State$1 as State,\n      eventsV1OrderOrders_universal_d_ListAvailableTicketsResponse as ListAvailableTicketsResponse,\n      eventsV1OrderOrders_universal_d_ResponseMetaData as ResponseMetaData,\n      eventsV1OrderOrders_universal_d_TicketDefinition as TicketDefinition,\n      eventsV1OrderOrders_universal_d_Dashboard as Dashboard,\n      eventsV1OrderOrders_universal_d_WixFeeConfig as WixFeeConfig,\n      eventsV1OrderOrders_universal_d_TicketSalePeriod as TicketSalePeriod,\n      eventsV1OrderOrders_universal_d_TicketSaleStatus as TicketSaleStatus,\n      eventsV1OrderOrders_universal_d_TicketPricing as TicketPricing,\n      eventsV1OrderOrders_universal_d_TicketPricingPriceOneOf as TicketPricingPriceOneOf,\n      eventsV1OrderOrders_universal_d_PricingOptions as PricingOptions,\n      eventsV1OrderOrders_universal_d_PricingOption as PricingOption,\n      eventsV1OrderOrders_universal_d_Type as Type,\n      eventsV1OrderOrders_universal_d_QueryAvailableTicketsRequest as QueryAvailableTicketsRequest,\n      eventsV1OrderOrders_universal_d_TicketDefinitionFieldset as TicketDefinitionFieldset,\n      eventsV1OrderOrders_universal_d_QueryAvailableTicketsResponse as QueryAvailableTicketsResponse,\n      eventsV1OrderOrders_universal_d_CreateReservationRequest as CreateReservationRequest,\n      eventsV1OrderOrders_universal_d_TicketReservationQuantity as TicketReservationQuantity,\n      eventsV1OrderOrders_universal_d_CreateReservationResponse as CreateReservationResponse,\n      eventsV1OrderOrders_universal_d_TicketReservation as TicketReservation,\n      eventsV1OrderOrders_universal_d_CancelReservationRequest as CancelReservationRequest,\n      eventsV1OrderOrders_universal_d_CancelReservationResponse as CancelReservationResponse,\n      eventsV1OrderOrders_universal_d_GetInvoiceRequest as GetInvoiceRequest,\n      eventsV1OrderOrders_universal_d_DiscountRequest as DiscountRequest,\n      eventsV1OrderOrders_universal_d_PaidPlanBenefit as PaidPlanBenefit,\n      eventsV1OrderOrders_universal_d_GetInvoiceResponse as GetInvoiceResponse,\n      eventsV1OrderOrders_universal_d_DiscountErrors as DiscountErrors,\n      eventsV1OrderOrders_universal_d_Error as Error,\n      eventsV1OrderOrders_universal_d_CheckoutRequest as CheckoutRequest,\n      eventsV1OrderOrders_universal_d_Buyer as Buyer,\n      Guest$1 as Guest,\n      eventsV1OrderOrders_universal_d_CheckoutOptions as CheckoutOptions,\n      eventsV1OrderOrders_universal_d_CheckoutResponse as CheckoutResponse,\n      eventsV1OrderOrders_universal_d_OrderInitiated as OrderInitiated,\n      eventsV1OrderOrders_universal_d_UpdateCheckoutRequest as UpdateCheckoutRequest,\n      eventsV1OrderOrders_universal_d_UpdateCheckoutResponse as UpdateCheckoutResponse,\n      eventsV1OrderOrders_universal_d_PosCheckoutRequest as PosCheckoutRequest,\n      eventsV1OrderOrders_universal_d_PosCheckoutResponse as PosCheckoutResponse,\n      eventsV1OrderOrders_universal_d_listOrders as listOrders,\n      eventsV1OrderOrders_universal_d_ListOrdersOptions as ListOrdersOptions,\n      eventsV1OrderOrders_universal_d_getOrder as getOrder,\n      eventsV1OrderOrders_universal_d_GetOrderIdentifiers as GetOrderIdentifiers,\n      eventsV1OrderOrders_universal_d_GetOrderOptions as GetOrderOptions,\n      eventsV1OrderOrders_universal_d_updateOrder as updateOrder,\n      eventsV1OrderOrders_universal_d_UpdateOrderIdentifiers as UpdateOrderIdentifiers,\n      eventsV1OrderOrders_universal_d_UpdateOrderOptions as UpdateOrderOptions,\n      eventsV1OrderOrders_universal_d_bulkUpdateOrders as bulkUpdateOrders,\n      eventsV1OrderOrders_universal_d_BulkUpdateOrdersOptions as BulkUpdateOrdersOptions,\n      eventsV1OrderOrders_universal_d_confirmOrder as confirmOrder,\n      eventsV1OrderOrders_universal_d_ConfirmOrderOptions as ConfirmOrderOptions,\n      eventsV1OrderOrders_universal_d_getSummary as getSummary,\n      eventsV1OrderOrders_universal_d_GetSummaryOptions as GetSummaryOptions,\n      eventsV1OrderOrders_universal_d_getInvoicePreview as getInvoicePreview,\n      eventsV1OrderOrders_universal_d_GetInvoicePreviewIdentifiers as GetInvoicePreviewIdentifiers,\n    };\n  }\n  \n  const __debug$1: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface Rsvp {\n      /** RSVP ID. */\n      _id?: string;\n      /** Event ID. */\n      eventId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string;\n      /** RSVP created timestamp. */\n      created?: Date;\n      /** RSVP modified timestamp. */\n      modified?: Date;\n      /** First name. */\n      firstName?: string;\n      /** Last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$1;\n      /** RSVP response status. */\n      status?: RsvpStatus;\n      /** Total number of attendees. */\n      totalGuests?: number;\n      /** List of guests. */\n      guests?: Guest[];\n      /** Whether RSVP is anonymized by GDPR delete. */\n      anonymized?: boolean;\n      /**\n       * Language in which Rsvp was created.\n       * @internal\n       * @readonly\n       */\n      language?: string | null;\n      /**\n       * Locale in which Rsvp was created.\n       * @internal\n       * @readonly\n       */\n      locale?: string | null;\n  }\n  interface FormResponse$1 {\n      inputValues?: InputValue$1[];\n  }\n  interface InputValue$1 {\n      inputName?: string;\n      value?: string;\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress$1;\n  }\n  interface FormattedAddress$1 {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: Address$1;\n  }\n  /** Physical address */\n  interface Address$1 extends AddressStreetOneOf$1 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation$1;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf$1 {\n      /** Street name and number. */\n      streetAddress?: StreetAddress$1;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress$1 {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation$1 {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision$1 {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType$1;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType$1 {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  enum RsvpStatus {\n      YES = \"YES\",\n      NO = \"NO\",\n      WAITING = \"WAITING\"\n  }\n  interface Guest {\n      /** Index in the RSVP guest list. */\n      index?: number;\n      /** Guest full name. */\n      fullName?: string;\n      /** Guest check-in. */\n      checkIn?: CheckIn$1;\n      /** Unique guest ID per RSVP. */\n      _id?: number;\n  }\n  interface CheckIn$1 {\n      /** Time of check-in */\n      created?: Date;\n  }\n  interface ListRsvpRequest {\n      /** Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Number of items to load. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /** Controls which data is returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_rsvp-fieldset). */\n      fieldset?: RsvpFieldset[];\n      /** Event ID. */\n      eventId?: string[];\n      /** RSVP ID. */\n      rsvpId?: string[];\n      /** RSVP status. */\n      status?: RsvpStatus[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       */\n      membersOnly?: boolean;\n      /**\n       * Facet counts to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      facet?: string[];\n      /** Textual search filter - search is performed on \"full_name\" and \"email\". */\n      searchPhrase?: string;\n      /** Event creator id filter, by default any. */\n      eventCreatorId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      sort?: string;\n      /** Contact ID. */\n      contactId?: string[];\n      /** RSVP tag */\n      tag?: RsvpTag[];\n  }\n  enum RsvpFieldset {\n      /** Include RSVP details: created, modified, first_name, last_name, etc. */\n      DETAILS = \"DETAILS\",\n      /** Include rsvp_form. */\n      FORM = \"FORM\",\n      /** Include RSVP email. */\n      CONTACT_DETAILS = \"CONTACT_DETAILS\"\n  }\n  enum RsvpTag {\n      /** Return only rsvps with all guests checked-in */\n      FULLY_CHECKED_IN = \"FULLY_CHECKED_IN\",\n      /** Return only rsvps with not all guests checked-in */\n      NOT_FULLY_CHECKED_IN = \"NOT_FULLY_CHECKED_IN\",\n      /** Return only member rsvp */\n      MEMBER = \"MEMBER\"\n  }\n  interface ListRsvpResponse {\n      /** Total RSVPs matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** RSVP list. */\n      rsvps?: Rsvp[];\n      /** Facet query result. */\n      facets?: Record<string, FacetCounts$1>;\n      /** Rsvp data enriched facets. */\n      rsvpFacets?: RsvpFacets;\n  }\n  interface FacetCounts$1 {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface RsvpFacets {\n      /** Filter facets. */\n      facets?: Record<string, RsvpFacetCounts>;\n  }\n  interface RsvpFacetCounts {\n      /** Facet totals, aggregated per filter. */\n      counts?: Record<string, Counts$1>;\n  }\n  interface Counts$1 {\n      /** Number of RSVPs. */\n      count?: number;\n      /** Number of guests within RSVPs. */\n      guests?: number;\n      /** Number of guests who have checked-in. */\n      guestsCheckIn?: number;\n  }\n  interface QueryRsvpRequest {\n      /** Offset. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Limit. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /** Control which data is returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_rsvp-fieldset). */\n      fieldset?: RsvpFieldset[];\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps). */\n      filter?: Record<string, any> | null;\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       */\n      membersOnly?: boolean;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      facet?: string[];\n      /** Textual search filter - search is performed on \"guests.full_name\". */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      sort?: string;\n      /** Contact ID. */\n      contactId?: string[];\n      /** RSVP tag */\n      tag?: RsvpTag[];\n  }\n  interface QueryRsvpResponse {\n      /** Total RSVPs matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** RSVP list. */\n      rsvps?: Rsvp[];\n      /** Facet query result. */\n      facets?: Record<string, FacetCounts$1>;\n      /** Rsvp data enriched facets. */\n      rsvpFacets?: RsvpFacets;\n  }\n  interface GetRsvpRequest {\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId: string;\n      /** Controls which data is returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_rsvp-fieldset). */\n      fieldset?: RsvpFieldset[];\n  }\n  interface GetRsvpResponse {\n      /** RSVP. */\n      rsvp?: Rsvp;\n  }\n  interface CreateRsvpRequest {\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP form response. */\n      form?: FormResponse$1;\n      /** RSVP status. */\n      status?: RsvpStatus;\n      /** Member ID of the RSVP. */\n      memberId?: string | null;\n      /**\n       * Create RSVP options.\n       * WIX_EVENTS.MANAGE_RSVP permission is required.\n       */\n      options?: ModificationOptions;\n  }\n  interface ModificationOptions {\n      /** Whether to ignore notification settings (when hen true, no notifications to contact or user are sent). */\n      silent?: boolean;\n      /** Whether to create/update regardless of event guest limit. */\n      ignoreLimits?: boolean;\n      /** Whether to ignore the form validation. */\n      ignoreFormValidation?: boolean;\n  }\n  interface CreateRsvpResponse {\n      /** Created RSVP. */\n      rsvp?: Rsvp;\n      /** \"Add to calendar\" links. */\n      calendarLinks?: CalendarLinks;\n  }\n  interface CalendarLinks {\n      /** \"Add to Google calendar\" URL. */\n      google?: string;\n      /** \"Download ICS calendar file\" URL. */\n      ics?: string;\n  }\n  interface RsvpCreated {\n      /** RSVP created timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when RSVP created */\n      language?: string | null;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n      /**\n       * Locale in which Rsvp was created.\n       * @internal\n       */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$1;\n      /** RSVP response status. */\n      status?: RsvpStatus;\n      /** List of all guests. */\n      guests?: Guest[];\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$1;\n  }\n  interface OnlineConferencingLogin$1 {\n      /**\n       * Link URL to the online conference.\n       * @readonly\n       */\n      link?: string;\n      /**\n       * Password for the online conference.\n       * @readonly\n       */\n      password?: string | null;\n  }\n  interface UpdateRsvpRequest {\n      /** Event ID. */\n      eventId: string;\n      /** RSVP ID. */\n      rsvpId: string;\n      /**\n       * Set of field paths, specifying which parts of RSVP to update.\n       * @internal\n       */\n      fields: string[];\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$1;\n      /** RSVP response status. */\n      status?: RsvpStatus;\n      /**\n       * Update RSVP options.\n       * WIX_EVENTS.MANAGE_RSVP permission is required.\n       */\n      options?: ModificationOptions;\n  }\n  interface UpdateRsvpResponse {\n      /** Updated RSVP. */\n      rsvp?: Rsvp;\n  }\n  interface RsvpUpdated {\n      /** RSVP updated timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when RSVP created */\n      language?: string | null;\n      /** Locale in which Rsvp was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** RSVP created timestamp. */\n      created?: Date;\n      /** Guest first name. */\n      firstName?: string;\n      /** Guest last name. */\n      lastName?: string;\n      /** Guest email. */\n      email?: string;\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$1;\n      /** RSVP response status. */\n      status?: RsvpStatus;\n      /** List of the guests. */\n      guests?: Guest[];\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin$1;\n      /** Notifications silenced for this domain event. */\n      silent?: boolean | null;\n  }\n  interface BulkUpdateRsvpRequest {\n      /** Event ID. */\n      eventId: string;\n      /** RSVPs to update. */\n      rsvpId?: string[];\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fields?: string[];\n      /** New RSVP status. */\n      status?: RsvpStatus;\n  }\n  interface BulkUpdateRsvpResponse {\n      /** Updated RSVPs. */\n      rsvps?: Rsvp[];\n  }\n  interface DeleteRsvpRequest {\n      /** Event ID. */\n      eventId: string;\n      /** RSVPs to delete. When not returned, all RSVPs associated with this event are deleted. */\n      rsvps?: string[];\n  }\n  interface DeleteRsvpResponse {\n  }\n  interface RsvpDeleted {\n      /** RSVP deleted timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP ID. */\n      rsvpId?: string;\n      /** Contact ID associated with this RSVP. */\n      contactId?: string;\n      /** Member ID associated with this RSVP. */\n      memberId?: string | null;\n      /** Whether RSVP was anonymized by GDPR delete. */\n      anonymized?: boolean;\n  }\n  interface CheckInRsvpRequest {\n      /** Event ID. */\n      eventId: string;\n      /** RSVP ID to check-in. */\n      rsvpId: string;\n      /** Guest IDs to check-in. */\n      guestId?: number[];\n  }\n  interface CheckInRsvpResponse {\n      /** Updated RSVP. */\n      rsvp?: Rsvp;\n  }\n  interface DeleteRsvpCheckInRequest {\n      /** Event ID. */\n      eventId: string;\n      /** RSVP ID to delete check-in. */\n      rsvpId: string;\n      /** Guest IDs to delete check-in. */\n      guestId?: number[];\n  }\n  interface DeleteRsvpCheckInResponse {\n      /** Updated RSVP. */\n      rsvp?: Rsvp;\n  }\n  /**\n   * Retrieves a list of up to 100 RSVPs, given the provided [paging](https://dev.wix.com/api/rest/getting-started/pagination), [filtering & sorting](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listRsvp(options?: ListRsvpOptions): Promise<ListRsvpResponse>;\n  interface ListRsvpOptions {\n      /** Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Number of items to load. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /** Controls which data is returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_rsvp-fieldset). */\n      fieldset?: RsvpFieldset[];\n      /** Event ID. */\n      eventId?: string[];\n      /** RSVP ID. */\n      rsvpId?: string[];\n      /** RSVP status. */\n      status?: RsvpStatus[];\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       */\n      membersOnly?: boolean;\n      /**\n       * Facet counts to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      facet?: string[];\n      /** Textual search filter - search is performed on \"full_name\" and \"email\". */\n      searchPhrase?: string;\n      /** Event creator id filter, by default any. */\n      eventCreatorId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      sort?: string;\n      /** Contact ID. */\n      contactId?: string[];\n      /** RSVP tag */\n      tag?: RsvpTag[];\n  }\n  /**\n   * Retrieves a list of up to 100 RSVPs, supporting [structurized queries](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryRsvp(options?: QueryRsvpOptions): Promise<QueryRsvpResponse>;\n  interface QueryRsvpOptions {\n      /** Offset. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      offset?: number;\n      /** Limit. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /** Control which data is returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_rsvp-fieldset). */\n      fieldset?: RsvpFieldset[];\n      /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps). */\n      filter?: Record<string, any> | null;\n      /** Site member ID. */\n      memberId?: string[];\n      /**\n       * Deprecated: use tag = MEMBER\n       * @internal\n       */\n      membersOnly?: boolean;\n      /**\n       * Filter facets to include in the response.\n       * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      facet?: string[];\n      /** Textual search filter - search is performed on \"guests.full_name\". */\n      searchPhrase?: string;\n      /** Event creator ID. */\n      eventCreatorId?: string[];\n      /**\n       * Sort order, defaults to `\"created:asc\"`.\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-rsvps).\n       */\n      sort?: string;\n      /** Contact ID. */\n      contactId?: string[];\n      /** RSVP tag */\n      tag?: RsvpTag[];\n  }\n  /**\n   * Retrieves an RSVP.\n   * @param rsvpId - RSVP ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rsvpId\n   * @adminMethod\n   * @returns RSVP.\n   */\n  function getRsvp(rsvpId: string, options?: GetRsvpOptions): Promise<Rsvp>;\n  interface GetRsvpOptions {\n      /** Event ID. */\n      eventId?: string;\n      /** Controls which data is returned. See [Fieldset](https://dev.wix.com/api/rest/wix-events/wix-events/fieldset#wix-events_wix-events_fieldset_rsvp-fieldset). */\n      fieldset?: RsvpFieldset[];\n  }\n  /**\n   * Creates an RSVP, associated with a contact of the site.\n   * @public\n   * @documentationMaturity preview\n   */\n  function createRsvp(options?: CreateRsvpOptions): Promise<CreateRsvpResponse>;\n  interface CreateRsvpOptions {\n      /** Event ID. */\n      eventId?: string;\n      /** RSVP form response. */\n      form?: FormResponse$1;\n      /** RSVP status. */\n      status?: RsvpStatus;\n      /** Member ID of the RSVP. */\n      memberId?: string | null;\n      /**\n       * Create RSVP options.\n       * WIX_EVENTS.MANAGE_RSVP permission is required.\n       */\n      options?: ModificationOptions;\n  }\n  /**\n   * Updates an RSVP. See [partial updates](https://dev.wix.com/api/wix-events/partial-updates).\n   * @param rsvpId - RSVP ID.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField rsvpId\n   * @adminMethod\n   */\n  function updateRsvp(rsvpId: string, eventId: string, options?: UpdateRsvpOptions): Promise<UpdateRsvpResponse>;\n  interface UpdateRsvpOptions {\n      /**\n       * Set of field paths, specifying which parts of RSVP to update.\n       * @internal\n       */\n      fields: string[];\n      /** RSVP form response. */\n      rsvpForm?: FormResponse$1;\n      /** RSVP response status. */\n      status?: RsvpStatus;\n      /**\n       * Update RSVP options.\n       * WIX_EVENTS.MANAGE_RSVP permission is required.\n       */\n      options?: ModificationOptions;\n  }\n  /**\n   * Updates multiple RSVPs - status only.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function bulkUpdateRsvp(eventId: string, options?: BulkUpdateRsvpOptions): Promise<BulkUpdateRsvpResponse>;\n  interface BulkUpdateRsvpOptions {\n      /** RSVPs to update. */\n      rsvpId?: string[];\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fields?: string[];\n      /** New RSVP status. */\n      status?: RsvpStatus;\n  }\n  /**\n   * Deletes an RSVP.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function deleteRsvp(eventId: string, options?: DeleteRsvpOptions): Promise<void>;\n  interface DeleteRsvpOptions {\n      /** RSVPs to delete. When not returned, all RSVPs associated with this event are deleted. */\n      rsvps?: string[];\n  }\n  /**\n   * Checks-in an RSVP.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField options.rsvpId\n   * @adminMethod\n   */\n  function checkInRsvp(eventId: string, options?: CheckInRsvpOptions): Promise<CheckInRsvpResponse>;\n  interface CheckInRsvpOptions {\n      /** RSVP ID to check-in. */\n      rsvpId: string;\n      /** Guest IDs to check-in. */\n      guestId?: number[];\n  }\n  /**\n   * Deletes an RSVP check-in.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @requiredField options.rsvpId\n   * @adminMethod\n   */\n  function deleteRsvpCheckIn(eventId: string, options?: DeleteRsvpCheckInOptions): Promise<DeleteRsvpCheckInResponse>;\n  interface DeleteRsvpCheckInOptions {\n      /** RSVP ID to delete check-in. */\n      rsvpId: string;\n      /** Guest IDs to delete check-in. */\n      guestId?: number[];\n  }\n  \n  type eventsV1Rsvp_universal_d_Rsvp = Rsvp;\n  type eventsV1Rsvp_universal_d_RsvpStatus = RsvpStatus;\n  const eventsV1Rsvp_universal_d_RsvpStatus: typeof RsvpStatus;\n  type eventsV1Rsvp_universal_d_Guest = Guest;\n  type eventsV1Rsvp_universal_d_ListRsvpRequest = ListRsvpRequest;\n  type eventsV1Rsvp_universal_d_RsvpFieldset = RsvpFieldset;\n  const eventsV1Rsvp_universal_d_RsvpFieldset: typeof RsvpFieldset;\n  type eventsV1Rsvp_universal_d_RsvpTag = RsvpTag;\n  const eventsV1Rsvp_universal_d_RsvpTag: typeof RsvpTag;\n  type eventsV1Rsvp_universal_d_ListRsvpResponse = ListRsvpResponse;\n  type eventsV1Rsvp_universal_d_RsvpFacets = RsvpFacets;\n  type eventsV1Rsvp_universal_d_RsvpFacetCounts = RsvpFacetCounts;\n  type eventsV1Rsvp_universal_d_QueryRsvpRequest = QueryRsvpRequest;\n  type eventsV1Rsvp_universal_d_QueryRsvpResponse = QueryRsvpResponse;\n  type eventsV1Rsvp_universal_d_GetRsvpRequest = GetRsvpRequest;\n  type eventsV1Rsvp_universal_d_GetRsvpResponse = GetRsvpResponse;\n  type eventsV1Rsvp_universal_d_CreateRsvpRequest = CreateRsvpRequest;\n  type eventsV1Rsvp_universal_d_ModificationOptions = ModificationOptions;\n  type eventsV1Rsvp_universal_d_CreateRsvpResponse = CreateRsvpResponse;\n  type eventsV1Rsvp_universal_d_CalendarLinks = CalendarLinks;\n  type eventsV1Rsvp_universal_d_RsvpCreated = RsvpCreated;\n  type eventsV1Rsvp_universal_d_UpdateRsvpRequest = UpdateRsvpRequest;\n  type eventsV1Rsvp_universal_d_UpdateRsvpResponse = UpdateRsvpResponse;\n  type eventsV1Rsvp_universal_d_RsvpUpdated = RsvpUpdated;\n  type eventsV1Rsvp_universal_d_BulkUpdateRsvpRequest = BulkUpdateRsvpRequest;\n  type eventsV1Rsvp_universal_d_BulkUpdateRsvpResponse = BulkUpdateRsvpResponse;\n  type eventsV1Rsvp_universal_d_DeleteRsvpRequest = DeleteRsvpRequest;\n  type eventsV1Rsvp_universal_d_DeleteRsvpResponse = DeleteRsvpResponse;\n  type eventsV1Rsvp_universal_d_RsvpDeleted = RsvpDeleted;\n  type eventsV1Rsvp_universal_d_CheckInRsvpRequest = CheckInRsvpRequest;\n  type eventsV1Rsvp_universal_d_CheckInRsvpResponse = CheckInRsvpResponse;\n  type eventsV1Rsvp_universal_d_DeleteRsvpCheckInRequest = DeleteRsvpCheckInRequest;\n  type eventsV1Rsvp_universal_d_DeleteRsvpCheckInResponse = DeleteRsvpCheckInResponse;\n  const eventsV1Rsvp_universal_d_listRsvp: typeof listRsvp;\n  type eventsV1Rsvp_universal_d_ListRsvpOptions = ListRsvpOptions;\n  const eventsV1Rsvp_universal_d_queryRsvp: typeof queryRsvp;\n  type eventsV1Rsvp_universal_d_QueryRsvpOptions = QueryRsvpOptions;\n  const eventsV1Rsvp_universal_d_getRsvp: typeof getRsvp;\n  type eventsV1Rsvp_universal_d_GetRsvpOptions = GetRsvpOptions;\n  const eventsV1Rsvp_universal_d_createRsvp: typeof createRsvp;\n  type eventsV1Rsvp_universal_d_CreateRsvpOptions = CreateRsvpOptions;\n  const eventsV1Rsvp_universal_d_updateRsvp: typeof updateRsvp;\n  type eventsV1Rsvp_universal_d_UpdateRsvpOptions = UpdateRsvpOptions;\n  const eventsV1Rsvp_universal_d_bulkUpdateRsvp: typeof bulkUpdateRsvp;\n  type eventsV1Rsvp_universal_d_BulkUpdateRsvpOptions = BulkUpdateRsvpOptions;\n  const eventsV1Rsvp_universal_d_deleteRsvp: typeof deleteRsvp;\n  type eventsV1Rsvp_universal_d_DeleteRsvpOptions = DeleteRsvpOptions;\n  const eventsV1Rsvp_universal_d_checkInRsvp: typeof checkInRsvp;\n  type eventsV1Rsvp_universal_d_CheckInRsvpOptions = CheckInRsvpOptions;\n  const eventsV1Rsvp_universal_d_deleteRsvpCheckIn: typeof deleteRsvpCheckIn;\n  type eventsV1Rsvp_universal_d_DeleteRsvpCheckInOptions = DeleteRsvpCheckInOptions;\n  namespace eventsV1Rsvp_universal_d {\n    export {\n      __debug$1 as __debug,\n      eventsV1Rsvp_universal_d_Rsvp as Rsvp,\n      FormResponse$1 as FormResponse,\n      InputValue$1 as InputValue,\n      FormattedAddress$1 as FormattedAddress,\n      Address$1 as Address,\n      AddressStreetOneOf$1 as AddressStreetOneOf,\n      StreetAddress$1 as StreetAddress,\n      AddressLocation$1 as AddressLocation,\n      Subdivision$1 as Subdivision,\n      SubdivisionType$1 as SubdivisionType,\n      eventsV1Rsvp_universal_d_RsvpStatus as RsvpStatus,\n      eventsV1Rsvp_universal_d_Guest as Guest,\n      CheckIn$1 as CheckIn,\n      eventsV1Rsvp_universal_d_ListRsvpRequest as ListRsvpRequest,\n      eventsV1Rsvp_universal_d_RsvpFieldset as RsvpFieldset,\n      eventsV1Rsvp_universal_d_RsvpTag as RsvpTag,\n      eventsV1Rsvp_universal_d_ListRsvpResponse as ListRsvpResponse,\n      FacetCounts$1 as FacetCounts,\n      eventsV1Rsvp_universal_d_RsvpFacets as RsvpFacets,\n      eventsV1Rsvp_universal_d_RsvpFacetCounts as RsvpFacetCounts,\n      Counts$1 as Counts,\n      eventsV1Rsvp_universal_d_QueryRsvpRequest as QueryRsvpRequest,\n      eventsV1Rsvp_universal_d_QueryRsvpResponse as QueryRsvpResponse,\n      eventsV1Rsvp_universal_d_GetRsvpRequest as GetRsvpRequest,\n      eventsV1Rsvp_universal_d_GetRsvpResponse as GetRsvpResponse,\n      eventsV1Rsvp_universal_d_CreateRsvpRequest as CreateRsvpRequest,\n      eventsV1Rsvp_universal_d_ModificationOptions as ModificationOptions,\n      eventsV1Rsvp_universal_d_CreateRsvpResponse as CreateRsvpResponse,\n      eventsV1Rsvp_universal_d_CalendarLinks as CalendarLinks,\n      eventsV1Rsvp_universal_d_RsvpCreated as RsvpCreated,\n      OnlineConferencingLogin$1 as OnlineConferencingLogin,\n      eventsV1Rsvp_universal_d_UpdateRsvpRequest as UpdateRsvpRequest,\n      eventsV1Rsvp_universal_d_UpdateRsvpResponse as UpdateRsvpResponse,\n      eventsV1Rsvp_universal_d_RsvpUpdated as RsvpUpdated,\n      eventsV1Rsvp_universal_d_BulkUpdateRsvpRequest as BulkUpdateRsvpRequest,\n      eventsV1Rsvp_universal_d_BulkUpdateRsvpResponse as BulkUpdateRsvpResponse,\n      eventsV1Rsvp_universal_d_DeleteRsvpRequest as DeleteRsvpRequest,\n      eventsV1Rsvp_universal_d_DeleteRsvpResponse as DeleteRsvpResponse,\n      eventsV1Rsvp_universal_d_RsvpDeleted as RsvpDeleted,\n      eventsV1Rsvp_universal_d_CheckInRsvpRequest as CheckInRsvpRequest,\n      eventsV1Rsvp_universal_d_CheckInRsvpResponse as CheckInRsvpResponse,\n      eventsV1Rsvp_universal_d_DeleteRsvpCheckInRequest as DeleteRsvpCheckInRequest,\n      eventsV1Rsvp_universal_d_DeleteRsvpCheckInResponse as DeleteRsvpCheckInResponse,\n      eventsV1Rsvp_universal_d_listRsvp as listRsvp,\n      eventsV1Rsvp_universal_d_ListRsvpOptions as ListRsvpOptions,\n      eventsV1Rsvp_universal_d_queryRsvp as queryRsvp,\n      eventsV1Rsvp_universal_d_QueryRsvpOptions as QueryRsvpOptions,\n      eventsV1Rsvp_universal_d_getRsvp as getRsvp,\n      eventsV1Rsvp_universal_d_GetRsvpOptions as GetRsvpOptions,\n      eventsV1Rsvp_universal_d_createRsvp as createRsvp,\n      eventsV1Rsvp_universal_d_CreateRsvpOptions as CreateRsvpOptions,\n      eventsV1Rsvp_universal_d_updateRsvp as updateRsvp,\n      eventsV1Rsvp_universal_d_UpdateRsvpOptions as UpdateRsvpOptions,\n      eventsV1Rsvp_universal_d_bulkUpdateRsvp as bulkUpdateRsvp,\n      eventsV1Rsvp_universal_d_BulkUpdateRsvpOptions as BulkUpdateRsvpOptions,\n      eventsV1Rsvp_universal_d_deleteRsvp as deleteRsvp,\n      eventsV1Rsvp_universal_d_DeleteRsvpOptions as DeleteRsvpOptions,\n      eventsV1Rsvp_universal_d_checkInRsvp as checkInRsvp,\n      eventsV1Rsvp_universal_d_CheckInRsvpOptions as CheckInRsvpOptions,\n      eventsV1Rsvp_universal_d_deleteRsvpCheckIn as deleteRsvpCheckIn,\n      eventsV1Rsvp_universal_d_DeleteRsvpCheckInOptions as DeleteRsvpCheckInOptions,\n    };\n  }\n  \n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  interface TicketingTicket {\n      /** Unique ticket number (issued automatically). */\n      ticketNumber?: string;\n      /** Associated order number. */\n      orderNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket name. */\n      name?: string;\n      /** Ticket price. */\n      price?: Money;\n      /**\n       * Whether ticket requires payment.\n       * @readonly\n       */\n      free?: boolean;\n      /** Ticket policy (as displayed in PDF). */\n      policy?: string;\n      /**\n       * @internal\n       * @internal */\n      qrCode?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn;\n      /**\n       * Associated order status.\n       * Supported values: `NA_ORDER_STATUS`, `FREE, PENDING`, `PAID`, `OFFLINE_PENDING`, `INITIATED`\n       */\n      orderStatus?: OrderStatus;\n      /** Whether order and ticket are visible in order list. */\n      orderArchived?: boolean;\n      /** Buyer full name. */\n      orderFullName?: string;\n      /** Guest full name. */\n      guestFullName?: string | null;\n      /** Guest personal details. */\n      guestDetails?: GuestDetails;\n      /** Whether ticket is visible in guest list. */\n      archived?: boolean;\n      /**\n       * @internal\n       * @internal */\n      ticketPdf?: string;\n      /** Ticket owner member ID. */\n      memberId?: string | null;\n      /**\n       * Whether ticket was anonymized by GDPR delete.\n       * Anonymized tickets no longer contain personally identifiable information (PII).\n       */\n      anonymized?: boolean;\n      /**\n       * Ticket check-in URL.\n       * Shown as QR code image in PDF.\n       *\n       * Format: `https://www.wixevents.com/check-in/{ticket number},{event id}`\n       *\n       * Example: `https://www.wixevents.com/check-in/AAAA-AAAA-BB021,00000000-0000-0000-0000-000000000000`\n       */\n      checkInUrl?: string;\n      /** URL for ticket PDF download. */\n      ticketPdfUrl?: string;\n      /** Associated order checkout channel type. */\n      channel?: ChannelType;\n      /**\n       * URL to download ticket in .pkpass format for Apple Wallet.\n       * @readonly\n       */\n      walletPassUrl?: string;\n      /**\n       * Additional ticket details.\n       * @internal\n       * @readonly\n       */\n      ticketDetails?: TicketDetails;\n  }\n  interface Money {\n      /** *Deprecated:** Use `value` instead. */\n      amount?: string;\n      /** ISO 4217 format of the currency i.e. `USD`. */\n      currency?: string;\n      /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */\n      value?: string | null;\n  }\n  interface CheckIn {\n      /** Time of check-in */\n      created?: Date;\n  }\n  enum OrderStatus {\n      /** Order status not available for this request fieldset */\n      NA_ORDER_STATUS = \"NA_ORDER_STATUS\",\n      /** Order is confirmed, no payment required */\n      FREE = \"FREE\",\n      /** Order was paid but payment gateway suspended the payment. Eventually changes to PAID */\n      PENDING = \"PENDING\",\n      /** Order paid via payment gateway */\n      PAID = \"PAID\",\n      /** Order confirmed but has to be paid via offline payment and status manually updated to PAID */\n      OFFLINE_PENDING = \"OFFLINE_PENDING\",\n      /** Order is awaiting for payment in Cashier */\n      INITIATED = \"INITIATED\",\n      /** Order was canceled */\n      CANCELED = \"CANCELED\",\n      /** Order payment was declined */\n      DECLINED = \"DECLINED\"\n  }\n  interface GuestDetails {\n      /** Whether ticket belongs to assigned guest. */\n      guestAssigned?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Full form response. */\n      form?: FormResponse;\n      /** Contact ID associated with this guest. */\n      contactId?: string | null;\n  }\n  interface FormResponse {\n      inputValues?: InputValue[];\n  }\n  interface InputValue {\n      inputName?: string;\n      value?: string;\n      values?: string[];\n      /**\n       * Int or floating point number value.\n       * @internal\n       */\n      number?: number | null;\n      /**\n       * Date/time value.\n       * @internal\n       */\n      dateTime?: Date;\n      /**\n       * Address type value.\n       * @internal\n       */\n      address?: FormattedAddress;\n  }\n  interface FormattedAddress {\n      /** One line address representation. */\n      formatted?: string;\n      /** Address components (optional). */\n      address?: Address;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  enum ChannelType {\n      /** Buyer created order via one of the online channels (website, mobile app, etc.) */\n      ONLINE = \"ONLINE\",\n      /** Order created and money collected by the sales person */\n      OFFLINE_POS = \"OFFLINE_POS\"\n  }\n  interface TicketDetails {\n      /** Unique seat id in the event venue. */\n      seatId?: string | null;\n      /**\n       * Optional sector name.\n       * @internal\n       * @readonly\n       */\n      sectorName?: string | null;\n      /**\n       * Area name.\n       * @internal\n       * @readonly\n       */\n      areaName?: string | null;\n      /**\n       * Table name.\n       * @internal\n       * @readonly\n       */\n      tableName?: string | null;\n      /**\n       * Row label.\n       * @internal\n       * @readonly\n       */\n      rowNumber?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @internal\n       * @readonly\n       */\n      seatNumber?: string | null;\n      /**\n       * Optional sector label.\n       * @readonly\n       */\n      sectionLabel?: string | null;\n      /**\n       * Area label.\n       * @readonly\n       */\n      areaLabel?: string | null;\n      /**\n       * Table label.\n       * @readonly\n       */\n      tableLabel?: string | null;\n      /**\n       * Row label.\n       * @readonly\n       */\n      rowLabel?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @readonly\n       */\n      seatLabel?: string | null;\n      /** Number of places in the spot. If not provided - defaults to 1. */\n      capacity?: number | null;\n      /** Custom pricing of ticket. */\n      priceOverride?: string | null;\n      /** Pricing option id. */\n      pricingOptionId?: string | null;\n      /**\n       * Pricing option name.\n       * @readonly\n       */\n      pricingOptionName?: string | null;\n  }\n  interface ListTicketsRequest {\n      /** Event IDs. */\n      eventId: string[];\n      /** Offset. See [Pagination](/wix-events-v2/pagination). */\n      offset?: number;\n      /** Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */\n      limit?: number;\n      /**\n       * Deprecated, use `sort` instead.\n       * Sort order. Defaults to \"ticket_number:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-tickets).\n       * @internal\n       */\n      order?: string;\n      /** Order numbers. */\n      orderNumber?: string[];\n      /** Ticket numbers. */\n      ticketNumber?: string[];\n      /** Textual search filter - search is performed on \"orderFullName\", \"guestFullName\", and \"ticketNumber\". */\n      searchPhrase?: string;\n      /** Order statuses. */\n      orderStatus?: OrderStatus[];\n      /**\n       * Deprecated, use `ORDER_ARCHIVED` / `ORDER_ACTIVE` state filter instead.\n       * @internal\n       */\n      orderArchived?: boolean | null;\n      /**\n       * Deprecated, use `CHECKED_IN` / `NON_CHECKED_IN` state filter instead.\n       * @internal\n       */\n      checkedIn?: boolean | null;\n      /** Set of fields to return in the response.  */\n      fieldset?: TicketFieldset[];\n      /** Ticket states. */\n      state?: State[];\n      /** Site member IDs. */\n      memberId?: string[];\n      /** Filter facets. */\n      facet?: string[];\n      /** Sort order. Defaults to \"ticket_number:asc\". */\n      sort?: string;\n      /** Guest contact IDs. */\n      contactId?: string[];\n      /** Ticket definition IDs. */\n      ticketDefinitionId?: string[];\n  }\n  enum TicketFieldset {\n      /** Include guest details in ticket response */\n      GUEST_DETAILS = \"GUEST_DETAILS\",\n      /** Include ticket details in ticket response */\n      TICKET_DETAILS = \"TICKET_DETAILS\",\n      /** Include individual guest form in ticket response */\n      GUEST_FORM = \"GUEST_FORM\"\n  }\n  enum State {\n      /** Returns only archived orders' tickets */\n      ORDER_ARCHIVED = \"ORDER_ARCHIVED\",\n      /** Returns only non-archived orders' tickets */\n      ORDER_ACTIVE = \"ORDER_ACTIVE\",\n      /** Returns only archived tickets */\n      TICKET_ARCHIVED = \"TICKET_ARCHIVED\",\n      /** Returns only non-archived tickets */\n      TICKET_ACTIVE = \"TICKET_ACTIVE\",\n      /** Returns only checked-in tickets */\n      CHECKED_IN = \"CHECKED_IN\",\n      /** Returns only non-checked-in tickets */\n      NON_CHECKED_IN = \"NON_CHECKED_IN\",\n      /** Returns only free tickets */\n      FREE = \"FREE\",\n      /** Returns only paid tickets */\n      PAID = \"PAID\",\n      /** Returns only member tickets */\n      MEMBER = \"MEMBER\"\n  }\n  interface ListTicketsResponse {\n      /** Total tickets matching the given filters. */\n      total?: number;\n      /** Offset. */\n      offset?: number;\n      /** Limit. */\n      limit?: number;\n      /** Tickets. */\n      tickets?: TicketingTicket[];\n      /** Facets. */\n      facets?: Record<string, FacetCounts>;\n      /**\n       * Ticket data enriched facets.\n       * @internal\n       */\n      ticketFacets?: TicketFacets;\n  }\n  interface FacetCounts {\n      /** Facet counts aggregated per value */\n      counts?: Record<string, number>;\n  }\n  interface TicketFacets {\n      /** Filter facets. */\n      facets?: Record<string, TicketFacetCounts>;\n  }\n  interface TicketFacetCounts {\n      /** Facet totals, aggregated per filter. */\n      counts?: Record<string, Counts>;\n  }\n  interface Counts {\n      /** Number of tickets. */\n      count?: number;\n      /** Number of checked in tickets. */\n      checkedIn?: number;\n  }\n  interface GetTicketRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Unique ticket number. */\n      ticketNumber: string;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKET_DETAILS`: Returns `ticketNumber`, `orderNumber`, `ticketDefinitionId`, `name`, `price`, `free`, `policy`, `qrCode`, `checkIn`, `orderStatus`, `orderArchived`, `archived`, `orderFullName`, `ticketPdf`, `checkInUrl` and `ticketPdfUrl`.\n       * - `GUEST_DETAILS`: Returns `guestDetails`.\n       * - `GUEST_FORM': Returns `guestDetails.form`.\n       *\n       * Default: If `fieldset` is omitted from the request, `memberId` and `anonymized`.\n       */\n      fieldset?: TicketFieldset[];\n  }\n  interface GetTicketResponse {\n      /** Ticket. */\n      ticket?: TicketingTicket;\n  }\n  interface CheckInTicketRequest {\n      /** Event ID. */\n      eventId: string;\n      /**\n       * Deprecated, use individual ticket numbers.\n       * @internal\n       */\n      orderNumber?: string;\n      /** Tickets to check-in. */\n      ticketNumber?: string[];\n  }\n  interface CheckInTicketResponse {\n      /** Updated tickets. */\n      tickets?: TicketingTicket[];\n  }\n  interface OrderUpdated {\n      /** Order updated timestamp in ISO UTC format. */\n      timestamp?: Date;\n      /** Site language when Order initiated */\n      language?: string | null;\n      /** Locale in which Order was created. */\n      locale?: string | null;\n      /** Event ID. */\n      eventId?: string;\n      /** Unique order number. */\n      orderNumber?: string;\n      /** Contact ID associated with this order. */\n      contactId?: string;\n      /** Member ID associated with this order. */\n      memberId?: string | null;\n      /**\n       * Order created timestamp.\n       * @readonly\n       */\n      created?: Date;\n      /**\n       * Order updated timestamp.\n       * @readonly\n       */\n      updated?: Date;\n      /** Buyer first name. */\n      firstName?: string;\n      /** Buyer last name. */\n      lastName?: string;\n      /** Buyer email. */\n      email?: string;\n      /** Checkout form response. */\n      checkoutForm?: FormResponse;\n      /** Whether order is confirmed - occurs once payment gateway processes the payment and funds reach merchant's account. */\n      confirmed?: boolean;\n      /** Order status. */\n      status?: OrderStatus;\n      /** Payment method used for paid tickets purchase, i.e. \"payPal\", \"creditCard\", etc. */\n      method?: string | null;\n      /** Tickets generated after payment. */\n      tickets?: Ticket[];\n      /** Whether order was archived and excluded from results. */\n      archived?: boolean;\n      /** Whether event was triggered by GDPR delete request. */\n      triggeredByAnonymizeRequest?: boolean;\n  }\n  interface Ticket {\n      /** Unique issued ticket number. */\n      ticketNumber?: string;\n      /** Ticket definition ID. */\n      ticketDefinitionId?: string;\n      /** Ticket check-in. */\n      checkIn?: CheckIn;\n      /** Ticket price. */\n      price?: Money;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Guest first name. */\n      firstName?: string | null;\n      /** Guest last name. */\n      lastName?: string | null;\n      /** Guest email. */\n      email?: string | null;\n      /** Contact ID associated with this ticket. */\n      contactId?: string | null;\n      /** Whether ticket is confirmed */\n      confirmed?: boolean;\n      /** Member ID associated with this ticket. */\n      memberId?: string | null;\n      /** Ticket form response (only assigned tickets contain separate forms). */\n      form?: FormResponse;\n      /** Ticket name. */\n      ticketName?: string;\n      /** Anonymized tickets no longer contain personally identifiable information (PII). */\n      anonymized?: boolean;\n      /** URL and password to online conference */\n      onlineConferencingLogin?: OnlineConferencingLogin;\n  }\n  interface OnlineConferencingLogin {\n      /**\n       * Link URL to the online conference.\n       * @readonly\n       */\n      link?: string;\n      /**\n       * Password for the online conference.\n       * @readonly\n       */\n      password?: string | null;\n  }\n  interface DeleteTicketCheckInRequest {\n      /** Event ID. */\n      eventId: string;\n      /**\n       * Deprecated, use individual ticket numbers.\n       * @internal\n       */\n      orderNumber?: string;\n      /** Tickets to delete check-ins for. */\n      ticketNumber?: string[];\n  }\n  interface DeleteTicketCheckInResponse {\n      /** Updated tickets. */\n      tickets?: TicketingTicket[];\n  }\n  interface UpdateTicketRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Unique ticket number. */\n      ticketNumber: string;\n      /**\n       * Set of field paths, specifying which parts of this resource to update.\n       * When `fields` is empty, the request is interpreted as a full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Deprecated. Use `guestDetails.form`\n       * @internal\n       */\n      checkoutForm?: FormResponse;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Assigned guest details. */\n      guestDetails?: GuestDetailsUpdate;\n  }\n  interface GuestDetailsUpdate {\n      /**\n       * Assigned guest form.\n       * To update non-assigned guest form, use [Update Order](/wix-events-v2/orders/updateorder).\n       *\n       * Does not support partial updates - entire form object will be replaced when `guestDetails.form` is masked.\n       */\n      form?: FormResponse;\n  }\n  interface UpdateTicketResponse {\n      /** Updated ticket. */\n      ticket?: TicketingTicket;\n  }\n  interface BulkUpdateTicketsRequest {\n      /** Event ID. */\n      eventId: string;\n      /** Unique ticket numbers. */\n      ticketNumber?: string[];\n      /** Whether tickets are archived. */\n      archived?: boolean;\n  }\n  interface BulkUpdateTicketsResponse {\n      /** Updated tickets. */\n      tickets?: TicketingTicket[];\n  }\n  interface GetDemoTicketRequest {\n      /** Ticket definition ID. */\n      definitionId?: string;\n  }\n  interface GetDemoTicketResponse {\n      /** Ticket. */\n      ticket?: TicketingTicket;\n  }\n  /**\n   * Retrieves a list of up to 100 tickets.\n   *\n   * <!--\n   * >**Note:** This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param eventId - Event IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @param options - Options for defining the returned list of tickets.\n   * @adminMethod\n   */\n  function listTickets(eventId: string[], options?: ListTicketsOptions): Promise<ListTicketsResponse>;\n  interface ListTicketsOptions {\n      /**\n       *\n       * Offset. See [Pagination](/wix-events-v2/pagination).\n       */\n      offset?: number;\n      /** Number of items to load per page. See [Pagination](/wix-events-v2/pagination).   */\n      limit?: number;\n      /**\n       * Deprecated, use `sort` instead.\n       * Sort order. Defaults to \"ticket_number:asc\".\n       * See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-tickets).\n       * @internal\n       */\n      order?: string;\n      /** Order numbers. */\n      orderNumber?: string[];\n      /** Ticket numbers. */\n      ticketNumber?: string[];\n      /** Textual search filter - search is performed on `\"orderFullName\"`, `\"guestFullName\"`, and `\"ticketNumber\"`. */\n      searchPhrase?: string;\n      /** Order statuses. */\n      orderStatus?: OrderStatus[];\n      /**\n       * Deprecated, use `ORDER_ARCHIVED` / `ORDER_ACTIVE` state filter instead.\n       * @internal\n       */\n      orderArchived?: boolean | null;\n      /**\n       * Deprecated, use `CHECKED_IN` / `NON_CHECKED_IN` state filter instead.\n       * @internal\n       */\n      checkedIn?: boolean | null;\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKET_DETAILS`: Returns `ticketNumber`, `orderNumber`, `ticketDefinitionId`, `name`, `price`, `free`, `policy`, `qrCode`, `checkIn`, `orderStatus`, `orderArchived`, `archived`, `orderFullName`, `ticketPdf`, `checkInUrl` and `ticketPdfUrl`.\n       * - `GUEST_DETAILS`: Returns `guestDetails`.\n       * - `GUEST_FORM`: Returns `guestDetails.form`.\n       *\n       * Default: If `fieldset` is omitted from the request, `memberId` and `anonymized`.\n       */\n      fieldset?: TicketFieldset[];\n      /** Ticket states. */\n      state?: State[];\n      /** Site member IDs. */\n      memberId?: string[];\n      /** Filter facets. */\n      facet?: string[];\n      /**\n       * Sort order.\n       *\n       * Default: `\"ticketNumber\"`:`\"asc\"`.\n       *\n       *\n       * See [Tickets Sort](/wix-events-v2/tickets/tickets-sort) for more information.\n       */\n      sort?: string;\n      /** Guest contact IDs. */\n      contactId?: string[];\n      /** Ticket definition IDs. */\n      ticketDefinitionId?: string[];\n  }\n  /**\n   * Retrieves a ticket by unique ticket number.\n   *\n   * <!--\n   * > **Note:** The fieldsets in this function are restricted and only run if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.ticketNumber\n   * @param identifiers - Details for the ticket to retrieve.\n   * @param options - Options for the returned ticket data.\n   * @adminMethod\n   * @returns Ticket.\n   */\n  function getTicket(identifiers: GetTicketIdentifiers, options?: GetTicketOptions): Promise<TicketingTicket>;\n  interface GetTicketIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Unique ticket number. */\n      ticketNumber: string;\n  }\n  interface GetTicketOptions {\n      /**\n       * Predefined sets of fields to return.\n       * - `TICKET_DETAILS`: Returns `ticketNumber`, `orderNumber`, `ticketDefinitionId`, `name`, `price`, `free`, `policy`, `qrCode`, `checkIn`, `orderStatus`, `orderArchived`, `archived`, `orderFullName`, `ticketPdf`, `checkInUrl` and `ticketPdfUrl`.\n       * - `GUEST_DETAILS`: Returns `guestDetails`.\n       * - `GUEST_FORM': Returns `guestDetails.form`.\n       *\n       * Default: If `fieldset` is omitted from the request, `memberId` and `anonymized`.\n       */\n      fieldset?: TicketFieldset[];\n  }\n  /**\n   * Checks in 1 or more tickets.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function checkInTickets(eventId: string, options?: CheckInTicketsOptions): Promise<CheckInTicketResponse>;\n  interface CheckInTicketsOptions {\n      /**\n       * Deprecated, use individual ticket numbers.\n       * @internal\n       */\n      orderNumber?: string;\n      /** Tickets to check-in. */\n      ticketNumber?: string[];\n  }\n  /**\n   * Deletes check-ins for 1 or more tickets.\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @adminMethod\n   */\n  function deleteTicketCheckIns(eventId: string, options?: DeleteTicketCheckInsOptions): Promise<DeleteTicketCheckInResponse>;\n  interface DeleteTicketCheckInsOptions {\n      /**\n       * Deprecated, use individual ticket numbers.\n       * @internal\n       */\n      orderNumber?: string;\n      /** Tickets to delete check-ins for. */\n      ticketNumber?: string[];\n  }\n  /**\n   * Updates a ticket.\n   *\n   *\n   * See [Partial Updates](/wix-events-v2/partial-updates) for more information.\n   * <!--\n   * >**Note:** This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   *\n   *\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.eventId\n   * @requiredField identifiers.ticketNumber\n   * @param identifiers - Details for the ticket to update.\n   * @param options - Ticket details to update.\n   * @adminMethod\n   */\n  function updateTicket(identifiers: UpdateTicketIdentifiers, options?: UpdateTicketOptions): Promise<UpdateTicketResponse>;\n  interface UpdateTicketIdentifiers {\n      /** Event ID. */\n      eventId: string;\n      /** Unique ticket number. */\n      ticketNumber: string;\n  }\n  interface UpdateTicketOptions {\n      /**\n       * Set of field paths, specifying which parts of this resource to update.\n       * When `fields` is empty, the request is interpreted as a full update.\n       * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics.\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Deprecated. Use `guestDetails.form`\n       * @internal\n       */\n      checkoutForm?: FormResponse;\n      /** Whether ticket is archived. */\n      archived?: boolean;\n      /** Assigned guest details. */\n      guestDetails?: GuestDetailsUpdate;\n  }\n  /**\n   * Updates the `archived` state of multiple tickets.\n   *\n   *\n   * See [Partial Updates](/wix-events-v2/partial-updates) for more information.\n   * <!--\n   * > **Note:** This function is restricted and only runs if you elevate permissions using the [wix-auth.elevate()](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n   * -->\n   * @param eventId - Event ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventId\n   * @param options - Options for updating the tickets.\n   * @adminMethod\n   */\n  function bulkUpdateTickets(eventId: string, options?: BulkUpdateTicketsOptions): Promise<BulkUpdateTicketsResponse>;\n  interface BulkUpdateTicketsOptions {\n      /** Unique ticket numbers. */\n      ticketNumber?: string[];\n      /** Whether tickets are archived. */\n      archived?: boolean;\n  }\n  \n  const eventsV1Ticket_universal_d___debug: typeof __debug;\n  type eventsV1Ticket_universal_d_TicketingTicket = TicketingTicket;\n  type eventsV1Ticket_universal_d_Money = Money;\n  type eventsV1Ticket_universal_d_CheckIn = CheckIn;\n  type eventsV1Ticket_universal_d_OrderStatus = OrderStatus;\n  const eventsV1Ticket_universal_d_OrderStatus: typeof OrderStatus;\n  type eventsV1Ticket_universal_d_GuestDetails = GuestDetails;\n  type eventsV1Ticket_universal_d_FormResponse = FormResponse;\n  type eventsV1Ticket_universal_d_InputValue = InputValue;\n  type eventsV1Ticket_universal_d_FormattedAddress = FormattedAddress;\n  type eventsV1Ticket_universal_d_Address = Address;\n  type eventsV1Ticket_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type eventsV1Ticket_universal_d_StreetAddress = StreetAddress;\n  type eventsV1Ticket_universal_d_AddressLocation = AddressLocation;\n  type eventsV1Ticket_universal_d_Subdivision = Subdivision;\n  type eventsV1Ticket_universal_d_SubdivisionType = SubdivisionType;\n  const eventsV1Ticket_universal_d_SubdivisionType: typeof SubdivisionType;\n  type eventsV1Ticket_universal_d_ChannelType = ChannelType;\n  const eventsV1Ticket_universal_d_ChannelType: typeof ChannelType;\n  type eventsV1Ticket_universal_d_TicketDetails = TicketDetails;\n  type eventsV1Ticket_universal_d_ListTicketsRequest = ListTicketsRequest;\n  type eventsV1Ticket_universal_d_TicketFieldset = TicketFieldset;\n  const eventsV1Ticket_universal_d_TicketFieldset: typeof TicketFieldset;\n  type eventsV1Ticket_universal_d_State = State;\n  const eventsV1Ticket_universal_d_State: typeof State;\n  type eventsV1Ticket_universal_d_ListTicketsResponse = ListTicketsResponse;\n  type eventsV1Ticket_universal_d_FacetCounts = FacetCounts;\n  type eventsV1Ticket_universal_d_TicketFacets = TicketFacets;\n  type eventsV1Ticket_universal_d_TicketFacetCounts = TicketFacetCounts;\n  type eventsV1Ticket_universal_d_Counts = Counts;\n  type eventsV1Ticket_universal_d_GetTicketRequest = GetTicketRequest;\n  type eventsV1Ticket_universal_d_GetTicketResponse = GetTicketResponse;\n  type eventsV1Ticket_universal_d_CheckInTicketRequest = CheckInTicketRequest;\n  type eventsV1Ticket_universal_d_CheckInTicketResponse = CheckInTicketResponse;\n  type eventsV1Ticket_universal_d_OrderUpdated = OrderUpdated;\n  type eventsV1Ticket_universal_d_Ticket = Ticket;\n  type eventsV1Ticket_universal_d_OnlineConferencingLogin = OnlineConferencingLogin;\n  type eventsV1Ticket_universal_d_DeleteTicketCheckInRequest = DeleteTicketCheckInRequest;\n  type eventsV1Ticket_universal_d_DeleteTicketCheckInResponse = DeleteTicketCheckInResponse;\n  type eventsV1Ticket_universal_d_UpdateTicketRequest = UpdateTicketRequest;\n  type eventsV1Ticket_universal_d_GuestDetailsUpdate = GuestDetailsUpdate;\n  type eventsV1Ticket_universal_d_UpdateTicketResponse = UpdateTicketResponse;\n  type eventsV1Ticket_universal_d_BulkUpdateTicketsRequest = BulkUpdateTicketsRequest;\n  type eventsV1Ticket_universal_d_BulkUpdateTicketsResponse = BulkUpdateTicketsResponse;\n  type eventsV1Ticket_universal_d_GetDemoTicketRequest = GetDemoTicketRequest;\n  type eventsV1Ticket_universal_d_GetDemoTicketResponse = GetDemoTicketResponse;\n  const eventsV1Ticket_universal_d_listTickets: typeof listTickets;\n  type eventsV1Ticket_universal_d_ListTicketsOptions = ListTicketsOptions;\n  const eventsV1Ticket_universal_d_getTicket: typeof getTicket;\n  type eventsV1Ticket_universal_d_GetTicketIdentifiers = GetTicketIdentifiers;\n  type eventsV1Ticket_universal_d_GetTicketOptions = GetTicketOptions;\n  const eventsV1Ticket_universal_d_checkInTickets: typeof checkInTickets;\n  type eventsV1Ticket_universal_d_CheckInTicketsOptions = CheckInTicketsOptions;\n  const eventsV1Ticket_universal_d_deleteTicketCheckIns: typeof deleteTicketCheckIns;\n  type eventsV1Ticket_universal_d_DeleteTicketCheckInsOptions = DeleteTicketCheckInsOptions;\n  const eventsV1Ticket_universal_d_updateTicket: typeof updateTicket;\n  type eventsV1Ticket_universal_d_UpdateTicketIdentifiers = UpdateTicketIdentifiers;\n  type eventsV1Ticket_universal_d_UpdateTicketOptions = UpdateTicketOptions;\n  const eventsV1Ticket_universal_d_bulkUpdateTickets: typeof bulkUpdateTickets;\n  type eventsV1Ticket_universal_d_BulkUpdateTicketsOptions = BulkUpdateTicketsOptions;\n  namespace eventsV1Ticket_universal_d {\n    export {\n      eventsV1Ticket_universal_d___debug as __debug,\n      eventsV1Ticket_universal_d_TicketingTicket as TicketingTicket,\n      eventsV1Ticket_universal_d_Money as Money,\n      eventsV1Ticket_universal_d_CheckIn as CheckIn,\n      eventsV1Ticket_universal_d_OrderStatus as OrderStatus,\n      eventsV1Ticket_universal_d_GuestDetails as GuestDetails,\n      eventsV1Ticket_universal_d_FormResponse as FormResponse,\n      eventsV1Ticket_universal_d_InputValue as InputValue,\n      eventsV1Ticket_universal_d_FormattedAddress as FormattedAddress,\n      eventsV1Ticket_universal_d_Address as Address,\n      eventsV1Ticket_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      eventsV1Ticket_universal_d_StreetAddress as StreetAddress,\n      eventsV1Ticket_universal_d_AddressLocation as AddressLocation,\n      eventsV1Ticket_universal_d_Subdivision as Subdivision,\n      eventsV1Ticket_universal_d_SubdivisionType as SubdivisionType,\n      eventsV1Ticket_universal_d_ChannelType as ChannelType,\n      eventsV1Ticket_universal_d_TicketDetails as TicketDetails,\n      eventsV1Ticket_universal_d_ListTicketsRequest as ListTicketsRequest,\n      eventsV1Ticket_universal_d_TicketFieldset as TicketFieldset,\n      eventsV1Ticket_universal_d_State as State,\n      eventsV1Ticket_universal_d_ListTicketsResponse as ListTicketsResponse,\n      eventsV1Ticket_universal_d_FacetCounts as FacetCounts,\n      eventsV1Ticket_universal_d_TicketFacets as TicketFacets,\n      eventsV1Ticket_universal_d_TicketFacetCounts as TicketFacetCounts,\n      eventsV1Ticket_universal_d_Counts as Counts,\n      eventsV1Ticket_universal_d_GetTicketRequest as GetTicketRequest,\n      eventsV1Ticket_universal_d_GetTicketResponse as GetTicketResponse,\n      eventsV1Ticket_universal_d_CheckInTicketRequest as CheckInTicketRequest,\n      eventsV1Ticket_universal_d_CheckInTicketResponse as CheckInTicketResponse,\n      eventsV1Ticket_universal_d_OrderUpdated as OrderUpdated,\n      eventsV1Ticket_universal_d_Ticket as Ticket,\n      eventsV1Ticket_universal_d_OnlineConferencingLogin as OnlineConferencingLogin,\n      eventsV1Ticket_universal_d_DeleteTicketCheckInRequest as DeleteTicketCheckInRequest,\n      eventsV1Ticket_universal_d_DeleteTicketCheckInResponse as DeleteTicketCheckInResponse,\n      eventsV1Ticket_universal_d_UpdateTicketRequest as UpdateTicketRequest,\n      eventsV1Ticket_universal_d_GuestDetailsUpdate as GuestDetailsUpdate,\n      eventsV1Ticket_universal_d_UpdateTicketResponse as UpdateTicketResponse,\n      eventsV1Ticket_universal_d_BulkUpdateTicketsRequest as BulkUpdateTicketsRequest,\n      eventsV1Ticket_universal_d_BulkUpdateTicketsResponse as BulkUpdateTicketsResponse,\n      eventsV1Ticket_universal_d_GetDemoTicketRequest as GetDemoTicketRequest,\n      eventsV1Ticket_universal_d_GetDemoTicketResponse as GetDemoTicketResponse,\n      eventsV1Ticket_universal_d_listTickets as listTickets,\n      eventsV1Ticket_universal_d_ListTicketsOptions as ListTicketsOptions,\n      eventsV1Ticket_universal_d_getTicket as getTicket,\n      eventsV1Ticket_universal_d_GetTicketIdentifiers as GetTicketIdentifiers,\n      eventsV1Ticket_universal_d_GetTicketOptions as GetTicketOptions,\n      eventsV1Ticket_universal_d_checkInTickets as checkInTickets,\n      eventsV1Ticket_universal_d_CheckInTicketsOptions as CheckInTicketsOptions,\n      eventsV1Ticket_universal_d_deleteTicketCheckIns as deleteTicketCheckIns,\n      eventsV1Ticket_universal_d_DeleteTicketCheckInsOptions as DeleteTicketCheckInsOptions,\n      eventsV1Ticket_universal_d_updateTicket as updateTicket,\n      eventsV1Ticket_universal_d_UpdateTicketIdentifiers as UpdateTicketIdentifiers,\n      eventsV1Ticket_universal_d_UpdateTicketOptions as UpdateTicketOptions,\n      eventsV1Ticket_universal_d_bulkUpdateTickets as bulkUpdateTickets,\n      eventsV1Ticket_universal_d_BulkUpdateTicketsOptions as BulkUpdateTicketsOptions,\n    };\n  }\n  \n  export { eventsV1Category_universal_d as categories, eventsV1OrderCheckout_universal_d as checkout, eventsV1Form_universal_d as forms, eventsV1OrderOrders_universal_d as orders, eventsV1Rsvp_universal_d as rsvp, eventsScheduleV1ScheduleItemSchedule_universal_d as schedule, eventsScheduleV1ScheduleItemScheduleBookmarks_universal_d as scheduleBookmarks, eventsV1Ticket_universal_d as tickets, eventsV1Event_universal_d as wixEvents };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-billing.v2.d.ts",
      "content": "declare module \"wix-billing.v2\" {\n  /**\n   * A tax group is a category of specific line items grouped together based on their tax treatment.\n   * You can create new tax groups to apply distinct tax rates and rules.\n   */\n  interface TaxGroup {\n      /**\n       * Tax group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Tax group name. */\n      name?: string;\n      /**\n       * Revision number, which increments by 1 each time the tax group is updated. To prevent conflicting changes,\n       * the current revision must be passed when updating the tax group.\n       *\n       * Ignored when creating a tax group.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tax group was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the tax group was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface CreateTaxGroupRequest {\n      /** Tax group to create. */\n      taxGroup: TaxGroup;\n  }\n  interface CreateTaxGroupResponse {\n      /** Created tax group. */\n      taxGroup?: TaxGroup;\n  }\n  interface GetTaxGroupRequest {\n      /** ID of the tax group to retrieve. */\n      taxGroupId: string;\n  }\n  interface GetTaxGroupResponse {\n      /** Retrieved tax group. */\n      taxGroup?: TaxGroup;\n  }\n  interface UpdateTaxGroupRequest {\n      /** Tax group info to update. */\n      taxGroup: TaxGroup;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateTaxGroupResponse {\n      /** Updated tax group. */\n      taxGroup?: TaxGroup;\n  }\n  interface DeleteTaxGroupRequest {\n      /** ID of the tax group to delete. */\n      taxGroupId: string;\n  }\n  interface DeleteTaxGroupResponse {\n  }\n  interface QueryTaxGroupsRequest {\n      /** Query options. */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTaxGroupsResponse {\n      /** Retrieved default tax groups. */\n      taxGroups?: TaxGroup[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ListDefaultTaxGroupsRequest {\n  }\n  interface ListDefaultTaxGroupsResponse {\n      /** Retrieved default tax groups. */\n      taxGroups?: TaxGroup[];\n  }\n  interface ListDefaultTaxGroupsByAppIdsRequest {\n      /** App IDs to retrieve default tax groups for. */\n      appIds: string[];\n  }\n  interface ListDefaultTaxGroupsByAppIdsResponse {\n      /** Retrieved default tax groups. */\n      results?: ListDefaultTaxGroupsByAppIdsResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface ListDefaultTaxGroupsByAppIdsResult {\n      /** Information about success or failure to retrieve default tax groups. */\n      taxGroupMetadata?: ItemMetadata$1;\n      /** Retrieved default tax groups. */\n      taxGroup?: TaxGroup;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$2;\n  }\n  interface ApplicationError$2 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a tax group.\n   *\n   * Call Stores Update Product to add the `taxGroupId` to specific products to categorize as a group based on distinct tax treatment.\n   * Wix uses tax groups to calculate tax.\n   *\n   * In addition to tax groups you create, default tax groups are already included in all Wix catalogs.\n   * Call List Default Tax Groups to retrieve them. You can also use the Tax Groups Integration service plugin (REST only)\n   * to create new default tax groups that can be applied directly to an entire catalog of products.\n   * @param taxGroup - Tax group to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField taxGroup\n   * @requiredField taxGroup.name\n   * @permissionId BILLING.TAX_GROUP_CREATE\n   * @adminMethod\n   * @returns Created tax group.\n   */\n  function createTaxGroup(taxGroup: TaxGroup): Promise<TaxGroup>;\n  /**\n   * Retrieves a tax group.\n   * @param taxGroupId - ID of the tax group to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField taxGroupId\n   * @permissionId BILLING.TAX_GROUP_READ\n   * @returns Retrieved tax group.\n   */\n  function getTaxGroup(taxGroupId: string): Promise<TaxGroup>;\n  /**\n   * Updates a tax group.\n   *\n   * Each time the tax group is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the tax group.\n   * This ensures you're working with the latest tax group and prevents\n   * unintended overwrites.\n   * @param _id - Tax group ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField taxGroup\n   * @requiredField taxGroup.name\n   * @requiredField taxGroup.revision\n   * @param taxGroup - Tax group info.\n   * @permissionId BILLING.TAX_GROUP_UPDATE\n   * @adminMethod\n   * @returns Updated tax group.\n   */\n  function updateTaxGroup(_id: string | null, taxGroup: UpdateTaxGroup, options?: UpdateTaxGroupOptions): Promise<TaxGroup>;\n  interface UpdateTaxGroup {\n      /**\n       * Tax group ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Tax group name. */\n      name?: string;\n      /**\n       * Revision number, which increments by 1 each time the tax group is updated. To prevent conflicting changes,\n       * the current revision must be passed when updating the tax group.\n       *\n       * Ignored when creating a tax group.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tax group was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the tax group was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateTaxGroupOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a tax group.\n   *\n   * If a tax group is deleted but the `taxGroupId` is still assigned to a product (see Stores Products API) then the default tax group is used to calculate tax.\n   * @param taxGroupId - ID of the tax group to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField taxGroupId\n   * @permissionId BILLING.TAX_GROUP_DELETE\n   * @adminMethod\n   */\n  function deleteTaxGroup(taxGroupId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of tax groups.\n   *\n   * The `queryTaxGroups()` function builds a query to retrieve a list of tax groups and returns a `TaxGroupsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `TaxGroupsQueryBuilder` functions onto the query. `TaxGroupsQueryBuilder` functions enable you to sort, filter, and control the results that `queryTaxGroups()` returns.\n   *\n   * `queryTaxGroups()` runs with the following `TaxGroupsQueryBuilder` default that you can override:\n   * + `ascending(\"_id\")`\n   *\n   * The functions that are chained to `queryTaxGroups()` are applied in the order they are called. For example, if you apply `ascending(\"name\")` and then `ascending(\"_createdDate\")`, the results are sorted first by the `\"name\"`, and then, if there are multiple results with the same `\"name\"`, the items are sorted by `\"_createdDate\"`.\n   *\n   * The following `TaxGroupsQueryBuilder` functions are supported for the `queryTaxGroups()` function. For a full description of the tax group object, see the object returned for the `items` property in `TaxGroupsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BILLING.TAX_GROUP_READ\n   */\n  function queryTaxGroups(): TaxGroupsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TaxGroupsQueryResult extends QueryCursorResult$1 {\n      items: TaxGroup[];\n      query: TaxGroupsQueryBuilder;\n      next: () => Promise<TaxGroupsQueryResult>;\n      prev: () => Promise<TaxGroupsQueryResult>;\n  }\n  interface TaxGroupsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'name' | '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'name' | '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_createdDate' | '_updatedDate', value: any[]) => TaxGroupsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'name' | '_createdDate' | '_updatedDate', value: any) => TaxGroupsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_createdDate' | '_updatedDate', value: boolean) => TaxGroupsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'name' | '_createdDate' | '_updatedDate'>) => TaxGroupsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'name' | '_createdDate' | '_updatedDate'>) => TaxGroupsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => TaxGroupsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => TaxGroupsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<TaxGroupsQueryResult>;\n  }\n  /**\n   * Retrieves a list of default tax groups.\n   *\n   * The default tax groups for a site are inherited by the apps installed on the site.\n   * For example, the Wix Stores app includes a `\"Products\"` tax group by default.\n   *\n   * Add additional default tax groups with the Tax Groups Integration service plugin (REST only).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BILLING.TAX_GROUP_READ\n   */\n  function listDefaultTaxGroups(): Promise<ListDefaultTaxGroupsResponse>;\n  /**\n   * Retrieves default tax groups for specific apps.\n   * @param appIds - App IDs to retrieve default tax groups for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appIds\n   * @permissionId BILLING.TAX_GROUP_READ\n   */\n  function listDefaultTaxGroupsByAppIds(appIds: string[]): Promise<ListDefaultTaxGroupsByAppIdsResponse>;\n  \n  type billingV1TaxGroup_universal_d_TaxGroup = TaxGroup;\n  type billingV1TaxGroup_universal_d_CreateTaxGroupRequest = CreateTaxGroupRequest;\n  type billingV1TaxGroup_universal_d_CreateTaxGroupResponse = CreateTaxGroupResponse;\n  type billingV1TaxGroup_universal_d_GetTaxGroupRequest = GetTaxGroupRequest;\n  type billingV1TaxGroup_universal_d_GetTaxGroupResponse = GetTaxGroupResponse;\n  type billingV1TaxGroup_universal_d_UpdateTaxGroupRequest = UpdateTaxGroupRequest;\n  type billingV1TaxGroup_universal_d_UpdateTaxGroupResponse = UpdateTaxGroupResponse;\n  type billingV1TaxGroup_universal_d_DeleteTaxGroupRequest = DeleteTaxGroupRequest;\n  type billingV1TaxGroup_universal_d_DeleteTaxGroupResponse = DeleteTaxGroupResponse;\n  type billingV1TaxGroup_universal_d_QueryTaxGroupsRequest = QueryTaxGroupsRequest;\n  type billingV1TaxGroup_universal_d_QueryV2 = QueryV2;\n  type billingV1TaxGroup_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type billingV1TaxGroup_universal_d_Paging = Paging;\n  type billingV1TaxGroup_universal_d_QueryTaxGroupsResponse = QueryTaxGroupsResponse;\n  type billingV1TaxGroup_universal_d_ListDefaultTaxGroupsRequest = ListDefaultTaxGroupsRequest;\n  type billingV1TaxGroup_universal_d_ListDefaultTaxGroupsResponse = ListDefaultTaxGroupsResponse;\n  type billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsRequest = ListDefaultTaxGroupsByAppIdsRequest;\n  type billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsResponse = ListDefaultTaxGroupsByAppIdsResponse;\n  type billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsResult = ListDefaultTaxGroupsByAppIdsResult;\n  const billingV1TaxGroup_universal_d_createTaxGroup: typeof createTaxGroup;\n  const billingV1TaxGroup_universal_d_getTaxGroup: typeof getTaxGroup;\n  const billingV1TaxGroup_universal_d_updateTaxGroup: typeof updateTaxGroup;\n  type billingV1TaxGroup_universal_d_UpdateTaxGroup = UpdateTaxGroup;\n  type billingV1TaxGroup_universal_d_UpdateTaxGroupOptions = UpdateTaxGroupOptions;\n  const billingV1TaxGroup_universal_d_deleteTaxGroup: typeof deleteTaxGroup;\n  const billingV1TaxGroup_universal_d_queryTaxGroups: typeof queryTaxGroups;\n  type billingV1TaxGroup_universal_d_TaxGroupsQueryResult = TaxGroupsQueryResult;\n  type billingV1TaxGroup_universal_d_TaxGroupsQueryBuilder = TaxGroupsQueryBuilder;\n  const billingV1TaxGroup_universal_d_listDefaultTaxGroups: typeof listDefaultTaxGroups;\n  const billingV1TaxGroup_universal_d_listDefaultTaxGroupsByAppIds: typeof listDefaultTaxGroupsByAppIds;\n  namespace billingV1TaxGroup_universal_d {\n    export {\n      billingV1TaxGroup_universal_d_TaxGroup as TaxGroup,\n      billingV1TaxGroup_universal_d_CreateTaxGroupRequest as CreateTaxGroupRequest,\n      billingV1TaxGroup_universal_d_CreateTaxGroupResponse as CreateTaxGroupResponse,\n      billingV1TaxGroup_universal_d_GetTaxGroupRequest as GetTaxGroupRequest,\n      billingV1TaxGroup_universal_d_GetTaxGroupResponse as GetTaxGroupResponse,\n      billingV1TaxGroup_universal_d_UpdateTaxGroupRequest as UpdateTaxGroupRequest,\n      billingV1TaxGroup_universal_d_UpdateTaxGroupResponse as UpdateTaxGroupResponse,\n      billingV1TaxGroup_universal_d_DeleteTaxGroupRequest as DeleteTaxGroupRequest,\n      billingV1TaxGroup_universal_d_DeleteTaxGroupResponse as DeleteTaxGroupResponse,\n      billingV1TaxGroup_universal_d_QueryTaxGroupsRequest as QueryTaxGroupsRequest,\n      billingV1TaxGroup_universal_d_QueryV2 as QueryV2,\n      billingV1TaxGroup_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      billingV1TaxGroup_universal_d_Paging as Paging,\n      CursorPaging$1 as CursorPaging,\n      billingV1TaxGroup_universal_d_QueryTaxGroupsResponse as QueryTaxGroupsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      billingV1TaxGroup_universal_d_ListDefaultTaxGroupsRequest as ListDefaultTaxGroupsRequest,\n      billingV1TaxGroup_universal_d_ListDefaultTaxGroupsResponse as ListDefaultTaxGroupsResponse,\n      billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsRequest as ListDefaultTaxGroupsByAppIdsRequest,\n      billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsResponse as ListDefaultTaxGroupsByAppIdsResponse,\n      billingV1TaxGroup_universal_d_ListDefaultTaxGroupsByAppIdsResult as ListDefaultTaxGroupsByAppIdsResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$2 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      billingV1TaxGroup_universal_d_createTaxGroup as createTaxGroup,\n      billingV1TaxGroup_universal_d_getTaxGroup as getTaxGroup,\n      billingV1TaxGroup_universal_d_updateTaxGroup as updateTaxGroup,\n      billingV1TaxGroup_universal_d_UpdateTaxGroup as UpdateTaxGroup,\n      billingV1TaxGroup_universal_d_UpdateTaxGroupOptions as UpdateTaxGroupOptions,\n      billingV1TaxGroup_universal_d_deleteTaxGroup as deleteTaxGroup,\n      billingV1TaxGroup_universal_d_queryTaxGroups as queryTaxGroups,\n      billingV1TaxGroup_universal_d_TaxGroupsQueryResult as TaxGroupsQueryResult,\n      billingV1TaxGroup_universal_d_TaxGroupsQueryBuilder as TaxGroupsQueryBuilder,\n      billingV1TaxGroup_universal_d_listDefaultTaxGroups as listDefaultTaxGroups,\n      billingV1TaxGroup_universal_d_listDefaultTaxGroupsByAppIds as listDefaultTaxGroupsByAppIds,\n    };\n  }\n  \n  /**\n   * A tax region uses a location to define a specific tax treatment.\n   * A location is defined by `country` and `subdivision`. The tax region also\n   * dictates whether or not tax is included in the displayed price.\n   */\n  interface TaxRegion {\n      /**\n       * Tax region ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** 2-letter country code in [ISO-3166 alpha-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n      /** Subdivision (such as state, prefecture, or province) in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string;\n      /**\n       * The tax calculator ID to use to calculate tax for this region.\n       *\n       * Use `listTaxCalculators()` in Tax Calculation to retrieve a list of available calculators for your site.\n       */\n      appId?: string;\n      /** Whether tax is included in the price. */\n      taxIncludedInPrice?: boolean;\n      /**\n       * Revision number, which increments by 1 each time the tax region is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the tax region.\n       *\n       * Ignored when creating a tax region.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tax region was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the tax region was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface CreateTaxRegionRequest {\n      /** Tax region to create. */\n      taxRegion: TaxRegion;\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2024-10-15\n       */\n      updateMigrationManager?: boolean | null;\n  }\n  interface CreateTaxRegionResponse {\n      /** Created tax region. */\n      taxRegion?: TaxRegion;\n  }\n  interface ConflictErrorDetails {\n      /** Conflict details. */\n      reasonForConflict?: string;\n  }\n  interface BulkCreateTaxRegionRequest {\n      /** Tax regions to create. */\n      taxRegions: TaxRegion[];\n      /**\n       * Whether to return the full tax region objects in the response.\n       *\n       * Default: `true`\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateTaxRegionResponse {\n      /** Tax regions created by bulk action. */\n      results?: BulkCreateTaxRegionResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkCreateTaxRegionResult {\n      /** Item metadata. */\n      itemMetadata?: ItemMetadata;\n      /**\n       * Tax region.\n       *\n       * This field is returned if the operation was successful and\n       * `returnEntity` is set to `true`.\n       */\n      item?: TaxRegion;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetTaxRegionRequest {\n      /** ID of the tax region to retrieve. */\n      taxRegionId: string;\n  }\n  interface GetTaxRegionResponse {\n      /** Retrieved tax region. */\n      taxRegion?: TaxRegion;\n  }\n  interface UpdateTaxRegionRequest {\n      /** Tax region info to update. */\n      taxRegion: TaxRegion;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateTaxRegionResponse {\n      /** Updated tax region. */\n      taxRegion?: TaxRegion;\n  }\n  interface DeleteTaxRegionRequest {\n      /** ID of the tax region to delete. */\n      taxRegionId: string;\n  }\n  interface DeleteTaxRegionResponse {\n  }\n  interface QueryTaxRegionsRequest {\n      /** Query options. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTaxRegionsResponse {\n      /** Retrieved tax regions. */\n      taxRegions?: TaxRegion[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a tax region.\n   *\n   * Tax regions require a tax calculator `appId`. Use\n   * `listTaxCalculators()` in Tax Calculation to retrieve a list of available calculators for a site.\n   *\n   * Wix uses tax regions to `calculateTax()`.\n   * @param taxRegion - Tax region to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField taxRegion\n   * @requiredField taxRegion.appId\n   * @requiredField taxRegion.country\n   * @requiredField taxRegion.taxIncludedInPrice\n   * @permissionId BILLING.TAX_REGION_CREATE\n   * @adminMethod\n   * @returns Created tax region.\n   */\n  function createTaxRegion(taxRegion: TaxRegion, options?: CreateTaxRegionOptions): Promise<TaxRegion>;\n  interface CreateTaxRegionOptions {\n      /**\n       * @internal\n       * @deprecated\n       * @targetRemovalDate 2024-10-15\n       */\n      updateMigrationManager?: boolean | null;\n  }\n  /**\n   * Create multiple Tax Regions by Bulk\n   * @param taxRegions - Tax regions to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField taxRegions\n   * @permissionId BILLING.TAX_REGION_CREATE\n   * @adminMethod\n   */\n  function bulkCreateTaxRegion(taxRegions: TaxRegion[], options?: BulkCreateTaxRegionOptions): Promise<BulkCreateTaxRegionResponse>;\n  interface BulkCreateTaxRegionOptions {\n      /**\n       * Whether to return the full tax region objects in the response.\n       *\n       * Default: `true`\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Retrieves a tax region.\n   * @param taxRegionId - ID of the tax region to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField taxRegionId\n   * @permissionId BILLING.TAX_REGION_READ\n   * @returns Retrieved tax region.\n   */\n  function getTaxRegion(taxRegionId: string): Promise<TaxRegion>;\n  /**\n   * Updates a tax region.\n   *\n   * Each time the tax region is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the tax region.\n   * This ensures you're working with the latest tax region and prevents\n   * unintended overwrites.\n   * @param _id - Tax region ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField taxRegion\n   * @requiredField taxRegion.revision\n   * @param taxRegion - Tax region info.\n   * @permissionId BILLING.TAX_REGION_UPDATE\n   * @adminMethod\n   * @returns Updated tax region.\n   */\n  function updateTaxRegion(_id: string | null, taxRegion: UpdateTaxRegion, options?: UpdateTaxRegionOptions): Promise<TaxRegion>;\n  interface UpdateTaxRegion {\n      /**\n       * Tax region ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** 2-letter country code in [ISO-3166 alpha-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n      /** Subdivision (such as state, prefecture, or province) in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string;\n      /**\n       * The tax calculator ID to use to calculate tax for this region.\n       *\n       * Use `listTaxCalculators()` in Tax Calculation to retrieve a list of available calculators for your site.\n       */\n      appId?: string;\n      /** Whether tax is included in the price. */\n      taxIncludedInPrice?: boolean;\n      /**\n       * Revision number, which increments by 1 each time the tax region is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the tax region.\n       *\n       * Ignored when creating a tax region.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tax region was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the tax region was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateTaxRegionOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a tax region.\n   *\n   * When a tax region is deleted, tax is not calculated and zero tax will be returned for addresses in this region.\n   * @param taxRegionId - ID of the tax region to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField taxRegionId\n   * @permissionId BILLING.TAX_REGION_DELETE\n   * @adminMethod\n   */\n  function deleteTaxRegion(taxRegionId: string): Promise<void>;\n  /**\n   * Creates a query to retrieve a list of tax regions.\n   *\n   * The `queryTaxRegions()` function builds a query to retrieve a list of tax regions and returns a `TaxRegionsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `TaxRegionsQueryBuilder` functions onto the query. `TaxRegionsQueryBuilder` functions enable you to sort, filter, and control the results that `queryTaxRegions()` returns.\n   *\n   * `queryTaxRegions()` runs with the following `TaxRegionsQueryBuilder` default that you can override:\n   * + `ascending(\"_id\")`\n   *\n   * The functions that are chained to `queryTaxRegions()` are applied in the order they are called. For example, if you apply `ascending(\"country\")` and then `ascending(\"subdivision\")`, the results are sorted first by the `\"country\"`, and then, if there are multiple results with the same `\"country\"`, the items are sorted by `\"subdivision\"`.\n   *\n   * The following `TaxRegionsQueryBuilder` functions are supported for the `queryTaxRegions()` function. For a full description of the tax region object, see the object returned for the `items` property in `TaxRegionsQueryResult`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BILLING.TAX_REGION_READ\n   */\n  function queryTaxRegions(): TaxRegionsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface TaxRegionsQueryResult extends QueryCursorResult {\n      items: TaxRegion[];\n      query: TaxRegionsQueryBuilder;\n      next: () => Promise<TaxRegionsQueryResult>;\n      prev: () => Promise<TaxRegionsQueryResult>;\n  }\n  interface TaxRegionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'country' | 'subdivision' | 'appId', value: string) => TaxRegionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate', value: any[]) => TaxRegionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate', value: any) => TaxRegionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate', value: boolean) => TaxRegionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate'>) => TaxRegionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'country' | 'subdivision' | 'appId' | '_createdDate' | '_updatedDate'>) => TaxRegionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => TaxRegionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => TaxRegionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<TaxRegionsQueryResult>;\n  }\n  \n  type billingV1TaxRegion_universal_d_TaxRegion = TaxRegion;\n  type billingV1TaxRegion_universal_d_CreateTaxRegionRequest = CreateTaxRegionRequest;\n  type billingV1TaxRegion_universal_d_CreateTaxRegionResponse = CreateTaxRegionResponse;\n  type billingV1TaxRegion_universal_d_ConflictErrorDetails = ConflictErrorDetails;\n  type billingV1TaxRegion_universal_d_BulkCreateTaxRegionRequest = BulkCreateTaxRegionRequest;\n  type billingV1TaxRegion_universal_d_BulkCreateTaxRegionResponse = BulkCreateTaxRegionResponse;\n  type billingV1TaxRegion_universal_d_BulkCreateTaxRegionResult = BulkCreateTaxRegionResult;\n  type billingV1TaxRegion_universal_d_ItemMetadata = ItemMetadata;\n  type billingV1TaxRegion_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type billingV1TaxRegion_universal_d_GetTaxRegionRequest = GetTaxRegionRequest;\n  type billingV1TaxRegion_universal_d_GetTaxRegionResponse = GetTaxRegionResponse;\n  type billingV1TaxRegion_universal_d_UpdateTaxRegionRequest = UpdateTaxRegionRequest;\n  type billingV1TaxRegion_universal_d_UpdateTaxRegionResponse = UpdateTaxRegionResponse;\n  type billingV1TaxRegion_universal_d_DeleteTaxRegionRequest = DeleteTaxRegionRequest;\n  type billingV1TaxRegion_universal_d_DeleteTaxRegionResponse = DeleteTaxRegionResponse;\n  type billingV1TaxRegion_universal_d_QueryTaxRegionsRequest = QueryTaxRegionsRequest;\n  type billingV1TaxRegion_universal_d_CursorQuery = CursorQuery;\n  type billingV1TaxRegion_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type billingV1TaxRegion_universal_d_Sorting = Sorting;\n  type billingV1TaxRegion_universal_d_SortOrder = SortOrder;\n  const billingV1TaxRegion_universal_d_SortOrder: typeof SortOrder;\n  type billingV1TaxRegion_universal_d_CursorPaging = CursorPaging;\n  type billingV1TaxRegion_universal_d_QueryTaxRegionsResponse = QueryTaxRegionsResponse;\n  type billingV1TaxRegion_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type billingV1TaxRegion_universal_d_Cursors = Cursors;\n  type billingV1TaxRegion_universal_d_DomainEvent = DomainEvent;\n  type billingV1TaxRegion_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type billingV1TaxRegion_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type billingV1TaxRegion_universal_d_RestoreInfo = RestoreInfo;\n  type billingV1TaxRegion_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type billingV1TaxRegion_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type billingV1TaxRegion_universal_d_ActionEvent = ActionEvent;\n  type billingV1TaxRegion_universal_d_MessageEnvelope = MessageEnvelope;\n  type billingV1TaxRegion_universal_d_IdentificationData = IdentificationData;\n  type billingV1TaxRegion_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type billingV1TaxRegion_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const billingV1TaxRegion_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const billingV1TaxRegion_universal_d_createTaxRegion: typeof createTaxRegion;\n  type billingV1TaxRegion_universal_d_CreateTaxRegionOptions = CreateTaxRegionOptions;\n  const billingV1TaxRegion_universal_d_bulkCreateTaxRegion: typeof bulkCreateTaxRegion;\n  type billingV1TaxRegion_universal_d_BulkCreateTaxRegionOptions = BulkCreateTaxRegionOptions;\n  const billingV1TaxRegion_universal_d_getTaxRegion: typeof getTaxRegion;\n  const billingV1TaxRegion_universal_d_updateTaxRegion: typeof updateTaxRegion;\n  type billingV1TaxRegion_universal_d_UpdateTaxRegion = UpdateTaxRegion;\n  type billingV1TaxRegion_universal_d_UpdateTaxRegionOptions = UpdateTaxRegionOptions;\n  const billingV1TaxRegion_universal_d_deleteTaxRegion: typeof deleteTaxRegion;\n  const billingV1TaxRegion_universal_d_queryTaxRegions: typeof queryTaxRegions;\n  type billingV1TaxRegion_universal_d_TaxRegionsQueryResult = TaxRegionsQueryResult;\n  type billingV1TaxRegion_universal_d_TaxRegionsQueryBuilder = TaxRegionsQueryBuilder;\n  namespace billingV1TaxRegion_universal_d {\n    export {\n      billingV1TaxRegion_universal_d_TaxRegion as TaxRegion,\n      billingV1TaxRegion_universal_d_CreateTaxRegionRequest as CreateTaxRegionRequest,\n      billingV1TaxRegion_universal_d_CreateTaxRegionResponse as CreateTaxRegionResponse,\n      billingV1TaxRegion_universal_d_ConflictErrorDetails as ConflictErrorDetails,\n      billingV1TaxRegion_universal_d_BulkCreateTaxRegionRequest as BulkCreateTaxRegionRequest,\n      billingV1TaxRegion_universal_d_BulkCreateTaxRegionResponse as BulkCreateTaxRegionResponse,\n      billingV1TaxRegion_universal_d_BulkCreateTaxRegionResult as BulkCreateTaxRegionResult,\n      billingV1TaxRegion_universal_d_ItemMetadata as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      billingV1TaxRegion_universal_d_BulkActionMetadata as BulkActionMetadata,\n      billingV1TaxRegion_universal_d_GetTaxRegionRequest as GetTaxRegionRequest,\n      billingV1TaxRegion_universal_d_GetTaxRegionResponse as GetTaxRegionResponse,\n      billingV1TaxRegion_universal_d_UpdateTaxRegionRequest as UpdateTaxRegionRequest,\n      billingV1TaxRegion_universal_d_UpdateTaxRegionResponse as UpdateTaxRegionResponse,\n      billingV1TaxRegion_universal_d_DeleteTaxRegionRequest as DeleteTaxRegionRequest,\n      billingV1TaxRegion_universal_d_DeleteTaxRegionResponse as DeleteTaxRegionResponse,\n      billingV1TaxRegion_universal_d_QueryTaxRegionsRequest as QueryTaxRegionsRequest,\n      billingV1TaxRegion_universal_d_CursorQuery as CursorQuery,\n      billingV1TaxRegion_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      billingV1TaxRegion_universal_d_Sorting as Sorting,\n      billingV1TaxRegion_universal_d_SortOrder as SortOrder,\n      billingV1TaxRegion_universal_d_CursorPaging as CursorPaging,\n      billingV1TaxRegion_universal_d_QueryTaxRegionsResponse as QueryTaxRegionsResponse,\n      billingV1TaxRegion_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      billingV1TaxRegion_universal_d_Cursors as Cursors,\n      billingV1TaxRegion_universal_d_DomainEvent as DomainEvent,\n      billingV1TaxRegion_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      billingV1TaxRegion_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      billingV1TaxRegion_universal_d_RestoreInfo as RestoreInfo,\n      billingV1TaxRegion_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      billingV1TaxRegion_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      billingV1TaxRegion_universal_d_ActionEvent as ActionEvent,\n      billingV1TaxRegion_universal_d_MessageEnvelope as MessageEnvelope,\n      billingV1TaxRegion_universal_d_IdentificationData as IdentificationData,\n      billingV1TaxRegion_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      billingV1TaxRegion_universal_d_WebhookIdentityType as WebhookIdentityType,\n      billingV1TaxRegion_universal_d_createTaxRegion as createTaxRegion,\n      billingV1TaxRegion_universal_d_CreateTaxRegionOptions as CreateTaxRegionOptions,\n      billingV1TaxRegion_universal_d_bulkCreateTaxRegion as bulkCreateTaxRegion,\n      billingV1TaxRegion_universal_d_BulkCreateTaxRegionOptions as BulkCreateTaxRegionOptions,\n      billingV1TaxRegion_universal_d_getTaxRegion as getTaxRegion,\n      billingV1TaxRegion_universal_d_updateTaxRegion as updateTaxRegion,\n      billingV1TaxRegion_universal_d_UpdateTaxRegion as UpdateTaxRegion,\n      billingV1TaxRegion_universal_d_UpdateTaxRegionOptions as UpdateTaxRegionOptions,\n      billingV1TaxRegion_universal_d_deleteTaxRegion as deleteTaxRegion,\n      billingV1TaxRegion_universal_d_queryTaxRegions as queryTaxRegions,\n      billingV1TaxRegion_universal_d_TaxRegionsQueryResult as TaxRegionsQueryResult,\n      billingV1TaxRegion_universal_d_TaxRegionsQueryBuilder as TaxRegionsQueryBuilder,\n    };\n  }\n  \n  interface TaxCalculationGateway {\n      _id?: string | null;\n  }\n  interface CalculateTaxRequest {\n      /** Optional ID of the entity that tax is being calculated for. For example, a cart ID. */\n      externalId?: string | null;\n      /** 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency?: string;\n      /** Array of addresses. Each line item can individually reference the address to apply with `lineItems.addressIndex`. */\n      addresses: Address[];\n      /** Line items to calculate tax for. */\n      lineItems: LineItem[];\n  }\n  /** Wix common address format for physical address to use if you plan to store addresses in your service. */\n  interface Address {\n      /** 2-letter country code in [ISO-3166 alpha-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string | null;\n      /** Subdivision (such as state, prefecture, or province) in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Postal or zip code. */\n      postalCode?: string | null;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Free text providing more detailed address information, such as apartment, suite, or floor. */\n      addressLine2?: string | null;\n  }\n  /** Line items to calculate tax for. */\n  interface LineItem {\n      /** Line item ID. */\n      _id?: string;\n      /** Line item name to display. */\n      itemName?: string | null;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Line item price. */\n      price?: string;\n      /** Stock keeping unit for this line item. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n      itemCode?: string | null;\n      /** Tax group ID for this line item. If not provided, the default tax group applies. */\n      taxGroupId?: string | null;\n      /**\n       * ID of the app providing the catalog for this line item.\n       *\n       * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string | null;\n      /** Whether tax is included in the price. */\n      taxIncludedInPrice?: boolean | null;\n      /** Index of the address from `addresses` to use to calculate tax for this specific line item. The index is zero-based. */\n      addressIndex?: AddressIndex;\n  }\n  /** Index of the address from `addresses` to use to calculate tax for this specific line item. The index is zero-based. */\n  interface AddressIndex extends AddressIndexAddressIndexOptionsOneOf {\n      /** Single address to use for a sale location when only one address is required for tax calculations. The index is zero-based. */\n      singleAddress?: number;\n      /**\n       * Multiple addresses to use for a sale. For example, some tax calculations may require both the address where an item is shipped from,\n       * as well as the address the item is shipped to.\n       */\n      multipleAddresses?: MultipleAddresses;\n  }\n  /** @oneof */\n  interface AddressIndexAddressIndexOptionsOneOf {\n      /** Single address to use for a sale location when only one address is required for tax calculations. The index is zero-based. */\n      singleAddress?: number;\n      /**\n       * Multiple addresses to use for a sale. For example, some tax calculations may require both the address where an item is shipped from,\n       * as well as the address the item is shipped to.\n       */\n      multipleAddresses?: MultipleAddresses;\n  }\n  /**\n   * MultipleAddresses are used for example for tax calculation of items shipped from store warehouse to a shipping address.\n   * In this case origin is the warehouse address and destination is the shipping address.\n   */\n  interface MultipleAddresses {\n      /** Index of the origin address. */\n      origin?: number;\n      /** Index of the destination address. */\n      destination?: number;\n  }\n  interface CalculateTaxResponse {\n      /** Optional ID of the entity that tax is being calculated for. For example, a cart ID. */\n      externalId?: string | null;\n      /** 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency?: string;\n      /** Array of addresses. Each line item can individually reference the address to apply with `lineItems.addressIndex`. */\n      addresses?: Address[];\n      /** Summary of the tax calculated. */\n      taxSummary?: TaxSummary;\n      /** Details of each tax applied to each line item. */\n      lineItemTaxDetails?: LineItemTaxDetails[];\n      /** Errors that occurred during the tax calculation. */\n      errors?: ApplicationError[];\n  }\n  interface TaxSummary {\n      /** Total price for all line items. */\n      totalAmount?: string;\n      /**\n       * Total amount of tax calculated for all line items.\n       * Note that due to rounding, `totalTax` may not equal the sum of `lineItemTaxDetails.taxSummary.taxAmount`.\n       */\n      totalTax?: string;\n      /** Total taxable amount for all line items. */\n      totalTaxableAmount?: string;\n      /** Total amount of `totalTax` that is included in price. Applies to line items with `taxIncludedInPrice` set to `true`. */\n      totalTaxIncludedInPrice?: string;\n      /** Array of each tax applied, grouped by `\"jurisdiction\"`, `\"jurisdiction_type\"`, `\"tax_type\"`, `\"tax_name\"` and `\"tax_rate\"`. */\n      aggregatedTaxBreakdown?: AggregatedTaxBreakdown[];\n  }\n  /**\n   * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n   * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n   *\n   * Note: Because that the tax is calculated only on the taxable amount, the tax amount may be looks strange.\n   * e.g. if you pay 100$ and the tax applies only on 50$ from it with tax rate of 10%,\n   * then the tax rate will be remain 10% but tax amount in the breakdown will be 5$ instead of 10$.\n   */\n  interface AggregatedTaxBreakdown {\n      /** Name of the tax that was calculated. */\n      taxName?: string;\n      /** Type of tax that was calculated. */\n      taxType?: string;\n      /** Jurisdiction that taxes were calculated for. */\n      jurisdiction?: string;\n      /** Type of jurisdiction that taxes were calculated for. */\n      jurisdictionType?: JurisdictionType;\n      /** Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is `\"0.1000\"` and 200% tax is `\"2.0000\"`. */\n      rate?: string;\n      /** Total amount of this tax for this jurisdiction. */\n      aggregatedTaxAmount?: string;\n      /**\n       * Total taxable amount of this tax\n       * @internal\n       */\n      aggregatedTaxableAmount?: string;\n  }\n  /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  enum JurisdictionType {\n      UNDEFINED = \"UNDEFINED\",\n      COUNTRY = \"COUNTRY\",\n      STATE = \"STATE\",\n      COUNTY = \"COUNTY\",\n      CITY = \"CITY\",\n      SPECIAL = \"SPECIAL\"\n  }\n  /** Tax details for a specific line item. */\n  interface LineItemTaxDetails {\n      /** Line item ID. */\n      _id?: string;\n      /** Line item name to display. */\n      itemName?: string | null;\n      /** Line item quantity. */\n      quantity?: number;\n      /** Array of each tax applied, grouped by `jurisdiction`. */\n      taxBreakdown?: TaxBreakdown[];\n      /** Summary of this line item's total price and tax. */\n      taxSummary?: LineItemTaxSummary;\n      /** Index of the address from `addresses` to use to calculate tax for this specific line item. The index is zero-based. */\n      addressIndex?: AddressIndex;\n      /** Whether tax is included in the price. */\n      taxIncludedInPrice?: boolean;\n  }\n  /** A detailed description of all the tax authorities applied on this item. */\n  interface TaxBreakdown {\n      /** Jurisdiction that taxes were calculated for. */\n      jurisdiction?: string | null;\n      /** Non-taxable amount of the price. */\n      nonTaxableAmount?: string | null;\n      /** Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is `\"0.1000\"` and 200% tax is `\"2.0000\"`. */\n      rate?: string | null;\n      /** Amount of this tax calculated for this jurisdiction. */\n      taxAmount?: string | null;\n      /** Taxable amount of the price. */\n      taxableAmount?: string | null;\n      /** Type of tax that was calculated. For example, `\"Sales Tax\"`, `\"Income Tax\"`, `\"Value Added Tax\"`, etc. */\n      taxType?: string | null;\n      /** Name of the tax that was calculated. For example, `\"NY State Sales Tax\"`, `\"Quebec GST\"`, etc. */\n      taxName?: string | null;\n      /** Type of jurisdiction that taxes were calculated for. For example, `\"State\"`, `\"Çounty\"`, `\"City\"`, `\"Special\"`, etc. */\n      jurisdictionType?: JurisdictionType;\n  }\n  interface LineItemTaxSummary {\n      /**\n       * Total price for this line item.\n       * To determine the price for each individual unit of this line item, divide by `quantity`.\n       */\n      fullPrice?: string | null;\n      /** Total amount of tax calculated for this line item. */\n      taxAmount?: string;\n      /** Total taxable amount for this line item. */\n      taxableAmount?: string;\n      /** ID of the calculator app that calculated tax for this line item. */\n      appId?: string | null;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface ListTaxCalculatorsRequest {\n  }\n  interface ListTaxCalculatorsResponse {\n      /** Retrieved tax calculators. */\n      taxCalculatorDetails?: TaxCalculatorDetails[];\n  }\n  interface TaxCalculatorDetails {\n      /** ID of the tax calculator. */\n      appId?: string;\n      /** Display name of the tax calculator. */\n      displayName?: string;\n      /** List of countries, in [ISO-3166 alpha-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format, that the calculator does not support. */\n      unsupportedCountries?: string[];\n  }\n  /**\n   * Calculates tax for the provided line items.\n   *\n   * Tax is calculated for each line item based on the tax region (see TaxRegions API) that corresponds to the address provided in `lineItems.addressIndex` and the tax group (see TaxGroups API) in `taxGroupId`. If no tax region is found for the line item's address then no tax will be calculated for this line item. If no tax group with that `taxGroupId` is found then the default tax group is used to calculate tax. To check the default tax groups, use `listDefaultTaxGroups()` in the TaxGroups API.\n   *\n   * The tax is calculated by a tax calculator app installed on the site.\n   * Use `listTaxCalculators()` to see which tax calculators are available. To provide your own tax calculations, use the Tax Calculation service plugin.\n   *\n   * The breakdown of calculated tax returned, includes:\n   * + `taxSummary`: The overall total tax calculated.\n   * + `taxSummary.aggregatedTaxBreakdown`: The total tax calculated for each jurisdiction.\n   * + `lineItemTaxDetails.taxSummary`: The total tax calculated for each line item.\n   * + `lineItemTaxDetails.taxBreakdown`: The tax calculated for each line item in each jurisdiction.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.addresses\n   * @requiredField options.lineItems\n   * @requiredField options.lineItems._id\n   * @requiredField options.lineItems.addressIndex\n   * @requiredField options.lineItems.price\n   * @param options - Calculate tax options.\n   * @permissionId BILLING.CALCULATE_TAX\n   */\n  function calculateTax(options?: CalculateTaxOptions): Promise<CalculateTaxResponse>;\n  interface CalculateTaxOptions {\n      /** Optional ID of the entity that tax is being calculated for. For example, a cart ID. */\n      externalId?: string | null;\n      /** 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */\n      currency?: string;\n      /** Array of addresses. Each line item can individually reference the address to apply with `lineItems.addressIndex`. */\n      addresses: Address[];\n      /** Line items to calculate tax for. */\n      lineItems: LineItem[];\n  }\n  /**\n   * Retrieves a list of installed tax calculators.\n   *\n   * Wix uses these calculators to `calculateTax()`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId BILLING.TAX_CALCULATORS_READ\n   * @adminMethod\n   */\n  function listTaxCalculators(): Promise<ListTaxCalculatorsResponse>;\n  \n  type gatewaysBillingV1TaxCalculationGateway_universal_d_TaxCalculationGateway = TaxCalculationGateway;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_CalculateTaxRequest = CalculateTaxRequest;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_Address = Address;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_LineItem = LineItem;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_AddressIndex = AddressIndex;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_AddressIndexAddressIndexOptionsOneOf = AddressIndexAddressIndexOptionsOneOf;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_MultipleAddresses = MultipleAddresses;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_CalculateTaxResponse = CalculateTaxResponse;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_TaxSummary = TaxSummary;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_AggregatedTaxBreakdown = AggregatedTaxBreakdown;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_JurisdictionType = JurisdictionType;\n  const gatewaysBillingV1TaxCalculationGateway_universal_d_JurisdictionType: typeof JurisdictionType;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_LineItemTaxDetails = LineItemTaxDetails;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_TaxBreakdown = TaxBreakdown;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_LineItemTaxSummary = LineItemTaxSummary;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_ApplicationError = ApplicationError;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_ListTaxCalculatorsRequest = ListTaxCalculatorsRequest;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_ListTaxCalculatorsResponse = ListTaxCalculatorsResponse;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_TaxCalculatorDetails = TaxCalculatorDetails;\n  const gatewaysBillingV1TaxCalculationGateway_universal_d_calculateTax: typeof calculateTax;\n  type gatewaysBillingV1TaxCalculationGateway_universal_d_CalculateTaxOptions = CalculateTaxOptions;\n  const gatewaysBillingV1TaxCalculationGateway_universal_d_listTaxCalculators: typeof listTaxCalculators;\n  namespace gatewaysBillingV1TaxCalculationGateway_universal_d {\n    export {\n      gatewaysBillingV1TaxCalculationGateway_universal_d_TaxCalculationGateway as TaxCalculationGateway,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_CalculateTaxRequest as CalculateTaxRequest,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_Address as Address,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_LineItem as LineItem,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_AddressIndex as AddressIndex,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_AddressIndexAddressIndexOptionsOneOf as AddressIndexAddressIndexOptionsOneOf,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_MultipleAddresses as MultipleAddresses,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_CalculateTaxResponse as CalculateTaxResponse,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_TaxSummary as TaxSummary,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_AggregatedTaxBreakdown as AggregatedTaxBreakdown,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_JurisdictionType as JurisdictionType,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_LineItemTaxDetails as LineItemTaxDetails,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_TaxBreakdown as TaxBreakdown,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_LineItemTaxSummary as LineItemTaxSummary,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_ApplicationError as ApplicationError,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_ListTaxCalculatorsRequest as ListTaxCalculatorsRequest,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_ListTaxCalculatorsResponse as ListTaxCalculatorsResponse,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_TaxCalculatorDetails as TaxCalculatorDetails,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_calculateTax as calculateTax,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_CalculateTaxOptions as CalculateTaxOptions,\n      gatewaysBillingV1TaxCalculationGateway_universal_d_listTaxCalculators as listTaxCalculators,\n    };\n  }\n  \n  export { gatewaysBillingV1TaxCalculationGateway_universal_d as taxCalculation, billingV1TaxGroup_universal_d as taxGroups, billingV1TaxRegion_universal_d as taxRegions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-stores.v3.d.ts",
      "content": "declare module \"wix-stores.v3\" {\n  /**\n   * A Provision is a record that contains the version of the catalog a store was installed on.\n   * Only one Provision entity can exist per tenant. Retrieving a provision is managed completely by\n   * callScope, no api parameters are needed.\n   *\n   * Services should only use this service if they are part of the install flow.\n   */\n  interface Provision$1 {\n      /**\n       * Provision ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the Provision is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the Provision.\n       * Ignored when creating a Provision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the Provision was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the Provision was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Version of the catalog this store was provisioned on. DO NOT USE unless part of the install flow */\n      catalogVersion?: Version$1;\n  }\n  enum Version$1 {\n      UNKNOWN_VERSION = \"UNKNOWN_VERSION\",\n      V1_CATALOG = \"V1_CATALOG\",\n      V3_CATALOG = \"V3_CATALOG\"\n  }\n  interface DefaultDeliveryProfileSetup$1 {\n      /** metasite id of site */\n      metaSiteId?: string | null;\n  }\n  interface GetCatalogVersionRequest$1 {\n  }\n  interface GetCatalogVersionResponse$1 {\n      /** The version of the Stores Catalog installed on a site. */\n      catalogVersion?: Version$1;\n  }\n  interface GetProvisionRequest {\n      /** Store this store was cloned from. If store was not cloned, leave empty */\n      originalInstanceId?: string | null;\n  }\n  interface GetProvisionResponse {\n      /** The requested Provision. */\n      provision?: Provision$1;\n  }\n  interface InstallBassAppDependencyRequest$1 {\n  }\n  interface InstallBassAppDependencyResponse$1 {\n  }\n  interface MetaSiteSpecialEvent$1 extends MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /** A list of \"assets\" (applications). The same as MetaSiteContext. */\n      assets?: Asset$1[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf$1 {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated$1;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred$1;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted$1;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted$1;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished$1;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished$1;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate$1;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite$1;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned$1;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved$1;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed$1;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted$1;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged$1;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned$1;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned$1;\n  }\n  interface Asset$1 {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State$2;\n  }\n  enum State$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated$1 {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext$1;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace$1;\n  }\n  enum SiteCreatedContext$1 {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace$1 {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred$1 {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface DeleteContext$1 {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date;\n      /** A status. */\n      deleteStatus?: DeleteStatus$1;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus$1 {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted$1 {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished$1 {\n  }\n  interface SiteUnpublished$1 {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate$1 {\n  }\n  interface SiteMarkedAsWixSite$1 {\n  }\n  interface ServiceProvisioned$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  interface ServiceRemoved$1 {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed$1 {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted$1 {\n      /** A deletion context. */\n      deleteContext?: DeleteContext$1;\n  }\n  interface NamespaceChanged$1 {\n      /** A previous namespace. */\n      oldNamespace?: Namespace$1;\n      /** A new namespace. */\n      newNamespace?: Namespace$1;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned$1 {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned$1 {\n  }\n  interface Empty$8 {\n  }\n  interface MessageEnvelope$8 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$8;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$8 extends IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$8;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$8 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$8 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the version of Stores Catalog installed on a site.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getCatalogVersion$1(): Promise<GetCatalogVersionResponse$1>;\n  \n  type storesCatalogV1Provision_universal_d_GetProvisionRequest = GetProvisionRequest;\n  type storesCatalogV1Provision_universal_d_GetProvisionResponse = GetProvisionResponse;\n  namespace storesCatalogV1Provision_universal_d {\n    export {\n      Provision$1 as Provision,\n      Version$1 as Version,\n      DefaultDeliveryProfileSetup$1 as DefaultDeliveryProfileSetup,\n      GetCatalogVersionRequest$1 as GetCatalogVersionRequest,\n      GetCatalogVersionResponse$1 as GetCatalogVersionResponse,\n      storesCatalogV1Provision_universal_d_GetProvisionRequest as GetProvisionRequest,\n      storesCatalogV1Provision_universal_d_GetProvisionResponse as GetProvisionResponse,\n      InstallBassAppDependencyRequest$1 as InstallBassAppDependencyRequest,\n      InstallBassAppDependencyResponse$1 as InstallBassAppDependencyResponse,\n      MetaSiteSpecialEvent$1 as MetaSiteSpecialEvent,\n      MetaSiteSpecialEventPayloadOneOf$1 as MetaSiteSpecialEventPayloadOneOf,\n      Asset$1 as Asset,\n      State$2 as State,\n      SiteCreated$1 as SiteCreated,\n      SiteCreatedContext$1 as SiteCreatedContext,\n      Namespace$1 as Namespace,\n      SiteTransferred$1 as SiteTransferred,\n      SiteDeleted$1 as SiteDeleted,\n      DeleteContext$1 as DeleteContext,\n      DeleteStatus$1 as DeleteStatus,\n      SiteUndeleted$1 as SiteUndeleted,\n      SitePublished$1 as SitePublished,\n      SiteUnpublished$1 as SiteUnpublished,\n      SiteMarkedAsTemplate$1 as SiteMarkedAsTemplate,\n      SiteMarkedAsWixSite$1 as SiteMarkedAsWixSite,\n      ServiceProvisioned$1 as ServiceProvisioned,\n      ServiceRemoved$1 as ServiceRemoved,\n      SiteRenamed$1 as SiteRenamed,\n      SiteHardDeleted$1 as SiteHardDeleted,\n      NamespaceChanged$1 as NamespaceChanged,\n      StudioAssigned$1 as StudioAssigned,\n      StudioUnassigned$1 as StudioUnassigned,\n      Empty$8 as Empty,\n      MessageEnvelope$8 as MessageEnvelope,\n      IdentificationData$8 as IdentificationData,\n      IdentificationDataIdOneOf$8 as IdentificationDataIdOneOf,\n      WebhookIdentityType$8 as WebhookIdentityType,\n      getCatalogVersion$1 as getCatalogVersion,\n    };\n  }\n  \n  /**\n   * A brand is a visible property of a product.\n   * Adding brands to your products can help improve site and product visibility on search engines.\n   */\n  interface Brand$1 {\n      /**\n       * Brand ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the brand is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the brand.\n       *\n       * Ignored when creating a brand.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the brand was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the brand was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Brand name.\n       * >**Note:** `name` must be unique.\n       */\n      name?: string;\n      /**\n       * Number of products this brand is assigned to.\n       * > **Note:** Returned only when you pass `\"ASSIGNED_PRODUCTS_COUNT\"` to the `fields` array in Brand API requests.\n       * @readonly\n       */\n      assignedProductsCount?: number | null;\n  }\n  interface InvalidateCache$6 extends InvalidateCacheGetByOneOf$6 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$6;\n      /** Invalidate by page id */\n      page?: Page$6;\n      /** Invalidate by URI path */\n      uri?: URI$6;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$6;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$6 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$6;\n      /** Invalidate by page id */\n      page?: Page$6;\n      /** Invalidate by URI path */\n      uri?: URI$6;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$6;\n  }\n  interface App$6 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$6 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$6 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$6 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateBrandRequest {\n      /** Brand to create. */\n      brand: Brand$1;\n  }\n  interface CreateBrandResponse {\n      /** Created brand. */\n      brand?: Brand$1;\n  }\n  interface GetBrandRequest {\n      /** Brand ID. */\n      brandId: string;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  enum RequestedFields$4 {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      ASSIGNED_PRODUCTS_COUNT = \"ASSIGNED_PRODUCTS_COUNT\"\n  }\n  interface GetBrandResponse {\n      /** Brand. */\n      brand?: Brand$1;\n  }\n  interface UpdateBrandRequest {\n      /** Brand to update. */\n      brand: Brand$1;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  interface UpdateBrandResponse {\n      /** Updated brand. */\n      brand?: Brand$1;\n  }\n  interface DeleteBrandRequest {\n      /** Brand ID. */\n      brandId: string;\n  }\n  interface DeleteBrandResponse {\n  }\n  interface QueryBrandsRequest {\n      /** Query options. */\n      query?: CursorQuery$5;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  interface CursorQuery$5 extends CursorQueryPagingMethodOneOf$5 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$6;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$6[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$5 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$6;\n  }\n  interface Sorting$6 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$6;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$6 {\n      /** Ascending order. */\n      ASC = \"ASC\",\n      /** Descending order. */\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$6 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryBrandsResponse {\n      /** List of brands. */\n      brands?: Brand$1[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$6;\n  }\n  interface CursorPagingMetadata$6 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$6;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$6 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkCreateBrandsRequest {\n      /** Brands to create. */\n      brands: Brand$1[];\n      /**\n       * Whether to return the full created brand entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateBrandsResponse {\n      /** Brands created by bulk action. */\n      results?: BulkBrandsResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$5;\n  }\n  interface BulkBrandsResult {\n      /** Bulk action metadata for brand. */\n      itemMetadata?: ItemMetadata$5;\n      /**\n       * Full brand entity.\n       *\n       * Returned only if `returnEntity: true` is passed in the request.\n       */\n      item?: Brand$1;\n  }\n  interface ItemMetadata$5 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$5;\n  }\n  interface ApplicationError$5 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$5 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateBrandsRequest {\n      /** List of brands to update. */\n      brands: MaskedBrand[];\n      /**\n       * Whether to return the full updated brand entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  interface MaskedBrand {\n      /** Brand to update. */\n      brand?: Brand$1;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateBrandsResponse {\n      /** Brands updated by bulk action. */\n      results?: BulkBrandsResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$5;\n  }\n  interface GetOrCreateBrandRequest {\n      /** Brand name to retrieve or create. */\n      brandName: string;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  interface GetOrCreateBrandResponse {\n      /** Brand. */\n      brand?: Brand$1;\n  }\n  interface BulkGetOrCreateBrandsRequest {\n      /** Brand names to retrieve or create. */\n      brandNames: string[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  interface BulkGetOrCreateBrandsResponse {\n      /** Brands retrieved or created by bulk action. */\n      results?: BulkBrandsResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$5;\n  }\n  interface BulkDeleteBrandsRequest {\n      /** IDs of brands to delete. */\n      brandIds: string[];\n  }\n  interface BulkDeleteBrandsResponse {\n      /** Brands deleted by bulk action. */\n      results?: BulkDeleteBrandsResponseBulkBrandsResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$5;\n  }\n  interface BulkDeleteBrandsResponseBulkBrandsResult {\n      /** Bulk action metadata for brand. */\n      itemMetadata?: ItemMetadata$5;\n  }\n  interface DomainEvent$7 extends DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$7 {\n      createdEvent?: EntityCreatedEvent$7;\n      updatedEvent?: EntityUpdatedEvent$7;\n      deletedEvent?: EntityDeletedEvent$7;\n      actionEvent?: ActionEvent$7;\n  }\n  interface EntityCreatedEvent$7 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$7;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$7 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$7 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$7 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$7 {\n      bodyAsJson?: string;\n  }\n  interface Empty$7 {\n  }\n  interface MessageEnvelope$7 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$7;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$7 extends IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$7;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$7 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$7 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a brand.\n   *\n   * To assign the brand to a product, include the `brand.id` or `brand.name`\n   * when [creating](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/products-v3/create-product) or\n   * [updating](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/products-v3/update-product) a product.\n   * @param brand - Brand to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField brand\n   * @requiredField brand.name\n   * @permissionId WIX_STORES.BRAND_CREATE\n   * @adminMethod\n   * @returns Created brand.\n   */\n  function createBrand(brand: Brand$1): Promise<Brand$1>;\n  /**\n   * Retrieves a brand.\n   * @param brandId - Brand ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField brandId\n   * @permissionId WIX_STORES.BRAND_READ\n   * @returns Brand.\n   */\n  function getBrand(brandId: string, options?: GetBrandOptions): Promise<Brand$1>;\n  interface GetBrandOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  /**\n   * Updates a brand.\n   *\n   * Each time the brand is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the brand.\n   * This ensures you're working with the latest brand and prevents unintended overwrites.\n   * @param _id - Brand ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField brand\n   * @requiredField brand.revision\n   * @permissionId WIX_STORES.BRAND_UPDATE\n   * @adminMethod\n   * @returns Updated brand.\n   */\n  function updateBrand(_id: string | null, brand: UpdateBrand, options?: UpdateBrandOptions): Promise<Brand$1>;\n  interface UpdateBrand {\n      /**\n       * Brand ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the brand is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the brand.\n       *\n       * Ignored when creating a brand.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the brand was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the brand was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Brand name.\n       * >**Note:** `name` must be unique.\n       */\n      name?: string;\n      /**\n       * Number of products this brand is assigned to.\n       * > **Note:** Returned only when you pass `\"ASSIGNED_PRODUCTS_COUNT\"` to the `fields` array in Brand API requests.\n       * @readonly\n       */\n      assignedProductsCount?: number | null;\n  }\n  interface UpdateBrandOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  /**\n   * Deletes a brand.\n   *\n   * > **Note:** Deleting a brand will also remove it from all products it is assigned to.\n   * @param brandId - Brand ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField brandId\n   * @permissionId WIX_STORES.BRAND_DELETE\n   * @adminMethod\n   */\n  function deleteBrand(brandId: string): Promise<void>;\n  /**\n   * Retrieves a list of up to 100 brands, given the provided filtering, sorting, and cursor paging.\n   * Pass supported values to the `fields` array in the request to include those fields in the response.\n   *\n   *\n   * Query Brands runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `cursorPaging.limit` is `100`\n   *\n   * For field support for filters and sorting,\n   * see [Brands: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/brands-v3/supported-filters-and-sorting).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.BRAND_READ\n   */\n  function queryBrands(options?: QueryBrandsOptions): BrandsQueryBuilder;\n  interface QueryBrandsOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[] | undefined;\n  }\n  interface QueryCursorResult$6 {\n      cursors: Cursors$6;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface BrandsQueryResult extends QueryCursorResult$6 {\n      items: Brand$1[];\n      query: BrandsQueryBuilder;\n      next: () => Promise<BrandsQueryResult>;\n      prev: () => Promise<BrandsQueryResult>;\n  }\n  interface BrandsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => BrandsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => BrandsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => BrandsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => BrandsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => BrandsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => BrandsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name', value: string) => BrandsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any[]) => BrandsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => BrandsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: boolean) => BrandsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'name'>) => BrandsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'name'>) => BrandsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => BrandsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => BrandsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<BrandsQueryResult>;\n  }\n  /**\n   * Creates multiple brands.\n   * @param brands - Brands to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField brands\n   * @requiredField brands.name\n   * @permissionId WIX_STORES.BRAND_CREATE\n   * @adminMethod\n   */\n  function bulkCreateBrands(brands: Brand$1[], options?: BulkCreateBrandsOptions): Promise<BulkCreateBrandsResponse>;\n  interface BulkCreateBrandsOptions {\n      /**\n       * Whether to return the full created brand entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Updates multiple brands.\n   *\n   * Each time a brand is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating a brand.\n   * This ensures you're working with the latest brand and prevents unintended overwrites.\n   * @param brands - List of brands to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField brands\n   * @requiredField brands.brand._id\n   * @requiredField brands.brand.revision\n   * @permissionId WIX_STORES.BRAND_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateBrands(brands: MaskedBrand[], options?: BulkUpdateBrandsOptions): Promise<BulkUpdateBrandsResponse>;\n  interface BulkUpdateBrandsOptions {\n      /**\n       * Whether to return the full updated brand entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  /**\n   * Retrieves a brand by name, or creates a brand if one with the passed `brandName` doesn't exist.\n   * @param brandName - Brand name to retrieve or create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField brandName\n   * @permissionId WIX_STORES.BRAND_GET_OR_CREATE\n   * @adminMethod\n   */\n  function getOrCreateBrand(brandName: string, options?: GetOrCreateBrandOptions): Promise<GetOrCreateBrandResponse>;\n  interface GetOrCreateBrandOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  /**\n   * Retrieves multiple brands by name, or creates multiple brands if those with the passed `ribbonNames` don't exist.\n   * @param brandNames - Brand names to retrieve or create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField brandNames\n   * @permissionId WIX_STORES.BRAND_GET_OR_CREATE\n   * @adminMethod\n   */\n  function bulkGetOrCreateBrands(brandNames: string[], options?: BulkGetOrCreateBrandsOptions): Promise<BulkGetOrCreateBrandsResponse>;\n  interface BulkGetOrCreateBrandsOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$4[];\n  }\n  /**\n   * Deletes multiple brands.\n   * @param brandIds - IDs of brands to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField brandIds\n   * @permissionId WIX_STORES.BRAND_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteBrands(brandIds: string[]): Promise<BulkDeleteBrandsResponse>;\n  \n  type storesCatalogV3Brand_universal_d_CreateBrandRequest = CreateBrandRequest;\n  type storesCatalogV3Brand_universal_d_CreateBrandResponse = CreateBrandResponse;\n  type storesCatalogV3Brand_universal_d_GetBrandRequest = GetBrandRequest;\n  type storesCatalogV3Brand_universal_d_GetBrandResponse = GetBrandResponse;\n  type storesCatalogV3Brand_universal_d_UpdateBrandRequest = UpdateBrandRequest;\n  type storesCatalogV3Brand_universal_d_UpdateBrandResponse = UpdateBrandResponse;\n  type storesCatalogV3Brand_universal_d_DeleteBrandRequest = DeleteBrandRequest;\n  type storesCatalogV3Brand_universal_d_DeleteBrandResponse = DeleteBrandResponse;\n  type storesCatalogV3Brand_universal_d_QueryBrandsRequest = QueryBrandsRequest;\n  type storesCatalogV3Brand_universal_d_QueryBrandsResponse = QueryBrandsResponse;\n  type storesCatalogV3Brand_universal_d_BulkCreateBrandsRequest = BulkCreateBrandsRequest;\n  type storesCatalogV3Brand_universal_d_BulkCreateBrandsResponse = BulkCreateBrandsResponse;\n  type storesCatalogV3Brand_universal_d_BulkBrandsResult = BulkBrandsResult;\n  type storesCatalogV3Brand_universal_d_BulkUpdateBrandsRequest = BulkUpdateBrandsRequest;\n  type storesCatalogV3Brand_universal_d_MaskedBrand = MaskedBrand;\n  type storesCatalogV3Brand_universal_d_BulkUpdateBrandsResponse = BulkUpdateBrandsResponse;\n  type storesCatalogV3Brand_universal_d_GetOrCreateBrandRequest = GetOrCreateBrandRequest;\n  type storesCatalogV3Brand_universal_d_GetOrCreateBrandResponse = GetOrCreateBrandResponse;\n  type storesCatalogV3Brand_universal_d_BulkGetOrCreateBrandsRequest = BulkGetOrCreateBrandsRequest;\n  type storesCatalogV3Brand_universal_d_BulkGetOrCreateBrandsResponse = BulkGetOrCreateBrandsResponse;\n  type storesCatalogV3Brand_universal_d_BulkDeleteBrandsRequest = BulkDeleteBrandsRequest;\n  type storesCatalogV3Brand_universal_d_BulkDeleteBrandsResponse = BulkDeleteBrandsResponse;\n  type storesCatalogV3Brand_universal_d_BulkDeleteBrandsResponseBulkBrandsResult = BulkDeleteBrandsResponseBulkBrandsResult;\n  const storesCatalogV3Brand_universal_d_createBrand: typeof createBrand;\n  const storesCatalogV3Brand_universal_d_getBrand: typeof getBrand;\n  type storesCatalogV3Brand_universal_d_GetBrandOptions = GetBrandOptions;\n  const storesCatalogV3Brand_universal_d_updateBrand: typeof updateBrand;\n  type storesCatalogV3Brand_universal_d_UpdateBrand = UpdateBrand;\n  type storesCatalogV3Brand_universal_d_UpdateBrandOptions = UpdateBrandOptions;\n  const storesCatalogV3Brand_universal_d_deleteBrand: typeof deleteBrand;\n  const storesCatalogV3Brand_universal_d_queryBrands: typeof queryBrands;\n  type storesCatalogV3Brand_universal_d_QueryBrandsOptions = QueryBrandsOptions;\n  type storesCatalogV3Brand_universal_d_BrandsQueryResult = BrandsQueryResult;\n  type storesCatalogV3Brand_universal_d_BrandsQueryBuilder = BrandsQueryBuilder;\n  const storesCatalogV3Brand_universal_d_bulkCreateBrands: typeof bulkCreateBrands;\n  type storesCatalogV3Brand_universal_d_BulkCreateBrandsOptions = BulkCreateBrandsOptions;\n  const storesCatalogV3Brand_universal_d_bulkUpdateBrands: typeof bulkUpdateBrands;\n  type storesCatalogV3Brand_universal_d_BulkUpdateBrandsOptions = BulkUpdateBrandsOptions;\n  const storesCatalogV3Brand_universal_d_getOrCreateBrand: typeof getOrCreateBrand;\n  type storesCatalogV3Brand_universal_d_GetOrCreateBrandOptions = GetOrCreateBrandOptions;\n  const storesCatalogV3Brand_universal_d_bulkGetOrCreateBrands: typeof bulkGetOrCreateBrands;\n  type storesCatalogV3Brand_universal_d_BulkGetOrCreateBrandsOptions = BulkGetOrCreateBrandsOptions;\n  const storesCatalogV3Brand_universal_d_bulkDeleteBrands: typeof bulkDeleteBrands;\n  namespace storesCatalogV3Brand_universal_d {\n    export {\n      Brand$1 as Brand,\n      InvalidateCache$6 as InvalidateCache,\n      InvalidateCacheGetByOneOf$6 as InvalidateCacheGetByOneOf,\n      App$6 as App,\n      Page$6 as Page,\n      URI$6 as URI,\n      File$6 as File,\n      storesCatalogV3Brand_universal_d_CreateBrandRequest as CreateBrandRequest,\n      storesCatalogV3Brand_universal_d_CreateBrandResponse as CreateBrandResponse,\n      storesCatalogV3Brand_universal_d_GetBrandRequest as GetBrandRequest,\n      RequestedFields$4 as RequestedFields,\n      storesCatalogV3Brand_universal_d_GetBrandResponse as GetBrandResponse,\n      storesCatalogV3Brand_universal_d_UpdateBrandRequest as UpdateBrandRequest,\n      storesCatalogV3Brand_universal_d_UpdateBrandResponse as UpdateBrandResponse,\n      storesCatalogV3Brand_universal_d_DeleteBrandRequest as DeleteBrandRequest,\n      storesCatalogV3Brand_universal_d_DeleteBrandResponse as DeleteBrandResponse,\n      storesCatalogV3Brand_universal_d_QueryBrandsRequest as QueryBrandsRequest,\n      CursorQuery$5 as CursorQuery,\n      CursorQueryPagingMethodOneOf$5 as CursorQueryPagingMethodOneOf,\n      Sorting$6 as Sorting,\n      SortOrder$6 as SortOrder,\n      CursorPaging$6 as CursorPaging,\n      storesCatalogV3Brand_universal_d_QueryBrandsResponse as QueryBrandsResponse,\n      CursorPagingMetadata$6 as CursorPagingMetadata,\n      Cursors$6 as Cursors,\n      storesCatalogV3Brand_universal_d_BulkCreateBrandsRequest as BulkCreateBrandsRequest,\n      storesCatalogV3Brand_universal_d_BulkCreateBrandsResponse as BulkCreateBrandsResponse,\n      storesCatalogV3Brand_universal_d_BulkBrandsResult as BulkBrandsResult,\n      ItemMetadata$5 as ItemMetadata,\n      ApplicationError$5 as ApplicationError,\n      BulkActionMetadata$5 as BulkActionMetadata,\n      storesCatalogV3Brand_universal_d_BulkUpdateBrandsRequest as BulkUpdateBrandsRequest,\n      storesCatalogV3Brand_universal_d_MaskedBrand as MaskedBrand,\n      storesCatalogV3Brand_universal_d_BulkUpdateBrandsResponse as BulkUpdateBrandsResponse,\n      storesCatalogV3Brand_universal_d_GetOrCreateBrandRequest as GetOrCreateBrandRequest,\n      storesCatalogV3Brand_universal_d_GetOrCreateBrandResponse as GetOrCreateBrandResponse,\n      storesCatalogV3Brand_universal_d_BulkGetOrCreateBrandsRequest as BulkGetOrCreateBrandsRequest,\n      storesCatalogV3Brand_universal_d_BulkGetOrCreateBrandsResponse as BulkGetOrCreateBrandsResponse,\n      storesCatalogV3Brand_universal_d_BulkDeleteBrandsRequest as BulkDeleteBrandsRequest,\n      storesCatalogV3Brand_universal_d_BulkDeleteBrandsResponse as BulkDeleteBrandsResponse,\n      storesCatalogV3Brand_universal_d_BulkDeleteBrandsResponseBulkBrandsResult as BulkDeleteBrandsResponseBulkBrandsResult,\n      DomainEvent$7 as DomainEvent,\n      DomainEventBodyOneOf$7 as DomainEventBodyOneOf,\n      EntityCreatedEvent$7 as EntityCreatedEvent,\n      RestoreInfo$7 as RestoreInfo,\n      EntityUpdatedEvent$7 as EntityUpdatedEvent,\n      EntityDeletedEvent$7 as EntityDeletedEvent,\n      ActionEvent$7 as ActionEvent,\n      Empty$7 as Empty,\n      MessageEnvelope$7 as MessageEnvelope,\n      IdentificationData$7 as IdentificationData,\n      IdentificationDataIdOneOf$7 as IdentificationDataIdOneOf,\n      WebhookIdentityType$7 as WebhookIdentityType,\n      storesCatalogV3Brand_universal_d_createBrand as createBrand,\n      storesCatalogV3Brand_universal_d_getBrand as getBrand,\n      storesCatalogV3Brand_universal_d_GetBrandOptions as GetBrandOptions,\n      storesCatalogV3Brand_universal_d_updateBrand as updateBrand,\n      storesCatalogV3Brand_universal_d_UpdateBrand as UpdateBrand,\n      storesCatalogV3Brand_universal_d_UpdateBrandOptions as UpdateBrandOptions,\n      storesCatalogV3Brand_universal_d_deleteBrand as deleteBrand,\n      storesCatalogV3Brand_universal_d_queryBrands as queryBrands,\n      storesCatalogV3Brand_universal_d_QueryBrandsOptions as QueryBrandsOptions,\n      storesCatalogV3Brand_universal_d_BrandsQueryResult as BrandsQueryResult,\n      storesCatalogV3Brand_universal_d_BrandsQueryBuilder as BrandsQueryBuilder,\n      storesCatalogV3Brand_universal_d_bulkCreateBrands as bulkCreateBrands,\n      storesCatalogV3Brand_universal_d_BulkCreateBrandsOptions as BulkCreateBrandsOptions,\n      storesCatalogV3Brand_universal_d_bulkUpdateBrands as bulkUpdateBrands,\n      storesCatalogV3Brand_universal_d_BulkUpdateBrandsOptions as BulkUpdateBrandsOptions,\n      storesCatalogV3Brand_universal_d_getOrCreateBrand as getOrCreateBrand,\n      storesCatalogV3Brand_universal_d_GetOrCreateBrandOptions as GetOrCreateBrandOptions,\n      storesCatalogV3Brand_universal_d_bulkGetOrCreateBrands as bulkGetOrCreateBrands,\n      storesCatalogV3Brand_universal_d_BulkGetOrCreateBrandsOptions as BulkGetOrCreateBrandsOptions,\n      storesCatalogV3Brand_universal_d_bulkDeleteBrands as bulkDeleteBrands,\n    };\n  }\n  \n  /**\n   * Customizations include options and modifiers which can later be applied to products.\n   * Options are designed to add variations to a product, where modifiers add a customizable change to the product but without creating another variant.\n   */\n  interface Customization extends CustomizationCustomizationSettingsOneOf {\n      /**\n       * Free text input settings.\n       *\n       * > **Note:** To be passed along with `customizationRenderType: FREE_TEXT`.\n       */\n      freeTextInput?: FreeTextSettings$1;\n      /**\n       * Choices settings.\n       *\n       * > **Note:** Must be passed along with `customizationRenderType` of `SWATCH_CHOICES` and `TEXT_CHOICES`.\n       */\n      choicesSettings?: ChoicesSettings$1;\n      /**\n       * Customization ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the customization is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the customization.\n       *\n       * Ignored when creating a customization.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the customization was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the customization was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * A read-only key generated based on choice name. Used for eCommerce integration.\n       * @internal\n       * @readonly\n       */\n      key?: string | null;\n      /** Customization name for options (for example, `\"color\"`, `\"size\"`) and modifiers (for example, `\"greeting card\"`). */\n      name?: string;\n      /** Customization type. */\n      customizationType?: CustomizationType;\n      /**\n       * Customization render type.\n       *\n       * Defines how the customization will be displayed in the storefront.\n       */\n      customizationRenderType?: CustomizationRenderType;\n      /**\n       * Number of products this customization is assigned to.\n       * > **Note:** Returned only when you pass `\"ASSIGNED_PRODUCTS_COUNT\"` to the `fields` array in Customizations API requests.\n       * @readonly\n       */\n      assignedProductsCount?: number | null;\n  }\n  /** @oneof */\n  interface CustomizationCustomizationSettingsOneOf {\n      /**\n       * Free text input settings.\n       *\n       * > **Note:** To be passed along with `customizationRenderType: FREE_TEXT`.\n       */\n      freeTextInput?: FreeTextSettings$1;\n      /**\n       * Choices settings.\n       *\n       * > **Note:** Must be passed along with `customizationRenderType` of `SWATCH_CHOICES` and `TEXT_CHOICES`.\n       */\n      choicesSettings?: ChoicesSettings$1;\n  }\n  enum CustomizationType {\n      UNKNOWN_CUSTOMIZATION_TYPE = \"UNKNOWN_CUSTOMIZATION_TYPE\",\n      PRODUCT_OPTION = \"PRODUCT_OPTION\",\n      MODIFIER = \"MODIFIER\"\n  }\n  enum CustomizationRenderType {\n      UNKNOWN_CUSTOMIZATION_RENDER_TYPE = \"UNKNOWN_CUSTOMIZATION_RENDER_TYPE\",\n      FREE_TEXT = \"FREE_TEXT\",\n      TEXT_CHOICES = \"TEXT_CHOICES\",\n      SWATCH_CHOICES = \"SWATCH_CHOICES\"\n  }\n  interface FreeTextSettings$1 {\n      /** Minimum text character length. */\n      minCharCount?: number;\n      /** Maximum text character length. */\n      maxCharCount?: number;\n      /** Default amount added to a product's price when this choice is assigned to a modifier. */\n      defaultAddedPrice?: string | null;\n      /** Title to display to customer for their free-text input. */\n      title?: string;\n      /**\n       * A read-only key generated based on choice name. Used for eCommerce integration.\n       * @internal\n       * @readonly\n       */\n      key?: string | null;\n  }\n  interface ChoicesSettings$1 {\n      /** List of choices. */\n      choices?: Choice[];\n  }\n  interface Choice extends ChoiceValueOneOf {\n      /** Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). */\n      colorCode?: string;\n      /**\n       * Multiple colors - HEX (#RRGGBB) color code\n       * @internal\n       */\n      colorCodes?: MultipleColors$1;\n      /**\n       * Image\n       * @internal\n       */\n      image?: string;\n      /**\n       * Choice ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Choice type.\n       *\n       * > **Notes:**\n       * > + For `customizationRenderType: SWATCH_CHOICES`, the supported `choiceType` values are: `ONE_COLOR`, `MULTIPLE_COLORS`, or `IMAGE`.\n       * > + For a `customizationRenderType` of `TEXT_CHOICES` and `FREE_TEXT`, the supported `choiceType` value is: `CHOICE_TEXT`.\n       */\n      choiceType?: ChoiceType$1;\n      /**\n       * A read-only key generated based on choice name. Used for eCommerce integration.\n       * @readonly\n       */\n      key?: string | null;\n      /** Choice name. */\n      name?: string;\n      /** Default amount added to a product's price when this customization is assigned to a modifier. */\n      defaultAddedPrice?: string | null;\n      /**\n       * Number of products this choice is assigned to .\n       * @readonly\n       */\n      assignedProductsCount?: number;\n  }\n  /** @oneof */\n  interface ChoiceValueOneOf {\n      /** Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). */\n      colorCode?: string;\n      /**\n       * Multiple colors - HEX (#RRGGBB) color code\n       * @internal\n       */\n      colorCodes?: MultipleColors$1;\n      /**\n       * Image\n       * @internal\n       */\n      image?: string;\n  }\n  enum ChoiceType$1 {\n      UNKNOWN_CHOICE_TYPE = \"UNKNOWN_CHOICE_TYPE\",\n      /** For a `customizationRenderType` of `TEXT_CHOICES` and `FREE_TEXT`. */\n      CHOICE_TEXT = \"CHOICE_TEXT\",\n      /** For `customizationRenderType: SWATCH_CHOICES`. */\n      ONE_COLOR = \"ONE_COLOR\",\n      /** For `customizationRenderType: SWATCH_CHOICES`. */\n      MULTIPLE_COLORS = \"MULTIPLE_COLORS\",\n      /** For `customizationRenderType: SWATCH_CHOICES`. */\n      IMAGE = \"IMAGE\"\n  }\n  interface MultipleColors$1 {\n      /** A list of color codes. */\n      colorCodes?: string[];\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface InvalidateCache$5 extends InvalidateCacheGetByOneOf$5 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$5;\n      /** Invalidate by page id */\n      page?: Page$5;\n      /** Invalidate by URI path */\n      uri?: URI$5;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$5;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$5 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$5;\n      /** Invalidate by page id */\n      page?: Page$5;\n      /** Invalidate by URI path */\n      uri?: URI$5;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$5;\n  }\n  interface App$5 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$5 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$5 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$5 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateCustomizationRequest {\n      /** Customization to create. */\n      customization: Customization;\n  }\n  interface CreateCustomizationResponse {\n      /** Created customization. */\n      customization?: Customization;\n  }\n  interface GetCustomizationRequest {\n      /** Customization ID. */\n      customizationId: string;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  enum RequestedFields$3 {\n      /** Unknown requested field. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Assigned products count. */\n      ASSIGNED_PRODUCTS_COUNT = \"ASSIGNED_PRODUCTS_COUNT\"\n  }\n  interface GetCustomizationResponse {\n      /** Customization. */\n      customization?: Customization;\n  }\n  interface UpdateCustomizationRequest {\n      /** Customization to update. */\n      customization: Customization;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  interface UpdateCustomizationResponse {\n      /** Updated customization. */\n      customization?: Customization;\n  }\n  interface DeleteCustomizationRequest {\n      /** Customization ID. */\n      customizationId: string;\n  }\n  interface DeleteCustomizationResponse {\n  }\n  interface QueryCustomizationsRequest {\n      /** Query options. */\n      query?: CursorQuery$4;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  interface CursorQuery$4 extends CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$5[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$4 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$5;\n  }\n  interface Sorting$5 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$5;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$5 {\n      /** Ascending order. */\n      ASC = \"ASC\",\n      /** Descending order. */\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$5 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryCustomizationsResponse {\n      /** List of customizations. */\n      customizations?: Customization[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata$5;\n  }\n  interface CursorPagingMetadata$5 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$5;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$5 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkCreateCustomizationsRequest {\n      /** Customizations to create. */\n      customizations: Customization[];\n      /**\n       * Whether to return the full customization entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateCustomizationsResponse {\n      /** Customizations created by bulk action. */\n      results?: BulkCustomizationResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$4;\n  }\n  interface BulkCustomizationResult {\n      /** Bulk action metadata for customization. */\n      itemMetadata?: ItemMetadata$4;\n      /**\n       * Full customization entity.\n       *\n       * Returned only if `returnEntity: true` is passed in the request.\n       */\n      customization?: Customization;\n  }\n  interface ItemMetadata$4 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$4;\n  }\n  interface ApplicationError$4 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$4 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface CustomizationIdsWrapper {\n      /**\n       * list of all the customization ids that are invalid\n       * e.g list of failed choices ids\n       */\n      customizationIds?: string[];\n  }\n  interface AddCustomizationChoicesRequest {\n      /** Customization ID. */\n      customizationId: string;\n      /** Choices to add. */\n      choices: Choice[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  interface AddCustomizationChoicesResponse {\n      /** Updated customization. */\n      customization?: Customization;\n  }\n  interface SetCustomizationChoicesRequest {\n      /** Customization ID. */\n      customizationId: string;\n      /** Choices to set. */\n      choices: Choice[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  interface SetCustomizationChoicesResponse {\n      /** Updated customization. */\n      customization?: Customization;\n  }\n  interface RemoveCustomizationChoicesRequest {\n      /** Customization ID. */\n      customizationId: string;\n      /** IDs of choices to remove. */\n      choiceIds: string[];\n      /** Customization revision. */\n      revision?: string;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  interface RemoveCustomizationChoicesResponse {\n      /** Updated customization. */\n      customization?: Customization;\n  }\n  interface BulkAddCustomizationChoicesRequest {\n      /** List of customization IDs and choices. */\n      customizationsChoices: CustomizationChoices[];\n      /**\n       * Whether to return the full customization entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  interface CustomizationChoices {\n      /** Customization ID. */\n      customizationId?: string;\n      /** Choices to add. */\n      choices?: Choice[];\n  }\n  interface BulkAddCustomizationChoicesResponse {\n      /** Customizations updated by bulk action. */\n      results?: BulkCustomizationResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$4;\n  }\n  interface BulkUpdateCustomizationsRequest {\n      /** List of customizations to update. */\n      customizations: MaskedCustomization[];\n      /**\n       * Whether to return the full customization entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  interface MaskedCustomization {\n      /** Customization to update. */\n      customization?: Customization;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateCustomizationsResponse {\n      /** Customizations updated by bulk action. */\n      results?: BulkCustomizationResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$4;\n  }\n  interface DomainEvent$6 extends DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$6 {\n      createdEvent?: EntityCreatedEvent$6;\n      updatedEvent?: EntityUpdatedEvent$6;\n      deletedEvent?: EntityDeletedEvent$6;\n      actionEvent?: ActionEvent$6;\n  }\n  interface EntityCreatedEvent$6 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$6;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$6 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$6 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$6 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$6 {\n      bodyAsJson?: string;\n  }\n  interface Empty$6 {\n  }\n  interface MessageEnvelope$6 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$6;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$6 extends IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$6;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$6 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$6 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a customization.\n   * @param customization - Customization to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField customization\n   * @requiredField customization.choicesSettings.choices\n   * @requiredField customization.customizationRenderType\n   * @requiredField customization.customizationType\n   * @requiredField customization.freeTextInput.title\n   * @requiredField customization.name\n   * @permissionId WIX_STORES.CUSTOMIZATION_CREATE\n   * @adminMethod\n   * @returns Created customization.\n   */\n  function createCustomization(customization: Customization): Promise<Customization>;\n  /**\n   * Retrieves a customization.\n   * @param customizationId - Customization ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField customizationId\n   * @permissionId WIX_STORES.CUSTOMIZATION_READ\n   * @returns Customization.\n   */\n  function getCustomization(customizationId: string, options?: GetCustomizationOptions): Promise<Customization>;\n  interface GetCustomizationOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  /**\n   * Updates a customization.\n   *\n   * Each time the customization is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the customization.\n   * This ensures you're working with the latest customization and prevents unintended overwrites.\n   * @param _id - Customization ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField customization\n   * @requiredField customization.revision\n   * @permissionId WIX_STORES.CUSTOMIZATION_UPDATE\n   * @adminMethod\n   * @returns Updated customization.\n   */\n  function updateCustomization(_id: string | null, customization: UpdateCustomization, options?: UpdateCustomizationOptions): Promise<Customization>;\n  interface UpdateCustomization {\n      /**\n       * Free text input settings.\n       *\n       * > **Note:** To be passed along with `customizationRenderType: FREE_TEXT`.\n       */\n      freeTextInput?: FreeTextSettings$1;\n      /**\n       * Choices settings.\n       *\n       * > **Note:** Must be passed along with `customizationRenderType` of `SWATCH_CHOICES` and `TEXT_CHOICES`.\n       */\n      choicesSettings?: ChoicesSettings$1;\n      /**\n       * Customization ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the customization is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the customization.\n       *\n       * Ignored when creating a customization.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the customization was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the customization was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * A read-only key generated based on choice name. Used for eCommerce integration.\n       * @internal\n       * @readonly\n       */\n      key?: string | null;\n      /** Customization name for options (for example, `\"color\"`, `\"size\"`) and modifiers (for example, `\"greeting card\"`). */\n      name?: string;\n      /** Customization type. */\n      customizationType?: CustomizationType;\n      /**\n       * Customization render type.\n       *\n       * Defines how the customization will be displayed in the storefront.\n       */\n      customizationRenderType?: CustomizationRenderType;\n      /**\n       * Number of products this customization is assigned to.\n       * > **Note:** Returned only when you pass `\"ASSIGNED_PRODUCTS_COUNT\"` to the `fields` array in Customizations API requests.\n       * @readonly\n       */\n      assignedProductsCount?: number | null;\n  }\n  interface UpdateCustomizationOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  /**\n   * Deletes a customization.\n   *\n   * > **Note:** A customization cannot be deleted if it is assigned to one or more products.\n   * @param customizationId - Customization ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField customizationId\n   * @permissionId WIX_STORES.CUSTOMIZATION_DELETE\n   * @adminMethod\n   */\n  function deleteCustomization(customizationId: string): Promise<void>;\n  /**\n   * Retrieves a list of up to 100 customizations, given the provided filtering, sorting, and cursor paging.\n   * Pass supported values to the `fields` array in the request to include those fields in the response.\n   *\n   *\n   * Query Customizations runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `cursorPaging.limit` is `100`\n   *\n   * For field support for filters and sorting,\n   * see [Customizations: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/customizations-v3/supported-filters-and-sorting).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.CUSTOMIZATION_READ\n   */\n  function queryCustomizations(options?: QueryCustomizationsOptions): CustomizationsQueryBuilder;\n  interface QueryCustomizationsOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[] | undefined;\n  }\n  interface QueryCursorResult$5 {\n      cursors: Cursors$5;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface CustomizationsQueryResult extends QueryCursorResult$5 {\n      items: Customization[];\n      query: CustomizationsQueryBuilder;\n      next: () => Promise<CustomizationsQueryResult>;\n      prev: () => Promise<CustomizationsQueryResult>;\n  }\n  interface CustomizationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'customizationType' | 'customizationRenderType', value: any) => CustomizationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'customizationType' | 'customizationRenderType', value: any) => CustomizationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => CustomizationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => CustomizationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => CustomizationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => CustomizationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name', value: string) => CustomizationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'customizationType' | 'customizationRenderType', value: any[]) => CustomizationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'customizationType' | 'customizationRenderType', value: any) => CustomizationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'customizationType' | 'customizationRenderType', value: boolean) => CustomizationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'name'>) => CustomizationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'name'>) => CustomizationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => CustomizationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => CustomizationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<CustomizationsQueryResult>;\n  }\n  /**\n   * Creates multiple brands.\n   * @param customizations - Customizations to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField customizations\n   * @permissionId WIX_STORES.CUSTOMIZATION_CREATE\n   * @adminMethod\n   */\n  function bulkCreateCustomizations(customizations: Customization[], options?: BulkCreateCustomizationsOptions): Promise<BulkCreateCustomizationsResponse>;\n  interface BulkCreateCustomizationsOptions {\n      /**\n       * Whether to return the full customization entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Adds choices to a customization.\n   * @param customizationId - Customization ID.\n   * @param choices - Choices to add.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField choices\n   * @requiredField customizationId\n   * @permissionId WIX_STORES.CUSTOMIZATION_UPDATE\n   * @adminMethod\n   */\n  function addCustomizationChoices(customizationId: string, choices: Choice[], options?: AddCustomizationChoicesOptions): Promise<AddCustomizationChoicesResponse>;\n  interface AddCustomizationChoicesOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  /**\n   * Sets a customization's choices. Any and all existing choices will be overridden.\n   *\n   * > **Note:** A choice cannot be overridden if it is assigned to one or more products.\n   * @param customizationId - Customization ID.\n   * @param choices - Choices to set.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField choices\n   * @requiredField customizationId\n   * @permissionId WIX_STORES.CUSTOMIZATION_UPDATE\n   * @adminMethod\n   */\n  function setCustomizationChoices(customizationId: string, choices: Choice[], options?: SetCustomizationChoicesOptions): Promise<SetCustomizationChoicesResponse>;\n  interface SetCustomizationChoicesOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  /**\n   * Removes choices from a customization.\n   *\n   * +> **Note:** A choice cannot be removed if it is assigned to one or more products.\n   * @param customizationId - Customization ID.\n   * @param choiceIds - IDs of choices to remove.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField choiceIds\n   * @requiredField customizationId\n   * @permissionId WIX_STORES.CUSTOMIZATION_UPDATE\n   * @adminMethod\n   */\n  function removeCustomizationChoices(customizationId: string, choiceIds: string[], options?: RemoveCustomizationChoicesOptions): Promise<RemoveCustomizationChoicesResponse>;\n  interface RemoveCustomizationChoicesOptions {\n      /** Customization revision. */\n      revision?: string;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  /**\n   * Adds choices to multiple customizations.\n   * @param customizationsChoices - List of customization IDs and choices.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField customizationsChoices\n   * @requiredField customizationsChoices.choices\n   * @requiredField customizationsChoices.customizationId\n   * @permissionId WIX_STORES.CUSTOMIZATION_UPDATE\n   * @adminMethod\n   */\n  function bulkAddCustomizationChoices(customizationsChoices: CustomizationChoices[], options?: BulkAddCustomizationChoicesOptions): Promise<BulkAddCustomizationChoicesResponse>;\n  interface BulkAddCustomizationChoicesOptions {\n      /**\n       * Whether to return the full customization entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  /**\n   * Updates multiple customizations.\n   *\n   * Each time the customization is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the customization.\n   * This ensures you're working with the latest customization and prevents unintended overwrites.\n   * @param customizations - List of customizations to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField customizations\n   * @requiredField customizations.customization._id\n   * @requiredField customizations.customization.name\n   * @requiredField customizations.customization.revision\n   * @permissionId WIX_STORES.CUSTOMIZATION_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateCustomizations(customizations: MaskedCustomization[], options?: BulkUpdateCustomizationsOptions): Promise<BulkUpdateCustomizationsResponse>;\n  interface BulkUpdateCustomizationsOptions {\n      /**\n       * Whether to return the full customization entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$3[];\n  }\n  \n  type storesCatalogV3Customization_universal_d_Customization = Customization;\n  type storesCatalogV3Customization_universal_d_CustomizationCustomizationSettingsOneOf = CustomizationCustomizationSettingsOneOf;\n  type storesCatalogV3Customization_universal_d_CustomizationType = CustomizationType;\n  const storesCatalogV3Customization_universal_d_CustomizationType: typeof CustomizationType;\n  type storesCatalogV3Customization_universal_d_CustomizationRenderType = CustomizationRenderType;\n  const storesCatalogV3Customization_universal_d_CustomizationRenderType: typeof CustomizationRenderType;\n  type storesCatalogV3Customization_universal_d_Choice = Choice;\n  type storesCatalogV3Customization_universal_d_ChoiceValueOneOf = ChoiceValueOneOf;\n  type storesCatalogV3Customization_universal_d_FocalPoint = FocalPoint;\n  type storesCatalogV3Customization_universal_d_CreateCustomizationRequest = CreateCustomizationRequest;\n  type storesCatalogV3Customization_universal_d_CreateCustomizationResponse = CreateCustomizationResponse;\n  type storesCatalogV3Customization_universal_d_GetCustomizationRequest = GetCustomizationRequest;\n  type storesCatalogV3Customization_universal_d_GetCustomizationResponse = GetCustomizationResponse;\n  type storesCatalogV3Customization_universal_d_UpdateCustomizationRequest = UpdateCustomizationRequest;\n  type storesCatalogV3Customization_universal_d_UpdateCustomizationResponse = UpdateCustomizationResponse;\n  type storesCatalogV3Customization_universal_d_DeleteCustomizationRequest = DeleteCustomizationRequest;\n  type storesCatalogV3Customization_universal_d_DeleteCustomizationResponse = DeleteCustomizationResponse;\n  type storesCatalogV3Customization_universal_d_QueryCustomizationsRequest = QueryCustomizationsRequest;\n  type storesCatalogV3Customization_universal_d_QueryCustomizationsResponse = QueryCustomizationsResponse;\n  type storesCatalogV3Customization_universal_d_BulkCreateCustomizationsRequest = BulkCreateCustomizationsRequest;\n  type storesCatalogV3Customization_universal_d_BulkCreateCustomizationsResponse = BulkCreateCustomizationsResponse;\n  type storesCatalogV3Customization_universal_d_BulkCustomizationResult = BulkCustomizationResult;\n  type storesCatalogV3Customization_universal_d_CustomizationIdsWrapper = CustomizationIdsWrapper;\n  type storesCatalogV3Customization_universal_d_AddCustomizationChoicesRequest = AddCustomizationChoicesRequest;\n  type storesCatalogV3Customization_universal_d_AddCustomizationChoicesResponse = AddCustomizationChoicesResponse;\n  type storesCatalogV3Customization_universal_d_SetCustomizationChoicesRequest = SetCustomizationChoicesRequest;\n  type storesCatalogV3Customization_universal_d_SetCustomizationChoicesResponse = SetCustomizationChoicesResponse;\n  type storesCatalogV3Customization_universal_d_RemoveCustomizationChoicesRequest = RemoveCustomizationChoicesRequest;\n  type storesCatalogV3Customization_universal_d_RemoveCustomizationChoicesResponse = RemoveCustomizationChoicesResponse;\n  type storesCatalogV3Customization_universal_d_BulkAddCustomizationChoicesRequest = BulkAddCustomizationChoicesRequest;\n  type storesCatalogV3Customization_universal_d_CustomizationChoices = CustomizationChoices;\n  type storesCatalogV3Customization_universal_d_BulkAddCustomizationChoicesResponse = BulkAddCustomizationChoicesResponse;\n  type storesCatalogV3Customization_universal_d_BulkUpdateCustomizationsRequest = BulkUpdateCustomizationsRequest;\n  type storesCatalogV3Customization_universal_d_MaskedCustomization = MaskedCustomization;\n  type storesCatalogV3Customization_universal_d_BulkUpdateCustomizationsResponse = BulkUpdateCustomizationsResponse;\n  const storesCatalogV3Customization_universal_d_createCustomization: typeof createCustomization;\n  const storesCatalogV3Customization_universal_d_getCustomization: typeof getCustomization;\n  type storesCatalogV3Customization_universal_d_GetCustomizationOptions = GetCustomizationOptions;\n  const storesCatalogV3Customization_universal_d_updateCustomization: typeof updateCustomization;\n  type storesCatalogV3Customization_universal_d_UpdateCustomization = UpdateCustomization;\n  type storesCatalogV3Customization_universal_d_UpdateCustomizationOptions = UpdateCustomizationOptions;\n  const storesCatalogV3Customization_universal_d_deleteCustomization: typeof deleteCustomization;\n  const storesCatalogV3Customization_universal_d_queryCustomizations: typeof queryCustomizations;\n  type storesCatalogV3Customization_universal_d_QueryCustomizationsOptions = QueryCustomizationsOptions;\n  type storesCatalogV3Customization_universal_d_CustomizationsQueryResult = CustomizationsQueryResult;\n  type storesCatalogV3Customization_universal_d_CustomizationsQueryBuilder = CustomizationsQueryBuilder;\n  const storesCatalogV3Customization_universal_d_bulkCreateCustomizations: typeof bulkCreateCustomizations;\n  type storesCatalogV3Customization_universal_d_BulkCreateCustomizationsOptions = BulkCreateCustomizationsOptions;\n  const storesCatalogV3Customization_universal_d_addCustomizationChoices: typeof addCustomizationChoices;\n  type storesCatalogV3Customization_universal_d_AddCustomizationChoicesOptions = AddCustomizationChoicesOptions;\n  const storesCatalogV3Customization_universal_d_setCustomizationChoices: typeof setCustomizationChoices;\n  type storesCatalogV3Customization_universal_d_SetCustomizationChoicesOptions = SetCustomizationChoicesOptions;\n  const storesCatalogV3Customization_universal_d_removeCustomizationChoices: typeof removeCustomizationChoices;\n  type storesCatalogV3Customization_universal_d_RemoveCustomizationChoicesOptions = RemoveCustomizationChoicesOptions;\n  const storesCatalogV3Customization_universal_d_bulkAddCustomizationChoices: typeof bulkAddCustomizationChoices;\n  type storesCatalogV3Customization_universal_d_BulkAddCustomizationChoicesOptions = BulkAddCustomizationChoicesOptions;\n  const storesCatalogV3Customization_universal_d_bulkUpdateCustomizations: typeof bulkUpdateCustomizations;\n  type storesCatalogV3Customization_universal_d_BulkUpdateCustomizationsOptions = BulkUpdateCustomizationsOptions;\n  namespace storesCatalogV3Customization_universal_d {\n    export {\n      storesCatalogV3Customization_universal_d_Customization as Customization,\n      storesCatalogV3Customization_universal_d_CustomizationCustomizationSettingsOneOf as CustomizationCustomizationSettingsOneOf,\n      storesCatalogV3Customization_universal_d_CustomizationType as CustomizationType,\n      storesCatalogV3Customization_universal_d_CustomizationRenderType as CustomizationRenderType,\n      FreeTextSettings$1 as FreeTextSettings,\n      ChoicesSettings$1 as ChoicesSettings,\n      storesCatalogV3Customization_universal_d_Choice as Choice,\n      storesCatalogV3Customization_universal_d_ChoiceValueOneOf as ChoiceValueOneOf,\n      ChoiceType$1 as ChoiceType,\n      MultipleColors$1 as MultipleColors,\n      storesCatalogV3Customization_universal_d_FocalPoint as FocalPoint,\n      InvalidateCache$5 as InvalidateCache,\n      InvalidateCacheGetByOneOf$5 as InvalidateCacheGetByOneOf,\n      App$5 as App,\n      Page$5 as Page,\n      URI$5 as URI,\n      File$5 as File,\n      storesCatalogV3Customization_universal_d_CreateCustomizationRequest as CreateCustomizationRequest,\n      storesCatalogV3Customization_universal_d_CreateCustomizationResponse as CreateCustomizationResponse,\n      storesCatalogV3Customization_universal_d_GetCustomizationRequest as GetCustomizationRequest,\n      RequestedFields$3 as RequestedFields,\n      storesCatalogV3Customization_universal_d_GetCustomizationResponse as GetCustomizationResponse,\n      storesCatalogV3Customization_universal_d_UpdateCustomizationRequest as UpdateCustomizationRequest,\n      storesCatalogV3Customization_universal_d_UpdateCustomizationResponse as UpdateCustomizationResponse,\n      storesCatalogV3Customization_universal_d_DeleteCustomizationRequest as DeleteCustomizationRequest,\n      storesCatalogV3Customization_universal_d_DeleteCustomizationResponse as DeleteCustomizationResponse,\n      storesCatalogV3Customization_universal_d_QueryCustomizationsRequest as QueryCustomizationsRequest,\n      CursorQuery$4 as CursorQuery,\n      CursorQueryPagingMethodOneOf$4 as CursorQueryPagingMethodOneOf,\n      Sorting$5 as Sorting,\n      SortOrder$5 as SortOrder,\n      CursorPaging$5 as CursorPaging,\n      storesCatalogV3Customization_universal_d_QueryCustomizationsResponse as QueryCustomizationsResponse,\n      CursorPagingMetadata$5 as CursorPagingMetadata,\n      Cursors$5 as Cursors,\n      storesCatalogV3Customization_universal_d_BulkCreateCustomizationsRequest as BulkCreateCustomizationsRequest,\n      storesCatalogV3Customization_universal_d_BulkCreateCustomizationsResponse as BulkCreateCustomizationsResponse,\n      storesCatalogV3Customization_universal_d_BulkCustomizationResult as BulkCustomizationResult,\n      ItemMetadata$4 as ItemMetadata,\n      ApplicationError$4 as ApplicationError,\n      BulkActionMetadata$4 as BulkActionMetadata,\n      storesCatalogV3Customization_universal_d_CustomizationIdsWrapper as CustomizationIdsWrapper,\n      storesCatalogV3Customization_universal_d_AddCustomizationChoicesRequest as AddCustomizationChoicesRequest,\n      storesCatalogV3Customization_universal_d_AddCustomizationChoicesResponse as AddCustomizationChoicesResponse,\n      storesCatalogV3Customization_universal_d_SetCustomizationChoicesRequest as SetCustomizationChoicesRequest,\n      storesCatalogV3Customization_universal_d_SetCustomizationChoicesResponse as SetCustomizationChoicesResponse,\n      storesCatalogV3Customization_universal_d_RemoveCustomizationChoicesRequest as RemoveCustomizationChoicesRequest,\n      storesCatalogV3Customization_universal_d_RemoveCustomizationChoicesResponse as RemoveCustomizationChoicesResponse,\n      storesCatalogV3Customization_universal_d_BulkAddCustomizationChoicesRequest as BulkAddCustomizationChoicesRequest,\n      storesCatalogV3Customization_universal_d_CustomizationChoices as CustomizationChoices,\n      storesCatalogV3Customization_universal_d_BulkAddCustomizationChoicesResponse as BulkAddCustomizationChoicesResponse,\n      storesCatalogV3Customization_universal_d_BulkUpdateCustomizationsRequest as BulkUpdateCustomizationsRequest,\n      storesCatalogV3Customization_universal_d_MaskedCustomization as MaskedCustomization,\n      storesCatalogV3Customization_universal_d_BulkUpdateCustomizationsResponse as BulkUpdateCustomizationsResponse,\n      DomainEvent$6 as DomainEvent,\n      DomainEventBodyOneOf$6 as DomainEventBodyOneOf,\n      EntityCreatedEvent$6 as EntityCreatedEvent,\n      RestoreInfo$6 as RestoreInfo,\n      EntityUpdatedEvent$6 as EntityUpdatedEvent,\n      EntityDeletedEvent$6 as EntityDeletedEvent,\n      ActionEvent$6 as ActionEvent,\n      Empty$6 as Empty,\n      MessageEnvelope$6 as MessageEnvelope,\n      IdentificationData$6 as IdentificationData,\n      IdentificationDataIdOneOf$6 as IdentificationDataIdOneOf,\n      WebhookIdentityType$6 as WebhookIdentityType,\n      storesCatalogV3Customization_universal_d_createCustomization as createCustomization,\n      storesCatalogV3Customization_universal_d_getCustomization as getCustomization,\n      storesCatalogV3Customization_universal_d_GetCustomizationOptions as GetCustomizationOptions,\n      storesCatalogV3Customization_universal_d_updateCustomization as updateCustomization,\n      storesCatalogV3Customization_universal_d_UpdateCustomization as UpdateCustomization,\n      storesCatalogV3Customization_universal_d_UpdateCustomizationOptions as UpdateCustomizationOptions,\n      storesCatalogV3Customization_universal_d_deleteCustomization as deleteCustomization,\n      storesCatalogV3Customization_universal_d_queryCustomizations as queryCustomizations,\n      storesCatalogV3Customization_universal_d_QueryCustomizationsOptions as QueryCustomizationsOptions,\n      storesCatalogV3Customization_universal_d_CustomizationsQueryResult as CustomizationsQueryResult,\n      storesCatalogV3Customization_universal_d_CustomizationsQueryBuilder as CustomizationsQueryBuilder,\n      storesCatalogV3Customization_universal_d_bulkCreateCustomizations as bulkCreateCustomizations,\n      storesCatalogV3Customization_universal_d_BulkCreateCustomizationsOptions as BulkCreateCustomizationsOptions,\n      storesCatalogV3Customization_universal_d_addCustomizationChoices as addCustomizationChoices,\n      storesCatalogV3Customization_universal_d_AddCustomizationChoicesOptions as AddCustomizationChoicesOptions,\n      storesCatalogV3Customization_universal_d_setCustomizationChoices as setCustomizationChoices,\n      storesCatalogV3Customization_universal_d_SetCustomizationChoicesOptions as SetCustomizationChoicesOptions,\n      storesCatalogV3Customization_universal_d_removeCustomizationChoices as removeCustomizationChoices,\n      storesCatalogV3Customization_universal_d_RemoveCustomizationChoicesOptions as RemoveCustomizationChoicesOptions,\n      storesCatalogV3Customization_universal_d_bulkAddCustomizationChoices as bulkAddCustomizationChoices,\n      storesCatalogV3Customization_universal_d_BulkAddCustomizationChoicesOptions as BulkAddCustomizationChoicesOptions,\n      storesCatalogV3Customization_universal_d_bulkUpdateCustomizations as bulkUpdateCustomizations,\n      storesCatalogV3Customization_universal_d_BulkUpdateCustomizationsOptions as BulkUpdateCustomizationsOptions,\n    };\n  }\n  \n  /**\n   * An info section is a visible property of a product\n   * Add info sections to a product to provide all the explanations your customers need.\n   */\n  interface InfoSection$1 {\n      /**\n       * Info section ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the info section is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the info section.\n       *\n       * Ignored when creating an info section.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the info section was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the info section was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Unique name. Used as an identifier. */\n      uniqueName?: string;\n      /** Info section title. */\n      title?: string;\n      /**\n       * Info section description using rich content.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       */\n      description?: RichContent$1;\n      /**\n       * Info section description in HTML.\n       *\n       * When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.\n       * `plainDescription` is ignored when value is also passed to the `description` field.\n       */\n      plainDescription?: string | null;\n      /**\n       * Number of products this info section is assigned to.\n       * > **Note:** Returned only when you pass `\"ASSIGNED_PRODUCTS_COUNT\"` to the `fields` array in Info Sections API requests.\n       * @readonly\n       */\n      assignedProductsCount?: number | null;\n  }\n  interface RichContent$1 {\n      /** Node objects representing a rich content document. */\n      nodes?: Node$1[];\n      /** Object metadata. */\n      metadata?: Metadata$1;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle$1;\n  }\n  interface Node$1 extends NodeDataOneOf$1 {\n      /** Data for a button node. */\n      buttonData?: ButtonData$1;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData$1;\n      /** Data for a divider node. */\n      dividerData?: DividerData$1;\n      /** Data for a file node. */\n      fileData?: FileData$1;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData$1;\n      /** Data for a GIF node. */\n      gifData?: GIFData$1;\n      /** Data for a heading node. */\n      headingData?: HeadingData$1;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData$1;\n      /** Data for an image node. */\n      imageData?: ImageData$1;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData$1;\n      /** @deprecated */\n      mapData?: MapData$1;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData$1;\n      /** Data for a poll node. */\n      pollData?: PollData$1;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData$1;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData$1;\n      /** Data for a video node. */\n      videoData?: VideoData$1;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData$1;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData$1;\n      /** Data for a table node. */\n      tableData?: TableData$1;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData$1;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData$1;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData$1;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData$1;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData$1;\n      /** Data for a caption node. */\n      captionData?: CaptionData$1;\n      /** 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. */\n      type?: NodeType$1;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node$1[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle$1;\n  }\n  /** @oneof */\n  interface NodeDataOneOf$1 {\n      /** Data for a button node. */\n      buttonData?: ButtonData$1;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData$1;\n      /** Data for a divider node. */\n      dividerData?: DividerData$1;\n      /** Data for a file node. */\n      fileData?: FileData$1;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData$1;\n      /** Data for a GIF node. */\n      gifData?: GIFData$1;\n      /** Data for a heading node. */\n      headingData?: HeadingData$1;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData$1;\n      /** Data for an image node. */\n      imageData?: ImageData$1;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData$1;\n      /** @deprecated */\n      mapData?: MapData$1;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData$1;\n      /** Data for a poll node. */\n      pollData?: PollData$1;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData$1;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData$1;\n      /** Data for a video node. */\n      videoData?: VideoData$1;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData$1;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData$1;\n      /** Data for a table node. */\n      tableData?: TableData$1;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData$1;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData$1;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData$1;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData$1;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData$1;\n      /** Data for a caption node. */\n      captionData?: CaptionData$1;\n  }\n  enum NodeType$1 {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      /** @deprecated */\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle$1 {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData$1 {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData$1;\n      /** The button type. */\n      type?: Type$1;\n      /** Styling for the button. */\n      styles?: Styles$1;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link$1;\n  }\n  interface Border$1 {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors$1 {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData$1 {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth$1;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment$1;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler$1;\n      /** The height of the node when it's displayed. */\n      height?: Height$1;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType$1 {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth$1 extends PluginContainerDataWidthDataOneOf$1 {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType$1;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf$1 {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType$1;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment$1 {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler$1 {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height$1 {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type$1 {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles$1 {\n      /** Border attributes. */\n      border?: Border$1;\n      /** Color attributes. */\n      colors?: Colors$1;\n  }\n  interface Link$1 extends LinkDataOneOf$1 {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target$1;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel$1;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf$1 {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target$1 {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel$1 {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData$1 {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle$1;\n  }\n  interface TextStyle$1 {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment$1;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment$1 {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData$1 {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData$1;\n      /** Divider line style. */\n      lineStyle?: LineStyle$1;\n      /** Divider width. */\n      width?: Width$1;\n      /** Divider alignment. */\n      alignment?: Alignment$1;\n  }\n  enum LineStyle$1 {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width$1 {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment$1 {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData$1 {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData$1;\n      /** The source for the file's data. */\n      src?: FileSource$1;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings$1;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode$1 {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource$1 extends FileSourceDataOneOf$1 {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf$1 {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings$1 {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode$1;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData$1 {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData$1;\n      /** The items in the gallery. */\n      items?: Item$1[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions$1;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media$1 {\n      /** The source for the media's data. */\n      src?: FileSource$1;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image$1 {\n      /** Image file details. */\n      media?: Media$1;\n      /** Link details for images that are links. */\n      link?: Link$1;\n  }\n  interface Video$1 {\n      /** Video file details. */\n      media?: Media$1;\n      /** Video thumbnail file details. */\n      thumbnail?: Media$1;\n  }\n  interface Item$1 extends ItemDataOneOf$1 {\n      /** An image item. */\n      image?: Image$1;\n      /** A video item. */\n      video?: Video$1;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf$1 {\n      /** An image item. */\n      image?: Image$1;\n      /** A video item. */\n      video?: Video$1;\n  }\n  interface GalleryOptions$1 {\n      /** Gallery layout. */\n      layout?: Layout$1;\n      /** Styling for gallery items. */\n      item?: ItemStyle$1;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails$1;\n  }\n  enum LayoutType$1 {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation$1 {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop$1 {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment$1 {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout$1 {\n      /** Gallery layout type. */\n      type?: LayoutType$1;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation$1;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle$1 {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop$1;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails$1 {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment$1;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData$1 {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData$1;\n      /** The source of the full size GIF. */\n      original?: GIF$1;\n      /** The source of the downsized GIF. */\n      downsized?: GIF$1;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF$1 {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData$1 {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle$1;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData$1 extends HTMLDataDataOneOf$1 {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData$1;\n      /** The type of HTML code. */\n      source?: Source$1;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf$1 {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source$1 {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData$1 {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData$1;\n      /** Image file details. */\n      image?: Media$1;\n      /** Link details for images that are links. */\n      link?: Link$1;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData$1 {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData$1;\n      /** Link details. */\n      link?: Link$1;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData$1 {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData$1;\n      /** Map settings. */\n      mapSettings?: MapSettings$1;\n  }\n  interface MapSettings$1 {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType$1;\n  }\n  enum MapType$1 {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData$1 {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle$1;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData$1 {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData$1;\n      /** Poll data. */\n      poll?: Poll$1;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout$1;\n      /** Styling for the poll and voting options. */\n      design?: Design$1;\n  }\n  enum ViewRole$1 {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole$1 {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions$1 {\n      /** Sets who can view the poll results. */\n      view?: ViewRole$1;\n      /** Sets who can vote. */\n      vote?: VoteRole$1;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option$1 {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media$1;\n  }\n  interface Settings$1 {\n      /** Permissions settings for voting. */\n      permissions?: Permissions$1;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType$1 {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection$1 {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout$1 {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType$1;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection$1;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout$1 {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType$1 {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient$1 {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background$1 extends BackgroundBackgroundOneOf$1 {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media$1;\n      /** Details for a gradient background. */\n      gradient?: Gradient$1;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType$1;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf$1 {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media$1;\n      /** Details for a gradient background. */\n      gradient?: Gradient$1;\n  }\n  interface PollDesign$1 {\n      /** Background styling. */\n      background?: Background$1;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign$1 {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll$1 {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media$1;\n      /** Voting options. */\n      options?: Option$1[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings$1;\n  }\n  interface PollDataLayout$1 {\n      /** Poll layout settings. */\n      poll?: PollLayout$1;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout$1;\n  }\n  interface Design$1 {\n      /** Styling for the poll. */\n      poll?: PollDesign$1;\n      /** Styling for voting options. */\n      options?: OptionDesign$1;\n  }\n  interface TextData$1 {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration$1[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration$1 extends DecorationDataOneOf$1 {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData$1;\n      /** Data for a color decoration. */\n      colorData?: ColorData$1;\n      /** Data for an external link decoration. */\n      linkData?: LinkData$1;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData$1;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData$1;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData$1;\n      /** The type of decoration to apply. */\n      type?: DecorationType$1;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf$1 {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData$1;\n      /** Data for a color decoration. */\n      colorData?: ColorData$1;\n      /** Data for an external link decoration. */\n      linkData?: LinkData$1;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData$1;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData$1;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData$1;\n  }\n  enum DecorationType$1 {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData$1 {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData$1 {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData$1 {\n      /** Link details. */\n      link?: Link$1;\n  }\n  interface MentionData$1 {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData$1 {\n      /** The units used for the font size. */\n      unit?: FontType$1;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType$1 {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData$1 {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData$1 extends AppEmbedDataAppDataOneOf$1 {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData$1;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData$1;\n      /** The type of Wix App content being embedded. */\n      type?: AppType$1;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media$1;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf$1 {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData$1;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData$1;\n  }\n  enum AppType$1 {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData$1 {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData$1 {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData$1 {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData$1;\n      /** Video details. */\n      video?: Media$1;\n      /** Video thumbnail details. */\n      thumbnail?: Media$1;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions$1;\n  }\n  interface PlaybackOptions$1 {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData$1 {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData$1;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed$1;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed$1 {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData$1 {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData$1;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems$1;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction$1;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems$1 {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction$1 {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData$1 {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData$1;\n      /** The table's dimensions. */\n      dimensions?: Dimensions$1;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions$1 {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData$1 {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle$1;\n      /** The cell's border colors. */\n      borderColors?: BorderColors$1;\n  }\n  enum VerticalAlignment$1 {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle$1 {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment$1;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors$1 {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue$1 {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue$1 {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData$1 {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData$1;\n      /** Audio file details. */\n      audio?: Media$1;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media$1;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData$1 {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData$1 {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData$1 {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData$1 {\n      textStyle?: TextStyle$1;\n  }\n  interface Metadata$1 {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle$1 {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle$1;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle$1;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle$1;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle$1;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle$1;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle$1;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle$1;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle$1;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle$1;\n  }\n  interface TextNodeStyle$1 {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration$1[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle$1;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface InvalidateCache$4 extends InvalidateCacheGetByOneOf$4 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$4;\n      /** Invalidate by page id */\n      page?: Page$4;\n      /** Invalidate by URI path */\n      uri?: URI$4;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$4;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$4 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$4;\n      /** Invalidate by page id */\n      page?: Page$4;\n      /** Invalidate by URI path */\n      uri?: URI$4;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$4;\n  }\n  interface App$4 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$4 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$4 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$4 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateInfoSectionRequest {\n      /** Info section to create. */\n      infoSection: InfoSection$1;\n  }\n  interface CreateInfoSectionResponse {\n      /** Created info section. */\n      infoSection?: InfoSection$1;\n  }\n  interface GetInfoSectionRequest {\n      /** Info section ID. */\n      infoSectionId: string;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  enum RequestedFields$2 {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      ASSIGNED_PRODUCTS_COUNT = \"ASSIGNED_PRODUCTS_COUNT\"\n  }\n  interface GetInfoSectionResponse {\n      /** Info section. */\n      infoSection?: InfoSection$1;\n  }\n  interface GetOrCreateInfoSectionRequest {\n      /** Info section to retrieve or create. */\n      infoSection?: InfoSectionForGetOrCreate;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  interface InfoSectionForGetOrCreate {\n      /**\n       * Info section ID.\n       * Pass an ID to retrieve an existing info section.\n       */\n      _id?: string | null;\n      /**\n       * Info section unique name.\n       *\n       * > **Note:**\n       * > + Pass the `uniqueName` of an existing info section to return it.\n       * > + If no such info section exists - pass `uniqueName` and `title` to create an info section.\n       */\n      uniqueName?: string | null;\n      /**\n       * Info section title.\n       *\n       * Required when passing `uniqueName` to create a new info section.\n       */\n      title?: string | null;\n      /**\n       * Info section description using rich content.\n       *\n       * Learn more about [Working with Rich Content](https://dev.wix.com/docs/go-headless/tutorials-templates/other-tutorials/working-with-rich-content).\n       */\n      description?: RichContent$1;\n      /**\n       * Info section description in HTML.\n       *\n       * When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.\n       * `plainDescription` is ignored when value is also passed to the `description` field.\n       */\n      plainDescription?: string | null;\n  }\n  interface GetOrCreateInfoSectionResponse {\n      /** Info section. */\n      infoSection?: InfoSection$1;\n  }\n  interface BulkGetOrCreateInfoSectionsRequest {\n      /** Info sections to retrieve or create. */\n      infoSections?: InfoSectionForGetOrCreate[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  interface BulkGetOrCreateInfoSectionsResponse {\n      /** Info sections retrieved or created by bulk action. */\n      results?: BulkInfoSectionItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkInfoSectionItemResult {\n      /** Bulk action metadata for inventory item. */\n      itemMetadata?: ItemMetadata$3;\n      /**\n       * Full inventory item entity.\n       *\n       * Returned only if `returnEntity: true` is passed in the request.\n       */\n      item?: InfoSection$1;\n  }\n  interface ItemMetadata$3 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$3;\n  }\n  interface ApplicationError$3 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$3 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface UpdateInfoSectionRequest {\n      /** Info section to update. */\n      infoSection: InfoSection$1;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  interface UpdateInfoSectionResponse {\n      /** Updated info section. */\n      infoSection?: InfoSection$1;\n  }\n  interface DeleteInfoSectionRequest {\n      /** Info section ID */\n      infoSectionId: string;\n  }\n  interface DeleteInfoSectionResponse {\n  }\n  interface QueryInfoSectionsRequest {\n      /** Query options. */\n      query?: CursorQuery$3;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  interface CursorQuery$3 extends CursorQueryPagingMethodOneOf$3 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$4;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$4[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$3 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$4;\n  }\n  interface Sorting$4 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$4;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$4 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$4 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryInfoSectionsResponse {\n      /** List of info sections. */\n      infoSections?: InfoSection$1[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata$4;\n  }\n  interface CursorPagingMetadata$4 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$4;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$4 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkCreateInfoSectionsRequest {\n      /** Info sections to create. */\n      infoSections: InfoSection$1[];\n      /**\n       * Whether to return the full created info section entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateInfoSectionsResponse {\n      /** Info sections created by bulk action. */\n      results?: BulkInfoSectionItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkUpdateInfoSectionsRequest {\n      /** List of info sections to update. */\n      infoSections: MaskedInfoSection[];\n      /**\n       * Whether to return the full updated info sections entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  interface MaskedInfoSection {\n      /** Info section to update. */\n      infoSection?: InfoSection$1;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateInfoSectionsResponse {\n      /** Info sections updated by bulk action. */\n      results?: BulkInfoSectionItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkDeleteInfoSectionsRequest {\n      /** IDs of info sections to delete. */\n      infoSectionIds: string[];\n  }\n  interface BulkDeleteInfoSectionsResponse {\n      /** Info sections deleted by bulk action */\n      results?: BulkInfoSectionResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$3;\n  }\n  interface BulkInfoSectionResult {\n      /** Bulk action metadata for info section. */\n      itemMetadata?: ItemMetadata$3;\n  }\n  interface DomainEvent$5 extends DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$5 {\n      createdEvent?: EntityCreatedEvent$5;\n      updatedEvent?: EntityUpdatedEvent$5;\n      deletedEvent?: EntityDeletedEvent$5;\n      actionEvent?: ActionEvent$5;\n  }\n  interface EntityCreatedEvent$5 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$5;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$5 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$5 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$5 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$5 {\n      bodyAsJson?: string;\n  }\n  interface Empty$5 {\n  }\n  interface MessageEnvelope$5 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$5;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$5 extends IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$5;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$5 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$5 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates an info section.\n   *\n   * To assign the info section to a product, include the `infoSection.id` or `infoSection.uniqueName`\n   * when [creating](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/products-v3/create-product) or\n   * [updating](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/products-v3/update-product) a product.\n   * @param infoSection - Info section to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField infoSection\n   * @requiredField infoSection.title\n   * @requiredField infoSection.uniqueName\n   * @permissionId WIX_STORES.INFO_SECTION_CREATE\n   * @adminMethod\n   * @returns Created info section.\n   */\n  function createInfoSection(infoSection: InfoSection$1): Promise<InfoSection$1>;\n  /**\n   * Retrieves an info section.\n   * @param infoSectionId - Info section ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField infoSectionId\n   * @permissionId WIX_STORES.INFO_SECTION_READ\n   * @returns Info section.\n   */\n  function getInfoSection(infoSectionId: string, options?: GetInfoSectionOptions): Promise<InfoSection$1>;\n  interface GetInfoSectionOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  /**\n   * Retrieves an info section by ID or `uniqueName`, or creates an info section if one with the passed `uniqueName` doesn't exist.\n   *\n   * > **Note:** If an info section with the passed `uniqueName` doesn't exist, the `uniqueName` and `title` fields are required to create a new info section.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.INFO_SECTION_GET_OR_CREATE\n   * @adminMethod\n   */\n  function getOrCreateInfoSection(options?: GetOrCreateInfoSectionOptions): Promise<GetOrCreateInfoSectionResponse>;\n  interface GetOrCreateInfoSectionOptions {\n      /** Info section to retrieve or create. */\n      infoSection?: InfoSectionForGetOrCreate;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  /**\n   * Retrieves multiple info sections by ID or `uniqueName`, or creates multiple info sections if those with the passed `uniqueName` don't exist.\n   *\n   * > **Note:** If an info section with the passed `uniqueName` doesn't exist, the `uniqueName` and `title` fields are required to create a new info section.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.INFO_SECTION_GET_OR_CREATE\n   * @adminMethod\n   */\n  function bulkGetOrCreateInfoSections(options?: BulkGetOrCreateInfoSectionsOptions): Promise<BulkGetOrCreateInfoSectionsResponse>;\n  interface BulkGetOrCreateInfoSectionsOptions {\n      /** Info sections to retrieve or create. */\n      infoSections?: InfoSectionForGetOrCreate[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  /**\n   * Updates an info section.\n   *\n   *\n   * Each time the info section is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the info section.\n   * This ensures you're working with the latest info section and prevents unintended overwrites.\n   * @param _id - Info section ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField infoSection\n   * @requiredField infoSection.revision\n   * @permissionId WIX_STORES.INFO_SECTION_UPDATE\n   * @adminMethod\n   * @returns Updated info section.\n   */\n  function updateInfoSection(_id: string | null, infoSection: UpdateInfoSection, options?: UpdateInfoSectionOptions): Promise<InfoSection$1>;\n  interface UpdateInfoSection {\n      /**\n       * Info section ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the info section is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the info section.\n       *\n       * Ignored when creating an info section.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the info section was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the info section was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Unique name. Used as an identifier. */\n      uniqueName?: string;\n      /** Info section title. */\n      title?: string;\n      /**\n       * Info section description using rich content.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       */\n      description?: RichContent$1;\n      /**\n       * Info section description in HTML.\n       *\n       * When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.\n       * `plainDescription` is ignored when value is also passed to the `description` field.\n       */\n      plainDescription?: string | null;\n      /**\n       * Number of products this info section is assigned to.\n       * > **Note:** Returned only when you pass `\"ASSIGNED_PRODUCTS_COUNT\"` to the `fields` array in Info Sections API requests.\n       * @readonly\n       */\n      assignedProductsCount?: number | null;\n  }\n  interface UpdateInfoSectionOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  /**\n   * Deletes an info section.\n   *\n   * > **Note:** Deleting an info section will also remove it from all products it is assigned to.\n   * @param infoSectionId - Info section ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField infoSectionId\n   * @permissionId WIX_STORES.INFO_SECTION_DELETE\n   * @adminMethod\n   */\n  function deleteInfoSection(infoSectionId: string): Promise<void>;\n  /**\n   * Retrieves a list of up to 100 info sections, given the provided filtering, sorting, and cursor paging.\n   * Pass supported values to the `fields` array in the request to include those fields in the response.\n   *\n   *\n   * Query Info Sections runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `cursorPaging.limit` is `100`\n   *\n   * For field support for filters and sorting,\n   * see [Info Sections: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/info-sections-v3/supported-filters-and-sorting).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.INFO_SECTION_READ\n   */\n  function queryInfoSections(options?: QueryInfoSectionsOptions): InfoSectionsQueryBuilder;\n  interface QueryInfoSectionsOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[] | undefined;\n  }\n  interface QueryCursorResult$4 {\n      cursors: Cursors$4;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface InfoSectionsQueryResult extends QueryCursorResult$4 {\n      items: InfoSection$1[];\n      query: InfoSectionsQueryBuilder;\n      next: () => Promise<InfoSectionsQueryResult>;\n      prev: () => Promise<InfoSectionsQueryResult>;\n  }\n  interface InfoSectionsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'uniqueName' | 'title', value: any) => InfoSectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'uniqueName' | 'title', value: any) => InfoSectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => InfoSectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => InfoSectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => InfoSectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => InfoSectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'uniqueName' | 'title', value: string) => InfoSectionsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'uniqueName' | 'title', value: any[]) => InfoSectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'uniqueName' | 'title', value: any) => InfoSectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'uniqueName' | 'title', value: boolean) => InfoSectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'uniqueName' | 'title'>) => InfoSectionsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'uniqueName' | 'title'>) => InfoSectionsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => InfoSectionsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => InfoSectionsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<InfoSectionsQueryResult>;\n  }\n  /**\n   * Creates multiple info sections.\n   * @param infoSections - Info sections to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField infoSections\n   * @requiredField infoSections.title\n   * @requiredField infoSections.uniqueName\n   * @permissionId WIX_STORES.INFO_SECTION_CREATE\n   * @adminMethod\n   */\n  function bulkCreateInfoSections(infoSections: InfoSection$1[], options?: BulkCreateInfoSectionsOptions): Promise<BulkCreateInfoSectionsResponse>;\n  interface BulkCreateInfoSectionsOptions {\n      /**\n       * Whether to return the full created info section entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Updates multiple info sections.\n   *\n   * Each time an info section is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating an info section.\n   * This ensures you're working with the latest info section and prevents unintended overwrites.\n   * @param infoSections - List of info sections to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField infoSections\n   * @requiredField infoSections.infoSection._id\n   * @requiredField infoSections.infoSection.revision\n   * @permissionId WIX_STORES.INFO_SECTION_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateInfoSections(infoSections: MaskedInfoSection[], options?: BulkUpdateInfoSectionsOptions): Promise<BulkUpdateInfoSectionsResponse>;\n  interface BulkUpdateInfoSectionsOptions {\n      /**\n       * Whether to return the full updated info sections entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields$2[];\n  }\n  /**\n   * Deletes multiple info sections.\n   * @param infoSectionIds - IDs of info sections to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField infoSectionIds\n   * @permissionId WIX_STORES.INFO_SECTION_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteInfoSections(infoSectionIds: string[]): Promise<BulkDeleteInfoSectionsResponse>;\n  \n  type storesCatalogV3InfoSection_universal_d_CreateInfoSectionRequest = CreateInfoSectionRequest;\n  type storesCatalogV3InfoSection_universal_d_CreateInfoSectionResponse = CreateInfoSectionResponse;\n  type storesCatalogV3InfoSection_universal_d_GetInfoSectionRequest = GetInfoSectionRequest;\n  type storesCatalogV3InfoSection_universal_d_GetInfoSectionResponse = GetInfoSectionResponse;\n  type storesCatalogV3InfoSection_universal_d_GetOrCreateInfoSectionRequest = GetOrCreateInfoSectionRequest;\n  type storesCatalogV3InfoSection_universal_d_InfoSectionForGetOrCreate = InfoSectionForGetOrCreate;\n  type storesCatalogV3InfoSection_universal_d_GetOrCreateInfoSectionResponse = GetOrCreateInfoSectionResponse;\n  type storesCatalogV3InfoSection_universal_d_BulkGetOrCreateInfoSectionsRequest = BulkGetOrCreateInfoSectionsRequest;\n  type storesCatalogV3InfoSection_universal_d_BulkGetOrCreateInfoSectionsResponse = BulkGetOrCreateInfoSectionsResponse;\n  type storesCatalogV3InfoSection_universal_d_BulkInfoSectionItemResult = BulkInfoSectionItemResult;\n  type storesCatalogV3InfoSection_universal_d_UpdateInfoSectionRequest = UpdateInfoSectionRequest;\n  type storesCatalogV3InfoSection_universal_d_UpdateInfoSectionResponse = UpdateInfoSectionResponse;\n  type storesCatalogV3InfoSection_universal_d_DeleteInfoSectionRequest = DeleteInfoSectionRequest;\n  type storesCatalogV3InfoSection_universal_d_DeleteInfoSectionResponse = DeleteInfoSectionResponse;\n  type storesCatalogV3InfoSection_universal_d_QueryInfoSectionsRequest = QueryInfoSectionsRequest;\n  type storesCatalogV3InfoSection_universal_d_QueryInfoSectionsResponse = QueryInfoSectionsResponse;\n  type storesCatalogV3InfoSection_universal_d_BulkCreateInfoSectionsRequest = BulkCreateInfoSectionsRequest;\n  type storesCatalogV3InfoSection_universal_d_BulkCreateInfoSectionsResponse = BulkCreateInfoSectionsResponse;\n  type storesCatalogV3InfoSection_universal_d_BulkUpdateInfoSectionsRequest = BulkUpdateInfoSectionsRequest;\n  type storesCatalogV3InfoSection_universal_d_MaskedInfoSection = MaskedInfoSection;\n  type storesCatalogV3InfoSection_universal_d_BulkUpdateInfoSectionsResponse = BulkUpdateInfoSectionsResponse;\n  type storesCatalogV3InfoSection_universal_d_BulkDeleteInfoSectionsRequest = BulkDeleteInfoSectionsRequest;\n  type storesCatalogV3InfoSection_universal_d_BulkDeleteInfoSectionsResponse = BulkDeleteInfoSectionsResponse;\n  type storesCatalogV3InfoSection_universal_d_BulkInfoSectionResult = BulkInfoSectionResult;\n  const storesCatalogV3InfoSection_universal_d_createInfoSection: typeof createInfoSection;\n  const storesCatalogV3InfoSection_universal_d_getInfoSection: typeof getInfoSection;\n  type storesCatalogV3InfoSection_universal_d_GetInfoSectionOptions = GetInfoSectionOptions;\n  const storesCatalogV3InfoSection_universal_d_getOrCreateInfoSection: typeof getOrCreateInfoSection;\n  type storesCatalogV3InfoSection_universal_d_GetOrCreateInfoSectionOptions = GetOrCreateInfoSectionOptions;\n  const storesCatalogV3InfoSection_universal_d_bulkGetOrCreateInfoSections: typeof bulkGetOrCreateInfoSections;\n  type storesCatalogV3InfoSection_universal_d_BulkGetOrCreateInfoSectionsOptions = BulkGetOrCreateInfoSectionsOptions;\n  const storesCatalogV3InfoSection_universal_d_updateInfoSection: typeof updateInfoSection;\n  type storesCatalogV3InfoSection_universal_d_UpdateInfoSection = UpdateInfoSection;\n  type storesCatalogV3InfoSection_universal_d_UpdateInfoSectionOptions = UpdateInfoSectionOptions;\n  const storesCatalogV3InfoSection_universal_d_deleteInfoSection: typeof deleteInfoSection;\n  const storesCatalogV3InfoSection_universal_d_queryInfoSections: typeof queryInfoSections;\n  type storesCatalogV3InfoSection_universal_d_QueryInfoSectionsOptions = QueryInfoSectionsOptions;\n  type storesCatalogV3InfoSection_universal_d_InfoSectionsQueryResult = InfoSectionsQueryResult;\n  type storesCatalogV3InfoSection_universal_d_InfoSectionsQueryBuilder = InfoSectionsQueryBuilder;\n  const storesCatalogV3InfoSection_universal_d_bulkCreateInfoSections: typeof bulkCreateInfoSections;\n  type storesCatalogV3InfoSection_universal_d_BulkCreateInfoSectionsOptions = BulkCreateInfoSectionsOptions;\n  const storesCatalogV3InfoSection_universal_d_bulkUpdateInfoSections: typeof bulkUpdateInfoSections;\n  type storesCatalogV3InfoSection_universal_d_BulkUpdateInfoSectionsOptions = BulkUpdateInfoSectionsOptions;\n  const storesCatalogV3InfoSection_universal_d_bulkDeleteInfoSections: typeof bulkDeleteInfoSections;\n  namespace storesCatalogV3InfoSection_universal_d {\n    export {\n      InfoSection$1 as InfoSection,\n      RichContent$1 as RichContent,\n      Node$1 as Node,\n      NodeDataOneOf$1 as NodeDataOneOf,\n      NodeType$1 as NodeType,\n      NodeStyle$1 as NodeStyle,\n      ButtonData$1 as ButtonData,\n      Border$1 as Border,\n      Colors$1 as Colors,\n      PluginContainerData$1 as PluginContainerData,\n      WidthType$1 as WidthType,\n      PluginContainerDataWidth$1 as PluginContainerDataWidth,\n      PluginContainerDataWidthDataOneOf$1 as PluginContainerDataWidthDataOneOf,\n      PluginContainerDataAlignment$1 as PluginContainerDataAlignment,\n      Spoiler$1 as Spoiler,\n      Height$1 as Height,\n      Type$1 as Type,\n      Styles$1 as Styles,\n      Link$1 as Link,\n      LinkDataOneOf$1 as LinkDataOneOf,\n      Target$1 as Target,\n      Rel$1 as Rel,\n      CodeBlockData$1 as CodeBlockData,\n      TextStyle$1 as TextStyle,\n      TextAlignment$1 as TextAlignment,\n      DividerData$1 as DividerData,\n      LineStyle$1 as LineStyle,\n      Width$1 as Width,\n      Alignment$1 as Alignment,\n      FileData$1 as FileData,\n      ViewMode$1 as ViewMode,\n      FileSource$1 as FileSource,\n      FileSourceDataOneOf$1 as FileSourceDataOneOf,\n      PDFSettings$1 as PDFSettings,\n      GalleryData$1 as GalleryData,\n      Media$1 as Media,\n      Image$1 as Image,\n      Video$1 as Video,\n      Item$1 as Item,\n      ItemDataOneOf$1 as ItemDataOneOf,\n      GalleryOptions$1 as GalleryOptions,\n      LayoutType$1 as LayoutType,\n      Orientation$1 as Orientation,\n      Crop$1 as Crop,\n      ThumbnailsAlignment$1 as ThumbnailsAlignment,\n      Layout$1 as Layout,\n      ItemStyle$1 as ItemStyle,\n      Thumbnails$1 as Thumbnails,\n      GIFData$1 as GIFData,\n      GIF$1 as GIF,\n      HeadingData$1 as HeadingData,\n      HTMLData$1 as HTMLData,\n      HTMLDataDataOneOf$1 as HTMLDataDataOneOf,\n      Source$1 as Source,\n      ImageData$1 as ImageData,\n      LinkPreviewData$1 as LinkPreviewData,\n      MapData$1 as MapData,\n      MapSettings$1 as MapSettings,\n      MapType$1 as MapType,\n      ParagraphData$1 as ParagraphData,\n      PollData$1 as PollData,\n      ViewRole$1 as ViewRole,\n      VoteRole$1 as VoteRole,\n      Permissions$1 as Permissions,\n      Option$1 as Option,\n      Settings$1 as Settings,\n      PollLayoutType$1 as PollLayoutType,\n      PollLayoutDirection$1 as PollLayoutDirection,\n      PollLayout$1 as PollLayout,\n      OptionLayout$1 as OptionLayout,\n      BackgroundType$1 as BackgroundType,\n      Gradient$1 as Gradient,\n      Background$1 as Background,\n      BackgroundBackgroundOneOf$1 as BackgroundBackgroundOneOf,\n      PollDesign$1 as PollDesign,\n      OptionDesign$1 as OptionDesign,\n      Poll$1 as Poll,\n      PollDataLayout$1 as PollDataLayout,\n      Design$1 as Design,\n      TextData$1 as TextData,\n      Decoration$1 as Decoration,\n      DecorationDataOneOf$1 as DecorationDataOneOf,\n      DecorationType$1 as DecorationType,\n      AnchorData$1 as AnchorData,\n      ColorData$1 as ColorData,\n      LinkData$1 as LinkData,\n      MentionData$1 as MentionData,\n      FontSizeData$1 as FontSizeData,\n      FontType$1 as FontType,\n      SpoilerData$1 as SpoilerData,\n      AppEmbedData$1 as AppEmbedData,\n      AppEmbedDataAppDataOneOf$1 as AppEmbedDataAppDataOneOf,\n      AppType$1 as AppType,\n      BookingData$1 as BookingData,\n      EventData$1 as EventData,\n      VideoData$1 as VideoData,\n      PlaybackOptions$1 as PlaybackOptions,\n      EmbedData$1 as EmbedData,\n      Oembed$1 as Oembed,\n      CollapsibleListData$1 as CollapsibleListData,\n      InitialExpandedItems$1 as InitialExpandedItems,\n      Direction$1 as Direction,\n      TableData$1 as TableData,\n      Dimensions$1 as Dimensions,\n      TableCellData$1 as TableCellData,\n      VerticalAlignment$1 as VerticalAlignment,\n      CellStyle$1 as CellStyle,\n      BorderColors$1 as BorderColors,\n      NullValue$1 as NullValue,\n      ListValue$1 as ListValue,\n      AudioData$1 as AudioData,\n      OrderedListData$1 as OrderedListData,\n      BulletedListData$1 as BulletedListData,\n      BlockquoteData$1 as BlockquoteData,\n      CaptionData$1 as CaptionData,\n      Metadata$1 as Metadata,\n      DocumentStyle$1 as DocumentStyle,\n      TextNodeStyle$1 as TextNodeStyle,\n      InvalidateCache$4 as InvalidateCache,\n      InvalidateCacheGetByOneOf$4 as InvalidateCacheGetByOneOf,\n      App$4 as App,\n      Page$4 as Page,\n      URI$4 as URI,\n      File$4 as File,\n      storesCatalogV3InfoSection_universal_d_CreateInfoSectionRequest as CreateInfoSectionRequest,\n      storesCatalogV3InfoSection_universal_d_CreateInfoSectionResponse as CreateInfoSectionResponse,\n      storesCatalogV3InfoSection_universal_d_GetInfoSectionRequest as GetInfoSectionRequest,\n      RequestedFields$2 as RequestedFields,\n      storesCatalogV3InfoSection_universal_d_GetInfoSectionResponse as GetInfoSectionResponse,\n      storesCatalogV3InfoSection_universal_d_GetOrCreateInfoSectionRequest as GetOrCreateInfoSectionRequest,\n      storesCatalogV3InfoSection_universal_d_InfoSectionForGetOrCreate as InfoSectionForGetOrCreate,\n      storesCatalogV3InfoSection_universal_d_GetOrCreateInfoSectionResponse as GetOrCreateInfoSectionResponse,\n      storesCatalogV3InfoSection_universal_d_BulkGetOrCreateInfoSectionsRequest as BulkGetOrCreateInfoSectionsRequest,\n      storesCatalogV3InfoSection_universal_d_BulkGetOrCreateInfoSectionsResponse as BulkGetOrCreateInfoSectionsResponse,\n      storesCatalogV3InfoSection_universal_d_BulkInfoSectionItemResult as BulkInfoSectionItemResult,\n      ItemMetadata$3 as ItemMetadata,\n      ApplicationError$3 as ApplicationError,\n      BulkActionMetadata$3 as BulkActionMetadata,\n      storesCatalogV3InfoSection_universal_d_UpdateInfoSectionRequest as UpdateInfoSectionRequest,\n      storesCatalogV3InfoSection_universal_d_UpdateInfoSectionResponse as UpdateInfoSectionResponse,\n      storesCatalogV3InfoSection_universal_d_DeleteInfoSectionRequest as DeleteInfoSectionRequest,\n      storesCatalogV3InfoSection_universal_d_DeleteInfoSectionResponse as DeleteInfoSectionResponse,\n      storesCatalogV3InfoSection_universal_d_QueryInfoSectionsRequest as QueryInfoSectionsRequest,\n      CursorQuery$3 as CursorQuery,\n      CursorQueryPagingMethodOneOf$3 as CursorQueryPagingMethodOneOf,\n      Sorting$4 as Sorting,\n      SortOrder$4 as SortOrder,\n      CursorPaging$4 as CursorPaging,\n      storesCatalogV3InfoSection_universal_d_QueryInfoSectionsResponse as QueryInfoSectionsResponse,\n      CursorPagingMetadata$4 as CursorPagingMetadata,\n      Cursors$4 as Cursors,\n      storesCatalogV3InfoSection_universal_d_BulkCreateInfoSectionsRequest as BulkCreateInfoSectionsRequest,\n      storesCatalogV3InfoSection_universal_d_BulkCreateInfoSectionsResponse as BulkCreateInfoSectionsResponse,\n      storesCatalogV3InfoSection_universal_d_BulkUpdateInfoSectionsRequest as BulkUpdateInfoSectionsRequest,\n      storesCatalogV3InfoSection_universal_d_MaskedInfoSection as MaskedInfoSection,\n      storesCatalogV3InfoSection_universal_d_BulkUpdateInfoSectionsResponse as BulkUpdateInfoSectionsResponse,\n      storesCatalogV3InfoSection_universal_d_BulkDeleteInfoSectionsRequest as BulkDeleteInfoSectionsRequest,\n      storesCatalogV3InfoSection_universal_d_BulkDeleteInfoSectionsResponse as BulkDeleteInfoSectionsResponse,\n      storesCatalogV3InfoSection_universal_d_BulkInfoSectionResult as BulkInfoSectionResult,\n      DomainEvent$5 as DomainEvent,\n      DomainEventBodyOneOf$5 as DomainEventBodyOneOf,\n      EntityCreatedEvent$5 as EntityCreatedEvent,\n      RestoreInfo$5 as RestoreInfo,\n      EntityUpdatedEvent$5 as EntityUpdatedEvent,\n      EntityDeletedEvent$5 as EntityDeletedEvent,\n      ActionEvent$5 as ActionEvent,\n      Empty$5 as Empty,\n      MessageEnvelope$5 as MessageEnvelope,\n      IdentificationData$5 as IdentificationData,\n      IdentificationDataIdOneOf$5 as IdentificationDataIdOneOf,\n      WebhookIdentityType$5 as WebhookIdentityType,\n      storesCatalogV3InfoSection_universal_d_createInfoSection as createInfoSection,\n      storesCatalogV3InfoSection_universal_d_getInfoSection as getInfoSection,\n      storesCatalogV3InfoSection_universal_d_GetInfoSectionOptions as GetInfoSectionOptions,\n      storesCatalogV3InfoSection_universal_d_getOrCreateInfoSection as getOrCreateInfoSection,\n      storesCatalogV3InfoSection_universal_d_GetOrCreateInfoSectionOptions as GetOrCreateInfoSectionOptions,\n      storesCatalogV3InfoSection_universal_d_bulkGetOrCreateInfoSections as bulkGetOrCreateInfoSections,\n      storesCatalogV3InfoSection_universal_d_BulkGetOrCreateInfoSectionsOptions as BulkGetOrCreateInfoSectionsOptions,\n      storesCatalogV3InfoSection_universal_d_updateInfoSection as updateInfoSection,\n      storesCatalogV3InfoSection_universal_d_UpdateInfoSection as UpdateInfoSection,\n      storesCatalogV3InfoSection_universal_d_UpdateInfoSectionOptions as UpdateInfoSectionOptions,\n      storesCatalogV3InfoSection_universal_d_deleteInfoSection as deleteInfoSection,\n      storesCatalogV3InfoSection_universal_d_queryInfoSections as queryInfoSections,\n      storesCatalogV3InfoSection_universal_d_QueryInfoSectionsOptions as QueryInfoSectionsOptions,\n      storesCatalogV3InfoSection_universal_d_InfoSectionsQueryResult as InfoSectionsQueryResult,\n      storesCatalogV3InfoSection_universal_d_InfoSectionsQueryBuilder as InfoSectionsQueryBuilder,\n      storesCatalogV3InfoSection_universal_d_bulkCreateInfoSections as bulkCreateInfoSections,\n      storesCatalogV3InfoSection_universal_d_BulkCreateInfoSectionsOptions as BulkCreateInfoSectionsOptions,\n      storesCatalogV3InfoSection_universal_d_bulkUpdateInfoSections as bulkUpdateInfoSections,\n      storesCatalogV3InfoSection_universal_d_BulkUpdateInfoSectionsOptions as BulkUpdateInfoSectionsOptions,\n      storesCatalogV3InfoSection_universal_d_bulkDeleteInfoSections as bulkDeleteInfoSections,\n    };\n  }\n  \n  /** Inventory Item. */\n  interface InventoryItem$1 extends InventoryItemTrackingMethodOneOf$1 {\n      /**\n       * Tracking method - in stock.\n       *\n       * When set to `true`, the item is available for sale without a quantity limit.\n       */\n      inStock?: boolean;\n      /**\n       * Tracking method - quantity left in inventory.\n       *\n       * Quantity can be negative when decrementing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n      /**\n       * Inventory item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the inventory item is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the inventory item.\n       *\n       * Ignored when creating an inventory item.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the inventory item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the inventory item was created.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Variant ID. */\n      variantId?: string;\n      /** Stores location ID. */\n      locationId?: string | null;\n      /** Product ID. */\n      productId?: string;\n      /**\n       * Whether the quantity is being tracked.\n       * @readonly\n       */\n      trackQuantity?: boolean;\n      /**\n       * Inventory item availability status.\n       *\n       * Supported values:\n       * + OUT_OF_STOCK: Product is out of stock.\n       * + IN_STOCK: Product is in stock. See `quantity` field for exact amount in stock.\n       * + PREORDER: Product is only available for preorder. See `preorderInfo` field for more info.\n       * @readonly\n       */\n      availabilityStatus?: AvailabilityStatus$1;\n      /** Item preorder info. */\n      preorderInfo?: PreorderInfo$1;\n      /**\n       * Product.\n       * @readonly\n       */\n      product?: Product$1;\n      /**\n       * Custom field data for the inventory item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$1;\n  }\n  /** @oneof */\n  interface InventoryItemTrackingMethodOneOf$1 {\n      /**\n       * Tracking method - in stock.\n       *\n       * When set to `true`, the item is available for sale without a quantity limit.\n       */\n      inStock?: boolean;\n      /**\n       * Tracking method - quantity left in inventory.\n       *\n       * Quantity can be negative when decrementing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n  }\n  enum AvailabilityStatus$1 {\n      UNKNOWN_AVAILABILITY_STATUS = \"UNKNOWN_AVAILABILITY_STATUS\",\n      /** Product is out of stock. */\n      OUT_OF_STOCK = \"OUT_OF_STOCK\",\n      /** Product is in stock. See `quantity` field for exact amount in stock. */\n      IN_STOCK = \"IN_STOCK\",\n      /** Product is only available for preorder. See `preorderInfo` field for more info. */\n      PREORDER = \"PREORDER\"\n  }\n  interface PreorderInfo$1 {\n      /**\n       * Whether preorder is enabled for the product.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean | null;\n      /** A message the customer will see when the item is out of stock and preorder is enabled. */\n      message?: string | null;\n      /**\n       * Number of products that can be preordered after stock reaches zero.\n       * Supported only for inventory items with `trackQuantity = true`.\n       *\n       * Default: `100000`\n       */\n      limit?: number | null;\n      /**\n       * Number of times the product was preordered.\n       *\n       * Supported only for inventory items with `trackQuantity = true`.\n       * @readonly\n       */\n      counter?: number | null;\n      /**\n       * Quantity of products that can be preordered.\n       *\n       * Supported only for inventory items with `trackQuantity = true`.\n       * @readonly\n       */\n      quantity?: number | null;\n  }\n  interface Product$1 {\n      /** Product name. */\n      name?: string | null;\n      /** List of category IDs that this product is included in directly. */\n      directCategoryIds?: string[];\n      /** Variant name. */\n      variantName?: string | null;\n      /** Variant SKU (stock keeping unit). */\n      variantSku?: string | null;\n      /** Variant visible. */\n      variantVisible?: boolean | null;\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface InvalidateCache$3 extends InvalidateCacheGetByOneOf$3 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$3;\n      /** Invalidate by page id */\n      page?: Page$3;\n      /** Invalidate by URI path */\n      uri?: URI$3;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$3;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$3 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$3;\n      /** Invalidate by page id */\n      page?: Page$3;\n      /** Invalidate by URI path */\n      uri?: URI$3;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$3;\n  }\n  interface App$3 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$3 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$3 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$3 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface BulkInventoryItemAction$1 {\n      /** Inventory items. */\n      inventoryItems?: InventoryItem$1[];\n  }\n  interface CreateInventoryItemRequest {\n      /** Inventory item to create. */\n      inventoryItem: InventoryItem$1;\n  }\n  interface CreateInventoryItemResponse {\n      /** Created inventory item. */\n      inventoryItem?: InventoryItem$1;\n  }\n  interface BulkCreateInventoryItemsRequest {\n      /** Inventory items to create. */\n      inventoryItems: InventoryItem$1[];\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateInventoryItemsResponse {\n      /** Inventory items created by bulk action. */\n      results?: BulkInventoryItemResult$1[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkInventoryItemResult$1 {\n      /** Bulk action metadata for inventory item. */\n      itemMetadata?: ItemMetadata$2;\n      /**\n       * Full inventory item entity.\n       *\n       * Returned only if `returnEntity: true` is passed in the request.\n       */\n      item?: InventoryItem$1;\n  }\n  interface ItemMetadata$2 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$2;\n  }\n  interface ApplicationError$2 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$2 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetInventoryItemRequest {\n      /** Inventory item ID. */\n      inventoryItemId: string;\n  }\n  interface GetInventoryItemResponse {\n      /** Inventory item. */\n      inventoryItem?: InventoryItem$1;\n  }\n  interface UpdateInventoryItemRequest {\n      /** Inventory item to update. */\n      inventoryItem: InventoryItem$1;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Reason for update. */\n      reason?: ReasonType;\n  }\n  /** The reason for the inventory change. */\n  enum ReasonType {\n      UNKNOWN = \"UNKNOWN\",\n      ORDER = \"ORDER\",\n      MANUAL = \"MANUAL\",\n      REVERT_INVENTORY_CHANGE = \"REVERT_INVENTORY_CHANGE\"\n  }\n  interface UpdateInventoryItemResponse {\n      /** Updated inventory item. */\n      inventoryItem?: InventoryItem$1;\n  }\n  /** Report when Inventory item stock status changed from in stock to out of stock and the opposite. */\n  interface InventoryItemStockStatusUpdatedEvent {\n      /** Inventory item new status. */\n      inStock?: boolean;\n  }\n  interface InventoryItemUpdatedWithReason {\n      /** Updated inventory item. */\n      currentEntity?: InventoryItem$1;\n      /** Reason for the update. */\n      reason?: ReasonType;\n      /**\n       * ID of the app that updated this inventory item.\n       *\n       * When Wix Stores updates an inventory item, value will always be: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`.\n       */\n      appId?: string;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface BulkUpdateInventoryItemsRequest {\n      /** Inventory items to update. */\n      inventoryItems: MaskedInventoryItem[];\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Reason for update. */\n      reason?: ReasonType;\n  }\n  interface MaskedInventoryItem {\n      /** Inventory item to update. */\n      inventoryItem?: InventoryItem$1;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateInventoryItemsResponse {\n      /** Inventory items updated by bulk action. */\n      results?: BulkInventoryItemResult$1[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkUpdateInventoryItemsByFilterRequest {\n      /** Filter object. */\n      filter: Record<string, any> | null;\n      /** Inventory item to update. */\n      inventoryItem: InventoryItem$1;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails$1;\n  }\n  interface SearchDetails$1 {\n      /** Defines how separate search terms in `expression` are combined. */\n      mode?: Mode$1;\n      /** Search term or expression. */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path. */\n      fields?: string[];\n      /** Whether to use auto fuzzy search (allowing typos by a managed proximity algorithm). */\n      fuzzy?: boolean;\n  }\n  enum Mode$1 {\n      /** Any of the search terms must be present. */\n      OR = \"OR\",\n      /** All search terms must be present. */\n      AND = \"AND\"\n  }\n  interface BulkUpdateInventoryItemsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.\n       */\n      jobId?: string;\n  }\n  interface DeleteInventoryItemRequest {\n      /** Inventory item ID. */\n      inventoryItemId: string;\n  }\n  interface DeleteInventoryItemResponse {\n  }\n  interface BulkDeleteInventoryItemsRequest {\n      /** IDs of inventory items to delete. */\n      inventoryItemIds: string[];\n  }\n  interface BulkDeleteInventoryItemsResponse {\n      /** Inventory items deleted by bulk action. */\n      results?: BulkDeleteInventoryItemsResponseBulkInventoryItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkDeleteInventoryItemsResponseBulkInventoryItemResult {\n      /** Bulk action metadata for inventory item. */\n      itemMetadata?: ItemMetadata$2;\n  }\n  interface QueryInventoryItemsRequest {\n      /** Query options. */\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$3 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryInventoryItemsResponse {\n      /** List of inventory items. */\n      inventoryItems?: InventoryItem$1[];\n      /** Paging metadata. */\n      pagingMetadata?: PlatformPagingMetadataV2;\n  }\n  interface PlatformPagingMetadataV2 {\n      /** The number of items returned in this response. */\n      count?: number | null;\n      /**\n       * The offset which was requested. Returned if offset paging was used.\n       * @internal\n       */\n      offset?: number | null;\n      /**\n       * The total number of items that match the query. Returned if offset paging was used.\n       * @internal\n       */\n      total?: number | null;\n      /** Cursors to navigate through result pages. Returned if cursor paging was used. */\n      cursors?: Cursors$3;\n  }\n  interface Cursors$3 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface SearchInventoryItemsRequest {\n      /** Search options. */\n      search?: CursorSearch$1;\n  }\n  interface CursorSearch$1 extends CursorSearchPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * List of sort objects.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$3[];\n      /** Aggregations are a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation$1[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails$1;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome.\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. For example, `\"2023-12-20T10:52:34.795Z\"`.\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Aggregation$1 extends AggregationKindOneOf$1 {\n      /** Value aggregation. */\n      value?: ValueAggregation$1;\n      /** Range aggregation. */\n      range?: RangeAggregation$1;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation$1;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation$1;\n      /** Nested aggregation. */\n      nested?: NestedAggregation$1;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below. */\n      type?: AggregationType$1;\n      /** Field to aggregate by, use dot notation to specify json path. */\n      fieldPath?: string;\n      /**\n       * Deprecated. Use `nested` instead.\n       * @deprecated Deprecated. Use `nested` instead.\n       * @replacedBy kind.nested\n       * @targetRemovalDate 2024-03-30\n       */\n      groupBy?: GroupByAggregation$1;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf$1 {\n      /** Value aggregation. */\n      value?: ValueAggregation$1;\n      /** Range aggregation. */\n      range?: RangeAggregation$1;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation$1;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation$1;\n      /** Nested aggregation. */\n      nested?: NestedAggregation$1;\n  }\n  interface RangeBucket$1 {\n      /** Inclusive lower bound of the range. Required if `to` is not provided. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if `from` is not provided. */\n      to?: number | null;\n  }\n  enum SortType$1 {\n      /** Sort by number of matches. */\n      COUNT = \"COUNT\",\n      /** Sort by value of the field alphabetically. */\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection$1 {\n      /** Sort in descending order. */\n      DESC = \"DESC\",\n      /** Sort in ascending order. */\n      ASC = \"ASC\"\n  }\n  enum MissingValues$1 {\n      /** Exclude missing values from the aggregation results. */\n      EXCLUDE = \"EXCLUDE\",\n      /** Include missing values in the aggregation results. */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions$1 {\n      /** Specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum ScalarType$1 {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values. */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value. */\n      MIN = \"MIN\",\n      /** Maximum value. */\n      MAX = \"MAX\",\n      /** Sum of values. */\n      SUM = \"SUM\",\n      /** Average of values. */\n      AVG = \"AVG\"\n  }\n  interface ValueAggregation$1 extends ValueAggregationOptionsOneOf$1 {\n      /** Options for including missing values. */\n      includeOptions?: IncludeMissingValuesOptions$1;\n      /** Whether to sort by number of matches or value of the field. */\n      sortType?: SortType$1;\n      /** Whether to sort in ascending or descending order. */\n      sortDirection?: SortDirection$1;\n      /** How many aggregations to return. Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** Whether to include or exclude missing values from the aggregation results. Default: `EXCLUDE`. */\n      missingValues?: MissingValues$1;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf$1 {\n      /** Options for including missing values. */\n      includeOptions?: IncludeMissingValuesOptions$1;\n  }\n  enum NestedAggregationType$1 {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example, min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.). */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface RangeAggregation$1 {\n      /** List of range buckets, where during aggregation each entity will be placed in the first bucket its value falls into, based on the provided range bounds. */\n      buckets?: RangeBucket$1[];\n  }\n  interface ScalarAggregation$1 {\n      /** Define the operator for the scalar aggregation. */\n      type?: ScalarType$1;\n  }\n  interface DateHistogramAggregation$1 {\n      /** Interval for date histogram aggregation. */\n      interval?: Interval$1;\n  }\n  enum Interval$1 {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval */\n      YEAR = \"YEAR\",\n      /** Monthly interval */\n      MONTH = \"MONTH\",\n      /** Weekly interval */\n      WEEK = \"WEEK\",\n      /** Daily interval */\n      DAY = \"DAY\",\n      /** Hourly interval */\n      HOUR = \"HOUR\",\n      /** Minute interval */\n      MINUTE = \"MINUTE\",\n      /** Second interval */\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem$1 extends NestedAggregationItemKindOneOf$1 {\n      /** Value aggregation. */\n      value?: ValueAggregation$1;\n      /** Range aggregation. */\n      range?: RangeAggregation$1;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation$1;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation$1;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below. */\n      type?: NestedAggregationType$1;\n      /** Field to aggregate by, use dot notation to specify json path. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf$1 {\n      /** Value aggregation. */\n      value?: ValueAggregation$1;\n      /** Range aggregation. */\n      range?: RangeAggregation$1;\n      /** Scalar aggregation. */\n      scalar?: ScalarAggregation$1;\n      /** Date histogram aggregation. */\n      dateHistogram?: DateHistogramAggregation$1;\n  }\n  enum AggregationType$1 {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example, min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Multi-level aggregation, where each next aggregation is nested within previous one. */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one. */\n  interface NestedAggregation$1 {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one. */\n      nestedAggregations?: NestedAggregationItem$1[];\n  }\n  interface GroupByAggregation$1 extends GroupByAggregationKindOneOf$1 {\n      /** Value aggregation configuration. */\n      value?: ValueAggregation$1;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Field to aggregate by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface GroupByAggregationKindOneOf$1 {\n      /** Value aggregation configuration. */\n      value?: ValueAggregation$1;\n  }\n  interface SearchInventoryItemsResponse {\n      /** List of inventory items. */\n      inventoryItems?: InventoryItem$1[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$3;\n      /** Aggregation data. */\n      aggregationData?: AggregationData$1;\n  }\n  interface CursorPagingMetadata$3 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: CommonCursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface CommonCursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AggregationData$1 {\n      /** key = aggregation name (as derived from search request). */\n      results?: AggregationResults$1[];\n  }\n  interface ValueAggregationResult$1 {\n      /** Value of the field. */\n      value?: string;\n      /** Count of entities with this value. */\n      count?: number;\n  }\n  interface RangeAggregationResult$1 {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in this range. */\n      count?: number;\n  }\n  interface NestedAggregationResults$1 extends NestedAggregationResultsResultOneOf$1 {\n      /** Value aggregation results. */\n      values?: ValueResults$1;\n      /** Range aggregation results. */\n      ranges?: RangeResults$1;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult$1;\n      /** User-defined name of aggregation, matches the one provided in request. */\n      name?: string;\n      /** Type of aggregation that matches result. */\n      type?: AggregationType$1;\n      /** Field to aggregate by, matches the one provided in request. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf$1 {\n      /** Value aggregation results. */\n      values?: ValueResults$1;\n      /** Range aggregation results. */\n      ranges?: RangeResults$1;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult$1;\n  }\n  interface ValueResults$1 {\n      /** List of value aggregations. */\n      results?: ValueAggregationResult$1[];\n  }\n  interface RangeResults$1 {\n      /** List of ranges returned in same order as requested. */\n      results?: RangeAggregationResult$1[];\n  }\n  interface AggregationResultsScalarResult$1 {\n      /** Type of scalar aggregation. */\n      type?: ScalarType$1;\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedValueAggregationResult$1 {\n      /** Value of the field. */\n      value?: string;\n      /** Nested aggregations. */\n      nestedResults?: NestedAggregationResults$1;\n  }\n  interface ValueResult$1 {\n      /** Value of the field. */\n      value?: string;\n      /** Count of entities with this value. */\n      count?: number | null;\n  }\n  interface RangeResult$1 {\n      /** Inclusive lower bound of the range. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. */\n      to?: number | null;\n      /** Count of entities in this range. */\n      count?: number | null;\n  }\n  interface ScalarResult$1 {\n      /** Value of the scalar aggregation. */\n      value?: number;\n  }\n  interface NestedResultValue$1 extends NestedResultValueResultOneOf$1 {\n      /** Value aggregation result. */\n      value?: ValueResult$1;\n      /** Range aggregation result. */\n      range?: RangeResult$1;\n      /** Scalar aggregation result. */\n      scalar?: ScalarResult$1;\n      /** Date histogram aggregation result. */\n      dateHistogram?: ValueResult$1;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf$1 {\n      /** Value aggregation result. */\n      value?: ValueResult$1;\n      /** Range aggregation result. */\n      range?: RangeResult$1;\n      /** Scalar aggregation result. */\n      scalar?: ScalarResult$1;\n      /** Date histogram aggregation result. */\n      dateHistogram?: ValueResult$1;\n  }\n  interface Results$1 {\n      /** List of nested aggregations. */\n      results?: Record<string, NestedResultValue$1>;\n  }\n  interface DateHistogramResult$1 {\n      /** Date in ISO 8601 format. */\n      value?: string;\n      /** Count of documents in the bucket. */\n      count?: number;\n  }\n  interface GroupByValueResults$1 {\n      /** List of value aggregations. */\n      results?: NestedValueAggregationResult$1[];\n  }\n  interface DateHistogramResults$1 {\n      /** List of date histogram aggregations. */\n      results?: DateHistogramResult$1[];\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form.\n   * Aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults$1 {\n      /** List of nested aggregations. */\n      results?: Results$1[];\n  }\n  interface AggregationResults$1 extends AggregationResultsResultOneOf$1 {\n      /** Value aggregation results. */\n      values?: ValueResults$1;\n      /** Range aggregation results. */\n      ranges?: RangeResults$1;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult$1;\n      /** Group by value aggregation results. */\n      groupedByValue?: GroupByValueResults$1;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults$1;\n      /** Nested aggregation results. */\n      nested?: NestedResults$1;\n      /** User-defined name of aggregation as derived from search request. */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request. */\n      type?: AggregationType$1;\n      /** Field to aggregate by as derived from search request. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf$1 {\n      /** Value aggregation results. */\n      values?: ValueResults$1;\n      /** Range aggregation results. */\n      ranges?: RangeResults$1;\n      /** Scalar aggregation results. */\n      scalar?: AggregationResultsScalarResult$1;\n      /** Group by value aggregation results. */\n      groupedByValue?: GroupByValueResults$1;\n      /** Date histogram aggregation results. */\n      dateHistogram?: DateHistogramResults$1;\n      /** Nested aggregation results. */\n      nested?: NestedResults$1;\n  }\n  interface SearchInventoryItemsWithOffsetRequest {\n      /** WQL expression. */\n      search?: OffsetSearch;\n  }\n  interface OffsetSearch extends OffsetSearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can't be used together with 'cursor_paging'. */\n      paging?: Paging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$3[];\n      /** Projection on the result object - list of specific field names to return. If fieldsets are also specified, return the union of fieldsets and fields. */\n      fields?: string[];\n      /** Projection on the result object - list of named projections. For example, \"basic\" will return ID and name fields. Specifying multiple fieldsets will return the union of fields from all. Specifying fieldsets and fields will also return the union of fields. */\n      fieldsets?: string[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation$1[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails$1;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome.\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. For example, `\"2023-12-20T10:52:34.795Z\"`.\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface OffsetSearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can't be used together with 'cursor_paging'. */\n      paging?: Paging;\n  }\n  interface SearchInventoryItemsWithOffsetResponse {\n      /** InventoryItems which satisfy the provided query. */\n      inventoryItems?: InventoryItem$1[];\n      /** Paging metadata. Contains cursor which can be used in next query. */\n      pagingMetadata?: PagingMetadata$1;\n  }\n  interface PagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface BulkDecrementInventoryItemsRequest {\n      /** Inventory item IDs and decrement data. */\n      decrementData: DecrementDataById[];\n      /**\n       * Whether to allow negative inventory following this decrement action.\n       *\n       * Default: `false` (negative inventory is not allowed)\n       */\n      restrictInventory?: boolean | null;\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Reason for decrement inventory action. */\n      reason?: ReasonType;\n  }\n  interface DecrementDataById {\n      /** Inventory item ID. */\n      inventoryItemId?: string;\n      /** Amount to decrement by. */\n      decrementBy?: number;\n      /**\n       * Whether the request to decrement the inventory item's quantity was made as part of a purchase that includes preorder items.\n       *\n       * + If `true` and the item is available for preorder in the default location, negative inventory quantity is allowed.\n       * + If `false` and the item is not available for preorder, negative inventory is not allowed.\n       */\n      preorderRequest?: boolean;\n  }\n  interface BulkDecrementInventoryItemsResponse {\n      /** Inventory items updated by bulk action. */\n      results?: BulkInventoryItemResult$1[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkIncrementInventoryItemsRequest {\n      /** Inventory item IDs and increment data. */\n      incrementData: IncrementDataById[];\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Reason for increment inventory action. */\n      reason?: ReasonType;\n  }\n  interface IncrementDataById {\n      /** Inventory item ID. */\n      inventoryItemId?: string;\n      /** Amount to increment by. */\n      incrementBy?: number;\n  }\n  interface BulkIncrementInventoryItemsResponse {\n      /** Inventory items updated by bulk action. */\n      results?: BulkInventoryItemResult$1[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkDecrementInventoryItemsByVariantAndLocationRequest {\n      /** Variant and location IDs, as well as decrement data. */\n      decrementData: DecrementDataByVariantAndLocation[];\n      /**\n       * Whether to allow negative inventory following this decrement action.\n       *\n       * Default: `false` (negative inventory is not allowed)\n       */\n      restrictInventory?: boolean | null;\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Reason for decrement inventory action. */\n      reason?: ReasonType;\n  }\n  interface DecrementDataByVariantAndLocation {\n      /** Variant ID. */\n      variantId?: string;\n      /** Location ID. */\n      locationId?: string | null;\n      /** Amount to decrement by. */\n      decrementBy?: number;\n      /**\n       * Whether the request to decrement the inventory item's quantity was made as part of a purchase that includes preorder items.\n       *\n       * + If `true` and the item is available for preorder in the default location, negative inventory quantity is allowed.\n       * + If `false` and the item is not available for preorder, negative inventory is not allowed.\n       */\n      preorderRequest?: boolean;\n  }\n  interface BulkDecrementInventoryItemsByVariantAndLocationResponse {\n      /** Inventory items updated by bulk action. */\n      results?: BulkInventoryItemResult$1[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkIncrementInventoryItemsByVariantAndLocationRequest {\n      /** Variant and location IDs, as well as increment data. */\n      incrementData: IncrementDataByVariantAndLocation[];\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Reason for increment inventory action. */\n      reason?: ReasonType;\n  }\n  interface IncrementDataByVariantAndLocation {\n      /** Variant ID. */\n      variantId?: string;\n      /** Location ID. */\n      locationId?: string | null;\n      /** Amount to increment by. */\n      incrementBy?: number;\n  }\n  interface BulkIncrementInventoryItemsByVariantAndLocationResponse {\n      /** Inventory items updated by bulk action. */\n      results?: BulkInventoryItemResult$1[];\n      /** Bulk action metadata details as: totalSuccess and totalFailure. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface BulkSetInventoryItemsForProductsInLocationRequest {\n      /** Location ID to set inventory items to. */\n      locationId: string | null;\n      /**\n       * List of inventory items per product. All existing inventory items for given product in given location_id will be replaced by ones provided in this request.\n       * >**Note:** you can provide up to 1000 inventory items in total. For example you can provide 100 products with 10 inventory items in each or 1 product with 1000 inventory items or something in between.\n       */\n      productInventoryItems: ProductInventoryItems[];\n      /**\n       * Whether to return the full inventory item entity in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface ProductInventoryItems {\n      /** The ID of the product to set inventory items to. */\n      productId?: string;\n      /** List of inventory items to be created (if no ID provided) or updated (if existing ID provided). */\n      inventoryItems?: InventoryItem$1[];\n  }\n  interface BulkSetInventoryItemsForProductsInLocationResponse {\n      /** Created inventory items by bulk action. */\n      results?: BulkInventoryItemResult$1[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$2;\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface Empty$4 {\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates an inventory item.\n   * The combination of `variantId` and `locationId` is unique.\n   * @param inventoryItem - Inventory item to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField inventoryItem\n   * @requiredField inventoryItem.productId\n   * @requiredField inventoryItem.variantId\n   * @permissionId WIX_STORES.INVENTORY_CREATE\n   * @adminMethod\n   * @returns Created inventory item.\n   */\n  function createInventoryItem(inventoryItem: InventoryItem$1): Promise<InventoryItem$1>;\n  /**\n   * Creates multiple inventory items.\n   * @param inventoryItems - Inventory items to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField inventoryItems\n   * @requiredField inventoryItems.productId\n   * @requiredField inventoryItems.variantId\n   * @permissionId WIX_STORES.INVENTORY_CREATE\n   * @adminMethod\n   */\n  function bulkCreateInventoryItems(inventoryItems: InventoryItem$1[], options?: BulkCreateInventoryItemsOptions): Promise<BulkCreateInventoryItemsResponse>;\n  interface BulkCreateInventoryItemsOptions {\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Retrieves an inventory item.\n   * @param inventoryItemId - Inventory item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField inventoryItemId\n   * @permissionId WIX_STORES.INVENTORY_READ\n   * @returns Inventory item.\n   */\n  function getInventoryItem(inventoryItemId: string): Promise<InventoryItem$1>;\n  /**\n   * Updates an inventory item.\n   *\n   *\n   * Each time the inventory item is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the inventory item.\n   * This ensures you're working with the latest inventory item and prevents unintended overwrites.\n   * @param _id - Inventory item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField inventoryItem\n   * @requiredField inventoryItem.revision\n   * @permissionId WIX_STORES.INVENTORY_UPDATE\n   * @adminMethod\n   * @returns Updated inventory item.\n   */\n  function updateInventoryItem(_id: string | null, inventoryItem: UpdateInventoryItem, options?: UpdateInventoryItemOptions): Promise<InventoryItem$1>;\n  interface UpdateInventoryItem {\n      /**\n       * Tracking method - in stock.\n       *\n       * When set to `true`, the item is available for sale without a quantity limit.\n       */\n      inStock?: boolean;\n      /**\n       * Tracking method - quantity left in inventory.\n       *\n       * Quantity can be negative when decrementing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n      /**\n       * Inventory item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the inventory item is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the inventory item.\n       *\n       * Ignored when creating an inventory item.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the inventory item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the inventory item was created.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Variant ID. */\n      variantId?: string;\n      /** Stores location ID. */\n      locationId?: string | null;\n      /** Product ID. */\n      productId?: string;\n      /**\n       * Whether the quantity is being tracked.\n       * @readonly\n       */\n      trackQuantity?: boolean;\n      /**\n       * Inventory item availability status.\n       *\n       * Supported values:\n       * + OUT_OF_STOCK: Product is out of stock.\n       * + IN_STOCK: Product is in stock. See `quantity` field for exact amount in stock.\n       * + PREORDER: Product is only available for preorder. See `preorderInfo` field for more info.\n       * @readonly\n       */\n      availabilityStatus?: AvailabilityStatus$1;\n      /** Item preorder info. */\n      preorderInfo?: PreorderInfo$1;\n      /**\n       * Product.\n       * @readonly\n       */\n      product?: Product$1;\n      /**\n       * Custom field data for the inventory item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields$1;\n  }\n  interface UpdateInventoryItemOptions {\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Reason for update. */\n      reason?: ReasonType;\n  }\n  /**\n   * Updates multiple inventory items.\n   *\n   * Each time an inventory item is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating an inventory item.\n   * This ensures you're working with the latest inventory item and prevents unintended overwrites.\n   * @param inventoryItems - Inventory items to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField inventoryItems\n   * @requiredField inventoryItems.inventoryItem._id\n   * @requiredField inventoryItems.inventoryItem.revision\n   * @permissionId WIX_STORES.INVENTORY_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateInventoryItems(inventoryItems: MaskedInventoryItem[], options?: BulkUpdateInventoryItemsOptions): Promise<BulkUpdateInventoryItemsResponse>;\n  interface BulkUpdateInventoryItemsOptions {\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Reason for update. */\n      reason?: ReasonType;\n  }\n  /**\n   * Updates multiple inventory items, given the provided filter.\n   *\n   * Each time an inventory item is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating an inventory item.\n   * This ensures you're working with the latest inventory item and prevents unintended overwrites.\n   * @param filter - Filter object.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options.inventoryItem\n   * @permissionId WIX_STORES.INVENTORY_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateInventoryItemsByFilter(filter: Record<string, any> | null, options?: BulkUpdateInventoryItemsByFilterOptions): Promise<BulkUpdateInventoryItemsByFilterResponse>;\n  interface BulkUpdateInventoryItemsByFilterOptions {\n      /** Inventory item to update. */\n      inventoryItem: InventoryItem$1;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails$1;\n  }\n  /**\n   * Deletes an inventory item.\n   * @param inventoryItemId - Inventory item ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField inventoryItemId\n   * @permissionId WIX_STORES.INVENTORY_DELETE\n   * @adminMethod\n   */\n  function deleteInventoryItem(inventoryItemId: string): Promise<void>;\n  /**\n   * Deletes multiple inventory items.\n   * @param inventoryItemIds - IDs of inventory items to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField inventoryItemIds\n   * @permissionId WIX_STORES.INVENTORY_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteInventoryItems(inventoryItemIds: string[]): Promise<BulkDeleteInventoryItemsResponse>;\n  /**\n   * Retrieves a list of up to 1,000 inventory items, given the provided filtering, sorting, and cursor paging.\n   *\n   * For field support for filters and sorting,\n   * see [Inventory Items: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/inventory-items-v3/supported-filters-and-sorting).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.INVENTORY_READ\n   */\n  function queryInventoryItems(): InventoryItemsQueryBuilder;\n  interface QueryCursorResult$3 {\n      cursors: CommonCursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface InventoryItemsQueryResult extends QueryCursorResult$3 {\n      items: InventoryItem$1[];\n      query: InventoryItemsQueryBuilder;\n      next: () => Promise<InventoryItemsQueryResult>;\n      prev: () => Promise<InventoryItemsQueryResult>;\n  }\n  interface InventoryItemsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'inStock' | 'quantity' | '_id' | '_createdDate' | '_updatedDate' | 'variantId' | 'locationId' | 'productId' | 'trackQuantity' | 'availabilityStatus' | 'preorderInfo.enabled' | 'product.name' | 'product.directCategoryIds' | 'product.variantName' | 'product.variantSku', value: any) => InventoryItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'inStock' | 'quantity' | '_id' | '_createdDate' | '_updatedDate' | 'variantId' | 'locationId' | 'productId' | 'trackQuantity' | 'availabilityStatus' | 'preorderInfo.enabled' | 'product.name' | 'product.directCategoryIds' | 'product.variantName' | 'product.variantSku', value: any) => InventoryItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'quantity' | '_createdDate' | '_updatedDate', value: any) => InventoryItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'quantity' | '_createdDate' | '_updatedDate', value: any) => InventoryItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'quantity' | '_createdDate' | '_updatedDate', value: any) => InventoryItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'quantity' | '_createdDate' | '_updatedDate', value: any) => InventoryItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'variantId' | 'locationId' | 'productId' | 'product.name' | 'product.variantName' | 'product.variantSku', value: string) => InventoryItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'inStock' | 'quantity' | '_id' | '_createdDate' | '_updatedDate' | 'variantId' | 'locationId' | 'productId' | 'trackQuantity' | 'availabilityStatus' | 'preorderInfo.enabled' | 'product.name' | 'product.directCategoryIds' | 'product.variantName' | 'product.variantSku', value: any[]) => InventoryItemsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasAll: (propertyName: 'product.directCategoryIds', value: any[]) => InventoryItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'inStock' | 'quantity' | '_id' | '_createdDate' | '_updatedDate' | 'variantId' | 'locationId' | 'productId' | 'trackQuantity' | 'availabilityStatus' | 'preorderInfo.enabled' | 'product.name' | 'product.directCategoryIds' | 'product.variantName' | 'product.variantSku', value: any) => InventoryItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'inStock' | 'quantity' | '_id' | '_createdDate' | '_updatedDate' | 'variantId' | 'locationId' | 'productId' | 'trackQuantity' | 'availabilityStatus' | 'preorderInfo.enabled' | 'product.name' | 'product.directCategoryIds' | 'product.variantName' | 'product.variantSku', value: boolean) => InventoryItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'inStock' | 'quantity' | '_createdDate' | '_updatedDate' | 'productId' | 'trackQuantity' | 'availabilityStatus' | 'preorderInfo.enabled' | 'product.name' | 'product.directCategoryIds' | 'product.variantName' | 'product.variantSku'>) => InventoryItemsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'inStock' | 'quantity' | '_createdDate' | '_updatedDate' | 'productId' | 'trackQuantity' | 'availabilityStatus' | 'preorderInfo.enabled' | 'product.name' | 'product.directCategoryIds' | 'product.variantName' | 'product.variantSku'>) => InventoryItemsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => InventoryItemsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => InventoryItemsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<InventoryItemsQueryResult>;\n  }\n  /**\n   * Retrieves a list of inventory items, given the provided filtering, sorting, and cursor paging.\n   *\n   *\n   * Search Inventory Items runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `cursorPaging.limit` is `100`\n   *\n   * For field support for filters and sorting,\n   * see [Inventory Items: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/inventory-items-v3/supported-filters-and-sorting).\n   *\n   * To learn about working with _Search_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.INVENTORY_READ\n   */\n  function searchInventoryItems(options?: SearchInventoryItemsOptions): Promise<SearchInventoryItemsResponse>;\n  interface SearchInventoryItemsOptions {\n      /** Search options. */\n      search?: CursorSearch$1;\n  }\n  /**\n   * Decrements quantities of multiple inventory items.\n   *\n   * > **Notes:**:\n   * > + `trackQuantity` must be `true` to allow for decrementing the quantity.\n   * > + If you pass `restrictInventory: true` and the `decrementData.decrementBy` amount is greater than the current quantity in stock, the request will fail with an `INSUFFICIENT_INVENTORY` error.\n   * > + Pass `restrictInventory: false` to allow for negative quantities.\n   * > + If you pass `preorderRequest: true` and the item is available for preorder, the item's `preorderCounter` will increase and the item's quantity will stay the same.\n   * @param decrementData - Inventory item IDs and decrement data.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField decrementData\n   * @requiredField decrementData.decrementBy\n   * @requiredField decrementData.inventoryItemId\n   * @permissionId WIX_STORES.INVENTORY_UPDATE\n   * @adminMethod\n   */\n  function bulkDecrementInventoryItems(decrementData: DecrementDataById[], options?: BulkDecrementInventoryItemsOptions): Promise<BulkDecrementInventoryItemsResponse>;\n  interface BulkDecrementInventoryItemsOptions {\n      /**\n       * Whether to allow negative inventory following this decrement action.\n       *\n       * Default: `false` (negative inventory is not allowed)\n       */\n      restrictInventory?: boolean | null;\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Reason for decrement inventory action. */\n      reason?: ReasonType;\n  }\n  /**\n   * Increments quantities of multiple inventory items.\n   *\n   * > **Note:** `trackQuantity` must be `true` to allow for incrementing the quantity.\n   * @param incrementData - Inventory item IDs and increment data.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField incrementData\n   * @requiredField incrementData.incrementBy\n   * @requiredField incrementData.inventoryItemId\n   * @permissionId WIX_STORES.INVENTORY_UPDATE\n   * @adminMethod\n   */\n  function bulkIncrementInventoryItems(incrementData: IncrementDataById[], options?: BulkIncrementInventoryItemsOptions): Promise<BulkIncrementInventoryItemsResponse>;\n  interface BulkIncrementInventoryItemsOptions {\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Reason for increment inventory action. */\n      reason?: ReasonType;\n  }\n  /**\n   * Decrements quantities of multiple inventory items by variant and location.\n   *\n   * > **Notes:**:\n   * > + `trackQuantity` must be `true` to allow for decrementing the quantity.\n   * > + If you pass `restrictInventory: true` and the `decrementData.decrementBy` amount is greater than the current quantity in stock, the request will fail with an `INSUFFICIENT_INVENTORY` error.\n   * > + Pass `restrictInventory: false` to allow for negative quantities.\n   * > + If you pass `preorderRequest: true` and the item is available for preorder, the item's `preorderCounter` will increase and the item's quantity will stay the same.\n   * @param decrementData - Variant and location IDs, as well as decrement data.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField decrementData\n   * @requiredField decrementData.decrementBy\n   * @requiredField decrementData.variantId\n   * @permissionId WIX_STORES.INVENTORY_UPDATE\n   * @adminMethod\n   */\n  function bulkDecrementInventoryItemsByVariantAndLocation(decrementData: DecrementDataByVariantAndLocation[], options?: BulkDecrementInventoryItemsByVariantAndLocationOptions): Promise<BulkDecrementInventoryItemsByVariantAndLocationResponse>;\n  interface BulkDecrementInventoryItemsByVariantAndLocationOptions {\n      /**\n       * Whether to allow negative inventory following this decrement action.\n       *\n       * Default: `false` (negative inventory is not allowed)\n       */\n      restrictInventory?: boolean | null;\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Reason for decrement inventory action. */\n      reason?: ReasonType;\n  }\n  /**\n   * Increments quantities of multiple inventory items by variant and location.\n   *\n   * > **Note:** `trackQuantity` must be `true` to allow for incrementing the quantity.\n   * @param incrementData - Variant and location IDs, as well as increment data.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField incrementData\n   * @requiredField incrementData.incrementBy\n   * @requiredField incrementData.variantId\n   * @permissionId WIX_STORES.INVENTORY_UPDATE\n   * @adminMethod\n   */\n  function bulkIncrementInventoryItemsByVariantAndLocation(incrementData: IncrementDataByVariantAndLocation[], options?: BulkIncrementInventoryItemsByVariantAndLocationOptions): Promise<BulkIncrementInventoryItemsByVariantAndLocationResponse>;\n  interface BulkIncrementInventoryItemsByVariantAndLocationOptions {\n      /**\n       * Whether to return the full inventory item entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Reason for increment inventory action. */\n      reason?: ReasonType;\n  }\n  /**\n   * Sets inventory items on specific products.\n   * If `location_id` is not provided, then the default location will be updated.\n   * If existing `id` provided for a inventory item in request, then this inventory item updated with new values provided in the request.\n   * If `id` is not provided for inventory item, then a new inventory item will be created.\n   * If there were any inventory items related to given product in given location and they are not provided by ids in request, then these inventory items will be removed.\n   * After calling this endpoint the product in given location will have all and only inventory items provided in BulkSetInventoryItemsForProductsInLocationRequest.\n   * All inventory items in the provided request must have the same product_id as provided in the request param.\n   * All inventory items in the provided request must have the same location_id as provided in the request param.\n   * @param locationId - Location ID to set inventory items to.\n   * @param productInventoryItems - List of inventory items per product. All existing inventory items for given product in given location_id will be replaced by ones provided in this request.\n   * >**Note:** you can provide up to 1000 inventory items in total. For example you can provide 100 products with 10 inventory items in each or 1 product with 1000 inventory items or something in between.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField locationId\n   * @requiredField productInventoryItems\n   * @requiredField productInventoryItems.inventoryItems\n   * @requiredField productInventoryItems.inventoryItems.locationId\n   * @requiredField productInventoryItems.inventoryItems.productId\n   * @requiredField productInventoryItems.inventoryItems.variantId\n   * @requiredField productInventoryItems.productId\n   * @permissionId WIX_STORES.INVENTORY_UPDATE\n   * @adminMethod\n   */\n  function bulkSetInventoryItemsForProductsInLocation(locationId: string | null, productInventoryItems: ProductInventoryItems[], options?: BulkSetInventoryItemsForProductsInLocationOptions): Promise<BulkSetInventoryItemsForProductsInLocationResponse>;\n  interface BulkSetInventoryItemsForProductsInLocationOptions {\n      /**\n       * Whether to return the full inventory item entity in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  \n  type storesCatalogV3InventoryItem_universal_d_CreateInventoryItemRequest = CreateInventoryItemRequest;\n  type storesCatalogV3InventoryItem_universal_d_CreateInventoryItemResponse = CreateInventoryItemResponse;\n  type storesCatalogV3InventoryItem_universal_d_BulkCreateInventoryItemsRequest = BulkCreateInventoryItemsRequest;\n  type storesCatalogV3InventoryItem_universal_d_BulkCreateInventoryItemsResponse = BulkCreateInventoryItemsResponse;\n  type storesCatalogV3InventoryItem_universal_d_GetInventoryItemRequest = GetInventoryItemRequest;\n  type storesCatalogV3InventoryItem_universal_d_GetInventoryItemResponse = GetInventoryItemResponse;\n  type storesCatalogV3InventoryItem_universal_d_UpdateInventoryItemRequest = UpdateInventoryItemRequest;\n  type storesCatalogV3InventoryItem_universal_d_ReasonType = ReasonType;\n  const storesCatalogV3InventoryItem_universal_d_ReasonType: typeof ReasonType;\n  type storesCatalogV3InventoryItem_universal_d_UpdateInventoryItemResponse = UpdateInventoryItemResponse;\n  type storesCatalogV3InventoryItem_universal_d_InventoryItemStockStatusUpdatedEvent = InventoryItemStockStatusUpdatedEvent;\n  type storesCatalogV3InventoryItem_universal_d_InventoryItemUpdatedWithReason = InventoryItemUpdatedWithReason;\n  type storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsRequest = BulkUpdateInventoryItemsRequest;\n  type storesCatalogV3InventoryItem_universal_d_MaskedInventoryItem = MaskedInventoryItem;\n  type storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsResponse = BulkUpdateInventoryItemsResponse;\n  type storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsByFilterRequest = BulkUpdateInventoryItemsByFilterRequest;\n  type storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsByFilterResponse = BulkUpdateInventoryItemsByFilterResponse;\n  type storesCatalogV3InventoryItem_universal_d_DeleteInventoryItemRequest = DeleteInventoryItemRequest;\n  type storesCatalogV3InventoryItem_universal_d_DeleteInventoryItemResponse = DeleteInventoryItemResponse;\n  type storesCatalogV3InventoryItem_universal_d_BulkDeleteInventoryItemsRequest = BulkDeleteInventoryItemsRequest;\n  type storesCatalogV3InventoryItem_universal_d_BulkDeleteInventoryItemsResponse = BulkDeleteInventoryItemsResponse;\n  type storesCatalogV3InventoryItem_universal_d_BulkDeleteInventoryItemsResponseBulkInventoryItemResult = BulkDeleteInventoryItemsResponseBulkInventoryItemResult;\n  type storesCatalogV3InventoryItem_universal_d_QueryInventoryItemsRequest = QueryInventoryItemsRequest;\n  type storesCatalogV3InventoryItem_universal_d_QueryV2 = QueryV2;\n  type storesCatalogV3InventoryItem_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type storesCatalogV3InventoryItem_universal_d_Paging = Paging;\n  type storesCatalogV3InventoryItem_universal_d_QueryInventoryItemsResponse = QueryInventoryItemsResponse;\n  type storesCatalogV3InventoryItem_universal_d_PlatformPagingMetadataV2 = PlatformPagingMetadataV2;\n  type storesCatalogV3InventoryItem_universal_d_SearchInventoryItemsRequest = SearchInventoryItemsRequest;\n  type storesCatalogV3InventoryItem_universal_d_SearchInventoryItemsResponse = SearchInventoryItemsResponse;\n  type storesCatalogV3InventoryItem_universal_d_SearchInventoryItemsWithOffsetRequest = SearchInventoryItemsWithOffsetRequest;\n  type storesCatalogV3InventoryItem_universal_d_OffsetSearch = OffsetSearch;\n  type storesCatalogV3InventoryItem_universal_d_OffsetSearchPagingMethodOneOf = OffsetSearchPagingMethodOneOf;\n  type storesCatalogV3InventoryItem_universal_d_SearchInventoryItemsWithOffsetResponse = SearchInventoryItemsWithOffsetResponse;\n  type storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsRequest = BulkDecrementInventoryItemsRequest;\n  type storesCatalogV3InventoryItem_universal_d_DecrementDataById = DecrementDataById;\n  type storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsResponse = BulkDecrementInventoryItemsResponse;\n  type storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsRequest = BulkIncrementInventoryItemsRequest;\n  type storesCatalogV3InventoryItem_universal_d_IncrementDataById = IncrementDataById;\n  type storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsResponse = BulkIncrementInventoryItemsResponse;\n  type storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsByVariantAndLocationRequest = BulkDecrementInventoryItemsByVariantAndLocationRequest;\n  type storesCatalogV3InventoryItem_universal_d_DecrementDataByVariantAndLocation = DecrementDataByVariantAndLocation;\n  type storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsByVariantAndLocationResponse = BulkDecrementInventoryItemsByVariantAndLocationResponse;\n  type storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsByVariantAndLocationRequest = BulkIncrementInventoryItemsByVariantAndLocationRequest;\n  type storesCatalogV3InventoryItem_universal_d_IncrementDataByVariantAndLocation = IncrementDataByVariantAndLocation;\n  type storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsByVariantAndLocationResponse = BulkIncrementInventoryItemsByVariantAndLocationResponse;\n  type storesCatalogV3InventoryItem_universal_d_BulkSetInventoryItemsForProductsInLocationRequest = BulkSetInventoryItemsForProductsInLocationRequest;\n  type storesCatalogV3InventoryItem_universal_d_ProductInventoryItems = ProductInventoryItems;\n  type storesCatalogV3InventoryItem_universal_d_BulkSetInventoryItemsForProductsInLocationResponse = BulkSetInventoryItemsForProductsInLocationResponse;\n  const storesCatalogV3InventoryItem_universal_d_createInventoryItem: typeof createInventoryItem;\n  const storesCatalogV3InventoryItem_universal_d_bulkCreateInventoryItems: typeof bulkCreateInventoryItems;\n  type storesCatalogV3InventoryItem_universal_d_BulkCreateInventoryItemsOptions = BulkCreateInventoryItemsOptions;\n  const storesCatalogV3InventoryItem_universal_d_getInventoryItem: typeof getInventoryItem;\n  const storesCatalogV3InventoryItem_universal_d_updateInventoryItem: typeof updateInventoryItem;\n  type storesCatalogV3InventoryItem_universal_d_UpdateInventoryItem = UpdateInventoryItem;\n  type storesCatalogV3InventoryItem_universal_d_UpdateInventoryItemOptions = UpdateInventoryItemOptions;\n  const storesCatalogV3InventoryItem_universal_d_bulkUpdateInventoryItems: typeof bulkUpdateInventoryItems;\n  type storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsOptions = BulkUpdateInventoryItemsOptions;\n  const storesCatalogV3InventoryItem_universal_d_bulkUpdateInventoryItemsByFilter: typeof bulkUpdateInventoryItemsByFilter;\n  type storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsByFilterOptions = BulkUpdateInventoryItemsByFilterOptions;\n  const storesCatalogV3InventoryItem_universal_d_deleteInventoryItem: typeof deleteInventoryItem;\n  const storesCatalogV3InventoryItem_universal_d_bulkDeleteInventoryItems: typeof bulkDeleteInventoryItems;\n  const storesCatalogV3InventoryItem_universal_d_queryInventoryItems: typeof queryInventoryItems;\n  type storesCatalogV3InventoryItem_universal_d_InventoryItemsQueryResult = InventoryItemsQueryResult;\n  type storesCatalogV3InventoryItem_universal_d_InventoryItemsQueryBuilder = InventoryItemsQueryBuilder;\n  const storesCatalogV3InventoryItem_universal_d_searchInventoryItems: typeof searchInventoryItems;\n  type storesCatalogV3InventoryItem_universal_d_SearchInventoryItemsOptions = SearchInventoryItemsOptions;\n  const storesCatalogV3InventoryItem_universal_d_bulkDecrementInventoryItems: typeof bulkDecrementInventoryItems;\n  type storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsOptions = BulkDecrementInventoryItemsOptions;\n  const storesCatalogV3InventoryItem_universal_d_bulkIncrementInventoryItems: typeof bulkIncrementInventoryItems;\n  type storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsOptions = BulkIncrementInventoryItemsOptions;\n  const storesCatalogV3InventoryItem_universal_d_bulkDecrementInventoryItemsByVariantAndLocation: typeof bulkDecrementInventoryItemsByVariantAndLocation;\n  type storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsByVariantAndLocationOptions = BulkDecrementInventoryItemsByVariantAndLocationOptions;\n  const storesCatalogV3InventoryItem_universal_d_bulkIncrementInventoryItemsByVariantAndLocation: typeof bulkIncrementInventoryItemsByVariantAndLocation;\n  type storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsByVariantAndLocationOptions = BulkIncrementInventoryItemsByVariantAndLocationOptions;\n  const storesCatalogV3InventoryItem_universal_d_bulkSetInventoryItemsForProductsInLocation: typeof bulkSetInventoryItemsForProductsInLocation;\n  type storesCatalogV3InventoryItem_universal_d_BulkSetInventoryItemsForProductsInLocationOptions = BulkSetInventoryItemsForProductsInLocationOptions;\n  namespace storesCatalogV3InventoryItem_universal_d {\n    export {\n      InventoryItem$1 as InventoryItem,\n      InventoryItemTrackingMethodOneOf$1 as InventoryItemTrackingMethodOneOf,\n      AvailabilityStatus$1 as AvailabilityStatus,\n      PreorderInfo$1 as PreorderInfo,\n      Product$1 as Product,\n      ExtendedFields$1 as ExtendedFields,\n      InvalidateCache$3 as InvalidateCache,\n      InvalidateCacheGetByOneOf$3 as InvalidateCacheGetByOneOf,\n      App$3 as App,\n      Page$3 as Page,\n      URI$3 as URI,\n      File$3 as File,\n      BulkInventoryItemAction$1 as BulkInventoryItemAction,\n      storesCatalogV3InventoryItem_universal_d_CreateInventoryItemRequest as CreateInventoryItemRequest,\n      storesCatalogV3InventoryItem_universal_d_CreateInventoryItemResponse as CreateInventoryItemResponse,\n      storesCatalogV3InventoryItem_universal_d_BulkCreateInventoryItemsRequest as BulkCreateInventoryItemsRequest,\n      storesCatalogV3InventoryItem_universal_d_BulkCreateInventoryItemsResponse as BulkCreateInventoryItemsResponse,\n      BulkInventoryItemResult$1 as BulkInventoryItemResult,\n      ItemMetadata$2 as ItemMetadata,\n      ApplicationError$2 as ApplicationError,\n      BulkActionMetadata$2 as BulkActionMetadata,\n      storesCatalogV3InventoryItem_universal_d_GetInventoryItemRequest as GetInventoryItemRequest,\n      storesCatalogV3InventoryItem_universal_d_GetInventoryItemResponse as GetInventoryItemResponse,\n      storesCatalogV3InventoryItem_universal_d_UpdateInventoryItemRequest as UpdateInventoryItemRequest,\n      storesCatalogV3InventoryItem_universal_d_ReasonType as ReasonType,\n      storesCatalogV3InventoryItem_universal_d_UpdateInventoryItemResponse as UpdateInventoryItemResponse,\n      storesCatalogV3InventoryItem_universal_d_InventoryItemStockStatusUpdatedEvent as InventoryItemStockStatusUpdatedEvent,\n      storesCatalogV3InventoryItem_universal_d_InventoryItemUpdatedWithReason as InventoryItemUpdatedWithReason,\n      storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsRequest as BulkUpdateInventoryItemsRequest,\n      storesCatalogV3InventoryItem_universal_d_MaskedInventoryItem as MaskedInventoryItem,\n      storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsResponse as BulkUpdateInventoryItemsResponse,\n      storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsByFilterRequest as BulkUpdateInventoryItemsByFilterRequest,\n      SearchDetails$1 as SearchDetails,\n      Mode$1 as Mode,\n      storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsByFilterResponse as BulkUpdateInventoryItemsByFilterResponse,\n      storesCatalogV3InventoryItem_universal_d_DeleteInventoryItemRequest as DeleteInventoryItemRequest,\n      storesCatalogV3InventoryItem_universal_d_DeleteInventoryItemResponse as DeleteInventoryItemResponse,\n      storesCatalogV3InventoryItem_universal_d_BulkDeleteInventoryItemsRequest as BulkDeleteInventoryItemsRequest,\n      storesCatalogV3InventoryItem_universal_d_BulkDeleteInventoryItemsResponse as BulkDeleteInventoryItemsResponse,\n      storesCatalogV3InventoryItem_universal_d_BulkDeleteInventoryItemsResponseBulkInventoryItemResult as BulkDeleteInventoryItemsResponseBulkInventoryItemResult,\n      storesCatalogV3InventoryItem_universal_d_QueryInventoryItemsRequest as QueryInventoryItemsRequest,\n      storesCatalogV3InventoryItem_universal_d_QueryV2 as QueryV2,\n      storesCatalogV3InventoryItem_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      storesCatalogV3InventoryItem_universal_d_Paging as Paging,\n      CursorPaging$3 as CursorPaging,\n      storesCatalogV3InventoryItem_universal_d_QueryInventoryItemsResponse as QueryInventoryItemsResponse,\n      storesCatalogV3InventoryItem_universal_d_PlatformPagingMetadataV2 as PlatformPagingMetadataV2,\n      Cursors$3 as Cursors,\n      storesCatalogV3InventoryItem_universal_d_SearchInventoryItemsRequest as SearchInventoryItemsRequest,\n      CursorSearch$1 as CursorSearch,\n      CursorSearchPagingMethodOneOf$1 as CursorSearchPagingMethodOneOf,\n      Aggregation$1 as Aggregation,\n      AggregationKindOneOf$1 as AggregationKindOneOf,\n      RangeBucket$1 as RangeBucket,\n      SortType$1 as SortType,\n      SortDirection$1 as SortDirection,\n      MissingValues$1 as MissingValues,\n      IncludeMissingValuesOptions$1 as IncludeMissingValuesOptions,\n      ScalarType$1 as ScalarType,\n      ValueAggregation$1 as ValueAggregation,\n      ValueAggregationOptionsOneOf$1 as ValueAggregationOptionsOneOf,\n      NestedAggregationType$1 as NestedAggregationType,\n      RangeAggregation$1 as RangeAggregation,\n      ScalarAggregation$1 as ScalarAggregation,\n      DateHistogramAggregation$1 as DateHistogramAggregation,\n      Interval$1 as Interval,\n      NestedAggregationItem$1 as NestedAggregationItem,\n      NestedAggregationItemKindOneOf$1 as NestedAggregationItemKindOneOf,\n      AggregationType$1 as AggregationType,\n      NestedAggregation$1 as NestedAggregation,\n      GroupByAggregation$1 as GroupByAggregation,\n      GroupByAggregationKindOneOf$1 as GroupByAggregationKindOneOf,\n      storesCatalogV3InventoryItem_universal_d_SearchInventoryItemsResponse as SearchInventoryItemsResponse,\n      CursorPagingMetadata$3 as CursorPagingMetadata,\n      CommonCursors$1 as CommonCursors,\n      AggregationData$1 as AggregationData,\n      ValueAggregationResult$1 as ValueAggregationResult,\n      RangeAggregationResult$1 as RangeAggregationResult,\n      NestedAggregationResults$1 as NestedAggregationResults,\n      NestedAggregationResultsResultOneOf$1 as NestedAggregationResultsResultOneOf,\n      ValueResults$1 as ValueResults,\n      RangeResults$1 as RangeResults,\n      AggregationResultsScalarResult$1 as AggregationResultsScalarResult,\n      NestedValueAggregationResult$1 as NestedValueAggregationResult,\n      ValueResult$1 as ValueResult,\n      RangeResult$1 as RangeResult,\n      ScalarResult$1 as ScalarResult,\n      NestedResultValue$1 as NestedResultValue,\n      NestedResultValueResultOneOf$1 as NestedResultValueResultOneOf,\n      Results$1 as Results,\n      DateHistogramResult$1 as DateHistogramResult,\n      GroupByValueResults$1 as GroupByValueResults,\n      DateHistogramResults$1 as DateHistogramResults,\n      NestedResults$1 as NestedResults,\n      AggregationResults$1 as AggregationResults,\n      AggregationResultsResultOneOf$1 as AggregationResultsResultOneOf,\n      storesCatalogV3InventoryItem_universal_d_SearchInventoryItemsWithOffsetRequest as SearchInventoryItemsWithOffsetRequest,\n      storesCatalogV3InventoryItem_universal_d_OffsetSearch as OffsetSearch,\n      storesCatalogV3InventoryItem_universal_d_OffsetSearchPagingMethodOneOf as OffsetSearchPagingMethodOneOf,\n      storesCatalogV3InventoryItem_universal_d_SearchInventoryItemsWithOffsetResponse as SearchInventoryItemsWithOffsetResponse,\n      PagingMetadata$1 as PagingMetadata,\n      storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsRequest as BulkDecrementInventoryItemsRequest,\n      storesCatalogV3InventoryItem_universal_d_DecrementDataById as DecrementDataById,\n      storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsResponse as BulkDecrementInventoryItemsResponse,\n      storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsRequest as BulkIncrementInventoryItemsRequest,\n      storesCatalogV3InventoryItem_universal_d_IncrementDataById as IncrementDataById,\n      storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsResponse as BulkIncrementInventoryItemsResponse,\n      storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsByVariantAndLocationRequest as BulkDecrementInventoryItemsByVariantAndLocationRequest,\n      storesCatalogV3InventoryItem_universal_d_DecrementDataByVariantAndLocation as DecrementDataByVariantAndLocation,\n      storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsByVariantAndLocationResponse as BulkDecrementInventoryItemsByVariantAndLocationResponse,\n      storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsByVariantAndLocationRequest as BulkIncrementInventoryItemsByVariantAndLocationRequest,\n      storesCatalogV3InventoryItem_universal_d_IncrementDataByVariantAndLocation as IncrementDataByVariantAndLocation,\n      storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsByVariantAndLocationResponse as BulkIncrementInventoryItemsByVariantAndLocationResponse,\n      storesCatalogV3InventoryItem_universal_d_BulkSetInventoryItemsForProductsInLocationRequest as BulkSetInventoryItemsForProductsInLocationRequest,\n      storesCatalogV3InventoryItem_universal_d_ProductInventoryItems as ProductInventoryItems,\n      storesCatalogV3InventoryItem_universal_d_BulkSetInventoryItemsForProductsInLocationResponse as BulkSetInventoryItemsForProductsInLocationResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      Empty$4 as Empty,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      storesCatalogV3InventoryItem_universal_d_createInventoryItem as createInventoryItem,\n      storesCatalogV3InventoryItem_universal_d_bulkCreateInventoryItems as bulkCreateInventoryItems,\n      storesCatalogV3InventoryItem_universal_d_BulkCreateInventoryItemsOptions as BulkCreateInventoryItemsOptions,\n      storesCatalogV3InventoryItem_universal_d_getInventoryItem as getInventoryItem,\n      storesCatalogV3InventoryItem_universal_d_updateInventoryItem as updateInventoryItem,\n      storesCatalogV3InventoryItem_universal_d_UpdateInventoryItem as UpdateInventoryItem,\n      storesCatalogV3InventoryItem_universal_d_UpdateInventoryItemOptions as UpdateInventoryItemOptions,\n      storesCatalogV3InventoryItem_universal_d_bulkUpdateInventoryItems as bulkUpdateInventoryItems,\n      storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsOptions as BulkUpdateInventoryItemsOptions,\n      storesCatalogV3InventoryItem_universal_d_bulkUpdateInventoryItemsByFilter as bulkUpdateInventoryItemsByFilter,\n      storesCatalogV3InventoryItem_universal_d_BulkUpdateInventoryItemsByFilterOptions as BulkUpdateInventoryItemsByFilterOptions,\n      storesCatalogV3InventoryItem_universal_d_deleteInventoryItem as deleteInventoryItem,\n      storesCatalogV3InventoryItem_universal_d_bulkDeleteInventoryItems as bulkDeleteInventoryItems,\n      storesCatalogV3InventoryItem_universal_d_queryInventoryItems as queryInventoryItems,\n      storesCatalogV3InventoryItem_universal_d_InventoryItemsQueryResult as InventoryItemsQueryResult,\n      storesCatalogV3InventoryItem_universal_d_InventoryItemsQueryBuilder as InventoryItemsQueryBuilder,\n      storesCatalogV3InventoryItem_universal_d_searchInventoryItems as searchInventoryItems,\n      storesCatalogV3InventoryItem_universal_d_SearchInventoryItemsOptions as SearchInventoryItemsOptions,\n      storesCatalogV3InventoryItem_universal_d_bulkDecrementInventoryItems as bulkDecrementInventoryItems,\n      storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsOptions as BulkDecrementInventoryItemsOptions,\n      storesCatalogV3InventoryItem_universal_d_bulkIncrementInventoryItems as bulkIncrementInventoryItems,\n      storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsOptions as BulkIncrementInventoryItemsOptions,\n      storesCatalogV3InventoryItem_universal_d_bulkDecrementInventoryItemsByVariantAndLocation as bulkDecrementInventoryItemsByVariantAndLocation,\n      storesCatalogV3InventoryItem_universal_d_BulkDecrementInventoryItemsByVariantAndLocationOptions as BulkDecrementInventoryItemsByVariantAndLocationOptions,\n      storesCatalogV3InventoryItem_universal_d_bulkIncrementInventoryItemsByVariantAndLocation as bulkIncrementInventoryItemsByVariantAndLocation,\n      storesCatalogV3InventoryItem_universal_d_BulkIncrementInventoryItemsByVariantAndLocationOptions as BulkIncrementInventoryItemsByVariantAndLocationOptions,\n      storesCatalogV3InventoryItem_universal_d_bulkSetInventoryItemsForProductsInLocation as bulkSetInventoryItemsForProductsInLocation,\n      storesCatalogV3InventoryItem_universal_d_BulkSetInventoryItemsForProductsInLocationOptions as BulkSetInventoryItemsForProductsInLocationOptions,\n    };\n  }\n  \n  interface V3Product extends V3ProductTypedPropertiesOneOf {\n      /**\n       * Physical properties.\n       *\n       * Required when `productType: PHYSICAL`.\n       */\n      physicalProperties?: PhysicalProperties;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the product is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the product.\n       *\n       * Ignored when creating a product.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the product was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Unique numeric identifier for the product. Much more efficient for filter and sort than the `id`.\n       * @internal\n       * @readonly\n       */\n      numericId?: string;\n      /** Product name. Translatable. */\n      name?: string | null;\n      /**\n       * Product slug.\n       *\n       * If not provided, the slug is autogenerated based on the product name.\n       */\n      slug?: string | null;\n      /**\n       * URL to the site's product page.\n       *\n       * > **Note:** Returned only when you pass `\"URL\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Product description using rich content.\n       * > **Note:** Returned only when you pass `\"DESCRIPTION\"` to the `fields` array in Products API requests.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       */\n      description?: RichContent;\n      /**\n       * Product description in HTML.\n       *\n       * + When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.\n       * + `plainDescription` is ignored when value is also passed to the `description` field.\n       * > **Note:** Returned only when you pass `\"PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n       */\n      plainDescription?: string | null;\n      /**\n       * Whether the product is visible to site visitors on the site.\n       *\n       * Default: `true`\n       */\n      visible?: boolean | null;\n      /**\n       * Whether the product is visible in POS (point of sale).\n       *\n       * Default: `true`\n       * > **Note:** Always `false` for `productType: DIGITAL`.\n       */\n      visibleInPos?: boolean | null;\n      /** Product media items. */\n      media?: Media;\n      /** Product SEO data. */\n      seoData?: SeoSchema;\n      /** Tax group ID. */\n      taxGroupId?: string | null;\n      /**\n       * Product options. Allows the customer to customize the product. For example, selecting color, size, and more.\n       *\n       * Always generates variants: every variant must have exactly one choice related to each option.\n       * Since options and variants tightly coupled and rely on each other they usually should be provided together in all operations.\n       */\n      options?: ConnectedOption[];\n      /**\n       * Product modifiers.\n       *\n       * Allows the customer to customize product, e.g. select Color, Size and so on similarly to `options` but with one main difference - `modifiers` never generate any variants.\n       */\n      modifiers?: ConnectedModifier[];\n      /**\n       * Product brand.\n       *\n       * + Pass `brand.name` to add a new brand while creating a product.\n       * + Pass an existing brand's `id` to assign that brand to the product.\n       */\n      brand?: Brand;\n      /**\n       * Product info section.\n       *\n       * + Pass `infoSection.uniqueName`, `infoSection.title`, and `infoSection.description` to add a new info section while creating a product.\n       * + Pass an existing info section's `id` or `uniqueName` to assign that info section to the product.\n       */\n      infoSections?: InfoSection[];\n      /**\n       * Product ribbon.\n       *\n       * + Pass `ribbon.name` to add a new ribbon while creating a product.\n       * + Pass an existing ribbon's `id` or `name` to assign that ribbon to the product.\n       */\n      ribbon?: Ribbon$1;\n      /**\n       * List of categories that directly contain this product.\n       *\n       * Updated automatically when a product is added/removed from a category, when an item is moved within a category, or when a category is deleted.\n       * > **Note:** Returned only when you pass `\"DIRECT_CATEGORIES_INFO\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      directCategoriesInfo?: ProductCategoriesInfo;\n      /**\n       * List of categories that directly contain this product, as well as their parent categories.\n       * > **Note:** Returned only when you pass `\"ALL_CATEGORIES_INFO\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      allCategoriesInfo?: ProductCategoriesInfo;\n      /** Main category ID. */\n      mainCategoryId?: string | null;\n      /**\n       * internal util field to enable nile-search-related by shared categories\n       * @internal\n       * @readonly\n       */\n      directCategoryIdsInfo?: ProductCategoryIdsInfo;\n      /**\n       * Product base price range - minimum and maximum prices of all product variants.\n       * @readonly\n       * @deprecated Product base price range - minimum and maximum prices of all product variants.\n       * @replacedBy compare_at_price_range\n       * @targetRemovalDate 2024-12-31\n       */\n      basePriceRange?: PriceRange;\n      /**\n       * Product sale price range - minimum and maximum sale prices of all product variants.\n       * @readonly\n       * @deprecated Product sale price range - minimum and maximum sale prices of all product variants.\n       * @replacedBy actual_price_range\n       * @targetRemovalDate 2024-12-31\n       */\n      salePriceRange?: PriceRange;\n      /**\n       * Product cost range - minimum and maximum costs of all product variants.\n       *\n       * > **Note:** Returned only when the following conditions are met:\n       * > + You pass `\"MERCHANT_DATA\"` to the `fields` array in Products API requests.\n       * > + Your app has the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n       * @readonly\n       */\n      costRange?: PriceRange;\n      /**\n       * Product inventory info.\n       * @readonly\n       */\n      inventory?: Inventory;\n      /**\n       * Product type.\n       *\n       * When passing `productType: PHYSICAL`, you must also pass `physicalProperties`.\n       */\n      productType?: ProductType;\n      /**\n       * A unique human-friendly identifier for the product.\n       * Unlike the product ID, the handle can be set by the user to ensure consistency across multiple platforms.\n       * In case handle wasn't given, the handle will be automatically generated.\n       */\n      handle?: string | null;\n      /**\n       * Currency used for the pricing of this product, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.\n       *\n       * Defaults to the currency defined in the site settings, unless specified in `x-wix-currency` header.\n       * > **Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      currency?: string | null;\n      /**\n       * Breadcrumbs of the `mainCategoryId`. Used to navigate to parent categories.\n       * > **Note:** Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      breadcrumbsInfo?: BreadcrumbsInfo;\n      /**\n       * Product actual price range - minimum and maximum prices of all product variants.\n       * @readonly\n       */\n      actualPriceRange?: PriceRange;\n      /**\n       * Product compare at price range - minimum and maximum compare at price prices of all product variants.\n       * @readonly\n       */\n      compareAtPriceRange?: PriceRange;\n      /** Product variants. */\n      variantsInfo?: VariantsInfo;\n      /**\n       * Custom extended fields for the product object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n      /**\n       * SEO\n       * @internal\n       * @readonly\n       */\n      seoTitle?: string | null;\n      /**\n       * SEO description extracted from `seo_data` for backward compatibility.\n       * @internal\n       * @readonly\n       */\n      seoDescription?: string | null;\n      /** Product subscriptions. */\n      subscriptionDetails?: SubscriptionDetails;\n      /**\n       * internal util field to improve nile-search performance\n       * @internal\n       * @readonly\n       */\n      flattenOptions?: string[];\n      /**\n       * internal util field to improve nile-search performance\n       * @internal\n       * @readonly\n       */\n      flattenModifiers?: string[];\n      /**\n       * The total number of variants for the product.\n       * @readonly\n       */\n      variantSummary?: VariantSummary;\n      /**\n       * Price info of the variant with minimum base price.\n       * @internal\n       * @readonly\n       */\n      minVariantPriceInfo?: MinVariantPriceInfo;\n  }\n  /** @oneof */\n  interface V3ProductTypedPropertiesOneOf {\n      /**\n       * Physical properties.\n       *\n       * Required when `productType: PHYSICAL`.\n       */\n      physicalProperties?: PhysicalProperties;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** @deprecated */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** @deprecated */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      /** @deprecated */\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: Type;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum Type {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface V1Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: V1Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: V1Media;\n      /** Video thumbnail file details. */\n      thumbnail?: V1Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: V1Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: V1Media;\n  }\n  interface PollSettings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: V1Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: V1Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: V1Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: PollSettings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: V1Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: V1Media;\n      /** Video thumbnail details. */\n      thumbnail?: V1Media;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: V1Media;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: V1Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData {\n      textStyle?: TextStyle;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  interface Media {\n      /**\n       * Main media (image, video, etc.) associated with this product.\n       * @readonly\n       */\n      main?: ProductMedia;\n      /**\n       * All media items.\n       * > **Note:** Returned only when you pass `\"MEDIA_ITEMS_INFO\"` to the `fields` array in Products API requests.\n       */\n      itemsInfo?: MediaItemsInfo;\n  }\n  interface ProductMedia extends ProductMediaSetByOneOf, ProductMediaMediaOneOf {\n      /** ID of existing media from Wix Media Manager. */\n      _id?: string;\n      /** Media URL. */\n      url?: string;\n      /**\n       * Product image.\n       * @readonly\n       */\n      image?: string;\n      /**\n       * Product video.\n       * @readonly\n       */\n      video?: string;\n      /** Image alt text. */\n      altText?: string | null;\n      /**\n       * Media display name.\n       * Allows to override the default media name. Can be passed only when `setBy: url`.\n       */\n      displayName?: string | null;\n      /**\n       * Media type.\n       * @readonly\n       */\n      mediaType?: MediaType;\n      /**\n       * Media thumbnail.\n       * > **Note:** Returned only when you pass `\"THUMBNAIL\"` to the `fields` array in Products API requests.\n       */\n      thumbnail?: Thumbnail;\n      /**\n       * ID used to upload media to Wix Media Manager.\n       * @readonly\n       */\n      uploadId?: string;\n  }\n  /** @oneof */\n  interface ProductMediaSetByOneOf {\n      /** ID of existing media from Wix Media Manager. */\n      _id?: string;\n      /** Media URL. */\n      url?: string;\n  }\n  /** @oneof */\n  interface ProductMediaMediaOneOf {\n      /**\n       * Product image.\n       * @readonly\n       */\n      image?: string;\n      /**\n       * Product video.\n       * @readonly\n       */\n      video?: string;\n  }\n  interface VideoResolution {\n      /** Video URL. */\n      url?: string;\n      /** Video height. */\n      height?: number;\n      /** Video width. */\n      width?: number;\n      /**\n       * Deprecated. Use the `posters` property in the parent entity instead.\n       * @internal\n       * @deprecated Deprecated. Use the `posters` property in the parent entity instead.\n       */\n      poster?: string;\n      /** Video format for example, mp4, hls. */\n      format?: string;\n      /**\n       * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @internal\n       * @deprecated Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n       * @replacedBy VideoV2.url_expiration_date\n       */\n      urlExpirationDate?: Date | null;\n      /**\n       * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @internal\n       * @deprecated Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n       * @replacedBy VideoV2.size_in_bytes\n       */\n      sizeInBytes?: string | null;\n      /**\n       * Video quality. For example: 480p, 720p.\n       * @internal\n       */\n      quality?: string | null;\n      /**\n       * Video filename.\n       * @internal\n       */\n      filename?: string | null;\n      /**\n       * Video duration in seconds.\n       * @internal\n       * @readonly\n       * @deprecated Video duration in seconds.\n       * @replacedBy duration_in_milliseconds\n       */\n      durationInSeconds?: number | null;\n      /**\n       * Video duration in milliseconds.\n       * @internal\n       * @readonly\n       */\n      durationInMilliseconds?: number | null;\n      /**\n       * When true, this is a protected asset, and calling the URL will return a 403 error.\n       * In order to access private assets, make a request to:\n       * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n       * @internal\n       * @readonly\n       */\n      private?: boolean | null;\n      /**\n       * Key to identify the video resolution's relationship to the original media in WixMedia.\n       * Can be used to request a download for the specific video resolution.\n       * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n       * @internal\n       * @readonly\n       */\n      assetKey?: string | null;\n  }\n  enum MediaType {\n      UNKNOWN_MEDIA_TYPE = \"UNKNOWN_MEDIA_TYPE\",\n      /** Image media type. */\n      IMAGE = \"IMAGE\",\n      /** Video media type. */\n      VIDEO = \"VIDEO\"\n  }\n  interface Thumbnail {\n      /** Thumbnail url. */\n      url?: string;\n      /** Thumbnail height. */\n      height?: number;\n      /** Thumbnail width. */\n      width?: number;\n      /** Thumbnail alt text. */\n      altText?: string | null;\n  }\n  interface MediaItemsInfo {\n      /** All media items (images, videos etc) associated with this product. */\n      items?: ProductMedia[];\n  }\n  /**\n   * 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.\n   * The search engines use this information for ranking purposes, or to display snippets in the search results.\n   * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n   */\n  interface SeoSchema {\n      /** SEO tag information. */\n      tags?: Tag[];\n      /** SEO general settings. */\n      settings?: Settings;\n  }\n  interface Keyword {\n      /** Keyword value. */\n      term?: string;\n      /** Whether the keyword is the main focus keyword. */\n      isMain?: boolean;\n      /** The source that added the keyword terms to the SEO settings. */\n      origin?: string | null;\n  }\n  interface Tag {\n      /**\n       * SEO tag type.\n       *\n       *\n       * Supported values: `title`, `meta`, `script`, `link`.\n       */\n      type?: string;\n      /**\n       * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n       * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n       */\n      props?: Record<string, any> | null;\n      /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n      meta?: Record<string, any> | null;\n      /** SEO tag inner content. For example, `<title> inner content </title>`. */\n      children?: string;\n      /** Whether the tag is a custom tag. */\n      custom?: boolean;\n      /** Whether the tag is disabled. */\n      disabled?: boolean;\n  }\n  interface Settings {\n      /**\n       * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n       *\n       *\n       * Default: `false` (Auto Redirect is enabled.)\n       */\n      preventAutoRedirect?: boolean;\n      /** User-selected keyword terms for a specific page. */\n      keywords?: Keyword[];\n  }\n  interface ConnectedOption extends ConnectedOptionOptionSettingsOneOf {\n      /** Choices settings. */\n      choicesSettings?: ChoicesSettings;\n      /** ID of a customization with `customizationType: PRODUCT_OPTION`. */\n      _id?: string | null;\n      /** Option name. */\n      name?: string | null;\n      /** Option render type. */\n      optionRenderType?: ProductOptionRenderType;\n      /**\n       * Option key based the option name. Used internally by Stores web client in CatalogSPI endpoints for checkout flow when option name cannot be used because it can be translated.\n       * @internal\n       * @readonly\n       */\n      key?: string;\n  }\n  /** @oneof */\n  interface ConnectedOptionOptionSettingsOneOf {\n      /** Choices settings. */\n      choicesSettings?: ChoicesSettings;\n  }\n  enum ProductOptionRenderType {\n      /** Not implemented. */\n      UNKNOWN_OPTION_RENDER_TYPE = \"UNKNOWN_OPTION_RENDER_TYPE\",\n      /** Text choices. */\n      TEXT_CHOICES = \"TEXT_CHOICES\",\n      /** Swatch choices. */\n      SWATCH_CHOICES = \"SWATCH_CHOICES\"\n  }\n  interface ChoicesSettings {\n      /** List of available choices for the option. */\n      choices?: ConnectedOptionChoice[];\n  }\n  interface ConnectedOptionChoice extends ConnectedOptionChoiceValueOneOf {\n      /** Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). */\n      colorCode?: string;\n      /**\n       * Multiple colors  - HEX (#RRGGBB) color code\n       * @internal\n       */\n      colorCodes?: MultipleColors;\n      /**\n       * Image\n       * @internal\n       */\n      image?: string;\n      /** The id of the choice. */\n      choiceId?: string | null;\n      /**\n       * Product media overrides. When not empty only these images will be shown when such choices selected by customer. Otherwise all images of product.\n       * When several choices from different options selected only media filter present in `media_overrides` of ALL choices will be shown.\n       * For example if Color:red has images 1,2,3 and Material:Silk has images 2,3,5 then only images 2,3 will be shown when both of them selected.\n       */\n      linkedMedia?: ProductMedia[];\n      /** The type of this choice. */\n      choiceType?: ChoiceType;\n      /**\n       * A key based the choice name. Used internally by Stores web client in CatalogSPI endpoints for checkout flow when name cannot be used because it can be translated.\n       * @internal\n       * @readonly\n       */\n      key?: string;\n      /** Choice name. */\n      name?: string | null;\n      /**\n       * A flag that indicates if at least one variant with this choice is in stock in the default store's location.\n       * For example, a product with 'Color' and 'Size' options with variants: [Blue, Small] which is out of stock and [Red Large] which is in stock. For choice 'Blue' ths flag will be 'false' and for 'Red' the flag will be true\n       * @readonly\n       */\n      inStock?: boolean;\n      /**\n       * Whether at least one variant with this choice is visible.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      visible?: boolean;\n  }\n  /** @oneof */\n  interface ConnectedOptionChoiceValueOneOf {\n      /** Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). */\n      colorCode?: string;\n      /**\n       * Multiple colors  - HEX (#RRGGBB) color code\n       * @internal\n       */\n      colorCodes?: MultipleColors;\n      /**\n       * Image\n       * @internal\n       */\n      image?: string;\n  }\n  enum ChoiceType {\n      UNKNOWN_CHOICE_TYPE = \"UNKNOWN_CHOICE_TYPE\",\n      /** Text choice. */\n      CHOICE_TEXT = \"CHOICE_TEXT\",\n      /** Single color choice. */\n      ONE_COLOR = \"ONE_COLOR\",\n      /** Multiple colors choice. */\n      MULTIPLE_COLORS = \"MULTIPLE_COLORS\",\n      /** Image choice. */\n      IMAGE = \"IMAGE\"\n  }\n  interface MultipleColors {\n      /** List of color codes. */\n      colorCodes?: string[];\n  }\n  interface ConnectedModifier extends ConnectedModifierModifierSettingsOneOf {\n      /** Free text modifier settings. */\n      freeTextSettings?: FreeTextSettings;\n      /** Choice settings. */\n      choicesSettings?: ModifierChoicesSettings;\n      /** ID of a customization with `customizationType: MODIFIER`. */\n      _id?: string | null;\n      /** Modifier title. */\n      name?: string | null;\n      /** Modifier render type. */\n      modifierRenderType?: ModifierRenderType;\n      /** Whether customer input is required for this modifier. */\n      mandatory?: boolean;\n      /**\n       * Modifier key based on name. Used internally by Stores web client in CatalogSPI endpoints for checkout flow when name cannot be used because it can be translated.\n       * @internal\n       * @readonly\n       */\n      key?: string;\n  }\n  /** @oneof */\n  interface ConnectedModifierModifierSettingsOneOf {\n      /** Free text modifier settings. */\n      freeTextSettings?: FreeTextSettings;\n      /** Choice settings. */\n      choicesSettings?: ModifierChoicesSettings;\n  }\n  enum ModifierRenderType {\n      /** Not implemented. */\n      UNKNOWN_MODIFIER_RENDER_TYPE = \"UNKNOWN_MODIFIER_RENDER_TYPE\",\n      /** Free text. */\n      FREE_TEXT = \"FREE_TEXT\",\n      /** Text choices. */\n      TEXT_CHOICES = \"TEXT_CHOICES\",\n      /** Swatch choices. */\n      SWATCH_CHOICES = \"SWATCH_CHOICES\"\n  }\n  interface FreeTextSettings {\n      /** Minimum number of characters. */\n      minCharCount?: number;\n      /** Maximum number of characters. */\n      maxCharCount?: number;\n      /** Default amount to be added to the product's price. */\n      defaultAddedPrice?: string | null;\n      /** Title of the text to be input by the customer. */\n      title?: string;\n      /**\n       * A read-only key auto-generated based on the title that will be used for CatalogSPI endpoints (GetCatalogItems), to support cart and checkout flows\n       * @internal\n       * @readonly\n       */\n      key?: string;\n  }\n  interface ModifierChoicesSettings {\n      /** List of modifier choices. */\n      choices?: ConnectedModifierChoice[];\n  }\n  interface ConnectedModifierChoice extends ConnectedModifierChoiceValueOneOf {\n      /** Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). */\n      colorCode?: string;\n      /**\n       * Multiple colors  - HEX (#RRGGBB) color code\n       * @internal\n       */\n      colorCodes?: MultipleColors;\n      /**\n       * Image\n       * @internal\n       */\n      image?: string;\n      /** Choice ID. */\n      choiceId?: string | null;\n      /** Product media. */\n      linkedMedia?: ProductMedia[];\n      /** Choice type. */\n      choiceType?: ChoiceType;\n      /**\n       * Modifier key. Used for eCommerce integration.\n       * @readonly\n       */\n      key?: string;\n      /** Choice name. */\n      name?: string | null;\n      /** Added price. */\n      addedPrice?: string | null;\n  }\n  /** @oneof */\n  interface ConnectedModifierChoiceValueOneOf {\n      /** Color code in HEX format, [as described by MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color). */\n      colorCode?: string;\n      /**\n       * Multiple colors  - HEX (#RRGGBB) color code\n       * @internal\n       */\n      colorCodes?: MultipleColors;\n      /**\n       * Image\n       * @internal\n       */\n      image?: string;\n  }\n  interface Brand {\n      /** Brand ID. */\n      _id?: string | null;\n      /** Brand name. */\n      name?: string | null;\n  }\n  interface InfoSection {\n      /** Info section ID. */\n      _id?: string | null;\n      /**\n       * Info section unique name.\n       * > **Note:** Returned only when you pass `\"INFO_SECTION\"` to the `fields` array in Products API requests.\n       */\n      uniqueName?: string | null;\n      /**\n       * Info section title.\n       * > **Note:** Returned only when you pass `\"INFO_SECTION\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      title?: string | null;\n      /**\n       * Info section description using rich content.\n       * > **Note:** Returned only when you pass `\"INFO_SECTION_DESCRIPTION\"` to the `fields` array in Products API requests.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       * @readonly\n       */\n      description?: RichContent;\n      /**\n       * Info section description in HTML.\n       *\n       * When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.\n       * `plainDescription` is ignored when value is also passed to the `description` field.\n       * > **Note:** Returned only when you pass `\"INFO_SECTION_PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n       */\n      plainDescription?: string | null;\n  }\n  interface Ribbon$1 {\n      /** Ribbon ID. */\n      _id?: string | null;\n      /** Ribbon name. */\n      name?: string | null;\n  }\n  interface ProductCategoriesInfo {\n      /**\n       * A list of categories related to product.\n       * @readonly\n       */\n      categories?: ProductCategory[];\n  }\n  interface ProductCategory {\n      /** Category ID. */\n      _id?: string;\n      /** Index location of the product within the category, which can be utilized for sorting products in a specific category. For detailed instructions on how to set this up, refer to the [Add and arrange products in category](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/products-v3/sample-use-cases-and-flows#add-and-arrange-products-in-category) sample flow. */\n      index?: number | null;\n  }\n  interface ProductCategoryIdsInfo {\n      /**\n       * A list of category ids related to product.\n       * @readonly\n       */\n      categoryIds?: string[];\n  }\n  interface PriceRange {\n      /** Minimum value. */\n      minValue?: FixedMonetaryAmount;\n      /** Maximum value. */\n      maxValue?: FixedMonetaryAmount;\n  }\n  interface FixedMonetaryAmount {\n      /** Monetary amount. For example, `\"3.99\"`, or `\"-4.99\"` for a negative amount. */\n      amount?: string;\n      /**\n       * Formatted monetary amount. For example, `\"$3.99\"`.\n       * > **Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      formattedAmount?: string | null;\n  }\n  interface Inventory {\n      /**\n       * Current availability status.\n       * @readonly\n       */\n      availabilityStatus?: InventoryAvailabilityStatus;\n      /**\n       * Current preorder status.\n       * @readonly\n       */\n      preorderStatus?: PreorderStatus;\n      /**\n       * Preorder availability status.\n       * @readonly\n       */\n      preorderAvailability?: ProductPreorderAvailability;\n  }\n  enum InventoryAvailabilityStatus {\n      UNKNOWN_AVAILABILITY_STATUS = \"UNKNOWN_AVAILABILITY_STATUS\",\n      /** All variants are in stock and available for purchase. */\n      IN_STOCK = \"IN_STOCK\",\n      /** All variants are out of stock. */\n      OUT_OF_STOCK = \"OUT_OF_STOCK\",\n      /** Some variants are out of stock and some are in stock and available for purchase. */\n      PARTIALLY_OUT_OF_STOCK = \"PARTIALLY_OUT_OF_STOCK\"\n  }\n  enum PreorderStatus {\n      UNKNOWN_PREORDER_STATUS = \"UNKNOWN_PREORDER_STATUS\",\n      /** All variants are enabled for preorder. */\n      ENABLED = \"ENABLED\",\n      /** All variants are disabled for preorder. */\n      DISABLED = \"DISABLED\",\n      /** Some variants are disabled and some are enabled for preorder. */\n      PARTIALLY_ENABLED = \"PARTIALLY_ENABLED\"\n  }\n  enum ProductPreorderAvailability {\n      UNKNOWN_PREORDER_AVAILABILITY_STATUS = \"UNKNOWN_PREORDER_AVAILABILITY_STATUS\",\n      /** All the product variants are available for preorder. */\n      ALL_VARIANTS = \"ALL_VARIANTS\",\n      /** None of the product variants are available for preorder. */\n      NO_VARIANTS = \"NO_VARIANTS\",\n      /** Some of the product variants are available for preorder. */\n      SOME_VARIANTS = \"SOME_VARIANTS\"\n  }\n  enum ProductType {\n      /** Not implemented. */\n      UNKNOWN_PRODUCT_TYPE = \"UNKNOWN_PRODUCT_TYPE\",\n      /** Physical product. */\n      PHYSICAL = \"PHYSICAL\",\n      /** Digital product. */\n      DIGITAL = \"DIGITAL\"\n  }\n  interface PhysicalProperties {\n      /** Price per unit settings. */\n      pricePerUnit?: PricePerUnitSettings;\n      /** Fulfiller ID. */\n      fulfillerId?: string | null;\n      /**\n       * Shipping group ID.\n       * @internal\n       */\n      shippingGroupId?: string | null;\n      /**\n       * Product shipping weight range - minimum and maximum weights of all the variants.\n       * @readonly\n       */\n      shippingWeightRange?: WeightRange;\n      /**\n       * Product price per unit range. The minimum and maximum price per unit of all the variants.\n       * @readonly\n       */\n      pricePerUnitRange?: PricePerUnitRange;\n      /**\n       * Weight measurement unit.\n       * > **Note:** Returned only when you pass `\"WEIGHT_MEASUREMENT_UNIT_INFO\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      weightMeasurementUnitInfo?: WeightMeasurementUnitInfo;\n      /**\n       * Delivery Profile ID.\n       * @internal\n       */\n      deliveryProfileId?: string | null;\n  }\n  interface PricePerUnitSettings {\n      /**\n       * Quantity.\n       * For example, to define price per per 100 grams, set this field to `100`.\n       */\n      quantity?: number;\n      /**\n       * Measurement unit.\n       * For example, to define price per 100 grams, set this field to \"G\".\n       */\n      measurementUnit?: MeasurementUnit;\n  }\n  enum MeasurementUnit {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      ML = \"ML\",\n      CL = \"CL\",\n      L = \"L\",\n      CBM = \"CBM\",\n      MG = \"MG\",\n      G = \"G\",\n      KG = \"KG\",\n      MM = \"MM\",\n      CM = \"CM\",\n      M = \"M\",\n      SQM = \"SQM\",\n      OZ = \"OZ\",\n      LB = \"LB\",\n      FLOZ = \"FLOZ\",\n      PT = \"PT\",\n      QT = \"QT\",\n      GAL = \"GAL\",\n      IN = \"IN\",\n      FT = \"FT\",\n      YD = \"YD\",\n      SQFT = \"SQFT\"\n  }\n  interface WeightRange {\n      /** Minimum weight across all variants associated with this product. */\n      minValue?: number;\n      /** Maximum weight across all variants associated with this product. */\n      maxValue?: number;\n  }\n  interface PricePerUnitRange {\n      /** Minimum price per unit across all variants. */\n      minValue?: PricePerUnitRangePricePerUnit;\n      /** Maximum price per unit across all variants. */\n      maxValue?: PricePerUnitRangePricePerUnit;\n  }\n  interface PricePerUnitRangePricePerUnit {\n      /**\n       * Calculated value of price per unit. Takes into account pricePerUnit settings of product and variants and sale price of variants.\n       * For example if discounted price is 2$, product's price per unit setting is 1 Kg, variant price per unit setting is 0.5 Kg then this value is 4$ (means variant weight is 0.5 Kg and it costs 2$ but we want to show price per 1 Kg so we show 4$).\n       * @readonly\n       */\n      value?: string;\n      /**\n       * Price per unit info in the format of variant specific data / product setting, for example €4.00 / 1 Kg.\n       * > **Note:** This field is returned by the API only when you pass `fields: \"CURRENCY\"` in a request.\n       * @readonly\n       */\n      description?: string | null;\n  }\n  interface WeightMeasurementUnitInfo {\n      /**\n       * Weight measurement unit.\n       * @readonly\n       */\n      weightMeasurementUnit?: WeightUnit;\n  }\n  enum WeightUnit {\n      /** Weight unit can't be classified, due to an error */\n      UNSPECIFIED_WEIGHT_UNIT = \"UNSPECIFIED_WEIGHT_UNIT\",\n      /** Kilograms */\n      KG = \"KG\",\n      /** Pounds */\n      LB = \"LB\"\n  }\n  interface BreadcrumbsInfo {\n      /**\n       * Breadcrumbs.\n       * @readonly\n       */\n      breadcrumbs?: BreadCrumb[];\n  }\n  interface BreadCrumb {\n      /** Category ID. */\n      categoryId?: string;\n      /** Category name. */\n      categoryName?: string;\n      /** Category slug. */\n      categorySlug?: string;\n  }\n  interface VariantsInfo {\n      /** List of related variants. */\n      variants?: Variant[];\n  }\n  interface Variant extends VariantTypedPropertiesOneOf {\n      /** Physical properties. Must be passed when `productType: PHYSICAL` */\n      physicalProperties?: VariantPhysicalProperties;\n      /** Digital properties. Must be passed when `productType: DIGITAL` */\n      digitalProperties?: VariantDigitalProperties;\n      /** Variant ID. */\n      _id?: string | null;\n      /**\n       * Whether the variant is visible to site visitors.\n       *\n       * Default: `true`\n       */\n      visible?: boolean | null;\n      /** Variant SKU (stock keeping unit). */\n      sku?: string | null;\n      /** Variant barcode. */\n      barcode?: string | null;\n      /**\n       * List of choices.\n       * In case this list is empty, this is the default variant of an unmanaged product.\n       */\n      choices?: OptionChoice[];\n      /** Variant price. */\n      price?: PriceInfo;\n      /**\n       * Variant revenue details.\n       *\n       * > **Note:** Returned only when the following conditions are met:\n       * > + You pass `\"MERCHANT_DATA\"` to the `fields` array in Products API requests.\n       * > + Your app has the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n       */\n      revenueDetails?: RevenueDetails;\n      /**\n       * Variant media.\n       * @readonly\n       */\n      media?: ProductMedia;\n      /**\n       * Subscription prices calculated by applying subscription discount to the variant `price.actual_price`.\n       * > **Note:** Returned only when you pass `\"SUBSCRIPTION_PRICES_INFO\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      subscriptionPricesInfo?: SubscriptionPricesInfo;\n      /**\n       * Variant inventory status.\n       * @readonly\n       */\n      inventoryStatus?: InventoryStatus;\n  }\n  /** @oneof */\n  interface VariantTypedPropertiesOneOf {\n      /** Physical properties. Must be passed when `productType: PHYSICAL` */\n      physicalProperties?: VariantPhysicalProperties;\n      /** Digital properties. Must be passed when `productType: DIGITAL` */\n      digitalProperties?: VariantDigitalProperties;\n  }\n  interface OptionChoice {\n      /** Option and choice IDs. */\n      optionChoiceIds?: OptionChoiceIds;\n      /**\n       * Option and choice names.\n       * > **Note:** Returned only when you pass `\"VARIANT_OPTION_CHOICE_NAMES\"` to the `fields` array in Products API requests.\n       */\n      optionChoiceNames?: OptionChoiceNames;\n  }\n  interface OptionChoiceIds {\n      /** Option ID. */\n      optionId?: string;\n      /** Choice ID. */\n      choiceId?: string;\n  }\n  interface OptionChoiceNames {\n      /** Option name. */\n      optionName?: string;\n      /** Choice name. */\n      choiceName?: string;\n      /** Render type. */\n      renderType?: ProductOptionRenderType;\n  }\n  interface PriceInfo {\n      /**\n       * Variant price. Must be greater or equal to 0.\n       * @deprecated Variant price. Must be greater or equal to 0.\n       * @replacedBy compare_at_price\n       * @targetRemovalDate 2024-12-31\n       */\n      basePrice?: FixedMonetaryAmount;\n      /**\n       * Variant sale price. If not provided, sale price will be equal to `basePrice`. When provided, value must be greater or equal to 0, and less than or equal to `basePrice`.\n       * @deprecated Variant sale price. If not provided, sale price will be equal to `basePrice`. When provided, value must be greater or equal to 0, and less than or equal to `basePrice`.\n       * @replacedBy actual_price\n       * @targetRemovalDate 2024-12-31\n       */\n      salePrice?: FixedMonetaryAmount;\n      /** Variant price. Must be greater or equal to 0. */\n      actualPrice?: FixedMonetaryAmount;\n      /** The compare-at-price represents the original price of a product before any discount. It is optional and should only be set if a discount applies. When set, it must be higher than the current price to reflect accurate savings. */\n      compareAtPrice?: FixedMonetaryAmount;\n  }\n  interface RevenueDetails {\n      /** Item cost. */\n      cost?: FixedMonetaryAmount;\n      /**\n       * Profit. Calculated by reducing `cost` from `discountedPrice`.\n       * @readonly\n       */\n      profit?: FixedMonetaryAmount;\n      /**\n       * Profit Margin. Calculated by dividing `profit` by `discountedPrice`.\n       * The result is rounded to 4 decimal places.\n       * @readonly\n       */\n      profitMargin?: number;\n  }\n  interface VariantPhysicalProperties {\n      /** Variant shipping weight. */\n      weight?: number | null;\n      /**\n       * Price per unit info, in order to show price per unit on the product page.\n       * For example if one sells cheese and defines 100g here then we know that buying this variant buyer receives 100g of cheese.\n       * But on product page price will be displayed for units defined on product level. See `pricePerUnit.value` to understand how it's calculated.\n       */\n      pricePerUnit?: PricePerUnit;\n  }\n  interface PricePerUnit {\n      /**\n       * Price per unit data for this variant.\n       * `measurementUnit` value must correspond to the measurement unit set on the product.\n       */\n      settings?: PricePerUnitSettings;\n      /**\n       * Calculated value of price per unit. Takes into account `pricePerUnit` settings of parent product, of this variant, and discounted price of variant.\n       * For example if discounted price is 2$, product's price per unit setting is 1 Kg, variant price per unit setting is 0.5 Kg then this value is 4$ (means variant weight is 0.5 Kg and it costs 2$ but we want to show price per 1 Kg so we show 4$).\n       * @readonly\n       */\n      value?: string;\n      /**\n       * Price per unit description.\n       * > **Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      description?: string | null;\n  }\n  interface VariantDigitalProperties {\n      /** Digital file which will be downloaded by customer after successful purchase. */\n      digitalFile?: SecuredMedia;\n  }\n  interface SecuredMedia {\n      /** Media ID in media manager. */\n      _id?: string;\n      /**\n       * Original file name.\n       * @readonly\n       */\n      fileName?: string;\n      /**\n       * Original file size.\n       * @readonly\n       */\n      fileSize?: string | null;\n      /**\n       * File type.\n       * @readonly\n       */\n      fileType?: FileType;\n  }\n  enum FileType {\n      /** Unspecified file type. */\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** Secure picture file. */\n      SECURE_PICTURE = \"SECURE_PICTURE\",\n      /** Secure video file. */\n      SECURE_VIDEO = \"SECURE_VIDEO\",\n      /** Secure document file. */\n      SECURE_DOCUMENT = \"SECURE_DOCUMENT\",\n      /** Secure music file. */\n      SECURE_MUSIC = \"SECURE_MUSIC\",\n      /** Secure archive file. */\n      SECURE_ARCHIVE = \"SECURE_ARCHIVE\"\n  }\n  interface SubscriptionPricesInfo {\n      /** Subscription prices. */\n      subscriptionPrices?: SubscriptionPrice[];\n  }\n  interface SubscriptionPrice {\n      /**\n       * Subscription ID.\n       * @readonly\n       */\n      subscriptionId?: string;\n      /**\n       * Subscription price calculated by applying subscription discount to the variant `price.actual_price`\n       * @readonly\n       */\n      price?: FixedMonetaryAmount;\n      /**\n       * Price per unit info.\n       * @readonly\n       */\n      pricePerUnit?: SubscriptionPricePerUnit;\n  }\n  interface SubscriptionPricePerUnit {\n      /**\n       * Calculated value of price per unit. Takes into account `pricePerUnit` settings of parent product, `pricePerUnit` settings of this variant, and the variant subscription price.\n       * @readonly\n       */\n      value?: string;\n      /**\n       * Price per unit description.\n       * > **Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      description?: string | null;\n  }\n  interface InventoryStatus {\n      /** Whether the variant is in stock. */\n      inStock?: boolean;\n      /** Whether preorder is enabled for this variant. */\n      preorderEnabled?: boolean;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface SubscriptionDetails {\n      /** Subscriptions. */\n      subscriptions?: Subscription[];\n      /**\n       * Whether to allow one-time purchases in addition to subscription-based purchases.\n       *\n       * Default: `false`\n       */\n      allowOneTimePurchases?: boolean | null;\n  }\n  interface Subscription extends SubscriptionCyclesOneOf {\n      /** Whether subscription is renewed automatically at the end of each period. Cannot be `false`, instead set `billingCycles`. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. */\n      billingCycles?: number;\n      /** Subscription ID. */\n      _id?: string | null;\n      /** Subscription title. */\n      title?: string;\n      /** Subscription description. */\n      description?: string | null;\n      /**\n       * Whether the subscription is visible to site visitors.\n       *\n       * Default: `true`\n       */\n      visible?: boolean | null;\n      /**\n       * Frequency of recurring payment.\n       * For example, if `frequency: MONTH` and `billingCycles: 6`; payment will be made monthly for 6 months.\n       */\n      frequency?: SubscriptionFrequency;\n      /** Interval of recurring payment. Default: `1`. For example, if `frequency: MONTH`, `billingCycles: 3` and `interval: 2`; payment will be made every 2 months for a total of 6 months. */\n      interval?: number | null;\n      /**\n       * Discount info (optional).\n       * For example, a $20 discount would be `amount: 20`, `type: AMOUNT`.\n       */\n      discount?: SubscriptionDiscount;\n  }\n  /** @oneof */\n  interface SubscriptionCyclesOneOf {\n      /** Whether subscription is renewed automatically at the end of each period. Cannot be `false`, instead set `billingCycles`. */\n      autoRenewal?: boolean;\n      /** Number of billing cycles before subscription ends. */\n      billingCycles?: number;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface SubscriptionDiscount extends SubscriptionDiscountDiscountOneOf {\n      /** Amount to discount from the variant discounted_price. */\n      amountOff?: string;\n      /** Percentage to discount from variant discounted_price. */\n      percentOff?: number;\n      /** Discount type. */\n      type?: DiscountType;\n  }\n  /** @oneof */\n  interface SubscriptionDiscountDiscountOneOf {\n      /** Amount to discount from the variant discounted_price. */\n      amountOff?: string;\n      /** Percentage to discount from variant discounted_price. */\n      percentOff?: number;\n  }\n  enum DiscountType {\n      UNKNOWN_DISCOUNT = \"UNKNOWN_DISCOUNT\",\n      /** Discount by a specific amount. */\n      AMOUNT = \"AMOUNT\",\n      /** Discount by a percentage. */\n      PERCENT = \"PERCENT\"\n  }\n  interface VariantSummary {\n      /**\n       * The total number of variants for the product.\n       * @readonly\n       */\n      variantCount?: number;\n  }\n  interface MinVariantPriceInfo {\n      /**\n       * Variant price. Must be greater or equal to 0.\n       * @readonly\n       * @deprecated Variant price. Must be greater or equal to 0.\n       * @replacedBy compare_at_price\n       * @targetRemovalDate 2024-12-31\n       */\n      basePrice?: FixedMonetaryAmount;\n      /**\n       * Variant sale price. If not provided, sale price will be equal to `basePrice`. When provided, value must be greater or equal to 0, and less than or equal to `basePrice`.\n       * @readonly\n       * @deprecated Variant sale price. If not provided, sale price will be equal to `basePrice`. When provided, value must be greater or equal to 0, and less than or equal to `basePrice`.\n       * @replacedBy actual_price\n       * @targetRemovalDate 2024-12-31\n       */\n      salePrice?: FixedMonetaryAmount;\n      /**\n       * Subscription price calculated by applying subscription discount to the variant `price.actualPrice`\n       * @readonly\n       */\n      minSubscriptionPrice?: FixedMonetaryAmount;\n      /**\n       * Subscription price per unit calculated value of price per unit.\n       * Takes into account `pricePerUnit` settings of parent product, `pricePerUnit` settings of this variant, and the variant subscription price.\n       * @readonly\n       */\n      minSubscriptionPricePerUnit?: string | null;\n      /**\n       * Variant price per unit.\n       * @readonly\n       */\n      pricePerUnitData?: PricePerUnit;\n      /**\n       * Variant SKU (stock keeping unit).\n       * @readonly\n       */\n      sku?: string | null;\n      /**\n       * Variant shipping weight.\n       * @readonly\n       */\n      weight?: number | null;\n      /**\n       * Variant revenue details.\n       *\n       * > **Note:** Returned only when the following conditions are met:\n       * > + You pass `\"MERCHANT_DATA\"` to the `fields` array in Products API requests.\n       * > + Your app has the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n       * @readonly\n       */\n      revenueDetails?: RevenueDetails;\n      /** Variant price. Must be greater or equal to 0. */\n      actualPrice?: FixedMonetaryAmount;\n      /** The compare-at-price represents the original price of a product before any discount. It is optional and should only be set if a discount applies. When set, it must be higher than the current price to reflect accurate savings. */\n      compareAtPrice?: FixedMonetaryAmount;\n  }\n  interface UpdateDocumentsEvent extends UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n      /** application which owns documents */\n      appDefId?: string | null;\n      /** type of the documents */\n      documentType?: string | null;\n      /** language of the documents */\n      language?: string | null;\n      /** site documents belong to */\n      msId?: string | null;\n  }\n  /** @oneof */\n  interface UpdateDocumentsEventOperationOneOf {\n      /** insert/update documents */\n      update?: DocumentUpdateOperation;\n      /** delete by document ids */\n      deleteByIds?: DeleteByIdsOperation;\n      /** delete documents matching filter */\n      deleteByFilter?: DeleteByFilterOperation;\n      /** update documents matching filter */\n      updateByFilter?: UpdateByFilterOperation;\n      /** update only existing documents */\n      updateExisting?: UpdateExistingOperation;\n  }\n  interface DocumentUpdateOperation {\n      /** documents to index or update */\n      documents?: IndexDocument[];\n  }\n  interface IndexDocument {\n      /** data bag with non-searchable fields (url, image) */\n      payload?: DocumentPayload;\n      /** what type of users should documents be visible to */\n      exposure?: Enum;\n      /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */\n      document?: Record<string, any> | null;\n      /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */\n      permittedMemberGroups?: string[];\n      /** if true SEO is disabled for this document */\n      seoHidden?: boolean | null;\n      /** if true the page is a lightbox popup */\n      isPopup?: boolean | null;\n  }\n  interface DocumentPayload {\n      /** url of the page representing the document */\n      url?: string | null;\n      /** image which represents the document */\n      documentImage?: DocumentImage;\n  }\n  interface DocumentImage {\n      /** the name of the image */\n      name?: string;\n      /** the width of the image */\n      width?: number;\n      /** the height of the image */\n      height?: number;\n  }\n  enum Enum {\n      /** Default value. Means that permission not set */\n      UNKNOWN = \"UNKNOWN\",\n      /** Protected exposure. Exposed to members and owners */\n      PROTECTED = \"PROTECTED\",\n      /** Private exposure. Exposed to owners */\n      PRIVATE = \"PRIVATE\",\n      /** Public exposure. Visible to everyone */\n      PUBLIC = \"PUBLIC\",\n      /** Used for partial updates, to state that exposure is not changing */\n      UNCHANGED = \"UNCHANGED\",\n      /** Protected to members of permitted groups and owners */\n      GROUP_PROTECTED = \"GROUP_PROTECTED\"\n  }\n  interface DeleteByIdsOperation {\n      /** ids of the documents to delete */\n      documentIds?: string[];\n  }\n  interface DeleteByFilterOperation {\n      /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n      filter?: Record<string, any> | null;\n  }\n  interface UpdateByFilterOperation {\n      /** documents matching this filter will be updated */\n      filter?: Record<string, any> | null;\n      /** partial document to apply */\n      document?: IndexDocument;\n  }\n  interface UpdateExistingOperation {\n      /** documents to update */\n      documents?: IndexDocument[];\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface Empty$3 {\n  }\n  interface SearchIndexingNotification {\n      /** new state of indexing for the site specified in ms_id */\n      indexState?: State$1;\n      /** type of the document the notification is targeted for. Applies to all types if not provided */\n      documentType?: string | null;\n      /** languaInternalDocumentUpdateByFilterOperationge the notification is targeted for. Applies to all languages if not provided */\n      language?: string | null;\n      /** site for which notification is targeted */\n      msId?: string | null;\n  }\n  enum State$1 {\n      /** default state */\n      Unknown = \"Unknown\",\n      /** metasite does not require site search indexing */\n      Off = \"Off\",\n      /** metasite requires site search indexing */\n      On = \"On\"\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CreateProductRequest {\n      /**\n       * Product to create.\n       *\n       * At least 1 variant must be provided and each variant must have relevant item in `choices` field for every item in `options`.\n       * If `options` is empty one default variant must be provided with empty `choices` list.\n       */\n      product: V3Product;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  enum SingleEntityOpsRequestedFields {\n      /** Not implemented. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      URL = \"URL\",\n      CURRENCY = \"CURRENCY\",\n      INFO_SECTION = \"INFO_SECTION\",\n      /** You can request merchant data only if you have the `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope. */\n      MERCHANT_DATA = \"MERCHANT_DATA\",\n      PLAIN_DESCRIPTION = \"PLAIN_DESCRIPTION\",\n      INFO_SECTION_PLAIN_DESCRIPTION = \"INFO_SECTION_PLAIN_DESCRIPTION\",\n      SUBSCRIPTION_PRICES_INFO = \"SUBSCRIPTION_PRICES_INFO\",\n      BREADCRUMBS_INFO = \"BREADCRUMBS_INFO\",\n      WEIGHT_MEASUREMENT_UNIT_INFO = \"WEIGHT_MEASUREMENT_UNIT_INFO\",\n      VARIANT_OPTION_CHOICE_NAMES = \"VARIANT_OPTION_CHOICE_NAMES\",\n      MEDIA_ITEMS_INFO = \"MEDIA_ITEMS_INFO\",\n      DESCRIPTION = \"DESCRIPTION\",\n      DIRECT_CATEGORIES_INFO = \"DIRECT_CATEGORIES_INFO\",\n      ALL_CATEGORIES_INFO = \"ALL_CATEGORIES_INFO\",\n      MIN_VARIANT_PRICE_INFO = \"MIN_VARIANT_PRICE_INFO\",\n      INFO_SECTION_DESCRIPTION = \"INFO_SECTION_DESCRIPTION\",\n      THUMBNAIL = \"THUMBNAIL\",\n      DIRECT_CATEGORY_IDS = \"DIRECT_CATEGORY_IDS\"\n  }\n  interface CreateProductResponse {\n      /** Created product. */\n      product?: V3Product;\n  }\n  interface VariantsNotAlignedWithProduct {\n      /** Variants not aligned with product */\n      variants?: VariantNotAlignedWithProduct[];\n  }\n  interface VariantNotAlignedWithProduct {\n      /** variant id */\n      variantId?: string;\n      /** what's wrong with this specific variant */\n      errorDescription?: string;\n  }\n  interface CreateProductWithInventoryRequest {\n      /**\n       * Product to create with inventory.\n       *\n       * At least one variant must be provided and each variant must have relevant item in `choices` field for every item in `options`.\n       * If `options` is empty one default variant must be provided with empty `choices` list.\n       */\n      product: ProductWithInventory;\n      /**\n       * Whether to return inventory entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface ProductWithInventory extends ProductWithInventoryTypedPropertiesOneOf {\n      /**\n       * Physical properties.\n       *\n       * Required when `productType: PHYSICAL`.\n       */\n      physicalProperties?: PhysicalProperties;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the product is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the product.\n       *\n       * Ignored when creating a product with inventory.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Product name. */\n      name?: string | null;\n      /**\n       * Product slug.\n       *\n       * If not provided, the slug is autogenerated based on the product name.\n       */\n      slug?: string | null;\n      /**\n       * Product description using rich content.\n       *\n       * Learn more about [Working with Rich Content](https://dev.wix.com/docs/go-headless/tutorials-templates/other-tutorials/working-with-rich-content).\n       * @internal\n       */\n      description?: RichContent;\n      /**\n       * Product description in HTML.\n       *\n       * + When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.\n       * + `plainDescription` is ignored when value is also passed to the `description` field.\n       * > **Note:** Returned only when you pass `\"PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n       */\n      plainDescription?: string | null;\n      /**\n       * Whether the product is visible to site visitors on the site.\n       *\n       * Default: `true`\n       */\n      visible?: boolean | null;\n      /**\n       * Whether the product is visible in POS (point of sale).\n       *\n       * Default: `true`\n       * > **Note:** Always `false` for `productType: DIGITAL`.\n       */\n      visibleInPos?: boolean | null;\n      /** Product media items. */\n      media?: Media;\n      /** Product SEO data. */\n      seoData?: SeoSchema;\n      /** Tax group ID. */\n      taxGroupId?: string | null;\n      /**\n       * Product options. Allows buyer to customize product, e.g. select Color, Size and so on.\n       * Always generates variants: every variant must have exactly one choice related to each option.\n       * Since options and variants tightly coupled and rely on each other they usually should be provided together in all operations.\n       * For existing options and choices provide ids only, all other data (e.g. names, title, types and so on) will be resolved for you by ids.\n       * If you don't have ids it's ok to omit them but provide all other data instead. For existing options ids will be resolved, not existing options will be created.\n       * *None*: you cannot change name of existing option via this endpoint but you can do it by calling CustomizationService\n       */\n      options?: ConnectedOption[];\n      /**\n       * Product Modifiers. Allows buyer to customize product, e.g. select Color, Size and so on similarly to `options` but with one main difference - `modifiers` never generate any variants.\n       * For existing modifiers and choices provide ids only, all other data (e.g. names, title, types and so on) will be resolved for you by ids.\n       * If you don't have ids it's ok to omit them but provide all other data instead. For existing modifiers ids will be resolved, not existing modifiers will be created.\n       * *None*: you cannot change name of existing modifier via this endpoint by passing id and changed name, if you pass id name will be ignored. If you want to update existing modifier name do it by calling CustomizationService\n       */\n      modifiers?: ConnectedModifier[];\n      /**\n       * Product brand.\n       *\n       * + Pass `brand.name` to add a new brand while creating a product.\n       * + Pass an existing brand's `id` to assign that brand to the product.\n       */\n      brand?: Brand;\n      /**\n       * Product info section.\n       *\n       * + Pass `infoSection.uniqueName`, `infoSection.title`, and `infoSection.description` to add a new info section while creating a product.\n       * + Pass an existing info section's `id` or `uniqueName` to assign that info section to the product.\n       */\n      infoSections?: InfoSection[];\n      /**\n       * Product ribbon.\n       *\n       * + Pass `ribbon.name` to add a new ribbon while creating a product.\n       * + Pass an existing ribbon's `id` or `name` to assign that ribbon to the product.\n       */\n      ribbon?: Ribbon$1;\n      /** Main category ID. */\n      mainCategoryId?: string | null;\n      /**\n       * Product type.\n       *\n       * When passing `productType: PHYSICAL`, you must also pass `physicalProperties`.\n       */\n      productType?: ProductType;\n      /**\n       * A unique human-friendly identifier for the product.\n       * Unlike the product ID, the handle can be set by the user to ensure consistency across multiple platforms.\n       * In case handle wasn't given, the handle will be automatically generated.\n       */\n      handle?: string | null;\n      /** Product variants. */\n      variantsInfo?: V3VariantsInfo;\n      /** Subscription details. */\n      subscriptionDetails?: SubscriptionDetails;\n      /**\n       * Custom extended fields for the product object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  /** @oneof */\n  interface ProductWithInventoryTypedPropertiesOneOf {\n      /**\n       * Physical properties.\n       *\n       * Required when `productType: PHYSICAL`.\n       */\n      physicalProperties?: PhysicalProperties;\n  }\n  interface V3VariantsInfo {\n      /**\n       * List of related variants.\n       * Partial update of variants is not supported so on update you must pass all data for all of them.\n       * If you want to update existing variant you must provide `id`, otherwise new variant with different id will be created which might break some integrations that rely on variant ids.\n       */\n      variants?: VariantWithInventory[];\n  }\n  interface VariantWithInventory extends VariantWithInventoryTypedPropertiesOneOf {\n      /** Physical properties. Must be passed when `productType: PHYSICAL` */\n      physicalProperties?: VariantPhysicalProperties;\n      /** Digital properties. Must be passed when `productType: DIGITAL` */\n      digitalProperties?: VariantDigitalProperties;\n      /** Variant ID. */\n      _id?: string | null;\n      /**\n       * Whether the variant is visible to site visitors.\n       *\n       * Default: `true`\n       */\n      visible?: boolean | null;\n      /** Variant SKU (stock keeping unit). */\n      sku?: string | null;\n      /** Variant barcode. */\n      barcode?: string | null;\n      /** Variant price. */\n      price?: PriceInfo;\n      /**\n       * Variant revenue details.\n       *\n       * > **Note:** Returned only when the following conditions are met:\n       * > + You pass `\"MERCHANT_DATA\"` to the `fields` array in Products API requests.\n       * > + Your app has the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n       */\n      revenueDetails?: RevenueDetails;\n      /** Inventory item of the variant on the default location. */\n      inventoryItem?: InventoryItemComposite;\n      /** List of choices. */\n      choices?: OptionChoiceReferences[];\n  }\n  /** @oneof */\n  interface VariantWithInventoryTypedPropertiesOneOf {\n      /** Physical properties. Must be passed when `productType: PHYSICAL` */\n      physicalProperties?: VariantPhysicalProperties;\n      /** Digital properties. Must be passed when `productType: DIGITAL` */\n      digitalProperties?: VariantDigitalProperties;\n  }\n  interface InventoryItemComposite extends InventoryItemCompositeTrackingMethodOneOf {\n      /**\n       * Tracking method - in stock.\n       *\n       * When set to `true`, the item is available for sale without a quantity limit.\n       */\n      inStock?: boolean;\n      /**\n       * Tracking method - quantity left in inventory.\n       *\n       * Quantity can be negative when decrementing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n      /**\n       * Inventory item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Inventory item revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Item preorder info. */\n      preorderInfo?: PreorderInfo;\n  }\n  /** @oneof */\n  interface InventoryItemCompositeTrackingMethodOneOf {\n      /**\n       * Tracking method - in stock.\n       *\n       * When set to `true`, the item is available for sale without a quantity limit.\n       */\n      inStock?: boolean;\n      /**\n       * Tracking method - quantity left in inventory.\n       *\n       * Quantity can be negative when decrementing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n  }\n  interface PreorderInfo {\n      /**\n       * Whether preorder is enabled for the product.\n       *\n       * Default: `false`\n       */\n      enabled?: boolean | null;\n      /** A message the customer will see when the item is out of stock and preorder is enabled. */\n      message?: string | null;\n      /**\n       * Number of products that can be preordered after stock reaches zero.\n       * Supported only for inventory items with `trackQuantity = true`.\n       *\n       * Default: `100000`\n       */\n      limit?: number | null;\n      /**\n       * Number of times the product was preordered.\n       *\n       * Supported only for inventory items with `trackQuantity = true`.\n       * @readonly\n       */\n      counter?: number | null;\n      /**\n       * Quantity of products that can be preordered.\n       *\n       * Supported only for inventory items with `trackQuantity = true`.\n       * @readonly\n       */\n      quantity?: number | null;\n  }\n  interface OptionChoiceReferences {\n      /** Option and choice IDs. */\n      optionChoiceIds?: V3OptionChoiceIds;\n      /** Option and choice names. */\n      optionChoiceNames?: V3OptionChoiceNames;\n  }\n  interface V3OptionChoiceIds {\n      /** Option ID. */\n      optionId?: string;\n      /** Choice ID. */\n      choiceId?: string;\n  }\n  interface V3OptionChoiceNames {\n      /** Option name. */\n      optionName?: string;\n      /** Choice name. */\n      choiceName?: string;\n      /** Render type. */\n      renderType?: ProductOptionRenderType;\n  }\n  interface CreateProductWithInventoryResponse {\n      /** Created product. */\n      product?: V3Product;\n      /** Inventories created by bulk action. */\n      inventoryResults?: BulkInventoryItemResults;\n  }\n  interface BulkInventoryItemResults {\n      /** Inventories modified by bulk action. */\n      results?: BulkInventoryItemResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: CommonBulkActionMetadata;\n      /** Error details in case of failed action. */\n      error?: ApplicationError$1;\n  }\n  interface BulkInventoryItemResult {\n      /** Bulk action metadata for inventory item. */\n      itemMetadata?: CommonItemMetadata;\n      /**\n       * Full inventory item entity.\n       *\n       * Returned only if `returnEntity: true` is passed in the request.\n       */\n      item?: InventoryItem;\n  }\n  interface CommonItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  /** Inventory Item. */\n  interface InventoryItem extends InventoryItemTrackingMethodOneOf {\n      /**\n       * Tracking method - in stock.\n       *\n       * When set to `true`, the item is available for sale without a quantity limit.\n       */\n      inStock?: boolean;\n      /**\n       * Tracking method - quantity left in inventory.\n       *\n       * Quantity can be negative when decrementing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n      /**\n       * Inventory item ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the inventory item is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the inventory item.\n       *\n       * Ignored when creating an inventory item.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the inventory item was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the inventory item was created.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Variant ID. */\n      variantId?: string;\n      /** Stores location ID. */\n      locationId?: string | null;\n      /** Product ID. */\n      productId?: string;\n      /**\n       * Whether the quantity is being tracked.\n       * @readonly\n       */\n      trackQuantity?: boolean;\n      /**\n       * Inventory item availability status.\n       *\n       * Supported values:\n       * + OUT_OF_STOCK: Product is out of stock.\n       * + IN_STOCK: Product is in stock. See `quantity` field for exact amount in stock.\n       * + PREORDER: Product is only available for preorder. See `preorderInfo` field for more info.\n       * @readonly\n       */\n      availabilityStatus?: AvailabilityStatus;\n      /** Item preorder info. */\n      preorderInfo?: PreorderInfo;\n      /**\n       * Product.\n       * @readonly\n       */\n      product?: Product;\n      /**\n       * Custom field data for the inventory item object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  /** @oneof */\n  interface InventoryItemTrackingMethodOneOf {\n      /**\n       * Tracking method - in stock.\n       *\n       * When set to `true`, the item is available for sale without a quantity limit.\n       */\n      inStock?: boolean;\n      /**\n       * Tracking method - quantity left in inventory.\n       *\n       * Quantity can be negative when decrementing inventory for an order that has already been paid.\n       */\n      quantity?: number;\n  }\n  enum AvailabilityStatus {\n      UNKNOWN_AVAILABILITY_STATUS = \"UNKNOWN_AVAILABILITY_STATUS\",\n      /** Product is out of stock. */\n      OUT_OF_STOCK = \"OUT_OF_STOCK\",\n      /** Product is in stock. See `quantity` field for exact amount in stock. */\n      IN_STOCK = \"IN_STOCK\",\n      /** Product is only available for preorder. See `preorderInfo` field for more info. */\n      PREORDER = \"PREORDER\"\n  }\n  interface Product {\n      /** Product name. */\n      name?: string | null;\n      /** List of category IDs that this product is included in directly. */\n      directCategoryIds?: string[];\n      /** Variant name. */\n      variantName?: string | null;\n      /** Variant SKU (stock keeping unit). */\n      variantSku?: string | null;\n      /** Variant visible. */\n      variantVisible?: boolean | null;\n  }\n  interface CommonBulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface UpdateProductRequest {\n      /** Product to update. */\n      product: V3Product;\n      /**\n       * Explicit list of fields to update in product\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface UpdateProductResponse {\n      /** Updated product. */\n      product?: V3Product;\n  }\n  interface UnsupportedFieldMasks {\n      /** Field masks provided in request but not supported */\n      fieldMasks?: string[];\n  }\n  interface UpdateProductWithInventoryRequest {\n      /** Product to update. */\n      product: ProductWithInventory;\n      /**\n       * Explicit list of fields to update in product\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Whether to return the full inventory entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface UpdateProductWithInventoryResponse {\n      /** Updated product. */\n      product?: V3Product;\n      /** Inventories updated by bulk action. */\n      inventoryResults?: BulkInventoryItemResults;\n  }\n  interface BulkCreateProductsRequest {\n      /** List of products to create. */\n      products: V3Product[];\n      /**\n       * Whether to return the full product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  enum RequestedFields$1 {\n      /** Not implemented. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      URL = \"URL\",\n      CURRENCY = \"CURRENCY\",\n      INFO_SECTION = \"INFO_SECTION\",\n      /** You can request merchant data only if you have the `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope. */\n      MERCHANT_DATA = \"MERCHANT_DATA\",\n      PLAIN_DESCRIPTION = \"PLAIN_DESCRIPTION\",\n      INFO_SECTION_PLAIN_DESCRIPTION = \"INFO_SECTION_PLAIN_DESCRIPTION\",\n      SUBSCRIPTION_PRICES_INFO = \"SUBSCRIPTION_PRICES_INFO\",\n      BREADCRUMBS_INFO = \"BREADCRUMBS_INFO\",\n      WEIGHT_MEASUREMENT_UNIT_INFO = \"WEIGHT_MEASUREMENT_UNIT_INFO\",\n      VARIANT_OPTION_CHOICE_NAMES = \"VARIANT_OPTION_CHOICE_NAMES\",\n      MEDIA_ITEMS_INFO = \"MEDIA_ITEMS_INFO\",\n      DESCRIPTION = \"DESCRIPTION\",\n      DIRECT_CATEGORIES_INFO = \"DIRECT_CATEGORIES_INFO\",\n      ALL_CATEGORIES_INFO = \"ALL_CATEGORIES_INFO\",\n      MIN_VARIANT_PRICE_INFO = \"MIN_VARIANT_PRICE_INFO\",\n      INFO_SECTION_DESCRIPTION = \"INFO_SECTION_DESCRIPTION\",\n      THUMBNAIL = \"THUMBNAIL\",\n      DIRECT_CATEGORY_IDS = \"DIRECT_CATEGORY_IDS\"\n  }\n  interface BulkCreateProductsResponse {\n      /** Products created by bulk action. */\n      results?: CatalogV3BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: CommonBulkActionMetadata;\n  }\n  interface CatalogV3BulkProductResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: WixCommonItemMetadata;\n      /**\n       * Full product entity.\n       *\n       * Returned only if `returnEntity: true` is passed in the request.\n       */\n      item?: V3Product;\n  }\n  interface WixCommonItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface InvalidDigitalFileIds {\n      /** ids of digital files which caused errors. */\n      ids?: string[];\n  }\n  interface BulkCreateProductsWithInventoryRequest {\n      /** List of products to create with inventory. */\n      products: ProductWithInventory[];\n      /**\n       * Whether to return the full product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface BulkCreateProductsWithInventoryResponse {\n      /** Products created by bulk action. */\n      productResults?: BulkProductResults;\n      /** Inventories created by bulk action. */\n      inventoryResults?: BulkInventoryItemResults;\n  }\n  interface BulkProductResults {\n      /** Products modified by bulk action. */\n      results?: CatalogV3BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: CommonBulkActionMetadata;\n  }\n  interface BulkUpdateProductsRequest {\n      /** List of products to update. */\n      products: V3MaskedProduct[];\n      /**\n       * Whether to return the full product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface V3MaskedProduct {\n      /** Product to update. */\n      product?: V3Product;\n      /**\n       * Explicit list of fields to update in product\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateProductsResponse {\n      /** Products updated by bulk action. */\n      results?: CatalogV3BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: CommonBulkActionMetadata;\n  }\n  interface BulkUpdateProductsWithInventoryRequest {\n      /** List of products to update. */\n      products: MaskedProductWithInventory[];\n      /**\n       * Whether to return the full product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface MaskedProductWithInventory {\n      /** Product to update. */\n      product?: ProductWithInventory;\n      /**\n       * Explicit list of fields to update in product\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateProductsWithInventoryResponse {\n      /** Products updated by bulk action. */\n      productResults?: BulkProductResults;\n      /** Inventories updated by bulk action. */\n      inventoryResults?: BulkInventoryItemResults;\n  }\n  interface V3BulkUpdateProductsByFilterRequest {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Product to update. */\n      product: V3Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  interface WixCommonSearchDetails {\n      /** Defines how separate search terms in `expression` are combined */\n      mode?: CommonSearchDetailsMode;\n      /** Search term or expression */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path */\n      fields?: string[];\n      /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum CommonSearchDetailsMode {\n      /** Any of the search terms must be present */\n      OR = \"OR\",\n      /** All search terms must be present */\n      AND = \"AND\"\n  }\n  interface V3BulkUpdateProductsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface V3UpdateExtendedFieldsRequest {\n      /** Product ID. */\n      productId: string;\n      /** App namespace. */\n      namespace: string;\n      /** Data to update. */\n      namespaceData: Record<string, any> | null;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface V3UpdateExtendedFieldsResponse {\n      /** Updated product. */\n      product?: V3Product;\n  }\n  interface V3DeleteProductRequest {\n      /** Product ID. */\n      productId: string;\n  }\n  interface V3DeleteProductResponse {\n  }\n  interface V3BulkDeleteProductsRequest {\n      /** IDs of products to delete. */\n      productIds: string[];\n  }\n  interface V3BulkDeleteProductsResponse {\n      /** Products deleted by bulk action. */\n      results?: BulkDeleteProductsResponseBulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: CommonBulkActionMetadata;\n  }\n  interface BulkDeleteProductsResponseBulkProductResult {\n      /** Bulk action metadata for products. */\n      itemMetadata?: WixCommonItemMetadata;\n  }\n  interface V3BulkDeleteProductsByFilterRequest {\n      /** Filter object. */\n      filter: Record<string, any> | null;\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  interface V3BulkDeleteProductsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface V3GetProductRequest {\n      /** Product ID. */\n      productId: string;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n      /**\n       * Indicates if the read should be done consistent or not. Default is false\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  interface V3GetProductResponse {\n      /** Product. */\n      product?: V3Product;\n  }\n  interface V3GetProductBySlugRequest {\n      /** Product slug. */\n      slug: string;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface V3GetProductBySlugResponse {\n      /** Product. */\n      product?: V3Product;\n  }\n  interface V3SearchProductsRequest {\n      /** Search options. */\n      search?: CommonCursorSearch;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface CommonCursorSearch extends CommonCursorSearchPagingMethodOneOf {\n      /**\n       * Cursor pointing to page of results.\n       * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.\n       */\n      cursorPaging?: CommonCursorPaging;\n      /** A filter object. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language). */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: WixCommonSorting[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: WixCommonAggregation[];\n      /** Free text to match in searchable fields */\n      search?: WixCommonSearchDetails;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. e.g. `\"2023-12-20T10:52:34.795Z\"`\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CommonCursorSearchPagingMethodOneOf {\n      /**\n       * Cursor pointing to page of results.\n       * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.\n       */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface WixCommonSorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: WixCommonSortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum WixCommonSortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface WixCommonAggregation extends WixCommonAggregationKindOneOf {\n      /** Value aggregation */\n      value?: CommonAggregationValueAggregation;\n      /** Range aggregation */\n      range?: CommonAggregationRangeAggregation;\n      /** Scalar aggregation */\n      scalar?: CommonAggregationScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: CommonAggregationDateHistogramAggregation;\n      /** Nested aggregation */\n      nested?: CommonAggregationNestedAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: WixCommonAggregationType;\n      /** Field to aggregate by, use dot notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface WixCommonAggregationKindOneOf {\n      /** Value aggregation */\n      value?: CommonAggregationValueAggregation;\n      /** Range aggregation */\n      range?: CommonAggregationRangeAggregation;\n      /** Scalar aggregation */\n      scalar?: CommonAggregationScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: CommonAggregationDateHistogramAggregation;\n      /** Nested aggregation */\n      nested?: CommonAggregationNestedAggregation;\n  }\n  interface AggregationRangeAggregationRangeBucket {\n      /** Inclusive lower bound of the range. Required if to is not given */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if from is not given */\n      to?: number | null;\n  }\n  enum AggregationValueAggregationSortType {\n      /** Should sort by number of matches */\n      COUNT = \"COUNT\",\n      /** Should sort by value of the field alphabetically */\n      VALUE = \"VALUE\"\n  }\n  enum AggregationValueAggregationSortDirection {\n      /** Should sort in descending order */\n      DESC = \"DESC\",\n      /** Should sort in ascending order */\n      ASC = \"ASC\"\n  }\n  enum AggregationValueAggregationMissingValues {\n      /** Should missing values be excluded from the aggregation results */\n      EXCLUDE = \"EXCLUDE\",\n      /** Should missing values be included in the aggregation results */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface AggregationValueAggregationIncludeMissingValuesOptions {\n      /** Can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum WixCommonScalarType {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value */\n      MIN = \"MIN\",\n      /** Maximum value */\n      MAX = \"MAX\",\n      /** Sum of values */\n      SUM = \"SUM\",\n      /** Average of values */\n      AVG = \"AVG\"\n  }\n  interface CommonAggregationValueAggregation extends CommonAggregationValueAggregationOptionsOneOf {\n      /** Options for including missing values */\n      includeOptions?: AggregationValueAggregationIncludeMissingValuesOptions;\n      /** Should sort by number of matches or value of the field */\n      sortType?: AggregationValueAggregationSortType;\n      /** Should sort in ascending or descending order */\n      sortDirection?: AggregationValueAggregationSortDirection;\n      /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** Should missing values be included or excluded from the aggregation results. Default is EXCLUDE */\n      missingValues?: AggregationValueAggregationMissingValues;\n  }\n  /** @oneof */\n  interface CommonAggregationValueAggregationOptionsOneOf {\n      /** Options for including missing values */\n      includeOptions?: AggregationValueAggregationIncludeMissingValuesOptions;\n  }\n  enum AggregationNestedAggregationNestedAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface CommonAggregationRangeAggregation {\n      /** List of range buckets, where during aggregation each entity will be placed in the first bucket where its value falls into based on provided range bounds */\n      buckets?: AggregationRangeAggregationRangeBucket[];\n  }\n  interface CommonAggregationScalarAggregation {\n      /** Define the operator for the scalar aggregation */\n      type?: WixCommonScalarType;\n  }\n  interface CommonAggregationDateHistogramAggregation {\n      /** Interval for date histogram aggregation */\n      interval?: AggregationDateHistogramAggregationInterval;\n  }\n  enum AggregationDateHistogramAggregationInterval {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval */\n      YEAR = \"YEAR\",\n      /** Monthly interval */\n      MONTH = \"MONTH\",\n      /** Weekly interval */\n      WEEK = \"WEEK\",\n      /** Daily interval */\n      DAY = \"DAY\",\n      /** Hourly interval */\n      HOUR = \"HOUR\",\n      /** Minute interval */\n      MINUTE = \"MINUTE\",\n      /** Second interval */\n      SECOND = \"SECOND\"\n  }\n  interface AggregationNestedAggregationNestedAggregationItem extends AggregationNestedAggregationNestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: CommonAggregationValueAggregation;\n      /** Range aggregation */\n      range?: CommonAggregationRangeAggregation;\n      /** Scalar aggregation */\n      scalar?: CommonAggregationScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: CommonAggregationDateHistogramAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: AggregationNestedAggregationNestedAggregationType;\n      /** Field to aggregate by, use dont notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationNestedAggregationNestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: CommonAggregationValueAggregation;\n      /** Range aggregation */\n      range?: CommonAggregationRangeAggregation;\n      /** Scalar aggregation */\n      scalar?: CommonAggregationScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: CommonAggregationDateHistogramAggregation;\n  }\n  enum WixCommonAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Multi-level aggregation, where each next aggregation is nested within previous one */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */\n  interface CommonAggregationNestedAggregation {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one */\n      nestedAggregations?: AggregationNestedAggregationNestedAggregationItem[];\n  }\n  interface CommonCursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface V3SearchProductsResponse {\n      /** List of products. */\n      products?: V3Product[];\n      /** Paging metadata. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n      /** Aggregation data. */\n      aggregationData?: CommonAggregationData;\n  }\n  interface CommonCursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: CommonCursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface CommonCursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CommonAggregationData {\n      /** key = aggregation name (as derived from search request) */\n      results?: AggregationDataAggregationResults[];\n  }\n  interface ValueResultsValueAggregationResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number;\n  }\n  interface RangeResultsRangeAggregationResult {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number;\n  }\n  interface AggregationResultsNestedAggregationResults extends AggregationResultsNestedAggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: AggregationResultsValueResults;\n      /** Range aggregation results */\n      ranges?: AggregationResultsRangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationDataAggregationResultsScalarResult;\n      /** User-defined name of aggregation, matches the one provided in request */\n      name?: string;\n      /** Type of aggregation that matches result */\n      type?: WixCommonAggregationType;\n      /** Field to aggregate by, matches the one provided in request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsNestedAggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: AggregationResultsValueResults;\n      /** Range aggregation results */\n      ranges?: AggregationResultsRangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationDataAggregationResultsScalarResult;\n  }\n  interface AggregationResultsValueResults {\n      /** List of value aggregations */\n      results?: ValueResultsValueAggregationResult[];\n  }\n  interface AggregationResultsRangeResults {\n      /** List of ranges returned in same order as requested */\n      results?: RangeResultsRangeAggregationResult[];\n  }\n  interface AggregationDataAggregationResultsScalarResult {\n      /** Type of scalar aggregation */\n      type?: WixCommonScalarType;\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface GroupByValueResultsNestedValueAggregationResult {\n      /** Value of the field */\n      value?: string;\n      /** Nested aggregations */\n      nestedResults?: AggregationResultsNestedAggregationResults;\n  }\n  interface NestedResultsValueResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number | null;\n  }\n  interface NestedResultsRangeResult {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number | null;\n  }\n  interface NestedResultsScalarResult {\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedResultsNestedResultValue extends NestedResultsNestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: NestedResultsValueResult;\n      /** Range aggregation result */\n      range?: NestedResultsRangeResult;\n      /** Scalar aggregation result */\n      scalar?: NestedResultsScalarResult;\n      /** Date histogram aggregation result */\n      dateHistogram?: NestedResultsValueResult;\n  }\n  /** @oneof */\n  interface NestedResultsNestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: NestedResultsValueResult;\n      /** Range aggregation result */\n      range?: NestedResultsRangeResult;\n      /** Scalar aggregation result */\n      scalar?: NestedResultsScalarResult;\n      /** Date histogram aggregation result */\n      dateHistogram?: NestedResultsValueResult;\n  }\n  interface NestedResultsResults {\n      /** List of nested aggregations */\n      results?: Record<string, NestedResultsNestedResultValue>;\n  }\n  interface DateHistogramResultsDateHistogramResult {\n      /** Date in ISO 8601 format */\n      value?: string;\n      /** Count of documents in the bucket */\n      count?: number;\n  }\n  interface AggregationResultsGroupByValueResults {\n      /** List of value aggregations */\n      results?: GroupByValueResultsNestedValueAggregationResult[];\n  }\n  interface AggregationResultsDateHistogramResults {\n      /** List of date histogram aggregations */\n      results?: DateHistogramResultsDateHistogramResult[];\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form\n   * aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface AggregationResultsNestedResults {\n      /** List of nested aggregations */\n      results?: NestedResultsResults[];\n  }\n  interface AggregationDataAggregationResults extends AggregationDataAggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: AggregationResultsValueResults;\n      /** Range aggregation results */\n      ranges?: AggregationResultsRangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationDataAggregationResultsScalarResult;\n      /** Group by value aggregation results */\n      groupedByValue?: AggregationResultsGroupByValueResults;\n      /** Date histogram aggregation results */\n      dateHistogram?: AggregationResultsDateHistogramResults;\n      /** Nested aggregation results */\n      nested?: AggregationResultsNestedResults;\n      /** User-defined name of aggregation as derived from search request */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request */\n      type?: WixCommonAggregationType;\n      /** Field to aggregate by as derived from search request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationDataAggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: AggregationResultsValueResults;\n      /** Range aggregation results */\n      ranges?: AggregationResultsRangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationDataAggregationResultsScalarResult;\n      /** Group by value aggregation results */\n      groupedByValue?: AggregationResultsGroupByValueResults;\n      /** Date histogram aggregation results */\n      dateHistogram?: AggregationResultsDateHistogramResults;\n      /** Nested aggregation results */\n      nested?: AggregationResultsNestedResults;\n  }\n  interface V3QueryProductsRequest {\n      /** Query options. */\n      query?: CommonCursorQuery;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface CommonCursorQuery extends CommonCursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CommonCursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: WixCommonSorting[];\n  }\n  /** @oneof */\n  interface CommonCursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface V3QueryProductsResponse {\n      /** List of products. */\n      products?: V3Product[];\n      /** Paging metadata. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface V3CountProductsRequest {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n      /**\n       * Whether to return non-visible products (`visible:false`). Your app must have the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n       *\n       * Default: `false`\n       */\n      returnNonVisibleProducts?: boolean;\n  }\n  interface V3CountProductsResponse {\n      /** Total number of products. */\n      count?: number;\n  }\n  interface BulkUpdateProductVariantsByFilterRequest {\n      /** Filter object. */\n      filter: Record<string, any> | null;\n      /** Variant to update. */\n      variant: Variant;\n      /**\n       * Explicit list of variant fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  interface BulkUpdateProductVariantsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface BulkAdjustProductVariantsByFilterRequest {\n      /** Filter object. */\n      filter: Record<string, any> | null;\n      /**\n       * Base price adjustment.\n       * @deprecated Base price adjustment.\n       * @replacedBy compare_at_price\n       * @targetRemovalDate 2024-12-31\n       */\n      basePrice?: V3AdjustValue;\n      /**\n       * Sale price adjustment.\n       * @deprecated Sale price adjustment.\n       * @replacedBy actual_price\n       * @targetRemovalDate 2024-12-31\n       */\n      salePrice?: V3AdjustValue;\n      /** Cost adjustment. */\n      cost?: V3AdjustValue;\n      /**\n       * Set variant sale price from base price by applying provided discount to it.\n       * For example variant base price 100$, variant sale price 95$, requested `salePriceFromBasePrice.percentage` is 10, then old sale price ignored and new sale price set to 90 (100$ - 10%).\n       * @deprecated Set variant sale price from base price by applying provided discount to it.\n       * For example variant base price 100$, variant sale price 95$, requested `salePriceFromBasePrice.percentage` is 10, then old sale price ignored and new sale price set to 90 (100$ - 10%).\n       * @replacedBy actual_price_from_compare_at_price\n       * @targetRemovalDate 2024-12-31\n       */\n      salePriceFromBasePrice?: V3UnsignedAdjustValue;\n      /**\n       * Rounding strategy of new calculated prices.\n       *\n       * + `NO_ROUNDING`: Calculated prices will be saved without rounding to keep max possible precision.\n       * + `CURRENCY_PRECISION`: Calculated prices will be rounded according to the currency's precision requirements. For example. `$3.5555` will be saved as `$3.56`; `¥3.5555` will be saved as `¥4`.\n       * + `NEAREST_WHOLE_NUMBER`: Calculated prices will be rounded to the nearest whole number.\n       */\n      rounding?: BulkAdjustProductVariantsByFilterRequestRoundingStrategy;\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n      /** Actual price adjustment. */\n      actualPrice?: V3AdjustValue;\n      /** Compare at price adjustment. */\n      compareAtPrice?: V3AdjustValue;\n      /**\n       * Set variant actual_price from compare_at_price by applying provided discount to it.\n       * if compare-at-price doesn't exist, actual_price will be set to compare_at_price and the discount will be calculated from it.\n       * For example variant compare at price 100$, variant actual price is 95$, requested `salePriceFromBasePrice.percentage` is 10, then old actual price ignored and new actual price set to 90 (100$ - 10%).\n       */\n      compareAtPriceDiscount?: V3UnsignedAdjustValue;\n  }\n  interface V3AdjustValue extends V3AdjustValueAdjustValueOneOf {\n      /** A decimal value to increase or reduce from the original value, can be negative. */\n      amount?: string;\n      /** The percentage value to increase or reduce from the current value, can be negative. */\n      percentage?: number;\n  }\n  /** @oneof */\n  interface V3AdjustValueAdjustValueOneOf {\n      /** A decimal value to increase or reduce from the original value, can be negative. */\n      amount?: string;\n      /** The percentage value to increase or reduce from the current value, can be negative. */\n      percentage?: number;\n  }\n  interface V3UnsignedAdjustValue extends V3UnsignedAdjustValueAdjustValueOneOf {\n      /** A decimal value to reduce from the original value. */\n      amount?: string;\n      /** The percentage value to reduce from the original value. */\n      percentage?: number;\n  }\n  /** @oneof */\n  interface V3UnsignedAdjustValueAdjustValueOneOf {\n      /** A decimal value to reduce from the original value. */\n      amount?: string;\n      /** The percentage value to reduce from the original value. */\n      percentage?: number;\n  }\n  enum BulkAdjustProductVariantsByFilterRequestRoundingStrategy {\n      UNKNOWN_ROUNDING_STRATEGY = \"UNKNOWN_ROUNDING_STRATEGY\",\n      /**\n       * Calculated prices will be saved without rounding to keep max possible precision. It's still good idea to round numbers before displaying them.\n       * Example: input $3.5555 -> saved value $3.5555\n       */\n      NO_ROUNDING = \"NO_ROUNDING\",\n      /**\n       * Calculated prices will be rounded according to currency precision.\n       * Example: input $3.5555 -> saved value $3.56, input ¥3.5555 -> saved value ¥4\n       */\n      CURRENCY_PRECISION = \"CURRENCY_PRECISION\",\n      /**\n       * Calculated prices will be rounded to nearest whole number.\n       * Example: input $3.5555 -> saved value $4\n       */\n      NEAREST_WHOLE_NUMBER = \"NEAREST_WHOLE_NUMBER\"\n  }\n  interface BulkAdjustProductVariantsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface V3BulkAddInfoSectionsToProductsByFilterRequest {\n      /** Filter object. */\n      filter: Record<string, any> | null;\n      /** IDs of the info sections to add. */\n      infoSectionIds: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  interface V3BulkAddInfoSectionsToProductsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface V3BulkAddInfoSectionsToProductsRequest {\n      /** List of product IDs and revisions. */\n      products: V3ProductIdWithRevision[];\n      /** List of IDs of info sections to add. */\n      infoSectionIds: string[];\n      /**\n       * Whether to return the full updated product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface V3ProductIdWithRevision {\n      /** Product ID. */\n      productId?: string;\n      /**\n       * Revision number, which increments by 1 each time the product is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the product.\n       */\n      revision?: string;\n  }\n  interface V3BulkAddInfoSectionsToProductsResponse {\n      /** Products updated by bulk action. */\n      results?: CatalogV3BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: CommonBulkActionMetadata;\n  }\n  interface V3BulkRemoveInfoSectionsFromProductsByFilterRequest {\n      /** Filter object. */\n      filter: Record<string, any> | null;\n      /** IDs of info sections to remove. */\n      infoSectionIds: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  interface V3BulkRemoveInfoSectionsFromProductsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface V3BulkRemoveInfoSectionsFromProductsRequest {\n      /** List of product IDs and revisions. */\n      products: V3ProductIdWithRevision[];\n      /** List of IDs of info sections to remove. */\n      infoSectionIds: string[];\n      /**\n       * Whether to return the full updated product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface V3BulkRemoveInfoSectionsFromProductsResponse {\n      /** Products updated by bulk action. */\n      results?: CatalogV3BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: CommonBulkActionMetadata;\n  }\n  interface BulkAddProductsToCategoriesByFilterRequest {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** IDs of the categories to which products will be added. */\n      categoryIds: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  interface BulkAddProductsToCategoriesByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface BulkRemoveProductsFromCategoriesByFilterRequest {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** IDs of the categories from which products will be removed. */\n      categoryIds: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  interface BulkRemoveProductsFromCategoriesByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface InvalidateCache$2 extends InvalidateCacheGetByOneOf$2 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$2;\n      /** Invalidate by page id */\n      page?: Page$2;\n      /** Invalidate by URI path */\n      uri?: URI$2;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$2;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$2 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$2;\n      /** Invalidate by page id */\n      page?: Page$2;\n      /** Invalidate by URI path */\n      uri?: URI$2;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$2;\n  }\n  interface App$2 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$2 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$2 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$2 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface DoNotCallCreateProductRequest {\n      /** Product to be created */\n      product?: V3Product;\n      /** A list of requested fields to be included in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface DoNotCallCreateProductResponse {\n      /** The created Product */\n      product?: V3Product;\n  }\n  interface GetProductRequest {\n      /** Id of the Product to retrieve */\n      productId?: string;\n      /** A list of requested fields to be included in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n      /**\n       * Indicates if the read should be done consistent or not. Default is false\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  interface GetProductResponse {\n      /** The retrieved Product */\n      product?: V3Product;\n  }\n  interface GetProductBySlugRequest {\n      /** Product slug. A permanent, friendly URL name unique per store. */\n      slug?: string;\n      /** A list of requested fields to be included in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface GetProductBySlugResponse {\n      /** The retrieved Product */\n      product?: V3Product;\n  }\n  interface DoNotCallUpdateProductRequest {\n      /** Product to be updated, may be partial */\n      product?: V3Product;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask?: string[];\n      /** A list of requested fields to be included in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface DoNotCallUpdateProductResponse {\n      /** The updated Product */\n      product?: V3Product;\n  }\n  interface VariantsRemoved {\n      /** Removed variants ids. */\n      variantIds?: string[];\n  }\n  interface DeleteProductRequest {\n      /** Id of the Product to delete */\n      productId?: string;\n  }\n  interface DeleteProductResponse {\n  }\n  interface SearchProductsRequest {\n      /**\n       * WQL expression. Please pay attention that unlike other arrays when you want to filter by `inventory` or `variants` instead of standard array operators you must use `$matchItems` (for usage see examples).\n       * It means that product will be returned only if one or more items satisfy all filters specified in $matchItems.\n       * For example, if you have 2 variants: one visible with price 10 and another one not visible with price 20, when inside $matchItems you specify `visible:true` and `price > 15` nothing will be returned because there are no variants which satisfy both conditions.\n       * You still can use `$isEmpty` and `$exists` operators for fields listed above.\n       * See examples to understand supported capabilities.\n       * This endpoint does not return variants-info, even though it is part of the entity, as including it would result in overly large response objects.\n       * If you need variants-info, you can retrieve it for a specific product using the getProduct endpoint.\n       */\n      search?: CursorSearch;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * List of sort objects.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$2[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. e.g. `\"2023-12-20T10:52:34.795Z\"`\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      /** Ascending order. */\n      ASC = \"ASC\",\n      /** Descending order. */\n      DESC = \"DESC\"\n  }\n  interface Aggregation extends AggregationKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation */\n      nested?: NestedAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: AggregationType;\n      /** Field to aggregate by, use dot notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation */\n      nested?: NestedAggregation;\n  }\n  interface RangeBucket {\n      /** Inclusive lower bound of the range. Required if to is not given */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if from is not given */\n      to?: number | null;\n  }\n  enum SortType {\n      /** Should sort by number of matches. */\n      COUNT = \"COUNT\",\n      /** Should sort by value of the field alphabetically. */\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection {\n      /** Should sort by descending order. */\n      DESC = \"DESC\",\n      /** Should sort by ascending order. */\n      ASC = \"ASC\"\n  }\n  enum MissingValues {\n      /** Exclude missing values from the aggregation results. */\n      EXCLUDE = \"EXCLUDE\",\n      /** Include missing values from the aggregation results. */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions {\n      /** Can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum ScalarType {\n      /** Undefined scalar type. */\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values. */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value. */\n      MIN = \"MIN\",\n      /** Maximum value. */\n      MAX = \"MAX\",\n      /** Sum of values. */\n      SUM = \"SUM\",\n      /** Average of values. */\n      AVG = \"AVG\"\n  }\n  interface ValueAggregation extends ValueAggregationOptionsOneOf {\n      /** Options for including missing values */\n      includeOptions?: IncludeMissingValuesOptions;\n      /** Should sort by number of matches or value of the field */\n      sortType?: SortType;\n      /** Should sort in ascending or descending order */\n      sortDirection?: SortDirection;\n      /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** Should missing values be included or excluded from the aggregation results. Default is EXCLUDE */\n      missingValues?: MissingValues;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf {\n      /** Options for including missing values */\n      includeOptions?: IncludeMissingValuesOptions;\n  }\n  enum NestedAggregationType {\n      /** Undefined nested aggregation type. */\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example: min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface RangeAggregation {\n      /** List of range buckets, where during aggregation each entity will be placed in the first bucket where its value falls into based on provided range bounds */\n      buckets?: RangeBucket[];\n  }\n  interface ScalarAggregation {\n      /** Define the operator for the scalar aggregation */\n      type?: ScalarType;\n  }\n  interface DateHistogramAggregation {\n      /** Interval for date histogram aggregation */\n      interval?: Interval;\n  }\n  enum Interval {\n      /** Undefined interval type. */\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval. */\n      YEAR = \"YEAR\",\n      /** Monthly interval. */\n      MONTH = \"MONTH\",\n      /** Weekly interval. */\n      WEEK = \"WEEK\",\n      /** Daily interval. */\n      DAY = \"DAY\",\n      /** Hourly interval. */\n      HOUR = \"HOUR\",\n      /** Minute interval. */\n      MINUTE = \"MINUTE\",\n      /** Second interval. */\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: NestedAggregationType;\n      /** Field to aggregate by, use dont notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n  }\n  enum AggregationType {\n      /** Undefined aggregation type. */\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation where a user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example: min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** A Multi-level aggregation where each next aggregation is nested within previous one. */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */\n  interface NestedAggregation {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one */\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface SearchDetails {\n      /** Defines how separate search terms in `expression` are combined. */\n      mode?: Mode;\n      /** Search term or expression */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path */\n      fields?: string[];\n      /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** Any of the search terms must be present. */\n      OR = \"OR\",\n      /** All search terms must be present. */\n      AND = \"AND\"\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface SearchProductsResponse {\n      /** Products which satisfy the provided query. */\n      products?: V3Product[];\n      /** Paging metadata. Contains cursor which can be used in next query. */\n      pagingMetadata?: CursorPagingMetadata$2;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$2;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AggregationData {\n      /** key = aggregation name (as derived from search request) */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number;\n  }\n  interface RangeAggregationResult {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number;\n  }\n  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** User-defined name of aggregation, matches the one provided in request */\n      name?: string;\n      /** Type of aggregation that matches result */\n      type?: AggregationType;\n      /** Field to aggregate by, matches the one provided in request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n  }\n  interface ValueResults {\n      /** List of value aggregations */\n      results?: ValueAggregationResult[];\n  }\n  interface RangeResults {\n      /** List of ranges returned in same order as requested */\n      results?: RangeAggregationResult[];\n  }\n  interface AggregationResultsScalarResult {\n      /** Type of scalar aggregation */\n      type?: ScalarType;\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedValueAggregationResult {\n      /** Value of the field */\n      value?: string;\n      /** Nested aggregations */\n      nestedResults?: NestedAggregationResults;\n  }\n  interface ValueResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number | null;\n  }\n  interface RangeResult {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number | null;\n  }\n  interface ScalarResult {\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: ValueResult;\n      /** Range aggregation result */\n      range?: RangeResult;\n      /** Scalar aggregation result */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result */\n      dateHistogram?: ValueResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: ValueResult;\n      /** Range aggregation result */\n      range?: RangeResult;\n      /** Scalar aggregation result */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result */\n      dateHistogram?: ValueResult;\n  }\n  interface Results {\n      /** List of nested aggregations */\n      results?: Record<string, NestedResultValue>;\n  }\n  interface DateHistogramResult {\n      /** Date in ISO 8601 format */\n      value?: string;\n      /** Count of documents in the bucket */\n      count?: number;\n  }\n  interface GroupByValueResults {\n      /** List of value aggregations */\n      results?: NestedValueAggregationResult[];\n  }\n  interface DateHistogramResults {\n      /** List of date histogram aggregations */\n      results?: DateHistogramResult[];\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form\n   * aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults {\n      /** List of nested aggregations */\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results */\n      nested?: NestedResults;\n      /** User-defined name of aggregation as derived from search request */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request */\n      type?: AggregationType;\n      /** Field to aggregate by as derived from search request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results */\n      nested?: NestedResults;\n  }\n  interface SearchRelatedProductsRequest {\n      /** Search parameters. */\n      searchRelated?: SearchRelated;\n  }\n  interface SearchRelated {\n      /** A list of entity IDs to search related entities for */\n      relatedToIds?: string[];\n      /** Search details */\n      search?: SearchRelatedDetails;\n      /** A filter object. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language). */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting$2[];\n      /** Number of related documents to return */\n      limit?: number | null;\n  }\n  interface SearchRelatedDetails {\n      /** Search term or expression */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path */\n      fields?: string[];\n  }\n  interface SearchRelatedProductsResponse {\n      /** The IDs of related Products that satisfy the request. */\n      productIds?: string[];\n  }\n  interface EventuallyConsistentQueryProductsRequest {\n      /**\n       * WQL expression. Please pay attention that unlike other arrays when you want to filter by `inventory`, `options` or `variants` instead of standard array operators you must use `$matchItems` (for usage see examples).\n       * It means that product will be returned only if one or more items satisfy all filters specified in $matchItems.\n       * For example, if you have 2 variants: one visible with price 10 and another one not visible with price 20, when inside $matchItems you specify `visible:true` and `price > 15` nothing will be returned because there are no variants which satisfy both conditions.\n       * You still can use `$isEmpty` and `$exists` operators for fields listed above.\n       * See examples to understand supported capabilities.\n       */\n      query?: CursorQuery$2;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface EventuallyConsistentQueryProductsResponse {\n      /** Products which satisfy the provided query. */\n      products?: V3Product[];\n      /** Paging metadata. Contains cursor which can be used in next query. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface QueryProductsRequest {\n      /** WQL expression */\n      query?: CursorQuery$2;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface QueryProductsResponse {\n      /** The retrieved Products */\n      products?: V3Product[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface DeprecatedSearchProductsWithOffsetRequest {\n      /** Filter and sort with limit/offset based paging */\n      search?: PlatformOffsetSearch;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface PlatformOffsetSearch extends PlatformOffsetSearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: PlatformPaging;\n      /** A filter object. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language). */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: CommonSorting[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: CommonAggregation[];\n      /** free text to match in searchable fields */\n      search?: CommonSearchDetails;\n  }\n  /** @oneof */\n  interface PlatformOffsetSearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: PlatformPaging;\n  }\n  interface CommonSorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: CommonSortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum CommonSortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CommonAggregation extends CommonAggregationKindOneOf {\n      /** Value aggregation. */\n      value?: AggregationValueAggregation;\n      /** Range aggregation. */\n      range?: AggregationRangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: AggregationScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: AggregationDateHistogramAggregation;\n      /** Nested aggregation. */\n      nested?: AggregationNestedAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below. */\n      type?: CommonAggregationType;\n      /** Field to aggregate by, use dot notation to specify json path. */\n      fieldPath?: string;\n      /**\n       * Deprecated. Use `nested` instead.\n       * @deprecated Deprecated. Use `nested` instead.\n       * @replacedBy kind.nested\n       * @targetRemovalDate 2024-03-30\n       */\n      groupBy?: GroupByAggregation;\n  }\n  /** @oneof */\n  interface CommonAggregationKindOneOf {\n      /** Value aggregation. */\n      value?: AggregationValueAggregation;\n      /** Range aggregation. */\n      range?: AggregationRangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: AggregationScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: AggregationDateHistogramAggregation;\n      /** Nested aggregation. */\n      nested?: AggregationNestedAggregation;\n  }\n  interface RangeAggregationRangeBucket {\n      /** Inclusive lower bound of the range. Required if `to` is not provided. */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if `from` is not provided. */\n      to?: number | null;\n  }\n  enum ValueAggregationSortType {\n      /** Sort by number of matches. */\n      COUNT = \"COUNT\",\n      /** Sort by value of the field alphabetically. */\n      VALUE = \"VALUE\"\n  }\n  enum ValueAggregationSortDirection {\n      /** Sort in descending order. */\n      DESC = \"DESC\",\n      /** Sort in ascending order. */\n      ASC = \"ASC\"\n  }\n  enum ValueAggregationMissingValues {\n      /** Exclude missing values from the aggregation results. */\n      EXCLUDE = \"EXCLUDE\",\n      /** Include missing values in the aggregation results. */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface ValueAggregationIncludeMissingValuesOptions {\n      /** Specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum CommonScalarType {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values. */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value. */\n      MIN = \"MIN\",\n      /** Maximum value. */\n      MAX = \"MAX\",\n      /** Sum of values. */\n      SUM = \"SUM\",\n      /** Average of values. */\n      AVG = \"AVG\"\n  }\n  interface AggregationValueAggregation extends AggregationValueAggregationOptionsOneOf {\n      /** Options for including missing values. */\n      includeOptions?: ValueAggregationIncludeMissingValuesOptions;\n      /** Whether to sort by number of matches or value of the field. */\n      sortType?: ValueAggregationSortType;\n      /** Whether to sort in ascending or descending order. */\n      sortDirection?: ValueAggregationSortDirection;\n      /** How many aggregations to return. Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** Whether to include or exclude missing values from the aggregation results. Default: `EXCLUDE`. */\n      missingValues?: ValueAggregationMissingValues;\n  }\n  /** @oneof */\n  interface AggregationValueAggregationOptionsOneOf {\n      /** Options for including missing values. */\n      includeOptions?: ValueAggregationIncludeMissingValuesOptions;\n  }\n  enum NestedAggregationNestedAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example, min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.). */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface AggregationRangeAggregation {\n      /** List of range buckets, where during aggregation each entity will be placed in the first bucket its value falls into, based on the provided range bounds. */\n      buckets?: RangeAggregationRangeBucket[];\n  }\n  interface AggregationScalarAggregation {\n      /** Define the operator for the scalar aggregation. */\n      type?: CommonScalarType;\n  }\n  interface AggregationDateHistogramAggregation {\n      /** Interval for date histogram aggregation. */\n      interval?: DateHistogramAggregationInterval;\n  }\n  enum DateHistogramAggregationInterval {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval */\n      YEAR = \"YEAR\",\n      /** Monthly interval */\n      MONTH = \"MONTH\",\n      /** Weekly interval */\n      WEEK = \"WEEK\",\n      /** Daily interval */\n      DAY = \"DAY\",\n      /** Hourly interval */\n      HOUR = \"HOUR\",\n      /** Minute interval */\n      MINUTE = \"MINUTE\",\n      /** Second interval */\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationNestedAggregationItem extends NestedAggregationNestedAggregationItemKindOneOf {\n      /** Value aggregation. */\n      value?: AggregationValueAggregation;\n      /** Range aggregation. */\n      range?: AggregationRangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: AggregationScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: AggregationDateHistogramAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below. */\n      type?: NestedAggregationNestedAggregationType;\n      /** Field to aggregate by, use dot notation to specify json path. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationNestedAggregationItemKindOneOf {\n      /** Value aggregation. */\n      value?: AggregationValueAggregation;\n      /** Range aggregation. */\n      range?: AggregationRangeAggregation;\n      /** Scalar aggregation. */\n      scalar?: AggregationScalarAggregation;\n      /** Date histogram aggregation. */\n      dateHistogram?: AggregationDateHistogramAggregation;\n  }\n  enum CommonAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value. */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket. */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation. For example, min, max, sum, avg. */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Multi-level aggregation, where each next aggregation is nested within previous one. */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one. */\n  interface AggregationNestedAggregation {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one. */\n      nestedAggregations?: NestedAggregationNestedAggregationItem[];\n  }\n  interface GroupByAggregation extends GroupByAggregationKindOneOf {\n      /** Value aggregation configuration. */\n      value?: AggregationValueAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results. */\n      name?: string | null;\n      /** Field to aggregate by. */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface GroupByAggregationKindOneOf {\n      /** Value aggregation configuration. */\n      value?: AggregationValueAggregation;\n  }\n  interface CommonSearchDetails {\n      /** Defines how separate search terms in `expression` are combined. */\n      mode?: SearchDetailsMode;\n      /** Search term or expression. */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path. */\n      fields?: string[];\n      /** Whether to use auto fuzzy search (allowing typos by a managed proximity algorithm). */\n      fuzzy?: boolean;\n  }\n  enum SearchDetailsMode {\n      /** Any of the search terms must be present. */\n      OR = \"OR\",\n      /** All search terms must be present. */\n      AND = \"AND\"\n  }\n  interface PlatformPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface DeprecatedSearchProductsWithOffsetResponse {\n      /** Products which satisfy the provided query. */\n      products?: V3Product[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadata;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface RetrieveVariantsRequest {\n      /** Ids of the product and variants to retrieve */\n      productVariantIds?: ProductVariantIds[];\n      /**\n       * Pointer to the next page in the list of results.\n       * Pass the relevant cursor token from the `pagingMetadata` in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursorPaging?: VariantsCursorPaging;\n      /** Fields to include in the response. */\n      fields?: VariantsOpsRequestedFields[];\n  }\n  interface ProductVariantIds {\n      /** Product id of the requested variants. */\n      productId?: string;\n      /** A list of variant ids. */\n      variantIds?: string[];\n  }\n  interface VariantsCursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  enum VariantsOpsRequestedFields {\n      /** Not implemented. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      CURRENCY = \"CURRENCY\",\n      /** You can request merchant data only if you have the `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope. */\n      MERCHANT_DATA = \"MERCHANT_DATA\",\n      SUBSCRIPTION_PRICES_INFO = \"SUBSCRIPTION_PRICES_INFO\",\n      VARIANT_OPTION_CHOICE_NAMES = \"VARIANT_OPTION_CHOICE_NAMES\",\n      THUMBNAIL = \"THUMBNAIL\"\n  }\n  interface RetrieveVariantsResponse {\n      /** The retrieved Products and Variants */\n      productVariants?: ProductVariants[];\n      /** Paging metadata. Contains cursor which can be used in next query. */\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface ProductVariants {\n      /** Product id of the requested variants. */\n      productId?: string;\n      /** A list of variants. */\n      variants?: Variant[];\n  }\n  interface CountProductsRequest {\n      /**\n       * A filter object. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language).\n       * To understand supported filters and limitations see `SearchProducts` method.\n       */\n      filter?: Record<string, any> | null;\n      /** free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  interface CountProductsResponse {\n      /** The amount of products which apply to the request */\n      count?: number;\n  }\n  interface DoNotCallBulkCreateProductsRequest {\n      /** List of products to be created. */\n      products?: V3Product[];\n      /** Whether to return the full product entity in the response. */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. Relevant only if `return_entity` true. */\n      fields?: RequestedFields$1[];\n  }\n  interface DoNotCallBulkCreateProductsResponse {\n      /** Products created by bulk action. */\n      results?: V3BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface V3BulkProductResult {\n      /** Bulk action metadata for product. */\n      itemMetadata?: ItemMetadata$1;\n      /**\n       * Full product entity.\n       *\n       * Returned only if `returnEntity: true` is passed in the request.\n       */\n      item?: V3Product;\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface DoNotCallBulkUpdateProductsRequest {\n      /** List of products to be updated. */\n      products?: MaskedProduct[];\n      /** Whether to return the full product entity in the response. */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. Relevant only if `return_entity` true. */\n      fields?: RequestedFields$1[];\n  }\n  interface MaskedProduct {\n      /** product to be updated, may be partial. */\n      product?: V3Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface DoNotCallBulkUpdateProductsResponse {\n      /** Products updated by bulk action. */\n      results?: V3BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkUpdateProductsByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"name\": \"value1\",\n       * \"categoryIds\":{\"$in\":[\"categoryId1\", \"categoryId2\"]}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /** Product with new field values. */\n      product?: V3Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  interface BulkUpdateProductsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface BulkDeleteProductsRequest {\n      /** IDs of products to be deleted. */\n      productIds?: string[];\n  }\n  interface BulkDeleteProductsResponse {\n      /** Products deleted by bulk action. */\n      results?: BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkProductResult {\n      /** Information about successful action or error for failure. */\n      itemMetadata?: ItemMetadata$1;\n  }\n  interface BulkDeleteProductsByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"actualPriceRange.minValue\": {\"$lte\": 5.99}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /** Free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  interface BulkDeleteProductsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the entity to update. */\n      productId?: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace?: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData?: Record<string, any> | null;\n      /** A list of requested fields to be included in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** The updated Product */\n      product?: V3Product;\n  }\n  interface BulkAddInfoSectionsToProductsByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"actualPriceRange.minValue\": {\"$lte\": 5.99}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /** Info sections to be added */\n      infoSectionIds?: string[];\n      /** Free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  interface BulkAddInfoSectionsToProductsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface FulfillerDeleted {\n      _id?: string;\n  }\n  interface BulkAddInfoSectionsToProductsRequest {\n      /** Products to be updated with id and revision. */\n      products?: ProductIdWithRevision[];\n      /**\n       * Products to be updated with id and revision.\n       * Info section to be added\n       */\n      infoSectionIds?: string[];\n      /** Whether to return all updated product entities in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface ProductIdWithRevision {\n      /** ID of product. */\n      productId?: string;\n      /** The revision of the Product */\n      revision?: string;\n  }\n  interface BulkAddInfoSectionsToProductsResponse {\n      /** Products updated by bulk action. */\n      results?: V3BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkRemoveInfoSectionsFromProductsByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"name\": \"value1\",\n       * \"categoryIds\":{\"$in\":[\"categoryId1\", \"categoryId2\"]}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /** Info sections to be removed */\n      infoSectionIds?: string[];\n      /** Free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  interface BulkRemoveInfoSectionsFromProductsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface BulkRemoveInfoSectionsFromProductsRequest {\n      /** Products to be updated with id and revision. */\n      products?: ProductIdWithRevision[];\n      /** Info section to be removed. */\n      infoSectionIds?: string[];\n      /** Whether to return all updated product entities in the response. Default: false */\n      returnEntity?: boolean;\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields$1[];\n  }\n  interface BulkRemoveInfoSectionsFromProductsResponse {\n      /** Products updated by bulk action. */\n      results?: V3BulkProductResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkUpdateVariantsByFilterRequest {\n      /** Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */\n      filter?: Record<string, any> | null;\n      /** Variant with new field values. */\n      variant?: Variant;\n      /**\n       * Explicit list of variant fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  interface BulkUpdateVariantsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface V3BulkAdjustProductVariantsByFilterRequest {\n      /** Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$contains` */\n      filter?: Record<string, any> | null;\n      /** The amount or percentage to change the variants price by */\n      basePrice?: AdjustValue;\n      /** The amount or percentage to change the variants sale price by */\n      salePrice?: AdjustValue;\n      /** The amount or percentage to change the variants cost by */\n      cost?: AdjustValue;\n      /**\n       * Set variant sale price from base price by applying provided discount to it.\n       * For example variant base price 100$, variant sale price 95$, requested `sale_price_from_base_price.percentage` is 10, then old sale price ignored and new sale price set to 90 (100$ - 10%)\n       */\n      salePriceFromBasePrice?: UnsignedAdjustValue;\n      /** Defines rounding strategy of new calculated prices. Default: CURRENCY_PRECISION. */\n      rounding?: RoundingStrategy;\n      /** Free text to match in searchable fields */\n      search?: SearchDetails;\n      /** Actual price adjustment. */\n      actualPrice?: AdjustValue;\n      /** Compare at price adjustment. */\n      compareAtPrice?: AdjustValue;\n      /**\n       * Set variant actual_price from compare_at_price by applying provided discount to it.\n       * if compare-at-price doesn't exist, actual_price will be set to compare_at_price and the discount will be calculated from it.\n       * For example variant compare at price 100$, variant actual price is 95$, requested `salePriceFromBasePrice.percentage` is 10, then old actual price ignored and new actual price set to 90 (100$ - 10%).\n       */\n      compareAtPriceDiscount?: UnsignedAdjustValue;\n  }\n  interface AdjustValue extends AdjustValueAdjustValueOneOf {\n      /** A decimal value to increase or reduce from the original value, can be negative. */\n      amount?: string;\n      /** The percentage value to increase or reduce from the current value, can be negative. */\n      percentage?: number;\n  }\n  /** @oneof */\n  interface AdjustValueAdjustValueOneOf {\n      /** A decimal value to increase or reduce from the original value, can be negative. */\n      amount?: string;\n      /** The percentage value to increase or reduce from the current value, can be negative. */\n      percentage?: number;\n  }\n  interface UnsignedAdjustValue extends UnsignedAdjustValueAdjustValueOneOf {\n      /** A decimal value to reduce from the original value. */\n      amount?: string;\n      /** The percentage value to reduce from the original value. */\n      percentage?: number;\n  }\n  /** @oneof */\n  interface UnsignedAdjustValueAdjustValueOneOf {\n      /** A decimal value to reduce from the original value. */\n      amount?: string;\n      /** The percentage value to reduce from the original value. */\n      percentage?: number;\n  }\n  enum RoundingStrategy {\n      /** Undefined rounding strategy. */\n      UNKNOWN_ROUNDING_STRATEGY = \"UNKNOWN_ROUNDING_STRATEGY\",\n      /**\n       * Calculated prices are saved without rounding to keep the maximum possible precision. It's a good idea to round numbers before displaying them.\n       * For example, input $3.5555 -> saved value $3.5555\n       */\n      NO_ROUNDING = \"NO_ROUNDING\",\n      /**\n       * Calculated prices are rounded according to currency precision.\n       * For example:, input $3.5555 -> saved value $3.56, input ¥3.5555 -> saved value ¥4\n       */\n      CURRENCY_PRECISION = \"CURRENCY_PRECISION\",\n      /**\n       * Calculated prices are rounded to nearest whole number.\n       * For example, input $3.5555 -> saved value $4\n       */\n      NEAREST_WHOLE_NUMBER = \"NEAREST_WHOLE_NUMBER\"\n  }\n  interface V3BulkAdjustProductVariantsByFilterResponse {\n      /**\n       * Job ID.\n       *\n       * Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata..\n       */\n      jobId?: string;\n  }\n  interface BulkInventoryItemAction {\n      /** Inventory items. */\n      inventoryItems?: InventoryItem[];\n  }\n  /**\n   * Creates a new product.\n   *\n   * This endpoint also allows to add a ribbon, brand, info sections, options, and modifiers.\n   * @param product - Product to create.\n   *\n   * At least 1 variant must be provided and each variant must have relevant item in `choices` field for every item in `options`.\n   * If `options` is empty one default variant must be provided with empty `choices` list.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField product\n   * @requiredField product.media.itemsInfo.items\n   * @requiredField product.modifiers\n   * @requiredField product.modifiers.choicesSettings.choices\n   * @requiredField product.name\n   * @requiredField product.options.choicesSettings.choices\n   * @requiredField product.physicalProperties.pricePerUnit.measurementUnit\n   * @requiredField product.productType\n   * @requiredField product.subscriptionDetails.subscriptions\n   * @requiredField product.subscriptionDetails.subscriptions.discount\n   * @requiredField product.subscriptionDetails.subscriptions.discount.type\n   * @requiredField product.subscriptionDetails.subscriptions.frequency\n   * @requiredField product.subscriptionDetails.subscriptions.title\n   * @requiredField product.variantsInfo\n   * @requiredField product.variantsInfo.variants\n   * @requiredField product.variantsInfo.variants.digitalProperties.digitalFile\n   * @requiredField product.variantsInfo.variants.digitalProperties.digitalFile._id\n   * @requiredField product.variantsInfo.variants.physicalProperties.pricePerUnit.settings.measurementUnit\n   * @requiredField product.variantsInfo.variants.price\n   * @requiredField product.variantsInfo.variants.price.basePrice\n   * @permissionId WIX_STORES.PRODUCT_CREATE\n   * @adminMethod\n   * @returns Created product.\n   */\n  function createProduct(product: V3Product, options?: CreateProductOptions): Promise<V3Product>;\n  interface CreateProductOptions {\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  /**\n   * Creates a new product, and can create the product's inventory in the variants' default locations.\n   *\n   * This endpoint also allows to add a ribbon, brand, info sections, options, and modifiers.\n   * @param product - Product to create with inventory.\n   *\n   * At least one variant must be provided and each variant must have relevant item in `choices` field for every item in `options`.\n   * If `options` is empty one default variant must be provided with empty `choices` list.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField product\n   * @requiredField product.media.itemsInfo.items\n   * @requiredField product.modifiers.choicesSettings.choices\n   * @requiredField product.name\n   * @requiredField product.options.choicesSettings.choices\n   * @requiredField product.physicalProperties.pricePerUnit.measurementUnit\n   * @requiredField product.productType\n   * @requiredField product.subscriptionDetails.subscriptions\n   * @requiredField product.subscriptionDetails.subscriptions.discount\n   * @requiredField product.subscriptionDetails.subscriptions.discount.type\n   * @requiredField product.subscriptionDetails.subscriptions.frequency\n   * @requiredField product.subscriptionDetails.subscriptions.title\n   * @requiredField product.variantsInfo\n   * @requiredField product.variantsInfo.variants.digitalProperties.digitalFile\n   * @requiredField product.variantsInfo.variants.digitalProperties.digitalFile._id\n   * @requiredField product.variantsInfo.variants.physicalProperties.pricePerUnit.settings.measurementUnit\n   * @requiredField product.variantsInfo.variants.price\n   * @requiredField product.variantsInfo.variants.price.basePrice\n   * @permissionId WIX_STORES.PRODUCT_CREATE\n   * @adminMethod\n   */\n  function createProductWithInventory(product: ProductWithInventory, options?: CreateProductWithInventoryOptions): Promise<CreateProductWithInventoryResponse>;\n  interface CreateProductWithInventoryOptions {\n      /**\n       * Whether to return inventory entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  /**\n   * Updates a product.\n   *\n   * Each time the product is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the product.\n   * This ensures you're working with the latest product and prevents unintended overwrites.\n   *\n   * >**Notes:**\n   * > + If `variantsInfo.variants` are passed, they will replace all existing variants.\n   * > + To update existing `variantsInfo.variants`, make sure to provide `variantsInfo.variants.id`. If no ID is passed, the variant will be created with a new ID.\n   * @param _id - Product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField product\n   * @requiredField product.media.itemsInfo.items\n   * @requiredField product.modifiers.choicesSettings.choices\n   * @requiredField product.options.choicesSettings.choices\n   * @requiredField product.physicalProperties.pricePerUnit.measurementUnit\n   * @requiredField product.revision\n   * @requiredField product.subscriptionDetails.subscriptions\n   * @requiredField product.subscriptionDetails.subscriptions.discount\n   * @requiredField product.subscriptionDetails.subscriptions.discount.type\n   * @requiredField product.subscriptionDetails.subscriptions.frequency\n   * @requiredField product.subscriptionDetails.subscriptions.title\n   * @requiredField product.variantsInfo.variants.digitalProperties.digitalFile\n   * @requiredField product.variantsInfo.variants.digitalProperties.digitalFile._id\n   * @requiredField product.variantsInfo.variants.physicalProperties.pricePerUnit.settings.measurementUnit\n   * @requiredField product.variantsInfo.variants.price\n   * @requiredField product.variantsInfo.variants.price.basePrice\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   * @returns Updated product.\n   */\n  function updateProduct(_id: string | null, product: UpdateProduct, options?: UpdateProductOptions): Promise<V3Product>;\n  interface UpdateProduct {\n      /**\n       * Physical properties.\n       *\n       * Required when `productType: PHYSICAL`.\n       */\n      physicalProperties?: PhysicalProperties;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the product is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the product.\n       *\n       * Ignored when creating a product.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the product was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Unique numeric identifier for the product. Much more efficient for filter and sort than the `id`.\n       * @internal\n       * @readonly\n       */\n      numericId?: string;\n      /** Product name. Translatable. */\n      name?: string | null;\n      /**\n       * Product slug.\n       *\n       * If not provided, the slug is autogenerated based on the product name.\n       */\n      slug?: string | null;\n      /**\n       * URL to the site's product page.\n       *\n       * > **Note:** Returned only when you pass `\"URL\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      url?: string;\n      /**\n       * Product description using rich content.\n       * > **Note:** Returned only when you pass `\"DESCRIPTION\"` to the `fields` array in Products API requests.\n       *\n       * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n       * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n       * </widget>\n       */\n      description?: RichContent;\n      /**\n       * Product description in HTML.\n       *\n       * + When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.\n       * + `plainDescription` is ignored when value is also passed to the `description` field.\n       * > **Note:** Returned only when you pass `\"PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n       */\n      plainDescription?: string | null;\n      /**\n       * Whether the product is visible to site visitors on the site.\n       *\n       * Default: `true`\n       */\n      visible?: boolean | null;\n      /**\n       * Whether the product is visible in POS (point of sale).\n       *\n       * Default: `true`\n       * > **Note:** Always `false` for `productType: DIGITAL`.\n       */\n      visibleInPos?: boolean | null;\n      /** Product media items. */\n      media?: Media;\n      /** Product SEO data. */\n      seoData?: SeoSchema;\n      /** Tax group ID. */\n      taxGroupId?: string | null;\n      /**\n       * Product options. Allows the customer to customize the product. For example, selecting color, size, and more.\n       *\n       * Always generates variants: every variant must have exactly one choice related to each option.\n       * Since options and variants tightly coupled and rely on each other they usually should be provided together in all operations.\n       */\n      options?: ConnectedOption[];\n      /**\n       * Product modifiers.\n       *\n       * Allows the customer to customize product, e.g. select Color, Size and so on similarly to `options` but with one main difference - `modifiers` never generate any variants.\n       */\n      modifiers?: ConnectedModifier[];\n      /**\n       * Product brand.\n       *\n       * + Pass `brand.name` to add a new brand while creating a product.\n       * + Pass an existing brand's `id` to assign that brand to the product.\n       */\n      brand?: Brand;\n      /**\n       * Product info section.\n       *\n       * + Pass `infoSection.uniqueName`, `infoSection.title`, and `infoSection.description` to add a new info section while creating a product.\n       * + Pass an existing info section's `id` or `uniqueName` to assign that info section to the product.\n       */\n      infoSections?: InfoSection[];\n      /**\n       * Product ribbon.\n       *\n       * + Pass `ribbon.name` to add a new ribbon while creating a product.\n       * + Pass an existing ribbon's `id` or `name` to assign that ribbon to the product.\n       */\n      ribbon?: Ribbon$1;\n      /**\n       * List of categories that directly contain this product.\n       *\n       * Updated automatically when a product is added/removed from a category, when an item is moved within a category, or when a category is deleted.\n       * > **Note:** Returned only when you pass `\"DIRECT_CATEGORIES_INFO\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      directCategoriesInfo?: ProductCategoriesInfo;\n      /**\n       * List of categories that directly contain this product, as well as their parent categories.\n       * > **Note:** Returned only when you pass `\"ALL_CATEGORIES_INFO\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      allCategoriesInfo?: ProductCategoriesInfo;\n      /** Main category ID. */\n      mainCategoryId?: string | null;\n      /**\n       * internal util field to enable nile-search-related by shared categories\n       * @internal\n       * @readonly\n       */\n      directCategoryIdsInfo?: ProductCategoryIdsInfo;\n      /**\n       * Product base price range - minimum and maximum prices of all product variants.\n       * @readonly\n       * @deprecated Product base price range - minimum and maximum prices of all product variants.\n       * @replacedBy compare_at_price_range\n       * @targetRemovalDate 2024-12-31\n       */\n      basePriceRange?: PriceRange;\n      /**\n       * Product sale price range - minimum and maximum sale prices of all product variants.\n       * @readonly\n       * @deprecated Product sale price range - minimum and maximum sale prices of all product variants.\n       * @replacedBy actual_price_range\n       * @targetRemovalDate 2024-12-31\n       */\n      salePriceRange?: PriceRange;\n      /**\n       * Product cost range - minimum and maximum costs of all product variants.\n       *\n       * > **Note:** Returned only when the following conditions are met:\n       * > + You pass `\"MERCHANT_DATA\"` to the `fields` array in Products API requests.\n       * > + Your app has the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n       * @readonly\n       */\n      costRange?: PriceRange;\n      /**\n       * Product inventory info.\n       * @readonly\n       */\n      inventory?: Inventory;\n      /**\n       * Product type.\n       *\n       * When passing `productType: PHYSICAL`, you must also pass `physicalProperties`.\n       */\n      productType?: ProductType;\n      /**\n       * A unique human-friendly identifier for the product.\n       * Unlike the product ID, the handle can be set by the user to ensure consistency across multiple platforms.\n       * In case handle wasn't given, the handle will be automatically generated.\n       */\n      handle?: string | null;\n      /**\n       * Currency used for the pricing of this product, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.\n       *\n       * Defaults to the currency defined in the site settings, unless specified in `x-wix-currency` header.\n       * > **Note:** Returned only when you pass `\"CURRENCY\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      currency?: string | null;\n      /**\n       * Breadcrumbs of the `mainCategoryId`. Used to navigate to parent categories.\n       * > **Note:** Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array in Products API requests.\n       * @readonly\n       */\n      breadcrumbsInfo?: BreadcrumbsInfo;\n      /**\n       * Product actual price range - minimum and maximum prices of all product variants.\n       * @readonly\n       */\n      actualPriceRange?: PriceRange;\n      /**\n       * Product compare at price range - minimum and maximum compare at price prices of all product variants.\n       * @readonly\n       */\n      compareAtPriceRange?: PriceRange;\n      /** Product variants. */\n      variantsInfo?: VariantsInfo;\n      /**\n       * Custom extended fields for the product object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n      /**\n       * SEO\n       * @internal\n       * @readonly\n       */\n      seoTitle?: string | null;\n      /**\n       * SEO description extracted from `seo_data` for backward compatibility.\n       * @internal\n       * @readonly\n       */\n      seoDescription?: string | null;\n      /** Product subscriptions. */\n      subscriptionDetails?: SubscriptionDetails;\n      /**\n       * internal util field to improve nile-search performance\n       * @internal\n       * @readonly\n       */\n      flattenOptions?: string[];\n      /**\n       * internal util field to improve nile-search performance\n       * @internal\n       * @readonly\n       */\n      flattenModifiers?: string[];\n      /**\n       * The total number of variants for the product.\n       * @readonly\n       */\n      variantSummary?: VariantSummary;\n      /**\n       * Price info of the variant with minimum base price.\n       * @internal\n       * @readonly\n       */\n      minVariantPriceInfo?: MinVariantPriceInfo;\n  }\n  interface UpdateProductOptions {\n      /**\n       * Explicit list of fields to update in product\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  /**\n   * Updates a new product, and can update the product's inventory.\n   *\n   * Each time the product is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the product.\n   * This ensures you're working with the latest product and prevents unintended overwrites.\n   *\n   * >**Notes:**\n   * > + Passing `variantsInfo.variants` will replace all existing variants.\n   * > + To update existing `variantsInfo.variants`, pass `variantsInfo.variants.id`. If no ID is passed, the variant will be created with a new ID.\n   * @param _id - Product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField product\n   * @requiredField product.media.itemsInfo.items\n   * @requiredField product.modifiers.choicesSettings.choices\n   * @requiredField product.options.choicesSettings.choices\n   * @requiredField product.physicalProperties.pricePerUnit.measurementUnit\n   * @requiredField product.revision\n   * @requiredField product.subscriptionDetails.subscriptions\n   * @requiredField product.subscriptionDetails.subscriptions.discount\n   * @requiredField product.subscriptionDetails.subscriptions.discount.type\n   * @requiredField product.subscriptionDetails.subscriptions.frequency\n   * @requiredField product.subscriptionDetails.subscriptions.title\n   * @requiredField product.variantsInfo.variants.digitalProperties.digitalFile\n   * @requiredField product.variantsInfo.variants.digitalProperties.digitalFile._id\n   * @requiredField product.variantsInfo.variants.physicalProperties.pricePerUnit.settings.measurementUnit\n   * @requiredField product.variantsInfo.variants.price\n   * @requiredField product.variantsInfo.variants.price.basePrice\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   */\n  function updateProductWithInventory(_id: string | null, product: UpdateProductWithInventoryProduct, options?: UpdateProductWithInventoryOptions): Promise<UpdateProductWithInventoryResponse>;\n  interface UpdateProductWithInventoryProduct {\n      /**\n       * Physical properties.\n       *\n       * Required when `productType: PHYSICAL`.\n       */\n      physicalProperties?: PhysicalProperties;\n      /**\n       * Product ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the product is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the product.\n       *\n       * Ignored when creating a product with inventory.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Product name. */\n      name?: string | null;\n      /**\n       * Product slug.\n       *\n       * If not provided, the slug is autogenerated based on the product name.\n       */\n      slug?: string | null;\n      /**\n       * Product description using rich content.\n       *\n       * Learn more about [Working with Rich Content](https://dev.wix.com/docs/go-headless/tutorials-templates/other-tutorials/working-with-rich-content).\n       * @internal\n       */\n      description?: RichContent;\n      /**\n       * Product description in HTML.\n       *\n       * + When provided on create/update, this string must be a valid HTML. It will then be converted to rich content.\n       * + `plainDescription` is ignored when value is also passed to the `description` field.\n       * > **Note:** Returned only when you pass `\"PLAIN_DESCRIPTION\"` to the `fields` array in Products API requests.\n       */\n      plainDescription?: string | null;\n      /**\n       * Whether the product is visible to site visitors on the site.\n       *\n       * Default: `true`\n       */\n      visible?: boolean | null;\n      /**\n       * Whether the product is visible in POS (point of sale).\n       *\n       * Default: `true`\n       * > **Note:** Always `false` for `productType: DIGITAL`.\n       */\n      visibleInPos?: boolean | null;\n      /** Product media items. */\n      media?: Media;\n      /** Product SEO data. */\n      seoData?: SeoSchema;\n      /** Tax group ID. */\n      taxGroupId?: string | null;\n      /**\n       * Product options. Allows buyer to customize product, e.g. select Color, Size and so on.\n       * Always generates variants: every variant must have exactly one choice related to each option.\n       * Since options and variants tightly coupled and rely on each other they usually should be provided together in all operations.\n       * For existing options and choices provide ids only, all other data (e.g. names, title, types and so on) will be resolved for you by ids.\n       * If you don't have ids it's ok to omit them but provide all other data instead. For existing options ids will be resolved, not existing options will be created.\n       * *None*: you cannot change name of existing option via this endpoint but you can do it by calling CustomizationService\n       */\n      options?: ConnectedOption[];\n      /**\n       * Product Modifiers. Allows buyer to customize product, e.g. select Color, Size and so on similarly to `options` but with one main difference - `modifiers` never generate any variants.\n       * For existing modifiers and choices provide ids only, all other data (e.g. names, title, types and so on) will be resolved for you by ids.\n       * If you don't have ids it's ok to omit them but provide all other data instead. For existing modifiers ids will be resolved, not existing modifiers will be created.\n       * *None*: you cannot change name of existing modifier via this endpoint by passing id and changed name, if you pass id name will be ignored. If you want to update existing modifier name do it by calling CustomizationService\n       */\n      modifiers?: ConnectedModifier[];\n      /**\n       * Product brand.\n       *\n       * + Pass `brand.name` to add a new brand while creating a product.\n       * + Pass an existing brand's `id` to assign that brand to the product.\n       */\n      brand?: Brand;\n      /**\n       * Product info section.\n       *\n       * + Pass `infoSection.uniqueName`, `infoSection.title`, and `infoSection.description` to add a new info section while creating a product.\n       * + Pass an existing info section's `id` or `uniqueName` to assign that info section to the product.\n       */\n      infoSections?: InfoSection[];\n      /**\n       * Product ribbon.\n       *\n       * + Pass `ribbon.name` to add a new ribbon while creating a product.\n       * + Pass an existing ribbon's `id` or `name` to assign that ribbon to the product.\n       */\n      ribbon?: Ribbon$1;\n      /** Main category ID. */\n      mainCategoryId?: string | null;\n      /**\n       * Product type.\n       *\n       * When passing `productType: PHYSICAL`, you must also pass `physicalProperties`.\n       */\n      productType?: ProductType;\n      /**\n       * A unique human-friendly identifier for the product.\n       * Unlike the product ID, the handle can be set by the user to ensure consistency across multiple platforms.\n       * In case handle wasn't given, the handle will be automatically generated.\n       */\n      handle?: string | null;\n      /** Product variants. */\n      variantsInfo?: V3VariantsInfo;\n      /** Subscription details. */\n      subscriptionDetails?: SubscriptionDetails;\n      /**\n       * Custom extended fields for the product object.\n       *\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdateProductWithInventoryOptions {\n      /**\n       * Explicit list of fields to update in product\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Whether to return the full inventory entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  /**\n   * Creates up to 100 products.\n   *\n   * >**Note:**\n   * > The following limits apply to the total number of creatable entities in a single request.\n   * > For example, you can create 10 products with up to 10 options for each product (10 x 10 = 100), or one product with 100 options.\n   * > Alternatively, you can create 100 products with up to 10 variants in each (100 x 10 = 1000), or one product with 1000 variants.\n   * > + `options`: 100\n   * > + `modifiers`: 100\n   * > + `infoSections`: 100\n   * > + `variantsInfo.variants`: 1000\n   * @param products - List of products to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField products\n   * @requiredField products.media.itemsInfo.items\n   * @requiredField products.modifiers.choicesSettings.choices\n   * @requiredField products.name\n   * @requiredField products.options.choicesSettings.choices\n   * @requiredField products.physicalProperties.pricePerUnit.measurementUnit\n   * @requiredField products.productType\n   * @requiredField products.subscriptionDetails.subscriptions\n   * @requiredField products.subscriptionDetails.subscriptions.discount\n   * @requiredField products.subscriptionDetails.subscriptions.discount.type\n   * @requiredField products.subscriptionDetails.subscriptions.frequency\n   * @requiredField products.subscriptionDetails.subscriptions.title\n   * @requiredField products.variantsInfo\n   * @requiredField products.variantsInfo.variants\n   * @requiredField products.variantsInfo.variants.digitalProperties.digitalFile\n   * @requiredField products.variantsInfo.variants.digitalProperties.digitalFile._id\n   * @requiredField products.variantsInfo.variants.physicalProperties.pricePerUnit.settings.measurementUnit\n   * @requiredField products.variantsInfo.variants.price\n   * @requiredField products.variantsInfo.variants.price.basePrice\n   * @permissionId WIX_STORES.PRODUCT_CREATE\n   * @adminMethod\n   */\n  function bulkCreateProducts(products: V3Product[], options?: BulkCreateProductsOptions): Promise<BulkCreateProductsResponse>;\n  interface BulkCreateProductsOptions {\n      /**\n       * Whether to return the full product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Creates up to 100 products, and can create the products' inventories in the variants' default locations.\n   *\n   * >**Note:**\n   * > The following limits apply to the total number of creatable entities in a single request.\n   * > For example, you can create 10 products with up to 10 options for each product (10 x 10 = 100), or one product with 100 options.\n   * > Alternatively, you can create 100 products with up to 10 variants in each (100 x 10 = 1000), or one product with 1000 variants.\n   * > + `options`: 100\n   * > + `modifiers`: 100\n   * > + `infoSections`: 100\n   * > + `variantsInfo.variants`: 1000\n   * @param products - List of products to create with inventory.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField products\n   * @requiredField products.media.itemsInfo.items\n   * @requiredField products.modifiers.choicesSettings.choices\n   * @requiredField products.name\n   * @requiredField products.options.choicesSettings.choices\n   * @requiredField products.physicalProperties.pricePerUnit.measurementUnit\n   * @requiredField products.productType\n   * @requiredField products.subscriptionDetails.subscriptions\n   * @requiredField products.subscriptionDetails.subscriptions.discount\n   * @requiredField products.subscriptionDetails.subscriptions.discount.type\n   * @requiredField products.subscriptionDetails.subscriptions.frequency\n   * @requiredField products.subscriptionDetails.subscriptions.title\n   * @requiredField products.variantsInfo\n   * @requiredField products.variantsInfo.variants.digitalProperties.digitalFile\n   * @requiredField products.variantsInfo.variants.digitalProperties.digitalFile._id\n   * @requiredField products.variantsInfo.variants.physicalProperties.pricePerUnit.settings.measurementUnit\n   * @requiredField products.variantsInfo.variants.price\n   * @requiredField products.variantsInfo.variants.price.basePrice\n   * @permissionId WIX_STORES.PRODUCT_CREATE\n   * @permissionId WIX_STORES.INVENTORY_CREATE\n   * @adminMethod\n   */\n  function bulkCreateProductsWithInventory(products: ProductWithInventory[], options?: BulkCreateProductsWithInventoryOptions): Promise<BulkCreateProductsWithInventoryResponse>;\n  interface BulkCreateProductsWithInventoryOptions {\n      /**\n       * Whether to return the full product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Updates up to 100 products.\n   *\n   * >**Note:**\n   * > The following limits apply to the total number of updatable entities in a single request.\n   * > For example, you can update 10 products with up to 10 options for each product (10 x 10 = 100), or one product with 100 options.\n   * > Alternatively, you can update 100 products with up to 10 variants in each (100 x 10 = 1000), or one product with 1000 variants.\n   * > + `options`: 100\n   * > + `modifiers`: 100\n   * > + `infoSections`: 100\n   * > + `variantsInfo.variants`: 1000\n   * @param products - List of products to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField products\n   * @requiredField products.product\n   * @requiredField products.product._id\n   * @requiredField products.product.media.itemsInfo.items\n   * @requiredField products.product.modifiers.choicesSettings.choices\n   * @requiredField products.product.options.choicesSettings.choices\n   * @requiredField products.product.physicalProperties.pricePerUnit.measurementUnit\n   * @requiredField products.product.revision\n   * @requiredField products.product.subscriptionDetails.subscriptions\n   * @requiredField products.product.subscriptionDetails.subscriptions.discount\n   * @requiredField products.product.subscriptionDetails.subscriptions.discount.type\n   * @requiredField products.product.subscriptionDetails.subscriptions.frequency\n   * @requiredField products.product.subscriptionDetails.subscriptions.title\n   * @requiredField products.product.variantsInfo.variants.digitalProperties.digitalFile\n   * @requiredField products.product.variantsInfo.variants.digitalProperties.digitalFile._id\n   * @requiredField products.product.variantsInfo.variants.physicalProperties.pricePerUnit.settings.measurementUnit\n   * @requiredField products.product.variantsInfo.variants.price\n   * @requiredField products.product.variantsInfo.variants.price.basePrice\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateProducts(products: V3MaskedProduct[], options?: BulkUpdateProductsOptions): Promise<BulkUpdateProductsResponse>;\n  interface BulkUpdateProductsOptions {\n      /**\n       * Whether to return the full product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Updates up to 100 products, and can update the products' inventories in the variants' default locations.\n   *\n   * >**Note:**\n   * > The following limits apply to the total number of updatable entities in a single request.\n   * > For example, you can update 10 products with up to 10 options for each product (10 x 10 = 100), or one product with 100 options.\n   * > Alternatively, you can update 100 products with up to 10 variants in each (100 x 10 = 1000), or one product with 1000 variants.\n   * > + `options`: 100\n   * > + `modifiers`: 100\n   * > + `infoSections`: 100\n   * > + `variantsInfo.variants`: 1000\n   * @param products - List of products to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField products\n   * @requiredField products.product\n   * @requiredField products.product._id\n   * @requiredField products.product.media.itemsInfo.items\n   * @requiredField products.product.modifiers.choicesSettings.choices\n   * @requiredField products.product.options.choicesSettings.choices\n   * @requiredField products.product.physicalProperties.pricePerUnit.measurementUnit\n   * @requiredField products.product.revision\n   * @requiredField products.product.subscriptionDetails.subscriptions\n   * @requiredField products.product.subscriptionDetails.subscriptions.discount\n   * @requiredField products.product.subscriptionDetails.subscriptions.discount.type\n   * @requiredField products.product.subscriptionDetails.subscriptions.frequency\n   * @requiredField products.product.subscriptionDetails.subscriptions.title\n   * @requiredField products.product.variantsInfo.variants.digitalProperties.digitalFile\n   * @requiredField products.product.variantsInfo.variants.digitalProperties.digitalFile._id\n   * @requiredField products.product.variantsInfo.variants.physicalProperties.pricePerUnit.settings.measurementUnit\n   * @requiredField products.product.variantsInfo.variants.price\n   * @requiredField products.product.variantsInfo.variants.price.basePrice\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @permissionId WIX_STORES.INVENTORY_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateProductsWithInventory(products: MaskedProductWithInventory[], options?: BulkUpdateProductsWithInventoryOptions): Promise<BulkUpdateProductsWithInventoryResponse>;\n  interface BulkUpdateProductsWithInventoryOptions {\n      /**\n       * Whether to return the full product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Updates multiple products, given the provided filter.\n   *\n   * To update `infoSections`, `brand` or `ribbon` fields, you must also pass their existing `id`.\n   *\n   * > **Note:**\n   * > The following fields cannot be updated with this endpoint:\n   * > + `slug`\n   * > + `options`\n   * > + `modifiers`\n   * > + `variantsInfo`\n   * >\n   * > To update these fields, use [Bulk Update Products](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/products-v3/bulk-update-products).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.product\n   * @requiredField options.product.media.itemsInfo.items\n   * @requiredField options.product.subscriptionDetails.subscriptions\n   * @requiredField options.product.subscriptionDetails.subscriptions.discount\n   * @requiredField options.product.subscriptionDetails.subscriptions.discount.type\n   * @requiredField options.product.subscriptionDetails.subscriptions.frequency\n   * @requiredField options.product.subscriptionDetails.subscriptions.title\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateProductsByFilter(options?: BulkUpdateProductsByFilterOptions): Promise<V3BulkUpdateProductsByFilterResponse>;\n  interface BulkUpdateProductsByFilterOptions {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Product to update. */\n      product: V3Product;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  /**\n   * Updates a product's extended fields.\n   *\n   * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must first be configured in the app dashboard.\n   * @param productId - Product ID.\n   * @param namespace - App namespace.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField namespace\n   * @requiredField options.namespaceData\n   * @requiredField productId\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields(productId: string, namespace: string, options?: UpdateExtendedFieldsOptions): Promise<V3UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. */\n      namespaceData: Record<string, any> | null;\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  /**\n   * Deletes a product and all its variants.\n   * @param productId - Product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @permissionId WIX_STORES.PRODUCT_DELETE\n   * @adminMethod\n   */\n  function deleteProduct(productId: string): Promise<void>;\n  /**\n   * Deletes multiple products.\n   * @param productIds - IDs of products to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productIds\n   * @permissionId WIX_STORES.PRODUCT_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteProducts(productIds: string[]): Promise<V3BulkDeleteProductsResponse>;\n  /**\n   * Delete multiple products, given the provided filter.\n   * @param filter - Filter object.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_STORES.PRODUCT_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteProductsByFilter(filter: Record<string, any> | null, options?: BulkDeleteProductsByFilterOptions): Promise<V3BulkDeleteProductsByFilterResponse>;\n  interface BulkDeleteProductsByFilterOptions {\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  /**\n   * Retrieves a product.\n   *\n   * > **Note:**\n   * > To retrieve a non-visible product (`visible: false`), your app must have the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n   * @param productId - Product ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @permissionId WIX_STORES.PRODUCT_READ\n   * @permissionId WIX_STORES.PRODUCT_READ_NON_VISIBLE\n   * @returns Product.\n   */\n  function getProduct(productId: string, options?: GetProductOptions): Promise<V3Product>;\n  interface GetProductOptions {\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n      /**\n       * Indicates if the read should be done consistent or not. Default is false\n       * @internal\n       */\n      consistent?: boolean | null;\n  }\n  /**\n   * Retrieves a product by slug.\n   *\n   * > **Note:**\n   * > To retrieve a non-visible product (`visible: false`), your app must have the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n   * @param slug - Product slug.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField slug\n   * @permissionId WIX_STORES.PRODUCT_READ\n   * @permissionId WIX_STORES.PRODUCT_READ_NON_VISIBLE\n   */\n  function getProductBySlug(slug: string, options?: GetProductBySlugOptions): Promise<V3GetProductBySlugResponse>;\n  interface GetProductBySlugOptions {\n      /** Fields to include in the response. */\n      fields?: SingleEntityOpsRequestedFields[];\n  }\n  /**\n   * Retrieves a list of up to 100 products, given the provided filtering, search expression, sorting, and cursor paging.\n   * Pass supported values to the `fields` array in the request to include those fields in the response.\n   *\n   * To learn about working with _Search_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   *\n   * > **Notes:**\n   * + This method does not return `variantsInfo`. To retrieve product variants, use the Get Product method.\n   * + To retrieve a non-visible product (`visible: false`), your app must have the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.PRODUCT_READ\n   * @permissionId WIX_STORES.PRODUCT_READ_NON_VISIBLE\n   */\n  function searchProducts(options?: SearchProductsOptions): Promise<V3SearchProductsResponse>;\n  interface SearchProductsOptions {\n      /** Search options. */\n      search?: CommonCursorSearch;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Retrieves a list of up to 100 products, given the provided filtering, sorting, and cursor paging.\n   * Pass supported values to the `fields` array in the request to include those fields in the response.\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   *\n   * > **Notes:**\n   * + This method does not return `variantsInfo`. To retrieve product variants, use the Get Product method.\n   * + To retrieve a non-visible product (`visible: false`), your app must have the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.PRODUCT_READ\n   * @permissionId WIX_STORES.PRODUCT_READ_NON_VISIBLE\n   */\n  function queryProducts(options?: QueryProductsOptions): ProductsQueryBuilder;\n  interface QueryProductsOptions {\n      /** A list of requested fields to be included in the response. */\n      fields?: RequestedFields$1[] | undefined;\n  }\n  interface QueryCursorResult$2 {\n      cursors: CommonCursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ProductsQueryResult extends QueryCursorResult$2 {\n      items: V3Product[];\n      query: ProductsQueryBuilder;\n      next: () => Promise<ProductsQueryResult>;\n      prev: () => Promise<ProductsQueryResult>;\n  }\n  interface ProductsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'slug' | 'visible' | 'options.id' | 'handle', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'slug' | 'visible' | 'options.id' | 'handle', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'slug' | 'options.id' | 'handle', value: string) => ProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'slug' | 'visible' | 'options.id' | 'handle', value: any[]) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'slug' | 'visible' | 'options.id' | 'handle', value: any) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'slug' | 'visible' | 'options.id' | 'handle', value: boolean) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'visible'>) => ProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'visible'>) => ProductsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ProductsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ProductsQueryResult>;\n  }\n  /**\n   * Counts the number of products that match the provided filtering.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.PRODUCT_READ\n   * @permissionId WIX_STORES.PRODUCT_READ_NON_VISIBLE\n   */\n  function countProducts(options?: CountProductsOptions): Promise<V3CountProductsResponse>;\n  interface CountProductsOptions {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n      /**\n       * Whether to return non-visible products (`visible:false`). Your app must have the required `SCOPE.STORES.PRODUCT_READ_ADMIN` permission scope.\n       *\n       * Default: `false`\n       */\n      returnNonVisibleProducts?: boolean;\n  }\n  /**\n   * Updates a variant of multiple products, given the provided filter and search expression.\n   *\n   *\n   * Only the following variant fields can be updated:\n   * + `visible`\n   * + `price`\n   * + `revenueDetails.cost`\n   * + `physicalOptions`\n   * @param filter - Filter object.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options.variant\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateProductVariantsByFilter(filter: Record<string, any> | null, options?: BulkUpdateProductVariantsByFilterOptions): Promise<BulkUpdateProductVariantsByFilterResponse>;\n  interface BulkUpdateProductVariantsByFilterOptions {\n      /** Variant to update. */\n      variant: Variant;\n      /**\n       * Explicit list of variant fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  /**\n   * Adjusts the price and cost of multiple variants, given the provided filter and search expression.\n   *\n   *\n   * Only the following variant fields can be increased/decreased by amount or percentage:\n   * + `basePrice`\n   * + `salePrice`\n   * + `cost`\n   * + `salePriceFromBasePrice`\n   * @param filter - Filter object.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   */\n  function bulkAdjustProductVariantsByFilter(filter: Record<string, any> | null, options?: BulkAdjustProductVariantsByFilterOptions): Promise<BulkAdjustProductVariantsByFilterResponse>;\n  interface BulkAdjustProductVariantsByFilterOptions {\n      /**\n       * Base price adjustment.\n       * @deprecated Base price adjustment.\n       * @replacedBy compare_at_price\n       * @targetRemovalDate 2024-12-31\n       */\n      basePrice?: V3AdjustValue;\n      /**\n       * Sale price adjustment.\n       * @deprecated Sale price adjustment.\n       * @replacedBy actual_price\n       * @targetRemovalDate 2024-12-31\n       */\n      salePrice?: V3AdjustValue;\n      /** Cost adjustment. */\n      cost?: V3AdjustValue;\n      /**\n       * Set variant sale price from base price by applying provided discount to it.\n       * For example variant base price 100$, variant sale price 95$, requested `salePriceFromBasePrice.percentage` is 10, then old sale price ignored and new sale price set to 90 (100$ - 10%).\n       * @deprecated Set variant sale price from base price by applying provided discount to it.\n       * For example variant base price 100$, variant sale price 95$, requested `salePriceFromBasePrice.percentage` is 10, then old sale price ignored and new sale price set to 90 (100$ - 10%).\n       * @replacedBy actual_price_from_compare_at_price\n       * @targetRemovalDate 2024-12-31\n       */\n      salePriceFromBasePrice?: V3UnsignedAdjustValue;\n      /**\n       * Rounding strategy of new calculated prices.\n       *\n       * + `NO_ROUNDING`: Calculated prices will be saved without rounding to keep max possible precision.\n       * + `CURRENCY_PRECISION`: Calculated prices will be rounded according to the currency's precision requirements. For example. `$3.5555` will be saved as `$3.56`; `¥3.5555` will be saved as `¥4`.\n       * + `NEAREST_WHOLE_NUMBER`: Calculated prices will be rounded to the nearest whole number.\n       */\n      rounding?: BulkAdjustProductVariantsByFilterRequestRoundingStrategy;\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n      /** Actual price adjustment. */\n      actualPrice?: V3AdjustValue;\n      /** Compare at price adjustment. */\n      compareAtPrice?: V3AdjustValue;\n      /**\n       * Set variant actual_price from compare_at_price by applying provided discount to it.\n       * if compare-at-price doesn't exist, actual_price will be set to compare_at_price and the discount will be calculated from it.\n       * For example variant compare at price 100$, variant actual price is 95$, requested `salePriceFromBasePrice.percentage` is 10, then old actual price ignored and new actual price set to 90 (100$ - 10%).\n       */\n      compareAtPriceDiscount?: V3UnsignedAdjustValue;\n  }\n  /**\n   * Adds info sections to multiple products, given the provided filter and search expression.\n   * @param filter - Filter object.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options.infoSectionIds\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   */\n  function bulkAddInfoSectionsToProductsByFilter(filter: Record<string, any> | null, options?: BulkAddInfoSectionsToProductsByFilterOptions): Promise<V3BulkAddInfoSectionsToProductsByFilterResponse>;\n  interface BulkAddInfoSectionsToProductsByFilterOptions {\n      /** IDs of the info sections to add. */\n      infoSectionIds: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  /**\n   * Adds info sections to multiple products.\n   * @param products - List of product IDs and revisions.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.infoSectionIds\n   * @requiredField products\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   */\n  function bulkAddInfoSectionsToProducts(products: V3ProductIdWithRevision[], options?: BulkAddInfoSectionsToProductsOptions): Promise<V3BulkAddInfoSectionsToProductsResponse>;\n  interface BulkAddInfoSectionsToProductsOptions {\n      /** List of IDs of info sections to add. */\n      infoSectionIds: string[];\n      /**\n       * Whether to return the full updated product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Removes info sections from multiple products, given the provided filter and search expression.\n   * @param filter - Filter object.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options.infoSectionIds\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   */\n  function bulkRemoveInfoSectionsFromProductsByFilter(filter: Record<string, any> | null, options?: BulkRemoveInfoSectionsFromProductsByFilterOptions): Promise<V3BulkRemoveInfoSectionsFromProductsByFilterResponse>;\n  interface BulkRemoveInfoSectionsFromProductsByFilterOptions {\n      /** IDs of info sections to remove. */\n      infoSectionIds: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  /**\n   * Removes info sections from multiple products.\n   * @param products - List of product IDs and revisions.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.infoSectionIds\n   * @requiredField products\n   * @permissionId WIX_STORES.PRODUCT_UPDATE\n   * @adminMethod\n   */\n  function bulkRemoveInfoSectionsFromProducts(products: V3ProductIdWithRevision[], options?: BulkRemoveInfoSectionsFromProductsOptions): Promise<V3BulkRemoveInfoSectionsFromProductsResponse>;\n  interface BulkRemoveInfoSectionsFromProductsOptions {\n      /** List of IDs of info sections to remove. */\n      infoSectionIds: string[];\n      /**\n       * Whether to return the full updated product entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /** Fields to include in the response. */\n      fields?: RequestedFields$1[];\n  }\n  /**\n   * Adds multiple products, given the provided filter and search expression, to up to 5 categories.\n   *\n   * Learn more about the [Categories API](https://dev.wix.com/docs/rest/business-management/categories/introduction).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.categoryIds\n   * @permissionId CATEGORIES.CATEGORY_ADD_ITEM\n   * @adminMethod\n   */\n  function bulkAddProductsToCategoriesByFilter(options?: BulkAddProductsToCategoriesByFilterOptions): Promise<BulkAddProductsToCategoriesByFilterResponse>;\n  interface BulkAddProductsToCategoriesByFilterOptions {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** IDs of the categories to which products will be added. */\n      categoryIds: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  /**\n   * Removes multiple products, given the provided filter and search expression, from up to 5 categories.\n   *\n   * Learn more about the [Categories API](https://dev.wix.com/docs/rest/business-management/categories/introduction).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.categoryIds\n   * @permissionId CATEGORIES.CATEGORY_REMOVE_ITEM\n   * @adminMethod\n   */\n  function bulkRemoveProductsFromCategoriesByFilter(options?: BulkRemoveProductsFromCategoriesByFilterOptions): Promise<BulkRemoveProductsFromCategoriesByFilterResponse>;\n  interface BulkRemoveProductsFromCategoriesByFilterOptions {\n      /** Filter object. */\n      filter?: Record<string, any> | null;\n      /** IDs of the categories from which products will be removed. */\n      categoryIds: string[];\n      /** Free text to match in searchable fields. */\n      search?: WixCommonSearchDetails;\n  }\n  \n  type storesCatalogV3ProductProductsV3_universal_d_V3Product = V3Product;\n  type storesCatalogV3ProductProductsV3_universal_d_V3ProductTypedPropertiesOneOf = V3ProductTypedPropertiesOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_RichContent = RichContent;\n  type storesCatalogV3ProductProductsV3_universal_d_Node = Node;\n  type storesCatalogV3ProductProductsV3_universal_d_NodeDataOneOf = NodeDataOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_NodeType = NodeType;\n  const storesCatalogV3ProductProductsV3_universal_d_NodeType: typeof NodeType;\n  type storesCatalogV3ProductProductsV3_universal_d_NodeStyle = NodeStyle;\n  type storesCatalogV3ProductProductsV3_universal_d_ButtonData = ButtonData;\n  type storesCatalogV3ProductProductsV3_universal_d_Border = Border;\n  type storesCatalogV3ProductProductsV3_universal_d_Colors = Colors;\n  type storesCatalogV3ProductProductsV3_universal_d_PluginContainerData = PluginContainerData;\n  type storesCatalogV3ProductProductsV3_universal_d_WidthType = WidthType;\n  const storesCatalogV3ProductProductsV3_universal_d_WidthType: typeof WidthType;\n  type storesCatalogV3ProductProductsV3_universal_d_PluginContainerDataWidth = PluginContainerDataWidth;\n  type storesCatalogV3ProductProductsV3_universal_d_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_PluginContainerDataAlignment = PluginContainerDataAlignment;\n  const storesCatalogV3ProductProductsV3_universal_d_PluginContainerDataAlignment: typeof PluginContainerDataAlignment;\n  type storesCatalogV3ProductProductsV3_universal_d_Spoiler = Spoiler;\n  type storesCatalogV3ProductProductsV3_universal_d_Height = Height;\n  type storesCatalogV3ProductProductsV3_universal_d_Type = Type;\n  const storesCatalogV3ProductProductsV3_universal_d_Type: typeof Type;\n  type storesCatalogV3ProductProductsV3_universal_d_Styles = Styles;\n  type storesCatalogV3ProductProductsV3_universal_d_Link = Link;\n  type storesCatalogV3ProductProductsV3_universal_d_LinkDataOneOf = LinkDataOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_Target = Target;\n  const storesCatalogV3ProductProductsV3_universal_d_Target: typeof Target;\n  type storesCatalogV3ProductProductsV3_universal_d_Rel = Rel;\n  type storesCatalogV3ProductProductsV3_universal_d_CodeBlockData = CodeBlockData;\n  type storesCatalogV3ProductProductsV3_universal_d_TextStyle = TextStyle;\n  type storesCatalogV3ProductProductsV3_universal_d_TextAlignment = TextAlignment;\n  const storesCatalogV3ProductProductsV3_universal_d_TextAlignment: typeof TextAlignment;\n  type storesCatalogV3ProductProductsV3_universal_d_DividerData = DividerData;\n  type storesCatalogV3ProductProductsV3_universal_d_LineStyle = LineStyle;\n  const storesCatalogV3ProductProductsV3_universal_d_LineStyle: typeof LineStyle;\n  type storesCatalogV3ProductProductsV3_universal_d_Width = Width;\n  const storesCatalogV3ProductProductsV3_universal_d_Width: typeof Width;\n  type storesCatalogV3ProductProductsV3_universal_d_Alignment = Alignment;\n  const storesCatalogV3ProductProductsV3_universal_d_Alignment: typeof Alignment;\n  type storesCatalogV3ProductProductsV3_universal_d_FileData = FileData;\n  type storesCatalogV3ProductProductsV3_universal_d_ViewMode = ViewMode;\n  const storesCatalogV3ProductProductsV3_universal_d_ViewMode: typeof ViewMode;\n  type storesCatalogV3ProductProductsV3_universal_d_FileSource = FileSource;\n  type storesCatalogV3ProductProductsV3_universal_d_FileSourceDataOneOf = FileSourceDataOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_PDFSettings = PDFSettings;\n  type storesCatalogV3ProductProductsV3_universal_d_GalleryData = GalleryData;\n  type storesCatalogV3ProductProductsV3_universal_d_V1Media = V1Media;\n  type storesCatalogV3ProductProductsV3_universal_d_Image = Image;\n  type storesCatalogV3ProductProductsV3_universal_d_Video = Video;\n  type storesCatalogV3ProductProductsV3_universal_d_Item = Item;\n  type storesCatalogV3ProductProductsV3_universal_d_ItemDataOneOf = ItemDataOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_GalleryOptions = GalleryOptions;\n  type storesCatalogV3ProductProductsV3_universal_d_LayoutType = LayoutType;\n  const storesCatalogV3ProductProductsV3_universal_d_LayoutType: typeof LayoutType;\n  type storesCatalogV3ProductProductsV3_universal_d_Orientation = Orientation;\n  const storesCatalogV3ProductProductsV3_universal_d_Orientation: typeof Orientation;\n  type storesCatalogV3ProductProductsV3_universal_d_Crop = Crop;\n  const storesCatalogV3ProductProductsV3_universal_d_Crop: typeof Crop;\n  type storesCatalogV3ProductProductsV3_universal_d_ThumbnailsAlignment = ThumbnailsAlignment;\n  const storesCatalogV3ProductProductsV3_universal_d_ThumbnailsAlignment: typeof ThumbnailsAlignment;\n  type storesCatalogV3ProductProductsV3_universal_d_Layout = Layout;\n  type storesCatalogV3ProductProductsV3_universal_d_ItemStyle = ItemStyle;\n  type storesCatalogV3ProductProductsV3_universal_d_Thumbnails = Thumbnails;\n  type storesCatalogV3ProductProductsV3_universal_d_GIFData = GIFData;\n  type storesCatalogV3ProductProductsV3_universal_d_GIF = GIF;\n  type storesCatalogV3ProductProductsV3_universal_d_HeadingData = HeadingData;\n  type storesCatalogV3ProductProductsV3_universal_d_HTMLData = HTMLData;\n  type storesCatalogV3ProductProductsV3_universal_d_HTMLDataDataOneOf = HTMLDataDataOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_Source = Source;\n  const storesCatalogV3ProductProductsV3_universal_d_Source: typeof Source;\n  type storesCatalogV3ProductProductsV3_universal_d_ImageData = ImageData;\n  type storesCatalogV3ProductProductsV3_universal_d_LinkPreviewData = LinkPreviewData;\n  type storesCatalogV3ProductProductsV3_universal_d_MapData = MapData;\n  type storesCatalogV3ProductProductsV3_universal_d_MapSettings = MapSettings;\n  type storesCatalogV3ProductProductsV3_universal_d_MapType = MapType;\n  const storesCatalogV3ProductProductsV3_universal_d_MapType: typeof MapType;\n  type storesCatalogV3ProductProductsV3_universal_d_ParagraphData = ParagraphData;\n  type storesCatalogV3ProductProductsV3_universal_d_PollData = PollData;\n  type storesCatalogV3ProductProductsV3_universal_d_ViewRole = ViewRole;\n  const storesCatalogV3ProductProductsV3_universal_d_ViewRole: typeof ViewRole;\n  type storesCatalogV3ProductProductsV3_universal_d_VoteRole = VoteRole;\n  const storesCatalogV3ProductProductsV3_universal_d_VoteRole: typeof VoteRole;\n  type storesCatalogV3ProductProductsV3_universal_d_Permissions = Permissions;\n  type storesCatalogV3ProductProductsV3_universal_d_Option = Option;\n  type storesCatalogV3ProductProductsV3_universal_d_PollSettings = PollSettings;\n  type storesCatalogV3ProductProductsV3_universal_d_PollLayoutType = PollLayoutType;\n  const storesCatalogV3ProductProductsV3_universal_d_PollLayoutType: typeof PollLayoutType;\n  type storesCatalogV3ProductProductsV3_universal_d_PollLayoutDirection = PollLayoutDirection;\n  const storesCatalogV3ProductProductsV3_universal_d_PollLayoutDirection: typeof PollLayoutDirection;\n  type storesCatalogV3ProductProductsV3_universal_d_PollLayout = PollLayout;\n  type storesCatalogV3ProductProductsV3_universal_d_OptionLayout = OptionLayout;\n  type storesCatalogV3ProductProductsV3_universal_d_BackgroundType = BackgroundType;\n  const storesCatalogV3ProductProductsV3_universal_d_BackgroundType: typeof BackgroundType;\n  type storesCatalogV3ProductProductsV3_universal_d_Gradient = Gradient;\n  type storesCatalogV3ProductProductsV3_universal_d_Background = Background;\n  type storesCatalogV3ProductProductsV3_universal_d_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_PollDesign = PollDesign;\n  type storesCatalogV3ProductProductsV3_universal_d_OptionDesign = OptionDesign;\n  type storesCatalogV3ProductProductsV3_universal_d_Poll = Poll;\n  type storesCatalogV3ProductProductsV3_universal_d_PollDataLayout = PollDataLayout;\n  type storesCatalogV3ProductProductsV3_universal_d_Design = Design;\n  type storesCatalogV3ProductProductsV3_universal_d_TextData = TextData;\n  type storesCatalogV3ProductProductsV3_universal_d_Decoration = Decoration;\n  type storesCatalogV3ProductProductsV3_universal_d_DecorationDataOneOf = DecorationDataOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_DecorationType = DecorationType;\n  const storesCatalogV3ProductProductsV3_universal_d_DecorationType: typeof DecorationType;\n  type storesCatalogV3ProductProductsV3_universal_d_AnchorData = AnchorData;\n  type storesCatalogV3ProductProductsV3_universal_d_ColorData = ColorData;\n  type storesCatalogV3ProductProductsV3_universal_d_LinkData = LinkData;\n  type storesCatalogV3ProductProductsV3_universal_d_MentionData = MentionData;\n  type storesCatalogV3ProductProductsV3_universal_d_FontSizeData = FontSizeData;\n  type storesCatalogV3ProductProductsV3_universal_d_FontType = FontType;\n  const storesCatalogV3ProductProductsV3_universal_d_FontType: typeof FontType;\n  type storesCatalogV3ProductProductsV3_universal_d_SpoilerData = SpoilerData;\n  type storesCatalogV3ProductProductsV3_universal_d_AppEmbedData = AppEmbedData;\n  type storesCatalogV3ProductProductsV3_universal_d_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_AppType = AppType;\n  const storesCatalogV3ProductProductsV3_universal_d_AppType: typeof AppType;\n  type storesCatalogV3ProductProductsV3_universal_d_BookingData = BookingData;\n  type storesCatalogV3ProductProductsV3_universal_d_EventData = EventData;\n  type storesCatalogV3ProductProductsV3_universal_d_VideoData = VideoData;\n  type storesCatalogV3ProductProductsV3_universal_d_PlaybackOptions = PlaybackOptions;\n  type storesCatalogV3ProductProductsV3_universal_d_EmbedData = EmbedData;\n  type storesCatalogV3ProductProductsV3_universal_d_Oembed = Oembed;\n  type storesCatalogV3ProductProductsV3_universal_d_CollapsibleListData = CollapsibleListData;\n  type storesCatalogV3ProductProductsV3_universal_d_InitialExpandedItems = InitialExpandedItems;\n  const storesCatalogV3ProductProductsV3_universal_d_InitialExpandedItems: typeof InitialExpandedItems;\n  type storesCatalogV3ProductProductsV3_universal_d_Direction = Direction;\n  const storesCatalogV3ProductProductsV3_universal_d_Direction: typeof Direction;\n  type storesCatalogV3ProductProductsV3_universal_d_TableData = TableData;\n  type storesCatalogV3ProductProductsV3_universal_d_Dimensions = Dimensions;\n  type storesCatalogV3ProductProductsV3_universal_d_TableCellData = TableCellData;\n  type storesCatalogV3ProductProductsV3_universal_d_VerticalAlignment = VerticalAlignment;\n  const storesCatalogV3ProductProductsV3_universal_d_VerticalAlignment: typeof VerticalAlignment;\n  type storesCatalogV3ProductProductsV3_universal_d_CellStyle = CellStyle;\n  type storesCatalogV3ProductProductsV3_universal_d_BorderColors = BorderColors;\n  type storesCatalogV3ProductProductsV3_universal_d_NullValue = NullValue;\n  const storesCatalogV3ProductProductsV3_universal_d_NullValue: typeof NullValue;\n  type storesCatalogV3ProductProductsV3_universal_d_ListValue = ListValue;\n  type storesCatalogV3ProductProductsV3_universal_d_AudioData = AudioData;\n  type storesCatalogV3ProductProductsV3_universal_d_OrderedListData = OrderedListData;\n  type storesCatalogV3ProductProductsV3_universal_d_BulletedListData = BulletedListData;\n  type storesCatalogV3ProductProductsV3_universal_d_BlockquoteData = BlockquoteData;\n  type storesCatalogV3ProductProductsV3_universal_d_CaptionData = CaptionData;\n  type storesCatalogV3ProductProductsV3_universal_d_Metadata = Metadata;\n  type storesCatalogV3ProductProductsV3_universal_d_DocumentStyle = DocumentStyle;\n  type storesCatalogV3ProductProductsV3_universal_d_TextNodeStyle = TextNodeStyle;\n  type storesCatalogV3ProductProductsV3_universal_d_Media = Media;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductMedia = ProductMedia;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductMediaSetByOneOf = ProductMediaSetByOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductMediaMediaOneOf = ProductMediaMediaOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_VideoResolution = VideoResolution;\n  type storesCatalogV3ProductProductsV3_universal_d_MediaType = MediaType;\n  const storesCatalogV3ProductProductsV3_universal_d_MediaType: typeof MediaType;\n  type storesCatalogV3ProductProductsV3_universal_d_Thumbnail = Thumbnail;\n  type storesCatalogV3ProductProductsV3_universal_d_MediaItemsInfo = MediaItemsInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_SeoSchema = SeoSchema;\n  type storesCatalogV3ProductProductsV3_universal_d_Keyword = Keyword;\n  type storesCatalogV3ProductProductsV3_universal_d_Tag = Tag;\n  type storesCatalogV3ProductProductsV3_universal_d_Settings = Settings;\n  type storesCatalogV3ProductProductsV3_universal_d_ConnectedOption = ConnectedOption;\n  type storesCatalogV3ProductProductsV3_universal_d_ConnectedOptionOptionSettingsOneOf = ConnectedOptionOptionSettingsOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductOptionRenderType = ProductOptionRenderType;\n  const storesCatalogV3ProductProductsV3_universal_d_ProductOptionRenderType: typeof ProductOptionRenderType;\n  type storesCatalogV3ProductProductsV3_universal_d_ChoicesSettings = ChoicesSettings;\n  type storesCatalogV3ProductProductsV3_universal_d_ConnectedOptionChoice = ConnectedOptionChoice;\n  type storesCatalogV3ProductProductsV3_universal_d_ConnectedOptionChoiceValueOneOf = ConnectedOptionChoiceValueOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_ChoiceType = ChoiceType;\n  const storesCatalogV3ProductProductsV3_universal_d_ChoiceType: typeof ChoiceType;\n  type storesCatalogV3ProductProductsV3_universal_d_MultipleColors = MultipleColors;\n  type storesCatalogV3ProductProductsV3_universal_d_ConnectedModifier = ConnectedModifier;\n  type storesCatalogV3ProductProductsV3_universal_d_ConnectedModifierModifierSettingsOneOf = ConnectedModifierModifierSettingsOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_ModifierRenderType = ModifierRenderType;\n  const storesCatalogV3ProductProductsV3_universal_d_ModifierRenderType: typeof ModifierRenderType;\n  type storesCatalogV3ProductProductsV3_universal_d_FreeTextSettings = FreeTextSettings;\n  type storesCatalogV3ProductProductsV3_universal_d_ModifierChoicesSettings = ModifierChoicesSettings;\n  type storesCatalogV3ProductProductsV3_universal_d_ConnectedModifierChoice = ConnectedModifierChoice;\n  type storesCatalogV3ProductProductsV3_universal_d_ConnectedModifierChoiceValueOneOf = ConnectedModifierChoiceValueOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_Brand = Brand;\n  type storesCatalogV3ProductProductsV3_universal_d_InfoSection = InfoSection;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductCategoriesInfo = ProductCategoriesInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductCategory = ProductCategory;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductCategoryIdsInfo = ProductCategoryIdsInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_PriceRange = PriceRange;\n  type storesCatalogV3ProductProductsV3_universal_d_FixedMonetaryAmount = FixedMonetaryAmount;\n  type storesCatalogV3ProductProductsV3_universal_d_Inventory = Inventory;\n  type storesCatalogV3ProductProductsV3_universal_d_InventoryAvailabilityStatus = InventoryAvailabilityStatus;\n  const storesCatalogV3ProductProductsV3_universal_d_InventoryAvailabilityStatus: typeof InventoryAvailabilityStatus;\n  type storesCatalogV3ProductProductsV3_universal_d_PreorderStatus = PreorderStatus;\n  const storesCatalogV3ProductProductsV3_universal_d_PreorderStatus: typeof PreorderStatus;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductPreorderAvailability = ProductPreorderAvailability;\n  const storesCatalogV3ProductProductsV3_universal_d_ProductPreorderAvailability: typeof ProductPreorderAvailability;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductType = ProductType;\n  const storesCatalogV3ProductProductsV3_universal_d_ProductType: typeof ProductType;\n  type storesCatalogV3ProductProductsV3_universal_d_PhysicalProperties = PhysicalProperties;\n  type storesCatalogV3ProductProductsV3_universal_d_PricePerUnitSettings = PricePerUnitSettings;\n  type storesCatalogV3ProductProductsV3_universal_d_MeasurementUnit = MeasurementUnit;\n  const storesCatalogV3ProductProductsV3_universal_d_MeasurementUnit: typeof MeasurementUnit;\n  type storesCatalogV3ProductProductsV3_universal_d_WeightRange = WeightRange;\n  type storesCatalogV3ProductProductsV3_universal_d_PricePerUnitRange = PricePerUnitRange;\n  type storesCatalogV3ProductProductsV3_universal_d_PricePerUnitRangePricePerUnit = PricePerUnitRangePricePerUnit;\n  type storesCatalogV3ProductProductsV3_universal_d_WeightMeasurementUnitInfo = WeightMeasurementUnitInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_WeightUnit = WeightUnit;\n  const storesCatalogV3ProductProductsV3_universal_d_WeightUnit: typeof WeightUnit;\n  type storesCatalogV3ProductProductsV3_universal_d_BreadcrumbsInfo = BreadcrumbsInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_BreadCrumb = BreadCrumb;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantsInfo = VariantsInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_Variant = Variant;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantTypedPropertiesOneOf = VariantTypedPropertiesOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_OptionChoice = OptionChoice;\n  type storesCatalogV3ProductProductsV3_universal_d_OptionChoiceIds = OptionChoiceIds;\n  type storesCatalogV3ProductProductsV3_universal_d_OptionChoiceNames = OptionChoiceNames;\n  type storesCatalogV3ProductProductsV3_universal_d_PriceInfo = PriceInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_RevenueDetails = RevenueDetails;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantPhysicalProperties = VariantPhysicalProperties;\n  type storesCatalogV3ProductProductsV3_universal_d_PricePerUnit = PricePerUnit;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantDigitalProperties = VariantDigitalProperties;\n  type storesCatalogV3ProductProductsV3_universal_d_SecuredMedia = SecuredMedia;\n  type storesCatalogV3ProductProductsV3_universal_d_FileType = FileType;\n  const storesCatalogV3ProductProductsV3_universal_d_FileType: typeof FileType;\n  type storesCatalogV3ProductProductsV3_universal_d_SubscriptionPricesInfo = SubscriptionPricesInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_SubscriptionPrice = SubscriptionPrice;\n  type storesCatalogV3ProductProductsV3_universal_d_SubscriptionPricePerUnit = SubscriptionPricePerUnit;\n  type storesCatalogV3ProductProductsV3_universal_d_InventoryStatus = InventoryStatus;\n  type storesCatalogV3ProductProductsV3_universal_d_ExtendedFields = ExtendedFields;\n  type storesCatalogV3ProductProductsV3_universal_d_SubscriptionDetails = SubscriptionDetails;\n  type storesCatalogV3ProductProductsV3_universal_d_Subscription = Subscription;\n  type storesCatalogV3ProductProductsV3_universal_d_SubscriptionCyclesOneOf = SubscriptionCyclesOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_SubscriptionFrequency = SubscriptionFrequency;\n  const storesCatalogV3ProductProductsV3_universal_d_SubscriptionFrequency: typeof SubscriptionFrequency;\n  type storesCatalogV3ProductProductsV3_universal_d_SubscriptionDiscount = SubscriptionDiscount;\n  type storesCatalogV3ProductProductsV3_universal_d_SubscriptionDiscountDiscountOneOf = SubscriptionDiscountDiscountOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_DiscountType = DiscountType;\n  const storesCatalogV3ProductProductsV3_universal_d_DiscountType: typeof DiscountType;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantSummary = VariantSummary;\n  type storesCatalogV3ProductProductsV3_universal_d_MinVariantPriceInfo = MinVariantPriceInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateDocumentsEvent = UpdateDocumentsEvent;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateDocumentsEventOperationOneOf = UpdateDocumentsEventOperationOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_DocumentUpdateOperation = DocumentUpdateOperation;\n  type storesCatalogV3ProductProductsV3_universal_d_IndexDocument = IndexDocument;\n  type storesCatalogV3ProductProductsV3_universal_d_DocumentPayload = DocumentPayload;\n  type storesCatalogV3ProductProductsV3_universal_d_DocumentImage = DocumentImage;\n  type storesCatalogV3ProductProductsV3_universal_d_Enum = Enum;\n  const storesCatalogV3ProductProductsV3_universal_d_Enum: typeof Enum;\n  type storesCatalogV3ProductProductsV3_universal_d_DeleteByIdsOperation = DeleteByIdsOperation;\n  type storesCatalogV3ProductProductsV3_universal_d_DeleteByFilterOperation = DeleteByFilterOperation;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateByFilterOperation = UpdateByFilterOperation;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateExistingOperation = UpdateExistingOperation;\n  type storesCatalogV3ProductProductsV3_universal_d_SearchIndexingNotification = SearchIndexingNotification;\n  type storesCatalogV3ProductProductsV3_universal_d_CreateProductRequest = CreateProductRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_SingleEntityOpsRequestedFields = SingleEntityOpsRequestedFields;\n  const storesCatalogV3ProductProductsV3_universal_d_SingleEntityOpsRequestedFields: typeof SingleEntityOpsRequestedFields;\n  type storesCatalogV3ProductProductsV3_universal_d_CreateProductResponse = CreateProductResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantsNotAlignedWithProduct = VariantsNotAlignedWithProduct;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantNotAlignedWithProduct = VariantNotAlignedWithProduct;\n  type storesCatalogV3ProductProductsV3_universal_d_CreateProductWithInventoryRequest = CreateProductWithInventoryRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductWithInventory = ProductWithInventory;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductWithInventoryTypedPropertiesOneOf = ProductWithInventoryTypedPropertiesOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_V3VariantsInfo = V3VariantsInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantWithInventory = VariantWithInventory;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantWithInventoryTypedPropertiesOneOf = VariantWithInventoryTypedPropertiesOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_InventoryItemComposite = InventoryItemComposite;\n  type storesCatalogV3ProductProductsV3_universal_d_InventoryItemCompositeTrackingMethodOneOf = InventoryItemCompositeTrackingMethodOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_PreorderInfo = PreorderInfo;\n  type storesCatalogV3ProductProductsV3_universal_d_OptionChoiceReferences = OptionChoiceReferences;\n  type storesCatalogV3ProductProductsV3_universal_d_V3OptionChoiceIds = V3OptionChoiceIds;\n  type storesCatalogV3ProductProductsV3_universal_d_V3OptionChoiceNames = V3OptionChoiceNames;\n  type storesCatalogV3ProductProductsV3_universal_d_CreateProductWithInventoryResponse = CreateProductWithInventoryResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkInventoryItemResults = BulkInventoryItemResults;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkInventoryItemResult = BulkInventoryItemResult;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonItemMetadata = CommonItemMetadata;\n  type storesCatalogV3ProductProductsV3_universal_d_InventoryItem = InventoryItem;\n  type storesCatalogV3ProductProductsV3_universal_d_InventoryItemTrackingMethodOneOf = InventoryItemTrackingMethodOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_AvailabilityStatus = AvailabilityStatus;\n  const storesCatalogV3ProductProductsV3_universal_d_AvailabilityStatus: typeof AvailabilityStatus;\n  type storesCatalogV3ProductProductsV3_universal_d_Product = Product;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonBulkActionMetadata = CommonBulkActionMetadata;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateProductRequest = UpdateProductRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateProductResponse = UpdateProductResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_UnsupportedFieldMasks = UnsupportedFieldMasks;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateProductWithInventoryRequest = UpdateProductWithInventoryRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateProductWithInventoryResponse = UpdateProductWithInventoryResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsRequest = BulkCreateProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsResponse = BulkCreateProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_CatalogV3BulkProductResult = CatalogV3BulkProductResult;\n  type storesCatalogV3ProductProductsV3_universal_d_WixCommonItemMetadata = WixCommonItemMetadata;\n  type storesCatalogV3ProductProductsV3_universal_d_InvalidDigitalFileIds = InvalidDigitalFileIds;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsWithInventoryRequest = BulkCreateProductsWithInventoryRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsWithInventoryResponse = BulkCreateProductsWithInventoryResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkProductResults = BulkProductResults;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsRequest = BulkUpdateProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3MaskedProduct = V3MaskedProduct;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsResponse = BulkUpdateProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsWithInventoryRequest = BulkUpdateProductsWithInventoryRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_MaskedProductWithInventory = MaskedProductWithInventory;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsWithInventoryResponse = BulkUpdateProductsWithInventoryResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkUpdateProductsByFilterRequest = V3BulkUpdateProductsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_WixCommonSearchDetails = WixCommonSearchDetails;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonSearchDetailsMode = CommonSearchDetailsMode;\n  const storesCatalogV3ProductProductsV3_universal_d_CommonSearchDetailsMode: typeof CommonSearchDetailsMode;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkUpdateProductsByFilterResponse = V3BulkUpdateProductsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3UpdateExtendedFieldsRequest = V3UpdateExtendedFieldsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3UpdateExtendedFieldsResponse = V3UpdateExtendedFieldsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3DeleteProductRequest = V3DeleteProductRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3DeleteProductResponse = V3DeleteProductResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkDeleteProductsRequest = V3BulkDeleteProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkDeleteProductsResponse = V3BulkDeleteProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsResponseBulkProductResult = BulkDeleteProductsResponseBulkProductResult;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkDeleteProductsByFilterRequest = V3BulkDeleteProductsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkDeleteProductsByFilterResponse = V3BulkDeleteProductsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3GetProductRequest = V3GetProductRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3GetProductResponse = V3GetProductResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3GetProductBySlugRequest = V3GetProductBySlugRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3GetProductBySlugResponse = V3GetProductBySlugResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3SearchProductsRequest = V3SearchProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonCursorSearch = CommonCursorSearch;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonCursorSearchPagingMethodOneOf = CommonCursorSearchPagingMethodOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_WixCommonSorting = WixCommonSorting;\n  type storesCatalogV3ProductProductsV3_universal_d_WixCommonSortOrder = WixCommonSortOrder;\n  const storesCatalogV3ProductProductsV3_universal_d_WixCommonSortOrder: typeof WixCommonSortOrder;\n  type storesCatalogV3ProductProductsV3_universal_d_WixCommonAggregation = WixCommonAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_WixCommonAggregationKindOneOf = WixCommonAggregationKindOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationRangeAggregationRangeBucket = AggregationRangeAggregationRangeBucket;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationSortType = AggregationValueAggregationSortType;\n  const storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationSortType: typeof AggregationValueAggregationSortType;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationSortDirection = AggregationValueAggregationSortDirection;\n  const storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationSortDirection: typeof AggregationValueAggregationSortDirection;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationMissingValues = AggregationValueAggregationMissingValues;\n  const storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationMissingValues: typeof AggregationValueAggregationMissingValues;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationIncludeMissingValuesOptions = AggregationValueAggregationIncludeMissingValuesOptions;\n  type storesCatalogV3ProductProductsV3_universal_d_WixCommonScalarType = WixCommonScalarType;\n  const storesCatalogV3ProductProductsV3_universal_d_WixCommonScalarType: typeof WixCommonScalarType;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonAggregationValueAggregation = CommonAggregationValueAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonAggregationValueAggregationOptionsOneOf = CommonAggregationValueAggregationOptionsOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationNestedAggregationNestedAggregationType = AggregationNestedAggregationNestedAggregationType;\n  const storesCatalogV3ProductProductsV3_universal_d_AggregationNestedAggregationNestedAggregationType: typeof AggregationNestedAggregationNestedAggregationType;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonAggregationRangeAggregation = CommonAggregationRangeAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonAggregationScalarAggregation = CommonAggregationScalarAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonAggregationDateHistogramAggregation = CommonAggregationDateHistogramAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationDateHistogramAggregationInterval = AggregationDateHistogramAggregationInterval;\n  const storesCatalogV3ProductProductsV3_universal_d_AggregationDateHistogramAggregationInterval: typeof AggregationDateHistogramAggregationInterval;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationNestedAggregationNestedAggregationItem = AggregationNestedAggregationNestedAggregationItem;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationNestedAggregationNestedAggregationItemKindOneOf = AggregationNestedAggregationNestedAggregationItemKindOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_WixCommonAggregationType = WixCommonAggregationType;\n  const storesCatalogV3ProductProductsV3_universal_d_WixCommonAggregationType: typeof WixCommonAggregationType;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonAggregationNestedAggregation = CommonAggregationNestedAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonCursorPaging = CommonCursorPaging;\n  type storesCatalogV3ProductProductsV3_universal_d_V3SearchProductsResponse = V3SearchProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonCursorPagingMetadata = CommonCursorPagingMetadata;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonCursors = CommonCursors;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonAggregationData = CommonAggregationData;\n  type storesCatalogV3ProductProductsV3_universal_d_ValueResultsValueAggregationResult = ValueResultsValueAggregationResult;\n  type storesCatalogV3ProductProductsV3_universal_d_RangeResultsRangeAggregationResult = RangeResultsRangeAggregationResult;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationResultsNestedAggregationResults = AggregationResultsNestedAggregationResults;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationResultsNestedAggregationResultsResultOneOf = AggregationResultsNestedAggregationResultsResultOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationResultsValueResults = AggregationResultsValueResults;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationResultsRangeResults = AggregationResultsRangeResults;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationDataAggregationResultsScalarResult = AggregationDataAggregationResultsScalarResult;\n  type storesCatalogV3ProductProductsV3_universal_d_GroupByValueResultsNestedValueAggregationResult = GroupByValueResultsNestedValueAggregationResult;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedResultsValueResult = NestedResultsValueResult;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedResultsRangeResult = NestedResultsRangeResult;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedResultsScalarResult = NestedResultsScalarResult;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedResultsNestedResultValue = NestedResultsNestedResultValue;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedResultsNestedResultValueResultOneOf = NestedResultsNestedResultValueResultOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedResultsResults = NestedResultsResults;\n  type storesCatalogV3ProductProductsV3_universal_d_DateHistogramResultsDateHistogramResult = DateHistogramResultsDateHistogramResult;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationResultsGroupByValueResults = AggregationResultsGroupByValueResults;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationResultsDateHistogramResults = AggregationResultsDateHistogramResults;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationResultsNestedResults = AggregationResultsNestedResults;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationDataAggregationResults = AggregationDataAggregationResults;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationDataAggregationResultsResultOneOf = AggregationDataAggregationResultsResultOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_V3QueryProductsRequest = V3QueryProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonCursorQuery = CommonCursorQuery;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonCursorQueryPagingMethodOneOf = CommonCursorQueryPagingMethodOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_V3QueryProductsResponse = V3QueryProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3CountProductsRequest = V3CountProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3CountProductsResponse = V3CountProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductVariantsByFilterRequest = BulkUpdateProductVariantsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductVariantsByFilterResponse = BulkUpdateProductVariantsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAdjustProductVariantsByFilterRequest = BulkAdjustProductVariantsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3AdjustValue = V3AdjustValue;\n  type storesCatalogV3ProductProductsV3_universal_d_V3AdjustValueAdjustValueOneOf = V3AdjustValueAdjustValueOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_V3UnsignedAdjustValue = V3UnsignedAdjustValue;\n  type storesCatalogV3ProductProductsV3_universal_d_V3UnsignedAdjustValueAdjustValueOneOf = V3UnsignedAdjustValueAdjustValueOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAdjustProductVariantsByFilterRequestRoundingStrategy = BulkAdjustProductVariantsByFilterRequestRoundingStrategy;\n  const storesCatalogV3ProductProductsV3_universal_d_BulkAdjustProductVariantsByFilterRequestRoundingStrategy: typeof BulkAdjustProductVariantsByFilterRequestRoundingStrategy;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAdjustProductVariantsByFilterResponse = BulkAdjustProductVariantsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkAddInfoSectionsToProductsByFilterRequest = V3BulkAddInfoSectionsToProductsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkAddInfoSectionsToProductsByFilterResponse = V3BulkAddInfoSectionsToProductsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkAddInfoSectionsToProductsRequest = V3BulkAddInfoSectionsToProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3ProductIdWithRevision = V3ProductIdWithRevision;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkAddInfoSectionsToProductsResponse = V3BulkAddInfoSectionsToProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkRemoveInfoSectionsFromProductsByFilterRequest = V3BulkRemoveInfoSectionsFromProductsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkRemoveInfoSectionsFromProductsByFilterResponse = V3BulkRemoveInfoSectionsFromProductsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkRemoveInfoSectionsFromProductsRequest = V3BulkRemoveInfoSectionsFromProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkRemoveInfoSectionsFromProductsResponse = V3BulkRemoveInfoSectionsFromProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAddProductsToCategoriesByFilterRequest = BulkAddProductsToCategoriesByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAddProductsToCategoriesByFilterResponse = BulkAddProductsToCategoriesByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkRemoveProductsFromCategoriesByFilterRequest = BulkRemoveProductsFromCategoriesByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkRemoveProductsFromCategoriesByFilterResponse = BulkRemoveProductsFromCategoriesByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_DoNotCallCreateProductRequest = DoNotCallCreateProductRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_DoNotCallCreateProductResponse = DoNotCallCreateProductResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_GetProductRequest = GetProductRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_GetProductResponse = GetProductResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_GetProductBySlugRequest = GetProductBySlugRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_GetProductBySlugResponse = GetProductBySlugResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_DoNotCallUpdateProductRequest = DoNotCallUpdateProductRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_DoNotCallUpdateProductResponse = DoNotCallUpdateProductResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantsRemoved = VariantsRemoved;\n  type storesCatalogV3ProductProductsV3_universal_d_DeleteProductRequest = DeleteProductRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_DeleteProductResponse = DeleteProductResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_SearchProductsRequest = SearchProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_CursorSearch = CursorSearch;\n  type storesCatalogV3ProductProductsV3_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_Aggregation = Aggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_RangeBucket = RangeBucket;\n  type storesCatalogV3ProductProductsV3_universal_d_SortType = SortType;\n  const storesCatalogV3ProductProductsV3_universal_d_SortType: typeof SortType;\n  type storesCatalogV3ProductProductsV3_universal_d_SortDirection = SortDirection;\n  const storesCatalogV3ProductProductsV3_universal_d_SortDirection: typeof SortDirection;\n  type storesCatalogV3ProductProductsV3_universal_d_MissingValues = MissingValues;\n  const storesCatalogV3ProductProductsV3_universal_d_MissingValues: typeof MissingValues;\n  type storesCatalogV3ProductProductsV3_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n  type storesCatalogV3ProductProductsV3_universal_d_ScalarType = ScalarType;\n  const storesCatalogV3ProductProductsV3_universal_d_ScalarType: typeof ScalarType;\n  type storesCatalogV3ProductProductsV3_universal_d_ValueAggregation = ValueAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedAggregationType = NestedAggregationType;\n  const storesCatalogV3ProductProductsV3_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type storesCatalogV3ProductProductsV3_universal_d_RangeAggregation = RangeAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_ScalarAggregation = ScalarAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_Interval = Interval;\n  const storesCatalogV3ProductProductsV3_universal_d_Interval: typeof Interval;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationType = AggregationType;\n  const storesCatalogV3ProductProductsV3_universal_d_AggregationType: typeof AggregationType;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedAggregation = NestedAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_SearchDetails = SearchDetails;\n  type storesCatalogV3ProductProductsV3_universal_d_Mode = Mode;\n  const storesCatalogV3ProductProductsV3_universal_d_Mode: typeof Mode;\n  type storesCatalogV3ProductProductsV3_universal_d_SearchProductsResponse = SearchProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationData = AggregationData;\n  type storesCatalogV3ProductProductsV3_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type storesCatalogV3ProductProductsV3_universal_d_RangeAggregationResult = RangeAggregationResult;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedAggregationResults = NestedAggregationResults;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_ValueResults = ValueResults;\n  type storesCatalogV3ProductProductsV3_universal_d_RangeResults = RangeResults;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n  type storesCatalogV3ProductProductsV3_universal_d_ValueResult = ValueResult;\n  type storesCatalogV3ProductProductsV3_universal_d_RangeResult = RangeResult;\n  type storesCatalogV3ProductProductsV3_universal_d_ScalarResult = ScalarResult;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedResultValue = NestedResultValue;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_Results = Results;\n  type storesCatalogV3ProductProductsV3_universal_d_DateHistogramResult = DateHistogramResult;\n  type storesCatalogV3ProductProductsV3_universal_d_GroupByValueResults = GroupByValueResults;\n  type storesCatalogV3ProductProductsV3_universal_d_DateHistogramResults = DateHistogramResults;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedResults = NestedResults;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationResults = AggregationResults;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_SearchRelatedProductsRequest = SearchRelatedProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_SearchRelated = SearchRelated;\n  type storesCatalogV3ProductProductsV3_universal_d_SearchRelatedDetails = SearchRelatedDetails;\n  type storesCatalogV3ProductProductsV3_universal_d_SearchRelatedProductsResponse = SearchRelatedProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_EventuallyConsistentQueryProductsRequest = EventuallyConsistentQueryProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_EventuallyConsistentQueryProductsResponse = EventuallyConsistentQueryProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_QueryProductsRequest = QueryProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_QueryProductsResponse = QueryProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_DeprecatedSearchProductsWithOffsetRequest = DeprecatedSearchProductsWithOffsetRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_PlatformOffsetSearch = PlatformOffsetSearch;\n  type storesCatalogV3ProductProductsV3_universal_d_PlatformOffsetSearchPagingMethodOneOf = PlatformOffsetSearchPagingMethodOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonSorting = CommonSorting;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonSortOrder = CommonSortOrder;\n  const storesCatalogV3ProductProductsV3_universal_d_CommonSortOrder: typeof CommonSortOrder;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonAggregation = CommonAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonAggregationKindOneOf = CommonAggregationKindOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_RangeAggregationRangeBucket = RangeAggregationRangeBucket;\n  type storesCatalogV3ProductProductsV3_universal_d_ValueAggregationSortType = ValueAggregationSortType;\n  const storesCatalogV3ProductProductsV3_universal_d_ValueAggregationSortType: typeof ValueAggregationSortType;\n  type storesCatalogV3ProductProductsV3_universal_d_ValueAggregationSortDirection = ValueAggregationSortDirection;\n  const storesCatalogV3ProductProductsV3_universal_d_ValueAggregationSortDirection: typeof ValueAggregationSortDirection;\n  type storesCatalogV3ProductProductsV3_universal_d_ValueAggregationMissingValues = ValueAggregationMissingValues;\n  const storesCatalogV3ProductProductsV3_universal_d_ValueAggregationMissingValues: typeof ValueAggregationMissingValues;\n  type storesCatalogV3ProductProductsV3_universal_d_ValueAggregationIncludeMissingValuesOptions = ValueAggregationIncludeMissingValuesOptions;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonScalarType = CommonScalarType;\n  const storesCatalogV3ProductProductsV3_universal_d_CommonScalarType: typeof CommonScalarType;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregation = AggregationValueAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationOptionsOneOf = AggregationValueAggregationOptionsOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedAggregationNestedAggregationType = NestedAggregationNestedAggregationType;\n  const storesCatalogV3ProductProductsV3_universal_d_NestedAggregationNestedAggregationType: typeof NestedAggregationNestedAggregationType;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationRangeAggregation = AggregationRangeAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationScalarAggregation = AggregationScalarAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationDateHistogramAggregation = AggregationDateHistogramAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_DateHistogramAggregationInterval = DateHistogramAggregationInterval;\n  const storesCatalogV3ProductProductsV3_universal_d_DateHistogramAggregationInterval: typeof DateHistogramAggregationInterval;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedAggregationNestedAggregationItem = NestedAggregationNestedAggregationItem;\n  type storesCatalogV3ProductProductsV3_universal_d_NestedAggregationNestedAggregationItemKindOneOf = NestedAggregationNestedAggregationItemKindOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonAggregationType = CommonAggregationType;\n  const storesCatalogV3ProductProductsV3_universal_d_CommonAggregationType: typeof CommonAggregationType;\n  type storesCatalogV3ProductProductsV3_universal_d_AggregationNestedAggregation = AggregationNestedAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_GroupByAggregation = GroupByAggregation;\n  type storesCatalogV3ProductProductsV3_universal_d_GroupByAggregationKindOneOf = GroupByAggregationKindOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_CommonSearchDetails = CommonSearchDetails;\n  type storesCatalogV3ProductProductsV3_universal_d_SearchDetailsMode = SearchDetailsMode;\n  const storesCatalogV3ProductProductsV3_universal_d_SearchDetailsMode: typeof SearchDetailsMode;\n  type storesCatalogV3ProductProductsV3_universal_d_PlatformPaging = PlatformPaging;\n  type storesCatalogV3ProductProductsV3_universal_d_DeprecatedSearchProductsWithOffsetResponse = DeprecatedSearchProductsWithOffsetResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_PagingMetadata = PagingMetadata;\n  type storesCatalogV3ProductProductsV3_universal_d_RetrieveVariantsRequest = RetrieveVariantsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductVariantIds = ProductVariantIds;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantsCursorPaging = VariantsCursorPaging;\n  type storesCatalogV3ProductProductsV3_universal_d_VariantsOpsRequestedFields = VariantsOpsRequestedFields;\n  const storesCatalogV3ProductProductsV3_universal_d_VariantsOpsRequestedFields: typeof VariantsOpsRequestedFields;\n  type storesCatalogV3ProductProductsV3_universal_d_RetrieveVariantsResponse = RetrieveVariantsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductVariants = ProductVariants;\n  type storesCatalogV3ProductProductsV3_universal_d_CountProductsRequest = CountProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_CountProductsResponse = CountProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_DoNotCallBulkCreateProductsRequest = DoNotCallBulkCreateProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_DoNotCallBulkCreateProductsResponse = DoNotCallBulkCreateProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkProductResult = V3BulkProductResult;\n  type storesCatalogV3ProductProductsV3_universal_d_DoNotCallBulkUpdateProductsRequest = DoNotCallBulkUpdateProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_MaskedProduct = MaskedProduct;\n  type storesCatalogV3ProductProductsV3_universal_d_DoNotCallBulkUpdateProductsResponse = DoNotCallBulkUpdateProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsByFilterRequest = BulkUpdateProductsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsByFilterResponse = BulkUpdateProductsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsRequest = BulkDeleteProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsResponse = BulkDeleteProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkProductResult = BulkProductResult;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsByFilterRequest = BulkDeleteProductsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsByFilterResponse = BulkDeleteProductsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsByFilterRequest = BulkAddInfoSectionsToProductsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsByFilterResponse = BulkAddInfoSectionsToProductsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_FulfillerDeleted = FulfillerDeleted;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsRequest = BulkAddInfoSectionsToProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductIdWithRevision = ProductIdWithRevision;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsResponse = BulkAddInfoSectionsToProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsByFilterRequest = BulkRemoveInfoSectionsFromProductsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsByFilterResponse = BulkRemoveInfoSectionsFromProductsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsRequest = BulkRemoveInfoSectionsFromProductsRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsResponse = BulkRemoveInfoSectionsFromProductsResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateVariantsByFilterRequest = BulkUpdateVariantsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateVariantsByFilterResponse = BulkUpdateVariantsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkAdjustProductVariantsByFilterRequest = V3BulkAdjustProductVariantsByFilterRequest;\n  type storesCatalogV3ProductProductsV3_universal_d_AdjustValue = AdjustValue;\n  type storesCatalogV3ProductProductsV3_universal_d_AdjustValueAdjustValueOneOf = AdjustValueAdjustValueOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_UnsignedAdjustValue = UnsignedAdjustValue;\n  type storesCatalogV3ProductProductsV3_universal_d_UnsignedAdjustValueAdjustValueOneOf = UnsignedAdjustValueAdjustValueOneOf;\n  type storesCatalogV3ProductProductsV3_universal_d_RoundingStrategy = RoundingStrategy;\n  const storesCatalogV3ProductProductsV3_universal_d_RoundingStrategy: typeof RoundingStrategy;\n  type storesCatalogV3ProductProductsV3_universal_d_V3BulkAdjustProductVariantsByFilterResponse = V3BulkAdjustProductVariantsByFilterResponse;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkInventoryItemAction = BulkInventoryItemAction;\n  const storesCatalogV3ProductProductsV3_universal_d_createProduct: typeof createProduct;\n  type storesCatalogV3ProductProductsV3_universal_d_CreateProductOptions = CreateProductOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_createProductWithInventory: typeof createProductWithInventory;\n  type storesCatalogV3ProductProductsV3_universal_d_CreateProductWithInventoryOptions = CreateProductWithInventoryOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_updateProduct: typeof updateProduct;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateProduct = UpdateProduct;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateProductOptions = UpdateProductOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_updateProductWithInventory: typeof updateProductWithInventory;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateProductWithInventoryProduct = UpdateProductWithInventoryProduct;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateProductWithInventoryOptions = UpdateProductWithInventoryOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkCreateProducts: typeof bulkCreateProducts;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsOptions = BulkCreateProductsOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkCreateProductsWithInventory: typeof bulkCreateProductsWithInventory;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsWithInventoryOptions = BulkCreateProductsWithInventoryOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkUpdateProducts: typeof bulkUpdateProducts;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsOptions = BulkUpdateProductsOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkUpdateProductsWithInventory: typeof bulkUpdateProductsWithInventory;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsWithInventoryOptions = BulkUpdateProductsWithInventoryOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkUpdateProductsByFilter: typeof bulkUpdateProductsByFilter;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsByFilterOptions = BulkUpdateProductsByFilterOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type storesCatalogV3ProductProductsV3_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_deleteProduct: typeof deleteProduct;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkDeleteProducts: typeof bulkDeleteProducts;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkDeleteProductsByFilter: typeof bulkDeleteProductsByFilter;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsByFilterOptions = BulkDeleteProductsByFilterOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_getProduct: typeof getProduct;\n  type storesCatalogV3ProductProductsV3_universal_d_GetProductOptions = GetProductOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_getProductBySlug: typeof getProductBySlug;\n  type storesCatalogV3ProductProductsV3_universal_d_GetProductBySlugOptions = GetProductBySlugOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_searchProducts: typeof searchProducts;\n  type storesCatalogV3ProductProductsV3_universal_d_SearchProductsOptions = SearchProductsOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_queryProducts: typeof queryProducts;\n  type storesCatalogV3ProductProductsV3_universal_d_QueryProductsOptions = QueryProductsOptions;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductsQueryResult = ProductsQueryResult;\n  type storesCatalogV3ProductProductsV3_universal_d_ProductsQueryBuilder = ProductsQueryBuilder;\n  const storesCatalogV3ProductProductsV3_universal_d_countProducts: typeof countProducts;\n  type storesCatalogV3ProductProductsV3_universal_d_CountProductsOptions = CountProductsOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkUpdateProductVariantsByFilter: typeof bulkUpdateProductVariantsByFilter;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductVariantsByFilterOptions = BulkUpdateProductVariantsByFilterOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkAdjustProductVariantsByFilter: typeof bulkAdjustProductVariantsByFilter;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAdjustProductVariantsByFilterOptions = BulkAdjustProductVariantsByFilterOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkAddInfoSectionsToProductsByFilter: typeof bulkAddInfoSectionsToProductsByFilter;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsByFilterOptions = BulkAddInfoSectionsToProductsByFilterOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkAddInfoSectionsToProducts: typeof bulkAddInfoSectionsToProducts;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsOptions = BulkAddInfoSectionsToProductsOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkRemoveInfoSectionsFromProductsByFilter: typeof bulkRemoveInfoSectionsFromProductsByFilter;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsByFilterOptions = BulkRemoveInfoSectionsFromProductsByFilterOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkRemoveInfoSectionsFromProducts: typeof bulkRemoveInfoSectionsFromProducts;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsOptions = BulkRemoveInfoSectionsFromProductsOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkAddProductsToCategoriesByFilter: typeof bulkAddProductsToCategoriesByFilter;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkAddProductsToCategoriesByFilterOptions = BulkAddProductsToCategoriesByFilterOptions;\n  const storesCatalogV3ProductProductsV3_universal_d_bulkRemoveProductsFromCategoriesByFilter: typeof bulkRemoveProductsFromCategoriesByFilter;\n  type storesCatalogV3ProductProductsV3_universal_d_BulkRemoveProductsFromCategoriesByFilterOptions = BulkRemoveProductsFromCategoriesByFilterOptions;\n  namespace storesCatalogV3ProductProductsV3_universal_d {\n    export {\n      storesCatalogV3ProductProductsV3_universal_d_V3Product as V3Product,\n      storesCatalogV3ProductProductsV3_universal_d_V3ProductTypedPropertiesOneOf as V3ProductTypedPropertiesOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_RichContent as RichContent,\n      storesCatalogV3ProductProductsV3_universal_d_Node as Node,\n      storesCatalogV3ProductProductsV3_universal_d_NodeDataOneOf as NodeDataOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_NodeType as NodeType,\n      storesCatalogV3ProductProductsV3_universal_d_NodeStyle as NodeStyle,\n      storesCatalogV3ProductProductsV3_universal_d_ButtonData as ButtonData,\n      storesCatalogV3ProductProductsV3_universal_d_Border as Border,\n      storesCatalogV3ProductProductsV3_universal_d_Colors as Colors,\n      storesCatalogV3ProductProductsV3_universal_d_PluginContainerData as PluginContainerData,\n      storesCatalogV3ProductProductsV3_universal_d_WidthType as WidthType,\n      storesCatalogV3ProductProductsV3_universal_d_PluginContainerDataWidth as PluginContainerDataWidth,\n      storesCatalogV3ProductProductsV3_universal_d_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_PluginContainerDataAlignment as PluginContainerDataAlignment,\n      storesCatalogV3ProductProductsV3_universal_d_Spoiler as Spoiler,\n      storesCatalogV3ProductProductsV3_universal_d_Height as Height,\n      storesCatalogV3ProductProductsV3_universal_d_Type as Type,\n      storesCatalogV3ProductProductsV3_universal_d_Styles as Styles,\n      storesCatalogV3ProductProductsV3_universal_d_Link as Link,\n      storesCatalogV3ProductProductsV3_universal_d_LinkDataOneOf as LinkDataOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_Target as Target,\n      storesCatalogV3ProductProductsV3_universal_d_Rel as Rel,\n      storesCatalogV3ProductProductsV3_universal_d_CodeBlockData as CodeBlockData,\n      storesCatalogV3ProductProductsV3_universal_d_TextStyle as TextStyle,\n      storesCatalogV3ProductProductsV3_universal_d_TextAlignment as TextAlignment,\n      storesCatalogV3ProductProductsV3_universal_d_DividerData as DividerData,\n      storesCatalogV3ProductProductsV3_universal_d_LineStyle as LineStyle,\n      storesCatalogV3ProductProductsV3_universal_d_Width as Width,\n      storesCatalogV3ProductProductsV3_universal_d_Alignment as Alignment,\n      storesCatalogV3ProductProductsV3_universal_d_FileData as FileData,\n      storesCatalogV3ProductProductsV3_universal_d_ViewMode as ViewMode,\n      storesCatalogV3ProductProductsV3_universal_d_FileSource as FileSource,\n      storesCatalogV3ProductProductsV3_universal_d_FileSourceDataOneOf as FileSourceDataOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_PDFSettings as PDFSettings,\n      storesCatalogV3ProductProductsV3_universal_d_GalleryData as GalleryData,\n      storesCatalogV3ProductProductsV3_universal_d_V1Media as V1Media,\n      storesCatalogV3ProductProductsV3_universal_d_Image as Image,\n      storesCatalogV3ProductProductsV3_universal_d_Video as Video,\n      storesCatalogV3ProductProductsV3_universal_d_Item as Item,\n      storesCatalogV3ProductProductsV3_universal_d_ItemDataOneOf as ItemDataOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_GalleryOptions as GalleryOptions,\n      storesCatalogV3ProductProductsV3_universal_d_LayoutType as LayoutType,\n      storesCatalogV3ProductProductsV3_universal_d_Orientation as Orientation,\n      storesCatalogV3ProductProductsV3_universal_d_Crop as Crop,\n      storesCatalogV3ProductProductsV3_universal_d_ThumbnailsAlignment as ThumbnailsAlignment,\n      storesCatalogV3ProductProductsV3_universal_d_Layout as Layout,\n      storesCatalogV3ProductProductsV3_universal_d_ItemStyle as ItemStyle,\n      storesCatalogV3ProductProductsV3_universal_d_Thumbnails as Thumbnails,\n      storesCatalogV3ProductProductsV3_universal_d_GIFData as GIFData,\n      storesCatalogV3ProductProductsV3_universal_d_GIF as GIF,\n      storesCatalogV3ProductProductsV3_universal_d_HeadingData as HeadingData,\n      storesCatalogV3ProductProductsV3_universal_d_HTMLData as HTMLData,\n      storesCatalogV3ProductProductsV3_universal_d_HTMLDataDataOneOf as HTMLDataDataOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_Source as Source,\n      storesCatalogV3ProductProductsV3_universal_d_ImageData as ImageData,\n      storesCatalogV3ProductProductsV3_universal_d_LinkPreviewData as LinkPreviewData,\n      storesCatalogV3ProductProductsV3_universal_d_MapData as MapData,\n      storesCatalogV3ProductProductsV3_universal_d_MapSettings as MapSettings,\n      storesCatalogV3ProductProductsV3_universal_d_MapType as MapType,\n      storesCatalogV3ProductProductsV3_universal_d_ParagraphData as ParagraphData,\n      storesCatalogV3ProductProductsV3_universal_d_PollData as PollData,\n      storesCatalogV3ProductProductsV3_universal_d_ViewRole as ViewRole,\n      storesCatalogV3ProductProductsV3_universal_d_VoteRole as VoteRole,\n      storesCatalogV3ProductProductsV3_universal_d_Permissions as Permissions,\n      storesCatalogV3ProductProductsV3_universal_d_Option as Option,\n      storesCatalogV3ProductProductsV3_universal_d_PollSettings as PollSettings,\n      storesCatalogV3ProductProductsV3_universal_d_PollLayoutType as PollLayoutType,\n      storesCatalogV3ProductProductsV3_universal_d_PollLayoutDirection as PollLayoutDirection,\n      storesCatalogV3ProductProductsV3_universal_d_PollLayout as PollLayout,\n      storesCatalogV3ProductProductsV3_universal_d_OptionLayout as OptionLayout,\n      storesCatalogV3ProductProductsV3_universal_d_BackgroundType as BackgroundType,\n      storesCatalogV3ProductProductsV3_universal_d_Gradient as Gradient,\n      storesCatalogV3ProductProductsV3_universal_d_Background as Background,\n      storesCatalogV3ProductProductsV3_universal_d_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_PollDesign as PollDesign,\n      storesCatalogV3ProductProductsV3_universal_d_OptionDesign as OptionDesign,\n      storesCatalogV3ProductProductsV3_universal_d_Poll as Poll,\n      storesCatalogV3ProductProductsV3_universal_d_PollDataLayout as PollDataLayout,\n      storesCatalogV3ProductProductsV3_universal_d_Design as Design,\n      storesCatalogV3ProductProductsV3_universal_d_TextData as TextData,\n      storesCatalogV3ProductProductsV3_universal_d_Decoration as Decoration,\n      storesCatalogV3ProductProductsV3_universal_d_DecorationDataOneOf as DecorationDataOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_DecorationType as DecorationType,\n      storesCatalogV3ProductProductsV3_universal_d_AnchorData as AnchorData,\n      storesCatalogV3ProductProductsV3_universal_d_ColorData as ColorData,\n      storesCatalogV3ProductProductsV3_universal_d_LinkData as LinkData,\n      storesCatalogV3ProductProductsV3_universal_d_MentionData as MentionData,\n      storesCatalogV3ProductProductsV3_universal_d_FontSizeData as FontSizeData,\n      storesCatalogV3ProductProductsV3_universal_d_FontType as FontType,\n      storesCatalogV3ProductProductsV3_universal_d_SpoilerData as SpoilerData,\n      storesCatalogV3ProductProductsV3_universal_d_AppEmbedData as AppEmbedData,\n      storesCatalogV3ProductProductsV3_universal_d_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_AppType as AppType,\n      storesCatalogV3ProductProductsV3_universal_d_BookingData as BookingData,\n      storesCatalogV3ProductProductsV3_universal_d_EventData as EventData,\n      storesCatalogV3ProductProductsV3_universal_d_VideoData as VideoData,\n      storesCatalogV3ProductProductsV3_universal_d_PlaybackOptions as PlaybackOptions,\n      storesCatalogV3ProductProductsV3_universal_d_EmbedData as EmbedData,\n      storesCatalogV3ProductProductsV3_universal_d_Oembed as Oembed,\n      storesCatalogV3ProductProductsV3_universal_d_CollapsibleListData as CollapsibleListData,\n      storesCatalogV3ProductProductsV3_universal_d_InitialExpandedItems as InitialExpandedItems,\n      storesCatalogV3ProductProductsV3_universal_d_Direction as Direction,\n      storesCatalogV3ProductProductsV3_universal_d_TableData as TableData,\n      storesCatalogV3ProductProductsV3_universal_d_Dimensions as Dimensions,\n      storesCatalogV3ProductProductsV3_universal_d_TableCellData as TableCellData,\n      storesCatalogV3ProductProductsV3_universal_d_VerticalAlignment as VerticalAlignment,\n      storesCatalogV3ProductProductsV3_universal_d_CellStyle as CellStyle,\n      storesCatalogV3ProductProductsV3_universal_d_BorderColors as BorderColors,\n      storesCatalogV3ProductProductsV3_universal_d_NullValue as NullValue,\n      storesCatalogV3ProductProductsV3_universal_d_ListValue as ListValue,\n      storesCatalogV3ProductProductsV3_universal_d_AudioData as AudioData,\n      storesCatalogV3ProductProductsV3_universal_d_OrderedListData as OrderedListData,\n      storesCatalogV3ProductProductsV3_universal_d_BulletedListData as BulletedListData,\n      storesCatalogV3ProductProductsV3_universal_d_BlockquoteData as BlockquoteData,\n      storesCatalogV3ProductProductsV3_universal_d_CaptionData as CaptionData,\n      storesCatalogV3ProductProductsV3_universal_d_Metadata as Metadata,\n      storesCatalogV3ProductProductsV3_universal_d_DocumentStyle as DocumentStyle,\n      storesCatalogV3ProductProductsV3_universal_d_TextNodeStyle as TextNodeStyle,\n      storesCatalogV3ProductProductsV3_universal_d_Media as Media,\n      storesCatalogV3ProductProductsV3_universal_d_ProductMedia as ProductMedia,\n      storesCatalogV3ProductProductsV3_universal_d_ProductMediaSetByOneOf as ProductMediaSetByOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_ProductMediaMediaOneOf as ProductMediaMediaOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_VideoResolution as VideoResolution,\n      storesCatalogV3ProductProductsV3_universal_d_MediaType as MediaType,\n      storesCatalogV3ProductProductsV3_universal_d_Thumbnail as Thumbnail,\n      storesCatalogV3ProductProductsV3_universal_d_MediaItemsInfo as MediaItemsInfo,\n      storesCatalogV3ProductProductsV3_universal_d_SeoSchema as SeoSchema,\n      storesCatalogV3ProductProductsV3_universal_d_Keyword as Keyword,\n      storesCatalogV3ProductProductsV3_universal_d_Tag as Tag,\n      storesCatalogV3ProductProductsV3_universal_d_Settings as Settings,\n      storesCatalogV3ProductProductsV3_universal_d_ConnectedOption as ConnectedOption,\n      storesCatalogV3ProductProductsV3_universal_d_ConnectedOptionOptionSettingsOneOf as ConnectedOptionOptionSettingsOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_ProductOptionRenderType as ProductOptionRenderType,\n      storesCatalogV3ProductProductsV3_universal_d_ChoicesSettings as ChoicesSettings,\n      storesCatalogV3ProductProductsV3_universal_d_ConnectedOptionChoice as ConnectedOptionChoice,\n      storesCatalogV3ProductProductsV3_universal_d_ConnectedOptionChoiceValueOneOf as ConnectedOptionChoiceValueOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_ChoiceType as ChoiceType,\n      storesCatalogV3ProductProductsV3_universal_d_MultipleColors as MultipleColors,\n      storesCatalogV3ProductProductsV3_universal_d_ConnectedModifier as ConnectedModifier,\n      storesCatalogV3ProductProductsV3_universal_d_ConnectedModifierModifierSettingsOneOf as ConnectedModifierModifierSettingsOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_ModifierRenderType as ModifierRenderType,\n      storesCatalogV3ProductProductsV3_universal_d_FreeTextSettings as FreeTextSettings,\n      storesCatalogV3ProductProductsV3_universal_d_ModifierChoicesSettings as ModifierChoicesSettings,\n      storesCatalogV3ProductProductsV3_universal_d_ConnectedModifierChoice as ConnectedModifierChoice,\n      storesCatalogV3ProductProductsV3_universal_d_ConnectedModifierChoiceValueOneOf as ConnectedModifierChoiceValueOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_Brand as Brand,\n      storesCatalogV3ProductProductsV3_universal_d_InfoSection as InfoSection,\n      Ribbon$1 as Ribbon,\n      storesCatalogV3ProductProductsV3_universal_d_ProductCategoriesInfo as ProductCategoriesInfo,\n      storesCatalogV3ProductProductsV3_universal_d_ProductCategory as ProductCategory,\n      storesCatalogV3ProductProductsV3_universal_d_ProductCategoryIdsInfo as ProductCategoryIdsInfo,\n      storesCatalogV3ProductProductsV3_universal_d_PriceRange as PriceRange,\n      storesCatalogV3ProductProductsV3_universal_d_FixedMonetaryAmount as FixedMonetaryAmount,\n      storesCatalogV3ProductProductsV3_universal_d_Inventory as Inventory,\n      storesCatalogV3ProductProductsV3_universal_d_InventoryAvailabilityStatus as InventoryAvailabilityStatus,\n      storesCatalogV3ProductProductsV3_universal_d_PreorderStatus as PreorderStatus,\n      storesCatalogV3ProductProductsV3_universal_d_ProductPreorderAvailability as ProductPreorderAvailability,\n      storesCatalogV3ProductProductsV3_universal_d_ProductType as ProductType,\n      storesCatalogV3ProductProductsV3_universal_d_PhysicalProperties as PhysicalProperties,\n      storesCatalogV3ProductProductsV3_universal_d_PricePerUnitSettings as PricePerUnitSettings,\n      storesCatalogV3ProductProductsV3_universal_d_MeasurementUnit as MeasurementUnit,\n      storesCatalogV3ProductProductsV3_universal_d_WeightRange as WeightRange,\n      storesCatalogV3ProductProductsV3_universal_d_PricePerUnitRange as PricePerUnitRange,\n      storesCatalogV3ProductProductsV3_universal_d_PricePerUnitRangePricePerUnit as PricePerUnitRangePricePerUnit,\n      storesCatalogV3ProductProductsV3_universal_d_WeightMeasurementUnitInfo as WeightMeasurementUnitInfo,\n      storesCatalogV3ProductProductsV3_universal_d_WeightUnit as WeightUnit,\n      storesCatalogV3ProductProductsV3_universal_d_BreadcrumbsInfo as BreadcrumbsInfo,\n      storesCatalogV3ProductProductsV3_universal_d_BreadCrumb as BreadCrumb,\n      storesCatalogV3ProductProductsV3_universal_d_VariantsInfo as VariantsInfo,\n      storesCatalogV3ProductProductsV3_universal_d_Variant as Variant,\n      storesCatalogV3ProductProductsV3_universal_d_VariantTypedPropertiesOneOf as VariantTypedPropertiesOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_OptionChoice as OptionChoice,\n      storesCatalogV3ProductProductsV3_universal_d_OptionChoiceIds as OptionChoiceIds,\n      storesCatalogV3ProductProductsV3_universal_d_OptionChoiceNames as OptionChoiceNames,\n      storesCatalogV3ProductProductsV3_universal_d_PriceInfo as PriceInfo,\n      storesCatalogV3ProductProductsV3_universal_d_RevenueDetails as RevenueDetails,\n      storesCatalogV3ProductProductsV3_universal_d_VariantPhysicalProperties as VariantPhysicalProperties,\n      storesCatalogV3ProductProductsV3_universal_d_PricePerUnit as PricePerUnit,\n      storesCatalogV3ProductProductsV3_universal_d_VariantDigitalProperties as VariantDigitalProperties,\n      storesCatalogV3ProductProductsV3_universal_d_SecuredMedia as SecuredMedia,\n      storesCatalogV3ProductProductsV3_universal_d_FileType as FileType,\n      storesCatalogV3ProductProductsV3_universal_d_SubscriptionPricesInfo as SubscriptionPricesInfo,\n      storesCatalogV3ProductProductsV3_universal_d_SubscriptionPrice as SubscriptionPrice,\n      storesCatalogV3ProductProductsV3_universal_d_SubscriptionPricePerUnit as SubscriptionPricePerUnit,\n      storesCatalogV3ProductProductsV3_universal_d_InventoryStatus as InventoryStatus,\n      storesCatalogV3ProductProductsV3_universal_d_ExtendedFields as ExtendedFields,\n      storesCatalogV3ProductProductsV3_universal_d_SubscriptionDetails as SubscriptionDetails,\n      storesCatalogV3ProductProductsV3_universal_d_Subscription as Subscription,\n      storesCatalogV3ProductProductsV3_universal_d_SubscriptionCyclesOneOf as SubscriptionCyclesOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_SubscriptionFrequency as SubscriptionFrequency,\n      storesCatalogV3ProductProductsV3_universal_d_SubscriptionDiscount as SubscriptionDiscount,\n      storesCatalogV3ProductProductsV3_universal_d_SubscriptionDiscountDiscountOneOf as SubscriptionDiscountDiscountOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_DiscountType as DiscountType,\n      storesCatalogV3ProductProductsV3_universal_d_VariantSummary as VariantSummary,\n      storesCatalogV3ProductProductsV3_universal_d_MinVariantPriceInfo as MinVariantPriceInfo,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateDocumentsEvent as UpdateDocumentsEvent,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateDocumentsEventOperationOneOf as UpdateDocumentsEventOperationOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_DocumentUpdateOperation as DocumentUpdateOperation,\n      storesCatalogV3ProductProductsV3_universal_d_IndexDocument as IndexDocument,\n      storesCatalogV3ProductProductsV3_universal_d_DocumentPayload as DocumentPayload,\n      storesCatalogV3ProductProductsV3_universal_d_DocumentImage as DocumentImage,\n      storesCatalogV3ProductProductsV3_universal_d_Enum as Enum,\n      storesCatalogV3ProductProductsV3_universal_d_DeleteByIdsOperation as DeleteByIdsOperation,\n      storesCatalogV3ProductProductsV3_universal_d_DeleteByFilterOperation as DeleteByFilterOperation,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateByFilterOperation as UpdateByFilterOperation,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateExistingOperation as UpdateExistingOperation,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      Empty$3 as Empty,\n      storesCatalogV3ProductProductsV3_universal_d_SearchIndexingNotification as SearchIndexingNotification,\n      State$1 as State,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      storesCatalogV3ProductProductsV3_universal_d_CreateProductRequest as CreateProductRequest,\n      storesCatalogV3ProductProductsV3_universal_d_SingleEntityOpsRequestedFields as SingleEntityOpsRequestedFields,\n      storesCatalogV3ProductProductsV3_universal_d_CreateProductResponse as CreateProductResponse,\n      storesCatalogV3ProductProductsV3_universal_d_VariantsNotAlignedWithProduct as VariantsNotAlignedWithProduct,\n      storesCatalogV3ProductProductsV3_universal_d_VariantNotAlignedWithProduct as VariantNotAlignedWithProduct,\n      storesCatalogV3ProductProductsV3_universal_d_CreateProductWithInventoryRequest as CreateProductWithInventoryRequest,\n      storesCatalogV3ProductProductsV3_universal_d_ProductWithInventory as ProductWithInventory,\n      storesCatalogV3ProductProductsV3_universal_d_ProductWithInventoryTypedPropertiesOneOf as ProductWithInventoryTypedPropertiesOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_V3VariantsInfo as V3VariantsInfo,\n      storesCatalogV3ProductProductsV3_universal_d_VariantWithInventory as VariantWithInventory,\n      storesCatalogV3ProductProductsV3_universal_d_VariantWithInventoryTypedPropertiesOneOf as VariantWithInventoryTypedPropertiesOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_InventoryItemComposite as InventoryItemComposite,\n      storesCatalogV3ProductProductsV3_universal_d_InventoryItemCompositeTrackingMethodOneOf as InventoryItemCompositeTrackingMethodOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_PreorderInfo as PreorderInfo,\n      storesCatalogV3ProductProductsV3_universal_d_OptionChoiceReferences as OptionChoiceReferences,\n      storesCatalogV3ProductProductsV3_universal_d_V3OptionChoiceIds as V3OptionChoiceIds,\n      storesCatalogV3ProductProductsV3_universal_d_V3OptionChoiceNames as V3OptionChoiceNames,\n      storesCatalogV3ProductProductsV3_universal_d_CreateProductWithInventoryResponse as CreateProductWithInventoryResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkInventoryItemResults as BulkInventoryItemResults,\n      storesCatalogV3ProductProductsV3_universal_d_BulkInventoryItemResult as BulkInventoryItemResult,\n      storesCatalogV3ProductProductsV3_universal_d_CommonItemMetadata as CommonItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      storesCatalogV3ProductProductsV3_universal_d_InventoryItem as InventoryItem,\n      storesCatalogV3ProductProductsV3_universal_d_InventoryItemTrackingMethodOneOf as InventoryItemTrackingMethodOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_AvailabilityStatus as AvailabilityStatus,\n      storesCatalogV3ProductProductsV3_universal_d_Product as Product,\n      storesCatalogV3ProductProductsV3_universal_d_CommonBulkActionMetadata as CommonBulkActionMetadata,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateProductRequest as UpdateProductRequest,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateProductResponse as UpdateProductResponse,\n      storesCatalogV3ProductProductsV3_universal_d_UnsupportedFieldMasks as UnsupportedFieldMasks,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateProductWithInventoryRequest as UpdateProductWithInventoryRequest,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateProductWithInventoryResponse as UpdateProductWithInventoryResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsRequest as BulkCreateProductsRequest,\n      RequestedFields$1 as RequestedFields,\n      storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsResponse as BulkCreateProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_CatalogV3BulkProductResult as CatalogV3BulkProductResult,\n      storesCatalogV3ProductProductsV3_universal_d_WixCommonItemMetadata as WixCommonItemMetadata,\n      storesCatalogV3ProductProductsV3_universal_d_InvalidDigitalFileIds as InvalidDigitalFileIds,\n      storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsWithInventoryRequest as BulkCreateProductsWithInventoryRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsWithInventoryResponse as BulkCreateProductsWithInventoryResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkProductResults as BulkProductResults,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsRequest as BulkUpdateProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3MaskedProduct as V3MaskedProduct,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsResponse as BulkUpdateProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsWithInventoryRequest as BulkUpdateProductsWithInventoryRequest,\n      storesCatalogV3ProductProductsV3_universal_d_MaskedProductWithInventory as MaskedProductWithInventory,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsWithInventoryResponse as BulkUpdateProductsWithInventoryResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkUpdateProductsByFilterRequest as V3BulkUpdateProductsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_WixCommonSearchDetails as WixCommonSearchDetails,\n      storesCatalogV3ProductProductsV3_universal_d_CommonSearchDetailsMode as CommonSearchDetailsMode,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkUpdateProductsByFilterResponse as V3BulkUpdateProductsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3UpdateExtendedFieldsRequest as V3UpdateExtendedFieldsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3UpdateExtendedFieldsResponse as V3UpdateExtendedFieldsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3DeleteProductRequest as V3DeleteProductRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3DeleteProductResponse as V3DeleteProductResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkDeleteProductsRequest as V3BulkDeleteProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkDeleteProductsResponse as V3BulkDeleteProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsResponseBulkProductResult as BulkDeleteProductsResponseBulkProductResult,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkDeleteProductsByFilterRequest as V3BulkDeleteProductsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkDeleteProductsByFilterResponse as V3BulkDeleteProductsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3GetProductRequest as V3GetProductRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3GetProductResponse as V3GetProductResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3GetProductBySlugRequest as V3GetProductBySlugRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3GetProductBySlugResponse as V3GetProductBySlugResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3SearchProductsRequest as V3SearchProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_CommonCursorSearch as CommonCursorSearch,\n      storesCatalogV3ProductProductsV3_universal_d_CommonCursorSearchPagingMethodOneOf as CommonCursorSearchPagingMethodOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_WixCommonSorting as WixCommonSorting,\n      storesCatalogV3ProductProductsV3_universal_d_WixCommonSortOrder as WixCommonSortOrder,\n      storesCatalogV3ProductProductsV3_universal_d_WixCommonAggregation as WixCommonAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_WixCommonAggregationKindOneOf as WixCommonAggregationKindOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationRangeAggregationRangeBucket as AggregationRangeAggregationRangeBucket,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationSortType as AggregationValueAggregationSortType,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationSortDirection as AggregationValueAggregationSortDirection,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationMissingValues as AggregationValueAggregationMissingValues,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationIncludeMissingValuesOptions as AggregationValueAggregationIncludeMissingValuesOptions,\n      storesCatalogV3ProductProductsV3_universal_d_WixCommonScalarType as WixCommonScalarType,\n      storesCatalogV3ProductProductsV3_universal_d_CommonAggregationValueAggregation as CommonAggregationValueAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_CommonAggregationValueAggregationOptionsOneOf as CommonAggregationValueAggregationOptionsOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationNestedAggregationNestedAggregationType as AggregationNestedAggregationNestedAggregationType,\n      storesCatalogV3ProductProductsV3_universal_d_CommonAggregationRangeAggregation as CommonAggregationRangeAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_CommonAggregationScalarAggregation as CommonAggregationScalarAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_CommonAggregationDateHistogramAggregation as CommonAggregationDateHistogramAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationDateHistogramAggregationInterval as AggregationDateHistogramAggregationInterval,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationNestedAggregationNestedAggregationItem as AggregationNestedAggregationNestedAggregationItem,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationNestedAggregationNestedAggregationItemKindOneOf as AggregationNestedAggregationNestedAggregationItemKindOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_WixCommonAggregationType as WixCommonAggregationType,\n      storesCatalogV3ProductProductsV3_universal_d_CommonAggregationNestedAggregation as CommonAggregationNestedAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_CommonCursorPaging as CommonCursorPaging,\n      storesCatalogV3ProductProductsV3_universal_d_V3SearchProductsResponse as V3SearchProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_CommonCursorPagingMetadata as CommonCursorPagingMetadata,\n      storesCatalogV3ProductProductsV3_universal_d_CommonCursors as CommonCursors,\n      storesCatalogV3ProductProductsV3_universal_d_CommonAggregationData as CommonAggregationData,\n      storesCatalogV3ProductProductsV3_universal_d_ValueResultsValueAggregationResult as ValueResultsValueAggregationResult,\n      storesCatalogV3ProductProductsV3_universal_d_RangeResultsRangeAggregationResult as RangeResultsRangeAggregationResult,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationResultsNestedAggregationResults as AggregationResultsNestedAggregationResults,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationResultsNestedAggregationResultsResultOneOf as AggregationResultsNestedAggregationResultsResultOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationResultsValueResults as AggregationResultsValueResults,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationResultsRangeResults as AggregationResultsRangeResults,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationDataAggregationResultsScalarResult as AggregationDataAggregationResultsScalarResult,\n      storesCatalogV3ProductProductsV3_universal_d_GroupByValueResultsNestedValueAggregationResult as GroupByValueResultsNestedValueAggregationResult,\n      storesCatalogV3ProductProductsV3_universal_d_NestedResultsValueResult as NestedResultsValueResult,\n      storesCatalogV3ProductProductsV3_universal_d_NestedResultsRangeResult as NestedResultsRangeResult,\n      storesCatalogV3ProductProductsV3_universal_d_NestedResultsScalarResult as NestedResultsScalarResult,\n      storesCatalogV3ProductProductsV3_universal_d_NestedResultsNestedResultValue as NestedResultsNestedResultValue,\n      storesCatalogV3ProductProductsV3_universal_d_NestedResultsNestedResultValueResultOneOf as NestedResultsNestedResultValueResultOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_NestedResultsResults as NestedResultsResults,\n      storesCatalogV3ProductProductsV3_universal_d_DateHistogramResultsDateHistogramResult as DateHistogramResultsDateHistogramResult,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationResultsGroupByValueResults as AggregationResultsGroupByValueResults,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationResultsDateHistogramResults as AggregationResultsDateHistogramResults,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationResultsNestedResults as AggregationResultsNestedResults,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationDataAggregationResults as AggregationDataAggregationResults,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationDataAggregationResultsResultOneOf as AggregationDataAggregationResultsResultOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_V3QueryProductsRequest as V3QueryProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_CommonCursorQuery as CommonCursorQuery,\n      storesCatalogV3ProductProductsV3_universal_d_CommonCursorQueryPagingMethodOneOf as CommonCursorQueryPagingMethodOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_V3QueryProductsResponse as V3QueryProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3CountProductsRequest as V3CountProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3CountProductsResponse as V3CountProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductVariantsByFilterRequest as BulkUpdateProductVariantsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductVariantsByFilterResponse as BulkUpdateProductVariantsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAdjustProductVariantsByFilterRequest as BulkAdjustProductVariantsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3AdjustValue as V3AdjustValue,\n      storesCatalogV3ProductProductsV3_universal_d_V3AdjustValueAdjustValueOneOf as V3AdjustValueAdjustValueOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_V3UnsignedAdjustValue as V3UnsignedAdjustValue,\n      storesCatalogV3ProductProductsV3_universal_d_V3UnsignedAdjustValueAdjustValueOneOf as V3UnsignedAdjustValueAdjustValueOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAdjustProductVariantsByFilterRequestRoundingStrategy as BulkAdjustProductVariantsByFilterRequestRoundingStrategy,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAdjustProductVariantsByFilterResponse as BulkAdjustProductVariantsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkAddInfoSectionsToProductsByFilterRequest as V3BulkAddInfoSectionsToProductsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkAddInfoSectionsToProductsByFilterResponse as V3BulkAddInfoSectionsToProductsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkAddInfoSectionsToProductsRequest as V3BulkAddInfoSectionsToProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3ProductIdWithRevision as V3ProductIdWithRevision,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkAddInfoSectionsToProductsResponse as V3BulkAddInfoSectionsToProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkRemoveInfoSectionsFromProductsByFilterRequest as V3BulkRemoveInfoSectionsFromProductsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkRemoveInfoSectionsFromProductsByFilterResponse as V3BulkRemoveInfoSectionsFromProductsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkRemoveInfoSectionsFromProductsRequest as V3BulkRemoveInfoSectionsFromProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkRemoveInfoSectionsFromProductsResponse as V3BulkRemoveInfoSectionsFromProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAddProductsToCategoriesByFilterRequest as BulkAddProductsToCategoriesByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAddProductsToCategoriesByFilterResponse as BulkAddProductsToCategoriesByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkRemoveProductsFromCategoriesByFilterRequest as BulkRemoveProductsFromCategoriesByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkRemoveProductsFromCategoriesByFilterResponse as BulkRemoveProductsFromCategoriesByFilterResponse,\n      InvalidateCache$2 as InvalidateCache,\n      InvalidateCacheGetByOneOf$2 as InvalidateCacheGetByOneOf,\n      App$2 as App,\n      Page$2 as Page,\n      URI$2 as URI,\n      File$2 as File,\n      storesCatalogV3ProductProductsV3_universal_d_DoNotCallCreateProductRequest as DoNotCallCreateProductRequest,\n      storesCatalogV3ProductProductsV3_universal_d_DoNotCallCreateProductResponse as DoNotCallCreateProductResponse,\n      storesCatalogV3ProductProductsV3_universal_d_GetProductRequest as GetProductRequest,\n      storesCatalogV3ProductProductsV3_universal_d_GetProductResponse as GetProductResponse,\n      storesCatalogV3ProductProductsV3_universal_d_GetProductBySlugRequest as GetProductBySlugRequest,\n      storesCatalogV3ProductProductsV3_universal_d_GetProductBySlugResponse as GetProductBySlugResponse,\n      storesCatalogV3ProductProductsV3_universal_d_DoNotCallUpdateProductRequest as DoNotCallUpdateProductRequest,\n      storesCatalogV3ProductProductsV3_universal_d_DoNotCallUpdateProductResponse as DoNotCallUpdateProductResponse,\n      storesCatalogV3ProductProductsV3_universal_d_VariantsRemoved as VariantsRemoved,\n      storesCatalogV3ProductProductsV3_universal_d_DeleteProductRequest as DeleteProductRequest,\n      storesCatalogV3ProductProductsV3_universal_d_DeleteProductResponse as DeleteProductResponse,\n      storesCatalogV3ProductProductsV3_universal_d_SearchProductsRequest as SearchProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_CursorSearch as CursorSearch,\n      storesCatalogV3ProductProductsV3_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      storesCatalogV3ProductProductsV3_universal_d_Aggregation as Aggregation,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_RangeBucket as RangeBucket,\n      storesCatalogV3ProductProductsV3_universal_d_SortType as SortType,\n      storesCatalogV3ProductProductsV3_universal_d_SortDirection as SortDirection,\n      storesCatalogV3ProductProductsV3_universal_d_MissingValues as MissingValues,\n      storesCatalogV3ProductProductsV3_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions,\n      storesCatalogV3ProductProductsV3_universal_d_ScalarType as ScalarType,\n      storesCatalogV3ProductProductsV3_universal_d_ValueAggregation as ValueAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_NestedAggregationType as NestedAggregationType,\n      storesCatalogV3ProductProductsV3_universal_d_RangeAggregation as RangeAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_ScalarAggregation as ScalarAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_DateHistogramAggregation as DateHistogramAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_Interval as Interval,\n      storesCatalogV3ProductProductsV3_universal_d_NestedAggregationItem as NestedAggregationItem,\n      storesCatalogV3ProductProductsV3_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationType as AggregationType,\n      storesCatalogV3ProductProductsV3_universal_d_NestedAggregation as NestedAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_SearchDetails as SearchDetails,\n      storesCatalogV3ProductProductsV3_universal_d_Mode as Mode,\n      CursorPaging$2 as CursorPaging,\n      storesCatalogV3ProductProductsV3_universal_d_SearchProductsResponse as SearchProductsResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationData as AggregationData,\n      storesCatalogV3ProductProductsV3_universal_d_ValueAggregationResult as ValueAggregationResult,\n      storesCatalogV3ProductProductsV3_universal_d_RangeAggregationResult as RangeAggregationResult,\n      storesCatalogV3ProductProductsV3_universal_d_NestedAggregationResults as NestedAggregationResults,\n      storesCatalogV3ProductProductsV3_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_ValueResults as ValueResults,\n      storesCatalogV3ProductProductsV3_universal_d_RangeResults as RangeResults,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult,\n      storesCatalogV3ProductProductsV3_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,\n      storesCatalogV3ProductProductsV3_universal_d_ValueResult as ValueResult,\n      storesCatalogV3ProductProductsV3_universal_d_RangeResult as RangeResult,\n      storesCatalogV3ProductProductsV3_universal_d_ScalarResult as ScalarResult,\n      storesCatalogV3ProductProductsV3_universal_d_NestedResultValue as NestedResultValue,\n      storesCatalogV3ProductProductsV3_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_Results as Results,\n      storesCatalogV3ProductProductsV3_universal_d_DateHistogramResult as DateHistogramResult,\n      storesCatalogV3ProductProductsV3_universal_d_GroupByValueResults as GroupByValueResults,\n      storesCatalogV3ProductProductsV3_universal_d_DateHistogramResults as DateHistogramResults,\n      storesCatalogV3ProductProductsV3_universal_d_NestedResults as NestedResults,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationResults as AggregationResults,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_SearchRelatedProductsRequest as SearchRelatedProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_SearchRelated as SearchRelated,\n      storesCatalogV3ProductProductsV3_universal_d_SearchRelatedDetails as SearchRelatedDetails,\n      storesCatalogV3ProductProductsV3_universal_d_SearchRelatedProductsResponse as SearchRelatedProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_EventuallyConsistentQueryProductsRequest as EventuallyConsistentQueryProductsRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_EventuallyConsistentQueryProductsResponse as EventuallyConsistentQueryProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_QueryProductsRequest as QueryProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_QueryProductsResponse as QueryProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_DeprecatedSearchProductsWithOffsetRequest as DeprecatedSearchProductsWithOffsetRequest,\n      storesCatalogV3ProductProductsV3_universal_d_PlatformOffsetSearch as PlatformOffsetSearch,\n      storesCatalogV3ProductProductsV3_universal_d_PlatformOffsetSearchPagingMethodOneOf as PlatformOffsetSearchPagingMethodOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_CommonSorting as CommonSorting,\n      storesCatalogV3ProductProductsV3_universal_d_CommonSortOrder as CommonSortOrder,\n      storesCatalogV3ProductProductsV3_universal_d_CommonAggregation as CommonAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_CommonAggregationKindOneOf as CommonAggregationKindOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_RangeAggregationRangeBucket as RangeAggregationRangeBucket,\n      storesCatalogV3ProductProductsV3_universal_d_ValueAggregationSortType as ValueAggregationSortType,\n      storesCatalogV3ProductProductsV3_universal_d_ValueAggregationSortDirection as ValueAggregationSortDirection,\n      storesCatalogV3ProductProductsV3_universal_d_ValueAggregationMissingValues as ValueAggregationMissingValues,\n      storesCatalogV3ProductProductsV3_universal_d_ValueAggregationIncludeMissingValuesOptions as ValueAggregationIncludeMissingValuesOptions,\n      storesCatalogV3ProductProductsV3_universal_d_CommonScalarType as CommonScalarType,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregation as AggregationValueAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationValueAggregationOptionsOneOf as AggregationValueAggregationOptionsOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_NestedAggregationNestedAggregationType as NestedAggregationNestedAggregationType,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationRangeAggregation as AggregationRangeAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationScalarAggregation as AggregationScalarAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationDateHistogramAggregation as AggregationDateHistogramAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_DateHistogramAggregationInterval as DateHistogramAggregationInterval,\n      storesCatalogV3ProductProductsV3_universal_d_NestedAggregationNestedAggregationItem as NestedAggregationNestedAggregationItem,\n      storesCatalogV3ProductProductsV3_universal_d_NestedAggregationNestedAggregationItemKindOneOf as NestedAggregationNestedAggregationItemKindOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_CommonAggregationType as CommonAggregationType,\n      storesCatalogV3ProductProductsV3_universal_d_AggregationNestedAggregation as AggregationNestedAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_GroupByAggregation as GroupByAggregation,\n      storesCatalogV3ProductProductsV3_universal_d_GroupByAggregationKindOneOf as GroupByAggregationKindOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_CommonSearchDetails as CommonSearchDetails,\n      storesCatalogV3ProductProductsV3_universal_d_SearchDetailsMode as SearchDetailsMode,\n      storesCatalogV3ProductProductsV3_universal_d_PlatformPaging as PlatformPaging,\n      storesCatalogV3ProductProductsV3_universal_d_DeprecatedSearchProductsWithOffsetResponse as DeprecatedSearchProductsWithOffsetResponse,\n      storesCatalogV3ProductProductsV3_universal_d_PagingMetadata as PagingMetadata,\n      storesCatalogV3ProductProductsV3_universal_d_RetrieveVariantsRequest as RetrieveVariantsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_ProductVariantIds as ProductVariantIds,\n      storesCatalogV3ProductProductsV3_universal_d_VariantsCursorPaging as VariantsCursorPaging,\n      storesCatalogV3ProductProductsV3_universal_d_VariantsOpsRequestedFields as VariantsOpsRequestedFields,\n      storesCatalogV3ProductProductsV3_universal_d_RetrieveVariantsResponse as RetrieveVariantsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_ProductVariants as ProductVariants,\n      storesCatalogV3ProductProductsV3_universal_d_CountProductsRequest as CountProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_CountProductsResponse as CountProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_DoNotCallBulkCreateProductsRequest as DoNotCallBulkCreateProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_DoNotCallBulkCreateProductsResponse as DoNotCallBulkCreateProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkProductResult as V3BulkProductResult,\n      ItemMetadata$1 as ItemMetadata,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      storesCatalogV3ProductProductsV3_universal_d_DoNotCallBulkUpdateProductsRequest as DoNotCallBulkUpdateProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_MaskedProduct as MaskedProduct,\n      storesCatalogV3ProductProductsV3_universal_d_DoNotCallBulkUpdateProductsResponse as DoNotCallBulkUpdateProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsByFilterRequest as BulkUpdateProductsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsByFilterResponse as BulkUpdateProductsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsRequest as BulkDeleteProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsResponse as BulkDeleteProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkProductResult as BulkProductResult,\n      storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsByFilterRequest as BulkDeleteProductsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsByFilterResponse as BulkDeleteProductsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsByFilterRequest as BulkAddInfoSectionsToProductsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsByFilterResponse as BulkAddInfoSectionsToProductsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_FulfillerDeleted as FulfillerDeleted,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsRequest as BulkAddInfoSectionsToProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_ProductIdWithRevision as ProductIdWithRevision,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsResponse as BulkAddInfoSectionsToProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsByFilterRequest as BulkRemoveInfoSectionsFromProductsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsByFilterResponse as BulkRemoveInfoSectionsFromProductsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsRequest as BulkRemoveInfoSectionsFromProductsRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsResponse as BulkRemoveInfoSectionsFromProductsResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateVariantsByFilterRequest as BulkUpdateVariantsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateVariantsByFilterResponse as BulkUpdateVariantsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkAdjustProductVariantsByFilterRequest as V3BulkAdjustProductVariantsByFilterRequest,\n      storesCatalogV3ProductProductsV3_universal_d_AdjustValue as AdjustValue,\n      storesCatalogV3ProductProductsV3_universal_d_AdjustValueAdjustValueOneOf as AdjustValueAdjustValueOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_UnsignedAdjustValue as UnsignedAdjustValue,\n      storesCatalogV3ProductProductsV3_universal_d_UnsignedAdjustValueAdjustValueOneOf as UnsignedAdjustValueAdjustValueOneOf,\n      storesCatalogV3ProductProductsV3_universal_d_RoundingStrategy as RoundingStrategy,\n      storesCatalogV3ProductProductsV3_universal_d_V3BulkAdjustProductVariantsByFilterResponse as V3BulkAdjustProductVariantsByFilterResponse,\n      storesCatalogV3ProductProductsV3_universal_d_BulkInventoryItemAction as BulkInventoryItemAction,\n      storesCatalogV3ProductProductsV3_universal_d_createProduct as createProduct,\n      storesCatalogV3ProductProductsV3_universal_d_CreateProductOptions as CreateProductOptions,\n      storesCatalogV3ProductProductsV3_universal_d_createProductWithInventory as createProductWithInventory,\n      storesCatalogV3ProductProductsV3_universal_d_CreateProductWithInventoryOptions as CreateProductWithInventoryOptions,\n      storesCatalogV3ProductProductsV3_universal_d_updateProduct as updateProduct,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateProduct as UpdateProduct,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateProductOptions as UpdateProductOptions,\n      storesCatalogV3ProductProductsV3_universal_d_updateProductWithInventory as updateProductWithInventory,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateProductWithInventoryProduct as UpdateProductWithInventoryProduct,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateProductWithInventoryOptions as UpdateProductWithInventoryOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkCreateProducts as bulkCreateProducts,\n      storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsOptions as BulkCreateProductsOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkCreateProductsWithInventory as bulkCreateProductsWithInventory,\n      storesCatalogV3ProductProductsV3_universal_d_BulkCreateProductsWithInventoryOptions as BulkCreateProductsWithInventoryOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkUpdateProducts as bulkUpdateProducts,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsOptions as BulkUpdateProductsOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkUpdateProductsWithInventory as bulkUpdateProductsWithInventory,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsWithInventoryOptions as BulkUpdateProductsWithInventoryOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkUpdateProductsByFilter as bulkUpdateProductsByFilter,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductsByFilterOptions as BulkUpdateProductsByFilterOptions,\n      storesCatalogV3ProductProductsV3_universal_d_updateExtendedFields as updateExtendedFields,\n      storesCatalogV3ProductProductsV3_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n      storesCatalogV3ProductProductsV3_universal_d_deleteProduct as deleteProduct,\n      storesCatalogV3ProductProductsV3_universal_d_bulkDeleteProducts as bulkDeleteProducts,\n      storesCatalogV3ProductProductsV3_universal_d_bulkDeleteProductsByFilter as bulkDeleteProductsByFilter,\n      storesCatalogV3ProductProductsV3_universal_d_BulkDeleteProductsByFilterOptions as BulkDeleteProductsByFilterOptions,\n      storesCatalogV3ProductProductsV3_universal_d_getProduct as getProduct,\n      storesCatalogV3ProductProductsV3_universal_d_GetProductOptions as GetProductOptions,\n      storesCatalogV3ProductProductsV3_universal_d_getProductBySlug as getProductBySlug,\n      storesCatalogV3ProductProductsV3_universal_d_GetProductBySlugOptions as GetProductBySlugOptions,\n      storesCatalogV3ProductProductsV3_universal_d_searchProducts as searchProducts,\n      storesCatalogV3ProductProductsV3_universal_d_SearchProductsOptions as SearchProductsOptions,\n      storesCatalogV3ProductProductsV3_universal_d_queryProducts as queryProducts,\n      storesCatalogV3ProductProductsV3_universal_d_QueryProductsOptions as QueryProductsOptions,\n      storesCatalogV3ProductProductsV3_universal_d_ProductsQueryResult as ProductsQueryResult,\n      storesCatalogV3ProductProductsV3_universal_d_ProductsQueryBuilder as ProductsQueryBuilder,\n      storesCatalogV3ProductProductsV3_universal_d_countProducts as countProducts,\n      storesCatalogV3ProductProductsV3_universal_d_CountProductsOptions as CountProductsOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkUpdateProductVariantsByFilter as bulkUpdateProductVariantsByFilter,\n      storesCatalogV3ProductProductsV3_universal_d_BulkUpdateProductVariantsByFilterOptions as BulkUpdateProductVariantsByFilterOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkAdjustProductVariantsByFilter as bulkAdjustProductVariantsByFilter,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAdjustProductVariantsByFilterOptions as BulkAdjustProductVariantsByFilterOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkAddInfoSectionsToProductsByFilter as bulkAddInfoSectionsToProductsByFilter,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsByFilterOptions as BulkAddInfoSectionsToProductsByFilterOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkAddInfoSectionsToProducts as bulkAddInfoSectionsToProducts,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAddInfoSectionsToProductsOptions as BulkAddInfoSectionsToProductsOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkRemoveInfoSectionsFromProductsByFilter as bulkRemoveInfoSectionsFromProductsByFilter,\n      storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsByFilterOptions as BulkRemoveInfoSectionsFromProductsByFilterOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkRemoveInfoSectionsFromProducts as bulkRemoveInfoSectionsFromProducts,\n      storesCatalogV3ProductProductsV3_universal_d_BulkRemoveInfoSectionsFromProductsOptions as BulkRemoveInfoSectionsFromProductsOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkAddProductsToCategoriesByFilter as bulkAddProductsToCategoriesByFilter,\n      storesCatalogV3ProductProductsV3_universal_d_BulkAddProductsToCategoriesByFilterOptions as BulkAddProductsToCategoriesByFilterOptions,\n      storesCatalogV3ProductProductsV3_universal_d_bulkRemoveProductsFromCategoriesByFilter as bulkRemoveProductsFromCategoriesByFilter,\n      storesCatalogV3ProductProductsV3_universal_d_BulkRemoveProductsFromCategoriesByFilterOptions as BulkRemoveProductsFromCategoriesByFilterOptions,\n    };\n  }\n  \n  interface Provision {\n      /**\n       * Provision ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the Provision is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the Provision.\n       * Ignored when creating a Provision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the Provision was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the Provision was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Version of the catalog this store was provisioned on. DO NOT USE unless part of the install flow */\n      catalogVersion?: Version;\n  }\n  enum Version {\n      /** Version 1 of the catalog. */\n      V1_CATALOG = \"V1_CATALOG\",\n      /** Version 3 of the catalog. */\n      V3_CATALOG = \"V3_CATALOG\"\n  }\n  interface DefaultDeliveryProfileSetup {\n      /** metasite id of site */\n      metaSiteId?: string | null;\n  }\n  interface StoresV3CatalogProvisioned {\n      /** instance id of stores app (AppDefId: 215238eb-22a5-4c36-9e7b-e7c08025e04e) */\n      storeId?: string;\n      /** instance id of the store to be cloned from */\n      originStoreId?: string;\n  }\n  interface GetCatalogVersionRequest {\n  }\n  interface GetCatalogVersionResponse {\n      /** The version of Stores Catalog installed on a site. */\n      catalogVersion?: Version;\n  }\n  interface ProvisionRequest {\n      /** Store this store was cloned from. If store was not cloned, leave empty */\n      originalInstanceId?: string | null;\n  }\n  interface ProvisionResponse {\n      /** The requested Provision. */\n      provision?: Provision;\n  }\n  interface InstallBassAppDependencyRequest {\n  }\n  interface InstallBassAppDependencyResponse {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface Empty$2 {\n  }\n  interface InstallStoresRequest {\n  }\n  interface InstallStoresResponse {\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the version of Stores Catalog installed on a site.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.CATALOG_VERSION_READ\n   */\n  function getCatalogVersion(): Promise<GetCatalogVersionResponse>;\n  \n  type storesCatalogV3Provision_universal_d_Provision = Provision;\n  type storesCatalogV3Provision_universal_d_Version = Version;\n  const storesCatalogV3Provision_universal_d_Version: typeof Version;\n  type storesCatalogV3Provision_universal_d_DefaultDeliveryProfileSetup = DefaultDeliveryProfileSetup;\n  type storesCatalogV3Provision_universal_d_StoresV3CatalogProvisioned = StoresV3CatalogProvisioned;\n  type storesCatalogV3Provision_universal_d_GetCatalogVersionRequest = GetCatalogVersionRequest;\n  type storesCatalogV3Provision_universal_d_GetCatalogVersionResponse = GetCatalogVersionResponse;\n  type storesCatalogV3Provision_universal_d_ProvisionRequest = ProvisionRequest;\n  type storesCatalogV3Provision_universal_d_ProvisionResponse = ProvisionResponse;\n  type storesCatalogV3Provision_universal_d_InstallBassAppDependencyRequest = InstallBassAppDependencyRequest;\n  type storesCatalogV3Provision_universal_d_InstallBassAppDependencyResponse = InstallBassAppDependencyResponse;\n  type storesCatalogV3Provision_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type storesCatalogV3Provision_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type storesCatalogV3Provision_universal_d_Asset = Asset;\n  type storesCatalogV3Provision_universal_d_State = State;\n  const storesCatalogV3Provision_universal_d_State: typeof State;\n  type storesCatalogV3Provision_universal_d_SiteCreated = SiteCreated;\n  type storesCatalogV3Provision_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const storesCatalogV3Provision_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type storesCatalogV3Provision_universal_d_Namespace = Namespace;\n  const storesCatalogV3Provision_universal_d_Namespace: typeof Namespace;\n  type storesCatalogV3Provision_universal_d_SiteTransferred = SiteTransferred;\n  type storesCatalogV3Provision_universal_d_SiteDeleted = SiteDeleted;\n  type storesCatalogV3Provision_universal_d_DeleteContext = DeleteContext;\n  type storesCatalogV3Provision_universal_d_DeleteStatus = DeleteStatus;\n  const storesCatalogV3Provision_universal_d_DeleteStatus: typeof DeleteStatus;\n  type storesCatalogV3Provision_universal_d_SiteUndeleted = SiteUndeleted;\n  type storesCatalogV3Provision_universal_d_SitePublished = SitePublished;\n  type storesCatalogV3Provision_universal_d_SiteUnpublished = SiteUnpublished;\n  type storesCatalogV3Provision_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type storesCatalogV3Provision_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type storesCatalogV3Provision_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type storesCatalogV3Provision_universal_d_ServiceRemoved = ServiceRemoved;\n  type storesCatalogV3Provision_universal_d_SiteRenamed = SiteRenamed;\n  type storesCatalogV3Provision_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type storesCatalogV3Provision_universal_d_NamespaceChanged = NamespaceChanged;\n  type storesCatalogV3Provision_universal_d_StudioAssigned = StudioAssigned;\n  type storesCatalogV3Provision_universal_d_StudioUnassigned = StudioUnassigned;\n  type storesCatalogV3Provision_universal_d_InstallStoresRequest = InstallStoresRequest;\n  type storesCatalogV3Provision_universal_d_InstallStoresResponse = InstallStoresResponse;\n  const storesCatalogV3Provision_universal_d_getCatalogVersion: typeof getCatalogVersion;\n  namespace storesCatalogV3Provision_universal_d {\n    export {\n      storesCatalogV3Provision_universal_d_Provision as Provision,\n      storesCatalogV3Provision_universal_d_Version as Version,\n      storesCatalogV3Provision_universal_d_DefaultDeliveryProfileSetup as DefaultDeliveryProfileSetup,\n      storesCatalogV3Provision_universal_d_StoresV3CatalogProvisioned as StoresV3CatalogProvisioned,\n      storesCatalogV3Provision_universal_d_GetCatalogVersionRequest as GetCatalogVersionRequest,\n      storesCatalogV3Provision_universal_d_GetCatalogVersionResponse as GetCatalogVersionResponse,\n      storesCatalogV3Provision_universal_d_ProvisionRequest as ProvisionRequest,\n      storesCatalogV3Provision_universal_d_ProvisionResponse as ProvisionResponse,\n      storesCatalogV3Provision_universal_d_InstallBassAppDependencyRequest as InstallBassAppDependencyRequest,\n      storesCatalogV3Provision_universal_d_InstallBassAppDependencyResponse as InstallBassAppDependencyResponse,\n      storesCatalogV3Provision_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      storesCatalogV3Provision_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      storesCatalogV3Provision_universal_d_Asset as Asset,\n      storesCatalogV3Provision_universal_d_State as State,\n      storesCatalogV3Provision_universal_d_SiteCreated as SiteCreated,\n      storesCatalogV3Provision_universal_d_SiteCreatedContext as SiteCreatedContext,\n      storesCatalogV3Provision_universal_d_Namespace as Namespace,\n      storesCatalogV3Provision_universal_d_SiteTransferred as SiteTransferred,\n      storesCatalogV3Provision_universal_d_SiteDeleted as SiteDeleted,\n      storesCatalogV3Provision_universal_d_DeleteContext as DeleteContext,\n      storesCatalogV3Provision_universal_d_DeleteStatus as DeleteStatus,\n      storesCatalogV3Provision_universal_d_SiteUndeleted as SiteUndeleted,\n      storesCatalogV3Provision_universal_d_SitePublished as SitePublished,\n      storesCatalogV3Provision_universal_d_SiteUnpublished as SiteUnpublished,\n      storesCatalogV3Provision_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      storesCatalogV3Provision_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      storesCatalogV3Provision_universal_d_ServiceProvisioned as ServiceProvisioned,\n      storesCatalogV3Provision_universal_d_ServiceRemoved as ServiceRemoved,\n      storesCatalogV3Provision_universal_d_SiteRenamed as SiteRenamed,\n      storesCatalogV3Provision_universal_d_SiteHardDeleted as SiteHardDeleted,\n      storesCatalogV3Provision_universal_d_NamespaceChanged as NamespaceChanged,\n      storesCatalogV3Provision_universal_d_StudioAssigned as StudioAssigned,\n      storesCatalogV3Provision_universal_d_StudioUnassigned as StudioUnassigned,\n      Empty$2 as Empty,\n      storesCatalogV3Provision_universal_d_InstallStoresRequest as InstallStoresRequest,\n      storesCatalogV3Provision_universal_d_InstallStoresResponse as InstallStoresResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      storesCatalogV3Provision_universal_d_getCatalogVersion as getCatalogVersion,\n    };\n  }\n  \n  /** A Ribbon is a visual element that you can assign to products to highlight them on your site. */\n  interface Ribbon {\n      /**\n       * Ribbon ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the ribbon is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the ribbon.\n       *\n       * Ignored when creating a ribbon.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the ribbon was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the ribbon was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Ribbon name. */\n      name?: string;\n      /**\n       * Number of products this ribbon is assigned to.\n       * > **Note:** Returned only when you pass `\"ASSIGNED_PRODUCT_COUNT\"` to the `fields` array in Ribbon API requests.\n       * @readonly\n       */\n      assignedProductCount?: number | null;\n  }\n  interface InvalidateCache$1 extends InvalidateCacheGetByOneOf$1 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page$1;\n      /** Invalidate by URI path */\n      uri?: URI$1;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$1;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf$1 {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App$1;\n      /** Invalidate by page id */\n      page?: Page$1;\n      /** Invalidate by URI path */\n      uri?: URI$1;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File$1;\n  }\n  interface App$1 {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page$1 {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI$1 {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File$1 {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateRibbonRequest {\n      /** Ribbon to create. */\n      ribbon: Ribbon;\n  }\n  interface CreateRibbonResponse {\n      /** Created ribbon. */\n      ribbon?: Ribbon;\n  }\n  interface GetRibbonRequest {\n      /** Ribbon ID. */\n      ribbonId: string;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  enum RequestedFields {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      ASSIGNED_PRODUCT_COUNT = \"ASSIGNED_PRODUCT_COUNT\"\n  }\n  interface GetRibbonResponse {\n      /** Ribbon. */\n      ribbon?: Ribbon;\n  }\n  interface UpdateRibbonRequest {\n      /** Ribbon to update. */\n      ribbon: Ribbon;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  interface UpdateRibbonResponse {\n      /** Updated Ribbon. */\n      ribbon?: Ribbon;\n  }\n  interface DeleteRibbonRequest {\n      /** Ribbon ID. */\n      ribbonId: string;\n  }\n  interface DeleteRibbonResponse {\n  }\n  interface QueryRibbonsRequest {\n      /** Query options. */\n      query?: CursorQuery$1;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      /** Ascending order. */\n      ASC = \"ASC\",\n      /** Descending order. */\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryRibbonsResponse {\n      /** List of ribbons. */\n      ribbons?: Ribbon[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkCreateRibbonsRequest {\n      /** Ribbons to create. */\n      ribbons: Ribbon[];\n      /**\n       * Whether to return the full created ribbon entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateRibbonsResponse {\n      /** Ribbons created by bulk action. */\n      results?: BulkRibbonResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkRibbonResult {\n      /** Bulk action metadata for ribbon. */\n      itemMetadata?: ItemMetadata;\n      /**\n       * Full ribbon entity.\n       *\n       * Returned only if `returnEntity: true` is passed in the request.\n       */\n      item?: Ribbon;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateRibbonsRequest {\n      /** List of ribbons to update. */\n      ribbons: MaskedRibbon[];\n      /**\n       * Whether to return the full updated ribbon entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  interface MaskedRibbon {\n      /** Ribbon to update. */\n      ribbon?: Ribbon;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface BulkUpdateRibbonsResponse {\n      /** Ribbons updated by bulk action. */\n      results?: BulkRibbonResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface GetOrCreateRibbonRequest {\n      /** Ribbon name to retrieve or create. */\n      ribbonName: string;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  interface GetOrCreateRibbonResponse {\n      /** Ribbon. */\n      ribbon?: Ribbon;\n  }\n  interface BulkGetOrCreateRibbonsRequest {\n      /** Ribbon names to retrieve or create. */\n      ribbonNames: string[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  interface BulkGetOrCreateRibbonsResponse {\n      /** Ribbons retrieved or created by bulk action. */\n      results?: BulkRibbonResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteRibbonsRequest {\n      /** IDs of ribbons to delete. */\n      ribbonIds: string[];\n  }\n  interface BulkDeleteRibbonsResponse {\n      /** Ribbons deleted by bulk action. */\n      results?: BulkDeleteRibbonsResponseBulkRibbonResult[];\n      /** Bulk action metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteRibbonsResponseBulkRibbonResult {\n      /** Bulk action metadata for ribbon. */\n      itemMetadata?: ItemMetadata;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a ribbon.\n   *\n   * To assign the ribbon to a product, include the `ribbon.id` or `ribbon.name` when [creating](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/products-v3/create-product) or [updating](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/products-v3/update-product) a product.\n   * @param ribbon - Ribbon to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ribbon\n   * @requiredField ribbon.name\n   * @permissionId WIX_STORES.RIBBON_CREATE\n   * @adminMethod\n   * @returns Created ribbon.\n   */\n  function createRibbon(ribbon: Ribbon): Promise<Ribbon>;\n  /**\n   * Retrieves a ribbon.\n   * @param ribbonId - Ribbon ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ribbonId\n   * @permissionId WIX_STORES.RIBBON_READ\n   * @adminMethod\n   * @returns Ribbon.\n   */\n  function getRibbon(ribbonId: string, options?: GetRibbonOptions): Promise<Ribbon>;\n  interface GetRibbonOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Updates a ribbon.\n   *\n   *\n   * Each time the ribbon is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the ribbon.\n   * This ensures you're working with the latest ribbon and prevents unintended overwrites.\n   * @param _id - Ribbon ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField ribbon\n   * @requiredField ribbon.revision\n   * @permissionId WIX_STORES.RIBBON_UPDATE\n   * @adminMethod\n   * @returns Updated Ribbon.\n   */\n  function updateRibbon(_id: string | null, ribbon: UpdateRibbon, options?: UpdateRibbonOptions): Promise<Ribbon>;\n  interface UpdateRibbon {\n      /**\n       * Ribbon ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the ribbon is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the ribbon.\n       *\n       * Ignored when creating a ribbon.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the ribbon was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the ribbon was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Ribbon name. */\n      name?: string;\n      /**\n       * Number of products this ribbon is assigned to.\n       * > **Note:** Returned only when you pass `\"ASSIGNED_PRODUCT_COUNT\"` to the `fields` array in Ribbon API requests.\n       * @readonly\n       */\n      assignedProductCount?: number | null;\n  }\n  interface UpdateRibbonOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Deletes a ribbon.\n   *\n   *\n   * > **Note:** Deleting a ribbon will also remove it from all products it is assigned to.\n   * @param ribbonId - Ribbon ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ribbonId\n   * @permissionId WIX_STORES.RIBBON_DELETE\n   * @adminMethod\n   */\n  function deleteRibbon(ribbonId: string): Promise<void>;\n  /**\n   * Retrieves a list of up to 100 ribbons, given the provided filtering, sorting, and cursor paging.\n   * Pass supported values to the `fields` array in the request to include those fields in the response.\n   *\n   *\n   * Query Brands runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `cursorPaging.limit` is `100`\n   *\n   * For field support for filters and sorting,\n   * see [Ribbons: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/ribbons-v3/supported-filters-and-sorting).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.RIBBON_READ\n   * @adminMethod\n   */\n  function queryRibbons(options?: QueryRibbonsOptions): RibbonsQueryBuilder;\n  interface QueryRibbonsOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[] | undefined;\n  }\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface RibbonsQueryResult extends QueryCursorResult$1 {\n      items: Ribbon[];\n      query: RibbonsQueryBuilder;\n      next: () => Promise<RibbonsQueryResult>;\n      prev: () => Promise<RibbonsQueryResult>;\n  }\n  interface RibbonsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => RibbonsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => RibbonsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => RibbonsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => RibbonsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => RibbonsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => RibbonsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name', value: string) => RibbonsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any[]) => RibbonsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => RibbonsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: boolean) => RibbonsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'name'>) => RibbonsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'name'>) => RibbonsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => RibbonsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => RibbonsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<RibbonsQueryResult>;\n  }\n  /**\n   * Creates multiple ribbons.\n   * @param ribbons - Ribbons to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ribbons\n   * @requiredField ribbons.name\n   * @permissionId WIX_STORES.RIBBON_CREATE\n   * @adminMethod\n   */\n  function bulkCreateRibbons(ribbons: Ribbon[], options?: BulkCreateRibbonsOptions): Promise<BulkCreateRibbonsResponse>;\n  interface BulkCreateRibbonsOptions {\n      /**\n       * Whether to return the full created ribbon entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n  }\n  /**\n   * Updates multiple ribbons.\n   *\n   * Each time a ribbon is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating a ribbon.\n   * This ensures you're working with the latest ribbon and prevents unintended overwrites.\n   * @param ribbons - List of ribbons to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ribbons\n   * @requiredField ribbons.ribbon._id\n   * @requiredField ribbons.ribbon.revision\n   * @permissionId WIX_STORES.RIBBON_UPDATE\n   * @adminMethod\n   */\n  function bulkUpdateRibbons(ribbons: MaskedRibbon[], options?: BulkUpdateRibbonsOptions): Promise<BulkUpdateRibbonsResponse>;\n  interface BulkUpdateRibbonsOptions {\n      /**\n       * Whether to return the full updated ribbon entities in the response.\n       *\n       * Default: `false`\n       */\n      returnEntity?: boolean;\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Retrieves a ribbon by name, or creates a ribbon if one with the passed `ribbonName` doesn't exist.\n   * @param ribbonName - Ribbon name to retrieve or create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ribbonName\n   * @permissionId WIX_STORES.RIBBON_GET_OR_CREATE\n   * @adminMethod\n   */\n  function getOrCreateRibbon(ribbonName: string, options?: GetOrCreateRibbonOptions): Promise<GetOrCreateRibbonResponse>;\n  interface GetOrCreateRibbonOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Retrieves multiple ribbons by name, or creates multiple ribbons if those with the passed `ribbonNames` don't exist.\n   * @param ribbonNames - Ribbon names to retrieve or create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ribbonNames\n   * @permissionId WIX_STORES.RIBBON_GET_OR_CREATE\n   * @adminMethod\n   */\n  function bulkGetOrCreateRibbons(ribbonNames: string[], options?: BulkGetOrCreateRibbonsOptions): Promise<BulkGetOrCreateRibbonsResponse>;\n  interface BulkGetOrCreateRibbonsOptions {\n      /**\n       * Fields to include in the response.\n       *\n       * Supported values: `ASSIGNED_PRODUCTS_COUNT`\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Deletes multiple ribbons.\n   * @param ribbonIds - IDs of ribbons to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ribbonIds\n   * @permissionId WIX_STORES.RIBBON_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteRibbons(ribbonIds: string[]): Promise<BulkDeleteRibbonsResponse>;\n  \n  type storesCatalogV3Ribbon_universal_d_Ribbon = Ribbon;\n  type storesCatalogV3Ribbon_universal_d_CreateRibbonRequest = CreateRibbonRequest;\n  type storesCatalogV3Ribbon_universal_d_CreateRibbonResponse = CreateRibbonResponse;\n  type storesCatalogV3Ribbon_universal_d_GetRibbonRequest = GetRibbonRequest;\n  type storesCatalogV3Ribbon_universal_d_RequestedFields = RequestedFields;\n  const storesCatalogV3Ribbon_universal_d_RequestedFields: typeof RequestedFields;\n  type storesCatalogV3Ribbon_universal_d_GetRibbonResponse = GetRibbonResponse;\n  type storesCatalogV3Ribbon_universal_d_UpdateRibbonRequest = UpdateRibbonRequest;\n  type storesCatalogV3Ribbon_universal_d_UpdateRibbonResponse = UpdateRibbonResponse;\n  type storesCatalogV3Ribbon_universal_d_DeleteRibbonRequest = DeleteRibbonRequest;\n  type storesCatalogV3Ribbon_universal_d_DeleteRibbonResponse = DeleteRibbonResponse;\n  type storesCatalogV3Ribbon_universal_d_QueryRibbonsRequest = QueryRibbonsRequest;\n  type storesCatalogV3Ribbon_universal_d_QueryRibbonsResponse = QueryRibbonsResponse;\n  type storesCatalogV3Ribbon_universal_d_BulkCreateRibbonsRequest = BulkCreateRibbonsRequest;\n  type storesCatalogV3Ribbon_universal_d_BulkCreateRibbonsResponse = BulkCreateRibbonsResponse;\n  type storesCatalogV3Ribbon_universal_d_BulkRibbonResult = BulkRibbonResult;\n  type storesCatalogV3Ribbon_universal_d_ItemMetadata = ItemMetadata;\n  type storesCatalogV3Ribbon_universal_d_ApplicationError = ApplicationError;\n  type storesCatalogV3Ribbon_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type storesCatalogV3Ribbon_universal_d_BulkUpdateRibbonsRequest = BulkUpdateRibbonsRequest;\n  type storesCatalogV3Ribbon_universal_d_MaskedRibbon = MaskedRibbon;\n  type storesCatalogV3Ribbon_universal_d_BulkUpdateRibbonsResponse = BulkUpdateRibbonsResponse;\n  type storesCatalogV3Ribbon_universal_d_GetOrCreateRibbonRequest = GetOrCreateRibbonRequest;\n  type storesCatalogV3Ribbon_universal_d_GetOrCreateRibbonResponse = GetOrCreateRibbonResponse;\n  type storesCatalogV3Ribbon_universal_d_BulkGetOrCreateRibbonsRequest = BulkGetOrCreateRibbonsRequest;\n  type storesCatalogV3Ribbon_universal_d_BulkGetOrCreateRibbonsResponse = BulkGetOrCreateRibbonsResponse;\n  type storesCatalogV3Ribbon_universal_d_BulkDeleteRibbonsRequest = BulkDeleteRibbonsRequest;\n  type storesCatalogV3Ribbon_universal_d_BulkDeleteRibbonsResponse = BulkDeleteRibbonsResponse;\n  type storesCatalogV3Ribbon_universal_d_BulkDeleteRibbonsResponseBulkRibbonResult = BulkDeleteRibbonsResponseBulkRibbonResult;\n  const storesCatalogV3Ribbon_universal_d_createRibbon: typeof createRibbon;\n  const storesCatalogV3Ribbon_universal_d_getRibbon: typeof getRibbon;\n  type storesCatalogV3Ribbon_universal_d_GetRibbonOptions = GetRibbonOptions;\n  const storesCatalogV3Ribbon_universal_d_updateRibbon: typeof updateRibbon;\n  type storesCatalogV3Ribbon_universal_d_UpdateRibbon = UpdateRibbon;\n  type storesCatalogV3Ribbon_universal_d_UpdateRibbonOptions = UpdateRibbonOptions;\n  const storesCatalogV3Ribbon_universal_d_deleteRibbon: typeof deleteRibbon;\n  const storesCatalogV3Ribbon_universal_d_queryRibbons: typeof queryRibbons;\n  type storesCatalogV3Ribbon_universal_d_QueryRibbonsOptions = QueryRibbonsOptions;\n  type storesCatalogV3Ribbon_universal_d_RibbonsQueryResult = RibbonsQueryResult;\n  type storesCatalogV3Ribbon_universal_d_RibbonsQueryBuilder = RibbonsQueryBuilder;\n  const storesCatalogV3Ribbon_universal_d_bulkCreateRibbons: typeof bulkCreateRibbons;\n  type storesCatalogV3Ribbon_universal_d_BulkCreateRibbonsOptions = BulkCreateRibbonsOptions;\n  const storesCatalogV3Ribbon_universal_d_bulkUpdateRibbons: typeof bulkUpdateRibbons;\n  type storesCatalogV3Ribbon_universal_d_BulkUpdateRibbonsOptions = BulkUpdateRibbonsOptions;\n  const storesCatalogV3Ribbon_universal_d_getOrCreateRibbon: typeof getOrCreateRibbon;\n  type storesCatalogV3Ribbon_universal_d_GetOrCreateRibbonOptions = GetOrCreateRibbonOptions;\n  const storesCatalogV3Ribbon_universal_d_bulkGetOrCreateRibbons: typeof bulkGetOrCreateRibbons;\n  type storesCatalogV3Ribbon_universal_d_BulkGetOrCreateRibbonsOptions = BulkGetOrCreateRibbonsOptions;\n  const storesCatalogV3Ribbon_universal_d_bulkDeleteRibbons: typeof bulkDeleteRibbons;\n  namespace storesCatalogV3Ribbon_universal_d {\n    export {\n      storesCatalogV3Ribbon_universal_d_Ribbon as Ribbon,\n      InvalidateCache$1 as InvalidateCache,\n      InvalidateCacheGetByOneOf$1 as InvalidateCacheGetByOneOf,\n      App$1 as App,\n      Page$1 as Page,\n      URI$1 as URI,\n      File$1 as File,\n      storesCatalogV3Ribbon_universal_d_CreateRibbonRequest as CreateRibbonRequest,\n      storesCatalogV3Ribbon_universal_d_CreateRibbonResponse as CreateRibbonResponse,\n      storesCatalogV3Ribbon_universal_d_GetRibbonRequest as GetRibbonRequest,\n      storesCatalogV3Ribbon_universal_d_RequestedFields as RequestedFields,\n      storesCatalogV3Ribbon_universal_d_GetRibbonResponse as GetRibbonResponse,\n      storesCatalogV3Ribbon_universal_d_UpdateRibbonRequest as UpdateRibbonRequest,\n      storesCatalogV3Ribbon_universal_d_UpdateRibbonResponse as UpdateRibbonResponse,\n      storesCatalogV3Ribbon_universal_d_DeleteRibbonRequest as DeleteRibbonRequest,\n      storesCatalogV3Ribbon_universal_d_DeleteRibbonResponse as DeleteRibbonResponse,\n      storesCatalogV3Ribbon_universal_d_QueryRibbonsRequest as QueryRibbonsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      storesCatalogV3Ribbon_universal_d_QueryRibbonsResponse as QueryRibbonsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      storesCatalogV3Ribbon_universal_d_BulkCreateRibbonsRequest as BulkCreateRibbonsRequest,\n      storesCatalogV3Ribbon_universal_d_BulkCreateRibbonsResponse as BulkCreateRibbonsResponse,\n      storesCatalogV3Ribbon_universal_d_BulkRibbonResult as BulkRibbonResult,\n      storesCatalogV3Ribbon_universal_d_ItemMetadata as ItemMetadata,\n      storesCatalogV3Ribbon_universal_d_ApplicationError as ApplicationError,\n      storesCatalogV3Ribbon_universal_d_BulkActionMetadata as BulkActionMetadata,\n      storesCatalogV3Ribbon_universal_d_BulkUpdateRibbonsRequest as BulkUpdateRibbonsRequest,\n      storesCatalogV3Ribbon_universal_d_MaskedRibbon as MaskedRibbon,\n      storesCatalogV3Ribbon_universal_d_BulkUpdateRibbonsResponse as BulkUpdateRibbonsResponse,\n      storesCatalogV3Ribbon_universal_d_GetOrCreateRibbonRequest as GetOrCreateRibbonRequest,\n      storesCatalogV3Ribbon_universal_d_GetOrCreateRibbonResponse as GetOrCreateRibbonResponse,\n      storesCatalogV3Ribbon_universal_d_BulkGetOrCreateRibbonsRequest as BulkGetOrCreateRibbonsRequest,\n      storesCatalogV3Ribbon_universal_d_BulkGetOrCreateRibbonsResponse as BulkGetOrCreateRibbonsResponse,\n      storesCatalogV3Ribbon_universal_d_BulkDeleteRibbonsRequest as BulkDeleteRibbonsRequest,\n      storesCatalogV3Ribbon_universal_d_BulkDeleteRibbonsResponse as BulkDeleteRibbonsResponse,\n      storesCatalogV3Ribbon_universal_d_BulkDeleteRibbonsResponseBulkRibbonResult as BulkDeleteRibbonsResponseBulkRibbonResult,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      Empty$1 as Empty,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      storesCatalogV3Ribbon_universal_d_createRibbon as createRibbon,\n      storesCatalogV3Ribbon_universal_d_getRibbon as getRibbon,\n      storesCatalogV3Ribbon_universal_d_GetRibbonOptions as GetRibbonOptions,\n      storesCatalogV3Ribbon_universal_d_updateRibbon as updateRibbon,\n      storesCatalogV3Ribbon_universal_d_UpdateRibbon as UpdateRibbon,\n      storesCatalogV3Ribbon_universal_d_UpdateRibbonOptions as UpdateRibbonOptions,\n      storesCatalogV3Ribbon_universal_d_deleteRibbon as deleteRibbon,\n      storesCatalogV3Ribbon_universal_d_queryRibbons as queryRibbons,\n      storesCatalogV3Ribbon_universal_d_QueryRibbonsOptions as QueryRibbonsOptions,\n      storesCatalogV3Ribbon_universal_d_RibbonsQueryResult as RibbonsQueryResult,\n      storesCatalogV3Ribbon_universal_d_RibbonsQueryBuilder as RibbonsQueryBuilder,\n      storesCatalogV3Ribbon_universal_d_bulkCreateRibbons as bulkCreateRibbons,\n      storesCatalogV3Ribbon_universal_d_BulkCreateRibbonsOptions as BulkCreateRibbonsOptions,\n      storesCatalogV3Ribbon_universal_d_bulkUpdateRibbons as bulkUpdateRibbons,\n      storesCatalogV3Ribbon_universal_d_BulkUpdateRibbonsOptions as BulkUpdateRibbonsOptions,\n      storesCatalogV3Ribbon_universal_d_getOrCreateRibbon as getOrCreateRibbon,\n      storesCatalogV3Ribbon_universal_d_GetOrCreateRibbonOptions as GetOrCreateRibbonOptions,\n      storesCatalogV3Ribbon_universal_d_bulkGetOrCreateRibbons as bulkGetOrCreateRibbons,\n      storesCatalogV3Ribbon_universal_d_BulkGetOrCreateRibbonsOptions as BulkGetOrCreateRibbonsOptions,\n      storesCatalogV3Ribbon_universal_d_bulkDeleteRibbons as bulkDeleteRibbons,\n    };\n  }\n  \n  /** A location is a physical or virtual site where products are sold. */\n  interface StoresLocation {\n      /**\n       * Stores location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the Stores location is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the Stores location.\n       *\n       * Ignored when creating a Stores location.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the Stores location was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the Stores location was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Wix location ID.\n       * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       */\n      wixLocationId?: string | null;\n      /**\n       * Location type.\n       * @readonly\n       */\n      locationType?: LocationType;\n      /**\n       * Stores location name.\n       * @readonly\n       */\n      name?: string;\n      /** Whether the location is the site's default location. */\n      defaultLocation?: boolean;\n  }\n  enum LocationType {\n      UNKNOWN_LOCATION_TYPE = \"UNKNOWN_LOCATION_TYPE\",\n      /** Online store. */\n      VIRTUAL = \"VIRTUAL\",\n      /** Physical location, for example, POS. */\n      PHYSICAL = \"PHYSICAL\"\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateStoresLocationRequest {\n      /** Stores location to create. */\n      storesLocation: StoresLocation;\n  }\n  interface CreateStoresLocationResponse {\n      /** Created Stores location. */\n      storesLocation?: StoresLocation;\n  }\n  interface GetStoresLocationRequest {\n      /** Stores location ID. */\n      storesLocationId: string;\n  }\n  interface GetStoresLocationResponse {\n      /** Stores location. */\n      storesLocation?: StoresLocation;\n  }\n  interface UpdateStoresLocationRequest {\n      /** Stores location to update. */\n      storesLocation: StoresLocation;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateStoresLocationResponse {\n      /** Updated Stores location. */\n      storesLocation?: StoresLocation;\n  }\n  interface DeleteStoresLocationRequest {\n      /** Stores location ID. */\n      storesLocationId: string;\n  }\n  interface DeleteStoresLocationResponse {\n  }\n  interface QueryStoresLocationsRequest {\n      /** Query options. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryStoresLocationsResponse {\n      /** List of Stores locations. */\n      storesLocations?: StoresLocation[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetOrCreateDefaultStoresLocationRequest {\n  }\n  interface GetOrCreateDefaultStoresLocationResponse {\n      /** Default Stores location. */\n      storesLocation?: StoresLocation;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a Stores location.\n   * @param storesLocation - Stores location to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField storesLocation\n   * @requiredField storesLocation.name\n   * @permissionId WIX_STORES.STORES_LOCATION_CREATE\n   * @adminMethod\n   * @returns Created Stores location.\n   */\n  function createStoresLocation(storesLocation: StoresLocation): Promise<StoresLocation>;\n  /**\n   * Retrieves a Stores location.\n   * @param storesLocationId - Stores location ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField storesLocationId\n   * @permissionId WIX_STORES.STORES_LOCATION_READ\n   * @returns Stores location.\n   */\n  function getStoresLocation(storesLocationId: string): Promise<StoresLocation>;\n  /**\n   * Updates a Stores location.\n   *\n   * Each time the Stores location is updated, `revision` increments by 1.\n   * The current `revision` must be passed when updating the Stores location.\n   * This ensures you're working with the latest Stores location and prevents unintended overwrites.\n   * @param _id - Stores location ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField storesLocation\n   * @requiredField storesLocation.revision\n   * @permissionId WIX_STORES.STORES_LOCATION_UPDATE\n   * @adminMethod\n   * @returns Updated Stores location.\n   */\n  function updateStoresLocation(_id: string | null, storesLocation: UpdateStoresLocation, options?: UpdateStoresLocationOptions): Promise<StoresLocation>;\n  interface UpdateStoresLocation {\n      /**\n       * Stores location ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the Stores location is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the Stores location.\n       *\n       * Ignored when creating a Stores location.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the Stores location was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the Stores location was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Wix location ID.\n       * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n       */\n      wixLocationId?: string | null;\n      /**\n       * Location type.\n       * @readonly\n       */\n      locationType?: LocationType;\n      /**\n       * Stores location name.\n       * @readonly\n       */\n      name?: string;\n      /** Whether the location is the site's default location. */\n      defaultLocation?: boolean;\n  }\n  interface UpdateStoresLocationOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a Stores location.\n   * @param storesLocationId - Stores location ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField storesLocationId\n   * @permissionId WIX_STORES.STORES_LOCATION_DELETE\n   * @adminMethod\n   */\n  function deleteStoresLocation(storesLocationId: string): Promise<void>;\n  /**\n   * Retrieves a list of up to 100 Stores locations, given the provided filtering, sorting, and cursor paging.\n   * Pass supported values to the `fields` array in the request to include those fields in the response.\n   *\n   *\n   * Query Stores Locations runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `cursorPaging.limit` is `100`\n   *\n   * For field support for filters and sorting,\n   * see [Stores Locations: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/stores/catalog-v3/stores-locations-v3/supported-filters-and-sorting).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n   * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.STORES_LOCATION_READ\n   */\n  function queryStoresLocations(): StoresLocationsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface StoresLocationsQueryResult extends QueryCursorResult {\n      items: StoresLocation[];\n      query: StoresLocationsQueryBuilder;\n      next: () => Promise<StoresLocationsQueryResult>;\n      prev: () => Promise<StoresLocationsQueryResult>;\n  }\n  interface StoresLocationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'wixLocationId' | 'locationType' | 'name' | 'defaultLocation', value: any) => StoresLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'wixLocationId' | 'locationType' | 'name' | 'defaultLocation', value: any) => StoresLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => StoresLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => StoresLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => StoresLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => StoresLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'wixLocationId' | 'name', value: string) => StoresLocationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'wixLocationId' | 'locationType' | 'name' | 'defaultLocation', value: any[]) => StoresLocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'wixLocationId' | 'locationType' | 'name' | 'defaultLocation', value: any) => StoresLocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'wixLocationId' | 'locationType' | 'name' | 'defaultLocation', value: boolean) => StoresLocationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'locationType' | 'name' | 'defaultLocation'>) => StoresLocationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'locationType' | 'name' | 'defaultLocation'>) => StoresLocationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => StoresLocationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => StoresLocationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<StoresLocationsQueryResult>;\n  }\n  /**\n   * Retrieves the default inventory location, or creates it if it doesn't exist.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_STORES.STORES_LOCATION_GET_OR_CREATE\n   * @adminMethod\n   */\n  function getOrCreateDefaultStoresLocation(): Promise<GetOrCreateDefaultStoresLocationResponse>;\n  \n  type storesCatalogV3StoresLocation_universal_d_StoresLocation = StoresLocation;\n  type storesCatalogV3StoresLocation_universal_d_LocationType = LocationType;\n  const storesCatalogV3StoresLocation_universal_d_LocationType: typeof LocationType;\n  type storesCatalogV3StoresLocation_universal_d_InvalidateCache = InvalidateCache;\n  type storesCatalogV3StoresLocation_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type storesCatalogV3StoresLocation_universal_d_App = App;\n  type storesCatalogV3StoresLocation_universal_d_Page = Page;\n  type storesCatalogV3StoresLocation_universal_d_URI = URI;\n  type storesCatalogV3StoresLocation_universal_d_File = File;\n  type storesCatalogV3StoresLocation_universal_d_CreateStoresLocationRequest = CreateStoresLocationRequest;\n  type storesCatalogV3StoresLocation_universal_d_CreateStoresLocationResponse = CreateStoresLocationResponse;\n  type storesCatalogV3StoresLocation_universal_d_GetStoresLocationRequest = GetStoresLocationRequest;\n  type storesCatalogV3StoresLocation_universal_d_GetStoresLocationResponse = GetStoresLocationResponse;\n  type storesCatalogV3StoresLocation_universal_d_UpdateStoresLocationRequest = UpdateStoresLocationRequest;\n  type storesCatalogV3StoresLocation_universal_d_UpdateStoresLocationResponse = UpdateStoresLocationResponse;\n  type storesCatalogV3StoresLocation_universal_d_DeleteStoresLocationRequest = DeleteStoresLocationRequest;\n  type storesCatalogV3StoresLocation_universal_d_DeleteStoresLocationResponse = DeleteStoresLocationResponse;\n  type storesCatalogV3StoresLocation_universal_d_QueryStoresLocationsRequest = QueryStoresLocationsRequest;\n  type storesCatalogV3StoresLocation_universal_d_CursorQuery = CursorQuery;\n  type storesCatalogV3StoresLocation_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type storesCatalogV3StoresLocation_universal_d_Sorting = Sorting;\n  type storesCatalogV3StoresLocation_universal_d_SortOrder = SortOrder;\n  const storesCatalogV3StoresLocation_universal_d_SortOrder: typeof SortOrder;\n  type storesCatalogV3StoresLocation_universal_d_CursorPaging = CursorPaging;\n  type storesCatalogV3StoresLocation_universal_d_QueryStoresLocationsResponse = QueryStoresLocationsResponse;\n  type storesCatalogV3StoresLocation_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type storesCatalogV3StoresLocation_universal_d_Cursors = Cursors;\n  type storesCatalogV3StoresLocation_universal_d_GetOrCreateDefaultStoresLocationRequest = GetOrCreateDefaultStoresLocationRequest;\n  type storesCatalogV3StoresLocation_universal_d_GetOrCreateDefaultStoresLocationResponse = GetOrCreateDefaultStoresLocationResponse;\n  type storesCatalogV3StoresLocation_universal_d_DomainEvent = DomainEvent;\n  type storesCatalogV3StoresLocation_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type storesCatalogV3StoresLocation_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type storesCatalogV3StoresLocation_universal_d_RestoreInfo = RestoreInfo;\n  type storesCatalogV3StoresLocation_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type storesCatalogV3StoresLocation_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type storesCatalogV3StoresLocation_universal_d_ActionEvent = ActionEvent;\n  type storesCatalogV3StoresLocation_universal_d_Empty = Empty;\n  type storesCatalogV3StoresLocation_universal_d_MessageEnvelope = MessageEnvelope;\n  type storesCatalogV3StoresLocation_universal_d_IdentificationData = IdentificationData;\n  type storesCatalogV3StoresLocation_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type storesCatalogV3StoresLocation_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const storesCatalogV3StoresLocation_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const storesCatalogV3StoresLocation_universal_d_createStoresLocation: typeof createStoresLocation;\n  const storesCatalogV3StoresLocation_universal_d_getStoresLocation: typeof getStoresLocation;\n  const storesCatalogV3StoresLocation_universal_d_updateStoresLocation: typeof updateStoresLocation;\n  type storesCatalogV3StoresLocation_universal_d_UpdateStoresLocation = UpdateStoresLocation;\n  type storesCatalogV3StoresLocation_universal_d_UpdateStoresLocationOptions = UpdateStoresLocationOptions;\n  const storesCatalogV3StoresLocation_universal_d_deleteStoresLocation: typeof deleteStoresLocation;\n  const storesCatalogV3StoresLocation_universal_d_queryStoresLocations: typeof queryStoresLocations;\n  type storesCatalogV3StoresLocation_universal_d_StoresLocationsQueryResult = StoresLocationsQueryResult;\n  type storesCatalogV3StoresLocation_universal_d_StoresLocationsQueryBuilder = StoresLocationsQueryBuilder;\n  const storesCatalogV3StoresLocation_universal_d_getOrCreateDefaultStoresLocation: typeof getOrCreateDefaultStoresLocation;\n  namespace storesCatalogV3StoresLocation_universal_d {\n    export {\n      storesCatalogV3StoresLocation_universal_d_StoresLocation as StoresLocation,\n      storesCatalogV3StoresLocation_universal_d_LocationType as LocationType,\n      storesCatalogV3StoresLocation_universal_d_InvalidateCache as InvalidateCache,\n      storesCatalogV3StoresLocation_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      storesCatalogV3StoresLocation_universal_d_App as App,\n      storesCatalogV3StoresLocation_universal_d_Page as Page,\n      storesCatalogV3StoresLocation_universal_d_URI as URI,\n      storesCatalogV3StoresLocation_universal_d_File as File,\n      storesCatalogV3StoresLocation_universal_d_CreateStoresLocationRequest as CreateStoresLocationRequest,\n      storesCatalogV3StoresLocation_universal_d_CreateStoresLocationResponse as CreateStoresLocationResponse,\n      storesCatalogV3StoresLocation_universal_d_GetStoresLocationRequest as GetStoresLocationRequest,\n      storesCatalogV3StoresLocation_universal_d_GetStoresLocationResponse as GetStoresLocationResponse,\n      storesCatalogV3StoresLocation_universal_d_UpdateStoresLocationRequest as UpdateStoresLocationRequest,\n      storesCatalogV3StoresLocation_universal_d_UpdateStoresLocationResponse as UpdateStoresLocationResponse,\n      storesCatalogV3StoresLocation_universal_d_DeleteStoresLocationRequest as DeleteStoresLocationRequest,\n      storesCatalogV3StoresLocation_universal_d_DeleteStoresLocationResponse as DeleteStoresLocationResponse,\n      storesCatalogV3StoresLocation_universal_d_QueryStoresLocationsRequest as QueryStoresLocationsRequest,\n      storesCatalogV3StoresLocation_universal_d_CursorQuery as CursorQuery,\n      storesCatalogV3StoresLocation_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      storesCatalogV3StoresLocation_universal_d_Sorting as Sorting,\n      storesCatalogV3StoresLocation_universal_d_SortOrder as SortOrder,\n      storesCatalogV3StoresLocation_universal_d_CursorPaging as CursorPaging,\n      storesCatalogV3StoresLocation_universal_d_QueryStoresLocationsResponse as QueryStoresLocationsResponse,\n      storesCatalogV3StoresLocation_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      storesCatalogV3StoresLocation_universal_d_Cursors as Cursors,\n      storesCatalogV3StoresLocation_universal_d_GetOrCreateDefaultStoresLocationRequest as GetOrCreateDefaultStoresLocationRequest,\n      storesCatalogV3StoresLocation_universal_d_GetOrCreateDefaultStoresLocationResponse as GetOrCreateDefaultStoresLocationResponse,\n      storesCatalogV3StoresLocation_universal_d_DomainEvent as DomainEvent,\n      storesCatalogV3StoresLocation_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      storesCatalogV3StoresLocation_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      storesCatalogV3StoresLocation_universal_d_RestoreInfo as RestoreInfo,\n      storesCatalogV3StoresLocation_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      storesCatalogV3StoresLocation_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      storesCatalogV3StoresLocation_universal_d_ActionEvent as ActionEvent,\n      storesCatalogV3StoresLocation_universal_d_Empty as Empty,\n      storesCatalogV3StoresLocation_universal_d_MessageEnvelope as MessageEnvelope,\n      storesCatalogV3StoresLocation_universal_d_IdentificationData as IdentificationData,\n      storesCatalogV3StoresLocation_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      storesCatalogV3StoresLocation_universal_d_WebhookIdentityType as WebhookIdentityType,\n      storesCatalogV3StoresLocation_universal_d_createStoresLocation as createStoresLocation,\n      storesCatalogV3StoresLocation_universal_d_getStoresLocation as getStoresLocation,\n      storesCatalogV3StoresLocation_universal_d_updateStoresLocation as updateStoresLocation,\n      storesCatalogV3StoresLocation_universal_d_UpdateStoresLocation as UpdateStoresLocation,\n      storesCatalogV3StoresLocation_universal_d_UpdateStoresLocationOptions as UpdateStoresLocationOptions,\n      storesCatalogV3StoresLocation_universal_d_deleteStoresLocation as deleteStoresLocation,\n      storesCatalogV3StoresLocation_universal_d_queryStoresLocations as queryStoresLocations,\n      storesCatalogV3StoresLocation_universal_d_StoresLocationsQueryResult as StoresLocationsQueryResult,\n      storesCatalogV3StoresLocation_universal_d_StoresLocationsQueryBuilder as StoresLocationsQueryBuilder,\n      storesCatalogV3StoresLocation_universal_d_getOrCreateDefaultStoresLocation as getOrCreateDefaultStoresLocation,\n    };\n  }\n  \n  export { storesCatalogV3Brand_universal_d as brandsV3, storesCatalogV1Provision_universal_d as catalogProvision, storesCatalogV3Provision_universal_d as catalogVersioning, storesCatalogV3Customization_universal_d as customizationsV3, storesCatalogV3InfoSection_universal_d as infoSectionsV3, storesCatalogV3InventoryItem_universal_d as inventoryItemsV3, storesCatalogV3ProductProductsV3_universal_d as productsV3, storesCatalogV3Ribbon_universal_d as ribbonsV3, storesCatalogV3StoresLocation_universal_d as storesLocationsV3 };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-payments.v2.d.ts",
      "content": "declare module \"wix-payments.v2\" {\n  interface OnboardingAvailability {\n      /**\n       * ID of this entity\n       * @readonly\n       */\n      _id?: string;\n      /** Information about CBD specific flow. Will have DECLINED status if user is not in United States */\n      cbdFlow?: CbdFlow;\n      /** Information about all restricted goods user might sell. */\n      restrictedGoodsFlow?: RestrictedGoodsFlow;\n      /** Information about services Wix Partner sells. */\n      partnerFlow?: PartnerFlow;\n      /**\n       * True, only if Wix Payments available to user due to the way account was created. False otherwise.\n       * @readonly\n       */\n      wixPaymentsAvailable?: boolean;\n  }\n  interface CbdFlow {\n      /**\n       * Current status of CBD flow.\n       * DECLINED - User does not sell CBD (or at least we do not know about it). Any payment service provider can be connected.\n       * POSSIBLE - User possibly sells CBD and we should ask for confirmation. User still can connect Wix Payments.\n       * CONFIRMED - User confirmed to sell CBD and now we should ask to complete attestation form. Only CBD providers can be connected. User can't connect Wix Payments.\n       */\n      status?: Status$2;\n      /** Information about completion of attestation form. Include date of signing. */\n      attestationInfo?: AttestationInfo;\n  }\n  enum Status$2 {\n      UNDEFINED = \"UNDEFINED\",\n      DECLINED = \"DECLINED\",\n      POSSIBLE = \"POSSIBLE\",\n      CONFIRMED = \"CONFIRMED\"\n  }\n  interface AttestationInfo {\n      /**\n       * Date of signing attestation form (only if status is CONFIRMED)\n       * @readonly\n       */\n      attestationFormSignedDate?: Date | null;\n      /** True, if attestation form was signed. False otherwise. */\n      formSigned?: boolean | null;\n  }\n  interface RestrictedGoodsFlow {\n      /**\n       * Current status of Restricted Goods flow.\n       * DECLINED - User confirmed that they don't sell any restricted goods. User may connect Wix Payments.\n       * CONFIRMED - User confirmed that they do sell restricted goods. User can't connect Wix Payments.\n       */\n      status?: RestrictedGoodsFlowStatus;\n      /** Contains detailed list of which restricted categories user sell. */\n      categories?: RestrictedGoodsCategory[];\n  }\n  enum RestrictedGoodsFlowStatus {\n      UNDEFINED = \"UNDEFINED\",\n      DECLINED = \"DECLINED\",\n      CONFIRMED = \"CONFIRMED\"\n  }\n  enum RestrictedGoodsCategory {\n      UNDEFINED = \"UNDEFINED\",\n      TOBACCO_ALCOHOL = \"TOBACCO_ALCOHOL\",\n      FIREARMS_WEAPONS = \"FIREARMS_WEAPONS\",\n      ADULT = \"ADULT\",\n      MEDICAL = \"MEDICAL\",\n      FINANCIAL = \"FINANCIAL\",\n      TRAVEL_AGENCIES = \"TRAVEL_AGENCIES\",\n      GAMBLING_LOTTERIES_SKILL_GAMES = \"GAMBLING_LOTTERIES_SKILL_GAMES\",\n      BINARY_OPTIONS_CRYPTOCURRENCIES = \"BINARY_OPTIONS_CRYPTOCURRENCIES\",\n      MARKETPLACES = \"MARKETPLACES\",\n      OTHER = \"OTHER\",\n      CBD = \"CBD\",\n      TOBACCO_E_CIGARETTES = \"TOBACCO_E_CIGARETTES\",\n      ALCOHOL = \"ALCOHOL\",\n      NUTRACEUTICALS = \"NUTRACEUTICALS\"\n  }\n  interface PartnerFlow {\n      /**\n       * Current status of Partner flow.\n       * DECLINED - User sells only approved services and may connect Wix Payments.\n       * CONFIRMED - User sells not approved services and can't connect Wix Payments.\n       */\n      status?: PartnerFlowStatus;\n  }\n  enum PartnerFlowStatus {\n      UNDEFINED = \"UNDEFINED\",\n      DECLINED = \"DECLINED\",\n      CONFIRMED = \"CONFIRMED\"\n  }\n  interface GetOnboardingAvailabilityRequest {\n  }\n  interface GetOnboardingAvailabilityResponse {\n      /** Current state of onboarding availability for the merchant. */\n      onboardingAvailability?: OnboardingAvailability;\n  }\n  interface UpdateCbdFlowRequest {\n      /** New state of CBD flow for merchant. */\n      cbdFlow?: CbdFlow;\n  }\n  interface UpdateCbdFlowResponse {\n      /** Current state of onboarding availability for the merchant. */\n      onboardingAvailability?: OnboardingAvailability;\n  }\n  interface UpdateRestrictedGoodsFlowRequest {\n      /** New state of restricted goods flow for merchant. */\n      restrictedGoods?: RestrictedGoodsFlow;\n  }\n  interface UpdateRestrictedGoodsFlowResponse {\n      /** Current state of onboarding availability for the merchant. */\n      onboardingAvailability?: OnboardingAvailability;\n  }\n  interface UpdatePartnerFlowRequest {\n      /** New state of partner flow for merchant. */\n      partnerFlow?: PartnerFlow;\n  }\n  interface UpdatePartnerFlowResponse {\n      /** Current state of onboarding availability for the merchant. */\n      onboardingAvailability?: OnboardingAvailability;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Fetch current state of onboarding availability for meta site.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CASHIER.ONBOARDING_AVAILABILITY_READ\n   * @adminMethod\n   */\n  function getOnboardingAvailability(): Promise<GetOnboardingAvailabilityResponse>;\n  /**\n   * Update current state of CBD flow for meta site.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CASHIER.ONBOARDING_AVAILABILITY_UPDATE_CBD_FLOW\n   * @adminMethod\n   */\n  function updateCbdFlow(options?: UpdateCbdFlowOptions): Promise<UpdateCbdFlowResponse>;\n  interface UpdateCbdFlowOptions {\n      /** New state of CBD flow for merchant. */\n      cbdFlow?: CbdFlow;\n  }\n  /**\n   * Update current state of Restricted Goods flow for meta site.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CASHIER.ONBOARDING_AVAILABILITY_UPDATE_RG_FLOW\n   * @adminMethod\n   */\n  function updateRestrictedGoodsFlow(options?: UpdateRestrictedGoodsFlowOptions): Promise<UpdateRestrictedGoodsFlowResponse>;\n  interface UpdateRestrictedGoodsFlowOptions {\n      /** New state of restricted goods flow for merchant. */\n      restrictedGoods?: RestrictedGoodsFlow;\n  }\n  /**\n   * Update current state of partner flow for meta site.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId CASHIER.ONBOARDING_AVAILABILITY_UPDATE_PARTNER_FLOW\n   * @adminMethod\n   */\n  function updatePartnerFlow(options?: UpdatePartnerFlowOptions): Promise<UpdatePartnerFlowResponse>;\n  interface UpdatePartnerFlowOptions {\n      /** New state of partner flow for merchant. */\n      partnerFlow?: PartnerFlow;\n  }\n  \n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_OnboardingAvailability = OnboardingAvailability;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_CbdFlow = CbdFlow;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_AttestationInfo = AttestationInfo;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_RestrictedGoodsFlow = RestrictedGoodsFlow;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_RestrictedGoodsFlowStatus = RestrictedGoodsFlowStatus;\n  const cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_RestrictedGoodsFlowStatus: typeof RestrictedGoodsFlowStatus;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_RestrictedGoodsCategory = RestrictedGoodsCategory;\n  const cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_RestrictedGoodsCategory: typeof RestrictedGoodsCategory;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_PartnerFlow = PartnerFlow;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_PartnerFlowStatus = PartnerFlowStatus;\n  const cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_PartnerFlowStatus: typeof PartnerFlowStatus;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_GetOnboardingAvailabilityRequest = GetOnboardingAvailabilityRequest;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_GetOnboardingAvailabilityResponse = GetOnboardingAvailabilityResponse;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateCbdFlowRequest = UpdateCbdFlowRequest;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateCbdFlowResponse = UpdateCbdFlowResponse;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateRestrictedGoodsFlowRequest = UpdateRestrictedGoodsFlowRequest;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateRestrictedGoodsFlowResponse = UpdateRestrictedGoodsFlowResponse;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdatePartnerFlowRequest = UpdatePartnerFlowRequest;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdatePartnerFlowResponse = UpdatePartnerFlowResponse;\n  const cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_getOnboardingAvailability: typeof getOnboardingAvailability;\n  const cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_updateCbdFlow: typeof updateCbdFlow;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateCbdFlowOptions = UpdateCbdFlowOptions;\n  const cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_updateRestrictedGoodsFlow: typeof updateRestrictedGoodsFlow;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateRestrictedGoodsFlowOptions = UpdateRestrictedGoodsFlowOptions;\n  const cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_updatePartnerFlow: typeof updatePartnerFlow;\n  type cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdatePartnerFlowOptions = UpdatePartnerFlowOptions;\n  namespace cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d {\n    export {\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_OnboardingAvailability as OnboardingAvailability,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_CbdFlow as CbdFlow,\n      Status$2 as Status,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_AttestationInfo as AttestationInfo,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_RestrictedGoodsFlow as RestrictedGoodsFlow,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_RestrictedGoodsFlowStatus as RestrictedGoodsFlowStatus,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_RestrictedGoodsCategory as RestrictedGoodsCategory,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_PartnerFlow as PartnerFlow,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_PartnerFlowStatus as PartnerFlowStatus,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_GetOnboardingAvailabilityRequest as GetOnboardingAvailabilityRequest,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_GetOnboardingAvailabilityResponse as GetOnboardingAvailabilityResponse,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateCbdFlowRequest as UpdateCbdFlowRequest,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateCbdFlowResponse as UpdateCbdFlowResponse,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateRestrictedGoodsFlowRequest as UpdateRestrictedGoodsFlowRequest,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateRestrictedGoodsFlowResponse as UpdateRestrictedGoodsFlowResponse,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdatePartnerFlowRequest as UpdatePartnerFlowRequest,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdatePartnerFlowResponse as UpdatePartnerFlowResponse,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_getOnboardingAvailability as getOnboardingAvailability,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_updateCbdFlow as updateCbdFlow,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateCbdFlowOptions as UpdateCbdFlowOptions,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_updateRestrictedGoodsFlow as updateRestrictedGoodsFlow,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdateRestrictedGoodsFlowOptions as UpdateRestrictedGoodsFlowOptions,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_updatePartnerFlow as updatePartnerFlow,\n      cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d_UpdatePartnerFlowOptions as UpdatePartnerFlowOptions,\n    };\n  }\n  \n  /**\n   * todo\n   * A charge is a record of an attempt of\n   * to move money from a customer to a merchant.\n   * Read more about charges in this [article](<https://dev.wix.com/docs/rest/business-management/payments/charges/introduction>).\n   */\n  interface Charge extends ChargeNextActionOneOf {\n      /** A browser should issue an HTTP GET request and render the result. */\n      getMethodRedirect?: GetMethodRedirect;\n      /** A browser should issue an HTTP POST request and render the result. */\n      postMethodRedirect?: PostMethodRedirect;\n      /** A browser should display a barcode / barcode url to continue payment. */\n      barcodeDisplay?: BarcodeDisplay;\n      /** A client should interact with card reader. */\n      cardReaderInteraction?: CardReaderInteraction;\n      /** A browser should show a QR code to continue payment. */\n      qrCodeDisplay?: QrCodeDisplay;\n      /**\n       * A browser should display an iframe with web page.\n       * Redirect shouldn't be performed as it's designed to be embedded into checkout page.\n       */\n      webPageDisplay?: WebPageDisplay;\n      payPalSdkInteraction?: PayPalSdkInteraction;\n      /**\n       * Charge ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the charge is updated.\n       * Ignored when creating a charge.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the charge was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the charge was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Merchant's account connection ID. */\n      accountConnectionId?: string | null;\n      /** PaymentIntent which was used to create the charge if it exists. */\n      paymentIntentId?: string | null;\n      /** Payment agreement which was used to create the charge if it exists. */\n      paymentAgreementId?: string | null;\n      /**\n       * Status of the charge.\n       * Read more about statuses in this [article](<https://dev.wix.com/docs/rest/business-management/payments/charges/introduction#lifecycle-of-a-charge>). // todo\n       * @readonly\n       */\n      status?: Status$1;\n      /**\n       * Details about charge status.\n       * @readonly\n       */\n      statusInfo?: StatusInfo$1;\n      /**\n       * Authorization amount of the charge in base units.\n       * E.g. \"12.95\".\n       */\n      authorizationAmount?: string | null;\n      /** Currency of the charge. */\n      currency?: string | null;\n      /**\n       * Amount of the application fee in base units.\n       * E.g. \"12.95\".\n       * Application fee is the fee that the platform charges for the transaction.\n       * Application fee is part of the amount represented by line items total amount + additional charges.\n       */\n      applicationFee?: string | null;\n      /** Order line items. */\n      items?: Item[];\n      /** Additional charges to the order - e.g., tax, shipping or discount. */\n      additionalCharges?: AdditionalCharges;\n      /** Timestamp on which event/delivery/ect. happens and order is considered fulfilled */\n      fulfillmentDate?: Date | null;\n      /** Complete description that appears on the customers' statements. */\n      statementDescriptor?: string | null;\n      /** Billing information. */\n      billingInfo?: Address;\n      /** Shipping information. */\n      shippingInfo?: Address;\n      /** Payment method data that is used to create this charge. */\n      paymentMethod?: PaymentMethod$1;\n      /**\n       * Payment method information enriched with data from the payment provider.\n       * @readonly\n       */\n      paymentMethodInfo?: PaymentMethodInfo;\n      /** Request charge to be made using strong customer authentication e.g. 3-D Secure. */\n      scaRequested?: boolean | null;\n      /**\n       * Indicates if the charge is off-session.\n       * Off-session charges are charges that are initiated by the merchant on behalf of the customer\n       * e.g. charging a customer for a late fee or an incidental for a car rental\n       * or automatically e.g. subscription renewal.\n       */\n      offSession?: boolean | null;\n      /** Indicates if the charge is a mail order/telephone order (MOTO). */\n      moto?: boolean | null;\n      /** Indicates if the charge is an unscheduled merchant initiated payment. */\n      unscheduledMit?: boolean | null;\n      /**\n       * Indicates that you intend to make future payments with payment method used in this charge.\n       * If it’s set to true than payment agreement will be created after charge succeeds.\n       */\n      setupFutureUsages?: boolean | null;\n      /**\n       * Redirect URLs for different payment outcomes. PSP-hosted payment pages use these URLs to redirect\n       * the buyer back to the merchant’s site.\n       */\n      returnUrls?: ReturnUrls;\n      /** Payment information for the risk evaluation score. */\n      riskData?: RiskData;\n      /** Buyer information used to notify buyer about payment and to store payment credentials on file. */\n      buyerInfo?: BuyerInfo;\n      /** Indicates that capture shouldn't be performed automatically immediately after successful authorization. */\n      delayedCapture?: boolean | null;\n      /**\n       * Amount that was already captured.\n       * E.g. \"12.95\".\n       * @readonly\n       */\n      capturedAmount?: string | null;\n      /** Number of installments. */\n      installment?: number | null;\n      /** Data Extensions. */\n      extendedFields?: ExtendedFields$2;\n  }\n  /** @oneof */\n  interface ChargeNextActionOneOf {\n      /** A browser should issue an HTTP GET request and render the result. */\n      getMethodRedirect?: GetMethodRedirect;\n      /** A browser should issue an HTTP POST request and render the result. */\n      postMethodRedirect?: PostMethodRedirect;\n      /** A browser should display a barcode / barcode url to continue payment. */\n      barcodeDisplay?: BarcodeDisplay;\n      /** A client should interact with card reader. */\n      cardReaderInteraction?: CardReaderInteraction;\n      /** A browser should show a QR code to continue payment. */\n      qrCodeDisplay?: QrCodeDisplay;\n      /**\n       * A browser should display an iframe with web page.\n       * Redirect shouldn't be performed as it's designed to be embedded into checkout page.\n       */\n      webPageDisplay?: WebPageDisplay;\n      payPalSdkInteraction?: PayPalSdkInteraction;\n  }\n  /** Full contact details for an address */\n  interface FullAddressContactDetails {\n      /** Contact's first name. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /**\n       * Contact's full name.\n       * @internal\n       */\n      fullName?: string | null;\n      /** Contact's phone number. */\n      phone?: string | null;\n      /** Contact's company name. */\n      company?: string | null;\n      /** Email associated with the address. */\n      email?: string | null;\n      /** Tax info. Currently usable only in Brazil. */\n      vatId?: VatId;\n  }\n  interface VatId {\n      /** Customer's tax ID. */\n      _id?: string;\n      /**\n       * Tax type.\n       *\n       * Supported values:\n       * + `CPF`: for individual tax payers\n       * + `CNPJ`: for corporations\n       */\n      type?: VatType;\n  }\n  /** tax info types */\n  enum VatType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      /** CPF - for individual tax payers. */\n      CPF = \"CPF\",\n      /** CNPJ - for corporations */\n      CNPJ = \"CNPJ\"\n  }\n  /**\n   * A common address format to use if you plan to store addresses in your service\n   * todo: remove unused fields from decomposition and remove validations\n   * Physical address\n   */\n  interface CommonAddress extends CommonAddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /**\n       * A string containing the full address of this location.\n       * @internal\n       */\n      formatted?: string | null;\n      /**\n       * Coordinates of the physical address.\n       * @internal\n       */\n      location?: AddressLocation;\n      /**\n       * Country full name.\n       * @internal\n       */\n      countryFullname?: string | null;\n      /**\n       * Subdivision full name.\n       * @internal\n       */\n      subdivisionFullname?: string | null;\n      /**\n       * Multi-level subdivisions from top to bottom.\n       * @internal\n       */\n      subdivisions?: Subdivision[];\n  }\n  /** @oneof */\n  interface CommonAddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /**\n       * Apartment number.\n       * @internal\n       */\n      apt?: string;\n      /**\n       * Optional address line 1\n       * @internal\n       */\n      formattedAddressLine?: string | null;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Short subdivision code. */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n      /**\n       * Subdivision level\n       * @internal\n       */\n      type?: SubdivisionType;\n      /**\n       * Free text description of subdivision type.\n       * @internal\n       */\n      typeInfo?: string | null;\n  }\n  enum SubdivisionType {\n      UNKNOWN_SUBDIVISION_TYPE = \"UNKNOWN_SUBDIVISION_TYPE\",\n      /** State */\n      ADMINISTRATIVE_AREA_LEVEL_1 = \"ADMINISTRATIVE_AREA_LEVEL_1\",\n      /** County */\n      ADMINISTRATIVE_AREA_LEVEL_2 = \"ADMINISTRATIVE_AREA_LEVEL_2\",\n      /** City/town */\n      ADMINISTRATIVE_AREA_LEVEL_3 = \"ADMINISTRATIVE_AREA_LEVEL_3\",\n      /** Neighborhood/quarter */\n      ADMINISTRATIVE_AREA_LEVEL_4 = \"ADMINISTRATIVE_AREA_LEVEL_4\",\n      /** Street/block */\n      ADMINISTRATIVE_AREA_LEVEL_5 = \"ADMINISTRATIVE_AREA_LEVEL_5\",\n      /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n      COUNTRY = \"COUNTRY\"\n  }\n  interface CardPayment {\n      /** the card number token */\n      numberToken?: string;\n      /** the month of the card expiration date */\n      expiryMonth?: number;\n      /** the full year of the card expiration date */\n      expiryYear?: number;\n      /** the cardholder name printed on the card */\n      holderName?: string | null;\n      /** the CVV/CVC/CID token */\n      securityCodeToken?: string | null;\n  }\n  interface CardReaderPayment {\n      /** the location ID */\n      locationId?: string | null;\n      /** the terminal ID */\n      terminalId?: string | null;\n      /** the service ID */\n      serviceId?: string | null;\n      /**\n       * whether create intent only or complete transaction (use this flag only if you know what it means)\n       * @deprecated whether create intent only or complete transaction (use this flag only if you know what it means)\n       * @targetRemovalDate 2025-06-01\n       */\n      createIntentOnly?: boolean | null;\n  }\n  interface IDealPayment {\n      /** the code of the issuing bank */\n      issuingBank?: string;\n  }\n  interface ApplePayPayment {\n      /**\n       * the payment token\n       * [!] This field is only used during charge creation and is not a part of the charge object.\n       */\n      token?: string;\n  }\n  interface PayPalPayment {\n      payPalToken?: string | null;\n      useExpressCheckout?: boolean | null;\n  }\n  interface GooglePayPayment {\n      /**\n       * the payment token\n       * [!] This field is only used during charge creation and is not a part of the charge object.\n       */\n      token?: string;\n  }\n  interface SavedCardPayment {\n      /** id of previously saved Payment Method */\n      savedPaymentMethodId?: string;\n      /** the CVV/CVC/CID token */\n      securityCodeToken?: string | null;\n  }\n  interface CardInfo$1 {\n      /**\n       * Card last 4 digits.\n       * @readonly\n       */\n      lastFourDigits?: string | null;\n      /**\n       * Card BIN (Bank Identification Number). It's the first 4-8 digits of a card number.\n       * @readonly\n       */\n      bin?: string | null;\n      /** Card expiration month. */\n      expirationMonth?: number | null;\n      /** Card expiration year. */\n      expirationYear?: number | null;\n      /** Card holder's full name specified on the card. */\n      cardholderName?: string | null;\n      /**\n       * Card brand.\n       * *INTERNAL* as it's not platformized yet.\n       * @internal\n       * @readonly\n       */\n      brand?: CardBrand$1;\n      /** Reference to transaction on network's side associated with this charge. */\n      networkReference?: NetworkReference;\n  }\n  enum CardBrand$1 {\n      UNKNOWN_CARD_BRAND = \"UNKNOWN_CARD_BRAND\",\n      AMEX = \"AMEX\",\n      DANKORT = \"DANKORT\",\n      DINERS = \"DINERS\",\n      DISCOVER = \"DISCOVER\",\n      ISRACARD = \"ISRACARD\",\n      JCB = \"JCB\",\n      MAESTRO = \"MAESTRO\",\n      MASTERCARD = \"MASTERCARD\",\n      UNIONPAY = \"UNIONPAY\",\n      VISA = \"VISA\",\n      RUPAY = \"RUPAY\"\n  }\n  interface NetworkReference {\n      /** Transaction ID assigned by a card scheme (Trace ID for Mastercard or Transaction ID for Visa). */\n      networkTransactionId?: string | null;\n      /** Transaction ID assigned by 3D Secure 2 directory server. */\n      dsTransactionId?: string | null;\n  }\n  interface CardReaderInfo {\n      /** Location ID. */\n      locationId?: string | null;\n      /** Terminal ID. */\n      terminalId?: string | null;\n      /** Service ID. */\n      serviceId?: string | null;\n  }\n  interface BankInfo {\n      issuingBank?: string | null;\n  }\n  interface AccountInfo {\n      /**\n       * The email of an Account used by Payment Method\n       * @readonly\n       */\n      email?: string | null;\n  }\n  interface CofInfo {\n      /** Tokens that are used to reference a payment agreement in external payment provider. */\n      providerToken?: string | null;\n  }\n  interface FormField {\n      name?: string;\n      value?: string;\n  }\n  enum Status$1 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      STARTING = \"STARTING\",\n      NEEDS_ACTION = \"NEEDS_ACTION\",\n      PENDING = \"PENDING\",\n      AUTHORIZED = \"AUTHORIZED\",\n      PARTIALLY_CAPTURED = \"PARTIALLY_CAPTURED\",\n      CAPTURED = \"CAPTURED\",\n      VOIDED = \"VOIDED\",\n      FAILED = \"FAILED\"\n  }\n  interface StatusInfo$1 {\n      /**\n       * Reason code.\n       * [Read more about reason codes.](https://dev.wix.com/docs/rest/api-reference/payment-provider-spi/reason-codes)\n       */\n      code?: string | null;\n      /** Free-text description. */\n      description?: string | null;\n  }\n  interface Item {\n      /** Item ID. */\n      _id?: string | null;\n      /**\n       * Item name.\n       * @readonly\n       */\n      name?: string | null;\n      /** Item quantity. */\n      quantity?: number | null;\n      /** Item price. */\n      price?: string | null;\n      /** Item description. */\n      description?: string | null;\n      /** Item weight in KG. */\n      weightInKg?: number | null;\n      /** Is item a tangible product. */\n      tangible?: boolean | null;\n  }\n  interface AdditionalCharges {\n      tax?: string | null;\n      shipping?: string | null;\n      discount?: string | null;\n  }\n  interface Address {\n      contactDetails?: FullAddressContactDetails;\n      address?: CommonAddress;\n  }\n  /**\n   * Payment method options\n   * todo: consider PaymentSource name\n   */\n  interface PaymentMethod$1 extends PaymentMethodPaymentMethodOneOf {\n      /** payment with a card online */\n      card?: CardPayment;\n      /** payment with a card at a POS */\n      cardReader?: CardReaderPayment;\n      /** the iDEAL payment system */\n      ideal?: IDealPayment;\n      /** the Apple Pay digital wallet */\n      applePay?: ApplePayPayment;\n      /** the PayPal digital wallet */\n      payPal?: PayPalPayment;\n      /** Google Pay */\n      googlePay?: GooglePayPayment;\n      /** payment with a card using saved card */\n      savedCard?: SavedCardPayment;\n      /** Payment method type id. */\n      typeId?: string;\n  }\n  /** @oneof */\n  interface PaymentMethodPaymentMethodOneOf {\n      /** payment with a card online */\n      card?: CardPayment;\n      /** payment with a card at a POS */\n      cardReader?: CardReaderPayment;\n      /** the iDEAL payment system */\n      ideal?: IDealPayment;\n      /** the Apple Pay digital wallet */\n      applePay?: ApplePayPayment;\n      /** the PayPal digital wallet */\n      payPal?: PayPalPayment;\n      /** Google Pay */\n      googlePay?: GooglePayPayment;\n      /** payment with a card using saved card */\n      savedCard?: SavedCardPayment;\n  }\n  interface PaymentMethodInfo {\n      /** Payment method type id. */\n      typeId?: string;\n      /** Card payment information. */\n      cardInfo?: CardInfo$1;\n      /** POS card reader payment information. */\n      cardReaderInfo?: CardReaderInfo;\n      /** Information for bank-based payment methods like iDEAL. */\n      bankInfo?: BankInfo;\n      /** The details of an account. */\n      accountInfo?: AccountInfo;\n      /**\n       * Credentials on file information for the payment method.\n       * @internal\n       * @readonly\n       */\n      cofInfo?: CofInfo;\n  }\n  interface ReturnUrls {\n      /** todo: what to do with non-web urls? */\n      successUrl?: string | null;\n      errorUrl?: string | null;\n      pendingUrl?: string | null;\n  }\n  interface RiskData {\n      userAgent?: string | null;\n      referrerHeader?: string | null;\n      acceptHeader?: string | null;\n      ipAddress?: string | null;\n      deviceFingerprint?: string | null;\n      riskProviderData?: Record<string, string>;\n  }\n  interface BuyerInfo {\n      contactId?: string | null;\n      siteMemberId?: string | null;\n      userId?: string | null;\n      buyerLanguage?: string | null;\n  }\n  interface GetMethodRedirect {\n      url?: string;\n  }\n  interface PostMethodRedirect {\n      url?: string;\n      fields?: FormField[];\n  }\n  interface BarcodeDisplay {\n      barcode?: string | null;\n      barcodeUrl?: string | null;\n      expirationDate?: Date | null;\n      billingEmail?: string | null;\n  }\n  interface CardReaderInteraction {\n      readerToken?: string | null;\n  }\n  interface QrCodeDisplay {\n      payload?: string | null;\n      expirationDate?: Date | null;\n  }\n  interface WebPageDisplay {\n      url?: string | null;\n      expirationDate?: Date | null;\n  }\n  interface PayPalSdkInteraction {\n      payPalOrderId?: string | null;\n  }\n  interface ExtendedFields$2 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateChargeRequest {\n      charge: Charge;\n  }\n  interface CreateChargeResponse {\n      charge?: Charge;\n  }\n  interface GetChargeRequest {\n      chargeId: string;\n      /**\n       * List of heeded fields that will be returned.\n       * You should have additional permission in order to get them as described in RequestedFields documentation.\n       */\n      fields?: RequestedFields$1[];\n  }\n  enum RequestedFields$1 {\n      /** Default value. This value is unused. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      SENSITIVE_INFO = \"SENSITIVE_INFO\"\n  }\n  interface GetChargeResponse {\n      charge?: Charge;\n  }\n  interface QueryChargesRequest {\n      query?: CursorQuery$1;\n      /**\n       * List of heeded fields that will be returned.\n       * You should have additional permission in order to get them as described in RequestedFields documentation.\n       */\n      fields?: RequestedFields$1[];\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryChargesResponse {\n      charges?: Charge[];\n      pagingMetadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface VoidChargeRequest {\n      chargeId: string;\n  }\n  interface VoidChargeResponse {\n      charge?: Charge;\n  }\n  interface CaptureChargeRequest {\n      chargeId: string;\n      amount?: string | null;\n      capturedAmount?: string | null;\n  }\n  interface CaptureChargeResponse {\n      charge?: Charge;\n  }\n  interface UpdateExtendedFieldsRequest$1 {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse$1 {\n      charge?: Charge;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField charge\n   * @permissionId PAYMENTS.CHARGE_CREATE\n   * @adminMethod\n   */\n  function createCharge(charge: Charge): Promise<Charge>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField chargeId\n   * @permissionId PAYMENTS.CHARGE_READ\n   * @adminMethod\n   */\n  function getCharge(chargeId: string, options?: GetChargeOptions): Promise<Charge>;\n  interface GetChargeOptions {\n      /**\n       * List of heeded fields that will be returned.\n       * You should have additional permission in order to get them as described in RequestedFields documentation.\n       */\n      fields?: RequestedFields$1[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId PAYMENTS.CHARGE_READ\n   * @adminMethod\n   */\n  function queryCharges(options?: QueryChargesOptions): ChargesQueryBuilder;\n  interface QueryChargesOptions {\n      /**\n       * List of heeded fields that will be returned.\n       * You should have additional permission in order to get them as described in RequestedFields documentation.\n       */\n      fields?: RequestedFields$1[] | undefined;\n  }\n  interface QueryCursorResult$1 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ChargesQueryResult extends QueryCursorResult$1 {\n      items: Charge[];\n      query: ChargesQueryBuilder;\n      next: () => Promise<ChargesQueryResult>;\n      prev: () => Promise<ChargesQueryResult>;\n  }\n  interface ChargesQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ChargesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ChargesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ChargesQueryResult>;\n  }\n  /**\n   * todo: should it be here ???\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField chargeId\n   * @permissionId PAYMENTS.CHARGE_VOID\n   * @adminMethod\n   */\n  function voidCharge(chargeId: string): Promise<VoidChargeResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField chargeId\n   * @permissionId PAYMENTS.CHARGE_CAPTURE\n   * @adminMethod\n   */\n  function captureCharge(chargeId: string, options?: CaptureChargeOptions): Promise<CaptureChargeResponse>;\n  interface CaptureChargeOptions {\n      amount?: string | null;\n      capturedAmount?: string | null;\n  }\n  /** @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId PAYMENTS.CHARGE_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields$1(_id: string, namespace: string, options: UpdateExtendedFieldsOptions$1): Promise<UpdateExtendedFieldsResponse$1>;\n  interface UpdateExtendedFieldsOptions$1 {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  \n  type paymentsChargesV1Charge_universal_d_Charge = Charge;\n  type paymentsChargesV1Charge_universal_d_ChargeNextActionOneOf = ChargeNextActionOneOf;\n  type paymentsChargesV1Charge_universal_d_FullAddressContactDetails = FullAddressContactDetails;\n  type paymentsChargesV1Charge_universal_d_VatId = VatId;\n  type paymentsChargesV1Charge_universal_d_VatType = VatType;\n  const paymentsChargesV1Charge_universal_d_VatType: typeof VatType;\n  type paymentsChargesV1Charge_universal_d_CommonAddress = CommonAddress;\n  type paymentsChargesV1Charge_universal_d_CommonAddressStreetOneOf = CommonAddressStreetOneOf;\n  type paymentsChargesV1Charge_universal_d_StreetAddress = StreetAddress;\n  type paymentsChargesV1Charge_universal_d_AddressLocation = AddressLocation;\n  type paymentsChargesV1Charge_universal_d_Subdivision = Subdivision;\n  type paymentsChargesV1Charge_universal_d_SubdivisionType = SubdivisionType;\n  const paymentsChargesV1Charge_universal_d_SubdivisionType: typeof SubdivisionType;\n  type paymentsChargesV1Charge_universal_d_CardPayment = CardPayment;\n  type paymentsChargesV1Charge_universal_d_CardReaderPayment = CardReaderPayment;\n  type paymentsChargesV1Charge_universal_d_IDealPayment = IDealPayment;\n  type paymentsChargesV1Charge_universal_d_ApplePayPayment = ApplePayPayment;\n  type paymentsChargesV1Charge_universal_d_PayPalPayment = PayPalPayment;\n  type paymentsChargesV1Charge_universal_d_GooglePayPayment = GooglePayPayment;\n  type paymentsChargesV1Charge_universal_d_SavedCardPayment = SavedCardPayment;\n  type paymentsChargesV1Charge_universal_d_NetworkReference = NetworkReference;\n  type paymentsChargesV1Charge_universal_d_CardReaderInfo = CardReaderInfo;\n  type paymentsChargesV1Charge_universal_d_BankInfo = BankInfo;\n  type paymentsChargesV1Charge_universal_d_AccountInfo = AccountInfo;\n  type paymentsChargesV1Charge_universal_d_CofInfo = CofInfo;\n  type paymentsChargesV1Charge_universal_d_FormField = FormField;\n  type paymentsChargesV1Charge_universal_d_Item = Item;\n  type paymentsChargesV1Charge_universal_d_AdditionalCharges = AdditionalCharges;\n  type paymentsChargesV1Charge_universal_d_Address = Address;\n  type paymentsChargesV1Charge_universal_d_PaymentMethodPaymentMethodOneOf = PaymentMethodPaymentMethodOneOf;\n  type paymentsChargesV1Charge_universal_d_PaymentMethodInfo = PaymentMethodInfo;\n  type paymentsChargesV1Charge_universal_d_ReturnUrls = ReturnUrls;\n  type paymentsChargesV1Charge_universal_d_RiskData = RiskData;\n  type paymentsChargesV1Charge_universal_d_BuyerInfo = BuyerInfo;\n  type paymentsChargesV1Charge_universal_d_GetMethodRedirect = GetMethodRedirect;\n  type paymentsChargesV1Charge_universal_d_PostMethodRedirect = PostMethodRedirect;\n  type paymentsChargesV1Charge_universal_d_BarcodeDisplay = BarcodeDisplay;\n  type paymentsChargesV1Charge_universal_d_CardReaderInteraction = CardReaderInteraction;\n  type paymentsChargesV1Charge_universal_d_QrCodeDisplay = QrCodeDisplay;\n  type paymentsChargesV1Charge_universal_d_WebPageDisplay = WebPageDisplay;\n  type paymentsChargesV1Charge_universal_d_PayPalSdkInteraction = PayPalSdkInteraction;\n  type paymentsChargesV1Charge_universal_d_CreateChargeRequest = CreateChargeRequest;\n  type paymentsChargesV1Charge_universal_d_CreateChargeResponse = CreateChargeResponse;\n  type paymentsChargesV1Charge_universal_d_GetChargeRequest = GetChargeRequest;\n  type paymentsChargesV1Charge_universal_d_GetChargeResponse = GetChargeResponse;\n  type paymentsChargesV1Charge_universal_d_QueryChargesRequest = QueryChargesRequest;\n  type paymentsChargesV1Charge_universal_d_QueryChargesResponse = QueryChargesResponse;\n  type paymentsChargesV1Charge_universal_d_VoidChargeRequest = VoidChargeRequest;\n  type paymentsChargesV1Charge_universal_d_VoidChargeResponse = VoidChargeResponse;\n  type paymentsChargesV1Charge_universal_d_CaptureChargeRequest = CaptureChargeRequest;\n  type paymentsChargesV1Charge_universal_d_CaptureChargeResponse = CaptureChargeResponse;\n  const paymentsChargesV1Charge_universal_d_createCharge: typeof createCharge;\n  const paymentsChargesV1Charge_universal_d_getCharge: typeof getCharge;\n  type paymentsChargesV1Charge_universal_d_GetChargeOptions = GetChargeOptions;\n  const paymentsChargesV1Charge_universal_d_queryCharges: typeof queryCharges;\n  type paymentsChargesV1Charge_universal_d_QueryChargesOptions = QueryChargesOptions;\n  type paymentsChargesV1Charge_universal_d_ChargesQueryResult = ChargesQueryResult;\n  type paymentsChargesV1Charge_universal_d_ChargesQueryBuilder = ChargesQueryBuilder;\n  const paymentsChargesV1Charge_universal_d_voidCharge: typeof voidCharge;\n  const paymentsChargesV1Charge_universal_d_captureCharge: typeof captureCharge;\n  type paymentsChargesV1Charge_universal_d_CaptureChargeOptions = CaptureChargeOptions;\n  namespace paymentsChargesV1Charge_universal_d {\n    export {\n      paymentsChargesV1Charge_universal_d_Charge as Charge,\n      paymentsChargesV1Charge_universal_d_ChargeNextActionOneOf as ChargeNextActionOneOf,\n      paymentsChargesV1Charge_universal_d_FullAddressContactDetails as FullAddressContactDetails,\n      paymentsChargesV1Charge_universal_d_VatId as VatId,\n      paymentsChargesV1Charge_universal_d_VatType as VatType,\n      paymentsChargesV1Charge_universal_d_CommonAddress as CommonAddress,\n      paymentsChargesV1Charge_universal_d_CommonAddressStreetOneOf as CommonAddressStreetOneOf,\n      paymentsChargesV1Charge_universal_d_StreetAddress as StreetAddress,\n      paymentsChargesV1Charge_universal_d_AddressLocation as AddressLocation,\n      paymentsChargesV1Charge_universal_d_Subdivision as Subdivision,\n      paymentsChargesV1Charge_universal_d_SubdivisionType as SubdivisionType,\n      paymentsChargesV1Charge_universal_d_CardPayment as CardPayment,\n      paymentsChargesV1Charge_universal_d_CardReaderPayment as CardReaderPayment,\n      paymentsChargesV1Charge_universal_d_IDealPayment as IDealPayment,\n      paymentsChargesV1Charge_universal_d_ApplePayPayment as ApplePayPayment,\n      paymentsChargesV1Charge_universal_d_PayPalPayment as PayPalPayment,\n      paymentsChargesV1Charge_universal_d_GooglePayPayment as GooglePayPayment,\n      paymentsChargesV1Charge_universal_d_SavedCardPayment as SavedCardPayment,\n      CardInfo$1 as CardInfo,\n      CardBrand$1 as CardBrand,\n      paymentsChargesV1Charge_universal_d_NetworkReference as NetworkReference,\n      paymentsChargesV1Charge_universal_d_CardReaderInfo as CardReaderInfo,\n      paymentsChargesV1Charge_universal_d_BankInfo as BankInfo,\n      paymentsChargesV1Charge_universal_d_AccountInfo as AccountInfo,\n      paymentsChargesV1Charge_universal_d_CofInfo as CofInfo,\n      paymentsChargesV1Charge_universal_d_FormField as FormField,\n      Status$1 as Status,\n      StatusInfo$1 as StatusInfo,\n      paymentsChargesV1Charge_universal_d_Item as Item,\n      paymentsChargesV1Charge_universal_d_AdditionalCharges as AdditionalCharges,\n      paymentsChargesV1Charge_universal_d_Address as Address,\n      PaymentMethod$1 as PaymentMethod,\n      paymentsChargesV1Charge_universal_d_PaymentMethodPaymentMethodOneOf as PaymentMethodPaymentMethodOneOf,\n      paymentsChargesV1Charge_universal_d_PaymentMethodInfo as PaymentMethodInfo,\n      paymentsChargesV1Charge_universal_d_ReturnUrls as ReturnUrls,\n      paymentsChargesV1Charge_universal_d_RiskData as RiskData,\n      paymentsChargesV1Charge_universal_d_BuyerInfo as BuyerInfo,\n      paymentsChargesV1Charge_universal_d_GetMethodRedirect as GetMethodRedirect,\n      paymentsChargesV1Charge_universal_d_PostMethodRedirect as PostMethodRedirect,\n      paymentsChargesV1Charge_universal_d_BarcodeDisplay as BarcodeDisplay,\n      paymentsChargesV1Charge_universal_d_CardReaderInteraction as CardReaderInteraction,\n      paymentsChargesV1Charge_universal_d_QrCodeDisplay as QrCodeDisplay,\n      paymentsChargesV1Charge_universal_d_WebPageDisplay as WebPageDisplay,\n      paymentsChargesV1Charge_universal_d_PayPalSdkInteraction as PayPalSdkInteraction,\n      ExtendedFields$2 as ExtendedFields,\n      paymentsChargesV1Charge_universal_d_CreateChargeRequest as CreateChargeRequest,\n      paymentsChargesV1Charge_universal_d_CreateChargeResponse as CreateChargeResponse,\n      paymentsChargesV1Charge_universal_d_GetChargeRequest as GetChargeRequest,\n      RequestedFields$1 as RequestedFields,\n      paymentsChargesV1Charge_universal_d_GetChargeResponse as GetChargeResponse,\n      paymentsChargesV1Charge_universal_d_QueryChargesRequest as QueryChargesRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      paymentsChargesV1Charge_universal_d_QueryChargesResponse as QueryChargesResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      paymentsChargesV1Charge_universal_d_VoidChargeRequest as VoidChargeRequest,\n      paymentsChargesV1Charge_universal_d_VoidChargeResponse as VoidChargeResponse,\n      paymentsChargesV1Charge_universal_d_CaptureChargeRequest as CaptureChargeRequest,\n      paymentsChargesV1Charge_universal_d_CaptureChargeResponse as CaptureChargeResponse,\n      UpdateExtendedFieldsRequest$1 as UpdateExtendedFieldsRequest,\n      UpdateExtendedFieldsResponse$1 as UpdateExtendedFieldsResponse,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      paymentsChargesV1Charge_universal_d_createCharge as createCharge,\n      paymentsChargesV1Charge_universal_d_getCharge as getCharge,\n      paymentsChargesV1Charge_universal_d_GetChargeOptions as GetChargeOptions,\n      paymentsChargesV1Charge_universal_d_queryCharges as queryCharges,\n      paymentsChargesV1Charge_universal_d_QueryChargesOptions as QueryChargesOptions,\n      paymentsChargesV1Charge_universal_d_ChargesQueryResult as ChargesQueryResult,\n      paymentsChargesV1Charge_universal_d_ChargesQueryBuilder as ChargesQueryBuilder,\n      paymentsChargesV1Charge_universal_d_voidCharge as voidCharge,\n      paymentsChargesV1Charge_universal_d_captureCharge as captureCharge,\n      paymentsChargesV1Charge_universal_d_CaptureChargeOptions as CaptureChargeOptions,\n      updateExtendedFields$1 as updateExtendedFields,\n      UpdateExtendedFieldsOptions$1 as UpdateExtendedFieldsOptions,\n    };\n  }\n  \n  /** Provider platform event */\n  interface ProviderPlatformEvent extends ProviderPlatformEventResourceOneOf {\n      /** Refund event data. */\n      refund?: RefundEvent;\n      /** Transaction event data. */\n      transaction?: TransactionEvent;\n      /** Capture event data */\n      capture?: CaptureEvent;\n      /** Void event data */\n      void?: VoidEvent;\n      /**\n       * This field is ignored, do not send it.\n       * @deprecated\n       */\n      pluginId?: string;\n  }\n  /** @oneof */\n  interface ProviderPlatformEventResourceOneOf {\n      /** Refund event data. */\n      refund?: RefundEvent;\n      /** Transaction event data. */\n      transaction?: TransactionEvent;\n      /** Capture event data */\n      capture?: CaptureEvent;\n      /** Void event data */\n      void?: VoidEvent;\n  }\n  interface RefundEvent {\n      /** Wix transaction ID. */\n      wixTransactionId?: string;\n      /** PSP refund ID. */\n      pluginRefundId?: string;\n      /** Wix [reason code](https://dev.wix.com/api/rest/all-apis/provider-platform/reason-codes#all-apis_provider-platform_reason-codes_refund-declined) indicating a failed request. */\n      reasonCode?: number;\n      /** Refunded amount. */\n      amount?: string;\n      /** Wix refund ID. This field is only required when a merchant initiates a refund from the Wix dashboard. */\n      wixRefundId?: string | null;\n      /** PSP-specific error code. */\n      errorCode?: string | null;\n      /** PSP-specific error message. */\n      errorMessage?: string | null;\n  }\n  interface TransactionEvent {\n      /** Wix transaction ID. */\n      wixTransactionId?: string;\n      /** PSP transaction ID. */\n      pluginTransactionId?: string;\n      /** Wix [reason code](https://dev.wix.com/api/rest/all-apis/provider-platform/reason-codes) indicating a failed or pending request. */\n      reasonCode?: number;\n      /** PSP-specific error code. */\n      errorCode?: string | null;\n      /** PSP-specific error message. */\n      errorMessage?: string | null;\n      /** Token data for stored payment method. */\n      credentialsOnFile?: CredentialsOnFile;\n      /** Details of actual customer's card, obtained from a Funding PAN as opposed to a Device PAN. */\n      cardDetails?: CardDetails;\n  }\n  interface CredentialsOnFile extends CredentialsOnFileInfoOneOf {\n      /** Network token data. */\n      cardReference?: CardReference;\n      /** Provider generated token data. */\n      paymentMethodReference?: PaymentMethodReference;\n  }\n  /** @oneof */\n  interface CredentialsOnFileInfoOneOf {\n      /** Network token data. */\n      cardReference?: CardReference;\n      /** Provider generated token data. */\n      paymentMethodReference?: PaymentMethodReference;\n  }\n  interface CardReference {\n      /** Network token. */\n      networkTransactionId?: string;\n      /** Directory Server transaction ID */\n      dsTransactionId?: string | null;\n  }\n  interface PaymentMethodReference {\n      /** Payment method token created by the PSP. */\n      token?: string;\n  }\n  interface CardDetails {\n      /** Issuer (business) identification number. First 6 or 8 digits of the card's number. */\n      bin?: string | null;\n      /** Last 4 digits of the card's number. */\n      lastFour?: string | null;\n  }\n  interface CaptureEvent {\n      /** Wix transaction ID. */\n      wixTransactionId?: string;\n      /** Wix [reason code](https://dev.wix.com/docs/rest/business-management/payments/service-plugins/payment-service-provider-service-plugin/reason-codes#capture-declined) indicating request's status. */\n      reasonCode?: number;\n      /** Capture amount. */\n      amount?: string;\n      /** PSP-specific error code. */\n      errorCode?: string | null;\n      /** PSP-specific error message. */\n      errorMessage?: string | null;\n  }\n  interface VoidEvent {\n      /** Wix transaction ID. */\n      wixTransactionId?: string;\n      /** PSP void ID. */\n      reasonCode?: number;\n      /** Voided amount. */\n      amount?: string;\n      /** PSP-specific error code. */\n      errorCode?: string | null;\n      /** PSP-specific error message. */\n      errorMessage?: string | null;\n  }\n  /** Submit event request */\n  interface SubmitEventRequest {\n      /** Event data. */\n      event: ProviderPlatformEvent;\n  }\n  /** Submit event response */\n  interface SubmitEventResponse {\n  }\n  /**\n   * This Wix API is used by a Payment Service Provider (PSP) to send webhooks about payment and refund states to Wix.\n   *\n   * Calls to this endpoint must include a `User-Agent` header with the name of the PSP and the integration version in this format: `{PSP}/{version}`.\n   * PSP's create their own version numbers.\n   *\n   * > You cannot try out this endpoint because an `Authorization` header value has to be obtained\n   * > with the OAuth 2.0 client credentials flow for a specific scope.\n   * > So please ignore the **Authorization** section below as well as the **Try It Out** button.\n   * @param event - Event data.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField event\n   * @permissionId CASHIER.GET_ACCESS\n   * @adminMethod\n   * @returns Submit event response\n   */\n  function submitEvent(event: ProviderPlatformEvent): Promise<void>;\n  \n  type paymentsPspV1ProviderPlatformEvent_universal_d_ProviderPlatformEvent = ProviderPlatformEvent;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_ProviderPlatformEventResourceOneOf = ProviderPlatformEventResourceOneOf;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_RefundEvent = RefundEvent;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_TransactionEvent = TransactionEvent;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_CredentialsOnFile = CredentialsOnFile;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_CredentialsOnFileInfoOneOf = CredentialsOnFileInfoOneOf;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_CardReference = CardReference;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_PaymentMethodReference = PaymentMethodReference;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_CardDetails = CardDetails;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_CaptureEvent = CaptureEvent;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_VoidEvent = VoidEvent;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_SubmitEventRequest = SubmitEventRequest;\n  type paymentsPspV1ProviderPlatformEvent_universal_d_SubmitEventResponse = SubmitEventResponse;\n  const paymentsPspV1ProviderPlatformEvent_universal_d_submitEvent: typeof submitEvent;\n  namespace paymentsPspV1ProviderPlatformEvent_universal_d {\n    export {\n      paymentsPspV1ProviderPlatformEvent_universal_d_ProviderPlatformEvent as ProviderPlatformEvent,\n      paymentsPspV1ProviderPlatformEvent_universal_d_ProviderPlatformEventResourceOneOf as ProviderPlatformEventResourceOneOf,\n      paymentsPspV1ProviderPlatformEvent_universal_d_RefundEvent as RefundEvent,\n      paymentsPspV1ProviderPlatformEvent_universal_d_TransactionEvent as TransactionEvent,\n      paymentsPspV1ProviderPlatformEvent_universal_d_CredentialsOnFile as CredentialsOnFile,\n      paymentsPspV1ProviderPlatformEvent_universal_d_CredentialsOnFileInfoOneOf as CredentialsOnFileInfoOneOf,\n      paymentsPspV1ProviderPlatformEvent_universal_d_CardReference as CardReference,\n      paymentsPspV1ProviderPlatformEvent_universal_d_PaymentMethodReference as PaymentMethodReference,\n      paymentsPspV1ProviderPlatformEvent_universal_d_CardDetails as CardDetails,\n      paymentsPspV1ProviderPlatformEvent_universal_d_CaptureEvent as CaptureEvent,\n      paymentsPspV1ProviderPlatformEvent_universal_d_VoidEvent as VoidEvent,\n      paymentsPspV1ProviderPlatformEvent_universal_d_SubmitEventRequest as SubmitEventRequest,\n      paymentsPspV1ProviderPlatformEvent_universal_d_SubmitEventResponse as SubmitEventResponse,\n      paymentsPspV1ProviderPlatformEvent_universal_d_submitEvent as submitEvent,\n    };\n  }\n  \n  /**\n   * A refund a record of an attempt of\n   * returning funds for a charge from a merchant to a buyer who has made a purchase.\n   * Read more about refunds in this [article](<https://dev.wix.com/docs/rest/business-management/payments/refunds/introduction>).\n   */\n  interface Refund {\n      /**\n       * Refund ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the refund is updated.\n       *\n       * Ignored when creating a refund.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the refund was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the refund was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Data Extensions */\n      extendedFields?: ExtendedFields$1;\n      /** ID of charge for which the funds are returned by this refund. */\n      chargeId?: string | null;\n      /** Currency of refund, should be the same as currency of charge. */\n      currency?: string | null;\n      /**\n       * Amount of refund in base units, what's returned to the buyer.\n       * E.g. \"12.95\".\n       */\n      amount?: string | null;\n      /**\n       * Application fee returned to merchant from Wix.\n       * In base units, e.g. \"12.95\".\n       * Not present when no application fee was returned.\n       * @readonly\n       */\n      returnedApplicationFee?: string | null;\n      /**\n       * Processing fee returned to merchant from provider.\n       * In base units, e.g. \"12.95\".\n       * Applicable only to Wix Payments provider.\n       * Not present when no processing fee was returned.\n       * @readonly\n       */\n      returnedProcessingFee?: string | null;\n      /**\n       * True when refund returns all funds for a charge.\n       * @readonly\n       */\n      full?: boolean | null;\n      /**\n       * Status of the refund.\n       * Read more about statuses in this [article](<https://dev.wix.com/docs/rest/business-management/payments/refunds/introduction#lifecycle-of-a-refund>).\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * ID of the refund on the PSP side.\n       * @readonly\n       */\n      providerRefundId?: string | null;\n      /**\n       * _INTERNAL_\n       * Who initiated this refund.\n       * @internal\n       */\n      initiator?: Initiator;\n      /** Reason why this refund was issued. */\n      reason?: string | null;\n      /**\n       * Details about refund status.\n       * Mostly used with statuses `FAILED` and `REVERSED`.\n       * @readonly\n       */\n      statusInfo?: StatusInfo;\n      /**\n       * Acquirer Reference Number.\n       * @readonly\n       */\n      acquirerReferenceNumber?: string | null;\n      /** Optional free-text note about this refund. */\n      note?: string | null;\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  enum Status {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /**\n       * Initial status for all refunds.\n       * Provisional, refund should be in this status for less than a minute.\n       */\n      STARTING = \"STARTING\",\n      /** Status right after STARTED for asynchronous refunds. */\n      PENDING = \"PENDING\",\n      /**\n       * Refund was successful.\n       * Can transition to REVERSED in corner cases.\n       */\n      SUCCEEDED = \"SUCCEEDED\",\n      /** Regular error, terminal status. */\n      FAILED = \"FAILED\",\n      /**\n       * Either refund reversal\n       * or any other error that comes after success, terminal status.\n       */\n      REVERSED = \"REVERSED\"\n  }\n  enum Initiator {\n      UNKNOWN_INITIATOR = \"UNKNOWN_INITIATOR\",\n      WIX = \"WIX\",\n      API = \"API\",\n      PROVIDER = \"PROVIDER\"\n  }\n  interface StatusInfo {\n      /**\n       * Reason code.\n       * [Read more about reason codes.](https://dev.wix.com/docs/rest/api-reference/payment-provider-spi/reason-codes)\n       */\n      code?: string;\n      /** Free-text description. */\n      description?: string | null;\n  }\n  interface InternalSyncRefundRequest {\n      /** Refund ID. */\n      refundId?: string | null;\n      /** ID of the refund on the PSP side. */\n      providerRefundId?: string | null;\n      /** ID of charge for which the funds are returned by this refund. */\n      chargeId?: string | null;\n      /**\n       * Status of the refund.\n       * Read more about statuses in this [article](<https://dev.wix.com/docs/rest/business-management/payments/refunds/introduction#lifecycle-of-a-refund>).\n       */\n      status?: Status;\n      /**\n       * Status code.\n       * [Read more about reason codes.](https://dev.wix.com/docs/rest/api-reference/payment-provider-spi/reason-codes)\n       */\n      statusCode?: string | null;\n      /** Currency of refund, should be the same as currency of charge. */\n      currency?: string | null;\n      /**\n       * Amount of refund in base units, what's returned to the buyer.\n       * E.g. \"12.95\".\n       */\n      amount?: string | null;\n      /**\n       * Application fee returned to merchant from Wix.\n       * Having this as a separate field since Refund.returned_application_fee is readOnly.\n       */\n      returnedApplicationFee?: string | null;\n      /** Reason why this refund was issued. */\n      reason?: string | null;\n      /** Optional free-text note about this refund. */\n      note?: string | null;\n  }\n  interface InternalSyncRefundResponse {\n      /** Created/updated refund. */\n      refund?: Refund;\n  }\n  interface CreateRefundRequest {\n      /** Refund to be created. */\n      refund: Refund;\n      /**\n       * _INTERNAL_\n       * True means processing fee for the refunded charge should be returned to the merchant.\n       * Applies only to Wix Payments charges.\n       * `PAYMENTS.REFUND_RETURN_PROCESSING_FEE` permission is required.\n       * @internal\n       */\n      returnProcessingFee?: boolean | null;\n      /**\n       * Optional parameter used to prevent unintended refunds.\n       * Used to check previously refunded amount according to the client\n       * against the amount from server perspective.\n       * If they don't match, error with code `PREVIOUSLY_REFUNDED_AMOUNT_MISMATCH` is returned.\n       *\n       * Read more about preventing unintended refunds in this\n       * [article](<https://dev.wix.com/docs/rest/business-management/payments/refunds/introduction#preventing-unintended-refunds>).\n       */\n      previouslyRefundedAmount?: string | null;\n  }\n  interface CreateRefundResponse {\n      /** The created refund. */\n      refund?: Refund;\n  }\n  interface GetRefundRequest {\n      /** ID of the refund to retrieve. */\n      refundId: string;\n  }\n  interface GetRefundResponse {\n      /** The requested refund. */\n      refund?: Refund;\n  }\n  interface QueryRefundsRequest {\n      /** WQL expression. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryRefundsResponse {\n      /** List of refunds. */\n      refunds?: Refund[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** Updated refund. */\n      refund?: Refund;\n  }\n  interface GetRefundabilityRequest {\n      /** ID of the charge for which refundability will be calculated. */\n      chargeId: string;\n  }\n  interface GetRefundabilityResponse {\n      /** Refundability for the charge. */\n      refundability?: Refundability;\n  }\n  /**\n   * Internal notes:\n   *\n   * Instead of separate Refundability and PartialRefundability, we provide min and max refund amount.\n   * If only full refund is possible, min_refund_amount = max_refund_amount = charge amount.\n   */\n  interface Refundability extends RefundabilityDetailsOneOf {\n      /** When charge is refundable, specifies what amounts are allowed for refund. */\n      refundOptions?: RefundOptions;\n      /** When charge is not refundable, specifies why refund is not allowed. */\n      rejection?: Rejection;\n      /** Whether the caller is allowed to refund the charge. */\n      refundable?: boolean;\n      /** Currency of the charge. */\n      currency?: string | null;\n      /**\n       * Sum of amounts of `SUCCEEDED` refunds for this charge in base units, e.g. \"6.47\".\n       * Used to prevent unintended refunds, read more in this\n       * [article](<https://dev.wix.com/docs/rest/business-management/payments/refunds/introduction#preventing-unintended-refunds>).\n       */\n      previouslyRefundedAmount?: string | null;\n  }\n  /** @oneof */\n  interface RefundabilityDetailsOneOf {\n      /** When charge is refundable, specifies what amounts are allowed for refund. */\n      refundOptions?: RefundOptions;\n      /** When charge is not refundable, specifies why refund is not allowed. */\n      rejection?: Rejection;\n  }\n  interface RefundOptions {\n      /** Minimum amount allowed to be refunded in base units, e.g. \"0.50\". */\n      minRefundAmount?: string | null;\n      /** Maximum amount allowed to be refunded in base units, e.g. \"12.95\". */\n      maxRefundAmount?: string | null;\n  }\n  interface Rejection {\n      /**\n       * Following reasons are possible:\n       * - `CHARGE_REFUNDED` — charge is already fully refunded.\n       * - `CHARGE_REFUND_IN_PROGRESS` — another refund was initiated for this charge\n       * and is waiting for confirmation from the provider.\n       * - `CHARGE_DISPUTED` — charge was disputed.\n       * - `CHARGE_REFUND_PERIOD_ENDED` — charge is too old to be refunded.\n       * - `CHARGE_UNPAID` — charge is unpaid.\n       * - `PROVIDER_DOWN` — PSP is temporarily down.\n       * - `PROVIDER_NOT_SUPPORTED` — provider doesn't support refunds at the moment,\n       * charge is in the wrong state,\n       * or we don't have required information for this transaction.\n       * - `PAYMENT_METHOD_NOT_SUPPORTED` — payment method of a charge doesn't support refunds.\n       * - `MERCHANT_ACCOUNT_NOT_SUPPORTED` — merchant account doesn't support refunds at the moment.\n       * - `MERCHANT_BALANCE_INSUFFICIENT` — merchant doesn't have enough balance to issue a refund for this charge.\n       * - `NOT_AUTHORIZED` — logged in merchant has no permission to refund this charge.\n       */\n      reason?: RejectionReason;\n  }\n  enum RejectionReason {\n      UNKNOWN_REJECTION_REASON = \"UNKNOWN_REJECTION_REASON\",\n      /** Charge is already fully refunded. */\n      CHARGE_REFUNDED = \"CHARGE_REFUNDED\",\n      /** Another refund was initiated for this charge and is waiting for confirmation from the provider. */\n      CHARGE_REFUND_IN_PROGRESS = \"CHARGE_REFUND_IN_PROGRESS\",\n      /** Charge was disputed. */\n      CHARGE_DISPUTED = \"CHARGE_DISPUTED\",\n      /** Charge is too old to be refunded. */\n      CHARGE_REFUND_PERIOD_ENDED = \"CHARGE_REFUND_PERIOD_ENDED\",\n      /** Charge is unpaid. */\n      CHARGE_UNPAID = \"CHARGE_UNPAID\",\n      /** PSP is temporarily down. */\n      PROVIDER_DOWN = \"PROVIDER_DOWN\",\n      /**\n       * Provider doesn't support refunds at the moment, transaction in a wrong state or we don't\n       * have required information for this transaction.\n       */\n      PROVIDER_NOT_SUPPORTED = \"PROVIDER_NOT_SUPPORTED\",\n      /** Payment method of a charge doesn't support refunds. */\n      PAYMENT_METHOD_NOT_SUPPORTED = \"PAYMENT_METHOD_NOT_SUPPORTED\",\n      /** Merchant account doesn't support refunds at the moment. */\n      MERCHANT_ACCOUNT_NOT_SUPPORTED = \"MERCHANT_ACCOUNT_NOT_SUPPORTED\",\n      /** Merchant doesn't have enough balance to issue a refund for this charge. */\n      MERCHANT_BALANCE_INSUFFICIENT = \"MERCHANT_BALANCE_INSUFFICIENT\",\n      /** Logged in merchant has no permission to refund this charge. */\n      NOT_AUTHORIZED = \"NOT_AUTHORIZED\"\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a refund.\n   * Refunding process starts immediately after refund entity is created.\n   *\n   * If amount and currency are not specified,\n   * refund is created for full charge amount.\n   * If amount is specified, you also need to specify currency,\n   * and it should be the same as charge currency.\n   *\n   * The call blocks until refund status transitions from `STARTING`.\n   * Read more about refund statuses in this\n   * [article](<https://dev.wix.com/docs/rest/business-management/payments/refunds/introduction#lifecycle-of-a-refund>).\n   * @param refund - Refund to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField refund\n   * @requiredField refund.chargeId\n   * @permissionId PAYMENTS.REFUND_CREATE\n   * @adminMethod\n   * @returns The created refund.\n   */\n  function createRefund(refund: Refund, options?: CreateRefundOptions): Promise<Refund>;\n  interface CreateRefundOptions {\n      /**\n       * _INTERNAL_\n       * True means processing fee for the refunded charge should be returned to the merchant.\n       * Applies only to Wix Payments charges.\n       * `PAYMENTS.REFUND_RETURN_PROCESSING_FEE` permission is required.\n       * @internal\n       */\n      returnProcessingFee?: boolean | null;\n      /**\n       * Optional parameter used to prevent unintended refunds.\n       * Used to check previously refunded amount according to the client\n       * against the amount from server perspective.\n       * If they don't match, error with code `PREVIOUSLY_REFUNDED_AMOUNT_MISMATCH` is returned.\n       *\n       * Read more about preventing unintended refunds in this\n       * [article](<https://dev.wix.com/docs/rest/business-management/payments/refunds/introduction#preventing-unintended-refunds>).\n       */\n      previouslyRefundedAmount?: string | null;\n  }\n  /**\n   * Retrieves a refund.\n   * @param refundId - ID of the refund to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField refundId\n   * @permissionId PAYMENTS.REFUND_READ\n   * @adminMethod\n   * @returns The requested refund.\n   */\n  function getRefund(refundId: string): Promise<Refund>;\n  /**\n   * Retrieves a list of refunds, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 1,000 Refunds can be returned per request.\n   *\n   * To learn how to query refunds, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PAYMENTS.REFUND_READ\n   * @adminMethod\n   */\n  function queryRefunds(): RefundsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface RefundsQueryResult extends QueryCursorResult {\n      items: Refund[];\n      query: RefundsQueryBuilder;\n      next: () => Promise<RefundsQueryResult>;\n      prev: () => Promise<RefundsQueryResult>;\n  }\n  interface RefundsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'chargeId', value: any) => RefundsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'chargeId', value: any) => RefundsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate'>) => RefundsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate'>) => RefundsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => RefundsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => RefundsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<RefundsQueryResult>;\n  }\n  /**\n   * Updates extended fields of a refund without incrementing revision.\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId PAYMENTS.REFUND_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  /**\n   * Calculates refundability for a charge.\n   *\n   * Read more about refundability in this\n   * [article](<https://dev.wix.com/docs/rest/business-management/payments/refunds/introduction#refundability>).\n   * @param chargeId - ID of the charge for which refundability will be calculated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField chargeId\n   * @permissionId PAYMENTS.REFUND_GET_REFUNDABILITY\n   * @adminMethod\n   */\n  function getRefundability(chargeId: string): Promise<GetRefundabilityResponse>;\n  \n  type paymentsRefundsV1Refund_universal_d_Refund = Refund;\n  type paymentsRefundsV1Refund_universal_d_Status = Status;\n  const paymentsRefundsV1Refund_universal_d_Status: typeof Status;\n  type paymentsRefundsV1Refund_universal_d_Initiator = Initiator;\n  const paymentsRefundsV1Refund_universal_d_Initiator: typeof Initiator;\n  type paymentsRefundsV1Refund_universal_d_StatusInfo = StatusInfo;\n  type paymentsRefundsV1Refund_universal_d_InternalSyncRefundRequest = InternalSyncRefundRequest;\n  type paymentsRefundsV1Refund_universal_d_InternalSyncRefundResponse = InternalSyncRefundResponse;\n  type paymentsRefundsV1Refund_universal_d_CreateRefundRequest = CreateRefundRequest;\n  type paymentsRefundsV1Refund_universal_d_CreateRefundResponse = CreateRefundResponse;\n  type paymentsRefundsV1Refund_universal_d_GetRefundRequest = GetRefundRequest;\n  type paymentsRefundsV1Refund_universal_d_GetRefundResponse = GetRefundResponse;\n  type paymentsRefundsV1Refund_universal_d_QueryRefundsRequest = QueryRefundsRequest;\n  type paymentsRefundsV1Refund_universal_d_CursorQuery = CursorQuery;\n  type paymentsRefundsV1Refund_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type paymentsRefundsV1Refund_universal_d_Sorting = Sorting;\n  type paymentsRefundsV1Refund_universal_d_SortOrder = SortOrder;\n  const paymentsRefundsV1Refund_universal_d_SortOrder: typeof SortOrder;\n  type paymentsRefundsV1Refund_universal_d_QueryRefundsResponse = QueryRefundsResponse;\n  type paymentsRefundsV1Refund_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type paymentsRefundsV1Refund_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type paymentsRefundsV1Refund_universal_d_GetRefundabilityRequest = GetRefundabilityRequest;\n  type paymentsRefundsV1Refund_universal_d_GetRefundabilityResponse = GetRefundabilityResponse;\n  type paymentsRefundsV1Refund_universal_d_Refundability = Refundability;\n  type paymentsRefundsV1Refund_universal_d_RefundabilityDetailsOneOf = RefundabilityDetailsOneOf;\n  type paymentsRefundsV1Refund_universal_d_RefundOptions = RefundOptions;\n  type paymentsRefundsV1Refund_universal_d_Rejection = Rejection;\n  type paymentsRefundsV1Refund_universal_d_RejectionReason = RejectionReason;\n  const paymentsRefundsV1Refund_universal_d_RejectionReason: typeof RejectionReason;\n  const paymentsRefundsV1Refund_universal_d_createRefund: typeof createRefund;\n  type paymentsRefundsV1Refund_universal_d_CreateRefundOptions = CreateRefundOptions;\n  const paymentsRefundsV1Refund_universal_d_getRefund: typeof getRefund;\n  const paymentsRefundsV1Refund_universal_d_queryRefunds: typeof queryRefunds;\n  type paymentsRefundsV1Refund_universal_d_RefundsQueryResult = RefundsQueryResult;\n  type paymentsRefundsV1Refund_universal_d_RefundsQueryBuilder = RefundsQueryBuilder;\n  const paymentsRefundsV1Refund_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type paymentsRefundsV1Refund_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  const paymentsRefundsV1Refund_universal_d_getRefundability: typeof getRefundability;\n  namespace paymentsRefundsV1Refund_universal_d {\n    export {\n      paymentsRefundsV1Refund_universal_d_Refund as Refund,\n      ExtendedFields$1 as ExtendedFields,\n      paymentsRefundsV1Refund_universal_d_Status as Status,\n      paymentsRefundsV1Refund_universal_d_Initiator as Initiator,\n      paymentsRefundsV1Refund_universal_d_StatusInfo as StatusInfo,\n      paymentsRefundsV1Refund_universal_d_InternalSyncRefundRequest as InternalSyncRefundRequest,\n      paymentsRefundsV1Refund_universal_d_InternalSyncRefundResponse as InternalSyncRefundResponse,\n      paymentsRefundsV1Refund_universal_d_CreateRefundRequest as CreateRefundRequest,\n      paymentsRefundsV1Refund_universal_d_CreateRefundResponse as CreateRefundResponse,\n      paymentsRefundsV1Refund_universal_d_GetRefundRequest as GetRefundRequest,\n      paymentsRefundsV1Refund_universal_d_GetRefundResponse as GetRefundResponse,\n      paymentsRefundsV1Refund_universal_d_QueryRefundsRequest as QueryRefundsRequest,\n      paymentsRefundsV1Refund_universal_d_CursorQuery as CursorQuery,\n      paymentsRefundsV1Refund_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      paymentsRefundsV1Refund_universal_d_Sorting as Sorting,\n      paymentsRefundsV1Refund_universal_d_SortOrder as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      paymentsRefundsV1Refund_universal_d_QueryRefundsResponse as QueryRefundsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      paymentsRefundsV1Refund_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      paymentsRefundsV1Refund_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      paymentsRefundsV1Refund_universal_d_GetRefundabilityRequest as GetRefundabilityRequest,\n      paymentsRefundsV1Refund_universal_d_GetRefundabilityResponse as GetRefundabilityResponse,\n      paymentsRefundsV1Refund_universal_d_Refundability as Refundability,\n      paymentsRefundsV1Refund_universal_d_RefundabilityDetailsOneOf as RefundabilityDetailsOneOf,\n      paymentsRefundsV1Refund_universal_d_RefundOptions as RefundOptions,\n      paymentsRefundsV1Refund_universal_d_Rejection as Rejection,\n      paymentsRefundsV1Refund_universal_d_RejectionReason as RejectionReason,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      paymentsRefundsV1Refund_universal_d_createRefund as createRefund,\n      paymentsRefundsV1Refund_universal_d_CreateRefundOptions as CreateRefundOptions,\n      paymentsRefundsV1Refund_universal_d_getRefund as getRefund,\n      paymentsRefundsV1Refund_universal_d_queryRefunds as queryRefunds,\n      paymentsRefundsV1Refund_universal_d_RefundsQueryResult as RefundsQueryResult,\n      paymentsRefundsV1Refund_universal_d_RefundsQueryBuilder as RefundsQueryBuilder,\n      paymentsRefundsV1Refund_universal_d_updateExtendedFields as updateExtendedFields,\n      paymentsRefundsV1Refund_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n      paymentsRefundsV1Refund_universal_d_getRefundability as getRefundability,\n    };\n  }\n  \n  interface SavedPaymentMethod {\n      /**\n       * Unique identifier of a saved payment method.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of a saved payment method. Each time saved payment method is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * SavedPaymentMethod creation time.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * SavedPaymentMethod last update time.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Saved payment method owner's member ID. */\n      siteMemberId?: string | null;\n      /**\n       * Defines whether this payment method is primary for the member. Member can only have at most one primary saved payment method.\n       * @readonly\n       */\n      primary?: boolean;\n      /** Payment method details. */\n      paymentMethod?: PaymentMethod;\n      /**\n       * Defines whether this payment method can be used by the merchant for making unscheduled payments.\n       * Even if it's set to `false` payment method still can be used for scheduled payments e.g. subscription renewal without the buyer being present.\n       */\n      merchantUseAllowed?: boolean | null;\n      /**\n       * Saved payment method sensitive information.\n       * @readonly\n       */\n      sensitiveInfo?: SensitiveInfo;\n      /** Data Extensions */\n      extendedFields?: ExtendedFields;\n  }\n  interface CardInfo {\n      /**\n       * Credit card's last 4 digits.\n       * @readonly\n       */\n      lastFourDigits?: string | null;\n      /**\n       * Credit card's BIN (Bank Identification Number). It's first 4-6 digits of card's number.\n       * @readonly\n       */\n      bin?: string | null;\n      /** Credit card's expiration month. */\n      expirationMonth?: number | null;\n      /** Credit card's expiration year. */\n      expirationYear?: number | null;\n      /** Card holder's full name specified on the card. */\n      cardholderName?: string | null;\n      /**\n       * INTERNAL* Card brand.\n       * @internal\n       * @readonly\n       */\n      brand?: CardBrand;\n  }\n  enum CardBrand {\n      UNKNOWN_CARD_BRAND = \"UNKNOWN_CARD_BRAND\",\n      AMEX = \"AMEX\",\n      DANKORT = \"DANKORT\",\n      DINERS = \"DINERS\",\n      DISCOVER = \"DISCOVER\",\n      ISRACARD = \"ISRACARD\",\n      JCB = \"JCB\",\n      MAESTRO = \"MAESTRO\",\n      MASTERCARD = \"MASTERCARD\",\n      UNIONPAY = \"UNIONPAY\",\n      VISA = \"VISA\",\n      RUPAY = \"RUPAY\"\n  }\n  interface PaymentMethod {\n      /** Legacy payment method type ID. Supported values are `creditCard`, `payPal`. */\n      typeId?: string;\n      /**\n       * Payment method type ID.\n       * @readonly\n       */\n      paymentMethodTypeId?: string;\n      /**\n       * Payment method brand ID.\n       * @readonly\n       */\n      paymentMethodBrandId?: string | null;\n      /** Details of credit card. */\n      cardInfo?: CardInfo;\n  }\n  interface SensitiveInfo {\n      /** Sensitive details of credit card like card token. */\n      cardSensitiveInfo?: CardSensitiveInfo;\n  }\n  interface CardSensitiveInfo {\n      /** Persistent token of credit card tokenized by Wix. */\n      persistentToken?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface FindSavedCreditCardRequest {\n      /** temporary card token */\n      temporaryCardToken?: string;\n      /** site member id */\n      siteMemberId?: string;\n      /** expiration month */\n      expirationMonth?: number;\n      /** expiration year */\n      expirationYear?: number;\n  }\n  interface FindSavedCreditCardResponse {\n      /** saved payment method id */\n      savedPaymentMethodId?: string | null;\n  }\n  interface UpsertSavedPaymentMethodRequest {\n      /** Saved payment method. */\n      savedPaymentMethod: SavedPaymentMethod;\n      /** Temporary token of credit card tokenized by Wix. This token is used to create a persistent token */\n      temporaryCardToken: string | null;\n  }\n  interface UpsertSavedPaymentMethodResponse {\n      /** Saved payment method. */\n      savedPaymentMethod?: SavedPaymentMethod;\n  }\n  interface GetSavedPaymentMethodRequest {\n      /** Unique identifier of a saved payment method. */\n      savedPaymentMethodId: string;\n      /**\n       * List of heeded fields that will be returned.\n       * You should have additional permission in order to get them as described in HidedFields documentation.\n       */\n      fields?: RequestedFields[];\n  }\n  enum RequestedFields {\n      /** Default value. This value is unused. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      SENSITIVE_INFO = \"SENSITIVE_INFO\"\n  }\n  interface GetSavedPaymentMethodResponse {\n      /** Saved payment method. */\n      savedPaymentMethod?: SavedPaymentMethod;\n  }\n  interface DeleteSavedPaymentMethodRequest {\n      /** Unique identifier of a saved payment method. */\n      savedPaymentMethodId: string;\n  }\n  interface DeleteSavedPaymentMethodResponse {\n  }\n  interface ListSavedPaymentMethodsRequest {\n      /**\n       * Site member that owns saved payment methods.\n       * Pass `me` to list saved payment method of the current site member.\n       */\n      siteMemberId?: string | null;\n      /** Payment method type id. Supported values are `creditCard`, `payPal`. */\n      paymentMethodTypeId?: string | null;\n      /**\n       * Defines whether this payment method can be used by the merchant for making unscheduled payments.\n       * Even if it's set to `false` payment method still can be used for scheduled payments e.g. subscription renewal without the buyer being present.\n       */\n      merchantUseAllowed?: boolean | null;\n      /**\n       * List of requested fields that will be returned.\n       * Supported values:\n       * SENSITIVE_INFO - Sensitive information of a SavedPaymentMethod like credit card tokens that's needed to process payments with it.\n       * In order to receive it you should have `PAYMENTS.SAVED_PAYMENT_METHOD_READ_SENSITIVE_INFO` permission\n       */\n      fields?: RequestedFields[];\n      /**\n       * Paging for limit the response size.\n       * If no paging provider default response limit 100 will be used.\n       */\n      paging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListSavedPaymentMethodsResponse {\n      /** List of saved payment methods. */\n      savedPaymentMethods?: SavedPaymentMethod[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateSavedPaymentMethodRequest {\n      /** Saved payment method to update. */\n      savedPaymentMethod?: SavedPaymentMethod;\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateSavedPaymentMethodResponse {\n      /** Updated saved payment method. */\n      savedPaymentMethod?: SavedPaymentMethod;\n  }\n  interface MarkSavedPaymentMethodPrimaryRequest {\n      /** Unique identifier of a saved payment method. */\n      savedPaymentMethodId: string;\n  }\n  interface MarkSavedPaymentMethodPrimaryResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new SavedPaymentMethod or updates existing one if SavedPaymentMethod already exists for the same site member.\n   * To check uniqueness SavedPaymentMethods are compared by credit card expiration year/month, last four digits and bin.\n   * If sensitiveInfo.cardSensitiveInfo.temporaryToken was passed than service will eventually create a persi from it.\n   * @param savedPaymentMethod - Saved payment method.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.temporaryCardToken\n   * @requiredField savedPaymentMethod\n   * @requiredField savedPaymentMethod.paymentMethod\n   * @requiredField savedPaymentMethod.paymentMethod.cardInfo.expirationMonth\n   * @requiredField savedPaymentMethod.paymentMethod.cardInfo.expirationYear\n   * @requiredField savedPaymentMethod.paymentMethod.typeId\n   * @permissionId PAYMENTS.SAVED_PAYMENT_METHOD_UPSERT\n   * @permissionId PAYMENTS.SAVED_PAYMENT_METHOD_UPSERT_WITH_MEMBER_ID\n   * @adminMethod\n   */\n  function upsertSavedPaymentMethod(savedPaymentMethod: SavedPaymentMethod, options: UpsertSavedPaymentMethodOptions): Promise<UpsertSavedPaymentMethodResponse>;\n  interface UpsertSavedPaymentMethodOptions {\n      /** Temporary token of credit card tokenized by Wix. This token is used to create a persistent token */\n      temporaryCardToken: string | null;\n  }\n  /**\n   * Returns SavedPaymentMethod by ID.\n   * @param savedPaymentMethodId - Unique identifier of a saved payment method.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField savedPaymentMethodId\n   * @permissionId PAYMENTS.SAVED_PAYMENT_METHOD_READ\n   * @permissionId PAYMENTS.SAVED_PAYMENT_METHOD_READ_SENSITIVE_INFO\n   * @adminMethod\n   * @returns Saved payment method.\n   */\n  function getSavedPaymentMethod(savedPaymentMethodId: string, options?: GetSavedPaymentMethodOptions): Promise<SavedPaymentMethod>;\n  interface GetSavedPaymentMethodOptions {\n      /**\n       * List of heeded fields that will be returned.\n       * You should have additional permission in order to get them as described in HidedFields documentation.\n       */\n      fields?: RequestedFields[];\n  }\n  /**\n   * Deletes SavedPaymentMethod by ID.\n   * @param savedPaymentMethodId - Unique identifier of a saved payment method.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField savedPaymentMethodId\n   * @permissionId PAYMENTS.SAVED_PAYMENT_METHOD_DELETE\n   * @adminMethod\n   */\n  function deleteSavedPaymentMethod(savedPaymentMethodId: string): Promise<void>;\n  /**\n   * Lists SavedPaymentMethods ordered by update date descending.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PAYMENTS.SAVED_PAYMENT_METHOD_READ\n   * @permissionId PAYMENTS.SAVED_PAYMENT_METHOD_READ_SENSITIVE_INFO\n   * @adminMethod\n   */\n  function listSavedPaymentMethods(options?: ListSavedPaymentMethodsOptions): Promise<ListSavedPaymentMethodsResponse>;\n  interface ListSavedPaymentMethodsOptions {\n      /**\n       * Site member that owns saved payment methods.\n       * Pass `me` to list saved payment method of the current site member.\n       */\n      siteMemberId?: string | null;\n      /** Payment method type id. Supported values are `creditCard`, `payPal`. */\n      paymentMethodTypeId?: string | null;\n      /**\n       * Defines whether this payment method can be used by the merchant for making unscheduled payments.\n       * Even if it's set to `false` payment method still can be used for scheduled payments e.g. subscription renewal without the buyer being present.\n       */\n      merchantUseAllowed?: boolean | null;\n      /**\n       * List of requested fields that will be returned.\n       * Supported values:\n       * SENSITIVE_INFO - Sensitive information of a SavedPaymentMethod like credit card tokens that's needed to process payments with it.\n       * In order to receive it you should have `PAYMENTS.SAVED_PAYMENT_METHOD_READ_SENSITIVE_INFO` permission\n       */\n      fields?: RequestedFields[];\n      /**\n       * Paging for limit the response size.\n       * If no paging provider default response limit 100 will be used.\n       */\n      paging?: CursorPaging;\n  }\n  /**\n   * Updates SavedPaymentMethod. Only fields listed in field_mask are updated.\n   * @param _id - Unique identifier of a saved payment method.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.savedPaymentMethod.revision\n   * @permissionId PAYMENTS.SAVED_PAYMENT_METHOD_UPDATE\n   * @adminMethod\n   * @returns Updated saved payment method.\n   */\n  function updateSavedPaymentMethod(_id: string | null, options?: UpdateSavedPaymentMethodOptions): Promise<SavedPaymentMethod>;\n  interface UpdateSavedPaymentMethodOptions {\n      savedPaymentMethod: {\n          /**\n           * Unique identifier of a saved payment method.\n           * @readonly\n           */\n          _id?: string | null;\n          /**\n           * Represents the current state of a saved payment method. Each time saved payment method is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n           * @readonly\n           */\n          revision?: string | null;\n          /**\n           * SavedPaymentMethod creation time.\n           * @readonly\n           */\n          _createdDate?: Date | null;\n          /**\n           * SavedPaymentMethod last update time.\n           * @readonly\n           */\n          _updatedDate?: Date | null;\n          /** Saved payment method owner's member ID. */\n          siteMemberId?: string | null;\n          /**\n           * Defines whether this payment method is primary for the member. Member can only have at most one primary saved payment method.\n           * @readonly\n           */\n          primary?: boolean;\n          /** Payment method details. */\n          paymentMethod?: PaymentMethod;\n          /**\n           * Defines whether this payment method can be used by the merchant for making unscheduled payments.\n           * Even if it's set to `false` payment method still can be used for scheduled payments e.g. subscription renewal without the buyer being present.\n           */\n          merchantUseAllowed?: boolean | null;\n          /**\n           * Saved payment method sensitive information.\n           * @readonly\n           */\n          sensitiveInfo?: SensitiveInfo;\n          /** Data Extensions */\n          extendedFields?: ExtendedFields;\n      };\n      /**\n       * Explicit list of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Marks SavedPaymentMethod as primary for site member who's the owner of this SavedPaymentMethod.\n   * Primary SavedPaymentMethod is selected by default during the checkout.\n   * For every site member there can be at most one primary SavedPaymentMethod,\n   * so when one SavedPaymentMethod is marked as primary previous one is automatically unmarked.\n   * @param savedPaymentMethodId - Unique identifier of a saved payment method.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField savedPaymentMethodId\n   * @permissionId PAYMENTS.SAVED_PAYMENT_METHOD_MARK_PRIMARY\n   * @adminMethod\n   */\n  function markSavedPaymentMethodPrimary(savedPaymentMethodId: string): Promise<void>;\n  \n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_SavedPaymentMethod = SavedPaymentMethod;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CardInfo = CardInfo;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CardBrand = CardBrand;\n  const paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CardBrand: typeof CardBrand;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_PaymentMethod = PaymentMethod;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_SensitiveInfo = SensitiveInfo;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CardSensitiveInfo = CardSensitiveInfo;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_ExtendedFields = ExtendedFields;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_FindSavedCreditCardRequest = FindSavedCreditCardRequest;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_FindSavedCreditCardResponse = FindSavedCreditCardResponse;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpsertSavedPaymentMethodRequest = UpsertSavedPaymentMethodRequest;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpsertSavedPaymentMethodResponse = UpsertSavedPaymentMethodResponse;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_GetSavedPaymentMethodRequest = GetSavedPaymentMethodRequest;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_RequestedFields = RequestedFields;\n  const paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_RequestedFields: typeof RequestedFields;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_GetSavedPaymentMethodResponse = GetSavedPaymentMethodResponse;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_DeleteSavedPaymentMethodRequest = DeleteSavedPaymentMethodRequest;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_DeleteSavedPaymentMethodResponse = DeleteSavedPaymentMethodResponse;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_ListSavedPaymentMethodsRequest = ListSavedPaymentMethodsRequest;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CursorPaging = CursorPaging;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_ListSavedPaymentMethodsResponse = ListSavedPaymentMethodsResponse;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_Cursors = Cursors;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpdateSavedPaymentMethodRequest = UpdateSavedPaymentMethodRequest;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpdateSavedPaymentMethodResponse = UpdateSavedPaymentMethodResponse;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_MarkSavedPaymentMethodPrimaryRequest = MarkSavedPaymentMethodPrimaryRequest;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_MarkSavedPaymentMethodPrimaryResponse = MarkSavedPaymentMethodPrimaryResponse;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_DomainEvent = DomainEvent;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_RestoreInfo = RestoreInfo;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_ActionEvent = ActionEvent;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_MessageEnvelope = MessageEnvelope;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_IdentificationData = IdentificationData;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_upsertSavedPaymentMethod: typeof upsertSavedPaymentMethod;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpsertSavedPaymentMethodOptions = UpsertSavedPaymentMethodOptions;\n  const paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_getSavedPaymentMethod: typeof getSavedPaymentMethod;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_GetSavedPaymentMethodOptions = GetSavedPaymentMethodOptions;\n  const paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_deleteSavedPaymentMethod: typeof deleteSavedPaymentMethod;\n  const paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_listSavedPaymentMethods: typeof listSavedPaymentMethods;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_ListSavedPaymentMethodsOptions = ListSavedPaymentMethodsOptions;\n  const paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_updateSavedPaymentMethod: typeof updateSavedPaymentMethod;\n  type paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpdateSavedPaymentMethodOptions = UpdateSavedPaymentMethodOptions;\n  const paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_markSavedPaymentMethodPrimary: typeof markSavedPaymentMethodPrimary;\n  namespace paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d {\n    export {\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_SavedPaymentMethod as SavedPaymentMethod,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CardInfo as CardInfo,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CardBrand as CardBrand,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_PaymentMethod as PaymentMethod,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_SensitiveInfo as SensitiveInfo,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CardSensitiveInfo as CardSensitiveInfo,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_ExtendedFields as ExtendedFields,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_FindSavedCreditCardRequest as FindSavedCreditCardRequest,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_FindSavedCreditCardResponse as FindSavedCreditCardResponse,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpsertSavedPaymentMethodRequest as UpsertSavedPaymentMethodRequest,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpsertSavedPaymentMethodResponse as UpsertSavedPaymentMethodResponse,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_GetSavedPaymentMethodRequest as GetSavedPaymentMethodRequest,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_RequestedFields as RequestedFields,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_GetSavedPaymentMethodResponse as GetSavedPaymentMethodResponse,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_DeleteSavedPaymentMethodRequest as DeleteSavedPaymentMethodRequest,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_DeleteSavedPaymentMethodResponse as DeleteSavedPaymentMethodResponse,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_ListSavedPaymentMethodsRequest as ListSavedPaymentMethodsRequest,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CursorPaging as CursorPaging,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_ListSavedPaymentMethodsResponse as ListSavedPaymentMethodsResponse,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_Cursors as Cursors,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpdateSavedPaymentMethodRequest as UpdateSavedPaymentMethodRequest,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpdateSavedPaymentMethodResponse as UpdateSavedPaymentMethodResponse,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_MarkSavedPaymentMethodPrimaryRequest as MarkSavedPaymentMethodPrimaryRequest,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_MarkSavedPaymentMethodPrimaryResponse as MarkSavedPaymentMethodPrimaryResponse,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_DomainEvent as DomainEvent,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_RestoreInfo as RestoreInfo,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_ActionEvent as ActionEvent,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_MessageEnvelope as MessageEnvelope,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_IdentificationData as IdentificationData,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_WebhookIdentityType as WebhookIdentityType,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_upsertSavedPaymentMethod as upsertSavedPaymentMethod,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpsertSavedPaymentMethodOptions as UpsertSavedPaymentMethodOptions,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_getSavedPaymentMethod as getSavedPaymentMethod,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_GetSavedPaymentMethodOptions as GetSavedPaymentMethodOptions,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_deleteSavedPaymentMethod as deleteSavedPaymentMethod,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_listSavedPaymentMethods as listSavedPaymentMethods,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_ListSavedPaymentMethodsOptions as ListSavedPaymentMethodsOptions,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_updateSavedPaymentMethod as updateSavedPaymentMethod,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_UpdateSavedPaymentMethodOptions as UpdateSavedPaymentMethodOptions,\n      paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d_markSavedPaymentMethodPrimary as markSavedPaymentMethodPrimary,\n    };\n  }\n  \n  /** A way to pay online or offline for goods or services offered by a specific site. */\n  interface SitePaymentMethodType {\n      /** ID */\n      _id?: string;\n      /**\n       * Id the payment method type used to have in our system. It is used in provider spi communication.\n       * For some payment method types it is human readable i.e. payPal, creditCard, bit etc.\n       * For others i.e. hosted pages, it is GUID\n       */\n      legacyId?: string | null;\n      /** localized according to the caller locale */\n      displayName?: string | null;\n      /** localized according to the caller locale */\n      description?: string | null;\n      /** features supported for this payment method type */\n      features?: Features;\n      /** the configuration for the merchant flow i.e. accept payments */\n      merchantFlow?: MerchantFlow;\n      /** the configuration for the buyer flow i.e. checkout */\n      buyerFlow?: BuyerFlow;\n      /**\n       * indicates that this entity is for the payment brand representation only\n       * payment brands are not visible in payment method type search\n       * and are used only for supported brands indication for the payment method type\n       */\n      brandOnly?: boolean;\n      /**\n       * indicates that this payment method type comes from Velo integration\n       * @internal\n       */\n      velo?: boolean;\n      /**\n       * Indicates that payment method type can be used to pay only in person. Like current payment method type cash, pos, cardReader and posCash\n       * PSP type of payment method type can not be used in person\n       */\n      inPerson?: boolean;\n      /** The duration after which the transaction will be marked as expired */\n      transactionExpirationDelayInSeconds?: number | null;\n  }\n  interface Features {\n      /** indicates that this payment method type can be used in express flow */\n      expressFlow?: ExpressFlow;\n      /** indicates that this payment method type can be used in regular flow */\n      regularFlow?: RegularFlow;\n      /** indicates that disputes are supported for this payment method type */\n      disputes?: Disputes;\n      /** indicates that installments are supported for this payment method type */\n      installments?: Installments;\n      /** indicates that refunds are supported for this payment method type */\n      refunds?: Refunds;\n      /** indicates that auth capture flow is supported for this payment method type */\n      authCapture?: AuthCapture;\n      /** indicates that the regular (Wix) tokenization mechanism can be configured for this payment method type */\n      regularTokenization?: RegularTokenization;\n      /** indicates that the custom (provider specific etc.) tokenization mechanism can be configured for this payment method type */\n      customTokenization?: CustomTokenization;\n      /** indicates that the next action mechanism can be configured for this payment method type */\n      nextAction?: NextAction;\n      /** indicates that the credential on file feature is supported for this payment method type */\n      credentialOnFile?: CredentialOnFile;\n      /** indicates that Mail Order/Telephone Order is supported for this payment method type */\n      moto?: Moto;\n      /** indicates that promotional messages are supported for this payment method type */\n      promotionalMessages?: PromotionalMessages;\n  }\n  interface IFrame {\n      /** supported */\n      supported?: boolean;\n  }\n  interface NewTab {\n      /** supported */\n      supported?: boolean;\n  }\n  interface FullPageRedirect {\n      /** supported */\n      supported?: boolean;\n  }\n  interface Barcode {\n      /** supported */\n      supported?: boolean;\n  }\n  interface QrCode {\n      /** supported */\n      supported?: boolean;\n  }\n  interface ExpressFlow {\n      /** supported */\n      supported?: boolean;\n  }\n  interface RegularFlow {\n      /** supported */\n      supported?: boolean;\n  }\n  interface Disputes {\n      /** supported */\n      supported?: boolean;\n  }\n  interface Installments {\n      /**\n       * supported\n       * if value is true property max_installment_limit is required otherwise it should be ignored\n       */\n      supported?: boolean;\n      /** countries for which installments can be enabled */\n      allowedCountries?: string[];\n      /** max number of installments that can be configured by provider */\n      maxInstallmentLimit?: number | null;\n  }\n  interface Refunds {\n      /**\n       * supported\n       * if value is true property max_refundability_period_in_days is required otherwise it should be ignored\n       */\n      supported?: boolean;\n      /** refundability period */\n      maxRefundabilityPeriodInDays?: number | null;\n  }\n  interface AuthCapture {\n      /**\n       * supported\n       * if value is true property max_capture_period_in_days is required otherwise it should be ignored\n       */\n      supported?: boolean;\n      /** capture period */\n      maxCapturePeriodInDays?: number | null;\n  }\n  interface RegularTokenization {\n      /** supported */\n      supported?: boolean;\n  }\n  interface CustomTokenization {\n      /** supported */\n      supported?: boolean;\n  }\n  interface NextAction {\n      /** show next payment action in iframe */\n      iframe?: IFrame;\n      /** show next payment action in the new tab */\n      newTab?: NewTab;\n      /** show next payment action as the full page redirect */\n      fullPageRedirect?: FullPageRedirect;\n      /** show next payment action as barcode scan */\n      barcode?: Barcode;\n      /** show next payment action as QR code scan */\n      qrCode?: QrCode;\n  }\n  interface CredentialOnFile {\n      /** supported */\n      supported?: boolean;\n  }\n  interface Moto {\n      /** supported */\n      supported?: boolean;\n  }\n  interface PromotionalMessages {\n      /** supported */\n      supported?: boolean;\n  }\n  interface MerchantFlow {\n      /** icons for the accept payments according to the caller locale */\n      icons?: Icon[];\n      /**\n       * This field corresponds to the relative order of payment type for the merchant\n       * an item with less field value has higher priority than an item with greater field value\n       */\n      priority?: number;\n      /** indicates whether the payment method type is promoted */\n      promoted?: boolean;\n      /**\n       * Indicates that the merchant cannot manage it. examples: cash. it is created by default.\n       * there is also the case of the pm's created by verticals for their needs.\n       * eventually we want to remove such a possibility\n       * The payment method types which are not displayed to the merchant on accept payments page. It means that merchant cannot intentionally connect this payment method type.\n       * This flag cannot be true for psp_managed payment method types.\n       */\n      hidden?: boolean;\n  }\n  /**\n   * Example url:\n   * http://images-wixmp-6613fa290e8c1ac70a0297b6.wixmp.com/payment-methods/{domain}/{extension}/{id}.{extension}\n   */\n  interface Icon {\n      /** WixMedia object with the id and url of the icon */\n      image?: string;\n      /**\n       * clients can attach multiple icons and assign custom tag to them\n       * in order to use them in specific flows\n       */\n      tag?: string | null;\n      /** image extension */\n      format?: Format;\n  }\n  enum Format {\n      UNKNOWN_FORMAT = \"UNKNOWN_FORMAT\",\n      SVG = \"SVG\",\n      PNG = \"PNG\"\n  }\n  interface BuyerFlow {\n      /** icons for the checkout according to the caller locale */\n      icons?: Icon[];\n      /**\n       * This field corresponds to the relative order of payment type for the buyer\n       * an item with less field value has higher priority than an item with greater field value\n       */\n      priority?: number;\n      /**\n       * For buyer flow, indicates that the method is not displayed to buyer on checkout page.\n       * This property is required for payment method types like POS or Tap to Pay.\n       */\n      hidden?: boolean;\n  }\n  interface GetSitePaymentMethodTypeRequest {\n      /** SitePaymentMethodType ID */\n      sitePaymentMethodTypeId: string;\n      /** If provided - explicitly indicates the language, for which the data should be localized. */\n      language?: string | null;\n      /**\n       * Indicates the country in the context of which the data should be returned.\n       * There are the country-specific properties as well as the localization mechanism involves country.\n       */\n      country?: string | null;\n  }\n  interface GetSitePaymentMethodTypeResponse {\n      /** The requested SitePaymentMethodType. */\n      sitePaymentMethodType?: SitePaymentMethodType;\n  }\n  interface ListSitePaymentMethodTypesRequest {\n      /**\n       * Return only the records having their `id` or `legacyId` matching any of the IDs passed.\n       * If not provided, all records are returned.\n       */\n      ids?: string[];\n      /** If provided - explicitly indicates the language, for which the data should be localized. */\n      language?: string | null;\n      /**\n       * Indicates the country in the context of which the data should be returned.\n       * There are the country-specific properties as well as the localization mechanism involves country.\n       */\n      country?: string | null;\n  }\n  interface ListSitePaymentMethodTypesResponse {\n      /** List of SitePaymentMethodTypes. */\n      sitePaymentMethodTypes?: SitePaymentMethodType[];\n  }\n  /**\n   * Retrieves a SitePaymentMethodType.\n   * @param sitePaymentMethodTypeId - SitePaymentMethodType ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sitePaymentMethodTypeId\n   * @permissionId PAYMENTS.SITE_PAYMENT_METHOD_TYPE_READ\n   * @returns The requested SitePaymentMethodType.\n   */\n  function getSitePaymentMethodType(sitePaymentMethodTypeId: string, options?: GetSitePaymentMethodTypeOptions): Promise<SitePaymentMethodType>;\n  interface GetSitePaymentMethodTypeOptions {\n      /** If provided - explicitly indicates the language, for which the data should be localized. */\n      language?: string | null;\n      /**\n       * Indicates the country in the context of which the data should be returned.\n       * There are the country-specific properties as well as the localization mechanism involves country.\n       */\n      country?: string | null;\n  }\n  /**\n   * Retrieves a list of SitePaymentMethodTypes. Never returns more than 200 records.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId PAYMENTS.SITE_PAYMENT_METHOD_TYPE_READ\n   */\n  function listSitePaymentMethodTypes(options?: ListSitePaymentMethodTypesOptions): Promise<ListSitePaymentMethodTypesResponse>;\n  interface ListSitePaymentMethodTypesOptions {\n      /**\n       * Return only the records having their `id` or `legacyId` matching any of the IDs passed.\n       * If not provided, all records are returned.\n       */\n      ids?: string[];\n      /** If provided - explicitly indicates the language, for which the data should be localized. */\n      language?: string | null;\n      /**\n       * Indicates the country in the context of which the data should be returned.\n       * There are the country-specific properties as well as the localization mechanism involves country.\n       */\n      country?: string | null;\n  }\n  \n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_SitePaymentMethodType = SitePaymentMethodType;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Features = Features;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_IFrame = IFrame;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_NewTab = NewTab;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_FullPageRedirect = FullPageRedirect;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Barcode = Barcode;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_QrCode = QrCode;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_ExpressFlow = ExpressFlow;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_RegularFlow = RegularFlow;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Disputes = Disputes;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Installments = Installments;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Refunds = Refunds;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_AuthCapture = AuthCapture;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_RegularTokenization = RegularTokenization;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_CustomTokenization = CustomTokenization;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_NextAction = NextAction;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_CredentialOnFile = CredentialOnFile;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Moto = Moto;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_PromotionalMessages = PromotionalMessages;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_MerchantFlow = MerchantFlow;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Icon = Icon;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Format = Format;\n  const paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Format: typeof Format;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_BuyerFlow = BuyerFlow;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_GetSitePaymentMethodTypeRequest = GetSitePaymentMethodTypeRequest;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_GetSitePaymentMethodTypeResponse = GetSitePaymentMethodTypeResponse;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_ListSitePaymentMethodTypesRequest = ListSitePaymentMethodTypesRequest;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_ListSitePaymentMethodTypesResponse = ListSitePaymentMethodTypesResponse;\n  const paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_getSitePaymentMethodType: typeof getSitePaymentMethodType;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_GetSitePaymentMethodTypeOptions = GetSitePaymentMethodTypeOptions;\n  const paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_listSitePaymentMethodTypes: typeof listSitePaymentMethodTypes;\n  type paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_ListSitePaymentMethodTypesOptions = ListSitePaymentMethodTypesOptions;\n  namespace paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d {\n    export {\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_SitePaymentMethodType as SitePaymentMethodType,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Features as Features,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_IFrame as IFrame,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_NewTab as NewTab,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_FullPageRedirect as FullPageRedirect,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Barcode as Barcode,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_QrCode as QrCode,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_ExpressFlow as ExpressFlow,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_RegularFlow as RegularFlow,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Disputes as Disputes,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Installments as Installments,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Refunds as Refunds,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_AuthCapture as AuthCapture,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_RegularTokenization as RegularTokenization,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_CustomTokenization as CustomTokenization,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_NextAction as NextAction,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_CredentialOnFile as CredentialOnFile,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Moto as Moto,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_PromotionalMessages as PromotionalMessages,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_MerchantFlow as MerchantFlow,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Icon as Icon,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_Format as Format,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_BuyerFlow as BuyerFlow,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_GetSitePaymentMethodTypeRequest as GetSitePaymentMethodTypeRequest,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_GetSitePaymentMethodTypeResponse as GetSitePaymentMethodTypeResponse,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_ListSitePaymentMethodTypesRequest as ListSitePaymentMethodTypesRequest,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_ListSitePaymentMethodTypesResponse as ListSitePaymentMethodTypesResponse,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_getSitePaymentMethodType as getSitePaymentMethodType,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_GetSitePaymentMethodTypeOptions as GetSitePaymentMethodTypeOptions,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_listSitePaymentMethodTypes as listSitePaymentMethodTypes,\n      paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d_ListSitePaymentMethodTypesOptions as ListSitePaymentMethodTypesOptions,\n    };\n  }\n  \n  export { paymentsChargesV1Charge_universal_d as charges, cashierOnboardingAvailabilityV1OnboardingAvailability_universal_d as onboardingAvailability, paymentsPspV1ProviderPlatformEvent_universal_d as pspCallbacks, paymentsRefundsV1Refund_universal_d as refunds, paymentsSavedPaymentMethodsV1SavedPaymentMethod_universal_d as savedPaymentMethods, paymentsSitePaymentMethodTypesV1SitePaymentMethodType_universal_d as sitePaymentMethodTypes };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-ep-plugins.v1.d.ts",
      "content": "declare module \"wix-ep-plugins.v1\" {\n  const __debug: {\n      verboseLogging: {\n          on: () => boolean;\n          off: () => boolean;\n      };\n  };\n  /** Population status entity represents ... */\n  interface PopulationStatus {\n      /**\n       * Plugin Id\n       * @readonly\n       */\n      _id?: string | null;\n  }\n  interface GetPopulationStatusRequest {\n  }\n  interface GetPopulationStatusResponse {\n      /** TODO: add real response */\n      statuses?: PopulationStatus[];\n  }\n  /**\n   * get widget plugin population status\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getPopulationStatus(): Promise<GetPopulationStatusResponse>;\n  \n  const epPluginsV1PopulationStatus_universal_d___debug: typeof __debug;\n  type epPluginsV1PopulationStatus_universal_d_PopulationStatus = PopulationStatus;\n  type epPluginsV1PopulationStatus_universal_d_GetPopulationStatusRequest = GetPopulationStatusRequest;\n  type epPluginsV1PopulationStatus_universal_d_GetPopulationStatusResponse = GetPopulationStatusResponse;\n  const epPluginsV1PopulationStatus_universal_d_getPopulationStatus: typeof getPopulationStatus;\n  namespace epPluginsV1PopulationStatus_universal_d {\n    export {\n      epPluginsV1PopulationStatus_universal_d___debug as __debug,\n      epPluginsV1PopulationStatus_universal_d_PopulationStatus as PopulationStatus,\n      epPluginsV1PopulationStatus_universal_d_GetPopulationStatusRequest as GetPopulationStatusRequest,\n      epPluginsV1PopulationStatus_universal_d_GetPopulationStatusResponse as GetPopulationStatusResponse,\n      epPluginsV1PopulationStatus_universal_d_getPopulationStatus as getPopulationStatus,\n    };\n  }\n  \n  export { epPluginsV1PopulationStatus_universal_d as plugins };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-app-settings.v2.d.ts",
      "content": "declare module \"wix-app-settings.v2\" {\n  interface AppSettings {\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The app global settings */\n      settings?: Record<string, any> | null;\n      /** Translatable textual assets - not using a collection because this type only the get flow (which should return a single value) */\n      translations?: Record<string, string>;\n  }\n  /** The state of the settings (Saved or Published) */\n  enum State {\n      /** Not relevant */\n      NR = \"NR\",\n      SAVED = \"SAVED\",\n      PUBLISHED = \"PUBLISHED\"\n  }\n  /** The host in which the settings are displayed */\n  enum Host {\n      NA = \"NA\",\n      VIEWER = \"VIEWER\",\n      BUSINESS_MANAGER = \"BUSINESS_MANAGER\",\n      ONE_APP = \"ONE_APP\"\n  }\n  interface SetComponentSettingsRequest {\n      /** The component Id */\n      componentId: string | null;\n      /** The data we'd like to store for this component */\n      settings?: Record<string, any> | null;\n      /** The state to set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD ** */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states to set in */\n      states?: State[];\n  }\n  /** The translated language that contains the key and its translations */\n  interface TranslatedLanguage {\n      /** The key of the translations' language */\n      languageKey?: LanguageKey;\n      /** Key-value pair mapping of textual assets */\n      translations?: Record<string, string>;\n  }\n  /** The language key of the saved multilingual data */\n  interface LanguageKey {\n      /** e.g. en */\n      languageCode?: string;\n      /** e.g. us */\n      regionCode?: string;\n      /** default: '' */\n      scriptVariant?: string;\n  }\n  interface SetComponentSettingsResponse {\n      /** Echo of the component settings */\n      settings?: Record<string, any> | null;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  interface SetComponentSettingsForMigrationRequest {\n      /** The component Id */\n      componentId?: string | null;\n      /** The data we'd like to store for this component */\n      settings?: Record<string, any> | null;\n      /** The state to set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD ** */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states to set in */\n      states?: State[];\n      /** The appDefId for migration */\n      appDefId?: string;\n      /** The instanceId for migration (msid) */\n      instanceId?: string;\n  }\n  interface SetComponentSettingsForMigrationResponse {\n      /** Echo of the component settings */\n      settings?: Record<string, any> | null;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  interface GetComponentSettingsRequest {\n      /** The component we want data for. Component ids can be from the site or oneApp */\n      componentId: string | null;\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n      /** Whether it is critical to get Global Settings as well */\n      includeGlobalSettings?: boolean;\n  }\n  interface GetComponentSettingsResponse {\n      /** Component settings for the requested component id */\n      settings?: Record<string, any> | null;\n      /** The data state of the response */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** based on x-wix-language or fallback */\n      translations?: Record<string, string>;\n      /** Optional. The global app settings */\n      globalSettings?: AppSettings;\n  }\n  interface BulkGetComponentSettingsRequest {\n      /** The component we want data for. Component ids can be from the site or oneApp */\n      componentIds?: string[];\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n  }\n  interface BulkGetComponentSettingsResponse {\n      componentSettings?: ComponentSettings[];\n  }\n  interface ComponentSettings {\n      componentId?: string;\n      /** Component settings for the requested component id */\n      settings?: Record<string, any> | null;\n      /** The data state of the response */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** based on x-wix-language or fallback */\n      translations?: Record<string, string>;\n  }\n  interface SetGlobalSettingsRequest {\n      /** The global settings for the app */\n      settings?: Record<string, any> | null;\n      /** Any components we would like to set */\n      componentSettings?: SetComponentSettingsItem[];\n      /** The state this is set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD ** */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  interface SetComponentSettingsItem {\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The component we want data for. Component ids can be from the site or oneApp */\n      componentId?: string | null;\n      /** The component settings */\n      settings?: Record<string, any> | null;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n  }\n  interface SetGlobalSettingsResponse {\n      /** The data we have not for the App */\n      settings?: Record<string, any> | null;\n      /** The data we have for the components */\n      componentSettings?: SetComponentSettingsItem[];\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  interface GetGlobalSettingsRequest {\n      /** The requested state, default is published */\n      state?: State;\n      /** Allow to filter by host to get only components for that host */\n      host?: Host;\n      /** If component settings data should also be returned */\n      includeComponentSettings?: boolean;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n  }\n  interface GetGlobalSettingsResponse {\n      /** The state of the app */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The global app settings */\n      settings?: Record<string, any> | null;\n      /** Optional. All components listed. may include components from the site or oneApp */\n      componentSettings?: GetComponentSettingsItem[];\n      /** based on x-wix-language or fallback */\n      translations?: Record<string, string>;\n  }\n  interface GetComponentSettingsItem {\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The component we want data for. Component ids can be from the site or oneApp */\n      componentId?: string | null;\n      /** The component settings */\n      settings?: Record<string, any> | null;\n      /** Translatable textual assets - not using a collection because this type only the get flow (which should return a single value) */\n      translations?: Record<string, string>;\n  }\n  interface SetGlobalSettingsForMigrationRequest {\n      /** The global settings for the app */\n      settings?: Record<string, any> | null;\n      /** Any components we would like to set */\n      componentSettings?: SetComponentSettingsItem[];\n      /** The state this is set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD ** */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n      /** The appDefId for migration */\n      appDefId?: string;\n      /** The instanceId for migration (msid) */\n      instanceId?: string;\n  }\n  interface SetGlobalSettingsForMigrationResponse {\n      /** The data we have not for the App */\n      settings?: Record<string, any> | null;\n      /** The data we have for the components */\n      componentSettings?: SetComponentSettingsItem[];\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  interface GetGlobalSettingsForMigrationRequest {\n      /** The requested state, default is published */\n      state?: State;\n      /** Allow to filter by host to get only components for that host */\n      host?: Host;\n      /** If component settings data should also be returned */\n      includeComponentSettings?: boolean;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n      /** The appDefId for migration */\n      appDefId?: string;\n      /** The instanceId for migration (msid) */\n      instanceId?: string;\n  }\n  interface GetGlobalSettingsForMigrationResponse {\n      /** The state of the app */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The global app settings */\n      settings?: Record<string, any> | null;\n      /** Optional. All components listed. may include components from the site or oneApp */\n      componentSettings?: GetComponentSettingsItem[];\n      /** Translatable textual assets (returns unfiltered global translations when languageKey is omitted) */\n      translations?: TranslatedLanguage[];\n  }\n  interface GetRequest {\n      /** id of app-scoped settings */\n      externalAppId?: string | null;\n      /** id of component-scoped settings */\n      externalComponentId?: string | null;\n      /**\n       * desired fields to retrieve on either GetResponse.app_settings or GetResponse.component_settings\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface GetResponse {\n      /** app-scoped settings; */\n      appSettings?: Record<string, any> | null;\n      /** component-scoped settings; */\n      componentSettings?: Record<string, any> | null;\n  }\n  interface SetRequest {\n      /** id of settings snapshot */\n      externalId: string | null;\n      /** scope of settings to store */\n      scope: Scope;\n      /** settings themselves; */\n      data: Record<string, any> | null;\n  }\n  /** scope of settings when creating/updating; */\n  enum Scope {\n      /** multiple instances of a tpa can share same settings; */\n      APP = \"APP\",\n      /** scoped to a single component of an app; */\n      COMPONENT = \"COMPONENT\"\n  }\n  interface SetResponse {\n  }\n  interface UpdateRequest {\n      /** id of settings snapshot */\n      externalId: string | null;\n      /** scope of settings to update */\n      scope: Scope;\n      /**\n       * changed fields in provided data\n       * @internal\n       */\n      fields: string[];\n      /** data itself */\n      data: Record<string, any> | null;\n  }\n  interface UpdateResponse {\n      /** new if of stored settings snapshot */\n      newExternalId?: string | null;\n  }\n  /**\n   * Set component settings by componentId\n   * @param componentId - The component Id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField componentId\n   * @adminMethod\n   */\n  function setComponentSettings(componentId: string | null, options?: SetComponentSettingsOptions): Promise<SetComponentSettingsResponse>;\n  interface SetComponentSettingsOptions {\n      /** The data we'd like to store for this component */\n      settings?: Record<string, any> | null;\n      /** The state to set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states to set in */\n      states?: State[];\n  }\n  /**\n   * Get component settings by componentId\n   * @param componentId - The component we want data for. Component ids can be from the site or oneApp\n   * @public\n   * @documentationMaturity preview\n   * @requiredField componentId\n   * @adminMethod\n   */\n  function getComponentSettings(componentId: string | null, options?: GetComponentSettingsOptions): Promise<GetComponentSettingsResponse>;\n  interface GetComponentSettingsOptions {\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n      /** Whether it is critical to get Global Settings as well */\n      includeGlobalSettings?: boolean;\n  }\n  /**\n   * Get component settings by componentId\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function bulkGetComponentSettings(options?: BulkGetComponentSettingsOptions): Promise<BulkGetComponentSettingsResponse>;\n  interface BulkGetComponentSettingsOptions {\n      /** The component we want data for. Component ids can be from the site or oneApp */\n      componentIds?: string[];\n      /** The state of the component */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n  }\n  /**\n   * Set global settings by instanceId (extracted from Authorization)\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function setGlobalSettings(options?: SetGlobalSettingsOptions): Promise<SetGlobalSettingsResponse>;\n  interface SetGlobalSettingsOptions {\n      /** The global settings for the app */\n      settings?: Record<string, any> | null;\n      /** Any components we would like to set */\n      componentSettings?: SetComponentSettingsItem[];\n      /** The state this is set in. ** THIS IS A DEPRECATED FIELD, PLEASE USE THE \"states\" FIELD */\n      state?: State;\n      /** Where this data is relevant */\n      host?: Host;\n      /** Translatable textual assets (pass empty key as default) */\n      translations?: TranslatedLanguage[];\n      /** The states this was set in */\n      states?: State[];\n  }\n  /**\n   * Get global settings by instanceId (extracted from Authorization)\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getGlobalSettings(options?: GetGlobalSettingsOptions): Promise<GetGlobalSettingsResponse>;\n  interface GetGlobalSettingsOptions {\n      /** The requested state, default is published */\n      state?: State;\n      /** Allow to filter by host to get only components for that host */\n      host?: Host;\n      /** If component settings data should also be returned */\n      includeComponentSettings?: boolean;\n      /** The language key of the translation (allow filtering translations explicitly) */\n      languageKey?: LanguageKey;\n  }\n  /**\n   * retrieve settings for site. app and component-scoped settings ids can be provided.\n   * looks-up settings for one or both ids provided.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   * @deprecated\n   */\n  function get(options?: GetOptions): Promise<GetResponse>;\n  interface GetOptions {\n      /** id of app-scoped settings */\n      externalAppId?: string | null;\n      /** id of component-scoped settings */\n      externalComponentId?: string | null;\n      /**\n       * desired fields to retrieve on either GetResponse.app_settings or GetResponse.component_settings\n       * @internal\n       */\n      fields?: string[];\n  }\n  /**\n   * store new snapshot of settings on server\n   * @param data - settings themselves;\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField data\n   * @requiredField identifiers\n   * @requiredField identifiers.externalId\n   * @requiredField identifiers.scope\n   * @adminMethod\n   * @deprecated\n   */\n  function set(identifiers: SetIdentifiers, data: Record<string, any> | null): Promise<void>;\n  interface SetIdentifiers {\n      /** scope of settings to store */\n      scope: Scope;\n      /** id of settings snapshot */\n      externalId: string | null;\n  }\n  /**\n   * create new snapshot of settings (patch)\n   * @param fields - changed fields in provided data\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fields\n   * @requiredField identifiers\n   * @requiredField identifiers.externalId\n   * @requiredField identifiers.scope\n   * @requiredField options\n   * @requiredField options.data\n   * @adminMethod\n   * @deprecated\n   */\n  function update(identifiers: UpdateIdentifiers, fields: string[], options: UpdateOptions): Promise<UpdateResponse>;\n  interface UpdateIdentifiers {\n      /** scope of settings to update */\n      scope: Scope;\n      /** id of settings snapshot */\n      externalId: string | null;\n  }\n  interface UpdateOptions {\n      /** data itself */\n      data: Record<string, any> | null;\n  }\n  \n  type appSettingsV1Settings_universal_d_AppSettings = AppSettings;\n  type appSettingsV1Settings_universal_d_State = State;\n  const appSettingsV1Settings_universal_d_State: typeof State;\n  type appSettingsV1Settings_universal_d_Host = Host;\n  const appSettingsV1Settings_universal_d_Host: typeof Host;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsRequest = SetComponentSettingsRequest;\n  type appSettingsV1Settings_universal_d_TranslatedLanguage = TranslatedLanguage;\n  type appSettingsV1Settings_universal_d_LanguageKey = LanguageKey;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsResponse = SetComponentSettingsResponse;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsForMigrationRequest = SetComponentSettingsForMigrationRequest;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsForMigrationResponse = SetComponentSettingsForMigrationResponse;\n  type appSettingsV1Settings_universal_d_GetComponentSettingsRequest = GetComponentSettingsRequest;\n  type appSettingsV1Settings_universal_d_GetComponentSettingsResponse = GetComponentSettingsResponse;\n  type appSettingsV1Settings_universal_d_BulkGetComponentSettingsRequest = BulkGetComponentSettingsRequest;\n  type appSettingsV1Settings_universal_d_BulkGetComponentSettingsResponse = BulkGetComponentSettingsResponse;\n  type appSettingsV1Settings_universal_d_ComponentSettings = ComponentSettings;\n  type appSettingsV1Settings_universal_d_SetGlobalSettingsRequest = SetGlobalSettingsRequest;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsItem = SetComponentSettingsItem;\n  type appSettingsV1Settings_universal_d_SetGlobalSettingsResponse = SetGlobalSettingsResponse;\n  type appSettingsV1Settings_universal_d_GetGlobalSettingsRequest = GetGlobalSettingsRequest;\n  type appSettingsV1Settings_universal_d_GetGlobalSettingsResponse = GetGlobalSettingsResponse;\n  type appSettingsV1Settings_universal_d_GetComponentSettingsItem = GetComponentSettingsItem;\n  type appSettingsV1Settings_universal_d_SetGlobalSettingsForMigrationRequest = SetGlobalSettingsForMigrationRequest;\n  type appSettingsV1Settings_universal_d_SetGlobalSettingsForMigrationResponse = SetGlobalSettingsForMigrationResponse;\n  type appSettingsV1Settings_universal_d_GetGlobalSettingsForMigrationRequest = GetGlobalSettingsForMigrationRequest;\n  type appSettingsV1Settings_universal_d_GetGlobalSettingsForMigrationResponse = GetGlobalSettingsForMigrationResponse;\n  type appSettingsV1Settings_universal_d_GetRequest = GetRequest;\n  type appSettingsV1Settings_universal_d_GetResponse = GetResponse;\n  type appSettingsV1Settings_universal_d_SetRequest = SetRequest;\n  type appSettingsV1Settings_universal_d_Scope = Scope;\n  const appSettingsV1Settings_universal_d_Scope: typeof Scope;\n  type appSettingsV1Settings_universal_d_SetResponse = SetResponse;\n  type appSettingsV1Settings_universal_d_UpdateRequest = UpdateRequest;\n  type appSettingsV1Settings_universal_d_UpdateResponse = UpdateResponse;\n  const appSettingsV1Settings_universal_d_setComponentSettings: typeof setComponentSettings;\n  type appSettingsV1Settings_universal_d_SetComponentSettingsOptions = SetComponentSettingsOptions;\n  const appSettingsV1Settings_universal_d_getComponentSettings: typeof getComponentSettings;\n  type appSettingsV1Settings_universal_d_GetComponentSettingsOptions = GetComponentSettingsOptions;\n  const appSettingsV1Settings_universal_d_bulkGetComponentSettings: typeof bulkGetComponentSettings;\n  type appSettingsV1Settings_universal_d_BulkGetComponentSettingsOptions = BulkGetComponentSettingsOptions;\n  const appSettingsV1Settings_universal_d_setGlobalSettings: typeof setGlobalSettings;\n  type appSettingsV1Settings_universal_d_SetGlobalSettingsOptions = SetGlobalSettingsOptions;\n  const appSettingsV1Settings_universal_d_getGlobalSettings: typeof getGlobalSettings;\n  type appSettingsV1Settings_universal_d_GetGlobalSettingsOptions = GetGlobalSettingsOptions;\n  const appSettingsV1Settings_universal_d_get: typeof get;\n  type appSettingsV1Settings_universal_d_GetOptions = GetOptions;\n  const appSettingsV1Settings_universal_d_set: typeof set;\n  type appSettingsV1Settings_universal_d_SetIdentifiers = SetIdentifiers;\n  const appSettingsV1Settings_universal_d_update: typeof update;\n  type appSettingsV1Settings_universal_d_UpdateIdentifiers = UpdateIdentifiers;\n  type appSettingsV1Settings_universal_d_UpdateOptions = UpdateOptions;\n  namespace appSettingsV1Settings_universal_d {\n    export {\n      appSettingsV1Settings_universal_d_AppSettings as AppSettings,\n      appSettingsV1Settings_universal_d_State as State,\n      appSettingsV1Settings_universal_d_Host as Host,\n      appSettingsV1Settings_universal_d_SetComponentSettingsRequest as SetComponentSettingsRequest,\n      appSettingsV1Settings_universal_d_TranslatedLanguage as TranslatedLanguage,\n      appSettingsV1Settings_universal_d_LanguageKey as LanguageKey,\n      appSettingsV1Settings_universal_d_SetComponentSettingsResponse as SetComponentSettingsResponse,\n      appSettingsV1Settings_universal_d_SetComponentSettingsForMigrationRequest as SetComponentSettingsForMigrationRequest,\n      appSettingsV1Settings_universal_d_SetComponentSettingsForMigrationResponse as SetComponentSettingsForMigrationResponse,\n      appSettingsV1Settings_universal_d_GetComponentSettingsRequest as GetComponentSettingsRequest,\n      appSettingsV1Settings_universal_d_GetComponentSettingsResponse as GetComponentSettingsResponse,\n      appSettingsV1Settings_universal_d_BulkGetComponentSettingsRequest as BulkGetComponentSettingsRequest,\n      appSettingsV1Settings_universal_d_BulkGetComponentSettingsResponse as BulkGetComponentSettingsResponse,\n      appSettingsV1Settings_universal_d_ComponentSettings as ComponentSettings,\n      appSettingsV1Settings_universal_d_SetGlobalSettingsRequest as SetGlobalSettingsRequest,\n      appSettingsV1Settings_universal_d_SetComponentSettingsItem as SetComponentSettingsItem,\n      appSettingsV1Settings_universal_d_SetGlobalSettingsResponse as SetGlobalSettingsResponse,\n      appSettingsV1Settings_universal_d_GetGlobalSettingsRequest as GetGlobalSettingsRequest,\n      appSettingsV1Settings_universal_d_GetGlobalSettingsResponse as GetGlobalSettingsResponse,\n      appSettingsV1Settings_universal_d_GetComponentSettingsItem as GetComponentSettingsItem,\n      appSettingsV1Settings_universal_d_SetGlobalSettingsForMigrationRequest as SetGlobalSettingsForMigrationRequest,\n      appSettingsV1Settings_universal_d_SetGlobalSettingsForMigrationResponse as SetGlobalSettingsForMigrationResponse,\n      appSettingsV1Settings_universal_d_GetGlobalSettingsForMigrationRequest as GetGlobalSettingsForMigrationRequest,\n      appSettingsV1Settings_universal_d_GetGlobalSettingsForMigrationResponse as GetGlobalSettingsForMigrationResponse,\n      appSettingsV1Settings_universal_d_GetRequest as GetRequest,\n      appSettingsV1Settings_universal_d_GetResponse as GetResponse,\n      appSettingsV1Settings_universal_d_SetRequest as SetRequest,\n      appSettingsV1Settings_universal_d_Scope as Scope,\n      appSettingsV1Settings_universal_d_SetResponse as SetResponse,\n      appSettingsV1Settings_universal_d_UpdateRequest as UpdateRequest,\n      appSettingsV1Settings_universal_d_UpdateResponse as UpdateResponse,\n      appSettingsV1Settings_universal_d_setComponentSettings as setComponentSettings,\n      appSettingsV1Settings_universal_d_SetComponentSettingsOptions as SetComponentSettingsOptions,\n      appSettingsV1Settings_universal_d_getComponentSettings as getComponentSettings,\n      appSettingsV1Settings_universal_d_GetComponentSettingsOptions as GetComponentSettingsOptions,\n      appSettingsV1Settings_universal_d_bulkGetComponentSettings as bulkGetComponentSettings,\n      appSettingsV1Settings_universal_d_BulkGetComponentSettingsOptions as BulkGetComponentSettingsOptions,\n      appSettingsV1Settings_universal_d_setGlobalSettings as setGlobalSettings,\n      appSettingsV1Settings_universal_d_SetGlobalSettingsOptions as SetGlobalSettingsOptions,\n      appSettingsV1Settings_universal_d_getGlobalSettings as getGlobalSettings,\n      appSettingsV1Settings_universal_d_GetGlobalSettingsOptions as GetGlobalSettingsOptions,\n      appSettingsV1Settings_universal_d_get as get,\n      appSettingsV1Settings_universal_d_GetOptions as GetOptions,\n      appSettingsV1Settings_universal_d_set as set,\n      appSettingsV1Settings_universal_d_SetIdentifiers as SetIdentifiers,\n      appSettingsV1Settings_universal_d_update as update,\n      appSettingsV1Settings_universal_d_UpdateIdentifiers as UpdateIdentifiers,\n      appSettingsV1Settings_universal_d_UpdateOptions as UpdateOptions,\n    };\n  }\n  \n  export { appSettingsV1Settings_universal_d as appSettings };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-urls.v2.d.ts",
      "content": "declare module \"wix-urls.v2\" {\n  interface EditorUrls {\n      /**\n       * Editor type.\n       * @readonly\n       */\n      editorType?: EditorType;\n      /**\n       * Editor URL.\n       * @readonly\n       */\n      editorUrl?: string | null;\n      /**\n       * Preview URL.\n       * @readonly\n       */\n      previewUrl?: string | null;\n  }\n  enum EditorType {\n      /** Unknown editor type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** The classic Wix Editor. */\n      WIX_EDITOR = \"WIX_EDITOR\",\n      /** Deprecated. Expected end-of-life date: July 1, 2024. */\n      EDITOR_X = \"EDITOR_X\",\n      /** Wix's Editor built for agencies and enterprises. */\n      WIX_STUDIO = \"WIX_STUDIO\"\n  }\n  interface GetEditorUrlsRequest {\n  }\n  interface GetEditorUrlsResponse {\n      /** Editor URL. */\n      urls?: EditorUrls;\n  }\n  /**\n   * Retrieves a site's Editor URLs.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MetaSite.Read\n   * @adminMethod\n   */\n  function getEditorUrls(): Promise<GetEditorUrlsResponse>;\n  \n  type editorurlsV2EditorUrls_universal_d_EditorUrls = EditorUrls;\n  type editorurlsV2EditorUrls_universal_d_EditorType = EditorType;\n  const editorurlsV2EditorUrls_universal_d_EditorType: typeof EditorType;\n  type editorurlsV2EditorUrls_universal_d_GetEditorUrlsRequest = GetEditorUrlsRequest;\n  type editorurlsV2EditorUrls_universal_d_GetEditorUrlsResponse = GetEditorUrlsResponse;\n  const editorurlsV2EditorUrls_universal_d_getEditorUrls: typeof getEditorUrls;\n  namespace editorurlsV2EditorUrls_universal_d {\n    export {\n      editorurlsV2EditorUrls_universal_d_EditorUrls as EditorUrls,\n      editorurlsV2EditorUrls_universal_d_EditorType as EditorType,\n      editorurlsV2EditorUrls_universal_d_GetEditorUrlsRequest as GetEditorUrlsRequest,\n      editorurlsV2EditorUrls_universal_d_GetEditorUrlsResponse as GetEditorUrlsResponse,\n      editorurlsV2EditorUrls_universal_d_getEditorUrls as getEditorUrls,\n    };\n  }\n  \n  interface PublishedSiteUrls {\n      /** List of published sites. This array will be empty if the site hasn't been published. */\n      urls?: Url[];\n  }\n  interface Url {\n      /** URL type. */\n      urlType?: UrlType;\n      /** Whether this is the site's primary URL. */\n      primary?: boolean;\n      /** Published site URL. */\n      url?: string;\n      /** Language subdomain info hosted by [Wix multilingual](https://support.wix.com/article/wix-multilingual-adding-and-setting-up-wix-multilingual). */\n      multilingualInfo?: MultilingualInfo;\n  }\n  enum UrlType {\n      /** Unknown URL type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Only URLs directing to the Premium version of the site. */\n      PREMIUM = \"PREMIUM\",\n      /** Only URLs including `wixsite.com`. */\n      FREE = \"FREE\"\n  }\n  interface MultilingualInfo {\n      /** IETF BCP 47 language tag. For example, `en-US`. */\n      languageCode?: string;\n      /** Whether this is the site's default language. */\n      defaultLanguage?: boolean;\n  }\n  interface ListPublishedSiteUrlsRequest {\n      /** Filters for the list. */\n      filters?: Filters;\n  }\n  interface Filters {\n      /**\n       * URL type filter.\n       * Default: `ALL`\n       */\n      urlType?: UrlTypeFilter;\n      /** Whether to return only the site's primary URL. <br /> Default: `true`. */\n      primary?: boolean | null;\n      /** Whether to return language subdomains hosted by [Wix Multilingual](https://support.wix.com/article/wix-multilingual-adding-and-setting-up-wix-multilingual). <br /> Default: `true`. */\n      multilingual?: boolean | null;\n  }\n  enum UrlTypeFilter {\n      /** All URLs. */\n      ALL = \"ALL\",\n      /** Only URLs directing to the Premium version of the site. */\n      PREMIUM = \"PREMIUM\",\n      /** Only URLs including `wixsite.com`. */\n      FREE = \"FREE\"\n  }\n  interface ListPublishedSiteUrlsResponse {\n      /** List will be empty for non published sites */\n      urls?: Url[];\n  }\n  /**\n   * Retrieves a list of a site's published URLs.\n   * If a site hasn't been published, the call returns an empty array.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId SITE_URLS.READ\n   * @adminMethod\n   */\n  function listPublishedSiteUrls(options?: ListPublishedSiteUrlsOptions): Promise<ListPublishedSiteUrlsResponse>;\n  interface ListPublishedSiteUrlsOptions {\n      /** Filters for the list. */\n      filters?: Filters;\n  }\n  \n  type urlsApiV2PublishedSiteUrls_universal_d_PublishedSiteUrls = PublishedSiteUrls;\n  type urlsApiV2PublishedSiteUrls_universal_d_Url = Url;\n  type urlsApiV2PublishedSiteUrls_universal_d_UrlType = UrlType;\n  const urlsApiV2PublishedSiteUrls_universal_d_UrlType: typeof UrlType;\n  type urlsApiV2PublishedSiteUrls_universal_d_MultilingualInfo = MultilingualInfo;\n  type urlsApiV2PublishedSiteUrls_universal_d_ListPublishedSiteUrlsRequest = ListPublishedSiteUrlsRequest;\n  type urlsApiV2PublishedSiteUrls_universal_d_Filters = Filters;\n  type urlsApiV2PublishedSiteUrls_universal_d_UrlTypeFilter = UrlTypeFilter;\n  const urlsApiV2PublishedSiteUrls_universal_d_UrlTypeFilter: typeof UrlTypeFilter;\n  type urlsApiV2PublishedSiteUrls_universal_d_ListPublishedSiteUrlsResponse = ListPublishedSiteUrlsResponse;\n  const urlsApiV2PublishedSiteUrls_universal_d_listPublishedSiteUrls: typeof listPublishedSiteUrls;\n  type urlsApiV2PublishedSiteUrls_universal_d_ListPublishedSiteUrlsOptions = ListPublishedSiteUrlsOptions;\n  namespace urlsApiV2PublishedSiteUrls_universal_d {\n    export {\n      urlsApiV2PublishedSiteUrls_universal_d_PublishedSiteUrls as PublishedSiteUrls,\n      urlsApiV2PublishedSiteUrls_universal_d_Url as Url,\n      urlsApiV2PublishedSiteUrls_universal_d_UrlType as UrlType,\n      urlsApiV2PublishedSiteUrls_universal_d_MultilingualInfo as MultilingualInfo,\n      urlsApiV2PublishedSiteUrls_universal_d_ListPublishedSiteUrlsRequest as ListPublishedSiteUrlsRequest,\n      urlsApiV2PublishedSiteUrls_universal_d_Filters as Filters,\n      urlsApiV2PublishedSiteUrls_universal_d_UrlTypeFilter as UrlTypeFilter,\n      urlsApiV2PublishedSiteUrls_universal_d_ListPublishedSiteUrlsResponse as ListPublishedSiteUrlsResponse,\n      urlsApiV2PublishedSiteUrls_universal_d_listPublishedSiteUrls as listPublishedSiteUrls,\n      urlsApiV2PublishedSiteUrls_universal_d_ListPublishedSiteUrlsOptions as ListPublishedSiteUrlsOptions,\n    };\n  }\n  \n  export { editorurlsV2EditorUrls_universal_d as editor, urlsApiV2PublishedSiteUrls_universal_d as site };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-app-plugins-site-plugins.v1.d.ts",
      "content": "declare module \"wix-app-plugins-site-plugins.v1\" {\n  /** The `PlacementStatus` object represents the status of your app's site plugins, indicating whether they are currently placed in a slot on the user's site. */\n  interface PlacementStatus {\n      /**\n       * Plugin ID. This is a unique ID that is assigned to each plugin. You can view your plugin IDs in your app's plugin extensions in the Wix Dev Center.\n       * @readonly\n       */\n      pluginId?: string | null;\n      /**\n       * Whether the plugin placed in a slot on the user's site.\n       * @readonly\n       */\n      placedInSlot?: boolean | null;\n  }\n  interface GetPlacementStatusRequest {\n  }\n  interface GetPlacementStatusResponse {\n      /** Data about placement statuses of your app's site plugins on the user's site. */\n      placementStatuses?: PlacementStatus[];\n  }\n  /**\n   * Get the placement statuses of your app's site plugins on the user's site.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getPlacementStatus(): Promise<GetPlacementStatusResponse>;\n  \n  type appPluginsSitePluginsV1PlacementStatus_universal_d_PlacementStatus = PlacementStatus;\n  type appPluginsSitePluginsV1PlacementStatus_universal_d_GetPlacementStatusRequest = GetPlacementStatusRequest;\n  type appPluginsSitePluginsV1PlacementStatus_universal_d_GetPlacementStatusResponse = GetPlacementStatusResponse;\n  const appPluginsSitePluginsV1PlacementStatus_universal_d_getPlacementStatus: typeof getPlacementStatus;\n  namespace appPluginsSitePluginsV1PlacementStatus_universal_d {\n    export {\n      appPluginsSitePluginsV1PlacementStatus_universal_d_PlacementStatus as PlacementStatus,\n      appPluginsSitePluginsV1PlacementStatus_universal_d_GetPlacementStatusRequest as GetPlacementStatusRequest,\n      appPluginsSitePluginsV1PlacementStatus_universal_d_GetPlacementStatusResponse as GetPlacementStatusResponse,\n      appPluginsSitePluginsV1PlacementStatus_universal_d_getPlacementStatus as getPlacementStatus,\n    };\n  }\n  \n  export { appPluginsSitePluginsV1PlacementStatus_universal_d as placementStatus };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-communication-channels-v1-channel-provider.d.ts",
      "content": "declare module \"interfaces-communication-channels-v1-channel-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface ChannelProvider {\n      _id?: string | null;\n  }\n  interface GetChannelConnectionStatusRequest {\n  }\n  interface GetChannelConnectionStatusResponse {\n      connectionStatus?: ChannelConnectionStatus;\n      /** Usage information, can have multiple quotas (regular, booster, etc). */\n      quotaInfo?: QuotaInfo[];\n  }\n  interface ChannelConnectionStatus {\n      /** The connected channel account identifier (such as email address / phone number / facebook pageId etc) */\n      identifier?: string | null;\n      /** State of the connected channel, indicates if channel is valid for sending and receiving messages */\n      status?: ConnectionStatus;\n  }\n  enum ConnectionStatus {\n      UNKNOWN_CONNECTION_STATE = \"UNKNOWN_CONNECTION_STATE\",\n      VALID = \"VALID\",\n      DISCONNECTED = \"DISCONNECTED\",\n      INVALID = \"INVALID\",\n      PENDING = \"PENDING\",\n      SUSPENDED = \"SUSPENDED\"\n  }\n  interface QuotaInfo {\n      /** Name of the plan this quote is applied to. */\n      planName?: string;\n      /** Upcoming renewal date of the plan this quote is applied to. */\n      planRenewalDate?: Date;\n      /** Quantity usage limitation, for the specific period */\n      limit?: string | null;\n      /** Period the limitation applies to. */\n      period?: FeaturePeriod;\n      /** Counted usages until this moment. */\n      currentUsage?: string;\n      /**\n       * Remaining amount that can be used.\n       * Will be set to None in case for an unlimited usage feature\n       */\n      remainingUsage?: string | null;\n  }\n  /** Determines the cycle of the feature usage. */\n  enum FeaturePeriod {\n      NO_PERIOD = \"NO_PERIOD\",\n      MILLISECOND = \"MILLISECOND\",\n      SECOND = \"SECOND\",\n      MINUTE = \"MINUTE\",\n      HOUR = \"HOUR\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface GetQuotaInfoRequest {\n  }\n  interface GetQuotaInfoResponse {\n      quotaInfo?: QuotaInfo[];\n  }\n  interface CanSendMessageRequest {\n      to?: string | null;\n  }\n  interface CanSendMessageResponse {\n      canSendMessage?: boolean;\n      additionalInfo?: CanSendAdditionalInfo;\n  }\n  interface CanSendAdditionalInfo {\n      type?: CanSendInfoType;\n      /** get in the spi, and maybe only for logs and not expose in the API */\n      message?: string | null;\n  }\n  enum CanSendInfoType {\n      UNKNOWN_ADDITIONAL_INFO_TYPE = \"UNKNOWN_ADDITIONAL_INFO_TYPE\",\n      RECIPIENT_UNSUBSCRIBED = \"RECIPIENT_UNSUBSCRIBED\",\n      RECIPIENT_BLOCKED = \"RECIPIENT_BLOCKED\",\n      INVALID_RECIPIENT = \"INVALID_RECIPIENT\",\n      ADDITIONAL_ACTION_REQUIRED = \"ADDITIONAL_ACTION_REQUIRED\",\n      QUOTA_EXCEEDED = \"QUOTA_EXCEEDED\",\n      TOO_MANY_REQUESTS = \"TOO_MANY_REQUESTS\",\n      ACCOUNT_CONNECTION_NOT_ACTIVE = \"ACCOUNT_CONNECTION_NOT_ACTIVE\"\n  }\n  interface SendMessageRequest {\n      to?: Recipient;\n      message?: Message;\n  }\n  interface Recipient {\n      email?: EmailRecipient;\n      phone?: string | null;\n      recipientId?: string | null;\n  }\n  interface EmailRecipient {\n      address?: string;\n      name?: string | null;\n  }\n  interface Message extends MessageContentOneOf {\n      directMessage?: DirectMessage;\n      emailMessage?: EmailMessage;\n      smsMessage?: SmsMessage;\n      _id?: string | null;\n      _createdDate?: Date;\n      messageIdReference?: string | null;\n      summary?: string | null;\n      messageType?: MessageType;\n  }\n  /** @oneof */\n  interface MessageContentOneOf {\n      directMessage?: DirectMessage;\n      emailMessage?: EmailMessage;\n      smsMessage?: SmsMessage;\n  }\n  enum MessageType {\n      UNKNOWN_MESSAGE_TYPE = \"UNKNOWN_MESSAGE_TYPE\",\n      DIRECT_MESSAGE = \"DIRECT_MESSAGE\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\"\n  }\n  interface DirectMessage extends DirectMessagePayloadOneOf {\n      /** simple messages */\n      textMessage?: TextMessage;\n      mediaMessage?: MediaMessage;\n      locationMessage?: LocationMessage;\n      /** templates */\n      cardTemplate?: CardTemplate;\n      announcementTemplate?: AnnouncementTemplate;\n      formTemplate?: FormTemplate;\n      payloadType?: PayloadType;\n  }\n  /** @oneof */\n  interface DirectMessagePayloadOneOf {\n      /** simple messages */\n      textMessage?: TextMessage;\n      mediaMessage?: MediaMessage;\n      locationMessage?: LocationMessage;\n      /** templates */\n      cardTemplate?: CardTemplate;\n      announcementTemplate?: AnnouncementTemplate;\n      formTemplate?: FormTemplate;\n  }\n  enum PayloadType {\n      UNKNOWN_MESSAGE_TYPE = \"UNKNOWN_MESSAGE_TYPE\",\n      SIMPLE_TEXT = \"SIMPLE_TEXT\",\n      SIMPLE_MEDIA = \"SIMPLE_MEDIA\",\n      SIMPLE_LOCATION = \"SIMPLE_LOCATION\",\n      CARD = \"CARD\",\n      CONTACT = \"CONTACT\",\n      ANNOUNCEMENT = \"ANNOUNCEMENT\",\n      FORM = \"FORM\",\n      ACTIONABLE_FORM = \"ACTIONABLE_FORM\"\n  }\n  interface TextMessage {\n      mimeType?: TextMimeType;\n      content?: string | null;\n  }\n  enum TextMimeType {\n      TEXT_PLAIN = \"TEXT_PLAIN\"\n  }\n  interface MediaMessage {\n      mimeType?: MediaMimeType;\n      /** or URI ? */\n      url?: string | null;\n      altText?: string | null;\n      caption?: string | null;\n      fileName?: string | null;\n      fileSizeInBytes?: string | null;\n      lengthInMs?: string | null;\n  }\n  /** Mime type for relevant media entities in channels */\n  enum MediaMimeType {\n      UNKNOWN_MIME_TYPE = \"UNKNOWN_MIME_TYPE\",\n      IMAGE_JPEG = \"IMAGE_JPEG\",\n      IMAGE_PNG = \"IMAGE_PNG\",\n      IMAGE_WEBP = \"IMAGE_WEBP\",\n      VIDEO_MPEG = \"VIDEO_MPEG\",\n      VIDEO_MP4 = \"VIDEO_MP4\",\n      VIDEO_3GP = \"VIDEO_3GP\",\n      AUDIO_AAC = \"AUDIO_AAC\",\n      AUDIO_MP4 = \"AUDIO_MP4\",\n      AUDIO_MPEG = \"AUDIO_MPEG\",\n      AUDIO_OGG = \"AUDIO_OGG\",\n      AUDIO_OPUS = \"AUDIO_OPUS\",\n      APPLICATION_PDF = \"APPLICATION_PDF\",\n      APPLICATION_OCTET_STREAM = \"APPLICATION_OCTET_STREAM\"\n  }\n  interface LocationMessage {\n      coordinates?: Coordinates;\n      label?: string | null;\n      title?: string | null;\n      address?: string | null;\n  }\n  interface Coordinates {\n      longitude?: string | null;\n      latitude?: string | null;\n  }\n  interface CardTemplate {\n      title?: string | null;\n      description?: string | null;\n      imageUrl?: string | null;\n      orientation?: Orientation;\n      buttons?: Button[];\n  }\n  enum Orientation {\n      PORTRAIT = \"PORTRAIT\",\n      LANDSCAPE = \"LANDSCAPE\"\n  }\n  interface Button {\n      /** todo: explore action types e.g https://docs.smooch.io/guide/channel-capabilities/ */\n      type?: ButtonType;\n      url?: string | null;\n      title?: string | null;\n      postbackPayload?: string | null;\n  }\n  enum ButtonType {\n      CTA = \"CTA\",\n      POSTBACK = \"POSTBACK\",\n      POSTBACK_AND_CTA = \"POSTBACK_AND_CTA\"\n  }\n  interface AnnouncementTemplate {\n      text?: string;\n      iconUrl?: string | null;\n  }\n  interface FormTemplate {\n      title?: string | null;\n      fields?: FormField[];\n  }\n  interface FormField {\n      label?: string;\n      value?: string | null;\n  }\n  interface EmailMessage {\n      /** todo: how do we put here the in_reply_to */\n      replyTo?: string | null;\n      subject?: string;\n      content?: EmailContent[];\n      cc?: EmailRecipient[];\n      attachments?: EmailAttachment[];\n      sentDate?: Date;\n  }\n  interface EmailContent {\n      mimeType?: string;\n      content?: string | null;\n  }\n  interface EmailAttachment {\n      _id?: string | null;\n      name?: string;\n      mimeType?: string | null;\n      url?: string;\n      fileSizeInBytes?: string | null;\n      disposition?: AttachmentDisposition;\n  }\n  enum AttachmentDisposition {\n      ATTACHMENT = \"ATTACHMENT\",\n      INLINE = \"INLINE\"\n  }\n  interface SmsMessage extends SmsMessageBodyOneOf {\n      text?: TextSMS;\n      mms?: MediaSMS;\n  }\n  /** @oneof */\n  interface SmsMessageBodyOneOf {\n      text?: TextSMS;\n      mms?: MediaSMS;\n  }\n  interface TextSMS {\n      encoding?: string | null;\n      body?: string | null;\n  }\n  interface MediaSMS {\n      mimeType?: string | null;\n      urls?: string[] | null;\n  }\n  interface SendMessageResponse {\n      externalMessageId?: string;\n  }\n  interface InvalidRecipientError {\n      fields?: FieldViolation[];\n  }\n  interface FieldViolation {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  enum RuleType {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\"\n  }\n  interface UpdateMessageStatusRequest {\n      to?: Recipient;\n      status?: MessageStatus;\n  }\n  interface MessageStatus extends MessageStatusContentOneOf {\n      messageSentStatus?: MessageSentStatus;\n      messageDeliveredStatus?: MessageDeliveredStatus;\n      messageSeenStatus?: MessageSeenStatus;\n      failedDeliveryStatus?: FailedDeliveryStatus;\n      messageDeletedStatus?: MessageDeletedStatus;\n      _id?: string | null;\n      messageIdReference?: string | null;\n      statusContext?: StatusContext;\n      statusType?: StatusType;\n  }\n  /** @oneof */\n  interface MessageStatusContentOneOf {\n      messageSentStatus?: MessageSentStatus;\n      messageDeliveredStatus?: MessageDeliveredStatus;\n      messageSeenStatus?: MessageSeenStatus;\n      failedDeliveryStatus?: FailedDeliveryStatus;\n      messageDeletedStatus?: MessageDeletedStatus;\n  }\n  interface StatusContext {\n      initiatorId?: string | null;\n      statusChangedDate?: Date;\n  }\n  enum StatusType {\n      UNKNOWN_STATUS_TYPE = \"UNKNOWN_STATUS_TYPE\",\n      SENT = \"SENT\",\n      DELIVERED = \"DELIVERED\",\n      SEEN = \"SEEN\",\n      FAILED = \"FAILED\",\n      DELETED = \"DELETED\"\n  }\n  interface MessageSentStatus {\n  }\n  interface MessageDeliveredStatus {\n  }\n  interface MessageSeenStatus {\n  }\n  interface FailedDeliveryStatus {\n      errorCode?: ErrorCode;\n      cause?: string | null;\n  }\n  enum ErrorCode {\n      UNKNOWN_FAILED_CODE = \"UNKNOWN_FAILED_CODE\",\n      PERMISSION_DENIED = \"PERMISSION_DENIED\",\n      MISSING_PERMISSION = \"MISSING_PERMISSION\",\n      /** RATE_LIMIT_EXCEEDED */\n      TOO_MANY_REQUESTS = \"TOO_MANY_REQUESTS\",\n      QUOTA_EXCEEDED = \"QUOTA_EXCEEDED\",\n      INVALID_PARAMETER = \"INVALID_PARAMETER\",\n      EXPIRED_ACCESS_TOKEN = \"EXPIRED_ACCESS_TOKEN\",\n      POLICY_VIOLATION = \"POLICY_VIOLATION\",\n      BLOCKED = \"BLOCKED\",\n      MESSAGE_EXPIRED = \"MESSAGE_EXPIRED\",\n      GENERIC_ERROR = \"GENERIC_ERROR\",\n      UNSUPPORTED_MESSAGE_TYPE = \"UNSUPPORTED_MESSAGE_TYPE\",\n      BACKEND_ERROR = \"BACKEND_ERROR\"\n  }\n  interface MessageDeletedStatus {\n  }\n  interface UpdateMessageStatusResponse {\n  }\n  interface GetRecipientProfileRequest {\n      recipient?: Recipient;\n  }\n  interface GetRecipientProfileResponse {\n      profile?: RecipientProfile;\n  }\n  interface RecipientProfile {\n      recipient?: Recipient;\n      name?: string;\n      firstName?: string | null;\n      lastName?: string | null;\n      /** todo: use standard image object decomposition */\n      profilePicture?: string | null;\n  }\n  interface CommunicationChannelConfiguration {\n      config?: ChannelConfiguration;\n  }\n  interface ChannelConfiguration extends ChannelConfigurationMessagingConfigOneOf {\n      directMessageConfig?: DirectMessageConfig;\n      emailMessageConfig?: EmailMessageConfig;\n      smsMessageConfig?: SmsMessageConfig;\n      /** The type of the communication channel */\n      type?: ChannelType;\n      /** Specific provider branding parameters for the channel */\n      branding?: ChannelBranding;\n      /** Conversation initiation definition */\n      conversationLimitations?: ConversationLimitations;\n  }\n  /** @oneof */\n  interface ChannelConfigurationMessagingConfigOneOf {\n      directMessageConfig?: DirectMessageConfig;\n      emailMessageConfig?: EmailMessageConfig;\n      smsMessageConfig?: SmsMessageConfig;\n  }\n  /** The type of the communication channel */\n  enum ChannelType {\n      UNKNOWN_CHANNEL_TYPE = \"UNKNOWN_CHANNEL_TYPE\",\n      DIRECT_MESSAGING = \"DIRECT_MESSAGING\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\"\n  }\n  interface DirectMessageConfig {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      acceptAllMessageTypes?: boolean;\n      /**\n       * Direct message types accepted by the provider. only those types will be sent from Wix\n       * If all are excepted this field can be left empty and there's no need to explicitly state types\n       */\n      acceptedMessageTypes?: AcceptedDirectMessageType[];\n      /** Elaborates what media types (mime types) and sizes are supported */\n      mediaCapabilities?: MediaCapabilities;\n  }\n  enum AcceptedDirectMessageType {\n      TEXT = \"TEXT\",\n      MEDIA = \"MEDIA\",\n      CARD = \"CARD\",\n      ANNOUNCEMENT = \"ANNOUNCEMENT\",\n      FORM = \"FORM\"\n  }\n  interface MediaCapabilities {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      allMediaTypes?: boolean;\n      /**\n       * List for supported media types\n       * If all are excepted this field can be left empty and there's no need to explicitly state types\n       */\n      supportedMediaTypes?: MediaMimeType[];\n      /** Maximum file size in bytes of a single file in a message */\n      maxFileSizeInBytes?: number | null;\n  }\n  interface EmailMessageConfig {\n      /** Media (Attachment) types accepted by the provider */\n      mediaCapabilities?: MediaCapabilities;\n      /** Maximum size in bytes of total media items in a message. */\n      maxTotalFilesSizeInBytes?: number | null;\n  }\n  interface SmsMessageConfig {\n      /** When marked as true, there's no need to list the supported types explicitly */\n      acceptAllMessageTypes?: boolean;\n      /** SMS message types accepted by the provider. only those types will be sent from Wix */\n      acceptedMessageTypes?: AcceptedSmsMessageType[];\n      /** Elaborates what media types (mime types) and sizes are supported */\n      mediaCapabilities?: MediaCapabilities;\n  }\n  enum AcceptedSmsMessageType {\n      SMS = \"SMS\",\n      MMS = \"MMS\"\n  }\n  interface ChannelBranding {\n      /** The name of the channel, e.g. `Facebook` / `SMS` */\n      displayName?: string;\n      /** Name of the channel provider (Wix, Meta, Google) */\n      providerName?: string | null;\n      /** Relevant brand icons, used when the channel is integrated */\n      brandIcons?: BrandIcons;\n  }\n  /**\n   * Brand icons required for correct channel integration\n   * todo: 1. which ones are required ?\n   * todo: 2. we may need to specify Icons specs (i.e. format and sizes)\n   */\n  interface BrandIcons {\n      default?: Icon;\n      vector?: Icon;\n      bwOutlineVector?: Icon;\n  }\n  interface Icon {\n      /** Specific Icon url */\n      url?: string | null;\n  }\n  interface ConversationLimitations {\n      /**\n       * Defines who can initiate conversation in this channel.\n       * If, `CUSTOMER` is selected, this means that only inbound\n       * messages can start a conversation (aka business can only reply and not initiate the first communication).\n       */\n      initDirection?: InitDirection;\n  }\n  enum InitDirection {\n      UNKNOWN_INIT_DIRECTION = \"UNKNOWN_INIT_DIRECTION\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\",\n      BOTH = \"BOTH\"\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CanSendMessageOptions {\n      to?: string | null;\n  }\n  interface SendMessageOptions {\n      to?: Recipient;\n      message?: Message;\n  }\n  interface UpdateMessageStatusOptions {\n      to?: Recipient;\n      status?: MessageStatus;\n  }\n  interface GetRecipientProfileOptions {\n      recipient?: Recipient;\n  }\n  \n  function invalidRecipient$1(data: InvalidRecipientError): BusinessError<InvalidRecipientError>;\n  \n  namespace sendMessageSpiErrors_d {\n    export {\n      invalidRecipient$1 as invalidRecipient,\n    };\n  }\n  \n  function invalidRecipient(data: InvalidRecipientError): BusinessError<InvalidRecipientError>;\n  \n  const updateMessageStatusSpiErrors_d_invalidRecipient: typeof invalidRecipient;\n  namespace updateMessageStatusSpiErrors_d {\n    export {\n      updateMessageStatusSpiErrors_d_invalidRecipient as invalidRecipient,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      sendMessageSpiErrors_d as sendMessage,\n      updateMessageStatusSpiErrors_d as updateMessageStatus,\n    };\n  }\n  \n  export { AcceptedDirectMessageType, AcceptedSmsMessageType, AnnouncementTemplate, AttachmentDisposition, BrandIcons, BusinessError, Button, ButtonType, CanSendAdditionalInfo, CanSendInfoType, CanSendMessageOptions, CanSendMessageRequest, CanSendMessageResponse, CardTemplate, ChannelBranding, ChannelConfiguration, ChannelConfigurationMessagingConfigOneOf, ChannelConnectionStatus, ChannelProvider, ChannelType, CommunicationChannelConfiguration, ConnectionStatus, Context, ConversationLimitations, Coordinates, DirectMessage, DirectMessageConfig, DirectMessagePayloadOneOf, EmailAttachment, EmailContent, EmailMessage, EmailMessageConfig, EmailRecipient, ErrorCode, FailedDeliveryStatus, FeaturePeriod, FieldViolation, FormField, FormTemplate, GetChannelConnectionStatusRequest, GetChannelConnectionStatusResponse, GetQuotaInfoRequest, GetQuotaInfoResponse, GetRecipientProfileOptions, GetRecipientProfileRequest, GetRecipientProfileResponse, Icon, IdentificationData, IdentificationDataIdOneOf, IdentityType, InitDirection, InvalidRecipientError, LocationMessage, MediaCapabilities, MediaMessage, MediaMimeType, MediaSMS, Message, MessageContentOneOf, MessageDeletedStatus, MessageDeliveredStatus, MessageSeenStatus, MessageSentStatus, MessageStatus, MessageStatusContentOneOf, MessageType, Orientation, PayloadType, QuotaInfo, Recipient, RecipientProfile, RuleType, SendMessageOptions, SendMessageRequest, SendMessageResponse, SmsMessage, SmsMessageBodyOneOf, SmsMessageConfig, StatusContext, StatusType, TextMessage, TextMimeType, TextSMS, UpdateMessageStatusOptions, UpdateMessageStatusRequest, UpdateMessageStatusResponse, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-communication-channels-v2-channel-provider.d.ts",
      "content": "declare module \"interfaces-communication-channels-v2-channel-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetChannelConnectionStatusRequest {\n      channelKey?: string;\n  }\n  interface GetChannelConnectionStatusResponse {\n      /**\n       * todo: check if this isn't something available from the dev center somehow? other providers has to somehow connect as well\n       * The connected channel account identifier (such as email address / phone number / facebook page name etc). Has to be human-readable.\n       */\n      connectedEntityDisplayName?: string | null;\n      /** State of the connected channel, indicates if channel is valid for sending and receiving messages */\n      status?: ConnectionStatus;\n      /** Usage information, can have multiple quotas (regular, booster, etc). */\n      quotaInfo?: QuotaInfo[];\n  }\n  enum ConnectionStatus {\n      UNKNOWN_CONNECTION_STATE = \"UNKNOWN_CONNECTION_STATE\",\n      VALID = \"VALID\",\n      DISCONNECTED = \"DISCONNECTED\",\n      INVALID = \"INVALID\",\n      PENDING = \"PENDING\",\n      SUSPENDED = \"SUSPENDED\",\n      SERVICE_UNAVAILABLE = \"SERVICE_UNAVAILABLE\"\n  }\n  /** todo: maybe we should align this with automations? https://github.com/wix-private/wix-automations/blob/master/action-spi-provider/src/main/proto/com/wixpress/esb/spi/action/v1/action_quota.proto */\n  interface QuotaInfo {\n      /** Name of the plan this quote is applied to. */\n      planName?: string;\n      /** Upcoming renewal date of the plan this quote is applied to. */\n      planRenewalDate?: Date;\n      /** Quantity usage limitation, for the specific period */\n      limit?: string | null;\n      /** Period the limitation applies to. */\n      period?: FeaturePeriod;\n      /** Counted usages until this moment. */\n      currentUsage?: string;\n      /**\n       * Remaining amount that can be used.\n       * Will be set to None in case for an unlimited usage feature\n       */\n      remainingUsage?: string | null;\n  }\n  /** Determines the cycle of the feature usage. */\n  enum FeaturePeriod {\n      NO_PERIOD = \"NO_PERIOD\",\n      MILLISECOND = \"MILLISECOND\",\n      SECOND = \"SECOND\",\n      MINUTE = \"MINUTE\",\n      HOUR = \"HOUR\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface GetQuotaInfoRequest {\n      channelKey?: string;\n  }\n  interface GetQuotaInfoResponse {\n      quotaInfo?: QuotaInfo[];\n  }\n  interface CanSendMessageRequest {\n      channelKey?: string;\n      to?: Recipient;\n  }\n  interface Recipient extends RecipientRecipientOneOf {\n      emailOptions?: string;\n      phoneOptions?: string;\n      /** participant id (for direct messaging channel) */\n      recipientIdOptions?: string;\n      /** The recipient id */\n      recipientId?: RecipientId;\n      /** Identification type. The recipient field's structure is depend on this value */\n      type?: IdentificationType;\n  }\n  /** @oneof */\n  interface RecipientRecipientOneOf {\n      emailOptions?: string;\n      phoneOptions?: string;\n      /** participant id (for direct messaging channel) */\n      recipientIdOptions?: string;\n  }\n  interface RecipientId extends RecipientIdIdOneOf {\n      /**\n       * ID of a site\n       * [contact](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n       */\n      contactId?: string;\n      /** ID of an anonymous site visitor. */\n      anonymousVisitorId?: string;\n  }\n  /** @oneof */\n  interface RecipientIdIdOneOf {\n      /**\n       * ID of a site\n       * [contact](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n       */\n      contactId?: string;\n      /** ID of an anonymous site visitor. */\n      anonymousVisitorId?: string;\n  }\n  enum IdentificationType {\n      UNKNOWN_IDENTIFICATION_TYPE = \"UNKNOWN_IDENTIFICATION_TYPE\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      RECIPIENT_ID = \"RECIPIENT_ID\"\n  }\n  interface CanSendMessageResponse {\n      canSendMessage?: boolean;\n      remark?: CanSendRemarkType;\n  }\n  enum CanSendRemarkType {\n      UNKNOWN_ADDITIONAL_INFO_TYPE = \"UNKNOWN_ADDITIONAL_INFO_TYPE\",\n      RECIPIENT_UNSUBSCRIBED = \"RECIPIENT_UNSUBSCRIBED\",\n      RECIPIENT_BLOCKED = \"RECIPIENT_BLOCKED\",\n      INVALID_RECIPIENT = \"INVALID_RECIPIENT\",\n      ADDITIONAL_ACTION_REQUIRED = \"ADDITIONAL_ACTION_REQUIRED\",\n      QUOTA_EXCEEDED = \"QUOTA_EXCEEDED\",\n      TOO_MANY_REQUESTS = \"TOO_MANY_REQUESTS\",\n      ACCOUNT_CONNECTION_NOT_ACTIVE = \"ACCOUNT_CONNECTION_NOT_ACTIVE\"\n  }\n  interface SendMessageRequest {\n      channelKey?: string;\n      to?: Recipient;\n      message?: Message;\n  }\n  interface Message extends MessageContentOneOf {\n      directMessageOptions?: DirectMessage;\n      emailOptions?: EmailMessage;\n      smsOptions?: SmsMessage;\n      /** Message identification (will be generated by the host) */\n      _id?: string;\n      /**\n       * The creation date of the message (will be used for idempotency)\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** The type of the message (the content will be decided by this type) */\n      messageType?: MessageType;\n  }\n  /** @oneof */\n  interface MessageContentOneOf {\n      directMessageOptions?: DirectMessage;\n      emailOptions?: EmailMessage;\n      smsOptions?: SmsMessage;\n  }\n  enum MessageType {\n      UNKNOWN_MESSAGE_TYPE = \"UNKNOWN_MESSAGE_TYPE\",\n      DIRECT_MESSAGE = \"DIRECT_MESSAGE\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\"\n  }\n  interface DirectMessage extends DirectMessagePayloadOneOf {\n      /** simple messages */\n      simpleTextOptions?: PlainTextMessage;\n      simpleMediaOptions?: MediaMessage;\n      /** templates */\n      cardOptions?: CardTemplate;\n      minimalOptions?: MinimalTemplate;\n      formOptions?: FormTemplate;\n      systemOptions?: SystemTemplate;\n      /** The type of the message payload. The payload structure will be decided by that value. */\n      payloadType?: PayloadType;\n  }\n  /** @oneof */\n  interface DirectMessagePayloadOneOf {\n      /** simple messages */\n      simpleTextOptions?: PlainTextMessage;\n      simpleMediaOptions?: MediaMessage;\n      /** templates */\n      cardOptions?: CardTemplate;\n      minimalOptions?: MinimalTemplate;\n      formOptions?: FormTemplate;\n      systemOptions?: SystemTemplate;\n  }\n  enum PayloadType {\n      UNKNOWN_MESSAGE_TYPE = \"UNKNOWN_MESSAGE_TYPE\",\n      SIMPLE_TEXT = \"SIMPLE_TEXT\",\n      SIMPLE_MEDIA = \"SIMPLE_MEDIA\",\n      CARD = \"CARD\",\n      MINIMAL = \"MINIMAL\",\n      FORM = \"FORM\",\n      SYSTEM = \"SYSTEM\"\n  }\n  interface PlainTextMessage {\n      content?: string;\n  }\n  interface MediaMessage {\n      /** The mime-type of the media */\n      mimeType?: MediaMimeType;\n      /** The URL of the media */\n      url?: string | null;\n      /** Alternate text for the media */\n      altText?: string | null;\n      /** The caption of the media */\n      caption?: string | null;\n      /** The file name of the media */\n      fileName?: string | null;\n      /** The size of the file in bytes */\n      fileSizeInBytes?: string | null;\n      /** The length of the media (if available) */\n      lengthInMs?: string | null;\n  }\n  /** Mime type for relevant media entities in channels */\n  enum MediaMimeType {\n      UNKNOWN_MIME_TYPE = \"UNKNOWN_MIME_TYPE\",\n      IMAGE_JPEG = \"IMAGE_JPEG\",\n      IMAGE_PNG = \"IMAGE_PNG\",\n      IMAGE_WEBP = \"IMAGE_WEBP\",\n      VIDEO_MPEG = \"VIDEO_MPEG\",\n      VIDEO_MP4 = \"VIDEO_MP4\",\n      VIDEO_3GP = \"VIDEO_3GP\",\n      AUDIO_AAC = \"AUDIO_AAC\",\n      AUDIO_MP4 = \"AUDIO_MP4\",\n      AUDIO_MPEG = \"AUDIO_MPEG\",\n      AUDIO_OGG = \"AUDIO_OGG\",\n      AUDIO_OPUS = \"AUDIO_OPUS\",\n      APPLICATION_PDF = \"APPLICATION_PDF\",\n      APPLICATION_OCTET_STREAM = \"APPLICATION_OCTET_STREAM\"\n  }\n  interface CardTemplate {\n      /** Title displayed in the message. */\n      title?: string | null;\n      /** List of buttons to display with the message. */\n      buttons?: Button[];\n      /** Controls whether the message is displayed in portrait or landscape layout. */\n      orientation?: Orientation;\n      /**\n       * an icon key\n       * @internal\n       */\n      icon?: string | null;\n      /** List of lines of text */\n      textLines?: string[];\n      /** URL where the icon is hosted. */\n      imageUrl?: string | null;\n  }\n  interface Button {\n      /** The type of the button */\n      type?: ButtonType;\n      /** The URL of the button to be triggered when clicked */\n      url?: string | null;\n      /** The title of the button */\n      title?: string | null;\n  }\n  enum ButtonType {\n      UNKNOWN_BUTTON_TYPE = \"UNKNOWN_BUTTON_TYPE\",\n      CTA = \"CTA\"\n  }\n  enum Orientation {\n      UNKNOWN_ORIENTATION = \"UNKNOWN_ORIENTATION\",\n      PORTRAIT = \"PORTRAIT\",\n      LANDSCAPE = \"LANDSCAPE\"\n  }\n  interface MinimalTemplate {\n      /** Text message */\n      text?: string;\n      /** Icon URL */\n      iconUrl?: string | null;\n  }\n  interface FormTemplate {\n      /** The title of the form */\n      title?: string | null;\n      /** The fields of the form */\n      fields?: FormField[];\n  }\n  interface FormField {\n      /** The label of the field */\n      label?: string;\n      /** The value of the field */\n      value?: string | null;\n  }\n  interface SystemTemplate {\n      /** Text message */\n      text?: string;\n      /** List of buttons to display with the message */\n      buttons?: Button[];\n      /** URL where the icon is hosted */\n      imageUrl?: string | null;\n  }\n  interface EmailMessage {\n      /** The reply-to email in case it's relevant */\n      replyTo?: string | null;\n      /** The subject of the email */\n      subject?: string;\n      /** The content of the email */\n      content?: EmailContent[];\n      /** The CC recipient in case it's relevant */\n      cc?: EmailRecipient[];\n      /** The attachments of the email */\n      attachments?: EmailAttachment[];\n  }\n  interface EmailContent {\n      /** The email content type (HTML, plain text) */\n      mimeType?: string;\n      /** The content of the email */\n      content?: string | null;\n  }\n  interface EmailRecipient {\n      email?: string;\n      name?: string | null;\n  }\n  interface EmailAttachment {\n      /** The id of the attachment */\n      _id?: string | null;\n      /** Name of the attachment */\n      name?: string;\n      /** Mime Type of the attachment */\n      mimeType?: string | null;\n      /** The URL represents the attachment */\n      url?: string;\n      /** The size of the attachment in bytes */\n      fileSizeInBytes?: string | null;\n      /** Where should the attachment be presented (inline / attachment) */\n      disposition?: AttachmentDisposition;\n  }\n  enum AttachmentDisposition {\n      ATTACHMENT = \"ATTACHMENT\",\n      INLINE = \"INLINE\"\n  }\n  interface SmsMessage extends SmsMessageBodyOneOf {\n      text?: TextSMS;\n      mms?: MediaSMS;\n  }\n  /** @oneof */\n  interface SmsMessageBodyOneOf {\n      text?: TextSMS;\n      mms?: MediaSMS;\n  }\n  interface TextSMS {\n      /** The encoding of the content */\n      encoding?: string | null;\n      /** The content of the SMS */\n      body?: string | null;\n  }\n  interface MediaSMS {\n      /** The mime-type of the media */\n      mimeType?: string | null;\n      /** The URLs of the media */\n      urls?: string[] | null;\n      /** The total files size in bytes */\n      totalFilesSizeInBytes?: string | null;\n      /** The number of files */\n      numberOfFiles?: number | null;\n  }\n  interface SendMessageResponse {\n      /** todo: this will affect the id mapping DB */\n      externalMessageId?: string;\n  }\n  interface InvalidRecipientError {\n      fields?: FieldViolation[];\n  }\n  interface FieldViolation {\n      field?: string;\n      description?: string;\n      violatedRule?: RuleType;\n      /** applicable when violated_rule=OTHER */\n      ruleName?: string | null;\n      data?: Record<string, any> | null;\n  }\n  enum RuleType {\n      VALIDATION = \"VALIDATION\",\n      OTHER = \"OTHER\",\n      MAX = \"MAX\",\n      MIN = \"MIN\",\n      MAX_LENGTH = \"MAX_LENGTH\",\n      MIN_LENGTH = \"MIN_LENGTH\",\n      MAX_SIZE = \"MAX_SIZE\",\n      MIN_SIZE = \"MIN_SIZE\",\n      FORMAT = \"FORMAT\",\n      DECIMAL_LTE = \"DECIMAL_LTE\",\n      DECIMAL_GTE = \"DECIMAL_GTE\",\n      DECIMAL_LT = \"DECIMAL_LT\",\n      DECIMAL_GT = \"DECIMAL_GT\",\n      DECIMAL_MAX_SCALE = \"DECIMAL_MAX_SCALE\",\n      INVALID_ENUM_VALUE = \"INVALID_ENUM_VALUE\",\n      REQUIRED_FIELD = \"REQUIRED_FIELD\",\n      FIELD_NOT_ALLOWED = \"FIELD_NOT_ALLOWED\",\n      ONE_OF_ALIGNMENT = \"ONE_OF_ALIGNMENT\"\n  }\n  interface UpdateMessageStatusRequest {\n      channelKey?: string;\n      to?: Recipient;\n      status?: MessageStatus;\n  }\n  interface MessageStatus {\n      /** The timestamp of the status */\n      timestamp?: Date;\n      /** for DM it's not a must, for email / sms it is */\n      messageIdReference?: string | null;\n      /** The status of the message */\n      statusType?: StatusType;\n      /** Descriptive information about the status in case its FAILED */\n      failedStatusDescription?: FailedDeliveryStatus;\n  }\n  enum StatusType {\n      UNKNOWN_STATUS_TYPE = \"UNKNOWN_STATUS_TYPE\",\n      SENT = \"SENT\",\n      DELIVERED = \"DELIVERED\",\n      SEEN = \"SEEN\",\n      FAILED = \"FAILED\",\n      DELETED = \"DELETED\"\n  }\n  interface FailedDeliveryStatus {\n      errorReason?: ErrorCode;\n  }\n  enum ErrorCode {\n      /** General / Service / Provider availability / connectivity errors */\n      UNKNOWN_FAILED_CODE = \"UNKNOWN_FAILED_CODE\",\n      /** Provider or the integrator is down / or temporarily down */\n      SERVICE_UNAVAILABLE = \"SERVICE_UNAVAILABLE\",\n      /** Generic Error that might be solved by sending again */\n      UNEXPECTED_ERROR_RETRY_LATER = \"UNEXPECTED_ERROR_RETRY_LATER\",\n      /** Channel connection got invalid on the provider side, probably need to check the connection or reconnect */\n      ACCESS_TOKEN_EXPIRED = \"ACCESS_TOKEN_EXPIRED\",\n      /** Number of messages sent limitation errors */\n      RATE_LIMIT_ERROR = \"RATE_LIMIT_ERROR\",\n      /** 429 too many requests, or throttling activated */\n      TOO_MANY_REQUESTS = \"TOO_MANY_REQUESTS\",\n      /** Quota limitation was reached or exceeded */\n      QUOTA_EXCEEDED = \"QUOTA_EXCEEDED\",\n      /** Recipient Deliverability Errors */\n      NO_MATCHING_RECIPIENT_FOUND = \"NO_MATCHING_RECIPIENT_FOUND\",\n      /** Invalid Email Address */\n      INVALID_RECIPIENT_ADDRESS = \"INVALID_RECIPIENT_ADDRESS\",\n      /** Invalid Phone Number */\n      INVALID_PHONE_NUMBER = \"INVALID_PHONE_NUMBER\",\n      /** Recipient can not receive messages at the moment, try again later */\n      RECIPIENT_NOT_AVAILABLE = \"RECIPIENT_NOT_AVAILABLE\",\n      /** Recipient has blocked receiving messages from the business */\n      RECIPIENT_BLOCKED_MESSAGES = \"RECIPIENT_BLOCKED_MESSAGES\",\n      /** Message wasn't sent because it’s a landline number */\n      LANDLINE_OR_UNREACHABLE_CARRIER = \"LANDLINE_OR_UNREACHABLE_CARRIER\",\n      /** Message Validation Errors */\n      INVALID_CHARACTERS = \"INVALID_CHARACTERS\",\n      /** Provider does not support the sent message type */\n      UNSUPPORTED_MESSAGE_TYPE = \"UNSUPPORTED_MESSAGE_TYPE\",\n      /** Attachment size is too big */\n      ATTACHMENT_SIZE_EXCEEDS_ALLOWED_LIMIT = \"ATTACHMENT_SIZE_EXCEEDS_ALLOWED_LIMIT\",\n      /** Total Attachments combined size is too big */\n      TOTAL_ATTACHMENTS_SIZE_EXCEEDS_ALLOWED_LIMIT = \"TOTAL_ATTACHMENTS_SIZE_EXCEEDS_ALLOWED_LIMIT\",\n      /** Receiving phone number can not accept MMS messages */\n      MMS_NOT_SUPPORTED_RECEIVING_PHONE_NUMBER = \"MMS_NOT_SUPPORTED_RECEIVING_PHONE_NUMBER\",\n      /** Messages Can not be sent errors */\n      ALLOWED_MESSAGING_TIME_WINDOW_EXPIRED = \"ALLOWED_MESSAGING_TIME_WINDOW_EXPIRED\",\n      /** Message Violated Providers Policy */\n      POLICY_VIOLATION = \"POLICY_VIOLATION\",\n      /** Message wasn't sent because it was flagged by a carrier / provider for going against their guidelines, or marked as spam */\n      MESSAGE_FILTERED = \"MESSAGE_FILTERED\",\n      CAMPAIGN_SUSPENDED = \"CAMPAIGN_SUSPENDED\"\n  }\n  interface UpdateMessageStatusResponse {\n  }\n  interface CommunicationChannelConfiguration {\n      /** The main configuration of the channel */\n      config?: ChannelConfiguration;\n      /** States whether or not specific methods were implemented by the provider in order to know whether to call them in runtime or not */\n      implementedMethods?: ImplementedMethods;\n  }\n  interface ChannelConfiguration extends ChannelConfigurationMessagingConfigOneOf {\n      directMessagingOptions?: DirectMessageConfig;\n      emailOptions?: EmailMessageConfig;\n      smsOptions?: SmsMessageConfig;\n      /** Unique identifier in the scope of an app. Must be Camel/Snake case */\n      channelKey?: string;\n      /** The type of the communication channel */\n      type?: ChannelType;\n      /** Specific provider branding parameters for the channel */\n      branding?: ChannelBranding;\n  }\n  /** @oneof */\n  interface ChannelConfigurationMessagingConfigOneOf {\n      directMessagingOptions?: DirectMessageConfig;\n      emailOptions?: EmailMessageConfig;\n      smsOptions?: SmsMessageConfig;\n  }\n  /** The type of the communication channel */\n  enum ChannelType {\n      UNKNOWN_CHANNEL_TYPE = \"UNKNOWN_CHANNEL_TYPE\",\n      DIRECT_MESSAGING = \"DIRECT_MESSAGING\",\n      EMAIL = \"EMAIL\",\n      SMS = \"SMS\"\n  }\n  interface DirectMessageConfig {\n      /**\n       * Direct message types accepted by the provider. only those types will be sent from Wix\n       * If all are excepted this field can be left empty and there's no need to explicitly state types\n       * When we have new template type - user will have to update the app after the provider updates it\n       */\n      acceptedMessageTypes?: AcceptedDirectMessageType[];\n      /** Elaborates what media types (mime types) and sizes are supported */\n      mediaCapabilities?: MediaCapabilities;\n      /** Defines whether or not sending messages will be available for recipients without contact Id */\n      allowAnonymousRecipients?: boolean;\n      /**\n       * TODO we might consider changing/removing this field on next phases due to a strong dependency on Wix live site\n       * Indicates whether or not the channel requires a live Wix website for a proper end to end channel functionality,\n       * (for example, a live site is required for chat use case)\n       */\n      requireLiveSite?: boolean;\n  }\n  /**\n   * 'TEXT' type is being taken for granted. There is no communication channel that does not support TEXT.\n   * All those types are additional to 'TEXT'\n   */\n  enum AcceptedDirectMessageType {\n      UNKNOWN_DIRECT_MESSAGE_TYPE = \"UNKNOWN_DIRECT_MESSAGE_TYPE\",\n      MEDIA = \"MEDIA\",\n      CARD = \"CARD\",\n      MINIMAL = \"MINIMAL\",\n      FORM = \"FORM\",\n      SYSTEM = \"SYSTEM\"\n  }\n  interface MediaCapabilities {\n      /**\n       * When marked as true, there's no need to list the supported types explicitly. The 'supported_media_types' will be ignored.\n       * When marked as false, the list below has to be filled explicitly\n       */\n      allMediaTypes?: boolean;\n      /**\n       * List for supported media types\n       * If all are excepted this field can be left empty and there's no need to explicitly state types\n       */\n      supportedMediaTypes?: MediaMimeType[];\n      /** Maximum file size in bytes of a single file in a message */\n      maxFileSizeInBytes?: number | null;\n  }\n  interface EmailMessageConfig {\n      /** Media (Attachment) types accepted by the provider */\n      mediaCapabilities?: MediaCapabilities;\n      /** Maximum size in bytes of total media items in a message. */\n      maxTotalFilesSizeInBytes?: number | null;\n  }\n  interface SmsMessageConfig {\n      /** SMS message types accepted by the provider. only those types will be sent from Wix */\n      acceptedMessageTypes?: AcceptedSmsMessageType[];\n      /** Elaborates what media types (mime types) and sizes are supported */\n      mediaCapabilities?: MediaCapabilities;\n      /** Optional - maximum sms message length in characters, if not given, will be unlimited */\n      maxCharacters?: string | null;\n  }\n  enum AcceptedSmsMessageType {\n      UNKNOWN_SMS_MESSAGE_TYPE = \"UNKNOWN_SMS_MESSAGE_TYPE\",\n      SMS = \"SMS\",\n      MMS = \"MMS\"\n  }\n  interface ChannelBranding {\n      /** The name of the channel, e.g. `Facebook` / `SMS` */\n      displayName?: string;\n      /** The name of the channel provider (Wix, Meta, Google) */\n      providerName?: string;\n      /** The description of the channel */\n      description?: string | null;\n      /** Relevant brand icons */\n      brandIcons?: BrandIcons;\n  }\n  /** Brand icons required for correct channel integration */\n  interface BrandIcons {\n      /** Channel branding vector Icon */\n      vector?: string;\n      /** Channel branding Black & White Icon */\n      bwOutlineVector?: string;\n  }\n  interface ImplementedMethods {\n      /** Implements getQuotaInfo */\n      getQuotaInfo?: boolean;\n      /** Implements canSendMessage */\n      canSendMessage?: boolean;\n      /** Implements updateMessageStatus */\n      updateMessageStatus?: boolean;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetChannelConnectionStatusOptions {\n      channelKey?: string;\n  }\n  interface GetQuotaInfoOptions {\n      channelKey?: string;\n  }\n  interface CanSendMessageOptions {\n      channelKey?: string;\n      to?: Recipient;\n  }\n  interface SendMessageOptions {\n      channelKey?: string;\n      to?: Recipient;\n      message?: Message;\n  }\n  interface UpdateMessageStatusOptions {\n      channelKey?: string;\n      to?: Recipient;\n      status?: MessageStatus;\n  }\n  \n  function invalidRecipient$1(data: InvalidRecipientError): BusinessError<InvalidRecipientError>;\n  \n  namespace sendMessageSpiErrors_d {\n    export {\n      invalidRecipient$1 as invalidRecipient,\n    };\n  }\n  \n  function invalidRecipient(data: InvalidRecipientError): BusinessError<InvalidRecipientError>;\n  \n  const updateMessageStatusSpiErrors_d_invalidRecipient: typeof invalidRecipient;\n  namespace updateMessageStatusSpiErrors_d {\n    export {\n      updateMessageStatusSpiErrors_d_invalidRecipient as invalidRecipient,\n    };\n  }\n  \n  namespace spiErrorHelpers_d {\n    export {\n      sendMessageSpiErrors_d as sendMessage,\n      updateMessageStatusSpiErrors_d as updateMessageStatus,\n    };\n  }\n  \n  export { AcceptedDirectMessageType, AcceptedSmsMessageType, AttachmentDisposition, BrandIcons, BusinessError, Button, ButtonType, CanSendMessageOptions, CanSendMessageRequest, CanSendMessageResponse, CanSendRemarkType, CardTemplate, ChannelBranding, ChannelConfiguration, ChannelConfigurationMessagingConfigOneOf, ChannelType, CommunicationChannelConfiguration, ConnectionStatus, Context, DirectMessage, DirectMessageConfig, DirectMessagePayloadOneOf, EmailAttachment, EmailContent, EmailMessage, EmailMessageConfig, EmailRecipient, ErrorCode, FailedDeliveryStatus, FeaturePeriod, FieldViolation, FormField, FormTemplate, GetChannelConnectionStatusOptions, GetChannelConnectionStatusRequest, GetChannelConnectionStatusResponse, GetQuotaInfoOptions, GetQuotaInfoRequest, GetQuotaInfoResponse, IdentificationData, IdentificationDataIdOneOf, IdentificationType, IdentityType, ImplementedMethods, InvalidRecipientError, MediaCapabilities, MediaMessage, MediaMimeType, MediaSMS, Message, MessageContentOneOf, MessageStatus, MessageType, MinimalTemplate, Orientation, PayloadType, PlainTextMessage, QuotaInfo, Recipient, RecipientId, RecipientIdIdOneOf, RecipientRecipientOneOf, RuleType, SendMessageOptions, SendMessageRequest, SendMessageResponse, SmsMessage, SmsMessageBodyOneOf, SmsMessageConfig, StatusType, SystemTemplate, TextSMS, UpdateMessageStatusOptions, UpdateMessageStatusRequest, UpdateMessageStatusResponse, spiErrorHelpers_d as errorHelpers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-search.v3.d.ts",
      "content": "declare module \"wix-search.v3\" {\n  interface SiteDocument {\n      /** @readonly */\n      _id?: string;\n      /** the document payload */\n      document?: Record<string, any> | null;\n  }\n  interface SearchRequest {\n      /** Search query */\n      search: Search;\n      /** Document type of documents to search for. All document types are searched if not provided. */\n      documentType: DocumentType;\n      /** Language to search in. */\n      language?: string | null;\n  }\n  interface Search extends SearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: Paging;\n      /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n      filter?: Record<string, any> | null;\n      /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n      sort?: Sorting[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation[];\n      /** Free text to match in searchable fields */\n      search?: SearchDetails;\n  }\n  /** @oneof */\n  interface SearchPagingMethodOneOf {\n      /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n      paging?: Paging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Aggregation extends AggregationKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Nested aggregation */\n      nested?: NestedAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: AggregationType;\n      /** Field to aggregate by, use dot notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Nested aggregation */\n      nested?: NestedAggregation;\n  }\n  enum ScalarType {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Minimum value */\n      MIN = \"MIN\",\n      /** Maximum value */\n      MAX = \"MAX\",\n      /** Sum of values */\n      SUM = \"SUM\"\n  }\n  enum NestedAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value */\n      VALUE = \"VALUE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg */\n      SCALAR = \"SCALAR\"\n  }\n  interface ValueAggregation {\n      /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n  }\n  interface ScalarAggregation {\n      /** Define the operator for the scalar aggregation */\n      type?: ScalarType;\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: NestedAggregationType;\n      /** Field to aggregate by, use dont notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n  }\n  enum AggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value */\n      VALUE = \"VALUE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg */\n      SCALAR = \"SCALAR\",\n      /** Multi-level aggregation, where each next aggregation is nested within previous one */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */\n  interface NestedAggregation {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one */\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface SearchDetails {\n      /** Search term or expression */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path */\n      fields?: string[];\n      /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  enum DocumentType {\n      UNSPECIFIED = \"UNSPECIFIED\",\n      BLOG_POSTS = \"BLOG_POSTS\",\n      BOOKING_SERVICES = \"BOOKING_SERVICES\",\n      EVENTS = \"EVENTS\",\n      FORUM_CONTENT = \"FORUM_CONTENT\",\n      ONLINE_PROGRAMS = \"ONLINE_PROGRAMS\",\n      PROGALLERY_ITEM = \"PROGALLERY_ITEM\",\n      STORES_PRODUCTS = \"STORES_PRODUCTS\"\n  }\n  interface SearchResponse extends SearchResponsePagingOneOf {\n      /** Paging metadata for the next page of results. */\n      pagingOffsetMetadata?: PagingMetadata;\n      /** Documents matching filter and query. */\n      siteDocuments?: SiteDocument[];\n      /** Response aggregation data */\n      aggregationData?: AggregationData;\n  }\n  /** @oneof */\n  interface SearchResponsePagingOneOf {\n      /** Paging metadata for the next page of results. */\n      pagingOffsetMetadata?: PagingMetadata;\n  }\n  interface AggregationData {\n      /** key = aggregation name (as derived from search request) */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      /** Value of the field */\n      value?: string;\n      count?: number;\n  }\n  interface ValueResults {\n      /** List of value aggregations */\n      results?: ValueAggregationResult[];\n  }\n  interface AggregationResultsScalarResult {\n      /** Type of scalar aggregation */\n      type?: ScalarType;\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface ValueResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number | null;\n  }\n  interface ScalarResult {\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: ValueResult;\n      /** Scalar aggregation result */\n      scalar?: ScalarResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: ValueResult;\n      /** Scalar aggregation result */\n      scalar?: ScalarResult;\n  }\n  interface Results {\n      /** List of nested aggregations */\n      results?: Record<string, NestedResultValue>;\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form\n   * aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults {\n      /** List of nested aggregations */\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** Nested aggregation results */\n      nested?: NestedResults;\n      /** User-defined name of aggregation as derived from search request */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request */\n      type?: AggregationType;\n      /** Field to aggregate by as derived from search request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** Nested aggregation results */\n      nested?: NestedResults;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  /**\n   * Search for documents\n   * @param search - Search query\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.documentType\n   * @requiredField search\n   */\n  function search(search: Search, options?: SearchOptions): Promise<SearchResponse>;\n  interface SearchOptions {\n      /** Document type of documents to search for. All document types are searched if not provided. */\n      documentType: DocumentType;\n      /** Language to search in. */\n      language?: string | null;\n  }\n  \n  type searchPlatformizedV1Sitedocument_universal_d_SiteDocument = SiteDocument;\n  type searchPlatformizedV1Sitedocument_universal_d_SearchRequest = SearchRequest;\n  type searchPlatformizedV1Sitedocument_universal_d_Search = Search;\n  type searchPlatformizedV1Sitedocument_universal_d_SearchPagingMethodOneOf = SearchPagingMethodOneOf;\n  type searchPlatformizedV1Sitedocument_universal_d_Sorting = Sorting;\n  type searchPlatformizedV1Sitedocument_universal_d_SortOrder = SortOrder;\n  const searchPlatformizedV1Sitedocument_universal_d_SortOrder: typeof SortOrder;\n  type searchPlatformizedV1Sitedocument_universal_d_Aggregation = Aggregation;\n  type searchPlatformizedV1Sitedocument_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type searchPlatformizedV1Sitedocument_universal_d_ScalarType = ScalarType;\n  const searchPlatformizedV1Sitedocument_universal_d_ScalarType: typeof ScalarType;\n  type searchPlatformizedV1Sitedocument_universal_d_NestedAggregationType = NestedAggregationType;\n  const searchPlatformizedV1Sitedocument_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type searchPlatformizedV1Sitedocument_universal_d_ValueAggregation = ValueAggregation;\n  type searchPlatformizedV1Sitedocument_universal_d_ScalarAggregation = ScalarAggregation;\n  type searchPlatformizedV1Sitedocument_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type searchPlatformizedV1Sitedocument_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type searchPlatformizedV1Sitedocument_universal_d_AggregationType = AggregationType;\n  const searchPlatformizedV1Sitedocument_universal_d_AggregationType: typeof AggregationType;\n  type searchPlatformizedV1Sitedocument_universal_d_NestedAggregation = NestedAggregation;\n  type searchPlatformizedV1Sitedocument_universal_d_SearchDetails = SearchDetails;\n  type searchPlatformizedV1Sitedocument_universal_d_Paging = Paging;\n  type searchPlatformizedV1Sitedocument_universal_d_DocumentType = DocumentType;\n  const searchPlatformizedV1Sitedocument_universal_d_DocumentType: typeof DocumentType;\n  type searchPlatformizedV1Sitedocument_universal_d_SearchResponse = SearchResponse;\n  type searchPlatformizedV1Sitedocument_universal_d_SearchResponsePagingOneOf = SearchResponsePagingOneOf;\n  type searchPlatformizedV1Sitedocument_universal_d_AggregationData = AggregationData;\n  type searchPlatformizedV1Sitedocument_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type searchPlatformizedV1Sitedocument_universal_d_ValueResults = ValueResults;\n  type searchPlatformizedV1Sitedocument_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n  type searchPlatformizedV1Sitedocument_universal_d_ValueResult = ValueResult;\n  type searchPlatformizedV1Sitedocument_universal_d_ScalarResult = ScalarResult;\n  type searchPlatformizedV1Sitedocument_universal_d_NestedResultValue = NestedResultValue;\n  type searchPlatformizedV1Sitedocument_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type searchPlatformizedV1Sitedocument_universal_d_Results = Results;\n  type searchPlatformizedV1Sitedocument_universal_d_NestedResults = NestedResults;\n  type searchPlatformizedV1Sitedocument_universal_d_AggregationResults = AggregationResults;\n  type searchPlatformizedV1Sitedocument_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type searchPlatformizedV1Sitedocument_universal_d_PagingMetadata = PagingMetadata;\n  const searchPlatformizedV1Sitedocument_universal_d_search: typeof search;\n  type searchPlatformizedV1Sitedocument_universal_d_SearchOptions = SearchOptions;\n  namespace searchPlatformizedV1Sitedocument_universal_d {\n    export {\n      searchPlatformizedV1Sitedocument_universal_d_SiteDocument as SiteDocument,\n      searchPlatformizedV1Sitedocument_universal_d_SearchRequest as SearchRequest,\n      searchPlatformizedV1Sitedocument_universal_d_Search as Search,\n      searchPlatformizedV1Sitedocument_universal_d_SearchPagingMethodOneOf as SearchPagingMethodOneOf,\n      searchPlatformizedV1Sitedocument_universal_d_Sorting as Sorting,\n      searchPlatformizedV1Sitedocument_universal_d_SortOrder as SortOrder,\n      searchPlatformizedV1Sitedocument_universal_d_Aggregation as Aggregation,\n      searchPlatformizedV1Sitedocument_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      searchPlatformizedV1Sitedocument_universal_d_ScalarType as ScalarType,\n      searchPlatformizedV1Sitedocument_universal_d_NestedAggregationType as NestedAggregationType,\n      searchPlatformizedV1Sitedocument_universal_d_ValueAggregation as ValueAggregation,\n      searchPlatformizedV1Sitedocument_universal_d_ScalarAggregation as ScalarAggregation,\n      searchPlatformizedV1Sitedocument_universal_d_NestedAggregationItem as NestedAggregationItem,\n      searchPlatformizedV1Sitedocument_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      searchPlatformizedV1Sitedocument_universal_d_AggregationType as AggregationType,\n      searchPlatformizedV1Sitedocument_universal_d_NestedAggregation as NestedAggregation,\n      searchPlatformizedV1Sitedocument_universal_d_SearchDetails as SearchDetails,\n      searchPlatformizedV1Sitedocument_universal_d_Paging as Paging,\n      searchPlatformizedV1Sitedocument_universal_d_DocumentType as DocumentType,\n      searchPlatformizedV1Sitedocument_universal_d_SearchResponse as SearchResponse,\n      searchPlatformizedV1Sitedocument_universal_d_SearchResponsePagingOneOf as SearchResponsePagingOneOf,\n      searchPlatformizedV1Sitedocument_universal_d_AggregationData as AggregationData,\n      searchPlatformizedV1Sitedocument_universal_d_ValueAggregationResult as ValueAggregationResult,\n      searchPlatformizedV1Sitedocument_universal_d_ValueResults as ValueResults,\n      searchPlatformizedV1Sitedocument_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult,\n      searchPlatformizedV1Sitedocument_universal_d_ValueResult as ValueResult,\n      searchPlatformizedV1Sitedocument_universal_d_ScalarResult as ScalarResult,\n      searchPlatformizedV1Sitedocument_universal_d_NestedResultValue as NestedResultValue,\n      searchPlatformizedV1Sitedocument_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      searchPlatformizedV1Sitedocument_universal_d_Results as Results,\n      searchPlatformizedV1Sitedocument_universal_d_NestedResults as NestedResults,\n      searchPlatformizedV1Sitedocument_universal_d_AggregationResults as AggregationResults,\n      searchPlatformizedV1Sitedocument_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      searchPlatformizedV1Sitedocument_universal_d_PagingMetadata as PagingMetadata,\n      searchPlatformizedV1Sitedocument_universal_d_search as search,\n      searchPlatformizedV1Sitedocument_universal_d_SearchOptions as SearchOptions,\n    };\n  }\n  \n  export { searchPlatformizedV1Sitedocument_universal_d as wixSiteSearch };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-functionsshop-v1-shop-price-provider.d.ts",
      "content": "declare module \"interfaces-functionsshop-v1-shop-price-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetPriceRequest {\n  }\n  interface GetPriceResponse {\n      price?: number | null;\n  }\n  interface FunctionsShopPriceSpiConfig {\n      uriConfig?: SpiBaseUri;\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  \n  export { AlternativeUri, BusinessError, Context, FunctionsShopPriceSpiConfig, GetPriceRequest, GetPriceResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, SpiBaseUri };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-premium-v1-productspaths.d.ts",
      "content": "declare module \"interfaces-premium-v1-productspaths\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  /**\n   * Wix Premium sends you a request with this object that includes information\n   * about the product a customer wants to up- or downgrade. You must then respond\n   * with information about all supported upgrades and downgrades.\n   */\n  interface GetProductPathsRequest {\n      /** ID of the current product to retrieve upgrades and downgrades for. */\n      productId: string;\n      /** Billing cycle settings of the current product. */\n      currentCycle?: Cycle;\n      /**\n       * List of all IDs of the products belonging to the same type as the current\n       * product. __Note__: We recommend to retrieve these IDs via the\n       * [Dealer](https://wix-marketing.wixanswers.com/en/article/dealer-faqs).\n       */\n      targetProductIds: string[];\n      /**\n       * Information about the supported billing cycle lengths and each corresponding\n       * price for the upgrades and downgrades. You must provide this field, if you\n       * use the default config or any other config that includes has\n       * `should_upgrade_by_pricing` or `should_downgrade_by_pricing` set to `true`.\n       */\n      catalogPricingInfo?: CatalogPricingInfo[];\n      pricingInfo?: AdditionalCatalogPricingInfo;\n  }\n  interface Cycle extends CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  /** @oneof */\n  interface CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  interface Interval {\n      /** interval unit of measure */\n      unit?: IntervalUnit;\n      /** number of interval */\n      count?: number;\n  }\n  enum IntervalUnit {\n      /** unknown interval unit */\n      UNKNOWN = \"UNKNOWN\",\n      /** day */\n      DAY = \"DAY\",\n      /** week */\n      WEEK = \"WEEK\",\n      /** month */\n      MONTH = \"MONTH\",\n      /** year */\n      YEAR = \"YEAR\"\n  }\n  interface OneTime {\n  }\n  interface CatalogPricingInfo {\n      /** Product ID of the upgrade or downgrade. */\n      productId?: string;\n      /** List of all supported billing cycle lengths for the upgrade or downgrade. */\n      cyclePricing?: CyclePricing[];\n  }\n  interface CyclePricing {\n      /** Information about the length of the billing cycle. */\n      cycle?: Cycle;\n      /**\n       * Product price for the corresponding billing cycle length. Specified in\n       * the currency saved in the\n       * [Site Properties](https://dev.wix.com/api/rest/business-info/site-properties/properties/get-site-properties).\n       */\n      price?: string;\n  }\n  interface AdditionalCatalogPricingInfo {\n      currentProductPricingInfo?: CatalogPricingInfo;\n      targetProductsPricingInfo?: CatalogPricingInfo[];\n  }\n  /**\n   * Your response to the Get Product Paths SPI request from Wix Premium must include information\n   * about all supported upgrades and downgrades.\n   */\n  interface GetProductPathsResponse {\n      /**\n       * List of all products supported as upgrades for the current product.\n       * Calculated according to the settings in the provider config.\n       */\n      upgradeProducts?: ProductPathInfo[];\n      /**\n       * List of all products supported as downgrades for the current product.\n       * Calculated according to the settings in the provider config.\n       */\n      downgradeProducts?: ProductPathInfo[];\n  }\n  interface ProductPathInfo {\n      /** Product ID of the upgrade or downgrade. */\n      productId?: string;\n      /**\n       * List of all supported billing cycle lengths for this upgrade or downgrade.\n       * Available only when the corresponding product has at least 1 billing cycle\n       * length defined in the product catalog.\n       */\n      compatibleCycles?: CompatibleCycles;\n  }\n  interface CompatibleCycles {\n      compatibleCycles?: Cycle[];\n  }\n  interface ProductsPathsConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled(event: OrderCanceledEvent, context: Context) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetProductPathsOptions {\n      /** ID of the current product to retrieve upgrades and downgrades for. */\n      productId: string;\n      /** Billing cycle settings of the current product. */\n      currentCycle?: Cycle;\n      /**\n       * List of all IDs of the products belonging to the same type as the current\n       * product. __Note__: We recommend to retrieve these IDs via the\n       * [Dealer](https://wix-marketing.wixanswers.com/en/article/dealer-faqs).\n       */\n      targetProductIds: string[];\n      /**\n       * Information about the supported billing cycle lengths and each corresponding\n       * price for the upgrades and downgrades. You must provide this field, if you\n       * use the default config or any other config that includes has\n       * `should_upgrade_by_pricing` or `should_downgrade_by_pricing` set to `true`.\n       */\n      catalogPricingInfo?: CatalogPricingInfo[];\n      pricingInfo?: AdditionalCatalogPricingInfo;\n  }\n  \n  export { AdditionalCatalogPricingInfo, BusinessError, CatalogPricingInfo, CompatibleCycles, Context, Cycle, CycleCycleSelectorOneOf, CyclePricing, GetProductPathsOptions, GetProductPathsRequest, GetProductPathsResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, Interval, IntervalUnit, OneTime, ProductPathInfo, ProductsPathsConfig };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-ssr-cache-invalidation-backend.v1.d.ts",
      "content": "declare module \"wix-ssr-cache-invalidation-backend.v1\" {\n  interface InvalidateCacheRequest {\n      /** The method by which to invalidate the cache. All sites containing any of these tags will be invalidated. */\n      invalidationMethods?: InvalidationMethods[];\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DC */\n      localDc?: boolean;\n  }\n  interface InvalidationMethods extends InvalidationMethodsInvalidateByOneOf {\n      /** Tag to invalidate by */\n      tag?: string;\n  }\n  /** @oneof */\n  interface InvalidationMethodsInvalidateByOneOf {\n      /** Tag to invalidate by */\n      tag?: string;\n  }\n  interface InvalidateCacheResponse {\n  }\n  /**\n   * Clear SSR Cache by tags\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function invalidateCache(options?: InvalidateCacheOptions): Promise<void>;\n  interface InvalidateCacheOptions {\n      /** The method by which to invalidate the cache. All sites containing any of these tags will be invalidated. */\n      invalidationMethods?: InvalidationMethods[];\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DC */\n      localDc?: boolean;\n  }\n  \n  type ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheRequest = InvalidateCacheRequest;\n  type ssrV1InvalidateCacheRequest_universal_d_InvalidationMethods = InvalidationMethods;\n  type ssrV1InvalidateCacheRequest_universal_d_InvalidationMethodsInvalidateByOneOf = InvalidationMethodsInvalidateByOneOf;\n  type ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheResponse = InvalidateCacheResponse;\n  const ssrV1InvalidateCacheRequest_universal_d_invalidateCache: typeof invalidateCache;\n  type ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheOptions = InvalidateCacheOptions;\n  namespace ssrV1InvalidateCacheRequest_universal_d {\n    export {\n      ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheRequest as InvalidateCacheRequest,\n      ssrV1InvalidateCacheRequest_universal_d_InvalidationMethods as InvalidationMethods,\n      ssrV1InvalidateCacheRequest_universal_d_InvalidationMethodsInvalidateByOneOf as InvalidationMethodsInvalidateByOneOf,\n      ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheResponse as InvalidateCacheResponse,\n      ssrV1InvalidateCacheRequest_universal_d_invalidateCache as invalidateCache,\n      ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheOptions as InvalidateCacheOptions,\n    };\n  }\n  \n  export { ssrV1InvalidateCacheRequest_universal_d as ssr };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-app-management.v2.d.ts",
      "content": "declare module \"wix-app-management.v2\" {\n  interface AppPlans {\n      /** App ID, as defined in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). */\n      _id?: string;\n      /**\n       * List of the app's pricing plans.\n       *\n       * Min: `0` plans\n       * Max: `50` plans\n       */\n      plans?: Plan[];\n  }\n  enum SaleType {\n      /** Default value, can be used when no specific sale is associated. */\n      SALE_TYPE_UNSPECIFIED = \"SALE_TYPE_UNSPECIFIED\",\n      CYBER_MONDAY = \"CYBER_MONDAY\",\n      NOVEMBER_SALE = \"NOVEMBER_SALE\",\n      BLACK_FRIDAY = \"BLACK_FRIDAY\",\n      DEVELOPER_SALE = \"DEVELOPER_SALE\"\n  }\n  enum DiscountType {\n      DISCOUNT_TYPE_UNSPECIFIED = \"DISCOUNT_TYPE_UNSPECIFIED\",\n      /** Discount is a fixed amount in USD. */\n      FIXED_AMOUNT = \"FIXED_AMOUNT\",\n      /** Discount is a percentage of the total price. */\n      PERCENTAGE = \"PERCENTAGE\"\n  }\n  enum SourceType {\n      /** Default value, can be used when no specific source is associated. */\n      SOURCE_TYPE_UNSPECIFIED = \"SOURCE_TYPE_UNSPECIFIED\",\n      /** Discount is due to Wix/Developer Sale */\n      SALE = \"SALE\",\n      /** Discount is due to App Benefit */\n      APP_BENEFIT = \"APP_BENEFIT\"\n  }\n  interface SaleSource {\n      saleId?: string | null;\n      saleType?: SaleType;\n  }\n  interface Cycle {\n      /**\n       * Type of the billing cycle.\n       *\n       * + `\"UNKNOWN_UNIT\"`:  There is no information about the billing cycle.\n       * + `\"ONE_TIME\"`:  The customer pays for unlimited usage of the app with a single payment.\n       * + `\"RECURRING\"`: The customer pays for a subscription to the app on a recurring schedule.\n       */\n      cycleType?: CycleType;\n      /** Duration of the billing cycle. Available only for `{\"cycleType\": \"RECURRING\"}`. */\n      cycleDuration?: Duration;\n  }\n  enum DurationUnit {\n      /** unknown interval unit */\n      UNKNOWN_UNIT = \"UNKNOWN_UNIT\",\n      /** month */\n      MONTH = \"MONTH\",\n      /** year */\n      YEAR = \"YEAR\"\n  }\n  enum CycleType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      ONE_TIME = \"ONE_TIME\",\n      RECURRING = \"RECURRING\"\n  }\n  interface Duration {\n      /** Unit of the billing cycle. */\n      unit?: DurationUnit;\n      /** Count of units that make up the billing cycle. */\n      count?: number;\n  }\n  interface UsageBasedDetails {\n      /**\n       * Smallest possible amount that your app charges customers in usage-based\n       * pricing. For example, the price of a single SMS message if your\n       * app charges customers for sending text messages. Always in\n       * [USD](https://en.wikipedia.org/wiki/United_States_dollar).\n       *\n       * Min: `0.00`\n       * Max: 1024 characters\n       */\n      minimumChargeIncrement?: string | null;\n      /**\n       * Recurring, monthly base fee in usage-based pricing that your app\n       * charges customers regardless of how much they use your app.\n       *\n       * Min: `0.00`\n       * Max: 1024 characters\n       */\n      monthlyBaseFee?: string | null;\n      /**\n       * Description of the usage-based pricing plan, as defined in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view).\n       *\n       * Max: 1024 characters\n       */\n      customChargeDescription?: string | null;\n  }\n  interface Discount extends DiscountSourceDataOneOf {\n      /** Sale type */\n      saleOptions?: SaleSource;\n      type?: DiscountType;\n      /** Discount amount */\n      amount?: string;\n      /**\n       * if a discount is applied to a specific sale\n       * @deprecated if a discount is applied to a specific sale\n       * @targetRemovalDate 2025-01-14\n       */\n      saleId?: string | null;\n      /**\n       * Price without taxes. For yearly plans, Wix calculates and returns the\n       * average price per month. You can get the full price by multiplying the\n       * returned price with 12.\n       * Min: `0.00`\n       * Max: 1024 characters\n       */\n      priceBeforeTax?: string;\n      /**\n       * Total price including taxes.\n       * Min: `0.00`\n       * Max: 1024 characters\n       */\n      totalPrice?: string;\n      /**\n       * @deprecated\n       * @targetRemovalDate 2025-01-14\n       */\n      saleType?: SaleType;\n      sourceType?: SourceType;\n  }\n  /** @oneof */\n  interface DiscountSourceDataOneOf {\n      /** Sale type */\n      saleOptions?: SaleSource;\n  }\n  enum BillingSource {\n      UNKNOWN = \"UNKNOWN\",\n      /** plan billing and charges is managed by Wix */\n      WIX = \"WIX\",\n      /** plan billing and charges is managed by the app */\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface Price {\n      /**\n       * Price without taxes. For yearly plans, Wix calculates and returns the\n       * average price per month. You can get the full price by multiplying the\n       * returned price by 12.\n       *\n       * Min: `0.00`\n       * Max: 1024 characters\n       */\n      priceBeforeTax?: string;\n      /**\n       * Total price including taxes.\n       *\n       * Min: `0.00`\n       * Max: 1024 characters\n       */\n      totalPrice?: string;\n      /** Information about the plan's recurring billing cycle or single payment. */\n      billingCycle?: Cycle;\n      /**\n       * Details about the plan's usage-based pricing.\n       * Available only for plans with\n       * [usage-based pricing](https://dev.wix.com/docs/build-apps/build-your-app/pricing-plans/usage-based-pricing).\n       */\n      usageBaseOptions?: UsageBasedDetails;\n      discount?: Discount;\n      billingSource?: BillingSource;\n      /** Can be shown instead of plan price - used for dynamic plans */\n      customPaymentTitle?: string | null;\n  }\n  interface Plan {\n      /**\n       * ID of the app plan.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * ID of your app's pricing plan, as displayed in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view).\n       * Identical to `vendorProductId` in the\n       * [Paid Plan Purchased webhook](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/paid-plan-purchased).\n       */\n      vendorId?: string;\n      /** Name of your app's pricing plan, as defined by you in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view). */\n      name?: string;\n      /**\n       * List of your plan's benefits, as defined by you in the [app dashboard](https://dev.wix.com/apps/my-apps?viewId=active-apps-view).\n       * Currently, the benefits are available only in English.\n       *\n       * Min: `0` benefits\n       * Max: `4` benefits\n       * Max per benefit: 1024 characters\n       */\n      benefits?: string[];\n      /**\n       * List of the plan's prices. Available only when the plan's prices are managed\n       * by Wix and not externally.\n       *\n       * Min: `0` prices\n       * Max: `10` prices\n       */\n      prices?: Price[];\n  }\n  interface ListAppPlansByAppIdRequest {\n      /**\n       * List of app IDs to retrieve plans for.\n       *\n       * Min: 1 app ID\n       * Max: 100 app IDs\n       */\n      appIds: string[];\n  }\n  interface ListAppPlansByAppIdResponse {\n      /**\n       * Tax settings. Wix calculates the tax settings based on the country code that\n       * you pass in the call's header. If you don't pass a country code in the header,\n       * Wix calculates the tax settings based on the caller's IP address. Note that the\n       * tax settings may not resolve properly if you call through a VPN.\n       */\n      taxSettings?: TaxSettings;\n      /**\n       * 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format. Wix calculates the currency based on the country code that\n       * you pass in the call's header. If you don't pass a country code in the header,\n       * Wix calculates the currency based on the caller's IP address. Note that the\n       * currency may not resolve properly if you call through a VPN.\n       */\n      currency?: string;\n      /**\n       * Currency symbol in decimal HTML entity format. For example, `&#36;` for $\n       * (United States Dollar). Wix calculates the currency symbol based on the\n       * country code that you pass in the call's header. If you don't pass a country\n       * code in the header, Wix calculates the tax settings based on the caller's IP\n       * address. Note that the currency symbol may not resolve properly if you call\n       * through a VPN.\n       */\n      currencySymbol?: string;\n      /**\n       * Retrieved app plans.\n       *\n       * Min: 0 plans\n       * Max: 50 plans\n       */\n      appPlans?: AppPlans[];\n  }\n  interface TaxSettings {\n      /**\n       * Whether you must display the total price including taxes in the given\n       * country.\n       */\n      showPriceWithTax?: boolean;\n      /**\n       * Tax rate for the given country as percentage. Returned as `0` when\n       * `{\"showPriceWithTax\": false}`.\n       */\n      percentage?: string | null;\n      /**\n       * Type of tax required in the given country.\n       *\n       * + `\"NOT_APPLICABLE\"`: The country doesn't require that you display the total price including taxes, or Wix failed to calculate the country based on the call's IP address.\n       * + `\"VAT\"`: The given country requires that you display the total price including [value-added tax (VAT)](https://en.wikipedia.org/wiki/Value-added_tax).\n       * + `\"GST\"`: The given country requires that you display the total price including [generation-skipping transfer tax (GST)](https://en.wikipedia.org/wiki/Generation-skipping_transfer_tax).\n       */\n      taxType?: TaxType;\n  }\n  enum TaxType {\n      NOT_APPLICABLE = \"NOT_APPLICABLE\",\n      VAT = \"VAT\",\n      GST = \"GST\"\n  }\n  /**\n   * Retrieves plans for the given apps.\n   *\n   *\n   * Also returns tax settings and currency details. Wix calculates this information\n   * based on the 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n   * format that you pass in the call's header. If you don't pass a country code in\n   * the header, Wix calculates the tax settings and currency details based on the\n   * call's IP address. Note that the tax settings and currency details may not resolve\n   * properly if you call through a VPN.\n   *\n   * Prices for plans that are managed outside of Wix aren't returned.\n   *\n   * Consumers must pay for yearly and multi-yearly plans of your app every month.\n   * For these plans this endpoint returns the price that the consumer must pay every\n   * month and not the total price for the entire year.\n   *\n   * <blockquote class=\"important\">\n   *\n   * __Important:__\n   * The App Plans API doesn't follow any tenancy model. You don't need any\n   * permissions to call `List App Plans by App ID`.\n   *\n   * </blockquote>\n   * @param appIds - List of app IDs to retrieve plans for.\n   *\n   * Min: 1 app ID\n   * Max: 100 app IDs\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appIds\n   * @adminMethod\n   */\n  function listAppPlansByAppId(appIds: string[]): Promise<ListAppPlansByAppIdResponse>;\n  \n  type appmarketV1AppPlans_universal_d_AppPlans = AppPlans;\n  type appmarketV1AppPlans_universal_d_SaleType = SaleType;\n  const appmarketV1AppPlans_universal_d_SaleType: typeof SaleType;\n  type appmarketV1AppPlans_universal_d_DiscountType = DiscountType;\n  const appmarketV1AppPlans_universal_d_DiscountType: typeof DiscountType;\n  type appmarketV1AppPlans_universal_d_SourceType = SourceType;\n  const appmarketV1AppPlans_universal_d_SourceType: typeof SourceType;\n  type appmarketV1AppPlans_universal_d_SaleSource = SaleSource;\n  type appmarketV1AppPlans_universal_d_Cycle = Cycle;\n  type appmarketV1AppPlans_universal_d_DurationUnit = DurationUnit;\n  const appmarketV1AppPlans_universal_d_DurationUnit: typeof DurationUnit;\n  type appmarketV1AppPlans_universal_d_CycleType = CycleType;\n  const appmarketV1AppPlans_universal_d_CycleType: typeof CycleType;\n  type appmarketV1AppPlans_universal_d_Duration = Duration;\n  type appmarketV1AppPlans_universal_d_UsageBasedDetails = UsageBasedDetails;\n  type appmarketV1AppPlans_universal_d_Discount = Discount;\n  type appmarketV1AppPlans_universal_d_DiscountSourceDataOneOf = DiscountSourceDataOneOf;\n  type appmarketV1AppPlans_universal_d_BillingSource = BillingSource;\n  const appmarketV1AppPlans_universal_d_BillingSource: typeof BillingSource;\n  type appmarketV1AppPlans_universal_d_Price = Price;\n  type appmarketV1AppPlans_universal_d_Plan = Plan;\n  type appmarketV1AppPlans_universal_d_ListAppPlansByAppIdRequest = ListAppPlansByAppIdRequest;\n  type appmarketV1AppPlans_universal_d_ListAppPlansByAppIdResponse = ListAppPlansByAppIdResponse;\n  type appmarketV1AppPlans_universal_d_TaxSettings = TaxSettings;\n  type appmarketV1AppPlans_universal_d_TaxType = TaxType;\n  const appmarketV1AppPlans_universal_d_TaxType: typeof TaxType;\n  const appmarketV1AppPlans_universal_d_listAppPlansByAppId: typeof listAppPlansByAppId;\n  namespace appmarketV1AppPlans_universal_d {\n    export {\n      appmarketV1AppPlans_universal_d_AppPlans as AppPlans,\n      appmarketV1AppPlans_universal_d_SaleType as SaleType,\n      appmarketV1AppPlans_universal_d_DiscountType as DiscountType,\n      appmarketV1AppPlans_universal_d_SourceType as SourceType,\n      appmarketV1AppPlans_universal_d_SaleSource as SaleSource,\n      appmarketV1AppPlans_universal_d_Cycle as Cycle,\n      appmarketV1AppPlans_universal_d_DurationUnit as DurationUnit,\n      appmarketV1AppPlans_universal_d_CycleType as CycleType,\n      appmarketV1AppPlans_universal_d_Duration as Duration,\n      appmarketV1AppPlans_universal_d_UsageBasedDetails as UsageBasedDetails,\n      appmarketV1AppPlans_universal_d_Discount as Discount,\n      appmarketV1AppPlans_universal_d_DiscountSourceDataOneOf as DiscountSourceDataOneOf,\n      appmarketV1AppPlans_universal_d_BillingSource as BillingSource,\n      appmarketV1AppPlans_universal_d_Price as Price,\n      appmarketV1AppPlans_universal_d_Plan as Plan,\n      appmarketV1AppPlans_universal_d_ListAppPlansByAppIdRequest as ListAppPlansByAppIdRequest,\n      appmarketV1AppPlans_universal_d_ListAppPlansByAppIdResponse as ListAppPlansByAppIdResponse,\n      appmarketV1AppPlans_universal_d_TaxSettings as TaxSettings,\n      appmarketV1AppPlans_universal_d_TaxType as TaxType,\n      appmarketV1AppPlans_universal_d_listAppPlansByAppId as listAppPlansByAppId,\n    };\n  }\n  \n  /**\n   * An app instance is a specific occurrence of your app on a particular Wix site.\n   * When a site owner installs your app, a unique instance is generated for that\n   * specific site. Use the `instanceId` to keep track of the individual data\n   * associated with each app instance.\n   */\n  interface AppInstance {\n      /**\n       * ID of the app instance. You can use it to keep track of the individual\n       * data that's associated with the specific occurence of your app that's\n       * installed on a Wix site.\n       */\n      instanceId?: string;\n      /**\n       * App name, as set by you in the Customs Apps page during the app creation\n       * process.\n       */\n      appName?: string;\n      /** Version of your app that's installed on the Wix site, as set by you during the app creation process. */\n      appVersion?: string | null;\n      /**\n       * Whether the site owners have installed a free or paid version of your app\n       * on their site.\n       */\n      isFree?: boolean;\n      /**\n       * Billing information for the app instance. Available only in case\n       * `{\"isFree\": false}`.\n       */\n      billing?: BillingInfo;\n      /**\n       * List of [permissions](https://dev.wix.com/docs/build-apps/developer-tools/developers-center/example-app-walkthrough/build-an-app#4-add-permissions)\n       * that the site owners have granted your app. You set the list of permissions that\n       * your app requires from the site owners in your app's Permissions page during the\n       * app creation process.\n       */\n      permissions?: string[];\n      /** Plans available to this app instance. */\n      availablePlans?: AvailablePlan[];\n      /**\n       * ID of the Wix site from which the instance of your app has been cloned.\n       * Available only in case `{\"copiedFromTemplate\": true}`.\n       * All visual settings of the Wix site and app data are duplicated during the\n       * cloning process. Wix also notifies you in case there is any additional\n       * external functionality for the original site.\n       */\n      originInstanceId?: string | null;\n      /**\n       * __Deprecated__. This parameter will be removed on March 30, 2023. Use\n       * `copiedFromTemplate` instead.\n       * @deprecated\n       */\n      isOriginSiteTemplate?: boolean;\n      /** Whether the app instance was created when another Wix site was cloned. */\n      copiedFromTemplate?: boolean;\n      /** Whether the app instance includes a free trial that hasn't started yet. */\n      freeTrialAvailable?: boolean;\n  }\n  interface BillingInfo {\n      /** Name of the package that the site owner has paid for. */\n      packageName?: string;\n      /**\n       * Interval of the billing cycle. `\"ONE_TIME\"` means that site owners have\n       * purchased unlimited access to the app with a single, upfront payment.\n       */\n      billingCycle?: PaymentCycle$1;\n      /**\n       * Date and time the site owners have purchased the app's paid plan in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      timeStamp?: string;\n      /**\n       * Date and time the app's current billing cycle ends in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format. Available only for yearly and\n       * multi-yearly plans.\n       */\n      expirationDate?: string | null;\n      /**\n       * Whether the app's subscription automatically renews at the end of the\n       * current billing cycle.\n       */\n      autoRenewing?: boolean | null;\n      /** ID of the invoice for the current billing cycle. */\n      invoiceId?: string | null;\n      /**\n       * Information about any discounts applied to the app instance's current billing cycle.\n       * If the site owners applied a developer coupon or Wix Voucher\n       * when installing the paid version of your app, this field holds the coupon's\n       * name or `“Wix discount coupon”`. Site owners may receive a Wix Voucher when\n       * upgrading their Wix subscription. If there is no discount for the\n       * current billing cycle, the field is an empty string.\n       */\n      source?: string | null;\n      /** Information about the free trial applied, if relevant. */\n      freeTrialInfo?: FreeTrialInfo;\n  }\n  enum PaymentCycle$1 {\n      NO_CYCLE = \"NO_CYCLE\",\n      MONTHLY = \"MONTHLY\",\n      YEARLY = \"YEARLY\",\n      ONE_TIME = \"ONE_TIME\",\n      TWO_YEARS = \"TWO_YEARS\",\n      THREE_YEARS = \"THREE_YEARS\",\n      FOUR_YEARS = \"FOUR_YEARS\",\n      FIVE_YEARS = \"FIVE_YEARS\"\n  }\n  interface FreeTrialInfo {\n      /**\n       * Current free trial status.\n       * @readonly\n       */\n      status?: FreeTrialStatus;\n      /**\n       * When the free trial has ended. Populated only once the free trial is over.\n       * @readonly\n       */\n      endDate?: Date | null;\n  }\n  enum FreeTrialStatus {\n      /** Unknown trial status. */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** The free trial is currently in progress. */\n      IN_PROGRESS = \"IN_PROGRESS\",\n      /** The free trial has ended. */\n      ENDED = \"ENDED\",\n      /** No free trial was applied, as none was available. */\n      NOT_AVAILABLE = \"NOT_AVAILABLE\"\n  }\n  interface AvailablePlan {\n      /** Package name of the available plan. */\n      packageName?: string;\n      /** Source of the available plan. Can be a bundle or 3rd-party app. */\n      source?: string;\n  }\n  interface AppInstalled {\n      /** Unique identifier of the app within the website. */\n      appId?: string;\n      /** Instance ID of the app in the original website (relevant only when this site was [duplicated from another site](https://support.wix.com/en/article/duplicating-your-site-1472847)). */\n      originInstanceId?: string | null;\n  }\n  interface AppRemoved {\n      /** Unique identifier of the app within the website. */\n      appId?: string;\n  }\n  interface PaidPlanPurchased {\n      /** Date and time of purchase. */\n      operationTimeStamp?: Date | null;\n      /** Purchased app plan. */\n      vendorProductId?: string;\n      /** Selected payment cycle. */\n      cycle?: PaymentCycle$1;\n      /** Plan expiration date. */\n      expiresOn?: Date | null;\n      /** Coupon applied to purchase (if relevant). */\n      couponName?: string | null;\n      /** Invoice ID. */\n      invoiceId?: string | null;\n  }\n  interface PaidPlanChanged {\n      /** Date and time of change. */\n      operationTimeStamp?: Date | null;\n      /** Newly purchased app plan. */\n      vendorProductId?: string;\n      /** Newly selected payment cycle. */\n      cycle?: PaymentCycle$1;\n      /** Previous app plan. */\n      previousVendorProductId?: string | null;\n      /** Previous payment cycle. */\n      previousCycle?: PaymentCycle$1;\n      /** Coupon applied to purchase (if relevant). */\n      couponName?: string | null;\n      /** Invoice ID. */\n      invoiceId?: string | null;\n  }\n  interface PaidPlanAutoRenewalCancelled {\n      /** Date and time of auto-renewal cancellation. */\n      operationTimeStamp?: Date | null;\n      /** Current app plan. */\n      vendorProductId?: string;\n      /** Current payment cycle. */\n      cycle?: PaymentCycle$1;\n      /** Supported values: `UNKNOWN_CANCELLATION_TYPE_ERROR_STATE`, `USER_CANCEL`, `FAILED_PAYMENT`, `TRANSFER_CANCELLATION_REASON`. Reason provided by app for cancellation (if relevant). */\n      cancelReason?: string | null;\n      /** Reason provided by site owner for cancellation (if relevant). */\n      userReason?: string | null;\n      /** Cancellation type. */\n      subscriptionCancellationType?: string | null;\n  }\n  interface GetAppInstanceRequest {\n  }\n  interface GetAppInstanceResponse {\n      /** Retrieved app instance. */\n      instance?: AppInstance;\n      /** Information about the corresponding Wix site. */\n      site?: SiteInfo;\n  }\n  interface SiteInfo {\n      /** Display name of the site. */\n      siteDisplayName?: string | null;\n      /**\n       * 2-letter language code of the site's locale in\n       * [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      locale?: string;\n      /**\n       * 3-letter currency code for the site's billing in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string;\n      /** Information about the site's supported languages. */\n      multilingual?: Multilingual;\n      /** URL of the site. Available only in case the site has been published. */\n      url?: string | null;\n      /** Description of the site. */\n      description?: string | null;\n      /** Wix apps that are installed on the site. */\n      installedWixApps?: string[];\n      /**\n       * > **Deprecation Notice:** This parameter will be removed on June 30, 2022. Use `ownerInfo` instead.\n       * @deprecated\n       */\n      ownerEmail?: string | null;\n      /**\n       * Information about the site owner. Available only when calling\n       * _Get App Instance_ with the __Read Site Owner Email__ permission scope.\n       */\n      ownerInfo?: OwnerInfo;\n      /** Site ID. */\n      siteId?: string;\n  }\n  interface Multilingual {\n      /** Whether the site supports more than a single language. */\n      isMultiLingual?: boolean;\n      /** List of supported languages. Returned only when `{\"isMultiLingual\": true}`. */\n      supportedLanguages?: SupportedLanguage[];\n  }\n  interface SupportedLanguage {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod;\n  }\n  interface Locale {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  enum ResolutionMethod {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface OwnerInfo {\n      /** Site owner's email address. Identical to the site owner's login email. */\n      email?: string;\n      /**\n       * Supported values: `VERIFIED_OPT_IN`, `VERIFIED_OPT_OUT`,\n       * `NOT_VERIFIED_OPT_IN`, `NOT_VERIFIED_OPT_OUT`.\n       *\n       * Whether the site owner has verified their email and whether they have chosen\n       * to receive email notifications from Wix.\n       */\n      emailStatus?: string;\n  }\n  interface GetAppInstanceByInstanceIdRequest {\n      /** ID of the app instance to retrieve. */\n      instanceId: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves data about the instance of your app that's installed on a Wix site and data about the site itself.\n   *\n   * Call this function when you need information about a specific instance of your app and the site it’s installed on. For example, you may need to know whether the user has installed a free or paid version of your app, or to check what other Wix apps are installed on the site.\n   *\n   * You must authenticate as a [Wix App](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities#wix-apps). If you are calling this function from a [dashboard extension](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/about-dashboard-extensions) in the [CLI](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/wix-cli/about-the-wix-cli-for-apps), Wix App authentication is passed automatically. Otherwise, you need to call the function with [elevated permissions](https://dev.wix.com/docs/sdk/articles/working-with-the-sdk/about-elevated-permissions).\n   *\n   * If you want `site.ownerInfo` to be included in the response, you must have the __Read Site Owner Email__ permission scope in addition to __WIX_DEVELOPERS.MANAGE_APP_INSTANCE__.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_DEVELOPERS.MANAGE_APP_INSTANCE\n   * @adminMethod\n   */\n  function getAppInstance(): Promise<GetAppInstanceResponse>;\n  /** @param instanceId - ID of the app instance to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @permissionId app-market.manage-app\n   * @adminMethod\n   */\n  function getAppInstanceByInstanceId(instanceId: string): Promise<GetAppInstanceResponse>;\n  \n  type devcenterAppInstanceV1AppInstance_universal_d_AppInstance = AppInstance;\n  type devcenterAppInstanceV1AppInstance_universal_d_BillingInfo = BillingInfo;\n  type devcenterAppInstanceV1AppInstance_universal_d_FreeTrialInfo = FreeTrialInfo;\n  type devcenterAppInstanceV1AppInstance_universal_d_FreeTrialStatus = FreeTrialStatus;\n  const devcenterAppInstanceV1AppInstance_universal_d_FreeTrialStatus: typeof FreeTrialStatus;\n  type devcenterAppInstanceV1AppInstance_universal_d_AvailablePlan = AvailablePlan;\n  type devcenterAppInstanceV1AppInstance_universal_d_AppInstalled = AppInstalled;\n  type devcenterAppInstanceV1AppInstance_universal_d_AppRemoved = AppRemoved;\n  type devcenterAppInstanceV1AppInstance_universal_d_PaidPlanPurchased = PaidPlanPurchased;\n  type devcenterAppInstanceV1AppInstance_universal_d_PaidPlanChanged = PaidPlanChanged;\n  type devcenterAppInstanceV1AppInstance_universal_d_PaidPlanAutoRenewalCancelled = PaidPlanAutoRenewalCancelled;\n  type devcenterAppInstanceV1AppInstance_universal_d_GetAppInstanceRequest = GetAppInstanceRequest;\n  type devcenterAppInstanceV1AppInstance_universal_d_GetAppInstanceResponse = GetAppInstanceResponse;\n  type devcenterAppInstanceV1AppInstance_universal_d_SiteInfo = SiteInfo;\n  type devcenterAppInstanceV1AppInstance_universal_d_Multilingual = Multilingual;\n  type devcenterAppInstanceV1AppInstance_universal_d_SupportedLanguage = SupportedLanguage;\n  type devcenterAppInstanceV1AppInstance_universal_d_Locale = Locale;\n  type devcenterAppInstanceV1AppInstance_universal_d_ResolutionMethod = ResolutionMethod;\n  const devcenterAppInstanceV1AppInstance_universal_d_ResolutionMethod: typeof ResolutionMethod;\n  type devcenterAppInstanceV1AppInstance_universal_d_OwnerInfo = OwnerInfo;\n  type devcenterAppInstanceV1AppInstance_universal_d_GetAppInstanceByInstanceIdRequest = GetAppInstanceByInstanceIdRequest;\n  const devcenterAppInstanceV1AppInstance_universal_d_getAppInstance: typeof getAppInstance;\n  const devcenterAppInstanceV1AppInstance_universal_d_getAppInstanceByInstanceId: typeof getAppInstanceByInstanceId;\n  namespace devcenterAppInstanceV1AppInstance_universal_d {\n    export {\n      devcenterAppInstanceV1AppInstance_universal_d_AppInstance as AppInstance,\n      devcenterAppInstanceV1AppInstance_universal_d_BillingInfo as BillingInfo,\n      PaymentCycle$1 as PaymentCycle,\n      devcenterAppInstanceV1AppInstance_universal_d_FreeTrialInfo as FreeTrialInfo,\n      devcenterAppInstanceV1AppInstance_universal_d_FreeTrialStatus as FreeTrialStatus,\n      devcenterAppInstanceV1AppInstance_universal_d_AvailablePlan as AvailablePlan,\n      devcenterAppInstanceV1AppInstance_universal_d_AppInstalled as AppInstalled,\n      devcenterAppInstanceV1AppInstance_universal_d_AppRemoved as AppRemoved,\n      devcenterAppInstanceV1AppInstance_universal_d_PaidPlanPurchased as PaidPlanPurchased,\n      devcenterAppInstanceV1AppInstance_universal_d_PaidPlanChanged as PaidPlanChanged,\n      devcenterAppInstanceV1AppInstance_universal_d_PaidPlanAutoRenewalCancelled as PaidPlanAutoRenewalCancelled,\n      devcenterAppInstanceV1AppInstance_universal_d_GetAppInstanceRequest as GetAppInstanceRequest,\n      devcenterAppInstanceV1AppInstance_universal_d_GetAppInstanceResponse as GetAppInstanceResponse,\n      devcenterAppInstanceV1AppInstance_universal_d_SiteInfo as SiteInfo,\n      devcenterAppInstanceV1AppInstance_universal_d_Multilingual as Multilingual,\n      devcenterAppInstanceV1AppInstance_universal_d_SupportedLanguage as SupportedLanguage,\n      devcenterAppInstanceV1AppInstance_universal_d_Locale as Locale,\n      devcenterAppInstanceV1AppInstance_universal_d_ResolutionMethod as ResolutionMethod,\n      devcenterAppInstanceV1AppInstance_universal_d_OwnerInfo as OwnerInfo,\n      devcenterAppInstanceV1AppInstance_universal_d_GetAppInstanceByInstanceIdRequest as GetAppInstanceByInstanceIdRequest,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      devcenterAppInstanceV1AppInstance_universal_d_getAppInstance as getAppInstance,\n      devcenterAppInstanceV1AppInstance_universal_d_getAppInstanceByInstanceId as getAppInstanceByInstanceId,\n    };\n  }\n  \n  interface SendBIEventResponse {\n  }\n  interface SendBIEventRequest {\n      /** Name of the event that's triggered in your app. */\n      eventName?: EventName;\n      /**\n       * Name of your app's custom event that was triggered. Required when `{\"eventName\": \"CUSTOM\"}`.\n       *\n       * Min: 2 characters\n       */\n      customEventName?: string | null;\n      /**\n       * Supported values include: `\"cycle_name\"`, `\"currency\"`, `\"sum\"`, `\"reason\"`, `\"app_plan_id\"`.\n       * You may also submit data with keys that aren't listed here.\n       *\n       * Additional data about your app's event.\n       *\n       * + `\"cycle_name\"`: Supported values: `\"monthly\"`, `\"yearly\"`, `\"2 years\"`, `\"one time\"`.\n       * + `\"currency\"`: 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * + `\"sum\"`: Amount of money. Required for `{\"eventName\": \"CHARGE\"}` and `{\"eventName\": \"FUNDS_RETURNED\"}`.\n       * + `\"reason\"`: Information about why the event was triggered in your app.\n       * + `\"app_plan_id\"`: ID of the your app's plan as displayed in your app's dashboard. Note that it's the same value as `vendorProductId` in the [Paid Plan Purchased webhook](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/paid-plan-purchased).\n       */\n      eventData?: Record<string, string>;\n  }\n  enum EventName {\n      /** Unknown event name. */\n      UNKNOWN = \"UNKNOWN\",\n      /** A site owner or contributor loads your app's dashboard. */\n      APP_DASHBOARD_LOADED = \"APP_DASHBOARD_LOADED\",\n      /** The site owner completes all required configurations for your app in your app's dashboard. */\n      APP_FINISHED_CONFIGURATION = \"APP_FINISHED_CONFIGURATION\",\n      /** The site owner upgrades your app's paid plan. An upgrade means that they have finished the checkout flow on the app's side but not necessarily on Wix's side. */\n      APP_UPGRADED = \"APP_UPGRADED\",\n      /** A site owner, contributor, or visitor triggers your app's primary action. For example, a site visitor writes a product review using your product review app. */\n      PRIMARY_ACTION_PERFORMED = \"PRIMARY_ACTION_PERFORMED\",\n      /** Any event that's not listed here. Make sure to also send `customEventName`. */\n      CUSTOM = \"CUSTOM\",\n      /** You charge money from the site owner. For example, when the site owner purchases or renews a subscription for your app. Make sure to also send `eventData` and a key of `sum`. */\n      CHARGE = \"CHARGE\",\n      /** Trigger this event when you send money back to a site owner (for example, refunds or chargebacks). Make sure to also send the charge amount inside `eventData`. For example, `{\"eventData\": {\"sum\": \"5.99\"}}`. */\n      FUNDS_RETURNED = \"FUNDS_RETURNED\",\n      /** __Deprecation Notice:__ This enum value will be removed on March 30, 2023. Use `\"APP_SETUP_FINISHED\"` instead. */\n      APP_FINISH_BUSINESS_SETUP = \"APP_FINISH_BUSINESS_SETUP\",\n      /** Your app’s internal code implementation is changed and might affect user flows or cause a regression. */\n      APP_DEPLOYED = \"APP_DEPLOYED\",\n      /** The site owner completes your app's required business setup. */\n      APP_SETUP_FINISHED = \"APP_SETUP_FINISHED\"\n  }\n  /**\n   * Submit a BI event to Wix.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_DEVELOPERS.SEND_BI_EVENTS\n   * @adminMethod\n   */\n  function sendBiEvent(options?: SendBiEventOptions): Promise<void>;\n  interface SendBiEventOptions {\n      /** Name of the event that's triggered in your app. */\n      eventName?: EventName;\n      /**\n       * Name of your app's custom event that was triggered. Required when `{\"eventName\": \"CUSTOM\"}`.\n       *\n       * Min: 2 characters\n       */\n      customEventName?: string | null;\n      /**\n       * Supported values include: `\"cycle_name\"`, `\"currency\"`, `\"sum\"`, `\"reason\"`, `\"app_plan_id\"`.\n       * You may also submit data with keys that aren't listed here.\n       *\n       * Additional data about your app's event.\n       *\n       * + `\"cycle_name\"`: Supported values: `\"monthly\"`, `\"yearly\"`, `\"2 years\"`, `\"one time\"`.\n       * + `\"currency\"`: 3-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       * + `\"sum\"`: Amount of money. Required for `{\"eventName\": \"CHARGE\"}` and `{\"eventName\": \"FUNDS_RETURNED\"}`.\n       * + `\"reason\"`: Information about why the event was triggered in your app.\n       * + `\"app_plan_id\"`: ID of the your app's plan as displayed in your app's dashboard. Note that it's the same value as `vendorProductId` in the [Paid Plan Purchased webhook](https://dev.wix.com/docs/rest/api-reference/app-management/apps/app-instance/paid-plan-purchased).\n       */\n      eventData?: Record<string, string>;\n  }\n  \n  type devcenterBiEventsV1SendBiEventResponse_universal_d_SendBIEventResponse = SendBIEventResponse;\n  type devcenterBiEventsV1SendBiEventResponse_universal_d_SendBIEventRequest = SendBIEventRequest;\n  type devcenterBiEventsV1SendBiEventResponse_universal_d_EventName = EventName;\n  const devcenterBiEventsV1SendBiEventResponse_universal_d_EventName: typeof EventName;\n  const devcenterBiEventsV1SendBiEventResponse_universal_d_sendBiEvent: typeof sendBiEvent;\n  type devcenterBiEventsV1SendBiEventResponse_universal_d_SendBiEventOptions = SendBiEventOptions;\n  namespace devcenterBiEventsV1SendBiEventResponse_universal_d {\n    export {\n      devcenterBiEventsV1SendBiEventResponse_universal_d_SendBIEventResponse as SendBIEventResponse,\n      devcenterBiEventsV1SendBiEventResponse_universal_d_SendBIEventRequest as SendBIEventRequest,\n      devcenterBiEventsV1SendBiEventResponse_universal_d_EventName as EventName,\n      devcenterBiEventsV1SendBiEventResponse_universal_d_sendBiEvent as sendBiEvent,\n      devcenterBiEventsV1SendBiEventResponse_universal_d_SendBiEventOptions as SendBiEventOptions,\n    };\n  }\n  \n  interface PurchasedItem {\n      /** ID of your app's paid plan. */\n      productId?: string;\n      /** Price of your app's paid plan. For example, `9.95`. */\n      price?: string;\n      /**\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string;\n      /** Information about the billing cycle for your app's paid plan. */\n      billingCycle?: PaymentCycle;\n      /**\n       * Date and time the site onwers have purchased your app's paid plan in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      dateCreated?: Date | null;\n  }\n  enum PaymentCycle {\n      NO_CYCLE = \"NO_CYCLE\",\n      MONTHLY = \"MONTHLY\",\n      YEARLY = \"YEARLY\",\n      ONE_TIME = \"ONE_TIME\",\n      TWO_YEARS = \"TWO_YEARS\",\n      THREE_YEARS = \"THREE_YEARS\",\n      FOUR_YEARS = \"FOUR_YEARS\",\n      FIVE_YEARS = \"FIVE_YEARS\"\n  }\n  interface InvoiceStatusUpdate {\n      /** Invoice payment status. */\n      status?: InvoiceStatus;\n      /** Wix Premium invoice ID. */\n      invoiceId?: string;\n      /** App instance ID - a unique ID assigned to each app in each site. */\n      instanceId?: string | null;\n      /** Whether the invoice is for a single payment or for multiple, recurring payments. */\n      recurring?: boolean;\n  }\n  enum InvoiceStatus {\n      UNKNOWN_INVOICE_STATUS = \"UNKNOWN_INVOICE_STATUS\",\n      PAYMENT_FAILED = \"PAYMENT_FAILED\",\n      PAID = \"PAID\",\n      REFUNDED = \"REFUNDED\",\n      VOIDED = \"VOIDED\",\n      CHARGEDBACK = \"CHARGEDBACK\"\n  }\n  interface GetUrlRequest {\n      /**\n       * ID of your app's paid plan to retrieve the Wix checkout URL for. Check your app's dashboard\n       * for a list of your app's supported product IDs.\n       */\n      productId: string;\n      /**\n       * URL for the Wix checkout page. Redirect site owners to this URL after\n       * they've successfully purchased a paid plan for your app.\n       */\n      successUrl?: string | null;\n      /**\n       * Whether the checkout is for testing purposes only. Testing is mainly\n       * relevant for in-app purchase flows. When `true`, Wix charges the site\n       * owners an amount of `0.00`.\n       */\n      testCheckout?: boolean;\n      /** Information about the paid plan's billing cycle. */\n      billingCycle?: PaymentCycle;\n      /**\n       * 2-letter country code in\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format.\n       *\n       * Default: `\"US\"`\n       */\n      countryCode?: string | null;\n      /**\n       * 2-letter language code in\n       * [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       *\n       * Default: `\"EN\"`\n       */\n      languageCode?: string | null;\n      /**\n       * Price and currency Wix uses to charge the site owners. Overrides the\n       * default values you've set in the app's pricing plan. Only supported in combination with `{\"billingCycle\": \"ONE_TIME\"}`.\n       * Otherwise the call fails with a validation error.\n       * @internal\n       */\n      chargeOverride?: ChargeOverride;\n      /** Coupon code for the paid plan. Available only in case there is a discount. */\n      couponCode?: string | null;\n  }\n  interface ChargeOverride {\n      /**\n       * Override price. In case you omit the override price, Wix charges site\n       * owners the app's default price that's configured in the Pricing page of your app's dashboard.\n       */\n      price?: number;\n      /**\n       * Override 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string;\n  }\n  interface GetUrlResponse {\n      /** URL for the Wix checkout page. */\n      checkoutUrl?: string;\n      /**\n       * Token for the Wix checkout page. The token holds all data about the order\n       * you're creating a checkout for.  It is [signed](),\n       * so you can verify that it comes from Wix.\n       */\n      token?: string | null;\n  }\n  interface GetPurchaseHistoryRequest {\n  }\n  interface GetPurchaseHistoryResponse {\n      /** Retrieved purchases the site owners have completed for you app. */\n      purchases?: PurchasedItem[];\n  }\n  interface GetSitePaymentMethodsStatusRequest {\n  }\n  interface GetSitePaymentMethodsStatusResponse {\n      /**\n       * Whether the site owners have enabled at least a single online payment method.\n       * Online payment methods include Wix Payments, Stripe, PayPal, and credit\n       * cards.\n       */\n      onlineProviderEnabled?: boolean;\n      /** Whether the site owners accept offline payments. */\n      offlineProviderEnabled?: boolean;\n      /**\n       * Whether the site owners have enabled the\n       * [Wix Point of Sale](https://www.wix.com/pos).\n       * This allows their customers to make electronic payments in person.\n       */\n      wixPosProviderEnabled?: boolean;\n      /**\n       * Whether the site owners have enabled at least one 3rd-party point-of-sale\n       * provider. This allows their customers to make electronic payments in person.\n       */\n      thirdPartyPosProviderEnabled?: boolean;\n  }\n  interface GetMeteredBillingChargesRequest {\n      /**\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string | null;\n      /**\n       * Start of the period you want to retrieve the custom charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      startDate?: Date | null;\n      /**\n       * End of the period you want to retrieve the custom charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      endDate?: Date | null;\n  }\n  interface GetMeteredBillingChargesResponse {\n      /** List of retrieved custom charges. */\n      charges?: Charge[];\n  }\n  interface Charge {\n      /** ID of the custom charge. The ID consists of 64 characters. */\n      _id?: string | null;\n      /** Description of the custom charge. */\n      description?: string;\n      /**\n       * Charge amount.\n       *\n       * Min: `0.50`\n       */\n      amount?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the URL for a Wix checkout page for the specified paid plan of your app.\n   *\n   *\n   * This call succeeds only in case you have previously\n   * [set up an external pricing page in your app's dashboard](https://dev.wix.com/docs/build-apps/build-your-app/pricing-plans/set-up-an-external-pricing-page).\n   *\n   * The returned checkout URL is valid for 48 hours.\n   *\n   * This API allows your app to manage your pricing page outside of Wix while\n   * still using the standard Wix checkout flow.\n   * @param productId - ID of your app's paid plan to retrieve the Wix checkout URL for. Check your app's dashboard\n   * for a list of your app's supported product IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productId\n   * @permissionId WIX_DEVELOPERS.CREATE_CHECKOUT\n   * @adminMethod\n   */\n  function getUrl(productId: string, options?: GetUrlOptions): Promise<GetUrlResponse>;\n  interface GetUrlOptions {\n      /**\n       * URL for the Wix checkout page. Redirect site owners to this URL after\n       * they've successfully purchased a paid plan for your app.\n       */\n      successUrl?: string | null;\n      /**\n       * Whether the checkout is for testing purposes only. Testing is mainly\n       * relevant for in-app purchase flows. When `true`, Wix charges the site\n       * owners an amount of `0.00`.\n       */\n      testCheckout?: boolean;\n      /** Information about the paid plan's billing cycle. */\n      billingCycle?: PaymentCycle;\n      /**\n       * 2-letter country code in\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format.\n       *\n       * Default: `\"US\"`\n       */\n      countryCode?: string | null;\n      /**\n       * 2-letter language code in\n       * [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       *\n       * Default: `\"EN\"`\n       */\n      languageCode?: string | null;\n      /**\n       * Price and currency Wix uses to charge the site owners. Overrides the\n       * default values you've set in the app's pricing plan. Only supported in combination with `{\"billingCycle\": \"ONE_TIME\"}`.\n       * Otherwise the call fails with a validation error.\n       * @internal\n       */\n      chargeOverride?: ChargeOverride;\n      /** Coupon code for the paid plan. Available only in case there is a discount. */\n      couponCode?: string | null;\n  }\n  /**\n   * Retrieves a list of the site owner's past purchases for your app.\n   *\n   *\n   * You don't have to explicitly pass an identifier for the Wix site as part of\n   * the request, since this information is taken automatically from the context.\n   *\n   * The response doesn't include any details about cancellations.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_DEVELOPERS.APP_PURCHASE_HISTORY\n   * @adminMethod\n   */\n  function getPurchaseHistory(): Promise<GetPurchaseHistoryResponse>;\n  /**\n   * Retrieves information about the site's enabled payment methods.\n   *\n   *\n   * Checks whether online, offline, Wix POS, and external POS payments are\n   * enabled.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId DEV_CENTER.SITE_PAYMENT_METHOD\n   * @adminMethod\n   */\n  function getSitePaymentMethodsStatus(): Promise<GetSitePaymentMethodsStatusResponse>;\n  /**\n   * Triggers Wix to call the\n   * [List Custom Charges SPI](https://dev.wix.com/docs/rest/internal-only/premium/custom-charges-spi/custom-charges-provider-v1/list-charges).\n   *\n   *\n   * Wix doesn't use the response from _List Charges_ SPI to actually create an\n   * invoice that's sent to the customer. Instead, calling _Get Metered Billing Charges_\n   * allows you confirm that your integration with the Custom Charges SPI is\n   * working as intended.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_DEVELOPERS.METERED_BILLING_CHARGES_READ\n   * @adminMethod\n   */\n  function getMeteredBillingCharges(options?: GetMeteredBillingChargesOptions): Promise<GetMeteredBillingChargesResponse>;\n  interface GetMeteredBillingChargesOptions {\n      /**\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string | null;\n      /**\n       * Start of the period you want to retrieve the custom charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      startDate?: Date | null;\n      /**\n       * End of the period you want to retrieve the custom charges for in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      endDate?: Date | null;\n  }\n  \n  type devcenterCheckoutV1PurchasedItem_universal_d_PurchasedItem = PurchasedItem;\n  type devcenterCheckoutV1PurchasedItem_universal_d_PaymentCycle = PaymentCycle;\n  const devcenterCheckoutV1PurchasedItem_universal_d_PaymentCycle: typeof PaymentCycle;\n  type devcenterCheckoutV1PurchasedItem_universal_d_InvoiceStatusUpdate = InvoiceStatusUpdate;\n  type devcenterCheckoutV1PurchasedItem_universal_d_InvoiceStatus = InvoiceStatus;\n  const devcenterCheckoutV1PurchasedItem_universal_d_InvoiceStatus: typeof InvoiceStatus;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetUrlRequest = GetUrlRequest;\n  type devcenterCheckoutV1PurchasedItem_universal_d_ChargeOverride = ChargeOverride;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetUrlResponse = GetUrlResponse;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetPurchaseHistoryRequest = GetPurchaseHistoryRequest;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetPurchaseHistoryResponse = GetPurchaseHistoryResponse;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetSitePaymentMethodsStatusRequest = GetSitePaymentMethodsStatusRequest;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetSitePaymentMethodsStatusResponse = GetSitePaymentMethodsStatusResponse;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesRequest = GetMeteredBillingChargesRequest;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesResponse = GetMeteredBillingChargesResponse;\n  type devcenterCheckoutV1PurchasedItem_universal_d_Charge = Charge;\n  type devcenterCheckoutV1PurchasedItem_universal_d_MessageEnvelope = MessageEnvelope;\n  type devcenterCheckoutV1PurchasedItem_universal_d_IdentificationData = IdentificationData;\n  type devcenterCheckoutV1PurchasedItem_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type devcenterCheckoutV1PurchasedItem_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const devcenterCheckoutV1PurchasedItem_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const devcenterCheckoutV1PurchasedItem_universal_d_getUrl: typeof getUrl;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetUrlOptions = GetUrlOptions;\n  const devcenterCheckoutV1PurchasedItem_universal_d_getPurchaseHistory: typeof getPurchaseHistory;\n  const devcenterCheckoutV1PurchasedItem_universal_d_getSitePaymentMethodsStatus: typeof getSitePaymentMethodsStatus;\n  const devcenterCheckoutV1PurchasedItem_universal_d_getMeteredBillingCharges: typeof getMeteredBillingCharges;\n  type devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesOptions = GetMeteredBillingChargesOptions;\n  namespace devcenterCheckoutV1PurchasedItem_universal_d {\n    export {\n      devcenterCheckoutV1PurchasedItem_universal_d_PurchasedItem as PurchasedItem,\n      devcenterCheckoutV1PurchasedItem_universal_d_PaymentCycle as PaymentCycle,\n      devcenterCheckoutV1PurchasedItem_universal_d_InvoiceStatusUpdate as InvoiceStatusUpdate,\n      devcenterCheckoutV1PurchasedItem_universal_d_InvoiceStatus as InvoiceStatus,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetUrlRequest as GetUrlRequest,\n      devcenterCheckoutV1PurchasedItem_universal_d_ChargeOverride as ChargeOverride,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetUrlResponse as GetUrlResponse,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetPurchaseHistoryRequest as GetPurchaseHistoryRequest,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetPurchaseHistoryResponse as GetPurchaseHistoryResponse,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetSitePaymentMethodsStatusRequest as GetSitePaymentMethodsStatusRequest,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetSitePaymentMethodsStatusResponse as GetSitePaymentMethodsStatusResponse,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesRequest as GetMeteredBillingChargesRequest,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesResponse as GetMeteredBillingChargesResponse,\n      devcenterCheckoutV1PurchasedItem_universal_d_Charge as Charge,\n      devcenterCheckoutV1PurchasedItem_universal_d_MessageEnvelope as MessageEnvelope,\n      devcenterCheckoutV1PurchasedItem_universal_d_IdentificationData as IdentificationData,\n      devcenterCheckoutV1PurchasedItem_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      devcenterCheckoutV1PurchasedItem_universal_d_WebhookIdentityType as WebhookIdentityType,\n      devcenterCheckoutV1PurchasedItem_universal_d_getUrl as getUrl,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetUrlOptions as GetUrlOptions,\n      devcenterCheckoutV1PurchasedItem_universal_d_getPurchaseHistory as getPurchaseHistory,\n      devcenterCheckoutV1PurchasedItem_universal_d_getSitePaymentMethodsStatus as getSitePaymentMethodsStatus,\n      devcenterCheckoutV1PurchasedItem_universal_d_getMeteredBillingCharges as getMeteredBillingCharges,\n      devcenterCheckoutV1PurchasedItem_universal_d_GetMeteredBillingChargesOptions as GetMeteredBillingChargesOptions,\n    };\n  }\n  \n  /** Embedded script data */\n  interface ScriptProperties {\n      /** Script parameters */\n      parameters?: Record<string, string>;\n      /** Whether script is disabled or not, defaults to false (not disabled) */\n      disabled?: boolean;\n  }\n  interface EmbedScriptRequest {\n      /** Details of the script to embed. */\n      properties: ScriptProperties;\n      /** ID of the corresponding embedded script component. */\n      componentId?: string | null;\n  }\n  interface EmbedScriptResponse {\n      /** Details of the embedded script. */\n      properties?: ScriptProperties;\n  }\n  interface GetEmbeddedScriptRequest {\n      /** Component ID of the embedded script to retrieve. */\n      componentId?: string | null;\n  }\n  interface GetEmbeddedScriptResponse {\n      /** Details of the retrieved embedded script. */\n      properties?: ScriptProperties;\n  }\n  interface EmbedScriptByInstanceIdRequest {\n      instanceId: string;\n      /** Parameters to embed */\n      properties: ScriptProperties;\n      componentId?: string | null;\n  }\n  interface GetEmbeddedScriptByInstanceIdRequest {\n      instanceId: string;\n      componentId?: string | null;\n  }\n  /**\n   * Inserts custom script tags into a site.\n   *\n   *\n   * Your app must have an existing\n   * [embedded script component](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/embedded-scripts/about-embedded-scripts),\n   * with exactly matching parameter names.\n   * @param properties - Details of the script to embed.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField properties\n   * @permissionId APPS.MANAGE_EMBEDDED_SCRIPT\n   * @adminMethod\n   */\n  function embedScript(properties: ScriptProperties, options?: EmbedScriptOptions): Promise<EmbedScriptResponse>;\n  interface EmbedScriptOptions {\n      /** ID of the corresponding embedded script component. */\n      componentId?: string | null;\n  }\n  /**\n   * Retrieves information about your app's existing embedded script.\n   *\n   *\n   * The call fails with `404` error in case your app doesn't include an\n   * embedded script on the site.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId APPS.MANAGE_EMBEDDED_SCRIPT\n   * @adminMethod\n   * @returns Details of the retrieved embedded script.\n   */\n  function getEmbeddedScript(options?: GetEmbeddedScriptOptions): Promise<ScriptProperties>;\n  interface GetEmbeddedScriptOptions {\n      /** Component ID of the embedded script to retrieve. */\n      componentId?: string | null;\n  }\n  /** @param properties - Parameters to embed\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @requiredField properties\n   * @permissionId my-account.manage-html-embeds\n   * @adminMethod\n   */\n  function embedScriptByInstanceId(instanceId: string, properties: ScriptProperties, options?: EmbedScriptByInstanceIdOptions): Promise<EmbedScriptResponse>;\n  interface EmbedScriptByInstanceIdOptions {\n      componentId?: string | null;\n  }\n  /**\n   * Retrieves this app's existing embedded script parameters\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @permissionId my-account.manage-html-embeds\n   * @adminMethod\n   */\n  function getEmbeddedScriptByInstanceId(instanceId: string, options?: GetEmbeddedScriptByInstanceIdOptions): Promise<GetEmbeddedScriptResponse>;\n  interface GetEmbeddedScriptByInstanceIdOptions {\n      componentId?: string | null;\n  }\n  \n  type devcenterScriptsV1ScriptProperties_universal_d_ScriptProperties = ScriptProperties;\n  type devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptRequest = EmbedScriptRequest;\n  type devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptResponse = EmbedScriptResponse;\n  type devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptRequest = GetEmbeddedScriptRequest;\n  type devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptResponse = GetEmbeddedScriptResponse;\n  type devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptByInstanceIdRequest = EmbedScriptByInstanceIdRequest;\n  type devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptByInstanceIdRequest = GetEmbeddedScriptByInstanceIdRequest;\n  const devcenterScriptsV1ScriptProperties_universal_d_embedScript: typeof embedScript;\n  type devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptOptions = EmbedScriptOptions;\n  const devcenterScriptsV1ScriptProperties_universal_d_getEmbeddedScript: typeof getEmbeddedScript;\n  type devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptOptions = GetEmbeddedScriptOptions;\n  const devcenterScriptsV1ScriptProperties_universal_d_embedScriptByInstanceId: typeof embedScriptByInstanceId;\n  type devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptByInstanceIdOptions = EmbedScriptByInstanceIdOptions;\n  const devcenterScriptsV1ScriptProperties_universal_d_getEmbeddedScriptByInstanceId: typeof getEmbeddedScriptByInstanceId;\n  type devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptByInstanceIdOptions = GetEmbeddedScriptByInstanceIdOptions;\n  namespace devcenterScriptsV1ScriptProperties_universal_d {\n    export {\n      devcenterScriptsV1ScriptProperties_universal_d_ScriptProperties as ScriptProperties,\n      devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptRequest as EmbedScriptRequest,\n      devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptResponse as EmbedScriptResponse,\n      devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptRequest as GetEmbeddedScriptRequest,\n      devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptResponse as GetEmbeddedScriptResponse,\n      devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptByInstanceIdRequest as EmbedScriptByInstanceIdRequest,\n      devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptByInstanceIdRequest as GetEmbeddedScriptByInstanceIdRequest,\n      devcenterScriptsV1ScriptProperties_universal_d_embedScript as embedScript,\n      devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptOptions as EmbedScriptOptions,\n      devcenterScriptsV1ScriptProperties_universal_d_getEmbeddedScript as getEmbeddedScript,\n      devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptOptions as GetEmbeddedScriptOptions,\n      devcenterScriptsV1ScriptProperties_universal_d_embedScriptByInstanceId as embedScriptByInstanceId,\n      devcenterScriptsV1ScriptProperties_universal_d_EmbedScriptByInstanceIdOptions as EmbedScriptByInstanceIdOptions,\n      devcenterScriptsV1ScriptProperties_universal_d_getEmbeddedScriptByInstanceId as getEmbeddedScriptByInstanceId,\n      devcenterScriptsV1ScriptProperties_universal_d_GetEmbeddedScriptByInstanceIdOptions as GetEmbeddedScriptByInstanceIdOptions,\n    };\n  }\n  \n  export { devcenterAppInstanceV1AppInstance_universal_d as appInstances, appmarketV1AppPlans_universal_d as appPlans, devcenterBiEventsV1SendBiEventResponse_universal_d as biEvents, devcenterCheckoutV1PurchasedItem_universal_d as billing, devcenterScriptsV1ScriptProperties_universal_d as embeddedScripts };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-cache-backend.d.ts",
      "content": "declare module \"wix-cache-backend\" {\n  interface InvalidateCacheRequest {\n      /** An array of objects containing a `tag` field used to identify the cache to invalidate. All cached return values with any listed tags are invalidated. If no tags are specified, nothing is invalidated. */\n      invalidationMethods?: InvalidationMethods[];\n      /**\n       * tell us why you're invalidating the cache. You don't need to add your app name\n       * @internal\n       */\n      reason?: string | null;\n      /**\n       * Is local DC\n       * @internal\n       */\n      localDc?: boolean;\n      /**\n       * Is set to hard purge\n       * @internal\n       */\n      hardPurge?: boolean;\n  }\n  interface InvalidationMethods extends InvalidationMethodsInvalidateByOneOf {\n      /** Identifiers of the caches to invalidate. */\n      tag?: string;\n  }\n  /** @oneof */\n  interface InvalidationMethodsInvalidateByOneOf {\n      /** Identifiers of the caches to invalidate. */\n      tag?: string;\n  }\n  interface InvalidateCacheResponse {\n  }\n  /**\n   * Clears caches using specified tags.\n   *\n   * This function invalidates or clears previously cached return values based on specified tags. The `invalidationMethods` parameter accepts an array of objects, each containing a `tag` field. These tags are defined when caching return values for backend functions using the [`webMethod()`](https://dev.wix.com/docs/velo/api-reference/wix-web-module/web-method) function, and for routers using the [`ok()` function](https://dev.wix.com/docs/velo/api-reference/wix-router/ok). For example, an array such as `[{ tag: \"contacts\" }, { tag: \"labels\" }]` will clear any cached return values tagged with \"contacts\" or \"labels.\" Any cache containing at least one tag specified in the `invalidationMethods` parameter will be cleared.\n   *\n   *\n   * <blockquote class=\"important\">\n   *\n   * __Important:__\n   * - If you don't specify any tags in the `invalidationsMethod` parameter, no caches are invalidated.\n   * - If you don't use the `invalidateCache()` function, your caches are only invalidated when the Time to Live (TTL) expires or when you republish your site with a code change.\n   *\n   *\n   * - This function can be used to invalidate your backend function caches and router caches. To invalidate Server Side Rendering (SSR) caches for your site, use the `invalidateCache()` function from the [`wix-site-backend`](https://dev.wix.com/docs/velo/api-reference/wix-site-backend/invalidate-cache) module.\n   *\n   * </blockquote>\n   * @param invalidationMethods - An array of objects containing a `tag` field used to identify the cache to invalidate. All cached return values with any listed tags are invalidated. If no tags are specified, nothing is invalidated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField invalidationMethods\n   * @permissionId SSR.INVALIDATE_CACHE\n   * @adminMethod\n   */\n  function invalidateCache(invalidationMethods: InvalidationMethods[], options?: InvalidateCacheOptions): Promise<void>;\n  interface InvalidateCacheOptions {\n      /**\n       * tell us why you're invalidating the cache. You don't need to add your app name\n       * @internal\n       */\n      reason?: string | null;\n      /**\n       * Is local DC\n       * @internal\n       */\n      localDc?: boolean;\n      /**\n       * Is set to hard purge\n       * @internal\n       */\n      hardPurge?: boolean;\n  }\n  \n  type ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheRequest = InvalidateCacheRequest;\n  type ssrV1InvalidateCacheRequest_universal_d_InvalidationMethods = InvalidationMethods;\n  type ssrV1InvalidateCacheRequest_universal_d_InvalidationMethodsInvalidateByOneOf = InvalidationMethodsInvalidateByOneOf;\n  type ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheResponse = InvalidateCacheResponse;\n  const ssrV1InvalidateCacheRequest_universal_d_invalidateCache: typeof invalidateCache;\n  type ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheOptions = InvalidateCacheOptions;\n  namespace ssrV1InvalidateCacheRequest_universal_d {\n    export {\n      ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheRequest as InvalidateCacheRequest,\n      ssrV1InvalidateCacheRequest_universal_d_InvalidationMethods as InvalidationMethods,\n      ssrV1InvalidateCacheRequest_universal_d_InvalidationMethodsInvalidateByOneOf as InvalidationMethodsInvalidateByOneOf,\n      ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheResponse as InvalidateCacheResponse,\n      ssrV1InvalidateCacheRequest_universal_d_invalidateCache as invalidateCache,\n      ssrV1InvalidateCacheRequest_universal_d_InvalidateCacheOptions as InvalidateCacheOptions,\n    };\n  }\n  \n  export { ssrV1InvalidateCacheRequest_universal_d as cache };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-analytics.d.ts",
      "content": "declare module \"wix-analytics\" {\n  /** Fetch session ids task. */\n  interface Task {\n      /** Id. */\n      _id?: string;\n  }\n  /** Filter sessions request. */\n  interface FilterSessionsRequest extends FilterSessionsRequestPeriodOneOf, FilterSessionsRequestParamsOneOf {\n      /** Custom period with start & end dates provided. */\n      customPeriod?: CustomPeriod;\n      /** Predefined period. */\n      predefinedPeriod?: PredefinedPeriod;\n      /** Navigation flow params. */\n      navigationFlow?: NavigationFlowSessionsParams;\n      /** Conversion funnel sessions params. */\n      conversionFunnel?: ConversionFunnelSessionsParams;\n      /** Sessions by device params. */\n      sessionsByDevice?: SessionsByDeviceParams;\n      /** Cache control policy. */\n      cacheControl?: CacheControlEnum;\n      /** User timezone. If not provided it will be taken from site profile. */\n      timezone?: string | null;\n  }\n  /** @oneof */\n  interface FilterSessionsRequestPeriodOneOf {\n      /** Custom period with start & end dates provided. */\n      customPeriod?: CustomPeriod;\n      /** Predefined period. */\n      predefinedPeriod?: PredefinedPeriod;\n  }\n  /** @oneof */\n  interface FilterSessionsRequestParamsOneOf {\n      /** Navigation flow params. */\n      navigationFlow?: NavigationFlowSessionsParams;\n      /** Conversion funnel sessions params. */\n      conversionFunnel?: ConversionFunnelSessionsParams;\n      /** Sessions by device params. */\n      sessionsByDevice?: SessionsByDeviceParams;\n  }\n  /** Cache control policy. */\n  enum CacheControlEnum {\n      /** Use cache by default. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Invalidate data from upstream and write it to cache. */\n      INVALIDATE = \"INVALIDATE\",\n      /** Bypass cache. */\n      BYPASS = \"BYPASS\"\n  }\n  /** Custom period. Doesn't have comparison period, so use with SELECTED_PERIOD. */\n  interface CustomPeriod {\n      /** Custom period start date in provided timezone. By default in UTC. */\n      start?: string;\n      /** Custom period end date in provided timezone. By default in UTC. */\n      end?: string;\n  }\n  /** Predefined period. Could be used with comparison period. */\n  interface PredefinedPeriod {\n      /** Predefined period type. */\n      period?: PredefinedPeriodEnum;\n  }\n  /** Query period. */\n  enum PredefinedPeriodEnum {\n      /** Today. */\n      TODAY = \"TODAY\",\n      /** Yesterday. */\n      YESTERDAY = \"YESTERDAY\",\n      /** Last 7 days. */\n      LAST_7_DAYS = \"LAST_7_DAYS\",\n      /** Lat 14 days. */\n      LAST_14_DAYS = \"LAST_14_DAYS\",\n      /** Last 30 days. */\n      LAST_30_DAYS = \"LAST_30_DAYS\",\n      /** Last 90 days. */\n      LAST_90_DAYS = \"LAST_90_DAYS\",\n      /** Last 28 days. */\n      LAST_28_DAYS = \"LAST_28_DAYS\",\n      /** Last 180 days. */\n      LAST_180_DAYS = \"LAST_180_DAYS\",\n      /** Last 365 days. */\n      LAST_365_DAYS = \"LAST_365_DAYS\",\n      /** Current week. Week start is Monday. */\n      THIS_WEEK = \"THIS_WEEK\",\n      /** Current month. */\n      THIS_MONTH = \"THIS_MONTH\",\n      /** Current quater. */\n      THIS_QUATER = \"THIS_QUATER\",\n      /** This year. */\n      THIS_YEAR = \"THIS_YEAR\",\n      /** Last week (previous week). */\n      LAST_WEEK = \"LAST_WEEK\",\n      /** Last month. */\n      LAST_MONTH = \"LAST_MONTH\",\n      /** Last quater. */\n      LAST_QUATER = \"LAST_QUATER\",\n      /** Last year. */\n      LAST_YEAR = \"LAST_YEAR\",\n      /** Last 7 days up until yesterday. */\n      LAST_7_DAYS_BEFORE_TODAY = \"LAST_7_DAYS_BEFORE_TODAY\",\n      /** Lat 14 days up until yesterday. */\n      LAST_14_DAYS_BEFORE_TODAY = \"LAST_14_DAYS_BEFORE_TODAY\",\n      /** Last 30 days up until yesterday. */\n      LAST_30_DAYS_BEFORE_TODAY = \"LAST_30_DAYS_BEFORE_TODAY\",\n      /** Last 90 days up until yesterday. */\n      LAST_90_DAYS_BEFORE_TODAY = \"LAST_90_DAYS_BEFORE_TODAY\",\n      /** Last 28 days up until yesterday. */\n      LAST_28_DAYS_BEFORE_TODAY = \"LAST_28_DAYS_BEFORE_TODAY\",\n      /** Last 180 days up until yesterday. */\n      LAST_180_DAYS_BEFORE_TODAY = \"LAST_180_DAYS_BEFORE_TODAY\",\n      /** Last 365 days up until yesterday. */\n      LAST_365_DAYS_BEFORE_TODAY = \"LAST_365_DAYS_BEFORE_TODAY\",\n      /** Last 12 months. */\n      LAST_12_MONTHS = \"LAST_12_MONTHS\"\n  }\n  /** Navigation flow sessions params. */\n  interface NavigationFlowSessionsParams {\n      /**\n       * Page interactions. E.g.\n       * [\"/{Homepage}\", \"__DROP__\"] - session ids for /{Homepage} -> dropped off\n       * [\"\", \"__DROP__\"] - session ids for (any page) -> dropped off\n       * [\"\", \"\", \"__DROP__\"] - session ids for (any page) -> (any page) -> dropped off\n       */\n      pageInteractions?: string[] | null;\n  }\n  /** Conversion funnel sessions params. */\n  interface ConversionFunnelSessionsParams {\n      /** Include funnel step. */\n      include?: FunnelStep;\n      /** Exclude funnel step. */\n      exclude?: FunnelStep;\n  }\n  /** Funnel step. */\n  enum FunnelStep {\n      /** Not selected. */\n      NOT_SELECTED_FUNNEL_STEP = \"NOT_SELECTED_FUNNEL_STEP\",\n      /** Site sessions. */\n      SITE_SESSIONS = \"SITE_SESSIONS\",\n      /** Viewed product. */\n      VIEWED_PRODUCT = \"VIEWED_PRODUCT\",\n      /** Added to cart. */\n      ADDED_TO_CART = \"ADDED_TO_CART\",\n      /** Reached checkout. */\n      REACHED_CHECKOUT = \"REACHED_CHECKOUT\",\n      /** Sessions converted. */\n      SESSIONS_CONVERTED = \"SESSIONS_CONVERTED\"\n  }\n  /** Sessions by device params. */\n  interface SessionsByDeviceParams {\n      /** Device type. */\n      type?: DeviceType;\n  }\n  /** Device type. */\n  enum DeviceType {\n      /** Not selected. */\n      NOT_SELECTED_DEVICE_TYPE = \"NOT_SELECTED_DEVICE_TYPE\",\n      /** Desktop. */\n      DESKTOP = \"DESKTOP\",\n      /** Mobile. */\n      MOBILE = \"MOBILE\",\n      /** Tablet. */\n      TABLET = \"TABLET\"\n  }\n  /** Fitler sessions response. */\n  interface FilterSessionsResponse {\n      /** Filter sessions task. */\n      task?: Task;\n  }\n  /** Get sessions request. */\n  interface GetSessionsRequest {\n      /** Filter sessions task id. */\n      filterTaskId?: string;\n      /** Limit. */\n      limit?: number;\n      /** Offset. */\n      offset?: number;\n  }\n  /** Get session response. */\n  interface GetSessionsResponse {\n      /** Fetch sessions task result. */\n      result?: TaskResult;\n  }\n  /** Fetch sessions task result. */\n  interface TaskResult {\n      /** Task status. */\n      status?: TaskStatus;\n      /** Total number of sessions. */\n      total?: number | null;\n      /** Sessions ids. */\n      sessionIds?: string[];\n  }\n  /** Task status. */\n  enum TaskStatus {\n      /** Unknown. */\n      UNKNOWN_TASK_STATUS = \"UNKNOWN_TASK_STATUS\",\n      /** In progress. */\n      IN_PROGRESS = \"IN_PROGRESS\",\n      /** Finished. */\n      FINISHED = \"FINISHED\",\n      /** Error. */\n      ERROR = \"ERROR\"\n  }\n  /** Request for getting store conversion sessions. */\n  interface CountFunnelSessionsRequest extends CountFunnelSessionsRequestPeriodOneOf {\n      /** Custom period with start & end dates provided. */\n      customPeriod?: CustomPeriod;\n      /** Predefined period. */\n      predefinedPeriod?: PredefinedPeriod;\n      /** User timezone. If not provided it will be taken from site profile. */\n      timezone?: string | null;\n  }\n  /** @oneof */\n  interface CountFunnelSessionsRequestPeriodOneOf {\n      /** Custom period with start & end dates provided. */\n      customPeriod?: CustomPeriod;\n      /** Predefined period. */\n      predefinedPeriod?: PredefinedPeriod;\n  }\n  /** Response for getting store conversion sessions. */\n  interface CountFunnelSessionsResponse {\n      recordings?: Recordings;\n  }\n  interface Recordings {\n      /** Saved Session count. */\n      siteSessions?: number | null;\n      /** Saved Sessions with Product Views */\n      productViewSessions?: number | null;\n      /** Saved Sessions with Cart Views */\n      cartViewSessions?: number | null;\n      /** Saved Sessions with Checkouts */\n      checkoutSessions?: number | null;\n      /** Saved Converted Sessions */\n      convertedSessions?: number | null;\n  }\n  /** Mark a browser session as recorded. */\n  interface MarkSessionRecordedRequest {\n      /** Browser session id. */\n      sessionId?: string;\n  }\n  /** Mark a browser session as recorded. */\n  interface MarkSessionRecordedResponse {\n  }\n  /**\n   * Fitler sessions.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   * @returns Fitler sessions response.\n   */\n  function filterSessions(options?: FilterSessionsOptions): Promise<FilterSessionsResponse>;\n  interface FilterSessionsOptions extends FilterSessionsRequestPeriodOneOf, FilterSessionsRequestParamsOneOf {\n      /** Cache control policy. */\n      cacheControl?: CacheControlEnum;\n      /** Custom period with start & end dates provided. */\n      customPeriod?: CustomPeriod;\n      /** Predefined period. */\n      predefinedPeriod?: PredefinedPeriod;\n      /** User timezone. If not provided it will be taken from site profile. */\n      timezone?: string | null;\n      /** Navigation flow params. */\n      navigationFlow?: NavigationFlowSessionsParams;\n      /** Conversion funnel sessions params. */\n      conversionFunnel?: ConversionFunnelSessionsParams;\n      /** Sessions by device params. */\n      sessionsByDevice?: SessionsByDeviceParams;\n  }\n  /**\n   * Get sessions.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   * @returns Get session response.\n   */\n  function getSessions(options?: GetSessionsOptions): Promise<GetSessionsResponse>;\n  interface GetSessionsOptions {\n      /** Filter sessions task id. */\n      filterTaskId?: string;\n      /** Limit. */\n      limit?: number;\n      /** Offset. */\n      offset?: number;\n  }\n  /**\n   * Get the number of session recordings for store conversion funnel step.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   * @returns Response for getting store conversion sessions.\n   */\n  function countFunnelSessions(options?: CountFunnelSessionsOptions): Promise<CountFunnelSessionsResponse>;\n  interface CountFunnelSessionsOptions extends CountFunnelSessionsRequestPeriodOneOf {\n      /** Custom period with start & end dates provided. */\n      customPeriod?: CustomPeriod;\n      /** Predefined period. */\n      predefinedPeriod?: PredefinedPeriod;\n      /** User timezone. If not provided it will be taken from site profile. */\n      timezone?: string | null;\n  }\n  /**\n   * Mark a browser session as recorded.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   * @returns Mark a browser session as recorded.\n   */\n  function markSessionRecorded(options?: MarkSessionRecordedOptions): Promise<void>;\n  interface MarkSessionRecordedOptions {\n      /** Browser session id. */\n      sessionId?: string;\n  }\n  \n  type analyticsNgSessionIdsV1Task_universal_d_Task = Task;\n  type analyticsNgSessionIdsV1Task_universal_d_FilterSessionsRequest = FilterSessionsRequest;\n  type analyticsNgSessionIdsV1Task_universal_d_FilterSessionsRequestPeriodOneOf = FilterSessionsRequestPeriodOneOf;\n  type analyticsNgSessionIdsV1Task_universal_d_FilterSessionsRequestParamsOneOf = FilterSessionsRequestParamsOneOf;\n  type analyticsNgSessionIdsV1Task_universal_d_CacheControlEnum = CacheControlEnum;\n  const analyticsNgSessionIdsV1Task_universal_d_CacheControlEnum: typeof CacheControlEnum;\n  type analyticsNgSessionIdsV1Task_universal_d_CustomPeriod = CustomPeriod;\n  type analyticsNgSessionIdsV1Task_universal_d_PredefinedPeriod = PredefinedPeriod;\n  type analyticsNgSessionIdsV1Task_universal_d_PredefinedPeriodEnum = PredefinedPeriodEnum;\n  const analyticsNgSessionIdsV1Task_universal_d_PredefinedPeriodEnum: typeof PredefinedPeriodEnum;\n  type analyticsNgSessionIdsV1Task_universal_d_NavigationFlowSessionsParams = NavigationFlowSessionsParams;\n  type analyticsNgSessionIdsV1Task_universal_d_ConversionFunnelSessionsParams = ConversionFunnelSessionsParams;\n  type analyticsNgSessionIdsV1Task_universal_d_FunnelStep = FunnelStep;\n  const analyticsNgSessionIdsV1Task_universal_d_FunnelStep: typeof FunnelStep;\n  type analyticsNgSessionIdsV1Task_universal_d_SessionsByDeviceParams = SessionsByDeviceParams;\n  type analyticsNgSessionIdsV1Task_universal_d_DeviceType = DeviceType;\n  const analyticsNgSessionIdsV1Task_universal_d_DeviceType: typeof DeviceType;\n  type analyticsNgSessionIdsV1Task_universal_d_FilterSessionsResponse = FilterSessionsResponse;\n  type analyticsNgSessionIdsV1Task_universal_d_GetSessionsRequest = GetSessionsRequest;\n  type analyticsNgSessionIdsV1Task_universal_d_GetSessionsResponse = GetSessionsResponse;\n  type analyticsNgSessionIdsV1Task_universal_d_TaskResult = TaskResult;\n  type analyticsNgSessionIdsV1Task_universal_d_TaskStatus = TaskStatus;\n  const analyticsNgSessionIdsV1Task_universal_d_TaskStatus: typeof TaskStatus;\n  type analyticsNgSessionIdsV1Task_universal_d_CountFunnelSessionsRequest = CountFunnelSessionsRequest;\n  type analyticsNgSessionIdsV1Task_universal_d_CountFunnelSessionsRequestPeriodOneOf = CountFunnelSessionsRequestPeriodOneOf;\n  type analyticsNgSessionIdsV1Task_universal_d_CountFunnelSessionsResponse = CountFunnelSessionsResponse;\n  type analyticsNgSessionIdsV1Task_universal_d_Recordings = Recordings;\n  type analyticsNgSessionIdsV1Task_universal_d_MarkSessionRecordedRequest = MarkSessionRecordedRequest;\n  type analyticsNgSessionIdsV1Task_universal_d_MarkSessionRecordedResponse = MarkSessionRecordedResponse;\n  const analyticsNgSessionIdsV1Task_universal_d_filterSessions: typeof filterSessions;\n  type analyticsNgSessionIdsV1Task_universal_d_FilterSessionsOptions = FilterSessionsOptions;\n  const analyticsNgSessionIdsV1Task_universal_d_getSessions: typeof getSessions;\n  type analyticsNgSessionIdsV1Task_universal_d_GetSessionsOptions = GetSessionsOptions;\n  const analyticsNgSessionIdsV1Task_universal_d_countFunnelSessions: typeof countFunnelSessions;\n  type analyticsNgSessionIdsV1Task_universal_d_CountFunnelSessionsOptions = CountFunnelSessionsOptions;\n  const analyticsNgSessionIdsV1Task_universal_d_markSessionRecorded: typeof markSessionRecorded;\n  type analyticsNgSessionIdsV1Task_universal_d_MarkSessionRecordedOptions = MarkSessionRecordedOptions;\n  namespace analyticsNgSessionIdsV1Task_universal_d {\n    export {\n      analyticsNgSessionIdsV1Task_universal_d_Task as Task,\n      analyticsNgSessionIdsV1Task_universal_d_FilterSessionsRequest as FilterSessionsRequest,\n      analyticsNgSessionIdsV1Task_universal_d_FilterSessionsRequestPeriodOneOf as FilterSessionsRequestPeriodOneOf,\n      analyticsNgSessionIdsV1Task_universal_d_FilterSessionsRequestParamsOneOf as FilterSessionsRequestParamsOneOf,\n      analyticsNgSessionIdsV1Task_universal_d_CacheControlEnum as CacheControlEnum,\n      analyticsNgSessionIdsV1Task_universal_d_CustomPeriod as CustomPeriod,\n      analyticsNgSessionIdsV1Task_universal_d_PredefinedPeriod as PredefinedPeriod,\n      analyticsNgSessionIdsV1Task_universal_d_PredefinedPeriodEnum as PredefinedPeriodEnum,\n      analyticsNgSessionIdsV1Task_universal_d_NavigationFlowSessionsParams as NavigationFlowSessionsParams,\n      analyticsNgSessionIdsV1Task_universal_d_ConversionFunnelSessionsParams as ConversionFunnelSessionsParams,\n      analyticsNgSessionIdsV1Task_universal_d_FunnelStep as FunnelStep,\n      analyticsNgSessionIdsV1Task_universal_d_SessionsByDeviceParams as SessionsByDeviceParams,\n      analyticsNgSessionIdsV1Task_universal_d_DeviceType as DeviceType,\n      analyticsNgSessionIdsV1Task_universal_d_FilterSessionsResponse as FilterSessionsResponse,\n      analyticsNgSessionIdsV1Task_universal_d_GetSessionsRequest as GetSessionsRequest,\n      analyticsNgSessionIdsV1Task_universal_d_GetSessionsResponse as GetSessionsResponse,\n      analyticsNgSessionIdsV1Task_universal_d_TaskResult as TaskResult,\n      analyticsNgSessionIdsV1Task_universal_d_TaskStatus as TaskStatus,\n      analyticsNgSessionIdsV1Task_universal_d_CountFunnelSessionsRequest as CountFunnelSessionsRequest,\n      analyticsNgSessionIdsV1Task_universal_d_CountFunnelSessionsRequestPeriodOneOf as CountFunnelSessionsRequestPeriodOneOf,\n      analyticsNgSessionIdsV1Task_universal_d_CountFunnelSessionsResponse as CountFunnelSessionsResponse,\n      analyticsNgSessionIdsV1Task_universal_d_Recordings as Recordings,\n      analyticsNgSessionIdsV1Task_universal_d_MarkSessionRecordedRequest as MarkSessionRecordedRequest,\n      analyticsNgSessionIdsV1Task_universal_d_MarkSessionRecordedResponse as MarkSessionRecordedResponse,\n      analyticsNgSessionIdsV1Task_universal_d_filterSessions as filterSessions,\n      analyticsNgSessionIdsV1Task_universal_d_FilterSessionsOptions as FilterSessionsOptions,\n      analyticsNgSessionIdsV1Task_universal_d_getSessions as getSessions,\n      analyticsNgSessionIdsV1Task_universal_d_GetSessionsOptions as GetSessionsOptions,\n      analyticsNgSessionIdsV1Task_universal_d_countFunnelSessions as countFunnelSessions,\n      analyticsNgSessionIdsV1Task_universal_d_CountFunnelSessionsOptions as CountFunnelSessionsOptions,\n      analyticsNgSessionIdsV1Task_universal_d_markSessionRecorded as markSessionRecorded,\n      analyticsNgSessionIdsV1Task_universal_d_MarkSessionRecordedOptions as MarkSessionRecordedOptions,\n    };\n  }\n  \n  export { analyticsNgSessionIdsV1Task_universal_d as sessionIds };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-seatings-backend.d.ts",
      "content": "declare module \"wix-seatings-backend\" {\n  interface SeatingPlan$1 {\n      /**\n       * Auto generated unique plan id\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * A client defined external id for cross referencing.\n       * Can reference external entities.\n       * Format: \"{fqdn}:{entity guid}\"\n       */\n      externalId?: string | null;\n      /** Human friendly plan title */\n      title?: string | null;\n      /** Sections of the plan. Seating plan is divided in high level sections. */\n      sections?: Section$1[];\n      /** Categories for plan element grouping. */\n      categories?: Category$1[];\n      /**\n       * Seating plan created timestamp.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Seating plan updated timestamp.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Total capacity\n       * @readonly\n       */\n      totalCapacity?: number | null;\n      /**\n       * Total categories\n       * @readonly\n       */\n      totalCategories?: number | null;\n      /**\n       * Places not assigned to categories\n       * @readonly\n       */\n      uncategorizedPlaces?: Place$1[];\n      /**\n       * A version of the seating plan\n       * @readonly\n       */\n      version?: string | null;\n      /** Data extensions */\n      extendedFields?: ExtendedFields$1;\n      /** Seating Plan UI settings */\n      uiProperties?: SeatingPlanUiProperties$1;\n      /** Element groups */\n      elementGroups?: ElementGroup$1[];\n  }\n  interface Section$1 {\n      /** Unique section id */\n      _id?: number;\n      /** Human readable section title */\n      title?: string | null;\n      /**\n       * Client configuration object\n       * @readonly\n       */\n      config?: Record<string, any> | null;\n      /** Elements of the section. */\n      elements?: Element$1[];\n      /**\n       * Total capacity\n       * @readonly\n       */\n      totalCapacity?: number | null;\n      /**\n       * Is default section\n       * @readonly\n       */\n      default?: boolean;\n  }\n  interface Element$1 {\n      /** Unique element id */\n      _id?: number;\n      /** User friendly title/label of the element. */\n      title?: string | null;\n      /** Element type */\n      type?: Type$1;\n      /** Capacity. None for Shape type Element. */\n      capacity?: number | null;\n      /** Assigned to a category */\n      categoryId?: number | null;\n      /** A place numbering meta data */\n      sequencing?: Sequencing$1;\n      /** Place override (by seq_id) */\n      overrides?: Place$1[];\n      /**\n       * Final place sequence with overrides\n       * @readonly\n       */\n      places?: Place$1[];\n      /** Element reservation options */\n      reservationOptions?: ReservationOptions$1;\n      /** Element UI settings */\n      uiProperties?: ElementUiProperties$1;\n      /** Element group id */\n      elementGroupId?: number | null;\n      /** Multi row element relevant for MULTI_ROW element type */\n      multiRowProperties?: MultiRowProperties$1;\n  }\n  enum Type$1 {\n      AREA = \"AREA\",\n      ROW = \"ROW\",\n      MULTI_ROW = \"MULTI_ROW\",\n      TABLE = \"TABLE\",\n      ROUND_TABLE = \"ROUND_TABLE\",\n      SHAPE = \"SHAPE\"\n  }\n  interface Sequencing$1 {\n      /** First seq element */\n      startAt?: string;\n      /** Finite generated seq of labels */\n      labels?: string[];\n      /** If true - direction right to left. Otherwise left to right. */\n      reverseOrder?: boolean | null;\n  }\n  interface Place$1 {\n      /** Local id of the place in the sequence */\n      index?: number;\n      /**\n       * Generated composite unique id in the seating plan.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Unique label of the place */\n      label?: string;\n      /**\n       * Max capacity per place\n       * @readonly\n       */\n      capacity?: number | null;\n      /**\n       * Type of the parent element\n       * @readonly\n       */\n      elementType?: Type$1;\n      /**\n       * Assigned category id\n       * @readonly\n       */\n      categoryId?: number | null;\n      /** Place type */\n      type?: PlaceTypeEnumType$1;\n  }\n  enum PlaceTypeEnumType$1 {\n      UNKNOWN_PROPERTY = \"UNKNOWN_PROPERTY\",\n      STANDARD = \"STANDARD\",\n      WHEELCHAIR = \"WHEELCHAIR\",\n      ACCESSIBLE = \"ACCESSIBLE\",\n      COMPANION = \"COMPANION\",\n      OBSTRUCTED = \"OBSTRUCTED\",\n      DISCOUNT = \"DISCOUNT\"\n  }\n  interface ReservationOptions$1 {\n      /** Indicates whether the entire element must be reserved */\n      reserveWholeElement?: boolean;\n  }\n  interface ElementUiProperties$1 {\n      x?: number | null;\n      y?: number | null;\n      zIndex?: number | null;\n      width?: number | null;\n      height?: number | null;\n      rotationAngle?: number | null;\n      shapeType?: ShapeTypeEnumType$1;\n      fontSize?: number | null;\n      cornerRadius?: number | null;\n      seatSpacing?: number | null;\n      hideLabel?: boolean | null;\n      labelPosition?: Position$1;\n      seatLayout?: number[];\n      emptyTopSeatSpaces?: number | null;\n      /** needs research */\n      text?: string | null;\n      /** #F0F0F0 */\n      color?: string | null;\n      /** #F0F0F0 */\n      fillColor?: string | null;\n      /** #F0F0F0 */\n      strokeColor?: string | null;\n      /** px */\n      strokeWidth?: number | null;\n      opacity?: number | null;\n      icon?: Icon$1;\n      image?: Image$1;\n      seatNumbering?: Numbering$1;\n  }\n  enum ShapeTypeEnumType$1 {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      TEXT = \"TEXT\",\n      RECTANGLE = \"RECTANGLE\",\n      ELLIPSE = \"ELLIPSE\",\n      LINE = \"LINE\",\n      ICON = \"ICON\",\n      IMAGE = \"IMAGE\"\n  }\n  enum Position$1 {\n      UNKNOWN_POSITION = \"UNKNOWN_POSITION\",\n      LEFT = \"LEFT\",\n      RIGHT = \"RIGHT\",\n      BOTH = \"BOTH\",\n      NONE = \"NONE\"\n  }\n  enum Icon$1 {\n      UNKNOWN_ICON = \"UNKNOWN_ICON\",\n      ENTER = \"ENTER\",\n      EXIT = \"EXIT\",\n      DRINKS = \"DRINKS\",\n      WC = \"WC\",\n      WC_MEN = \"WC_MEN\",\n      WC_WOMEN = \"WC_WOMEN\",\n      FOOD = \"FOOD\",\n      STAIRS = \"STAIRS\",\n      ELEVATOR = \"ELEVATOR\",\n      SMOKING = \"SMOKING\",\n      CHECKROOM = \"CHECKROOM\",\n      STAGE = \"STAGE\"\n  }\n  interface Image$1 {\n      /** WixMedia image ID. */\n      _id?: string;\n      /**\n       * Original image height.\n       * @readonly\n       */\n      height?: number;\n      /**\n       * Original image width.\n       * @readonly\n       */\n      width?: number;\n      /**\n       * WixMedia image URI.\n       * @deprecated\n       */\n      uri?: string | null;\n  }\n  enum Numbering$1 {\n      UNKNOWN_NUMBERING = \"UNKNOWN_NUMBERING\",\n      NUMERIC = \"NUMERIC\",\n      ODD_EVEN = \"ODD_EVEN\",\n      ALPHABETICAL = \"ALPHABETICAL\"\n  }\n  interface MultiRowProperties$1 {\n      /** Individual rows of the multi row element */\n      rows?: RowElement$1[];\n      /** Meta data for vertical labeling */\n      verticalSequencing?: VerticalSequencing$1;\n      /** Row spacing */\n      rowSpacing?: number | null;\n      /**\n       * Curve angle in degrees\n       * @internal\n       */\n      curveAngle?: number | null;\n      /**\n       * Curve radius\n       * @internal\n       */\n      curveRadius?: number | null;\n      /**\n       * Should radius be forced\n       * @internal\n       */\n      forceRadius?: boolean | null;\n  }\n  interface RowElement$1 {\n      /** Unique row id */\n      _id?: number;\n      /** User friendly title/label of the row */\n      title?: string | null;\n      /** Row capacity */\n      capacity?: number | null;\n      /** Assigned to a category */\n      categoryId?: number | null;\n      /** A place numbering meta data for a single row */\n      sequencing?: Sequencing$1;\n      /** Row UI settings */\n      uiProperties?: RowElementUiProperties$1;\n  }\n  interface RowElementUiProperties$1 {\n      /** Relative x position to the parent element */\n      relativeX?: number | null;\n      /** Width of the row */\n      width?: number | null;\n      /** Seat spacing */\n      seatSpacing?: number | null;\n      /** Label position */\n      labelPosition?: Position$1;\n      /** Seat numbering */\n      seatNumbering?: Numbering$1;\n  }\n  interface VerticalSequencing$1 {\n      /** First seq element */\n      startAt?: string;\n      /** Row numbering */\n      rowNumbering?: Numbering$1;\n      /** If true - direction bottom to top. Otherwise top to bottom. */\n      reverseOrder?: boolean | null;\n  }\n  interface Category$1 {\n      /** Local category id within the seating plan */\n      _id?: number;\n      /**\n       * A client defined external id for cross referencing.\n       * Can reference external entities.\n       * Format: \"{entity_fqdn}:{entity_id}\"\n       */\n      externalId?: string | null;\n      /** Category label */\n      title?: string;\n      /**\n       * Client configuration object\n       * @readonly\n       */\n      config?: Record<string, any> | null;\n      /**\n       * Total capacity\n       * @readonly\n       */\n      totalCapacity?: number | null;\n      /**\n       * Possible places\n       * @readonly\n       */\n      places?: Place$1[];\n  }\n  interface ExtendedFields$1 {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface SeatingPlanUiProperties$1 {\n      /** #F0F0F0 */\n      backgroundColor?: string | null;\n      backgroundOpacity?: number | null;\n  }\n  interface ElementGroup$1 {\n      /** Unique element group id */\n      _id?: number;\n      /** Parent group id */\n      parentElementGroupId?: number | null;\n      /** Element group UI settings */\n      uiProperties?: ElementGroupUiProperties$1;\n  }\n  interface ElementGroupUiProperties$1 {\n      /** x position of the group */\n      x?: number | null;\n      /** y position of the group */\n      y?: number | null;\n      /** width of the group */\n      width?: number | null;\n      /** height of the group */\n      height?: number | null;\n      /** rotation angle of the group */\n      rotationAngle?: number | null;\n  }\n  interface CreateSeatingPlanRequest {\n      /** A plan to be created */\n      plan: SeatingPlan$1;\n      /**\n       * Mutates config field\n       * @internal\n       */\n      updateConfig?: boolean | null;\n  }\n  interface CreateSeatingPlanResponse {\n      /** The created plan */\n      plan?: SeatingPlan$1;\n  }\n  interface CapacityExceededViolation {\n      /** Max allowed capacity */\n      maxCapacity?: number;\n      /** Invalid capacity */\n      capacity?: number;\n      /** The element id */\n      elementId?: number | null;\n  }\n  interface UpdateSeatingPlanRequest {\n      /** The plan updates */\n      plan?: SeatingPlan$1;\n      /**\n       * A set of field paths, specifying which parts of seating plan to update\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Mutates config field\n       * @internal\n       */\n      updateConfig?: boolean | null;\n  }\n  interface UpdateSeatingPlanResponse {\n      /** The updated plan */\n      plan?: SeatingPlan$1;\n  }\n  interface CopySeatingPlanRequest {\n      /** The id of the plan to be copied */\n      _id: string | null;\n      /** New plan title */\n      title: string | null;\n      /** Format: \"{fqdn}:{entity guid}\" */\n      externalId: string | null;\n  }\n  interface CopySeatingPlanResponse {\n      /** The copied plan */\n      plan?: SeatingPlan$1;\n  }\n  interface QuerySeatingPlanRequest {\n      /**\n       * Generic query object\n       * Possible fieldsets: \"elements\", \"categories\", \"places\", \"config\".\n       */\n      query: QueryV2$1;\n      /** A fieldset for the response */\n      fieldset?: Fieldset[];\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf$1 {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  enum Fieldset {\n      ELEMENTS = \"ELEMENTS\",\n      CATEGORIES = \"CATEGORIES\",\n      PLACES = \"PLACES\",\n      CONFIG = \"CONFIG\",\n      ELEMENT_GROUPS = \"ELEMENT_GROUPS\"\n  }\n  interface QuerySeatingPlanResponse {\n      /** Plan results */\n      plans?: SeatingPlan$1[];\n  }\n  interface GetSeatingPlanRequest {\n      /** The id of the plan */\n      _id: string | null;\n      /**\n       * A fieldset for the response\n       * @deprecated\n       */\n      fieldset?: Fieldset[];\n      /**\n       * Projection on the result object - list of named projections.\n       * Possible values: \"elements\", \"categories\", \"places\", \"config\".\n       */\n      fieldsets?: string[];\n      /** Seating Plan Mask */\n      seatingPlanMask?: SeatingPlanMask;\n  }\n  interface SeatingPlanMask {\n      /** Filter seating plan by place ids */\n      placeId?: string[];\n  }\n  interface GetSeatingPlanResponse {\n      /** The plan */\n      plan?: SeatingPlan$1;\n  }\n  interface FindSeatingPlanRequest {\n      /** The filter of the plan */\n      filter: Record<string, any> | null;\n      /**\n       * A fieldset for the response\n       * @deprecated\n       */\n      fieldset?: Fieldset[];\n      /**\n       * Projection on the result object - list of named projections.\n       * Possible values: \"elements\", \"categories\", \"places\", \"config\".\n       */\n      fieldsets?: string[];\n      /** Seating Plan Mask */\n      seatingPlanMask?: SeatingPlanMask;\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  interface FindSeatingPlanResponse {\n      /** The plan */\n      plan?: SeatingPlan$1;\n  }\n  interface DeleteSeatingPlanRequest {\n      /** The id of the plan */\n      _id: string | null;\n  }\n  interface DeleteSeatingPlanResponse {\n      /** Deleted plan */\n      plan?: SeatingPlan$1;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface UpdateSeatingPlanThumbnailRequest {\n      thumbnail: SeatingPlanThumbnail;\n  }\n  interface SeatingPlanThumbnail {\n      /** @readonly */\n      _id?: string | null;\n      img?: string | null;\n  }\n  interface UpdateSeatingPlanThumbnailResponse {\n      thumbnail?: SeatingPlanThumbnail;\n  }\n  interface GetSeatingPlanThumbnailRequest {\n      /** @readonly */\n      _id: string | null;\n  }\n  interface GetSeatingPlanThumbnailResponse {\n      thumbnail?: SeatingPlanThumbnail;\n  }\n  interface SaveSeatingPlanVersionRequest {\n      /** A plan version to be saved */\n      plan: SeatingPlan$1;\n      /**\n       * Parent version of the plan.\n       * Use this field to override history of plan versions.\n       * The next version of the plan will still be latest version +1,\n       * but intermediate versions will be removed. Example:\n       * Existing versions [1, 2, 3, 4, 5].\n       * Save request with parent_version 2 will yield versions [1, 2, 6].\n       */\n      parentVersion?: string | null;\n  }\n  interface SaveSeatingPlanVersionResponse {\n      /** Updated plan version */\n      plan?: SeatingPlan$1;\n  }\n  interface QuerySeatingPlanVersionsRequest {\n      /**\n       * Generic query object\n       * Possible fieldsets: \"elements\", \"categories\", \"places\", \"config\".\n       */\n      query: QueryV2$1;\n  }\n  interface QuerySeatingPlanVersionsResponse {\n      /** Plan results */\n      plans?: SeatingPlan$1[];\n      /** Paging meta data */\n      metadata?: PagingMetadataV2$1;\n  }\n  interface PagingMetadataV2$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DiscardSeatingPlanVersionsRequest {\n      /** Seating Plan ID */\n      seatingPlanId: string | null;\n      /** Version from which all higher versions will be discarded. */\n      version: string | null;\n  }\n  interface DiscardSeatingPlanVersionsResponse {\n  }\n  interface RestoreSeatingPlanRequest {\n      /** Seating Plan ID */\n      seatingPlanId: string | null;\n      /** Version to witch the seating plan should be restored. */\n      version: string | null;\n  }\n  interface RestoreSeatingPlanResponse {\n      /** Seating Plan */\n      plan?: SeatingPlan$1;\n  }\n  /**\n   * Crates a seating plan\n   * @param plan - A plan to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField plan\n   * @requiredField plan.sections.elements.title\n   * @requiredField plan.title\n   * @permissionId SEATING_PLANS.MANAGE_SEATING_PLANS\n   * @adminMethod\n   * @returns The created plan\n   */\n  function createSeatingPlan(plan: SeatingPlan$1, options?: CreateSeatingPlanOptions): Promise<SeatingPlan$1>;\n  interface CreateSeatingPlanOptions {\n      /**\n       * Mutates config field\n       * @internal\n       */\n      updateConfig?: boolean | null;\n  }\n  /**\n   * Updates the seating plan\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.plan._id\n   * @requiredField options.plan.sections.elements.title\n   * @permissionId SEATING_PLANS.MANAGE_SEATING_PLANS\n   * @adminMethod\n   * @returns The updated plan\n   */\n  function updateSeatingPlan(options?: UpdateSeatingPlanOptions): Promise<SeatingPlan$1>;\n  interface UpdateSeatingPlanOptions {\n      /** The plan updates */\n      plan?: SeatingPlan$1;\n      /**\n       * A set of field paths, specifying which parts of seating plan to update\n       * @internal\n       */\n      fields?: string[];\n      /**\n       * Mutates config field\n       * @internal\n       */\n      updateConfig?: boolean | null;\n  }\n  /**\n   * Copies the seating plan\n   * @param _id - The id of the plan to be copied\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options\n   * @requiredField options.externalId\n   * @requiredField options.title\n   * @permissionId SEATING_PLANS.MANAGE_SEATING_PLANS\n   * @adminMethod\n   */\n  function copySeatingPlan(_id: string | null, options: CopySeatingPlanOptions): Promise<CopySeatingPlanResponse>;\n  interface CopySeatingPlanOptions {\n      /** New plan title */\n      title: string | null;\n      /** Format: \"{fqdn}:{entity guid}\" */\n      externalId: string | null;\n  }\n  /**\n   * Lists seating plans by provided query request\n   * @public\n   * @documentationMaturity preview\n   * @permissionId SEATING_PLANS.READ_SEATING_PLANS\n   */\n  function querySeatingPlan(options?: QuerySeatingPlanOptions): PlansQueryBuilder;\n  interface QuerySeatingPlanOptions {\n      /** A fieldset for the response */\n      fieldset?: Fieldset[] | undefined;\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null | undefined;\n  }\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface PlansQueryResult extends QueryCursorResult$1 {\n      items: SeatingPlan$1[];\n      query: PlansQueryBuilder;\n      next: () => Promise<PlansQueryResult>;\n      prev: () => Promise<PlansQueryResult>;\n  }\n  interface PlansQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => PlansQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => PlansQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<PlansQueryResult>;\n  }\n  /**\n   * Returns the seating plan. Fails of not fond.\n   * @param _id - The id of the plan\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId SEATING_PLANS.READ_SEATING_PLANS\n   * @returns The plan\n   */\n  function getSeatingPlan(_id: string | null, options?: GetSeatingPlanOptions): Promise<SeatingPlan$1>;\n  interface GetSeatingPlanOptions {\n      /**\n       * A fieldset for the response\n       * @deprecated\n       */\n      fieldset?: Fieldset[];\n      /**\n       * Projection on the result object - list of named projections.\n       * Possible values: \"elements\", \"categories\", \"places\", \"config\".\n       */\n      fieldsets?: string[];\n      /** Seating Plan Mask */\n      seatingPlanMask?: SeatingPlanMask;\n  }\n  /**\n   * Returns the first seating plan found by filter request.\n   * @param filter - The filter of the plan\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId SEATING_PLANS.READ_SEATING_PLANS\n   */\n  function findSeatingPlan(filter: Record<string, any> | null, options?: FindSeatingPlanOptions): Promise<FindSeatingPlanResponse>;\n  interface FindSeatingPlanOptions {\n      /**\n       * A fieldset for the response\n       * @deprecated\n       */\n      fieldset?: Fieldset[];\n      /**\n       * Projection on the result object - list of named projections.\n       * Possible values: \"elements\", \"categories\", \"places\", \"config\".\n       */\n      fieldsets?: string[];\n      /** Seating Plan Mask */\n      seatingPlanMask?: SeatingPlanMask;\n      /**\n       * Consistent read.\n       * @internal\n       */\n      consistentRead?: boolean | null;\n  }\n  /**\n   * Deletes the seating plan.\n   * @param _id - The id of the plan\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId SEATING_PLANS.MANAGE_SEATING_PLANS\n   * @adminMethod\n   */\n  function deleteSeatingPlan(_id: string | null): Promise<DeleteSeatingPlanResponse>;\n  /**\n   * Updates seating plan thumbnail.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField thumbnail\n   * @requiredField thumbnail._id\n   * @requiredField thumbnail.img\n   * @permissionId SEATING_PLANS.MANAGE_SEATING_PLANS\n   * @adminMethod\n   */\n  function updateSeatingPlanThumbnail(thumbnail: SeatingPlanThumbnail): Promise<UpdateSeatingPlanThumbnailResponse>;\n  /**\n   * Get seating plan thumbnail.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId SEATING_PLANS.MANAGE_SEATING_PLANS\n   * @adminMethod\n   */\n  function getSeatingPlanThumbnail(_id: string | null): Promise<GetSeatingPlanThumbnailResponse>;\n  /**\n   * Saves seating plan version\n   * Increments SeatingPlan.version by 1 on every save.\n   * @param plan - A plan version to be saved\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField plan\n   * @requiredField plan.sections.elements.title\n   * @requiredField plan.sections.title\n   * @requiredField plan.title\n   * @permissionId SEATING_PLANS.MANAGE_SEATING_PLANS\n   * @adminMethod\n   */\n  function saveSeatingPlanVersion(plan: SeatingPlan$1, options?: SaveSeatingPlanVersionOptions): Promise<SaveSeatingPlanVersionResponse>;\n  interface SaveSeatingPlanVersionOptions {\n      /**\n       * Parent version of the plan.\n       * Use this field to override history of plan versions.\n       * The next version of the plan will still be latest version +1,\n       * but intermediate versions will be removed. Example:\n       * Existing versions [1, 2, 3, 4, 5].\n       * Save request with parent_version 2 will yield versions [1, 2, 6].\n       */\n      parentVersion?: string | null;\n  }\n  /**\n   * Lists seating plan versions by provided query request\n   * @param query - Generic query object\n   * Possible fieldsets: \"elements\", \"categories\", \"places\", \"config\".\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId SEATING_PLANS.READ_SEATING_PLANS\n   */\n  function querySeatingPlanVersions(query: QueryV2$1): Promise<QuerySeatingPlanVersionsResponse>;\n  /**\n   * Discard higher versions than provided one\n   * @param seatingPlanId - Seating Plan ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.version\n   * @requiredField seatingPlanId\n   * @permissionId SEATING_PLANS.MANAGE_SEATING_PLANS\n   * @adminMethod\n   */\n  function discardSeatingPlanVersions(seatingPlanId: string | null, options: DiscardSeatingPlanVersionsOptions): Promise<void>;\n  interface DiscardSeatingPlanVersionsOptions {\n      /** Version from which all higher versions will be discarded. */\n      version: string | null;\n  }\n  /**\n   * Restores seating plan to given version\n   * @param seatingPlanId - Seating Plan ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.version\n   * @requiredField seatingPlanId\n   * @permissionId SEATING_PLANS.MANAGE_SEATING_PLANS\n   * @adminMethod\n   */\n  function restoreSeatingPlan(seatingPlanId: string | null, options: RestoreSeatingPlanOptions): Promise<RestoreSeatingPlanResponse>;\n  interface RestoreSeatingPlanOptions {\n      /** Version to witch the seating plan should be restored. */\n      version: string | null;\n  }\n  \n  type seatingV1SeatingPlan_universal_d_CreateSeatingPlanRequest = CreateSeatingPlanRequest;\n  type seatingV1SeatingPlan_universal_d_CreateSeatingPlanResponse = CreateSeatingPlanResponse;\n  type seatingV1SeatingPlan_universal_d_CapacityExceededViolation = CapacityExceededViolation;\n  type seatingV1SeatingPlan_universal_d_UpdateSeatingPlanRequest = UpdateSeatingPlanRequest;\n  type seatingV1SeatingPlan_universal_d_UpdateSeatingPlanResponse = UpdateSeatingPlanResponse;\n  type seatingV1SeatingPlan_universal_d_CopySeatingPlanRequest = CopySeatingPlanRequest;\n  type seatingV1SeatingPlan_universal_d_CopySeatingPlanResponse = CopySeatingPlanResponse;\n  type seatingV1SeatingPlan_universal_d_QuerySeatingPlanRequest = QuerySeatingPlanRequest;\n  type seatingV1SeatingPlan_universal_d_Fieldset = Fieldset;\n  const seatingV1SeatingPlan_universal_d_Fieldset: typeof Fieldset;\n  type seatingV1SeatingPlan_universal_d_QuerySeatingPlanResponse = QuerySeatingPlanResponse;\n  type seatingV1SeatingPlan_universal_d_GetSeatingPlanRequest = GetSeatingPlanRequest;\n  type seatingV1SeatingPlan_universal_d_SeatingPlanMask = SeatingPlanMask;\n  type seatingV1SeatingPlan_universal_d_GetSeatingPlanResponse = GetSeatingPlanResponse;\n  type seatingV1SeatingPlan_universal_d_FindSeatingPlanRequest = FindSeatingPlanRequest;\n  type seatingV1SeatingPlan_universal_d_FindSeatingPlanResponse = FindSeatingPlanResponse;\n  type seatingV1SeatingPlan_universal_d_DeleteSeatingPlanRequest = DeleteSeatingPlanRequest;\n  type seatingV1SeatingPlan_universal_d_DeleteSeatingPlanResponse = DeleteSeatingPlanResponse;\n  type seatingV1SeatingPlan_universal_d_UpdateSeatingPlanThumbnailRequest = UpdateSeatingPlanThumbnailRequest;\n  type seatingV1SeatingPlan_universal_d_SeatingPlanThumbnail = SeatingPlanThumbnail;\n  type seatingV1SeatingPlan_universal_d_UpdateSeatingPlanThumbnailResponse = UpdateSeatingPlanThumbnailResponse;\n  type seatingV1SeatingPlan_universal_d_GetSeatingPlanThumbnailRequest = GetSeatingPlanThumbnailRequest;\n  type seatingV1SeatingPlan_universal_d_GetSeatingPlanThumbnailResponse = GetSeatingPlanThumbnailResponse;\n  type seatingV1SeatingPlan_universal_d_SaveSeatingPlanVersionRequest = SaveSeatingPlanVersionRequest;\n  type seatingV1SeatingPlan_universal_d_SaveSeatingPlanVersionResponse = SaveSeatingPlanVersionResponse;\n  type seatingV1SeatingPlan_universal_d_QuerySeatingPlanVersionsRequest = QuerySeatingPlanVersionsRequest;\n  type seatingV1SeatingPlan_universal_d_QuerySeatingPlanVersionsResponse = QuerySeatingPlanVersionsResponse;\n  type seatingV1SeatingPlan_universal_d_DiscardSeatingPlanVersionsRequest = DiscardSeatingPlanVersionsRequest;\n  type seatingV1SeatingPlan_universal_d_DiscardSeatingPlanVersionsResponse = DiscardSeatingPlanVersionsResponse;\n  type seatingV1SeatingPlan_universal_d_RestoreSeatingPlanRequest = RestoreSeatingPlanRequest;\n  type seatingV1SeatingPlan_universal_d_RestoreSeatingPlanResponse = RestoreSeatingPlanResponse;\n  const seatingV1SeatingPlan_universal_d_createSeatingPlan: typeof createSeatingPlan;\n  type seatingV1SeatingPlan_universal_d_CreateSeatingPlanOptions = CreateSeatingPlanOptions;\n  const seatingV1SeatingPlan_universal_d_updateSeatingPlan: typeof updateSeatingPlan;\n  type seatingV1SeatingPlan_universal_d_UpdateSeatingPlanOptions = UpdateSeatingPlanOptions;\n  const seatingV1SeatingPlan_universal_d_copySeatingPlan: typeof copySeatingPlan;\n  type seatingV1SeatingPlan_universal_d_CopySeatingPlanOptions = CopySeatingPlanOptions;\n  const seatingV1SeatingPlan_universal_d_querySeatingPlan: typeof querySeatingPlan;\n  type seatingV1SeatingPlan_universal_d_QuerySeatingPlanOptions = QuerySeatingPlanOptions;\n  type seatingV1SeatingPlan_universal_d_PlansQueryResult = PlansQueryResult;\n  type seatingV1SeatingPlan_universal_d_PlansQueryBuilder = PlansQueryBuilder;\n  const seatingV1SeatingPlan_universal_d_getSeatingPlan: typeof getSeatingPlan;\n  type seatingV1SeatingPlan_universal_d_GetSeatingPlanOptions = GetSeatingPlanOptions;\n  const seatingV1SeatingPlan_universal_d_findSeatingPlan: typeof findSeatingPlan;\n  type seatingV1SeatingPlan_universal_d_FindSeatingPlanOptions = FindSeatingPlanOptions;\n  const seatingV1SeatingPlan_universal_d_deleteSeatingPlan: typeof deleteSeatingPlan;\n  const seatingV1SeatingPlan_universal_d_updateSeatingPlanThumbnail: typeof updateSeatingPlanThumbnail;\n  const seatingV1SeatingPlan_universal_d_getSeatingPlanThumbnail: typeof getSeatingPlanThumbnail;\n  const seatingV1SeatingPlan_universal_d_saveSeatingPlanVersion: typeof saveSeatingPlanVersion;\n  type seatingV1SeatingPlan_universal_d_SaveSeatingPlanVersionOptions = SaveSeatingPlanVersionOptions;\n  const seatingV1SeatingPlan_universal_d_querySeatingPlanVersions: typeof querySeatingPlanVersions;\n  const seatingV1SeatingPlan_universal_d_discardSeatingPlanVersions: typeof discardSeatingPlanVersions;\n  type seatingV1SeatingPlan_universal_d_DiscardSeatingPlanVersionsOptions = DiscardSeatingPlanVersionsOptions;\n  const seatingV1SeatingPlan_universal_d_restoreSeatingPlan: typeof restoreSeatingPlan;\n  type seatingV1SeatingPlan_universal_d_RestoreSeatingPlanOptions = RestoreSeatingPlanOptions;\n  namespace seatingV1SeatingPlan_universal_d {\n    export {\n      SeatingPlan$1 as SeatingPlan,\n      Section$1 as Section,\n      Element$1 as Element,\n      Type$1 as Type,\n      Sequencing$1 as Sequencing,\n      Place$1 as Place,\n      PlaceTypeEnumType$1 as PlaceTypeEnumType,\n      ReservationOptions$1 as ReservationOptions,\n      ElementUiProperties$1 as ElementUiProperties,\n      ShapeTypeEnumType$1 as ShapeTypeEnumType,\n      Position$1 as Position,\n      Icon$1 as Icon,\n      Image$1 as Image,\n      Numbering$1 as Numbering,\n      MultiRowProperties$1 as MultiRowProperties,\n      RowElement$1 as RowElement,\n      RowElementUiProperties$1 as RowElementUiProperties,\n      VerticalSequencing$1 as VerticalSequencing,\n      Category$1 as Category,\n      ExtendedFields$1 as ExtendedFields,\n      SeatingPlanUiProperties$1 as SeatingPlanUiProperties,\n      ElementGroup$1 as ElementGroup,\n      ElementGroupUiProperties$1 as ElementGroupUiProperties,\n      seatingV1SeatingPlan_universal_d_CreateSeatingPlanRequest as CreateSeatingPlanRequest,\n      seatingV1SeatingPlan_universal_d_CreateSeatingPlanResponse as CreateSeatingPlanResponse,\n      seatingV1SeatingPlan_universal_d_CapacityExceededViolation as CapacityExceededViolation,\n      seatingV1SeatingPlan_universal_d_UpdateSeatingPlanRequest as UpdateSeatingPlanRequest,\n      seatingV1SeatingPlan_universal_d_UpdateSeatingPlanResponse as UpdateSeatingPlanResponse,\n      seatingV1SeatingPlan_universal_d_CopySeatingPlanRequest as CopySeatingPlanRequest,\n      seatingV1SeatingPlan_universal_d_CopySeatingPlanResponse as CopySeatingPlanResponse,\n      seatingV1SeatingPlan_universal_d_QuerySeatingPlanRequest as QuerySeatingPlanRequest,\n      QueryV2$1 as QueryV2,\n      QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      Paging$1 as Paging,\n      CursorPaging$1 as CursorPaging,\n      seatingV1SeatingPlan_universal_d_Fieldset as Fieldset,\n      seatingV1SeatingPlan_universal_d_QuerySeatingPlanResponse as QuerySeatingPlanResponse,\n      seatingV1SeatingPlan_universal_d_GetSeatingPlanRequest as GetSeatingPlanRequest,\n      seatingV1SeatingPlan_universal_d_SeatingPlanMask as SeatingPlanMask,\n      seatingV1SeatingPlan_universal_d_GetSeatingPlanResponse as GetSeatingPlanResponse,\n      seatingV1SeatingPlan_universal_d_FindSeatingPlanRequest as FindSeatingPlanRequest,\n      seatingV1SeatingPlan_universal_d_FindSeatingPlanResponse as FindSeatingPlanResponse,\n      seatingV1SeatingPlan_universal_d_DeleteSeatingPlanRequest as DeleteSeatingPlanRequest,\n      seatingV1SeatingPlan_universal_d_DeleteSeatingPlanResponse as DeleteSeatingPlanResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      seatingV1SeatingPlan_universal_d_UpdateSeatingPlanThumbnailRequest as UpdateSeatingPlanThumbnailRequest,\n      seatingV1SeatingPlan_universal_d_SeatingPlanThumbnail as SeatingPlanThumbnail,\n      seatingV1SeatingPlan_universal_d_UpdateSeatingPlanThumbnailResponse as UpdateSeatingPlanThumbnailResponse,\n      seatingV1SeatingPlan_universal_d_GetSeatingPlanThumbnailRequest as GetSeatingPlanThumbnailRequest,\n      seatingV1SeatingPlan_universal_d_GetSeatingPlanThumbnailResponse as GetSeatingPlanThumbnailResponse,\n      seatingV1SeatingPlan_universal_d_SaveSeatingPlanVersionRequest as SaveSeatingPlanVersionRequest,\n      seatingV1SeatingPlan_universal_d_SaveSeatingPlanVersionResponse as SaveSeatingPlanVersionResponse,\n      seatingV1SeatingPlan_universal_d_QuerySeatingPlanVersionsRequest as QuerySeatingPlanVersionsRequest,\n      seatingV1SeatingPlan_universal_d_QuerySeatingPlanVersionsResponse as QuerySeatingPlanVersionsResponse,\n      PagingMetadataV2$1 as PagingMetadataV2,\n      Cursors$1 as Cursors,\n      seatingV1SeatingPlan_universal_d_DiscardSeatingPlanVersionsRequest as DiscardSeatingPlanVersionsRequest,\n      seatingV1SeatingPlan_universal_d_DiscardSeatingPlanVersionsResponse as DiscardSeatingPlanVersionsResponse,\n      seatingV1SeatingPlan_universal_d_RestoreSeatingPlanRequest as RestoreSeatingPlanRequest,\n      seatingV1SeatingPlan_universal_d_RestoreSeatingPlanResponse as RestoreSeatingPlanResponse,\n      seatingV1SeatingPlan_universal_d_createSeatingPlan as createSeatingPlan,\n      seatingV1SeatingPlan_universal_d_CreateSeatingPlanOptions as CreateSeatingPlanOptions,\n      seatingV1SeatingPlan_universal_d_updateSeatingPlan as updateSeatingPlan,\n      seatingV1SeatingPlan_universal_d_UpdateSeatingPlanOptions as UpdateSeatingPlanOptions,\n      seatingV1SeatingPlan_universal_d_copySeatingPlan as copySeatingPlan,\n      seatingV1SeatingPlan_universal_d_CopySeatingPlanOptions as CopySeatingPlanOptions,\n      seatingV1SeatingPlan_universal_d_querySeatingPlan as querySeatingPlan,\n      seatingV1SeatingPlan_universal_d_QuerySeatingPlanOptions as QuerySeatingPlanOptions,\n      seatingV1SeatingPlan_universal_d_PlansQueryResult as PlansQueryResult,\n      seatingV1SeatingPlan_universal_d_PlansQueryBuilder as PlansQueryBuilder,\n      seatingV1SeatingPlan_universal_d_getSeatingPlan as getSeatingPlan,\n      seatingV1SeatingPlan_universal_d_GetSeatingPlanOptions as GetSeatingPlanOptions,\n      seatingV1SeatingPlan_universal_d_findSeatingPlan as findSeatingPlan,\n      seatingV1SeatingPlan_universal_d_FindSeatingPlanOptions as FindSeatingPlanOptions,\n      seatingV1SeatingPlan_universal_d_deleteSeatingPlan as deleteSeatingPlan,\n      seatingV1SeatingPlan_universal_d_updateSeatingPlanThumbnail as updateSeatingPlanThumbnail,\n      seatingV1SeatingPlan_universal_d_getSeatingPlanThumbnail as getSeatingPlanThumbnail,\n      seatingV1SeatingPlan_universal_d_saveSeatingPlanVersion as saveSeatingPlanVersion,\n      seatingV1SeatingPlan_universal_d_SaveSeatingPlanVersionOptions as SaveSeatingPlanVersionOptions,\n      seatingV1SeatingPlan_universal_d_querySeatingPlanVersions as querySeatingPlanVersions,\n      seatingV1SeatingPlan_universal_d_discardSeatingPlanVersions as discardSeatingPlanVersions,\n      seatingV1SeatingPlan_universal_d_DiscardSeatingPlanVersionsOptions as DiscardSeatingPlanVersionsOptions,\n      seatingV1SeatingPlan_universal_d_restoreSeatingPlan as restoreSeatingPlan,\n      seatingV1SeatingPlan_universal_d_RestoreSeatingPlanOptions as RestoreSeatingPlanOptions,\n    };\n  }\n  \n  interface SeatingReservation {\n      /**\n       * The id of the reservation\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * The seating plan id\n       * @readonly\n       */\n      seatingPlanId?: string | null;\n      /**\n       * The external seating plan id\n       * @readonly\n       */\n      externalSeatingPlanId?: string | null;\n      /** Reserved places */\n      reservedPlaces?: PlaceReservation[];\n      /**\n       * A client defined external id for cross referencing.\n       * Can reference external entities.\n       * Format: \"{fqdn}:{entity guid}\"\n       */\n      externalId?: string | null;\n  }\n  interface PlaceReservation {\n      /** The place id. */\n      _id?: string;\n      /**\n       * Number of places in the spot. If not provided - defaults to 1.\n       * Used to reserve for more that one place in areas.\n       */\n      capacity?: number | null;\n      /**\n       * Optional section label.\n       * @readonly\n       */\n      sectionLabel?: string | null;\n      /**\n       * Area label.\n       * @readonly\n       */\n      areaLabel?: string | null;\n      /**\n       * Table label.\n       * @readonly\n       */\n      tableLabel?: string | null;\n      /**\n       * Row label.\n       * @readonly\n       */\n      rowLabel?: string | null;\n      /**\n       * Seat label in a row or table.\n       * @readonly\n       */\n      seatLabel?: string | null;\n  }\n  interface SeatingPlanCategoriesSummaryUpdated {\n      /** Seating plan id */\n      seatingPlanId?: string;\n      /** External seating plan id */\n      externalSeatingPlanId?: string | null;\n      /** Ticket counts by category */\n      categories?: CategoryDetails[];\n      /**\n       * Summary revision.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface CategoryDetails {\n      /**\n       * Seating plan id\n       * @readonly\n       */\n      seatingPlanId?: string | null;\n      /**\n       * External seating plan id\n       * @readonly\n       */\n      externalSeatingPlanId?: string | null;\n      /**\n       * External category id\n       * @readonly\n       */\n      externalCategoryId?: string | null;\n      /**\n       * Total capacity in the category\n       * @readonly\n       */\n      totalCapacity?: number | null;\n      /**\n       * Already reserved capacity\n       * @readonly\n       */\n      reserved?: number | null;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface CreateSeatingReservationRequest {\n      /** A reservation to create */\n      reservation?: SeatingReservation;\n  }\n  interface CreateSeatingReservationResponse {\n      /** Created reservation */\n      reservation?: SeatingReservation;\n  }\n  interface Places {\n      /** Places */\n      places?: string[];\n  }\n  interface UnavailablePlaces {\n      /** Places that cannot be reserved */\n      unavailablePlaces?: string[];\n      /** Reservation error details */\n      reservationErrorDetails?: ReservationErrorDetails[];\n  }\n  interface ReservationErrorDetails {\n      /** Place */\n      _id?: string;\n      /** Available capacity */\n      available?: number;\n      /** Requested capacity */\n      requested?: number;\n  }\n  interface GetReservationRequest {\n      /** The id of the reservation to return */\n      _id: string | null;\n  }\n  interface GetReservationResponse {\n      /** Created reservation */\n      reservation?: SeatingReservation;\n  }\n  interface QuerySeatingReservationRequest {\n      /** A query object */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySeatingReservationResponse {\n      /** Found reservations */\n      reservations?: SeatingReservation[];\n      /** Paging meta data */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DeleteSeatingReservationRequest {\n      /** The id of the reservation to delete */\n      _id: string | null;\n  }\n  interface DeleteSeatingReservationResponse {\n      /** The deleted reservation */\n      reservation?: SeatingReservation;\n  }\n  interface DeleteSeatingPlaceReservationRequest {\n      /** The id of the place reservation to delete */\n      _id?: string | null;\n      /** The id of the place reservation's reservation */\n      reservationId?: string | null;\n  }\n  interface Empty {\n  }\n  interface GetReservedPlacesRequest {\n      /** Seating plan id */\n      _id?: string | null;\n  }\n  interface GetReservedPlacesResponse {\n      /** Reserved places of the plan */\n      placeReservations?: PlaceReservation[];\n  }\n  interface GetSeatingCategoriesSummaryRequest {\n      /** Seating plan external id */\n      externalId?: string[];\n  }\n  interface GetSeatingCategoriesSummaryResponse {\n      /** Ticket counts by category */\n      categories?: CategoryDetails[];\n  }\n  interface GetSeatingCategorySummaryRequest {\n      /** Seating plan external id */\n      externalId?: string;\n  }\n  interface GetSeatingCategorySummaryResponse {\n      /** Ticket counts by category */\n      categories?: CategoryDetails[];\n  }\n  interface GetSeatingReservationsSummaryRequest {\n      /** Filter for seating plan */\n      filter: Record<string, any> | null;\n  }\n  interface GetSeatingReservationsSummaryResponse {\n      plan?: SeatingPlan;\n      seatingReservationsSummary?: SeatingReservationsSummary;\n  }\n  interface SeatingPlan {\n      /**\n       * Auto generated unique plan id\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * A client defined external id for cross referencing.\n       * Can reference external entities.\n       * Format: \"{fqdn}:{entity guid}\"\n       */\n      externalId?: string | null;\n      /** Human friendly plan title */\n      title?: string | null;\n      /** Sections of the plan. Seating plan is divided in high level sections. */\n      sections?: Section[];\n      /** Categories for plan element grouping. */\n      categories?: Category[];\n      /**\n       * Seating plan created timestamp.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Seating plan updated timestamp.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Total capacity\n       * @readonly\n       */\n      totalCapacity?: number | null;\n      /**\n       * Total categories\n       * @readonly\n       */\n      totalCategories?: number | null;\n      /**\n       * Places not assigned to categories\n       * @readonly\n       */\n      uncategorizedPlaces?: Place[];\n      /**\n       * A version of the seating plan\n       * @readonly\n       */\n      version?: string | null;\n      /** Data extensions */\n      extendedFields?: ExtendedFields;\n      /** Seating Plan UI settings */\n      uiProperties?: SeatingPlanUiProperties;\n      /** Element groups */\n      elementGroups?: ElementGroup[];\n  }\n  interface Section {\n      /** Unique section id */\n      _id?: number;\n      /** Human readable section title */\n      title?: string | null;\n      /**\n       * Client configuration object\n       * @readonly\n       */\n      config?: Record<string, any> | null;\n      /** Elements of the section. */\n      elements?: Element[];\n      /**\n       * Total capacity\n       * @readonly\n       */\n      totalCapacity?: number | null;\n      /**\n       * Is default section\n       * @readonly\n       */\n      default?: boolean;\n  }\n  interface Element {\n      /** Unique element id */\n      _id?: number;\n      /** User friendly title/label of the element. */\n      title?: string | null;\n      /** Element type */\n      type?: Type;\n      /** Capacity. None for Shape type Element. */\n      capacity?: number | null;\n      /** Assigned to a category */\n      categoryId?: number | null;\n      /** A place numbering meta data */\n      sequencing?: Sequencing;\n      /** Place override (by seq_id) */\n      overrides?: Place[];\n      /**\n       * Final place sequence with overrides\n       * @readonly\n       */\n      places?: Place[];\n      /** Element reservation options */\n      reservationOptions?: ReservationOptions;\n      /** Element UI settings */\n      uiProperties?: ElementUiProperties;\n      /** Element group id */\n      elementGroupId?: number | null;\n      /** Multi row element relevant for MULTI_ROW element type */\n      multiRowProperties?: MultiRowProperties;\n  }\n  enum Type {\n      AREA = \"AREA\",\n      ROW = \"ROW\",\n      MULTI_ROW = \"MULTI_ROW\",\n      TABLE = \"TABLE\",\n      ROUND_TABLE = \"ROUND_TABLE\",\n      SHAPE = \"SHAPE\"\n  }\n  interface Sequencing {\n      /** First seq element */\n      startAt?: string;\n      /** Finite generated seq of labels */\n      labels?: string[];\n      /** If true - direction right to left. Otherwise left to right. */\n      reverseOrder?: boolean | null;\n  }\n  interface Place {\n      /** Local id of the place in the sequence */\n      index?: number;\n      /**\n       * Generated composite unique id in the seating plan.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Unique label of the place */\n      label?: string;\n      /**\n       * Max capacity per place\n       * @readonly\n       */\n      capacity?: number | null;\n      /**\n       * Type of the parent element\n       * @readonly\n       */\n      elementType?: Type;\n      /**\n       * Assigned category id\n       * @readonly\n       */\n      categoryId?: number | null;\n      /** Place type */\n      type?: PlaceTypeEnumType;\n  }\n  enum PlaceTypeEnumType {\n      UNKNOWN_PROPERTY = \"UNKNOWN_PROPERTY\",\n      STANDARD = \"STANDARD\",\n      WHEELCHAIR = \"WHEELCHAIR\",\n      ACCESSIBLE = \"ACCESSIBLE\",\n      COMPANION = \"COMPANION\",\n      OBSTRUCTED = \"OBSTRUCTED\",\n      DISCOUNT = \"DISCOUNT\"\n  }\n  interface ReservationOptions {\n      /** Indicates whether the entire element must be reserved */\n      reserveWholeElement?: boolean;\n  }\n  interface ElementUiProperties {\n      x?: number | null;\n      y?: number | null;\n      zIndex?: number | null;\n      width?: number | null;\n      height?: number | null;\n      rotationAngle?: number | null;\n      shapeType?: ShapeTypeEnumType;\n      fontSize?: number | null;\n      cornerRadius?: number | null;\n      seatSpacing?: number | null;\n      hideLabel?: boolean | null;\n      labelPosition?: Position;\n      seatLayout?: number[];\n      emptyTopSeatSpaces?: number | null;\n      /** needs research */\n      text?: string | null;\n      /** #F0F0F0 */\n      color?: string | null;\n      /** #F0F0F0 */\n      fillColor?: string | null;\n      /** #F0F0F0 */\n      strokeColor?: string | null;\n      /** px */\n      strokeWidth?: number | null;\n      opacity?: number | null;\n      icon?: Icon;\n      image?: Image;\n      seatNumbering?: Numbering;\n  }\n  enum ShapeTypeEnumType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      TEXT = \"TEXT\",\n      RECTANGLE = \"RECTANGLE\",\n      ELLIPSE = \"ELLIPSE\",\n      LINE = \"LINE\",\n      ICON = \"ICON\",\n      IMAGE = \"IMAGE\"\n  }\n  enum Position {\n      UNKNOWN_POSITION = \"UNKNOWN_POSITION\",\n      LEFT = \"LEFT\",\n      RIGHT = \"RIGHT\",\n      BOTH = \"BOTH\",\n      NONE = \"NONE\"\n  }\n  enum Icon {\n      UNKNOWN_ICON = \"UNKNOWN_ICON\",\n      ENTER = \"ENTER\",\n      EXIT = \"EXIT\",\n      DRINKS = \"DRINKS\",\n      WC = \"WC\",\n      WC_MEN = \"WC_MEN\",\n      WC_WOMEN = \"WC_WOMEN\",\n      FOOD = \"FOOD\",\n      STAIRS = \"STAIRS\",\n      ELEVATOR = \"ELEVATOR\",\n      SMOKING = \"SMOKING\",\n      CHECKROOM = \"CHECKROOM\",\n      STAGE = \"STAGE\"\n  }\n  interface Image {\n      /** WixMedia image ID. */\n      _id?: string;\n      /**\n       * Original image height.\n       * @readonly\n       */\n      height?: number;\n      /**\n       * Original image width.\n       * @readonly\n       */\n      width?: number;\n      /**\n       * WixMedia image URI.\n       * @deprecated\n       */\n      uri?: string | null;\n  }\n  enum Numbering {\n      UNKNOWN_NUMBERING = \"UNKNOWN_NUMBERING\",\n      NUMERIC = \"NUMERIC\",\n      ODD_EVEN = \"ODD_EVEN\",\n      ALPHABETICAL = \"ALPHABETICAL\"\n  }\n  interface MultiRowProperties {\n      /** Individual rows of the multi row element */\n      rows?: RowElement[];\n      /** Meta data for vertical labeling */\n      verticalSequencing?: VerticalSequencing;\n      /** Row spacing */\n      rowSpacing?: number | null;\n      /**\n       * Curve angle in degrees\n       * @internal\n       */\n      curveAngle?: number | null;\n      /**\n       * Curve radius\n       * @internal\n       */\n      curveRadius?: number | null;\n      /**\n       * Should radius be forced\n       * @internal\n       */\n      forceRadius?: boolean | null;\n  }\n  interface RowElement {\n      /** Unique row id */\n      _id?: number;\n      /** User friendly title/label of the row */\n      title?: string | null;\n      /** Row capacity */\n      capacity?: number | null;\n      /** Assigned to a category */\n      categoryId?: number | null;\n      /** A place numbering meta data for a single row */\n      sequencing?: Sequencing;\n      /** Row UI settings */\n      uiProperties?: RowElementUiProperties;\n  }\n  interface RowElementUiProperties {\n      /** Relative x position to the parent element */\n      relativeX?: number | null;\n      /** Width of the row */\n      width?: number | null;\n      /** Seat spacing */\n      seatSpacing?: number | null;\n      /** Label position */\n      labelPosition?: Position;\n      /** Seat numbering */\n      seatNumbering?: Numbering;\n  }\n  interface VerticalSequencing {\n      /** First seq element */\n      startAt?: string;\n      /** Row numbering */\n      rowNumbering?: Numbering;\n      /** If true - direction bottom to top. Otherwise top to bottom. */\n      reverseOrder?: boolean | null;\n  }\n  interface Category {\n      /** Local category id within the seating plan */\n      _id?: number;\n      /**\n       * A client defined external id for cross referencing.\n       * Can reference external entities.\n       * Format: \"{entity_fqdn}:{entity_id}\"\n       */\n      externalId?: string | null;\n      /** Category label */\n      title?: string;\n      /**\n       * Client configuration object\n       * @readonly\n       */\n      config?: Record<string, any> | null;\n      /**\n       * Total capacity\n       * @readonly\n       */\n      totalCapacity?: number | null;\n      /**\n       * Possible places\n       * @readonly\n       */\n      places?: Place[];\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface SeatingPlanUiProperties {\n      /** #F0F0F0 */\n      backgroundColor?: string | null;\n      backgroundOpacity?: number | null;\n  }\n  interface ElementGroup {\n      /** Unique element group id */\n      _id?: number;\n      /** Parent group id */\n      parentElementGroupId?: number | null;\n      /** Element group UI settings */\n      uiProperties?: ElementGroupUiProperties;\n  }\n  interface ElementGroupUiProperties {\n      /** x position of the group */\n      x?: number | null;\n      /** y position of the group */\n      y?: number | null;\n      /** width of the group */\n      width?: number | null;\n      /** height of the group */\n      height?: number | null;\n      /** rotation angle of the group */\n      rotationAngle?: number | null;\n  }\n  interface SeatingReservationsSummary {\n      places?: PlaceReservationDetails[];\n  }\n  interface PlaceReservationDetails {\n      placeId?: string;\n      occupied?: number;\n  }\n  interface GetSeatingReservationSummaryRequest {\n      /** Seating plan external id */\n      externalId: string;\n  }\n  interface GetSeatingReservationSummaryResponse {\n      plan?: SeatingPlan;\n      places?: PlaceReservationDetails[];\n  }\n  interface RegenerateSummariesRequest {\n      /** Seating plan id */\n      planId?: string | null;\n  }\n  interface RegenerateSummariesResponse {\n      seatingReservationsSummary?: SeatingReservationsSummary;\n      categories?: CategoryDetails[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a seating reservation\n   * @public\n   * @documentationMaturity preview\n   * @permissionId SEATING_PLANS.MANAGE_RESERVATIONS\n   * @adminMethod\n   * @returns Created reservation\n   */\n  function createSeatingReservation(options?: CreateSeatingReservationOptions): Promise<SeatingReservation>;\n  interface CreateSeatingReservationOptions {\n      /** A reservation to create */\n      reservation?: SeatingReservation;\n  }\n  /**\n   * Returns available seat counts by category id\n   * @param _id - The id of the reservation to return\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId SEATING_PLANS.READ_RESERVATIONS\n   * @adminMethod\n   * @returns Created reservation\n   */\n  function getReservation(_id: string | null): Promise<SeatingReservation>;\n  /**\n   * Lists seating reservations by query request\n   * @public\n   * @documentationMaturity preview\n   * @permissionId SEATING_PLANS.READ_RESERVATIONS\n   * @adminMethod\n   */\n  function querySeatingReservation(): ReservationsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReservationsQueryResult extends QueryCursorResult {\n      items: SeatingReservation[];\n      query: ReservationsQueryBuilder;\n      next: () => Promise<ReservationsQueryResult>;\n      prev: () => Promise<ReservationsQueryResult>;\n  }\n  interface ReservationsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReservationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReservationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReservationsQueryResult>;\n  }\n  /**\n   * Deletes the seating reservation\n   * @param _id - The id of the reservation to delete\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId SEATING_PLANS.MANAGE_RESERVATIONS\n   * @adminMethod\n   */\n  function deleteSeatingReservation(_id: string | null): Promise<DeleteSeatingReservationResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId SEATING_PLANS.READ_SEATING_PLANS\n   * @deprecated\n   * @replacedBy GetSeatingCategorySummary\n   * @targetRemovalDate 2025-01-10\n   */\n  function getSeatingCategoriesSummary(options?: GetSeatingCategoriesSummaryOptions): Promise<GetSeatingCategoriesSummaryResponse>;\n  interface GetSeatingCategoriesSummaryOptions {\n      /** Seating plan external id */\n      externalId?: string[];\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId SEATING_PLANS.READ_SEATING_PLANS\n   */\n  function getSeatingCategorySummary(options?: GetSeatingCategorySummaryOptions): Promise<GetSeatingCategorySummaryResponse>;\n  interface GetSeatingCategorySummaryOptions {\n      /** Seating plan external id */\n      externalId?: string;\n  }\n  /** @param filter - Filter for seating plan\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId SEATING_PLANS.READ_SEATING_PLANS\n   * @deprecated\n   * @replacedBy GetSeatingReservationSummary\n   * @targetRemovalDate 2025-01-10\n   */\n  function getSeatingReservationsSummary(filter: Record<string, any> | null): Promise<GetSeatingReservationsSummaryResponse>;\n  /** @param externalId - Seating plan external id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField externalId\n   * @permissionId SEATING_PLANS.READ_SEATING_PLANS\n   */\n  function getSeatingReservationSummary(externalId: string): Promise<GetSeatingReservationSummaryResponse>;\n  \n  type seatingV1SeatingReservation_universal_d_SeatingReservation = SeatingReservation;\n  type seatingV1SeatingReservation_universal_d_PlaceReservation = PlaceReservation;\n  type seatingV1SeatingReservation_universal_d_SeatingPlanCategoriesSummaryUpdated = SeatingPlanCategoriesSummaryUpdated;\n  type seatingV1SeatingReservation_universal_d_CategoryDetails = CategoryDetails;\n  type seatingV1SeatingReservation_universal_d_InvalidateCache = InvalidateCache;\n  type seatingV1SeatingReservation_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type seatingV1SeatingReservation_universal_d_App = App;\n  type seatingV1SeatingReservation_universal_d_Page = Page;\n  type seatingV1SeatingReservation_universal_d_URI = URI;\n  type seatingV1SeatingReservation_universal_d_File = File;\n  type seatingV1SeatingReservation_universal_d_CreateSeatingReservationRequest = CreateSeatingReservationRequest;\n  type seatingV1SeatingReservation_universal_d_CreateSeatingReservationResponse = CreateSeatingReservationResponse;\n  type seatingV1SeatingReservation_universal_d_Places = Places;\n  type seatingV1SeatingReservation_universal_d_UnavailablePlaces = UnavailablePlaces;\n  type seatingV1SeatingReservation_universal_d_ReservationErrorDetails = ReservationErrorDetails;\n  type seatingV1SeatingReservation_universal_d_GetReservationRequest = GetReservationRequest;\n  type seatingV1SeatingReservation_universal_d_GetReservationResponse = GetReservationResponse;\n  type seatingV1SeatingReservation_universal_d_QuerySeatingReservationRequest = QuerySeatingReservationRequest;\n  type seatingV1SeatingReservation_universal_d_QueryV2 = QueryV2;\n  type seatingV1SeatingReservation_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type seatingV1SeatingReservation_universal_d_Sorting = Sorting;\n  type seatingV1SeatingReservation_universal_d_SortOrder = SortOrder;\n  const seatingV1SeatingReservation_universal_d_SortOrder: typeof SortOrder;\n  type seatingV1SeatingReservation_universal_d_Paging = Paging;\n  type seatingV1SeatingReservation_universal_d_CursorPaging = CursorPaging;\n  type seatingV1SeatingReservation_universal_d_QuerySeatingReservationResponse = QuerySeatingReservationResponse;\n  type seatingV1SeatingReservation_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type seatingV1SeatingReservation_universal_d_Cursors = Cursors;\n  type seatingV1SeatingReservation_universal_d_DeleteSeatingReservationRequest = DeleteSeatingReservationRequest;\n  type seatingV1SeatingReservation_universal_d_DeleteSeatingReservationResponse = DeleteSeatingReservationResponse;\n  type seatingV1SeatingReservation_universal_d_DeleteSeatingPlaceReservationRequest = DeleteSeatingPlaceReservationRequest;\n  type seatingV1SeatingReservation_universal_d_Empty = Empty;\n  type seatingV1SeatingReservation_universal_d_GetReservedPlacesRequest = GetReservedPlacesRequest;\n  type seatingV1SeatingReservation_universal_d_GetReservedPlacesResponse = GetReservedPlacesResponse;\n  type seatingV1SeatingReservation_universal_d_GetSeatingCategoriesSummaryRequest = GetSeatingCategoriesSummaryRequest;\n  type seatingV1SeatingReservation_universal_d_GetSeatingCategoriesSummaryResponse = GetSeatingCategoriesSummaryResponse;\n  type seatingV1SeatingReservation_universal_d_GetSeatingCategorySummaryRequest = GetSeatingCategorySummaryRequest;\n  type seatingV1SeatingReservation_universal_d_GetSeatingCategorySummaryResponse = GetSeatingCategorySummaryResponse;\n  type seatingV1SeatingReservation_universal_d_GetSeatingReservationsSummaryRequest = GetSeatingReservationsSummaryRequest;\n  type seatingV1SeatingReservation_universal_d_GetSeatingReservationsSummaryResponse = GetSeatingReservationsSummaryResponse;\n  type seatingV1SeatingReservation_universal_d_SeatingPlan = SeatingPlan;\n  type seatingV1SeatingReservation_universal_d_Section = Section;\n  type seatingV1SeatingReservation_universal_d_Element = Element;\n  type seatingV1SeatingReservation_universal_d_Type = Type;\n  const seatingV1SeatingReservation_universal_d_Type: typeof Type;\n  type seatingV1SeatingReservation_universal_d_Sequencing = Sequencing;\n  type seatingV1SeatingReservation_universal_d_Place = Place;\n  type seatingV1SeatingReservation_universal_d_PlaceTypeEnumType = PlaceTypeEnumType;\n  const seatingV1SeatingReservation_universal_d_PlaceTypeEnumType: typeof PlaceTypeEnumType;\n  type seatingV1SeatingReservation_universal_d_ReservationOptions = ReservationOptions;\n  type seatingV1SeatingReservation_universal_d_ElementUiProperties = ElementUiProperties;\n  type seatingV1SeatingReservation_universal_d_ShapeTypeEnumType = ShapeTypeEnumType;\n  const seatingV1SeatingReservation_universal_d_ShapeTypeEnumType: typeof ShapeTypeEnumType;\n  type seatingV1SeatingReservation_universal_d_Position = Position;\n  const seatingV1SeatingReservation_universal_d_Position: typeof Position;\n  type seatingV1SeatingReservation_universal_d_Icon = Icon;\n  const seatingV1SeatingReservation_universal_d_Icon: typeof Icon;\n  type seatingV1SeatingReservation_universal_d_Image = Image;\n  type seatingV1SeatingReservation_universal_d_Numbering = Numbering;\n  const seatingV1SeatingReservation_universal_d_Numbering: typeof Numbering;\n  type seatingV1SeatingReservation_universal_d_MultiRowProperties = MultiRowProperties;\n  type seatingV1SeatingReservation_universal_d_RowElement = RowElement;\n  type seatingV1SeatingReservation_universal_d_RowElementUiProperties = RowElementUiProperties;\n  type seatingV1SeatingReservation_universal_d_VerticalSequencing = VerticalSequencing;\n  type seatingV1SeatingReservation_universal_d_Category = Category;\n  type seatingV1SeatingReservation_universal_d_ExtendedFields = ExtendedFields;\n  type seatingV1SeatingReservation_universal_d_SeatingPlanUiProperties = SeatingPlanUiProperties;\n  type seatingV1SeatingReservation_universal_d_ElementGroup = ElementGroup;\n  type seatingV1SeatingReservation_universal_d_ElementGroupUiProperties = ElementGroupUiProperties;\n  type seatingV1SeatingReservation_universal_d_SeatingReservationsSummary = SeatingReservationsSummary;\n  type seatingV1SeatingReservation_universal_d_PlaceReservationDetails = PlaceReservationDetails;\n  type seatingV1SeatingReservation_universal_d_GetSeatingReservationSummaryRequest = GetSeatingReservationSummaryRequest;\n  type seatingV1SeatingReservation_universal_d_GetSeatingReservationSummaryResponse = GetSeatingReservationSummaryResponse;\n  type seatingV1SeatingReservation_universal_d_RegenerateSummariesRequest = RegenerateSummariesRequest;\n  type seatingV1SeatingReservation_universal_d_RegenerateSummariesResponse = RegenerateSummariesResponse;\n  type seatingV1SeatingReservation_universal_d_DomainEvent = DomainEvent;\n  type seatingV1SeatingReservation_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type seatingV1SeatingReservation_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type seatingV1SeatingReservation_universal_d_RestoreInfo = RestoreInfo;\n  type seatingV1SeatingReservation_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type seatingV1SeatingReservation_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type seatingV1SeatingReservation_universal_d_ActionEvent = ActionEvent;\n  type seatingV1SeatingReservation_universal_d_MessageEnvelope = MessageEnvelope;\n  type seatingV1SeatingReservation_universal_d_IdentificationData = IdentificationData;\n  type seatingV1SeatingReservation_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type seatingV1SeatingReservation_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const seatingV1SeatingReservation_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const seatingV1SeatingReservation_universal_d_createSeatingReservation: typeof createSeatingReservation;\n  type seatingV1SeatingReservation_universal_d_CreateSeatingReservationOptions = CreateSeatingReservationOptions;\n  const seatingV1SeatingReservation_universal_d_getReservation: typeof getReservation;\n  const seatingV1SeatingReservation_universal_d_querySeatingReservation: typeof querySeatingReservation;\n  type seatingV1SeatingReservation_universal_d_ReservationsQueryResult = ReservationsQueryResult;\n  type seatingV1SeatingReservation_universal_d_ReservationsQueryBuilder = ReservationsQueryBuilder;\n  const seatingV1SeatingReservation_universal_d_deleteSeatingReservation: typeof deleteSeatingReservation;\n  const seatingV1SeatingReservation_universal_d_getSeatingCategoriesSummary: typeof getSeatingCategoriesSummary;\n  type seatingV1SeatingReservation_universal_d_GetSeatingCategoriesSummaryOptions = GetSeatingCategoriesSummaryOptions;\n  const seatingV1SeatingReservation_universal_d_getSeatingCategorySummary: typeof getSeatingCategorySummary;\n  type seatingV1SeatingReservation_universal_d_GetSeatingCategorySummaryOptions = GetSeatingCategorySummaryOptions;\n  const seatingV1SeatingReservation_universal_d_getSeatingReservationsSummary: typeof getSeatingReservationsSummary;\n  const seatingV1SeatingReservation_universal_d_getSeatingReservationSummary: typeof getSeatingReservationSummary;\n  namespace seatingV1SeatingReservation_universal_d {\n    export {\n      seatingV1SeatingReservation_universal_d_SeatingReservation as SeatingReservation,\n      seatingV1SeatingReservation_universal_d_PlaceReservation as PlaceReservation,\n      seatingV1SeatingReservation_universal_d_SeatingPlanCategoriesSummaryUpdated as SeatingPlanCategoriesSummaryUpdated,\n      seatingV1SeatingReservation_universal_d_CategoryDetails as CategoryDetails,\n      seatingV1SeatingReservation_universal_d_InvalidateCache as InvalidateCache,\n      seatingV1SeatingReservation_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      seatingV1SeatingReservation_universal_d_App as App,\n      seatingV1SeatingReservation_universal_d_Page as Page,\n      seatingV1SeatingReservation_universal_d_URI as URI,\n      seatingV1SeatingReservation_universal_d_File as File,\n      seatingV1SeatingReservation_universal_d_CreateSeatingReservationRequest as CreateSeatingReservationRequest,\n      seatingV1SeatingReservation_universal_d_CreateSeatingReservationResponse as CreateSeatingReservationResponse,\n      seatingV1SeatingReservation_universal_d_Places as Places,\n      seatingV1SeatingReservation_universal_d_UnavailablePlaces as UnavailablePlaces,\n      seatingV1SeatingReservation_universal_d_ReservationErrorDetails as ReservationErrorDetails,\n      seatingV1SeatingReservation_universal_d_GetReservationRequest as GetReservationRequest,\n      seatingV1SeatingReservation_universal_d_GetReservationResponse as GetReservationResponse,\n      seatingV1SeatingReservation_universal_d_QuerySeatingReservationRequest as QuerySeatingReservationRequest,\n      seatingV1SeatingReservation_universal_d_QueryV2 as QueryV2,\n      seatingV1SeatingReservation_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      seatingV1SeatingReservation_universal_d_Sorting as Sorting,\n      seatingV1SeatingReservation_universal_d_SortOrder as SortOrder,\n      seatingV1SeatingReservation_universal_d_Paging as Paging,\n      seatingV1SeatingReservation_universal_d_CursorPaging as CursorPaging,\n      seatingV1SeatingReservation_universal_d_QuerySeatingReservationResponse as QuerySeatingReservationResponse,\n      seatingV1SeatingReservation_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      seatingV1SeatingReservation_universal_d_Cursors as Cursors,\n      seatingV1SeatingReservation_universal_d_DeleteSeatingReservationRequest as DeleteSeatingReservationRequest,\n      seatingV1SeatingReservation_universal_d_DeleteSeatingReservationResponse as DeleteSeatingReservationResponse,\n      seatingV1SeatingReservation_universal_d_DeleteSeatingPlaceReservationRequest as DeleteSeatingPlaceReservationRequest,\n      seatingV1SeatingReservation_universal_d_Empty as Empty,\n      seatingV1SeatingReservation_universal_d_GetReservedPlacesRequest as GetReservedPlacesRequest,\n      seatingV1SeatingReservation_universal_d_GetReservedPlacesResponse as GetReservedPlacesResponse,\n      seatingV1SeatingReservation_universal_d_GetSeatingCategoriesSummaryRequest as GetSeatingCategoriesSummaryRequest,\n      seatingV1SeatingReservation_universal_d_GetSeatingCategoriesSummaryResponse as GetSeatingCategoriesSummaryResponse,\n      seatingV1SeatingReservation_universal_d_GetSeatingCategorySummaryRequest as GetSeatingCategorySummaryRequest,\n      seatingV1SeatingReservation_universal_d_GetSeatingCategorySummaryResponse as GetSeatingCategorySummaryResponse,\n      seatingV1SeatingReservation_universal_d_GetSeatingReservationsSummaryRequest as GetSeatingReservationsSummaryRequest,\n      seatingV1SeatingReservation_universal_d_GetSeatingReservationsSummaryResponse as GetSeatingReservationsSummaryResponse,\n      seatingV1SeatingReservation_universal_d_SeatingPlan as SeatingPlan,\n      seatingV1SeatingReservation_universal_d_Section as Section,\n      seatingV1SeatingReservation_universal_d_Element as Element,\n      seatingV1SeatingReservation_universal_d_Type as Type,\n      seatingV1SeatingReservation_universal_d_Sequencing as Sequencing,\n      seatingV1SeatingReservation_universal_d_Place as Place,\n      seatingV1SeatingReservation_universal_d_PlaceTypeEnumType as PlaceTypeEnumType,\n      seatingV1SeatingReservation_universal_d_ReservationOptions as ReservationOptions,\n      seatingV1SeatingReservation_universal_d_ElementUiProperties as ElementUiProperties,\n      seatingV1SeatingReservation_universal_d_ShapeTypeEnumType as ShapeTypeEnumType,\n      seatingV1SeatingReservation_universal_d_Position as Position,\n      seatingV1SeatingReservation_universal_d_Icon as Icon,\n      seatingV1SeatingReservation_universal_d_Image as Image,\n      seatingV1SeatingReservation_universal_d_Numbering as Numbering,\n      seatingV1SeatingReservation_universal_d_MultiRowProperties as MultiRowProperties,\n      seatingV1SeatingReservation_universal_d_RowElement as RowElement,\n      seatingV1SeatingReservation_universal_d_RowElementUiProperties as RowElementUiProperties,\n      seatingV1SeatingReservation_universal_d_VerticalSequencing as VerticalSequencing,\n      seatingV1SeatingReservation_universal_d_Category as Category,\n      seatingV1SeatingReservation_universal_d_ExtendedFields as ExtendedFields,\n      seatingV1SeatingReservation_universal_d_SeatingPlanUiProperties as SeatingPlanUiProperties,\n      seatingV1SeatingReservation_universal_d_ElementGroup as ElementGroup,\n      seatingV1SeatingReservation_universal_d_ElementGroupUiProperties as ElementGroupUiProperties,\n      seatingV1SeatingReservation_universal_d_SeatingReservationsSummary as SeatingReservationsSummary,\n      seatingV1SeatingReservation_universal_d_PlaceReservationDetails as PlaceReservationDetails,\n      seatingV1SeatingReservation_universal_d_GetSeatingReservationSummaryRequest as GetSeatingReservationSummaryRequest,\n      seatingV1SeatingReservation_universal_d_GetSeatingReservationSummaryResponse as GetSeatingReservationSummaryResponse,\n      seatingV1SeatingReservation_universal_d_RegenerateSummariesRequest as RegenerateSummariesRequest,\n      seatingV1SeatingReservation_universal_d_RegenerateSummariesResponse as RegenerateSummariesResponse,\n      seatingV1SeatingReservation_universal_d_DomainEvent as DomainEvent,\n      seatingV1SeatingReservation_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      seatingV1SeatingReservation_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      seatingV1SeatingReservation_universal_d_RestoreInfo as RestoreInfo,\n      seatingV1SeatingReservation_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      seatingV1SeatingReservation_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      seatingV1SeatingReservation_universal_d_ActionEvent as ActionEvent,\n      seatingV1SeatingReservation_universal_d_MessageEnvelope as MessageEnvelope,\n      seatingV1SeatingReservation_universal_d_IdentificationData as IdentificationData,\n      seatingV1SeatingReservation_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      seatingV1SeatingReservation_universal_d_WebhookIdentityType as WebhookIdentityType,\n      seatingV1SeatingReservation_universal_d_createSeatingReservation as createSeatingReservation,\n      seatingV1SeatingReservation_universal_d_CreateSeatingReservationOptions as CreateSeatingReservationOptions,\n      seatingV1SeatingReservation_universal_d_getReservation as getReservation,\n      seatingV1SeatingReservation_universal_d_querySeatingReservation as querySeatingReservation,\n      seatingV1SeatingReservation_universal_d_ReservationsQueryResult as ReservationsQueryResult,\n      seatingV1SeatingReservation_universal_d_ReservationsQueryBuilder as ReservationsQueryBuilder,\n      seatingV1SeatingReservation_universal_d_deleteSeatingReservation as deleteSeatingReservation,\n      seatingV1SeatingReservation_universal_d_getSeatingCategoriesSummary as getSeatingCategoriesSummary,\n      seatingV1SeatingReservation_universal_d_GetSeatingCategoriesSummaryOptions as GetSeatingCategoriesSummaryOptions,\n      seatingV1SeatingReservation_universal_d_getSeatingCategorySummary as getSeatingCategorySummary,\n      seatingV1SeatingReservation_universal_d_GetSeatingCategorySummaryOptions as GetSeatingCategorySummaryOptions,\n      seatingV1SeatingReservation_universal_d_getSeatingReservationsSummary as getSeatingReservationsSummary,\n      seatingV1SeatingReservation_universal_d_getSeatingReservationSummary as getSeatingReservationSummary,\n    };\n  }\n  \n  export { seatingV1SeatingPlan_universal_d as seatingPlan, seatingV1SeatingReservation_universal_d as seatingReservation };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-dashboard-management-backend.d.ts",
      "content": "declare module \"wix-dashboard-management-backend\" {\n  /** List of favorite dashboard pages. */\n  interface DashboardFavoriteList {\n      /**\n       * Dashboard favorite list ID. Automatically generated by Wix.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number. Increments automatically by 1 whenever the list is successfully updated. To prevent conflicting changes, pass the current revision number when updating the list.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the dashboard favorite list was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the dashboard favorite list was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Collection of favorite dashboard pages. */\n      favorites?: Favorite[];\n  }\n  interface Favorite {\n      /** Favorite ID. Automatically generated by Wix. */\n      _id?: string | null;\n      /** ID of the page added to the list. */\n      pageId?: string;\n      /** Relative URL appended to the favorite page's URL. It can include path segments, a query string, or a fragment identifier. */\n      relativeUrl?: string | null;\n      /** Custom favorite page title as it appears in the list of favorites. */\n      title?: string | null;\n  }\n  interface CreateUserFavoriteListRequest {\n      /** Dashboard favorite list to create. */\n      favoriteList: DashboardFavoriteList;\n  }\n  interface CreateUserFavoriteListResponse {\n      /** Created dashboard favorite list. */\n      favoriteList?: DashboardFavoriteList;\n  }\n  interface GetUserFavoriteListRequest {\n  }\n  interface GetUserFavoriteListResponse {\n      /** User's dashboard favorite list. */\n      favoriteList?: DashboardFavoriteList;\n  }\n  interface UpdateUserFavoriteListRequest {\n      /**\n       * Dashboard favorite list to update. The `favorites` array in the request replaces the existing `favorites` array.\n       *\n       * To prevent conflicting changes, include the current revision number.\n       */\n      favoriteList: DashboardFavoriteList;\n      /**\n       * Fields to update. Only fields specified in `fieldMask.paths` are updated.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateUserFavoriteListResponse {\n      /** Updated dashboard favorite list. */\n      favoriteList?: DashboardFavoriteList;\n  }\n  interface DeleteUserFavoriteListRequest {\n      /** ID of the dashboard favorite list to delete. */\n      favoriteListId: string;\n  }\n  interface DeleteUserFavoriteListResponse {\n  }\n  interface AddUserFavoriteRequest {\n      /** Favorite page to add to the list. */\n      favorite: Favorite;\n  }\n  interface AddUserFavoriteResponse {\n      /** Updated dashboard favorite list. */\n      favoriteList?: DashboardFavoriteList;\n  }\n  interface DeleteUserFavoriteRequest {\n      /** ID of the favorite page to delete from the list. */\n      favoriteId: string;\n  }\n  interface DeleteUserFavoriteResponse {\n      /** Updated dashboard favorite list. */\n      favoriteList?: DashboardFavoriteList;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates the current user's list of favorites dashboard pages. A user can only have one such list.\n   *\n   * > **Note:**\n   * > When first calling this endpoint, you can create a list that contains one or more favorite dashboard pages. However, if a list already exists for that user, calling this endpoint generates an error.\n   * @param favoriteList - Dashboard favorite list to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField favoriteList\n   * @requiredField favoriteList.favorites\n   * @adminMethod\n   * @returns Created dashboard favorite list.\n   */\n  function createUserFavoriteList(favoriteList: DashboardFavoriteList): Promise<DashboardFavoriteList>;\n  /**\n   * Gets the user's dashboard favorite list.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getUserFavoriteList(): Promise<GetUserFavoriteListResponse>;\n  /**\n   * Updates the current user's list of dashboard favorites.\n   *\n   * To prevent conflicting changes, make sure to include the current revision number when calling this endpoint.\n   *\n   * > **Note:**\n   * > Updating the list replaces the favorite pages it contains with those passed to the endpoint.\n   * @param _id - Dashboard favorite list ID. Automatically generated by Wix.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField favoriteList\n   * @requiredField favoriteList.revision\n   * @adminMethod\n   * @returns Updated dashboard favorite list.\n   */\n  function updateUserFavoriteList(_id: string | null, favoriteList: UpdateUserFavoriteList, options?: UpdateUserFavoriteListOptions): Promise<DashboardFavoriteList>;\n  interface UpdateUserFavoriteList {\n      /**\n       * Dashboard favorite list ID. Automatically generated by Wix.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number. Increments automatically by 1 whenever the list is successfully updated. To prevent conflicting changes, pass the current revision number when updating the list.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the dashboard favorite list was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the dashboard favorite list was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Collection of favorite dashboard pages. */\n      favorites?: Favorite[];\n  }\n  interface UpdateUserFavoriteListOptions {\n      /**\n       * Fields to update. Only fields specified in `fieldMask.paths` are updated.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes the user's dashboard favorite list.\n   * @param favoriteListId - ID of the dashboard favorite list to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField favoriteListId\n   * @adminMethod\n   */\n  function deleteUserFavoriteList(favoriteListId: string): Promise<void>;\n  /**\n   * Adds a favorite page to the list. If the user does not have a list, the endpoint creates a new list and adds the favorite page to it.\n   * @param favorite - Favorite page to add to the list.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField favorite\n   * @adminMethod\n   */\n  function addUserFavorite(favorite: Favorite): Promise<AddUserFavoriteResponse>;\n  /**\n   * Deletes the favorite page from the list. If the list is empty, it is deleted.\n   * @param favoriteId - ID of the favorite page to delete from the list.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField favoriteId\n   * @adminMethod\n   */\n  function deleteUserFavorite(favoriteId: string): Promise<DeleteUserFavoriteResponse>;\n  \n  type dashboardV1FavoriteList_universal_d_DashboardFavoriteList = DashboardFavoriteList;\n  type dashboardV1FavoriteList_universal_d_Favorite = Favorite;\n  type dashboardV1FavoriteList_universal_d_CreateUserFavoriteListRequest = CreateUserFavoriteListRequest;\n  type dashboardV1FavoriteList_universal_d_CreateUserFavoriteListResponse = CreateUserFavoriteListResponse;\n  type dashboardV1FavoriteList_universal_d_GetUserFavoriteListRequest = GetUserFavoriteListRequest;\n  type dashboardV1FavoriteList_universal_d_GetUserFavoriteListResponse = GetUserFavoriteListResponse;\n  type dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListRequest = UpdateUserFavoriteListRequest;\n  type dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListResponse = UpdateUserFavoriteListResponse;\n  type dashboardV1FavoriteList_universal_d_DeleteUserFavoriteListRequest = DeleteUserFavoriteListRequest;\n  type dashboardV1FavoriteList_universal_d_DeleteUserFavoriteListResponse = DeleteUserFavoriteListResponse;\n  type dashboardV1FavoriteList_universal_d_AddUserFavoriteRequest = AddUserFavoriteRequest;\n  type dashboardV1FavoriteList_universal_d_AddUserFavoriteResponse = AddUserFavoriteResponse;\n  type dashboardV1FavoriteList_universal_d_DeleteUserFavoriteRequest = DeleteUserFavoriteRequest;\n  type dashboardV1FavoriteList_universal_d_DeleteUserFavoriteResponse = DeleteUserFavoriteResponse;\n  type dashboardV1FavoriteList_universal_d_DomainEvent = DomainEvent;\n  type dashboardV1FavoriteList_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type dashboardV1FavoriteList_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type dashboardV1FavoriteList_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type dashboardV1FavoriteList_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type dashboardV1FavoriteList_universal_d_ActionEvent = ActionEvent;\n  type dashboardV1FavoriteList_universal_d_MessageEnvelope = MessageEnvelope;\n  type dashboardV1FavoriteList_universal_d_IdentificationData = IdentificationData;\n  type dashboardV1FavoriteList_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type dashboardV1FavoriteList_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const dashboardV1FavoriteList_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const dashboardV1FavoriteList_universal_d_createUserFavoriteList: typeof createUserFavoriteList;\n  const dashboardV1FavoriteList_universal_d_getUserFavoriteList: typeof getUserFavoriteList;\n  const dashboardV1FavoriteList_universal_d_updateUserFavoriteList: typeof updateUserFavoriteList;\n  type dashboardV1FavoriteList_universal_d_UpdateUserFavoriteList = UpdateUserFavoriteList;\n  type dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListOptions = UpdateUserFavoriteListOptions;\n  const dashboardV1FavoriteList_universal_d_deleteUserFavoriteList: typeof deleteUserFavoriteList;\n  const dashboardV1FavoriteList_universal_d_addUserFavorite: typeof addUserFavorite;\n  const dashboardV1FavoriteList_universal_d_deleteUserFavorite: typeof deleteUserFavorite;\n  namespace dashboardV1FavoriteList_universal_d {\n    export {\n      dashboardV1FavoriteList_universal_d_DashboardFavoriteList as DashboardFavoriteList,\n      dashboardV1FavoriteList_universal_d_Favorite as Favorite,\n      dashboardV1FavoriteList_universal_d_CreateUserFavoriteListRequest as CreateUserFavoriteListRequest,\n      dashboardV1FavoriteList_universal_d_CreateUserFavoriteListResponse as CreateUserFavoriteListResponse,\n      dashboardV1FavoriteList_universal_d_GetUserFavoriteListRequest as GetUserFavoriteListRequest,\n      dashboardV1FavoriteList_universal_d_GetUserFavoriteListResponse as GetUserFavoriteListResponse,\n      dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListRequest as UpdateUserFavoriteListRequest,\n      dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListResponse as UpdateUserFavoriteListResponse,\n      dashboardV1FavoriteList_universal_d_DeleteUserFavoriteListRequest as DeleteUserFavoriteListRequest,\n      dashboardV1FavoriteList_universal_d_DeleteUserFavoriteListResponse as DeleteUserFavoriteListResponse,\n      dashboardV1FavoriteList_universal_d_AddUserFavoriteRequest as AddUserFavoriteRequest,\n      dashboardV1FavoriteList_universal_d_AddUserFavoriteResponse as AddUserFavoriteResponse,\n      dashboardV1FavoriteList_universal_d_DeleteUserFavoriteRequest as DeleteUserFavoriteRequest,\n      dashboardV1FavoriteList_universal_d_DeleteUserFavoriteResponse as DeleteUserFavoriteResponse,\n      dashboardV1FavoriteList_universal_d_DomainEvent as DomainEvent,\n      dashboardV1FavoriteList_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      dashboardV1FavoriteList_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      dashboardV1FavoriteList_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      dashboardV1FavoriteList_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      dashboardV1FavoriteList_universal_d_ActionEvent as ActionEvent,\n      dashboardV1FavoriteList_universal_d_MessageEnvelope as MessageEnvelope,\n      dashboardV1FavoriteList_universal_d_IdentificationData as IdentificationData,\n      dashboardV1FavoriteList_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      dashboardV1FavoriteList_universal_d_WebhookIdentityType as WebhookIdentityType,\n      dashboardV1FavoriteList_universal_d_createUserFavoriteList as createUserFavoriteList,\n      dashboardV1FavoriteList_universal_d_getUserFavoriteList as getUserFavoriteList,\n      dashboardV1FavoriteList_universal_d_updateUserFavoriteList as updateUserFavoriteList,\n      dashboardV1FavoriteList_universal_d_UpdateUserFavoriteList as UpdateUserFavoriteList,\n      dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListOptions as UpdateUserFavoriteListOptions,\n      dashboardV1FavoriteList_universal_d_deleteUserFavoriteList as deleteUserFavoriteList,\n      dashboardV1FavoriteList_universal_d_addUserFavorite as addUserFavorite,\n      dashboardV1FavoriteList_universal_d_deleteUserFavorite as deleteUserFavorite,\n    };\n  }\n  \n  export { dashboardV1FavoriteList_universal_d as favoriteList };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-papyrus-templates-backend.d.ts",
      "content": "declare module \"wix-papyrus-templates-backend\" {\n  interface TemplateSettings {\n      /**\n       * Auto generated ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Wix app definition ID. */\n      appSlug?: string | null;\n      /** The type of the template. */\n      templateType?: string | null;\n      /** The id of the template. */\n      templateId?: string | null;\n      /**\n       * Template settings external ID. For example ticket definition ID.\n       * Must be unique per tenant where tenant is taken from authorization (wix_app_id + meta_site_id)\n       */\n      externalId?: string | null;\n      /**\n       * Date settings were created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date settings were updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      settingGroups?: SettingsGroup[];\n      /** Paper size */\n      paperSize?: PaperSize;\n  }\n  interface TextSetting {\n      /** Font family class name */\n      fontFamily?: string | null;\n      /** Font style class names */\n      fontStyle?: string[];\n      /** Text alignment class name */\n      textAlignment?: string | null;\n      /** Text color hex code */\n      textColor?: string | null;\n      /** Font size */\n      fontSize?: number | null;\n      /** Text content setting */\n      textContent?: TextContent[];\n  }\n  interface TextContent {\n      _id?: string;\n      value?: string | null;\n      visible?: boolean;\n  }\n  interface ImageSetting {\n      /** Wix media Image */\n      image?: string;\n      /** Image resizing mode */\n      resize?: ResizeOption;\n  }\n  enum ResizeOption {\n      /** Automatically resizes full image to fit image field */\n      FIT = \"FIT\",\n      /** Enables user to manually crop image to fit image field */\n      CROP = \"CROP\"\n  }\n  interface SelectSetting {\n      /** Selected value */\n      value?: string | null;\n      /** Color hex code */\n      primaryColor?: string | null;\n      /** Color hex code */\n      secondaryColor?: string | null;\n      /** Size */\n      size?: number | null;\n  }\n  interface BackgroundSetting {\n      /** Color of the background hex code */\n      color?: string | null;\n      /** Wix media Image */\n      image?: string;\n  }\n  interface SettingsGroup {\n      /** Id of the control group */\n      groupId?: string;\n      /** Display settings. */\n      display?: Record<string, boolean>;\n      /** Texts settings. */\n      texts?: Record<string, TextSetting>;\n      /** Images settings. */\n      images?: Record<string, ImageSetting>;\n      /** Select option settings. */\n      selects?: Record<string, SelectSetting>;\n      /** Backgrounds settings. */\n      backgrounds?: Record<string, BackgroundSetting>;\n  }\n  enum PaperSize {\n      A4_PORTRAIT = \"A4_PORTRAIT\",\n      A4_LANDSCAPE = \"A4_LANDSCAPE\"\n  }\n  interface CreateTemplateSettingsRequest {\n      /** Settings to be created. */\n      settings?: TemplateSettings;\n  }\n  interface CreateTemplateSettingsResponse {\n      /** Created settings. */\n      settings?: TemplateSettings;\n  }\n  interface BulkCreateTemplateSettingsRequest {\n      /** Settings to be created. */\n      settings?: TemplateSettings[];\n  }\n  interface BulkCreateTemplateSettingsResponse {\n      /** Created settings */\n      settings?: TemplateSettings[];\n  }\n  interface UpsertTemplateSettingsRequest {\n      /** Settings to be upserted. */\n      settings?: TemplateSettings;\n  }\n  interface UpsertTemplateSettingsResponse {\n      /** Upserted settings. */\n      settings?: TemplateSettings;\n  }\n  interface GetTemplateSettingsRequest {\n      /** Settings ID. */\n      templateSettingsId: string;\n  }\n  interface GetTemplateSettingsResponse {\n      /** Retrieved settings. */\n      settings?: TemplateSettings;\n  }\n  interface UpdateTemplateSettingsRequest {\n      /** Template Settings to be updated. */\n      settings?: TemplateSettings;\n  }\n  interface UpdateTemplateSettingsResponse {\n      /** Updated settings. */\n      settings?: TemplateSettings;\n  }\n  interface DeleteTemplateSettingsRequest {\n      /** Settings ID. */\n      templateSettingsId: string;\n  }\n  interface DeleteTemplateSettingsResponse {\n      /** Deleted settings. */\n      settings?: TemplateSettings;\n  }\n  interface QueryTemplateSettingsRequest {\n      /** Generic query object. */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTemplateSettingsResponse {\n      /** Template settings results. */\n      settings?: TemplateSettings[];\n      /** Query result's metadata. */\n      metadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ResolveTemplateSettingsRequest {\n      /** The id of the settings. */\n      templateSettingsId?: string | null;\n      /** External ID. */\n      templateSettingsExternalId?: string | null;\n      /** The type of the template. Used to resolve default settings. */\n      templateType: string | null;\n      /** Wix app slug. */\n      appSlug: string | null;\n      /** The id of template. */\n      templateId?: string | null;\n  }\n  interface ResolveTemplateSettingsResponse {\n      /** Retrieved settings. */\n      settings?: TemplateSettings;\n  }\n  interface GetTemplateControlsRequest {\n  }\n  interface GetTemplateControlsResponse {\n      templateControls?: TemplateControls;\n  }\n  interface TemplateControls {\n      /** The name of the template */\n      templateName?: string;\n      /** The controls groups configuration */\n      controlGroups?: ControlGroup[];\n  }\n  /** Represents control groups on the left side of the UI */\n  interface ControlGroup {\n      groupId?: string;\n      icon?: string;\n      labelKey?: string;\n      titleKey?: string;\n      descriptionKey?: string;\n      linkKey?: string | null;\n      linkUrl?: string | null;\n      tooltipKey?: string | null;\n      /** Display controls */\n      display?: DisplayControl[];\n      /** Text controls */\n      texts?: TextControl[];\n      /** Image controls */\n      images?: ImageControl[];\n      /** Select controls */\n      selects?: SelectControl[];\n      /** Background controls */\n      backgrounds?: BackgroundControl[];\n  }\n  interface DisplayControl {\n      /** The id of the setting */\n      _id?: string;\n      /** Optional label key for translations */\n      labelKey?: string | null;\n      /** Default setting for this control */\n      default?: boolean;\n  }\n  interface TextControl {\n      /** The id of the setting */\n      _id?: string;\n      /** Optional label key for translations */\n      labelKey?: string | null;\n      /** Default setting for this control */\n      default?: TextSetting;\n      /** Text properties */\n      textProperties?: TextPropertyControl[];\n      textContent?: TextContentControl[];\n  }\n  interface TextPropertyControl {\n      /** One of \"fontFamily\", \"fontStyle\", \"fontSize\", \"textAlignment\" */\n      type?: string;\n      /** Optional label key for translations */\n      labelKey?: string | null;\n      /** List of possible options. Used for \"fontFamily\", \"fontStyle\", \"textAlignment\" */\n      options?: ValueOption[];\n      /** Optional range of the value. Used for \"fontSize\" */\n      range?: Range;\n  }\n  interface ValueOption {\n      /** The label key for translations */\n      labelKey?: string;\n      /** The value */\n      value?: string;\n  }\n  interface Range {\n      /** Minimum value. */\n      min?: number | null;\n      /** Maximum value. */\n      max?: number | null;\n  }\n  interface TextContentControl {\n      _id?: string;\n      labelKey?: string | null;\n      maxLength?: number | null;\n  }\n  interface ImageControl {\n      /** The id of the setting */\n      _id?: string;\n      /** Optional label key for translations */\n      labelKey?: string | null;\n      /** Default setting for this control */\n      default?: ImageSetting;\n      /** Optional description key for translations */\n      descriptionKey?: string | null;\n      /** Enable logo builder support */\n      showLogoBuilder?: boolean;\n  }\n  interface SelectControl {\n      /** The id of the setting */\n      _id?: string;\n      /** Optional label key for translations */\n      labelKey?: string | null;\n      /** Default setting for this control */\n      default?: SelectSetting;\n      /** List of possible options */\n      options?: ValueOption[];\n      /** Allows to use primary colour setting from template designer */\n      showPrimaryColorPicker?: boolean;\n      /** Allows to use secondary colour setting from template designer */\n      showSecondaryColorPicker?: boolean;\n      /** Allows to use size setting from template designer. */\n      showSize?: boolean;\n      /** Optional range of the size value. */\n      sizeRange?: Range;\n  }\n  interface BackgroundControl {\n      /** The id of the setting */\n      _id?: string;\n      /** Optional label key for translations */\n      labelKey?: string | null;\n      /** Default setting for this control */\n      default?: BackgroundSetting;\n      /** Allows to use colour setting from template designer */\n      showColorPicker?: boolean;\n      /** Allows to use image setting from template designer */\n      showImagePicker?: boolean;\n      /** Enables background opacity control */\n      opacityEnabled?: boolean | null;\n      /** Enables background image opacity control */\n      imageOpacityEnabled?: boolean | null;\n      /** Default media manager folder with background images */\n      mediaRootFolder?: string | null;\n  }\n  interface GetTemplateRegistryRequest {\n  }\n  interface GetTemplateRegistryResponse {\n      templateRegistry?: TemplateRegistry;\n  }\n  interface TemplateRegistry {\n      /** Templates. */\n      templates?: WixAppTemplate[];\n  }\n  /** Defines a template and it's styles. */\n  interface WixAppTemplate {\n      /** Wix App Id */\n      wixAppId?: string;\n      /** App Slug */\n      appSlug?: string;\n      /** Template type. */\n      templateType?: string;\n      /** Templates */\n      templates?: TemplateStyle[];\n  }\n  /**\n   * Defines a template style.\n   *\n   * Path to TemplateControls json file:\n   * papyrus-templates-lib/\n   * src/\n   * templates/\n   * {app_slug}/\n   * {template_type}/\n   * {id}/\n   * controls.json\n   */\n  interface TemplateStyle {\n      /** The id of the template. */\n      _id?: string;\n      /**\n       * Determines which template should be used if user did not choose it yet.\n       * Only single template per wix_app_id can be default.\n       */\n      default?: boolean;\n      /** Determines if template cannot be selected for a new entity. */\n      inactive?: boolean;\n      /** Paper size */\n      paperSize?: PaperSize;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Create Template Settings.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.settings.appSlug\n   * @requiredField options.settings.externalId\n   * @requiredField options.settings.templateId\n   * @requiredField options.settings.templateType\n   * @adminMethod\n   * @returns Created settings.\n   */\n  function createTemplateSettings(options?: CreateTemplateSettingsOptions): Promise<TemplateSettings>;\n  interface CreateTemplateSettingsOptions {\n      /** Settings to be created. */\n      settings?: TemplateSettings;\n  }\n  /**\n   * Upsert Template Settings.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.settings.appSlug\n   * @requiredField options.settings.externalId\n   * @requiredField options.settings.templateId\n   * @requiredField options.settings.templateType\n   * @adminMethod\n   */\n  function upsertTemplateSettings(options?: UpsertTemplateSettingsOptions): Promise<UpsertTemplateSettingsResponse>;\n  interface UpsertTemplateSettingsOptions {\n      /** Settings to be upserted. */\n      settings?: TemplateSettings;\n  }\n  /**\n   * Get Template Settings.\n   * @param templateSettingsId - Settings ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField templateSettingsId\n   * @adminMethod\n   * @returns Retrieved settings.\n   */\n  function getTemplateSettings(templateSettingsId: string): Promise<TemplateSettings>;\n  /**\n   * Update Template Settings.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.settings._id\n   * @requiredField options.settings.templateId\n   * @requiredField options.settings.templateType\n   * @adminMethod\n   * @returns Updated settings.\n   */\n  function updateTemplateSettings(options?: UpdateTemplateSettingsOptions): Promise<TemplateSettings>;\n  interface UpdateTemplateSettingsOptions {\n      /** Template Settings to be updated. */\n      settings?: TemplateSettings;\n  }\n  /**\n   * Delete Template Settings.\n   * @param templateSettingsId - Settings ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField templateSettingsId\n   * @adminMethod\n   */\n  function deleteTemplateSettings(templateSettingsId: string): Promise<DeleteTemplateSettingsResponse>;\n  /**\n   * Lists Template Settings.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PAPYRUS.READ_TEMPLATE_SETTINGS\n   * @adminMethod\n   */\n  function queryTemplateSettings(): SettingsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SettingsQueryResult extends QueryCursorResult {\n      items: TemplateSettings[];\n      query: SettingsQueryBuilder;\n      next: () => Promise<SettingsQueryResult>;\n      prev: () => Promise<SettingsQueryResult>;\n  }\n  interface SettingsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SettingsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SettingsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SettingsQueryResult>;\n  }\n  /**\n   * Resolve Template Settings. Returns default Template Settings if it does not exist.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.appSlug\n   * @requiredField options.templateType\n   * @adminMethod\n   */\n  function resolveTemplateSettings(options?: ResolveTemplateSettingsOptions): Promise<ResolveTemplateSettingsResponse>;\n  interface ResolveTemplateSettingsOptions {\n      /** The id of the settings. */\n      templateSettingsId?: string | null;\n      /** External ID. */\n      templateSettingsExternalId?: string | null;\n      /** The type of the template. Used to resolve default settings. */\n      templateType: string | null;\n      /** Wix app slug. */\n      appSlug: string | null;\n      /** The id of template. */\n      templateId?: string | null;\n  }\n  \n  type papyrusV1TemplateSettings_universal_d_TemplateSettings = TemplateSettings;\n  type papyrusV1TemplateSettings_universal_d_TextSetting = TextSetting;\n  type papyrusV1TemplateSettings_universal_d_TextContent = TextContent;\n  type papyrusV1TemplateSettings_universal_d_ImageSetting = ImageSetting;\n  type papyrusV1TemplateSettings_universal_d_ResizeOption = ResizeOption;\n  const papyrusV1TemplateSettings_universal_d_ResizeOption: typeof ResizeOption;\n  type papyrusV1TemplateSettings_universal_d_SelectSetting = SelectSetting;\n  type papyrusV1TemplateSettings_universal_d_BackgroundSetting = BackgroundSetting;\n  type papyrusV1TemplateSettings_universal_d_SettingsGroup = SettingsGroup;\n  type papyrusV1TemplateSettings_universal_d_PaperSize = PaperSize;\n  const papyrusV1TemplateSettings_universal_d_PaperSize: typeof PaperSize;\n  type papyrusV1TemplateSettings_universal_d_CreateTemplateSettingsRequest = CreateTemplateSettingsRequest;\n  type papyrusV1TemplateSettings_universal_d_CreateTemplateSettingsResponse = CreateTemplateSettingsResponse;\n  type papyrusV1TemplateSettings_universal_d_BulkCreateTemplateSettingsRequest = BulkCreateTemplateSettingsRequest;\n  type papyrusV1TemplateSettings_universal_d_BulkCreateTemplateSettingsResponse = BulkCreateTemplateSettingsResponse;\n  type papyrusV1TemplateSettings_universal_d_UpsertTemplateSettingsRequest = UpsertTemplateSettingsRequest;\n  type papyrusV1TemplateSettings_universal_d_UpsertTemplateSettingsResponse = UpsertTemplateSettingsResponse;\n  type papyrusV1TemplateSettings_universal_d_GetTemplateSettingsRequest = GetTemplateSettingsRequest;\n  type papyrusV1TemplateSettings_universal_d_GetTemplateSettingsResponse = GetTemplateSettingsResponse;\n  type papyrusV1TemplateSettings_universal_d_UpdateTemplateSettingsRequest = UpdateTemplateSettingsRequest;\n  type papyrusV1TemplateSettings_universal_d_UpdateTemplateSettingsResponse = UpdateTemplateSettingsResponse;\n  type papyrusV1TemplateSettings_universal_d_DeleteTemplateSettingsRequest = DeleteTemplateSettingsRequest;\n  type papyrusV1TemplateSettings_universal_d_DeleteTemplateSettingsResponse = DeleteTemplateSettingsResponse;\n  type papyrusV1TemplateSettings_universal_d_QueryTemplateSettingsRequest = QueryTemplateSettingsRequest;\n  type papyrusV1TemplateSettings_universal_d_QueryV2 = QueryV2;\n  type papyrusV1TemplateSettings_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type papyrusV1TemplateSettings_universal_d_Sorting = Sorting;\n  type papyrusV1TemplateSettings_universal_d_SortOrder = SortOrder;\n  const papyrusV1TemplateSettings_universal_d_SortOrder: typeof SortOrder;\n  type papyrusV1TemplateSettings_universal_d_Paging = Paging;\n  type papyrusV1TemplateSettings_universal_d_CursorPaging = CursorPaging;\n  type papyrusV1TemplateSettings_universal_d_QueryTemplateSettingsResponse = QueryTemplateSettingsResponse;\n  type papyrusV1TemplateSettings_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type papyrusV1TemplateSettings_universal_d_Cursors = Cursors;\n  type papyrusV1TemplateSettings_universal_d_ResolveTemplateSettingsRequest = ResolveTemplateSettingsRequest;\n  type papyrusV1TemplateSettings_universal_d_ResolveTemplateSettingsResponse = ResolveTemplateSettingsResponse;\n  type papyrusV1TemplateSettings_universal_d_GetTemplateControlsRequest = GetTemplateControlsRequest;\n  type papyrusV1TemplateSettings_universal_d_GetTemplateControlsResponse = GetTemplateControlsResponse;\n  type papyrusV1TemplateSettings_universal_d_TemplateControls = TemplateControls;\n  type papyrusV1TemplateSettings_universal_d_ControlGroup = ControlGroup;\n  type papyrusV1TemplateSettings_universal_d_DisplayControl = DisplayControl;\n  type papyrusV1TemplateSettings_universal_d_TextControl = TextControl;\n  type papyrusV1TemplateSettings_universal_d_TextPropertyControl = TextPropertyControl;\n  type papyrusV1TemplateSettings_universal_d_ValueOption = ValueOption;\n  type papyrusV1TemplateSettings_universal_d_Range = Range;\n  type papyrusV1TemplateSettings_universal_d_TextContentControl = TextContentControl;\n  type papyrusV1TemplateSettings_universal_d_ImageControl = ImageControl;\n  type papyrusV1TemplateSettings_universal_d_SelectControl = SelectControl;\n  type papyrusV1TemplateSettings_universal_d_BackgroundControl = BackgroundControl;\n  type papyrusV1TemplateSettings_universal_d_GetTemplateRegistryRequest = GetTemplateRegistryRequest;\n  type papyrusV1TemplateSettings_universal_d_GetTemplateRegistryResponse = GetTemplateRegistryResponse;\n  type papyrusV1TemplateSettings_universal_d_TemplateRegistry = TemplateRegistry;\n  type papyrusV1TemplateSettings_universal_d_WixAppTemplate = WixAppTemplate;\n  type papyrusV1TemplateSettings_universal_d_TemplateStyle = TemplateStyle;\n  type papyrusV1TemplateSettings_universal_d_DomainEvent = DomainEvent;\n  type papyrusV1TemplateSettings_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type papyrusV1TemplateSettings_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type papyrusV1TemplateSettings_universal_d_RestoreInfo = RestoreInfo;\n  type papyrusV1TemplateSettings_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type papyrusV1TemplateSettings_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type papyrusV1TemplateSettings_universal_d_ActionEvent = ActionEvent;\n  type papyrusV1TemplateSettings_universal_d_MessageEnvelope = MessageEnvelope;\n  type papyrusV1TemplateSettings_universal_d_IdentificationData = IdentificationData;\n  type papyrusV1TemplateSettings_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type papyrusV1TemplateSettings_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const papyrusV1TemplateSettings_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const papyrusV1TemplateSettings_universal_d_createTemplateSettings: typeof createTemplateSettings;\n  type papyrusV1TemplateSettings_universal_d_CreateTemplateSettingsOptions = CreateTemplateSettingsOptions;\n  const papyrusV1TemplateSettings_universal_d_upsertTemplateSettings: typeof upsertTemplateSettings;\n  type papyrusV1TemplateSettings_universal_d_UpsertTemplateSettingsOptions = UpsertTemplateSettingsOptions;\n  const papyrusV1TemplateSettings_universal_d_getTemplateSettings: typeof getTemplateSettings;\n  const papyrusV1TemplateSettings_universal_d_updateTemplateSettings: typeof updateTemplateSettings;\n  type papyrusV1TemplateSettings_universal_d_UpdateTemplateSettingsOptions = UpdateTemplateSettingsOptions;\n  const papyrusV1TemplateSettings_universal_d_deleteTemplateSettings: typeof deleteTemplateSettings;\n  const papyrusV1TemplateSettings_universal_d_queryTemplateSettings: typeof queryTemplateSettings;\n  type papyrusV1TemplateSettings_universal_d_SettingsQueryResult = SettingsQueryResult;\n  type papyrusV1TemplateSettings_universal_d_SettingsQueryBuilder = SettingsQueryBuilder;\n  const papyrusV1TemplateSettings_universal_d_resolveTemplateSettings: typeof resolveTemplateSettings;\n  type papyrusV1TemplateSettings_universal_d_ResolveTemplateSettingsOptions = ResolveTemplateSettingsOptions;\n  namespace papyrusV1TemplateSettings_universal_d {\n    export {\n      papyrusV1TemplateSettings_universal_d_TemplateSettings as TemplateSettings,\n      papyrusV1TemplateSettings_universal_d_TextSetting as TextSetting,\n      papyrusV1TemplateSettings_universal_d_TextContent as TextContent,\n      papyrusV1TemplateSettings_universal_d_ImageSetting as ImageSetting,\n      papyrusV1TemplateSettings_universal_d_ResizeOption as ResizeOption,\n      papyrusV1TemplateSettings_universal_d_SelectSetting as SelectSetting,\n      papyrusV1TemplateSettings_universal_d_BackgroundSetting as BackgroundSetting,\n      papyrusV1TemplateSettings_universal_d_SettingsGroup as SettingsGroup,\n      papyrusV1TemplateSettings_universal_d_PaperSize as PaperSize,\n      papyrusV1TemplateSettings_universal_d_CreateTemplateSettingsRequest as CreateTemplateSettingsRequest,\n      papyrusV1TemplateSettings_universal_d_CreateTemplateSettingsResponse as CreateTemplateSettingsResponse,\n      papyrusV1TemplateSettings_universal_d_BulkCreateTemplateSettingsRequest as BulkCreateTemplateSettingsRequest,\n      papyrusV1TemplateSettings_universal_d_BulkCreateTemplateSettingsResponse as BulkCreateTemplateSettingsResponse,\n      papyrusV1TemplateSettings_universal_d_UpsertTemplateSettingsRequest as UpsertTemplateSettingsRequest,\n      papyrusV1TemplateSettings_universal_d_UpsertTemplateSettingsResponse as UpsertTemplateSettingsResponse,\n      papyrusV1TemplateSettings_universal_d_GetTemplateSettingsRequest as GetTemplateSettingsRequest,\n      papyrusV1TemplateSettings_universal_d_GetTemplateSettingsResponse as GetTemplateSettingsResponse,\n      papyrusV1TemplateSettings_universal_d_UpdateTemplateSettingsRequest as UpdateTemplateSettingsRequest,\n      papyrusV1TemplateSettings_universal_d_UpdateTemplateSettingsResponse as UpdateTemplateSettingsResponse,\n      papyrusV1TemplateSettings_universal_d_DeleteTemplateSettingsRequest as DeleteTemplateSettingsRequest,\n      papyrusV1TemplateSettings_universal_d_DeleteTemplateSettingsResponse as DeleteTemplateSettingsResponse,\n      papyrusV1TemplateSettings_universal_d_QueryTemplateSettingsRequest as QueryTemplateSettingsRequest,\n      papyrusV1TemplateSettings_universal_d_QueryV2 as QueryV2,\n      papyrusV1TemplateSettings_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      papyrusV1TemplateSettings_universal_d_Sorting as Sorting,\n      papyrusV1TemplateSettings_universal_d_SortOrder as SortOrder,\n      papyrusV1TemplateSettings_universal_d_Paging as Paging,\n      papyrusV1TemplateSettings_universal_d_CursorPaging as CursorPaging,\n      papyrusV1TemplateSettings_universal_d_QueryTemplateSettingsResponse as QueryTemplateSettingsResponse,\n      papyrusV1TemplateSettings_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      papyrusV1TemplateSettings_universal_d_Cursors as Cursors,\n      papyrusV1TemplateSettings_universal_d_ResolveTemplateSettingsRequest as ResolveTemplateSettingsRequest,\n      papyrusV1TemplateSettings_universal_d_ResolveTemplateSettingsResponse as ResolveTemplateSettingsResponse,\n      papyrusV1TemplateSettings_universal_d_GetTemplateControlsRequest as GetTemplateControlsRequest,\n      papyrusV1TemplateSettings_universal_d_GetTemplateControlsResponse as GetTemplateControlsResponse,\n      papyrusV1TemplateSettings_universal_d_TemplateControls as TemplateControls,\n      papyrusV1TemplateSettings_universal_d_ControlGroup as ControlGroup,\n      papyrusV1TemplateSettings_universal_d_DisplayControl as DisplayControl,\n      papyrusV1TemplateSettings_universal_d_TextControl as TextControl,\n      papyrusV1TemplateSettings_universal_d_TextPropertyControl as TextPropertyControl,\n      papyrusV1TemplateSettings_universal_d_ValueOption as ValueOption,\n      papyrusV1TemplateSettings_universal_d_Range as Range,\n      papyrusV1TemplateSettings_universal_d_TextContentControl as TextContentControl,\n      papyrusV1TemplateSettings_universal_d_ImageControl as ImageControl,\n      papyrusV1TemplateSettings_universal_d_SelectControl as SelectControl,\n      papyrusV1TemplateSettings_universal_d_BackgroundControl as BackgroundControl,\n      papyrusV1TemplateSettings_universal_d_GetTemplateRegistryRequest as GetTemplateRegistryRequest,\n      papyrusV1TemplateSettings_universal_d_GetTemplateRegistryResponse as GetTemplateRegistryResponse,\n      papyrusV1TemplateSettings_universal_d_TemplateRegistry as TemplateRegistry,\n      papyrusV1TemplateSettings_universal_d_WixAppTemplate as WixAppTemplate,\n      papyrusV1TemplateSettings_universal_d_TemplateStyle as TemplateStyle,\n      papyrusV1TemplateSettings_universal_d_DomainEvent as DomainEvent,\n      papyrusV1TemplateSettings_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      papyrusV1TemplateSettings_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      papyrusV1TemplateSettings_universal_d_RestoreInfo as RestoreInfo,\n      papyrusV1TemplateSettings_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      papyrusV1TemplateSettings_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      papyrusV1TemplateSettings_universal_d_ActionEvent as ActionEvent,\n      papyrusV1TemplateSettings_universal_d_MessageEnvelope as MessageEnvelope,\n      papyrusV1TemplateSettings_universal_d_IdentificationData as IdentificationData,\n      papyrusV1TemplateSettings_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      papyrusV1TemplateSettings_universal_d_WebhookIdentityType as WebhookIdentityType,\n      papyrusV1TemplateSettings_universal_d_createTemplateSettings as createTemplateSettings,\n      papyrusV1TemplateSettings_universal_d_CreateTemplateSettingsOptions as CreateTemplateSettingsOptions,\n      papyrusV1TemplateSettings_universal_d_upsertTemplateSettings as upsertTemplateSettings,\n      papyrusV1TemplateSettings_universal_d_UpsertTemplateSettingsOptions as UpsertTemplateSettingsOptions,\n      papyrusV1TemplateSettings_universal_d_getTemplateSettings as getTemplateSettings,\n      papyrusV1TemplateSettings_universal_d_updateTemplateSettings as updateTemplateSettings,\n      papyrusV1TemplateSettings_universal_d_UpdateTemplateSettingsOptions as UpdateTemplateSettingsOptions,\n      papyrusV1TemplateSettings_universal_d_deleteTemplateSettings as deleteTemplateSettings,\n      papyrusV1TemplateSettings_universal_d_queryTemplateSettings as queryTemplateSettings,\n      papyrusV1TemplateSettings_universal_d_SettingsQueryResult as SettingsQueryResult,\n      papyrusV1TemplateSettings_universal_d_SettingsQueryBuilder as SettingsQueryBuilder,\n      papyrusV1TemplateSettings_universal_d_resolveTemplateSettings as resolveTemplateSettings,\n      papyrusV1TemplateSettings_universal_d_ResolveTemplateSettingsOptions as ResolveTemplateSettingsOptions,\n    };\n  }\n  \n  export { papyrusV1TemplateSettings_universal_d as papyrusTemplates };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-velo-publish-pipeline-v1-publish-pipeline-task-provider.d.ts",
      "content": "declare module \"interfaces-velo-publish-pipeline-v1-publish-pipeline-task-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface InvokeVeloPublishPipelineTaskProviderRequest {\n      /** The Velo app id */\n      gridAppId: string;\n      /** The deployment creation process id */\n      deploymentId: string;\n      /** The site's meta site id */\n      metaSiteId?: string;\n      /** The CloudSiteExtension instance id in meta site */\n      wixCodeInstanceId?: string;\n      /** The editor pages on the current deployed revision */\n      pages?: Page[];\n  }\n  interface Page {\n      /** The editor page id, i.e \"c1dmp\" */\n      _id?: string;\n      /** The editor page name, i.e \"HOME\" */\n      name?: string | null;\n  }\n  interface InvokeVeloPublishPipelineTaskProviderResponse {\n  }\n  interface VeloPublishPipelineTaskProviderConfig {\n      /** URI where the SPI Implementer is deployed */\n      baseUri?: SpiBaseUri;\n      /** The Velo Task name */\n      implementerTasksNames?: WixCodePublishTaskName[];\n  }\n  interface SpiBaseUri {\n      /** URI that will be used by the host to call the implementer. The path-suffix defined on the method will be appended to it */\n      baseUri?: string;\n      /** override method mappings per method */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /** name of the method as it appears in the proto */\n      methodName?: string;\n      /** absolute uri that will be used by the host to call that method. The path-suffix mapped from the method http option will NOT be appended to this URI. For TPAs. it must be https */\n      absoluteUri?: string;\n  }\n  enum WixCodePublishTaskName {\n      /** unknown */\n      UNKNOWN = \"UNKNOWN\",\n      /** user code bundle */\n      USER_CODE_BUNDLE = \"USER_CODE_BUNDLE\",\n      /** exported functions analysis */\n      EXPORTED_FUNCTIONS_ANALYSIS = \"EXPORTED_FUNCTIONS_ANALYSIS\",\n      /** imported namespaces analysis */\n      IMPORTED_NAMESPACES_ANALYSIS = \"IMPORTED_NAMESPACES_ANALYSIS\",\n      /** page details analysis */\n      PAGE_DETAILS_ANALYSIS = \"PAGE_DETAILS_ANALYSIS\"\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier for each request. Can be used for logging / troubleshooting */\n      requestId?: string | null;\n      /** 3 capital letters string representing a currency according to ISO-4217 */\n      currency?: string | null;\n      /** The identification type and identity data */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of \"xx-XX\". First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2 */\n      languages?: string[];\n      /** App instance ID of SPI in context */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface InvokeVeloPublishPipelineTaskProviderOptions {\n      /** The Velo app id */\n      gridAppId: string;\n      /** The deployment creation process id */\n      deploymentId: string;\n      /** The site's meta site id */\n      metaSiteId?: string;\n      /** The CloudSiteExtension instance id in meta site */\n      wixCodeInstanceId?: string;\n      /** The editor pages on the current deployed revision */\n      pages?: Page[];\n  }\n  \n  export { AlternativeUri, BusinessError, Context, IdentificationData, IdentificationDataIdOneOf, IdentityType, InvokeVeloPublishPipelineTaskProviderOptions, InvokeVeloPublishPipelineTaskProviderRequest, InvokeVeloPublishPipelineTaskProviderResponse, Page, SpiBaseUri, VeloPublishPipelineTaskProviderConfig, WixCodePublishTaskName };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-sending-domains-backend.d.ts",
      "content": "declare module \"wix-sending-domains-backend\" {\n  /** A SendingDomain is a ... */\n  interface SendingDomain {\n      /**\n       * SendingDomain ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Date and time this entity was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** The domain. */\n      domain?: string;\n      /**\n       * Current status of the SendingDomain.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Required domain DNS records for an email to pass dkim check (not available when status is \"INITIALIZING\").\n       * @readonly\n       */\n      dnsRecords?: DnsRecord[];\n  }\n  enum Type {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      CNAME = \"CNAME\"\n  }\n  enum Status {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      INITIALIZING = \"INITIALIZING\",\n      NOT_AUTHENTICATED = \"NOT_AUTHENTICATED\",\n      AUTHENTICATED = \"AUTHENTICATED\"\n  }\n  interface DnsRecord {\n      /** Host name of the DNS record. */\n      hostName?: string;\n      /** Value of the DNS record. */\n      value?: string;\n      /** Type of the DNS record. */\n      type?: Type;\n  }\n  interface CreateSendingDomainRequest {\n      /** SendingDomain to be created. */\n      sendingDomain: SendingDomain;\n  }\n  interface CreateSendingDomainResponse {\n      /** The created SendingDomain. */\n      sendingDomain?: SendingDomain;\n  }\n  interface GetSendingDomainRequest {\n      /** ID of the SendingDomain to retrieve. */\n      sendingDomainId: string;\n  }\n  interface GetSendingDomainResponse {\n      /** The requested SendingDomain. */\n      sendingDomain?: SendingDomain;\n  }\n  interface QuerySendingDomainsRequest {\n      /** WQL expression. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySendingDomainsResponse {\n      /** List of SendingDomains. */\n      sendingDomains?: SendingDomain[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AuthenticateSendingDomainRequest {\n      /** ID of the SendingDomain to authenticate. */\n      sendingDomainId: string;\n  }\n  interface AuthenticateSendingDomainResponse {\n      /** SendingDomain after authentication attempt. */\n      sendingDomain?: SendingDomain;\n  }\n  interface IsEmailUsableAsFromAddressRequest {\n      /** Email address to be checked. */\n      emailAddress?: string;\n  }\n  interface IsEmailUsableAsFromAddressResponse {\n      /** \"true\" if given email can be used as from address, \"false\" otherwise. */\n      usableAsFromAddress?: boolean;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a SendingDomain.\n   * Request body must include \"domain\" field.\n   * You can only create sending domain if you have sender details entry with the provided domain.\n   * @param sendingDomain - SendingDomain to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField sendingDomain\n   * @permissionId WIX_EMAILS.SENDING_DOMAIN_CREATE\n   * @adminMethod\n   * @returns The created SendingDomain.\n   */\n  function createSendingDomain(sendingDomain: SendingDomain): Promise<SendingDomain>;\n  /**\n   * Retrieves SendingDomain by ID.\n   * You can only retrieve sending domain if you have sender details entry with the requested domain.\n   * @param sendingDomainId - ID of the SendingDomain to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField sendingDomainId\n   * @permissionId WIX_EMAILS.SENDING_DOMAIN_READ\n   * @adminMethod\n   * @returns The requested SendingDomain.\n   */\n  function getSendingDomain(sendingDomainId: string): Promise<SendingDomain>;\n  /**\n   * Retrieves a list of SendingDomains, given the provided [paging, filtering, and sorting][1].\n   * Up to 1,000 SendingDomains can be returned per request.\n   * You can only retrieve sending domain if you have sender details entry with the requested domain.\n   * To learn how to query SendingDomains, see [API Query Language][2].\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId WIX_EMAILS.SENDING_DOMAIN_READ\n   * @adminMethod\n   */\n  function querySendingDomains(): SendingDomainsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SendingDomainsQueryResult extends QueryCursorResult {\n      items: SendingDomain[];\n      query: SendingDomainsQueryBuilder;\n      next: () => Promise<SendingDomainsQueryResult>;\n      prev: () => Promise<SendingDomainsQueryResult>;\n  }\n  interface SendingDomainsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'domain', value: any) => SendingDomainsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'domain', value: any) => SendingDomainsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'domain', value: string) => SendingDomainsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'domain', value: any[]) => SendingDomainsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'domain', value: any) => SendingDomainsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'domain', value: boolean) => SendingDomainsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'domain'>) => SendingDomainsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'domain'>) => SendingDomainsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SendingDomainsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SendingDomainsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SendingDomainsQueryResult>;\n  }\n  /**\n   * Authenticate sending domain.\n   * You can only authenticate sending domain if you have sender details entry with the provided domain.\n   * @param sendingDomainId - ID of the SendingDomain to authenticate.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField sendingDomainId\n   * @permissionId WIX_EMAILS.SENDING_DOMAIN_AUTHENTICATE\n   * @adminMethod\n   */\n  function authenticateSendingDomain(sendingDomainId: string): Promise<AuthenticateSendingDomainResponse>;\n  \n  type emailsSendingdomainsV1SendingDomain_universal_d_SendingDomain = SendingDomain;\n  type emailsSendingdomainsV1SendingDomain_universal_d_Type = Type;\n  const emailsSendingdomainsV1SendingDomain_universal_d_Type: typeof Type;\n  type emailsSendingdomainsV1SendingDomain_universal_d_Status = Status;\n  const emailsSendingdomainsV1SendingDomain_universal_d_Status: typeof Status;\n  type emailsSendingdomainsV1SendingDomain_universal_d_DnsRecord = DnsRecord;\n  type emailsSendingdomainsV1SendingDomain_universal_d_CreateSendingDomainRequest = CreateSendingDomainRequest;\n  type emailsSendingdomainsV1SendingDomain_universal_d_CreateSendingDomainResponse = CreateSendingDomainResponse;\n  type emailsSendingdomainsV1SendingDomain_universal_d_GetSendingDomainRequest = GetSendingDomainRequest;\n  type emailsSendingdomainsV1SendingDomain_universal_d_GetSendingDomainResponse = GetSendingDomainResponse;\n  type emailsSendingdomainsV1SendingDomain_universal_d_QuerySendingDomainsRequest = QuerySendingDomainsRequest;\n  type emailsSendingdomainsV1SendingDomain_universal_d_CursorQuery = CursorQuery;\n  type emailsSendingdomainsV1SendingDomain_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type emailsSendingdomainsV1SendingDomain_universal_d_Sorting = Sorting;\n  type emailsSendingdomainsV1SendingDomain_universal_d_SortOrder = SortOrder;\n  const emailsSendingdomainsV1SendingDomain_universal_d_SortOrder: typeof SortOrder;\n  type emailsSendingdomainsV1SendingDomain_universal_d_CursorPaging = CursorPaging;\n  type emailsSendingdomainsV1SendingDomain_universal_d_QuerySendingDomainsResponse = QuerySendingDomainsResponse;\n  type emailsSendingdomainsV1SendingDomain_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type emailsSendingdomainsV1SendingDomain_universal_d_Cursors = Cursors;\n  type emailsSendingdomainsV1SendingDomain_universal_d_AuthenticateSendingDomainRequest = AuthenticateSendingDomainRequest;\n  type emailsSendingdomainsV1SendingDomain_universal_d_AuthenticateSendingDomainResponse = AuthenticateSendingDomainResponse;\n  type emailsSendingdomainsV1SendingDomain_universal_d_IsEmailUsableAsFromAddressRequest = IsEmailUsableAsFromAddressRequest;\n  type emailsSendingdomainsV1SendingDomain_universal_d_IsEmailUsableAsFromAddressResponse = IsEmailUsableAsFromAddressResponse;\n  type emailsSendingdomainsV1SendingDomain_universal_d_DomainEvent = DomainEvent;\n  type emailsSendingdomainsV1SendingDomain_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type emailsSendingdomainsV1SendingDomain_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type emailsSendingdomainsV1SendingDomain_universal_d_RestoreInfo = RestoreInfo;\n  type emailsSendingdomainsV1SendingDomain_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type emailsSendingdomainsV1SendingDomain_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type emailsSendingdomainsV1SendingDomain_universal_d_ActionEvent = ActionEvent;\n  type emailsSendingdomainsV1SendingDomain_universal_d_Empty = Empty;\n  type emailsSendingdomainsV1SendingDomain_universal_d_MessageEnvelope = MessageEnvelope;\n  type emailsSendingdomainsV1SendingDomain_universal_d_IdentificationData = IdentificationData;\n  type emailsSendingdomainsV1SendingDomain_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type emailsSendingdomainsV1SendingDomain_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const emailsSendingdomainsV1SendingDomain_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const emailsSendingdomainsV1SendingDomain_universal_d_createSendingDomain: typeof createSendingDomain;\n  const emailsSendingdomainsV1SendingDomain_universal_d_getSendingDomain: typeof getSendingDomain;\n  const emailsSendingdomainsV1SendingDomain_universal_d_querySendingDomains: typeof querySendingDomains;\n  type emailsSendingdomainsV1SendingDomain_universal_d_SendingDomainsQueryResult = SendingDomainsQueryResult;\n  type emailsSendingdomainsV1SendingDomain_universal_d_SendingDomainsQueryBuilder = SendingDomainsQueryBuilder;\n  const emailsSendingdomainsV1SendingDomain_universal_d_authenticateSendingDomain: typeof authenticateSendingDomain;\n  namespace emailsSendingdomainsV1SendingDomain_universal_d {\n    export {\n      emailsSendingdomainsV1SendingDomain_universal_d_SendingDomain as SendingDomain,\n      emailsSendingdomainsV1SendingDomain_universal_d_Type as Type,\n      emailsSendingdomainsV1SendingDomain_universal_d_Status as Status,\n      emailsSendingdomainsV1SendingDomain_universal_d_DnsRecord as DnsRecord,\n      emailsSendingdomainsV1SendingDomain_universal_d_CreateSendingDomainRequest as CreateSendingDomainRequest,\n      emailsSendingdomainsV1SendingDomain_universal_d_CreateSendingDomainResponse as CreateSendingDomainResponse,\n      emailsSendingdomainsV1SendingDomain_universal_d_GetSendingDomainRequest as GetSendingDomainRequest,\n      emailsSendingdomainsV1SendingDomain_universal_d_GetSendingDomainResponse as GetSendingDomainResponse,\n      emailsSendingdomainsV1SendingDomain_universal_d_QuerySendingDomainsRequest as QuerySendingDomainsRequest,\n      emailsSendingdomainsV1SendingDomain_universal_d_CursorQuery as CursorQuery,\n      emailsSendingdomainsV1SendingDomain_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      emailsSendingdomainsV1SendingDomain_universal_d_Sorting as Sorting,\n      emailsSendingdomainsV1SendingDomain_universal_d_SortOrder as SortOrder,\n      emailsSendingdomainsV1SendingDomain_universal_d_CursorPaging as CursorPaging,\n      emailsSendingdomainsV1SendingDomain_universal_d_QuerySendingDomainsResponse as QuerySendingDomainsResponse,\n      emailsSendingdomainsV1SendingDomain_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      emailsSendingdomainsV1SendingDomain_universal_d_Cursors as Cursors,\n      emailsSendingdomainsV1SendingDomain_universal_d_AuthenticateSendingDomainRequest as AuthenticateSendingDomainRequest,\n      emailsSendingdomainsV1SendingDomain_universal_d_AuthenticateSendingDomainResponse as AuthenticateSendingDomainResponse,\n      emailsSendingdomainsV1SendingDomain_universal_d_IsEmailUsableAsFromAddressRequest as IsEmailUsableAsFromAddressRequest,\n      emailsSendingdomainsV1SendingDomain_universal_d_IsEmailUsableAsFromAddressResponse as IsEmailUsableAsFromAddressResponse,\n      emailsSendingdomainsV1SendingDomain_universal_d_DomainEvent as DomainEvent,\n      emailsSendingdomainsV1SendingDomain_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      emailsSendingdomainsV1SendingDomain_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      emailsSendingdomainsV1SendingDomain_universal_d_RestoreInfo as RestoreInfo,\n      emailsSendingdomainsV1SendingDomain_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      emailsSendingdomainsV1SendingDomain_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      emailsSendingdomainsV1SendingDomain_universal_d_ActionEvent as ActionEvent,\n      emailsSendingdomainsV1SendingDomain_universal_d_Empty as Empty,\n      emailsSendingdomainsV1SendingDomain_universal_d_MessageEnvelope as MessageEnvelope,\n      emailsSendingdomainsV1SendingDomain_universal_d_IdentificationData as IdentificationData,\n      emailsSendingdomainsV1SendingDomain_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      emailsSendingdomainsV1SendingDomain_universal_d_WebhookIdentityType as WebhookIdentityType,\n      emailsSendingdomainsV1SendingDomain_universal_d_createSendingDomain as createSendingDomain,\n      emailsSendingdomainsV1SendingDomain_universal_d_getSendingDomain as getSendingDomain,\n      emailsSendingdomainsV1SendingDomain_universal_d_querySendingDomains as querySendingDomains,\n      emailsSendingdomainsV1SendingDomain_universal_d_SendingDomainsQueryResult as SendingDomainsQueryResult,\n      emailsSendingdomainsV1SendingDomain_universal_d_SendingDomainsQueryBuilder as SendingDomainsQueryBuilder,\n      emailsSendingdomainsV1SendingDomain_universal_d_authenticateSendingDomain as authenticateSendingDomain,\n    };\n  }\n  \n  export { emailsSendingdomainsV1SendingDomain_universal_d as sendingDomains };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-site-plugins.v1.d.ts",
      "content": "declare module \"wix-site-plugins.v1\" {\n  /** The `PlacementStatus` object represents the status of your app's site plugins, indicating whether they are currently placed in a slot on the user's site. */\n  interface PlacementStatus {\n      /**\n       * Plugin ID. This is a unique ID that is assigned to each plugin. You can view your plugin IDs in [extensions](https://dev.wix.com/app-selector?title=Select+an+App&primaryButtonText=Select+Site&actionUrl=https%3A%2F%2Fdev.wix.com%2Fapps%2F%7BappId%7D%2Fextensions) in your app's dashboard.\n       * @readonly\n       */\n      pluginId?: string | null;\n      /**\n       * Whether the plugin placed in a slot on the user's site.\n       * @readonly\n       */\n      placedInSlot?: boolean | null;\n  }\n  interface GetPlacementStatusRequest {\n  }\n  interface GetPlacementStatusResponse {\n      /** Data about placement statuses of your app's site plugins on the user's site. */\n      placementStatuses?: PlacementStatus[];\n  }\n  /**\n   * Get the placement statuses of your app's site plugins on the user's site.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PLUGINS.PLACEMENT_STATUSES_READ\n   * @adminMethod\n   */\n  function getPlacementStatus(): Promise<GetPlacementStatusResponse>;\n  \n  type appPluginsSitePluginsV1PlacementStatus_universal_d_PlacementStatus = PlacementStatus;\n  type appPluginsSitePluginsV1PlacementStatus_universal_d_GetPlacementStatusRequest = GetPlacementStatusRequest;\n  type appPluginsSitePluginsV1PlacementStatus_universal_d_GetPlacementStatusResponse = GetPlacementStatusResponse;\n  const appPluginsSitePluginsV1PlacementStatus_universal_d_getPlacementStatus: typeof getPlacementStatus;\n  namespace appPluginsSitePluginsV1PlacementStatus_universal_d {\n    export {\n      appPluginsSitePluginsV1PlacementStatus_universal_d_PlacementStatus as PlacementStatus,\n      appPluginsSitePluginsV1PlacementStatus_universal_d_GetPlacementStatusRequest as GetPlacementStatusRequest,\n      appPluginsSitePluginsV1PlacementStatus_universal_d_GetPlacementStatusResponse as GetPlacementStatusResponse,\n      appPluginsSitePluginsV1PlacementStatus_universal_d_getPlacementStatus as getPlacementStatus,\n    };\n  }\n  \n  export { appPluginsSitePluginsV1PlacementStatus_universal_d as plugins };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-dashboard-management.v2.d.ts",
      "content": "declare module \"wix-dashboard-management.v2\" {\n  /** List of favorite dashboard pages. */\n  interface DashboardFavoriteList {\n      /**\n       * Dashboard favorite list ID. Automatically generated by Wix.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number. Increments automatically by 1 whenever the list is successfully updated. To prevent conflicting changes, pass the current revision number when updating the list.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the dashboard favorite list was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the dashboard favorite list was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** List of favorite dashboard pages. */\n      favorites?: Favorite[];\n  }\n  interface Favorite {\n      /** Favorite ID. Automatically generated by Wix. */\n      _id?: string | null;\n      /** ID of the page added to the list. */\n      pageId?: string;\n      /** Relative URL appended to the page's URL for customizing the navigation. It can include path segments, a query string, or a fragment identifier. */\n      relativeUrl?: string | null;\n      /** Custom title displayed in the list of favorite pages. */\n      title?: string | null;\n  }\n  interface CreateUserFavoriteListRequest {\n      /** Dashboard favorite list to create. */\n      favoriteList: DashboardFavoriteList;\n  }\n  interface CreateUserFavoriteListResponse {\n      /** Created dashboard favorite list. */\n      favoriteList?: DashboardFavoriteList;\n  }\n  interface GetUserFavoriteListRequest {\n  }\n  interface GetUserFavoriteListResponse {\n      /** Wix user's dashboard favorite list. */\n      favoriteList?: DashboardFavoriteList;\n  }\n  interface UpdateUserFavoriteListRequest {\n      /**\n       * Dashboard favorite list to update. The `favorites` array in the request replaces the existing `favorites` array.\n       *\n       * To prevent conflicting changes, include the current revision number.\n       */\n      favoriteList: DashboardFavoriteList;\n      /**\n       * Fields to update. Only fields specified in `fieldMask.paths` are updated.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateUserFavoriteListResponse {\n      /** Updated dashboard favorite list. */\n      favoriteList?: DashboardFavoriteList;\n  }\n  interface DeleteUserFavoriteListRequest {\n      /** ID of the dashboard favorite list to delete. */\n      favoriteListId: string;\n  }\n  interface DeleteUserFavoriteListResponse {\n  }\n  interface AddUserFavoriteRequest {\n      /** Favorite page to add to the list. */\n      favorite: Favorite;\n  }\n  interface AddUserFavoriteResponse {\n      /** Updated dashboard favorite list. */\n      favoriteList?: DashboardFavoriteList;\n  }\n  interface DeleteUserFavoriteRequest {\n      /** ID of the favorite page to delete from the list. */\n      favoriteId: string;\n  }\n  interface DeleteUserFavoriteResponse {\n      /** Updated dashboard favorite list. */\n      favoriteList?: DashboardFavoriteList;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a list of favorite dashboard pages for the current Wix user. A Wix user can only have one such list.\n   *\n   * > **Note:**\n   * > When first calling this method on behalf of a Wix user, you can create a list that contains one or more favorite dashboard pages. However, if a list already exists for that Wix user, calling this method generates an error.\n   * @param favoriteList - Dashboard favorite list to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField favoriteList\n   * @requiredField favoriteList.favorites\n   * @permissionId DASHBOARD.FAVORITES_WRITE\n   * @adminMethod\n   * @returns Created dashboard favorite list.\n   */\n  function createUserFavoriteList(favoriteList: DashboardFavoriteList): Promise<DashboardFavoriteList>;\n  /**\n   * Retrieves the Wix user's dashboard favorite list.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId DASHBOARD.FAVORITES_READ\n   * @adminMethod\n   */\n  function getUserFavoriteList(): Promise<GetUserFavoriteListResponse>;\n  /**\n   * Updates the current Wix user's list of favorite dashboard pages.\n   *\n   * Make sure to include the current revision number when calling this method.\n   *\n   * > **Note:**\n   * > Updating the list replaces the favorite pages it contains with those specified in the method.\n   * @param _id - Dashboard favorite list ID. Automatically generated by Wix.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField favoriteList\n   * @requiredField favoriteList.revision\n   * @permissionId DASHBOARD.FAVORITES_WRITE\n   * @adminMethod\n   * @returns Updated dashboard favorite list.\n   */\n  function updateUserFavoriteList(_id: string | null, favoriteList: UpdateUserFavoriteList, options?: UpdateUserFavoriteListOptions): Promise<DashboardFavoriteList>;\n  interface UpdateUserFavoriteList {\n      /**\n       * Dashboard favorite list ID. Automatically generated by Wix.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number. Increments automatically by 1 whenever the list is successfully updated. To prevent conflicting changes, pass the current revision number when updating the list.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the dashboard favorite list was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the dashboard favorite list was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** List of favorite dashboard pages. */\n      favorites?: Favorite[];\n  }\n  interface UpdateUserFavoriteListOptions {\n      /**\n       * Fields to update. Only fields specified in `fieldMask.paths` are updated.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes the Wix user's list of favorite dashboard pages.\n   * @param favoriteListId - ID of the dashboard favorite list to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField favoriteListId\n   * @permissionId DASHBOARD.FAVORITES_WRITE\n   * @adminMethod\n   */\n  function deleteUserFavoriteList(favoriteListId: string): Promise<void>;\n  /**\n   * Adds a page to the current Wix user's list of favorite dashboard pages. If the Wix user doesn't have a list, the method creates a new list and adds the favorite page to it.\n   * @param favorite - Favorite page to add to the list.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField favorite\n   * @permissionId DASHBOARD.FAVORITES_WRITE\n   * @adminMethod\n   */\n  function addUserFavorite(favorite: Favorite): Promise<AddUserFavoriteResponse>;\n  /**\n   * Deletes the specified favorite page from the current Wix user's list of favorite dashboard pages. If no favorites remain in the list, it is deleted.\n   * @param favoriteId - ID of the favorite page to delete from the list.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField favoriteId\n   * @permissionId DASHBOARD.FAVORITES_WRITE\n   * @adminMethod\n   */\n  function deleteUserFavorite(favoriteId: string): Promise<DeleteUserFavoriteResponse>;\n  \n  type dashboardV1FavoriteList_universal_d_DashboardFavoriteList = DashboardFavoriteList;\n  type dashboardV1FavoriteList_universal_d_Favorite = Favorite;\n  type dashboardV1FavoriteList_universal_d_CreateUserFavoriteListRequest = CreateUserFavoriteListRequest;\n  type dashboardV1FavoriteList_universal_d_CreateUserFavoriteListResponse = CreateUserFavoriteListResponse;\n  type dashboardV1FavoriteList_universal_d_GetUserFavoriteListRequest = GetUserFavoriteListRequest;\n  type dashboardV1FavoriteList_universal_d_GetUserFavoriteListResponse = GetUserFavoriteListResponse;\n  type dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListRequest = UpdateUserFavoriteListRequest;\n  type dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListResponse = UpdateUserFavoriteListResponse;\n  type dashboardV1FavoriteList_universal_d_DeleteUserFavoriteListRequest = DeleteUserFavoriteListRequest;\n  type dashboardV1FavoriteList_universal_d_DeleteUserFavoriteListResponse = DeleteUserFavoriteListResponse;\n  type dashboardV1FavoriteList_universal_d_AddUserFavoriteRequest = AddUserFavoriteRequest;\n  type dashboardV1FavoriteList_universal_d_AddUserFavoriteResponse = AddUserFavoriteResponse;\n  type dashboardV1FavoriteList_universal_d_DeleteUserFavoriteRequest = DeleteUserFavoriteRequest;\n  type dashboardV1FavoriteList_universal_d_DeleteUserFavoriteResponse = DeleteUserFavoriteResponse;\n  type dashboardV1FavoriteList_universal_d_DomainEvent = DomainEvent;\n  type dashboardV1FavoriteList_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type dashboardV1FavoriteList_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type dashboardV1FavoriteList_universal_d_RestoreInfo = RestoreInfo;\n  type dashboardV1FavoriteList_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type dashboardV1FavoriteList_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type dashboardV1FavoriteList_universal_d_ActionEvent = ActionEvent;\n  type dashboardV1FavoriteList_universal_d_MessageEnvelope = MessageEnvelope;\n  type dashboardV1FavoriteList_universal_d_IdentificationData = IdentificationData;\n  type dashboardV1FavoriteList_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type dashboardV1FavoriteList_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const dashboardV1FavoriteList_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const dashboardV1FavoriteList_universal_d_createUserFavoriteList: typeof createUserFavoriteList;\n  const dashboardV1FavoriteList_universal_d_getUserFavoriteList: typeof getUserFavoriteList;\n  const dashboardV1FavoriteList_universal_d_updateUserFavoriteList: typeof updateUserFavoriteList;\n  type dashboardV1FavoriteList_universal_d_UpdateUserFavoriteList = UpdateUserFavoriteList;\n  type dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListOptions = UpdateUserFavoriteListOptions;\n  const dashboardV1FavoriteList_universal_d_deleteUserFavoriteList: typeof deleteUserFavoriteList;\n  const dashboardV1FavoriteList_universal_d_addUserFavorite: typeof addUserFavorite;\n  const dashboardV1FavoriteList_universal_d_deleteUserFavorite: typeof deleteUserFavorite;\n  namespace dashboardV1FavoriteList_universal_d {\n    export {\n      dashboardV1FavoriteList_universal_d_DashboardFavoriteList as DashboardFavoriteList,\n      dashboardV1FavoriteList_universal_d_Favorite as Favorite,\n      dashboardV1FavoriteList_universal_d_CreateUserFavoriteListRequest as CreateUserFavoriteListRequest,\n      dashboardV1FavoriteList_universal_d_CreateUserFavoriteListResponse as CreateUserFavoriteListResponse,\n      dashboardV1FavoriteList_universal_d_GetUserFavoriteListRequest as GetUserFavoriteListRequest,\n      dashboardV1FavoriteList_universal_d_GetUserFavoriteListResponse as GetUserFavoriteListResponse,\n      dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListRequest as UpdateUserFavoriteListRequest,\n      dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListResponse as UpdateUserFavoriteListResponse,\n      dashboardV1FavoriteList_universal_d_DeleteUserFavoriteListRequest as DeleteUserFavoriteListRequest,\n      dashboardV1FavoriteList_universal_d_DeleteUserFavoriteListResponse as DeleteUserFavoriteListResponse,\n      dashboardV1FavoriteList_universal_d_AddUserFavoriteRequest as AddUserFavoriteRequest,\n      dashboardV1FavoriteList_universal_d_AddUserFavoriteResponse as AddUserFavoriteResponse,\n      dashboardV1FavoriteList_universal_d_DeleteUserFavoriteRequest as DeleteUserFavoriteRequest,\n      dashboardV1FavoriteList_universal_d_DeleteUserFavoriteResponse as DeleteUserFavoriteResponse,\n      dashboardV1FavoriteList_universal_d_DomainEvent as DomainEvent,\n      dashboardV1FavoriteList_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      dashboardV1FavoriteList_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      dashboardV1FavoriteList_universal_d_RestoreInfo as RestoreInfo,\n      dashboardV1FavoriteList_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      dashboardV1FavoriteList_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      dashboardV1FavoriteList_universal_d_ActionEvent as ActionEvent,\n      dashboardV1FavoriteList_universal_d_MessageEnvelope as MessageEnvelope,\n      dashboardV1FavoriteList_universal_d_IdentificationData as IdentificationData,\n      dashboardV1FavoriteList_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      dashboardV1FavoriteList_universal_d_WebhookIdentityType as WebhookIdentityType,\n      dashboardV1FavoriteList_universal_d_createUserFavoriteList as createUserFavoriteList,\n      dashboardV1FavoriteList_universal_d_getUserFavoriteList as getUserFavoriteList,\n      dashboardV1FavoriteList_universal_d_updateUserFavoriteList as updateUserFavoriteList,\n      dashboardV1FavoriteList_universal_d_UpdateUserFavoriteList as UpdateUserFavoriteList,\n      dashboardV1FavoriteList_universal_d_UpdateUserFavoriteListOptions as UpdateUserFavoriteListOptions,\n      dashboardV1FavoriteList_universal_d_deleteUserFavoriteList as deleteUserFavoriteList,\n      dashboardV1FavoriteList_universal_d_addUserFavorite as addUserFavorite,\n      dashboardV1FavoriteList_universal_d_deleteUserFavorite as deleteUserFavorite,\n    };\n  }\n  \n  export { dashboardV1FavoriteList_universal_d as favoriteList };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-editor-deployments.v1.d.ts",
      "content": "declare module \"wix-editor-deployments.v1\" {\n  /** Deployment is the main entity of Deployments. */\n  interface Deployment extends DeploymentDescriptionOneOf, DeploymentCreationPublishTypeOneOf {\n      /** Deployment description */\n      editorRevision?: EditorRevision;\n      /** No publish */\n      noPublish?: CreationPublishTypeNone;\n      /** Publish Site */\n      sitePublish?: CreationPublishTypeSite;\n      /** Publish Site's RC */\n      rcPublish?: CreationPublishTypeRC;\n      /** Deployment ID */\n      _id?: string;\n      /** Deployment type */\n      deploymentType?: DeploymentType;\n      /** The label of the deployment. */\n      label?: string | null;\n      /**\n       * Represents the time this Deployment was last modified\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Represents the current state of an item. Each time the item is modified, its `revision` changes. for an update operation to succeed, you MUST pass the latest revision */\n      revision?: string | null;\n      /** All pipelines that implement DeploymentPipelineProvider interface */\n      pipelines?: PipelineResult[];\n      /** The pipelines status of the deployment */\n      deploymentPipelinesStatus?: DeploymentPipelinesStatus;\n      /**\n       * Represents the time this Deployment was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** The editor session that created the deployment */\n      editorSession?: EditorSession;\n      /** Data Extensions */\n      extendedFields?: ExtendedFields;\n  }\n  /** @oneof */\n  interface DeploymentDescriptionOneOf {\n      /** Deployment description */\n      editorRevision?: EditorRevision;\n  }\n  /** @oneof */\n  interface DeploymentCreationPublishTypeOneOf {\n      /** No publish */\n      noPublish?: CreationPublishTypeNone;\n      /** Publish Site */\n      sitePublish?: CreationPublishTypeSite;\n      /** Publish Site's RC */\n      rcPublish?: CreationPublishTypeRC;\n  }\n  enum DeploymentType {\n      UNKNOWN = \"UNKNOWN\",\n      EDITOR_REVISION = \"EDITOR_REVISION\"\n  }\n  interface EditorRevision {\n      /** Branch's Id */\n      branchId?: string | null;\n      /** Revision's Id */\n      siteRevision?: string;\n  }\n  interface PipelineResult {\n      /** The deployment pipeline implementer id as appears in the SPI Config */\n      deploymentPipelineId?: string;\n      /** Pipeline status */\n      pipelineStatus?: PipelineStatus;\n      /** The deployment pipeline task results */\n      tasksResults?: TaskResult[];\n  }\n  enum PipelineStatus {\n      UNDEFINED = \"UNDEFINED\",\n      IN_PROGRESS = \"IN_PROGRESS\",\n      SUCCESS = \"SUCCESS\",\n      ERROR = \"ERROR\",\n      INVOKE_ERROR = \"INVOKE_ERROR\",\n      TIMEOUT = \"TIMEOUT\",\n      SKIPPED = \"SKIPPED\"\n  }\n  interface TaskResult {\n      /** Name of the task for internal references. For example: \"user code bundling\". */\n      taskName?: string;\n      /** The execution status of the pipeline for the given deployment creation process */\n      status?: TaskStatus;\n  }\n  enum TaskStatus {\n      UNDEFINED = \"UNDEFINED\",\n      SUCCESS = \"SUCCESS\",\n      ERROR = \"ERROR\",\n      RUNNING = \"RUNNING\",\n      ABORTED = \"ABORTED\"\n  }\n  enum DeploymentPipelinesStatus {\n      UNDEFINED = \"UNDEFINED\",\n      /** No pipelines are defined for this deployment */\n      NONE = \"NONE\",\n      /** Pipelines are invoked and in progress */\n      IN_PROGRESS = \"IN_PROGRESS\",\n      /** Pipelines completed successfully */\n      SUCCESS = \"SUCCESS\",\n      /** Pipelines completed with errors */\n      ERROR = \"ERROR\"\n  }\n  interface EditorSession {\n      /** Editor Session Id */\n      esi?: string | null;\n      /** Document services Origin */\n      dsOrigin?: string | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreationPublishTypeNone {\n  }\n  interface CreationPublishTypeSite {\n  }\n  interface CreationPublishTypeRC {\n      /** The RC label provided on the deployment creation */\n      rcLabel?: RCLabel;\n  }\n  enum RCLabel {\n      /** Illegal default value, exception will be thrown if used */\n      UNKNOWN = \"UNKNOWN\",\n      RELEASE_MANAGER = \"RELEASE_MANAGER\",\n      BLOCKS = \"BLOCKS\",\n      WIX_CLI = \"WIX_CLI\",\n      MOBILE_APP_BUILDER = \"MOBILE_APP_BUILDER\",\n      SEO = \"SEO\",\n      FEEDBACK = \"FEEDBACK\"\n  }\n  interface DeploymentPipelineUpdatedMessage {\n      /** The deployment id */\n      deploymentId?: string;\n  }\n  interface CreateDeploymentRequest extends CreateDeploymentRequestBasedOnOneOf, CreateDeploymentRequestPublishMethodOneOf {\n      /** Based on a specific Editor Revision. */\n      specificVersion?: EditorRevision;\n      /** Publish RC */\n      publishSiteRcMethod?: PublishSiteRCMethod;\n      /** Deployment's label. */\n      label?: string;\n      /** Deployments attributes. */\n      deploymentAttributes?: DeploymentAttribute[];\n      /** Supporting publish on the creation flow. Please specify the publish type and leave empty in case you don't want to publish */\n      publishType?: PublishType;\n      /** Session info */\n      sessionInfo?: SessionInfo;\n  }\n  /** @oneof */\n  interface CreateDeploymentRequestBasedOnOneOf {\n      /** Based on a specific Editor Revision. */\n      specificVersion?: EditorRevision;\n  }\n  /** @oneof */\n  interface CreateDeploymentRequestPublishMethodOneOf {\n      /** Publish RC */\n      publishSiteRcMethod?: PublishSiteRCMethod;\n  }\n  interface DeploymentAttribute extends DeploymentAttributeAttributeOneOf {\n      /** GridAppId attribute. */\n      gridAppIdAttribute?: GridAppIdAttribute;\n      /** Page attribute. */\n      pageAttribute?: PagesAttribute;\n  }\n  /** @oneof */\n  interface DeploymentAttributeAttributeOneOf {\n      /** GridAppId attribute. */\n      gridAppIdAttribute?: GridAppIdAttribute;\n      /** Page attribute. */\n      pageAttribute?: PagesAttribute;\n  }\n  interface GridAppIdAttribute {\n      /** The gridAppId attribute would like to override/append. */\n      gridAppId?: string;\n  }\n  interface PagesAttribute {\n      /** pageIds attributes we would like to override/append. */\n      pageIds?: string[];\n      /** The editor revision from which we take the pages. */\n      editorRevision?: EditorRevision;\n  }\n  enum PublishType {\n      /** No publish */\n      NONE = \"NONE\",\n      /** Publish Site */\n      SITE = \"SITE\",\n      /** Publish Site's RC - Notice that PublishSiteRCMethod should be provided as well. */\n      RC = \"RC\"\n  }\n  interface SessionInfo {\n      /** Editor session id */\n      esi?: string | null;\n      /** Ds origin */\n      dsOrigin?: string | null;\n  }\n  interface PublishSiteRCMethod {\n      /** The label of this RC */\n      rcLabel?: RCLabel;\n  }\n  interface CreateDeploymentResponse {\n      /** The created Deployment */\n      deployment?: Deployment;\n  }\n  interface GetDeploymentRequest {\n      /** Id of the Deployment to retrieve */\n      deploymentId: string;\n  }\n  interface GetDeploymentResponse {\n      /** The retrieved Deployment */\n      deployment?: Deployment;\n  }\n  interface PublishDeploymentRequest {\n      /** Id of the Deployment to publish */\n      deploymentId: string;\n      /** If provided - will publish even if deployment's pipeline is not successfully completed */\n      skipPipelineCheck?: boolean | null;\n  }\n  interface PublishDeploymentResponse {\n      /** The published Deployment */\n      deployment?: Deployment;\n  }\n  interface PublishRCDeploymentRequest {\n      /** Id of the Deployment to publish */\n      deploymentId: string;\n      /** The label of this RC */\n      rcLabel?: RCLabel;\n      /** If provided - will publish even if deployment's pipeline is not successfully completed */\n      skipPipelineCheck?: boolean | null;\n  }\n  interface PublishRCDeploymentResponse {\n      /** The published Deployment */\n      deployment?: Deployment;\n  }\n  interface ListDeploymentsRequest {\n  }\n  interface ListDeploymentsResponse {\n      /** The retrieved Deployments */\n      deployments?: Deployment[];\n  }\n  interface QueryDeploymentsRequest {\n      /** Cursor query message. */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryDeploymentsResponse {\n      /** Results from query. */\n      deployments?: Deployment[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ReportDeploymentPipelineResultRequest {\n      /** The deployment creation process id, should match the id that was passed in the invoke() call by the SPI Host */\n      deploymentId: string;\n      /** The deployment pipeline implementer id as appears in the SPI Config */\n      deploymentPipelineId: string;\n      /** The deployment pipeline task results */\n      tasksResults?: TaskResult[];\n  }\n  interface ReportDeploymentPipelineResultResponse {\n  }\n  interface GetDeploymentPipelineDescriptionRequest {\n      /** The deployment id */\n      deploymentId: string;\n      /** The deployment pipelines implementers ids as appears in the SPI Config to be called for getting descriptions. */\n      deploymentPipelinesIds: string[];\n  }\n  interface GetDeploymentPipelineDescriptionResponse {\n      /** Full description on the tasks each provider done on the specific deployment_id (description per task). */\n      pipelinesDescription?: PipelineDescription[];\n  }\n  interface PipelineDescription {\n      /** The deployment pipeline id (spi implementers). */\n      deploymentPipelineId?: string;\n      /** description per task */\n      tasksDescriptions?: TaskDescription[];\n  }\n  interface TaskDescription {\n      /** Name of the task for internal references. For example: \"user code bundling\". */\n      taskName?: string;\n      /** Description about the tasks results. */\n      description?: string | null;\n      /** Task status */\n      status?: TaskStatus;\n  }\n  interface Empty {\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** Updated Deployment. */\n      deployment?: Deployment;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new Deployment\n   * @public\n   * @documentationMaturity preview\n   * @permissionId EDITOR.DEPLOYMENT_CREATE\n   * @adminMethod\n   * @returns The created Deployment\n   */\n  function createDeployment(options?: CreateDeploymentOptions): Promise<Deployment>;\n  interface CreateDeploymentOptions extends CreateDeploymentRequestBasedOnOneOf, CreateDeploymentRequestPublishMethodOneOf {\n      /** Deployment's label. */\n      label?: string;\n      /** Deployments attributes. */\n      deploymentAttributes?: DeploymentAttribute[];\n      /** Supporting publish on the creation flow. Please specify the publish type and leave empty in case you don't want to publish */\n      publishType?: PublishType;\n      /** Session info */\n      sessionInfo?: SessionInfo;\n      /** Based on a specific Editor Revision. */\n      specificVersion?: EditorRevision;\n      /** Publish RC */\n      publishSiteRcMethod?: PublishSiteRCMethod;\n  }\n  /**\n   * Get a Deployment by id\n   * @param deploymentId - Id of the Deployment to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deploymentId\n   * @permissionId EDITOR.DEPLOYMENT_READ\n   * @adminMethod\n   * @returns The retrieved Deployment\n   */\n  function getDeployment(deploymentId: string): Promise<Deployment>;\n  /**\n   * Publish a Deployment\n   * @param deploymentId - Id of the Deployment to publish\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deploymentId\n   * @permissionId EDITOR.DEPLOYMENT_PUBLISH\n   * @adminMethod\n   */\n  function publishDeployment(deploymentId: string, options?: PublishDeploymentOptions): Promise<PublishDeploymentResponse>;\n  interface PublishDeploymentOptions {\n      /** If provided - will publish even if deployment's pipeline is not successfully completed */\n      skipPipelineCheck?: boolean | null;\n  }\n  /**\n   * Publish an RC Deployment\n   * @param deploymentId - Id of the Deployment to publish\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deploymentId\n   * @permissionId EDITOR.DEPLOYMENT_PUBLISH\n   * @adminMethod\n   */\n  function publishRcDeployment(deploymentId: string, options?: PublishRcDeploymentOptions): Promise<PublishRCDeploymentResponse>;\n  interface PublishRcDeploymentOptions {\n      /** The label of this RC */\n      rcLabel?: RCLabel;\n      /** If provided - will publish even if deployment's pipeline is not successfully completed */\n      skipPipelineCheck?: boolean | null;\n  }\n  /**\n   * List Deployments\n   * @public\n   * @documentationMaturity preview\n   * @permissionId EDITOR.DEPLOYMENT_READ\n   * @adminMethod\n   */\n  function listDeployments(): Promise<ListDeploymentsResponse>;\n  /**\n   * Query Deployments\n   * @public\n   * @documentationMaturity preview\n   * @permissionId EDITOR.DEPLOYMENT_READ\n   * @adminMethod\n   */\n  function queryDeployments(): DeploymentsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface DeploymentsQueryResult extends QueryCursorResult {\n      items: Deployment[];\n      query: DeploymentsQueryBuilder;\n      next: () => Promise<DeploymentsQueryResult>;\n      prev: () => Promise<DeploymentsQueryResult>;\n  }\n  interface DeploymentsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'deploymentType' | 'label' | '_updatedDate' | 'pipelines.deploymentPipelineId' | 'pipelines.pipelineStatus' | 'pipelines.tasksResults.taskName' | 'pipelines.tasksResults.status' | 'deploymentPipelinesStatus' | '_createdDate', value: any) => DeploymentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_updatedDate' | '_createdDate', value: any) => DeploymentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_updatedDate' | '_createdDate', value: any) => DeploymentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_updatedDate' | '_createdDate', value: any) => DeploymentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_updatedDate' | '_createdDate', value: any) => DeploymentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_updatedDate' | '_createdDate', value: any) => DeploymentsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_updatedDate' | '_createdDate', value: any[]) => DeploymentsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_updatedDate' | '_createdDate', value: any) => DeploymentsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_updatedDate' | '_createdDate', value: boolean) => DeploymentsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'deploymentType' | 'label' | '_updatedDate' | 'deploymentPipelinesStatus' | '_createdDate'>) => DeploymentsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'deploymentType' | 'label' | '_updatedDate' | 'deploymentPipelinesStatus' | '_createdDate'>) => DeploymentsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => DeploymentsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => DeploymentsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<DeploymentsQueryResult>;\n  }\n  /**\n   * The pipeline provider has to send this event when its execution has ended.\n   * @param deploymentId - The deployment creation process id, should match the id that was passed in the invoke() call by the SPI Host\n   * @param deploymentPipelineId - The deployment pipeline implementer id as appears in the SPI Config\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deploymentId\n   * @requiredField deploymentPipelineId\n   * @permissionId EDITOR.DEPLOYMENT_UPDATE\n   * @adminMethod\n   */\n  function reportDeploymentPipelineResult(deploymentId: string, deploymentPipelineId: string, options?: ReportDeploymentPipelineResultOptions): Promise<void>;\n  interface ReportDeploymentPipelineResultOptions {\n      /** The deployment pipeline task results */\n      tasksResults?: TaskResult[];\n  }\n  /**\n   * Get Deployment Pipeline Description\n   * @param deploymentId - The deployment id\n   * @param deploymentPipelinesIds - The deployment pipelines implementers ids as appears in the SPI Config to be called for getting descriptions.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField deploymentId\n   * @requiredField deploymentPipelinesIds\n   * @permissionId EDITOR.DEPLOYMENT_READ\n   * @adminMethod\n   */\n  function getDeploymentPipelineDescription(deploymentId: string, deploymentPipelinesIds: string[]): Promise<GetDeploymentPipelineDescriptionResponse>;\n  /**\n   * Updates extended fields of a Deployment without incrementing revision\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId EDITOR.DEPLOYMENT_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  \n  type documentManagementEditorDeploymentsV1Deployment_universal_d_Deployment = Deployment;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentDescriptionOneOf = DeploymentDescriptionOneOf;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentCreationPublishTypeOneOf = DeploymentCreationPublishTypeOneOf;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentType = DeploymentType;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentType: typeof DeploymentType;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_EditorRevision = EditorRevision;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PipelineResult = PipelineResult;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PipelineStatus = PipelineStatus;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_PipelineStatus: typeof PipelineStatus;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_TaskResult = TaskResult;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_TaskStatus = TaskStatus;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_TaskStatus: typeof TaskStatus;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentPipelinesStatus = DeploymentPipelinesStatus;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentPipelinesStatus: typeof DeploymentPipelinesStatus;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_EditorSession = EditorSession;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_ExtendedFields = ExtendedFields;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CreationPublishTypeNone = CreationPublishTypeNone;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CreationPublishTypeSite = CreationPublishTypeSite;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CreationPublishTypeRC = CreationPublishTypeRC;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_RCLabel = RCLabel;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_RCLabel: typeof RCLabel;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentPipelineUpdatedMessage = DeploymentPipelineUpdatedMessage;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CreateDeploymentRequest = CreateDeploymentRequest;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CreateDeploymentRequestBasedOnOneOf = CreateDeploymentRequestBasedOnOneOf;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CreateDeploymentRequestPublishMethodOneOf = CreateDeploymentRequestPublishMethodOneOf;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentAttribute = DeploymentAttribute;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentAttributeAttributeOneOf = DeploymentAttributeAttributeOneOf;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_GridAppIdAttribute = GridAppIdAttribute;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PagesAttribute = PagesAttribute;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PublishType = PublishType;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_PublishType: typeof PublishType;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_SessionInfo = SessionInfo;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PublishSiteRCMethod = PublishSiteRCMethod;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CreateDeploymentResponse = CreateDeploymentResponse;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_GetDeploymentRequest = GetDeploymentRequest;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_GetDeploymentResponse = GetDeploymentResponse;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PublishDeploymentRequest = PublishDeploymentRequest;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PublishDeploymentResponse = PublishDeploymentResponse;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PublishRCDeploymentRequest = PublishRCDeploymentRequest;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PublishRCDeploymentResponse = PublishRCDeploymentResponse;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_ListDeploymentsRequest = ListDeploymentsRequest;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_ListDeploymentsResponse = ListDeploymentsResponse;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_QueryDeploymentsRequest = QueryDeploymentsRequest;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CursorQuery = CursorQuery;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_Sorting = Sorting;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_SortOrder = SortOrder;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_SortOrder: typeof SortOrder;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CursorPaging = CursorPaging;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_QueryDeploymentsResponse = QueryDeploymentsResponse;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_Cursors = Cursors;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_ReportDeploymentPipelineResultRequest = ReportDeploymentPipelineResultRequest;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_ReportDeploymentPipelineResultResponse = ReportDeploymentPipelineResultResponse;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_GetDeploymentPipelineDescriptionRequest = GetDeploymentPipelineDescriptionRequest;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_GetDeploymentPipelineDescriptionResponse = GetDeploymentPipelineDescriptionResponse;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PipelineDescription = PipelineDescription;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_TaskDescription = TaskDescription;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_Empty = Empty;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DomainEvent = DomainEvent;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_RestoreInfo = RestoreInfo;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_ActionEvent = ActionEvent;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_MessageEnvelope = MessageEnvelope;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_IdentificationData = IdentificationData;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_createDeployment: typeof createDeployment;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_CreateDeploymentOptions = CreateDeploymentOptions;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_getDeployment: typeof getDeployment;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_publishDeployment: typeof publishDeployment;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PublishDeploymentOptions = PublishDeploymentOptions;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_publishRcDeployment: typeof publishRcDeployment;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_PublishRcDeploymentOptions = PublishRcDeploymentOptions;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_listDeployments: typeof listDeployments;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_queryDeployments: typeof queryDeployments;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentsQueryResult = DeploymentsQueryResult;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentsQueryBuilder = DeploymentsQueryBuilder;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_reportDeploymentPipelineResult: typeof reportDeploymentPipelineResult;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_ReportDeploymentPipelineResultOptions = ReportDeploymentPipelineResultOptions;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_getDeploymentPipelineDescription: typeof getDeploymentPipelineDescription;\n  const documentManagementEditorDeploymentsV1Deployment_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type documentManagementEditorDeploymentsV1Deployment_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  namespace documentManagementEditorDeploymentsV1Deployment_universal_d {\n    export {\n      documentManagementEditorDeploymentsV1Deployment_universal_d_Deployment as Deployment,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentDescriptionOneOf as DeploymentDescriptionOneOf,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentCreationPublishTypeOneOf as DeploymentCreationPublishTypeOneOf,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentType as DeploymentType,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_EditorRevision as EditorRevision,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PipelineResult as PipelineResult,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PipelineStatus as PipelineStatus,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_TaskResult as TaskResult,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_TaskStatus as TaskStatus,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentPipelinesStatus as DeploymentPipelinesStatus,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_EditorSession as EditorSession,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_ExtendedFields as ExtendedFields,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CreationPublishTypeNone as CreationPublishTypeNone,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CreationPublishTypeSite as CreationPublishTypeSite,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CreationPublishTypeRC as CreationPublishTypeRC,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_RCLabel as RCLabel,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentPipelineUpdatedMessage as DeploymentPipelineUpdatedMessage,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CreateDeploymentRequest as CreateDeploymentRequest,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CreateDeploymentRequestBasedOnOneOf as CreateDeploymentRequestBasedOnOneOf,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CreateDeploymentRequestPublishMethodOneOf as CreateDeploymentRequestPublishMethodOneOf,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentAttribute as DeploymentAttribute,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentAttributeAttributeOneOf as DeploymentAttributeAttributeOneOf,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_GridAppIdAttribute as GridAppIdAttribute,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PagesAttribute as PagesAttribute,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PublishType as PublishType,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_SessionInfo as SessionInfo,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PublishSiteRCMethod as PublishSiteRCMethod,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CreateDeploymentResponse as CreateDeploymentResponse,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_GetDeploymentRequest as GetDeploymentRequest,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_GetDeploymentResponse as GetDeploymentResponse,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PublishDeploymentRequest as PublishDeploymentRequest,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PublishDeploymentResponse as PublishDeploymentResponse,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PublishRCDeploymentRequest as PublishRCDeploymentRequest,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PublishRCDeploymentResponse as PublishRCDeploymentResponse,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_ListDeploymentsRequest as ListDeploymentsRequest,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_ListDeploymentsResponse as ListDeploymentsResponse,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_QueryDeploymentsRequest as QueryDeploymentsRequest,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CursorQuery as CursorQuery,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_Sorting as Sorting,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_SortOrder as SortOrder,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CursorPaging as CursorPaging,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_QueryDeploymentsResponse as QueryDeploymentsResponse,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_Cursors as Cursors,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_ReportDeploymentPipelineResultRequest as ReportDeploymentPipelineResultRequest,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_ReportDeploymentPipelineResultResponse as ReportDeploymentPipelineResultResponse,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_GetDeploymentPipelineDescriptionRequest as GetDeploymentPipelineDescriptionRequest,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_GetDeploymentPipelineDescriptionResponse as GetDeploymentPipelineDescriptionResponse,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PipelineDescription as PipelineDescription,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_TaskDescription as TaskDescription,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_Empty as Empty,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DomainEvent as DomainEvent,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_RestoreInfo as RestoreInfo,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_ActionEvent as ActionEvent,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_MessageEnvelope as MessageEnvelope,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_IdentificationData as IdentificationData,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_WebhookIdentityType as WebhookIdentityType,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_createDeployment as createDeployment,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_CreateDeploymentOptions as CreateDeploymentOptions,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_getDeployment as getDeployment,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_publishDeployment as publishDeployment,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PublishDeploymentOptions as PublishDeploymentOptions,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_publishRcDeployment as publishRcDeployment,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_PublishRcDeploymentOptions as PublishRcDeploymentOptions,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_listDeployments as listDeployments,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_queryDeployments as queryDeployments,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentsQueryResult as DeploymentsQueryResult,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_DeploymentsQueryBuilder as DeploymentsQueryBuilder,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_reportDeploymentPipelineResult as reportDeploymentPipelineResult,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_ReportDeploymentPipelineResultOptions as ReportDeploymentPipelineResultOptions,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_getDeploymentPipelineDescription as getDeploymentPipelineDescription,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_updateExtendedFields as updateExtendedFields,\n      documentManagementEditorDeploymentsV1Deployment_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n    };\n  }\n  \n  export { documentManagementEditorDeploymentsV1Deployment_universal_d as deployments };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-infra-backend.d.ts",
      "content": "declare module \"wix-infra-backend\" {\n  interface AsyncJob {\n      /**\n       * Unique identifier of the job\n       * @readonly\n       */\n      _id?: string;\n      /** Optional job metadata, used to store any parameters used during job execution, user-define statuses, etc. */\n      metadata?: Record<string, any> | null;\n      /** The current stage of job execution. */\n      status?: Status;\n      /**\n       * The current counters.\n       * @deprecated The current counters.\n       * @replacedBy wix.infra.asyncjobs.v1.AsyncJob.counts\n       * @removalDate 2024-12-12\n       */\n      counters?: Counters;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n      /**\n       * The owner of the job.\n       * @readonly\n       * @deprecated The owner of the job.\n       * @replacedBy wix.infra.asyncjobs.v1.AsyncJob.created_by\n       * @removalDate 2024-12-12\n       */\n      owner?: Owner;\n      /**\n       * The creator of the job.\n       * @readonly\n       */\n      createdBy?: CreatedBy;\n      /** The current execution counts. */\n      counts?: Counts;\n  }\n  enum Type {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      ANONYMOUS_VISITOR_ID = \"ANONYMOUS_VISITOR_ID\",\n      MEMBER_ID = \"MEMBER_ID\",\n      WIX_USER_ID = \"WIX_USER_ID\",\n      APP_ID = \"APP_ID\"\n  }\n  interface AnonymousVisitorIdOptions {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n  }\n  interface MemberIdOptions {\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n  }\n  interface WixUserIdOptions {\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n  }\n  interface AppIdOptions {\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum Status {\n      UNKNOWN = \"UNKNOWN\",\n      /** Job was created, but not started yet. */\n      INITIALIZED = \"INITIALIZED\",\n      /** Job has started and is in progress. */\n      PROCESSING = \"PROCESSING\",\n      /** Job is finished. */\n      FINISHED = \"FINISHED\",\n      /** Job is failed */\n      FAILED = \"FAILED\"\n  }\n  interface Counters {\n      /** Optional count of the dataset size, specified during job creation. Can be used for progress bars, etc. */\n      itemsToProcess?: number | null;\n      /** Amount of items that were successfully processed. */\n      itemsSucceeded?: number;\n      /** Amount of items whose processing failed. */\n      itemsFailed?: number;\n      /** A mapping between an error code and the number of failures associated with it */\n      errorCountByCode?: Record<string, number>;\n  }\n  interface Owner extends OwnerIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of service. */\n      serviceId?: string;\n  }\n  /** @oneof */\n  interface OwnerIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of service. */\n      serviceId?: string;\n  }\n  interface CreatedBy extends CreatedByOptionsOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorIdOptions?: AnonymousVisitorIdOptions;\n      /** ID of a site visitor that has logged in to the site. */\n      memberIdOptions?: MemberIdOptions;\n      /** ID of a Wix user. */\n      wixUserIdOptions?: WixUserIdOptions;\n      /** ID of an app. */\n      appIdOptions?: AppIdOptions;\n      /** The type of the creator. */\n      type?: Type;\n  }\n  /** @oneof */\n  interface CreatedByOptionsOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorIdOptions?: AnonymousVisitorIdOptions;\n      /** ID of a site visitor that has logged in to the site. */\n      memberIdOptions?: MemberIdOptions;\n      /** ID of a Wix user. */\n      wixUserIdOptions?: WixUserIdOptions;\n      /** ID of an app. */\n      appIdOptions?: AppIdOptions;\n  }\n  interface Counts {\n      /** Optional count of the dataset size, specified during job creation. Can be used for progress bars, etc. */\n      total?: number | null;\n      /** Amount of items that were successfully processed. */\n      successCount?: number;\n      /** Amount of items whose processing failed. */\n      failCount?: number;\n      /** A mapping between an error code and the number of failures associated with it */\n      errorByCodeCount?: Record<string, number>;\n  }\n  /** Events */\n  interface AsyncJobFinishedEvent {\n      /** the job id. */\n      jobId?: string;\n  }\n  interface AsyncJobFailedEvent {\n      /** the job id. */\n      jobId?: string;\n  }\n  interface AsyncJobItemFailedEvent {\n      /** the job id. */\n      jobId?: string;\n      /** the job items. */\n      jobItem?: AsyncJobItem;\n  }\n  interface AsyncJobItem {\n      /** @readonly */\n      _id?: string;\n      /** Used to optionally return result of the job (e.g., S3 link to the generated CSV file). */\n      data?: Record<string, any> | null;\n      /** The optional id of the job entity id being processed. */\n      entityId?: string | null;\n      /**\n       * Convenience property, signifies absence of errors.\n       * @readonly\n       */\n      success?: boolean;\n      /** Error which prevented item from being processed. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface CreateAsyncJobRequest {\n      /** the job being created. */\n      job: AsyncJob;\n  }\n  interface CreateAsyncJobResponse {\n      /** the job created. */\n      job?: AsyncJob;\n  }\n  interface GetAsyncJobRequest {\n      /** the job id. */\n      jobId: string;\n  }\n  interface GetAsyncJobResponse {\n      /** the job returned. */\n      job?: AsyncJob;\n  }\n  interface UpdateAsyncJobRequest {\n      /** the job being updated. */\n      job?: AsyncJob;\n      /**\n       * the mask.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateAsyncJobResponse {\n      /** the job updated. */\n      job?: AsyncJob;\n  }\n  interface DeleteAsyncJobRequest {\n      /** the job id. */\n      jobId: string;\n  }\n  interface DeleteAsyncJobResponse {\n  }\n  interface CompleteAsyncJobRequest {\n      /** the job id. */\n      jobId: string;\n      /** the job status. */\n      status?: CompleteStatus;\n  }\n  enum CompleteStatus {\n      /** Job is finished. */\n      FINISHED = \"FINISHED\",\n      /** Job is failed */\n      FAILED = \"FAILED\"\n  }\n  interface CompleteAsyncJobResponse {\n  }\n  interface ReportAsyncJobProgressRequest {\n      /** id of the job to report progress on */\n      jobId: string;\n      /** the job items being reported. */\n      items?: AsyncJobItem[];\n  }\n  interface ReportAsyncJobProgressResponse {\n  }\n  interface AsyncJobItemAddedEvent {\n      /** the job id. */\n      jobId?: string;\n      /** the job items. */\n      jobItem?: AsyncJobItem;\n  }\n  interface ListAsyncJobItemsRequest {\n      /** the job id. */\n      jobId: string;\n      /** the paging. */\n      paging?: CursorPaging;\n      /**\n       * when true, only failed items will be returned.\n       * when false, only successful items will be returned.\n       * when not set, all both failed and successful will be returned.\n       */\n      hasError?: boolean | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListAsyncJobItemsResponse {\n      /** the job items. */\n      results?: AsyncJobItem[];\n      /** paging metadata. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Create new async job.\n   * @param job - the job being created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField job\n   * @adminMethod\n   * @returns the job created.\n   */\n  function createAsyncJob(job: AsyncJob): Promise<AsyncJob>;\n  /**\n   * Get the job by id.\n   * @param jobId - the job id.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @adminMethod\n   * @returns the job returned.\n   */\n  function getAsyncJob(jobId: string): Promise<AsyncJob>;\n  /**\n   * Update the job.\n   * @param _id - Unique identifier of the job\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   * @returns the job updated.\n   */\n  function updateAsyncJob(_id: string, options?: UpdateAsyncJobOptions): Promise<AsyncJob>;\n  interface UpdateAsyncJobOptions {\n      job: {\n          /**\n           * Unique identifier of the job\n           * @readonly\n           */\n          _id?: string;\n          /** Optional job metadata, used to store any parameters used during job execution, user-define statuses, etc. */\n          metadata?: Record<string, any> | null;\n          /** The current stage of job execution. */\n          status?: Status;\n          /**\n           * The current counters.\n           * @deprecated The current counters.\n           * @replacedBy wix.infra.asyncjobs.v1.AsyncJob.counts\n           * @removalDate 2024-12-12\n           */\n          counters?: Counters;\n          /** @readonly */\n          _createdDate?: Date;\n          /** @readonly */\n          _updatedDate?: Date;\n          /**\n           * The owner of the job.\n           * @readonly\n           * @deprecated The owner of the job.\n           * @replacedBy wix.infra.asyncjobs.v1.AsyncJob.created_by\n           * @removalDate 2024-12-12\n           */\n          owner?: Owner;\n          /**\n           * The creator of the job.\n           * @readonly\n           */\n          createdBy?: CreatedBy;\n          /** The current execution counts. */\n          counts?: Counts;\n      };\n      /**\n       * the mask.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Delete the job.\n   * @param jobId - the job id.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @adminMethod\n   */\n  function deleteAsyncJob(jobId: string): Promise<void>;\n  /**\n   * Complete the job.\n   * @param jobId - the job id.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @adminMethod\n   */\n  function completeAsyncJob(jobId: string, options?: CompleteAsyncJobOptions): Promise<void>;\n  interface CompleteAsyncJobOptions {\n      /** the job status. */\n      status?: CompleteStatus;\n  }\n  /**\n   * report job progress.\n   * @param jobId - id of the job to report progress on\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @adminMethod\n   */\n  function reportAsyncJobProgress(jobId: string, options?: ReportAsyncJobProgressOptions): Promise<void>;\n  interface ReportAsyncJobProgressOptions {\n      /** the job items being reported. */\n      items?: AsyncJobItem[];\n  }\n  /**\n   * List the job items.\n   * @param jobId - the job id.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @adminMethod\n   */\n  function listAsyncJobItems(jobId: string, options?: ListAsyncJobItemsOptions): Promise<ListAsyncJobItemsResponse>;\n  interface ListAsyncJobItemsOptions {\n      /** the paging. */\n      paging?: CursorPaging;\n      /**\n       * when true, only failed items will be returned.\n       * when false, only successful items will be returned.\n       * when not set, all both failed and successful will be returned.\n       */\n      hasError?: boolean | null;\n  }\n  \n  export { ActionEvent, AnonymousVisitorIdOptions, AppIdOptions, ApplicationError, AsyncJob, AsyncJobFailedEvent, AsyncJobFinishedEvent, AsyncJobItem, AsyncJobItemAddedEvent, AsyncJobItemFailedEvent, CompleteAsyncJobOptions, CompleteAsyncJobRequest, CompleteAsyncJobResponse, CompleteStatus, Counters, Counts, CreateAsyncJobRequest, CreateAsyncJobResponse, CreatedBy, CreatedByOptionsOneOf, CursorPaging, Cursors, DeleteAsyncJobRequest, DeleteAsyncJobResponse, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, GetAsyncJobRequest, GetAsyncJobResponse, IdentificationData, IdentificationDataIdOneOf, ListAsyncJobItemsOptions, ListAsyncJobItemsRequest, ListAsyncJobItemsResponse, MemberIdOptions, MessageEnvelope, Owner, OwnerIdOneOf, PagingMetadataV2, ReportAsyncJobProgressOptions, ReportAsyncJobProgressRequest, ReportAsyncJobProgressResponse, Status, Type, UpdateAsyncJobOptions, UpdateAsyncJobRequest, UpdateAsyncJobResponse, WebhookIdentityType, WixUserIdOptions, completeAsyncJob, createAsyncJob, deleteAsyncJob, getAsyncJob, listAsyncJobItems, reportAsyncJobProgress, updateAsyncJob };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-tags.v1.d.ts",
      "content": "declare module \"wix-tags.v1\" {\n  interface Tag {\n      /**\n       * Tag ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the tag is updated.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tag was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the tag was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Tag name. */\n      name?: string | null;\n      /** FQDN of the entity that belongs to this tag. */\n      fqdn?: string | null;\n      /**\n       * Tag exposure.\n       * @internal\n       */\n      exposure?: TagExposure;\n      /**\n       * Indicates whether this tag is deleted.\n       * @internal\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  enum TagExposure {\n      UNKNOWN = \"UNKNOWN\",\n      PRIVATE = \"PRIVATE\",\n      /** Not handled by client yet. */\n      PUBLIC = \"PUBLIC\"\n  }\n  interface CreateTagRequest {\n      /** The tag to be created. */\n      tag: Tag;\n  }\n  interface CreateTagResponse {\n      /** The created tag. */\n      tag?: Tag;\n  }\n  interface GetTagRequest {\n      /** The ID of the tag to retrieve. */\n      tagId: string;\n  }\n  interface GetTagResponse {\n      /** The requested tag. */\n      tag?: Tag;\n  }\n  interface UpdateTagRequest {\n      /** The tag to be updated, which may be partial. */\n      tag: Tag;\n  }\n  interface UpdateTagResponse {\n      /** The updated tag. */\n      tag?: Tag;\n  }\n  interface DeleteTagRequest {\n      /** ID of the tag to delete. */\n      tagId: string;\n  }\n  interface DeleteTagResponse {\n  }\n  interface ListTagsRequest {\n      /** The Fully Qualified Domain Name (FQDN) to which the tags are associated. Currently supports only eCommerce Orders: `wix.ecom.v1.order`. */\n      fqdn: string;\n      /**\n       * The tag exposure.\n       * @internal\n       */\n      exposure?: TagExposure;\n  }\n  interface ListTagsResponse {\n      /** A list of tags. */\n      tags?: Tag[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CreateTagForAccountRequest {\n      /** The tag to be created. */\n      tag: Tag;\n  }\n  interface CreateTagForAccountResponse {\n      /** The created tag. */\n      tag?: Tag;\n  }\n  interface GetTagForAccountRequest {\n      /** The ID of the tag to retrieve. */\n      tagId: string;\n  }\n  interface GetTagForAccountResponse {\n      /** The requested tag. */\n      tag?: Tag;\n  }\n  interface UpdateTagForAccountRequest {\n      /** The tag to be updated, which may be partial. */\n      tag: Tag;\n  }\n  interface UpdateTagForAccountResponse {\n      /** The updated tag. */\n      tag?: Tag;\n  }\n  interface DeleteTagForAccountRequest {\n      /** ID of the tag to delete. */\n      tagId: string;\n  }\n  interface DeleteTagForAccountResponse {\n  }\n  interface ListTagsForAccountRequest {\n      /** The Fully Qualified Domain Name (FQDN) to which the tags are associated. Currently supports only eCommerce Orders: `wix.ecom.v1.order`. */\n      fqdn: string;\n      /**\n       * The tag exposure.\n       * @internal\n       */\n      exposure?: TagExposure;\n  }\n  interface ListTagsForAccountResponse {\n      /** A list of tags. */\n      tags?: Tag[];\n  }\n  /**\n   * Creates a tag.\n   * @param tag - The tag to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tag\n   * @requiredField tag.fqdn\n   * @requiredField tag.name\n   * @permissionId TAGS.TAG_CREATE\n   * @adminMethod\n   * @returns The created tag.\n   */\n  function createTag(tag: Tag): Promise<Tag>;\n  /**\n   * Retrieves a tag.\n   * @param tagId - The ID of the tag to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tagId\n   * @permissionId TAGS.TAG_READ\n   * @adminMethod\n   * @returns The requested tag.\n   */\n  function getTag(tagId: string): Promise<Tag>;\n  /**\n   * Updates a tag.\n   * @param _id - Tag ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField tag\n   * @requiredField tag.name\n   * @requiredField tag.revision\n   * @permissionId TAGS.TAG_UPDATE\n   * @adminMethod\n   * @returns The updated tag.\n   */\n  function updateTag(_id: string | null, tag: UpdateTag): Promise<Tag>;\n  interface UpdateTag {\n      /**\n       * Tag ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the tag is updated.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tag was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the tag was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Tag name. */\n      name?: string | null;\n      /** FQDN of the entity that belongs to this tag. */\n      fqdn?: string | null;\n      /**\n       * Tag exposure.\n       * @internal\n       */\n      exposure?: TagExposure;\n      /**\n       * Indicates whether this tag is deleted.\n       * @internal\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  /**\n   * Deletes a tag.\n   * @param tagId - ID of the tag to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField tagId\n   * @permissionId TAGS.TAG_DELETE\n   * @adminMethod\n   */\n  function deleteTag(tagId: string): Promise<void>;\n  /**\n   * Retrieves a list of tags.\n   * @param fqdn - The Fully Qualified Domain Name (FQDN) to which the tags are associated. Currently supports only eCommerce Orders: `wix.ecom.v1.order`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fqdn\n   * @permissionId TAGS.TAG_READ\n   * @adminMethod\n   */\n  function listTags(fqdn: string, options?: ListTagsOptions): Promise<ListTagsResponse>;\n  interface ListTagsOptions {\n      /**\n       * The tag exposure.\n       * @internal\n       */\n      exposure?: TagExposure;\n  }\n  /**\n   * Creates a tag.\n   * @param tag - The tag to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField tag\n   * @requiredField tag.fqdn\n   * @requiredField tag.name\n   * @permissionId TAGS.ACCOUNT_TAG_CREATE\n   * @adminMethod\n   */\n  function createTagForAccount(tag: Tag): Promise<CreateTagForAccountResponse>;\n  /**\n   * Retrieves a tag.\n   * @param tagId - The ID of the tag to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField tagId\n   * @permissionId TAGS.ACCOUNT_TAG_READ\n   * @adminMethod\n   */\n  function getTagForAccount(tagId: string): Promise<GetTagForAccountResponse>;\n  /**\n   * Updates a tag.\n   * @param _id - Tag ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField tag\n   * @requiredField tag.name\n   * @requiredField tag.revision\n   * @permissionId TAGS.ACCOUNT_TAG_UPDATE\n   * @adminMethod\n   */\n  function updateTagForAccount(_id: string | null, tag: UpdateTagForAccountTag): Promise<UpdateTagForAccountResponse>;\n  interface UpdateTagForAccountTag {\n      /**\n       * Tag ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the tag is updated.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the tag was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the tag was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Tag name. */\n      name?: string | null;\n      /** FQDN of the entity that belongs to this tag. */\n      fqdn?: string | null;\n      /**\n       * Tag exposure.\n       * @internal\n       */\n      exposure?: TagExposure;\n      /**\n       * Indicates whether this tag is deleted.\n       * @internal\n       * @readonly\n       */\n      deleted?: boolean | null;\n  }\n  /**\n   * Deletes a tag.\n   * @param tagId - ID of the tag to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField tagId\n   * @permissionId TAGS.ACCOUNT_TAG_DELETE\n   * @adminMethod\n   */\n  function deleteTagForAccount(tagId: string): Promise<void>;\n  /**\n   * Retrieves a list of tags.\n   * @param fqdn - The Fully Qualified Domain Name (FQDN) to which the tags are associated. Currently supports only eCommerce Orders: `wix.ecom.v1.order`.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField fqdn\n   * @permissionId TAGS.ACCOUNT_TAG_READ\n   * @adminMethod\n   */\n  function listTagsForAccount(fqdn: string, options?: ListTagsForAccountOptions): Promise<ListTagsForAccountResponse>;\n  interface ListTagsForAccountOptions {\n      /**\n       * The tag exposure.\n       * @internal\n       */\n      exposure?: TagExposure;\n  }\n  \n  type osTagsV1Tag_universal_d_Tag = Tag;\n  type osTagsV1Tag_universal_d_TagExposure = TagExposure;\n  const osTagsV1Tag_universal_d_TagExposure: typeof TagExposure;\n  type osTagsV1Tag_universal_d_CreateTagRequest = CreateTagRequest;\n  type osTagsV1Tag_universal_d_CreateTagResponse = CreateTagResponse;\n  type osTagsV1Tag_universal_d_GetTagRequest = GetTagRequest;\n  type osTagsV1Tag_universal_d_GetTagResponse = GetTagResponse;\n  type osTagsV1Tag_universal_d_UpdateTagRequest = UpdateTagRequest;\n  type osTagsV1Tag_universal_d_UpdateTagResponse = UpdateTagResponse;\n  type osTagsV1Tag_universal_d_DeleteTagRequest = DeleteTagRequest;\n  type osTagsV1Tag_universal_d_DeleteTagResponse = DeleteTagResponse;\n  type osTagsV1Tag_universal_d_ListTagsRequest = ListTagsRequest;\n  type osTagsV1Tag_universal_d_ListTagsResponse = ListTagsResponse;\n  type osTagsV1Tag_universal_d_DomainEvent = DomainEvent;\n  type osTagsV1Tag_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type osTagsV1Tag_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type osTagsV1Tag_universal_d_RestoreInfo = RestoreInfo;\n  type osTagsV1Tag_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type osTagsV1Tag_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type osTagsV1Tag_universal_d_ActionEvent = ActionEvent;\n  type osTagsV1Tag_universal_d_MessageEnvelope = MessageEnvelope;\n  type osTagsV1Tag_universal_d_IdentificationData = IdentificationData;\n  type osTagsV1Tag_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type osTagsV1Tag_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const osTagsV1Tag_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type osTagsV1Tag_universal_d_CreateTagForAccountRequest = CreateTagForAccountRequest;\n  type osTagsV1Tag_universal_d_CreateTagForAccountResponse = CreateTagForAccountResponse;\n  type osTagsV1Tag_universal_d_GetTagForAccountRequest = GetTagForAccountRequest;\n  type osTagsV1Tag_universal_d_GetTagForAccountResponse = GetTagForAccountResponse;\n  type osTagsV1Tag_universal_d_UpdateTagForAccountRequest = UpdateTagForAccountRequest;\n  type osTagsV1Tag_universal_d_UpdateTagForAccountResponse = UpdateTagForAccountResponse;\n  type osTagsV1Tag_universal_d_DeleteTagForAccountRequest = DeleteTagForAccountRequest;\n  type osTagsV1Tag_universal_d_DeleteTagForAccountResponse = DeleteTagForAccountResponse;\n  type osTagsV1Tag_universal_d_ListTagsForAccountRequest = ListTagsForAccountRequest;\n  type osTagsV1Tag_universal_d_ListTagsForAccountResponse = ListTagsForAccountResponse;\n  const osTagsV1Tag_universal_d_createTag: typeof createTag;\n  const osTagsV1Tag_universal_d_getTag: typeof getTag;\n  const osTagsV1Tag_universal_d_updateTag: typeof updateTag;\n  type osTagsV1Tag_universal_d_UpdateTag = UpdateTag;\n  const osTagsV1Tag_universal_d_deleteTag: typeof deleteTag;\n  const osTagsV1Tag_universal_d_listTags: typeof listTags;\n  type osTagsV1Tag_universal_d_ListTagsOptions = ListTagsOptions;\n  const osTagsV1Tag_universal_d_createTagForAccount: typeof createTagForAccount;\n  const osTagsV1Tag_universal_d_getTagForAccount: typeof getTagForAccount;\n  const osTagsV1Tag_universal_d_updateTagForAccount: typeof updateTagForAccount;\n  type osTagsV1Tag_universal_d_UpdateTagForAccountTag = UpdateTagForAccountTag;\n  const osTagsV1Tag_universal_d_deleteTagForAccount: typeof deleteTagForAccount;\n  const osTagsV1Tag_universal_d_listTagsForAccount: typeof listTagsForAccount;\n  type osTagsV1Tag_universal_d_ListTagsForAccountOptions = ListTagsForAccountOptions;\n  namespace osTagsV1Tag_universal_d {\n    export {\n      osTagsV1Tag_universal_d_Tag as Tag,\n      osTagsV1Tag_universal_d_TagExposure as TagExposure,\n      osTagsV1Tag_universal_d_CreateTagRequest as CreateTagRequest,\n      osTagsV1Tag_universal_d_CreateTagResponse as CreateTagResponse,\n      osTagsV1Tag_universal_d_GetTagRequest as GetTagRequest,\n      osTagsV1Tag_universal_d_GetTagResponse as GetTagResponse,\n      osTagsV1Tag_universal_d_UpdateTagRequest as UpdateTagRequest,\n      osTagsV1Tag_universal_d_UpdateTagResponse as UpdateTagResponse,\n      osTagsV1Tag_universal_d_DeleteTagRequest as DeleteTagRequest,\n      osTagsV1Tag_universal_d_DeleteTagResponse as DeleteTagResponse,\n      osTagsV1Tag_universal_d_ListTagsRequest as ListTagsRequest,\n      osTagsV1Tag_universal_d_ListTagsResponse as ListTagsResponse,\n      osTagsV1Tag_universal_d_DomainEvent as DomainEvent,\n      osTagsV1Tag_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      osTagsV1Tag_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      osTagsV1Tag_universal_d_RestoreInfo as RestoreInfo,\n      osTagsV1Tag_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      osTagsV1Tag_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      osTagsV1Tag_universal_d_ActionEvent as ActionEvent,\n      osTagsV1Tag_universal_d_MessageEnvelope as MessageEnvelope,\n      osTagsV1Tag_universal_d_IdentificationData as IdentificationData,\n      osTagsV1Tag_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      osTagsV1Tag_universal_d_WebhookIdentityType as WebhookIdentityType,\n      osTagsV1Tag_universal_d_CreateTagForAccountRequest as CreateTagForAccountRequest,\n      osTagsV1Tag_universal_d_CreateTagForAccountResponse as CreateTagForAccountResponse,\n      osTagsV1Tag_universal_d_GetTagForAccountRequest as GetTagForAccountRequest,\n      osTagsV1Tag_universal_d_GetTagForAccountResponse as GetTagForAccountResponse,\n      osTagsV1Tag_universal_d_UpdateTagForAccountRequest as UpdateTagForAccountRequest,\n      osTagsV1Tag_universal_d_UpdateTagForAccountResponse as UpdateTagForAccountResponse,\n      osTagsV1Tag_universal_d_DeleteTagForAccountRequest as DeleteTagForAccountRequest,\n      osTagsV1Tag_universal_d_DeleteTagForAccountResponse as DeleteTagForAccountResponse,\n      osTagsV1Tag_universal_d_ListTagsForAccountRequest as ListTagsForAccountRequest,\n      osTagsV1Tag_universal_d_ListTagsForAccountResponse as ListTagsForAccountResponse,\n      osTagsV1Tag_universal_d_createTag as createTag,\n      osTagsV1Tag_universal_d_getTag as getTag,\n      osTagsV1Tag_universal_d_updateTag as updateTag,\n      osTagsV1Tag_universal_d_UpdateTag as UpdateTag,\n      osTagsV1Tag_universal_d_deleteTag as deleteTag,\n      osTagsV1Tag_universal_d_listTags as listTags,\n      osTagsV1Tag_universal_d_ListTagsOptions as ListTagsOptions,\n      osTagsV1Tag_universal_d_createTagForAccount as createTagForAccount,\n      osTagsV1Tag_universal_d_getTagForAccount as getTagForAccount,\n      osTagsV1Tag_universal_d_updateTagForAccount as updateTagForAccount,\n      osTagsV1Tag_universal_d_UpdateTagForAccountTag as UpdateTagForAccountTag,\n      osTagsV1Tag_universal_d_deleteTagForAccount as deleteTagForAccount,\n      osTagsV1Tag_universal_d_listTagsForAccount as listTagsForAccount,\n      osTagsV1Tag_universal_d_ListTagsForAccountOptions as ListTagsForAccountOptions,\n    };\n  }\n  \n  export { osTagsV1Tag_universal_d as tags };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-packages.v1.d.ts",
      "content": "declare module \"wix-packages.v1\" {\n  /**\n   * A package is group of instances of Wix services that a reseller offers to a\n   * customer as part of a single transaction.\n   */\n  interface Package {\n      /**\n       * Package ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Wix account ID. See\n       * [Account Level APIs](https://dev.wix.com/docs/rest/account-level/about-account-level-apis)\n       * for more details.\n       * @readonly\n       */\n      accountId?: string;\n      /**\n       * External reference. For example, an external subscription ID.\n       * This field isn't validated by Wix.\n       *\n       * Max: 100 characters\n       */\n      externalId?: string | null;\n      /**\n       * Product instances that are included in the package.\n       *\n       * Min: 1 product instance\n       * Max: 1000 product instances\n       */\n      productInstances?: ProductInstance[];\n      /**\n       * Date and time the package was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the package was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * ID of the parent Wix account. Equal to the account ID if there is no parent account.\n       * @internal\n       */\n      parentAccountId?: string | null;\n  }\n  /**\n   * A product instance is a specific instance of a Wix service that a reseller\n   * offers to one of their customers.\n   */\n  interface ProductInstance extends ProductInstanceContractDetailsOneOf {\n      /** Billing information for the contract between the reseller and Wix. */\n      billingInfo?: ProductInstanceCycle;\n      /**\n       * ID of the instance of the resold Wix service. **Note:** Differs from the\n       * `catalogProductId`. Allows you to identify different instances of the same\n       * product in a package.\n       * @readonly\n       */\n      instanceId?: string;\n      /**\n       * ID of the Wix site that the product instance is assigned to.\n       * See the [Query Sites API](https://dev.wix.com/api/rest/account-level-apis/sites/query-sites)\n       * for more information.\n       */\n      siteId?: string | null;\n      /**\n       * Product ID, as defined in the Wix Premium Product Catalog.\n       * Contact the [Wix B2B sales team](mailto:bizdev@wix.com)\n       * for more details about available Wix services.\n       */\n      catalogProductId?: string;\n      /**\n       * Status of the product instance.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * Failure object. Only present for status `FAILED`. Describes why the product instance `FAILED`.\n       * @readonly\n       */\n      failure?: FailureReason;\n      /**\n       * Date and time the product instance was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the product instance was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Two-letter country code in\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format. Specifies where customers can claim vouchers that may come with the\n       * product. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) to get more\n       * information about vouchers and supported locations.\n       */\n      countryCode?: string | null;\n      /**\n       * Date and time the product instance expires in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * Used only for instances that don't auto renew at the end of the current billing cycle.\n       * @readonly\n       */\n      expirationDate?: Date | null;\n      /**\n       * Discount code indicating that the reseller provisioned the product instance\n       * during a sale. Wix doesn't guarantee that a discount code reduces the\n       * price between Wix and the reseller, even when it's valid. Contact the\n       * [Wix B2B sales team](mailto:bizdev@wix.com) for more information.\n       *\n       * Max: 25 characters\n       */\n      discountCode?: string | null;\n      /**\n       * ID of a different product instance that you can use to offer your customers\n       * time-limited free access to an additional product or service. For example,\n       * Wix offers a 1-year free domain registration to all customers who purchase a\n       * Premium plan. The referenced product instance must have either status `\"PENDING\"` or\n       * `\"ACTIVE\"`. You can use each product instance only a single time as reference\n       * instance.\n       */\n      referenceProductInstanceId?: string | null;\n  }\n  /** @oneof */\n  interface ProductInstanceContractDetailsOneOf {\n      /** Billing information for the contract between the reseller and Wix. */\n      billingInfo?: ProductInstanceCycle;\n  }\n  enum FailureReasonFailureReason {\n      UNKNOWN = \"UNKNOWN\",\n      /** The product instance couldn't be created because the Resellers API timed out. */\n      DELIVERY_TIMEOUT = \"DELIVERY_TIMEOUT\",\n      /** The product instance couldn't be created because an external process failed. */\n      EXTERNAL_FAILURE = \"EXTERNAL_FAILURE\"\n  }\n  enum IntervalIntervalUnit {\n      /** unknown interval unit */\n      UNKNOWN = \"UNKNOWN\",\n      /** Day */\n      DAY = \"DAY\",\n      /** Week */\n      WEEK = \"WEEK\",\n      /** Month */\n      MONTH = \"MONTH\",\n      /** Year */\n      YEAR = \"YEAR\"\n  }\n  enum CycleDescriptorType {\n      /** The payment type hasn't been set. */\n      UNKNOWN = \"UNKNOWN\",\n      /** The reseller pays Wix in a single payment. */\n      ONE_TIME = \"ONE_TIME\",\n      /** The reseller pays Wix on a recurring schedule. */\n      RECURRING = \"RECURRING\"\n  }\n  interface CycleInterval {\n      /** Unit of the billing cycle. */\n      unit?: IntervalIntervalUnit;\n      /** Count of units that make up the billing cycle. */\n      count?: number;\n  }\n  enum Status {\n      /** The product instance isn't yet available to the customer. */\n      PENDING = \"PENDING\",\n      /** The customer can use the product instance. */\n      ENABLED = \"ENABLED\",\n      /** The product instance isn't any longer available to the customer. */\n      CANCELED = \"CANCELED\",\n      /** The product instance couldn't be delivered successfully and has never been available to the customer. */\n      FAILED = \"FAILED\",\n      /** The product instance isn't yet available to the customer, because an external provider or the customer must take an action. */\n      AWAITING_ACTION = \"AWAITING_ACTION\"\n  }\n  interface FailureReason {\n      /** Failure code. */\n      code?: FailureReasonFailureReason;\n      /** Failure message. */\n      message?: string;\n  }\n  interface ProductInstanceCycle {\n      /** Payment type. */\n      type?: CycleDescriptorType;\n      /** Duration of the billing cycle. Available only for `RECURRING` payments. */\n      cycleDuration?: CycleInterval;\n  }\n  interface MigrateSubscriptionToPackagesRequest {\n      /** Created package. */\n      productInstance?: ProductInstance;\n      /** Existing subscriptionId to migrate */\n      subscriptionId?: string | null;\n      /** User id of the migration - only for Immigrator */\n      userId?: string | null;\n  }\n  interface MigrateSubscriptionToPackagesResponse {\n      package?: Package;\n  }\n  interface FixBrokenMigrationRequest {\n      /** Subscription id of the broken subscription */\n      subscriptionId?: string;\n      /** SBS service id that points to the broken subscription */\n      sbsServiceId?: string;\n      /** Owner of the broken subscription */\n      userId?: string;\n  }\n  interface FixBrokenMigrationResponse {\n  }\n  interface CreatePackageRequest {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** External reference. For example, an external subscription ID. **Note:** This field is not validated by Wix. */\n      externalId?: string | null;\n      /** Wix services that are resold. */\n      products: ProductInstance[];\n  }\n  interface CreatePackageResponse {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** Created package. */\n      package?: Package;\n  }\n  interface CancelPackageRequest {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** ID of the package to cancel. */\n      _id: string;\n  }\n  interface CancelPackageResponse {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** Canceled package. */\n      package?: Package;\n  }\n  interface PackageCanceled {\n      /** Canceled package. */\n      package?: Package;\n  }\n  interface GetPackageRequest {\n      /** Package ID. */\n      _id: string;\n  }\n  interface GetPackageResponse {\n      /** Retrieved package. */\n      package?: Package;\n  }\n  interface QueryPackagesRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryPackagesResponse {\n      /** Paging metadata. */\n      metadata?: PagingMetadataV2;\n      /**\n       * Retrieved packages.\n       *\n       * Max: 1000 packages\n       */\n      packages?: Package[];\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AssignProductInstanceToSiteRequest {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** ID of the product instance to assign to a site. */\n      instanceId: string;\n      /** ID of the site to which the product instance is assigned. */\n      siteId: string;\n  }\n  interface AssignProductInstanceToSiteResponse {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** Updated package that includes the assigned product instance. */\n      package?: Package;\n  }\n  interface AssignedProductInstanceToSite {\n      /** Updated package. */\n      package?: Package;\n      /**\n       * ID of the product instance that was assigned to the site.\n       * @readonly\n       */\n      productInstanceId?: string;\n      /**\n       * ID of the site the product instance was assigned to.\n       * @readonly\n       */\n      siteId?: string;\n  }\n  interface UnassignProductInstanceFromSiteRequest {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** ID of the product instance to unassign from a site. */\n      instanceId: string;\n  }\n  interface UnassignProductInstanceFromSiteResponse {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** Updated package that includes the unassigned product instance. */\n      package?: Package;\n  }\n  interface UnassignedProductInstanceFromSite {\n      /** Updated package. */\n      package?: Package;\n      /**\n       * ID of the product instance that was unassigned from the site.\n       * @readonly\n       */\n      productInstanceId?: string;\n      /**\n       * MetasiteId of the site the product instance was unassigned from.\n       * @readonly\n       */\n      metaSiteId?: string;\n  }\n  interface CancelProductInstanceRequest {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** ID of the product instance to cancel. */\n      instanceId: string;\n  }\n  interface CancelProductInstanceResponse {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** Updated package that includes the previously included the canceled product instance. */\n      package?: Package;\n  }\n  interface ProductInstanceCanceled {\n      /** Updated package. */\n      package?: Package;\n      /**\n       * ID of the product instance that was canceled.\n       * @readonly\n       */\n      productInstanceId?: string;\n  }\n  interface AdjustProductInstanceSpecificationsRequest {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** ID of the product instance to adjust. */\n      instanceId: string;\n      /**\n       * ID of the product to replace the original instance. Required in case you don't\n       * provide a new `billingInfo` object.\n       */\n      catalogProductId?: string | null;\n      /**\n       * Information about the billing cycle. Required in case you don't provide a new\n       * `catalogProductId`. The new billing cycle must be supported for the service.\n       * Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for\n       * information about a service's supported billing cycles. If\n       * you adjust the billing cycle for a product instance with `RECURRING`\n       * payments, you must also provide `billingInfo.cycleDuration.unit`.\n       */\n      billingInfo?: ProductInstanceCycle;\n      /**\n       * Discount code indicating that the reseller provisioned the product instance\n       * during a sale. In case you pass a code that isn't valid, the call succeeds and\n       * no discount is applied to the product instance. Wix doesn't guarantee that a\n       * discount code reduces the price between Wix and the reseller, even when it's\n       * valid. You can't add a discount code after you've created the\n       * product instance. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for\n       * more information about supported codes.\n       *\n       * Max: 25 characters\n       */\n      discountCode?: string | null;\n  }\n  interface AdjustProductInstanceSpecificationsResponse {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** Updated package that includes the adjusted product instance. */\n      package?: Package;\n  }\n  interface AdjustedProductInstanceSpecifications {\n      /** Updated package. */\n      package?: Package;\n      /**\n       * ID of the product instance to adjust.\n       * @readonly\n       */\n      productInstanceId?: string;\n  }\n  interface SubscriptionEvent extends SubscriptionEventEventOneOf {\n      /** Triggered when a subscription is created. */\n      created?: SubscriptionCreated;\n      /**\n       * Triggered when a subscription is assigned to a Wix site, including the initial\n       * assignment of a floating subscription or a re-assignement from a different site.\n       */\n      assigned?: SubscriptionAssigned;\n      /** Triggered when a subscription is canceled. */\n      cancelled?: SubscriptionCancelled;\n      /** Triggered when the subscription's auto renew is turned on. */\n      autoRenewTurnedOn?: SubscriptionAutoRenewTurnedOn;\n      /** Triggered when the subscription's auto renew is turned off. */\n      autoRenewTurnedOff?: SubscriptionAutoRenewTurnedOff;\n      /**\n       * Triggered when a subscription is unassigned from a Wix site and becomes\n       * floating.\n       */\n      unassigned?: SubscriptionUnassigned;\n      /**\n       * Triggered when a subscription is transferred from one Wix account to another.\n       * A transfer includes cancelling the original subscription and creating a new\n       * subscription for the target account. The event returns both the original\n       * and the new subscription.\n       */\n      transferred?: SubscriptionTransferred;\n      /** Triggered when a recurring charge succeeds for a subscription. */\n      recurringChargeSucceeded?: RecurringChargeSucceeded;\n      /**\n       * Triggered when a subscription was updated including when its product has been\n       * up- or downgraded or the billing cycle is changed.\n       */\n      contractSwitched?: ContractSwitched;\n      /**\n       * Triggered when a subscription gets close to the end of its billing cycle.\n       * The exact number of days is defined in the billing system.\n       */\n      nearEndOfPeriod?: SubscriptionNearEndOfPeriod;\n      /**\n       * Triggered when a subscription is updated and the change doesn't happen\n       * immediately but at the end of the current billing cycle.\n       */\n      pendingChange?: SubscriptionPendingChange;\n      /** ID of the subscription's event. */\n      eventId?: string | null;\n      /**\n       * Date and time of the event in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      eventDate?: Date | null;\n  }\n  /** @oneof */\n  interface SubscriptionEventEventOneOf {\n      /** Triggered when a subscription is created. */\n      created?: SubscriptionCreated;\n      /**\n       * Triggered when a subscription is assigned to a Wix site, including the initial\n       * assignment of a floating subscription or a re-assignement from a different site.\n       */\n      assigned?: SubscriptionAssigned;\n      /** Triggered when a subscription is canceled. */\n      cancelled?: SubscriptionCancelled;\n      /** Triggered when the subscription's auto renew is turned on. */\n      autoRenewTurnedOn?: SubscriptionAutoRenewTurnedOn;\n      /** Triggered when the subscription's auto renew is turned off. */\n      autoRenewTurnedOff?: SubscriptionAutoRenewTurnedOff;\n      /**\n       * Triggered when a subscription is unassigned from a Wix site and becomes\n       * floating.\n       */\n      unassigned?: SubscriptionUnassigned;\n      /**\n       * Triggered when a subscription is transferred from one Wix account to another.\n       * A transfer includes cancelling the original subscription and creating a new\n       * subscription for the target account. The event returns both the original\n       * and the new subscription.\n       */\n      transferred?: SubscriptionTransferred;\n      /** Triggered when a recurring charge succeeds for a subscription. */\n      recurringChargeSucceeded?: RecurringChargeSucceeded;\n      /**\n       * Triggered when a subscription was updated including when its product has been\n       * up- or downgraded or the billing cycle is changed.\n       */\n      contractSwitched?: ContractSwitched;\n      /**\n       * Triggered when a subscription gets close to the end of its billing cycle.\n       * The exact number of days is defined in the billing system.\n       */\n      nearEndOfPeriod?: SubscriptionNearEndOfPeriod;\n      /**\n       * Triggered when a subscription is updated and the change doesn't happen\n       * immediately but at the end of the current billing cycle.\n       */\n      pendingChange?: SubscriptionPendingChange;\n  }\n  /** Triggered when a subscription is created. */\n  interface SubscriptionCreated {\n      /** Created subscription. */\n      subscription?: Subscription;\n      /** Metadata for the `created` event. */\n      metadata?: Record<string, string>;\n      /**\n       * Subscription reactivation data.\n       * A subscription can be reactivated for example if it was incorrectly canceled because of fraud and then reactivated\n       * by the billing system\n       */\n      reactivationData?: ReactivationData;\n  }\n  /**\n   * A subscription holds information about a Premium product that a Wix account\n   * owner has purchased including details about the billing.\n   */\n  interface Subscription {\n      /** ID of the subscription. */\n      _id?: string;\n      /** ID of the Wix account that purchased the subscription. */\n      userId?: string;\n      /**\n       * ID of the [product](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/products/product-object)\n       * for which the subscription was purchased.\n       */\n      productId?: string;\n      /**\n       * Date and time the subscription was created in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      createdAt?: Date | null;\n      /**\n       * Date and time the subscription was last updated in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      updatedAt?: Date | null;\n      /**\n       * ID of the metasite that the subscription is assigned to.\n       * Available only when the subscription is assigned to a Wix site.\n       * Subscriptions for account level products can't be assigned to a Wix site.\n       */\n      metaSiteId?: string | null;\n      /** Information about the system that manages the subscription's billing. */\n      billingReference?: BillingReference;\n      /** Information about the billing cycle of the subscription. */\n      cycle?: Cycle;\n      /**\n       * Subscription status.\n       *\n       * + `UNKNOWN`: Default status.\n       * + `AUTO_RENEW_ON`: Subscription is active and automatically renews at the end of the current billing cycle.\n       * + `AUTO_RENEW_OFF`: Subscription is active but expires at the end of the current billing cycle.\n       * + `MANUAL_RECURRING`: Subscription is active and renews at the end of the current billing cycle, in case the customer takes an action related to the payment.\n       * + `CANCELLED`: Subscription isn't active because it has been canceled.\n       * + `TRANSFERRED`: Subscription isn't active because it has been transferred to a different account. A different active subscription was created for the target account.\n       */\n      status?: SubscriptionStatus;\n      /**\n       * Date and time the subscription was last transferred from one Wix account to\n       * another in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      transferredAt?: Date | null;\n      /**\n       * ID of the [product type](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/product-types/product-type-object)\n       * that the product, for which the subscription was purchased, belongs to.\n       */\n      productTypeId?: string;\n      /** Version number, which increments by 1 each time the subscription is updated. */\n      version?: number;\n      /**\n       * Whether the subscription is active. Includes the statuses\n       * `\"AUTO_RENEW_ON\"`, `\"AUTO_RENEW_OFF\"`, and `\"MANUAL_RECURRING\"`.\n       */\n      active?: boolean;\n      /**\n       * Date and time the subscription was originally created in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * Differs from `createdAt` in case the subscription was originally created for a different Wix account and has been transferred.\n       */\n      originalCreationDate?: Date | null;\n      /** Custom metadata about the subscription. */\n      metadata?: Record<string, string>;\n      /**\n       * 2-letter country code in\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format.\n       */\n      countryCode?: string | null;\n  }\n  interface BillingReference {\n      /**\n       * Name of the billing system that manages the subscription.\n       *\n       * + `\"UNKNOWN\"`: Default value.\n       * + `\"SBS\"`: [Wix Billing](https://github.com/wix-p/premium-billing/tree/master/sbs).\n       * + `\"LICENSER\"`:\n       * + `\"BASS\"`: [Billing and Subscriptions System](https://dev.wix.com/docs/rest/internal-only/premium/subscriptions-by-billing-by-wix/introduction).\n       * + `\"RESELLER\"`: [External Reseller](https://dev.wix.com/api/rest/account-level-apis/resellers/introduction).\n       */\n      providerName?: ProviderName;\n      /** Current provider reference ID. */\n      providerReferenceId?: string | null;\n      /** Previous provider reference IDs. Used for when a subscription is extended, specifically for domains. */\n      previousProviderReferenceIds?: string[];\n  }\n  enum ProviderName {\n      UNKNOWN = \"UNKNOWN\",\n      SBS = \"SBS\",\n      LICENSER = \"LICENSER\",\n      BASS = \"BASS\",\n      RESELLER = \"RESELLER\",\n      RECURRING_INVOICES = \"RECURRING_INVOICES\"\n  }\n  interface Cycle extends CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  /** @oneof */\n  interface CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  interface Interval {\n      /** interval unit of measure */\n      unit?: IntervalUnit;\n      /** number of interval */\n      count?: number;\n  }\n  enum IntervalUnit {\n      /** unknown interval unit */\n      UNKNOWN = \"UNKNOWN\",\n      /** day */\n      DAY = \"DAY\",\n      /** week */\n      WEEK = \"WEEK\",\n      /** month */\n      MONTH = \"MONTH\",\n      /** year */\n      YEAR = \"YEAR\"\n  }\n  interface OneTime {\n  }\n  enum SubscriptionStatus {\n      UNKNOWN = \"UNKNOWN\",\n      AUTO_RENEW_ON = \"AUTO_RENEW_ON\",\n      AUTO_RENEW_OFF = \"AUTO_RENEW_OFF\",\n      MANUAL_RECURRING = \"MANUAL_RECURRING\",\n      CANCELLED = \"CANCELLED\",\n      TRANSFERRED = \"TRANSFERRED\"\n  }\n  /** Triggered when a subscription is reactivated. */\n  interface ReactivationData {\n      reactivationReason?: ReactivationReasonEnum;\n      /**\n       * In the event of reactivation after chargeback dispute, the subscription may be extended according to the\n       * number of days it was inactive during the time of resolving the dispute\n       */\n      newEndOfPeriod?: Date | null;\n      /** The original end date, before the inactive period. */\n      oldEndOfPeriod?: Date | null;\n      /** The difference in days between the new new_end_of_period and old_end_of_period */\n      differenceInDays?: number | null;\n  }\n  /** Reason for subscription reactivation */\n  enum ReactivationReasonEnum {\n      UNKNOWN = \"UNKNOWN\",\n      /**\n       * Subscription was reactivated due to billing status change from CANCELED to ACTIVE, for example if it was incorrectly\n       * canceled because of suspicion of fraud\n       */\n      BILLING_STATUS_CHANGE = \"BILLING_STATUS_CHANGE\",\n      /** Subscription was reactivated after a chargeback dispute */\n      REACTIVATED_AFTER_CHARGEBACK = \"REACTIVATED_AFTER_CHARGEBACK\"\n  }\n  /**\n   * Triggered when a subscription is assigned to a Wix site, including the initial\n   * assignment of a floating subscription or a re-assignement from a different site.\n   */\n  interface SubscriptionAssigned {\n      /** Assigned subscription. */\n      subscription?: Subscription;\n      /** ID of the metasite that the subscription has been assigned to before the update. */\n      previousMetaSiteId?: string | null;\n  }\n  /** Triggered when a subscription is canceled. */\n  interface SubscriptionCancelled {\n      /** Canceled subscription. */\n      subscription?: Subscription;\n      /** Details about the cancellation including who canceled the subscription and why. */\n      cancellationDetails?: CancellationDetails;\n      /**\n       * Whether the subscription is canceled immediately or expires at the end of the current billing cycle.\n       *\n       * Default: `false`\n       */\n      immediateCancel?: boolean;\n      /** Whether the subscription was canceled during the free trial period. */\n      canceledInFreeTrial?: boolean;\n  }\n  /** Information about the cancellation flow including who canceled the subscription and why it was canceled. */\n  interface CancellationDetails {\n      /**\n       * Cancellation code.\n       *\n       * Values supported for cancellations on behalf of the billing system: `-1`, `-2`, `-3`, `-4`, `-5`, `-6`, `-7`, `-8`.\n       * For cancellations on behalf of the site owner or the service provider `cancellationCode`\n       * is taken from the request of\n       * [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n       *\n       * + `-1`: The subscription has been cancelled by the billing system but none of the listed cancellation reasons applies.\n       * + `-2`: There were payment problems.\n       * + `-3`: There was a chargeback.\n       * + `-4`: Customer support has canceled the subscription and issued a refund.\n       * + `-5`: The site owner has changed their existing subscription.\n       * + `-6`: The subscription has been transferred to a different Wix account.\n       * + `-7`: The subscription has been canceled because the site owner hasn't manually authenticated the recurring payment during the subscription's grace period. For example, site owners must manually confirm recurring payments within 40 days when paying with boleto.\n       * + `-8`: The Wix account that the subscription belonged to has been deleted.\n       */\n      cancellationCode?: number | null;\n      /**\n       * Cancellation reason. For cancellations on behalf of the site owner or the service provider `cancellationReason`\n       * is taken from the request of\n       * [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n       * For cancellations on behalf of the billing system `cancellationReason` is `null` or an empty string.\n       */\n      cancellationReason?: string | null;\n      /**\n       * Initiator of the cancellation. For `\"USER_REQUESTED\"` and `\"APP_MANAGED\"`,\n       * `cancellationCode` and `cancellationReason` are taken from the request of\n       * [Cancel Immediately](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately)\n       * or [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n       * For `\"PASSIVE\"`, cancellations `cancellationCode` is automatically calculated and `cancellationReason`\n       * is `null` or an empty string.\n       *\n       * + `\"UNKNOWN`: Default value.\n       * + `\"USER_REQUESTED\"`:  The Wix account owner has canceled the subscription.\n       * + `\"APP_MANAGED\"`: The service provider has canceled the subscription.\n       * + `\"PASSIVE\"`: The billing system has canceled the subscription. For example, in case of payment failure or fraud.\n       */\n      initiator?: Initiator;\n  }\n  enum Initiator {\n      UNKNOWN = \"UNKNOWN\",\n      USER_REQUESTED = \"USER_REQUESTED\",\n      APP_MANAGED = \"APP_MANAGED\",\n      PASSIVE = \"PASSIVE\"\n  }\n  /** Triggered when the subscription's auto renew is turned on. */\n  interface SubscriptionAutoRenewTurnedOn {\n      /** Subscription for which auto renew is turned on. */\n      subscription?: Subscription;\n      /**\n       * Supported values: `USER`, `APP`.\n       *\n       * Information about who turned auto renew on.\n       * + `\"USER\"`: The site owner who purchased the subscription has turned auto renew on.\n       * + `\"APP\"`: The service provider has turned auto renew on.\n       */\n      initiator?: string | null;\n  }\n  /** Triggered when the subscription's auto renew is turned off. */\n  interface SubscriptionAutoRenewTurnedOff {\n      /** Subscription for which auto renew is turned off. */\n      subscription?: Subscription;\n      /** Details about the cancellation including who canceled the subscription and why. */\n      cancellationDetails?: CancellationDetails;\n      /**\n       * Whether the subscription is immediately canceled or expires at the end of the current billing cycle.\n       *\n       * Default: `false`\n       */\n      immediateCancel?: boolean;\n  }\n  /**\n   * Triggered when a subscription is unassigned from a Wix site and becomes\n   * floating.\n   */\n  interface SubscriptionUnassigned {\n      /** Unassigned subscription. */\n      subscription?: Subscription;\n      /** ID of the metasite that the subscription has been assigned to before the event. */\n      previousMetaSiteId?: string;\n      /**\n       * Reason why the subscription is unassigned.\n       *\n       * + `\"UNKNOWN\"`: Default value.\n       * + `\"USER_REQUESTED\"`: The Wix account owner has unassigned the subscription.\n       * + `\"REPLACED_BY_ANOTHER_SUBSCRIPTION\"`: A different subscription that replaces this subscription is assigned to the site.\n       */\n      unassignReason?: UnassignReason;\n  }\n  enum UnassignReason {\n      UNKNOWN = \"UNKNOWN\",\n      USER_REQUESTED = \"USER_REQUESTED\",\n      REPLACED_BY_ANOTHER_SUBSCRIPTION = \"REPLACED_BY_ANOTHER_SUBSCRIPTION\"\n  }\n  /**\n   * Triggered when a subscription is transferred from one Wix account to another.\n   * A transfer includes cancelling the original subscription and creating a new\n   * subscription for the target account. The event returns both the original\n   * and the new subscription.\n   */\n  interface SubscriptionTransferred {\n      /** Original subscription that was canceled for the transfer. */\n      originSubscription?: Subscription;\n      /** Newly created subscription for the target account. */\n      targetSubscription?: Subscription;\n  }\n  /** Triggered when a recurring charge succeeds for a subscription. */\n  interface RecurringChargeSucceeded {\n      /** Subscription for which the recurring charge has succeeded. */\n      subscription?: Subscription;\n      /** Indication that there was a successful charge at the end of the free trial period */\n      freeTrialPeriodEnd?: boolean;\n  }\n  /**\n   * Triggered when a subscription was updated including when its product has been\n   * up- or downgraded or the billing cycle is changed.\n   */\n  interface ContractSwitched {\n      /** Updated subscription. */\n      subscription?: Subscription;\n      /** Billing cycle before the update. */\n      previousCycle?: Cycle;\n      /** ID of the product belonging to the subscription before the update. */\n      previousProductId?: string;\n      /** ID of the product type that the subscription's original product belonged to before the update. */\n      previousProductTypeId?: string;\n      /**\n       * Update type. __Note__: Doesn't include information about a product adjustment.\n       * For that purpose, see `productAdjustment`.\n       *\n       * + `\"NOT_APPLICABLE\"`: Default value.\n       * + `\"ADDITIONAL_QUANTITY\"`: An increased usage quota is added to the subscription. For example, a second mailbox is added to a subscription that previously included a single mailbox.\n       * + `\"CREDIT_UNUSED_PERIOD\"`: The subscription is upgraded and the new price is less than the regular price. The new price applies to every billing cycle, not just the first cycle.\n       * + `\"REFUND_PRICE_DIFF\"`: Not implemented.\n       * + `\"ADJUST_PERIOD_END\"`: Not implemented.\n       * + `\"DOWNGRADE_GRACE_PERIOD\"`: For downgrades during the grace period. In this situation, the site owner hasn’t paid yet and must immediately pay for the downgraded subscription.\n       * + `\"FULL_AMOUNT_PERIOD\"`: For upgrades in which the site owner retains unused benefits. For example, site owners upgrading a Facebook Ads subscription retain their unused FB Ads credit. The unused credit is added to the new credit.\n       * + `\"END_OF_PERIOD\"`: The subscription's billing current cycle is extended because of a downgrade.\n       * + `\"PENDING_CHANGES\"`: The subscription's billing is updated, but the change doesn't apply immediately. Instead, the update becomes effective at the end of current billing cycle.\n       * + `\"DOWNGRADE_RENEWAL\"`: The subscription is downgraded because of a declined payment. This prevents subscriptions from churning.\n       */\n      contractSwitchType?: ContractSwitchType;\n      /**\n       * ID of the metasite the subscription has been assigned to previously.\n       * Available only in case the subscription is assigned to a different site.\n       */\n      previousMetaSiteId?: string | null;\n      /**\n       * Update reason.\n       *\n       * + `\"PRICE_INCREASE\"`: The subscription's price has been increased.\n       * + `\"EXTERNAL_PROVIDER_TRIGGER\"`: Any reason other than a price increase.\n       */\n      contractSwitchReason?: ContractSwitchReason;\n      /** Information about the price update. Available only for updates with a price increase. */\n      productPriceIncreaseData?: ProductPriceIncreaseData;\n      /**\n       * Information about a product adjustment. For example, a downgrade.\n       * __Note__: This isn't the same as `contractSwitchType`.\n       *\n       * + `NOT_APPLICABLE`: There is no information about whether the product has been up- or downgraded.\n       * + `DOWNGRADE`: The product has been downgraded.\n       */\n      productAdjustment?: ProductAdjustment;\n  }\n  /** Copied from SBS */\n  enum ContractSwitchType {\n      NOT_APPLICABLE = \"NOT_APPLICABLE\",\n      ADDITIONAL_QUANTITY = \"ADDITIONAL_QUANTITY\",\n      CREDIT_UNUSED_PERIOD = \"CREDIT_UNUSED_PERIOD\",\n      REFUND_PRICE_DIFF = \"REFUND_PRICE_DIFF\",\n      ADJUST_PERIOD_END = \"ADJUST_PERIOD_END\",\n      DOWNGRADE_GRACE_PERIOD = \"DOWNGRADE_GRACE_PERIOD\",\n      FULL_AMOUNT_PERIOD = \"FULL_AMOUNT_PERIOD\",\n      END_OF_PERIOD = \"END_OF_PERIOD\",\n      PENDING_CHANGES = \"PENDING_CHANGES\",\n      DOWNGRADE_RENEWAL = \"DOWNGRADE_RENEWAL\"\n  }\n  enum ContractSwitchReason {\n      EXTERNAL_PROVIDER_TRIGGER = \"EXTERNAL_PROVIDER_TRIGGER\",\n      PRICE_INCREASE = \"PRICE_INCREASE\"\n  }\n  /** Triggered when a subscription's price is increased. */\n  interface ProductPriceIncreaseData {\n      /** Price of the subscription before the update. */\n      previousPrice?: string | null;\n      /** A value that is used in order to select the correct email template to send the user regarding the price increase. */\n      emailTemplateSelector?: string | null;\n      /** Used to differentiate between migration segments. Does not have to be unique per segment. */\n      segmentName?: string | null;\n      /** Used to determine how the price increase was triggered. */\n      priceIncreaseTrigger?: PriceIncreaseTrigger;\n  }\n  /** Reason for Price Increase Trigger */\n  enum PriceIncreaseTrigger {\n      NEAR_RENEWAL = \"NEAR_RENEWAL\",\n      RECURRING_SUCCESS = \"RECURRING_SUCCESS\",\n      MANUAL = \"MANUAL\"\n  }\n  /** Triggered when a subscription's product is adusted. */\n  enum ProductAdjustment {\n      /** flag to show that the ContractSwitchedEvent is not applicable / needed */\n      NOT_APPLICABLE = \"NOT_APPLICABLE\",\n      /** flag to show that the ContractSwitchedEvent is a Downgrade */\n      DOWNGRADE = \"DOWNGRADE\"\n  }\n  /**\n   * Triggered when a subscription gets close to the end of its billing cycle.\n   * The exact number of days is defined in the billing system.\n   */\n  interface SubscriptionNearEndOfPeriod {\n      /** Subscription that got close to the end of its billing cycle. */\n      subscription?: Subscription;\n      /** Whether the subscription is within the free trial period. */\n      inFreeTrial?: boolean;\n  }\n  /**\n   * Triggered when a subscription is updated and the change doesn't happen\n   * immediately but at the end of the current billing cycle.\n   */\n  interface SubscriptionPendingChange {\n      /** Subscription for which a pending update is triggered. */\n      subscription?: Subscription;\n  }\n  interface Empty {\n  }\n  interface ProductInstanceUpdated {\n      /** Updated package. */\n      package?: Package;\n      /**\n       * ID of the product instance that was adjusted.\n       * @readonly\n       */\n      productInstanceId?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface FailureReportRequest {\n      /** ID of the product instance that failed. */\n      instanceId?: string;\n      /** Failure reason. */\n      reason?: FailureReason;\n  }\n  interface ProductInstanceFailed {\n      /** Updated package. */\n      package?: Package;\n      /**\n       * ID of the product instance that `FAILED`.\n       * @readonly\n       */\n      productInstanceId?: string;\n      /** Failure reason. */\n      reason?: FailureReason;\n  }\n  interface Task {\n      key?: TaskKey;\n      executeAt?: Date | null;\n      payload?: string | null;\n  }\n  interface TaskKey {\n      appId?: string;\n      instanceId?: string;\n      subjectId?: string | null;\n  }\n  interface TaskAction extends TaskActionActionOneOf {\n      complete?: Complete;\n      cancel?: Cancel;\n      reschedule?: Reschedule;\n  }\n  /** @oneof */\n  interface TaskActionActionOneOf {\n      complete?: Complete;\n      cancel?: Cancel;\n      reschedule?: Reschedule;\n  }\n  interface Complete {\n  }\n  interface Cancel {\n  }\n  interface Reschedule {\n      executeAt?: Date | null;\n      payload?: string | null;\n  }\n  interface UpdateProductInstanceRequest {\n      /** ID of the product instance to update. */\n      instanceId?: string;\n      status?: Status;\n      countryCode?: string | null;\n      /** Which field to update, currently only status and countryCode are supported. */\n      fieldToUpdate?: FieldToUpdate;\n  }\n  enum FieldToUpdate {\n      STATUS = \"STATUS\",\n      COUNTRY_CODE = \"COUNTRY_CODE\"\n  }\n  interface UpdateProductInstanceResponse {\n      /** Updated Product Instance */\n      productInstance?: ProductInstance;\n  }\n  interface UpdatePackageExternalIdRequest {\n      /** ID of the package to update. */\n      packageId: string;\n      /** External ID that will be assigned to the package. */\n      externalId: string;\n  }\n  interface UpdatePackageExternalIdResponse {\n      /** Updated package. */\n      updatedPackage?: Package;\n  }\n  interface CountPackagesRequest {\n      /** Filter on what packages to count */\n      filter?: Record<string, any> | null;\n  }\n  interface CountPackagesResponse {\n      /** Number of packages */\n      count?: number;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new package.\n   *\n   * Deprecated: This method is deprecated and will be removed by 2024-12-31.\n   * Use com.wixpress.premium.reseller.packages.v1.Packages.CreatePackageV2 instead.\n   *\n   * HTTP Request:\n   * POST /v1/packages\n   *\n   * Permissions:\n   * Requires the \"premium.reseller-package.manage\" permission with MANUAL type.\n   *\n   * Event:\n   * A PRIVATE callback will be triggered when the package is successfully created.\n   *\n   * Required Fields:\n   * - CreatePackageRequest.products\n   *\n   * Maturity: BETA\n   * Exposure: PUBLIC\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.products\n   * @permissionId premium.reseller-package.manage\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.premium.reseller.packages.v1.Packages.CreatePackageV2\n   * @targetRemovalDate 2024-12-31\n   */\n  function createPackage(options?: CreatePackageOptions): Promise<CreatePackageResponse>;\n  interface CreatePackageOptions {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** External reference. For example, an external subscription ID. **Note:** This field is not validated by Wix. */\n      externalId?: string | null;\n      /** Wix services that are resold. */\n      products: ProductInstance[];\n  }\n  /**\n   * Creates a package of product instances.\n   *\n   *\n   * You must pass the relevant Wix account ID in the header of the call. In\n   * the DIY flow, we recommend to pass the customer's sub-account ID instead\n   * of your main reseller account ID.\n   *\n   * You may also pass a Wix site ID for each product in the body of the call.\n   * If you omit the site ID, a floating product instance is created.\n   *\n   * When Wix customers purchase a specific paid service or product, Wix may offer\n   * them time-limited free access to a different product. For example, customers\n   * get a voucher for a free 1-year domain registration when purchasing any Wix\n   * Premium plan. If you want to offer your customers the same benefit, create a\n   * package containing the original product first. Then, create a second package\n   * with the additional product. In the second Create Package call, pass the\n   * instance ID of the original product as `referenceProductInstanceId`. This way,\n   * Wix doesn't charge you for the additional product. Make sure that the status\n   * of the referenced product is either `\"PENDING\"` or `\"ACTIVE\"`. Note that you\n   * can use each product instance only a single time as reference instance.\n   *\n   * You need to pass a `countryCode` to specify where customers can claim\n   * vouchers that may come with a product. Contact the\n   * [Wix B2B sales team](mailto:bizdev@wix.com) to get information about\n   * vouchers and supported locations.\n   *\n   * > **Important**: This call requires an account level API key and cannot be\n   * > authenticated with the standard authorization header.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.products\n   * @requiredField options.products.countryCode\n   * @permissionId premium.reseller-package.manage\n   * @adminMethod\n   */\n  function createPackageV2(options?: CreatePackageV2Options): Promise<CreatePackageResponse>;\n  interface CreatePackageV2Options {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /** External reference. For example, an external subscription ID. **Note:** This field is not validated by Wix. */\n      externalId?: string | null;\n      /** Wix services that are resold. */\n      products: ProductInstance[];\n  }\n  /**\n   * Cancels all product instances included in the package and the customer\n   * immediately loses access to the canceled functionality.\n   *\n   *\n   * You must pass the ID of the Wix account that the package belongs to in the\n   * header of the call. The call fails, if the package and Wix account don't\n   * match.\n   *\n   * If a canceled product instance is a requirement for another Wix service, that\n   * functionality is also no longer available to the customer. For example, if\n   * you cancel a Premium plan, a previously connected domain is automatically\n   * disconnected from the site.\n   *\n   * > **Important**: This call requires an account level API key and cannot be\n   * > authenticated with the standard authorization header.\n   * @param _id - ID of the package to cancel.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId premium.reseller-package.manage\n   * @adminMethod\n   */\n  function cancelPackage(_id: string, options?: CancelPackageOptions): Promise<CancelPackageResponse>;\n  interface CancelPackageOptions {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n  }\n  /**\n   * Retrieves a package.\n   *\n   *\n   * You must pass the ID of the Wix account that the package belongs to in the\n   * header of the call. The call fails, if the package and Wix account don't\n   * match.\n   *\n   * > **Important**: This call requires an account level API key and cannot be\n   * > authenticated with the standard authorization header.\n   * @param _id - Package ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId premium.reseller-package.read\n   * @adminMethod\n   * @returns Retrieved package.\n   */\n  function getPackage(_id: string): Promise<Package>;\n  /**\n   * Retrieves a list of packages, given the provided paging, filtering, and sorting.\n   *\n   *\n   * You must pass the ID of the Wix account that the packages belong to in the\n   * header of the call. The call returns packages that belong to the parent\n   * account, regardless if you pass the ID of a parent or sub-account. In case\n   * you want to retrieve only packages that belong to a sub-account, you must\n   * pass the sub-account ID as `filter` in the `query` object like this:\n   *\n   * ```json\n   * {\n   * \"query\": {\n   * \"filter\": {\n   * \"accountId\": {\n   * \"$eq\": \"<SUB_ACCOUNT_ID>\"\n   * }\n   * }\n   * }\n   * }\n   * ```\n   *\n   * Query Packages runs with these defaults, which you can override:\n   *\n   * - `createdDate` is sorted in `DESC` order\n   * - `cursorPaging.limit` is `100`\n   *\n   * By default `pagingMetadata.cursors` are returned, unless you specifically pass\n   * `query.paging`.\n   *\n   * The maximum for `cursorPaging.limit` is `100`.\n   *\n   * If you pass a cursor token that you have received in a previous Query Package response,\n   * passing additional sort or filter information results in an invalid cursor\n   * error. Since the received cursor token already holds all the needed information\n   * for sort and filter. Changing the sort and filter properties during the span of\n   * a cursor query isn't supported. But you can provide a different limit.\n   *\n   * For field support for filters and sorting,\n   * see [Query Packages: Supported Filters and Sorting](https://dev.wix.com/api/rest/account-level-apis/resellers/supported-filters).\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   *\n   * > **Important**: This call requires an account level API key and cannot be\n   * > authenticated with the standard authorization header.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId premium.reseller-package.read\n   * @adminMethod\n   */\n  function queryPackages(): PackagesQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface PackagesQueryResult extends QueryCursorResult {\n      items: Package[];\n      query: PackagesQueryBuilder;\n      next: () => Promise<PackagesQueryResult>;\n      prev: () => Promise<PackagesQueryResult>;\n  }\n  interface PackagesQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => PackagesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => PackagesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<PackagesQueryResult>;\n  }\n  /**\n   * Assigns a product instance to a site.\n   *\n   *  You must pass the ID of the Wix account that the product instance belongs to in the header of the call.\n   *\n   *  The customer immediately gains access to features included in the assigned service. It's up to the reseller to decide whether assigning a product instance affects the customer’s payment.\n   *\n   *  It's possible to assign a product instance that's already assigned to a site, to a different site without [unassigning](/packages/unassign-product-instance-from-site) it first. But if the call fails in such a situation, the product instance may either remain assigned to the original site or become unassigned. You can confirm the instance's status by [retrieving the relevant package](/packages/get-package).\n   *\n   * > **Important:** This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.instanceId\n   * @requiredField identifiers.siteId\n   * @permissionId premium.reseller-package.manage\n   * @adminMethod\n   */\n  function assignProductInstanceToSite(identifiers: AssignProductInstanceToSiteIdentifiers, options?: AssignProductInstanceToSiteOptions): Promise<AssignProductInstanceToSiteResponse>;\n  interface AssignProductInstanceToSiteIdentifiers {\n      /** ID of the product instance to assign to a site. */\n      instanceId: string;\n      /** ID of the site to which the product instance is assigned. */\n      siteId: string;\n  }\n  interface AssignProductInstanceToSiteOptions {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n  }\n  /**\n   * Unassigns a product instance from a site.\n   *\n   *  You must pass the ID of the Wix account that the product instance belongs to in the header of the call.\n   *\n   *  The product instance becomes floating and the customer immediately looses access to features included in the unassigned service. It's up to the reseller to decide whether unassigning a product instance affects the customer’s payment.\n   *\n   *  If an unassigned product instance is a requirement for another service, that service may not be available to the customer any longer. For example, if you unassign a `Combo Plan` plan from a site, a previously connected domain is disconnected.\n   *\n   *  You can assign floating product instances to sites using the [Assign Product Instance to Site](/packages/assign-product-instance-to-site) method.\n   *\n   * > **Important:** This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param instanceId - ID of the product instance to unassign from a site.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @permissionId premium.reseller-package.manage\n   * @adminMethod\n   */\n  function unassignProductInstanceFromSite(instanceId: string, options?: UnassignProductInstanceFromSiteOptions): Promise<UnassignProductInstanceFromSiteResponse>;\n  interface UnassignProductInstanceFromSiteOptions {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n  }\n  /**\n   * Cancels a product instance.\n   *\n   *\n   * You must pass the ID of the Wix account that the product instance belongs\n   * to in the header of the call. The call fails, if the product instance and\n   * Wix account don't match.\n   *\n   * The customer immediately loses access to features included in the\n   * canceled service. It's up to the reseller to decide whether the adjustment\n   * affects the customer’s payment.\n   *\n   * If a canceled service is a requirement for another service, that service\n   * may not be available to the customer any longer. For example, if you cancel\n   * a `Combo Plan` plan, a previously connected domain is disconnected\n   * from the site.\n   *\n   *\n   * > **Important**: This call requires an account level API key and cannot be\n   * > authenticated with the standard authorization header.\n   * @param instanceId - ID of the product instance to cancel.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @permissionId premium.reseller-package.manage\n   * @adminMethod\n   */\n  function cancelProductInstance(instanceId: string, options?: CancelProductInstanceOptions): Promise<CancelProductInstanceResponse>;\n  interface CancelProductInstanceOptions {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n  }\n  /**\n   * Upgrades or downgrades a product instance. For example, you can upgrade a\n   * customer's `Business Unlimited Premium` plan to `Business VIP` using this\n   * endpoint.\n   *\n   *\n   * You must pass the ID of the Wix account that the product instance belongs\n   * to in the header of the call. The call fails, if the product instance and\n   * Wix account don't match.\n   *\n   * The customer has immediate access to new features, while losing access to\n   * features not included in the new service. It's up to the reseller to\n   * decide whether the adjustment affects the customer’s payment.\n   *\n   * You can only exchange a product instance with a service of the same type.\n   * Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for details about\n   * which services belong to the same type.\n   *\n   * You must provide either a new `catalogProductId` or a new `billingInfo`\n   * object. The new billing cycle must be supported for the product. Contact the\n   * [Wix B2B sales team](mailto:bizdev@wix.com) for information\n   * about which billing cycles are supported for each product. If you adjust the\n   * billing cycle for a product instance with `RECURRING` payments, you must\n   * also provide `billingInfo.cycleDuration.unit`.\n   *\n   * If a removed feature is a requirement for another service, that service\n   * may not be available to the customer any longer. For example, if you downgrade a\n   * `Business Unlimited` plan to `Business Basic`, the site owners won’t be\n   * able to use `Pro eCommerce Features` any longer.\n   *\n   * > **Important**: This call requires an account level API key and cannot be\n   * > authenticated with the standard authorization header.\n   * @param instanceId - ID of the product instance to adjust.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField instanceId\n   * @permissionId premium.reseller-package.manage\n   * @adminMethod\n   */\n  function adjustProductInstanceSpecifications(instanceId: string, options?: AdjustProductInstanceSpecificationsOptions): Promise<AdjustProductInstanceSpecificationsResponse>;\n  interface AdjustProductInstanceSpecificationsOptions {\n      /** Idempotency key. */\n      idempotencyKey?: string | null;\n      /**\n       * ID of the product to replace the original instance. Required in case you don't\n       * provide a new `billingInfo` object.\n       */\n      catalogProductId?: string | null;\n      /**\n       * Information about the billing cycle. Required in case you don't provide a new\n       * `catalogProductId`. The new billing cycle must be supported for the service.\n       * Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for\n       * information about a service's supported billing cycles. If\n       * you adjust the billing cycle for a product instance with `RECURRING`\n       * payments, you must also provide `billingInfo.cycleDuration.unit`.\n       */\n      billingInfo?: ProductInstanceCycle;\n      /**\n       * Discount code indicating that the reseller provisioned the product instance\n       * during a sale. In case you pass a code that isn't valid, the call succeeds and\n       * no discount is applied to the product instance. Wix doesn't guarantee that a\n       * discount code reduces the price between Wix and the reseller, even when it's\n       * valid. You can't add a discount code after you've created the\n       * product instance. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for\n       * more information about supported codes.\n       *\n       * Max: 25 characters\n       */\n      discountCode?: string | null;\n  }\n  /**\n   * Updates a package's external ID field.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.externalId\n   * @requiredField identifiers.packageId\n   * @permissionId PREMIUM.PACKAGE_UPDATE_EXTERNAL_ID\n   * @adminMethod\n   */\n  function updatePackageExternalId(identifiers: UpdatePackageExternalIdIdentifiers): Promise<UpdatePackageExternalIdResponse>;\n  interface UpdatePackageExternalIdIdentifiers {\n      /** ID of the package to update. */\n      packageId: string;\n      /** External ID that will be assigned to the package. */\n      externalId: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId premium.reseller-package.read\n   * @adminMethod\n   */\n  function countPackages(options?: CountPackagesOptions): Promise<CountPackagesResponse>;\n  interface CountPackagesOptions {\n      /** Filter on what packages to count */\n      filter?: Record<string, any> | null;\n  }\n  \n  type premiumResellerV1Packages_universal_d_Package = Package;\n  type premiumResellerV1Packages_universal_d_ProductInstance = ProductInstance;\n  type premiumResellerV1Packages_universal_d_ProductInstanceContractDetailsOneOf = ProductInstanceContractDetailsOneOf;\n  type premiumResellerV1Packages_universal_d_FailureReasonFailureReason = FailureReasonFailureReason;\n  const premiumResellerV1Packages_universal_d_FailureReasonFailureReason: typeof FailureReasonFailureReason;\n  type premiumResellerV1Packages_universal_d_IntervalIntervalUnit = IntervalIntervalUnit;\n  const premiumResellerV1Packages_universal_d_IntervalIntervalUnit: typeof IntervalIntervalUnit;\n  type premiumResellerV1Packages_universal_d_CycleDescriptorType = CycleDescriptorType;\n  const premiumResellerV1Packages_universal_d_CycleDescriptorType: typeof CycleDescriptorType;\n  type premiumResellerV1Packages_universal_d_CycleInterval = CycleInterval;\n  type premiumResellerV1Packages_universal_d_Status = Status;\n  const premiumResellerV1Packages_universal_d_Status: typeof Status;\n  type premiumResellerV1Packages_universal_d_FailureReason = FailureReason;\n  type premiumResellerV1Packages_universal_d_ProductInstanceCycle = ProductInstanceCycle;\n  type premiumResellerV1Packages_universal_d_MigrateSubscriptionToPackagesRequest = MigrateSubscriptionToPackagesRequest;\n  type premiumResellerV1Packages_universal_d_MigrateSubscriptionToPackagesResponse = MigrateSubscriptionToPackagesResponse;\n  type premiumResellerV1Packages_universal_d_FixBrokenMigrationRequest = FixBrokenMigrationRequest;\n  type premiumResellerV1Packages_universal_d_FixBrokenMigrationResponse = FixBrokenMigrationResponse;\n  type premiumResellerV1Packages_universal_d_CreatePackageRequest = CreatePackageRequest;\n  type premiumResellerV1Packages_universal_d_CreatePackageResponse = CreatePackageResponse;\n  type premiumResellerV1Packages_universal_d_CancelPackageRequest = CancelPackageRequest;\n  type premiumResellerV1Packages_universal_d_CancelPackageResponse = CancelPackageResponse;\n  type premiumResellerV1Packages_universal_d_PackageCanceled = PackageCanceled;\n  type premiumResellerV1Packages_universal_d_GetPackageRequest = GetPackageRequest;\n  type premiumResellerV1Packages_universal_d_GetPackageResponse = GetPackageResponse;\n  type premiumResellerV1Packages_universal_d_QueryPackagesRequest = QueryPackagesRequest;\n  type premiumResellerV1Packages_universal_d_QueryV2 = QueryV2;\n  type premiumResellerV1Packages_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type premiumResellerV1Packages_universal_d_Sorting = Sorting;\n  type premiumResellerV1Packages_universal_d_SortOrder = SortOrder;\n  const premiumResellerV1Packages_universal_d_SortOrder: typeof SortOrder;\n  type premiumResellerV1Packages_universal_d_Paging = Paging;\n  type premiumResellerV1Packages_universal_d_CursorPaging = CursorPaging;\n  type premiumResellerV1Packages_universal_d_QueryPackagesResponse = QueryPackagesResponse;\n  type premiumResellerV1Packages_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type premiumResellerV1Packages_universal_d_Cursors = Cursors;\n  type premiumResellerV1Packages_universal_d_AssignProductInstanceToSiteRequest = AssignProductInstanceToSiteRequest;\n  type premiumResellerV1Packages_universal_d_AssignProductInstanceToSiteResponse = AssignProductInstanceToSiteResponse;\n  type premiumResellerV1Packages_universal_d_AssignedProductInstanceToSite = AssignedProductInstanceToSite;\n  type premiumResellerV1Packages_universal_d_UnassignProductInstanceFromSiteRequest = UnassignProductInstanceFromSiteRequest;\n  type premiumResellerV1Packages_universal_d_UnassignProductInstanceFromSiteResponse = UnassignProductInstanceFromSiteResponse;\n  type premiumResellerV1Packages_universal_d_UnassignedProductInstanceFromSite = UnassignedProductInstanceFromSite;\n  type premiumResellerV1Packages_universal_d_CancelProductInstanceRequest = CancelProductInstanceRequest;\n  type premiumResellerV1Packages_universal_d_CancelProductInstanceResponse = CancelProductInstanceResponse;\n  type premiumResellerV1Packages_universal_d_ProductInstanceCanceled = ProductInstanceCanceled;\n  type premiumResellerV1Packages_universal_d_AdjustProductInstanceSpecificationsRequest = AdjustProductInstanceSpecificationsRequest;\n  type premiumResellerV1Packages_universal_d_AdjustProductInstanceSpecificationsResponse = AdjustProductInstanceSpecificationsResponse;\n  type premiumResellerV1Packages_universal_d_AdjustedProductInstanceSpecifications = AdjustedProductInstanceSpecifications;\n  type premiumResellerV1Packages_universal_d_SubscriptionEvent = SubscriptionEvent;\n  type premiumResellerV1Packages_universal_d_SubscriptionEventEventOneOf = SubscriptionEventEventOneOf;\n  type premiumResellerV1Packages_universal_d_SubscriptionCreated = SubscriptionCreated;\n  type premiumResellerV1Packages_universal_d_Subscription = Subscription;\n  type premiumResellerV1Packages_universal_d_BillingReference = BillingReference;\n  type premiumResellerV1Packages_universal_d_ProviderName = ProviderName;\n  const premiumResellerV1Packages_universal_d_ProviderName: typeof ProviderName;\n  type premiumResellerV1Packages_universal_d_Cycle = Cycle;\n  type premiumResellerV1Packages_universal_d_CycleCycleSelectorOneOf = CycleCycleSelectorOneOf;\n  type premiumResellerV1Packages_universal_d_Interval = Interval;\n  type premiumResellerV1Packages_universal_d_IntervalUnit = IntervalUnit;\n  const premiumResellerV1Packages_universal_d_IntervalUnit: typeof IntervalUnit;\n  type premiumResellerV1Packages_universal_d_OneTime = OneTime;\n  type premiumResellerV1Packages_universal_d_SubscriptionStatus = SubscriptionStatus;\n  const premiumResellerV1Packages_universal_d_SubscriptionStatus: typeof SubscriptionStatus;\n  type premiumResellerV1Packages_universal_d_ReactivationData = ReactivationData;\n  type premiumResellerV1Packages_universal_d_ReactivationReasonEnum = ReactivationReasonEnum;\n  const premiumResellerV1Packages_universal_d_ReactivationReasonEnum: typeof ReactivationReasonEnum;\n  type premiumResellerV1Packages_universal_d_SubscriptionAssigned = SubscriptionAssigned;\n  type premiumResellerV1Packages_universal_d_SubscriptionCancelled = SubscriptionCancelled;\n  type premiumResellerV1Packages_universal_d_CancellationDetails = CancellationDetails;\n  type premiumResellerV1Packages_universal_d_Initiator = Initiator;\n  const premiumResellerV1Packages_universal_d_Initiator: typeof Initiator;\n  type premiumResellerV1Packages_universal_d_SubscriptionAutoRenewTurnedOn = SubscriptionAutoRenewTurnedOn;\n  type premiumResellerV1Packages_universal_d_SubscriptionAutoRenewTurnedOff = SubscriptionAutoRenewTurnedOff;\n  type premiumResellerV1Packages_universal_d_SubscriptionUnassigned = SubscriptionUnassigned;\n  type premiumResellerV1Packages_universal_d_UnassignReason = UnassignReason;\n  const premiumResellerV1Packages_universal_d_UnassignReason: typeof UnassignReason;\n  type premiumResellerV1Packages_universal_d_SubscriptionTransferred = SubscriptionTransferred;\n  type premiumResellerV1Packages_universal_d_RecurringChargeSucceeded = RecurringChargeSucceeded;\n  type premiumResellerV1Packages_universal_d_ContractSwitched = ContractSwitched;\n  type premiumResellerV1Packages_universal_d_ContractSwitchType = ContractSwitchType;\n  const premiumResellerV1Packages_universal_d_ContractSwitchType: typeof ContractSwitchType;\n  type premiumResellerV1Packages_universal_d_ContractSwitchReason = ContractSwitchReason;\n  const premiumResellerV1Packages_universal_d_ContractSwitchReason: typeof ContractSwitchReason;\n  type premiumResellerV1Packages_universal_d_ProductPriceIncreaseData = ProductPriceIncreaseData;\n  type premiumResellerV1Packages_universal_d_PriceIncreaseTrigger = PriceIncreaseTrigger;\n  const premiumResellerV1Packages_universal_d_PriceIncreaseTrigger: typeof PriceIncreaseTrigger;\n  type premiumResellerV1Packages_universal_d_ProductAdjustment = ProductAdjustment;\n  const premiumResellerV1Packages_universal_d_ProductAdjustment: typeof ProductAdjustment;\n  type premiumResellerV1Packages_universal_d_SubscriptionNearEndOfPeriod = SubscriptionNearEndOfPeriod;\n  type premiumResellerV1Packages_universal_d_SubscriptionPendingChange = SubscriptionPendingChange;\n  type premiumResellerV1Packages_universal_d_Empty = Empty;\n  type premiumResellerV1Packages_universal_d_ProductInstanceUpdated = ProductInstanceUpdated;\n  type premiumResellerV1Packages_universal_d_DomainEvent = DomainEvent;\n  type premiumResellerV1Packages_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type premiumResellerV1Packages_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type premiumResellerV1Packages_universal_d_RestoreInfo = RestoreInfo;\n  type premiumResellerV1Packages_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type premiumResellerV1Packages_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type premiumResellerV1Packages_universal_d_ActionEvent = ActionEvent;\n  type premiumResellerV1Packages_universal_d_FailureReportRequest = FailureReportRequest;\n  type premiumResellerV1Packages_universal_d_ProductInstanceFailed = ProductInstanceFailed;\n  type premiumResellerV1Packages_universal_d_Task = Task;\n  type premiumResellerV1Packages_universal_d_TaskKey = TaskKey;\n  type premiumResellerV1Packages_universal_d_TaskAction = TaskAction;\n  type premiumResellerV1Packages_universal_d_TaskActionActionOneOf = TaskActionActionOneOf;\n  type premiumResellerV1Packages_universal_d_Complete = Complete;\n  type premiumResellerV1Packages_universal_d_Cancel = Cancel;\n  type premiumResellerV1Packages_universal_d_Reschedule = Reschedule;\n  type premiumResellerV1Packages_universal_d_UpdateProductInstanceRequest = UpdateProductInstanceRequest;\n  type premiumResellerV1Packages_universal_d_FieldToUpdate = FieldToUpdate;\n  const premiumResellerV1Packages_universal_d_FieldToUpdate: typeof FieldToUpdate;\n  type premiumResellerV1Packages_universal_d_UpdateProductInstanceResponse = UpdateProductInstanceResponse;\n  type premiumResellerV1Packages_universal_d_UpdatePackageExternalIdRequest = UpdatePackageExternalIdRequest;\n  type premiumResellerV1Packages_universal_d_UpdatePackageExternalIdResponse = UpdatePackageExternalIdResponse;\n  type premiumResellerV1Packages_universal_d_CountPackagesRequest = CountPackagesRequest;\n  type premiumResellerV1Packages_universal_d_CountPackagesResponse = CountPackagesResponse;\n  type premiumResellerV1Packages_universal_d_MessageEnvelope = MessageEnvelope;\n  type premiumResellerV1Packages_universal_d_IdentificationData = IdentificationData;\n  type premiumResellerV1Packages_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type premiumResellerV1Packages_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const premiumResellerV1Packages_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const premiumResellerV1Packages_universal_d_createPackage: typeof createPackage;\n  type premiumResellerV1Packages_universal_d_CreatePackageOptions = CreatePackageOptions;\n  const premiumResellerV1Packages_universal_d_createPackageV2: typeof createPackageV2;\n  type premiumResellerV1Packages_universal_d_CreatePackageV2Options = CreatePackageV2Options;\n  const premiumResellerV1Packages_universal_d_cancelPackage: typeof cancelPackage;\n  type premiumResellerV1Packages_universal_d_CancelPackageOptions = CancelPackageOptions;\n  const premiumResellerV1Packages_universal_d_getPackage: typeof getPackage;\n  const premiumResellerV1Packages_universal_d_queryPackages: typeof queryPackages;\n  type premiumResellerV1Packages_universal_d_PackagesQueryResult = PackagesQueryResult;\n  type premiumResellerV1Packages_universal_d_PackagesQueryBuilder = PackagesQueryBuilder;\n  const premiumResellerV1Packages_universal_d_assignProductInstanceToSite: typeof assignProductInstanceToSite;\n  type premiumResellerV1Packages_universal_d_AssignProductInstanceToSiteIdentifiers = AssignProductInstanceToSiteIdentifiers;\n  type premiumResellerV1Packages_universal_d_AssignProductInstanceToSiteOptions = AssignProductInstanceToSiteOptions;\n  const premiumResellerV1Packages_universal_d_unassignProductInstanceFromSite: typeof unassignProductInstanceFromSite;\n  type premiumResellerV1Packages_universal_d_UnassignProductInstanceFromSiteOptions = UnassignProductInstanceFromSiteOptions;\n  const premiumResellerV1Packages_universal_d_cancelProductInstance: typeof cancelProductInstance;\n  type premiumResellerV1Packages_universal_d_CancelProductInstanceOptions = CancelProductInstanceOptions;\n  const premiumResellerV1Packages_universal_d_adjustProductInstanceSpecifications: typeof adjustProductInstanceSpecifications;\n  type premiumResellerV1Packages_universal_d_AdjustProductInstanceSpecificationsOptions = AdjustProductInstanceSpecificationsOptions;\n  const premiumResellerV1Packages_universal_d_updatePackageExternalId: typeof updatePackageExternalId;\n  type premiumResellerV1Packages_universal_d_UpdatePackageExternalIdIdentifiers = UpdatePackageExternalIdIdentifiers;\n  const premiumResellerV1Packages_universal_d_countPackages: typeof countPackages;\n  type premiumResellerV1Packages_universal_d_CountPackagesOptions = CountPackagesOptions;\n  namespace premiumResellerV1Packages_universal_d {\n    export {\n      premiumResellerV1Packages_universal_d_Package as Package,\n      premiumResellerV1Packages_universal_d_ProductInstance as ProductInstance,\n      premiumResellerV1Packages_universal_d_ProductInstanceContractDetailsOneOf as ProductInstanceContractDetailsOneOf,\n      premiumResellerV1Packages_universal_d_FailureReasonFailureReason as FailureReasonFailureReason,\n      premiumResellerV1Packages_universal_d_IntervalIntervalUnit as IntervalIntervalUnit,\n      premiumResellerV1Packages_universal_d_CycleDescriptorType as CycleDescriptorType,\n      premiumResellerV1Packages_universal_d_CycleInterval as CycleInterval,\n      premiumResellerV1Packages_universal_d_Status as Status,\n      premiumResellerV1Packages_universal_d_FailureReason as FailureReason,\n      premiumResellerV1Packages_universal_d_ProductInstanceCycle as ProductInstanceCycle,\n      premiumResellerV1Packages_universal_d_MigrateSubscriptionToPackagesRequest as MigrateSubscriptionToPackagesRequest,\n      premiumResellerV1Packages_universal_d_MigrateSubscriptionToPackagesResponse as MigrateSubscriptionToPackagesResponse,\n      premiumResellerV1Packages_universal_d_FixBrokenMigrationRequest as FixBrokenMigrationRequest,\n      premiumResellerV1Packages_universal_d_FixBrokenMigrationResponse as FixBrokenMigrationResponse,\n      premiumResellerV1Packages_universal_d_CreatePackageRequest as CreatePackageRequest,\n      premiumResellerV1Packages_universal_d_CreatePackageResponse as CreatePackageResponse,\n      premiumResellerV1Packages_universal_d_CancelPackageRequest as CancelPackageRequest,\n      premiumResellerV1Packages_universal_d_CancelPackageResponse as CancelPackageResponse,\n      premiumResellerV1Packages_universal_d_PackageCanceled as PackageCanceled,\n      premiumResellerV1Packages_universal_d_GetPackageRequest as GetPackageRequest,\n      premiumResellerV1Packages_universal_d_GetPackageResponse as GetPackageResponse,\n      premiumResellerV1Packages_universal_d_QueryPackagesRequest as QueryPackagesRequest,\n      premiumResellerV1Packages_universal_d_QueryV2 as QueryV2,\n      premiumResellerV1Packages_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      premiumResellerV1Packages_universal_d_Sorting as Sorting,\n      premiumResellerV1Packages_universal_d_SortOrder as SortOrder,\n      premiumResellerV1Packages_universal_d_Paging as Paging,\n      premiumResellerV1Packages_universal_d_CursorPaging as CursorPaging,\n      premiumResellerV1Packages_universal_d_QueryPackagesResponse as QueryPackagesResponse,\n      premiumResellerV1Packages_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      premiumResellerV1Packages_universal_d_Cursors as Cursors,\n      premiumResellerV1Packages_universal_d_AssignProductInstanceToSiteRequest as AssignProductInstanceToSiteRequest,\n      premiumResellerV1Packages_universal_d_AssignProductInstanceToSiteResponse as AssignProductInstanceToSiteResponse,\n      premiumResellerV1Packages_universal_d_AssignedProductInstanceToSite as AssignedProductInstanceToSite,\n      premiumResellerV1Packages_universal_d_UnassignProductInstanceFromSiteRequest as UnassignProductInstanceFromSiteRequest,\n      premiumResellerV1Packages_universal_d_UnassignProductInstanceFromSiteResponse as UnassignProductInstanceFromSiteResponse,\n      premiumResellerV1Packages_universal_d_UnassignedProductInstanceFromSite as UnassignedProductInstanceFromSite,\n      premiumResellerV1Packages_universal_d_CancelProductInstanceRequest as CancelProductInstanceRequest,\n      premiumResellerV1Packages_universal_d_CancelProductInstanceResponse as CancelProductInstanceResponse,\n      premiumResellerV1Packages_universal_d_ProductInstanceCanceled as ProductInstanceCanceled,\n      premiumResellerV1Packages_universal_d_AdjustProductInstanceSpecificationsRequest as AdjustProductInstanceSpecificationsRequest,\n      premiumResellerV1Packages_universal_d_AdjustProductInstanceSpecificationsResponse as AdjustProductInstanceSpecificationsResponse,\n      premiumResellerV1Packages_universal_d_AdjustedProductInstanceSpecifications as AdjustedProductInstanceSpecifications,\n      premiumResellerV1Packages_universal_d_SubscriptionEvent as SubscriptionEvent,\n      premiumResellerV1Packages_universal_d_SubscriptionEventEventOneOf as SubscriptionEventEventOneOf,\n      premiumResellerV1Packages_universal_d_SubscriptionCreated as SubscriptionCreated,\n      premiumResellerV1Packages_universal_d_Subscription as Subscription,\n      premiumResellerV1Packages_universal_d_BillingReference as BillingReference,\n      premiumResellerV1Packages_universal_d_ProviderName as ProviderName,\n      premiumResellerV1Packages_universal_d_Cycle as Cycle,\n      premiumResellerV1Packages_universal_d_CycleCycleSelectorOneOf as CycleCycleSelectorOneOf,\n      premiumResellerV1Packages_universal_d_Interval as Interval,\n      premiumResellerV1Packages_universal_d_IntervalUnit as IntervalUnit,\n      premiumResellerV1Packages_universal_d_OneTime as OneTime,\n      premiumResellerV1Packages_universal_d_SubscriptionStatus as SubscriptionStatus,\n      premiumResellerV1Packages_universal_d_ReactivationData as ReactivationData,\n      premiumResellerV1Packages_universal_d_ReactivationReasonEnum as ReactivationReasonEnum,\n      premiumResellerV1Packages_universal_d_SubscriptionAssigned as SubscriptionAssigned,\n      premiumResellerV1Packages_universal_d_SubscriptionCancelled as SubscriptionCancelled,\n      premiumResellerV1Packages_universal_d_CancellationDetails as CancellationDetails,\n      premiumResellerV1Packages_universal_d_Initiator as Initiator,\n      premiumResellerV1Packages_universal_d_SubscriptionAutoRenewTurnedOn as SubscriptionAutoRenewTurnedOn,\n      premiumResellerV1Packages_universal_d_SubscriptionAutoRenewTurnedOff as SubscriptionAutoRenewTurnedOff,\n      premiumResellerV1Packages_universal_d_SubscriptionUnassigned as SubscriptionUnassigned,\n      premiumResellerV1Packages_universal_d_UnassignReason as UnassignReason,\n      premiumResellerV1Packages_universal_d_SubscriptionTransferred as SubscriptionTransferred,\n      premiumResellerV1Packages_universal_d_RecurringChargeSucceeded as RecurringChargeSucceeded,\n      premiumResellerV1Packages_universal_d_ContractSwitched as ContractSwitched,\n      premiumResellerV1Packages_universal_d_ContractSwitchType as ContractSwitchType,\n      premiumResellerV1Packages_universal_d_ContractSwitchReason as ContractSwitchReason,\n      premiumResellerV1Packages_universal_d_ProductPriceIncreaseData as ProductPriceIncreaseData,\n      premiumResellerV1Packages_universal_d_PriceIncreaseTrigger as PriceIncreaseTrigger,\n      premiumResellerV1Packages_universal_d_ProductAdjustment as ProductAdjustment,\n      premiumResellerV1Packages_universal_d_SubscriptionNearEndOfPeriod as SubscriptionNearEndOfPeriod,\n      premiumResellerV1Packages_universal_d_SubscriptionPendingChange as SubscriptionPendingChange,\n      premiumResellerV1Packages_universal_d_Empty as Empty,\n      premiumResellerV1Packages_universal_d_ProductInstanceUpdated as ProductInstanceUpdated,\n      premiumResellerV1Packages_universal_d_DomainEvent as DomainEvent,\n      premiumResellerV1Packages_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      premiumResellerV1Packages_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      premiumResellerV1Packages_universal_d_RestoreInfo as RestoreInfo,\n      premiumResellerV1Packages_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      premiumResellerV1Packages_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      premiumResellerV1Packages_universal_d_ActionEvent as ActionEvent,\n      premiumResellerV1Packages_universal_d_FailureReportRequest as FailureReportRequest,\n      premiumResellerV1Packages_universal_d_ProductInstanceFailed as ProductInstanceFailed,\n      premiumResellerV1Packages_universal_d_Task as Task,\n      premiumResellerV1Packages_universal_d_TaskKey as TaskKey,\n      premiumResellerV1Packages_universal_d_TaskAction as TaskAction,\n      premiumResellerV1Packages_universal_d_TaskActionActionOneOf as TaskActionActionOneOf,\n      premiumResellerV1Packages_universal_d_Complete as Complete,\n      premiumResellerV1Packages_universal_d_Cancel as Cancel,\n      premiumResellerV1Packages_universal_d_Reschedule as Reschedule,\n      premiumResellerV1Packages_universal_d_UpdateProductInstanceRequest as UpdateProductInstanceRequest,\n      premiumResellerV1Packages_universal_d_FieldToUpdate as FieldToUpdate,\n      premiumResellerV1Packages_universal_d_UpdateProductInstanceResponse as UpdateProductInstanceResponse,\n      premiumResellerV1Packages_universal_d_UpdatePackageExternalIdRequest as UpdatePackageExternalIdRequest,\n      premiumResellerV1Packages_universal_d_UpdatePackageExternalIdResponse as UpdatePackageExternalIdResponse,\n      premiumResellerV1Packages_universal_d_CountPackagesRequest as CountPackagesRequest,\n      premiumResellerV1Packages_universal_d_CountPackagesResponse as CountPackagesResponse,\n      premiumResellerV1Packages_universal_d_MessageEnvelope as MessageEnvelope,\n      premiumResellerV1Packages_universal_d_IdentificationData as IdentificationData,\n      premiumResellerV1Packages_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      premiumResellerV1Packages_universal_d_WebhookIdentityType as WebhookIdentityType,\n      premiumResellerV1Packages_universal_d_createPackage as createPackage,\n      premiumResellerV1Packages_universal_d_CreatePackageOptions as CreatePackageOptions,\n      premiumResellerV1Packages_universal_d_createPackageV2 as createPackageV2,\n      premiumResellerV1Packages_universal_d_CreatePackageV2Options as CreatePackageV2Options,\n      premiumResellerV1Packages_universal_d_cancelPackage as cancelPackage,\n      premiumResellerV1Packages_universal_d_CancelPackageOptions as CancelPackageOptions,\n      premiumResellerV1Packages_universal_d_getPackage as getPackage,\n      premiumResellerV1Packages_universal_d_queryPackages as queryPackages,\n      premiumResellerV1Packages_universal_d_PackagesQueryResult as PackagesQueryResult,\n      premiumResellerV1Packages_universal_d_PackagesQueryBuilder as PackagesQueryBuilder,\n      premiumResellerV1Packages_universal_d_assignProductInstanceToSite as assignProductInstanceToSite,\n      premiumResellerV1Packages_universal_d_AssignProductInstanceToSiteIdentifiers as AssignProductInstanceToSiteIdentifiers,\n      premiumResellerV1Packages_universal_d_AssignProductInstanceToSiteOptions as AssignProductInstanceToSiteOptions,\n      premiumResellerV1Packages_universal_d_unassignProductInstanceFromSite as unassignProductInstanceFromSite,\n      premiumResellerV1Packages_universal_d_UnassignProductInstanceFromSiteOptions as UnassignProductInstanceFromSiteOptions,\n      premiumResellerV1Packages_universal_d_cancelProductInstance as cancelProductInstance,\n      premiumResellerV1Packages_universal_d_CancelProductInstanceOptions as CancelProductInstanceOptions,\n      premiumResellerV1Packages_universal_d_adjustProductInstanceSpecifications as adjustProductInstanceSpecifications,\n      premiumResellerV1Packages_universal_d_AdjustProductInstanceSpecificationsOptions as AdjustProductInstanceSpecificationsOptions,\n      premiumResellerV1Packages_universal_d_updatePackageExternalId as updatePackageExternalId,\n      premiumResellerV1Packages_universal_d_UpdatePackageExternalIdIdentifiers as UpdatePackageExternalIdIdentifiers,\n      premiumResellerV1Packages_universal_d_countPackages as countPackages,\n      premiumResellerV1Packages_universal_d_CountPackagesOptions as CountPackagesOptions,\n    };\n  }\n  \n  export { premiumResellerV1Packages_universal_d as packages };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-domains.v1.d.ts",
      "content": "declare module \"wix-domains.v1\" {\n  /** A `connectedDomain` object holds information about an external domain and its connection to a Wix site. */\n  interface ConnectedDomain {\n      /**\n       * ID of the connected domain. Identical to the domain name including TLD.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Domain name including TLD.\n       * Both root domains and subdomains are supported.\n       */\n      domain?: string;\n      /**\n       * How the domain is connected to the Wix site.\n       *\n       * + `\"UNKNOWN_CONNECTION_TYPE\"`: There is no information about the connection type.\n       * + `\"POINTING\"`: The domain is connected by pointing. Wix doesn't manage DNS information.\n       * + `\"NAMESERVERS\"`: The domain is connected by nameservers. Wix manages DNS information.\n       * + `\"HIDDEN\"`: The domain isn't visible to site visitors.\n       */\n      connectionType?: ConnectionType$1;\n      /**\n       * Information about the site to which the domain is assigned, and whether\n       * it's the primary domain or a redirect.\n       */\n      siteInfo?: SiteInfo$1;\n      /**\n       * Whether the site owner receives standard email notifications from Wix about\n       * the connected domain.\n       *\n       * Default: `false`\n       */\n      suppressNotifications?: boolean;\n      /**\n       * DNS propagation status.\n       *\n       * + `\"UNKNOWN_DNS_PROPAGATION_STATUS\"`: There's no information about the domain's DNS propagation status.\n       * + `\"IN_PROGRESS\"`: The domain's DNS propagation process has started but hasn't successfully completed yet.\n       * + `\"COMPLETED\"`: The domain's DNS propagation process has successfully finished.\n       * + `\"FAILED\"`: The domain's DNS propagation process has failed.\n       * @readonly\n       */\n      dnsPropagationStatus?: DnsPropagationStatus$1;\n      /**\n       * Date and time the `connectedDomain` object was created in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the `connectedDomain` object was last updated in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  enum ConnectionType$1 {\n      /** Used by sub domain */\n      UNKNOWN_CONNECTION_TYPE = \"UNKNOWN_CONNECTION_TYPE\",\n      POINTING = \"POINTING\",\n      NAMESERVERS = \"NAMESERVERS\",\n      /**\n       * internal used by photography company.\n       * when a customer creates a photo album, each album has its sub domain and this sub domain\n       * is not visible in my domains page.\n       */\n      HIDDEN = \"HIDDEN\"\n  }\n  interface SiteInfo$1 extends SiteInfoAssignmentInfoOneOf$1 {\n      /**\n       * Redirect information, relevant when `assignmentType` = `REDIRECT`.\n       * @readonly\n       */\n      redirectInfo?: RedirectAssignmentInfo$1;\n      /**\n       * ID of the site to which the domain is assigned.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * The relationship assigned for this domain to the site:\n       * + `\"UNKNOWN_ASSIGNMENT_TYPE\"`: There is no information about the domain assignment type.\n       * + `\"PRIMARY\"`: The singular primary domain for a site. When this type is assigned, this domain will lead directly to the site.\n       * + `\"REDIRECT\"`: A redirect domain for a site. Each site can have multiple redirect domains. When this type is assigned, this domain will redirect to the primary domain.\n       * Read more about [primary and redirected domains](https://support.wix.com/en/article/switching-your-primary-and-redirected-domains).\n       */\n      assignmentType?: AssignmentType$1;\n  }\n  /** @oneof */\n  interface SiteInfoAssignmentInfoOneOf$1 {\n      /**\n       * Redirect information, relevant when `assignmentType` = `REDIRECT`.\n       * @readonly\n       */\n      redirectInfo?: RedirectAssignmentInfo$1;\n  }\n  enum AssignmentType$1 {\n      UNKNOWN_ASSIGNMENT_TYPE = \"UNKNOWN_ASSIGNMENT_TYPE\",\n      PRIMARY = \"PRIMARY\",\n      REDIRECT = \"REDIRECT\"\n  }\n  interface RedirectAssignmentInfo$1 {\n      /**\n       * Primary domain to which this domain will redirect.\n       * @readonly\n       */\n      primaryDomain?: string;\n  }\n  enum DnsPropagationStatus$1 {\n      UNKNOWN_DNS_PROPAGATION_STATUS = \"UNKNOWN_DNS_PROPAGATION_STATUS\",\n      COMPLETED = \"COMPLETED\",\n      FAILED = \"FAILED\",\n      IN_PROGRESS = \"IN_PROGRESS\"\n  }\n  interface DomainRemovedEvent$1 {\n      /**\n       * Domain name including TLD.\n       * Both root domains and subdomains are supported.\n       */\n      domain?: string;\n  }\n  interface CreateConnectedDomainRequest {\n      /** Domain to connect. */\n      connectedDomain: ConnectedDomain;\n      /**\n       * used for BI event to distinguish between connect from entri and manual\n       * @internal\n       */\n      connectedByEntri?: boolean;\n  }\n  interface CreateConnectedDomainResponse {\n      /** Connected domain. */\n      connectedDomain?: ConnectedDomain;\n  }\n  interface GetConnectedDomainRequest {\n      /** ID of the connected domain. Identical to the domain name including TLD. */\n      connectedDomainId: string;\n  }\n  interface GetConnectedDomainResponse {\n      /** Retrieved connected domain. */\n      connectedDomain?: ConnectedDomain;\n  }\n  interface DeleteConnectedDomainRequest {\n      /** ID of the connected domain to delete. Identical to the domain name including TLD. */\n      connectedDomainId: string;\n  }\n  interface DeleteConnectedDomainResponse {\n  }\n  interface ListConnectedDomainsRequest {\n      /** Cursor paging options. */\n      paging?: CursorPaging$2;\n  }\n  interface CursorPaging$2 {\n      /**\n       * Number of domains to load.\n       *\n       * Min: `0`\n       * Max: `100`\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListConnectedDomainsResponse {\n      /** Metadata about the returned list of connected domains. */\n      pagingMetadata?: CursorPagingMetadata$2;\n      /** Retrieved connected domains. */\n      connectedDomains?: ConnectedDomain[];\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of domains returned in the response. */\n      count?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$2;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$2 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a `connectedDomain` object and starts the domain connection process. It may take up to 48 hours for the DNS changes to take effect.\n   *\n   *  You must pass the relevant Wix account ID in the header of the call. You may also pass a Wix site ID in the header.\n   *\n   *  You can only connect external domains using this endpoint.\n   *\n   *  You can connect both root domains and subdomains to Wix sites.\n   *\n   *  The domain can be assigned as a primary domain or a redirect. You can read more about [primary and redirected domains](https://support.wix.com/en/article/switching-your-primary-and-redirected-domains). If you connect a domain as `\"PRIMARY\"` to a Wix site, the existing primary domain automatically becomes unassigned.\n   *\n   * > **Important:** This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param connectedDomain - Domain to connect.\n   * @public\n   * @requiredField connectedDomain\n   * @requiredField connectedDomain.domain\n   * @permissionId DOMAINS.MANAGE_CONNECTED_DOMAINS\n   * @adminMethod\n   * @returns Connected domain.\n   */\n  function createConnectedDomain(connectedDomain: ConnectedDomain, options?: CreateConnectedDomainOptions): Promise<ConnectedDomain>;\n  interface CreateConnectedDomainOptions {\n      /**\n       * used for BI event to distinguish between connect from entri and manual\n       * @internal\n       */\n      connectedByEntri?: boolean;\n  }\n  /**\n   * Retrieves a connected domain.\n   *\n   *\n   * You must pass the relevant Wix account ID in the header of the call.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param connectedDomainId - ID of the connected domain. Identical to the domain name including TLD.\n   * @public\n   * @requiredField connectedDomainId\n   * @permissionId DOMAINS.READ_CONNECTED_DOMAINS\n   * @adminMethod\n   * @returns Retrieved connected domain.\n   */\n  function getConnectedDomain(connectedDomainId: string): Promise<ConnectedDomain>;\n  /**\n   * Deletes a `connectedDomain` object and removes related DNS records from\n   * [Google's Cloud DNS](https://cloud.google.com/dns).\n   *\n   *\n   * You must pass the relevant Wix account ID in the header of the call.\n   *\n   * If you delete a `\"PRIMARY\"` domain, the site automatically uses the standard\n   * URL for free Wix sites. Read more about\n   * [URLs of free Wix sites](https://support.wix.com/en/article/changing-your-free-wix-url-8591528).\n   *\n   * When you delete a subdomain, its CNAME record is deleted from Google's Cloud DNS.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param connectedDomainId - ID of the connected domain to delete. Identical to the domain name including TLD.\n   * @public\n   * @requiredField connectedDomainId\n   * @permissionId DOMAINS.MANAGE_CONNECTED_DOMAINS\n   * @adminMethod\n   */\n  function deleteConnectedDomain(connectedDomainId: string): Promise<void>;\n  /**\n   * Retrieves a list of up to 100 connected domains.\n   *\n   *\n   * You must pass the relevant Wix account ID in the header of the call.\n   *\n   * The retrieved domains are sorted by `createdDate` in descending order.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @public\n   * @param options - Filter options.\n   * @permissionId DOMAINS.READ_CONNECTED_DOMAINS\n   * @adminMethod\n   */\n  function listConnectedDomains(options?: ListConnectedDomainsOptions): Promise<ListConnectedDomainsResponse>;\n  interface ListConnectedDomainsOptions {\n      /** Cursor paging options. */\n      paging?: CursorPaging$2;\n  }\n  \n  type premiumDomainsV1ConnectedDomain_universal_d_ConnectedDomain = ConnectedDomain;\n  type premiumDomainsV1ConnectedDomain_universal_d_CreateConnectedDomainRequest = CreateConnectedDomainRequest;\n  type premiumDomainsV1ConnectedDomain_universal_d_CreateConnectedDomainResponse = CreateConnectedDomainResponse;\n  type premiumDomainsV1ConnectedDomain_universal_d_GetConnectedDomainRequest = GetConnectedDomainRequest;\n  type premiumDomainsV1ConnectedDomain_universal_d_GetConnectedDomainResponse = GetConnectedDomainResponse;\n  type premiumDomainsV1ConnectedDomain_universal_d_DeleteConnectedDomainRequest = DeleteConnectedDomainRequest;\n  type premiumDomainsV1ConnectedDomain_universal_d_DeleteConnectedDomainResponse = DeleteConnectedDomainResponse;\n  type premiumDomainsV1ConnectedDomain_universal_d_ListConnectedDomainsRequest = ListConnectedDomainsRequest;\n  type premiumDomainsV1ConnectedDomain_universal_d_ListConnectedDomainsResponse = ListConnectedDomainsResponse;\n  const premiumDomainsV1ConnectedDomain_universal_d_createConnectedDomain: typeof createConnectedDomain;\n  type premiumDomainsV1ConnectedDomain_universal_d_CreateConnectedDomainOptions = CreateConnectedDomainOptions;\n  const premiumDomainsV1ConnectedDomain_universal_d_getConnectedDomain: typeof getConnectedDomain;\n  const premiumDomainsV1ConnectedDomain_universal_d_deleteConnectedDomain: typeof deleteConnectedDomain;\n  const premiumDomainsV1ConnectedDomain_universal_d_listConnectedDomains: typeof listConnectedDomains;\n  type premiumDomainsV1ConnectedDomain_universal_d_ListConnectedDomainsOptions = ListConnectedDomainsOptions;\n  namespace premiumDomainsV1ConnectedDomain_universal_d {\n    export {\n      premiumDomainsV1ConnectedDomain_universal_d_ConnectedDomain as ConnectedDomain,\n      ConnectionType$1 as ConnectionType,\n      SiteInfo$1 as SiteInfo,\n      SiteInfoAssignmentInfoOneOf$1 as SiteInfoAssignmentInfoOneOf,\n      AssignmentType$1 as AssignmentType,\n      RedirectAssignmentInfo$1 as RedirectAssignmentInfo,\n      DnsPropagationStatus$1 as DnsPropagationStatus,\n      DomainRemovedEvent$1 as DomainRemovedEvent,\n      premiumDomainsV1ConnectedDomain_universal_d_CreateConnectedDomainRequest as CreateConnectedDomainRequest,\n      premiumDomainsV1ConnectedDomain_universal_d_CreateConnectedDomainResponse as CreateConnectedDomainResponse,\n      premiumDomainsV1ConnectedDomain_universal_d_GetConnectedDomainRequest as GetConnectedDomainRequest,\n      premiumDomainsV1ConnectedDomain_universal_d_GetConnectedDomainResponse as GetConnectedDomainResponse,\n      premiumDomainsV1ConnectedDomain_universal_d_DeleteConnectedDomainRequest as DeleteConnectedDomainRequest,\n      premiumDomainsV1ConnectedDomain_universal_d_DeleteConnectedDomainResponse as DeleteConnectedDomainResponse,\n      premiumDomainsV1ConnectedDomain_universal_d_ListConnectedDomainsRequest as ListConnectedDomainsRequest,\n      CursorPaging$2 as CursorPaging,\n      premiumDomainsV1ConnectedDomain_universal_d_ListConnectedDomainsResponse as ListConnectedDomainsResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      premiumDomainsV1ConnectedDomain_universal_d_createConnectedDomain as createConnectedDomain,\n      premiumDomainsV1ConnectedDomain_universal_d_CreateConnectedDomainOptions as CreateConnectedDomainOptions,\n      premiumDomainsV1ConnectedDomain_universal_d_getConnectedDomain as getConnectedDomain,\n      premiumDomainsV1ConnectedDomain_universal_d_deleteConnectedDomain as deleteConnectedDomain,\n      premiumDomainsV1ConnectedDomain_universal_d_listConnectedDomains as listConnectedDomains,\n      premiumDomainsV1ConnectedDomain_universal_d_ListConnectedDomainsOptions as ListConnectedDomainsOptions,\n    };\n  }\n  \n  /**\n   * A `connectedDomainSetupInfo` object holds information the connected domain's\n   * external registrar and some DNS records. You can use this information to guide\n   * the site owner through the domain's setup process.\n   */\n  interface ConnectedDomainSetupInfo extends ConnectedDomainSetupInfoDnsRecordsOneOf {\n      /**\n       * Information about domains connected using nameservers. Available only for\n       * `{\"connectionType\": \"NAMESERVERS\"}`.\n       */\n      nameserverRecord?: NameserverRecord;\n      /**\n       * Information about domains connected by pointing.  Available only for\n       * `{\"connectionType\": \"POINTING\"}`.\n       * @readonly\n       */\n      pointingRecords?: PointingRecords;\n      /**\n       * Information about subdomains.  Available only for subdomains.\n       * @readonly\n       */\n      subdomainRecords?: SubdomainRecords;\n      /** ID of the connected domain. Identical to the domain name including TLD. */\n      connectedDomainId?: string;\n      /**\n       * Information about the external domain registrar including current name\n       * servers.\n       */\n      registrar?: Registrar;\n  }\n  /** @oneof */\n  interface ConnectedDomainSetupInfoDnsRecordsOneOf {\n      /**\n       * Information about domains connected using nameservers. Available only for\n       * `{\"connectionType\": \"NAMESERVERS\"}`.\n       */\n      nameserverRecord?: NameserverRecord;\n      /**\n       * Information about domains connected by pointing.  Available only for\n       * `{\"connectionType\": \"POINTING\"}`.\n       * @readonly\n       */\n      pointingRecords?: PointingRecords;\n      /**\n       * Information about subdomains.  Available only for subdomains.\n       * @readonly\n       */\n      subdomainRecords?: SubdomainRecords;\n  }\n  interface Registrar {\n      /**\n       * Name of the external domain registrar. For subdomains it's the registrar of the root domain.\n       * @readonly\n       */\n      name?: string | null;\n      /**\n       * Values of the current name server records. In case you connect an external\n       * domain using name servers, site owners must replace these current name servers\n       * with the new name servers found in `connectedDomainSetupInfo.nameserverRecord.nsRecord.values`\n       * during the initial domain setup.\n       * The replacement can't be performed through Wix APIs, you must use the\n       * infrastructure of the external domain registrar. Read more about\n       * [connecting domains using nameservers](https://dev.wix.com/api/rest/account-level-apis/connected-domains/sample-flows#account-level-apis_connected-domains_sample-flows_connect-an-external-domain-using-nameservers).\n       * @readonly\n       */\n      nameServers?: string[];\n  }\n  /** Information about domains connected by nameservers. */\n  interface NameserverRecord {\n      /**\n       * Default [nameserver record](https://en.wikipedia.org/wiki/List_of_DNS_record_types#NS).\n       * @readonly\n       */\n      nsRecord?: NsRecord;\n  }\n  interface NsRecord {\n      /** Domain host name. For example `domain.com` or `mail.domain.com`. Can be a subdomain. */\n      hostName?: string;\n      /** [Time to live](https://en.wikipedia.org/wiki/Time_to_live) in seconds. */\n      ttl?: number;\n      /** DNS record values. */\n      values?: string[];\n  }\n  /** Information about domains connected by pointing. */\n  interface PointingRecords {\n      /**\n       * [Address record](https://en.wikipedia.org/wiki/List_of_DNS_record_types#A).\n       * @readonly\n       */\n      aRecord?: ARecord;\n      /**\n       * [Canonical Name record](https://en.wikipedia.org/wiki/CNAME_record).\n       * @readonly\n       */\n      cnameRecord?: CnameRecord;\n  }\n  interface ARecord {\n      /** Domain host name. For example `domain.com` or `mail.domain.com`. Can be a subdomain. */\n      hostName?: string;\n      /** [Time to live](https://en.wikipedia.org/wiki/Time_to_live) in seconds. */\n      ttl?: number;\n      /** DNS record values. */\n      values?: string[];\n  }\n  interface CnameRecord {\n      /** Domain host name. For example `domain.com` or `mail.domain.com`. Can be a subdomain. */\n      hostName?: string;\n      /** [Time to live](https://en.wikipedia.org/wiki/Time_to_live) in seconds. */\n      ttl?: number;\n      /** DNS record value. */\n      value?: string;\n  }\n  /** Information about subdomains. */\n  interface SubdomainRecords {\n      /**\n       * [Canonical Name records](https://en.wikipedia.org/wiki/CNAME_record).\n       * @readonly\n       */\n      cnameRecords?: CnameRecord[];\n  }\n  interface GetSetupInfoRequest {\n      /** Domain name including TLD */\n      domain: string;\n      /**\n       * How the domain should be to connected the Wix site.\n       *\n       * + `\"UNKNOWN_CONNECTION_TYPE\"`: supported only for subdomain.\n       * + `\"POINTING\"`: Get domain or subdomain setup by pointing\n       * + `\"NAMESERVERS\"`: Get domain setup by nameservers\n       * + `\"HIDDEN\"`: supported only for subdomain.\n       */\n      connectionType?: ConnectionType;\n      /** Whether to return registrar information or not. Default is false. */\n      includeRegistrar?: boolean;\n  }\n  enum ConnectionType {\n      /** Used by sub domain */\n      UNKNOWN_CONNECTION_TYPE = \"UNKNOWN_CONNECTION_TYPE\",\n      POINTING = \"POINTING\",\n      NAMESERVERS = \"NAMESERVERS\",\n      /**\n       * internal used by photography company.\n       * when a customer creates a photo album, each album has its sub domain and this sub domain\n       * is not visible in my domains page.\n       */\n      HIDDEN = \"HIDDEN\"\n  }\n  interface GetSetupInfoResponse {\n      /** Retrieved setup information. */\n      domainSetupInfo?: ConnectedDomainSetupInfo;\n  }\n  interface PreCreateConnectedDomainRequest {\n      /** Domain name including TLD */\n      domain?: string;\n  }\n  interface PreCreateConnectedDomainResponse {\n  }\n  interface GetConnectedDomainSetupInfoRequest {\n      /**\n       * ID of the connected domain to retrieve setup information for.\n       * Identical to the domain name including TLD.\n       */\n      connectedDomainId: string;\n  }\n  interface GetConnectedDomainSetupInfoResponse {\n      /** Retrieved setup information. */\n      connectedDomainSetupInfo?: ConnectedDomainSetupInfo;\n  }\n  /** @param domain - Domain name including TLD\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField domain\n   * @permissionId DOMAINS.READ_CONNECTED_DOMAINS\n   * @adminMethod\n   */\n  function getSetupInfo(domain: string, options?: GetSetupInfoOptions): Promise<GetSetupInfoResponse>;\n  interface GetSetupInfoOptions {\n      /**\n       * How the domain should be to connected the Wix site.\n       *\n       * + `\"UNKNOWN_CONNECTION_TYPE\"`: supported only for subdomain.\n       * + `\"POINTING\"`: Get domain or subdomain setup by pointing\n       * + `\"NAMESERVERS\"`: Get domain setup by nameservers\n       * + `\"HIDDEN\"`: supported only for subdomain.\n       */\n      connectionType?: ConnectionType;\n      /** Whether to return registrar information or not. Default is false. */\n      includeRegistrar?: boolean;\n  }\n  /**\n   * Retrieves information for the initial setup of a connected domain.\n   *\n   *\n   * You must pass the relevant Wix account ID in the header of the call.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param connectedDomainId - ID of the connected domain to retrieve setup information for.\n   * Identical to the domain name including TLD.\n   * @public\n   * @requiredField connectedDomainId\n   * @permissionId DOMAINS.READ_CONNECTED_DOMAINS\n   * @adminMethod\n   * @returns Retrieved setup information.\n   */\n  function getConnectedDomainSetupInfo(connectedDomainId: string): Promise<ConnectedDomainSetupInfo>;\n  \n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_ConnectedDomainSetupInfo = ConnectedDomainSetupInfo;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_ConnectedDomainSetupInfoDnsRecordsOneOf = ConnectedDomainSetupInfoDnsRecordsOneOf;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_Registrar = Registrar;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_NameserverRecord = NameserverRecord;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_NsRecord = NsRecord;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_PointingRecords = PointingRecords;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_ARecord = ARecord;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_CnameRecord = CnameRecord;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_SubdomainRecords = SubdomainRecords;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_GetSetupInfoRequest = GetSetupInfoRequest;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_ConnectionType = ConnectionType;\n  const premiumDomainsV1ConnectedDomainSetupInfo_universal_d_ConnectionType: typeof ConnectionType;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_GetSetupInfoResponse = GetSetupInfoResponse;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_PreCreateConnectedDomainRequest = PreCreateConnectedDomainRequest;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_PreCreateConnectedDomainResponse = PreCreateConnectedDomainResponse;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_GetConnectedDomainSetupInfoRequest = GetConnectedDomainSetupInfoRequest;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_GetConnectedDomainSetupInfoResponse = GetConnectedDomainSetupInfoResponse;\n  const premiumDomainsV1ConnectedDomainSetupInfo_universal_d_getSetupInfo: typeof getSetupInfo;\n  type premiumDomainsV1ConnectedDomainSetupInfo_universal_d_GetSetupInfoOptions = GetSetupInfoOptions;\n  const premiumDomainsV1ConnectedDomainSetupInfo_universal_d_getConnectedDomainSetupInfo: typeof getConnectedDomainSetupInfo;\n  namespace premiumDomainsV1ConnectedDomainSetupInfo_universal_d {\n    export {\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_ConnectedDomainSetupInfo as ConnectedDomainSetupInfo,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_ConnectedDomainSetupInfoDnsRecordsOneOf as ConnectedDomainSetupInfoDnsRecordsOneOf,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_Registrar as Registrar,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_NameserverRecord as NameserverRecord,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_NsRecord as NsRecord,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_PointingRecords as PointingRecords,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_ARecord as ARecord,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_CnameRecord as CnameRecord,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_SubdomainRecords as SubdomainRecords,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_GetSetupInfoRequest as GetSetupInfoRequest,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_ConnectionType as ConnectionType,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_GetSetupInfoResponse as GetSetupInfoResponse,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_PreCreateConnectedDomainRequest as PreCreateConnectedDomainRequest,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_PreCreateConnectedDomainResponse as PreCreateConnectedDomainResponse,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_GetConnectedDomainSetupInfoRequest as GetConnectedDomainSetupInfoRequest,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_GetConnectedDomainSetupInfoResponse as GetConnectedDomainSetupInfoResponse,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_getSetupInfo as getSetupInfo,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_GetSetupInfoOptions as GetSetupInfoOptions,\n      premiumDomainsV1ConnectedDomainSetupInfo_universal_d_getConnectedDomainSetupInfo as getConnectedDomainSetupInfo,\n    };\n  }\n  \n  /** DNS zones hold information about the records that map a domain's URL to an IP address. */\n  interface DnsZone {\n      /** Domain name including the TLD. Both root domains and subdomains are supported. */\n      domainName?: string;\n      /**\n       * DNS records. You can only set up a single `record` object per DNS record\n       * type. If you want to specify multiple values for the same record type, you\n       * must save them in the `values` for the relevant type.\n       *\n       * Min: 2 DNS record - a DNS zone file has to have at least two required DNS records: NS and SOA records\n       * Max: 5000 DNS records\n       */\n      records?: DnsRecord[];\n      /**\n       * ID of the Dns Zone. Identical to the domain name including TLD.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Whether [DNS Security Extensions (DNSSEC)](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions)\n       * are enabled.\n       *\n       * Default: `false`\n       */\n      dnssecEnabled?: boolean;\n      /**\n       * Information about [DNSSEC](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions).\n       * Available only if `{\"dnssecEnabled\": true}`.\n       * @readonly\n       */\n      dnssecInfo?: DnssecInfo;\n  }\n  interface DnsRecord {\n      /**\n       * [DNS record type](https://en.wikipedia.org/wiki/List_of_DNS_record_types).\n       *\n       * + `UNKNOWN`: Default value. Used in case the record type isn't known. You can't set a record type to `UNKNOWN`.\n       * + `A`: Address record. Most fundamental type of DNS record that indicates the IP address of a given domain.\n       * + `AAAA`: Address record in [IPv6 format](https://en.wikipedia.org/wiki/IPv6).\n       * + `NS`: Name server record. Describes which server contains the actual DNS record.\n       * + `SOA`: [Start of authority record](https://en.wikipedia.org/wiki/SOA_record). Holds adminstrative information about the zone.\n       * + `CNAME`: [CNAME record](https://en.wikipedia.org/wiki/CNAME_record). Maps an alias name to the canonical domain name.\n       * + `MX`: MX record. Directs emails to mail servers.\n       * + `TXT`: [TXT record](https://en.wikipedia.org/wiki/TXT_record). Used by domain admins to add human readable descriptions.\n       * + `SPF`: SPF record. Used for email authentication.\n       * + `SRV`: [Service record](https://en.wikipedia.org/wiki/SRV_record). Defines the server location.\n       * + `PTR`: Pointer record. Specifies which host is supported for a given IP address.\n       * + `NAPTR`: [Name Authority Pointer record](https://en.wikipedia.org/wiki/NAPTR_record). Used by Internet telephony applications.\n       */\n      type?: RecordType;\n      /**\n       * Host name. Can be a subdomain. For example, `domain.com` or\n       * `mail.domain.com`. Equal to the domain name, except for `CNAME` records.\n       */\n      hostName?: string;\n      /** [Time to live](https://en.wikipedia.org/wiki/Time_to_live) in seconds. */\n      ttl?: number;\n      /**\n       * DNS record values. Wix limits DNS records to 50 values per type. External\n       * providers may support a different maximum number of DNS records for a\n       * specific type, Wix doesn't validate that you don't exceed these external\n       * limits.\n       *\n       * Max: 50 records\n       */\n      values?: string[];\n  }\n  enum RecordType {\n      UNKNOWN = \"UNKNOWN\",\n      A = \"A\",\n      AAAA = \"AAAA\",\n      NS = \"NS\",\n      SOA = \"SOA\",\n      CNAME = \"CNAME\",\n      MX = \"MX\",\n      TXT = \"TXT\",\n      SPF = \"SPF\",\n      SRV = \"SRV\",\n      PTR = \"PTR\",\n      NAPTR = \"NAPTR\"\n  }\n  interface DnssecInfo {\n      /**\n       * Unique 16-bit identifier for a [DNSKEY](https://cloud.google.com/dns/docs/reference/rest/v1/dnsKeys)\n       * record that allows efficient DNSSEC validation in zones with multiple keys.\n       */\n      keyTag?: number;\n      /**\n       * Cryptographic hash of the [DNSKEY](https://cloud.google.com/dns/docs/reference/rest/v1/dnsKeys)\n       * record that's included in the delegation signer (DS) record and ensures secure\n       * DNSSEC validation.\n       */\n      digest?: string;\n  }\n  interface DnsRecordsChangedEvent {\n      domainName?: string;\n      changeTime?: Date | null;\n  }\n  interface DomainRemovedEvent {\n      /**\n       * Domain name including TLD.\n       * Both root domains and subdomains are supported.\n       */\n      domain?: string;\n  }\n  interface CreateDnsZoneRequest {\n      /** DNS zone to create. */\n      dnsZone: DnsZone;\n  }\n  interface CreateDnsZoneResponse {\n      /** Created DNS zone. */\n      dnsZone?: DnsZone;\n  }\n  interface GetDnsZoneRequest {\n      /** Domain to retrieve the DNS zone for. */\n      domainName: string;\n  }\n  interface GetDnsZoneResponse {\n      /** Retrieved DNS zone. */\n      dnsZone?: DnsZone;\n  }\n  interface UpdateDnsZoneRequest {\n      /** Domain to update the DNS zone for. Must include the TLD. */\n      domainName: string;\n      /**\n       * DNS records to add to the DNS zone.\n       *\n       * Max: 10 additions\n       */\n      additions?: DnsRecord[];\n      /**\n       * DNS records to remove from the DNS zone.\n       *\n       * Max: 10 deletions\n       */\n      deletions?: DnsRecord[];\n      /** Whether you want to enable or disable [DNS Security Extensions (DNSSEC)](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions). */\n      dnssecEnabled?: boolean | null;\n  }\n  interface UpdateDnsZoneResponse {\n      /** Updated DNS zone. */\n      dnsZone?: DnsZone;\n  }\n  interface DeleteDnsZoneRequest {\n      /** Domain name to delete the DNS zone for. */\n      domainName: string;\n  }\n  interface DeleteDnsZoneResponse {\n  }\n  interface PreviewDnsZoneRequest {\n      /** Domain name to generate a DNS zone preview for. */\n      domainName: string;\n  }\n  interface PreviewDnsZoneResponse {\n      /**\n       * DNS zone preview.\n       *\n       * Includes calculated `A`, `CNAME`, `NS` and `SOA` records.\n       */\n      dnsZone?: DnsZone;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a DNS zone in [Google's Cloud DNS](https://cloud.google.com/dns).\n   *\n   *\n   * If there is an existing DNS zone for the domain, it's deleted before\n   * the new zone is created.\n   *\n   * The call is synchronous, that means it fails in case of an error on\n   * Google's side.\n   *\n   * You can only set up a single `record` object per DNS record\n   * type. If you want to specify multiple values for the same record type, you\n   * must save them in the `values` for the relevant type.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param dnsZone - DNS zone to create.\n   * @public\n   * @requiredField dnsZone\n   * @requiredField dnsZone.domainName\n   * @requiredField dnsZone.records.hostName\n   * @requiredField dnsZone.records.type\n   * @permissionId DOMAINS.MANAGE_DNS_ZONES\n   * @adminMethod\n   * @returns Created DNS zone.\n   */\n  function createDnsZone(dnsZone: DnsZone): Promise<DnsZone>;\n  /**\n   * Retrieves the DNS zone belonging to the domain from\n   * [Google's Cloud DNS](https://cloud.google.com/dns).\n   *\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param domainName - Domain to retrieve the DNS zone for.\n   * @public\n   * @requiredField domainName\n   * @permissionId DOMAINS.READ_DNS_ZONES\n   * @adminMethod\n   * @returns Retrieved DNS zone.\n   */\n  function getDnsZone(domainName: string): Promise<DnsZone>;\n  /**\n   * Adds DNS records to and removes DNS records from a DNS zone in\n   * [Google's Cloud DNS](https://cloud.google.com/dns).\n   *\n   * The call is synchronous, that means it fails in case of an error on\n   * Google's side.\n   *\n   * You can only set up a single `record` object per DNS record\n   * type. If you want to specify multiple values for the same record type, you\n   * must save them in the `values` for the relevant type. This means, you must\n   * delete the relevant record and add a new `addition` object for this type\n   * to the request, in case you want to add values for an existing DNS record\n   * type.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param domainName - Domain to update the DNS zone for. Must include the TLD.\n   * @public\n   * @requiredField domainName\n   * @requiredField options.additions.hostName\n   * @requiredField options.additions.type\n   * @requiredField options.deletions.hostName\n   * @requiredField options.deletions.type\n   * @permissionId DOMAINS.MANAGE_DNS_ZONES\n   * @adminMethod\n   */\n  function updateDnsZone(domainName: string, options?: UpdateDnsZoneOptions): Promise<UpdateDnsZoneResponse>;\n  interface UpdateDnsZoneOptions {\n      /**\n       * DNS records to add to the DNS zone.\n       *\n       * Max: 10 additions\n       */\n      additions?: DnsRecord[];\n      /**\n       * DNS records to remove from the DNS zone.\n       *\n       * Max: 10 deletions\n       */\n      deletions?: DnsRecord[];\n      /** Whether you want to enable or disable [DNS Security Extensions (DNSSEC)](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions). */\n      dnssecEnabled?: boolean | null;\n  }\n  /**\n   * Deletes a DNS zone in [Google's Cloud DNS](https://cloud.google.com/dns).\n   *\n   *\n   * The call is synchronous, that means it fails in case of an error on\n   * Google's side.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param domainName - Domain name to delete the DNS zone for.\n   * @public\n   * @requiredField domainName\n   * @permissionId DOMAINS.MANAGE_DNS_ZONES\n   * @adminMethod\n   */\n  function deleteDnsZone(domainName: string): Promise<void>;\n  /**\n   * Generates a preview for a DNS zone based on\n   * [Google's Cloud DNS](https://cloud.google.com/dns).\n   *\n   *\n   * This includes calculating the `A`, `CNAME`, `NS` and `SOA` records.\n   * You can use this information to configure a domain from an external\n   * provider, before connecting it to a Wix site.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param domainName - Domain name to generate a DNS zone preview for.\n   * @public\n   * @requiredField domainName\n   * @permissionId DOMAINS.READ_DNS_ZONES\n   * @adminMethod\n   */\n  function previewDnsZone(domainName: string): Promise<PreviewDnsZoneResponse>;\n  \n  type premiumDomainsV1DnsZone_universal_d_DnsZone = DnsZone;\n  type premiumDomainsV1DnsZone_universal_d_DnsRecord = DnsRecord;\n  type premiumDomainsV1DnsZone_universal_d_RecordType = RecordType;\n  const premiumDomainsV1DnsZone_universal_d_RecordType: typeof RecordType;\n  type premiumDomainsV1DnsZone_universal_d_DnssecInfo = DnssecInfo;\n  type premiumDomainsV1DnsZone_universal_d_DnsRecordsChangedEvent = DnsRecordsChangedEvent;\n  type premiumDomainsV1DnsZone_universal_d_DomainRemovedEvent = DomainRemovedEvent;\n  type premiumDomainsV1DnsZone_universal_d_CreateDnsZoneRequest = CreateDnsZoneRequest;\n  type premiumDomainsV1DnsZone_universal_d_CreateDnsZoneResponse = CreateDnsZoneResponse;\n  type premiumDomainsV1DnsZone_universal_d_GetDnsZoneRequest = GetDnsZoneRequest;\n  type premiumDomainsV1DnsZone_universal_d_GetDnsZoneResponse = GetDnsZoneResponse;\n  type premiumDomainsV1DnsZone_universal_d_UpdateDnsZoneRequest = UpdateDnsZoneRequest;\n  type premiumDomainsV1DnsZone_universal_d_UpdateDnsZoneResponse = UpdateDnsZoneResponse;\n  type premiumDomainsV1DnsZone_universal_d_DeleteDnsZoneRequest = DeleteDnsZoneRequest;\n  type premiumDomainsV1DnsZone_universal_d_DeleteDnsZoneResponse = DeleteDnsZoneResponse;\n  type premiumDomainsV1DnsZone_universal_d_PreviewDnsZoneRequest = PreviewDnsZoneRequest;\n  type premiumDomainsV1DnsZone_universal_d_PreviewDnsZoneResponse = PreviewDnsZoneResponse;\n  const premiumDomainsV1DnsZone_universal_d_createDnsZone: typeof createDnsZone;\n  const premiumDomainsV1DnsZone_universal_d_getDnsZone: typeof getDnsZone;\n  const premiumDomainsV1DnsZone_universal_d_updateDnsZone: typeof updateDnsZone;\n  type premiumDomainsV1DnsZone_universal_d_UpdateDnsZoneOptions = UpdateDnsZoneOptions;\n  const premiumDomainsV1DnsZone_universal_d_deleteDnsZone: typeof deleteDnsZone;\n  const premiumDomainsV1DnsZone_universal_d_previewDnsZone: typeof previewDnsZone;\n  namespace premiumDomainsV1DnsZone_universal_d {\n    export {\n      premiumDomainsV1DnsZone_universal_d_DnsZone as DnsZone,\n      premiumDomainsV1DnsZone_universal_d_DnsRecord as DnsRecord,\n      premiumDomainsV1DnsZone_universal_d_RecordType as RecordType,\n      premiumDomainsV1DnsZone_universal_d_DnssecInfo as DnssecInfo,\n      premiumDomainsV1DnsZone_universal_d_DnsRecordsChangedEvent as DnsRecordsChangedEvent,\n      premiumDomainsV1DnsZone_universal_d_DomainRemovedEvent as DomainRemovedEvent,\n      premiumDomainsV1DnsZone_universal_d_CreateDnsZoneRequest as CreateDnsZoneRequest,\n      premiumDomainsV1DnsZone_universal_d_CreateDnsZoneResponse as CreateDnsZoneResponse,\n      premiumDomainsV1DnsZone_universal_d_GetDnsZoneRequest as GetDnsZoneRequest,\n      premiumDomainsV1DnsZone_universal_d_GetDnsZoneResponse as GetDnsZoneResponse,\n      premiumDomainsV1DnsZone_universal_d_UpdateDnsZoneRequest as UpdateDnsZoneRequest,\n      premiumDomainsV1DnsZone_universal_d_UpdateDnsZoneResponse as UpdateDnsZoneResponse,\n      premiumDomainsV1DnsZone_universal_d_DeleteDnsZoneRequest as DeleteDnsZoneRequest,\n      premiumDomainsV1DnsZone_universal_d_DeleteDnsZoneResponse as DeleteDnsZoneResponse,\n      premiumDomainsV1DnsZone_universal_d_PreviewDnsZoneRequest as PreviewDnsZoneRequest,\n      premiumDomainsV1DnsZone_universal_d_PreviewDnsZoneResponse as PreviewDnsZoneResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      premiumDomainsV1DnsZone_universal_d_createDnsZone as createDnsZone,\n      premiumDomainsV1DnsZone_universal_d_getDnsZone as getDnsZone,\n      premiumDomainsV1DnsZone_universal_d_updateDnsZone as updateDnsZone,\n      premiumDomainsV1DnsZone_universal_d_UpdateDnsZoneOptions as UpdateDnsZoneOptions,\n      premiumDomainsV1DnsZone_universal_d_deleteDnsZone as deleteDnsZone,\n      premiumDomainsV1DnsZone_universal_d_previewDnsZone as previewDnsZone,\n    };\n  }\n  \n  /**\n   * A registered domain is a domain that Wix has registered on behalf of a customer\n   * with an external registar.\n   */\n  interface RegisteredDomain extends RegisteredDomainStatusInfoOneOf {\n      /**\n       * Information about a domain that hasn't been successfully registered\n       * yet. Includes the timestamp of the latest registration attempt.\n       * @readonly\n       */\n      pendingRegistrationInfo?: PendingRegistrationInfo;\n      /**\n       * Information about a domain that couldn't be registered. Includes\n       * failure code and message.\n       * @readonly\n       */\n      failedRegistrationInfo?: FailedRegistrationInfo;\n      /**\n       * Domain ID. Identical to `domain`.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Name of the domain including TLD.\n       * Subdomains aren't supported. You can only register a root domain.\n       * Domain name and TLD must be separated by a dot. For example,\n       * `my-new-domain.com`. Only alphanumeric characters, hyphens, and dots are\n       * supported.\n       *\n       * Min: 3 characters\n       * Max: 63 characters\n       */\n      domain?: string;\n      /**\n       * ID of the product instance from the\n       * [Resellers API](https://dev.wix.com/docs/rest/api-reference/account-level-apis/resellers/packages-and-product-instances/packages-object)\n       * that belongs to the `registeredDomain` object.\n       * Your account must own a product that supports the chosen TLD, regardless of\n       * whether you want to assign the domain to a site or keep it floating. If\n       * you want to assign the domain to a site, the relevant site must also\n       * own a Premium plan. Contact the [Wix B2B team](mailto:bizdev@wix.com)\n       * for more information about how to become a reseller and a list of available\n       * product IDs.\n       */\n      productInstanceId?: string;\n      /**\n       * Date and time the `registeredDomain` object was created in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the `registeredDomain` object was last updated in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Revision number, which increments by 1 each time the registered domain\n       * is updated. To prevent conflicting changes, the current revision must be\n       * passed when updating the registered domain.\n       *\n       * Ignored when creating a registered domain.\n       */\n      revision?: string | null;\n      /**\n       * Information about the Wix site the domain is connected to and whether the\n       * domain is assigned as the primary domain or a redirect.\n       */\n      siteInfo?: SiteInfo;\n      /**\n       * Contact details for the registrant, admin, and tech support of the registered domain.\n       * You can read more about which\n       * [Contact Field Validations](https://https://dev.wix.com/api/rest/account-level-apis/registered-domains/contact-field-validations)\n       * are implemented.\n       */\n      contacts?: Contacts;\n      /**\n       * Status of the registered domain.\n       *\n       * + `\"UNKNOWN_STATUS\"`: There's no information about the status of the registered domain.\n       * + `\"PENDING_REGISTRATION\"`: Wix has started the domain registration process, but the domain hasn't been successfully registered yet.\n       * + `\"ACTIVE\"`: The domain has been registered successfully and is active.\n       * + `\"FAILED_REGISTRATION\"`: Wix has tried to register the domain, but has stopped the process due to too many failed attempts. Contact the [Wix B2B team](mailto:bizdev@wix.com) for more information.\n       * + `\"CANCELED\"`: The domain has been canceled and isn't active any longer.\n       * @readonly\n       */\n      status?: Status;\n      /**\n       * ICANN confirmation status.\n       *\n       * + `\"UNKNOWN_ICANN_CONFIRMATION_STATUS\"`: There's no information about the status of the ICANN confirmation process.\n       * + `\"PENDING\"`: Wix has started the ICANN confirmation process, but not all contacts have confirmed the domain yet.\n       * + `\"CONFIRMED_BY_ALL\"`: The domain has been successfully confirmed by all contacts.\n       * + `\"EXPIRED\"`: The domain hasn't been confirmed by all contacts before the ICANN confirmation process expired. The domain isn't active and a new confirmation process must be started. Contact the [Wix B2B team](mailto:bizdev@wix.com) for more information.\n       * @readonly\n       */\n      icannConfirmationStatus?: ICANNConfirmationStatus;\n      /**\n       * Details about the ICANN confirmation status.\n       * @readonly\n       */\n      icannConfirmationStatusInfo?: ICANNConfirmationStatusInfo;\n      /**\n       * DNS propagation status.\n       *\n       * + `\"UNKNOWN_DNS_PROPAGATION_STATUS\"`: There's no information about the domain's DNS propagation status.\n       * + `\"IN_PROGRESS\"`: The domain's DNS propagation process has started but hasn't successfully completed yet.\n       * + `\"COMPLETED\"`: The domain's DNS propagation process has successfully finished.\n       * + `\"FAILED\"`: The domain's DNS propagation process has failed.\n       * @readonly\n       */\n      dnsPropagationStatus?: DnsPropagationStatus;\n      /**\n       * Expiration date of the registered domain in `YYYY-MM-DDThh:mm:ss.sssZ`\n       * format.\n       * @readonly\n       */\n      expirationDate?: Date | null;\n  }\n  /** @oneof */\n  interface RegisteredDomainStatusInfoOneOf {\n      /**\n       * Information about a domain that hasn't been successfully registered\n       * yet. Includes the timestamp of the latest registration attempt.\n       * @readonly\n       */\n      pendingRegistrationInfo?: PendingRegistrationInfo;\n      /**\n       * Information about a domain that couldn't be registered. Includes\n       * failure code and message.\n       * @readonly\n       */\n      failedRegistrationInfo?: FailedRegistrationInfo;\n  }\n  interface SiteInfo extends SiteInfoAssignmentInfoOneOf {\n      /**\n       * Extra details if `{\"assignmentType\": `\"REDIRECT\"}`.\n       * @readonly\n       */\n      redirectInfo?: RedirectAssignmentInfo;\n      /**\n       * ID of the site to which the domain is assigned.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Whether the domain is assigned as the primary domain or a redirect.\n       * Read more about [primary and redirected domains](https://support.wix.com/en/article/switching-your-primary-and-redirected-domains).\n       * __Note:__ When you connect a domain or subdomain, you can't pass `\"UNKNOWN_ASSIGNMENT_TYPE\"`\n       * in the request of the Create Registered Domain call.\n       *\n       * + `\"UNKNOWN_ASSIGNMENT_TYPE\"`: There's no information about the assignment type.\n       * + `\"PRIMARY\"`: The domain is assigned as the primary domain to the Wix site.\n       * + `\"REDIRECT\"`: The domain is assigned as a redirect to the Wix site.\n       */\n      assignmentType?: AssignmentType;\n  }\n  /** @oneof */\n  interface SiteInfoAssignmentInfoOneOf {\n      /**\n       * Extra details if `{\"assignmentType\": `\"REDIRECT\"}`.\n       * @readonly\n       */\n      redirectInfo?: RedirectAssignmentInfo;\n  }\n  enum AssignmentType {\n      UNKNOWN_ASSIGNMENT_TYPE = \"UNKNOWN_ASSIGNMENT_TYPE\",\n      PRIMARY = \"PRIMARY\",\n      REDIRECT = \"REDIRECT\"\n  }\n  interface RedirectAssignmentInfo {\n      /**\n       * Primary domain the redirect points to.\n       * @readonly\n       */\n      primaryDomain?: string;\n  }\n  interface Contacts {\n      /** Contact information for the domain registrant. */\n      registrant?: ContactData;\n      /** Contact information for the domain admin. */\n      admin?: ContactData;\n      /** Contact information for the tech support of the domain. */\n      tech?: ContactData;\n  }\n  interface ContactData {\n      /**\n       * First name. Only\n       * [alphanumerical characters](https://en.wikipedia.org/wiki/Alphanumericals)\n       * are supported.\n       *\n       * Min: 2 characters\n       * Max: 64 characters\n       */\n      firstName?: string;\n      /**\n       * Last name. Only\n       * [alphanumerical characters](https://en.wikipedia.org/wiki/Alphanumericals)\n       * are supported.\n       *\n       * Min: 2 characters\n       * Max: 64 characters\n       */\n      lastName?: string;\n      /**\n       * Email address.  Only\n       * [alphanumerical characters](https://en.wikipedia.org/wiki/Alphanumericals)\n       * and a single `@` are supported. Wix doesn't validate that the email address\n       * exists.\n       *\n       * Min: 3 characters\n       * Max: 64 characters before the `@` and 63 after\n       */\n      email?: string;\n      /**\n       * Address details, including street name and house number. Only\n       * [alphanumerical characters](https://en.wikipedia.org/wiki/Alphanumericals)\n       * are supported.\n       *\n       * Min: 2 characters\n       * Max: 64 characters\n       */\n      address?: string;\n      /**\n       * City. Only\n       * [alphanumerical characters](https://en.wikipedia.org/wiki/Alphanumericals)\n       * are supported.\n       *\n       * Min: 2 characters\n       * Max: 64 characters\n       */\n      city?: string;\n      /**\n       * Subdivision code in\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format. Only\n       * [alphanumerical characters](https://en.wikipedia.org/wiki/Alphanumericals)\n       * are supported.\n       * __Required__ for these countries:\n       * `”AE\"`, `\"AR\"`, `\"AT\"`, `\"AU\"`, `\"BE\"`, `\"BR\"`, `\"CA\"`, `\"CH\"`, `\"CL\"`,\n       * `\"CO\"`, `\"CR\"`, `\"CZ\"`, `\"DE\"`, `\"DK\"`, `\"ES\"`, `\"FI\"`, `\"FR\"`, `\"GR\"`,\n       * `\"IE\"`, `\"IN\"`, `\"IT\"`, `\"JP\"`, `\"KR\"`, `\"MX\"`, `\"MY\"`, `\"NL\"`, `\"NO\"`,\n       * `\"NZ\"`, `\"PE\"`, `\"PL\"`, `\"PT\"`, `\"RU\"`, `\"SE\"`, `\"SG\"`, `\"TH\"`, `\"TR\"`,\n       * `\"TW\"`, `\"UA\"`, `\"US\"`, `”ZA”`.\n       *\n       * Min: 2 characters\n       * Max: 2 characters\n       */\n      subdivisionCode?: string | null;\n      /**\n       * Postal code. Only\n       * [alphanumerical characters](https://en.wikipedia.org/wiki/Alphanumericals)\n       * are supported.\n       *\n       * Min: 2 characters\n       * Max: 16 characters\n       */\n      postalCode?: string | null;\n      /**\n       * Country code in\n       * [ISO-3166 alpha-1](https://en.wikipedia.org/wiki/ISO_3166-2#Subdivisions_included_in_ISO_3166-1)\n       * format. Only\n       * [alphanumerical characters](https://en.wikipedia.org/wiki/Alphanumericals)\n       * are supported. Wix doesn't validate that the postal code is valid for the\n       * given country.\n       *\n       * Min: 2 characters\n       * Max: 2 characters\n       */\n      countryCode?: string;\n      /**\n       * Phone number. Only\n       * [alphanumerical characters](https://en.wikipedia.org/wiki/Alphanumericals)\n       * are supported. For example, `+15551234567`. Wix doesn't validate that the\n       * phone number belongs to the specified country.\n       *\n       * Min: 2 characters\n       * Max: 20 characters\n       */\n      phone?: string;\n      /**\n       * Company name. Only\n       * [alphanumerical characters](https://en.wikipedia.org/wiki/Alphanumericals)\n       * are supported.\n       *\n       * Max: 2 characters\n       * Max: 64 characters\n       */\n      company?: string | null;\n  }\n  enum Status {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      PENDING_REGISTRATION = \"PENDING_REGISTRATION\",\n      ACTIVE = \"ACTIVE\",\n      FAILED_REGISTRATION = \"FAILED_REGISTRATION\",\n      CANCELED = \"CANCELED\"\n  }\n  interface PendingRegistrationInfo {\n      /**\n       * Information about the latest attempt to register\n       * the domain. Wix tries to register the domain several times if the\n       * first attempt is unsuccessful. You can contact the\n       * [Wix B2B team](mailto:bizdev@wix.com)\n       * for more information about the number of attempts and their timing.\n       * @readonly\n       */\n      latestAttempt?: LatestAttempt;\n  }\n  interface LatestAttempt {\n      /**\n       * Number of the latest attempt to register the domain.\n       * @readonly\n       */\n      number?: number;\n      /**\n       * Date and time of the latest domain registration attempt in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * @readonly\n       */\n      timestamp?: Date | null;\n  }\n  interface FailedRegistrationInfo {\n      /**\n       * Failure code.\n       *\n       * + `\"UNKNOWN_FAILURE_CODE\"`: There's no information about the failure code.\n       * + `\"OTHER\"`: There was a failure, but none of the listed failure codes applies.\n       * @readonly\n       */\n      code?: FailureCode;\n      /**\n       * Failure message.\n       * @readonly\n       */\n      message?: string;\n  }\n  enum FailureCode {\n      UNKNOWN_FAILURE_CODE = \"UNKNOWN_FAILURE_CODE\",\n      OTHER = \"OTHER\"\n  }\n  /**\n   * he confirmation status types, a record:\n   * starts at pending\n   * ends either at confirmed_by_all or expired\n   */\n  enum ICANNConfirmationStatus {\n      UNKNOWN_ICANN_CONFIRMATION_STATUS = \"UNKNOWN_ICANN_CONFIRMATION_STATUS\",\n      PENDING = \"PENDING\",\n      CONFIRMED_BY_ALL = \"CONFIRMED_BY_ALL\",\n      EXPIRED = \"EXPIRED\"\n  }\n  interface ICANNConfirmationStatusInfo extends ICANNConfirmationStatusInfoStatusOneOf {\n      /** Details about domains with `\"PENDING\"` ICANN confirmation status. */\n      pending?: Pending;\n      /** Details about domains with `\"EXPIRED\"` ICANN confirmation status. */\n      expired?: Expired;\n  }\n  /** @oneof */\n  interface ICANNConfirmationStatusInfoStatusOneOf {\n      /** Details about domains with `\"PENDING\"` ICANN confirmation status. */\n      pending?: Pending;\n      /** Details about domains with `\"EXPIRED\"` ICANN confirmation status. */\n      expired?: Expired;\n  }\n  interface Pending {\n      /**\n       * Expiration date of the ICANN confirmation process in\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format. All contacts must confirm the domain\n       * before this date or the domain won't be active.\n       */\n      expirationDate?: Date | null;\n      /**\n       * Email addresses of the contacts who haven't confirmed the domain with ICANN\n       * yet.\n       */\n      notConfirmedBy?: string[];\n  }\n  interface Expired {\n      /**\n       * Email addresses of the contacts who haven't confirmed the domain with ICANN\n       * in time.\n       */\n      notConfirmedBy?: string[];\n  }\n  enum DnsPropagationStatus {\n      UNKNOWN_DNS_PROPAGATION_STATUS = \"UNKNOWN_DNS_PROPAGATION_STATUS\",\n      COMPLETED = \"COMPLETED\",\n      FAILED = \"FAILED\",\n      IN_PROGRESS = \"IN_PROGRESS\"\n  }\n  interface CreateRegisteredDomainRequest {\n      /** Information about the domain to register including contact details. */\n      registeredDomain: RegisteredDomain;\n  }\n  interface CreateRegisteredDomainResponse {\n      /** Created registered domain. */\n      registeredDomain?: RegisteredDomain;\n  }\n  interface GetRegisteredDomainRequest {\n      /** ID of the registered domain to retrieve. */\n      registeredDomainId: string;\n  }\n  interface GetRegisteredDomainResponse {\n      /** Retrieved registered domain. */\n      registeredDomain?: RegisteredDomain;\n  }\n  interface ListRegisteredDomainsRequest {\n      /** Cursor paging options. */\n      paging?: CursorPaging$1;\n  }\n  interface CursorPaging$1 {\n      /**\n       * Number of domains to load.\n       *\n       * Min: `0`\n       * Max: `100`\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListRegisteredDomainsResponse {\n      /** Metadata about the returned list of registered domains. */\n      pagingMetadata?: CursorPagingMetadata$1;\n      /** Retrieved registered domains. */\n      registeredDomains?: RegisteredDomain[];\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of domains returned in the response. */\n      count?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors$1;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DeleteRegisteredDomainByIdRequest {\n      /** ID of the registered domain to delete. */\n      registeredDomainId: string;\n  }\n  interface DeleteRegisteredDomainByIdResponse {\n  }\n  interface RedeemRegisteredDomainRequest {\n      /**\n       * ID of the registered domain to redeem. Identical to the domain name\n       * including TLD.\n       */\n      registeredDomainId: string;\n  }\n  interface RedeemRegisteredDomainResponse {\n      /** Registered domain to redeem. */\n      registeredDomain?: RegisteredDomain;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a registeredDomain object and starts the domain registration process that may take up to 48 hours to resolve.\n   *\n   *  You must pass the relevant Wix account ID in the header of the call. You may also pass a Wix site ID in the header of the call. This assigns the domain to the site when the registration succeeds. If you don't provide a site ID, the domain is registered but not assigned to a Wix site. Information about the site is returned in the `siteInfo object`, while information about the account isn't returned.\n   *\n   *  To register a domain and assign it to a site, the site must have an active [Premium plan](https://support.wix.com/en/article/upgrading-your-site-to-premium-3066683). However, if you just want to register a domain without connecting it to a site, the account doesn't need an active Premium plan. In both situations, the account must own a product that supports linking a domain with the chosen TLD. Use [Create Package](/packages/create-package) of the Resellers API to add the relevant Premium plan or product to your customer's site. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for details about the available product IDs.\n   *\n   *  You can register domains for 1, 2, or 3 years, but you don't set the duration with this endpoint. Instead Wix chooses the registration length based on the billing cycle of the corresponding `productInstance` from the [Resellers API](/packages/Introduction). The [Create Registered Domain](/registeredDomains/create-registered-domains) call fails if the billing cycle of the relevant productInstance isn't 1, 2, or 3 years.\n   *\n   *  You can only register a root domain. You can't register a subdomain.\n   *\n   *  If you try to register a domain that isn't available for purchase or there is already a `registeredDomain` object for the specified domain, the call fails without creating a `registeredDomain` object or starting the registration process.\n   *\n   *  Wix tries to register the domain several times, but stops if the process fails too often. Contact the [Wix B2B team](mailto:bizdev@wix.com) for more information about the number of attempts and their timing.\n   *\n   *  Wix only checks formal requirements of each field in the `contacts` object, such as the maximum number of characters. Wix doesn't check whether the actual domain registrar has additional requirements, for example that the postal code is valid in the specified country. If there is such a mismatch between the request and the registrar's requirements, the call succeeds but the registration process can't succeed. Read more about [contact validations](https://dev.wix.com/api/rest/account-level-apis/registered-domains/contact-validations).\n   *\n   * >  **Important:** This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param registeredDomain - Information about the domain to register including contact details.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField registeredDomain\n   * @requiredField registeredDomain.contacts\n   * @requiredField registeredDomain.contacts.admin.address\n   * @requiredField registeredDomain.contacts.admin.city\n   * @requiredField registeredDomain.contacts.admin.countryCode\n   * @requiredField registeredDomain.contacts.admin.email\n   * @requiredField registeredDomain.contacts.admin.firstName\n   * @requiredField registeredDomain.contacts.admin.lastName\n   * @requiredField registeredDomain.contacts.admin.phone\n   * @requiredField registeredDomain.contacts.registrant\n   * @requiredField registeredDomain.contacts.registrant.address\n   * @requiredField registeredDomain.contacts.registrant.city\n   * @requiredField registeredDomain.contacts.registrant.countryCode\n   * @requiredField registeredDomain.contacts.registrant.email\n   * @requiredField registeredDomain.contacts.registrant.firstName\n   * @requiredField registeredDomain.contacts.registrant.lastName\n   * @requiredField registeredDomain.contacts.registrant.phone\n   * @requiredField registeredDomain.contacts.tech.address\n   * @requiredField registeredDomain.contacts.tech.city\n   * @requiredField registeredDomain.contacts.tech.countryCode\n   * @requiredField registeredDomain.contacts.tech.email\n   * @requiredField registeredDomain.contacts.tech.firstName\n   * @requiredField registeredDomain.contacts.tech.lastName\n   * @requiredField registeredDomain.contacts.tech.phone\n   * @requiredField registeredDomain.domain\n   * @requiredField registeredDomain.productInstanceId\n   * @permissionId DOMAINS.MANAGE_REGISTERED_DOMAINS\n   * @adminMethod\n   * @returns Created registered domain.\n   */\n  function createRegisteredDomain(registeredDomain: RegisteredDomain): Promise<RegisteredDomain>;\n  /**\n   * Retrieves a registered domain.\n   *\n   *\n   * You must pass the relevant Wix account ID in the header of the call.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param registeredDomainId - ID of the registered domain to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField registeredDomainId\n   * @permissionId DOMAINS.READ_REGISTERED_DOMAINS\n   * @adminMethod\n   * @returns Retrieved registered domain.\n   */\n  function getRegisteredDomain(registeredDomainId: string): Promise<RegisteredDomain>;\n  /**\n   * Retrieves a list of up to 100 registered domains.\n   *\n   *\n   * You must pass the relevant Wix account ID in the header of the call.\n   *\n   * The retrieved domains are sorted by `createdDate` in descending order.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId DOMAINS.READ_REGISTERED_DOMAINS\n   * @adminMethod\n   */\n  function listRegisteredDomains(options?: ListRegisteredDomainsOptions): Promise<ListRegisteredDomainsResponse>;\n  interface ListRegisteredDomainsOptions {\n      /** Cursor paging options. */\n      paging?: CursorPaging$1;\n  }\n  /**\n   * Deletes a registered domains.\n   *\n   *\n   * You must pass the relevant Wix account ID in the header of the call.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param registeredDomainId - ID of the registered domain to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField registeredDomainId\n   * @permissionId DOMAINS.MANAGE_REGISTERED_DOMAINS\n   * @adminMethod\n   */\n  function deleteRegisteredDomainById(registeredDomainId: string): Promise<void>;\n  /**\n   * Redeems a registered domain that's currently in redemption.\n   *\n   *\n   * You must pass the relevant Wix account ID in the header of the call.\n   *\n   * It may take up to 7 days to complete the domain redemption. If the domain\n   * is successfully redeemed, the new `expirationDate` is 1 year after the\n   * original `expirationDate`.\n   *\n   * You can't redeem registered domains that haven't expired yet or have passed\n   * the redemption period.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param registeredDomainId - ID of the registered domain to redeem. Identical to the domain name\n   * including TLD.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField registeredDomainId\n   * @permissionId DOMAINS.MANAGE_REGISTERED_DOMAINS\n   * @adminMethod\n   */\n  function redeemRegisteredDomain(registeredDomainId: string): Promise<RedeemRegisteredDomainResponse>;\n  \n  type premiumDomainsV1RegisteredDomain_universal_d_RegisteredDomain = RegisteredDomain;\n  type premiumDomainsV1RegisteredDomain_universal_d_RegisteredDomainStatusInfoOneOf = RegisteredDomainStatusInfoOneOf;\n  type premiumDomainsV1RegisteredDomain_universal_d_SiteInfo = SiteInfo;\n  type premiumDomainsV1RegisteredDomain_universal_d_SiteInfoAssignmentInfoOneOf = SiteInfoAssignmentInfoOneOf;\n  type premiumDomainsV1RegisteredDomain_universal_d_AssignmentType = AssignmentType;\n  const premiumDomainsV1RegisteredDomain_universal_d_AssignmentType: typeof AssignmentType;\n  type premiumDomainsV1RegisteredDomain_universal_d_RedirectAssignmentInfo = RedirectAssignmentInfo;\n  type premiumDomainsV1RegisteredDomain_universal_d_Contacts = Contacts;\n  type premiumDomainsV1RegisteredDomain_universal_d_ContactData = ContactData;\n  type premiumDomainsV1RegisteredDomain_universal_d_Status = Status;\n  const premiumDomainsV1RegisteredDomain_universal_d_Status: typeof Status;\n  type premiumDomainsV1RegisteredDomain_universal_d_PendingRegistrationInfo = PendingRegistrationInfo;\n  type premiumDomainsV1RegisteredDomain_universal_d_LatestAttempt = LatestAttempt;\n  type premiumDomainsV1RegisteredDomain_universal_d_FailedRegistrationInfo = FailedRegistrationInfo;\n  type premiumDomainsV1RegisteredDomain_universal_d_FailureCode = FailureCode;\n  const premiumDomainsV1RegisteredDomain_universal_d_FailureCode: typeof FailureCode;\n  type premiumDomainsV1RegisteredDomain_universal_d_ICANNConfirmationStatus = ICANNConfirmationStatus;\n  const premiumDomainsV1RegisteredDomain_universal_d_ICANNConfirmationStatus: typeof ICANNConfirmationStatus;\n  type premiumDomainsV1RegisteredDomain_universal_d_ICANNConfirmationStatusInfo = ICANNConfirmationStatusInfo;\n  type premiumDomainsV1RegisteredDomain_universal_d_ICANNConfirmationStatusInfoStatusOneOf = ICANNConfirmationStatusInfoStatusOneOf;\n  type premiumDomainsV1RegisteredDomain_universal_d_Pending = Pending;\n  type premiumDomainsV1RegisteredDomain_universal_d_Expired = Expired;\n  type premiumDomainsV1RegisteredDomain_universal_d_DnsPropagationStatus = DnsPropagationStatus;\n  const premiumDomainsV1RegisteredDomain_universal_d_DnsPropagationStatus: typeof DnsPropagationStatus;\n  type premiumDomainsV1RegisteredDomain_universal_d_CreateRegisteredDomainRequest = CreateRegisteredDomainRequest;\n  type premiumDomainsV1RegisteredDomain_universal_d_CreateRegisteredDomainResponse = CreateRegisteredDomainResponse;\n  type premiumDomainsV1RegisteredDomain_universal_d_GetRegisteredDomainRequest = GetRegisteredDomainRequest;\n  type premiumDomainsV1RegisteredDomain_universal_d_GetRegisteredDomainResponse = GetRegisteredDomainResponse;\n  type premiumDomainsV1RegisteredDomain_universal_d_ListRegisteredDomainsRequest = ListRegisteredDomainsRequest;\n  type premiumDomainsV1RegisteredDomain_universal_d_ListRegisteredDomainsResponse = ListRegisteredDomainsResponse;\n  type premiumDomainsV1RegisteredDomain_universal_d_DeleteRegisteredDomainByIdRequest = DeleteRegisteredDomainByIdRequest;\n  type premiumDomainsV1RegisteredDomain_universal_d_DeleteRegisteredDomainByIdResponse = DeleteRegisteredDomainByIdResponse;\n  type premiumDomainsV1RegisteredDomain_universal_d_RedeemRegisteredDomainRequest = RedeemRegisteredDomainRequest;\n  type premiumDomainsV1RegisteredDomain_universal_d_RedeemRegisteredDomainResponse = RedeemRegisteredDomainResponse;\n  type premiumDomainsV1RegisteredDomain_universal_d_DomainEvent = DomainEvent;\n  type premiumDomainsV1RegisteredDomain_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type premiumDomainsV1RegisteredDomain_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type premiumDomainsV1RegisteredDomain_universal_d_RestoreInfo = RestoreInfo;\n  type premiumDomainsV1RegisteredDomain_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type premiumDomainsV1RegisteredDomain_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type premiumDomainsV1RegisteredDomain_universal_d_ActionEvent = ActionEvent;\n  type premiumDomainsV1RegisteredDomain_universal_d_MessageEnvelope = MessageEnvelope;\n  type premiumDomainsV1RegisteredDomain_universal_d_IdentificationData = IdentificationData;\n  type premiumDomainsV1RegisteredDomain_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type premiumDomainsV1RegisteredDomain_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const premiumDomainsV1RegisteredDomain_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const premiumDomainsV1RegisteredDomain_universal_d_createRegisteredDomain: typeof createRegisteredDomain;\n  const premiumDomainsV1RegisteredDomain_universal_d_getRegisteredDomain: typeof getRegisteredDomain;\n  const premiumDomainsV1RegisteredDomain_universal_d_listRegisteredDomains: typeof listRegisteredDomains;\n  type premiumDomainsV1RegisteredDomain_universal_d_ListRegisteredDomainsOptions = ListRegisteredDomainsOptions;\n  const premiumDomainsV1RegisteredDomain_universal_d_deleteRegisteredDomainById: typeof deleteRegisteredDomainById;\n  const premiumDomainsV1RegisteredDomain_universal_d_redeemRegisteredDomain: typeof redeemRegisteredDomain;\n  namespace premiumDomainsV1RegisteredDomain_universal_d {\n    export {\n      premiumDomainsV1RegisteredDomain_universal_d_RegisteredDomain as RegisteredDomain,\n      premiumDomainsV1RegisteredDomain_universal_d_RegisteredDomainStatusInfoOneOf as RegisteredDomainStatusInfoOneOf,\n      premiumDomainsV1RegisteredDomain_universal_d_SiteInfo as SiteInfo,\n      premiumDomainsV1RegisteredDomain_universal_d_SiteInfoAssignmentInfoOneOf as SiteInfoAssignmentInfoOneOf,\n      premiumDomainsV1RegisteredDomain_universal_d_AssignmentType as AssignmentType,\n      premiumDomainsV1RegisteredDomain_universal_d_RedirectAssignmentInfo as RedirectAssignmentInfo,\n      premiumDomainsV1RegisteredDomain_universal_d_Contacts as Contacts,\n      premiumDomainsV1RegisteredDomain_universal_d_ContactData as ContactData,\n      premiumDomainsV1RegisteredDomain_universal_d_Status as Status,\n      premiumDomainsV1RegisteredDomain_universal_d_PendingRegistrationInfo as PendingRegistrationInfo,\n      premiumDomainsV1RegisteredDomain_universal_d_LatestAttempt as LatestAttempt,\n      premiumDomainsV1RegisteredDomain_universal_d_FailedRegistrationInfo as FailedRegistrationInfo,\n      premiumDomainsV1RegisteredDomain_universal_d_FailureCode as FailureCode,\n      premiumDomainsV1RegisteredDomain_universal_d_ICANNConfirmationStatus as ICANNConfirmationStatus,\n      premiumDomainsV1RegisteredDomain_universal_d_ICANNConfirmationStatusInfo as ICANNConfirmationStatusInfo,\n      premiumDomainsV1RegisteredDomain_universal_d_ICANNConfirmationStatusInfoStatusOneOf as ICANNConfirmationStatusInfoStatusOneOf,\n      premiumDomainsV1RegisteredDomain_universal_d_Pending as Pending,\n      premiumDomainsV1RegisteredDomain_universal_d_Expired as Expired,\n      premiumDomainsV1RegisteredDomain_universal_d_DnsPropagationStatus as DnsPropagationStatus,\n      premiumDomainsV1RegisteredDomain_universal_d_CreateRegisteredDomainRequest as CreateRegisteredDomainRequest,\n      premiumDomainsV1RegisteredDomain_universal_d_CreateRegisteredDomainResponse as CreateRegisteredDomainResponse,\n      premiumDomainsV1RegisteredDomain_universal_d_GetRegisteredDomainRequest as GetRegisteredDomainRequest,\n      premiumDomainsV1RegisteredDomain_universal_d_GetRegisteredDomainResponse as GetRegisteredDomainResponse,\n      premiumDomainsV1RegisteredDomain_universal_d_ListRegisteredDomainsRequest as ListRegisteredDomainsRequest,\n      CursorPaging$1 as CursorPaging,\n      premiumDomainsV1RegisteredDomain_universal_d_ListRegisteredDomainsResponse as ListRegisteredDomainsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      premiumDomainsV1RegisteredDomain_universal_d_DeleteRegisteredDomainByIdRequest as DeleteRegisteredDomainByIdRequest,\n      premiumDomainsV1RegisteredDomain_universal_d_DeleteRegisteredDomainByIdResponse as DeleteRegisteredDomainByIdResponse,\n      premiumDomainsV1RegisteredDomain_universal_d_RedeemRegisteredDomainRequest as RedeemRegisteredDomainRequest,\n      premiumDomainsV1RegisteredDomain_universal_d_RedeemRegisteredDomainResponse as RedeemRegisteredDomainResponse,\n      premiumDomainsV1RegisteredDomain_universal_d_DomainEvent as DomainEvent,\n      premiumDomainsV1RegisteredDomain_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      premiumDomainsV1RegisteredDomain_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      premiumDomainsV1RegisteredDomain_universal_d_RestoreInfo as RestoreInfo,\n      premiumDomainsV1RegisteredDomain_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      premiumDomainsV1RegisteredDomain_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      premiumDomainsV1RegisteredDomain_universal_d_ActionEvent as ActionEvent,\n      premiumDomainsV1RegisteredDomain_universal_d_MessageEnvelope as MessageEnvelope,\n      premiumDomainsV1RegisteredDomain_universal_d_IdentificationData as IdentificationData,\n      premiumDomainsV1RegisteredDomain_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      premiumDomainsV1RegisteredDomain_universal_d_WebhookIdentityType as WebhookIdentityType,\n      premiumDomainsV1RegisteredDomain_universal_d_createRegisteredDomain as createRegisteredDomain,\n      premiumDomainsV1RegisteredDomain_universal_d_getRegisteredDomain as getRegisteredDomain,\n      premiumDomainsV1RegisteredDomain_universal_d_listRegisteredDomains as listRegisteredDomains,\n      premiumDomainsV1RegisteredDomain_universal_d_ListRegisteredDomainsOptions as ListRegisteredDomainsOptions,\n      premiumDomainsV1RegisteredDomain_universal_d_deleteRegisteredDomainById as deleteRegisteredDomainById,\n      premiumDomainsV1RegisteredDomain_universal_d_redeemRegisteredDomain as redeemRegisteredDomain,\n    };\n  }\n  \n  interface DomainAvailability {\n      /** Domain name including TLD. For example, `my-new-domain.com`. */\n      domain?: string;\n      /**\n       * Whether the domain is available for purchase. You can purchase the\n       * domain in case the boolean is `true`. The domain is already taken\n       * when `false` is returned.\n       */\n      available?: boolean;\n      /** Whether the domain has a higher price due to its perceived value or demand. */\n      premium?: boolean;\n  }\n  interface CheckDomainAvailabilityRequest {\n      /**\n       * Domain name. Must include the TLD. For example, `my-new-domain.com`. Only\n       * alphanumeric characters, hyphens, and dots are supported.\n       *\n       * Min: 3 characters\n       * Max: 63 characters\n       */\n      domain: string;\n  }\n  interface CheckDomainAvailabilityResponse {\n      /** Information about the domain's availability. */\n      availability?: DomainAvailability;\n  }\n  /**\n   * Checks whether the given domain is available for purchase.\n   *\n   *\n   * You can purchase the specified domain in case the returned\n   * `availability.available` boolean is `true`. The domain is already taken\n   * when `false` is returned.\n   *\n   * The `domain` field must include the TLD. For example, `my-new-domain.com`.\n   *\n   * > __Important:__ This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param domain - Domain name. Must include the TLD. For example, `my-new-domain.com`. Only\n   * alphanumeric characters, hyphens, and dots are supported.\n   *\n   * Min: 3 characters\n   * Max: 63 characters\n   * @public\n   * @requiredField domain\n   * @permissionId DOMAINS.PUBLIC_API_PERMISSION\n   * @adminMethod\n   */\n  function checkDomainAvailability(domain: string): Promise<CheckDomainAvailabilityResponse>;\n  \n  type premiumDomainsV2Availability_universal_d_DomainAvailability = DomainAvailability;\n  type premiumDomainsV2Availability_universal_d_CheckDomainAvailabilityRequest = CheckDomainAvailabilityRequest;\n  type premiumDomainsV2Availability_universal_d_CheckDomainAvailabilityResponse = CheckDomainAvailabilityResponse;\n  const premiumDomainsV2Availability_universal_d_checkDomainAvailability: typeof checkDomainAvailability;\n  namespace premiumDomainsV2Availability_universal_d {\n    export {\n      premiumDomainsV2Availability_universal_d_DomainAvailability as DomainAvailability,\n      premiumDomainsV2Availability_universal_d_CheckDomainAvailabilityRequest as CheckDomainAvailabilityRequest,\n      premiumDomainsV2Availability_universal_d_CheckDomainAvailabilityResponse as CheckDomainAvailabilityResponse,\n      premiumDomainsV2Availability_universal_d_checkDomainAvailability as checkDomainAvailability,\n    };\n  }\n  \n  interface DomainSuggestion {\n      /** Suggested domain name including TLD. */\n      domain?: string;\n      /** Whether the domain has a higher price due to its perceived value or demand. */\n      premium?: boolean;\n  }\n  interface SuggestDomainsRequest {\n      /**\n       * Input to base your domain suggestions on. May include\n       * letters, numbers, spaces, dots, and hyphens. Must not include the TLD.\n       *\n       * Min: 3 characters\n       * Max: 100 characters\n       */\n      query: string;\n      /**\n       * [Top-level domains](https://en.wikipedia.org/wiki/Top-level_domain). Must\n       * not include the dot. For example, `com`, not `.com`. Not all TLDs can be\n       * connected to Wix sites. Supported TLDS include `com`, `net`, and `org`.\n       * Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for more\n       * information.\n       *\n       * Max: 10 TLDs\n       */\n      tlds?: string[];\n      /**\n       * Number of domain suggestions to return. __Deprecated__: This field will be\n       * removed on March 1, 2025. Use `paging.limit` instead.\n       *\n       * Min: `1`\n       * Max: `20`\n       * Default: `10`\n       * @deprecated Number of domain suggestions to return. __Deprecated__: This field will be\n       * removed on March 1, 2025. Use `paging.limit` instead.\n       *\n       * Min: `1`\n       * Max: `20`\n       * Default: `10`\n       * @replacedBy paging.limit\n       * @targetRemovalDate 2025-03-01\n       */\n      limit?: number | null;\n      /** Cursor paging options. */\n      paging?: CursorPaging;\n      /**\n       * Maximum number of characters for the domain name, excluding the TLD.\n       *\n       * Min: `3`\n       * Max: `63`\n       * Default: `63`\n       */\n      maxLength?: number | null;\n  }\n  interface CursorPaging {\n      /**\n       * Maximum number of domains to return in the results.\n       *\n       * Min: `0`\n       * Max: `20`\n       */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface SuggestDomainsResponse {\n      /** List of suggested available domains. */\n      suggestions?: DomainSuggestion[];\n      /** Metadata about the returned list of suggested domains. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of domains returned in the response. */\n      count?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  /**\n   * Suggests domains that are available for purchase, based on the provided query input.\n   *\n   *  You may use this endpoint to get inspired and then call [Check Domain Availability()](/domainAvailability/check-domain-availability) to check whether a specific variation of the suggestions is also available for purchsase.\n   *\n   *  The `tlds` must not include the dot. For example, `com` and not `.com`.\n   *\n   * > **Important:** This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param query - Input to base your domain suggestions on. May include\n   * letters, numbers, spaces, dots, and hyphens. Must not include the TLD.\n   *\n   * Min: 3 characters\n   * Max: 100 characters\n   * @public\n   * @requiredField query\n   * @permissionId DOMAINS.PUBLIC_API_PERMISSION\n   * @adminMethod\n   */\n  function suggestDomains(query: string, options?: SuggestDomainsOptions): Promise<SuggestDomainsResponse>;\n  interface SuggestDomainsOptions {\n      /**\n       * [Top-level domains](https://en.wikipedia.org/wiki/Top-level_domain). Must\n       * not include the dot. For example, `com`, not `.com`. Not all TLDs can be\n       * connected to Wix sites. Supported TLDS include `com`, `net`, and `org`.\n       * Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for more\n       * information.\n       *\n       * Max: 10 TLDs\n       */\n      tlds?: string[];\n      /**\n       * Number of domain suggestions to return. __Deprecated__: This field will be\n       * removed on March 1, 2025. Use `paging.limit` instead.\n       *\n       * Min: `1`\n       * Max: `20`\n       * Default: `10`\n       * @deprecated Number of domain suggestions to return. __Deprecated__: This field will be\n       * removed on March 1, 2025. Use `paging.limit` instead.\n       *\n       * Min: `1`\n       * Max: `20`\n       * Default: `10`\n       * @replacedBy paging.limit\n       * @targetRemovalDate 2025-03-01\n       */\n      limit?: number | null;\n      /** Cursor paging options. */\n      paging?: CursorPaging;\n      /**\n       * Maximum number of characters for the domain name, excluding the TLD.\n       *\n       * Min: `3`\n       * Max: `63`\n       * Default: `63`\n       */\n      maxLength?: number | null;\n  }\n  \n  type premiumDomainsV2Suggestion_universal_d_DomainSuggestion = DomainSuggestion;\n  type premiumDomainsV2Suggestion_universal_d_SuggestDomainsRequest = SuggestDomainsRequest;\n  type premiumDomainsV2Suggestion_universal_d_CursorPaging = CursorPaging;\n  type premiumDomainsV2Suggestion_universal_d_SuggestDomainsResponse = SuggestDomainsResponse;\n  type premiumDomainsV2Suggestion_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type premiumDomainsV2Suggestion_universal_d_Cursors = Cursors;\n  const premiumDomainsV2Suggestion_universal_d_suggestDomains: typeof suggestDomains;\n  type premiumDomainsV2Suggestion_universal_d_SuggestDomainsOptions = SuggestDomainsOptions;\n  namespace premiumDomainsV2Suggestion_universal_d {\n    export {\n      premiumDomainsV2Suggestion_universal_d_DomainSuggestion as DomainSuggestion,\n      premiumDomainsV2Suggestion_universal_d_SuggestDomainsRequest as SuggestDomainsRequest,\n      premiumDomainsV2Suggestion_universal_d_CursorPaging as CursorPaging,\n      premiumDomainsV2Suggestion_universal_d_SuggestDomainsResponse as SuggestDomainsResponse,\n      premiumDomainsV2Suggestion_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      premiumDomainsV2Suggestion_universal_d_Cursors as Cursors,\n      premiumDomainsV2Suggestion_universal_d_suggestDomains as suggestDomains,\n      premiumDomainsV2Suggestion_universal_d_SuggestDomainsOptions as SuggestDomainsOptions,\n    };\n  }\n  \n  export { premiumDomainsV1ConnectedDomainSetupInfo_universal_d as connectedDomainSetupInfo, premiumDomainsV1ConnectedDomain_universal_d as connectedDomains, premiumDomainsV2Availability_universal_d as domainAvailability, premiumDomainsV1DnsZone_universal_d as domainDns, premiumDomainsV2Suggestion_universal_d as domainSuggestions, premiumDomainsV1RegisteredDomain_universal_d as registeredDomains };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-moderation-rules.v1.d.ts",
      "content": "declare module \"wix-moderation-rules.v1\" {\n  interface Rule {\n      /**\n       * Rule ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the rule is updated. To prevent conflicting changes, the existing revision must be used when updating a rule.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when the rule was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the rule was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** The app and entity which the rule belongs to. For example, `comments/{BLOG_APP_ID}`. */\n      namespace?: string;\n      /** Rule name. */\n      name?: string;\n      /** Audience to which the rule applies. */\n      audience?: Audience;\n      /**\n       * A condition that triggers the rule.\n       *\n       * **Note:** If you need to have several triggers for the same namespace, create separate rules.\n       */\n      trigger?: Trigger;\n      /** List of site members or groups to whom the rule doesn't apply. */\n      exemptions?: Exemptions;\n      /** What action should be taken after the rule is triggered. */\n      action?: Action;\n      /** Whether the rule is enabled. */\n      enabled?: boolean;\n      /**\n       * Custom field data for the rule object.\n       *\n       * **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface Audience extends AudienceOptionsOneOf {\n      /**\n       * Options for new members.\n       *\n       * **Note:** This object is relevant only when `type` is `NEW_MEMBERS`.\n       */\n      newMembersOptions?: NewMembersOptions;\n      /** Audience type. */\n      type?: AudienceType;\n  }\n  /** @oneof */\n  interface AudienceOptionsOneOf {\n      /**\n       * Options for new members.\n       *\n       * **Note:** This object is relevant only when `type` is `NEW_MEMBERS`.\n       */\n      newMembersOptions?: NewMembersOptions;\n  }\n  enum AudienceType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      VISITORS = \"VISITORS\",\n      MEMBERS = \"MEMBERS\",\n      MEMBERS_AND_VISITORS = \"MEMBERS_AND_VISITORS\",\n      NEW_MEMBERS = \"NEW_MEMBERS\"\n  }\n  interface NewMembersOptions {\n      /** For how many hours the member is new. */\n      durationInHours?: number | null;\n  }\n  interface Trigger extends TriggerOptionsOneOf {\n      /** Options for the patterns trigger. */\n      patternsOptions?: Patterns;\n      /**\n       * Keyword Presets\n       *\n       * Not implemented yet\n       * @internal\n       */\n      keywordPresetsOptions?: KeywordPresets;\n      /** Options for the content features trigger. */\n      contentFeaturesOptions?: ContentFeatures;\n      /** Options for the atrributes trigger. You can only have 1 attribute per rule. */\n      attributeOptions?: TriggerAttribute;\n      /** Trigger type. */\n      type?: TriggerType;\n  }\n  /** @oneof */\n  interface TriggerOptionsOneOf {\n      /** Options for the patterns trigger. */\n      patternsOptions?: Patterns;\n      /**\n       * Keyword Presets\n       *\n       * Not implemented yet\n       * @internal\n       */\n      keywordPresetsOptions?: KeywordPresets;\n      /** Options for the content features trigger. */\n      contentFeaturesOptions?: ContentFeatures;\n      /** Options for the atrributes trigger. You can only have 1 attribute per rule. */\n      attributeOptions?: TriggerAttribute;\n  }\n  enum Preset {\n      UNKNOWN_PRESET = \"UNKNOWN_PRESET\",\n      PROFANITY = \"PROFANITY\",\n      SLURS = \"SLURS\",\n      NUDITY = \"NUDITY\"\n  }\n  enum TriggerType {\n      /** Unknown trigger type. */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** The trigger is a specific word or phrase. You can specify additional options in the `patternsOptions` object. */\n      PATTERNS = \"PATTERNS\",\n      KEYWORD_PRESETS = \"KEYWORD_PRESETS\",\n      /** The rule is triggered when non-textual features, such as videos, images, links, and attachments, exist in the content. You can specify additional options in the `contentFeaturesOptions` object. */\n      CONTENT_FEATURES = \"CONTENT_FEATURES\",\n      /** A custom trigger based on an attribute and its value. For example, if you'd like to check all reviews with a low rating, then `name` would be `rating`, and `values` would be `[1, 2]`. You can specify additional options in the `patternsOptions` object. */\n      ATTRIBUTE = \"ATTRIBUTE\",\n      /** There is no specific trigger. The rule is triggered whenever new content is created or existing content is updated, with no other conditions required. */\n      ALWAYS = \"ALWAYS\",\n      /** The trigger checks content using a prompt algorithm. */\n      SMART = \"SMART\"\n  }\n  interface Patterns {\n      /**\n       * List of words that can trigger a rule. The `*` wildcard can be used to match a partial word. For example:\n       * - `spam`: Matches only \"spam\"\n       * - `spam*`: Matches \"spam\", \"spammer\", \"spammy\"\n       * - `*spam`: Matches \"antispam\", \"multispam\"\n       * - `sp*m`: Matches \"spim\", \"spam\", \"spum\"\n       */\n      words?: string[];\n      /** [Regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions). */\n      expressions?: string[];\n  }\n  interface KeywordPresets {\n      /** Presets */\n      presets?: Preset[];\n  }\n  interface ContentFeatures {\n      /** Whether the content contains videos. */\n      videos?: boolean;\n      /** Whether the content contains images. */\n      images?: boolean;\n      /** Whether the content contains links. */\n      links?: boolean;\n      /** Whether the content contains attachments or files. */\n      attachments?: boolean;\n  }\n  interface TriggerAttribute {\n      /** Attribute name. */\n      name?: string;\n      /** Attribute values. */\n      values?: string[];\n  }\n  interface Exemptions {\n      /** List of member groups. */\n      memberGroups?: string[];\n      /** List of member IDs. */\n      memberIds?: string[];\n  }\n  interface Action {\n      /** Action type. */\n      type?: Type;\n  }\n  enum Type {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** Reject the content without any further review. */\n      REJECT = \"REJECT\",\n      /** Send the content for manual review. */\n      NEEDS_MANUAL_APPROVAL = \"NEEDS_MANUAL_APPROVAL\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateRuleRequest {\n      /** Rule info. */\n      rule: Rule;\n  }\n  interface CreateRuleResponse {\n      /** Created rule. */\n      rule?: Rule;\n  }\n  interface GetRuleRequest {\n      /** Rule ID. */\n      ruleId: string;\n  }\n  interface GetRuleResponse {\n      /** Requested rule. */\n      rule?: Rule;\n  }\n  interface UpdateRuleRequest {\n      /** Rule to update. */\n      rule: Rule;\n      /**\n       * Set of specific fields to update. Other fields not included in the object are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateRuleResponse {\n      /** Updated rule. */\n      rule?: Rule;\n  }\n  interface DeleteRuleRequest {\n      /** ID of the rule to delete. */\n      ruleId: string;\n  }\n  interface DeleteRuleResponse {\n  }\n  interface QueryRulesRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryRulesResponse {\n      /** List of rules. */\n      rules?: Rule[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CheckContentRequest {\n      /** Namespace value. */\n      namespace?: string;\n      /** Content to check. */\n      content?: ModerationContent;\n  }\n  /** Content that can be moderated */\n  interface ModerationContent extends ModerationContentContentOneOf {\n      /**\n       * Content is in the rich content format.\n       *\n       * **Note:** Only applicable when `trigger`` is the `CONTENT_FEATURES` and `PATTERNS` type.\n       */\n      richContent?: RichContent;\n      /**\n       * Content is plain text.\n       *\n       * **Note:** Only applicable when `trigger`` is the `PATTERNS` type.\n       */\n      plainText?: string | null;\n      /**\n       * Content attributes. For example, if you'd like to check all reviews with a low rating, then `name` would be `rating`, and `values` would be `[1, 2]`.\n       *\n       * **Note:** Only applicable when `trigger`` is the `ATTRIBUTE` type.\n       */\n      attributes?: Attribute[];\n      /**\n       * Ability to override member id.\n       * If not provided will be automatically resolved if possible\n       *\n       * Not Implemented\n       * @internal\n       */\n      memberId?: string | null;\n      /**\n       * Ability to override member groups.\n       * If not provided will be automatically resolved if possible\n       *\n       * Not Implemented\n       * @internal\n       */\n      memberGroups?: string[] | null;\n  }\n  /** @oneof */\n  interface ModerationContentContentOneOf {\n      /**\n       * Content is in the rich content format.\n       *\n       * **Note:** Only applicable when `trigger`` is the `CONTENT_FEATURES` and `PATTERNS` type.\n       */\n      richContent?: RichContent;\n      /**\n       * Content is plain text.\n       *\n       * **Note:** Only applicable when `trigger`` is the `PATTERNS` type.\n       */\n      plainText?: string | null;\n  }\n  interface RichContent {\n      /** Node objects representing a rich content document. */\n      nodes?: Node[];\n      /** Object metadata. */\n      metadata?: Metadata;\n      /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n      documentStyle?: DocumentStyle;\n  }\n  interface Node extends NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n      /** 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. */\n      type?: NodeType;\n      /** Node ID. */\n      _id?: string;\n      /** A list of child nodes. */\n      nodes?: Node[];\n      /** Padding and background color styling for the node. */\n      style?: NodeStyle;\n  }\n  /** @oneof */\n  interface NodeDataOneOf {\n      /** Data for a button node. */\n      buttonData?: ButtonData;\n      /** Data for a code block node. */\n      codeBlockData?: CodeBlockData;\n      /** Data for a divider node. */\n      dividerData?: DividerData;\n      /** Data for a file node. */\n      fileData?: FileData;\n      /** Data for a gallery node. */\n      galleryData?: GalleryData;\n      /** Data for a GIF node. */\n      gifData?: GIFData;\n      /** Data for a heading node. */\n      headingData?: HeadingData;\n      /** Data for an embedded HTML node. */\n      htmlData?: HTMLData;\n      /** Data for an image node. */\n      imageData?: ImageData;\n      /** Data for a link preview node. */\n      linkPreviewData?: LinkPreviewData;\n      /** Data for a map node. */\n      mapData?: MapData;\n      /** Data for a paragraph node. */\n      paragraphData?: ParagraphData;\n      /** Data for a poll node. */\n      pollData?: PollData;\n      /** Data for a text node. Used to apply decorations to text. */\n      textData?: TextData;\n      /** Data for an app embed node. */\n      appEmbedData?: AppEmbedData;\n      /** Data for a video node. */\n      videoData?: VideoData;\n      /** Data for an oEmbed node. */\n      embedData?: EmbedData;\n      /** Data for a collapsible list node. */\n      collapsibleListData?: CollapsibleListData;\n      /** Data for a table node. */\n      tableData?: TableData;\n      /** Data for a table cell node. */\n      tableCellData?: TableCellData;\n      /** Data for a custom external node. */\n      externalData?: Record<string, any> | null;\n      /** Data for an audio node. */\n      audioData?: AudioData;\n      /** Data for an ordered list node. */\n      orderedListData?: OrderedListData;\n      /** Data for a bulleted list node. */\n      bulletedListData?: BulletedListData;\n      /** Data for a block quote node. */\n      blockquoteData?: BlockquoteData;\n      /** Data for a caption node. */\n      captionData?: CaptionData;\n  }\n  enum NodeType {\n      PARAGRAPH = \"PARAGRAPH\",\n      TEXT = \"TEXT\",\n      HEADING = \"HEADING\",\n      BULLETED_LIST = \"BULLETED_LIST\",\n      ORDERED_LIST = \"ORDERED_LIST\",\n      LIST_ITEM = \"LIST_ITEM\",\n      BLOCKQUOTE = \"BLOCKQUOTE\",\n      CODE_BLOCK = \"CODE_BLOCK\",\n      VIDEO = \"VIDEO\",\n      DIVIDER = \"DIVIDER\",\n      FILE = \"FILE\",\n      GALLERY = \"GALLERY\",\n      GIF = \"GIF\",\n      HTML = \"HTML\",\n      IMAGE = \"IMAGE\",\n      LINK_PREVIEW = \"LINK_PREVIEW\",\n      MAP = \"MAP\",\n      POLL = \"POLL\",\n      APP_EMBED = \"APP_EMBED\",\n      BUTTON = \"BUTTON\",\n      COLLAPSIBLE_LIST = \"COLLAPSIBLE_LIST\",\n      TABLE = \"TABLE\",\n      EMBED = \"EMBED\",\n      COLLAPSIBLE_ITEM = \"COLLAPSIBLE_ITEM\",\n      COLLAPSIBLE_ITEM_TITLE = \"COLLAPSIBLE_ITEM_TITLE\",\n      COLLAPSIBLE_ITEM_BODY = \"COLLAPSIBLE_ITEM_BODY\",\n      TABLE_CELL = \"TABLE_CELL\",\n      TABLE_ROW = \"TABLE_ROW\",\n      EXTERNAL = \"EXTERNAL\",\n      AUDIO = \"AUDIO\",\n      CAPTION = \"CAPTION\"\n  }\n  interface NodeStyle {\n      /** The top padding value in pixels. */\n      paddingTop?: string | null;\n      /** The bottom padding value in pixels. */\n      paddingBottom?: string | null;\n      /** The background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface ButtonData {\n      /** Styling for the button's container. */\n      containerData?: PluginContainerData;\n      /** The button type. */\n      type?: ButtonDataType;\n      /** Styling for the button. */\n      styles?: Styles;\n      /** The text to display on the button. */\n      text?: string | null;\n      /** Button link details. */\n      link?: Link;\n  }\n  interface Border {\n      /** Border width in pixels. */\n      width?: number | null;\n      /** Border radius in pixels. */\n      radius?: number | null;\n  }\n  interface Colors {\n      /** The text color as a hexadecimal value. */\n      text?: string | null;\n      /** The border color as a hexadecimal value. */\n      border?: string | null;\n      /** The background color as a hexadecimal value. */\n      background?: string | null;\n  }\n  interface PluginContainerData {\n      /** The width of the node when it's displayed. */\n      width?: PluginContainerDataWidth;\n      /** The node's alignment within its container. */\n      alignment?: PluginContainerDataAlignment;\n      /** Spoiler cover settings for the node. */\n      spoiler?: Spoiler;\n      /** The height of the node when it's displayed. */\n      height?: Height;\n      /** 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`. */\n      textWrap?: boolean | null;\n  }\n  enum WidthType {\n      /** Width matches the content width */\n      CONTENT = \"CONTENT\",\n      /** Small Width */\n      SMALL = \"SMALL\",\n      /** Width will match the original asset width */\n      ORIGINAL = \"ORIGINAL\",\n      /** coast-to-coast display */\n      FULL_WIDTH = \"FULL_WIDTH\"\n  }\n  interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  /** @oneof */\n  interface PluginContainerDataWidthDataOneOf {\n      /**\n       * One of the following predefined width options:\n       * `CONTENT`: The width of the container matches the content width.\n       * `SMALL`: A small width.\n       * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n       * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n       */\n      size?: WidthType;\n      /** A custom width value in pixels. */\n      custom?: string | null;\n  }\n  enum PluginContainerDataAlignment {\n      /** Center Alignment */\n      CENTER = \"CENTER\",\n      /** Left Alignment */\n      LEFT = \"LEFT\",\n      /** Right Alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface Spoiler {\n      /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n      enabled?: boolean | null;\n      /** The description displayed on top of the spoiler cover. */\n      description?: string | null;\n      /** The text for the button used to remove the spoiler cover. */\n      buttonText?: string | null;\n  }\n  interface Height {\n      /** A custom height value in pixels. */\n      custom?: string | null;\n  }\n  enum ButtonDataType {\n      /** Regular link button */\n      LINK = \"LINK\",\n      /** Triggers custom action that is defined in plugin configuration by the consumer */\n      ACTION = \"ACTION\"\n  }\n  interface Styles {\n      /** Border attributes. */\n      border?: Border;\n      /** Color attributes. */\n      colors?: Colors;\n  }\n  interface Link extends LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n      /**\n       * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n       * `SELF` - Default. Opens the linked document in the same frame as the link.\n       * `BLANK` - Opens the linked document in a new browser tab or window.\n       * `PARENT` - Opens the linked document in the link's parent frame.\n       * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n       */\n      target?: Target;\n      /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n      rel?: Rel;\n      /** A serialized object used for a custom or external link panel. */\n      customData?: string | null;\n  }\n  /** @oneof */\n  interface LinkDataOneOf {\n      /** The absolute URL for the linked document. */\n      url?: string;\n      /** The target node's ID. Used for linking to another node in this object. */\n      anchor?: string;\n  }\n  enum Target {\n      /** Opens the linked document in the same frame as it was clicked (this is default) */\n      SELF = \"SELF\",\n      /** Opens the linked document in a new window or tab */\n      BLANK = \"BLANK\",\n      /** Opens the linked document in the parent frame */\n      PARENT = \"PARENT\",\n      /** Opens the linked document in the full body of the window */\n      TOP = \"TOP\"\n  }\n  interface Rel {\n      /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n      nofollow?: boolean | null;\n      /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n      sponsored?: boolean | null;\n      /** 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`. */\n      ugc?: boolean | null;\n      /** Indicates that this link protect referral information from being passed to the target website. */\n      noreferrer?: boolean | null;\n  }\n  interface CodeBlockData {\n      /** Styling for the code block's text. */\n      textStyle?: TextStyle;\n  }\n  interface TextStyle {\n      /** Text alignment. Defaults to `AUTO`. */\n      textAlignment?: TextAlignment;\n      /** 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. */\n      lineHeight?: string | null;\n  }\n  enum TextAlignment {\n      /** browser default, eqivalent to `initial` */\n      AUTO = \"AUTO\",\n      /** Left align */\n      LEFT = \"LEFT\",\n      /** Right align */\n      RIGHT = \"RIGHT\",\n      /** Center align */\n      CENTER = \"CENTER\",\n      /** 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 */\n      JUSTIFY = \"JUSTIFY\"\n  }\n  interface DividerData {\n      /** Styling for the divider's container. */\n      containerData?: PluginContainerData;\n      /** Divider line style. */\n      lineStyle?: LineStyle;\n      /** Divider width. */\n      width?: Width;\n      /** Divider alignment. */\n      alignment?: Alignment;\n  }\n  enum LineStyle {\n      /** Single Line */\n      SINGLE = \"SINGLE\",\n      /** Double Line */\n      DOUBLE = \"DOUBLE\",\n      /** Dashed Line */\n      DASHED = \"DASHED\",\n      /** Dotted Line */\n      DOTTED = \"DOTTED\"\n  }\n  enum Width {\n      /** Large line */\n      LARGE = \"LARGE\",\n      /** Medium line */\n      MEDIUM = \"MEDIUM\",\n      /** Small line */\n      SMALL = \"SMALL\"\n  }\n  enum Alignment {\n      /** Center alignment */\n      CENTER = \"CENTER\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\"\n  }\n  interface FileData {\n      /** Styling for the file's container. */\n      containerData?: PluginContainerData;\n      /** The source for the file's data. */\n      src?: FileSource;\n      /** File name. */\n      name?: string | null;\n      /** File type. */\n      type?: string | null;\n      /**\n       * Use `sizeInKb` instead.\n       * @deprecated\n       */\n      size?: number | null;\n      /** Settings for PDF files. */\n      pdfSettings?: PDFSettings;\n      /** File MIME type. */\n      mimeType?: string | null;\n      /** File path. */\n      path?: string | null;\n      /** File size in KB. */\n      sizeInKb?: string | null;\n  }\n  enum ViewMode {\n      /** No PDF view */\n      NONE = \"NONE\",\n      /** Full PDF view */\n      FULL = \"FULL\",\n      /** Mini PDF view */\n      MINI = \"MINI\"\n  }\n  interface FileSource extends FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n      /** Indicates whether the file's source is private. Defaults to `false`. */\n      private?: boolean | null;\n  }\n  /** @oneof */\n  interface FileSourceDataOneOf {\n      /** The absolute URL for the file's source. */\n      url?: string | null;\n      /**\n       * Custom ID. Use `id` instead.\n       * @deprecated\n       */\n      custom?: string | null;\n      /** An ID that's resolved to a URL by a resolver function. */\n      _id?: string | null;\n  }\n  interface PDFSettings {\n      /**\n       * PDF view mode. One of the following:\n       * `NONE` : The PDF isn't displayed.\n       * `FULL` : A full page view of the PDF is displayed.\n       * `MINI` : A mini view of the PDF is displayed.\n       */\n      viewMode?: ViewMode;\n      /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n      disablePrint?: boolean | null;\n  }\n  interface GalleryData {\n      /** Styling for the gallery's container. */\n      containerData?: PluginContainerData;\n      /** The items in the gallery. */\n      items?: Item[];\n      /** Options for defining the gallery's appearance. */\n      options?: GalleryOptions;\n      /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface Media {\n      /** The source for the media's data. */\n      src?: FileSource;\n      /** Media width in pixels. */\n      width?: number | null;\n      /** Media height in pixels. */\n      height?: number | null;\n      /** Media duration in seconds. Only relevant for audio and video files. */\n      duration?: number | null;\n  }\n  interface Image {\n      /** Image file details. */\n      media?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n  }\n  interface Video {\n      /** Video file details. */\n      media?: Media;\n      /** Video thumbnail file details. */\n      thumbnail?: Media;\n  }\n  interface Item extends ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n      /** Item title. */\n      title?: string | null;\n      /** Item's alternative text. */\n      altText?: string | null;\n  }\n  /** @oneof */\n  interface ItemDataOneOf {\n      /** An image item. */\n      image?: Image;\n      /** A video item. */\n      video?: Video;\n  }\n  interface GalleryOptions {\n      /** Gallery layout. */\n      layout?: Layout;\n      /** Styling for gallery items. */\n      item?: ItemStyle;\n      /** Styling for gallery thumbnail images. */\n      thumbnails?: Thumbnails;\n  }\n  enum LayoutType {\n      /** Collage type */\n      COLLAGE = \"COLLAGE\",\n      /** Masonry type */\n      MASONRY = \"MASONRY\",\n      /** Grid type */\n      GRID = \"GRID\",\n      /** Thumbnail type */\n      THUMBNAIL = \"THUMBNAIL\",\n      /** Slider type */\n      SLIDER = \"SLIDER\",\n      /** Slideshow type */\n      SLIDESHOW = \"SLIDESHOW\",\n      /** Panorama type */\n      PANORAMA = \"PANORAMA\",\n      /** Column type */\n      COLUMN = \"COLUMN\",\n      /** Magic type */\n      MAGIC = \"MAGIC\",\n      /** Fullsize images type */\n      FULLSIZE = \"FULLSIZE\"\n  }\n  enum Orientation {\n      /** Rows Orientation */\n      ROWS = \"ROWS\",\n      /** Columns Orientation */\n      COLUMNS = \"COLUMNS\"\n  }\n  enum Crop {\n      /** Crop to fill */\n      FILL = \"FILL\",\n      /** Crop to fit */\n      FIT = \"FIT\"\n  }\n  enum ThumbnailsAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Right alignment */\n      RIGHT = \"RIGHT\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\",\n      /** Left alignment */\n      LEFT = \"LEFT\",\n      /** No thumbnail */\n      NONE = \"NONE\"\n  }\n  interface Layout {\n      /** Gallery layout type. */\n      type?: LayoutType;\n      /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n      horizontalScroll?: boolean | null;\n      /** Gallery orientation. */\n      orientation?: Orientation;\n      /** The number of columns to display on full size screens. */\n      numberOfColumns?: number | null;\n      /** The number of columns to display on mobile screens. */\n      mobileNumberOfColumns?: number | null;\n  }\n  interface ItemStyle {\n      /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n      targetSize?: number | null;\n      /** Item ratio */\n      ratio?: number | null;\n      /** Sets how item images are cropped. */\n      crop?: Crop;\n      /** The spacing between items in pixels. */\n      spacing?: number | null;\n  }\n  interface Thumbnails {\n      /** Thumbnail alignment. */\n      placement?: ThumbnailsAlignment;\n      /** Spacing between thumbnails in pixels. */\n      spacing?: number | null;\n  }\n  interface GIFData {\n      /** Styling for the GIF's container. */\n      containerData?: PluginContainerData;\n      /** The source of the full size GIF. */\n      original?: GIF;\n      /** The source of the downsized GIF. */\n      downsized?: GIF;\n      /** Height in pixels. */\n      height?: number;\n      /** Width in pixels. */\n      width?: number;\n  }\n  interface GIF {\n      /** GIF format URL. */\n      gif?: string | null;\n      /** MP4 format URL. */\n      mp4?: string | null;\n      /** Thumbnail URL. */\n      still?: string | null;\n  }\n  interface HeadingData {\n      /** Heading level from 1-6. */\n      level?: number;\n      /** Styling for the heading text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n  }\n  interface HTMLData extends HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n      /** Styling for the HTML node's container. */\n      containerData?: PluginContainerData;\n      /** The type of HTML code. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface HTMLDataDataOneOf {\n      /** The URL for the HTML code for the node. */\n      url?: string;\n      /** The HTML code for the node. */\n      html?: string;\n      /**\n       * Whether this is an AdSense element. Use `source` instead.\n       * @deprecated\n       */\n      isAdsense?: boolean | null;\n  }\n  enum Source {\n      HTML = \"HTML\",\n      ADSENSE = \"ADSENSE\"\n  }\n  interface ImageData {\n      /** Styling for the image's container. */\n      containerData?: PluginContainerData;\n      /** Image file details. */\n      image?: Media;\n      /** Link details for images that are links. */\n      link?: Link;\n      /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n      disableExpand?: boolean | null;\n      /** Image's alternative text. */\n      altText?: string | null;\n      /**\n       * Deprecated: use Caption node instead.\n       * @deprecated\n       */\n      caption?: string | null;\n      /** Sets whether the image's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n  }\n  interface LinkPreviewData {\n      /** Styling for the link preview's container. */\n      containerData?: PluginContainerData;\n      /** Link details. */\n      link?: Link;\n      /** Preview title. */\n      title?: string | null;\n      /** Preview thumbnail URL. */\n      thumbnailUrl?: string | null;\n      /** Preview description. */\n      description?: string | null;\n      /** The preview content as HTML. */\n      html?: string | null;\n  }\n  interface MapData {\n      /** Styling for the map's container. */\n      containerData?: PluginContainerData;\n      /** Map settings. */\n      mapSettings?: MapSettings;\n  }\n  interface MapSettings {\n      /** The address to display on the map. */\n      address?: string | null;\n      /** Sets whether the map is draggable. */\n      draggable?: boolean | null;\n      /** Sets whether the location marker is visible. */\n      marker?: boolean | null;\n      /** Sets whether street view control is enabled. */\n      streetViewControl?: boolean | null;\n      /** Sets whether zoom control is enabled. */\n      zoomControl?: boolean | null;\n      /** Location latitude. */\n      lat?: number | null;\n      /** Location longitude. */\n      lng?: number | null;\n      /** Location name. */\n      locationName?: string | null;\n      /** Sets whether view mode control is enabled. */\n      viewModeControl?: boolean | null;\n      /** Initial zoom value. */\n      initialZoom?: number | null;\n      /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n      mapType?: MapType;\n  }\n  enum MapType {\n      /** Roadmap map type */\n      ROADMAP = \"ROADMAP\",\n      /** Satellite map type */\n      SATELITE = \"SATELITE\",\n      /** Hybrid map type */\n      HYBRID = \"HYBRID\",\n      /** Terrain map type */\n      TERRAIN = \"TERRAIN\"\n  }\n  interface ParagraphData {\n      /** Styling for the paragraph text. */\n      textStyle?: TextStyle;\n      /** Indentation level from 1-4. */\n      indentation?: number | null;\n      /** Paragraph level */\n      level?: number | null;\n  }\n  interface PollData {\n      /** Styling for the poll's container. */\n      containerData?: PluginContainerData;\n      /** Poll data. */\n      poll?: Poll;\n      /** Layout settings for the poll and voting options. */\n      layout?: PollDataLayout;\n      /** Styling for the poll and voting options. */\n      design?: Design;\n  }\n  enum ViewRole {\n      /** Only Poll creator can view the results */\n      CREATOR = \"CREATOR\",\n      /** Anyone who voted can see the results */\n      VOTERS = \"VOTERS\",\n      /** Anyone can see the results, even if one didn't vote */\n      EVERYONE = \"EVERYONE\"\n  }\n  enum VoteRole {\n      /** Logged in member */\n      SITE_MEMBERS = \"SITE_MEMBERS\",\n      /** Anyone */\n      ALL = \"ALL\"\n  }\n  interface Permissions {\n      /** Sets who can view the poll results. */\n      view?: ViewRole;\n      /** Sets who can vote. */\n      vote?: VoteRole;\n      /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n      allowMultipleVotes?: boolean | null;\n  }\n  interface Option {\n      /** Option ID. */\n      _id?: string | null;\n      /** Option title. */\n      title?: string | null;\n      /** The image displayed with the option. */\n      image?: Media;\n  }\n  interface Settings {\n      /** Permissions settings for voting. */\n      permissions?: Permissions;\n      /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n      showVoters?: boolean | null;\n      /** Sets whether the vote count is displayed. Defaults to `true`. */\n      showVotesCount?: boolean | null;\n  }\n  enum PollLayoutType {\n      /** List */\n      LIST = \"LIST\",\n      /** Grid */\n      GRID = \"GRID\"\n  }\n  enum PollLayoutDirection {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface PollLayout {\n      /** The layout for displaying the voting options. */\n      type?: PollLayoutType;\n      /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n      direction?: PollLayoutDirection;\n      /** Sets whether to display the main poll image. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  interface OptionLayout {\n      /** Sets whether to display option images. Defaults to `false`. */\n      enableImage?: boolean | null;\n  }\n  enum BackgroundType {\n      /** Color background type */\n      COLOR = \"COLOR\",\n      /** Image background type */\n      IMAGE = \"IMAGE\",\n      /** Gradiant background type */\n      GRADIENT = \"GRADIENT\"\n  }\n  interface Gradient {\n      /** The gradient angle in degrees. */\n      angle?: number | null;\n      /** The start color as a hexademical value. */\n      startColor?: string | null;\n      /** The end color as a hexademical value. */\n      lastColor?: string | null;\n  }\n  interface Background extends BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n      /** Background type. For each option, include the relevant details. */\n      type?: BackgroundType;\n  }\n  /** @oneof */\n  interface BackgroundBackgroundOneOf {\n      /** The background color as a hexademical value. */\n      color?: string | null;\n      /** An image to use for the background. */\n      image?: Media;\n      /** Details for a gradient background. */\n      gradient?: Gradient;\n  }\n  interface PollDesign {\n      /** Background styling. */\n      background?: Background;\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface OptionDesign {\n      /** Border radius in pixels. */\n      borderRadius?: number | null;\n  }\n  interface Poll {\n      /** Poll ID. */\n      _id?: string | null;\n      /** Poll title. */\n      title?: string | null;\n      /** Poll creator ID. */\n      creatorId?: string | null;\n      /** Main poll image. */\n      image?: Media;\n      /** Voting options. */\n      options?: Option[];\n      /** The poll's permissions and display settings. */\n      settings?: Settings;\n  }\n  interface PollDataLayout {\n      /** Poll layout settings. */\n      poll?: PollLayout;\n      /** Voting otpions layout settings. */\n      options?: OptionLayout;\n  }\n  interface Design {\n      /** Styling for the poll. */\n      poll?: PollDesign;\n      /** Styling for voting options. */\n      options?: OptionDesign;\n  }\n  interface TextData {\n      /** The text to apply decorations to. */\n      text?: string;\n      /** The decorations to apply. */\n      decorations?: Decoration[];\n  }\n  /** Adds appearence changes to text */\n  interface Decoration extends DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n      /** The type of decoration to apply. */\n      type?: DecorationType;\n  }\n  /** @oneof */\n  interface DecorationDataOneOf {\n      /** Data for an anchor link decoration. */\n      anchorData?: AnchorData;\n      /** Data for a color decoration. */\n      colorData?: ColorData;\n      /** Data for an external link decoration. */\n      linkData?: LinkData;\n      /** Data for a mention decoration. */\n      mentionData?: MentionData;\n      /** Data for a font size decoration. */\n      fontSizeData?: FontSizeData;\n      /** Font weight for a bold decoration. */\n      fontWeightValue?: number | null;\n      /** Data for an italic decoration. Defaults to `true`. */\n      italicData?: boolean | null;\n      /** Data for an underline decoration. Defaults to `true`. */\n      underlineData?: boolean | null;\n      /** Data for a spoiler decoration. */\n      spoilerData?: SpoilerData;\n  }\n  enum DecorationType {\n      BOLD = \"BOLD\",\n      ITALIC = \"ITALIC\",\n      UNDERLINE = \"UNDERLINE\",\n      SPOILER = \"SPOILER\",\n      ANCHOR = \"ANCHOR\",\n      MENTION = \"MENTION\",\n      LINK = \"LINK\",\n      COLOR = \"COLOR\",\n      FONT_SIZE = \"FONT_SIZE\",\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface AnchorData {\n      /** The target node's ID. */\n      anchor?: string;\n  }\n  interface ColorData {\n      /** The text's background color as a hexadecimal value. */\n      background?: string | null;\n      /** The text's foreground color as a hexadecimal value. */\n      foreground?: string | null;\n  }\n  interface LinkData {\n      /** Link details. */\n      link?: Link;\n  }\n  interface MentionData {\n      /** The mentioned user's name. */\n      name?: string;\n      /** The version of the user's name that appears after the `@` character in the mention. */\n      slug?: string;\n      /** Mentioned user's ID. */\n      _id?: string | null;\n  }\n  interface FontSizeData {\n      /** The units used for the font size. */\n      unit?: FontType;\n      /** Font size value. */\n      value?: number | null;\n  }\n  enum FontType {\n      PX = \"PX\",\n      EM = \"EM\"\n  }\n  interface SpoilerData {\n      /** Spoiler ID. */\n      _id?: string | null;\n  }\n  interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n      /** The type of Wix App content being embedded. */\n      type?: AppType;\n      /** The ID of the embedded content. */\n      itemId?: string | null;\n      /** The name of the embedded content. */\n      name?: string | null;\n      /**\n       * Deprecated: Use `image` instead.\n       * @deprecated\n       */\n      imageSrc?: string | null;\n      /** The URL for the embedded content. */\n      url?: string | null;\n      /** An image for the embedded content. */\n      image?: Media;\n  }\n  /** @oneof */\n  interface AppEmbedDataAppDataOneOf {\n      /** Data for embedded Wix Bookings content. */\n      bookingData?: BookingData;\n      /** Data for embedded Wix Events content. */\n      eventData?: EventData;\n  }\n  enum AppType {\n      PRODUCT = \"PRODUCT\",\n      EVENT = \"EVENT\",\n      BOOKING = \"BOOKING\"\n  }\n  interface BookingData {\n      /** Booking duration in minutes. */\n      durations?: string | null;\n  }\n  interface EventData {\n      /** Event schedule. */\n      scheduling?: string | null;\n      /** Event location. */\n      location?: string | null;\n  }\n  interface VideoData {\n      /** Styling for the video's container. */\n      containerData?: PluginContainerData;\n      /** Video details. */\n      video?: Media;\n      /** Video thumbnail details. */\n      thumbnail?: Media;\n      /** Sets whether the video's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Video title. */\n      title?: string | null;\n      /** Video options. */\n      options?: PlaybackOptions;\n  }\n  interface PlaybackOptions {\n      /** Sets whether the media will automatically start playing. */\n      autoPlay?: boolean | null;\n      /** Sets whether media's will be looped. */\n      playInLoop?: boolean | null;\n      /** Sets whether media's controls will be shown. */\n      showControls?: boolean | null;\n  }\n  interface EmbedData {\n      /** Styling for the oEmbed node's container. */\n      containerData?: PluginContainerData;\n      /** An [oEmbed](https://www.oembed.com) object. */\n      oembed?: Oembed;\n      /** Origin asset source. */\n      src?: string | null;\n  }\n  interface Oembed {\n      /** The resource type. */\n      type?: string | null;\n      /** The width of the resource specified in the `url` property in pixels. */\n      width?: number | null;\n      /** The height of the resource specified in the `url` property in pixels. */\n      height?: number | null;\n      /** Resource title. */\n      title?: string | null;\n      /** The source URL for the resource. */\n      url?: string | null;\n      /** HTML for embedding a video player. The HTML should have no padding or margins. */\n      html?: string | null;\n      /** The name of the author or owner of the resource. */\n      authorName?: string | null;\n      /** The URL for the author or owner of the resource. */\n      authorUrl?: string | null;\n      /** The name of the resource provider. */\n      providerName?: string | null;\n      /** The URL for the resource provider. */\n      providerUrl?: string | null;\n      /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n      thumbnailUrl?: string | null;\n      /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n      thumbnailWidth?: string | null;\n      /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n      thumbnailHeight?: string | null;\n      /** The URL for an embedded viedo. */\n      videoUrl?: string | null;\n      /** The oEmbed version number.  This value must be `1.0`. */\n      version?: string | null;\n  }\n  interface CollapsibleListData {\n      /** Styling for the collapsible list's container. */\n      containerData?: PluginContainerData;\n      /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n      expandOnlyOne?: boolean | null;\n      /** Sets which items are expanded when the page loads. */\n      initialExpandedItems?: InitialExpandedItems;\n      /** The direction of the text in the list. Either left-to-right or right-to-left. */\n      direction?: Direction;\n      /** If `true`, The collapsible item will appear in search results as an FAQ. */\n      isQapageData?: boolean | null;\n  }\n  enum InitialExpandedItems {\n      /** First item will be expended initally */\n      FIRST = \"FIRST\",\n      /** All items will expended initally */\n      ALL = \"ALL\",\n      /** All items collapsed initally */\n      NONE = \"NONE\"\n  }\n  enum Direction {\n      /** Left-to-right */\n      LTR = \"LTR\",\n      /** Right-to-left */\n      RTL = \"RTL\"\n  }\n  interface TableData {\n      /** Styling for the table's container. */\n      containerData?: PluginContainerData;\n      /** The table's dimensions. */\n      dimensions?: Dimensions;\n      /**\n       * Deprecated: Use `rowHeader` and `columnHeader` instead.\n       * @deprecated\n       */\n      header?: boolean | null;\n      /** Sets whether the table's first row is a header. Defaults to `false`. */\n      rowHeader?: boolean | null;\n      /** Sets whether the table's first column is a header. Defaults to `false`. */\n      columnHeader?: boolean | null;\n  }\n  interface Dimensions {\n      /** An array representing relative width of each column in relation to the other columns. */\n      colsWidthRatio?: number[];\n      /** An array representing the height of each row in pixels. */\n      rowsHeight?: number[];\n      /** An array representing the minimum width of each column in pixels. */\n      colsMinWidth?: number[];\n  }\n  interface TableCellData {\n      /** Styling for the cell's background color and text alignment. */\n      cellStyle?: CellStyle;\n      /** The cell's border colors. */\n      borderColors?: BorderColors;\n  }\n  enum VerticalAlignment {\n      /** Top alignment */\n      TOP = \"TOP\",\n      /** Middle alignment */\n      MIDDLE = \"MIDDLE\",\n      /** Bottom alignment */\n      BOTTOM = \"BOTTOM\"\n  }\n  interface CellStyle {\n      /** Vertical alignment for the cell's text. */\n      verticalAlignment?: VerticalAlignment;\n      /** Cell background color as a hexadecimal value. */\n      backgroundColor?: string | null;\n  }\n  interface BorderColors {\n      /** Left border color as a hexadecimal value. */\n      left?: string | null;\n      /** Right border color as a hexadecimal value. */\n      right?: string | null;\n      /** Top border color as a hexadecimal value. */\n      top?: string | null;\n      /** Bottom border color as a hexadecimal value. */\n      bottom?: string | null;\n  }\n  /**\n   * `NullValue` is a singleton enumeration to represent the null value for the\n   * `Value` type union.\n   *\n   * The JSON representation for `NullValue` is JSON `null`.\n   */\n  enum NullValue {\n      /** Null value. */\n      NULL_VALUE = \"NULL_VALUE\"\n  }\n  /**\n   * `ListValue` is a wrapper around a repeated field of values.\n   *\n   * The JSON representation for `ListValue` is JSON array.\n   */\n  interface ListValue {\n      /** Repeated field of dynamically typed values. */\n      values?: any[];\n  }\n  interface AudioData {\n      /** Styling for the audio node's container. */\n      containerData?: PluginContainerData;\n      /** Audio file details. */\n      audio?: Media;\n      /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n      disableDownload?: boolean | null;\n      /** Cover image. */\n      coverImage?: Media;\n      /** Track name. */\n      name?: string | null;\n      /** Author name. */\n      authorName?: string | null;\n      /** An HTML version of the audio node. */\n      html?: string | null;\n  }\n  interface OrderedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n      /** List start number. */\n      start?: number | null;\n  }\n  interface BulletedListData {\n      /** Indentation level from 0-4. */\n      indentation?: number;\n      /** Offset level from 0-4. */\n      offset?: number | null;\n  }\n  interface BlockquoteData {\n      /** Indentation level from 1-4. */\n      indentation?: number;\n  }\n  interface CaptionData {\n      textStyle?: TextStyle;\n  }\n  interface Metadata {\n      /** Schema version. */\n      version?: number;\n      /**\n       * When the object was created.\n       * @readonly\n       * @deprecated\n       */\n      createdTimestamp?: Date | null;\n      /**\n       * When the object was most recently updated.\n       * @deprecated\n       */\n      updatedTimestamp?: Date | null;\n      /** Object ID. */\n      _id?: string | null;\n  }\n  interface DocumentStyle {\n      /** Styling for H1 nodes. */\n      headerOne?: TextNodeStyle;\n      /** Styling for H2 nodes. */\n      headerTwo?: TextNodeStyle;\n      /** Styling for H3 nodes. */\n      headerThree?: TextNodeStyle;\n      /** Styling for H4 nodes. */\n      headerFour?: TextNodeStyle;\n      /** Styling for H5 nodes. */\n      headerFive?: TextNodeStyle;\n      /** Styling for H6 nodes. */\n      headerSix?: TextNodeStyle;\n      /** Styling for paragraph nodes. */\n      paragraph?: TextNodeStyle;\n      /** Styling for block quote nodes. */\n      blockquote?: TextNodeStyle;\n      /** Styling for code block nodes. */\n      codeBlock?: TextNodeStyle;\n  }\n  interface TextNodeStyle {\n      /** The decorations to apply to the node. */\n      decorations?: Decoration[];\n      /** Padding and background color for the node. */\n      nodeStyle?: NodeStyle;\n      /** Line height for text in the node. */\n      lineHeight?: string | null;\n  }\n  /** Attribute */\n  interface Attribute {\n      /** Attribute Name */\n      name?: string;\n      /** Attribute Value */\n      value?: string;\n  }\n  interface CheckContentResponse {\n      /** Rule violation details. */\n      violations?: Violation[];\n  }\n  interface Violation {\n      /** Rule ID. */\n      ruleId?: string;\n      /** Action to take. */\n      action?: Action;\n  }\n  interface SubmitContentCheckRequest {\n      /** Namespace */\n      namespace: string;\n      /** Content */\n      content: ModerationContent;\n      /** Unique identifier of the content entity being referenced. */\n      contentEntityId: string;\n      /** Identifies the specific revision of the content entity being referenced. */\n      contentRevision?: string | null;\n  }\n  interface SubmitContentCheckResponse {\n  }\n  /** ContentViolationReport encapsulates information about violations found in the content during a content check operation. */\n  interface ContentViolationReport {\n      /** Namespace */\n      namespace?: string;\n      /** Unique identifier of the content entity being referenced. */\n      contentEntityId?: string;\n      /** Violations */\n      violations?: Violation[];\n      /** Identifies the specific revision of the content entity being referenced. */\n      contentRevision?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a rule.\n   * You can create up to 20 rules per namespace.\n   * @param rule - Rule info.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField rule\n   * @requiredField rule.action\n   * @requiredField rule.audience\n   * @requiredField rule.namespace\n   * @requiredField rule.trigger\n   * @permissionId MODERATION.RULE_CREATE\n   * @adminMethod\n   * @returns Created rule.\n   */\n  function createRule(rule: Rule): Promise<Rule>;\n  /**\n   * Retrieves a rule by ID.\n   * @param ruleId - Rule ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ruleId\n   * @permissionId MODERATION.RULE_READ\n   * @adminMethod\n   * @returns Requested rule.\n   */\n  function getRule(ruleId: string): Promise<Rule>;\n  /**\n   * Updates a rule.\n   *\n   * Each time the rule is updated, revision increments by 1. The existing revision must be included when updating the rule. This ensures you're working with the latest rule and prevents unintended overwrites.\n   * @param _id - Rule ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField rule\n   * @requiredField rule.revision\n   * @permissionId MODERATION.RULE_UPDATE\n   * @adminMethod\n   * @returns Updated rule.\n   */\n  function updateRule(_id: string | null, rule: UpdateRule, options?: UpdateRuleOptions): Promise<Rule>;\n  interface UpdateRule {\n      /**\n       * Rule ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the rule is updated. To prevent conflicting changes, the existing revision must be used when updating a rule.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when the rule was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the rule was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** The app and entity which the rule belongs to. For example, `comments/{BLOG_APP_ID}`. */\n      namespace?: string;\n      /** Rule name. */\n      name?: string;\n      /** Audience to which the rule applies. */\n      audience?: Audience;\n      /**\n       * A condition that triggers the rule.\n       *\n       * **Note:** If you need to have several triggers for the same namespace, create separate rules.\n       */\n      trigger?: Trigger;\n      /** List of site members or groups to whom the rule doesn't apply. */\n      exemptions?: Exemptions;\n      /** What action should be taken after the rule is triggered. */\n      action?: Action;\n      /** Whether the rule is enabled. */\n      enabled?: boolean;\n      /**\n       * Custom field data for the rule object.\n       *\n       * **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdateRuleOptions {\n      /**\n       * Set of specific fields to update. Other fields not included in the object are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Permanently deletes a rule.\n   * @param ruleId - ID of the rule to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ruleId\n   * @permissionId MODERATION.RULE_DELETE\n   * @adminMethod\n   */\n  function deleteRule(ruleId: string): Promise<void>;\n  /**\n   * Retrieves a list of rules, given the provided paging, filtering, and sorting.\n   *\n   * - `createdDate` is sorted in `ASC` order\n   * - `paging.limit` is `100`\n   * - `paging.offset` is `0`\n   *\n   * Up to 1,000 rules can be returned per request.\n   *\n   * For field support for filters and sorting, see [Rules: Supported Filters and Sorting](https://dev.wix.com/docs/rest/crm/community/moderation-rules/filter-and-sort). To learn about working with *Query* endpoints, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MODERATION.RULE_READ\n   * @adminMethod\n   */\n  function queryRules(): RulesQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface RulesQueryResult extends QueryCursorResult {\n      items: Rule[];\n      query: RulesQueryBuilder;\n      next: () => Promise<RulesQueryResult>;\n      prev: () => Promise<RulesQueryResult>;\n  }\n  interface RulesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'namespace' | 'enabled', value: any) => RulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'namespace' | 'enabled', value: any) => RulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => RulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => RulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => RulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => RulesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_createdDate' | '_updatedDate', value: any[]) => RulesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'namespace', value: any) => RulesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_createdDate' | '_updatedDate', value: boolean) => RulesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate'>) => RulesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | '_updatedDate'>) => RulesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => RulesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => RulesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<RulesQueryResult>;\n  }\n  /**\n   * Checks the submitted content for any conditions that might trigger a rule, and then returns actions to take if the rule is triggered.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MODERATION.RULE_CHECK_CONTENT\n   * @adminMethod\n   */\n  function checkContent(options?: CheckContentOptions): Promise<CheckContentResponse>;\n  interface CheckContentOptions {\n      /** Namespace value. */\n      namespace?: string;\n      /** Content to check. */\n      content?: ModerationContent;\n  }\n  /**\n   * `SubmitContentCheck` initiates an asynchronous content check by queuing the provided content for processing.\n   * This method triggers the application of active rules to the provided content, asynchronously scanning it for conditions that might trigger a violation.\n   * Once the check is complete, it produces a ContentViolationReport event containing any violations found.\n   * This asynchronous approach allows for non-blocking processing, suitable for scenarios where immediate responses are not required.\n   * @param namespace - Namespace\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField namespace\n   * @requiredField options.content\n   * @requiredField options.contentEntityId\n   * @permissionId MODERATION.RULE_CHECK_CONTENT\n   * @adminMethod\n   */\n  function submitContentCheck(namespace: string, options?: SubmitContentCheckOptions): Promise<void>;\n  interface SubmitContentCheckOptions {\n      /** Content */\n      content: ModerationContent;\n      /** Unique identifier of the content entity being referenced. */\n      contentEntityId: string;\n      /** Identifies the specific revision of the content entity being referenced. */\n      contentRevision?: string | null;\n  }\n  \n  export { Action, ActionEvent, Alignment, AnchorData, AppEmbedData, AppEmbedDataAppDataOneOf, AppType, Attribute, Audience, AudienceOptionsOneOf, AudienceType, AudioData, Background, BackgroundBackgroundOneOf, BackgroundType, BlockquoteData, BookingData, Border, BorderColors, BulletedListData, ButtonData, ButtonDataType, CaptionData, CellStyle, CheckContentOptions, CheckContentRequest, CheckContentResponse, CodeBlockData, CollapsibleListData, ColorData, Colors, ContentFeatures, ContentViolationReport, CreateRuleRequest, CreateRuleResponse, Crop, CursorPaging, CursorPagingMetadata, CursorQuery, CursorQueryPagingMethodOneOf, Cursors, Decoration, DecorationDataOneOf, DecorationType, DeleteRuleRequest, DeleteRuleResponse, Design, Dimensions, Direction, DividerData, DocumentStyle, DomainEvent, DomainEventBodyOneOf, EmbedData, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EventData, Exemptions, ExtendedFields, FileData, FileSource, FileSourceDataOneOf, FontSizeData, FontType, GIF, GIFData, GalleryData, GalleryOptions, GetRuleRequest, GetRuleResponse, Gradient, HTMLData, HTMLDataDataOneOf, HeadingData, Height, IdentificationData, IdentificationDataIdOneOf, Image, ImageData, InitialExpandedItems, Item, ItemDataOneOf, ItemStyle, KeywordPresets, Layout, LayoutType, LineStyle, Link, LinkData, LinkDataOneOf, LinkPreviewData, ListValue, MapData, MapSettings, MapType, Media, MentionData, MessageEnvelope, Metadata, ModerationContent, ModerationContentContentOneOf, NewMembersOptions, Node, NodeDataOneOf, NodeStyle, NodeType, NullValue, Oembed, Option, OptionDesign, OptionLayout, OrderedListData, Orientation, PDFSettings, ParagraphData, Patterns, Permissions, PlaybackOptions, PluginContainerData, PluginContainerDataAlignment, PluginContainerDataWidth, PluginContainerDataWidthDataOneOf, Poll, PollData, PollDataLayout, PollDesign, PollLayout, PollLayoutDirection, PollLayoutType, Preset, QueryRulesRequest, QueryRulesResponse, Rel, RestoreInfo, RichContent, Rule, RulesQueryBuilder, RulesQueryResult, Settings, SortOrder, Sorting, Source, Spoiler, SpoilerData, Styles, SubmitContentCheckOptions, SubmitContentCheckRequest, SubmitContentCheckResponse, TableCellData, TableData, Target, TextAlignment, TextData, TextNodeStyle, TextStyle, Thumbnails, ThumbnailsAlignment, Trigger, TriggerAttribute, TriggerOptionsOneOf, TriggerType, Type, UpdateRule, UpdateRuleOptions, UpdateRuleRequest, UpdateRuleResponse, VerticalAlignment, Video, VideoData, ViewMode, ViewRole, Violation, VoteRole, WebhookIdentityType, Width, WidthType, checkContent, createRule, deleteRule, getRule, queryRules, submitContentCheck, updateRule };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-automations.v2.d.ts",
      "content": "declare module \"wix-automations.v2\" {\n  interface Activation {\n      /** Activation ID */\n      _id?: string;\n      /** Activation automation */\n      automation?: Automation$1;\n  }\n  interface Automation$1 extends AutomationOriginInfoOneOf$1 {\n      /** Application info */\n      applicationInfo?: ApplicationOrigin$1;\n      /** Preinstalled info */\n      preinstalledInfo?: PreinstalledOrigin$1;\n      /**\n       * Automation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the automation is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the automation.\n       *\n       * Ignored when creating an automation.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Information about the creator of the automation.\n       * @readonly\n       */\n      createdBy?: AuditInfo$1;\n      /**\n       * Date and time the automation was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * The entity that last updated the automation.\n       * @readonly\n       */\n      updatedBy?: AuditInfo$1;\n      /**\n       * Date and time the automation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Automation name that is displayed on the user's site. */\n      name?: string;\n      /** Automation description. */\n      description?: string | null;\n      /** Object that defines the automation's trigger, actions, and activation status. */\n      configuration?: AutomationConfiguration$1;\n      /** Defines how the automation was added to the site. */\n      origin?: Origin$1;\n      /** Automation settings. */\n      settings?: AutomationSettings$1;\n      /**\n       * Draft info (optional - only if the automation is a draft)\n       * @readonly\n       */\n      draftInfo?: DraftInfo$1;\n      /** Namespace */\n      namespace?: string | null;\n      /**\n       * Enrichments in use\n       * @internal\n       * @readonly\n       */\n      enrichments?: Enrichments$1;\n      /**\n       * Date and time the automation's draft was last updated.\n       * @internal\n       * @readonly\n       */\n      draftUpdatedDate?: Date | null;\n  }\n  /** @oneof */\n  interface AutomationOriginInfoOneOf$1 {\n      /** Application info */\n      applicationInfo?: ApplicationOrigin$1;\n      /** Preinstalled info */\n      preinstalledInfo?: PreinstalledOrigin$1;\n  }\n  interface ActionSettings$1 {\n      /**\n       * List of actions that cannot be deleted.\n       * Default: Empty. All actions are deletable by default.\n       */\n      permanentActionIds?: string[];\n      /**\n       * List of actions that cannot be edited.\n       * Default: Empty. All actions are editable by default.\n       */\n      readonlyActionIds?: string[];\n      /** Whether the option to add a delay is disabled for the automation. */\n      disableDelayAddition?: boolean;\n      /** Whether the option to add a condition is disabled for the automation. */\n      disableConditionAddition?: boolean;\n  }\n  enum Domain$1 {\n      /** User domain (default). */\n      USER = \"USER\",\n      /** Wix domain. */\n      WIX = \"WIX\"\n  }\n  interface Enrichment$1 {\n      /** Enrichment input mappings. */\n      inputMappings?: Record<string, any>[] | null;\n  }\n  interface AuditInfo$1 extends AuditInfoIdOneOf$1 {\n      /** User ID. */\n      userId?: string;\n      /** Application ID. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface AuditInfoIdOneOf$1 {\n      /** User ID. */\n      userId?: string;\n      /** Application ID. */\n      appId?: string;\n  }\n  /** Automation runtime configuration */\n  interface AutomationConfiguration$1 {\n      /** Status of the automation on the site. */\n      status?: AutomationConfigurationStatus;\n      /** Automation trigger configuration. */\n      trigger?: Trigger$1;\n      /** List of IDs of root actions. Root actions are the first actions to run after the trigger. The actions in the list run in parallel. */\n      rootActionIds?: string[];\n      /**\n       * Map of all actions that the automation may execute.\n       * The key is the action ID, and the value is the action configuration.\n       */\n      actions?: Record<string, AutomationConfigurationAction>;\n  }\n  enum TimeUnit$1 {\n      UNKNOWN_TIME_UNIT = \"UNKNOWN_TIME_UNIT\",\n      MINUTES = \"MINUTES\",\n      HOURS = \"HOURS\",\n      DAYS = \"DAYS\",\n      WEEKS = \"WEEKS\",\n      MONTHS = \"MONTHS\"\n  }\n  interface Filter$1 {\n      /** Filter ID. */\n      _id?: string;\n      /** Field key from the payload schema, for example \"formId\". */\n      fieldKey?: string;\n      /** Filter expression that evaluates to a boolean. */\n      filterExpression?: string;\n  }\n  interface FutureDateActivationOffset$1 {\n      /**\n       * The offset value. The value is always taken as negative, so that the automation runs before the trigger date.\n       * To create an offset that causes the automation to run after the trigger date, use a delay action.\n       */\n      preScheduledEventOffsetExpression?: string;\n      /** Time unit for the scheduled event offset. */\n      scheduledEventOffsetTimeUnit?: TimeUnit$1;\n  }\n  interface RateLimit$1 {\n      /** Value expressing the maximum number of times the trigger can be activated. */\n      maxActivationsExpression?: string;\n      /** Duration of the rate limiting window in the selected time unit. If no value is set, the rate limit is permanent. */\n      durationExpression?: string | null;\n      /** Time unit for the rate limit duration. */\n      durationTimeUnit?: TimeUnit$1;\n      /** Unique identifier of each activation, by which rate limiter will count activations. */\n      uniqueIdentifierExpression?: string | null;\n  }\n  interface ConditionExpressionGroup$1 {\n      /** Expression group operator. */\n      operator?: Operator$1;\n      /** List of boolean expressions to be evaluated with the given operator. */\n      booleanExpressions?: string[];\n  }\n  enum Operator$1 {\n      UNKNOWN_OPERATOR = \"UNKNOWN_OPERATOR\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  enum Type$1 {\n      /** Automation will be triggered according to the trigger configuration. */\n      UNKNOWN_ACTION_TYPE = \"UNKNOWN_ACTION_TYPE\",\n      /** App defined Action. */\n      APP_DEFINED = \"APP_DEFINED\",\n      /** Condition Action. */\n      CONDITION = \"CONDITION\",\n      /** Delay Action. */\n      DELAY = \"DELAY\",\n      /** RateLimit Action. */\n      RATE_LIMIT = \"RATE_LIMIT\",\n      /** Set Variables Action. */\n      SET_VARIABLES = \"SET_VARIABLES\",\n      /** Output Action. */\n      OUTPUT = \"OUTPUT\"\n  }\n  interface AppDefinedAction$1 {\n      /** ID of the app that defines the action. */\n      appId?: string;\n      /** Action key. */\n      actionKey?: string;\n      /** Action input mapping. */\n      inputMapping?: Record<string, any> | null;\n      /**\n       * Array of conditions determining whether to skip the action in the automation flow.\n       * The action will be skipped if any of the expression groups evaluate to `true`.\n       * Actions following a skipped action will still run.\n       */\n      skipConditionOrExpressionGroups?: ConditionExpressionGroup$1[];\n      /** List of IDs of actions to run in parallel once the action completes. */\n      postActionIds?: string[];\n  }\n  interface ConditionAction$1 {\n      /** The condition evaluates to `true` if either of the expression groups evaluate to `true`. */\n      orExpressionGroups?: ConditionExpressionGroup$1[];\n      /** List of IDs of actions to run when the entire condition is evaluated to `true`. */\n      truePostActionIds?: string[];\n      /** List of IDs of actions to run when the entire condition is evaluated to `false`. */\n      falsePostActionIds?: string[];\n  }\n  interface DelayAction$1 {\n      /** Value expressing the amount of time to wait from a specific date or from the time the action is executed. */\n      offsetExpression?: string | null;\n      /** Time unit for delay offset. */\n      offsetTimeUnit?: TimeUnit$1;\n      /**\n       * The action due date. If defined without an offset, the automation will wait until this date to execute the next step.\n       * If an offset is defined, it's calculated from this date.\n       * The date is expressed in the number of milliseconds since the Unix Epoch (1 January, 1970 UTC).\n       */\n      dueDateEpochExpression?: string | null;\n      /** List of IDs of actions to run in parallel after the delay. */\n      postActionIds?: string[];\n  }\n  interface RateLimitAction$1 {\n      /** The maximum number of activations allowed for the action. */\n      maxActivationsExpression?: string;\n      /**\n       * Duration of the rate limiting window, expressed in selected time unit.\n       * If no value is set, then there is no time limit on the rate limiter.\n       */\n      rateLimitDurationExpression?: string | null;\n      /** Time unit for the rate limit duration. */\n      rateLimitDurationTimeUnit?: TimeUnit$1;\n      /** Unique identifier of each activation by which rate limiter counts activations. */\n      uniqueIdentifierExpression?: string | null;\n      /** List of IDs of actions to run in parallel once the action completes. */\n      postActionIds?: string[];\n  }\n  interface SetVariablesAction$1 {\n      /**\n       * output mapping\n       * for example: {\"someField\": \"{{10}}\", \"someOtherField\": \"{{multiply( var('account.points.balance') ;2 )}}\" }\n       */\n      outputMapping?: Record<string, any> | null;\n      /**\n       * output json schema representation\n       * could be string instead of Struct (and introduce some compression to minimize the size of it)\n       */\n      outputSchema?: Record<string, any> | null;\n      /** List of IDs of actions to run in parallel after variable initialization. */\n      postActionIds?: string[];\n  }\n  interface OutputAction$1 {\n      /** Output action output mapping. */\n      outputMapping?: Record<string, any> | null;\n  }\n  enum AutomationConfigurationStatus {\n      /** unused */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Automation will be triggered according to the trigger configuration */\n      ACTIVE = \"ACTIVE\",\n      /** Automation will not be triggered */\n      INACTIVE = \"INACTIVE\"\n  }\n  interface Trigger$1 {\n      /** ID of the app that defines the trigger. */\n      appId?: string;\n      /** Trigger key. */\n      triggerKey?: string;\n      /**\n       * List of filters on schema fields.\n       * In order for the automation to run, all filter expressions must evaluate to `true` for a given payload.\n       */\n      filters?: Filter$1[];\n      /** Defines the time offset between the trigger date and when the automation runs. */\n      scheduledEventOffset?: FutureDateActivationOffset$1;\n      /** Limits the number of times an automation can be triggered. */\n      rateLimit?: RateLimit$1;\n      /**\n       * An optional configuration, per automation, of a schema that is optionally offered by the trigger provider to affect the behavior of the trigger.\n       * For example, a trigger provider may offer a schema that allows the user to configure the trigger to happen at a certain time of day,\n       * He would define a schema with a field called \"startDate\" and using this parameter the user can define his preferred startDate, per automation.\n       */\n      automationConfigMapping?: Record<string, any> | null;\n  }\n  interface AutomationConfigurationAction extends AutomationConfigurationActionInfoOneOf {\n      /** Action defined by an app (via RPC, HTTP or Velo). */\n      appDefinedInfo?: AppDefinedAction$1;\n      /** Condition action. */\n      conditionInfo?: ConditionAction$1;\n      /** Delay action. */\n      delayInfo?: DelayAction$1;\n      /** Rate-limiting action. */\n      rateLimitInfo?: RateLimitAction$1;\n      /**\n       * Set-variables action.\n       * @internal\n       */\n      setVariablesInfo?: SetVariablesAction$1;\n      /**\n       * Output action.\n       * @internal\n       */\n      outputInfo?: OutputAction$1;\n      /** Action ID. If not specified, a new ID is generated. */\n      _id?: string | null;\n      /** Action type. */\n      type?: Type$1;\n      /**\n       * Human-readable name to differentiate the action from other actions of the same type.\n       * The name can contain only alphanumeric characters and underscores. If not provided, a namespace in the form `actionkey-indexOfAction` is\n       * generated automatically.\n       * If the action has output, the output will be available in the payload under this name.\n       * If the user has multiple actions with the same appId and actionKey, previous action output will be overwritten.\n       */\n      namespace?: string | null;\n  }\n  /** @oneof */\n  interface AutomationConfigurationActionInfoOneOf {\n      /** Action defined by an app (via RPC, HTTP or Velo). */\n      appDefinedInfo?: AppDefinedAction$1;\n      /** Condition action. */\n      conditionInfo?: ConditionAction$1;\n      /** Delay action. */\n      delayInfo?: DelayAction$1;\n      /** Rate-limiting action. */\n      rateLimitInfo?: RateLimitAction$1;\n      /**\n       * Set-variables action.\n       * @internal\n       */\n      setVariablesInfo?: SetVariablesAction$1;\n      /**\n       * Output action.\n       * @internal\n       */\n      outputInfo?: OutputAction$1;\n  }\n  enum Origin$1 {\n      /** Default value. This is unused. */\n      UNKNOWN_ORIGIN = \"UNKNOWN_ORIGIN\",\n      /** User created automation. */\n      USER = \"USER\",\n      /** Automation created by application (site specific). */\n      APPLICATION = \"APPLICATION\",\n      /** Preinstalled application automation. */\n      PREINSTALLED = \"PREINSTALLED\",\n      /** Automation created from a recipe. */\n      RECIPE = \"RECIPE\"\n  }\n  interface ApplicationOrigin$1 {\n      /** Application ID. */\n      appId?: string;\n  }\n  interface PreinstalledOrigin$1 {\n      /** ID of the app that defines the preinstalled automation. */\n      appId?: string;\n      /** Application component ID. */\n      componentId?: string;\n      /** Application component version. */\n      componentVersion?: number;\n      /**\n       * Whether the automation is an override automation. If the user modifies the preinstalled automation installed on their site, a site-specific\n       * automation is created that overrides the original one. If the user makes no modifications this boolean is set to `false` and the original\n       * preinstalled automation is used.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      override?: boolean | null;\n  }\n  interface AutomationSettings$1 {\n      /**\n       * Whether the automation is hidden from users.\n       * Default: `false`\n       */\n      hidden?: boolean;\n      /**\n       * Whether the automation is read-only.\n       * Default: `false`\n       */\n      readonly?: boolean;\n      /**\n       * Whether the option to delete the automation from the site is disabled.\n       * Default: `false`\n       */\n      disableDelete?: boolean;\n      /**\n       * Whether the option to change the automation status (from active to inactive and vice versa) is disabled.\n       * Default: `false`\n       */\n      disableStatusChange?: boolean;\n      /** Automation action settings. */\n      actionSettings?: ActionSettings$1;\n      /**\n       * Domain\n       * @internal\n       */\n      domain?: Domain$1;\n  }\n  interface DraftInfo$1 {\n      /**\n       * Optional - automationId of the original automation.\n       * @readonly\n       */\n      originalAutomationId?: string | null;\n  }\n  interface Enrichments$1 {\n      /** Whether the studio site enrichment is wanted. */\n      studioSite?: Enrichment$1;\n  }\n  interface ActivationStatus {\n      /** Activation's ID. */\n      _id?: string;\n      /** Configuration's ID. */\n      configurationId?: string;\n      /** Configuration's Correlation ID. */\n      configurationCorrelationId?: string;\n      /** Activation's status. */\n      status?: Status$1;\n      /** Activation's error reason (if there is one). */\n      errorReason?: string | null;\n  }\n  enum Status$1 {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      STARTED = \"STARTED\",\n      ENDED = \"ENDED\",\n      ERROR = \"ERROR\",\n      SCHEDULED = \"SCHEDULED\",\n      FROM_SCHEDULER = \"FROM_SCHEDULER\",\n      RETRY = \"RETRY\",\n      RESUMED = \"RESUMED\",\n      PAUSED = \"PAUSED\",\n      ACTION_SKIPPED = \"ACTION_SKIPPED\"\n  }\n  interface ActivationStatusChanged extends ActivationStatusChangedStatusInfoOneOf {\n      /** Initiated status information */\n      initiatedInfo?: InitiatedStatusInfo;\n      /** Started status information */\n      startedInfo?: ActivationStatusChangedStartedStatusInfo;\n      /** Scheduled status information */\n      scheduledInfo?: ScheduledStatusInfo;\n      /** Cancelled status information */\n      cancelledInfo?: CancelledStatusInfo;\n      /** Failed status information */\n      failedInfo?: ActivationStatusChangedFailedStatusInfo;\n      /** Activation */\n      activation?: Activation;\n      /** Activation status */\n      status?: ActivationStatusChangedStatus;\n      /** Change event created date */\n      statusChangedDate?: Date | null;\n  }\n  /** @oneof */\n  interface ActivationStatusChangedStatusInfoOneOf {\n      /** Initiated status information */\n      initiatedInfo?: InitiatedStatusInfo;\n      /** Started status information */\n      startedInfo?: ActivationStatusChangedStartedStatusInfo;\n      /** Scheduled status information */\n      scheduledInfo?: ScheduledStatusInfo;\n      /** Cancelled status information */\n      cancelledInfo?: CancelledStatusInfo;\n      /** Failed status information */\n      failedInfo?: ActivationStatusChangedFailedStatusInfo;\n  }\n  enum Target {\n      UNKNOWN_TARGET = \"UNKNOWN_TARGET\",\n      SCHEDULE = \"SCHEDULE\",\n      IMMEDIATE = \"IMMEDIATE\"\n  }\n  enum CancellationReason {\n      UNKNOWN_CANCELLATION_REASON = \"UNKNOWN_CANCELLATION_REASON\",\n      /** Indicates that the activation was cancelled directly. */\n      EVENT_CANCELLED = \"EVENT_CANCELLED\",\n      /** Indicates that the activation was cancelled because the automation was deactivated. */\n      AUTOMATION_DEACTIVATED = \"AUTOMATION_DEACTIVATED\",\n      /** Indicates that the activation was cancelled because the automation was deleted. */\n      AUTOMATION_DELETED = \"AUTOMATION_DELETED\",\n      /** Indicates that the activation was cancelled after the automation schedule time was reached. */\n      CANCELLED_BY_REFRESH_PAYLOAD = \"CANCELLED_BY_REFRESH_PAYLOAD\"\n  }\n  interface Identity {\n      /** User ID */\n      userId?: string | null;\n      /** App ID */\n      appId?: string | null;\n  }\n  enum ActivationStatusChangedStatus {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Indicates that activation has not started yet and no actions have been executed. */\n      INITIATED = \"INITIATED\",\n      /** Activation is in scheduled status when the automation has a future date or debounce defined and we're in the waiting stage and no actions have been executed. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Indicates the automation activation has started and is currently in progress. */\n      STARTED = \"STARTED\",\n      /** Indicates all the automation actions were handled either by invoking them, skipping them, etc. */\n      ENDED = \"ENDED\",\n      /** Indicates the activation was cancelled. */\n      CANCELLED = \"CANCELLED\",\n      /**\n       * Indicates the activation failed to start.\n       * Note that failure in the activation of a single action will not result in a failure in activation of the entire automation.\n       */\n      FAILED = \"FAILED\"\n  }\n  interface InitiatedStatusInfo {\n      /** Activation target */\n      target?: Target;\n      /** Event payload */\n      payload?: Record<string, any> | null;\n      /** External entity ID */\n      externalEntityId?: string | null;\n      /** Unique identifier for the request that initiated the automation */\n      requestId?: string;\n  }\n  interface ActivationStatusChangedStartedStatusInfo {\n      /** Enriched and refreshed payload */\n      payload?: Record<string, any> | null;\n  }\n  interface ScheduledStatusInfo {\n      /** Schedule identifier */\n      scheduleId?: string;\n      /** Indicates when the activation should start */\n      date?: Date | null;\n  }\n  interface CancelledStatusInfo {\n      /** Cancellation reason */\n      reason?: CancellationReason;\n      /** Identity (such as user, app, etc.) that caused the cancellation. */\n      initiator?: Identity;\n  }\n  interface ActivationStatusChangedFailedStatusInfo {\n      /**\n       * Error description\n       * @readonly\n       */\n      errorDescription?: string;\n      /**\n       * Error code\n       * @readonly\n       */\n      errorCode?: string | null;\n  }\n  interface ScheduleRequest {\n      schedule: Schedule;\n  }\n  interface Schedule {\n      /** @readonly */\n      _id?: string | null;\n      /** doesn't have to be unique. example: triggerName+entityId */\n      identifier?: string;\n      configurationCorrelationId?: string;\n      activationId?: string;\n      scheduledAction?: ScheduledAction;\n      /** Raw domain event, not enriched */\n      eventPayload?: string;\n      /** @readonly */\n      scheduleStatus?: ScheduleStatus;\n      /** @readonly */\n      scheduleDate?: Date | null;\n      /** @readonly */\n      _createdDate?: Date | null;\n      /** @readonly */\n      _updatedDate?: Date | null;\n      overrideable?: boolean | null;\n      triggerInfo?: TriggerInfo;\n      automation?: Automation$1;\n  }\n  interface ScheduledAction {\n      /** Action's id. */\n      _id?: string;\n      /** decide how long we should wait */\n      delay?: Delay;\n  }\n  interface Delay extends DelayOfOneOf {\n      simple?: SimpleDelay;\n      /**\n       * jsonata expression - sleep until the given date\n       * for example: $toMillis(MyObject.Date) + 2*1000*60*60*24) -> will schedule 2 days after MyObject.Date\n       */\n      dateExpression?: string;\n  }\n  /** @oneof */\n  interface DelayOfOneOf {\n      simple?: SimpleDelay;\n      /**\n       * jsonata expression - sleep until the given date\n       * for example: $toMillis(MyObject.Date) + 2*1000*60*60*24) -> will schedule 2 days after MyObject.Date\n       */\n      dateExpression?: string;\n  }\n  interface SimpleDelay {\n      value?: number;\n      units?: Units;\n      /** Optional, used if provided: Jsonata expression that evaluates to a number of milliseconds to wait */\n      delayExpression?: string | null;\n  }\n  enum Units {\n      UNKNOWN = \"UNKNOWN\",\n      MINUTES = \"MINUTES\",\n      HOURS = \"HOURS\",\n      DAYS = \"DAYS\"\n  }\n  enum ScheduleStatus {\n      UNKNOWN_SCHEDULE_STATUS = \"UNKNOWN_SCHEDULE_STATUS\",\n      PENDING = \"PENDING\",\n      CANCELLED = \"CANCELLED\",\n      DONE = \"DONE\"\n  }\n  interface TriggerInfo {\n      /** App id of the initial trigger. */\n      appId?: string;\n      /** Trigger key of the initial trigger. */\n      triggerKey?: string;\n  }\n  interface ScheduleResponse {\n      _id?: string;\n  }\n  interface CancelPendingScheduleRequest extends CancelPendingScheduleRequestByOneOf {\n      _id?: string;\n      identifier?: string;\n      configurationCorrelationId?: string;\n      activationId?: string;\n      identifierPattern?: string;\n  }\n  /** @oneof */\n  interface CancelPendingScheduleRequestByOneOf {\n      _id?: string;\n      identifier?: string;\n      configurationCorrelationId?: string;\n      activationId?: string;\n      identifierPattern?: string;\n  }\n  interface CancelPendingScheduleResponse {\n  }\n  interface UpdatePendingSchedulesPayloadRequest {\n      identifier?: string;\n      eventPayload?: string;\n  }\n  interface UpdatePendingSchedulesPayloadResponse {\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ActivationRequest {\n      /** Activation's ID. */\n      activationId?: string;\n      /** Configuration's ID. */\n      configurationId?: string;\n      configurationCorrelationId?: string;\n      /** Received event name. */\n      eventName?: string;\n      /** Received event slug. */\n      eventSlug?: string | null;\n      /** Received event payload. */\n      eventPayload?: string | null;\n      /** List of action data. */\n      actions?: ActionData[];\n      /** External ID. */\n      externalId?: string;\n      /** The source of this activation */\n      source?: ActivationSource;\n      /** Actions tree */\n      actionsMap?: ActionsData;\n      /** Automation V2. Used for reporting domain event until activation request will be deprecated. */\n      automation?: Automation$1;\n      /** Trigger entity for the activation, available for v2 and v3 automations only */\n      triggerSchema?: Record<string, any> | null;\n  }\n  interface Runtime {\n  }\n  interface Scheduler {\n      scheduleId?: string | null;\n  }\n  interface AsyncAction {\n  }\n  interface ActionData {\n      /**\n       * Action's id.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Action's data. */\n      action?: Action$1;\n  }\n  interface Action$1 extends ActionActionOneOf {\n      service?: Service;\n      systemHelper?: SystemHelper;\n      spiAction?: SpiAction;\n  }\n  /** @oneof */\n  interface ActionActionOneOf {\n      service?: Service;\n      systemHelper?: SystemHelper;\n      spiAction?: SpiAction;\n  }\n  interface ServiceMapping {\n      /** Sevice name. */\n      name?: string;\n      /** Method name. */\n      method?: string;\n  }\n  interface IfFilter {\n      /** If filter's condition. */\n      condition?: string;\n      /** If's true post actions. */\n      truePostActions?: ActionData[];\n      /** If's false post actions. */\n      falsePostActions?: ActionData[];\n      /** If's true post actions ids. */\n      truePostActionsIds?: string[];\n      /** If's false post actions ids. */\n      falsePostActionsIds?: string[];\n  }\n  interface SwitchFilter {\n      /** Switch's filter cases. */\n      cases?: Case[];\n  }\n  interface Case {\n      /** Case's condition. */\n      condition?: any;\n      /** Case's post actions. */\n      postActions?: ActionData[];\n      /** Case's post actions ids. */\n      postActionsIds?: string[];\n  }\n  interface DelayHelper {\n      /** jsonata expression, for example: triggerName + eventId */\n      scheduleIdentifier?: string;\n      /** decide how long we should wait */\n      delay?: Delay;\n      /** Delay's post actions. */\n      postActions?: ActionData[];\n      /**\n       * Optional: if true, any new schedule with the same schedule identifier will override the existing one.\n       * If false, the new schedule will be ignored.\n       */\n      overrideable?: boolean | null;\n      /** Delay's post actions ids. */\n      postActionsIds?: string[];\n  }\n  interface RateLimiting {\n      /** The maximum number of activations allowed in the given time frame */\n      maxNumOfActivations?: number;\n      /** Optional, used if provided: A jsonata expression that evaluates to the maximum number of activations allowed in the given time frame */\n      maxNumOfActivationsExpression?: string | null;\n      /** If given - the time frame in minutes, otherwise, for life */\n      timeFrameInMinutes?: number | null;\n      /** Optional, used if provided - A jsonata expression that evaluates to the time frame in minutes, otherwise, for life */\n      timeFrameInMinutesExpression?: string | null;\n      /** The jsonata to use to extract the entity/resource key from the enriched event payload */\n      keyJsonata?: string;\n      /** The actions to perform if this rate limiting action succeeded - meaning we are still in the allowed number of activations in the given time frame */\n      postActions?: ActionData[];\n      /** The ids of actions to perform if this rate limiting action succeeded - meaning we are still in the allowed number of activations in the given time frame */\n      postActionsIds?: string[];\n  }\n  interface ConditionFilter {\n      /** condition evaluates to `true` if either of the blocks evaluate to `true` (aka OR between all). */\n      conditionBlocks?: ConditionBlock[];\n      /** Actions to perform when condition_blocks evaluates to `true`. */\n      postActions?: ActionData[];\n      /** Action's post actions ids. */\n      postActionsIds?: string[];\n      /** Actions to perform when condition_blocks evaluates to `false`. */\n      elsePostActions?: ActionData[];\n  }\n  enum BlockType {\n      UNKNOWN = \"UNKNOWN\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  interface ConditionBlock {\n      type?: BlockType;\n      lineExpressions?: string[];\n  }\n  interface Output {\n      /** The jsonata to use to produce the output */\n      outputMapping?: string;\n  }\n  interface SetVariables {\n      /**\n       * Action's output mapping.\n       * Jsonata expressions to set variables\n       * for example: { \"var1\": \"$average([10,20])\", \"var2\": \"$number($lookup($, $decodeUrlComponent(\\\"var1\\\"))) >= $number(8)\"\" }\n       */\n      outputMapping?: string;\n      /** Action's post actions. */\n      postActions?: ActionData[];\n      /** Action's post actions ids. */\n      postActionsIds?: string[];\n      /** The namespace of the action */\n      namespace?: string | null;\n  }\n  interface Service {\n      /** Action's service mapping. */\n      serviceMapping?: ServiceMapping;\n      /**\n       * Action's input mapping.\n       * Jsonata description of the input this service gets.\n       */\n      inputMapping?: string | null;\n      /**\n       * Action's output mapping.\n       * Jsonata description of the output this service returns.\n       */\n      outputMapping?: string | null;\n      /** Action's post actions. */\n      postActions?: ActionData[];\n      /** Action's post actions ids. */\n      postActionsIds?: string[];\n      /** The namespace of the action */\n      namespace?: string | null;\n  }\n  interface SystemHelper extends SystemHelperHelperOneOf {\n      ifFilter?: IfFilter;\n      switchFilter?: SwitchFilter;\n      delay?: DelayHelper;\n      rateLimiting?: RateLimiting;\n      conditionFilter?: ConditionFilter;\n      output?: Output;\n      setVariables?: SetVariables;\n  }\n  /** @oneof */\n  interface SystemHelperHelperOneOf {\n      ifFilter?: IfFilter;\n      switchFilter?: SwitchFilter;\n      delay?: DelayHelper;\n      rateLimiting?: RateLimiting;\n      conditionFilter?: ConditionFilter;\n      output?: Output;\n      setVariables?: SetVariables;\n  }\n  interface SpiAction {\n      /** The App Def Id of the action provider */\n      appDefId?: string;\n      /** Identifier for this action - human readable action key - unique per app def id */\n      actionKey?: string;\n      /** The configuration of the user for this action, can include params that are taken from the trigger event payload */\n      userActionConfig?: string | null;\n      /** The post action to execute after this action */\n      postActions?: ActionData[];\n      /** The output configuration of the user for this action, can include params that are taken from the trigger event payload */\n      userOutputActionConfig?: string | null;\n      /**\n       * optional skip condition expression for current action\n       * decides whether to skip the action before executing it's post actions\n       */\n      skipConditionExpression?: string | null;\n      /** Action's post actions ids. */\n      postActionsIds?: string[];\n      /** The namespace of the action */\n      namespace?: string | null;\n  }\n  interface ActivationSource extends ActivationSourceOfOneOf {\n      runtime?: Runtime;\n      scheduler?: Scheduler;\n      asyncAction?: AsyncAction;\n  }\n  /** @oneof */\n  interface ActivationSourceOfOneOf {\n      runtime?: Runtime;\n      scheduler?: Scheduler;\n      asyncAction?: AsyncAction;\n  }\n  interface ActionsData {\n      /** Ids of the first level actions. */\n      rootActionIds?: string[];\n      /** Map of action id to action data. */\n      actions?: Record<string, Action$1>;\n  }\n  interface ActionStatus {\n      /** Action's status. */\n      _id?: string;\n      /** Activation's ID. */\n      activationId?: string;\n      /** Action's name. */\n      actionName?: string | null;\n      /** Action's status. */\n      status?: Status$1;\n      /** Action's error reason (if there is one). */\n      errorReason?: string | null;\n      /** Activation external id. */\n      activationExternalId?: string;\n      /** Trigger app id. */\n      triggerAppId?: string | null;\n      /** Trigger key. */\n      triggerKey?: string | null;\n      /** The configuration correlation id */\n      configurationCorrelationId?: string | null;\n  }\n  interface BatchActivationRequest {\n      /** List of Activation-Request. */\n      activationRequests?: ActivationRequest[];\n      /**\n       * Time of the Batch-Activation-Request creation: used for crm monitoring migration only\n       * @internal\n       */\n      creationDate?: Date | null;\n  }\n  interface Empty$1 {\n  }\n  interface ActivationActionStatusChanged extends ActivationActionStatusChangedInfoOneOf, ActivationActionStatusChangedStatusInfoOneOf {\n      /** App defined action info */\n      appDefinedInfo?: ActivationActionStatusChangedAppDefinedActionInfo;\n      /** Started status information */\n      startedInfo?: StartedStatusInfo;\n      /** Ended status information */\n      endedInfo?: EndedStatusInfo;\n      /** Failed status information */\n      failedInfo?: FailedStatusInfo;\n      /** Action ID */\n      _id?: string;\n      /** Activation ID */\n      activationId?: string;\n      /** Automation info */\n      automationInfo?: AutomationInfo;\n      /** Action type */\n      type?: Type$1;\n      /** External entity ID */\n      externalEntityId?: string | null;\n      /** Event date */\n      statusChangedDate?: Date | null;\n      /** Action activation status */\n      status?: ActivationActionStatusChangedStatus;\n  }\n  /** @oneof */\n  interface ActivationActionStatusChangedInfoOneOf {\n      /** App defined action info */\n      appDefinedInfo?: ActivationActionStatusChangedAppDefinedActionInfo;\n  }\n  /** @oneof */\n  interface ActivationActionStatusChangedStatusInfoOneOf {\n      /** Started status information */\n      startedInfo?: StartedStatusInfo;\n      /** Ended status information */\n      endedInfo?: EndedStatusInfo;\n      /** Failed status information */\n      failedInfo?: FailedStatusInfo;\n  }\n  interface StartedStatusInfoAppDefinedActionInfo {\n      /** Action input */\n      input?: Record<string, any> | null;\n  }\n  interface DelayActionInfo {\n      /** Indicates when this action becomes completed and the activation will move to the post actions */\n      date?: Date | null;\n  }\n  interface ExpressionEvaluationResult {\n      /** Indicates if the expression was evaluated to true or false */\n      passed?: boolean;\n      /** Indicates if there was an error in the evaluation process */\n      error?: boolean;\n  }\n  interface AppDefinedActionInfo {\n      /** Output returned by the action implementer. */\n      output?: Record<string, any> | null;\n  }\n  interface ConditionActionInfo {\n      /** Indicates that the condition `if` clause evaluated to `true`. */\n      passed?: boolean;\n      /** Collects results per each expression evaluation that took place */\n      expressionResults?: Record<string, ExpressionEvaluationResult>;\n  }\n  interface RateLimitActionInfo {\n      /** Indicates if the rate limiter passed (not reached the quota) */\n      passed?: boolean;\n  }\n  interface EndedStatusInfoDelayActionInfo {\n      /** Enriched and refreshed payload */\n      payload?: Record<string, any> | null;\n  }\n  interface SetVariablesActionInfo {\n      /** Output returned after jsonata expression evaluation */\n      output?: Record<string, any> | null;\n  }\n  interface AutomationInfo extends AutomationInfoOriginInfoOneOf {\n      /** Application info */\n      applicationInfo?: ApplicationOrigin$1;\n      /** Preinstalled info */\n      preinstalledInfo?: PreinstalledOrigin$1;\n      /** Automation ID */\n      _id?: string;\n      /** Origin type */\n      origin?: Origin$1;\n      /** Trigger info */\n      triggerInfo?: AutomationInfoTriggerInfo;\n  }\n  /** @oneof */\n  interface AutomationInfoOriginInfoOneOf {\n      /** Application info */\n      applicationInfo?: ApplicationOrigin$1;\n      /** Preinstalled info */\n      preinstalledInfo?: PreinstalledOrigin$1;\n  }\n  interface AutomationInfoTriggerInfo {\n      /** Trigger app ID */\n      appId?: string;\n      /** Trigger key */\n      triggerKey?: string;\n  }\n  interface ActivationActionStatusChangedAppDefinedActionInfo {\n      /** Action app ID */\n      appId?: string;\n      /** Action key */\n      actionKey?: string;\n  }\n  enum ActivationActionStatusChangedStatus {\n      UNKNOWN_ACTION_ACTIVATION_STATUS = \"UNKNOWN_ACTION_ACTIVATION_STATUS\",\n      /**\n       * Indicates that action activation has started and is in progress.\n       * Relevant to action types: APP_DEFINED, DELAY.\n       */\n      STARTED = \"STARTED\",\n      /**\n       * Indicates that the action activation was completed without errors.\n       * Relevant to action types: APP_DEFINED, DELAY, CONDITION, RATE_LIMIT.\n       */\n      ENDED = \"ENDED\",\n      /**\n       * Indicates that the action was skipped and post actions won't start.\n       * Relevant to action types: APP_DEFINED.\n       */\n      SKIPPED = \"SKIPPED\",\n      /**\n       * Indicates that the action failed.\n       * Relevant to action types: APP_DEFINED, DELAY, RATE_LIMIT.\n       */\n      FAILED = \"FAILED\"\n  }\n  interface StartedStatusInfo extends StartedStatusInfoTypeInfoOneOf {\n      /** APP DEFINED action additional info */\n      appDefinedActionInfo?: StartedStatusInfoAppDefinedActionInfo;\n      /** Delay action additional info */\n      delayActionInfo?: DelayActionInfo;\n  }\n  /** @oneof */\n  interface StartedStatusInfoTypeInfoOneOf {\n      /** APP DEFINED action additional info */\n      appDefinedActionInfo?: StartedStatusInfoAppDefinedActionInfo;\n      /** Delay action additional info */\n      delayActionInfo?: DelayActionInfo;\n  }\n  interface EndedStatusInfo extends EndedStatusInfoTypeInfoOneOf {\n      /** APP DEFINED action additional info */\n      appDefinedActionInfo?: AppDefinedActionInfo;\n      /** Condition action additional info */\n      conditionActionInfo?: ConditionActionInfo;\n      /** Rate limit action additional info */\n      rateLimitActionInfo?: RateLimitActionInfo;\n      /** Delay action additional info */\n      delayActionInfo?: EndedStatusInfoDelayActionInfo;\n      /** Set Variables action additional info */\n      setVariablesActionInfo?: SetVariablesActionInfo;\n  }\n  /** @oneof */\n  interface EndedStatusInfoTypeInfoOneOf {\n      /** APP DEFINED action additional info */\n      appDefinedActionInfo?: AppDefinedActionInfo;\n      /** Condition action additional info */\n      conditionActionInfo?: ConditionActionInfo;\n      /** Rate limit action additional info */\n      rateLimitActionInfo?: RateLimitActionInfo;\n      /** Delay action additional info */\n      delayActionInfo?: EndedStatusInfoDelayActionInfo;\n      /** Set Variables action additional info */\n      setVariablesActionInfo?: SetVariablesActionInfo;\n  }\n  interface FailedStatusInfo {\n      /** Error description */\n      errorDescription?: string;\n      /** Error code */\n      errorCode?: string | null;\n  }\n  interface ActivationResumeAfterDelay {\n      /** Activation identifier */\n      _id?: string;\n      /** Activation schedule identifier */\n      scheduleId?: string;\n      /** Activation schedule due date */\n      scheduleDate?: Date | null;\n      /** Activation payload */\n      payload?: Record<string, any> | null;\n      /** Activation Automation */\n      automation?: Automation$1;\n      /** Scheduled action identifier - with the intent to execute that action's post actions */\n      scheduledActionId?: string;\n      /** Optional - external entity id that this activation is related to */\n      externalEntityId?: string | null;\n  }\n  interface ActionCompletedRequest {\n      /** The execution identifier that was given to the spi provider when we invoked the action */\n      executionIdentifier: string;\n      /** The result of invoking the action. Must conform to the output schema configured by the action provider. */\n      result?: Record<string, any> | null;\n  }\n  interface RefreshPayloadRequest {\n      /** Application definition ID. */\n      appDefId?: string;\n      /** Trigger key. */\n      triggerKey?: string;\n      /** Payload to refresh. */\n      payload?: Record<string, any> | null;\n      /** External entity ID. */\n      externalEntityId?: string | null;\n  }\n  interface RefreshPayloadResponse {\n      /** Updated payload. */\n      payload?: Record<string, any> | null;\n      /** If the automation activation should be canceled (default is false) */\n      cancelActivation?: boolean | null;\n  }\n  interface RunAutomationRequest {\n      /** App of the automation trigger */\n      appId?: string;\n      /** Trigger key of the action */\n      triggerKey?: string;\n      /** Payload of the triggered event */\n      triggerPayload?: Record<string, any> | null;\n      /** Specific automation id to run */\n      automationId?: string;\n      /** Schema of the trigger */\n      triggerSchema?: Record<string, any> | null;\n  }\n  interface RunAutomationResponse {\n      /** Automation activation output payload */\n      output?: Record<string, any> | null;\n  }\n  interface ActivationScheduleRequested {\n      /** Activation identifier */\n      _id?: string;\n      /** Activation schedule request date */\n      requestedDate?: Date | null;\n      /** Activation schedule due date */\n      scheduleDate?: Date | null;\n      /** Activation payload */\n      payload?: Record<string, any> | null;\n      /** Activation Automation */\n      automation?: Automation$1;\n      /** Optional - external entity id that this activation is related to */\n      externalEntityId?: string | null;\n  }\n  interface ScheduleActivationRequested {\n      /** Activation identifier */\n      _id?: string;\n      /** Optional - external entity id that this activation is related to */\n      externalEntityId?: string | null;\n      /** Activation payload */\n      payload?: Record<string, any> | null;\n      /** Activation Automation */\n      automation?: Automation$1;\n      /** Activation schedule date */\n      scheduleDate?: Date | null;\n  }\n  interface ActivationContinuedAfterSchedule {\n      /** Activation identifier */\n      _id?: string;\n      /** Activation Automation */\n      automation?: Automation$1;\n  }\n  interface ReportEventRequest {\n      /**\n       * Trigger key as defined in your app's trigger configuration\n       * in the app dashboard.\n       * For example, `form_submitted` or `invoice_due`.\n       */\n      triggerKey: string;\n      /**\n       * Event payload, formatted as key:value pairs.\n       * Must comply with the payload schema\n       * if you provided one when configuring your trigger.\n       *\n       * Key names can include only alphanumeric characters or underscores\n       * (`A-Z`, `a-z`, `0-9`, `_`).\n       * They cannot start with an underscore.\n       *\n       * Values can be strings, numbers, integers, booleans, or arrays.\n       * If a value is an array, the array items must be objects,\n       * and nested object properties must be\n       * strings, numbers, integers, or booleans only.\n       */\n      payload?: Record<string, any> | null;\n      /**\n       * ID of the related resource in GUID format.\n       * For example, `fc81a355-3429-50fc-a4c7-def486e828f3`.\n       *\n       * Required if your app needs to\n       * [cancel the event](https://dev.wix.com/docs/sdk/backend-modules/automations/triggered-events/cancel-event)\n       * if the automation becomes no longer relevant.\n       *\n       * Typically, this ID is defined in your system,\n       * but you can also use any Wix resource GUID,\n       * such as contact ID, member ID, or invoice ID.\n       * See\n       * [Choose the right `externalEntityId`](https://dev.wix.com/docs/rest/business-management/automations/triggered-events/reporting-and-canceling-events#about-canceling-events)\n       * for more information.\n       */\n      externalEntityId?: string | null;\n      /** Idempotency information for the event */\n      idempotency?: Idempotency;\n  }\n  interface Idempotency {\n      /**\n       * A unique identifier for the event.\n       * If you send the same idempotency key in multiple report event requests, for the same trigger key and app id,\n       * consecutive requests will be ignored after the first one. Note that the idempotency key is kept for a week before it expires.\n       */\n      key?: string;\n      /** Optional. The time to live (TTL) in milliseconds before the key will expire. Default is a week. */\n      ttlInMilliseconds?: string | null;\n  }\n  interface ReportEventResponse {\n      /** The activation IDs of triggered ReportEvents. */\n      activationIds?: string[];\n  }\n  interface BulkReportEventRequest {\n      /**\n       * Trigger key as defined in your app's trigger configuration\n       * in the app dashboard.\n       * For example, `form_submitted` or `invoice_due`.\n       */\n      triggerKey: string;\n      /** Repeated list of event details for bulk reporting */\n      eventsInfo: EventInfo[];\n  }\n  interface EventInfo {\n      /**\n       * Event payload, formatted as key:value pairs.\n       * Must comply with the payload schema\n       * if you provided one when configuring your trigger.\n       */\n      payload?: Record<string, any> | null;\n      /** ID of the related resource in GUID format. */\n      externalEntityId?: string | null;\n      /** Idempotency information for the event */\n      idempotency?: Idempotency;\n  }\n  interface BulkReportEventResponse {\n      /** Trigger key associated with the event */\n      triggerKey?: string;\n      /** List of results for each item in the bulk report event request */\n      results?: BulkReportEventResult[];\n      /** Metadata for the overall bulk action, including success and failure counts */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkReportEventResult {\n      /** Metadata for the individual item in the request */\n      itemMetadata?: ItemMetadata$1;\n      /** Event details for the item in the request */\n      eventInfo?: EventInfo;\n      /** The activation IDs of triggered ReportEvents. */\n      activationIds?: string[];\n  }\n  interface ItemMetadata$1 {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError$1;\n  }\n  interface ApplicationError$1 {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata$1 {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkCancelEventRequest {\n      /**\n       * Trigger key whose events you want to cancel.\n       * For example, `form_submitted` or `invoice_due`.\n       */\n      triggerKey: string;\n      /** Repeated list of external_entity_id, representing the related resources' IDs */\n      externalEntityIds: string[];\n  }\n  interface BulkCancelEventResponse {\n      /** Trigger key related to the cancelled event */\n      triggerKey?: string;\n      /** List of results for each item in the bulk cancel event request */\n      results?: BulkCancelEventResult[];\n      /** Metadata for the overall bulk action, including success and failure counts */\n      bulkActionMetadata?: BulkActionMetadata$1;\n  }\n  interface BulkCancelEventResult {\n      /** Metadata of the item, including its ID and success or failure status */\n      itemMetadata?: ItemMetadata$1;\n      /** ID of the related resource in GUID format */\n      externalEntityId?: string;\n  }\n  interface CancelEventRequest {\n      /**\n       * ID of the related resource in GUID format.\n       * For example, `fc81a355-3429-50fc-a4c7-def486e828f3`.\n       *\n       * Typically, this ID is defined in your system,\n       * but you can also use any Wix resource GUID,\n       * such as contact ID, member ID, or invoice ID.\n       * See\n       * [Choose the right `externalEntityId`](https://dev.wix.com/docs/rest/business-management/automations/triggered-events/reporting-and-canceling-events#choose-the-right-externalentityid)\n       * for more information.\n       */\n      externalEntityId: string;\n      /**\n       * Trigger key whose event you want to cancel.\n       * For example, `form_submitted` or `invoice_due`.\n       */\n      triggerKey: string;\n  }\n  interface CancelEventResponse {\n  }\n  interface V1RunAutomationRequest extends V1RunAutomationRequestIdentifierOneOf {\n      /** a preinstalled automation identifier */\n      preinstalledIdentifier?: PreinstalledIdentifier;\n      /** a automation of any type identifier that will be available in future */\n      automationIdentifier?: AutomationIdentifier;\n      /** identifier MUST be either AUTOMATION or PREINSTALLED */\n      identifierType: IdentifierType;\n      /**\n       * Event payload, formatted as key:value pairs.\n       * Must comply with the payload schema\n       * if you provided one when configuring your trigger.\n       *\n       * Key names can include only alphanumeric characters or underscores\n       * (`A-Z`, `a-z`, `0-9`, `_`).\n       * They cannot start with an underscore.\n       *\n       * Values can be strings, numbers, integers, booleans, or arrays.\n       * If a value is an array, the array items must be objects,\n       * and nested object properties must be\n       * strings, numbers, integers, or booleans only.\n       */\n      payload: Record<string, any> | null;\n  }\n  /** @oneof */\n  interface V1RunAutomationRequestIdentifierOneOf {\n      /** a preinstalled automation identifier */\n      preinstalledIdentifier?: PreinstalledIdentifier;\n      /** a automation of any type identifier that will be available in future */\n      automationIdentifier?: AutomationIdentifier;\n  }\n  enum IdentifierType {\n      UNKNOWN_IDENTIFIER = \"UNKNOWN_IDENTIFIER\",\n      PREINSTALLED = \"PREINSTALLED\",\n      AUTOMATION = \"AUTOMATION\"\n  }\n  interface PreinstalledIdentifier {\n      /** identifier for the application of the preinstalled */\n      appId?: string;\n      /** application component id */\n      componentId?: string;\n  }\n  interface AutomationIdentifier {\n      /** automation id */\n      automationId?: string;\n  }\n  interface V1RunAutomationResponse {\n  }\n  interface ReportDomainEventRequest {\n      /** trigger app id */\n      triggerAppId: string;\n      /** report event request */\n      reportEventRequest: ReportEventRequest;\n  }\n  interface ReportDomainEventResponse {\n  }\n  interface ExecuteFromActionRequest {\n      /** Requested action id */\n      actionId?: string;\n      /** Optional: an activation id to link this action to */\n      activationId?: string | null;\n      /** Activation payload */\n      payload?: Record<string, any> | null;\n      /** Configuration correlation id to run this action from */\n      configurationCorrelationId?: string;\n      /** Optional - schedule id that this action was scheduled from */\n      scheduleId?: string | null;\n      /** Optional - an external entity id that this execution is related to */\n      externalEntityId?: string | null;\n      /** Optional - Activation automation */\n      automation?: Automation$1;\n  }\n  interface ExecuteFromActionResponse {\n  }\n  interface ActivationScheduleCompleted {\n      /** Activation identifier */\n      _id?: string;\n      /** Activation schedule identifier */\n      scheduleId?: string;\n      /** Activation schedule due date */\n      scheduleDate?: Date | null;\n      /** Activation payload */\n      payload?: Record<string, any> | null;\n      /** Activation Automation */\n      automation?: Automation$1;\n      /** Optional - external entity id that this activation is related to */\n      externalEntityId?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField schedule\n   * @requiredField schedule.scheduledAction\n   * @permissionId ESB.SCHEDULER_MANAGE\n   * @adminMethod\n   */\n  function schedule(schedule: Schedule): Promise<ScheduleResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId ESB.SCHEDULER_MANAGE\n   * @adminMethod\n   */\n  function cancelPendingSchedule(options?: CancelPendingScheduleOptions): Promise<void>;\n  interface CancelPendingScheduleOptions extends CancelPendingScheduleRequestByOneOf {\n      _id?: string;\n      identifier?: string;\n      configurationCorrelationId?: string;\n      activationId?: string;\n      identifierPattern?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId ESB.SCHEDULER_MANAGE\n   * @adminMethod\n   */\n  function updatePendingSchedulesPayload(options?: UpdatePendingSchedulesPayloadOptions): Promise<void>;\n  interface UpdatePendingSchedulesPayloadOptions {\n      identifier?: string;\n      eventPayload?: string;\n  }\n  /** @param executionIdentifier - The execution identifier that was given to the spi provider when we invoked the action\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField executionIdentifier\n   * @permissionId ESB_RUNTIME.ACTION_COMPLETED\n   * @adminMethod\n   */\n  function actionCompleted(executionIdentifier: string, options?: ActionCompletedOptions): Promise<void>;\n  interface ActionCompletedOptions {\n      /** The result of invoking the action. Must conform to the output schema configured by the action provider. */\n      result?: Record<string, any> | null;\n  }\n  /**\n   * Reports an event and activates site automations with the specified trigger key.\n   *\n   *\n   * Only the app that created a trigger can report events for it.\n   * This means other apps can't report events for your triggers,\n   * and you can't report events for another app's triggers.\n   *\n   * If your app supports canceling events,\n   * `externalEntityId` must be provided.\n   * `externalEntityId` is required when calling [cancelEvent()](#cancel-event).\n   * @param triggerKey - Trigger key as defined in your app's trigger configuration\n   * in the app dashboard.\n   * For example, `form_submitted` or `invoice_due`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField triggerKey\n   * @permissionId AUTOMATIONS.REPORT_EVENT\n   * @adminMethod\n   */\n  function reportEvent(triggerKey: string, options?: ReportEventOptions): Promise<ReportEventResponse>;\n  interface ReportEventOptions {\n      /**\n       * Event payload, formatted as key:value pairs.\n       * Must comply with the payload schema\n       * if you provided one when configuring your trigger.\n       *\n       * Key names can include only alphanumeric characters or underscores\n       * (`A-Z`, `a-z`, `0-9`, `_`).\n       * They cannot start with an underscore.\n       *\n       * Values can be strings, numbers, integers, booleans, or arrays.\n       * If a value is an array, the array items must be objects,\n       * and nested object properties must be\n       * strings, numbers, integers, or booleans only.\n       */\n      payload?: Record<string, any> | null;\n      /**\n       * ID of the related resource in GUID format.\n       * For example, `fc81a355-3429-50fc-a4c7-def486e828f3`.\n       *\n       * Required if your app needs to\n       * [cancel the event](https://dev.wix.com/docs/sdk/backend-modules/automations/triggered-events/cancel-event)\n       * if the automation becomes no longer relevant.\n       *\n       * Typically, this ID is defined in your system,\n       * but you can also use any Wix resource GUID,\n       * such as contact ID, member ID, or invoice ID.\n       * See\n       * [Choose the right `externalEntityId`](https://dev.wix.com/docs/rest/business-management/automations/triggered-events/reporting-and-canceling-events#about-canceling-events)\n       * for more information.\n       */\n      externalEntityId?: string | null;\n      /** Idempotency information for the event */\n      idempotency?: Idempotency;\n  }\n  /**\n   * Bulk reports events and activates site automations with the specified trigger key.\n   * @param triggerKey - Trigger key as defined in your app's trigger configuration\n   * in the app dashboard.\n   * For example, `form_submitted` or `invoice_due`.\n   * @param eventsInfo - Repeated list of event details for bulk reporting\n   * @public\n   * @documentationMaturity preview\n   * @requiredField eventsInfo\n   * @requiredField triggerKey\n   * @permissionId AUTOMATIONS.REPORT_EVENT\n   * @adminMethod\n   */\n  function bulkReportEvent(triggerKey: string, eventsInfo: EventInfo[]): Promise<BulkReportEventResponse>;\n  /**\n   * Bulk cancels any remaining actions for a trigger and external entities.\n   * @param triggerKey - Trigger key whose events you want to cancel.\n   * For example, `form_submitted` or `invoice_due`.\n   * @param externalEntityIds - Repeated list of external_entity_id, representing the related resources' IDs\n   * @public\n   * @documentationMaturity preview\n   * @requiredField externalEntityIds\n   * @requiredField triggerKey\n   * @permissionId AUTOMATIONS.CANCEL_EVENT\n   * @adminMethod\n   */\n  function bulkCancelEvent(triggerKey: string, externalEntityIds: string[]): Promise<BulkCancelEventResponse>;\n  /**\n   * Cancels any remaining actions for a trigger and external entity.\n   *\n   *\n   * Events are not cancelable by default.\n   * To make an event cancelable,\n   * you must first pass an `externalEntityId`\n   * and the applicable `triggerKey` to [reportEvent()](#report-event).\n   * When you call cancelEvent() with the same `externalEntityId` and `triggerKey`,\n   * the event is canceled,\n   * as are all other events that share the `externalEntityId` and `triggerKey`.\n   * @param triggerKey - Trigger key whose event you want to cancel.\n   * For example, `form_submitted` or `invoice_due`.\n   * @param externalEntityId - ID of the related resource in GUID format.\n   * For example, `fc81a355-3429-50fc-a4c7-def486e828f3`.\n   *\n   * Typically, this ID is defined in your system,\n   * but you can also use any Wix resource GUID,\n   * such as contact ID, member ID, or invoice ID.\n   * See\n   * [Choose the right `externalEntityId`](https://dev.wix.com/docs/rest/business-management/automations/triggered-events/reporting-and-canceling-events#choose-the-right-externalentityid)\n   * for more information.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField externalEntityId\n   * @requiredField triggerKey\n   * @permissionId AUTOMATIONS.CANCEL_EVENT\n   * @adminMethod\n   */\n  function cancelEvent(triggerKey: string, externalEntityId: string): Promise<void>;\n  /**\n   * Runs an automation manually.\n   *\n   * This gives a user the ability to trigger the automation manually,\n   * without requiring an event to be reported to start the automation.\n   * As an example,\n   * consider an automation that sends a confirmation for a hotel booking when a user submits a reservation online.\n   * However, if the user calls the hotel directly to make the reservation, the automation isn't triggered.\n   * The site owner needs a way to send the automated confirmation without the user making an online booking.\n   * Run Automation provides this functionality.\n   *\n   *\n   * <blockquote class=\"important\">\n   * __Permissions__\n   * This endpoint requires the Manage Your App\n   * [permission scope](https://devforum.wix.com/en/article/available-permissions).\n   * </blockquote>\n   * @param identifierType - identifier MUST be either AUTOMATION or PREINSTALLED\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifierType\n   * @requiredField options.payload\n   * @permissionId AUTOMATIONS.REPORT_EVENT\n   * @adminMethod\n   */\n  function esbConfigResolverRunAutomation(identifierType: IdentifierType, options?: EsbConfigResolverRunAutomationOptions): Promise<void>;\n  interface EsbConfigResolverRunAutomationOptions extends V1RunAutomationRequestIdentifierOneOf {\n      /** a preinstalled automation identifier */\n      preinstalledIdentifier?: PreinstalledIdentifier;\n      /** a automation of any type identifier that will be available in future */\n      automationIdentifier?: AutomationIdentifier;\n      /**\n       * Event payload, formatted as key:value pairs.\n       * Must comply with the payload schema\n       * if you provided one when configuring your trigger.\n       *\n       * Key names can include only alphanumeric characters or underscores\n       * (`A-Z`, `a-z`, `0-9`, `_`).\n       * They cannot start with an underscore.\n       *\n       * Values can be strings, numbers, integers, booleans, or arrays.\n       * If a value is an array, the array items must be objects,\n       * and nested object properties must be\n       * strings, numbers, integers, or booleans only.\n       */\n      payload: Record<string, any> | null;\n  }\n  /**\n   * Report domain event\n   * @param triggerAppId - trigger app id\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.reportEventRequest\n   * @requiredField options.reportEventRequest.triggerKey\n   * @requiredField triggerAppId\n   * @permissionId AUTOMATIONS.DOMAIN_EVENT_FRAMEWORK\n   * @adminMethod\n   */\n  function reportDomainEvent(triggerAppId: string, options: ReportDomainEventOptions): Promise<void>;\n  interface ReportDomainEventOptions {\n      /** report event request */\n      reportEventRequest: ReportEventRequest;\n  }\n  \n  type automationsV2Activation_universal_d_Activation = Activation;\n  type automationsV2Activation_universal_d_AutomationConfigurationStatus = AutomationConfigurationStatus;\n  const automationsV2Activation_universal_d_AutomationConfigurationStatus: typeof AutomationConfigurationStatus;\n  type automationsV2Activation_universal_d_AutomationConfigurationAction = AutomationConfigurationAction;\n  type automationsV2Activation_universal_d_AutomationConfigurationActionInfoOneOf = AutomationConfigurationActionInfoOneOf;\n  type automationsV2Activation_universal_d_ActivationStatus = ActivationStatus;\n  type automationsV2Activation_universal_d_ActivationStatusChanged = ActivationStatusChanged;\n  type automationsV2Activation_universal_d_ActivationStatusChangedStatusInfoOneOf = ActivationStatusChangedStatusInfoOneOf;\n  type automationsV2Activation_universal_d_Target = Target;\n  const automationsV2Activation_universal_d_Target: typeof Target;\n  type automationsV2Activation_universal_d_CancellationReason = CancellationReason;\n  const automationsV2Activation_universal_d_CancellationReason: typeof CancellationReason;\n  type automationsV2Activation_universal_d_Identity = Identity;\n  type automationsV2Activation_universal_d_ActivationStatusChangedStatus = ActivationStatusChangedStatus;\n  const automationsV2Activation_universal_d_ActivationStatusChangedStatus: typeof ActivationStatusChangedStatus;\n  type automationsV2Activation_universal_d_InitiatedStatusInfo = InitiatedStatusInfo;\n  type automationsV2Activation_universal_d_ActivationStatusChangedStartedStatusInfo = ActivationStatusChangedStartedStatusInfo;\n  type automationsV2Activation_universal_d_ScheduledStatusInfo = ScheduledStatusInfo;\n  type automationsV2Activation_universal_d_CancelledStatusInfo = CancelledStatusInfo;\n  type automationsV2Activation_universal_d_ActivationStatusChangedFailedStatusInfo = ActivationStatusChangedFailedStatusInfo;\n  type automationsV2Activation_universal_d_ScheduleRequest = ScheduleRequest;\n  type automationsV2Activation_universal_d_Schedule = Schedule;\n  type automationsV2Activation_universal_d_ScheduledAction = ScheduledAction;\n  type automationsV2Activation_universal_d_Delay = Delay;\n  type automationsV2Activation_universal_d_DelayOfOneOf = DelayOfOneOf;\n  type automationsV2Activation_universal_d_SimpleDelay = SimpleDelay;\n  type automationsV2Activation_universal_d_Units = Units;\n  const automationsV2Activation_universal_d_Units: typeof Units;\n  type automationsV2Activation_universal_d_ScheduleStatus = ScheduleStatus;\n  const automationsV2Activation_universal_d_ScheduleStatus: typeof ScheduleStatus;\n  type automationsV2Activation_universal_d_TriggerInfo = TriggerInfo;\n  type automationsV2Activation_universal_d_ScheduleResponse = ScheduleResponse;\n  type automationsV2Activation_universal_d_CancelPendingScheduleRequest = CancelPendingScheduleRequest;\n  type automationsV2Activation_universal_d_CancelPendingScheduleRequestByOneOf = CancelPendingScheduleRequestByOneOf;\n  type automationsV2Activation_universal_d_CancelPendingScheduleResponse = CancelPendingScheduleResponse;\n  type automationsV2Activation_universal_d_UpdatePendingSchedulesPayloadRequest = UpdatePendingSchedulesPayloadRequest;\n  type automationsV2Activation_universal_d_UpdatePendingSchedulesPayloadResponse = UpdatePendingSchedulesPayloadResponse;\n  type automationsV2Activation_universal_d_ActivationRequest = ActivationRequest;\n  type automationsV2Activation_universal_d_Runtime = Runtime;\n  type automationsV2Activation_universal_d_Scheduler = Scheduler;\n  type automationsV2Activation_universal_d_AsyncAction = AsyncAction;\n  type automationsV2Activation_universal_d_ActionData = ActionData;\n  type automationsV2Activation_universal_d_ActionActionOneOf = ActionActionOneOf;\n  type automationsV2Activation_universal_d_ServiceMapping = ServiceMapping;\n  type automationsV2Activation_universal_d_IfFilter = IfFilter;\n  type automationsV2Activation_universal_d_SwitchFilter = SwitchFilter;\n  type automationsV2Activation_universal_d_Case = Case;\n  type automationsV2Activation_universal_d_DelayHelper = DelayHelper;\n  type automationsV2Activation_universal_d_RateLimiting = RateLimiting;\n  type automationsV2Activation_universal_d_ConditionFilter = ConditionFilter;\n  type automationsV2Activation_universal_d_BlockType = BlockType;\n  const automationsV2Activation_universal_d_BlockType: typeof BlockType;\n  type automationsV2Activation_universal_d_ConditionBlock = ConditionBlock;\n  type automationsV2Activation_universal_d_Output = Output;\n  type automationsV2Activation_universal_d_SetVariables = SetVariables;\n  type automationsV2Activation_universal_d_Service = Service;\n  type automationsV2Activation_universal_d_SystemHelper = SystemHelper;\n  type automationsV2Activation_universal_d_SystemHelperHelperOneOf = SystemHelperHelperOneOf;\n  type automationsV2Activation_universal_d_SpiAction = SpiAction;\n  type automationsV2Activation_universal_d_ActivationSource = ActivationSource;\n  type automationsV2Activation_universal_d_ActivationSourceOfOneOf = ActivationSourceOfOneOf;\n  type automationsV2Activation_universal_d_ActionsData = ActionsData;\n  type automationsV2Activation_universal_d_ActionStatus = ActionStatus;\n  type automationsV2Activation_universal_d_BatchActivationRequest = BatchActivationRequest;\n  type automationsV2Activation_universal_d_ActivationActionStatusChanged = ActivationActionStatusChanged;\n  type automationsV2Activation_universal_d_ActivationActionStatusChangedInfoOneOf = ActivationActionStatusChangedInfoOneOf;\n  type automationsV2Activation_universal_d_ActivationActionStatusChangedStatusInfoOneOf = ActivationActionStatusChangedStatusInfoOneOf;\n  type automationsV2Activation_universal_d_StartedStatusInfoAppDefinedActionInfo = StartedStatusInfoAppDefinedActionInfo;\n  type automationsV2Activation_universal_d_DelayActionInfo = DelayActionInfo;\n  type automationsV2Activation_universal_d_ExpressionEvaluationResult = ExpressionEvaluationResult;\n  type automationsV2Activation_universal_d_AppDefinedActionInfo = AppDefinedActionInfo;\n  type automationsV2Activation_universal_d_ConditionActionInfo = ConditionActionInfo;\n  type automationsV2Activation_universal_d_RateLimitActionInfo = RateLimitActionInfo;\n  type automationsV2Activation_universal_d_EndedStatusInfoDelayActionInfo = EndedStatusInfoDelayActionInfo;\n  type automationsV2Activation_universal_d_SetVariablesActionInfo = SetVariablesActionInfo;\n  type automationsV2Activation_universal_d_AutomationInfo = AutomationInfo;\n  type automationsV2Activation_universal_d_AutomationInfoOriginInfoOneOf = AutomationInfoOriginInfoOneOf;\n  type automationsV2Activation_universal_d_AutomationInfoTriggerInfo = AutomationInfoTriggerInfo;\n  type automationsV2Activation_universal_d_ActivationActionStatusChangedAppDefinedActionInfo = ActivationActionStatusChangedAppDefinedActionInfo;\n  type automationsV2Activation_universal_d_ActivationActionStatusChangedStatus = ActivationActionStatusChangedStatus;\n  const automationsV2Activation_universal_d_ActivationActionStatusChangedStatus: typeof ActivationActionStatusChangedStatus;\n  type automationsV2Activation_universal_d_StartedStatusInfo = StartedStatusInfo;\n  type automationsV2Activation_universal_d_StartedStatusInfoTypeInfoOneOf = StartedStatusInfoTypeInfoOneOf;\n  type automationsV2Activation_universal_d_EndedStatusInfo = EndedStatusInfo;\n  type automationsV2Activation_universal_d_EndedStatusInfoTypeInfoOneOf = EndedStatusInfoTypeInfoOneOf;\n  type automationsV2Activation_universal_d_FailedStatusInfo = FailedStatusInfo;\n  type automationsV2Activation_universal_d_ActivationResumeAfterDelay = ActivationResumeAfterDelay;\n  type automationsV2Activation_universal_d_ActionCompletedRequest = ActionCompletedRequest;\n  type automationsV2Activation_universal_d_RefreshPayloadRequest = RefreshPayloadRequest;\n  type automationsV2Activation_universal_d_RefreshPayloadResponse = RefreshPayloadResponse;\n  type automationsV2Activation_universal_d_RunAutomationRequest = RunAutomationRequest;\n  type automationsV2Activation_universal_d_RunAutomationResponse = RunAutomationResponse;\n  type automationsV2Activation_universal_d_ActivationScheduleRequested = ActivationScheduleRequested;\n  type automationsV2Activation_universal_d_ScheduleActivationRequested = ScheduleActivationRequested;\n  type automationsV2Activation_universal_d_ActivationContinuedAfterSchedule = ActivationContinuedAfterSchedule;\n  type automationsV2Activation_universal_d_ReportEventRequest = ReportEventRequest;\n  type automationsV2Activation_universal_d_Idempotency = Idempotency;\n  type automationsV2Activation_universal_d_ReportEventResponse = ReportEventResponse;\n  type automationsV2Activation_universal_d_BulkReportEventRequest = BulkReportEventRequest;\n  type automationsV2Activation_universal_d_EventInfo = EventInfo;\n  type automationsV2Activation_universal_d_BulkReportEventResponse = BulkReportEventResponse;\n  type automationsV2Activation_universal_d_BulkReportEventResult = BulkReportEventResult;\n  type automationsV2Activation_universal_d_BulkCancelEventRequest = BulkCancelEventRequest;\n  type automationsV2Activation_universal_d_BulkCancelEventResponse = BulkCancelEventResponse;\n  type automationsV2Activation_universal_d_BulkCancelEventResult = BulkCancelEventResult;\n  type automationsV2Activation_universal_d_CancelEventRequest = CancelEventRequest;\n  type automationsV2Activation_universal_d_CancelEventResponse = CancelEventResponse;\n  type automationsV2Activation_universal_d_V1RunAutomationRequest = V1RunAutomationRequest;\n  type automationsV2Activation_universal_d_V1RunAutomationRequestIdentifierOneOf = V1RunAutomationRequestIdentifierOneOf;\n  type automationsV2Activation_universal_d_IdentifierType = IdentifierType;\n  const automationsV2Activation_universal_d_IdentifierType: typeof IdentifierType;\n  type automationsV2Activation_universal_d_PreinstalledIdentifier = PreinstalledIdentifier;\n  type automationsV2Activation_universal_d_AutomationIdentifier = AutomationIdentifier;\n  type automationsV2Activation_universal_d_V1RunAutomationResponse = V1RunAutomationResponse;\n  type automationsV2Activation_universal_d_ReportDomainEventRequest = ReportDomainEventRequest;\n  type automationsV2Activation_universal_d_ReportDomainEventResponse = ReportDomainEventResponse;\n  type automationsV2Activation_universal_d_ExecuteFromActionRequest = ExecuteFromActionRequest;\n  type automationsV2Activation_universal_d_ExecuteFromActionResponse = ExecuteFromActionResponse;\n  type automationsV2Activation_universal_d_ActivationScheduleCompleted = ActivationScheduleCompleted;\n  const automationsV2Activation_universal_d_schedule: typeof schedule;\n  const automationsV2Activation_universal_d_cancelPendingSchedule: typeof cancelPendingSchedule;\n  type automationsV2Activation_universal_d_CancelPendingScheduleOptions = CancelPendingScheduleOptions;\n  const automationsV2Activation_universal_d_updatePendingSchedulesPayload: typeof updatePendingSchedulesPayload;\n  type automationsV2Activation_universal_d_UpdatePendingSchedulesPayloadOptions = UpdatePendingSchedulesPayloadOptions;\n  const automationsV2Activation_universal_d_actionCompleted: typeof actionCompleted;\n  type automationsV2Activation_universal_d_ActionCompletedOptions = ActionCompletedOptions;\n  const automationsV2Activation_universal_d_reportEvent: typeof reportEvent;\n  type automationsV2Activation_universal_d_ReportEventOptions = ReportEventOptions;\n  const automationsV2Activation_universal_d_bulkReportEvent: typeof bulkReportEvent;\n  const automationsV2Activation_universal_d_bulkCancelEvent: typeof bulkCancelEvent;\n  const automationsV2Activation_universal_d_cancelEvent: typeof cancelEvent;\n  const automationsV2Activation_universal_d_esbConfigResolverRunAutomation: typeof esbConfigResolverRunAutomation;\n  type automationsV2Activation_universal_d_EsbConfigResolverRunAutomationOptions = EsbConfigResolverRunAutomationOptions;\n  const automationsV2Activation_universal_d_reportDomainEvent: typeof reportDomainEvent;\n  type automationsV2Activation_universal_d_ReportDomainEventOptions = ReportDomainEventOptions;\n  namespace automationsV2Activation_universal_d {\n    export {\n      automationsV2Activation_universal_d_Activation as Activation,\n      Automation$1 as Automation,\n      AutomationOriginInfoOneOf$1 as AutomationOriginInfoOneOf,\n      ActionSettings$1 as ActionSettings,\n      Domain$1 as Domain,\n      Enrichment$1 as Enrichment,\n      AuditInfo$1 as AuditInfo,\n      AuditInfoIdOneOf$1 as AuditInfoIdOneOf,\n      AutomationConfiguration$1 as AutomationConfiguration,\n      TimeUnit$1 as TimeUnit,\n      Filter$1 as Filter,\n      FutureDateActivationOffset$1 as FutureDateActivationOffset,\n      RateLimit$1 as RateLimit,\n      ConditionExpressionGroup$1 as ConditionExpressionGroup,\n      Operator$1 as Operator,\n      Type$1 as Type,\n      AppDefinedAction$1 as AppDefinedAction,\n      ConditionAction$1 as ConditionAction,\n      DelayAction$1 as DelayAction,\n      RateLimitAction$1 as RateLimitAction,\n      SetVariablesAction$1 as SetVariablesAction,\n      OutputAction$1 as OutputAction,\n      automationsV2Activation_universal_d_AutomationConfigurationStatus as AutomationConfigurationStatus,\n      Trigger$1 as Trigger,\n      automationsV2Activation_universal_d_AutomationConfigurationAction as AutomationConfigurationAction,\n      automationsV2Activation_universal_d_AutomationConfigurationActionInfoOneOf as AutomationConfigurationActionInfoOneOf,\n      Origin$1 as Origin,\n      ApplicationOrigin$1 as ApplicationOrigin,\n      PreinstalledOrigin$1 as PreinstalledOrigin,\n      AutomationSettings$1 as AutomationSettings,\n      DraftInfo$1 as DraftInfo,\n      Enrichments$1 as Enrichments,\n      automationsV2Activation_universal_d_ActivationStatus as ActivationStatus,\n      Status$1 as Status,\n      automationsV2Activation_universal_d_ActivationStatusChanged as ActivationStatusChanged,\n      automationsV2Activation_universal_d_ActivationStatusChangedStatusInfoOneOf as ActivationStatusChangedStatusInfoOneOf,\n      automationsV2Activation_universal_d_Target as Target,\n      automationsV2Activation_universal_d_CancellationReason as CancellationReason,\n      automationsV2Activation_universal_d_Identity as Identity,\n      automationsV2Activation_universal_d_ActivationStatusChangedStatus as ActivationStatusChangedStatus,\n      automationsV2Activation_universal_d_InitiatedStatusInfo as InitiatedStatusInfo,\n      automationsV2Activation_universal_d_ActivationStatusChangedStartedStatusInfo as ActivationStatusChangedStartedStatusInfo,\n      automationsV2Activation_universal_d_ScheduledStatusInfo as ScheduledStatusInfo,\n      automationsV2Activation_universal_d_CancelledStatusInfo as CancelledStatusInfo,\n      automationsV2Activation_universal_d_ActivationStatusChangedFailedStatusInfo as ActivationStatusChangedFailedStatusInfo,\n      automationsV2Activation_universal_d_ScheduleRequest as ScheduleRequest,\n      automationsV2Activation_universal_d_Schedule as Schedule,\n      automationsV2Activation_universal_d_ScheduledAction as ScheduledAction,\n      automationsV2Activation_universal_d_Delay as Delay,\n      automationsV2Activation_universal_d_DelayOfOneOf as DelayOfOneOf,\n      automationsV2Activation_universal_d_SimpleDelay as SimpleDelay,\n      automationsV2Activation_universal_d_Units as Units,\n      automationsV2Activation_universal_d_ScheduleStatus as ScheduleStatus,\n      automationsV2Activation_universal_d_TriggerInfo as TriggerInfo,\n      automationsV2Activation_universal_d_ScheduleResponse as ScheduleResponse,\n      automationsV2Activation_universal_d_CancelPendingScheduleRequest as CancelPendingScheduleRequest,\n      automationsV2Activation_universal_d_CancelPendingScheduleRequestByOneOf as CancelPendingScheduleRequestByOneOf,\n      automationsV2Activation_universal_d_CancelPendingScheduleResponse as CancelPendingScheduleResponse,\n      automationsV2Activation_universal_d_UpdatePendingSchedulesPayloadRequest as UpdatePendingSchedulesPayloadRequest,\n      automationsV2Activation_universal_d_UpdatePendingSchedulesPayloadResponse as UpdatePendingSchedulesPayloadResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      automationsV2Activation_universal_d_ActivationRequest as ActivationRequest,\n      automationsV2Activation_universal_d_Runtime as Runtime,\n      automationsV2Activation_universal_d_Scheduler as Scheduler,\n      automationsV2Activation_universal_d_AsyncAction as AsyncAction,\n      automationsV2Activation_universal_d_ActionData as ActionData,\n      Action$1 as Action,\n      automationsV2Activation_universal_d_ActionActionOneOf as ActionActionOneOf,\n      automationsV2Activation_universal_d_ServiceMapping as ServiceMapping,\n      automationsV2Activation_universal_d_IfFilter as IfFilter,\n      automationsV2Activation_universal_d_SwitchFilter as SwitchFilter,\n      automationsV2Activation_universal_d_Case as Case,\n      automationsV2Activation_universal_d_DelayHelper as DelayHelper,\n      automationsV2Activation_universal_d_RateLimiting as RateLimiting,\n      automationsV2Activation_universal_d_ConditionFilter as ConditionFilter,\n      automationsV2Activation_universal_d_BlockType as BlockType,\n      automationsV2Activation_universal_d_ConditionBlock as ConditionBlock,\n      automationsV2Activation_universal_d_Output as Output,\n      automationsV2Activation_universal_d_SetVariables as SetVariables,\n      automationsV2Activation_universal_d_Service as Service,\n      automationsV2Activation_universal_d_SystemHelper as SystemHelper,\n      automationsV2Activation_universal_d_SystemHelperHelperOneOf as SystemHelperHelperOneOf,\n      automationsV2Activation_universal_d_SpiAction as SpiAction,\n      automationsV2Activation_universal_d_ActivationSource as ActivationSource,\n      automationsV2Activation_universal_d_ActivationSourceOfOneOf as ActivationSourceOfOneOf,\n      automationsV2Activation_universal_d_ActionsData as ActionsData,\n      automationsV2Activation_universal_d_ActionStatus as ActionStatus,\n      automationsV2Activation_universal_d_BatchActivationRequest as BatchActivationRequest,\n      Empty$1 as Empty,\n      automationsV2Activation_universal_d_ActivationActionStatusChanged as ActivationActionStatusChanged,\n      automationsV2Activation_universal_d_ActivationActionStatusChangedInfoOneOf as ActivationActionStatusChangedInfoOneOf,\n      automationsV2Activation_universal_d_ActivationActionStatusChangedStatusInfoOneOf as ActivationActionStatusChangedStatusInfoOneOf,\n      automationsV2Activation_universal_d_StartedStatusInfoAppDefinedActionInfo as StartedStatusInfoAppDefinedActionInfo,\n      automationsV2Activation_universal_d_DelayActionInfo as DelayActionInfo,\n      automationsV2Activation_universal_d_ExpressionEvaluationResult as ExpressionEvaluationResult,\n      automationsV2Activation_universal_d_AppDefinedActionInfo as AppDefinedActionInfo,\n      automationsV2Activation_universal_d_ConditionActionInfo as ConditionActionInfo,\n      automationsV2Activation_universal_d_RateLimitActionInfo as RateLimitActionInfo,\n      automationsV2Activation_universal_d_EndedStatusInfoDelayActionInfo as EndedStatusInfoDelayActionInfo,\n      automationsV2Activation_universal_d_SetVariablesActionInfo as SetVariablesActionInfo,\n      automationsV2Activation_universal_d_AutomationInfo as AutomationInfo,\n      automationsV2Activation_universal_d_AutomationInfoOriginInfoOneOf as AutomationInfoOriginInfoOneOf,\n      automationsV2Activation_universal_d_AutomationInfoTriggerInfo as AutomationInfoTriggerInfo,\n      automationsV2Activation_universal_d_ActivationActionStatusChangedAppDefinedActionInfo as ActivationActionStatusChangedAppDefinedActionInfo,\n      automationsV2Activation_universal_d_ActivationActionStatusChangedStatus as ActivationActionStatusChangedStatus,\n      automationsV2Activation_universal_d_StartedStatusInfo as StartedStatusInfo,\n      automationsV2Activation_universal_d_StartedStatusInfoTypeInfoOneOf as StartedStatusInfoTypeInfoOneOf,\n      automationsV2Activation_universal_d_EndedStatusInfo as EndedStatusInfo,\n      automationsV2Activation_universal_d_EndedStatusInfoTypeInfoOneOf as EndedStatusInfoTypeInfoOneOf,\n      automationsV2Activation_universal_d_FailedStatusInfo as FailedStatusInfo,\n      automationsV2Activation_universal_d_ActivationResumeAfterDelay as ActivationResumeAfterDelay,\n      automationsV2Activation_universal_d_ActionCompletedRequest as ActionCompletedRequest,\n      automationsV2Activation_universal_d_RefreshPayloadRequest as RefreshPayloadRequest,\n      automationsV2Activation_universal_d_RefreshPayloadResponse as RefreshPayloadResponse,\n      automationsV2Activation_universal_d_RunAutomationRequest as RunAutomationRequest,\n      automationsV2Activation_universal_d_RunAutomationResponse as RunAutomationResponse,\n      automationsV2Activation_universal_d_ActivationScheduleRequested as ActivationScheduleRequested,\n      automationsV2Activation_universal_d_ScheduleActivationRequested as ScheduleActivationRequested,\n      automationsV2Activation_universal_d_ActivationContinuedAfterSchedule as ActivationContinuedAfterSchedule,\n      automationsV2Activation_universal_d_ReportEventRequest as ReportEventRequest,\n      automationsV2Activation_universal_d_Idempotency as Idempotency,\n      automationsV2Activation_universal_d_ReportEventResponse as ReportEventResponse,\n      automationsV2Activation_universal_d_BulkReportEventRequest as BulkReportEventRequest,\n      automationsV2Activation_universal_d_EventInfo as EventInfo,\n      automationsV2Activation_universal_d_BulkReportEventResponse as BulkReportEventResponse,\n      automationsV2Activation_universal_d_BulkReportEventResult as BulkReportEventResult,\n      ItemMetadata$1 as ItemMetadata,\n      ApplicationError$1 as ApplicationError,\n      BulkActionMetadata$1 as BulkActionMetadata,\n      automationsV2Activation_universal_d_BulkCancelEventRequest as BulkCancelEventRequest,\n      automationsV2Activation_universal_d_BulkCancelEventResponse as BulkCancelEventResponse,\n      automationsV2Activation_universal_d_BulkCancelEventResult as BulkCancelEventResult,\n      automationsV2Activation_universal_d_CancelEventRequest as CancelEventRequest,\n      automationsV2Activation_universal_d_CancelEventResponse as CancelEventResponse,\n      automationsV2Activation_universal_d_V1RunAutomationRequest as V1RunAutomationRequest,\n      automationsV2Activation_universal_d_V1RunAutomationRequestIdentifierOneOf as V1RunAutomationRequestIdentifierOneOf,\n      automationsV2Activation_universal_d_IdentifierType as IdentifierType,\n      automationsV2Activation_universal_d_PreinstalledIdentifier as PreinstalledIdentifier,\n      automationsV2Activation_universal_d_AutomationIdentifier as AutomationIdentifier,\n      automationsV2Activation_universal_d_V1RunAutomationResponse as V1RunAutomationResponse,\n      automationsV2Activation_universal_d_ReportDomainEventRequest as ReportDomainEventRequest,\n      automationsV2Activation_universal_d_ReportDomainEventResponse as ReportDomainEventResponse,\n      automationsV2Activation_universal_d_ExecuteFromActionRequest as ExecuteFromActionRequest,\n      automationsV2Activation_universal_d_ExecuteFromActionResponse as ExecuteFromActionResponse,\n      automationsV2Activation_universal_d_ActivationScheduleCompleted as ActivationScheduleCompleted,\n      automationsV2Activation_universal_d_schedule as schedule,\n      automationsV2Activation_universal_d_cancelPendingSchedule as cancelPendingSchedule,\n      automationsV2Activation_universal_d_CancelPendingScheduleOptions as CancelPendingScheduleOptions,\n      automationsV2Activation_universal_d_updatePendingSchedulesPayload as updatePendingSchedulesPayload,\n      automationsV2Activation_universal_d_UpdatePendingSchedulesPayloadOptions as UpdatePendingSchedulesPayloadOptions,\n      automationsV2Activation_universal_d_actionCompleted as actionCompleted,\n      automationsV2Activation_universal_d_ActionCompletedOptions as ActionCompletedOptions,\n      automationsV2Activation_universal_d_reportEvent as reportEvent,\n      automationsV2Activation_universal_d_ReportEventOptions as ReportEventOptions,\n      automationsV2Activation_universal_d_bulkReportEvent as bulkReportEvent,\n      automationsV2Activation_universal_d_bulkCancelEvent as bulkCancelEvent,\n      automationsV2Activation_universal_d_cancelEvent as cancelEvent,\n      automationsV2Activation_universal_d_esbConfigResolverRunAutomation as esbConfigResolverRunAutomation,\n      automationsV2Activation_universal_d_EsbConfigResolverRunAutomationOptions as EsbConfigResolverRunAutomationOptions,\n      automationsV2Activation_universal_d_reportDomainEvent as reportDomainEvent,\n      automationsV2Activation_universal_d_ReportDomainEventOptions as ReportDomainEventOptions,\n    };\n  }\n  \n  interface Automation extends AutomationOriginInfoOneOf {\n      /** Application info */\n      applicationInfo?: ApplicationOrigin;\n      /** Preinstalled info */\n      preinstalledInfo?: PreinstalledOrigin;\n      /**\n       * Automation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the automation is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the automation.\n       *\n       * Ignored when creating an automation.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Information about the creator of the automation.\n       * @readonly\n       */\n      createdBy?: AuditInfo;\n      /**\n       * Date and time the automation was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * The entity that last updated the automation.\n       * @readonly\n       */\n      updatedBy?: AuditInfo;\n      /**\n       * Date and time the automation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Automation name that is displayed on the user's site. */\n      name?: string;\n      /** Automation description. */\n      description?: string | null;\n      /** Object that defines the automation's trigger, actions, and activation status. */\n      configuration?: AutomationConfiguration;\n      /** Defines how the automation was added to the site. */\n      origin?: Origin;\n      /** Automation settings. */\n      settings?: AutomationSettings;\n      /**\n       * Draft info (optional - only if the automation is a draft)\n       * @readonly\n       */\n      draftInfo?: DraftInfo;\n      /** Namespace */\n      namespace?: string | null;\n      /**\n       * Enrichments in use\n       * @internal\n       * @readonly\n       */\n      enrichments?: Enrichments;\n      /**\n       * Date and time the automation's draft was last updated.\n       * @internal\n       * @readonly\n       */\n      draftUpdatedDate?: Date | null;\n  }\n  /** @oneof */\n  interface AutomationOriginInfoOneOf {\n      /** Application info */\n      applicationInfo?: ApplicationOrigin;\n      /** Preinstalled info */\n      preinstalledInfo?: PreinstalledOrigin;\n  }\n  interface ActionSettings {\n      /**\n       * List of actions that cannot be deleted.\n       * Default: Empty. All actions are deletable by default.\n       */\n      permanentActionIds?: string[];\n      /**\n       * List of actions that cannot be edited.\n       * Default: Empty. All actions are editable by default.\n       */\n      readonlyActionIds?: string[];\n      /** Whether the option to add a delay is disabled for the automation. */\n      disableDelayAddition?: boolean;\n      /** Whether the option to add a condition is disabled for the automation. */\n      disableConditionAddition?: boolean;\n  }\n  enum Domain {\n      /** User domain (default). */\n      USER = \"USER\",\n      /** Wix domain. */\n      WIX = \"WIX\"\n  }\n  interface Enrichment {\n      /** Enrichment input mappings. */\n      inputMappings?: Record<string, any>[] | null;\n  }\n  interface AuditInfo extends AuditInfoIdOneOf {\n      /** User ID. */\n      userId?: string;\n      /** Application ID. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface AuditInfoIdOneOf {\n      /** User ID. */\n      userId?: string;\n      /** Application ID. */\n      appId?: string;\n  }\n  /** Automation runtime configuration */\n  interface AutomationConfiguration {\n      /** Status of the automation on the site. */\n      status?: Status;\n      /** Automation trigger configuration. */\n      trigger?: Trigger;\n      /** List of IDs of root actions. Root actions are the first actions to run after the trigger. The actions in the list run in parallel. */\n      rootActionIds?: string[];\n      /**\n       * Map of all actions that the automation may execute.\n       * The key is the action ID, and the value is the action configuration.\n       */\n      actions?: Record<string, Action>;\n  }\n  enum TimeUnit {\n      UNKNOWN_TIME_UNIT = \"UNKNOWN_TIME_UNIT\",\n      MINUTES = \"MINUTES\",\n      HOURS = \"HOURS\",\n      DAYS = \"DAYS\",\n      WEEKS = \"WEEKS\",\n      MONTHS = \"MONTHS\"\n  }\n  interface Filter {\n      /** Filter ID. */\n      _id?: string;\n      /** Field key from the payload schema, for example \"formId\". */\n      fieldKey?: string;\n      /** Filter expression that evaluates to a boolean. */\n      filterExpression?: string;\n  }\n  interface FutureDateActivationOffset {\n      /**\n       * The offset value. The value is always taken as negative, so that the automation runs before the trigger date.\n       * To create an offset that causes the automation to run after the trigger date, use a delay action.\n       */\n      preScheduledEventOffsetExpression?: string;\n      /** Time unit for the scheduled event offset. */\n      scheduledEventOffsetTimeUnit?: TimeUnit;\n  }\n  interface RateLimit {\n      /** Value expressing the maximum number of times the trigger can be activated. */\n      maxActivationsExpression?: string;\n      /** Duration of the rate limiting window in the selected time unit. If no value is set, the rate limit is permanent. */\n      durationExpression?: string | null;\n      /** Time unit for the rate limit duration. */\n      durationTimeUnit?: TimeUnit;\n      /** Unique identifier of each activation, by which rate limiter will count activations. */\n      uniqueIdentifierExpression?: string | null;\n  }\n  interface ConditionExpressionGroup {\n      /** Expression group operator. */\n      operator?: Operator;\n      /** List of boolean expressions to be evaluated with the given operator. */\n      booleanExpressions?: string[];\n  }\n  enum Operator {\n      UNKNOWN_OPERATOR = \"UNKNOWN_OPERATOR\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  enum Type {\n      /** Automation will be triggered according to the trigger configuration. */\n      UNKNOWN_ACTION_TYPE = \"UNKNOWN_ACTION_TYPE\",\n      /** App defined Action. */\n      APP_DEFINED = \"APP_DEFINED\",\n      /** Condition Action. */\n      CONDITION = \"CONDITION\",\n      /** Delay Action. */\n      DELAY = \"DELAY\",\n      /** RateLimit Action. */\n      RATE_LIMIT = \"RATE_LIMIT\",\n      /** Set Variables Action. */\n      SET_VARIABLES = \"SET_VARIABLES\",\n      /** Output Action. */\n      OUTPUT = \"OUTPUT\"\n  }\n  interface AppDefinedAction {\n      /** ID of the app that defines the action. */\n      appId?: string;\n      /** Action key. */\n      actionKey?: string;\n      /** Action input mapping. */\n      inputMapping?: Record<string, any> | null;\n      /**\n       * Array of conditions determining whether to skip the action in the automation flow.\n       * The action will be skipped if any of the expression groups evaluate to `true`.\n       * Actions following a skipped action will still run.\n       */\n      skipConditionOrExpressionGroups?: ConditionExpressionGroup[];\n      /** List of IDs of actions to run in parallel once the action completes. */\n      postActionIds?: string[];\n  }\n  interface ConditionAction {\n      /** The condition evaluates to `true` if either of the expression groups evaluate to `true`. */\n      orExpressionGroups?: ConditionExpressionGroup[];\n      /** List of IDs of actions to run when the entire condition is evaluated to `true`. */\n      truePostActionIds?: string[];\n      /** List of IDs of actions to run when the entire condition is evaluated to `false`. */\n      falsePostActionIds?: string[];\n  }\n  interface DelayAction {\n      /** Value expressing the amount of time to wait from a specific date or from the time the action is executed. */\n      offsetExpression?: string | null;\n      /** Time unit for delay offset. */\n      offsetTimeUnit?: TimeUnit;\n      /**\n       * The action due date. If defined without an offset, the automation will wait until this date to execute the next step.\n       * If an offset is defined, it's calculated from this date.\n       * The date is expressed in the number of milliseconds since the Unix Epoch (1 January, 1970 UTC).\n       */\n      dueDateEpochExpression?: string | null;\n      /** List of IDs of actions to run in parallel after the delay. */\n      postActionIds?: string[];\n  }\n  interface RateLimitAction {\n      /** The maximum number of activations allowed for the action. */\n      maxActivationsExpression?: string;\n      /**\n       * Duration of the rate limiting window, expressed in selected time unit.\n       * If no value is set, then there is no time limit on the rate limiter.\n       */\n      rateLimitDurationExpression?: string | null;\n      /** Time unit for the rate limit duration. */\n      rateLimitDurationTimeUnit?: TimeUnit;\n      /** Unique identifier of each activation by which rate limiter counts activations. */\n      uniqueIdentifierExpression?: string | null;\n      /** List of IDs of actions to run in parallel once the action completes. */\n      postActionIds?: string[];\n  }\n  interface SetVariablesAction {\n      /**\n       * output mapping\n       * for example: {\"someField\": \"{{10}}\", \"someOtherField\": \"{{multiply( var('account.points.balance') ;2 )}}\" }\n       */\n      outputMapping?: Record<string, any> | null;\n      /**\n       * output json schema representation\n       * could be string instead of Struct (and introduce some compression to minimize the size of it)\n       */\n      outputSchema?: Record<string, any> | null;\n      /** List of IDs of actions to run in parallel after variable initialization. */\n      postActionIds?: string[];\n  }\n  interface OutputAction {\n      /** Output action output mapping. */\n      outputMapping?: Record<string, any> | null;\n  }\n  enum Status {\n      /** unused */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Automation will be triggered according to the trigger configuration */\n      ACTIVE = \"ACTIVE\",\n      /** Automation will not be triggered */\n      INACTIVE = \"INACTIVE\"\n  }\n  interface Trigger {\n      /** ID of the app that defines the trigger. */\n      appId?: string;\n      /** Trigger key. */\n      triggerKey?: string;\n      /**\n       * List of filters on schema fields.\n       * In order for the automation to run, all filter expressions must evaluate to `true` for a given payload.\n       */\n      filters?: Filter[];\n      /** Defines the time offset between the trigger date and when the automation runs. */\n      scheduledEventOffset?: FutureDateActivationOffset;\n      /** Limits the number of times an automation can be triggered. */\n      rateLimit?: RateLimit;\n      /**\n       * An optional configuration, per automation, of a schema that is optionally offered by the trigger provider to affect the behavior of the trigger.\n       * For example, a trigger provider may offer a schema that allows the user to configure the trigger to happen at a certain time of day,\n       * He would define a schema with a field called \"startDate\" and using this parameter the user can define his preferred startDate, per automation.\n       */\n      automationConfigMapping?: Record<string, any> | null;\n  }\n  interface Action extends ActionInfoOneOf {\n      /** Action defined by an app (via RPC, HTTP or Velo). */\n      appDefinedInfo?: AppDefinedAction;\n      /** Condition action. */\n      conditionInfo?: ConditionAction;\n      /** Delay action. */\n      delayInfo?: DelayAction;\n      /** Rate-limiting action. */\n      rateLimitInfo?: RateLimitAction;\n      /**\n       * Set-variables action.\n       * @internal\n       */\n      setVariablesInfo?: SetVariablesAction;\n      /**\n       * Output action.\n       * @internal\n       */\n      outputInfo?: OutputAction;\n      /** Action ID. If not specified, a new ID is generated. */\n      _id?: string | null;\n      /** Action type. */\n      type?: Type;\n      /**\n       * Human-readable name to differentiate the action from other actions of the same type.\n       * The name can contain only alphanumeric characters and underscores. If not provided, a namespace in the form `actionkey-indexOfAction` is\n       * generated automatically.\n       * If the action has output, the output will be available in the payload under this name.\n       * If the user has multiple actions with the same appId and actionKey, previous action output will be overwritten.\n       */\n      namespace?: string | null;\n  }\n  /** @oneof */\n  interface ActionInfoOneOf {\n      /** Action defined by an app (via RPC, HTTP or Velo). */\n      appDefinedInfo?: AppDefinedAction;\n      /** Condition action. */\n      conditionInfo?: ConditionAction;\n      /** Delay action. */\n      delayInfo?: DelayAction;\n      /** Rate-limiting action. */\n      rateLimitInfo?: RateLimitAction;\n      /**\n       * Set-variables action.\n       * @internal\n       */\n      setVariablesInfo?: SetVariablesAction;\n      /**\n       * Output action.\n       * @internal\n       */\n      outputInfo?: OutputAction;\n  }\n  enum Origin {\n      /** Default value. This is unused. */\n      UNKNOWN_ORIGIN = \"UNKNOWN_ORIGIN\",\n      /** User created automation. */\n      USER = \"USER\",\n      /** Automation created by application (site specific). */\n      APPLICATION = \"APPLICATION\",\n      /** Preinstalled application automation. */\n      PREINSTALLED = \"PREINSTALLED\",\n      /** Automation created from a recipe. */\n      RECIPE = \"RECIPE\"\n  }\n  interface ApplicationOrigin {\n      /** Application ID. */\n      appId?: string;\n  }\n  interface PreinstalledOrigin {\n      /** ID of the app that defines the preinstalled automation. */\n      appId?: string;\n      /** Application component ID. */\n      componentId?: string;\n      /** Application component version. */\n      componentVersion?: number;\n      /**\n       * Whether the automation is an override automation. If the user modifies the preinstalled automation installed on their site, a site-specific\n       * automation is created that overrides the original one. If the user makes no modifications this boolean is set to `false` and the original\n       * preinstalled automation is used.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      override?: boolean | null;\n  }\n  interface AutomationSettings {\n      /**\n       * Whether the automation is hidden from users.\n       * Default: `false`\n       */\n      hidden?: boolean;\n      /**\n       * Whether the automation is read-only.\n       * Default: `false`\n       */\n      readonly?: boolean;\n      /**\n       * Whether the option to delete the automation from the site is disabled.\n       * Default: `false`\n       */\n      disableDelete?: boolean;\n      /**\n       * Whether the option to change the automation status (from active to inactive and vice versa) is disabled.\n       * Default: `false`\n       */\n      disableStatusChange?: boolean;\n      /** Automation action settings. */\n      actionSettings?: ActionSettings;\n      /**\n       * Domain\n       * @internal\n       */\n      domain?: Domain;\n  }\n  interface DraftInfo {\n      /**\n       * Optional - automationId of the original automation.\n       * @readonly\n       */\n      originalAutomationId?: string | null;\n  }\n  interface Enrichments {\n      /** Whether the studio site enrichment is wanted. */\n      studioSite?: Enrichment;\n  }\n  interface UpdatedWithPreviousEntity {\n      /** previous automation */\n      previousAutomation?: Automation;\n      /** updated automation */\n      currentAutomation?: Automation;\n  }\n  interface DeletedWithEntity {\n      /** Deleted automation */\n      automation?: Automation;\n  }\n  interface DraftPublished {\n      /** Draft automation ID */\n      draftAutomationId?: string;\n      /**\n       * Draft original automation.\n       * if it's not a draft of an existing automation, the draft original automation would be the draft itself\n       */\n      draftOriginalAutomation?: Automation;\n      /** Updated automation after publishing the draft. */\n      updatedAutomation?: Automation;\n  }\n  interface GetAutomationRevisionRequest {\n      /** Automation ID. */\n      automationId: string;\n      /** Automation revision. */\n      revision?: string | null;\n  }\n  interface GetAutomationRevisionResponse {\n      /** Automation with the relevant revision. */\n      automation?: Automation;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CreateAutomationRequest {\n      /** Automation to be created. */\n      automation: Automation;\n  }\n  interface CreateAutomationResponse {\n      /** The created automation. */\n      automation?: Automation;\n  }\n  interface GetAutomationRequest {\n      /** Automation ID. */\n      automationId: string;\n      /** Automation origin. */\n      origin?: Origin;\n  }\n  interface GetAutomationResponse {\n      /** The requested automation. */\n      automation?: Automation;\n  }\n  interface UpdateAutomationRequest {\n      /** Automation to update. */\n      automation: Automation;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateAutomationResponse {\n      /** Updated automation. */\n      automation?: Automation;\n  }\n  interface DeleteAutomationRequest {\n      /** Automation ID. */\n      automationId: string;\n  }\n  interface DeleteAutomationResponse {\n  }\n  interface BulkDeleteAutomationsRequest {\n      /** Automation IDs to delete. */\n      automationIds: string[];\n  }\n  interface BulkDeleteAutomationsResponse {\n      /** Deleted automations results. */\n      results?: BulkDeleteResult[];\n      /** Metadata for the API call. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkDeleteResult {\n      /** Metadata for the item deletion. */\n      itemMetadata?: ItemMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface CreatePreinstalledAutomationRequest {\n      /** Preinstalled automation to be created. */\n      automation: Automation;\n      /** Optional - hide the created automation behind a spec */\n      specInfo?: PreinstalledAutomationSpecInfo;\n      /**\n       * Optional - the information about the original site automation that was used to create this preinstalled automation\n       * Usually an existing automation in a site is used to create the preinstalled automation, this is the relevant information.\n       */\n      originAutomationInfo?: OriginAutomationInfo;\n  }\n  interface PreinstalledAutomationSpecInfo {\n      /** Spec to conduct on for the automation */\n      spec?: string;\n      /**\n       * Value the spec should return in order to affect the user with the operation\n       * e.g. creation - show the users the automation, update - show the users the updated automation, deletion - not show the users the automation\n       */\n      variantValue?: string | null;\n      /**\n       * Version from which the experiment should decide whether to expose it to users when !conduct(spec).contains(variant_value)\n       * For example, if 50 is set, version 49 and below (including 49) will not expose the preinstalled automation to the user.\n       */\n      experimentVersion?: number;\n  }\n  interface OriginAutomationInfo {\n      /** The original automation id */\n      siteAutomationId?: string;\n      /** The original automation meta site id */\n      metaSiteId?: string;\n  }\n  interface CreatePreinstalledAutomationResponse {\n      /** The created preinstalled automation. */\n      automation?: Automation;\n  }\n  interface UpdatePreinstalledAutomationRequest {\n      /** Preinstalled automation to update. */\n      automation: Automation;\n      /** Optional - hide the updated automation behind a spec */\n      specInfo?: PreinstalledAutomationSpecInfo;\n  }\n  interface UpdatePreinstalledAutomationResponse {\n      /** Updated preinstalled automation. */\n      automation?: Automation;\n  }\n  interface DeletePreinstalledAutomationRequest {\n      /** Preinstalled Component Id */\n      componentId: string;\n      /**\n       * Optional - makes the deletion operation gradual\n       * The automation will not return if the variant returns for the site\n       */\n      specInfo?: PreinstalledAutomationSpecInfo;\n  }\n  interface DeletePreinstalledAutomationResponse {\n  }\n  interface GeneratePreinstalledAutomationRequest {\n      automation: Automation;\n  }\n  interface GeneratePreinstalledAutomationResponse {\n      automation?: Automation;\n  }\n  interface QueryPreinstalledAutomationsForAppRequest {\n      /** WQL expression. */\n      query?: CommonCursorQuery;\n  }\n  interface CommonCursorQuery extends CommonCursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CommonCursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: CommonSorting[];\n  }\n  /** @oneof */\n  interface CommonCursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CommonCursorPaging;\n  }\n  interface CommonSorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: CommonSortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum CommonSortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CommonCursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryPreinstalledAutomationsForAppResponse {\n      /** List of automations. */\n      automations?: Automation[];\n      /** Paging metadata. */\n      pagingMetadata?: CommonCursorPagingMetadata;\n  }\n  interface CommonCursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: CommonCursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface CommonCursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface QueryAutomationsRequest {\n      /** WQL expression. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryAutomationsResponse {\n      /** List of automations. */\n      automations?: Automation[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface Empty {\n  }\n  interface CopyAutomationRequest {\n      /** Automation ID. */\n      automationId: string;\n      /** Automation origin. */\n      origin?: Origin;\n  }\n  interface CopyAutomationResponse {\n      /** Automation copy. */\n      automation?: Automation;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface CreateDraftAutomationRequest {\n      /** Draft automation to be created. */\n      automation?: Automation;\n  }\n  interface CreateDraftAutomationResponse {\n      /** The created draft automation. */\n      automation?: Automation;\n  }\n  interface GetOrCreateDraftAutomationRequest {\n      /** Original automation id */\n      originalAutomationId: string;\n  }\n  interface GetOrCreateDraftAutomationResponse {\n      /** Draft automation. */\n      automation?: Automation;\n  }\n  interface UpdateDraftAutomationRequest {\n      /** Automation to be updated, may be partial. */\n      automation: Automation;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateDraftAutomationResponse {\n      /** Updated draft automation. */\n      automation?: Automation;\n  }\n  interface QueryAutomationsWithDraftsRequest {\n      /** WQL expression. */\n      query?: CursorQuery;\n  }\n  interface QueryAutomationsWithDraftsResponse {\n      /** List of automations. */\n      automations?: Automation[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n      /**\n       * map of existing automationIds and their relevant drafts' automationIds\n       * if include_draft_data: false was passed, the map will be empty\n       * The key is the automationId of the original automation, and the value a list of related draft automationIds\n       */\n      originalAutomationIdToDrafts?: Record<string, DraftsInfo>;\n  }\n  interface DraftsInfo {\n      /** list of drafts of an existing Automation */\n      draftAutomationIds?: string[];\n  }\n  interface DeleteDraftAutomationRequest {\n      /** Id of the draft automation to delete. */\n      automationId: string;\n  }\n  interface DeleteDraftAutomationResponse {\n  }\n  interface PublishDraftAutomationRequest {\n      /** Id of the draft automation to publish. */\n      automationId: string;\n  }\n  interface PublishDraftAutomationResponse {\n      /** Updated automation after publishing the draft */\n      automation?: Automation;\n  }\n  interface ValidateAutomationRequest {\n      /** Automation to validate. */\n      automation: Automation;\n      /** Settings to customize the validation. */\n      validationSettings?: ValidationSettings;\n  }\n  interface ValidationSettings {\n      /**\n       * List of specific actions to validate. Only the actions in the list are validated. In this case, triggers are not validated.\n       *\n       * If the list is empty, the entire automation is validated, including triggers.\n       *\n       * Default: Empty.\n       */\n      actionIds?: string[];\n      /**\n       * Whether to skip provider validations.\n       * Default: `false`\n       */\n      skipProviderValidations?: boolean;\n  }\n  interface ValidateAutomationResponse {\n      /** Whether the automation is valid. */\n      valid?: boolean;\n      /** List of validation errors for the automation trigger. */\n      triggerValidationErrors?: TriggerValidationError[];\n      /** List of validation information for the automation actions. */\n      actionValidationInfo?: ActionValidationInfo[];\n      /** List of additional validation errors for the automation */\n      automationValidationErrors?: AutomationValidationError[];\n  }\n  interface TriggerValidationError extends TriggerValidationErrorErrorOneOf {\n      /** Trigger configuration error. */\n      configurationError?: TriggerConfigurationError;\n      /** Provider configuration error. */\n      providerConfigurationError?: ProviderConfigurationError;\n      /** Validation error type. */\n      errorType?: TriggerValidationErrorValidationErrorType;\n      /** Validation error severity */\n      severity?: ValidationErrorSeverity;\n  }\n  /** @oneof */\n  interface TriggerValidationErrorErrorOneOf {\n      /** Trigger configuration error. */\n      configurationError?: TriggerConfigurationError;\n      /** Provider configuration error. */\n      providerConfigurationError?: ProviderConfigurationError;\n  }\n  enum TriggerValidationErrorValidationErrorType {\n      UNKNOWN_VALIDATION_ERROR_TYPE = \"UNKNOWN_VALIDATION_ERROR_TYPE\",\n      CONFIGURATION_ERROR = \"CONFIGURATION_ERROR\",\n      PROVIDER_ERROR = \"PROVIDER_ERROR\"\n  }\n  interface TriggerConfigurationError {\n      /** Trigger error type. */\n      errorType?: TriggerErrorType;\n      /** Related filter field key. */\n      filterFieldKey?: string | null;\n  }\n  enum TriggerErrorType {\n      UNKNOWN_TRIGGER_ERROR_TYPE = \"UNKNOWN_TRIGGER_ERROR_TYPE\",\n      NOT_FOUND = \"NOT_FOUND\",\n      APP_NOT_INSTALLED = \"APP_NOT_INSTALLED\",\n      MODERATION_MISMATCH = \"MODERATION_MISMATCH\",\n      DEPRECATED = \"DEPRECATED\",\n      INVALID_TRIGGER_KEY = \"INVALID_TRIGGER_KEY\",\n      INVALID_FILTER_FIELD_KEY = \"INVALID_FILTER_FIELD_KEY\",\n      INVALID_FILTER_EXPRESSION = \"INVALID_FILTER_EXPRESSION\"\n  }\n  interface ProviderConfigurationError {\n      /** Key corresponding to the field in the schema. */\n      fieldKey?: string | null;\n      /** Error message. */\n      message?: string;\n      /** Label for a call-to-action button that's displayed with the error. Translated according to the SPI language context. */\n      ctaLabel?: string | null;\n      /** URL to redirect to when the call-to-action button is clicked. */\n      ctaUrl?: string | null;\n      /** Title for the error. */\n      title?: string;\n  }\n  enum ValidationErrorSeverity {\n      UNKNOWN_VALIDATION_ERROR_SEVERITY = \"UNKNOWN_VALIDATION_ERROR_SEVERITY\",\n      WARNING = \"WARNING\",\n      ERROR = \"ERROR\"\n  }\n  interface ActionValidationInfo {\n      /** Action ID. */\n      actionId?: string | null;\n      /** ID of the app that defines the action. */\n      appId?: string;\n      /** Human-readable action identifier. */\n      actionKey?: string;\n      /** List of action validation errors. */\n      validationErrors?: ActionValidationError[];\n  }\n  interface ActionValidationError extends ActionValidationErrorErrorOneOf {\n      /** Action configuration error. */\n      configurationError?: ActionConfigurationError;\n      /** Provider configuration error. */\n      providerConfigurationError?: ProviderConfigurationError;\n      /** Validation error type. */\n      errorType?: ValidationErrorType;\n      /** Validation error severity */\n      severity?: ValidationErrorSeverity;\n  }\n  /** @oneof */\n  interface ActionValidationErrorErrorOneOf {\n      /** Action configuration error. */\n      configurationError?: ActionConfigurationError;\n      /** Provider configuration error. */\n      providerConfigurationError?: ProviderConfigurationError;\n  }\n  enum ValidationErrorType {\n      UNKNOWN_VALIDATION_ERROR_TYPE = \"UNKNOWN_VALIDATION_ERROR_TYPE\",\n      CONFIGURATION_ERROR = \"CONFIGURATION_ERROR\",\n      PROVIDER_ERROR = \"PROVIDER_ERROR\"\n  }\n  interface ActionConfigurationError {\n      /** Action error type. */\n      errorType?: ActionErrorType;\n      /** Related field key. */\n      fieldKey?: string | null;\n  }\n  enum ActionErrorType {\n      UNKNOWN_ACTION_ERROR_TYPE = \"UNKNOWN_ACTION_ERROR_TYPE\",\n      NOT_FOUND = \"NOT_FOUND\",\n      APP_NOT_INSTALLED = \"APP_NOT_INSTALLED\",\n      MODERATION_MISMATCH = \"MODERATION_MISMATCH\",\n      DEPRECATED = \"DEPRECATED\",\n      INVALID_ACTION_KEY = \"INVALID_ACTION_KEY\",\n      INVALID_MAPPING = \"INVALID_MAPPING\",\n      MAPPING_TYPE_MISMATCH = \"MAPPING_TYPE_MISMATCH\",\n      MAPPING_MISSING_REQUIRED_FIELD = \"MAPPING_MISSING_REQUIRED_FIELD\",\n      MAPPING_SCHEMA_MISMATCH = \"MAPPING_SCHEMA_MISMATCH\",\n      MAPPING_VARIABLE_MISSING_FROM_SCHEMA = \"MAPPING_VARIABLE_MISSING_FROM_SCHEMA\"\n  }\n  interface AutomationValidationError extends AutomationValidationErrorErrorOneOf {\n      /** Automation configuration error. */\n      configurationError?: AutomationConfigurationError;\n      /** Provider configuration error. */\n      providerConfigurationError?: ProviderConfigurationError;\n      /** Validation error type. */\n      errorType?: AutomationValidationErrorValidationErrorType;\n      /** Validation error severity */\n      severity?: ValidationErrorSeverity;\n  }\n  /** @oneof */\n  interface AutomationValidationErrorErrorOneOf {\n      /** Automation configuration error. */\n      configurationError?: AutomationConfigurationError;\n      /** Provider configuration error. */\n      providerConfigurationError?: ProviderConfigurationError;\n  }\n  enum AutomationValidationErrorValidationErrorType {\n      UNKNOWN_VALIDATION_ERROR_TYPE = \"UNKNOWN_VALIDATION_ERROR_TYPE\",\n      CONFIGURATION_ERROR = \"CONFIGURATION_ERROR\",\n      PROVIDER_ERROR = \"PROVIDER_ERROR\"\n  }\n  interface AutomationConfigurationError {\n      /** Automation error type. */\n      errorType?: AutomationErrorType;\n  }\n  enum AutomationErrorType {\n      UNKNOWN_AUTOMATION_ERROR_TYPE = \"UNKNOWN_AUTOMATION_ERROR_TYPE\"\n  }\n  interface GetAutomationActionSchemaRequest {\n      /** Automation ID */\n      automationId: string;\n      /** Action ID */\n      actionId: string;\n  }\n  interface GetAutomationActionSchemaResponse {\n      /** The accumulated payload schema for an action. */\n      schema?: Record<string, any> | null;\n  }\n  interface GetActionsQuotaInfoRequest {\n  }\n  interface GetActionsQuotaInfoResponse {\n      /** List of action quotas. */\n      actionProviderQuotaInfo?: ActionProviderQuotaInfo[];\n  }\n  interface ActionProviderQuotaInfo {\n      /** ID of the app that defines the action. */\n      appId?: string;\n      /** Action key. */\n      actionKey?: string;\n      /** Action quota information. */\n      actionQuotaInfo?: ActionQuotaInfo;\n  }\n  interface ActionQuotaInfo {\n      /**\n       * Whether the quotas for your action are enforced. If you mark this as `true` in the response body,\n       * Wix displays the information in the quota object on the site dashboard. If you mark this as `false` for\n       * a user, Wix does not display any quota info on the site dashboard for your service.\n       */\n      enforced?: boolean;\n      /**\n       * The plans your service provides, together with the quotas enforced by each plan. A site may be enrolled\n       * in multiple plans. Plans and quotas can be related as follows:\n       *\n       * + A single plan has a single quota.\n       * + A single plan has multiple quotas.\n       * + Multiple plans are associated with multiple quotas.\n       *\n       * Plans and quotas that are related should be grouped together in a single `quotaInfo`\n       * object.\n       */\n      quotaInfo?: QuotaInfo[];\n  }\n  interface QuotaInfo {\n      /** List of plans associated with the site making the request. */\n      plans?: Plan[];\n      /** List of quotas associated with the plans the site is enrolled in. */\n      quotas?: Quota[];\n      /**\n       * Details for an upgrade call-to-action button.\n       * Displayed in the site contributor’s dashboard together with the quota details.\n       */\n      upgradeCta?: UpgradeCTA;\n  }\n  interface Plan {\n      /** Plan ID defined by the action provider. */\n      _id?: string;\n      /** Plan name to display in the site contributor’s dashboard. */\n      name?: string;\n      /**\n       * optional - the plan group id\n       * @internal\n       */\n      groupId?: string | null;\n  }\n  interface Quota {\n      /** Name of the feature the quota is related to. For example, \"Messages sent\". */\n      featureName?: string;\n      /**\n       * Quota renewal date in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n       * For example, 10 July 2020 at 15:00 is written as `2020-07-10 15:00:00.000`.\n       */\n      renewalDate?: Date | null;\n      /** The user's current quota usage. */\n      currentUsage?: string;\n      /** Quota limit data. */\n      limit?: string | null;\n      /** Additional information about the quota. Displayed as a tooltip in the site contributor’s dashboard. */\n      additionalInfo?: AdditionalInfo;\n  }\n  interface CTA {\n      /** Call-to-action redirect URL. */\n      url?: string;\n      /** Call-to-action label. */\n      label?: string;\n  }\n  interface AdditionalInfo {\n      /** Tooltip content. */\n      description?: string;\n      /** Details for an options call-to-action link that appears in the tooltip. */\n      cta?: CTA;\n  }\n  interface UpgradeCTA {\n      /** CTA button redirect URL. */\n      url?: string;\n      /** CTA button label. */\n      label?: string;\n      /**\n       * optional - id of the related plan\n       * @internal\n       */\n      planId?: string | null;\n  }\n  interface MigrateVeloActionAutomationsRequest {\n      oldAppId?: string;\n      newAppId?: string;\n      newComponentId?: string;\n  }\n  interface MigrateVeloActionAutomationsResponse {\n  }\n  /**\n   * Get automation revision\n   * @param automationId - Automation ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_REVISION_READ\n   * @adminMethod\n   */\n  function getAutomationRevision(automationId: string, options?: GetAutomationRevisionOptions): Promise<GetAutomationRevisionResponse>;\n  interface GetAutomationRevisionOptions {\n      /** Automation revision. */\n      revision?: string | null;\n  }\n  /**\n   * Creates an automation.\n   * @param automation - Automation to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automation\n   * @requiredField automation.configuration\n   * @requiredField automation.configuration.actions\n   * @requiredField automation.configuration.rootActionIds\n   * @requiredField automation.configuration.status\n   * @requiredField automation.configuration.trigger\n   * @requiredField automation.configuration.trigger.appId\n   * @requiredField automation.configuration.trigger.triggerKey\n   * @requiredField automation.name\n   * @requiredField automation.origin\n   * @permissionId AUTOMATIONS.AUTOMATION_CREATE\n   * @adminMethod\n   * @returns The created automation.\n   */\n  function createAutomation(automation: Automation): Promise<Automation>;\n  /**\n   * Retrieves an automation.\n   * @param automationId - Automation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   * @returns The requested automation.\n   */\n  function getAutomation(automationId: string, options?: GetAutomationOptions): Promise<Automation>;\n  interface GetAutomationOptions {\n      /** Automation origin. */\n      origin?: Origin;\n  }\n  /**\n   * Updates an automation.\n   *\n   * Each time the automation is updated,\n   * `revision` increments by 1.\n   * The current `revision` must be passed when updating the automation.\n   * This ensures you're working with the latest automation\n   * and prevents unintended overwrites.\n   * @param _id - Automation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField automation\n   * @requiredField automation.revision\n   * @permissionId AUTOMATIONS.AUTOMATION_UPDATE\n   * @adminMethod\n   * @returns Updated automation.\n   */\n  function updateAutomation(_id: string | null, automation: UpdateAutomation, options?: UpdateAutomationOptions): Promise<Automation>;\n  interface UpdateAutomation {\n      /** Application info */\n      applicationInfo?: ApplicationOrigin;\n      /** Preinstalled info */\n      preinstalledInfo?: PreinstalledOrigin;\n      /**\n       * Automation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the automation is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the automation.\n       *\n       * Ignored when creating an automation.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Information about the creator of the automation.\n       * @readonly\n       */\n      createdBy?: AuditInfo;\n      /**\n       * Date and time the automation was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * The entity that last updated the automation.\n       * @readonly\n       */\n      updatedBy?: AuditInfo;\n      /**\n       * Date and time the automation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Automation name that is displayed on the user's site. */\n      name?: string;\n      /** Automation description. */\n      description?: string | null;\n      /** Object that defines the automation's trigger, actions, and activation status. */\n      configuration?: AutomationConfiguration;\n      /** Defines how the automation was added to the site. */\n      origin?: Origin;\n      /** Automation settings. */\n      settings?: AutomationSettings;\n      /**\n       * Draft info (optional - only if the automation is a draft)\n       * @readonly\n       */\n      draftInfo?: DraftInfo;\n      /** Namespace */\n      namespace?: string | null;\n      /**\n       * Enrichments in use\n       * @internal\n       * @readonly\n       */\n      enrichments?: Enrichments;\n      /**\n       * Date and time the automation's draft was last updated.\n       * @internal\n       * @readonly\n       */\n      draftUpdatedDate?: Date | null;\n  }\n  interface UpdateAutomationOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes an Automation.\n   * @param automationId - Automation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_DELETE\n   * @adminMethod\n   */\n  function deleteAutomation(automationId: string): Promise<void>;\n  /**\n   * Deletes multiple automations.\n   * @param automationIds - Automation IDs to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationIds\n   * @permissionId AUTOMATIONS.AUTOMATION_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteAutomations(automationIds: string[]): Promise<BulkDeleteAutomationsResponse>;\n  /**\n   * Creates a Preinstalled Automation.\n   * @param automation - Preinstalled automation to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automation\n   * @requiredField automation.configuration\n   * @requiredField automation.configuration.actions\n   * @requiredField automation.configuration.rootActionIds\n   * @requiredField automation.configuration.status\n   * @requiredField automation.configuration.trigger\n   * @requiredField automation.configuration.trigger.appId\n   * @requiredField automation.configuration.trigger.triggerKey\n   * @requiredField automation.name\n   * @permissionId AUTOMATIONS.AUTOMATION_CREATE_PREINSTALLED\n   * @adminMethod\n   */\n  function createPreinstalledAutomation(automation: Automation, options?: CreatePreinstalledAutomationOptions): Promise<CreatePreinstalledAutomationResponse>;\n  interface CreatePreinstalledAutomationOptions {\n      /** Optional - hide the created automation behind a spec */\n      specInfo?: PreinstalledAutomationSpecInfo;\n      /**\n       * Optional - the information about the original site automation that was used to create this preinstalled automation\n       * Usually an existing automation in a site is used to create the preinstalled automation, this is the relevant information.\n       */\n      originAutomationInfo?: OriginAutomationInfo;\n  }\n  /**\n   * Updates a Preinstalled Automation.\n   * @param automation - Preinstalled automation to update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automation\n   * @requiredField automation.preinstalledInfo\n   * @requiredField automation.preinstalledInfo.componentId\n   * @requiredField automation.preinstalledInfo.componentVersion\n   * @permissionId AUTOMATIONS.AUTOMATION_UPDATE_PREINSTALLED\n   * @adminMethod\n   */\n  function updatePreinstalledAutomation(automation: Automation, options?: UpdatePreinstalledAutomationOptions): Promise<UpdatePreinstalledAutomationResponse>;\n  interface UpdatePreinstalledAutomationOptions {\n      /** Optional - hide the updated automation behind a spec */\n      specInfo?: PreinstalledAutomationSpecInfo;\n  }\n  /**\n   * Deletes a Preinstalled Automation.\n   * @param componentId - Preinstalled Component Id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField componentId\n   * @permissionId AUTOMATIONS.AUTOMATION_DELETE_PREINSTALLED\n   * @adminMethod\n   */\n  function deletePreinstalledAutomation(componentId: string, options?: DeletePreinstalledAutomationOptions): Promise<void>;\n  interface DeletePreinstalledAutomationOptions {\n      /**\n       * Optional - makes the deletion operation gradual\n       * The automation will not return if the variant returns for the site\n       */\n      specInfo?: PreinstalledAutomationSpecInfo;\n  }\n  /**\n   * Generate a preinstalled automation from another automation\n   * Calls the action providers for changes needed to make a preinstalled (e.g. template for email etc)\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField automation\n   * @permissionId AUTOMATIONS.GENERATE_PREINSTALLED_AUTOMATION\n   * @adminMethod\n   */\n  function generatePreinstalledAutomation(automation: Automation): Promise<GeneratePreinstalledAutomationResponse>;\n  /**\n   * Allows an app to query for his preinstalled automations\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.AUTOMATION_QUERY_PREINSTALLED\n   * @adminMethod\n   */\n  function queryPreinstalledAutomationsForApp(options?: QueryPreinstalledAutomationsForAppOptions): Promise<QueryPreinstalledAutomationsForAppResponse>;\n  interface QueryPreinstalledAutomationsForAppOptions {\n      /** WQL expression. */\n      query?: CommonCursorQuery;\n  }\n  /**\n   * Retrieves a list of automations. Max query filter depth is 3.\n   *\n   * Relevant automations for the query are returned. This includes automations created on the site and pre-installed automations.\n   * If there's an existing override for a pre-installed automation, the override is returned in the query result.\n   * The query only returns automations from apps that are installed on the site.\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   */\n  function queryAutomations(): AutomationsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface AutomationsQueryResult extends QueryCursorResult {\n      items: Automation[];\n      query: AutomationsQueryBuilder;\n      next: () => Promise<AutomationsQueryResult>;\n      prev: () => Promise<AutomationsQueryResult>;\n  }\n  interface AutomationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'name' | 'configuration.status' | 'configuration.trigger.appId' | 'configuration.trigger.triggerKey' | 'origin' | 'settings' | 'settings.readonly' | 'settings.disableDelete' | 'settings.disableStatusChange' | 'settings.actionSettings' | 'settings.actionSettings.permanentActionIds' | 'settings.actionSettings.readonlyActionIds' | 'settings.actionSettings.disableDelayAddition' | 'settings.actionSettings.disableConditionAddition', value: any) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'name' | 'configuration.status' | 'configuration.trigger.appId' | 'configuration.trigger.triggerKey' | 'origin' | 'settings' | 'settings.readonly' | 'settings.disableDelete' | 'settings.disableStatusChange' | 'settings.actionSettings' | 'settings.actionSettings.permanentActionIds' | 'settings.actionSettings.readonlyActionIds' | 'settings.actionSettings.disableDelayAddition' | 'settings.actionSettings.disableConditionAddition', value: any) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'name' | 'configuration.trigger.appId' | 'configuration.trigger.triggerKey', value: string) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'name' | 'configuration.status' | 'configuration.trigger.appId' | 'configuration.trigger.triggerKey' | 'origin' | 'settings' | 'settings.readonly' | 'settings.disableDelete' | 'settings.disableStatusChange' | 'settings.actionSettings' | 'settings.actionSettings.permanentActionIds' | 'settings.actionSettings.readonlyActionIds' | 'settings.actionSettings.disableDelayAddition' | 'settings.actionSettings.disableConditionAddition', value: any[]) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasAll: (propertyName: 'settings.actionSettings.permanentActionIds' | 'settings.actionSettings.readonlyActionIds', value: any[]) => AutomationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'name' | 'configuration.status' | 'configuration.trigger.appId' | 'configuration.trigger.triggerKey' | 'origin' | 'settings' | 'settings.readonly' | 'settings.disableDelete' | 'settings.disableStatusChange' | 'settings.actionSettings' | 'settings.actionSettings.permanentActionIds' | 'settings.actionSettings.readonlyActionIds' | 'settings.actionSettings.disableDelayAddition' | 'settings.actionSettings.disableConditionAddition', value: any) => AutomationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'name' | 'configuration.status' | 'configuration.trigger.appId' | 'configuration.trigger.triggerKey' | 'origin' | 'settings' | 'settings.readonly' | 'settings.disableDelete' | 'settings.disableStatusChange' | 'settings.actionSettings' | 'settings.actionSettings.permanentActionIds' | 'settings.actionSettings.readonlyActionIds' | 'settings.actionSettings.disableDelayAddition' | 'settings.actionSettings.disableConditionAddition', value: boolean) => AutomationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'name' | 'configuration.status' | 'configuration.trigger.appId' | 'configuration.trigger.triggerKey' | 'origin' | 'settings' | 'settings.readonly' | 'settings.disableDelete' | 'settings.disableStatusChange' | 'settings.actionSettings' | 'settings.actionSettings.permanentActionIds' | 'settings.actionSettings.readonlyActionIds' | 'settings.actionSettings.disableDelayAddition' | 'settings.actionSettings.disableConditionAddition'>) => AutomationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'name' | 'configuration.status' | 'configuration.trigger.appId' | 'configuration.trigger.triggerKey' | 'origin' | 'settings' | 'settings.readonly' | 'settings.disableDelete' | 'settings.disableStatusChange' | 'settings.actionSettings' | 'settings.actionSettings.permanentActionIds' | 'settings.actionSettings.readonlyActionIds' | 'settings.actionSettings.disableDelayAddition' | 'settings.actionSettings.disableConditionAddition'>) => AutomationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => AutomationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => AutomationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<AutomationsQueryResult>;\n  }\n  /**\n   * Creates a copy of an action with a new ID, and changes the action's input mapping if necessary.\n   *\n   * The action copy isn't saved automatically. To save it, the user must perform an action\n   * such as clicking the **Save** button.\n   * @param automationId - Automation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_COPY\n   * @adminMethod\n   */\n  function copyAutomation(automationId: string, options?: CopyAutomationOptions): Promise<CopyAutomationResponse>;\n  interface CopyAutomationOptions {\n      /** Automation origin. */\n      origin?: Origin;\n  }\n  /**\n   * Creates a draft automation.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.AUTOMATION_DRAFT_CREATE\n   * @adminMethod\n   */\n  function createDraftAutomation(options?: CreateDraftAutomationOptions): Promise<CreateDraftAutomationResponse>;\n  interface CreateDraftAutomationOptions {\n      /** Draft automation to be created. */\n      automation?: Automation;\n  }\n  /**\n   * Gets the draft of the given original automation if exists, or creates one and returns it\n   *\n   * - if the original automation is a draft, returns the original automation\n   * @param originalAutomationId - Original automation id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField originalAutomationId\n   * @permissionId AUTOMATIONS.AUTOMATION_DRAFT_CREATE\n   * @adminMethod\n   */\n  function getOrCreateDraftAutomation(originalAutomationId: string): Promise<GetOrCreateDraftAutomationResponse>;\n  /**\n   * Updates a draft automation\n   * @param _id - Automation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField automation\n   * @permissionId AUTOMATIONS.AUTOMATION_DRAFT_UPDATE\n   * @adminMethod\n   */\n  function updateDraftAutomation(_id: string | null, automation: UpdateDraftAutomation, options?: UpdateDraftAutomationOptions): Promise<UpdateDraftAutomationResponse>;\n  interface UpdateDraftAutomation {\n      /** Application info */\n      applicationInfo?: ApplicationOrigin;\n      /** Preinstalled info */\n      preinstalledInfo?: PreinstalledOrigin;\n      /**\n       * Automation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the automation is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the automation.\n       *\n       * Ignored when creating an automation.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Information about the creator of the automation.\n       * @readonly\n       */\n      createdBy?: AuditInfo;\n      /**\n       * Date and time the automation was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * The entity that last updated the automation.\n       * @readonly\n       */\n      updatedBy?: AuditInfo;\n      /**\n       * Date and time the automation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Automation name that is displayed on the user's site. */\n      name?: string;\n      /** Automation description. */\n      description?: string | null;\n      /** Object that defines the automation's trigger, actions, and activation status. */\n      configuration?: AutomationConfiguration;\n      /** Defines how the automation was added to the site. */\n      origin?: Origin;\n      /** Automation settings. */\n      settings?: AutomationSettings;\n      /**\n       * Draft info (optional - only if the automation is a draft)\n       * @readonly\n       */\n      draftInfo?: DraftInfo;\n      /** Namespace */\n      namespace?: string | null;\n      /**\n       * Enrichments in use\n       * @internal\n       * @readonly\n       */\n      enrichments?: Enrichments;\n      /**\n       * Date and time the automation's draft was last updated.\n       * @internal\n       * @readonly\n       */\n      draftUpdatedDate?: Date | null;\n  }\n  interface UpdateDraftAutomationOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Retrieves a list of automations including drafts. Max query filter depth is 3.\n   *\n   * Relevant automations for the query are returned. This includes automations created on the site and pre-installed automations.\n   * If there's an existing override for a pre-installed automation, the override is returned in the query result.\n   * The query only returns automations from apps that are installed on the site.\n   *\n   * - new drafts that are not related to existing automations will be returned in the list\n   * - the response will contain a map of originalAutomationId => relatedDrafts\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.AUTOMATION_DRAFT_READ\n   * @adminMethod\n   */\n  function queryAutomationsWithDrafts(options?: QueryAutomationsWithDraftsOptions): Promise<QueryAutomationsWithDraftsResponse>;\n  interface QueryAutomationsWithDraftsOptions {\n      /** WQL expression. */\n      query?: CursorQuery;\n  }\n  /**\n   * Deletes a draft automation.\n   * @param automationId - Id of the draft automation to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_DRAFT_DELETE\n   * @adminMethod\n   */\n  function deleteDraftAutomation(automationId: string): Promise<void>;\n  /**\n   * Publishes a draft automation, applying the changes to live automation\n   * @param automationId - Id of the draft automation to publish.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_UPDATE\n   * @adminMethod\n   */\n  function publishDraftAutomation(automationId: string): Promise<PublishDraftAutomationResponse>;\n  /**\n   * Validates the automation without requiring the automation ID to be passed in.\n   * @param automation - Automation to validate.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automation\n   * @permissionId AUTOMATIONS.AUTOMATION_VALIDATE\n   * @adminMethod\n   */\n  function validateAutomation(automation: Automation, options?: ValidateAutomationOptions): Promise<ValidateAutomationResponse>;\n  interface ValidateAutomationOptions {\n      /** Settings to customize the validation. */\n      validationSettings?: ValidationSettings;\n  }\n  /**\n   * Gets the payload schema received by the action whose ID is passed in.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.actionId\n   * @requiredField identifiers.automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   */\n  function getAutomationActionSchema(identifiers: GetAutomationActionSchemaIdentifiers): Promise<GetAutomationActionSchemaResponse>;\n  interface GetAutomationActionSchemaIdentifiers {\n      /** Automation ID */\n      automationId: string;\n      /** Action ID */\n      actionId: string;\n  }\n  /**\n   * Gets action quota information.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   */\n  function getActionsQuotaInfo(): Promise<GetActionsQuotaInfoResponse>;\n  \n  type automationsV2Automation_universal_d_Automation = Automation;\n  type automationsV2Automation_universal_d_AutomationOriginInfoOneOf = AutomationOriginInfoOneOf;\n  type automationsV2Automation_universal_d_ActionSettings = ActionSettings;\n  type automationsV2Automation_universal_d_Domain = Domain;\n  const automationsV2Automation_universal_d_Domain: typeof Domain;\n  type automationsV2Automation_universal_d_Enrichment = Enrichment;\n  type automationsV2Automation_universal_d_AuditInfo = AuditInfo;\n  type automationsV2Automation_universal_d_AuditInfoIdOneOf = AuditInfoIdOneOf;\n  type automationsV2Automation_universal_d_AutomationConfiguration = AutomationConfiguration;\n  type automationsV2Automation_universal_d_TimeUnit = TimeUnit;\n  const automationsV2Automation_universal_d_TimeUnit: typeof TimeUnit;\n  type automationsV2Automation_universal_d_Filter = Filter;\n  type automationsV2Automation_universal_d_FutureDateActivationOffset = FutureDateActivationOffset;\n  type automationsV2Automation_universal_d_RateLimit = RateLimit;\n  type automationsV2Automation_universal_d_ConditionExpressionGroup = ConditionExpressionGroup;\n  type automationsV2Automation_universal_d_Operator = Operator;\n  const automationsV2Automation_universal_d_Operator: typeof Operator;\n  type automationsV2Automation_universal_d_Type = Type;\n  const automationsV2Automation_universal_d_Type: typeof Type;\n  type automationsV2Automation_universal_d_AppDefinedAction = AppDefinedAction;\n  type automationsV2Automation_universal_d_ConditionAction = ConditionAction;\n  type automationsV2Automation_universal_d_DelayAction = DelayAction;\n  type automationsV2Automation_universal_d_RateLimitAction = RateLimitAction;\n  type automationsV2Automation_universal_d_SetVariablesAction = SetVariablesAction;\n  type automationsV2Automation_universal_d_OutputAction = OutputAction;\n  type automationsV2Automation_universal_d_Status = Status;\n  const automationsV2Automation_universal_d_Status: typeof Status;\n  type automationsV2Automation_universal_d_Trigger = Trigger;\n  type automationsV2Automation_universal_d_Action = Action;\n  type automationsV2Automation_universal_d_ActionInfoOneOf = ActionInfoOneOf;\n  type automationsV2Automation_universal_d_Origin = Origin;\n  const automationsV2Automation_universal_d_Origin: typeof Origin;\n  type automationsV2Automation_universal_d_ApplicationOrigin = ApplicationOrigin;\n  type automationsV2Automation_universal_d_PreinstalledOrigin = PreinstalledOrigin;\n  type automationsV2Automation_universal_d_AutomationSettings = AutomationSettings;\n  type automationsV2Automation_universal_d_DraftInfo = DraftInfo;\n  type automationsV2Automation_universal_d_Enrichments = Enrichments;\n  type automationsV2Automation_universal_d_UpdatedWithPreviousEntity = UpdatedWithPreviousEntity;\n  type automationsV2Automation_universal_d_DeletedWithEntity = DeletedWithEntity;\n  type automationsV2Automation_universal_d_DraftPublished = DraftPublished;\n  type automationsV2Automation_universal_d_GetAutomationRevisionRequest = GetAutomationRevisionRequest;\n  type automationsV2Automation_universal_d_GetAutomationRevisionResponse = GetAutomationRevisionResponse;\n  type automationsV2Automation_universal_d_DomainEvent = DomainEvent;\n  type automationsV2Automation_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type automationsV2Automation_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type automationsV2Automation_universal_d_RestoreInfo = RestoreInfo;\n  type automationsV2Automation_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type automationsV2Automation_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type automationsV2Automation_universal_d_ActionEvent = ActionEvent;\n  type automationsV2Automation_universal_d_MessageEnvelope = MessageEnvelope;\n  type automationsV2Automation_universal_d_IdentificationData = IdentificationData;\n  type automationsV2Automation_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type automationsV2Automation_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const automationsV2Automation_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type automationsV2Automation_universal_d_CreateAutomationRequest = CreateAutomationRequest;\n  type automationsV2Automation_universal_d_CreateAutomationResponse = CreateAutomationResponse;\n  type automationsV2Automation_universal_d_GetAutomationRequest = GetAutomationRequest;\n  type automationsV2Automation_universal_d_GetAutomationResponse = GetAutomationResponse;\n  type automationsV2Automation_universal_d_UpdateAutomationRequest = UpdateAutomationRequest;\n  type automationsV2Automation_universal_d_UpdateAutomationResponse = UpdateAutomationResponse;\n  type automationsV2Automation_universal_d_DeleteAutomationRequest = DeleteAutomationRequest;\n  type automationsV2Automation_universal_d_DeleteAutomationResponse = DeleteAutomationResponse;\n  type automationsV2Automation_universal_d_BulkDeleteAutomationsRequest = BulkDeleteAutomationsRequest;\n  type automationsV2Automation_universal_d_BulkDeleteAutomationsResponse = BulkDeleteAutomationsResponse;\n  type automationsV2Automation_universal_d_BulkDeleteResult = BulkDeleteResult;\n  type automationsV2Automation_universal_d_ItemMetadata = ItemMetadata;\n  type automationsV2Automation_universal_d_ApplicationError = ApplicationError;\n  type automationsV2Automation_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type automationsV2Automation_universal_d_CreatePreinstalledAutomationRequest = CreatePreinstalledAutomationRequest;\n  type automationsV2Automation_universal_d_PreinstalledAutomationSpecInfo = PreinstalledAutomationSpecInfo;\n  type automationsV2Automation_universal_d_OriginAutomationInfo = OriginAutomationInfo;\n  type automationsV2Automation_universal_d_CreatePreinstalledAutomationResponse = CreatePreinstalledAutomationResponse;\n  type automationsV2Automation_universal_d_UpdatePreinstalledAutomationRequest = UpdatePreinstalledAutomationRequest;\n  type automationsV2Automation_universal_d_UpdatePreinstalledAutomationResponse = UpdatePreinstalledAutomationResponse;\n  type automationsV2Automation_universal_d_DeletePreinstalledAutomationRequest = DeletePreinstalledAutomationRequest;\n  type automationsV2Automation_universal_d_DeletePreinstalledAutomationResponse = DeletePreinstalledAutomationResponse;\n  type automationsV2Automation_universal_d_GeneratePreinstalledAutomationRequest = GeneratePreinstalledAutomationRequest;\n  type automationsV2Automation_universal_d_GeneratePreinstalledAutomationResponse = GeneratePreinstalledAutomationResponse;\n  type automationsV2Automation_universal_d_QueryPreinstalledAutomationsForAppRequest = QueryPreinstalledAutomationsForAppRequest;\n  type automationsV2Automation_universal_d_CommonCursorQuery = CommonCursorQuery;\n  type automationsV2Automation_universal_d_CommonCursorQueryPagingMethodOneOf = CommonCursorQueryPagingMethodOneOf;\n  type automationsV2Automation_universal_d_CommonSorting = CommonSorting;\n  type automationsV2Automation_universal_d_CommonSortOrder = CommonSortOrder;\n  const automationsV2Automation_universal_d_CommonSortOrder: typeof CommonSortOrder;\n  type automationsV2Automation_universal_d_CommonCursorPaging = CommonCursorPaging;\n  type automationsV2Automation_universal_d_QueryPreinstalledAutomationsForAppResponse = QueryPreinstalledAutomationsForAppResponse;\n  type automationsV2Automation_universal_d_CommonCursorPagingMetadata = CommonCursorPagingMetadata;\n  type automationsV2Automation_universal_d_CommonCursors = CommonCursors;\n  type automationsV2Automation_universal_d_QueryAutomationsRequest = QueryAutomationsRequest;\n  type automationsV2Automation_universal_d_CursorQuery = CursorQuery;\n  type automationsV2Automation_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type automationsV2Automation_universal_d_Sorting = Sorting;\n  type automationsV2Automation_universal_d_SortOrder = SortOrder;\n  const automationsV2Automation_universal_d_SortOrder: typeof SortOrder;\n  type automationsV2Automation_universal_d_CursorPaging = CursorPaging;\n  type automationsV2Automation_universal_d_QueryAutomationsResponse = QueryAutomationsResponse;\n  type automationsV2Automation_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type automationsV2Automation_universal_d_Cursors = Cursors;\n  type automationsV2Automation_universal_d_Empty = Empty;\n  type automationsV2Automation_universal_d_CopyAutomationRequest = CopyAutomationRequest;\n  type automationsV2Automation_universal_d_CopyAutomationResponse = CopyAutomationResponse;\n  type automationsV2Automation_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type automationsV2Automation_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type automationsV2Automation_universal_d_Asset = Asset;\n  type automationsV2Automation_universal_d_State = State;\n  const automationsV2Automation_universal_d_State: typeof State;\n  type automationsV2Automation_universal_d_SiteCreated = SiteCreated;\n  type automationsV2Automation_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const automationsV2Automation_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type automationsV2Automation_universal_d_Namespace = Namespace;\n  const automationsV2Automation_universal_d_Namespace: typeof Namespace;\n  type automationsV2Automation_universal_d_SiteTransferred = SiteTransferred;\n  type automationsV2Automation_universal_d_SiteDeleted = SiteDeleted;\n  type automationsV2Automation_universal_d_DeleteContext = DeleteContext;\n  type automationsV2Automation_universal_d_DeleteStatus = DeleteStatus;\n  const automationsV2Automation_universal_d_DeleteStatus: typeof DeleteStatus;\n  type automationsV2Automation_universal_d_SiteUndeleted = SiteUndeleted;\n  type automationsV2Automation_universal_d_SitePublished = SitePublished;\n  type automationsV2Automation_universal_d_SiteUnpublished = SiteUnpublished;\n  type automationsV2Automation_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type automationsV2Automation_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type automationsV2Automation_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type automationsV2Automation_universal_d_ServiceRemoved = ServiceRemoved;\n  type automationsV2Automation_universal_d_SiteRenamed = SiteRenamed;\n  type automationsV2Automation_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type automationsV2Automation_universal_d_NamespaceChanged = NamespaceChanged;\n  type automationsV2Automation_universal_d_StudioAssigned = StudioAssigned;\n  type automationsV2Automation_universal_d_StudioUnassigned = StudioUnassigned;\n  type automationsV2Automation_universal_d_CreateDraftAutomationRequest = CreateDraftAutomationRequest;\n  type automationsV2Automation_universal_d_CreateDraftAutomationResponse = CreateDraftAutomationResponse;\n  type automationsV2Automation_universal_d_GetOrCreateDraftAutomationRequest = GetOrCreateDraftAutomationRequest;\n  type automationsV2Automation_universal_d_GetOrCreateDraftAutomationResponse = GetOrCreateDraftAutomationResponse;\n  type automationsV2Automation_universal_d_UpdateDraftAutomationRequest = UpdateDraftAutomationRequest;\n  type automationsV2Automation_universal_d_UpdateDraftAutomationResponse = UpdateDraftAutomationResponse;\n  type automationsV2Automation_universal_d_QueryAutomationsWithDraftsRequest = QueryAutomationsWithDraftsRequest;\n  type automationsV2Automation_universal_d_QueryAutomationsWithDraftsResponse = QueryAutomationsWithDraftsResponse;\n  type automationsV2Automation_universal_d_DraftsInfo = DraftsInfo;\n  type automationsV2Automation_universal_d_DeleteDraftAutomationRequest = DeleteDraftAutomationRequest;\n  type automationsV2Automation_universal_d_DeleteDraftAutomationResponse = DeleteDraftAutomationResponse;\n  type automationsV2Automation_universal_d_PublishDraftAutomationRequest = PublishDraftAutomationRequest;\n  type automationsV2Automation_universal_d_PublishDraftAutomationResponse = PublishDraftAutomationResponse;\n  type automationsV2Automation_universal_d_ValidateAutomationRequest = ValidateAutomationRequest;\n  type automationsV2Automation_universal_d_ValidationSettings = ValidationSettings;\n  type automationsV2Automation_universal_d_ValidateAutomationResponse = ValidateAutomationResponse;\n  type automationsV2Automation_universal_d_TriggerValidationError = TriggerValidationError;\n  type automationsV2Automation_universal_d_TriggerValidationErrorErrorOneOf = TriggerValidationErrorErrorOneOf;\n  type automationsV2Automation_universal_d_TriggerValidationErrorValidationErrorType = TriggerValidationErrorValidationErrorType;\n  const automationsV2Automation_universal_d_TriggerValidationErrorValidationErrorType: typeof TriggerValidationErrorValidationErrorType;\n  type automationsV2Automation_universal_d_TriggerConfigurationError = TriggerConfigurationError;\n  type automationsV2Automation_universal_d_TriggerErrorType = TriggerErrorType;\n  const automationsV2Automation_universal_d_TriggerErrorType: typeof TriggerErrorType;\n  type automationsV2Automation_universal_d_ProviderConfigurationError = ProviderConfigurationError;\n  type automationsV2Automation_universal_d_ValidationErrorSeverity = ValidationErrorSeverity;\n  const automationsV2Automation_universal_d_ValidationErrorSeverity: typeof ValidationErrorSeverity;\n  type automationsV2Automation_universal_d_ActionValidationInfo = ActionValidationInfo;\n  type automationsV2Automation_universal_d_ActionValidationError = ActionValidationError;\n  type automationsV2Automation_universal_d_ActionValidationErrorErrorOneOf = ActionValidationErrorErrorOneOf;\n  type automationsV2Automation_universal_d_ValidationErrorType = ValidationErrorType;\n  const automationsV2Automation_universal_d_ValidationErrorType: typeof ValidationErrorType;\n  type automationsV2Automation_universal_d_ActionConfigurationError = ActionConfigurationError;\n  type automationsV2Automation_universal_d_ActionErrorType = ActionErrorType;\n  const automationsV2Automation_universal_d_ActionErrorType: typeof ActionErrorType;\n  type automationsV2Automation_universal_d_AutomationValidationError = AutomationValidationError;\n  type automationsV2Automation_universal_d_AutomationValidationErrorErrorOneOf = AutomationValidationErrorErrorOneOf;\n  type automationsV2Automation_universal_d_AutomationValidationErrorValidationErrorType = AutomationValidationErrorValidationErrorType;\n  const automationsV2Automation_universal_d_AutomationValidationErrorValidationErrorType: typeof AutomationValidationErrorValidationErrorType;\n  type automationsV2Automation_universal_d_AutomationConfigurationError = AutomationConfigurationError;\n  type automationsV2Automation_universal_d_AutomationErrorType = AutomationErrorType;\n  const automationsV2Automation_universal_d_AutomationErrorType: typeof AutomationErrorType;\n  type automationsV2Automation_universal_d_GetAutomationActionSchemaRequest = GetAutomationActionSchemaRequest;\n  type automationsV2Automation_universal_d_GetAutomationActionSchemaResponse = GetAutomationActionSchemaResponse;\n  type automationsV2Automation_universal_d_GetActionsQuotaInfoRequest = GetActionsQuotaInfoRequest;\n  type automationsV2Automation_universal_d_GetActionsQuotaInfoResponse = GetActionsQuotaInfoResponse;\n  type automationsV2Automation_universal_d_ActionProviderQuotaInfo = ActionProviderQuotaInfo;\n  type automationsV2Automation_universal_d_ActionQuotaInfo = ActionQuotaInfo;\n  type automationsV2Automation_universal_d_QuotaInfo = QuotaInfo;\n  type automationsV2Automation_universal_d_Plan = Plan;\n  type automationsV2Automation_universal_d_Quota = Quota;\n  type automationsV2Automation_universal_d_CTA = CTA;\n  type automationsV2Automation_universal_d_AdditionalInfo = AdditionalInfo;\n  type automationsV2Automation_universal_d_UpgradeCTA = UpgradeCTA;\n  type automationsV2Automation_universal_d_MigrateVeloActionAutomationsRequest = MigrateVeloActionAutomationsRequest;\n  type automationsV2Automation_universal_d_MigrateVeloActionAutomationsResponse = MigrateVeloActionAutomationsResponse;\n  const automationsV2Automation_universal_d_getAutomationRevision: typeof getAutomationRevision;\n  type automationsV2Automation_universal_d_GetAutomationRevisionOptions = GetAutomationRevisionOptions;\n  const automationsV2Automation_universal_d_createAutomation: typeof createAutomation;\n  const automationsV2Automation_universal_d_getAutomation: typeof getAutomation;\n  type automationsV2Automation_universal_d_GetAutomationOptions = GetAutomationOptions;\n  const automationsV2Automation_universal_d_updateAutomation: typeof updateAutomation;\n  type automationsV2Automation_universal_d_UpdateAutomation = UpdateAutomation;\n  type automationsV2Automation_universal_d_UpdateAutomationOptions = UpdateAutomationOptions;\n  const automationsV2Automation_universal_d_deleteAutomation: typeof deleteAutomation;\n  const automationsV2Automation_universal_d_bulkDeleteAutomations: typeof bulkDeleteAutomations;\n  const automationsV2Automation_universal_d_createPreinstalledAutomation: typeof createPreinstalledAutomation;\n  type automationsV2Automation_universal_d_CreatePreinstalledAutomationOptions = CreatePreinstalledAutomationOptions;\n  const automationsV2Automation_universal_d_updatePreinstalledAutomation: typeof updatePreinstalledAutomation;\n  type automationsV2Automation_universal_d_UpdatePreinstalledAutomationOptions = UpdatePreinstalledAutomationOptions;\n  const automationsV2Automation_universal_d_deletePreinstalledAutomation: typeof deletePreinstalledAutomation;\n  type automationsV2Automation_universal_d_DeletePreinstalledAutomationOptions = DeletePreinstalledAutomationOptions;\n  const automationsV2Automation_universal_d_generatePreinstalledAutomation: typeof generatePreinstalledAutomation;\n  const automationsV2Automation_universal_d_queryPreinstalledAutomationsForApp: typeof queryPreinstalledAutomationsForApp;\n  type automationsV2Automation_universal_d_QueryPreinstalledAutomationsForAppOptions = QueryPreinstalledAutomationsForAppOptions;\n  const automationsV2Automation_universal_d_queryAutomations: typeof queryAutomations;\n  type automationsV2Automation_universal_d_AutomationsQueryResult = AutomationsQueryResult;\n  type automationsV2Automation_universal_d_AutomationsQueryBuilder = AutomationsQueryBuilder;\n  const automationsV2Automation_universal_d_copyAutomation: typeof copyAutomation;\n  type automationsV2Automation_universal_d_CopyAutomationOptions = CopyAutomationOptions;\n  const automationsV2Automation_universal_d_createDraftAutomation: typeof createDraftAutomation;\n  type automationsV2Automation_universal_d_CreateDraftAutomationOptions = CreateDraftAutomationOptions;\n  const automationsV2Automation_universal_d_getOrCreateDraftAutomation: typeof getOrCreateDraftAutomation;\n  const automationsV2Automation_universal_d_updateDraftAutomation: typeof updateDraftAutomation;\n  type automationsV2Automation_universal_d_UpdateDraftAutomation = UpdateDraftAutomation;\n  type automationsV2Automation_universal_d_UpdateDraftAutomationOptions = UpdateDraftAutomationOptions;\n  const automationsV2Automation_universal_d_queryAutomationsWithDrafts: typeof queryAutomationsWithDrafts;\n  type automationsV2Automation_universal_d_QueryAutomationsWithDraftsOptions = QueryAutomationsWithDraftsOptions;\n  const automationsV2Automation_universal_d_deleteDraftAutomation: typeof deleteDraftAutomation;\n  const automationsV2Automation_universal_d_publishDraftAutomation: typeof publishDraftAutomation;\n  const automationsV2Automation_universal_d_validateAutomation: typeof validateAutomation;\n  type automationsV2Automation_universal_d_ValidateAutomationOptions = ValidateAutomationOptions;\n  const automationsV2Automation_universal_d_getAutomationActionSchema: typeof getAutomationActionSchema;\n  type automationsV2Automation_universal_d_GetAutomationActionSchemaIdentifiers = GetAutomationActionSchemaIdentifiers;\n  const automationsV2Automation_universal_d_getActionsQuotaInfo: typeof getActionsQuotaInfo;\n  namespace automationsV2Automation_universal_d {\n    export {\n      automationsV2Automation_universal_d_Automation as Automation,\n      automationsV2Automation_universal_d_AutomationOriginInfoOneOf as AutomationOriginInfoOneOf,\n      automationsV2Automation_universal_d_ActionSettings as ActionSettings,\n      automationsV2Automation_universal_d_Domain as Domain,\n      automationsV2Automation_universal_d_Enrichment as Enrichment,\n      automationsV2Automation_universal_d_AuditInfo as AuditInfo,\n      automationsV2Automation_universal_d_AuditInfoIdOneOf as AuditInfoIdOneOf,\n      automationsV2Automation_universal_d_AutomationConfiguration as AutomationConfiguration,\n      automationsV2Automation_universal_d_TimeUnit as TimeUnit,\n      automationsV2Automation_universal_d_Filter as Filter,\n      automationsV2Automation_universal_d_FutureDateActivationOffset as FutureDateActivationOffset,\n      automationsV2Automation_universal_d_RateLimit as RateLimit,\n      automationsV2Automation_universal_d_ConditionExpressionGroup as ConditionExpressionGroup,\n      automationsV2Automation_universal_d_Operator as Operator,\n      automationsV2Automation_universal_d_Type as Type,\n      automationsV2Automation_universal_d_AppDefinedAction as AppDefinedAction,\n      automationsV2Automation_universal_d_ConditionAction as ConditionAction,\n      automationsV2Automation_universal_d_DelayAction as DelayAction,\n      automationsV2Automation_universal_d_RateLimitAction as RateLimitAction,\n      automationsV2Automation_universal_d_SetVariablesAction as SetVariablesAction,\n      automationsV2Automation_universal_d_OutputAction as OutputAction,\n      automationsV2Automation_universal_d_Status as Status,\n      automationsV2Automation_universal_d_Trigger as Trigger,\n      automationsV2Automation_universal_d_Action as Action,\n      automationsV2Automation_universal_d_ActionInfoOneOf as ActionInfoOneOf,\n      automationsV2Automation_universal_d_Origin as Origin,\n      automationsV2Automation_universal_d_ApplicationOrigin as ApplicationOrigin,\n      automationsV2Automation_universal_d_PreinstalledOrigin as PreinstalledOrigin,\n      automationsV2Automation_universal_d_AutomationSettings as AutomationSettings,\n      automationsV2Automation_universal_d_DraftInfo as DraftInfo,\n      automationsV2Automation_universal_d_Enrichments as Enrichments,\n      automationsV2Automation_universal_d_UpdatedWithPreviousEntity as UpdatedWithPreviousEntity,\n      automationsV2Automation_universal_d_DeletedWithEntity as DeletedWithEntity,\n      automationsV2Automation_universal_d_DraftPublished as DraftPublished,\n      automationsV2Automation_universal_d_GetAutomationRevisionRequest as GetAutomationRevisionRequest,\n      automationsV2Automation_universal_d_GetAutomationRevisionResponse as GetAutomationRevisionResponse,\n      automationsV2Automation_universal_d_DomainEvent as DomainEvent,\n      automationsV2Automation_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      automationsV2Automation_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      automationsV2Automation_universal_d_RestoreInfo as RestoreInfo,\n      automationsV2Automation_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      automationsV2Automation_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      automationsV2Automation_universal_d_ActionEvent as ActionEvent,\n      automationsV2Automation_universal_d_MessageEnvelope as MessageEnvelope,\n      automationsV2Automation_universal_d_IdentificationData as IdentificationData,\n      automationsV2Automation_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      automationsV2Automation_universal_d_WebhookIdentityType as WebhookIdentityType,\n      automationsV2Automation_universal_d_CreateAutomationRequest as CreateAutomationRequest,\n      automationsV2Automation_universal_d_CreateAutomationResponse as CreateAutomationResponse,\n      automationsV2Automation_universal_d_GetAutomationRequest as GetAutomationRequest,\n      automationsV2Automation_universal_d_GetAutomationResponse as GetAutomationResponse,\n      automationsV2Automation_universal_d_UpdateAutomationRequest as UpdateAutomationRequest,\n      automationsV2Automation_universal_d_UpdateAutomationResponse as UpdateAutomationResponse,\n      automationsV2Automation_universal_d_DeleteAutomationRequest as DeleteAutomationRequest,\n      automationsV2Automation_universal_d_DeleteAutomationResponse as DeleteAutomationResponse,\n      automationsV2Automation_universal_d_BulkDeleteAutomationsRequest as BulkDeleteAutomationsRequest,\n      automationsV2Automation_universal_d_BulkDeleteAutomationsResponse as BulkDeleteAutomationsResponse,\n      automationsV2Automation_universal_d_BulkDeleteResult as BulkDeleteResult,\n      automationsV2Automation_universal_d_ItemMetadata as ItemMetadata,\n      automationsV2Automation_universal_d_ApplicationError as ApplicationError,\n      automationsV2Automation_universal_d_BulkActionMetadata as BulkActionMetadata,\n      automationsV2Automation_universal_d_CreatePreinstalledAutomationRequest as CreatePreinstalledAutomationRequest,\n      automationsV2Automation_universal_d_PreinstalledAutomationSpecInfo as PreinstalledAutomationSpecInfo,\n      automationsV2Automation_universal_d_OriginAutomationInfo as OriginAutomationInfo,\n      automationsV2Automation_universal_d_CreatePreinstalledAutomationResponse as CreatePreinstalledAutomationResponse,\n      automationsV2Automation_universal_d_UpdatePreinstalledAutomationRequest as UpdatePreinstalledAutomationRequest,\n      automationsV2Automation_universal_d_UpdatePreinstalledAutomationResponse as UpdatePreinstalledAutomationResponse,\n      automationsV2Automation_universal_d_DeletePreinstalledAutomationRequest as DeletePreinstalledAutomationRequest,\n      automationsV2Automation_universal_d_DeletePreinstalledAutomationResponse as DeletePreinstalledAutomationResponse,\n      automationsV2Automation_universal_d_GeneratePreinstalledAutomationRequest as GeneratePreinstalledAutomationRequest,\n      automationsV2Automation_universal_d_GeneratePreinstalledAutomationResponse as GeneratePreinstalledAutomationResponse,\n      automationsV2Automation_universal_d_QueryPreinstalledAutomationsForAppRequest as QueryPreinstalledAutomationsForAppRequest,\n      automationsV2Automation_universal_d_CommonCursorQuery as CommonCursorQuery,\n      automationsV2Automation_universal_d_CommonCursorQueryPagingMethodOneOf as CommonCursorQueryPagingMethodOneOf,\n      automationsV2Automation_universal_d_CommonSorting as CommonSorting,\n      automationsV2Automation_universal_d_CommonSortOrder as CommonSortOrder,\n      automationsV2Automation_universal_d_CommonCursorPaging as CommonCursorPaging,\n      automationsV2Automation_universal_d_QueryPreinstalledAutomationsForAppResponse as QueryPreinstalledAutomationsForAppResponse,\n      automationsV2Automation_universal_d_CommonCursorPagingMetadata as CommonCursorPagingMetadata,\n      automationsV2Automation_universal_d_CommonCursors as CommonCursors,\n      automationsV2Automation_universal_d_QueryAutomationsRequest as QueryAutomationsRequest,\n      automationsV2Automation_universal_d_CursorQuery as CursorQuery,\n      automationsV2Automation_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      automationsV2Automation_universal_d_Sorting as Sorting,\n      automationsV2Automation_universal_d_SortOrder as SortOrder,\n      automationsV2Automation_universal_d_CursorPaging as CursorPaging,\n      automationsV2Automation_universal_d_QueryAutomationsResponse as QueryAutomationsResponse,\n      automationsV2Automation_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      automationsV2Automation_universal_d_Cursors as Cursors,\n      automationsV2Automation_universal_d_Empty as Empty,\n      automationsV2Automation_universal_d_CopyAutomationRequest as CopyAutomationRequest,\n      automationsV2Automation_universal_d_CopyAutomationResponse as CopyAutomationResponse,\n      automationsV2Automation_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      automationsV2Automation_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      automationsV2Automation_universal_d_Asset as Asset,\n      automationsV2Automation_universal_d_State as State,\n      automationsV2Automation_universal_d_SiteCreated as SiteCreated,\n      automationsV2Automation_universal_d_SiteCreatedContext as SiteCreatedContext,\n      automationsV2Automation_universal_d_Namespace as Namespace,\n      automationsV2Automation_universal_d_SiteTransferred as SiteTransferred,\n      automationsV2Automation_universal_d_SiteDeleted as SiteDeleted,\n      automationsV2Automation_universal_d_DeleteContext as DeleteContext,\n      automationsV2Automation_universal_d_DeleteStatus as DeleteStatus,\n      automationsV2Automation_universal_d_SiteUndeleted as SiteUndeleted,\n      automationsV2Automation_universal_d_SitePublished as SitePublished,\n      automationsV2Automation_universal_d_SiteUnpublished as SiteUnpublished,\n      automationsV2Automation_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      automationsV2Automation_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      automationsV2Automation_universal_d_ServiceProvisioned as ServiceProvisioned,\n      automationsV2Automation_universal_d_ServiceRemoved as ServiceRemoved,\n      automationsV2Automation_universal_d_SiteRenamed as SiteRenamed,\n      automationsV2Automation_universal_d_SiteHardDeleted as SiteHardDeleted,\n      automationsV2Automation_universal_d_NamespaceChanged as NamespaceChanged,\n      automationsV2Automation_universal_d_StudioAssigned as StudioAssigned,\n      automationsV2Automation_universal_d_StudioUnassigned as StudioUnassigned,\n      automationsV2Automation_universal_d_CreateDraftAutomationRequest as CreateDraftAutomationRequest,\n      automationsV2Automation_universal_d_CreateDraftAutomationResponse as CreateDraftAutomationResponse,\n      automationsV2Automation_universal_d_GetOrCreateDraftAutomationRequest as GetOrCreateDraftAutomationRequest,\n      automationsV2Automation_universal_d_GetOrCreateDraftAutomationResponse as GetOrCreateDraftAutomationResponse,\n      automationsV2Automation_universal_d_UpdateDraftAutomationRequest as UpdateDraftAutomationRequest,\n      automationsV2Automation_universal_d_UpdateDraftAutomationResponse as UpdateDraftAutomationResponse,\n      automationsV2Automation_universal_d_QueryAutomationsWithDraftsRequest as QueryAutomationsWithDraftsRequest,\n      automationsV2Automation_universal_d_QueryAutomationsWithDraftsResponse as QueryAutomationsWithDraftsResponse,\n      automationsV2Automation_universal_d_DraftsInfo as DraftsInfo,\n      automationsV2Automation_universal_d_DeleteDraftAutomationRequest as DeleteDraftAutomationRequest,\n      automationsV2Automation_universal_d_DeleteDraftAutomationResponse as DeleteDraftAutomationResponse,\n      automationsV2Automation_universal_d_PublishDraftAutomationRequest as PublishDraftAutomationRequest,\n      automationsV2Automation_universal_d_PublishDraftAutomationResponse as PublishDraftAutomationResponse,\n      automationsV2Automation_universal_d_ValidateAutomationRequest as ValidateAutomationRequest,\n      automationsV2Automation_universal_d_ValidationSettings as ValidationSettings,\n      automationsV2Automation_universal_d_ValidateAutomationResponse as ValidateAutomationResponse,\n      automationsV2Automation_universal_d_TriggerValidationError as TriggerValidationError,\n      automationsV2Automation_universal_d_TriggerValidationErrorErrorOneOf as TriggerValidationErrorErrorOneOf,\n      automationsV2Automation_universal_d_TriggerValidationErrorValidationErrorType as TriggerValidationErrorValidationErrorType,\n      automationsV2Automation_universal_d_TriggerConfigurationError as TriggerConfigurationError,\n      automationsV2Automation_universal_d_TriggerErrorType as TriggerErrorType,\n      automationsV2Automation_universal_d_ProviderConfigurationError as ProviderConfigurationError,\n      automationsV2Automation_universal_d_ValidationErrorSeverity as ValidationErrorSeverity,\n      automationsV2Automation_universal_d_ActionValidationInfo as ActionValidationInfo,\n      automationsV2Automation_universal_d_ActionValidationError as ActionValidationError,\n      automationsV2Automation_universal_d_ActionValidationErrorErrorOneOf as ActionValidationErrorErrorOneOf,\n      automationsV2Automation_universal_d_ValidationErrorType as ValidationErrorType,\n      automationsV2Automation_universal_d_ActionConfigurationError as ActionConfigurationError,\n      automationsV2Automation_universal_d_ActionErrorType as ActionErrorType,\n      automationsV2Automation_universal_d_AutomationValidationError as AutomationValidationError,\n      automationsV2Automation_universal_d_AutomationValidationErrorErrorOneOf as AutomationValidationErrorErrorOneOf,\n      automationsV2Automation_universal_d_AutomationValidationErrorValidationErrorType as AutomationValidationErrorValidationErrorType,\n      automationsV2Automation_universal_d_AutomationConfigurationError as AutomationConfigurationError,\n      automationsV2Automation_universal_d_AutomationErrorType as AutomationErrorType,\n      automationsV2Automation_universal_d_GetAutomationActionSchemaRequest as GetAutomationActionSchemaRequest,\n      automationsV2Automation_universal_d_GetAutomationActionSchemaResponse as GetAutomationActionSchemaResponse,\n      automationsV2Automation_universal_d_GetActionsQuotaInfoRequest as GetActionsQuotaInfoRequest,\n      automationsV2Automation_universal_d_GetActionsQuotaInfoResponse as GetActionsQuotaInfoResponse,\n      automationsV2Automation_universal_d_ActionProviderQuotaInfo as ActionProviderQuotaInfo,\n      automationsV2Automation_universal_d_ActionQuotaInfo as ActionQuotaInfo,\n      automationsV2Automation_universal_d_QuotaInfo as QuotaInfo,\n      automationsV2Automation_universal_d_Plan as Plan,\n      automationsV2Automation_universal_d_Quota as Quota,\n      automationsV2Automation_universal_d_CTA as CTA,\n      automationsV2Automation_universal_d_AdditionalInfo as AdditionalInfo,\n      automationsV2Automation_universal_d_UpgradeCTA as UpgradeCTA,\n      automationsV2Automation_universal_d_MigrateVeloActionAutomationsRequest as MigrateVeloActionAutomationsRequest,\n      automationsV2Automation_universal_d_MigrateVeloActionAutomationsResponse as MigrateVeloActionAutomationsResponse,\n      automationsV2Automation_universal_d_getAutomationRevision as getAutomationRevision,\n      automationsV2Automation_universal_d_GetAutomationRevisionOptions as GetAutomationRevisionOptions,\n      automationsV2Automation_universal_d_createAutomation as createAutomation,\n      automationsV2Automation_universal_d_getAutomation as getAutomation,\n      automationsV2Automation_universal_d_GetAutomationOptions as GetAutomationOptions,\n      automationsV2Automation_universal_d_updateAutomation as updateAutomation,\n      automationsV2Automation_universal_d_UpdateAutomation as UpdateAutomation,\n      automationsV2Automation_universal_d_UpdateAutomationOptions as UpdateAutomationOptions,\n      automationsV2Automation_universal_d_deleteAutomation as deleteAutomation,\n      automationsV2Automation_universal_d_bulkDeleteAutomations as bulkDeleteAutomations,\n      automationsV2Automation_universal_d_createPreinstalledAutomation as createPreinstalledAutomation,\n      automationsV2Automation_universal_d_CreatePreinstalledAutomationOptions as CreatePreinstalledAutomationOptions,\n      automationsV2Automation_universal_d_updatePreinstalledAutomation as updatePreinstalledAutomation,\n      automationsV2Automation_universal_d_UpdatePreinstalledAutomationOptions as UpdatePreinstalledAutomationOptions,\n      automationsV2Automation_universal_d_deletePreinstalledAutomation as deletePreinstalledAutomation,\n      automationsV2Automation_universal_d_DeletePreinstalledAutomationOptions as DeletePreinstalledAutomationOptions,\n      automationsV2Automation_universal_d_generatePreinstalledAutomation as generatePreinstalledAutomation,\n      automationsV2Automation_universal_d_queryPreinstalledAutomationsForApp as queryPreinstalledAutomationsForApp,\n      automationsV2Automation_universal_d_QueryPreinstalledAutomationsForAppOptions as QueryPreinstalledAutomationsForAppOptions,\n      automationsV2Automation_universal_d_queryAutomations as queryAutomations,\n      automationsV2Automation_universal_d_AutomationsQueryResult as AutomationsQueryResult,\n      automationsV2Automation_universal_d_AutomationsQueryBuilder as AutomationsQueryBuilder,\n      automationsV2Automation_universal_d_copyAutomation as copyAutomation,\n      automationsV2Automation_universal_d_CopyAutomationOptions as CopyAutomationOptions,\n      automationsV2Automation_universal_d_createDraftAutomation as createDraftAutomation,\n      automationsV2Automation_universal_d_CreateDraftAutomationOptions as CreateDraftAutomationOptions,\n      automationsV2Automation_universal_d_getOrCreateDraftAutomation as getOrCreateDraftAutomation,\n      automationsV2Automation_universal_d_updateDraftAutomation as updateDraftAutomation,\n      automationsV2Automation_universal_d_UpdateDraftAutomation as UpdateDraftAutomation,\n      automationsV2Automation_universal_d_UpdateDraftAutomationOptions as UpdateDraftAutomationOptions,\n      automationsV2Automation_universal_d_queryAutomationsWithDrafts as queryAutomationsWithDrafts,\n      automationsV2Automation_universal_d_QueryAutomationsWithDraftsOptions as QueryAutomationsWithDraftsOptions,\n      automationsV2Automation_universal_d_deleteDraftAutomation as deleteDraftAutomation,\n      automationsV2Automation_universal_d_publishDraftAutomation as publishDraftAutomation,\n      automationsV2Automation_universal_d_validateAutomation as validateAutomation,\n      automationsV2Automation_universal_d_ValidateAutomationOptions as ValidateAutomationOptions,\n      automationsV2Automation_universal_d_getAutomationActionSchema as getAutomationActionSchema,\n      automationsV2Automation_universal_d_GetAutomationActionSchemaIdentifiers as GetAutomationActionSchemaIdentifiers,\n      automationsV2Automation_universal_d_getActionsQuotaInfo as getActionsQuotaInfo,\n    };\n  }\n  \n  export { automationsV2Activation_universal_d as activations, automationsV2Automation_universal_d as automationsServiceV2 };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-referral.v1.d.ts",
      "content": "declare module \"wix-referral.v1\" {\n  interface ReferralProgram {\n      /** Referral program name. */\n      name?: string | null;\n      /** @readonly */\n      status?: ProgramStatus;\n      /**\n       * Revision number, which increments by 1 each time the program is updated.\n       * To prevent conflicting changes, the current `revision` must be passed when updating the program.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the program was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the program was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Reward configuration for the referred friend.\n       * Specifies the reward given to a new customer who was referred to the business.\n       */\n      referredFriendReward?: Reward$2;\n      /**\n       * Reward configuration for the referring customer.\n       * Specifies the reward given to an existing customer who referred a new customer to the business.\n       */\n      referringCustomerReward?: Reward$2;\n      /** List of actions that complete a referral. For an action to be considered successful, the referred friend must place and pay for an item. */\n      successfulReferralActions?: Action[];\n      /** Configures email notifications for the referral program. */\n      emails?: Emails;\n      /**\n       * Indicates which premium features are available for the current account.\n       * @readonly\n       */\n      premiumFeatures?: PremiumFeatures;\n  }\n  /** Status of the referral program. */\n  enum ProgramStatus {\n      /** Unknown program status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Referral program is in a draft state and is being modified. It is not yet active. */\n      DRAFT = \"DRAFT\",\n      /** Referral program is active. */\n      ACTIVE = \"ACTIVE\",\n      /** Referral program is paused. */\n      PAUSED = \"PAUSED\"\n  }\n  interface Reward$2 extends RewardOptionsOneOf$1 {\n      /** Options for coupon reward type. */\n      couponOptions?: Coupon$2;\n      /** Options for the Loyalty points reward type. */\n      loyaltyPointsOptions?: LoyaltyPoints$2;\n      /** Type of the reward. */\n      type?: Type$1;\n  }\n  /** @oneof */\n  interface RewardOptionsOneOf$1 {\n      /** Options for coupon reward type. */\n      couponOptions?: Coupon$2;\n      /** Options for the Loyalty points reward type. */\n      loyaltyPointsOptions?: LoyaltyPoints$2;\n  }\n  enum Type$1 {\n      /** Unknown reward type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Coupon reward type. */\n      COUPON = \"COUPON\",\n      /** Loyalty points reward type. */\n      LOYALTY_POINTS = \"LOYALTY_POINTS\",\n      /** No reward type. */\n      NOTHING = \"NOTHING\"\n  }\n  interface Coupon$2 extends CouponDiscountTypeOptionsOneOf$2, CouponScopeOrMinSubtotalOneOf$2 {\n      /** Options for fixed amount discount. */\n      fixedAmountOptions?: FixedAmountDiscount$2;\n      /** Options for percentage discounts. */\n      percentageOptions?: PercentageDiscount$2;\n      /** Limit the coupon to carts with a subtotal above this number. */\n      minimumSubtotal?: number;\n      /** Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      scope?: CouponScope$2;\n      /** Coupon name. */\n      name?: string;\n      /** Coupon discount type. */\n      discountType?: DiscountType$2;\n      /**\n       * Whether the coupon is limited to one item.\n       * If `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\n       * Coupons with a bookings `scope.namespace` are always limited to one item.\n       */\n      limitedToOneItem?: boolean | null;\n      /** Whether the coupon applies to subscription products. */\n      appliesToSubscriptions?: boolean | null;\n      /**\n       * Specifies the amount of discounted cycles for a subscription item.\n       *\n       * - Can only be set when `scope.namespace = pricingPlans`.\n       * - If `discountedCycleCount` is empty, the coupon applies to all available cycles.\n       * - `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\n       *\n       * Max: `999`\n       */\n      discountedCycleCount?: number | null;\n  }\n  /** @oneof */\n  interface CouponDiscountTypeOptionsOneOf$2 {\n      /** Options for fixed amount discount. */\n      fixedAmountOptions?: FixedAmountDiscount$2;\n      /** Options for percentage discounts. */\n      percentageOptions?: PercentageDiscount$2;\n  }\n  /** @oneof */\n  interface CouponScopeOrMinSubtotalOneOf$2 {\n      /** Limit the coupon to carts with a subtotal above this number. */\n      minimumSubtotal?: number;\n      /** Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      scope?: CouponScope$2;\n  }\n  enum DiscountType$2 {\n      /** Unknown discount type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Discount as a fixed amount. */\n      FIXED_AMOUNT = \"FIXED_AMOUNT\",\n      /** Discount as a percentage. */\n      PERCENTAGE = \"PERCENTAGE\",\n      /** Free shipping. If `true`, the coupon applies to all items in all `namespaces`. */\n      FREE_SHIPPING = \"FREE_SHIPPING\"\n  }\n  interface FixedAmountDiscount$2 {\n      /** Amount of the discount as a fixed value. */\n      amount?: number;\n  }\n  interface PercentageDiscount$2 {\n      /** Percentage of discount. */\n      percentage?: number;\n  }\n  interface CouponScope$2 {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Coupon scope's applied group, for example, Event or ticket in Wix Events. */\n      group?: Group$2;\n  }\n  interface Group$2 {\n      /** Name of the group. */\n      name?: string;\n      /** Entity ID of the group. */\n      entityId?: string | null;\n  }\n  interface LoyaltyPoints$2 {\n      /** Number of loyalty points to give. */\n      amount?: number;\n  }\n  enum Action {\n      /** Unknown action. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Referred friend ordered and paid for an order in a store. */\n      STORE_ORDER_PLACED = \"STORE_ORDER_PLACED\",\n      /** Referred friend ordered and paid for a plan. */\n      PLAN_ORDERED = \"PLAN_ORDERED\",\n      /** Referred friend ordered and paid for a ticket. */\n      TICKET_ORDERED = \"TICKET_ORDERED\",\n      /** Referred friend booked and paid for a session. */\n      SESSION_BOOKED = \"SESSION_BOOKED\",\n      /** Referred friend placed and paid for a restaurant order. */\n      RESTAURANT_ORDER_PLACED = \"RESTAURANT_ORDER_PLACED\",\n      /** Referred friend joined an online program. */\n      ONLINE_PROGRAM_JOINED = \"ONLINE_PROGRAM_JOINED\"\n  }\n  interface Emails {\n      /** Configures email invitations to encourage customers to refer their friends. Select the apps for which this feature is enabled. */\n      encourageToReferFriends?: App[];\n      /**\n       * Whether to send email notifications to referring customers when they receive a referral reward.\n       * If true, referring customers will be notified by email when their referred friend completes a qualifying action (for example, placing an order).\n       */\n      notifyCustomersAboutReward?: boolean;\n  }\n  enum App {\n      /** Unknown app. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Send an email to customers who've placed an order with stores. */\n      STORES = \"STORES\",\n      /** Send an email to customers who've placed an order with pricing plans. */\n      PRICING_PLANS = \"PRICING_PLANS\",\n      /** Send an email to customers who've placed an order with events. */\n      EVENTS = \"EVENTS\",\n      /** Send an email to customers who've placed an order with bookings. */\n      BOOKINGS = \"BOOKINGS\",\n      /** Send an email to customers who've placed an order with restaurants. */\n      RESTAURANTS = \"RESTAURANTS\"\n  }\n  interface PremiumFeatures {\n      /**\n       * Whether the site owner has access to the referral program feature.\n       * @readonly\n       */\n      referralProgram?: boolean;\n  }\n  interface GetReferralProgramRequest {\n  }\n  interface GetReferralProgramResponse {\n      /** Retrieved referral program. */\n      referralProgram?: ReferralProgram;\n  }\n  interface BulkGetReferralProgramRequest {\n  }\n  interface BulkGetReferralProgramResponse {\n      /** Retrieved referral programs. */\n      programInSites?: ProgramInSite[];\n  }\n  interface ProgramInSite {\n      /** Metasite ID. */\n      metaSiteId?: string;\n      /** Retrieved referral program. */\n      referralProgram?: ReferralProgram;\n  }\n  interface UpdateReferralProgramRequest {\n      /** Referral program to update. Include the latest `revision` for a successful update. */\n      referralProgram: ReferralProgram;\n      /**\n       * Fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateReferralProgramResponse {\n      /** Updated referral program. */\n      referralProgram?: ReferralProgram;\n  }\n  interface ActivateReferralProgramRequest {\n  }\n  interface ActivateReferralProgramResponse {\n      /** Activated referral program. */\n      referralProgram?: ReferralProgram;\n  }\n  interface PauseReferralProgramRequest {\n  }\n  interface PauseReferralProgramResponse {\n      /** Paused referral program. */\n      referralProgram?: ReferralProgram;\n  }\n  interface GetAISocialMediaPostsSuggestionsRequest {\n      /** Topic to generate social media post suggestions for. For example, fitness, education, technology. */\n      topic?: string;\n  }\n  interface GetAISocialMediaPostsSuggestionsResponse {\n      /** Generated social media post suggestions. */\n      suggestions?: AISocialMediaPostSuggestion[];\n      /** Referral URL to refer friends. */\n      referFriendsPageUrl?: string | null;\n  }\n  interface AISocialMediaPostSuggestion {\n      /** Suggested post content. */\n      postContent?: string;\n      /** Suggested hashtags. */\n      hashtags?: string[];\n  }\n  interface GenerateAISocialMediaPostsSuggestionsRequest {\n      /** Topic to generate social media post suggestions for. For example, fitness, education, technology. */\n      topic?: string;\n  }\n  interface GenerateAISocialMediaPostsSuggestionsResponse {\n      /** Generated social media post suggestions. */\n      suggestions?: AISocialMediaPostSuggestion[];\n      /** Referral URL to refer friends. */\n      referFriendsPageUrl?: string | null;\n  }\n  interface GetReferralProgramPremiumFeaturesRequest {\n  }\n  interface GetReferralProgramPremiumFeaturesResponse {\n      /**\n       * Whether the site has the referral program feature enabled.\n       * @readonly\n       */\n      referralProgram?: boolean;\n  }\n  interface DomainEvent$4 extends DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$4 {\n      createdEvent?: EntityCreatedEvent$4;\n      updatedEvent?: EntityUpdatedEvent$4;\n      deletedEvent?: EntityDeletedEvent$4;\n      actionEvent?: ActionEvent$4;\n  }\n  interface EntityCreatedEvent$4 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$4;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$4 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$4 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$4 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$4 {\n      bodyAsJson?: string;\n  }\n  interface Empty$3 {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface HtmlSitePublished {\n      /** Application instance ID */\n      appInstanceId?: string;\n      /** Application type */\n      appType?: string;\n      /** Revision */\n      revision?: string;\n      /** MSID */\n      metaSiteId?: string | null;\n      /** optional branch id if publish is done from branch */\n      branchId?: string | null;\n      /** The site's last transactionId */\n      lastTransactionId?: string | null;\n      /** A list of the site's pages */\n      pages?: Page[];\n      /** Site's publish date */\n      publishDate?: string;\n  }\n  interface Page {\n      /** Page's Id */\n      _id?: string;\n  }\n  interface SubscriptionEvent extends SubscriptionEventEventOneOf {\n      /** Triggered when a subscription is created. */\n      created?: SubscriptionCreated;\n      /**\n       * Triggered when a subscription is assigned to a Wix site, including the initial\n       * assignment of a floating subscription or a re-assignement from a different site.\n       */\n      assigned?: SubscriptionAssigned;\n      /** Triggered when a subscription is canceled. */\n      cancelled?: SubscriptionCancelled;\n      /** Triggered when the subscription's auto renew is turned on. */\n      autoRenewTurnedOn?: SubscriptionAutoRenewTurnedOn;\n      /** Triggered when the subscription's auto renew is turned off. */\n      autoRenewTurnedOff?: SubscriptionAutoRenewTurnedOff;\n      /**\n       * Triggered when a subscription is unassigned from a Wix site and becomes\n       * floating.\n       */\n      unassigned?: SubscriptionUnassigned;\n      /**\n       * Triggered when a subscription is transferred from one Wix account to another.\n       * A transfer includes cancelling the original subscription and creating a new\n       * subscription for the target account. The event returns both the original\n       * and the new subscription.\n       */\n      transferred?: SubscriptionTransferred;\n      /** Triggered when a recurring charge succeeds for a subscription. */\n      recurringChargeSucceeded?: RecurringChargeSucceeded;\n      /**\n       * Triggered when a subscription was updated including when its product has been\n       * up- or downgraded or the billing cycle is changed.\n       */\n      contractSwitched?: ContractSwitched;\n      /**\n       * Triggered when a subscription gets close to the end of its billing cycle.\n       * The exact number of days is defined in the billing system.\n       */\n      nearEndOfPeriod?: SubscriptionNearEndOfPeriod;\n      /**\n       * Triggered when a subscription is updated and the change doesn't happen\n       * immediately but at the end of the current billing cycle.\n       */\n      pendingChange?: SubscriptionPendingChange;\n      /** ID of the subscription's event. */\n      eventId?: string | null;\n      /**\n       * Date and time of the event in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      eventDate?: Date | null;\n  }\n  /** @oneof */\n  interface SubscriptionEventEventOneOf {\n      /** Triggered when a subscription is created. */\n      created?: SubscriptionCreated;\n      /**\n       * Triggered when a subscription is assigned to a Wix site, including the initial\n       * assignment of a floating subscription or a re-assignement from a different site.\n       */\n      assigned?: SubscriptionAssigned;\n      /** Triggered when a subscription is canceled. */\n      cancelled?: SubscriptionCancelled;\n      /** Triggered when the subscription's auto renew is turned on. */\n      autoRenewTurnedOn?: SubscriptionAutoRenewTurnedOn;\n      /** Triggered when the subscription's auto renew is turned off. */\n      autoRenewTurnedOff?: SubscriptionAutoRenewTurnedOff;\n      /**\n       * Triggered when a subscription is unassigned from a Wix site and becomes\n       * floating.\n       */\n      unassigned?: SubscriptionUnassigned;\n      /**\n       * Triggered when a subscription is transferred from one Wix account to another.\n       * A transfer includes cancelling the original subscription and creating a new\n       * subscription for the target account. The event returns both the original\n       * and the new subscription.\n       */\n      transferred?: SubscriptionTransferred;\n      /** Triggered when a recurring charge succeeds for a subscription. */\n      recurringChargeSucceeded?: RecurringChargeSucceeded;\n      /**\n       * Triggered when a subscription was updated including when its product has been\n       * up- or downgraded or the billing cycle is changed.\n       */\n      contractSwitched?: ContractSwitched;\n      /**\n       * Triggered when a subscription gets close to the end of its billing cycle.\n       * The exact number of days is defined in the billing system.\n       */\n      nearEndOfPeriod?: SubscriptionNearEndOfPeriod;\n      /**\n       * Triggered when a subscription is updated and the change doesn't happen\n       * immediately but at the end of the current billing cycle.\n       */\n      pendingChange?: SubscriptionPendingChange;\n  }\n  /** Triggered when a subscription is created. */\n  interface SubscriptionCreated {\n      /** Created subscription. */\n      subscription?: Subscription;\n      /** Metadata for the `created` event. */\n      metadata?: Record<string, string>;\n      /**\n       * Subscription reactivation data.\n       * A subscription can be reactivated for example if it was incorrectly canceled because of fraud and then reactivated\n       * by the billing system\n       */\n      reactivationData?: ReactivationData;\n  }\n  /**\n   * A subscription holds information about a Premium product that a Wix account\n   * owner has purchased including details about the billing.\n   */\n  interface Subscription {\n      /** ID of the subscription. */\n      _id?: string;\n      /** ID of the Wix account that purchased the subscription. */\n      userId?: string;\n      /**\n       * ID of the [product](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/products/product-object)\n       * for which the subscription was purchased.\n       */\n      productId?: string;\n      /**\n       * Date and time the subscription was created in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      createdAt?: Date | null;\n      /**\n       * Date and time the subscription was last updated in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      updatedAt?: Date | null;\n      /**\n       * ID of the metasite that the subscription is assigned to.\n       * Available only when the subscription is assigned to a Wix site.\n       * Subscriptions for account level products can't be assigned to a Wix site.\n       */\n      metaSiteId?: string | null;\n      /** Information about the system that manages the subscription's billing. */\n      billingReference?: BillingReference;\n      /** Information about the billing cycle of the subscription. */\n      cycle?: Cycle;\n      /**\n       * Subscription status.\n       *\n       * + `UNKNOWN`: Default status.\n       * + `AUTO_RENEW_ON`: Subscription is active and automatically renews at the end of the current billing cycle.\n       * + `AUTO_RENEW_OFF`: Subscription is active but expires at the end of the current billing cycle.\n       * + `MANUAL_RECURRING`: Subscription is active and renews at the end of the current billing cycle, in case the customer takes an action related to the payment.\n       * + `CANCELLED`: Subscription isn't active because it has been canceled.\n       * + `TRANSFERRED`: Subscription isn't active because it has been transferred to a different account. A different active subscription was created for the target account.\n       */\n      status?: SubscriptionStatus;\n      /**\n       * Date and time the subscription was last transferred from one Wix account to\n       * another in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       */\n      transferredAt?: Date | null;\n      /**\n       * ID of the [product type](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/product-types/product-type-object)\n       * that the product, for which the subscription was purchased, belongs to.\n       */\n      productTypeId?: string;\n      /** Version number, which increments by 1 each time the subscription is updated. */\n      version?: number;\n      /**\n       * Whether the subscription is active. Includes the statuses\n       * `\"AUTO_RENEW_ON\"`, `\"AUTO_RENEW_OFF\"`, and `\"MANUAL_RECURRING\"`.\n       */\n      active?: boolean;\n      /**\n       * Date and time the subscription was originally created in\n       * [UTC datetime](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)\n       * `YYYY-MM-DDThh:mm:ss.sssZ` format.\n       * Differs from `createdAt` in case the subscription was originally created for a different Wix account and has been transferred.\n       */\n      originalCreationDate?: Date | null;\n      /** Custom metadata about the subscription. */\n      metadata?: Record<string, string>;\n      /**\n       * 2-letter country code in\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format.\n       */\n      countryCode?: string | null;\n  }\n  interface BillingReference {\n      /**\n       * Name of the billing system that manages the subscription.\n       *\n       * + `\"UNKNOWN\"`: Default value.\n       * + `\"SBS\"`: [Wix Billing](https://github.com/wix-p/premium-billing/tree/master/sbs).\n       * + `\"LICENSER\"`:\n       * + `\"BASS\"`: [Billing and Subscriptions System](https://dev.wix.com/docs/rest/internal-only/premium/subscriptions-by-billing-by-wix/introduction).\n       * + `\"RESELLER\"`: [External Reseller](https://dev.wix.com/api/rest/account-level-apis/resellers/introduction).\n       */\n      providerName?: ProviderName;\n      /** Current provider reference ID. */\n      providerReferenceId?: string | null;\n      /** Previous provider reference IDs. Used for when a subscription is extended, specifically for domains. */\n      previousProviderReferenceIds?: string[];\n  }\n  enum ProviderName {\n      UNKNOWN = \"UNKNOWN\",\n      SBS = \"SBS\",\n      LICENSER = \"LICENSER\",\n      BASS = \"BASS\",\n      RESELLER = \"RESELLER\",\n      RECURRING_INVOICES = \"RECURRING_INVOICES\"\n  }\n  interface Cycle extends CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  /** @oneof */\n  interface CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  interface Interval {\n      /** interval unit of measure */\n      unit?: IntervalUnit;\n      /** number of interval */\n      count?: number;\n  }\n  enum IntervalUnit {\n      /** unknown interval unit */\n      UNKNOWN = \"UNKNOWN\",\n      /** day */\n      DAY = \"DAY\",\n      /** week */\n      WEEK = \"WEEK\",\n      /** month */\n      MONTH = \"MONTH\",\n      /** year */\n      YEAR = \"YEAR\"\n  }\n  interface OneTime {\n  }\n  enum SubscriptionStatus {\n      UNKNOWN = \"UNKNOWN\",\n      AUTO_RENEW_ON = \"AUTO_RENEW_ON\",\n      AUTO_RENEW_OFF = \"AUTO_RENEW_OFF\",\n      MANUAL_RECURRING = \"MANUAL_RECURRING\",\n      CANCELLED = \"CANCELLED\",\n      TRANSFERRED = \"TRANSFERRED\"\n  }\n  /** Triggered when a subscription is reactivated. */\n  interface ReactivationData {\n      reactivationReason?: ReactivationReasonEnum;\n      /**\n       * In the event of reactivation after chargeback dispute, the subscription may be extended according to the\n       * number of days it was inactive during the time of resolving the dispute\n       */\n      newEndOfPeriod?: Date | null;\n      /** The original end date, before the inactive period. */\n      oldEndOfPeriod?: Date | null;\n      /** The difference in days between the new new_end_of_period and old_end_of_period */\n      differenceInDays?: number | null;\n  }\n  /** Reason for subscription reactivation */\n  enum ReactivationReasonEnum {\n      UNKNOWN = \"UNKNOWN\",\n      /**\n       * Subscription was reactivated due to billing status change from CANCELED to ACTIVE, for example if it was incorrectly\n       * canceled because of suspicion of fraud\n       */\n      BILLING_STATUS_CHANGE = \"BILLING_STATUS_CHANGE\",\n      /** Subscription was reactivated after a chargeback dispute */\n      REACTIVATED_AFTER_CHARGEBACK = \"REACTIVATED_AFTER_CHARGEBACK\"\n  }\n  /**\n   * Triggered when a subscription is assigned to a Wix site, including the initial\n   * assignment of a floating subscription or a re-assignement from a different site.\n   */\n  interface SubscriptionAssigned {\n      /** Assigned subscription. */\n      subscription?: Subscription;\n      /** ID of the metasite that the subscription has been assigned to before the update. */\n      previousMetaSiteId?: string | null;\n  }\n  /** Triggered when a subscription is canceled. */\n  interface SubscriptionCancelled {\n      /** Canceled subscription. */\n      subscription?: Subscription;\n      /** Details about the cancellation including who canceled the subscription and why. */\n      cancellationDetails?: CancellationDetails;\n      /**\n       * Whether the subscription is canceled immediately or expires at the end of the current billing cycle.\n       *\n       * Default: `false`\n       */\n      immediateCancel?: boolean;\n      /** Whether the subscription was canceled during the free trial period. */\n      canceledInFreeTrial?: boolean;\n  }\n  /** Information about the cancellation flow including who canceled the subscription and why it was canceled. */\n  interface CancellationDetails {\n      /**\n       * Cancellation code.\n       *\n       * Values supported for cancellations on behalf of the billing system: `-1`, `-2`, `-3`, `-4`, `-5`, `-6`, `-7`, `-8`.\n       * For cancellations on behalf of the site owner or the service provider `cancellationCode`\n       * is taken from the request of\n       * [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n       *\n       * + `-1`: The subscription has been cancelled by the billing system but none of the listed cancellation reasons applies.\n       * + `-2`: There were payment problems.\n       * + `-3`: There was a chargeback.\n       * + `-4`: Customer support has canceled the subscription and issued a refund.\n       * + `-5`: The site owner has changed their existing subscription.\n       * + `-6`: The subscription has been transferred to a different Wix account.\n       * + `-7`: The subscription has been canceled because the site owner hasn't manually authenticated the recurring payment during the subscription's grace period. For example, site owners must manually confirm recurring payments within 40 days when paying with boleto.\n       * + `-8`: The Wix account that the subscription belonged to has been deleted.\n       */\n      cancellationCode?: number | null;\n      /**\n       * Cancellation reason. For cancellations on behalf of the site owner or the service provider `cancellationReason`\n       * is taken from the request of\n       * [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n       * For cancellations on behalf of the billing system `cancellationReason` is `null` or an empty string.\n       */\n      cancellationReason?: string | null;\n      /**\n       * Initiator of the cancellation. For `\"USER_REQUESTED\"` and `\"APP_MANAGED\"`,\n       * `cancellationCode` and `cancellationReason` are taken from the request of\n       * [Cancel Immediately](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately)\n       * or [Cancel Immediately Offline](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/cancel-immediately-offline).\n       * For `\"PASSIVE\"`, cancellations `cancellationCode` is automatically calculated and `cancellationReason`\n       * is `null` or an empty string.\n       *\n       * + `\"UNKNOWN`: Default value.\n       * + `\"USER_REQUESTED\"`:  The Wix account owner has canceled the subscription.\n       * + `\"APP_MANAGED\"`: The service provider has canceled the subscription.\n       * + `\"PASSIVE\"`: The billing system has canceled the subscription. For example, in case of payment failure or fraud.\n       */\n      initiator?: Initiator;\n  }\n  enum Initiator {\n      UNKNOWN = \"UNKNOWN\",\n      USER_REQUESTED = \"USER_REQUESTED\",\n      APP_MANAGED = \"APP_MANAGED\",\n      PASSIVE = \"PASSIVE\"\n  }\n  /** Triggered when the subscription's auto renew is turned on. */\n  interface SubscriptionAutoRenewTurnedOn {\n      /** Subscription for which auto renew is turned on. */\n      subscription?: Subscription;\n      /**\n       * Supported values: `USER`, `APP`.\n       *\n       * Information about who turned auto renew on.\n       * + `\"USER\"`: The site owner who purchased the subscription has turned auto renew on.\n       * + `\"APP\"`: The service provider has turned auto renew on.\n       */\n      initiator?: string | null;\n  }\n  /** Triggered when the subscription's auto renew is turned off. */\n  interface SubscriptionAutoRenewTurnedOff {\n      /** Subscription for which auto renew is turned off. */\n      subscription?: Subscription;\n      /** Details about the cancellation including who canceled the subscription and why. */\n      cancellationDetails?: CancellationDetails;\n      /**\n       * Whether the subscription is immediately canceled or expires at the end of the current billing cycle.\n       *\n       * Default: `false`\n       */\n      immediateCancel?: boolean;\n  }\n  /**\n   * Triggered when a subscription is unassigned from a Wix site and becomes\n   * floating.\n   */\n  interface SubscriptionUnassigned {\n      /** Unassigned subscription. */\n      subscription?: Subscription;\n      /** ID of the metasite that the subscription has been assigned to before the event. */\n      previousMetaSiteId?: string;\n      /**\n       * Reason why the subscription is unassigned.\n       *\n       * + `\"UNKNOWN\"`: Default value.\n       * + `\"USER_REQUESTED\"`: The Wix account owner has unassigned the subscription.\n       * + `\"REPLACED_BY_ANOTHER_SUBSCRIPTION\"`: A different subscription that replaces this subscription is assigned to the site.\n       */\n      unassignReason?: UnassignReason;\n  }\n  enum UnassignReason {\n      UNKNOWN = \"UNKNOWN\",\n      USER_REQUESTED = \"USER_REQUESTED\",\n      REPLACED_BY_ANOTHER_SUBSCRIPTION = \"REPLACED_BY_ANOTHER_SUBSCRIPTION\"\n  }\n  /**\n   * Triggered when a subscription is transferred from one Wix account to another.\n   * A transfer includes cancelling the original subscription and creating a new\n   * subscription for the target account. The event returns both the original\n   * and the new subscription.\n   */\n  interface SubscriptionTransferred {\n      /** Original subscription that was canceled for the transfer. */\n      originSubscription?: Subscription;\n      /** Newly created subscription for the target account. */\n      targetSubscription?: Subscription;\n  }\n  /** Triggered when a recurring charge succeeds for a subscription. */\n  interface RecurringChargeSucceeded {\n      /** Subscription for which the recurring charge has succeeded. */\n      subscription?: Subscription;\n      /** Indication that there was a successful charge at the end of the free trial period */\n      freeTrialPeriodEnd?: boolean;\n  }\n  /**\n   * Triggered when a subscription was updated including when its product has been\n   * up- or downgraded or the billing cycle is changed.\n   */\n  interface ContractSwitched {\n      /** Updated subscription. */\n      subscription?: Subscription;\n      /** Billing cycle before the update. */\n      previousCycle?: Cycle;\n      /** ID of the product belonging to the subscription before the update. */\n      previousProductId?: string;\n      /** ID of the product type that the subscription's original product belonged to before the update. */\n      previousProductTypeId?: string;\n      /**\n       * Update type. __Note__: Doesn't include information about a product adjustment.\n       * For that purpose, see `productAdjustment`.\n       *\n       * + `\"NOT_APPLICABLE\"`: Default value.\n       * + `\"ADDITIONAL_QUANTITY\"`: An increased usage quota is added to the subscription. For example, a second mailbox is added to a subscription that previously included a single mailbox.\n       * + `\"CREDIT_UNUSED_PERIOD\"`: The subscription is upgraded and the new price is less than the regular price. The new price applies to every billing cycle, not just the first cycle.\n       * + `\"REFUND_PRICE_DIFF\"`: Not implemented.\n       * + `\"ADJUST_PERIOD_END\"`: Not implemented.\n       * + `\"DOWNGRADE_GRACE_PERIOD\"`: For downgrades during the grace period. In this situation, the site owner hasn’t paid yet and must immediately pay for the downgraded subscription.\n       * + `\"FULL_AMOUNT_PERIOD\"`: For upgrades in which the site owner retains unused benefits. For example, site owners upgrading a Facebook Ads subscription retain their unused FB Ads credit. The unused credit is added to the new credit.\n       * + `\"END_OF_PERIOD\"`: The subscription's billing current cycle is extended because of a downgrade.\n       * + `\"PENDING_CHANGES\"`: The subscription's billing is updated, but the change doesn't apply immediately. Instead, the update becomes effective at the end of current billing cycle.\n       * + `\"DOWNGRADE_RENEWAL\"`: The subscription is downgraded because of a declined payment. This prevents subscriptions from churning.\n       */\n      contractSwitchType?: ContractSwitchType;\n      /**\n       * ID of the metasite the subscription has been assigned to previously.\n       * Available only in case the subscription is assigned to a different site.\n       */\n      previousMetaSiteId?: string | null;\n      /**\n       * Update reason.\n       *\n       * + `\"PRICE_INCREASE\"`: The subscription's price has been increased.\n       * + `\"EXTERNAL_PROVIDER_TRIGGER\"`: Any reason other than a price increase.\n       */\n      contractSwitchReason?: ContractSwitchReason;\n      /** Information about the price update. Available only for updates with a price increase. */\n      productPriceIncreaseData?: ProductPriceIncreaseData;\n      /**\n       * Information about a product adjustment. For example, a downgrade.\n       * __Note__: This isn't the same as `contractSwitchType`.\n       *\n       * + `NOT_APPLICABLE`: There is no information about whether the product has been up- or downgraded.\n       * + `DOWNGRADE`: The product has been downgraded.\n       */\n      productAdjustment?: ProductAdjustment;\n  }\n  /** Copied from SBS */\n  enum ContractSwitchType {\n      NOT_APPLICABLE = \"NOT_APPLICABLE\",\n      ADDITIONAL_QUANTITY = \"ADDITIONAL_QUANTITY\",\n      CREDIT_UNUSED_PERIOD = \"CREDIT_UNUSED_PERIOD\",\n      REFUND_PRICE_DIFF = \"REFUND_PRICE_DIFF\",\n      ADJUST_PERIOD_END = \"ADJUST_PERIOD_END\",\n      DOWNGRADE_GRACE_PERIOD = \"DOWNGRADE_GRACE_PERIOD\",\n      FULL_AMOUNT_PERIOD = \"FULL_AMOUNT_PERIOD\",\n      END_OF_PERIOD = \"END_OF_PERIOD\",\n      PENDING_CHANGES = \"PENDING_CHANGES\",\n      DOWNGRADE_RENEWAL = \"DOWNGRADE_RENEWAL\"\n  }\n  enum ContractSwitchReason {\n      EXTERNAL_PROVIDER_TRIGGER = \"EXTERNAL_PROVIDER_TRIGGER\",\n      PRICE_INCREASE = \"PRICE_INCREASE\"\n  }\n  /** Triggered when a subscription's price is increased. */\n  interface ProductPriceIncreaseData {\n      /** Price of the subscription before the update. */\n      previousPrice?: string | null;\n      /** A value that is used in order to select the correct email template to send the user regarding the price increase. */\n      emailTemplateSelector?: string | null;\n      /** Used to differentiate between migration segments. Does not have to be unique per segment. */\n      segmentName?: string | null;\n      /** Used to determine how the price increase was triggered. */\n      priceIncreaseTrigger?: PriceIncreaseTrigger;\n  }\n  /** Reason for Price Increase Trigger */\n  enum PriceIncreaseTrigger {\n      NEAR_RENEWAL = \"NEAR_RENEWAL\",\n      RECURRING_SUCCESS = \"RECURRING_SUCCESS\",\n      MANUAL = \"MANUAL\"\n  }\n  /** Triggered when a subscription's product is adusted. */\n  enum ProductAdjustment {\n      /** flag to show that the ContractSwitchedEvent is not applicable / needed */\n      NOT_APPLICABLE = \"NOT_APPLICABLE\",\n      /** flag to show that the ContractSwitchedEvent is a Downgrade */\n      DOWNGRADE = \"DOWNGRADE\"\n  }\n  /**\n   * Triggered when a subscription gets close to the end of its billing cycle.\n   * The exact number of days is defined in the billing system.\n   */\n  interface SubscriptionNearEndOfPeriod {\n      /** Subscription that got close to the end of its billing cycle. */\n      subscription?: Subscription;\n      /** Whether the subscription is within the free trial period. */\n      inFreeTrial?: boolean;\n  }\n  /**\n   * Triggered when a subscription is updated and the change doesn't happen\n   * immediately but at the end of the current billing cycle.\n   */\n  interface SubscriptionPendingChange {\n      /** Subscription for which a pending update is triggered. */\n      subscription?: Subscription;\n  }\n  interface MessageEnvelope$4 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$4;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$4 extends IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$4;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$4 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$4 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves the referral program.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.READ_PROGRAM\n   */\n  function getReferralProgram(): Promise<GetReferralProgramResponse>;\n  /**\n   * Retrieves multiple referral programs for all metasites that the caller is the member of.\n   *\n   * Must be called with a [user identity](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities#identity-types).\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.PROGRAM_BULK_READ\n   * @adminMethod\n   */\n  function bulkGetReferralProgram(): Promise<BulkGetReferralProgramResponse>;\n  /**\n   * Updates a referral program. Supports partial updates.\n   *\n   * Revision number, which increments by 1 each time the referral program is updated.\n   * To prevent conflicting changes, the current revision must be passed when updating the referral program.\n   * @param referralProgram - Referral program to update. Include the latest `revision` for a successful update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField referralProgram\n   * @requiredField referralProgram.revision\n   * @permissionId REFERRALS.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function updateReferralProgram(referralProgram: ReferralProgram, options?: UpdateReferralProgramOptions): Promise<UpdateReferralProgramResponse>;\n  interface UpdateReferralProgramOptions {\n      /**\n       * Fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Activates the referral program, changing its status to `ACTIVE`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function activateReferralProgram(): Promise<ActivateReferralProgramResponse>;\n  /**\n   * Pauses the referral program, changing its status to `PAUSED`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function pauseReferralProgram(): Promise<PauseReferralProgramResponse>;\n  /**\n   * Retrieves pre-generated AI social media post suggestions for promoting the referral program.\n   *\n   * This method returns a list of AI-generated social media post suggestions that site owners or members can use to promote the referral program. You can display these suggestions in your app's UI, allowing users to easily copy and share them on their preferred social media platforms.\n   *\n   * >**Note**: This method retrieves existing suggestions. To generate new ones,\n   * use the [Generate AI Social Media Posts Suggestions](https://dev.wix.com/docs/velo/api-reference/wix-marketing-v2/referral-program/programs/generate-ai-social-media-posts-suggestions) method.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function getAiSocialMediaPostsSuggestions(options?: GetAiSocialMediaPostsSuggestionsOptions): Promise<GetAISocialMediaPostsSuggestionsResponse>;\n  interface GetAiSocialMediaPostsSuggestionsOptions {\n      /** Topic to generate social media post suggestions for. For example, fitness, education, technology. */\n      topic?: string;\n  }\n  /**\n   * Creates new AI-generated social media post suggestions for promoting the referral program.\n   *\n   * This method generates new AI-powered social media post suggestions for promoting the referral program. Use it to refresh content or create alternatives to existing suggestions.\n   *\n   * >**Note**: This method generates new suggestions each time it's called. To retrieve existing suggestions without generating new ones, use the [Get AI Social Media Posts Suggestions](https://dev.wix.com/docs/velo/api-reference/wix-marketing-v2/referral-program/programs/get-ai-social-media-posts-suggestions) method.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.MANAGE_PROGRAM\n   * @adminMethod\n   */\n  function generateAiSocialMediaPostsSuggestions(options?: GenerateAiSocialMediaPostsSuggestionsOptions): Promise<GenerateAISocialMediaPostsSuggestionsResponse>;\n  interface GenerateAiSocialMediaPostsSuggestionsOptions {\n      /** Topic to generate social media post suggestions for. For example, fitness, education, technology. */\n      topic?: string;\n  }\n  /**\n   * Retrieves information about the enabled premium features for the referral program.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.READ_PROGRAM\n   */\n  function getReferralProgramPremiumFeatures(): Promise<GetReferralProgramPremiumFeaturesResponse>;\n  \n  type loyaltyReferralV1Program_universal_d_ReferralProgram = ReferralProgram;\n  type loyaltyReferralV1Program_universal_d_ProgramStatus = ProgramStatus;\n  const loyaltyReferralV1Program_universal_d_ProgramStatus: typeof ProgramStatus;\n  type loyaltyReferralV1Program_universal_d_Action = Action;\n  const loyaltyReferralV1Program_universal_d_Action: typeof Action;\n  type loyaltyReferralV1Program_universal_d_Emails = Emails;\n  type loyaltyReferralV1Program_universal_d_App = App;\n  const loyaltyReferralV1Program_universal_d_App: typeof App;\n  type loyaltyReferralV1Program_universal_d_PremiumFeatures = PremiumFeatures;\n  type loyaltyReferralV1Program_universal_d_GetReferralProgramRequest = GetReferralProgramRequest;\n  type loyaltyReferralV1Program_universal_d_GetReferralProgramResponse = GetReferralProgramResponse;\n  type loyaltyReferralV1Program_universal_d_BulkGetReferralProgramRequest = BulkGetReferralProgramRequest;\n  type loyaltyReferralV1Program_universal_d_BulkGetReferralProgramResponse = BulkGetReferralProgramResponse;\n  type loyaltyReferralV1Program_universal_d_ProgramInSite = ProgramInSite;\n  type loyaltyReferralV1Program_universal_d_UpdateReferralProgramRequest = UpdateReferralProgramRequest;\n  type loyaltyReferralV1Program_universal_d_UpdateReferralProgramResponse = UpdateReferralProgramResponse;\n  type loyaltyReferralV1Program_universal_d_ActivateReferralProgramRequest = ActivateReferralProgramRequest;\n  type loyaltyReferralV1Program_universal_d_ActivateReferralProgramResponse = ActivateReferralProgramResponse;\n  type loyaltyReferralV1Program_universal_d_PauseReferralProgramRequest = PauseReferralProgramRequest;\n  type loyaltyReferralV1Program_universal_d_PauseReferralProgramResponse = PauseReferralProgramResponse;\n  type loyaltyReferralV1Program_universal_d_GetAISocialMediaPostsSuggestionsRequest = GetAISocialMediaPostsSuggestionsRequest;\n  type loyaltyReferralV1Program_universal_d_GetAISocialMediaPostsSuggestionsResponse = GetAISocialMediaPostsSuggestionsResponse;\n  type loyaltyReferralV1Program_universal_d_AISocialMediaPostSuggestion = AISocialMediaPostSuggestion;\n  type loyaltyReferralV1Program_universal_d_GenerateAISocialMediaPostsSuggestionsRequest = GenerateAISocialMediaPostsSuggestionsRequest;\n  type loyaltyReferralV1Program_universal_d_GenerateAISocialMediaPostsSuggestionsResponse = GenerateAISocialMediaPostsSuggestionsResponse;\n  type loyaltyReferralV1Program_universal_d_GetReferralProgramPremiumFeaturesRequest = GetReferralProgramPremiumFeaturesRequest;\n  type loyaltyReferralV1Program_universal_d_GetReferralProgramPremiumFeaturesResponse = GetReferralProgramPremiumFeaturesResponse;\n  type loyaltyReferralV1Program_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type loyaltyReferralV1Program_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type loyaltyReferralV1Program_universal_d_Asset = Asset;\n  type loyaltyReferralV1Program_universal_d_State = State;\n  const loyaltyReferralV1Program_universal_d_State: typeof State;\n  type loyaltyReferralV1Program_universal_d_SiteCreated = SiteCreated;\n  type loyaltyReferralV1Program_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const loyaltyReferralV1Program_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type loyaltyReferralV1Program_universal_d_Namespace = Namespace;\n  const loyaltyReferralV1Program_universal_d_Namespace: typeof Namespace;\n  type loyaltyReferralV1Program_universal_d_SiteTransferred = SiteTransferred;\n  type loyaltyReferralV1Program_universal_d_SiteDeleted = SiteDeleted;\n  type loyaltyReferralV1Program_universal_d_DeleteContext = DeleteContext;\n  type loyaltyReferralV1Program_universal_d_DeleteStatus = DeleteStatus;\n  const loyaltyReferralV1Program_universal_d_DeleteStatus: typeof DeleteStatus;\n  type loyaltyReferralV1Program_universal_d_SiteUndeleted = SiteUndeleted;\n  type loyaltyReferralV1Program_universal_d_SitePublished = SitePublished;\n  type loyaltyReferralV1Program_universal_d_SiteUnpublished = SiteUnpublished;\n  type loyaltyReferralV1Program_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type loyaltyReferralV1Program_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type loyaltyReferralV1Program_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type loyaltyReferralV1Program_universal_d_ServiceRemoved = ServiceRemoved;\n  type loyaltyReferralV1Program_universal_d_SiteRenamed = SiteRenamed;\n  type loyaltyReferralV1Program_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type loyaltyReferralV1Program_universal_d_NamespaceChanged = NamespaceChanged;\n  type loyaltyReferralV1Program_universal_d_StudioAssigned = StudioAssigned;\n  type loyaltyReferralV1Program_universal_d_StudioUnassigned = StudioUnassigned;\n  type loyaltyReferralV1Program_universal_d_HtmlSitePublished = HtmlSitePublished;\n  type loyaltyReferralV1Program_universal_d_Page = Page;\n  type loyaltyReferralV1Program_universal_d_SubscriptionEvent = SubscriptionEvent;\n  type loyaltyReferralV1Program_universal_d_SubscriptionEventEventOneOf = SubscriptionEventEventOneOf;\n  type loyaltyReferralV1Program_universal_d_SubscriptionCreated = SubscriptionCreated;\n  type loyaltyReferralV1Program_universal_d_Subscription = Subscription;\n  type loyaltyReferralV1Program_universal_d_BillingReference = BillingReference;\n  type loyaltyReferralV1Program_universal_d_ProviderName = ProviderName;\n  const loyaltyReferralV1Program_universal_d_ProviderName: typeof ProviderName;\n  type loyaltyReferralV1Program_universal_d_Cycle = Cycle;\n  type loyaltyReferralV1Program_universal_d_CycleCycleSelectorOneOf = CycleCycleSelectorOneOf;\n  type loyaltyReferralV1Program_universal_d_Interval = Interval;\n  type loyaltyReferralV1Program_universal_d_IntervalUnit = IntervalUnit;\n  const loyaltyReferralV1Program_universal_d_IntervalUnit: typeof IntervalUnit;\n  type loyaltyReferralV1Program_universal_d_OneTime = OneTime;\n  type loyaltyReferralV1Program_universal_d_SubscriptionStatus = SubscriptionStatus;\n  const loyaltyReferralV1Program_universal_d_SubscriptionStatus: typeof SubscriptionStatus;\n  type loyaltyReferralV1Program_universal_d_ReactivationData = ReactivationData;\n  type loyaltyReferralV1Program_universal_d_ReactivationReasonEnum = ReactivationReasonEnum;\n  const loyaltyReferralV1Program_universal_d_ReactivationReasonEnum: typeof ReactivationReasonEnum;\n  type loyaltyReferralV1Program_universal_d_SubscriptionAssigned = SubscriptionAssigned;\n  type loyaltyReferralV1Program_universal_d_SubscriptionCancelled = SubscriptionCancelled;\n  type loyaltyReferralV1Program_universal_d_CancellationDetails = CancellationDetails;\n  type loyaltyReferralV1Program_universal_d_Initiator = Initiator;\n  const loyaltyReferralV1Program_universal_d_Initiator: typeof Initiator;\n  type loyaltyReferralV1Program_universal_d_SubscriptionAutoRenewTurnedOn = SubscriptionAutoRenewTurnedOn;\n  type loyaltyReferralV1Program_universal_d_SubscriptionAutoRenewTurnedOff = SubscriptionAutoRenewTurnedOff;\n  type loyaltyReferralV1Program_universal_d_SubscriptionUnassigned = SubscriptionUnassigned;\n  type loyaltyReferralV1Program_universal_d_UnassignReason = UnassignReason;\n  const loyaltyReferralV1Program_universal_d_UnassignReason: typeof UnassignReason;\n  type loyaltyReferralV1Program_universal_d_SubscriptionTransferred = SubscriptionTransferred;\n  type loyaltyReferralV1Program_universal_d_RecurringChargeSucceeded = RecurringChargeSucceeded;\n  type loyaltyReferralV1Program_universal_d_ContractSwitched = ContractSwitched;\n  type loyaltyReferralV1Program_universal_d_ContractSwitchType = ContractSwitchType;\n  const loyaltyReferralV1Program_universal_d_ContractSwitchType: typeof ContractSwitchType;\n  type loyaltyReferralV1Program_universal_d_ContractSwitchReason = ContractSwitchReason;\n  const loyaltyReferralV1Program_universal_d_ContractSwitchReason: typeof ContractSwitchReason;\n  type loyaltyReferralV1Program_universal_d_ProductPriceIncreaseData = ProductPriceIncreaseData;\n  type loyaltyReferralV1Program_universal_d_PriceIncreaseTrigger = PriceIncreaseTrigger;\n  const loyaltyReferralV1Program_universal_d_PriceIncreaseTrigger: typeof PriceIncreaseTrigger;\n  type loyaltyReferralV1Program_universal_d_ProductAdjustment = ProductAdjustment;\n  const loyaltyReferralV1Program_universal_d_ProductAdjustment: typeof ProductAdjustment;\n  type loyaltyReferralV1Program_universal_d_SubscriptionNearEndOfPeriod = SubscriptionNearEndOfPeriod;\n  type loyaltyReferralV1Program_universal_d_SubscriptionPendingChange = SubscriptionPendingChange;\n  const loyaltyReferralV1Program_universal_d_getReferralProgram: typeof getReferralProgram;\n  const loyaltyReferralV1Program_universal_d_bulkGetReferralProgram: typeof bulkGetReferralProgram;\n  const loyaltyReferralV1Program_universal_d_updateReferralProgram: typeof updateReferralProgram;\n  type loyaltyReferralV1Program_universal_d_UpdateReferralProgramOptions = UpdateReferralProgramOptions;\n  const loyaltyReferralV1Program_universal_d_activateReferralProgram: typeof activateReferralProgram;\n  const loyaltyReferralV1Program_universal_d_pauseReferralProgram: typeof pauseReferralProgram;\n  const loyaltyReferralV1Program_universal_d_getAiSocialMediaPostsSuggestions: typeof getAiSocialMediaPostsSuggestions;\n  type loyaltyReferralV1Program_universal_d_GetAiSocialMediaPostsSuggestionsOptions = GetAiSocialMediaPostsSuggestionsOptions;\n  const loyaltyReferralV1Program_universal_d_generateAiSocialMediaPostsSuggestions: typeof generateAiSocialMediaPostsSuggestions;\n  type loyaltyReferralV1Program_universal_d_GenerateAiSocialMediaPostsSuggestionsOptions = GenerateAiSocialMediaPostsSuggestionsOptions;\n  const loyaltyReferralV1Program_universal_d_getReferralProgramPremiumFeatures: typeof getReferralProgramPremiumFeatures;\n  namespace loyaltyReferralV1Program_universal_d {\n    export {\n      loyaltyReferralV1Program_universal_d_ReferralProgram as ReferralProgram,\n      loyaltyReferralV1Program_universal_d_ProgramStatus as ProgramStatus,\n      Reward$2 as Reward,\n      RewardOptionsOneOf$1 as RewardOptionsOneOf,\n      Type$1 as Type,\n      Coupon$2 as Coupon,\n      CouponDiscountTypeOptionsOneOf$2 as CouponDiscountTypeOptionsOneOf,\n      CouponScopeOrMinSubtotalOneOf$2 as CouponScopeOrMinSubtotalOneOf,\n      DiscountType$2 as DiscountType,\n      FixedAmountDiscount$2 as FixedAmountDiscount,\n      PercentageDiscount$2 as PercentageDiscount,\n      CouponScope$2 as CouponScope,\n      Group$2 as Group,\n      LoyaltyPoints$2 as LoyaltyPoints,\n      loyaltyReferralV1Program_universal_d_Action as Action,\n      loyaltyReferralV1Program_universal_d_Emails as Emails,\n      loyaltyReferralV1Program_universal_d_App as App,\n      loyaltyReferralV1Program_universal_d_PremiumFeatures as PremiumFeatures,\n      loyaltyReferralV1Program_universal_d_GetReferralProgramRequest as GetReferralProgramRequest,\n      loyaltyReferralV1Program_universal_d_GetReferralProgramResponse as GetReferralProgramResponse,\n      loyaltyReferralV1Program_universal_d_BulkGetReferralProgramRequest as BulkGetReferralProgramRequest,\n      loyaltyReferralV1Program_universal_d_BulkGetReferralProgramResponse as BulkGetReferralProgramResponse,\n      loyaltyReferralV1Program_universal_d_ProgramInSite as ProgramInSite,\n      loyaltyReferralV1Program_universal_d_UpdateReferralProgramRequest as UpdateReferralProgramRequest,\n      loyaltyReferralV1Program_universal_d_UpdateReferralProgramResponse as UpdateReferralProgramResponse,\n      loyaltyReferralV1Program_universal_d_ActivateReferralProgramRequest as ActivateReferralProgramRequest,\n      loyaltyReferralV1Program_universal_d_ActivateReferralProgramResponse as ActivateReferralProgramResponse,\n      loyaltyReferralV1Program_universal_d_PauseReferralProgramRequest as PauseReferralProgramRequest,\n      loyaltyReferralV1Program_universal_d_PauseReferralProgramResponse as PauseReferralProgramResponse,\n      loyaltyReferralV1Program_universal_d_GetAISocialMediaPostsSuggestionsRequest as GetAISocialMediaPostsSuggestionsRequest,\n      loyaltyReferralV1Program_universal_d_GetAISocialMediaPostsSuggestionsResponse as GetAISocialMediaPostsSuggestionsResponse,\n      loyaltyReferralV1Program_universal_d_AISocialMediaPostSuggestion as AISocialMediaPostSuggestion,\n      loyaltyReferralV1Program_universal_d_GenerateAISocialMediaPostsSuggestionsRequest as GenerateAISocialMediaPostsSuggestionsRequest,\n      loyaltyReferralV1Program_universal_d_GenerateAISocialMediaPostsSuggestionsResponse as GenerateAISocialMediaPostsSuggestionsResponse,\n      loyaltyReferralV1Program_universal_d_GetReferralProgramPremiumFeaturesRequest as GetReferralProgramPremiumFeaturesRequest,\n      loyaltyReferralV1Program_universal_d_GetReferralProgramPremiumFeaturesResponse as GetReferralProgramPremiumFeaturesResponse,\n      DomainEvent$4 as DomainEvent,\n      DomainEventBodyOneOf$4 as DomainEventBodyOneOf,\n      EntityCreatedEvent$4 as EntityCreatedEvent,\n      RestoreInfo$4 as RestoreInfo,\n      EntityUpdatedEvent$4 as EntityUpdatedEvent,\n      EntityDeletedEvent$4 as EntityDeletedEvent,\n      ActionEvent$4 as ActionEvent,\n      Empty$3 as Empty,\n      loyaltyReferralV1Program_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      loyaltyReferralV1Program_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      loyaltyReferralV1Program_universal_d_Asset as Asset,\n      loyaltyReferralV1Program_universal_d_State as State,\n      loyaltyReferralV1Program_universal_d_SiteCreated as SiteCreated,\n      loyaltyReferralV1Program_universal_d_SiteCreatedContext as SiteCreatedContext,\n      loyaltyReferralV1Program_universal_d_Namespace as Namespace,\n      loyaltyReferralV1Program_universal_d_SiteTransferred as SiteTransferred,\n      loyaltyReferralV1Program_universal_d_SiteDeleted as SiteDeleted,\n      loyaltyReferralV1Program_universal_d_DeleteContext as DeleteContext,\n      loyaltyReferralV1Program_universal_d_DeleteStatus as DeleteStatus,\n      loyaltyReferralV1Program_universal_d_SiteUndeleted as SiteUndeleted,\n      loyaltyReferralV1Program_universal_d_SitePublished as SitePublished,\n      loyaltyReferralV1Program_universal_d_SiteUnpublished as SiteUnpublished,\n      loyaltyReferralV1Program_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      loyaltyReferralV1Program_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      loyaltyReferralV1Program_universal_d_ServiceProvisioned as ServiceProvisioned,\n      loyaltyReferralV1Program_universal_d_ServiceRemoved as ServiceRemoved,\n      loyaltyReferralV1Program_universal_d_SiteRenamed as SiteRenamed,\n      loyaltyReferralV1Program_universal_d_SiteHardDeleted as SiteHardDeleted,\n      loyaltyReferralV1Program_universal_d_NamespaceChanged as NamespaceChanged,\n      loyaltyReferralV1Program_universal_d_StudioAssigned as StudioAssigned,\n      loyaltyReferralV1Program_universal_d_StudioUnassigned as StudioUnassigned,\n      loyaltyReferralV1Program_universal_d_HtmlSitePublished as HtmlSitePublished,\n      loyaltyReferralV1Program_universal_d_Page as Page,\n      loyaltyReferralV1Program_universal_d_SubscriptionEvent as SubscriptionEvent,\n      loyaltyReferralV1Program_universal_d_SubscriptionEventEventOneOf as SubscriptionEventEventOneOf,\n      loyaltyReferralV1Program_universal_d_SubscriptionCreated as SubscriptionCreated,\n      loyaltyReferralV1Program_universal_d_Subscription as Subscription,\n      loyaltyReferralV1Program_universal_d_BillingReference as BillingReference,\n      loyaltyReferralV1Program_universal_d_ProviderName as ProviderName,\n      loyaltyReferralV1Program_universal_d_Cycle as Cycle,\n      loyaltyReferralV1Program_universal_d_CycleCycleSelectorOneOf as CycleCycleSelectorOneOf,\n      loyaltyReferralV1Program_universal_d_Interval as Interval,\n      loyaltyReferralV1Program_universal_d_IntervalUnit as IntervalUnit,\n      loyaltyReferralV1Program_universal_d_OneTime as OneTime,\n      loyaltyReferralV1Program_universal_d_SubscriptionStatus as SubscriptionStatus,\n      loyaltyReferralV1Program_universal_d_ReactivationData as ReactivationData,\n      loyaltyReferralV1Program_universal_d_ReactivationReasonEnum as ReactivationReasonEnum,\n      loyaltyReferralV1Program_universal_d_SubscriptionAssigned as SubscriptionAssigned,\n      loyaltyReferralV1Program_universal_d_SubscriptionCancelled as SubscriptionCancelled,\n      loyaltyReferralV1Program_universal_d_CancellationDetails as CancellationDetails,\n      loyaltyReferralV1Program_universal_d_Initiator as Initiator,\n      loyaltyReferralV1Program_universal_d_SubscriptionAutoRenewTurnedOn as SubscriptionAutoRenewTurnedOn,\n      loyaltyReferralV1Program_universal_d_SubscriptionAutoRenewTurnedOff as SubscriptionAutoRenewTurnedOff,\n      loyaltyReferralV1Program_universal_d_SubscriptionUnassigned as SubscriptionUnassigned,\n      loyaltyReferralV1Program_universal_d_UnassignReason as UnassignReason,\n      loyaltyReferralV1Program_universal_d_SubscriptionTransferred as SubscriptionTransferred,\n      loyaltyReferralV1Program_universal_d_RecurringChargeSucceeded as RecurringChargeSucceeded,\n      loyaltyReferralV1Program_universal_d_ContractSwitched as ContractSwitched,\n      loyaltyReferralV1Program_universal_d_ContractSwitchType as ContractSwitchType,\n      loyaltyReferralV1Program_universal_d_ContractSwitchReason as ContractSwitchReason,\n      loyaltyReferralV1Program_universal_d_ProductPriceIncreaseData as ProductPriceIncreaseData,\n      loyaltyReferralV1Program_universal_d_PriceIncreaseTrigger as PriceIncreaseTrigger,\n      loyaltyReferralV1Program_universal_d_ProductAdjustment as ProductAdjustment,\n      loyaltyReferralV1Program_universal_d_SubscriptionNearEndOfPeriod as SubscriptionNearEndOfPeriod,\n      loyaltyReferralV1Program_universal_d_SubscriptionPendingChange as SubscriptionPendingChange,\n      MessageEnvelope$4 as MessageEnvelope,\n      IdentificationData$4 as IdentificationData,\n      IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,\n      WebhookIdentityType$4 as WebhookIdentityType,\n      loyaltyReferralV1Program_universal_d_getReferralProgram as getReferralProgram,\n      loyaltyReferralV1Program_universal_d_bulkGetReferralProgram as bulkGetReferralProgram,\n      loyaltyReferralV1Program_universal_d_updateReferralProgram as updateReferralProgram,\n      loyaltyReferralV1Program_universal_d_UpdateReferralProgramOptions as UpdateReferralProgramOptions,\n      loyaltyReferralV1Program_universal_d_activateReferralProgram as activateReferralProgram,\n      loyaltyReferralV1Program_universal_d_pauseReferralProgram as pauseReferralProgram,\n      loyaltyReferralV1Program_universal_d_getAiSocialMediaPostsSuggestions as getAiSocialMediaPostsSuggestions,\n      loyaltyReferralV1Program_universal_d_GetAiSocialMediaPostsSuggestionsOptions as GetAiSocialMediaPostsSuggestionsOptions,\n      loyaltyReferralV1Program_universal_d_generateAiSocialMediaPostsSuggestions as generateAiSocialMediaPostsSuggestions,\n      loyaltyReferralV1Program_universal_d_GenerateAiSocialMediaPostsSuggestionsOptions as GenerateAiSocialMediaPostsSuggestionsOptions,\n      loyaltyReferralV1Program_universal_d_getReferralProgramPremiumFeatures as getReferralProgramPremiumFeatures,\n    };\n  }\n  \n  interface ReferralEvent extends ReferralEventEventTypeOneOf {\n      /** Event triggered when a referred friend signs up. */\n      referredFriendSignupEvent?: ReferredFriendSignupEvent;\n      /** Event triggered when a referral is successful. For example, customer places and pays for an order. */\n      successfulReferralEvent?: V1SuccessfulReferralEvent;\n      /** Event triggered when an action is performed. For example, placing an order. */\n      actionEvent?: V1ActionEvent;\n      /** Event triggered when a reward is given. */\n      rewardEvent?: RewardEvent;\n      /**\n       * Referral event ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the referral event is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the referral event.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the referral event was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the referral event was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /** @oneof */\n  interface ReferralEventEventTypeOneOf {\n      /** Event triggered when a referred friend signs up. */\n      referredFriendSignupEvent?: ReferredFriendSignupEvent;\n      /** Event triggered when a referral is successful. For example, customer places and pays for an order. */\n      successfulReferralEvent?: V1SuccessfulReferralEvent;\n      /** Event triggered when an action is performed. For example, placing an order. */\n      actionEvent?: V1ActionEvent;\n      /** Event triggered when a reward is given. */\n      rewardEvent?: RewardEvent;\n  }\n  interface ReferredFriendSignupEvent {\n      /** ID of the referred friend */\n      referredFriendId?: string;\n  }\n  interface V1SuccessfulReferralEvent {\n      /** ID of the referred friend */\n      referredFriendId?: string;\n      /** ID of the referring customer */\n      referringCustomerId?: string;\n  }\n  interface V1ActionEvent {\n      /** ID of the referred friend */\n      referredFriendId?: string;\n      /** ID of the referring customer */\n      referringCustomerId?: string;\n      /** Trigger for the action */\n      trigger?: V1Trigger;\n      /** Amount associated with the action. */\n      amount?: string | null;\n      /** Currency of the amount. */\n      currency?: string | null;\n      /** ID of the associated order. */\n      orderId?: string | null;\n  }\n  interface V1Trigger {\n      /** ID of the app that triggered the event */\n      appId?: string;\n      /** Type of activity that triggered the event */\n      activityType?: string;\n  }\n  interface RewardEvent extends RewardEventReceiverOneOf {\n      /**\n       * ID of the rewarded referring customer.\n       * @readonly\n       */\n      rewardedReferringCustomerId?: string;\n      /**\n       * ID of the rewarded referred friend.\n       * @readonly\n       */\n      rewardedReferredFriendId?: string;\n      /** ID of the referral reward. */\n      referralRewardId?: string;\n      /** Type of reward. */\n      rewardType?: Reward$1;\n  }\n  /** @oneof */\n  interface RewardEventReceiverOneOf {\n      /**\n       * ID of the rewarded referring customer.\n       * @readonly\n       */\n      rewardedReferringCustomerId?: string;\n      /**\n       * ID of the rewarded referred friend.\n       * @readonly\n       */\n      rewardedReferredFriendId?: string;\n  }\n  enum Reward$1 {\n      /** Unknown reward. This field is not used. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Reward is a coupon */\n      COUPON = \"COUPON\",\n      /** Reward is loyalty points. */\n      LOYALTY_POINTS = \"LOYALTY_POINTS\",\n      /** No reward. */\n      NOTHING = \"NOTHING\"\n  }\n  interface CreateReferralEventRequest {\n      /** Referral event to create */\n      referralEvent: ReferralEvent;\n  }\n  interface CreateReferralEventResponse {\n      /** Created referral event */\n      referralEvent?: ReferralEvent;\n  }\n  interface GetReferralEventRequest {\n      /** ID of the referral event to retrieve. */\n      referralEventId: string;\n  }\n  interface GetReferralEventResponse {\n      /** Retrieved referral event. */\n      referralEvent?: ReferralEvent;\n  }\n  interface QueryReferralEventRequest {\n      /** Query to filter referral events */\n      query: CursorQuery$3;\n  }\n  interface CursorQuery$3 extends CursorQueryPagingMethodOneOf$3 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$3;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$3[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$3 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$3;\n  }\n  interface Sorting$3 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$3;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$3 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$3 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryReferralEventResponse {\n      /** List of referral events. */\n      referralEvents?: ReferralEvent[];\n      /** Metadata for the paginated results. */\n      metadata?: CursorPagingMetadata$3;\n  }\n  interface CursorPagingMetadata$3 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$3;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$3 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetReferralStatisticsRequest {\n  }\n  interface GetReferralStatisticsResponse {\n      /** Total number of sign-ups completed by referred friends. */\n      totalSignUpsCompleted?: number;\n      /** Total number of actions completed by referred friends. */\n      totalActionsCompleted?: number;\n      /** Total amount of purchases made by referred friends. */\n      totalAmountGenerated?: string;\n  }\n  interface QueryReferringCustomerTotalsRequest {\n      /** Query to filter referring customer totals. */\n      query?: CursorQuery$3;\n      /** List of contact IDs to filter referring customer totals. */\n      contactIds?: string[];\n  }\n  interface QueryReferringCustomerTotalsResponse {\n      referringCustomerTotals?: ReferringCustomerTotal[];\n      /** Paging metadata */\n      metadata?: CursorPagingMetadata$3;\n  }\n  interface ReferringCustomerTotal {\n      /**\n       * ID of the referring customer.\n       * @readonly\n       */\n      referringCustomerId?: string;\n      /**\n       * Contact ID.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * Date and time of the last successful referral.\n       * @readonly\n       */\n      lastSuccessfulReferral?: Date | null;\n      /**\n       * Total number of successful referrals made by this customer.\n       * @readonly\n       */\n      totalSuccessfulReferrals?: number;\n      /**\n       * Total amount of revenue generated by friends referred by this customer.\n       * @readonly\n       */\n      totalAmountGenerated?: string;\n      /**\n       * Date and time of the last friend action.\n       * @readonly\n       */\n      lastFriendAction?: Date | null;\n      /**\n       * Number of friends who have completed actions.\n       * @readonly\n       */\n      totalFriendsWithActions?: number;\n  }\n  interface QueryReferredFriendActionsRequest {\n      /** Query to filter referred friend actions. */\n      query?: CursorQuery$3;\n      /** List of contact IDs to filter referred friend actions. */\n      contactIds?: string[];\n  }\n  interface QueryReferredFriendActionsResponse {\n      /** List of referred friend actions matching the query. */\n      referredFriendActions?: ReferredFriendAction[];\n      /** Paging metadata */\n      metadata?: CursorPagingMetadata$3;\n  }\n  interface ReferredFriendAction extends ReferredFriendActionRewardTypeOptionsOneOf {\n      /** Coupon reward type options. */\n      coupon?: V1Coupon$1;\n      /** Loyalty points reward type options. */\n      loyaltyPoints?: LoyaltyPoints$1;\n      /**\n       * Referred friend ID.\n       * @readonly\n       */\n      referredFriendId?: string;\n      /**\n       * Contact ID.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * Trigger for the first action.\n       * @readonly\n       */\n      trigger?: V1Trigger;\n      /**\n       * Date and time of the first action.\n       * @readonly\n       */\n      actionDate?: Date | null;\n      /** Type of issued reward. */\n      rewardType?: Reward$1;\n      /** Number of actions completed. */\n      totalActions?: number;\n      /**\n       * Total amount spent by this referred friend.\n       * @readonly\n       */\n      totalAmountSpent?: string;\n      /**\n       * Date and time of friend signup.\n       * @readonly\n       */\n      signupDate?: Date | null;\n  }\n  /** @oneof */\n  interface ReferredFriendActionRewardTypeOptionsOneOf {\n      /** Coupon reward type options. */\n      coupon?: V1Coupon$1;\n      /** Loyalty points reward type options. */\n      loyaltyPoints?: LoyaltyPoints$1;\n  }\n  interface V1Coupon$1 {\n      /**\n       * Coupon ID. Example: `8934b045-7052-4a90-be2b-832c70afc9da`.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * The code that customers can use to apply the coupon. Example: `6RFD2A3HSPXW`.\n       * @readonly\n       */\n      code?: string;\n      /**\n       * Current status of the coupon.\n       * @readonly\n       */\n      status?: Status$2;\n      /**\n       * Detailed specifications of the coupon.\n       * @readonly\n       */\n      couponSpecification?: Coupon$1;\n  }\n  enum Status$2 {\n      /** Coupon status is unknown or not specified. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Coupon is active and can be applied to purchases. */\n      ACTIVE = \"ACTIVE\",\n      /** Coupon was applied and can't be used again. */\n      APPLIED = \"APPLIED\",\n      /** Coupon was deleted and is no longer valid. */\n      DELETED = \"DELETED\"\n  }\n  interface Coupon$1 extends CouponDiscountTypeOptionsOneOf$1, CouponScopeOrMinSubtotalOneOf$1 {\n      /** Options for fixed amount discount. */\n      fixedAmountOptions?: FixedAmountDiscount$1;\n      /** Options for percentage discounts. */\n      percentageOptions?: PercentageDiscount$1;\n      /** Limit the coupon to carts with a subtotal above this number. */\n      minimumSubtotal?: number;\n      /** Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      scope?: CouponScope$1;\n      /** Coupon name. */\n      name?: string;\n      /** Coupon discount type. */\n      discountType?: DiscountType$1;\n      /**\n       * Whether the coupon is limited to one item.\n       * If `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\n       * Coupons with a bookings `scope.namespace` are always limited to one item.\n       */\n      limitedToOneItem?: boolean | null;\n      /** Whether the coupon applies to subscription products. */\n      appliesToSubscriptions?: boolean | null;\n      /**\n       * Specifies the amount of discounted cycles for a subscription item.\n       *\n       * - Can only be set when `scope.namespace = pricingPlans`.\n       * - If `discountedCycleCount` is empty, the coupon applies to all available cycles.\n       * - `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\n       *\n       * Max: `999`\n       */\n      discountedCycleCount?: number | null;\n  }\n  /** @oneof */\n  interface CouponDiscountTypeOptionsOneOf$1 {\n      /** Options for fixed amount discount. */\n      fixedAmountOptions?: FixedAmountDiscount$1;\n      /** Options for percentage discounts. */\n      percentageOptions?: PercentageDiscount$1;\n  }\n  /** @oneof */\n  interface CouponScopeOrMinSubtotalOneOf$1 {\n      /** Limit the coupon to carts with a subtotal above this number. */\n      minimumSubtotal?: number;\n      /** Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      scope?: CouponScope$1;\n  }\n  enum DiscountType$1 {\n      /** Unknown discount type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Discount as a fixed amount. */\n      FIXED_AMOUNT = \"FIXED_AMOUNT\",\n      /** Discount as a percentage. */\n      PERCENTAGE = \"PERCENTAGE\",\n      /** Free shipping. If `true`, the coupon applies to all items in all `namespaces`. */\n      FREE_SHIPPING = \"FREE_SHIPPING\"\n  }\n  interface FixedAmountDiscount$1 {\n      /** Amount of the discount as a fixed value. */\n      amount?: number;\n  }\n  interface PercentageDiscount$1 {\n      /** Percentage of discount. */\n      percentage?: number;\n  }\n  interface CouponScope$1 {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Coupon scope's applied group, for example, Event or ticket in Wix Events. */\n      group?: Group$1;\n  }\n  interface Group$1 {\n      /** Name of the group. */\n      name?: string;\n      /** Entity ID of the group. */\n      entityId?: string | null;\n  }\n  interface LoyaltyPoints$1 {\n      /**\n       * Loyalty transaction ID.\n       * @readonly\n       */\n      transactionId?: string;\n      /**\n       * The number of loyalty points awarded.\n       * @readonly\n       */\n      amount?: number;\n  }\n  interface DomainEvent$3 extends DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$3 {\n      createdEvent?: EntityCreatedEvent$3;\n      updatedEvent?: EntityUpdatedEvent$3;\n      deletedEvent?: EntityDeletedEvent$3;\n      actionEvent?: ActionEvent$3;\n  }\n  interface EntityCreatedEvent$3 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$3;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$3 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$3 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$3 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$3 {\n      bodyAsJson?: string;\n  }\n  interface Empty$2 {\n  }\n  interface SuccessfulReferralEvent$2 {\n      /** Details of the referred friend who completed their referral. */\n      referredFriendDetails?: ReferredFriendDetails$2;\n  }\n  interface ReferredFriendDetails$2 {\n      /**\n       * ID of the referred friend.\n       * @readonly\n       */\n      referredFriendId?: string;\n      /**\n       * Contact ID of the referred friend.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * ID of the customer who referred this friend.\n       * @readonly\n       */\n      referringCustomerId?: string;\n  }\n  interface ReferredFriendActionEvent {\n      /** Details of the referred friend. */\n      referredFriendDetails?: ReferredFriendDetails$2;\n      /** Details of the trigger. */\n      trigger?: Trigger;\n      /** Amount of the referral reward. */\n      amount?: string | null;\n      /** Currency of the referral reward. */\n      currency?: string | null;\n      /** ID of the order associated with the referral. */\n      orderId?: string | null;\n  }\n  interface Trigger {\n      /** ID of the app associated with the referral activity. */\n      appId?: string;\n      /** Type of referral activity. */\n      activityType?: string;\n  }\n  interface MessageEnvelope$3 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$3;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$3;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$3 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$3 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a referral event.\n   * @param referralEvent - Referral event to create\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField referralEvent\n   * @permissionId REFERRALS.MANAGE_REFERRAL_EVENTS\n   * @adminMethod\n   */\n  function createReferralEvent(referralEvent: ReferralEvent): Promise<CreateReferralEventResponse>;\n  /**\n   * Retrieves a referral event by ID.\n   * @param referralEventId - ID of the referral event to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField referralEventId\n   * @permissionId REFERRALS.READ_REFERRAL_EVENTS\n   * @adminMethod\n   * @returns Retrieved referral event.\n   */\n  function getReferralEvent(referralEventId: string): Promise<ReferralEvent>;\n  /**\n   * Retrieves a list of referral events, given the provided paging, filtering, and sorting.\n   *\n   * To learn about working with Query endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.READ_REFERRAL_EVENTS\n   * @adminMethod\n   */\n  function queryReferralEvent(): ReferralEventsQueryBuilder;\n  interface QueryCursorResult$3 {\n      cursors: Cursors$3;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReferralEventsQueryResult extends QueryCursorResult$3 {\n      items: ReferralEvent[];\n      query: ReferralEventsQueryBuilder;\n      next: () => Promise<ReferralEventsQueryResult>;\n      prev: () => Promise<ReferralEventsQueryResult>;\n  }\n  interface ReferralEventsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'referredFriendSignupEvent' | 'successfulReferralEvent' | 'actionEvent' | 'rewardEvent' | '_createdDate' | '_updatedDate', value: any) => ReferralEventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'referredFriendSignupEvent' | 'successfulReferralEvent' | 'actionEvent' | 'rewardEvent' | '_createdDate' | '_updatedDate', value: any) => ReferralEventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferralEventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferralEventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferralEventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferralEventsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'referredFriendSignupEvent' | 'successfulReferralEvent' | 'actionEvent' | 'rewardEvent' | '_createdDate' | '_updatedDate', value: any[]) => ReferralEventsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'referredFriendSignupEvent' | 'successfulReferralEvent' | 'actionEvent' | 'rewardEvent' | '_createdDate' | '_updatedDate', value: any) => ReferralEventsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'referredFriendSignupEvent' | 'successfulReferralEvent' | 'actionEvent' | 'rewardEvent' | '_createdDate' | '_updatedDate', value: boolean) => ReferralEventsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'referredFriendSignupEvent' | 'successfulReferralEvent' | 'actionEvent' | 'rewardEvent' | '_createdDate' | '_updatedDate'>) => ReferralEventsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'referredFriendSignupEvent' | 'successfulReferralEvent' | 'actionEvent' | 'rewardEvent' | '_createdDate' | '_updatedDate'>) => ReferralEventsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReferralEventsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReferralEventsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReferralEventsQueryResult>;\n  }\n  /**\n   * Retrieves referral statistics.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.READ_REFERRAL_STATISTICS\n   * @adminMethod\n   */\n  function getReferralStatistics(): Promise<GetReferralStatisticsResponse>;\n  /**\n   * Retrieves a list of referring customer totals, given the provided paging, filtering, and sorting.\n   *\n   * To learn about working with Query endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.READ_REFERRAL_STATISTICS\n   * @adminMethod\n   */\n  function queryReferringCustomerTotals(options?: QueryReferringCustomerTotalsOptions): Promise<QueryReferringCustomerTotalsResponse>;\n  interface QueryReferringCustomerTotalsOptions {\n      /** Query to filter referring customer totals. */\n      query?: CursorQuery$3;\n      /** List of contact IDs to filter referring customer totals. */\n      contactIds?: string[];\n  }\n  /**\n   * Retrieves a list of referred friend actions, given the provided paging, filtering, and sorting.\n   *\n   * To learn about working with Query endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.READ_REFERRAL_STATISTICS\n   * @adminMethod\n   */\n  function queryReferredFriendActions(options?: QueryReferredFriendActionsOptions): Promise<QueryReferredFriendActionsResponse>;\n  interface QueryReferredFriendActionsOptions {\n      /** Query to filter referred friend actions. */\n      query?: CursorQuery$3;\n      /** List of contact IDs to filter referred friend actions. */\n      contactIds?: string[];\n  }\n  \n  type loyaltyReferralV1ReferralEvent_universal_d_ReferralEvent = ReferralEvent;\n  type loyaltyReferralV1ReferralEvent_universal_d_ReferralEventEventTypeOneOf = ReferralEventEventTypeOneOf;\n  type loyaltyReferralV1ReferralEvent_universal_d_ReferredFriendSignupEvent = ReferredFriendSignupEvent;\n  type loyaltyReferralV1ReferralEvent_universal_d_V1SuccessfulReferralEvent = V1SuccessfulReferralEvent;\n  type loyaltyReferralV1ReferralEvent_universal_d_V1ActionEvent = V1ActionEvent;\n  type loyaltyReferralV1ReferralEvent_universal_d_V1Trigger = V1Trigger;\n  type loyaltyReferralV1ReferralEvent_universal_d_RewardEvent = RewardEvent;\n  type loyaltyReferralV1ReferralEvent_universal_d_RewardEventReceiverOneOf = RewardEventReceiverOneOf;\n  type loyaltyReferralV1ReferralEvent_universal_d_CreateReferralEventRequest = CreateReferralEventRequest;\n  type loyaltyReferralV1ReferralEvent_universal_d_CreateReferralEventResponse = CreateReferralEventResponse;\n  type loyaltyReferralV1ReferralEvent_universal_d_GetReferralEventRequest = GetReferralEventRequest;\n  type loyaltyReferralV1ReferralEvent_universal_d_GetReferralEventResponse = GetReferralEventResponse;\n  type loyaltyReferralV1ReferralEvent_universal_d_QueryReferralEventRequest = QueryReferralEventRequest;\n  type loyaltyReferralV1ReferralEvent_universal_d_QueryReferralEventResponse = QueryReferralEventResponse;\n  type loyaltyReferralV1ReferralEvent_universal_d_GetReferralStatisticsRequest = GetReferralStatisticsRequest;\n  type loyaltyReferralV1ReferralEvent_universal_d_GetReferralStatisticsResponse = GetReferralStatisticsResponse;\n  type loyaltyReferralV1ReferralEvent_universal_d_QueryReferringCustomerTotalsRequest = QueryReferringCustomerTotalsRequest;\n  type loyaltyReferralV1ReferralEvent_universal_d_QueryReferringCustomerTotalsResponse = QueryReferringCustomerTotalsResponse;\n  type loyaltyReferralV1ReferralEvent_universal_d_ReferringCustomerTotal = ReferringCustomerTotal;\n  type loyaltyReferralV1ReferralEvent_universal_d_QueryReferredFriendActionsRequest = QueryReferredFriendActionsRequest;\n  type loyaltyReferralV1ReferralEvent_universal_d_QueryReferredFriendActionsResponse = QueryReferredFriendActionsResponse;\n  type loyaltyReferralV1ReferralEvent_universal_d_ReferredFriendAction = ReferredFriendAction;\n  type loyaltyReferralV1ReferralEvent_universal_d_ReferredFriendActionRewardTypeOptionsOneOf = ReferredFriendActionRewardTypeOptionsOneOf;\n  type loyaltyReferralV1ReferralEvent_universal_d_ReferredFriendActionEvent = ReferredFriendActionEvent;\n  type loyaltyReferralV1ReferralEvent_universal_d_Trigger = Trigger;\n  const loyaltyReferralV1ReferralEvent_universal_d_createReferralEvent: typeof createReferralEvent;\n  const loyaltyReferralV1ReferralEvent_universal_d_getReferralEvent: typeof getReferralEvent;\n  const loyaltyReferralV1ReferralEvent_universal_d_queryReferralEvent: typeof queryReferralEvent;\n  type loyaltyReferralV1ReferralEvent_universal_d_ReferralEventsQueryResult = ReferralEventsQueryResult;\n  type loyaltyReferralV1ReferralEvent_universal_d_ReferralEventsQueryBuilder = ReferralEventsQueryBuilder;\n  const loyaltyReferralV1ReferralEvent_universal_d_getReferralStatistics: typeof getReferralStatistics;\n  const loyaltyReferralV1ReferralEvent_universal_d_queryReferringCustomerTotals: typeof queryReferringCustomerTotals;\n  type loyaltyReferralV1ReferralEvent_universal_d_QueryReferringCustomerTotalsOptions = QueryReferringCustomerTotalsOptions;\n  const loyaltyReferralV1ReferralEvent_universal_d_queryReferredFriendActions: typeof queryReferredFriendActions;\n  type loyaltyReferralV1ReferralEvent_universal_d_QueryReferredFriendActionsOptions = QueryReferredFriendActionsOptions;\n  namespace loyaltyReferralV1ReferralEvent_universal_d {\n    export {\n      loyaltyReferralV1ReferralEvent_universal_d_ReferralEvent as ReferralEvent,\n      loyaltyReferralV1ReferralEvent_universal_d_ReferralEventEventTypeOneOf as ReferralEventEventTypeOneOf,\n      loyaltyReferralV1ReferralEvent_universal_d_ReferredFriendSignupEvent as ReferredFriendSignupEvent,\n      loyaltyReferralV1ReferralEvent_universal_d_V1SuccessfulReferralEvent as V1SuccessfulReferralEvent,\n      loyaltyReferralV1ReferralEvent_universal_d_V1ActionEvent as V1ActionEvent,\n      loyaltyReferralV1ReferralEvent_universal_d_V1Trigger as V1Trigger,\n      loyaltyReferralV1ReferralEvent_universal_d_RewardEvent as RewardEvent,\n      loyaltyReferralV1ReferralEvent_universal_d_RewardEventReceiverOneOf as RewardEventReceiverOneOf,\n      Reward$1 as Reward,\n      loyaltyReferralV1ReferralEvent_universal_d_CreateReferralEventRequest as CreateReferralEventRequest,\n      loyaltyReferralV1ReferralEvent_universal_d_CreateReferralEventResponse as CreateReferralEventResponse,\n      loyaltyReferralV1ReferralEvent_universal_d_GetReferralEventRequest as GetReferralEventRequest,\n      loyaltyReferralV1ReferralEvent_universal_d_GetReferralEventResponse as GetReferralEventResponse,\n      loyaltyReferralV1ReferralEvent_universal_d_QueryReferralEventRequest as QueryReferralEventRequest,\n      CursorQuery$3 as CursorQuery,\n      CursorQueryPagingMethodOneOf$3 as CursorQueryPagingMethodOneOf,\n      Sorting$3 as Sorting,\n      SortOrder$3 as SortOrder,\n      CursorPaging$3 as CursorPaging,\n      loyaltyReferralV1ReferralEvent_universal_d_QueryReferralEventResponse as QueryReferralEventResponse,\n      CursorPagingMetadata$3 as CursorPagingMetadata,\n      Cursors$3 as Cursors,\n      loyaltyReferralV1ReferralEvent_universal_d_GetReferralStatisticsRequest as GetReferralStatisticsRequest,\n      loyaltyReferralV1ReferralEvent_universal_d_GetReferralStatisticsResponse as GetReferralStatisticsResponse,\n      loyaltyReferralV1ReferralEvent_universal_d_QueryReferringCustomerTotalsRequest as QueryReferringCustomerTotalsRequest,\n      loyaltyReferralV1ReferralEvent_universal_d_QueryReferringCustomerTotalsResponse as QueryReferringCustomerTotalsResponse,\n      loyaltyReferralV1ReferralEvent_universal_d_ReferringCustomerTotal as ReferringCustomerTotal,\n      loyaltyReferralV1ReferralEvent_universal_d_QueryReferredFriendActionsRequest as QueryReferredFriendActionsRequest,\n      loyaltyReferralV1ReferralEvent_universal_d_QueryReferredFriendActionsResponse as QueryReferredFriendActionsResponse,\n      loyaltyReferralV1ReferralEvent_universal_d_ReferredFriendAction as ReferredFriendAction,\n      loyaltyReferralV1ReferralEvent_universal_d_ReferredFriendActionRewardTypeOptionsOneOf as ReferredFriendActionRewardTypeOptionsOneOf,\n      V1Coupon$1 as V1Coupon,\n      Status$2 as Status,\n      Coupon$1 as Coupon,\n      CouponDiscountTypeOptionsOneOf$1 as CouponDiscountTypeOptionsOneOf,\n      CouponScopeOrMinSubtotalOneOf$1 as CouponScopeOrMinSubtotalOneOf,\n      DiscountType$1 as DiscountType,\n      FixedAmountDiscount$1 as FixedAmountDiscount,\n      PercentageDiscount$1 as PercentageDiscount,\n      CouponScope$1 as CouponScope,\n      Group$1 as Group,\n      LoyaltyPoints$1 as LoyaltyPoints,\n      DomainEvent$3 as DomainEvent,\n      DomainEventBodyOneOf$3 as DomainEventBodyOneOf,\n      EntityCreatedEvent$3 as EntityCreatedEvent,\n      RestoreInfo$3 as RestoreInfo,\n      EntityUpdatedEvent$3 as EntityUpdatedEvent,\n      EntityDeletedEvent$3 as EntityDeletedEvent,\n      ActionEvent$3 as ActionEvent,\n      Empty$2 as Empty,\n      SuccessfulReferralEvent$2 as SuccessfulReferralEvent,\n      ReferredFriendDetails$2 as ReferredFriendDetails,\n      loyaltyReferralV1ReferralEvent_universal_d_ReferredFriendActionEvent as ReferredFriendActionEvent,\n      loyaltyReferralV1ReferralEvent_universal_d_Trigger as Trigger,\n      MessageEnvelope$3 as MessageEnvelope,\n      IdentificationData$3 as IdentificationData,\n      IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,\n      WebhookIdentityType$3 as WebhookIdentityType,\n      loyaltyReferralV1ReferralEvent_universal_d_createReferralEvent as createReferralEvent,\n      loyaltyReferralV1ReferralEvent_universal_d_getReferralEvent as getReferralEvent,\n      loyaltyReferralV1ReferralEvent_universal_d_queryReferralEvent as queryReferralEvent,\n      loyaltyReferralV1ReferralEvent_universal_d_ReferralEventsQueryResult as ReferralEventsQueryResult,\n      loyaltyReferralV1ReferralEvent_universal_d_ReferralEventsQueryBuilder as ReferralEventsQueryBuilder,\n      loyaltyReferralV1ReferralEvent_universal_d_getReferralStatistics as getReferralStatistics,\n      loyaltyReferralV1ReferralEvent_universal_d_queryReferringCustomerTotals as queryReferringCustomerTotals,\n      loyaltyReferralV1ReferralEvent_universal_d_QueryReferringCustomerTotalsOptions as QueryReferringCustomerTotalsOptions,\n      loyaltyReferralV1ReferralEvent_universal_d_queryReferredFriendActions as queryReferredFriendActions,\n      loyaltyReferralV1ReferralEvent_universal_d_QueryReferredFriendActionsOptions as QueryReferredFriendActionsOptions,\n    };\n  }\n  \n  interface ReferralReward extends ReferralRewardReceiverOneOf, ReferralRewardRewardTypeOptionsOneOf {\n      /**\n       * ID of the referring customer who received the reward.\n       * @readonly\n       */\n      rewardedReferringCustomerId?: string;\n      /**\n       * ID of the referred friend who received the reward.\n       * @readonly\n       */\n      rewardedReferredFriendId?: string;\n      /** Details of a coupon reward. Present when `reward_type` is `COUPON`. */\n      coupon?: V1Coupon;\n      /** Details of a loyalty points reward. Present when `reward_type` is `LOYALTY_POINTS`. */\n      loyaltyPoints?: V1LoyaltyPoints;\n      /**\n       * Referral reward ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the referral reward is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the referral reward.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the referral reward was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the referral reward was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Type of reward given. */\n      rewardType?: RewardTypeType;\n  }\n  /** @oneof */\n  interface ReferralRewardReceiverOneOf {\n      /**\n       * ID of the referring customer who received the reward.\n       * @readonly\n       */\n      rewardedReferringCustomerId?: string;\n      /**\n       * ID of the referred friend who received the reward.\n       * @readonly\n       */\n      rewardedReferredFriendId?: string;\n  }\n  /** @oneof */\n  interface ReferralRewardRewardTypeOptionsOneOf {\n      /** Details of a coupon reward. Present when `reward_type` is `COUPON`. */\n      coupon?: V1Coupon;\n      /** Details of a loyalty points reward. Present when `reward_type` is `LOYALTY_POINTS`. */\n      loyaltyPoints?: V1LoyaltyPoints;\n  }\n  enum RewardTypeType {\n      /** Unknown reward type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Loyalty coupon is given. */\n      COUPON = \"COUPON\",\n      /** Loyalty points are awarded. */\n      LOYALTY_POINTS = \"LOYALTY_POINTS\",\n      /** No reward is given. */\n      NOTHING = \"NOTHING\"\n  }\n  interface V1Coupon {\n      /**\n       * Coupon ID. Example: `8934b045-7052-4a90-be2b-832c70afc9da`.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * The code that customers can use to apply the coupon. Example: `6RFD2A3HSPXW`.\n       * @readonly\n       */\n      code?: string;\n      /**\n       * Current status of the coupon.\n       * @readonly\n       */\n      status?: Status$1;\n      /**\n       * Detailed specifications of the coupon.\n       * @readonly\n       */\n      couponSpecification?: Coupon;\n  }\n  enum Status$1 {\n      /** Coupon status is unknown or not specified. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Coupon is active and can be applied to purchases. */\n      ACTIVE = \"ACTIVE\",\n      /** Coupon was applied and can't be used again. */\n      APPLIED = \"APPLIED\",\n      /** Coupon was deleted and is no longer valid. */\n      DELETED = \"DELETED\"\n  }\n  interface Coupon extends CouponDiscountTypeOptionsOneOf, CouponScopeOrMinSubtotalOneOf {\n      /** Options for fixed amount discount. */\n      fixedAmountOptions?: FixedAmountDiscount;\n      /** Options for percentage discounts. */\n      percentageOptions?: PercentageDiscount;\n      /** Limit the coupon to carts with a subtotal above this number. */\n      minimumSubtotal?: number;\n      /** Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      scope?: CouponScope;\n      /** Coupon name. */\n      name?: string;\n      /** Coupon discount type. */\n      discountType?: DiscountType;\n      /**\n       * Whether the coupon is limited to one item.\n       * If `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\n       * Coupons with a bookings `scope.namespace` are always limited to one item.\n       */\n      limitedToOneItem?: boolean | null;\n      /** Whether the coupon applies to subscription products. */\n      appliesToSubscriptions?: boolean | null;\n      /**\n       * Specifies the amount of discounted cycles for a subscription item.\n       *\n       * - Can only be set when `scope.namespace = pricingPlans`.\n       * - If `discountedCycleCount` is empty, the coupon applies to all available cycles.\n       * - `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\n       *\n       * Max: `999`\n       */\n      discountedCycleCount?: number | null;\n  }\n  /** @oneof */\n  interface CouponDiscountTypeOptionsOneOf {\n      /** Options for fixed amount discount. */\n      fixedAmountOptions?: FixedAmountDiscount;\n      /** Options for percentage discounts. */\n      percentageOptions?: PercentageDiscount;\n  }\n  /** @oneof */\n  interface CouponScopeOrMinSubtotalOneOf {\n      /** Limit the coupon to carts with a subtotal above this number. */\n      minimumSubtotal?: number;\n      /** Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n      scope?: CouponScope;\n  }\n  enum DiscountType {\n      /** Unknown discount type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Discount as a fixed amount. */\n      FIXED_AMOUNT = \"FIXED_AMOUNT\",\n      /** Discount as a percentage. */\n      PERCENTAGE = \"PERCENTAGE\",\n      /** Free shipping. If `true`, the coupon applies to all items in all `namespaces`. */\n      FREE_SHIPPING = \"FREE_SHIPPING\"\n  }\n  interface FixedAmountDiscount {\n      /** Amount of the discount as a fixed value. */\n      amount?: number;\n  }\n  interface PercentageDiscount {\n      /** Percentage of discount. */\n      percentage?: number;\n  }\n  interface CouponScope {\n      /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n      namespace?: string;\n      /** Coupon scope's applied group, for example, Event or ticket in Wix Events. */\n      group?: Group;\n  }\n  interface Group {\n      /** Name of the group. */\n      name?: string;\n      /** Entity ID of the group. */\n      entityId?: string | null;\n  }\n  interface V1LoyaltyPoints {\n      /**\n       * Loyalty transaction ID.\n       * @readonly\n       */\n      transactionId?: string;\n      /**\n       * The number of loyalty points awarded.\n       * @readonly\n       */\n      amount?: number;\n  }\n  interface GetReferralRewardRequest {\n      /** Referral reward ID. */\n      _id: string;\n  }\n  interface GetReferralRewardResponse {\n      /** Retrieved referral reward. */\n      referralReward?: ReferralReward;\n  }\n  interface QueryReferralRewardsRequest {\n      /** Query to filter referral rewards. */\n      query: CursorQuery$2;\n      /** Contact ID to filter rewards by. Use `\"me\"` for current identity's rewards. */\n      contactId?: string | null;\n  }\n  interface CursorQuery$2 extends CursorQueryPagingMethodOneOf$2 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$2[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$2 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$2;\n  }\n  interface Sorting$2 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$2;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$2 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$2 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryReferralRewardsResponse {\n      /** Retrieved referral rewards. */\n      referralRewards?: ReferralReward[];\n      /** Metadata for paging. */\n      metadata?: CursorPagingMetadata$2;\n  }\n  interface CursorPagingMetadata$2 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$2;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$2 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface ValidateReferralRewardRequest {\n      /** Reward to validate. */\n      reward?: Reward;\n  }\n  interface Reward extends RewardOptionsOneOf {\n      /** Options for coupon reward type. */\n      couponOptions?: Coupon;\n      /** Options for the Loyalty points reward type. */\n      loyaltyPointsOptions?: LoyaltyPoints;\n      /** Type of the reward. */\n      type?: Type;\n  }\n  /** @oneof */\n  interface RewardOptionsOneOf {\n      /** Options for coupon reward type. */\n      couponOptions?: Coupon;\n      /** Options for the Loyalty points reward type. */\n      loyaltyPointsOptions?: LoyaltyPoints;\n  }\n  enum Type {\n      /** Unknown reward type. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Coupon reward type. */\n      COUPON = \"COUPON\",\n      /** Loyalty points reward type. */\n      LOYALTY_POINTS = \"LOYALTY_POINTS\",\n      /** No reward type. */\n      NOTHING = \"NOTHING\"\n  }\n  interface LoyaltyPoints {\n      /** Number of loyalty points to give. */\n      amount?: number;\n  }\n  interface ValidateReferralRewardResponse {\n  }\n  interface BulkGetReferralRewardsRequest {\n  }\n  interface BulkGetReferralRewardsResponse {\n      /** Rewards grouped by site. */\n      rewardsInSite?: RewardsInSite[];\n  }\n  interface RewardsInSite {\n      /** Metasite ID. */\n      metaSiteId?: string;\n      /** List of rewards for the site. */\n      rewards?: ReferralReward[];\n  }\n  interface DomainEvent$2 extends DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$2 {\n      createdEvent?: EntityCreatedEvent$2;\n      updatedEvent?: EntityUpdatedEvent$2;\n      deletedEvent?: EntityDeletedEvent$2;\n      actionEvent?: ActionEvent$2;\n  }\n  interface EntityCreatedEvent$2 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$2;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$2 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$2 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$2 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$2 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface SuccessfulReferralEvent$1 {\n      /** Details of the referred friend who completed their referral. */\n      referredFriendDetails?: ReferredFriendDetails$1;\n  }\n  interface ReferredFriendDetails$1 {\n      /**\n       * ID of the referred friend.\n       * @readonly\n       */\n      referredFriendId?: string;\n      /**\n       * Contact ID of the referred friend.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * ID of the customer who referred this friend.\n       * @readonly\n       */\n      referringCustomerId?: string;\n  }\n  interface MessageEnvelope$2 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$2;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$2;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$2 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a referral reward.\n   * @param _id - Referral reward ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId REFERRALS.READ_REWARDS\n   * @adminMethod\n   * @returns Retrieved referral reward.\n   */\n  function getReferralReward(_id: string): Promise<ReferralReward>;\n  /**\n   * Creates a query to retrieve a list of referral rewards.\n   *\n   * The `queryReferralRewards()` function builds a query to retrieve a list of events and returns a `ReferralRewardsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `ReferralRewardsQueryBuilder` functions onto the query. `ReferralRewardsQueryBuilder` functions enable you to sort, filter, and control the results `queryReferralRewards()` returns.\n   *\n   * `queryReferralRewards()` runs with these `ReferralRewardsQueryBuilder` defaults, which you can override:\n   *\n   * - `limit(50)`\n   * - `descending(\"_createdDate\")`\n   *\n   * The functions that are chained to `queryReferralRewards()` are applied in the order they're called. For example, if you apply ascending('rewardedReferredFriendId') and then descending('rewardType'), the results are sorted first by the referred friend ID, and then, if there are multiple results with the same ID, the items are sorted by reward type.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.READ_REWARDS\n   * @adminMethod\n   */\n  function queryReferralRewards(options?: QueryReferralRewardsOptions): ReferralRewardsQueryBuilder;\n  interface QueryReferralRewardsOptions {\n      /** Contact ID to filter rewards by. Use `\"me\"` for current identity's rewards. */\n      contactId?: string | null | undefined;\n  }\n  interface QueryCursorResult$2 {\n      cursors: Cursors$2;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReferralRewardsQueryResult extends QueryCursorResult$2 {\n      items: ReferralReward[];\n      query: ReferralRewardsQueryBuilder;\n      next: () => Promise<ReferralRewardsQueryResult>;\n      prev: () => Promise<ReferralRewardsQueryResult>;\n  }\n  interface ReferralRewardsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'rewardedReferringCustomerId' | 'rewardedReferredFriendId' | '_createdDate' | '_updatedDate' | 'rewardType', value: any) => ReferralRewardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'rewardedReferringCustomerId' | 'rewardedReferredFriendId' | '_createdDate' | '_updatedDate' | 'rewardType', value: any) => ReferralRewardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferralRewardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferralRewardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferralRewardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferralRewardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'rewardedReferringCustomerId' | 'rewardedReferredFriendId', value: string) => ReferralRewardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'rewardedReferringCustomerId' | 'rewardedReferredFriendId' | '_createdDate' | '_updatedDate' | 'rewardType', value: any[]) => ReferralRewardsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'rewardedReferringCustomerId' | 'rewardedReferredFriendId' | '_createdDate' | '_updatedDate' | 'rewardType', value: any) => ReferralRewardsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'rewardedReferringCustomerId' | 'rewardedReferredFriendId' | '_createdDate' | '_updatedDate' | 'rewardType', value: boolean) => ReferralRewardsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'rewardedReferringCustomerId' | 'rewardedReferredFriendId' | '_createdDate' | '_updatedDate' | 'rewardType'>) => ReferralRewardsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'rewardedReferringCustomerId' | 'rewardedReferredFriendId' | '_createdDate' | '_updatedDate' | 'rewardType'>) => ReferralRewardsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReferralRewardsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReferralRewardsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReferralRewardsQueryResult>;\n  }\n  /**\n   * Retrieves rewards from all metasites that the caller is the member of.\n   *\n   * This method must be called with a [user identity](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities#wix-users).\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.REWARD_BULK_READ\n   * @adminMethod\n   */\n  function bulkGetReferralRewards(): Promise<BulkGetReferralRewardsResponse>;\n  \n  type loyaltyReferralV1ReferralReward_universal_d_ReferralReward = ReferralReward;\n  type loyaltyReferralV1ReferralReward_universal_d_ReferralRewardReceiverOneOf = ReferralRewardReceiverOneOf;\n  type loyaltyReferralV1ReferralReward_universal_d_ReferralRewardRewardTypeOptionsOneOf = ReferralRewardRewardTypeOptionsOneOf;\n  type loyaltyReferralV1ReferralReward_universal_d_RewardTypeType = RewardTypeType;\n  const loyaltyReferralV1ReferralReward_universal_d_RewardTypeType: typeof RewardTypeType;\n  type loyaltyReferralV1ReferralReward_universal_d_V1Coupon = V1Coupon;\n  type loyaltyReferralV1ReferralReward_universal_d_Coupon = Coupon;\n  type loyaltyReferralV1ReferralReward_universal_d_CouponDiscountTypeOptionsOneOf = CouponDiscountTypeOptionsOneOf;\n  type loyaltyReferralV1ReferralReward_universal_d_CouponScopeOrMinSubtotalOneOf = CouponScopeOrMinSubtotalOneOf;\n  type loyaltyReferralV1ReferralReward_universal_d_DiscountType = DiscountType;\n  const loyaltyReferralV1ReferralReward_universal_d_DiscountType: typeof DiscountType;\n  type loyaltyReferralV1ReferralReward_universal_d_FixedAmountDiscount = FixedAmountDiscount;\n  type loyaltyReferralV1ReferralReward_universal_d_PercentageDiscount = PercentageDiscount;\n  type loyaltyReferralV1ReferralReward_universal_d_CouponScope = CouponScope;\n  type loyaltyReferralV1ReferralReward_universal_d_Group = Group;\n  type loyaltyReferralV1ReferralReward_universal_d_V1LoyaltyPoints = V1LoyaltyPoints;\n  type loyaltyReferralV1ReferralReward_universal_d_GetReferralRewardRequest = GetReferralRewardRequest;\n  type loyaltyReferralV1ReferralReward_universal_d_GetReferralRewardResponse = GetReferralRewardResponse;\n  type loyaltyReferralV1ReferralReward_universal_d_QueryReferralRewardsRequest = QueryReferralRewardsRequest;\n  type loyaltyReferralV1ReferralReward_universal_d_QueryReferralRewardsResponse = QueryReferralRewardsResponse;\n  type loyaltyReferralV1ReferralReward_universal_d_ValidateReferralRewardRequest = ValidateReferralRewardRequest;\n  type loyaltyReferralV1ReferralReward_universal_d_Reward = Reward;\n  type loyaltyReferralV1ReferralReward_universal_d_RewardOptionsOneOf = RewardOptionsOneOf;\n  type loyaltyReferralV1ReferralReward_universal_d_Type = Type;\n  const loyaltyReferralV1ReferralReward_universal_d_Type: typeof Type;\n  type loyaltyReferralV1ReferralReward_universal_d_LoyaltyPoints = LoyaltyPoints;\n  type loyaltyReferralV1ReferralReward_universal_d_ValidateReferralRewardResponse = ValidateReferralRewardResponse;\n  type loyaltyReferralV1ReferralReward_universal_d_BulkGetReferralRewardsRequest = BulkGetReferralRewardsRequest;\n  type loyaltyReferralV1ReferralReward_universal_d_BulkGetReferralRewardsResponse = BulkGetReferralRewardsResponse;\n  type loyaltyReferralV1ReferralReward_universal_d_RewardsInSite = RewardsInSite;\n  const loyaltyReferralV1ReferralReward_universal_d_getReferralReward: typeof getReferralReward;\n  const loyaltyReferralV1ReferralReward_universal_d_queryReferralRewards: typeof queryReferralRewards;\n  type loyaltyReferralV1ReferralReward_universal_d_QueryReferralRewardsOptions = QueryReferralRewardsOptions;\n  type loyaltyReferralV1ReferralReward_universal_d_ReferralRewardsQueryResult = ReferralRewardsQueryResult;\n  type loyaltyReferralV1ReferralReward_universal_d_ReferralRewardsQueryBuilder = ReferralRewardsQueryBuilder;\n  const loyaltyReferralV1ReferralReward_universal_d_bulkGetReferralRewards: typeof bulkGetReferralRewards;\n  namespace loyaltyReferralV1ReferralReward_universal_d {\n    export {\n      loyaltyReferralV1ReferralReward_universal_d_ReferralReward as ReferralReward,\n      loyaltyReferralV1ReferralReward_universal_d_ReferralRewardReceiverOneOf as ReferralRewardReceiverOneOf,\n      loyaltyReferralV1ReferralReward_universal_d_ReferralRewardRewardTypeOptionsOneOf as ReferralRewardRewardTypeOptionsOneOf,\n      loyaltyReferralV1ReferralReward_universal_d_RewardTypeType as RewardTypeType,\n      loyaltyReferralV1ReferralReward_universal_d_V1Coupon as V1Coupon,\n      Status$1 as Status,\n      loyaltyReferralV1ReferralReward_universal_d_Coupon as Coupon,\n      loyaltyReferralV1ReferralReward_universal_d_CouponDiscountTypeOptionsOneOf as CouponDiscountTypeOptionsOneOf,\n      loyaltyReferralV1ReferralReward_universal_d_CouponScopeOrMinSubtotalOneOf as CouponScopeOrMinSubtotalOneOf,\n      loyaltyReferralV1ReferralReward_universal_d_DiscountType as DiscountType,\n      loyaltyReferralV1ReferralReward_universal_d_FixedAmountDiscount as FixedAmountDiscount,\n      loyaltyReferralV1ReferralReward_universal_d_PercentageDiscount as PercentageDiscount,\n      loyaltyReferralV1ReferralReward_universal_d_CouponScope as CouponScope,\n      loyaltyReferralV1ReferralReward_universal_d_Group as Group,\n      loyaltyReferralV1ReferralReward_universal_d_V1LoyaltyPoints as V1LoyaltyPoints,\n      loyaltyReferralV1ReferralReward_universal_d_GetReferralRewardRequest as GetReferralRewardRequest,\n      loyaltyReferralV1ReferralReward_universal_d_GetReferralRewardResponse as GetReferralRewardResponse,\n      loyaltyReferralV1ReferralReward_universal_d_QueryReferralRewardsRequest as QueryReferralRewardsRequest,\n      CursorQuery$2 as CursorQuery,\n      CursorQueryPagingMethodOneOf$2 as CursorQueryPagingMethodOneOf,\n      Sorting$2 as Sorting,\n      SortOrder$2 as SortOrder,\n      CursorPaging$2 as CursorPaging,\n      loyaltyReferralV1ReferralReward_universal_d_QueryReferralRewardsResponse as QueryReferralRewardsResponse,\n      CursorPagingMetadata$2 as CursorPagingMetadata,\n      Cursors$2 as Cursors,\n      loyaltyReferralV1ReferralReward_universal_d_ValidateReferralRewardRequest as ValidateReferralRewardRequest,\n      loyaltyReferralV1ReferralReward_universal_d_Reward as Reward,\n      loyaltyReferralV1ReferralReward_universal_d_RewardOptionsOneOf as RewardOptionsOneOf,\n      loyaltyReferralV1ReferralReward_universal_d_Type as Type,\n      loyaltyReferralV1ReferralReward_universal_d_LoyaltyPoints as LoyaltyPoints,\n      loyaltyReferralV1ReferralReward_universal_d_ValidateReferralRewardResponse as ValidateReferralRewardResponse,\n      loyaltyReferralV1ReferralReward_universal_d_BulkGetReferralRewardsRequest as BulkGetReferralRewardsRequest,\n      loyaltyReferralV1ReferralReward_universal_d_BulkGetReferralRewardsResponse as BulkGetReferralRewardsResponse,\n      loyaltyReferralV1ReferralReward_universal_d_RewardsInSite as RewardsInSite,\n      DomainEvent$2 as DomainEvent,\n      DomainEventBodyOneOf$2 as DomainEventBodyOneOf,\n      EntityCreatedEvent$2 as EntityCreatedEvent,\n      RestoreInfo$2 as RestoreInfo,\n      EntityUpdatedEvent$2 as EntityUpdatedEvent,\n      EntityDeletedEvent$2 as EntityDeletedEvent,\n      ActionEvent$2 as ActionEvent,\n      Empty$1 as Empty,\n      SuccessfulReferralEvent$1 as SuccessfulReferralEvent,\n      ReferredFriendDetails$1 as ReferredFriendDetails,\n      MessageEnvelope$2 as MessageEnvelope,\n      IdentificationData$2 as IdentificationData,\n      IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,\n      WebhookIdentityType$2 as WebhookIdentityType,\n      loyaltyReferralV1ReferralReward_universal_d_getReferralReward as getReferralReward,\n      loyaltyReferralV1ReferralReward_universal_d_queryReferralRewards as queryReferralRewards,\n      loyaltyReferralV1ReferralReward_universal_d_QueryReferralRewardsOptions as QueryReferralRewardsOptions,\n      loyaltyReferralV1ReferralReward_universal_d_ReferralRewardsQueryResult as ReferralRewardsQueryResult,\n      loyaltyReferralV1ReferralReward_universal_d_ReferralRewardsQueryBuilder as ReferralRewardsQueryBuilder,\n      loyaltyReferralV1ReferralReward_universal_d_bulkGetReferralRewards as bulkGetReferralRewards,\n    };\n  }\n  \n  interface ReferredFriend {\n      /**\n       * ID of the referred friend.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Contact ID of the referred friend.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * ID of the customer who referred this friend.\n       * @readonly\n       */\n      referringCustomerId?: string;\n      /** Status of the referred friend. */\n      status?: Status;\n      /**\n       * Revision number, which increments by 1 each time the referred friend is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the referred friend.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the referred friend was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the referred friend was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  enum Status {\n      /** Unknown status. */\n      UNKNOWN = \"UNKNOWN\",\n      /** Initial status when the referred friend joins the site as a member. */\n      SIGN_UP_COMPLETED = \"SIGN_UP_COMPLETED\",\n      /** Status after the referred friend completes a specific action, such as making a purchase. */\n      ACTIONS_COMPLETED = \"ACTIONS_COMPLETED\"\n  }\n  interface CreateReferredFriendRequest {\n      /** Referral code for the referred friend. */\n      referralCode?: string | null;\n  }\n  interface CreateReferredFriendResponse {\n      /** Created referred friend. */\n      referredFriend?: ReferredFriend;\n  }\n  interface GetReferredFriendRequest {\n      /** ID of the referred friend to retrieve. */\n      referredFriendId: string;\n  }\n  interface GetReferredFriendResponse {\n      /** Retrieved referred friend. */\n      referredFriend?: ReferredFriend;\n  }\n  interface GetReferredFriendByContactIdRequest {\n      /** Contact ID or \"me\" to get the current identity's contact. */\n      contactId: string;\n  }\n  interface GetReferredFriendByContactIdResponse {\n      /** Retrieved referred friend. */\n      referredFriend?: ReferredFriend;\n  }\n  interface UpdateReferredFriendRequest {\n      /** Referred friend to be updated. May be partial. */\n      referredFriend: ReferredFriend;\n      /**\n       * List of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateReferredFriendResponse {\n      /** Updated referred friend. */\n      referredFriend?: ReferredFriend;\n  }\n  interface DeleteReferredFriendRequest {\n      /** ID of the referred friend to delete. */\n      referredFriendId: string;\n      /**\n       * Revision number, which increments by 1 each time the referred friend is updated.\n       * To prevent conflicting changes, the current revision must be passed when deleting the referred friend.\n       */\n      revision?: string;\n  }\n  interface DeleteReferredFriendResponse {\n  }\n  interface QueryReferredFriendRequest {\n      /** Query options. */\n      query: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryReferredFriendResponse {\n      /** Retrieved referred friends. */\n      referredFriends?: ReferredFriend[];\n      /** Cursor paging metadata. */\n      metadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface SuccessfulReferralEvent {\n      /** Details of the referred friend who completed their referral. */\n      referredFriendDetails?: ReferredFriendDetails;\n  }\n  interface ReferredFriendDetails {\n      /**\n       * ID of the referred friend.\n       * @readonly\n       */\n      referredFriendId?: string;\n      /**\n       * Contact ID of the referred friend.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * ID of the customer who referred this friend.\n       * @readonly\n       */\n      referringCustomerId?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new referred friend or returns an existing entity if it already exists.\n   *\n   * This method must be called with a [member identity](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities#site-members).\n   *\n   * A referral code must be provided either in the request or via scope.\n   *\n   * The member must be eligible to become a referred friend.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.CREATE_OWN_REFERRED_FRIEND\n   */\n  function createReferredFriend(options?: CreateReferredFriendOptions): Promise<CreateReferredFriendResponse>;\n  interface CreateReferredFriendOptions {\n      /** Referral code for the referred friend. */\n      referralCode?: string | null;\n  }\n  /**\n   * Retrieves a referred friend by ID.\n   * @param referredFriendId - ID of the referred friend to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField referredFriendId\n   * @permissionId REFERRALS.READ_REFERRED_FRIENDS\n   * @adminMethod\n   * @returns Retrieved referred friend.\n   */\n  function getReferredFriend(referredFriendId: string): Promise<ReferredFriend>;\n  /**\n   * Retrieves a referred friend by contact ID.\n   *\n   * You can use `me` instead of a specific contact ID to get the referred friend for the current identity's contact.\n   * @param contactId - Contact ID or \"me\" to get the current identity's contact.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @permissionId REFERRALS.READ_REFERRED_FRIENDS\n   * @adminMethod\n   */\n  function getReferredFriendByContactId(contactId: string): Promise<GetReferredFriendByContactIdResponse>;\n  /**\n   * Updates a referred friend. Supports partial updates.\n   *\n   * You must pass the latest `revision` for a successful update.\n   * @param _id - ID of the referred friend.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField referredFriend\n   * @requiredField referredFriend.revision\n   * @permissionId REFERRALS.MANAGE_REFERRED_FRIENDS\n   * @adminMethod\n   * @returns Updated referred friend.\n   */\n  function updateReferredFriend(_id: string, referredFriend: UpdateReferredFriend, options?: UpdateReferredFriendOptions): Promise<ReferredFriend>;\n  interface UpdateReferredFriend {\n      /**\n       * ID of the referred friend.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Contact ID of the referred friend.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * ID of the customer who referred this friend.\n       * @readonly\n       */\n      referringCustomerId?: string;\n      /** Status of the referred friend. */\n      status?: Status;\n      /**\n       * Revision number, which increments by 1 each time the referred friend is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the referred friend.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the referred friend was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the referred friend was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateReferredFriendOptions {\n      /**\n       * List of fields to update.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a referred friend.\n   * @param referredFriendId - ID of the referred friend to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField referredFriendId\n   * @permissionId REFERRALS.MANAGE_REFERRED_FRIENDS\n   * @adminMethod\n   */\n  function deleteReferredFriend(referredFriendId: string, options?: DeleteReferredFriendOptions): Promise<void>;\n  interface DeleteReferredFriendOptions {\n      /**\n       * Revision number, which increments by 1 each time the referred friend is updated.\n       * To prevent conflicting changes, the current revision must be passed when deleting the referred friend.\n       */\n      revision?: string;\n  }\n  /**\n   * Creates a query to retrieve a list of referred friends.\n   *\n   * The `queryReferredFriend()` function builds a query to retrieve a list of events and returns a `ReferredFriendsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `ReferredFriendsQueryBuilder` functions onto the query. `ReferredFriendsQueryBuilder` functions enable you to sort, filter, and control the results `queryReferredFriend()` returns.\n   *\n   * `queryReferredFriend()` runs with these `ReferredFriendQueryBuilder` defaults, which you can override:\n   *\n   * - `limit(50)`\n   * - `descending(\"_createdDate\")`\n   *\n   * The functions that are chained to `queryReferredFriend()` are applied in the order they're called. For example, if you apply ascending('status') and then descending('referringCustomerId'), the results are sorted first by the status, and then, if there are multiple results with the same status, the items are sorted by referring customer ID.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.READ_REFERRED_FRIENDS\n   * @adminMethod\n   */\n  function queryReferredFriend(): ReferredFriendsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReferredFriendsQueryResult extends QueryCursorResult$1 {\n      items: ReferredFriend[];\n      query: ReferredFriendsQueryBuilder;\n      next: () => Promise<ReferredFriendsQueryResult>;\n      prev: () => Promise<ReferredFriendsQueryResult>;\n  }\n  interface ReferredFriendsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'referringCustomerId' | 'status' | '_createdDate' | '_updatedDate', value: any) => ReferredFriendsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'referringCustomerId' | 'status' | '_createdDate' | '_updatedDate', value: any) => ReferredFriendsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferredFriendsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferredFriendsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferredFriendsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferredFriendsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'referringCustomerId', value: string) => ReferredFriendsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'referringCustomerId' | 'status' | '_createdDate' | '_updatedDate', value: any[]) => ReferredFriendsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'referringCustomerId' | 'status' | '_createdDate' | '_updatedDate', value: any) => ReferredFriendsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'referringCustomerId' | 'status' | '_createdDate' | '_updatedDate', value: boolean) => ReferredFriendsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'referringCustomerId' | 'status' | '_createdDate' | '_updatedDate'>) => ReferredFriendsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'referringCustomerId' | 'status' | '_createdDate' | '_updatedDate'>) => ReferredFriendsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReferredFriendsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReferredFriendsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReferredFriendsQueryResult>;\n  }\n  \n  type loyaltyReferralV1ReferredFriend_universal_d_ReferredFriend = ReferredFriend;\n  type loyaltyReferralV1ReferredFriend_universal_d_Status = Status;\n  const loyaltyReferralV1ReferredFriend_universal_d_Status: typeof Status;\n  type loyaltyReferralV1ReferredFriend_universal_d_CreateReferredFriendRequest = CreateReferredFriendRequest;\n  type loyaltyReferralV1ReferredFriend_universal_d_CreateReferredFriendResponse = CreateReferredFriendResponse;\n  type loyaltyReferralV1ReferredFriend_universal_d_GetReferredFriendRequest = GetReferredFriendRequest;\n  type loyaltyReferralV1ReferredFriend_universal_d_GetReferredFriendResponse = GetReferredFriendResponse;\n  type loyaltyReferralV1ReferredFriend_universal_d_GetReferredFriendByContactIdRequest = GetReferredFriendByContactIdRequest;\n  type loyaltyReferralV1ReferredFriend_universal_d_GetReferredFriendByContactIdResponse = GetReferredFriendByContactIdResponse;\n  type loyaltyReferralV1ReferredFriend_universal_d_UpdateReferredFriendRequest = UpdateReferredFriendRequest;\n  type loyaltyReferralV1ReferredFriend_universal_d_UpdateReferredFriendResponse = UpdateReferredFriendResponse;\n  type loyaltyReferralV1ReferredFriend_universal_d_DeleteReferredFriendRequest = DeleteReferredFriendRequest;\n  type loyaltyReferralV1ReferredFriend_universal_d_DeleteReferredFriendResponse = DeleteReferredFriendResponse;\n  type loyaltyReferralV1ReferredFriend_universal_d_QueryReferredFriendRequest = QueryReferredFriendRequest;\n  type loyaltyReferralV1ReferredFriend_universal_d_QueryReferredFriendResponse = QueryReferredFriendResponse;\n  type loyaltyReferralV1ReferredFriend_universal_d_Empty = Empty;\n  type loyaltyReferralV1ReferredFriend_universal_d_SuccessfulReferralEvent = SuccessfulReferralEvent;\n  type loyaltyReferralV1ReferredFriend_universal_d_ReferredFriendDetails = ReferredFriendDetails;\n  const loyaltyReferralV1ReferredFriend_universal_d_createReferredFriend: typeof createReferredFriend;\n  type loyaltyReferralV1ReferredFriend_universal_d_CreateReferredFriendOptions = CreateReferredFriendOptions;\n  const loyaltyReferralV1ReferredFriend_universal_d_getReferredFriend: typeof getReferredFriend;\n  const loyaltyReferralV1ReferredFriend_universal_d_getReferredFriendByContactId: typeof getReferredFriendByContactId;\n  const loyaltyReferralV1ReferredFriend_universal_d_updateReferredFriend: typeof updateReferredFriend;\n  type loyaltyReferralV1ReferredFriend_universal_d_UpdateReferredFriend = UpdateReferredFriend;\n  type loyaltyReferralV1ReferredFriend_universal_d_UpdateReferredFriendOptions = UpdateReferredFriendOptions;\n  const loyaltyReferralV1ReferredFriend_universal_d_deleteReferredFriend: typeof deleteReferredFriend;\n  type loyaltyReferralV1ReferredFriend_universal_d_DeleteReferredFriendOptions = DeleteReferredFriendOptions;\n  const loyaltyReferralV1ReferredFriend_universal_d_queryReferredFriend: typeof queryReferredFriend;\n  type loyaltyReferralV1ReferredFriend_universal_d_ReferredFriendsQueryResult = ReferredFriendsQueryResult;\n  type loyaltyReferralV1ReferredFriend_universal_d_ReferredFriendsQueryBuilder = ReferredFriendsQueryBuilder;\n  namespace loyaltyReferralV1ReferredFriend_universal_d {\n    export {\n      loyaltyReferralV1ReferredFriend_universal_d_ReferredFriend as ReferredFriend,\n      loyaltyReferralV1ReferredFriend_universal_d_Status as Status,\n      loyaltyReferralV1ReferredFriend_universal_d_CreateReferredFriendRequest as CreateReferredFriendRequest,\n      loyaltyReferralV1ReferredFriend_universal_d_CreateReferredFriendResponse as CreateReferredFriendResponse,\n      loyaltyReferralV1ReferredFriend_universal_d_GetReferredFriendRequest as GetReferredFriendRequest,\n      loyaltyReferralV1ReferredFriend_universal_d_GetReferredFriendResponse as GetReferredFriendResponse,\n      loyaltyReferralV1ReferredFriend_universal_d_GetReferredFriendByContactIdRequest as GetReferredFriendByContactIdRequest,\n      loyaltyReferralV1ReferredFriend_universal_d_GetReferredFriendByContactIdResponse as GetReferredFriendByContactIdResponse,\n      loyaltyReferralV1ReferredFriend_universal_d_UpdateReferredFriendRequest as UpdateReferredFriendRequest,\n      loyaltyReferralV1ReferredFriend_universal_d_UpdateReferredFriendResponse as UpdateReferredFriendResponse,\n      loyaltyReferralV1ReferredFriend_universal_d_DeleteReferredFriendRequest as DeleteReferredFriendRequest,\n      loyaltyReferralV1ReferredFriend_universal_d_DeleteReferredFriendResponse as DeleteReferredFriendResponse,\n      loyaltyReferralV1ReferredFriend_universal_d_QueryReferredFriendRequest as QueryReferredFriendRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      loyaltyReferralV1ReferredFriend_universal_d_QueryReferredFriendResponse as QueryReferredFriendResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      loyaltyReferralV1ReferredFriend_universal_d_Empty as Empty,\n      loyaltyReferralV1ReferredFriend_universal_d_SuccessfulReferralEvent as SuccessfulReferralEvent,\n      loyaltyReferralV1ReferredFriend_universal_d_ReferredFriendDetails as ReferredFriendDetails,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      loyaltyReferralV1ReferredFriend_universal_d_createReferredFriend as createReferredFriend,\n      loyaltyReferralV1ReferredFriend_universal_d_CreateReferredFriendOptions as CreateReferredFriendOptions,\n      loyaltyReferralV1ReferredFriend_universal_d_getReferredFriend as getReferredFriend,\n      loyaltyReferralV1ReferredFriend_universal_d_getReferredFriendByContactId as getReferredFriendByContactId,\n      loyaltyReferralV1ReferredFriend_universal_d_updateReferredFriend as updateReferredFriend,\n      loyaltyReferralV1ReferredFriend_universal_d_UpdateReferredFriend as UpdateReferredFriend,\n      loyaltyReferralV1ReferredFriend_universal_d_UpdateReferredFriendOptions as UpdateReferredFriendOptions,\n      loyaltyReferralV1ReferredFriend_universal_d_deleteReferredFriend as deleteReferredFriend,\n      loyaltyReferralV1ReferredFriend_universal_d_DeleteReferredFriendOptions as DeleteReferredFriendOptions,\n      loyaltyReferralV1ReferredFriend_universal_d_queryReferredFriend as queryReferredFriend,\n      loyaltyReferralV1ReferredFriend_universal_d_ReferredFriendsQueryResult as ReferredFriendsQueryResult,\n      loyaltyReferralV1ReferredFriend_universal_d_ReferredFriendsQueryBuilder as ReferredFriendsQueryBuilder,\n    };\n  }\n  \n  interface ReferringCustomer {\n      /**\n       * ID of the referring customer.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Contact ID associated with the referring customer.\n       * @readonly\n       */\n      contactId?: string;\n      /**\n       * Unique code for the referral. For example, `GxpxwAoMqxH8`.\n       * @readonly\n       */\n      referralCode?: string;\n      /**\n       * Revision number, which increments by 1 each time the referring customer is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the referring customer.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the referring customer was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the referring customer was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface GenerateReferringCustomerForContactRequest {\n      /** Contact ID or `\"me\"` to generate the current identity's referring customer. */\n      contactId: string;\n  }\n  interface GenerateReferringCustomerForContactResponse {\n      /** Created referring customer. */\n      referringCustomer?: ReferringCustomer;\n  }\n  interface GetReferringCustomerRequest {\n      /** ID of the referring customer to retrieve. */\n      referringCustomerId: string;\n  }\n  interface GetReferringCustomerResponse {\n      /** Retrieved referring customer. */\n      referringCustomer?: ReferringCustomer;\n  }\n  interface GetReferringCustomerByReferralCodeRequest {\n      /** Referral code of the referring customer to retrieve. */\n      referralCode: string;\n  }\n  interface GetReferringCustomerByReferralCodeResponse {\n      /** Retrieved referring customer. */\n      referringCustomer?: ReferringCustomer;\n  }\n  interface QueryReferringCustomersRequest {\n      /** Query options. */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryReferringCustomersResponse {\n      /** List of retrieved referring customers. */\n      referringCustomers?: ReferringCustomer[];\n      /** Paging metadata. */\n      metadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DeleteReferringCustomerRequest {\n      /** ID of the referring customer to delete. */\n      referringCustomerId: string;\n      /** Revision number of the referring customer. */\n      revision?: string;\n  }\n  interface DeleteReferringCustomerResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new referring customer or returns an existing one for the provided contact ID.\n   *\n   * You can use `me` instead of a specific contact ID to generate a referring customer for the current identity's contact.\n   *\n   * See the [About Identities](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities) article to learn more about identies.\n   * @param contactId - Contact ID or `\"me\"` to generate the current identity's referring customer.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField contactId\n   * @permissionId REFERRALS.MANAGE_REFERRING_CUSTOMERS\n   * @adminMethod\n   */\n  function generateReferringCustomerForContact(contactId: string): Promise<GenerateReferringCustomerForContactResponse>;\n  /**\n   * Retrieves a referring customer by ID.\n   * @param referringCustomerId - ID of the referring customer to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField referringCustomerId\n   * @permissionId REFERRALS.MANAGE_REFERRING_CUSTOMERS\n   * @adminMethod\n   * @returns Retrieved referring customer.\n   */\n  function getReferringCustomer(referringCustomerId: string): Promise<ReferringCustomer>;\n  /**\n   * Retrieves a referring customer by referral code.\n   * @param referralCode - Referral code of the referring customer to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField referralCode\n   * @permissionId REFERRALS.MANAGE_REFERRING_CUSTOMERS\n   * @adminMethod\n   */\n  function getReferringCustomerByReferralCode(referralCode: string): Promise<GetReferringCustomerByReferralCodeResponse>;\n  /**\n   * Creates a query to retrieve a list of referring customers.\n   *\n   * The `queryReferringCustomers()` function builds a query to retrieve a list of events and returns a `ReferringCustomersQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is typically used to run the query using the `find()` function.\n   *\n   * You can refine the query by chaining `ReferringCustomersQueryBuilder` functions onto the query. `ReferringCustomersQueryBuilder` functions enable you to sort, filter, and control the results `queryReferringCustomers()` returns.\n   *\n   * `queryReferringCustomers()` runs with these `ReferringCustomersQueryBuilder` defaults, which you can override:\n   *\n   * - `limit(50)`\n   * - `descending(\"_createdDate\")`\n   * The functions that are chained to `queryReferringCustomers()` are applied in the order they're called. For example, if you apply ascending('referralCode') and then descending('contactID'), the results are sorted first by the referral code, and then, if there are multiple results with the same referral code, the items are sorted by contact ID.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REFERRALS.MANAGE_REFERRING_CUSTOMERS\n   * @adminMethod\n   */\n  function queryReferringCustomers(): ReferringCustomersQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReferringCustomersQueryResult extends QueryCursorResult {\n      items: ReferringCustomer[];\n      query: ReferringCustomersQueryBuilder;\n      next: () => Promise<ReferringCustomersQueryResult>;\n      prev: () => Promise<ReferringCustomersQueryResult>;\n  }\n  interface ReferringCustomersQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'contactId' | 'referralCode' | '_createdDate' | '_updatedDate', value: any) => ReferringCustomersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'contactId' | 'referralCode' | '_createdDate' | '_updatedDate', value: any) => ReferringCustomersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferringCustomersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferringCustomersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferringCustomersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ReferringCustomersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'contactId' | 'referralCode', value: string) => ReferringCustomersQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'contactId' | 'referralCode' | '_createdDate' | '_updatedDate', value: any[]) => ReferringCustomersQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'contactId' | 'referralCode' | '_createdDate' | '_updatedDate', value: any) => ReferringCustomersQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'contactId' | 'referralCode' | '_createdDate' | '_updatedDate', value: boolean) => ReferringCustomersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'contactId' | 'referralCode' | '_createdDate' | '_updatedDate'>) => ReferringCustomersQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'contactId' | 'referralCode' | '_createdDate' | '_updatedDate'>) => ReferringCustomersQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReferringCustomersQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReferringCustomersQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReferringCustomersQueryResult>;\n  }\n  /**\n   * Deletes a referring customer by ID.\n   *\n   * You must provide the latest `revision` to prevent conflicting changes.\n   * @param referringCustomerId - ID of the referring customer to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField referringCustomerId\n   * @permissionId REFERRALS.MANAGE_REFERRING_CUSTOMERS\n   * @adminMethod\n   */\n  function deleteReferringCustomer(referringCustomerId: string, options?: DeleteReferringCustomerOptions): Promise<void>;\n  interface DeleteReferringCustomerOptions {\n      /** Revision number of the referring customer. */\n      revision?: string;\n  }\n  \n  type loyaltyReferralV1ReferringCustomer_universal_d_ReferringCustomer = ReferringCustomer;\n  type loyaltyReferralV1ReferringCustomer_universal_d_GenerateReferringCustomerForContactRequest = GenerateReferringCustomerForContactRequest;\n  type loyaltyReferralV1ReferringCustomer_universal_d_GenerateReferringCustomerForContactResponse = GenerateReferringCustomerForContactResponse;\n  type loyaltyReferralV1ReferringCustomer_universal_d_GetReferringCustomerRequest = GetReferringCustomerRequest;\n  type loyaltyReferralV1ReferringCustomer_universal_d_GetReferringCustomerResponse = GetReferringCustomerResponse;\n  type loyaltyReferralV1ReferringCustomer_universal_d_GetReferringCustomerByReferralCodeRequest = GetReferringCustomerByReferralCodeRequest;\n  type loyaltyReferralV1ReferringCustomer_universal_d_GetReferringCustomerByReferralCodeResponse = GetReferringCustomerByReferralCodeResponse;\n  type loyaltyReferralV1ReferringCustomer_universal_d_QueryReferringCustomersRequest = QueryReferringCustomersRequest;\n  type loyaltyReferralV1ReferringCustomer_universal_d_CursorQuery = CursorQuery;\n  type loyaltyReferralV1ReferringCustomer_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type loyaltyReferralV1ReferringCustomer_universal_d_Sorting = Sorting;\n  type loyaltyReferralV1ReferringCustomer_universal_d_SortOrder = SortOrder;\n  const loyaltyReferralV1ReferringCustomer_universal_d_SortOrder: typeof SortOrder;\n  type loyaltyReferralV1ReferringCustomer_universal_d_CursorPaging = CursorPaging;\n  type loyaltyReferralV1ReferringCustomer_universal_d_QueryReferringCustomersResponse = QueryReferringCustomersResponse;\n  type loyaltyReferralV1ReferringCustomer_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type loyaltyReferralV1ReferringCustomer_universal_d_Cursors = Cursors;\n  type loyaltyReferralV1ReferringCustomer_universal_d_DeleteReferringCustomerRequest = DeleteReferringCustomerRequest;\n  type loyaltyReferralV1ReferringCustomer_universal_d_DeleteReferringCustomerResponse = DeleteReferringCustomerResponse;\n  type loyaltyReferralV1ReferringCustomer_universal_d_DomainEvent = DomainEvent;\n  type loyaltyReferralV1ReferringCustomer_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type loyaltyReferralV1ReferringCustomer_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type loyaltyReferralV1ReferringCustomer_universal_d_RestoreInfo = RestoreInfo;\n  type loyaltyReferralV1ReferringCustomer_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type loyaltyReferralV1ReferringCustomer_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type loyaltyReferralV1ReferringCustomer_universal_d_ActionEvent = ActionEvent;\n  type loyaltyReferralV1ReferringCustomer_universal_d_MessageEnvelope = MessageEnvelope;\n  type loyaltyReferralV1ReferringCustomer_universal_d_IdentificationData = IdentificationData;\n  type loyaltyReferralV1ReferringCustomer_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type loyaltyReferralV1ReferringCustomer_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const loyaltyReferralV1ReferringCustomer_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const loyaltyReferralV1ReferringCustomer_universal_d_generateReferringCustomerForContact: typeof generateReferringCustomerForContact;\n  const loyaltyReferralV1ReferringCustomer_universal_d_getReferringCustomer: typeof getReferringCustomer;\n  const loyaltyReferralV1ReferringCustomer_universal_d_getReferringCustomerByReferralCode: typeof getReferringCustomerByReferralCode;\n  const loyaltyReferralV1ReferringCustomer_universal_d_queryReferringCustomers: typeof queryReferringCustomers;\n  type loyaltyReferralV1ReferringCustomer_universal_d_ReferringCustomersQueryResult = ReferringCustomersQueryResult;\n  type loyaltyReferralV1ReferringCustomer_universal_d_ReferringCustomersQueryBuilder = ReferringCustomersQueryBuilder;\n  const loyaltyReferralV1ReferringCustomer_universal_d_deleteReferringCustomer: typeof deleteReferringCustomer;\n  type loyaltyReferralV1ReferringCustomer_universal_d_DeleteReferringCustomerOptions = DeleteReferringCustomerOptions;\n  namespace loyaltyReferralV1ReferringCustomer_universal_d {\n    export {\n      loyaltyReferralV1ReferringCustomer_universal_d_ReferringCustomer as ReferringCustomer,\n      loyaltyReferralV1ReferringCustomer_universal_d_GenerateReferringCustomerForContactRequest as GenerateReferringCustomerForContactRequest,\n      loyaltyReferralV1ReferringCustomer_universal_d_GenerateReferringCustomerForContactResponse as GenerateReferringCustomerForContactResponse,\n      loyaltyReferralV1ReferringCustomer_universal_d_GetReferringCustomerRequest as GetReferringCustomerRequest,\n      loyaltyReferralV1ReferringCustomer_universal_d_GetReferringCustomerResponse as GetReferringCustomerResponse,\n      loyaltyReferralV1ReferringCustomer_universal_d_GetReferringCustomerByReferralCodeRequest as GetReferringCustomerByReferralCodeRequest,\n      loyaltyReferralV1ReferringCustomer_universal_d_GetReferringCustomerByReferralCodeResponse as GetReferringCustomerByReferralCodeResponse,\n      loyaltyReferralV1ReferringCustomer_universal_d_QueryReferringCustomersRequest as QueryReferringCustomersRequest,\n      loyaltyReferralV1ReferringCustomer_universal_d_CursorQuery as CursorQuery,\n      loyaltyReferralV1ReferringCustomer_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      loyaltyReferralV1ReferringCustomer_universal_d_Sorting as Sorting,\n      loyaltyReferralV1ReferringCustomer_universal_d_SortOrder as SortOrder,\n      loyaltyReferralV1ReferringCustomer_universal_d_CursorPaging as CursorPaging,\n      loyaltyReferralV1ReferringCustomer_universal_d_QueryReferringCustomersResponse as QueryReferringCustomersResponse,\n      loyaltyReferralV1ReferringCustomer_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      loyaltyReferralV1ReferringCustomer_universal_d_Cursors as Cursors,\n      loyaltyReferralV1ReferringCustomer_universal_d_DeleteReferringCustomerRequest as DeleteReferringCustomerRequest,\n      loyaltyReferralV1ReferringCustomer_universal_d_DeleteReferringCustomerResponse as DeleteReferringCustomerResponse,\n      loyaltyReferralV1ReferringCustomer_universal_d_DomainEvent as DomainEvent,\n      loyaltyReferralV1ReferringCustomer_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      loyaltyReferralV1ReferringCustomer_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      loyaltyReferralV1ReferringCustomer_universal_d_RestoreInfo as RestoreInfo,\n      loyaltyReferralV1ReferringCustomer_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      loyaltyReferralV1ReferringCustomer_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      loyaltyReferralV1ReferringCustomer_universal_d_ActionEvent as ActionEvent,\n      loyaltyReferralV1ReferringCustomer_universal_d_MessageEnvelope as MessageEnvelope,\n      loyaltyReferralV1ReferringCustomer_universal_d_IdentificationData as IdentificationData,\n      loyaltyReferralV1ReferringCustomer_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      loyaltyReferralV1ReferringCustomer_universal_d_WebhookIdentityType as WebhookIdentityType,\n      loyaltyReferralV1ReferringCustomer_universal_d_generateReferringCustomerForContact as generateReferringCustomerForContact,\n      loyaltyReferralV1ReferringCustomer_universal_d_getReferringCustomer as getReferringCustomer,\n      loyaltyReferralV1ReferringCustomer_universal_d_getReferringCustomerByReferralCode as getReferringCustomerByReferralCode,\n      loyaltyReferralV1ReferringCustomer_universal_d_queryReferringCustomers as queryReferringCustomers,\n      loyaltyReferralV1ReferringCustomer_universal_d_ReferringCustomersQueryResult as ReferringCustomersQueryResult,\n      loyaltyReferralV1ReferringCustomer_universal_d_ReferringCustomersQueryBuilder as ReferringCustomersQueryBuilder,\n      loyaltyReferralV1ReferringCustomer_universal_d_deleteReferringCustomer as deleteReferringCustomer,\n      loyaltyReferralV1ReferringCustomer_universal_d_DeleteReferringCustomerOptions as DeleteReferringCustomerOptions,\n    };\n  }\n  \n  export { loyaltyReferralV1ReferringCustomer_universal_d as customers, loyaltyReferralV1ReferredFriend_universal_d as friends, loyaltyReferralV1Program_universal_d as programs, loyaltyReferralV1ReferralReward_universal_d as rewards, loyaltyReferralV1ReferralEvent_universal_d as tracker };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-custom-fields.v1.d.ts",
      "content": "declare module \"wix-custom-fields.v1\" {\n  interface CustomFieldApplication {\n      /** Custom field ID. */\n      customFieldId?: string | null;\n      /**\n       * Custom field key.\n       * @readonly\n       */\n      customFieldKey?: string | null;\n      /** Entities the custom field applies to. */\n      applications?: ApplicationsWrapper;\n      /** Entities the custom field is excluded from. */\n      exclusions?: ExclusionsWrapper;\n      /** Revision number. */\n      revision?: string | null;\n  }\n  interface ApplicationsWrapper {\n      /** List of up to 100 entities the custom field applies to. */\n      items?: AppliesTo[];\n  }\n  interface AppliesTo {\n      /** Type of application. */\n      applicationType?: Type;\n      /** Entity ID. */\n      entityId?: string | null;\n  }\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      ROLE = \"ROLE\",\n      BADGE = \"BADGE\",\n      PRICING_PLAN = \"PRICING_PLAN\",\n      MEMBER = \"MEMBER\"\n  }\n  interface ExclusionsWrapper {\n      /** List of up to 100 entities the custom field is excluded from. */\n      items?: Exclusion[];\n  }\n  interface Exclusion {\n      /** Type of exclusion. */\n      exclusionType?: ExclusionType;\n      /** Entity ID. */\n      entityId?: string | null;\n  }\n  enum ExclusionType {\n      UNKNOWN = \"UNKNOWN\",\n      ROLE = \"ROLE\",\n      BADGE = \"BADGE\",\n      PRICING_PLAN = \"PRICING_PLAN\",\n      MEMBER = \"MEMBER\"\n  }\n  interface CreateCustomFieldApplicationRequest {\n      /** Custom field application to create. */\n      application: CustomFieldApplication;\n  }\n  interface CreateCustomFieldApplicationResponse {\n      /** Newly created custom field application. */\n      application?: CustomFieldApplication;\n  }\n  interface DeleteCustomFieldApplicationRequest {\n      /** ID of the custom field which application should be deleted. */\n      customFieldId: string | null;\n  }\n  interface DeleteCustomFieldApplicationResponse {\n  }\n  interface UpdateCustomFieldApplicationRequest {\n      /** Custom field application to update. */\n      application: CustomFieldApplication;\n  }\n  interface UpdateCustomFieldApplicationResponse {\n      /** Updated custom field application. */\n      application?: CustomFieldApplication;\n  }\n  interface GetCustomFieldApplicationRequest {\n      /** ID of the custom field which application should be returned. */\n      customFieldId: string | null;\n  }\n  interface GetCustomFieldApplicationResponse {\n      /** Requested custom field application. */\n      application?: CustomFieldApplication;\n  }\n  interface GetCustomFieldApplicationsRequest {\n      /** List of IDs of the custom fields which applications should be returned. */\n      customFieldIds: string[];\n  }\n  interface GetCustomFieldApplicationsResponse {\n      /** List of requested custom field applications. */\n      applications?: CustomFieldApplication[];\n  }\n  interface GetMembersCustomFieldApplicationsRequest {\n      /** IDs of members whose custom field applications are requested. */\n      memberIds: string[];\n  }\n  interface GetMembersCustomFieldApplicationsResponse {\n      results?: MemberCustomFieldApplication[];\n  }\n  interface MemberCustomFieldApplication {\n      memberId?: string | null;\n      applications?: FieldApplication[];\n  }\n  interface FieldApplication {\n      /**\n       * Custom field key.\n       * @readonly\n       */\n      customFieldKey?: string | null;\n      /** Indicates if the custom field applies. */\n      applies?: boolean;\n      /** Custom field. */\n      customField?: CustomField;\n  }\n  /** Custom field */\n  interface CustomField {\n      /**\n       * Field ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Human-readable name shown in the business manager and live site. */\n      name?: string | null;\n      /**\n       * Field key.\n       * @readonly\n       */\n      key?: string | null;\n      /** Default privacy of custom field. */\n      defaultPrivacy?: Privacy;\n      /** Type of data the field holds. */\n      fieldType?: FieldTypeType;\n      /** Social field type. */\n      socialType?: SocialTypeType;\n      /**\n       * Field origin.\n       * @readonly\n       */\n      fieldOrigin?: Origin;\n      /**\n       * Describes whom the custom field applies to.\n       * @readonly\n       */\n      appliesTo?: AppliesToAppliesTo;\n      /**\n       * The section the field belongs to.\n       * @readonly\n       */\n      section?: Section;\n      /**\n       * Date and time when the field was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time when the field was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Revision number, used for checking the optimistic lock condition. */\n      revision?: string | null;\n  }\n  enum Privacy {\n      UNKNOWN = \"UNKNOWN\",\n      PUBLIC = \"PUBLIC\",\n      PRIVATE = \"PRIVATE\"\n  }\n  enum FieldTypeType {\n      UNKNOWN = \"UNKNOWN\",\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\",\n      DATE = \"DATE\",\n      URL = \"URL\",\n      SOCIAL = \"SOCIAL\"\n  }\n  enum SocialTypeType {\n      UNKNOWN = \"UNKNOWN\",\n      FACEBOOK = \"FACEBOOK\",\n      INSTAGRAM = \"INSTAGRAM\",\n      LINKEDIN = \"LINKEDIN\",\n      TWITTER = \"TWITTER\",\n      YOUTUBE = \"YOUTUBE\",\n      PINTEREST = \"PINTEREST\",\n      TIKTOK = \"TIKTOK\",\n      DEVIANTART = \"DEVIANTART\",\n      SOUNDCLOUD = \"SOUNDCLOUD\",\n      TUMBLR = \"TUMBLR\",\n      VIMEO = \"VIMEO\",\n      VKONTAKTE = \"VKONTAKTE\",\n      ODNOKLASSNIKI = \"ODNOKLASSNIKI\",\n      OTHER = \"OTHER\"\n  }\n  enum Origin {\n      UNKNOWN = \"UNKNOWN\",\n      CUSTOM = \"CUSTOM\",\n      CONTACT = \"CONTACT\",\n      SYSTEM = \"SYSTEM\"\n  }\n  enum AppliesToAppliesTo {\n      ALL_MEMBERS = \"ALL_MEMBERS\",\n      SELECTED_MEMBERS = \"SELECTED_MEMBERS\"\n  }\n  enum Section {\n      GENERAL = \"GENERAL\",\n      SOCIAL = \"SOCIAL\",\n      DISPLAY_INFO = \"DISPLAY_INFO\",\n      ADDRESS = \"ADDRESS\"\n  }\n  interface GetRolesCustomFieldApplicationsRequest {\n      /** IDs of roles which custom field applications are requested. */\n      roleIds: string[];\n  }\n  interface GetRolesCustomFieldApplicationsResponse {\n      results?: RoleCustomFieldApplication[];\n  }\n  interface RoleCustomFieldApplication {\n      roleId?: string | null;\n      applications?: FieldApplication[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      undeleteInfo?: UndeleteInfo;\n  }\n  interface UndeleteInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates custom field application which defines whom the custom field applies to.\n   *\n   * When the field applies to a specific group, the field will be held by the members of that group.\n   * When the field applies to member ids, the field will be held by the specified members.\n   * Site members that do not fall into the defined groups or member IDs, will not have the custom field.\n   * @param application - Custom field application to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField application\n   * @requiredField application.applications.items.entityId\n   * @requiredField application.customFieldId\n   * @requiredField application.exclusions.items.entityId\n   * @adminMethod\n   * @returns Newly created custom field application.\n   */\n  function createCustomFieldApplication(application: CustomFieldApplication): Promise<CustomFieldApplication>;\n  /**\n   * Deletes custom field application.\n   *\n   * When deleted, the related custom field applies to all members.\n   * @param customFieldId - ID of the custom field which application should be deleted.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField customFieldId\n   * @adminMethod\n   */\n  function deleteCustomFieldApplication(customFieldId: string | null): Promise<void>;\n  /**\n   * Updates custom field application.\n   * Partial updates are not supported. Passing `applications` will overwrite existing ones.\n   * @param customFieldId - Custom field ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField application\n   * @requiredField application.applications.items.entityId\n   * @requiredField application.exclusions.items.entityId\n   * @requiredField application.revision\n   * @requiredField customFieldId\n   * @adminMethod\n   * @returns Updated custom field application.\n   */\n  function updateCustomFieldApplication(customFieldId: string | null, application: UpdateCustomFieldApplication): Promise<CustomFieldApplication>;\n  interface UpdateCustomFieldApplication {\n      /**\n       * Custom field key.\n       * @readonly\n       */\n      customFieldKey?: string | null;\n      /** Entities the custom field applies to. */\n      applications?: ApplicationsWrapper;\n      /** Entities the custom field is excluded from. */\n      exclusions?: ExclusionsWrapper;\n      /** Revision number. */\n      revision?: string | null;\n  }\n  /**\n   * Retrieves custom field application.\n   * @param customFieldId - ID of the custom field which application should be returned.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField customFieldId\n   */\n  function getCustomFieldApplication(customFieldId: string | null): Promise<GetCustomFieldApplicationResponse>;\n  /**\n   * Retrieves a list of custom field application.\n   * @param customFieldIds - List of IDs of the custom fields which applications should be returned.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField customFieldIds\n   */\n  function getCustomFieldApplications(customFieldIds: string[]): Promise<GetCustomFieldApplicationsResponse>;\n  /**\n   * Returns custom field applications which indicates if the custom fields apply to given members.\n   * @param memberIds - IDs of members whose custom field applications are requested.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField memberIds\n   * @adminMethod\n   */\n  function getMembersCustomFieldApplications(memberIds: string[]): Promise<GetMembersCustomFieldApplicationsResponse>;\n  /**\n   * Returns custom field applications which indicates if the custom fields apply to given roles.\n   * @param roleIds - IDs of roles which custom field applications are requested.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField roleIds\n   * @adminMethod\n   */\n  function getRolesCustomFieldApplications(roleIds: string[]): Promise<GetRolesCustomFieldApplicationsResponse>;\n  \n  type membersV1CustomFieldApplication_universal_d_CustomFieldApplication = CustomFieldApplication;\n  type membersV1CustomFieldApplication_universal_d_ApplicationsWrapper = ApplicationsWrapper;\n  type membersV1CustomFieldApplication_universal_d_AppliesTo = AppliesTo;\n  type membersV1CustomFieldApplication_universal_d_Type = Type;\n  const membersV1CustomFieldApplication_universal_d_Type: typeof Type;\n  type membersV1CustomFieldApplication_universal_d_ExclusionsWrapper = ExclusionsWrapper;\n  type membersV1CustomFieldApplication_universal_d_Exclusion = Exclusion;\n  type membersV1CustomFieldApplication_universal_d_ExclusionType = ExclusionType;\n  const membersV1CustomFieldApplication_universal_d_ExclusionType: typeof ExclusionType;\n  type membersV1CustomFieldApplication_universal_d_CreateCustomFieldApplicationRequest = CreateCustomFieldApplicationRequest;\n  type membersV1CustomFieldApplication_universal_d_CreateCustomFieldApplicationResponse = CreateCustomFieldApplicationResponse;\n  type membersV1CustomFieldApplication_universal_d_DeleteCustomFieldApplicationRequest = DeleteCustomFieldApplicationRequest;\n  type membersV1CustomFieldApplication_universal_d_DeleteCustomFieldApplicationResponse = DeleteCustomFieldApplicationResponse;\n  type membersV1CustomFieldApplication_universal_d_UpdateCustomFieldApplicationRequest = UpdateCustomFieldApplicationRequest;\n  type membersV1CustomFieldApplication_universal_d_UpdateCustomFieldApplicationResponse = UpdateCustomFieldApplicationResponse;\n  type membersV1CustomFieldApplication_universal_d_GetCustomFieldApplicationRequest = GetCustomFieldApplicationRequest;\n  type membersV1CustomFieldApplication_universal_d_GetCustomFieldApplicationResponse = GetCustomFieldApplicationResponse;\n  type membersV1CustomFieldApplication_universal_d_GetCustomFieldApplicationsRequest = GetCustomFieldApplicationsRequest;\n  type membersV1CustomFieldApplication_universal_d_GetCustomFieldApplicationsResponse = GetCustomFieldApplicationsResponse;\n  type membersV1CustomFieldApplication_universal_d_GetMembersCustomFieldApplicationsRequest = GetMembersCustomFieldApplicationsRequest;\n  type membersV1CustomFieldApplication_universal_d_GetMembersCustomFieldApplicationsResponse = GetMembersCustomFieldApplicationsResponse;\n  type membersV1CustomFieldApplication_universal_d_MemberCustomFieldApplication = MemberCustomFieldApplication;\n  type membersV1CustomFieldApplication_universal_d_FieldApplication = FieldApplication;\n  type membersV1CustomFieldApplication_universal_d_CustomField = CustomField;\n  type membersV1CustomFieldApplication_universal_d_Privacy = Privacy;\n  const membersV1CustomFieldApplication_universal_d_Privacy: typeof Privacy;\n  type membersV1CustomFieldApplication_universal_d_FieldTypeType = FieldTypeType;\n  const membersV1CustomFieldApplication_universal_d_FieldTypeType: typeof FieldTypeType;\n  type membersV1CustomFieldApplication_universal_d_SocialTypeType = SocialTypeType;\n  const membersV1CustomFieldApplication_universal_d_SocialTypeType: typeof SocialTypeType;\n  type membersV1CustomFieldApplication_universal_d_Origin = Origin;\n  const membersV1CustomFieldApplication_universal_d_Origin: typeof Origin;\n  type membersV1CustomFieldApplication_universal_d_AppliesToAppliesTo = AppliesToAppliesTo;\n  const membersV1CustomFieldApplication_universal_d_AppliesToAppliesTo: typeof AppliesToAppliesTo;\n  type membersV1CustomFieldApplication_universal_d_Section = Section;\n  const membersV1CustomFieldApplication_universal_d_Section: typeof Section;\n  type membersV1CustomFieldApplication_universal_d_GetRolesCustomFieldApplicationsRequest = GetRolesCustomFieldApplicationsRequest;\n  type membersV1CustomFieldApplication_universal_d_GetRolesCustomFieldApplicationsResponse = GetRolesCustomFieldApplicationsResponse;\n  type membersV1CustomFieldApplication_universal_d_RoleCustomFieldApplication = RoleCustomFieldApplication;\n  type membersV1CustomFieldApplication_universal_d_DomainEvent = DomainEvent;\n  type membersV1CustomFieldApplication_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type membersV1CustomFieldApplication_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type membersV1CustomFieldApplication_universal_d_UndeleteInfo = UndeleteInfo;\n  type membersV1CustomFieldApplication_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type membersV1CustomFieldApplication_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type membersV1CustomFieldApplication_universal_d_ActionEvent = ActionEvent;\n  type membersV1CustomFieldApplication_universal_d_Empty = Empty;\n  type membersV1CustomFieldApplication_universal_d_MessageEnvelope = MessageEnvelope;\n  type membersV1CustomFieldApplication_universal_d_IdentificationData = IdentificationData;\n  type membersV1CustomFieldApplication_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type membersV1CustomFieldApplication_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const membersV1CustomFieldApplication_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const membersV1CustomFieldApplication_universal_d_createCustomFieldApplication: typeof createCustomFieldApplication;\n  const membersV1CustomFieldApplication_universal_d_deleteCustomFieldApplication: typeof deleteCustomFieldApplication;\n  const membersV1CustomFieldApplication_universal_d_updateCustomFieldApplication: typeof updateCustomFieldApplication;\n  type membersV1CustomFieldApplication_universal_d_UpdateCustomFieldApplication = UpdateCustomFieldApplication;\n  const membersV1CustomFieldApplication_universal_d_getCustomFieldApplication: typeof getCustomFieldApplication;\n  const membersV1CustomFieldApplication_universal_d_getCustomFieldApplications: typeof getCustomFieldApplications;\n  const membersV1CustomFieldApplication_universal_d_getMembersCustomFieldApplications: typeof getMembersCustomFieldApplications;\n  const membersV1CustomFieldApplication_universal_d_getRolesCustomFieldApplications: typeof getRolesCustomFieldApplications;\n  namespace membersV1CustomFieldApplication_universal_d {\n    export {\n      membersV1CustomFieldApplication_universal_d_CustomFieldApplication as CustomFieldApplication,\n      membersV1CustomFieldApplication_universal_d_ApplicationsWrapper as ApplicationsWrapper,\n      membersV1CustomFieldApplication_universal_d_AppliesTo as AppliesTo,\n      membersV1CustomFieldApplication_universal_d_Type as Type,\n      membersV1CustomFieldApplication_universal_d_ExclusionsWrapper as ExclusionsWrapper,\n      membersV1CustomFieldApplication_universal_d_Exclusion as Exclusion,\n      membersV1CustomFieldApplication_universal_d_ExclusionType as ExclusionType,\n      membersV1CustomFieldApplication_universal_d_CreateCustomFieldApplicationRequest as CreateCustomFieldApplicationRequest,\n      membersV1CustomFieldApplication_universal_d_CreateCustomFieldApplicationResponse as CreateCustomFieldApplicationResponse,\n      membersV1CustomFieldApplication_universal_d_DeleteCustomFieldApplicationRequest as DeleteCustomFieldApplicationRequest,\n      membersV1CustomFieldApplication_universal_d_DeleteCustomFieldApplicationResponse as DeleteCustomFieldApplicationResponse,\n      membersV1CustomFieldApplication_universal_d_UpdateCustomFieldApplicationRequest as UpdateCustomFieldApplicationRequest,\n      membersV1CustomFieldApplication_universal_d_UpdateCustomFieldApplicationResponse as UpdateCustomFieldApplicationResponse,\n      membersV1CustomFieldApplication_universal_d_GetCustomFieldApplicationRequest as GetCustomFieldApplicationRequest,\n      membersV1CustomFieldApplication_universal_d_GetCustomFieldApplicationResponse as GetCustomFieldApplicationResponse,\n      membersV1CustomFieldApplication_universal_d_GetCustomFieldApplicationsRequest as GetCustomFieldApplicationsRequest,\n      membersV1CustomFieldApplication_universal_d_GetCustomFieldApplicationsResponse as GetCustomFieldApplicationsResponse,\n      membersV1CustomFieldApplication_universal_d_GetMembersCustomFieldApplicationsRequest as GetMembersCustomFieldApplicationsRequest,\n      membersV1CustomFieldApplication_universal_d_GetMembersCustomFieldApplicationsResponse as GetMembersCustomFieldApplicationsResponse,\n      membersV1CustomFieldApplication_universal_d_MemberCustomFieldApplication as MemberCustomFieldApplication,\n      membersV1CustomFieldApplication_universal_d_FieldApplication as FieldApplication,\n      membersV1CustomFieldApplication_universal_d_CustomField as CustomField,\n      membersV1CustomFieldApplication_universal_d_Privacy as Privacy,\n      membersV1CustomFieldApplication_universal_d_FieldTypeType as FieldTypeType,\n      membersV1CustomFieldApplication_universal_d_SocialTypeType as SocialTypeType,\n      membersV1CustomFieldApplication_universal_d_Origin as Origin,\n      membersV1CustomFieldApplication_universal_d_AppliesToAppliesTo as AppliesToAppliesTo,\n      membersV1CustomFieldApplication_universal_d_Section as Section,\n      membersV1CustomFieldApplication_universal_d_GetRolesCustomFieldApplicationsRequest as GetRolesCustomFieldApplicationsRequest,\n      membersV1CustomFieldApplication_universal_d_GetRolesCustomFieldApplicationsResponse as GetRolesCustomFieldApplicationsResponse,\n      membersV1CustomFieldApplication_universal_d_RoleCustomFieldApplication as RoleCustomFieldApplication,\n      membersV1CustomFieldApplication_universal_d_DomainEvent as DomainEvent,\n      membersV1CustomFieldApplication_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      membersV1CustomFieldApplication_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      membersV1CustomFieldApplication_universal_d_UndeleteInfo as UndeleteInfo,\n      membersV1CustomFieldApplication_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      membersV1CustomFieldApplication_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      membersV1CustomFieldApplication_universal_d_ActionEvent as ActionEvent,\n      membersV1CustomFieldApplication_universal_d_Empty as Empty,\n      membersV1CustomFieldApplication_universal_d_MessageEnvelope as MessageEnvelope,\n      membersV1CustomFieldApplication_universal_d_IdentificationData as IdentificationData,\n      membersV1CustomFieldApplication_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      membersV1CustomFieldApplication_universal_d_WebhookIdentityType as WebhookIdentityType,\n      membersV1CustomFieldApplication_universal_d_createCustomFieldApplication as createCustomFieldApplication,\n      membersV1CustomFieldApplication_universal_d_deleteCustomFieldApplication as deleteCustomFieldApplication,\n      membersV1CustomFieldApplication_universal_d_updateCustomFieldApplication as updateCustomFieldApplication,\n      membersV1CustomFieldApplication_universal_d_UpdateCustomFieldApplication as UpdateCustomFieldApplication,\n      membersV1CustomFieldApplication_universal_d_getCustomFieldApplication as getCustomFieldApplication,\n      membersV1CustomFieldApplication_universal_d_getCustomFieldApplications as getCustomFieldApplications,\n      membersV1CustomFieldApplication_universal_d_getMembersCustomFieldApplications as getMembersCustomFieldApplications,\n      membersV1CustomFieldApplication_universal_d_getRolesCustomFieldApplications as getRolesCustomFieldApplications,\n    };\n  }\n  \n  export { membersV1CustomFieldApplication_universal_d as customFields };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-members.v1.d.ts",
      "content": "declare module \"wix-members.v1\" {\n  /** Default privacy status */\n  interface DefaultPrivacy {\n      /**\n       * Privacy ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Default privacy status in meta site. */\n      defaultPrivacy?: Privacy;\n      /** Revision number, used for checking the optimistic lock condition. */\n      revision?: string | null;\n  }\n  enum Privacy {\n      PRIVATE = \"PRIVATE\",\n      PUBLIC = \"PUBLIC\"\n  }\n  interface GetDefaultPrivacyStatusRequest {\n  }\n  interface GetDefaultPrivacyStatusResponse {\n      defaultPrivacy?: DefaultPrivacy;\n  }\n  interface SetDefaultPrivacyStatusRequest {\n      defaultPrivacy: DefaultPrivacy;\n  }\n  interface SetDefaultPrivacyStatusResponse {\n      defaultPrivacy?: DefaultPrivacy;\n  }\n  /**\n   * Get metasite default privacy status\n   * @public\n   * @documentationMaturity preview\n   */\n  function getDefaultPrivacyStatus(): Promise<GetDefaultPrivacyStatusResponse>;\n  /**\n   * Set metasite default privacy status\n   * @public\n   * @documentationMaturity preview\n   * @requiredField defaultPrivacy\n   * @requiredField defaultPrivacy.revision\n   * @adminMethod\n   */\n  function setDefaultPrivacyStatus(defaultPrivacy: DefaultPrivacy): Promise<SetDefaultPrivacyStatusResponse>;\n  \n  type membersV1DefaultPrivacy_universal_d_DefaultPrivacy = DefaultPrivacy;\n  type membersV1DefaultPrivacy_universal_d_Privacy = Privacy;\n  const membersV1DefaultPrivacy_universal_d_Privacy: typeof Privacy;\n  type membersV1DefaultPrivacy_universal_d_GetDefaultPrivacyStatusRequest = GetDefaultPrivacyStatusRequest;\n  type membersV1DefaultPrivacy_universal_d_GetDefaultPrivacyStatusResponse = GetDefaultPrivacyStatusResponse;\n  type membersV1DefaultPrivacy_universal_d_SetDefaultPrivacyStatusRequest = SetDefaultPrivacyStatusRequest;\n  type membersV1DefaultPrivacy_universal_d_SetDefaultPrivacyStatusResponse = SetDefaultPrivacyStatusResponse;\n  const membersV1DefaultPrivacy_universal_d_getDefaultPrivacyStatus: typeof getDefaultPrivacyStatus;\n  const membersV1DefaultPrivacy_universal_d_setDefaultPrivacyStatus: typeof setDefaultPrivacyStatus;\n  namespace membersV1DefaultPrivacy_universal_d {\n    export {\n      membersV1DefaultPrivacy_universal_d_DefaultPrivacy as DefaultPrivacy,\n      membersV1DefaultPrivacy_universal_d_Privacy as Privacy,\n      membersV1DefaultPrivacy_universal_d_GetDefaultPrivacyStatusRequest as GetDefaultPrivacyStatusRequest,\n      membersV1DefaultPrivacy_universal_d_GetDefaultPrivacyStatusResponse as GetDefaultPrivacyStatusResponse,\n      membersV1DefaultPrivacy_universal_d_SetDefaultPrivacyStatusRequest as SetDefaultPrivacyStatusRequest,\n      membersV1DefaultPrivacy_universal_d_SetDefaultPrivacyStatusResponse as SetDefaultPrivacyStatusResponse,\n      membersV1DefaultPrivacy_universal_d_getDefaultPrivacyStatus as getDefaultPrivacyStatus,\n      membersV1DefaultPrivacy_universal_d_setDefaultPrivacyStatus as setDefaultPrivacyStatus,\n    };\n  }\n  \n  export { membersV1DefaultPrivacy_universal_d as members };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-subscription.v1.d.ts",
      "content": "declare module \"wix-subscription.v1\" {\n  interface Subscription {\n      /**\n       * Subscription's unique id. Automatically generated and read-only.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date when subscription was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date when subscription was updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Revision of subscription. Increments upon changes\n       * @readonly\n       */\n      revision?: string | null;\n      /** Subscription name: minLength is 1, maxLength is 150 */\n      name?: string;\n      /** Subscription description. Optional. */\n      description?: string | null;\n      /**\n       * If start_date is set in the future: custom_billing_schedule.cycles_to_pay_on_creation should be set to 1\n       * in order to pay on creation for first cycle, Subscription will be then activated in the future.\n       * Future start_date is not supported for `SEND_INVOICE` CollectionMethod\n       * If start_date is set in past, it means subscription was already started.\n       */\n      startDate?: Date | null;\n      /**\n       * Represents when the subscription will end, relevant for subscriptions with a termed period.\n       * If not provided, will be calculated based on billing schedule. Should be empty for evergreen subscription.\n       * Note: A 13-hour tolerance is applied when validating the end date to handle for time zone differences and minor discrepancies.\n       */\n      endDate?: Date | null;\n      /** Business origin subscription is coming from. In site-level subscription it will be vertical app_id and entity_id */\n      origin?: BusinessOrigin;\n      /** Customer information like id and identity type (member or contact) */\n      customer?: Customer;\n      /**\n       * Status of subscription\n       * @readonly\n       */\n      status?: SubscriptionStatusEnumSubscriptionStatus;\n      /** Billing details parameters including schedule, currency, etc. */\n      billingSettings?: BillingSettings;\n      /**\n       * Includes many attributes about billing status of the subscription\n       * @readonly\n       */\n      billingStatus?: BillingStatus;\n      /** Shipping address associated with subscription. At the moment used only for payments. Optional. */\n      shippingAddress?: FullAddressDetails;\n      /** Restrictions on possible subscription actions. If not provided, default policies are all restrictions enabled. */\n      policies?: SubscriptionPolicies;\n      /**\n       * Information related to either paused subscription or scheduled for future pause\n       * @readonly\n       */\n      pauseInfo?: PauseInfo;\n      /**\n       * Information related to cancellation for already canceled subscription or scheduled for cancel\n       * @readonly\n       */\n      cancellationInfo?: CancellationInfo;\n      /**\n       * Pending update for the next billing cycle\n       * @readonly\n       */\n      pendingUpdateData?: SubscriptionUpdateData;\n      /**\n       * Indicator whether subscription is managed by BASS or external system, like SAPI, for example.\n       * @internal\n       * @readonly\n       */\n      bassManaged?: boolean;\n      /**\n       * Key / Value store to keep up to 10 additional values related to the subscription.\n       * Key max length = 50, Value max length = 200. Value can not be empty.\n       * Should not include any sensitive or PII information.\n       */\n      metadata?: Record<string, string>;\n      /**\n       * Pending update for a specific date\n       * @readonly\n       */\n      specificDatePendingUpdateData?: SpecificDateSubscriptionUpdateData;\n      /**\n       * ChangesCounter of subscription. Increments upon every change to the domain\n       * @readonly\n       */\n      changesCounter?: string | null;\n      /** Billing order id. Optional. */\n      orderId?: string | null;\n      /** items, minSize is 1, maxSize is 100 */\n      items?: Item[];\n  }\n  interface BusinessOrigin {\n      appId?: string | null;\n      entityId?: string | null;\n  }\n  interface Customer extends CustomerIdOneOf {\n      /**\n       * Visitor ID of the customer. Available when the customer is an anonymous\n       * site visitor.\n       */\n      visitorId?: string;\n      /**\n       * Contact ID of the customer. Available when the customer is a\n       * [contact](https://dev.wix.com/docs/rest/api-reference/people-communications/contacts/contacts/contact-v-4#contact-object).\n       */\n      contactId?: string;\n      /**\n       * Member ID of the customer. Available when the customer is a\n       * [member](https://dev.wix.com/docs/rest/api-reference/people-communications/members/members#member-object).\n       */\n      memberId?: string;\n      /** Wix account ID */\n      accountId?: string;\n  }\n  /** @oneof */\n  interface CustomerIdOneOf {\n      /**\n       * Visitor ID of the customer. Available when the customer is an anonymous\n       * site visitor.\n       */\n      visitorId?: string;\n      /**\n       * Contact ID of the customer. Available when the customer is a\n       * [contact](https://dev.wix.com/docs/rest/api-reference/people-communications/contacts/contacts/contact-v-4#contact-object).\n       */\n      contactId?: string;\n      /**\n       * Member ID of the customer. Available when the customer is a\n       * [member](https://dev.wix.com/docs/rest/api-reference/people-communications/members/members#member-object).\n       */\n      memberId?: string;\n      /** Wix account ID */\n      accountId?: string;\n  }\n  enum SubscriptionStatusEnumSubscriptionStatus {\n      UNKNOWN = \"UNKNOWN\",\n      /** Subscription created in this status, but hasn't been paid for yet. Filtered out from subscriptions querying. */\n      DRAFT = \"DRAFT\",\n      /** Subscription that will be active in future. */\n      PENDING = \"PENDING\",\n      /** Subscription is active */\n      ACTIVE = \"ACTIVE\",\n      /** Subscription is paused */\n      PAUSED = \"PAUSED\",\n      /** Subscription was ended */\n      ENDED = \"ENDED\",\n      /** Subscription was canceled or auto-renew off. Ended before its time. */\n      CANCELED = \"CANCELED\"\n  }\n  interface BillingSettings {\n      /** Currency of all subscription items prices. Three letter ISO currency code. https://en.wikipedia.org/wiki/ISO_4217 */\n      currency?: string;\n      /** customer payment source to make recurring payments with */\n      paymentMethod?: PaymentMethod;\n      /** Instructs how payments will be collected. */\n      collectionMethod?: CollectionMethod;\n      /**\n       * Duration of cycle. For example, 1 MONTH, 2 WEEKS, 7 DAYS, 1 YEAR etc.\n       * Shortest supported cycle duration is 7 days.\n       */\n      cycleDuration?: Duration;\n      /** Number of billing cycles. If not set subscription auto-renewed until cycle-auto-renew will be disabled. */\n      totalCycles?: number | null;\n      /** If set to false, subscription will be canceled at the next billing cycle. */\n      cycleAutoRenew?: boolean;\n      /** Billing Schedule to be defined in order to override default billing schedule */\n      customBillingSchedule?: CustomBillingSchedule;\n      /** Definition of trial period */\n      freeTrialDuration?: Duration;\n      /**\n       * Shipping costs collected each cycle\n       * @deprecated\n       * @replacedBy shipping_charges\n       * @targetRemovalDate 2024-10-31\n       */\n      shippingFee?: string | null;\n      /** Billing address associated with subscription to be used for payments. */\n      billingAddress?: FullAddressDetails;\n      taxSettings?: TaxSettings;\n      /**\n       * Fees that are only added to an invoice when a specific condition is met.\n       * For example, a setup fee that only applies to the very first invoice of a\n       * subscription.\n       *\n       * Max: 5 additional fees\n       */\n      additionalFees?: AdditionalFee[];\n      /** Shipping fee charges */\n      shippingCharges?: ShippingCharges;\n      /** General discount that applied to all items in the subscription */\n      discounts?: Discount[];\n      /**\n       * Details about the external collection service.\n       * Only set when the collection_method is EXTERNAL.\n       */\n      externalCollectionDetails?: ExternalCollectionDetails;\n  }\n  interface PaymentMethod {\n      /** reference to payment source id stored in payments system */\n      _id?: string;\n  }\n  enum CollectionMethod {\n      UNKNOWN = \"UNKNOWN\",\n      /** Subscriber automatically charged */\n      AUTO_CHARGE = \"AUTO_CHARGE\",\n      /** Payments manually collected and managed by owner */\n      OFFLINE = \"OFFLINE\",\n      /** Payment will be collected somehow. Billing only issues invoice per cycle. */\n      SEND_INVOICE = \"SEND_INVOICE\",\n      /** Payment will be collected externally */\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface Duration {\n      /** Duration unit: DAY, WEEK, MONTH, YEAR */\n      unit?: DurationUnit;\n      /** Amount of units. For example,  1 MONTH, 1 YEAR, 2 WEEKS, etc. Optional. Default is 1. */\n      count?: number | null;\n  }\n  enum DurationUnit {\n      UNKNOWN = \"UNKNOWN\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  interface CustomBillingSchedule {\n      /**\n       * Amount of cycles to be paid on Subscription creation, currently only cycles_to_pay_on_creation equals to 1 is supported\n       * When used with Subscription.start_date, Subscription cycles will be paid on creation but Subscription will be activated in the future\n       */\n      cyclesToPayOnCreation?: number | null;\n  }\n  interface FullAddressDetails {\n      /** Details about the person associated with the address. */\n      contactDetails?: FullAddressContactDetails;\n      /** Information about the address. */\n      address?: Address;\n  }\n  interface FullAddressContactDetails {\n      /** First name of the contact. */\n      firstName?: string | null;\n      /** Last name of the contact. */\n      lastName?: string | null;\n      /** Phone number of the contact. */\n      phone?: string | null;\n      /** Company associated with the contact. */\n      company?: string | null;\n      /** Email address of the contact. */\n      email?: string | null;\n  }\n  interface Address extends AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine1?: string | null;\n      /**\n       * 2-letter country code in\n       * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)\n       * format.\n       */\n      country?: string | null;\n      /**\n       * Subdivision. Usually a state, region, prefecture, or province code,\n       * according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).\n       */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name and number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n  }\n  interface TaxSettings {\n      /** If true then taxes are included in given prices */\n      inclusive?: boolean;\n  }\n  interface AdditionalFee {\n      /**\n       * Name of the conditional fee.\n       *\n       * Max: 500 characters\n       */\n      name?: string;\n      /**\n       * Amount of the conditional fee.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /**\n       * When the fee is added to the invoice.\n       *\n       * + `UNKNOWN_FEE_TRIGGER`: There is no information about when the fee is added to an invoice.\n       * + `FIRST_PAYMENT`: The fee is only added to the very first invoice of a subscription.\n       */\n      trigger?: AdditionalFeeTrigger;\n      /** Information about the tax of the conditional fee. */\n      tax?: Tax;\n  }\n  enum AdditionalFeeTrigger {\n      UNKNOWN = \"UNKNOWN\",\n      /** Charge upon subscription first payment */\n      FIRST_PAYMENT = \"FIRST_PAYMENT\"\n  }\n  interface Tax extends TaxValueOneOf {\n      /**\n       * Tax amount for the invoice's line item. Available when the tax is an\n       * amount and not a precentage.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /**\n       * Tax amount for the invoice's line item price and application fee.\n       * Can't be combined with `invoiceItems.priceDetails.discount`.\n       * Available when the tax is a precentage and not an amount.\n       *\n       * Min: `0.01`\n       * Max: `100`\n       */\n      percentage?: string;\n      /** Dynamic tax calculation */\n      dynamic?: DynamicTax;\n  }\n  /** @oneof */\n  interface TaxValueOneOf {\n      /**\n       * Tax amount for the invoice's line item. Available when the tax is an\n       * amount and not a precentage.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /**\n       * Tax amount for the invoice's line item price and application fee.\n       * Can't be combined with `invoiceItems.priceDetails.discount`.\n       * Available when the tax is a precentage and not an amount.\n       *\n       * Min: `0.01`\n       * Max: `100`\n       */\n      percentage?: string;\n      /** Dynamic tax calculation */\n      dynamic?: DynamicTax;\n  }\n  interface DynamicTax {\n      /** Tax group ID used to calculate tax, default will be used if not available */\n      taxGroupId?: string | null;\n      /** Taxable address used to calculate tax */\n      taxableAddressType?: TaxableAddressType;\n  }\n  enum TaxableAddressType {\n      UNKNOWN = \"UNKNOWN\",\n      /** Tax will be calculated using a single address */\n      BUSINESS = \"BUSINESS\",\n      /** Tax will be calculated using multiple address (from BUSINESS to BILLING) */\n      BILLING = \"BILLING\",\n      /** Tax will be calculated using multiple address (from BUSINESS to SHIPPING) */\n      SHIPPING = \"SHIPPING\"\n  }\n  interface ShippingCharges {\n      /**\n       * Amount of the shipping fee in `0.00` format.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /** Tax of the shipping fee */\n      tax?: Tax;\n      discounts?: Discount[];\n  }\n  interface Discount extends DiscountValueOneOf {\n      /**\n       * Discount amount.\n       * Available when the discount is an amount.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /**\n       * Discount percentage.\n       * Available when the discount is a parcentage value.\n       *\n       * Min: `0.01`\n       * Max: `100`\n       */\n      percentage?: string;\n      cycles?: DiscountCycles;\n      /** Discount origin is coming from. Contains app_id and entity_id */\n      origin?: DiscountOrigin;\n  }\n  /** @oneof */\n  interface DiscountValueOneOf {\n      /**\n       * Discount amount.\n       * Available when the discount is an amount.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /**\n       * Discount percentage.\n       * Available when the discount is a parcentage value.\n       *\n       * Min: `0.01`\n       * Max: `100`\n       */\n      percentage?: string;\n  }\n  interface DiscountCycles {\n      /** The cycle from which the discount will start. Minimum cycle number is 1 */\n      cycleFrom?: number;\n      /** Number of cycles to be applied on them discount. In order to apply a discount on all cycles until the end of the subscription, this field should be empty. */\n      numberOfCycles?: number | null;\n  }\n  interface DiscountOrigin {\n      appId?: string;\n      entityId?: string;\n  }\n  interface ExternalCollectionDetails {\n      /** The name of the external collector. */\n      collectorName?: string;\n  }\n  interface BillingStatus {\n      /**\n       * Current cycle of subscription billing schedule. When billing schedule starts cycles start from 1\n       * and incremented each next billing cycle.\n       * In case billing schedule not started (free trial, pay later start later) then current_cycle will remain 0\n       */\n      currentCycle?: number;\n      /** how many cycled are remaining, For auto-renew subscriptions is not set. */\n      remainingCycles?: number | null;\n      /** Date when charge will be for next billing cycle */\n      nextBillingDate?: Date | null;\n      /** Previous Date charged for previous billing cycle */\n      previousBillingDate?: Date | null;\n      /** last payment details */\n      latestPaymentData?: PaymentData;\n      /** Free trial data */\n      freeTrialData?: FreeTrialData;\n      /**\n       * Update billing date operation data\n       * @internal\n       */\n      updateBillingDateData?: UpdateBillingDateData;\n      /**\n       * Grace period information during grace period after payment failure\n       * @readonly\n       */\n      gracePeriodData?: GracePeriodData;\n  }\n  /** TODO: fill docs */\n  interface PaymentData {\n      invoiceId?: string;\n      paymentStatus?: PaymentStatus;\n      totals?: Totals;\n      initialFailedPaymentDate?: Date | null;\n  }\n  enum PaymentStatus {\n      /** Payment status unknown */\n      UNKNOWN = \"UNKNOWN\",\n      /** Payment has not been paid */\n      UNPAID = \"UNPAID\",\n      /** Payment has been paid // TODO: p13n review: we are not sending event when in SEND_INVOICE mode cycle was paid. should we and which event? */\n      PAID = \"PAID\",\n      /** Payment failed */\n      FAILED = \"FAILED\"\n  }\n  interface Totals {\n      /**\n       * Total price of the subscription that the customer must pay per billing\n       * cycle. Calculated as: `subtotal + tax + shippingFee + applicationFee + extraCharge - discount - credit`\n       * @readonly\n       */\n      totalPrice?: string;\n      /**\n       * Subtotal of all line items that belong to the subscription.\n       * Calculated as: `sum_{i=1}^{n} (itemPrice[i] * quantity[i])`\n       * @readonly\n       */\n      subtotal?: string;\n      /**\n       * Total tax.\n       * @readonly\n       */\n      tax?: string | null;\n      /**\n       * Total discount.\n       * @readonly\n       */\n      discount?: string | null;\n      /**\n       * Total application fee.\n       * @readonly\n       */\n      applicationFee?: string | null;\n      /**\n       * Total shipping fee.\n       * @readonly\n       */\n      shippingFee?: string | null;\n      /**\n       * Total charges.\n       * @readonly\n       */\n      extraCharge?: string | null;\n      /**\n       * Total credits.\n       * @readonly\n       */\n      credit?: string | null;\n      /**\n       * The tax amount of the proration.\n       * @readonly\n       */\n      prorationTax?: string | null;\n  }\n  interface FreeTrialData {\n      /**\n       * Date when free trial starts\n       * @readonly\n       */\n      startDate?: Date | null;\n      /**\n       * Date when free trial ends\n       * @readonly\n       */\n      endDate?: Date | null;\n  }\n  interface UpdateBillingDateData {\n      /**\n       * Date until the subscription is paid for.\n       * Different from `nextBillingDate` only when the next billing date is updated without immediately issuing a new invoice.\n       */\n      paidUntil?: Date | null;\n      /** Information about how to adjust the item's payment due to the update of the billing date */\n      proration?: Proration;\n  }\n  interface Proration extends ProrationTypeOneOf {\n      /**\n       * BASS automatically calculates the proration amount based on the number\n       * of days added to or removed from the current billing cycle. BASS uses\n       * this formula to calculate the charge or credit amount:\n       * `(Subscription total for the current billing cycle) * (number of days added to or removed from the current billing cycle) / (total number of days for the current billing cycle before the adjustment)`.\n       * For example, the customer has paid 100 UDS for the current\n       * billing cycle that last 31 days, and you want to extend the cycle by 8\n       * days. Then, BASS calculates the proration amount like this:\n       * `100 USD * 8 days / 31 days`, which equals `25.81 USD`.\n       */\n      timeBased?: TimeBasedProration;\n      /** Proration amount that's based on your custom calculation. */\n      custom?: CustomProration;\n  }\n  /** @oneof */\n  interface ProrationTypeOneOf {\n      /**\n       * BASS automatically calculates the proration amount based on the number\n       * of days added to or removed from the current billing cycle. BASS uses\n       * this formula to calculate the charge or credit amount:\n       * `(Subscription total for the current billing cycle) * (number of days added to or removed from the current billing cycle) / (total number of days for the current billing cycle before the adjustment)`.\n       * For example, the customer has paid 100 UDS for the current\n       * billing cycle that last 31 days, and you want to extend the cycle by 8\n       * days. Then, BASS calculates the proration amount like this:\n       * `100 USD * 8 days / 31 days`, which equals `25.81 USD`.\n       */\n      timeBased?: TimeBasedProration;\n      /** Proration amount that's based on your custom calculation. */\n      custom?: CustomProration;\n  }\n  interface TimeBasedProration {\n  }\n  interface CustomProration extends CustomProrationAmountOneOf {\n      /**\n       * Proration charge amount that's based on your custom calculation.\n       * Increases the total that the customer must pay with the next invoice.\n       *\n       * Min: `0.01`\n       */\n      charge?: string;\n      /**\n       * Proration credit amount that's based on your custom calculation.\n       * Lowers the total that the customer must pay with the next invoice.\n       *\n       * Min: `0.01`\n       */\n      credit?: string;\n  }\n  /** @oneof */\n  interface CustomProrationAmountOneOf {\n      /**\n       * Proration charge amount that's based on your custom calculation.\n       * Increases the total that the customer must pay with the next invoice.\n       *\n       * Min: `0.01`\n       */\n      charge?: string;\n      /**\n       * Proration credit amount that's based on your custom calculation.\n       * Lowers the total that the customer must pay with the next invoice.\n       *\n       * Min: `0.01`\n       */\n      credit?: string;\n  }\n  interface GracePeriodData {\n      /**\n       * Grace period start date\n       * @readonly\n       */\n      startDate?: Date | null;\n      /**\n       * Grace period end date\n       * @readonly\n       */\n      endDate?: Date | null;\n      /** Automatic retry data during grade period, if have any. Optional. */\n      automaticRetryData?: AutomaticRetryData;\n  }\n  interface AutomaticRetryData {\n      enabled?: boolean;\n  }\n  interface SubscriptionPolicies {\n      /** Subscription can be canceled by the customer who bought it */\n      customerCanCancel?: boolean;\n      /** Subscription end date can be updated by business */\n      businessCanExtend?: boolean;\n      /** Subscription can be canceled not only immediately, but also at end of billing cycle by turning off auto-renew */\n      allowEndOfCycleCancellation?: boolean;\n  }\n  interface PauseInfo {\n      pausePolicy?: PausePolicy;\n      pauseAt?: PauseAt;\n      startDate?: Date | null;\n      startCycle?: number | null;\n      resumeAt?: ResumeAt;\n      resumeDate?: Date | null;\n      resumeCycle?: number | null;\n  }\n  enum PausePolicy {\n      NONE = \"NONE\",\n      /** Pause the payment and the service. When resuming, the subscription end date is extended by the number of cycles postponed, and if the pause happened in a middle of a cycle, the payment date is postponed by the amount of days that already paid. */\n      SERVICE_AND_PAYMENTS = \"SERVICE_AND_PAYMENTS\",\n      /** Pause the service and continue the billing. When resuming, extend the service by the time that was paused */\n      SERVICE_ONLY = \"SERVICE_ONLY\"\n  }\n  enum PauseAt {\n      /** Cancel scheduled pause */\n      NONE = \"NONE\",\n      /** Pause the subscription now */\n      IMMEDIATELY = \"IMMEDIATELY\",\n      /** Pause the subscription at the next billing date */\n      NEXT_BILLING_DATE = \"NEXT_BILLING_DATE\",\n      /** A specific date must be defined in Schedule.specific_date */\n      SPECIFIC_DATE = \"SPECIFIC_DATE\",\n      /** The number of cycles must be defined in Schedule.number_of_cycles */\n      NUMBER_OF_CYCLES_FROM_TODAY = \"NUMBER_OF_CYCLES_FROM_TODAY\"\n  }\n  enum ResumeAt {\n      /** Cancel scheduled resume */\n      NONE = \"NONE\",\n      /** Resume the subscription now */\n      IMMEDIATELY = \"IMMEDIATELY\",\n      /** Resume the subscription at the next billing date */\n      NEXT_BILLING_DATE = \"NEXT_BILLING_DATE\",\n      /** A specific date must be defined in Schedule.specific_date */\n      SPECIFIC_DATE = \"SPECIFIC_DATE\"\n  }\n  interface CancellationInfo {\n      /** Subscription cancel date. Can contain a future or past date */\n      cancellationDate?: Date | null;\n      /** Initiator for cancellation */\n      initiator?: HistoryActionInitiator;\n      /** Reason for cancellation. Optional. */\n      reason?: string | null;\n  }\n  enum HistoryActionInitiator {\n      UNDEFINED = \"UNDEFINED\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\",\n      SYSTEM = \"SYSTEM\",\n      PAYMENT_FAILURE = \"PAYMENT_FAILURE\"\n  }\n  interface SubscriptionUpdateData {\n      itemsToUpdate?: ItemChange[];\n      itemsToAdd?: Item[];\n      itemsToDelete?: string[] | null;\n      /** @readonly */\n      numberOfRequests?: number;\n  }\n  interface ItemChange {\n      /** Item ID */\n      _id?: string;\n      pricingModel?: PricingModel;\n      quantity?: number | null;\n      tax?: Tax;\n  }\n  interface PricingModel extends PricingModelModelOneOf {\n      /** Details about the fixed item price. */\n      fixedPrice?: FixedPrice;\n  }\n  /** @oneof */\n  interface PricingModelModelOneOf {\n      /** Details about the fixed item price. */\n      fixedPrice?: FixedPrice;\n  }\n  interface FixedPrice {\n      /**\n       * Fixed item price with a period as a decimal separator. For example, `3.99`.\n       * Price doesn't include tax, discounts, or application fee.\n       *\n       * Min: `0.01`\n       */\n      itemPrice?: string;\n  }\n  interface Item {\n      /**\n       * Unique identifier of subscription item. Automatically generated and read-only.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Name of the item. Typically product name. */\n      name?: string;\n      /** Description of the item. */\n      description?: string | null;\n      /** References to external product catalog data known to client. */\n      catalogReference?: CatalogReference;\n      /** Category of item. Whether it is digital or physical one. */\n      category?: ItemCategory;\n      /** Amount of products */\n      quantity?: number;\n      /** Pricing model of the item. Whether fixed price or dynamic price models. */\n      pricingModel?: PricingModel;\n      /** Tax, positive value, optional */\n      tax?: Tax;\n      /** Discounts applied on item price */\n      discounts?: Discount[];\n      /** Application specific fee, positive value, optional (if application_fee == 0, don't include it to request). Only positive values. */\n      applicationFee?: ApplicationFee;\n      /**\n       * External reference identifier for mapping item in consumer's system.\n       * This allows the consumer to correlate the item in their system with the item in this API.\n       */\n      externalId?: string | null;\n      /**\n       * Key / Value store to keep up to 10 additional values related to the subscription item.\n       * Key max length = 50, Value max length = 200. Value can not be empty.\n       * Should not include any sensitive or PII information.\n       */\n      metadata?: Record<string, string>;\n  }\n  interface CatalogReference {\n      /** Product ID from the external catalog. */\n      catalogItemId?: string;\n      /**\n       * ID of the app that the product catalog belongs to.\n       * When omitted, BASS assumes that the product belongs to the subscription's\n       * `origin.appId`.\n       *\n       * Min: 1 character\n       * Max: 50 characters\n       */\n      appId?: string | null;\n  }\n  enum ItemCategory {\n      UNKNOWN = \"UNKNOWN\",\n      PHYSICAL = \"PHYSICAL\",\n      DIGITAL = \"DIGITAL\"\n  }\n  interface ApplicationFee extends ApplicationFeeValueOneOf {\n      /** Amount of the application fee in `0.00` format. */\n      amount?: string;\n      /**\n       * Discounts for the application fee.\n       *\n       * Max: 5 discounts\n       */\n      discounts?: Discount[];\n  }\n  /** @oneof */\n  interface ApplicationFeeValueOneOf {\n      /** Amount of the application fee in `0.00` format. */\n      amount?: string;\n  }\n  interface SpecificDateSubscriptionUpdateData {\n      updateData?: SubscriptionUpdateData;\n      executionDate?: Date | null;\n  }\n  interface ListSubscriptionHistoryRequest {\n      subscriptionId: string;\n      /** Determines the type of view for the history: either a comprehensive backoffice view or a user-centric view. */\n      mode?: HistoryViewMode;\n      /** Cursor for efficient paging. If paging through results, pass this field from the previous search response to continue to the next page. */\n      cursor?: CursorPaging;\n  }\n  enum HistoryViewMode {\n      UNKNOWN = \"UNKNOWN\",\n      /** Comprehensive view including all history events. */\n      BACKOFFICE = \"BACKOFFICE\",\n      /** User-centric view of the history. */\n      USER = \"USER\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListSubscriptionHistoryResponse {\n      /** List of history entries for the subscription. */\n      historyEntries?: SubscriptionHistoryEntry[];\n      /** Paging metadata. A `next` cursor is returned if there are more results. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface SubscriptionHistoryEntry {\n      entryId?: string;\n      /** TODO: add max length? it is not defined in domainevents, so should we? */\n      slug?: string;\n      entryTime?: Date | null;\n      event?: SubscriptionEvent;\n  }\n  interface SubscriptionEvent extends SubscriptionEventPayloadOneOf {\n      created?: SubscriptionCreated;\n      updated?: SubscriptionUpdated;\n      deleted?: SubscriptionDeleted;\n      activated?: SubscriptionActivated;\n      ended?: SubscriptionEnded;\n      canceled?: SubscriptionCanceled;\n      paused?: SubscriptionPaused;\n      resumed?: SubscriptionResumed;\n      pauseRequested?: PauseSubscriptionRequested;\n      resumeRequested?: ResumeSubscriptionRequested;\n      scheduledPauseCanceled?: ScheduledPauseCanceled;\n      scheduledResumeCanceled?: ScheduledResumeCanceled;\n      billingCycleStarted?: SubscriptionBillingCycleStarted;\n      autoRenewalTurnedOn?: SubscriptionAutoRenewalTurnedOn;\n      autoRenewalTurnedOff?: SubscriptionAutoRenewalTurnedOff;\n      cycleReadyToPay?: SubscriptionCycleReadyToPay;\n      extended?: SubscriptionExtended;\n      initialPurchaseCompleted?: SubscriptionInitialPurchaseCompleted;\n      latestInvoiceMarkedAsPaid?: LatestInvoiceMarkedAsPaid;\n      revived?: SubscriptionRevived;\n      billingDateUpdated?: SubscriptionBillingDateUpdated;\n      futureUpdatesRequested?: FutureUpdatesRequested;\n      updatesApplied?: UpdatesApplied;\n      resetPendingUpdates?: ResetPendingUpdates;\n      gracePeriodStarted?: GracePeriodStarted;\n      gracePeriodEnded?: GracePeriodEnded;\n      paymentMethodUpdated?: PaymentMethodUpdated;\n      collectionMethodUpdated?: SubscriptionCollectionMethodUpdated;\n      freeTrailStarted?: FreeTrailStarted;\n      freeTrailEnded?: FreeTrailEnded;\n      subscriptionBoAction?: SubscriptionBackOfficeAction;\n      unknown?: UnknownSubscriptionEvent;\n  }\n  /** @oneof */\n  interface SubscriptionEventPayloadOneOf {\n      created?: SubscriptionCreated;\n      updated?: SubscriptionUpdated;\n      deleted?: SubscriptionDeleted;\n      activated?: SubscriptionActivated;\n      ended?: SubscriptionEnded;\n      canceled?: SubscriptionCanceled;\n      paused?: SubscriptionPaused;\n      resumed?: SubscriptionResumed;\n      pauseRequested?: PauseSubscriptionRequested;\n      resumeRequested?: ResumeSubscriptionRequested;\n      scheduledPauseCanceled?: ScheduledPauseCanceled;\n      scheduledResumeCanceled?: ScheduledResumeCanceled;\n      billingCycleStarted?: SubscriptionBillingCycleStarted;\n      autoRenewalTurnedOn?: SubscriptionAutoRenewalTurnedOn;\n      autoRenewalTurnedOff?: SubscriptionAutoRenewalTurnedOff;\n      cycleReadyToPay?: SubscriptionCycleReadyToPay;\n      extended?: SubscriptionExtended;\n      initialPurchaseCompleted?: SubscriptionInitialPurchaseCompleted;\n      latestInvoiceMarkedAsPaid?: LatestInvoiceMarkedAsPaid;\n      revived?: SubscriptionRevived;\n      billingDateUpdated?: SubscriptionBillingDateUpdated;\n      futureUpdatesRequested?: FutureUpdatesRequested;\n      updatesApplied?: UpdatesApplied;\n      resetPendingUpdates?: ResetPendingUpdates;\n      gracePeriodStarted?: GracePeriodStarted;\n      gracePeriodEnded?: GracePeriodEnded;\n      paymentMethodUpdated?: PaymentMethodUpdated;\n      collectionMethodUpdated?: SubscriptionCollectionMethodUpdated;\n      freeTrailStarted?: FreeTrailStarted;\n      freeTrailEnded?: FreeTrailEnded;\n      subscriptionBoAction?: SubscriptionBackOfficeAction;\n      unknown?: UnknownSubscriptionEvent;\n  }\n  interface SubscriptionCreated {\n      subscription?: Subscription;\n  }\n  interface SubscriptionUpdated {\n      current?: Subscription;\n      previous?: Subscription;\n      diff?: SubscriptionDiff;\n  }\n  interface SubscriptionDiff {\n      added?: string | null;\n      changed?: string | null;\n      deleted?: string | null;\n  }\n  interface SubscriptionDeleted {\n      subscriptionId?: string;\n  }\n  /**\n   * Sent each time a subscription status has been set to Active\n   * Active shows that a subscription is live and operational.\n   * For example:\n   * * For subscription with free trial, free trial start date is also the activation date.\n   * * For a subscription with future start date, the start date is also the activation date.\n   * * When a subscription is resumed from a pause status, the resume date is also the activation date.\n   */\n  interface SubscriptionActivated {\n      subscription?: Subscription;\n  }\n  /**\n   * Sent each time a subscription status has been set to Ended\n   * Ended shows that a subscription reached its end date and ended its life cycle as a result of the agreement.\n   * This is different from a Canceled subscription which ends the subscription before a designated end date.\n   * Therefore, Ended and Canceled are mutually exclusive.\n   */\n  interface SubscriptionEnded {\n      subscription?: Subscription;\n  }\n  /**\n   * Sent each time a subscription status has been set to Canceled\n   * Canceled shows that a subscription was canceled and ended its life cycle as a result of some intervention\n   * For example:\n   * * A user decided to cancel a subscription before the original end date\n   * * A subscription is canceled due to bad payment\n   */\n  interface SubscriptionCanceled {\n      subscription?: Subscription;\n      actionDetails?: ActionDetails;\n  }\n  interface ActionDetails {\n      initiator?: HistoryActionInitiator;\n      reason?: string | null;\n  }\n  interface SubscriptionPaused {\n      subscription?: Subscription;\n      pausePolicy?: PausePolicy;\n      actionDetails?: ActionDetails;\n  }\n  interface SubscriptionResumed {\n      subscription?: Subscription;\n      actionDetails?: ActionDetails;\n  }\n  interface PauseSubscriptionRequested {\n      subscription?: Subscription;\n      pauseAt?: PauseAt;\n      pausePolicy?: PausePolicy;\n      actionDetails?: ActionDetails;\n  }\n  interface ResumeSubscriptionRequested {\n      subscription?: Subscription;\n      resumeAt?: ResumeAt;\n      actionDetails?: ActionDetails;\n  }\n  interface ScheduledPauseCanceled {\n      subscription?: Subscription;\n      actionDetails?: ActionDetails;\n  }\n  interface ScheduledResumeCanceled {\n      subscription?: Subscription;\n      actionDetails?: ActionDetails;\n  }\n  interface SubscriptionBillingCycleStarted {\n      subscription?: Subscription;\n      /** Wix Pay transaction id, optional. Exists if event was triggered by a payment. */\n      paymentTransactionId?: string | null;\n  }\n  interface SubscriptionAutoRenewalTurnedOn {\n      subscription?: Subscription;\n      actionDetails?: ActionDetails;\n  }\n  interface SubscriptionAutoRenewalTurnedOff {\n      subscription?: Subscription;\n      actionDetails?: ActionDetails;\n  }\n  interface SubscriptionCycleReadyToPay {\n      subscription?: Subscription;\n  }\n  interface SubscriptionExtended extends SubscriptionExtendedExtendPolicyOneOf {\n      extensionPeriod?: Duration;\n      extensionBillingCycles?: number;\n      subscription?: Subscription;\n      actionDetails?: ActionDetails;\n  }\n  /** @oneof */\n  interface SubscriptionExtendedExtendPolicyOneOf {\n      extensionPeriod?: Duration;\n      extensionBillingCycles?: number;\n  }\n  interface SubscriptionInitialPurchaseCompleted {\n      subscription?: Subscription;\n      actionDetails?: ActionDetails;\n      paymentTransactionId?: string | null;\n  }\n  interface LatestInvoiceMarkedAsPaid {\n      subscription?: Subscription;\n  }\n  interface SubscriptionRevived {\n      subscription?: Subscription;\n  }\n  interface SubscriptionBillingDateUpdated {\n      subscription?: Subscription;\n      billingDate?: Date | null;\n      proration?: Proration;\n  }\n  interface FutureUpdatesRequested {\n      subscription?: Subscription;\n      requestedUpdateData?: SubscriptionUpdateData;\n  }\n  interface UpdatesApplied {\n      subscription?: Subscription;\n      updateAction?: UpdateAction;\n      appliedUpdateData?: SubscriptionUpdateData;\n  }\n  enum UpdateAction {\n      NONE = \"NONE\",\n      /** Update subscription immediately, please note proration for updates changing price are not yet supported */\n      IMMEDIATELY = \"IMMEDIATELY\",\n      /** Request updates that will take affect only at the start of the next billing cycle. */\n      NEXT_BILLING_CYCLE = \"NEXT_BILLING_CYCLE\",\n      /** Reset all pending updates */\n      RESET_PENDING_UPDATES = \"RESET_PENDING_UPDATES\",\n      /** Request updates that will take affect only at a specific date. */\n      SPECIFIC_DATE = \"SPECIFIC_DATE\"\n  }\n  interface ResetPendingUpdates {\n      subscription?: Subscription;\n  }\n  interface GracePeriodStarted {\n      subscription?: Subscription;\n  }\n  interface GracePeriodEnded {\n      subscription?: Subscription;\n      /** Indication for the payment settlement method. */\n      paymentSettlementMethod?: PaymentSettlementMethod;\n  }\n  enum PaymentSettlementMethod {\n      UNKNOWN = \"UNKNOWN\",\n      /** System-defined payment settlement. */\n      SYSTEM = \"SYSTEM\",\n      /** Manually mark the payment as paid. */\n      MARK_AS_PAID = \"MARK_AS_PAID\",\n      /** Require the customer to pay immediately, by insert a new payment method. */\n      CUSTOMER_PAY_NOW = \"CUSTOMER_PAY_NOW\"\n  }\n  interface PaymentMethodUpdated {\n      subscription?: Subscription;\n      initiator?: HistoryActionInitiator;\n      paymentMode?: PaymentMode;\n  }\n  enum PaymentMode {\n      NONE = \"NONE\",\n      /** The latest invoice of the subscription will be charged. */\n      CHARGE = \"CHARGE\",\n      /** An authorization invoice with zero amount will be created. */\n      AUTHORIZATION = \"AUTHORIZATION\"\n  }\n  interface SubscriptionCollectionMethodUpdated {\n      subscription?: Subscription;\n      newCollectionMethod?: CollectionMethod;\n      previousCollectionMethod?: CollectionMethod;\n  }\n  interface FreeTrailStarted {\n      subscription?: Subscription;\n  }\n  interface FreeTrailEnded {\n      subscription?: Subscription;\n  }\n  interface SubscriptionBackOfficeAction {\n      subscription?: Subscription;\n      /** The backoffice method name */\n      name?: string;\n      /** json as string format, to store the flatted request object */\n      params?: string;\n  }\n  /** Defines unknown events restored from the logs */\n  interface UnknownSubscriptionEvent {\n      subscriptionAsString?: string | null;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetSubscriptionRequest {\n      _id: string;\n  }\n  interface GetSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface CustomerCancelSubscriptionRequest {\n      _id: string;\n      /** Optional action reason message */\n      reason?: string | null;\n  }\n  interface CustomerCancelSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface CustomerTurnOnAutoRenewalRequest {\n      _id: string;\n      /** Optional action reason message */\n      reason?: string | null;\n  }\n  interface CustomerTurnOnAutoRenewalResponse {\n      subscription?: Subscription;\n  }\n  interface CustomerTurnOffAutoRenewalRequest {\n      _id: string;\n      /** Optional action reason message */\n      reason?: string | null;\n  }\n  interface CustomerTurnOffAutoRenewalResponse {\n      subscription?: Subscription;\n  }\n  interface CustomerExtendSubscriptionRequest {\n      /** The ID of the subscription to be extended */\n      _id: string;\n      /** Optional action reason message */\n      reason?: string | null;\n      /** For termed - Subscription end date will be updated with the extension period and number of cycles will be added */\n      billingCyclesToAdd: number | null;\n  }\n  interface CustomerExtendSubscriptionResponse {\n      /** The now extended subscription */\n      subscription?: Subscription;\n  }\n  interface QuerySubscriptionsRequest {\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface QuerySubscriptionsResponse {\n      subscriptions?: Subscription[];\n      metadata?: PagingMetadataV2;\n  }\n  interface CountSubscriptionsRequest {\n      /** Filters to specify which subscriptions are counted. */\n      filter?: CountSubscriptionFilter;\n  }\n  interface CountSubscriptionFilter extends CountSubscriptionFilterStatusOneOf {\n      /** List of statuses to filter the counted subscriptions by. */\n      statuses?: SubscriptionStatus;\n      /**\n       * Predefined status combination to filter the counted subscriptions by.\n       * + `ALL`: Includes these subscription statuses: `\"DRAFT\"`, `\"PENDING\"`, `\"ACTIVE\"`, `\"PAUSED\"`, `\"ENDED\"`, and `\"CANCELED\"`.\n       * + `LIVE`: Includes these subscription statuses: `\"PENDING\"`, `\"ACTIVE\"`, and `\"PAUSED\"`.\n       */\n      statusGroup?: SubscriptionStatusGroup;\n      /**\n       * Customer ID to filter the counted subscriptions by. You can pass a\n       * [member ID](https://bo.wix.com/wix-docs/rest/members/members/member-object),\n       * [contact ID](https://bo.wix.com/wix-docs/rest/crm/contacts/contacts-v4/contact-object),\n       * or the ID of an anonymous site visitor as `customerId`. When providing a\n       * `customerId` you must also specify a `paymentMethodId`.\n       */\n      customerId?: string | null;\n      /**\n       * ID of the payment method to filter the counted subscriptions by.\n       * You must provide a `paymentMethodId` when passing a `customerId`.\n       */\n      paymentMethodId?: string | null;\n  }\n  /** @oneof */\n  interface CountSubscriptionFilterStatusOneOf {\n      /** List of statuses to filter the counted subscriptions by. */\n      statuses?: SubscriptionStatus;\n      /**\n       * Predefined status combination to filter the counted subscriptions by.\n       * + `ALL`: Includes these subscription statuses: `\"DRAFT\"`, `\"PENDING\"`, `\"ACTIVE\"`, `\"PAUSED\"`, `\"ENDED\"`, and `\"CANCELED\"`.\n       * + `LIVE`: Includes these subscription statuses: `\"PENDING\"`, `\"ACTIVE\"`, and `\"PAUSED\"`.\n       */\n      statusGroup?: SubscriptionStatusGroup;\n  }\n  interface SubscriptionStatus {\n      /**\n       * Statuses to filter the counted subscriptions by.\n       *\n       * Max: 6 statuses\n       */\n      statuses?: SubscriptionStatusEnumSubscriptionStatus[];\n  }\n  enum SubscriptionStatusGroup {\n      UNKNOWN_STATUS_GROUP = \"UNKNOWN_STATUS_GROUP\",\n      ALL = \"ALL\",\n      /** Union of ACTIVE, PAUSED and PENDING */\n      LIVE = \"LIVE\"\n  }\n  interface CountSubscriptionsResponse {\n      /**\n       * List of statuses and the corresponding number of subscriptions that match\n       * the filters.\n       */\n      countByStatus?: CountByStatus[];\n      /** Total number of subscriptions that match the filters. */\n      total?: number;\n  }\n  interface CountByStatus {\n      /** Subscription status. */\n      status?: SubscriptionStatusEnumSubscriptionStatus;\n      /** Number of subscriptions with the status that match the filters. */\n      count?: number;\n  }\n  interface UpdateSubscriptionPaymentMethodRequest {\n      /** Subscription ID */\n      _id: string;\n      paymentMethodId: string;\n  }\n  interface UpdateSubscriptionPaymentMethodResponse {\n      subscription?: Subscription;\n  }\n  interface CustomerAllowedActionsRequest {\n      _id: string;\n  }\n  interface CustomerAllowedActionsResponse {\n      actions?: Action[];\n  }\n  interface Action {\n      actionType?: ActionType;\n      pausePolicies?: PausePolicy[];\n      pauseAt?: PauseAt[];\n      resumeAt?: ResumeAt[];\n      extendPolicies?: ExtendPolicyType[];\n  }\n  enum ActionType {\n      NONE = \"NONE\",\n      CREATION = \"CREATION\",\n      CANCEL = \"CANCEL\",\n      CYCLE_AUTO_RENEW_ON = \"CYCLE_AUTO_RENEW_ON\",\n      CYCLE_AUTO_RENEW_OFF = \"CYCLE_AUTO_RENEW_OFF\",\n      PAUSE = \"PAUSE\",\n      RESUME = \"RESUME\",\n      MARK_AS_PAID = \"MARK_AS_PAID\",\n      EXTEND = \"EXTEND\",\n      UPDATE = \"UPDATE\",\n      UPDATE_START_DATE = \"UPDATE_START_DATE\",\n      UPM = \"UPM\",\n      UPDATE_BILLING_DATE = \"UPDATE_BILLING_DATE\",\n      UPDATE_COLLECTION_METHOD = \"UPDATE_COLLECTION_METHOD\"\n  }\n  enum ExtendPolicyType {\n      PERIOD = \"PERIOD\",\n      BILLING_CYCLE = \"BILLING_CYCLE\"\n  }\n  interface CustomerListUpcomingChargesRequest {\n      /** Subscription id upcoming charge to be previewed for */\n      _id: string;\n  }\n  interface CustomerListUpcomingChargesResponse {\n      /** Subscription upcoming charge. Will be empty if no more billing scheduled. */\n      upcomingCharge?: SubscriptionCharge;\n  }\n  interface SubscriptionCharge {\n      /** cycle of future charge */\n      cycle?: number;\n      /** date of the charge */\n      billingDate?: Date | null;\n      /** breakdown of charge */\n      totals?: Totals;\n      /** List of items in the invoice */\n      invoiceItems?: InvoiceItem[];\n      /** Discount details for the invoice */\n      discount?: InvoiceDiscount;\n  }\n  interface InvoiceItem extends InvoiceItemPaymentTypeOneOf {\n      /** Information about a line item that's purchased on a recurring basis. */\n      recurring?: Recurring;\n      /**\n       * Empty object that's available when the line item is purchased a single\n       * time, not on a recurring basis.\n       */\n      oneTime?: OneTime;\n      /** ID of the invoice line item. */\n      _id?: string;\n      /**\n       * ID of the [subscription](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/subscription-object)\n       * that belongs to the invoice line item.\n       */\n      subscriptionId?: string | null;\n      /**\n       * Name of the invoice line item.\n       * Typically the product name.\n       *\n       * Max: 200 characters\n       */\n      name?: string;\n      /**\n       * Description of the invoice line item.\n       *\n       * Max: 500 characters\n       */\n      description?: string | null;\n      /** Information about the product from the external product catalog. */\n      catalogReference?: CatalogReference;\n      /**\n       * Product category.\n       *\n       * + `\"UNKNOWN\"`: There is no information about the product category.\n       * + `\"PHYSICAL\"`: A physical product that's shipped to the shipping address.\n       * + `\"DIGITAL\"`: A digital product that doesn't require shipping.\n       */\n      category?: ItemCategory;\n      /** Quantity of the invoice line item. */\n      quantity?: number;\n      /** Information about the invoice line item's price. */\n      priceDetails?: PriceDetails;\n      /** Information about the invoice line item's totals */\n      totals?: Totals;\n      /**\n       * Information about the invoice line item's tax data\n       * @readonly\n       */\n      taxData?: ItemTaxData;\n  }\n  /** @oneof */\n  interface InvoiceItemPaymentTypeOneOf {\n      /** Information about a line item that's purchased on a recurring basis. */\n      recurring?: Recurring;\n      /**\n       * Empty object that's available when the line item is purchased a single\n       * time, not on a recurring basis.\n       */\n      oneTime?: OneTime;\n  }\n  interface Recurring {\n      /**\n       * Number of cycles. Describes how many times a customer purchases the line item\n       * on a recurring basis.\n       */\n      cycleNumber?: number;\n  }\n  interface OneTime {\n  }\n  interface PriceDetails {\n      /**\n       * Price of the invoice line item in `0.00` format.\n       * A minus sign (-) indicates that the amount is negative.\n       */\n      price?: string;\n      /** Information about the invoice line item's tax. */\n      tax?: Tax;\n      /** Discount that's applied to a specicific invoice line item. */\n      discount?: InvoiceDiscount;\n      /**\n       * Application fee. Set by the origin app, and not by BASS. Wix receives the\n       * full `applicationFee`, while the merchant doesn't receive any portion of it.\n       */\n      applicationFeeDetails?: InvoiceApplicationFee;\n  }\n  interface InvoiceDiscount extends InvoiceDiscountValueOneOf {\n      /**\n       * Discount amount.\n       * Available when the discount is an amount.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /**\n       * Discount percentage.\n       * Available when the discount is a percentage value.\n       *\n       * Min: `0.01`\n       * Max: `100`\n       */\n      percentage?: string;\n      /** Indicates the source of the discount. . Contains app_id and entity_id */\n      origin?: DiscountOrigin;\n  }\n  /** @oneof */\n  interface InvoiceDiscountValueOneOf {\n      /**\n       * Discount amount.\n       * Available when the discount is an amount.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /**\n       * Discount percentage.\n       * Available when the discount is a percentage value.\n       *\n       * Min: `0.01`\n       * Max: `100`\n       */\n      percentage?: string;\n  }\n  interface InvoiceApplicationFee extends InvoiceApplicationFeeValueOneOf {\n      /**\n       * Application fee amount. Set by the origin app, and not by BASS. Wix\n       * receives the full `applicationFee`, while the merchant doesn't receive\n       * any portion of it.\n       */\n      amount?: string;\n      /** Information about the discount for the invoice line item's application fee. */\n      discount?: InvoiceDiscount;\n  }\n  /** @oneof */\n  interface InvoiceApplicationFeeValueOneOf {\n      /**\n       * Application fee amount. Set by the origin app, and not by BASS. Wix\n       * receives the full `applicationFee`, while the merchant doesn't receive\n       * any portion of it.\n       */\n      amount?: string;\n  }\n  interface ItemTaxData {\n      /** Aggregated tax from tax_breakdowns */\n      lineItemTaxSummary?: LineItemTaxSummary;\n      /** A detailed description of all the tax authorities applied on this item. */\n      taxBreakdowns?: TaxBreakdown[];\n  }\n  interface LineItemTaxSummary {\n      /** Calculated from external tax summary */\n      aggregatedTaxAmount?: string;\n      /** Aggregated from tax_breakdowns */\n      aggregatedTaxRate?: string;\n      /** Total taxable amount for this line item. */\n      taxableAmount?: string;\n      /** Aggregated from tax_breakdowns after applying exemptions */\n      finalTaxAmount?: string | null;\n  }\n  interface TaxBreakdown {\n      taxType?: string;\n      taxRate?: string;\n      taxAmount?: string | null;\n      taxableAmount?: string | null;\n      nonTaxableAmount?: string | null;\n      /** Name of the tax that was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc. */\n      taxName?: string | null;\n      /** Jurisdiction that taxes were calculated for. */\n      jurisdiction?: string | null;\n      /** Type of jurisdiction that taxes were calculated for. */\n      jurisdictionType?: string;\n  }\n  interface InitiatePaymentMethodSetupRequest {\n      _id: string;\n      paymentMode?: PaymentMode;\n      paymentSettings?: PaymentSettings;\n  }\n  interface PaymentSettings {\n      /** Allowed payment providers for Subscriptions, for example to limit subscriptions to be created only with \"Wix Payments\" provider. */\n      allowedProviderIds?: string[];\n      /** payment order method, define how the order was applied */\n      orderMethod?: OrderMethod;\n      /** Wix Pay callback url(s) to return buyer to a third party system */\n      redirectUrls?: RedirectUrls;\n      paymentMethodId?: string | null;\n      /**\n       * Specifies an alternative origin for processing the payment.\n       * When set, the payment order will be created with the specified origin\n       * instead of the default origin.\n       */\n      paymentOrigin?: PaymentOrigin;\n  }\n  enum OrderMethod {\n      UNKNOWN = \"UNKNOWN\",\n      MOTO = \"MOTO\",\n      NOT_MOTO = \"NOT_MOTO\"\n  }\n  interface RedirectUrls {\n      /** URL to redirect buyer in case of approved (successful) transaction (required) */\n      successUrl?: string;\n      /** URL to redirect buyer in case of failed/rejected transaction (required) */\n      errorUrl?: string;\n      /** URL to redirect buyer in case of buyer canceled the transaction (optional, default: `{error_url}`) */\n      cancelUrl?: string;\n      /**\n       * URL to redirect buyer in case of pending transaction (that might take some time to process) (optional, default:\n       * `{success_url}`)\n       */\n      pendingUrl?: string;\n  }\n  interface PaymentOrigin {\n      /** ID of the app for which the Payment will create the order on. For example, Paypal. */\n      appId?: string;\n      /** Id of the entity that order will be created on */\n      instanceId?: string;\n  }\n  interface InitiatePaymentMethodSetupResponse {\n      paymentOrderId?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface SetIsMigratedEvent {\n      subscriptionId?: string;\n  }\n  interface SubscriptionDelayedSyncEvent {\n      subscriptionId?: string;\n  }\n  interface InvoiceAction extends InvoiceActionActionTypeOneOf {\n      payRecurring?: PayRecurringInvoice;\n  }\n  /** @oneof */\n  interface InvoiceActionActionTypeOneOf {\n      payRecurring?: PayRecurringInvoice;\n  }\n  interface PayRecurringInvoice {\n      invoiceId?: string;\n  }\n  interface CreateSubscriptionRequest {\n      subscription: Subscription;\n      /** Optional settings for the payments. Should be empty for free subscriptions. */\n      paymentSettings?: PaymentSettings;\n      /** Optional unique identifier for this request in order to prevent subscription duplications */\n      idempotencyKey?: string | null;\n      /** Optional origin override for setting identity of subscription creator instead of extracting from context */\n      originOverride?: OriginOverride;\n  }\n  interface OriginOverride {\n      appId?: string;\n      instanceId?: string;\n  }\n  interface CreateSubscriptionResponse {\n      subscription?: Subscription;\n      /** Payments order that should be paid (or authorize card) in order to activate subscription. Empty for free subscriptions. */\n      paymentOrderId?: string | null;\n  }\n  interface UpdateSubscriptionRequest {\n      /** Revision is validated if Subscription.revision is set */\n      subscription?: Subscription;\n      /**\n       * Supported field: start_date\n       * Can be updated only if Subscription is in Draft state\n       * @internal\n       */\n      fieldMask: string[];\n  }\n  interface UpdateSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface UpdateSubscriptionStartDateRequest {\n      /** Subscription ID */\n      _id: string;\n      /**\n       * Can be updated only if Subscription is in Draft state\n       * By setting start_date in the future, end_date will be recalculated for termed Subscriptions\n       * cycles_to_pay_on_creation will be set to 1 if no free trial is set\n       */\n      startDate: Date | null;\n  }\n  interface UpdateSubscriptionStartDateResponse {\n      subscription?: Subscription;\n  }\n  interface UpdateSubscriptionPoliciesRequest {\n      /** Subscription ID */\n      _id: string;\n      cancellableByCustomer?: boolean | null;\n  }\n  interface UpdateSubscriptionPoliciesResponse {\n      /** Updated policies of the subscription */\n      policies?: SubscriptionPolicies;\n  }\n  interface UpdateSubscriptionBillingDateRequest {\n      /** ID of the subscription to update the billing date for. */\n      _id: string;\n      /** New billing date in `YYYY-MM-DDThh:mm:ss:sssZ` format. */\n      billingDate: Date | null;\n      /**\n       * Information about how BASS adjusts the total of the next invoice. Extending\n       * the current billing cycle results in a higher payment, while shortening it\n       * leads to a lower payment. BASS offers automatic calculation of the proration\n       * amount based on the number of days added to or removed from the current billing\n       * cycle. Alternatively, you can use your own custom method to calculate the\n       * proration amount. The custom proration amount can't exceed the total of the\n       * current billing cycle.\n       */\n      proration?: Proration;\n  }\n  interface UpdateSubscriptionBillingDateResponse {\n      /** Updated subscription. */\n      subscription?: Subscription;\n  }\n  interface UpdateSubscriptionOriginRequest {\n      /** ID of the subscription to update origin. */\n      _id: string;\n      /** Origin entity ID of the subscription to update. */\n      entityId: string;\n  }\n  interface UpdateSubscriptionOriginResponse {\n      /** Updated subscription. */\n      subscription?: Subscription;\n  }\n  interface ReviseSubscriptionRequest {\n      /** Subscription ID */\n      _id: string;\n      /** 0 for no revision, maxSize is 100 */\n      items?: Item[];\n  }\n  interface ReviseSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface UpdateSubscriptionItemsRequest {\n      /** Subscription ID */\n      _id: string;\n      /** Update action. For RESET_PENDING_UPDATES, nothing but the subscription ID should be defined in the request. */\n      updateAction?: UpdateAction;\n      /** Updates execution date. Relevant only for UpdateAction.SPECIFIC_DATE. Only specific date is supported. */\n      scheduleAdditionalInfo?: ScheduleAdditionalInfo;\n      /** Existing items to update */\n      itemsToUpdate?: ItemChange[];\n      /** Items to add */\n      itemsToAdd?: Item[];\n      /** Existing items to delete */\n      itemsToDelete?: string[] | null;\n  }\n  interface ScheduleAdditionalInfo extends ScheduleAdditionalInfoParamOneOf {\n      /**\n       * Future date when the update becomes effective in `YYYY-MM-DDThh:mm:ss.sssZ`\n       * format. The use of this field may be restricted in various BASS endpoints.\n       * For example, in _Bulk Update Subscription Items_ it's only available in\n       * combination with `{\"updateAction\": \"SPECIFIC_DATE\"}`, in _Resume Subscription_\n       * only in combination with `{\"resumeAt\": \"SPECIFIC_DATE\"}`, and in\n       * _Pause Subscription_ only in combination with `{\"pauseAt\": \"SPECIFIC_DATE\"}`.\n       */\n      specificDate?: Date | null;\n      /**\n       * When the update becomes effective, as number of billing cycles from now.\n       * The use of this field may be restricted in various BASS endpoints.\n       * For example, in _Pause Subscription_ it's only available in\n       * combination with `{\"pauseAt\": \"NUMBER_OF_CYCLES_FROM_TODAY\"}`.\n       * __Note__: Currently not supported in _Bulk Update Subscription Items by Filter_.\n       */\n      numberOfCycles?: number;\n  }\n  /** @oneof */\n  interface ScheduleAdditionalInfoParamOneOf {\n      /**\n       * Future date when the update becomes effective in `YYYY-MM-DDThh:mm:ss.sssZ`\n       * format. The use of this field may be restricted in various BASS endpoints.\n       * For example, in _Bulk Update Subscription Items_ it's only available in\n       * combination with `{\"updateAction\": \"SPECIFIC_DATE\"}`, in _Resume Subscription_\n       * only in combination with `{\"resumeAt\": \"SPECIFIC_DATE\"}`, and in\n       * _Pause Subscription_ only in combination with `{\"pauseAt\": \"SPECIFIC_DATE\"}`.\n       */\n      specificDate?: Date | null;\n      /**\n       * When the update becomes effective, as number of billing cycles from now.\n       * The use of this field may be restricted in various BASS endpoints.\n       * For example, in _Pause Subscription_ it's only available in\n       * combination with `{\"pauseAt\": \"NUMBER_OF_CYCLES_FROM_TODAY\"}`.\n       * __Note__: Currently not supported in _Bulk Update Subscription Items by Filter_.\n       */\n      numberOfCycles?: number;\n  }\n  interface UpdateSubscriptionItemsResponse {\n      subscription?: Subscription;\n  }\n  interface BulkUpdateSubscriptionItemsByFilterRequest {\n      /**\n       * Filter to identify the subscriptions for which items are updated. For\n       * supported fields see\n       * [Search and Query: Bulk Update Subscription Items By Filter](https://bo.wix.com/wix-docs/rest/drafts/subscriptions-by-billing-by-wix/search-and-query#drafts_subscriptions-by-billing-by-wix_search-and-query_bulk-update-subscription-items-by-filter).\n       * Sending an empty subscription filter results in a validation error.\n       * In case you pass `{\"updateAction\": \"RESET_PENDING_UPDATES\"}`, use only the\n       * `subscriptionId` field inside this filter. Passing any other filter results\n       * in a failed validation error.\n       */\n      subscriptionFilter: Record<string, any> | null;\n      /**\n       * Filter to specify which subscription items are updated. Make sure to use\n       * the catalog item ID and not the item's unique ID. All subscription items\n       * with matching `items.catalogReference.catalogItemId` are updated.\n       *\n       * Max: `100` reference catalog item IDs\n       */\n      catalogReferenceIds: string[] | null;\n      /**\n       * Information about the update timing and update type.\n       *\n       * + `\"IMMEDIATELY\"`: The updates become effective immediately.\n       * + `\"NEXT_BILLING_CYCLE\"`: The updates are scheduled for the beginning of the next billing cycle.\n       * + `\"SPECIFIC_DATE\"`: The updates are scheduled for the date specified in `scheduleAdditionalInfo.specificDate`.\n       * + `\"RESET_PENDING_UPDATES\"`: All currently scheduled updates for the specified supcriptions are canceled. Use only the `subscriptionId` field inside `subscriptionFilter`, all other filters result in failed validation errors.\n       */\n      updateAction?: UpdateAction;\n      /**\n       * Additional information for updates. Currently, only supported for\n       * `{\"updateAction\": \"SPECIFIC_DATE\"}`.\n       */\n      scheduleAdditionalInfo?: ScheduleAdditionalInfo;\n      /**\n       * Update details for the susbcription items that match the filtering.\n       * Currently, you can update only the item price, quantity, and tax. Note\n       * that all item properties are updated to the same values. In case you want set\n       * different values for individual items, you must call\n       * _Bulk Update Subscription Items By Filter_ multiple times, once per unique update.\n       */\n      bulkItemUpdateData?: BulkItemChange;\n      /** __Not implemented yet__. Items to add to the subscriptions matching the filtering. */\n      itemsToAdd?: Item[];\n  }\n  interface BulkItemChange {\n      /** Information about the new item price. */\n      pricingModel?: PricingModel;\n      /**\n       * New item quantity.\n       *\n       * Min: `1`\n       */\n      quantity?: number | null;\n      /** Information about the new item tax. */\n      tax?: Tax;\n  }\n  interface BulkUpdateSubscriptionItemsByFilterResponse {\n      /**\n       * ID of your bulk job. You can use\n       * [this Async Infra call](https://pbo.wix.com/fire-console/?artifact=com.wixpress.asyncinfra.async-job-service&service=wix.infra.asyncjobs.v1.AsyncJobService&method=ListAsyncJobItems&body=eyJqb2JfaWQiOiIifQ%3D%3D)\n       * to retrieve information about the job status.\n       */\n      jobId?: string;\n  }\n  interface DeleteSubscriptionRequest {\n      _id: string;\n      revision?: string;\n  }\n  interface DeleteSubscriptionResponse {\n  }\n  interface CancelSubscriptionRequest {\n      _id: string;\n      actionContext: ActionContext;\n  }\n  interface ActionContext {\n      initiator?: ActionInitiator;\n      /** Optional action reason message */\n      reason?: string | null;\n  }\n  enum ActionInitiator {\n      UNDEFINED = \"UNDEFINED\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\",\n      SYSTEM = \"SYSTEM\"\n  }\n  interface CancelSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface PauseSubscriptionRequest {\n      _id: string;\n      pausePolicy?: PausePolicy;\n      pauseAt?: PauseAt;\n      /** contains additional scheduling information for certain pause_at options (for example: SPECIFIC_DATE & NUMBER_OF_CYCLES_FROM_TODAY) */\n      pauseAtSchedule?: ScheduleAdditionalInfo;\n      /** contains additional scheduling information for certain auto_resume_at either specific date */\n      autoResumeAtSchedule?: ScheduleAdditionalInfo;\n      actionContext: ActionContext;\n  }\n  interface PauseSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface ResumeSubscriptionRequest {\n      _id: string;\n      resumeAt?: ResumeAt;\n      /** contains additional scheduling information for certain resume_at options (for example: SPECIFIC_DATE) */\n      resumeAtSchedule?: ScheduleAdditionalInfo;\n      actionContext: ActionContext;\n  }\n  interface ResumeSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface SearchSubscriptionsRequest extends SearchSubscriptionsRequestPagingMethodOneOf {\n      /** Limit number of results and enable to skip rows. The default limit is 25. */\n      paging?: Paging;\n      /** A Cursor option for efficient paging. Pass this field from the previous search response to continue to the next page. */\n      cursor?: CursorPaging;\n      /** A filter object */\n      filter?: any;\n      /** A Sorting option by field name and order. */\n      sorting?: SortingClauses;\n  }\n  /** @oneof */\n  interface SearchSubscriptionsRequestPagingMethodOneOf {\n      /** Limit number of results and enable to skip rows. The default limit is 25. */\n      paging?: Paging;\n      /** A Cursor option for efficient paging. Pass this field from the previous search response to continue to the next page. */\n      cursor?: CursorPaging;\n  }\n  interface SortingClauses {\n      sorting?: Sorting[];\n  }\n  interface SearchSubscriptionsResponse {\n      subscriptions?: Subscription[];\n      cursor?: CursorPaging;\n  }\n  interface TurnOnSubscriptionAutoRenewalRequest {\n      _id: string;\n      actionContext: ActionContext;\n  }\n  interface TurnOnSubscriptionAutoRenewalResponse {\n      subscription?: Subscription;\n  }\n  interface TurnOffSubscriptionAutoRenewalRequest {\n      _id: string;\n      actionContext: ActionContext;\n  }\n  interface TurnOffSubscriptionAutoRenewalResponse {\n      subscription?: Subscription;\n  }\n  interface MarkLatestInvoiceAsPaidRequest {\n      /** The ID of the offline subscription to mark as paid its latest invoice */\n      subscriptionId: string;\n  }\n  interface MarkLatestInvoiceAsPaidResponse {\n      subscription?: Subscription;\n  }\n  interface GetSubscriptionsStatsRequest {\n  }\n  interface GetSubscriptionsStatsResponse {\n      amountByStatuses?: AmountByStatus[];\n      total?: number;\n  }\n  interface AmountByStatus {\n      status?: SubscriptionStatusEnumSubscriptionStatus;\n      amount?: number;\n  }\n  interface ExtendSubscriptionRequest extends ExtendSubscriptionRequestExtendPolicyOneOf {\n      /** User won't be charged for additional period added on top of subscription end date. */\n      extensionPeriod?: Duration;\n      /** user will be charged for billing cycles added */\n      extensionBillingCycles?: number;\n      /** The ID of the subscription to be extended */\n      _id: string;\n      actionContext: ActionContext;\n  }\n  /** @oneof */\n  interface ExtendSubscriptionRequestExtendPolicyOneOf {\n      /** User won't be charged for additional period added on top of subscription end date. */\n      extensionPeriod?: Duration;\n      /** user will be charged for billing cycles added */\n      extensionBillingCycles?: number;\n  }\n  interface ExtendSubscriptionResponse {\n      /** The now extended subscription */\n      subscription?: Subscription;\n  }\n  interface AllowedActionsRequest {\n      _id: string;\n      /** List of additional fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  enum RequestedFields {\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Include unsupported action list, including the reasons for the lack of support */\n      UNSUPPORTED_ACTION = \"UNSUPPORTED_ACTION\"\n  }\n  interface AllowedActionsResponse {\n      /** List of actions that are allowed. */\n      actions?: Action[];\n      /** List of actions that are not supported, included only if requested. Provides reasons for each unsupported action. */\n      unsupportedActions?: UnsupportedAction[];\n  }\n  interface UnsupportedAction {\n      actionType?: ActionType;\n      /** Provides detailed reasons for the unsupported action. Each `UnsupportedReason` includes a code and a message explaining why the action is not allowed. */\n      reasons?: UnsupportedReason[];\n  }\n  interface UnsupportedReason {\n      code?: string;\n      description?: string | null;\n  }\n  interface ListUpcomingChargesRequest {\n      /** Subscription id charges to be previewed for */\n      subscriptionId: string;\n      /** Period of time to provide charged for. If not provided,then only next charge will be returned. */\n      customDuration?: Duration;\n      /**\n       * Date of the next billing cycle so that the upcoming charges will be calculated accordingly.\n       * If not provided, the upcoming charges will be calculated according to the existing next billing date.\n       */\n      nextBillingDate?: Date | null;\n  }\n  interface ListUpcomingChargesResponse {\n      upcomingCharges?: SubscriptionCharge[];\n  }\n  interface PreviewSubscriptionChargesRequest extends PreviewSubscriptionChargesRequestSubscriptionOneOf {\n      /** Information about a non-existing subscription. */\n      subscriptionInfo?: SubscriptionInfo;\n  }\n  /** @oneof */\n  interface PreviewSubscriptionChargesRequestSubscriptionOneOf {\n      /** Information about a non-existing subscription. */\n      subscriptionInfo?: SubscriptionInfo;\n  }\n  /** Subscription information to use for calculating the preview of charges for a subscription. */\n  interface SubscriptionInfo {\n      billingSettings?: BillingSettings;\n      items?: Item[];\n      startDate?: Date | null;\n  }\n  interface PreviewSubscriptionChargesResponse {\n      /** Charges for subscription. */\n      charges?: Charge[];\n  }\n  /** Represents a charge applicable to a subscription. */\n  interface Charge {\n      /** The cycle number from which the charge starts. */\n      cycleFrom?: number;\n      /** The number of cycles for which the charge is applicable. */\n      cycleCount?: number | null;\n      /** The breakdown of the charge */\n      totals?: Totals;\n      /** The billing date from which the charge starts */\n      cycleBillingDate?: Date | null;\n  }\n  interface PreviewSubscriptionsChargesRequest {\n      /** Information required to calculate the preview charges for the subscriptions, including an identifier. */\n      subscriptionsBillingDetails?: SubscriptionBillingDetails[];\n      /**\n       * Specifies the number of upcoming billing charges to preview for all subscriptions in the order.\n       * For instance, if a subscription costs $10 for the first 3 cycles, $12 for cycles 4 through 7,\n       * $15 for cycles 8 through 10, and $20 for cycle 11 onwards:\n       * - Sending \"1\" will calculate and return charges for cycles 4 through 7 since it's the first charge in the future.\n       * - Sending \"2\" will provide a response with charges for cycles 4 through 7 and cycles 8 through 10.\n       * - Sending \"3\" or more will include totals for cycles 4 through 7, cycles 8 through 10, and from cycle 11 onwards.\n       * If no value is provided, the response will include charges for all upcoming cycles, including the existing one,\n       * in this case, charges for cycle 1 through 3.\n       * If there is a single charge for a subscription, meaning that subscription price remains consistent across all cycles,\n       * then even if future_charges_count is set, it will be ignored and the only charge this subscription has will be returned.\n       */\n      numberOfNextRecurringCharges?: number | null;\n  }\n  interface SubscriptionBillingDetails {\n      /** External identifier of the subscription */\n      externalId?: string | null;\n      /** Billing details parameters including schedule, currency, etc. */\n      billingSettings?: BillingSettings;\n      /** Items, minSize is 1, maxSize is 100 */\n      items?: Item[];\n      /** Subscription start date, now if not set */\n      startDate?: Date | null;\n      /** Shipping address associated with subscription. At the moment used only for payments. Optional. */\n      shippingAddress?: FullAddressDetails;\n  }\n  interface PreviewSubscriptionsChargesResponse {\n      /** Charges for the subscriptions, including an identifier. */\n      subscriptionsCharges?: SubscriptionCharges[];\n  }\n  interface SubscriptionCharges {\n      /** External identifier of the subscription */\n      externalId?: string | null;\n      /** Charges for subscription. */\n      charges?: Charge[];\n  }\n  interface CreateSubscriptionForOrderRequest {\n      /** Subscription needs to be created */\n      subscription?: Subscription;\n      /** Optional unique identifier for this request in order to prevent subscription duplications */\n      idempotencyKey?: string | null;\n  }\n  interface CreateSubscriptionForOrderResponse {\n      /** Created subscription */\n      subscription?: Subscription;\n      /** Non-persistent invoice */\n      invoice?: Invoice;\n  }\n  /** An invoice includes information about the subscription and the customer. */\n  interface Invoice {\n      /**\n       * Invoice ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date and time the invoice was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the invoice was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Revision number, which increments by 1 each time the invoice is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the invoice.\n       *\n       * Ignored when creating a invoice.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Source of the invoice.\n       * @internal\n       */\n      source?: string | null;\n      /** Information about the invoice origin. */\n      origin?: BusinessOriginData;\n      /**\n       * Invoice status.\n       *\n       * + `\"UNKNOWN\"`: There is no information about the invoice status.\n       * + `\"OPEN\"`: BASS has created the invoice but hasn't initiated the payment process.\n       * + `\"PAID\"`: The customer has successfully paid for the invoice.\n       * + `\"ATTEMPT_FAILED\"`: The payment process has started and there has been at least one unsuccessful payment attempt.\n       * + `\"FAILED\"`: The payment process has failed and there are no more retries.\n       * + `\"CANCELED\"`: The payment process has been stopped because the related subscription has been canceled.\n       * @readonly\n       */\n      status?: InvoiceStatus;\n      /**\n       * 3-letter currency code of the invoice in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      currency?: string;\n      /** Information about the customer. */\n      customer?: Customer;\n      /**\n       * Whether the payment is processed through Wix and whether the customer must provide some input.\n       *\n       * + `\"UNKNOWN\"`: There is no information about the collection method.\n       * + `\"AUTO_CHARGE\"`: The customer pays automatically through Wix.\n       * + `\"SEND_INVOICE\"`: The customer pays through Wix, but some manual input is required.\n       * + `\"OFFLINE\"`: The customer pays outside of Wix.\n       */\n      collectionMethod?: CollectionMethodEnumCollectionMethod;\n      /**\n       * ID of the\n       * [payment method](https://bo.wix.com/wix-docs/rest/wix-cashier/settings/payment-method-type/payment-method-type-object).\n       * Not available for the first payment of a subscription and all offline\n       * payments.\n       */\n      paymentMethodId?: string | null;\n      /**\n       * Cashier [Order ID](https://dev.wix.com/docs/rest/payments/wix-cashier/pay/order#order-object)\n       * for the corresponding payment.\n       * @readonly\n       */\n      paymentOrderId?: string | null;\n      /** Information about a discount. Available only for invoices that include a discount. */\n      discount?: InvoiceDiscount;\n      /** Billing address. */\n      billingAddress?: FullAddressDetails;\n      /** Shipping address. Available only for `\"PHYSICAL\"` line items. */\n      shippingAddress?: FullAddressDetails;\n      /** Shipping fee in `0.00` format. */\n      shippingFee?: string | null;\n      /**\n       * Information about the invoice's totals.\n       * @readonly\n       */\n      totals?: Totals;\n      /** Line items belonging to the invoice. */\n      invoiceItems?: InvoiceItem[];\n      /**\n       * Whether the invoice is used to validate payment details.\n       *\n       * + `true`: BASS uses the invoice to test payment details. Relevant for free trials. Ensures that Wix can collect the payment of the first billing cycle.\n       * + `false`: Standard invoice.\n       */\n      isAuthorization?: boolean | null;\n      /** Whether the invoice's `totals.totalPrice` includes tax. */\n      isTaxInclusive?: boolean | null;\n      /**\n       * Information about the invoice creation process.\n       *\n       * + `\"UNKNOWN\"`: There is no information about how BASS created the invoice.\n       * + `\"SYSTEM\"`: BASS automatically created the invoice.\n       * + `\"MANUAL\"`: A BASS system admin manually created the invoice.\n       * @internal\n       */\n      creationMode?: CreationMode;\n      /** Details of the latest payment attempt. */\n      latestPaymentAttempt?: LatestPaymentAttempt;\n      /** List of charges and credits that adjust the invoice's `totals.totalPrice`. */\n      adjustments?: PriceAdjustment[];\n      /**\n       * Invoice Number.\n       * @readonly\n       */\n      invoiceNumber?: string | null;\n      /**\n       * Shipping charges for the invoice.\n       * Supports only one discount without cycles.\n       * Discounts with cycles (repeated discounts across different billing cycles) are not supported for shipping\n       */\n      shippingCharges?: InvoiceShippingCharges;\n      /** Information about the invoice tax */\n      taxData?: TaxData;\n      /** Business address. */\n      businessAddress?: Address;\n      /** ID of the billing order that created this invoice. */\n      orderId?: string | null;\n  }\n  interface BusinessOriginData {\n      /**\n       * ID of the app for which BASS has created the invoice. For example,\n       * `\"1380b703-ce81-ff05-f115-39571d94dfcd\"` for the Wix eCommerce app.\n       */\n      appId?: string;\n      /**\n       * [Instance ID](https://dev.wix.com/api/rest/app-management/apps/app-instance/get-app-instance)\n       * of the app for which BASS has created the invoice.\n       */\n      instanceId?: string;\n      /**\n       * ID of the entity that triggered the invoice creation. For example, the ID of a\n       * [pricing plan](https://dev.wix.com/docs/rest/payments/pricing-plans/pricing-plans/plan#plan-object).\n       */\n      entityId?: string;\n  }\n  enum InvoiceStatus {\n      UNKNOWN = \"UNKNOWN\",\n      OPEN = \"OPEN\",\n      PAID = \"PAID\",\n      FAILED = \"FAILED\",\n      ATTEMPT_FAILED = \"ATTEMPT_FAILED\",\n      CANCELED = \"CANCELED\"\n  }\n  enum CollectionMethodEnumCollectionMethod {\n      UNKNOWN = \"UNKNOWN\",\n      AUTO_CHARGE = \"AUTO_CHARGE\",\n      OFFLINE = \"OFFLINE\",\n      SEND_INVOICE = \"SEND_INVOICE\"\n  }\n  enum CreationMode {\n      UNKNOWN = \"UNKNOWN\",\n      SYSTEM = \"SYSTEM\",\n      MANUAL = \"MANUAL\"\n  }\n  interface LatestPaymentAttempt {\n      /**\n       * ID of the latest payment attempt.\n       * @readonly\n       */\n      paymentAttemptId?: string;\n      /**\n       * Date and time of the latest payment attempt in `YYYY-MM-DDThh:mm.sssZ` format.\n       * @readonly\n       */\n      dateAttempt?: Date | null;\n      /** Number of the latest payment attempt. */\n      attemptNumber?: number;\n      /**\n       * Status of the latest payment attempt.\n       *\n       * + `\"UNKNOWN\"`: There is no information about the status of the latest payment attempt.\n       * + `\"SCHEDULED\"`:  The latest payment attempt is scheduled but hasn't started yet.\n       * + `\"IN_PROGRESS\"`: The latest payment attempt is in progress.\n       * + `\"PAID\"`: The latest payment attempt resulted in a successful payment.\n       * + `\"DECLINED\"`: The latest payment attempt has been declined.\n       * + `\"TECHNICAL_FAILURE\"`: The latest payment attempt couldn't be process due to a technical failure.\n       * + `\"CANCELED\"`: The latest payment attempt has been canceled by BASS.\n       * @readonly\n       */\n      status?: PaymentAttemptStatus;\n      /**\n       * Whether BASS tries to collect the payment another time. Available only when\n       * `latestPaymentAttempt.status` is set to `\"DECLINED\"`.\n       */\n      retryable?: boolean;\n  }\n  enum PaymentAttemptStatus {\n      UNKNOWN = \"UNKNOWN\",\n      SCHEDULED = \"SCHEDULED\",\n      IN_PROGRESS = \"IN_PROGRESS\",\n      PAID = \"PAID\",\n      DECLINED = \"DECLINED\",\n      TECHNICAL_FAILURE = \"TECHNICAL_FAILURE\",\n      CANCELED = \"CANCELED\",\n      PENDING = \"PENDING\"\n  }\n  interface PriceAdjustment extends PriceAdjustmentAdjustmentTypeOneOf {\n      /** Adjustment that increases the price. */\n      charge?: PriceAdjustmentValue;\n      /** Adjustment that lowers the price. */\n      credit?: PriceAdjustmentValue;\n  }\n  /** @oneof */\n  interface PriceAdjustmentAdjustmentTypeOneOf {\n      /** Adjustment that increases the price. */\n      charge?: PriceAdjustmentValue;\n      /** Adjustment that lowers the price. */\n      credit?: PriceAdjustmentValue;\n  }\n  interface PriceAdjustmentValue extends PriceAdjustmentValueAdjustmentValueTypeOneOf {\n      /**\n       * Absolute amount that adjusts the price.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /**\n       * Relative factor that adjusts the price. For example, setting\n       * `multiplier` to:\n       * - `0.50` results in a price adjustment of 50% of the original value.\n       * - `0.75` results in a price adjustment of 75% of the original value.\n       * - `1.00` results in a price adjustment of 100% of the original value.\n       *\n       * Min: `0.01`\n       * Max: `1.00`\n       */\n      multiplier?: string;\n  }\n  /** @oneof */\n  interface PriceAdjustmentValueAdjustmentValueTypeOneOf {\n      /**\n       * Absolute amount that adjusts the price.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /**\n       * Relative factor that adjusts the price. For example, setting\n       * `multiplier` to:\n       * - `0.50` results in a price adjustment of 50% of the original value.\n       * - `0.75` results in a price adjustment of 75% of the original value.\n       * - `1.00` results in a price adjustment of 100% of the original value.\n       *\n       * Min: `0.01`\n       * Max: `1.00`\n       */\n      multiplier?: string;\n  }\n  interface InvoiceShippingCharges {\n      /**\n       * Amount of the shipping fee in `0.00` format.\n       *\n       * Min: `0.01`\n       */\n      amount?: string;\n      /** Tax of the shipping fee */\n      tax?: Tax;\n      /** Information about the shipping charges tax data */\n      taxData?: ItemTaxData;\n      discount?: Discount;\n  }\n  /** Tax data from all items */\n  interface TaxData {\n      /** Aggregated tax data from all items */\n      taxSummary?: TaxSummary;\n  }\n  interface TaxSummary {\n      /** Aggregated from tax_breakdowns with exemptions excluded from amount */\n      aggregatedTaxAmount?: string;\n      /** Array of each tax applied, grouped by `\"jurisdiction\"`, `\"jurisdiction_type\"`, `\"tax_type\"`, `\"tax_name\"` and `\"tax_rate\"`. */\n      aggregatedTaxBreakdowns?: AggregatedTaxBreakdown[];\n  }\n  interface AggregatedTaxBreakdown {\n      /** Name of the tax that was calculated. */\n      taxName?: string;\n      /** Type of tax that was calculated. */\n      taxType?: string;\n      /** Jurisdiction that taxes were calculated for. */\n      jurisdiction?: string;\n      /** Type of jurisdiction that taxes were calculated for. */\n      jurisdictionType?: string;\n      /** Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is `\"0.1000\"` and 200% tax is `\"2.0000\"`. */\n      rate?: string;\n      /** Total amount of this tax for this jurisdiction. */\n      aggregatedTaxAmount?: string;\n      /**\n       * Total taxable amount of this tax\n       * @internal\n       */\n      aggregatedTaxableAmount?: string;\n  }\n  interface Task {\n      key?: TaskKey;\n      executeAt?: Date | null;\n      payload?: string | null;\n  }\n  interface TaskKey {\n      appId?: string;\n      instanceId?: string;\n      subjectId?: string | null;\n  }\n  interface TaskAction extends TaskActionActionOneOf {\n      complete?: Complete;\n      cancel?: Cancel;\n      reschedule?: Reschedule;\n  }\n  /** @oneof */\n  interface TaskActionActionOneOf {\n      complete?: Complete;\n      cancel?: Cancel;\n      reschedule?: Reschedule;\n  }\n  interface Complete {\n  }\n  interface Cancel {\n  }\n  interface Reschedule {\n      executeAt?: Date | null;\n      payload?: string | null;\n  }\n  interface Empty {\n  }\n  interface V1SubscriptionEvent extends V1SubscriptionEventEventOneOf {\n      /** A subscriptions was created */\n      created?: V1SubscriptionCreated;\n      /** Subscription is considered active and will be visible to site owners and members */\n      activated?: V1SubscriptionActivated;\n      /**\n       * Subscription was canceled either by cancellation request with requested expiration date NOW or by payment provider.\n       * If cancelled by payment provider subscription will be valid until the date calculated depending on how many cycles it was already paid for.\n       */\n      canceled?: V1SubscriptionCanceled;\n      /** Subscription was updated. Currently the only possible change is valid_until date */\n      updated?: V1SubscriptionUpdated;\n      /** Subscription cycle has started. Currently the cycle starts when a payment is received. */\n      cycleTriggered?: SubscriptionCycleTriggered;\n      /** Offline subscription was marked as paid */\n      markedAsPaid?: SubscriptionMarkedAsPaid;\n      /**\n       * Subscription cancellation for the future date was requested.\n       * Subscription will stay in pending cancellation status until the date calculated depending on free trial and the next payment date.\n       */\n      cancellationRequested?: SubscriptionCancellationRequested;\n      /** Subscription and it's payment schedule (for recurring) was suspended */\n      suspended?: SubscriptionSuspended;\n      /** Previously suspended subscription and it's payment schedule (for recurring) was resumed */\n      resumed?: V1SubscriptionResumed;\n      /** Subscription expired according to valid_until expiration date. */\n      expired?: SubscriptionExpired;\n      /** Subscription initial purchase completed */\n      initialPurchaseCompleted?: V1SubscriptionInitialPurchaseCompleted;\n  }\n  /** @oneof */\n  interface V1SubscriptionEventEventOneOf {\n      /** A subscriptions was created */\n      created?: V1SubscriptionCreated;\n      /** Subscription is considered active and will be visible to site owners and members */\n      activated?: V1SubscriptionActivated;\n      /**\n       * Subscription was canceled either by cancellation request with requested expiration date NOW or by payment provider.\n       * If cancelled by payment provider subscription will be valid until the date calculated depending on how many cycles it was already paid for.\n       */\n      canceled?: V1SubscriptionCanceled;\n      /** Subscription was updated. Currently the only possible change is valid_until date */\n      updated?: V1SubscriptionUpdated;\n      /** Subscription cycle has started. Currently the cycle starts when a payment is received. */\n      cycleTriggered?: SubscriptionCycleTriggered;\n      /** Offline subscription was marked as paid */\n      markedAsPaid?: SubscriptionMarkedAsPaid;\n      /**\n       * Subscription cancellation for the future date was requested.\n       * Subscription will stay in pending cancellation status until the date calculated depending on free trial and the next payment date.\n       */\n      cancellationRequested?: SubscriptionCancellationRequested;\n      /** Subscription and it's payment schedule (for recurring) was suspended */\n      suspended?: SubscriptionSuspended;\n      /** Previously suspended subscription and it's payment schedule (for recurring) was resumed */\n      resumed?: V1SubscriptionResumed;\n      /** Subscription expired according to valid_until expiration date. */\n      expired?: SubscriptionExpired;\n      /** Subscription initial purchase completed */\n      initialPurchaseCompleted?: V1SubscriptionInitialPurchaseCompleted;\n  }\n  interface V1SubscriptionCreated {\n      subscription?: V1Subscription;\n  }\n  interface V1Subscription {\n      /**\n       * ID of the subscription\n       * @readonly\n       */\n      _id?: string;\n      /** ID of the app which created the subscription */\n      wixAppId?: string;\n      /** Instance ID of the Subscriptions app */\n      tenantId?: string;\n      /** ID of entity in app (e.g. a cart in stores/order in paid plans) */\n      originEntityId?: string;\n      /** Site member or a contact who bought the subscription */\n      subscriber?: Subscriber;\n      /** Wix Pay order ID, is empty for free subscriptions */\n      wixPayOrderId?: string | null;\n      /** Subscription name (e.g. a product or subscription package name) */\n      name?: string;\n      /** Optional additional subscription description */\n      description?: string;\n      /** Amount to be paid for a single scheduled payment */\n      price?: Money;\n      /** True if the subscription is recurring, false for a single payment subscription */\n      recurring?: boolean;\n      /** Online (paid by subscriber using wix pay) or offline (need to manually mark as paid) */\n      subscriptionType?: SubscriptionType;\n      /** Active, expired, canceled, etc. */\n      subscriptionStatus?: V1SubscriptionStatusEnumSubscriptionStatus;\n      /** Subscription start date (may differ from creation date) */\n      validFrom?: Date | null;\n      /** Subscription expiration date */\n      validUntil?: Date | null;\n      /** Status of last payment associated with this subscription */\n      lastPaymentStatus?: PaymentStatusEnumPaymentStatus;\n      /** Payment schedule in the wix pay format. Exists for recurring subscriptions only. */\n      billingProfile?: V2Subscription;\n      /** Owner, member, etc. - present if subscription is canceled */\n      cancellationInitiator?: CancellationInitiator;\n      /** Optional, present if subscription is canceled */\n      cancellationReason?: string | null;\n      /** Can be used for arbitrary app-specific map<string, string> data */\n      externalData?: Record<string, string>;\n      /** Date when subscription was created (not related to payment dates) */\n      dateCreated?: Date | null;\n      /** Restrictions on possible subscription actions. Default policy has all restrictions enabled. */\n      policy?: SubscriptionPolicy;\n      /** List of subscription suspension periods */\n      suspensions?: Suspension[];\n      /** Initial subscription expiration date that was calculated on the subscription purchase plus duration of suspensions */\n      validUntilDateWithSuspensions?: Date | null;\n      /** Duration of single payment subscription (instead of billing_profile) */\n      singlePaymentDuration?: V1Duration;\n      originInstanceId?: string | null;\n  }\n  interface Subscriber {\n      /** Member or contact ID */\n      _id?: string;\n      /** Member or contact */\n      identityType?: IdentityType;\n  }\n  enum IdentityType {\n      /** Identity type undefined */\n      UNDEFINED = \"UNDEFINED\",\n      /** Subscription is associated with a member ID */\n      MEMBER = \"MEMBER\",\n      /** Subscriptions is associated with a contact ID */\n      CONTACT = \"CONTACT\"\n  }\n  /** Price of a payment. Includes amount and currency. */\n  interface Money {\n      /** Monetary amount i.e. 3.99. */\n      amount?: string;\n      /** Currency in ISO 4217 format i.e. USD. */\n      currency?: string;\n  }\n  enum SubscriptionType {\n      UNDEFINED = \"UNDEFINED\",\n      /** Payments made by the subscriber */\n      ONLINE = \"ONLINE\",\n      /** Payments managed manually by the site owner */\n      OFFLINE = \"OFFLINE\"\n  }\n  enum V1SubscriptionStatusEnumSubscriptionStatus {\n      /** Subscription status undefined */\n      UNDEFINED = \"UNDEFINED\",\n      /** Subscription created, but hasn't been paid for yet. This status if filtered out in ListSubscriptions response by default. */\n      DRAFT = \"DRAFT\",\n      /** Subscription has been paid for, but the start date is in the future */\n      PENDING = \"PENDING\",\n      /** Subscription is active */\n      ACTIVE = \"ACTIVE\",\n      /** Subscription has expired */\n      EXPIRED = \"EXPIRED\",\n      /** Subscription has been canceled */\n      CANCELED = \"CANCELED\",\n      /** Subscription has been set to be canceled at a future date */\n      PENDING_CANCELLATION = \"PENDING_CANCELLATION\",\n      /** Subscription is suspended */\n      SUSPENDED = \"SUSPENDED\"\n  }\n  enum PaymentStatusEnumPaymentStatus {\n      /** Payment status undefined */\n      UNDEFINED = \"UNDEFINED\",\n      /** Payment has been paid */\n      PAID = \"PAID\",\n      /** Payment has been refunded */\n      REFUNDED = \"REFUNDED\",\n      /** Recurring payment has failed */\n      FAILED = \"FAILED\",\n      /** Payment has not been paid */\n      UNPAID = \"UNPAID\",\n      /** Billing has been initialized, but actual charge is yet to be made. Can happen for free trial and PayPal */\n      PENDING = \"PENDING\"\n  }\n  /**\n   * Recurring payment is described by `frequency` (day, week, month) and `interval`.\n   *\n   * For example, to create a recurring payment every 14 days, just set `interval` to 14 and frequency to `DAY`.\n   *\n   * In some cases there should be a trial period for the order, after which payments start to occur.\n   * Trial period is also defined as `frequency` and `interval` pair.\n   *\n   * So one can define a monthly 'subscription' with a 14 days trial period.\n   */\n  interface V2Subscription {\n      /** frequency of recurring payment (required) */\n      frequency?: SubscriptionFrequency;\n      /** interval of recurring payment (required) */\n      interval?: number;\n      /** trial period for recurring payment (optional) */\n      trial?: SubscriptionTrialPeriod;\n      /**\n       * how many billing cycles should be done before subscription finishes\n       * (optional, 0 by default means endless subscription)\n       */\n      billingCycles?: number;\n      /**\n       * date in the future or in the past when the first billing cycle begins\n       * (the first off-session payment is performed when it ends)\n       */\n      firstCycleStartDate?: Date | null;\n  }\n  /** Frequency unit of recurring payment */\n  enum SubscriptionFrequency {\n      UNDEFINED = \"UNDEFINED\",\n      DAY = \"DAY\",\n      WEEK = \"WEEK\",\n      MONTH = \"MONTH\",\n      YEAR = \"YEAR\"\n  }\n  /** Trial period of subscription */\n  interface SubscriptionTrialPeriod {\n      /** trial period in units (required) */\n      period?: number;\n      /** units in which trial period is described (optional, default DAY) */\n      unit?: SubscriptionFrequency;\n  }\n  enum CancellationInitiator {\n      /** Cancellation initiator undefined */\n      UNDEFINED = \"UNDEFINED\",\n      /** Subscription was canceled by site owner (default if canceled by user or service identity) */\n      OWNER = \"OWNER\",\n      /** Subscription was canceled by member (default if canceled by member identity) */\n      MEMBER = \"MEMBER\",\n      /** Subscription was canceled because of payment failure */\n      PAYMENT_FAILURE = \"PAYMENT_FAILURE\",\n      /** Subscription was canceled because of payment setup failure */\n      SETUP_FAILURE = \"SETUP_FAILURE\"\n  }\n  interface SubscriptionPolicy {\n      /** Subscription expiration date can be updated */\n      expiryDateChangeable?: boolean;\n      /** Subscription can be cancelled by the member who bought it (when memberId == subscriberId) */\n      cancellableByMember?: boolean;\n      /** Subscription expiration date on cancellation can be set to next payment date */\n      cancellableAtNextPaymentCycle?: boolean;\n  }\n  interface Suspension {\n      status?: Status;\n      /** Beginning of the suspended period */\n      startsAt?: Date | null;\n      /** End of the suspended period */\n      endsAt?: Date | null;\n  }\n  enum Status {\n      UNDEFINED = \"UNDEFINED\",\n      ACTIVE = \"ACTIVE\",\n      ENDED = \"ENDED\"\n  }\n  /** A duration expressed in amount of time units. */\n  interface V1Duration {\n      /** Amount of the unit */\n      amount?: number;\n      /** Day, Week, Month, Year. */\n      unit?: SubscriptionFrequency;\n  }\n  interface V1SubscriptionActivated {\n      subscription?: V1Subscription;\n  }\n  interface V1SubscriptionCanceled {\n      subscription?: V1Subscription;\n  }\n  interface V1SubscriptionUpdated {\n      subscription?: V1Subscription;\n  }\n  interface SubscriptionCycleTriggered {\n      subscription?: V1Subscription;\n      billingCycle?: number;\n      /** Wix Pay transaction id, optional. Exists if event was triggered by a payment. */\n      transactionId?: string | null;\n  }\n  interface SubscriptionMarkedAsPaid {\n      subscription?: V1Subscription;\n      /** A number indicating which payment (cycle) was marked as paid. For recurring subscriptions only. */\n      billingCycle?: number | null;\n  }\n  interface SubscriptionCancellationRequested {\n      subscription?: V1Subscription;\n  }\n  interface SubscriptionSuspended {\n      subscription?: V1Subscription;\n  }\n  interface V1SubscriptionResumed {\n      subscription?: V1Subscription;\n  }\n  interface SubscriptionExpired {\n      subscription?: V1Subscription;\n  }\n  interface V1SubscriptionInitialPurchaseCompleted {\n      subscription?: V1Subscription;\n  }\n  interface CreateSubscriptionInStateRequest extends CreateSubscriptionInStateRequestModeOneOf {\n      activeSubscription?: CreateSubscriptionRequest;\n  }\n  /** @oneof */\n  interface CreateSubscriptionInStateRequestModeOneOf {\n      activeSubscription?: CreateSubscriptionRequest;\n  }\n  interface CreateSubscriptionInStateResponse {\n      subscriptionId?: string;\n  }\n  interface PayCycleRequest {\n      subscriptionId: string;\n      paymentTestMode?: PaymentTestMode;\n      tenantId: string;\n  }\n  enum PaymentTestMode {\n      REGULAR = \"REGULAR\",\n      FAIL_TECHNICAL = \"FAIL_TECHNICAL\",\n      FAIL_DECLINE = \"FAIL_DECLINE\",\n      FAIL_RETRYABLE_DECLINE = \"FAIL_RETRYABLE_DECLINE\"\n  }\n  interface PayCycleResponse {\n      invoiceId?: string;\n      paymentOrderId?: string | null;\n      subscription?: Subscription;\n  }\n  interface GetFullSubscriptionDataRequest {\n      _id?: string;\n  }\n  interface GetFullSubscriptionDataResponse {\n      subscription?: Subscription;\n      internalSubscriptionData?: InternalSubscriptionData;\n  }\n  interface InternalSubscriptionData {\n      originInstanceId?: string;\n      source?: string | null;\n      billingType?: string;\n      isOneTime?: boolean;\n      migrationDetails?: MigrationDetails;\n      pausePaidDuration?: string | null;\n      authorizationPaymentData?: PaymentData;\n      currentCyclePausePeriods?: PausePeriod[];\n  }\n  interface MigrationDetails {\n      /** system (application) where the Subscription has been created */\n      originSystem?: string;\n      /** date when the Subscription started to be managed in BASS */\n      shiftManagementDate?: Date | null;\n  }\n  interface PausePeriod {\n      startDate?: Date | null;\n      endDate?: Date | null;\n  }\n  interface GetSubscriptionAndInternalDataRequest {\n      subscriptionId?: string;\n      tenantId?: string;\n  }\n  interface GetSubscriptionAndInternalDataResponse {\n      subscription?: Subscription;\n      internalSubscriptionData?: InternalSubscriptionData;\n  }\n  interface SearchSubscriptionRequest {\n      _id?: string;\n      tenantId?: string;\n  }\n  interface SearchSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface UpdatePausePaidDurationRequest {\n      subscriptionId?: string;\n      pausePaidDurationSeconds?: string;\n      tenantId?: string;\n  }\n  interface UpdatePausePaidDurationResponse {\n  }\n  interface UpdateStatusRequest {\n      subscriptionId?: string;\n      tenantId?: string;\n      status?: SubscriptionStatusEnumSubscriptionStatus;\n  }\n  interface UpdateStatusResponse {\n      subscription?: Subscription;\n  }\n  interface UpdatePaymentStatusRequest {\n      subscriptionId?: string;\n      tenantId?: string;\n      paymentStatus?: PaymentStatus;\n  }\n  interface UpdatePaymentStatusResponse {\n      subscription?: Subscription;\n  }\n  interface ReviveSubscriptionRequest {\n      tenantId?: string;\n      subscriptionId?: string;\n      revivePolicy?: RevivePolicy;\n      isTestRun?: boolean;\n  }\n  enum RevivePolicy {\n      SIMPLE = \"SIMPLE\",\n      RESUME = \"RESUME\"\n  }\n  interface ReviveSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface ConvertSapiRequest {\n      subscriptionId?: string;\n  }\n  interface ConvertSapiResponse {\n      subscription?: Subscription;\n  }\n  interface GetSubscriptionInvoicesRequest {\n      _id?: string;\n  }\n  interface GetSubscriptionInvoicesResponse {\n      invoices?: SubscriptionInvoice[];\n  }\n  interface SubscriptionInvoice {\n      _id?: string;\n      subscriptionCycle?: number;\n      _createdDate?: Date | null;\n  }\n  interface FinishFreeTrialNowRequest {\n      subscriptionId?: string;\n      tenantId?: string;\n  }\n  interface FinishFreeTrialNowResponse {\n      subscription?: Subscription;\n  }\n  interface SendTimeCapsuleTaskCanceledBIRequest {\n      tenantId?: string;\n      subscriptionId?: string;\n      taskType?: string;\n  }\n  interface ScheduleTimeCapsuleTaskRequest {\n      subscriptionId?: string;\n      taskType?: string;\n      executionTime?: Date | null;\n      tenantId?: string;\n  }\n  interface CancelTimeCapsuleTaskRequest {\n      tenantId?: string;\n      subscriptionId?: string;\n      taskType?: string;\n  }\n  interface UpdateFullSubscriptionRequest {\n      tenantId?: string;\n      subscription?: Subscription;\n  }\n  interface UpdateFullSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface UpdateSubscriptionInvoiceCycleRequest {\n      subscriptionId?: string;\n      tenantId?: string;\n      invoiceId?: string;\n      subscriptionCycle?: number;\n  }\n  interface UpdateSubscriptionInvoiceCycleResponse {\n      subscriptionInvoice?: SubscriptionInvoice;\n  }\n  interface AddPausePeriodRequest {\n      tenantId?: string;\n      subscriptionId?: string;\n      pauseStartDate?: Date | null;\n      pauseEndDate?: Date | null;\n  }\n  interface AddPausePeriodResponse {\n      subscription?: Subscription;\n  }\n  interface RunTimeCapsuleTaskNowRequest {\n      tenantId: string;\n      subscriptionId: string;\n      taskType: string;\n  }\n  interface CreateRecurringInvoiceBORequest {\n      subscriptionId?: string;\n      tenantId?: string;\n      cycleNumber?: number;\n  }\n  interface CreateRecurringInvoiceBOResponse {\n      invoiceId?: string;\n  }\n  interface SetShiftingDataRequest {\n      subscriptionId?: string;\n      tenantId?: string;\n      isBassManaged?: boolean;\n      shiftManagementDate?: Date | null;\n  }\n  interface SetShiftingDataResponse {\n      subscription?: Subscription;\n  }\n  interface FixSubscriptionInvoicesRequest extends FixSubscriptionInvoicesRequestModeOneOf {\n      attachInvoice?: AttachInvoice;\n      detachInvoice?: DetachInvoice;\n      tenantId?: string;\n      subscriptionId?: string;\n  }\n  /** @oneof */\n  interface FixSubscriptionInvoicesRequestModeOneOf {\n      attachInvoice?: AttachInvoice;\n      detachInvoice?: DetachInvoice;\n  }\n  interface AttachInvoice {\n      invoiceId?: string;\n  }\n  interface DetachInvoice {\n      invoiceId?: string;\n  }\n  interface FixSubscriptionInvoicesResponse {\n      invoices?: SubscriptionInvoice[];\n  }\n  interface RestoreDraftSubscriptionRequest {\n      tenantId?: string;\n      subscriptionId?: string;\n  }\n  interface RestoreDraftSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface DeleteDraftSubscriptionRequest {\n      tenantId?: string;\n      subscriptionId?: string;\n  }\n  interface DeleteDraftSubscriptionResponse {\n      subscription?: Subscription;\n  }\n  interface DeleteSubscriptionBORequest {\n      tenantId?: string;\n      subscriptionId?: string;\n  }\n  interface DeleteSubscriptionBOResponse {\n      subscription?: Subscription;\n  }\n  interface CancelSubscriptionBORequest {\n      tenantId?: string;\n      subscriptionId?: string;\n      initiator?: ActionInitiator;\n      reason?: string | null;\n  }\n  interface CancelSubscriptionBOResponse {\n      subscription?: Subscription;\n  }\n  interface UpdatePaymentMethodBORequest {\n      tenantId?: string;\n      subscriptionId?: string;\n      paymentMethodId?: string;\n  }\n  interface UpdatePaymentMethodBOResponse {\n      subscription?: Subscription;\n  }\n  interface SendSubscriptionActionEventBORequest extends SendSubscriptionActionEventBORequestEventOneOf {\n      billingCycleStarted?: SubscriptionBillingCycleStarted;\n      tenantId?: string;\n      subscriptionId?: string;\n  }\n  /** @oneof */\n  interface SendSubscriptionActionEventBORequestEventOneOf {\n      billingCycleStarted?: SubscriptionBillingCycleStarted;\n  }\n  interface SendSubscriptionActionEventResponse {\n  }\n  interface HandleSubscriptionAfterInvoiceMarkedAsPaidRequest {\n      tenantId?: string;\n      subscriptionId?: string;\n      transactionId?: string;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField subscriptionId\n   * @permissionId subscriptions.view\n   * @adminMethod\n   */\n  function listSubscriptionHistory(subscriptionId: string, options?: ListSubscriptionHistoryOptions): Promise<ListSubscriptionHistoryResponse>;\n  interface ListSubscriptionHistoryOptions {\n      /** Determines the type of view for the history: either a comprehensive backoffice view or a user-centric view. */\n      mode?: HistoryViewMode;\n      /** Cursor for efficient paging. If paging through results, pass this field from the previous search response to continue to the next page. */\n      cursor?: CursorPaging;\n  }\n  /**\n   * Identity must be a site member and customer subscription belongs to\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function customerGetSubscription(_id: string): Promise<GetSubscriptionResponse>;\n  /**\n   * Identity must be a site member and customer subscription belongs to\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function customerCancelSubscription(_id: string, options?: CustomerCancelSubscriptionOptions): Promise<CustomerCancelSubscriptionResponse>;\n  interface CustomerCancelSubscriptionOptions {\n      /** Optional action reason message */\n      reason?: string | null;\n  }\n  /**\n   * Identity must be a site member and customer subscription belongs to\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function customerTurnOnSubscriptionAutoRenewal(_id: string, options?: CustomerTurnOnSubscriptionAutoRenewalOptions): Promise<CustomerTurnOnAutoRenewalResponse>;\n  interface CustomerTurnOnSubscriptionAutoRenewalOptions {\n      /** Optional action reason message */\n      reason?: string | null;\n  }\n  /**\n   * Identity must be a site member and customer subscription belongs to\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function customerTurnOffSubscriptionAutoRenewal(_id: string, options?: CustomerTurnOffSubscriptionAutoRenewalOptions): Promise<CustomerTurnOffAutoRenewalResponse>;\n  interface CustomerTurnOffSubscriptionAutoRenewalOptions {\n      /** Optional action reason message */\n      reason?: string | null;\n  }\n  /** @param _id - The ID of the subscription to be extended\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.billingCyclesToAdd\n   * @adminMethod\n   */\n  function customerExtendSubscription(_id: string, options?: CustomerExtendSubscriptionOptions): Promise<CustomerExtendSubscriptionResponse>;\n  interface CustomerExtendSubscriptionOptions {\n      /** Optional action reason message */\n      reason?: string | null;\n      /** For termed - Subscription end date will be updated with the extension period and number of cycles will be added */\n      billingCyclesToAdd: number | null;\n  }\n  /**\n   * identity must be a site member\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function customerQuerySubscriptions(options?: CustomerQuerySubscriptionsOptions): Promise<QuerySubscriptionsResponse>;\n  interface CustomerQuerySubscriptionsOptions {\n      query?: QueryV2;\n  }\n  /**\n   * identity must be a site member\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function customerCountSubscriptions(options?: CustomerCountSubscriptionsOptions): Promise<CountSubscriptionsResponse>;\n  interface CustomerCountSubscriptionsOptions {\n      /** Filters to specify which subscriptions are counted. */\n      filter?: CountSubscriptionFilter;\n  }\n  /**\n   * Update subscription's payment method.\n   * Supported only for recurring subscriptions or one time subscriptions during free trial.\n   * @param _id - Subscription ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField paymentMethodId\n   * @adminMethod\n   */\n  function customerUpdateSubscriptionPaymentMethod(_id: string, paymentMethodId: string): Promise<UpdateSubscriptionPaymentMethodResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function customerAllowedActions(_id: string): Promise<CustomerAllowedActionsResponse>;\n  /**\n   * List future subscriptions charges.\n   * @param _id - Subscription id upcoming charge to be previewed for\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function customerListUpcomingCharges(_id: string): Promise<CustomerListUpcomingChargesResponse>;\n  /**\n   * Creates auto-charge order that can be paid by customer\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function customerInitiatePaymentMethodSetup(_id: string, options?: CustomerInitiatePaymentMethodSetupOptions): Promise<InitiatePaymentMethodSetupResponse>;\n  interface CustomerInitiatePaymentMethodSetupOptions {\n      paymentMode?: PaymentMode;\n      paymentSettings?: PaymentSettings;\n  }\n  /**\n   * Creates a subscription and returns payment order id to pay for non-free subscription.\n   * Only Service identity is allowed in order to create subscription. Mandatory origin fields are filled based on it.\n   * So the calls should be server-signed.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.originOverride.appId\n   * @requiredField options.originOverride.instanceId\n   * @requiredField subscription\n   * @requiredField subscription.customer\n   * @requiredField subscription.items\n   * @requiredField subscription.items.name\n   * @requiredField subscription.items.pricingModel\n   * @requiredField subscription.origin\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function createSubscription(subscription: Subscription, options?: CreateSubscriptionOptions): Promise<CreateSubscriptionResponse>;\n  interface CreateSubscriptionOptions {\n      /** Optional settings for the payments. Should be empty for free subscriptions. */\n      paymentSettings?: PaymentSettings;\n      /** Optional unique identifier for this request in order to prevent subscription duplications */\n      idempotencyKey?: string | null;\n      /** Optional origin override for setting identity of subscription creator instead of extracting from context */\n      originOverride?: OriginOverride;\n  }\n  /**\n   * Returns a single subscription by its id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId subscriptions.view\n   * @adminMethod\n   */\n  function getSubscription(_id: string): Promise<GetSubscriptionResponse>;\n  /**\n   * Updates subscription. Supported only for customer and billingSettings.paymentMethod fields\n   * @param _id - Subscription's unique id. Automatically generated and read-only.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function updateSubscription(_id: string | null, options?: UpdateSubscriptionOptions): Promise<UpdateSubscriptionResponse>;\n  interface UpdateSubscriptionOptions {\n      subscription: {\n          /**\n           * Subscription's unique id. Automatically generated and read-only.\n           * @readonly\n           */\n          _id?: string | null;\n          /**\n           * Date when subscription was created\n           * @readonly\n           */\n          _createdDate?: Date | null;\n          /**\n           * Date when subscription was updated\n           * @readonly\n           */\n          _updatedDate?: Date | null;\n          /**\n           * Revision of subscription. Increments upon changes\n           * @readonly\n           */\n          revision?: string | null;\n          /** Subscription name: minLength is 1, maxLength is 150 */\n          name?: string;\n          /** Subscription description. Optional. */\n          description?: string | null;\n          /**\n           * If start_date is set in the future: custom_billing_schedule.cycles_to_pay_on_creation should be set to 1\n           * in order to pay on creation for first cycle, Subscription will be then activated in the future.\n           * Future start_date is not supported for `SEND_INVOICE` CollectionMethod\n           * If start_date is set in past, it means subscription was already started.\n           */\n          startDate?: Date | null;\n          /**\n           * Represents when the subscription will end, relevant for subscriptions with a termed period.\n           * If not provided, will be calculated based on billing schedule. Should be empty for evergreen subscription.\n           * Note: A 13-hour tolerance is applied when validating the end date to handle for time zone differences and minor discrepancies.\n           */\n          endDate?: Date | null;\n          /** Business origin subscription is coming from. In site-level subscription it will be vertical app_id and entity_id */\n          origin?: BusinessOrigin;\n          /** Customer information like id and identity type (member or contact) */\n          customer?: Customer;\n          /**\n           * Status of subscription\n           * @readonly\n           */\n          status?: SubscriptionStatusEnumSubscriptionStatus;\n          /** Billing details parameters including schedule, currency, etc. */\n          billingSettings?: BillingSettings;\n          /**\n           * Includes many attributes about billing status of the subscription\n           * @readonly\n           */\n          billingStatus?: BillingStatus;\n          /** Shipping address associated with subscription. At the moment used only for payments. Optional. */\n          shippingAddress?: FullAddressDetails;\n          /** Restrictions on possible subscription actions. If not provided, default policies are all restrictions enabled. */\n          policies?: SubscriptionPolicies;\n          /**\n           * Information related to either paused subscription or scheduled for future pause\n           * @readonly\n           */\n          pauseInfo?: PauseInfo;\n          /**\n           * Information related to cancellation for already canceled subscription or scheduled for cancel\n           * @readonly\n           */\n          cancellationInfo?: CancellationInfo;\n          /**\n           * Pending update for the next billing cycle\n           * @readonly\n           */\n          pendingUpdateData?: SubscriptionUpdateData;\n          /**\n           * Indicator whether subscription is managed by BASS or external system, like SAPI, for example.\n           * @internal\n           * @readonly\n           */\n          bassManaged?: boolean;\n          /**\n           * Key / Value store to keep up to 10 additional values related to the subscription.\n           * Key max length = 50, Value max length = 200. Value can not be empty.\n           * Should not include any sensitive or PII information.\n           */\n          metadata?: Record<string, string>;\n          /**\n           * Pending update for a specific date\n           * @readonly\n           */\n          specificDatePendingUpdateData?: SpecificDateSubscriptionUpdateData;\n          /**\n           * ChangesCounter of subscription. Increments upon every change to the domain\n           * @readonly\n           */\n          changesCounter?: string | null;\n          /** Billing order id. Optional. */\n          orderId?: string | null;\n          /** items, minSize is 1, maxSize is 100 */\n          items?: Item[];\n      };\n      /**\n       * Supported field: start_date\n       * Can be updated only if Subscription is in Draft state\n       * @internal\n       */\n      fieldMask: string[];\n  }\n  /** @param _id - Subscription ID\n   * @param startDate - Can be updated only if Subscription is in Draft state\n   * By setting start_date in the future, end_date will be recalculated for termed Subscriptions\n   * cycles_to_pay_on_creation will be set to 1 if no free trial is set\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField startDate\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function updateSubscriptionStartDate(_id: string, startDate: Date | null): Promise<UpdateSubscriptionStartDateResponse>;\n  /**\n   * Update subscription's payment method.\n   * Supported only for recurring subscriptions or one time subscriptions during free trial.\n   * @param _id - Subscription ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField paymentMethodId\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function updateSubscriptionPaymentMethod(_id: string, paymentMethodId: string): Promise<UpdateSubscriptionPaymentMethodResponse>;\n  /**\n   * Updates subscription's policies\n   * @param _id - Subscription ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function updateSubscriptionPolicies(_id: string, options?: UpdateSubscriptionPoliciesOptions): Promise<UpdateSubscriptionPoliciesResponse>;\n  interface UpdateSubscriptionPoliciesOptions {\n      cancellableByCustomer?: boolean | null;\n  }\n  /**\n   * Updates the next billing date for a subscription.\n   *\n   *\n   * Updating the billing date may add a proration charge or credit to the next\n   * invoice. The customer must pay more in case you extend the current billing\n   * cycle. They pay less in case you shorten the current billing cycle. You can\n   * choose whether BASS automatically calculates the proration amount based on\n   * the number of days added to or removed from the current billing cycle.\n   * Alternatively, you can pass a proration amount based on your own custom\n   * calculation. The custom proration amount can't exceed the total of the\n   * current billing cycle.\n   * @param _id - ID of the subscription to update the billing date for.\n   * @param billingDate - New billing date in `YYYY-MM-DDThh:mm:ss:sssZ` format.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField billingDate\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function updateSubscriptionBillingDate(_id: string, billingDate: Date | null, options?: UpdateSubscriptionBillingDateOptions): Promise<UpdateSubscriptionBillingDateResponse>;\n  interface UpdateSubscriptionBillingDateOptions {\n      /**\n       * Information about how BASS adjusts the total of the next invoice. Extending\n       * the current billing cycle results in a higher payment, while shortening it\n       * leads to a lower payment. BASS offers automatic calculation of the proration\n       * amount based on the number of days added to or removed from the current billing\n       * cycle. Alternatively, you can use your own custom method to calculate the\n       * proration amount. The custom proration amount can't exceed the total of the\n       * current billing cycle.\n       */\n      proration?: Proration;\n  }\n  /**\n   * Update subscription's origin.\n   * @param _id - ID of the subscription to update origin.\n   * @param entityId - Origin entity ID of the subscription to update.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField entityId\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function updateSubscriptionOrigin(_id: string, entityId: string): Promise<UpdateSubscriptionOriginResponse>;\n  /**\n   * Revises a draft subscription\n   * @param _id - Subscription ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function reviseSubscription(_id: string, options?: ReviseSubscriptionOptions): Promise<ReviseSubscriptionResponse>;\n  interface ReviseSubscriptionOptions {\n      /** 0 for no revision, maxSize is 100 */\n      items?: Item[];\n  }\n  /**\n   * Updates subscription items\n   * @param _id - Subscription ID\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function updateSubscriptionItems(_id: string, options?: UpdateSubscriptionItemsOptions): Promise<UpdateSubscriptionItemsResponse>;\n  interface UpdateSubscriptionItemsOptions {\n      /** Update action. For RESET_PENDING_UPDATES, nothing but the subscription ID should be defined in the request. */\n      updateAction?: UpdateAction;\n      /** Updates execution date. Relevant only for UpdateAction.SPECIFIC_DATE. Only specific date is supported. */\n      scheduleAdditionalInfo?: ScheduleAdditionalInfo;\n      /** Existing items to update */\n      itemsToUpdate?: ItemChange[];\n      /** Items to add */\n      itemsToAdd?: Item[];\n      /** Existing items to delete */\n      itemsToDelete?: string[] | null;\n  }\n  /**\n   * Bulk updates subscription items, given the provided filtering.\n   *\n   *\n   * Use `subscriptionFilter` to select which subscriptions are updated and\n   * `catalogReferenceIds` to specify which items from these subscriptions are\n   * updated. Note that the `catalogReferenceIds` filter is based on the catalog\n   * item ID and not each item's unique ID. The call fails in case you send an\n   * empty `subscriptionFilter`.\n   *\n   * For field support in `subscriptionFilter` see\n   * [Search and Query: Bulk Update Subscription Items By Filter](https://bo.wix.com/wix-docs/rest/drafts/subscriptions-by-billing-by-wix/search-and-query#drafts_subscriptions-by-billing-by-wix_search-and-query_bulk-update-subscription-items-by-filter).\n   * To learn about working with filters in general, see\n   * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language).\n   *\n   * The `updateAction` field let's you update subscription items immediately,\n   * at the beginning of the next billing cycle, or on a future date of your\n   * choice. Alternatively, you can cancel all currently scheduled updates for the\n   * specified subscriptions by passing `{\"updateAction\": \"RESET_PENDING_UPDATES\"}`.\n   * Then, use only the `subscriptionId` field inside `subscriptionFilter` since\n   * passing any other subscription filter results in a failed validation error.\n   *\n   * You can update the item price, quantity, and tax. To do so, pass the\n   * relevant data inside the `bulkItemUpdateData` object. All item fields are\n   * updated to the same values. In case you want to set different values for\n   * individual items, you must call _Bulk Update Subscription Items By Filter_\n   * multiple times, once per unique update.\n   *\n   * Note that you can't use the `itemsToAdd` object yet, since it results\n   * in a validation failure at the moment.\n   *\n   * In case you schedule updates for a future point in time, the changes are\n   * reflected in the subscription's `pendingUpdateData.itemsToUpdate` array.\n   * They will be reflected in the subscription's relevant item once they become\n   * effective. At the same time, they will also be removed from\n   * `pendingUpdateData.itemsToUpdate`.\n   *\n   * You can retrieve information about the status of the bulk job from\n   * [Async Infra](https://pbo.wix.com/fire-console/?artifact=com.wixpress.asyncinfra.async-job-service&service=wix.infra.asyncjobs.v1.AsyncJobService&method=ListAsyncJobItems&body=eyJqb2JfaWQiOiIifQ%3D%3D).\n   * @param subscriptionFilter - Filter to identify the subscriptions for which items are updated. For\n   * supported fields see\n   * [Search and Query: Bulk Update Subscription Items By Filter](https://bo.wix.com/wix-docs/rest/drafts/subscriptions-by-billing-by-wix/search-and-query#drafts_subscriptions-by-billing-by-wix_search-and-query_bulk-update-subscription-items-by-filter).\n   * Sending an empty subscription filter results in a validation error.\n   * In case you pass `{\"updateAction\": \"RESET_PENDING_UPDATES\"}`, use only the\n   * `subscriptionId` field inside this filter. Passing any other filter results\n   * in a failed validation error.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.catalogReferenceIds\n   * @requiredField subscriptionFilter\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function bulkUpdateSubscriptionItemsByFilter(subscriptionFilter: Record<string, any> | null, options?: BulkUpdateSubscriptionItemsByFilterOptions): Promise<BulkUpdateSubscriptionItemsByFilterResponse>;\n  interface BulkUpdateSubscriptionItemsByFilterOptions {\n      /**\n       * Filter to specify which subscription items are updated. Make sure to use\n       * the catalog item ID and not the item's unique ID. All subscription items\n       * with matching `items.catalogReference.catalogItemId` are updated.\n       *\n       * Max: `100` reference catalog item IDs\n       */\n      catalogReferenceIds: string[] | null;\n      /**\n       * Information about the update timing and update type.\n       *\n       * + `\"IMMEDIATELY\"`: The updates become effective immediately.\n       * + `\"NEXT_BILLING_CYCLE\"`: The updates are scheduled for the beginning of the next billing cycle.\n       * + `\"SPECIFIC_DATE\"`: The updates are scheduled for the date specified in `scheduleAdditionalInfo.specificDate`.\n       * + `\"RESET_PENDING_UPDATES\"`: All currently scheduled updates for the specified supcriptions are canceled. Use only the `subscriptionId` field inside `subscriptionFilter`, all other filters result in failed validation errors.\n       */\n      updateAction?: UpdateAction;\n      /**\n       * Additional information for updates. Currently, only supported for\n       * `{\"updateAction\": \"SPECIFIC_DATE\"}`.\n       */\n      scheduleAdditionalInfo?: ScheduleAdditionalInfo;\n      /**\n       * Update details for the susbcription items that match the filtering.\n       * Currently, you can update only the item price, quantity, and tax. Note\n       * that all item properties are updated to the same values. In case you want set\n       * different values for individual items, you must call\n       * _Bulk Update Subscription Items By Filter_ multiple times, once per unique update.\n       */\n      bulkItemUpdateData?: BulkItemChange;\n      /** __Not implemented yet__. Items to add to the subscriptions matching the filtering. */\n      itemsToAdd?: Item[];\n  }\n  /**\n   * Deletes subscription\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function deleteSubscription(_id: string, options?: DeleteSubscriptionOptions): Promise<void>;\n  interface DeleteSubscriptionOptions {\n      revision?: string;\n  }\n  /**\n   * Cancels subscription immediately. Can be canceled by member if subscription policy allows it\n   * Only PENDING, ACTIVE or PAUSED subscriptions can be canceled\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField actionContext\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function cancelSubscription(_id: string, actionContext: ActionContext): Promise<CancelSubscriptionResponse>;\n  /**\n   * Pauses subscription now or in future. Possible to pause also payments schedule.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.actionContext\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function pauseSubscription(_id: string, options?: PauseSubscriptionOptions): Promise<PauseSubscriptionResponse>;\n  interface PauseSubscriptionOptions {\n      pausePolicy?: PausePolicy;\n      pauseAt?: PauseAt;\n      /** contains additional scheduling information for certain pause_at options (for example: SPECIFIC_DATE & NUMBER_OF_CYCLES_FROM_TODAY) */\n      pauseAtSchedule?: ScheduleAdditionalInfo;\n      /** contains additional scheduling information for certain auto_resume_at either specific date */\n      autoResumeAtSchedule?: ScheduleAdditionalInfo;\n      actionContext: ActionContext;\n  }\n  /**\n   * Resumes paused subscription now or in future.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.actionContext\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function resumeSubscription(_id: string, options?: ResumeSubscriptionOptions): Promise<ResumeSubscriptionResponse>;\n  interface ResumeSubscriptionOptions {\n      resumeAt?: ResumeAt;\n      /** contains additional scheduling information for certain resume_at options (for example: SPECIFIC_DATE) */\n      resumeAtSchedule?: ScheduleAdditionalInfo;\n      actionContext: ActionContext;\n  }\n  /**\n   * Lists subscriptions based on specified filters.\n   * By default non-draft subscriptions returned.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId subscriptions.view\n   * @adminMethod\n   */\n  function querySubscriptions(query: QueryV2): Promise<QuerySubscriptionsResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId subscriptions.view\n   * @adminMethod\n   */\n  function searchSubscriptions(options?: SearchSubscriptionsOptions): Promise<SearchSubscriptionsResponse>;\n  interface SearchSubscriptionsOptions extends SearchSubscriptionsRequestPagingMethodOneOf {\n      /** A filter object */\n      filter?: any;\n      /** Limit number of results and enable to skip rows. The default limit is 25. */\n      paging?: Paging;\n      /** A Cursor option for efficient paging. Pass this field from the previous search response to continue to the next page. */\n      cursor?: CursorPaging;\n      /** A Sorting option by field name and order. */\n      sorting?: SortingClauses;\n  }\n  /**\n   * Counts subscriptions given the provided filters. Returns the total number\n   * of subscriptions matching the filters and a count per status.\n   *\n   *\n   * You can either pass a list of statuses or a `statusGroup`, which is a\n   * pre-defined combination of statuses.\n   *\n   * If you don't provide any filters, all subscription statuses with the\n   * exception of `\"DRAFT\"` are counted.\n   *\n   * You may also specify a `customerId` as filter. Then, only subscriptions for\n   * this customer are counted. When providing a `customerId`, you must also\n   * specify a `paymentMethodId`.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId subscriptions.view\n   * @adminMethod\n   */\n  function countSubscriptions(options?: CountSubscriptionsOptions): Promise<CountSubscriptionsResponse>;\n  interface CountSubscriptionsOptions {\n      /** Filters to specify which subscriptions are counted. */\n      filter?: CountSubscriptionFilter;\n  }\n  /**\n   * Turn on auto-renew subscription in case auto-renew was turned off. The operation changes back cycle_auto_renew\n   * to true, which will ensure subscription billing will continue. Also cancellation info holding information about\n   * auto renew off will be cleared.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField actionContext\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function turnOnSubscriptionAutoRenewal(_id: string, actionContext: ActionContext): Promise<TurnOnSubscriptionAutoRenewalResponse>;\n  /**\n   * Turn off auto-renew of subscription. At next billing date subscription will be canceled.\n   * Billing settings flag cycle_auto_renew is set to false and information about this operation stored\n   * in cancellation info for future usage in cancellation.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField actionContext\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function turnOffSubscriptionAutoRenewal(_id: string, actionContext: ActionContext): Promise<TurnOffSubscriptionAutoRenewalResponse>;\n  /**\n   * Marks the last invoice as paid used for the following scenarios:\n   * * Offline subscriptions.\n   * * Online subscriptions during grace period. The operation will convert invoice to offline, remove grace period\n   * and will send BillingCycleStarted event after invoice closing.\n   * * Online one time payment subscription with total price of zero during purchase flow.\n   * Activated event will be sent after invoice closing and subscription will be activated.\n   * @param subscriptionId - The ID of the offline subscription to mark as paid its latest invoice\n   * @public\n   * @documentationMaturity preview\n   * @requiredField subscriptionId\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function markLatestInvoiceAsPaid(subscriptionId: string): Promise<MarkLatestInvoiceAsPaidResponse>;\n  /**\n   * Returns number of subscriptions in each state.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId subscriptions.view\n   * @adminMethod\n   */\n  function getSubscriptionsStats(): Promise<GetSubscriptionsStatsResponse>;\n  /**\n   * Extends subscription by moving end date with or without billing cycles addition.\n   * @param _id - The ID of the subscription to be extended\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField actionContext\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function extendSubscription(_id: string, actionContext: ActionContext, options?: ExtendSubscriptionOptions): Promise<ExtendSubscriptionResponse>;\n  interface ExtendSubscriptionOptions extends ExtendSubscriptionRequestExtendPolicyOneOf {\n      /** User won't be charged for additional period added on top of subscription end date. */\n      extensionPeriod?: Duration;\n      /** user will be charged for billing cycles added */\n      extensionBillingCycles?: number;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function allowedActions(_id: string, options?: AllowedActionsOptions): Promise<AllowedActionsResponse>;\n  interface AllowedActionsOptions {\n      /** List of additional fields to be included in the response. */\n      fields?: RequestedFields[];\n  }\n  /**\n   * List future subscriptions charges\n   * @param subscriptionId - Subscription id charges to be previewed for\n   * @public\n   * @documentationMaturity preview\n   * @requiredField subscriptionId\n   * @permissionId subscriptions.view\n   * @adminMethod\n   */\n  function listUpcomingCharges(subscriptionId: string, options?: ListUpcomingChargesOptions): Promise<ListUpcomingChargesResponse>;\n  interface ListUpcomingChargesOptions {\n      /** Period of time to provide charged for. If not provided,then only next charge will be returned. */\n      customDuration?: Duration;\n      /**\n       * Date of the next billing cycle so that the upcoming charges will be calculated accordingly.\n       * If not provided, the upcoming charges will be calculated according to the existing next billing date.\n       */\n      nextBillingDate?: Date | null;\n  }\n  /**\n   * Retrieves the preview of subscription charges.\n   * Returns all the charges applicable to a subscription based on the provided subscription information.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.subscriptionInfo\n   * @requiredField options.subscriptionInfo.billingSettings\n   * @requiredField options.subscriptionInfo.items\n   * @requiredField options.subscriptionInfo.items.pricingModel\n   * @permissionId subscriptions.view\n   * @adminMethod\n   * @deprecated\n   * @replacedBy com.wixpress.billing.subscriptions.api.v1.SubscriptionsService.PreviewSubscriptionsCharges\n   * @targetRemovalDate 2025-06-30\n   */\n  function previewSubscriptionCharges(options: PreviewSubscriptionChargesOptions): Promise<PreviewSubscriptionChargesResponse>;\n  interface PreviewSubscriptionChargesOptions extends PreviewSubscriptionChargesRequestSubscriptionOneOf {\n      /** Information about a non-existing subscription. */\n      subscriptionInfo?: SubscriptionInfo;\n  }\n  /**\n   * Retrieves the preview of subscription charges for a bulk of subscriptions.\n   * Returns all the charges applicable to all subscriptions, based on the provided subscriptions information.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.subscriptionsBillingDetails.billingSettings\n   * @requiredField options.subscriptionsBillingDetails.externalId\n   * @requiredField options.subscriptionsBillingDetails.items\n   * @requiredField options.subscriptionsBillingDetails.items.pricingModel\n   * @permissionId subscriptions.view\n   * @adminMethod\n   */\n  function previewSubscriptionsCharges(options?: PreviewSubscriptionsChargesOptions): Promise<PreviewSubscriptionsChargesResponse>;\n  interface PreviewSubscriptionsChargesOptions {\n      /** Information required to calculate the preview charges for the subscriptions, including an identifier. */\n      subscriptionsBillingDetails?: SubscriptionBillingDetails[];\n      /**\n       * Specifies the number of upcoming billing charges to preview for all subscriptions in the order.\n       * For instance, if a subscription costs $10 for the first 3 cycles, $12 for cycles 4 through 7,\n       * $15 for cycles 8 through 10, and $20 for cycle 11 onwards:\n       * - Sending \"1\" will calculate and return charges for cycles 4 through 7 since it's the first charge in the future.\n       * - Sending \"2\" will provide a response with charges for cycles 4 through 7 and cycles 8 through 10.\n       * - Sending \"3\" or more will include totals for cycles 4 through 7, cycles 8 through 10, and from cycle 11 onwards.\n       * If no value is provided, the response will include charges for all upcoming cycles, including the existing one,\n       * in this case, charges for cycle 1 through 3.\n       * If there is a single charge for a subscription, meaning that subscription price remains consistent across all cycles,\n       * then even if future_charges_count is set, it will be ignored and the only charge this subscription has will be returned.\n       */\n      numberOfNextRecurringCharges?: number | null;\n  }\n  /**\n   * Creates authorization invoice with Moto settings in order to create\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId subscriptions.manage\n   * @adminMethod\n   */\n  function initiatePaymentMethodSetup(_id: string, options?: InitiatePaymentMethodSetupOptions): Promise<InitiatePaymentMethodSetupResponse>;\n  interface InitiatePaymentMethodSetupOptions {\n      paymentMode?: PaymentMode;\n      paymentSettings?: PaymentSettings;\n  }\n  /**\n   * This used only for automation and permitted tenants (QA & testing)\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.tenantId\n   * @requiredField subscriptionId\n   * @adminMethod\n   */\n  function payCycle(subscriptionId: string, options?: PayCycleOptions): Promise<PayCycleResponse>;\n  interface PayCycleOptions {\n      paymentTestMode?: PaymentTestMode;\n      tenantId: string;\n  }\n  /**\n   * This used only for automation and TestApp subscriptions only\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.taskType\n   * @requiredField subscriptionId\n   * @requiredField tenantId\n   * @permissionId BILLING.SUBSCRIPTION_BACK_OFFICE_UPDATE\n   * @adminMethod\n   */\n  function runTimeCapsuleTaskNow(subscriptionId: string, tenantId: string, options: RunTimeCapsuleTaskNowOptions): Promise<void>;\n  interface RunTimeCapsuleTaskNowOptions {\n      taskType: string;\n  }\n  \n  type billingV1Subscription_universal_d_Subscription = Subscription;\n  type billingV1Subscription_universal_d_BusinessOrigin = BusinessOrigin;\n  type billingV1Subscription_universal_d_Customer = Customer;\n  type billingV1Subscription_universal_d_CustomerIdOneOf = CustomerIdOneOf;\n  type billingV1Subscription_universal_d_SubscriptionStatusEnumSubscriptionStatus = SubscriptionStatusEnumSubscriptionStatus;\n  const billingV1Subscription_universal_d_SubscriptionStatusEnumSubscriptionStatus: typeof SubscriptionStatusEnumSubscriptionStatus;\n  type billingV1Subscription_universal_d_BillingSettings = BillingSettings;\n  type billingV1Subscription_universal_d_PaymentMethod = PaymentMethod;\n  type billingV1Subscription_universal_d_CollectionMethod = CollectionMethod;\n  const billingV1Subscription_universal_d_CollectionMethod: typeof CollectionMethod;\n  type billingV1Subscription_universal_d_Duration = Duration;\n  type billingV1Subscription_universal_d_DurationUnit = DurationUnit;\n  const billingV1Subscription_universal_d_DurationUnit: typeof DurationUnit;\n  type billingV1Subscription_universal_d_CustomBillingSchedule = CustomBillingSchedule;\n  type billingV1Subscription_universal_d_FullAddressDetails = FullAddressDetails;\n  type billingV1Subscription_universal_d_FullAddressContactDetails = FullAddressContactDetails;\n  type billingV1Subscription_universal_d_Address = Address;\n  type billingV1Subscription_universal_d_AddressStreetOneOf = AddressStreetOneOf;\n  type billingV1Subscription_universal_d_StreetAddress = StreetAddress;\n  type billingV1Subscription_universal_d_TaxSettings = TaxSettings;\n  type billingV1Subscription_universal_d_AdditionalFee = AdditionalFee;\n  type billingV1Subscription_universal_d_AdditionalFeeTrigger = AdditionalFeeTrigger;\n  const billingV1Subscription_universal_d_AdditionalFeeTrigger: typeof AdditionalFeeTrigger;\n  type billingV1Subscription_universal_d_Tax = Tax;\n  type billingV1Subscription_universal_d_TaxValueOneOf = TaxValueOneOf;\n  type billingV1Subscription_universal_d_DynamicTax = DynamicTax;\n  type billingV1Subscription_universal_d_TaxableAddressType = TaxableAddressType;\n  const billingV1Subscription_universal_d_TaxableAddressType: typeof TaxableAddressType;\n  type billingV1Subscription_universal_d_ShippingCharges = ShippingCharges;\n  type billingV1Subscription_universal_d_Discount = Discount;\n  type billingV1Subscription_universal_d_DiscountValueOneOf = DiscountValueOneOf;\n  type billingV1Subscription_universal_d_DiscountCycles = DiscountCycles;\n  type billingV1Subscription_universal_d_DiscountOrigin = DiscountOrigin;\n  type billingV1Subscription_universal_d_ExternalCollectionDetails = ExternalCollectionDetails;\n  type billingV1Subscription_universal_d_BillingStatus = BillingStatus;\n  type billingV1Subscription_universal_d_PaymentData = PaymentData;\n  type billingV1Subscription_universal_d_PaymentStatus = PaymentStatus;\n  const billingV1Subscription_universal_d_PaymentStatus: typeof PaymentStatus;\n  type billingV1Subscription_universal_d_Totals = Totals;\n  type billingV1Subscription_universal_d_FreeTrialData = FreeTrialData;\n  type billingV1Subscription_universal_d_UpdateBillingDateData = UpdateBillingDateData;\n  type billingV1Subscription_universal_d_Proration = Proration;\n  type billingV1Subscription_universal_d_ProrationTypeOneOf = ProrationTypeOneOf;\n  type billingV1Subscription_universal_d_TimeBasedProration = TimeBasedProration;\n  type billingV1Subscription_universal_d_CustomProration = CustomProration;\n  type billingV1Subscription_universal_d_CustomProrationAmountOneOf = CustomProrationAmountOneOf;\n  type billingV1Subscription_universal_d_GracePeriodData = GracePeriodData;\n  type billingV1Subscription_universal_d_AutomaticRetryData = AutomaticRetryData;\n  type billingV1Subscription_universal_d_SubscriptionPolicies = SubscriptionPolicies;\n  type billingV1Subscription_universal_d_PauseInfo = PauseInfo;\n  type billingV1Subscription_universal_d_PausePolicy = PausePolicy;\n  const billingV1Subscription_universal_d_PausePolicy: typeof PausePolicy;\n  type billingV1Subscription_universal_d_PauseAt = PauseAt;\n  const billingV1Subscription_universal_d_PauseAt: typeof PauseAt;\n  type billingV1Subscription_universal_d_ResumeAt = ResumeAt;\n  const billingV1Subscription_universal_d_ResumeAt: typeof ResumeAt;\n  type billingV1Subscription_universal_d_CancellationInfo = CancellationInfo;\n  type billingV1Subscription_universal_d_HistoryActionInitiator = HistoryActionInitiator;\n  const billingV1Subscription_universal_d_HistoryActionInitiator: typeof HistoryActionInitiator;\n  type billingV1Subscription_universal_d_SubscriptionUpdateData = SubscriptionUpdateData;\n  type billingV1Subscription_universal_d_ItemChange = ItemChange;\n  type billingV1Subscription_universal_d_PricingModel = PricingModel;\n  type billingV1Subscription_universal_d_PricingModelModelOneOf = PricingModelModelOneOf;\n  type billingV1Subscription_universal_d_FixedPrice = FixedPrice;\n  type billingV1Subscription_universal_d_Item = Item;\n  type billingV1Subscription_universal_d_CatalogReference = CatalogReference;\n  type billingV1Subscription_universal_d_ItemCategory = ItemCategory;\n  const billingV1Subscription_universal_d_ItemCategory: typeof ItemCategory;\n  type billingV1Subscription_universal_d_ApplicationFee = ApplicationFee;\n  type billingV1Subscription_universal_d_ApplicationFeeValueOneOf = ApplicationFeeValueOneOf;\n  type billingV1Subscription_universal_d_SpecificDateSubscriptionUpdateData = SpecificDateSubscriptionUpdateData;\n  type billingV1Subscription_universal_d_ListSubscriptionHistoryRequest = ListSubscriptionHistoryRequest;\n  type billingV1Subscription_universal_d_HistoryViewMode = HistoryViewMode;\n  const billingV1Subscription_universal_d_HistoryViewMode: typeof HistoryViewMode;\n  type billingV1Subscription_universal_d_CursorPaging = CursorPaging;\n  type billingV1Subscription_universal_d_ListSubscriptionHistoryResponse = ListSubscriptionHistoryResponse;\n  type billingV1Subscription_universal_d_SubscriptionHistoryEntry = SubscriptionHistoryEntry;\n  type billingV1Subscription_universal_d_SubscriptionEvent = SubscriptionEvent;\n  type billingV1Subscription_universal_d_SubscriptionEventPayloadOneOf = SubscriptionEventPayloadOneOf;\n  type billingV1Subscription_universal_d_SubscriptionCreated = SubscriptionCreated;\n  type billingV1Subscription_universal_d_SubscriptionUpdated = SubscriptionUpdated;\n  type billingV1Subscription_universal_d_SubscriptionDiff = SubscriptionDiff;\n  type billingV1Subscription_universal_d_SubscriptionDeleted = SubscriptionDeleted;\n  type billingV1Subscription_universal_d_SubscriptionActivated = SubscriptionActivated;\n  type billingV1Subscription_universal_d_SubscriptionEnded = SubscriptionEnded;\n  type billingV1Subscription_universal_d_SubscriptionCanceled = SubscriptionCanceled;\n  type billingV1Subscription_universal_d_ActionDetails = ActionDetails;\n  type billingV1Subscription_universal_d_SubscriptionPaused = SubscriptionPaused;\n  type billingV1Subscription_universal_d_SubscriptionResumed = SubscriptionResumed;\n  type billingV1Subscription_universal_d_PauseSubscriptionRequested = PauseSubscriptionRequested;\n  type billingV1Subscription_universal_d_ResumeSubscriptionRequested = ResumeSubscriptionRequested;\n  type billingV1Subscription_universal_d_ScheduledPauseCanceled = ScheduledPauseCanceled;\n  type billingV1Subscription_universal_d_ScheduledResumeCanceled = ScheduledResumeCanceled;\n  type billingV1Subscription_universal_d_SubscriptionBillingCycleStarted = SubscriptionBillingCycleStarted;\n  type billingV1Subscription_universal_d_SubscriptionAutoRenewalTurnedOn = SubscriptionAutoRenewalTurnedOn;\n  type billingV1Subscription_universal_d_SubscriptionAutoRenewalTurnedOff = SubscriptionAutoRenewalTurnedOff;\n  type billingV1Subscription_universal_d_SubscriptionCycleReadyToPay = SubscriptionCycleReadyToPay;\n  type billingV1Subscription_universal_d_SubscriptionExtended = SubscriptionExtended;\n  type billingV1Subscription_universal_d_SubscriptionExtendedExtendPolicyOneOf = SubscriptionExtendedExtendPolicyOneOf;\n  type billingV1Subscription_universal_d_SubscriptionInitialPurchaseCompleted = SubscriptionInitialPurchaseCompleted;\n  type billingV1Subscription_universal_d_LatestInvoiceMarkedAsPaid = LatestInvoiceMarkedAsPaid;\n  type billingV1Subscription_universal_d_SubscriptionRevived = SubscriptionRevived;\n  type billingV1Subscription_universal_d_SubscriptionBillingDateUpdated = SubscriptionBillingDateUpdated;\n  type billingV1Subscription_universal_d_FutureUpdatesRequested = FutureUpdatesRequested;\n  type billingV1Subscription_universal_d_UpdatesApplied = UpdatesApplied;\n  type billingV1Subscription_universal_d_UpdateAction = UpdateAction;\n  const billingV1Subscription_universal_d_UpdateAction: typeof UpdateAction;\n  type billingV1Subscription_universal_d_ResetPendingUpdates = ResetPendingUpdates;\n  type billingV1Subscription_universal_d_GracePeriodStarted = GracePeriodStarted;\n  type billingV1Subscription_universal_d_GracePeriodEnded = GracePeriodEnded;\n  type billingV1Subscription_universal_d_PaymentSettlementMethod = PaymentSettlementMethod;\n  const billingV1Subscription_universal_d_PaymentSettlementMethod: typeof PaymentSettlementMethod;\n  type billingV1Subscription_universal_d_PaymentMethodUpdated = PaymentMethodUpdated;\n  type billingV1Subscription_universal_d_PaymentMode = PaymentMode;\n  const billingV1Subscription_universal_d_PaymentMode: typeof PaymentMode;\n  type billingV1Subscription_universal_d_SubscriptionCollectionMethodUpdated = SubscriptionCollectionMethodUpdated;\n  type billingV1Subscription_universal_d_FreeTrailStarted = FreeTrailStarted;\n  type billingV1Subscription_universal_d_FreeTrailEnded = FreeTrailEnded;\n  type billingV1Subscription_universal_d_SubscriptionBackOfficeAction = SubscriptionBackOfficeAction;\n  type billingV1Subscription_universal_d_UnknownSubscriptionEvent = UnknownSubscriptionEvent;\n  type billingV1Subscription_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type billingV1Subscription_universal_d_Cursors = Cursors;\n  type billingV1Subscription_universal_d_GetSubscriptionRequest = GetSubscriptionRequest;\n  type billingV1Subscription_universal_d_GetSubscriptionResponse = GetSubscriptionResponse;\n  type billingV1Subscription_universal_d_CustomerCancelSubscriptionRequest = CustomerCancelSubscriptionRequest;\n  type billingV1Subscription_universal_d_CustomerCancelSubscriptionResponse = CustomerCancelSubscriptionResponse;\n  type billingV1Subscription_universal_d_CustomerTurnOnAutoRenewalRequest = CustomerTurnOnAutoRenewalRequest;\n  type billingV1Subscription_universal_d_CustomerTurnOnAutoRenewalResponse = CustomerTurnOnAutoRenewalResponse;\n  type billingV1Subscription_universal_d_CustomerTurnOffAutoRenewalRequest = CustomerTurnOffAutoRenewalRequest;\n  type billingV1Subscription_universal_d_CustomerTurnOffAutoRenewalResponse = CustomerTurnOffAutoRenewalResponse;\n  type billingV1Subscription_universal_d_CustomerExtendSubscriptionRequest = CustomerExtendSubscriptionRequest;\n  type billingV1Subscription_universal_d_CustomerExtendSubscriptionResponse = CustomerExtendSubscriptionResponse;\n  type billingV1Subscription_universal_d_QuerySubscriptionsRequest = QuerySubscriptionsRequest;\n  type billingV1Subscription_universal_d_QueryV2 = QueryV2;\n  type billingV1Subscription_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type billingV1Subscription_universal_d_Sorting = Sorting;\n  type billingV1Subscription_universal_d_SortOrder = SortOrder;\n  const billingV1Subscription_universal_d_SortOrder: typeof SortOrder;\n  type billingV1Subscription_universal_d_Paging = Paging;\n  type billingV1Subscription_universal_d_QuerySubscriptionsResponse = QuerySubscriptionsResponse;\n  type billingV1Subscription_universal_d_CountSubscriptionsRequest = CountSubscriptionsRequest;\n  type billingV1Subscription_universal_d_CountSubscriptionFilter = CountSubscriptionFilter;\n  type billingV1Subscription_universal_d_CountSubscriptionFilterStatusOneOf = CountSubscriptionFilterStatusOneOf;\n  type billingV1Subscription_universal_d_SubscriptionStatus = SubscriptionStatus;\n  type billingV1Subscription_universal_d_SubscriptionStatusGroup = SubscriptionStatusGroup;\n  const billingV1Subscription_universal_d_SubscriptionStatusGroup: typeof SubscriptionStatusGroup;\n  type billingV1Subscription_universal_d_CountSubscriptionsResponse = CountSubscriptionsResponse;\n  type billingV1Subscription_universal_d_CountByStatus = CountByStatus;\n  type billingV1Subscription_universal_d_UpdateSubscriptionPaymentMethodRequest = UpdateSubscriptionPaymentMethodRequest;\n  type billingV1Subscription_universal_d_UpdateSubscriptionPaymentMethodResponse = UpdateSubscriptionPaymentMethodResponse;\n  type billingV1Subscription_universal_d_CustomerAllowedActionsRequest = CustomerAllowedActionsRequest;\n  type billingV1Subscription_universal_d_CustomerAllowedActionsResponse = CustomerAllowedActionsResponse;\n  type billingV1Subscription_universal_d_Action = Action;\n  type billingV1Subscription_universal_d_ActionType = ActionType;\n  const billingV1Subscription_universal_d_ActionType: typeof ActionType;\n  type billingV1Subscription_universal_d_ExtendPolicyType = ExtendPolicyType;\n  const billingV1Subscription_universal_d_ExtendPolicyType: typeof ExtendPolicyType;\n  type billingV1Subscription_universal_d_CustomerListUpcomingChargesRequest = CustomerListUpcomingChargesRequest;\n  type billingV1Subscription_universal_d_CustomerListUpcomingChargesResponse = CustomerListUpcomingChargesResponse;\n  type billingV1Subscription_universal_d_SubscriptionCharge = SubscriptionCharge;\n  type billingV1Subscription_universal_d_InvoiceItem = InvoiceItem;\n  type billingV1Subscription_universal_d_InvoiceItemPaymentTypeOneOf = InvoiceItemPaymentTypeOneOf;\n  type billingV1Subscription_universal_d_Recurring = Recurring;\n  type billingV1Subscription_universal_d_OneTime = OneTime;\n  type billingV1Subscription_universal_d_PriceDetails = PriceDetails;\n  type billingV1Subscription_universal_d_InvoiceDiscount = InvoiceDiscount;\n  type billingV1Subscription_universal_d_InvoiceDiscountValueOneOf = InvoiceDiscountValueOneOf;\n  type billingV1Subscription_universal_d_InvoiceApplicationFee = InvoiceApplicationFee;\n  type billingV1Subscription_universal_d_InvoiceApplicationFeeValueOneOf = InvoiceApplicationFeeValueOneOf;\n  type billingV1Subscription_universal_d_ItemTaxData = ItemTaxData;\n  type billingV1Subscription_universal_d_LineItemTaxSummary = LineItemTaxSummary;\n  type billingV1Subscription_universal_d_TaxBreakdown = TaxBreakdown;\n  type billingV1Subscription_universal_d_InitiatePaymentMethodSetupRequest = InitiatePaymentMethodSetupRequest;\n  type billingV1Subscription_universal_d_PaymentSettings = PaymentSettings;\n  type billingV1Subscription_universal_d_OrderMethod = OrderMethod;\n  const billingV1Subscription_universal_d_OrderMethod: typeof OrderMethod;\n  type billingV1Subscription_universal_d_RedirectUrls = RedirectUrls;\n  type billingV1Subscription_universal_d_PaymentOrigin = PaymentOrigin;\n  type billingV1Subscription_universal_d_InitiatePaymentMethodSetupResponse = InitiatePaymentMethodSetupResponse;\n  type billingV1Subscription_universal_d_DomainEvent = DomainEvent;\n  type billingV1Subscription_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type billingV1Subscription_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type billingV1Subscription_universal_d_RestoreInfo = RestoreInfo;\n  type billingV1Subscription_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type billingV1Subscription_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type billingV1Subscription_universal_d_ActionEvent = ActionEvent;\n  type billingV1Subscription_universal_d_MessageEnvelope = MessageEnvelope;\n  type billingV1Subscription_universal_d_IdentificationData = IdentificationData;\n  type billingV1Subscription_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type billingV1Subscription_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const billingV1Subscription_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type billingV1Subscription_universal_d_SetIsMigratedEvent = SetIsMigratedEvent;\n  type billingV1Subscription_universal_d_SubscriptionDelayedSyncEvent = SubscriptionDelayedSyncEvent;\n  type billingV1Subscription_universal_d_InvoiceAction = InvoiceAction;\n  type billingV1Subscription_universal_d_InvoiceActionActionTypeOneOf = InvoiceActionActionTypeOneOf;\n  type billingV1Subscription_universal_d_PayRecurringInvoice = PayRecurringInvoice;\n  type billingV1Subscription_universal_d_CreateSubscriptionRequest = CreateSubscriptionRequest;\n  type billingV1Subscription_universal_d_OriginOverride = OriginOverride;\n  type billingV1Subscription_universal_d_CreateSubscriptionResponse = CreateSubscriptionResponse;\n  type billingV1Subscription_universal_d_UpdateSubscriptionRequest = UpdateSubscriptionRequest;\n  type billingV1Subscription_universal_d_UpdateSubscriptionResponse = UpdateSubscriptionResponse;\n  type billingV1Subscription_universal_d_UpdateSubscriptionStartDateRequest = UpdateSubscriptionStartDateRequest;\n  type billingV1Subscription_universal_d_UpdateSubscriptionStartDateResponse = UpdateSubscriptionStartDateResponse;\n  type billingV1Subscription_universal_d_UpdateSubscriptionPoliciesRequest = UpdateSubscriptionPoliciesRequest;\n  type billingV1Subscription_universal_d_UpdateSubscriptionPoliciesResponse = UpdateSubscriptionPoliciesResponse;\n  type billingV1Subscription_universal_d_UpdateSubscriptionBillingDateRequest = UpdateSubscriptionBillingDateRequest;\n  type billingV1Subscription_universal_d_UpdateSubscriptionBillingDateResponse = UpdateSubscriptionBillingDateResponse;\n  type billingV1Subscription_universal_d_UpdateSubscriptionOriginRequest = UpdateSubscriptionOriginRequest;\n  type billingV1Subscription_universal_d_UpdateSubscriptionOriginResponse = UpdateSubscriptionOriginResponse;\n  type billingV1Subscription_universal_d_ReviseSubscriptionRequest = ReviseSubscriptionRequest;\n  type billingV1Subscription_universal_d_ReviseSubscriptionResponse = ReviseSubscriptionResponse;\n  type billingV1Subscription_universal_d_UpdateSubscriptionItemsRequest = UpdateSubscriptionItemsRequest;\n  type billingV1Subscription_universal_d_ScheduleAdditionalInfo = ScheduleAdditionalInfo;\n  type billingV1Subscription_universal_d_ScheduleAdditionalInfoParamOneOf = ScheduleAdditionalInfoParamOneOf;\n  type billingV1Subscription_universal_d_UpdateSubscriptionItemsResponse = UpdateSubscriptionItemsResponse;\n  type billingV1Subscription_universal_d_BulkUpdateSubscriptionItemsByFilterRequest = BulkUpdateSubscriptionItemsByFilterRequest;\n  type billingV1Subscription_universal_d_BulkItemChange = BulkItemChange;\n  type billingV1Subscription_universal_d_BulkUpdateSubscriptionItemsByFilterResponse = BulkUpdateSubscriptionItemsByFilterResponse;\n  type billingV1Subscription_universal_d_DeleteSubscriptionRequest = DeleteSubscriptionRequest;\n  type billingV1Subscription_universal_d_DeleteSubscriptionResponse = DeleteSubscriptionResponse;\n  type billingV1Subscription_universal_d_CancelSubscriptionRequest = CancelSubscriptionRequest;\n  type billingV1Subscription_universal_d_ActionContext = ActionContext;\n  type billingV1Subscription_universal_d_ActionInitiator = ActionInitiator;\n  const billingV1Subscription_universal_d_ActionInitiator: typeof ActionInitiator;\n  type billingV1Subscription_universal_d_CancelSubscriptionResponse = CancelSubscriptionResponse;\n  type billingV1Subscription_universal_d_PauseSubscriptionRequest = PauseSubscriptionRequest;\n  type billingV1Subscription_universal_d_PauseSubscriptionResponse = PauseSubscriptionResponse;\n  type billingV1Subscription_universal_d_ResumeSubscriptionRequest = ResumeSubscriptionRequest;\n  type billingV1Subscription_universal_d_ResumeSubscriptionResponse = ResumeSubscriptionResponse;\n  type billingV1Subscription_universal_d_SearchSubscriptionsRequest = SearchSubscriptionsRequest;\n  type billingV1Subscription_universal_d_SearchSubscriptionsRequestPagingMethodOneOf = SearchSubscriptionsRequestPagingMethodOneOf;\n  type billingV1Subscription_universal_d_SortingClauses = SortingClauses;\n  type billingV1Subscription_universal_d_SearchSubscriptionsResponse = SearchSubscriptionsResponse;\n  type billingV1Subscription_universal_d_TurnOnSubscriptionAutoRenewalRequest = TurnOnSubscriptionAutoRenewalRequest;\n  type billingV1Subscription_universal_d_TurnOnSubscriptionAutoRenewalResponse = TurnOnSubscriptionAutoRenewalResponse;\n  type billingV1Subscription_universal_d_TurnOffSubscriptionAutoRenewalRequest = TurnOffSubscriptionAutoRenewalRequest;\n  type billingV1Subscription_universal_d_TurnOffSubscriptionAutoRenewalResponse = TurnOffSubscriptionAutoRenewalResponse;\n  type billingV1Subscription_universal_d_MarkLatestInvoiceAsPaidRequest = MarkLatestInvoiceAsPaidRequest;\n  type billingV1Subscription_universal_d_MarkLatestInvoiceAsPaidResponse = MarkLatestInvoiceAsPaidResponse;\n  type billingV1Subscription_universal_d_GetSubscriptionsStatsRequest = GetSubscriptionsStatsRequest;\n  type billingV1Subscription_universal_d_GetSubscriptionsStatsResponse = GetSubscriptionsStatsResponse;\n  type billingV1Subscription_universal_d_AmountByStatus = AmountByStatus;\n  type billingV1Subscription_universal_d_ExtendSubscriptionRequest = ExtendSubscriptionRequest;\n  type billingV1Subscription_universal_d_ExtendSubscriptionRequestExtendPolicyOneOf = ExtendSubscriptionRequestExtendPolicyOneOf;\n  type billingV1Subscription_universal_d_ExtendSubscriptionResponse = ExtendSubscriptionResponse;\n  type billingV1Subscription_universal_d_AllowedActionsRequest = AllowedActionsRequest;\n  type billingV1Subscription_universal_d_RequestedFields = RequestedFields;\n  const billingV1Subscription_universal_d_RequestedFields: typeof RequestedFields;\n  type billingV1Subscription_universal_d_AllowedActionsResponse = AllowedActionsResponse;\n  type billingV1Subscription_universal_d_UnsupportedAction = UnsupportedAction;\n  type billingV1Subscription_universal_d_UnsupportedReason = UnsupportedReason;\n  type billingV1Subscription_universal_d_ListUpcomingChargesRequest = ListUpcomingChargesRequest;\n  type billingV1Subscription_universal_d_ListUpcomingChargesResponse = ListUpcomingChargesResponse;\n  type billingV1Subscription_universal_d_PreviewSubscriptionChargesRequest = PreviewSubscriptionChargesRequest;\n  type billingV1Subscription_universal_d_PreviewSubscriptionChargesRequestSubscriptionOneOf = PreviewSubscriptionChargesRequestSubscriptionOneOf;\n  type billingV1Subscription_universal_d_SubscriptionInfo = SubscriptionInfo;\n  type billingV1Subscription_universal_d_PreviewSubscriptionChargesResponse = PreviewSubscriptionChargesResponse;\n  type billingV1Subscription_universal_d_Charge = Charge;\n  type billingV1Subscription_universal_d_PreviewSubscriptionsChargesRequest = PreviewSubscriptionsChargesRequest;\n  type billingV1Subscription_universal_d_SubscriptionBillingDetails = SubscriptionBillingDetails;\n  type billingV1Subscription_universal_d_PreviewSubscriptionsChargesResponse = PreviewSubscriptionsChargesResponse;\n  type billingV1Subscription_universal_d_SubscriptionCharges = SubscriptionCharges;\n  type billingV1Subscription_universal_d_CreateSubscriptionForOrderRequest = CreateSubscriptionForOrderRequest;\n  type billingV1Subscription_universal_d_CreateSubscriptionForOrderResponse = CreateSubscriptionForOrderResponse;\n  type billingV1Subscription_universal_d_Invoice = Invoice;\n  type billingV1Subscription_universal_d_BusinessOriginData = BusinessOriginData;\n  type billingV1Subscription_universal_d_InvoiceStatus = InvoiceStatus;\n  const billingV1Subscription_universal_d_InvoiceStatus: typeof InvoiceStatus;\n  type billingV1Subscription_universal_d_CollectionMethodEnumCollectionMethod = CollectionMethodEnumCollectionMethod;\n  const billingV1Subscription_universal_d_CollectionMethodEnumCollectionMethod: typeof CollectionMethodEnumCollectionMethod;\n  type billingV1Subscription_universal_d_CreationMode = CreationMode;\n  const billingV1Subscription_universal_d_CreationMode: typeof CreationMode;\n  type billingV1Subscription_universal_d_LatestPaymentAttempt = LatestPaymentAttempt;\n  type billingV1Subscription_universal_d_PaymentAttemptStatus = PaymentAttemptStatus;\n  const billingV1Subscription_universal_d_PaymentAttemptStatus: typeof PaymentAttemptStatus;\n  type billingV1Subscription_universal_d_PriceAdjustment = PriceAdjustment;\n  type billingV1Subscription_universal_d_PriceAdjustmentAdjustmentTypeOneOf = PriceAdjustmentAdjustmentTypeOneOf;\n  type billingV1Subscription_universal_d_PriceAdjustmentValue = PriceAdjustmentValue;\n  type billingV1Subscription_universal_d_PriceAdjustmentValueAdjustmentValueTypeOneOf = PriceAdjustmentValueAdjustmentValueTypeOneOf;\n  type billingV1Subscription_universal_d_InvoiceShippingCharges = InvoiceShippingCharges;\n  type billingV1Subscription_universal_d_TaxData = TaxData;\n  type billingV1Subscription_universal_d_TaxSummary = TaxSummary;\n  type billingV1Subscription_universal_d_AggregatedTaxBreakdown = AggregatedTaxBreakdown;\n  type billingV1Subscription_universal_d_Task = Task;\n  type billingV1Subscription_universal_d_TaskKey = TaskKey;\n  type billingV1Subscription_universal_d_TaskAction = TaskAction;\n  type billingV1Subscription_universal_d_TaskActionActionOneOf = TaskActionActionOneOf;\n  type billingV1Subscription_universal_d_Complete = Complete;\n  type billingV1Subscription_universal_d_Cancel = Cancel;\n  type billingV1Subscription_universal_d_Reschedule = Reschedule;\n  type billingV1Subscription_universal_d_Empty = Empty;\n  type billingV1Subscription_universal_d_V1SubscriptionEvent = V1SubscriptionEvent;\n  type billingV1Subscription_universal_d_V1SubscriptionEventEventOneOf = V1SubscriptionEventEventOneOf;\n  type billingV1Subscription_universal_d_V1SubscriptionCreated = V1SubscriptionCreated;\n  type billingV1Subscription_universal_d_V1Subscription = V1Subscription;\n  type billingV1Subscription_universal_d_Subscriber = Subscriber;\n  type billingV1Subscription_universal_d_IdentityType = IdentityType;\n  const billingV1Subscription_universal_d_IdentityType: typeof IdentityType;\n  type billingV1Subscription_universal_d_Money = Money;\n  type billingV1Subscription_universal_d_SubscriptionType = SubscriptionType;\n  const billingV1Subscription_universal_d_SubscriptionType: typeof SubscriptionType;\n  type billingV1Subscription_universal_d_V1SubscriptionStatusEnumSubscriptionStatus = V1SubscriptionStatusEnumSubscriptionStatus;\n  const billingV1Subscription_universal_d_V1SubscriptionStatusEnumSubscriptionStatus: typeof V1SubscriptionStatusEnumSubscriptionStatus;\n  type billingV1Subscription_universal_d_PaymentStatusEnumPaymentStatus = PaymentStatusEnumPaymentStatus;\n  const billingV1Subscription_universal_d_PaymentStatusEnumPaymentStatus: typeof PaymentStatusEnumPaymentStatus;\n  type billingV1Subscription_universal_d_V2Subscription = V2Subscription;\n  type billingV1Subscription_universal_d_SubscriptionFrequency = SubscriptionFrequency;\n  const billingV1Subscription_universal_d_SubscriptionFrequency: typeof SubscriptionFrequency;\n  type billingV1Subscription_universal_d_SubscriptionTrialPeriod = SubscriptionTrialPeriod;\n  type billingV1Subscription_universal_d_CancellationInitiator = CancellationInitiator;\n  const billingV1Subscription_universal_d_CancellationInitiator: typeof CancellationInitiator;\n  type billingV1Subscription_universal_d_SubscriptionPolicy = SubscriptionPolicy;\n  type billingV1Subscription_universal_d_Suspension = Suspension;\n  type billingV1Subscription_universal_d_Status = Status;\n  const billingV1Subscription_universal_d_Status: typeof Status;\n  type billingV1Subscription_universal_d_V1Duration = V1Duration;\n  type billingV1Subscription_universal_d_V1SubscriptionActivated = V1SubscriptionActivated;\n  type billingV1Subscription_universal_d_V1SubscriptionCanceled = V1SubscriptionCanceled;\n  type billingV1Subscription_universal_d_V1SubscriptionUpdated = V1SubscriptionUpdated;\n  type billingV1Subscription_universal_d_SubscriptionCycleTriggered = SubscriptionCycleTriggered;\n  type billingV1Subscription_universal_d_SubscriptionMarkedAsPaid = SubscriptionMarkedAsPaid;\n  type billingV1Subscription_universal_d_SubscriptionCancellationRequested = SubscriptionCancellationRequested;\n  type billingV1Subscription_universal_d_SubscriptionSuspended = SubscriptionSuspended;\n  type billingV1Subscription_universal_d_V1SubscriptionResumed = V1SubscriptionResumed;\n  type billingV1Subscription_universal_d_SubscriptionExpired = SubscriptionExpired;\n  type billingV1Subscription_universal_d_V1SubscriptionInitialPurchaseCompleted = V1SubscriptionInitialPurchaseCompleted;\n  type billingV1Subscription_universal_d_CreateSubscriptionInStateRequest = CreateSubscriptionInStateRequest;\n  type billingV1Subscription_universal_d_CreateSubscriptionInStateRequestModeOneOf = CreateSubscriptionInStateRequestModeOneOf;\n  type billingV1Subscription_universal_d_CreateSubscriptionInStateResponse = CreateSubscriptionInStateResponse;\n  type billingV1Subscription_universal_d_PayCycleRequest = PayCycleRequest;\n  type billingV1Subscription_universal_d_PaymentTestMode = PaymentTestMode;\n  const billingV1Subscription_universal_d_PaymentTestMode: typeof PaymentTestMode;\n  type billingV1Subscription_universal_d_PayCycleResponse = PayCycleResponse;\n  type billingV1Subscription_universal_d_GetFullSubscriptionDataRequest = GetFullSubscriptionDataRequest;\n  type billingV1Subscription_universal_d_GetFullSubscriptionDataResponse = GetFullSubscriptionDataResponse;\n  type billingV1Subscription_universal_d_InternalSubscriptionData = InternalSubscriptionData;\n  type billingV1Subscription_universal_d_MigrationDetails = MigrationDetails;\n  type billingV1Subscription_universal_d_PausePeriod = PausePeriod;\n  type billingV1Subscription_universal_d_GetSubscriptionAndInternalDataRequest = GetSubscriptionAndInternalDataRequest;\n  type billingV1Subscription_universal_d_GetSubscriptionAndInternalDataResponse = GetSubscriptionAndInternalDataResponse;\n  type billingV1Subscription_universal_d_SearchSubscriptionRequest = SearchSubscriptionRequest;\n  type billingV1Subscription_universal_d_SearchSubscriptionResponse = SearchSubscriptionResponse;\n  type billingV1Subscription_universal_d_UpdatePausePaidDurationRequest = UpdatePausePaidDurationRequest;\n  type billingV1Subscription_universal_d_UpdatePausePaidDurationResponse = UpdatePausePaidDurationResponse;\n  type billingV1Subscription_universal_d_UpdateStatusRequest = UpdateStatusRequest;\n  type billingV1Subscription_universal_d_UpdateStatusResponse = UpdateStatusResponse;\n  type billingV1Subscription_universal_d_UpdatePaymentStatusRequest = UpdatePaymentStatusRequest;\n  type billingV1Subscription_universal_d_UpdatePaymentStatusResponse = UpdatePaymentStatusResponse;\n  type billingV1Subscription_universal_d_ReviveSubscriptionRequest = ReviveSubscriptionRequest;\n  type billingV1Subscription_universal_d_RevivePolicy = RevivePolicy;\n  const billingV1Subscription_universal_d_RevivePolicy: typeof RevivePolicy;\n  type billingV1Subscription_universal_d_ReviveSubscriptionResponse = ReviveSubscriptionResponse;\n  type billingV1Subscription_universal_d_ConvertSapiRequest = ConvertSapiRequest;\n  type billingV1Subscription_universal_d_ConvertSapiResponse = ConvertSapiResponse;\n  type billingV1Subscription_universal_d_GetSubscriptionInvoicesRequest = GetSubscriptionInvoicesRequest;\n  type billingV1Subscription_universal_d_GetSubscriptionInvoicesResponse = GetSubscriptionInvoicesResponse;\n  type billingV1Subscription_universal_d_SubscriptionInvoice = SubscriptionInvoice;\n  type billingV1Subscription_universal_d_FinishFreeTrialNowRequest = FinishFreeTrialNowRequest;\n  type billingV1Subscription_universal_d_FinishFreeTrialNowResponse = FinishFreeTrialNowResponse;\n  type billingV1Subscription_universal_d_SendTimeCapsuleTaskCanceledBIRequest = SendTimeCapsuleTaskCanceledBIRequest;\n  type billingV1Subscription_universal_d_ScheduleTimeCapsuleTaskRequest = ScheduleTimeCapsuleTaskRequest;\n  type billingV1Subscription_universal_d_CancelTimeCapsuleTaskRequest = CancelTimeCapsuleTaskRequest;\n  type billingV1Subscription_universal_d_UpdateFullSubscriptionRequest = UpdateFullSubscriptionRequest;\n  type billingV1Subscription_universal_d_UpdateFullSubscriptionResponse = UpdateFullSubscriptionResponse;\n  type billingV1Subscription_universal_d_UpdateSubscriptionInvoiceCycleRequest = UpdateSubscriptionInvoiceCycleRequest;\n  type billingV1Subscription_universal_d_UpdateSubscriptionInvoiceCycleResponse = UpdateSubscriptionInvoiceCycleResponse;\n  type billingV1Subscription_universal_d_AddPausePeriodRequest = AddPausePeriodRequest;\n  type billingV1Subscription_universal_d_AddPausePeriodResponse = AddPausePeriodResponse;\n  type billingV1Subscription_universal_d_RunTimeCapsuleTaskNowRequest = RunTimeCapsuleTaskNowRequest;\n  type billingV1Subscription_universal_d_CreateRecurringInvoiceBORequest = CreateRecurringInvoiceBORequest;\n  type billingV1Subscription_universal_d_CreateRecurringInvoiceBOResponse = CreateRecurringInvoiceBOResponse;\n  type billingV1Subscription_universal_d_SetShiftingDataRequest = SetShiftingDataRequest;\n  type billingV1Subscription_universal_d_SetShiftingDataResponse = SetShiftingDataResponse;\n  type billingV1Subscription_universal_d_FixSubscriptionInvoicesRequest = FixSubscriptionInvoicesRequest;\n  type billingV1Subscription_universal_d_FixSubscriptionInvoicesRequestModeOneOf = FixSubscriptionInvoicesRequestModeOneOf;\n  type billingV1Subscription_universal_d_AttachInvoice = AttachInvoice;\n  type billingV1Subscription_universal_d_DetachInvoice = DetachInvoice;\n  type billingV1Subscription_universal_d_FixSubscriptionInvoicesResponse = FixSubscriptionInvoicesResponse;\n  type billingV1Subscription_universal_d_RestoreDraftSubscriptionRequest = RestoreDraftSubscriptionRequest;\n  type billingV1Subscription_universal_d_RestoreDraftSubscriptionResponse = RestoreDraftSubscriptionResponse;\n  type billingV1Subscription_universal_d_DeleteDraftSubscriptionRequest = DeleteDraftSubscriptionRequest;\n  type billingV1Subscription_universal_d_DeleteDraftSubscriptionResponse = DeleteDraftSubscriptionResponse;\n  type billingV1Subscription_universal_d_DeleteSubscriptionBORequest = DeleteSubscriptionBORequest;\n  type billingV1Subscription_universal_d_DeleteSubscriptionBOResponse = DeleteSubscriptionBOResponse;\n  type billingV1Subscription_universal_d_CancelSubscriptionBORequest = CancelSubscriptionBORequest;\n  type billingV1Subscription_universal_d_CancelSubscriptionBOResponse = CancelSubscriptionBOResponse;\n  type billingV1Subscription_universal_d_UpdatePaymentMethodBORequest = UpdatePaymentMethodBORequest;\n  type billingV1Subscription_universal_d_UpdatePaymentMethodBOResponse = UpdatePaymentMethodBOResponse;\n  type billingV1Subscription_universal_d_SendSubscriptionActionEventBORequest = SendSubscriptionActionEventBORequest;\n  type billingV1Subscription_universal_d_SendSubscriptionActionEventBORequestEventOneOf = SendSubscriptionActionEventBORequestEventOneOf;\n  type billingV1Subscription_universal_d_SendSubscriptionActionEventResponse = SendSubscriptionActionEventResponse;\n  type billingV1Subscription_universal_d_HandleSubscriptionAfterInvoiceMarkedAsPaidRequest = HandleSubscriptionAfterInvoiceMarkedAsPaidRequest;\n  const billingV1Subscription_universal_d_listSubscriptionHistory: typeof listSubscriptionHistory;\n  type billingV1Subscription_universal_d_ListSubscriptionHistoryOptions = ListSubscriptionHistoryOptions;\n  const billingV1Subscription_universal_d_customerGetSubscription: typeof customerGetSubscription;\n  const billingV1Subscription_universal_d_customerCancelSubscription: typeof customerCancelSubscription;\n  type billingV1Subscription_universal_d_CustomerCancelSubscriptionOptions = CustomerCancelSubscriptionOptions;\n  const billingV1Subscription_universal_d_customerTurnOnSubscriptionAutoRenewal: typeof customerTurnOnSubscriptionAutoRenewal;\n  type billingV1Subscription_universal_d_CustomerTurnOnSubscriptionAutoRenewalOptions = CustomerTurnOnSubscriptionAutoRenewalOptions;\n  const billingV1Subscription_universal_d_customerTurnOffSubscriptionAutoRenewal: typeof customerTurnOffSubscriptionAutoRenewal;\n  type billingV1Subscription_universal_d_CustomerTurnOffSubscriptionAutoRenewalOptions = CustomerTurnOffSubscriptionAutoRenewalOptions;\n  const billingV1Subscription_universal_d_customerExtendSubscription: typeof customerExtendSubscription;\n  type billingV1Subscription_universal_d_CustomerExtendSubscriptionOptions = CustomerExtendSubscriptionOptions;\n  const billingV1Subscription_universal_d_customerQuerySubscriptions: typeof customerQuerySubscriptions;\n  type billingV1Subscription_universal_d_CustomerQuerySubscriptionsOptions = CustomerQuerySubscriptionsOptions;\n  const billingV1Subscription_universal_d_customerCountSubscriptions: typeof customerCountSubscriptions;\n  type billingV1Subscription_universal_d_CustomerCountSubscriptionsOptions = CustomerCountSubscriptionsOptions;\n  const billingV1Subscription_universal_d_customerUpdateSubscriptionPaymentMethod: typeof customerUpdateSubscriptionPaymentMethod;\n  const billingV1Subscription_universal_d_customerAllowedActions: typeof customerAllowedActions;\n  const billingV1Subscription_universal_d_customerListUpcomingCharges: typeof customerListUpcomingCharges;\n  const billingV1Subscription_universal_d_customerInitiatePaymentMethodSetup: typeof customerInitiatePaymentMethodSetup;\n  type billingV1Subscription_universal_d_CustomerInitiatePaymentMethodSetupOptions = CustomerInitiatePaymentMethodSetupOptions;\n  const billingV1Subscription_universal_d_createSubscription: typeof createSubscription;\n  type billingV1Subscription_universal_d_CreateSubscriptionOptions = CreateSubscriptionOptions;\n  const billingV1Subscription_universal_d_getSubscription: typeof getSubscription;\n  const billingV1Subscription_universal_d_updateSubscription: typeof updateSubscription;\n  type billingV1Subscription_universal_d_UpdateSubscriptionOptions = UpdateSubscriptionOptions;\n  const billingV1Subscription_universal_d_updateSubscriptionStartDate: typeof updateSubscriptionStartDate;\n  const billingV1Subscription_universal_d_updateSubscriptionPaymentMethod: typeof updateSubscriptionPaymentMethod;\n  const billingV1Subscription_universal_d_updateSubscriptionPolicies: typeof updateSubscriptionPolicies;\n  type billingV1Subscription_universal_d_UpdateSubscriptionPoliciesOptions = UpdateSubscriptionPoliciesOptions;\n  const billingV1Subscription_universal_d_updateSubscriptionBillingDate: typeof updateSubscriptionBillingDate;\n  type billingV1Subscription_universal_d_UpdateSubscriptionBillingDateOptions = UpdateSubscriptionBillingDateOptions;\n  const billingV1Subscription_universal_d_updateSubscriptionOrigin: typeof updateSubscriptionOrigin;\n  const billingV1Subscription_universal_d_reviseSubscription: typeof reviseSubscription;\n  type billingV1Subscription_universal_d_ReviseSubscriptionOptions = ReviseSubscriptionOptions;\n  const billingV1Subscription_universal_d_updateSubscriptionItems: typeof updateSubscriptionItems;\n  type billingV1Subscription_universal_d_UpdateSubscriptionItemsOptions = UpdateSubscriptionItemsOptions;\n  const billingV1Subscription_universal_d_bulkUpdateSubscriptionItemsByFilter: typeof bulkUpdateSubscriptionItemsByFilter;\n  type billingV1Subscription_universal_d_BulkUpdateSubscriptionItemsByFilterOptions = BulkUpdateSubscriptionItemsByFilterOptions;\n  const billingV1Subscription_universal_d_deleteSubscription: typeof deleteSubscription;\n  type billingV1Subscription_universal_d_DeleteSubscriptionOptions = DeleteSubscriptionOptions;\n  const billingV1Subscription_universal_d_cancelSubscription: typeof cancelSubscription;\n  const billingV1Subscription_universal_d_pauseSubscription: typeof pauseSubscription;\n  type billingV1Subscription_universal_d_PauseSubscriptionOptions = PauseSubscriptionOptions;\n  const billingV1Subscription_universal_d_resumeSubscription: typeof resumeSubscription;\n  type billingV1Subscription_universal_d_ResumeSubscriptionOptions = ResumeSubscriptionOptions;\n  const billingV1Subscription_universal_d_querySubscriptions: typeof querySubscriptions;\n  const billingV1Subscription_universal_d_searchSubscriptions: typeof searchSubscriptions;\n  type billingV1Subscription_universal_d_SearchSubscriptionsOptions = SearchSubscriptionsOptions;\n  const billingV1Subscription_universal_d_countSubscriptions: typeof countSubscriptions;\n  type billingV1Subscription_universal_d_CountSubscriptionsOptions = CountSubscriptionsOptions;\n  const billingV1Subscription_universal_d_turnOnSubscriptionAutoRenewal: typeof turnOnSubscriptionAutoRenewal;\n  const billingV1Subscription_universal_d_turnOffSubscriptionAutoRenewal: typeof turnOffSubscriptionAutoRenewal;\n  const billingV1Subscription_universal_d_markLatestInvoiceAsPaid: typeof markLatestInvoiceAsPaid;\n  const billingV1Subscription_universal_d_getSubscriptionsStats: typeof getSubscriptionsStats;\n  const billingV1Subscription_universal_d_extendSubscription: typeof extendSubscription;\n  type billingV1Subscription_universal_d_ExtendSubscriptionOptions = ExtendSubscriptionOptions;\n  const billingV1Subscription_universal_d_allowedActions: typeof allowedActions;\n  type billingV1Subscription_universal_d_AllowedActionsOptions = AllowedActionsOptions;\n  const billingV1Subscription_universal_d_listUpcomingCharges: typeof listUpcomingCharges;\n  type billingV1Subscription_universal_d_ListUpcomingChargesOptions = ListUpcomingChargesOptions;\n  const billingV1Subscription_universal_d_previewSubscriptionCharges: typeof previewSubscriptionCharges;\n  type billingV1Subscription_universal_d_PreviewSubscriptionChargesOptions = PreviewSubscriptionChargesOptions;\n  const billingV1Subscription_universal_d_previewSubscriptionsCharges: typeof previewSubscriptionsCharges;\n  type billingV1Subscription_universal_d_PreviewSubscriptionsChargesOptions = PreviewSubscriptionsChargesOptions;\n  const billingV1Subscription_universal_d_initiatePaymentMethodSetup: typeof initiatePaymentMethodSetup;\n  type billingV1Subscription_universal_d_InitiatePaymentMethodSetupOptions = InitiatePaymentMethodSetupOptions;\n  const billingV1Subscription_universal_d_payCycle: typeof payCycle;\n  type billingV1Subscription_universal_d_PayCycleOptions = PayCycleOptions;\n  const billingV1Subscription_universal_d_runTimeCapsuleTaskNow: typeof runTimeCapsuleTaskNow;\n  type billingV1Subscription_universal_d_RunTimeCapsuleTaskNowOptions = RunTimeCapsuleTaskNowOptions;\n  namespace billingV1Subscription_universal_d {\n    export {\n      billingV1Subscription_universal_d_Subscription as Subscription,\n      billingV1Subscription_universal_d_BusinessOrigin as BusinessOrigin,\n      billingV1Subscription_universal_d_Customer as Customer,\n      billingV1Subscription_universal_d_CustomerIdOneOf as CustomerIdOneOf,\n      billingV1Subscription_universal_d_SubscriptionStatusEnumSubscriptionStatus as SubscriptionStatusEnumSubscriptionStatus,\n      billingV1Subscription_universal_d_BillingSettings as BillingSettings,\n      billingV1Subscription_universal_d_PaymentMethod as PaymentMethod,\n      billingV1Subscription_universal_d_CollectionMethod as CollectionMethod,\n      billingV1Subscription_universal_d_Duration as Duration,\n      billingV1Subscription_universal_d_DurationUnit as DurationUnit,\n      billingV1Subscription_universal_d_CustomBillingSchedule as CustomBillingSchedule,\n      billingV1Subscription_universal_d_FullAddressDetails as FullAddressDetails,\n      billingV1Subscription_universal_d_FullAddressContactDetails as FullAddressContactDetails,\n      billingV1Subscription_universal_d_Address as Address,\n      billingV1Subscription_universal_d_AddressStreetOneOf as AddressStreetOneOf,\n      billingV1Subscription_universal_d_StreetAddress as StreetAddress,\n      billingV1Subscription_universal_d_TaxSettings as TaxSettings,\n      billingV1Subscription_universal_d_AdditionalFee as AdditionalFee,\n      billingV1Subscription_universal_d_AdditionalFeeTrigger as AdditionalFeeTrigger,\n      billingV1Subscription_universal_d_Tax as Tax,\n      billingV1Subscription_universal_d_TaxValueOneOf as TaxValueOneOf,\n      billingV1Subscription_universal_d_DynamicTax as DynamicTax,\n      billingV1Subscription_universal_d_TaxableAddressType as TaxableAddressType,\n      billingV1Subscription_universal_d_ShippingCharges as ShippingCharges,\n      billingV1Subscription_universal_d_Discount as Discount,\n      billingV1Subscription_universal_d_DiscountValueOneOf as DiscountValueOneOf,\n      billingV1Subscription_universal_d_DiscountCycles as DiscountCycles,\n      billingV1Subscription_universal_d_DiscountOrigin as DiscountOrigin,\n      billingV1Subscription_universal_d_ExternalCollectionDetails as ExternalCollectionDetails,\n      billingV1Subscription_universal_d_BillingStatus as BillingStatus,\n      billingV1Subscription_universal_d_PaymentData as PaymentData,\n      billingV1Subscription_universal_d_PaymentStatus as PaymentStatus,\n      billingV1Subscription_universal_d_Totals as Totals,\n      billingV1Subscription_universal_d_FreeTrialData as FreeTrialData,\n      billingV1Subscription_universal_d_UpdateBillingDateData as UpdateBillingDateData,\n      billingV1Subscription_universal_d_Proration as Proration,\n      billingV1Subscription_universal_d_ProrationTypeOneOf as ProrationTypeOneOf,\n      billingV1Subscription_universal_d_TimeBasedProration as TimeBasedProration,\n      billingV1Subscription_universal_d_CustomProration as CustomProration,\n      billingV1Subscription_universal_d_CustomProrationAmountOneOf as CustomProrationAmountOneOf,\n      billingV1Subscription_universal_d_GracePeriodData as GracePeriodData,\n      billingV1Subscription_universal_d_AutomaticRetryData as AutomaticRetryData,\n      billingV1Subscription_universal_d_SubscriptionPolicies as SubscriptionPolicies,\n      billingV1Subscription_universal_d_PauseInfo as PauseInfo,\n      billingV1Subscription_universal_d_PausePolicy as PausePolicy,\n      billingV1Subscription_universal_d_PauseAt as PauseAt,\n      billingV1Subscription_universal_d_ResumeAt as ResumeAt,\n      billingV1Subscription_universal_d_CancellationInfo as CancellationInfo,\n      billingV1Subscription_universal_d_HistoryActionInitiator as HistoryActionInitiator,\n      billingV1Subscription_universal_d_SubscriptionUpdateData as SubscriptionUpdateData,\n      billingV1Subscription_universal_d_ItemChange as ItemChange,\n      billingV1Subscription_universal_d_PricingModel as PricingModel,\n      billingV1Subscription_universal_d_PricingModelModelOneOf as PricingModelModelOneOf,\n      billingV1Subscription_universal_d_FixedPrice as FixedPrice,\n      billingV1Subscription_universal_d_Item as Item,\n      billingV1Subscription_universal_d_CatalogReference as CatalogReference,\n      billingV1Subscription_universal_d_ItemCategory as ItemCategory,\n      billingV1Subscription_universal_d_ApplicationFee as ApplicationFee,\n      billingV1Subscription_universal_d_ApplicationFeeValueOneOf as ApplicationFeeValueOneOf,\n      billingV1Subscription_universal_d_SpecificDateSubscriptionUpdateData as SpecificDateSubscriptionUpdateData,\n      billingV1Subscription_universal_d_ListSubscriptionHistoryRequest as ListSubscriptionHistoryRequest,\n      billingV1Subscription_universal_d_HistoryViewMode as HistoryViewMode,\n      billingV1Subscription_universal_d_CursorPaging as CursorPaging,\n      billingV1Subscription_universal_d_ListSubscriptionHistoryResponse as ListSubscriptionHistoryResponse,\n      billingV1Subscription_universal_d_SubscriptionHistoryEntry as SubscriptionHistoryEntry,\n      billingV1Subscription_universal_d_SubscriptionEvent as SubscriptionEvent,\n      billingV1Subscription_universal_d_SubscriptionEventPayloadOneOf as SubscriptionEventPayloadOneOf,\n      billingV1Subscription_universal_d_SubscriptionCreated as SubscriptionCreated,\n      billingV1Subscription_universal_d_SubscriptionUpdated as SubscriptionUpdated,\n      billingV1Subscription_universal_d_SubscriptionDiff as SubscriptionDiff,\n      billingV1Subscription_universal_d_SubscriptionDeleted as SubscriptionDeleted,\n      billingV1Subscription_universal_d_SubscriptionActivated as SubscriptionActivated,\n      billingV1Subscription_universal_d_SubscriptionEnded as SubscriptionEnded,\n      billingV1Subscription_universal_d_SubscriptionCanceled as SubscriptionCanceled,\n      billingV1Subscription_universal_d_ActionDetails as ActionDetails,\n      billingV1Subscription_universal_d_SubscriptionPaused as SubscriptionPaused,\n      billingV1Subscription_universal_d_SubscriptionResumed as SubscriptionResumed,\n      billingV1Subscription_universal_d_PauseSubscriptionRequested as PauseSubscriptionRequested,\n      billingV1Subscription_universal_d_ResumeSubscriptionRequested as ResumeSubscriptionRequested,\n      billingV1Subscription_universal_d_ScheduledPauseCanceled as ScheduledPauseCanceled,\n      billingV1Subscription_universal_d_ScheduledResumeCanceled as ScheduledResumeCanceled,\n      billingV1Subscription_universal_d_SubscriptionBillingCycleStarted as SubscriptionBillingCycleStarted,\n      billingV1Subscription_universal_d_SubscriptionAutoRenewalTurnedOn as SubscriptionAutoRenewalTurnedOn,\n      billingV1Subscription_universal_d_SubscriptionAutoRenewalTurnedOff as SubscriptionAutoRenewalTurnedOff,\n      billingV1Subscription_universal_d_SubscriptionCycleReadyToPay as SubscriptionCycleReadyToPay,\n      billingV1Subscription_universal_d_SubscriptionExtended as SubscriptionExtended,\n      billingV1Subscription_universal_d_SubscriptionExtendedExtendPolicyOneOf as SubscriptionExtendedExtendPolicyOneOf,\n      billingV1Subscription_universal_d_SubscriptionInitialPurchaseCompleted as SubscriptionInitialPurchaseCompleted,\n      billingV1Subscription_universal_d_LatestInvoiceMarkedAsPaid as LatestInvoiceMarkedAsPaid,\n      billingV1Subscription_universal_d_SubscriptionRevived as SubscriptionRevived,\n      billingV1Subscription_universal_d_SubscriptionBillingDateUpdated as SubscriptionBillingDateUpdated,\n      billingV1Subscription_universal_d_FutureUpdatesRequested as FutureUpdatesRequested,\n      billingV1Subscription_universal_d_UpdatesApplied as UpdatesApplied,\n      billingV1Subscription_universal_d_UpdateAction as UpdateAction,\n      billingV1Subscription_universal_d_ResetPendingUpdates as ResetPendingUpdates,\n      billingV1Subscription_universal_d_GracePeriodStarted as GracePeriodStarted,\n      billingV1Subscription_universal_d_GracePeriodEnded as GracePeriodEnded,\n      billingV1Subscription_universal_d_PaymentSettlementMethod as PaymentSettlementMethod,\n      billingV1Subscription_universal_d_PaymentMethodUpdated as PaymentMethodUpdated,\n      billingV1Subscription_universal_d_PaymentMode as PaymentMode,\n      billingV1Subscription_universal_d_SubscriptionCollectionMethodUpdated as SubscriptionCollectionMethodUpdated,\n      billingV1Subscription_universal_d_FreeTrailStarted as FreeTrailStarted,\n      billingV1Subscription_universal_d_FreeTrailEnded as FreeTrailEnded,\n      billingV1Subscription_universal_d_SubscriptionBackOfficeAction as SubscriptionBackOfficeAction,\n      billingV1Subscription_universal_d_UnknownSubscriptionEvent as UnknownSubscriptionEvent,\n      billingV1Subscription_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      billingV1Subscription_universal_d_Cursors as Cursors,\n      billingV1Subscription_universal_d_GetSubscriptionRequest as GetSubscriptionRequest,\n      billingV1Subscription_universal_d_GetSubscriptionResponse as GetSubscriptionResponse,\n      billingV1Subscription_universal_d_CustomerCancelSubscriptionRequest as CustomerCancelSubscriptionRequest,\n      billingV1Subscription_universal_d_CustomerCancelSubscriptionResponse as CustomerCancelSubscriptionResponse,\n      billingV1Subscription_universal_d_CustomerTurnOnAutoRenewalRequest as CustomerTurnOnAutoRenewalRequest,\n      billingV1Subscription_universal_d_CustomerTurnOnAutoRenewalResponse as CustomerTurnOnAutoRenewalResponse,\n      billingV1Subscription_universal_d_CustomerTurnOffAutoRenewalRequest as CustomerTurnOffAutoRenewalRequest,\n      billingV1Subscription_universal_d_CustomerTurnOffAutoRenewalResponse as CustomerTurnOffAutoRenewalResponse,\n      billingV1Subscription_universal_d_CustomerExtendSubscriptionRequest as CustomerExtendSubscriptionRequest,\n      billingV1Subscription_universal_d_CustomerExtendSubscriptionResponse as CustomerExtendSubscriptionResponse,\n      billingV1Subscription_universal_d_QuerySubscriptionsRequest as QuerySubscriptionsRequest,\n      billingV1Subscription_universal_d_QueryV2 as QueryV2,\n      billingV1Subscription_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      billingV1Subscription_universal_d_Sorting as Sorting,\n      billingV1Subscription_universal_d_SortOrder as SortOrder,\n      billingV1Subscription_universal_d_Paging as Paging,\n      billingV1Subscription_universal_d_QuerySubscriptionsResponse as QuerySubscriptionsResponse,\n      billingV1Subscription_universal_d_CountSubscriptionsRequest as CountSubscriptionsRequest,\n      billingV1Subscription_universal_d_CountSubscriptionFilter as CountSubscriptionFilter,\n      billingV1Subscription_universal_d_CountSubscriptionFilterStatusOneOf as CountSubscriptionFilterStatusOneOf,\n      billingV1Subscription_universal_d_SubscriptionStatus as SubscriptionStatus,\n      billingV1Subscription_universal_d_SubscriptionStatusGroup as SubscriptionStatusGroup,\n      billingV1Subscription_universal_d_CountSubscriptionsResponse as CountSubscriptionsResponse,\n      billingV1Subscription_universal_d_CountByStatus as CountByStatus,\n      billingV1Subscription_universal_d_UpdateSubscriptionPaymentMethodRequest as UpdateSubscriptionPaymentMethodRequest,\n      billingV1Subscription_universal_d_UpdateSubscriptionPaymentMethodResponse as UpdateSubscriptionPaymentMethodResponse,\n      billingV1Subscription_universal_d_CustomerAllowedActionsRequest as CustomerAllowedActionsRequest,\n      billingV1Subscription_universal_d_CustomerAllowedActionsResponse as CustomerAllowedActionsResponse,\n      billingV1Subscription_universal_d_Action as Action,\n      billingV1Subscription_universal_d_ActionType as ActionType,\n      billingV1Subscription_universal_d_ExtendPolicyType as ExtendPolicyType,\n      billingV1Subscription_universal_d_CustomerListUpcomingChargesRequest as CustomerListUpcomingChargesRequest,\n      billingV1Subscription_universal_d_CustomerListUpcomingChargesResponse as CustomerListUpcomingChargesResponse,\n      billingV1Subscription_universal_d_SubscriptionCharge as SubscriptionCharge,\n      billingV1Subscription_universal_d_InvoiceItem as InvoiceItem,\n      billingV1Subscription_universal_d_InvoiceItemPaymentTypeOneOf as InvoiceItemPaymentTypeOneOf,\n      billingV1Subscription_universal_d_Recurring as Recurring,\n      billingV1Subscription_universal_d_OneTime as OneTime,\n      billingV1Subscription_universal_d_PriceDetails as PriceDetails,\n      billingV1Subscription_universal_d_InvoiceDiscount as InvoiceDiscount,\n      billingV1Subscription_universal_d_InvoiceDiscountValueOneOf as InvoiceDiscountValueOneOf,\n      billingV1Subscription_universal_d_InvoiceApplicationFee as InvoiceApplicationFee,\n      billingV1Subscription_universal_d_InvoiceApplicationFeeValueOneOf as InvoiceApplicationFeeValueOneOf,\n      billingV1Subscription_universal_d_ItemTaxData as ItemTaxData,\n      billingV1Subscription_universal_d_LineItemTaxSummary as LineItemTaxSummary,\n      billingV1Subscription_universal_d_TaxBreakdown as TaxBreakdown,\n      billingV1Subscription_universal_d_InitiatePaymentMethodSetupRequest as InitiatePaymentMethodSetupRequest,\n      billingV1Subscription_universal_d_PaymentSettings as PaymentSettings,\n      billingV1Subscription_universal_d_OrderMethod as OrderMethod,\n      billingV1Subscription_universal_d_RedirectUrls as RedirectUrls,\n      billingV1Subscription_universal_d_PaymentOrigin as PaymentOrigin,\n      billingV1Subscription_universal_d_InitiatePaymentMethodSetupResponse as InitiatePaymentMethodSetupResponse,\n      billingV1Subscription_universal_d_DomainEvent as DomainEvent,\n      billingV1Subscription_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      billingV1Subscription_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      billingV1Subscription_universal_d_RestoreInfo as RestoreInfo,\n      billingV1Subscription_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      billingV1Subscription_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      billingV1Subscription_universal_d_ActionEvent as ActionEvent,\n      billingV1Subscription_universal_d_MessageEnvelope as MessageEnvelope,\n      billingV1Subscription_universal_d_IdentificationData as IdentificationData,\n      billingV1Subscription_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      billingV1Subscription_universal_d_WebhookIdentityType as WebhookIdentityType,\n      billingV1Subscription_universal_d_SetIsMigratedEvent as SetIsMigratedEvent,\n      billingV1Subscription_universal_d_SubscriptionDelayedSyncEvent as SubscriptionDelayedSyncEvent,\n      billingV1Subscription_universal_d_InvoiceAction as InvoiceAction,\n      billingV1Subscription_universal_d_InvoiceActionActionTypeOneOf as InvoiceActionActionTypeOneOf,\n      billingV1Subscription_universal_d_PayRecurringInvoice as PayRecurringInvoice,\n      billingV1Subscription_universal_d_CreateSubscriptionRequest as CreateSubscriptionRequest,\n      billingV1Subscription_universal_d_OriginOverride as OriginOverride,\n      billingV1Subscription_universal_d_CreateSubscriptionResponse as CreateSubscriptionResponse,\n      billingV1Subscription_universal_d_UpdateSubscriptionRequest as UpdateSubscriptionRequest,\n      billingV1Subscription_universal_d_UpdateSubscriptionResponse as UpdateSubscriptionResponse,\n      billingV1Subscription_universal_d_UpdateSubscriptionStartDateRequest as UpdateSubscriptionStartDateRequest,\n      billingV1Subscription_universal_d_UpdateSubscriptionStartDateResponse as UpdateSubscriptionStartDateResponse,\n      billingV1Subscription_universal_d_UpdateSubscriptionPoliciesRequest as UpdateSubscriptionPoliciesRequest,\n      billingV1Subscription_universal_d_UpdateSubscriptionPoliciesResponse as UpdateSubscriptionPoliciesResponse,\n      billingV1Subscription_universal_d_UpdateSubscriptionBillingDateRequest as UpdateSubscriptionBillingDateRequest,\n      billingV1Subscription_universal_d_UpdateSubscriptionBillingDateResponse as UpdateSubscriptionBillingDateResponse,\n      billingV1Subscription_universal_d_UpdateSubscriptionOriginRequest as UpdateSubscriptionOriginRequest,\n      billingV1Subscription_universal_d_UpdateSubscriptionOriginResponse as UpdateSubscriptionOriginResponse,\n      billingV1Subscription_universal_d_ReviseSubscriptionRequest as ReviseSubscriptionRequest,\n      billingV1Subscription_universal_d_ReviseSubscriptionResponse as ReviseSubscriptionResponse,\n      billingV1Subscription_universal_d_UpdateSubscriptionItemsRequest as UpdateSubscriptionItemsRequest,\n      billingV1Subscription_universal_d_ScheduleAdditionalInfo as ScheduleAdditionalInfo,\n      billingV1Subscription_universal_d_ScheduleAdditionalInfoParamOneOf as ScheduleAdditionalInfoParamOneOf,\n      billingV1Subscription_universal_d_UpdateSubscriptionItemsResponse as UpdateSubscriptionItemsResponse,\n      billingV1Subscription_universal_d_BulkUpdateSubscriptionItemsByFilterRequest as BulkUpdateSubscriptionItemsByFilterRequest,\n      billingV1Subscription_universal_d_BulkItemChange as BulkItemChange,\n      billingV1Subscription_universal_d_BulkUpdateSubscriptionItemsByFilterResponse as BulkUpdateSubscriptionItemsByFilterResponse,\n      billingV1Subscription_universal_d_DeleteSubscriptionRequest as DeleteSubscriptionRequest,\n      billingV1Subscription_universal_d_DeleteSubscriptionResponse as DeleteSubscriptionResponse,\n      billingV1Subscription_universal_d_CancelSubscriptionRequest as CancelSubscriptionRequest,\n      billingV1Subscription_universal_d_ActionContext as ActionContext,\n      billingV1Subscription_universal_d_ActionInitiator as ActionInitiator,\n      billingV1Subscription_universal_d_CancelSubscriptionResponse as CancelSubscriptionResponse,\n      billingV1Subscription_universal_d_PauseSubscriptionRequest as PauseSubscriptionRequest,\n      billingV1Subscription_universal_d_PauseSubscriptionResponse as PauseSubscriptionResponse,\n      billingV1Subscription_universal_d_ResumeSubscriptionRequest as ResumeSubscriptionRequest,\n      billingV1Subscription_universal_d_ResumeSubscriptionResponse as ResumeSubscriptionResponse,\n      billingV1Subscription_universal_d_SearchSubscriptionsRequest as SearchSubscriptionsRequest,\n      billingV1Subscription_universal_d_SearchSubscriptionsRequestPagingMethodOneOf as SearchSubscriptionsRequestPagingMethodOneOf,\n      billingV1Subscription_universal_d_SortingClauses as SortingClauses,\n      billingV1Subscription_universal_d_SearchSubscriptionsResponse as SearchSubscriptionsResponse,\n      billingV1Subscription_universal_d_TurnOnSubscriptionAutoRenewalRequest as TurnOnSubscriptionAutoRenewalRequest,\n      billingV1Subscription_universal_d_TurnOnSubscriptionAutoRenewalResponse as TurnOnSubscriptionAutoRenewalResponse,\n      billingV1Subscription_universal_d_TurnOffSubscriptionAutoRenewalRequest as TurnOffSubscriptionAutoRenewalRequest,\n      billingV1Subscription_universal_d_TurnOffSubscriptionAutoRenewalResponse as TurnOffSubscriptionAutoRenewalResponse,\n      billingV1Subscription_universal_d_MarkLatestInvoiceAsPaidRequest as MarkLatestInvoiceAsPaidRequest,\n      billingV1Subscription_universal_d_MarkLatestInvoiceAsPaidResponse as MarkLatestInvoiceAsPaidResponse,\n      billingV1Subscription_universal_d_GetSubscriptionsStatsRequest as GetSubscriptionsStatsRequest,\n      billingV1Subscription_universal_d_GetSubscriptionsStatsResponse as GetSubscriptionsStatsResponse,\n      billingV1Subscription_universal_d_AmountByStatus as AmountByStatus,\n      billingV1Subscription_universal_d_ExtendSubscriptionRequest as ExtendSubscriptionRequest,\n      billingV1Subscription_universal_d_ExtendSubscriptionRequestExtendPolicyOneOf as ExtendSubscriptionRequestExtendPolicyOneOf,\n      billingV1Subscription_universal_d_ExtendSubscriptionResponse as ExtendSubscriptionResponse,\n      billingV1Subscription_universal_d_AllowedActionsRequest as AllowedActionsRequest,\n      billingV1Subscription_universal_d_RequestedFields as RequestedFields,\n      billingV1Subscription_universal_d_AllowedActionsResponse as AllowedActionsResponse,\n      billingV1Subscription_universal_d_UnsupportedAction as UnsupportedAction,\n      billingV1Subscription_universal_d_UnsupportedReason as UnsupportedReason,\n      billingV1Subscription_universal_d_ListUpcomingChargesRequest as ListUpcomingChargesRequest,\n      billingV1Subscription_universal_d_ListUpcomingChargesResponse as ListUpcomingChargesResponse,\n      billingV1Subscription_universal_d_PreviewSubscriptionChargesRequest as PreviewSubscriptionChargesRequest,\n      billingV1Subscription_universal_d_PreviewSubscriptionChargesRequestSubscriptionOneOf as PreviewSubscriptionChargesRequestSubscriptionOneOf,\n      billingV1Subscription_universal_d_SubscriptionInfo as SubscriptionInfo,\n      billingV1Subscription_universal_d_PreviewSubscriptionChargesResponse as PreviewSubscriptionChargesResponse,\n      billingV1Subscription_universal_d_Charge as Charge,\n      billingV1Subscription_universal_d_PreviewSubscriptionsChargesRequest as PreviewSubscriptionsChargesRequest,\n      billingV1Subscription_universal_d_SubscriptionBillingDetails as SubscriptionBillingDetails,\n      billingV1Subscription_universal_d_PreviewSubscriptionsChargesResponse as PreviewSubscriptionsChargesResponse,\n      billingV1Subscription_universal_d_SubscriptionCharges as SubscriptionCharges,\n      billingV1Subscription_universal_d_CreateSubscriptionForOrderRequest as CreateSubscriptionForOrderRequest,\n      billingV1Subscription_universal_d_CreateSubscriptionForOrderResponse as CreateSubscriptionForOrderResponse,\n      billingV1Subscription_universal_d_Invoice as Invoice,\n      billingV1Subscription_universal_d_BusinessOriginData as BusinessOriginData,\n      billingV1Subscription_universal_d_InvoiceStatus as InvoiceStatus,\n      billingV1Subscription_universal_d_CollectionMethodEnumCollectionMethod as CollectionMethodEnumCollectionMethod,\n      billingV1Subscription_universal_d_CreationMode as CreationMode,\n      billingV1Subscription_universal_d_LatestPaymentAttempt as LatestPaymentAttempt,\n      billingV1Subscription_universal_d_PaymentAttemptStatus as PaymentAttemptStatus,\n      billingV1Subscription_universal_d_PriceAdjustment as PriceAdjustment,\n      billingV1Subscription_universal_d_PriceAdjustmentAdjustmentTypeOneOf as PriceAdjustmentAdjustmentTypeOneOf,\n      billingV1Subscription_universal_d_PriceAdjustmentValue as PriceAdjustmentValue,\n      billingV1Subscription_universal_d_PriceAdjustmentValueAdjustmentValueTypeOneOf as PriceAdjustmentValueAdjustmentValueTypeOneOf,\n      billingV1Subscription_universal_d_InvoiceShippingCharges as InvoiceShippingCharges,\n      billingV1Subscription_universal_d_TaxData as TaxData,\n      billingV1Subscription_universal_d_TaxSummary as TaxSummary,\n      billingV1Subscription_universal_d_AggregatedTaxBreakdown as AggregatedTaxBreakdown,\n      billingV1Subscription_universal_d_Task as Task,\n      billingV1Subscription_universal_d_TaskKey as TaskKey,\n      billingV1Subscription_universal_d_TaskAction as TaskAction,\n      billingV1Subscription_universal_d_TaskActionActionOneOf as TaskActionActionOneOf,\n      billingV1Subscription_universal_d_Complete as Complete,\n      billingV1Subscription_universal_d_Cancel as Cancel,\n      billingV1Subscription_universal_d_Reschedule as Reschedule,\n      billingV1Subscription_universal_d_Empty as Empty,\n      billingV1Subscription_universal_d_V1SubscriptionEvent as V1SubscriptionEvent,\n      billingV1Subscription_universal_d_V1SubscriptionEventEventOneOf as V1SubscriptionEventEventOneOf,\n      billingV1Subscription_universal_d_V1SubscriptionCreated as V1SubscriptionCreated,\n      billingV1Subscription_universal_d_V1Subscription as V1Subscription,\n      billingV1Subscription_universal_d_Subscriber as Subscriber,\n      billingV1Subscription_universal_d_IdentityType as IdentityType,\n      billingV1Subscription_universal_d_Money as Money,\n      billingV1Subscription_universal_d_SubscriptionType as SubscriptionType,\n      billingV1Subscription_universal_d_V1SubscriptionStatusEnumSubscriptionStatus as V1SubscriptionStatusEnumSubscriptionStatus,\n      billingV1Subscription_universal_d_PaymentStatusEnumPaymentStatus as PaymentStatusEnumPaymentStatus,\n      billingV1Subscription_universal_d_V2Subscription as V2Subscription,\n      billingV1Subscription_universal_d_SubscriptionFrequency as SubscriptionFrequency,\n      billingV1Subscription_universal_d_SubscriptionTrialPeriod as SubscriptionTrialPeriod,\n      billingV1Subscription_universal_d_CancellationInitiator as CancellationInitiator,\n      billingV1Subscription_universal_d_SubscriptionPolicy as SubscriptionPolicy,\n      billingV1Subscription_universal_d_Suspension as Suspension,\n      billingV1Subscription_universal_d_Status as Status,\n      billingV1Subscription_universal_d_V1Duration as V1Duration,\n      billingV1Subscription_universal_d_V1SubscriptionActivated as V1SubscriptionActivated,\n      billingV1Subscription_universal_d_V1SubscriptionCanceled as V1SubscriptionCanceled,\n      billingV1Subscription_universal_d_V1SubscriptionUpdated as V1SubscriptionUpdated,\n      billingV1Subscription_universal_d_SubscriptionCycleTriggered as SubscriptionCycleTriggered,\n      billingV1Subscription_universal_d_SubscriptionMarkedAsPaid as SubscriptionMarkedAsPaid,\n      billingV1Subscription_universal_d_SubscriptionCancellationRequested as SubscriptionCancellationRequested,\n      billingV1Subscription_universal_d_SubscriptionSuspended as SubscriptionSuspended,\n      billingV1Subscription_universal_d_V1SubscriptionResumed as V1SubscriptionResumed,\n      billingV1Subscription_universal_d_SubscriptionExpired as SubscriptionExpired,\n      billingV1Subscription_universal_d_V1SubscriptionInitialPurchaseCompleted as V1SubscriptionInitialPurchaseCompleted,\n      billingV1Subscription_universal_d_CreateSubscriptionInStateRequest as CreateSubscriptionInStateRequest,\n      billingV1Subscription_universal_d_CreateSubscriptionInStateRequestModeOneOf as CreateSubscriptionInStateRequestModeOneOf,\n      billingV1Subscription_universal_d_CreateSubscriptionInStateResponse as CreateSubscriptionInStateResponse,\n      billingV1Subscription_universal_d_PayCycleRequest as PayCycleRequest,\n      billingV1Subscription_universal_d_PaymentTestMode as PaymentTestMode,\n      billingV1Subscription_universal_d_PayCycleResponse as PayCycleResponse,\n      billingV1Subscription_universal_d_GetFullSubscriptionDataRequest as GetFullSubscriptionDataRequest,\n      billingV1Subscription_universal_d_GetFullSubscriptionDataResponse as GetFullSubscriptionDataResponse,\n      billingV1Subscription_universal_d_InternalSubscriptionData as InternalSubscriptionData,\n      billingV1Subscription_universal_d_MigrationDetails as MigrationDetails,\n      billingV1Subscription_universal_d_PausePeriod as PausePeriod,\n      billingV1Subscription_universal_d_GetSubscriptionAndInternalDataRequest as GetSubscriptionAndInternalDataRequest,\n      billingV1Subscription_universal_d_GetSubscriptionAndInternalDataResponse as GetSubscriptionAndInternalDataResponse,\n      billingV1Subscription_universal_d_SearchSubscriptionRequest as SearchSubscriptionRequest,\n      billingV1Subscription_universal_d_SearchSubscriptionResponse as SearchSubscriptionResponse,\n      billingV1Subscription_universal_d_UpdatePausePaidDurationRequest as UpdatePausePaidDurationRequest,\n      billingV1Subscription_universal_d_UpdatePausePaidDurationResponse as UpdatePausePaidDurationResponse,\n      billingV1Subscription_universal_d_UpdateStatusRequest as UpdateStatusRequest,\n      billingV1Subscription_universal_d_UpdateStatusResponse as UpdateStatusResponse,\n      billingV1Subscription_universal_d_UpdatePaymentStatusRequest as UpdatePaymentStatusRequest,\n      billingV1Subscription_universal_d_UpdatePaymentStatusResponse as UpdatePaymentStatusResponse,\n      billingV1Subscription_universal_d_ReviveSubscriptionRequest as ReviveSubscriptionRequest,\n      billingV1Subscription_universal_d_RevivePolicy as RevivePolicy,\n      billingV1Subscription_universal_d_ReviveSubscriptionResponse as ReviveSubscriptionResponse,\n      billingV1Subscription_universal_d_ConvertSapiRequest as ConvertSapiRequest,\n      billingV1Subscription_universal_d_ConvertSapiResponse as ConvertSapiResponse,\n      billingV1Subscription_universal_d_GetSubscriptionInvoicesRequest as GetSubscriptionInvoicesRequest,\n      billingV1Subscription_universal_d_GetSubscriptionInvoicesResponse as GetSubscriptionInvoicesResponse,\n      billingV1Subscription_universal_d_SubscriptionInvoice as SubscriptionInvoice,\n      billingV1Subscription_universal_d_FinishFreeTrialNowRequest as FinishFreeTrialNowRequest,\n      billingV1Subscription_universal_d_FinishFreeTrialNowResponse as FinishFreeTrialNowResponse,\n      billingV1Subscription_universal_d_SendTimeCapsuleTaskCanceledBIRequest as SendTimeCapsuleTaskCanceledBIRequest,\n      billingV1Subscription_universal_d_ScheduleTimeCapsuleTaskRequest as ScheduleTimeCapsuleTaskRequest,\n      billingV1Subscription_universal_d_CancelTimeCapsuleTaskRequest as CancelTimeCapsuleTaskRequest,\n      billingV1Subscription_universal_d_UpdateFullSubscriptionRequest as UpdateFullSubscriptionRequest,\n      billingV1Subscription_universal_d_UpdateFullSubscriptionResponse as UpdateFullSubscriptionResponse,\n      billingV1Subscription_universal_d_UpdateSubscriptionInvoiceCycleRequest as UpdateSubscriptionInvoiceCycleRequest,\n      billingV1Subscription_universal_d_UpdateSubscriptionInvoiceCycleResponse as UpdateSubscriptionInvoiceCycleResponse,\n      billingV1Subscription_universal_d_AddPausePeriodRequest as AddPausePeriodRequest,\n      billingV1Subscription_universal_d_AddPausePeriodResponse as AddPausePeriodResponse,\n      billingV1Subscription_universal_d_RunTimeCapsuleTaskNowRequest as RunTimeCapsuleTaskNowRequest,\n      billingV1Subscription_universal_d_CreateRecurringInvoiceBORequest as CreateRecurringInvoiceBORequest,\n      billingV1Subscription_universal_d_CreateRecurringInvoiceBOResponse as CreateRecurringInvoiceBOResponse,\n      billingV1Subscription_universal_d_SetShiftingDataRequest as SetShiftingDataRequest,\n      billingV1Subscription_universal_d_SetShiftingDataResponse as SetShiftingDataResponse,\n      billingV1Subscription_universal_d_FixSubscriptionInvoicesRequest as FixSubscriptionInvoicesRequest,\n      billingV1Subscription_universal_d_FixSubscriptionInvoicesRequestModeOneOf as FixSubscriptionInvoicesRequestModeOneOf,\n      billingV1Subscription_universal_d_AttachInvoice as AttachInvoice,\n      billingV1Subscription_universal_d_DetachInvoice as DetachInvoice,\n      billingV1Subscription_universal_d_FixSubscriptionInvoicesResponse as FixSubscriptionInvoicesResponse,\n      billingV1Subscription_universal_d_RestoreDraftSubscriptionRequest as RestoreDraftSubscriptionRequest,\n      billingV1Subscription_universal_d_RestoreDraftSubscriptionResponse as RestoreDraftSubscriptionResponse,\n      billingV1Subscription_universal_d_DeleteDraftSubscriptionRequest as DeleteDraftSubscriptionRequest,\n      billingV1Subscription_universal_d_DeleteDraftSubscriptionResponse as DeleteDraftSubscriptionResponse,\n      billingV1Subscription_universal_d_DeleteSubscriptionBORequest as DeleteSubscriptionBORequest,\n      billingV1Subscription_universal_d_DeleteSubscriptionBOResponse as DeleteSubscriptionBOResponse,\n      billingV1Subscription_universal_d_CancelSubscriptionBORequest as CancelSubscriptionBORequest,\n      billingV1Subscription_universal_d_CancelSubscriptionBOResponse as CancelSubscriptionBOResponse,\n      billingV1Subscription_universal_d_UpdatePaymentMethodBORequest as UpdatePaymentMethodBORequest,\n      billingV1Subscription_universal_d_UpdatePaymentMethodBOResponse as UpdatePaymentMethodBOResponse,\n      billingV1Subscription_universal_d_SendSubscriptionActionEventBORequest as SendSubscriptionActionEventBORequest,\n      billingV1Subscription_universal_d_SendSubscriptionActionEventBORequestEventOneOf as SendSubscriptionActionEventBORequestEventOneOf,\n      billingV1Subscription_universal_d_SendSubscriptionActionEventResponse as SendSubscriptionActionEventResponse,\n      billingV1Subscription_universal_d_HandleSubscriptionAfterInvoiceMarkedAsPaidRequest as HandleSubscriptionAfterInvoiceMarkedAsPaidRequest,\n      billingV1Subscription_universal_d_listSubscriptionHistory as listSubscriptionHistory,\n      billingV1Subscription_universal_d_ListSubscriptionHistoryOptions as ListSubscriptionHistoryOptions,\n      billingV1Subscription_universal_d_customerGetSubscription as customerGetSubscription,\n      billingV1Subscription_universal_d_customerCancelSubscription as customerCancelSubscription,\n      billingV1Subscription_universal_d_CustomerCancelSubscriptionOptions as CustomerCancelSubscriptionOptions,\n      billingV1Subscription_universal_d_customerTurnOnSubscriptionAutoRenewal as customerTurnOnSubscriptionAutoRenewal,\n      billingV1Subscription_universal_d_CustomerTurnOnSubscriptionAutoRenewalOptions as CustomerTurnOnSubscriptionAutoRenewalOptions,\n      billingV1Subscription_universal_d_customerTurnOffSubscriptionAutoRenewal as customerTurnOffSubscriptionAutoRenewal,\n      billingV1Subscription_universal_d_CustomerTurnOffSubscriptionAutoRenewalOptions as CustomerTurnOffSubscriptionAutoRenewalOptions,\n      billingV1Subscription_universal_d_customerExtendSubscription as customerExtendSubscription,\n      billingV1Subscription_universal_d_CustomerExtendSubscriptionOptions as CustomerExtendSubscriptionOptions,\n      billingV1Subscription_universal_d_customerQuerySubscriptions as customerQuerySubscriptions,\n      billingV1Subscription_universal_d_CustomerQuerySubscriptionsOptions as CustomerQuerySubscriptionsOptions,\n      billingV1Subscription_universal_d_customerCountSubscriptions as customerCountSubscriptions,\n      billingV1Subscription_universal_d_CustomerCountSubscriptionsOptions as CustomerCountSubscriptionsOptions,\n      billingV1Subscription_universal_d_customerUpdateSubscriptionPaymentMethod as customerUpdateSubscriptionPaymentMethod,\n      billingV1Subscription_universal_d_customerAllowedActions as customerAllowedActions,\n      billingV1Subscription_universal_d_customerListUpcomingCharges as customerListUpcomingCharges,\n      billingV1Subscription_universal_d_customerInitiatePaymentMethodSetup as customerInitiatePaymentMethodSetup,\n      billingV1Subscription_universal_d_CustomerInitiatePaymentMethodSetupOptions as CustomerInitiatePaymentMethodSetupOptions,\n      billingV1Subscription_universal_d_createSubscription as createSubscription,\n      billingV1Subscription_universal_d_CreateSubscriptionOptions as CreateSubscriptionOptions,\n      billingV1Subscription_universal_d_getSubscription as getSubscription,\n      billingV1Subscription_universal_d_updateSubscription as updateSubscription,\n      billingV1Subscription_universal_d_UpdateSubscriptionOptions as UpdateSubscriptionOptions,\n      billingV1Subscription_universal_d_updateSubscriptionStartDate as updateSubscriptionStartDate,\n      billingV1Subscription_universal_d_updateSubscriptionPaymentMethod as updateSubscriptionPaymentMethod,\n      billingV1Subscription_universal_d_updateSubscriptionPolicies as updateSubscriptionPolicies,\n      billingV1Subscription_universal_d_UpdateSubscriptionPoliciesOptions as UpdateSubscriptionPoliciesOptions,\n      billingV1Subscription_universal_d_updateSubscriptionBillingDate as updateSubscriptionBillingDate,\n      billingV1Subscription_universal_d_UpdateSubscriptionBillingDateOptions as UpdateSubscriptionBillingDateOptions,\n      billingV1Subscription_universal_d_updateSubscriptionOrigin as updateSubscriptionOrigin,\n      billingV1Subscription_universal_d_reviseSubscription as reviseSubscription,\n      billingV1Subscription_universal_d_ReviseSubscriptionOptions as ReviseSubscriptionOptions,\n      billingV1Subscription_universal_d_updateSubscriptionItems as updateSubscriptionItems,\n      billingV1Subscription_universal_d_UpdateSubscriptionItemsOptions as UpdateSubscriptionItemsOptions,\n      billingV1Subscription_universal_d_bulkUpdateSubscriptionItemsByFilter as bulkUpdateSubscriptionItemsByFilter,\n      billingV1Subscription_universal_d_BulkUpdateSubscriptionItemsByFilterOptions as BulkUpdateSubscriptionItemsByFilterOptions,\n      billingV1Subscription_universal_d_deleteSubscription as deleteSubscription,\n      billingV1Subscription_universal_d_DeleteSubscriptionOptions as DeleteSubscriptionOptions,\n      billingV1Subscription_universal_d_cancelSubscription as cancelSubscription,\n      billingV1Subscription_universal_d_pauseSubscription as pauseSubscription,\n      billingV1Subscription_universal_d_PauseSubscriptionOptions as PauseSubscriptionOptions,\n      billingV1Subscription_universal_d_resumeSubscription as resumeSubscription,\n      billingV1Subscription_universal_d_ResumeSubscriptionOptions as ResumeSubscriptionOptions,\n      billingV1Subscription_universal_d_querySubscriptions as querySubscriptions,\n      billingV1Subscription_universal_d_searchSubscriptions as searchSubscriptions,\n      billingV1Subscription_universal_d_SearchSubscriptionsOptions as SearchSubscriptionsOptions,\n      billingV1Subscription_universal_d_countSubscriptions as countSubscriptions,\n      billingV1Subscription_universal_d_CountSubscriptionsOptions as CountSubscriptionsOptions,\n      billingV1Subscription_universal_d_turnOnSubscriptionAutoRenewal as turnOnSubscriptionAutoRenewal,\n      billingV1Subscription_universal_d_turnOffSubscriptionAutoRenewal as turnOffSubscriptionAutoRenewal,\n      billingV1Subscription_universal_d_markLatestInvoiceAsPaid as markLatestInvoiceAsPaid,\n      billingV1Subscription_universal_d_getSubscriptionsStats as getSubscriptionsStats,\n      billingV1Subscription_universal_d_extendSubscription as extendSubscription,\n      billingV1Subscription_universal_d_ExtendSubscriptionOptions as ExtendSubscriptionOptions,\n      billingV1Subscription_universal_d_allowedActions as allowedActions,\n      billingV1Subscription_universal_d_AllowedActionsOptions as AllowedActionsOptions,\n      billingV1Subscription_universal_d_listUpcomingCharges as listUpcomingCharges,\n      billingV1Subscription_universal_d_ListUpcomingChargesOptions as ListUpcomingChargesOptions,\n      billingV1Subscription_universal_d_previewSubscriptionCharges as previewSubscriptionCharges,\n      billingV1Subscription_universal_d_PreviewSubscriptionChargesOptions as PreviewSubscriptionChargesOptions,\n      billingV1Subscription_universal_d_previewSubscriptionsCharges as previewSubscriptionsCharges,\n      billingV1Subscription_universal_d_PreviewSubscriptionsChargesOptions as PreviewSubscriptionsChargesOptions,\n      billingV1Subscription_universal_d_initiatePaymentMethodSetup as initiatePaymentMethodSetup,\n      billingV1Subscription_universal_d_InitiatePaymentMethodSetupOptions as InitiatePaymentMethodSetupOptions,\n      billingV1Subscription_universal_d_payCycle as payCycle,\n      billingV1Subscription_universal_d_PayCycleOptions as PayCycleOptions,\n      billingV1Subscription_universal_d_runTimeCapsuleTaskNow as runTimeCapsuleTaskNow,\n      billingV1Subscription_universal_d_RunTimeCapsuleTaskNowOptions as RunTimeCapsuleTaskNowOptions,\n    };\n  }\n  \n  export { billingV1Subscription_universal_d as subscriptions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-review-request.v1.d.ts",
      "content": "declare module \"wix-review-request.v1\" {\n  /** ReviewRequest is the main entity of ReviewRequests */\n  interface ReviewRequest extends ReviewRequestStatusOptionsOneOf {\n      failedOptions?: FailedOptions;\n      sentOptions?: SentOptions;\n      /**\n       * Review request ID\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this review request was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this review request was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Represents the time this review request to be sent */\n      sendDate?: Date | null;\n      /** Namespace of app integrated with reviews */\n      namespace?: string;\n      /** Id of event which triggers review request (e.g. order id) */\n      eventId?: string;\n      /** Label of event which triggers review request (e.g. order id) */\n      eventLabel?: string | null;\n      /** Entities to review */\n      entitiesToReview?: Entity[];\n      /** Review request */\n      recipient?: Recipient;\n      /** Id of event which triggers review request (e.g. order id) */\n      activationId?: string;\n      /** Indicates notification channel of review request */\n      communicationChannel?: CommunicationChannel;\n      /**\n       * Indicates status of review request.\n       * @readonly\n       */\n      status?: ReviewRequestStatus;\n      /** Indicates review request was opened. */\n      opened?: boolean;\n      /** Wix data extensions */\n      extendedFields?: ExtendedFields;\n  }\n  /** @oneof */\n  interface ReviewRequestStatusOptionsOneOf {\n      failedOptions?: FailedOptions;\n      sentOptions?: SentOptions;\n  }\n  /** Entity describing recipient */\n  interface Entity {\n      /** Entity id */\n      _id?: string;\n      /** Data of the review written by review request recipient */\n      reviewData?: ReviewData;\n  }\n  enum ReviewSource {\n      UNKNOWN_REVIEW_SOURCE = \"UNKNOWN_REVIEW_SOURCE\",\n      REVIEW_REQUEST_NOTIFICATION = \"REVIEW_REQUEST_NOTIFICATION\",\n      ORGANIC_REVIEW = \"ORGANIC_REVIEW\"\n  }\n  interface ReviewData {\n      /** Indicates id of review written by review request recipient */\n      reviewId?: string;\n      /** Indicates how review request recipient left a review */\n      reviewSource?: ReviewSource;\n  }\n  /** Entity for which review request was created */\n  interface Recipient {\n      /** Contact id of recipient */\n      contactId?: string;\n  }\n  enum CommunicationChannel {\n      UNKNOWN_COMMUNICATION_CHANNEL = \"UNKNOWN_COMMUNICATION_CHANNEL\",\n      EMAIL = \"EMAIL\"\n  }\n  enum ReviewRequestStatus {\n      /** Indicates unknown status of review request. */\n      UNKNOWN_REVIEW_REQUEST_STATUS = \"UNKNOWN_REVIEW_REQUEST_STATUS\",\n      /** Indicates review request was scheduled. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Indicates review request was canceled. */\n      CANCELED = \"CANCELED\",\n      /** Indicates review request failed. */\n      FAILED = \"FAILED\",\n      /** Indicates review request was sent. */\n      SENT = \"SENT\"\n  }\n  interface FailedOptions {\n      reason?: FailureReason;\n      message?: string | null;\n  }\n  enum FailureReason {\n      /** Unknown reason for review request failure. */\n      UNKNOWN_FAILURE_REASON = \"UNKNOWN_FAILURE_REASON\",\n      /** Failure in activation process. */\n      ACTIVATION_FAILED = \"ACTIVATION_FAILED\",\n      /** Review request was bounced. */\n      BOUNCED = \"BOUNCED\",\n      /** Review request failed due to inactive subscription. */\n      SUBSCRIPTION_INACTIVE = \"SUBSCRIPTION_INACTIVE\"\n  }\n  interface SentOptions {\n      opened?: boolean;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateReviewRequestRequest {\n      /** ReviewRequest to be created */\n      reviewRequest: ReviewRequest;\n  }\n  interface CreateReviewRequestResponse {\n      /** The created ReviewRequest */\n      reviewRequest?: ReviewRequest;\n  }\n  interface GetReviewRequestRequest {\n      /** Id of the ReviewRequest to retrieve */\n      reviewRequestId: string;\n  }\n  interface GetReviewRequestResponse {\n      /** The retrieved ReviewRequest */\n      reviewRequest?: ReviewRequest;\n  }\n  interface DeleteReviewRequestRequest {\n      /** Id of the ReviewRequest to delete */\n      reviewRequestId: string;\n  }\n  interface DeleteReviewRequestResponse {\n  }\n  interface QueryReviewRequestsRequest {\n      /** WQL expression */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryReviewRequestsResponse {\n      /** The retrieved ReviewRequests */\n      reviewRequests?: ReviewRequest[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CountReviewRequestsRequest {\n      filter?: Record<string, any> | null;\n  }\n  interface CountReviewRequestsResponse {\n      count?: number;\n  }\n  interface BulkCancelReviewRequestRequest {\n      filter?: Record<string, any> | null;\n  }\n  interface BulkCancelReviewRequestResponse {\n      jobId?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface ActivationStatus {\n      /** Activation's ID. */\n      _id?: string;\n      /** Configuration's ID. */\n      configurationId?: string;\n      /** Configuration's Correlation ID. */\n      configurationCorrelationId?: string;\n      /** Activation's status. */\n      status?: Status;\n      /** Activation's error reason (if there is one). */\n      errorReason?: string | null;\n  }\n  enum Status {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      STARTED = \"STARTED\",\n      ENDED = \"ENDED\",\n      ERROR = \"ERROR\",\n      SCHEDULED = \"SCHEDULED\",\n      FROM_SCHEDULER = \"FROM_SCHEDULER\",\n      RETRY = \"RETRY\",\n      RESUMED = \"RESUMED\",\n      PAUSED = \"PAUSED\",\n      ACTION_SKIPPED = \"ACTION_SKIPPED\"\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new Review Request\n   * @param reviewRequest - ReviewRequest to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reviewRequest\n   * @requiredField reviewRequest.activationId\n   * @requiredField reviewRequest.communicationChannel\n   * @requiredField reviewRequest.eventId\n   * @requiredField reviewRequest.recipient.contactId\n   * @requiredField reviewRequest.sendDate\n   * @permissionId REVIEWS.REVIEW_REQUEST_CREATE\n   * @adminMethod\n   * @returns The created ReviewRequest\n   */\n  function createReviewRequest(reviewRequest: ReviewRequest): Promise<ReviewRequest>;\n  /**\n   * Get a Review Request by id\n   * @param reviewRequestId - Id of the ReviewRequest to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reviewRequestId\n   * @permissionId REVIEWS.REVIEW_REQUEST_READ\n   * @adminMethod\n   * @returns The retrieved ReviewRequest\n   */\n  function getReviewRequest(reviewRequestId: string): Promise<ReviewRequest>;\n  /**\n   * Delete a Review Request\n   * @param reviewRequestId - Id of the ReviewRequest to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField reviewRequestId\n   * @permissionId REVIEWS.REVIEW_REQUEST_DELETE\n   * @adminMethod\n   */\n  function deleteReviewRequest(reviewRequestId: string): Promise<void>;\n  /**\n   * Query Review Requests using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REVIEWS.REVIEW_REQUEST_READ\n   * @adminMethod\n   */\n  function queryReviewRequests(): ReviewRequestsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReviewRequestsQueryResult extends QueryCursorResult {\n      items: ReviewRequest[];\n      query: ReviewRequestsQueryBuilder;\n      next: () => Promise<ReviewRequestsQueryResult>;\n      prev: () => Promise<ReviewRequestsQueryResult>;\n  }\n  interface ReviewRequestsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'failedOptions' | 'failedOptions.reason' | 'failedOptions.message' | 'sentOptions' | 'sentOptions.opened' | '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'sendDate' | 'namespace' | 'eventId' | 'eventLabel' | 'entitiesToReview.id' | 'entitiesToReview.reviewData' | 'entitiesToReview.reviewData.reviewId' | 'entitiesToReview.reviewData.reviewSource' | 'recipient' | 'recipient.contactId' | 'activationId' | 'communicationChannel' | 'status' | 'opened' | 'extendedFields', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'failedOptions' | 'failedOptions.reason' | 'failedOptions.message' | 'sentOptions' | 'sentOptions.opened' | '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'sendDate' | 'namespace' | 'eventId' | 'eventLabel' | 'entitiesToReview.id' | 'entitiesToReview.reviewData' | 'entitiesToReview.reviewData.reviewId' | 'entitiesToReview.reviewData.reviewSource' | 'recipient' | 'recipient.contactId' | 'activationId' | 'communicationChannel' | 'status' | 'opened' | 'extendedFields', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'sendDate', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'sendDate', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'sendDate', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'revision' | '_createdDate' | '_updatedDate' | 'sendDate', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'failedOptions.message' | '_id' | 'namespace' | 'eventId' | 'eventLabel' | 'entitiesToReview.id' | 'entitiesToReview.reviewData.reviewId' | 'recipient.contactId' | 'activationId', value: string) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'failedOptions' | 'failedOptions.reason' | 'failedOptions.message' | 'sentOptions' | 'sentOptions.opened' | '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'sendDate' | 'namespace' | 'eventId' | 'eventLabel' | 'entitiesToReview.id' | 'entitiesToReview.reviewData' | 'entitiesToReview.reviewData.reviewId' | 'entitiesToReview.reviewData.reviewSource' | 'recipient' | 'recipient.contactId' | 'activationId' | 'communicationChannel' | 'status' | 'opened' | 'extendedFields', value: any[]) => ReviewRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'failedOptions' | 'failedOptions.reason' | 'failedOptions.message' | 'sentOptions' | 'sentOptions.opened' | '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'sendDate' | 'namespace' | 'eventId' | 'eventLabel' | 'entitiesToReview.id' | 'entitiesToReview.reviewData' | 'entitiesToReview.reviewData.reviewId' | 'entitiesToReview.reviewData.reviewSource' | 'recipient' | 'recipient.contactId' | 'activationId' | 'communicationChannel' | 'status' | 'opened' | 'extendedFields', value: any) => ReviewRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'failedOptions' | 'failedOptions.reason' | 'failedOptions.message' | 'sentOptions' | 'sentOptions.opened' | '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'sendDate' | 'namespace' | 'eventId' | 'eventLabel' | 'entitiesToReview.id' | 'entitiesToReview.reviewData' | 'entitiesToReview.reviewData.reviewId' | 'entitiesToReview.reviewData.reviewSource' | 'recipient' | 'recipient.contactId' | 'activationId' | 'communicationChannel' | 'status' | 'opened' | 'extendedFields', value: boolean) => ReviewRequestsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'failedOptions' | 'failedOptions.reason' | 'failedOptions.message' | 'sentOptions' | 'sentOptions.opened' | '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'sendDate' | 'namespace' | 'eventId' | 'eventLabel' | 'entitiesToReview' | 'entitiesToReview.id' | 'entitiesToReview.reviewData' | 'entitiesToReview.reviewData.reviewId' | 'entitiesToReview.reviewData.reviewSource' | 'recipient' | 'recipient.contactId' | 'activationId' | 'communicationChannel' | 'status' | 'opened' | 'extendedFields' | 'extendedFields.namespaces'>) => ReviewRequestsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'failedOptions' | 'failedOptions.reason' | 'failedOptions.message' | 'sentOptions' | 'sentOptions.opened' | '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'sendDate' | 'namespace' | 'eventId' | 'eventLabel' | 'entitiesToReview' | 'entitiesToReview.id' | 'entitiesToReview.reviewData' | 'entitiesToReview.reviewData.reviewId' | 'entitiesToReview.reviewData.reviewSource' | 'recipient' | 'recipient.contactId' | 'activationId' | 'communicationChannel' | 'status' | 'opened' | 'extendedFields' | 'extendedFields.namespaces'>) => ReviewRequestsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReviewRequestsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReviewRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReviewRequestsQueryResult>;\n  }\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId REVIEWS.REVIEW_REQUEST_READ\n   * @adminMethod\n   */\n  function countReviewRequests(options?: CountReviewRequestsOptions): Promise<CountReviewRequestsResponse>;\n  interface CountReviewRequestsOptions {\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Bulk Cancel Review Request\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REVIEWS.REVIEW_REQUEST_CANCEL\n   * @adminMethod\n   */\n  function bulkCancelReviewRequest(options?: BulkCancelReviewRequestOptions): Promise<BulkCancelReviewRequestResponse>;\n  interface BulkCancelReviewRequestOptions {\n      filter?: Record<string, any> | null;\n  }\n  \n  export { ActionEvent, ActivationStatus, BulkCancelReviewRequestOptions, BulkCancelReviewRequestRequest, BulkCancelReviewRequestResponse, CommunicationChannel, CountReviewRequestsOptions, CountReviewRequestsRequest, CountReviewRequestsResponse, CreateReviewRequestRequest, CreateReviewRequestResponse, CursorPaging, CursorPagingMetadata, CursorQuery, CursorQueryPagingMethodOneOf, Cursors, DeleteReviewRequestRequest, DeleteReviewRequestResponse, DomainEvent, DomainEventBodyOneOf, Empty, Entity, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, ExtendedFields, FailedOptions, FailureReason, GetReviewRequestRequest, GetReviewRequestResponse, IdentificationData, IdentificationDataIdOneOf, MessageEnvelope, QueryReviewRequestsRequest, QueryReviewRequestsResponse, Recipient, RestoreInfo, ReviewData, ReviewRequest, ReviewRequestStatus, ReviewRequestStatusOptionsOneOf, ReviewRequestsQueryBuilder, ReviewRequestsQueryResult, ReviewSource, SentOptions, SortOrder, Sorting, Status, WebhookIdentityType, bulkCancelReviewRequest, countReviewRequests, createReviewRequest, deleteReviewRequest, getReviewRequest, queryReviewRequests };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-site-actions.v2.d.ts",
      "content": "declare module \"wix-site-actions.v2\" {\n  /**\n   * A package is group of instances of Wix services that a reseller offers to a\n   * customer as part of a single transaction.\n   */\n  interface EmptyEntity {\n  }\n  interface PublishSiteRequest {\n  }\n  interface PublishSiteResponse {\n  }\n  interface DuplicateSiteRequest {\n      /** ID of the site to duplicated. */\n      sourceSiteId: string;\n      /** Display name for the new site. */\n      siteDisplayName: string;\n  }\n  interface DuplicateSiteResponse {\n      /** ID of the new site. */\n      newSiteId?: string;\n  }\n  interface BulkDeleteSiteRequest {\n      /**\n       * Site IDs.\n       *\n       * Min: 1 site ID <br>\n       * Max: 20 site IDs\n       */\n      ids: string[];\n  }\n  interface BulkDeleteSiteResponse {\n      /** List of deletion results. */\n      results?: BulkSiteResult[];\n      /** Summary of deletion data. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkSiteResult {\n      /** Result of deletion request per site describing the success or failure of each deletion. */\n      itemMetadata?: ItemMetadata;\n  }\n  interface ItemMetadata {\n      /** Site ID. */\n      _id?: string | null;\n      /** Index of the site in the request array. Allows for correlation between request and response. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for the site. When `false`, the action failed and an `error` object is populated. */\n      success?: boolean;\n      /** Details about the error. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of error. */\n      description?: string;\n  }\n  interface BulkActionMetadata {\n      /** Number of sites that were deleted successfully. */\n      totalSuccesses?: number;\n      /** Number of sites that were not deleted successfully. */\n      totalFailures?: number;\n  }\n  /**\n   * Publishes a site.\n   *\n   * Publishing a site makes any changes previously saved on the site available on the internet.\n   * After publishing, changes to your site appear in the [site's history](https://support.wix.com/en/article/viewing-and-managing-your-site-history).\n   *\n   * When you call this API, you must pass a header called `wix-site-id` whose value is the ID of the site you want to publish. Learn more about\n   * working with [API keys and site IDs](https://dev.wix.com/docs/rest/articles/getting-started/api-keys#create-and-use-api-keys).\n   *\n   * >**Important:** This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function publishSite(): Promise<void>;\n  /**\n   * Duplicates a site with a new site name.\n   *\n   * > **Note:** When you duplicate a site, some business-related content such as store orders, contacts, invoices, and 3rd-party app settings are not be included.\n   * > The duplicated site won’t have a domain or any Premium capabilities.\n   *\n   * Any installed apps that can be used only on sites with a Premium Plan, will be copied to the duplicated site and\n   * will appear unactivated. Once the site is upgraded, the app will be available for use.\n   *\n   * > **Important:** This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param sourceSiteId - ID of the site to duplicated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.siteDisplayName\n   * @requiredField sourceSiteId\n   * @adminMethod\n   */\n  function duplicateSite(sourceSiteId: string, options: DuplicateSiteOptions): Promise<DuplicateSiteResponse>;\n  interface DuplicateSiteOptions {\n      /** Display name for the new site. */\n      siteDisplayName: string;\n  }\n  /**\n   * This endpoint enables you to delete multiple sites.\n   *\n   * This is not a permanent delete. Sites are moved to the trash bin and can be restored through site collaborators.\n   *\n   * Learn more about [deleting multiple sites](https://support.wix.com/en/article/moving-a-site-to-trash).\n   *\n   * > **Important:** This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param ids - Site IDs.\n   *\n   * Min: 1 site ID <br>\n   * Max: 20 site IDs\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @adminMethod\n   */\n  function bulkDeleteSite(ids: string[]): Promise<BulkDeleteSiteResponse>;\n  \n  type siteActionsV1SiteActions_universal_d_EmptyEntity = EmptyEntity;\n  type siteActionsV1SiteActions_universal_d_PublishSiteRequest = PublishSiteRequest;\n  type siteActionsV1SiteActions_universal_d_PublishSiteResponse = PublishSiteResponse;\n  type siteActionsV1SiteActions_universal_d_DuplicateSiteRequest = DuplicateSiteRequest;\n  type siteActionsV1SiteActions_universal_d_DuplicateSiteResponse = DuplicateSiteResponse;\n  type siteActionsV1SiteActions_universal_d_BulkDeleteSiteRequest = BulkDeleteSiteRequest;\n  type siteActionsV1SiteActions_universal_d_BulkDeleteSiteResponse = BulkDeleteSiteResponse;\n  type siteActionsV1SiteActions_universal_d_BulkSiteResult = BulkSiteResult;\n  type siteActionsV1SiteActions_universal_d_ItemMetadata = ItemMetadata;\n  type siteActionsV1SiteActions_universal_d_ApplicationError = ApplicationError;\n  type siteActionsV1SiteActions_universal_d_BulkActionMetadata = BulkActionMetadata;\n  const siteActionsV1SiteActions_universal_d_publishSite: typeof publishSite;\n  const siteActionsV1SiteActions_universal_d_duplicateSite: typeof duplicateSite;\n  type siteActionsV1SiteActions_universal_d_DuplicateSiteOptions = DuplicateSiteOptions;\n  const siteActionsV1SiteActions_universal_d_bulkDeleteSite: typeof bulkDeleteSite;\n  namespace siteActionsV1SiteActions_universal_d {\n    export {\n      siteActionsV1SiteActions_universal_d_EmptyEntity as EmptyEntity,\n      siteActionsV1SiteActions_universal_d_PublishSiteRequest as PublishSiteRequest,\n      siteActionsV1SiteActions_universal_d_PublishSiteResponse as PublishSiteResponse,\n      siteActionsV1SiteActions_universal_d_DuplicateSiteRequest as DuplicateSiteRequest,\n      siteActionsV1SiteActions_universal_d_DuplicateSiteResponse as DuplicateSiteResponse,\n      siteActionsV1SiteActions_universal_d_BulkDeleteSiteRequest as BulkDeleteSiteRequest,\n      siteActionsV1SiteActions_universal_d_BulkDeleteSiteResponse as BulkDeleteSiteResponse,\n      siteActionsV1SiteActions_universal_d_BulkSiteResult as BulkSiteResult,\n      siteActionsV1SiteActions_universal_d_ItemMetadata as ItemMetadata,\n      siteActionsV1SiteActions_universal_d_ApplicationError as ApplicationError,\n      siteActionsV1SiteActions_universal_d_BulkActionMetadata as BulkActionMetadata,\n      siteActionsV1SiteActions_universal_d_publishSite as publishSite,\n      siteActionsV1SiteActions_universal_d_duplicateSite as duplicateSite,\n      siteActionsV1SiteActions_universal_d_DuplicateSiteOptions as DuplicateSiteOptions,\n      siteActionsV1SiteActions_universal_d_bulkDeleteSite as bulkDeleteSite,\n    };\n  }\n  \n  export { siteActionsV1SiteActions_universal_d as siteActions };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-members-area.v1.d.ts",
      "content": "declare module \"wix-members-area.v1\" {\n  interface MembersAreaSiteConfiguration extends MembersAreaSiteConfigurationValueOneOf {\n      stringValue?: string | null;\n      booleanValue?: boolean | null;\n      /**\n       * SiteConfiguration ID.\n       * @readonly\n       */\n      _id?: string | null;\n      key?: string | null;\n      /**\n       * Date and time the SiteConfiguration was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the SiteConfiguration was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /** @oneof */\n  interface MembersAreaSiteConfigurationValueOneOf {\n      stringValue?: string | null;\n      booleanValue?: boolean | null;\n  }\n  interface CreateMembersAreaSiteConfigurationRequest {\n      /** SiteConfiguration to be created. */\n      membersAreaSiteConfiguration: MembersAreaSiteConfiguration;\n  }\n  interface CreateMembersAreaSiteConfigurationResponse {\n      /** The created SiteConfiguration. */\n      membersAreaSiteConfiguration?: MembersAreaSiteConfiguration;\n  }\n  interface BulkCreateMembersAreaSiteConfigurationRequest {\n      membersAreaSiteConfigurations: MembersAreaSiteConfiguration[];\n      /** set to `true` if you wish to receive back the created MembersAreaSiteConfigurations in the response */\n      returnEntity?: boolean;\n  }\n  interface BulkCreateMembersAreaSiteConfigurationResponse {\n      results?: BulkMembersAreaSiteConfigurationResult[];\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkMembersAreaSiteConfigurationResult {\n      itemMetadata?: ItemMetadata;\n      /** Only exists if `returnEntity` was set to true in the request */\n      item?: MembersAreaSiteConfiguration;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface GetMembersAreaSiteConfigurationRequest {\n      /** ID of the SiteConfiguration to retrieve. */\n      membersAreaSiteConfigurationId: string;\n  }\n  interface GetMembersAreaSiteConfigurationResponse {\n      /** The requested SiteConfiguration. */\n      membersAreaSiteConfiguration?: MembersAreaSiteConfiguration;\n  }\n  interface GetMembersAreaSiteConfigurationByKeyRequest {\n      /** KEY field of the SiteConfiguration to retrieve. */\n      membersAreaSiteConfigurationKey: string;\n  }\n  interface GetMembersAreaSiteConfigurationByKeyResponse {\n      /** The requested SiteConfiguration. */\n      membersAreaSiteConfiguration?: MembersAreaSiteConfiguration;\n  }\n  interface QueryMembersAreaSiteConfigurationsRequest {\n      /** WQL expression. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryMembersAreaSiteConfigurationsResponse {\n      /** List of SiteConfigurations. */\n      membersAreaSiteConfigurations?: MembersAreaSiteConfiguration[];\n      /** Paging metadata */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateMembersAreaSiteConfigurationRequest {\n      /** SiteConfiguration to be updated, may be partial. */\n      membersAreaSiteConfiguration: MembersAreaSiteConfiguration;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask: string[];\n  }\n  interface UpdateMembersAreaSiteConfigurationResponse {\n      /** Updated SiteConfiguration. */\n      membersAreaSiteConfiguration?: MembersAreaSiteConfiguration;\n  }\n  interface UpdateMembersAreaSiteConfigurationValueByKeyRequest {\n      /** SiteConfiguration with existing key and updated value. */\n      membersAreaSiteConfiguration: MembersAreaSiteConfiguration;\n  }\n  interface UpdateMembersAreaSiteConfigurationValueByKeyResponse {\n      /** Updated SiteConfiguration. */\n      membersAreaSiteConfiguration?: MembersAreaSiteConfiguration;\n  }\n  interface DeleteMembersAreaSiteConfigurationRequest {\n      /** Id of the SiteConfiguration to delete. */\n      membersAreaSiteConfigurationId: string;\n  }\n  interface DeleteMembersAreaSiteConfigurationResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /** @param membersAreaSiteConfiguration - SiteConfiguration to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField membersAreaSiteConfiguration\n   * @requiredField membersAreaSiteConfiguration.key\n   * @permissionId MEMBERS.MEMBERS_AREA_SITE_CONFIGURATION_CREATE\n   * @adminMethod\n   * @returns The created SiteConfiguration.\n   */\n  function createMembersAreaSiteConfiguration(membersAreaSiteConfiguration: MembersAreaSiteConfiguration): Promise<MembersAreaSiteConfiguration>;\n  /**\n   * Creates up to 100 SiteConfigurations in a bulk.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField membersAreaSiteConfigurations\n   * @requiredField membersAreaSiteConfigurations.key\n   * @permissionId MEMBERS.MEMBERS_AREA_SITE_CONFIGURATION_CREATE\n   * @adminMethod\n   */\n  function bulkCreateMembersAreaSiteConfiguration(membersAreaSiteConfigurations: MembersAreaSiteConfiguration[], options?: BulkCreateMembersAreaSiteConfigurationOptions): Promise<BulkCreateMembersAreaSiteConfigurationResponse>;\n  interface BulkCreateMembersAreaSiteConfigurationOptions {\n      /** set to `true` if you wish to receive back the created MembersAreaSiteConfigurations in the response */\n      returnEntity?: boolean;\n  }\n  /**\n   * Retrieves a SiteConfiguration by ID.\n   * @param membersAreaSiteConfigurationId - ID of the SiteConfiguration to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField membersAreaSiteConfigurationId\n   * @permissionId MEMBERS.MEMBERS_AREA_SITE_CONFIGURATION_READ\n   * @adminMethod\n   * @returns The requested SiteConfiguration.\n   */\n  function getMembersAreaSiteConfiguration(membersAreaSiteConfigurationId: string): Promise<MembersAreaSiteConfiguration>;\n  /** @param membersAreaSiteConfigurationKey - KEY field of the SiteConfiguration to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField membersAreaSiteConfigurationKey\n   * @permissionId MEMBERS.MEMBERS_AREA_SITE_CONFIGURATION_READ\n   * @adminMethod\n   */\n  function getMembersAreaSiteConfigurationByKey(membersAreaSiteConfigurationKey: string): Promise<GetMembersAreaSiteConfigurationByKeyResponse>;\n  /**\n   * Retrieves a list of SiteConfigurations, given the provided [paging, filtering, and sorting][1].\n   * Up to 1,000 SiteConfigurations can be returned per request.\n   * To learn how to query SiteConfigurations, see [API Query Language][2].\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.MEMBERS_AREA_SITE_CONFIGURATION_READ\n   * @adminMethod\n   */\n  function queryMembersAreaSiteConfigurations(): MembersAreaSiteConfigurationsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface MembersAreaSiteConfigurationsQueryResult extends QueryCursorResult {\n      items: MembersAreaSiteConfiguration[];\n      query: MembersAreaSiteConfigurationsQueryBuilder;\n      next: () => Promise<MembersAreaSiteConfigurationsQueryResult>;\n      prev: () => Promise<MembersAreaSiteConfigurationsQueryResult>;\n  }\n  interface MembersAreaSiteConfigurationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'stringValue' | 'booleanValue' | '_id' | 'key', value: any) => MembersAreaSiteConfigurationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'stringValue' | 'booleanValue' | '_id' | 'key', value: any) => MembersAreaSiteConfigurationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: 'stringValue' | '_id' | 'key', value: string) => MembersAreaSiteConfigurationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'stringValue' | 'booleanValue' | '_id' | 'key', value: any[]) => MembersAreaSiteConfigurationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'stringValue' | 'booleanValue' | '_id' | 'key', value: any) => MembersAreaSiteConfigurationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'stringValue' | 'booleanValue' | '_id' | 'key', value: boolean) => MembersAreaSiteConfigurationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'stringValue' | 'booleanValue' | '_id' | 'key'>) => MembersAreaSiteConfigurationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => MembersAreaSiteConfigurationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => MembersAreaSiteConfigurationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<MembersAreaSiteConfigurationsQueryResult>;\n  }\n  /**\n   * Updates the SiteConfiguration.\n   * @param _id - SiteConfiguration ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField membersAreaSiteConfiguration\n   * @permissionId MEMBERS.MEMBERS_AREA_SITE_CONFIGURATION_UPDATE\n   * @adminMethod\n   * @returns Updated SiteConfiguration.\n   */\n  function updateMembersAreaSiteConfiguration(_id: string | null, membersAreaSiteConfiguration: UpdateMembersAreaSiteConfiguration, options?: UpdateMembersAreaSiteConfigurationOptions): Promise<MembersAreaSiteConfiguration>;\n  interface UpdateMembersAreaSiteConfiguration {\n      stringValue?: string | null;\n      booleanValue?: boolean | null;\n      /**\n       * SiteConfiguration ID.\n       * @readonly\n       */\n      _id?: string | null;\n      key?: string | null;\n      /**\n       * Date and time the SiteConfiguration was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the SiteConfiguration was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateMembersAreaSiteConfigurationOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      fieldMask: string[];\n  }\n  /**\n   * Updates the SiteConfiguration value by key.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField key\n   * @requiredField membersAreaSiteConfiguration\n   * @permissionId MEMBERS.MEMBERS_AREA_SITE_CONFIGURATION_UPDATE\n   * @adminMethod\n   */\n  function updateMembersAreaSiteConfigurationValueByKey(key: string | null, membersAreaSiteConfiguration: UpdateMembersAreaSiteConfigurationValueByKeyMembersAreaSiteConfiguration): Promise<UpdateMembersAreaSiteConfigurationValueByKeyResponse>;\n  interface UpdateMembersAreaSiteConfigurationValueByKeyMembersAreaSiteConfiguration {\n      stringValue?: string | null;\n      booleanValue?: boolean | null;\n      /**\n       * SiteConfiguration ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date and time the SiteConfiguration was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the SiteConfiguration was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /**\n   * Deletes the SiteConfiguration.\n   * @param membersAreaSiteConfigurationId - Id of the SiteConfiguration to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField membersAreaSiteConfigurationId\n   * @permissionId MEMBERS.MEMBERS_AREA_SITE_CONFIGURATION_DELETE\n   * @adminMethod\n   */\n  function deleteMembersAreaSiteConfiguration(membersAreaSiteConfigurationId: string): Promise<void>;\n  \n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_MembersAreaSiteConfiguration = MembersAreaSiteConfiguration;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_MembersAreaSiteConfigurationValueOneOf = MembersAreaSiteConfigurationValueOneOf;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_CreateMembersAreaSiteConfigurationRequest = CreateMembersAreaSiteConfigurationRequest;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_CreateMembersAreaSiteConfigurationResponse = CreateMembersAreaSiteConfigurationResponse;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_BulkCreateMembersAreaSiteConfigurationRequest = BulkCreateMembersAreaSiteConfigurationRequest;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_BulkCreateMembersAreaSiteConfigurationResponse = BulkCreateMembersAreaSiteConfigurationResponse;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_BulkMembersAreaSiteConfigurationResult = BulkMembersAreaSiteConfigurationResult;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_ItemMetadata = ItemMetadata;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_ApplicationError = ApplicationError;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_GetMembersAreaSiteConfigurationRequest = GetMembersAreaSiteConfigurationRequest;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_GetMembersAreaSiteConfigurationResponse = GetMembersAreaSiteConfigurationResponse;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_GetMembersAreaSiteConfigurationByKeyRequest = GetMembersAreaSiteConfigurationByKeyRequest;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_GetMembersAreaSiteConfigurationByKeyResponse = GetMembersAreaSiteConfigurationByKeyResponse;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_QueryMembersAreaSiteConfigurationsRequest = QueryMembersAreaSiteConfigurationsRequest;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_CursorQuery = CursorQuery;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_Sorting = Sorting;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_SortOrder = SortOrder;\n  const membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_SortOrder: typeof SortOrder;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_CursorPaging = CursorPaging;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_QueryMembersAreaSiteConfigurationsResponse = QueryMembersAreaSiteConfigurationsResponse;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_Cursors = Cursors;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationRequest = UpdateMembersAreaSiteConfigurationRequest;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationResponse = UpdateMembersAreaSiteConfigurationResponse;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationValueByKeyRequest = UpdateMembersAreaSiteConfigurationValueByKeyRequest;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationValueByKeyResponse = UpdateMembersAreaSiteConfigurationValueByKeyResponse;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_DeleteMembersAreaSiteConfigurationRequest = DeleteMembersAreaSiteConfigurationRequest;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_DeleteMembersAreaSiteConfigurationResponse = DeleteMembersAreaSiteConfigurationResponse;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_DomainEvent = DomainEvent;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_RestoreInfo = RestoreInfo;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_ActionEvent = ActionEvent;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_MessageEnvelope = MessageEnvelope;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_IdentificationData = IdentificationData;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_createMembersAreaSiteConfiguration: typeof createMembersAreaSiteConfiguration;\n  const membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_bulkCreateMembersAreaSiteConfiguration: typeof bulkCreateMembersAreaSiteConfiguration;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_BulkCreateMembersAreaSiteConfigurationOptions = BulkCreateMembersAreaSiteConfigurationOptions;\n  const membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_getMembersAreaSiteConfiguration: typeof getMembersAreaSiteConfiguration;\n  const membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_getMembersAreaSiteConfigurationByKey: typeof getMembersAreaSiteConfigurationByKey;\n  const membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_queryMembersAreaSiteConfigurations: typeof queryMembersAreaSiteConfigurations;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_MembersAreaSiteConfigurationsQueryResult = MembersAreaSiteConfigurationsQueryResult;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_MembersAreaSiteConfigurationsQueryBuilder = MembersAreaSiteConfigurationsQueryBuilder;\n  const membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_updateMembersAreaSiteConfiguration: typeof updateMembersAreaSiteConfiguration;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfiguration = UpdateMembersAreaSiteConfiguration;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationOptions = UpdateMembersAreaSiteConfigurationOptions;\n  const membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_updateMembersAreaSiteConfigurationValueByKey: typeof updateMembersAreaSiteConfigurationValueByKey;\n  type membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationValueByKeyMembersAreaSiteConfiguration = UpdateMembersAreaSiteConfigurationValueByKeyMembersAreaSiteConfiguration;\n  const membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_deleteMembersAreaSiteConfiguration: typeof deleteMembersAreaSiteConfiguration;\n  namespace membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d {\n    export {\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_MembersAreaSiteConfiguration as MembersAreaSiteConfiguration,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_MembersAreaSiteConfigurationValueOneOf as MembersAreaSiteConfigurationValueOneOf,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_CreateMembersAreaSiteConfigurationRequest as CreateMembersAreaSiteConfigurationRequest,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_CreateMembersAreaSiteConfigurationResponse as CreateMembersAreaSiteConfigurationResponse,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_BulkCreateMembersAreaSiteConfigurationRequest as BulkCreateMembersAreaSiteConfigurationRequest,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_BulkCreateMembersAreaSiteConfigurationResponse as BulkCreateMembersAreaSiteConfigurationResponse,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_BulkMembersAreaSiteConfigurationResult as BulkMembersAreaSiteConfigurationResult,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_ItemMetadata as ItemMetadata,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_ApplicationError as ApplicationError,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_BulkActionMetadata as BulkActionMetadata,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_GetMembersAreaSiteConfigurationRequest as GetMembersAreaSiteConfigurationRequest,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_GetMembersAreaSiteConfigurationResponse as GetMembersAreaSiteConfigurationResponse,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_GetMembersAreaSiteConfigurationByKeyRequest as GetMembersAreaSiteConfigurationByKeyRequest,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_GetMembersAreaSiteConfigurationByKeyResponse as GetMembersAreaSiteConfigurationByKeyResponse,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_QueryMembersAreaSiteConfigurationsRequest as QueryMembersAreaSiteConfigurationsRequest,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_CursorQuery as CursorQuery,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_Sorting as Sorting,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_SortOrder as SortOrder,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_CursorPaging as CursorPaging,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_QueryMembersAreaSiteConfigurationsResponse as QueryMembersAreaSiteConfigurationsResponse,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_Cursors as Cursors,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationRequest as UpdateMembersAreaSiteConfigurationRequest,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationResponse as UpdateMembersAreaSiteConfigurationResponse,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationValueByKeyRequest as UpdateMembersAreaSiteConfigurationValueByKeyRequest,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationValueByKeyResponse as UpdateMembersAreaSiteConfigurationValueByKeyResponse,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_DeleteMembersAreaSiteConfigurationRequest as DeleteMembersAreaSiteConfigurationRequest,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_DeleteMembersAreaSiteConfigurationResponse as DeleteMembersAreaSiteConfigurationResponse,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_DomainEvent as DomainEvent,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_RestoreInfo as RestoreInfo,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_ActionEvent as ActionEvent,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_MessageEnvelope as MessageEnvelope,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_IdentificationData as IdentificationData,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_WebhookIdentityType as WebhookIdentityType,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_createMembersAreaSiteConfiguration as createMembersAreaSiteConfiguration,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_bulkCreateMembersAreaSiteConfiguration as bulkCreateMembersAreaSiteConfiguration,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_BulkCreateMembersAreaSiteConfigurationOptions as BulkCreateMembersAreaSiteConfigurationOptions,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_getMembersAreaSiteConfiguration as getMembersAreaSiteConfiguration,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_getMembersAreaSiteConfigurationByKey as getMembersAreaSiteConfigurationByKey,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_queryMembersAreaSiteConfigurations as queryMembersAreaSiteConfigurations,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_MembersAreaSiteConfigurationsQueryResult as MembersAreaSiteConfigurationsQueryResult,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_MembersAreaSiteConfigurationsQueryBuilder as MembersAreaSiteConfigurationsQueryBuilder,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_updateMembersAreaSiteConfiguration as updateMembersAreaSiteConfiguration,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfiguration as UpdateMembersAreaSiteConfiguration,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationOptions as UpdateMembersAreaSiteConfigurationOptions,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_updateMembersAreaSiteConfigurationValueByKey as updateMembersAreaSiteConfigurationValueByKey,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_UpdateMembersAreaSiteConfigurationValueByKeyMembersAreaSiteConfiguration as UpdateMembersAreaSiteConfigurationValueByKeyMembersAreaSiteConfiguration,\n      membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d_deleteMembersAreaSiteConfiguration as deleteMembersAreaSiteConfiguration,\n    };\n  }\n  \n  /** Fake FQDN to comply with the rules */\n  interface SantaMember {\n      /** fake id */\n      _id?: string | null;\n  }\n  interface GetMyMemberPageRequest {\n      /** My member page config */\n      config?: Config;\n      /** My member page full url */\n      fullUrl?: string;\n      /** My member page roles */\n      pageRoles?: Record<string, PageRole>;\n      /** My member page request info */\n      requestInfo?: RequestInfo;\n      /** My member page router prefix */\n      routerPrefix?: string;\n      /** My member page router suffix */\n      routerSuffix?: string;\n  }\n  interface Config {\n      /** Configuration patterns */\n      patterns?: Record<string, Pattern>;\n      /** Configuration type */\n      type?: string;\n  }\n  interface Pattern {\n      /** Pattern app data */\n      appData?: AppData;\n      /** Pattern page id */\n      page?: string;\n      /** Pattern seo data */\n      seoData?: SeoData;\n      /** Pattern social home flag */\n      socialHome?: boolean;\n      /** Pattern page title */\n      title?: string;\n  }\n  interface AppData {\n      /** App definition id */\n      appDefinitionId?: string;\n      /** App page id */\n      appPageId?: string;\n      /** App menu order */\n      menuOrder?: number;\n      /** App numbers */\n      numbers?: Numbers;\n      /** Which roles app is visible to */\n      visibleForRoles?: string[] | null;\n  }\n  interface Numbers {\n      /** Number default value */\n      default?: number;\n      /** Number key */\n      key?: string;\n  }\n  interface SeoData {\n      /** SEO description */\n      description?: string | null;\n      /** SEO keywords */\n      keywords?: string | null;\n      /** SEO no index flag */\n      noIndex?: string;\n      /** SEO title */\n      title?: string;\n  }\n  interface PageRole {\n      /** Page role id */\n      _id?: string;\n      /** Page title */\n      title?: string;\n  }\n  interface RequestInfo {\n      /** Request info environment */\n      env?: string;\n      /** Request form factor */\n      formFactor?: string;\n  }\n  interface GetMyMemberPageResponse {\n      /** Get mt member page result */\n      result?: MemberPageResult;\n  }\n  interface MemberPageResult {\n      /** Data Struct can return types of FullData or RolesData messages. */\n      data?: Record<string, any> | null;\n      /** Page head */\n      head?: Head;\n      /** A message */\n      message?: string | null;\n      /** Page id */\n      page?: string;\n      /** Public data */\n      publicData?: PublicData;\n      /** Page redirect url */\n      redirectUrl?: string | null;\n      /** Page status */\n      status?: number;\n      /** Page tpa inner route */\n      tpaInnerRoute?: string | null;\n  }\n  interface Head {\n      /** Head description */\n      description?: string | null;\n      /** Head keywords */\n      keywords?: string | null;\n      /** Head meta tags */\n      metaTags?: Record<string, string>;\n      /** Head no index flag */\n      noIndex?: string;\n      /** Head title */\n      title?: string | null;\n  }\n  interface PublicData {\n      /** Viewed member */\n      viewedUser?: ViewedUser;\n  }\n  interface ViewedUser {\n      /** Viewed member id */\n      _id?: string;\n      /** Viewed member name */\n      name?: string | null;\n      /** Viewed member roles */\n      roles?: string[];\n      /** Viewed member slug */\n      slug?: string | null;\n  }\n  interface GetSiteMapRequest {\n      /** Get site map configuration */\n      config?: Config;\n      /** Get site map url of the page */\n      fullUrl?: string;\n      /** Get site map page roles */\n      pageRoles?: Record<string, PageRole>;\n      /** Get site map request info */\n      requestInfo?: RequestInfo;\n      /** Get site map router prefix */\n      routerPrefix?: string;\n      /** Get site map router suffix */\n      routerSuffix?: string;\n  }\n  interface GetSiteMapResponse {\n      /** Site map result */\n      result?: any;\n  }\n  /**\n   * Returns my member page\n   * @public\n   * @documentationMaturity preview\n   * @permissionId MEMBERS.SANTA_MEMBERS_MY_MEMBER_PAGE_READ\n   */\n  function getMyMemberPage(options?: GetMyMemberPageOptions): Promise<GetMyMemberPageResponse>;\n  interface GetMyMemberPageOptions {\n      /** My member page config */\n      config?: Config;\n      /** My member page full url */\n      fullUrl?: string;\n      /** My member page roles */\n      pageRoles?: Record<string, PageRole>;\n      /** My member page request info */\n      requestInfo?: RequestInfo;\n      /** My member page router prefix */\n      routerPrefix?: string;\n      /** My member page router suffix */\n      routerSuffix?: string;\n  }\n  /**\n   * Returns site map\n   * No permission as the request can be made by anything pretty much\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getSiteMap(options?: GetSiteMapOptions): Promise<GetSiteMapResponse>;\n  interface GetSiteMapOptions {\n      /** Get site map configuration */\n      config?: Config;\n      /** Get site map url of the page */\n      fullUrl?: string;\n      /** Get site map page roles */\n      pageRoles?: Record<string, PageRole>;\n      /** Get site map request info */\n      requestInfo?: RequestInfo;\n      /** Get site map router prefix */\n      routerPrefix?: string;\n      /** Get site map router suffix */\n      routerSuffix?: string;\n  }\n  \n  type membersV1SantaMember_universal_d_SantaMember = SantaMember;\n  type membersV1SantaMember_universal_d_GetMyMemberPageRequest = GetMyMemberPageRequest;\n  type membersV1SantaMember_universal_d_Config = Config;\n  type membersV1SantaMember_universal_d_Pattern = Pattern;\n  type membersV1SantaMember_universal_d_AppData = AppData;\n  type membersV1SantaMember_universal_d_Numbers = Numbers;\n  type membersV1SantaMember_universal_d_SeoData = SeoData;\n  type membersV1SantaMember_universal_d_PageRole = PageRole;\n  type membersV1SantaMember_universal_d_RequestInfo = RequestInfo;\n  type membersV1SantaMember_universal_d_GetMyMemberPageResponse = GetMyMemberPageResponse;\n  type membersV1SantaMember_universal_d_MemberPageResult = MemberPageResult;\n  type membersV1SantaMember_universal_d_Head = Head;\n  type membersV1SantaMember_universal_d_PublicData = PublicData;\n  type membersV1SantaMember_universal_d_ViewedUser = ViewedUser;\n  type membersV1SantaMember_universal_d_GetSiteMapRequest = GetSiteMapRequest;\n  type membersV1SantaMember_universal_d_GetSiteMapResponse = GetSiteMapResponse;\n  const membersV1SantaMember_universal_d_getMyMemberPage: typeof getMyMemberPage;\n  type membersV1SantaMember_universal_d_GetMyMemberPageOptions = GetMyMemberPageOptions;\n  const membersV1SantaMember_universal_d_getSiteMap: typeof getSiteMap;\n  type membersV1SantaMember_universal_d_GetSiteMapOptions = GetSiteMapOptions;\n  namespace membersV1SantaMember_universal_d {\n    export {\n      membersV1SantaMember_universal_d_SantaMember as SantaMember,\n      membersV1SantaMember_universal_d_GetMyMemberPageRequest as GetMyMemberPageRequest,\n      membersV1SantaMember_universal_d_Config as Config,\n      membersV1SantaMember_universal_d_Pattern as Pattern,\n      membersV1SantaMember_universal_d_AppData as AppData,\n      membersV1SantaMember_universal_d_Numbers as Numbers,\n      membersV1SantaMember_universal_d_SeoData as SeoData,\n      membersV1SantaMember_universal_d_PageRole as PageRole,\n      membersV1SantaMember_universal_d_RequestInfo as RequestInfo,\n      membersV1SantaMember_universal_d_GetMyMemberPageResponse as GetMyMemberPageResponse,\n      membersV1SantaMember_universal_d_MemberPageResult as MemberPageResult,\n      membersV1SantaMember_universal_d_Head as Head,\n      membersV1SantaMember_universal_d_PublicData as PublicData,\n      membersV1SantaMember_universal_d_ViewedUser as ViewedUser,\n      membersV1SantaMember_universal_d_GetSiteMapRequest as GetSiteMapRequest,\n      membersV1SantaMember_universal_d_GetSiteMapResponse as GetSiteMapResponse,\n      membersV1SantaMember_universal_d_getMyMemberPage as getMyMemberPage,\n      membersV1SantaMember_universal_d_GetMyMemberPageOptions as GetMyMemberPageOptions,\n      membersV1SantaMember_universal_d_getSiteMap as getSiteMap,\n      membersV1SantaMember_universal_d_GetSiteMapOptions as GetSiteMapOptions,\n    };\n  }\n  \n  export { membersMembersareasiteconfigurationV1MembersAreaSiteConfiguration_universal_d as membersAreaSiteConfiguration, membersV1SantaMember_universal_d as santaMember };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-analytics-session.v1.d.ts",
      "content": "declare module \"wix-analytics-session.v1\" {\n  interface Session {\n      /** Session ID. */\n      _id?: string;\n  }\n  /** List sessions async request. */\n  interface ListSessionsAsyncRequest extends ListSessionsAsyncRequestPeriodOneOf, ListSessionsAsyncRequestParamsOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** Navigation flow details. */\n      navigationFlow?: NavigationFlowSessionsParams;\n      /** Conversion funnel details. The steps in the journey the visitor has taken on the site. */\n      conversionFunnel?: ConversionFunnelSessionsParams;\n      /** Device type. */\n      deviceType?: SessionsByDeviceParams;\n      /** User's timezone. Defaults to timezone as set in the [Site Properties API](https://dev.wix.com/docs/rest/business-management/site-properties/properties/properties-object). */\n      timezone?: string | null;\n  }\n  /** @oneof */\n  interface ListSessionsAsyncRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n  }\n  /** @oneof */\n  interface ListSessionsAsyncRequestParamsOneOf {\n      /** Navigation flow details. */\n      navigationFlow?: NavigationFlowSessionsParams;\n      /** Conversion funnel details. The steps in the journey the visitor has taken on the site. */\n      conversionFunnel?: ConversionFunnelSessionsParams;\n      /** Device type. */\n      deviceType?: SessionsByDeviceParams;\n  }\n  /** Custom time period. */\n  interface CustomTimePeriod {\n      /** Custom period start date in provided timezone. */\n      startDate?: string;\n      /**\n       * Custom period end date in provided timezone. Returned data will include all dates until the requested end date.\n       * For example, { startDate: '2024-01-01', endDate: '2024-01-03' } will return data for '2024-01-01' and '2024-01-02'\n       */\n      endDate?: string;\n  }\n  /**\n   * Predefined time period.\n   * `THIS_WEEK`begins with Monday.\n   */\n  enum PredefinedTimePeriod {\n      /** Today. */\n      TODAY = \"TODAY\",\n      /** Yesterday. */\n      YESTERDAY = \"YESTERDAY\",\n      /** Last 7 days. */\n      LAST_7_DAYS = \"LAST_7_DAYS\",\n      /** Last 14 days. */\n      LAST_14_DAYS = \"LAST_14_DAYS\",\n      /** Last 30 days. */\n      LAST_30_DAYS = \"LAST_30_DAYS\",\n      /** Last 90 days. */\n      LAST_90_DAYS = \"LAST_90_DAYS\",\n      /** Last 28 days. */\n      LAST_28_DAYS = \"LAST_28_DAYS\",\n      /** Last 180 days. */\n      LAST_180_DAYS = \"LAST_180_DAYS\",\n      /** Last 365 days. */\n      LAST_365_DAYS = \"LAST_365_DAYS\",\n      /** Current week, starting on Monday. */\n      THIS_WEEK = \"THIS_WEEK\",\n      /** Current month. */\n      THIS_MONTH = \"THIS_MONTH\",\n      /** Current quarter. */\n      THIS_QUARTER = \"THIS_QUARTER\",\n      /** This year. */\n      THIS_YEAR = \"THIS_YEAR\",\n      /** Last week (previous week). */\n      LAST_WEEK = \"LAST_WEEK\",\n      /** Last month. */\n      LAST_MONTH = \"LAST_MONTH\",\n      /** Last quarter. */\n      LAST_QUARTER = \"LAST_QUARTER\",\n      /** Last year. */\n      LAST_YEAR = \"LAST_YEAR\",\n      /** Last 12 months. */\n      LAST_12_MONTHS = \"LAST_12_MONTHS\"\n  }\n  /** Navigation flow details. */\n  interface NavigationFlowSessionsParams {\n      /**\n       * Page interactions, including where the user dropped off. For example:\n       * - [\"/{Homepage}\", \"__DROP__\"]: Sessions where a user visited the site's homepage and then dropped off.\n       * - [\"\", \"__DROP__\"]: Sessions where a user visited (any page) and then dropped off.\n       * - [\"\", \"\", \"__DROP__\"]: Session where a user visited any page, then navigated to any page, and then dropped off.\n       */\n      pageInteractions?: string[] | null;\n  }\n  /** Conversion funnel details, meaning the steps in the journey the visitor has taken on the site. */\n  interface ConversionFunnelSessionsParams {\n      /** Funnel step to include. */\n      include?: FunnelStep;\n      /** Funnel step to exclude. */\n      exclude?: FunnelStep;\n  }\n  /** Funnel step. */\n  enum FunnelStep {\n      /** Not selected. */\n      NOT_SELECTED_FUNNEL_STEP = \"NOT_SELECTED_FUNNEL_STEP\",\n      /** Site sessions. */\n      SITE_SESSIONS = \"SITE_SESSIONS\",\n      /** Viewed product. */\n      VIEWED_PRODUCT = \"VIEWED_PRODUCT\",\n      /** Added to cart. */\n      ADDED_TO_CART = \"ADDED_TO_CART\",\n      /** Reached checkout. */\n      REACHED_CHECKOUT = \"REACHED_CHECKOUT\",\n      /** Sessions converted. */\n      SESSIONS_CONVERTED = \"SESSIONS_CONVERTED\"\n  }\n  /** Device details. */\n  interface SessionsByDeviceParams {\n      /** Device type. */\n      type?: DeviceType;\n  }\n  /** Device type. */\n  enum DeviceType {\n      /** Not selected. */\n      NOT_SELECTED_DEVICE_TYPE = \"NOT_SELECTED_DEVICE_TYPE\",\n      /** Desktop. */\n      DESKTOP = \"DESKTOP\",\n      /** Mobile. */\n      MOBILE = \"MOBILE\",\n      /** Tablet. */\n      TABLET = \"TABLET\",\n      /** All. */\n      ALL = \"ALL\"\n  }\n  /** List sessions async response. */\n  interface ListSessionsAsyncResponse {\n      /** List sessions job ID. */\n      jobId?: string;\n  }\n  /** Get list sessions job result request. */\n  interface GetListSessionsJobResultRequest {\n      /** List sessions job ID. */\n      jobId: string;\n      /** Number of items to load. */\n      limit: number;\n      /** Number of items to skip in the current sort order. */\n      offset: number;\n  }\n  /** Get list sessions job result response. */\n  interface GetListSessionsJobResultResponse {\n      /** List sessions job result data. */\n      result?: JobResult;\n  }\n  /** List sessions job result. */\n  interface JobResult {\n      /** Job status. */\n      jobStatus?: JobStatus;\n      /** Total number of sessions. */\n      total?: number | null;\n      /** Session IDs. */\n      sessionIds?: string[];\n  }\n  /** Job status. */\n  enum JobStatus {\n      /** Unknown. */\n      UNKNOWN_JOB_STATUS = \"UNKNOWN_JOB_STATUS\",\n      /** In progress. */\n      IN_PROGRESS = \"IN_PROGRESS\",\n      /** Finished. */\n      FINISHED = \"FINISHED\",\n      /** Error. */\n      ERROR = \"ERROR\"\n  }\n  /** Request for getting store conversion sessions. */\n  interface CountFunnelSessionsRequest extends CountFunnelSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** User timezone. If not provided it will be taken from site properties. */\n      timezone?: string | null;\n  }\n  /** @oneof */\n  interface CountFunnelSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n  }\n  /** Response for getting store conversion sessions. */\n  interface CountFunnelSessionsResponse {\n      /** Recordings. */\n      recordings?: Recordings;\n  }\n  /** Recordings. */\n  interface Recordings {\n      /** Saved Session count. */\n      siteSessions?: number | null;\n      /** Saved Sessions with Product Views */\n      productViewSessions?: number | null;\n      /** Saved Sessions with Cart Views */\n      cartViewSessions?: number | null;\n      /** Saved Sessions with Checkouts */\n      checkoutSessions?: number | null;\n      /** Saved Converted Sessions */\n      convertedSessions?: number | null;\n  }\n  /** Request for getting the total number of sessions. */\n  interface CountSessionsRequest extends CountSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** User timezone. If not provided it will be taken from site properties. */\n      timezone?: string | null;\n  }\n  /** @oneof */\n  interface CountSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n  }\n  /** Response for getting the total number of sessions. */\n  interface CountSessionsResponse {\n      /** Total number of sessions. */\n      sessions?: number;\n  }\n  /** Mark a browser session as recorded. */\n  interface MarkSessionAsRecordedRequest {\n      /** Browser session ID. */\n      sessionId: string;\n  }\n  /** Mark a browser session as recorded. */\n  interface MarkSessionAsRecordedResponse {\n  }\n  /**\n   * Start an async job to retrieve a list of session IDs, given the provided filters. The following filters **must** be passed:\n   * - Time period, either predefined or custom.\n   * - Session filter, either navigation flow (page interactions), conversion funnel steps, or device type.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filter options. The following filters **must** be passed:\n   *\n   *  - Time period, either predefined or custom.\n   *\n   *  - Session filter, either navigation flow (page interactions), conversion funnel steps, or device type.\n   * @adminMethod\n   * @returns List sessions async response.\n   */\n  function listSessionsAsync(options?: ListSessionsAsyncOptions): Promise<ListSessionsAsyncResponse>;\n  interface ListSessionsAsyncOptions extends ListSessionsAsyncRequestPeriodOneOf, ListSessionsAsyncRequestParamsOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** User's timezone. Defaults to timezone as set in the [Site Properties API](https://dev.wix.com/docs/rest/business-management/site-properties/properties/properties-object). */\n      timezone?: string | null;\n      /** Navigation flow details. */\n      navigationFlow?: NavigationFlowSessionsParams;\n      /** Conversion funnel details. The steps in the journey the visitor has taken on the site. */\n      conversionFunnel?: ConversionFunnelSessionsParams;\n      /** Device type. */\n      deviceType?: SessionsByDeviceParams;\n  }\n  /**\n   * Retrieves the job status and a list of session IDs, if ready.\n   * @param jobId - List sessions job ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @requiredField options\n   * @requiredField options.limit\n   * @requiredField options.offset\n   * @param options - Field options. The `limit` and `offset` filters **must** be passed.\n   * @adminMethod\n   * @returns Get list sessions job result response.\n   */\n  function getListSessionsJobResult(jobId: string, options: GetListSessionsJobResultOptions): Promise<GetListSessionsJobResultResponse>;\n  interface GetListSessionsJobResultOptions {\n      /** Number of items to load. */\n      limit: number;\n      /** Number of items to skip in the current sort order. */\n      offset: number;\n  }\n  /**\n   * Get the number of session recordings for store conversion funnel step.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   * @returns Response for getting store conversion sessions.\n   */\n  function countFunnelSessions(options?: CountFunnelSessionsOptions): Promise<CountFunnelSessionsResponse>;\n  interface CountFunnelSessionsOptions extends CountFunnelSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** User timezone. If not provided it will be taken from site properties. */\n      timezone?: string | null;\n  }\n  /**\n   * Get the total number of session recordings.\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   * @returns Response for getting the total number of sessions.\n   */\n  function countSessions(options?: CountSessionsOptions): Promise<CountSessionsResponse>;\n  interface CountSessionsOptions extends CountSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** User timezone. If not provided it will be taken from site properties. */\n      timezone?: string | null;\n  }\n  /**\n   * Marks a browser session as recorded.\n   * @param sessionId - Browser session ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField sessionId\n   * @adminMethod\n   * @returns Mark a browser session as recorded.\n   */\n  function markSessionAsRecorded(sessionId: string): Promise<void>;\n  \n  type analyticsNgV1Session_universal_d_Session = Session;\n  type analyticsNgV1Session_universal_d_ListSessionsAsyncRequest = ListSessionsAsyncRequest;\n  type analyticsNgV1Session_universal_d_ListSessionsAsyncRequestPeriodOneOf = ListSessionsAsyncRequestPeriodOneOf;\n  type analyticsNgV1Session_universal_d_ListSessionsAsyncRequestParamsOneOf = ListSessionsAsyncRequestParamsOneOf;\n  type analyticsNgV1Session_universal_d_CustomTimePeriod = CustomTimePeriod;\n  type analyticsNgV1Session_universal_d_PredefinedTimePeriod = PredefinedTimePeriod;\n  const analyticsNgV1Session_universal_d_PredefinedTimePeriod: typeof PredefinedTimePeriod;\n  type analyticsNgV1Session_universal_d_NavigationFlowSessionsParams = NavigationFlowSessionsParams;\n  type analyticsNgV1Session_universal_d_ConversionFunnelSessionsParams = ConversionFunnelSessionsParams;\n  type analyticsNgV1Session_universal_d_FunnelStep = FunnelStep;\n  const analyticsNgV1Session_universal_d_FunnelStep: typeof FunnelStep;\n  type analyticsNgV1Session_universal_d_SessionsByDeviceParams = SessionsByDeviceParams;\n  type analyticsNgV1Session_universal_d_DeviceType = DeviceType;\n  const analyticsNgV1Session_universal_d_DeviceType: typeof DeviceType;\n  type analyticsNgV1Session_universal_d_ListSessionsAsyncResponse = ListSessionsAsyncResponse;\n  type analyticsNgV1Session_universal_d_GetListSessionsJobResultRequest = GetListSessionsJobResultRequest;\n  type analyticsNgV1Session_universal_d_GetListSessionsJobResultResponse = GetListSessionsJobResultResponse;\n  type analyticsNgV1Session_universal_d_JobResult = JobResult;\n  type analyticsNgV1Session_universal_d_JobStatus = JobStatus;\n  const analyticsNgV1Session_universal_d_JobStatus: typeof JobStatus;\n  type analyticsNgV1Session_universal_d_CountFunnelSessionsRequest = CountFunnelSessionsRequest;\n  type analyticsNgV1Session_universal_d_CountFunnelSessionsRequestPeriodOneOf = CountFunnelSessionsRequestPeriodOneOf;\n  type analyticsNgV1Session_universal_d_CountFunnelSessionsResponse = CountFunnelSessionsResponse;\n  type analyticsNgV1Session_universal_d_Recordings = Recordings;\n  type analyticsNgV1Session_universal_d_CountSessionsRequest = CountSessionsRequest;\n  type analyticsNgV1Session_universal_d_CountSessionsRequestPeriodOneOf = CountSessionsRequestPeriodOneOf;\n  type analyticsNgV1Session_universal_d_CountSessionsResponse = CountSessionsResponse;\n  type analyticsNgV1Session_universal_d_MarkSessionAsRecordedRequest = MarkSessionAsRecordedRequest;\n  type analyticsNgV1Session_universal_d_MarkSessionAsRecordedResponse = MarkSessionAsRecordedResponse;\n  const analyticsNgV1Session_universal_d_listSessionsAsync: typeof listSessionsAsync;\n  type analyticsNgV1Session_universal_d_ListSessionsAsyncOptions = ListSessionsAsyncOptions;\n  const analyticsNgV1Session_universal_d_getListSessionsJobResult: typeof getListSessionsJobResult;\n  type analyticsNgV1Session_universal_d_GetListSessionsJobResultOptions = GetListSessionsJobResultOptions;\n  const analyticsNgV1Session_universal_d_countFunnelSessions: typeof countFunnelSessions;\n  type analyticsNgV1Session_universal_d_CountFunnelSessionsOptions = CountFunnelSessionsOptions;\n  const analyticsNgV1Session_universal_d_countSessions: typeof countSessions;\n  type analyticsNgV1Session_universal_d_CountSessionsOptions = CountSessionsOptions;\n  const analyticsNgV1Session_universal_d_markSessionAsRecorded: typeof markSessionAsRecorded;\n  namespace analyticsNgV1Session_universal_d {\n    export {\n      analyticsNgV1Session_universal_d_Session as Session,\n      analyticsNgV1Session_universal_d_ListSessionsAsyncRequest as ListSessionsAsyncRequest,\n      analyticsNgV1Session_universal_d_ListSessionsAsyncRequestPeriodOneOf as ListSessionsAsyncRequestPeriodOneOf,\n      analyticsNgV1Session_universal_d_ListSessionsAsyncRequestParamsOneOf as ListSessionsAsyncRequestParamsOneOf,\n      analyticsNgV1Session_universal_d_CustomTimePeriod as CustomTimePeriod,\n      analyticsNgV1Session_universal_d_PredefinedTimePeriod as PredefinedTimePeriod,\n      analyticsNgV1Session_universal_d_NavigationFlowSessionsParams as NavigationFlowSessionsParams,\n      analyticsNgV1Session_universal_d_ConversionFunnelSessionsParams as ConversionFunnelSessionsParams,\n      analyticsNgV1Session_universal_d_FunnelStep as FunnelStep,\n      analyticsNgV1Session_universal_d_SessionsByDeviceParams as SessionsByDeviceParams,\n      analyticsNgV1Session_universal_d_DeviceType as DeviceType,\n      analyticsNgV1Session_universal_d_ListSessionsAsyncResponse as ListSessionsAsyncResponse,\n      analyticsNgV1Session_universal_d_GetListSessionsJobResultRequest as GetListSessionsJobResultRequest,\n      analyticsNgV1Session_universal_d_GetListSessionsJobResultResponse as GetListSessionsJobResultResponse,\n      analyticsNgV1Session_universal_d_JobResult as JobResult,\n      analyticsNgV1Session_universal_d_JobStatus as JobStatus,\n      analyticsNgV1Session_universal_d_CountFunnelSessionsRequest as CountFunnelSessionsRequest,\n      analyticsNgV1Session_universal_d_CountFunnelSessionsRequestPeriodOneOf as CountFunnelSessionsRequestPeriodOneOf,\n      analyticsNgV1Session_universal_d_CountFunnelSessionsResponse as CountFunnelSessionsResponse,\n      analyticsNgV1Session_universal_d_Recordings as Recordings,\n      analyticsNgV1Session_universal_d_CountSessionsRequest as CountSessionsRequest,\n      analyticsNgV1Session_universal_d_CountSessionsRequestPeriodOneOf as CountSessionsRequestPeriodOneOf,\n      analyticsNgV1Session_universal_d_CountSessionsResponse as CountSessionsResponse,\n      analyticsNgV1Session_universal_d_MarkSessionAsRecordedRequest as MarkSessionAsRecordedRequest,\n      analyticsNgV1Session_universal_d_MarkSessionAsRecordedResponse as MarkSessionAsRecordedResponse,\n      analyticsNgV1Session_universal_d_listSessionsAsync as listSessionsAsync,\n      analyticsNgV1Session_universal_d_ListSessionsAsyncOptions as ListSessionsAsyncOptions,\n      analyticsNgV1Session_universal_d_getListSessionsJobResult as getListSessionsJobResult,\n      analyticsNgV1Session_universal_d_GetListSessionsJobResultOptions as GetListSessionsJobResultOptions,\n      analyticsNgV1Session_universal_d_countFunnelSessions as countFunnelSessions,\n      analyticsNgV1Session_universal_d_CountFunnelSessionsOptions as CountFunnelSessionsOptions,\n      analyticsNgV1Session_universal_d_countSessions as countSessions,\n      analyticsNgV1Session_universal_d_CountSessionsOptions as CountSessionsOptions,\n      analyticsNgV1Session_universal_d_markSessionAsRecorded as markSessionAsRecorded,\n    };\n  }\n  \n  export { analyticsNgV1Session_universal_d as analyticsSession };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-gift-cards-backend.d.ts",
      "content": "declare module \"wix-gift-cards-backend\" {\n  interface GiftCardProduct extends GiftCardProductExpirationDateOneOf {\n      /** Fixed expiration date. */\n      fixedExpirationDate?: Date;\n      /** Relative expiration date from date of purchase. */\n      relativeExpirationDate?: RelativeExpirationDate;\n      /**\n       * Gift card product unique ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the GiftCardProduct is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the product.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the product was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Gift card product name. */\n      name?: string;\n      /** Gift card product description. */\n      description?: string | null;\n      /**\n       * Gift card product image.\n       * + Pass at least media ID, width, and height. You should be able to get these values when you upload an image to Wix media manager.\n       * + Given a full image URL of https://static.wixstatic.com/media/5cc69183e7954e2c9760fa2383870992.jpg, `media.id` would be \"5cc69183e7954e2c9760fa2383870992.jpg\".\n       * + We only support images coming from Wix media manager, if you want to use an image from another source you must first upload it to Wix media manager.\n       */\n      image?: string;\n      /** Gift card product expiration type */\n      expirationType?: ExpirationType;\n      /** Array of preset product variants. */\n      presetVariants?: PresetVariant[];\n      /** Gift card product custom variants */\n      customVariant?: CustomVariant;\n      /**\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the Wix Dev Center before they can be accessed with API calls.\n       * Enabling users to save custom data related to the gift card product.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  /** @oneof */\n  interface GiftCardProductExpirationDateOneOf {\n      /** Fixed expiration date. */\n      fixedExpirationDate?: Date;\n      /** Relative expiration date from date of purchase. */\n      relativeExpirationDate?: RelativeExpirationDate;\n  }\n  enum ExpirationType {\n      UNKNOWN_EXPIRATION_TYPE = \"UNKNOWN_EXPIRATION_TYPE\",\n      NONE = \"NONE\",\n      FIXED = \"FIXED\",\n      RELATIVE = \"RELATIVE\"\n  }\n  interface RelativeExpirationDate {\n      /** Value until expiration. */\n      value?: number;\n      /** Time period until expiration */\n      period?: TimePeriod;\n  }\n  enum TimePeriod {\n      UNKNOWN_TIME_PERIOD = \"UNKNOWN_TIME_PERIOD\",\n      DAYS = \"DAYS\",\n      WEEKS = \"WEEKS\",\n      MONTHS = \"MONTHS\",\n      YEARS = \"YEARS\"\n  }\n  interface PresetVariant {\n      /**\n       * Gift card product variant unique ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Gift card product variant price. */\n      price?: MultiCurrencyPrice;\n      /** Gift card product variant actual value. */\n      value?: MultiCurrencyPrice;\n      /**\n       * Gift card product variant image.\n       * + Pass at least media ID, width, and height. You should be able to get these values when you upload an image to Wix media manager.\n       * + Given a full image URL of https://static.wixstatic.com/media/5cc69183e7954e2c9760fa2383870992.jpg, `media.id` would be \"5cc69183e7954e2c9760fa2383870992.jpg\".\n       * + We only support images coming from Wix media manager, if you want to use an image from another source you must first upload it to Wix media manager.\n       */\n      image?: string;\n  }\n  interface MultiCurrencyPrice {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface CustomVariant {\n      /** Gift card product variant min value. */\n      minValue?: MultiCurrencyPrice;\n      /** Gift card product variant max value. */\n      maxValue?: MultiCurrencyPrice;\n      /**\n       * Gift card product variant image.\n       * + Pass at least media ID, width, and height. You should be able to get these values when you upload an image to Wix media manager.\n       * + Given a full image URL of https://static.wixstatic.com/media/5cc69183e7954e2c9760fa2383870992.jpg, `media.id` would be \"5cc69183e7954e2c9760fa2383870992.jpg\".\n       * + We only support images coming from Wix media manager, if you want to use an image from another source you must first upload it to Wix media manager.\n       */\n      image?: string;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateGiftCardProductRequest {\n      /** Gift card product to be created. */\n      giftCardProduct: GiftCardProduct;\n  }\n  interface CreateGiftCardProductResponse {\n      /** The created gift card product. */\n      giftCardProduct?: GiftCardProduct;\n  }\n  interface GetGiftCardProductRequest {\n      /** ID of the gift card product to retrieve. */\n      giftCardProductId: string;\n  }\n  interface GetGiftCardProductResponse {\n      /** The requested gift card product. */\n      giftCardProduct?: GiftCardProduct;\n  }\n  interface UpdateGiftCardProductRequest {\n      /** Gift card product to be updated, may be partial. */\n      giftCardProduct: GiftCardProduct;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateGiftCardProductResponse {\n      /** Updated gift card product. */\n      giftCardProduct?: GiftCardProduct;\n  }\n  interface DeleteGiftCardProductRequest {\n      /** Id of the gift card product to delete. */\n      giftCardProductId: string;\n  }\n  interface DeleteGiftCardProductResponse {\n  }\n  interface QueryGiftCardProductsRequest {\n      /** WQL expression. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryGiftCardProductsResponse {\n      /** List of gift card products. */\n      giftCardProducts?: GiftCardProduct[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface Empty {\n  }\n  interface IsInWixGiftCardsAppPopulationRequest {\n  }\n  interface IsInWixGiftCardsAppPopulationResponse {\n      /** true if site is in the new Wix Gift Cards App population. */\n      shouldUseNewGiftCardServices?: boolean;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new gift card product.\n   * @param giftCardProduct - Gift card product to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField giftCardProduct\n   * @requiredField giftCardProduct.name\n   * @requiredField giftCardProduct.presetVariants.price\n   * @requiredField giftCardProduct.presetVariants.price.amount\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_CREATE\n   * @adminMethod\n   * @returns The created gift card product.\n   */\n  function createGiftCardProduct(giftCardProduct: GiftCardProduct): Promise<GiftCardProduct>;\n  /**\n   * Retrieves a gift card product.\n   * @param giftCardProductId - ID of the gift card product to retrieve.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField giftCardProductId\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_READ\n   * @returns The requested gift card product.\n   */\n  function getGiftCardProduct(giftCardProductId: string): Promise<GiftCardProduct>;\n  /**\n   * Updates a gift card product.\n   * Supports partial update.\n   * Pass the latest `revision` for a successful update.\n   * Each time the category is updated, `revision` increments by 1.\n   * @param _id - Gift card product unique ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField giftCardProduct\n   * @requiredField giftCardProduct.presetVariants.price\n   * @requiredField giftCardProduct.presetVariants.price.amount\n   * @requiredField giftCardProduct.revision\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_UPDATE\n   * @adminMethod\n   * @returns Updated gift card product.\n   */\n  function updateGiftCardProduct(_id: string | null, giftCardProduct: UpdateGiftCardProduct, options?: UpdateGiftCardProductOptions): Promise<GiftCardProduct>;\n  interface UpdateGiftCardProduct {\n      /** Fixed expiration date. */\n      fixedExpirationDate?: Date;\n      /** Relative expiration date from date of purchase. */\n      relativeExpirationDate?: RelativeExpirationDate;\n      /**\n       * Gift card product unique ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the GiftCardProduct is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the product.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the product was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Gift card product name. */\n      name?: string;\n      /** Gift card product description. */\n      description?: string | null;\n      /**\n       * Gift card product image.\n       * + Pass at least media ID, width, and height. You should be able to get these values when you upload an image to Wix media manager.\n       * + Given a full image URL of https://static.wixstatic.com/media/5cc69183e7954e2c9760fa2383870992.jpg, `media.id` would be \"5cc69183e7954e2c9760fa2383870992.jpg\".\n       * + We only support images coming from Wix media manager, if you want to use an image from another source you must first upload it to Wix media manager.\n       */\n      image?: string;\n      /** Gift card product expiration type */\n      expirationType?: ExpirationType;\n      /** Array of preset product variants. */\n      presetVariants?: PresetVariant[];\n      /** Gift card product custom variants */\n      customVariant?: CustomVariant;\n      /**\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the Wix Dev Center before they can be accessed with API calls.\n       * Enabling users to save custom data related to the gift card product.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdateGiftCardProductOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a gift card product.\n   * @param giftCardProductId - Id of the gift card product to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField giftCardProductId\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_DELETE\n   * @adminMethod\n   */\n  function deleteGiftCardProduct(giftCardProductId: string): Promise<void>;\n  /**\n   * Retrieves a list of gift card products, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 1,000 gift card products can be returned per request.\n   *\n   * To learn how to query gift card products, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_READ\n   */\n  function queryGiftCardProducts(): GiftCardProductsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface GiftCardProductsQueryResult extends QueryCursorResult {\n      items: GiftCardProduct[];\n      query: GiftCardProductsQueryBuilder;\n      next: () => Promise<GiftCardProductsQueryResult>;\n      prev: () => Promise<GiftCardProductsQueryResult>;\n  }\n  interface GiftCardProductsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'fixedExpirationDate' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.id' | 'presetVariants.price', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'fixedExpirationDate' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.id' | 'presetVariants.price', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'fixedExpirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'fixedExpirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'fixedExpirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'fixedExpirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'presetVariants.id', value: string) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'fixedExpirationDate' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.id' | 'presetVariants.price', value: any[]) => GiftCardProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'fixedExpirationDate' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.id' | 'presetVariants.price', value: any) => GiftCardProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'fixedExpirationDate' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.id' | 'presetVariants.price', value: boolean) => GiftCardProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'fixedExpirationDate' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.price'>) => GiftCardProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'fixedExpirationDate' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.price'>) => GiftCardProductsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => GiftCardProductsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => GiftCardProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<GiftCardProductsQueryResult>;\n  }\n  /**\n   * Whether the meta site from the call's context is in the new Wix Gift Cards App population.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_READ\n   */\n  function isInWixGiftCardsAppPopulation(): Promise<IsInWixGiftCardsAppPopulationResponse>;\n  \n  type giftCardsV1GiftCardProduct_universal_d_GiftCardProduct = GiftCardProduct;\n  type giftCardsV1GiftCardProduct_universal_d_GiftCardProductExpirationDateOneOf = GiftCardProductExpirationDateOneOf;\n  type giftCardsV1GiftCardProduct_universal_d_ExpirationType = ExpirationType;\n  const giftCardsV1GiftCardProduct_universal_d_ExpirationType: typeof ExpirationType;\n  type giftCardsV1GiftCardProduct_universal_d_RelativeExpirationDate = RelativeExpirationDate;\n  type giftCardsV1GiftCardProduct_universal_d_TimePeriod = TimePeriod;\n  const giftCardsV1GiftCardProduct_universal_d_TimePeriod: typeof TimePeriod;\n  type giftCardsV1GiftCardProduct_universal_d_PresetVariant = PresetVariant;\n  type giftCardsV1GiftCardProduct_universal_d_MultiCurrencyPrice = MultiCurrencyPrice;\n  type giftCardsV1GiftCardProduct_universal_d_CustomVariant = CustomVariant;\n  type giftCardsV1GiftCardProduct_universal_d_ExtendedFields = ExtendedFields;\n  type giftCardsV1GiftCardProduct_universal_d_CreateGiftCardProductRequest = CreateGiftCardProductRequest;\n  type giftCardsV1GiftCardProduct_universal_d_CreateGiftCardProductResponse = CreateGiftCardProductResponse;\n  type giftCardsV1GiftCardProduct_universal_d_GetGiftCardProductRequest = GetGiftCardProductRequest;\n  type giftCardsV1GiftCardProduct_universal_d_GetGiftCardProductResponse = GetGiftCardProductResponse;\n  type giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductRequest = UpdateGiftCardProductRequest;\n  type giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductResponse = UpdateGiftCardProductResponse;\n  type giftCardsV1GiftCardProduct_universal_d_DeleteGiftCardProductRequest = DeleteGiftCardProductRequest;\n  type giftCardsV1GiftCardProduct_universal_d_DeleteGiftCardProductResponse = DeleteGiftCardProductResponse;\n  type giftCardsV1GiftCardProduct_universal_d_QueryGiftCardProductsRequest = QueryGiftCardProductsRequest;\n  type giftCardsV1GiftCardProduct_universal_d_CursorQuery = CursorQuery;\n  type giftCardsV1GiftCardProduct_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type giftCardsV1GiftCardProduct_universal_d_Sorting = Sorting;\n  type giftCardsV1GiftCardProduct_universal_d_SortOrder = SortOrder;\n  const giftCardsV1GiftCardProduct_universal_d_SortOrder: typeof SortOrder;\n  type giftCardsV1GiftCardProduct_universal_d_CursorPaging = CursorPaging;\n  type giftCardsV1GiftCardProduct_universal_d_QueryGiftCardProductsResponse = QueryGiftCardProductsResponse;\n  type giftCardsV1GiftCardProduct_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type giftCardsV1GiftCardProduct_universal_d_Cursors = Cursors;\n  type giftCardsV1GiftCardProduct_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type giftCardsV1GiftCardProduct_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type giftCardsV1GiftCardProduct_universal_d_Asset = Asset;\n  type giftCardsV1GiftCardProduct_universal_d_State = State;\n  const giftCardsV1GiftCardProduct_universal_d_State: typeof State;\n  type giftCardsV1GiftCardProduct_universal_d_SiteCreated = SiteCreated;\n  type giftCardsV1GiftCardProduct_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const giftCardsV1GiftCardProduct_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type giftCardsV1GiftCardProduct_universal_d_Namespace = Namespace;\n  const giftCardsV1GiftCardProduct_universal_d_Namespace: typeof Namespace;\n  type giftCardsV1GiftCardProduct_universal_d_SiteTransferred = SiteTransferred;\n  type giftCardsV1GiftCardProduct_universal_d_SiteDeleted = SiteDeleted;\n  type giftCardsV1GiftCardProduct_universal_d_DeleteContext = DeleteContext;\n  type giftCardsV1GiftCardProduct_universal_d_DeleteStatus = DeleteStatus;\n  const giftCardsV1GiftCardProduct_universal_d_DeleteStatus: typeof DeleteStatus;\n  type giftCardsV1GiftCardProduct_universal_d_SiteUndeleted = SiteUndeleted;\n  type giftCardsV1GiftCardProduct_universal_d_SitePublished = SitePublished;\n  type giftCardsV1GiftCardProduct_universal_d_SiteUnpublished = SiteUnpublished;\n  type giftCardsV1GiftCardProduct_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type giftCardsV1GiftCardProduct_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type giftCardsV1GiftCardProduct_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type giftCardsV1GiftCardProduct_universal_d_ServiceRemoved = ServiceRemoved;\n  type giftCardsV1GiftCardProduct_universal_d_SiteRenamed = SiteRenamed;\n  type giftCardsV1GiftCardProduct_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type giftCardsV1GiftCardProduct_universal_d_NamespaceChanged = NamespaceChanged;\n  type giftCardsV1GiftCardProduct_universal_d_StudioAssigned = StudioAssigned;\n  type giftCardsV1GiftCardProduct_universal_d_StudioUnassigned = StudioUnassigned;\n  type giftCardsV1GiftCardProduct_universal_d_Empty = Empty;\n  type giftCardsV1GiftCardProduct_universal_d_IsInWixGiftCardsAppPopulationRequest = IsInWixGiftCardsAppPopulationRequest;\n  type giftCardsV1GiftCardProduct_universal_d_IsInWixGiftCardsAppPopulationResponse = IsInWixGiftCardsAppPopulationResponse;\n  type giftCardsV1GiftCardProduct_universal_d_DomainEvent = DomainEvent;\n  type giftCardsV1GiftCardProduct_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type giftCardsV1GiftCardProduct_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type giftCardsV1GiftCardProduct_universal_d_RestoreInfo = RestoreInfo;\n  type giftCardsV1GiftCardProduct_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type giftCardsV1GiftCardProduct_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type giftCardsV1GiftCardProduct_universal_d_ActionEvent = ActionEvent;\n  type giftCardsV1GiftCardProduct_universal_d_MessageEnvelope = MessageEnvelope;\n  type giftCardsV1GiftCardProduct_universal_d_IdentificationData = IdentificationData;\n  type giftCardsV1GiftCardProduct_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type giftCardsV1GiftCardProduct_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const giftCardsV1GiftCardProduct_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const giftCardsV1GiftCardProduct_universal_d_createGiftCardProduct: typeof createGiftCardProduct;\n  const giftCardsV1GiftCardProduct_universal_d_getGiftCardProduct: typeof getGiftCardProduct;\n  const giftCardsV1GiftCardProduct_universal_d_updateGiftCardProduct: typeof updateGiftCardProduct;\n  type giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProduct = UpdateGiftCardProduct;\n  type giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductOptions = UpdateGiftCardProductOptions;\n  const giftCardsV1GiftCardProduct_universal_d_deleteGiftCardProduct: typeof deleteGiftCardProduct;\n  const giftCardsV1GiftCardProduct_universal_d_queryGiftCardProducts: typeof queryGiftCardProducts;\n  type giftCardsV1GiftCardProduct_universal_d_GiftCardProductsQueryResult = GiftCardProductsQueryResult;\n  type giftCardsV1GiftCardProduct_universal_d_GiftCardProductsQueryBuilder = GiftCardProductsQueryBuilder;\n  const giftCardsV1GiftCardProduct_universal_d_isInWixGiftCardsAppPopulation: typeof isInWixGiftCardsAppPopulation;\n  namespace giftCardsV1GiftCardProduct_universal_d {\n    export {\n      giftCardsV1GiftCardProduct_universal_d_GiftCardProduct as GiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_GiftCardProductExpirationDateOneOf as GiftCardProductExpirationDateOneOf,\n      giftCardsV1GiftCardProduct_universal_d_ExpirationType as ExpirationType,\n      giftCardsV1GiftCardProduct_universal_d_RelativeExpirationDate as RelativeExpirationDate,\n      giftCardsV1GiftCardProduct_universal_d_TimePeriod as TimePeriod,\n      giftCardsV1GiftCardProduct_universal_d_PresetVariant as PresetVariant,\n      giftCardsV1GiftCardProduct_universal_d_MultiCurrencyPrice as MultiCurrencyPrice,\n      giftCardsV1GiftCardProduct_universal_d_CustomVariant as CustomVariant,\n      giftCardsV1GiftCardProduct_universal_d_ExtendedFields as ExtendedFields,\n      giftCardsV1GiftCardProduct_universal_d_CreateGiftCardProductRequest as CreateGiftCardProductRequest,\n      giftCardsV1GiftCardProduct_universal_d_CreateGiftCardProductResponse as CreateGiftCardProductResponse,\n      giftCardsV1GiftCardProduct_universal_d_GetGiftCardProductRequest as GetGiftCardProductRequest,\n      giftCardsV1GiftCardProduct_universal_d_GetGiftCardProductResponse as GetGiftCardProductResponse,\n      giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductRequest as UpdateGiftCardProductRequest,\n      giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductResponse as UpdateGiftCardProductResponse,\n      giftCardsV1GiftCardProduct_universal_d_DeleteGiftCardProductRequest as DeleteGiftCardProductRequest,\n      giftCardsV1GiftCardProduct_universal_d_DeleteGiftCardProductResponse as DeleteGiftCardProductResponse,\n      giftCardsV1GiftCardProduct_universal_d_QueryGiftCardProductsRequest as QueryGiftCardProductsRequest,\n      giftCardsV1GiftCardProduct_universal_d_CursorQuery as CursorQuery,\n      giftCardsV1GiftCardProduct_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      giftCardsV1GiftCardProduct_universal_d_Sorting as Sorting,\n      giftCardsV1GiftCardProduct_universal_d_SortOrder as SortOrder,\n      giftCardsV1GiftCardProduct_universal_d_CursorPaging as CursorPaging,\n      giftCardsV1GiftCardProduct_universal_d_QueryGiftCardProductsResponse as QueryGiftCardProductsResponse,\n      giftCardsV1GiftCardProduct_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      giftCardsV1GiftCardProduct_universal_d_Cursors as Cursors,\n      giftCardsV1GiftCardProduct_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      giftCardsV1GiftCardProduct_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      giftCardsV1GiftCardProduct_universal_d_Asset as Asset,\n      giftCardsV1GiftCardProduct_universal_d_State as State,\n      giftCardsV1GiftCardProduct_universal_d_SiteCreated as SiteCreated,\n      giftCardsV1GiftCardProduct_universal_d_SiteCreatedContext as SiteCreatedContext,\n      giftCardsV1GiftCardProduct_universal_d_Namespace as Namespace,\n      giftCardsV1GiftCardProduct_universal_d_SiteTransferred as SiteTransferred,\n      giftCardsV1GiftCardProduct_universal_d_SiteDeleted as SiteDeleted,\n      giftCardsV1GiftCardProduct_universal_d_DeleteContext as DeleteContext,\n      giftCardsV1GiftCardProduct_universal_d_DeleteStatus as DeleteStatus,\n      giftCardsV1GiftCardProduct_universal_d_SiteUndeleted as SiteUndeleted,\n      giftCardsV1GiftCardProduct_universal_d_SitePublished as SitePublished,\n      giftCardsV1GiftCardProduct_universal_d_SiteUnpublished as SiteUnpublished,\n      giftCardsV1GiftCardProduct_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      giftCardsV1GiftCardProduct_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      giftCardsV1GiftCardProduct_universal_d_ServiceProvisioned as ServiceProvisioned,\n      giftCardsV1GiftCardProduct_universal_d_ServiceRemoved as ServiceRemoved,\n      giftCardsV1GiftCardProduct_universal_d_SiteRenamed as SiteRenamed,\n      giftCardsV1GiftCardProduct_universal_d_SiteHardDeleted as SiteHardDeleted,\n      giftCardsV1GiftCardProduct_universal_d_NamespaceChanged as NamespaceChanged,\n      giftCardsV1GiftCardProduct_universal_d_StudioAssigned as StudioAssigned,\n      giftCardsV1GiftCardProduct_universal_d_StudioUnassigned as StudioUnassigned,\n      giftCardsV1GiftCardProduct_universal_d_Empty as Empty,\n      giftCardsV1GiftCardProduct_universal_d_IsInWixGiftCardsAppPopulationRequest as IsInWixGiftCardsAppPopulationRequest,\n      giftCardsV1GiftCardProduct_universal_d_IsInWixGiftCardsAppPopulationResponse as IsInWixGiftCardsAppPopulationResponse,\n      giftCardsV1GiftCardProduct_universal_d_DomainEvent as DomainEvent,\n      giftCardsV1GiftCardProduct_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      giftCardsV1GiftCardProduct_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      giftCardsV1GiftCardProduct_universal_d_RestoreInfo as RestoreInfo,\n      giftCardsV1GiftCardProduct_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      giftCardsV1GiftCardProduct_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      giftCardsV1GiftCardProduct_universal_d_ActionEvent as ActionEvent,\n      giftCardsV1GiftCardProduct_universal_d_MessageEnvelope as MessageEnvelope,\n      giftCardsV1GiftCardProduct_universal_d_IdentificationData as IdentificationData,\n      giftCardsV1GiftCardProduct_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      giftCardsV1GiftCardProduct_universal_d_WebhookIdentityType as WebhookIdentityType,\n      giftCardsV1GiftCardProduct_universal_d_createGiftCardProduct as createGiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_getGiftCardProduct as getGiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_updateGiftCardProduct as updateGiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProduct as UpdateGiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductOptions as UpdateGiftCardProductOptions,\n      giftCardsV1GiftCardProduct_universal_d_deleteGiftCardProduct as deleteGiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_queryGiftCardProducts as queryGiftCardProducts,\n      giftCardsV1GiftCardProduct_universal_d_GiftCardProductsQueryResult as GiftCardProductsQueryResult,\n      giftCardsV1GiftCardProduct_universal_d_GiftCardProductsQueryBuilder as GiftCardProductsQueryBuilder,\n      giftCardsV1GiftCardProduct_universal_d_isInWixGiftCardsAppPopulation as isInWixGiftCardsAppPopulation,\n    };\n  }\n  \n  export { giftCardsV1GiftCardProduct_universal_d as giftVoucherProducts };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-marketing-consent-service-backend.d.ts",
      "content": "declare module \"wix-marketing-consent-service-backend\" {\n  interface MarketingConsent {\n      /**\n       * Marketing consent ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Marketing consent communication details. */\n      details?: MarketingConsentDetails;\n      /**\n       * Marketing consent state.\n       *\n       * + `UNKNOWN_STATE`: State of the marketing consent is unknown.\n       * + `NEVER_CONFIRMED`: The visitor never confirmed to receive marketing consents.\n       * + `REVOKED`: The marketing consent has been removed, for example, when a visitor unsubscribes from a newsletter.\n       * + `PENDING`: The marketing consent is pending confirmation. Relevant only for `{\"optInLevel\": \"DOUBLE_CONFIRMATION\"}`.\n       * + `CONFIRMED`: The site visitor has confirmed their marketing consent.\n       *\n       * Default: `UNKNOWN_STATE`.\n       */\n      state?: MarketingConsentState;\n      /**\n       * Date and time the marketing consent was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Date and time the marketing consent was updated.\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Last confirmation activity of the marketing consent. */\n      lastConfirmationActivity?: LastConfirmationActivity;\n      /** Last revoke activity of the marketing consent. */\n      lastRevokeActivity?: LastRevokeActivity;\n      /** Additional fields. */\n      extendedFields?: ExtendedFields;\n  }\n  interface MarketingConsentDetails extends MarketingConsentDetailsIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** The communication channel of the marketing consent. */\n      type?: MarketingConsentDetailsIdentifierType;\n  }\n  /** @oneof */\n  interface MarketingConsentDetailsIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n  }\n  enum MarketingConsentDetailsIdentifierType {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\"\n  }\n  enum MarketingConsentState {\n      UNKNOWN_STATE = \"UNKNOWN_STATE\",\n      NEVER_CONFIRMED = \"NEVER_CONFIRMED\",\n      REVOKED = \"REVOKED\",\n      PENDING = \"PENDING\",\n      CONFIRMED = \"CONFIRMED\"\n  }\n  interface LastConfirmationActivity {\n      /** Source of the given consent (how the visitor signed up). */\n      source?: Source;\n      /** Consent description. */\n      description?: string | null;\n      /** Date and time the consent was updated. */\n      _updatedDate?: Date;\n      /** Consent opt in level, either single or double confirmation. */\n      optInLevel?: OptInLevel;\n  }\n  enum Source {\n      UNKNOWN_SOURCE = \"UNKNOWN_SOURCE\",\n      IN_PERSON = \"IN_PERSON\",\n      FORM = \"FORM\",\n      LINK_CONFIRMATION = \"LINK_CONFIRMATION\",\n      EMAIL_SERVICE = \"EMAIL_SERVICE\",\n      WIX_USERS = \"WIX_USERS\",\n      OTHER = \"OTHER\"\n  }\n  enum OptInLevel {\n      UNKNOWN_OPT_IN_LEVEL = \"UNKNOWN_OPT_IN_LEVEL\",\n      SINGLE_CONFIRMATION = \"SINGLE_CONFIRMATION\",\n      DOUBLE_CONFIRMATION = \"DOUBLE_CONFIRMATION\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface LastRevokeActivity {\n      /** Source of the given revoke (how the visitor signed up). */\n      source?: LastRevokeActivitySource;\n      /** Revoke description. */\n      description?: string | null;\n      /** Date and time the consent was updated. */\n      _updatedDate?: Date;\n  }\n  enum LastRevokeActivitySource {\n      UNKNOWN_SOURCE = \"UNKNOWN_SOURCE\",\n      IN_PERSON = \"IN_PERSON\",\n      FORM = \"FORM\",\n      REVOKE_LINK = \"REVOKE_LINK\",\n      OTHER = \"OTHER\"\n  }\n  interface GetMarketingConsentRequest {\n      /** Marketing consent ID. */\n      marketingConsentId: string;\n  }\n  interface GetMarketingConsentResponse {\n      /** The requested marketing consent. */\n      marketingConsent?: MarketingConsent;\n  }\n  interface GetMarketingConsentByIdentifierRequest extends GetMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** The communication channel of the marketing consent. */\n      type: MarketingConsentDetailsIdentifierType;\n      /** Language of the page */\n      linkLanguage?: string | null;\n  }\n  /** @oneof */\n  interface GetMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n  }\n  interface GetMarketingConsentByIdentifierResponse {\n      /** The requested marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Details about whether the subject of the marketing consent is eligible to receive marketing messages. */\n      communicationEligibility?: CommunicationEligibility;\n  }\n  interface CommunicationEligibility {\n      /** Whether the recipient of the marketing consent is eligible to receive marketing messages. For example, if a visitor cancels their marketing consent, `CommunicationEligibility.granted` is `false`. Note that this only serves as a signal for your app to decide whether or not it should send marketing messages to the recipient's email address or phone number. */\n      granted?: boolean;\n      /** Cancellation link. */\n      revokeConfirmationLink?: string | null;\n      /** The reason the recipient of the marketing consent isn't eligible to receive marketing messages, for example, if the visitor unsubscribed from a newsletter. */\n      reason?: string | null;\n  }\n  interface GetConsistentMarketingConsentByIdentifierRequest extends GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** The communication channel of the marketing consent. */\n      type: MarketingConsentDetailsIdentifierType;\n      /** Language of the page */\n      linkLanguage?: string | null;\n  }\n  /** @oneof */\n  interface GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n  }\n  interface GetConsistentMarketingConsentByIdentifierResponse {\n      /** The requested marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Details about whether the recipient of the marketing consent is eligible to receive marketing messages. */\n      communicationEligibility?: CommunicationEligibility;\n  }\n  interface CreateMarketingConsentRequest {\n      /** Marketing consent to create. */\n      marketingConsent?: MarketingConsent;\n  }\n  interface CreateMarketingConsentResponse {\n      /** Newly created marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Marketing consent confirmation link. */\n      link?: Link;\n  }\n  interface Link {\n      /** Link type. */\n      type?: LinkType;\n      /** The link's URL. */\n      url?: string;\n  }\n  enum LinkType {\n      UNKNOWN_LINK_TYPE = \"UNKNOWN_LINK_TYPE\",\n      CONFIRMATION = \"CONFIRMATION\",\n      REVOKE_CONFIRMATION = \"REVOKE_CONFIRMATION\"\n  }\n  interface UpdateMarketingConsentRequest {\n      /** Marketing consent to update. */\n      marketingConsent?: MarketingConsent;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask: string[];\n  }\n  interface UpdateMarketingConsentResponse {\n      /** Updated marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Marketing consent confirmation or cancelation link. */\n      link?: Link;\n  }\n  interface DeleteMarketingConsentRequest {\n      /** ID of the marketing consent to delete. */\n      marketingConsentId: string;\n  }\n  interface DeleteMarketingConsentResponse {\n  }\n  interface RemoveMarketingConsentRequest {\n      /** Marketing consent communication details. */\n      details: MarketingConsentDetails;\n      /** Information about the last revoke. */\n      lastRevokeActivity?: LastRevokeActivity;\n  }\n  interface RemoveMarketingConsentResponse {\n      /** The canceled marketing consent. */\n      marketingConsent?: MarketingConsent;\n  }\n  interface CreateMarketingConsentByTokenRequest {\n      /** Encrypted token with essential information */\n      token: string;\n  }\n  interface CreateMarketingConsentByTokenResponse {\n      /** The subscribed MarketingConsent */\n      marketingConsent?: MarketingConsent;\n  }\n  interface RemoveMarketingConsentByTokenRequest {\n      /** Encrypted token with essential information */\n      token: string;\n  }\n  interface RemoveMarketingConsentByTokenResponse {\n      /** The subscribed MarketingConsent */\n      marketingConsent?: MarketingConsent;\n  }\n  interface QueryMarketingConsentRequest {\n      /** Query options. */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryMarketingConsentResponse {\n      /** List of marketing consents. */\n      marketingConsent?: MarketingConsent[];\n      /** Details on the paged set of results returned. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpsertMarketingConsentRequest {\n      /** Marketing consent to create or update. */\n      marketingConsent?: MarketingConsent;\n  }\n  interface UpsertMarketingConsentResponse {\n      /** Newly created or updated marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Marketing consent confirmation or cancelation link. */\n      link?: Link;\n  }\n  interface BulkUpsertMarketingConsentRequest {\n      /** List of marketing consent information to update or create. */\n      info?: MarketingConsent[];\n  }\n  interface BulkUpsertMarketingConsentResponse {\n      /** List of created or updated marketing consents. */\n      results?: BulkUpsertMarketingConsentResult[];\n      /** Numbers of successful and failed actions. */\n      metadata?: Metadata;\n  }\n  interface BulkUpsertMarketingConsentResult {\n      /** Position of the newly created or updated marketing consent in the array. */\n      originalIndex?: number;\n      /** Newly created or updated marketing consent. */\n      marketingConsent?: MarketingConsent;\n      /** Information about the error. Only returns if the action fails. */\n      error?: string | null;\n      /** Marketing consent confirmation or cancelation link. */\n      link?: Link;\n  }\n  interface Metadata {\n      /** Number of successful actions. */\n      totalSuccess?: number;\n      /** Number of failed actions. */\n      totalFailure?: number;\n  }\n  interface GenerateLinkRequest extends GenerateLinkRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** The communication channel of the marketing consent. */\n      type: MarketingConsentDetailsIdentifierType;\n      linkType: LinkType;\n      /** Language of the page */\n      language?: string | null;\n      /** Arbitrary parameters for closing-the-loop. */\n      metadata?: Record<string, string>;\n  }\n  /** @oneof */\n  interface GenerateLinkRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n  }\n  interface GenerateLinkResponse {\n      /** confirmation or revoke link */\n      link?: Link;\n  }\n  interface Empty {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp. */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a marketing consent.\n   * @param marketingConsentId - Marketing consent ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField marketingConsentId\n   * @adminMethod\n   * @returns The requested marketing consent.\n   */\n  function getMarketingConsent(marketingConsentId: string): Promise<MarketingConsent>;\n  /**\n   * Retrieves a marketing consent by its details.\n   *\n   * >**Note:** Due to the ongoing development of our new documentation portal, the query parameter is not displaying as expected. Use the `details` object located in the [marketing consent object](https://dev.wix.com/docs/rest/api-reference/marketing/marketing-consent/marketing-consent-object) in the request. You can also see the code example for reference.\n   * @param type - The communication channel of the marketing consent.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField type\n   * @adminMethod\n   */\n  function getMarketingConsentByIdentifier(type: MarketingConsentDetailsIdentifierType, options?: GetMarketingConsentByIdentifierOptions): Promise<GetMarketingConsentByIdentifierResponse>;\n  interface GetMarketingConsentByIdentifierOptions extends GetMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** Language of the page */\n      linkLanguage?: string | null;\n  }\n  /** @param type - The communication channel of the marketing consent.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField type\n   * @adminMethod\n   */\n  function getConsistentMarketingConsentByIdentifier(type: MarketingConsentDetailsIdentifierType, options?: GetConsistentMarketingConsentByIdentifierOptions): Promise<GetConsistentMarketingConsentByIdentifierResponse>;\n  interface GetConsistentMarketingConsentByIdentifierOptions extends GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      /** Language of the page */\n      linkLanguage?: string | null;\n  }\n  /**\n   * Creates a confirmed marketing consent.\n   *\n   * Creates a marketing consent with a `state` of `CONFIRMED`, regardless of what state you set it to. To create a marketing consent with a different state, use [Upsert Marketing Consent](https://dev.wix.com/docs/rest/api-reference/marketing/marketing-consent/upsert-marketing-consent), or [Bulk Upsert Marketing Consent](https://dev.wix.com/docs/rest/api-reference/marketing/marketing-consent/bulk-upsert-marketing-consent).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.marketingConsent.details\n   * @requiredField options.marketingConsent.lastConfirmationActivity\n   * @adminMethod\n   * @returns Newly created marketing consent.\n   */\n  function createMarketingConsent(options?: CreateMarketingConsentOptions): Promise<MarketingConsent>;\n  interface CreateMarketingConsentOptions {\n      /** Marketing consent to create. */\n      marketingConsent?: MarketingConsent;\n  }\n  /**\n   * Updates a marketing consent's properties.\n   *\n   * Only fields provided in `mask.paths` are updated. You can update the following fields:\n   *\n   * + `state`\n   * + `lastConfirmationActivity`\n   * + `extendedFields`\n   *\n   * Each time the marketing consent is updated, `revision` increments by 1.\n   *\n   * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n   * @param _id - Marketing consent ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.marketingConsent.details\n   * @adminMethod\n   * @returns Updated marketing consent.\n   */\n  function updateMarketingConsent(_id: string | null, options?: UpdateMarketingConsentOptions): Promise<MarketingConsent>;\n  interface UpdateMarketingConsentOptions {\n      marketingConsent: {\n          /**\n           * Marketing consent ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /**\n           * Revision number.\n           * @readonly\n           */\n          revision?: string | null;\n          /** Marketing consent communication details. */\n          details?: MarketingConsentDetails;\n          /**\n           * Marketing consent state.\n           *\n           * + `UNKNOWN_STATE`: State of the marketing consent is unknown.\n           * + `NEVER_CONFIRMED`: The visitor never confirmed to receive marketing consents.\n           * + `REVOKED`: The marketing consent has been removed, for example, when a visitor unsubscribes from a newsletter.\n           * + `PENDING`: The marketing consent is pending confirmation. Relevant only for `{\"optInLevel\": \"DOUBLE_CONFIRMATION\"}`.\n           * + `CONFIRMED`: The site visitor has confirmed their marketing consent.\n           *\n           * Default: `UNKNOWN_STATE`.\n           */\n          state?: MarketingConsentState;\n          /**\n           * Date and time the marketing consent was created.\n           * @readonly\n           */\n          _createdDate?: Date;\n          /**\n           * Date and time the marketing consent was updated.\n           * @readonly\n           */\n          _updatedDate?: Date;\n          /** Last confirmation activity of the marketing consent. */\n          lastConfirmationActivity?: LastConfirmationActivity;\n          /** Last revoke activity of the marketing consent. */\n          lastRevokeActivity?: LastRevokeActivity;\n          /** Additional fields. */\n          extendedFields?: ExtendedFields;\n      };\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask: string[];\n  }\n  /**\n   * Deletes a marketing consent.\n   * @param marketingConsentId - ID of the marketing consent to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField marketingConsentId\n   * @adminMethod\n   */\n  function deleteMarketingConsent(marketingConsentId: string): Promise<void>;\n  /**\n   * Removes a marketing consent by its communication details.\n   *\n   * Removing a marketing consent cancels the consent, and updates the `state` to `REVOKED`. The marketing consent still exists, but the recipient of the marketing consent is no longer eligible to receive commmunication. To delete a marketing consent entirely, use [Delete Marketing Consent](https://dev.wix.com/api/rest/marketing/marketing-consent/delete-marketing-consent).\n   * @param details - Marketing consent communication details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField details\n   * @requiredField details.type\n   * @adminMethod\n   */\n  function removeMarketingConsent(details: MarketingConsentDetails, options?: RemoveMarketingConsentOptions): Promise<RemoveMarketingConsentResponse>;\n  interface RemoveMarketingConsentOptions {\n      /** Information about the last revoke. */\n      lastRevokeActivity?: LastRevokeActivity;\n  }\n  /**\n   * CreateMarketingConsent the specified marketing_consent in the token\n   * @param token - Encrypted token with essential information\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField token\n   * @adminMethod\n   */\n  function createMarketingConsentByToken(token: string): Promise<CreateMarketingConsentByTokenResponse>;\n  /**\n   * RemoveMarketingConsent the specified marketing_consent in the token\n   * @param token - Encrypted token with essential information\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField token\n   * @adminMethod\n   */\n  function removeMarketingConsentByToken(token: string): Promise<RemoveMarketingConsentByTokenResponse>;\n  /**\n   * Retrieves a list of marketing consents, given the provided paging, filtering, and sorting. Up to 100 marketing consents can be returned per request.\n   *\n   * The default `sort` is `id` in `ASC` order. For a detailed list of supported operations, see [filtering and sorting for marketing consent properties](https://dev.wix.com/docs/rest/api-reference/marketing/marketing-consent/sort-and-filter). To learn how to query marketing consents, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function queryMarketingConsent(): MarketingConsentQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface MarketingConsentQueryResult extends QueryCursorResult {\n      items: MarketingConsent[];\n      query: MarketingConsentQueryBuilder;\n      next: () => Promise<MarketingConsentQueryResult>;\n      prev: () => Promise<MarketingConsentQueryResult>;\n  }\n  interface MarketingConsentQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'details.email' | 'details.phone' | 'state', value: any) => MarketingConsentQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => MarketingConsentQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => MarketingConsentQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<MarketingConsentQueryResult>;\n  }\n  /**\n   * Creates or updates a marketing consent.\n   *\n   * Note that `marketingConsent.lastConfirmationActivity` is required unless the `state` is `REVOKED` or `NEVER_CONFIRMED`.\n   *\n   * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.marketingConsent.details\n   * @requiredField options.marketingConsent.details.type\n   * @adminMethod\n   */\n  function upsertMarketingConsent(options?: UpsertMarketingConsentOptions): Promise<UpsertMarketingConsentResponse>;\n  interface UpsertMarketingConsentOptions {\n      /** Marketing consent to create or update. */\n      marketingConsent?: MarketingConsent;\n  }\n  /**\n   * Creates or updates multiple marketing consents.\n   *\n   * Note that `info.lastConfirmationActivity` is required unless the `state` is `REVOKED` or `NEVER_CONFIRMED`.\n   *\n   * >**Note:** For existing marketing consents with `{\"type\": \"EMAIL\"}`, you can't update the `state` to `UNKNOWN_STATE`. Trying to do so maintains the current state. However, you can create a new marketing consent and set the `state` to `UNKNOWN_STATE`. Note that you can't create more than a single consent per email or phone number.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.info.details\n   * @adminMethod\n   */\n  function bulkUpsertMarketingConsent(options?: BulkUpsertMarketingConsentOptions): Promise<BulkUpsertMarketingConsentResponse>;\n  interface BulkUpsertMarketingConsentOptions {\n      /** List of marketing consent information to update or create. */\n      info?: MarketingConsent[];\n  }\n  /**\n   * Creates an unsubscribe link to be shared with the relevant recipient.\n   *\n   * If someone clicks the **Unsubscribe** button on the confirmation page,\n   * the recipient's `subscriptionStatus` is changed to `UNSUBSCRIBED`.\n   * @param type - The communication channel of the marketing consent.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options.linkType\n   * @requiredField type\n   * @adminMethod\n   */\n  function generateLink(type: MarketingConsentDetailsIdentifierType, options?: GenerateLinkOptions): Promise<GenerateLinkResponse>;\n  interface GenerateLinkOptions extends GenerateLinkRequestIdentifierOneOf {\n      /** Email address used for the marketing consent. */\n      email?: string;\n      /** Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format used for the SMS marketing consent. */\n      phone?: string;\n      linkType: LinkType;\n      /** Language of the page */\n      language?: string | null;\n      /** Arbitrary parameters for closing-the-loop. */\n      metadata?: Record<string, string>;\n  }\n  \n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsent = MarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetails = MarketingConsentDetails;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetailsIdentifierOneOf = MarketingConsentDetailsIdentifierOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetailsIdentifierType = MarketingConsentDetailsIdentifierType;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetailsIdentifierType: typeof MarketingConsentDetailsIdentifierType;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentState = MarketingConsentState;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentState: typeof MarketingConsentState;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_LastConfirmationActivity = LastConfirmationActivity;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Source = Source;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_Source: typeof Source;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_OptInLevel = OptInLevel;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_OptInLevel: typeof OptInLevel;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_ExtendedFields = ExtendedFields;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_LastRevokeActivity = LastRevokeActivity;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_LastRevokeActivitySource = LastRevokeActivitySource;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_LastRevokeActivitySource: typeof LastRevokeActivitySource;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentRequest = GetMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentResponse = GetMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierRequest = GetMarketingConsentByIdentifierRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierRequestIdentifierOneOf = GetMarketingConsentByIdentifierRequestIdentifierOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierResponse = GetMarketingConsentByIdentifierResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CommunicationEligibility = CommunicationEligibility;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierRequest = GetConsistentMarketingConsentByIdentifierRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf = GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierResponse = GetConsistentMarketingConsentByIdentifierResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentRequest = CreateMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentResponse = CreateMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Link = Link;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_LinkType = LinkType;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_LinkType: typeof LinkType;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentRequest = UpdateMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentResponse = UpdateMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_DeleteMarketingConsentRequest = DeleteMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_DeleteMarketingConsentResponse = DeleteMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentRequest = RemoveMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentResponse = RemoveMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentByTokenRequest = CreateMarketingConsentByTokenRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentByTokenResponse = CreateMarketingConsentByTokenResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentByTokenRequest = RemoveMarketingConsentByTokenRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentByTokenResponse = RemoveMarketingConsentByTokenResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_QueryMarketingConsentRequest = QueryMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CursorQuery = CursorQuery;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Sorting = Sorting;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_SortOrder = SortOrder;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_SortOrder: typeof SortOrder;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CursorPaging = CursorPaging;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_QueryMarketingConsentResponse = QueryMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Cursors = Cursors;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpsertMarketingConsentRequest = UpsertMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpsertMarketingConsentResponse = UpsertMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentRequest = BulkUpsertMarketingConsentRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentResponse = BulkUpsertMarketingConsentResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentResult = BulkUpsertMarketingConsentResult;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Metadata = Metadata;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkRequest = GenerateLinkRequest;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkRequestIdentifierOneOf = GenerateLinkRequestIdentifierOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkResponse = GenerateLinkResponse;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_Empty = Empty;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_DomainEvent = DomainEvent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RestoreInfo = RestoreInfo;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_ActionEvent = ActionEvent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MessageEnvelope = MessageEnvelope;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_IdentificationData = IdentificationData;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_getMarketingConsent: typeof getMarketingConsent;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_getMarketingConsentByIdentifier: typeof getMarketingConsentByIdentifier;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierOptions = GetMarketingConsentByIdentifierOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_getConsistentMarketingConsentByIdentifier: typeof getConsistentMarketingConsentByIdentifier;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierOptions = GetConsistentMarketingConsentByIdentifierOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_createMarketingConsent: typeof createMarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentOptions = CreateMarketingConsentOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_updateMarketingConsent: typeof updateMarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentOptions = UpdateMarketingConsentOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_deleteMarketingConsent: typeof deleteMarketingConsent;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_removeMarketingConsent: typeof removeMarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentOptions = RemoveMarketingConsentOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_createMarketingConsentByToken: typeof createMarketingConsentByToken;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_removeMarketingConsentByToken: typeof removeMarketingConsentByToken;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_queryMarketingConsent: typeof queryMarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentQueryResult = MarketingConsentQueryResult;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentQueryBuilder = MarketingConsentQueryBuilder;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_upsertMarketingConsent: typeof upsertMarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_UpsertMarketingConsentOptions = UpsertMarketingConsentOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_bulkUpsertMarketingConsent: typeof bulkUpsertMarketingConsent;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentOptions = BulkUpsertMarketingConsentOptions;\n  const marketingMarketingConsentV1MarketingConsent_universal_d_generateLink: typeof generateLink;\n  type marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkOptions = GenerateLinkOptions;\n  namespace marketingMarketingConsentV1MarketingConsent_universal_d {\n    export {\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsent as MarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetails as MarketingConsentDetails,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetailsIdentifierOneOf as MarketingConsentDetailsIdentifierOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentDetailsIdentifierType as MarketingConsentDetailsIdentifierType,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentState as MarketingConsentState,\n      marketingMarketingConsentV1MarketingConsent_universal_d_LastConfirmationActivity as LastConfirmationActivity,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Source as Source,\n      marketingMarketingConsentV1MarketingConsent_universal_d_OptInLevel as OptInLevel,\n      marketingMarketingConsentV1MarketingConsent_universal_d_ExtendedFields as ExtendedFields,\n      marketingMarketingConsentV1MarketingConsent_universal_d_LastRevokeActivity as LastRevokeActivity,\n      marketingMarketingConsentV1MarketingConsent_universal_d_LastRevokeActivitySource as LastRevokeActivitySource,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentRequest as GetMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentResponse as GetMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierRequest as GetMarketingConsentByIdentifierRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierRequestIdentifierOneOf as GetMarketingConsentByIdentifierRequestIdentifierOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierResponse as GetMarketingConsentByIdentifierResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CommunicationEligibility as CommunicationEligibility,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierRequest as GetConsistentMarketingConsentByIdentifierRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf as GetConsistentMarketingConsentByIdentifierRequestIdentifierOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierResponse as GetConsistentMarketingConsentByIdentifierResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentRequest as CreateMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentResponse as CreateMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Link as Link,\n      marketingMarketingConsentV1MarketingConsent_universal_d_LinkType as LinkType,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentRequest as UpdateMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentResponse as UpdateMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_DeleteMarketingConsentRequest as DeleteMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_DeleteMarketingConsentResponse as DeleteMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentRequest as RemoveMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentResponse as RemoveMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentByTokenRequest as CreateMarketingConsentByTokenRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentByTokenResponse as CreateMarketingConsentByTokenResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentByTokenRequest as RemoveMarketingConsentByTokenRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentByTokenResponse as RemoveMarketingConsentByTokenResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_QueryMarketingConsentRequest as QueryMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CursorQuery as CursorQuery,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Sorting as Sorting,\n      marketingMarketingConsentV1MarketingConsent_universal_d_SortOrder as SortOrder,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CursorPaging as CursorPaging,\n      marketingMarketingConsentV1MarketingConsent_universal_d_QueryMarketingConsentResponse as QueryMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Cursors as Cursors,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpsertMarketingConsentRequest as UpsertMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpsertMarketingConsentResponse as UpsertMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentRequest as BulkUpsertMarketingConsentRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentResponse as BulkUpsertMarketingConsentResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentResult as BulkUpsertMarketingConsentResult,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Metadata as Metadata,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkRequest as GenerateLinkRequest,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkRequestIdentifierOneOf as GenerateLinkRequestIdentifierOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkResponse as GenerateLinkResponse,\n      marketingMarketingConsentV1MarketingConsent_universal_d_Empty as Empty,\n      marketingMarketingConsentV1MarketingConsent_universal_d_DomainEvent as DomainEvent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RestoreInfo as RestoreInfo,\n      marketingMarketingConsentV1MarketingConsent_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_ActionEvent as ActionEvent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MessageEnvelope as MessageEnvelope,\n      marketingMarketingConsentV1MarketingConsent_universal_d_IdentificationData as IdentificationData,\n      marketingMarketingConsentV1MarketingConsent_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      marketingMarketingConsentV1MarketingConsent_universal_d_WebhookIdentityType as WebhookIdentityType,\n      marketingMarketingConsentV1MarketingConsent_universal_d_getMarketingConsent as getMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_getMarketingConsentByIdentifier as getMarketingConsentByIdentifier,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetMarketingConsentByIdentifierOptions as GetMarketingConsentByIdentifierOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_getConsistentMarketingConsentByIdentifier as getConsistentMarketingConsentByIdentifier,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GetConsistentMarketingConsentByIdentifierOptions as GetConsistentMarketingConsentByIdentifierOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_createMarketingConsent as createMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_CreateMarketingConsentOptions as CreateMarketingConsentOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_updateMarketingConsent as updateMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpdateMarketingConsentOptions as UpdateMarketingConsentOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_deleteMarketingConsent as deleteMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_removeMarketingConsent as removeMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_RemoveMarketingConsentOptions as RemoveMarketingConsentOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_createMarketingConsentByToken as createMarketingConsentByToken,\n      marketingMarketingConsentV1MarketingConsent_universal_d_removeMarketingConsentByToken as removeMarketingConsentByToken,\n      marketingMarketingConsentV1MarketingConsent_universal_d_queryMarketingConsent as queryMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentQueryResult as MarketingConsentQueryResult,\n      marketingMarketingConsentV1MarketingConsent_universal_d_MarketingConsentQueryBuilder as MarketingConsentQueryBuilder,\n      marketingMarketingConsentV1MarketingConsent_universal_d_upsertMarketingConsent as upsertMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_UpsertMarketingConsentOptions as UpsertMarketingConsentOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_bulkUpsertMarketingConsent as bulkUpsertMarketingConsent,\n      marketingMarketingConsentV1MarketingConsent_universal_d_BulkUpsertMarketingConsentOptions as BulkUpsertMarketingConsentOptions,\n      marketingMarketingConsentV1MarketingConsent_universal_d_generateLink as generateLink,\n      marketingMarketingConsentV1MarketingConsent_universal_d_GenerateLinkOptions as GenerateLinkOptions,\n    };\n  }\n  \n  export { marketingMarketingConsentV1MarketingConsent_universal_d as marketingConsentService };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-analytics-data.v2.d.ts",
      "content": "declare module \"wix-analytics-data.v2\" {\n  /** Site analytics data */\n  interface SiteAnalyticsData {\n      /** Data ID. */\n      _id?: string;\n  }\n  /** The request to get analytics data */\n  interface GetAnalyticsDataRequest {\n      /** Date range. */\n      dateRange: DateRange;\n      /** Time zone. */\n      timeZone?: string | null;\n      /**\n       * Measurement types. Supported values:\n       *\n       * - `TOTAL_SESSIONS`: All site visitor sessions.\n       * - `TOTAL_SALES`: All sales.\n       * - `TOTAL_ORDERS`: All orders.\n       * - `CLICKS_TO_CONTACT`: All clicks of the \"contact us\" button.\n       */\n      measurementTypes: MeasureNameEnum[];\n  }\n  /** Date range. */\n  interface DateRange {\n      /**\n       * Custom start date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.\n       * If the period from `startDate` to the current date is longer than 62 days, a \"Do not have data for this start date\" error will be returned.\n       */\n      startDate?: string;\n      /**\n       * Custom end date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Returned data will include all dates until the requested end date.\n       * For example, { start: '2024-01-01', end: '2024-01-03' } will return data for '2024-01-01' and '2024-01-02'.\n       */\n      endDate?: string;\n  }\n  /** Available measure names */\n  enum MeasureNameEnum {\n      /** Default value. This value is unused. */\n      UNKNOWN_MEASUREMENT_TYPE = \"UNKNOWN_MEASUREMENT_TYPE\",\n      /** Total amount of money expected from all product and service sales, before deducting refunds, shipping, and fees, including both online and manual payments. */\n      TOTAL_SALES = \"TOTAL_SALES\",\n      /** Total amount of income from sales after deducting refunds. */\n      TOTAL_ORDERS = \"TOTAL_ORDERS\",\n      /** Total amount of site sessions where a visitor clicked to contact you via WhatsApp, phone or email. */\n      CLICKS_TO_CONTACT = \"CLICKS_TO_CONTACT\",\n      /** Total amount of visitor sessions. */\n      TOTAL_SESSIONS = \"TOTAL_SESSIONS\"\n  }\n  /** The response with analytics data */\n  interface GetAnalyticsDataResponse {\n      /** Analytics data per type. */\n      data?: MeasureItem[];\n  }\n  /** Measure item */\n  interface MeasureItem {\n      /** Measurement type. */\n      type?: MeasureNameEnum;\n      /** Data values per date. */\n      values?: MeasureValue[];\n      /** Total value. */\n      total?: number;\n  }\n  /** Measure value with period */\n  interface MeasureValue {\n      /** Date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. */\n      date?: string;\n      /** Value. */\n      value?: number;\n  }\n  /**\n   * Retrieves analytics data, given the specified filtering.\n   * @param measurementTypes - Measurement types. Supported values:\n   *\n   * - `TOTAL_SESSIONS`: All site visitor sessions.\n   * - `TOTAL_SALES`: All sales.\n   * - `TOTAL_ORDERS`: All orders.\n   * - `CLICKS_TO_CONTACT`: All clicks of the \"contact us\" button.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField measurementTypes\n   * @requiredField options.dateRange\n   * @param options - Field options.\n   * @permissionId ANALYTICS_AND_REPORTS.ANALYTICS_PUBLIC_READ\n   * @adminMethod\n   * @returns The response with analytics data\n   */\n  function getAnalyticsData(measurementTypes: MeasureNameEnum[], options?: GetAnalyticsDataOptions): Promise<GetAnalyticsDataResponse>;\n  interface GetAnalyticsDataOptions {\n      /** Date range. */\n      dateRange: DateRange;\n      /** Time zone. */\n      timeZone?: string | null;\n  }\n  \n  type analyticsNgV2Data_universal_d_SiteAnalyticsData = SiteAnalyticsData;\n  type analyticsNgV2Data_universal_d_GetAnalyticsDataRequest = GetAnalyticsDataRequest;\n  type analyticsNgV2Data_universal_d_DateRange = DateRange;\n  type analyticsNgV2Data_universal_d_MeasureNameEnum = MeasureNameEnum;\n  const analyticsNgV2Data_universal_d_MeasureNameEnum: typeof MeasureNameEnum;\n  type analyticsNgV2Data_universal_d_GetAnalyticsDataResponse = GetAnalyticsDataResponse;\n  type analyticsNgV2Data_universal_d_MeasureItem = MeasureItem;\n  type analyticsNgV2Data_universal_d_MeasureValue = MeasureValue;\n  const analyticsNgV2Data_universal_d_getAnalyticsData: typeof getAnalyticsData;\n  type analyticsNgV2Data_universal_d_GetAnalyticsDataOptions = GetAnalyticsDataOptions;\n  namespace analyticsNgV2Data_universal_d {\n    export {\n      analyticsNgV2Data_universal_d_SiteAnalyticsData as SiteAnalyticsData,\n      analyticsNgV2Data_universal_d_GetAnalyticsDataRequest as GetAnalyticsDataRequest,\n      analyticsNgV2Data_universal_d_DateRange as DateRange,\n      analyticsNgV2Data_universal_d_MeasureNameEnum as MeasureNameEnum,\n      analyticsNgV2Data_universal_d_GetAnalyticsDataResponse as GetAnalyticsDataResponse,\n      analyticsNgV2Data_universal_d_MeasureItem as MeasureItem,\n      analyticsNgV2Data_universal_d_MeasureValue as MeasureValue,\n      analyticsNgV2Data_universal_d_getAnalyticsData as getAnalyticsData,\n      analyticsNgV2Data_universal_d_GetAnalyticsDataOptions as GetAnalyticsDataOptions,\n    };\n  }\n  \n  export { analyticsNgV2Data_universal_d as analyticsData };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-async-jobs.v2.d.ts",
      "content": "declare module \"wix-async-jobs.v2\" {\n  interface AsyncJob {\n      /**\n       * Job ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Optional job metadata, used to store any parameters used during job execution, user-defined statuses, etc. */\n      metadata?: Record<string, any> | null;\n      /** Current job execution status. */\n      status?: Status;\n      /**\n       * Current counters.\n       * @deprecated Current counters.\n       * @replacedBy wix.infra.asyncjobs.v1.AsyncJob.counts\n       * @targetRemovalDate 2024-12-12\n       */\n      counters?: Counters;\n      /**\n       * Date and time the job was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the job was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Job owner.\n       * @readonly\n       * @deprecated Job owner.\n       * @replacedBy wix.infra.asyncjobs.v1.AsyncJob.created_by\n       * @targetRemovalDate 2024-12-12\n       */\n      owner?: Owner;\n      /**\n       * Job creator.\n       * @readonly\n       */\n      createdBy?: CreatedBy;\n      /** Current execution counts. */\n      counts?: Counts;\n  }\n  enum Type {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      ANONYMOUS_VISITOR_ID = \"ANONYMOUS_VISITOR_ID\",\n      MEMBER_ID = \"MEMBER_ID\",\n      WIX_USER_ID = \"WIX_USER_ID\",\n      APP_ID = \"APP_ID\"\n  }\n  interface AnonymousVisitorIdOptions {\n      /** Visitor ID - when the job is owned by a site visitor that was **not** logged in. */\n      anonymousVisitorId?: string;\n  }\n  interface MemberIdOptions {\n      /** Member ID - when the job is owned by a by a **logged in** site visitor. */\n      memberId?: string;\n  }\n  interface WixUserIdOptions {\n      /** User ID - when the job is owned by a site owner or contributor. */\n      wixUserId?: string;\n  }\n  interface AppIdOptions {\n      /** App ID - when the job is owned by an external application or Wix service. */\n      appId?: string;\n  }\n  enum Status {\n      UNKNOWN = \"UNKNOWN\",\n      /** Job is created, but hasn't started yet. */\n      INITIALIZED = \"INITIALIZED\",\n      /** Job has started and is in progress. */\n      PROCESSING = \"PROCESSING\",\n      /** Job is finished. */\n      FINISHED = \"FINISHED\",\n      /** Job has failed. */\n      FAILED = \"FAILED\"\n  }\n  interface Counters {\n      /** Optional count of the dataset size, as specified during job creation. Can be used for progress bars, etc. */\n      itemsToProcess?: number | null;\n      /** Amount of items that were successfully processed. */\n      itemsSucceeded?: number;\n      /** Amount of items whose processing failed. */\n      itemsFailed?: number;\n      /** Mapping between an error code and the number of failures associated with it. */\n      errorCountByCode?: Record<string, number>;\n  }\n  interface Owner extends OwnerIdOneOf {\n      /** Visitor ID - when the job is owned by a site visitor that was **not** logged in. */\n      anonymousVisitorId?: string;\n      /** Member ID - when the job is owned by a by a **logged in** site visitor. */\n      memberId?: string;\n      /** User ID - when the job is owned by a site owner or contributor. */\n      wixUserId?: string;\n      /** App ID - when the job is owned by an external application or Wix service. */\n      appId?: string;\n      /** Service ID. */\n      serviceId?: string;\n  }\n  /** @oneof */\n  interface OwnerIdOneOf {\n      /** Visitor ID - when the job is owned by a site visitor that was **not** logged in. */\n      anonymousVisitorId?: string;\n      /** Member ID - when the job is owned by a by a **logged in** site visitor. */\n      memberId?: string;\n      /** User ID - when the job is owned by a site owner or contributor. */\n      wixUserId?: string;\n      /** App ID - when the job is owned by an external application or Wix service. */\n      appId?: string;\n      /** Service ID. */\n      serviceId?: string;\n  }\n  interface CreatedBy extends CreatedByOptionsOneOf {\n      /** Visitor ID - when the job is created by a site visitor that was **not** logged in. */\n      anonymousVisitorIdOptions?: AnonymousVisitorIdOptions;\n      /** Member ID - when the job is created by a by a **logged in** site visitor. */\n      memberIdOptions?: MemberIdOptions;\n      /** User ID - when the job is created by a site owner or contributor. */\n      wixUserIdOptions?: WixUserIdOptions;\n      /** App ID - when the job is created by an external application or Wix service. */\n      appIdOptions?: AppIdOptions;\n      /** The type of the creator. */\n      type?: Type;\n  }\n  /** @oneof */\n  interface CreatedByOptionsOneOf {\n      /** Visitor ID - when the job is created by a site visitor that was **not** logged in. */\n      anonymousVisitorIdOptions?: AnonymousVisitorIdOptions;\n      /** Member ID - when the job is created by a by a **logged in** site visitor. */\n      memberIdOptions?: MemberIdOptions;\n      /** User ID - when the job is created by a site owner or contributor. */\n      wixUserIdOptions?: WixUserIdOptions;\n      /** App ID - when the job is created by an external application or Wix service. */\n      appIdOptions?: AppIdOptions;\n  }\n  interface Counts {\n      /** Optional count of the dataset size, specified during job creation. Can be used for progress bars, etc. */\n      total?: number | null;\n      /** Amount of items that were successfully processed. */\n      successCount?: number;\n      /** Amount of items whose processing failed. */\n      failCount?: number;\n      /** Mapping between an error code and the number of failures associated with it. */\n      errorByCodeCount?: Record<string, number>;\n  }\n  /** Events */\n  interface AsyncJobFinishedEvent {\n      /** Job ID. */\n      jobId?: string;\n  }\n  interface AsyncJobFailedEvent {\n      /** Job ID. */\n      jobId?: string;\n  }\n  interface AsyncJobItemFailedEvent {\n      /** Job ID. */\n      jobId?: string;\n      /** Job items. */\n      jobItem?: AsyncJobItem;\n  }\n  interface AsyncJobItem {\n      /**\n       * Job item ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Job item data, as passed by the originating service. */\n      data?: Record<string, any> | null;\n      /** ID of the entity being processed, as passed by the originating service. */\n      entityId?: string | null;\n      /**\n       * Whether the job item was processed successfully.\n       * @readonly\n       */\n      success?: boolean;\n      /** Error that prevented the item from being processed, if relevant. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface CreateAsyncJobRequest {\n      /** Job to create. */\n      job: AsyncJob;\n  }\n  interface CreateAsyncJobResponse {\n      /** Created job. */\n      job?: AsyncJob;\n  }\n  interface GetAsyncJobRequest {\n      /** Job ID. */\n      jobId: string;\n  }\n  interface GetAsyncJobResponse {\n      /** Returned job. */\n      job?: AsyncJob;\n  }\n  interface UpdateAsyncJobRequest {\n      /** Job to update. */\n      job?: AsyncJob;\n      /**\n       * Field mask.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateAsyncJobResponse {\n      /** Updated job. */\n      job?: AsyncJob;\n  }\n  interface DeleteAsyncJobRequest {\n      /** Job ID. */\n      jobId: string;\n  }\n  interface DeleteAsyncJobResponse {\n  }\n  interface CompleteAsyncJobRequest {\n      /** Job ID. */\n      jobId: string;\n      /** Job status. */\n      status?: CompleteStatus;\n  }\n  enum CompleteStatus {\n      /** Job is finished. */\n      FINISHED = \"FINISHED\",\n      /** Job has failed. */\n      FAILED = \"FAILED\"\n  }\n  interface CompleteAsyncJobResponse {\n  }\n  interface ReportAsyncJobProgressRequest {\n      /** Job ID. */\n      jobId: string;\n      /** Job items being reported. */\n      items?: AsyncJobItem[];\n  }\n  interface ReportAsyncJobProgressResponse {\n  }\n  interface AsyncJobItemAddedEvent {\n      /** Job ID. */\n      jobId?: string;\n      /** Job items. */\n      jobItem?: AsyncJobItem;\n  }\n  interface ListAsyncJobItemsRequest {\n      /** Job ID. */\n      jobId: string;\n      /** Pagination options. */\n      paging?: CursorPaging;\n      /**\n       * Whether to return only failed items.\n       * when false, only successful items will be returned.\n       * when not set, all both failed and successful will be returned.\n       * @internal\n       * @deprecated\n       * @replacedBy wix.infra.asyncjobs.v1.ListAsyncJobItemsRequest.status_filter\n       * @targetRemovalDate 2024-12-12\n       */\n      hasError?: boolean | null;\n      /** async job item status filter. */\n      statusFilter?: StatusFilter;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  enum StatusFilter {\n      /** Return all items. */\n      ALL = \"ALL\",\n      /** Return only failed items. */\n      FAILED_ONLY = \"FAILED_ONLY\",\n      /** Return only successful items. */\n      SUCCESSFUL_ONLY = \"SUCCESSFUL_ONLY\"\n  }\n  interface ListAsyncJobItemsResponse {\n      /** Job items. */\n      results?: AsyncJobItem[];\n      /** Paging metadata. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates an async job.\n   * @param job - Job to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField job\n   * @permissionId INFRA.ASYNC_JOB_MANAGE\n   * @adminMethod\n   * @returns Created job.\n   */\n  function createAsyncJob(job: AsyncJob): Promise<AsyncJob>;\n  /**\n   * Retrieves a job.\n   * @param jobId - Job ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @permissionId INFRA.ASYNC_JOB_READ\n   * @adminMethod\n   * @returns Returned job.\n   */\n  function getAsyncJob(jobId: string): Promise<AsyncJob>;\n  /**\n   * Updates a job.\n   * @param _id - Job ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId INFRA.ASYNC_JOB_MANAGE\n   * @adminMethod\n   * @returns Updated job.\n   */\n  function updateAsyncJob(_id: string, options?: UpdateAsyncJobOptions): Promise<AsyncJob>;\n  interface UpdateAsyncJobOptions {\n      job: {\n          /**\n           * Job ID.\n           * @readonly\n           */\n          _id?: string;\n          /** Optional job metadata, used to store any parameters used during job execution, user-defined statuses, etc. */\n          metadata?: Record<string, any> | null;\n          /** Current job execution status. */\n          status?: Status;\n          /**\n           * Current counters.\n           * @deprecated Current counters.\n           * @replacedBy wix.infra.asyncjobs.v1.AsyncJob.counts\n           * @targetRemovalDate 2024-12-12\n           */\n          counters?: Counters;\n          /**\n           * Date and time the job was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n           * @readonly\n           */\n          _createdDate?: Date | null;\n          /**\n           * Date and time the job was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format.\n           * @readonly\n           */\n          _updatedDate?: Date | null;\n          /**\n           * Job owner.\n           * @readonly\n           * @deprecated Job owner.\n           * @replacedBy wix.infra.asyncjobs.v1.AsyncJob.created_by\n           * @targetRemovalDate 2024-12-12\n           */\n          owner?: Owner;\n          /**\n           * Job creator.\n           * @readonly\n           */\n          createdBy?: CreatedBy;\n          /** Current execution counts. */\n          counts?: Counts;\n      };\n      /**\n       * Field mask.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Deletes a job.\n   * @param jobId - Job ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @permissionId INFRA.ASYNC_JOB_MANAGE\n   * @adminMethod\n   */\n  function deleteAsyncJob(jobId: string): Promise<void>;\n  /**\n   * Completes a job.\n   * @param jobId - Job ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @permissionId INFRA.ASYNC_JOB_MANAGE\n   * @adminMethod\n   */\n  function completeAsyncJob(jobId: string, options?: CompleteAsyncJobOptions): Promise<void>;\n  interface CompleteAsyncJobOptions {\n      /** Job status. */\n      status?: CompleteStatus;\n  }\n  /**\n   * Reports job progress.\n   * @param jobId - Job ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @permissionId INFRA.ASYNC_JOB_MANAGE\n   * @adminMethod\n   */\n  function reportAsyncJobProgress(jobId: string, options?: ReportAsyncJobProgressOptions): Promise<void>;\n  interface ReportAsyncJobProgressOptions {\n      /** Job items being reported. */\n      items?: AsyncJobItem[];\n  }\n  /**\n   * Retrieves a list of job items.\n   * @param jobId - Job ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @param options - Field options.\n   * @permissionId INFRA.ASYNC_JOB_READ\n   * @adminMethod\n   */\n  function listAsyncJobItems(jobId: string, options?: ListAsyncJobItemsOptions): Promise<ListAsyncJobItemsResponse>;\n  interface ListAsyncJobItemsOptions {\n      /** Pagination options. */\n      paging?: CursorPaging;\n      /**\n       * Whether to return only failed items.\n       * when false, only successful items will be returned.\n       * when not set, all both failed and successful will be returned.\n       * @internal\n       * @deprecated\n       * @replacedBy wix.infra.asyncjobs.v1.ListAsyncJobItemsRequest.status_filter\n       * @targetRemovalDate 2024-12-12\n       */\n      hasError?: boolean | null;\n      /** async job item status filter. */\n      statusFilter?: StatusFilter;\n  }\n  \n  type infraAsyncjobsV1AsyncJob_universal_d_AsyncJob = AsyncJob;\n  type infraAsyncjobsV1AsyncJob_universal_d_Type = Type;\n  const infraAsyncjobsV1AsyncJob_universal_d_Type: typeof Type;\n  type infraAsyncjobsV1AsyncJob_universal_d_AnonymousVisitorIdOptions = AnonymousVisitorIdOptions;\n  type infraAsyncjobsV1AsyncJob_universal_d_MemberIdOptions = MemberIdOptions;\n  type infraAsyncjobsV1AsyncJob_universal_d_WixUserIdOptions = WixUserIdOptions;\n  type infraAsyncjobsV1AsyncJob_universal_d_AppIdOptions = AppIdOptions;\n  type infraAsyncjobsV1AsyncJob_universal_d_Status = Status;\n  const infraAsyncjobsV1AsyncJob_universal_d_Status: typeof Status;\n  type infraAsyncjobsV1AsyncJob_universal_d_Counters = Counters;\n  type infraAsyncjobsV1AsyncJob_universal_d_Owner = Owner;\n  type infraAsyncjobsV1AsyncJob_universal_d_OwnerIdOneOf = OwnerIdOneOf;\n  type infraAsyncjobsV1AsyncJob_universal_d_CreatedBy = CreatedBy;\n  type infraAsyncjobsV1AsyncJob_universal_d_CreatedByOptionsOneOf = CreatedByOptionsOneOf;\n  type infraAsyncjobsV1AsyncJob_universal_d_Counts = Counts;\n  type infraAsyncjobsV1AsyncJob_universal_d_AsyncJobFinishedEvent = AsyncJobFinishedEvent;\n  type infraAsyncjobsV1AsyncJob_universal_d_AsyncJobFailedEvent = AsyncJobFailedEvent;\n  type infraAsyncjobsV1AsyncJob_universal_d_AsyncJobItemFailedEvent = AsyncJobItemFailedEvent;\n  type infraAsyncjobsV1AsyncJob_universal_d_AsyncJobItem = AsyncJobItem;\n  type infraAsyncjobsV1AsyncJob_universal_d_ApplicationError = ApplicationError;\n  type infraAsyncjobsV1AsyncJob_universal_d_CreateAsyncJobRequest = CreateAsyncJobRequest;\n  type infraAsyncjobsV1AsyncJob_universal_d_CreateAsyncJobResponse = CreateAsyncJobResponse;\n  type infraAsyncjobsV1AsyncJob_universal_d_GetAsyncJobRequest = GetAsyncJobRequest;\n  type infraAsyncjobsV1AsyncJob_universal_d_GetAsyncJobResponse = GetAsyncJobResponse;\n  type infraAsyncjobsV1AsyncJob_universal_d_UpdateAsyncJobRequest = UpdateAsyncJobRequest;\n  type infraAsyncjobsV1AsyncJob_universal_d_UpdateAsyncJobResponse = UpdateAsyncJobResponse;\n  type infraAsyncjobsV1AsyncJob_universal_d_DeleteAsyncJobRequest = DeleteAsyncJobRequest;\n  type infraAsyncjobsV1AsyncJob_universal_d_DeleteAsyncJobResponse = DeleteAsyncJobResponse;\n  type infraAsyncjobsV1AsyncJob_universal_d_CompleteAsyncJobRequest = CompleteAsyncJobRequest;\n  type infraAsyncjobsV1AsyncJob_universal_d_CompleteStatus = CompleteStatus;\n  const infraAsyncjobsV1AsyncJob_universal_d_CompleteStatus: typeof CompleteStatus;\n  type infraAsyncjobsV1AsyncJob_universal_d_CompleteAsyncJobResponse = CompleteAsyncJobResponse;\n  type infraAsyncjobsV1AsyncJob_universal_d_ReportAsyncJobProgressRequest = ReportAsyncJobProgressRequest;\n  type infraAsyncjobsV1AsyncJob_universal_d_ReportAsyncJobProgressResponse = ReportAsyncJobProgressResponse;\n  type infraAsyncjobsV1AsyncJob_universal_d_AsyncJobItemAddedEvent = AsyncJobItemAddedEvent;\n  type infraAsyncjobsV1AsyncJob_universal_d_ListAsyncJobItemsRequest = ListAsyncJobItemsRequest;\n  type infraAsyncjobsV1AsyncJob_universal_d_CursorPaging = CursorPaging;\n  type infraAsyncjobsV1AsyncJob_universal_d_StatusFilter = StatusFilter;\n  const infraAsyncjobsV1AsyncJob_universal_d_StatusFilter: typeof StatusFilter;\n  type infraAsyncjobsV1AsyncJob_universal_d_ListAsyncJobItemsResponse = ListAsyncJobItemsResponse;\n  type infraAsyncjobsV1AsyncJob_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type infraAsyncjobsV1AsyncJob_universal_d_Cursors = Cursors;\n  type infraAsyncjobsV1AsyncJob_universal_d_DomainEvent = DomainEvent;\n  type infraAsyncjobsV1AsyncJob_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type infraAsyncjobsV1AsyncJob_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type infraAsyncjobsV1AsyncJob_universal_d_RestoreInfo = RestoreInfo;\n  type infraAsyncjobsV1AsyncJob_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type infraAsyncjobsV1AsyncJob_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type infraAsyncjobsV1AsyncJob_universal_d_ActionEvent = ActionEvent;\n  type infraAsyncjobsV1AsyncJob_universal_d_MessageEnvelope = MessageEnvelope;\n  type infraAsyncjobsV1AsyncJob_universal_d_IdentificationData = IdentificationData;\n  type infraAsyncjobsV1AsyncJob_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type infraAsyncjobsV1AsyncJob_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const infraAsyncjobsV1AsyncJob_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const infraAsyncjobsV1AsyncJob_universal_d_createAsyncJob: typeof createAsyncJob;\n  const infraAsyncjobsV1AsyncJob_universal_d_getAsyncJob: typeof getAsyncJob;\n  const infraAsyncjobsV1AsyncJob_universal_d_updateAsyncJob: typeof updateAsyncJob;\n  type infraAsyncjobsV1AsyncJob_universal_d_UpdateAsyncJobOptions = UpdateAsyncJobOptions;\n  const infraAsyncjobsV1AsyncJob_universal_d_deleteAsyncJob: typeof deleteAsyncJob;\n  const infraAsyncjobsV1AsyncJob_universal_d_completeAsyncJob: typeof completeAsyncJob;\n  type infraAsyncjobsV1AsyncJob_universal_d_CompleteAsyncJobOptions = CompleteAsyncJobOptions;\n  const infraAsyncjobsV1AsyncJob_universal_d_reportAsyncJobProgress: typeof reportAsyncJobProgress;\n  type infraAsyncjobsV1AsyncJob_universal_d_ReportAsyncJobProgressOptions = ReportAsyncJobProgressOptions;\n  const infraAsyncjobsV1AsyncJob_universal_d_listAsyncJobItems: typeof listAsyncJobItems;\n  type infraAsyncjobsV1AsyncJob_universal_d_ListAsyncJobItemsOptions = ListAsyncJobItemsOptions;\n  namespace infraAsyncjobsV1AsyncJob_universal_d {\n    export {\n      infraAsyncjobsV1AsyncJob_universal_d_AsyncJob as AsyncJob,\n      infraAsyncjobsV1AsyncJob_universal_d_Type as Type,\n      infraAsyncjobsV1AsyncJob_universal_d_AnonymousVisitorIdOptions as AnonymousVisitorIdOptions,\n      infraAsyncjobsV1AsyncJob_universal_d_MemberIdOptions as MemberIdOptions,\n      infraAsyncjobsV1AsyncJob_universal_d_WixUserIdOptions as WixUserIdOptions,\n      infraAsyncjobsV1AsyncJob_universal_d_AppIdOptions as AppIdOptions,\n      infraAsyncjobsV1AsyncJob_universal_d_Status as Status,\n      infraAsyncjobsV1AsyncJob_universal_d_Counters as Counters,\n      infraAsyncjobsV1AsyncJob_universal_d_Owner as Owner,\n      infraAsyncjobsV1AsyncJob_universal_d_OwnerIdOneOf as OwnerIdOneOf,\n      infraAsyncjobsV1AsyncJob_universal_d_CreatedBy as CreatedBy,\n      infraAsyncjobsV1AsyncJob_universal_d_CreatedByOptionsOneOf as CreatedByOptionsOneOf,\n      infraAsyncjobsV1AsyncJob_universal_d_Counts as Counts,\n      infraAsyncjobsV1AsyncJob_universal_d_AsyncJobFinishedEvent as AsyncJobFinishedEvent,\n      infraAsyncjobsV1AsyncJob_universal_d_AsyncJobFailedEvent as AsyncJobFailedEvent,\n      infraAsyncjobsV1AsyncJob_universal_d_AsyncJobItemFailedEvent as AsyncJobItemFailedEvent,\n      infraAsyncjobsV1AsyncJob_universal_d_AsyncJobItem as AsyncJobItem,\n      infraAsyncjobsV1AsyncJob_universal_d_ApplicationError as ApplicationError,\n      infraAsyncjobsV1AsyncJob_universal_d_CreateAsyncJobRequest as CreateAsyncJobRequest,\n      infraAsyncjobsV1AsyncJob_universal_d_CreateAsyncJobResponse as CreateAsyncJobResponse,\n      infraAsyncjobsV1AsyncJob_universal_d_GetAsyncJobRequest as GetAsyncJobRequest,\n      infraAsyncjobsV1AsyncJob_universal_d_GetAsyncJobResponse as GetAsyncJobResponse,\n      infraAsyncjobsV1AsyncJob_universal_d_UpdateAsyncJobRequest as UpdateAsyncJobRequest,\n      infraAsyncjobsV1AsyncJob_universal_d_UpdateAsyncJobResponse as UpdateAsyncJobResponse,\n      infraAsyncjobsV1AsyncJob_universal_d_DeleteAsyncJobRequest as DeleteAsyncJobRequest,\n      infraAsyncjobsV1AsyncJob_universal_d_DeleteAsyncJobResponse as DeleteAsyncJobResponse,\n      infraAsyncjobsV1AsyncJob_universal_d_CompleteAsyncJobRequest as CompleteAsyncJobRequest,\n      infraAsyncjobsV1AsyncJob_universal_d_CompleteStatus as CompleteStatus,\n      infraAsyncjobsV1AsyncJob_universal_d_CompleteAsyncJobResponse as CompleteAsyncJobResponse,\n      infraAsyncjobsV1AsyncJob_universal_d_ReportAsyncJobProgressRequest as ReportAsyncJobProgressRequest,\n      infraAsyncjobsV1AsyncJob_universal_d_ReportAsyncJobProgressResponse as ReportAsyncJobProgressResponse,\n      infraAsyncjobsV1AsyncJob_universal_d_AsyncJobItemAddedEvent as AsyncJobItemAddedEvent,\n      infraAsyncjobsV1AsyncJob_universal_d_ListAsyncJobItemsRequest as ListAsyncJobItemsRequest,\n      infraAsyncjobsV1AsyncJob_universal_d_CursorPaging as CursorPaging,\n      infraAsyncjobsV1AsyncJob_universal_d_StatusFilter as StatusFilter,\n      infraAsyncjobsV1AsyncJob_universal_d_ListAsyncJobItemsResponse as ListAsyncJobItemsResponse,\n      infraAsyncjobsV1AsyncJob_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      infraAsyncjobsV1AsyncJob_universal_d_Cursors as Cursors,\n      infraAsyncjobsV1AsyncJob_universal_d_DomainEvent as DomainEvent,\n      infraAsyncjobsV1AsyncJob_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      infraAsyncjobsV1AsyncJob_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      infraAsyncjobsV1AsyncJob_universal_d_RestoreInfo as RestoreInfo,\n      infraAsyncjobsV1AsyncJob_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      infraAsyncjobsV1AsyncJob_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      infraAsyncjobsV1AsyncJob_universal_d_ActionEvent as ActionEvent,\n      infraAsyncjobsV1AsyncJob_universal_d_MessageEnvelope as MessageEnvelope,\n      infraAsyncjobsV1AsyncJob_universal_d_IdentificationData as IdentificationData,\n      infraAsyncjobsV1AsyncJob_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      infraAsyncjobsV1AsyncJob_universal_d_WebhookIdentityType as WebhookIdentityType,\n      infraAsyncjobsV1AsyncJob_universal_d_createAsyncJob as createAsyncJob,\n      infraAsyncjobsV1AsyncJob_universal_d_getAsyncJob as getAsyncJob,\n      infraAsyncjobsV1AsyncJob_universal_d_updateAsyncJob as updateAsyncJob,\n      infraAsyncjobsV1AsyncJob_universal_d_UpdateAsyncJobOptions as UpdateAsyncJobOptions,\n      infraAsyncjobsV1AsyncJob_universal_d_deleteAsyncJob as deleteAsyncJob,\n      infraAsyncjobsV1AsyncJob_universal_d_completeAsyncJob as completeAsyncJob,\n      infraAsyncjobsV1AsyncJob_universal_d_CompleteAsyncJobOptions as CompleteAsyncJobOptions,\n      infraAsyncjobsV1AsyncJob_universal_d_reportAsyncJobProgress as reportAsyncJobProgress,\n      infraAsyncjobsV1AsyncJob_universal_d_ReportAsyncJobProgressOptions as ReportAsyncJobProgressOptions,\n      infraAsyncjobsV1AsyncJob_universal_d_listAsyncJobItems as listAsyncJobItems,\n      infraAsyncjobsV1AsyncJob_universal_d_ListAsyncJobItemsOptions as ListAsyncJobItemsOptions,\n    };\n  }\n  \n  export { infraAsyncjobsV1AsyncJob_universal_d as asyncJobs };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/chat-widget.v1.d.ts",
      "content": "declare module \"chat-widget.v1\" {\n  interface Message {\n      /**\n       * Message ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date and time the Message was created.\n       * @readonly\n       */\n      _createdDate?: Date;\n      /** Message sender */\n      sender?: Sender;\n      /** Message text */\n      text?: string | null;\n      /** Text that follows after payloads */\n      suffixText?: string | null;\n      /** Message payloads as struct */\n      structPayloads?: Record<string, any>[] | null;\n      /**\n       * Conversation id\n       * @readonly\n       */\n      conversationId?: string | null;\n      /**\n       * Message options\n       * @readonly\n       */\n      options?: string[];\n      /** Answer to message ID. */\n      answerTo?: string | null;\n      /**\n       * Trigger id from ai assistant answer\n       * @readonly\n       */\n      triggerId?: string | null;\n      /** Type of message */\n      messageType?: MessageType;\n      /** Should site owner receive inbox notification */\n      notifyInbox?: boolean;\n      /**\n       * Message ID.\n       * @readonly\n       */\n      inboxMessageId?: string | null;\n  }\n  enum Sender {\n      UNKNOWN = \"UNKNOWN\",\n      UOU = \"UOU\",\n      ASSISTANT = \"ASSISTANT\",\n      USER = \"USER\",\n      SYSTEM = \"SYSTEM\"\n  }\n  enum MessageType {\n      UNKNOWN_MESSAGE_TYPE = \"UNKNOWN_MESSAGE_TYPE\",\n      QUESTION = \"QUESTION\",\n      ANSWER = \"ANSWER\",\n      INTRO = \"INTRO\",\n      LEGAL = \"LEGAL\",\n      /** DEPRECATED */\n      ESCALATION = \"ESCALATION\",\n      CONTACT_FORM = \"CONTACT_FORM\",\n      CONTACT_FORM_SUBMITTED = \"CONTACT_FORM_SUBMITTED\",\n      SITE_OWNER_NOTIFICATION = \"SITE_OWNER_NOTIFICATION\"\n  }\n  interface CreateMessageRequest {\n      /** Message to be created. */\n      message: Message;\n  }\n  interface CreateMessageResponse {\n      /** The created Message. */\n      message?: Message;\n  }\n  interface BatchCreateMessageRequest {\n      /** Messages to be created. */\n      messages?: Message[];\n  }\n  interface BatchCreateMessageResponse {\n      /** The created Messages. */\n      messages?: Message[];\n  }\n  interface ListMessagesRequest {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListMessagesResponse {\n      /** List of Messages. */\n      messages?: Message[];\n      /** Paging metadata */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetWidgetSettingsRequest {\n  }\n  interface GetWidgetSettingsResponse {\n      /** Widget settings */\n      widgetSettings?: WidgetSettings;\n      /**\n       * true if enabled and current time is within working hours\n       * @readonly\n       */\n      assistantOnline?: boolean;\n  }\n  interface WidgetSettings {\n      /** Is the widget enabled */\n      enabled?: boolean;\n      /** Working hours settings */\n      workingHours?: WorkingHours;\n      /** Intro message settings */\n      introMessage?: IntroMessage;\n      /** Contact form settings */\n      contactForm?: ContactForm;\n      /**\n       * Created date\n       * @readonly\n       */\n      _createdDate?: Date;\n      /**\n       * Updated date\n       * @readonly\n       */\n      _updatedDate?: Date;\n      /** Offline strategy (deprecated) */\n      offlineStrategy?: string;\n      /** Offline strategy enum */\n      strategy?: OfflineStrategy;\n  }\n  /** Working hours settings */\n  interface WorkingHours {\n      /** enabled 24/7 or by schedule */\n      always?: boolean;\n      /** schedule */\n      schedule?: Schedule;\n      /** timezone */\n      timeZone?: string;\n  }\n  /** Schedule */\n  interface Schedule {\n      /** Monday schedule */\n      monday?: DaySchedule;\n      /** Tuesday schedule */\n      tuesday?: DaySchedule;\n      /** Wednesday schedule */\n      wednesday?: DaySchedule;\n      /** Thursday schedule */\n      thursday?: DaySchedule;\n      /** Friday schedule */\n      friday?: DaySchedule;\n      /** Saturday schedule */\n      saturday?: DaySchedule;\n      /** Sunday schedule */\n      sunday?: DaySchedule;\n  }\n  /** Day schedule */\n  interface DaySchedule {\n      /** Is the day enabled */\n      enabled?: boolean;\n      /** Working hours frames */\n      frames?: WorkingHoursFrame[];\n  }\n  /** Working hours frame */\n  interface WorkingHoursFrame {\n      /** Start time of the working hours frame */\n      start?: number;\n      /** End time of the working hours frame */\n      end?: number;\n  }\n  /** Intro message */\n  interface IntroMessage {\n      /** Intro message settings */\n      message?: SettingsMessage;\n      /** Legal disclaimer settings */\n      legalDisclaimer?: SettingsMessage;\n  }\n  interface SettingsMessage {\n      /** Is the message enabled */\n      enabled?: boolean;\n      /** Message text */\n      text?: string;\n  }\n  interface ContactForm {\n      /** Contact form conditions */\n      conditions?: Conditions;\n      /** Contact form fields */\n      fields?: Fields;\n  }\n  /** Contact form conditions */\n  interface Conditions {\n      /** No answer condition */\n      noAnswer?: boolean;\n      /** Escalation condition */\n      escalation?: boolean;\n  }\n  /** Contact form fields */\n  interface Fields {\n      /** Name field */\n      name?: boolean;\n      /** Email field */\n      email?: boolean;\n      /** Phone field */\n      phone?: boolean;\n      /** Message field */\n      message?: boolean;\n  }\n  enum OfflineStrategy {\n      UNKNOWN_OFFLINE_STRATEGY = \"UNKNOWN_OFFLINE_STRATEGY\",\n      HIDDEN = \"HIDDEN\",\n      CONTACT = \"CONTACT\"\n  }\n  interface SetWidgetSettingsRequest {\n      /** Widget settings */\n      widgetSettings: WidgetSettings;\n  }\n  interface SetWidgetSettingsResponse {\n  }\n  interface GetConversationRequest {\n  }\n  interface GetConversationResponse {\n      /** Conversation id */\n      conversationId?: string;\n      /** Is new conversation */\n      newConversation?: boolean;\n      /** Is contact */\n      contact?: boolean;\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /** A list of \"assets\" (applications). The same as MetaSiteContext. */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface Empty {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a Message.\n   * @param message - Message to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField message\n   * @requiredField message.messageType\n   * @requiredField message.sender\n   * @returns The created Message.\n   */\n  function createMessage(message: Message): Promise<Message>;\n  /**\n   * Creates a batch Messages.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.messages.messageType\n   * @requiredField options.messages.sender\n   */\n  function batchCreateMessage(options?: BatchCreateMessageOptions): Promise<BatchCreateMessageResponse>;\n  interface BatchCreateMessageOptions {\n      /** Messages to be created. */\n      messages?: Message[];\n  }\n  /**\n   * Retrieves a list of Messages, given the provided [cursor paging].\n   *\n   * Up to 100 Messages can be returned per request.\n   * @public\n   * @documentationMaturity preview\n   */\n  function listMessages(options?: ListMessagesOptions): Promise<ListMessagesResponse>;\n  interface ListMessagesOptions {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  /**\n   * Get settings for settings management\n   * @public\n   * @documentationMaturity preview\n   */\n  function getWidgetSettings(): Promise<GetWidgetSettingsResponse>;\n  /**\n   * Set settings for settings management\n   * @param widgetSettings - Widget settings\n   * @public\n   * @documentationMaturity preview\n   * @requiredField widgetSettings\n   * @requiredField widgetSettings.contactForm\n   * @requiredField widgetSettings.contactForm.conditions\n   * @requiredField widgetSettings.contactForm.fields\n   * @requiredField widgetSettings.introMessage\n   * @requiredField widgetSettings.workingHours\n   * @adminMethod\n   */\n  function setWidgetSettings(widgetSettings: WidgetSettings): Promise<void>;\n  /**\n   * Get or create conversation\n   * @public\n   * @documentationMaturity preview\n   */\n  function getConversation(): Promise<GetConversationResponse>;\n  \n  type innovationWidgetV1Message_universal_d_Message = Message;\n  type innovationWidgetV1Message_universal_d_Sender = Sender;\n  const innovationWidgetV1Message_universal_d_Sender: typeof Sender;\n  type innovationWidgetV1Message_universal_d_MessageType = MessageType;\n  const innovationWidgetV1Message_universal_d_MessageType: typeof MessageType;\n  type innovationWidgetV1Message_universal_d_CreateMessageRequest = CreateMessageRequest;\n  type innovationWidgetV1Message_universal_d_CreateMessageResponse = CreateMessageResponse;\n  type innovationWidgetV1Message_universal_d_BatchCreateMessageRequest = BatchCreateMessageRequest;\n  type innovationWidgetV1Message_universal_d_BatchCreateMessageResponse = BatchCreateMessageResponse;\n  type innovationWidgetV1Message_universal_d_ListMessagesRequest = ListMessagesRequest;\n  type innovationWidgetV1Message_universal_d_CursorPaging = CursorPaging;\n  type innovationWidgetV1Message_universal_d_ListMessagesResponse = ListMessagesResponse;\n  type innovationWidgetV1Message_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type innovationWidgetV1Message_universal_d_Cursors = Cursors;\n  type innovationWidgetV1Message_universal_d_GetWidgetSettingsRequest = GetWidgetSettingsRequest;\n  type innovationWidgetV1Message_universal_d_GetWidgetSettingsResponse = GetWidgetSettingsResponse;\n  type innovationWidgetV1Message_universal_d_WidgetSettings = WidgetSettings;\n  type innovationWidgetV1Message_universal_d_WorkingHours = WorkingHours;\n  type innovationWidgetV1Message_universal_d_Schedule = Schedule;\n  type innovationWidgetV1Message_universal_d_DaySchedule = DaySchedule;\n  type innovationWidgetV1Message_universal_d_WorkingHoursFrame = WorkingHoursFrame;\n  type innovationWidgetV1Message_universal_d_IntroMessage = IntroMessage;\n  type innovationWidgetV1Message_universal_d_SettingsMessage = SettingsMessage;\n  type innovationWidgetV1Message_universal_d_ContactForm = ContactForm;\n  type innovationWidgetV1Message_universal_d_Conditions = Conditions;\n  type innovationWidgetV1Message_universal_d_Fields = Fields;\n  type innovationWidgetV1Message_universal_d_OfflineStrategy = OfflineStrategy;\n  const innovationWidgetV1Message_universal_d_OfflineStrategy: typeof OfflineStrategy;\n  type innovationWidgetV1Message_universal_d_SetWidgetSettingsRequest = SetWidgetSettingsRequest;\n  type innovationWidgetV1Message_universal_d_SetWidgetSettingsResponse = SetWidgetSettingsResponse;\n  type innovationWidgetV1Message_universal_d_GetConversationRequest = GetConversationRequest;\n  type innovationWidgetV1Message_universal_d_GetConversationResponse = GetConversationResponse;\n  type innovationWidgetV1Message_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type innovationWidgetV1Message_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type innovationWidgetV1Message_universal_d_Asset = Asset;\n  type innovationWidgetV1Message_universal_d_State = State;\n  const innovationWidgetV1Message_universal_d_State: typeof State;\n  type innovationWidgetV1Message_universal_d_SiteCreated = SiteCreated;\n  type innovationWidgetV1Message_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const innovationWidgetV1Message_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type innovationWidgetV1Message_universal_d_Namespace = Namespace;\n  const innovationWidgetV1Message_universal_d_Namespace: typeof Namespace;\n  type innovationWidgetV1Message_universal_d_SiteTransferred = SiteTransferred;\n  type innovationWidgetV1Message_universal_d_SiteDeleted = SiteDeleted;\n  type innovationWidgetV1Message_universal_d_DeleteContext = DeleteContext;\n  type innovationWidgetV1Message_universal_d_DeleteStatus = DeleteStatus;\n  const innovationWidgetV1Message_universal_d_DeleteStatus: typeof DeleteStatus;\n  type innovationWidgetV1Message_universal_d_SiteUndeleted = SiteUndeleted;\n  type innovationWidgetV1Message_universal_d_SitePublished = SitePublished;\n  type innovationWidgetV1Message_universal_d_SiteUnpublished = SiteUnpublished;\n  type innovationWidgetV1Message_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type innovationWidgetV1Message_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type innovationWidgetV1Message_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type innovationWidgetV1Message_universal_d_ServiceRemoved = ServiceRemoved;\n  type innovationWidgetV1Message_universal_d_SiteRenamed = SiteRenamed;\n  type innovationWidgetV1Message_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type innovationWidgetV1Message_universal_d_NamespaceChanged = NamespaceChanged;\n  type innovationWidgetV1Message_universal_d_StudioAssigned = StudioAssigned;\n  type innovationWidgetV1Message_universal_d_StudioUnassigned = StudioUnassigned;\n  type innovationWidgetV1Message_universal_d_Empty = Empty;\n  type innovationWidgetV1Message_universal_d_DomainEvent = DomainEvent;\n  type innovationWidgetV1Message_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type innovationWidgetV1Message_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type innovationWidgetV1Message_universal_d_RestoreInfo = RestoreInfo;\n  type innovationWidgetV1Message_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type innovationWidgetV1Message_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type innovationWidgetV1Message_universal_d_ActionEvent = ActionEvent;\n  type innovationWidgetV1Message_universal_d_MessageEnvelope = MessageEnvelope;\n  type innovationWidgetV1Message_universal_d_IdentificationData = IdentificationData;\n  type innovationWidgetV1Message_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type innovationWidgetV1Message_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const innovationWidgetV1Message_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const innovationWidgetV1Message_universal_d_createMessage: typeof createMessage;\n  const innovationWidgetV1Message_universal_d_batchCreateMessage: typeof batchCreateMessage;\n  type innovationWidgetV1Message_universal_d_BatchCreateMessageOptions = BatchCreateMessageOptions;\n  const innovationWidgetV1Message_universal_d_listMessages: typeof listMessages;\n  type innovationWidgetV1Message_universal_d_ListMessagesOptions = ListMessagesOptions;\n  const innovationWidgetV1Message_universal_d_getWidgetSettings: typeof getWidgetSettings;\n  const innovationWidgetV1Message_universal_d_setWidgetSettings: typeof setWidgetSettings;\n  const innovationWidgetV1Message_universal_d_getConversation: typeof getConversation;\n  namespace innovationWidgetV1Message_universal_d {\n    export {\n      innovationWidgetV1Message_universal_d_Message as Message,\n      innovationWidgetV1Message_universal_d_Sender as Sender,\n      innovationWidgetV1Message_universal_d_MessageType as MessageType,\n      innovationWidgetV1Message_universal_d_CreateMessageRequest as CreateMessageRequest,\n      innovationWidgetV1Message_universal_d_CreateMessageResponse as CreateMessageResponse,\n      innovationWidgetV1Message_universal_d_BatchCreateMessageRequest as BatchCreateMessageRequest,\n      innovationWidgetV1Message_universal_d_BatchCreateMessageResponse as BatchCreateMessageResponse,\n      innovationWidgetV1Message_universal_d_ListMessagesRequest as ListMessagesRequest,\n      innovationWidgetV1Message_universal_d_CursorPaging as CursorPaging,\n      innovationWidgetV1Message_universal_d_ListMessagesResponse as ListMessagesResponse,\n      innovationWidgetV1Message_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      innovationWidgetV1Message_universal_d_Cursors as Cursors,\n      innovationWidgetV1Message_universal_d_GetWidgetSettingsRequest as GetWidgetSettingsRequest,\n      innovationWidgetV1Message_universal_d_GetWidgetSettingsResponse as GetWidgetSettingsResponse,\n      innovationWidgetV1Message_universal_d_WidgetSettings as WidgetSettings,\n      innovationWidgetV1Message_universal_d_WorkingHours as WorkingHours,\n      innovationWidgetV1Message_universal_d_Schedule as Schedule,\n      innovationWidgetV1Message_universal_d_DaySchedule as DaySchedule,\n      innovationWidgetV1Message_universal_d_WorkingHoursFrame as WorkingHoursFrame,\n      innovationWidgetV1Message_universal_d_IntroMessage as IntroMessage,\n      innovationWidgetV1Message_universal_d_SettingsMessage as SettingsMessage,\n      innovationWidgetV1Message_universal_d_ContactForm as ContactForm,\n      innovationWidgetV1Message_universal_d_Conditions as Conditions,\n      innovationWidgetV1Message_universal_d_Fields as Fields,\n      innovationWidgetV1Message_universal_d_OfflineStrategy as OfflineStrategy,\n      innovationWidgetV1Message_universal_d_SetWidgetSettingsRequest as SetWidgetSettingsRequest,\n      innovationWidgetV1Message_universal_d_SetWidgetSettingsResponse as SetWidgetSettingsResponse,\n      innovationWidgetV1Message_universal_d_GetConversationRequest as GetConversationRequest,\n      innovationWidgetV1Message_universal_d_GetConversationResponse as GetConversationResponse,\n      innovationWidgetV1Message_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      innovationWidgetV1Message_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      innovationWidgetV1Message_universal_d_Asset as Asset,\n      innovationWidgetV1Message_universal_d_State as State,\n      innovationWidgetV1Message_universal_d_SiteCreated as SiteCreated,\n      innovationWidgetV1Message_universal_d_SiteCreatedContext as SiteCreatedContext,\n      innovationWidgetV1Message_universal_d_Namespace as Namespace,\n      innovationWidgetV1Message_universal_d_SiteTransferred as SiteTransferred,\n      innovationWidgetV1Message_universal_d_SiteDeleted as SiteDeleted,\n      innovationWidgetV1Message_universal_d_DeleteContext as DeleteContext,\n      innovationWidgetV1Message_universal_d_DeleteStatus as DeleteStatus,\n      innovationWidgetV1Message_universal_d_SiteUndeleted as SiteUndeleted,\n      innovationWidgetV1Message_universal_d_SitePublished as SitePublished,\n      innovationWidgetV1Message_universal_d_SiteUnpublished as SiteUnpublished,\n      innovationWidgetV1Message_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      innovationWidgetV1Message_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      innovationWidgetV1Message_universal_d_ServiceProvisioned as ServiceProvisioned,\n      innovationWidgetV1Message_universal_d_ServiceRemoved as ServiceRemoved,\n      innovationWidgetV1Message_universal_d_SiteRenamed as SiteRenamed,\n      innovationWidgetV1Message_universal_d_SiteHardDeleted as SiteHardDeleted,\n      innovationWidgetV1Message_universal_d_NamespaceChanged as NamespaceChanged,\n      innovationWidgetV1Message_universal_d_StudioAssigned as StudioAssigned,\n      innovationWidgetV1Message_universal_d_StudioUnassigned as StudioUnassigned,\n      innovationWidgetV1Message_universal_d_Empty as Empty,\n      innovationWidgetV1Message_universal_d_DomainEvent as DomainEvent,\n      innovationWidgetV1Message_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      innovationWidgetV1Message_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      innovationWidgetV1Message_universal_d_RestoreInfo as RestoreInfo,\n      innovationWidgetV1Message_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      innovationWidgetV1Message_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      innovationWidgetV1Message_universal_d_ActionEvent as ActionEvent,\n      innovationWidgetV1Message_universal_d_MessageEnvelope as MessageEnvelope,\n      innovationWidgetV1Message_universal_d_IdentificationData as IdentificationData,\n      innovationWidgetV1Message_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      innovationWidgetV1Message_universal_d_WebhookIdentityType as WebhookIdentityType,\n      innovationWidgetV1Message_universal_d_createMessage as createMessage,\n      innovationWidgetV1Message_universal_d_batchCreateMessage as batchCreateMessage,\n      innovationWidgetV1Message_universal_d_BatchCreateMessageOptions as BatchCreateMessageOptions,\n      innovationWidgetV1Message_universal_d_listMessages as listMessages,\n      innovationWidgetV1Message_universal_d_ListMessagesOptions as ListMessagesOptions,\n      innovationWidgetV1Message_universal_d_getWidgetSettings as getWidgetSettings,\n      innovationWidgetV1Message_universal_d_setWidgetSettings as setWidgetSettings,\n      innovationWidgetV1Message_universal_d_getConversation as getConversation,\n    };\n  }\n  \n  export { innovationWidgetV1Message_universal_d as messages };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/migration-triggers.v1.d.ts",
      "content": "declare module \"migration-triggers.v1\" {\n  interface MigrationTrigger {\n      /** Trigger name in V1 */\n      name?: string;\n      /** Trigger name in V2, in most cases should be the same as v1_name */\n      v2Name?: string;\n      /** Application ID of the app that holds the V2 trigger component */\n      v2AppId?: string;\n      /**\n       * If true then new automations should be created in V2 instead of V1\n       * @readonly\n       */\n      openedInV2?: boolean;\n      /**\n       * Date of opening\n       * @readonly\n       */\n      openedDate?: Date | null;\n      /**\n       * If true then automations that are both in V1 and V2 should be activated in V2 instead of V1. If false then such automations should be activated in V1.\n       * @readonly\n       */\n      activatedInV2?: boolean;\n      /**\n       * Date of activation\n       * @readonly\n       */\n      activatedDate?: Date | null;\n      /**\n       * If true then the sync mechanism that guarantees that automation is activated in v2 instead of V1 should be turned off.\n       * @readonly\n       */\n      completed?: boolean;\n      /**\n       * Date of completion\n       * @readonly\n       */\n      completedDate?: Date | null;\n      /**\n       * If true this trigger is not being migrated or has been replaced by another trigger\n       * @readonly\n       */\n      deprecatedInV1?: boolean;\n      /**\n       * Date of deprecation in v1\n       * @readonly\n       */\n      deprecatedInV1Date?: Date | null;\n  }\n  interface BulkCreateTriggersRequest {\n      triggers?: MigrationTrigger[];\n  }\n  interface BulkCreateTriggersResponse {\n  }\n  interface BulkUpdateTriggersRequest {\n      triggers?: MigrationTrigger[];\n      onMissingCreate?: boolean;\n  }\n  interface BulkUpdateTriggersResponse {\n  }\n  interface ToggleTriggerOpenedRequest {\n      name?: string;\n      state?: boolean;\n  }\n  interface ToggleTriggerOpenedResponse {\n      trigger?: MigrationTrigger;\n  }\n  interface ToggleTriggerActivatedRequest {\n      name?: string;\n      state?: boolean;\n  }\n  interface ToggleTriggerActivatedResponse {\n      trigger?: MigrationTrigger;\n  }\n  interface ToggleTriggerCompletedRequest {\n      name?: string;\n      state?: boolean;\n  }\n  interface ToggleTriggerCompletedResponse {\n      trigger?: MigrationTrigger;\n  }\n  interface ToggleTriggerDeprecatedInV1Request {\n      name?: string;\n      state?: boolean;\n  }\n  interface ToggleTriggerDeprecatedInV1Response {\n      trigger?: MigrationTrigger;\n  }\n  interface GetTriggerRequest {\n      name: string;\n  }\n  interface GetTriggerResponse {\n      trigger?: MigrationTrigger;\n  }\n  interface DeleteTriggerRequest {\n      name?: string;\n  }\n  interface DeleteTriggerResponse {\n  }\n  interface ListTriggersRequest {\n  }\n  interface ListTriggersResponse {\n      triggers?: MigrationTrigger[];\n  }\n  /**\n   * Get trigger\n   * @public\n   * @documentationMaturity preview\n   * @requiredField name\n   * @permissionId AUTOMATIONS.MIGRATION_TRIGGERS_READ\n   * @adminMethod\n   */\n  function getTrigger(name: string): Promise<GetTriggerResponse>;\n  /**\n   * List all trigger\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.MIGRATION_TRIGGERS_READ\n   * @adminMethod\n   */\n  function listTriggers(): Promise<ListTriggersResponse>;\n  \n  type automationsMigrationV1MigrationTrigger_universal_d_MigrationTrigger = MigrationTrigger;\n  type automationsMigrationV1MigrationTrigger_universal_d_BulkCreateTriggersRequest = BulkCreateTriggersRequest;\n  type automationsMigrationV1MigrationTrigger_universal_d_BulkCreateTriggersResponse = BulkCreateTriggersResponse;\n  type automationsMigrationV1MigrationTrigger_universal_d_BulkUpdateTriggersRequest = BulkUpdateTriggersRequest;\n  type automationsMigrationV1MigrationTrigger_universal_d_BulkUpdateTriggersResponse = BulkUpdateTriggersResponse;\n  type automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerOpenedRequest = ToggleTriggerOpenedRequest;\n  type automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerOpenedResponse = ToggleTriggerOpenedResponse;\n  type automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerActivatedRequest = ToggleTriggerActivatedRequest;\n  type automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerActivatedResponse = ToggleTriggerActivatedResponse;\n  type automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerCompletedRequest = ToggleTriggerCompletedRequest;\n  type automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerCompletedResponse = ToggleTriggerCompletedResponse;\n  type automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerDeprecatedInV1Request = ToggleTriggerDeprecatedInV1Request;\n  type automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerDeprecatedInV1Response = ToggleTriggerDeprecatedInV1Response;\n  type automationsMigrationV1MigrationTrigger_universal_d_GetTriggerRequest = GetTriggerRequest;\n  type automationsMigrationV1MigrationTrigger_universal_d_GetTriggerResponse = GetTriggerResponse;\n  type automationsMigrationV1MigrationTrigger_universal_d_DeleteTriggerRequest = DeleteTriggerRequest;\n  type automationsMigrationV1MigrationTrigger_universal_d_DeleteTriggerResponse = DeleteTriggerResponse;\n  type automationsMigrationV1MigrationTrigger_universal_d_ListTriggersRequest = ListTriggersRequest;\n  type automationsMigrationV1MigrationTrigger_universal_d_ListTriggersResponse = ListTriggersResponse;\n  const automationsMigrationV1MigrationTrigger_universal_d_getTrigger: typeof getTrigger;\n  const automationsMigrationV1MigrationTrigger_universal_d_listTriggers: typeof listTriggers;\n  namespace automationsMigrationV1MigrationTrigger_universal_d {\n    export {\n      automationsMigrationV1MigrationTrigger_universal_d_MigrationTrigger as MigrationTrigger,\n      automationsMigrationV1MigrationTrigger_universal_d_BulkCreateTriggersRequest as BulkCreateTriggersRequest,\n      automationsMigrationV1MigrationTrigger_universal_d_BulkCreateTriggersResponse as BulkCreateTriggersResponse,\n      automationsMigrationV1MigrationTrigger_universal_d_BulkUpdateTriggersRequest as BulkUpdateTriggersRequest,\n      automationsMigrationV1MigrationTrigger_universal_d_BulkUpdateTriggersResponse as BulkUpdateTriggersResponse,\n      automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerOpenedRequest as ToggleTriggerOpenedRequest,\n      automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerOpenedResponse as ToggleTriggerOpenedResponse,\n      automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerActivatedRequest as ToggleTriggerActivatedRequest,\n      automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerActivatedResponse as ToggleTriggerActivatedResponse,\n      automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerCompletedRequest as ToggleTriggerCompletedRequest,\n      automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerCompletedResponse as ToggleTriggerCompletedResponse,\n      automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerDeprecatedInV1Request as ToggleTriggerDeprecatedInV1Request,\n      automationsMigrationV1MigrationTrigger_universal_d_ToggleTriggerDeprecatedInV1Response as ToggleTriggerDeprecatedInV1Response,\n      automationsMigrationV1MigrationTrigger_universal_d_GetTriggerRequest as GetTriggerRequest,\n      automationsMigrationV1MigrationTrigger_universal_d_GetTriggerResponse as GetTriggerResponse,\n      automationsMigrationV1MigrationTrigger_universal_d_DeleteTriggerRequest as DeleteTriggerRequest,\n      automationsMigrationV1MigrationTrigger_universal_d_DeleteTriggerResponse as DeleteTriggerResponse,\n      automationsMigrationV1MigrationTrigger_universal_d_ListTriggersRequest as ListTriggersRequest,\n      automationsMigrationV1MigrationTrigger_universal_d_ListTriggersResponse as ListTriggersResponse,\n      automationsMigrationV1MigrationTrigger_universal_d_getTrigger as getTrigger,\n      automationsMigrationV1MigrationTrigger_universal_d_listTriggers as listTriggers,\n    };\n  }\n  \n  export { automationsMigrationV1MigrationTrigger_universal_d as migrationTriggers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/trigger-catalog.v1.d.ts",
      "content": "declare module \"trigger-catalog.v1\" {\n  interface TriggerConfiguration {\n      /** @readonly */\n      _id?: string | null;\n      /**\n       * updates are allowed only for the latest revision\n       * @readonly\n       */\n      revision?: string | null;\n      /** @readonly */\n      _createdDate?: Date;\n      /** @readonly */\n      _updatedDate?: Date;\n      /** @readonly */\n      source?: Source;\n      /** For EventType.LEGACY the message name, eg. RsvpCreated. For EventType.DOMAIN_EVENT the domain event fqdn, eg. wix.events.rsvp */\n      name?: string | null;\n      /** a translation key */\n      displayName?: string | null;\n      /** a translation key */\n      description?: string | null;\n      /** list of keys used to group triggers in the UI */\n      categories?: string[];\n      /** the payload schema, see SchemaConfiguration */\n      schemaConfiguration?: SchemaConfiguration;\n      /** apply and display this template to specific users */\n      preconditions?: Precondition[];\n      /** pass setup configuration to actions */\n      actionRecommendations?: ActionRecommendation[];\n      /** additional trigger data retrieved from some service using references from the trigger payload as input */\n      enrichments?: Enrichment[];\n      /** For EventType.LEGACY the topic of the message, eg. wix-events.rsvp. For EventType.DOMAIN_EVENT the domain event topic, eg. domain_events_wix.wix_events.rsvp */\n      eventTopic?: string | null;\n      /** For EventType.LEGACY leave empty. For EventType.DOMAIN_EVENT add the relevant slug created/updated/deleted/started/completed/email_opened/etc.. */\n      eventSlug?: string | null;\n      /** default DOMAIN_EVENT, LEGACY should only be used after consulting #crm-automations team */\n      eventType?: EventType;\n      /** @readonly */\n      translation?: Translation;\n      reengagementInfo?: ReengagementInfo;\n      /** if defined it will instruct how build the delay after the trigger is fired */\n      delayStrategy?: DelayStrategy;\n      /** The rate limiting options and configurations this trigger provides */\n      rateLimiting?: RateLimiting;\n      /**\n       * Data Extensions\n       * @internal\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface Source {\n      /**\n       * Source app or service ID.\n       * @readonly\n       */\n      sourceId?: string;\n      /**\n       * App or service type.\n       * @readonly\n       */\n      sourceType?: SourceType;\n  }\n  enum SourceType {\n      UNKNOWN_SOURCE_TYPE = \"UNKNOWN_SOURCE_TYPE\",\n      WIX_APP = \"WIX_APP\",\n      EXTERNAL = \"EXTERNAL\",\n      ADMIN = \"ADMIN\",\n      OTHER = \"OTHER\"\n  }\n  interface SchemaConfiguration {\n      /** the fields of the payload */\n      fields?: SchemaField[];\n      /**\n       * the endpoint to resolve the schema configuration after the user updates the option selections.\n       * invocation will be done via REST protocol, method POST with payload as described in com.wixpress.actiontriggers.integrator.entities.DynamicSchemaRequest\n       * expected output must be compliant with com.wixpress.actiontriggers.integrator.entities.DynamicSchemaResponse\n       * in order to insure the caller identity we will add a HEADER, 'md5', that will be signed with a private key and can be decrypted using the RSA 1024 public key,\n       * MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCuwhNPTeyleWLcq7nVGyXv1Swar442JNZ7fKSukPjuoNUokw1X+fvQ7GcqQu5SOqCRhlBjnL0HAjUVeUvBAHotmGXbzBpe73uKsj6am5XiRubxFT3t17teAR4KYvn1d7izaxGkc+eyAZm7M/9tvrms5DGMvilZ01zusWek1i3FmwIDAQAB\n       *\n       * the decrypted md5 header must match md5 of the body.\n       *\n       * example call:\n       * curl --location --request POST 'www.trigger-example.com/dynamic-schema' \\\n       * --header 'md5: Lu9Gk1EavSV23vKno5pNuKBNDFn0H5il2hsfl0nsKsF186EpJFNVrMEVGCM/CYF9YYIOu0PzprCJBT9i7dKVv+6Scp9FhRz3kiKWOTfMEbFW+gIwOeQ3OojQ6VVA9668CDKe+rsWmAXVDPXASXtdf2849BNJ6SZkC2vsBF9yRbE=' \\\n       * --header 'Content-Type: application/json' \\\n       * --data-raw '{\"selectedConditions\":{\"someKey\":{\"values\":[\"value1\",\"value2\"]},\"anotherKey\":{\"values\":[\"anotherValue1\",\"anotherValue2\"]}},\"instanceId\":\"2ad0b21b-2813-4380-b56c-a8ded8aa854f\"}'\n       *\n       * resolving side validation:\n       * 1. decrypt the md5 header using the public key specified above -> in the example above the result should be -> A159933841647D2A1579001CB49C0B42\n       * 2. run md5 on the payload -> 65DAEF72E2A8BC42C8A9CC2042406C7C\n       *\n       * example result:\n       * {\n       * \"schemaConfiguration\": {\n       * \"fields\": [\n       * {\n       * \"key\": \"exampleKey\",\n       * \"displayName\": \"Example Key\",\n       * \"description\": \"Some example\",\n       * \"fieldType\": \"TEXT\",\n       * \"sampleValues\": [\n       * \"Hello World\"\n       * ],\n       * \"exposure\": \"EXPOSED\",\n       * \"allowNegativeOffset\": false\n       * }\n       * ]\n       * }\n       * }\n       */\n      dynamicSchemaUrl?: string | null;\n  }\n  interface SchemaField {\n      /** the key as it appears on the payload */\n      key?: string;\n      /** a translation key */\n      displayName?: string;\n      /** a translation key */\n      description?: string | null;\n      /** the field type */\n      fieldTypeV2?: SchemaFieldTypeV2;\n      /** sample values as translation keys */\n      sampleValues?: string[];\n      /** the field exposure */\n      exposure?: Exposure;\n      /** for fields with a known set of possible values */\n      conditionOptions?: ConditionOptions;\n      /** for computed and formatted fields, (TODO: jsonata?) representation of the value, default will be taken from key */\n      valueMapping?: string | null;\n      isArray?: boolean | null;\n      /** the ID of the option, to be correlated with condition option values */\n      conditionOptionId?: string | null;\n      /** specify the footer content */\n      footerContent?: string | null;\n  }\n  enum PrimitiveType {\n      UNKNOWN_PRIMITIVE_TYPE = \"UNKNOWN_PRIMITIVE_TYPE\",\n      TEXT = \"TEXT\",\n      BOOLEAN = \"BOOLEAN\",\n      NUMBER = \"NUMBER\"\n  }\n  enum SimpleType {\n      UNKNOWN_SIMPLE_TYPE = \"UNKNOWN_SIMPLE_TYPE\",\n      MONEY = \"MONEY\",\n      LINK = \"LINK\",\n      BACKOFFICE_LINK = \"BACKOFFICE_LINK\",\n      LIVESITE_LINK = \"LIVESITE_LINK\",\n      MULTILINGUAL = \"MULTILINGUAL\",\n      IMAGE_LINK = \"IMAGE_LINK\",\n      GUID = \"GUID\",\n      EMAIL = \"EMAIL\",\n      PHONE = \"PHONE\",\n      CONTACT_ID = \"CONTACT_ID\",\n      ORDER_ID = \"ORDER_ID\"\n  }\n  interface EnumOption {\n      /** The name displayed to the user. */\n      displayName?: string;\n  }\n  interface Primitive {\n      primitiveType?: PrimitiveType;\n  }\n  /** need to think about it */\n  interface Simple {\n      simpleType?: SimpleType;\n  }\n  interface DateType {\n      /** default: false, set this to true if the date is normally a future date, like: Invoice expiration date, Membership renewal date */\n      allowNegativeOffset?: boolean;\n  }\n  interface Enumeration {\n      /** enumValue (The field value option) -> enum option */\n      options?: Record<string, EnumOption>;\n  }\n  interface Complex {\n      schemaFields?: SchemaField[];\n  }\n  interface MultilingualType {\n      /** app_def_id in multilingual */\n      appDefId?: string;\n      /** namespace in multilingual */\n      namespace?: string;\n      /** entity_id in multilingual */\n      entityId?: string;\n      /** key in multilingual */\n      key?: string;\n      /** default value of item */\n      defaultValue?: string | null;\n  }\n  interface SchemaFieldTypeV2 extends SchemaFieldTypeV2FieldTypeOneOf {\n      primitive?: Primitive;\n      simple?: Simple;\n      /**\n       * the field value must conform to the following JSON structure { \"timestamp\": string, \"timeZone\": string }, where the timestamp is ISO format UTC, and the time zone is the full name\n       * example: { \"timestamp\": \"2021-03-22T11:41:47.992Z\", timeZone: \"Asia/Jerusalem\" }\n       */\n      date?: DateType;\n      enum?: Enumeration;\n      complex?: Complex;\n      multilingualType?: MultilingualType;\n  }\n  /** @oneof */\n  interface SchemaFieldTypeV2FieldTypeOneOf {\n      primitive?: Primitive;\n      simple?: Simple;\n      /**\n       * the field value must conform to the following JSON structure { \"timestamp\": string, \"timeZone\": string }, where the timestamp is ISO format UTC, and the time zone is the full name\n       * example: { \"timestamp\": \"2021-03-22T11:41:47.992Z\", timeZone: \"Asia/Jerusalem\" }\n       */\n      date?: DateType;\n      enum?: Enumeration;\n      complex?: Complex;\n      multilingualType?: MultilingualType;\n  }\n  enum Exposure {\n      UNKNOWN_EXPOSURE = \"UNKNOWN_EXPOSURE\",\n      /** not sent to the action provider */\n      SETUP = \"SETUP\",\n      /** sent to the action provider and usually hidden from user */\n      HIDDEN = \"HIDDEN\",\n      /** sent to the action provider and usually shown to user */\n      EXPOSED = \"EXPOSED\"\n  }\n  interface ConditionOptions {\n      /** the label to display to the user, such as \"Select a Form:\" */\n      displayName?: string | null;\n      /** possible values, like a list of Forms, Pages or Events on a site */\n      values?: OptionValue[];\n      /** the selection type, see SelectionType */\n      selectionType?: SelectionType;\n      /** the optional default value */\n      defaultValue?: string | null;\n      /** the visibility of the condition */\n      visibility?: Visibility;\n      /** regex to validate free text */\n      validationRegex?: string | null;\n      /** description of validation_string */\n      validationDescription?: string | null;\n  }\n  interface OptionValue {\n      /** a translation key */\n      displayName?: string;\n      /** the value, like form_id, page_id, event_id */\n      value?: string;\n      /** the optional labels for the option */\n      labels?: string[] | null;\n      /** the optional group this option is associated to */\n      group?: string | null;\n      /** the ID of the option, to be correlated with other schema fields */\n      conditionOptionId?: string | null;\n  }\n  enum SelectionType {\n      UNKNOWN_SELECTION_TYPE = \"UNKNOWN_SELECTION_TYPE\",\n      SINGLE = \"SINGLE\",\n      MULTI = \"MULTI\",\n      TEXT = \"TEXT\",\n      NUMBER = \"NUMBER\"\n  }\n  enum Visibility {\n      UNKNOWN_VISIBILITY = \"UNKNOWN_VISIBILITY\",\n      VISIBLE = \"VISIBLE\",\n      READONLY = \"READONLY\",\n      HIDDEN = \"HIDDEN\"\n  }\n  interface Precondition {\n      /** Precondition type */\n      preconditionType?: PreconditionType;\n      /** Precondition unique key */\n      key?: string;\n      /** Precondition value */\n      value?: string;\n  }\n  enum PreconditionType {\n      UNKNOWN_PRECONDITION_TYPE = \"UNKNOWN_PRECONDITION_TYPE\",\n      PETRI = \"PETRI\",\n      STATE = \"STATE\",\n      APP_DEPENDENCY = \"APP_DEPENDENCY\",\n      DEALER_OFFERING = \"DEALER_OFFERING\"\n  }\n  interface ActionRecommendation {\n      /** the action to configure */\n      actionName?: string;\n      /** show, hide or leave the default of the action */\n      actionVisibilityOverride?: ActionVisibilityOverride;\n      propertySuggestions?: Record<string, any> | null;\n  }\n  enum ActionVisibilityOverride {\n      UNKNOWN_ACTION_VISIBILITY_OVERRIDE = \"UNKNOWN_ACTION_VISIBILITY_OVERRIDE\",\n      HIDE = \"HIDE\",\n      SHOW = \"SHOW\"\n  }\n  interface Enrichment {\n      /** make fields available to computed fields */\n      namespace?: string;\n      /** the service called to resolve the enrichment */\n      serviceName?: string;\n      /** the method called to resolve the enrichment */\n      serviceMethod?: string;\n      /** the request payload with mappings */\n      inputMapping?: string;\n      /** the output payload */\n      fields?: SchemaField[];\n  }\n  enum EventType {\n      UNKNOWN_EVENT_TYPE = \"UNKNOWN_EVENT_TYPE\",\n      LEGACY = \"LEGACY\",\n      DOMAIN_EVENT = \"DOMAIN_EVENT\"\n  }\n  interface Translation {\n      state?: TranslationState;\n  }\n  enum TranslationState {\n      UNKNOWN_TRANSLATION_STATE = \"UNKNOWN_TRANSLATION_STATE\",\n      NOT_REQUESTED = \"NOT_REQUESTED\",\n      PENDING = \"PENDING\",\n      PARTIAL = \"PARTIAL\",\n      TRANSLATED = \"TRANSLATED\"\n  }\n  interface ReengagementInfo {\n      /** enable reengagement strategy for this trigger */\n      mode?: ReengagementMode;\n      /** trigger name in reengagement mode */\n      displayName?: string;\n      /** text to display as label for the timing section */\n      timingLabelText?: string;\n  }\n  enum ReengagementMode {\n      UNKNOWN_REENGAGEMENT_MODE = \"UNKNOWN_REENGAGEMENT_MODE\",\n      DISABLED = \"DISABLED\",\n      ENABLED = \"ENABLED\"\n  }\n  interface DelayStrategy {\n      /** explains in text what we are waiting for, example: Invoice Expiration */\n      displayName?: string | null;\n      /**\n       * jsonata expression that defines the \"immediate\" activation time, for example in \"invoiceExpired\" trigger we will put here: $toMillis(expirationDate)\n       * client will add a delay on top of that, for example: -5 days. that means the delay we will create will be: expirationDate - 5 days\n       */\n      eventTime?: string | null;\n      /** once getting back from the delay we will check this jsonata condition, for example: Invoice.Status = \"Sent\" and Invoice.Balance > 0 */\n      condition?: string | null;\n  }\n  interface RateLimiting {\n      /** The rate limiting options this trigger provides */\n      options?: RateLimitingOption[];\n  }\n  interface RateLimitingOption {\n      /** The jsonata used to extract the entity/resource id, we want to limit on, from the final payload (after enrichment and output mapping). */\n      keyJsonata?: string;\n      /** The display name of the entity/resource we limit on (e.g. \"Contact\") */\n      displayName?: string;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ResolveTriggersConfigurationRequest {\n      /** TODO: Once we implement trigger paging, refactor to Cursor Paging */\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface ResolveTriggersConfigurationResponse {\n      /** paginated triggers configuration */\n      results?: TriggerConfiguration[];\n      pagingMetadata?: PagingMetadata;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface CreateTriggerConfigurationRequest {\n      /** Trigger Configuration */\n      triggerConfiguration?: TriggerConfiguration;\n  }\n  interface CreateTriggerConfigurationResponse {\n      /** Trigger Configuration */\n      triggerConfiguration?: TriggerConfiguration;\n  }\n  interface UpdateTriggerConfigurationRequest {\n      /**\n       * Partial update method. Client can send field mask, or let the server infer it.\n       * If field is empty it will not be updated unless in field_mask the client sends\n       * If field_mask is inferred, it works with caveats:\n       * 1. Does not infer repeated nested schema\n       * 2. Does not infer google.protobuf.Struct nested structure\n       * More info here: https://github.com/wix-private/server-infra/blob/master/framework/grpc/p13n/auto-field-masks/README.md\n       */\n      triggerConfiguration?: TriggerConfiguration;\n      /**\n       * Optional parameter. Field mask to indicate which fields should be updated\n       * If field_mask not send, the server will infer it for you with caveats - see above\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateTriggerConfigurationResponse {\n      /** Trigger Configuration */\n      triggerConfiguration?: TriggerConfiguration;\n  }\n  interface DeleteTriggerConfigurationRequest {\n      /** Trigger Configuration ID */\n      _id: string;\n      revision?: string;\n  }\n  interface DeleteTriggerConfigurationResponse {\n  }\n  interface GetTriggerConfigurationRequest {\n      /** Trigger Configuration ID */\n      _id: string;\n      /**\n       * Projection on the result object - list of specific field names to return.\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface GetTriggerConfigurationResponse {\n      /** Trigger Configuration */\n      triggerConfiguration?: TriggerConfiguration;\n  }\n  interface QueryTriggersConfigurationRequest {\n      /** Query - support filter, sort, paging, fields and field sets */\n      query?: QueryV2;\n      fromTrashBin?: boolean;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryTriggersConfigurationResponse {\n      /** Queried triggers configuration */\n      results?: TriggerConfiguration[];\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GetTriggerSchemaRequest {\n      _id: string;\n      selectedConditions?: Record<string, UserSelection>;\n  }\n  interface UserSelection {\n      values?: string[];\n  }\n  interface GetTriggerSchemaResponse {\n      schemaConfiguration?: SchemaConfiguration;\n  }\n  interface MigrateFromActionTriggersServerRequest {\n      paging?: Paging;\n  }\n  interface MigrateFromActionTriggersServerResponse {\n      pagingMetadata?: PagingMetadata;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Resolve a list of triggers configuration that are relevant to the entity that made the request.\n   * resolving includes:\n   * 1. filtering by the preconditions\n   * 2. translations\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function resolveTriggersConfiguration(options?: ResolveTriggersConfigurationOptions): Promise<ResolveTriggersConfigurationResponse>;\n  interface ResolveTriggersConfigurationOptions {\n      /** TODO: Once we implement trigger paging, refactor to Cursor Paging */\n      paging?: Paging;\n  }\n  /**\n   * Create a new trigger configuration\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.triggerConfiguration.categories\n   * @requiredField options.triggerConfiguration.description\n   * @requiredField options.triggerConfiguration.displayName\n   * @requiredField options.triggerConfiguration.name\n   * @requiredField options.triggerConfiguration.schemaConfiguration\n   * @adminMethod\n   * @returns Trigger Configuration\n   */\n  function createTriggerConfiguration(options?: CreateTriggerConfigurationOptions): Promise<TriggerConfiguration>;\n  interface CreateTriggerConfigurationOptions {\n      /** Trigger Configuration */\n      triggerConfiguration?: TriggerConfiguration;\n  }\n  /**\n   * Updates trigger configuration by ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.triggerConfiguration.revision\n   * @adminMethod\n   * @returns Trigger Configuration\n   */\n  function updateTriggerConfiguration(_id: string | null, options?: UpdateTriggerConfigurationOptions): Promise<TriggerConfiguration>;\n  interface UpdateTriggerConfigurationOptions {\n      triggerConfiguration: {\n          /** @readonly */\n          _id?: string | null;\n          /**\n           * updates are allowed only for the latest revision\n           * @readonly\n           */\n          revision?: string | null;\n          /** @readonly */\n          _createdDate?: Date;\n          /** @readonly */\n          _updatedDate?: Date;\n          /** @readonly */\n          source?: Source;\n          /** For EventType.LEGACY the message name, eg. RsvpCreated. For EventType.DOMAIN_EVENT the domain event fqdn, eg. wix.events.rsvp */\n          name?: string | null;\n          /** a translation key */\n          displayName?: string | null;\n          /** a translation key */\n          description?: string | null;\n          /** list of keys used to group triggers in the UI */\n          categories?: string[];\n          /** the payload schema, see SchemaConfiguration */\n          schemaConfiguration?: SchemaConfiguration;\n          /** apply and display this template to specific users */\n          preconditions?: Precondition[];\n          /** pass setup configuration to actions */\n          actionRecommendations?: ActionRecommendation[];\n          /** additional trigger data retrieved from some service using references from the trigger payload as input */\n          enrichments?: Enrichment[];\n          /** For EventType.LEGACY the topic of the message, eg. wix-events.rsvp. For EventType.DOMAIN_EVENT the domain event topic, eg. domain_events_wix.wix_events.rsvp */\n          eventTopic?: string | null;\n          /** For EventType.LEGACY leave empty. For EventType.DOMAIN_EVENT add the relevant slug created/updated/deleted/started/completed/email_opened/etc.. */\n          eventSlug?: string | null;\n          /** default DOMAIN_EVENT, LEGACY should only be used after consulting #crm-automations team */\n          eventType?: EventType;\n          /** @readonly */\n          translation?: Translation;\n          reengagementInfo?: ReengagementInfo;\n          /** if defined it will instruct how build the delay after the trigger is fired */\n          delayStrategy?: DelayStrategy;\n          /** The rate limiting options and configurations this trigger provides */\n          rateLimiting?: RateLimiting;\n          /**\n           * Data Extensions\n           * @internal\n           */\n          extendedFields?: ExtendedFields;\n      };\n      /**\n       * Optional parameter. Field mask to indicate which fields should be updated\n       * If field_mask not send, the server will infer it for you with caveats - see above\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes trigger configuration by ID\n   * @param _id - Trigger Configuration ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function deleteTriggerConfiguration(_id: string, options?: DeleteTriggerConfigurationOptions): Promise<void>;\n  interface DeleteTriggerConfigurationOptions {\n      revision?: string;\n  }\n  /**\n   * Returns trigger configuration by ID\n   * @param _id - Trigger Configuration ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   * @returns Trigger Configuration\n   */\n  function getTriggerConfiguration(_id: string, options?: GetTriggerConfigurationOptions): Promise<TriggerConfiguration>;\n  interface GetTriggerConfigurationOptions {\n      /**\n       * Projection on the result object - list of specific field names to return.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /**\n   * Returns triggers configuration by query params\n   * @public\n   * @documentationMaturity preview\n   * @permissionId TRIGGER_CATALOG.TRIGGER_CONFIGURATION_READ\n   * @adminMethod\n   */\n  function queryTriggersConfiguration(options?: QueryTriggersConfigurationOptions): ResultsQueryBuilder;\n  interface QueryTriggersConfigurationOptions {\n      fromTrashBin?: boolean | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ResultsQueryResult extends QueryCursorResult {\n      items: TriggerConfiguration[];\n      query: ResultsQueryBuilder;\n      next: () => Promise<ResultsQueryResult>;\n      prev: () => Promise<ResultsQueryResult>;\n  }\n  interface ResultsQueryBuilder {\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ResultsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ResultsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ResultsQueryResult>;\n  }\n  /**\n   * return trigger configuration schema by trigger ID and selected conditions\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @adminMethod\n   */\n  function getTriggerSchema(_id: string, options?: GetTriggerSchemaOptions): Promise<GetTriggerSchemaResponse>;\n  interface GetTriggerSchemaOptions {\n      selectedConditions?: Record<string, UserSelection>;\n  }\n  \n  type crmAutomationsV1TriggerConfiguration_universal_d_TriggerConfiguration = TriggerConfiguration;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Source = Source;\n  type crmAutomationsV1TriggerConfiguration_universal_d_SourceType = SourceType;\n  const crmAutomationsV1TriggerConfiguration_universal_d_SourceType: typeof SourceType;\n  type crmAutomationsV1TriggerConfiguration_universal_d_SchemaConfiguration = SchemaConfiguration;\n  type crmAutomationsV1TriggerConfiguration_universal_d_SchemaField = SchemaField;\n  type crmAutomationsV1TriggerConfiguration_universal_d_PrimitiveType = PrimitiveType;\n  const crmAutomationsV1TriggerConfiguration_universal_d_PrimitiveType: typeof PrimitiveType;\n  type crmAutomationsV1TriggerConfiguration_universal_d_SimpleType = SimpleType;\n  const crmAutomationsV1TriggerConfiguration_universal_d_SimpleType: typeof SimpleType;\n  type crmAutomationsV1TriggerConfiguration_universal_d_EnumOption = EnumOption;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Primitive = Primitive;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Simple = Simple;\n  type crmAutomationsV1TriggerConfiguration_universal_d_DateType = DateType;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Enumeration = Enumeration;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Complex = Complex;\n  type crmAutomationsV1TriggerConfiguration_universal_d_MultilingualType = MultilingualType;\n  type crmAutomationsV1TriggerConfiguration_universal_d_SchemaFieldTypeV2 = SchemaFieldTypeV2;\n  type crmAutomationsV1TriggerConfiguration_universal_d_SchemaFieldTypeV2FieldTypeOneOf = SchemaFieldTypeV2FieldTypeOneOf;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Exposure = Exposure;\n  const crmAutomationsV1TriggerConfiguration_universal_d_Exposure: typeof Exposure;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ConditionOptions = ConditionOptions;\n  type crmAutomationsV1TriggerConfiguration_universal_d_OptionValue = OptionValue;\n  type crmAutomationsV1TriggerConfiguration_universal_d_SelectionType = SelectionType;\n  const crmAutomationsV1TriggerConfiguration_universal_d_SelectionType: typeof SelectionType;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Visibility = Visibility;\n  const crmAutomationsV1TriggerConfiguration_universal_d_Visibility: typeof Visibility;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Precondition = Precondition;\n  type crmAutomationsV1TriggerConfiguration_universal_d_PreconditionType = PreconditionType;\n  const crmAutomationsV1TriggerConfiguration_universal_d_PreconditionType: typeof PreconditionType;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ActionRecommendation = ActionRecommendation;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ActionVisibilityOverride = ActionVisibilityOverride;\n  const crmAutomationsV1TriggerConfiguration_universal_d_ActionVisibilityOverride: typeof ActionVisibilityOverride;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Enrichment = Enrichment;\n  type crmAutomationsV1TriggerConfiguration_universal_d_EventType = EventType;\n  const crmAutomationsV1TriggerConfiguration_universal_d_EventType: typeof EventType;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Translation = Translation;\n  type crmAutomationsV1TriggerConfiguration_universal_d_TranslationState = TranslationState;\n  const crmAutomationsV1TriggerConfiguration_universal_d_TranslationState: typeof TranslationState;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ReengagementInfo = ReengagementInfo;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ReengagementMode = ReengagementMode;\n  const crmAutomationsV1TriggerConfiguration_universal_d_ReengagementMode: typeof ReengagementMode;\n  type crmAutomationsV1TriggerConfiguration_universal_d_DelayStrategy = DelayStrategy;\n  type crmAutomationsV1TriggerConfiguration_universal_d_RateLimiting = RateLimiting;\n  type crmAutomationsV1TriggerConfiguration_universal_d_RateLimitingOption = RateLimitingOption;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ExtendedFields = ExtendedFields;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ResolveTriggersConfigurationRequest = ResolveTriggersConfigurationRequest;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Paging = Paging;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ResolveTriggersConfigurationResponse = ResolveTriggersConfigurationResponse;\n  type crmAutomationsV1TriggerConfiguration_universal_d_PagingMetadata = PagingMetadata;\n  type crmAutomationsV1TriggerConfiguration_universal_d_CreateTriggerConfigurationRequest = CreateTriggerConfigurationRequest;\n  type crmAutomationsV1TriggerConfiguration_universal_d_CreateTriggerConfigurationResponse = CreateTriggerConfigurationResponse;\n  type crmAutomationsV1TriggerConfiguration_universal_d_UpdateTriggerConfigurationRequest = UpdateTriggerConfigurationRequest;\n  type crmAutomationsV1TriggerConfiguration_universal_d_UpdateTriggerConfigurationResponse = UpdateTriggerConfigurationResponse;\n  type crmAutomationsV1TriggerConfiguration_universal_d_DeleteTriggerConfigurationRequest = DeleteTriggerConfigurationRequest;\n  type crmAutomationsV1TriggerConfiguration_universal_d_DeleteTriggerConfigurationResponse = DeleteTriggerConfigurationResponse;\n  type crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerConfigurationRequest = GetTriggerConfigurationRequest;\n  type crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerConfigurationResponse = GetTriggerConfigurationResponse;\n  type crmAutomationsV1TriggerConfiguration_universal_d_QueryTriggersConfigurationRequest = QueryTriggersConfigurationRequest;\n  type crmAutomationsV1TriggerConfiguration_universal_d_QueryV2 = QueryV2;\n  type crmAutomationsV1TriggerConfiguration_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Sorting = Sorting;\n  type crmAutomationsV1TriggerConfiguration_universal_d_SortOrder = SortOrder;\n  const crmAutomationsV1TriggerConfiguration_universal_d_SortOrder: typeof SortOrder;\n  type crmAutomationsV1TriggerConfiguration_universal_d_CursorPaging = CursorPaging;\n  type crmAutomationsV1TriggerConfiguration_universal_d_QueryTriggersConfigurationResponse = QueryTriggersConfigurationResponse;\n  type crmAutomationsV1TriggerConfiguration_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type crmAutomationsV1TriggerConfiguration_universal_d_Cursors = Cursors;\n  type crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerSchemaRequest = GetTriggerSchemaRequest;\n  type crmAutomationsV1TriggerConfiguration_universal_d_UserSelection = UserSelection;\n  type crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerSchemaResponse = GetTriggerSchemaResponse;\n  type crmAutomationsV1TriggerConfiguration_universal_d_MigrateFromActionTriggersServerRequest = MigrateFromActionTriggersServerRequest;\n  type crmAutomationsV1TriggerConfiguration_universal_d_MigrateFromActionTriggersServerResponse = MigrateFromActionTriggersServerResponse;\n  type crmAutomationsV1TriggerConfiguration_universal_d_DomainEvent = DomainEvent;\n  type crmAutomationsV1TriggerConfiguration_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type crmAutomationsV1TriggerConfiguration_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type crmAutomationsV1TriggerConfiguration_universal_d_RestoreInfo = RestoreInfo;\n  type crmAutomationsV1TriggerConfiguration_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type crmAutomationsV1TriggerConfiguration_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ActionEvent = ActionEvent;\n  type crmAutomationsV1TriggerConfiguration_universal_d_MessageEnvelope = MessageEnvelope;\n  type crmAutomationsV1TriggerConfiguration_universal_d_IdentificationData = IdentificationData;\n  type crmAutomationsV1TriggerConfiguration_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type crmAutomationsV1TriggerConfiguration_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const crmAutomationsV1TriggerConfiguration_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const crmAutomationsV1TriggerConfiguration_universal_d_resolveTriggersConfiguration: typeof resolveTriggersConfiguration;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ResolveTriggersConfigurationOptions = ResolveTriggersConfigurationOptions;\n  const crmAutomationsV1TriggerConfiguration_universal_d_createTriggerConfiguration: typeof createTriggerConfiguration;\n  type crmAutomationsV1TriggerConfiguration_universal_d_CreateTriggerConfigurationOptions = CreateTriggerConfigurationOptions;\n  const crmAutomationsV1TriggerConfiguration_universal_d_updateTriggerConfiguration: typeof updateTriggerConfiguration;\n  type crmAutomationsV1TriggerConfiguration_universal_d_UpdateTriggerConfigurationOptions = UpdateTriggerConfigurationOptions;\n  const crmAutomationsV1TriggerConfiguration_universal_d_deleteTriggerConfiguration: typeof deleteTriggerConfiguration;\n  type crmAutomationsV1TriggerConfiguration_universal_d_DeleteTriggerConfigurationOptions = DeleteTriggerConfigurationOptions;\n  const crmAutomationsV1TriggerConfiguration_universal_d_getTriggerConfiguration: typeof getTriggerConfiguration;\n  type crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerConfigurationOptions = GetTriggerConfigurationOptions;\n  const crmAutomationsV1TriggerConfiguration_universal_d_queryTriggersConfiguration: typeof queryTriggersConfiguration;\n  type crmAutomationsV1TriggerConfiguration_universal_d_QueryTriggersConfigurationOptions = QueryTriggersConfigurationOptions;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ResultsQueryResult = ResultsQueryResult;\n  type crmAutomationsV1TriggerConfiguration_universal_d_ResultsQueryBuilder = ResultsQueryBuilder;\n  const crmAutomationsV1TriggerConfiguration_universal_d_getTriggerSchema: typeof getTriggerSchema;\n  type crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerSchemaOptions = GetTriggerSchemaOptions;\n  namespace crmAutomationsV1TriggerConfiguration_universal_d {\n    export {\n      crmAutomationsV1TriggerConfiguration_universal_d_TriggerConfiguration as TriggerConfiguration,\n      crmAutomationsV1TriggerConfiguration_universal_d_Source as Source,\n      crmAutomationsV1TriggerConfiguration_universal_d_SourceType as SourceType,\n      crmAutomationsV1TriggerConfiguration_universal_d_SchemaConfiguration as SchemaConfiguration,\n      crmAutomationsV1TriggerConfiguration_universal_d_SchemaField as SchemaField,\n      crmAutomationsV1TriggerConfiguration_universal_d_PrimitiveType as PrimitiveType,\n      crmAutomationsV1TriggerConfiguration_universal_d_SimpleType as SimpleType,\n      crmAutomationsV1TriggerConfiguration_universal_d_EnumOption as EnumOption,\n      crmAutomationsV1TriggerConfiguration_universal_d_Primitive as Primitive,\n      crmAutomationsV1TriggerConfiguration_universal_d_Simple as Simple,\n      crmAutomationsV1TriggerConfiguration_universal_d_DateType as DateType,\n      crmAutomationsV1TriggerConfiguration_universal_d_Enumeration as Enumeration,\n      crmAutomationsV1TriggerConfiguration_universal_d_Complex as Complex,\n      crmAutomationsV1TriggerConfiguration_universal_d_MultilingualType as MultilingualType,\n      crmAutomationsV1TriggerConfiguration_universal_d_SchemaFieldTypeV2 as SchemaFieldTypeV2,\n      crmAutomationsV1TriggerConfiguration_universal_d_SchemaFieldTypeV2FieldTypeOneOf as SchemaFieldTypeV2FieldTypeOneOf,\n      crmAutomationsV1TriggerConfiguration_universal_d_Exposure as Exposure,\n      crmAutomationsV1TriggerConfiguration_universal_d_ConditionOptions as ConditionOptions,\n      crmAutomationsV1TriggerConfiguration_universal_d_OptionValue as OptionValue,\n      crmAutomationsV1TriggerConfiguration_universal_d_SelectionType as SelectionType,\n      crmAutomationsV1TriggerConfiguration_universal_d_Visibility as Visibility,\n      crmAutomationsV1TriggerConfiguration_universal_d_Precondition as Precondition,\n      crmAutomationsV1TriggerConfiguration_universal_d_PreconditionType as PreconditionType,\n      crmAutomationsV1TriggerConfiguration_universal_d_ActionRecommendation as ActionRecommendation,\n      crmAutomationsV1TriggerConfiguration_universal_d_ActionVisibilityOverride as ActionVisibilityOverride,\n      crmAutomationsV1TriggerConfiguration_universal_d_Enrichment as Enrichment,\n      crmAutomationsV1TriggerConfiguration_universal_d_EventType as EventType,\n      crmAutomationsV1TriggerConfiguration_universal_d_Translation as Translation,\n      crmAutomationsV1TriggerConfiguration_universal_d_TranslationState as TranslationState,\n      crmAutomationsV1TriggerConfiguration_universal_d_ReengagementInfo as ReengagementInfo,\n      crmAutomationsV1TriggerConfiguration_universal_d_ReengagementMode as ReengagementMode,\n      crmAutomationsV1TriggerConfiguration_universal_d_DelayStrategy as DelayStrategy,\n      crmAutomationsV1TriggerConfiguration_universal_d_RateLimiting as RateLimiting,\n      crmAutomationsV1TriggerConfiguration_universal_d_RateLimitingOption as RateLimitingOption,\n      crmAutomationsV1TriggerConfiguration_universal_d_ExtendedFields as ExtendedFields,\n      crmAutomationsV1TriggerConfiguration_universal_d_ResolveTriggersConfigurationRequest as ResolveTriggersConfigurationRequest,\n      crmAutomationsV1TriggerConfiguration_universal_d_Paging as Paging,\n      crmAutomationsV1TriggerConfiguration_universal_d_ResolveTriggersConfigurationResponse as ResolveTriggersConfigurationResponse,\n      crmAutomationsV1TriggerConfiguration_universal_d_PagingMetadata as PagingMetadata,\n      crmAutomationsV1TriggerConfiguration_universal_d_CreateTriggerConfigurationRequest as CreateTriggerConfigurationRequest,\n      crmAutomationsV1TriggerConfiguration_universal_d_CreateTriggerConfigurationResponse as CreateTriggerConfigurationResponse,\n      crmAutomationsV1TriggerConfiguration_universal_d_UpdateTriggerConfigurationRequest as UpdateTriggerConfigurationRequest,\n      crmAutomationsV1TriggerConfiguration_universal_d_UpdateTriggerConfigurationResponse as UpdateTriggerConfigurationResponse,\n      crmAutomationsV1TriggerConfiguration_universal_d_DeleteTriggerConfigurationRequest as DeleteTriggerConfigurationRequest,\n      crmAutomationsV1TriggerConfiguration_universal_d_DeleteTriggerConfigurationResponse as DeleteTriggerConfigurationResponse,\n      crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerConfigurationRequest as GetTriggerConfigurationRequest,\n      crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerConfigurationResponse as GetTriggerConfigurationResponse,\n      crmAutomationsV1TriggerConfiguration_universal_d_QueryTriggersConfigurationRequest as QueryTriggersConfigurationRequest,\n      crmAutomationsV1TriggerConfiguration_universal_d_QueryV2 as QueryV2,\n      crmAutomationsV1TriggerConfiguration_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      crmAutomationsV1TriggerConfiguration_universal_d_Sorting as Sorting,\n      crmAutomationsV1TriggerConfiguration_universal_d_SortOrder as SortOrder,\n      crmAutomationsV1TriggerConfiguration_universal_d_CursorPaging as CursorPaging,\n      crmAutomationsV1TriggerConfiguration_universal_d_QueryTriggersConfigurationResponse as QueryTriggersConfigurationResponse,\n      crmAutomationsV1TriggerConfiguration_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      crmAutomationsV1TriggerConfiguration_universal_d_Cursors as Cursors,\n      crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerSchemaRequest as GetTriggerSchemaRequest,\n      crmAutomationsV1TriggerConfiguration_universal_d_UserSelection as UserSelection,\n      crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerSchemaResponse as GetTriggerSchemaResponse,\n      crmAutomationsV1TriggerConfiguration_universal_d_MigrateFromActionTriggersServerRequest as MigrateFromActionTriggersServerRequest,\n      crmAutomationsV1TriggerConfiguration_universal_d_MigrateFromActionTriggersServerResponse as MigrateFromActionTriggersServerResponse,\n      crmAutomationsV1TriggerConfiguration_universal_d_DomainEvent as DomainEvent,\n      crmAutomationsV1TriggerConfiguration_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      crmAutomationsV1TriggerConfiguration_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      crmAutomationsV1TriggerConfiguration_universal_d_RestoreInfo as RestoreInfo,\n      crmAutomationsV1TriggerConfiguration_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      crmAutomationsV1TriggerConfiguration_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      crmAutomationsV1TriggerConfiguration_universal_d_ActionEvent as ActionEvent,\n      crmAutomationsV1TriggerConfiguration_universal_d_MessageEnvelope as MessageEnvelope,\n      crmAutomationsV1TriggerConfiguration_universal_d_IdentificationData as IdentificationData,\n      crmAutomationsV1TriggerConfiguration_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      crmAutomationsV1TriggerConfiguration_universal_d_WebhookIdentityType as WebhookIdentityType,\n      crmAutomationsV1TriggerConfiguration_universal_d_resolveTriggersConfiguration as resolveTriggersConfiguration,\n      crmAutomationsV1TriggerConfiguration_universal_d_ResolveTriggersConfigurationOptions as ResolveTriggersConfigurationOptions,\n      crmAutomationsV1TriggerConfiguration_universal_d_createTriggerConfiguration as createTriggerConfiguration,\n      crmAutomationsV1TriggerConfiguration_universal_d_CreateTriggerConfigurationOptions as CreateTriggerConfigurationOptions,\n      crmAutomationsV1TriggerConfiguration_universal_d_updateTriggerConfiguration as updateTriggerConfiguration,\n      crmAutomationsV1TriggerConfiguration_universal_d_UpdateTriggerConfigurationOptions as UpdateTriggerConfigurationOptions,\n      crmAutomationsV1TriggerConfiguration_universal_d_deleteTriggerConfiguration as deleteTriggerConfiguration,\n      crmAutomationsV1TriggerConfiguration_universal_d_DeleteTriggerConfigurationOptions as DeleteTriggerConfigurationOptions,\n      crmAutomationsV1TriggerConfiguration_universal_d_getTriggerConfiguration as getTriggerConfiguration,\n      crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerConfigurationOptions as GetTriggerConfigurationOptions,\n      crmAutomationsV1TriggerConfiguration_universal_d_queryTriggersConfiguration as queryTriggersConfiguration,\n      crmAutomationsV1TriggerConfiguration_universal_d_QueryTriggersConfigurationOptions as QueryTriggersConfigurationOptions,\n      crmAutomationsV1TriggerConfiguration_universal_d_ResultsQueryResult as ResultsQueryResult,\n      crmAutomationsV1TriggerConfiguration_universal_d_ResultsQueryBuilder as ResultsQueryBuilder,\n      crmAutomationsV1TriggerConfiguration_universal_d_getTriggerSchema as getTriggerSchema,\n      crmAutomationsV1TriggerConfiguration_universal_d_GetTriggerSchemaOptions as GetTriggerSchemaOptions,\n    };\n  }\n  \n  export { crmAutomationsV1TriggerConfiguration_universal_d as triggerCatalog };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-automations.v1.d.ts",
      "content": "declare module \"wix-automations.v1\" {\n  /** Automation */\n  interface Automation {\n      /**\n       * Automation ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Revision */\n      revision?: string | null;\n      /** Automation name */\n      name?: string;\n      /** Automation description */\n      description?: string;\n      /**\n       * Automation Type\n       * @readonly\n       */\n      type?: Type;\n      /** Automation Status */\n      status?: Status;\n      /** Rule that contains a trigger and some actions */\n      rule?: Rule;\n      /**\n       * Source Application Automation\n       * @readonly\n       */\n      source?: Source;\n      /**\n       * Metadata\n       * @readonly\n       */\n      metadata?: AutomationMetadata;\n      /**\n       * Created date\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Updated date\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * ESB Configuration ID\n       * @readonly\n       */\n      esbConfigurationId?: string | null;\n      /**\n       * Was this automation migrated from v1\n       * @readonly\n       */\n      migratedFromV1?: boolean | null;\n      /** @readonly */\n      migratedToV3?: boolean | null;\n      /** @internal */\n      extendedFields?: ExtendedFields;\n  }\n  enum Type {\n      CUSTOM = \"CUSTOM\",\n      APPLICATION = \"APPLICATION\"\n  }\n  enum Status {\n      ACTIVE = \"ACTIVE\",\n      INACTIVE = \"INACTIVE\"\n  }\n  interface Rule {\n      /** an event triggered by visitors on a site, or by a site manager (owner & team). */\n      trigger?: Trigger;\n      /**\n       * the actions responding to the trigger happening.\n       * ** IMPORTANT NOTE: the order of the actions is important, and will be executed in the order they appear in the list **\n       */\n      actions?: Action[];\n  }\n  interface Trigger {\n      /** the id of the app defining the trigger */\n      appId?: string;\n      /** Identifier for this trigger - human readable action key */\n      triggerKey?: string;\n      /** optional list of filters on schema fields */\n      filters?: Filter[];\n      /**\n       * optional - allows to define a trigger whose following actions will be executed only if the same event for the same resource has not in the last X seconds.\n       * for example, if the trigger is \"session booked\", the resource is a contact and the timeframe is 3600 seconds (contact hasn't booked another session in the last hour),\n       * then the actions will be executed only if the same event (session booked for that contact) has not happened in the last hour.\n       */\n      debounce?: Debounce;\n  }\n  interface Filter {\n      /** the filter identifier */\n      _id?: string | null;\n      /** the field key from the schema, for example \"formId\" */\n      fieldKey?: string;\n      /** filter expression that evaluates to a boolean, for example - {{ contains([\"guid1\",\"guid2\"];formId) }} */\n      filterExpression?: string;\n  }\n  interface Debounce {\n      /**\n       * Amount of time in seconds to wait for any additional events to occur before triggering the actions.\n       * If no additional events occur within the specified time, the actions will be triggered.\n       * If additional events occur within the specified time, the timer will be reset.\n       */\n      timeFrameInSeconds?: number;\n      /**\n       * The field key in the trigger's payload of the entity/event to debounce on\n       * For example: if the trigger is \"user logged in\", the resource is a contact and the resource key is \"contactId\",\n       * Another example: if the trigger is \"visitor logged in\", the resource is a visitor and the resource key is \"visitorId\".\n       */\n      fieldKey?: string;\n  }\n  interface Action {\n      /**\n       * the id of the action for delayed events\n       * @readonly\n       */\n      _id?: string | null;\n      /** the id of the app defining the action */\n      appId?: string;\n      /** Identifier for this action - human readable action key - unique per app def id */\n      actionKey?: string;\n      /**\n       * input mapping expression for the action inputs\n       * for example:\n       * `{  \"subject\": \"Thanks for reaching out!\"\n       * \"message\": \"Hi {{contact.name.first}}, thanks for contacting our business\"\n       * }`\n       * where the value for \"contact.name.first\" comes from the trigger's payload\n       */\n      actionConfig?: string;\n      /**\n       * output mapping expression for the action output\n       * for example in get-contact action:\n       * `{ \"author\": \"{{$}}\" }`\n       * This will map the entire entity of contact under `author` namespace\n       */\n      outputActionConfig?: string | null;\n      /** Optional delay configuration for the action */\n      delay?: Delay;\n      /** allows you define an activation policy - like number of activations in a time frame, or limit by some identifier, like contact (e.g. send email to user only at first login) */\n      rateLimit?: RateLimit;\n      /**\n       * allows the user to define a condition for the action to be executed, if the condition fails the action (and following actions) will not be executed\n       * @deprecated allows the user to define a condition for the action to be executed, if the condition fails the action (and following actions) will not be executed\n       * @replacedBy conditions\n       * @targetRemovalDate 2023-08-01\n       */\n      condition?: Condition;\n      conditions?: Conditions;\n      /** allows the user to define a namespace for the action output */\n      namespace?: string | null;\n  }\n  enum BlockType {\n      UNKNOWN = \"UNKNOWN\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  interface ConditionBlock {\n      type?: BlockType;\n      lineExpressions?: string[];\n  }\n  interface Offset extends OffsetValueOneOf {\n      /** A delay in seconds */\n      seconds?: number;\n      /** The key of the field in the trigger payload which contains a delay, in seconds. */\n      delayFieldKey?: string;\n  }\n  /** @oneof */\n  interface OffsetValueOneOf {\n      /** A delay in seconds */\n      seconds?: number;\n      /** The key of the field in the trigger payload which contains a delay, in seconds. */\n      delayFieldKey?: string;\n  }\n  /** calculated as date + delay */\n  interface Until {\n      /** The key of the field in the trigger payload which contains the date to delay until */\n      dateFieldKey?: string;\n      /** Optional: a delay to add together with the date described in the payload */\n      offset?: Offset;\n  }\n  interface Delay extends DelayTypeOneOf {\n      /** A delay which is calculated based on the immediate time when the action is triggered. */\n      for?: Offset;\n      /** A delay which is calculated based on a date field in the trigger payload. May also be used together with an Offset delay. */\n      until?: Until;\n  }\n  /** @oneof */\n  interface DelayTypeOneOf {\n      /** A delay which is calculated based on the immediate time when the action is triggered. */\n      for?: Offset;\n      /** A delay which is calculated based on a date field in the trigger payload. May also be used together with an Offset delay. */\n      until?: Until;\n  }\n  interface RateLimit {\n      /** time frame in minutes */\n      timeFrame?: number | null;\n      /** number of activations allowed in the given time frame */\n      activations?: number;\n      /** limit the activation by an entity, for example activate once per contact. example: {{contact.id}} */\n      uniqueIdentifierExpression?: string | null;\n  }\n  interface Condition {\n      /**\n       * entity object is deprecated due to the new approach to conditions\n       * the condition expression, for example - {{and(gt(price;10);lt(price;100))}}\n       */\n      conditionExpression?: string;\n  }\n  interface Conditions {\n      /** condition evaluates to `true` if either of the blocks evaluate to `true` (aka OR between all) */\n      conditionBlocks?: ConditionBlock[];\n  }\n  interface Source {\n      /** Automation ID */\n      automationId?: string | null;\n      /** Application ID */\n      appId?: string | null;\n      /** Component ID */\n      componentId?: string | null;\n      /** Version */\n      version?: number | null;\n  }\n  interface AutomationMetadata {\n      /** Is this Automation hidden on a site? */\n      hidden?: boolean;\n      /** Can this Automation be dismissed (inactivated) on a site? */\n      alwaysActive?: boolean;\n      /** Is this Automation's scheduling modification is disabled on a site? */\n      schedulingModificationDisabled?: boolean;\n      /** Is the removal of this Automation's actions disabled? */\n      actionRemovalDisabled?: boolean;\n      /** Is conditions editing for this Automation allowed on a site? */\n      actionConditionsEditingDisabled?: boolean;\n      /**\n       * Domain\n       * @internal\n       */\n      domain?: Domain;\n  }\n  enum Domain {\n      /** User domain (default) */\n      USER = \"USER\",\n      /** Wix domain */\n      WIX = \"WIX\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface GetApplicationAutomationRequest {\n      /** Application Automation ID */\n      automationId?: string;\n  }\n  interface GetApplicationAutomationResponse {\n      /** Automation */\n      automation?: Automation;\n  }\n  interface QueryApplicationAutomationsRequest {\n      /** Query */\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryApplicationAutomationsResponse {\n      /** List of automations */\n      automations?: Automation[];\n      /** Paging metadata */\n      paging?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateApplicationAutomationConfigurationIdRequest {\n      /** Application Automation ID */\n      automationId?: string;\n      /** Configuration ID */\n      esbConfigurationId?: string;\n  }\n  interface UpdateApplicationAutomationConfigurationIdResponse {\n  }\n  interface UpdateApplicationAutomationToMigratedFromV1Request {\n      /** Application Automation ID */\n      automationId?: string;\n      /**\n       * Revision\n       * @readonly\n       */\n      revision?: string | null;\n      /** value to be set */\n      value?: boolean | null;\n  }\n  interface UpdateApplicationAutomationToMigratedFromV1Response {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  /**\n   * Represents a service provisioned a site.\n   *\n   * Note on `origin_instance_id`:\n   * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n   * This is because of the following scenario:\n   *\n   * Imagine you have a template where a third-party application (TPA) includes some stub data,\n   * such as a product catalog. When you create a site from this template, you inherit this\n   * default product catalog. However, if the template's product catalog is modified,\n   * your site will retain the catalog as it was at the time of site creation. This ensures that\n   * your site remains consistent with what you initially received and does not include any\n   * changes made to the original template afterward.\n   * To ensure this, the TPA on the template gets a new instance_id.\n   */\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  interface SyncApplicationAutomationsRequest {\n      /** List of app IDs */\n      appIds?: string[];\n  }\n  interface SyncApplicationAutomationsResponse {\n  }\n  interface BulkCreateApplicationAutomationRequest {\n      /** Automations to be created */\n      automations: Automation[];\n  }\n  interface BulkCreateApplicationAutomationResponse {\n      /** The created Automations */\n      results?: Automation[];\n      /** Bulk create metadata. */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CreateAutomationRequest {\n      /** Automation to be created */\n      automation: Automation;\n  }\n  interface CreateAutomationResponse {\n      /** The created Automation */\n      automation?: Automation;\n  }\n  interface MigrationBulkCreateAutomationsRequest {\n      /** Automations to be created */\n      automations?: Automation[];\n      /** V1 Activity type (trigger name) */\n      activityType?: string;\n      /** automation id to counter map */\n      automationIdToCounter?: Record<string, string>;\n      /** automation id to last triggered map */\n      automationIdToLastTriggered?: Record<string, string>;\n      /** ignore validations */\n      ignoreValidations?: boolean | null;\n  }\n  interface MigrationBulkCreateAutomationsResponse {\n      /** bulk action metadata */\n      bulkActionMetadata?: BulkActionMetadata;\n      /** item metadata */\n      itemMetadata?: ItemMetadata[];\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface MigrationBulkCreateAutomations {\n      /** Automations to be created */\n      automations?: Automation[];\n      /** V1 Activity type (trigger name) */\n      activityType?: string;\n      /** automation id to counter map */\n      automationIdToCounter?: Record<string, string>;\n      /** automation id to last triggered map */\n      automationIdToLastTriggered?: Record<string, string>;\n  }\n  interface GetAutomationRequest {\n      /** Automation ID */\n      automationId: string;\n      /** Automation type */\n      automationType?: Type;\n  }\n  interface GetAutomationResponse {\n      /** Automation */\n      automation?: Automation;\n  }\n  interface UpdateAutomationRequest {\n      /** Automation to be updated, may be partial */\n      automation: Automation;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateAutomationResponse {\n      /** The updated Automation */\n      automation?: Automation;\n  }\n  interface UpdatedWithPreviousEntity {\n      /** previous automation */\n      previousAutomation?: Automation;\n      /** updated automation */\n      currentAutomation?: Automation;\n  }\n  interface MigrationUpdateAutomationRequest {\n      /** Automation to be updated, may be partial */\n      automation: Automation;\n  }\n  interface MigrationUpdateAutomationResponse {\n      /** The updated Automation */\n      automation?: Automation;\n  }\n  interface DeleteAutomationRequest {\n      /** Id of the Automation to delete */\n      automationId: string;\n      /** The revision of the Automation */\n      revision?: string;\n  }\n  interface DeleteAutomationResponse {\n  }\n  interface DeletedWithEntity {\n      /** Deleted automation */\n      automation?: Automation;\n  }\n  interface QueryAutomationsRequest {\n      /** WQL expression */\n      query: QueryV2;\n      /** Automation type */\n      automationType?: Type;\n  }\n  interface QueryAutomationsResponse {\n      /** List of automations */\n      automations?: Automation[];\n      /** Paging metadata */\n      paging?: PagingMetadataV2;\n  }\n  interface OverrideApplicationAutomationRequest {\n      /** Application Automation */\n      automation: Automation;\n  }\n  interface OverrideApplicationAutomationResponse {\n      /** Custom Automation */\n      automation?: Automation;\n  }\n  interface GenerateApplicationAutomationFromCustomRequest {\n      /** Custom Automation */\n      automation: Automation;\n  }\n  interface GenerateApplicationAutomationFromCustomResponse {\n      /** Application Automation */\n      automation?: Automation;\n  }\n  interface ValidateAutomationByIdRequest {\n      /** Automation ID */\n      automationId: string;\n      /** Automation type */\n      automationType?: Type;\n  }\n  interface ValidateAutomationByIdResponse {\n      /** is the Automation valid */\n      valid?: boolean;\n      /** list of validation errors for the automation Trigger */\n      triggerValidationErrors?: TriggerValidationError[];\n      /** list of validation information for the automation Actions */\n      actionValidationInfo?: ActionValidationInfo[];\n  }\n  interface TriggerValidationError extends TriggerValidationErrorErrorOneOf {\n      /** trigger configuration error */\n      configurationError?: TriggerConfigurationError;\n      /** provider configuration error */\n      providerConfigurationError?: ProviderConfigurationError;\n      /** validation error type */\n      errorType?: TriggerValidationErrorValidationErrorType;\n  }\n  /** @oneof */\n  interface TriggerValidationErrorErrorOneOf {\n      /** trigger configuration error */\n      configurationError?: TriggerConfigurationError;\n      /** provider configuration error */\n      providerConfigurationError?: ProviderConfigurationError;\n  }\n  enum TriggerValidationErrorValidationErrorType {\n      UNKNOWN_VALIDATION_ERROR_TYPE = \"UNKNOWN_VALIDATION_ERROR_TYPE\",\n      CONFIGURATION_ERROR = \"CONFIGURATION_ERROR\",\n      PROVIDER_ERROR = \"PROVIDER_ERROR\"\n  }\n  interface TriggerConfigurationError {\n      /** trigger error type */\n      errorType?: TriggerErrorType;\n      /** optional - related filter field key */\n      filterFieldKey?: string | null;\n  }\n  enum TriggerErrorType {\n      UNKNOWN_TRIGGER_ERROR_TYPE = \"UNKNOWN_TRIGGER_ERROR_TYPE\",\n      NOT_FOUND = \"NOT_FOUND\",\n      APP_NOT_INSTALLED = \"APP_NOT_INSTALLED\",\n      MODERATION_MISMATCH = \"MODERATION_MISMATCH\",\n      DEPRECATED = \"DEPRECATED\",\n      INVALID_TRIGGER_KEY = \"INVALID_TRIGGER_KEY\",\n      INVALID_FILTER_FIELD_KEY = \"INVALID_FILTER_FIELD_KEY\",\n      INVALID_FILTER_EXPRESSION = \"INVALID_FILTER_EXPRESSION\"\n  }\n  interface ProviderConfigurationError {\n      /** Key corresponding to the field in the schema. */\n      fieldKey?: string | null;\n      /** Error message. */\n      message?: string;\n      /** Label for a call-to-action button that's displayed with the error. Translated according to the SPI language context. */\n      ctaLabel?: string | null;\n      /** URL to redirect to when the call-to-action button is clicked. */\n      ctaUrl?: string | null;\n      /** Title for the error. */\n      title?: string;\n  }\n  interface ActionValidationInfo {\n      /** the id of the action in the automation */\n      actionId?: string | null;\n      /** the id of the app defining the action */\n      appId?: string;\n      /** human readable identifier of the action per app */\n      actionKey?: string;\n      /** list of action validation errors */\n      validationErrors?: ActionValidationError[];\n  }\n  interface ActionValidationError extends ActionValidationErrorErrorOneOf {\n      /** action configuration error */\n      configurationError?: ActionConfigurationError;\n      /** provider configuration error */\n      providerConfigurationError?: ProviderConfigurationError;\n      /** validation error type */\n      errorType?: ValidationErrorType;\n  }\n  /** @oneof */\n  interface ActionValidationErrorErrorOneOf {\n      /** action configuration error */\n      configurationError?: ActionConfigurationError;\n      /** provider configuration error */\n      providerConfigurationError?: ProviderConfigurationError;\n  }\n  enum ValidationErrorType {\n      UNKNOWN_VALIDATION_ERROR_TYPE = \"UNKNOWN_VALIDATION_ERROR_TYPE\",\n      CONFIGURATION_ERROR = \"CONFIGURATION_ERROR\",\n      PROVIDER_ERROR = \"PROVIDER_ERROR\"\n  }\n  interface ActionConfigurationError {\n      /** action error type */\n      errorType?: ActionErrorType;\n      /** optional - related field key */\n      fieldKey?: string | null;\n  }\n  enum ActionErrorType {\n      UNKNOWN_ACTION_ERROR_TYPE = \"UNKNOWN_ACTION_ERROR_TYPE\",\n      NOT_FOUND = \"NOT_FOUND\",\n      APP_NOT_INSTALLED = \"APP_NOT_INSTALLED\",\n      MODERATION_MISMATCH = \"MODERATION_MISMATCH\",\n      DEPRECATED = \"DEPRECATED\",\n      INVALID_ACTION_KEY = \"INVALID_ACTION_KEY\",\n      INVALID_INPUT_MAPPING = \"INVALID_INPUT_MAPPING\",\n      INVALID_OUTPUT_MAPPING = \"INVALID_OUTPUT_MAPPING\",\n      INVALID_DELAY = \"INVALID_DELAY\",\n      INVALID_RATE_LIMIT = \"INVALID_RATE_LIMIT\",\n      INPUT_MAPPING_TYPE_MISMATCH = \"INPUT_MAPPING_TYPE_MISMATCH\",\n      INPUT_MAPPING_MISSING_REQUIRED_FIELD = \"INPUT_MAPPING_MISSING_REQUIRED_FIELD\",\n      INPUT_MAPPING_SCHEMA_MISMATCH = \"INPUT_MAPPING_SCHEMA_MISMATCH\",\n      INPUT_MAPPING_VARIABLE_MISSING_FROM_SCHEMA = \"INPUT_MAPPING_VARIABLE_MISSING_FROM_SCHEMA\"\n  }\n  interface ValidateAutomationRequest {\n      /** Automation to validate */\n      automation: Automation;\n  }\n  interface ValidateAutomationResponse {\n      /** is the Automation valid */\n      valid?: boolean;\n      /** list of validation errors for the automation Trigger */\n      triggerValidationErrors?: TriggerValidationError[];\n      /** list of validation information for the automation Actions */\n      actionValidationInfo?: ActionValidationInfo[];\n  }\n  interface UpdatedAutomationsWithEsb {\n      /** updated automations */\n      automations?: Automation[];\n  }\n  interface GetAutomationActivationReportsRequest {\n      /** Automation ID */\n      automationId: string;\n      paging?: Paging;\n      /** Fields projection - pass in the field key you want to get back */\n      fields?: string[];\n  }\n  interface GetAutomationActivationReportsResponse {\n      /** Automation activation reports */\n      activationReports?: ActivationReport[];\n      metadata?: PagingMetadata;\n      /** activationStatus -> count */\n      stats?: Record<string, number>;\n  }\n  interface ActivationReport {\n      activationId?: string;\n      requestId?: string;\n      status?: ActivationStatus;\n      creationDate?: Date | null;\n      updateDate?: Date | null;\n      /** will be populated when status = FAILED */\n      error?: string | null;\n  }\n  enum ActivationStatus {\n      UNKNOWN_ACTIVATION_REQUEST = \"UNKNOWN_ACTIVATION_REQUEST\",\n      IN_PROGRESS = \"IN_PROGRESS\",\n      SUCCESS = \"SUCCESS\",\n      FAILED = \"FAILED\",\n      SCHEDULED = \"SCHEDULED\",\n      RETRY = \"RETRY\",\n      RESUMED = \"RESUMED\",\n      PAUSED = \"PAUSED\"\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface GetAutomationActionSchemaRequest {\n      /** Automation's Configuration ID */\n      esbConfigurationId: string;\n      /** Specific action ID */\n      actionId: string;\n  }\n  interface GetAutomationActionSchemaResponse {\n      /** The payload schema of the automation for the specific action */\n      schema?: Record<string, any> | null;\n  }\n  interface GetActionsQuotaInfoRequest {\n  }\n  interface GetActionsQuotaInfoResponse {\n      /** list of action quota information */\n      actionProviderQuotaInfo?: ActionProviderQuotaInfo[];\n  }\n  interface ActionProviderQuotaInfo {\n      /** action app id */\n      appId?: string;\n      /** the action key */\n      actionKey?: string;\n      /** the action quota information */\n      actionQuotaInfo?: ActionQuotaInfo;\n  }\n  interface ActionQuotaInfo {\n      /**\n       * Whether the quotas for your action are enforced. If you mark this as `true` in the response body,\n       * Wix displays the information in the quota object on the site dashboard. If you mark this as `false` for\n       * a user, Wix does not display any quota info on the site dashboard for your service.\n       */\n      enforced?: boolean;\n      /**\n       * The plans your service provides, together with the quotas enforced by each plan. A site may be enrolled\n       * in multiple plans. Plans and quotas can be related as follows:\n       *\n       * + A single plan has a single quota.\n       * + A single plan has multiple quotas.\n       * + Multiple plans are associated with multiple quotas.\n       *\n       * Plans and quotas that are related should be grouped together in a single `quotaInfo`\n       * object.\n       */\n      quotaInfo?: QuotaInfo[];\n  }\n  interface QuotaInfo {\n      /** List of plans associated with the site making the request. */\n      plans?: Plan[];\n      /** List of quotas associated with the plans the site is enrolled in. */\n      quotas?: Quota[];\n      /**\n       * Details for an upgrade call-to-action button.\n       * Displayed in the site contributor’s dashboard together with the quota details.\n       */\n      upgradeCta?: UpgradeCTA;\n  }\n  interface Plan {\n      /** Plan ID defined by the action provider. */\n      _id?: string;\n      /** Plan name to display in the site contributor’s dashboard. */\n      name?: string;\n      /**\n       * optional - the plan group id\n       * @internal\n       */\n      groupId?: string | null;\n  }\n  interface Quota {\n      /** Name of the feature the quota is related to. For example, \"Messages sent\". */\n      featureName?: string;\n      /**\n       * Quota renewal date in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n       * For example, 10 July 2020 at 15:00 is written as `2020-07-10 15:00:00.000`.\n       */\n      renewalDate?: Date | null;\n      /** The user's current quota usage. */\n      currentUsage?: string;\n      /** Quota limit data. */\n      limit?: string | null;\n      /** Additional information about the quota. Displayed as a tooltip in the site contributor’s dashboard. */\n      additionalInfo?: AdditionalInfo;\n  }\n  interface CTA {\n      /** Call-to-action redirect URL. */\n      url?: string;\n      /** Call-to-action label. */\n      label?: string;\n  }\n  interface AdditionalInfo {\n      /** Tooltip content. */\n      description?: string;\n      /** Details for an options call-to-action link that appears in the tooltip. */\n      cta?: CTA;\n  }\n  interface UpgradeCTA {\n      /** CTA button redirect URL. */\n      url?: string;\n      /** CTA button label. */\n      label?: string;\n      /**\n       * optional - id of the related plan\n       * @internal\n       */\n      planId?: string | null;\n  }\n  interface BulkDeleteAutomationsRequest {\n      /** Automation IDs to delete */\n      automationIds?: string[];\n  }\n  interface BulkDeleteAutomationsResponse {\n  }\n  interface GenerateActionInputMappingFromTemplateRequest {\n      /** action app id */\n      appId: string;\n      /** the action key */\n      actionKey: string;\n      /** action input mapping template the action spi provider will generate input mapping from */\n      actionInputMappingTemplate: Record<string, any> | null;\n  }\n  interface GenerateActionInputMappingFromTemplateResponse {\n      /** generated action input mapping */\n      generatedActionInputMapping?: Record<string, any> | null;\n  }\n  interface MigrationUpdateMigratedToV3AutomationRequest {\n      /** Automation id */\n      automationId?: string;\n  }\n  interface MigrationUpdateMigratedToV3AutomationResponse {\n  }\n  /**\n   * Create application automations\n   * @param automations - Automations to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField automations\n   * @requiredField automations.name\n   * @requiredField automations.rule\n   * @requiredField automations.rule.actions\n   * @requiredField automations.rule.actions.actionKey\n   * @requiredField automations.rule.actions.appId\n   * @requiredField automations.rule.trigger\n   * @requiredField automations.rule.trigger.appId\n   * @requiredField automations.rule.trigger.triggerKey\n   * @requiredField automations.source\n   * @requiredField automations.source.appId\n   * @requiredField automations.source.componentId\n   * @permissionId AUTOMATIONS.APP_AUTOMATION_CREATE\n   * @adminMethod\n   */\n  function bulkCreateApplicationAutomation(automations: Automation[]): Promise<BulkCreateApplicationAutomationResponse>;\n  /**\n   * Creates a new Automation\n   * @param automation - Automation to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automation\n   * @requiredField automation.name\n   * @requiredField automation.rule\n   * @requiredField automation.rule.actions\n   * @requiredField automation.rule.actions.actionKey\n   * @requiredField automation.rule.actions.appId\n   * @requiredField automation.rule.trigger\n   * @requiredField automation.rule.trigger.appId\n   * @requiredField automation.rule.trigger.triggerKey\n   * @permissionId AUTOMATIONS.AUTOMATION_CREATE\n   * @adminMethod\n   * @returns The created Automation\n   */\n  function createAutomation(automation: Automation): Promise<Automation>;\n  /**\n   * Creates new Automations in bulk\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.AUTOMATION_CREATE\n   * @adminMethod\n   */\n  function migrationBulkCreateAutomations(options?: MigrationBulkCreateAutomationsOptions): Promise<MigrationBulkCreateAutomationsResponse>;\n  interface MigrationBulkCreateAutomationsOptions {\n      /** Automations to be created */\n      automations?: Automation[];\n      /** V1 Activity type (trigger name) */\n      activityType?: string;\n      /** automation id to counter map */\n      automationIdToCounter?: Record<string, string>;\n      /** automation id to last triggered map */\n      automationIdToLastTriggered?: Record<string, string>;\n      /** ignore validations */\n      ignoreValidations?: boolean | null;\n  }\n  /**\n   * Get a Automation by id\n   * @param automationId - Automation ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   * @returns Automation\n   */\n  function getAutomation(automationId: string, options?: GetAutomationOptions): Promise<Automation>;\n  interface GetAutomationOptions {\n      /** Automation type */\n      automationType?: Type;\n  }\n  /**\n   * Update a Automation, supports partial update\n   * Pass the latest `revision` for a successful update\n   * @param _id - Automation ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField automation\n   * @requiredField automation.revision\n   * @permissionId AUTOMATIONS.AUTOMATION_UPDATE\n   * @adminMethod\n   * @returns The updated Automation\n   */\n  function updateAutomation(_id: string | null, automation: UpdateAutomation, options?: UpdateAutomationOptions): Promise<Automation>;\n  interface UpdateAutomation {\n      /**\n       * Automation ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Revision */\n      revision?: string | null;\n      /** Automation name */\n      name?: string;\n      /** Automation description */\n      description?: string;\n      /**\n       * Automation Type\n       * @readonly\n       */\n      type?: Type;\n      /** Automation Status */\n      status?: Status;\n      /** Rule that contains a trigger and some actions */\n      rule?: Rule;\n      /**\n       * Source Application Automation\n       * @readonly\n       */\n      source?: Source;\n      /**\n       * Metadata\n       * @readonly\n       */\n      metadata?: AutomationMetadata;\n      /**\n       * Created date\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Updated date\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * ESB Configuration ID\n       * @readonly\n       */\n      esbConfigurationId?: string | null;\n      /**\n       * Was this automation migrated from v1\n       * @readonly\n       */\n      migratedFromV1?: boolean | null;\n      /** @readonly */\n      migratedToV3?: boolean | null;\n      /** @internal */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdateAutomationOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /** @param _id - Automation ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField automation\n   * @permissionId AUTOMATIONS.AUTOMATION_UPDATE\n   * @adminMethod\n   */\n  function migrationUpdateAutomation(_id: string | null, automation: MigrationUpdateAutomation): Promise<MigrationUpdateAutomationResponse>;\n  interface MigrationUpdateAutomation {\n      /**\n       * Automation ID\n       * @readonly\n       */\n      _id?: string | null;\n      /** Revision */\n      revision?: string | null;\n      /** Automation name */\n      name?: string;\n      /** Automation description */\n      description?: string;\n      /**\n       * Automation Type\n       * @readonly\n       */\n      type?: Type;\n      /** Automation Status */\n      status?: Status;\n      /** Rule that contains a trigger and some actions */\n      rule?: Rule;\n      /**\n       * Source Application Automation\n       * @readonly\n       */\n      source?: Source;\n      /**\n       * Metadata\n       * @readonly\n       */\n      metadata?: AutomationMetadata;\n      /**\n       * Created date\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Updated date\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * ESB Configuration ID\n       * @readonly\n       */\n      esbConfigurationId?: string | null;\n      /**\n       * Was this automation migrated from v1\n       * @readonly\n       */\n      migratedFromV1?: boolean | null;\n      /** @readonly */\n      migratedToV3?: boolean | null;\n      /** @internal */\n      extendedFields?: ExtendedFields;\n  }\n  /**\n   * Delete an Automation\n   * @param automationId - Id of the Automation to delete\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_DELETE\n   * @adminMethod\n   */\n  function deleteAutomation(automationId: string, options?: DeleteAutomationOptions): Promise<void>;\n  interface DeleteAutomationOptions {\n      /** The revision of the Automation */\n      revision?: string;\n  }\n  /**\n   * Query Automations using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   */\n  function queryAutomations(options?: QueryAutomationsOptions): AutomationsQueryBuilder;\n  interface QueryAutomationsOptions {\n      /** Automation type */\n      automationType?: Type | undefined;\n  }\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface AutomationsQueryResult extends QueryCursorResult {\n      items: Automation[];\n      query: AutomationsQueryBuilder;\n      next: () => Promise<AutomationsQueryResult>;\n      prev: () => Promise<AutomationsQueryResult>;\n  }\n  interface AutomationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'revision' | 'name' | 'description' | 'type' | 'status' | 'rule.trigger.appId' | 'rule.trigger.triggerKey' | 'rule.actions.id' | 'rule.actions.appId' | 'rule.actions.actionKey' | 'source.automationId' | 'source.appId' | 'source.componentId' | 'source.version' | 'metadata.hidden' | 'metadata.alwaysActive' | 'metadata.schedulingModificationDisabled' | 'metadata.actionRemovalDisabled' | 'metadata.actionConditionsEditingDisabled' | '_createdDate' | '_updatedDate' | 'esbConfigurationId', value: any) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'revision' | 'name' | 'description' | 'type' | 'status' | 'rule.trigger.appId' | 'rule.trigger.triggerKey' | 'rule.actions.id' | 'rule.actions.appId' | 'rule.actions.actionKey' | 'source.automationId' | 'source.appId' | 'source.componentId' | 'source.version' | 'metadata.hidden' | 'metadata.alwaysActive' | 'metadata.schedulingModificationDisabled' | 'metadata.actionRemovalDisabled' | 'metadata.actionConditionsEditingDisabled' | '_createdDate' | '_updatedDate' | 'esbConfigurationId', value: any) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'revision' | 'source.version' | '_createdDate' | '_updatedDate', value: any) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'revision' | 'source.version' | '_createdDate' | '_updatedDate', value: any) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'revision' | 'source.version' | '_createdDate' | '_updatedDate', value: any) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'revision' | 'source.version' | '_createdDate' | '_updatedDate', value: any) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'description' | 'rule.trigger.appId' | 'rule.trigger.triggerKey' | 'rule.actions.id' | 'rule.actions.appId' | 'rule.actions.actionKey' | 'source.automationId' | 'source.appId' | 'source.componentId' | 'esbConfigurationId', value: string) => AutomationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'revision' | 'name' | 'description' | 'type' | 'status' | 'rule.trigger.appId' | 'rule.trigger.triggerKey' | 'rule.actions.id' | 'rule.actions.appId' | 'rule.actions.actionKey' | 'source.automationId' | 'source.appId' | 'source.componentId' | 'source.version' | 'metadata.hidden' | 'metadata.alwaysActive' | 'metadata.schedulingModificationDisabled' | 'metadata.actionRemovalDisabled' | 'metadata.actionConditionsEditingDisabled' | '_createdDate' | '_updatedDate' | 'esbConfigurationId', value: any[]) => AutomationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'revision' | 'name' | 'description' | 'type' | 'status' | 'rule.trigger.appId' | 'rule.trigger.triggerKey' | 'rule.actions.id' | 'rule.actions.appId' | 'rule.actions.actionKey' | 'source.automationId' | 'source.appId' | 'source.componentId' | 'source.version' | 'metadata.hidden' | 'metadata.alwaysActive' | 'metadata.schedulingModificationDisabled' | 'metadata.actionRemovalDisabled' | 'metadata.actionConditionsEditingDisabled' | '_createdDate' | '_updatedDate' | 'esbConfigurationId', value: any) => AutomationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'revision' | 'name' | 'description' | 'type' | 'status' | 'rule.trigger.appId' | 'rule.trigger.triggerKey' | 'rule.actions.id' | 'rule.actions.appId' | 'rule.actions.actionKey' | 'source.automationId' | 'source.appId' | 'source.componentId' | 'source.version' | 'metadata.hidden' | 'metadata.alwaysActive' | 'metadata.schedulingModificationDisabled' | 'metadata.actionRemovalDisabled' | 'metadata.actionConditionsEditingDisabled' | '_createdDate' | '_updatedDate' | 'esbConfigurationId', value: boolean) => AutomationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'revision' | 'name' | 'description' | 'type' | 'status' | 'rule.trigger.appId' | 'rule.trigger.triggerKey' | 'rule.actions.id' | 'rule.actions.appId' | 'rule.actions.actionKey' | 'source.automationId' | 'source.appId' | 'source.componentId' | 'source.version' | 'metadata.hidden' | 'metadata.alwaysActive' | 'metadata.schedulingModificationDisabled' | 'metadata.actionRemovalDisabled' | 'metadata.actionConditionsEditingDisabled' | '_createdDate' | '_updatedDate' | 'esbConfigurationId'>) => AutomationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'revision' | 'name' | 'description' | 'type' | 'status' | 'rule.trigger.appId' | 'rule.trigger.triggerKey' | 'rule.actions.id' | 'rule.actions.appId' | 'rule.actions.actionKey' | 'source.automationId' | 'source.appId' | 'source.componentId' | 'source.version' | 'metadata.hidden' | 'metadata.alwaysActive' | 'metadata.schedulingModificationDisabled' | 'metadata.actionRemovalDisabled' | 'metadata.actionConditionsEditingDisabled' | '_createdDate' | '_updatedDate' | 'esbConfigurationId'>) => AutomationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => AutomationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => AutomationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<AutomationsQueryResult>;\n  }\n  /**\n   * Creates a new Automation\n   * @param automation - Application Automation\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automation\n   * @requiredField automation.name\n   * @requiredField automation.rule\n   * @requiredField automation.rule.actions\n   * @requiredField automation.rule.actions.actionKey\n   * @requiredField automation.rule.actions.appId\n   * @requiredField automation.rule.trigger\n   * @requiredField automation.rule.trigger.appId\n   * @requiredField automation.rule.trigger.triggerKey\n   * @permissionId AUTOMATIONS.OVERRIDE_APPLICATION_AUTOMATION\n   * @adminMethod\n   */\n  function overrideApplicationAutomation(automation: Automation): Promise<OverrideApplicationAutomationResponse>;\n  /**\n   * Generates an Application Automation from given Custom Automation\n   * @param automation - Custom Automation\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField automation\n   * @requiredField automation.name\n   * @requiredField automation.rule\n   * @requiredField automation.rule.actions\n   * @requiredField automation.rule.actions.actionKey\n   * @requiredField automation.rule.actions.appId\n   * @requiredField automation.rule.trigger\n   * @requiredField automation.rule.trigger.appId\n   * @requiredField automation.rule.trigger.triggerKey\n   * @permissionId AUTOMATIONS.GENERATE_APPLICATION_AUTOMATION_FROM_CUSTOM\n   * @adminMethod\n   */\n  function generateApplicationAutomationFromCustom(automation: Automation): Promise<GenerateApplicationAutomationFromCustomResponse>;\n  /**\n   * Validate Automation by Id\n   * @param automationId - Automation ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_VALIDATE\n   * @adminMethod\n   */\n  function validateAutomationById(automationId: string, options?: ValidateAutomationByIdOptions): Promise<ValidateAutomationByIdResponse>;\n  interface ValidateAutomationByIdOptions {\n      /** Automation type */\n      automationType?: Type;\n  }\n  /**\n   * Validate Automation\n   * @param automation - Automation to validate\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automation\n   * @permissionId AUTOMATIONS.AUTOMATION_VALIDATE\n   * @adminMethod\n   */\n  function validateAutomation(automation: Automation): Promise<ValidateAutomationResponse>;\n  /** @param automationId - Automation ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   */\n  function getAutomationActivationStats(automationId: string, options?: GetAutomationActivationStatsOptions): Promise<GetAutomationActivationReportsResponse>;\n  interface GetAutomationActivationStatsOptions {\n      paging?: Paging;\n      /** Fields projection - pass in the field key you want to get back */\n      fields?: string[];\n  }\n  /**\n   * Get the automation payload schema for a specific action\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.actionId\n   * @requiredField identifiers.esbConfigurationId\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   */\n  function getAutomationActionSchema(identifiers: GetAutomationActionSchemaIdentifiers): Promise<GetAutomationActionSchemaResponse>;\n  interface GetAutomationActionSchemaIdentifiers {\n      /** Automation's Configuration ID */\n      esbConfigurationId: string;\n      /** Specific action ID */\n      actionId: string;\n  }\n  /**\n   * Get actions quota information\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   */\n  function getActionsQuotaInfo(): Promise<GetActionsQuotaInfoResponse>;\n  /**\n   * Bulk delete automations\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.AUTOMATION_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteAutomations(options?: BulkDeleteAutomationsOptions): Promise<void>;\n  interface BulkDeleteAutomationsOptions {\n      /** Automation IDs to delete */\n      automationIds?: string[];\n  }\n  /**\n   * Generate action input mapping from a template\n   * @param appId - action app id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.actionInputMappingTemplate\n   * @requiredField options.actionKey\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   */\n  function generateActionInputMappingFromTemplate(appId: string, options: GenerateActionInputMappingFromTemplateOptions): Promise<GenerateActionInputMappingFromTemplateResponse>;\n  interface GenerateActionInputMappingFromTemplateOptions {\n      /** the action key */\n      actionKey: string;\n      /** action input mapping template the action spi provider will generate input mapping from */\n      actionInputMappingTemplate: Record<string, any> | null;\n  }\n  \n  type automationsV1Automation_universal_d_Automation = Automation;\n  type automationsV1Automation_universal_d_Type = Type;\n  const automationsV1Automation_universal_d_Type: typeof Type;\n  type automationsV1Automation_universal_d_Status = Status;\n  const automationsV1Automation_universal_d_Status: typeof Status;\n  type automationsV1Automation_universal_d_Rule = Rule;\n  type automationsV1Automation_universal_d_Trigger = Trigger;\n  type automationsV1Automation_universal_d_Filter = Filter;\n  type automationsV1Automation_universal_d_Debounce = Debounce;\n  type automationsV1Automation_universal_d_Action = Action;\n  type automationsV1Automation_universal_d_BlockType = BlockType;\n  const automationsV1Automation_universal_d_BlockType: typeof BlockType;\n  type automationsV1Automation_universal_d_ConditionBlock = ConditionBlock;\n  type automationsV1Automation_universal_d_Offset = Offset;\n  type automationsV1Automation_universal_d_OffsetValueOneOf = OffsetValueOneOf;\n  type automationsV1Automation_universal_d_Until = Until;\n  type automationsV1Automation_universal_d_Delay = Delay;\n  type automationsV1Automation_universal_d_DelayTypeOneOf = DelayTypeOneOf;\n  type automationsV1Automation_universal_d_RateLimit = RateLimit;\n  type automationsV1Automation_universal_d_Condition = Condition;\n  type automationsV1Automation_universal_d_Conditions = Conditions;\n  type automationsV1Automation_universal_d_Source = Source;\n  type automationsV1Automation_universal_d_AutomationMetadata = AutomationMetadata;\n  type automationsV1Automation_universal_d_Domain = Domain;\n  const automationsV1Automation_universal_d_Domain: typeof Domain;\n  type automationsV1Automation_universal_d_ExtendedFields = ExtendedFields;\n  type automationsV1Automation_universal_d_GetApplicationAutomationRequest = GetApplicationAutomationRequest;\n  type automationsV1Automation_universal_d_GetApplicationAutomationResponse = GetApplicationAutomationResponse;\n  type automationsV1Automation_universal_d_QueryApplicationAutomationsRequest = QueryApplicationAutomationsRequest;\n  type automationsV1Automation_universal_d_QueryV2 = QueryV2;\n  type automationsV1Automation_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type automationsV1Automation_universal_d_Sorting = Sorting;\n  type automationsV1Automation_universal_d_SortOrder = SortOrder;\n  const automationsV1Automation_universal_d_SortOrder: typeof SortOrder;\n  type automationsV1Automation_universal_d_Paging = Paging;\n  type automationsV1Automation_universal_d_CursorPaging = CursorPaging;\n  type automationsV1Automation_universal_d_QueryApplicationAutomationsResponse = QueryApplicationAutomationsResponse;\n  type automationsV1Automation_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type automationsV1Automation_universal_d_Cursors = Cursors;\n  type automationsV1Automation_universal_d_UpdateApplicationAutomationConfigurationIdRequest = UpdateApplicationAutomationConfigurationIdRequest;\n  type automationsV1Automation_universal_d_UpdateApplicationAutomationConfigurationIdResponse = UpdateApplicationAutomationConfigurationIdResponse;\n  type automationsV1Automation_universal_d_UpdateApplicationAutomationToMigratedFromV1Request = UpdateApplicationAutomationToMigratedFromV1Request;\n  type automationsV1Automation_universal_d_UpdateApplicationAutomationToMigratedFromV1Response = UpdateApplicationAutomationToMigratedFromV1Response;\n  type automationsV1Automation_universal_d_DomainEvent = DomainEvent;\n  type automationsV1Automation_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type automationsV1Automation_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type automationsV1Automation_universal_d_RestoreInfo = RestoreInfo;\n  type automationsV1Automation_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type automationsV1Automation_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type automationsV1Automation_universal_d_ActionEvent = ActionEvent;\n  type automationsV1Automation_universal_d_Empty = Empty;\n  type automationsV1Automation_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type automationsV1Automation_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type automationsV1Automation_universal_d_Asset = Asset;\n  type automationsV1Automation_universal_d_State = State;\n  const automationsV1Automation_universal_d_State: typeof State;\n  type automationsV1Automation_universal_d_SiteCreated = SiteCreated;\n  type automationsV1Automation_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const automationsV1Automation_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type automationsV1Automation_universal_d_Namespace = Namespace;\n  const automationsV1Automation_universal_d_Namespace: typeof Namespace;\n  type automationsV1Automation_universal_d_SiteTransferred = SiteTransferred;\n  type automationsV1Automation_universal_d_SiteDeleted = SiteDeleted;\n  type automationsV1Automation_universal_d_DeleteContext = DeleteContext;\n  type automationsV1Automation_universal_d_DeleteStatus = DeleteStatus;\n  const automationsV1Automation_universal_d_DeleteStatus: typeof DeleteStatus;\n  type automationsV1Automation_universal_d_SiteUndeleted = SiteUndeleted;\n  type automationsV1Automation_universal_d_SitePublished = SitePublished;\n  type automationsV1Automation_universal_d_SiteUnpublished = SiteUnpublished;\n  type automationsV1Automation_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type automationsV1Automation_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type automationsV1Automation_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type automationsV1Automation_universal_d_ServiceRemoved = ServiceRemoved;\n  type automationsV1Automation_universal_d_SiteRenamed = SiteRenamed;\n  type automationsV1Automation_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type automationsV1Automation_universal_d_NamespaceChanged = NamespaceChanged;\n  type automationsV1Automation_universal_d_StudioAssigned = StudioAssigned;\n  type automationsV1Automation_universal_d_StudioUnassigned = StudioUnassigned;\n  type automationsV1Automation_universal_d_SyncApplicationAutomationsRequest = SyncApplicationAutomationsRequest;\n  type automationsV1Automation_universal_d_SyncApplicationAutomationsResponse = SyncApplicationAutomationsResponse;\n  type automationsV1Automation_universal_d_BulkCreateApplicationAutomationRequest = BulkCreateApplicationAutomationRequest;\n  type automationsV1Automation_universal_d_BulkCreateApplicationAutomationResponse = BulkCreateApplicationAutomationResponse;\n  type automationsV1Automation_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type automationsV1Automation_universal_d_MessageEnvelope = MessageEnvelope;\n  type automationsV1Automation_universal_d_IdentificationData = IdentificationData;\n  type automationsV1Automation_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type automationsV1Automation_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const automationsV1Automation_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type automationsV1Automation_universal_d_CreateAutomationRequest = CreateAutomationRequest;\n  type automationsV1Automation_universal_d_CreateAutomationResponse = CreateAutomationResponse;\n  type automationsV1Automation_universal_d_MigrationBulkCreateAutomationsRequest = MigrationBulkCreateAutomationsRequest;\n  type automationsV1Automation_universal_d_MigrationBulkCreateAutomationsResponse = MigrationBulkCreateAutomationsResponse;\n  type automationsV1Automation_universal_d_ItemMetadata = ItemMetadata;\n  type automationsV1Automation_universal_d_ApplicationError = ApplicationError;\n  type automationsV1Automation_universal_d_MigrationBulkCreateAutomations = MigrationBulkCreateAutomations;\n  type automationsV1Automation_universal_d_GetAutomationRequest = GetAutomationRequest;\n  type automationsV1Automation_universal_d_GetAutomationResponse = GetAutomationResponse;\n  type automationsV1Automation_universal_d_UpdateAutomationRequest = UpdateAutomationRequest;\n  type automationsV1Automation_universal_d_UpdateAutomationResponse = UpdateAutomationResponse;\n  type automationsV1Automation_universal_d_UpdatedWithPreviousEntity = UpdatedWithPreviousEntity;\n  type automationsV1Automation_universal_d_MigrationUpdateAutomationRequest = MigrationUpdateAutomationRequest;\n  type automationsV1Automation_universal_d_MigrationUpdateAutomationResponse = MigrationUpdateAutomationResponse;\n  type automationsV1Automation_universal_d_DeleteAutomationRequest = DeleteAutomationRequest;\n  type automationsV1Automation_universal_d_DeleteAutomationResponse = DeleteAutomationResponse;\n  type automationsV1Automation_universal_d_DeletedWithEntity = DeletedWithEntity;\n  type automationsV1Automation_universal_d_QueryAutomationsRequest = QueryAutomationsRequest;\n  type automationsV1Automation_universal_d_QueryAutomationsResponse = QueryAutomationsResponse;\n  type automationsV1Automation_universal_d_OverrideApplicationAutomationRequest = OverrideApplicationAutomationRequest;\n  type automationsV1Automation_universal_d_OverrideApplicationAutomationResponse = OverrideApplicationAutomationResponse;\n  type automationsV1Automation_universal_d_GenerateApplicationAutomationFromCustomRequest = GenerateApplicationAutomationFromCustomRequest;\n  type automationsV1Automation_universal_d_GenerateApplicationAutomationFromCustomResponse = GenerateApplicationAutomationFromCustomResponse;\n  type automationsV1Automation_universal_d_ValidateAutomationByIdRequest = ValidateAutomationByIdRequest;\n  type automationsV1Automation_universal_d_ValidateAutomationByIdResponse = ValidateAutomationByIdResponse;\n  type automationsV1Automation_universal_d_TriggerValidationError = TriggerValidationError;\n  type automationsV1Automation_universal_d_TriggerValidationErrorErrorOneOf = TriggerValidationErrorErrorOneOf;\n  type automationsV1Automation_universal_d_TriggerValidationErrorValidationErrorType = TriggerValidationErrorValidationErrorType;\n  const automationsV1Automation_universal_d_TriggerValidationErrorValidationErrorType: typeof TriggerValidationErrorValidationErrorType;\n  type automationsV1Automation_universal_d_TriggerConfigurationError = TriggerConfigurationError;\n  type automationsV1Automation_universal_d_TriggerErrorType = TriggerErrorType;\n  const automationsV1Automation_universal_d_TriggerErrorType: typeof TriggerErrorType;\n  type automationsV1Automation_universal_d_ProviderConfigurationError = ProviderConfigurationError;\n  type automationsV1Automation_universal_d_ActionValidationInfo = ActionValidationInfo;\n  type automationsV1Automation_universal_d_ActionValidationError = ActionValidationError;\n  type automationsV1Automation_universal_d_ActionValidationErrorErrorOneOf = ActionValidationErrorErrorOneOf;\n  type automationsV1Automation_universal_d_ValidationErrorType = ValidationErrorType;\n  const automationsV1Automation_universal_d_ValidationErrorType: typeof ValidationErrorType;\n  type automationsV1Automation_universal_d_ActionConfigurationError = ActionConfigurationError;\n  type automationsV1Automation_universal_d_ActionErrorType = ActionErrorType;\n  const automationsV1Automation_universal_d_ActionErrorType: typeof ActionErrorType;\n  type automationsV1Automation_universal_d_ValidateAutomationRequest = ValidateAutomationRequest;\n  type automationsV1Automation_universal_d_ValidateAutomationResponse = ValidateAutomationResponse;\n  type automationsV1Automation_universal_d_UpdatedAutomationsWithEsb = UpdatedAutomationsWithEsb;\n  type automationsV1Automation_universal_d_GetAutomationActivationReportsRequest = GetAutomationActivationReportsRequest;\n  type automationsV1Automation_universal_d_GetAutomationActivationReportsResponse = GetAutomationActivationReportsResponse;\n  type automationsV1Automation_universal_d_ActivationReport = ActivationReport;\n  type automationsV1Automation_universal_d_ActivationStatus = ActivationStatus;\n  const automationsV1Automation_universal_d_ActivationStatus: typeof ActivationStatus;\n  type automationsV1Automation_universal_d_PagingMetadata = PagingMetadata;\n  type automationsV1Automation_universal_d_GetAutomationActionSchemaRequest = GetAutomationActionSchemaRequest;\n  type automationsV1Automation_universal_d_GetAutomationActionSchemaResponse = GetAutomationActionSchemaResponse;\n  type automationsV1Automation_universal_d_GetActionsQuotaInfoRequest = GetActionsQuotaInfoRequest;\n  type automationsV1Automation_universal_d_GetActionsQuotaInfoResponse = GetActionsQuotaInfoResponse;\n  type automationsV1Automation_universal_d_ActionProviderQuotaInfo = ActionProviderQuotaInfo;\n  type automationsV1Automation_universal_d_ActionQuotaInfo = ActionQuotaInfo;\n  type automationsV1Automation_universal_d_QuotaInfo = QuotaInfo;\n  type automationsV1Automation_universal_d_Plan = Plan;\n  type automationsV1Automation_universal_d_Quota = Quota;\n  type automationsV1Automation_universal_d_CTA = CTA;\n  type automationsV1Automation_universal_d_AdditionalInfo = AdditionalInfo;\n  type automationsV1Automation_universal_d_UpgradeCTA = UpgradeCTA;\n  type automationsV1Automation_universal_d_BulkDeleteAutomationsRequest = BulkDeleteAutomationsRequest;\n  type automationsV1Automation_universal_d_BulkDeleteAutomationsResponse = BulkDeleteAutomationsResponse;\n  type automationsV1Automation_universal_d_GenerateActionInputMappingFromTemplateRequest = GenerateActionInputMappingFromTemplateRequest;\n  type automationsV1Automation_universal_d_GenerateActionInputMappingFromTemplateResponse = GenerateActionInputMappingFromTemplateResponse;\n  type automationsV1Automation_universal_d_MigrationUpdateMigratedToV3AutomationRequest = MigrationUpdateMigratedToV3AutomationRequest;\n  type automationsV1Automation_universal_d_MigrationUpdateMigratedToV3AutomationResponse = MigrationUpdateMigratedToV3AutomationResponse;\n  const automationsV1Automation_universal_d_bulkCreateApplicationAutomation: typeof bulkCreateApplicationAutomation;\n  const automationsV1Automation_universal_d_createAutomation: typeof createAutomation;\n  const automationsV1Automation_universal_d_migrationBulkCreateAutomations: typeof migrationBulkCreateAutomations;\n  type automationsV1Automation_universal_d_MigrationBulkCreateAutomationsOptions = MigrationBulkCreateAutomationsOptions;\n  const automationsV1Automation_universal_d_getAutomation: typeof getAutomation;\n  type automationsV1Automation_universal_d_GetAutomationOptions = GetAutomationOptions;\n  const automationsV1Automation_universal_d_updateAutomation: typeof updateAutomation;\n  type automationsV1Automation_universal_d_UpdateAutomation = UpdateAutomation;\n  type automationsV1Automation_universal_d_UpdateAutomationOptions = UpdateAutomationOptions;\n  const automationsV1Automation_universal_d_migrationUpdateAutomation: typeof migrationUpdateAutomation;\n  type automationsV1Automation_universal_d_MigrationUpdateAutomation = MigrationUpdateAutomation;\n  const automationsV1Automation_universal_d_deleteAutomation: typeof deleteAutomation;\n  type automationsV1Automation_universal_d_DeleteAutomationOptions = DeleteAutomationOptions;\n  const automationsV1Automation_universal_d_queryAutomations: typeof queryAutomations;\n  type automationsV1Automation_universal_d_QueryAutomationsOptions = QueryAutomationsOptions;\n  type automationsV1Automation_universal_d_AutomationsQueryResult = AutomationsQueryResult;\n  type automationsV1Automation_universal_d_AutomationsQueryBuilder = AutomationsQueryBuilder;\n  const automationsV1Automation_universal_d_overrideApplicationAutomation: typeof overrideApplicationAutomation;\n  const automationsV1Automation_universal_d_generateApplicationAutomationFromCustom: typeof generateApplicationAutomationFromCustom;\n  const automationsV1Automation_universal_d_validateAutomationById: typeof validateAutomationById;\n  type automationsV1Automation_universal_d_ValidateAutomationByIdOptions = ValidateAutomationByIdOptions;\n  const automationsV1Automation_universal_d_validateAutomation: typeof validateAutomation;\n  const automationsV1Automation_universal_d_getAutomationActivationStats: typeof getAutomationActivationStats;\n  type automationsV1Automation_universal_d_GetAutomationActivationStatsOptions = GetAutomationActivationStatsOptions;\n  const automationsV1Automation_universal_d_getAutomationActionSchema: typeof getAutomationActionSchema;\n  type automationsV1Automation_universal_d_GetAutomationActionSchemaIdentifiers = GetAutomationActionSchemaIdentifiers;\n  const automationsV1Automation_universal_d_getActionsQuotaInfo: typeof getActionsQuotaInfo;\n  const automationsV1Automation_universal_d_bulkDeleteAutomations: typeof bulkDeleteAutomations;\n  type automationsV1Automation_universal_d_BulkDeleteAutomationsOptions = BulkDeleteAutomationsOptions;\n  const automationsV1Automation_universal_d_generateActionInputMappingFromTemplate: typeof generateActionInputMappingFromTemplate;\n  type automationsV1Automation_universal_d_GenerateActionInputMappingFromTemplateOptions = GenerateActionInputMappingFromTemplateOptions;\n  namespace automationsV1Automation_universal_d {\n    export {\n      automationsV1Automation_universal_d_Automation as Automation,\n      automationsV1Automation_universal_d_Type as Type,\n      automationsV1Automation_universal_d_Status as Status,\n      automationsV1Automation_universal_d_Rule as Rule,\n      automationsV1Automation_universal_d_Trigger as Trigger,\n      automationsV1Automation_universal_d_Filter as Filter,\n      automationsV1Automation_universal_d_Debounce as Debounce,\n      automationsV1Automation_universal_d_Action as Action,\n      automationsV1Automation_universal_d_BlockType as BlockType,\n      automationsV1Automation_universal_d_ConditionBlock as ConditionBlock,\n      automationsV1Automation_universal_d_Offset as Offset,\n      automationsV1Automation_universal_d_OffsetValueOneOf as OffsetValueOneOf,\n      automationsV1Automation_universal_d_Until as Until,\n      automationsV1Automation_universal_d_Delay as Delay,\n      automationsV1Automation_universal_d_DelayTypeOneOf as DelayTypeOneOf,\n      automationsV1Automation_universal_d_RateLimit as RateLimit,\n      automationsV1Automation_universal_d_Condition as Condition,\n      automationsV1Automation_universal_d_Conditions as Conditions,\n      automationsV1Automation_universal_d_Source as Source,\n      automationsV1Automation_universal_d_AutomationMetadata as AutomationMetadata,\n      automationsV1Automation_universal_d_Domain as Domain,\n      automationsV1Automation_universal_d_ExtendedFields as ExtendedFields,\n      automationsV1Automation_universal_d_GetApplicationAutomationRequest as GetApplicationAutomationRequest,\n      automationsV1Automation_universal_d_GetApplicationAutomationResponse as GetApplicationAutomationResponse,\n      automationsV1Automation_universal_d_QueryApplicationAutomationsRequest as QueryApplicationAutomationsRequest,\n      automationsV1Automation_universal_d_QueryV2 as QueryV2,\n      automationsV1Automation_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      automationsV1Automation_universal_d_Sorting as Sorting,\n      automationsV1Automation_universal_d_SortOrder as SortOrder,\n      automationsV1Automation_universal_d_Paging as Paging,\n      automationsV1Automation_universal_d_CursorPaging as CursorPaging,\n      automationsV1Automation_universal_d_QueryApplicationAutomationsResponse as QueryApplicationAutomationsResponse,\n      automationsV1Automation_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      automationsV1Automation_universal_d_Cursors as Cursors,\n      automationsV1Automation_universal_d_UpdateApplicationAutomationConfigurationIdRequest as UpdateApplicationAutomationConfigurationIdRequest,\n      automationsV1Automation_universal_d_UpdateApplicationAutomationConfigurationIdResponse as UpdateApplicationAutomationConfigurationIdResponse,\n      automationsV1Automation_universal_d_UpdateApplicationAutomationToMigratedFromV1Request as UpdateApplicationAutomationToMigratedFromV1Request,\n      automationsV1Automation_universal_d_UpdateApplicationAutomationToMigratedFromV1Response as UpdateApplicationAutomationToMigratedFromV1Response,\n      automationsV1Automation_universal_d_DomainEvent as DomainEvent,\n      automationsV1Automation_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      automationsV1Automation_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      automationsV1Automation_universal_d_RestoreInfo as RestoreInfo,\n      automationsV1Automation_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      automationsV1Automation_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      automationsV1Automation_universal_d_ActionEvent as ActionEvent,\n      automationsV1Automation_universal_d_Empty as Empty,\n      automationsV1Automation_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      automationsV1Automation_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      automationsV1Automation_universal_d_Asset as Asset,\n      automationsV1Automation_universal_d_State as State,\n      automationsV1Automation_universal_d_SiteCreated as SiteCreated,\n      automationsV1Automation_universal_d_SiteCreatedContext as SiteCreatedContext,\n      automationsV1Automation_universal_d_Namespace as Namespace,\n      automationsV1Automation_universal_d_SiteTransferred as SiteTransferred,\n      automationsV1Automation_universal_d_SiteDeleted as SiteDeleted,\n      automationsV1Automation_universal_d_DeleteContext as DeleteContext,\n      automationsV1Automation_universal_d_DeleteStatus as DeleteStatus,\n      automationsV1Automation_universal_d_SiteUndeleted as SiteUndeleted,\n      automationsV1Automation_universal_d_SitePublished as SitePublished,\n      automationsV1Automation_universal_d_SiteUnpublished as SiteUnpublished,\n      automationsV1Automation_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      automationsV1Automation_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      automationsV1Automation_universal_d_ServiceProvisioned as ServiceProvisioned,\n      automationsV1Automation_universal_d_ServiceRemoved as ServiceRemoved,\n      automationsV1Automation_universal_d_SiteRenamed as SiteRenamed,\n      automationsV1Automation_universal_d_SiteHardDeleted as SiteHardDeleted,\n      automationsV1Automation_universal_d_NamespaceChanged as NamespaceChanged,\n      automationsV1Automation_universal_d_StudioAssigned as StudioAssigned,\n      automationsV1Automation_universal_d_StudioUnassigned as StudioUnassigned,\n      automationsV1Automation_universal_d_SyncApplicationAutomationsRequest as SyncApplicationAutomationsRequest,\n      automationsV1Automation_universal_d_SyncApplicationAutomationsResponse as SyncApplicationAutomationsResponse,\n      automationsV1Automation_universal_d_BulkCreateApplicationAutomationRequest as BulkCreateApplicationAutomationRequest,\n      automationsV1Automation_universal_d_BulkCreateApplicationAutomationResponse as BulkCreateApplicationAutomationResponse,\n      automationsV1Automation_universal_d_BulkActionMetadata as BulkActionMetadata,\n      automationsV1Automation_universal_d_MessageEnvelope as MessageEnvelope,\n      automationsV1Automation_universal_d_IdentificationData as IdentificationData,\n      automationsV1Automation_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      automationsV1Automation_universal_d_WebhookIdentityType as WebhookIdentityType,\n      automationsV1Automation_universal_d_CreateAutomationRequest as CreateAutomationRequest,\n      automationsV1Automation_universal_d_CreateAutomationResponse as CreateAutomationResponse,\n      automationsV1Automation_universal_d_MigrationBulkCreateAutomationsRequest as MigrationBulkCreateAutomationsRequest,\n      automationsV1Automation_universal_d_MigrationBulkCreateAutomationsResponse as MigrationBulkCreateAutomationsResponse,\n      automationsV1Automation_universal_d_ItemMetadata as ItemMetadata,\n      automationsV1Automation_universal_d_ApplicationError as ApplicationError,\n      automationsV1Automation_universal_d_MigrationBulkCreateAutomations as MigrationBulkCreateAutomations,\n      automationsV1Automation_universal_d_GetAutomationRequest as GetAutomationRequest,\n      automationsV1Automation_universal_d_GetAutomationResponse as GetAutomationResponse,\n      automationsV1Automation_universal_d_UpdateAutomationRequest as UpdateAutomationRequest,\n      automationsV1Automation_universal_d_UpdateAutomationResponse as UpdateAutomationResponse,\n      automationsV1Automation_universal_d_UpdatedWithPreviousEntity as UpdatedWithPreviousEntity,\n      automationsV1Automation_universal_d_MigrationUpdateAutomationRequest as MigrationUpdateAutomationRequest,\n      automationsV1Automation_universal_d_MigrationUpdateAutomationResponse as MigrationUpdateAutomationResponse,\n      automationsV1Automation_universal_d_DeleteAutomationRequest as DeleteAutomationRequest,\n      automationsV1Automation_universal_d_DeleteAutomationResponse as DeleteAutomationResponse,\n      automationsV1Automation_universal_d_DeletedWithEntity as DeletedWithEntity,\n      automationsV1Automation_universal_d_QueryAutomationsRequest as QueryAutomationsRequest,\n      automationsV1Automation_universal_d_QueryAutomationsResponse as QueryAutomationsResponse,\n      automationsV1Automation_universal_d_OverrideApplicationAutomationRequest as OverrideApplicationAutomationRequest,\n      automationsV1Automation_universal_d_OverrideApplicationAutomationResponse as OverrideApplicationAutomationResponse,\n      automationsV1Automation_universal_d_GenerateApplicationAutomationFromCustomRequest as GenerateApplicationAutomationFromCustomRequest,\n      automationsV1Automation_universal_d_GenerateApplicationAutomationFromCustomResponse as GenerateApplicationAutomationFromCustomResponse,\n      automationsV1Automation_universal_d_ValidateAutomationByIdRequest as ValidateAutomationByIdRequest,\n      automationsV1Automation_universal_d_ValidateAutomationByIdResponse as ValidateAutomationByIdResponse,\n      automationsV1Automation_universal_d_TriggerValidationError as TriggerValidationError,\n      automationsV1Automation_universal_d_TriggerValidationErrorErrorOneOf as TriggerValidationErrorErrorOneOf,\n      automationsV1Automation_universal_d_TriggerValidationErrorValidationErrorType as TriggerValidationErrorValidationErrorType,\n      automationsV1Automation_universal_d_TriggerConfigurationError as TriggerConfigurationError,\n      automationsV1Automation_universal_d_TriggerErrorType as TriggerErrorType,\n      automationsV1Automation_universal_d_ProviderConfigurationError as ProviderConfigurationError,\n      automationsV1Automation_universal_d_ActionValidationInfo as ActionValidationInfo,\n      automationsV1Automation_universal_d_ActionValidationError as ActionValidationError,\n      automationsV1Automation_universal_d_ActionValidationErrorErrorOneOf as ActionValidationErrorErrorOneOf,\n      automationsV1Automation_universal_d_ValidationErrorType as ValidationErrorType,\n      automationsV1Automation_universal_d_ActionConfigurationError as ActionConfigurationError,\n      automationsV1Automation_universal_d_ActionErrorType as ActionErrorType,\n      automationsV1Automation_universal_d_ValidateAutomationRequest as ValidateAutomationRequest,\n      automationsV1Automation_universal_d_ValidateAutomationResponse as ValidateAutomationResponse,\n      automationsV1Automation_universal_d_UpdatedAutomationsWithEsb as UpdatedAutomationsWithEsb,\n      automationsV1Automation_universal_d_GetAutomationActivationReportsRequest as GetAutomationActivationReportsRequest,\n      automationsV1Automation_universal_d_GetAutomationActivationReportsResponse as GetAutomationActivationReportsResponse,\n      automationsV1Automation_universal_d_ActivationReport as ActivationReport,\n      automationsV1Automation_universal_d_ActivationStatus as ActivationStatus,\n      automationsV1Automation_universal_d_PagingMetadata as PagingMetadata,\n      automationsV1Automation_universal_d_GetAutomationActionSchemaRequest as GetAutomationActionSchemaRequest,\n      automationsV1Automation_universal_d_GetAutomationActionSchemaResponse as GetAutomationActionSchemaResponse,\n      automationsV1Automation_universal_d_GetActionsQuotaInfoRequest as GetActionsQuotaInfoRequest,\n      automationsV1Automation_universal_d_GetActionsQuotaInfoResponse as GetActionsQuotaInfoResponse,\n      automationsV1Automation_universal_d_ActionProviderQuotaInfo as ActionProviderQuotaInfo,\n      automationsV1Automation_universal_d_ActionQuotaInfo as ActionQuotaInfo,\n      automationsV1Automation_universal_d_QuotaInfo as QuotaInfo,\n      automationsV1Automation_universal_d_Plan as Plan,\n      automationsV1Automation_universal_d_Quota as Quota,\n      automationsV1Automation_universal_d_CTA as CTA,\n      automationsV1Automation_universal_d_AdditionalInfo as AdditionalInfo,\n      automationsV1Automation_universal_d_UpgradeCTA as UpgradeCTA,\n      automationsV1Automation_universal_d_BulkDeleteAutomationsRequest as BulkDeleteAutomationsRequest,\n      automationsV1Automation_universal_d_BulkDeleteAutomationsResponse as BulkDeleteAutomationsResponse,\n      automationsV1Automation_universal_d_GenerateActionInputMappingFromTemplateRequest as GenerateActionInputMappingFromTemplateRequest,\n      automationsV1Automation_universal_d_GenerateActionInputMappingFromTemplateResponse as GenerateActionInputMappingFromTemplateResponse,\n      automationsV1Automation_universal_d_MigrationUpdateMigratedToV3AutomationRequest as MigrationUpdateMigratedToV3AutomationRequest,\n      automationsV1Automation_universal_d_MigrationUpdateMigratedToV3AutomationResponse as MigrationUpdateMigratedToV3AutomationResponse,\n      automationsV1Automation_universal_d_bulkCreateApplicationAutomation as bulkCreateApplicationAutomation,\n      automationsV1Automation_universal_d_createAutomation as createAutomation,\n      automationsV1Automation_universal_d_migrationBulkCreateAutomations as migrationBulkCreateAutomations,\n      automationsV1Automation_universal_d_MigrationBulkCreateAutomationsOptions as MigrationBulkCreateAutomationsOptions,\n      automationsV1Automation_universal_d_getAutomation as getAutomation,\n      automationsV1Automation_universal_d_GetAutomationOptions as GetAutomationOptions,\n      automationsV1Automation_universal_d_updateAutomation as updateAutomation,\n      automationsV1Automation_universal_d_UpdateAutomation as UpdateAutomation,\n      automationsV1Automation_universal_d_UpdateAutomationOptions as UpdateAutomationOptions,\n      automationsV1Automation_universal_d_migrationUpdateAutomation as migrationUpdateAutomation,\n      automationsV1Automation_universal_d_MigrationUpdateAutomation as MigrationUpdateAutomation,\n      automationsV1Automation_universal_d_deleteAutomation as deleteAutomation,\n      automationsV1Automation_universal_d_DeleteAutomationOptions as DeleteAutomationOptions,\n      automationsV1Automation_universal_d_queryAutomations as queryAutomations,\n      automationsV1Automation_universal_d_QueryAutomationsOptions as QueryAutomationsOptions,\n      automationsV1Automation_universal_d_AutomationsQueryResult as AutomationsQueryResult,\n      automationsV1Automation_universal_d_AutomationsQueryBuilder as AutomationsQueryBuilder,\n      automationsV1Automation_universal_d_overrideApplicationAutomation as overrideApplicationAutomation,\n      automationsV1Automation_universal_d_generateApplicationAutomationFromCustom as generateApplicationAutomationFromCustom,\n      automationsV1Automation_universal_d_validateAutomationById as validateAutomationById,\n      automationsV1Automation_universal_d_ValidateAutomationByIdOptions as ValidateAutomationByIdOptions,\n      automationsV1Automation_universal_d_validateAutomation as validateAutomation,\n      automationsV1Automation_universal_d_getAutomationActivationStats as getAutomationActivationStats,\n      automationsV1Automation_universal_d_GetAutomationActivationStatsOptions as GetAutomationActivationStatsOptions,\n      automationsV1Automation_universal_d_getAutomationActionSchema as getAutomationActionSchema,\n      automationsV1Automation_universal_d_GetAutomationActionSchemaIdentifiers as GetAutomationActionSchemaIdentifiers,\n      automationsV1Automation_universal_d_getActionsQuotaInfo as getActionsQuotaInfo,\n      automationsV1Automation_universal_d_bulkDeleteAutomations as bulkDeleteAutomations,\n      automationsV1Automation_universal_d_BulkDeleteAutomationsOptions as BulkDeleteAutomationsOptions,\n      automationsV1Automation_universal_d_generateActionInputMappingFromTemplate as generateActionInputMappingFromTemplate,\n      automationsV1Automation_universal_d_GenerateActionInputMappingFromTemplateOptions as GenerateActionInputMappingFromTemplateOptions,\n    };\n  }\n  \n  interface MainEntity {\n      _id?: string;\n  }\n  interface TriggerAutomationRequest {\n      /** hookId is the id of the hook to trigger */\n      hookId?: string;\n      /** payload is the payload to send to the hook */\n      payload?: Record<string, any> | null;\n  }\n  interface TriggerAutomationResponse {\n  }\n  /**\n   * TriggerAutomation triggers an automation with custom trigger by its hookId\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.TRIGGER_WEBHOOK\n   * @adminMethod\n   */\n  function triggerAutomation(options?: TriggerAutomationOptions): Promise<void>;\n  interface TriggerAutomationOptions {\n      /** hookId is the id of the hook to trigger */\n      hookId?: string;\n      /** payload is the payload to send to the hook */\n      payload?: Record<string, any> | null;\n  }\n  \n  type automationsV1AutomationsCustomTrigger_universal_d_MainEntity = MainEntity;\n  type automationsV1AutomationsCustomTrigger_universal_d_TriggerAutomationRequest = TriggerAutomationRequest;\n  type automationsV1AutomationsCustomTrigger_universal_d_TriggerAutomationResponse = TriggerAutomationResponse;\n  const automationsV1AutomationsCustomTrigger_universal_d_triggerAutomation: typeof triggerAutomation;\n  type automationsV1AutomationsCustomTrigger_universal_d_TriggerAutomationOptions = TriggerAutomationOptions;\n  namespace automationsV1AutomationsCustomTrigger_universal_d {\n    export {\n      automationsV1AutomationsCustomTrigger_universal_d_MainEntity as MainEntity,\n      automationsV1AutomationsCustomTrigger_universal_d_TriggerAutomationRequest as TriggerAutomationRequest,\n      automationsV1AutomationsCustomTrigger_universal_d_TriggerAutomationResponse as TriggerAutomationResponse,\n      automationsV1AutomationsCustomTrigger_universal_d_triggerAutomation as triggerAutomation,\n      automationsV1AutomationsCustomTrigger_universal_d_TriggerAutomationOptions as TriggerAutomationOptions,\n    };\n  }\n  \n  export { automationsV1AutomationsCustomTrigger_universal_d as automations, automationsV1Automation_universal_d as automationsService };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-assistant-widget.v1.d.ts",
      "content": "declare module \"wix-assistant-widget.v1\" {\n  interface Message {\n      /**\n       * Message ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Date and time the Message was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * __Required.__\n       *\n       * - `\"UOU\"`: Visitor sent message.\n       * - `\"ASSISTANT\"`: AI assistant.\n       * - `\"SYSTEM\"`: System notification.\n       */\n      sender?: Sender;\n      /**\n       * Controls who can see the message.\n       *\n       * - `\"BUSINESS_AND_PARTICIPANT\"`: Visible to the participant and site collaborators.\n       * - `\"BUSINESS\"`: Visible to site collaborators only.\n       */\n      text?: string | null;\n      /** Text that follows after payloads */\n      suffixText?: string | null;\n      /** Message payloads as struct */\n      structPayloads?: Record<string, any>[] | null;\n      /**\n       * Conversation id\n       * @readonly\n       */\n      conversationId?: string | null;\n      /**\n       * Message options\n       * @readonly\n       */\n      options?: string[];\n      /** Answer to message ID. */\n      answerTo?: string | null;\n      /**\n       * Trigger id from ai assistant answer\n       * @readonly\n       */\n      triggerId?: string | null;\n      /**\n       * __Required.__\n       * Message type.\n       *\n       */\n      messageType?: MessageType;\n      /** Should site owner receive inbox notification */\n      notifyInbox?: boolean;\n      /**\n       * Message ID.\n       * @readonly\n       */\n      inboxMessageId?: string | null;\n      /** Data Extensions */\n      extendedFields?: ExtendedFields;\n      /** Tags */\n      tags?: Tags;\n  }\n  enum Sender {\n      UNKNOWN = \"UNKNOWN\",\n      UOU = \"UOU\",\n      ASSISTANT = \"ASSISTANT\",\n      USER = \"USER\",\n      SYSTEM = \"SYSTEM\"\n  }\n  enum MessageType {\n      UNKNOWN_MESSAGE_TYPE = \"UNKNOWN_MESSAGE_TYPE\",\n      QUESTION = \"QUESTION\",\n      ANSWER = \"ANSWER\",\n      INTRO = \"INTRO\",\n      LEGAL = \"LEGAL\",\n      CONTACT_FORM = \"CONTACT_FORM\",\n      CONTACT_FORM_SUBMITTED = \"CONTACT_FORM_SUBMITTED\",\n      SITE_OWNER_NOTIFICATION = \"SITE_OWNER_NOTIFICATION\",\n      OFFLINE = \"OFFLINE\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  /**\n   * Common object for tags.\n   * Should be use as in this example:\n   * message Foo {\n   * string id = 1;\n   * ...\n   * Tags tags = 5\n   * }\n   *\n   * example of taggable entity\n   * {\n   * id: \"123\"\n   * tags: {\n   * tags: {\n   * tag_ids:[\"11\",\"22\"]\n   * },\n   * private_tags: {\n   * tag_ids: [\"33\", \"44\"]\n   * }\n   * }\n   * }\n   */\n  interface Tags {\n      /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n      privateTags?: TagList;\n      /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n      tags?: TagList;\n  }\n  interface TagList {\n      /** List of tag IDs */\n      tagIds?: string[];\n  }\n  interface CreateMessageRequest {\n      /** Message to be created. */\n      message: Message;\n  }\n  interface CreateMessageResponse {\n      /** The created Message. */\n      message?: Message;\n  }\n  interface BatchCreateMessageRequest {\n      /** Messages to be created. */\n      messages?: Message[];\n  }\n  interface BatchCreateMessageResponse {\n      /** The created Messages. */\n      messages?: Message[];\n  }\n  interface ListMessagesRequest {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListMessagesResponse {\n      /** List of Messages. */\n      messages?: Message[];\n      /** Paging metadata */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkUpdateMessageTagsRequest {\n      /** List of NileProtoTagsEntities that their tags will update. */\n      ids: string[] | null;\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  interface BulkUpdateMessageTagsResponse {\n      /** Results */\n      results?: BulkUpdateMessageTagsResult[];\n      /** Metadata regarding the bulk update operation */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkUpdateMessageTagsResult {\n      /** Metadata regarding the specific single update operation */\n      itemMetadata?: ItemMetadata;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateMessageTagsByFilterRequest {\n      /** Filter */\n      filter: Record<string, any> | null;\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  interface BulkUpdateMessageTagsByFilterResponse {\n      /** Job ID */\n      jobId?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a Message.\n   * @param message - Message to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField message\n   * @requiredField message.messageType\n   * @requiredField message.sender\n   * @param options - Additional options for sending a message.\n   * @permissionId INNOVATION_LAB.CHAT_WIDGET\n   * @returns The created Message.\n   */\n  function createMessage(message: Message): Promise<Message>;\n  /**\n   * Creates a batch Messages.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.messages.messageType\n   * @requiredField options.messages.sender\n   * @param options - Additional options for sending a message.\n   * @permissionId INNOVATION_LAB.CHAT_WIDGET\n   */\n  function batchCreateMessage(options?: BatchCreateMessageOptions): Promise<BatchCreateMessageResponse>;\n  interface BatchCreateMessageOptions {\n      /** Messages to be created. */\n      messages?: Message[];\n  }\n  /**\n   * Retrieves a list of Messages, given the provided [cursor paging].\n   *\n   * Up to 100 Messages can be returned per request.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Additional options for listing messages.\n   * @permissionId INNOVATION_LAB.CHAT_WIDGET\n   */\n  function listMessages(options?: ListMessagesOptions): Promise<ListMessagesResponse>;\n  interface ListMessagesOptions {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  /**\n   * Synchronously update tags on multiple products, by list of product ids\n   * A tag that appears both in the list of assign and unassign tags, will be assigned\n   * @param ids - List of NileProtoTagsEntities that their tags will update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @requiredField options.assignTags\n   * @permissionId INNOVATION_LAB.CHAT_WIDGET\n   */\n  function bulkUpdateMessageTags(ids: string[] | null, options?: BulkUpdateMessageTagsOptions): Promise<BulkUpdateMessageTagsResponse>;\n  interface BulkUpdateMessageTagsOptions {\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  /**\n   * Asynchronously update tags on multiple products, by provided filter\n   * An empty filter will update all products\n   * A tag that appears both in the list of assign and unassign tags, will be assigned\n   * @param filter - Filter\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options.assignTags\n   * @permissionId INNOVATION_LAB.CHAT_WIDGET\n   */\n  function bulkUpdateMessageTagsByFilter(filter: Record<string, any> | null, options?: BulkUpdateMessageTagsByFilterOptions): Promise<BulkUpdateMessageTagsByFilterResponse>;\n  interface BulkUpdateMessageTagsByFilterOptions {\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  \n  type innovationWidgetV1Message_universal_d_Message = Message;\n  type innovationWidgetV1Message_universal_d_Sender = Sender;\n  const innovationWidgetV1Message_universal_d_Sender: typeof Sender;\n  type innovationWidgetV1Message_universal_d_MessageType = MessageType;\n  const innovationWidgetV1Message_universal_d_MessageType: typeof MessageType;\n  type innovationWidgetV1Message_universal_d_ExtendedFields = ExtendedFields;\n  type innovationWidgetV1Message_universal_d_Tags = Tags;\n  type innovationWidgetV1Message_universal_d_TagList = TagList;\n  type innovationWidgetV1Message_universal_d_CreateMessageRequest = CreateMessageRequest;\n  type innovationWidgetV1Message_universal_d_CreateMessageResponse = CreateMessageResponse;\n  type innovationWidgetV1Message_universal_d_BatchCreateMessageRequest = BatchCreateMessageRequest;\n  type innovationWidgetV1Message_universal_d_BatchCreateMessageResponse = BatchCreateMessageResponse;\n  type innovationWidgetV1Message_universal_d_ListMessagesRequest = ListMessagesRequest;\n  type innovationWidgetV1Message_universal_d_CursorPaging = CursorPaging;\n  type innovationWidgetV1Message_universal_d_ListMessagesResponse = ListMessagesResponse;\n  type innovationWidgetV1Message_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type innovationWidgetV1Message_universal_d_Cursors = Cursors;\n  type innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsRequest = BulkUpdateMessageTagsRequest;\n  type innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsResponse = BulkUpdateMessageTagsResponse;\n  type innovationWidgetV1Message_universal_d_ItemMetadata = ItemMetadata;\n  type innovationWidgetV1Message_universal_d_ApplicationError = ApplicationError;\n  type innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsResult = BulkUpdateMessageTagsResult;\n  type innovationWidgetV1Message_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsByFilterRequest = BulkUpdateMessageTagsByFilterRequest;\n  type innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsByFilterResponse = BulkUpdateMessageTagsByFilterResponse;\n  type innovationWidgetV1Message_universal_d_DomainEvent = DomainEvent;\n  type innovationWidgetV1Message_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type innovationWidgetV1Message_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type innovationWidgetV1Message_universal_d_RestoreInfo = RestoreInfo;\n  type innovationWidgetV1Message_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type innovationWidgetV1Message_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type innovationWidgetV1Message_universal_d_ActionEvent = ActionEvent;\n  type innovationWidgetV1Message_universal_d_MessageEnvelope = MessageEnvelope;\n  type innovationWidgetV1Message_universal_d_IdentificationData = IdentificationData;\n  type innovationWidgetV1Message_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type innovationWidgetV1Message_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const innovationWidgetV1Message_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const innovationWidgetV1Message_universal_d_createMessage: typeof createMessage;\n  const innovationWidgetV1Message_universal_d_batchCreateMessage: typeof batchCreateMessage;\n  type innovationWidgetV1Message_universal_d_BatchCreateMessageOptions = BatchCreateMessageOptions;\n  const innovationWidgetV1Message_universal_d_listMessages: typeof listMessages;\n  type innovationWidgetV1Message_universal_d_ListMessagesOptions = ListMessagesOptions;\n  const innovationWidgetV1Message_universal_d_bulkUpdateMessageTags: typeof bulkUpdateMessageTags;\n  type innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsOptions = BulkUpdateMessageTagsOptions;\n  const innovationWidgetV1Message_universal_d_bulkUpdateMessageTagsByFilter: typeof bulkUpdateMessageTagsByFilter;\n  type innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsByFilterOptions = BulkUpdateMessageTagsByFilterOptions;\n  namespace innovationWidgetV1Message_universal_d {\n    export {\n      innovationWidgetV1Message_universal_d_Message as Message,\n      innovationWidgetV1Message_universal_d_Sender as Sender,\n      innovationWidgetV1Message_universal_d_MessageType as MessageType,\n      innovationWidgetV1Message_universal_d_ExtendedFields as ExtendedFields,\n      innovationWidgetV1Message_universal_d_Tags as Tags,\n      innovationWidgetV1Message_universal_d_TagList as TagList,\n      innovationWidgetV1Message_universal_d_CreateMessageRequest as CreateMessageRequest,\n      innovationWidgetV1Message_universal_d_CreateMessageResponse as CreateMessageResponse,\n      innovationWidgetV1Message_universal_d_BatchCreateMessageRequest as BatchCreateMessageRequest,\n      innovationWidgetV1Message_universal_d_BatchCreateMessageResponse as BatchCreateMessageResponse,\n      innovationWidgetV1Message_universal_d_ListMessagesRequest as ListMessagesRequest,\n      innovationWidgetV1Message_universal_d_CursorPaging as CursorPaging,\n      innovationWidgetV1Message_universal_d_ListMessagesResponse as ListMessagesResponse,\n      innovationWidgetV1Message_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      innovationWidgetV1Message_universal_d_Cursors as Cursors,\n      innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsRequest as BulkUpdateMessageTagsRequest,\n      innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsResponse as BulkUpdateMessageTagsResponse,\n      innovationWidgetV1Message_universal_d_ItemMetadata as ItemMetadata,\n      innovationWidgetV1Message_universal_d_ApplicationError as ApplicationError,\n      innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsResult as BulkUpdateMessageTagsResult,\n      innovationWidgetV1Message_universal_d_BulkActionMetadata as BulkActionMetadata,\n      innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsByFilterRequest as BulkUpdateMessageTagsByFilterRequest,\n      innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsByFilterResponse as BulkUpdateMessageTagsByFilterResponse,\n      innovationWidgetV1Message_universal_d_DomainEvent as DomainEvent,\n      innovationWidgetV1Message_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      innovationWidgetV1Message_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      innovationWidgetV1Message_universal_d_RestoreInfo as RestoreInfo,\n      innovationWidgetV1Message_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      innovationWidgetV1Message_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      innovationWidgetV1Message_universal_d_ActionEvent as ActionEvent,\n      innovationWidgetV1Message_universal_d_MessageEnvelope as MessageEnvelope,\n      innovationWidgetV1Message_universal_d_IdentificationData as IdentificationData,\n      innovationWidgetV1Message_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      innovationWidgetV1Message_universal_d_WebhookIdentityType as WebhookIdentityType,\n      innovationWidgetV1Message_universal_d_createMessage as createMessage,\n      innovationWidgetV1Message_universal_d_batchCreateMessage as batchCreateMessage,\n      innovationWidgetV1Message_universal_d_BatchCreateMessageOptions as BatchCreateMessageOptions,\n      innovationWidgetV1Message_universal_d_listMessages as listMessages,\n      innovationWidgetV1Message_universal_d_ListMessagesOptions as ListMessagesOptions,\n      innovationWidgetV1Message_universal_d_bulkUpdateMessageTags as bulkUpdateMessageTags,\n      innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsOptions as BulkUpdateMessageTagsOptions,\n      innovationWidgetV1Message_universal_d_bulkUpdateMessageTagsByFilter as bulkUpdateMessageTagsByFilter,\n      innovationWidgetV1Message_universal_d_BulkUpdateMessageTagsByFilterOptions as BulkUpdateMessageTagsByFilterOptions,\n    };\n  }\n  \n  export { innovationWidgetV1Message_universal_d as messages };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-editor-site-embeds.v1.d.ts",
      "content": "declare module \"wix-editor-site-embeds.v1\" {\n  /** A site embed is an entity that manages the code that embeds content or an external application into a Wix site. */\n  interface SiteEmbed extends SiteEmbedContentOneOf {\n      /** Custom embed details. */\n      customEmbedOptions?: CustomEmbed;\n      /**\n       * Verification code embed details.\n       * @internal\n       */\n      verificationCodeOptions?: VerificationCode;\n      /**\n       * HotJar embed details.\n       * @internal\n       */\n      hotjarOptions?: Hotjar;\n      /**\n       * Wix Analytics embed details.\n       * @internal\n       */\n      wixAnalyticsOptions?: WixAnalytics;\n      /**\n       * Privy embed details.\n       * @internal\n       */\n      privyOptions?: Privy;\n      /**\n       * Hello Bar embed details.\n       * @internal\n       */\n      helloBarOptions?: HelloBar;\n      /**\n       * Wisepops embed details.\n       * @internal\n       */\n      wisepopsOptions?: Wisepops;\n      /**\n       * Gtag embed details.\n       * @internal\n       */\n      gtagOptions?: Gtag;\n      /**\n       * VWO embed details.\n       * @internal\n       */\n      vwoOptions?: Vwo;\n      /**\n       * Vk Retargeting embed details.\n       * @internal\n       */\n      vkRetargetingOptions?: VkRetargeting;\n      /**\n       * Call Rail embed details.\n       * @internal\n       */\n      callRailOptions?: CallRail;\n      /**\n       * Crazy Egg embed details.\n       * @internal\n       */\n      crazyEggOptions?: CrazyEgg;\n      /**\n       * App Market embed details.\n       * @internal\n       */\n      appMarketOptions?: AppMarket;\n      /**\n       * Mobile Banner Experimental embed details.\n       * @internal\n       */\n      mobileBannerExperimentalOptions?: MobileBannerExperimental;\n      /**\n       * Paid Ads Facebook Pixel embed details.\n       * @internal\n       */\n      paidAdsFacebookPixelOptions?: PaidAdsFacebookPixel;\n      /**\n       * GscVerification embed details.\n       * @internal\n       */\n      gscVerificationOptions?: GscVerification;\n      /**\n       * Pinterest verification embed details.\n       * @internal\n       */\n      pinterestVerificationOptions?: PinterestVerification;\n      /**\n       * Bing verification embed details.\n       * @internal\n       */\n      bingVerificationOptions?: BingVerification;\n      /**\n       * Yandex Verification embed details.\n       * @internal\n       */\n      yandexVerificationOptions?: YandexVerification;\n      /**\n       * Naver verification embed details.\n       * @internal\n       */\n      naverVerificationOptions?: NaverVerification;\n      /**\n       * [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091) details.\n       * This tag enables you to analyze what a visitor does after clicking on a Google ad.\n       */\n      googleAdWordsOptions?: GoogleAdWords;\n      /**\n       * [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579) details.\n       * This tag enables you to track page views, where visitors are coming from, how long they stay, and\n       * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310)\n       * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310)\n       * are supported.\n       */\n      googleAnalyticsOptions?: GoogleAnalytics;\n      /**\n       * [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) details. This tag\n       * enables you build visual reports of visitor activity that helps them evaluate the\n       * performance of their marketing campaigns.\n       */\n      yandexMetricaOptions?: YandexMetrica;\n      /**\n       * [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/) details.\n       * This tag enables you to track Facebook ad-driven visitor activity on their site.\n       */\n      facebookPixelOptions?: FacebookPixel;\n      /**\n       * [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details.\n       * This tag enables you to implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManagerOptions?: GoogleTagManager;\n      /**\n       * [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663) details.\n       * This embed enables you to share visitor events to TikTok on their site.\n       */\n      tikTokPixelOptions?: TikTokPixel;\n      /**\n       * [Google tag manager consent mode tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details.\n       * This embed enables you to implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManagerConsentModeOptions?: GoogleTagManagerConsentMode;\n      /**\n       * [Google Analytics consent mode tag](https://developers.google.com/tag-platform/gtagjs/reference) details.\n       * This tag enables you to track page views, where visitors are coming from, how long they stay, and\n       * what keywords they used to find the site.\n       */\n      googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentMode;\n      /**\n       * Site embed ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the site embed is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating a site embed.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Site embed name, as displayed to users. */\n      name?: string | null;\n      /** Whether the site embed is enabled on the site. Defaults to `true`. */\n      enabled?: boolean;\n      /** Whether to load the site embed once during initial site rendering, rather than on each page navigation. */\n      loadOnce?: boolean;\n      /** Page IDs where the site embed should be loaded. Relevant for apps with [site page extensions](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-pages/about-site-page-extensions). By default, site embeds are applied to all site pages. */\n      pageFilter?: PageFilter;\n      /** Site domain where the site embed is installed. */\n      domain?: string | null;\n      /** Site embed position in the HTML. */\n      order?: SiteEmbedOrder;\n      /** Site embed type. */\n      siteEmbedType?: SiteEmbedType;\n      /**\n       * Custom field data for the order object. /\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the Wix Dev Center before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  /** @oneof */\n  interface SiteEmbedContentOneOf {\n      /** Custom embed details. */\n      customEmbedOptions?: CustomEmbed;\n      /**\n       * Verification code embed details.\n       * @internal\n       */\n      verificationCodeOptions?: VerificationCode;\n      /**\n       * HotJar embed details.\n       * @internal\n       */\n      hotjarOptions?: Hotjar;\n      /**\n       * Wix Analytics embed details.\n       * @internal\n       */\n      wixAnalyticsOptions?: WixAnalytics;\n      /**\n       * Privy embed details.\n       * @internal\n       */\n      privyOptions?: Privy;\n      /**\n       * Hello Bar embed details.\n       * @internal\n       */\n      helloBarOptions?: HelloBar;\n      /**\n       * Wisepops embed details.\n       * @internal\n       */\n      wisepopsOptions?: Wisepops;\n      /**\n       * Gtag embed details.\n       * @internal\n       */\n      gtagOptions?: Gtag;\n      /**\n       * VWO embed details.\n       * @internal\n       */\n      vwoOptions?: Vwo;\n      /**\n       * Vk Retargeting embed details.\n       * @internal\n       */\n      vkRetargetingOptions?: VkRetargeting;\n      /**\n       * Call Rail embed details.\n       * @internal\n       */\n      callRailOptions?: CallRail;\n      /**\n       * Crazy Egg embed details.\n       * @internal\n       */\n      crazyEggOptions?: CrazyEgg;\n      /**\n       * App Market embed details.\n       * @internal\n       */\n      appMarketOptions?: AppMarket;\n      /**\n       * Mobile Banner Experimental embed details.\n       * @internal\n       */\n      mobileBannerExperimentalOptions?: MobileBannerExperimental;\n      /**\n       * Paid Ads Facebook Pixel embed details.\n       * @internal\n       */\n      paidAdsFacebookPixelOptions?: PaidAdsFacebookPixel;\n      /**\n       * GscVerification embed details.\n       * @internal\n       */\n      gscVerificationOptions?: GscVerification;\n      /**\n       * Pinterest verification embed details.\n       * @internal\n       */\n      pinterestVerificationOptions?: PinterestVerification;\n      /**\n       * Bing verification embed details.\n       * @internal\n       */\n      bingVerificationOptions?: BingVerification;\n      /**\n       * Yandex Verification embed details.\n       * @internal\n       */\n      yandexVerificationOptions?: YandexVerification;\n      /**\n       * Naver verification embed details.\n       * @internal\n       */\n      naverVerificationOptions?: NaverVerification;\n      /**\n       * [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091) details.\n       * This tag enables you to analyze what a visitor does after clicking on a Google ad.\n       */\n      googleAdWordsOptions?: GoogleAdWords;\n      /**\n       * [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579) details.\n       * This tag enables you to track page views, where visitors are coming from, how long they stay, and\n       * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310)\n       * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310)\n       * are supported.\n       */\n      googleAnalyticsOptions?: GoogleAnalytics;\n      /**\n       * [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) details. This tag\n       * enables you build visual reports of visitor activity that helps them evaluate the\n       * performance of their marketing campaigns.\n       */\n      yandexMetricaOptions?: YandexMetrica;\n      /**\n       * [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/) details.\n       * This tag enables you to track Facebook ad-driven visitor activity on their site.\n       */\n      facebookPixelOptions?: FacebookPixel;\n      /**\n       * [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details.\n       * This tag enables you to implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManagerOptions?: GoogleTagManager;\n      /**\n       * [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663) details.\n       * This embed enables you to share visitor events to TikTok on their site.\n       */\n      tikTokPixelOptions?: TikTokPixel;\n      /**\n       * [Google tag manager consent mode tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details.\n       * This embed enables you to implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManagerConsentModeOptions?: GoogleTagManagerConsentMode;\n      /**\n       * [Google Analytics consent mode tag](https://developers.google.com/tag-platform/gtagjs/reference) details.\n       * This tag enables you to track page views, where visitors are coming from, how long they stay, and\n       * what keywords they used to find the site.\n       */\n      googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentMode;\n  }\n  enum PositionOnPage {\n      /** Illegal value, exception will be thrown if used */\n      UNKNOWN_POSITION = \"UNKNOWN_POSITION\",\n      /** HEAD position */\n      HEAD = \"HEAD\",\n      /** BODY_START position */\n      BODY_START = \"BODY_START\",\n      /** BODY_END position */\n      BODY_END = \"BODY_END\"\n  }\n  interface PageFilter {\n      /** Pages where the site embed will be loaded. */\n      pageIds?: string[];\n  }\n  interface SiteEmbedOrder {\n      /** Embed location placement. */\n      position?: PositionOnPage;\n      /**\n       * Priority of the position for sorting by position on page\n       * @readonly\n       */\n      positionPriority?: number;\n      /**\n       * Priority of this SiteEmbed according to others on the same position\n       * @readonly\n       */\n      elementPriority?: number;\n  }\n  enum SiteEmbedType {\n      UNKNOWN_SITE_EMBED = \"UNKNOWN_SITE_EMBED\",\n      /** Custom embed type */\n      CUSTOM_EMBED = \"CUSTOM_EMBED\",\n      /** Verification Code embed type */\n      VERIFICATION_CODE = \"VERIFICATION_CODE\",\n      /** HotJar embed type */\n      HOTJAR = \"HOTJAR\",\n      /** Wix Analytics embed type */\n      WIX_ANALYTICS = \"WIX_ANALYTICS\",\n      /** Privy embed type */\n      PRIVY = \"PRIVY\",\n      /** HelloBar embed type */\n      HELLO_BAR = \"HELLO_BAR\",\n      /** Wisepops embed type */\n      WISEPOPS = \"WISEPOPS\",\n      /** Gtag embed type */\n      GTAG = \"GTAG\",\n      /** VWO embed type */\n      VWO = \"VWO\",\n      /** VkRetargeting embed type */\n      VK_RETARGETING = \"VK_RETARGETING\",\n      /** CallRail embed type */\n      CALL_RAIL = \"CALL_RAIL\",\n      /** CrazyEgg embed type */\n      CRAZY_EGG = \"CRAZY_EGG\",\n      /** AppMarket embed type */\n      APP_MARKET = \"APP_MARKET\",\n      /** MobileBannerExperimental embed type */\n      MOBILE_BANNER_EXPERIMENTAL = \"MOBILE_BANNER_EXPERIMENTAL\",\n      /** PaidAdsFacebookPixel embed type */\n      PAID_ADS_FACEBOOK_PIXEL = \"PAID_ADS_FACEBOOK_PIXEL\",\n      /** GscVerification embed type */\n      GSC_VERIFICATION = \"GSC_VERIFICATION\",\n      /** PinterestVerification embed type */\n      PINTEREST_VERIFICATION = \"PINTEREST_VERIFICATION\",\n      /** BingVerification embed type */\n      BING_VERIFICATION = \"BING_VERIFICATION\",\n      /** YandexVerification embed type */\n      YANDEX_VERIFICATION = \"YANDEX_VERIFICATION\",\n      /** NaverVerification embed type */\n      NAVER_VERIFICATION = \"NAVER_VERIFICATION\",\n      /** Google AdWords embed type */\n      GOOGLE_AD_WORDS = \"GOOGLE_AD_WORDS\",\n      /** Google Analytics embed type */\n      GOOGLE_ANALYTICS = \"GOOGLE_ANALYTICS\",\n      /** Yandex metrica embed type */\n      YANDEX_METRICA = \"YANDEX_METRICA\",\n      /** Facebook Pixel embed type */\n      FACEBOOK_PIXEL = \"FACEBOOK_PIXEL\",\n      /** Google Tag Manager embed type */\n      GOOGLE_TAG_MANAGER = \"GOOGLE_TAG_MANAGER\",\n      /** TikTok Pixel embed type */\n      TIK_TOK_PIXEL = \"TIK_TOK_PIXEL\",\n      /** Google Tag Manager Consent Mode */\n      GOOGLE_TAG_MANAGER_CONSENT_MODE = \"GOOGLE_TAG_MANAGER_CONSENT_MODE\",\n      /** Google Analytics Consent Mode */\n      GOOGLE_ANALYTICS_CONSENT_MODE = \"GOOGLE_ANALYTICS_CONSENT_MODE\"\n  }\n  interface CustomEmbed {\n      /** CustomEmbed's category */\n      category?: Category;\n      /** CustomEmbed's html */\n      html?: string;\n  }\n  enum Category {\n      /** Illegal type, exception will be thrown if used */\n      UNKNOWN_CATEGORY = \"UNKNOWN_CATEGORY\",\n      /** Essential category */\n      ESSENTIAL = \"ESSENTIAL\",\n      /** Functional category */\n      FUNCTIONAL = \"FUNCTIONAL\",\n      /** Analytics category */\n      ANALYTICS = \"ANALYTICS\",\n      /** Advertising category */\n      ADVERTISING = \"ADVERTISING\",\n      /** Data to third party category */\n      DATA_TO_THIRD_PARTY = \"DATA_TO_THIRD_PARTY\"\n  }\n  interface VerificationCode {\n      /** VerificationCode html */\n      html?: string;\n  }\n  interface Hotjar {\n      /** Hotjar tracking_id */\n      trackingId?: string;\n  }\n  interface WixAnalytics {\n  }\n  interface Privy {\n      /** Privy tracking_id */\n      trackingId?: string;\n  }\n  interface HelloBar {\n      /** HelloBar tracking_id */\n      trackingId?: string;\n  }\n  interface Wisepops {\n      /** Wisepops tracking_id */\n      trackingId?: string;\n  }\n  interface Gtag {\n      /** Gtag tracking_id */\n      trackingId?: string;\n  }\n  interface Vwo {\n      /** Vwo tracking_id */\n      trackingId?: string;\n  }\n  interface VkRetargeting {\n      /** VkRetargeting tracking_id */\n      trackingId?: string;\n  }\n  interface CallRail {\n      /** CallRail tracking_id */\n      trackingId?: string;\n  }\n  interface CrazyEgg {\n      /** CrazyEgg tracking_id */\n      trackingId?: string;\n  }\n  interface AppMarket {\n      /** The application id owning this component */\n      appId?: string;\n      /** The version of the application that this was installed with */\n      appVersion?: string;\n      /** The id of the component that was installed */\n      componentId?: string | null;\n      /** Parameters that will be injected into the Embed HTML template */\n      parameters?: Record<string, string>;\n  }\n  interface MobileBannerExperimental {\n      /** MobileBannerExperimental app_link */\n      appLink?: string;\n      /** MobileBannerExperimental config */\n      config?: string | null;\n  }\n  interface PaidAdsFacebookPixel {\n      /** PaidAdsFacebookPixel pixel_id */\n      pixelId?: string;\n  }\n  interface GscVerification {\n      /** GscVerification token */\n      token?: string;\n  }\n  interface PinterestVerification {\n      /** PinterestVerification token */\n      token?: string;\n  }\n  interface BingVerification {\n      /** BingVerification token */\n      token?: string;\n  }\n  interface YandexVerification {\n      /** YandexVerification token */\n      token?: string;\n  }\n  interface NaverVerification {\n      /** NaverVerification token */\n      token?: string;\n  }\n  interface GoogleAdWords {\n      /** GoogleAdWords tracking_id */\n      trackingId?: string;\n  }\n  interface GoogleAnalytics {\n      /** GoogleAnalytic tracking id */\n      trackingId?: string;\n      /** GoogleAnalytic ip_anonymization */\n      ipAnonymization?: boolean | null;\n  }\n  interface YandexMetrica {\n      /** YandexMetrica tracking_id */\n      trackingId?: string;\n  }\n  interface FacebookPixel {\n      /** FacebookPixel tracking_id */\n      trackingId?: string;\n  }\n  interface GoogleTagManager {\n      /** GoogleTagManager tracking_id */\n      trackingId?: string;\n  }\n  interface TikTokPixel {\n      /** Specifies which TikTok Pixel is associated with the site owner */\n      trackingId?: string;\n  }\n  interface GoogleTagManagerConsentMode {\n      /** Specifies which Google Tag Manager Container is associated with the site owner. */\n      trackingId?: string;\n  }\n  interface GoogleAnalyticsConsentMode {\n      /** Specifies which Google property is associated with the site owner. */\n      trackingId?: string;\n      /** Whether IP addresses of site visitors are hidden from Google. */\n      ipAnonymization?: boolean | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateSiteEmbedRequest {\n      /** Site embed to be created. */\n      siteEmbed: SiteEmbed;\n      /**\n       * Deprecated.\n       * @internal\n       */\n      legacyId?: string | null;\n  }\n  interface CreateSiteEmbedResponse {\n      /** Created site embed. */\n      siteEmbed?: SiteEmbed;\n  }\n  interface GetSiteEmbedRequest {\n      /** Site embed ID. */\n      siteEmbedId: string;\n  }\n  interface GetSiteEmbedResponse {\n      /** Requested site embed. */\n      siteEmbed?: SiteEmbed;\n  }\n  interface UpdateSiteEmbedRequest {\n      /** Site embed to be updated. */\n      siteEmbed: SiteEmbed;\n      /**\n       * Fields to update.\n       * By default infer by the framework.\n       * If explicit provided, only the provided fields will be updated.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateSiteEmbedResponse {\n      /** Updated site embed. */\n      siteEmbed?: SiteEmbed;\n  }\n  interface DeleteSiteEmbedRequest {\n      /** Site embed ID to delete. */\n      siteEmbedId: string;\n  }\n  interface DeleteSiteEmbedResponse {\n  }\n  interface PlaceSiteEmbedRequest {\n      /** Site embed to be placed. */\n      siteEmbedId: string;\n      /** Desired location for the embed within the relevant position. */\n      location?: Location;\n      /**\n       * ID of the site embed to come after this one. Required when setting the location to BEFORE_EMBED.\n       * `LOCATION_UNSPECIFIED` is not supported.\n       */\n      nextSiteEmbedId?: string | null;\n  }\n  enum Location {\n      /** LOCATION_UNSPECIFIED, not allowed */\n      LOCATION_UNSPECIFIED = \"LOCATION_UNSPECIFIED\",\n      /** LAST location, meaning place embed in the end of the list */\n      LAST = \"LAST\",\n      /** BEFORE_EMBED location, meaning place embed before the embed specified in next_site_embed_id field */\n      BEFORE_EMBED = \"BEFORE_EMBED\"\n  }\n  interface PlaceSiteEmbedResponse {\n  }\n  interface QuerySiteEmbedsRequest {\n      /**\n       * Query options.\n       * Filtering is supported for all site embed fields, with all relevant operators. See [API Query Language Filters](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       * Sorting in ASC and DESC order is supported for all site embed fields. See [API Query Language Sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySiteEmbedsResponse {\n      /** List of site embeds. */\n      siteEmbeds?: SiteEmbed[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** Updated SiteEmbed */\n      siteEmbed?: SiteEmbed;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a site embed.\n   * The request body must include the `type` field as well as the field corresponding to the passed type, and 'order.position'.\n   * The embed will be placed at the end of the list within the new position.\n   * @param siteEmbed - Site embed to be created.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField siteEmbed\n   * @requiredField siteEmbed.order\n   * @requiredField siteEmbed.order.position\n   * @permissionId EDITOR.SITE_EMBED_CREATE\n   * @adminMethod\n   * @returns Created site embed.\n   */\n  function createSiteEmbed(siteEmbed: SiteEmbed, options?: CreateSiteEmbedOptions): Promise<SiteEmbed>;\n  interface CreateSiteEmbedOptions {\n      /**\n       * Deprecated.\n       * @internal\n       */\n      legacyId?: string | null;\n  }\n  /**\n   * Retrieves a site embed.\n   * @param siteEmbedId - Site embed ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField siteEmbedId\n   * @permissionId EDITOR.SITE_EMBED_READ\n   * @returns Requested site embed.\n   */\n  function getSiteEmbed(siteEmbedId: string): Promise<SiteEmbed>;\n  /**\n   * Updates a site embed.\n   * When a site embed's position is changed, the embed will be placed at the end of the list within the new position.\n   * @param _id - Site embed ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField siteEmbed\n   * @requiredField siteEmbed.revision\n   * @permissionId EDITOR.SITE_EMBED_UPDATE\n   * @adminMethod\n   * @returns Updated site embed.\n   */\n  function updateSiteEmbed(_id: string | null, siteEmbed: UpdateSiteEmbed, options?: UpdateSiteEmbedOptions): Promise<SiteEmbed>;\n  interface UpdateSiteEmbed {\n      /** Custom embed details. */\n      customEmbedOptions?: CustomEmbed;\n      /**\n       * Verification code embed details.\n       * @internal\n       */\n      verificationCodeOptions?: VerificationCode;\n      /**\n       * HotJar embed details.\n       * @internal\n       */\n      hotjarOptions?: Hotjar;\n      /**\n       * Wix Analytics embed details.\n       * @internal\n       */\n      wixAnalyticsOptions?: WixAnalytics;\n      /**\n       * Privy embed details.\n       * @internal\n       */\n      privyOptions?: Privy;\n      /**\n       * Hello Bar embed details.\n       * @internal\n       */\n      helloBarOptions?: HelloBar;\n      /**\n       * Wisepops embed details.\n       * @internal\n       */\n      wisepopsOptions?: Wisepops;\n      /**\n       * Gtag embed details.\n       * @internal\n       */\n      gtagOptions?: Gtag;\n      /**\n       * VWO embed details.\n       * @internal\n       */\n      vwoOptions?: Vwo;\n      /**\n       * Vk Retargeting embed details.\n       * @internal\n       */\n      vkRetargetingOptions?: VkRetargeting;\n      /**\n       * Call Rail embed details.\n       * @internal\n       */\n      callRailOptions?: CallRail;\n      /**\n       * Crazy Egg embed details.\n       * @internal\n       */\n      crazyEggOptions?: CrazyEgg;\n      /**\n       * App Market embed details.\n       * @internal\n       */\n      appMarketOptions?: AppMarket;\n      /**\n       * Mobile Banner Experimental embed details.\n       * @internal\n       */\n      mobileBannerExperimentalOptions?: MobileBannerExperimental;\n      /**\n       * Paid Ads Facebook Pixel embed details.\n       * @internal\n       */\n      paidAdsFacebookPixelOptions?: PaidAdsFacebookPixel;\n      /**\n       * GscVerification embed details.\n       * @internal\n       */\n      gscVerificationOptions?: GscVerification;\n      /**\n       * Pinterest verification embed details.\n       * @internal\n       */\n      pinterestVerificationOptions?: PinterestVerification;\n      /**\n       * Bing verification embed details.\n       * @internal\n       */\n      bingVerificationOptions?: BingVerification;\n      /**\n       * Yandex Verification embed details.\n       * @internal\n       */\n      yandexVerificationOptions?: YandexVerification;\n      /**\n       * Naver verification embed details.\n       * @internal\n       */\n      naverVerificationOptions?: NaverVerification;\n      /**\n       * [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091) details.\n       * This tag enables you to analyze what a visitor does after clicking on a Google ad.\n       */\n      googleAdWordsOptions?: GoogleAdWords;\n      /**\n       * [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579) details.\n       * This tag enables you to track page views, where visitors are coming from, how long they stay, and\n       * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310)\n       * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310)\n       * are supported.\n       */\n      googleAnalyticsOptions?: GoogleAnalytics;\n      /**\n       * [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) details. This tag\n       * enables you build visual reports of visitor activity that helps them evaluate the\n       * performance of their marketing campaigns.\n       */\n      yandexMetricaOptions?: YandexMetrica;\n      /**\n       * [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/) details.\n       * This tag enables you to track Facebook ad-driven visitor activity on their site.\n       */\n      facebookPixelOptions?: FacebookPixel;\n      /**\n       * [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details.\n       * This tag enables you to implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManagerOptions?: GoogleTagManager;\n      /**\n       * [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663) details.\n       * This embed enables you to share visitor events to TikTok on their site.\n       */\n      tikTokPixelOptions?: TikTokPixel;\n      /**\n       * [Google tag manager consent mode tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details.\n       * This embed enables you to implement a quick and easy tag management system that keeps\n       * 3rd party code snippets organized.\n       */\n      googleTagManagerConsentModeOptions?: GoogleTagManagerConsentMode;\n      /**\n       * [Google Analytics consent mode tag](https://developers.google.com/tag-platform/gtagjs/reference) details.\n       * This tag enables you to track page views, where visitors are coming from, how long they stay, and\n       * what keywords they used to find the site.\n       */\n      googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentMode;\n      /**\n       * Site embed ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the site embed is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating a site embed.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Site embed name, as displayed to users. */\n      name?: string | null;\n      /** Whether the site embed is enabled on the site. Defaults to `true`. */\n      enabled?: boolean;\n      /** Whether to load the site embed once during initial site rendering, rather than on each page navigation. */\n      loadOnce?: boolean;\n      /** Page IDs where the site embed should be loaded. Relevant for apps with [site page extensions](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-pages/about-site-page-extensions). By default, site embeds are applied to all site pages. */\n      pageFilter?: PageFilter;\n      /** Site domain where the site embed is installed. */\n      domain?: string | null;\n      /** Site embed position in the HTML. */\n      order?: SiteEmbedOrder;\n      /** Site embed type. */\n      siteEmbedType?: SiteEmbedType;\n      /**\n       * Custom field data for the order object. /\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the Wix Dev Center before they can be accessed with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdateSiteEmbedOptions {\n      /**\n       * Fields to update.\n       * By default infer by the framework.\n       * If explicit provided, only the provided fields will be updated.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a site embed permanently.\n   * @param siteEmbedId - Site embed ID to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField siteEmbedId\n   * @permissionId EDITOR.SITE_EMBED_DELETE\n   * @adminMethod\n   */\n  function deleteSiteEmbed(siteEmbedId: string): Promise<void>;\n  /**\n   * Sets a site embed's placement order within the designated position.\n   * @param siteEmbedId - Site embed to be placed.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField siteEmbedId\n   * @permissionId EDITOR.SITE_EMBED_UPDATE\n   * @adminMethod\n   */\n  function placeSiteEmbed(siteEmbedId: string, options?: PlaceSiteEmbedOptions): Promise<void>;\n  interface PlaceSiteEmbedOptions {\n      /** Desired location for the embed within the relevant position. */\n      location?: Location;\n      /**\n       * ID of the site embed to come after this one. Required when setting the location to BEFORE_EMBED.\n       * `LOCATION_UNSPECIFIED` is not supported.\n       */\n      nextSiteEmbedId?: string | null;\n  }\n  /**\n   * Retrieves a list of up to 100 site embeds, given the provided [paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-paging-section), [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section) and [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n   * Filtering is supported for all site embed fields, with all relevant operators.\n   * Sorting in ASC and DESC order is supported for all site embed fields.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId EDITOR.SITE_EMBED_READ\n   */\n  function querySiteEmbeds(): SiteEmbedsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface SiteEmbedsQueryResult extends QueryCursorResult {\n      items: SiteEmbed[];\n      query: SiteEmbedsQueryBuilder;\n      next: () => Promise<SiteEmbedsQueryResult>;\n      prev: () => Promise<SiteEmbedsQueryResult>;\n  }\n  interface SiteEmbedsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'order.position' | 'siteEmbedType', value: any) => SiteEmbedsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'order.position' | 'siteEmbedType', value: any) => SiteEmbedsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'order.positionPriority' | 'order.elementPriority'>) => SiteEmbedsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'order.positionPriority' | 'order.elementPriority'>) => SiteEmbedsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => SiteEmbedsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => SiteEmbedsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<SiteEmbedsQueryResult>;\n  }\n  /**\n   * Updates a site embed's extended fields.\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId EDITOR.SITE_EMBED_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  \n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbed = SiteEmbed;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedContentOneOf = SiteEmbedContentOneOf;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PositionOnPage = PositionOnPage;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PositionOnPage: typeof PositionOnPage;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PageFilter = PageFilter;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedOrder = SiteEmbedOrder;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedType = SiteEmbedType;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedType: typeof SiteEmbedType;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CustomEmbed = CustomEmbed;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Category = Category;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Category: typeof Category;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_VerificationCode = VerificationCode;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Hotjar = Hotjar;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_WixAnalytics = WixAnalytics;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Privy = Privy;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_HelloBar = HelloBar;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Wisepops = Wisepops;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Gtag = Gtag;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Vwo = Vwo;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_VkRetargeting = VkRetargeting;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CallRail = CallRail;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CrazyEgg = CrazyEgg;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_AppMarket = AppMarket;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_MobileBannerExperimental = MobileBannerExperimental;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PaidAdsFacebookPixel = PaidAdsFacebookPixel;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GscVerification = GscVerification;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PinterestVerification = PinterestVerification;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_BingVerification = BingVerification;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_YandexVerification = YandexVerification;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_NaverVerification = NaverVerification;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GoogleAdWords = GoogleAdWords;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GoogleAnalytics = GoogleAnalytics;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_YandexMetrica = YandexMetrica;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_FacebookPixel = FacebookPixel;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GoogleTagManager = GoogleTagManager;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_TikTokPixel = TikTokPixel;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GoogleTagManagerConsentMode = GoogleTagManagerConsentMode;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GoogleAnalyticsConsentMode = GoogleAnalyticsConsentMode;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_ExtendedFields = ExtendedFields;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CreateSiteEmbedRequest = CreateSiteEmbedRequest;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CreateSiteEmbedResponse = CreateSiteEmbedResponse;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GetSiteEmbedRequest = GetSiteEmbedRequest;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GetSiteEmbedResponse = GetSiteEmbedResponse;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateSiteEmbedRequest = UpdateSiteEmbedRequest;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateSiteEmbedResponse = UpdateSiteEmbedResponse;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_DeleteSiteEmbedRequest = DeleteSiteEmbedRequest;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_DeleteSiteEmbedResponse = DeleteSiteEmbedResponse;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PlaceSiteEmbedRequest = PlaceSiteEmbedRequest;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Location = Location;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Location: typeof Location;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PlaceSiteEmbedResponse = PlaceSiteEmbedResponse;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_QuerySiteEmbedsRequest = QuerySiteEmbedsRequest;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CursorQuery = CursorQuery;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Sorting = Sorting;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SortOrder = SortOrder;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SortOrder: typeof SortOrder;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CursorPaging = CursorPaging;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_QuerySiteEmbedsResponse = QuerySiteEmbedsResponse;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Cursors = Cursors;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_DomainEvent = DomainEvent;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_RestoreInfo = RestoreInfo;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_ActionEvent = ActionEvent;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_MessageEnvelope = MessageEnvelope;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_IdentificationData = IdentificationData;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_createSiteEmbed: typeof createSiteEmbed;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CreateSiteEmbedOptions = CreateSiteEmbedOptions;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_getSiteEmbed: typeof getSiteEmbed;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_updateSiteEmbed: typeof updateSiteEmbed;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateSiteEmbed = UpdateSiteEmbed;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateSiteEmbedOptions = UpdateSiteEmbedOptions;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_deleteSiteEmbed: typeof deleteSiteEmbed;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_placeSiteEmbed: typeof placeSiteEmbed;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PlaceSiteEmbedOptions = PlaceSiteEmbedOptions;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_querySiteEmbeds: typeof querySiteEmbeds;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedsQueryResult = SiteEmbedsQueryResult;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedsQueryBuilder = SiteEmbedsQueryBuilder;\n  const documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  namespace documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d {\n    export {\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbed as SiteEmbed,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedContentOneOf as SiteEmbedContentOneOf,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PositionOnPage as PositionOnPage,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PageFilter as PageFilter,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedOrder as SiteEmbedOrder,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedType as SiteEmbedType,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CustomEmbed as CustomEmbed,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Category as Category,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_VerificationCode as VerificationCode,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Hotjar as Hotjar,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_WixAnalytics as WixAnalytics,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Privy as Privy,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_HelloBar as HelloBar,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Wisepops as Wisepops,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Gtag as Gtag,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Vwo as Vwo,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_VkRetargeting as VkRetargeting,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CallRail as CallRail,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CrazyEgg as CrazyEgg,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_AppMarket as AppMarket,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_MobileBannerExperimental as MobileBannerExperimental,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PaidAdsFacebookPixel as PaidAdsFacebookPixel,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GscVerification as GscVerification,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PinterestVerification as PinterestVerification,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_BingVerification as BingVerification,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_YandexVerification as YandexVerification,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_NaverVerification as NaverVerification,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GoogleAdWords as GoogleAdWords,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GoogleAnalytics as GoogleAnalytics,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_YandexMetrica as YandexMetrica,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_FacebookPixel as FacebookPixel,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GoogleTagManager as GoogleTagManager,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_TikTokPixel as TikTokPixel,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GoogleTagManagerConsentMode as GoogleTagManagerConsentMode,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GoogleAnalyticsConsentMode as GoogleAnalyticsConsentMode,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_ExtendedFields as ExtendedFields,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CreateSiteEmbedRequest as CreateSiteEmbedRequest,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CreateSiteEmbedResponse as CreateSiteEmbedResponse,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GetSiteEmbedRequest as GetSiteEmbedRequest,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_GetSiteEmbedResponse as GetSiteEmbedResponse,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateSiteEmbedRequest as UpdateSiteEmbedRequest,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateSiteEmbedResponse as UpdateSiteEmbedResponse,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_DeleteSiteEmbedRequest as DeleteSiteEmbedRequest,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_DeleteSiteEmbedResponse as DeleteSiteEmbedResponse,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PlaceSiteEmbedRequest as PlaceSiteEmbedRequest,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Location as Location,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PlaceSiteEmbedResponse as PlaceSiteEmbedResponse,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_QuerySiteEmbedsRequest as QuerySiteEmbedsRequest,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CursorQuery as CursorQuery,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Sorting as Sorting,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SortOrder as SortOrder,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CursorPaging as CursorPaging,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_QuerySiteEmbedsResponse as QuerySiteEmbedsResponse,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_Cursors as Cursors,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_DomainEvent as DomainEvent,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_RestoreInfo as RestoreInfo,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_ActionEvent as ActionEvent,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_MessageEnvelope as MessageEnvelope,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_IdentificationData as IdentificationData,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_WebhookIdentityType as WebhookIdentityType,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_createSiteEmbed as createSiteEmbed,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_CreateSiteEmbedOptions as CreateSiteEmbedOptions,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_getSiteEmbed as getSiteEmbed,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_updateSiteEmbed as updateSiteEmbed,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateSiteEmbed as UpdateSiteEmbed,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateSiteEmbedOptions as UpdateSiteEmbedOptions,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_deleteSiteEmbed as deleteSiteEmbed,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_placeSiteEmbed as placeSiteEmbed,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_PlaceSiteEmbedOptions as PlaceSiteEmbedOptions,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_querySiteEmbeds as querySiteEmbeds,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedsQueryResult as SiteEmbedsQueryResult,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_SiteEmbedsQueryBuilder as SiteEmbedsQueryBuilder,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_updateExtendedFields as updateExtendedFields,\n      documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n    };\n  }\n  \n  export { documentManagementEditorSiteEmbedsV1SiteEmbed_universal_d as siteEmbeds };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-automations-actioncatalog.v1.d.ts",
      "content": "declare module \"wix-automations-actioncatalog.v1\" {\n  interface Action {\n      /**\n       * the id of the app defining the action\n       * @readonly\n       */\n      appId?: string;\n      /**\n       * identifier for this action - human readable action key - unique per app def id\n       * TODO: use slug when possible\n       * @readonly\n       */\n      actionKey?: string;\n      /**\n       * The action expects the following input\n       * The schema is described according to JSON Schema standard: https://json-schema.org/\n       *\n       * Example - Add Label to Contact Action input schema:\n       * {\n       * \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n       * \"type\": \"object\",\n       * \"title\": \"Add label to contact input schema\",\n       * \"description\": \"The schema of the json that is sent when invoking this add label to contact action\",\n       * \"default\": {},\n       * \"examples\": [\n       * {\n       * \"contactId\": \"a647eb32-c5f4-11ec-9d64-0242ac120002\",\n       * \"labelId\": \"1e8b5e5e-dba2-11ec-9d64-0242ac120002\"\n       * }\n       * ],\n       * \"required\": [\n       * \"contactId\",\n       * \"labelId\"\n       * ],\n       * \"properties\": {\n       * \"contactId\": {\n       * \"$id\": \"#/properties/contactId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Contact Id\",\n       * \"description\": \"The Id of the contact to apply the label to\",\n       * \"default\": \"\",\n       * \"identityType\": \"contact\" // can be contact/visitor/user, limited to 1 type per identity.\n       * },\n       * \"labelId\": {\n       * \"$id\": \"#/properties/labelId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Label Id\",\n       * \"description\": \"The Id of label to apply\",\n       * \"default\": \"\",\n       * }\n       * }\n       * }\n       * @readonly\n       */\n      inputSchema?: Record<string, any> | null;\n      /**\n       * The output of the action which will be added to the payload after execution\n       * The schema is described according to JSON Schema standard: https://json-schema.org/\n       *\n       * Example - Output of create task action\n       * {\n       * \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n       * \"type\": \"object\",\n       * \"title\": \"Create task action schema\",\n       * \"description\": \"The schema of the json that is sent when invoking this create task action\",\n       * \"default\": {},\n       * \"examples\": [\n       * {\n       * \"taskId\": \"a647eb32-c5f4-11ec-9d64-0242ac120002\",\n       * }\n       * ],\n       * \"required\": [\n       * \"taskId\"\n       * ],\n       * \"properties\": {\n       * \"taskId\": {\n       * \"$id\": \"#/properties/taskId\",\n       * \"type\": \"string\",\n       * \"format\": \"uuid\",\n       * \"title\": \"Contact Id\",\n       * \"description\": \"The Id of the task created\",\n       * \"default\": \"\",\n       * }\n       * }\n       * }\n       * @readonly\n       */\n      outputSchema?: Record<string, any> | null;\n      /**\n       * actions display name - human readable field. ex. - \"Send SMS\"\n       * @readonly\n       */\n      displayName?: string | null;\n      /** @readonly */\n      description?: string | null;\n      metadata?: Metadata;\n      /** specifies which optional methods were implemented */\n      implementedMethods?: ImplementedMethods;\n      executionType?: ExecutionType;\n      /** chosen interface for action */\n      interfaceConfiguration?: InterfaceConfiguration;\n      /** icon representing the action in UI */\n      icon?: string;\n  }\n  enum Type {\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      WIDGET_COMPONENT = \"WIDGET_COMPONENT\",\n      GENERIC = \"GENERIC\"\n  }\n  interface WidgetComponentOptions {\n      /** name of provided component */\n      componentName?: string;\n  }\n  interface GenericOptions {\n      /** ui schema */\n      uiSchema?: Record<string, any> | null;\n  }\n  interface Metadata {\n      /** Show action only to advanced mode users (Wix staff) */\n      hidden?: boolean;\n  }\n  interface ImplementedMethods {\n      /** implements ValidateConfiguration */\n      validateConfiguration?: boolean;\n      /** implements DuplicateInputMapping */\n      duplicateInputMapping?: boolean;\n      /** implements GenerateApplicationAutomationInputMapping */\n      generateApplicationAutomationInputMapping?: boolean;\n      /** implements GetQuotaInfo */\n      getQuotaInfo?: boolean;\n      /** implements OnBeforeSave */\n      onBeforeSave?: boolean;\n      /** implements OnReset */\n      onReset?: boolean;\n      /** implements generateActionInputMappingFromTemplate */\n      generateActionInputMappingFromTemplate?: boolean;\n      /** implements OnRemove */\n      onRemove?: boolean;\n      /** Implements GetDynamicInputSchema */\n      getDynamicInputSchema?: boolean;\n  }\n  enum ExecutionType {\n      UNKNOWN_EXECUTION_TYPE = \"UNKNOWN_EXECUTION_TYPE\",\n      SYNC = \"SYNC\",\n      ASYNC = \"ASYNC\"\n  }\n  interface InterfaceConfiguration extends InterfaceConfigurationOptionsOneOf {\n      widgetComponentOptions?: WidgetComponentOptions;\n      genericOptions?: GenericOptions;\n      /** type of chosen interface */\n      type?: Type;\n  }\n  /** @oneof */\n  interface InterfaceConfigurationOptionsOneOf {\n      widgetComponentOptions?: WidgetComponentOptions;\n      genericOptions?: GenericOptions;\n  }\n  interface FocalPoint {\n      /** X-coordinate of the focal point. */\n      x?: number;\n      /** Y-coordinate of the focal point. */\n      y?: number;\n      /** crop by height */\n      height?: number | null;\n      /** crop by width */\n      width?: number | null;\n  }\n  interface GetRuntimeActionRequest {\n      /** The action App Id */\n      appId: string;\n      /** Action key */\n      actionKey: string;\n  }\n  interface GetRuntimeActionResponse {\n      /** Action Configuration */\n      action?: Action;\n  }\n  interface GetActionDynamicInputSchemaRequest {\n      /** The App ID of the action's owner. */\n      appId: string;\n      /**\n       * Action key as defined in an app's action configuration in the Wix Developers Center.\n       * For example, `send-email` or `generate-invoice`.\n       */\n      actionKey: string;\n      /**\n       * Object representing the mapping a site contributor made between keys in the [input schema](https://dev.wix.com/docs/rest/api-reference/wix-automations/action-spi/about-the-action-spi-input-schema) and their expected\n       * values when running the automation. A field can be a static value mapping, or an expression that will be evaluated\n       * dynamically on each activation.\n       */\n      inputMapping: Record<string, any> | null;\n  }\n  interface GetActionDynamicInputSchemaResponse {\n      /** A [JSON schema](https://json-schema.org/) containing the action's added dynamic fields and its static fields. */\n      inputSchema?: Record<string, any> | null;\n      /** A [UI schema](https://bo.wix.com/pages/automations-ui-lib/?path=/story/getting-started--about) is a JSON Schema that describes the UI of the static and dynamic fields. */\n      uiSchema?: Record<string, any> | null;\n  }\n  interface ResolveActionsRequest {\n      /** WQL expression - support filter, sort, paging, fields and field sets */\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ResolveActionsResponse {\n      /** paginated action configurations */\n      actions?: Action[];\n      /** paging data of the response */\n      paging?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CopyInputMappingRequest {\n      /** Action app id */\n      appId: string;\n      /** Action key */\n      actionKey: string;\n      /** Action input mapping */\n      inputMapping: Record<string, any> | null;\n  }\n  interface CopyInputMappingResponse {\n      /** New action input mapping */\n      inputMapping?: Record<string, any> | null;\n  }\n  /**\n   * Returns action configuration by action key\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.actionKey\n   * @requiredField identifiers.appId\n   * @permissionId AUTOMATIONS.ACTION_READ\n   * @adminMethod\n   * @returns Action Configuration\n   */\n  function getRuntimeAction(identifiers: GetRuntimeActionIdentifiers): Promise<Action>;\n  interface GetRuntimeActionIdentifiers {\n      /** The action App Id */\n      appId: string;\n      /** Action key */\n      actionKey: string;\n  }\n  /**\n   * Returns action dynamic schema and ui schema for the given action key and input mapping (action config)\n   * @param appId - The App ID of the action's owner.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.actionKey\n   * @requiredField options.inputMapping\n   * @permissionId AUTOMATIONS.ACTION_READ\n   * @adminMethod\n   */\n  function getActionDynamicInputSchema(appId: string, options: GetActionDynamicInputSchemaOptions): Promise<GetActionDynamicInputSchemaResponse>;\n  interface GetActionDynamicInputSchemaOptions {\n      /**\n       * Action key as defined in an app's action configuration in the Wix Developers Center.\n       * For example, `send-email` or `generate-invoice`.\n       */\n      actionKey: string;\n      /**\n       * Object representing the mapping a site contributor made between keys in the [input schema](https://dev.wix.com/docs/rest/api-reference/wix-automations/action-spi/about-the-action-spi-input-schema) and their expected\n       * values when running the automation. A field can be a static value mapping, or an expression that will be evaluated\n       * dynamically on each activation.\n       */\n      inputMapping: Record<string, any> | null;\n  }\n  /**\n   * Returns action configurations that are installed on the site and are exposed to the user\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.ACTION_READ\n   * @adminMethod\n   */\n  function resolveActions(options?: ResolveActionsOptions): Promise<ResolveActionsResponse>;\n  interface ResolveActionsOptions {\n      /** WQL expression - support filter, sort, paging, fields and field sets */\n      query?: QueryV2;\n  }\n  /**\n   * Get action input mapping copy\n   * The main use case is to call this method from the automations editor, when the user wants to copy an action. So\n   * this method is getting an input mapping of an existing action and returns a changed input mapping. It's changing\n   * the input mapping by passing it through the SPI endpoint of `DuplicateInputMapping` in the case that this SPI\n   * endpoint is implemented.\n   * A possible usage is by `triggered-email` action - Wix Emails need to change the `messageId` inside the input mapping\n   * so such that the `messageId` stays unique across multiple actions.\n   * @param appId - Action app id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @requiredField options\n   * @requiredField options.actionKey\n   * @requiredField options.inputMapping\n   * @permissionId AUTOMATIONS.ACTION_COPY\n   * @adminMethod\n   */\n  function copyInputMapping(appId: string, options: CopyInputMappingOptions): Promise<CopyInputMappingResponse>;\n  interface CopyInputMappingOptions {\n      /** Action key */\n      actionKey: string;\n      /** Action input mapping */\n      inputMapping: Record<string, any> | null;\n  }\n  \n  type automationsActioncatalogV1Action_universal_d_Action = Action;\n  type automationsActioncatalogV1Action_universal_d_Type = Type;\n  const automationsActioncatalogV1Action_universal_d_Type: typeof Type;\n  type automationsActioncatalogV1Action_universal_d_WidgetComponentOptions = WidgetComponentOptions;\n  type automationsActioncatalogV1Action_universal_d_GenericOptions = GenericOptions;\n  type automationsActioncatalogV1Action_universal_d_Metadata = Metadata;\n  type automationsActioncatalogV1Action_universal_d_ImplementedMethods = ImplementedMethods;\n  type automationsActioncatalogV1Action_universal_d_ExecutionType = ExecutionType;\n  const automationsActioncatalogV1Action_universal_d_ExecutionType: typeof ExecutionType;\n  type automationsActioncatalogV1Action_universal_d_InterfaceConfiguration = InterfaceConfiguration;\n  type automationsActioncatalogV1Action_universal_d_InterfaceConfigurationOptionsOneOf = InterfaceConfigurationOptionsOneOf;\n  type automationsActioncatalogV1Action_universal_d_FocalPoint = FocalPoint;\n  type automationsActioncatalogV1Action_universal_d_GetRuntimeActionRequest = GetRuntimeActionRequest;\n  type automationsActioncatalogV1Action_universal_d_GetRuntimeActionResponse = GetRuntimeActionResponse;\n  type automationsActioncatalogV1Action_universal_d_GetActionDynamicInputSchemaRequest = GetActionDynamicInputSchemaRequest;\n  type automationsActioncatalogV1Action_universal_d_GetActionDynamicInputSchemaResponse = GetActionDynamicInputSchemaResponse;\n  type automationsActioncatalogV1Action_universal_d_ResolveActionsRequest = ResolveActionsRequest;\n  type automationsActioncatalogV1Action_universal_d_QueryV2 = QueryV2;\n  type automationsActioncatalogV1Action_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type automationsActioncatalogV1Action_universal_d_Sorting = Sorting;\n  type automationsActioncatalogV1Action_universal_d_SortOrder = SortOrder;\n  const automationsActioncatalogV1Action_universal_d_SortOrder: typeof SortOrder;\n  type automationsActioncatalogV1Action_universal_d_Paging = Paging;\n  type automationsActioncatalogV1Action_universal_d_CursorPaging = CursorPaging;\n  type automationsActioncatalogV1Action_universal_d_ResolveActionsResponse = ResolveActionsResponse;\n  type automationsActioncatalogV1Action_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type automationsActioncatalogV1Action_universal_d_Cursors = Cursors;\n  type automationsActioncatalogV1Action_universal_d_CopyInputMappingRequest = CopyInputMappingRequest;\n  type automationsActioncatalogV1Action_universal_d_CopyInputMappingResponse = CopyInputMappingResponse;\n  const automationsActioncatalogV1Action_universal_d_getRuntimeAction: typeof getRuntimeAction;\n  type automationsActioncatalogV1Action_universal_d_GetRuntimeActionIdentifiers = GetRuntimeActionIdentifiers;\n  const automationsActioncatalogV1Action_universal_d_getActionDynamicInputSchema: typeof getActionDynamicInputSchema;\n  type automationsActioncatalogV1Action_universal_d_GetActionDynamicInputSchemaOptions = GetActionDynamicInputSchemaOptions;\n  const automationsActioncatalogV1Action_universal_d_resolveActions: typeof resolveActions;\n  type automationsActioncatalogV1Action_universal_d_ResolveActionsOptions = ResolveActionsOptions;\n  const automationsActioncatalogV1Action_universal_d_copyInputMapping: typeof copyInputMapping;\n  type automationsActioncatalogV1Action_universal_d_CopyInputMappingOptions = CopyInputMappingOptions;\n  namespace automationsActioncatalogV1Action_universal_d {\n    export {\n      automationsActioncatalogV1Action_universal_d_Action as Action,\n      automationsActioncatalogV1Action_universal_d_Type as Type,\n      automationsActioncatalogV1Action_universal_d_WidgetComponentOptions as WidgetComponentOptions,\n      automationsActioncatalogV1Action_universal_d_GenericOptions as GenericOptions,\n      automationsActioncatalogV1Action_universal_d_Metadata as Metadata,\n      automationsActioncatalogV1Action_universal_d_ImplementedMethods as ImplementedMethods,\n      automationsActioncatalogV1Action_universal_d_ExecutionType as ExecutionType,\n      automationsActioncatalogV1Action_universal_d_InterfaceConfiguration as InterfaceConfiguration,\n      automationsActioncatalogV1Action_universal_d_InterfaceConfigurationOptionsOneOf as InterfaceConfigurationOptionsOneOf,\n      automationsActioncatalogV1Action_universal_d_FocalPoint as FocalPoint,\n      automationsActioncatalogV1Action_universal_d_GetRuntimeActionRequest as GetRuntimeActionRequest,\n      automationsActioncatalogV1Action_universal_d_GetRuntimeActionResponse as GetRuntimeActionResponse,\n      automationsActioncatalogV1Action_universal_d_GetActionDynamicInputSchemaRequest as GetActionDynamicInputSchemaRequest,\n      automationsActioncatalogV1Action_universal_d_GetActionDynamicInputSchemaResponse as GetActionDynamicInputSchemaResponse,\n      automationsActioncatalogV1Action_universal_d_ResolveActionsRequest as ResolveActionsRequest,\n      automationsActioncatalogV1Action_universal_d_QueryV2 as QueryV2,\n      automationsActioncatalogV1Action_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      automationsActioncatalogV1Action_universal_d_Sorting as Sorting,\n      automationsActioncatalogV1Action_universal_d_SortOrder as SortOrder,\n      automationsActioncatalogV1Action_universal_d_Paging as Paging,\n      automationsActioncatalogV1Action_universal_d_CursorPaging as CursorPaging,\n      automationsActioncatalogV1Action_universal_d_ResolveActionsResponse as ResolveActionsResponse,\n      automationsActioncatalogV1Action_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      automationsActioncatalogV1Action_universal_d_Cursors as Cursors,\n      automationsActioncatalogV1Action_universal_d_CopyInputMappingRequest as CopyInputMappingRequest,\n      automationsActioncatalogV1Action_universal_d_CopyInputMappingResponse as CopyInputMappingResponse,\n      automationsActioncatalogV1Action_universal_d_getRuntimeAction as getRuntimeAction,\n      automationsActioncatalogV1Action_universal_d_GetRuntimeActionIdentifiers as GetRuntimeActionIdentifiers,\n      automationsActioncatalogV1Action_universal_d_getActionDynamicInputSchema as getActionDynamicInputSchema,\n      automationsActioncatalogV1Action_universal_d_GetActionDynamicInputSchemaOptions as GetActionDynamicInputSchemaOptions,\n      automationsActioncatalogV1Action_universal_d_resolveActions as resolveActions,\n      automationsActioncatalogV1Action_universal_d_ResolveActionsOptions as ResolveActionsOptions,\n      automationsActioncatalogV1Action_universal_d_copyInputMapping as copyInputMapping,\n      automationsActioncatalogV1Action_universal_d_CopyInputMappingOptions as CopyInputMappingOptions,\n    };\n  }\n  \n  export { automationsActioncatalogV1Action_universal_d as automationsActionCatalog };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-assistant-playground.v1.d.ts",
      "content": "declare module \"wix-assistant-playground.v1\" {\n  interface Conversation {\n      /** Conversation ID. */\n      _id?: string;\n      /**\n       * Conversation revision number.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the Conversation was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the Conversation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Messages in conversation */\n      messages?: Message[];\n      /**\n       * Last message sent date\n       * @readonly\n       */\n      lastMessageSent?: Date | null;\n      /** Data Extensions */\n      extendedFields?: ExtendedFields;\n      /** Tags */\n      tags?: Tags;\n  }\n  interface Message {\n      /** Message ID. */\n      _id?: string;\n      /**\n       * Date and time the Message was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Message sender */\n      sender?: Sender;\n      /** Message text */\n      text?: string;\n      /** Text that follows after payloads */\n      suffixText?: string | null;\n      /** Message feedback */\n      feedback?: Feedback;\n      /** Message payloads as struct */\n      structPayloads?: Record<string, any>[] | null;\n      /** Assistant trigger id */\n      triggerId?: string | null;\n  }\n  enum Sender {\n      UNKNOWN_SENDER = \"UNKNOWN_SENDER\",\n      USER = \"USER\",\n      ASSISTANT = \"ASSISTANT\"\n  }\n  interface Feedback {\n      /** Feedback text. */\n      text?: string | null;\n      /** Feedback kind. */\n      kind?: FeedbackKind;\n      /**\n       * Embedded document\n       * @readonly\n       */\n      document?: Document;\n      /**\n       * error while embedding document\n       * @readonly\n       */\n      error?: string | null;\n  }\n  enum FeedbackKind {\n      UNKNOWN = \"UNKNOWN\",\n      THUMBS_UP = \"THUMBS_UP\",\n      IRRELEVANT = \"IRRELEVANT\",\n      INCORRECT = \"INCORRECT\",\n      SHOULD_NOT_ANSWER = \"SHOULD_NOT_ANSWER\",\n      OK_BUT = \"OK_BUT\",\n      OTHER = \"OTHER\"\n  }\n  interface Document {\n      /** ID of the external document. */\n      _id?: string;\n      /** Title of the external document. */\n      title?: string;\n      /** Description of the external document. */\n      description?: string;\n      /** Tags of the external document. */\n      tags?: string[];\n      /** URL of the external document. */\n      url?: string;\n      /** Category of the external document. */\n      category?: Category;\n      /** Action to be taken when the external document is presented to the user. */\n      action?: Action;\n      /** Is the external document generated from a feedback. */\n      isFeedback?: boolean | null;\n      /** Is the external document published. */\n      isPublished?: boolean | null;\n      /** Timestamp of the last update of the external document. */\n      updateTs?: Date | null;\n      /** Relevance of the external document. */\n      relevance?: number | null;\n      /** Usage of the external document. */\n      usage?: number | null;\n  }\n  /** Category of the external document. */\n  enum Category {\n      /** [(wix.api.enum_maturity) = NOT_IMPLEMENTED]; */\n      NO_CATEGORY = \"NO_CATEGORY\",\n      ENRICHMENT = \"ENRICHMENT\",\n      /** FEEDBACK = 2; */\n      RESTRICTION = \"RESTRICTION\"\n  }\n  /** Action to be taken when the external document is presented to the user. */\n  enum Action {\n      /** [(wix.api.enum_maturity) = NOT_IMPLEMENTED]; */\n      NO_ACTION = \"NO_ACTION\",\n      NO_ANSWER = \"NO_ANSWER\",\n      CONTACT = \"CONTACT\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  /**\n   * Common object for tags.\n   * Should be use as in this example:\n   * message Foo {\n   * string id = 1;\n   * ...\n   * Tags tags = 5\n   * }\n   *\n   * example of taggable entity\n   * {\n   * id: \"123\"\n   * tags: {\n   * tags: {\n   * tag_ids:[\"11\",\"22\"]\n   * },\n   * private_tags: {\n   * tag_ids: [\"33\", \"44\"]\n   * }\n   * }\n   * }\n   */\n  interface Tags {\n      /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n      privateTags?: TagList;\n      /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n      tags?: TagList;\n  }\n  interface TagList {\n      /** List of tag IDs */\n      tagIds?: string[];\n  }\n  interface CreateConversationRequest {\n      /** Conversation to create. */\n      conversation: Conversation;\n  }\n  interface CreateConversationResponse {\n      /** The created Conversation. */\n      conversation?: Conversation;\n  }\n  interface GetConversationRequest {\n      /** ID of the Conversation to retrieve. */\n      conversationId: string;\n  }\n  interface GetConversationResponse {\n      /** The requested Conversation. */\n      conversation?: Conversation;\n  }\n  interface UpdateConversationRequest {\n      /** Conversation to be updated, may be partial. */\n      conversation: Conversation;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       *\n       * See [Field Masks in Update Requests][1] for details on working with field masks.\n       *\n       * > **Deprecation Notice:**\n       * > This parameter will be removed on March 31, 2022.\n       * > If your app uses this parameter, update your code as soon as possible.\n       *\n       * [1]: https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateConversationResponse {\n      /** Updated Conversation. */\n      conversation?: Conversation;\n  }\n  interface AskQuestionInConversationRequest {\n      /** Conversation id to ask question in. */\n      conversationId: string;\n      /** Message to add to the Conversation. */\n      message: Message;\n      /** Conversation revision. */\n      revision?: string | null;\n  }\n  interface AskQuestionInConversationResponse {\n      /** Updated Conversation. */\n      conversation?: Conversation;\n  }\n  interface AddFeedbackToMessageInConversationRequest {\n      /** Conversation id to add feedback to. */\n      conversationId: string;\n      /** Message id to add feedback to. */\n      messageId: string;\n      /** Feedback to add to the message. */\n      feedback: Feedback;\n      /** Conversation revision. */\n      revision: string;\n  }\n  interface AddFeedbackToMessageInConversationResponse {\n      /** Updated Conversation. */\n      conversation?: Conversation;\n  }\n  interface DeleteConversationRequest {\n      /** Id of the Conversation to delete. */\n      conversationId: string;\n  }\n  interface DeleteConversationResponse {\n  }\n  interface QueryConversationsRequest {\n      /** WQL expression. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryConversationsResponse {\n      /** List of NileAutoEntities. */\n      conversations?: Conversation[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface BulkUpdateConversationTagsRequest {\n      /** List of NileProtoTagsEntities that their tags will update. */\n      ids: string[] | null;\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  interface BulkUpdateConversationTagsResponse {\n      /** Results */\n      results?: BulkUpdateConversationTagsResult[];\n      /** Metadata regarding the bulk update operation */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkUpdateConversationTagsResult {\n      /** Metadata regarding the specific single update operation */\n      itemMetadata?: ItemMetadata;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateConversationTagsByFilterRequest {\n      /** Filter */\n      filter: Record<string, any> | null;\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  interface BulkUpdateConversationTagsByFilterResponse {\n      /** Job ID */\n      jobId?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a Conversation.\n   * @param conversation - Conversation to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField conversation\n   * @requiredField conversation._id\n   * @requiredField conversation.messages._id\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   * @returns The created Conversation.\n   */\n  function createConversation(conversation: Conversation): Promise<Conversation>;\n  /**\n   * Retrieves a Conversation.\n   * @param conversationId - ID of the Conversation to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   * @returns The requested Conversation.\n   */\n  function getConversation(conversationId: string): Promise<Conversation>;\n  /**\n   * Updates a Conversation.\n   *\n   *\n   * Each time the Conversation is updated,\n   * `revision` increments by 1.\n   * The current `revision` must be passed when updating the Conversation.\n   * This ensures you're working with the latest Conversation\n   * and prevents unintended overwrites.\n   * @param _id - Conversation ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField conversation\n   * @requiredField conversation.messages._id\n   * @requiredField conversation.revision\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   * @returns Updated Conversation.\n   */\n  function updateConversation(_id: string, conversation: UpdateConversation, options?: UpdateConversationOptions): Promise<Conversation>;\n  interface UpdateConversation {\n      /** Conversation ID. */\n      _id?: string;\n      /**\n       * Conversation revision number.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the Conversation was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the Conversation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Messages in conversation */\n      messages?: Message[];\n      /**\n       * Last message sent date\n       * @readonly\n       */\n      lastMessageSent?: Date | null;\n      /** Data Extensions */\n      extendedFields?: ExtendedFields;\n      /** Tags */\n      tags?: Tags;\n  }\n  interface UpdateConversationOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       *\n       * See [Field Masks in Update Requests][1] for details on working with field masks.\n       *\n       * > **Deprecation Notice:**\n       * > This parameter will be removed on March 31, 2022.\n       * > If your app uses this parameter, update your code as soon as possible.\n       *\n       * [1]: https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Ask question to ai assistant.\n   *\n   *\n   * Each time the Conversation is updated,\n   * `revision` increments by 1.\n   * The current `revision` must be passed when updating the Conversation.\n   * This ensures you're working with the latest Conversation\n   * and prevents unintended overwrites.\n   * @param conversationId - Conversation id to ask question in.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @requiredField options.message\n   * @requiredField options.message._id\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function askQuestionInConversation(conversationId: string, options?: AskQuestionInConversationOptions): Promise<AskQuestionInConversationResponse>;\n  interface AskQuestionInConversationOptions {\n      /** Message to add to the Conversation. */\n      message: Message;\n      /** Conversation revision. */\n      revision?: string | null;\n  }\n  /**\n   * Adds feedback to a message.\n   *\n   *\n   * Each time the Conversation is updated,\n   * `revision` increments by 1.\n   * The current `revision` must be passed when updating the Conversation.\n   * This ensures you're working with the latest Conversation\n   * and prevents unintended overwrites.\n   * @param conversationId - Conversation id to add feedback to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @requiredField options\n   * @requiredField options.feedback\n   * @requiredField options.messageId\n   * @requiredField options.revision\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function addFeedbackToMessageInConversation(conversationId: string, options: AddFeedbackToMessageInConversationOptions): Promise<AddFeedbackToMessageInConversationResponse>;\n  interface AddFeedbackToMessageInConversationOptions {\n      /** Message id to add feedback to. */\n      messageId: string;\n      /** Feedback to add to the message. */\n      feedback: Feedback;\n      /** Conversation revision. */\n      revision: string;\n  }\n  /**\n   * Deletes a Conversation.\n   *\n   *\n   * Deleting a Conversation permanently removes them from the Conversation List.\n   * @param conversationId - Id of the Conversation to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField conversationId\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function deleteConversation(conversationId: string): Promise<void>;\n  /**\n   * Retrieves a list of Conversations, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 1,000 Conversations can be returned per request.\n   *\n   * To learn how to query Conversations, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function queryConversations(): ConversationsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ConversationsQueryResult extends QueryCursorResult {\n      items: Conversation[];\n      query: ConversationsQueryBuilder;\n      next: () => Promise<ConversationsQueryResult>;\n      prev: () => Promise<ConversationsQueryResult>;\n  }\n  interface ConversationsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate', value: any) => ConversationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate', value: any) => ConversationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate', value: any) => ConversationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate', value: any) => ConversationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate', value: any) => ConversationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate', value: any) => ConversationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id', value: string) => ConversationsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate', value: any[]) => ConversationsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate', value: any) => ConversationsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate', value: boolean) => ConversationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate'>) => ConversationsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate'>) => ConversationsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ConversationsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ConversationsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ConversationsQueryResult>;\n  }\n  /**\n   * Synchronously update tags on multiple products, by list of product ids\n   * A tag that appears both in the list of assign and unassign tags, will be assigned\n   * @param ids - List of NileProtoTagsEntities that their tags will update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @requiredField options.assignTags\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function bulkUpdateConversationTags(ids: string[] | null, options?: BulkUpdateConversationTagsOptions): Promise<BulkUpdateConversationTagsResponse>;\n  interface BulkUpdateConversationTagsOptions {\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  /**\n   * Asynchronously update tags on multiple products, by provided filter\n   * An empty filter will update all products\n   * A tag that appears both in the list of assign and unassign tags, will be assigned\n   * @param filter - Filter\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options.assignTags\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function bulkUpdateConversationTagsByFilter(filter: Record<string, any> | null, options?: BulkUpdateConversationTagsByFilterOptions): Promise<BulkUpdateConversationTagsByFilterResponse>;\n  interface BulkUpdateConversationTagsByFilterOptions {\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  \n  type innovationPlaygroundV1Conversation_universal_d_Conversation = Conversation;\n  type innovationPlaygroundV1Conversation_universal_d_Message = Message;\n  type innovationPlaygroundV1Conversation_universal_d_Sender = Sender;\n  const innovationPlaygroundV1Conversation_universal_d_Sender: typeof Sender;\n  type innovationPlaygroundV1Conversation_universal_d_Feedback = Feedback;\n  type innovationPlaygroundV1Conversation_universal_d_FeedbackKind = FeedbackKind;\n  const innovationPlaygroundV1Conversation_universal_d_FeedbackKind: typeof FeedbackKind;\n  type innovationPlaygroundV1Conversation_universal_d_Document = Document;\n  type innovationPlaygroundV1Conversation_universal_d_Category = Category;\n  const innovationPlaygroundV1Conversation_universal_d_Category: typeof Category;\n  type innovationPlaygroundV1Conversation_universal_d_Action = Action;\n  const innovationPlaygroundV1Conversation_universal_d_Action: typeof Action;\n  type innovationPlaygroundV1Conversation_universal_d_ExtendedFields = ExtendedFields;\n  type innovationPlaygroundV1Conversation_universal_d_Tags = Tags;\n  type innovationPlaygroundV1Conversation_universal_d_TagList = TagList;\n  type innovationPlaygroundV1Conversation_universal_d_CreateConversationRequest = CreateConversationRequest;\n  type innovationPlaygroundV1Conversation_universal_d_CreateConversationResponse = CreateConversationResponse;\n  type innovationPlaygroundV1Conversation_universal_d_GetConversationRequest = GetConversationRequest;\n  type innovationPlaygroundV1Conversation_universal_d_GetConversationResponse = GetConversationResponse;\n  type innovationPlaygroundV1Conversation_universal_d_UpdateConversationRequest = UpdateConversationRequest;\n  type innovationPlaygroundV1Conversation_universal_d_UpdateConversationResponse = UpdateConversationResponse;\n  type innovationPlaygroundV1Conversation_universal_d_AskQuestionInConversationRequest = AskQuestionInConversationRequest;\n  type innovationPlaygroundV1Conversation_universal_d_AskQuestionInConversationResponse = AskQuestionInConversationResponse;\n  type innovationPlaygroundV1Conversation_universal_d_AddFeedbackToMessageInConversationRequest = AddFeedbackToMessageInConversationRequest;\n  type innovationPlaygroundV1Conversation_universal_d_AddFeedbackToMessageInConversationResponse = AddFeedbackToMessageInConversationResponse;\n  type innovationPlaygroundV1Conversation_universal_d_DeleteConversationRequest = DeleteConversationRequest;\n  type innovationPlaygroundV1Conversation_universal_d_DeleteConversationResponse = DeleteConversationResponse;\n  type innovationPlaygroundV1Conversation_universal_d_QueryConversationsRequest = QueryConversationsRequest;\n  type innovationPlaygroundV1Conversation_universal_d_CursorQuery = CursorQuery;\n  type innovationPlaygroundV1Conversation_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type innovationPlaygroundV1Conversation_universal_d_Sorting = Sorting;\n  type innovationPlaygroundV1Conversation_universal_d_SortOrder = SortOrder;\n  const innovationPlaygroundV1Conversation_universal_d_SortOrder: typeof SortOrder;\n  type innovationPlaygroundV1Conversation_universal_d_CursorPaging = CursorPaging;\n  type innovationPlaygroundV1Conversation_universal_d_QueryConversationsResponse = QueryConversationsResponse;\n  type innovationPlaygroundV1Conversation_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type innovationPlaygroundV1Conversation_universal_d_Cursors = Cursors;\n  type innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsRequest = BulkUpdateConversationTagsRequest;\n  type innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsResponse = BulkUpdateConversationTagsResponse;\n  type innovationPlaygroundV1Conversation_universal_d_ItemMetadata = ItemMetadata;\n  type innovationPlaygroundV1Conversation_universal_d_ApplicationError = ApplicationError;\n  type innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsResult = BulkUpdateConversationTagsResult;\n  type innovationPlaygroundV1Conversation_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsByFilterRequest = BulkUpdateConversationTagsByFilterRequest;\n  type innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsByFilterResponse = BulkUpdateConversationTagsByFilterResponse;\n  type innovationPlaygroundV1Conversation_universal_d_DomainEvent = DomainEvent;\n  type innovationPlaygroundV1Conversation_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type innovationPlaygroundV1Conversation_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type innovationPlaygroundV1Conversation_universal_d_RestoreInfo = RestoreInfo;\n  type innovationPlaygroundV1Conversation_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type innovationPlaygroundV1Conversation_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type innovationPlaygroundV1Conversation_universal_d_ActionEvent = ActionEvent;\n  type innovationPlaygroundV1Conversation_universal_d_MessageEnvelope = MessageEnvelope;\n  type innovationPlaygroundV1Conversation_universal_d_IdentificationData = IdentificationData;\n  type innovationPlaygroundV1Conversation_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type innovationPlaygroundV1Conversation_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const innovationPlaygroundV1Conversation_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const innovationPlaygroundV1Conversation_universal_d_createConversation: typeof createConversation;\n  const innovationPlaygroundV1Conversation_universal_d_getConversation: typeof getConversation;\n  const innovationPlaygroundV1Conversation_universal_d_updateConversation: typeof updateConversation;\n  type innovationPlaygroundV1Conversation_universal_d_UpdateConversation = UpdateConversation;\n  type innovationPlaygroundV1Conversation_universal_d_UpdateConversationOptions = UpdateConversationOptions;\n  const innovationPlaygroundV1Conversation_universal_d_askQuestionInConversation: typeof askQuestionInConversation;\n  type innovationPlaygroundV1Conversation_universal_d_AskQuestionInConversationOptions = AskQuestionInConversationOptions;\n  const innovationPlaygroundV1Conversation_universal_d_addFeedbackToMessageInConversation: typeof addFeedbackToMessageInConversation;\n  type innovationPlaygroundV1Conversation_universal_d_AddFeedbackToMessageInConversationOptions = AddFeedbackToMessageInConversationOptions;\n  const innovationPlaygroundV1Conversation_universal_d_deleteConversation: typeof deleteConversation;\n  const innovationPlaygroundV1Conversation_universal_d_queryConversations: typeof queryConversations;\n  type innovationPlaygroundV1Conversation_universal_d_ConversationsQueryResult = ConversationsQueryResult;\n  type innovationPlaygroundV1Conversation_universal_d_ConversationsQueryBuilder = ConversationsQueryBuilder;\n  const innovationPlaygroundV1Conversation_universal_d_bulkUpdateConversationTags: typeof bulkUpdateConversationTags;\n  type innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsOptions = BulkUpdateConversationTagsOptions;\n  const innovationPlaygroundV1Conversation_universal_d_bulkUpdateConversationTagsByFilter: typeof bulkUpdateConversationTagsByFilter;\n  type innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsByFilterOptions = BulkUpdateConversationTagsByFilterOptions;\n  namespace innovationPlaygroundV1Conversation_universal_d {\n    export {\n      innovationPlaygroundV1Conversation_universal_d_Conversation as Conversation,\n      innovationPlaygroundV1Conversation_universal_d_Message as Message,\n      innovationPlaygroundV1Conversation_universal_d_Sender as Sender,\n      innovationPlaygroundV1Conversation_universal_d_Feedback as Feedback,\n      innovationPlaygroundV1Conversation_universal_d_FeedbackKind as FeedbackKind,\n      innovationPlaygroundV1Conversation_universal_d_Document as Document,\n      innovationPlaygroundV1Conversation_universal_d_Category as Category,\n      innovationPlaygroundV1Conversation_universal_d_Action as Action,\n      innovationPlaygroundV1Conversation_universal_d_ExtendedFields as ExtendedFields,\n      innovationPlaygroundV1Conversation_universal_d_Tags as Tags,\n      innovationPlaygroundV1Conversation_universal_d_TagList as TagList,\n      innovationPlaygroundV1Conversation_universal_d_CreateConversationRequest as CreateConversationRequest,\n      innovationPlaygroundV1Conversation_universal_d_CreateConversationResponse as CreateConversationResponse,\n      innovationPlaygroundV1Conversation_universal_d_GetConversationRequest as GetConversationRequest,\n      innovationPlaygroundV1Conversation_universal_d_GetConversationResponse as GetConversationResponse,\n      innovationPlaygroundV1Conversation_universal_d_UpdateConversationRequest as UpdateConversationRequest,\n      innovationPlaygroundV1Conversation_universal_d_UpdateConversationResponse as UpdateConversationResponse,\n      innovationPlaygroundV1Conversation_universal_d_AskQuestionInConversationRequest as AskQuestionInConversationRequest,\n      innovationPlaygroundV1Conversation_universal_d_AskQuestionInConversationResponse as AskQuestionInConversationResponse,\n      innovationPlaygroundV1Conversation_universal_d_AddFeedbackToMessageInConversationRequest as AddFeedbackToMessageInConversationRequest,\n      innovationPlaygroundV1Conversation_universal_d_AddFeedbackToMessageInConversationResponse as AddFeedbackToMessageInConversationResponse,\n      innovationPlaygroundV1Conversation_universal_d_DeleteConversationRequest as DeleteConversationRequest,\n      innovationPlaygroundV1Conversation_universal_d_DeleteConversationResponse as DeleteConversationResponse,\n      innovationPlaygroundV1Conversation_universal_d_QueryConversationsRequest as QueryConversationsRequest,\n      innovationPlaygroundV1Conversation_universal_d_CursorQuery as CursorQuery,\n      innovationPlaygroundV1Conversation_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      innovationPlaygroundV1Conversation_universal_d_Sorting as Sorting,\n      innovationPlaygroundV1Conversation_universal_d_SortOrder as SortOrder,\n      innovationPlaygroundV1Conversation_universal_d_CursorPaging as CursorPaging,\n      innovationPlaygroundV1Conversation_universal_d_QueryConversationsResponse as QueryConversationsResponse,\n      innovationPlaygroundV1Conversation_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      innovationPlaygroundV1Conversation_universal_d_Cursors as Cursors,\n      innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsRequest as BulkUpdateConversationTagsRequest,\n      innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsResponse as BulkUpdateConversationTagsResponse,\n      innovationPlaygroundV1Conversation_universal_d_ItemMetadata as ItemMetadata,\n      innovationPlaygroundV1Conversation_universal_d_ApplicationError as ApplicationError,\n      innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsResult as BulkUpdateConversationTagsResult,\n      innovationPlaygroundV1Conversation_universal_d_BulkActionMetadata as BulkActionMetadata,\n      innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsByFilterRequest as BulkUpdateConversationTagsByFilterRequest,\n      innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsByFilterResponse as BulkUpdateConversationTagsByFilterResponse,\n      innovationPlaygroundV1Conversation_universal_d_DomainEvent as DomainEvent,\n      innovationPlaygroundV1Conversation_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      innovationPlaygroundV1Conversation_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      innovationPlaygroundV1Conversation_universal_d_RestoreInfo as RestoreInfo,\n      innovationPlaygroundV1Conversation_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      innovationPlaygroundV1Conversation_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      innovationPlaygroundV1Conversation_universal_d_ActionEvent as ActionEvent,\n      innovationPlaygroundV1Conversation_universal_d_MessageEnvelope as MessageEnvelope,\n      innovationPlaygroundV1Conversation_universal_d_IdentificationData as IdentificationData,\n      innovationPlaygroundV1Conversation_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      innovationPlaygroundV1Conversation_universal_d_WebhookIdentityType as WebhookIdentityType,\n      innovationPlaygroundV1Conversation_universal_d_createConversation as createConversation,\n      innovationPlaygroundV1Conversation_universal_d_getConversation as getConversation,\n      innovationPlaygroundV1Conversation_universal_d_updateConversation as updateConversation,\n      innovationPlaygroundV1Conversation_universal_d_UpdateConversation as UpdateConversation,\n      innovationPlaygroundV1Conversation_universal_d_UpdateConversationOptions as UpdateConversationOptions,\n      innovationPlaygroundV1Conversation_universal_d_askQuestionInConversation as askQuestionInConversation,\n      innovationPlaygroundV1Conversation_universal_d_AskQuestionInConversationOptions as AskQuestionInConversationOptions,\n      innovationPlaygroundV1Conversation_universal_d_addFeedbackToMessageInConversation as addFeedbackToMessageInConversation,\n      innovationPlaygroundV1Conversation_universal_d_AddFeedbackToMessageInConversationOptions as AddFeedbackToMessageInConversationOptions,\n      innovationPlaygroundV1Conversation_universal_d_deleteConversation as deleteConversation,\n      innovationPlaygroundV1Conversation_universal_d_queryConversations as queryConversations,\n      innovationPlaygroundV1Conversation_universal_d_ConversationsQueryResult as ConversationsQueryResult,\n      innovationPlaygroundV1Conversation_universal_d_ConversationsQueryBuilder as ConversationsQueryBuilder,\n      innovationPlaygroundV1Conversation_universal_d_bulkUpdateConversationTags as bulkUpdateConversationTags,\n      innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsOptions as BulkUpdateConversationTagsOptions,\n      innovationPlaygroundV1Conversation_universal_d_bulkUpdateConversationTagsByFilter as bulkUpdateConversationTagsByFilter,\n      innovationPlaygroundV1Conversation_universal_d_BulkUpdateConversationTagsByFilterOptions as BulkUpdateConversationTagsByFilterOptions,\n    };\n  }\n  \n  export { innovationPlaygroundV1Conversation_universal_d as conversations };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-discounts-provider.d.ts",
      "content": "declare module \"interfaces-ecommerce-v1-discounts-provider\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface GetEligibleDiscountsRequest {\n      /** Line items */\n      lineItems?: LineItem[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /** Number of coupons is limited to 1 due to limitations in Checkout. */\n      couponCodes?: string[];\n  }\n  interface LineItem {\n      /** Line item ID. */\n      _id?: string;\n      /** Line item quantity. */\n      quantity?: number | null;\n      /** Catalog and item reference info. Learn more about [integrating Wix Stores products with Wix eCommerce](https://dev.wix.com/api/rest/wix-stores/catalog/ecommerce-integration). */\n      catalogReference?: CatalogReference;\n      /** Line item price. */\n      price?: string;\n  }\n  /** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\n  interface CatalogReference {\n      /** ID of the item within the catalog it belongs to. */\n      catalogItemId?: string;\n      /**\n       * ID of the app providing the catalog.\n       *\n       * You can get your app's ID from its page in the [Wix Dev Center](https://dev.wix.com/apps).\n       *\n       * For items from Wix catalogs, the following values always apply:\n       * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n       * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n       * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n       */\n      appId?: string;\n      /**\n       * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n       *\n       * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n       */\n      options?: Record<string, any> | null;\n  }\n  interface GetEligibleDiscountsResponse {\n      /** List of discounts to apply */\n      discounts?: Discount[];\n  }\n  /** Discount */\n  interface Discount extends DiscountDiscountTypeOneOf, DiscountDiscountScopesOneOf {\n      /** Global discounts */\n      globalDiscounts?: BaseDiscounts;\n      /** Shipping discounts */\n      shippingDiscounts?: BaseDiscounts;\n      /** line items discounts */\n      lineItemsDiscounts?: LineItemsDiscounts;\n      /** Coupon options */\n      couponOptions?: CouponOptions;\n      /** Target type */\n      targetType?: TargetType;\n      /** Name */\n      name?: DiscountName;\n      /** external id used by the implementor */\n      externalId?: string | null;\n      /** Source */\n      source?: DiscountSource;\n  }\n  /** @oneof */\n  interface DiscountDiscountTypeOneOf {\n      /** Global discounts */\n      globalDiscounts?: BaseDiscounts;\n      /** Shipping discounts */\n      shippingDiscounts?: BaseDiscounts;\n      /** line items discounts */\n      lineItemsDiscounts?: LineItemsDiscounts;\n  }\n  /** @oneof */\n  interface DiscountDiscountScopesOneOf {\n      /** Coupon options */\n      couponOptions?: CouponOptions;\n  }\n  enum TargetType {\n      UNKNOWN_TARGET = \"UNKNOWN_TARGET\",\n      GLOBAL = \"GLOBAL\",\n      SHIPPING = \"SHIPPING\",\n      LINE_ITEMS = \"LINE_ITEMS\"\n  }\n  interface DiscountName {\n      /** Original discount rule name (in site's default language). */\n      original?: string;\n      /**\n       * Translated discount rule name according to buyer language.\n       *\n       * Default: `original`\n       */\n      translated?: string | null;\n  }\n  interface BaseDiscounts {\n      /** The rate of the discount. */\n      rate?: DiscountRate;\n  }\n  interface DiscountRate extends DiscountRateRateOneOf {\n      /** Global discounts */\n      fixedAmountValue?: string;\n      /** Shipping discounts */\n      percentageValue?: string;\n      /** Type of calculation */\n      type?: Type;\n  }\n  /** @oneof */\n  interface DiscountRateRateOneOf {\n      /** Global discounts */\n      fixedAmountValue?: string;\n      /** Shipping discounts */\n      percentageValue?: string;\n  }\n  enum Type {\n      UNKNOWN_RATE = \"UNKNOWN_RATE\",\n      FIXED_AMOUNT = \"FIXED_AMOUNT\",\n      PERCENTAGE = \"PERCENTAGE\"\n  }\n  interface LineItemsDiscounts {\n      /** Line items */\n      lineItems?: LineItemRate[];\n  }\n  interface LineItemRate {\n      /** The rate of the discount. */\n      rate?: DiscountRate;\n      /** id of the line item. */\n      _id?: string;\n  }\n  enum DiscountSource {\n      UNKNOWN_SOURCE = \"UNKNOWN_SOURCE\",\n      COUPON = \"COUPON\",\n      AUTOMATIC = \"AUTOMATIC\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface CouponOptions {\n      /** Coupon code, only relevant when source is coupon. */\n      code?: string | null;\n  }\n  interface DiscountsSPIConfig {\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: IdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface GetEligibleDiscountsOptions {\n      /** Line items */\n      lineItems?: LineItem[];\n      /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n      purchaseFlowId?: string | null;\n      /** Number of coupons is limited to 1 due to limitations in Checkout. */\n      couponCodes?: string[];\n  }\n  \n  export { BaseDiscounts, BusinessError, CatalogReference, Context, CouponOptions, Discount, DiscountDiscountScopesOneOf, DiscountDiscountTypeOneOf, DiscountName, DiscountRate, DiscountRateRateOneOf, DiscountSource, DiscountsSPIConfig, GetEligibleDiscountsOptions, GetEligibleDiscountsRequest, GetEligibleDiscountsResponse, IdentificationData, IdentificationDataIdOneOf, IdentityType, LineItem, LineItemRate, LineItemsDiscounts, TargetType, Type };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-assistant-playground.v2.d.ts",
      "content": "declare module \"wix-assistant-playground.v2\" {\n  interface Message {\n      /** Message ID. */\n      _id?: string;\n      /** Conversation ID. */\n      conversationId?: string;\n      /** Message sender */\n      sender?: Sender;\n      /** Message feedback */\n      feedback?: Feedback;\n      /** Assistant trigger id */\n      triggerId?: string | null;\n      /**\n       * Date and time the Message was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the Message was created.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Message revision number.\n       * @readonly\n       */\n      revision?: string | null;\n      /** Message body */\n      body?: Body;\n      /** Answer to message ID. */\n      answerTo?: string | null;\n      /** Data Extensions */\n      extendedFields?: ExtendedFields;\n      /** Tags */\n      tags?: Tags;\n  }\n  enum Sender {\n      UNKNOWN_SENDER = \"UNKNOWN_SENDER\",\n      USER = \"USER\",\n      ASSISTANT = \"ASSISTANT\"\n  }\n  interface Feedback {\n      /** Feedback text. */\n      text?: string | null;\n      /**\n       * Embedded document\n       * @readonly\n       */\n      document?: Document;\n      /**\n       * error while embedding document\n       * @readonly\n       */\n      error?: string | null;\n      /** Feedback type */\n      type?: FeedbackType;\n  }\n  interface Document {\n      /** ID of the external document. */\n      _id?: string;\n      /** Title of the external document. */\n      title?: string;\n      /** Description of the external document. */\n      description?: string;\n      /** Tags of the external document. */\n      tags?: string[];\n      /** URL of the external document. */\n      url?: string;\n      /** Category of the external document. */\n      category?: Category;\n      /** Action to be taken when the external document is presented to the user. */\n      action?: Action;\n      /** Is the external document generated from a feedback. */\n      isFeedback?: boolean | null;\n      /** Is the external document published. */\n      isPublished?: boolean | null;\n      /** Timestamp of the last update of the external document. */\n      updateTs?: Date | null;\n      /** Relevance of the external document. */\n      relevance?: number | null;\n      /** Usage of the external document. */\n      usage?: number | null;\n  }\n  /** Category of the external document. */\n  enum Category {\n      /** [(wix.api.enum_maturity) = NOT_IMPLEMENTED]; */\n      NO_CATEGORY = \"NO_CATEGORY\",\n      ENRICHMENT = \"ENRICHMENT\",\n      /** FEEDBACK = 2; */\n      RESTRICTION = \"RESTRICTION\"\n  }\n  /** Action to be taken when the external document is presented to the user. */\n  enum Action {\n      /** [(wix.api.enum_maturity) = NOT_IMPLEMENTED]; */\n      NO_ACTION = \"NO_ACTION\",\n      NO_ANSWER = \"NO_ANSWER\",\n      CONTACT = \"CONTACT\"\n  }\n  enum FeedbackType {\n      UNKNOWN = \"UNKNOWN\",\n      THUMBS_UP = \"THUMBS_UP\",\n      IRRELEVANT = \"IRRELEVANT\",\n      INCORRECT = \"INCORRECT\",\n      SHOULD_NOT_ANSWER = \"SHOULD_NOT_ANSWER\",\n      OK_BUT = \"OK_BUT\",\n      OTHER = \"OTHER\"\n  }\n  interface Body {\n      /** Main text of the message */\n      mainText?: string | null;\n      /** Footer text of the message */\n      footerText?: string | null;\n      /** Additional data */\n      additionalData?: Record<string, any>[] | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  /**\n   * Common object for tags.\n   * Should be use as in this example:\n   * message Foo {\n   * string id = 1;\n   * ...\n   * Tags tags = 5\n   * }\n   *\n   * example of taggable entity\n   * {\n   * id: \"123\"\n   * tags: {\n   * tags: {\n   * tag_ids:[\"11\",\"22\"]\n   * },\n   * private_tags: {\n   * tag_ids: [\"33\", \"44\"]\n   * }\n   * }\n   * }\n   */\n  interface Tags {\n      /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n      privateTags?: TagList;\n      /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n      tags?: TagList;\n  }\n  interface TagList {\n      /** List of tag IDs */\n      tagIds?: string[];\n  }\n  interface QueryMessagesRequest {\n      /** WQL expression. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryMessagesResponse {\n      /**\n       * Messages type.\n       *\n       */\n      messages?: Message[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface AskQuestionRequest {\n      /** Question message. */\n      question: Message;\n  }\n  interface AskQuestionResponse {\n      /** Answer message. */\n      answer?: Message;\n  }\n  interface AddFeedbackRequest {\n      /** Message id to add feedback to. */\n      messageId: string;\n      /** Feedback to add to the message. */\n      feedback: Feedback;\n      /** Conversation revision. */\n      revision: string;\n  }\n  interface AddFeedbackResponse {\n      /** Updated message. */\n      message?: Message;\n  }\n  interface BulkUpdateMessageTagsRequest {\n      /** List of NileProtoTagsEntities that their tags will update. */\n      ids: string[] | null;\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  interface BulkUpdateMessageTagsResponse {\n      /** Results */\n      results?: BulkUpdateMessageTagsResult[];\n      /** Metadata regarding the bulk update operation */\n      bulkActionMetadata?: BulkActionMetadata;\n  }\n  interface ItemMetadata {\n      /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n      _id?: string | null;\n      /** Index of the item within the request array. Allows for correlation between request and response items. */\n      originalIndex?: number;\n      /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n      success?: boolean;\n      /** Details about the error in case of failure. */\n      error?: ApplicationError;\n  }\n  interface ApplicationError {\n      /** Error code. */\n      code?: string;\n      /** Description of the error. */\n      description?: string;\n      /** Data related to the error. */\n      data?: Record<string, any> | null;\n  }\n  interface BulkUpdateMessageTagsResult {\n      /** Metadata regarding the specific single update operation */\n      itemMetadata?: ItemMetadata;\n  }\n  interface BulkActionMetadata {\n      /** Number of items that were successfully processed. */\n      totalSuccesses?: number;\n      /** Number of items that couldn't be processed. */\n      totalFailures?: number;\n      /** Number of failures without details because detailed failure threshold was exceeded. */\n      undetailedFailures?: number;\n  }\n  interface BulkUpdateMessageTagsByFilterRequest {\n      /** Filter */\n      filter: Record<string, any> | null;\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  interface BulkUpdateMessageTagsByFilterResponse {\n      /** Job ID */\n      jobId?: string;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the entity to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** Updated Product. */\n      message?: Message;\n  }\n  interface Empty {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Retrieves a list of Messages, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 1,000 Messages can be returned per request.\n   *\n   * To learn how to query Messages, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function queryMessages(): MessagesQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface MessagesQueryResult extends QueryCursorResult {\n      items: Message[];\n      query: MessagesQueryBuilder;\n      next: () => Promise<MessagesQueryResult>;\n      prev: () => Promise<MessagesQueryResult>;\n  }\n  interface MessagesQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate', value: any) => MessagesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate', value: any) => MessagesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate', value: any) => MessagesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate', value: any) => MessagesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate', value: any) => MessagesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate', value: any) => MessagesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id', value: string) => MessagesQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | '_createdDate', value: any[]) => MessagesQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate', value: any) => MessagesQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | '_createdDate', value: boolean) => MessagesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | '_createdDate'>) => MessagesQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | '_createdDate'>) => MessagesQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => MessagesQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => MessagesQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<MessagesQueryResult>;\n  }\n  /**\n   * Ask question to ai assistant.\n   *\n   * This ensures you're working with the latest Conversation\n   * and prevents unintended overwrites.\n   * @param question - Question message.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField question\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function askQuestion(question: Message): Promise<AskQuestionResponse>;\n  /**\n   * Adds feedback to a message.\n   *\n   * Each time the Conversation is updated,\n   * `revision` increments by 1.\n   * The current `revision` must be passed when updating the Conversation.\n   * This ensures you're working with the latest Conversation\n   * and prevents unintended overwrites.\n   * @param messageId - Message id to add feedback to.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField messageId\n   * @requiredField options\n   * @requiredField options.feedback\n   * @requiredField options.revision\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function addFeedback(messageId: string, options: AddFeedbackOptions): Promise<AddFeedbackResponse>;\n  interface AddFeedbackOptions {\n      /** Feedback to add to the message. */\n      feedback: Feedback;\n      /** Conversation revision. */\n      revision: string;\n  }\n  /**\n   * Synchronously update tags on multiple products, by list of product ids\n   * A tag that appears both in the list of assign and unassign tags, will be assigned\n   * @param ids - List of NileProtoTagsEntities that their tags will update.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField ids\n   * @requiredField options.assignTags\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function bulkUpdateMessageTags(ids: string[] | null, options?: BulkUpdateMessageTagsOptions): Promise<BulkUpdateMessageTagsResponse>;\n  interface BulkUpdateMessageTagsOptions {\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  /**\n   * Asynchronously update tags on multiple products, by provided filter\n   * An empty filter will update all products\n   * A tag that appears both in the list of assign and unassign tags, will be assigned\n   * @param filter - Filter\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @requiredField options.assignTags\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function bulkUpdateMessageTagsByFilter(filter: Record<string, any> | null, options?: BulkUpdateMessageTagsByFilterOptions): Promise<BulkUpdateMessageTagsByFilterResponse>;\n  interface BulkUpdateMessageTagsByFilterOptions {\n      /** List of Tags to assign */\n      assignTags: Tags;\n      /** List of Tags to unAssign */\n      unassignTags?: Tags;\n  }\n  /**\n   * Updates extended fields of a Test without incrementing revision\n   * @param _id - ID of the entity to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId INNOVATION_LAB.WIX_ASSISTANT\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  \n  type innovationPlaygroundV2Message_universal_d_Message = Message;\n  type innovationPlaygroundV2Message_universal_d_Sender = Sender;\n  const innovationPlaygroundV2Message_universal_d_Sender: typeof Sender;\n  type innovationPlaygroundV2Message_universal_d_Feedback = Feedback;\n  type innovationPlaygroundV2Message_universal_d_Document = Document;\n  type innovationPlaygroundV2Message_universal_d_Category = Category;\n  const innovationPlaygroundV2Message_universal_d_Category: typeof Category;\n  type innovationPlaygroundV2Message_universal_d_Action = Action;\n  const innovationPlaygroundV2Message_universal_d_Action: typeof Action;\n  type innovationPlaygroundV2Message_universal_d_FeedbackType = FeedbackType;\n  const innovationPlaygroundV2Message_universal_d_FeedbackType: typeof FeedbackType;\n  type innovationPlaygroundV2Message_universal_d_Body = Body;\n  type innovationPlaygroundV2Message_universal_d_ExtendedFields = ExtendedFields;\n  type innovationPlaygroundV2Message_universal_d_Tags = Tags;\n  type innovationPlaygroundV2Message_universal_d_TagList = TagList;\n  type innovationPlaygroundV2Message_universal_d_QueryMessagesRequest = QueryMessagesRequest;\n  type innovationPlaygroundV2Message_universal_d_CursorQuery = CursorQuery;\n  type innovationPlaygroundV2Message_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type innovationPlaygroundV2Message_universal_d_Sorting = Sorting;\n  type innovationPlaygroundV2Message_universal_d_SortOrder = SortOrder;\n  const innovationPlaygroundV2Message_universal_d_SortOrder: typeof SortOrder;\n  type innovationPlaygroundV2Message_universal_d_CursorPaging = CursorPaging;\n  type innovationPlaygroundV2Message_universal_d_QueryMessagesResponse = QueryMessagesResponse;\n  type innovationPlaygroundV2Message_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type innovationPlaygroundV2Message_universal_d_Cursors = Cursors;\n  type innovationPlaygroundV2Message_universal_d_AskQuestionRequest = AskQuestionRequest;\n  type innovationPlaygroundV2Message_universal_d_AskQuestionResponse = AskQuestionResponse;\n  type innovationPlaygroundV2Message_universal_d_AddFeedbackRequest = AddFeedbackRequest;\n  type innovationPlaygroundV2Message_universal_d_AddFeedbackResponse = AddFeedbackResponse;\n  type innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsRequest = BulkUpdateMessageTagsRequest;\n  type innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsResponse = BulkUpdateMessageTagsResponse;\n  type innovationPlaygroundV2Message_universal_d_ItemMetadata = ItemMetadata;\n  type innovationPlaygroundV2Message_universal_d_ApplicationError = ApplicationError;\n  type innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsResult = BulkUpdateMessageTagsResult;\n  type innovationPlaygroundV2Message_universal_d_BulkActionMetadata = BulkActionMetadata;\n  type innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsByFilterRequest = BulkUpdateMessageTagsByFilterRequest;\n  type innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsByFilterResponse = BulkUpdateMessageTagsByFilterResponse;\n  type innovationPlaygroundV2Message_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type innovationPlaygroundV2Message_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type innovationPlaygroundV2Message_universal_d_Empty = Empty;\n  type innovationPlaygroundV2Message_universal_d_DomainEvent = DomainEvent;\n  type innovationPlaygroundV2Message_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type innovationPlaygroundV2Message_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type innovationPlaygroundV2Message_universal_d_RestoreInfo = RestoreInfo;\n  type innovationPlaygroundV2Message_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type innovationPlaygroundV2Message_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type innovationPlaygroundV2Message_universal_d_ActionEvent = ActionEvent;\n  type innovationPlaygroundV2Message_universal_d_MessageEnvelope = MessageEnvelope;\n  type innovationPlaygroundV2Message_universal_d_IdentificationData = IdentificationData;\n  type innovationPlaygroundV2Message_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type innovationPlaygroundV2Message_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const innovationPlaygroundV2Message_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const innovationPlaygroundV2Message_universal_d_queryMessages: typeof queryMessages;\n  type innovationPlaygroundV2Message_universal_d_MessagesQueryResult = MessagesQueryResult;\n  type innovationPlaygroundV2Message_universal_d_MessagesQueryBuilder = MessagesQueryBuilder;\n  const innovationPlaygroundV2Message_universal_d_askQuestion: typeof askQuestion;\n  const innovationPlaygroundV2Message_universal_d_addFeedback: typeof addFeedback;\n  type innovationPlaygroundV2Message_universal_d_AddFeedbackOptions = AddFeedbackOptions;\n  const innovationPlaygroundV2Message_universal_d_bulkUpdateMessageTags: typeof bulkUpdateMessageTags;\n  type innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsOptions = BulkUpdateMessageTagsOptions;\n  const innovationPlaygroundV2Message_universal_d_bulkUpdateMessageTagsByFilter: typeof bulkUpdateMessageTagsByFilter;\n  type innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsByFilterOptions = BulkUpdateMessageTagsByFilterOptions;\n  const innovationPlaygroundV2Message_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type innovationPlaygroundV2Message_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  namespace innovationPlaygroundV2Message_universal_d {\n    export {\n      innovationPlaygroundV2Message_universal_d_Message as Message,\n      innovationPlaygroundV2Message_universal_d_Sender as Sender,\n      innovationPlaygroundV2Message_universal_d_Feedback as Feedback,\n      innovationPlaygroundV2Message_universal_d_Document as Document,\n      innovationPlaygroundV2Message_universal_d_Category as Category,\n      innovationPlaygroundV2Message_universal_d_Action as Action,\n      innovationPlaygroundV2Message_universal_d_FeedbackType as FeedbackType,\n      innovationPlaygroundV2Message_universal_d_Body as Body,\n      innovationPlaygroundV2Message_universal_d_ExtendedFields as ExtendedFields,\n      innovationPlaygroundV2Message_universal_d_Tags as Tags,\n      innovationPlaygroundV2Message_universal_d_TagList as TagList,\n      innovationPlaygroundV2Message_universal_d_QueryMessagesRequest as QueryMessagesRequest,\n      innovationPlaygroundV2Message_universal_d_CursorQuery as CursorQuery,\n      innovationPlaygroundV2Message_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      innovationPlaygroundV2Message_universal_d_Sorting as Sorting,\n      innovationPlaygroundV2Message_universal_d_SortOrder as SortOrder,\n      innovationPlaygroundV2Message_universal_d_CursorPaging as CursorPaging,\n      innovationPlaygroundV2Message_universal_d_QueryMessagesResponse as QueryMessagesResponse,\n      innovationPlaygroundV2Message_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      innovationPlaygroundV2Message_universal_d_Cursors as Cursors,\n      innovationPlaygroundV2Message_universal_d_AskQuestionRequest as AskQuestionRequest,\n      innovationPlaygroundV2Message_universal_d_AskQuestionResponse as AskQuestionResponse,\n      innovationPlaygroundV2Message_universal_d_AddFeedbackRequest as AddFeedbackRequest,\n      innovationPlaygroundV2Message_universal_d_AddFeedbackResponse as AddFeedbackResponse,\n      innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsRequest as BulkUpdateMessageTagsRequest,\n      innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsResponse as BulkUpdateMessageTagsResponse,\n      innovationPlaygroundV2Message_universal_d_ItemMetadata as ItemMetadata,\n      innovationPlaygroundV2Message_universal_d_ApplicationError as ApplicationError,\n      innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsResult as BulkUpdateMessageTagsResult,\n      innovationPlaygroundV2Message_universal_d_BulkActionMetadata as BulkActionMetadata,\n      innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsByFilterRequest as BulkUpdateMessageTagsByFilterRequest,\n      innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsByFilterResponse as BulkUpdateMessageTagsByFilterResponse,\n      innovationPlaygroundV2Message_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      innovationPlaygroundV2Message_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      innovationPlaygroundV2Message_universal_d_Empty as Empty,\n      innovationPlaygroundV2Message_universal_d_DomainEvent as DomainEvent,\n      innovationPlaygroundV2Message_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      innovationPlaygroundV2Message_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      innovationPlaygroundV2Message_universal_d_RestoreInfo as RestoreInfo,\n      innovationPlaygroundV2Message_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      innovationPlaygroundV2Message_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      innovationPlaygroundV2Message_universal_d_ActionEvent as ActionEvent,\n      innovationPlaygroundV2Message_universal_d_MessageEnvelope as MessageEnvelope,\n      innovationPlaygroundV2Message_universal_d_IdentificationData as IdentificationData,\n      innovationPlaygroundV2Message_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      innovationPlaygroundV2Message_universal_d_WebhookIdentityType as WebhookIdentityType,\n      innovationPlaygroundV2Message_universal_d_queryMessages as queryMessages,\n      innovationPlaygroundV2Message_universal_d_MessagesQueryResult as MessagesQueryResult,\n      innovationPlaygroundV2Message_universal_d_MessagesQueryBuilder as MessagesQueryBuilder,\n      innovationPlaygroundV2Message_universal_d_askQuestion as askQuestion,\n      innovationPlaygroundV2Message_universal_d_addFeedback as addFeedback,\n      innovationPlaygroundV2Message_universal_d_AddFeedbackOptions as AddFeedbackOptions,\n      innovationPlaygroundV2Message_universal_d_bulkUpdateMessageTags as bulkUpdateMessageTags,\n      innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsOptions as BulkUpdateMessageTagsOptions,\n      innovationPlaygroundV2Message_universal_d_bulkUpdateMessageTagsByFilter as bulkUpdateMessageTagsByFilter,\n      innovationPlaygroundV2Message_universal_d_BulkUpdateMessageTagsByFilterOptions as BulkUpdateMessageTagsByFilterOptions,\n      innovationPlaygroundV2Message_universal_d_updateExtendedFields as updateExtendedFields,\n      innovationPlaygroundV2Message_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n    };\n  }\n  \n  export { innovationPlaygroundV2Message_universal_d as messages };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-log.v1.d.ts",
      "content": "declare module \"wix-automations-activation-log.v1\" {\n  interface ActivationLog {\n      /** Activation ID */\n      _id?: string;\n      /** The activated automation ID */\n      automationId?: string;\n      /** The activated automation revision */\n      automationRevision?: string;\n      /** Automation activation status */\n      status?: Status;\n      /** Scheduled status additional info */\n      initiatedInfo?: InitiatedStatusInfo;\n      /** Scheduled status additional info */\n      scheduledInfo?: ScheduledStatusInfo;\n      /** Started status additional info */\n      startedInfo?: StartedStatusInfo;\n      /** Ended status additional info */\n      endedInfo?: EndedStatusInfo;\n      /** Cancelled status additional info */\n      cancelledInfo?: CancelledStatusInfo;\n      /** Failed status additional info */\n      failedInfo?: FailedStatusInfo;\n      /** Created date */\n      _createdDate?: Date | null;\n  }\n  enum Target {\n      UNKNOWN_TARGET = \"UNKNOWN_TARGET\",\n      SCHEDULE = \"SCHEDULE\",\n      IMMEDIATE = \"IMMEDIATE\"\n  }\n  enum CancellationReason {\n      UNKNOWN_CANCELLATION_REASON = \"UNKNOWN_CANCELLATION_REASON\",\n      /** Indicating that the activation was cancelled directly */\n      EVENT_CANCELLED = \"EVENT_CANCELLED\",\n      /** Indicating that the activation is cancelled because the automation was deactivated */\n      AUTOMATION_DEACTIVATED = \"AUTOMATION_DEACTIVATED\",\n      /** Indicating that the activation is cancelled because the automation was deleted */\n      AUTOMATION_DELETED = \"AUTOMATION_DELETED\",\n      /** Indicating that the activation is cancelled after the automation schedule time was reached */\n      CANCELLED_BY_REFRESH_PAYLOAD = \"CANCELLED_BY_REFRESH_PAYLOAD\"\n  }\n  interface Identity {\n      /** User ID */\n      userId?: string | null;\n      /** App ID */\n      appId?: string | null;\n  }\n  enum Status {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** This indicates activation is not started yet (no action has run yet) */\n      INITIATED = \"INITIATED\",\n      /** The activation is in scheduled status when the automation has future date or debounce defined and we're in the waiting stage (no action has run yet) */\n      SCHEDULED = \"SCHEDULED\",\n      /** This indicates the automation activation has started and currently in progress */\n      STARTED = \"STARTED\",\n      /** This indicates all the automation actions were handled either by invoking them, skipping them etc. */\n      ENDED = \"ENDED\",\n      /** This indicates the activation was cancelled */\n      CANCELLED = \"CANCELLED\",\n      /**\n       * This indicates the activation failed to start\n       * Note that failure in the activation of a single action will not result a failure in activation of the entire automation\n       */\n      FAILED = \"FAILED\"\n  }\n  interface InitiatedStatusInfo {\n      /** Created date */\n      statusChangedDate?: Date | null;\n      target?: Target;\n      /** The reported trigger payload */\n      payload?: Record<string, any> | null;\n      externalEntityId?: string | null;\n      /** Unique identifier for the request that initiated the automation */\n      requestId?: string | null;\n  }\n  interface ScheduledStatusInfo {\n      /** Created date */\n      statusChangedDate?: Date | null;\n      /** Schedule identifier */\n      scheduleId?: string;\n      /** Indicating when the activation should start */\n      date?: Date | null;\n  }\n  interface StartedStatusInfo {\n      /** Created date */\n      statusChangedDate?: Date | null;\n      /** Enriched and refreshed payload */\n      payload?: Record<string, any> | null;\n  }\n  interface EndedStatusInfo {\n      /** Created date */\n      statusChangedDate?: Date | null;\n  }\n  interface CancelledStatusInfo {\n      /** Created date */\n      statusChangedDate?: Date | null;\n      /** Cancellation reason */\n      reason?: CancellationReason;\n      /** The identity (such as user, app etc.) that caused the cancellation */\n      initiator?: Identity;\n  }\n  interface FailedStatusInfo {\n      /** Created date */\n      statusChangedDate?: Date | null;\n      /**\n       * Error description\n       * @readonly\n       */\n      errorDescription?: string;\n      /** Error code */\n      errorCode?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface ActivationContinuedAfterSchedule {\n      /** Activation identifier */\n      _id?: string;\n      /** Activation Automation */\n      automation?: Automation;\n  }\n  interface Automation extends AutomationOriginInfoOneOf {\n      /** Application info */\n      applicationInfo?: ApplicationOrigin;\n      /** Preinstalled info */\n      preinstalledInfo?: PreinstalledOrigin;\n      /**\n       * Automation ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the automation is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the automation.\n       *\n       * Ignored when creating an automation.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Information about the creator of the automation.\n       * @readonly\n       */\n      createdBy?: AuditInfo;\n      /**\n       * Date and time the automation was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * The entity that last updated the automation.\n       * @readonly\n       */\n      updatedBy?: AuditInfo;\n      /**\n       * Date and time the automation was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Automation name that is displayed on the user's site. */\n      name?: string;\n      /** Automation description. */\n      description?: string | null;\n      /** Object that defines the automation's trigger, actions, and activation status. */\n      configuration?: AutomationConfiguration;\n      /** Defines how the automation was added to the site. */\n      origin?: Origin;\n      /** Automation settings. */\n      settings?: AutomationSettings;\n      /**\n       * Draft info (optional - only if the automation is a draft)\n       * @readonly\n       */\n      draftInfo?: DraftInfo;\n      /** Namespace */\n      namespace?: string | null;\n      /**\n       * Enrichments in use\n       * @internal\n       * @readonly\n       */\n      enrichments?: Enrichments;\n      /**\n       * Date and time the automation's draft was last updated.\n       * @internal\n       * @readonly\n       */\n      draftUpdatedDate?: Date | null;\n  }\n  /** @oneof */\n  interface AutomationOriginInfoOneOf {\n      /** Application info */\n      applicationInfo?: ApplicationOrigin;\n      /** Preinstalled info */\n      preinstalledInfo?: PreinstalledOrigin;\n  }\n  interface ActionSettings {\n      /**\n       * List of actions that cannot be deleted.\n       * Default: Empty. All actions are deletable by default.\n       */\n      permanentActionIds?: string[];\n      /**\n       * List of actions that cannot be edited.\n       * Default: Empty. All actions are editable by default.\n       */\n      readonlyActionIds?: string[];\n      /** Whether the option to add a delay is disabled for the automation. */\n      disableDelayAddition?: boolean;\n      /** Whether the option to add a condition is disabled for the automation. */\n      disableConditionAddition?: boolean;\n  }\n  enum Domain {\n      /** User domain (default). */\n      USER = \"USER\",\n      /** Wix domain. */\n      WIX = \"WIX\"\n  }\n  interface Enrichment {\n      /** Enrichment input mappings. */\n      inputMappings?: Record<string, any>[] | null;\n  }\n  interface AuditInfo extends AuditInfoIdOneOf {\n      /** User ID. */\n      userId?: string;\n      /** Application ID. */\n      appId?: string;\n  }\n  /** @oneof */\n  interface AuditInfoIdOneOf {\n      /** User ID. */\n      userId?: string;\n      /** Application ID. */\n      appId?: string;\n  }\n  /** Automation runtime configuration */\n  interface AutomationConfiguration {\n      /** Status of the automation on the site. */\n      status?: AutomationConfigurationStatus;\n      /** Automation trigger configuration. */\n      trigger?: Trigger;\n      /** List of IDs of root actions. Root actions are the first actions to run after the trigger. The actions in the list run in parallel. */\n      rootActionIds?: string[];\n      /**\n       * Map of all actions that the automation may execute.\n       * The key is the action ID, and the value is the action configuration.\n       */\n      actions?: Record<string, Action>;\n  }\n  enum TimeUnit {\n      UNKNOWN_TIME_UNIT = \"UNKNOWN_TIME_UNIT\",\n      MINUTES = \"MINUTES\",\n      HOURS = \"HOURS\",\n      DAYS = \"DAYS\",\n      WEEKS = \"WEEKS\",\n      MONTHS = \"MONTHS\"\n  }\n  interface Filter {\n      /** Filter ID. */\n      _id?: string;\n      /** Field key from the payload schema, for example \"formId\". */\n      fieldKey?: string;\n      /** Filter expression that evaluates to a boolean. */\n      filterExpression?: string;\n  }\n  interface FutureDateActivationOffset {\n      /**\n       * The offset value. The value is always taken as negative, so that the automation runs before the trigger date.\n       * To create an offset that causes the automation to run after the trigger date, use a delay action.\n       */\n      preScheduledEventOffsetExpression?: string;\n      /** Time unit for the scheduled event offset. */\n      scheduledEventOffsetTimeUnit?: TimeUnit;\n  }\n  interface RateLimit {\n      /** Value expressing the maximum number of times the trigger can be activated. */\n      maxActivationsExpression?: string;\n      /** Duration of the rate limiting window in the selected time unit. If no value is set, the rate limit is permanent. */\n      durationExpression?: string | null;\n      /** Time unit for the rate limit duration. */\n      durationTimeUnit?: TimeUnit;\n      /** Unique identifier of each activation, by which rate limiter will count activations. */\n      uniqueIdentifierExpression?: string | null;\n  }\n  interface ConditionExpressionGroup {\n      /** Expression group operator. */\n      operator?: Operator;\n      /** List of boolean expressions to be evaluated with the given operator. */\n      booleanExpressions?: string[];\n  }\n  enum Operator {\n      UNKNOWN_OPERATOR = \"UNKNOWN_OPERATOR\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  enum Type {\n      /** Automation will be triggered according to the trigger configuration. */\n      UNKNOWN_ACTION_TYPE = \"UNKNOWN_ACTION_TYPE\",\n      /** App defined Action. */\n      APP_DEFINED = \"APP_DEFINED\",\n      /** Condition Action. */\n      CONDITION = \"CONDITION\",\n      /** Delay Action. */\n      DELAY = \"DELAY\",\n      /** RateLimit Action. */\n      RATE_LIMIT = \"RATE_LIMIT\",\n      /** Set Variables Action. */\n      SET_VARIABLES = \"SET_VARIABLES\",\n      /** Output Action. */\n      OUTPUT = \"OUTPUT\"\n  }\n  interface AppDefinedAction {\n      /** ID of the app that defines the action. */\n      appId?: string;\n      /** Action key. */\n      actionKey?: string;\n      /** Action input mapping. */\n      inputMapping?: Record<string, any> | null;\n      /**\n       * Array of conditions determining whether to skip the action in the automation flow.\n       * The action will be skipped if any of the expression groups evaluate to `true`.\n       * Actions following a skipped action will still run.\n       */\n      skipConditionOrExpressionGroups?: ConditionExpressionGroup[];\n      /** List of IDs of actions to run in parallel once the action completes. */\n      postActionIds?: string[];\n  }\n  interface ConditionAction {\n      /** The condition evaluates to `true` if either of the expression groups evaluate to `true`. */\n      orExpressionGroups?: ConditionExpressionGroup[];\n      /** List of IDs of actions to run when the entire condition is evaluated to `true`. */\n      truePostActionIds?: string[];\n      /** List of IDs of actions to run when the entire condition is evaluated to `false`. */\n      falsePostActionIds?: string[];\n  }\n  interface DelayAction {\n      /** Value expressing the amount of time to wait from a specific date or from the time the action is executed. */\n      offsetExpression?: string | null;\n      /** Time unit for delay offset. */\n      offsetTimeUnit?: TimeUnit;\n      /**\n       * The action due date. If defined without an offset, the automation will wait until this date to execute the next step.\n       * If an offset is defined, it's calculated from this date.\n       * The date is expressed in the number of milliseconds since the Unix Epoch (1 January, 1970 UTC).\n       */\n      dueDateEpochExpression?: string | null;\n      /** List of IDs of actions to run in parallel after the delay. */\n      postActionIds?: string[];\n  }\n  interface RateLimitAction {\n      /** The maximum number of activations allowed for the action. */\n      maxActivationsExpression?: string;\n      /**\n       * Duration of the rate limiting window, expressed in selected time unit.\n       * If no value is set, then there is no time limit on the rate limiter.\n       */\n      rateLimitDurationExpression?: string | null;\n      /** Time unit for the rate limit duration. */\n      rateLimitDurationTimeUnit?: TimeUnit;\n      /** Unique identifier of each activation by which rate limiter counts activations. */\n      uniqueIdentifierExpression?: string | null;\n      /** List of IDs of actions to run in parallel once the action completes. */\n      postActionIds?: string[];\n  }\n  interface SetVariablesAction {\n      /**\n       * output mapping\n       * for example: {\"someField\": \"{{10}}\", \"someOtherField\": \"{{multiply( var('account.points.balance') ;2 )}}\" }\n       */\n      outputMapping?: Record<string, any> | null;\n      /**\n       * output json schema representation\n       * could be string instead of Struct (and introduce some compression to minimize the size of it)\n       */\n      outputSchema?: Record<string, any> | null;\n      /** List of IDs of actions to run in parallel after variable initialization. */\n      postActionIds?: string[];\n  }\n  interface OutputAction {\n      /** Output action output mapping. */\n      outputMapping?: Record<string, any> | null;\n  }\n  enum AutomationConfigurationStatus {\n      /** unused */\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      /** Automation will be triggered according to the trigger configuration */\n      ACTIVE = \"ACTIVE\",\n      /** Automation will not be triggered */\n      INACTIVE = \"INACTIVE\"\n  }\n  interface Trigger {\n      /** ID of the app that defines the trigger. */\n      appId?: string;\n      /** Trigger key. */\n      triggerKey?: string;\n      /**\n       * List of filters on schema fields.\n       * In order for the automation to run, all filter expressions must evaluate to `true` for a given payload.\n       */\n      filters?: Filter[];\n      /** Defines the time offset between the trigger date and when the automation runs. */\n      scheduledEventOffset?: FutureDateActivationOffset;\n      /** Limits the number of times an automation can be triggered. */\n      rateLimit?: RateLimit;\n      /**\n       * An optional configuration, per automation, of a schema that is optionally offered by the trigger provider to affect the behavior of the trigger.\n       * For example, a trigger provider may offer a schema that allows the user to configure the trigger to happen at a certain time of day,\n       * He would define a schema with a field called \"startDate\" and using this parameter the user can define his preferred startDate, per automation.\n       */\n      automationConfigMapping?: Record<string, any> | null;\n  }\n  interface Action extends ActionInfoOneOf {\n      /** Action defined by an app (via RPC, HTTP or Velo). */\n      appDefinedInfo?: AppDefinedAction;\n      /** Condition action. */\n      conditionInfo?: ConditionAction;\n      /** Delay action. */\n      delayInfo?: DelayAction;\n      /** Rate-limiting action. */\n      rateLimitInfo?: RateLimitAction;\n      /**\n       * Set-variables action.\n       * @internal\n       */\n      setVariablesInfo?: SetVariablesAction;\n      /**\n       * Output action.\n       * @internal\n       */\n      outputInfo?: OutputAction;\n      /** Action ID. If not specified, a new ID is generated. */\n      _id?: string | null;\n      /** Action type. */\n      type?: Type;\n      /**\n       * Human-readable name to differentiate the action from other actions of the same type.\n       * The name can contain only alphanumeric characters and underscores. If not provided, a namespace in the form `actionkey-indexOfAction` is\n       * generated automatically.\n       * If the action has output, the output will be available in the payload under this name.\n       * If the user has multiple actions with the same appId and actionKey, previous action output will be overwritten.\n       */\n      namespace?: string | null;\n  }\n  /** @oneof */\n  interface ActionInfoOneOf {\n      /** Action defined by an app (via RPC, HTTP or Velo). */\n      appDefinedInfo?: AppDefinedAction;\n      /** Condition action. */\n      conditionInfo?: ConditionAction;\n      /** Delay action. */\n      delayInfo?: DelayAction;\n      /** Rate-limiting action. */\n      rateLimitInfo?: RateLimitAction;\n      /**\n       * Set-variables action.\n       * @internal\n       */\n      setVariablesInfo?: SetVariablesAction;\n      /**\n       * Output action.\n       * @internal\n       */\n      outputInfo?: OutputAction;\n  }\n  enum Origin {\n      /** Default value. This is unused. */\n      UNKNOWN_ORIGIN = \"UNKNOWN_ORIGIN\",\n      /** User created automation. */\n      USER = \"USER\",\n      /** Automation created by application (site specific). */\n      APPLICATION = \"APPLICATION\",\n      /** Preinstalled application automation. */\n      PREINSTALLED = \"PREINSTALLED\",\n      /** Automation created from a recipe. */\n      RECIPE = \"RECIPE\"\n  }\n  interface ApplicationOrigin {\n      /** Application ID. */\n      appId?: string;\n  }\n  interface PreinstalledOrigin {\n      /** ID of the app that defines the preinstalled automation. */\n      appId?: string;\n      /** Application component ID. */\n      componentId?: string;\n      /** Application component version. */\n      componentVersion?: number;\n      /**\n       * Whether the automation is an override automation. If the user modifies the preinstalled automation installed on their site, a site-specific\n       * automation is created that overrides the original one. If the user makes no modifications this boolean is set to `false` and the original\n       * preinstalled automation is used.\n       *\n       * Default: `false`\n       * @readonly\n       */\n      override?: boolean | null;\n  }\n  interface AutomationSettings {\n      /**\n       * Whether the automation is hidden from users.\n       * Default: `false`\n       */\n      hidden?: boolean;\n      /**\n       * Whether the automation is read-only.\n       * Default: `false`\n       */\n      readonly?: boolean;\n      /**\n       * Whether the option to delete the automation from the site is disabled.\n       * Default: `false`\n       */\n      disableDelete?: boolean;\n      /**\n       * Whether the option to change the automation status (from active to inactive and vice versa) is disabled.\n       * Default: `false`\n       */\n      disableStatusChange?: boolean;\n      /** Automation action settings. */\n      actionSettings?: ActionSettings;\n      /**\n       * Domain\n       * @internal\n       */\n      domain?: Domain;\n  }\n  interface DraftInfo {\n      /**\n       * Optional - automationId of the original automation.\n       * @readonly\n       */\n      originalAutomationId?: string | null;\n  }\n  interface Enrichments {\n      /** Whether the studio site enrichment is wanted. */\n      studioSite?: Enrichment;\n  }\n  interface UouDeleteRequest {\n      /** Original UouRightToBeDeletedRequest request */\n      originalRequest?: Record<string, any> | null;\n      /** Found client ids */\n      foundClientEntityIdsByNamespace?: ClientEntityIdsByNamespace[];\n  }\n  interface ClientEntityIdsByNamespace {\n      /** Client namespace */\n      namespace?: string;\n      /** Client entity IDs */\n      clientEntityIds?: string[];\n  }\n  interface GetActivationLogRequest {\n      /** Activation log ID */\n      activationId: string;\n  }\n  interface GetActivationLogResponse {\n      /** Activation log */\n      activationLog?: ActivationLog;\n  }\n  interface ListActivationLogsRequest {\n      /** Automation ID */\n      automationId: string;\n      /** From created date */\n      fromCreatedDate: Date | null;\n      /** To created date */\n      toCreatedDate?: Date | null;\n      /** Paging */\n      cursorPaging?: CursorPaging;\n      /** Should return payload in the response */\n      includePayload?: boolean | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListActivationLogsResponse {\n      /** List of activation logs */\n      activationLogs?: ActivationLog[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in current page. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n      /**\n       * Total number of items matching the filter.\n       * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n       * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n       * @internal\n       */\n      total?: number | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface SearchActivationLogsByPayloadPiiValueRequest {\n      /** Value to search in the payload */\n      value: string;\n      /** Paging */\n      cursorPaging?: CursorPaging;\n      /** Should return payload in the response */\n      includePayload?: boolean | null;\n  }\n  interface SearchActivationLogsByPayloadPiiValueResponse {\n      /** List of activation logs */\n      activationLogs?: ActivationLog[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get activation log by ID\n   * @param activationId - Activation log ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField activationId\n   * @permissionId AUTOMATIONS.ACTIVATION_LOG_READ\n   * @adminMethod\n   * @returns Activation log\n   */\n  function getActivationLog(activationId: string): Promise<ActivationLog>;\n  /**\n   * List activation logs\n   * @param automationId - Automation ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @requiredField options.fromCreatedDate\n   * @permissionId AUTOMATIONS.ACTIVATION_LOG_READ\n   * @adminMethod\n   */\n  function listActivationLogs(automationId: string, options?: ListActivationLogsOptions): Promise<ListActivationLogsResponse>;\n  interface ListActivationLogsOptions {\n      /** From created date */\n      fromCreatedDate: Date | null;\n      /** To created date */\n      toCreatedDate?: Date | null;\n      /** Paging */\n      cursorPaging?: CursorPaging;\n      /** Should return payload in the response */\n      includePayload?: boolean | null;\n  }\n  /**\n   * Search activation logs by payload pii value\n   * Entire field value match is supported\n   * Supported are emails, phones and guids\n   * @param value - Value to search in the payload\n   * @public\n   * @documentationMaturity preview\n   * @requiredField value\n   * @permissionId AUTOMATIONS.ACTIVATION_LOG_READ\n   * @adminMethod\n   */\n  function searchActivationLogsByPayloadPiiValue(value: string, options?: SearchActivationLogsByPayloadPiiValueOptions): Promise<SearchActivationLogsByPayloadPiiValueResponse>;\n  interface SearchActivationLogsByPayloadPiiValueOptions {\n      /** Paging */\n      cursorPaging?: CursorPaging;\n      /** Should return payload in the response */\n      includePayload?: boolean | null;\n  }\n  \n  type automationsActivationLogsV1ActivationLog_universal_d_ActivationLog = ActivationLog;\n  type automationsActivationLogsV1ActivationLog_universal_d_Target = Target;\n  const automationsActivationLogsV1ActivationLog_universal_d_Target: typeof Target;\n  type automationsActivationLogsV1ActivationLog_universal_d_CancellationReason = CancellationReason;\n  const automationsActivationLogsV1ActivationLog_universal_d_CancellationReason: typeof CancellationReason;\n  type automationsActivationLogsV1ActivationLog_universal_d_Identity = Identity;\n  type automationsActivationLogsV1ActivationLog_universal_d_Status = Status;\n  const automationsActivationLogsV1ActivationLog_universal_d_Status: typeof Status;\n  type automationsActivationLogsV1ActivationLog_universal_d_InitiatedStatusInfo = InitiatedStatusInfo;\n  type automationsActivationLogsV1ActivationLog_universal_d_ScheduledStatusInfo = ScheduledStatusInfo;\n  type automationsActivationLogsV1ActivationLog_universal_d_StartedStatusInfo = StartedStatusInfo;\n  type automationsActivationLogsV1ActivationLog_universal_d_EndedStatusInfo = EndedStatusInfo;\n  type automationsActivationLogsV1ActivationLog_universal_d_CancelledStatusInfo = CancelledStatusInfo;\n  type automationsActivationLogsV1ActivationLog_universal_d_FailedStatusInfo = FailedStatusInfo;\n  type automationsActivationLogsV1ActivationLog_universal_d_DomainEvent = DomainEvent;\n  type automationsActivationLogsV1ActivationLog_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type automationsActivationLogsV1ActivationLog_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type automationsActivationLogsV1ActivationLog_universal_d_RestoreInfo = RestoreInfo;\n  type automationsActivationLogsV1ActivationLog_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type automationsActivationLogsV1ActivationLog_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type automationsActivationLogsV1ActivationLog_universal_d_ActionEvent = ActionEvent;\n  type automationsActivationLogsV1ActivationLog_universal_d_Empty = Empty;\n  type automationsActivationLogsV1ActivationLog_universal_d_ActivationContinuedAfterSchedule = ActivationContinuedAfterSchedule;\n  type automationsActivationLogsV1ActivationLog_universal_d_Automation = Automation;\n  type automationsActivationLogsV1ActivationLog_universal_d_AutomationOriginInfoOneOf = AutomationOriginInfoOneOf;\n  type automationsActivationLogsV1ActivationLog_universal_d_ActionSettings = ActionSettings;\n  type automationsActivationLogsV1ActivationLog_universal_d_Domain = Domain;\n  const automationsActivationLogsV1ActivationLog_universal_d_Domain: typeof Domain;\n  type automationsActivationLogsV1ActivationLog_universal_d_Enrichment = Enrichment;\n  type automationsActivationLogsV1ActivationLog_universal_d_AuditInfo = AuditInfo;\n  type automationsActivationLogsV1ActivationLog_universal_d_AuditInfoIdOneOf = AuditInfoIdOneOf;\n  type automationsActivationLogsV1ActivationLog_universal_d_AutomationConfiguration = AutomationConfiguration;\n  type automationsActivationLogsV1ActivationLog_universal_d_TimeUnit = TimeUnit;\n  const automationsActivationLogsV1ActivationLog_universal_d_TimeUnit: typeof TimeUnit;\n  type automationsActivationLogsV1ActivationLog_universal_d_Filter = Filter;\n  type automationsActivationLogsV1ActivationLog_universal_d_FutureDateActivationOffset = FutureDateActivationOffset;\n  type automationsActivationLogsV1ActivationLog_universal_d_RateLimit = RateLimit;\n  type automationsActivationLogsV1ActivationLog_universal_d_ConditionExpressionGroup = ConditionExpressionGroup;\n  type automationsActivationLogsV1ActivationLog_universal_d_Operator = Operator;\n  const automationsActivationLogsV1ActivationLog_universal_d_Operator: typeof Operator;\n  type automationsActivationLogsV1ActivationLog_universal_d_Type = Type;\n  const automationsActivationLogsV1ActivationLog_universal_d_Type: typeof Type;\n  type automationsActivationLogsV1ActivationLog_universal_d_AppDefinedAction = AppDefinedAction;\n  type automationsActivationLogsV1ActivationLog_universal_d_ConditionAction = ConditionAction;\n  type automationsActivationLogsV1ActivationLog_universal_d_DelayAction = DelayAction;\n  type automationsActivationLogsV1ActivationLog_universal_d_RateLimitAction = RateLimitAction;\n  type automationsActivationLogsV1ActivationLog_universal_d_SetVariablesAction = SetVariablesAction;\n  type automationsActivationLogsV1ActivationLog_universal_d_OutputAction = OutputAction;\n  type automationsActivationLogsV1ActivationLog_universal_d_AutomationConfigurationStatus = AutomationConfigurationStatus;\n  const automationsActivationLogsV1ActivationLog_universal_d_AutomationConfigurationStatus: typeof AutomationConfigurationStatus;\n  type automationsActivationLogsV1ActivationLog_universal_d_Trigger = Trigger;\n  type automationsActivationLogsV1ActivationLog_universal_d_Action = Action;\n  type automationsActivationLogsV1ActivationLog_universal_d_ActionInfoOneOf = ActionInfoOneOf;\n  type automationsActivationLogsV1ActivationLog_universal_d_Origin = Origin;\n  const automationsActivationLogsV1ActivationLog_universal_d_Origin: typeof Origin;\n  type automationsActivationLogsV1ActivationLog_universal_d_ApplicationOrigin = ApplicationOrigin;\n  type automationsActivationLogsV1ActivationLog_universal_d_PreinstalledOrigin = PreinstalledOrigin;\n  type automationsActivationLogsV1ActivationLog_universal_d_AutomationSettings = AutomationSettings;\n  type automationsActivationLogsV1ActivationLog_universal_d_DraftInfo = DraftInfo;\n  type automationsActivationLogsV1ActivationLog_universal_d_Enrichments = Enrichments;\n  type automationsActivationLogsV1ActivationLog_universal_d_UouDeleteRequest = UouDeleteRequest;\n  type automationsActivationLogsV1ActivationLog_universal_d_ClientEntityIdsByNamespace = ClientEntityIdsByNamespace;\n  type automationsActivationLogsV1ActivationLog_universal_d_GetActivationLogRequest = GetActivationLogRequest;\n  type automationsActivationLogsV1ActivationLog_universal_d_GetActivationLogResponse = GetActivationLogResponse;\n  type automationsActivationLogsV1ActivationLog_universal_d_ListActivationLogsRequest = ListActivationLogsRequest;\n  type automationsActivationLogsV1ActivationLog_universal_d_CursorPaging = CursorPaging;\n  type automationsActivationLogsV1ActivationLog_universal_d_ListActivationLogsResponse = ListActivationLogsResponse;\n  type automationsActivationLogsV1ActivationLog_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type automationsActivationLogsV1ActivationLog_universal_d_Cursors = Cursors;\n  type automationsActivationLogsV1ActivationLog_universal_d_SearchActivationLogsByPayloadPiiValueRequest = SearchActivationLogsByPayloadPiiValueRequest;\n  type automationsActivationLogsV1ActivationLog_universal_d_SearchActivationLogsByPayloadPiiValueResponse = SearchActivationLogsByPayloadPiiValueResponse;\n  type automationsActivationLogsV1ActivationLog_universal_d_MessageEnvelope = MessageEnvelope;\n  type automationsActivationLogsV1ActivationLog_universal_d_IdentificationData = IdentificationData;\n  type automationsActivationLogsV1ActivationLog_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type automationsActivationLogsV1ActivationLog_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const automationsActivationLogsV1ActivationLog_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const automationsActivationLogsV1ActivationLog_universal_d_getActivationLog: typeof getActivationLog;\n  const automationsActivationLogsV1ActivationLog_universal_d_listActivationLogs: typeof listActivationLogs;\n  type automationsActivationLogsV1ActivationLog_universal_d_ListActivationLogsOptions = ListActivationLogsOptions;\n  const automationsActivationLogsV1ActivationLog_universal_d_searchActivationLogsByPayloadPiiValue: typeof searchActivationLogsByPayloadPiiValue;\n  type automationsActivationLogsV1ActivationLog_universal_d_SearchActivationLogsByPayloadPiiValueOptions = SearchActivationLogsByPayloadPiiValueOptions;\n  namespace automationsActivationLogsV1ActivationLog_universal_d {\n    export {\n      automationsActivationLogsV1ActivationLog_universal_d_ActivationLog as ActivationLog,\n      automationsActivationLogsV1ActivationLog_universal_d_Target as Target,\n      automationsActivationLogsV1ActivationLog_universal_d_CancellationReason as CancellationReason,\n      automationsActivationLogsV1ActivationLog_universal_d_Identity as Identity,\n      automationsActivationLogsV1ActivationLog_universal_d_Status as Status,\n      automationsActivationLogsV1ActivationLog_universal_d_InitiatedStatusInfo as InitiatedStatusInfo,\n      automationsActivationLogsV1ActivationLog_universal_d_ScheduledStatusInfo as ScheduledStatusInfo,\n      automationsActivationLogsV1ActivationLog_universal_d_StartedStatusInfo as StartedStatusInfo,\n      automationsActivationLogsV1ActivationLog_universal_d_EndedStatusInfo as EndedStatusInfo,\n      automationsActivationLogsV1ActivationLog_universal_d_CancelledStatusInfo as CancelledStatusInfo,\n      automationsActivationLogsV1ActivationLog_universal_d_FailedStatusInfo as FailedStatusInfo,\n      automationsActivationLogsV1ActivationLog_universal_d_DomainEvent as DomainEvent,\n      automationsActivationLogsV1ActivationLog_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      automationsActivationLogsV1ActivationLog_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      automationsActivationLogsV1ActivationLog_universal_d_RestoreInfo as RestoreInfo,\n      automationsActivationLogsV1ActivationLog_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      automationsActivationLogsV1ActivationLog_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      automationsActivationLogsV1ActivationLog_universal_d_ActionEvent as ActionEvent,\n      automationsActivationLogsV1ActivationLog_universal_d_Empty as Empty,\n      automationsActivationLogsV1ActivationLog_universal_d_ActivationContinuedAfterSchedule as ActivationContinuedAfterSchedule,\n      automationsActivationLogsV1ActivationLog_universal_d_Automation as Automation,\n      automationsActivationLogsV1ActivationLog_universal_d_AutomationOriginInfoOneOf as AutomationOriginInfoOneOf,\n      automationsActivationLogsV1ActivationLog_universal_d_ActionSettings as ActionSettings,\n      automationsActivationLogsV1ActivationLog_universal_d_Domain as Domain,\n      automationsActivationLogsV1ActivationLog_universal_d_Enrichment as Enrichment,\n      automationsActivationLogsV1ActivationLog_universal_d_AuditInfo as AuditInfo,\n      automationsActivationLogsV1ActivationLog_universal_d_AuditInfoIdOneOf as AuditInfoIdOneOf,\n      automationsActivationLogsV1ActivationLog_universal_d_AutomationConfiguration as AutomationConfiguration,\n      automationsActivationLogsV1ActivationLog_universal_d_TimeUnit as TimeUnit,\n      automationsActivationLogsV1ActivationLog_universal_d_Filter as Filter,\n      automationsActivationLogsV1ActivationLog_universal_d_FutureDateActivationOffset as FutureDateActivationOffset,\n      automationsActivationLogsV1ActivationLog_universal_d_RateLimit as RateLimit,\n      automationsActivationLogsV1ActivationLog_universal_d_ConditionExpressionGroup as ConditionExpressionGroup,\n      automationsActivationLogsV1ActivationLog_universal_d_Operator as Operator,\n      automationsActivationLogsV1ActivationLog_universal_d_Type as Type,\n      automationsActivationLogsV1ActivationLog_universal_d_AppDefinedAction as AppDefinedAction,\n      automationsActivationLogsV1ActivationLog_universal_d_ConditionAction as ConditionAction,\n      automationsActivationLogsV1ActivationLog_universal_d_DelayAction as DelayAction,\n      automationsActivationLogsV1ActivationLog_universal_d_RateLimitAction as RateLimitAction,\n      automationsActivationLogsV1ActivationLog_universal_d_SetVariablesAction as SetVariablesAction,\n      automationsActivationLogsV1ActivationLog_universal_d_OutputAction as OutputAction,\n      automationsActivationLogsV1ActivationLog_universal_d_AutomationConfigurationStatus as AutomationConfigurationStatus,\n      automationsActivationLogsV1ActivationLog_universal_d_Trigger as Trigger,\n      automationsActivationLogsV1ActivationLog_universal_d_Action as Action,\n      automationsActivationLogsV1ActivationLog_universal_d_ActionInfoOneOf as ActionInfoOneOf,\n      automationsActivationLogsV1ActivationLog_universal_d_Origin as Origin,\n      automationsActivationLogsV1ActivationLog_universal_d_ApplicationOrigin as ApplicationOrigin,\n      automationsActivationLogsV1ActivationLog_universal_d_PreinstalledOrigin as PreinstalledOrigin,\n      automationsActivationLogsV1ActivationLog_universal_d_AutomationSettings as AutomationSettings,\n      automationsActivationLogsV1ActivationLog_universal_d_DraftInfo as DraftInfo,\n      automationsActivationLogsV1ActivationLog_universal_d_Enrichments as Enrichments,\n      automationsActivationLogsV1ActivationLog_universal_d_UouDeleteRequest as UouDeleteRequest,\n      automationsActivationLogsV1ActivationLog_universal_d_ClientEntityIdsByNamespace as ClientEntityIdsByNamespace,\n      automationsActivationLogsV1ActivationLog_universal_d_GetActivationLogRequest as GetActivationLogRequest,\n      automationsActivationLogsV1ActivationLog_universal_d_GetActivationLogResponse as GetActivationLogResponse,\n      automationsActivationLogsV1ActivationLog_universal_d_ListActivationLogsRequest as ListActivationLogsRequest,\n      automationsActivationLogsV1ActivationLog_universal_d_CursorPaging as CursorPaging,\n      automationsActivationLogsV1ActivationLog_universal_d_ListActivationLogsResponse as ListActivationLogsResponse,\n      automationsActivationLogsV1ActivationLog_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      automationsActivationLogsV1ActivationLog_universal_d_Cursors as Cursors,\n      automationsActivationLogsV1ActivationLog_universal_d_SearchActivationLogsByPayloadPiiValueRequest as SearchActivationLogsByPayloadPiiValueRequest,\n      automationsActivationLogsV1ActivationLog_universal_d_SearchActivationLogsByPayloadPiiValueResponse as SearchActivationLogsByPayloadPiiValueResponse,\n      automationsActivationLogsV1ActivationLog_universal_d_MessageEnvelope as MessageEnvelope,\n      automationsActivationLogsV1ActivationLog_universal_d_IdentificationData as IdentificationData,\n      automationsActivationLogsV1ActivationLog_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      automationsActivationLogsV1ActivationLog_universal_d_WebhookIdentityType as WebhookIdentityType,\n      automationsActivationLogsV1ActivationLog_universal_d_getActivationLog as getActivationLog,\n      automationsActivationLogsV1ActivationLog_universal_d_listActivationLogs as listActivationLogs,\n      automationsActivationLogsV1ActivationLog_universal_d_ListActivationLogsOptions as ListActivationLogsOptions,\n      automationsActivationLogsV1ActivationLog_universal_d_searchActivationLogsByPayloadPiiValue as searchActivationLogsByPayloadPiiValue,\n      automationsActivationLogsV1ActivationLog_universal_d_SearchActivationLogsByPayloadPiiValueOptions as SearchActivationLogsByPayloadPiiValueOptions,\n    };\n  }\n  \n  export { automationsActivationLogsV1ActivationLog_universal_d as activationLog };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-gift-vouchers.v2.d.ts",
      "content": "declare module \"wix-gift-vouchers.v2\" {\n  interface GiftCard extends GiftCardSourceInfoOneOf {\n      /** Information about the order which is associated with the gift card purchase. */\n      orderInfo?: OrderInfo;\n      /**\n       * Gift Card unique id.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Gift Card code.\n       *\n       * >**Notes:**\n       * + In the CreateGiftCard API response, the `code` field will contain the **full** gift card code, e.g., `1111-2222-3333-4444`.\n       * + In any other API response, as well as in the GiftCardCreated Domain Event, the `code` field will contain the **obfuscated** gift card code, e.g., `****-****-****-4444`.\n       */\n      code?: string | null;\n      /** Gift Card initial value. */\n      initialValue?: Amount;\n      /**\n       * Gift Card current balance.\n       * @readonly\n       */\n      balance?: Amount;\n      /** Gift Card currency. */\n      currency?: string | null;\n      /** Gift Card expiration date. */\n      expirationDate?: Date | null;\n      /**\n       * Gift Card creation date.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Gift Card last update date.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Gift Card disable date.\n       * @readonly\n       */\n      disabledDate?: Date | null;\n      /**\n       * Gift card notification info.\n       * @readonly\n       */\n      notificationInfo?: NotificationInfo;\n      /** Gift card source. */\n      source?: Source;\n  }\n  /** @oneof */\n  interface GiftCardSourceInfoOneOf {\n      /** Information about the order which is associated with the gift card purchase. */\n      orderInfo?: OrderInfo;\n  }\n  interface Amount {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n  }\n  interface NotificationInfo {\n      /**\n       * Gift Card recipient.\n       * @readonly\n       */\n      recipient?: Recipient;\n      /**\n       * Gift Card details notification date.\n       * Remains empty when notification is sent immediately and not scheduled for a future date.\n       * @readonly\n       */\n      notificationDate?: Date | null;\n      /**\n       * Notification's personalized message.\n       * @readonly\n       */\n      personalizedMessage?: string | null;\n      /**\n       * Gift Card sender.\n       * @readonly\n       */\n      sender?: Sender;\n  }\n  interface Recipient {\n      /**\n       * Gift Card recipient's email.\n       * @readonly\n       */\n      email?: string | null;\n      /**\n       * Gift Card recipient's name.\n       * @readonly\n       */\n      name?: string | null;\n  }\n  interface Sender {\n      /**\n       * Gift Card sender's email.\n       * @readonly\n       */\n      email?: string | null;\n      /**\n       * Gift Card sender's name.\n       * @readonly\n       */\n      name?: string | null;\n  }\n  enum Source {\n      UNKNOWN_SOURCE = \"UNKNOWN_SOURCE\",\n      ORDER = \"ORDER\",\n      MANUAL = \"MANUAL\"\n  }\n  interface OrderInfo {\n      /** ID of the order. */\n      orderId?: string;\n      /** Number of the order. */\n      orderNumber?: string | null;\n  }\n  interface GiftCardsAppInstallationCompleted$1 {\n  }\n  interface StoreCreditAppInstallationCompleted {\n  }\n  interface CreateGiftCardRequest {\n      /** Gift Card info for creation. */\n      giftCard: GiftCard;\n      /** Idempotency key for gift card creation. */\n      idempotencyKey?: string | null;\n  }\n  interface CreateGiftCardResponse {\n      /** The newly created gift card. */\n      giftCard?: GiftCard;\n  }\n  interface GetGiftCardRequest {\n      /** ID of the gift card to be retrieved. */\n      giftCardId: string;\n  }\n  interface GetGiftCardResponse {\n      /** The requested gift card. */\n      giftCard?: GiftCard;\n  }\n  interface QueryGiftCardsRequest {\n      /** WQL expression. */\n      query: CursorQuery$1;\n  }\n  interface CursorQuery$1 extends CursorQueryPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf$1 {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Sorting$1 {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder$1;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder$1 {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging$1 {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryGiftCardsResponse {\n      /** The retrieved gift cards. */\n      giftCards?: GiftCard[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$1;\n  }\n  interface CursorPagingMetadata$1 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors$1;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors$1 {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface SearchGiftCardsRequest {\n      /** WQL expression. */\n      search: CursorSearch;\n  }\n  interface CursorSearch extends CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * List of sort objects.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting$1[];\n      /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n      aggregations?: Aggregation[];\n      /** Free text to match in searchable fields. */\n      search?: SearchDetails;\n      /**\n       * UTC offset or IANA time zone. Valid values are\n       * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n       * and IANA time zone IDs, such as Europe/Rome\n       *\n       * Affects all filters and aggregations returned values.\n       * You may override this behavior in a specific filter by providing\n       * timestamps including time zone. e.g. `\"2023-12-20T10:52:34.795Z\"`\n       */\n      timeZone?: string | null;\n  }\n  /** @oneof */\n  interface CursorSearchPagingMethodOneOf {\n      /**\n       * Cursor paging options.\n       *\n       * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n       */\n      cursorPaging?: CursorPaging$1;\n  }\n  interface Aggregation extends AggregationKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation */\n      nested?: NestedAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: AggregationType;\n      /** Field to aggregate by, use dot notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n      /** Nested aggregation */\n      nested?: NestedAggregation;\n  }\n  interface RangeBucket {\n      /** Inclusive lower bound of the range. Required if to is not given */\n      from?: number | null;\n      /** Exclusive upper bound of the range. Required if from is not given */\n      to?: number | null;\n  }\n  enum SortType {\n      /** Should sort by number of matches */\n      COUNT = \"COUNT\",\n      /** Should sort by value of the field alphabetically */\n      VALUE = \"VALUE\"\n  }\n  enum SortDirection {\n      /** Should sort in descending order */\n      DESC = \"DESC\",\n      /** Should sort in ascending order */\n      ASC = \"ASC\"\n  }\n  enum MissingValues {\n      /** Should missing values be excluded from the aggregation results */\n      EXCLUDE = \"EXCLUDE\",\n      /** Should missing values be included in the aggregation results */\n      INCLUDE = \"INCLUDE\"\n  }\n  interface IncludeMissingValuesOptions {\n      /** Can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ... */\n      addToBucket?: string;\n  }\n  enum ScalarType {\n      UNKNOWN_SCALAR_TYPE = \"UNKNOWN_SCALAR_TYPE\",\n      /** Count of distinct values */\n      COUNT_DISTINCT = \"COUNT_DISTINCT\",\n      /** Minimum value */\n      MIN = \"MIN\",\n      /** Maximum value */\n      MAX = \"MAX\",\n      /** Sum of values */\n      SUM = \"SUM\",\n      /** Average of values */\n      AVG = \"AVG\"\n  }\n  interface ValueAggregation extends ValueAggregationOptionsOneOf {\n      /** Options for including missing values */\n      includeOptions?: IncludeMissingValuesOptions;\n      /** Should sort by number of matches or value of the field */\n      sortType?: SortType;\n      /** Should sort in ascending or descending order */\n      sortDirection?: SortDirection;\n      /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */\n      limit?: number | null;\n      /** Should missing values be included or excluded from the aggregation results. Default is EXCLUDE */\n      missingValues?: MissingValues;\n  }\n  /** @oneof */\n  interface ValueAggregationOptionsOneOf {\n      /** Options for including missing values */\n      includeOptions?: IncludeMissingValuesOptions;\n  }\n  enum NestedAggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\"\n  }\n  interface RangeAggregation {\n      /** List of range buckets, where during aggregation each entity will be placed in the first bucket where its value falls into based on provided range bounds */\n      buckets?: RangeBucket[];\n  }\n  interface ScalarAggregation {\n      /** Define the operator for the scalar aggregation */\n      type?: ScalarType;\n  }\n  interface DateHistogramAggregation {\n      /** Interval for date histogram aggregation */\n      interval?: Interval;\n  }\n  enum Interval {\n      UNKNOWN_INTERVAL = \"UNKNOWN_INTERVAL\",\n      /** Yearly interval */\n      YEAR = \"YEAR\",\n      /** Monthly interval */\n      MONTH = \"MONTH\",\n      /** Weekly interval */\n      WEEK = \"WEEK\",\n      /** Daily interval */\n      DAY = \"DAY\",\n      /** Hourly interval */\n      HOUR = \"HOUR\",\n      /** Minute interval */\n      MINUTE = \"MINUTE\",\n      /** Second interval */\n      SECOND = \"SECOND\"\n  }\n  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n      /** User-defined name of aggregation, should be unique, will appear in aggregation results */\n      name?: string | null;\n      /** Type of aggregation, client must provide matching aggregation field below */\n      type?: NestedAggregationType;\n      /** Field to aggregate by, use dont notation to specify json path */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationItemKindOneOf {\n      /** Value aggregation */\n      value?: ValueAggregation;\n      /** Range aggregation */\n      range?: RangeAggregation;\n      /** Scalar aggregation */\n      scalar?: ScalarAggregation;\n      /** Date histogram aggregation */\n      dateHistogram?: DateHistogramAggregation;\n  }\n  enum AggregationType {\n      UNKNOWN_AGGREGATION_TYPE = \"UNKNOWN_AGGREGATION_TYPE\",\n      /** An aggregation where result buckets are dynamically built - one per unique value */\n      VALUE = \"VALUE\",\n      /** An aggregation, where user can define set of ranges - each representing a bucket */\n      RANGE = \"RANGE\",\n      /** A single-value metric aggregation - e.g. min, max, sum, avg */\n      SCALAR = \"SCALAR\",\n      /** An aggregation, where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */\n      DATE_HISTOGRAM = \"DATE_HISTOGRAM\",\n      /** Multi-level aggregation, where each next aggregation is nested within previous one */\n      NESTED = \"NESTED\"\n  }\n  /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */\n  interface NestedAggregation {\n      /** Flattened list of aggregations, where each next aggregation is nested within previous one */\n      nestedAggregations?: NestedAggregationItem[];\n  }\n  interface SearchDetails {\n      /** Defines how separate search terms in `expression` are combined */\n      mode?: Mode;\n      /** Search term or expression */\n      expression?: string | null;\n      /** Fields to search in. If empty - will search in all searchable fields. Use dot notation to specify json path */\n      fields?: string[];\n      /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n      fuzzy?: boolean;\n  }\n  enum Mode {\n      /** Any of the search terms must be present */\n      OR = \"OR\",\n      /** All search terms must be present */\n      AND = \"AND\"\n  }\n  interface SearchGiftCardsResponse {\n      /** The retrieved gift cards. */\n      giftCards?: GiftCard[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata$1;\n      /** Aggregation data. */\n      aggregationData?: AggregationData;\n  }\n  interface AggregationData {\n      /** key = aggregation name (as derived from search request) */\n      results?: AggregationResults[];\n  }\n  interface ValueAggregationResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number;\n  }\n  interface RangeAggregationResult {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number;\n  }\n  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** User-defined name of aggregation, matches the one provided in request */\n      name?: string;\n      /** Type of aggregation that matches result */\n      type?: AggregationType;\n      /** Field to aggregate by, matches the one provided in request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface NestedAggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n  }\n  interface ValueResults {\n      /** List of value aggregations */\n      results?: ValueAggregationResult[];\n  }\n  interface RangeResults {\n      /** List of ranges returned in same order as requested */\n      results?: RangeAggregationResult[];\n  }\n  interface AggregationResultsScalarResult {\n      /** Type of scalar aggregation */\n      type?: ScalarType;\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedValueAggregationResult {\n      /** Value of the field */\n      value?: string;\n      /** Nested aggregations */\n      nestedResults?: NestedAggregationResults;\n  }\n  interface ValueResult {\n      /** Value of the field */\n      value?: string;\n      /** Count of entities with this value */\n      count?: number | null;\n  }\n  interface RangeResult {\n      /** Inclusive lower bound of the range */\n      from?: number | null;\n      /** Exclusive upper bound of the range */\n      to?: number | null;\n      /** Count of entities in this range */\n      count?: number | null;\n  }\n  interface ScalarResult {\n      /** Value of the scalar aggregation */\n      value?: number;\n  }\n  interface NestedResultValue extends NestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: ValueResult;\n      /** Range aggregation result */\n      range?: RangeResult;\n      /** Scalar aggregation result */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result */\n      dateHistogram?: ValueResult;\n  }\n  /** @oneof */\n  interface NestedResultValueResultOneOf {\n      /** Value aggregation result */\n      value?: ValueResult;\n      /** Range aggregation result */\n      range?: RangeResult;\n      /** Scalar aggregation result */\n      scalar?: ScalarResult;\n      /** Date histogram aggregation result */\n      dateHistogram?: ValueResult;\n  }\n  interface Results {\n      /** List of nested aggregations */\n      results?: Record<string, NestedResultValue>;\n  }\n  interface DateHistogramResult {\n      /** Date in ISO 8601 format */\n      value?: string;\n      /** Count of documents in the bucket */\n      count?: number;\n  }\n  interface GroupByValueResults {\n      /** List of value aggregations */\n      results?: NestedValueAggregationResult[];\n  }\n  interface DateHistogramResults {\n      /** List of date histogram aggregations */\n      results?: DateHistogramResult[];\n  }\n  /**\n   * Results of `NESTED` aggregation type in a flattened form\n   * aggregations in resulting array are keyed by requested aggregation `name`.\n   */\n  interface NestedResults {\n      /** List of nested aggregations */\n      results?: Results[];\n  }\n  interface AggregationResults extends AggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results */\n      nested?: NestedResults;\n      /** User-defined name of aggregation as derived from search request */\n      name?: string;\n      /** Type of aggregation that must match provided kind as derived from search request */\n      type?: AggregationType;\n      /** Field to aggregate by as derived from search request */\n      fieldPath?: string;\n  }\n  /** @oneof */\n  interface AggregationResultsResultOneOf {\n      /** Value aggregation results */\n      values?: ValueResults;\n      /** Range aggregation results */\n      ranges?: RangeResults;\n      /** Scalar aggregation results */\n      scalar?: AggregationResultsScalarResult;\n      /** Group by value aggregation results */\n      groupedByValue?: GroupByValueResults;\n      /** Date histogram aggregation results */\n      dateHistogram?: DateHistogramResults;\n      /** Nested aggregation results */\n      nested?: NestedResults;\n  }\n  interface SendGiftCardEmailRequest {\n      /** ID of the gift card to send the email for. */\n      giftCardId: string;\n      /**\n       * Optional. Email address of the recipient to whom the gift card should be sent.\n       * If not provided, the recipient's email will be retrieved from the gift card's associated recipient, if available.\n       */\n      recipientEmail?: string | null;\n  }\n  interface SendGiftCardEmailResponse {\n  }\n  interface DisableGiftCardRequest {\n      /** ID of the gift card to disable. */\n      giftCardId: string;\n  }\n  interface DisableGiftCardResponse {\n      /** The disabled gift card. */\n      giftCard?: GiftCard;\n  }\n  interface ListGiftCardsByEmailRequest {\n      /** Email. */\n      email: string;\n  }\n  interface ListGiftCardsByEmailResponse {\n      /** The retrieved gift cards. */\n      giftCards?: GiftCard[];\n  }\n  interface CountGiftCardsRequest {\n      filter?: Record<string, any> | null;\n  }\n  interface CountGiftCardsResponse {\n      count?: number;\n  }\n  interface DomainEvent$1 extends DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf$1 {\n      createdEvent?: EntityCreatedEvent$1;\n      updatedEvent?: EntityUpdatedEvent$1;\n      deletedEvent?: EntityDeletedEvent$1;\n      actionEvent?: ActionEvent$1;\n  }\n  interface EntityCreatedEvent$1 {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo$1;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo$1 {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent$1 {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent$1 {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent$1 {\n      bodyAsJson?: string;\n  }\n  interface Empty$1 {\n  }\n  interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n      /** A meta site id. */\n      metaSiteId?: string;\n      /** A meta site version. Monotonically increasing. */\n      version?: string;\n      /** A timestamp of the event. */\n      timestamp?: string;\n      /**\n       * TODO(meta-site): Change validation once validations are disabled for consumers\n       * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n       */\n      assets?: Asset[];\n  }\n  /** @oneof */\n  interface MetaSiteSpecialEventPayloadOneOf {\n      /** Emitted on a meta site creation. */\n      siteCreated?: SiteCreated;\n      /** Emitted on a meta site transfer completion. */\n      siteTransferred?: SiteTransferred;\n      /** Emitted on a meta site deletion. */\n      siteDeleted?: SiteDeleted;\n      /** Emitted on a meta site restoration. */\n      siteUndeleted?: SiteUndeleted;\n      /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n      sitePublished?: SitePublished;\n      /** Emitted on a meta site unpublish. */\n      siteUnpublished?: SiteUnpublished;\n      /** Emitted when meta site is marked as template. */\n      siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n      /** Emitted when meta site is marked as a WixSite. */\n      siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n      /** Emitted when an application is provisioned (installed). */\n      serviceProvisioned?: ServiceProvisioned;\n      /** Emitted when an application is removed (uninstalled). */\n      serviceRemoved?: ServiceRemoved;\n      /** Emitted when meta site name (URL slug) is changed. */\n      siteRenamedPayload?: SiteRenamed;\n      /** Emitted when meta site was permanently deleted. */\n      hardDeleted?: SiteHardDeleted;\n      /** Emitted on a namespace change. */\n      namespaceChanged?: NamespaceChanged;\n      /** Emitted when Studio is attached. */\n      studioAssigned?: StudioAssigned;\n      /** Emitted when Studio is detached. */\n      studioUnassigned?: StudioUnassigned;\n  }\n  interface Asset {\n      /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */\n      appDefId?: string;\n      /** An instance id. For legacy reasons may be UUID or a string. */\n      instanceId?: string;\n      /** An application state. */\n      state?: State;\n  }\n  enum State {\n      UNKNOWN = \"UNKNOWN\",\n      ENABLED = \"ENABLED\",\n      DISABLED = \"DISABLED\",\n      PENDING = \"PENDING\",\n      DEMO = \"DEMO\"\n  }\n  interface SiteCreated {\n      /** A template identifier (empty if not created from a template). */\n      originTemplateId?: string;\n      /** An account id of the owner. */\n      ownerId?: string;\n      /** A context in which meta site was created. */\n      context?: SiteCreatedContext;\n      /**\n       * A meta site id from which this site was created.\n       *\n       * In case of a creation from a template it's a template id.\n       * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n       */\n      originMetaSiteId?: string | null;\n      /** A meta site name (URL slug). */\n      siteName?: string;\n      /** A namespace. */\n      namespace?: Namespace;\n  }\n  enum SiteCreatedContext {\n      /** A valid option, we don't expose all reasons why site might be created. */\n      OTHER = \"OTHER\",\n      /** A meta site was created from template. */\n      FROM_TEMPLATE = \"FROM_TEMPLATE\",\n      /** A meta site was created by copying of the transfferred meta site. */\n      DUPLICATE_BY_SITE_TRANSFER = \"DUPLICATE_BY_SITE_TRANSFER\",\n      /** A copy of existing meta site. */\n      DUPLICATE = \"DUPLICATE\",\n      /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n      OLD_SITE_TRANSFER = \"OLD_SITE_TRANSFER\",\n      /** deprecated A meta site was created for Flash editor. */\n      FLASH = \"FLASH\"\n  }\n  enum Namespace {\n      UNKNOWN_NAMESPACE = \"UNKNOWN_NAMESPACE\",\n      /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n      WIX = \"WIX\",\n      /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      SHOUT_OUT = \"SHOUT_OUT\",\n      /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ALBUMS = \"ALBUMS\",\n      /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      WIX_STORES_TEST_DRIVE = \"WIX_STORES_TEST_DRIVE\",\n      /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      HOTELS = \"HOTELS\",\n      /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      CLUBS = \"CLUBS\",\n      /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      ONBOARDING_DRAFT = \"ONBOARDING_DRAFT\",\n      /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_SITE = \"DEV_SITE\",\n      /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      LOGOS = \"LOGOS\",\n      /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      VIDEO_MAKER = \"VIDEO_MAKER\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      PARTNER_DASHBOARD = \"PARTNER_DASHBOARD\",\n      /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n      DEV_CENTER_COMPANY = \"DEV_CENTER_COMPANY\",\n      /**\n       * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n       *\n       * Meta site with this namespace will *not* be shown in a user's site list by default.\n       */\n      HTML_DRAFT = \"HTML_DRAFT\",\n      /**\n       * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n       * Will be accessible from Site List and will not have a website app.\n       * Once the user attaches a site, the site will become a regular wixsite.\n       */\n      SITELESS_BUSINESS = \"SITELESS_BUSINESS\",\n      /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n      CREATOR_ECONOMY = \"CREATOR_ECONOMY\",\n      /** It is to be used in the Business First efforts. */\n      DASHBOARD_FIRST = \"DASHBOARD_FIRST\",\n      /** Bookings business flow with no site. */\n      ANYWHERE = \"ANYWHERE\",\n      /** Namespace for Headless Backoffice with no editor */\n      HEADLESS = \"HEADLESS\",\n      /**\n       * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n       * The site will be used for account level CSM feature for enterprise\n       */\n      ACCOUNT_MASTER_CMS = \"ACCOUNT_MASTER_CMS\",\n      /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n      RISE = \"RISE\",\n      /**\n       * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n       * There's a blank site behind the scene but it's blank).\n       * The Mobile company will be the owner of this namespace.\n       */\n      BRANDED_FIRST = \"BRANDED_FIRST\",\n      /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n      NOWNIA = \"NOWNIA\",\n      /**\n       * UGC Templates are templates that are created by users for personal use and to sale to other users.\n       * The Partners company owns this namespace.\n       */\n      UGC_TEMPLATE = \"UGC_TEMPLATE\",\n      /** Codux Headless Sites */\n      CODUX = \"CODUX\",\n      /** Bobb - AI Design Creator. */\n      MEDIA_DESIGN_CREATOR = \"MEDIA_DESIGN_CREATOR\"\n  }\n  /** Site transferred to another user. */\n  interface SiteTransferred {\n      /** A previous owner id (user that transfers meta site). */\n      oldOwnerId?: string;\n      /** A new owner id (user that accepts meta site). */\n      newOwnerId?: string;\n  }\n  /** Soft deletion of the meta site. Could be restored. */\n  interface SiteDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface DeleteContext {\n      /** When the meta site was deleted. */\n      dateDeleted?: Date | null;\n      /** A status. */\n      deleteStatus?: DeleteStatus;\n      /** A reason (flow). */\n      deleteOrigin?: string;\n      /** A service that deleted it. */\n      initiatorId?: string | null;\n  }\n  enum DeleteStatus {\n      UNKNOWN = \"UNKNOWN\",\n      TRASH = \"TRASH\",\n      DELETED = \"DELETED\",\n      PENDING_PURGE = \"PENDING_PURGE\"\n  }\n  /** Restoration of the meta site. */\n  interface SiteUndeleted {\n  }\n  /** First publish of a meta site. Or subsequent publish after unpublish. */\n  interface SitePublished {\n  }\n  interface SiteUnpublished {\n      /** A list of URLs previously associated with the meta site. */\n      urls?: string[];\n  }\n  interface SiteMarkedAsTemplate {\n  }\n  interface SiteMarkedAsWixSite {\n  }\n  interface ServiceProvisioned {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** An instance id from which this instance is originated. */\n      originInstanceId?: string;\n      /** A version. */\n      version?: string | null;\n      /** The origin meta site id */\n      originMetaSiteId?: string | null;\n  }\n  interface ServiceRemoved {\n      /** Either UUID or EmbeddedServiceType. */\n      appDefId?: string;\n      /** Not only UUID. Something here could be something weird. */\n      instanceId?: string;\n      /** A version. */\n      version?: string | null;\n  }\n  /** Rename of the site. Meaning, free public url has been changed as well. */\n  interface SiteRenamed {\n      /** A new meta site name (URL slug). */\n      newSiteName?: string;\n      /** A previous meta site name (URL slug). */\n      oldSiteName?: string;\n  }\n  /**\n   * Hard deletion of the meta site.\n   *\n   * Could not be restored. Therefore it's desirable to cleanup data.\n   */\n  interface SiteHardDeleted {\n      /** A deletion context. */\n      deleteContext?: DeleteContext;\n  }\n  interface NamespaceChanged {\n      /** A previous namespace. */\n      oldNamespace?: Namespace;\n      /** A new namespace. */\n      newNamespace?: Namespace;\n  }\n  /** Assigned Studio editor */\n  interface StudioAssigned {\n  }\n  /** Unassigned Studio editor */\n  interface StudioUnassigned {\n  }\n  /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\n  interface SitePropertiesNotification {\n      /** The site ID for which this update notification applies. */\n      metasiteId?: string;\n      /** The actual update event. */\n      event?: SitePropertiesEvent;\n      /** A convenience set of mappings from the MetaSite ID to its constituent services. */\n      translations?: Translation[];\n      /** Context of the notification */\n      changeContext?: ChangeContext;\n  }\n  /** The actual update event for a particular notification. */\n  interface SitePropertiesEvent {\n      /** Version of the site's properties represented by this update. */\n      version?: number;\n      /**\n       * Set of properties that were updated - corresponds to the fields in \"properties\".\n       * @internal\n       */\n      fields?: string[];\n      /** Updated properties. */\n      properties?: Properties;\n  }\n  interface Properties {\n      /** Site categories. */\n      categories?: Categories;\n      /** Site locale. */\n      locale?: Locale;\n      /**\n       * Site language.\n       *\n       * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n       */\n      language?: string | null;\n      /**\n       * Site currency format used to bill customers.\n       *\n       * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n       */\n      paymentCurrency?: string | null;\n      /** Timezone in `America/New_York` format. */\n      timeZone?: string | null;\n      /** Email address. */\n      email?: string | null;\n      /** Phone number. */\n      phone?: string | null;\n      /** Fax number. */\n      fax?: string | null;\n      /** Address. */\n      address?: Address;\n      /** Site display name. */\n      siteDisplayName?: string | null;\n      /** Business name. */\n      businessName?: string | null;\n      /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n      logo?: string | null;\n      /** Site description. */\n      description?: string | null;\n      /**\n       * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n       *\n       * __Note:__ Not supported by Wix Bookings.\n       */\n      businessSchedule?: BusinessSchedule;\n      /** Supported languages of a site and the primary language. */\n      multilingual?: Multilingual;\n      /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n      consentPolicy?: ConsentPolicy;\n      /**\n       * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n       *\n       * Site business type.\n       */\n      businessConfig?: string | null;\n      /** External site URL that uses Wix as its headless business solution. */\n      externalSiteUrl?: string | null;\n      /** Track clicks analytics. */\n      trackClicksAnalytics?: boolean;\n  }\n  interface Categories {\n      /** Primary site category. */\n      primary?: string;\n      /** Secondary site category. */\n      secondary?: string[];\n      /** Business Term Id */\n      businessTermId?: string | null;\n  }\n  interface Locale {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n      country?: string;\n  }\n  interface Address {\n      /** Street name. */\n      street?: string;\n      /** City name. */\n      city?: string;\n      /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      country?: string;\n      /** State. */\n      state?: string;\n      /** Zip or postal code. */\n      zip?: string;\n      /** Extra information to be displayed in the address. */\n      hint?: AddressHint;\n      /** Whether this address represents a physical location. */\n      isPhysical?: boolean;\n      /** Google-formatted version of this address. */\n      googleFormattedAddress?: string;\n      /** Street number. */\n      streetNumber?: string;\n      /** Apartment number. */\n      apartmentNumber?: string;\n      /** Geographic coordinates of location. */\n      coordinates?: GeoCoordinates;\n  }\n  /**\n   * Extra information on displayed addresses.\n   * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n   * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n   */\n  interface AddressHint {\n      /** Extra text displayed next to, or instead of, the actual address. */\n      text?: string;\n      /** Where the extra text should be displayed. */\n      placement?: PlacementType;\n  }\n  /** Where the extra text should be displayed: before, after or instead of the actual address. */\n  enum PlacementType {\n      BEFORE = \"BEFORE\",\n      AFTER = \"AFTER\",\n      REPLACE = \"REPLACE\"\n  }\n  /** Geocoordinates for a particular address. */\n  interface GeoCoordinates {\n      /** Latitude of the location. Must be between -90 and 90. */\n      latitude?: number;\n      /** Longitude of the location. Must be between -180 and 180. */\n      longitude?: number;\n  }\n  /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\n  interface BusinessSchedule {\n      /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */\n      periods?: TimePeriod$1[];\n      /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */\n      specialHourPeriod?: SpecialHourPeriod[];\n  }\n  /** Weekly recurring time periods when the business is regularly open or the service is available. */\n  interface TimePeriod$1 {\n      /** Day of the week the period starts on. */\n      openDay?: DayOfWeek;\n      /**\n       * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       */\n      openTime?: string;\n      /** Day of the week the period ends on. */\n      closeDay?: DayOfWeek;\n      /**\n       * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n       * midnight at the end of the specified day.\n       *\n       * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n       */\n      closeTime?: string;\n  }\n  /** Enumerates the days of the week. */\n  enum DayOfWeek {\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\",\n      SUNDAY = \"SUNDAY\"\n  }\n  /** Exception to the business's regular hours. The business can be open or closed during the exception. */\n  interface SpecialHourPeriod {\n      /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      startDate?: string;\n      /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n      endDate?: string;\n      /**\n       * Whether the business is closed (or the service is not available) during the exception.\n       *\n       * Default: `true`.\n       */\n      isClosed?: boolean;\n      /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n      comment?: string;\n  }\n  interface Multilingual {\n      /** Supported languages list. */\n      supportedLanguages?: SupportedLanguage[];\n      /** Whether to redirect to user language. */\n      autoRedirect?: boolean;\n  }\n  interface SupportedLanguage {\n      /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n      languageCode?: string;\n      /** Locale. */\n      locale?: Locale;\n      /** Whether the supported language is the primary language for the site. */\n      isPrimary?: boolean;\n      /** Language icon. */\n      countryCode?: string;\n      /** How the language will be resolved. For internal use. */\n      resolutionMethod?: ResolutionMethod;\n  }\n  enum ResolutionMethod {\n      QUERY_PARAM = \"QUERY_PARAM\",\n      SUBDOMAIN = \"SUBDOMAIN\",\n      SUBDIRECTORY = \"SUBDIRECTORY\"\n  }\n  interface ConsentPolicy {\n      /** Whether the site uses cookies that are essential to site operation. */\n      essential?: boolean | null;\n      /** Whether the site uses cookies that affect site performance and other functional measurements. */\n      functional?: boolean | null;\n      /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n      analytics?: boolean | null;\n      /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n      advertising?: boolean | null;\n      /** CCPA compliance flag. */\n      dataToThirdParty?: boolean | null;\n  }\n  /** A single mapping from the MetaSite ID to a particular service. */\n  interface Translation {\n      /** The service type. */\n      serviceType?: string;\n      /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n      appDefId?: string;\n      /** The instance ID of the service. */\n      instanceId?: string;\n  }\n  interface ChangeContext extends ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: V4SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  /** @oneof */\n  interface ChangeContextPayloadOneOf {\n      /** Properties were updated. */\n      propertiesChange?: PropertiesChange;\n      /** Default properties were created on site creation. */\n      siteCreated?: V4SiteCreated;\n      /** Properties were cloned on site cloning. */\n      siteCloned?: SiteCloned;\n  }\n  interface PropertiesChange {\n  }\n  interface V4SiteCreated {\n      /** Origin template site id. */\n      originTemplateId?: string | null;\n  }\n  interface SiteCloned {\n      /** Origin site id. */\n      originMetaSiteId?: string;\n  }\n  interface TriggerGiftCardsAppInstallationFlowEvent$1 {\n      /** The meta site ID to trigger installation flow for. */\n      metaSiteId?: string;\n  }\n  interface MessageEnvelope$1 {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData$1;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType$1;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf$1 {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a gift card.\n   * @param giftCard - Gift Card info for creation.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCard\n   * @requiredField giftCard.currency\n   * @requiredField giftCard.initialValue\n   * @requiredField giftCard.initialValue.amount\n   * @requiredField giftCard.source\n   * @permissionId GIFT_CARDS.GIFT_CARD_CREATE\n   * @adminMethod\n   * @returns The newly created gift card.\n   */\n  function createGiftCard(giftCard: GiftCard, options?: CreateGiftCardOptions): Promise<GiftCard>;\n  interface CreateGiftCardOptions {\n      /** Idempotency key for gift card creation. */\n      idempotencyKey?: string | null;\n  }\n  /**\n   * Retrieves a gift card.\n   * @param giftCardId - ID of the gift card to be retrieved.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCardId\n   * @permissionId GIFT_CARDS.GIFT_CARD_READ\n   * @adminMethod\n   * @returns The requested gift card.\n   */\n  function getGiftCard(giftCardId: string): Promise<GiftCard>;\n  /**\n   * Retrieves a list of gift cards, given the provided [paging, filtering, and sorting][1].\n   *\n   * To learn how to query gift cards, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId GIFT_CARDS.GIFT_CARD_READ\n   * @adminMethod\n   */\n  function queryGiftCards(): GiftCardsQueryBuilder;\n  interface QueryCursorResult$1 {\n      cursors: Cursors$1;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface GiftCardsQueryResult extends QueryCursorResult$1 {\n      items: GiftCard[];\n      query: GiftCardsQueryBuilder;\n      next: () => Promise<GiftCardsQueryResult>;\n      prev: () => Promise<GiftCardsQueryResult>;\n  }\n  interface GiftCardsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'code', value: string) => GiftCardsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'expirationDate' | '_createdDate' | '_updatedDate', value: any[]) => GiftCardsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'expirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'code' | 'initialValue' | 'balance' | 'expirationDate' | '_createdDate' | '_updatedDate', value: boolean) => GiftCardsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'code' | 'initialValue' | 'balance' | 'expirationDate' | '_createdDate' | '_updatedDate'>) => GiftCardsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'code' | 'initialValue' | 'balance' | 'expirationDate' | '_createdDate' | '_updatedDate'>) => GiftCardsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => GiftCardsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => GiftCardsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<GiftCardsQueryResult>;\n  }\n  /**\n   * Retrieves a list of gift cards, given the provided [paging, filtering, and sorting][1].\n   *\n   * To learn how to search gift cards, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @param search - WQL expression.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField search\n   * @permissionId GIFT_CARDS.GIFT_CARD_READ\n   * @adminMethod\n   */\n  function searchGiftCards(search: CursorSearch): Promise<SearchGiftCardsResponse>;\n  /**\n   * Sends a gift card to its recipient.\n   * @param giftCardId - ID of the gift card to send the email for.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCardId\n   * @permissionId GIFT_CARDS.GIFT_CARD_SEND_EMAIL\n   * @adminMethod\n   */\n  function sendGiftCardEmail(giftCardId: string, options?: SendGiftCardEmailOptions): Promise<void>;\n  interface SendGiftCardEmailOptions {\n      /**\n       * Optional. Email address of the recipient to whom the gift card should be sent.\n       * If not provided, the recipient's email will be retrieved from the gift card's associated recipient, if available.\n       */\n      recipientEmail?: string | null;\n  }\n  /**\n   * Disables a gift card.\n   * @param giftCardId - ID of the gift card to disable.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCardId\n   * @permissionId GIFT_CARDS.GIFT_CARD_DISABLE\n   * @adminMethod\n   */\n  function disableGiftCard(giftCardId: string): Promise<DisableGiftCardResponse>;\n  /**\n   * List gift cards by email (either sender's or recipient's email).\n   * No more than 50 gift cards will be returned per request.\n   * A default sorting is applied, by gift card's creation date, in descending order.\n   * @param email - Email.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField email\n   * @permissionId GIFT_CARDS.GIFT_CARD_READ\n   * @adminMethod\n   */\n  function listGiftCardsByEmail(email: string): Promise<ListGiftCardsByEmailResponse>;\n  /** @public\n   * @documentationMaturity preview\n   * @permissionId GIFT_CARDS.GIFT_CARD_READ\n   * @adminMethod\n   */\n  function countGiftCards(options?: CountGiftCardsOptions): Promise<CountGiftCardsResponse>;\n  interface CountGiftCardsOptions {\n      filter?: Record<string, any> | null;\n  }\n  \n  type giftCardsV1GiftCard_universal_d_GiftCard = GiftCard;\n  type giftCardsV1GiftCard_universal_d_GiftCardSourceInfoOneOf = GiftCardSourceInfoOneOf;\n  type giftCardsV1GiftCard_universal_d_Amount = Amount;\n  type giftCardsV1GiftCard_universal_d_NotificationInfo = NotificationInfo;\n  type giftCardsV1GiftCard_universal_d_Recipient = Recipient;\n  type giftCardsV1GiftCard_universal_d_Sender = Sender;\n  type giftCardsV1GiftCard_universal_d_Source = Source;\n  const giftCardsV1GiftCard_universal_d_Source: typeof Source;\n  type giftCardsV1GiftCard_universal_d_OrderInfo = OrderInfo;\n  type giftCardsV1GiftCard_universal_d_StoreCreditAppInstallationCompleted = StoreCreditAppInstallationCompleted;\n  type giftCardsV1GiftCard_universal_d_CreateGiftCardRequest = CreateGiftCardRequest;\n  type giftCardsV1GiftCard_universal_d_CreateGiftCardResponse = CreateGiftCardResponse;\n  type giftCardsV1GiftCard_universal_d_GetGiftCardRequest = GetGiftCardRequest;\n  type giftCardsV1GiftCard_universal_d_GetGiftCardResponse = GetGiftCardResponse;\n  type giftCardsV1GiftCard_universal_d_QueryGiftCardsRequest = QueryGiftCardsRequest;\n  type giftCardsV1GiftCard_universal_d_QueryGiftCardsResponse = QueryGiftCardsResponse;\n  type giftCardsV1GiftCard_universal_d_SearchGiftCardsRequest = SearchGiftCardsRequest;\n  type giftCardsV1GiftCard_universal_d_CursorSearch = CursorSearch;\n  type giftCardsV1GiftCard_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;\n  type giftCardsV1GiftCard_universal_d_Aggregation = Aggregation;\n  type giftCardsV1GiftCard_universal_d_AggregationKindOneOf = AggregationKindOneOf;\n  type giftCardsV1GiftCard_universal_d_RangeBucket = RangeBucket;\n  type giftCardsV1GiftCard_universal_d_SortType = SortType;\n  const giftCardsV1GiftCard_universal_d_SortType: typeof SortType;\n  type giftCardsV1GiftCard_universal_d_SortDirection = SortDirection;\n  const giftCardsV1GiftCard_universal_d_SortDirection: typeof SortDirection;\n  type giftCardsV1GiftCard_universal_d_MissingValues = MissingValues;\n  const giftCardsV1GiftCard_universal_d_MissingValues: typeof MissingValues;\n  type giftCardsV1GiftCard_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;\n  type giftCardsV1GiftCard_universal_d_ScalarType = ScalarType;\n  const giftCardsV1GiftCard_universal_d_ScalarType: typeof ScalarType;\n  type giftCardsV1GiftCard_universal_d_ValueAggregation = ValueAggregation;\n  type giftCardsV1GiftCard_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;\n  type giftCardsV1GiftCard_universal_d_NestedAggregationType = NestedAggregationType;\n  const giftCardsV1GiftCard_universal_d_NestedAggregationType: typeof NestedAggregationType;\n  type giftCardsV1GiftCard_universal_d_RangeAggregation = RangeAggregation;\n  type giftCardsV1GiftCard_universal_d_ScalarAggregation = ScalarAggregation;\n  type giftCardsV1GiftCard_universal_d_DateHistogramAggregation = DateHistogramAggregation;\n  type giftCardsV1GiftCard_universal_d_Interval = Interval;\n  const giftCardsV1GiftCard_universal_d_Interval: typeof Interval;\n  type giftCardsV1GiftCard_universal_d_NestedAggregationItem = NestedAggregationItem;\n  type giftCardsV1GiftCard_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;\n  type giftCardsV1GiftCard_universal_d_AggregationType = AggregationType;\n  const giftCardsV1GiftCard_universal_d_AggregationType: typeof AggregationType;\n  type giftCardsV1GiftCard_universal_d_NestedAggregation = NestedAggregation;\n  type giftCardsV1GiftCard_universal_d_SearchDetails = SearchDetails;\n  type giftCardsV1GiftCard_universal_d_Mode = Mode;\n  const giftCardsV1GiftCard_universal_d_Mode: typeof Mode;\n  type giftCardsV1GiftCard_universal_d_SearchGiftCardsResponse = SearchGiftCardsResponse;\n  type giftCardsV1GiftCard_universal_d_AggregationData = AggregationData;\n  type giftCardsV1GiftCard_universal_d_ValueAggregationResult = ValueAggregationResult;\n  type giftCardsV1GiftCard_universal_d_RangeAggregationResult = RangeAggregationResult;\n  type giftCardsV1GiftCard_universal_d_NestedAggregationResults = NestedAggregationResults;\n  type giftCardsV1GiftCard_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;\n  type giftCardsV1GiftCard_universal_d_ValueResults = ValueResults;\n  type giftCardsV1GiftCard_universal_d_RangeResults = RangeResults;\n  type giftCardsV1GiftCard_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;\n  type giftCardsV1GiftCard_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;\n  type giftCardsV1GiftCard_universal_d_ValueResult = ValueResult;\n  type giftCardsV1GiftCard_universal_d_RangeResult = RangeResult;\n  type giftCardsV1GiftCard_universal_d_ScalarResult = ScalarResult;\n  type giftCardsV1GiftCard_universal_d_NestedResultValue = NestedResultValue;\n  type giftCardsV1GiftCard_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;\n  type giftCardsV1GiftCard_universal_d_Results = Results;\n  type giftCardsV1GiftCard_universal_d_DateHistogramResult = DateHistogramResult;\n  type giftCardsV1GiftCard_universal_d_GroupByValueResults = GroupByValueResults;\n  type giftCardsV1GiftCard_universal_d_DateHistogramResults = DateHistogramResults;\n  type giftCardsV1GiftCard_universal_d_NestedResults = NestedResults;\n  type giftCardsV1GiftCard_universal_d_AggregationResults = AggregationResults;\n  type giftCardsV1GiftCard_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;\n  type giftCardsV1GiftCard_universal_d_SendGiftCardEmailRequest = SendGiftCardEmailRequest;\n  type giftCardsV1GiftCard_universal_d_SendGiftCardEmailResponse = SendGiftCardEmailResponse;\n  type giftCardsV1GiftCard_universal_d_DisableGiftCardRequest = DisableGiftCardRequest;\n  type giftCardsV1GiftCard_universal_d_DisableGiftCardResponse = DisableGiftCardResponse;\n  type giftCardsV1GiftCard_universal_d_ListGiftCardsByEmailRequest = ListGiftCardsByEmailRequest;\n  type giftCardsV1GiftCard_universal_d_ListGiftCardsByEmailResponse = ListGiftCardsByEmailResponse;\n  type giftCardsV1GiftCard_universal_d_CountGiftCardsRequest = CountGiftCardsRequest;\n  type giftCardsV1GiftCard_universal_d_CountGiftCardsResponse = CountGiftCardsResponse;\n  type giftCardsV1GiftCard_universal_d_MetaSiteSpecialEvent = MetaSiteSpecialEvent;\n  type giftCardsV1GiftCard_universal_d_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;\n  type giftCardsV1GiftCard_universal_d_Asset = Asset;\n  type giftCardsV1GiftCard_universal_d_State = State;\n  const giftCardsV1GiftCard_universal_d_State: typeof State;\n  type giftCardsV1GiftCard_universal_d_SiteCreated = SiteCreated;\n  type giftCardsV1GiftCard_universal_d_SiteCreatedContext = SiteCreatedContext;\n  const giftCardsV1GiftCard_universal_d_SiteCreatedContext: typeof SiteCreatedContext;\n  type giftCardsV1GiftCard_universal_d_Namespace = Namespace;\n  const giftCardsV1GiftCard_universal_d_Namespace: typeof Namespace;\n  type giftCardsV1GiftCard_universal_d_SiteTransferred = SiteTransferred;\n  type giftCardsV1GiftCard_universal_d_SiteDeleted = SiteDeleted;\n  type giftCardsV1GiftCard_universal_d_DeleteContext = DeleteContext;\n  type giftCardsV1GiftCard_universal_d_DeleteStatus = DeleteStatus;\n  const giftCardsV1GiftCard_universal_d_DeleteStatus: typeof DeleteStatus;\n  type giftCardsV1GiftCard_universal_d_SiteUndeleted = SiteUndeleted;\n  type giftCardsV1GiftCard_universal_d_SitePublished = SitePublished;\n  type giftCardsV1GiftCard_universal_d_SiteUnpublished = SiteUnpublished;\n  type giftCardsV1GiftCard_universal_d_SiteMarkedAsTemplate = SiteMarkedAsTemplate;\n  type giftCardsV1GiftCard_universal_d_SiteMarkedAsWixSite = SiteMarkedAsWixSite;\n  type giftCardsV1GiftCard_universal_d_ServiceProvisioned = ServiceProvisioned;\n  type giftCardsV1GiftCard_universal_d_ServiceRemoved = ServiceRemoved;\n  type giftCardsV1GiftCard_universal_d_SiteRenamed = SiteRenamed;\n  type giftCardsV1GiftCard_universal_d_SiteHardDeleted = SiteHardDeleted;\n  type giftCardsV1GiftCard_universal_d_NamespaceChanged = NamespaceChanged;\n  type giftCardsV1GiftCard_universal_d_StudioAssigned = StudioAssigned;\n  type giftCardsV1GiftCard_universal_d_StudioUnassigned = StudioUnassigned;\n  type giftCardsV1GiftCard_universal_d_SitePropertiesNotification = SitePropertiesNotification;\n  type giftCardsV1GiftCard_universal_d_SitePropertiesEvent = SitePropertiesEvent;\n  type giftCardsV1GiftCard_universal_d_Properties = Properties;\n  type giftCardsV1GiftCard_universal_d_Categories = Categories;\n  type giftCardsV1GiftCard_universal_d_Locale = Locale;\n  type giftCardsV1GiftCard_universal_d_Address = Address;\n  type giftCardsV1GiftCard_universal_d_AddressHint = AddressHint;\n  type giftCardsV1GiftCard_universal_d_PlacementType = PlacementType;\n  const giftCardsV1GiftCard_universal_d_PlacementType: typeof PlacementType;\n  type giftCardsV1GiftCard_universal_d_GeoCoordinates = GeoCoordinates;\n  type giftCardsV1GiftCard_universal_d_BusinessSchedule = BusinessSchedule;\n  type giftCardsV1GiftCard_universal_d_DayOfWeek = DayOfWeek;\n  const giftCardsV1GiftCard_universal_d_DayOfWeek: typeof DayOfWeek;\n  type giftCardsV1GiftCard_universal_d_SpecialHourPeriod = SpecialHourPeriod;\n  type giftCardsV1GiftCard_universal_d_Multilingual = Multilingual;\n  type giftCardsV1GiftCard_universal_d_SupportedLanguage = SupportedLanguage;\n  type giftCardsV1GiftCard_universal_d_ResolutionMethod = ResolutionMethod;\n  const giftCardsV1GiftCard_universal_d_ResolutionMethod: typeof ResolutionMethod;\n  type giftCardsV1GiftCard_universal_d_ConsentPolicy = ConsentPolicy;\n  type giftCardsV1GiftCard_universal_d_Translation = Translation;\n  type giftCardsV1GiftCard_universal_d_ChangeContext = ChangeContext;\n  type giftCardsV1GiftCard_universal_d_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;\n  type giftCardsV1GiftCard_universal_d_PropertiesChange = PropertiesChange;\n  type giftCardsV1GiftCard_universal_d_V4SiteCreated = V4SiteCreated;\n  type giftCardsV1GiftCard_universal_d_SiteCloned = SiteCloned;\n  const giftCardsV1GiftCard_universal_d_createGiftCard: typeof createGiftCard;\n  type giftCardsV1GiftCard_universal_d_CreateGiftCardOptions = CreateGiftCardOptions;\n  const giftCardsV1GiftCard_universal_d_getGiftCard: typeof getGiftCard;\n  const giftCardsV1GiftCard_universal_d_queryGiftCards: typeof queryGiftCards;\n  type giftCardsV1GiftCard_universal_d_GiftCardsQueryResult = GiftCardsQueryResult;\n  type giftCardsV1GiftCard_universal_d_GiftCardsQueryBuilder = GiftCardsQueryBuilder;\n  const giftCardsV1GiftCard_universal_d_searchGiftCards: typeof searchGiftCards;\n  const giftCardsV1GiftCard_universal_d_sendGiftCardEmail: typeof sendGiftCardEmail;\n  type giftCardsV1GiftCard_universal_d_SendGiftCardEmailOptions = SendGiftCardEmailOptions;\n  const giftCardsV1GiftCard_universal_d_disableGiftCard: typeof disableGiftCard;\n  const giftCardsV1GiftCard_universal_d_listGiftCardsByEmail: typeof listGiftCardsByEmail;\n  const giftCardsV1GiftCard_universal_d_countGiftCards: typeof countGiftCards;\n  type giftCardsV1GiftCard_universal_d_CountGiftCardsOptions = CountGiftCardsOptions;\n  namespace giftCardsV1GiftCard_universal_d {\n    export {\n      giftCardsV1GiftCard_universal_d_GiftCard as GiftCard,\n      giftCardsV1GiftCard_universal_d_GiftCardSourceInfoOneOf as GiftCardSourceInfoOneOf,\n      giftCardsV1GiftCard_universal_d_Amount as Amount,\n      giftCardsV1GiftCard_universal_d_NotificationInfo as NotificationInfo,\n      giftCardsV1GiftCard_universal_d_Recipient as Recipient,\n      giftCardsV1GiftCard_universal_d_Sender as Sender,\n      giftCardsV1GiftCard_universal_d_Source as Source,\n      giftCardsV1GiftCard_universal_d_OrderInfo as OrderInfo,\n      GiftCardsAppInstallationCompleted$1 as GiftCardsAppInstallationCompleted,\n      giftCardsV1GiftCard_universal_d_StoreCreditAppInstallationCompleted as StoreCreditAppInstallationCompleted,\n      giftCardsV1GiftCard_universal_d_CreateGiftCardRequest as CreateGiftCardRequest,\n      giftCardsV1GiftCard_universal_d_CreateGiftCardResponse as CreateGiftCardResponse,\n      giftCardsV1GiftCard_universal_d_GetGiftCardRequest as GetGiftCardRequest,\n      giftCardsV1GiftCard_universal_d_GetGiftCardResponse as GetGiftCardResponse,\n      giftCardsV1GiftCard_universal_d_QueryGiftCardsRequest as QueryGiftCardsRequest,\n      CursorQuery$1 as CursorQuery,\n      CursorQueryPagingMethodOneOf$1 as CursorQueryPagingMethodOneOf,\n      Sorting$1 as Sorting,\n      SortOrder$1 as SortOrder,\n      CursorPaging$1 as CursorPaging,\n      giftCardsV1GiftCard_universal_d_QueryGiftCardsResponse as QueryGiftCardsResponse,\n      CursorPagingMetadata$1 as CursorPagingMetadata,\n      Cursors$1 as Cursors,\n      giftCardsV1GiftCard_universal_d_SearchGiftCardsRequest as SearchGiftCardsRequest,\n      giftCardsV1GiftCard_universal_d_CursorSearch as CursorSearch,\n      giftCardsV1GiftCard_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,\n      giftCardsV1GiftCard_universal_d_Aggregation as Aggregation,\n      giftCardsV1GiftCard_universal_d_AggregationKindOneOf as AggregationKindOneOf,\n      giftCardsV1GiftCard_universal_d_RangeBucket as RangeBucket,\n      giftCardsV1GiftCard_universal_d_SortType as SortType,\n      giftCardsV1GiftCard_universal_d_SortDirection as SortDirection,\n      giftCardsV1GiftCard_universal_d_MissingValues as MissingValues,\n      giftCardsV1GiftCard_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions,\n      giftCardsV1GiftCard_universal_d_ScalarType as ScalarType,\n      giftCardsV1GiftCard_universal_d_ValueAggregation as ValueAggregation,\n      giftCardsV1GiftCard_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf,\n      giftCardsV1GiftCard_universal_d_NestedAggregationType as NestedAggregationType,\n      giftCardsV1GiftCard_universal_d_RangeAggregation as RangeAggregation,\n      giftCardsV1GiftCard_universal_d_ScalarAggregation as ScalarAggregation,\n      giftCardsV1GiftCard_universal_d_DateHistogramAggregation as DateHistogramAggregation,\n      giftCardsV1GiftCard_universal_d_Interval as Interval,\n      giftCardsV1GiftCard_universal_d_NestedAggregationItem as NestedAggregationItem,\n      giftCardsV1GiftCard_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,\n      giftCardsV1GiftCard_universal_d_AggregationType as AggregationType,\n      giftCardsV1GiftCard_universal_d_NestedAggregation as NestedAggregation,\n      giftCardsV1GiftCard_universal_d_SearchDetails as SearchDetails,\n      giftCardsV1GiftCard_universal_d_Mode as Mode,\n      giftCardsV1GiftCard_universal_d_SearchGiftCardsResponse as SearchGiftCardsResponse,\n      giftCardsV1GiftCard_universal_d_AggregationData as AggregationData,\n      giftCardsV1GiftCard_universal_d_ValueAggregationResult as ValueAggregationResult,\n      giftCardsV1GiftCard_universal_d_RangeAggregationResult as RangeAggregationResult,\n      giftCardsV1GiftCard_universal_d_NestedAggregationResults as NestedAggregationResults,\n      giftCardsV1GiftCard_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,\n      giftCardsV1GiftCard_universal_d_ValueResults as ValueResults,\n      giftCardsV1GiftCard_universal_d_RangeResults as RangeResults,\n      giftCardsV1GiftCard_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult,\n      giftCardsV1GiftCard_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,\n      giftCardsV1GiftCard_universal_d_ValueResult as ValueResult,\n      giftCardsV1GiftCard_universal_d_RangeResult as RangeResult,\n      giftCardsV1GiftCard_universal_d_ScalarResult as ScalarResult,\n      giftCardsV1GiftCard_universal_d_NestedResultValue as NestedResultValue,\n      giftCardsV1GiftCard_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,\n      giftCardsV1GiftCard_universal_d_Results as Results,\n      giftCardsV1GiftCard_universal_d_DateHistogramResult as DateHistogramResult,\n      giftCardsV1GiftCard_universal_d_GroupByValueResults as GroupByValueResults,\n      giftCardsV1GiftCard_universal_d_DateHistogramResults as DateHistogramResults,\n      giftCardsV1GiftCard_universal_d_NestedResults as NestedResults,\n      giftCardsV1GiftCard_universal_d_AggregationResults as AggregationResults,\n      giftCardsV1GiftCard_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,\n      giftCardsV1GiftCard_universal_d_SendGiftCardEmailRequest as SendGiftCardEmailRequest,\n      giftCardsV1GiftCard_universal_d_SendGiftCardEmailResponse as SendGiftCardEmailResponse,\n      giftCardsV1GiftCard_universal_d_DisableGiftCardRequest as DisableGiftCardRequest,\n      giftCardsV1GiftCard_universal_d_DisableGiftCardResponse as DisableGiftCardResponse,\n      giftCardsV1GiftCard_universal_d_ListGiftCardsByEmailRequest as ListGiftCardsByEmailRequest,\n      giftCardsV1GiftCard_universal_d_ListGiftCardsByEmailResponse as ListGiftCardsByEmailResponse,\n      giftCardsV1GiftCard_universal_d_CountGiftCardsRequest as CountGiftCardsRequest,\n      giftCardsV1GiftCard_universal_d_CountGiftCardsResponse as CountGiftCardsResponse,\n      DomainEvent$1 as DomainEvent,\n      DomainEventBodyOneOf$1 as DomainEventBodyOneOf,\n      EntityCreatedEvent$1 as EntityCreatedEvent,\n      RestoreInfo$1 as RestoreInfo,\n      EntityUpdatedEvent$1 as EntityUpdatedEvent,\n      EntityDeletedEvent$1 as EntityDeletedEvent,\n      ActionEvent$1 as ActionEvent,\n      Empty$1 as Empty,\n      giftCardsV1GiftCard_universal_d_MetaSiteSpecialEvent as MetaSiteSpecialEvent,\n      giftCardsV1GiftCard_universal_d_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf,\n      giftCardsV1GiftCard_universal_d_Asset as Asset,\n      giftCardsV1GiftCard_universal_d_State as State,\n      giftCardsV1GiftCard_universal_d_SiteCreated as SiteCreated,\n      giftCardsV1GiftCard_universal_d_SiteCreatedContext as SiteCreatedContext,\n      giftCardsV1GiftCard_universal_d_Namespace as Namespace,\n      giftCardsV1GiftCard_universal_d_SiteTransferred as SiteTransferred,\n      giftCardsV1GiftCard_universal_d_SiteDeleted as SiteDeleted,\n      giftCardsV1GiftCard_universal_d_DeleteContext as DeleteContext,\n      giftCardsV1GiftCard_universal_d_DeleteStatus as DeleteStatus,\n      giftCardsV1GiftCard_universal_d_SiteUndeleted as SiteUndeleted,\n      giftCardsV1GiftCard_universal_d_SitePublished as SitePublished,\n      giftCardsV1GiftCard_universal_d_SiteUnpublished as SiteUnpublished,\n      giftCardsV1GiftCard_universal_d_SiteMarkedAsTemplate as SiteMarkedAsTemplate,\n      giftCardsV1GiftCard_universal_d_SiteMarkedAsWixSite as SiteMarkedAsWixSite,\n      giftCardsV1GiftCard_universal_d_ServiceProvisioned as ServiceProvisioned,\n      giftCardsV1GiftCard_universal_d_ServiceRemoved as ServiceRemoved,\n      giftCardsV1GiftCard_universal_d_SiteRenamed as SiteRenamed,\n      giftCardsV1GiftCard_universal_d_SiteHardDeleted as SiteHardDeleted,\n      giftCardsV1GiftCard_universal_d_NamespaceChanged as NamespaceChanged,\n      giftCardsV1GiftCard_universal_d_StudioAssigned as StudioAssigned,\n      giftCardsV1GiftCard_universal_d_StudioUnassigned as StudioUnassigned,\n      giftCardsV1GiftCard_universal_d_SitePropertiesNotification as SitePropertiesNotification,\n      giftCardsV1GiftCard_universal_d_SitePropertiesEvent as SitePropertiesEvent,\n      giftCardsV1GiftCard_universal_d_Properties as Properties,\n      giftCardsV1GiftCard_universal_d_Categories as Categories,\n      giftCardsV1GiftCard_universal_d_Locale as Locale,\n      giftCardsV1GiftCard_universal_d_Address as Address,\n      giftCardsV1GiftCard_universal_d_AddressHint as AddressHint,\n      giftCardsV1GiftCard_universal_d_PlacementType as PlacementType,\n      giftCardsV1GiftCard_universal_d_GeoCoordinates as GeoCoordinates,\n      giftCardsV1GiftCard_universal_d_BusinessSchedule as BusinessSchedule,\n      TimePeriod$1 as TimePeriod,\n      giftCardsV1GiftCard_universal_d_DayOfWeek as DayOfWeek,\n      giftCardsV1GiftCard_universal_d_SpecialHourPeriod as SpecialHourPeriod,\n      giftCardsV1GiftCard_universal_d_Multilingual as Multilingual,\n      giftCardsV1GiftCard_universal_d_SupportedLanguage as SupportedLanguage,\n      giftCardsV1GiftCard_universal_d_ResolutionMethod as ResolutionMethod,\n      giftCardsV1GiftCard_universal_d_ConsentPolicy as ConsentPolicy,\n      giftCardsV1GiftCard_universal_d_Translation as Translation,\n      giftCardsV1GiftCard_universal_d_ChangeContext as ChangeContext,\n      giftCardsV1GiftCard_universal_d_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf,\n      giftCardsV1GiftCard_universal_d_PropertiesChange as PropertiesChange,\n      giftCardsV1GiftCard_universal_d_V4SiteCreated as V4SiteCreated,\n      giftCardsV1GiftCard_universal_d_SiteCloned as SiteCloned,\n      TriggerGiftCardsAppInstallationFlowEvent$1 as TriggerGiftCardsAppInstallationFlowEvent,\n      MessageEnvelope$1 as MessageEnvelope,\n      IdentificationData$1 as IdentificationData,\n      IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,\n      WebhookIdentityType$1 as WebhookIdentityType,\n      giftCardsV1GiftCard_universal_d_createGiftCard as createGiftCard,\n      giftCardsV1GiftCard_universal_d_CreateGiftCardOptions as CreateGiftCardOptions,\n      giftCardsV1GiftCard_universal_d_getGiftCard as getGiftCard,\n      giftCardsV1GiftCard_universal_d_queryGiftCards as queryGiftCards,\n      giftCardsV1GiftCard_universal_d_GiftCardsQueryResult as GiftCardsQueryResult,\n      giftCardsV1GiftCard_universal_d_GiftCardsQueryBuilder as GiftCardsQueryBuilder,\n      giftCardsV1GiftCard_universal_d_searchGiftCards as searchGiftCards,\n      giftCardsV1GiftCard_universal_d_sendGiftCardEmail as sendGiftCardEmail,\n      giftCardsV1GiftCard_universal_d_SendGiftCardEmailOptions as SendGiftCardEmailOptions,\n      giftCardsV1GiftCard_universal_d_disableGiftCard as disableGiftCard,\n      giftCardsV1GiftCard_universal_d_listGiftCardsByEmail as listGiftCardsByEmail,\n      giftCardsV1GiftCard_universal_d_countGiftCards as countGiftCards,\n      giftCardsV1GiftCard_universal_d_CountGiftCardsOptions as CountGiftCardsOptions,\n    };\n  }\n  \n  interface GiftCardProduct extends GiftCardProductExpirationDateOneOf {\n      /** Fixed expiration date. */\n      fixedExpirationDate?: Date | null;\n      /** Relative expiration date from date of purchase. */\n      relativeExpirationDate?: RelativeExpirationDate;\n      /**\n       * Gift card product unique ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the GiftCardProduct is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the product.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the product was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Gift card product name. */\n      name?: string;\n      /** Gift card product description. */\n      description?: string | null;\n      /**\n       * Gift card product image.\n       * + Pass at least media ID, width, and height. You should be able to get these values when you upload an image to Wix media manager.\n       * + Given a full image URL of https://static.wixstatic.com/media/5cc69183e7954e2c9760fa2383870992.jpg, `media.id` would be \"5cc69183e7954e2c9760fa2383870992.jpg\".\n       * + We only support images coming from Wix media manager, if you want to use an image from another source you must first upload it to Wix media manager.\n       */\n      image?: string;\n      /** Gift card product expiration type */\n      expirationType?: ExpirationType;\n      /** Array of preset product variants. */\n      presetVariants?: PresetVariant[];\n      /** Gift card product custom variants */\n      customVariant?: CustomVariant;\n      /**\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       * Enabling users to save custom data related to the gift card product.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  /** @oneof */\n  interface GiftCardProductExpirationDateOneOf {\n      /** Fixed expiration date. */\n      fixedExpirationDate?: Date | null;\n      /** Relative expiration date from date of purchase. */\n      relativeExpirationDate?: RelativeExpirationDate;\n  }\n  enum ExpirationType {\n      UNKNOWN_EXPIRATION_TYPE = \"UNKNOWN_EXPIRATION_TYPE\",\n      NONE = \"NONE\",\n      FIXED = \"FIXED\",\n      RELATIVE = \"RELATIVE\"\n  }\n  interface RelativeExpirationDate {\n      /** Value until expiration. */\n      value?: number;\n      /** Time period until expiration */\n      period?: TimePeriod;\n  }\n  enum TimePeriod {\n      UNKNOWN_TIME_PERIOD = \"UNKNOWN_TIME_PERIOD\",\n      DAYS = \"DAYS\",\n      WEEKS = \"WEEKS\",\n      MONTHS = \"MONTHS\",\n      YEARS = \"YEARS\"\n  }\n  interface PresetVariant {\n      /**\n       * Gift card product variant unique ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Gift card product variant price. */\n      price?: MultiCurrencyPrice;\n      /** Gift card product variant actual value. */\n      value?: MultiCurrencyPrice;\n      /**\n       * Gift card product variant image.\n       * + Pass at least media ID, width, and height. You should be able to get these values when you upload an image to Wix media manager.\n       * + Given a full image URL of https://static.wixstatic.com/media/5cc69183e7954e2c9760fa2383870992.jpg, `media.id` would be \"5cc69183e7954e2c9760fa2383870992.jpg\".\n       * + We only support images coming from Wix media manager, if you want to use an image from another source you must first upload it to Wix media manager.\n       */\n      image?: string;\n  }\n  interface MultiCurrencyPrice {\n      /** Amount. */\n      amount?: string;\n      /**\n       * Converted amount.\n       * @readonly\n       */\n      convertedAmount?: string;\n      /**\n       * Amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedAmount?: string;\n      /**\n       * Converted amount formatted with currency symbol.\n       * @readonly\n       */\n      formattedConvertedAmount?: string;\n  }\n  interface CustomVariant {\n      /** Gift card product variant min value. */\n      minValue?: MultiCurrencyPrice;\n      /** Gift card product variant max value. */\n      maxValue?: MultiCurrencyPrice;\n      /**\n       * Gift card product variant image.\n       * + Pass at least media ID, width, and height. You should be able to get these values when you upload an image to Wix media manager.\n       * + Given a full image URL of https://static.wixstatic.com/media/5cc69183e7954e2c9760fa2383870992.jpg, `media.id` would be \"5cc69183e7954e2c9760fa2383870992.jpg\".\n       * + We only support images coming from Wix media manager, if you want to use an image from another source you must first upload it to Wix media manager.\n       */\n      image?: string;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface TriggerGiftCardsAppInstallationFlowEvent {\n      /** The meta site ID to trigger installation flow for. */\n      metaSiteId?: string;\n  }\n  interface CreateGiftCardProductRequest {\n      /** Gift card product to be created. */\n      giftCardProduct: GiftCardProduct;\n  }\n  interface CreateGiftCardProductResponse {\n      /** The created gift card product. */\n      giftCardProduct?: GiftCardProduct;\n  }\n  interface GetGiftCardProductRequest {\n      /** ID of the gift card product to retrieve. */\n      giftCardProductId: string;\n  }\n  interface GetGiftCardProductResponse {\n      /** The requested gift card product. */\n      giftCardProduct?: GiftCardProduct;\n  }\n  interface UpdateGiftCardProductRequest {\n      /** Gift card product to be updated, may be partial. */\n      giftCardProduct: GiftCardProduct;\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateGiftCardProductResponse {\n      /** Updated gift card product. */\n      giftCardProduct?: GiftCardProduct;\n  }\n  interface DeleteGiftCardProductRequest {\n      /** Id of the gift card product to delete. */\n      giftCardProductId: string;\n  }\n  interface DeleteGiftCardProductResponse {\n  }\n  interface QueryGiftCardProductsRequest {\n      /** WQL expression. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryGiftCardProductsResponse {\n      /** List of gift card products. */\n      giftCardProducts?: GiftCardProduct[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface GiftCardsAppInstallationCompleted {\n  }\n  interface Empty {\n  }\n  interface IsInWixGiftCardsAppPopulationRequest {\n  }\n  interface IsInWixGiftCardsAppPopulationResponse {\n      /** true if site is in the new Wix Gift Cards App population. */\n      shouldUseNewGiftCardServices?: boolean;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new gift card product.\n   * @param giftCardProduct - Gift card product to be created.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCardProduct\n   * @requiredField giftCardProduct.name\n   * @requiredField giftCardProduct.presetVariants.price\n   * @requiredField giftCardProduct.presetVariants.price.amount\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_CREATE\n   * @adminMethod\n   * @returns The created gift card product.\n   */\n  function createGiftCardProduct(giftCardProduct: GiftCardProduct): Promise<GiftCardProduct>;\n  /**\n   * Retrieves a gift card product.\n   * @param giftCardProductId - ID of the gift card product to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCardProductId\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_READ\n   * @returns The requested gift card product.\n   */\n  function getGiftCardProduct(giftCardProductId: string): Promise<GiftCardProduct>;\n  /**\n   * Updates a gift card product.\n   * Supports partial update.\n   * Pass the latest `revision` for a successful update.\n   * Each time the category is updated, `revision` increments by 1.\n   * @param _id - Gift card product unique ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField giftCardProduct\n   * @requiredField giftCardProduct.presetVariants.price\n   * @requiredField giftCardProduct.presetVariants.price.amount\n   * @requiredField giftCardProduct.revision\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_UPDATE\n   * @adminMethod\n   * @returns Updated gift card product.\n   */\n  function updateGiftCardProduct(_id: string | null, giftCardProduct: UpdateGiftCardProduct, options?: UpdateGiftCardProductOptions): Promise<GiftCardProduct>;\n  interface UpdateGiftCardProduct {\n      /** Fixed expiration date. */\n      fixedExpirationDate?: Date | null;\n      /** Relative expiration date from date of purchase. */\n      relativeExpirationDate?: RelativeExpirationDate;\n      /**\n       * Gift card product unique ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Revision number, which increments by 1 each time the GiftCardProduct is updated.\n       * To prevent conflicting changes, the current revision must be passed when updating the product.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time the product was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the product was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Gift card product name. */\n      name?: string;\n      /** Gift card product description. */\n      description?: string | null;\n      /**\n       * Gift card product image.\n       * + Pass at least media ID, width, and height. You should be able to get these values when you upload an image to Wix media manager.\n       * + Given a full image URL of https://static.wixstatic.com/media/5cc69183e7954e2c9760fa2383870992.jpg, `media.id` would be \"5cc69183e7954e2c9760fa2383870992.jpg\".\n       * + We only support images coming from Wix media manager, if you want to use an image from another source you must first upload it to Wix media manager.\n       */\n      image?: string;\n      /** Gift card product expiration type */\n      expirationType?: ExpirationType;\n      /** Array of preset product variants. */\n      presetVariants?: PresetVariant[];\n      /** Gift card product custom variants */\n      customVariant?: CustomVariant;\n      /**\n       * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n       * Enabling users to save custom data related to the gift card product.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdateGiftCardProductOptions {\n      /**\n       * Set of fields to update.\n       *\n       * Fields that aren't included in `fieldMask.paths` are ignored.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a gift card product.\n   * @param giftCardProductId - Id of the gift card product to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField giftCardProductId\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_DELETE\n   * @adminMethod\n   */\n  function deleteGiftCardProduct(giftCardProductId: string): Promise<void>;\n  /**\n   * Retrieves a list of gift card products, given the provided [paging, filtering, and sorting][1].\n   *\n   * Up to 1,000 gift card products can be returned per request.\n   *\n   * To learn how to query gift card products, see [API Query Language][2].\n   *\n   * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n   * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n   * @public\n   * @documentationMaturity preview\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_READ\n   */\n  function queryGiftCardProducts(): GiftCardProductsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface GiftCardProductsQueryResult extends QueryCursorResult {\n      items: GiftCardProduct[];\n      query: GiftCardProductsQueryBuilder;\n      next: () => Promise<GiftCardProductsQueryResult>;\n      prev: () => Promise<GiftCardProductsQueryResult>;\n  }\n  interface GiftCardProductsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: 'fixedExpirationDate' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.id' | 'presetVariants.price', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: 'fixedExpirationDate' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.id' | 'presetVariants.price', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: 'fixedExpirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: 'fixedExpirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: 'fixedExpirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: 'fixedExpirationDate' | '_createdDate' | '_updatedDate', value: any) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'name' | 'presetVariants.id', value: string) => GiftCardProductsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: 'fixedExpirationDate' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.id' | 'presetVariants.price', value: any[]) => GiftCardProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: 'fixedExpirationDate' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.id' | 'presetVariants.price', value: any) => GiftCardProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'fixedExpirationDate' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.id' | 'presetVariants.price', value: boolean) => GiftCardProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'fixedExpirationDate' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.price'>) => GiftCardProductsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'fixedExpirationDate' | '_createdDate' | '_updatedDate' | 'name' | 'presetVariants.price'>) => GiftCardProductsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => GiftCardProductsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => GiftCardProductsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<GiftCardProductsQueryResult>;\n  }\n  /**\n   * Whether the meta site from the call's context is in the new Wix Gift Cards App population.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId GIFT_CARDS.GIFT_CARD_PRODUCT_READ\n   */\n  function isInWixGiftCardsAppPopulation(): Promise<IsInWixGiftCardsAppPopulationResponse>;\n  \n  type giftCardsV1GiftCardProduct_universal_d_GiftCardProduct = GiftCardProduct;\n  type giftCardsV1GiftCardProduct_universal_d_GiftCardProductExpirationDateOneOf = GiftCardProductExpirationDateOneOf;\n  type giftCardsV1GiftCardProduct_universal_d_ExpirationType = ExpirationType;\n  const giftCardsV1GiftCardProduct_universal_d_ExpirationType: typeof ExpirationType;\n  type giftCardsV1GiftCardProduct_universal_d_RelativeExpirationDate = RelativeExpirationDate;\n  type giftCardsV1GiftCardProduct_universal_d_TimePeriod = TimePeriod;\n  const giftCardsV1GiftCardProduct_universal_d_TimePeriod: typeof TimePeriod;\n  type giftCardsV1GiftCardProduct_universal_d_PresetVariant = PresetVariant;\n  type giftCardsV1GiftCardProduct_universal_d_MultiCurrencyPrice = MultiCurrencyPrice;\n  type giftCardsV1GiftCardProduct_universal_d_CustomVariant = CustomVariant;\n  type giftCardsV1GiftCardProduct_universal_d_ExtendedFields = ExtendedFields;\n  type giftCardsV1GiftCardProduct_universal_d_TriggerGiftCardsAppInstallationFlowEvent = TriggerGiftCardsAppInstallationFlowEvent;\n  type giftCardsV1GiftCardProduct_universal_d_CreateGiftCardProductRequest = CreateGiftCardProductRequest;\n  type giftCardsV1GiftCardProduct_universal_d_CreateGiftCardProductResponse = CreateGiftCardProductResponse;\n  type giftCardsV1GiftCardProduct_universal_d_GetGiftCardProductRequest = GetGiftCardProductRequest;\n  type giftCardsV1GiftCardProduct_universal_d_GetGiftCardProductResponse = GetGiftCardProductResponse;\n  type giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductRequest = UpdateGiftCardProductRequest;\n  type giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductResponse = UpdateGiftCardProductResponse;\n  type giftCardsV1GiftCardProduct_universal_d_DeleteGiftCardProductRequest = DeleteGiftCardProductRequest;\n  type giftCardsV1GiftCardProduct_universal_d_DeleteGiftCardProductResponse = DeleteGiftCardProductResponse;\n  type giftCardsV1GiftCardProduct_universal_d_QueryGiftCardProductsRequest = QueryGiftCardProductsRequest;\n  type giftCardsV1GiftCardProduct_universal_d_CursorQuery = CursorQuery;\n  type giftCardsV1GiftCardProduct_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type giftCardsV1GiftCardProduct_universal_d_Sorting = Sorting;\n  type giftCardsV1GiftCardProduct_universal_d_SortOrder = SortOrder;\n  const giftCardsV1GiftCardProduct_universal_d_SortOrder: typeof SortOrder;\n  type giftCardsV1GiftCardProduct_universal_d_CursorPaging = CursorPaging;\n  type giftCardsV1GiftCardProduct_universal_d_QueryGiftCardProductsResponse = QueryGiftCardProductsResponse;\n  type giftCardsV1GiftCardProduct_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type giftCardsV1GiftCardProduct_universal_d_Cursors = Cursors;\n  type giftCardsV1GiftCardProduct_universal_d_GiftCardsAppInstallationCompleted = GiftCardsAppInstallationCompleted;\n  type giftCardsV1GiftCardProduct_universal_d_Empty = Empty;\n  type giftCardsV1GiftCardProduct_universal_d_IsInWixGiftCardsAppPopulationRequest = IsInWixGiftCardsAppPopulationRequest;\n  type giftCardsV1GiftCardProduct_universal_d_IsInWixGiftCardsAppPopulationResponse = IsInWixGiftCardsAppPopulationResponse;\n  type giftCardsV1GiftCardProduct_universal_d_DomainEvent = DomainEvent;\n  type giftCardsV1GiftCardProduct_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type giftCardsV1GiftCardProduct_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type giftCardsV1GiftCardProduct_universal_d_RestoreInfo = RestoreInfo;\n  type giftCardsV1GiftCardProduct_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type giftCardsV1GiftCardProduct_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type giftCardsV1GiftCardProduct_universal_d_ActionEvent = ActionEvent;\n  type giftCardsV1GiftCardProduct_universal_d_MessageEnvelope = MessageEnvelope;\n  type giftCardsV1GiftCardProduct_universal_d_IdentificationData = IdentificationData;\n  type giftCardsV1GiftCardProduct_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type giftCardsV1GiftCardProduct_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const giftCardsV1GiftCardProduct_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const giftCardsV1GiftCardProduct_universal_d_createGiftCardProduct: typeof createGiftCardProduct;\n  const giftCardsV1GiftCardProduct_universal_d_getGiftCardProduct: typeof getGiftCardProduct;\n  const giftCardsV1GiftCardProduct_universal_d_updateGiftCardProduct: typeof updateGiftCardProduct;\n  type giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProduct = UpdateGiftCardProduct;\n  type giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductOptions = UpdateGiftCardProductOptions;\n  const giftCardsV1GiftCardProduct_universal_d_deleteGiftCardProduct: typeof deleteGiftCardProduct;\n  const giftCardsV1GiftCardProduct_universal_d_queryGiftCardProducts: typeof queryGiftCardProducts;\n  type giftCardsV1GiftCardProduct_universal_d_GiftCardProductsQueryResult = GiftCardProductsQueryResult;\n  type giftCardsV1GiftCardProduct_universal_d_GiftCardProductsQueryBuilder = GiftCardProductsQueryBuilder;\n  const giftCardsV1GiftCardProduct_universal_d_isInWixGiftCardsAppPopulation: typeof isInWixGiftCardsAppPopulation;\n  namespace giftCardsV1GiftCardProduct_universal_d {\n    export {\n      giftCardsV1GiftCardProduct_universal_d_GiftCardProduct as GiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_GiftCardProductExpirationDateOneOf as GiftCardProductExpirationDateOneOf,\n      giftCardsV1GiftCardProduct_universal_d_ExpirationType as ExpirationType,\n      giftCardsV1GiftCardProduct_universal_d_RelativeExpirationDate as RelativeExpirationDate,\n      giftCardsV1GiftCardProduct_universal_d_TimePeriod as TimePeriod,\n      giftCardsV1GiftCardProduct_universal_d_PresetVariant as PresetVariant,\n      giftCardsV1GiftCardProduct_universal_d_MultiCurrencyPrice as MultiCurrencyPrice,\n      giftCardsV1GiftCardProduct_universal_d_CustomVariant as CustomVariant,\n      giftCardsV1GiftCardProduct_universal_d_ExtendedFields as ExtendedFields,\n      giftCardsV1GiftCardProduct_universal_d_TriggerGiftCardsAppInstallationFlowEvent as TriggerGiftCardsAppInstallationFlowEvent,\n      giftCardsV1GiftCardProduct_universal_d_CreateGiftCardProductRequest as CreateGiftCardProductRequest,\n      giftCardsV1GiftCardProduct_universal_d_CreateGiftCardProductResponse as CreateGiftCardProductResponse,\n      giftCardsV1GiftCardProduct_universal_d_GetGiftCardProductRequest as GetGiftCardProductRequest,\n      giftCardsV1GiftCardProduct_universal_d_GetGiftCardProductResponse as GetGiftCardProductResponse,\n      giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductRequest as UpdateGiftCardProductRequest,\n      giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductResponse as UpdateGiftCardProductResponse,\n      giftCardsV1GiftCardProduct_universal_d_DeleteGiftCardProductRequest as DeleteGiftCardProductRequest,\n      giftCardsV1GiftCardProduct_universal_d_DeleteGiftCardProductResponse as DeleteGiftCardProductResponse,\n      giftCardsV1GiftCardProduct_universal_d_QueryGiftCardProductsRequest as QueryGiftCardProductsRequest,\n      giftCardsV1GiftCardProduct_universal_d_CursorQuery as CursorQuery,\n      giftCardsV1GiftCardProduct_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      giftCardsV1GiftCardProduct_universal_d_Sorting as Sorting,\n      giftCardsV1GiftCardProduct_universal_d_SortOrder as SortOrder,\n      giftCardsV1GiftCardProduct_universal_d_CursorPaging as CursorPaging,\n      giftCardsV1GiftCardProduct_universal_d_QueryGiftCardProductsResponse as QueryGiftCardProductsResponse,\n      giftCardsV1GiftCardProduct_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      giftCardsV1GiftCardProduct_universal_d_Cursors as Cursors,\n      giftCardsV1GiftCardProduct_universal_d_GiftCardsAppInstallationCompleted as GiftCardsAppInstallationCompleted,\n      giftCardsV1GiftCardProduct_universal_d_Empty as Empty,\n      giftCardsV1GiftCardProduct_universal_d_IsInWixGiftCardsAppPopulationRequest as IsInWixGiftCardsAppPopulationRequest,\n      giftCardsV1GiftCardProduct_universal_d_IsInWixGiftCardsAppPopulationResponse as IsInWixGiftCardsAppPopulationResponse,\n      giftCardsV1GiftCardProduct_universal_d_DomainEvent as DomainEvent,\n      giftCardsV1GiftCardProduct_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      giftCardsV1GiftCardProduct_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      giftCardsV1GiftCardProduct_universal_d_RestoreInfo as RestoreInfo,\n      giftCardsV1GiftCardProduct_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      giftCardsV1GiftCardProduct_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      giftCardsV1GiftCardProduct_universal_d_ActionEvent as ActionEvent,\n      giftCardsV1GiftCardProduct_universal_d_MessageEnvelope as MessageEnvelope,\n      giftCardsV1GiftCardProduct_universal_d_IdentificationData as IdentificationData,\n      giftCardsV1GiftCardProduct_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      giftCardsV1GiftCardProduct_universal_d_WebhookIdentityType as WebhookIdentityType,\n      giftCardsV1GiftCardProduct_universal_d_createGiftCardProduct as createGiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_getGiftCardProduct as getGiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_updateGiftCardProduct as updateGiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProduct as UpdateGiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_UpdateGiftCardProductOptions as UpdateGiftCardProductOptions,\n      giftCardsV1GiftCardProduct_universal_d_deleteGiftCardProduct as deleteGiftCardProduct,\n      giftCardsV1GiftCardProduct_universal_d_queryGiftCardProducts as queryGiftCardProducts,\n      giftCardsV1GiftCardProduct_universal_d_GiftCardProductsQueryResult as GiftCardProductsQueryResult,\n      giftCardsV1GiftCardProduct_universal_d_GiftCardProductsQueryBuilder as GiftCardProductsQueryBuilder,\n      giftCardsV1GiftCardProduct_universal_d_isInWixGiftCardsAppPopulation as isInWixGiftCardsAppPopulation,\n    };\n  }\n  \n  export { giftCardsV1GiftCardProduct_universal_d as giftVoucherProducts, giftCardsV1GiftCard_universal_d as giftVouchers };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/bookings-v2-pricing-spi.d.ts",
      "content": "declare module \"bookings-v2-pricing-spi\" {\n  type BusinessError<T = unknown> = {\n      __tag: 'BusinessError';\n      httpCode: string;\n      errorDescription: string;\n      applicationCode: string;\n      messageSchema: string;\n      data: T;\n  };\n  \n  interface CalculatePriceRequest {\n      /** Booking to calculate the price for. */\n      booking?: Booking;\n  }\n  /** The booking object, version 2. */\n  interface Booking extends BookingParticipantsInfoOneOf {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices;\n      /**\n       * Booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** An object describing the slot or schedule that was booked. */\n      bookedEntity?: BookedEntity;\n      /** Contact details of the site visitor or member making the booking. */\n      contactDetails?: ContactDetails;\n      /** Additional custom fields submitted with the booking form. */\n      additionalFields?: CustomFormField[];\n      /**\n       * Number of participants.\n       * @internal\n       */\n      numberOfParticipants?: number | null;\n      /**\n       * Internal business note\n       * @internal\n       * @deprecated\n       */\n      internalBusinessNote?: string | null;\n      /**\n       * Booking status.\n       *\n       * - A booking is automatically confirmed if the service is configured to automatically confirm bookings and an [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction) was created. If the service isn't configured to automatically confirm bookings, you can use [Confirm Or Decline Booking](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/bookings-v2/bookings-v2-and-confirmation/confirm-or-decline-booking).\n       * - A booking is also declined if an [eCommerce order](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction) was created that resulted in a double booking.\n       */\n      status?: BookingStatus;\n      /**\n       * Payment status.\n       * `PAID` and `PARTIALLY_PAID` are currently not supported.\n       */\n      paymentStatus?: PaymentStatus;\n      /**\n       * Selected payment option.\n       * One of the payment options offered by the service, or another option if `skipSelectedPaymentOptionValidation` is `true`.\n       * When undefined, the payment option is resolved by the service configuration on checkout.\n       */\n      selectedPaymentOption?: SelectedPaymentOption;\n      /**\n       * Date and time the booking was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** External ID provided by the client app on creation. */\n      externalUserId?: string | null;\n      /**\n       * An object describing the platform and application that made the booking.\n       * @internal\n       */\n      bookingSource?: BookingSource;\n      /**\n       * The last notification used by Cancel, Confirm, Decline, or Reschedule Booking.\n       * @internal\n       * @deprecated\n       */\n      participantNotification?: ParticipantNotification;\n      /**\n       * When value is set to True, an SMS reminder would be sent to the phone number specified in the ContactDetails, 24 hours before the session starts.\n       * @internal\n       * @deprecated\n       */\n      sendSmsReminder?: boolean | null;\n      /** Revision number to be used when updating, rescheduling, or cancelling the booking. Revision number, which increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes,the current revision must be passed when updating the booking. */\n      revision?: string | null;\n      /**\n       * ID of the creator of the Booking.\n       * If `appId` and another ID are present, the other ID takes precedence.\n       * @readonly\n       */\n      createdBy?: IdentificationData;\n      /**\n       * The start date of this booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.\n       * @readonly\n       */\n      startDate?: Date | null;\n      /**\n       * The end date of this booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.\n       * @readonly\n       */\n      endDate?: Date | null;\n      /**\n       * Sets the booking flow behavior. Some behaviors require permissions.\n       * @internal\n       */\n      flowControlSettings?: FlowControlSettings;\n      /**\n       * Date and time the booking was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Custom field data for this object. Extended fields must be configured in the app dashboard before they can be accessed with API calls. */\n      extendedFields?: ExtendedFields;\n      /**\n       * Whether this booking overlaps another existing confirmed booking. Returned when: `true`\n       * @readonly\n       */\n      doubleBooked?: boolean | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2Availability?: boolean | null;\n      /**\n       * Multi service booking info of which the booking is part of.\n       * @internal\n       * @readonly\n       */\n      multiServiceBookingInfo?: MultiServiceBookingInfo;\n      /**\n       * The date this booking was canceled on\n       * @internal\n       * @readonly\n       */\n      canceledDate?: Date | null;\n      /**\n       * whether this booking availability should be checked with v1 or v2\n       * @internal\n       */\n      v2AvailabilityProxy?: boolean | null;\n      /**\n       * Having booking language means that the booking was made in a secondary language, having no booking.language implies that the booking was made using the main language\n       * @internal\n       */\n      language?: string | null;\n      /**\n       * ID of the [Form Submission](https://dev.wix.com/docs/rest/crm/forms/form-submissions/submission-object) associated with this booking.\n       * @internal\n       * @readonly\n       */\n      formSubmissionId?: string | null;\n      /**\n       * ID of the [Form](https://dev.wix.com/docs/rest/crm/forms/form-schemas/form-object) associated with this booking.\n       * Note: The `formId` value can be different depends on how the booking was created.\n       * * For bookings created via [Create Booking](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/bookings-v2/bookings-v2-and-confirmation/create-booking) or [Bulk Create Booking](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/bookings-v2/bookings-v2-and-confirmation/bulk-create-booking), the `formId` will be the form ID that was associated with the [Service](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/service-object) during the booking.\n       * * For bookings created via [Create Multi Service Booking](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/bookings-v2/bookings-v2-and-confirmation/create-multi-service-booking),the `formId` will be the default Bookings form ID (`00000000-0000-0000-0000-000000000000`).\n       * @internal\n       * @readonly\n       */\n      formId?: string | null;\n  }\n  /** @oneof */\n  interface BookingParticipantsInfoOneOf {\n      /** Total number of participants. Available only when the booking includes a single service variant. */\n      totalParticipants?: number;\n      /**\n       * Information about the booked service choices and participants.\n       * Available only when the booking includes multiple service variants.\n       */\n      participantsChoices?: ParticipantChoices;\n  }\n  /**\n   * Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n   * Currently, `SEPERATE_BOOKINGS` and `PARALLEL_BOOKINGS` are not supported.\n   * Multi service booking will be considered available if each of its bookings is available separately.\n   * For `SEQUENTIAL_BOOKINGS`, see [List Multi Service Availability Time Slots] (url) documentation // todo: complete url\n   */\n  enum MultiServiceBookingType {\n      SEQUENTIAL_BOOKINGS = \"SEQUENTIAL_BOOKINGS\",\n      SEPARATE_BOOKINGS = \"SEPARATE_BOOKINGS\",\n      PARALLEL_BOOKINGS = \"PARALLEL_BOOKINGS\"\n  }\n  interface BookedEntity extends BookedEntityItemOneOf {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule;\n      /**\n       * Session title at the time of booking.\n       * If session doesn't exist at the time of the booking, service name is used.\n       * @readonly\n       */\n      title?: string | null;\n      /**\n       * If the user made the booking in a secondary language, this field will contain the translated title.\n       * @internal\n       * @readonly\n       */\n      titleTranslated?: string | null;\n      /**\n       * List of tags for the booking.\n       * System-assigned tags for sessions and schedules are:\n       * + \"INDIVIDUAL\" Appointments, including appointments with more than 1 participant.\n       * + \"GROUP\" Individual classes.\n       * + \"COURSE\" Courses.\n       */\n      tags?: string[] | null;\n  }\n  /** @oneof */\n  interface BookedEntityItemOneOf {\n      /** The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist. */\n      slot?: BookedSlot;\n      /** The booked schedule. The booking is automatically assigned to the schedule's sessions. */\n      schedule?: BookedSchedule;\n  }\n  interface BookedSlot {\n      /**\n       * ID of the underlying session when session is a single session or generated from a recurring session.\n       * If `sessionId` is defined in the `Create Booking` request, the `startDate`, `endDate`, `timezone`, `resource`, and `location` fields are ignored and populated from the existing session's information.\n       */\n      sessionId?: string | null;\n      /** Service ID. */\n      serviceId?: string;\n      /** Schedule ID. Required. */\n      scheduleId?: string;\n      /**\n       * Calendar 3 event ID\n       * If not empty, on all write flows (create / update) gets priority over session_id.\n       * so if both session_id and event_id are provided, the session_id that will be set on the booking will be based on the event_id.\n       * Otherwise, if event_id is empty on write flow,\n       */\n      eventId?: string | null;\n      /**\n       * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      startDate?: string | null;\n      /**\n       * The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format.\n       */\n      endDate?: string | null;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The enriched resource assigned to the slot, can be either the requested resource or the resource chosen by the system.\n       * When populated, the given resource will be booked according to it's availability.\n       * When empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\n       * otherwise one of the service resources will be assigned to the slot randomly upon confirmation.\n       * This resource is the slot primary resource.\n       */\n      resource?: BookedResource;\n      /** Location where the slot's session takes place. */\n      location?: Location;\n      /**\n       * Optional.\n       * In addition to the `resource` field, these are the additional enriched resources that are assigned to the slot.\n       * For example the room, equipment or the additional staff member that are assigned to the slot.\n       * @internal\n       */\n      additionalResources?: BookedResource[];\n  }\n  interface BookedResource {\n      /** Booked resource ID. */\n      _id?: string;\n      /** Resource's name at the time of booking. */\n      name?: string | null;\n      /**\n       * Resource's name translated to the language the booking was made in if applicable.\n       * @internal\n       * @readonly\n       */\n      nameTranslated?: string | null;\n      /** Resource's email at the time of booking. */\n      email?: string | null;\n      /** Resource's schedule ID. */\n      scheduleId?: string | null;\n      /**\n       * Indicates whether the resource was specifically requested or should be auto selected by the Server.\n       * The value will be true if the resource was explicitly given in the request, otherwise false.\n       * @internal\n       * @readonly\n       */\n      explicitlyRequested?: boolean | null;\n      /**\n       * Resource's type.\n       * @internal\n       * @readonly\n       */\n      type?: string | null;\n  }\n  interface Location {\n      /**\n       * Business location ID. Available only for locations that are business locations,\n       * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n       */\n      _id?: string | null;\n      /** Location name. */\n      name?: string | null;\n      /** The full address of this location. */\n      formattedAddress?: string | null;\n      /** The full translated address of this location. */\n      formattedAddressTranslated?: string | null;\n      /**\n       * Location type.\n       *\n       * - `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n       * - `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n       * - `\"CUSTOM\"`: The address as set for the individual session.\n       */\n      locationType?: LocationType;\n  }\n  enum LocationType {\n      UNDEFINED = \"UNDEFINED\",\n      OWNER_BUSINESS = \"OWNER_BUSINESS\",\n      OWNER_CUSTOM = \"OWNER_CUSTOM\",\n      CUSTOM = \"CUSTOM\"\n  }\n  interface BookedSchedule {\n      /** Schedule ID. */\n      scheduleId?: string;\n      /** Booked service ID. */\n      serviceId?: string | null;\n      /**\n       * Location where the schedule's sessions take place. Read only.\n       * @readonly\n       */\n      location?: Location;\n      /** The timezone according to which the slot was shown to the user when booking, and should be shown in future. */\n      timezone?: string | null;\n      /**\n       * The start time of the first session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      firstSessionStart?: string | null;\n      /**\n       * The end time of the last session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\n       * format. Required.\n       * @readonly\n       */\n      lastSessionEnd?: string | null;\n  }\n  interface ContactDetails {\n      /** Contact's ID. */\n      contactId?: string | null;\n      /** Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field. */\n      firstName?: string | null;\n      /** Contact's last name. */\n      lastName?: string | null;\n      /** Contact's email, used to create a new contact or get existing one from the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts). Used to validate coupon usage limitations per contact. If not passed, the coupon usage limitation will not be enforced. (Coupon usage limitation validation is not supported yet). */\n      email?: string | null;\n      /** Contact's phone number. */\n      phone?: string | null;\n      /** Contact's full address. */\n      fullAddress?: Address;\n      /**\n       * Contact's time zone.\n       * @deprecated\n       */\n      timeZone?: string | null;\n      /** Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n      countryCode?: string | null;\n  }\n  /** Physical address */\n  interface Address extends AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n      /** Country code. */\n      country?: string | null;\n      /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      subdivision?: string | null;\n      /** City name. */\n      city?: string | null;\n      /** Zip/postal code. */\n      postalCode?: string | null;\n      /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n      addressLine2?: string | null;\n      /** A string containing the full address of this location. */\n      formattedAddress?: string | null;\n      /** Free text to help find the address. */\n      hint?: string | null;\n      /** Coordinates of the physical address. */\n      geocode?: AddressLocation;\n      /** Country full name. */\n      countryFullname?: string | null;\n      /** Multi-level subdivisions from top to bottom. */\n      subdivisions?: Subdivision[];\n  }\n  /** @oneof */\n  interface AddressStreetOneOf {\n      /** Street name, number and apartment number. */\n      streetAddress?: StreetAddress;\n      /** Main address line, usually street and number, as free text. */\n      addressLine?: string | null;\n  }\n  interface StreetAddress {\n      /** Street number. */\n      number?: string;\n      /** Street name. */\n      name?: string;\n      /** Apartment number. */\n      apt?: string;\n  }\n  interface AddressLocation {\n      /** Address latitude. */\n      latitude?: number | null;\n      /** Address longitude. */\n      longitude?: number | null;\n  }\n  interface Subdivision {\n      /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n      code?: string;\n      /** Subdivision full name. */\n      name?: string;\n  }\n  interface CustomFormField {\n      /** ID of the form field as defined in the form. */\n      _id?: string;\n      /** Value that was submitted for this field. */\n      value?: string | null;\n      /**\n       * Form field's label at the time of submission.\n       * @readonly\n       */\n      label?: string | null;\n      valueType?: ValueType;\n  }\n  enum ValueType {\n      /** Short text. This is the default value type. */\n      SHORT_TEXT = \"SHORT_TEXT\",\n      /** Long text. */\n      LONG_TEXT = \"LONG_TEXT\",\n      /** A text that represents the check box value. If selected the value is `true`, otherwise `false`. */\n      CHECK_BOX = \"CHECK_BOX\"\n  }\n  /** Booking status. */\n  enum BookingStatus {\n      /** The booking was created. */\n      CREATED = \"CREATED\",\n      /** The booking was confirmed. */\n      CONFIRMED = \"CONFIRMED\",\n      /** The booking was canceled. */\n      CANCELED = \"CANCELED\",\n      /** The booking is waiting to be confirmed or declined by the business owner. */\n      PENDING = \"PENDING\",\n      /** The booking was declined by the business owner. */\n      DECLINED = \"DECLINED\",\n      /** The booking is on a wait list. */\n      WAITING_LIST = \"WAITING_LIST\"\n  }\n  /**\n   * Payment status.\n   * Automatically updated when using eCom checkout APIs.\n   */\n  enum PaymentStatus {\n      /** Undefined payment status. */\n      UNDEFINED = \"UNDEFINED\",\n      /** The booking is not paid for. */\n      NOT_PAID = \"NOT_PAID\",\n      /** The booking is fully paid. */\n      PAID = \"PAID\",\n      /** The booking is partially paid. */\n      PARTIALLY_PAID = \"PARTIALLY_PAID\",\n      /** The booking is refunded. */\n      REFUNDED = \"REFUNDED\",\n      /** The booking is free of charge. */\n      EXEMPT = \"EXEMPT\"\n  }\n  /**\n   * The selected payment option.\n   * One of the payment options offered by the service.\n   * This field is be set when the user selects an option during booking.\n   * If left undefined, the payment option is resolved by the service configuration on checkout.\n   */\n  enum SelectedPaymentOption {\n      /** Undefined payment option. */\n      UNDEFINED = \"UNDEFINED\",\n      /** Offline payment. */\n      OFFLINE = \"OFFLINE\",\n      /** Online payment. */\n      ONLINE = \"ONLINE\",\n      /** Payment using a membership. */\n      MEMBERSHIP = \"MEMBERSHIP\",\n      /** Payment can only be done using a membership and must be manually redeemed in the dashboard by the site owner. */\n      MEMBERSHIP_OFFLINE = \"MEMBERSHIP_OFFLINE\"\n  }\n  interface BookingSource {\n      /** Platform from which a booking was created */\n      platform?: Platform;\n      /** Actor that created this booking. */\n      actor?: Actor;\n      /**\n       * Wix site ID of the application that created the booking.\n       * @readonly\n       */\n      appDefId?: string | null;\n      /**\n       * Name of the application that created the booking, as saved in Wix Developers Center at the time of booking.\n       * @readonly\n       */\n      appName?: string | null;\n  }\n  enum Platform {\n      UNDEFINED_PLATFORM = \"UNDEFINED_PLATFORM\",\n      WEB = \"WEB\",\n      MOBILE_APP = \"MOBILE_APP\"\n  }\n  enum Actor {\n      UNDEFINED_ACTOR = \"UNDEFINED_ACTOR\",\n      BUSINESS = \"BUSINESS\",\n      CUSTOMER = \"CUSTOMER\"\n  }\n  interface ParticipantNotification {\n      /**\n       * Whether to send the message about the changes to the customer.\n       *\n       * Default: `false`\n       */\n      notifyParticipants?: boolean;\n      /** Custom message to send to the participants about the changes to the booking. */\n      message?: string | null;\n      /**\n       * Optional additional metadata.\n       * Supported only in V3 APIs.\n       * @internal\n       */\n      metadata?: Record<string, string>;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */\n      contactId?: string | null;\n      /**\n       * @internal\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface FlowControlSettings {\n      /**\n       * When true, skips the service defined booking-window in the booking policy.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       * private because it's confusing to external users - collides with skip_availability_validation\n       * and yet, clients send it (though always with skip_availability_validation=true) so we're not just removing it\n       * When removing, we need to use proto's `reserved` field\n       * @internal\n       * @deprecated\n       */\n      ignoreBookingWindow?: boolean;\n      /**\n       * When true, skips availability checking and allows booking.\n       * Requires BOOKINGS.OVERRIDE_AVAILABILITY permissions.\n       */\n      skipAvailabilityValidation?: boolean;\n      /**\n       * When true, allows booking a confirmation-required service without requiring confirmation.\n       * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.\n       */\n      skipBusinessConfirmation?: boolean;\n      /**\n       * When true, skips selected payment option checking as defined in `selectedPaymentOption` field\n       * and allows booking.\n       * Requires BOOKINGS.MANAGE_PAYMENTS permissions.\n       */\n      skipSelectedPaymentOptionValidation?: boolean;\n      /** When true, refunds the booking's payment when the booking is canceled. */\n      withRefund?: boolean | null;\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface ParticipantChoices {\n      /** Information about the booked service choices. Includes the number of participants. */\n      serviceChoices?: ServiceChoices[];\n  }\n  interface ServiceChoices {\n      /** Number of participants for this variant. */\n      numberOfParticipants?: number | null;\n      /** Service choices for these participants. */\n      choices?: ServiceChoice[];\n  }\n  interface ServiceChoice extends ServiceChoiceChoiceOneOf {\n      /**\n       * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n      /** @internal */\n      duration?: Duration;\n      /**\n       * ID of the corresponding option for the choice. For example, the choice `child`\n       * could correspond to the option `ageGroup`. In this case, `optionId` is the ID\n       * for the `ageGroup` option.\n       */\n      optionId?: string;\n  }\n  /** @oneof */\n  interface ServiceChoiceChoiceOneOf {\n      /**\n       * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n       * Choices are specific values for an option the customer can choose to book. For example,\n       * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n       * Each choice may have a different price.\n       */\n      custom?: string;\n      /** @internal */\n      duration?: Duration;\n  }\n  interface Duration {\n      /**\n       * Duration of the service in minutes.\n       * Min: 1 minute, Max: 30 days, 23 hours, and 59 minutes\n       */\n      minutes?: number;\n      /**\n       * Name of the duration option.\n       * Defaults to the formatted duration e.g. \"1 hour, 30 minutes\".\n       */\n      name?: string | null;\n  }\n  interface MultiServiceBookingInfo {\n      /**\n       * Multi service booking ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Multi service booking type. */\n      type?: MultiServiceBookingType;\n  }\n  interface CalculatePriceResponse extends CalculatePriceResponseTotalPriceOneOf {\n      /**\n       * Calculated total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as numerical value in the\n       * `schedule.rate.labeledPriceOptions` object.\n       */\n      calculatedPrice?: number;\n      /**\n       * Description of the total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as text value in the\n       * `schedule.rate.priceText` field.\n       * @deprecated Description of the total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as text value in the\n       * `schedule.rate.priceText` field.\n       * @replacedBy price_description_info.original\n       * @targetRemovalDate 2025-01-10\n       */\n      priceDescription?: string;\n      /**\n       * Description of the total price. Available only when the [service](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/service-object)'s\n       * rateType is CUSTOM\n       */\n      priceDescriptionInfo?: PriceDescriptionInfo;\n      /**\n       * List of line items, including information about the number of participants and\n       * the price per participant.\n       */\n      bookingLineItems?: BookingLineItem[];\n      /**\n       * Total deposit the customer must pay when booking the service. Provide only when\n       * the service includes a deposit. Returning a `deposit` is optional. If you\n       * return a `deposit` that's greater than the `calculatedPrice`, the deposit's\n       * value is ignored. Instead, the customer must pay the total `calculatedPrice`\n       * in full upfront as if it was a deposit.\n       */\n      deposit?: number | null;\n      /**\n       * 3-letter currency code in\n       * [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)\n       * format. If you return a `currency`, it must be the one specified in the\n       * [Site Properties](https://dev.wix.com/api/rest/business-info/site-properties/properties/get-site-properties).\n       * @internal\n       */\n      currency?: string | null;\n  }\n  /** @oneof */\n  interface CalculatePriceResponseTotalPriceOneOf {\n      /**\n       * Calculated total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as numerical value in the\n       * `schedule.rate.labeledPriceOptions` object.\n       */\n      calculatedPrice?: number;\n      /**\n       * Description of the total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as text value in the\n       * `schedule.rate.priceText` field.\n       * @deprecated Description of the total price. Available only when the\n       * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s\n       * price has been set up as text value in the\n       * `schedule.rate.priceText` field.\n       * @replacedBy price_description_info.original\n       * @targetRemovalDate 2025-01-10\n       */\n      priceDescription?: string;\n      /**\n       * Description of the total price. Available only when the [service](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/service-object)'s\n       * rateType is CUSTOM\n       */\n      priceDescriptionInfo?: PriceDescriptionInfo;\n  }\n  interface BookingLineItem {\n      /** Service ID. */\n      serviceId?: string | null;\n      /** Resource ID. Required for classes and appointments. */\n      resourceId?: string | null;\n      /** Custom [service choices](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction). */\n      choices?: ServiceChoice[];\n      /** Number of participants. */\n      numberOfParticipants?: number | null;\n      /** Price per participant. */\n      pricePerParticipant?: number | null;\n  }\n  interface PriceDescriptionInfo {\n      /** The price description in the main site language */\n      original?: string;\n      /** The translated price description in case the booking was made in a secondary language */\n      translated?: string | null;\n  }\n  interface BookingsPricingProviderConfig {\n      /** Human-readable name of the your pricing integration app. */\n      pricingProviderName?: string;\n  }\n  /**\n   * this message is not directly used by any service,\n   * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n   * e.g. SPIs, event-handlers, etc..\n   * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n   *\n   * Example:\n   * ```typescript\n   * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n   * ...\n   * }\n   * ```\n   */\n  interface Context {\n      /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n      requestId?: string | null;\n      /** [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. */\n      currency?: string | null;\n      /** An object that describes the identity that triggered this request. */\n      identity?: ContextIdentificationData;\n      /** A string representing a language and region in the format of `\"xx-XX\"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash \"-\", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `\"en-US\"`. */\n      languages?: string[];\n      /** The service provider app's instance ID. */\n      instanceId?: string | null;\n      /**\n       * Extension ID in Dev Center.\n       * @internal\n       */\n      appExtensionId?: string | null;\n      /**\n       * Extension type in Dev Center.\n       * @internal\n       */\n      appExtensionType?: string | null;\n      /**\n       * Invoked function.\n       * @internal\n       */\n      functionName?: string | null;\n  }\n  enum IdentificationDataIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ContextIdentificationData extends ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: IdentificationDataIdentityType;\n  }\n  /** @oneof */\n  interface ContextIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  interface CalculatePriceOptions {\n      /** Booking to calculate the price for. */\n      booking?: Booking;\n  }\n  \n  export { Actor, Address, AddressLocation, AddressStreetOneOf, BookedEntity, BookedEntityItemOneOf, BookedResource, BookedSchedule, BookedSlot, Booking, BookingLineItem, BookingParticipantsInfoOneOf, BookingSource, BookingStatus, BookingsPricingProviderConfig, BusinessError, CalculatePriceOptions, CalculatePriceRequest, CalculatePriceResponse, CalculatePriceResponseTotalPriceOneOf, ContactDetails, Context, ContextIdentificationData, ContextIdentificationDataIdOneOf, CustomFormField, Duration, ExtendedFields, FlowControlSettings, IdentificationData, IdentificationDataIdOneOf, IdentificationDataIdentityType, IdentityType, Location, LocationType, MultiServiceBookingInfo, MultiServiceBookingType, ParticipantChoices, ParticipantNotification, PaymentStatus, Platform, PriceDescriptionInfo, SelectedPaymentOption, ServiceChoice, ServiceChoiceChoiceOneOf, ServiceChoices, StreetAddress, Subdivision, ValueType };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-summary.v1.d.ts",
      "content": "declare module \"wix-automations-activation-summary.v1\" {\n  /**\n   * Note: The following flynt-disable is because in this message we have a special case that this message represents\n   * an aggregation by automation ID but the message itself has no ID of it's own.\n   */\n  interface ActivationSummary {\n      /** Automation ID */\n      automationId?: string | null;\n      /** Preinstalled origin info */\n      preinstalledOrigin?: PreinstalledOrigin;\n      /** Total activations count per the automation */\n      activationsCount?: number;\n      /** When the automation was last activated */\n      lastActivatedDate?: Date | null;\n      /**\n       * Migrated activations count\n       * - If present, indicates the count of activations migrated from the old system\n       * - If absent, indicates the migration has not been performed yet for this automation\n       */\n      migratedActivationsCount?: number | null;\n      /** When the automation was last activated */\n      migratedLastActivatedDate?: Date | null;\n  }\n  interface PreinstalledOrigin {\n      /** Identifier for the application */\n      appId?: string;\n      /** Application component ID */\n      componentId?: string;\n  }\n  interface GetActivationSummaryRequest {\n      /** Automation ID */\n      automationId: string;\n  }\n  interface GetActivationSummaryResponse {\n      /** Activation summary per automation */\n      activationSummary?: ActivationSummary;\n  }\n  interface GetActivationSummaryByPreinstalledOriginRequest {\n      /** Preinstalled automation app ID */\n      appId: string;\n      /** Preinstalled automation component ID */\n      componentId: string;\n  }\n  interface GetActivationSummaryByPreinstalledOriginResponse {\n      /** Grouped activation summary by (app_id, component_id) */\n      activationSummary?: ActivationSummary;\n  }\n  interface MigrateActivationsCountRequest {\n      /** MetaSite ID */\n      metaSiteId: string;\n      /** Automation ID */\n      automationId: string;\n      /** Preinstalled info */\n      preinstalledOrigin?: PreinstalledOrigin;\n      /** Migrated activations count for automation */\n      activationsCount: number | null;\n      /** When the automation was last activated */\n      lastActivatedDate: Date | null;\n  }\n  interface MigrateActivationsCountResponse {\n  }\n  /**\n   * Get activation summary by automation id\n   * @param automationId - Automation ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField automationId\n   * @permissionId AUTOMATIONS.ACTIVATION_SUMMARY_READ\n   * @adminMethod\n   * @returns Activation summary per automation\n   */\n  function getActivationSummary(automationId: string): Promise<ActivationSummary>;\n  /** @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.appId\n   * @requiredField identifiers.componentId\n   * @permissionId AUTOMATIONS.ACTIVATION_SUMMARY_READ\n   * @adminMethod\n   */\n  function getActivationSummaryByPreinstalledOrigin(identifiers: GetActivationSummaryByPreinstalledOriginIdentifiers): Promise<GetActivationSummaryByPreinstalledOriginResponse>;\n  interface GetActivationSummaryByPreinstalledOriginIdentifiers {\n      /** Preinstalled automation app ID */\n      appId: string;\n      /** Preinstalled automation component ID */\n      componentId: string;\n  }\n  /**\n   * migrate activations count\n   * @param metaSiteId - MetaSite ID\n   * @public\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @requiredField options.activationsCount\n   * @requiredField options.automationId\n   * @requiredField options.lastActivatedDate\n   * @permissionId AUTOMATIONS.ACTIVATION_SUMMARY_WRITE\n   * @adminMethod\n   */\n  function migrateActivationsCount(metaSiteId: string, options?: MigrateActivationsCountOptions): Promise<void>;\n  interface MigrateActivationsCountOptions {\n      /** Automation ID */\n      automationId: string;\n      /** Preinstalled info */\n      preinstalledOrigin?: PreinstalledOrigin;\n      /** Migrated activations count for automation */\n      activationsCount: number | null;\n      /** When the automation was last activated */\n      lastActivatedDate: Date | null;\n  }\n  \n  type automationsActivationLogsV1ActivationSummary_universal_d_ActivationSummary = ActivationSummary;\n  type automationsActivationLogsV1ActivationSummary_universal_d_PreinstalledOrigin = PreinstalledOrigin;\n  type automationsActivationLogsV1ActivationSummary_universal_d_GetActivationSummaryRequest = GetActivationSummaryRequest;\n  type automationsActivationLogsV1ActivationSummary_universal_d_GetActivationSummaryResponse = GetActivationSummaryResponse;\n  type automationsActivationLogsV1ActivationSummary_universal_d_GetActivationSummaryByPreinstalledOriginRequest = GetActivationSummaryByPreinstalledOriginRequest;\n  type automationsActivationLogsV1ActivationSummary_universal_d_GetActivationSummaryByPreinstalledOriginResponse = GetActivationSummaryByPreinstalledOriginResponse;\n  type automationsActivationLogsV1ActivationSummary_universal_d_MigrateActivationsCountRequest = MigrateActivationsCountRequest;\n  type automationsActivationLogsV1ActivationSummary_universal_d_MigrateActivationsCountResponse = MigrateActivationsCountResponse;\n  const automationsActivationLogsV1ActivationSummary_universal_d_getActivationSummary: typeof getActivationSummary;\n  const automationsActivationLogsV1ActivationSummary_universal_d_getActivationSummaryByPreinstalledOrigin: typeof getActivationSummaryByPreinstalledOrigin;\n  type automationsActivationLogsV1ActivationSummary_universal_d_GetActivationSummaryByPreinstalledOriginIdentifiers = GetActivationSummaryByPreinstalledOriginIdentifiers;\n  const automationsActivationLogsV1ActivationSummary_universal_d_migrateActivationsCount: typeof migrateActivationsCount;\n  type automationsActivationLogsV1ActivationSummary_universal_d_MigrateActivationsCountOptions = MigrateActivationsCountOptions;\n  namespace automationsActivationLogsV1ActivationSummary_universal_d {\n    export {\n      automationsActivationLogsV1ActivationSummary_universal_d_ActivationSummary as ActivationSummary,\n      automationsActivationLogsV1ActivationSummary_universal_d_PreinstalledOrigin as PreinstalledOrigin,\n      automationsActivationLogsV1ActivationSummary_universal_d_GetActivationSummaryRequest as GetActivationSummaryRequest,\n      automationsActivationLogsV1ActivationSummary_universal_d_GetActivationSummaryResponse as GetActivationSummaryResponse,\n      automationsActivationLogsV1ActivationSummary_universal_d_GetActivationSummaryByPreinstalledOriginRequest as GetActivationSummaryByPreinstalledOriginRequest,\n      automationsActivationLogsV1ActivationSummary_universal_d_GetActivationSummaryByPreinstalledOriginResponse as GetActivationSummaryByPreinstalledOriginResponse,\n      automationsActivationLogsV1ActivationSummary_universal_d_MigrateActivationsCountRequest as MigrateActivationsCountRequest,\n      automationsActivationLogsV1ActivationSummary_universal_d_MigrateActivationsCountResponse as MigrateActivationsCountResponse,\n      automationsActivationLogsV1ActivationSummary_universal_d_getActivationSummary as getActivationSummary,\n      automationsActivationLogsV1ActivationSummary_universal_d_getActivationSummaryByPreinstalledOrigin as getActivationSummaryByPreinstalledOrigin,\n      automationsActivationLogsV1ActivationSummary_universal_d_GetActivationSummaryByPreinstalledOriginIdentifiers as GetActivationSummaryByPreinstalledOriginIdentifiers,\n      automationsActivationLogsV1ActivationSummary_universal_d_migrateActivationsCount as migrateActivationsCount,\n      automationsActivationLogsV1ActivationSummary_universal_d_MigrateActivationsCountOptions as MigrateActivationsCountOptions,\n    };\n  }\n  \n  export { automationsActivationLogsV1ActivationSummary_universal_d as activationActionSummary };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-site-usage-service-v1.d.ts",
      "content": "declare module \"wix-data-site-usage-service-v1\" {\n  /** SiteDataUsage describes site-wide resource limits and usage */\n  interface SiteDataUsage {\n      /**\n       * Storage limit in bytes. Used storage for LIVE and SANDBOX is counted together towards the limit. For example given\n       * 1 GB limit LIVE environment could contain 700 MB and SANDBOX 300 MB before limit is reached.\n       */\n      storageLimitInBytes?: string | null;\n      /**\n       * Max number of items allowed. Limit is applied separately to LIVE and SANDBOX environments, that is if limit is 1000 items,\n       * both LIVE and SANDBOX environments are allowed to contain 1000 items each.\n       */\n      itemCountLimit?: string | null;\n      /** Max number of native collections allowed */\n      collectionCountLimit?: number | null;\n      /** Total number of native collections created */\n      collectionCount?: number | null;\n      /** Current usage of all collections in LIVE environment */\n      totalUsedLive?: Usage;\n      /** Current usage of all collections in SANDBOX environment */\n      totalUsedSandbox?: Usage;\n      /** Usages per data collection */\n      dataCollectionUsages?: DataCollectionUsage[];\n  }\n  interface Usage {\n      /** Number of bytes */\n      bytes?: string;\n      /** Number of items */\n      items?: string;\n  }\n  interface DataCollectionUsage {\n      /** Data Collection ID */\n      dataCollectionId?: string;\n      /** Data Collection display name */\n      displayName?: string | null;\n      /** Type of data collection, currently only NATIVE are returned in this API */\n      dataCollectionType?: CollectionType;\n      /** Current usage in LIVE environment */\n      totalUsedLive?: Usage;\n      /** Current usage in SANDBOX environment */\n      totalUsedSandbox?: Usage;\n  }\n  enum CollectionType {\n      /** User-created collection. */\n      NATIVE = \"NATIVE\",\n      /** [Collection](https://support.wix.com/en/article/velo-working-with-wix-app-collections-and-code#what-are-wix-app-collections) created by a Wix app when it is installed. This type of collection can be modified dynamically by that app (for example, Wix Forms). */\n      WIX_APP = \"WIX_APP\",\n      /** Collection created by a Wix Blocks app. */\n      BLOCKS_APP = \"BLOCKS_APP\",\n      /** Collection located in externally connected storage. */\n      EXTERNAL = \"EXTERNAL\"\n  }\n  interface GetSiteDataUsageRequest {\n      /** SiteDataUsage fields to return, if empty all are returned */\n      fields?: string[];\n      /** If true, operation queries collections for up-to-date values (rather than using cached values) */\n      consistentRead?: boolean;\n  }\n  interface GetSiteDataUsageResponse {\n      /** The retrieved SiteDataUsage */\n      siteDataUsage?: SiteDataUsage;\n  }\n  interface BulkUpdateUsagesRequest {\n      /** Usages to update */\n      updates?: InstanceUsageUpdate[];\n  }\n  interface DataCollectionUsageUpdate {\n      /** Data Collection ID */\n      dataCollectionId?: string;\n      /** if true present values are added to existing, otherwise values are replaced */\n      relative?: boolean;\n      /** Data Collection item count in the live environment */\n      liveItemCount?: string | null;\n      /** Data Collection item count in the sandbox environment */\n      sandboxItemCount?: string | null;\n      /** Data Collection used storage in bytes in the live environment */\n      liveUsedStorageInBytes?: string | null;\n      /** Data Collection used storage in bytes in the sandbox environment */\n      sandboxUsedStorageInBytes?: string | null;\n  }\n  enum Segment {\n      BOTH = \"BOTH\",\n      LIVE = \"LIVE\",\n      SANDBOX = \"SANDBOX\"\n  }\n  interface InstanceUsageUpdate {\n      /** Data Instance ID */\n      instanceId?: string;\n      /** Usage updates per collection */\n      collections?: DataCollectionUsageUpdate[];\n      /** if true all collections not in the list assumed to have 0 usage */\n      allCollectionsPresent?: boolean;\n      /** Indicates which segment is being updated */\n      segment?: Segment;\n  }\n  interface BulkUpdateUsagesResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface DataChangeEvent extends DataChangeEventEventOneOf {\n      dataChanged?: DataChanged;\n      /** resume point is lost so some changes may be lost */\n      changesLost?: ChangesLost;\n      referenceChanged?: ReferenceChanged;\n      /** segment access or mapping changed */\n      segmentChanged?: SegmentChanged;\n      /** segment migration started to new physical location */\n      segmentMigrationStarted?: SegmentMigrationStarted;\n      idempotenceKey?: string;\n  }\n  /** @oneof */\n  interface DataChangeEventEventOneOf {\n      dataChanged?: DataChanged;\n      /** resume point is lost so some changes may be lost */\n      changesLost?: ChangesLost;\n      referenceChanged?: ReferenceChanged;\n      /** segment access or mapping changed */\n      segmentChanged?: SegmentChanged;\n      /** segment migration started to new physical location */\n      segmentMigrationStarted?: SegmentMigrationStarted;\n  }\n  interface DataChanged extends DataChangedChangeOneOf {\n      /** inserted document */\n      inserted?: Record<string, any> | null;\n      /** full replaced document */\n      replaced?: Record<string, any> | null;\n      /** partial update, removed fields are set to Empty */\n      partial?: Record<string, any> | null;\n      /** deleted document ID */\n      removedId?: string;\n      /** physical cluster ID */\n      clusterId?: string;\n      /**\n       * physical source\n       * db.collection for MongoDB\n       */\n      source?: string;\n      /** instance ID */\n      tenantId?: string;\n      /** logical collection name */\n      collectionName?: string;\n      dataStore?: DataStore;\n      documentId?: string;\n      clusterTime?: Date | null;\n      /** raw resume token BSON */\n      resumeToken?: string;\n      /** Initiator of the request */\n      initiator?: Initiator;\n      /** Identity of the user who initiated the request */\n      writer?: Identity;\n  }\n  /** @oneof */\n  interface DataChangedChangeOneOf {\n      /** inserted document */\n      inserted?: Record<string, any> | null;\n      /** full replaced document */\n      replaced?: Record<string, any> | null;\n      /** partial update, removed fields are set to Empty */\n      partial?: Record<string, any> | null;\n      /** deleted document ID */\n      removedId?: string;\n  }\n  enum Type {\n      /** Initiator is unknown */\n      Unknown = \"Unknown\",\n      /** Indicated that write has been initiated by SSR indexer */\n      SsrIndexer = \"SsrIndexer\"\n  }\n  enum DataStore {\n      Dev = \"Dev\",\n      Public = \"Public\"\n  }\n  interface Initiator {\n      type?: Type;\n  }\n  interface Identity {\n      /** User ID, when the request is initiated by a user */\n      userId?: string | null;\n      /** Member ID, when the request is initiated by a member */\n      memberId?: string | null;\n      /** Visitor ID, when the request is initiated by a visitor */\n      visitorId?: string | null;\n      /** External App ID, when the request is initiated by an external app */\n      externalAppId?: string | null;\n      /** Service ID, when the request is initiated by a service */\n      serviceId?: string | null;\n  }\n  interface ChangesLost {\n      clusterId?: string;\n  }\n  interface ReferenceChanged {\n      /** physical cluster ID */\n      clusterId?: string;\n      /**\n       * physical source\n       * db.collection for MongoDB\n       */\n      source?: string;\n      /** instance ID */\n      tenantId?: string;\n      dataStore?: DataStore;\n      relationshipName?: string;\n      leftId?: string;\n      rightId?: string;\n      /** if reference is set or unset */\n      isRemoved?: boolean;\n      clusterTime?: Date | null;\n      /** raw resume token BSON */\n      resumeToken?: string;\n      /** ref created date */\n      createdAt?: Date | null;\n  }\n  interface SegmentChanged {\n      /** physical cluster ID */\n      clusterId?: string;\n      /**\n       * physical source\n       * db.collection for MongoDB\n       */\n      source?: string;\n      /** instance ID */\n      tenantId?: string;\n      /** segment */\n      dataStore?: DataStore;\n      /** new db name if changed */\n      newDatabase?: string | null;\n      /** new cluster if changed */\n      newClusterId?: string | null;\n      /** read permissions if changed */\n      readsEnabled?: boolean | null;\n      /** write permissions if changed */\n      writesEnabled?: boolean | null;\n      /** event time */\n      clusterTime?: Date | null;\n      /** raw resume token BSON */\n      resumeToken?: string;\n  }\n  interface SegmentMigrationStarted {\n      /** physical cluster ID */\n      clusterId?: string;\n      /**\n       * physical source\n       * db.collection for MongoDB\n       */\n      source?: string;\n      /** instance ID */\n      tenantId?: string;\n      /** segment */\n      dataStore?: DataStore;\n      /** new db name if changed */\n      newDatabase?: string;\n      /** new cluster if changed */\n      newClusterId?: string;\n      /** event time */\n      clusterTime?: Date | null;\n      /** raw resume token BSON */\n      resumeToken?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get current site data usage\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId WIX_DATA.SITE_DATA_USAGE_READ\n   * @adminMethod\n   */\n  function getSiteDataUsage(options?: GetSiteDataUsageOptions): Promise<GetSiteDataUsageResponse>;\n  interface GetSiteDataUsageOptions {\n      /** SiteDataUsage fields to return, if empty all are returned */\n      fields?: string[];\n      /** If true, operation queries collections for up-to-date values (rather than using cached values) */\n      consistentRead?: boolean;\n  }\n  \n  type cloudDataUsageV1SiteDataUsage_universal_d_SiteDataUsage = SiteDataUsage;\n  type cloudDataUsageV1SiteDataUsage_universal_d_Usage = Usage;\n  type cloudDataUsageV1SiteDataUsage_universal_d_DataCollectionUsage = DataCollectionUsage;\n  type cloudDataUsageV1SiteDataUsage_universal_d_CollectionType = CollectionType;\n  const cloudDataUsageV1SiteDataUsage_universal_d_CollectionType: typeof CollectionType;\n  type cloudDataUsageV1SiteDataUsage_universal_d_GetSiteDataUsageRequest = GetSiteDataUsageRequest;\n  type cloudDataUsageV1SiteDataUsage_universal_d_GetSiteDataUsageResponse = GetSiteDataUsageResponse;\n  type cloudDataUsageV1SiteDataUsage_universal_d_BulkUpdateUsagesRequest = BulkUpdateUsagesRequest;\n  type cloudDataUsageV1SiteDataUsage_universal_d_DataCollectionUsageUpdate = DataCollectionUsageUpdate;\n  type cloudDataUsageV1SiteDataUsage_universal_d_Segment = Segment;\n  const cloudDataUsageV1SiteDataUsage_universal_d_Segment: typeof Segment;\n  type cloudDataUsageV1SiteDataUsage_universal_d_InstanceUsageUpdate = InstanceUsageUpdate;\n  type cloudDataUsageV1SiteDataUsage_universal_d_BulkUpdateUsagesResponse = BulkUpdateUsagesResponse;\n  type cloudDataUsageV1SiteDataUsage_universal_d_DomainEvent = DomainEvent;\n  type cloudDataUsageV1SiteDataUsage_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type cloudDataUsageV1SiteDataUsage_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type cloudDataUsageV1SiteDataUsage_universal_d_RestoreInfo = RestoreInfo;\n  type cloudDataUsageV1SiteDataUsage_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type cloudDataUsageV1SiteDataUsage_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type cloudDataUsageV1SiteDataUsage_universal_d_ActionEvent = ActionEvent;\n  type cloudDataUsageV1SiteDataUsage_universal_d_Empty = Empty;\n  type cloudDataUsageV1SiteDataUsage_universal_d_DataChangeEvent = DataChangeEvent;\n  type cloudDataUsageV1SiteDataUsage_universal_d_DataChangeEventEventOneOf = DataChangeEventEventOneOf;\n  type cloudDataUsageV1SiteDataUsage_universal_d_DataChanged = DataChanged;\n  type cloudDataUsageV1SiteDataUsage_universal_d_DataChangedChangeOneOf = DataChangedChangeOneOf;\n  type cloudDataUsageV1SiteDataUsage_universal_d_Type = Type;\n  const cloudDataUsageV1SiteDataUsage_universal_d_Type: typeof Type;\n  type cloudDataUsageV1SiteDataUsage_universal_d_DataStore = DataStore;\n  const cloudDataUsageV1SiteDataUsage_universal_d_DataStore: typeof DataStore;\n  type cloudDataUsageV1SiteDataUsage_universal_d_Initiator = Initiator;\n  type cloudDataUsageV1SiteDataUsage_universal_d_Identity = Identity;\n  type cloudDataUsageV1SiteDataUsage_universal_d_ChangesLost = ChangesLost;\n  type cloudDataUsageV1SiteDataUsage_universal_d_ReferenceChanged = ReferenceChanged;\n  type cloudDataUsageV1SiteDataUsage_universal_d_SegmentChanged = SegmentChanged;\n  type cloudDataUsageV1SiteDataUsage_universal_d_SegmentMigrationStarted = SegmentMigrationStarted;\n  type cloudDataUsageV1SiteDataUsage_universal_d_MessageEnvelope = MessageEnvelope;\n  type cloudDataUsageV1SiteDataUsage_universal_d_IdentificationData = IdentificationData;\n  type cloudDataUsageV1SiteDataUsage_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type cloudDataUsageV1SiteDataUsage_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const cloudDataUsageV1SiteDataUsage_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const cloudDataUsageV1SiteDataUsage_universal_d_getSiteDataUsage: typeof getSiteDataUsage;\n  type cloudDataUsageV1SiteDataUsage_universal_d_GetSiteDataUsageOptions = GetSiteDataUsageOptions;\n  namespace cloudDataUsageV1SiteDataUsage_universal_d {\n    export {\n      cloudDataUsageV1SiteDataUsage_universal_d_SiteDataUsage as SiteDataUsage,\n      cloudDataUsageV1SiteDataUsage_universal_d_Usage as Usage,\n      cloudDataUsageV1SiteDataUsage_universal_d_DataCollectionUsage as DataCollectionUsage,\n      cloudDataUsageV1SiteDataUsage_universal_d_CollectionType as CollectionType,\n      cloudDataUsageV1SiteDataUsage_universal_d_GetSiteDataUsageRequest as GetSiteDataUsageRequest,\n      cloudDataUsageV1SiteDataUsage_universal_d_GetSiteDataUsageResponse as GetSiteDataUsageResponse,\n      cloudDataUsageV1SiteDataUsage_universal_d_BulkUpdateUsagesRequest as BulkUpdateUsagesRequest,\n      cloudDataUsageV1SiteDataUsage_universal_d_DataCollectionUsageUpdate as DataCollectionUsageUpdate,\n      cloudDataUsageV1SiteDataUsage_universal_d_Segment as Segment,\n      cloudDataUsageV1SiteDataUsage_universal_d_InstanceUsageUpdate as InstanceUsageUpdate,\n      cloudDataUsageV1SiteDataUsage_universal_d_BulkUpdateUsagesResponse as BulkUpdateUsagesResponse,\n      cloudDataUsageV1SiteDataUsage_universal_d_DomainEvent as DomainEvent,\n      cloudDataUsageV1SiteDataUsage_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      cloudDataUsageV1SiteDataUsage_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      cloudDataUsageV1SiteDataUsage_universal_d_RestoreInfo as RestoreInfo,\n      cloudDataUsageV1SiteDataUsage_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      cloudDataUsageV1SiteDataUsage_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      cloudDataUsageV1SiteDataUsage_universal_d_ActionEvent as ActionEvent,\n      cloudDataUsageV1SiteDataUsage_universal_d_Empty as Empty,\n      cloudDataUsageV1SiteDataUsage_universal_d_DataChangeEvent as DataChangeEvent,\n      cloudDataUsageV1SiteDataUsage_universal_d_DataChangeEventEventOneOf as DataChangeEventEventOneOf,\n      cloudDataUsageV1SiteDataUsage_universal_d_DataChanged as DataChanged,\n      cloudDataUsageV1SiteDataUsage_universal_d_DataChangedChangeOneOf as DataChangedChangeOneOf,\n      cloudDataUsageV1SiteDataUsage_universal_d_Type as Type,\n      cloudDataUsageV1SiteDataUsage_universal_d_DataStore as DataStore,\n      cloudDataUsageV1SiteDataUsage_universal_d_Initiator as Initiator,\n      cloudDataUsageV1SiteDataUsage_universal_d_Identity as Identity,\n      cloudDataUsageV1SiteDataUsage_universal_d_ChangesLost as ChangesLost,\n      cloudDataUsageV1SiteDataUsage_universal_d_ReferenceChanged as ReferenceChanged,\n      cloudDataUsageV1SiteDataUsage_universal_d_SegmentChanged as SegmentChanged,\n      cloudDataUsageV1SiteDataUsage_universal_d_SegmentMigrationStarted as SegmentMigrationStarted,\n      cloudDataUsageV1SiteDataUsage_universal_d_MessageEnvelope as MessageEnvelope,\n      cloudDataUsageV1SiteDataUsage_universal_d_IdentificationData as IdentificationData,\n      cloudDataUsageV1SiteDataUsage_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      cloudDataUsageV1SiteDataUsage_universal_d_WebhookIdentityType as WebhookIdentityType,\n      cloudDataUsageV1SiteDataUsage_universal_d_getSiteDataUsage as getSiteDataUsage,\n      cloudDataUsageV1SiteDataUsage_universal_d_GetSiteDataUsageOptions as GetSiteDataUsageOptions,\n    };\n  }\n  \n  export { cloudDataUsageV1SiteDataUsage_universal_d as data };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-instagram-account-backend.v1.d.ts",
      "content": "declare module \"wix-instagram-account-backend.v1\" {\n  interface InstagramAccount {\n      /**\n       * The id of the connection\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * The revision of the connection\n       * @readonly\n       */\n      revision?: string | null;\n      /** The instagram info connected to */\n      instagramInfo?: InstagramInfo;\n      /** True - account is synchronized with the Meta API. False - in last successful state */\n      synchronized?: boolean | null;\n  }\n  interface InstagramInfo {\n      /** The id of the instagram user */\n      instagramId?: string;\n      /**\n       * The username of the instagram user\n       * @readonly\n       */\n      instagramUsername?: string;\n  }\n  interface ConnectAccountByTokenRequest {\n      /** access token received from instagram api */\n      accessToken?: string;\n  }\n  interface ConnectAccountByTokenResponse {\n      /** instagram account profile information */\n      instagramAccount?: InstagramAccount;\n  }\n  interface ChangeTokenExpirationDateRequest {\n      /**\n       * connection id\n       * @readonly\n       */\n      connectionId?: string;\n      /** new expiration date */\n      expirationDate?: Date | null;\n  }\n  interface ChangeTokenExpirationDateResponse {\n  }\n  interface GetLongLivedTokenRequest {\n      /**\n       * connection id\n       * @readonly\n       */\n      connectionId?: string;\n  }\n  interface GetLongLivedTokenResponse {\n      /** access token received from instagram api */\n      token?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface InitiateAccountConnectionRequest {\n  }\n  interface InitiateAccountConnectionResponse {\n      /** State parameter for authorization callback */\n      connectionParams?: string[];\n  }\n  interface DisconnectAccountRequest {\n      /**\n       * connection id to be disconnected\n       * @readonly\n       */\n      connectionId: string;\n  }\n  interface DisconnectAccountResponse {\n  }\n  interface GetInstagramAccountRequest {\n      /**\n       * connection id\n       * @readonly\n       */\n      connectionId: string;\n  }\n  interface GetInstagramAccountResponse {\n      /** instagram account information */\n      instagramAccount?: InstagramAccount;\n  }\n  interface ListInstagramAccountsRequest {\n  }\n  interface ListInstagramAccountsResponse {\n      /** instagram account profile information */\n      instagramAccounts?: InstagramAccount[];\n  }\n  /**\n   * Retrieve hash needed for connection of instagram account to a site.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId INSTAGRAM_ACCOUNTS.INITIATE_CONNECTION\n   * @adminMethod\n   */\n  function initiateAccountConnection(): Promise<InitiateAccountConnectionResponse>;\n  /**\n   * Disconnect instagram account from a site.\n   *\n   * Removes stored Long-life token corresponding to the instagram user id.\n   * @param connectionId - connection id to be disconnected\n   * @public\n   * @documentationMaturity preview\n   * @requiredField connectionId\n   * @permissionId INSTAGRAM_ACCOUNTS.DISCONNECT\n   * @adminMethod\n   */\n  function disconnectAccount(connectionId: string): Promise<void>;\n  /**\n   * Get instagram account profile.\n   *\n   * Returns instagram account profile corresponding to account id.\n   * @param connectionId - connection id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField connectionId\n   * @permissionId INSTAGRAM_ACCOUNTS.GET_PROFILE\n   * @adminMethod\n   * @returns instagram account information\n   */\n  function getInstagramAccount(connectionId: string): Promise<InstagramAccount>;\n  /**\n   * List instagram accounts connected to the site.\n   *\n   * Returns list of instagram user ids connected to app instance.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId INSTAGRAM_ACCOUNTS.LIST_PROFILES\n   * @adminMethod\n   */\n  function listInstagramAccounts(): Promise<ListInstagramAccountsResponse>;\n  \n  type instagramFeedV1InstagramAccount_universal_d_InstagramAccount = InstagramAccount;\n  type instagramFeedV1InstagramAccount_universal_d_InstagramInfo = InstagramInfo;\n  type instagramFeedV1InstagramAccount_universal_d_ConnectAccountByTokenRequest = ConnectAccountByTokenRequest;\n  type instagramFeedV1InstagramAccount_universal_d_ConnectAccountByTokenResponse = ConnectAccountByTokenResponse;\n  type instagramFeedV1InstagramAccount_universal_d_ChangeTokenExpirationDateRequest = ChangeTokenExpirationDateRequest;\n  type instagramFeedV1InstagramAccount_universal_d_ChangeTokenExpirationDateResponse = ChangeTokenExpirationDateResponse;\n  type instagramFeedV1InstagramAccount_universal_d_GetLongLivedTokenRequest = GetLongLivedTokenRequest;\n  type instagramFeedV1InstagramAccount_universal_d_GetLongLivedTokenResponse = GetLongLivedTokenResponse;\n  type instagramFeedV1InstagramAccount_universal_d_DomainEvent = DomainEvent;\n  type instagramFeedV1InstagramAccount_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type instagramFeedV1InstagramAccount_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type instagramFeedV1InstagramAccount_universal_d_RestoreInfo = RestoreInfo;\n  type instagramFeedV1InstagramAccount_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type instagramFeedV1InstagramAccount_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type instagramFeedV1InstagramAccount_universal_d_ActionEvent = ActionEvent;\n  type instagramFeedV1InstagramAccount_universal_d_MessageEnvelope = MessageEnvelope;\n  type instagramFeedV1InstagramAccount_universal_d_IdentificationData = IdentificationData;\n  type instagramFeedV1InstagramAccount_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type instagramFeedV1InstagramAccount_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const instagramFeedV1InstagramAccount_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type instagramFeedV1InstagramAccount_universal_d_InitiateAccountConnectionRequest = InitiateAccountConnectionRequest;\n  type instagramFeedV1InstagramAccount_universal_d_InitiateAccountConnectionResponse = InitiateAccountConnectionResponse;\n  type instagramFeedV1InstagramAccount_universal_d_DisconnectAccountRequest = DisconnectAccountRequest;\n  type instagramFeedV1InstagramAccount_universal_d_DisconnectAccountResponse = DisconnectAccountResponse;\n  type instagramFeedV1InstagramAccount_universal_d_GetInstagramAccountRequest = GetInstagramAccountRequest;\n  type instagramFeedV1InstagramAccount_universal_d_GetInstagramAccountResponse = GetInstagramAccountResponse;\n  type instagramFeedV1InstagramAccount_universal_d_ListInstagramAccountsRequest = ListInstagramAccountsRequest;\n  type instagramFeedV1InstagramAccount_universal_d_ListInstagramAccountsResponse = ListInstagramAccountsResponse;\n  const instagramFeedV1InstagramAccount_universal_d_initiateAccountConnection: typeof initiateAccountConnection;\n  const instagramFeedV1InstagramAccount_universal_d_disconnectAccount: typeof disconnectAccount;\n  const instagramFeedV1InstagramAccount_universal_d_getInstagramAccount: typeof getInstagramAccount;\n  const instagramFeedV1InstagramAccount_universal_d_listInstagramAccounts: typeof listInstagramAccounts;\n  namespace instagramFeedV1InstagramAccount_universal_d {\n    export {\n      instagramFeedV1InstagramAccount_universal_d_InstagramAccount as InstagramAccount,\n      instagramFeedV1InstagramAccount_universal_d_InstagramInfo as InstagramInfo,\n      instagramFeedV1InstagramAccount_universal_d_ConnectAccountByTokenRequest as ConnectAccountByTokenRequest,\n      instagramFeedV1InstagramAccount_universal_d_ConnectAccountByTokenResponse as ConnectAccountByTokenResponse,\n      instagramFeedV1InstagramAccount_universal_d_ChangeTokenExpirationDateRequest as ChangeTokenExpirationDateRequest,\n      instagramFeedV1InstagramAccount_universal_d_ChangeTokenExpirationDateResponse as ChangeTokenExpirationDateResponse,\n      instagramFeedV1InstagramAccount_universal_d_GetLongLivedTokenRequest as GetLongLivedTokenRequest,\n      instagramFeedV1InstagramAccount_universal_d_GetLongLivedTokenResponse as GetLongLivedTokenResponse,\n      instagramFeedV1InstagramAccount_universal_d_DomainEvent as DomainEvent,\n      instagramFeedV1InstagramAccount_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      instagramFeedV1InstagramAccount_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      instagramFeedV1InstagramAccount_universal_d_RestoreInfo as RestoreInfo,\n      instagramFeedV1InstagramAccount_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      instagramFeedV1InstagramAccount_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      instagramFeedV1InstagramAccount_universal_d_ActionEvent as ActionEvent,\n      instagramFeedV1InstagramAccount_universal_d_MessageEnvelope as MessageEnvelope,\n      instagramFeedV1InstagramAccount_universal_d_IdentificationData as IdentificationData,\n      instagramFeedV1InstagramAccount_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      instagramFeedV1InstagramAccount_universal_d_WebhookIdentityType as WebhookIdentityType,\n      instagramFeedV1InstagramAccount_universal_d_InitiateAccountConnectionRequest as InitiateAccountConnectionRequest,\n      instagramFeedV1InstagramAccount_universal_d_InitiateAccountConnectionResponse as InitiateAccountConnectionResponse,\n      instagramFeedV1InstagramAccount_universal_d_DisconnectAccountRequest as DisconnectAccountRequest,\n      instagramFeedV1InstagramAccount_universal_d_DisconnectAccountResponse as DisconnectAccountResponse,\n      instagramFeedV1InstagramAccount_universal_d_GetInstagramAccountRequest as GetInstagramAccountRequest,\n      instagramFeedV1InstagramAccount_universal_d_GetInstagramAccountResponse as GetInstagramAccountResponse,\n      instagramFeedV1InstagramAccount_universal_d_ListInstagramAccountsRequest as ListInstagramAccountsRequest,\n      instagramFeedV1InstagramAccount_universal_d_ListInstagramAccountsResponse as ListInstagramAccountsResponse,\n      instagramFeedV1InstagramAccount_universal_d_initiateAccountConnection as initiateAccountConnection,\n      instagramFeedV1InstagramAccount_universal_d_disconnectAccount as disconnectAccount,\n      instagramFeedV1InstagramAccount_universal_d_getInstagramAccount as getInstagramAccount,\n      instagramFeedV1InstagramAccount_universal_d_listInstagramAccounts as listInstagramAccounts,\n    };\n  }\n  \n  export { instagramFeedV1InstagramAccount_universal_d as accounts };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-analytics-session.v2.d.ts",
      "content": "declare module \"wix-analytics-session.v2\" {\n  interface Session {\n      /** Session ID. */\n      _id?: string;\n  }\n  /** List sessions async request. */\n  interface ListSessionsAsyncRequest extends ListSessionsAsyncRequestPeriodOneOf, ListSessionsAsyncRequestParamsOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** Navigation flow details. */\n      navigationFlow?: NavigationFlowSessionsParams;\n      /** Conversion funnel details. The steps in the journey the visitor has taken on the site. */\n      conversionFunnel?: ConversionFunnelSessionsParams;\n      /** Device type. */\n      deviceType?: SessionsByDeviceParams;\n      /** User's timezone. Defaults to timezone as set in the [Site Properties API](https://dev.wix.com/docs/rest/business-management/site-properties/properties/properties-object). */\n      timezone?: string | null;\n  }\n  /** @oneof */\n  interface ListSessionsAsyncRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n  }\n  /** @oneof */\n  interface ListSessionsAsyncRequestParamsOneOf {\n      /** Navigation flow details. */\n      navigationFlow?: NavigationFlowSessionsParams;\n      /** Conversion funnel details. The steps in the journey the visitor has taken on the site. */\n      conversionFunnel?: ConversionFunnelSessionsParams;\n      /** Device type. */\n      deviceType?: SessionsByDeviceParams;\n  }\n  /** Custom time period. */\n  interface CustomTimePeriod {\n      /** Custom period start date in provided timezone. */\n      startDate?: string;\n      /**\n       * Custom period end date in provided timezone. Returned data will include all dates until the requested end date.\n       * For example, { startDate: '2024-01-01', endDate: '2024-01-03' } will return data for '2024-01-01' and '2024-01-02'\n       */\n      endDate?: string;\n  }\n  /**\n   * Predefined time period.\n   * `THIS_WEEK`begins with Monday.\n   */\n  enum PredefinedTimePeriod {\n      /** Today. */\n      TODAY = \"TODAY\",\n      /** Yesterday. */\n      YESTERDAY = \"YESTERDAY\",\n      /** Last 7 days. */\n      LAST_7_DAYS = \"LAST_7_DAYS\",\n      /** Last 14 days. */\n      LAST_14_DAYS = \"LAST_14_DAYS\",\n      /** Last 30 days. */\n      LAST_30_DAYS = \"LAST_30_DAYS\",\n      /** Last 90 days. */\n      LAST_90_DAYS = \"LAST_90_DAYS\",\n      /** Last 28 days. */\n      LAST_28_DAYS = \"LAST_28_DAYS\",\n      /** Last 180 days. */\n      LAST_180_DAYS = \"LAST_180_DAYS\",\n      /** Last 365 days. */\n      LAST_365_DAYS = \"LAST_365_DAYS\",\n      /** Current week, starting on Monday. */\n      THIS_WEEK = \"THIS_WEEK\",\n      /** Current month. */\n      THIS_MONTH = \"THIS_MONTH\",\n      /** Current quarter. */\n      THIS_QUARTER = \"THIS_QUARTER\",\n      /** This year. */\n      THIS_YEAR = \"THIS_YEAR\",\n      /** Last week (previous week). */\n      LAST_WEEK = \"LAST_WEEK\",\n      /** Last month. */\n      LAST_MONTH = \"LAST_MONTH\",\n      /** Last quarter. */\n      LAST_QUARTER = \"LAST_QUARTER\",\n      /** Last year. */\n      LAST_YEAR = \"LAST_YEAR\",\n      /** Last 12 months. */\n      LAST_12_MONTHS = \"LAST_12_MONTHS\"\n  }\n  /** Navigation flow details. */\n  interface NavigationFlowSessionsParams {\n      /**\n       * Page interactions, including where the user dropped off. For example:\n       * - [\"/{Homepage}\", \"__DROP__\"]: Sessions where a user visited the site's homepage and then dropped off.\n       * - [\"\", \"__DROP__\"]: Sessions where a user visited (any page) and then dropped off.\n       * - [\"\", \"\", \"__DROP__\"]: Session where a user visited any page, then navigated to any page, and then dropped off.\n       */\n      pageInteractions?: string[] | null;\n  }\n  /** Conversion funnel details, meaning the steps in the journey the visitor has taken on the site. */\n  interface ConversionFunnelSessionsParams {\n      /** Funnel step to include. */\n      include?: FunnelStep;\n      /** Funnel step to exclude. */\n      exclude?: FunnelStep;\n  }\n  /** Funnel step. */\n  enum FunnelStep {\n      /** Not selected. */\n      NOT_SELECTED_FUNNEL_STEP = \"NOT_SELECTED_FUNNEL_STEP\",\n      /** Site sessions. */\n      SITE_SESSIONS = \"SITE_SESSIONS\",\n      /** Viewed product. */\n      VIEWED_PRODUCT = \"VIEWED_PRODUCT\",\n      /** Added to cart. */\n      ADDED_TO_CART = \"ADDED_TO_CART\",\n      /** Reached checkout. */\n      REACHED_CHECKOUT = \"REACHED_CHECKOUT\",\n      /** Sessions converted. */\n      SESSIONS_CONVERTED = \"SESSIONS_CONVERTED\"\n  }\n  /** Device details. */\n  interface SessionsByDeviceParams {\n      /** Device type. */\n      type?: DeviceType;\n  }\n  /** Device type. */\n  enum DeviceType {\n      /** Not selected. */\n      NOT_SELECTED_DEVICE_TYPE = \"NOT_SELECTED_DEVICE_TYPE\",\n      /** Desktop. */\n      DESKTOP = \"DESKTOP\",\n      /** Mobile. */\n      MOBILE = \"MOBILE\",\n      /** Tablet. */\n      TABLET = \"TABLET\",\n      /** All. */\n      ALL = \"ALL\"\n  }\n  /** List sessions async response. */\n  interface ListSessionsAsyncResponse {\n      /**\n       * List sessions job ID.\n       * Pass this ID to Get List Sessions Job Result to retrieve job details and metadata.\n       */\n      jobId?: string;\n  }\n  /** Get list sessions job result request. */\n  interface GetListSessionsJobResultRequest {\n      /** List sessions job ID. */\n      jobId: string;\n      /** Number of items to load. */\n      limit: number;\n      /** Number of items to skip in the current sort order. */\n      offset: number;\n  }\n  /** Get list sessions job result response. */\n  interface GetListSessionsJobResultResponse {\n      /** List sessions job result data. */\n      result?: JobResult;\n  }\n  /** List sessions job result. */\n  interface JobResult {\n      /** Job status. */\n      jobStatus?: JobStatus;\n      /** Total number of sessions. */\n      total?: number | null;\n      /** Session IDs. */\n      sessionIds?: string[];\n  }\n  /** Job status. */\n  enum JobStatus {\n      /** Unknown. */\n      UNKNOWN_JOB_STATUS = \"UNKNOWN_JOB_STATUS\",\n      /** In progress. */\n      IN_PROGRESS = \"IN_PROGRESS\",\n      /** Finished. */\n      FINISHED = \"FINISHED\",\n      /** Error. */\n      ERROR = \"ERROR\"\n  }\n  /** Request for getting store conversion sessions. */\n  interface CountFunnelSessionsRequest extends CountFunnelSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** User timezone. If not provided it will be taken from site properties. */\n      timezone?: string | null;\n  }\n  /** @oneof */\n  interface CountFunnelSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n  }\n  /** Response for getting store conversion sessions. */\n  interface CountFunnelSessionsResponse {\n      /** Recordings. */\n      recordings?: Recordings;\n  }\n  /** Recordings. */\n  interface Recordings {\n      /** Saved Session count. */\n      siteSessions?: number | null;\n      /** Saved Sessions with Product Views */\n      productViewSessions?: number | null;\n      /** Saved Sessions with Cart Views */\n      cartViewSessions?: number | null;\n      /** Saved Sessions with Checkouts */\n      checkoutSessions?: number | null;\n      /** Saved Converted Sessions */\n      convertedSessions?: number | null;\n  }\n  /** Request for getting the total number of sessions. */\n  interface CountSessionsRequest extends CountSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** User timezone. If not provided it will be taken from site properties. */\n      timezone?: string | null;\n  }\n  /** @oneof */\n  interface CountSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n  }\n  /** Response for getting the total number of sessions. */\n  interface CountSessionsResponse {\n      /** Total number of sessions. */\n      sessions?: number;\n  }\n  /** Mark a browser session as recorded. */\n  interface MarkSessionAsRecordedRequest {\n      /** Browser session ID. */\n      sessionId: string;\n  }\n  /** Mark a browser session as recorded. */\n  interface MarkSessionAsRecordedResponse {\n  }\n  /** Marks browser session recordings as deleted. */\n  interface MarkRecordingsAsDeletedRequest {\n      /** Browser session IDs. */\n      sessionIds: string[];\n  }\n  /** Marks browser session recordings as deleted. */\n  interface MarkRecordingsAsDeletedResponse {\n  }\n  /**\n   * Start an async job to retrieve a list of session IDs, given the specified filters. The following filters **must** be passed:\n   * - Time period, either predefined or custom.\n   * - Session filter, either navigation flow (page interactions), conversion funnel steps, or device type.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filter options. The following filters **must** be passed:\n   *\n   *  - Time period, either predefined or custom.\n   *\n   *  - Session filter, either navigation flow (page interactions), conversion funnel steps, or device type.\n   * @permissionId ANALYTICS_AND_REPORTS.SESSIONS_READ\n   * @adminMethod\n   * @returns List sessions async response.\n   */\n  function listSessionsAsync(options?: ListSessionsAsyncOptions): Promise<ListSessionsAsyncResponse>;\n  interface ListSessionsAsyncOptions extends ListSessionsAsyncRequestPeriodOneOf, ListSessionsAsyncRequestParamsOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** User's timezone. Defaults to timezone as set in the [Site Properties API](https://dev.wix.com/docs/rest/business-management/site-properties/properties/properties-object). */\n      timezone?: string | null;\n      /** Navigation flow details. */\n      navigationFlow?: NavigationFlowSessionsParams;\n      /** Conversion funnel details. The steps in the journey the visitor has taken on the site. */\n      conversionFunnel?: ConversionFunnelSessionsParams;\n      /** Device type. */\n      deviceType?: SessionsByDeviceParams;\n  }\n  /**\n   * Retrieves the job status and a list of session IDs, if ready.\n   * @param jobId - List sessions job ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField jobId\n   * @requiredField options\n   * @requiredField options.limit\n   * @requiredField options.offset\n   * @param options - Field options. The `limit` and `offset` filters **must** be passed.\n   * @permissionId ANALYTICS_AND_REPORTS.SESSIONS_READ\n   * @adminMethod\n   * @returns Get list sessions job result response.\n   */\n  function getListSessionsJobResult(jobId: string, options: GetListSessionsJobResultOptions): Promise<GetListSessionsJobResultResponse>;\n  interface GetListSessionsJobResultOptions {\n      /** Number of items to load. */\n      limit: number;\n      /** Number of items to skip in the current sort order. */\n      offset: number;\n  }\n  /**\n   * Get the number of session recordings for store conversion funnel step.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ANALYTICS_AND_REPORTS.SESSIONS_READ\n   * @adminMethod\n   * @returns Response for getting store conversion sessions.\n   */\n  function countFunnelSessions(options?: CountFunnelSessionsOptions): Promise<CountFunnelSessionsResponse>;\n  interface CountFunnelSessionsOptions extends CountFunnelSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** User timezone. If not provided it will be taken from site properties. */\n      timezone?: string | null;\n  }\n  /**\n   * Get the total number of session recordings.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ANALYTICS_AND_REPORTS.SESSIONS_READ\n   * @adminMethod\n   * @returns Response for getting the total number of sessions.\n   */\n  function countSessions(options?: CountSessionsOptions): Promise<CountSessionsResponse>;\n  interface CountSessionsOptions extends CountSessionsRequestPeriodOneOf {\n      /** Custom time period with start & end dates. */\n      customTimePeriod?: CustomTimePeriod;\n      /** Predefined time period. */\n      predefinedTimePeriod?: PredefinedTimePeriod;\n      /** User timezone. If not provided it will be taken from site properties. */\n      timezone?: string | null;\n  }\n  /**\n   * Marks a browser session as recorded.\n   * @param sessionId - Browser session ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField sessionId\n   * @permissionId ANALYTICS_AND_REPORTS.SESSIONS_UPDATE\n   * @adminMethod\n   * @returns Mark a browser session as recorded.\n   */\n  function markSessionAsRecorded(sessionId: string): Promise<void>;\n  /**\n   * Marks browser session recordings as deleted.\n   * @param sessionIds - Browser session IDs.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField sessionIds\n   * @permissionId ANALYTICS_AND_REPORTS.SESSIONS_UPDATE\n   * @adminMethod\n   * @returns Marks browser session recordings as deleted.\n   */\n  function markRecordingsAsDeleted(sessionIds: string[]): Promise<void>;\n  \n  type analyticsNgV1Session_universal_d_Session = Session;\n  type analyticsNgV1Session_universal_d_ListSessionsAsyncRequest = ListSessionsAsyncRequest;\n  type analyticsNgV1Session_universal_d_ListSessionsAsyncRequestPeriodOneOf = ListSessionsAsyncRequestPeriodOneOf;\n  type analyticsNgV1Session_universal_d_ListSessionsAsyncRequestParamsOneOf = ListSessionsAsyncRequestParamsOneOf;\n  type analyticsNgV1Session_universal_d_CustomTimePeriod = CustomTimePeriod;\n  type analyticsNgV1Session_universal_d_PredefinedTimePeriod = PredefinedTimePeriod;\n  const analyticsNgV1Session_universal_d_PredefinedTimePeriod: typeof PredefinedTimePeriod;\n  type analyticsNgV1Session_universal_d_NavigationFlowSessionsParams = NavigationFlowSessionsParams;\n  type analyticsNgV1Session_universal_d_ConversionFunnelSessionsParams = ConversionFunnelSessionsParams;\n  type analyticsNgV1Session_universal_d_FunnelStep = FunnelStep;\n  const analyticsNgV1Session_universal_d_FunnelStep: typeof FunnelStep;\n  type analyticsNgV1Session_universal_d_SessionsByDeviceParams = SessionsByDeviceParams;\n  type analyticsNgV1Session_universal_d_DeviceType = DeviceType;\n  const analyticsNgV1Session_universal_d_DeviceType: typeof DeviceType;\n  type analyticsNgV1Session_universal_d_ListSessionsAsyncResponse = ListSessionsAsyncResponse;\n  type analyticsNgV1Session_universal_d_GetListSessionsJobResultRequest = GetListSessionsJobResultRequest;\n  type analyticsNgV1Session_universal_d_GetListSessionsJobResultResponse = GetListSessionsJobResultResponse;\n  type analyticsNgV1Session_universal_d_JobResult = JobResult;\n  type analyticsNgV1Session_universal_d_JobStatus = JobStatus;\n  const analyticsNgV1Session_universal_d_JobStatus: typeof JobStatus;\n  type analyticsNgV1Session_universal_d_CountFunnelSessionsRequest = CountFunnelSessionsRequest;\n  type analyticsNgV1Session_universal_d_CountFunnelSessionsRequestPeriodOneOf = CountFunnelSessionsRequestPeriodOneOf;\n  type analyticsNgV1Session_universal_d_CountFunnelSessionsResponse = CountFunnelSessionsResponse;\n  type analyticsNgV1Session_universal_d_Recordings = Recordings;\n  type analyticsNgV1Session_universal_d_CountSessionsRequest = CountSessionsRequest;\n  type analyticsNgV1Session_universal_d_CountSessionsRequestPeriodOneOf = CountSessionsRequestPeriodOneOf;\n  type analyticsNgV1Session_universal_d_CountSessionsResponse = CountSessionsResponse;\n  type analyticsNgV1Session_universal_d_MarkSessionAsRecordedRequest = MarkSessionAsRecordedRequest;\n  type analyticsNgV1Session_universal_d_MarkSessionAsRecordedResponse = MarkSessionAsRecordedResponse;\n  type analyticsNgV1Session_universal_d_MarkRecordingsAsDeletedRequest = MarkRecordingsAsDeletedRequest;\n  type analyticsNgV1Session_universal_d_MarkRecordingsAsDeletedResponse = MarkRecordingsAsDeletedResponse;\n  const analyticsNgV1Session_universal_d_listSessionsAsync: typeof listSessionsAsync;\n  type analyticsNgV1Session_universal_d_ListSessionsAsyncOptions = ListSessionsAsyncOptions;\n  const analyticsNgV1Session_universal_d_getListSessionsJobResult: typeof getListSessionsJobResult;\n  type analyticsNgV1Session_universal_d_GetListSessionsJobResultOptions = GetListSessionsJobResultOptions;\n  const analyticsNgV1Session_universal_d_countFunnelSessions: typeof countFunnelSessions;\n  type analyticsNgV1Session_universal_d_CountFunnelSessionsOptions = CountFunnelSessionsOptions;\n  const analyticsNgV1Session_universal_d_countSessions: typeof countSessions;\n  type analyticsNgV1Session_universal_d_CountSessionsOptions = CountSessionsOptions;\n  const analyticsNgV1Session_universal_d_markSessionAsRecorded: typeof markSessionAsRecorded;\n  const analyticsNgV1Session_universal_d_markRecordingsAsDeleted: typeof markRecordingsAsDeleted;\n  namespace analyticsNgV1Session_universal_d {\n    export {\n      analyticsNgV1Session_universal_d_Session as Session,\n      analyticsNgV1Session_universal_d_ListSessionsAsyncRequest as ListSessionsAsyncRequest,\n      analyticsNgV1Session_universal_d_ListSessionsAsyncRequestPeriodOneOf as ListSessionsAsyncRequestPeriodOneOf,\n      analyticsNgV1Session_universal_d_ListSessionsAsyncRequestParamsOneOf as ListSessionsAsyncRequestParamsOneOf,\n      analyticsNgV1Session_universal_d_CustomTimePeriod as CustomTimePeriod,\n      analyticsNgV1Session_universal_d_PredefinedTimePeriod as PredefinedTimePeriod,\n      analyticsNgV1Session_universal_d_NavigationFlowSessionsParams as NavigationFlowSessionsParams,\n      analyticsNgV1Session_universal_d_ConversionFunnelSessionsParams as ConversionFunnelSessionsParams,\n      analyticsNgV1Session_universal_d_FunnelStep as FunnelStep,\n      analyticsNgV1Session_universal_d_SessionsByDeviceParams as SessionsByDeviceParams,\n      analyticsNgV1Session_universal_d_DeviceType as DeviceType,\n      analyticsNgV1Session_universal_d_ListSessionsAsyncResponse as ListSessionsAsyncResponse,\n      analyticsNgV1Session_universal_d_GetListSessionsJobResultRequest as GetListSessionsJobResultRequest,\n      analyticsNgV1Session_universal_d_GetListSessionsJobResultResponse as GetListSessionsJobResultResponse,\n      analyticsNgV1Session_universal_d_JobResult as JobResult,\n      analyticsNgV1Session_universal_d_JobStatus as JobStatus,\n      analyticsNgV1Session_universal_d_CountFunnelSessionsRequest as CountFunnelSessionsRequest,\n      analyticsNgV1Session_universal_d_CountFunnelSessionsRequestPeriodOneOf as CountFunnelSessionsRequestPeriodOneOf,\n      analyticsNgV1Session_universal_d_CountFunnelSessionsResponse as CountFunnelSessionsResponse,\n      analyticsNgV1Session_universal_d_Recordings as Recordings,\n      analyticsNgV1Session_universal_d_CountSessionsRequest as CountSessionsRequest,\n      analyticsNgV1Session_universal_d_CountSessionsRequestPeriodOneOf as CountSessionsRequestPeriodOneOf,\n      analyticsNgV1Session_universal_d_CountSessionsResponse as CountSessionsResponse,\n      analyticsNgV1Session_universal_d_MarkSessionAsRecordedRequest as MarkSessionAsRecordedRequest,\n      analyticsNgV1Session_universal_d_MarkSessionAsRecordedResponse as MarkSessionAsRecordedResponse,\n      analyticsNgV1Session_universal_d_MarkRecordingsAsDeletedRequest as MarkRecordingsAsDeletedRequest,\n      analyticsNgV1Session_universal_d_MarkRecordingsAsDeletedResponse as MarkRecordingsAsDeletedResponse,\n      analyticsNgV1Session_universal_d_listSessionsAsync as listSessionsAsync,\n      analyticsNgV1Session_universal_d_ListSessionsAsyncOptions as ListSessionsAsyncOptions,\n      analyticsNgV1Session_universal_d_getListSessionsJobResult as getListSessionsJobResult,\n      analyticsNgV1Session_universal_d_GetListSessionsJobResultOptions as GetListSessionsJobResultOptions,\n      analyticsNgV1Session_universal_d_countFunnelSessions as countFunnelSessions,\n      analyticsNgV1Session_universal_d_CountFunnelSessionsOptions as CountFunnelSessionsOptions,\n      analyticsNgV1Session_universal_d_countSessions as countSessions,\n      analyticsNgV1Session_universal_d_CountSessionsOptions as CountSessionsOptions,\n      analyticsNgV1Session_universal_d_markSessionAsRecorded as markSessionAsRecorded,\n      analyticsNgV1Session_universal_d_markRecordingsAsDeleted as markRecordingsAsDeleted,\n    };\n  }\n  \n  export { analyticsNgV1Session_universal_d as analyticsSession };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-reports.v2.d.ts",
      "content": "declare module \"wix-reports.v2\" {\n  interface Report {\n      /**\n       * Report ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Reported entity name, such as `comment`. */\n      entityName?: string;\n      /** Reported entity ID. */\n      entityId?: string;\n      /**\n       * Identity of who created a report.\n       * @readonly\n       */\n      identity?: CommonIdentificationData;\n      /** Reason for the report. */\n      reason?: Reason;\n      /**\n       * Revision number, which increments by 1 each time the rule is updated. To prevent conflicting changes, the existing revision must be used when updating a rule.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when the report created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the report updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Custom field data for the report object.\n       *\n       * **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface CommonIdentificationData extends CommonIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /**\n       * ID of a Wix user (site owner, contributor, etc.).\n       * @internal\n       */\n      wixUserId?: string;\n      /**\n       * ID of an app.\n       * @internal\n       */\n      appId?: string;\n      /**\n       * Identity type\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface CommonIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /**\n       * ID of a Wix user (site owner, contributor, etc.).\n       * @internal\n       */\n      wixUserId?: string;\n      /**\n       * ID of an app.\n       * @internal\n       */\n      appId?: string;\n  }\n  enum IdentityType {\n      /** Unknown type. This value is not used. */\n      UNKNOWN = \"UNKNOWN\",\n      /** A site visitor who has not logged in. */\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      /** A logged-in site member. */\n      MEMBER = \"MEMBER\",\n      /** A Wix account holder, such as a site owner or contributor. This value is not used. */\n      WIX_USER = \"WIX_USER\",\n      /** An application integrated with the Wix platform. This value is not used. */\n      APP = \"APP\"\n  }\n  interface Reason {\n      /** Report reason type. */\n      reasonType?: Type;\n      /** Why the entity is reported. */\n      details?: string | null;\n  }\n  enum Type {\n      /** Unknown type. This value is not used. */\n      UNKNOWN_TYPE = \"UNKNOWN_TYPE\",\n      /** Entity is reported for other reasons. Specify in `details`. */\n      OTHER = \"OTHER\",\n      /** Entity is reported for spam. */\n      SPAM = \"SPAM\",\n      /** Entity is reported for nudity or sexual harassment. */\n      NUDITY_OR_SEXUAL_HARASSMENT = \"NUDITY_OR_SEXUAL_HARASSMENT\",\n      /** Entity is reported for hate speech. */\n      HATE_SPEECH_OR_SYMBOLS = \"HATE_SPEECH_OR_SYMBOLS\",\n      /** Entity is reported for false information. */\n      FALSE_INFORMATION = \"FALSE_INFORMATION\",\n      /** Entity is reported for a community guideline violation. */\n      COMMUNITY_GUIDELINES_VIOLATION = \"COMMUNITY_GUIDELINES_VIOLATION\",\n      /** Entity is reported for violence. */\n      VIOLENCE = \"VIOLENCE\",\n      /** Entity is reported for mentioning suicide. */\n      SUICIDE_OR_SELF_INJURY = \"SUICIDE_OR_SELF_INJURY\",\n      /** Entity is reported for unuathorized sales. */\n      UNAUTHORIZED_SALES = \"UNAUTHORIZED_SALES\",\n      /** Entity is reported for mentioning an eating disorder. */\n      EATING_DISORDER = \"EATING_DISORDER\",\n      /** Entity is reported for involving a minor. */\n      INVOLVES_A_CHILD = \"INVOLVES_A_CHILD\",\n      /** Entity is reported for mentioning terrorism. */\n      TERRORISM = \"TERRORISM\",\n      /** Entity is reported for mentioning drugs. */\n      DRUGS = \"DRUGS\",\n      /** Entity is reported for unlawful actions. */\n      UNLAWFUL = \"UNLAWFUL\",\n      /** Entity is reported for exposing identifying details. */\n      EXPOSING_IDENTIFYING_INFO = \"EXPOSING_IDENTIFYING_INFO\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface EntityReportSummaryChanged {\n      /** Reported entity name. */\n      entityName?: string;\n      /** Reported entity ID. */\n      entityId?: string;\n      /** Number of reports. */\n      reportCount?: number;\n      /** Number of reports per reason type. */\n      reasonCounts?: ReasonCount[];\n  }\n  interface ReasonCount {\n      /** Reason type. */\n      reasonType?: Type;\n      /** Number of reports. */\n      count?: number;\n  }\n  interface CreateReportRequest {\n      /** Report details. */\n      report: Report;\n  }\n  interface CreateReportResponse {\n      /** Created report. */\n      report?: Report;\n  }\n  interface GetReportRequest {\n      /** ID of the report to retrieve. */\n      reportId: string;\n  }\n  interface GetReportResponse {\n      /** Retrieved report. */\n      report?: Report;\n  }\n  interface UpdateReportRequest {\n      /** Report to update. */\n      report: Report;\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  interface UpdateReportResponse {\n      /** Updated report. */\n      report?: Report;\n  }\n  interface DeleteReportRequest {\n      /** ID of the report to delete. */\n      reportId: string;\n  }\n  interface DeleteReportResponse {\n  }\n  interface UpsertReportRequest {\n      /** Report to create or update. */\n      report?: Report;\n  }\n  interface UpsertReportResponse {\n      /** Updated or created report. */\n      report?: Report;\n  }\n  interface BulkDeleteReportsByFilterRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      filter: Record<string, any> | null;\n  }\n  interface BulkDeleteReportsByFilterResponse {\n      /** Job ID. Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata. */\n      jobId?: string;\n  }\n  interface CountReportsByReasonTypesRequest {\n      /** Reported entity name. For example, `comment`. */\n      entityName: string;\n      /** ID of the reported entity. */\n      entityId: string;\n  }\n  interface CountReportsByReasonTypesResponse {\n      /** List of reports grouped by the reason type. */\n      reasonTypeCount?: ReasonTypeCount[];\n  }\n  interface ReasonTypeCount {\n      /** Reason for report. */\n      reasonType?: Type;\n      /** Number of reports by reason type. */\n      count?: number;\n  }\n  interface QueryReportsRequest {\n      /** Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details. */\n      query?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor paging options */\n      cursorPaging?: CursorPaging;\n      /** Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information. */\n      filter?: Record<string, any> | null;\n      /** Sorting options */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor paging options */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       */\n      cursor?: string | null;\n  }\n  interface QueryReportsResponse {\n      /** List of reports. */\n      reports?: Report[];\n      /** Paging metadata. */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /** Whether there are more pages to retrieve following the current page. */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface UpdateExtendedFieldsRequest {\n      /** ID of the report to update. */\n      _id: string;\n      /** Identifier for the app whose extended fields are being updated. */\n      namespace: string;\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  interface UpdateExtendedFieldsResponse {\n      /** Updated report. */\n      report?: Report;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a report.\n   * @param report - Report details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField report\n   * @permissionId REPORTS.REPORT_CREATE\n   * @adminMethod\n   * @returns Created report.\n   */\n  function createReport(report: Report): Promise<Report>;\n  /**\n   * Retrieves a report.\n   *\n   * Site members and visitors can only access their own reports.\n   * @param reportId - ID of the report to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reportId\n   * @permissionId REPORTS.REPORT_READ\n   * @adminMethod\n   * @returns Retrieved report.\n   */\n  function getReport(reportId: string): Promise<Report>;\n  /**\n   * Updates a report.\n   *\n   * Each time the report is updated, `revision` increments by 1. The current `revision` must be passed when updating the report. This ensures you're working with the latest report and prevents unintended overwrites.\n   * @param _id - Report ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField report\n   * @requiredField report.revision\n   * @permissionId REPORTS.REPORT_UPDATE\n   * @adminMethod\n   * @returns Updated report.\n   */\n  function updateReport(_id: string | null, report: UpdateReport, options?: UpdateReportOptions): Promise<Report>;\n  interface UpdateReport {\n      /**\n       * Report ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** Reported entity name, such as `comment`. */\n      entityName?: string;\n      /** Reported entity ID. */\n      entityId?: string;\n      /**\n       * Identity of who created a report.\n       * @readonly\n       */\n      identity?: CommonIdentificationData;\n      /** Reason for the report. */\n      reason?: Reason;\n      /**\n       * Revision number, which increments by 1 each time the rule is updated. To prevent conflicting changes, the existing revision must be used when updating a rule.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Date and time when the report created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time when the report updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Custom field data for the report object.\n       *\n       * **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.\n       */\n      extendedFields?: ExtendedFields;\n  }\n  interface UpdateReportOptions {\n      /**\n       * Set of fields to update.\n       * @internal\n       */\n      fieldMask?: string[];\n  }\n  /**\n   * Deletes a report and removes it from the report list in the dashboard.\n   *\n   * Site members and visitors can only delete their own reports.\n   * @param reportId - ID of the report to delete.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reportId\n   * @permissionId REPORTS.REPORT_DELETE\n   * @adminMethod\n   */\n  function deleteReport(reportId: string): Promise<void>;\n  /**\n   * Creates or updates a report.\n   * If the report for the requested entity already exists, updates the report with the provided `reason` value. Otherwise, creates the report.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.reportEntityId\n   * @requiredField identifiers.reportEntityName\n   * @permissionId REPORTS.REPORT_UPSERT\n   */\n  function upsertReport(identifiers: UpsertReportIdentifiers, options?: UpsertReportOptions): Promise<UpsertReportResponse>;\n  interface UpsertReportOptions {\n      report: {\n          /**\n           * Report ID.\n           * @readonly\n           */\n          _id?: string | null;\n          /**\n           * Identity of who created a report.\n           * @readonly\n           */\n          identity?: CommonIdentificationData;\n          /** Reason for the report. */\n          reason?: Reason;\n          /**\n           * Revision number, which increments by 1 each time the rule is updated. To prevent conflicting changes, the existing revision must be used when updating a rule.\n           * @readonly\n           */\n          revision?: string | null;\n          /**\n           * Date and time when the report created.\n           * @readonly\n           */\n          _createdDate?: Date | null;\n          /**\n           * Date and time when the report updated.\n           * @readonly\n           */\n          _updatedDate?: Date | null;\n          /**\n           * Custom field data for the report object.\n           *\n           * **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.\n           */\n          extendedFields?: ExtendedFields;\n      };\n  }\n  interface UpsertReportIdentifiers {\n      /** Reported entity name, such as `comment`. */\n      reportEntityName?: string;\n      /** Reported entity ID. */\n      reportEntityId?: string;\n  }\n  /**\n   * Deletes multiple reports by filter, and removes them from the report list in the dashboard.\n   * @param filter - Query options. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) for more details.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField filter\n   * @permissionId REPORTS.REPORT_BULK_DELETE\n   * @adminMethod\n   */\n  function bulkDeleteReportsByFilter(filter: Record<string, any> | null): Promise<BulkDeleteReportsByFilterResponse>;\n  /**\n   * Counts reports by reason types.\n   * @param entityName - Reported entity name. For example, `comment`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField entityName\n   * @requiredField options\n   * @requiredField options.entityId\n   * @permissionId REPORTS.REPORT_READ_COUNTS\n   * @adminMethod\n   */\n  function countReportsByReasonTypes(entityName: string, options: CountReportsByReasonTypesOptions): Promise<CountReportsByReasonTypesResponse>;\n  interface CountReportsByReasonTypesOptions {\n      /** ID of the reported entity. */\n      entityId: string;\n  }\n  /**\n   * Retrieves a list of reports, given the provided paging, filtering, and sorting.\n   * Query Reports runs with these defaults, which you can override:\n   * - `createdDate` is sorted in `ASC` order\n   * - `paging.limit` is `100`\n   * - `paging.offset` is `0`\n   *\n   * For field support for filters and sorting, see [Reports: Supported Filters and Sorting]().\n   * To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REPORTS.REPORT_QUERY\n   * @adminMethod\n   */\n  function queryReports(): ReportsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReportsQueryResult extends QueryCursorResult {\n      items: Report[];\n      query: ReportsQueryBuilder;\n      next: () => Promise<ReportsQueryResult>;\n      prev: () => Promise<ReportsQueryResult>;\n  }\n  interface ReportsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | 'entityName' | 'entityId' | '_createdDate' | 'extendedFields', value: any) => ReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | 'entityName' | 'entityId' | '_createdDate' | 'extendedFields', value: any) => ReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate', value: any) => ReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate', value: any) => ReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate', value: any) => ReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate', value: any) => ReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `string`.\n       * @param string - String to compare against. Case-insensitive.\n       * @documentationMaturity preview\n       */\n      startsWith: (propertyName: '_id' | 'entityName' | 'entityId', value: string) => ReportsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `values`.\n       * @param values - List of values to compare against.\n       * @documentationMaturity preview\n       */\n      hasSome: (propertyName: '_id' | 'entityName' | 'entityId' | '_createdDate' | 'extendedFields', value: any[]) => ReportsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | 'entityName' | 'entityId' | '_createdDate' | 'extendedFields', value: any) => ReportsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: '_id' | 'entityName' | 'entityId' | '_createdDate' | 'extendedFields', value: boolean) => ReportsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_id' | 'entityName' | 'entityId' | '_createdDate' | 'extendedFields'>) => ReportsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_id' | 'entityName' | 'entityId' | '_createdDate' | 'extendedFields'>) => ReportsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReportsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReportsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReportsQueryResult>;\n  }\n  /**\n   * Updates extended fields of a report.\n   * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must first be configured in the app dashboard.\n   * @param _id - ID of the report to update.\n   * @param namespace - Identifier for the app whose extended fields are being updated.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField namespace\n   * @requiredField options\n   * @requiredField options.namespaceData\n   * @permissionId REPORTS.REPORT_UPDATE\n   * @adminMethod\n   */\n  function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse>;\n  interface UpdateExtendedFieldsOptions {\n      /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */\n      namespaceData: Record<string, any> | null;\n  }\n  \n  type reportsV2Report_universal_d_Report = Report;\n  type reportsV2Report_universal_d_CommonIdentificationData = CommonIdentificationData;\n  type reportsV2Report_universal_d_CommonIdentificationDataIdOneOf = CommonIdentificationDataIdOneOf;\n  type reportsV2Report_universal_d_IdentityType = IdentityType;\n  const reportsV2Report_universal_d_IdentityType: typeof IdentityType;\n  type reportsV2Report_universal_d_Reason = Reason;\n  type reportsV2Report_universal_d_Type = Type;\n  const reportsV2Report_universal_d_Type: typeof Type;\n  type reportsV2Report_universal_d_ExtendedFields = ExtendedFields;\n  type reportsV2Report_universal_d_EntityReportSummaryChanged = EntityReportSummaryChanged;\n  type reportsV2Report_universal_d_ReasonCount = ReasonCount;\n  type reportsV2Report_universal_d_CreateReportRequest = CreateReportRequest;\n  type reportsV2Report_universal_d_CreateReportResponse = CreateReportResponse;\n  type reportsV2Report_universal_d_GetReportRequest = GetReportRequest;\n  type reportsV2Report_universal_d_GetReportResponse = GetReportResponse;\n  type reportsV2Report_universal_d_UpdateReportRequest = UpdateReportRequest;\n  type reportsV2Report_universal_d_UpdateReportResponse = UpdateReportResponse;\n  type reportsV2Report_universal_d_DeleteReportRequest = DeleteReportRequest;\n  type reportsV2Report_universal_d_DeleteReportResponse = DeleteReportResponse;\n  type reportsV2Report_universal_d_UpsertReportRequest = UpsertReportRequest;\n  type reportsV2Report_universal_d_UpsertReportResponse = UpsertReportResponse;\n  type reportsV2Report_universal_d_BulkDeleteReportsByFilterRequest = BulkDeleteReportsByFilterRequest;\n  type reportsV2Report_universal_d_BulkDeleteReportsByFilterResponse = BulkDeleteReportsByFilterResponse;\n  type reportsV2Report_universal_d_CountReportsByReasonTypesRequest = CountReportsByReasonTypesRequest;\n  type reportsV2Report_universal_d_CountReportsByReasonTypesResponse = CountReportsByReasonTypesResponse;\n  type reportsV2Report_universal_d_ReasonTypeCount = ReasonTypeCount;\n  type reportsV2Report_universal_d_QueryReportsRequest = QueryReportsRequest;\n  type reportsV2Report_universal_d_CursorQuery = CursorQuery;\n  type reportsV2Report_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type reportsV2Report_universal_d_Sorting = Sorting;\n  type reportsV2Report_universal_d_SortOrder = SortOrder;\n  const reportsV2Report_universal_d_SortOrder: typeof SortOrder;\n  type reportsV2Report_universal_d_CursorPaging = CursorPaging;\n  type reportsV2Report_universal_d_QueryReportsResponse = QueryReportsResponse;\n  type reportsV2Report_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type reportsV2Report_universal_d_Cursors = Cursors;\n  type reportsV2Report_universal_d_UpdateExtendedFieldsRequest = UpdateExtendedFieldsRequest;\n  type reportsV2Report_universal_d_UpdateExtendedFieldsResponse = UpdateExtendedFieldsResponse;\n  type reportsV2Report_universal_d_DomainEvent = DomainEvent;\n  type reportsV2Report_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type reportsV2Report_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type reportsV2Report_universal_d_RestoreInfo = RestoreInfo;\n  type reportsV2Report_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type reportsV2Report_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type reportsV2Report_universal_d_ActionEvent = ActionEvent;\n  type reportsV2Report_universal_d_Empty = Empty;\n  type reportsV2Report_universal_d_MessageEnvelope = MessageEnvelope;\n  type reportsV2Report_universal_d_IdentificationData = IdentificationData;\n  type reportsV2Report_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type reportsV2Report_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const reportsV2Report_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const reportsV2Report_universal_d_createReport: typeof createReport;\n  const reportsV2Report_universal_d_getReport: typeof getReport;\n  const reportsV2Report_universal_d_updateReport: typeof updateReport;\n  type reportsV2Report_universal_d_UpdateReport = UpdateReport;\n  type reportsV2Report_universal_d_UpdateReportOptions = UpdateReportOptions;\n  const reportsV2Report_universal_d_deleteReport: typeof deleteReport;\n  const reportsV2Report_universal_d_upsertReport: typeof upsertReport;\n  type reportsV2Report_universal_d_UpsertReportOptions = UpsertReportOptions;\n  type reportsV2Report_universal_d_UpsertReportIdentifiers = UpsertReportIdentifiers;\n  const reportsV2Report_universal_d_bulkDeleteReportsByFilter: typeof bulkDeleteReportsByFilter;\n  const reportsV2Report_universal_d_countReportsByReasonTypes: typeof countReportsByReasonTypes;\n  type reportsV2Report_universal_d_CountReportsByReasonTypesOptions = CountReportsByReasonTypesOptions;\n  const reportsV2Report_universal_d_queryReports: typeof queryReports;\n  type reportsV2Report_universal_d_ReportsQueryResult = ReportsQueryResult;\n  type reportsV2Report_universal_d_ReportsQueryBuilder = ReportsQueryBuilder;\n  const reportsV2Report_universal_d_updateExtendedFields: typeof updateExtendedFields;\n  type reportsV2Report_universal_d_UpdateExtendedFieldsOptions = UpdateExtendedFieldsOptions;\n  namespace reportsV2Report_universal_d {\n    export {\n      reportsV2Report_universal_d_Report as Report,\n      reportsV2Report_universal_d_CommonIdentificationData as CommonIdentificationData,\n      reportsV2Report_universal_d_CommonIdentificationDataIdOneOf as CommonIdentificationDataIdOneOf,\n      reportsV2Report_universal_d_IdentityType as IdentityType,\n      reportsV2Report_universal_d_Reason as Reason,\n      reportsV2Report_universal_d_Type as Type,\n      reportsV2Report_universal_d_ExtendedFields as ExtendedFields,\n      reportsV2Report_universal_d_EntityReportSummaryChanged as EntityReportSummaryChanged,\n      reportsV2Report_universal_d_ReasonCount as ReasonCount,\n      reportsV2Report_universal_d_CreateReportRequest as CreateReportRequest,\n      reportsV2Report_universal_d_CreateReportResponse as CreateReportResponse,\n      reportsV2Report_universal_d_GetReportRequest as GetReportRequest,\n      reportsV2Report_universal_d_GetReportResponse as GetReportResponse,\n      reportsV2Report_universal_d_UpdateReportRequest as UpdateReportRequest,\n      reportsV2Report_universal_d_UpdateReportResponse as UpdateReportResponse,\n      reportsV2Report_universal_d_DeleteReportRequest as DeleteReportRequest,\n      reportsV2Report_universal_d_DeleteReportResponse as DeleteReportResponse,\n      reportsV2Report_universal_d_UpsertReportRequest as UpsertReportRequest,\n      reportsV2Report_universal_d_UpsertReportResponse as UpsertReportResponse,\n      reportsV2Report_universal_d_BulkDeleteReportsByFilterRequest as BulkDeleteReportsByFilterRequest,\n      reportsV2Report_universal_d_BulkDeleteReportsByFilterResponse as BulkDeleteReportsByFilterResponse,\n      reportsV2Report_universal_d_CountReportsByReasonTypesRequest as CountReportsByReasonTypesRequest,\n      reportsV2Report_universal_d_CountReportsByReasonTypesResponse as CountReportsByReasonTypesResponse,\n      reportsV2Report_universal_d_ReasonTypeCount as ReasonTypeCount,\n      reportsV2Report_universal_d_QueryReportsRequest as QueryReportsRequest,\n      reportsV2Report_universal_d_CursorQuery as CursorQuery,\n      reportsV2Report_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      reportsV2Report_universal_d_Sorting as Sorting,\n      reportsV2Report_universal_d_SortOrder as SortOrder,\n      reportsV2Report_universal_d_CursorPaging as CursorPaging,\n      reportsV2Report_universal_d_QueryReportsResponse as QueryReportsResponse,\n      reportsV2Report_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      reportsV2Report_universal_d_Cursors as Cursors,\n      reportsV2Report_universal_d_UpdateExtendedFieldsRequest as UpdateExtendedFieldsRequest,\n      reportsV2Report_universal_d_UpdateExtendedFieldsResponse as UpdateExtendedFieldsResponse,\n      reportsV2Report_universal_d_DomainEvent as DomainEvent,\n      reportsV2Report_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      reportsV2Report_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      reportsV2Report_universal_d_RestoreInfo as RestoreInfo,\n      reportsV2Report_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      reportsV2Report_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      reportsV2Report_universal_d_ActionEvent as ActionEvent,\n      reportsV2Report_universal_d_Empty as Empty,\n      reportsV2Report_universal_d_MessageEnvelope as MessageEnvelope,\n      reportsV2Report_universal_d_IdentificationData as IdentificationData,\n      reportsV2Report_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      reportsV2Report_universal_d_WebhookIdentityType as WebhookIdentityType,\n      reportsV2Report_universal_d_createReport as createReport,\n      reportsV2Report_universal_d_getReport as getReport,\n      reportsV2Report_universal_d_updateReport as updateReport,\n      reportsV2Report_universal_d_UpdateReport as UpdateReport,\n      reportsV2Report_universal_d_UpdateReportOptions as UpdateReportOptions,\n      reportsV2Report_universal_d_deleteReport as deleteReport,\n      reportsV2Report_universal_d_upsertReport as upsertReport,\n      reportsV2Report_universal_d_UpsertReportOptions as UpsertReportOptions,\n      reportsV2Report_universal_d_UpsertReportIdentifiers as UpsertReportIdentifiers,\n      reportsV2Report_universal_d_bulkDeleteReportsByFilter as bulkDeleteReportsByFilter,\n      reportsV2Report_universal_d_countReportsByReasonTypes as countReportsByReasonTypes,\n      reportsV2Report_universal_d_CountReportsByReasonTypesOptions as CountReportsByReasonTypesOptions,\n      reportsV2Report_universal_d_queryReports as queryReports,\n      reportsV2Report_universal_d_ReportsQueryResult as ReportsQueryResult,\n      reportsV2Report_universal_d_ReportsQueryBuilder as ReportsQueryBuilder,\n      reportsV2Report_universal_d_updateExtendedFields as updateExtendedFields,\n      reportsV2Report_universal_d_UpdateExtendedFieldsOptions as UpdateExtendedFieldsOptions,\n    };\n  }\n  \n  export { reportsV2Report_universal_d as reports };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-data-extension-schema.v1.d.ts",
      "content": "declare module \"wix-data-extension-schema.v1\" {\n  interface DataExtensionSchema {\n      /**\n       * Schema ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /** FQDN of the entity this schema extends. */\n      fqdn?: string | null;\n      /**\n       * Namespace for this schema. For example, an app creating schemas might use their app name as a namespace.\n       * When a site owner creates a user-defined schema, the namespace is: `_user_fields`.\n       */\n      namespace?: string | null;\n      /**\n       * Schema definition in [JSON schema format](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/the-json-schema) with the following [vocab](https://docs.json-everything.net/schema/vocabs/) extension:\n       * ```\n       * {\n       * \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n       * \"$id\": \"https://wixapis.com/v1/json-schema/extensions\",\n       * \"$vocabulary\": {\n       * \"https://wixapis.com/v1/json-schema/extensions/vocab/data-extensions\": true\n       * },\n       * \"$dynamicAnchor\": \"meta\",\n       * \"title\": \"Wix' data-extensions vocabulary meta schema\",\n       * \"type\": [\n       * \"object\",\n       * \"boolean\"\n       * ],\n       * \"properties\": {\n       * \"x-wix-permissions\": {\n       * \"type\": \"object\",\n       * \"description\": \"list of identity types that are allowed reading schema properties\",\n       * \"properties\": {\n       * \"read\": {\n       * \"type\": \"array\",\n       * \"items\": {\n       * \"type\": \"string\",\n       * \"enum\": [\n       * \"apps\",\n       * \"owning-app\",\n       * \"users\",\n       * \"users-of-users\"\n       * ]\n       * }\n       * },\n       * \"write\": {\n       * \"type\": \"array\",\n       * \"items\": {\n       * \"type\": \"string\",\n       * \"enum\": [\n       * \"apps\",\n       * \"owning-app\",\n       * \"users\",\n       * \"users-of-users\"\n       * ]\n       * }\n       * }\n       * }\n       * },\n       * \"x-wix-display\": {\n       * \"type\": \"object\",\n       * \"description\": \"field display properties\",\n       * \"schema\": {\n       * \"properties\": {\n       * \"placeholder\": {\n       * \"type\": \"string\",\n       * \"maxLength\": 255,\n       * \"description\": \"placeholder text for input fields\"\n       * },\n       * \"label\": {\n       * \"type\": \"string\",\n       * \"maxLength\": 255,\n       * \"description\": \"label of the input fields\"\n       * },\n       * \"hint\": {\n       * \"type\": \"string\",\n       * \"maxLength\": 255,\n       * \"description\": \"a short explanation that appears next to the input field\"\n       * }\n       * }\n       * }\n       * }\n       * }\n       * }\n       * ```\n       */\n      jsonSchema?: Record<string, any> | null;\n      /**\n       * Date and time the schema was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /**\n       * Date and time the schema was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Revision number, which increments by 1 each time the schema is updated. To prevent conflicting changes, the existing revision must be used when updating a schema.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * app def id of the app in the given namespace\n       * @internal\n       * @readonly\n       */\n      appDefId?: string | null;\n      /**\n       * Maximum allowed schema size in bytes.\n       * @readonly\n       */\n      maxLimitBytes?: number | null;\n      /**\n       * Current schema size in bytes.\n       * @readonly\n       */\n      currentSizeBytes?: number | null;\n      /**\n       * Name of the specific entity field this schema is extending, or `\"ROOT\"` for extensions for the entire entity. Default: `\"ROOT\"`.\n       * @internal\n       */\n      extensionPoint?: string;\n  }\n  interface ReindexEvent {\n      /** fqdn of the dext schema that needs reindexing */\n      fqdn?: string;\n      /** List of fields that needs reindexing */\n      fields?: ReindexField[];\n  }\n  interface ReindexField {\n      /** path of field that needs reindexing */\n      fieldPath?: string;\n      /** only reindex records updated after this timestamp */\n      reindexSince?: Date | null;\n  }\n  interface CreateDataExtensionSchemaRequest {\n      /** Schema to create. */\n      dataExtensionSchema: DataExtensionSchema;\n  }\n  interface CreateDataExtensionSchemaResponse {\n      /** Created schema. */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  interface UpdateDataExtensionSchemaRequest {\n      /** Schema to update. */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  interface UpdateDataExtensionSchemaResponse {\n      /** Updated schema. */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  interface ListDataExtensionSchemasRequest {\n      /** [Fully qualified domain name](https://dev.wix.com/docs/rest/articles/getting-started/fqdns). */\n      fqdn: string;\n      /** Namespaces within the given entity. */\n      namespaces?: string[];\n      /** Additional fields that are hidden by default. For example, fields with `\"x-wix-archived\": true`. */\n      fields?: RequestedField[];\n      /** Extension points within the given entity. */\n      extensionPoints?: string[];\n  }\n  enum RequestedField {\n      /** Undefined requested field. */\n      UNKNOWN_REQUESTED_FIELD = \"UNKNOWN_REQUESTED_FIELD\",\n      /** Returns `x-wix-archived` fields in `DataExtensionSchema.json_schema`. */\n      ARCHIVED = \"ARCHIVED\"\n  }\n  interface ListDataExtensionSchemasResponse {\n      /** Requested schemas. */\n      dataExtensionSchemas?: DataExtensionSchema[];\n  }\n  interface UpsertDataExtensionGlobalSchemaRequest {\n      /** the upsert to create */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  interface UpsertDataExtensionGlobalSchemaResponse {\n      /** the upsert schema */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  interface DeleteDemoDataExtensionSchemaRequest {\n      /** Schema ID. */\n      dataExtensionSchemaId?: string;\n  }\n  interface DeleteDemoDataExtensionSchemaResponse {\n  }\n  interface DeleteGlobalExtensionSchemaRequest {\n      /** fqdn */\n      fqdn?: string;\n      /** namespace */\n      namespace?: string;\n  }\n  interface DeleteGlobalExtensionSchemaResponse {\n  }\n  interface DeleteByWhiteListedMetaSiteRequest {\n      /** Meta site id */\n      metaSiteId: string;\n  }\n  interface DeleteByWhiteListedMetaSiteResponse {\n      /** has more */\n      hasMore?: boolean;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  /** payload for kafka event for this version on app submit */\n  interface AppVersionStateChanged extends AppVersionStateChangedStateOneOf {\n      created?: AppVersionCreated;\n      submitted?: AppVersionSubmitted;\n      published?: AppVersionPublished;\n      declined?: AppVersionDeclined;\n      released?: AppVersionReleased;\n      approved?: AppVersionApproved;\n      draftChanged?: AppVersionDraftChanged;\n      archived?: AppVersionArchived;\n      appId?: string;\n      /** @readonly */\n      version?: string;\n      previousState?: VersionStatus;\n  }\n  /** @oneof */\n  interface AppVersionStateChangedStateOneOf {\n      created?: AppVersionCreated;\n      submitted?: AppVersionSubmitted;\n      published?: AppVersionPublished;\n      declined?: AppVersionDeclined;\n      released?: AppVersionReleased;\n      approved?: AppVersionApproved;\n      draftChanged?: AppVersionDraftChanged;\n      archived?: AppVersionArchived;\n  }\n  interface AppVersionCreated {\n  }\n  interface AppVersionSubmitted {\n  }\n  interface AppVersionPublished {\n  }\n  interface AppVersionDeclined {\n  }\n  interface AppVersionReleased {\n  }\n  interface AppVersionApproved {\n  }\n  interface AppVersionDraftChanged {\n  }\n  interface AppVersionArchived {\n  }\n  enum VersionStatus {\n      /** default, internal use status. do not use */\n      NONE_STATUS = \"NONE_STATUS\",\n      /** a version which was created in the dev center and has not started the approval process yet */\n      DRAFT = \"DRAFT\",\n      /** the version was submitted for review by the developer */\n      SUBMITTED = \"SUBMITTED\",\n      /** the version is being reviewed by the app market team in cactus */\n      IN_REVIEW = \"IN_REVIEW\",\n      /** our team approved the version */\n      APPROVED = \"APPROVED\",\n      /** this version is published - only one version can be published at any given time; if this app was already published, the previously published version's status is now ARCHIVED */\n      PUBLISHED = \"PUBLISHED\",\n      /** our team did not accept this version of the app */\n      DECLINED = \"DECLINED\",\n      /** the status for versions that are no longer relevant */\n      ARCHIVED = \"ARCHIVED\",\n      /** status for versions with no significant changes, e.g. for test app. for questions contact our team */\n      HIDDEN = \"HIDDEN\",\n      /** mark apps as RELEASED, without adding to the apps cache, and allow users to install */\n      RELEASED = \"RELEASED\"\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a user-defined data extension schema.\n   * @param dataExtensionSchema - Schema to create.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField dataExtensionSchema\n   * @requiredField dataExtensionSchema.fqdn\n   * @requiredField dataExtensionSchema.jsonSchema\n   * @requiredField dataExtensionSchema.namespace\n   * @permissionId DATA_EXTENSION_SCHEMA.WRITE\n   * @adminMethod\n   * @returns Created schema.\n   */\n  function createDataExtensionSchema(dataExtensionSchema: DataExtensionSchema): Promise<DataExtensionSchema>;\n  /**\n   * Updates a user-defined data extension schema, overriding the existing data.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.dataExtensionSchema._id\n   * @requiredField options.dataExtensionSchema.jsonSchema\n   * @requiredField options.dataExtensionSchema.revision\n   * @param options - Field options. The following fields **must** be passed: `_id`, `jsonSchema`, `revision`.\n   * @permissionId DATA_EXTENSION_SCHEMA.WRITE\n   * @adminMethod\n   */\n  function updateDataExtensionSchema(options?: UpdateDataExtensionSchemaOptions): Promise<UpdateDataExtensionSchemaResponse>;\n  interface UpdateDataExtensionSchemaOptions {\n      /** Schema to update. */\n      dataExtensionSchema?: DataExtensionSchema;\n  }\n  /**\n   * Retrieves a list of global and user-defined data extension schemas for a given FQDN.\n   * @param fqdn - [Fully qualified domain name](https://dev.wix.com/docs/rest/articles/getting-started/fqdns).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField fqdn\n   * @permissionId DATA_EXTENSION_SCHEMA.READ\n   */\n  function listDataExtensionSchemas(fqdn: string, options?: ListDataExtensionSchemasOptions): Promise<ListDataExtensionSchemasResponse>;\n  interface ListDataExtensionSchemasOptions {\n      /** Namespaces within the given entity. */\n      namespaces?: string[];\n      /** Additional fields that are hidden by default. For example, fields with `\"x-wix-archived\": true`. */\n      fields?: RequestedField[];\n      /** Extension points within the given entity. */\n      extensionPoints?: string[];\n  }\n  /**\n   * Deletes schemas of whitelisted metasite ids\n   * @param metaSiteId - Meta site id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField metaSiteId\n   * @adminMethod\n   */\n  function deleteByWhiteListedMetaSite(metaSiteId: string): Promise<DeleteByWhiteListedMetaSiteResponse>;\n  \n  type dataExtensionsV1DataExtensionSchema_universal_d_DataExtensionSchema = DataExtensionSchema;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ReindexEvent = ReindexEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ReindexField = ReindexField;\n  type dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaRequest = CreateDataExtensionSchemaRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaResponse = CreateDataExtensionSchemaResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaRequest = UpdateDataExtensionSchemaRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaResponse = UpdateDataExtensionSchemaResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasRequest = ListDataExtensionSchemasRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_RequestedField = RequestedField;\n  const dataExtensionsV1DataExtensionSchema_universal_d_RequestedField: typeof RequestedField;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasResponse = ListDataExtensionSchemasResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaRequest = UpsertDataExtensionGlobalSchemaRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaResponse = UpsertDataExtensionGlobalSchemaResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaRequest = DeleteDemoDataExtensionSchemaRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaResponse = DeleteDemoDataExtensionSchemaResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteGlobalExtensionSchemaRequest = DeleteGlobalExtensionSchemaRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteGlobalExtensionSchemaResponse = DeleteGlobalExtensionSchemaResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteRequest = DeleteByWhiteListedMetaSiteRequest;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteResponse = DeleteByWhiteListedMetaSiteResponse;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DomainEvent = DomainEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type dataExtensionsV1DataExtensionSchema_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_RestoreInfo = RestoreInfo;\n  type dataExtensionsV1DataExtensionSchema_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ActionEvent = ActionEvent;\n  type dataExtensionsV1DataExtensionSchema_universal_d_Empty = Empty;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionStateChanged = AppVersionStateChanged;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionStateChangedStateOneOf = AppVersionStateChangedStateOneOf;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionCreated = AppVersionCreated;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionSubmitted = AppVersionSubmitted;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionPublished = AppVersionPublished;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionDeclined = AppVersionDeclined;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionReleased = AppVersionReleased;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionApproved = AppVersionApproved;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionDraftChanged = AppVersionDraftChanged;\n  type dataExtensionsV1DataExtensionSchema_universal_d_AppVersionArchived = AppVersionArchived;\n  type dataExtensionsV1DataExtensionSchema_universal_d_VersionStatus = VersionStatus;\n  const dataExtensionsV1DataExtensionSchema_universal_d_VersionStatus: typeof VersionStatus;\n  type dataExtensionsV1DataExtensionSchema_universal_d_MessageEnvelope = MessageEnvelope;\n  type dataExtensionsV1DataExtensionSchema_universal_d_IdentificationData = IdentificationData;\n  type dataExtensionsV1DataExtensionSchema_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type dataExtensionsV1DataExtensionSchema_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const dataExtensionsV1DataExtensionSchema_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const dataExtensionsV1DataExtensionSchema_universal_d_createDataExtensionSchema: typeof createDataExtensionSchema;\n  const dataExtensionsV1DataExtensionSchema_universal_d_updateDataExtensionSchema: typeof updateDataExtensionSchema;\n  type dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaOptions = UpdateDataExtensionSchemaOptions;\n  const dataExtensionsV1DataExtensionSchema_universal_d_listDataExtensionSchemas: typeof listDataExtensionSchemas;\n  type dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasOptions = ListDataExtensionSchemasOptions;\n  const dataExtensionsV1DataExtensionSchema_universal_d_deleteByWhiteListedMetaSite: typeof deleteByWhiteListedMetaSite;\n  namespace dataExtensionsV1DataExtensionSchema_universal_d {\n    export {\n      dataExtensionsV1DataExtensionSchema_universal_d_DataExtensionSchema as DataExtensionSchema,\n      dataExtensionsV1DataExtensionSchema_universal_d_ReindexEvent as ReindexEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_ReindexField as ReindexField,\n      dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaRequest as CreateDataExtensionSchemaRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaResponse as CreateDataExtensionSchemaResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaRequest as UpdateDataExtensionSchemaRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaResponse as UpdateDataExtensionSchemaResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasRequest as ListDataExtensionSchemasRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_RequestedField as RequestedField,\n      dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasResponse as ListDataExtensionSchemasResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaRequest as UpsertDataExtensionGlobalSchemaRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaResponse as UpsertDataExtensionGlobalSchemaResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaRequest as DeleteDemoDataExtensionSchemaRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaResponse as DeleteDemoDataExtensionSchemaResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteGlobalExtensionSchemaRequest as DeleteGlobalExtensionSchemaRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteGlobalExtensionSchemaResponse as DeleteGlobalExtensionSchemaResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteRequest as DeleteByWhiteListedMetaSiteRequest,\n      dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteResponse as DeleteByWhiteListedMetaSiteResponse,\n      dataExtensionsV1DataExtensionSchema_universal_d_DomainEvent as DomainEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      dataExtensionsV1DataExtensionSchema_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_RestoreInfo as RestoreInfo,\n      dataExtensionsV1DataExtensionSchema_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_ActionEvent as ActionEvent,\n      dataExtensionsV1DataExtensionSchema_universal_d_Empty as Empty,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionStateChanged as AppVersionStateChanged,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionStateChangedStateOneOf as AppVersionStateChangedStateOneOf,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionCreated as AppVersionCreated,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionSubmitted as AppVersionSubmitted,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionPublished as AppVersionPublished,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionDeclined as AppVersionDeclined,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionReleased as AppVersionReleased,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionApproved as AppVersionApproved,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionDraftChanged as AppVersionDraftChanged,\n      dataExtensionsV1DataExtensionSchema_universal_d_AppVersionArchived as AppVersionArchived,\n      dataExtensionsV1DataExtensionSchema_universal_d_VersionStatus as VersionStatus,\n      dataExtensionsV1DataExtensionSchema_universal_d_MessageEnvelope as MessageEnvelope,\n      dataExtensionsV1DataExtensionSchema_universal_d_IdentificationData as IdentificationData,\n      dataExtensionsV1DataExtensionSchema_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      dataExtensionsV1DataExtensionSchema_universal_d_WebhookIdentityType as WebhookIdentityType,\n      dataExtensionsV1DataExtensionSchema_universal_d_createDataExtensionSchema as createDataExtensionSchema,\n      dataExtensionsV1DataExtensionSchema_universal_d_updateDataExtensionSchema as updateDataExtensionSchema,\n      dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaOptions as UpdateDataExtensionSchemaOptions,\n      dataExtensionsV1DataExtensionSchema_universal_d_listDataExtensionSchemas as listDataExtensionSchemas,\n      dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasOptions as ListDataExtensionSchemasOptions,\n      dataExtensionsV1DataExtensionSchema_universal_d_deleteByWhiteListedMetaSite as deleteByWhiteListedMetaSite,\n    };\n  }\n  \n  export { dataExtensionsV1DataExtensionSchema_universal_d as schemas };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-fetch.d.ts",
      "content": "declare module \"wix-fetch\" {\n  /* eslint-disable import/group-exports */\n  \n  /**\n   * An object used by the `fetch()` function representing an HTTPS request.\n   */\n  interface WixFetchRequest {\n    /**\n     * The [HTTP method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods) to use. Defaults to `\"GET\"`.\n     */\n    method?: string;\n    /**\n     * The request headers.\n     */\n    headers?: any;\n    /**\n     * The request body.\n     */\n    body?: string;\n    /**\n     * The [request mode](https://developer.mozilla.org/en-US/docs/Web/API/Request/mode).\n     *\n     * One of:\n     *\n     * + `\"cors\"`\n     * + `\"no-cors\"`\n     * + `\"same-origin\"`\n     */\n    mode?: string;\n    /**\n     * The [request credentials](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials).\n     *\n     * One of:\n     *\n     * + `\"omit\"`\n     * + `\"include\"`\n     * + `\"same-origin\"`\n     */\n    credentials?: string;\n    /**\n     * The [request cache mode](https://developer.mozilla.org/en-US/docs/Web/API/Request/cache).\n     *\n     * One of:\n     *\n     * + `\"default\"`\n     * + `\"force-cache\"`\n     * + `\"no-cache\"`\n     * + `\"no-store\"`\n     * + `\"only-if-cached\"`\n     * + `\"reload\"`\n     */\n    cache?: string;\n  }\n  /**\n   * An object returned by the `fetch()` function representing\n   *  an HTTP response to a fetch.\n   * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.WixFetchResponse.html#)\n   */\n  interface WixFetchResponse {\n    /**\n     * Indicates whether the body of the response has been used yet.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.WixFetchResponse.html#bodyUsed)\n     */\n    readonly bodyUsed: boolean;\n    /**\n     * The response headers.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.WixFetchResponse.html#headers)\n     */\n    readonly headers: any;\n    /**\n     * Indicates if the request was successful, meaning its `status` is in the range 2xx.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.WixFetchResponse.html#ok)\n     */\n    readonly ok: boolean;\n    /**\n     * The response [status code](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.WixFetchResponse.html#status)\n     */\n    readonly status: number;\n    /**\n     * The response [status message](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.WixFetchResponse.html#statusText)\n     */\n    readonly statusText: string;\n    /**\n     * The response URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.WixFetchResponse.html#url)\n     */\n    readonly url: string;\n    /**\n     * Reads the response body as JSON.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.WixFetchResponse.html#json)\n     */\n    json(): Promise<any>;\n    /**\n     * Reads the response body as a string.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.WixFetchResponse.html#text)\n     */\n    text(): Promise<string>;\n  }\n  /**\n   * Retrieves the specified resource from the network using HTTPS.\n   * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.html#fetch)\n   */\n  export function fetch(url: string, options?: WixFetchRequest): Promise<WixFetchResponse>;\n  /**\n   * Retrieves the specified JSON resource from the network using HTTPS.\n   * \t[Read more](https://www.wix.com/corvid/reference/wix-fetch.html#getJSON)\n   */\n  export function getJSON(url: string, options?: WixFetchRequest): Promise<any>;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-automations-runner.v1.d.ts",
      "content": "declare module \"wix-automations-runner.v1\" {\n  interface MainEntity {\n      _id?: string;\n  }\n  interface TriggerAutomationRequest {\n      /** hookId is the id of the hook to trigger */\n      hookId?: string;\n      /** payload is the payload to send to the hook */\n      payload?: Record<string, any> | null;\n  }\n  interface TriggerAutomationResponse {\n  }\n  /**\n   * TriggerAutomation triggers an automation with webhook trigger by its hookId\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.TRIGGER_WEBHOOK\n   * @adminMethod\n   */\n  function triggerAutomation(options?: TriggerAutomationOptions): Promise<void>;\n  interface TriggerAutomationOptions {\n      /** hookId is the id of the hook to trigger */\n      hookId?: string;\n      /** payload is the payload to send to the hook */\n      payload?: Record<string, any> | null;\n  }\n  \n  type automationsV1AutomationsVelo_universal_d_MainEntity = MainEntity;\n  type automationsV1AutomationsVelo_universal_d_TriggerAutomationRequest = TriggerAutomationRequest;\n  type automationsV1AutomationsVelo_universal_d_TriggerAutomationResponse = TriggerAutomationResponse;\n  const automationsV1AutomationsVelo_universal_d_triggerAutomation: typeof triggerAutomation;\n  type automationsV1AutomationsVelo_universal_d_TriggerAutomationOptions = TriggerAutomationOptions;\n  namespace automationsV1AutomationsVelo_universal_d {\n    export {\n      automationsV1AutomationsVelo_universal_d_MainEntity as MainEntity,\n      automationsV1AutomationsVelo_universal_d_TriggerAutomationRequest as TriggerAutomationRequest,\n      automationsV1AutomationsVelo_universal_d_TriggerAutomationResponse as TriggerAutomationResponse,\n      automationsV1AutomationsVelo_universal_d_triggerAutomation as triggerAutomation,\n      automationsV1AutomationsVelo_universal_d_TriggerAutomationOptions as TriggerAutomationOptions,\n    };\n  }\n  \n  export { automationsV1AutomationsVelo_universal_d as automationsRunnerV1 };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-automations.d.ts",
      "content": "declare module \"wix-automations\" {\n  interface MainEntity {\n      _id?: string;\n  }\n  interface TriggerAutomationRequest {\n      /** hookId is the id of the hook to trigger */\n      hookId?: string;\n      /** payload is the payload to send to the hook */\n      payload?: Record<string, any> | null;\n  }\n  interface TriggerAutomationResponse {\n  }\n  /**\n   * TriggerAutomation triggers an automation with webhook trigger by its hookId\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.AUTOMATION_READ\n   * @adminMethod\n   */\n  function triggerAutomation(options?: TriggerAutomationOptions): Promise<void>;\n  interface TriggerAutomationOptions {\n      /** hookId is the id of the hook to trigger */\n      hookId?: string;\n      /** payload is the payload to send to the hook */\n      payload?: Record<string, any> | null;\n  }\n  \n  export { MainEntity, TriggerAutomationOptions, TriggerAutomationRequest, TriggerAutomationResponse, triggerAutomation };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-http-functions.d.ts",
      "content": "declare module \"wix-http-functions\" {\n  /**\n     * Returns a response with status code 400 (Bad Request) and the information from the options parameter.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#badRequest)\n     */\n  export function badRequest(options?: WixHttpFunctionResponseOptions): WixHttpFunctionResponse;\n    /**\n     * Returns a response with status code 201 (Created) and the information from the options parameter.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#created)\n     */\n  export function created(options?: WixHttpFunctionResponseOptions): WixHttpFunctionResponse;\n    /**\n     * A function that responds to requests made with the HTTP DELETE method.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#delete)\n     */\n    /* Illegal function name 'delete' can't be used here\n    function delete(request: WixHttpFunctionRequest): WixHttpFunctionResponse;\n    */\n    /**\n     * Returns a response with status code 403 (Forbidden) and the information from the options parameter.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#forbidden)\n     */\n  export function forbidden(options?: WixHttpFunctionResponseOptions): WixHttpFunctionResponse;\n    /**\n     * A function that responds to requests made with the HTTP GET method.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#get)\n     */\n  export function get(request: WixHttpFunctionRequest): WixHttpFunctionResponse;\n    /**\n     * Returns a response with status code 404 (Not Found) and the information from the options parameter.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#notFound)\n     */\n  export function notFound(options?: WixHttpFunctionResponseOptions): WixHttpFunctionResponse;\n    /**\n     * Returns a response with status code 200 (OK) and the information from the options parameter.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#ok)\n     */\n  export function ok(options?: WixHttpFunctionResponseOptions): WixHttpFunctionResponse;\n    /**\n     * A function that responds to requests made with the HTTP OPTIONS method.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#options)\n     */\n  export function options(request: WixHttpFunctionRequest): WixHttpFunctionResponse;\n    /**\n     * A function that responds to requests made with the HTTP POST method.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#post)\n     */\n  export function post(request: WixHttpFunctionRequest): WixHttpFunctionResponse;\n    /**\n     * A function that responds to requests made with the HTTP PUT method.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#put)\n     */\n  export function put(request: WixHttpFunctionRequest): WixHttpFunctionResponse;\n    /**\n     * Returns a response populated with the information from the options parameter.\n     *  The `response()` function creates a custom response built with the\n     *  information passed to the `options` parameter in a `WixHttpFunctionCustomResponseOptions`\n     *  object.\n     *\n     *  Use the `response()` function to create a response to return from an HTTP\n     *  function.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#response)\n     */\n  export function response(options: WixHttpFunctionCustomResponseOptions): WixHttpFunctionResponse;\n    /**\n     * Returns a response with status code 500 (Internal Server Error) and the information from the options parameter.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#serverError)\n     */\n  export function serverError(options?: WixHttpFunctionResponseOptions): WixHttpFunctionResponse;\n    /**\n     * A function that responds to requests made with any HTTP method.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.html#use)\n     */\n  export function use(request: WixHttpFunctionRequest): WixHttpFunctionResponse;\n    /**\n     * An object used to customize a response to an HTTP function call, including a HTTP response code you select.\n     */\n    type WixHttpFunctionCustomResponseOptions = {\n        /**\n         * The response's HTTP status code.\n         */\n        status?: number;\n        /**\n         * The response's body.\n         */\n        body?: string | Buffer | any;\n        /**\n         * The response's header fields. The `headers` property contains an object of `key:value` pairs where the `key` is the header field name and the `value` is the header field value.\n         */\n        headers?: any;\n    };\n    /**\n     * An object used to set up a standard response to an HTTP function call, including a pre-set (unchangeable) HTTP response code.\n     */\n    type WixHttpFunctionResponseOptions = {\n        /**\n         * The response's body.\n         */\n        body?: string | Buffer | any;\n        /**\n         * The response's header fields. The `headers` property contains an object of `key:value` pairs where the `key` is the header field name and the `value` is the header field value.\n         */\n        headers?: any;\n    };\n    /**\n     * An object representing an incoming request received by a call to an HTTP function.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#)\n     */\n    interface WixHttpFunctionRequest {\n        /**\n         * Returns the base URL of a call to an HTTP function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#baseUrl)\n         */\n        readonly baseUrl: string;\n        /**\n         * Returns an object representing the body of the incoming call to an HTTP function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#body)\n         */\n        readonly body: WixHttpFunctionRequest.WixHttpFunctionRequestBody;\n        /**\n         * Returns the function name of a call to an HTTP function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#functionName)\n         */\n        readonly functionName: string;\n        /**\n         * Returns the HTTP header fields used in a call to an HTTP function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#headers)\n         */\n        readonly headers: any;\n        /**\n         * Returns the IP address of the client who called the HTTP function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#ip)\n         */\n        readonly ip: string;\n        /**\n         * Returns the HTTP method used in calling an HTTP function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#method)\n         */\n        readonly method: string;\n        /**\n         * Returns the path of the URL used to call an HTTP function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#path)\n         */\n        readonly path: string[];\n        /**\n         * Returns the query fields and values of the URL used to call an HTTP function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#query)\n         */\n        readonly query: any;\n        /**\n         * Returns the full URL of a call to an HTTP function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#url)\n         */\n        readonly url: string;\n    }\n    /**\n     * An object representing a response to an HTTP function request.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionResponse.html#)\n     */\n    interface WixHttpFunctionResponse {\n        /**\n         * Sets or gets the body of the response as a string, object or binary buffer.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionResponse.html#body)\n         */\n        body: string | Buffer | any;\n        /**\n         * Sets or gets the HTTP response header fields.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionResponse.html#headers)\n         */\n        headers: any;\n        /**\n         * Sets or gets the HTTP status code of the response.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionResponse.html#status)\n         */\n        status: number;\n    }\n    /**\n     * An object representing an incoming request received by a call to an HTTP function.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.html#)\n     */\n  export namespace WixHttpFunctionRequest {\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.WixHttpFunctionRequestBody.html#)\n         */\n        interface WixHttpFunctionRequestBody {\n            /**\n             * Returns a Promise which resolves to the body of the call in binary as a Node.js [Buffer](https://nodejs.org/docs/latest-v14.x/api/buffer.html) object.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.WixHttpFunctionRequestBody.html#buffer)\n             */\n            buffer(): Promise<any>;\n            /**\n             * Returns a Promise which resolves to the body of the call as a JSON object.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.WixHttpFunctionRequestBody.html#json)\n             */\n            json(): Promise<any>;\n            /**\n             * Returns a Promise which resolves to the body of the call as a string.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.WixHttpFunctionRequestBody.html#text)\n             */\n            text(): Promise<string>;\n        }\n        /**\n         * [Read more](https://www.wix.com/corvid/reference/wix-http-functions.WixHttpFunctionRequest.WixHttpFunctionRequestBody.html#)\n         */\n        namespace WixHttpFunctionRequestBody {\n        }\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-functions.v1.d.ts",
      "content": "declare module \"wix-functions.v1\" {\n  interface FunctionShop {\n      /**\n       * Id of the shop\n       * @readonly\n       */\n      _id?: string | null;\n      /** List of shops */\n      shops?: Shop[];\n  }\n  interface GetPriceResponseOption {\n      price?: number | null;\n      name?: string | null;\n  }\n  enum SelectOneOfThree {\n      FIRST = \"FIRST\",\n      SECOND = \"SECOND\",\n      THIRD = \"THIRD\"\n  }\n  interface FunctionsShopPriceSpiConfig {\n      uriConfig?: SpiBaseUri;\n      /** function shop id */\n      functionShopId?: string | null;\n      /** Namespace */\n      namespace?: Namespace;\n      /** Repeated namespace case */\n      namespaces?: Namespace[];\n  }\n  interface SpiBaseUri {\n      /**\n       * Base URI where the methods are called. Wix appends the path to the `baseUri`.\n       * For example, to call the Get Shipping Rates method at `https://my-shipping-provider.com/v1/getRates`, the base URI you provide here is `https://my-shipping-provider.com/`.\n       */\n      baseUri?: string;\n      /** Alternate, custom URIs to replace the default URIs for specific service plugin methods. */\n      alternativeUris?: AlternativeUri[];\n  }\n  interface AlternativeUri {\n      /**\n       * Name of the method to create a custom URI for.\n       *\n       * For `methodName`, use the name of the method in PascalCase.\n       * For example, for Get Shipping Rates use `GetShippingRates`.\n       */\n      methodName?: string;\n      /**\n       * Custom URI that Wix uses to call your server for this method. The path-suffix documented in the method will not be appended to this URI.\n       * Must be a secured endpoint beginning with `https://`. For example, `https://www.my-shipping-provider.com/my-shipping-rates`.\n       */\n      absoluteUri?: string;\n  }\n  interface Namespace {\n      /** Namespace name */\n      name?: string | null;\n      /** Additional function shop id */\n      functionShopId?: string | null;\n  }\n  interface Shop {\n      /** Name of the shop */\n      name?: string | null;\n      /** Price of the shop */\n      price?: number | null;\n      /** Checked or not */\n      checked?: boolean | null;\n      /** Get price response option */\n      option?: GetPriceResponseOption;\n      /** Get price response options */\n      options?: GetPriceResponseOption[];\n      /** Select one of three */\n      selectOneOfThree?: SelectOneOfThree;\n      /**\n       * Extension id which send the call\n       * @readonly\n       */\n      extensionId?: string | null;\n      /** Component configuration */\n      configuration?: FunctionsShopPriceSpiConfig;\n  }\n  interface GetFunctionShopRequest {\n      /** Description of value */\n      _id: string;\n  }\n  interface GetFunctionShopResponse {\n      /** Description of value */\n      functionShop?: FunctionShop;\n  }\n  /** @param _id - Description of value\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId FUNCTIONS.FUNCTIONS_SHOP_READ\n   * @adminMethod\n   * @returns Description of value\n   */\n  function getFunctionShop(_id: string): Promise<FunctionShop>;\n  \n  type functionsFunctionsshopV1Functionshop_universal_d_FunctionShop = FunctionShop;\n  type functionsFunctionsshopV1Functionshop_universal_d_GetPriceResponseOption = GetPriceResponseOption;\n  type functionsFunctionsshopV1Functionshop_universal_d_SelectOneOfThree = SelectOneOfThree;\n  const functionsFunctionsshopV1Functionshop_universal_d_SelectOneOfThree: typeof SelectOneOfThree;\n  type functionsFunctionsshopV1Functionshop_universal_d_FunctionsShopPriceSpiConfig = FunctionsShopPriceSpiConfig;\n  type functionsFunctionsshopV1Functionshop_universal_d_SpiBaseUri = SpiBaseUri;\n  type functionsFunctionsshopV1Functionshop_universal_d_AlternativeUri = AlternativeUri;\n  type functionsFunctionsshopV1Functionshop_universal_d_Namespace = Namespace;\n  type functionsFunctionsshopV1Functionshop_universal_d_Shop = Shop;\n  type functionsFunctionsshopV1Functionshop_universal_d_GetFunctionShopRequest = GetFunctionShopRequest;\n  type functionsFunctionsshopV1Functionshop_universal_d_GetFunctionShopResponse = GetFunctionShopResponse;\n  const functionsFunctionsshopV1Functionshop_universal_d_getFunctionShop: typeof getFunctionShop;\n  namespace functionsFunctionsshopV1Functionshop_universal_d {\n    export {\n      functionsFunctionsshopV1Functionshop_universal_d_FunctionShop as FunctionShop,\n      functionsFunctionsshopV1Functionshop_universal_d_GetPriceResponseOption as GetPriceResponseOption,\n      functionsFunctionsshopV1Functionshop_universal_d_SelectOneOfThree as SelectOneOfThree,\n      functionsFunctionsshopV1Functionshop_universal_d_FunctionsShopPriceSpiConfig as FunctionsShopPriceSpiConfig,\n      functionsFunctionsshopV1Functionshop_universal_d_SpiBaseUri as SpiBaseUri,\n      functionsFunctionsshopV1Functionshop_universal_d_AlternativeUri as AlternativeUri,\n      functionsFunctionsshopV1Functionshop_universal_d_Namespace as Namespace,\n      functionsFunctionsshopV1Functionshop_universal_d_Shop as Shop,\n      functionsFunctionsshopV1Functionshop_universal_d_GetFunctionShopRequest as GetFunctionShopRequest,\n      functionsFunctionsshopV1Functionshop_universal_d_GetFunctionShopResponse as GetFunctionShopResponse,\n      functionsFunctionsshopV1Functionshop_universal_d_getFunctionShop as getFunctionShop,\n    };\n  }\n  \n  export { functionsFunctionsshopV1Functionshop_universal_d as functionShop };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-router.d.ts",
      "content": "declare module \"wix-router\" {\n  /**\n     * Registers a hook that is called after a router.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#afterRouter)\n     */\n  export function afterRouter(request: WixRouterRequest, response: WixRouterResponse): Promise<WixRouterResponse>;\n    /**\n     * Registers a hook that is called after a sitemap is created.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#afterSitemap)\n     */\n  export function afterSitemap(request: WixRouterSitemapRequest, sitemapEntries: WixRouterSitemapEntry[]): Promise<WixRouterSitemapEntry[]>;\n    /**\n     * Registers a hook that is called before a router.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#beforeRouter)\n     */\n  export function beforeRouter(request: WixRouterRequest): Promise<WixRouterResponse>;\n    /**\n     * Registers a hook that is called after a route is resolved by the data binding router, but before the wix-data query is executed.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#customizeQuery)\n     */\n  export function customizeQuery(request: WixRouterRequest, route: string, query: WixDataQuery): WixDataQuery;\n    /**\n     * Returns a response with a status code 403 (Forbidden) and instructs the router to show a 403 page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#forbidden)\n     */\n  export function forbidden(message?: string): Promise<WixRouterResponse>;\n    /**\n     * Returns a response that instructs the router to continue.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#next)\n     */\n  export function next(): Promise<WixRouterResponse>;\n    /**\n     * Returns a response with a status code 404 (Not Found) and instructs the router to show a 404 page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#notFound)\n     */\n  export function notFound(message?: string): Promise<WixRouterResponse>;\n    /**\n     * Returns the `WixRouterResponse` object with a status code 200 (OK) and instructs the router to show the selected page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#ok)\n     */\n  export function ok(Page: string | string[], routerReturnedData?: any, head?: WixRouterResponse.HeadOptions, options?: Options): Promise<WixRouterResponse>;\n    /**\n     * Returns a response with a status code of 301 (Moved Permanently) or 302 (Found) and instructs the router to redirect to the given URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#redirect)\n     */\n  export function redirect(url: string, statusCode?: string): Promise<WixRouterResponse>;\n    /**\n     * Function containing routing logic for a given URL prefix.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#router)\n     */\n  export function router(request: WixRouterRequest): Promise<WixRouterResponse>;\n    /**\n     * Returns a response with the specified HTTP status code with an optional message.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#sendStatus)\n     */\n  export function sendStatus(statusCode: string, message?: string): Promise<WixRouterResponse>;\n    /**\n     * Function containing sitemap logic for a given URL prefix.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.html#sitemap)\n     */\n  export function sitemap(request: WixRouterSitemapRequest): Promise<WixRouterSitemapEntry[]>;\n    /**\n     * An object representing a Wix Data Query.\n     * [Read more](https://dev.wix.com/docs/velo/api-reference/wix-data/wix-data-query/introduction)\n     */\n  export type WixDataQuery = Object;\n    /**\n     * Caching options.\n     */\n  export type Cache = {\n        /**\n         * An array of strings used to categorize and identify cached return values. Tags allow you to manage and specify caches. The `tags` property is required for caching. Without tags, nothing is cached.\n         */\n        tags: string[];\n        /**\n         * The Time To Live (TTL) for the cached return value in seconds. This defines how long the return value should be stored before the cache expires and the data is retrieved again.\n         *\n         * Default: `604800` seconds (1 week)\n         */\n        ttl?: number;\n    };\n    /**\n     * An object representing routing options.\n     */\n  export type Options = {\n        /**\n         * Options for caching the return value of the `ok()` function.\n         */\n        cache?: Cache;\n    };\n    /**\n     * An object representing an incoming page request received by a router.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#)\n     */\n  export interface WixRouterRequest {\n        /**\n         * Returns the base URL of the router request.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#baseUrl)\n         */\n        readonly baseUrl: string;\n        /**\n         * Returns the current environment the router rendering process is running in.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#env)\n         */\n        readonly env: string;\n        /**\n         * Returns the form factor of the device used to make the router request.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#formFactor)\n         */\n        readonly formFactor: string;\n        /**\n         * Returns the remote IP address of the router request.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#ip)\n         */\n        readonly ip: string;\n        /**\n         * Returns the names of the pages associated with this router.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#pages)\n         */\n        readonly pages: string[];\n        /**\n         * Returns the path of the router request URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#path)\n         */\n        readonly path: string[];\n        /**\n         * Returns the router prefix of the router request URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#prefix)\n         */\n        readonly prefix: string;\n        /**\n         * Returns the protocol of the router request URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#protocol)\n         */\n        readonly protocol: string;\n        /**\n         * Returns the query fields and values of the request URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#query)\n         */\n        readonly query: any;\n        /**\n         * Returns the `referrer` header from the router request.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#referrer)\n         */\n        readonly referrer: string;\n        /**\n         * Returns the full URL of the router request.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#url)\n         */\n        readonly url: string;\n        /**\n         * Returns the details of the current site user who is logged in.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#user)\n         */\n        readonly user: WixRouterUser;\n        /**\n         * Returns the `user-agent` header as sent from the device used to make the router request.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterRequest.html#userAgent)\n         */\n        readonly userAgent: string;\n    }\n    /**\n     * An object representing a response to a request received by a router.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterResponse.html#)\n     */\n  export interface WixRouterResponse {\n        /**\n         * Sets or gets the data to pass with the response.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterResponse.html#data)\n         */\n        data: any;\n        /**\n         * Sets or gets the members to be written to the HTML head of the page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterResponse.html#head)\n         */\n        head: WixRouterResponse.HeadOptions;\n        /**\n         * Sets or gets the response message to be used when responding with status codes 4xx and 5xx.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterResponse.html#message)\n         */\n        message: string;\n        /**\n         * Sets or gets the page to route to.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterResponse.html#page)\n         */\n        page: string;\n        /**\n         * Sets or gets the url to redirect to when responding with status codes 301 and 302.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterResponse.html#redirectUrl)\n         */\n        redirectUrl: string;\n        /**\n         * Sets or gets the response's HTTP status code.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterResponse.html#status)\n         */\n        status: number;\n    }\n    /**\n     * An object representing a single entry in a sitemap.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapEntry.html#)\n     */\n  export class WixRouterSitemapEntry {\n        constructor(...args: any[]);\n        /**\n         * Sets or gets how frequently the page is likely to change.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapEntry.html#changeFrequency)\n         */\n        changeFrequency: string;\n        /**\n         * Sets or gets when was the page data last modified.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapEntry.html#lastModified)\n         */\n        lastModified: Date;\n        /**\n         * Sets or gets the page name.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapEntry.html#pageName)\n         */\n        pageName: string;\n        /**\n         * Sets or gets the priority of this URL relative to other URLs on your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapEntry.html#priority)\n         */\n        priority: number;\n        /**\n         * Sets or gets the page title.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapEntry.html#title)\n         */\n        title: string;\n        /**\n         * Sets or gets the relative url of the page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapEntry.html#url)\n         */\n        url: string;\n    }\n    /**\n     * An object representing a request for a sitemap.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapRequest.html#)\n     */\n  export interface WixRouterSitemapRequest {\n        /**\n         * Returns the base URL of the request.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapRequest.html#baseUrl)\n         */\n        readonly baseUrl: string;\n        /**\n         * Sets or gets the page name.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapRequest.html#pageName)\n         */\n        readonly pageName: string;\n        /**\n         * Returns the names of the pages associated with this router.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapRequest.html#pages)\n         */\n        readonly pages: string[];\n        /**\n         * Returns the router prefix of the request.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapRequest.html#prefix)\n         */\n        readonly prefix: string;\n        /**\n         * Returns the details of the current site user who is logged in.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterSitemapRequest.html#user)\n         */\n        readonly user: WixRouterUser;\n    }\n    /**\n     * An object that contains information about the current site visitor who is logged in.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterUser.html#)\n     */\n  export interface WixRouterUser {\n        /**\n         * Gets the user's ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterUser.html#id)\n         */\n        readonly id: string;\n        /**\n         * Gets the user's role.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterUser.html#role)\n         */\n        readonly role: string;\n    }\n    /**\n     * An object representing a response to a request received by a router.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-router.WixRouterResponse.html#)\n     */\n  export namespace WixRouterResponse {\n        /**\n         * Members of the HTML head.\n         */\n        type HeadOptions = {\n            /**\n             * The page title. Written to the `` tag.\n             */\n            title?: string;\n            /**\n             * **Deprecated: Use the new `metaTags` format instead.**\n             *\n             * The page description.\n             */\n            description?: string;\n            /**\n             * **Deprecated: Use the new `metaTags` format instead.**\n             *\n             *  The page keywords.\n             */\n            keywords?: string;\n            /**\n             * **Deprecated: Use the new `metaTags` format instead.**\n             *\n             *  Indicates whether to add a meta tag that prevents search engines from indexing the\n             *  page.\n             */\n            noIndex?: boolean;\n            /**\n             * The page's SEO-related meta tags.\n             *\n             *  The keys in the object represent the keys in the tag and the values in the\n             *  object represent the values in the tag.\n             *\n             *  For example:\n             *\n             *  ```javascript\n             *  {\n             *    \"property\": \"og:image\",\n             *    \"content\": \"https://.../Wix+logo.jpg\"\n             *  }\n             *  ```\n             *\n             * Produces:\n             *\n             *  ```html\n             *\n             *  ```\n             *\n             *  When setting `og:image` meta tags, the `content` can be an external image URL\n             *  or a Media Manager image URL as described [here]($w.Image.html#src).\n             *\n             *  **Deprecated format:** An object with key:value pairs where the key is the meta tag name\n             *  and the value is the content.\n             */\n            metaTags?: WixRouterResponse.MetaTag[];\n            /**\n             * The page's SEO-related link tags,\n             *  which provide additional SEO information about the page. For example, you can set a\n             *  link to a canonical or alternate version of the page.\n             */\n            links?: WixRouterResponse.Link[];\n            /**\n             * The page's structured data, which helps search engines\n             *  understand more about the page and your business so they can display a richer snippet of the\n             *  page in search results.\n             */\n            structuredData?: any[];\n        };\n        /**\n         * An object representing a link tag.\n         */\n        type Link = {\n            /**\n             * The relationship of the linked resource to the current page.\n             */\n            rel?: string;\n            /**\n             * The URL of the linked resource.\n             */\n            href?: string;\n        };\n        /**\n         * An object representing a meta tag.\n         */\n        type MetaTag = {\n            /**\n             * Name of the meta tag. Either `name` or `property` is required.\n             */\n            name?: string;\n            /**\n             * Name of the meta tag property. Either `property` or `name` is required.\n             */\n            property?: string;\n            /**\n             * HTTP header that corresponds to the `content`.\n             */\n            \"http-equiv\"?: string;\n            /**\n             * Meta tag value. For `og:image` meta tags, the `content` can\n             *  be an external image URL or a Media Manager image URL as described [here]($w.Image.html#src).\n             */\n            content: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-media-collections-backend.d.ts",
      "content": "declare module \"wix-media-collections-backend\" {\n  interface MediaCollection {\n      /**\n       * Collection id\n       * @readonly\n       */\n      _id?: string;\n      /** Collection name */\n      name?: string;\n      description?: string | null;\n      /**\n       * total count of MediaCollection members\n       * @readonly\n       */\n      membersCount?: number;\n      /**\n       * the member who created the MediaCollection\n       * @readonly\n       */\n      creator?: CollectionMember;\n      /**\n       * when MediaCollection was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Items in the collection */\n      items?: MediaCollectionItem[];\n      /**\n       * total count of items\n       * @readonly\n       */\n      itemsCount?: number;\n      /** Privacy settings */\n      privacySettings?: PrivacySettings;\n      /** If true, the collection is locked and should not be updated */\n      locked?: boolean;\n  }\n  interface CollectionMember {\n      /**\n       * Member id\n       * @readonly\n       */\n      memberId?: string;\n      /** Member nickname */\n      nickname?: string | null;\n      /** Member slug */\n      slug?: string | null;\n      /** Member photo url */\n      photoUrl?: string | null;\n  }\n  interface MediaCollectionItem extends MediaCollectionItemMetadataOneOf {\n      /** Photo metadata */\n      photoMetadata?: PhotoMetadata;\n      /** Video metadata */\n      videoMetadata?: VideoMetadata;\n      /** Text metadata */\n      textMetadata?: TextMetadata;\n      /**\n       * item id\n       * @readonly\n       */\n      _id?: string | null;\n      /** item url for photos or video */\n      mediaUrl?: string | null;\n      /** if not present in an update it mean the item will be added as currentTimestamp */\n      sortOrder?: number | null;\n      /** item's original filename */\n      name?: string | null;\n      /** item's title */\n      title?: string | null;\n      /** item's description */\n      description?: string | null;\n      /** a link from the item to something else */\n      link?: Link;\n      /** item type: text, photo or video */\n      dataType?: DataType;\n      /**\n       * If true, the item is secure and should not be exposed to the public\n       * @internal\n       */\n      secure?: boolean;\n      /**\n       * When the item was added to the collection\n       * @readonly\n       */\n      addedDate?: Date | null;\n      /**\n       * When the item was last updated\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** The owner of the media */\n      mediaOwner?: MediaOwner;\n      /** Tags for media */\n      tags?: string[];\n      /** Token for media */\n      token?: string | null;\n      /** Gallery id */\n      galleryId?: string;\n  }\n  /** @oneof */\n  interface MediaCollectionItemMetadataOneOf {\n      /** Photo metadata */\n      photoMetadata?: PhotoMetadata;\n      /** Video metadata */\n      videoMetadata?: VideoMetadata;\n      /** Text metadata */\n      textMetadata?: TextMetadata;\n  }\n  interface Link {\n      type?: Type;\n      /** Link text */\n      text?: string | null;\n      /** Link url */\n      url?: string | null;\n      /** Link target */\n      target?: string | null;\n      /** Data on how to construct the link from wix editor inputs */\n      wixLinkData?: WixLink;\n  }\n  enum Type {\n      /** Undefined */\n      Undefined = \"Undefined\",\n      /** external link */\n      External = \"External\",\n      /** link to wix pages */\n      Internal = \"Internal\"\n  }\n  /** The link object generated by panels in the editor and used by applications in Wix */\n  interface WixLink extends WixLinkLinkOneOf {\n      /** External link type */\n      external?: ExternalLink;\n      /** Page link type */\n      page?: PageLink;\n      /** Anchor link type */\n      anchor?: AnchorLink;\n      /** Dynamic page link type */\n      dynamicPage?: DynamicPageLink;\n      /** Document link type */\n      document?: DocumentLink;\n      /** Email link type */\n      email?: EmailLink;\n      /** Phone link type */\n      phone?: PhoneLink;\n      /** Address link type */\n      address?: AddressLink;\n      /** WhatsApp link type */\n      whatsApp?: WhatsAppLink;\n      /** TPA link type */\n      tpaPage?: TpaPageLink;\n  }\n  /** @oneof */\n  interface WixLinkLinkOneOf {\n      /** External link type */\n      external?: ExternalLink;\n      /** Page link type */\n      page?: PageLink;\n      /** Anchor link type */\n      anchor?: AnchorLink;\n      /** Dynamic page link type */\n      dynamicPage?: DynamicPageLink;\n      /** Document link type */\n      document?: DocumentLink;\n      /** Email link type */\n      email?: EmailLink;\n      /** Phone link type */\n      phone?: PhoneLink;\n      /** Address link type */\n      address?: AddressLink;\n      /** WhatsApp link type */\n      whatsApp?: WhatsAppLink;\n      /** TPA link type */\n      tpaPage?: TpaPageLink;\n  }\n  interface ExternalLink {\n      /** The url of the page */\n      url?: string;\n      /** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */\n      target?: string | null;\n  }\n  interface PageLink {\n      /** The page id we want from the site */\n      pageId?: string;\n      /** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */\n      target?: string | null;\n      /** rel of link */\n      rel?: LinkRel[];\n  }\n  /**\n   * The 'rel' attribute of the link. The rel attribute defines the relationship between a linked resource and the current document.\n   * Further reading (also about different possible rel types): https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel\n   * Following are the accepted 'rel' types by Wix applications.\n   */\n  enum LinkRel {\n      /** default (not implemented) */\n      unknown_link_rel = \"unknown_link_rel\",\n      /** Indicates that the current document's original author or publisher does not endorse the referenced document. */\n      nofollow = \"nofollow\",\n      /** Instructs the browser to navigate to the target resource without granting the new browsing context access to the document that opened it. */\n      noopener = \"noopener\",\n      /** No Referer header will be included. Additionally, has the same effect as noopener. */\n      noreferrer = \"noreferrer\",\n      /** Indicates a link that resulted from advertisements or paid placements. */\n      sponsored = \"sponsored\"\n  }\n  interface AnchorLink {\n      /** The name of the anchor */\n      anchorName?: string;\n      /** The data id (from the JSON page) of the anchor that should be used */\n      anchorDataId?: string;\n      /** The page id we want from the site */\n      pageId?: string;\n      /** rel of link */\n      rel?: LinkRel[];\n  }\n  interface DynamicPageLink {\n      /** The router that handles this link */\n      routerId?: string;\n      /** The path data we'd like */\n      innerRoute?: string;\n      /** The data id (from the JSON page) of the anchor that should be used */\n      anchorDataId?: string | null;\n      /** rel of link */\n      rel?: LinkRel[];\n  }\n  interface DocumentLink {\n      /** The id of the document */\n      docId?: string;\n      /** The name of the document for download purposes */\n      name?: string | null;\n      /** If this document can be indexed by scrapers, default is false */\n      indexable?: boolean;\n  }\n  interface EmailLink {\n      /** The email we will be sending a message to */\n      recipient?: string;\n      /** The subject of the email */\n      subject?: string | null;\n      /** The body of the email */\n      body?: string | null;\n  }\n  interface PhoneLink {\n      /** The phone number we want to link to */\n      phoneNumber?: string;\n  }\n  interface AddressLink {\n      /** An address that we can link to */\n      address?: string;\n  }\n  interface WhatsAppLink {\n      /** The whatsApp phone number we want to connect with */\n      phoneNumber?: string;\n  }\n  /** Link to a TPA page */\n  interface TpaPageLink {\n      /** Type of item (e.g. 'wix.stores.sub_pages.product') */\n      itemTypeIdentifier?: string;\n      /** Id of linked item */\n      itemId?: string;\n      /** Id of linked page */\n      pageId?: string;\n      /** Id of app being linked to (AppDefId) */\n      appDefinitionId?: string;\n      /** The relativepath of linked page */\n      path?: string;\n      /** rel of link */\n      rel?: LinkRel[];\n  }\n  enum DataType {\n      Undefined = \"Undefined\",\n      Photo = \"Photo\",\n      Video = \"Video\",\n      Text = \"Text\"\n  }\n  interface PhotoMetadata {\n      /** Photo width */\n      width?: number | null;\n      /** Photo height */\n      height?: number | null;\n      /** The focal point of the image */\n      focalPoint?: Point;\n      /** aka Exchangeable image file format */\n      exif?: Record<string, any> | null;\n      /** the image quality */\n      quality?: number | null;\n      /** photo sharpening */\n      unsharpMasking?: UnsharpMasking;\n      /** id in WixMedia */\n      mediaId?: string | null;\n  }\n  interface Point {\n      /** x coordinate */\n      x?: number;\n      /** y coordinate */\n      y?: number;\n  }\n  interface UnsharpMasking {\n      /** number controls the amount of contrast that is added at the edges. */\n      amount?: number | null;\n      /** number in pixels. The size of the edges to be enhanced */\n      radius?: number | null;\n      /** The minimal level of brightness change that will be sharpened */\n      threshold?: number | null;\n  }\n  interface VideoMetadata {\n      /** Video width */\n      width?: number | null;\n      /** Video height */\n      height?: number | null;\n      /** Video duration in milliseconds */\n      duration?: string | null;\n      /** Video source */\n      source?: Source;\n      /** Video posters */\n      posters?: Thumbnail[];\n      /** Video resolutions */\n      resolutions?: Resolution[];\n      /** External source's representation for this video's id */\n      externalId?: string | null;\n  }\n  enum Source {\n      /** Undefined */\n      Undefined = \"Undefined\",\n      /** Youtube */\n      Youtube = \"Youtube\",\n      /** Vimeo */\n      Vimeo = \"Vimeo\",\n      /** Custom */\n      Custom = \"Custom\"\n  }\n  interface Thumbnail {\n      /** Thumbnail url */\n      url?: string | null;\n      /** Thumbnail width */\n      width?: number | null;\n      /** Thumbnail height */\n      height?: number | null;\n      /** Is this the default thumbnail */\n      default?: boolean | null;\n      /** The focal point of the image */\n      focalPoint?: Point;\n  }\n  interface Resolution {\n      /** eg 720p, 1024p etc */\n      videoMode?: string | null;\n      /** Video width */\n      width?: number | null;\n      /** Video height */\n      height?: number | null;\n      /** Map representing the file format (eg mp4)  to the url. In case of an external source the format can be youtube, vimeo, etc. */\n      urls?: Record<string, string>;\n  }\n  interface TextMetadata {\n      /** text data */\n      html?: string | null;\n      /** css style info for container */\n      style?: Record<string, any> | null;\n      /** populated via progallery app only (ck editor format) */\n      editorHtml?: string | null;\n      /** the wix editor's font Id used to display the text data */\n      editorFontId?: string | null;\n  }\n  enum MediaOwner {\n      /** Undefined */\n      Undefined = \"Undefined\",\n      /** Wix */\n      Wix = \"Wix\",\n      /** DeviantArt */\n      DeviantArt = \"DeviantArt\",\n      /** Custom */\n      Custom = \"Custom\"\n  }\n  enum PrivacySettings {\n      /** Undefined */\n      Undefined = \"Undefined\",\n      /** Public */\n      Public = \"Public\",\n      /** Secret */\n      Secret = \"Secret\"\n  }\n  interface PermanentSiteDeletedResponse {\n      requestId?: string;\n      uniqueServiceIdentifier?: string;\n      status?: Status;\n      /** @readonly */\n      _createdDate?: Date | null;\n  }\n  enum Status {\n      UNKNOWN = \"UNKNOWN\",\n      HANDLED = \"HANDLED\",\n      NOTHING_TO_HANDLE = \"NOTHING_TO_HANDLE\"\n  }\n  interface Empty {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CollectionEvent extends CollectionEventEventTypeOneOf {\n      /** Collection created */\n      collectionCreated?: CollectionCreated;\n      /** Items added to collection */\n      itemsAddedToCollection?: ItemsAddedToCollection;\n      /** Items removed from collection */\n      itemsRemovedFromCollection?: ItemsRemovedFromCollection;\n      /** Member joined to collection */\n      memberJoinedToCollection?: MemberJoinedToCollection;\n      /** Member left collection */\n      memberLeftCollection?: MemberLeftCollection;\n  }\n  /** @oneof */\n  interface CollectionEventEventTypeOneOf {\n      /** Collection created */\n      collectionCreated?: CollectionCreated;\n      /** Items added to collection */\n      itemsAddedToCollection?: ItemsAddedToCollection;\n      /** Items removed from collection */\n      itemsRemovedFromCollection?: ItemsRemovedFromCollection;\n      /** Member joined to collection */\n      memberJoinedToCollection?: MemberJoinedToCollection;\n      /** Member left collection */\n      memberLeftCollection?: MemberLeftCollection;\n  }\n  interface CollectionItemId {\n      /** Id of the gallery in ProGallery */\n      galleryId?: string;\n      /** Id of the item in ProGallery */\n      itemId?: string;\n  }\n  interface CollectionCreated {\n      /** Collection id */\n      _id?: string;\n      /** Collection name */\n      name?: string;\n      /** Collection description */\n      description?: string | null;\n      /** Id of the member who created the collection */\n      creatorMemberId?: string;\n      /** When the collection was created */\n      _createdDate?: Date | null;\n      /** Privacy settings */\n      privacySettings?: PrivacySettings;\n  }\n  interface ItemsAddedToCollection {\n      /** Id of the collection */\n      collectionId?: string;\n      /** Id of the member who added items */\n      addedByMember?: string;\n      /** Ids of the items that were added */\n      collectionItemIds?: CollectionItemId[];\n      /** When the items were added */\n      addedDate?: Date | null;\n  }\n  interface ItemsRemovedFromCollection {\n      /** Id of the collection */\n      collectionId?: string;\n      /** Id of the member who removed items */\n      removedByMember?: string;\n      /** Ids of the items that were removed */\n      itemIds?: string[];\n      /** When the items were removed */\n      removedDate?: Date | null;\n  }\n  interface MemberJoinedToCollection {\n      /** Id of the collection */\n      collectionId?: string;\n      /** Id of the member who joined */\n      memberId?: string;\n      /** When the member was joined */\n      joinedDate?: Date | null;\n  }\n  interface MemberLeftCollection {\n      /** Id of the collection */\n      collectionId?: string;\n      /** Id of the member who left */\n      memberId?: string;\n      /** When the member left */\n      leftDate?: Date | null;\n  }\n  interface GetMediaCollectionRequest {\n      /** Collection id */\n      mediaCollectionId: string;\n      /** number of items to skip in the current sort order, default is 0 */\n      offset?: number | null;\n      /** The amount of items per response, default is 50 */\n      limit?: number | null;\n  }\n  interface GetMediaCollectionResponse {\n      /** The collection */\n      mediaCollection?: MediaCollection;\n      /** The member's status in the collection */\n      memberStatus?: MemberStatus;\n  }\n  enum MemberStatus {\n      /** Undefined */\n      UNDEFINED = \"UNDEFINED\",\n      /** Not a member */\n      NOT_MEMBER = \"NOT_MEMBER\",\n      /** Member */\n      MEMBER = \"MEMBER\",\n      /** Admin */\n      ADMIN = \"ADMIN\"\n  }\n  interface ListCollectionsForItemRequest {\n      /** Gallery id */\n      galleryId?: string;\n      /** Item id */\n      itemId: string;\n  }\n  interface ListCollectionsForItemResponse {\n      /** The collections that the item belongs to */\n      itemInCollections?: ItemInCollection[];\n  }\n  interface ItemInCollection {\n      /** Collection id */\n      mediaCollectionId?: string;\n      /** Collection name */\n      name?: string;\n      /** Is the item in the collection */\n      isItemInCollection?: boolean;\n      /** Is the collection locked */\n      isLocked?: boolean;\n      /** Member's role in the collection */\n      role?: MemberStatus;\n      /** Total count of items in the collection */\n      totalItemsCount?: number | null;\n      /** The first item in the collection */\n      firstItem?: MediaCollectionItem;\n      /** The creator's nickname */\n      creatorNickname?: string | null;\n  }\n  interface GetCollectionItemRequest {\n      /** Collection id */\n      mediaCollectionId: string;\n      /** Item id */\n      itemId: string;\n  }\n  interface GetCollectionItemResponse {\n      /** The item */\n      item?: MediaCollectionItem;\n  }\n  interface ListMediaCollectionsRequest {\n      /** the amount of collections per response, default is 1000 */\n      limit?: number | null;\n      /** number of collections to skip in the current sort order, default is 0 */\n      offset?: number | null;\n      /**\n       * If empty, no filter will be applied\n       * Else, will return only collections that the member has those roles on them. Currently supporting: MEMBER, ADMIN.\n       */\n      filterByRoles?: FilterByRoles;\n  }\n  interface FilterByRoles {\n      roles?: MemberStatus[];\n  }\n  interface ListMediaCollectionsResponse {\n      /** The collections and the member's role in them */\n      collectionsStatus?: CollectionAndStatus[];\n      /**\n       * total count of MediaCollection members\n       * @readonly\n       */\n      totalCollectionsCount?: number | null;\n  }\n  interface CollectionAndStatus {\n      /** The Media Collection */\n      mediaCollection?: MediaCollection;\n      /** The member's status in the collection */\n      memberStatus?: MemberStatus;\n  }\n  interface CreateMediaCollectionRequest {\n      /** Name of the collection */\n      name: string;\n      /** Description of the collection */\n      description?: string | null;\n      /** Privacy settings of the collection */\n      privacySettings?: PrivacySettings;\n      /** Items to add to the collection */\n      items?: AddItem[];\n  }\n  interface AddItem {\n      /** Gallery id */\n      galleryId?: string;\n      /** Item id */\n      itemId?: string;\n      /** Order index of the item */\n      orderIndex?: number | null;\n  }\n  interface CreateMediaCollectionResponse {\n      /** id of the collection that was created */\n      mediaCollectionId?: string;\n  }\n  interface PartiallyUpdateMediaCollectionRequest {\n      /** Collection to update */\n      mediaCollection: MediaCollection;\n      /**\n       * fields to update\n       * supported fields: name, description, privacy_settings\n       * @internal\n       */\n      fieldMask: string[];\n  }\n  interface PartiallyUpdateMediaCollectionResponse {\n  }\n  interface UpdateCollectionLockRequest {\n      /** Collection to lock */\n      mediaCollectionId: string;\n      /** Lock status */\n      locked?: boolean;\n  }\n  interface UpdateCollectionLockResponse {\n  }\n  interface DeleteMediaCollectionRequest {\n      /** the collection to delete */\n      mediaCollectionId: string;\n  }\n  interface DeleteMediaCollectionResponse {\n  }\n  interface ListCollectionMembersRequest {\n      /** the collection to get its members */\n      mediaCollectionId: string;\n      /** Filter the members by their role in the collection */\n      filterBy?: FilterBy;\n  }\n  interface FilterBy {\n      /** Member's status in the collection */\n      memberStatus?: MemberStatus;\n  }\n  interface ListCollectionMembersResponse {\n      /** The collection's members and their roles */\n      membersRoles?: MemberAndStatus[];\n  }\n  interface MemberAndStatus {\n      /** The member */\n      member?: CollectionMember;\n      /** The member's role in the collection */\n      memberStatus?: MemberStatus;\n  }\n  interface AddItemsRequest {\n      /** Collection to add items */\n      mediaCollectionId: string;\n      /** Items to add */\n      items?: AddItem[];\n  }\n  interface AddItemsResponse {\n  }\n  interface RemoveItemsRequest {\n      /** Collection to remove items from */\n      mediaCollectionId: string;\n      /** Items to remove */\n      itemsIds?: string[];\n  }\n  interface RemoveItemsResponse {\n  }\n  interface UpdateItemsRequest {\n      /** Collection to update items */\n      mediaCollectionId: string;\n      items?: UpdateItem[];\n  }\n  interface UpdateItem {\n      /** Item to update */\n      itemId?: string;\n      /** New order index of the item */\n      orderIndex?: number;\n  }\n  interface UpdateItemsResponse {\n  }\n  interface JoinToCollectionRequest {\n      /** Collection to join */\n      mediaCollectionId: string;\n  }\n  interface JoinToCollectionResponse {\n  }\n  interface RemoveMemberFromCollectionRequest {\n      /** Collection the member will be removed from being a member */\n      mediaCollectionId: string;\n      /** Member id to remove from the collection */\n      memberId: string;\n  }\n  interface RemoveMemberFromCollectionResponse {\n  }\n  interface LeaveCollectionRequest {\n      /** Collection the member will be leaving */\n      mediaCollectionId: string;\n  }\n  interface LeaveCollectionResponse {\n  }\n  interface ListCollectionItemsRequest {\n      /** Collection to get its items */\n      mediaCollectionId: string;\n  }\n  interface ListCollectionItemsResponse {\n      /** The collection's items */\n      collectionItems?: CollectionItem[];\n  }\n  interface CollectionItem {\n      /** Gallery id */\n      galleryId?: string;\n      /** Item id */\n      itemId?: string;\n      /** Order index of the item */\n      orderIndex?: number | null;\n      /** Date the item was added to the collection */\n      addedDate?: Date | null;\n  }\n  interface ListAllItemsBelongToCollectionRequest {\n  }\n  interface ListAllItemsBelongToCollectionResponse {\n      /** List of the item ids that belong to one or more collection */\n      itemIds?: string[];\n  }\n  /**\n   * Get a specific collection by its id\n   * @param mediaCollectionId - Collection id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField mediaCollectionId\n   * @adminMethod\n   * @returns The collection\n   */\n  function get(mediaCollectionId: string, options?: GetOptions): Promise<MediaCollection>;\n  interface GetOptions {\n      /** number of items to skip in the current sort order, default is 0 */\n      offset?: number | null;\n      /** The amount of items per response, default is 50 */\n      limit?: number | null;\n  }\n  /**\n   * List all collections that the member has a role in them\n   * @param itemId - Item id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField itemId\n   * @adminMethod\n   */\n  function listCollectionsForItem(itemId: string, options?: ListCollectionsForItemOptions): Promise<ListCollectionsForItemResponse>;\n  interface ListCollectionsForItemOptions {\n      /** Gallery id */\n      galleryId?: string;\n  }\n  /**\n   * Get a specific item from a collection\n   * @public\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.itemId\n   * @requiredField identifiers.mediaCollectionId\n   * @adminMethod\n   */\n  function getCollectionItem(identifiers: GetCollectionItemIdentifiers): Promise<GetCollectionItemResponse>;\n  interface GetCollectionItemIdentifiers {\n      /** Collection id */\n      mediaCollectionId: string;\n      /** Item id */\n      itemId: string;\n  }\n  /**\n   * List all collections that the item belongs to\n   * @public\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function list(options?: ListOptions): Promise<ListMediaCollectionsResponse>;\n  interface ListOptions {\n      /** the amount of collections per response, default is 1000 */\n      limit?: number | null;\n      /** number of collections to skip in the current sort order, default is 0 */\n      offset?: number | null;\n      /**\n       * If empty, no filter will be applied\n       * Else, will return only collections that the member has those roles on them. Currently supporting: MEMBER, ADMIN.\n       */\n      filterByRoles?: FilterByRoles;\n  }\n  /**\n   * Create a new collection\n   * @param name - Name of the collection\n   * @public\n   * @documentationMaturity preview\n   * @requiredField name\n   * @adminMethod\n   */\n  function create(name: string, options?: CreateOptions): Promise<CreateMediaCollectionResponse>;\n  interface CreateOptions {\n      /** Description of the collection */\n      description?: string | null;\n      /** Privacy settings of the collection */\n      privacySettings?: PrivacySettings;\n      /** Items to add to the collection */\n      items?: AddItem[];\n  }\n  /**\n   * Update a collection\n   * @param _id - Collection id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField mediaCollection\n   * @adminMethod\n   */\n  function partiallyUpdate(_id: string, mediaCollection: PartiallyUpdateMediaCollection, options?: PartiallyUpdateOptions): Promise<void>;\n  interface PartiallyUpdateMediaCollection {\n      /**\n       * Collection id\n       * @readonly\n       */\n      _id?: string;\n      /** Collection name */\n      name?: string;\n      description?: string | null;\n      /**\n       * total count of MediaCollection members\n       * @readonly\n       */\n      membersCount?: number;\n      /**\n       * the member who created the MediaCollection\n       * @readonly\n       */\n      creator?: CollectionMember;\n      /**\n       * when MediaCollection was created\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /** Items in the collection */\n      items?: MediaCollectionItem[];\n      /**\n       * total count of items\n       * @readonly\n       */\n      itemsCount?: number;\n      /** Privacy settings */\n      privacySettings?: PrivacySettings;\n      /** If true, the collection is locked and should not be updated */\n      locked?: boolean;\n  }\n  interface PartiallyUpdateOptions {\n      /**\n       * fields to update\n       * supported fields: name, description, privacy_settings\n       * @internal\n       */\n      fieldMask: string[];\n  }\n  /** @param mediaCollectionId - Collection to lock\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField mediaCollectionId\n   * @permissionId COLLECTION.MANAGE\n   * @adminMethod\n   */\n  function updateLock(mediaCollectionId: string, options?: UpdateLockOptions): Promise<void>;\n  interface UpdateLockOptions {\n      /** Lock status */\n      locked?: boolean;\n  }\n  /**\n   * Delete a collection\n   * @param mediaCollectionId - the collection to delete\n   * @public\n   * @documentationMaturity preview\n   * @requiredField mediaCollectionId\n   * @adminMethod\n   */\n  function _delete(mediaCollectionId: string): Promise<void>;\n  /**\n   * List all members of a collection\n   * @param mediaCollectionId - the collection to get its members\n   * @public\n   * @documentationMaturity preview\n   * @requiredField mediaCollectionId\n   * @adminMethod\n   */\n  function listCollectionMembers(mediaCollectionId: string, options?: ListCollectionMembersOptions): Promise<ListCollectionMembersResponse>;\n  interface ListCollectionMembersOptions {\n      /** Filter the members by their role in the collection */\n      filterBy?: FilterBy;\n  }\n  /**\n   * Add items to a collection\n   * @param mediaCollectionId - Collection to add items\n   * @public\n   * @documentationMaturity preview\n   * @requiredField mediaCollectionId\n   * @adminMethod\n   */\n  function addItems(mediaCollectionId: string, options?: AddItemsOptions): Promise<void>;\n  interface AddItemsOptions {\n      /** Items to add */\n      items?: AddItem[];\n  }\n  /**\n   * Remove items from a collection\n   * @param mediaCollectionId - Collection to remove items from\n   * @public\n   * @documentationMaturity preview\n   * @requiredField mediaCollectionId\n   * @adminMethod\n   */\n  function removeItems(mediaCollectionId: string, options?: RemoveItemsOptions): Promise<void>;\n  interface RemoveItemsOptions {\n      /** Items to remove */\n      itemsIds?: string[];\n  }\n  /**\n   * Update items in a collection\n   * @param mediaCollectionId - Collection to update items\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField mediaCollectionId\n   * @adminMethod\n   */\n  function updateItems(mediaCollectionId: string, options?: UpdateItemsOptions): Promise<void>;\n  interface UpdateItemsOptions {\n      items?: UpdateItem[];\n  }\n  /**\n   * Join to a collection\n   * @param mediaCollectionId - Collection to join\n   * @public\n   * @documentationMaturity preview\n   * @requiredField mediaCollectionId\n   * @adminMethod\n   */\n  function joinToCollection(mediaCollectionId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField identifiers\n   * @requiredField identifiers.mediaCollectionId\n   * @requiredField identifiers.memberId\n   * @adminMethod\n   */\n  function removeMemberFromCollection(identifiers: RemoveMemberFromCollectionIdentifiers): Promise<void>;\n  interface RemoveMemberFromCollectionIdentifiers {\n      /** Collection the member will be removed from being a member */\n      mediaCollectionId: string;\n      /** Member id to remove from the collection */\n      memberId: string;\n  }\n  /** @param mediaCollectionId - Collection the member will be leaving\n   * @public\n   * @documentationMaturity preview\n   * @requiredField mediaCollectionId\n   * @adminMethod\n   */\n  function leaveCollection(mediaCollectionId: string): Promise<void>;\n  /** @param mediaCollectionId - Collection to get its items\n   * @public\n   * @documentationMaturity preview\n   * @requiredField mediaCollectionId\n   * @adminMethod\n   */\n  function listCollectionItems(mediaCollectionId: string): Promise<ListCollectionItemsResponse>;\n  /**\n   * Return list of the item ids that belong to one or more collection\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function listAllItemsBelongToCollection(): Promise<ListAllItemsBelongToCollectionResponse>;\n  \n  type collectionsV1Collection_universal_d_MediaCollection = MediaCollection;\n  type collectionsV1Collection_universal_d_CollectionMember = CollectionMember;\n  type collectionsV1Collection_universal_d_MediaCollectionItem = MediaCollectionItem;\n  type collectionsV1Collection_universal_d_MediaCollectionItemMetadataOneOf = MediaCollectionItemMetadataOneOf;\n  type collectionsV1Collection_universal_d_Link = Link;\n  type collectionsV1Collection_universal_d_Type = Type;\n  const collectionsV1Collection_universal_d_Type: typeof Type;\n  type collectionsV1Collection_universal_d_WixLink = WixLink;\n  type collectionsV1Collection_universal_d_WixLinkLinkOneOf = WixLinkLinkOneOf;\n  type collectionsV1Collection_universal_d_ExternalLink = ExternalLink;\n  type collectionsV1Collection_universal_d_PageLink = PageLink;\n  type collectionsV1Collection_universal_d_LinkRel = LinkRel;\n  const collectionsV1Collection_universal_d_LinkRel: typeof LinkRel;\n  type collectionsV1Collection_universal_d_AnchorLink = AnchorLink;\n  type collectionsV1Collection_universal_d_DynamicPageLink = DynamicPageLink;\n  type collectionsV1Collection_universal_d_DocumentLink = DocumentLink;\n  type collectionsV1Collection_universal_d_EmailLink = EmailLink;\n  type collectionsV1Collection_universal_d_PhoneLink = PhoneLink;\n  type collectionsV1Collection_universal_d_AddressLink = AddressLink;\n  type collectionsV1Collection_universal_d_WhatsAppLink = WhatsAppLink;\n  type collectionsV1Collection_universal_d_TpaPageLink = TpaPageLink;\n  type collectionsV1Collection_universal_d_DataType = DataType;\n  const collectionsV1Collection_universal_d_DataType: typeof DataType;\n  type collectionsV1Collection_universal_d_PhotoMetadata = PhotoMetadata;\n  type collectionsV1Collection_universal_d_Point = Point;\n  type collectionsV1Collection_universal_d_UnsharpMasking = UnsharpMasking;\n  type collectionsV1Collection_universal_d_VideoMetadata = VideoMetadata;\n  type collectionsV1Collection_universal_d_Source = Source;\n  const collectionsV1Collection_universal_d_Source: typeof Source;\n  type collectionsV1Collection_universal_d_Thumbnail = Thumbnail;\n  type collectionsV1Collection_universal_d_Resolution = Resolution;\n  type collectionsV1Collection_universal_d_TextMetadata = TextMetadata;\n  type collectionsV1Collection_universal_d_MediaOwner = MediaOwner;\n  const collectionsV1Collection_universal_d_MediaOwner: typeof MediaOwner;\n  type collectionsV1Collection_universal_d_PrivacySettings = PrivacySettings;\n  const collectionsV1Collection_universal_d_PrivacySettings: typeof PrivacySettings;\n  type collectionsV1Collection_universal_d_PermanentSiteDeletedResponse = PermanentSiteDeletedResponse;\n  type collectionsV1Collection_universal_d_Status = Status;\n  const collectionsV1Collection_universal_d_Status: typeof Status;\n  type collectionsV1Collection_universal_d_Empty = Empty;\n  type collectionsV1Collection_universal_d_DomainEvent = DomainEvent;\n  type collectionsV1Collection_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type collectionsV1Collection_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type collectionsV1Collection_universal_d_RestoreInfo = RestoreInfo;\n  type collectionsV1Collection_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type collectionsV1Collection_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type collectionsV1Collection_universal_d_ActionEvent = ActionEvent;\n  type collectionsV1Collection_universal_d_MessageEnvelope = MessageEnvelope;\n  type collectionsV1Collection_universal_d_IdentificationData = IdentificationData;\n  type collectionsV1Collection_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type collectionsV1Collection_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const collectionsV1Collection_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  type collectionsV1Collection_universal_d_CollectionEvent = CollectionEvent;\n  type collectionsV1Collection_universal_d_CollectionEventEventTypeOneOf = CollectionEventEventTypeOneOf;\n  type collectionsV1Collection_universal_d_CollectionItemId = CollectionItemId;\n  type collectionsV1Collection_universal_d_CollectionCreated = CollectionCreated;\n  type collectionsV1Collection_universal_d_ItemsAddedToCollection = ItemsAddedToCollection;\n  type collectionsV1Collection_universal_d_ItemsRemovedFromCollection = ItemsRemovedFromCollection;\n  type collectionsV1Collection_universal_d_MemberJoinedToCollection = MemberJoinedToCollection;\n  type collectionsV1Collection_universal_d_MemberLeftCollection = MemberLeftCollection;\n  type collectionsV1Collection_universal_d_GetMediaCollectionRequest = GetMediaCollectionRequest;\n  type collectionsV1Collection_universal_d_GetMediaCollectionResponse = GetMediaCollectionResponse;\n  type collectionsV1Collection_universal_d_MemberStatus = MemberStatus;\n  const collectionsV1Collection_universal_d_MemberStatus: typeof MemberStatus;\n  type collectionsV1Collection_universal_d_ListCollectionsForItemRequest = ListCollectionsForItemRequest;\n  type collectionsV1Collection_universal_d_ListCollectionsForItemResponse = ListCollectionsForItemResponse;\n  type collectionsV1Collection_universal_d_ItemInCollection = ItemInCollection;\n  type collectionsV1Collection_universal_d_GetCollectionItemRequest = GetCollectionItemRequest;\n  type collectionsV1Collection_universal_d_GetCollectionItemResponse = GetCollectionItemResponse;\n  type collectionsV1Collection_universal_d_ListMediaCollectionsRequest = ListMediaCollectionsRequest;\n  type collectionsV1Collection_universal_d_FilterByRoles = FilterByRoles;\n  type collectionsV1Collection_universal_d_ListMediaCollectionsResponse = ListMediaCollectionsResponse;\n  type collectionsV1Collection_universal_d_CollectionAndStatus = CollectionAndStatus;\n  type collectionsV1Collection_universal_d_CreateMediaCollectionRequest = CreateMediaCollectionRequest;\n  type collectionsV1Collection_universal_d_AddItem = AddItem;\n  type collectionsV1Collection_universal_d_CreateMediaCollectionResponse = CreateMediaCollectionResponse;\n  type collectionsV1Collection_universal_d_PartiallyUpdateMediaCollectionRequest = PartiallyUpdateMediaCollectionRequest;\n  type collectionsV1Collection_universal_d_PartiallyUpdateMediaCollectionResponse = PartiallyUpdateMediaCollectionResponse;\n  type collectionsV1Collection_universal_d_UpdateCollectionLockRequest = UpdateCollectionLockRequest;\n  type collectionsV1Collection_universal_d_UpdateCollectionLockResponse = UpdateCollectionLockResponse;\n  type collectionsV1Collection_universal_d_DeleteMediaCollectionRequest = DeleteMediaCollectionRequest;\n  type collectionsV1Collection_universal_d_DeleteMediaCollectionResponse = DeleteMediaCollectionResponse;\n  type collectionsV1Collection_universal_d_ListCollectionMembersRequest = ListCollectionMembersRequest;\n  type collectionsV1Collection_universal_d_FilterBy = FilterBy;\n  type collectionsV1Collection_universal_d_ListCollectionMembersResponse = ListCollectionMembersResponse;\n  type collectionsV1Collection_universal_d_MemberAndStatus = MemberAndStatus;\n  type collectionsV1Collection_universal_d_AddItemsRequest = AddItemsRequest;\n  type collectionsV1Collection_universal_d_AddItemsResponse = AddItemsResponse;\n  type collectionsV1Collection_universal_d_RemoveItemsRequest = RemoveItemsRequest;\n  type collectionsV1Collection_universal_d_RemoveItemsResponse = RemoveItemsResponse;\n  type collectionsV1Collection_universal_d_UpdateItemsRequest = UpdateItemsRequest;\n  type collectionsV1Collection_universal_d_UpdateItem = UpdateItem;\n  type collectionsV1Collection_universal_d_UpdateItemsResponse = UpdateItemsResponse;\n  type collectionsV1Collection_universal_d_JoinToCollectionRequest = JoinToCollectionRequest;\n  type collectionsV1Collection_universal_d_JoinToCollectionResponse = JoinToCollectionResponse;\n  type collectionsV1Collection_universal_d_RemoveMemberFromCollectionRequest = RemoveMemberFromCollectionRequest;\n  type collectionsV1Collection_universal_d_RemoveMemberFromCollectionResponse = RemoveMemberFromCollectionResponse;\n  type collectionsV1Collection_universal_d_LeaveCollectionRequest = LeaveCollectionRequest;\n  type collectionsV1Collection_universal_d_LeaveCollectionResponse = LeaveCollectionResponse;\n  type collectionsV1Collection_universal_d_ListCollectionItemsRequest = ListCollectionItemsRequest;\n  type collectionsV1Collection_universal_d_ListCollectionItemsResponse = ListCollectionItemsResponse;\n  type collectionsV1Collection_universal_d_CollectionItem = CollectionItem;\n  type collectionsV1Collection_universal_d_ListAllItemsBelongToCollectionRequest = ListAllItemsBelongToCollectionRequest;\n  type collectionsV1Collection_universal_d_ListAllItemsBelongToCollectionResponse = ListAllItemsBelongToCollectionResponse;\n  const collectionsV1Collection_universal_d_get: typeof get;\n  type collectionsV1Collection_universal_d_GetOptions = GetOptions;\n  const collectionsV1Collection_universal_d_listCollectionsForItem: typeof listCollectionsForItem;\n  type collectionsV1Collection_universal_d_ListCollectionsForItemOptions = ListCollectionsForItemOptions;\n  const collectionsV1Collection_universal_d_getCollectionItem: typeof getCollectionItem;\n  type collectionsV1Collection_universal_d_GetCollectionItemIdentifiers = GetCollectionItemIdentifiers;\n  const collectionsV1Collection_universal_d_list: typeof list;\n  type collectionsV1Collection_universal_d_ListOptions = ListOptions;\n  const collectionsV1Collection_universal_d_create: typeof create;\n  type collectionsV1Collection_universal_d_CreateOptions = CreateOptions;\n  const collectionsV1Collection_universal_d_partiallyUpdate: typeof partiallyUpdate;\n  type collectionsV1Collection_universal_d_PartiallyUpdateMediaCollection = PartiallyUpdateMediaCollection;\n  type collectionsV1Collection_universal_d_PartiallyUpdateOptions = PartiallyUpdateOptions;\n  const collectionsV1Collection_universal_d_updateLock: typeof updateLock;\n  type collectionsV1Collection_universal_d_UpdateLockOptions = UpdateLockOptions;\n  const collectionsV1Collection_universal_d__delete: typeof _delete;\n  const collectionsV1Collection_universal_d_listCollectionMembers: typeof listCollectionMembers;\n  type collectionsV1Collection_universal_d_ListCollectionMembersOptions = ListCollectionMembersOptions;\n  const collectionsV1Collection_universal_d_addItems: typeof addItems;\n  type collectionsV1Collection_universal_d_AddItemsOptions = AddItemsOptions;\n  const collectionsV1Collection_universal_d_removeItems: typeof removeItems;\n  type collectionsV1Collection_universal_d_RemoveItemsOptions = RemoveItemsOptions;\n  const collectionsV1Collection_universal_d_updateItems: typeof updateItems;\n  type collectionsV1Collection_universal_d_UpdateItemsOptions = UpdateItemsOptions;\n  const collectionsV1Collection_universal_d_joinToCollection: typeof joinToCollection;\n  const collectionsV1Collection_universal_d_removeMemberFromCollection: typeof removeMemberFromCollection;\n  type collectionsV1Collection_universal_d_RemoveMemberFromCollectionIdentifiers = RemoveMemberFromCollectionIdentifiers;\n  const collectionsV1Collection_universal_d_leaveCollection: typeof leaveCollection;\n  const collectionsV1Collection_universal_d_listCollectionItems: typeof listCollectionItems;\n  const collectionsV1Collection_universal_d_listAllItemsBelongToCollection: typeof listAllItemsBelongToCollection;\n  namespace collectionsV1Collection_universal_d {\n    export {\n      collectionsV1Collection_universal_d_MediaCollection as MediaCollection,\n      collectionsV1Collection_universal_d_CollectionMember as CollectionMember,\n      collectionsV1Collection_universal_d_MediaCollectionItem as MediaCollectionItem,\n      collectionsV1Collection_universal_d_MediaCollectionItemMetadataOneOf as MediaCollectionItemMetadataOneOf,\n      collectionsV1Collection_universal_d_Link as Link,\n      collectionsV1Collection_universal_d_Type as Type,\n      collectionsV1Collection_universal_d_WixLink as WixLink,\n      collectionsV1Collection_universal_d_WixLinkLinkOneOf as WixLinkLinkOneOf,\n      collectionsV1Collection_universal_d_ExternalLink as ExternalLink,\n      collectionsV1Collection_universal_d_PageLink as PageLink,\n      collectionsV1Collection_universal_d_LinkRel as LinkRel,\n      collectionsV1Collection_universal_d_AnchorLink as AnchorLink,\n      collectionsV1Collection_universal_d_DynamicPageLink as DynamicPageLink,\n      collectionsV1Collection_universal_d_DocumentLink as DocumentLink,\n      collectionsV1Collection_universal_d_EmailLink as EmailLink,\n      collectionsV1Collection_universal_d_PhoneLink as PhoneLink,\n      collectionsV1Collection_universal_d_AddressLink as AddressLink,\n      collectionsV1Collection_universal_d_WhatsAppLink as WhatsAppLink,\n      collectionsV1Collection_universal_d_TpaPageLink as TpaPageLink,\n      collectionsV1Collection_universal_d_DataType as DataType,\n      collectionsV1Collection_universal_d_PhotoMetadata as PhotoMetadata,\n      collectionsV1Collection_universal_d_Point as Point,\n      collectionsV1Collection_universal_d_UnsharpMasking as UnsharpMasking,\n      collectionsV1Collection_universal_d_VideoMetadata as VideoMetadata,\n      collectionsV1Collection_universal_d_Source as Source,\n      collectionsV1Collection_universal_d_Thumbnail as Thumbnail,\n      collectionsV1Collection_universal_d_Resolution as Resolution,\n      collectionsV1Collection_universal_d_TextMetadata as TextMetadata,\n      collectionsV1Collection_universal_d_MediaOwner as MediaOwner,\n      collectionsV1Collection_universal_d_PrivacySettings as PrivacySettings,\n      collectionsV1Collection_universal_d_PermanentSiteDeletedResponse as PermanentSiteDeletedResponse,\n      collectionsV1Collection_universal_d_Status as Status,\n      collectionsV1Collection_universal_d_Empty as Empty,\n      collectionsV1Collection_universal_d_DomainEvent as DomainEvent,\n      collectionsV1Collection_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      collectionsV1Collection_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      collectionsV1Collection_universal_d_RestoreInfo as RestoreInfo,\n      collectionsV1Collection_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      collectionsV1Collection_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      collectionsV1Collection_universal_d_ActionEvent as ActionEvent,\n      collectionsV1Collection_universal_d_MessageEnvelope as MessageEnvelope,\n      collectionsV1Collection_universal_d_IdentificationData as IdentificationData,\n      collectionsV1Collection_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      collectionsV1Collection_universal_d_WebhookIdentityType as WebhookIdentityType,\n      collectionsV1Collection_universal_d_CollectionEvent as CollectionEvent,\n      collectionsV1Collection_universal_d_CollectionEventEventTypeOneOf as CollectionEventEventTypeOneOf,\n      collectionsV1Collection_universal_d_CollectionItemId as CollectionItemId,\n      collectionsV1Collection_universal_d_CollectionCreated as CollectionCreated,\n      collectionsV1Collection_universal_d_ItemsAddedToCollection as ItemsAddedToCollection,\n      collectionsV1Collection_universal_d_ItemsRemovedFromCollection as ItemsRemovedFromCollection,\n      collectionsV1Collection_universal_d_MemberJoinedToCollection as MemberJoinedToCollection,\n      collectionsV1Collection_universal_d_MemberLeftCollection as MemberLeftCollection,\n      collectionsV1Collection_universal_d_GetMediaCollectionRequest as GetMediaCollectionRequest,\n      collectionsV1Collection_universal_d_GetMediaCollectionResponse as GetMediaCollectionResponse,\n      collectionsV1Collection_universal_d_MemberStatus as MemberStatus,\n      collectionsV1Collection_universal_d_ListCollectionsForItemRequest as ListCollectionsForItemRequest,\n      collectionsV1Collection_universal_d_ListCollectionsForItemResponse as ListCollectionsForItemResponse,\n      collectionsV1Collection_universal_d_ItemInCollection as ItemInCollection,\n      collectionsV1Collection_universal_d_GetCollectionItemRequest as GetCollectionItemRequest,\n      collectionsV1Collection_universal_d_GetCollectionItemResponse as GetCollectionItemResponse,\n      collectionsV1Collection_universal_d_ListMediaCollectionsRequest as ListMediaCollectionsRequest,\n      collectionsV1Collection_universal_d_FilterByRoles as FilterByRoles,\n      collectionsV1Collection_universal_d_ListMediaCollectionsResponse as ListMediaCollectionsResponse,\n      collectionsV1Collection_universal_d_CollectionAndStatus as CollectionAndStatus,\n      collectionsV1Collection_universal_d_CreateMediaCollectionRequest as CreateMediaCollectionRequest,\n      collectionsV1Collection_universal_d_AddItem as AddItem,\n      collectionsV1Collection_universal_d_CreateMediaCollectionResponse as CreateMediaCollectionResponse,\n      collectionsV1Collection_universal_d_PartiallyUpdateMediaCollectionRequest as PartiallyUpdateMediaCollectionRequest,\n      collectionsV1Collection_universal_d_PartiallyUpdateMediaCollectionResponse as PartiallyUpdateMediaCollectionResponse,\n      collectionsV1Collection_universal_d_UpdateCollectionLockRequest as UpdateCollectionLockRequest,\n      collectionsV1Collection_universal_d_UpdateCollectionLockResponse as UpdateCollectionLockResponse,\n      collectionsV1Collection_universal_d_DeleteMediaCollectionRequest as DeleteMediaCollectionRequest,\n      collectionsV1Collection_universal_d_DeleteMediaCollectionResponse as DeleteMediaCollectionResponse,\n      collectionsV1Collection_universal_d_ListCollectionMembersRequest as ListCollectionMembersRequest,\n      collectionsV1Collection_universal_d_FilterBy as FilterBy,\n      collectionsV1Collection_universal_d_ListCollectionMembersResponse as ListCollectionMembersResponse,\n      collectionsV1Collection_universal_d_MemberAndStatus as MemberAndStatus,\n      collectionsV1Collection_universal_d_AddItemsRequest as AddItemsRequest,\n      collectionsV1Collection_universal_d_AddItemsResponse as AddItemsResponse,\n      collectionsV1Collection_universal_d_RemoveItemsRequest as RemoveItemsRequest,\n      collectionsV1Collection_universal_d_RemoveItemsResponse as RemoveItemsResponse,\n      collectionsV1Collection_universal_d_UpdateItemsRequest as UpdateItemsRequest,\n      collectionsV1Collection_universal_d_UpdateItem as UpdateItem,\n      collectionsV1Collection_universal_d_UpdateItemsResponse as UpdateItemsResponse,\n      collectionsV1Collection_universal_d_JoinToCollectionRequest as JoinToCollectionRequest,\n      collectionsV1Collection_universal_d_JoinToCollectionResponse as JoinToCollectionResponse,\n      collectionsV1Collection_universal_d_RemoveMemberFromCollectionRequest as RemoveMemberFromCollectionRequest,\n      collectionsV1Collection_universal_d_RemoveMemberFromCollectionResponse as RemoveMemberFromCollectionResponse,\n      collectionsV1Collection_universal_d_LeaveCollectionRequest as LeaveCollectionRequest,\n      collectionsV1Collection_universal_d_LeaveCollectionResponse as LeaveCollectionResponse,\n      collectionsV1Collection_universal_d_ListCollectionItemsRequest as ListCollectionItemsRequest,\n      collectionsV1Collection_universal_d_ListCollectionItemsResponse as ListCollectionItemsResponse,\n      collectionsV1Collection_universal_d_CollectionItem as CollectionItem,\n      collectionsV1Collection_universal_d_ListAllItemsBelongToCollectionRequest as ListAllItemsBelongToCollectionRequest,\n      collectionsV1Collection_universal_d_ListAllItemsBelongToCollectionResponse as ListAllItemsBelongToCollectionResponse,\n      collectionsV1Collection_universal_d_get as get,\n      collectionsV1Collection_universal_d_GetOptions as GetOptions,\n      collectionsV1Collection_universal_d_listCollectionsForItem as listCollectionsForItem,\n      collectionsV1Collection_universal_d_ListCollectionsForItemOptions as ListCollectionsForItemOptions,\n      collectionsV1Collection_universal_d_getCollectionItem as getCollectionItem,\n      collectionsV1Collection_universal_d_GetCollectionItemIdentifiers as GetCollectionItemIdentifiers,\n      collectionsV1Collection_universal_d_list as list,\n      collectionsV1Collection_universal_d_ListOptions as ListOptions,\n      collectionsV1Collection_universal_d_create as create,\n      collectionsV1Collection_universal_d_CreateOptions as CreateOptions,\n      collectionsV1Collection_universal_d_partiallyUpdate as partiallyUpdate,\n      collectionsV1Collection_universal_d_PartiallyUpdateMediaCollection as PartiallyUpdateMediaCollection,\n      collectionsV1Collection_universal_d_PartiallyUpdateOptions as PartiallyUpdateOptions,\n      collectionsV1Collection_universal_d_updateLock as updateLock,\n      collectionsV1Collection_universal_d_UpdateLockOptions as UpdateLockOptions,\n      collectionsV1Collection_universal_d__delete as _delete,\n      collectionsV1Collection_universal_d_listCollectionMembers as listCollectionMembers,\n      collectionsV1Collection_universal_d_ListCollectionMembersOptions as ListCollectionMembersOptions,\n      collectionsV1Collection_universal_d_addItems as addItems,\n      collectionsV1Collection_universal_d_AddItemsOptions as AddItemsOptions,\n      collectionsV1Collection_universal_d_removeItems as removeItems,\n      collectionsV1Collection_universal_d_RemoveItemsOptions as RemoveItemsOptions,\n      collectionsV1Collection_universal_d_updateItems as updateItems,\n      collectionsV1Collection_universal_d_UpdateItemsOptions as UpdateItemsOptions,\n      collectionsV1Collection_universal_d_joinToCollection as joinToCollection,\n      collectionsV1Collection_universal_d_removeMemberFromCollection as removeMemberFromCollection,\n      collectionsV1Collection_universal_d_RemoveMemberFromCollectionIdentifiers as RemoveMemberFromCollectionIdentifiers,\n      collectionsV1Collection_universal_d_leaveCollection as leaveCollection,\n      collectionsV1Collection_universal_d_listCollectionItems as listCollectionItems,\n      collectionsV1Collection_universal_d_listAllItemsBelongToCollection as listAllItemsBelongToCollection,\n    };\n  }\n  \n  export { collectionsV1Collection_universal_d as mediaCollections };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-review-requests.v2.d.ts",
      "content": "declare module \"wix-review-requests.v2\" {\n  /** ReviewRequest is the main entity of ReviewRequests */\n  interface ReviewRequest extends ReviewRequestStatusOptionsOneOf {\n      /** Options for sent status */\n      sentOptions?: SentOptions;\n      /** Options for failed status */\n      failedOptions?: FailedOptions;\n      /**\n       * Review request ID.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n      /**\n       * Represents the time this review request was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Represents the time this review request was last updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Represents the time this review request to be sent. */\n      sendDate?: Date | null;\n      /** Namespace of app integrated with reviews. */\n      namespace?: string;\n      /** Details the order for which the review request is made. */\n      order?: Order;\n      /** List of items relevant to the review request. */\n      items?: Item[];\n      /** Recipient of review request. */\n      recipient?: Recipient;\n      /** Indicates notification channel of review request */\n      communicationChannel?: CommunicationChannel;\n      /**\n       * Indicates status of review request.\n       * @readonly\n       */\n      status?: ReviewRequestStatus;\n      /**\n       * The ID of the automation activation.\n       * It is used to track and update the status of the review request.\n       */\n      automationActivationId?: string | null;\n      /**\n       * Requester of the review request\n       * @readonly\n       */\n      requestedBy?: IdentificationData;\n      /**\n       * Wix data extensions\n       * @internal\n       */\n      extendedFields?: ExtendedFields;\n  }\n  /** @oneof */\n  interface ReviewRequestStatusOptionsOneOf {\n      /** Options for sent status */\n      sentOptions?: SentOptions;\n      /** Options for failed status */\n      failedOptions?: FailedOptions;\n  }\n  interface Order {\n      /** Order ID. */\n      _id?: string;\n      /**\n       * Order number.\n       * @readonly\n       */\n      number?: string | null;\n  }\n  /** Item to review */\n  interface Item {\n      /**\n       * ID of the item within its catalog, corresponding to:\n       * + `product.id` for [Stores](https://dev.wix.com/docs/rest/business-solutions/stores/about-wix-stores).\n       */\n      catalogItemId?: string;\n      /** ID of the review created for this item by the review request recipient. */\n      reviewId?: string | null;\n  }\n  /** Entity for which review request was created */\n  interface Recipient {\n      /** Contact id of recipient */\n      contactId?: string;\n  }\n  enum CommunicationChannel {\n      UNKNOWN_COMMUNICATION_CHANNEL = \"UNKNOWN_COMMUNICATION_CHANNEL\",\n      EMAIL = \"EMAIL\"\n  }\n  enum ReviewRequestStatus {\n      /** Indicates unknown status of review request. */\n      UNKNOWN_REVIEW_REQUEST_STATUS = \"UNKNOWN_REVIEW_REQUEST_STATUS\",\n      /** Indicates review request was scheduled. */\n      SCHEDULED = \"SCHEDULED\",\n      /** Indicates review request was canceled. */\n      CANCELED = \"CANCELED\",\n      /** Indicates review request failed. */\n      FAILED = \"FAILED\",\n      /** Indicates review request was sent. */\n      SENT = \"SENT\"\n  }\n  interface SentOptions {\n      /** Indicates if the review request was opened by the recipient. */\n      opened?: boolean;\n  }\n  interface FailedOptions {\n      /** Reason for review request failure. */\n      reason?: FailureReason;\n      /** Error message for review request failure. */\n      message?: string | null;\n  }\n  enum FailureReason {\n      /** Unknown reason for review request failure. */\n      UNKNOWN_FAILURE_REASON = \"UNKNOWN_FAILURE_REASON\",\n      /** Review request failed due to failure in activation flow. */\n      ACTIVATION_FAILED = \"ACTIVATION_FAILED\",\n      /** Email bounced when sent to a recipient. */\n      BOUNCED = \"BOUNCED\",\n      /** Review request failed due to inactive subscription. */\n      SUBSCRIPTION_INACTIVE = \"SUBSCRIPTION_INACTIVE\"\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /**\n       * ID of a site visitor that has not logged in to the site.\n       * @internal\n       */\n      anonymousVisitorId?: string;\n      /**\n       * ID of a site visitor that has logged in to the site.\n       * @internal\n       */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app.s */\n      appId?: string;\n      /**\n       * Identity type\n       * @readonly\n       */\n      identityType?: IdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /**\n       * ID of a site visitor that has not logged in to the site.\n       * @internal\n       */\n      anonymousVisitorId?: string;\n      /**\n       * ID of a site visitor that has logged in to the site.\n       * @internal\n       */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app.s */\n      appId?: string;\n  }\n  enum IdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface ExtendedFields {\n      /**\n       * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n       * The value of each key is structured according to the schema defined when the extended fields were configured.\n       *\n       * You can only access fields for which you have the appropriate permissions.\n       *\n       * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n       */\n      namespaces?: Record<string, Record<string, any>>;\n  }\n  interface CreateReviewRequestRequest {\n      /** ReviewRequest to be created */\n      reviewRequest: ReviewRequest;\n  }\n  interface CreateReviewRequestResponse {\n      /** The created ReviewRequest */\n      reviewRequest?: ReviewRequest;\n  }\n  interface GetReviewRequestRequest {\n      /** Id of the ReviewRequest to retrieve */\n      reviewRequestId: string;\n  }\n  interface GetReviewRequestResponse {\n      /** The retrieved ReviewRequest */\n      reviewRequest?: ReviewRequest;\n  }\n  interface DeleteReviewRequestRequest {\n      /** Id of the ReviewRequest to delete */\n      reviewRequestId: string;\n  }\n  interface DeleteReviewRequestResponse {\n  }\n  interface QueryReviewRequestsRequest {\n      /** WQL expression */\n      query: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object in the following format:\n       * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n       */\n      sort?: Sorting[];\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryReviewRequestsResponse {\n      /** The retrieved ReviewRequests */\n      reviewRequests?: ReviewRequest[];\n      /** Paging metadata */\n      pagingMetadata?: CursorPagingMetadata;\n  }\n  /** This is the preferred message for cursor-paging enabled services */\n  interface CursorPagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Cursor strings that point to the next page, previous page, or both. */\n      cursors?: Cursors;\n      /**\n       * Whether there are more pages to retrieve following the current page.\n       *\n       * + `true`: Another page of results can be retrieved.\n       * + `false`: This is the last page.\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface CountReviewRequestsByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n  }\n  interface CountReviewRequestsByFilterResponse {\n      /** Number of review requests that meet the specified criteria. */\n      count?: number;\n  }\n  interface BulkCancelReviewRequestsByFilterRequest {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n  }\n  interface BulkCancelReviewRequestsByFilterResponse {\n      /** Bulk job ID. The job's status can be retrieved with Get Bulk Job or List Bulk Jobs. */\n      jobId?: string;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: WebhooksIdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface WebhooksIdentificationData extends WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface WebhooksIdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a new review request.\n   *\n   * This method allows to create requests for customer reviews.\n   *\n   * Each request must include:\n   * - The recipient's contact ID.\n   * - The preferred communication channel.\n   * - Either the Order ID or item IDs being reviewed.\n   *\n   * Review requests depend on the [Wix eCommerce platform's](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction#about-the-wix-ecommerce-api)\n   * Order and Catalog. The corresponding order or catalog item must exist within Wix eCommerce before a review request can be created.\n   *\n   * When providing an Order ID, you can optionally specify individual items from that order to be included in the review request.\n   * If no items are specified, the 5 most expensive items from the order will be automatically populated in the request.\n   * Alternatively, you can choose to provide only item IDs from the catalog for review.\n   *\n   * The Review Requests functionality is exclusively available within the `stores` reviews namespace.\n   * @param reviewRequest - ReviewRequest to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reviewRequest\n   * @requiredField reviewRequest.communicationChannel\n   * @requiredField reviewRequest.recipient.contactId\n   * @permissionId REVIEWS.REVIEW_REQUEST_CREATE\n   * @adminMethod\n   * @returns The created ReviewRequest\n   */\n  function createReviewRequest(reviewRequest: ReviewRequest): Promise<ReviewRequest>;\n  /**\n   * Retrieves a specific review request by its ID.\n   * @param reviewRequestId - Id of the ReviewRequest to retrieve\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reviewRequestId\n   * @permissionId REVIEWS.REVIEW_REQUEST_READ\n   * @adminMethod\n   * @returns The retrieved ReviewRequest\n   */\n  function getReviewRequest(reviewRequestId: string): Promise<ReviewRequest>;\n  /**\n   * Deletes an existing review request.\n   *\n   * This method allows you to remove a specific review request from the system using its unique ID.\n   * This operation is only permitted for review requests that are in the `CANCELED` state.\n   * @param reviewRequestId - Id of the ReviewRequest to delete\n   * @public\n   * @documentationMaturity preview\n   * @requiredField reviewRequestId\n   * @permissionId REVIEWS.REVIEW_REQUEST_DELETE\n   * @adminMethod\n   */\n  function deleteReviewRequest(reviewRequestId: string): Promise<void>;\n  /**\n   * Queries Review Requests that meet specified criteria.\n   *\n   * This method enables the search through review requests based on specific criteria, leveraging the [Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REVIEWS.REVIEW_REQUEST_READ\n   * @adminMethod\n   */\n  function queryReviewRequests(): ReviewRequestsQueryBuilder;\n  interface QueryCursorResult {\n      cursors: Cursors;\n      hasNext: () => boolean;\n      hasPrev: () => boolean;\n      length: number;\n      pageSize: number;\n  }\n  interface ReviewRequestsQueryResult extends QueryCursorResult {\n      items: ReviewRequest[];\n      query: ReviewRequestsQueryBuilder;\n      next: () => Promise<ReviewRequestsQueryResult>;\n      prev: () => Promise<ReviewRequestsQueryResult>;\n  }\n  interface ReviewRequestsQueryBuilder {\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      eq: (propertyName: '_id' | '_createdDate' | 'sendDate' | 'namespace' | 'order.id' | 'items.catalogItemId' | 'items.reviewId' | 'recipient.contactId' | 'communicationChannel' | 'status' | 'automationActivationId' | 'requestedBy.wixUserId' | 'requestedBy.appId' | 'requestedBy.identityType', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ne: (propertyName: '_id' | '_createdDate' | 'sendDate' | 'namespace' | 'order.id' | 'items.catalogItemId' | 'items.reviewId' | 'recipient.contactId' | 'communicationChannel' | 'status' | 'automationActivationId' | 'requestedBy.wixUserId' | 'requestedBy.appId' | 'requestedBy.identityType', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      ge: (propertyName: '_createdDate' | 'sendDate', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      gt: (propertyName: '_createdDate' | 'sendDate', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      le: (propertyName: '_createdDate' | 'sendDate', value: any) => ReviewRequestsQueryBuilder;\n      /** @param propertyName - Property whose value is compared with `value`.\n       * @param value - Value to compare against.\n       * @documentationMaturity preview\n       */\n      lt: (propertyName: '_createdDate' | 'sendDate', value: any) => ReviewRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      in: (propertyName: '_id' | '_createdDate' | 'sendDate' | 'namespace' | 'order.id' | 'items.catalogItemId' | 'items.reviewId' | 'recipient.contactId' | 'communicationChannel' | 'status' | 'automationActivationId' | 'requestedBy.wixUserId' | 'requestedBy.appId' | 'requestedBy.identityType', value: any) => ReviewRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      exists: (propertyName: 'order.id' | 'items.reviewId' | 'automationActivationId', value: boolean) => ReviewRequestsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      ascending: (...propertyNames: Array<'_createdDate' | 'sendDate' | 'status'>) => ReviewRequestsQueryBuilder;\n      /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n       * @documentationMaturity preview\n       */\n      descending: (...propertyNames: Array<'_createdDate' | 'sendDate' | 'status'>) => ReviewRequestsQueryBuilder;\n      /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n       * @documentationMaturity preview\n       */\n      limit: (limit: number) => ReviewRequestsQueryBuilder;\n      /** @param cursor - A pointer to specific record\n       * @documentationMaturity preview\n       */\n      skipTo: (cursor: string) => ReviewRequestsQueryBuilder;\n      /** @documentationMaturity preview */\n      find: () => Promise<ReviewRequestsQueryResult>;\n  }\n  /**\n   * Counts Review Requests that meet specified criteria.\n   *\n   * This method enables the count review requests based on specific criteria, leveraging the [Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) filter.\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REVIEWS.REVIEW_REQUEST_READ\n   * @adminMethod\n   */\n  function countReviewRequestsByFilter(options?: CountReviewRequestsByFilterOptions): Promise<CountReviewRequestsByFilterResponse>;\n  interface CountReviewRequestsByFilterOptions {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n  }\n  /**\n   * Cancels multiple review requests that meet specified criteria.\n   *\n   * All scheduled review requests with automation activation id that meet the specified `filter` criteria are canceled.\n   * To perform a dry run, use the intended filter options with\n   * [Query Review Requests](https://dev.wix.com/docs/rest/crm/community/reviews/review-request/query-review-requests).\n   *\n   * When this endpoint is used, a bulk job is started and the job ID is returned.\n   * The job might not complete right away, depending on its size.\n   * The job's status can be retrieved with\n   * [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/get-async-job) or\n   * [List Async Job Items](https://dev.wix.com/docs/rest/business-management/async-job/list-async-job-items).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId REVIEWS.REVIEW_REQUEST_CANCEL\n   * @adminMethod\n   */\n  function bulkCancelReviewRequestsByFilter(options?: BulkCancelReviewRequestsByFilterOptions): Promise<BulkCancelReviewRequestsByFilterResponse>;\n  interface BulkCancelReviewRequestsByFilterOptions {\n      /**\n       * Filter object in the following format:\n       * `\"filter\" : {\n       * \"fieldName1\": \"value1\",\n       * \"fieldName2\":{\"$operator\":\"value2\"}\n       * }`\n       * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n       */\n      filter?: Record<string, any> | null;\n  }\n  \n  type reviewsV2ReviewRequest_universal_d_ReviewRequest = ReviewRequest;\n  type reviewsV2ReviewRequest_universal_d_ReviewRequestStatusOptionsOneOf = ReviewRequestStatusOptionsOneOf;\n  type reviewsV2ReviewRequest_universal_d_Order = Order;\n  type reviewsV2ReviewRequest_universal_d_Item = Item;\n  type reviewsV2ReviewRequest_universal_d_Recipient = Recipient;\n  type reviewsV2ReviewRequest_universal_d_CommunicationChannel = CommunicationChannel;\n  const reviewsV2ReviewRequest_universal_d_CommunicationChannel: typeof CommunicationChannel;\n  type reviewsV2ReviewRequest_universal_d_ReviewRequestStatus = ReviewRequestStatus;\n  const reviewsV2ReviewRequest_universal_d_ReviewRequestStatus: typeof ReviewRequestStatus;\n  type reviewsV2ReviewRequest_universal_d_SentOptions = SentOptions;\n  type reviewsV2ReviewRequest_universal_d_FailedOptions = FailedOptions;\n  type reviewsV2ReviewRequest_universal_d_FailureReason = FailureReason;\n  const reviewsV2ReviewRequest_universal_d_FailureReason: typeof FailureReason;\n  type reviewsV2ReviewRequest_universal_d_IdentificationData = IdentificationData;\n  type reviewsV2ReviewRequest_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type reviewsV2ReviewRequest_universal_d_IdentityType = IdentityType;\n  const reviewsV2ReviewRequest_universal_d_IdentityType: typeof IdentityType;\n  type reviewsV2ReviewRequest_universal_d_ExtendedFields = ExtendedFields;\n  type reviewsV2ReviewRequest_universal_d_CreateReviewRequestRequest = CreateReviewRequestRequest;\n  type reviewsV2ReviewRequest_universal_d_CreateReviewRequestResponse = CreateReviewRequestResponse;\n  type reviewsV2ReviewRequest_universal_d_GetReviewRequestRequest = GetReviewRequestRequest;\n  type reviewsV2ReviewRequest_universal_d_GetReviewRequestResponse = GetReviewRequestResponse;\n  type reviewsV2ReviewRequest_universal_d_DeleteReviewRequestRequest = DeleteReviewRequestRequest;\n  type reviewsV2ReviewRequest_universal_d_DeleteReviewRequestResponse = DeleteReviewRequestResponse;\n  type reviewsV2ReviewRequest_universal_d_QueryReviewRequestsRequest = QueryReviewRequestsRequest;\n  type reviewsV2ReviewRequest_universal_d_CursorQuery = CursorQuery;\n  type reviewsV2ReviewRequest_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type reviewsV2ReviewRequest_universal_d_Sorting = Sorting;\n  type reviewsV2ReviewRequest_universal_d_SortOrder = SortOrder;\n  const reviewsV2ReviewRequest_universal_d_SortOrder: typeof SortOrder;\n  type reviewsV2ReviewRequest_universal_d_CursorPaging = CursorPaging;\n  type reviewsV2ReviewRequest_universal_d_QueryReviewRequestsResponse = QueryReviewRequestsResponse;\n  type reviewsV2ReviewRequest_universal_d_CursorPagingMetadata = CursorPagingMetadata;\n  type reviewsV2ReviewRequest_universal_d_Cursors = Cursors;\n  type reviewsV2ReviewRequest_universal_d_CountReviewRequestsByFilterRequest = CountReviewRequestsByFilterRequest;\n  type reviewsV2ReviewRequest_universal_d_CountReviewRequestsByFilterResponse = CountReviewRequestsByFilterResponse;\n  type reviewsV2ReviewRequest_universal_d_BulkCancelReviewRequestsByFilterRequest = BulkCancelReviewRequestsByFilterRequest;\n  type reviewsV2ReviewRequest_universal_d_BulkCancelReviewRequestsByFilterResponse = BulkCancelReviewRequestsByFilterResponse;\n  type reviewsV2ReviewRequest_universal_d_DomainEvent = DomainEvent;\n  type reviewsV2ReviewRequest_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type reviewsV2ReviewRequest_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type reviewsV2ReviewRequest_universal_d_RestoreInfo = RestoreInfo;\n  type reviewsV2ReviewRequest_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type reviewsV2ReviewRequest_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type reviewsV2ReviewRequest_universal_d_ActionEvent = ActionEvent;\n  type reviewsV2ReviewRequest_universal_d_MessageEnvelope = MessageEnvelope;\n  type reviewsV2ReviewRequest_universal_d_WebhooksIdentificationData = WebhooksIdentificationData;\n  type reviewsV2ReviewRequest_universal_d_WebhooksIdentificationDataIdOneOf = WebhooksIdentificationDataIdOneOf;\n  type reviewsV2ReviewRequest_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const reviewsV2ReviewRequest_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const reviewsV2ReviewRequest_universal_d_createReviewRequest: typeof createReviewRequest;\n  const reviewsV2ReviewRequest_universal_d_getReviewRequest: typeof getReviewRequest;\n  const reviewsV2ReviewRequest_universal_d_deleteReviewRequest: typeof deleteReviewRequest;\n  const reviewsV2ReviewRequest_universal_d_queryReviewRequests: typeof queryReviewRequests;\n  type reviewsV2ReviewRequest_universal_d_ReviewRequestsQueryResult = ReviewRequestsQueryResult;\n  type reviewsV2ReviewRequest_universal_d_ReviewRequestsQueryBuilder = ReviewRequestsQueryBuilder;\n  const reviewsV2ReviewRequest_universal_d_countReviewRequestsByFilter: typeof countReviewRequestsByFilter;\n  type reviewsV2ReviewRequest_universal_d_CountReviewRequestsByFilterOptions = CountReviewRequestsByFilterOptions;\n  const reviewsV2ReviewRequest_universal_d_bulkCancelReviewRequestsByFilter: typeof bulkCancelReviewRequestsByFilter;\n  type reviewsV2ReviewRequest_universal_d_BulkCancelReviewRequestsByFilterOptions = BulkCancelReviewRequestsByFilterOptions;\n  namespace reviewsV2ReviewRequest_universal_d {\n    export {\n      reviewsV2ReviewRequest_universal_d_ReviewRequest as ReviewRequest,\n      reviewsV2ReviewRequest_universal_d_ReviewRequestStatusOptionsOneOf as ReviewRequestStatusOptionsOneOf,\n      reviewsV2ReviewRequest_universal_d_Order as Order,\n      reviewsV2ReviewRequest_universal_d_Item as Item,\n      reviewsV2ReviewRequest_universal_d_Recipient as Recipient,\n      reviewsV2ReviewRequest_universal_d_CommunicationChannel as CommunicationChannel,\n      reviewsV2ReviewRequest_universal_d_ReviewRequestStatus as ReviewRequestStatus,\n      reviewsV2ReviewRequest_universal_d_SentOptions as SentOptions,\n      reviewsV2ReviewRequest_universal_d_FailedOptions as FailedOptions,\n      reviewsV2ReviewRequest_universal_d_FailureReason as FailureReason,\n      reviewsV2ReviewRequest_universal_d_IdentificationData as IdentificationData,\n      reviewsV2ReviewRequest_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      reviewsV2ReviewRequest_universal_d_IdentityType as IdentityType,\n      reviewsV2ReviewRequest_universal_d_ExtendedFields as ExtendedFields,\n      reviewsV2ReviewRequest_universal_d_CreateReviewRequestRequest as CreateReviewRequestRequest,\n      reviewsV2ReviewRequest_universal_d_CreateReviewRequestResponse as CreateReviewRequestResponse,\n      reviewsV2ReviewRequest_universal_d_GetReviewRequestRequest as GetReviewRequestRequest,\n      reviewsV2ReviewRequest_universal_d_GetReviewRequestResponse as GetReviewRequestResponse,\n      reviewsV2ReviewRequest_universal_d_DeleteReviewRequestRequest as DeleteReviewRequestRequest,\n      reviewsV2ReviewRequest_universal_d_DeleteReviewRequestResponse as DeleteReviewRequestResponse,\n      reviewsV2ReviewRequest_universal_d_QueryReviewRequestsRequest as QueryReviewRequestsRequest,\n      reviewsV2ReviewRequest_universal_d_CursorQuery as CursorQuery,\n      reviewsV2ReviewRequest_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      reviewsV2ReviewRequest_universal_d_Sorting as Sorting,\n      reviewsV2ReviewRequest_universal_d_SortOrder as SortOrder,\n      reviewsV2ReviewRequest_universal_d_CursorPaging as CursorPaging,\n      reviewsV2ReviewRequest_universal_d_QueryReviewRequestsResponse as QueryReviewRequestsResponse,\n      reviewsV2ReviewRequest_universal_d_CursorPagingMetadata as CursorPagingMetadata,\n      reviewsV2ReviewRequest_universal_d_Cursors as Cursors,\n      reviewsV2ReviewRequest_universal_d_CountReviewRequestsByFilterRequest as CountReviewRequestsByFilterRequest,\n      reviewsV2ReviewRequest_universal_d_CountReviewRequestsByFilterResponse as CountReviewRequestsByFilterResponse,\n      reviewsV2ReviewRequest_universal_d_BulkCancelReviewRequestsByFilterRequest as BulkCancelReviewRequestsByFilterRequest,\n      reviewsV2ReviewRequest_universal_d_BulkCancelReviewRequestsByFilterResponse as BulkCancelReviewRequestsByFilterResponse,\n      reviewsV2ReviewRequest_universal_d_DomainEvent as DomainEvent,\n      reviewsV2ReviewRequest_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      reviewsV2ReviewRequest_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      reviewsV2ReviewRequest_universal_d_RestoreInfo as RestoreInfo,\n      reviewsV2ReviewRequest_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      reviewsV2ReviewRequest_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      reviewsV2ReviewRequest_universal_d_ActionEvent as ActionEvent,\n      reviewsV2ReviewRequest_universal_d_MessageEnvelope as MessageEnvelope,\n      reviewsV2ReviewRequest_universal_d_WebhooksIdentificationData as WebhooksIdentificationData,\n      reviewsV2ReviewRequest_universal_d_WebhooksIdentificationDataIdOneOf as WebhooksIdentificationDataIdOneOf,\n      reviewsV2ReviewRequest_universal_d_WebhookIdentityType as WebhookIdentityType,\n      reviewsV2ReviewRequest_universal_d_createReviewRequest as createReviewRequest,\n      reviewsV2ReviewRequest_universal_d_getReviewRequest as getReviewRequest,\n      reviewsV2ReviewRequest_universal_d_deleteReviewRequest as deleteReviewRequest,\n      reviewsV2ReviewRequest_universal_d_queryReviewRequests as queryReviewRequests,\n      reviewsV2ReviewRequest_universal_d_ReviewRequestsQueryResult as ReviewRequestsQueryResult,\n      reviewsV2ReviewRequest_universal_d_ReviewRequestsQueryBuilder as ReviewRequestsQueryBuilder,\n      reviewsV2ReviewRequest_universal_d_countReviewRequestsByFilter as countReviewRequestsByFilter,\n      reviewsV2ReviewRequest_universal_d_CountReviewRequestsByFilterOptions as CountReviewRequestsByFilterOptions,\n      reviewsV2ReviewRequest_universal_d_bulkCancelReviewRequestsByFilter as bulkCancelReviewRequestsByFilter,\n      reviewsV2ReviewRequest_universal_d_BulkCancelReviewRequestsByFilterOptions as BulkCancelReviewRequestsByFilterOptions,\n    };\n  }\n  \n  export { reviewsV2ReviewRequest_universal_d as reviews };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-b2btransfer.d.ts",
      "content": "declare module \"wix-b2btransfer\" {\n  /** The B2B Site Transfer object contains information about a site transfer. */\n  interface SiteTransfer {\n      /**\n       * ID of the site. See the\n       * [Sites API](https://dev.wix.com/api/rest/account-level-apis/sites/query-sites)\n       * for more details.\n       */\n      siteId?: string;\n      /**\n       * ID of the source account.\n       * Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for more\n       * information about supported source accounts.\n       */\n      sourceAccountId?: string;\n      /**\n       * Whether the site owner receives an email notification from Wix about the\n       * successful site transfer. Site owners don't receive email notifications\n       * about failed transfers. Default: `false`.\n       */\n      enableNotifications?: boolean;\n  }\n  interface TransferSiteRequest {\n      /** Information about the site transfer. */\n      siteTransfer: SiteTransfer;\n  }\n  interface TransferSiteResponse {\n      /** Information about the site transfer. */\n      siteTransfer?: SiteTransfer;\n  }\n  /**\n   * Transfers a Wix site from the source account to the target account.\n   *\n   * > **Note:** You must pass the ID of the target account in the header of the call.\n   *\n   *  Only strategic partners of Wix services can transfer sites. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) to learn how to become a strategic partner.\n   *\n   *  Not all Wix accounts are supported as source accounts and you can transfer a site only to your main account or one of its sub-accounts. It isn’t possible to transfer a site to an unrelated account. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for more information.\n   *\n   *  Only sites that don’t include paid Wix services can be transferred. After transferring the site, you can use the [Resellers API](https://dev.wix.com/docs/sdk/account-level-modules/resellers/introduction) to offer paid Wix services to your customers.\n   *\n   * >  **Important:** This call requires an account level API key and cannot be authenticated with the standard authorization header.\n   * @param siteTransfer - Information about the site transfer.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField siteTransfer\n   * @permissionId PREMIUM.BUSINESS_SITE_TRANSFER\n   * @adminMethod\n   */\n  function transferSite(siteTransfer: SiteTransfer): Promise<TransferSiteResponse>;\n  \n  type premiumBusinessV1BusinessSiteTransfer_universal_d_SiteTransfer = SiteTransfer;\n  type premiumBusinessV1BusinessSiteTransfer_universal_d_TransferSiteRequest = TransferSiteRequest;\n  type premiumBusinessV1BusinessSiteTransfer_universal_d_TransferSiteResponse = TransferSiteResponse;\n  const premiumBusinessV1BusinessSiteTransfer_universal_d_transferSite: typeof transferSite;\n  namespace premiumBusinessV1BusinessSiteTransfer_universal_d {\n    export {\n      premiumBusinessV1BusinessSiteTransfer_universal_d_SiteTransfer as SiteTransfer,\n      premiumBusinessV1BusinessSiteTransfer_universal_d_TransferSiteRequest as TransferSiteRequest,\n      premiumBusinessV1BusinessSiteTransfer_universal_d_TransferSiteResponse as TransferSiteResponse,\n      premiumBusinessV1BusinessSiteTransfer_universal_d_transferSite as transferSite,\n    };\n  }\n  \n  export { premiumBusinessV1BusinessSiteTransfer_universal_d as b2BTransfer };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-instagram-media.v1.d.ts",
      "content": "declare module \"wix-instagram-media.v1\" {\n  interface Media {\n      /** @readonly */\n      _id?: string;\n      /** The id of the media */\n      mediaId?: string;\n      /** 2200 is the max length of a caption in Instagram */\n      caption?: string;\n      /** The type of the media can be one of [Unknown, Image, Video, CarouselAlbum] */\n      mediaType?: MediaType;\n      /** Base media url */\n      mediaUrl?: string | null;\n      /** Permalink to post */\n      permalink?: string | null;\n      /** Thumbnail url */\n      thumbnailUrl?: string | null;\n      /** Timestamp of the media */\n      timestamp?: Date | null;\n      /** Children for CarouselAlbum */\n      children?: Children[];\n  }\n  enum MediaType {\n      UNKNOWN = \"UNKNOWN\",\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      CAROUSEL_ALBUM = \"CAROUSEL_ALBUM\"\n  }\n  interface Children {\n      /** The id of the media */\n      mediaId?: string;\n      /** The type of the child media can be one of [Unknown, Image, Video] */\n      mediaType?: MediaType;\n      /** Base media url */\n      mediaUrl?: string | null;\n      /** Permalink to post */\n      permalink?: string | null;\n      /** Thumbnail url */\n      thumbnailUrl?: string | null;\n  }\n  interface InvalidateCache extends InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n      /** tell us why you're invalidating the cache. You don't need to add your app name */\n      reason?: string | null;\n      /** Is local DS */\n      localDc?: boolean;\n      hardPurge?: boolean;\n  }\n  /** @oneof */\n  interface InvalidateCacheGetByOneOf {\n      /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */\n      metaSiteId?: string;\n      /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */\n      siteId?: string;\n      /** Invalidate by App */\n      app?: App;\n      /** Invalidate by page id */\n      page?: Page;\n      /** Invalidate by URI path */\n      uri?: URI;\n      /** Invalidate by file (for media files such as PDFs) */\n      file?: File;\n  }\n  interface App {\n      /** The AppDefId */\n      appDefId?: string;\n      /** The instance Id */\n      instanceId?: string;\n  }\n  interface Page {\n      /** the msid the page is on */\n      metaSiteId?: string;\n      /** Invalidate by Page ID */\n      pageId?: string;\n  }\n  interface URI {\n      /** the msid the URI is on */\n      metaSiteId?: string;\n      /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */\n      uriPath?: string;\n  }\n  interface File {\n      /** the msid the file is related to */\n      metaSiteId?: string;\n      /** Invalidate by filename (for media files such as PDFs) */\n      fileName?: string;\n  }\n  interface ETagVerificationEvent {\n      /**\n       * connection id\n       * @readonly\n       */\n      connectionId?: string;\n      /** cursor query */\n      cursorQuery?: CursorQuery;\n  }\n  interface CursorQuery extends CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  /** @oneof */\n  interface CursorQueryPagingMethodOneOf {\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface CursorPaging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * You can get the relevant cursor token\n       * from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface ListInstagramAccountMediaRequest {\n      /**\n       * connection id\n       * @readonly\n       */\n      connectionId: string;\n      /** paging */\n      paging?: CursorQuery;\n  }\n  interface ListInstagramAccountMediaResponse {\n      /** instagram media */\n      media?: Media[];\n      /** paging metadata */\n      paging?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor pointing to next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface Empty {\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Get media from instagram account.\n   *\n   * Returns list of instagram media including all albums content.\n   * @param connectionId - connection id\n   * @public\n   * @documentationMaturity preview\n   * @requiredField connectionId\n   * @permissionId INSTAGRAM_ACCOUNTS.GET_MEDIA\n   * @adminMethod\n   */\n  function listInstagramAccountMedia(connectionId: string, options?: ListInstagramAccountMediaOptions): Promise<ListInstagramAccountMediaResponse>;\n  interface ListInstagramAccountMediaOptions {\n      /** paging */\n      paging?: CursorQuery;\n  }\n  \n  type instagramFeedV1InstagramMedia_universal_d_Media = Media;\n  type instagramFeedV1InstagramMedia_universal_d_MediaType = MediaType;\n  const instagramFeedV1InstagramMedia_universal_d_MediaType: typeof MediaType;\n  type instagramFeedV1InstagramMedia_universal_d_Children = Children;\n  type instagramFeedV1InstagramMedia_universal_d_InvalidateCache = InvalidateCache;\n  type instagramFeedV1InstagramMedia_universal_d_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;\n  type instagramFeedV1InstagramMedia_universal_d_App = App;\n  type instagramFeedV1InstagramMedia_universal_d_Page = Page;\n  type instagramFeedV1InstagramMedia_universal_d_URI = URI;\n  type instagramFeedV1InstagramMedia_universal_d_File = File;\n  type instagramFeedV1InstagramMedia_universal_d_ETagVerificationEvent = ETagVerificationEvent;\n  type instagramFeedV1InstagramMedia_universal_d_CursorQuery = CursorQuery;\n  type instagramFeedV1InstagramMedia_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;\n  type instagramFeedV1InstagramMedia_universal_d_CursorPaging = CursorPaging;\n  type instagramFeedV1InstagramMedia_universal_d_ListInstagramAccountMediaRequest = ListInstagramAccountMediaRequest;\n  type instagramFeedV1InstagramMedia_universal_d_ListInstagramAccountMediaResponse = ListInstagramAccountMediaResponse;\n  type instagramFeedV1InstagramMedia_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type instagramFeedV1InstagramMedia_universal_d_Cursors = Cursors;\n  type instagramFeedV1InstagramMedia_universal_d_DomainEvent = DomainEvent;\n  type instagramFeedV1InstagramMedia_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type instagramFeedV1InstagramMedia_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type instagramFeedV1InstagramMedia_universal_d_RestoreInfo = RestoreInfo;\n  type instagramFeedV1InstagramMedia_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type instagramFeedV1InstagramMedia_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type instagramFeedV1InstagramMedia_universal_d_ActionEvent = ActionEvent;\n  type instagramFeedV1InstagramMedia_universal_d_Empty = Empty;\n  type instagramFeedV1InstagramMedia_universal_d_MessageEnvelope = MessageEnvelope;\n  type instagramFeedV1InstagramMedia_universal_d_IdentificationData = IdentificationData;\n  type instagramFeedV1InstagramMedia_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type instagramFeedV1InstagramMedia_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const instagramFeedV1InstagramMedia_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const instagramFeedV1InstagramMedia_universal_d_listInstagramAccountMedia: typeof listInstagramAccountMedia;\n  type instagramFeedV1InstagramMedia_universal_d_ListInstagramAccountMediaOptions = ListInstagramAccountMediaOptions;\n  namespace instagramFeedV1InstagramMedia_universal_d {\n    export {\n      instagramFeedV1InstagramMedia_universal_d_Media as Media,\n      instagramFeedV1InstagramMedia_universal_d_MediaType as MediaType,\n      instagramFeedV1InstagramMedia_universal_d_Children as Children,\n      instagramFeedV1InstagramMedia_universal_d_InvalidateCache as InvalidateCache,\n      instagramFeedV1InstagramMedia_universal_d_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf,\n      instagramFeedV1InstagramMedia_universal_d_App as App,\n      instagramFeedV1InstagramMedia_universal_d_Page as Page,\n      instagramFeedV1InstagramMedia_universal_d_URI as URI,\n      instagramFeedV1InstagramMedia_universal_d_File as File,\n      instagramFeedV1InstagramMedia_universal_d_ETagVerificationEvent as ETagVerificationEvent,\n      instagramFeedV1InstagramMedia_universal_d_CursorQuery as CursorQuery,\n      instagramFeedV1InstagramMedia_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,\n      instagramFeedV1InstagramMedia_universal_d_CursorPaging as CursorPaging,\n      instagramFeedV1InstagramMedia_universal_d_ListInstagramAccountMediaRequest as ListInstagramAccountMediaRequest,\n      instagramFeedV1InstagramMedia_universal_d_ListInstagramAccountMediaResponse as ListInstagramAccountMediaResponse,\n      instagramFeedV1InstagramMedia_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      instagramFeedV1InstagramMedia_universal_d_Cursors as Cursors,\n      instagramFeedV1InstagramMedia_universal_d_DomainEvent as DomainEvent,\n      instagramFeedV1InstagramMedia_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      instagramFeedV1InstagramMedia_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      instagramFeedV1InstagramMedia_universal_d_RestoreInfo as RestoreInfo,\n      instagramFeedV1InstagramMedia_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      instagramFeedV1InstagramMedia_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      instagramFeedV1InstagramMedia_universal_d_ActionEvent as ActionEvent,\n      instagramFeedV1InstagramMedia_universal_d_Empty as Empty,\n      instagramFeedV1InstagramMedia_universal_d_MessageEnvelope as MessageEnvelope,\n      instagramFeedV1InstagramMedia_universal_d_IdentificationData as IdentificationData,\n      instagramFeedV1InstagramMedia_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      instagramFeedV1InstagramMedia_universal_d_WebhookIdentityType as WebhookIdentityType,\n      instagramFeedV1InstagramMedia_universal_d_listInstagramAccountMedia as listInstagramAccountMedia,\n      instagramFeedV1InstagramMedia_universal_d_ListInstagramAccountMediaOptions as ListInstagramAccountMediaOptions,\n    };\n  }\n  \n  export { instagramFeedV1InstagramMedia_universal_d as media };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-action-log.v1.d.ts",
      "content": "declare module \"wix-automations-activation-action-log.v1\" {\n  interface ActivationActionLog {\n      /** Action ID */\n      _id?: string;\n      /** Activation ID */\n      activationId?: string;\n      /** Action type */\n      type?: Type;\n      /** Action activation status */\n      activationStatus?: Status;\n      /** Started status information */\n      startedInfo?: StartedStatusInfo;\n      /** Ended status information */\n      endedInfo?: EndedStatusInfo;\n      /** Skipped status information */\n      skippedInfo?: SkippedStatusInfo;\n      /** Failed status information */\n      failedInfo?: FailedStatusInfo;\n  }\n  interface StartedStatusInfoAppDefinedActionInfo {\n      /** Action input */\n      input?: Record<string, any> | null;\n  }\n  interface DelayActionInfo {\n      /** Indicates when this action becomes completed and the activation will move to the post actions */\n      date?: Date | null;\n  }\n  interface ExpressionEvaluationResult {\n      /** Indicates if the expression was evaluated to true or false */\n      passed?: boolean;\n      /** Indicates if there was an error in the evaluation process */\n      error?: boolean;\n  }\n  interface AppDefinedActionInfo {\n      /** The output that the action implementer returned */\n      output?: Record<string, any> | null;\n  }\n  interface ConditionActionInfo {\n      /** Indicates that the condition `if` clause evaluated to `true` */\n      passed?: boolean;\n      /** Collects results per each expression evaluation that took place */\n      expressionResults?: Record<string, ExpressionEvaluationResult>;\n  }\n  interface RateLimitActionInfo {\n      /** Indicates if the rate limiter passed (not reached the quota) */\n      passed?: boolean;\n  }\n  interface EndedStatusInfoDelayActionInfo {\n      /** Enriched and refreshed payload */\n      payload?: Record<string, any> | null;\n  }\n  enum Type {\n      /** Automation will be triggered according to the trigger configuration. */\n      UNKNOWN_ACTION_TYPE = \"UNKNOWN_ACTION_TYPE\",\n      /** App defined Action. */\n      APP_DEFINED = \"APP_DEFINED\",\n      /** Condition Action. */\n      CONDITION = \"CONDITION\",\n      /** Delay Action. */\n      DELAY = \"DELAY\",\n      /** RateLimit Action. */\n      RATE_LIMIT = \"RATE_LIMIT\",\n      /** Set Variables Action. */\n      SET_VARIABLES = \"SET_VARIABLES\",\n      /** Output Action. */\n      OUTPUT = \"OUTPUT\"\n  }\n  enum Status {\n      UNKNOWN_ACTION_ACTIVATION_STATUS = \"UNKNOWN_ACTION_ACTIVATION_STATUS\",\n      /**\n       * Indicating that action activation has been started and it's in progress\n       * Relevant to action types: APP_DEFINED, DELAY\n       */\n      STARTED = \"STARTED\",\n      /**\n       * Indicating that the action activation is completed without errors\n       * Relevant to action types: APP_DEFINED, DELAY, CONDITION, RATE_LIMIT\n       */\n      ENDED = \"ENDED\",\n      /**\n       * Indicating that the action is skipped and post actions will not start\n       * Relevant to action types: APP_DEFINED\n       */\n      SKIPPED = \"SKIPPED\",\n      /**\n       * Indicating that the action failed\n       * Relevant to action types: APP_DEFINED, DELAY, RATE_LIMIT\n       */\n      FAILED = \"FAILED\"\n  }\n  interface StartedStatusInfo extends StartedStatusInfoTypeInfoOneOf {\n      /** APP DEFINED action additional info */\n      appDefinedActionInfo?: StartedStatusInfoAppDefinedActionInfo;\n      /** Delay action additional info */\n      delayActionInfo?: DelayActionInfo;\n      /** Created date */\n      statusChangedDate?: Date | null;\n  }\n  /** @oneof */\n  interface StartedStatusInfoTypeInfoOneOf {\n      /** APP DEFINED action additional info */\n      appDefinedActionInfo?: StartedStatusInfoAppDefinedActionInfo;\n      /** Delay action additional info */\n      delayActionInfo?: DelayActionInfo;\n  }\n  interface EndedStatusInfo extends EndedStatusInfoTypeInfoOneOf {\n      /** APP DEFINED action additional info */\n      appDefinedActionInfo?: AppDefinedActionInfo;\n      /** Condition action additional info */\n      conditionActionInfo?: ConditionActionInfo;\n      /** Rate limit action additional info */\n      rateLimitActionInfo?: RateLimitActionInfo;\n      /** Delay action additional info */\n      delayActionInfo?: EndedStatusInfoDelayActionInfo;\n      /** Created date */\n      statusChangedDate?: Date | null;\n  }\n  /** @oneof */\n  interface EndedStatusInfoTypeInfoOneOf {\n      /** APP DEFINED action additional info */\n      appDefinedActionInfo?: AppDefinedActionInfo;\n      /** Condition action additional info */\n      conditionActionInfo?: ConditionActionInfo;\n      /** Rate limit action additional info */\n      rateLimitActionInfo?: RateLimitActionInfo;\n      /** Delay action additional info */\n      delayActionInfo?: EndedStatusInfoDelayActionInfo;\n  }\n  interface SkippedStatusInfo {\n      /** Created date */\n      statusChangedDate?: Date | null;\n  }\n  interface FailedStatusInfo {\n      /** Created date */\n      statusChangedDate?: Date | null;\n      /** Error description */\n      errorDescription?: string;\n      /** Error code */\n      errorCode?: string | null;\n  }\n  interface ListActivationActionLogsRequest {\n      /** Activation ID */\n      activationId?: string;\n  }\n  interface ListActivationActionLogsResponse {\n      /** List of activation action logs */\n      activationActionLogs?: ActivationActionLog[];\n  }\n  /**\n   * List activation action logs\n   * @public\n   * @documentationMaturity preview\n   * @permissionId AUTOMATIONS.ACTIVATION_ACTION_LOG_READ\n   * @adminMethod\n   */\n  function listActivationActionLogs(options?: ListActivationActionLogsOptions): Promise<ListActivationActionLogsResponse>;\n  interface ListActivationActionLogsOptions {\n      /** Activation ID */\n      activationId?: string;\n  }\n  \n  type automationsActivationLogsV1ActivationActionLog_universal_d_ActivationActionLog = ActivationActionLog;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_StartedStatusInfoAppDefinedActionInfo = StartedStatusInfoAppDefinedActionInfo;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_DelayActionInfo = DelayActionInfo;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_ExpressionEvaluationResult = ExpressionEvaluationResult;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_AppDefinedActionInfo = AppDefinedActionInfo;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_ConditionActionInfo = ConditionActionInfo;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_RateLimitActionInfo = RateLimitActionInfo;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_EndedStatusInfoDelayActionInfo = EndedStatusInfoDelayActionInfo;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_Type = Type;\n  const automationsActivationLogsV1ActivationActionLog_universal_d_Type: typeof Type;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_Status = Status;\n  const automationsActivationLogsV1ActivationActionLog_universal_d_Status: typeof Status;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_StartedStatusInfo = StartedStatusInfo;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_StartedStatusInfoTypeInfoOneOf = StartedStatusInfoTypeInfoOneOf;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_EndedStatusInfo = EndedStatusInfo;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_EndedStatusInfoTypeInfoOneOf = EndedStatusInfoTypeInfoOneOf;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_SkippedStatusInfo = SkippedStatusInfo;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_FailedStatusInfo = FailedStatusInfo;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_ListActivationActionLogsRequest = ListActivationActionLogsRequest;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_ListActivationActionLogsResponse = ListActivationActionLogsResponse;\n  const automationsActivationLogsV1ActivationActionLog_universal_d_listActivationActionLogs: typeof listActivationActionLogs;\n  type automationsActivationLogsV1ActivationActionLog_universal_d_ListActivationActionLogsOptions = ListActivationActionLogsOptions;\n  namespace automationsActivationLogsV1ActivationActionLog_universal_d {\n    export {\n      automationsActivationLogsV1ActivationActionLog_universal_d_ActivationActionLog as ActivationActionLog,\n      automationsActivationLogsV1ActivationActionLog_universal_d_StartedStatusInfoAppDefinedActionInfo as StartedStatusInfoAppDefinedActionInfo,\n      automationsActivationLogsV1ActivationActionLog_universal_d_DelayActionInfo as DelayActionInfo,\n      automationsActivationLogsV1ActivationActionLog_universal_d_ExpressionEvaluationResult as ExpressionEvaluationResult,\n      automationsActivationLogsV1ActivationActionLog_universal_d_AppDefinedActionInfo as AppDefinedActionInfo,\n      automationsActivationLogsV1ActivationActionLog_universal_d_ConditionActionInfo as ConditionActionInfo,\n      automationsActivationLogsV1ActivationActionLog_universal_d_RateLimitActionInfo as RateLimitActionInfo,\n      automationsActivationLogsV1ActivationActionLog_universal_d_EndedStatusInfoDelayActionInfo as EndedStatusInfoDelayActionInfo,\n      automationsActivationLogsV1ActivationActionLog_universal_d_Type as Type,\n      automationsActivationLogsV1ActivationActionLog_universal_d_Status as Status,\n      automationsActivationLogsV1ActivationActionLog_universal_d_StartedStatusInfo as StartedStatusInfo,\n      automationsActivationLogsV1ActivationActionLog_universal_d_StartedStatusInfoTypeInfoOneOf as StartedStatusInfoTypeInfoOneOf,\n      automationsActivationLogsV1ActivationActionLog_universal_d_EndedStatusInfo as EndedStatusInfo,\n      automationsActivationLogsV1ActivationActionLog_universal_d_EndedStatusInfoTypeInfoOneOf as EndedStatusInfoTypeInfoOneOf,\n      automationsActivationLogsV1ActivationActionLog_universal_d_SkippedStatusInfo as SkippedStatusInfo,\n      automationsActivationLogsV1ActivationActionLog_universal_d_FailedStatusInfo as FailedStatusInfo,\n      automationsActivationLogsV1ActivationActionLog_universal_d_ListActivationActionLogsRequest as ListActivationActionLogsRequest,\n      automationsActivationLogsV1ActivationActionLog_universal_d_ListActivationActionLogsResponse as ListActivationActionLogsResponse,\n      automationsActivationLogsV1ActivationActionLog_universal_d_listActivationActionLogs as listActivationActionLogs,\n      automationsActivationLogsV1ActivationActionLog_universal_d_ListActivationActionLogsOptions as ListActivationActionLogsOptions,\n    };\n  }\n  \n  export { automationsActivationLogsV1ActivationActionLog_universal_d as activationActionLog };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/user-management-backend.d.ts",
      "content": "declare module \"user-management-backend\" {\n  interface AccountV2 {\n      /** Account ID. */\n      accountId?: string;\n  }\n  interface GetUserAccountRequest {\n      /** the user id that his account we query */\n      userId: string;\n  }\n  interface Account {\n      /** Account ID. */\n      accountId?: string;\n      /** Account slug - used in the free URL prefix */\n      slug?: string;\n      /** Account name (display) */\n      accountName?: string | null;\n      /**\n       * DEPRECATED field of account image\n       * @deprecated\n       */\n      accountImg?: string | null;\n      /** account status */\n      status?: AccountStatus;\n      /** account owner user id */\n      accountOwner?: string;\n      /** account extra properties */\n      accountProperties?: AccountProperties;\n      /** the account creation date */\n      dateCreated?: Date | null;\n      /** last time account was updated */\n      dateUpdated?: Date | null;\n  }\n  /** enum with all available statuses of account */\n  enum AccountStatus {\n      ACTIVE = \"ACTIVE\",\n      BLOCKED = \"BLOCKED\",\n      DELETED = \"DELETED\"\n  }\n  /** All relevant account properties */\n  interface AccountProperties {\n      /** Whether this account is a team account. */\n      isTeam?: boolean;\n      /**\n       * Account image (display)\n       * relevant mainly for CoBranded accounts\n       */\n      accountImg?: string | null;\n      /**\n       * the account banner (display)\n       * relevant mainly for CoBranded accounts\n       */\n      accountBanner?: string | null;\n      /**\n       * the account logo (display)\n       * wll be shown as the account logo in the UI (top right corner, contributor list etc..)\n       */\n      accountLogo?: string | null;\n      /**\n       * account co branding flag (if exists)\n       * an enum for CoBranding flag contains 4 possible options:\n       * None - the account is not CoBranded\n       * CoBranded - the account has a CoBranding flag\n       * CoBranded_Customer_New - the account is a contributor of a CoBranded account. This account was created because of the contributor invite\n       * CoBranded_Customer_Existing - the account is a contributor of a CoBranded account. This account was created before the invite of the contributor invite\n       */\n      coBranding?: CoBranding;\n      /** account's website URL (shown on co branding customers sites) */\n      websiteUrl?: string | null;\n      /** the id of the parent account of this account, if it has a parent */\n      parentAccountId?: string | null;\n  }\n  /** co branding flag options for account */\n  enum CoBranding {\n      None = \"None\",\n      CoBranded = \"CoBranded\",\n      CoBranded_Customer_New = \"CoBranded_Customer_New\",\n      CoBranded_Customer_Existing = \"CoBranded_Customer_Existing\"\n  }\n  interface GetUserAccountsRequest {\n      /** the user id that his accounts we query */\n      userId: string;\n      /** Limited to max 20 at a single request */\n      paging?: Paging$2;\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface AccountsResponse {\n      accounts?: Account[];\n  }\n  interface GetMyUserAccountsRequest {\n      /** Limited to max 20 at a single request */\n      paging?: Paging$2;\n  }\n  interface GetAccountRequest {\n      /** the account id that it's data should be retrieved */\n      accountId: string;\n  }\n  interface AccountResponse {\n      account?: Account;\n  }\n  interface GetMyAccountRequest {\n  }\n  interface GetAccountsRequest {\n      /** the account id to retrieve */\n      accountIds?: string[];\n  }\n  interface CreateAccountRequest {\n      /** The user to create under the new account, with the roles defined in `roles`. */\n      user: User$2;\n      /**\n       * Roles to be assigned to the user in the new account. To retrieve all available roles, call Get Roles Info in the Users API.\n       * Default: OWNER.\n       */\n      roles?: string[] | null;\n  }\n  /** A User to be created under an implicitly provided accountId: must have a unique email. */\n  interface User$2 {\n      /** User's unique email address details. Required. */\n      email?: Email;\n      /** User's single sign on identity, when the user is identified via SSO authentication response token params, as specified by [OpenID Connect](https://openid.net/developers/how-connect-works/) (aka. OIDC) protocol. */\n      ssoIdentities?: SsoIdentity[];\n      /** Additional user details. */\n      userDetails?: UserDetails;\n  }\n  /** User's email address. */\n  interface Email {\n      /** User's email address. */\n      emailAddress?: string;\n      /** Whether the caller has verified the user's email address. */\n      isVerified?: boolean;\n  }\n  /** Single Sign On (aka. SSO) identity; user is identified via SSO authentication response token params, as specified by OpenID Connect (aka. OIDC) protocol */\n  interface SsoIdentity {\n      /** An SSO setting (URLs, clientId, secret, etc. as required by OIDC protocol) for a specific Identity-Provider (aka. IdP) for a specific Wix account. */\n      ssoId?: string;\n      /**\n       * User ID as stored in IdP. For example a \"sub\" claim of OIDC protocol,\n       * or any other alternative, specified by IdP (Identity Provider).\n       */\n      userId?: string;\n  }\n  /** additional user details */\n  interface UserDetails {\n      /** User's first name. */\n      firstName?: string | null;\n      /** User's last name. */\n      lastName?: string | null;\n      /** URL to location of user's profile picture. */\n      profilePictureUrl?: string | null;\n      /** User's preferred language in [ISO 639-1:2002](https://en.wikipedia.org/wiki/ISO_639-1) format. For example, \"en\", \"es\". */\n      language?: string | null;\n      /**\n       * Original Client IP from which a request was made.\n       * This is useful in case where a createUser API is called by some server call, which, in turn, has been called by some client from another IP.\n       * Wix checks this IP against the [OFAC sanctioned countries](https://ofac.treasury.gov/sanctions-programs-and-country-information).\n       */\n      clientIp?: string | null;\n  }\n  interface CreateAccountResponse {\n      /** The created account. */\n      account?: AccountV2;\n  }\n  interface CreateAccountForMyUserRequest {\n      /** the account name */\n      accountName?: string | null;\n      /** account image url */\n      accountImg?: string | null;\n      /** whether to mark the account as `studio` */\n      studio?: boolean;\n  }\n  interface CreateAccountTenantRequest {\n      slug?: string | null;\n  }\n  interface CreateAccountTenantResponse {\n      account?: AccountV2;\n  }\n  interface CreateAccountAndAssignUserRequest {\n      /** the user id for which we are creating the account */\n      userId: string;\n      /** the user name of the user for which the account is created */\n      userName: string;\n      /** the parent account of the created account */\n      parentAccountId?: string | null;\n      /** whether to mark the account as `studio` */\n      studio?: boolean;\n  }\n  interface UpdateAccountRequest {\n      /** the account id to update */\n      accountId: string;\n      /**\n       * DEPRECATED field of image\n       * @deprecated\n       */\n      accountImg?: string | null;\n      /** optional - new account name */\n      accountName?: string | null;\n      /**\n       * the new properties for the account.\n       * can be passed partially - and only relevant fields will be updated\n       */\n      accountProperties?: AccountProperties;\n  }\n  interface UpdateParentAccountRequest extends UpdateParentAccountRequestUpdateOneOf {\n      /** Removes the parent account */\n      remove?: RemoveParent;\n  }\n  /** @oneof */\n  interface UpdateParentAccountRequestUpdateOneOf {\n      /** Removes the parent account */\n      remove?: RemoveParent;\n  }\n  interface RemoveParent {\n  }\n  interface UpdateParentAccountResponse {\n      newParentAccountId?: string | null;\n  }\n  interface DeleteAccountRequest {\n      /** the account id to delete */\n      accountId: string;\n      /** will throw exception if trying to delete the account of the last user when the value is true */\n      shouldNotDeleteLastAccount?: boolean;\n  }\n  interface EmptyResponse {\n  }\n  interface UpdateSlugRequest {\n      /** account id */\n      accountId: string;\n      /** new slug */\n      newSlugName: string;\n  }\n  interface IsTeamRequest {\n      /** the account id to check if it's a team account */\n      accountId: string;\n  }\n  interface IsTeamResponse {\n      /** true if the account is marked as a team account, false if not */\n      isTeamAccount?: boolean;\n  }\n  interface MarkAccountFlagRequest extends MarkAccountFlagRequestFlagOneOf {\n      /**\n       * account co branding flag (if exists)\n       * an enum for CoBranding flag contains 4 possible options:\n       * None - the account is not CoBranded\n       * CoBranded - the account has a CoBranding flag\n       * CoBranded_Customer_New - the account is a contributor of a CoBranded account. This account was created because of the contributor invite\n       * CoBranded_Customer_Existing - the account is a contributor of a CoBranded account. This account was created before the invite of the contributor invite\n       */\n      coBranding?: CoBranding;\n      /** the account id to mark */\n      accountId: string;\n      /** the inviting account id in case the flag is given by an invite */\n      invitedByAccountId?: string | null;\n  }\n  /** @oneof */\n  interface MarkAccountFlagRequestFlagOneOf {\n      /**\n       * account co branding flag (if exists)\n       * an enum for CoBranding flag contains 4 possible options:\n       * None - the account is not CoBranded\n       * CoBranded - the account has a CoBranding flag\n       * CoBranded_Customer_New - the account is a contributor of a CoBranded account. This account was created because of the contributor invite\n       * CoBranded_Customer_Existing - the account is a contributor of a CoBranded account. This account was created before the invite of the contributor invite\n       */\n      coBranding?: CoBranding;\n  }\n  interface GetParentAccountInfoRequest {\n  }\n  interface GetParentAccountInfoResponse {\n      /** The info of the parent account, if the account has a parent */\n      parentAccountInfo?: AccountInfo$2;\n  }\n  interface AccountInfo$2 {\n      /** The name of the account */\n      name?: string | null;\n      /** The url of the image of the account */\n      image?: string | null;\n  }\n  interface GetSubAccountsRequest {\n      /** Offset-based pagination for the response. Default page size is 20, max page size is 50 */\n      paging?: Paging$2;\n  }\n  interface GetSubAccountsResponse {\n      /** The sub accounts of the target account */\n      subAccounts?: SubAccountInfo[];\n      /** Metadata of the response pagination */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface SubAccountInfo {\n      /** The id of the sub account */\n      accountId?: string;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface ListChildAccountsRequest {\n      /**\n       * Paging options to limit and offset the number of items.\n       * Default: 20. Max: 50.\n       */\n      paging?: Paging$2;\n  }\n  interface ListChildAccountsResponse {\n      /** The requested child accounts. */\n      childAccounts?: AccountV2[];\n      /** Metadata of the response pagination. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface SetIsReadOnlyAccountRequest {\n      accountId: string;\n      isReadOnly: boolean;\n  }\n  /**\n   * Get account data by user id\n   * @param userId - the user id that his account we query\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId Account.GetUserAccountProperties\n   * @adminMethod\n   */\n  function getUserAccount(userId: string): Promise<Account>;\n  /**\n   * Get accounts data by user id\n   * @param userId - the user id that his accounts we query\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId Account.GetUserAccountProperties\n   * @adminMethod\n   */\n  function getUserAccounts(userId: string, options?: GetUserAccountsOptions): Promise<AccountsResponse>;\n  interface GetUserAccountsOptions {\n      /** Limited to max 20 at a single request */\n      paging?: Paging$2;\n  }\n  /**\n   * Get accounts data by current user\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getMyUserAccounts(options?: GetMyUserAccountsOptions): Promise<AccountsResponse>;\n  interface GetMyUserAccountsOptions {\n      /** Limited to max 20 at a single request */\n      paging?: Paging$2;\n  }\n  /** @param accountId - the account id that it's data should be retrieved\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @permissionId Account.GetAccountProperties\n   * @adminMethod\n   */\n  function getAccount(accountId: string): Promise<AccountResponse>;\n  /**\n   * Get logged-in user account\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId Account.GetAccountProperties\n   * @adminMethod\n   */\n  function getMyAccount(): Promise<AccountResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId Account.GetBulk\n   * @adminMethod\n   */\n  function getAccounts(options?: GetAccountsOptions): Promise<AccountsResponse>;\n  interface GetAccountsOptions {\n      /** the account id to retrieve */\n      accountIds?: string[];\n  }\n  /**\n   * Creates a new Wix account, and creates a new Wix user as the account owner.\n   * The newly created account is a child account of the account used to create it, making that account its parent.\n   *\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param user - The user to create under the new account, with the roles defined in `roles`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField user\n   * @param options - Filter options.\n   * @permissionId ACCOUNT.CREATE_ACCOUNT\n   * @adminMethod\n   */\n  function createAccount(user: User$2, options?: CreateAccountOptions): Promise<CreateAccountResponse>;\n  interface CreateAccountOptions {\n      /**\n       * Roles to be assigned to the user in the new account. To retrieve all available roles, call Get Roles Info in the Users API.\n       * Default: OWNER.\n       */\n      roles?: string[] | null;\n  }\n  /**\n   * creates account for the logged in user\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function createAccountForMyUser(options?: CreateAccountForMyUserOptions): Promise<AccountResponse>;\n  interface CreateAccountForMyUserOptions {\n      /** the account name */\n      accountName?: string | null;\n      /** account image url */\n      accountImg?: string | null;\n      /** whether to mark the account as `studio` */\n      studio?: boolean;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId ACCOUNT.CREATE_ACCOUNT_TENANT\n   * @adminMethod\n   */\n  function createAccountTenant(options?: CreateAccountTenantOptions): Promise<CreateAccountTenantResponse>;\n  interface CreateAccountTenantOptions {\n      slug?: string | null;\n  }\n  /**\n   * Creates a new Wix account and assign Wix user under this account, as the account owner.\n   * If parentAccountId exists, the account will be created as a sub account of the parent account.\n   * Otherwise, the account will be created without a parent account.\n   * @param userId - the user id for which we are creating the account\n   * @param userName - the user name of the user for which the account is created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @requiredField userName\n   * @permissionId ACCOUNT.CREATE_ACCOUNT_AND_ASSIGN_USER\n   * @adminMethod\n   */\n  function createAccountAndAssignUser(userId: string, userName: string, options?: CreateAccountAndAssignUserOptions): Promise<AccountResponse>;\n  interface CreateAccountAndAssignUserOptions {\n      /** the parent account of the created account */\n      parentAccountId?: string | null;\n      /** whether to mark the account as `studio` */\n      studio?: boolean;\n  }\n  /** @param accountId - the account id to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @adminMethod\n   */\n  function updateAccount(accountId: string, options?: UpdateAccountOptions): Promise<AccountResponse>;\n  interface UpdateAccountOptions {\n      /**\n       * DEPRECATED field of image\n       * @deprecated\n       */\n      accountImg?: string | null;\n      /** optional - new account name */\n      accountName?: string | null;\n      /**\n       * the new properties for the account.\n       * can be passed partially - and only relevant fields will be updated\n       */\n      accountProperties?: AccountProperties;\n  }\n  /**\n   * Updates the parent account of the account that is passed in the target account header.\n   * The permission required for removing a parent account: \"ACCOUNT.REMOVE_PARENT_ACCOUNT\"\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function updateParentAccount(options?: UpdateParentAccountOptions): Promise<UpdateParentAccountResponse>;\n  interface UpdateParentAccountOptions extends UpdateParentAccountRequestUpdateOneOf {\n      /** Removes the parent account */\n      remove?: RemoveParent;\n  }\n  /** @param accountId - the account id to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @permissionId Account.DeleteAccount\n   * @adminMethod\n   */\n  function deleteAccount(accountId: string, options?: DeleteAccountOptions): Promise<void>;\n  interface DeleteAccountOptions {\n      /** will throw exception if trying to delete the account of the last user when the value is true */\n      shouldNotDeleteLastAccount?: boolean;\n  }\n  /** @param accountId - account id\n   * @param newSlugName - new slug\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @requiredField newSlugName\n   * @permissionId Account.UpdateSlugName\n   * @adminMethod\n   */\n  function updateSlugName(accountId: string, newSlugName: string): Promise<void>;\n  /**\n   * Returns whether the account is a team account.\n   * @param accountId - the account id to check if it's a team account\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @permissionId Account.CheckTeamStatus\n   * @adminMethod\n   */\n  function isTeam(accountId: string): Promise<IsTeamResponse>;\n  /**\n   * Marking an account flag explicitly. Returns the new account data\n   * @param accountId - the account id to mark\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @permissionId Account.MarkAccountFlag\n   * @adminMethod\n   */\n  function markAccountFlag(accountId: string, options?: MarkAccountFlagOptions): Promise<AccountResponse>;\n  interface MarkAccountFlagOptions extends MarkAccountFlagRequestFlagOneOf {\n      /**\n       * account co branding flag (if exists)\n       * an enum for CoBranding flag contains 4 possible options:\n       * None - the account is not CoBranded\n       * CoBranded - the account has a CoBranding flag\n       * CoBranded_Customer_New - the account is a contributor of a CoBranded account. This account was created because of the contributor invite\n       * CoBranded_Customer_Existing - the account is a contributor of a CoBranded account. This account was created before the invite of the contributor invite\n       */\n      coBranding?: CoBranding;\n      /** the inviting account id in case the flag is given by an invite */\n      invitedByAccountId?: string | null;\n  }\n  /**\n   * Gets information about the parent account of the target account (taken from the context targetAccountId field).\n   * If the target account has no parent, no information will be returned.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ACCOUNT.GET_PARENT_ACCOUNT_INFO\n   * @adminMethod\n   */\n  function getParentAccountInfo(): Promise<GetParentAccountInfoResponse>;\n  /**\n   * Gets the sub accounts of the target account (taken from the context targetAccountId field).\n   * If the target account has no sub accounts, an empty list will be returned.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ACCOUNT.GET_SUB_ACCOUNTS\n   * @adminMethod\n   */\n  function getSubAccounts(options?: GetSubAccountsOptions): Promise<GetSubAccountsResponse>;\n  interface GetSubAccountsOptions {\n      /** Offset-based pagination for the response. Default page size is 20, max page size is 50 */\n      paging?: Paging$2;\n  }\n  /**\n   * Retrieves a list of child account IDs for the requesting account.\n   * If no child accounts exist, an empty list will be returned.\n   *\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filter options.\n   * @permissionId ACCOUNT.CHILD_ACCOUNTS_LIST\n   * @adminMethod\n   */\n  function listChildAccounts(options?: ListChildAccountsOptions): Promise<ListChildAccountsResponse>;\n  interface ListChildAccountsOptions {\n      /**\n       * Paging options to limit and offset the number of items.\n       * Default: 20. Max: 50.\n       */\n      paging?: Paging$2;\n  }\n  /**\n   * set the account's is_read_only flag\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @requiredField isReadOnly\n   * @permissionId ACCOUNT.SET_IS_READ_ONLY\n   * @adminMethod\n   */\n  function setIsReadOnlyAccount(accountId: string, isReadOnly: boolean): Promise<void>;\n  \n  type identityAccountV2Account_universal_d_AccountV2 = AccountV2;\n  type identityAccountV2Account_universal_d_GetUserAccountRequest = GetUserAccountRequest;\n  type identityAccountV2Account_universal_d_Account = Account;\n  type identityAccountV2Account_universal_d_AccountStatus = AccountStatus;\n  const identityAccountV2Account_universal_d_AccountStatus: typeof AccountStatus;\n  type identityAccountV2Account_universal_d_AccountProperties = AccountProperties;\n  type identityAccountV2Account_universal_d_CoBranding = CoBranding;\n  const identityAccountV2Account_universal_d_CoBranding: typeof CoBranding;\n  type identityAccountV2Account_universal_d_GetUserAccountsRequest = GetUserAccountsRequest;\n  type identityAccountV2Account_universal_d_AccountsResponse = AccountsResponse;\n  type identityAccountV2Account_universal_d_GetMyUserAccountsRequest = GetMyUserAccountsRequest;\n  type identityAccountV2Account_universal_d_GetAccountRequest = GetAccountRequest;\n  type identityAccountV2Account_universal_d_AccountResponse = AccountResponse;\n  type identityAccountV2Account_universal_d_GetMyAccountRequest = GetMyAccountRequest;\n  type identityAccountV2Account_universal_d_GetAccountsRequest = GetAccountsRequest;\n  type identityAccountV2Account_universal_d_CreateAccountRequest = CreateAccountRequest;\n  type identityAccountV2Account_universal_d_Email = Email;\n  type identityAccountV2Account_universal_d_SsoIdentity = SsoIdentity;\n  type identityAccountV2Account_universal_d_UserDetails = UserDetails;\n  type identityAccountV2Account_universal_d_CreateAccountResponse = CreateAccountResponse;\n  type identityAccountV2Account_universal_d_CreateAccountForMyUserRequest = CreateAccountForMyUserRequest;\n  type identityAccountV2Account_universal_d_CreateAccountTenantRequest = CreateAccountTenantRequest;\n  type identityAccountV2Account_universal_d_CreateAccountTenantResponse = CreateAccountTenantResponse;\n  type identityAccountV2Account_universal_d_CreateAccountAndAssignUserRequest = CreateAccountAndAssignUserRequest;\n  type identityAccountV2Account_universal_d_UpdateAccountRequest = UpdateAccountRequest;\n  type identityAccountV2Account_universal_d_UpdateParentAccountRequest = UpdateParentAccountRequest;\n  type identityAccountV2Account_universal_d_UpdateParentAccountRequestUpdateOneOf = UpdateParentAccountRequestUpdateOneOf;\n  type identityAccountV2Account_universal_d_RemoveParent = RemoveParent;\n  type identityAccountV2Account_universal_d_UpdateParentAccountResponse = UpdateParentAccountResponse;\n  type identityAccountV2Account_universal_d_DeleteAccountRequest = DeleteAccountRequest;\n  type identityAccountV2Account_universal_d_EmptyResponse = EmptyResponse;\n  type identityAccountV2Account_universal_d_UpdateSlugRequest = UpdateSlugRequest;\n  type identityAccountV2Account_universal_d_IsTeamRequest = IsTeamRequest;\n  type identityAccountV2Account_universal_d_IsTeamResponse = IsTeamResponse;\n  type identityAccountV2Account_universal_d_MarkAccountFlagRequest = MarkAccountFlagRequest;\n  type identityAccountV2Account_universal_d_MarkAccountFlagRequestFlagOneOf = MarkAccountFlagRequestFlagOneOf;\n  type identityAccountV2Account_universal_d_GetParentAccountInfoRequest = GetParentAccountInfoRequest;\n  type identityAccountV2Account_universal_d_GetParentAccountInfoResponse = GetParentAccountInfoResponse;\n  type identityAccountV2Account_universal_d_GetSubAccountsRequest = GetSubAccountsRequest;\n  type identityAccountV2Account_universal_d_GetSubAccountsResponse = GetSubAccountsResponse;\n  type identityAccountV2Account_universal_d_SubAccountInfo = SubAccountInfo;\n  type identityAccountV2Account_universal_d_PagingMetadata = PagingMetadata;\n  type identityAccountV2Account_universal_d_ListChildAccountsRequest = ListChildAccountsRequest;\n  type identityAccountV2Account_universal_d_ListChildAccountsResponse = ListChildAccountsResponse;\n  type identityAccountV2Account_universal_d_SetIsReadOnlyAccountRequest = SetIsReadOnlyAccountRequest;\n  const identityAccountV2Account_universal_d_getUserAccount: typeof getUserAccount;\n  const identityAccountV2Account_universal_d_getUserAccounts: typeof getUserAccounts;\n  type identityAccountV2Account_universal_d_GetUserAccountsOptions = GetUserAccountsOptions;\n  const identityAccountV2Account_universal_d_getMyUserAccounts: typeof getMyUserAccounts;\n  type identityAccountV2Account_universal_d_GetMyUserAccountsOptions = GetMyUserAccountsOptions;\n  const identityAccountV2Account_universal_d_getAccount: typeof getAccount;\n  const identityAccountV2Account_universal_d_getMyAccount: typeof getMyAccount;\n  const identityAccountV2Account_universal_d_getAccounts: typeof getAccounts;\n  type identityAccountV2Account_universal_d_GetAccountsOptions = GetAccountsOptions;\n  const identityAccountV2Account_universal_d_createAccount: typeof createAccount;\n  type identityAccountV2Account_universal_d_CreateAccountOptions = CreateAccountOptions;\n  const identityAccountV2Account_universal_d_createAccountForMyUser: typeof createAccountForMyUser;\n  type identityAccountV2Account_universal_d_CreateAccountForMyUserOptions = CreateAccountForMyUserOptions;\n  const identityAccountV2Account_universal_d_createAccountTenant: typeof createAccountTenant;\n  type identityAccountV2Account_universal_d_CreateAccountTenantOptions = CreateAccountTenantOptions;\n  const identityAccountV2Account_universal_d_createAccountAndAssignUser: typeof createAccountAndAssignUser;\n  type identityAccountV2Account_universal_d_CreateAccountAndAssignUserOptions = CreateAccountAndAssignUserOptions;\n  const identityAccountV2Account_universal_d_updateAccount: typeof updateAccount;\n  type identityAccountV2Account_universal_d_UpdateAccountOptions = UpdateAccountOptions;\n  const identityAccountV2Account_universal_d_updateParentAccount: typeof updateParentAccount;\n  type identityAccountV2Account_universal_d_UpdateParentAccountOptions = UpdateParentAccountOptions;\n  const identityAccountV2Account_universal_d_deleteAccount: typeof deleteAccount;\n  type identityAccountV2Account_universal_d_DeleteAccountOptions = DeleteAccountOptions;\n  const identityAccountV2Account_universal_d_updateSlugName: typeof updateSlugName;\n  const identityAccountV2Account_universal_d_isTeam: typeof isTeam;\n  const identityAccountV2Account_universal_d_markAccountFlag: typeof markAccountFlag;\n  type identityAccountV2Account_universal_d_MarkAccountFlagOptions = MarkAccountFlagOptions;\n  const identityAccountV2Account_universal_d_getParentAccountInfo: typeof getParentAccountInfo;\n  const identityAccountV2Account_universal_d_getSubAccounts: typeof getSubAccounts;\n  type identityAccountV2Account_universal_d_GetSubAccountsOptions = GetSubAccountsOptions;\n  const identityAccountV2Account_universal_d_listChildAccounts: typeof listChildAccounts;\n  type identityAccountV2Account_universal_d_ListChildAccountsOptions = ListChildAccountsOptions;\n  const identityAccountV2Account_universal_d_setIsReadOnlyAccount: typeof setIsReadOnlyAccount;\n  namespace identityAccountV2Account_universal_d {\n    export {\n      identityAccountV2Account_universal_d_AccountV2 as AccountV2,\n      identityAccountV2Account_universal_d_GetUserAccountRequest as GetUserAccountRequest,\n      identityAccountV2Account_universal_d_Account as Account,\n      identityAccountV2Account_universal_d_AccountStatus as AccountStatus,\n      identityAccountV2Account_universal_d_AccountProperties as AccountProperties,\n      identityAccountV2Account_universal_d_CoBranding as CoBranding,\n      identityAccountV2Account_universal_d_GetUserAccountsRequest as GetUserAccountsRequest,\n      Paging$2 as Paging,\n      identityAccountV2Account_universal_d_AccountsResponse as AccountsResponse,\n      identityAccountV2Account_universal_d_GetMyUserAccountsRequest as GetMyUserAccountsRequest,\n      identityAccountV2Account_universal_d_GetAccountRequest as GetAccountRequest,\n      identityAccountV2Account_universal_d_AccountResponse as AccountResponse,\n      identityAccountV2Account_universal_d_GetMyAccountRequest as GetMyAccountRequest,\n      identityAccountV2Account_universal_d_GetAccountsRequest as GetAccountsRequest,\n      identityAccountV2Account_universal_d_CreateAccountRequest as CreateAccountRequest,\n      User$2 as User,\n      identityAccountV2Account_universal_d_Email as Email,\n      identityAccountV2Account_universal_d_SsoIdentity as SsoIdentity,\n      identityAccountV2Account_universal_d_UserDetails as UserDetails,\n      identityAccountV2Account_universal_d_CreateAccountResponse as CreateAccountResponse,\n      identityAccountV2Account_universal_d_CreateAccountForMyUserRequest as CreateAccountForMyUserRequest,\n      identityAccountV2Account_universal_d_CreateAccountTenantRequest as CreateAccountTenantRequest,\n      identityAccountV2Account_universal_d_CreateAccountTenantResponse as CreateAccountTenantResponse,\n      identityAccountV2Account_universal_d_CreateAccountAndAssignUserRequest as CreateAccountAndAssignUserRequest,\n      identityAccountV2Account_universal_d_UpdateAccountRequest as UpdateAccountRequest,\n      identityAccountV2Account_universal_d_UpdateParentAccountRequest as UpdateParentAccountRequest,\n      identityAccountV2Account_universal_d_UpdateParentAccountRequestUpdateOneOf as UpdateParentAccountRequestUpdateOneOf,\n      identityAccountV2Account_universal_d_RemoveParent as RemoveParent,\n      identityAccountV2Account_universal_d_UpdateParentAccountResponse as UpdateParentAccountResponse,\n      identityAccountV2Account_universal_d_DeleteAccountRequest as DeleteAccountRequest,\n      identityAccountV2Account_universal_d_EmptyResponse as EmptyResponse,\n      identityAccountV2Account_universal_d_UpdateSlugRequest as UpdateSlugRequest,\n      identityAccountV2Account_universal_d_IsTeamRequest as IsTeamRequest,\n      identityAccountV2Account_universal_d_IsTeamResponse as IsTeamResponse,\n      identityAccountV2Account_universal_d_MarkAccountFlagRequest as MarkAccountFlagRequest,\n      identityAccountV2Account_universal_d_MarkAccountFlagRequestFlagOneOf as MarkAccountFlagRequestFlagOneOf,\n      identityAccountV2Account_universal_d_GetParentAccountInfoRequest as GetParentAccountInfoRequest,\n      identityAccountV2Account_universal_d_GetParentAccountInfoResponse as GetParentAccountInfoResponse,\n      AccountInfo$2 as AccountInfo,\n      identityAccountV2Account_universal_d_GetSubAccountsRequest as GetSubAccountsRequest,\n      identityAccountV2Account_universal_d_GetSubAccountsResponse as GetSubAccountsResponse,\n      identityAccountV2Account_universal_d_SubAccountInfo as SubAccountInfo,\n      identityAccountV2Account_universal_d_PagingMetadata as PagingMetadata,\n      identityAccountV2Account_universal_d_ListChildAccountsRequest as ListChildAccountsRequest,\n      identityAccountV2Account_universal_d_ListChildAccountsResponse as ListChildAccountsResponse,\n      identityAccountV2Account_universal_d_SetIsReadOnlyAccountRequest as SetIsReadOnlyAccountRequest,\n      identityAccountV2Account_universal_d_getUserAccount as getUserAccount,\n      identityAccountV2Account_universal_d_getUserAccounts as getUserAccounts,\n      identityAccountV2Account_universal_d_GetUserAccountsOptions as GetUserAccountsOptions,\n      identityAccountV2Account_universal_d_getMyUserAccounts as getMyUserAccounts,\n      identityAccountV2Account_universal_d_GetMyUserAccountsOptions as GetMyUserAccountsOptions,\n      identityAccountV2Account_universal_d_getAccount as getAccount,\n      identityAccountV2Account_universal_d_getMyAccount as getMyAccount,\n      identityAccountV2Account_universal_d_getAccounts as getAccounts,\n      identityAccountV2Account_universal_d_GetAccountsOptions as GetAccountsOptions,\n      identityAccountV2Account_universal_d_createAccount as createAccount,\n      identityAccountV2Account_universal_d_CreateAccountOptions as CreateAccountOptions,\n      identityAccountV2Account_universal_d_createAccountForMyUser as createAccountForMyUser,\n      identityAccountV2Account_universal_d_CreateAccountForMyUserOptions as CreateAccountForMyUserOptions,\n      identityAccountV2Account_universal_d_createAccountTenant as createAccountTenant,\n      identityAccountV2Account_universal_d_CreateAccountTenantOptions as CreateAccountTenantOptions,\n      identityAccountV2Account_universal_d_createAccountAndAssignUser as createAccountAndAssignUser,\n      identityAccountV2Account_universal_d_CreateAccountAndAssignUserOptions as CreateAccountAndAssignUserOptions,\n      identityAccountV2Account_universal_d_updateAccount as updateAccount,\n      identityAccountV2Account_universal_d_UpdateAccountOptions as UpdateAccountOptions,\n      identityAccountV2Account_universal_d_updateParentAccount as updateParentAccount,\n      identityAccountV2Account_universal_d_UpdateParentAccountOptions as UpdateParentAccountOptions,\n      identityAccountV2Account_universal_d_deleteAccount as deleteAccount,\n      identityAccountV2Account_universal_d_DeleteAccountOptions as DeleteAccountOptions,\n      identityAccountV2Account_universal_d_updateSlugName as updateSlugName,\n      identityAccountV2Account_universal_d_isTeam as isTeam,\n      identityAccountV2Account_universal_d_markAccountFlag as markAccountFlag,\n      identityAccountV2Account_universal_d_MarkAccountFlagOptions as MarkAccountFlagOptions,\n      identityAccountV2Account_universal_d_getParentAccountInfo as getParentAccountInfo,\n      identityAccountV2Account_universal_d_getSubAccounts as getSubAccounts,\n      identityAccountV2Account_universal_d_GetSubAccountsOptions as GetSubAccountsOptions,\n      identityAccountV2Account_universal_d_listChildAccounts as listChildAccounts,\n      identityAccountV2Account_universal_d_ListChildAccountsOptions as ListChildAccountsOptions,\n      identityAccountV2Account_universal_d_setIsReadOnlyAccount as setIsReadOnlyAccount,\n    };\n  }\n  \n  interface Contributor$1 {\n      /** Contributor's metadata. */\n      metaData?: PersonMetaData$1;\n      /** Whether the contributor account is a team account. */\n      isTeam?: boolean | null;\n      /** Date that the contributor joined the site. */\n      joinedAt?: Date | null;\n      /** Email address that received the invite. */\n      invitedEmail?: string | null;\n      /** Whether the contributor account is a client account. */\n      isClient?: boolean | null;\n      /**\n       * Contributor's user ID.\n       * @readonly\n       */\n      _id?: string;\n  }\n  interface PersonMetaData$1 {\n      /** Contributor's account ID. */\n      _id?: string;\n      /** Contributor's full name. */\n      fullName?: string | null;\n      /** URL for contributor's profile image. */\n      imageUrl?: string | null;\n      /** Contributor's email address. */\n      email?: string | null;\n      /** Contributor's access to assets and their assigned role (`policy`) for that asset. */\n      assignments?: Assignment$1[];\n  }\n  interface Assignment$1 {\n      /** Role assigned to the user. */\n      policy?: AssignedPolicy$1;\n      /** Unique ID for this specific assignment. */\n      assignmentId?: string;\n      /**\n       * The asset a user is assigned access to in an assignment, including any restrictions to their access. When empty, the role covers all assets, with no restrictions to specific sites or folders.\n       * @internal\n       */\n      restrictions?: Restriction$1;\n      /** Identity assigned to the asset in an assignment, referred to as subject. Supported subjects include user IDs, account IDs, and app IDs. */\n      subject?: Subject$2;\n  }\n  interface AssignedPolicy$1 {\n      /** Role ID. */\n      policyId?: string;\n      /** Role title. */\n      title?: string | null;\n      /** Role description. */\n      description?: string | null;\n  }\n  interface Restriction$1 extends RestrictionRestrictionsOneOf$1 {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      resource?: Resource$2;\n      /** List of conditions restricting the user's access. Currently only folder conditions are supported. */\n      conditions?: Conditions$1;\n      /** Site where the assignment restrictions apply. */\n      site?: SiteRestriction$1;\n  }\n  /** @oneof */\n  interface RestrictionRestrictionsOneOf$1 {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      resource?: Resource$2;\n      /** List of conditions restricting the user's access. Currently only folder conditions are supported. */\n      conditions?: Conditions$1;\n      /** Site where the assignment restrictions apply. */\n      site?: SiteRestriction$1;\n  }\n  interface Resource$2 {\n      /** Resource type. */\n      resourceType?: ResourceType$1;\n      /** Resource ID. */\n      _id?: string;\n      value?: string | null;\n  }\n  enum ResourceType$1 {\n      UNKNOWN_RESOURCE_TYPE = \"UNKNOWN_RESOURCE_TYPE\",\n      SITE = \"SITE\"\n  }\n  interface Conditions$1 {\n      /** List of conditions. */\n      conditions?: Condition$2[];\n  }\n  interface Condition$2 {\n      /** Condition type. */\n      conditionType?: ConditionAttributeType$1;\n      /** Condition ID. */\n      _id?: string;\n      /** Expected value of the condition. When `conditionType` = \"FOLDER\", this is the folder path. */\n      value?: string | null;\n  }\n  enum ConditionAttributeType$1 {\n      UNKNOWN_CONDITION_TYPE = \"UNKNOWN_CONDITION_TYPE\",\n      FOLDER = \"FOLDER\"\n  }\n  interface SiteRestriction$1 {\n      /** Site ID. */\n      _id?: string;\n      /** Site name. */\n      value?: string | null;\n      /**\n       * A specific asset (referred to as a resource) inside the site, if relevant. For example, a specific dashboard page.\n       * @internal\n       */\n      resource?: CompanionResource$1;\n  }\n  interface CompanionResource$1 {\n      /** Asset ID (referred to here as resource ID). */\n      _id?: string;\n      /** Asset type (referred to here as resource type). as predefined in the authorization system */\n      resourceType?: string;\n  }\n  interface Subject$2 {\n      /** ID of identity assigned to the asset. */\n      _id?: string;\n      /** Type of identity assigned to the asset. Supported subject types include user IDs, account IDs, and app IDs. */\n      subjectType?: SubjectType$2;\n      /** Context of identity assigned to the asset. For example, a `subjectType` = `USER` will have `context` = `ACCOUNT`. */\n      context?: SubjectContext$2;\n  }\n  enum SubjectType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ACCOUNT = \"ACCOUNT\",\n      USER = \"USER\",\n      USER_GROUP = \"USER_GROUP\",\n      MEMBER_GROUP = \"MEMBER_GROUP\",\n      VISITOR_GROUP = \"VISITOR_GROUP\",\n      EXTERNAL_APP = \"EXTERNAL_APP\",\n      ACCOUNT_GROUP = \"ACCOUNT_GROUP\",\n      WIX_APP = \"WIX_APP\"\n  }\n  interface SubjectContext$2 {\n      _id?: string;\n      contextType?: SubjectContextType$2;\n  }\n  enum SubjectContextType$2 {\n      UNKNOWN_CTX = \"UNKNOWN_CTX\",\n      ORG_CTX = \"ORG_CTX\",\n      ACCOUNT_CTX = \"ACCOUNT_CTX\"\n  }\n  interface GetAppContributorsRequest {\n      appId: string;\n      /** The locale of the request. Defaults to en-us. */\n      locale?: string | null;\n  }\n  interface GetAppContributorsResponse {\n      contributors?: Contributor$1[];\n      invites?: AppInvite[];\n  }\n  interface AppInvite {\n      /** @readonly */\n      _id?: string;\n      /** TODO: amitis - remove this comment after the next merge */\n      destEmail?: string;\n      /** @readonly */\n      status?: string;\n      /** @readonly */\n      acceptLink?: string;\n      invitePurpose?: string | null;\n      policies?: AssignedPolicy$1[];\n      /** @readonly */\n      expirationDate?: Date | null;\n      /** @readonly */\n      dateCreated?: Date | null;\n      /** @readonly */\n      dateUpdated?: Date | null;\n  }\n  interface GetSiteContributorsRequest {\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  interface GetSiteContributorsResponse {\n      users?: User$1[];\n      teams?: Team[];\n      invites?: SiteInvite$1[];\n      policies?: Policy$1[];\n      permissions?: string[];\n      userId?: string;\n      loggedInAccountId?: string;\n      pendingOwner?: PendingOwner;\n      contributorLimit?: ContributorLimit;\n      predefinedRoles?: PredefinedRoles$1;\n  }\n  interface User$1 {\n      /** User ID. */\n      _id?: string;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      roles?: string[];\n      /** User's email address. */\n      email?: string;\n      /** User's name. */\n      name?: Name$1;\n      /** URL to user's profile image, when provided. */\n      profileImage?: string | null;\n      /** Date the user joined the team. */\n      joinedTeamAt?: Date | null;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      policyIds?: string[];\n      /** Resources the user can access. */\n      assignments?: Assignment$1[];\n  }\n  interface Name$1 {\n      /** User's first name. */\n      firstName?: string;\n      /** User's last name. */\n      lastName?: string;\n  }\n  interface Team {\n      accountId?: string;\n      accountInfo?: AccountInfo$1;\n      policyIds?: string[];\n      joinedAt?: Date | null;\n  }\n  interface AccountInfo$1 {\n      accountName?: string;\n      accountImage?: string;\n      isTeam?: boolean;\n  }\n  interface SiteInvite$1 {\n      /**\n       * Invite ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Site ID the user is invited to as a collaborator.\n       * @readonly\n       */\n      siteId?: string;\n      /** Email address where the invite was sent. */\n      email?: string;\n      /** Role IDs included in the invite. */\n      policyIds?: string[];\n      /**\n       * Deprecated. Use `inviterAccountId`.\n       * @readonly\n       * @deprecated\n       */\n      inviterId?: string;\n      /**\n       * Invite Status.\n       *\n       * Supported values:\n       * - **Pending:** The invite has been sent and is valid, waiting for the user's response.\n       * - **Used:** The invite has been accepted.\n       * - **Deleted:** The invite has been deleted or revoked.\n       * - **Declined:** The user declined the invite.\n       * - **Expired:** The invite has expired without being accepted.\n       */\n      status?: InviteStatus$3;\n      /** Link to accept the invite. */\n      acceptLink?: string;\n      /**\n       * Inviting account ID.\n       * @readonly\n       */\n      inviterAccountId?: string;\n      /**\n       * Account ID that accepted the invite. Populated only once the invite is accepted.\n       * @readonly\n       */\n      acceptedByAccountId?: string | null;\n      /** Date the invite was created. */\n      dateCreated?: Date | null;\n      /** User's Wix Bookings staff ID, if relevant. */\n      staffId?: string | null;\n      /**\n       * Brand domain.\n       * @internal\n       */\n      brandDomain?: string | null;\n      /**\n       * Optional field representing the purpose of the invite\n       * @internal\n       */\n      invitePurpose?: string | null;\n      /** Invite expiration date */\n      expirationDate?: Date | null;\n  }\n  /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */\n  enum InviteStatus$3 {\n      Pending = \"Pending\",\n      Used = \"Used\",\n      Deleted = \"Deleted\",\n      Declined = \"Declined\",\n      Expired = \"Expired\"\n  }\n  interface Policy$1 {\n      _id?: string;\n      description?: string | null;\n      name?: string | null;\n      isCustom?: boolean;\n      scopes?: string[];\n  }\n  interface PendingOwner {\n      email?: string;\n      expirationDate?: Date | null;\n      acceptLink?: string;\n  }\n  interface ContributorLimit {\n      contributorLimit?: number;\n  }\n  interface PredefinedRoles$1 {\n      roles?: PredefinedRole$1[];\n  }\n  interface PredefinedRole$1 {\n      titleKey?: string;\n      roles?: Role$1[];\n      title?: string | null;\n      areaId?: string;\n  }\n  interface Role$1 {\n      _id?: string;\n      deprecatedKey?: string;\n      /** @deprecated */\n      titleKey?: string;\n      /** @deprecated */\n      descriptionKey?: string;\n      deprecated?: boolean;\n      restrictFromLevel?: string;\n      experiments?: string[];\n      appDefIds?: string[];\n      title?: string | null;\n      description?: string | null;\n      isCustom?: boolean;\n      scopes?: string[];\n      availableResourceTypes?: ResourceType$1[];\n      availableConditions?: ConditionAttributeType$1[];\n      limitToEditorTypes?: string[];\n  }\n  interface GetSiteContributorsV2Request {\n      /** The locale of the request. Defaults to en-us. */\n      locale?: string | null;\n      /**\n       * The set of desired fields.\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface GetSiteContributorsV2Response {\n      /** List of contributors of the given site. */\n      contributors?: Contributor$1[];\n      /** List of invites to contribute to the given site. */\n      invites?: SiteInvite$1[];\n      /** Quota information for contributors on the given site. */\n      contributorsQuota?: ContributorsQuota;\n  }\n  interface ContributorsQuota extends ContributorsQuotaOptionsOneOf {\n      /** Limited contributors quota details. */\n      limitedOptions?: LimitedOptions;\n      /** Type of contributors quota */\n      type?: Type;\n  }\n  /** @oneof */\n  interface ContributorsQuotaOptionsOneOf {\n      /** Limited contributors quota details. */\n      limitedOptions?: LimitedOptions;\n  }\n  /** Enum to represent different types of contributors quota. */\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      LIMITED = \"LIMITED\",\n      UNLIMITED = \"UNLIMITED\"\n  }\n  /** Details for a limited contributors quota. */\n  interface LimitedOptions {\n      /** Maximum number of contributors allowed. */\n      limit?: number;\n      /** Number of accepted or pending invitations. */\n      used?: number;\n  }\n  interface HandleSiteTransferRequest {\n      originalOwnerAccountId?: string;\n      newOwnerAccountId?: string;\n      metaSiteId?: string;\n      keepOriginalOwnerAsContributor?: boolean;\n  }\n  interface HandleSiteTransferResponse {\n  }\n  interface GetCurrentUserRolesRequest {\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  interface GetCurrentUserRolesResponse {\n      roles?: LocalizedRole[];\n  }\n  interface LocalizedRole {\n      name?: string;\n      description?: string | null;\n  }\n  interface BulkGetUserRolesOnSiteRequest {\n      users?: UserSubject[];\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  interface UserSubject {\n      userId?: string;\n      accountId?: string;\n  }\n  interface BulkGetUserRolesOnSiteResponse {\n      userRoles?: UserLocalizedRoles[];\n  }\n  interface UserLocalizedRoles {\n      user?: UserSubject;\n      roles?: LocalizedRole[];\n  }\n  interface ChangeContributorRoleRequest {\n      /** Contributor's account ID. */\n      accountId: string;\n      /** New roles to assign to the contributor on the site. */\n      newRoles: SiteRoleAssignment[];\n  }\n  interface SiteRoleAssignment {\n      /** Role ID. Sometimes referred to as policy ID. See [Roles and Permissions](https://support.wix.com/en/article/roles-permissions-overview) for a list of available roles. */\n      roleId?: string;\n      /**\n       * Assignment ID mapping the role to the contributor on the site.\n       * @readonly\n       */\n      assignmentId?: string;\n  }\n  interface ChangeContributorRoleResponse {\n      /** New roles assigned to the contributor on the site. */\n      newAssignedRoles?: SiteRoleAssignment[];\n  }\n  interface QuerySiteContributorsRequest {\n      filter?: QuerySiteContributorsFilter;\n      /** @internal */\n      fieldSet?: FieldSet[];\n  }\n  interface QuerySiteContributorsFilter {\n      /** Role IDs (referred to here as policy IDs) to return. See [Roles and Permissions](https://support.wix.com/en/article/roles-permissions-overview) for available roles. */\n      policyIds?: string[];\n  }\n  enum FieldSet {\n      UNKNOWN = \"UNKNOWN\",\n      /** Include only `account_id` and `account_owner_id` fields. */\n      META_DATA = \"META_DATA\"\n  }\n  interface QuerySiteContributorsResponse {\n      /** List of site contributors. */\n      contributors?: ContributorV2[];\n  }\n  interface ContributorV2 {\n      /** Contributor's account ID. */\n      accountId?: string | null;\n      /** User ID of the owner of the account that the contributor has joined. */\n      accountOwnerId?: string | null;\n  }\n  interface GetContributorsQuotaRequest {\n  }\n  interface GetContributorsQuotaResponse {\n      /** Quota information for contributors on the given site. */\n      contributorsQuota?: ContributorsQuota;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @permissionId DEV_CENTER.GET_APP_CONTRIBUTORS\n   * @adminMethod\n   */\n  function getAppContributors(appId: string, options?: GetAppContributorsOptions): Promise<GetAppContributorsResponse>;\n  interface GetAppContributorsOptions {\n      /** The locale of the request. Defaults to en-us. */\n      locale?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getSiteContributors(options?: GetSiteContributorsOptions): Promise<GetSiteContributorsResponse>;\n  interface GetSiteContributorsOptions {\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  /**\n   * returns a list of all the contributors + invites to be contributors of a given meta site ID taken from the\n   * context.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId site-users.view-users\n   * @adminMethod\n   */\n  function getSiteContributorsV2(options?: GetSiteContributorsV2Options): Promise<GetSiteContributorsV2Response>;\n  interface GetSiteContributorsV2Options {\n      /** The locale of the request. Defaults to en-us. */\n      locale?: string | null;\n      /**\n       * The set of desired fields.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId SITE_ROLES.HANDLE_SITE_TRANSFER\n   * @adminMethod\n   */\n  function handleSiteTransfer(options?: HandleSiteTransferOptions): Promise<void>;\n  interface HandleSiteTransferOptions {\n      originalOwnerAccountId?: string;\n      newOwnerAccountId?: string;\n      metaSiteId?: string;\n      keepOriginalOwnerAsContributor?: boolean;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getCurrentUserRoles(options?: GetCurrentUserRolesOptions): Promise<GetCurrentUserRolesResponse>;\n  interface GetCurrentUserRolesOptions {\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  /**\n   * Get a list of roles (localized) for each user in the request on a specific site taken from aspects.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId SITE_ROLES.BULK_READ\n   * @adminMethod\n   */\n  function bulkGetUserRolesOnSite(options?: BulkGetUserRolesOnSiteOptions): Promise<BulkGetUserRolesOnSiteResponse>;\n  interface BulkGetUserRolesOnSiteOptions {\n      users?: UserSubject[];\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  /**\n   * Overrides all the roles of a contributor for the specified site.\n   * @param accountId - Contributor's account ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @requiredField options\n   * @requiredField options.newRoles\n   * @param options - Filter options. The `newRoles` field **must** be passed.\n   * @permissionId SITE_ROLES.CHANGE_ROLE\n   * @adminMethod\n   */\n  function changeRole$1(accountId: string, options: ChangeRoleOptions$1): Promise<ChangeContributorRoleResponse>;\n  interface ChangeRoleOptions$1 {\n      /** New roles to assign to the contributor on the site. */\n      newRoles: SiteRoleAssignment[];\n  }\n  /**\n   * Retrieves a list of contributors for the specified site, given the provided filters.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filter options.\n   * @permissionId site-users.view-users\n   * @adminMethod\n   */\n  function querySiteContributors(options?: QuerySiteContributorsOptions): Promise<QuerySiteContributorsResponse>;\n  interface QuerySiteContributorsOptions {\n      filter?: QuerySiteContributorsFilter;\n      /** @internal */\n      fieldSet?: FieldSet[];\n  }\n  /**\n   * returns the quota information for contributors on the given site.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId site-users.view-users\n   * @adminMethod\n   */\n  function getContributorsQuota(): Promise<GetContributorsQuotaResponse>;\n  \n  type identityV1Contributor_universal_d_GetAppContributorsRequest = GetAppContributorsRequest;\n  type identityV1Contributor_universal_d_GetAppContributorsResponse = GetAppContributorsResponse;\n  type identityV1Contributor_universal_d_AppInvite = AppInvite;\n  type identityV1Contributor_universal_d_GetSiteContributorsRequest = GetSiteContributorsRequest;\n  type identityV1Contributor_universal_d_GetSiteContributorsResponse = GetSiteContributorsResponse;\n  type identityV1Contributor_universal_d_Team = Team;\n  type identityV1Contributor_universal_d_PendingOwner = PendingOwner;\n  type identityV1Contributor_universal_d_ContributorLimit = ContributorLimit;\n  type identityV1Contributor_universal_d_GetSiteContributorsV2Request = GetSiteContributorsV2Request;\n  type identityV1Contributor_universal_d_GetSiteContributorsV2Response = GetSiteContributorsV2Response;\n  type identityV1Contributor_universal_d_ContributorsQuota = ContributorsQuota;\n  type identityV1Contributor_universal_d_ContributorsQuotaOptionsOneOf = ContributorsQuotaOptionsOneOf;\n  type identityV1Contributor_universal_d_Type = Type;\n  const identityV1Contributor_universal_d_Type: typeof Type;\n  type identityV1Contributor_universal_d_LimitedOptions = LimitedOptions;\n  type identityV1Contributor_universal_d_HandleSiteTransferRequest = HandleSiteTransferRequest;\n  type identityV1Contributor_universal_d_HandleSiteTransferResponse = HandleSiteTransferResponse;\n  type identityV1Contributor_universal_d_GetCurrentUserRolesRequest = GetCurrentUserRolesRequest;\n  type identityV1Contributor_universal_d_GetCurrentUserRolesResponse = GetCurrentUserRolesResponse;\n  type identityV1Contributor_universal_d_LocalizedRole = LocalizedRole;\n  type identityV1Contributor_universal_d_BulkGetUserRolesOnSiteRequest = BulkGetUserRolesOnSiteRequest;\n  type identityV1Contributor_universal_d_UserSubject = UserSubject;\n  type identityV1Contributor_universal_d_BulkGetUserRolesOnSiteResponse = BulkGetUserRolesOnSiteResponse;\n  type identityV1Contributor_universal_d_UserLocalizedRoles = UserLocalizedRoles;\n  type identityV1Contributor_universal_d_ChangeContributorRoleRequest = ChangeContributorRoleRequest;\n  type identityV1Contributor_universal_d_SiteRoleAssignment = SiteRoleAssignment;\n  type identityV1Contributor_universal_d_ChangeContributorRoleResponse = ChangeContributorRoleResponse;\n  type identityV1Contributor_universal_d_QuerySiteContributorsRequest = QuerySiteContributorsRequest;\n  type identityV1Contributor_universal_d_QuerySiteContributorsFilter = QuerySiteContributorsFilter;\n  type identityV1Contributor_universal_d_FieldSet = FieldSet;\n  const identityV1Contributor_universal_d_FieldSet: typeof FieldSet;\n  type identityV1Contributor_universal_d_QuerySiteContributorsResponse = QuerySiteContributorsResponse;\n  type identityV1Contributor_universal_d_ContributorV2 = ContributorV2;\n  type identityV1Contributor_universal_d_GetContributorsQuotaRequest = GetContributorsQuotaRequest;\n  type identityV1Contributor_universal_d_GetContributorsQuotaResponse = GetContributorsQuotaResponse;\n  const identityV1Contributor_universal_d_getAppContributors: typeof getAppContributors;\n  type identityV1Contributor_universal_d_GetAppContributorsOptions = GetAppContributorsOptions;\n  const identityV1Contributor_universal_d_getSiteContributors: typeof getSiteContributors;\n  type identityV1Contributor_universal_d_GetSiteContributorsOptions = GetSiteContributorsOptions;\n  const identityV1Contributor_universal_d_getSiteContributorsV2: typeof getSiteContributorsV2;\n  type identityV1Contributor_universal_d_GetSiteContributorsV2Options = GetSiteContributorsV2Options;\n  const identityV1Contributor_universal_d_handleSiteTransfer: typeof handleSiteTransfer;\n  type identityV1Contributor_universal_d_HandleSiteTransferOptions = HandleSiteTransferOptions;\n  const identityV1Contributor_universal_d_getCurrentUserRoles: typeof getCurrentUserRoles;\n  type identityV1Contributor_universal_d_GetCurrentUserRolesOptions = GetCurrentUserRolesOptions;\n  const identityV1Contributor_universal_d_bulkGetUserRolesOnSite: typeof bulkGetUserRolesOnSite;\n  type identityV1Contributor_universal_d_BulkGetUserRolesOnSiteOptions = BulkGetUserRolesOnSiteOptions;\n  const identityV1Contributor_universal_d_querySiteContributors: typeof querySiteContributors;\n  type identityV1Contributor_universal_d_QuerySiteContributorsOptions = QuerySiteContributorsOptions;\n  const identityV1Contributor_universal_d_getContributorsQuota: typeof getContributorsQuota;\n  namespace identityV1Contributor_universal_d {\n    export {\n      Contributor$1 as Contributor,\n      PersonMetaData$1 as PersonMetaData,\n      Assignment$1 as Assignment,\n      AssignedPolicy$1 as AssignedPolicy,\n      Restriction$1 as Restriction,\n      RestrictionRestrictionsOneOf$1 as RestrictionRestrictionsOneOf,\n      Resource$2 as Resource,\n      ResourceType$1 as ResourceType,\n      Conditions$1 as Conditions,\n      Condition$2 as Condition,\n      ConditionAttributeType$1 as ConditionAttributeType,\n      SiteRestriction$1 as SiteRestriction,\n      CompanionResource$1 as CompanionResource,\n      Subject$2 as Subject,\n      SubjectType$2 as SubjectType,\n      SubjectContext$2 as SubjectContext,\n      SubjectContextType$2 as SubjectContextType,\n      identityV1Contributor_universal_d_GetAppContributorsRequest as GetAppContributorsRequest,\n      identityV1Contributor_universal_d_GetAppContributorsResponse as GetAppContributorsResponse,\n      identityV1Contributor_universal_d_AppInvite as AppInvite,\n      identityV1Contributor_universal_d_GetSiteContributorsRequest as GetSiteContributorsRequest,\n      identityV1Contributor_universal_d_GetSiteContributorsResponse as GetSiteContributorsResponse,\n      User$1 as User,\n      Name$1 as Name,\n      identityV1Contributor_universal_d_Team as Team,\n      AccountInfo$1 as AccountInfo,\n      SiteInvite$1 as SiteInvite,\n      InviteStatus$3 as InviteStatus,\n      Policy$1 as Policy,\n      identityV1Contributor_universal_d_PendingOwner as PendingOwner,\n      identityV1Contributor_universal_d_ContributorLimit as ContributorLimit,\n      PredefinedRoles$1 as PredefinedRoles,\n      PredefinedRole$1 as PredefinedRole,\n      Role$1 as Role,\n      identityV1Contributor_universal_d_GetSiteContributorsV2Request as GetSiteContributorsV2Request,\n      identityV1Contributor_universal_d_GetSiteContributorsV2Response as GetSiteContributorsV2Response,\n      identityV1Contributor_universal_d_ContributorsQuota as ContributorsQuota,\n      identityV1Contributor_universal_d_ContributorsQuotaOptionsOneOf as ContributorsQuotaOptionsOneOf,\n      identityV1Contributor_universal_d_Type as Type,\n      identityV1Contributor_universal_d_LimitedOptions as LimitedOptions,\n      identityV1Contributor_universal_d_HandleSiteTransferRequest as HandleSiteTransferRequest,\n      identityV1Contributor_universal_d_HandleSiteTransferResponse as HandleSiteTransferResponse,\n      identityV1Contributor_universal_d_GetCurrentUserRolesRequest as GetCurrentUserRolesRequest,\n      identityV1Contributor_universal_d_GetCurrentUserRolesResponse as GetCurrentUserRolesResponse,\n      identityV1Contributor_universal_d_LocalizedRole as LocalizedRole,\n      identityV1Contributor_universal_d_BulkGetUserRolesOnSiteRequest as BulkGetUserRolesOnSiteRequest,\n      identityV1Contributor_universal_d_UserSubject as UserSubject,\n      identityV1Contributor_universal_d_BulkGetUserRolesOnSiteResponse as BulkGetUserRolesOnSiteResponse,\n      identityV1Contributor_universal_d_UserLocalizedRoles as UserLocalizedRoles,\n      identityV1Contributor_universal_d_ChangeContributorRoleRequest as ChangeContributorRoleRequest,\n      identityV1Contributor_universal_d_SiteRoleAssignment as SiteRoleAssignment,\n      identityV1Contributor_universal_d_ChangeContributorRoleResponse as ChangeContributorRoleResponse,\n      identityV1Contributor_universal_d_QuerySiteContributorsRequest as QuerySiteContributorsRequest,\n      identityV1Contributor_universal_d_QuerySiteContributorsFilter as QuerySiteContributorsFilter,\n      identityV1Contributor_universal_d_FieldSet as FieldSet,\n      identityV1Contributor_universal_d_QuerySiteContributorsResponse as QuerySiteContributorsResponse,\n      identityV1Contributor_universal_d_ContributorV2 as ContributorV2,\n      identityV1Contributor_universal_d_GetContributorsQuotaRequest as GetContributorsQuotaRequest,\n      identityV1Contributor_universal_d_GetContributorsQuotaResponse as GetContributorsQuotaResponse,\n      identityV1Contributor_universal_d_getAppContributors as getAppContributors,\n      identityV1Contributor_universal_d_GetAppContributorsOptions as GetAppContributorsOptions,\n      identityV1Contributor_universal_d_getSiteContributors as getSiteContributors,\n      identityV1Contributor_universal_d_GetSiteContributorsOptions as GetSiteContributorsOptions,\n      identityV1Contributor_universal_d_getSiteContributorsV2 as getSiteContributorsV2,\n      identityV1Contributor_universal_d_GetSiteContributorsV2Options as GetSiteContributorsV2Options,\n      identityV1Contributor_universal_d_handleSiteTransfer as handleSiteTransfer,\n      identityV1Contributor_universal_d_HandleSiteTransferOptions as HandleSiteTransferOptions,\n      identityV1Contributor_universal_d_getCurrentUserRoles as getCurrentUserRoles,\n      identityV1Contributor_universal_d_GetCurrentUserRolesOptions as GetCurrentUserRolesOptions,\n      identityV1Contributor_universal_d_bulkGetUserRolesOnSite as bulkGetUserRolesOnSite,\n      identityV1Contributor_universal_d_BulkGetUserRolesOnSiteOptions as BulkGetUserRolesOnSiteOptions,\n      changeRole$1 as changeRole,\n      ChangeRoleOptions$1 as ChangeRoleOptions,\n      identityV1Contributor_universal_d_querySiteContributors as querySiteContributors,\n      identityV1Contributor_universal_d_QuerySiteContributorsOptions as QuerySiteContributorsOptions,\n      identityV1Contributor_universal_d_getContributorsQuota as getContributorsQuota,\n    };\n  }\n  \n  interface AccountInvite$1 {\n      /**\n       * Invite ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Account ID.\n       * @readonly\n       */\n      accountId?: string;\n      /** Email address where the invite was sent. */\n      email?: string;\n      /**\n       * Deprecated. Use `policyIds`.\n       * @deprecated\n       */\n      role?: string;\n      /**\n       * Deprecated. Use `inviterAccountId`.\n       * @readonly\n       * @deprecated\n       */\n      inviterId?: string;\n      /**\n       * Invite status.\n       *\n       * Supported values:\n       * - **Pending:** The invite has been sent and is valid, waiting for the user's response.\n       * - **Used:** The invite has been accepted.\n       * - **Deleted:** The invite has been deleted or revoked.\n       * - **Declined:** The user has declined the invite.\n       * - **Expired:** The invite has expired without being accepted.\n       */\n      status?: InviteStatus$2;\n      /** Link to accept the invite. */\n      acceptLink?: string;\n      /**\n       * Inviting account ID.\n       * @readonly\n       */\n      inviterAccountId?: string;\n      /**\n       * Account ID that accepted the invite. Populated only once the invite is accepted.\n       * @readonly\n       */\n      acceptedByAccountId?: string | null;\n      /** Date the invite was created. */\n      dateCreated?: Date | null;\n      /** Role IDs included in the invite. */\n      policyIds?: string[];\n      /** Date the invite was last updated. */\n      dateUpdated?: Date | null;\n      /** Assets the users are invited to join. */\n      assignments?: InviteResourceAssignment$1[];\n      /**\n       * Brand domain.\n       * @internal\n       */\n      brandDomain?: string | null;\n      /** Invite expiration date. */\n      expirationDate?: Date | null;\n  }\n  /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */\n  enum InviteStatus$2 {\n      Pending = \"Pending\",\n      Used = \"Used\",\n      Deleted = \"Deleted\",\n      Declined = \"Declined\",\n      Expired = \"Expired\"\n  }\n  interface InviteResourceAssignment$1 {\n      /** Role ID. */\n      policyId?: string;\n      /** Resources the user will be able to access. */\n      assignments?: InviteAssignment$1[];\n  }\n  interface InviteAssignment$1 {\n      /** Full name of resource to be assigned. */\n      fullNameResource?: FullNameResource$1;\n      /**\n       * Condition that will limit the user's access.\n       * @internal\n       */\n      condition?: PolicyCondition$1;\n  }\n  interface FullNameResource$1 extends FullNameResourceResourceContextOneOf$1 {\n      /** Specific site details. */\n      siteContext?: SiteResourceContext$1;\n      /** Specific account details. */\n      accountContext?: AccountResourceContext$1;\n      /**\n       * Specific organization.\n       * @internal\n       */\n      organizationContext?: OrganizationResourceContext$1;\n      /**\n       * A specific resource. We will determine the resource type based on the action.\n       * @internal\n       */\n      resource?: Resource$1;\n  }\n  /** @oneof */\n  interface FullNameResourceResourceContextOneOf$1 {\n      /** Specific site details. */\n      siteContext?: SiteResourceContext$1;\n      /** Specific account details. */\n      accountContext?: AccountResourceContext$1;\n      /**\n       * Specific organization.\n       * @internal\n       */\n      organizationContext?: OrganizationResourceContext$1;\n  }\n  /** Site resource context. It indicates that the resource is under a site (can be the site itself or some asset of a site, like a blog post) */\n  interface SiteResourceContext$1 {\n      /** Site ID. */\n      metasiteId?: string;\n  }\n  /** Account resource contexts. It indicates that the resource is under the account (can be the account itself or some asset of an account, like a logo or a domain) */\n  interface AccountResourceContext$1 {\n      /** Account ID. */\n      accountId?: string;\n  }\n  interface OrganizationResourceContext$1 {\n  }\n  /**\n   * A custom resource. Is used to represent some asset that is not a direct resource context (site or account), but something custom.\n   * For example: payment method, blog post, domain, logo.\n   */\n  interface Resource$1 {\n      /** The resource id. */\n      _id?: string | null;\n      /** The resource type */\n      type?: string | null;\n  }\n  interface PolicyCondition$1 {\n      /** The type of the condition */\n      condition?: ConditionType$1;\n  }\n  interface ConditionType$1 extends ConditionTypeOfOneOf$1 {\n      /** @deprecated */\n      simpleCondition?: SimpleCondition$1;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition$1;\n      /** @deprecated */\n      environmentCondition?: EnvironmentCondition$1;\n      /** A single condition */\n      condition?: Condition$1;\n  }\n  /** @oneof */\n  interface ConditionTypeOfOneOf$1 {\n      /** @deprecated */\n      simpleCondition?: SimpleCondition$1;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition$1;\n      /** @deprecated */\n      environmentCondition?: EnvironmentCondition$1;\n      /** A single condition */\n      condition?: Condition$1;\n  }\n  interface SimpleCondition$1 {\n      attrName?: string;\n      value?: SimpleConditionValue$1;\n      op?: SimpleConditionOperator$1;\n      conditionModelId?: string;\n  }\n  interface SimpleConditionValue$1 extends SimpleConditionValueValueOneOf$1 {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface SimpleConditionValueValueOneOf$1 {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  enum SimpleConditionOperator$1 {\n      UNKNOWN_SIMPLE_OP = \"UNKNOWN_SIMPLE_OP\",\n      EQUAL = \"EQUAL\"\n  }\n  interface JoinedCondition$1 {\n      /** The operator that should be used when evaluating the condition */\n      op?: JoinedConditionOperator$1;\n      /** The conditions that should be evaluated, and then joined using the operator provided */\n      conditions?: ConditionType$1[];\n  }\n  enum JoinedConditionOperator$1 {\n      UNKNOWN_JOIN_OP = \"UNKNOWN_JOIN_OP\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  interface EnvironmentCondition$1 extends EnvironmentConditionConditionOneOf$1 {\n      experimentCondition?: ExperimentCondition$1;\n  }\n  /** @oneof */\n  interface EnvironmentConditionConditionOneOf$1 {\n      experimentCondition?: ExperimentCondition$1;\n  }\n  interface ExperimentCondition$1 {\n      spec?: string;\n      fallbackValue?: string;\n      expectedValue?: string;\n  }\n  interface Condition$1 {\n      /** The unique identifier of the condition model. Indicates which actions the condition is working on */\n      conditionModelId?: string;\n      /** The operator that should be evaluated */\n      operator?: ConditionOperator$1;\n  }\n  interface ConditionOperator$1 extends ConditionOperatorOperatorsOneOf$1 {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator$1;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator$1;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator$1;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator$1;\n  }\n  /** @oneof */\n  interface ConditionOperatorOperatorsOneOf$1 {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator$1;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator$1;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator$1;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator$1;\n  }\n  interface EqualOperator$1 {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the other side (attribute/value) */\n      attrName?: string;\n      /** The value to compare to. If the two parties are equal - we will return true. */\n      value?: ConditionValue$1;\n  }\n  interface ConditionValue$1 extends ConditionValueValueOneOf$1 {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface ConditionValueValueOneOf$1 {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  interface LikeOperator$1 {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the regex values provided. */\n      attrName?: string;\n      /** The regex values which the attribute value should be evaluated on. If the attribute value matches at least one of the regular expressions provided - we will return true */\n      values?: string[];\n  }\n  interface ExperimentOperator$1 {\n      /** The spec to conduct the experiment on. */\n      spec?: string;\n      /** The value to use if the experiment could not be conducted */\n      fallbackValue?: string;\n      /** The expected value of the experiment conduction. If it matches the actual value - true will be returned. Otherwise - false. */\n      expectedValue?: string;\n  }\n  /** Implies that the policy takes affect only if the depend on subject is permitted as well. */\n  interface DependOnOperator$1 {\n      /** The subject on which the current entry depends on. If the subject is allowed to perform what the query was about - the condition will be evaluated to true. Otherwise - false */\n      dependOnSubject?: Subject$1;\n  }\n  interface Subject$1 {\n      /** ID of identity assigned to the asset. */\n      _id?: string;\n      /** Type of identity assigned to the asset. Supported subject types include user IDs, account IDs, and app IDs. */\n      subjectType?: SubjectType$1;\n      /** Context of identity assigned to the asset. For example, a `subjectType` = `USER` will have `context` = `ACCOUNT`. */\n      context?: SubjectContext$1;\n  }\n  enum SubjectType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ACCOUNT = \"ACCOUNT\",\n      USER = \"USER\",\n      USER_GROUP = \"USER_GROUP\",\n      MEMBER_GROUP = \"MEMBER_GROUP\",\n      VISITOR_GROUP = \"VISITOR_GROUP\",\n      EXTERNAL_APP = \"EXTERNAL_APP\",\n      ACCOUNT_GROUP = \"ACCOUNT_GROUP\",\n      WIX_APP = \"WIX_APP\"\n  }\n  interface SubjectContext$1 {\n      _id?: string;\n      contextType?: SubjectContextType$1;\n  }\n  enum SubjectContextType$1 {\n      UNKNOWN_CTX = \"UNKNOWN_CTX\",\n      ORG_CTX = \"ORG_CTX\",\n      ACCOUNT_CTX = \"ACCOUNT_CTX\"\n  }\n  interface GetAccountInvitesRequest {\n  }\n  interface GetAccountInvitesResponse {\n      invites?: AccountInvite$1[];\n  }\n  interface GetAccountInviteRequest {\n      _id: string;\n  }\n  interface GetAccountInviteResponse {\n      invite?: AccountInvite$1;\n  }\n  interface AccountInviteRequest {\n      role?: string;\n      email?: string;\n      policyIds?: string[];\n  }\n  interface AccountInviteResponse {\n      invite?: AccountInvite$1;\n  }\n  interface CreateInviteRequest {\n      /** Array of potential team members' email addresses and their corresponding assignments (how they will be assigned when they accept the invite). */\n      subjectsAssignments: SubjectInviteAssignments[];\n      /**\n       * Whether to suppress (not send) emails to the assignees.\n       * @internal\n       */\n      suppressEmail?: boolean;\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  interface SubjectInviteAssignments {\n      /** Invitee's email address. */\n      subjectEmail?: string;\n      /** Mapping of roles (referred to here as policies) and assets (referred to here as resources) that will be assigned to the invitee when they accept the invite. When no resources are specified, the invitee will be given access to everything within the account. */\n      assignments?: InviteResourceAssignment$1[];\n  }\n  interface CreateInviteResponse {\n      /** Invites that were sent successfully. */\n      successfulInvites?: AccountInvite$1[];\n      /** Invites that failed. */\n      failedInvites?: InviteFailure[];\n  }\n  interface InviteFailure {\n      /** Email address of the failed invite. */\n      subjectEmail?: string;\n      /** Error description. */\n      errorMessage?: string;\n  }\n  interface BulkAccountInviteRequest {\n      role?: string;\n      emails?: string[];\n      policyIds?: string[];\n  }\n  interface BulkAccountInviteResponse {\n      invites?: AccountInvite$1[];\n      failedEmails?: string[];\n  }\n  interface ResendAccountInviteRequest {\n      inviteId: string;\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n  }\n  interface AcceptAccountInviteRequest {\n      inviteToken?: string;\n  }\n  interface AcceptAccountInviteResponse {\n  }\n  interface RevokeAccountInviteRequest {\n      inviteId: string;\n  }\n  interface RevokeAccountInviteResponse {\n  }\n  interface UpdateAccountInviteRequest {\n      inviteId: string;\n      role?: string;\n      policyIds?: string[];\n  }\n  interface UpdateAccountInviteResponse {\n  }\n  interface UpdateAccountInviteAssignmentsRequest {\n      inviteId: string;\n      assignments?: InviteResourceAssignment$1[];\n  }\n  interface UpdateAccountInviteAssignmentsResponse {\n  }\n  interface ParseAccountInviteTokenRequest {\n      inviteToken?: string;\n  }\n  interface ParseAccountInviteTokenResponse {\n      inviteId?: string;\n      accountId?: string;\n      status?: InviteStatus$2;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId team.view-invites\n   * @adminMethod\n   */\n  function getInvites$1(): Promise<GetAccountInvitesResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId team.view-invites\n   * @adminMethod\n   */\n  function getInvite$1(_id: string): Promise<AccountInvite$1>;\n  /**\n   * Deprecated: please use CreateInvite\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId team.send-invite\n   * @adminMethod\n   * @deprecated\n   */\n  function invite$1(options?: InviteOptions$1): Promise<AccountInviteResponse>;\n  interface InviteOptions$1 {\n      role?: string;\n      email?: string;\n      policyIds?: string[];\n  }\n  /**\n   * Creates and sends invite emails to a list of potential team members, inviting them to become team members of the requesting account.\n   * The invites may be limited to a specific resource (site or other asset).\n   * Maximum 50 invitees can be specified per call.\n   *\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param subjectsAssignments - Array of potential team members' email addresses and their corresponding assignments (how they will be assigned when they accept the invite).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField subjectsAssignments\n   * @param options - Filter options.\n   * @permissionId team.send-invite\n   * @adminMethod\n   */\n  function createInvite(subjectsAssignments: SubjectInviteAssignments[], options?: CreateInviteOptions): Promise<CreateInviteResponse>;\n  interface CreateInviteOptions {\n      /**\n       * Whether to suppress (not send) emails to the assignees.\n       * @internal\n       */\n      suppressEmail?: boolean;\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  /**\n   * Deprecated: please use CreateInvite\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId team.send-invite\n   * @adminMethod\n   * @deprecated\n   */\n  function bulkInvite$1(options?: BulkInviteOptions$1): Promise<BulkAccountInviteResponse>;\n  interface BulkInviteOptions$1 {\n      role?: string;\n      emails?: string[];\n      policyIds?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId team.send-invite\n   * @adminMethod\n   */\n  function resendInvite$1(inviteId: string, options?: ResendInviteOptions$1): Promise<AccountInviteResponse>;\n  interface ResendInviteOptions$1 {\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId team.accept-invite\n   * @adminMethod\n   */\n  function acceptInvite$1(options?: AcceptInviteOptions$1): Promise<void>;\n  interface AcceptInviteOptions$1 {\n      inviteToken?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId team.delete-invite\n   * @adminMethod\n   */\n  function revokeInvite$1(inviteId: string): Promise<void>;\n  /**\n   * Deprecated: please use UpdateInviteAssignments\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId team.change-invite\n   * @adminMethod\n   * @deprecated\n   */\n  function updateInvite$1(inviteId: string, options?: UpdateInviteOptions$1): Promise<void>;\n  interface UpdateInviteOptions$1 {\n      role?: string;\n      policyIds?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId team.change-invite\n   * @adminMethod\n   */\n  function updateInviteAssignments(inviteId: string, options?: UpdateInviteAssignmentsOptions): Promise<void>;\n  interface UpdateInviteAssignmentsOptions {\n      assignments?: InviteResourceAssignment$1[];\n  }\n  \n  type identityInvitesV1AccountInvite_universal_d_GetAccountInvitesRequest = GetAccountInvitesRequest;\n  type identityInvitesV1AccountInvite_universal_d_GetAccountInvitesResponse = GetAccountInvitesResponse;\n  type identityInvitesV1AccountInvite_universal_d_GetAccountInviteRequest = GetAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_GetAccountInviteResponse = GetAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_AccountInviteRequest = AccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_AccountInviteResponse = AccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_CreateInviteRequest = CreateInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_SubjectInviteAssignments = SubjectInviteAssignments;\n  type identityInvitesV1AccountInvite_universal_d_CreateInviteResponse = CreateInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_InviteFailure = InviteFailure;\n  type identityInvitesV1AccountInvite_universal_d_BulkAccountInviteRequest = BulkAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_BulkAccountInviteResponse = BulkAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_ResendAccountInviteRequest = ResendAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteRequest = AcceptAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteResponse = AcceptAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteRequest = RevokeAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteResponse = RevokeAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteRequest = UpdateAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteResponse = UpdateAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsRequest = UpdateAccountInviteAssignmentsRequest;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsResponse = UpdateAccountInviteAssignmentsResponse;\n  type identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenRequest = ParseAccountInviteTokenRequest;\n  type identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenResponse = ParseAccountInviteTokenResponse;\n  const identityInvitesV1AccountInvite_universal_d_createInvite: typeof createInvite;\n  type identityInvitesV1AccountInvite_universal_d_CreateInviteOptions = CreateInviteOptions;\n  const identityInvitesV1AccountInvite_universal_d_updateInviteAssignments: typeof updateInviteAssignments;\n  type identityInvitesV1AccountInvite_universal_d_UpdateInviteAssignmentsOptions = UpdateInviteAssignmentsOptions;\n  namespace identityInvitesV1AccountInvite_universal_d {\n    export {\n      AccountInvite$1 as AccountInvite,\n      InviteStatus$2 as InviteStatus,\n      InviteResourceAssignment$1 as InviteResourceAssignment,\n      InviteAssignment$1 as InviteAssignment,\n      FullNameResource$1 as FullNameResource,\n      FullNameResourceResourceContextOneOf$1 as FullNameResourceResourceContextOneOf,\n      SiteResourceContext$1 as SiteResourceContext,\n      AccountResourceContext$1 as AccountResourceContext,\n      OrganizationResourceContext$1 as OrganizationResourceContext,\n      Resource$1 as Resource,\n      PolicyCondition$1 as PolicyCondition,\n      ConditionType$1 as ConditionType,\n      ConditionTypeOfOneOf$1 as ConditionTypeOfOneOf,\n      SimpleCondition$1 as SimpleCondition,\n      SimpleConditionValue$1 as SimpleConditionValue,\n      SimpleConditionValueValueOneOf$1 as SimpleConditionValueValueOneOf,\n      SimpleConditionOperator$1 as SimpleConditionOperator,\n      JoinedCondition$1 as JoinedCondition,\n      JoinedConditionOperator$1 as JoinedConditionOperator,\n      EnvironmentCondition$1 as EnvironmentCondition,\n      EnvironmentConditionConditionOneOf$1 as EnvironmentConditionConditionOneOf,\n      ExperimentCondition$1 as ExperimentCondition,\n      Condition$1 as Condition,\n      ConditionOperator$1 as ConditionOperator,\n      ConditionOperatorOperatorsOneOf$1 as ConditionOperatorOperatorsOneOf,\n      EqualOperator$1 as EqualOperator,\n      ConditionValue$1 as ConditionValue,\n      ConditionValueValueOneOf$1 as ConditionValueValueOneOf,\n      LikeOperator$1 as LikeOperator,\n      ExperimentOperator$1 as ExperimentOperator,\n      DependOnOperator$1 as DependOnOperator,\n      Subject$1 as Subject,\n      SubjectType$1 as SubjectType,\n      SubjectContext$1 as SubjectContext,\n      SubjectContextType$1 as SubjectContextType,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInvitesRequest as GetAccountInvitesRequest,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInvitesResponse as GetAccountInvitesResponse,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInviteRequest as GetAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInviteResponse as GetAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_AccountInviteRequest as AccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_AccountInviteResponse as AccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_CreateInviteRequest as CreateInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_SubjectInviteAssignments as SubjectInviteAssignments,\n      identityInvitesV1AccountInvite_universal_d_CreateInviteResponse as CreateInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_InviteFailure as InviteFailure,\n      identityInvitesV1AccountInvite_universal_d_BulkAccountInviteRequest as BulkAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_BulkAccountInviteResponse as BulkAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_ResendAccountInviteRequest as ResendAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteRequest as AcceptAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteResponse as AcceptAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteRequest as RevokeAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteResponse as RevokeAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteRequest as UpdateAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteResponse as UpdateAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsRequest as UpdateAccountInviteAssignmentsRequest,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsResponse as UpdateAccountInviteAssignmentsResponse,\n      identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenRequest as ParseAccountInviteTokenRequest,\n      identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenResponse as ParseAccountInviteTokenResponse,\n      getInvites$1 as getInvites,\n      getInvite$1 as getInvite,\n      invite$1 as invite,\n      InviteOptions$1 as InviteOptions,\n      identityInvitesV1AccountInvite_universal_d_createInvite as createInvite,\n      identityInvitesV1AccountInvite_universal_d_CreateInviteOptions as CreateInviteOptions,\n      bulkInvite$1 as bulkInvite,\n      BulkInviteOptions$1 as BulkInviteOptions,\n      resendInvite$1 as resendInvite,\n      ResendInviteOptions$1 as ResendInviteOptions,\n      acceptInvite$1 as acceptInvite,\n      AcceptInviteOptions$1 as AcceptInviteOptions,\n      revokeInvite$1 as revokeInvite,\n      updateInvite$1 as updateInvite,\n      UpdateInviteOptions$1 as UpdateInviteOptions,\n      identityInvitesV1AccountInvite_universal_d_updateInviteAssignments as updateInviteAssignments,\n      identityInvitesV1AccountInvite_universal_d_UpdateInviteAssignmentsOptions as UpdateInviteAssignmentsOptions,\n    };\n  }\n  \n  interface SiteInvite {\n      /**\n       * Invite ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Site ID the user is invited to as a collaborator.\n       * @readonly\n       */\n      siteId?: string;\n      /** Email address where the invite was sent. */\n      email?: string;\n      /** Role IDs included in the invite. */\n      policyIds?: string[];\n      /**\n       * Deprecated. Use `inviterAccountId`.\n       * @readonly\n       * @deprecated\n       */\n      inviterId?: string;\n      /**\n       * Invite Status.\n       *\n       * Supported values:\n       * - **Pending:** The invite has been sent and is valid, waiting for the user's response.\n       * - **Used:** The invite has been accepted.\n       * - **Deleted:** The invite has been deleted or revoked.\n       * - **Declined:** The user declined the invite.\n       * - **Expired:** The invite has expired without being accepted.\n       */\n      status?: InviteStatus$1;\n      /** Link to accept the invite. */\n      acceptLink?: string;\n      /**\n       * Inviting account ID.\n       * @readonly\n       */\n      inviterAccountId?: string;\n      /**\n       * Account ID that accepted the invite. Populated only once the invite is accepted.\n       * @readonly\n       */\n      acceptedByAccountId?: string | null;\n      /** Date the invite was created. */\n      dateCreated?: Date | null;\n      /** User's Wix Bookings staff ID, if relevant. */\n      staffId?: string | null;\n      /**\n       * Brand domain.\n       * @internal\n       */\n      brandDomain?: string | null;\n      /**\n       * Optional field representing the purpose of the invite\n       * @internal\n       */\n      invitePurpose?: string | null;\n      /** Invite expiration date */\n      expirationDate?: Date | null;\n  }\n  /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */\n  enum InviteStatus$1 {\n      Pending = \"Pending\",\n      Used = \"Used\",\n      Deleted = \"Deleted\",\n      Declined = \"Declined\",\n      Expired = \"Expired\"\n  }\n  interface GetSiteInvitesRequest {\n  }\n  interface GetSiteInvitesResponse {\n      invites?: SiteInvite[];\n  }\n  interface QuerySiteInvitesRequest {\n      /**\n       * Supports only `filter` field with\n       * `\"filter\" : {\n       * \"acceptedByAccountId\":{\"$in\": [<id1>, <id2>, ...]}\n       * }`\n       */\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySiteInvitesResponse {\n      invites?: SiteInvite[];\n  }\n  interface GetSiteInviteRequest {\n      _id: string;\n  }\n  interface GetSiteInviteResponse {\n      invite?: SiteInvite;\n  }\n  interface SiteInviteRequest {\n      /** The role ids to be assigned */\n      policyIds?: string[];\n      /** Invitee email */\n      email?: string;\n      /**\n       * Booking staff id\n       * @internal\n       */\n      staffId?: string | null;\n      /**\n       * Invite purpose\n       * @internal\n       */\n      invitePurpose?: string | null;\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n      /**\n       * An indicator for suppressing (not sending) emails to the assignees.\n       * @internal\n       */\n      suppressEmail?: boolean;\n  }\n  interface SiteInviteResponse {\n      /** Invites that were sent. */\n      invite?: SiteInvite;\n  }\n  interface BulkSiteInviteRequest {\n      /** Role IDs, referred to as policy IDs, to assign to the contributors. */\n      policyIds: string[];\n      /** Email addresses to which the invites should be sent. */\n      emails: string[];\n      /** Details explaining the purpose of the invite. */\n      invitePurpose?: string | null;\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  interface BulkSiteInviteResponse {\n      /** Invites that were sent successfully. */\n      invites?: SiteInvite[];\n      /** Invites that failed. */\n      failedEmails?: string[];\n  }\n  interface ResendSiteInviteRequest {\n      /** Invite ID. */\n      inviteId: string;\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  interface AcceptSiteInviteRequest {\n      inviteToken?: string;\n  }\n  interface AcceptSiteInviteResponse {\n  }\n  interface RevokeSiteInviteRequest {\n      /** Invite ID. */\n      inviteId: string;\n  }\n  interface RevokeSiteInviteResponse {\n  }\n  interface UpdateSiteInviteRequest {\n      inviteId: string;\n      policyIds?: string[];\n      staffId?: string | null;\n  }\n  interface UpdateSiteInviteResponse {\n  }\n  interface GetContributorLimitRequest {\n  }\n  interface GetContributorLimitResponse {\n      contributorLimitation?: ContributorLimitation;\n  }\n  interface ContributorLimitation {\n      contributorLimit?: number;\n      leftInvites?: number;\n  }\n  interface ParseSiteInviteTokenRequest {\n      inviteToken?: string;\n  }\n  interface ParseSiteInviteTokenResponse {\n      inviteId?: string;\n      siteId?: string;\n      status?: InviteStatus$1;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId site-users.view-invitations\n   * @adminMethod\n   */\n  function getInvites(): Promise<GetSiteInvitesResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId site-users.view-invitations\n   * @adminMethod\n   */\n  function queryInvites(options?: QueryInvitesOptions): Promise<QuerySiteInvitesResponse>;\n  interface QueryInvitesOptions {\n      /**\n       * Supports only `filter` field with\n       * `\"filter\" : {\n       * \"acceptedByAccountId\":{\"$in\": [<id1>, <id2>, ...]}\n       * }`\n       */\n      query?: QueryV2;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId site-users.view-invitations\n   * @adminMethod\n   */\n  function getInvite(_id: string): Promise<SiteInvite>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId site-users.send-invite\n   * @adminMethod\n   */\n  function invite(options?: InviteOptions): Promise<SiteInviteResponse>;\n  interface InviteOptions {\n      /** The role ids to be assigned */\n      policyIds?: string[];\n      /** Invitee email */\n      email?: string;\n      /**\n       * Booking staff id\n       * @internal\n       */\n      staffId?: string | null;\n      /**\n       * Invite purpose\n       * @internal\n       */\n      invitePurpose?: string | null;\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n      /**\n       * An indicator for suppressing (not sending) emails to the assignees.\n       * @internal\n       */\n      suppressEmail?: boolean;\n  }\n  /**\n   * Creates and sends emails inviting potential site contributors to become contributors in the requesting site.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param policyIds - Role IDs, referred to as policy IDs, to assign to the contributors.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.emails\n   * @requiredField policyIds\n   * @param options - Filter options.\n   * @permissionId site-users.send-invite\n   * @adminMethod\n   */\n  function bulkInvite(policyIds: string[], options?: BulkInviteOptions): Promise<BulkSiteInviteResponse>;\n  interface BulkInviteOptions {\n      /** Email addresses to which the invites should be sent. */\n      emails: string[];\n      /** Details explaining the purpose of the invite. */\n      invitePurpose?: string | null;\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  /**\n   * Resends the email invitation to a potential site contributor.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param inviteId - Invite ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @param options - Filter options.\n   * @permissionId site-users.send-invite\n   * @adminMethod\n   */\n  function resendInvite(inviteId: string, options?: ResendInviteOptions): Promise<SiteInviteResponse>;\n  interface ResendInviteOptions {\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function acceptInvite(options?: AcceptInviteOptions): Promise<void>;\n  interface AcceptInviteOptions {\n      inviteToken?: string;\n  }\n  /**\n   * Revokes a pending site contributor invite.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param inviteId - Invite ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId site-users.delete-invite\n   * @adminMethod\n   */\n  function revokeInvite(inviteId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId site-users.remove-user\n   * @adminMethod\n   */\n  function updateInvite(inviteId: string, options?: UpdateInviteOptions): Promise<void>;\n  interface UpdateInviteOptions {\n      policyIds?: string[];\n      staffId?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getContributorLimit(): Promise<GetContributorLimitResponse>;\n  \n  type identityInvitesV1SiteInvite_universal_d_SiteInvite = SiteInvite;\n  type identityInvitesV1SiteInvite_universal_d_GetSiteInvitesRequest = GetSiteInvitesRequest;\n  type identityInvitesV1SiteInvite_universal_d_GetSiteInvitesResponse = GetSiteInvitesResponse;\n  type identityInvitesV1SiteInvite_universal_d_QuerySiteInvitesRequest = QuerySiteInvitesRequest;\n  type identityInvitesV1SiteInvite_universal_d_QueryV2 = QueryV2;\n  type identityInvitesV1SiteInvite_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type identityInvitesV1SiteInvite_universal_d_Sorting = Sorting;\n  type identityInvitesV1SiteInvite_universal_d_SortOrder = SortOrder;\n  const identityInvitesV1SiteInvite_universal_d_SortOrder: typeof SortOrder;\n  type identityInvitesV1SiteInvite_universal_d_CursorPaging = CursorPaging;\n  type identityInvitesV1SiteInvite_universal_d_QuerySiteInvitesResponse = QuerySiteInvitesResponse;\n  type identityInvitesV1SiteInvite_universal_d_GetSiteInviteRequest = GetSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_GetSiteInviteResponse = GetSiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_SiteInviteRequest = SiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_SiteInviteResponse = SiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_BulkSiteInviteRequest = BulkSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_BulkSiteInviteResponse = BulkSiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_ResendSiteInviteRequest = ResendSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_AcceptSiteInviteRequest = AcceptSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_AcceptSiteInviteResponse = AcceptSiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_RevokeSiteInviteRequest = RevokeSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_RevokeSiteInviteResponse = RevokeSiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_UpdateSiteInviteRequest = UpdateSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_UpdateSiteInviteResponse = UpdateSiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_GetContributorLimitRequest = GetContributorLimitRequest;\n  type identityInvitesV1SiteInvite_universal_d_GetContributorLimitResponse = GetContributorLimitResponse;\n  type identityInvitesV1SiteInvite_universal_d_ContributorLimitation = ContributorLimitation;\n  type identityInvitesV1SiteInvite_universal_d_ParseSiteInviteTokenRequest = ParseSiteInviteTokenRequest;\n  type identityInvitesV1SiteInvite_universal_d_ParseSiteInviteTokenResponse = ParseSiteInviteTokenResponse;\n  const identityInvitesV1SiteInvite_universal_d_getInvites: typeof getInvites;\n  const identityInvitesV1SiteInvite_universal_d_queryInvites: typeof queryInvites;\n  type identityInvitesV1SiteInvite_universal_d_QueryInvitesOptions = QueryInvitesOptions;\n  const identityInvitesV1SiteInvite_universal_d_getInvite: typeof getInvite;\n  const identityInvitesV1SiteInvite_universal_d_invite: typeof invite;\n  type identityInvitesV1SiteInvite_universal_d_InviteOptions = InviteOptions;\n  const identityInvitesV1SiteInvite_universal_d_bulkInvite: typeof bulkInvite;\n  type identityInvitesV1SiteInvite_universal_d_BulkInviteOptions = BulkInviteOptions;\n  const identityInvitesV1SiteInvite_universal_d_resendInvite: typeof resendInvite;\n  type identityInvitesV1SiteInvite_universal_d_ResendInviteOptions = ResendInviteOptions;\n  const identityInvitesV1SiteInvite_universal_d_acceptInvite: typeof acceptInvite;\n  type identityInvitesV1SiteInvite_universal_d_AcceptInviteOptions = AcceptInviteOptions;\n  const identityInvitesV1SiteInvite_universal_d_revokeInvite: typeof revokeInvite;\n  const identityInvitesV1SiteInvite_universal_d_updateInvite: typeof updateInvite;\n  type identityInvitesV1SiteInvite_universal_d_UpdateInviteOptions = UpdateInviteOptions;\n  const identityInvitesV1SiteInvite_universal_d_getContributorLimit: typeof getContributorLimit;\n  namespace identityInvitesV1SiteInvite_universal_d {\n    export {\n      identityInvitesV1SiteInvite_universal_d_SiteInvite as SiteInvite,\n      InviteStatus$1 as InviteStatus,\n      identityInvitesV1SiteInvite_universal_d_GetSiteInvitesRequest as GetSiteInvitesRequest,\n      identityInvitesV1SiteInvite_universal_d_GetSiteInvitesResponse as GetSiteInvitesResponse,\n      identityInvitesV1SiteInvite_universal_d_QuerySiteInvitesRequest as QuerySiteInvitesRequest,\n      identityInvitesV1SiteInvite_universal_d_QueryV2 as QueryV2,\n      identityInvitesV1SiteInvite_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      identityInvitesV1SiteInvite_universal_d_Sorting as Sorting,\n      identityInvitesV1SiteInvite_universal_d_SortOrder as SortOrder,\n      Paging$1 as Paging,\n      identityInvitesV1SiteInvite_universal_d_CursorPaging as CursorPaging,\n      identityInvitesV1SiteInvite_universal_d_QuerySiteInvitesResponse as QuerySiteInvitesResponse,\n      identityInvitesV1SiteInvite_universal_d_GetSiteInviteRequest as GetSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_GetSiteInviteResponse as GetSiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_SiteInviteRequest as SiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_SiteInviteResponse as SiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_BulkSiteInviteRequest as BulkSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_BulkSiteInviteResponse as BulkSiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_ResendSiteInviteRequest as ResendSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_AcceptSiteInviteRequest as AcceptSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_AcceptSiteInviteResponse as AcceptSiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_RevokeSiteInviteRequest as RevokeSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_RevokeSiteInviteResponse as RevokeSiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_UpdateSiteInviteRequest as UpdateSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_UpdateSiteInviteResponse as UpdateSiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_GetContributorLimitRequest as GetContributorLimitRequest,\n      identityInvitesV1SiteInvite_universal_d_GetContributorLimitResponse as GetContributorLimitResponse,\n      identityInvitesV1SiteInvite_universal_d_ContributorLimitation as ContributorLimitation,\n      identityInvitesV1SiteInvite_universal_d_ParseSiteInviteTokenRequest as ParseSiteInviteTokenRequest,\n      identityInvitesV1SiteInvite_universal_d_ParseSiteInviteTokenResponse as ParseSiteInviteTokenResponse,\n      identityInvitesV1SiteInvite_universal_d_getInvites as getInvites,\n      identityInvitesV1SiteInvite_universal_d_queryInvites as queryInvites,\n      identityInvitesV1SiteInvite_universal_d_QueryInvitesOptions as QueryInvitesOptions,\n      identityInvitesV1SiteInvite_universal_d_getInvite as getInvite,\n      identityInvitesV1SiteInvite_universal_d_invite as invite,\n      identityInvitesV1SiteInvite_universal_d_InviteOptions as InviteOptions,\n      identityInvitesV1SiteInvite_universal_d_bulkInvite as bulkInvite,\n      identityInvitesV1SiteInvite_universal_d_BulkInviteOptions as BulkInviteOptions,\n      identityInvitesV1SiteInvite_universal_d_resendInvite as resendInvite,\n      identityInvitesV1SiteInvite_universal_d_ResendInviteOptions as ResendInviteOptions,\n      identityInvitesV1SiteInvite_universal_d_acceptInvite as acceptInvite,\n      identityInvitesV1SiteInvite_universal_d_AcceptInviteOptions as AcceptInviteOptions,\n      identityInvitesV1SiteInvite_universal_d_revokeInvite as revokeInvite,\n      identityInvitesV1SiteInvite_universal_d_updateInvite as updateInvite,\n      identityInvitesV1SiteInvite_universal_d_UpdateInviteOptions as UpdateInviteOptions,\n      identityInvitesV1SiteInvite_universal_d_getContributorLimit as getContributorLimit,\n    };\n  }\n  \n  interface User {\n      /** User ID. */\n      _id?: string;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      roles?: string[];\n      /** User's email address. */\n      email?: string;\n      /** User's name. */\n      name?: Name;\n      /** URL to user's profile image, when provided. */\n      profileImage?: string | null;\n      /** Date the user joined the team. */\n      joinedTeamAt?: Date | null;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      policyIds?: string[];\n      /** Resources the user can access. */\n      assignments?: Assignment[];\n  }\n  interface Name {\n      /** User's first name. */\n      firstName?: string;\n      /** User's last name. */\n      lastName?: string;\n  }\n  interface Assignment {\n      /** Role assigned to the user. */\n      policy?: AssignedPolicy;\n      /** Unique ID for this specific assignment. */\n      assignmentId?: string;\n      /**\n       * The asset a user is assigned access to in an assignment, including any restrictions to their access. When empty, the role covers all assets, with no restrictions to specific sites or folders.\n       * @internal\n       */\n      restrictions?: Restriction;\n      /** Identity assigned to the asset in an assignment, referred to as subject. Supported subjects include user IDs, account IDs, and app IDs. */\n      subject?: Subject;\n  }\n  interface AssignedPolicy {\n      /** Role ID. */\n      policyId?: string;\n      /** Role title. */\n      title?: string | null;\n      /** Role description. */\n      description?: string | null;\n  }\n  interface Restriction extends RestrictionRestrictionsOneOf {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      resource?: ApiResource;\n      /** List of conditions restricting the user's access. Currently only folder conditions are supported. */\n      conditions?: Conditions;\n      /** Site where the assignment restrictions apply. */\n      site?: SiteRestriction;\n  }\n  /** @oneof */\n  interface RestrictionRestrictionsOneOf {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      resource?: ApiResource;\n      /** List of conditions restricting the user's access. Currently only folder conditions are supported. */\n      conditions?: Conditions;\n      /** Site where the assignment restrictions apply. */\n      site?: SiteRestriction;\n  }\n  interface ApiResource {\n      /** Resource type. */\n      resourceType?: ResourceType;\n      /** Resource ID. */\n      _id?: string;\n      value?: string | null;\n  }\n  enum ResourceType {\n      UNKNOWN_RESOURCE_TYPE = \"UNKNOWN_RESOURCE_TYPE\",\n      SITE = \"SITE\"\n  }\n  interface Conditions {\n      /** List of conditions. */\n      conditions?: ApiCondition[];\n  }\n  interface ApiCondition {\n      /** Condition type. */\n      conditionType?: ConditionAttributeType;\n      /** Condition ID. */\n      _id?: string;\n      /** Expected value of the condition. When `conditionType` = \"FOLDER\", this is the folder path. */\n      value?: string | null;\n  }\n  enum ConditionAttributeType {\n      UNKNOWN_CONDITION_TYPE = \"UNKNOWN_CONDITION_TYPE\",\n      FOLDER = \"FOLDER\"\n  }\n  interface SiteRestriction {\n      /** Site ID. */\n      _id?: string;\n      /** Site name. */\n      value?: string | null;\n      /**\n       * A specific asset (referred to as a resource) inside the site, if relevant. For example, a specific dashboard page.\n       * @internal\n       */\n      resource?: CompanionResource;\n  }\n  interface CompanionResource {\n      /** Asset ID (referred to here as resource ID). */\n      _id?: string;\n      /** Asset type (referred to here as resource type). as predefined in the authorization system */\n      resourceType?: string;\n  }\n  interface Subject {\n      /** ID of identity assigned to the asset. */\n      _id?: string;\n      /** Type of identity assigned to the asset. Supported subject types include user IDs, account IDs, and app IDs. */\n      subjectType?: SubjectType;\n      /** Context of identity assigned to the asset. For example, a `subjectType` = `USER` will have `context` = `ACCOUNT`. */\n      context?: SubjectContext;\n  }\n  enum SubjectType {\n      UNKNOWN = \"UNKNOWN\",\n      ACCOUNT = \"ACCOUNT\",\n      USER = \"USER\",\n      USER_GROUP = \"USER_GROUP\",\n      MEMBER_GROUP = \"MEMBER_GROUP\",\n      VISITOR_GROUP = \"VISITOR_GROUP\",\n      EXTERNAL_APP = \"EXTERNAL_APP\",\n      ACCOUNT_GROUP = \"ACCOUNT_GROUP\",\n      WIX_APP = \"WIX_APP\"\n  }\n  interface SubjectContext {\n      _id?: string;\n      contextType?: SubjectContextType;\n  }\n  enum SubjectContextType {\n      UNKNOWN_CTX = \"UNKNOWN_CTX\",\n      ORG_CTX = \"ORG_CTX\",\n      ACCOUNT_CTX = \"ACCOUNT_CTX\"\n  }\n  interface GetTeamRequest {\n      /** @deprecated */\n      usersLimit?: number | null;\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface GetTeamResponse {\n      users?: User[];\n      invites?: AccountInvite[];\n      accountInfo?: AccountInfo;\n      permissions?: string[];\n      userId?: string;\n      targetAccountId?: string;\n      policies?: ApiPolicy[];\n      totalUsersInAccount?: string;\n      predefinedRoles?: PredefinedRoles;\n  }\n  interface AccountInvite {\n      /**\n       * Invite ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Account ID.\n       * @readonly\n       */\n      accountId?: string;\n      /** Email address where the invite was sent. */\n      email?: string;\n      /**\n       * Deprecated. Use `policyIds`.\n       * @deprecated\n       */\n      role?: string;\n      /**\n       * Deprecated. Use `inviterAccountId`.\n       * @readonly\n       * @deprecated\n       */\n      inviterId?: string;\n      /**\n       * Invite status.\n       *\n       * Supported values:\n       * - **Pending:** The invite has been sent and is valid, waiting for the user's response.\n       * - **Used:** The invite has been accepted.\n       * - **Deleted:** The invite has been deleted or revoked.\n       * - **Declined:** The user has declined the invite.\n       * - **Expired:** The invite has expired without being accepted.\n       */\n      status?: InviteStatus;\n      /** Link to accept the invite. */\n      acceptLink?: string;\n      /**\n       * Inviting account ID.\n       * @readonly\n       */\n      inviterAccountId?: string;\n      /**\n       * Account ID that accepted the invite. Populated only once the invite is accepted.\n       * @readonly\n       */\n      acceptedByAccountId?: string | null;\n      /** Date the invite was created. */\n      dateCreated?: Date | null;\n      /** Role IDs included in the invite. */\n      policyIds?: string[];\n      /** Date the invite was last updated. */\n      dateUpdated?: Date | null;\n      /** Assets the users are invited to join. */\n      assignments?: InviteResourceAssignment[];\n      /**\n       * Brand domain.\n       * @internal\n       */\n      brandDomain?: string | null;\n      /** Invite expiration date. */\n      expirationDate?: Date | null;\n  }\n  /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */\n  enum InviteStatus {\n      Pending = \"Pending\",\n      Used = \"Used\",\n      Deleted = \"Deleted\",\n      Declined = \"Declined\",\n      Expired = \"Expired\"\n  }\n  interface InviteResourceAssignment {\n      /** Role ID. */\n      policyId?: string;\n      /** Resources the user will be able to access. */\n      assignments?: InviteAssignment[];\n  }\n  interface InviteAssignment {\n      /** Full name of resource to be assigned. */\n      fullNameResource?: FullNameResource;\n      /**\n       * Condition that will limit the user's access.\n       * @internal\n       */\n      condition?: PolicyCondition;\n  }\n  interface FullNameResource extends FullNameResourceResourceContextOneOf {\n      /** Specific site details. */\n      siteContext?: SiteResourceContext;\n      /** Specific account details. */\n      accountContext?: AccountResourceContext;\n      /**\n       * Specific organization.\n       * @internal\n       */\n      organizationContext?: OrganizationResourceContext;\n      /**\n       * A specific resource. We will determine the resource type based on the action.\n       * @internal\n       */\n      resource?: Resource;\n  }\n  /** @oneof */\n  interface FullNameResourceResourceContextOneOf {\n      /** Specific site details. */\n      siteContext?: SiteResourceContext;\n      /** Specific account details. */\n      accountContext?: AccountResourceContext;\n      /**\n       * Specific organization.\n       * @internal\n       */\n      organizationContext?: OrganizationResourceContext;\n  }\n  /** Site resource context. It indicates that the resource is under a site (can be the site itself or some asset of a site, like a blog post) */\n  interface SiteResourceContext {\n      /** Site ID. */\n      metasiteId?: string;\n  }\n  /** Account resource contexts. It indicates that the resource is under the account (can be the account itself or some asset of an account, like a logo or a domain) */\n  interface AccountResourceContext {\n      /** Account ID. */\n      accountId?: string;\n  }\n  interface OrganizationResourceContext {\n  }\n  /**\n   * A custom resource. Is used to represent some asset that is not a direct resource context (site or account), but something custom.\n   * For example: payment method, blog post, domain, logo.\n   */\n  interface Resource {\n      /** The resource id. */\n      _id?: string | null;\n      /** The resource type */\n      type?: string | null;\n  }\n  interface PolicyCondition {\n      /** The type of the condition */\n      condition?: ConditionType;\n  }\n  interface ConditionType extends ConditionTypeOfOneOf {\n      /** @deprecated */\n      simpleCondition?: SimpleCondition;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition;\n      /** @deprecated */\n      environmentCondition?: EnvironmentCondition;\n      /** A single condition */\n      condition?: Condition;\n  }\n  /** @oneof */\n  interface ConditionTypeOfOneOf {\n      /** @deprecated */\n      simpleCondition?: SimpleCondition;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition;\n      /** @deprecated */\n      environmentCondition?: EnvironmentCondition;\n      /** A single condition */\n      condition?: Condition;\n  }\n  interface SimpleCondition {\n      attrName?: string;\n      value?: SimpleConditionValue;\n      op?: SimpleConditionOperator;\n      conditionModelId?: string;\n  }\n  interface SimpleConditionValue extends SimpleConditionValueValueOneOf {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface SimpleConditionValueValueOneOf {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  enum SimpleConditionOperator {\n      UNKNOWN_SIMPLE_OP = \"UNKNOWN_SIMPLE_OP\",\n      EQUAL = \"EQUAL\"\n  }\n  interface JoinedCondition {\n      /** The operator that should be used when evaluating the condition */\n      op?: JoinedConditionOperator;\n      /** The conditions that should be evaluated, and then joined using the operator provided */\n      conditions?: ConditionType[];\n  }\n  enum JoinedConditionOperator {\n      UNKNOWN_JOIN_OP = \"UNKNOWN_JOIN_OP\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  interface EnvironmentCondition extends EnvironmentConditionConditionOneOf {\n      experimentCondition?: ExperimentCondition;\n  }\n  /** @oneof */\n  interface EnvironmentConditionConditionOneOf {\n      experimentCondition?: ExperimentCondition;\n  }\n  interface ExperimentCondition {\n      spec?: string;\n      fallbackValue?: string;\n      expectedValue?: string;\n  }\n  interface Condition {\n      /** The unique identifier of the condition model. Indicates which actions the condition is working on */\n      conditionModelId?: string;\n      /** The operator that should be evaluated */\n      operator?: ConditionOperator;\n  }\n  interface ConditionOperator extends ConditionOperatorOperatorsOneOf {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator;\n  }\n  /** @oneof */\n  interface ConditionOperatorOperatorsOneOf {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator;\n  }\n  interface EqualOperator {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the other side (attribute/value) */\n      attrName?: string;\n      /** The value to compare to. If the two parties are equal - we will return true. */\n      value?: ConditionValue;\n  }\n  interface ConditionValue extends ConditionValueValueOneOf {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface ConditionValueValueOneOf {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  interface LikeOperator {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the regex values provided. */\n      attrName?: string;\n      /** The regex values which the attribute value should be evaluated on. If the attribute value matches at least one of the regular expressions provided - we will return true */\n      values?: string[];\n  }\n  interface ExperimentOperator {\n      /** The spec to conduct the experiment on. */\n      spec?: string;\n      /** The value to use if the experiment could not be conducted */\n      fallbackValue?: string;\n      /** The expected value of the experiment conduction. If it matches the actual value - true will be returned. Otherwise - false. */\n      expectedValue?: string;\n  }\n  /** Implies that the policy takes affect only if the depend on subject is permitted as well. */\n  interface DependOnOperator {\n      /** The subject on which the current entry depends on. If the subject is allowed to perform what the query was about - the condition will be evaluated to true. Otherwise - false */\n      dependOnSubject?: Subject;\n  }\n  interface AccountInfo {\n      accountName?: string;\n      accountImage?: string;\n      isTeam?: boolean;\n  }\n  interface ApiPolicy {\n      _id?: string;\n      description?: string | null;\n      name?: string | null;\n      isCustom?: boolean;\n      scopes?: string[];\n  }\n  interface PredefinedRoles {\n      roles?: PredefinedRole[];\n  }\n  interface PredefinedRole {\n      titleKey?: string;\n      roles?: Role[];\n      title?: string | null;\n      areaId?: string;\n  }\n  interface Role {\n      _id?: string;\n      deprecatedKey?: string;\n      /** @deprecated */\n      titleKey?: string;\n      /** @deprecated */\n      descriptionKey?: string;\n      deprecated?: boolean;\n      restrictFromLevel?: string;\n      experiments?: string[];\n      appDefIds?: string[];\n      title?: string | null;\n      description?: string | null;\n      isCustom?: boolean;\n      scopes?: string[];\n      availableResourceTypes?: ResourceType[];\n      availableConditions?: ConditionAttributeType[];\n      limitToEditorTypes?: string[];\n  }\n  interface ChangeRoleRequest {\n      /** User ID. */\n      _id: string;\n      /**\n       * Deprecated. Use `policyIds`.\n       * @deprecated\n       */\n      role?: string;\n      /** Role IDs to be assigned. */\n      policyIds: string[];\n  }\n  interface ChangeRoleResponse {\n  }\n  interface RemoveMemberRequest {\n      /** User ID of the team member to remove. */\n      userId: string;\n  }\n  interface RemoveMemberResponse {\n  }\n  interface GetUsersRequest {\n      /** The number of items to load */\n      limit?: number | null;\n      /** number of items to skip in the current sort order */\n      offset?: number | null;\n  }\n  interface GetUsersResponse {\n      users?: User[];\n  }\n  interface GetScopesRequest {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  interface GetScopesResponse {\n      scopeAreas?: ScopeArea[];\n  }\n  interface ScopeArea {\n      title?: string;\n      appDefIds?: string[];\n      scopes?: PermissionScope[];\n      restrictFromLevel?: ScopeLevel;\n  }\n  interface PermissionScope {\n      _id?: string;\n      title?: string;\n      description?: string;\n      level?: ScopeLevel;\n      experiments?: string[];\n      dependantScopes?: string[];\n      restrictFromLevel?: ScopeLevel;\n      deprecated?: boolean | null;\n      /** The visibility of the scope for the caller */\n      visibility?: Visibility;\n      appDefIds?: string[];\n  }\n  enum ScopeLevel {\n      None = \"None\",\n      SITE = \"SITE\",\n      ACCOUNT = \"ACCOUNT\"\n  }\n  enum Visibility {\n      /** The scope should be visible to the caller */\n      VISIBLE = \"VISIBLE\",\n      /** The scope shouldn't be visible for the caller, because the capability that blocks it is turned on for the caller */\n      BLOCKED_BY_CAPABILITY = \"BLOCKED_BY_CAPABILITY\"\n  }\n  interface GetPeopleRequest {\n      resource?: PeopleResource;\n      peopleType?: PeopleType;\n      paging?: Paging;\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  interface PeopleResource extends PeopleResourceResourceTypeOneOf {\n      site?: string;\n      folder?: FolderResource;\n  }\n  /** @oneof */\n  interface PeopleResourceResourceTypeOneOf {\n      site?: string;\n      folder?: FolderResource;\n  }\n  interface FolderResource {\n      folderId?: string;\n      folderFullPath?: string;\n  }\n  enum PeopleType {\n      UNDEF_PEOPLE_TYPE = \"UNDEF_PEOPLE_TYPE\",\n      CONTRIBUTOR = \"CONTRIBUTOR\",\n      TEAM_MEMBER = \"TEAM_MEMBER\"\n  }\n  interface GetPeopleResponse {\n      people?: People;\n  }\n  interface People {\n      people?: Person[];\n      totalPeople?: number;\n  }\n  interface Person extends PersonPersonOneOf {\n      contributor?: Contributor;\n      teamMember?: TeamMember;\n  }\n  /** @oneof */\n  interface PersonPersonOneOf {\n      contributor?: Contributor;\n      teamMember?: TeamMember;\n  }\n  interface Contributor {\n      /** Contributor's metadata. */\n      metaData?: PersonMetaData;\n      /** Whether the contributor account is a team account. */\n      isTeam?: boolean | null;\n      /** Date that the contributor joined the site. */\n      joinedAt?: Date | null;\n      /** Email address that received the invite. */\n      invitedEmail?: string | null;\n      /** Whether the contributor account is a client account. */\n      isClient?: boolean | null;\n      /**\n       * Contributor's user ID.\n       * @readonly\n       */\n      _id?: string;\n  }\n  interface PersonMetaData {\n      /** Contributor's account ID. */\n      _id?: string;\n      /** Contributor's full name. */\n      fullName?: string | null;\n      /** URL for contributor's profile image. */\n      imageUrl?: string | null;\n      /** Contributor's email address. */\n      email?: string | null;\n      /** Contributor's access to assets and their assigned role (`policy`) for that asset. */\n      assignments?: Assignment[];\n  }\n  interface TeamMember {\n      metaData?: PersonMetaData;\n  }\n  interface GetTeamV2Response {\n      users?: User[];\n      totalUsersInAccount?: string;\n  }\n  interface GetTeamInvitesRequest {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  interface GetTeamInvitesResponse {\n      invites?: Invite[];\n  }\n  interface Invite {\n      /** @readonly */\n      _id?: string;\n      /** @readonly */\n      accountId?: string;\n      email?: string;\n      status?: InviteStatus;\n      acceptLink?: string;\n      dateCreated?: Date | null;\n      dateUpdated?: Date | null;\n      assignments?: ApiInviteAssignment[];\n      /** Invite expiration date */\n      expirationDate?: Date | null;\n  }\n  interface ApiInviteAssignment {\n      policy?: AssignedPolicy;\n      restrictions?: Restriction;\n  }\n  interface GetPoliciesRequest {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      /** Areas filter to include only roles from areas that pass this filter. When not provided, roles from all areas will be returned */\n      areasFilter?: AreasFilter;\n      /** Role level filter to include only roles that are not restricted from the requested resource level (site/account). When set to ALL, all levels are returned */\n      roleLevel?: RoleLevel;\n  }\n  interface AreasFilter {\n      /** A list of role area ids, to filter only roles belonging to these areas */\n      areaIds?: string[];\n  }\n  enum RoleLevel {\n      ALL = \"ALL\",\n      SITE_LEVEL = \"SITE_LEVEL\",\n      ACCOUNT_LEVEL = \"ACCOUNT_LEVEL\"\n  }\n  interface GetPoliciesResponse {\n      policies?: PredefinedRoles;\n  }\n  interface SearchTeamRequest {\n      /** Free text to search for within team member name and email address fields. */\n      query?: string | null;\n      /** Sort data. */\n      orderBy?: Ordering[];\n      /**\n       * Filter object. Supported values: `inviteType` and `roleId`. For example, `{'inviteType': {'$eq': 'Expired'}}`.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * A list of facets to return in the response. Facets count the items within logical groupings.\n       * See [Filters and Facets: An Explainer](https://medium.com/@westontt/filters-and-facets-an-explainer-3b73a9538eca) for more information.\n       */\n      facets?: FacetType[];\n      /** Pagination. */\n      paging?: Paging;\n  }\n  interface Ordering {\n      /** Field to sort by. */\n      fieldName?: OrderField;\n      /** Sort order. */\n      direction?: Direction;\n  }\n  enum OrderField {\n      /** For internal use. */\n      Undefined = \"Undefined\",\n      /** Team member name. */\n      Name = \"Name\",\n      /** Date team member joined the account. */\n      JoinedAt = \"JoinedAt\"\n  }\n  enum Direction {\n      /** For internal use. */\n      UninitializedDirection = \"UninitializedDirection\",\n      /** Ascending. */\n      ASC = \"ASC\",\n      /** Descending. */\n      DESC = \"DESC\"\n  }\n  enum FacetType {\n      Undefined = \"Undefined\",\n      /** How many team members with each role */\n      Roles = \"Roles\",\n      /** How many team members by invite status */\n      InviteStatus = \"InviteStatus\",\n      /** How many team members in total in the account */\n      Users = \"Users\"\n  }\n  interface SearchTeamResponse {\n      /** List of facets, as requested. */\n      facets?: Facet[];\n      /** Existing team members and invites sent to join the account. */\n      teamMembers?: TeamMemberV3[];\n  }\n  interface Facet {\n      /** Facet type. */\n      facetType?: FacetType;\n      /** Values and their counters. Values with count = 0 are not returned. */\n      values?: FacetValue[];\n  }\n  interface FacetValue {\n      /** Supported values: `Roles`, `InviteStatus`, `Users`. */\n      value?: string;\n      /** Number of existing items for the value. */\n      count?: number;\n  }\n  interface TeamMemberV3 extends TeamMemberV3MembersOneOf {\n      /** Existing team member data. */\n      user?: UserV3;\n      /** Invited team member data. */\n      invite?: InviteV3;\n  }\n  /** @oneof */\n  interface TeamMemberV3MembersOneOf {\n      /** Existing team member data. */\n      user?: UserV3;\n      /** Invited team member data. */\n      invite?: InviteV3;\n  }\n  interface UserV3 {\n      /** User ID. */\n      _id?: string;\n      /** User's email address. */\n      email?: string | null;\n      /** User's name, when provided. */\n      name?: Name;\n      /** URL to user's profile image, when provided. */\n      profileImage?: string | null;\n      /** Date the user joined the team. */\n      joinedTeamAt?: Date | null;\n      /** Mapping of the user's access to an asset and their assigned role. */\n      assignments?: AssignmentV3[];\n  }\n  interface AssignmentV3 {\n      /** Role assigned to the user. To retrieve all available roles, call Get Roles Info. */\n      policyId?: string | null;\n      /**\n       * Unique ID for this specific assignment.\n       * @readonly\n       */\n      assignmentId?: string | null;\n      /** The asset where a user is assigned access in an assignment. When empty, the role covers all assets, with no restrictions to specific sites or folders. */\n      restrictions?: Restriction;\n      /** Identity assigned to the asset in an assignment, referred to as subject. Supported subjects include user IDs, account IDs, and app IDs. */\n      subject?: AssignedSubject;\n  }\n  interface AssignedSubject {\n      /**\n       * Identity ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Identity type. */\n      subjectType?: SubjectType;\n  }\n  interface InviteV3 {\n      /**\n       * Invite ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Invitee's email address. */\n      email?: string | null;\n      /** Invite status. */\n      status?: InviteStatus;\n      /** URL of direct link to accept the invite. */\n      acceptLink?: string | null;\n      /** Date the invite was created. */\n      dateCreated?: Date | null;\n      /** Date the invite was last updated. */\n      dateUpdated?: Date | null;\n      /** A list of assignments that will be applied to the invitees when they accept the invite. */\n      assignments?: InviteAssignmentV3[];\n      /** Invite expiration date. */\n      expirationDate?: Date | null;\n  }\n  interface InviteAssignmentV3 {\n      /** Role ID that will be assigned once the invite is accepted. */\n      policyId?: string | null;\n      /** Assets where the user will be assigned access. When empty, the role covers all assets, with no restrictions to specific sites or folders. */\n      restrictions?: Restriction;\n  }\n  interface GetRolesRequest {\n      /** The locale of the predefined roles names and descriptions. Defaults to English */\n      locale?: string | null;\n  }\n  interface GetRolesResponse {\n      /** The predefined roles (by areas) */\n      predefinedRolesAreas?: PredefinedRolesArea[];\n      /** The custom roles */\n      customRoles?: CustomRole[];\n  }\n  interface PredefinedRolesArea {\n      /** The id of the area (e.g \"Blog\") */\n      areaId?: string;\n      /** The translated area title, according to the request locale, or the original title if translation failed */\n      title?: string;\n      /** The predefined roles belonging to this area */\n      roles?: PredefinedRoleV2[];\n  }\n  interface PredefinedRoleV2 {\n      /** The policy id of this role */\n      _id?: string;\n      /** The title of this role, translated according to the request locale, or the original title if translation failed */\n      title?: string;\n      /** The description of this role, translated according to the request locale, or the original description if translation failed */\n      description?: string;\n      /** The permission-scopes this role's policy contains */\n      scopes?: string[];\n      /** Indicates if the role is deprecated (shouldn't be granted, and only exists for backward compatability) */\n      deprecated?: boolean;\n      /** Indicates if this role should be restricted from assignments of a specific resource type (if RoleLevelRestriction = None, there is no restriction) */\n      restrictFromLevel?: RoleLevelRestriction;\n      /** Experiments that should be open for this role to be visible */\n      experiments?: string[];\n      /** Applications that should be installed for this role to be visible */\n      appDefIds?: string[];\n      /** Editor types this role should be limited to (if empty, available in all editors) */\n      limitToEditorTypes?: EditorType[];\n      /** The visibility of the role */\n      visibility?: RoleVisibility;\n  }\n  enum RoleLevelRestriction {\n      NoRestriction = \"NoRestriction\",\n      Site = \"Site\",\n      Account = \"Account\"\n  }\n  enum EditorType {\n      UNINITIALIZED = \"UNINITIALIZED\",\n      EDITORX = \"EDITORX\",\n      BLOCKS = \"BLOCKS\",\n      STUDIO = \"STUDIO\"\n  }\n  enum RoleVisibility {\n      /** the role should be visible to the caller */\n      Visible = \"Visible\",\n      /** the role should be disabled for the caller, because it contains permissions the caller wasn't granted on the call context (site/account) */\n      Disabled_Dependency = \"Disabled_Dependency\",\n      /** the role should be disabled for the caller, because the role's capability is disabled for the caller */\n      Disabled_Capability = \"Disabled_Capability\"\n  }\n  interface CustomRole {\n      /** The policy this role grants */\n      policy?: ApiPolicy;\n      /** The visibility of the role */\n      visibility?: RoleVisibility;\n  }\n  interface GetRolesInfoRequest {\n      /** Language of predefined roles names and descriptions to return, in ISO 639 format. Default: `en`. */\n      locale?: string | null;\n      /** Roles to return. */\n      filter?: RolesInfoFilter;\n  }\n  interface RolesInfoFilter {\n      /** Role level to return. Default: ALL. */\n      roleLevel?: RoleLevel;\n      /** Filter for editor-specific roles. Default: ALL. */\n      editorTypes?: EditorType[];\n  }\n  interface GetRolesInfoResponse {\n      /** Predefined roles. */\n      predefinedRoles?: RoleInfo[];\n      /** Custom roles. */\n      customRoles?: RoleInfo[];\n  }\n  interface RoleInfo {\n      /** Role ID. */\n      _id?: string;\n      /** Role title, translated according to the request locale. If translation fails, the original title is returned. */\n      title?: string;\n      /** Role description, translated according to the request locale. If translation fails, the original description is returned. */\n      description?: string;\n      /** Whether this role is restricted from accessing a specific resource type. Default: `NoRestriction`. */\n      restrictFromLevel?: RoleLevelRestriction;\n  }\n  interface CreateCustomRoleRequest {\n      /** The custom role to create */\n      role: Policy;\n  }\n  interface Policy {\n      /** @readonly */\n      _id?: string | null;\n      name?: string | null;\n      description?: string | null;\n      /** @readonly */\n      status?: string;\n      policyType?: PolicyType;\n      statements?: PolicyStatement[];\n  }\n  enum PolicyType {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      PREDEFINED = \"PREDEFINED\",\n      CUSTOM = \"CUSTOM\",\n      INLINE_CUSTOM = \"INLINE_CUSTOM\"\n  }\n  interface PolicyStatement {\n      /** @readonly */\n      _id?: string | null;\n      permissions?: string[];\n      scopes?: string[];\n      effect?: Effect;\n      condition?: PolicyCondition;\n  }\n  enum Effect {\n      UNKNOWN_EFFECT = \"UNKNOWN_EFFECT\",\n      ALLOW = \"ALLOW\",\n      DENY = \"DENY\"\n  }\n  interface CreateCustomRoleResponse {\n      /** The newly created custom role */\n      roleCreated?: Policy;\n  }\n  interface ChangeRoleV2Request {\n      /** ID of team member being affected. */\n      userId: string;\n      /** New assignments, including roles, to apply to the team member in this account. To retrieve all available roles, call Get Roles Info. */\n      roles: AssignmentV3[];\n      /** Existing assignment IDs to remove. To retrieve all existing assignment IDs for a team member, call Search Team. */\n      assignmentIdsToReplace: string[];\n  }\n  interface ChangeRoleV2Response {\n      /** New roles assigned to the given team member. */\n      roles?: AssignmentV3[];\n  }\n  interface UpdateTeamMemberAssignmentsRequest {\n      /** ID of team member being affected. */\n      userId: string;\n      /** New assignments to apply to the team member in this account. */\n      newAssignments: AssignmentV3[];\n      /** Existing assignment IDs to remove. To retrieve all existing assignment IDs for a team member, call Search Team. */\n      assignmentIdsToRemove: string[];\n  }\n  interface UpdateTeamMemberAssignmentsResponse {\n      /** The new assignments, assigned to the given team member. */\n      assignments?: AssignmentV3[];\n  }\n  interface GetSubjectsAssignmentsRequest {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      /** list of subjects */\n      subjects?: Subject[];\n  }\n  interface GetSubjectsAssignmentsResponse {\n      /** list of subjects with assignments */\n      subjectsAssignments?: SubjectAssignments[];\n  }\n  interface SubjectAssignments {\n      subject?: Subject;\n      assignments?: Assignment[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getTeam(options?: GetTeamOptions): Promise<GetTeamResponse>;\n  interface GetTeamOptions {\n      /** @deprecated */\n      usersLimit?: number | null;\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      paging?: Paging;\n  }\n  /**\n   * Changes an existing site contributor's role.\n   * @param _id - User ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.policyIds\n   * @permissionId team.change-member\n   * @adminMethod\n   */\n  function changeRole(_id: string, options?: ChangeRoleOptions): Promise<void>;\n  interface ChangeRoleOptions {\n      /**\n       * Deprecated. Use `policyIds`.\n       * @deprecated\n       */\n      role?: string;\n      /** Role IDs to be assigned. */\n      policyIds: string[];\n  }\n  /**\n   * Removes a team member from the requesting account.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param userId - User ID of the team member to remove.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId team.delete-member\n   * @adminMethod\n   */\n  function removeMember(userId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function users(options?: UsersOptions): Promise<GetUsersResponse>;\n  interface UsersOptions {\n      /** The number of items to load */\n      limit?: number | null;\n      /** number of items to skip in the current sort order */\n      offset?: number | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getScopes(options?: GetScopesOptions): Promise<GetScopesResponse>;\n  interface GetScopesOptions {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getPeople(options?: GetPeopleOptions): Promise<GetPeopleResponse>;\n  interface GetPeopleOptions {\n      resource?: PeopleResource;\n      peopleType?: PeopleType;\n      paging?: Paging;\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getTeamV2(options?: GetTeamV2Options): Promise<GetTeamV2Response>;\n  interface GetTeamV2Options {\n      /** @deprecated */\n      usersLimit?: number | null;\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      paging?: Paging;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getTeamInvites(options?: GetTeamInvitesOptions): Promise<GetTeamInvitesResponse>;\n  interface GetTeamInvitesOptions {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getPolicies(options?: GetPoliciesOptions): Promise<GetPoliciesResponse>;\n  interface GetPoliciesOptions {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      /** Areas filter to include only roles from areas that pass this filter. When not provided, roles from all areas will be returned */\n      areasFilter?: AreasFilter;\n      /** Role level filter to include only roles that are not restricted from the requested resource level (site/account). When set to ALL, all levels are returned */\n      roleLevel?: RoleLevel;\n  }\n  /**\n   * Retrieves all team members of the requesting account, based on the provided filters and free text queries.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filter options.\n   * @adminMethod\n   */\n  function searchTeam(options?: SearchTeamOptions): Promise<SearchTeamResponse>;\n  interface SearchTeamOptions {\n      /** Free text to search for within team member name and email address fields. */\n      query?: string | null;\n      /** Sort data. */\n      orderBy?: Ordering[];\n      /**\n       * Filter object. Supported values: `inviteType` and `roleId`. For example, `{'inviteType': {'$eq': 'Expired'}}`.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * A list of facets to return in the response. Facets count the items within logical groupings.\n       * See [Filters and Facets: An Explainer](https://medium.com/@westontt/filters-and-facets-an-explainer-3b73a9538eca) for more information.\n       */\n      facets?: FacetType[];\n      /** Pagination. */\n      paging?: Paging;\n  }\n  /**\n   * Get all the available roles, both predefined roles and custom roles of the account taken from the target account in the call context.\n   * Roles contain their visibility for the caller.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ACCOUNT_ROLES.GET_ROLES\n   * @adminMethod\n   */\n  function getRoles(options?: GetRolesOptions): Promise<GetRolesResponse>;\n  interface GetRolesOptions {\n      /** The locale of the predefined roles names and descriptions. Defaults to English */\n      locale?: string | null;\n  }\n  /**\n   * Retrieves all available roles in the requesting account, including predefined and custom roles.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filter options.\n   * @permissionId ACCOUNT_ROLES.GET_ROLES\n   * @adminMethod\n   */\n  function getRolesInfo(options?: GetRolesInfoOptions): Promise<GetRolesInfoResponse>;\n  interface GetRolesInfoOptions {\n      /** Language of predefined roles names and descriptions to return, in ISO 639 format. Default: `en`. */\n      locale?: string | null;\n      /** Roles to return. */\n      filter?: RolesInfoFilter;\n  }\n  /**\n   * Create a custom role in the account taken from the target account in the call context.\n   * @param role - The custom role to create\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField role\n   * @permissionId team.manage-team-member-roles\n   * @adminMethod\n   */\n  function createCustomRole(role: Policy): Promise<CreateCustomRoleResponse>;\n  /**\n   * Updates the roles and conditions for an existing team member. Changing roles changes the team member's access to account assets.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param userId - ID of team member being affected.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.assignmentIdsToReplace\n   * @requiredField options.roles\n   * @requiredField userId\n   * @permissionId team.manage-team-member-roles\n   * @adminMethod\n   */\n  function changeRoleV2(userId: string, options: ChangeRoleV2Options): Promise<ChangeRoleV2Response>;\n  interface ChangeRoleV2Options {\n      /** New assignments, including roles, to apply to the team member in this account. To retrieve all available roles, call Get Roles Info. */\n      roles: AssignmentV3[];\n      /** Existing assignment IDs to remove. To retrieve all existing assignment IDs for a team member, call Search Team. */\n      assignmentIdsToReplace: string[];\n  }\n  /**\n   * Updates the assignments of roles and conditions for an existing team member.  Changing assignments changes the team member’s access to account assets.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param userId - ID of team member being affected.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.assignmentIdsToRemove\n   * @requiredField options.newAssignments\n   * @requiredField userId\n   * @param options - Filter options. The `assignmentIdsToRemove` and `newAssignments` fields **must** be passed.\n   * @permissionId team.manage-team-member-roles\n   * @adminMethod\n   */\n  function updateTeamMemberAssignments(userId: string, options: UpdateTeamMemberAssignmentsOptions): Promise<UpdateTeamMemberAssignmentsResponse>;\n  interface UpdateTeamMemberAssignmentsOptions {\n      /** New assignments to apply to the team member in this account. */\n      newAssignments: AssignmentV3[];\n      /** Existing assignment IDs to remove. To retrieve all existing assignment IDs for a team member, call Search Team. */\n      assignmentIdsToRemove: string[];\n  }\n  /**\n   * Get subjects assignments\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ACCOUNT.SUBJECTS_ASSIGNMENTS_READ\n   * @adminMethod\n   */\n  function getSubjectsAssignments(options?: GetSubjectsAssignmentsOptions): Promise<GetSubjectsAssignmentsResponse>;\n  interface GetSubjectsAssignmentsOptions {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      /** list of subjects */\n      subjects?: Subject[];\n  }\n  \n  type identityRolesV1User_universal_d_User = User;\n  type identityRolesV1User_universal_d_Name = Name;\n  type identityRolesV1User_universal_d_Assignment = Assignment;\n  type identityRolesV1User_universal_d_AssignedPolicy = AssignedPolicy;\n  type identityRolesV1User_universal_d_Restriction = Restriction;\n  type identityRolesV1User_universal_d_RestrictionRestrictionsOneOf = RestrictionRestrictionsOneOf;\n  type identityRolesV1User_universal_d_ApiResource = ApiResource;\n  type identityRolesV1User_universal_d_ResourceType = ResourceType;\n  const identityRolesV1User_universal_d_ResourceType: typeof ResourceType;\n  type identityRolesV1User_universal_d_Conditions = Conditions;\n  type identityRolesV1User_universal_d_ApiCondition = ApiCondition;\n  type identityRolesV1User_universal_d_ConditionAttributeType = ConditionAttributeType;\n  const identityRolesV1User_universal_d_ConditionAttributeType: typeof ConditionAttributeType;\n  type identityRolesV1User_universal_d_SiteRestriction = SiteRestriction;\n  type identityRolesV1User_universal_d_CompanionResource = CompanionResource;\n  type identityRolesV1User_universal_d_Subject = Subject;\n  type identityRolesV1User_universal_d_SubjectType = SubjectType;\n  const identityRolesV1User_universal_d_SubjectType: typeof SubjectType;\n  type identityRolesV1User_universal_d_SubjectContext = SubjectContext;\n  type identityRolesV1User_universal_d_SubjectContextType = SubjectContextType;\n  const identityRolesV1User_universal_d_SubjectContextType: typeof SubjectContextType;\n  type identityRolesV1User_universal_d_GetTeamRequest = GetTeamRequest;\n  type identityRolesV1User_universal_d_Paging = Paging;\n  type identityRolesV1User_universal_d_GetTeamResponse = GetTeamResponse;\n  type identityRolesV1User_universal_d_AccountInvite = AccountInvite;\n  type identityRolesV1User_universal_d_InviteStatus = InviteStatus;\n  const identityRolesV1User_universal_d_InviteStatus: typeof InviteStatus;\n  type identityRolesV1User_universal_d_InviteResourceAssignment = InviteResourceAssignment;\n  type identityRolesV1User_universal_d_InviteAssignment = InviteAssignment;\n  type identityRolesV1User_universal_d_FullNameResource = FullNameResource;\n  type identityRolesV1User_universal_d_FullNameResourceResourceContextOneOf = FullNameResourceResourceContextOneOf;\n  type identityRolesV1User_universal_d_SiteResourceContext = SiteResourceContext;\n  type identityRolesV1User_universal_d_AccountResourceContext = AccountResourceContext;\n  type identityRolesV1User_universal_d_OrganizationResourceContext = OrganizationResourceContext;\n  type identityRolesV1User_universal_d_Resource = Resource;\n  type identityRolesV1User_universal_d_PolicyCondition = PolicyCondition;\n  type identityRolesV1User_universal_d_ConditionType = ConditionType;\n  type identityRolesV1User_universal_d_ConditionTypeOfOneOf = ConditionTypeOfOneOf;\n  type identityRolesV1User_universal_d_SimpleCondition = SimpleCondition;\n  type identityRolesV1User_universal_d_SimpleConditionValue = SimpleConditionValue;\n  type identityRolesV1User_universal_d_SimpleConditionValueValueOneOf = SimpleConditionValueValueOneOf;\n  type identityRolesV1User_universal_d_SimpleConditionOperator = SimpleConditionOperator;\n  const identityRolesV1User_universal_d_SimpleConditionOperator: typeof SimpleConditionOperator;\n  type identityRolesV1User_universal_d_JoinedCondition = JoinedCondition;\n  type identityRolesV1User_universal_d_JoinedConditionOperator = JoinedConditionOperator;\n  const identityRolesV1User_universal_d_JoinedConditionOperator: typeof JoinedConditionOperator;\n  type identityRolesV1User_universal_d_EnvironmentCondition = EnvironmentCondition;\n  type identityRolesV1User_universal_d_EnvironmentConditionConditionOneOf = EnvironmentConditionConditionOneOf;\n  type identityRolesV1User_universal_d_ExperimentCondition = ExperimentCondition;\n  type identityRolesV1User_universal_d_Condition = Condition;\n  type identityRolesV1User_universal_d_ConditionOperator = ConditionOperator;\n  type identityRolesV1User_universal_d_ConditionOperatorOperatorsOneOf = ConditionOperatorOperatorsOneOf;\n  type identityRolesV1User_universal_d_EqualOperator = EqualOperator;\n  type identityRolesV1User_universal_d_ConditionValue = ConditionValue;\n  type identityRolesV1User_universal_d_ConditionValueValueOneOf = ConditionValueValueOneOf;\n  type identityRolesV1User_universal_d_LikeOperator = LikeOperator;\n  type identityRolesV1User_universal_d_ExperimentOperator = ExperimentOperator;\n  type identityRolesV1User_universal_d_DependOnOperator = DependOnOperator;\n  type identityRolesV1User_universal_d_AccountInfo = AccountInfo;\n  type identityRolesV1User_universal_d_ApiPolicy = ApiPolicy;\n  type identityRolesV1User_universal_d_PredefinedRoles = PredefinedRoles;\n  type identityRolesV1User_universal_d_PredefinedRole = PredefinedRole;\n  type identityRolesV1User_universal_d_Role = Role;\n  type identityRolesV1User_universal_d_ChangeRoleRequest = ChangeRoleRequest;\n  type identityRolesV1User_universal_d_ChangeRoleResponse = ChangeRoleResponse;\n  type identityRolesV1User_universal_d_RemoveMemberRequest = RemoveMemberRequest;\n  type identityRolesV1User_universal_d_RemoveMemberResponse = RemoveMemberResponse;\n  type identityRolesV1User_universal_d_GetUsersRequest = GetUsersRequest;\n  type identityRolesV1User_universal_d_GetUsersResponse = GetUsersResponse;\n  type identityRolesV1User_universal_d_GetScopesRequest = GetScopesRequest;\n  type identityRolesV1User_universal_d_GetScopesResponse = GetScopesResponse;\n  type identityRolesV1User_universal_d_ScopeArea = ScopeArea;\n  type identityRolesV1User_universal_d_PermissionScope = PermissionScope;\n  type identityRolesV1User_universal_d_ScopeLevel = ScopeLevel;\n  const identityRolesV1User_universal_d_ScopeLevel: typeof ScopeLevel;\n  type identityRolesV1User_universal_d_Visibility = Visibility;\n  const identityRolesV1User_universal_d_Visibility: typeof Visibility;\n  type identityRolesV1User_universal_d_GetPeopleRequest = GetPeopleRequest;\n  type identityRolesV1User_universal_d_PeopleResource = PeopleResource;\n  type identityRolesV1User_universal_d_PeopleResourceResourceTypeOneOf = PeopleResourceResourceTypeOneOf;\n  type identityRolesV1User_universal_d_FolderResource = FolderResource;\n  type identityRolesV1User_universal_d_PeopleType = PeopleType;\n  const identityRolesV1User_universal_d_PeopleType: typeof PeopleType;\n  type identityRolesV1User_universal_d_GetPeopleResponse = GetPeopleResponse;\n  type identityRolesV1User_universal_d_People = People;\n  type identityRolesV1User_universal_d_Person = Person;\n  type identityRolesV1User_universal_d_PersonPersonOneOf = PersonPersonOneOf;\n  type identityRolesV1User_universal_d_Contributor = Contributor;\n  type identityRolesV1User_universal_d_PersonMetaData = PersonMetaData;\n  type identityRolesV1User_universal_d_TeamMember = TeamMember;\n  type identityRolesV1User_universal_d_GetTeamV2Response = GetTeamV2Response;\n  type identityRolesV1User_universal_d_GetTeamInvitesRequest = GetTeamInvitesRequest;\n  type identityRolesV1User_universal_d_GetTeamInvitesResponse = GetTeamInvitesResponse;\n  type identityRolesV1User_universal_d_Invite = Invite;\n  type identityRolesV1User_universal_d_ApiInviteAssignment = ApiInviteAssignment;\n  type identityRolesV1User_universal_d_GetPoliciesRequest = GetPoliciesRequest;\n  type identityRolesV1User_universal_d_AreasFilter = AreasFilter;\n  type identityRolesV1User_universal_d_RoleLevel = RoleLevel;\n  const identityRolesV1User_universal_d_RoleLevel: typeof RoleLevel;\n  type identityRolesV1User_universal_d_GetPoliciesResponse = GetPoliciesResponse;\n  type identityRolesV1User_universal_d_SearchTeamRequest = SearchTeamRequest;\n  type identityRolesV1User_universal_d_Ordering = Ordering;\n  type identityRolesV1User_universal_d_OrderField = OrderField;\n  const identityRolesV1User_universal_d_OrderField: typeof OrderField;\n  type identityRolesV1User_universal_d_Direction = Direction;\n  const identityRolesV1User_universal_d_Direction: typeof Direction;\n  type identityRolesV1User_universal_d_FacetType = FacetType;\n  const identityRolesV1User_universal_d_FacetType: typeof FacetType;\n  type identityRolesV1User_universal_d_SearchTeamResponse = SearchTeamResponse;\n  type identityRolesV1User_universal_d_Facet = Facet;\n  type identityRolesV1User_universal_d_FacetValue = FacetValue;\n  type identityRolesV1User_universal_d_TeamMemberV3 = TeamMemberV3;\n  type identityRolesV1User_universal_d_TeamMemberV3MembersOneOf = TeamMemberV3MembersOneOf;\n  type identityRolesV1User_universal_d_UserV3 = UserV3;\n  type identityRolesV1User_universal_d_AssignmentV3 = AssignmentV3;\n  type identityRolesV1User_universal_d_AssignedSubject = AssignedSubject;\n  type identityRolesV1User_universal_d_InviteV3 = InviteV3;\n  type identityRolesV1User_universal_d_InviteAssignmentV3 = InviteAssignmentV3;\n  type identityRolesV1User_universal_d_GetRolesRequest = GetRolesRequest;\n  type identityRolesV1User_universal_d_GetRolesResponse = GetRolesResponse;\n  type identityRolesV1User_universal_d_PredefinedRolesArea = PredefinedRolesArea;\n  type identityRolesV1User_universal_d_PredefinedRoleV2 = PredefinedRoleV2;\n  type identityRolesV1User_universal_d_RoleLevelRestriction = RoleLevelRestriction;\n  const identityRolesV1User_universal_d_RoleLevelRestriction: typeof RoleLevelRestriction;\n  type identityRolesV1User_universal_d_EditorType = EditorType;\n  const identityRolesV1User_universal_d_EditorType: typeof EditorType;\n  type identityRolesV1User_universal_d_RoleVisibility = RoleVisibility;\n  const identityRolesV1User_universal_d_RoleVisibility: typeof RoleVisibility;\n  type identityRolesV1User_universal_d_CustomRole = CustomRole;\n  type identityRolesV1User_universal_d_GetRolesInfoRequest = GetRolesInfoRequest;\n  type identityRolesV1User_universal_d_RolesInfoFilter = RolesInfoFilter;\n  type identityRolesV1User_universal_d_GetRolesInfoResponse = GetRolesInfoResponse;\n  type identityRolesV1User_universal_d_RoleInfo = RoleInfo;\n  type identityRolesV1User_universal_d_CreateCustomRoleRequest = CreateCustomRoleRequest;\n  type identityRolesV1User_universal_d_Policy = Policy;\n  type identityRolesV1User_universal_d_PolicyType = PolicyType;\n  const identityRolesV1User_universal_d_PolicyType: typeof PolicyType;\n  type identityRolesV1User_universal_d_PolicyStatement = PolicyStatement;\n  type identityRolesV1User_universal_d_Effect = Effect;\n  const identityRolesV1User_universal_d_Effect: typeof Effect;\n  type identityRolesV1User_universal_d_CreateCustomRoleResponse = CreateCustomRoleResponse;\n  type identityRolesV1User_universal_d_ChangeRoleV2Request = ChangeRoleV2Request;\n  type identityRolesV1User_universal_d_ChangeRoleV2Response = ChangeRoleV2Response;\n  type identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsRequest = UpdateTeamMemberAssignmentsRequest;\n  type identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsResponse = UpdateTeamMemberAssignmentsResponse;\n  type identityRolesV1User_universal_d_GetSubjectsAssignmentsRequest = GetSubjectsAssignmentsRequest;\n  type identityRolesV1User_universal_d_GetSubjectsAssignmentsResponse = GetSubjectsAssignmentsResponse;\n  type identityRolesV1User_universal_d_SubjectAssignments = SubjectAssignments;\n  const identityRolesV1User_universal_d_getTeam: typeof getTeam;\n  type identityRolesV1User_universal_d_GetTeamOptions = GetTeamOptions;\n  const identityRolesV1User_universal_d_changeRole: typeof changeRole;\n  type identityRolesV1User_universal_d_ChangeRoleOptions = ChangeRoleOptions;\n  const identityRolesV1User_universal_d_removeMember: typeof removeMember;\n  const identityRolesV1User_universal_d_users: typeof users;\n  type identityRolesV1User_universal_d_UsersOptions = UsersOptions;\n  const identityRolesV1User_universal_d_getScopes: typeof getScopes;\n  type identityRolesV1User_universal_d_GetScopesOptions = GetScopesOptions;\n  const identityRolesV1User_universal_d_getPeople: typeof getPeople;\n  type identityRolesV1User_universal_d_GetPeopleOptions = GetPeopleOptions;\n  const identityRolesV1User_universal_d_getTeamV2: typeof getTeamV2;\n  type identityRolesV1User_universal_d_GetTeamV2Options = GetTeamV2Options;\n  const identityRolesV1User_universal_d_getTeamInvites: typeof getTeamInvites;\n  type identityRolesV1User_universal_d_GetTeamInvitesOptions = GetTeamInvitesOptions;\n  const identityRolesV1User_universal_d_getPolicies: typeof getPolicies;\n  type identityRolesV1User_universal_d_GetPoliciesOptions = GetPoliciesOptions;\n  const identityRolesV1User_universal_d_searchTeam: typeof searchTeam;\n  type identityRolesV1User_universal_d_SearchTeamOptions = SearchTeamOptions;\n  const identityRolesV1User_universal_d_getRoles: typeof getRoles;\n  type identityRolesV1User_universal_d_GetRolesOptions = GetRolesOptions;\n  const identityRolesV1User_universal_d_getRolesInfo: typeof getRolesInfo;\n  type identityRolesV1User_universal_d_GetRolesInfoOptions = GetRolesInfoOptions;\n  const identityRolesV1User_universal_d_createCustomRole: typeof createCustomRole;\n  const identityRolesV1User_universal_d_changeRoleV2: typeof changeRoleV2;\n  type identityRolesV1User_universal_d_ChangeRoleV2Options = ChangeRoleV2Options;\n  const identityRolesV1User_universal_d_updateTeamMemberAssignments: typeof updateTeamMemberAssignments;\n  type identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsOptions = UpdateTeamMemberAssignmentsOptions;\n  const identityRolesV1User_universal_d_getSubjectsAssignments: typeof getSubjectsAssignments;\n  type identityRolesV1User_universal_d_GetSubjectsAssignmentsOptions = GetSubjectsAssignmentsOptions;\n  namespace identityRolesV1User_universal_d {\n    export {\n      identityRolesV1User_universal_d_User as User,\n      identityRolesV1User_universal_d_Name as Name,\n      identityRolesV1User_universal_d_Assignment as Assignment,\n      identityRolesV1User_universal_d_AssignedPolicy as AssignedPolicy,\n      identityRolesV1User_universal_d_Restriction as Restriction,\n      identityRolesV1User_universal_d_RestrictionRestrictionsOneOf as RestrictionRestrictionsOneOf,\n      identityRolesV1User_universal_d_ApiResource as ApiResource,\n      identityRolesV1User_universal_d_ResourceType as ResourceType,\n      identityRolesV1User_universal_d_Conditions as Conditions,\n      identityRolesV1User_universal_d_ApiCondition as ApiCondition,\n      identityRolesV1User_universal_d_ConditionAttributeType as ConditionAttributeType,\n      identityRolesV1User_universal_d_SiteRestriction as SiteRestriction,\n      identityRolesV1User_universal_d_CompanionResource as CompanionResource,\n      identityRolesV1User_universal_d_Subject as Subject,\n      identityRolesV1User_universal_d_SubjectType as SubjectType,\n      identityRolesV1User_universal_d_SubjectContext as SubjectContext,\n      identityRolesV1User_universal_d_SubjectContextType as SubjectContextType,\n      identityRolesV1User_universal_d_GetTeamRequest as GetTeamRequest,\n      identityRolesV1User_universal_d_Paging as Paging,\n      identityRolesV1User_universal_d_GetTeamResponse as GetTeamResponse,\n      identityRolesV1User_universal_d_AccountInvite as AccountInvite,\n      identityRolesV1User_universal_d_InviteStatus as InviteStatus,\n      identityRolesV1User_universal_d_InviteResourceAssignment as InviteResourceAssignment,\n      identityRolesV1User_universal_d_InviteAssignment as InviteAssignment,\n      identityRolesV1User_universal_d_FullNameResource as FullNameResource,\n      identityRolesV1User_universal_d_FullNameResourceResourceContextOneOf as FullNameResourceResourceContextOneOf,\n      identityRolesV1User_universal_d_SiteResourceContext as SiteResourceContext,\n      identityRolesV1User_universal_d_AccountResourceContext as AccountResourceContext,\n      identityRolesV1User_universal_d_OrganizationResourceContext as OrganizationResourceContext,\n      identityRolesV1User_universal_d_Resource as Resource,\n      identityRolesV1User_universal_d_PolicyCondition as PolicyCondition,\n      identityRolesV1User_universal_d_ConditionType as ConditionType,\n      identityRolesV1User_universal_d_ConditionTypeOfOneOf as ConditionTypeOfOneOf,\n      identityRolesV1User_universal_d_SimpleCondition as SimpleCondition,\n      identityRolesV1User_universal_d_SimpleConditionValue as SimpleConditionValue,\n      identityRolesV1User_universal_d_SimpleConditionValueValueOneOf as SimpleConditionValueValueOneOf,\n      identityRolesV1User_universal_d_SimpleConditionOperator as SimpleConditionOperator,\n      identityRolesV1User_universal_d_JoinedCondition as JoinedCondition,\n      identityRolesV1User_universal_d_JoinedConditionOperator as JoinedConditionOperator,\n      identityRolesV1User_universal_d_EnvironmentCondition as EnvironmentCondition,\n      identityRolesV1User_universal_d_EnvironmentConditionConditionOneOf as EnvironmentConditionConditionOneOf,\n      identityRolesV1User_universal_d_ExperimentCondition as ExperimentCondition,\n      identityRolesV1User_universal_d_Condition as Condition,\n      identityRolesV1User_universal_d_ConditionOperator as ConditionOperator,\n      identityRolesV1User_universal_d_ConditionOperatorOperatorsOneOf as ConditionOperatorOperatorsOneOf,\n      identityRolesV1User_universal_d_EqualOperator as EqualOperator,\n      identityRolesV1User_universal_d_ConditionValue as ConditionValue,\n      identityRolesV1User_universal_d_ConditionValueValueOneOf as ConditionValueValueOneOf,\n      identityRolesV1User_universal_d_LikeOperator as LikeOperator,\n      identityRolesV1User_universal_d_ExperimentOperator as ExperimentOperator,\n      identityRolesV1User_universal_d_DependOnOperator as DependOnOperator,\n      identityRolesV1User_universal_d_AccountInfo as AccountInfo,\n      identityRolesV1User_universal_d_ApiPolicy as ApiPolicy,\n      identityRolesV1User_universal_d_PredefinedRoles as PredefinedRoles,\n      identityRolesV1User_universal_d_PredefinedRole as PredefinedRole,\n      identityRolesV1User_universal_d_Role as Role,\n      identityRolesV1User_universal_d_ChangeRoleRequest as ChangeRoleRequest,\n      identityRolesV1User_universal_d_ChangeRoleResponse as ChangeRoleResponse,\n      identityRolesV1User_universal_d_RemoveMemberRequest as RemoveMemberRequest,\n      identityRolesV1User_universal_d_RemoveMemberResponse as RemoveMemberResponse,\n      identityRolesV1User_universal_d_GetUsersRequest as GetUsersRequest,\n      identityRolesV1User_universal_d_GetUsersResponse as GetUsersResponse,\n      identityRolesV1User_universal_d_GetScopesRequest as GetScopesRequest,\n      identityRolesV1User_universal_d_GetScopesResponse as GetScopesResponse,\n      identityRolesV1User_universal_d_ScopeArea as ScopeArea,\n      identityRolesV1User_universal_d_PermissionScope as PermissionScope,\n      identityRolesV1User_universal_d_ScopeLevel as ScopeLevel,\n      identityRolesV1User_universal_d_Visibility as Visibility,\n      identityRolesV1User_universal_d_GetPeopleRequest as GetPeopleRequest,\n      identityRolesV1User_universal_d_PeopleResource as PeopleResource,\n      identityRolesV1User_universal_d_PeopleResourceResourceTypeOneOf as PeopleResourceResourceTypeOneOf,\n      identityRolesV1User_universal_d_FolderResource as FolderResource,\n      identityRolesV1User_universal_d_PeopleType as PeopleType,\n      identityRolesV1User_universal_d_GetPeopleResponse as GetPeopleResponse,\n      identityRolesV1User_universal_d_People as People,\n      identityRolesV1User_universal_d_Person as Person,\n      identityRolesV1User_universal_d_PersonPersonOneOf as PersonPersonOneOf,\n      identityRolesV1User_universal_d_Contributor as Contributor,\n      identityRolesV1User_universal_d_PersonMetaData as PersonMetaData,\n      identityRolesV1User_universal_d_TeamMember as TeamMember,\n      identityRolesV1User_universal_d_GetTeamV2Response as GetTeamV2Response,\n      identityRolesV1User_universal_d_GetTeamInvitesRequest as GetTeamInvitesRequest,\n      identityRolesV1User_universal_d_GetTeamInvitesResponse as GetTeamInvitesResponse,\n      identityRolesV1User_universal_d_Invite as Invite,\n      identityRolesV1User_universal_d_ApiInviteAssignment as ApiInviteAssignment,\n      identityRolesV1User_universal_d_GetPoliciesRequest as GetPoliciesRequest,\n      identityRolesV1User_universal_d_AreasFilter as AreasFilter,\n      identityRolesV1User_universal_d_RoleLevel as RoleLevel,\n      identityRolesV1User_universal_d_GetPoliciesResponse as GetPoliciesResponse,\n      identityRolesV1User_universal_d_SearchTeamRequest as SearchTeamRequest,\n      identityRolesV1User_universal_d_Ordering as Ordering,\n      identityRolesV1User_universal_d_OrderField as OrderField,\n      identityRolesV1User_universal_d_Direction as Direction,\n      identityRolesV1User_universal_d_FacetType as FacetType,\n      identityRolesV1User_universal_d_SearchTeamResponse as SearchTeamResponse,\n      identityRolesV1User_universal_d_Facet as Facet,\n      identityRolesV1User_universal_d_FacetValue as FacetValue,\n      identityRolesV1User_universal_d_TeamMemberV3 as TeamMemberV3,\n      identityRolesV1User_universal_d_TeamMemberV3MembersOneOf as TeamMemberV3MembersOneOf,\n      identityRolesV1User_universal_d_UserV3 as UserV3,\n      identityRolesV1User_universal_d_AssignmentV3 as AssignmentV3,\n      identityRolesV1User_universal_d_AssignedSubject as AssignedSubject,\n      identityRolesV1User_universal_d_InviteV3 as InviteV3,\n      identityRolesV1User_universal_d_InviteAssignmentV3 as InviteAssignmentV3,\n      identityRolesV1User_universal_d_GetRolesRequest as GetRolesRequest,\n      identityRolesV1User_universal_d_GetRolesResponse as GetRolesResponse,\n      identityRolesV1User_universal_d_PredefinedRolesArea as PredefinedRolesArea,\n      identityRolesV1User_universal_d_PredefinedRoleV2 as PredefinedRoleV2,\n      identityRolesV1User_universal_d_RoleLevelRestriction as RoleLevelRestriction,\n      identityRolesV1User_universal_d_EditorType as EditorType,\n      identityRolesV1User_universal_d_RoleVisibility as RoleVisibility,\n      identityRolesV1User_universal_d_CustomRole as CustomRole,\n      identityRolesV1User_universal_d_GetRolesInfoRequest as GetRolesInfoRequest,\n      identityRolesV1User_universal_d_RolesInfoFilter as RolesInfoFilter,\n      identityRolesV1User_universal_d_GetRolesInfoResponse as GetRolesInfoResponse,\n      identityRolesV1User_universal_d_RoleInfo as RoleInfo,\n      identityRolesV1User_universal_d_CreateCustomRoleRequest as CreateCustomRoleRequest,\n      identityRolesV1User_universal_d_Policy as Policy,\n      identityRolesV1User_universal_d_PolicyType as PolicyType,\n      identityRolesV1User_universal_d_PolicyStatement as PolicyStatement,\n      identityRolesV1User_universal_d_Effect as Effect,\n      identityRolesV1User_universal_d_CreateCustomRoleResponse as CreateCustomRoleResponse,\n      identityRolesV1User_universal_d_ChangeRoleV2Request as ChangeRoleV2Request,\n      identityRolesV1User_universal_d_ChangeRoleV2Response as ChangeRoleV2Response,\n      identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsRequest as UpdateTeamMemberAssignmentsRequest,\n      identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsResponse as UpdateTeamMemberAssignmentsResponse,\n      identityRolesV1User_universal_d_GetSubjectsAssignmentsRequest as GetSubjectsAssignmentsRequest,\n      identityRolesV1User_universal_d_GetSubjectsAssignmentsResponse as GetSubjectsAssignmentsResponse,\n      identityRolesV1User_universal_d_SubjectAssignments as SubjectAssignments,\n      identityRolesV1User_universal_d_getTeam as getTeam,\n      identityRolesV1User_universal_d_GetTeamOptions as GetTeamOptions,\n      identityRolesV1User_universal_d_changeRole as changeRole,\n      identityRolesV1User_universal_d_ChangeRoleOptions as ChangeRoleOptions,\n      identityRolesV1User_universal_d_removeMember as removeMember,\n      identityRolesV1User_universal_d_users as users,\n      identityRolesV1User_universal_d_UsersOptions as UsersOptions,\n      identityRolesV1User_universal_d_getScopes as getScopes,\n      identityRolesV1User_universal_d_GetScopesOptions as GetScopesOptions,\n      identityRolesV1User_universal_d_getPeople as getPeople,\n      identityRolesV1User_universal_d_GetPeopleOptions as GetPeopleOptions,\n      identityRolesV1User_universal_d_getTeamV2 as getTeamV2,\n      identityRolesV1User_universal_d_GetTeamV2Options as GetTeamV2Options,\n      identityRolesV1User_universal_d_getTeamInvites as getTeamInvites,\n      identityRolesV1User_universal_d_GetTeamInvitesOptions as GetTeamInvitesOptions,\n      identityRolesV1User_universal_d_getPolicies as getPolicies,\n      identityRolesV1User_universal_d_GetPoliciesOptions as GetPoliciesOptions,\n      identityRolesV1User_universal_d_searchTeam as searchTeam,\n      identityRolesV1User_universal_d_SearchTeamOptions as SearchTeamOptions,\n      identityRolesV1User_universal_d_getRoles as getRoles,\n      identityRolesV1User_universal_d_GetRolesOptions as GetRolesOptions,\n      identityRolesV1User_universal_d_getRolesInfo as getRolesInfo,\n      identityRolesV1User_universal_d_GetRolesInfoOptions as GetRolesInfoOptions,\n      identityRolesV1User_universal_d_createCustomRole as createCustomRole,\n      identityRolesV1User_universal_d_changeRoleV2 as changeRoleV2,\n      identityRolesV1User_universal_d_ChangeRoleV2Options as ChangeRoleV2Options,\n      identityRolesV1User_universal_d_updateTeamMemberAssignments as updateTeamMemberAssignments,\n      identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsOptions as UpdateTeamMemberAssignmentsOptions,\n      identityRolesV1User_universal_d_getSubjectsAssignments as getSubjectsAssignments,\n      identityRolesV1User_universal_d_GetSubjectsAssignmentsOptions as GetSubjectsAssignmentsOptions,\n    };\n  }\n  \n  export { identityInvitesV1AccountInvite_universal_d as accountInvites, identityAccountV2Account_universal_d as accounts, identityV1Contributor_universal_d as contributors, identityInvitesV1SiteInvite_universal_d as siteInvites, identityRolesV1User_universal_d as users };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-user-management-backend.d.ts",
      "content": "declare module \"wix-user-management-backend\" {\n  interface AccountV2 {\n      /** Account ID. */\n      accountId?: string;\n  }\n  interface GetUserAccountRequest {\n      /** the user id that his account we query */\n      userId: string;\n  }\n  interface Account {\n      /** Account ID. */\n      accountId?: string;\n      /** Account slug - used in the free URL prefix */\n      slug?: string;\n      /** Account name (display) */\n      accountName?: string | null;\n      /**\n       * DEPRECATED field of account image\n       * @deprecated\n       */\n      accountImg?: string | null;\n      /** account status */\n      status?: AccountStatus;\n      /** account owner user id */\n      accountOwner?: string;\n      /** account extra properties */\n      accountProperties?: AccountProperties;\n      /** the account creation date */\n      dateCreated?: Date | null;\n      /** last time account was updated */\n      dateUpdated?: Date | null;\n  }\n  /** enum with all available statuses of account */\n  enum AccountStatus {\n      ACTIVE = \"ACTIVE\",\n      BLOCKED = \"BLOCKED\",\n      DELETED = \"DELETED\"\n  }\n  /** All relevant account properties */\n  interface AccountProperties {\n      /** Whether this account is a team account. */\n      isTeam?: boolean;\n      /**\n       * Account image (display)\n       * relevant mainly for CoBranded accounts\n       */\n      accountImg?: string | null;\n      /**\n       * the account banner (display)\n       * relevant mainly for CoBranded accounts\n       */\n      accountBanner?: string | null;\n      /**\n       * the account logo (display)\n       * wll be shown as the account logo in the UI (top right corner, contributor list etc..)\n       */\n      accountLogo?: string | null;\n      /**\n       * account co branding flag (if exists)\n       * an enum for CoBranding flag contains 4 possible options:\n       * None - the account is not CoBranded\n       * CoBranded - the account has a CoBranding flag\n       * CoBranded_Customer_New - the account is a contributor of a CoBranded account. This account was created because of the contributor invite\n       * CoBranded_Customer_Existing - the account is a contributor of a CoBranded account. This account was created before the invite of the contributor invite\n       */\n      coBranding?: CoBranding;\n      /** account's website URL (shown on co branding customers sites) */\n      websiteUrl?: string | null;\n      /** the id of the parent account of this account, if it has a parent */\n      parentAccountId?: string | null;\n  }\n  /** co branding flag options for account */\n  enum CoBranding {\n      None = \"None\",\n      CoBranded = \"CoBranded\",\n      CoBranded_Customer_New = \"CoBranded_Customer_New\",\n      CoBranded_Customer_Existing = \"CoBranded_Customer_Existing\"\n  }\n  interface GetUserAccountsRequest {\n      /** the user id that his accounts we query */\n      userId: string;\n      /** Limited to max 20 at a single request */\n      paging?: Paging$2;\n  }\n  interface Paging$2 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface AccountsResponse {\n      accounts?: Account[];\n  }\n  interface GetMyUserAccountsRequest {\n      /** Limited to max 20 at a single request */\n      paging?: Paging$2;\n  }\n  interface GetAccountRequest {\n      /** the account id that it's data should be retrieved */\n      accountId: string;\n  }\n  interface AccountResponse {\n      account?: Account;\n  }\n  interface GetMyAccountRequest {\n  }\n  interface GetAccountsRequest {\n      /** the account id to retrieve */\n      accountIds?: string[];\n  }\n  interface CreateAccountRequest {\n      /** The user to create under the new account, with the roles defined in `roles`. */\n      user: User$2;\n      /**\n       * Roles to be assigned to the user in the new account. To retrieve all available roles, call Get Roles Info in the Users API.\n       * Default: OWNER.\n       */\n      roles?: string[] | null;\n  }\n  /** A User to be created under an implicitly provided accountId: must have a unique email. */\n  interface User$2 {\n      /** User's unique email address details. Required. */\n      email?: Email;\n      /** User's single sign on identity, when the user is identified via SSO authentication response token params, as specified by [OpenID Connect](https://openid.net/developers/how-connect-works/) (aka. OIDC) protocol. */\n      ssoIdentities?: SsoIdentity[];\n      /** Additional user details. */\n      userDetails?: UserDetails;\n  }\n  /** User's email address. */\n  interface Email {\n      /** User's email address. */\n      emailAddress?: string;\n      /** Whether the caller has verified the user's email address. */\n      isVerified?: boolean;\n  }\n  /** Single Sign On (aka. SSO) identity; user is identified via SSO authentication response token params, as specified by OpenID Connect (aka. OIDC) protocol */\n  interface SsoIdentity {\n      /** An SSO setting (URLs, clientId, secret, etc. as required by OIDC protocol) for a specific Identity-Provider (aka. IdP) for a specific Wix account. */\n      ssoId?: string;\n      /**\n       * User ID as stored in IdP. For example a \"sub\" claim of OIDC protocol,\n       * or any other alternative, specified by IdP (Identity Provider).\n       */\n      userId?: string;\n  }\n  /** additional user details */\n  interface UserDetails {\n      /** User's first name. */\n      firstName?: string | null;\n      /** User's last name. */\n      lastName?: string | null;\n      /** URL to location of user's profile picture. */\n      profilePictureUrl?: string | null;\n      /** User's preferred language in [ISO 639-1:2002](https://en.wikipedia.org/wiki/ISO_639-1) format. For example, \"en\", \"es\". */\n      language?: string | null;\n      /**\n       * Original Client IP from which a request was made.\n       * This is useful in case where a createUser API is called by some server call, which, in turn, has been called by some client from another IP.\n       * Wix checks this IP against the [OFAC sanctioned countries](https://ofac.treasury.gov/sanctions-programs-and-country-information).\n       */\n      clientIp?: string | null;\n  }\n  interface CreateAccountResponse {\n      /** The created account. */\n      account?: AccountV2;\n  }\n  interface CreateAccountForMyUserRequest {\n      /** the account name */\n      accountName?: string | null;\n      /** account image url */\n      accountImg?: string | null;\n      /** whether to mark the account as `studio` */\n      studio?: boolean;\n  }\n  interface CreateAccountTenantRequest {\n      slug?: string | null;\n  }\n  interface CreateAccountTenantResponse {\n      account?: AccountV2;\n  }\n  interface CreateAccountAndAssignUserRequest {\n      /** the user id for which we are creating the account */\n      userId: string;\n      /** the user name of the user for which the account is created */\n      userName: string;\n      /** the parent account of the created account */\n      parentAccountId?: string | null;\n      /** whether to mark the account as `studio` */\n      studio?: boolean;\n  }\n  interface UpdateAccountRequest {\n      /** the account id to update */\n      accountId: string;\n      /**\n       * DEPRECATED field of image\n       * @deprecated\n       */\n      accountImg?: string | null;\n      /** optional - new account name */\n      accountName?: string | null;\n      /**\n       * the new properties for the account.\n       * can be passed partially - and only relevant fields will be updated\n       */\n      accountProperties?: AccountProperties;\n  }\n  interface UpdateParentAccountRequest extends UpdateParentAccountRequestUpdateOneOf {\n      /** Removes the parent account */\n      remove?: RemoveParent;\n  }\n  /** @oneof */\n  interface UpdateParentAccountRequestUpdateOneOf {\n      /** Removes the parent account */\n      remove?: RemoveParent;\n  }\n  interface RemoveParent {\n  }\n  interface UpdateParentAccountResponse {\n      newParentAccountId?: string | null;\n  }\n  interface DeleteAccountRequest {\n      /** the account id to delete */\n      accountId: string;\n      /** will throw exception if trying to delete the account of the last user when the value is true */\n      shouldNotDeleteLastAccount?: boolean;\n  }\n  interface EmptyResponse {\n  }\n  interface UpdateSlugRequest {\n      /** account id */\n      accountId: string;\n      /** new slug */\n      newSlugName: string;\n  }\n  interface IsTeamRequest {\n      /** the account id to check if it's a team account */\n      accountId: string;\n  }\n  interface IsTeamResponse {\n      /** true if the account is marked as a team account, false if not */\n      isTeamAccount?: boolean;\n  }\n  interface MarkAccountFlagRequest extends MarkAccountFlagRequestFlagOneOf {\n      /**\n       * account co branding flag (if exists)\n       * an enum for CoBranding flag contains 4 possible options:\n       * None - the account is not CoBranded\n       * CoBranded - the account has a CoBranding flag\n       * CoBranded_Customer_New - the account is a contributor of a CoBranded account. This account was created because of the contributor invite\n       * CoBranded_Customer_Existing - the account is a contributor of a CoBranded account. This account was created before the invite of the contributor invite\n       */\n      coBranding?: CoBranding;\n      /** the account id to mark */\n      accountId: string;\n      /** the inviting account id in case the flag is given by an invite */\n      invitedByAccountId?: string | null;\n  }\n  /** @oneof */\n  interface MarkAccountFlagRequestFlagOneOf {\n      /**\n       * account co branding flag (if exists)\n       * an enum for CoBranding flag contains 4 possible options:\n       * None - the account is not CoBranded\n       * CoBranded - the account has a CoBranding flag\n       * CoBranded_Customer_New - the account is a contributor of a CoBranded account. This account was created because of the contributor invite\n       * CoBranded_Customer_Existing - the account is a contributor of a CoBranded account. This account was created before the invite of the contributor invite\n       */\n      coBranding?: CoBranding;\n  }\n  interface GetParentAccountInfoRequest {\n  }\n  interface GetParentAccountInfoResponse {\n      /** The info of the parent account, if the account has a parent */\n      parentAccountInfo?: AccountInfo$2;\n  }\n  interface AccountInfo$2 {\n      /** The name of the account */\n      name?: string | null;\n      /** The url of the image of the account */\n      image?: string | null;\n  }\n  interface GetSubAccountsRequest {\n      /** Offset-based pagination for the response. Default page size is 20, max page size is 50 */\n      paging?: Paging$2;\n  }\n  interface GetSubAccountsResponse {\n      /** The sub accounts of the target account */\n      subAccounts?: SubAccountInfo[];\n      /** Metadata of the response pagination */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface SubAccountInfo {\n      /** The id of the sub account */\n      accountId?: string;\n  }\n  interface PagingMetadata {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface ListChildAccountsRequest {\n      /**\n       * Paging options to limit and offset the number of items.\n       * Default: 20. Max: 50.\n       */\n      paging?: Paging$2;\n  }\n  interface ListChildAccountsResponse {\n      /** The requested child accounts. */\n      childAccounts?: AccountV2[];\n      /** Metadata of the response pagination. */\n      pagingMetadata?: PagingMetadata;\n  }\n  interface SetIsReadOnlyAccountRequest {\n      accountId: string;\n      isReadOnly: boolean;\n  }\n  /**\n   * Get account data by user id\n   * @param userId - the user id that his account we query\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId Account.GetUserAccountProperties\n   * @adminMethod\n   */\n  function getUserAccount(userId: string): Promise<Account>;\n  /**\n   * Get accounts data by user id\n   * @param userId - the user id that his accounts we query\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId Account.GetUserAccountProperties\n   * @adminMethod\n   */\n  function getUserAccounts(userId: string, options?: GetUserAccountsOptions): Promise<AccountsResponse>;\n  interface GetUserAccountsOptions {\n      /** Limited to max 20 at a single request */\n      paging?: Paging$2;\n  }\n  /**\n   * Get accounts data by current user\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getMyUserAccounts(options?: GetMyUserAccountsOptions): Promise<AccountsResponse>;\n  interface GetMyUserAccountsOptions {\n      /** Limited to max 20 at a single request */\n      paging?: Paging$2;\n  }\n  /** @param accountId - the account id that it's data should be retrieved\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @permissionId Account.GetAccountProperties\n   * @adminMethod\n   */\n  function getAccount(accountId: string): Promise<AccountResponse>;\n  /**\n   * Get logged-in user account\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId Account.GetAccountProperties\n   * @adminMethod\n   */\n  function getMyAccount(): Promise<AccountResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId Account.GetBulk\n   * @adminMethod\n   */\n  function getAccounts(options?: GetAccountsOptions): Promise<AccountsResponse>;\n  interface GetAccountsOptions {\n      /** the account id to retrieve */\n      accountIds?: string[];\n  }\n  /**\n   * Creates a new Wix account, and creates a new Wix user as the account owner.\n   * The newly created account is a child account of the account used to create it, making that account its parent.\n   *\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param user - The user to create under the new account, with the roles defined in `roles`.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField user\n   * @param options - Filter options.\n   * @permissionId ACCOUNT.CREATE_ACCOUNT\n   * @adminMethod\n   */\n  function createAccount(user: User$2, options?: CreateAccountOptions): Promise<CreateAccountResponse>;\n  interface CreateAccountOptions {\n      /**\n       * Roles to be assigned to the user in the new account. To retrieve all available roles, call Get Roles Info in the Users API.\n       * Default: OWNER.\n       */\n      roles?: string[] | null;\n  }\n  /**\n   * creates account for the logged in user\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function createAccountForMyUser(options?: CreateAccountForMyUserOptions): Promise<AccountResponse>;\n  interface CreateAccountForMyUserOptions {\n      /** the account name */\n      accountName?: string | null;\n      /** account image url */\n      accountImg?: string | null;\n      /** whether to mark the account as `studio` */\n      studio?: boolean;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId ACCOUNT.CREATE_ACCOUNT_TENANT\n   * @adminMethod\n   */\n  function createAccountTenant(options?: CreateAccountTenantOptions): Promise<CreateAccountTenantResponse>;\n  interface CreateAccountTenantOptions {\n      slug?: string | null;\n  }\n  /**\n   * Creates a new Wix account and assign Wix user under this account, as the account owner.\n   * If parentAccountId exists, the account will be created as a sub account of the parent account.\n   * Otherwise, the account will be created without a parent account.\n   * @param userId - the user id for which we are creating the account\n   * @param userName - the user name of the user for which the account is created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @requiredField userName\n   * @permissionId ACCOUNT.CREATE_ACCOUNT_AND_ASSIGN_USER\n   * @adminMethod\n   */\n  function createAccountAndAssignUser(userId: string, userName: string, options?: CreateAccountAndAssignUserOptions): Promise<AccountResponse>;\n  interface CreateAccountAndAssignUserOptions {\n      /** the parent account of the created account */\n      parentAccountId?: string | null;\n      /** whether to mark the account as `studio` */\n      studio?: boolean;\n  }\n  /** @param accountId - the account id to update\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @adminMethod\n   */\n  function updateAccount(accountId: string, options?: UpdateAccountOptions): Promise<AccountResponse>;\n  interface UpdateAccountOptions {\n      /**\n       * DEPRECATED field of image\n       * @deprecated\n       */\n      accountImg?: string | null;\n      /** optional - new account name */\n      accountName?: string | null;\n      /**\n       * the new properties for the account.\n       * can be passed partially - and only relevant fields will be updated\n       */\n      accountProperties?: AccountProperties;\n  }\n  /**\n   * Updates the parent account of the account that is passed in the target account header.\n   * The permission required for removing a parent account: \"ACCOUNT.REMOVE_PARENT_ACCOUNT\"\n   * @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function updateParentAccount(options?: UpdateParentAccountOptions): Promise<UpdateParentAccountResponse>;\n  interface UpdateParentAccountOptions extends UpdateParentAccountRequestUpdateOneOf {\n      /** Removes the parent account */\n      remove?: RemoveParent;\n  }\n  /** @param accountId - the account id to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @permissionId Account.DeleteAccount\n   * @adminMethod\n   */\n  function deleteAccount(accountId: string, options?: DeleteAccountOptions): Promise<void>;\n  interface DeleteAccountOptions {\n      /** will throw exception if trying to delete the account of the last user when the value is true */\n      shouldNotDeleteLastAccount?: boolean;\n  }\n  /** @param accountId - account id\n   * @param newSlugName - new slug\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @requiredField newSlugName\n   * @permissionId Account.UpdateSlugName\n   * @adminMethod\n   */\n  function updateSlugName(accountId: string, newSlugName: string): Promise<void>;\n  /**\n   * Returns whether the account is a team account.\n   * @param accountId - the account id to check if it's a team account\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @permissionId Account.CheckTeamStatus\n   * @adminMethod\n   */\n  function isTeam(accountId: string): Promise<IsTeamResponse>;\n  /**\n   * Marking an account flag explicitly. Returns the new account data\n   * @param accountId - the account id to mark\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @permissionId Account.MarkAccountFlag\n   * @adminMethod\n   */\n  function markAccountFlag(accountId: string, options?: MarkAccountFlagOptions): Promise<AccountResponse>;\n  interface MarkAccountFlagOptions extends MarkAccountFlagRequestFlagOneOf {\n      /**\n       * account co branding flag (if exists)\n       * an enum for CoBranding flag contains 4 possible options:\n       * None - the account is not CoBranded\n       * CoBranded - the account has a CoBranding flag\n       * CoBranded_Customer_New - the account is a contributor of a CoBranded account. This account was created because of the contributor invite\n       * CoBranded_Customer_Existing - the account is a contributor of a CoBranded account. This account was created before the invite of the contributor invite\n       */\n      coBranding?: CoBranding;\n      /** the inviting account id in case the flag is given by an invite */\n      invitedByAccountId?: string | null;\n  }\n  /**\n   * Gets information about the parent account of the target account (taken from the context targetAccountId field).\n   * If the target account has no parent, no information will be returned.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ACCOUNT.GET_PARENT_ACCOUNT_INFO\n   * @adminMethod\n   */\n  function getParentAccountInfo(): Promise<GetParentAccountInfoResponse>;\n  /**\n   * Gets the sub accounts of the target account (taken from the context targetAccountId field).\n   * If the target account has no sub accounts, an empty list will be returned.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ACCOUNT.GET_SUB_ACCOUNTS\n   * @adminMethod\n   */\n  function getSubAccounts(options?: GetSubAccountsOptions): Promise<GetSubAccountsResponse>;\n  interface GetSubAccountsOptions {\n      /** Offset-based pagination for the response. Default page size is 20, max page size is 50 */\n      paging?: Paging$2;\n  }\n  /**\n   * Retrieves a list of child account IDs for the requesting account.\n   * If no child accounts exist, an empty list will be returned.\n   *\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filter options.\n   * @permissionId ACCOUNT.CHILD_ACCOUNTS_LIST\n   * @adminMethod\n   */\n  function listChildAccounts(options?: ListChildAccountsOptions): Promise<ListChildAccountsResponse>;\n  interface ListChildAccountsOptions {\n      /**\n       * Paging options to limit and offset the number of items.\n       * Default: 20. Max: 50.\n       */\n      paging?: Paging$2;\n  }\n  /**\n   * set the account's is_read_only flag\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @requiredField isReadOnly\n   * @permissionId ACCOUNT.SET_IS_READ_ONLY\n   * @adminMethod\n   */\n  function setIsReadOnlyAccount(accountId: string, isReadOnly: boolean): Promise<void>;\n  \n  type identityAccountV2Account_universal_d_AccountV2 = AccountV2;\n  type identityAccountV2Account_universal_d_GetUserAccountRequest = GetUserAccountRequest;\n  type identityAccountV2Account_universal_d_Account = Account;\n  type identityAccountV2Account_universal_d_AccountStatus = AccountStatus;\n  const identityAccountV2Account_universal_d_AccountStatus: typeof AccountStatus;\n  type identityAccountV2Account_universal_d_AccountProperties = AccountProperties;\n  type identityAccountV2Account_universal_d_CoBranding = CoBranding;\n  const identityAccountV2Account_universal_d_CoBranding: typeof CoBranding;\n  type identityAccountV2Account_universal_d_GetUserAccountsRequest = GetUserAccountsRequest;\n  type identityAccountV2Account_universal_d_AccountsResponse = AccountsResponse;\n  type identityAccountV2Account_universal_d_GetMyUserAccountsRequest = GetMyUserAccountsRequest;\n  type identityAccountV2Account_universal_d_GetAccountRequest = GetAccountRequest;\n  type identityAccountV2Account_universal_d_AccountResponse = AccountResponse;\n  type identityAccountV2Account_universal_d_GetMyAccountRequest = GetMyAccountRequest;\n  type identityAccountV2Account_universal_d_GetAccountsRequest = GetAccountsRequest;\n  type identityAccountV2Account_universal_d_CreateAccountRequest = CreateAccountRequest;\n  type identityAccountV2Account_universal_d_Email = Email;\n  type identityAccountV2Account_universal_d_SsoIdentity = SsoIdentity;\n  type identityAccountV2Account_universal_d_UserDetails = UserDetails;\n  type identityAccountV2Account_universal_d_CreateAccountResponse = CreateAccountResponse;\n  type identityAccountV2Account_universal_d_CreateAccountForMyUserRequest = CreateAccountForMyUserRequest;\n  type identityAccountV2Account_universal_d_CreateAccountTenantRequest = CreateAccountTenantRequest;\n  type identityAccountV2Account_universal_d_CreateAccountTenantResponse = CreateAccountTenantResponse;\n  type identityAccountV2Account_universal_d_CreateAccountAndAssignUserRequest = CreateAccountAndAssignUserRequest;\n  type identityAccountV2Account_universal_d_UpdateAccountRequest = UpdateAccountRequest;\n  type identityAccountV2Account_universal_d_UpdateParentAccountRequest = UpdateParentAccountRequest;\n  type identityAccountV2Account_universal_d_UpdateParentAccountRequestUpdateOneOf = UpdateParentAccountRequestUpdateOneOf;\n  type identityAccountV2Account_universal_d_RemoveParent = RemoveParent;\n  type identityAccountV2Account_universal_d_UpdateParentAccountResponse = UpdateParentAccountResponse;\n  type identityAccountV2Account_universal_d_DeleteAccountRequest = DeleteAccountRequest;\n  type identityAccountV2Account_universal_d_EmptyResponse = EmptyResponse;\n  type identityAccountV2Account_universal_d_UpdateSlugRequest = UpdateSlugRequest;\n  type identityAccountV2Account_universal_d_IsTeamRequest = IsTeamRequest;\n  type identityAccountV2Account_universal_d_IsTeamResponse = IsTeamResponse;\n  type identityAccountV2Account_universal_d_MarkAccountFlagRequest = MarkAccountFlagRequest;\n  type identityAccountV2Account_universal_d_MarkAccountFlagRequestFlagOneOf = MarkAccountFlagRequestFlagOneOf;\n  type identityAccountV2Account_universal_d_GetParentAccountInfoRequest = GetParentAccountInfoRequest;\n  type identityAccountV2Account_universal_d_GetParentAccountInfoResponse = GetParentAccountInfoResponse;\n  type identityAccountV2Account_universal_d_GetSubAccountsRequest = GetSubAccountsRequest;\n  type identityAccountV2Account_universal_d_GetSubAccountsResponse = GetSubAccountsResponse;\n  type identityAccountV2Account_universal_d_SubAccountInfo = SubAccountInfo;\n  type identityAccountV2Account_universal_d_PagingMetadata = PagingMetadata;\n  type identityAccountV2Account_universal_d_ListChildAccountsRequest = ListChildAccountsRequest;\n  type identityAccountV2Account_universal_d_ListChildAccountsResponse = ListChildAccountsResponse;\n  type identityAccountV2Account_universal_d_SetIsReadOnlyAccountRequest = SetIsReadOnlyAccountRequest;\n  const identityAccountV2Account_universal_d_getUserAccount: typeof getUserAccount;\n  const identityAccountV2Account_universal_d_getUserAccounts: typeof getUserAccounts;\n  type identityAccountV2Account_universal_d_GetUserAccountsOptions = GetUserAccountsOptions;\n  const identityAccountV2Account_universal_d_getMyUserAccounts: typeof getMyUserAccounts;\n  type identityAccountV2Account_universal_d_GetMyUserAccountsOptions = GetMyUserAccountsOptions;\n  const identityAccountV2Account_universal_d_getAccount: typeof getAccount;\n  const identityAccountV2Account_universal_d_getMyAccount: typeof getMyAccount;\n  const identityAccountV2Account_universal_d_getAccounts: typeof getAccounts;\n  type identityAccountV2Account_universal_d_GetAccountsOptions = GetAccountsOptions;\n  const identityAccountV2Account_universal_d_createAccount: typeof createAccount;\n  type identityAccountV2Account_universal_d_CreateAccountOptions = CreateAccountOptions;\n  const identityAccountV2Account_universal_d_createAccountForMyUser: typeof createAccountForMyUser;\n  type identityAccountV2Account_universal_d_CreateAccountForMyUserOptions = CreateAccountForMyUserOptions;\n  const identityAccountV2Account_universal_d_createAccountTenant: typeof createAccountTenant;\n  type identityAccountV2Account_universal_d_CreateAccountTenantOptions = CreateAccountTenantOptions;\n  const identityAccountV2Account_universal_d_createAccountAndAssignUser: typeof createAccountAndAssignUser;\n  type identityAccountV2Account_universal_d_CreateAccountAndAssignUserOptions = CreateAccountAndAssignUserOptions;\n  const identityAccountV2Account_universal_d_updateAccount: typeof updateAccount;\n  type identityAccountV2Account_universal_d_UpdateAccountOptions = UpdateAccountOptions;\n  const identityAccountV2Account_universal_d_updateParentAccount: typeof updateParentAccount;\n  type identityAccountV2Account_universal_d_UpdateParentAccountOptions = UpdateParentAccountOptions;\n  const identityAccountV2Account_universal_d_deleteAccount: typeof deleteAccount;\n  type identityAccountV2Account_universal_d_DeleteAccountOptions = DeleteAccountOptions;\n  const identityAccountV2Account_universal_d_updateSlugName: typeof updateSlugName;\n  const identityAccountV2Account_universal_d_isTeam: typeof isTeam;\n  const identityAccountV2Account_universal_d_markAccountFlag: typeof markAccountFlag;\n  type identityAccountV2Account_universal_d_MarkAccountFlagOptions = MarkAccountFlagOptions;\n  const identityAccountV2Account_universal_d_getParentAccountInfo: typeof getParentAccountInfo;\n  const identityAccountV2Account_universal_d_getSubAccounts: typeof getSubAccounts;\n  type identityAccountV2Account_universal_d_GetSubAccountsOptions = GetSubAccountsOptions;\n  const identityAccountV2Account_universal_d_listChildAccounts: typeof listChildAccounts;\n  type identityAccountV2Account_universal_d_ListChildAccountsOptions = ListChildAccountsOptions;\n  const identityAccountV2Account_universal_d_setIsReadOnlyAccount: typeof setIsReadOnlyAccount;\n  namespace identityAccountV2Account_universal_d {\n    export {\n      identityAccountV2Account_universal_d_AccountV2 as AccountV2,\n      identityAccountV2Account_universal_d_GetUserAccountRequest as GetUserAccountRequest,\n      identityAccountV2Account_universal_d_Account as Account,\n      identityAccountV2Account_universal_d_AccountStatus as AccountStatus,\n      identityAccountV2Account_universal_d_AccountProperties as AccountProperties,\n      identityAccountV2Account_universal_d_CoBranding as CoBranding,\n      identityAccountV2Account_universal_d_GetUserAccountsRequest as GetUserAccountsRequest,\n      Paging$2 as Paging,\n      identityAccountV2Account_universal_d_AccountsResponse as AccountsResponse,\n      identityAccountV2Account_universal_d_GetMyUserAccountsRequest as GetMyUserAccountsRequest,\n      identityAccountV2Account_universal_d_GetAccountRequest as GetAccountRequest,\n      identityAccountV2Account_universal_d_AccountResponse as AccountResponse,\n      identityAccountV2Account_universal_d_GetMyAccountRequest as GetMyAccountRequest,\n      identityAccountV2Account_universal_d_GetAccountsRequest as GetAccountsRequest,\n      identityAccountV2Account_universal_d_CreateAccountRequest as CreateAccountRequest,\n      User$2 as User,\n      identityAccountV2Account_universal_d_Email as Email,\n      identityAccountV2Account_universal_d_SsoIdentity as SsoIdentity,\n      identityAccountV2Account_universal_d_UserDetails as UserDetails,\n      identityAccountV2Account_universal_d_CreateAccountResponse as CreateAccountResponse,\n      identityAccountV2Account_universal_d_CreateAccountForMyUserRequest as CreateAccountForMyUserRequest,\n      identityAccountV2Account_universal_d_CreateAccountTenantRequest as CreateAccountTenantRequest,\n      identityAccountV2Account_universal_d_CreateAccountTenantResponse as CreateAccountTenantResponse,\n      identityAccountV2Account_universal_d_CreateAccountAndAssignUserRequest as CreateAccountAndAssignUserRequest,\n      identityAccountV2Account_universal_d_UpdateAccountRequest as UpdateAccountRequest,\n      identityAccountV2Account_universal_d_UpdateParentAccountRequest as UpdateParentAccountRequest,\n      identityAccountV2Account_universal_d_UpdateParentAccountRequestUpdateOneOf as UpdateParentAccountRequestUpdateOneOf,\n      identityAccountV2Account_universal_d_RemoveParent as RemoveParent,\n      identityAccountV2Account_universal_d_UpdateParentAccountResponse as UpdateParentAccountResponse,\n      identityAccountV2Account_universal_d_DeleteAccountRequest as DeleteAccountRequest,\n      identityAccountV2Account_universal_d_EmptyResponse as EmptyResponse,\n      identityAccountV2Account_universal_d_UpdateSlugRequest as UpdateSlugRequest,\n      identityAccountV2Account_universal_d_IsTeamRequest as IsTeamRequest,\n      identityAccountV2Account_universal_d_IsTeamResponse as IsTeamResponse,\n      identityAccountV2Account_universal_d_MarkAccountFlagRequest as MarkAccountFlagRequest,\n      identityAccountV2Account_universal_d_MarkAccountFlagRequestFlagOneOf as MarkAccountFlagRequestFlagOneOf,\n      identityAccountV2Account_universal_d_GetParentAccountInfoRequest as GetParentAccountInfoRequest,\n      identityAccountV2Account_universal_d_GetParentAccountInfoResponse as GetParentAccountInfoResponse,\n      AccountInfo$2 as AccountInfo,\n      identityAccountV2Account_universal_d_GetSubAccountsRequest as GetSubAccountsRequest,\n      identityAccountV2Account_universal_d_GetSubAccountsResponse as GetSubAccountsResponse,\n      identityAccountV2Account_universal_d_SubAccountInfo as SubAccountInfo,\n      identityAccountV2Account_universal_d_PagingMetadata as PagingMetadata,\n      identityAccountV2Account_universal_d_ListChildAccountsRequest as ListChildAccountsRequest,\n      identityAccountV2Account_universal_d_ListChildAccountsResponse as ListChildAccountsResponse,\n      identityAccountV2Account_universal_d_SetIsReadOnlyAccountRequest as SetIsReadOnlyAccountRequest,\n      identityAccountV2Account_universal_d_getUserAccount as getUserAccount,\n      identityAccountV2Account_universal_d_getUserAccounts as getUserAccounts,\n      identityAccountV2Account_universal_d_GetUserAccountsOptions as GetUserAccountsOptions,\n      identityAccountV2Account_universal_d_getMyUserAccounts as getMyUserAccounts,\n      identityAccountV2Account_universal_d_GetMyUserAccountsOptions as GetMyUserAccountsOptions,\n      identityAccountV2Account_universal_d_getAccount as getAccount,\n      identityAccountV2Account_universal_d_getMyAccount as getMyAccount,\n      identityAccountV2Account_universal_d_getAccounts as getAccounts,\n      identityAccountV2Account_universal_d_GetAccountsOptions as GetAccountsOptions,\n      identityAccountV2Account_universal_d_createAccount as createAccount,\n      identityAccountV2Account_universal_d_CreateAccountOptions as CreateAccountOptions,\n      identityAccountV2Account_universal_d_createAccountForMyUser as createAccountForMyUser,\n      identityAccountV2Account_universal_d_CreateAccountForMyUserOptions as CreateAccountForMyUserOptions,\n      identityAccountV2Account_universal_d_createAccountTenant as createAccountTenant,\n      identityAccountV2Account_universal_d_CreateAccountTenantOptions as CreateAccountTenantOptions,\n      identityAccountV2Account_universal_d_createAccountAndAssignUser as createAccountAndAssignUser,\n      identityAccountV2Account_universal_d_CreateAccountAndAssignUserOptions as CreateAccountAndAssignUserOptions,\n      identityAccountV2Account_universal_d_updateAccount as updateAccount,\n      identityAccountV2Account_universal_d_UpdateAccountOptions as UpdateAccountOptions,\n      identityAccountV2Account_universal_d_updateParentAccount as updateParentAccount,\n      identityAccountV2Account_universal_d_UpdateParentAccountOptions as UpdateParentAccountOptions,\n      identityAccountV2Account_universal_d_deleteAccount as deleteAccount,\n      identityAccountV2Account_universal_d_DeleteAccountOptions as DeleteAccountOptions,\n      identityAccountV2Account_universal_d_updateSlugName as updateSlugName,\n      identityAccountV2Account_universal_d_isTeam as isTeam,\n      identityAccountV2Account_universal_d_markAccountFlag as markAccountFlag,\n      identityAccountV2Account_universal_d_MarkAccountFlagOptions as MarkAccountFlagOptions,\n      identityAccountV2Account_universal_d_getParentAccountInfo as getParentAccountInfo,\n      identityAccountV2Account_universal_d_getSubAccounts as getSubAccounts,\n      identityAccountV2Account_universal_d_GetSubAccountsOptions as GetSubAccountsOptions,\n      identityAccountV2Account_universal_d_listChildAccounts as listChildAccounts,\n      identityAccountV2Account_universal_d_ListChildAccountsOptions as ListChildAccountsOptions,\n      identityAccountV2Account_universal_d_setIsReadOnlyAccount as setIsReadOnlyAccount,\n    };\n  }\n  \n  interface AccountInvite$1 {\n      /**\n       * Invite ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Account ID.\n       * @readonly\n       */\n      accountId?: string;\n      /** Email address where the invite was sent. */\n      email?: string;\n      /**\n       * Deprecated. Use `policyIds`.\n       * @deprecated\n       */\n      role?: string;\n      /**\n       * Deprecated. Use `inviterAccountId`.\n       * @readonly\n       * @deprecated\n       */\n      inviterId?: string;\n      /**\n       * Invite status.\n       *\n       * Supported values:\n       * - **Pending:** The invite has been sent and is valid, waiting for the user's response.\n       * - **Used:** The invite has been accepted.\n       * - **Deleted:** The invite has been deleted or revoked.\n       * - **Declined:** The user has declined the invite.\n       * - **Expired:** The invite has expired without being accepted.\n       */\n      status?: InviteStatus$3;\n      /** Link to accept the invite. */\n      acceptLink?: string;\n      /**\n       * Inviting account ID.\n       * @readonly\n       */\n      inviterAccountId?: string;\n      /**\n       * Account ID that accepted the invite. Populated only once the invite is accepted.\n       * @readonly\n       */\n      acceptedByAccountId?: string | null;\n      /** Date the invite was created. */\n      dateCreated?: Date | null;\n      /** Role IDs included in the invite. */\n      policyIds?: string[];\n      /** Date the invite was last updated. */\n      dateUpdated?: Date | null;\n      /** Assets the users are invited to join. */\n      assignments?: InviteResourceAssignment$1[];\n      /**\n       * Brand domain.\n       * @internal\n       */\n      brandDomain?: string | null;\n      /** Invite expiration date. */\n      expirationDate?: Date | null;\n  }\n  /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */\n  enum InviteStatus$3 {\n      Pending = \"Pending\",\n      Used = \"Used\",\n      Deleted = \"Deleted\",\n      Declined = \"Declined\",\n      Expired = \"Expired\"\n  }\n  interface InviteResourceAssignment$1 {\n      /** Role ID. */\n      policyId?: string;\n      /** Resources the user will be able to access. */\n      assignments?: InviteAssignment$1[];\n  }\n  interface InviteAssignment$1 {\n      /** Full name of resource to be assigned. */\n      fullNameResource?: FullNameResource$1;\n      /**\n       * Condition that will limit the user's access.\n       * @internal\n       */\n      condition?: PolicyCondition$1;\n  }\n  interface FullNameResource$1 extends FullNameResourceResourceContextOneOf$1 {\n      /** Specific site details. */\n      siteContext?: SiteResourceContext$1;\n      /** Specific account details. */\n      accountContext?: AccountResourceContext$1;\n      /**\n       * Specific organization.\n       * @internal\n       */\n      organizationContext?: OrganizationResourceContext$1;\n      /**\n       * A specific resource. We will determine the resource type based on the action.\n       * @internal\n       */\n      resource?: Resource$2;\n  }\n  /** @oneof */\n  interface FullNameResourceResourceContextOneOf$1 {\n      /** Specific site details. */\n      siteContext?: SiteResourceContext$1;\n      /** Specific account details. */\n      accountContext?: AccountResourceContext$1;\n      /**\n       * Specific organization.\n       * @internal\n       */\n      organizationContext?: OrganizationResourceContext$1;\n  }\n  /** Site resource context. It indicates that the resource is under a site (can be the site itself or some asset of a site, like a blog post) */\n  interface SiteResourceContext$1 {\n      /** Site ID. */\n      metasiteId?: string;\n  }\n  /** Account resource contexts. It indicates that the resource is under the account (can be the account itself or some asset of an account, like a logo or a domain) */\n  interface AccountResourceContext$1 {\n      /** Account ID. */\n      accountId?: string;\n  }\n  interface OrganizationResourceContext$1 {\n  }\n  /**\n   * A custom resource. Is used to represent some asset that is not a direct resource context (site or account), but something custom.\n   * For example: payment method, blog post, domain, logo.\n   */\n  interface Resource$2 {\n      /** The resource id. */\n      _id?: string | null;\n      /** The resource type */\n      type?: string | null;\n  }\n  interface PolicyCondition$1 {\n      /** The type of the condition */\n      condition?: ConditionType$1;\n  }\n  interface ConditionType$1 extends ConditionTypeOfOneOf$1 {\n      /** @deprecated */\n      simpleCondition?: SimpleCondition$1;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition$1;\n      /** @deprecated */\n      environmentCondition?: EnvironmentCondition$1;\n      /** A single condition */\n      condition?: Condition$2;\n  }\n  /** @oneof */\n  interface ConditionTypeOfOneOf$1 {\n      /** @deprecated */\n      simpleCondition?: SimpleCondition$1;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition$1;\n      /** @deprecated */\n      environmentCondition?: EnvironmentCondition$1;\n      /** A single condition */\n      condition?: Condition$2;\n  }\n  interface SimpleCondition$1 {\n      attrName?: string;\n      value?: SimpleConditionValue$1;\n      op?: SimpleConditionOperator$1;\n      conditionModelId?: string;\n  }\n  interface SimpleConditionValue$1 extends SimpleConditionValueValueOneOf$1 {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface SimpleConditionValueValueOneOf$1 {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  enum SimpleConditionOperator$1 {\n      UNKNOWN_SIMPLE_OP = \"UNKNOWN_SIMPLE_OP\",\n      EQUAL = \"EQUAL\"\n  }\n  interface JoinedCondition$1 {\n      /** The operator that should be used when evaluating the condition */\n      op?: JoinedConditionOperator$1;\n      /** The conditions that should be evaluated, and then joined using the operator provided */\n      conditions?: ConditionType$1[];\n  }\n  enum JoinedConditionOperator$1 {\n      UNKNOWN_JOIN_OP = \"UNKNOWN_JOIN_OP\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  interface EnvironmentCondition$1 extends EnvironmentConditionConditionOneOf$1 {\n      experimentCondition?: ExperimentCondition$1;\n  }\n  /** @oneof */\n  interface EnvironmentConditionConditionOneOf$1 {\n      experimentCondition?: ExperimentCondition$1;\n  }\n  interface ExperimentCondition$1 {\n      spec?: string;\n      fallbackValue?: string;\n      expectedValue?: string;\n  }\n  interface Condition$2 {\n      /** The unique identifier of the condition model. Indicates which actions the condition is working on */\n      conditionModelId?: string;\n      /** The operator that should be evaluated */\n      operator?: ConditionOperator$1;\n  }\n  interface ConditionOperator$1 extends ConditionOperatorOperatorsOneOf$1 {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator$1;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator$1;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator$1;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator$1;\n  }\n  /** @oneof */\n  interface ConditionOperatorOperatorsOneOf$1 {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator$1;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator$1;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator$1;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator$1;\n  }\n  interface EqualOperator$1 {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the other side (attribute/value) */\n      attrName?: string;\n      /** The value to compare to. If the two parties are equal - we will return true. */\n      value?: ConditionValue$1;\n  }\n  interface ConditionValue$1 extends ConditionValueValueOneOf$1 {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface ConditionValueValueOneOf$1 {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  interface LikeOperator$1 {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the regex values provided. */\n      attrName?: string;\n      /** The regex values which the attribute value should be evaluated on. If the attribute value matches at least one of the regular expressions provided - we will return true */\n      values?: string[];\n  }\n  interface ExperimentOperator$1 {\n      /** The spec to conduct the experiment on. */\n      spec?: string;\n      /** The value to use if the experiment could not be conducted */\n      fallbackValue?: string;\n      /** The expected value of the experiment conduction. If it matches the actual value - true will be returned. Otherwise - false. */\n      expectedValue?: string;\n  }\n  /** Implies that the policy takes affect only if the depend on subject is permitted as well. */\n  interface DependOnOperator$1 {\n      /** The subject on which the current entry depends on. If the subject is allowed to perform what the query was about - the condition will be evaluated to true. Otherwise - false */\n      dependOnSubject?: Subject$2;\n  }\n  interface Subject$2 {\n      /** ID of identity assigned to the asset. */\n      _id?: string;\n      /** Type of identity assigned to the asset. Supported subject types include user IDs, account IDs, and app IDs. */\n      subjectType?: SubjectType$2;\n      /** Context of identity assigned to the asset. For example, a `subjectType` = `USER` will have `context` = `ACCOUNT`. */\n      context?: SubjectContext$2;\n  }\n  enum SubjectType$2 {\n      UNKNOWN = \"UNKNOWN\",\n      ACCOUNT = \"ACCOUNT\",\n      USER = \"USER\",\n      USER_GROUP = \"USER_GROUP\",\n      MEMBER_GROUP = \"MEMBER_GROUP\",\n      VISITOR_GROUP = \"VISITOR_GROUP\",\n      EXTERNAL_APP = \"EXTERNAL_APP\",\n      ACCOUNT_GROUP = \"ACCOUNT_GROUP\",\n      WIX_APP = \"WIX_APP\"\n  }\n  interface SubjectContext$2 {\n      _id?: string;\n      contextType?: SubjectContextType$2;\n  }\n  enum SubjectContextType$2 {\n      UNKNOWN_CTX = \"UNKNOWN_CTX\",\n      ORG_CTX = \"ORG_CTX\",\n      ACCOUNT_CTX = \"ACCOUNT_CTX\"\n  }\n  interface GetAccountInvitesRequest {\n  }\n  interface GetAccountInvitesResponse {\n      invites?: AccountInvite$1[];\n  }\n  interface GetAccountInviteRequest {\n      _id: string;\n  }\n  interface GetAccountInviteResponse {\n      invite?: AccountInvite$1;\n  }\n  interface AccountInviteRequest {\n      role?: string;\n      email?: string;\n      policyIds?: string[];\n  }\n  interface AccountInviteResponse {\n      invite?: AccountInvite$1;\n  }\n  interface CreateInviteRequest {\n      /** Array of potential team members' email addresses and their corresponding assignments (how they will be assigned when they accept the invite). */\n      subjectsAssignments: SubjectInviteAssignments[];\n      /**\n       * Whether to suppress (not send) emails to the assignees.\n       * @internal\n       */\n      suppressEmail?: boolean;\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  interface SubjectInviteAssignments {\n      /** Invitee's email address. */\n      subjectEmail?: string;\n      /** Mapping of roles (referred to here as policies) and assets (referred to here as resources) that will be assigned to the invitee when they accept the invite. When no resources are specified, the invitee will be given access to everything within the account. */\n      assignments?: InviteResourceAssignment$1[];\n  }\n  interface CreateInviteResponse {\n      /** Invites that were sent successfully. */\n      successfulInvites?: AccountInvite$1[];\n      /** Invites that failed. */\n      failedInvites?: InviteFailure[];\n  }\n  interface InviteFailure {\n      /** Email address of the failed invite. */\n      subjectEmail?: string;\n      /** Error description. */\n      errorMessage?: string;\n  }\n  interface BulkAccountInviteRequest {\n      role?: string;\n      emails?: string[];\n      policyIds?: string[];\n  }\n  interface BulkAccountInviteResponse {\n      invites?: AccountInvite$1[];\n      failedEmails?: string[];\n  }\n  interface ResendAccountInviteRequest {\n      inviteId: string;\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n  }\n  interface AcceptAccountInviteRequest {\n      inviteToken?: string;\n  }\n  interface AcceptAccountInviteResponse {\n  }\n  interface RevokeAccountInviteRequest {\n      inviteId: string;\n  }\n  interface RevokeAccountInviteResponse {\n  }\n  interface UpdateAccountInviteRequest {\n      inviteId: string;\n      role?: string;\n      policyIds?: string[];\n  }\n  interface UpdateAccountInviteResponse {\n  }\n  interface UpdateAccountInviteAssignmentsRequest {\n      inviteId: string;\n      assignments?: InviteResourceAssignment$1[];\n  }\n  interface UpdateAccountInviteAssignmentsResponse {\n  }\n  interface ParseAccountInviteTokenRequest {\n      inviteToken?: string;\n  }\n  interface ParseAccountInviteTokenResponse {\n      inviteId?: string;\n      accountId?: string;\n      status?: InviteStatus$3;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId team.view-invites\n   * @adminMethod\n   */\n  function getInvites$1(): Promise<GetAccountInvitesResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId team.view-invites\n   * @adminMethod\n   */\n  function getInvite$1(_id: string): Promise<AccountInvite$1>;\n  /**\n   * Deprecated: please use CreateInvite\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId team.send-invite\n   * @adminMethod\n   * @deprecated\n   */\n  function invite$1(options?: InviteOptions$1): Promise<AccountInviteResponse>;\n  interface InviteOptions$1 {\n      role?: string;\n      email?: string;\n      policyIds?: string[];\n  }\n  /**\n   * Creates and sends invite emails to a list of potential team members, inviting them to become team members of the requesting account.\n   * The invites may be limited to a specific resource (site or other asset).\n   * Maximum 50 invitees can be specified per call.\n   *\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param subjectsAssignments - Array of potential team members' email addresses and their corresponding assignments (how they will be assigned when they accept the invite).\n   * @public\n   * @documentationMaturity preview\n   * @requiredField subjectsAssignments\n   * @param options - Filter options.\n   * @permissionId team.send-invite\n   * @adminMethod\n   */\n  function createInvite(subjectsAssignments: SubjectInviteAssignments[], options?: CreateInviteOptions): Promise<CreateInviteResponse>;\n  interface CreateInviteOptions {\n      /**\n       * Whether to suppress (not send) emails to the assignees.\n       * @internal\n       */\n      suppressEmail?: boolean;\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  /**\n   * Deprecated: please use CreateInvite\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId team.send-invite\n   * @adminMethod\n   * @deprecated\n   */\n  function bulkInvite$1(options?: BulkInviteOptions$1): Promise<BulkAccountInviteResponse>;\n  interface BulkInviteOptions$1 {\n      role?: string;\n      emails?: string[];\n      policyIds?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId team.send-invite\n   * @adminMethod\n   */\n  function resendInvite$1(inviteId: string, options?: ResendInviteOptions$1): Promise<AccountInviteResponse>;\n  interface ResendInviteOptions$1 {\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId team.accept-invite\n   * @adminMethod\n   */\n  function acceptInvite$1(options?: AcceptInviteOptions$1): Promise<void>;\n  interface AcceptInviteOptions$1 {\n      inviteToken?: string;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId team.delete-invite\n   * @adminMethod\n   */\n  function revokeInvite$1(inviteId: string): Promise<void>;\n  /**\n   * Deprecated: please use UpdateInviteAssignments\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId team.change-invite\n   * @adminMethod\n   * @deprecated\n   */\n  function updateInvite$1(inviteId: string, options?: UpdateInviteOptions$1): Promise<void>;\n  interface UpdateInviteOptions$1 {\n      role?: string;\n      policyIds?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId team.change-invite\n   * @adminMethod\n   */\n  function updateInviteAssignments(inviteId: string, options?: UpdateInviteAssignmentsOptions): Promise<void>;\n  interface UpdateInviteAssignmentsOptions {\n      assignments?: InviteResourceAssignment$1[];\n  }\n  \n  type identityInvitesV1AccountInvite_universal_d_GetAccountInvitesRequest = GetAccountInvitesRequest;\n  type identityInvitesV1AccountInvite_universal_d_GetAccountInvitesResponse = GetAccountInvitesResponse;\n  type identityInvitesV1AccountInvite_universal_d_GetAccountInviteRequest = GetAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_GetAccountInviteResponse = GetAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_AccountInviteRequest = AccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_AccountInviteResponse = AccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_CreateInviteRequest = CreateInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_SubjectInviteAssignments = SubjectInviteAssignments;\n  type identityInvitesV1AccountInvite_universal_d_CreateInviteResponse = CreateInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_InviteFailure = InviteFailure;\n  type identityInvitesV1AccountInvite_universal_d_BulkAccountInviteRequest = BulkAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_BulkAccountInviteResponse = BulkAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_ResendAccountInviteRequest = ResendAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteRequest = AcceptAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteResponse = AcceptAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteRequest = RevokeAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteResponse = RevokeAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteRequest = UpdateAccountInviteRequest;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteResponse = UpdateAccountInviteResponse;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsRequest = UpdateAccountInviteAssignmentsRequest;\n  type identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsResponse = UpdateAccountInviteAssignmentsResponse;\n  type identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenRequest = ParseAccountInviteTokenRequest;\n  type identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenResponse = ParseAccountInviteTokenResponse;\n  const identityInvitesV1AccountInvite_universal_d_createInvite: typeof createInvite;\n  type identityInvitesV1AccountInvite_universal_d_CreateInviteOptions = CreateInviteOptions;\n  const identityInvitesV1AccountInvite_universal_d_updateInviteAssignments: typeof updateInviteAssignments;\n  type identityInvitesV1AccountInvite_universal_d_UpdateInviteAssignmentsOptions = UpdateInviteAssignmentsOptions;\n  namespace identityInvitesV1AccountInvite_universal_d {\n    export {\n      AccountInvite$1 as AccountInvite,\n      InviteStatus$3 as InviteStatus,\n      InviteResourceAssignment$1 as InviteResourceAssignment,\n      InviteAssignment$1 as InviteAssignment,\n      FullNameResource$1 as FullNameResource,\n      FullNameResourceResourceContextOneOf$1 as FullNameResourceResourceContextOneOf,\n      SiteResourceContext$1 as SiteResourceContext,\n      AccountResourceContext$1 as AccountResourceContext,\n      OrganizationResourceContext$1 as OrganizationResourceContext,\n      Resource$2 as Resource,\n      PolicyCondition$1 as PolicyCondition,\n      ConditionType$1 as ConditionType,\n      ConditionTypeOfOneOf$1 as ConditionTypeOfOneOf,\n      SimpleCondition$1 as SimpleCondition,\n      SimpleConditionValue$1 as SimpleConditionValue,\n      SimpleConditionValueValueOneOf$1 as SimpleConditionValueValueOneOf,\n      SimpleConditionOperator$1 as SimpleConditionOperator,\n      JoinedCondition$1 as JoinedCondition,\n      JoinedConditionOperator$1 as JoinedConditionOperator,\n      EnvironmentCondition$1 as EnvironmentCondition,\n      EnvironmentConditionConditionOneOf$1 as EnvironmentConditionConditionOneOf,\n      ExperimentCondition$1 as ExperimentCondition,\n      Condition$2 as Condition,\n      ConditionOperator$1 as ConditionOperator,\n      ConditionOperatorOperatorsOneOf$1 as ConditionOperatorOperatorsOneOf,\n      EqualOperator$1 as EqualOperator,\n      ConditionValue$1 as ConditionValue,\n      ConditionValueValueOneOf$1 as ConditionValueValueOneOf,\n      LikeOperator$1 as LikeOperator,\n      ExperimentOperator$1 as ExperimentOperator,\n      DependOnOperator$1 as DependOnOperator,\n      Subject$2 as Subject,\n      SubjectType$2 as SubjectType,\n      SubjectContext$2 as SubjectContext,\n      SubjectContextType$2 as SubjectContextType,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInvitesRequest as GetAccountInvitesRequest,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInvitesResponse as GetAccountInvitesResponse,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInviteRequest as GetAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_GetAccountInviteResponse as GetAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_AccountInviteRequest as AccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_AccountInviteResponse as AccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_CreateInviteRequest as CreateInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_SubjectInviteAssignments as SubjectInviteAssignments,\n      identityInvitesV1AccountInvite_universal_d_CreateInviteResponse as CreateInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_InviteFailure as InviteFailure,\n      identityInvitesV1AccountInvite_universal_d_BulkAccountInviteRequest as BulkAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_BulkAccountInviteResponse as BulkAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_ResendAccountInviteRequest as ResendAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteRequest as AcceptAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_AcceptAccountInviteResponse as AcceptAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteRequest as RevokeAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_RevokeAccountInviteResponse as RevokeAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteRequest as UpdateAccountInviteRequest,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteResponse as UpdateAccountInviteResponse,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsRequest as UpdateAccountInviteAssignmentsRequest,\n      identityInvitesV1AccountInvite_universal_d_UpdateAccountInviteAssignmentsResponse as UpdateAccountInviteAssignmentsResponse,\n      identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenRequest as ParseAccountInviteTokenRequest,\n      identityInvitesV1AccountInvite_universal_d_ParseAccountInviteTokenResponse as ParseAccountInviteTokenResponse,\n      getInvites$1 as getInvites,\n      getInvite$1 as getInvite,\n      invite$1 as invite,\n      InviteOptions$1 as InviteOptions,\n      identityInvitesV1AccountInvite_universal_d_createInvite as createInvite,\n      identityInvitesV1AccountInvite_universal_d_CreateInviteOptions as CreateInviteOptions,\n      bulkInvite$1 as bulkInvite,\n      BulkInviteOptions$1 as BulkInviteOptions,\n      resendInvite$1 as resendInvite,\n      ResendInviteOptions$1 as ResendInviteOptions,\n      acceptInvite$1 as acceptInvite,\n      AcceptInviteOptions$1 as AcceptInviteOptions,\n      revokeInvite$1 as revokeInvite,\n      updateInvite$1 as updateInvite,\n      UpdateInviteOptions$1 as UpdateInviteOptions,\n      identityInvitesV1AccountInvite_universal_d_updateInviteAssignments as updateInviteAssignments,\n      identityInvitesV1AccountInvite_universal_d_UpdateInviteAssignmentsOptions as UpdateInviteAssignmentsOptions,\n    };\n  }\n  \n  interface SiteInvite$1 {\n      /**\n       * Invite ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Site ID the user is invited to as a collaborator.\n       * @readonly\n       */\n      siteId?: string;\n      /** Email address where the invite was sent. */\n      email?: string;\n      /** Role IDs included in the invite. */\n      policyIds?: string[];\n      /**\n       * Deprecated. Use `inviterAccountId`.\n       * @readonly\n       * @deprecated\n       */\n      inviterId?: string;\n      /**\n       * Invite Status.\n       *\n       * Supported values:\n       * - **Pending:** The invite has been sent and is valid, waiting for the user's response.\n       * - **Used:** The invite has been accepted.\n       * - **Deleted:** The invite has been deleted or revoked.\n       * - **Declined:** The user declined the invite.\n       * - **Expired:** The invite has expired without being accepted.\n       */\n      status?: InviteStatus$2;\n      /** Link to accept the invite. */\n      acceptLink?: string;\n      /**\n       * Inviting account ID.\n       * @readonly\n       */\n      inviterAccountId?: string;\n      /**\n       * Account ID that accepted the invite. Populated only once the invite is accepted.\n       * @readonly\n       */\n      acceptedByAccountId?: string | null;\n      /** Date the invite was created. */\n      dateCreated?: Date | null;\n      /** User's Wix Bookings staff ID, if relevant. */\n      staffId?: string | null;\n      /**\n       * Brand domain.\n       * @internal\n       */\n      brandDomain?: string | null;\n      /**\n       * Optional field representing the purpose of the invite\n       * @internal\n       */\n      invitePurpose?: string | null;\n      /** Invite expiration date */\n      expirationDate?: Date | null;\n  }\n  /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */\n  enum InviteStatus$2 {\n      Pending = \"Pending\",\n      Used = \"Used\",\n      Deleted = \"Deleted\",\n      Declined = \"Declined\",\n      Expired = \"Expired\"\n  }\n  interface GetSiteInvitesRequest {\n  }\n  interface GetSiteInvitesResponse {\n      invites?: SiteInvite$1[];\n  }\n  interface QuerySiteInvitesRequest {\n      /**\n       * Supports only `filter` field with\n       * `\"filter\" : {\n       * \"acceptedByAccountId\":{\"$in\": [<id1>, <id2>, ...]}\n       * }`\n       */\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging$1;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging$1 {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QuerySiteInvitesResponse {\n      invites?: SiteInvite$1[];\n  }\n  interface GetSiteInviteRequest {\n      _id: string;\n  }\n  interface GetSiteInviteResponse {\n      invite?: SiteInvite$1;\n  }\n  interface SiteInviteRequest {\n      /** The role ids to be assigned */\n      policyIds?: string[];\n      /** Invitee email */\n      email?: string;\n      /**\n       * Booking staff id\n       * @internal\n       */\n      staffId?: string | null;\n      /**\n       * Invite purpose\n       * @internal\n       */\n      invitePurpose?: string | null;\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n      /**\n       * An indicator for suppressing (not sending) emails to the assignees.\n       * @internal\n       */\n      suppressEmail?: boolean;\n  }\n  interface SiteInviteResponse {\n      /** Invites that were sent. */\n      invite?: SiteInvite$1;\n  }\n  interface BulkSiteInviteRequest {\n      /** Role IDs, referred to as policy IDs, to assign to the contributors. */\n      policyIds: string[];\n      /** Email addresses to which the invites should be sent. */\n      emails: string[];\n      /** Details explaining the purpose of the invite. */\n      invitePurpose?: string | null;\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  interface BulkSiteInviteResponse {\n      /** Invites that were sent successfully. */\n      invites?: SiteInvite$1[];\n      /** Invites that failed. */\n      failedEmails?: string[];\n  }\n  interface ResendSiteInviteRequest {\n      /** Invite ID. */\n      inviteId: string;\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  interface AcceptSiteInviteRequest {\n      inviteToken?: string;\n  }\n  interface AcceptSiteInviteResponse {\n  }\n  interface RevokeSiteInviteRequest {\n      /** Invite ID. */\n      inviteId: string;\n  }\n  interface RevokeSiteInviteResponse {\n  }\n  interface UpdateSiteInviteRequest {\n      inviteId: string;\n      policyIds?: string[];\n      staffId?: string | null;\n  }\n  interface UpdateSiteInviteResponse {\n  }\n  interface GetContributorLimitRequest {\n  }\n  interface GetContributorLimitResponse {\n      contributorLimitation?: ContributorLimitation;\n  }\n  interface ContributorLimitation {\n      contributorLimit?: number;\n      leftInvites?: number;\n  }\n  interface ParseSiteInviteTokenRequest {\n      inviteToken?: string;\n  }\n  interface ParseSiteInviteTokenResponse {\n      inviteId?: string;\n      siteId?: string;\n      status?: InviteStatus$2;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId site-users.view-invitations\n   * @adminMethod\n   */\n  function getInvites(): Promise<GetSiteInvitesResponse>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId site-users.view-invitations\n   * @adminMethod\n   */\n  function queryInvites(options?: QueryInvitesOptions): Promise<QuerySiteInvitesResponse>;\n  interface QueryInvitesOptions {\n      /**\n       * Supports only `filter` field with\n       * `\"filter\" : {\n       * \"acceptedByAccountId\":{\"$in\": [<id1>, <id2>, ...]}\n       * }`\n       */\n      query?: QueryV2;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @permissionId site-users.view-invitations\n   * @adminMethod\n   */\n  function getInvite(_id: string): Promise<SiteInvite$1>;\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId site-users.send-invite\n   * @adminMethod\n   */\n  function invite(options?: InviteOptions): Promise<SiteInviteResponse>;\n  interface InviteOptions {\n      /** The role ids to be assigned */\n      policyIds?: string[];\n      /** Invitee email */\n      email?: string;\n      /**\n       * Booking staff id\n       * @internal\n       */\n      staffId?: string | null;\n      /**\n       * Invite purpose\n       * @internal\n       */\n      invitePurpose?: string | null;\n      /** The language of emails that will be used only for recipients that don't have a user, in case this parameter is unspecified, the sender's language will be used instead */\n      defaultEmailLanguage?: string | null;\n      /**\n       * An indicator for suppressing (not sending) emails to the assignees.\n       * @internal\n       */\n      suppressEmail?: boolean;\n  }\n  /**\n   * Creates and sends emails inviting potential site contributors to become contributors in the requesting site.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param policyIds - Role IDs, referred to as policy IDs, to assign to the contributors.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options.emails\n   * @requiredField policyIds\n   * @param options - Filter options.\n   * @permissionId site-users.send-invite\n   * @adminMethod\n   */\n  function bulkInvite(policyIds: string[], options?: BulkInviteOptions): Promise<BulkSiteInviteResponse>;\n  interface BulkInviteOptions {\n      /** Email addresses to which the invites should be sent. */\n      emails: string[];\n      /** Details explaining the purpose of the invite. */\n      invitePurpose?: string | null;\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  /**\n   * Resends the email invitation to a potential site contributor.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param inviteId - Invite ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @param options - Filter options.\n   * @permissionId site-users.send-invite\n   * @adminMethod\n   */\n  function resendInvite(inviteId: string, options?: ResendInviteOptions): Promise<SiteInviteResponse>;\n  interface ResendInviteOptions {\n      /** Language of emails to send. Relevant only for recipients that don't currently have a Wix user ID. Default: Site owner's language. */\n      defaultEmailLanguage?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function acceptInvite(options?: AcceptInviteOptions): Promise<void>;\n  interface AcceptInviteOptions {\n      inviteToken?: string;\n  }\n  /**\n   * Revokes a pending site contributor invite.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param inviteId - Invite ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId site-users.delete-invite\n   * @adminMethod\n   */\n  function revokeInvite(inviteId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField inviteId\n   * @permissionId site-users.remove-user\n   * @adminMethod\n   */\n  function updateInvite(inviteId: string, options?: UpdateInviteOptions): Promise<void>;\n  interface UpdateInviteOptions {\n      policyIds?: string[];\n      staffId?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getContributorLimit(): Promise<GetContributorLimitResponse>;\n  \n  type identityInvitesV1SiteInvite_universal_d_GetSiteInvitesRequest = GetSiteInvitesRequest;\n  type identityInvitesV1SiteInvite_universal_d_GetSiteInvitesResponse = GetSiteInvitesResponse;\n  type identityInvitesV1SiteInvite_universal_d_QuerySiteInvitesRequest = QuerySiteInvitesRequest;\n  type identityInvitesV1SiteInvite_universal_d_QueryV2 = QueryV2;\n  type identityInvitesV1SiteInvite_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type identityInvitesV1SiteInvite_universal_d_Sorting = Sorting;\n  type identityInvitesV1SiteInvite_universal_d_SortOrder = SortOrder;\n  const identityInvitesV1SiteInvite_universal_d_SortOrder: typeof SortOrder;\n  type identityInvitesV1SiteInvite_universal_d_CursorPaging = CursorPaging;\n  type identityInvitesV1SiteInvite_universal_d_QuerySiteInvitesResponse = QuerySiteInvitesResponse;\n  type identityInvitesV1SiteInvite_universal_d_GetSiteInviteRequest = GetSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_GetSiteInviteResponse = GetSiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_SiteInviteRequest = SiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_SiteInviteResponse = SiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_BulkSiteInviteRequest = BulkSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_BulkSiteInviteResponse = BulkSiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_ResendSiteInviteRequest = ResendSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_AcceptSiteInviteRequest = AcceptSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_AcceptSiteInviteResponse = AcceptSiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_RevokeSiteInviteRequest = RevokeSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_RevokeSiteInviteResponse = RevokeSiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_UpdateSiteInviteRequest = UpdateSiteInviteRequest;\n  type identityInvitesV1SiteInvite_universal_d_UpdateSiteInviteResponse = UpdateSiteInviteResponse;\n  type identityInvitesV1SiteInvite_universal_d_GetContributorLimitRequest = GetContributorLimitRequest;\n  type identityInvitesV1SiteInvite_universal_d_GetContributorLimitResponse = GetContributorLimitResponse;\n  type identityInvitesV1SiteInvite_universal_d_ContributorLimitation = ContributorLimitation;\n  type identityInvitesV1SiteInvite_universal_d_ParseSiteInviteTokenRequest = ParseSiteInviteTokenRequest;\n  type identityInvitesV1SiteInvite_universal_d_ParseSiteInviteTokenResponse = ParseSiteInviteTokenResponse;\n  const identityInvitesV1SiteInvite_universal_d_getInvites: typeof getInvites;\n  const identityInvitesV1SiteInvite_universal_d_queryInvites: typeof queryInvites;\n  type identityInvitesV1SiteInvite_universal_d_QueryInvitesOptions = QueryInvitesOptions;\n  const identityInvitesV1SiteInvite_universal_d_getInvite: typeof getInvite;\n  const identityInvitesV1SiteInvite_universal_d_invite: typeof invite;\n  type identityInvitesV1SiteInvite_universal_d_InviteOptions = InviteOptions;\n  const identityInvitesV1SiteInvite_universal_d_bulkInvite: typeof bulkInvite;\n  type identityInvitesV1SiteInvite_universal_d_BulkInviteOptions = BulkInviteOptions;\n  const identityInvitesV1SiteInvite_universal_d_resendInvite: typeof resendInvite;\n  type identityInvitesV1SiteInvite_universal_d_ResendInviteOptions = ResendInviteOptions;\n  const identityInvitesV1SiteInvite_universal_d_acceptInvite: typeof acceptInvite;\n  type identityInvitesV1SiteInvite_universal_d_AcceptInviteOptions = AcceptInviteOptions;\n  const identityInvitesV1SiteInvite_universal_d_revokeInvite: typeof revokeInvite;\n  const identityInvitesV1SiteInvite_universal_d_updateInvite: typeof updateInvite;\n  type identityInvitesV1SiteInvite_universal_d_UpdateInviteOptions = UpdateInviteOptions;\n  const identityInvitesV1SiteInvite_universal_d_getContributorLimit: typeof getContributorLimit;\n  namespace identityInvitesV1SiteInvite_universal_d {\n    export {\n      SiteInvite$1 as SiteInvite,\n      InviteStatus$2 as InviteStatus,\n      identityInvitesV1SiteInvite_universal_d_GetSiteInvitesRequest as GetSiteInvitesRequest,\n      identityInvitesV1SiteInvite_universal_d_GetSiteInvitesResponse as GetSiteInvitesResponse,\n      identityInvitesV1SiteInvite_universal_d_QuerySiteInvitesRequest as QuerySiteInvitesRequest,\n      identityInvitesV1SiteInvite_universal_d_QueryV2 as QueryV2,\n      identityInvitesV1SiteInvite_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      identityInvitesV1SiteInvite_universal_d_Sorting as Sorting,\n      identityInvitesV1SiteInvite_universal_d_SortOrder as SortOrder,\n      Paging$1 as Paging,\n      identityInvitesV1SiteInvite_universal_d_CursorPaging as CursorPaging,\n      identityInvitesV1SiteInvite_universal_d_QuerySiteInvitesResponse as QuerySiteInvitesResponse,\n      identityInvitesV1SiteInvite_universal_d_GetSiteInviteRequest as GetSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_GetSiteInviteResponse as GetSiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_SiteInviteRequest as SiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_SiteInviteResponse as SiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_BulkSiteInviteRequest as BulkSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_BulkSiteInviteResponse as BulkSiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_ResendSiteInviteRequest as ResendSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_AcceptSiteInviteRequest as AcceptSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_AcceptSiteInviteResponse as AcceptSiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_RevokeSiteInviteRequest as RevokeSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_RevokeSiteInviteResponse as RevokeSiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_UpdateSiteInviteRequest as UpdateSiteInviteRequest,\n      identityInvitesV1SiteInvite_universal_d_UpdateSiteInviteResponse as UpdateSiteInviteResponse,\n      identityInvitesV1SiteInvite_universal_d_GetContributorLimitRequest as GetContributorLimitRequest,\n      identityInvitesV1SiteInvite_universal_d_GetContributorLimitResponse as GetContributorLimitResponse,\n      identityInvitesV1SiteInvite_universal_d_ContributorLimitation as ContributorLimitation,\n      identityInvitesV1SiteInvite_universal_d_ParseSiteInviteTokenRequest as ParseSiteInviteTokenRequest,\n      identityInvitesV1SiteInvite_universal_d_ParseSiteInviteTokenResponse as ParseSiteInviteTokenResponse,\n      identityInvitesV1SiteInvite_universal_d_getInvites as getInvites,\n      identityInvitesV1SiteInvite_universal_d_queryInvites as queryInvites,\n      identityInvitesV1SiteInvite_universal_d_QueryInvitesOptions as QueryInvitesOptions,\n      identityInvitesV1SiteInvite_universal_d_getInvite as getInvite,\n      identityInvitesV1SiteInvite_universal_d_invite as invite,\n      identityInvitesV1SiteInvite_universal_d_InviteOptions as InviteOptions,\n      identityInvitesV1SiteInvite_universal_d_bulkInvite as bulkInvite,\n      identityInvitesV1SiteInvite_universal_d_BulkInviteOptions as BulkInviteOptions,\n      identityInvitesV1SiteInvite_universal_d_resendInvite as resendInvite,\n      identityInvitesV1SiteInvite_universal_d_ResendInviteOptions as ResendInviteOptions,\n      identityInvitesV1SiteInvite_universal_d_acceptInvite as acceptInvite,\n      identityInvitesV1SiteInvite_universal_d_AcceptInviteOptions as AcceptInviteOptions,\n      identityInvitesV1SiteInvite_universal_d_revokeInvite as revokeInvite,\n      identityInvitesV1SiteInvite_universal_d_updateInvite as updateInvite,\n      identityInvitesV1SiteInvite_universal_d_UpdateInviteOptions as UpdateInviteOptions,\n      identityInvitesV1SiteInvite_universal_d_getContributorLimit as getContributorLimit,\n    };\n  }\n  \n  interface User$1 {\n      /** User ID. */\n      _id?: string;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      roles?: string[];\n      /** User's email address. */\n      email?: string;\n      /** User's name. */\n      name?: Name$1;\n      /** URL to user's profile image, when provided. */\n      profileImage?: string | null;\n      /** Date the user joined the team. */\n      joinedTeamAt?: Date | null;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      policyIds?: string[];\n      /** Resources the user can access. */\n      assignments?: Assignment$1[];\n  }\n  interface Name$1 {\n      /** User's first name. */\n      firstName?: string;\n      /** User's last name. */\n      lastName?: string;\n  }\n  interface Assignment$1 {\n      /** Role assigned to the user. */\n      policy?: AssignedPolicy$1;\n      /** Unique ID for this specific assignment. */\n      assignmentId?: string;\n      /**\n       * The asset a user is assigned access to in an assignment, including any restrictions to their access. When empty, the role covers all assets, with no restrictions to specific sites or folders.\n       * @internal\n       */\n      restrictions?: Restriction$1;\n      /** Identity assigned to the asset in an assignment, referred to as subject. Supported subjects include user IDs, account IDs, and app IDs. */\n      subject?: Subject$1;\n  }\n  interface AssignedPolicy$1 {\n      /** Role ID. */\n      policyId?: string;\n      /** Role title. */\n      title?: string | null;\n      /** Role description. */\n      description?: string | null;\n  }\n  interface Restriction$1 extends RestrictionRestrictionsOneOf$1 {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      resource?: ApiResource;\n      /** List of conditions restricting the user's access. Currently only folder conditions are supported. */\n      conditions?: Conditions$1;\n      /** Site where the assignment restrictions apply. */\n      site?: SiteRestriction$1;\n  }\n  /** @oneof */\n  interface RestrictionRestrictionsOneOf$1 {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      resource?: ApiResource;\n      /** List of conditions restricting the user's access. Currently only folder conditions are supported. */\n      conditions?: Conditions$1;\n      /** Site where the assignment restrictions apply. */\n      site?: SiteRestriction$1;\n  }\n  interface ApiResource {\n      /** Resource type. */\n      resourceType?: ResourceType$1;\n      /** Resource ID. */\n      _id?: string;\n      value?: string | null;\n  }\n  enum ResourceType$1 {\n      UNKNOWN_RESOURCE_TYPE = \"UNKNOWN_RESOURCE_TYPE\",\n      SITE = \"SITE\"\n  }\n  interface Conditions$1 {\n      /** List of conditions. */\n      conditions?: ApiCondition[];\n  }\n  interface ApiCondition {\n      /** Condition type. */\n      conditionType?: ConditionAttributeType$1;\n      /** Condition ID. */\n      _id?: string;\n      /** Expected value of the condition. When `conditionType` = \"FOLDER\", this is the folder path. */\n      value?: string | null;\n  }\n  enum ConditionAttributeType$1 {\n      UNKNOWN_CONDITION_TYPE = \"UNKNOWN_CONDITION_TYPE\",\n      FOLDER = \"FOLDER\"\n  }\n  interface SiteRestriction$1 {\n      /** Site ID. */\n      _id?: string;\n      /** Site name. */\n      value?: string | null;\n      /**\n       * A specific asset (referred to as a resource) inside the site, if relevant. For example, a specific dashboard page.\n       * @internal\n       */\n      resource?: CompanionResource$1;\n  }\n  interface CompanionResource$1 {\n      /** Asset ID (referred to here as resource ID). */\n      _id?: string;\n      /** Asset type (referred to here as resource type). as predefined in the authorization system */\n      resourceType?: string;\n  }\n  interface Subject$1 {\n      /** ID of identity assigned to the asset. */\n      _id?: string;\n      /** Type of identity assigned to the asset. Supported subject types include user IDs, account IDs, and app IDs. */\n      subjectType?: SubjectType$1;\n      /** Context of identity assigned to the asset. For example, a `subjectType` = `USER` will have `context` = `ACCOUNT`. */\n      context?: SubjectContext$1;\n  }\n  enum SubjectType$1 {\n      UNKNOWN = \"UNKNOWN\",\n      ACCOUNT = \"ACCOUNT\",\n      USER = \"USER\",\n      USER_GROUP = \"USER_GROUP\",\n      MEMBER_GROUP = \"MEMBER_GROUP\",\n      VISITOR_GROUP = \"VISITOR_GROUP\",\n      EXTERNAL_APP = \"EXTERNAL_APP\",\n      ACCOUNT_GROUP = \"ACCOUNT_GROUP\",\n      WIX_APP = \"WIX_APP\"\n  }\n  interface SubjectContext$1 {\n      _id?: string;\n      contextType?: SubjectContextType$1;\n  }\n  enum SubjectContextType$1 {\n      UNKNOWN_CTX = \"UNKNOWN_CTX\",\n      ORG_CTX = \"ORG_CTX\",\n      ACCOUNT_CTX = \"ACCOUNT_CTX\"\n  }\n  interface GetTeamRequest {\n      /** @deprecated */\n      usersLimit?: number | null;\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      paging?: Paging;\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface GetTeamResponse {\n      users?: User$1[];\n      invites?: AccountInvite[];\n      accountInfo?: AccountInfo$1;\n      permissions?: string[];\n      userId?: string;\n      targetAccountId?: string;\n      policies?: ApiPolicy[];\n      totalUsersInAccount?: string;\n      predefinedRoles?: PredefinedRoles$1;\n  }\n  interface AccountInvite {\n      /**\n       * Invite ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Account ID.\n       * @readonly\n       */\n      accountId?: string;\n      /** Email address where the invite was sent. */\n      email?: string;\n      /**\n       * Deprecated. Use `policyIds`.\n       * @deprecated\n       */\n      role?: string;\n      /**\n       * Deprecated. Use `inviterAccountId`.\n       * @readonly\n       * @deprecated\n       */\n      inviterId?: string;\n      /**\n       * Invite status.\n       *\n       * Supported values:\n       * - **Pending:** The invite has been sent and is valid, waiting for the user's response.\n       * - **Used:** The invite has been accepted.\n       * - **Deleted:** The invite has been deleted or revoked.\n       * - **Declined:** The user has declined the invite.\n       * - **Expired:** The invite has expired without being accepted.\n       */\n      status?: InviteStatus$1;\n      /** Link to accept the invite. */\n      acceptLink?: string;\n      /**\n       * Inviting account ID.\n       * @readonly\n       */\n      inviterAccountId?: string;\n      /**\n       * Account ID that accepted the invite. Populated only once the invite is accepted.\n       * @readonly\n       */\n      acceptedByAccountId?: string | null;\n      /** Date the invite was created. */\n      dateCreated?: Date | null;\n      /** Role IDs included in the invite. */\n      policyIds?: string[];\n      /** Date the invite was last updated. */\n      dateUpdated?: Date | null;\n      /** Assets the users are invited to join. */\n      assignments?: InviteResourceAssignment[];\n      /**\n       * Brand domain.\n       * @internal\n       */\n      brandDomain?: string | null;\n      /** Invite expiration date. */\n      expirationDate?: Date | null;\n  }\n  /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */\n  enum InviteStatus$1 {\n      Pending = \"Pending\",\n      Used = \"Used\",\n      Deleted = \"Deleted\",\n      Declined = \"Declined\",\n      Expired = \"Expired\"\n  }\n  interface InviteResourceAssignment {\n      /** Role ID. */\n      policyId?: string;\n      /** Resources the user will be able to access. */\n      assignments?: InviteAssignment[];\n  }\n  interface InviteAssignment {\n      /** Full name of resource to be assigned. */\n      fullNameResource?: FullNameResource;\n      /**\n       * Condition that will limit the user's access.\n       * @internal\n       */\n      condition?: PolicyCondition;\n  }\n  interface FullNameResource extends FullNameResourceResourceContextOneOf {\n      /** Specific site details. */\n      siteContext?: SiteResourceContext;\n      /** Specific account details. */\n      accountContext?: AccountResourceContext;\n      /**\n       * Specific organization.\n       * @internal\n       */\n      organizationContext?: OrganizationResourceContext;\n      /**\n       * A specific resource. We will determine the resource type based on the action.\n       * @internal\n       */\n      resource?: Resource$1;\n  }\n  /** @oneof */\n  interface FullNameResourceResourceContextOneOf {\n      /** Specific site details. */\n      siteContext?: SiteResourceContext;\n      /** Specific account details. */\n      accountContext?: AccountResourceContext;\n      /**\n       * Specific organization.\n       * @internal\n       */\n      organizationContext?: OrganizationResourceContext;\n  }\n  /** Site resource context. It indicates that the resource is under a site (can be the site itself or some asset of a site, like a blog post) */\n  interface SiteResourceContext {\n      /** Site ID. */\n      metasiteId?: string;\n  }\n  /** Account resource contexts. It indicates that the resource is under the account (can be the account itself or some asset of an account, like a logo or a domain) */\n  interface AccountResourceContext {\n      /** Account ID. */\n      accountId?: string;\n  }\n  interface OrganizationResourceContext {\n  }\n  /**\n   * A custom resource. Is used to represent some asset that is not a direct resource context (site or account), but something custom.\n   * For example: payment method, blog post, domain, logo.\n   */\n  interface Resource$1 {\n      /** The resource id. */\n      _id?: string | null;\n      /** The resource type */\n      type?: string | null;\n  }\n  interface PolicyCondition {\n      /** The type of the condition */\n      condition?: ConditionType;\n  }\n  interface ConditionType extends ConditionTypeOfOneOf {\n      /** @deprecated */\n      simpleCondition?: SimpleCondition;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition;\n      /** @deprecated */\n      environmentCondition?: EnvironmentCondition;\n      /** A single condition */\n      condition?: Condition$1;\n  }\n  /** @oneof */\n  interface ConditionTypeOfOneOf {\n      /** @deprecated */\n      simpleCondition?: SimpleCondition;\n      /** A logic combination between several conditions, with an operator between them */\n      joinedConditions?: JoinedCondition;\n      /** @deprecated */\n      environmentCondition?: EnvironmentCondition;\n      /** A single condition */\n      condition?: Condition$1;\n  }\n  interface SimpleCondition {\n      attrName?: string;\n      value?: SimpleConditionValue;\n      op?: SimpleConditionOperator;\n      conditionModelId?: string;\n  }\n  interface SimpleConditionValue extends SimpleConditionValueValueOneOf {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface SimpleConditionValueValueOneOf {\n      attrName?: string;\n      stringValue?: string;\n      boolValue?: boolean;\n  }\n  enum SimpleConditionOperator {\n      UNKNOWN_SIMPLE_OP = \"UNKNOWN_SIMPLE_OP\",\n      EQUAL = \"EQUAL\"\n  }\n  interface JoinedCondition {\n      /** The operator that should be used when evaluating the condition */\n      op?: JoinedConditionOperator;\n      /** The conditions that should be evaluated, and then joined using the operator provided */\n      conditions?: ConditionType[];\n  }\n  enum JoinedConditionOperator {\n      UNKNOWN_JOIN_OP = \"UNKNOWN_JOIN_OP\",\n      OR = \"OR\",\n      AND = \"AND\"\n  }\n  interface EnvironmentCondition extends EnvironmentConditionConditionOneOf {\n      experimentCondition?: ExperimentCondition;\n  }\n  /** @oneof */\n  interface EnvironmentConditionConditionOneOf {\n      experimentCondition?: ExperimentCondition;\n  }\n  interface ExperimentCondition {\n      spec?: string;\n      fallbackValue?: string;\n      expectedValue?: string;\n  }\n  interface Condition$1 {\n      /** The unique identifier of the condition model. Indicates which actions the condition is working on */\n      conditionModelId?: string;\n      /** The operator that should be evaluated */\n      operator?: ConditionOperator;\n  }\n  interface ConditionOperator extends ConditionOperatorOperatorsOneOf {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator;\n  }\n  /** @oneof */\n  interface ConditionOperatorOperatorsOneOf {\n      /** Comparison of equality - will be evaluated to true if the given parties are equal */\n      equals?: EqualOperator;\n      /** Regex operator - will be evaluated to true if the given value matches the provided regex */\n      like?: LikeOperator;\n      /** Petri experiment - will be evaluated using petri. */\n      experiment?: ExperimentOperator;\n      /** Operator that indicates a dependency on another subject being allowed to perform something. */\n      dependOn?: DependOnOperator;\n  }\n  interface EqualOperator {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the other side (attribute/value) */\n      attrName?: string;\n      /** The value to compare to. If the two parties are equal - we will return true. */\n      value?: ConditionValue;\n  }\n  interface ConditionValue extends ConditionValueValueOneOf {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  /** @oneof */\n  interface ConditionValueValueOneOf {\n      /** an attribute. We'll first retrieve the value of the attribute (from the request or from pre-indexed values), and then compare to what it needs to be compared with. */\n      attrName?: string;\n      /** a value with a string type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      stringValue?: string;\n      /** a value with a boolean type. Will be compared to the attribute provided, and be true only if they match the operator. */\n      boolValue?: boolean;\n  }\n  interface LikeOperator {\n      /** The attribute which should be compared. The attribute will be first evaluated to a value, and then compared the regex values provided. */\n      attrName?: string;\n      /** The regex values which the attribute value should be evaluated on. If the attribute value matches at least one of the regular expressions provided - we will return true */\n      values?: string[];\n  }\n  interface ExperimentOperator {\n      /** The spec to conduct the experiment on. */\n      spec?: string;\n      /** The value to use if the experiment could not be conducted */\n      fallbackValue?: string;\n      /** The expected value of the experiment conduction. If it matches the actual value - true will be returned. Otherwise - false. */\n      expectedValue?: string;\n  }\n  /** Implies that the policy takes affect only if the depend on subject is permitted as well. */\n  interface DependOnOperator {\n      /** The subject on which the current entry depends on. If the subject is allowed to perform what the query was about - the condition will be evaluated to true. Otherwise - false */\n      dependOnSubject?: Subject$1;\n  }\n  interface AccountInfo$1 {\n      accountName?: string;\n      accountImage?: string;\n      isTeam?: boolean;\n  }\n  interface ApiPolicy {\n      _id?: string;\n      description?: string | null;\n      name?: string | null;\n      isCustom?: boolean;\n      scopes?: string[];\n  }\n  interface PredefinedRoles$1 {\n      roles?: PredefinedRole$1[];\n  }\n  interface PredefinedRole$1 {\n      titleKey?: string;\n      roles?: Role$1[];\n      title?: string | null;\n      areaId?: string;\n  }\n  interface Role$1 {\n      _id?: string;\n      deprecatedKey?: string;\n      /** @deprecated */\n      titleKey?: string;\n      /** @deprecated */\n      descriptionKey?: string;\n      deprecated?: boolean;\n      restrictFromLevel?: string;\n      experiments?: string[];\n      appDefIds?: string[];\n      title?: string | null;\n      description?: string | null;\n      isCustom?: boolean;\n      scopes?: string[];\n      availableResourceTypes?: ResourceType$1[];\n      availableConditions?: ConditionAttributeType$1[];\n      limitToEditorTypes?: string[];\n  }\n  interface ChangeRoleRequest {\n      /** User ID. */\n      _id: string;\n      /**\n       * Deprecated. Use `policyIds`.\n       * @deprecated\n       */\n      role?: string;\n      /** Role IDs to be assigned. */\n      policyIds: string[];\n  }\n  interface ChangeRoleResponse {\n  }\n  interface RemoveMemberRequest {\n      /** User ID of the team member to remove. */\n      userId: string;\n  }\n  interface RemoveMemberResponse {\n  }\n  interface GetUsersRequest {\n      /** The number of items to load */\n      limit?: number | null;\n      /** number of items to skip in the current sort order */\n      offset?: number | null;\n  }\n  interface GetUsersResponse {\n      users?: User$1[];\n  }\n  interface GetScopesRequest {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  interface GetScopesResponse {\n      scopeAreas?: ScopeArea[];\n  }\n  interface ScopeArea {\n      title?: string;\n      appDefIds?: string[];\n      scopes?: PermissionScope[];\n      restrictFromLevel?: ScopeLevel;\n  }\n  interface PermissionScope {\n      _id?: string;\n      title?: string;\n      description?: string;\n      level?: ScopeLevel;\n      experiments?: string[];\n      dependantScopes?: string[];\n      restrictFromLevel?: ScopeLevel;\n      deprecated?: boolean | null;\n      /** The visibility of the scope for the caller */\n      visibility?: Visibility;\n      appDefIds?: string[];\n  }\n  enum ScopeLevel {\n      None = \"None\",\n      SITE = \"SITE\",\n      ACCOUNT = \"ACCOUNT\"\n  }\n  enum Visibility {\n      /** The scope should be visible to the caller */\n      VISIBLE = \"VISIBLE\",\n      /** The scope shouldn't be visible for the caller, because the capability that blocks it is turned on for the caller */\n      BLOCKED_BY_CAPABILITY = \"BLOCKED_BY_CAPABILITY\"\n  }\n  interface GetPeopleRequest {\n      resource?: PeopleResource;\n      peopleType?: PeopleType;\n      paging?: Paging;\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  interface PeopleResource extends PeopleResourceResourceTypeOneOf {\n      site?: string;\n      folder?: FolderResource;\n  }\n  /** @oneof */\n  interface PeopleResourceResourceTypeOneOf {\n      site?: string;\n      folder?: FolderResource;\n  }\n  interface FolderResource {\n      folderId?: string;\n      folderFullPath?: string;\n  }\n  enum PeopleType {\n      UNDEF_PEOPLE_TYPE = \"UNDEF_PEOPLE_TYPE\",\n      CONTRIBUTOR = \"CONTRIBUTOR\",\n      TEAM_MEMBER = \"TEAM_MEMBER\"\n  }\n  interface GetPeopleResponse {\n      people?: People;\n  }\n  interface People {\n      people?: Person[];\n      totalPeople?: number;\n  }\n  interface Person extends PersonPersonOneOf {\n      contributor?: Contributor$1;\n      teamMember?: TeamMember;\n  }\n  /** @oneof */\n  interface PersonPersonOneOf {\n      contributor?: Contributor$1;\n      teamMember?: TeamMember;\n  }\n  interface Contributor$1 {\n      /** Contributor's metadata. */\n      metaData?: PersonMetaData$1;\n      /** Whether the contributor account is a team account. */\n      isTeam?: boolean | null;\n      /** Date that the contributor joined the site. */\n      joinedAt?: Date | null;\n      /** Email address that received the invite. */\n      invitedEmail?: string | null;\n      /** Whether the contributor account is a client account. */\n      isClient?: boolean | null;\n      /**\n       * Contributor's user ID.\n       * @readonly\n       */\n      _id?: string;\n  }\n  interface PersonMetaData$1 {\n      /** Contributor's account ID. */\n      _id?: string;\n      /** Contributor's full name. */\n      fullName?: string | null;\n      /** URL for contributor's profile image. */\n      imageUrl?: string | null;\n      /** Contributor's email address. */\n      email?: string | null;\n      /** Contributor's access to assets and their assigned role (`policy`) for that asset. */\n      assignments?: Assignment$1[];\n  }\n  interface TeamMember {\n      metaData?: PersonMetaData$1;\n  }\n  interface GetTeamV2Response {\n      users?: User$1[];\n      totalUsersInAccount?: string;\n  }\n  interface GetTeamInvitesRequest {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  interface GetTeamInvitesResponse {\n      invites?: Invite[];\n  }\n  interface Invite {\n      /** @readonly */\n      _id?: string;\n      /** @readonly */\n      accountId?: string;\n      email?: string;\n      status?: InviteStatus$1;\n      acceptLink?: string;\n      dateCreated?: Date | null;\n      dateUpdated?: Date | null;\n      assignments?: ApiInviteAssignment[];\n      /** Invite expiration date */\n      expirationDate?: Date | null;\n  }\n  interface ApiInviteAssignment {\n      policy?: AssignedPolicy$1;\n      restrictions?: Restriction$1;\n  }\n  interface GetPoliciesRequest {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      /** Areas filter to include only roles from areas that pass this filter. When not provided, roles from all areas will be returned */\n      areasFilter?: AreasFilter;\n      /** Role level filter to include only roles that are not restricted from the requested resource level (site/account). When set to ALL, all levels are returned */\n      roleLevel?: RoleLevel;\n  }\n  interface AreasFilter {\n      /** A list of role area ids, to filter only roles belonging to these areas */\n      areaIds?: string[];\n  }\n  enum RoleLevel {\n      ALL = \"ALL\",\n      SITE_LEVEL = \"SITE_LEVEL\",\n      ACCOUNT_LEVEL = \"ACCOUNT_LEVEL\"\n  }\n  interface GetPoliciesResponse {\n      policies?: PredefinedRoles$1;\n  }\n  interface SearchTeamRequest {\n      /** Free text to search for within team member name and email address fields. */\n      query?: string | null;\n      /** Sort data. */\n      orderBy?: Ordering[];\n      /**\n       * Filter object. Supported values: `inviteType` and `roleId`. For example, `{'inviteType': {'$eq': 'Expired'}}`.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * A list of facets to return in the response. Facets count the items within logical groupings.\n       * See [Filters and Facets: An Explainer](https://medium.com/@westontt/filters-and-facets-an-explainer-3b73a9538eca) for more information.\n       */\n      facets?: FacetType[];\n      /** Pagination. */\n      paging?: Paging;\n  }\n  interface Ordering {\n      /** Field to sort by. */\n      fieldName?: OrderField;\n      /** Sort order. */\n      direction?: Direction;\n  }\n  enum OrderField {\n      /** For internal use. */\n      Undefined = \"Undefined\",\n      /** Team member name. */\n      Name = \"Name\",\n      /** Date team member joined the account. */\n      JoinedAt = \"JoinedAt\"\n  }\n  enum Direction {\n      /** For internal use. */\n      UninitializedDirection = \"UninitializedDirection\",\n      /** Ascending. */\n      ASC = \"ASC\",\n      /** Descending. */\n      DESC = \"DESC\"\n  }\n  enum FacetType {\n      Undefined = \"Undefined\",\n      /** How many team members with each role */\n      Roles = \"Roles\",\n      /** How many team members by invite status */\n      InviteStatus = \"InviteStatus\",\n      /** How many team members in total in the account */\n      Users = \"Users\"\n  }\n  interface SearchTeamResponse {\n      /** List of facets, as requested. */\n      facets?: Facet[];\n      /** Existing team members and invites sent to join the account. */\n      teamMembers?: TeamMemberV3[];\n  }\n  interface Facet {\n      /** Facet type. */\n      facetType?: FacetType;\n      /** Values and their counters. Values with count = 0 are not returned. */\n      values?: FacetValue[];\n  }\n  interface FacetValue {\n      /** Supported values: `Roles`, `InviteStatus`, `Users`. */\n      value?: string;\n      /** Number of existing items for the value. */\n      count?: number;\n  }\n  interface TeamMemberV3 extends TeamMemberV3MembersOneOf {\n      /** Existing team member data. */\n      user?: UserV3;\n      /** Invited team member data. */\n      invite?: InviteV3;\n  }\n  /** @oneof */\n  interface TeamMemberV3MembersOneOf {\n      /** Existing team member data. */\n      user?: UserV3;\n      /** Invited team member data. */\n      invite?: InviteV3;\n  }\n  interface UserV3 {\n      /** User ID. */\n      _id?: string;\n      /** User's email address. */\n      email?: string | null;\n      /** User's name, when provided. */\n      name?: Name$1;\n      /** URL to user's profile image, when provided. */\n      profileImage?: string | null;\n      /** Date the user joined the team. */\n      joinedTeamAt?: Date | null;\n      /** Mapping of the user's access to an asset and their assigned role. */\n      assignments?: AssignmentV3[];\n  }\n  interface AssignmentV3 {\n      /** Role assigned to the user. To retrieve all available roles, call Get Roles Info. */\n      policyId?: string | null;\n      /**\n       * Unique ID for this specific assignment.\n       * @readonly\n       */\n      assignmentId?: string | null;\n      /** The asset where a user is assigned access in an assignment. When empty, the role covers all assets, with no restrictions to specific sites or folders. */\n      restrictions?: Restriction$1;\n      /** Identity assigned to the asset in an assignment, referred to as subject. Supported subjects include user IDs, account IDs, and app IDs. */\n      subject?: AssignedSubject;\n  }\n  interface AssignedSubject {\n      /**\n       * Identity ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Identity type. */\n      subjectType?: SubjectType$1;\n  }\n  interface InviteV3 {\n      /**\n       * Invite ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Invitee's email address. */\n      email?: string | null;\n      /** Invite status. */\n      status?: InviteStatus$1;\n      /** URL of direct link to accept the invite. */\n      acceptLink?: string | null;\n      /** Date the invite was created. */\n      dateCreated?: Date | null;\n      /** Date the invite was last updated. */\n      dateUpdated?: Date | null;\n      /** A list of assignments that will be applied to the invitees when they accept the invite. */\n      assignments?: InviteAssignmentV3[];\n      /** Invite expiration date. */\n      expirationDate?: Date | null;\n  }\n  interface InviteAssignmentV3 {\n      /** Role ID that will be assigned once the invite is accepted. */\n      policyId?: string | null;\n      /** Assets where the user will be assigned access. When empty, the role covers all assets, with no restrictions to specific sites or folders. */\n      restrictions?: Restriction$1;\n  }\n  interface GetRolesRequest {\n      /** The locale of the predefined roles names and descriptions. Defaults to English */\n      locale?: string | null;\n  }\n  interface GetRolesResponse {\n      /** The predefined roles (by areas) */\n      predefinedRolesAreas?: PredefinedRolesArea[];\n      /** The custom roles */\n      customRoles?: CustomRole[];\n  }\n  interface PredefinedRolesArea {\n      /** The id of the area (e.g \"Blog\") */\n      areaId?: string;\n      /** The translated area title, according to the request locale, or the original title if translation failed */\n      title?: string;\n      /** The predefined roles belonging to this area */\n      roles?: PredefinedRoleV2[];\n  }\n  interface PredefinedRoleV2 {\n      /** The policy id of this role */\n      _id?: string;\n      /** The title of this role, translated according to the request locale, or the original title if translation failed */\n      title?: string;\n      /** The description of this role, translated according to the request locale, or the original description if translation failed */\n      description?: string;\n      /** The permission-scopes this role's policy contains */\n      scopes?: string[];\n      /** Indicates if the role is deprecated (shouldn't be granted, and only exists for backward compatability) */\n      deprecated?: boolean;\n      /** Indicates if this role should be restricted from assignments of a specific resource type (if RoleLevelRestriction = None, there is no restriction) */\n      restrictFromLevel?: RoleLevelRestriction;\n      /** Experiments that should be open for this role to be visible */\n      experiments?: string[];\n      /** Applications that should be installed for this role to be visible */\n      appDefIds?: string[];\n      /** Editor types this role should be limited to (if empty, available in all editors) */\n      limitToEditorTypes?: EditorType[];\n      /** The visibility of the role */\n      visibility?: RoleVisibility;\n  }\n  enum RoleLevelRestriction {\n      NoRestriction = \"NoRestriction\",\n      Site = \"Site\",\n      Account = \"Account\"\n  }\n  enum EditorType {\n      UNINITIALIZED = \"UNINITIALIZED\",\n      EDITORX = \"EDITORX\",\n      BLOCKS = \"BLOCKS\",\n      STUDIO = \"STUDIO\"\n  }\n  enum RoleVisibility {\n      /** the role should be visible to the caller */\n      Visible = \"Visible\",\n      /** the role should be disabled for the caller, because it contains permissions the caller wasn't granted on the call context (site/account) */\n      Disabled_Dependency = \"Disabled_Dependency\",\n      /** the role should be disabled for the caller, because the role's capability is disabled for the caller */\n      Disabled_Capability = \"Disabled_Capability\"\n  }\n  interface CustomRole {\n      /** The policy this role grants */\n      policy?: ApiPolicy;\n      /** The visibility of the role */\n      visibility?: RoleVisibility;\n  }\n  interface GetRolesInfoRequest {\n      /** Language of predefined roles names and descriptions to return, in ISO 639 format. Default: `en`. */\n      locale?: string | null;\n      /** Roles to return. */\n      filter?: RolesInfoFilter;\n  }\n  interface RolesInfoFilter {\n      /** Role level to return. Default: ALL. */\n      roleLevel?: RoleLevel;\n      /** Filter for editor-specific roles. Default: ALL. */\n      editorTypes?: EditorType[];\n  }\n  interface GetRolesInfoResponse {\n      /** Predefined roles. */\n      predefinedRoles?: RoleInfo[];\n      /** Custom roles. */\n      customRoles?: RoleInfo[];\n  }\n  interface RoleInfo {\n      /** Role ID. */\n      _id?: string;\n      /** Role title, translated according to the request locale. If translation fails, the original title is returned. */\n      title?: string;\n      /** Role description, translated according to the request locale. If translation fails, the original description is returned. */\n      description?: string;\n      /** Whether this role is restricted from accessing a specific resource type. Default: `NoRestriction`. */\n      restrictFromLevel?: RoleLevelRestriction;\n  }\n  interface CreateCustomRoleRequest {\n      /** The custom role to create */\n      role: Policy$1;\n  }\n  interface Policy$1 {\n      /** @readonly */\n      _id?: string | null;\n      name?: string | null;\n      description?: string | null;\n      /** @readonly */\n      status?: string;\n      policyType?: PolicyType;\n      statements?: PolicyStatement[];\n  }\n  enum PolicyType {\n      UNKNOWN_STATUS = \"UNKNOWN_STATUS\",\n      PREDEFINED = \"PREDEFINED\",\n      CUSTOM = \"CUSTOM\",\n      INLINE_CUSTOM = \"INLINE_CUSTOM\"\n  }\n  interface PolicyStatement {\n      /** @readonly */\n      _id?: string | null;\n      permissions?: string[];\n      scopes?: string[];\n      effect?: Effect;\n      condition?: PolicyCondition;\n  }\n  enum Effect {\n      UNKNOWN_EFFECT = \"UNKNOWN_EFFECT\",\n      ALLOW = \"ALLOW\",\n      DENY = \"DENY\"\n  }\n  interface CreateCustomRoleResponse {\n      /** The newly created custom role */\n      roleCreated?: Policy$1;\n  }\n  interface ChangeRoleV2Request {\n      /** ID of team member being affected. */\n      userId: string;\n      /** New assignments, including roles, to apply to the team member in this account. To retrieve all available roles, call Get Roles Info. */\n      roles: AssignmentV3[];\n      /** Existing assignment IDs to remove. To retrieve all existing assignment IDs for a team member, call Search Team. */\n      assignmentIdsToReplace: string[];\n  }\n  interface ChangeRoleV2Response {\n      /** New roles assigned to the given team member. */\n      roles?: AssignmentV3[];\n  }\n  interface UpdateTeamMemberAssignmentsRequest {\n      /** ID of team member being affected. */\n      userId: string;\n      /** New assignments to apply to the team member in this account. */\n      newAssignments: AssignmentV3[];\n      /** Existing assignment IDs to remove. To retrieve all existing assignment IDs for a team member, call Search Team. */\n      assignmentIdsToRemove: string[];\n  }\n  interface UpdateTeamMemberAssignmentsResponse {\n      /** The new assignments, assigned to the given team member. */\n      assignments?: AssignmentV3[];\n  }\n  interface GetSubjectsAssignmentsRequest {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      /** list of subjects */\n      subjects?: Subject$1[];\n  }\n  interface GetSubjectsAssignmentsResponse {\n      /** list of subjects with assignments */\n      subjectsAssignments?: SubjectAssignments[];\n  }\n  interface SubjectAssignments {\n      subject?: Subject$1;\n      assignments?: Assignment$1[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getTeam(options?: GetTeamOptions): Promise<GetTeamResponse>;\n  interface GetTeamOptions {\n      /** @deprecated */\n      usersLimit?: number | null;\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      paging?: Paging;\n  }\n  /**\n   * Changes an existing site contributor's role.\n   * @param _id - User ID.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField options.policyIds\n   * @permissionId team.change-member\n   * @adminMethod\n   */\n  function changeRole$1(_id: string, options?: ChangeRoleOptions$1): Promise<void>;\n  interface ChangeRoleOptions$1 {\n      /**\n       * Deprecated. Use `policyIds`.\n       * @deprecated\n       */\n      role?: string;\n      /** Role IDs to be assigned. */\n      policyIds: string[];\n  }\n  /**\n   * Removes a team member from the requesting account.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param userId - User ID of the team member to remove.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField userId\n   * @permissionId team.delete-member\n   * @adminMethod\n   */\n  function removeMember(userId: string): Promise<void>;\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function users(options?: UsersOptions): Promise<GetUsersResponse>;\n  interface UsersOptions {\n      /** The number of items to load */\n      limit?: number | null;\n      /** number of items to skip in the current sort order */\n      offset?: number | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getScopes(options?: GetScopesOptions): Promise<GetScopesResponse>;\n  interface GetScopesOptions {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getPeople(options?: GetPeopleOptions): Promise<GetPeopleResponse>;\n  interface GetPeopleOptions {\n      resource?: PeopleResource;\n      peopleType?: PeopleType;\n      paging?: Paging;\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getTeamV2(options?: GetTeamV2Options): Promise<GetTeamV2Response>;\n  interface GetTeamV2Options {\n      /** @deprecated */\n      usersLimit?: number | null;\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      paging?: Paging;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getTeamInvites(options?: GetTeamInvitesOptions): Promise<GetTeamInvitesResponse>;\n  interface GetTeamInvitesOptions {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getPolicies(options?: GetPoliciesOptions): Promise<GetPoliciesResponse>;\n  interface GetPoliciesOptions {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      /** Areas filter to include only roles from areas that pass this filter. When not provided, roles from all areas will be returned */\n      areasFilter?: AreasFilter;\n      /** Role level filter to include only roles that are not restricted from the requested resource level (site/account). When set to ALL, all levels are returned */\n      roleLevel?: RoleLevel;\n  }\n  /**\n   * Retrieves all team members of the requesting account, based on the provided filters and free text queries.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filter options.\n   * @adminMethod\n   */\n  function searchTeam(options?: SearchTeamOptions): Promise<SearchTeamResponse>;\n  interface SearchTeamOptions {\n      /** Free text to search for within team member name and email address fields. */\n      query?: string | null;\n      /** Sort data. */\n      orderBy?: Ordering[];\n      /**\n       * Filter object. Supported values: `inviteType` and `roleId`. For example, `{'inviteType': {'$eq': 'Expired'}}`.\n       * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * A list of facets to return in the response. Facets count the items within logical groupings.\n       * See [Filters and Facets: An Explainer](https://medium.com/@westontt/filters-and-facets-an-explainer-3b73a9538eca) for more information.\n       */\n      facets?: FacetType[];\n      /** Pagination. */\n      paging?: Paging;\n  }\n  /**\n   * Get all the available roles, both predefined roles and custom roles of the account taken from the target account in the call context.\n   * Roles contain their visibility for the caller.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ACCOUNT_ROLES.GET_ROLES\n   * @adminMethod\n   */\n  function getRoles(options?: GetRolesOptions): Promise<GetRolesResponse>;\n  interface GetRolesOptions {\n      /** The locale of the predefined roles names and descriptions. Defaults to English */\n      locale?: string | null;\n  }\n  /**\n   * Retrieves all available roles in the requesting account, including predefined and custom roles.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filter options.\n   * @permissionId ACCOUNT_ROLES.GET_ROLES\n   * @adminMethod\n   */\n  function getRolesInfo(options?: GetRolesInfoOptions): Promise<GetRolesInfoResponse>;\n  interface GetRolesInfoOptions {\n      /** Language of predefined roles names and descriptions to return, in ISO 639 format. Default: `en`. */\n      locale?: string | null;\n      /** Roles to return. */\n      filter?: RolesInfoFilter;\n  }\n  /**\n   * Create a custom role in the account taken from the target account in the call context.\n   * @param role - The custom role to create\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField role\n   * @permissionId team.manage-team-member-roles\n   * @adminMethod\n   */\n  function createCustomRole(role: Policy$1): Promise<CreateCustomRoleResponse>;\n  /**\n   * Updates the roles and conditions for an existing team member. Changing roles changes the team member's access to account assets.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param userId - ID of team member being affected.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.assignmentIdsToReplace\n   * @requiredField options.roles\n   * @requiredField userId\n   * @permissionId team.manage-team-member-roles\n   * @adminMethod\n   */\n  function changeRoleV2(userId: string, options: ChangeRoleV2Options): Promise<ChangeRoleV2Response>;\n  interface ChangeRoleV2Options {\n      /** New assignments, including roles, to apply to the team member in this account. To retrieve all available roles, call Get Roles Info. */\n      roles: AssignmentV3[];\n      /** Existing assignment IDs to remove. To retrieve all existing assignment IDs for a team member, call Search Team. */\n      assignmentIdsToReplace: string[];\n  }\n  /**\n   * Updates the assignments of roles and conditions for an existing team member.  Changing assignments changes the team member’s access to account assets.\n   * > **Important**: This call requires an account level API key and cannot be authenticated with the standard authorization header. API keys are currently available to selected beta users only.\n   * @param userId - ID of team member being affected.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField options\n   * @requiredField options.assignmentIdsToRemove\n   * @requiredField options.newAssignments\n   * @requiredField userId\n   * @param options - Filter options. The `assignmentIdsToRemove` and `newAssignments` fields **must** be passed.\n   * @permissionId team.manage-team-member-roles\n   * @adminMethod\n   */\n  function updateTeamMemberAssignments(userId: string, options: UpdateTeamMemberAssignmentsOptions): Promise<UpdateTeamMemberAssignmentsResponse>;\n  interface UpdateTeamMemberAssignmentsOptions {\n      /** New assignments to apply to the team member in this account. */\n      newAssignments: AssignmentV3[];\n      /** Existing assignment IDs to remove. To retrieve all existing assignment IDs for a team member, call Search Team. */\n      assignmentIdsToRemove: string[];\n  }\n  /**\n   * Get subjects assignments\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId ACCOUNT.SUBJECTS_ASSIGNMENTS_READ\n   * @adminMethod\n   */\n  function getSubjectsAssignments(options?: GetSubjectsAssignmentsOptions): Promise<GetSubjectsAssignmentsResponse>;\n  interface GetSubjectsAssignmentsOptions {\n      /** The locale of the request. Defaults to en */\n      locale?: string | null;\n      /** list of subjects */\n      subjects?: Subject$1[];\n  }\n  \n  type identityRolesV1User_universal_d_ApiResource = ApiResource;\n  type identityRolesV1User_universal_d_ApiCondition = ApiCondition;\n  type identityRolesV1User_universal_d_GetTeamRequest = GetTeamRequest;\n  type identityRolesV1User_universal_d_Paging = Paging;\n  type identityRolesV1User_universal_d_GetTeamResponse = GetTeamResponse;\n  type identityRolesV1User_universal_d_AccountInvite = AccountInvite;\n  type identityRolesV1User_universal_d_InviteResourceAssignment = InviteResourceAssignment;\n  type identityRolesV1User_universal_d_InviteAssignment = InviteAssignment;\n  type identityRolesV1User_universal_d_FullNameResource = FullNameResource;\n  type identityRolesV1User_universal_d_FullNameResourceResourceContextOneOf = FullNameResourceResourceContextOneOf;\n  type identityRolesV1User_universal_d_SiteResourceContext = SiteResourceContext;\n  type identityRolesV1User_universal_d_AccountResourceContext = AccountResourceContext;\n  type identityRolesV1User_universal_d_OrganizationResourceContext = OrganizationResourceContext;\n  type identityRolesV1User_universal_d_PolicyCondition = PolicyCondition;\n  type identityRolesV1User_universal_d_ConditionType = ConditionType;\n  type identityRolesV1User_universal_d_ConditionTypeOfOneOf = ConditionTypeOfOneOf;\n  type identityRolesV1User_universal_d_SimpleCondition = SimpleCondition;\n  type identityRolesV1User_universal_d_SimpleConditionValue = SimpleConditionValue;\n  type identityRolesV1User_universal_d_SimpleConditionValueValueOneOf = SimpleConditionValueValueOneOf;\n  type identityRolesV1User_universal_d_SimpleConditionOperator = SimpleConditionOperator;\n  const identityRolesV1User_universal_d_SimpleConditionOperator: typeof SimpleConditionOperator;\n  type identityRolesV1User_universal_d_JoinedCondition = JoinedCondition;\n  type identityRolesV1User_universal_d_JoinedConditionOperator = JoinedConditionOperator;\n  const identityRolesV1User_universal_d_JoinedConditionOperator: typeof JoinedConditionOperator;\n  type identityRolesV1User_universal_d_EnvironmentCondition = EnvironmentCondition;\n  type identityRolesV1User_universal_d_EnvironmentConditionConditionOneOf = EnvironmentConditionConditionOneOf;\n  type identityRolesV1User_universal_d_ExperimentCondition = ExperimentCondition;\n  type identityRolesV1User_universal_d_ConditionOperator = ConditionOperator;\n  type identityRolesV1User_universal_d_ConditionOperatorOperatorsOneOf = ConditionOperatorOperatorsOneOf;\n  type identityRolesV1User_universal_d_EqualOperator = EqualOperator;\n  type identityRolesV1User_universal_d_ConditionValue = ConditionValue;\n  type identityRolesV1User_universal_d_ConditionValueValueOneOf = ConditionValueValueOneOf;\n  type identityRolesV1User_universal_d_LikeOperator = LikeOperator;\n  type identityRolesV1User_universal_d_ExperimentOperator = ExperimentOperator;\n  type identityRolesV1User_universal_d_DependOnOperator = DependOnOperator;\n  type identityRolesV1User_universal_d_ApiPolicy = ApiPolicy;\n  type identityRolesV1User_universal_d_ChangeRoleRequest = ChangeRoleRequest;\n  type identityRolesV1User_universal_d_ChangeRoleResponse = ChangeRoleResponse;\n  type identityRolesV1User_universal_d_RemoveMemberRequest = RemoveMemberRequest;\n  type identityRolesV1User_universal_d_RemoveMemberResponse = RemoveMemberResponse;\n  type identityRolesV1User_universal_d_GetUsersRequest = GetUsersRequest;\n  type identityRolesV1User_universal_d_GetUsersResponse = GetUsersResponse;\n  type identityRolesV1User_universal_d_GetScopesRequest = GetScopesRequest;\n  type identityRolesV1User_universal_d_GetScopesResponse = GetScopesResponse;\n  type identityRolesV1User_universal_d_ScopeArea = ScopeArea;\n  type identityRolesV1User_universal_d_PermissionScope = PermissionScope;\n  type identityRolesV1User_universal_d_ScopeLevel = ScopeLevel;\n  const identityRolesV1User_universal_d_ScopeLevel: typeof ScopeLevel;\n  type identityRolesV1User_universal_d_Visibility = Visibility;\n  const identityRolesV1User_universal_d_Visibility: typeof Visibility;\n  type identityRolesV1User_universal_d_GetPeopleRequest = GetPeopleRequest;\n  type identityRolesV1User_universal_d_PeopleResource = PeopleResource;\n  type identityRolesV1User_universal_d_PeopleResourceResourceTypeOneOf = PeopleResourceResourceTypeOneOf;\n  type identityRolesV1User_universal_d_FolderResource = FolderResource;\n  type identityRolesV1User_universal_d_PeopleType = PeopleType;\n  const identityRolesV1User_universal_d_PeopleType: typeof PeopleType;\n  type identityRolesV1User_universal_d_GetPeopleResponse = GetPeopleResponse;\n  type identityRolesV1User_universal_d_People = People;\n  type identityRolesV1User_universal_d_Person = Person;\n  type identityRolesV1User_universal_d_PersonPersonOneOf = PersonPersonOneOf;\n  type identityRolesV1User_universal_d_TeamMember = TeamMember;\n  type identityRolesV1User_universal_d_GetTeamV2Response = GetTeamV2Response;\n  type identityRolesV1User_universal_d_GetTeamInvitesRequest = GetTeamInvitesRequest;\n  type identityRolesV1User_universal_d_GetTeamInvitesResponse = GetTeamInvitesResponse;\n  type identityRolesV1User_universal_d_Invite = Invite;\n  type identityRolesV1User_universal_d_ApiInviteAssignment = ApiInviteAssignment;\n  type identityRolesV1User_universal_d_GetPoliciesRequest = GetPoliciesRequest;\n  type identityRolesV1User_universal_d_AreasFilter = AreasFilter;\n  type identityRolesV1User_universal_d_RoleLevel = RoleLevel;\n  const identityRolesV1User_universal_d_RoleLevel: typeof RoleLevel;\n  type identityRolesV1User_universal_d_GetPoliciesResponse = GetPoliciesResponse;\n  type identityRolesV1User_universal_d_SearchTeamRequest = SearchTeamRequest;\n  type identityRolesV1User_universal_d_Ordering = Ordering;\n  type identityRolesV1User_universal_d_OrderField = OrderField;\n  const identityRolesV1User_universal_d_OrderField: typeof OrderField;\n  type identityRolesV1User_universal_d_Direction = Direction;\n  const identityRolesV1User_universal_d_Direction: typeof Direction;\n  type identityRolesV1User_universal_d_FacetType = FacetType;\n  const identityRolesV1User_universal_d_FacetType: typeof FacetType;\n  type identityRolesV1User_universal_d_SearchTeamResponse = SearchTeamResponse;\n  type identityRolesV1User_universal_d_Facet = Facet;\n  type identityRolesV1User_universal_d_FacetValue = FacetValue;\n  type identityRolesV1User_universal_d_TeamMemberV3 = TeamMemberV3;\n  type identityRolesV1User_universal_d_TeamMemberV3MembersOneOf = TeamMemberV3MembersOneOf;\n  type identityRolesV1User_universal_d_UserV3 = UserV3;\n  type identityRolesV1User_universal_d_AssignmentV3 = AssignmentV3;\n  type identityRolesV1User_universal_d_AssignedSubject = AssignedSubject;\n  type identityRolesV1User_universal_d_InviteV3 = InviteV3;\n  type identityRolesV1User_universal_d_InviteAssignmentV3 = InviteAssignmentV3;\n  type identityRolesV1User_universal_d_GetRolesRequest = GetRolesRequest;\n  type identityRolesV1User_universal_d_GetRolesResponse = GetRolesResponse;\n  type identityRolesV1User_universal_d_PredefinedRolesArea = PredefinedRolesArea;\n  type identityRolesV1User_universal_d_PredefinedRoleV2 = PredefinedRoleV2;\n  type identityRolesV1User_universal_d_RoleLevelRestriction = RoleLevelRestriction;\n  const identityRolesV1User_universal_d_RoleLevelRestriction: typeof RoleLevelRestriction;\n  type identityRolesV1User_universal_d_EditorType = EditorType;\n  const identityRolesV1User_universal_d_EditorType: typeof EditorType;\n  type identityRolesV1User_universal_d_RoleVisibility = RoleVisibility;\n  const identityRolesV1User_universal_d_RoleVisibility: typeof RoleVisibility;\n  type identityRolesV1User_universal_d_CustomRole = CustomRole;\n  type identityRolesV1User_universal_d_GetRolesInfoRequest = GetRolesInfoRequest;\n  type identityRolesV1User_universal_d_RolesInfoFilter = RolesInfoFilter;\n  type identityRolesV1User_universal_d_GetRolesInfoResponse = GetRolesInfoResponse;\n  type identityRolesV1User_universal_d_RoleInfo = RoleInfo;\n  type identityRolesV1User_universal_d_CreateCustomRoleRequest = CreateCustomRoleRequest;\n  type identityRolesV1User_universal_d_PolicyType = PolicyType;\n  const identityRolesV1User_universal_d_PolicyType: typeof PolicyType;\n  type identityRolesV1User_universal_d_PolicyStatement = PolicyStatement;\n  type identityRolesV1User_universal_d_Effect = Effect;\n  const identityRolesV1User_universal_d_Effect: typeof Effect;\n  type identityRolesV1User_universal_d_CreateCustomRoleResponse = CreateCustomRoleResponse;\n  type identityRolesV1User_universal_d_ChangeRoleV2Request = ChangeRoleV2Request;\n  type identityRolesV1User_universal_d_ChangeRoleV2Response = ChangeRoleV2Response;\n  type identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsRequest = UpdateTeamMemberAssignmentsRequest;\n  type identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsResponse = UpdateTeamMemberAssignmentsResponse;\n  type identityRolesV1User_universal_d_GetSubjectsAssignmentsRequest = GetSubjectsAssignmentsRequest;\n  type identityRolesV1User_universal_d_GetSubjectsAssignmentsResponse = GetSubjectsAssignmentsResponse;\n  type identityRolesV1User_universal_d_SubjectAssignments = SubjectAssignments;\n  const identityRolesV1User_universal_d_getTeam: typeof getTeam;\n  type identityRolesV1User_universal_d_GetTeamOptions = GetTeamOptions;\n  const identityRolesV1User_universal_d_removeMember: typeof removeMember;\n  const identityRolesV1User_universal_d_users: typeof users;\n  type identityRolesV1User_universal_d_UsersOptions = UsersOptions;\n  const identityRolesV1User_universal_d_getScopes: typeof getScopes;\n  type identityRolesV1User_universal_d_GetScopesOptions = GetScopesOptions;\n  const identityRolesV1User_universal_d_getPeople: typeof getPeople;\n  type identityRolesV1User_universal_d_GetPeopleOptions = GetPeopleOptions;\n  const identityRolesV1User_universal_d_getTeamV2: typeof getTeamV2;\n  type identityRolesV1User_universal_d_GetTeamV2Options = GetTeamV2Options;\n  const identityRolesV1User_universal_d_getTeamInvites: typeof getTeamInvites;\n  type identityRolesV1User_universal_d_GetTeamInvitesOptions = GetTeamInvitesOptions;\n  const identityRolesV1User_universal_d_getPolicies: typeof getPolicies;\n  type identityRolesV1User_universal_d_GetPoliciesOptions = GetPoliciesOptions;\n  const identityRolesV1User_universal_d_searchTeam: typeof searchTeam;\n  type identityRolesV1User_universal_d_SearchTeamOptions = SearchTeamOptions;\n  const identityRolesV1User_universal_d_getRoles: typeof getRoles;\n  type identityRolesV1User_universal_d_GetRolesOptions = GetRolesOptions;\n  const identityRolesV1User_universal_d_getRolesInfo: typeof getRolesInfo;\n  type identityRolesV1User_universal_d_GetRolesInfoOptions = GetRolesInfoOptions;\n  const identityRolesV1User_universal_d_createCustomRole: typeof createCustomRole;\n  const identityRolesV1User_universal_d_changeRoleV2: typeof changeRoleV2;\n  type identityRolesV1User_universal_d_ChangeRoleV2Options = ChangeRoleV2Options;\n  const identityRolesV1User_universal_d_updateTeamMemberAssignments: typeof updateTeamMemberAssignments;\n  type identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsOptions = UpdateTeamMemberAssignmentsOptions;\n  const identityRolesV1User_universal_d_getSubjectsAssignments: typeof getSubjectsAssignments;\n  type identityRolesV1User_universal_d_GetSubjectsAssignmentsOptions = GetSubjectsAssignmentsOptions;\n  namespace identityRolesV1User_universal_d {\n    export {\n      User$1 as User,\n      Name$1 as Name,\n      Assignment$1 as Assignment,\n      AssignedPolicy$1 as AssignedPolicy,\n      Restriction$1 as Restriction,\n      RestrictionRestrictionsOneOf$1 as RestrictionRestrictionsOneOf,\n      identityRolesV1User_universal_d_ApiResource as ApiResource,\n      ResourceType$1 as ResourceType,\n      Conditions$1 as Conditions,\n      identityRolesV1User_universal_d_ApiCondition as ApiCondition,\n      ConditionAttributeType$1 as ConditionAttributeType,\n      SiteRestriction$1 as SiteRestriction,\n      CompanionResource$1 as CompanionResource,\n      Subject$1 as Subject,\n      SubjectType$1 as SubjectType,\n      SubjectContext$1 as SubjectContext,\n      SubjectContextType$1 as SubjectContextType,\n      identityRolesV1User_universal_d_GetTeamRequest as GetTeamRequest,\n      identityRolesV1User_universal_d_Paging as Paging,\n      identityRolesV1User_universal_d_GetTeamResponse as GetTeamResponse,\n      identityRolesV1User_universal_d_AccountInvite as AccountInvite,\n      InviteStatus$1 as InviteStatus,\n      identityRolesV1User_universal_d_InviteResourceAssignment as InviteResourceAssignment,\n      identityRolesV1User_universal_d_InviteAssignment as InviteAssignment,\n      identityRolesV1User_universal_d_FullNameResource as FullNameResource,\n      identityRolesV1User_universal_d_FullNameResourceResourceContextOneOf as FullNameResourceResourceContextOneOf,\n      identityRolesV1User_universal_d_SiteResourceContext as SiteResourceContext,\n      identityRolesV1User_universal_d_AccountResourceContext as AccountResourceContext,\n      identityRolesV1User_universal_d_OrganizationResourceContext as OrganizationResourceContext,\n      Resource$1 as Resource,\n      identityRolesV1User_universal_d_PolicyCondition as PolicyCondition,\n      identityRolesV1User_universal_d_ConditionType as ConditionType,\n      identityRolesV1User_universal_d_ConditionTypeOfOneOf as ConditionTypeOfOneOf,\n      identityRolesV1User_universal_d_SimpleCondition as SimpleCondition,\n      identityRolesV1User_universal_d_SimpleConditionValue as SimpleConditionValue,\n      identityRolesV1User_universal_d_SimpleConditionValueValueOneOf as SimpleConditionValueValueOneOf,\n      identityRolesV1User_universal_d_SimpleConditionOperator as SimpleConditionOperator,\n      identityRolesV1User_universal_d_JoinedCondition as JoinedCondition,\n      identityRolesV1User_universal_d_JoinedConditionOperator as JoinedConditionOperator,\n      identityRolesV1User_universal_d_EnvironmentCondition as EnvironmentCondition,\n      identityRolesV1User_universal_d_EnvironmentConditionConditionOneOf as EnvironmentConditionConditionOneOf,\n      identityRolesV1User_universal_d_ExperimentCondition as ExperimentCondition,\n      Condition$1 as Condition,\n      identityRolesV1User_universal_d_ConditionOperator as ConditionOperator,\n      identityRolesV1User_universal_d_ConditionOperatorOperatorsOneOf as ConditionOperatorOperatorsOneOf,\n      identityRolesV1User_universal_d_EqualOperator as EqualOperator,\n      identityRolesV1User_universal_d_ConditionValue as ConditionValue,\n      identityRolesV1User_universal_d_ConditionValueValueOneOf as ConditionValueValueOneOf,\n      identityRolesV1User_universal_d_LikeOperator as LikeOperator,\n      identityRolesV1User_universal_d_ExperimentOperator as ExperimentOperator,\n      identityRolesV1User_universal_d_DependOnOperator as DependOnOperator,\n      AccountInfo$1 as AccountInfo,\n      identityRolesV1User_universal_d_ApiPolicy as ApiPolicy,\n      PredefinedRoles$1 as PredefinedRoles,\n      PredefinedRole$1 as PredefinedRole,\n      Role$1 as Role,\n      identityRolesV1User_universal_d_ChangeRoleRequest as ChangeRoleRequest,\n      identityRolesV1User_universal_d_ChangeRoleResponse as ChangeRoleResponse,\n      identityRolesV1User_universal_d_RemoveMemberRequest as RemoveMemberRequest,\n      identityRolesV1User_universal_d_RemoveMemberResponse as RemoveMemberResponse,\n      identityRolesV1User_universal_d_GetUsersRequest as GetUsersRequest,\n      identityRolesV1User_universal_d_GetUsersResponse as GetUsersResponse,\n      identityRolesV1User_universal_d_GetScopesRequest as GetScopesRequest,\n      identityRolesV1User_universal_d_GetScopesResponse as GetScopesResponse,\n      identityRolesV1User_universal_d_ScopeArea as ScopeArea,\n      identityRolesV1User_universal_d_PermissionScope as PermissionScope,\n      identityRolesV1User_universal_d_ScopeLevel as ScopeLevel,\n      identityRolesV1User_universal_d_Visibility as Visibility,\n      identityRolesV1User_universal_d_GetPeopleRequest as GetPeopleRequest,\n      identityRolesV1User_universal_d_PeopleResource as PeopleResource,\n      identityRolesV1User_universal_d_PeopleResourceResourceTypeOneOf as PeopleResourceResourceTypeOneOf,\n      identityRolesV1User_universal_d_FolderResource as FolderResource,\n      identityRolesV1User_universal_d_PeopleType as PeopleType,\n      identityRolesV1User_universal_d_GetPeopleResponse as GetPeopleResponse,\n      identityRolesV1User_universal_d_People as People,\n      identityRolesV1User_universal_d_Person as Person,\n      identityRolesV1User_universal_d_PersonPersonOneOf as PersonPersonOneOf,\n      Contributor$1 as Contributor,\n      PersonMetaData$1 as PersonMetaData,\n      identityRolesV1User_universal_d_TeamMember as TeamMember,\n      identityRolesV1User_universal_d_GetTeamV2Response as GetTeamV2Response,\n      identityRolesV1User_universal_d_GetTeamInvitesRequest as GetTeamInvitesRequest,\n      identityRolesV1User_universal_d_GetTeamInvitesResponse as GetTeamInvitesResponse,\n      identityRolesV1User_universal_d_Invite as Invite,\n      identityRolesV1User_universal_d_ApiInviteAssignment as ApiInviteAssignment,\n      identityRolesV1User_universal_d_GetPoliciesRequest as GetPoliciesRequest,\n      identityRolesV1User_universal_d_AreasFilter as AreasFilter,\n      identityRolesV1User_universal_d_RoleLevel as RoleLevel,\n      identityRolesV1User_universal_d_GetPoliciesResponse as GetPoliciesResponse,\n      identityRolesV1User_universal_d_SearchTeamRequest as SearchTeamRequest,\n      identityRolesV1User_universal_d_Ordering as Ordering,\n      identityRolesV1User_universal_d_OrderField as OrderField,\n      identityRolesV1User_universal_d_Direction as Direction,\n      identityRolesV1User_universal_d_FacetType as FacetType,\n      identityRolesV1User_universal_d_SearchTeamResponse as SearchTeamResponse,\n      identityRolesV1User_universal_d_Facet as Facet,\n      identityRolesV1User_universal_d_FacetValue as FacetValue,\n      identityRolesV1User_universal_d_TeamMemberV3 as TeamMemberV3,\n      identityRolesV1User_universal_d_TeamMemberV3MembersOneOf as TeamMemberV3MembersOneOf,\n      identityRolesV1User_universal_d_UserV3 as UserV3,\n      identityRolesV1User_universal_d_AssignmentV3 as AssignmentV3,\n      identityRolesV1User_universal_d_AssignedSubject as AssignedSubject,\n      identityRolesV1User_universal_d_InviteV3 as InviteV3,\n      identityRolesV1User_universal_d_InviteAssignmentV3 as InviteAssignmentV3,\n      identityRolesV1User_universal_d_GetRolesRequest as GetRolesRequest,\n      identityRolesV1User_universal_d_GetRolesResponse as GetRolesResponse,\n      identityRolesV1User_universal_d_PredefinedRolesArea as PredefinedRolesArea,\n      identityRolesV1User_universal_d_PredefinedRoleV2 as PredefinedRoleV2,\n      identityRolesV1User_universal_d_RoleLevelRestriction as RoleLevelRestriction,\n      identityRolesV1User_universal_d_EditorType as EditorType,\n      identityRolesV1User_universal_d_RoleVisibility as RoleVisibility,\n      identityRolesV1User_universal_d_CustomRole as CustomRole,\n      identityRolesV1User_universal_d_GetRolesInfoRequest as GetRolesInfoRequest,\n      identityRolesV1User_universal_d_RolesInfoFilter as RolesInfoFilter,\n      identityRolesV1User_universal_d_GetRolesInfoResponse as GetRolesInfoResponse,\n      identityRolesV1User_universal_d_RoleInfo as RoleInfo,\n      identityRolesV1User_universal_d_CreateCustomRoleRequest as CreateCustomRoleRequest,\n      Policy$1 as Policy,\n      identityRolesV1User_universal_d_PolicyType as PolicyType,\n      identityRolesV1User_universal_d_PolicyStatement as PolicyStatement,\n      identityRolesV1User_universal_d_Effect as Effect,\n      identityRolesV1User_universal_d_CreateCustomRoleResponse as CreateCustomRoleResponse,\n      identityRolesV1User_universal_d_ChangeRoleV2Request as ChangeRoleV2Request,\n      identityRolesV1User_universal_d_ChangeRoleV2Response as ChangeRoleV2Response,\n      identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsRequest as UpdateTeamMemberAssignmentsRequest,\n      identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsResponse as UpdateTeamMemberAssignmentsResponse,\n      identityRolesV1User_universal_d_GetSubjectsAssignmentsRequest as GetSubjectsAssignmentsRequest,\n      identityRolesV1User_universal_d_GetSubjectsAssignmentsResponse as GetSubjectsAssignmentsResponse,\n      identityRolesV1User_universal_d_SubjectAssignments as SubjectAssignments,\n      identityRolesV1User_universal_d_getTeam as getTeam,\n      identityRolesV1User_universal_d_GetTeamOptions as GetTeamOptions,\n      changeRole$1 as changeRole,\n      ChangeRoleOptions$1 as ChangeRoleOptions,\n      identityRolesV1User_universal_d_removeMember as removeMember,\n      identityRolesV1User_universal_d_users as users,\n      identityRolesV1User_universal_d_UsersOptions as UsersOptions,\n      identityRolesV1User_universal_d_getScopes as getScopes,\n      identityRolesV1User_universal_d_GetScopesOptions as GetScopesOptions,\n      identityRolesV1User_universal_d_getPeople as getPeople,\n      identityRolesV1User_universal_d_GetPeopleOptions as GetPeopleOptions,\n      identityRolesV1User_universal_d_getTeamV2 as getTeamV2,\n      identityRolesV1User_universal_d_GetTeamV2Options as GetTeamV2Options,\n      identityRolesV1User_universal_d_getTeamInvites as getTeamInvites,\n      identityRolesV1User_universal_d_GetTeamInvitesOptions as GetTeamInvitesOptions,\n      identityRolesV1User_universal_d_getPolicies as getPolicies,\n      identityRolesV1User_universal_d_GetPoliciesOptions as GetPoliciesOptions,\n      identityRolesV1User_universal_d_searchTeam as searchTeam,\n      identityRolesV1User_universal_d_SearchTeamOptions as SearchTeamOptions,\n      identityRolesV1User_universal_d_getRoles as getRoles,\n      identityRolesV1User_universal_d_GetRolesOptions as GetRolesOptions,\n      identityRolesV1User_universal_d_getRolesInfo as getRolesInfo,\n      identityRolesV1User_universal_d_GetRolesInfoOptions as GetRolesInfoOptions,\n      identityRolesV1User_universal_d_createCustomRole as createCustomRole,\n      identityRolesV1User_universal_d_changeRoleV2 as changeRoleV2,\n      identityRolesV1User_universal_d_ChangeRoleV2Options as ChangeRoleV2Options,\n      identityRolesV1User_universal_d_updateTeamMemberAssignments as updateTeamMemberAssignments,\n      identityRolesV1User_universal_d_UpdateTeamMemberAssignmentsOptions as UpdateTeamMemberAssignmentsOptions,\n      identityRolesV1User_universal_d_getSubjectsAssignments as getSubjectsAssignments,\n      identityRolesV1User_universal_d_GetSubjectsAssignmentsOptions as GetSubjectsAssignmentsOptions,\n    };\n  }\n  \n  interface Contributor {\n      /** Contributor's metadata. */\n      metaData?: PersonMetaData;\n      /** Whether the contributor account is a team account. */\n      isTeam?: boolean | null;\n      /** Date that the contributor joined the site. */\n      joinedAt?: Date | null;\n      /** Email address that received the invite. */\n      invitedEmail?: string | null;\n      /** Whether the contributor account is a client account. */\n      isClient?: boolean | null;\n      /**\n       * Contributor's user ID.\n       * @readonly\n       */\n      _id?: string;\n  }\n  interface PersonMetaData {\n      /** Contributor's account ID. */\n      _id?: string;\n      /** Contributor's full name. */\n      fullName?: string | null;\n      /** URL for contributor's profile image. */\n      imageUrl?: string | null;\n      /** Contributor's email address. */\n      email?: string | null;\n      /** Contributor's access to assets and their assigned role (`policy`) for that asset. */\n      assignments?: Assignment[];\n  }\n  interface Assignment {\n      /** Role assigned to the user. */\n      policy?: AssignedPolicy;\n      /** Unique ID for this specific assignment. */\n      assignmentId?: string;\n      /**\n       * The asset a user is assigned access to in an assignment, including any restrictions to their access. When empty, the role covers all assets, with no restrictions to specific sites or folders.\n       * @internal\n       */\n      restrictions?: Restriction;\n      /** Identity assigned to the asset in an assignment, referred to as subject. Supported subjects include user IDs, account IDs, and app IDs. */\n      subject?: Subject;\n  }\n  interface AssignedPolicy {\n      /** Role ID. */\n      policyId?: string;\n      /** Role title. */\n      title?: string | null;\n      /** Role description. */\n      description?: string | null;\n  }\n  interface Restriction extends RestrictionRestrictionsOneOf {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      resource?: Resource;\n      /** List of conditions restricting the user's access. Currently only folder conditions are supported. */\n      conditions?: Conditions;\n      /** Site where the assignment restrictions apply. */\n      site?: SiteRestriction;\n  }\n  /** @oneof */\n  interface RestrictionRestrictionsOneOf {\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      resource?: Resource;\n      /** List of conditions restricting the user's access. Currently only folder conditions are supported. */\n      conditions?: Conditions;\n      /** Site where the assignment restrictions apply. */\n      site?: SiteRestriction;\n  }\n  interface Resource {\n      /** Resource type. */\n      resourceType?: ResourceType;\n      /** Resource ID. */\n      _id?: string;\n      value?: string | null;\n  }\n  enum ResourceType {\n      UNKNOWN_RESOURCE_TYPE = \"UNKNOWN_RESOURCE_TYPE\",\n      SITE = \"SITE\"\n  }\n  interface Conditions {\n      /** List of conditions. */\n      conditions?: Condition[];\n  }\n  interface Condition {\n      /** Condition type. */\n      conditionType?: ConditionAttributeType;\n      /** Condition ID. */\n      _id?: string;\n      /** Expected value of the condition. When `conditionType` = \"FOLDER\", this is the folder path. */\n      value?: string | null;\n  }\n  enum ConditionAttributeType {\n      UNKNOWN_CONDITION_TYPE = \"UNKNOWN_CONDITION_TYPE\",\n      FOLDER = \"FOLDER\"\n  }\n  interface SiteRestriction {\n      /** Site ID. */\n      _id?: string;\n      /** Site name. */\n      value?: string | null;\n      /**\n       * A specific asset (referred to as a resource) inside the site, if relevant. For example, a specific dashboard page.\n       * @internal\n       */\n      resource?: CompanionResource;\n  }\n  interface CompanionResource {\n      /** Asset ID (referred to here as resource ID). */\n      _id?: string;\n      /** Asset type (referred to here as resource type). as predefined in the authorization system */\n      resourceType?: string;\n  }\n  interface Subject {\n      /** ID of identity assigned to the asset. */\n      _id?: string;\n      /** Type of identity assigned to the asset. Supported subject types include user IDs, account IDs, and app IDs. */\n      subjectType?: SubjectType;\n      /** Context of identity assigned to the asset. For example, a `subjectType` = `USER` will have `context` = `ACCOUNT`. */\n      context?: SubjectContext;\n  }\n  enum SubjectType {\n      UNKNOWN = \"UNKNOWN\",\n      ACCOUNT = \"ACCOUNT\",\n      USER = \"USER\",\n      USER_GROUP = \"USER_GROUP\",\n      MEMBER_GROUP = \"MEMBER_GROUP\",\n      VISITOR_GROUP = \"VISITOR_GROUP\",\n      EXTERNAL_APP = \"EXTERNAL_APP\",\n      ACCOUNT_GROUP = \"ACCOUNT_GROUP\",\n      WIX_APP = \"WIX_APP\"\n  }\n  interface SubjectContext {\n      _id?: string;\n      contextType?: SubjectContextType;\n  }\n  enum SubjectContextType {\n      UNKNOWN_CTX = \"UNKNOWN_CTX\",\n      ORG_CTX = \"ORG_CTX\",\n      ACCOUNT_CTX = \"ACCOUNT_CTX\"\n  }\n  interface GetAppContributorsRequest {\n      appId: string;\n      /** The locale of the request. Defaults to en-us. */\n      locale?: string | null;\n  }\n  interface GetAppContributorsResponse {\n      contributors?: Contributor[];\n      invites?: AppInvite[];\n  }\n  interface AppInvite {\n      /** @readonly */\n      _id?: string;\n      /** TODO: amitis - remove this comment after the next merge */\n      destEmail?: string;\n      /** @readonly */\n      status?: string;\n      /** @readonly */\n      acceptLink?: string;\n      invitePurpose?: string | null;\n      policies?: AssignedPolicy[];\n      /** @readonly */\n      expirationDate?: Date | null;\n      /** @readonly */\n      dateCreated?: Date | null;\n      /** @readonly */\n      dateUpdated?: Date | null;\n  }\n  interface GetSiteContributorsRequest {\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  interface GetSiteContributorsResponse {\n      users?: User[];\n      teams?: Team[];\n      invites?: SiteInvite[];\n      policies?: Policy[];\n      permissions?: string[];\n      userId?: string;\n      loggedInAccountId?: string;\n      pendingOwner?: PendingOwner;\n      contributorLimit?: ContributorLimit;\n      predefinedRoles?: PredefinedRoles;\n  }\n  interface User {\n      /** User ID. */\n      _id?: string;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      roles?: string[];\n      /** User's email address. */\n      email?: string;\n      /** User's name. */\n      name?: Name;\n      /** URL to user's profile image, when provided. */\n      profileImage?: string | null;\n      /** Date the user joined the team. */\n      joinedTeamAt?: Date | null;\n      /**\n       * Deprecated.\n       * @deprecated\n       */\n      policyIds?: string[];\n      /** Resources the user can access. */\n      assignments?: Assignment[];\n  }\n  interface Name {\n      /** User's first name. */\n      firstName?: string;\n      /** User's last name. */\n      lastName?: string;\n  }\n  interface Team {\n      accountId?: string;\n      accountInfo?: AccountInfo;\n      policyIds?: string[];\n      joinedAt?: Date | null;\n  }\n  interface AccountInfo {\n      accountName?: string;\n      accountImage?: string;\n      isTeam?: boolean;\n  }\n  interface SiteInvite {\n      /**\n       * Invite ID.\n       * @readonly\n       */\n      _id?: string;\n      /**\n       * Site ID the user is invited to as a collaborator.\n       * @readonly\n       */\n      siteId?: string;\n      /** Email address where the invite was sent. */\n      email?: string;\n      /** Role IDs included in the invite. */\n      policyIds?: string[];\n      /**\n       * Deprecated. Use `inviterAccountId`.\n       * @readonly\n       * @deprecated\n       */\n      inviterId?: string;\n      /**\n       * Invite Status.\n       *\n       * Supported values:\n       * - **Pending:** The invite has been sent and is valid, waiting for the user's response.\n       * - **Used:** The invite has been accepted.\n       * - **Deleted:** The invite has been deleted or revoked.\n       * - **Declined:** The user declined the invite.\n       * - **Expired:** The invite has expired without being accepted.\n       */\n      status?: InviteStatus;\n      /** Link to accept the invite. */\n      acceptLink?: string;\n      /**\n       * Inviting account ID.\n       * @readonly\n       */\n      inviterAccountId?: string;\n      /**\n       * Account ID that accepted the invite. Populated only once the invite is accepted.\n       * @readonly\n       */\n      acceptedByAccountId?: string | null;\n      /** Date the invite was created. */\n      dateCreated?: Date | null;\n      /** User's Wix Bookings staff ID, if relevant. */\n      staffId?: string | null;\n      /**\n       * Brand domain.\n       * @internal\n       */\n      brandDomain?: string | null;\n      /**\n       * Optional field representing the purpose of the invite\n       * @internal\n       */\n      invitePurpose?: string | null;\n      /** Invite expiration date */\n      expirationDate?: Date | null;\n  }\n  /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */\n  enum InviteStatus {\n      Pending = \"Pending\",\n      Used = \"Used\",\n      Deleted = \"Deleted\",\n      Declined = \"Declined\",\n      Expired = \"Expired\"\n  }\n  interface Policy {\n      _id?: string;\n      description?: string | null;\n      name?: string | null;\n      isCustom?: boolean;\n      scopes?: string[];\n  }\n  interface PendingOwner {\n      email?: string;\n      expirationDate?: Date | null;\n      acceptLink?: string;\n  }\n  interface ContributorLimit {\n      contributorLimit?: number;\n  }\n  interface PredefinedRoles {\n      roles?: PredefinedRole[];\n  }\n  interface PredefinedRole {\n      titleKey?: string;\n      roles?: Role[];\n      title?: string | null;\n      areaId?: string;\n  }\n  interface Role {\n      _id?: string;\n      deprecatedKey?: string;\n      /** @deprecated */\n      titleKey?: string;\n      /** @deprecated */\n      descriptionKey?: string;\n      deprecated?: boolean;\n      restrictFromLevel?: string;\n      experiments?: string[];\n      appDefIds?: string[];\n      title?: string | null;\n      description?: string | null;\n      isCustom?: boolean;\n      scopes?: string[];\n      availableResourceTypes?: ResourceType[];\n      availableConditions?: ConditionAttributeType[];\n      limitToEditorTypes?: string[];\n  }\n  interface GetSiteContributorsV2Request {\n      /** The locale of the request. Defaults to en-us. */\n      locale?: string | null;\n      /**\n       * The set of desired fields.\n       * @internal\n       */\n      fields?: string[];\n  }\n  interface GetSiteContributorsV2Response {\n      /** List of contributors of the given site. */\n      contributors?: Contributor[];\n      /** List of invites to contribute to the given site. */\n      invites?: SiteInvite[];\n      /** Quota information for contributors on the given site. */\n      contributorsQuota?: ContributorsQuota;\n  }\n  interface ContributorsQuota extends ContributorsQuotaOptionsOneOf {\n      /** Limited contributors quota details. */\n      limitedOptions?: LimitedOptions;\n      /** Type of contributors quota */\n      type?: Type;\n  }\n  /** @oneof */\n  interface ContributorsQuotaOptionsOneOf {\n      /** Limited contributors quota details. */\n      limitedOptions?: LimitedOptions;\n  }\n  /** Enum to represent different types of contributors quota. */\n  enum Type {\n      UNKNOWN = \"UNKNOWN\",\n      LIMITED = \"LIMITED\",\n      UNLIMITED = \"UNLIMITED\"\n  }\n  /** Details for a limited contributors quota. */\n  interface LimitedOptions {\n      /** Maximum number of contributors allowed. */\n      limit?: number;\n      /** Number of accepted or pending invitations. */\n      used?: number;\n  }\n  interface HandleSiteTransferRequest {\n      originalOwnerAccountId?: string;\n      newOwnerAccountId?: string;\n      metaSiteId?: string;\n      keepOriginalOwnerAsContributor?: boolean;\n  }\n  interface HandleSiteTransferResponse {\n  }\n  interface GetCurrentUserRolesRequest {\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  interface GetCurrentUserRolesResponse {\n      roles?: LocalizedRole[];\n  }\n  interface LocalizedRole {\n      name?: string;\n      description?: string | null;\n  }\n  interface BulkGetUserRolesOnSiteRequest {\n      users?: UserSubject[];\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  interface UserSubject {\n      userId?: string;\n      accountId?: string;\n  }\n  interface BulkGetUserRolesOnSiteResponse {\n      userRoles?: UserLocalizedRoles[];\n  }\n  interface UserLocalizedRoles {\n      user?: UserSubject;\n      roles?: LocalizedRole[];\n  }\n  interface BulkValidateEmailInviteEligibilityRequest {\n      /** List of emails to be checked for invite eligibility. */\n      emails?: string[];\n  }\n  interface BulkValidateEmailInviteEligibilityResponse {\n      /** List of email invite eligibility results. */\n      emailsEligibility?: EmailInviteEligibility[];\n  }\n  interface EmailInviteEligibility {\n      /** The email address being checked. */\n      email?: string;\n      /** Whether the email is eligible for an invite. */\n      eligible?: boolean;\n  }\n  interface ChangeContributorRoleRequest {\n      /** Contributor's account ID. */\n      accountId: string;\n      /** New roles to assign to the contributor on the site. */\n      newRoles: SiteRoleAssignment[];\n  }\n  interface SiteRoleAssignment {\n      /** Role ID. Sometimes referred to as policy ID. See [Roles and Permissions](https://support.wix.com/en/article/roles-permissions-overview) for a list of available roles. */\n      roleId?: string;\n      /**\n       * Assignment ID mapping the role to the contributor on the site.\n       * @readonly\n       */\n      assignmentId?: string;\n  }\n  interface ChangeContributorRoleResponse {\n      /** New roles assigned to the contributor on the site. */\n      newAssignedRoles?: SiteRoleAssignment[];\n  }\n  interface QuerySiteContributorsRequest {\n      filter?: QuerySiteContributorsFilter;\n      /** @internal */\n      fieldSet?: FieldSet[];\n  }\n  interface QuerySiteContributorsFilter {\n      /** Role IDs (referred to here as policy IDs) to return. See [Roles and Permissions](https://support.wix.com/en/article/roles-permissions-overview) for available roles. */\n      policyIds?: string[];\n  }\n  enum FieldSet {\n      UNKNOWN = \"UNKNOWN\",\n      /** Include only `account_id` and `account_owner_id` fields. */\n      META_DATA = \"META_DATA\"\n  }\n  interface QuerySiteContributorsResponse {\n      /** List of site contributors. */\n      contributors?: ContributorV2[];\n  }\n  interface ContributorV2 {\n      /** Contributor's account ID. */\n      accountId?: string | null;\n      /** User ID of the owner of the account that the contributor has joined. */\n      accountOwnerId?: string | null;\n  }\n  interface GetContributorsQuotaRequest {\n  }\n  interface GetContributorsQuotaResponse {\n      /** Quota information for contributors on the given site. */\n      contributorsQuota?: ContributorsQuota;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @requiredField appId\n   * @permissionId DEV_CENTER.GET_APP_CONTRIBUTORS\n   * @adminMethod\n   */\n  function getAppContributors(appId: string, options?: GetAppContributorsOptions): Promise<GetAppContributorsResponse>;\n  interface GetAppContributorsOptions {\n      /** The locale of the request. Defaults to en-us. */\n      locale?: string | null;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getSiteContributors(options?: GetSiteContributorsOptions): Promise<GetSiteContributorsResponse>;\n  interface GetSiteContributorsOptions {\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  /**\n   * returns a list of all the contributors + invites to be contributors of a given meta site ID taken from the\n   * context.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId site-users.view-users\n   * @adminMethod\n   */\n  function getSiteContributorsV2(options?: GetSiteContributorsV2Options): Promise<GetSiteContributorsV2Response>;\n  interface GetSiteContributorsV2Options {\n      /** The locale of the request. Defaults to en-us. */\n      locale?: string | null;\n      /**\n       * The set of desired fields.\n       * @internal\n       */\n      fields?: string[];\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @permissionId SITE_ROLES.HANDLE_SITE_TRANSFER\n   * @adminMethod\n   */\n  function handleSiteTransfer(options?: HandleSiteTransferOptions): Promise<void>;\n  interface HandleSiteTransferOptions {\n      originalOwnerAccountId?: string;\n      newOwnerAccountId?: string;\n      metaSiteId?: string;\n      keepOriginalOwnerAsContributor?: boolean;\n  }\n  /** @internal\n   * @documentationMaturity preview\n   * @adminMethod\n   */\n  function getCurrentUserRoles(options?: GetCurrentUserRolesOptions): Promise<GetCurrentUserRolesResponse>;\n  interface GetCurrentUserRolesOptions {\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  /**\n   * Get a list of roles (localized) for each user in the request on a specific site taken from aspects.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId SITE_ROLES.BULK_READ\n   * @adminMethod\n   */\n  function bulkGetUserRolesOnSite(options?: BulkGetUserRolesOnSiteOptions): Promise<BulkGetUserRolesOnSiteResponse>;\n  interface BulkGetUserRolesOnSiteOptions {\n      users?: UserSubject[];\n      /** The locale of the request. Defaults to en-us */\n      locale?: string | null;\n  }\n  /**\n   * Validating the eligibility of email site invites in bulk.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId SITE_ROLES.BULK_READ\n   * @adminMethod\n   */\n  function bulkValidateEmailInviteEligibility(options?: BulkValidateEmailInviteEligibilityOptions): Promise<BulkValidateEmailInviteEligibilityResponse>;\n  interface BulkValidateEmailInviteEligibilityOptions {\n      /** List of emails to be checked for invite eligibility. */\n      emails?: string[];\n  }\n  /**\n   * Overrides all the roles of a contributor for the specified site.\n   * @param accountId - Contributor's account ID.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField accountId\n   * @requiredField options\n   * @requiredField options.newRoles\n   * @param options - Filter options. The `newRoles` field **must** be passed.\n   * @permissionId SITE_ROLES.CHANGE_ROLE\n   * @adminMethod\n   */\n  function changeRole(accountId: string, options: ChangeRoleOptions): Promise<ChangeContributorRoleResponse>;\n  interface ChangeRoleOptions {\n      /** New roles to assign to the contributor on the site. */\n      newRoles: SiteRoleAssignment[];\n  }\n  /**\n   * Retrieves a list of contributors for the specified site, given the provided filters.\n   * @public\n   * @documentationMaturity preview\n   * @param options - Filter options.\n   * @permissionId site-users.view-users\n   * @adminMethod\n   */\n  function querySiteContributors(options?: QuerySiteContributorsOptions): Promise<QuerySiteContributorsResponse>;\n  interface QuerySiteContributorsOptions {\n      filter?: QuerySiteContributorsFilter;\n      /** @internal */\n      fieldSet?: FieldSet[];\n  }\n  /**\n   * returns the quota information for contributors on the given site.\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId site-users.view-users\n   * @adminMethod\n   */\n  function getContributorsQuota(): Promise<GetContributorsQuotaResponse>;\n  \n  type identityV1Contributor_universal_d_Contributor = Contributor;\n  type identityV1Contributor_universal_d_PersonMetaData = PersonMetaData;\n  type identityV1Contributor_universal_d_Assignment = Assignment;\n  type identityV1Contributor_universal_d_AssignedPolicy = AssignedPolicy;\n  type identityV1Contributor_universal_d_Restriction = Restriction;\n  type identityV1Contributor_universal_d_RestrictionRestrictionsOneOf = RestrictionRestrictionsOneOf;\n  type identityV1Contributor_universal_d_Resource = Resource;\n  type identityV1Contributor_universal_d_ResourceType = ResourceType;\n  const identityV1Contributor_universal_d_ResourceType: typeof ResourceType;\n  type identityV1Contributor_universal_d_Conditions = Conditions;\n  type identityV1Contributor_universal_d_Condition = Condition;\n  type identityV1Contributor_universal_d_ConditionAttributeType = ConditionAttributeType;\n  const identityV1Contributor_universal_d_ConditionAttributeType: typeof ConditionAttributeType;\n  type identityV1Contributor_universal_d_SiteRestriction = SiteRestriction;\n  type identityV1Contributor_universal_d_CompanionResource = CompanionResource;\n  type identityV1Contributor_universal_d_Subject = Subject;\n  type identityV1Contributor_universal_d_SubjectType = SubjectType;\n  const identityV1Contributor_universal_d_SubjectType: typeof SubjectType;\n  type identityV1Contributor_universal_d_SubjectContext = SubjectContext;\n  type identityV1Contributor_universal_d_SubjectContextType = SubjectContextType;\n  const identityV1Contributor_universal_d_SubjectContextType: typeof SubjectContextType;\n  type identityV1Contributor_universal_d_GetAppContributorsRequest = GetAppContributorsRequest;\n  type identityV1Contributor_universal_d_GetAppContributorsResponse = GetAppContributorsResponse;\n  type identityV1Contributor_universal_d_AppInvite = AppInvite;\n  type identityV1Contributor_universal_d_GetSiteContributorsRequest = GetSiteContributorsRequest;\n  type identityV1Contributor_universal_d_GetSiteContributorsResponse = GetSiteContributorsResponse;\n  type identityV1Contributor_universal_d_User = User;\n  type identityV1Contributor_universal_d_Name = Name;\n  type identityV1Contributor_universal_d_Team = Team;\n  type identityV1Contributor_universal_d_AccountInfo = AccountInfo;\n  type identityV1Contributor_universal_d_SiteInvite = SiteInvite;\n  type identityV1Contributor_universal_d_InviteStatus = InviteStatus;\n  const identityV1Contributor_universal_d_InviteStatus: typeof InviteStatus;\n  type identityV1Contributor_universal_d_Policy = Policy;\n  type identityV1Contributor_universal_d_PendingOwner = PendingOwner;\n  type identityV1Contributor_universal_d_ContributorLimit = ContributorLimit;\n  type identityV1Contributor_universal_d_PredefinedRoles = PredefinedRoles;\n  type identityV1Contributor_universal_d_PredefinedRole = PredefinedRole;\n  type identityV1Contributor_universal_d_Role = Role;\n  type identityV1Contributor_universal_d_GetSiteContributorsV2Request = GetSiteContributorsV2Request;\n  type identityV1Contributor_universal_d_GetSiteContributorsV2Response = GetSiteContributorsV2Response;\n  type identityV1Contributor_universal_d_ContributorsQuota = ContributorsQuota;\n  type identityV1Contributor_universal_d_ContributorsQuotaOptionsOneOf = ContributorsQuotaOptionsOneOf;\n  type identityV1Contributor_universal_d_Type = Type;\n  const identityV1Contributor_universal_d_Type: typeof Type;\n  type identityV1Contributor_universal_d_LimitedOptions = LimitedOptions;\n  type identityV1Contributor_universal_d_HandleSiteTransferRequest = HandleSiteTransferRequest;\n  type identityV1Contributor_universal_d_HandleSiteTransferResponse = HandleSiteTransferResponse;\n  type identityV1Contributor_universal_d_GetCurrentUserRolesRequest = GetCurrentUserRolesRequest;\n  type identityV1Contributor_universal_d_GetCurrentUserRolesResponse = GetCurrentUserRolesResponse;\n  type identityV1Contributor_universal_d_LocalizedRole = LocalizedRole;\n  type identityV1Contributor_universal_d_BulkGetUserRolesOnSiteRequest = BulkGetUserRolesOnSiteRequest;\n  type identityV1Contributor_universal_d_UserSubject = UserSubject;\n  type identityV1Contributor_universal_d_BulkGetUserRolesOnSiteResponse = BulkGetUserRolesOnSiteResponse;\n  type identityV1Contributor_universal_d_UserLocalizedRoles = UserLocalizedRoles;\n  type identityV1Contributor_universal_d_BulkValidateEmailInviteEligibilityRequest = BulkValidateEmailInviteEligibilityRequest;\n  type identityV1Contributor_universal_d_BulkValidateEmailInviteEligibilityResponse = BulkValidateEmailInviteEligibilityResponse;\n  type identityV1Contributor_universal_d_EmailInviteEligibility = EmailInviteEligibility;\n  type identityV1Contributor_universal_d_ChangeContributorRoleRequest = ChangeContributorRoleRequest;\n  type identityV1Contributor_universal_d_SiteRoleAssignment = SiteRoleAssignment;\n  type identityV1Contributor_universal_d_ChangeContributorRoleResponse = ChangeContributorRoleResponse;\n  type identityV1Contributor_universal_d_QuerySiteContributorsRequest = QuerySiteContributorsRequest;\n  type identityV1Contributor_universal_d_QuerySiteContributorsFilter = QuerySiteContributorsFilter;\n  type identityV1Contributor_universal_d_FieldSet = FieldSet;\n  const identityV1Contributor_universal_d_FieldSet: typeof FieldSet;\n  type identityV1Contributor_universal_d_QuerySiteContributorsResponse = QuerySiteContributorsResponse;\n  type identityV1Contributor_universal_d_ContributorV2 = ContributorV2;\n  type identityV1Contributor_universal_d_GetContributorsQuotaRequest = GetContributorsQuotaRequest;\n  type identityV1Contributor_universal_d_GetContributorsQuotaResponse = GetContributorsQuotaResponse;\n  const identityV1Contributor_universal_d_getAppContributors: typeof getAppContributors;\n  type identityV1Contributor_universal_d_GetAppContributorsOptions = GetAppContributorsOptions;\n  const identityV1Contributor_universal_d_getSiteContributors: typeof getSiteContributors;\n  type identityV1Contributor_universal_d_GetSiteContributorsOptions = GetSiteContributorsOptions;\n  const identityV1Contributor_universal_d_getSiteContributorsV2: typeof getSiteContributorsV2;\n  type identityV1Contributor_universal_d_GetSiteContributorsV2Options = GetSiteContributorsV2Options;\n  const identityV1Contributor_universal_d_handleSiteTransfer: typeof handleSiteTransfer;\n  type identityV1Contributor_universal_d_HandleSiteTransferOptions = HandleSiteTransferOptions;\n  const identityV1Contributor_universal_d_getCurrentUserRoles: typeof getCurrentUserRoles;\n  type identityV1Contributor_universal_d_GetCurrentUserRolesOptions = GetCurrentUserRolesOptions;\n  const identityV1Contributor_universal_d_bulkGetUserRolesOnSite: typeof bulkGetUserRolesOnSite;\n  type identityV1Contributor_universal_d_BulkGetUserRolesOnSiteOptions = BulkGetUserRolesOnSiteOptions;\n  const identityV1Contributor_universal_d_bulkValidateEmailInviteEligibility: typeof bulkValidateEmailInviteEligibility;\n  type identityV1Contributor_universal_d_BulkValidateEmailInviteEligibilityOptions = BulkValidateEmailInviteEligibilityOptions;\n  const identityV1Contributor_universal_d_changeRole: typeof changeRole;\n  type identityV1Contributor_universal_d_ChangeRoleOptions = ChangeRoleOptions;\n  const identityV1Contributor_universal_d_querySiteContributors: typeof querySiteContributors;\n  type identityV1Contributor_universal_d_QuerySiteContributorsOptions = QuerySiteContributorsOptions;\n  const identityV1Contributor_universal_d_getContributorsQuota: typeof getContributorsQuota;\n  namespace identityV1Contributor_universal_d {\n    export {\n      identityV1Contributor_universal_d_Contributor as Contributor,\n      identityV1Contributor_universal_d_PersonMetaData as PersonMetaData,\n      identityV1Contributor_universal_d_Assignment as Assignment,\n      identityV1Contributor_universal_d_AssignedPolicy as AssignedPolicy,\n      identityV1Contributor_universal_d_Restriction as Restriction,\n      identityV1Contributor_universal_d_RestrictionRestrictionsOneOf as RestrictionRestrictionsOneOf,\n      identityV1Contributor_universal_d_Resource as Resource,\n      identityV1Contributor_universal_d_ResourceType as ResourceType,\n      identityV1Contributor_universal_d_Conditions as Conditions,\n      identityV1Contributor_universal_d_Condition as Condition,\n      identityV1Contributor_universal_d_ConditionAttributeType as ConditionAttributeType,\n      identityV1Contributor_universal_d_SiteRestriction as SiteRestriction,\n      identityV1Contributor_universal_d_CompanionResource as CompanionResource,\n      identityV1Contributor_universal_d_Subject as Subject,\n      identityV1Contributor_universal_d_SubjectType as SubjectType,\n      identityV1Contributor_universal_d_SubjectContext as SubjectContext,\n      identityV1Contributor_universal_d_SubjectContextType as SubjectContextType,\n      identityV1Contributor_universal_d_GetAppContributorsRequest as GetAppContributorsRequest,\n      identityV1Contributor_universal_d_GetAppContributorsResponse as GetAppContributorsResponse,\n      identityV1Contributor_universal_d_AppInvite as AppInvite,\n      identityV1Contributor_universal_d_GetSiteContributorsRequest as GetSiteContributorsRequest,\n      identityV1Contributor_universal_d_GetSiteContributorsResponse as GetSiteContributorsResponse,\n      identityV1Contributor_universal_d_User as User,\n      identityV1Contributor_universal_d_Name as Name,\n      identityV1Contributor_universal_d_Team as Team,\n      identityV1Contributor_universal_d_AccountInfo as AccountInfo,\n      identityV1Contributor_universal_d_SiteInvite as SiteInvite,\n      identityV1Contributor_universal_d_InviteStatus as InviteStatus,\n      identityV1Contributor_universal_d_Policy as Policy,\n      identityV1Contributor_universal_d_PendingOwner as PendingOwner,\n      identityV1Contributor_universal_d_ContributorLimit as ContributorLimit,\n      identityV1Contributor_universal_d_PredefinedRoles as PredefinedRoles,\n      identityV1Contributor_universal_d_PredefinedRole as PredefinedRole,\n      identityV1Contributor_universal_d_Role as Role,\n      identityV1Contributor_universal_d_GetSiteContributorsV2Request as GetSiteContributorsV2Request,\n      identityV1Contributor_universal_d_GetSiteContributorsV2Response as GetSiteContributorsV2Response,\n      identityV1Contributor_universal_d_ContributorsQuota as ContributorsQuota,\n      identityV1Contributor_universal_d_ContributorsQuotaOptionsOneOf as ContributorsQuotaOptionsOneOf,\n      identityV1Contributor_universal_d_Type as Type,\n      identityV1Contributor_universal_d_LimitedOptions as LimitedOptions,\n      identityV1Contributor_universal_d_HandleSiteTransferRequest as HandleSiteTransferRequest,\n      identityV1Contributor_universal_d_HandleSiteTransferResponse as HandleSiteTransferResponse,\n      identityV1Contributor_universal_d_GetCurrentUserRolesRequest as GetCurrentUserRolesRequest,\n      identityV1Contributor_universal_d_GetCurrentUserRolesResponse as GetCurrentUserRolesResponse,\n      identityV1Contributor_universal_d_LocalizedRole as LocalizedRole,\n      identityV1Contributor_universal_d_BulkGetUserRolesOnSiteRequest as BulkGetUserRolesOnSiteRequest,\n      identityV1Contributor_universal_d_UserSubject as UserSubject,\n      identityV1Contributor_universal_d_BulkGetUserRolesOnSiteResponse as BulkGetUserRolesOnSiteResponse,\n      identityV1Contributor_universal_d_UserLocalizedRoles as UserLocalizedRoles,\n      identityV1Contributor_universal_d_BulkValidateEmailInviteEligibilityRequest as BulkValidateEmailInviteEligibilityRequest,\n      identityV1Contributor_universal_d_BulkValidateEmailInviteEligibilityResponse as BulkValidateEmailInviteEligibilityResponse,\n      identityV1Contributor_universal_d_EmailInviteEligibility as EmailInviteEligibility,\n      identityV1Contributor_universal_d_ChangeContributorRoleRequest as ChangeContributorRoleRequest,\n      identityV1Contributor_universal_d_SiteRoleAssignment as SiteRoleAssignment,\n      identityV1Contributor_universal_d_ChangeContributorRoleResponse as ChangeContributorRoleResponse,\n      identityV1Contributor_universal_d_QuerySiteContributorsRequest as QuerySiteContributorsRequest,\n      identityV1Contributor_universal_d_QuerySiteContributorsFilter as QuerySiteContributorsFilter,\n      identityV1Contributor_universal_d_FieldSet as FieldSet,\n      identityV1Contributor_universal_d_QuerySiteContributorsResponse as QuerySiteContributorsResponse,\n      identityV1Contributor_universal_d_ContributorV2 as ContributorV2,\n      identityV1Contributor_universal_d_GetContributorsQuotaRequest as GetContributorsQuotaRequest,\n      identityV1Contributor_universal_d_GetContributorsQuotaResponse as GetContributorsQuotaResponse,\n      identityV1Contributor_universal_d_getAppContributors as getAppContributors,\n      identityV1Contributor_universal_d_GetAppContributorsOptions as GetAppContributorsOptions,\n      identityV1Contributor_universal_d_getSiteContributors as getSiteContributors,\n      identityV1Contributor_universal_d_GetSiteContributorsOptions as GetSiteContributorsOptions,\n      identityV1Contributor_universal_d_getSiteContributorsV2 as getSiteContributorsV2,\n      identityV1Contributor_universal_d_GetSiteContributorsV2Options as GetSiteContributorsV2Options,\n      identityV1Contributor_universal_d_handleSiteTransfer as handleSiteTransfer,\n      identityV1Contributor_universal_d_HandleSiteTransferOptions as HandleSiteTransferOptions,\n      identityV1Contributor_universal_d_getCurrentUserRoles as getCurrentUserRoles,\n      identityV1Contributor_universal_d_GetCurrentUserRolesOptions as GetCurrentUserRolesOptions,\n      identityV1Contributor_universal_d_bulkGetUserRolesOnSite as bulkGetUserRolesOnSite,\n      identityV1Contributor_universal_d_BulkGetUserRolesOnSiteOptions as BulkGetUserRolesOnSiteOptions,\n      identityV1Contributor_universal_d_bulkValidateEmailInviteEligibility as bulkValidateEmailInviteEligibility,\n      identityV1Contributor_universal_d_BulkValidateEmailInviteEligibilityOptions as BulkValidateEmailInviteEligibilityOptions,\n      identityV1Contributor_universal_d_changeRole as changeRole,\n      identityV1Contributor_universal_d_ChangeRoleOptions as ChangeRoleOptions,\n      identityV1Contributor_universal_d_querySiteContributors as querySiteContributors,\n      identityV1Contributor_universal_d_QuerySiteContributorsOptions as QuerySiteContributorsOptions,\n      identityV1Contributor_universal_d_getContributorsQuota as getContributorsQuota,\n    };\n  }\n  \n  export { identityInvitesV1AccountInvite_universal_d as accountInvites, identityAccountV2Account_universal_d as accounts, identityV1Contributor_universal_d as contributors, identityInvitesV1SiteInvite_universal_d as siteInvites, identityRolesV1User_universal_d as users };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-premium-product-type.v1.d.ts",
      "content": "declare module \"wix-premium-product-type.v1\" {\n  /** Business proposition that holds all related products. Products maybe organized in families. */\n  interface ProductType {\n      /**\n       * ID of the product type.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Name of the product type. Only visible to customers in case the product type name isn't\n       * provided in the [Display Attributes](https://dev.wix.com/docs/rest/internal-only/premium/premium-display-manager/introduction).\n       *\n       * Max: 50 characters\n       */\n      name?: string | null;\n      /**\n       * Information about the product type\n       * [settings](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/settings/product-settings-object).\n       * Includes which billing cycles and\n       * payment options are supported, how products can be canceled,\n       * and in which situations customers get notified.\n       * Used as deafult for all product families and products belonging to the type,\n       * unless you specify `settingsOverride` for them. You may check the product's\n       * `computedSettings` to see which settings are ultimately used.\n       */\n      settings?: ProductSettings;\n      /**\n       * Revision number, which increments by 1 each time the product type is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the product type.\n       *\n       * Ignored when creating a product type.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the product type was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the product type was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  /**\n   * The `productSettings` object contains information about which billing cycles\n   * and payment methods are supported, as well as the cancelation policy and\n   * customer notifications. You may, but you don't have to create settings for a\n   * product. If you don't, the settings are inherited from the product family (or\n   * the type if the family has no settings either). If you create settings\n   * for a product, they override the settings of the type and family.\n   */\n  interface ProductSettings extends ProductSettingsCancellationPolicyOptionsOneOf, ProductSettingsNotificationsConfigurationOptionsOneOf, ProductSettingsSupportedPaymentConfigurationOptionsOneOf, ProductSettingsCompatibleCyclesConfigurationOptionsOneOf, ProductSettingsFreeTrialConfigurationOptionsOneOf {\n      /**\n       * Information about the subscription's refund policy. Available only when\n       * `cancellationPolicy` is set to `OFFICIAL_MONEY_BACK_POLICY`.\n       */\n      officialMoneyBackPolicyOptions?: OfficialMoneyBackPolicy;\n      /**\n       * Events for which the customer receives notifications.\n       * Available only when `notificationsConfiguration` is set to\n       * `NOTIFICATION_SETTINGS`.\n       */\n      notificationSettingsOptions?: NotificationSettings;\n      /**\n       * Information about the payment methods the customer can use. Available only\n       * when `supported_payment_configuration` is set to `SUPPORTED_PAYMENT_TYPES`.\n       * Specified payment methods may not be available to the customer if they\n       * aren't supported for the given currency and country code.\n       */\n      supportedPaymentTypesOptions?: RestrictingPaymentFilter;\n      /**\n       * Information about the billing cycles the customer can choose. Available only\n       * when `compatible_cycles_configuration` is set to `COMPATIBLE_CYCLES`.\n       */\n      compatibleCyclesOptions?: CompatibleCycles;\n      /**\n       * Configuration of the free trial policy for the product. Available only\n       * when `freeTrialConfiguration` is set to `FREE_TRIAL`.\n       */\n      freeTrialOptions?: FreeTrialOptions;\n      /**\n       * Cancelation policy for the product, product family, or product type.\n       *\n       * - `INHERIT_CANCELLATION_POLICY`: The customer may cancel a subscription according to the family's or type's cancelation policy.\n       * - `NO_MONEY_BACK`: The customer can't cancel a subscription to receive a refund. They may choose to not renew the subscription effective for the next billing cycle.\n       * - `OFFICIAL_MONEY_BACK_POLICY`: The customer may cancel a subscription to receive a full refund during the `officialMoneyBackPolicyOptions.trialDays`.\n       */\n      cancellationPolicy?: CancellationPolicy;\n      /**\n       * Events for which the customer receives notifications.\n       * Notifications are sent using the [Ping API](https://dev.wix.com/docs/rest/api-reference/wix-notifications/notifications/introduction).\n       *\n       * + `INHERIT_NOTIFICATION_POLICY`: The customer receives notifications according to the family's or type's notification settings.\n       * + `NO_NOTIFICATIONS`: The customer doesn't receive any notifications.\n       * + `NOTIFICATION_SETTINGS`: The customer receives notifications for the events specified in the `notification_settings_options`.\n       */\n      notificationsConfiguration?: NotificationsConfiguration;\n      /**\n       * Information about which payment methods are supported. Payment methods are\n       * automatically filtered based on the currency and the country code.\n       *\n       * + `INHERIT_SUPPORTED_PAYMENT_CONFIGURATION`: The customer can use any payment method specified in the family's or type's payment settings.\n       * + `SUPPORTED_PAYMENT_TYPES`: The customer can use any payment method specified in the `supportedPaymentConfiguration`.\n       * + `ALL_TYPES`: The customer can pay with any payment method.\n       */\n      supportedPaymentConfiguration?: SupportedPaymentConfiguration;\n      /**\n       * Information about which billing cycles are supported.\n       *\n       * + `INHERIT_COMPATIBLE_CYCLES_CONFIGURATION`: The customer can choose any billing cycle specified in the family's or type's settings.\n       * + `COMPATIBLE_CYCLES`: The customer can choose any billing cycle specified in the `compatible_cycles_options`.\n       * + `ALL_CYCLES`: The customer can choose any billing cycle.\n       *\n       * Default: `INHERIT_COMPATIBLE_CYCLES_CONFIGURATION`\n       */\n      compatibleCyclesConfiguration?: CompatibleCyclesConfiguration;\n      /**\n       * Information about what customers may do with the product instance.\n       *\n       * Default: The settings of the family or type apply.\n       */\n      allowedActions?: SubscriptionActions;\n      /**\n       * Information about whether the product is associated with a Wix account or a\n       * Wix site, and whether multiple instances of the same product can be assigned\n       * to the same account or site.\n       */\n      contextCapabilities?: ContextCapabilities;\n      /**\n       * Information about whether customers may change the billing cycle at the end\n       * of the current cycle.\n       *\n       * Default: The settings of the family or type apply.\n       */\n      allowedSubscriptionChanges?: SubscriptionChanges;\n      /**\n       * Configuration of the free trial policy for the product.\n       * + `INHERIT_FREE_TRIAL_CONFIGURATION`: The customer may use a free trial according to the family's or type's free trial settings.\n       * + `NO_FREE_TRIAL`: The customer can't use a free trial.\n       * + `FREE_TRIAL`: The customer may use a free trial according to the `free_trial_options`.\n       */\n      freeTrialConfiguration?: FreeTrialConfiguration;\n      /** dealer placements */\n      placements?: Placements;\n      /** purchase prerequisites */\n      purchasePrerequisites?: PurchasePrerequisites;\n  }\n  /** @oneof */\n  interface ProductSettingsCancellationPolicyOptionsOneOf {\n      /**\n       * Information about the subscription's refund policy. Available only when\n       * `cancellationPolicy` is set to `OFFICIAL_MONEY_BACK_POLICY`.\n       */\n      officialMoneyBackPolicyOptions?: OfficialMoneyBackPolicy;\n  }\n  /** @oneof */\n  interface ProductSettingsNotificationsConfigurationOptionsOneOf {\n      /**\n       * Events for which the customer receives notifications.\n       * Available only when `notificationsConfiguration` is set to\n       * `NOTIFICATION_SETTINGS`.\n       */\n      notificationSettingsOptions?: NotificationSettings;\n  }\n  /** @oneof */\n  interface ProductSettingsSupportedPaymentConfigurationOptionsOneOf {\n      /**\n       * Information about the payment methods the customer can use. Available only\n       * when `supported_payment_configuration` is set to `SUPPORTED_PAYMENT_TYPES`.\n       * Specified payment methods may not be available to the customer if they\n       * aren't supported for the given currency and country code.\n       */\n      supportedPaymentTypesOptions?: RestrictingPaymentFilter;\n  }\n  /** @oneof */\n  interface ProductSettingsCompatibleCyclesConfigurationOptionsOneOf {\n      /**\n       * Information about the billing cycles the customer can choose. Available only\n       * when `compatible_cycles_configuration` is set to `COMPATIBLE_CYCLES`.\n       */\n      compatibleCyclesOptions?: CompatibleCycles;\n  }\n  /** @oneof */\n  interface ProductSettingsFreeTrialConfigurationOptionsOneOf {\n      /**\n       * Configuration of the free trial policy for the product. Available only\n       * when `freeTrialConfiguration` is set to `FREE_TRIAL`.\n       */\n      freeTrialOptions?: FreeTrialOptions;\n  }\n  enum CancellationPolicy {\n      INHERIT_CANCELLATION_POLICY = \"INHERIT_CANCELLATION_POLICY\",\n      NO_MONEY_BACK = \"NO_MONEY_BACK\",\n      OFFICIAL_MONEY_BACK_POLICY = \"OFFICIAL_MONEY_BACK_POLICY\"\n  }\n  /** User may cancel the subscription during the trial period defined below and get *full refund* for the purchase. */\n  interface OfficialMoneyBackPolicy {\n      /**\n       * Number of days during which the customer may cancel the subscription and\n       * receive a full refund.\n       */\n      trialDays?: number;\n  }\n  enum NotificationsConfiguration {\n      INHERIT_NOTIFICATION_CONFIGURATION = \"INHERIT_NOTIFICATION_CONFIGURATION\",\n      NO_NOTIFICATIONS = \"NO_NOTIFICATIONS\",\n      NOTIFICATION_SETTINGS = \"NOTIFICATION_SETTINGS\"\n  }\n  interface NotificationSettings {\n      /**\n       * Information about the\n       * [Ping messages](https://dev.wix.com/docs/rest/internal-only/premium/premium-product-catalog-v2/ping-notifications)\n       * that are sent to the customer, including for which events they're sent.\n       * Learn more about [how to set up your templates](https://dev.wix.com/docs/rest/internal-only/premium/premium-product-catalog-v2/ping-notifications)\n       * in coordination with Email Marketing.\n       */\n      templateSettings?: NotificationTemplateSettings[];\n  }\n  interface NotificationTemplateSettings {\n      /**\n       * Event that triggers sending the notification. Learn more about the\n       * [supported notification types](https://dev.wix.com/docs/rest/internal-only/premium/premium-product-catalog-v2/ping-notifications#supported-notification-types-and-parameters).\n       */\n      notificationType?: NotificationTypes;\n      /**\n       * Name of your\n       * [Ping template](https://dev.wix.com/docs/rest/api-reference/wix-notifications/notifications/creating-a-notification-template)\n       * used for this notification type.\n       *\n       * Min: 2 characters\n       * Max: 50 characters (Ping template service DB limitation)\n       */\n      pingTemplateId?: string;\n      /** List of events that resolve the original notification. */\n      resolvedBy?: NotificationResolver[];\n      /**\n       * List of scheduled notifications. Scheduled notifications aren't sent\n       * outside the specified schedule. If an event happens during the forbidden\n       * time period, the message is sent at the bigging of the next allowed period.\n       * For example, this prevents that customers receive notifications in the\n       * middle of the night or on the weekend.\n       */\n      scheduledNotifications?: ScheduledNotification[];\n  }\n  enum NotificationTypes {\n      /** TODO add validation */\n      UNKNOWN = \"UNKNOWN\",\n      /**\n       * Notification when a subscription is created.\n       * See `InitialPurchaseParams` for list of available parameters\n       */\n      CREATED = \"CREATED\",\n      /**\n       * Notification when a subscription is about to be renewed\n       * Only applicable for subscriptions with auto-recurring _enabled_.\n       * Number of days before actual renewal to trigger this notification is configured in SBS.\n       * See `NearRenewalParams` for list of available parameters\n       */\n      ABOUT_TO_BE_RENEWED = \"ABOUT_TO_BE_RENEWED\",\n      /**\n       * Notification when a subscription is about to be expired.\n       * Only applicable for subscriptions with auto-recurring _disabled_.\n       * Number of days before actual renewal to trigger this notification is configured in SBS.\n       * See `NearExpirationParams` for list of available parameters\n       */\n      ABOUT_TO_EXPIRE = \"ABOUT_TO_EXPIRE\",\n      /**\n       * Notification when a *recurring* charge has succeeded.\n       * This event means that the subscription has been extended for an additional cycle.\n       * See `RecurringChargeSuccessParams` for list of available parameters\n       */\n      RECURRING_SUCCESS = \"RECURRING_SUCCESS\",\n      /**\n       * Notification when the auto-recurring is disabled\n       * See `AutoRenewOffParams` for list of available parameters\n       */\n      AUTO_RENEW_TURNED_OFF = \"AUTO_RENEW_TURNED_OFF\",\n      /**\n       * Notification when a subscription is cancelled by the user.\n       * See `CancelImmediateByUserParams` for list of available parameters\n       */\n      CANCELLED_BY_USER = \"CANCELLED_BY_USER\",\n      /**\n       * Notification when the subscription is cancelled due to payment problems\n       * See `CancelDueToPaymentProblemsParams` for list of available parameters\n       */\n      CANCELLED_PAYMENT_PROBLEMS = \"CANCELLED_PAYMENT_PROBLEMS\",\n      /**\n       * Notification when there is no active billing account for the subscription\n       * See `NoActiveBillingAccountParams` for list of available parameters\n       */\n      NO_ACTIVE_BILLING_ACCOUNT = \"NO_ACTIVE_BILLING_ACCOUNT\",\n      /**\n       * Notification when a *recurring* charge has failed (there are several attempts before giving up and cancelling the subscription).\n       * See `ChargeFailureParams` for list of available parameters\n       */\n      CHARGE_FAILURE = \"CHARGE_FAILURE\",\n      /**\n       * Notification when there has been a charge back\n       * See `ChargebackParams` for list of available parameters\n       */\n      CHARGEBACK = \"CHARGEBACK\",\n      /**\n       * Notification for manual recurring reminder.\n       * Only applicable for subscriptions that have manual payment methods\n       * See `ManualRecurringReminderParams` for list of available parameters\n       */\n      MANUAL_RECURRING_REMINDER = \"MANUAL_RECURRING_REMINDER\",\n      /**\n       * Notification when waiting for offline payment.\n       * Only applicable for SEPA payment methods when invoice status is \"PAYMENT_IN_PROGRESS\"\n       * See `OfflinePaymentParams` for list of available parameters\n       */\n      OFFLINE_PAYMENT = \"OFFLINE_PAYMENT\",\n      /**\n       * Notification when switching the contract of a subscription\n       * See `SwitchContractParams` for list of available parameters\n       */\n      SWITCH_CONTRACT = \"SWITCH_CONTRACT\",\n      /**\n       * Notification when SBS service was transferred to a different owner\n       * See `TransferServiceParams` for list of available parameters\n       */\n      TRANSFER_SERVICE = \"TRANSFER_SERVICE\",\n      /**\n       * Notification when Ping alert has been dismissed by the user: used to resolve existing\n       * Ping notifications for a subscription\n       */\n      ALERT_DISMISSED = \"ALERT_DISMISSED\",\n      /** Notification when a pending change was requested for a subscription */\n      PENDING_CHANGE_REQUESTED = \"PENDING_CHANGE_REQUESTED\",\n      /**\n       * Notification when a pending change was applied,\n       * sent on a recurring success after the subscription had a pending change (which was applied)\n       */\n      PENDING_CHANGE_APPLIED = \"PENDING_CHANGE_APPLIED\",\n      /**\n       * Notification on near renewal when there is a pending change,\n       * sent on near renewal when there is a pending change (which will be applied)\n       */\n      PENDING_CHANGE_NEAR_RENEWAL = \"PENDING_CHANGE_NEAR_RENEWAL\",\n      /**\n       * Notification when the auto-recurring is enabled\n       * See `AutoRenewOnParams` for list of available parameters\n       */\n      AUTO_RENEW_TURNED_ON = \"AUTO_RENEW_TURNED_ON\",\n      /**\n       * Notification when doing a price increase\n       * See `PriceIncreaseParams` for list of available parameters\n       */\n      PRICE_INCREASE = \"PRICE_INCREASE\",\n      /**\n       * Notification when subscription expired (cancelled and autorenew is off)\n       * See `SubscriptionExpirationParams` for list of available parameters\n       */\n      SUBSCRIPTION_EXPIRATION = \"SUBSCRIPTION_EXPIRATION\"\n  }\n  interface NotificationResolver {\n      /**\n       * The events that resolve the original notification. See\n       * [supported notification types](https://dev.wix.com/docs/rest/internal-only/premium/premium-product-catalog-v2/ping-notifications#supported-notification-types-and-parameters)\n       * for more information about the trigger event and which Ping parameters\n       * you can use in your emails for each type.\n       */\n      notificationType?: NotificationTypes;\n  }\n  interface ScheduledNotification {\n      /**\n       * Name of your\n       * [Ping template](https://dev.wix.com/docs/rest/api-reference/wix-notifications/notifications/creating-a-notification-template)\n       * used for this scheduled notification.\n       *\n       * Min: 2 characters\n       * Max: 50 characters (Ping template service DB limitation)\n       */\n      scheduledPingTemplateId?: string;\n      /**\n       * Information about the time periods during which notifications can be sent to\n       * the customer. The times are based on the time zone that belongs to the\n       * corresponding subscription's\n       * [billing adress](https://dev.wix.com/docs/rest/internal-only/premium/subscriptions-by-billing-by-wix/subscription-object).\n       */\n      schedule?: TimeRangeSchedule;\n  }\n  interface TimeRangeSchedule {\n      /**\n       * Day of the week that starts the supported time frame. For example, `MONDAY`\n       * if you want to sent notifications to customers from Monday to Friday, but\n       * not on Saturday or Sunday.\n       */\n      startOfWeek?: ScheduledDay;\n      /**\n       * Day of the week that ends the supported time frame. For example, `FRIDAY`\n       * if you want to sent notifications to customers from Monday to Friday, but\n       * not on Saturday or Sunday.\n       */\n      endOfWeek?: ScheduledDay;\n      /**\n       * Earliest time the event's message is sent to the customer. For example,\n       * `7` if you don't want to send emails to customers before 7 AM. If an event\n       * that triggers a customer notification happens before 7 AM, the notification\n       * is sent at 7 AM on the next supported day.\n       *\n       * Min: `0`\n       * Max: `23`\n       */\n      workingHoursStart?: number;\n      /**\n       * Latest time the event's message is sent to the customer. For example,\n       * `21` if you don't want to send emails to customers after 9 PM. If an event\n       * that triggers a customer notification happens after 9 PM, the notification\n       * is sent when the next supported time period begins.\n       *\n       * Min: `0`\n       * Max: `23`\n       */\n      workingHoursEnd?: number;\n  }\n  enum ScheduledDay {\n      UNKNOWN = \"UNKNOWN\",\n      SUNDAY = \"SUNDAY\",\n      MONDAY = \"MONDAY\",\n      TUESDAY = \"TUESDAY\",\n      WEDNESDAY = \"WEDNESDAY\",\n      THURSDAY = \"THURSDAY\",\n      FRIDAY = \"FRIDAY\",\n      SATURDAY = \"SATURDAY\"\n  }\n  enum SupportedPaymentConfiguration {\n      INHERIT_SUPPORTED_PAYMENT_CONFIGURATION = \"INHERIT_SUPPORTED_PAYMENT_CONFIGURATION\",\n      SUPPORTED_PAYMENT_TYPES = \"SUPPORTED_PAYMENT_TYPES\",\n      ALL_TYPES = \"ALL_TYPES\"\n  }\n  interface RestrictingPaymentFilter {\n      /** List of all supported payment methods. */\n      paymentFilters?: PaymentFilters;\n  }\n  interface PaymentFilters {\n      /** please add to list the payment types only if you want to limit the options of payments in checkout. */\n      paymentType?: PaymentType[];\n  }\n  enum PaymentType {\n      /** fallback value */\n      UNKNOWN = \"UNKNOWN\",\n      /** allow recurring payments */\n      RECURRING = \"RECURRING\",\n      /** real time answer of transaction */\n      REAL_TIME = \"REAL_TIME\"\n  }\n  enum CompatibleCyclesConfiguration {\n      INHERIT_COMPATIBLE_CYCLES_CONFIGURATION = \"INHERIT_COMPATIBLE_CYCLES_CONFIGURATION\",\n      COMPATIBLE_CYCLES = \"COMPATIBLE_CYCLES\",\n      ALL_CYCLES = \"ALL_CYCLES\"\n  }\n  interface CompatibleCycles {\n      /** List of all supported billing cycles. */\n      cycles?: Cycle[];\n  }\n  interface Cycle extends CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  /** @oneof */\n  interface CycleCycleSelectorOneOf {\n      /** repetitive interval */\n      interval?: Interval;\n      /** one time */\n      oneTime?: OneTime;\n  }\n  interface Interval {\n      /** interval unit of measure */\n      unit?: IntervalUnit;\n      /** number of interval */\n      count?: number;\n  }\n  enum IntervalUnit {\n      /** unknown interval unit */\n      UNKNOWN = \"UNKNOWN\",\n      /** day */\n      DAY = \"DAY\",\n      /** week */\n      WEEK = \"WEEK\",\n      /** month */\n      MONTH = \"MONTH\",\n      /** year */\n      YEAR = \"YEAR\"\n  }\n  interface OneTime {\n  }\n  interface SubscriptionActions {\n      /**\n       * Whether the customer can transfer the subscription to another account.\n       * If set to `true`, `allowDisconnectFromContext` must be set to `true`\n       * as well.\n       *\n       * Default: `false`\n       */\n      allowTransferToAnotherAccount?: boolean | null;\n      /**\n       * Whether the customer can disconnect the subscription from the Wix account or\n       * site. If set to `true`, `allowConnectToAnotherContext` must be set to `true`\n       * as well.\n       *\n       * Default: `false`\n       */\n      allowDisconnectFromContext?: boolean | null;\n      /**\n       * Whether the customer can set the subscription's renewal status to `false`.\n       * Applies only when the subscription's payment method is set to `recurring`.\n       *\n       * Default: `false`\n       */\n      disallowAutoRenewOff?: boolean | null;\n      /**\n       * Whether the customer can connect the subscription to another Wix account or\n       * site. Must be `true` when `allow_disconnect_from_context` is set to `true`.\n       *\n       * Default: `false`\n       */\n      allowConnectToAnotherContext?: boolean | null;\n  }\n  interface ContextCapabilities {\n      /**\n       * Whether you can assign multiple subscriptions for the same product to\n       * a single Wix account or site.\n       *\n       * Default: `false`\n       */\n      allowMultiples?: boolean | null;\n      /**\n       * Information about the owner of the subscription.\n       *\n       * + `ACCOUNT`: The subscription for the product belongs to a Wix account. Accounts can never hold more than a single subscription for each product.\n       * + `SITE`: The subscription for the product belongs to a Wix site. There may be multiple susbcriptions for the same product assigned to the same site, depending on the product's `contextCapabilities.allowMultiples`. When a product instance is unassigned from a site but not assigned to another site, it's floating and still belongs to the Wix account holding the original site.\n       */\n      primaryContext?: Context;\n  }\n  enum Context {\n      UNKNOWN = \"UNKNOWN\",\n      ACCOUNT = \"ACCOUNT\",\n      SITE = \"SITE\"\n  }\n  interface SubscriptionChanges {\n      /**\n       * Whether the customer can change the billing cycle of the subscription at the\n       * end of the current cycle.\n       */\n      allowChangeCycleEop?: boolean | null;\n  }\n  enum FreeTrialConfiguration {\n      INHERIT_FREE_TRIAL_CONFIGURATION = \"INHERIT_FREE_TRIAL_CONFIGURATION\",\n      NO_FREE_TRIAL = \"NO_FREE_TRIAL\",\n      FREE_TRIAL = \"FREE_TRIAL\"\n  }\n  interface FreeTrialOptions {\n      /** Number of days during which the customer may use the product for free. */\n      duration?: Interval;\n  }\n  interface Placements {\n      /** offering placement id setting of the product type */\n      offeringPlacementId?: string;\n      /** sale placement id setting of the product type */\n      salePlacementId?: string | null;\n      /** list of discount placement ids of the product type */\n      discountPlacementIds?: string[];\n  }\n  interface PurchasePrerequisites {\n      /**\n       * purchase allowed only if the customer owns the domain of the product scope\n       * purchase will also allowed if the domain bought in the same purchase\n       */\n      hasDomain?: boolean | null;\n  }\n  interface CreateProductTypeRequest {\n      /** Product type to create. */\n      productType: ProductType;\n  }\n  interface CreateProductTypeResponse {\n      /** Created product type. */\n      productType?: ProductType;\n  }\n  interface GetProductTypeRequest {\n      /** ID of the product type to retrieve. */\n      productTypeId: string;\n  }\n  interface GetProductTypeResponse {\n      /** Retrieved product type. */\n      productType?: ProductType;\n  }\n  interface UpdateProductTypeRequest {\n      /** Product type to update. */\n      productType: ProductType;\n      /**\n       * Fields to update. Fields not specified here remain as they are.\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateProductTypeResponse {\n      /** Updated product type. */\n      productType?: ProductType;\n  }\n  interface QueryProductTypeRequest {\n      /** Information about filters, paging, and sorting. */\n      query?: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryProductTypeResponse {\n      /** Retrieved product types. */\n      productTypes?: ProductType[];\n      /** Pagination metadata. */\n      pagingMetadata?: PagingMetadataV2;\n  }\n  interface PagingMetadataV2 {\n      /** Number of items returned in the response. */\n      count?: number | null;\n      /** Offset that was requested. */\n      offset?: number | null;\n      /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n      total?: number | null;\n      /** Flag that indicates the server failed to calculate the `total` field. */\n      tooManyToCount?: boolean | null;\n      /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n      cursors?: Cursors;\n      /**\n       * Indicates if there are more results after the current page.\n       * If `true`, another page of results can be retrieved.\n       * If `false`, this is the last page.\n       * @internal\n       */\n      hasNext?: boolean | null;\n  }\n  interface Cursors {\n      /** Cursor string pointing to the next page in the list of results. */\n      next?: string | null;\n      /** Cursor pointing to the previous page in the list of results. */\n      prev?: string | null;\n  }\n  interface DeleteProductTypeRequest {\n      /** ID of the product type to delete. */\n      productTypeId: string;\n      /** Revision of the product type to delete. */\n      revision?: string;\n  }\n  interface DeleteProductTypeResponse {\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and previous values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  /**\n   * Creates a product type.\n   *\n   *\n   * You must create the product type first, before you can create products or\n   * product families.\n   *\n   * The `settings` are used as defaults for all contained products and families.\n   * They can be overridden with the relevant `settingsOverride` objects.\n   * @param productType - Product type to create.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField productType\n   * @requiredField productType.name\n   * @requiredField productType.settings\n   * @permissionId PREMIUM.PRODUCT_CATALOG_CREATE_PRODUCT_TYPE\n   * @adminMethod\n   */\n  function createProductType(productType: ProductType): Promise<CreateProductTypeResponse>;\n  /**\n   * Retrieves a product type.\n   * @param productTypeId - ID of the product type to retrieve.\n   * @public\n   * @documentationMaturity preview\n   * @requiredField productTypeId\n   * @permissionId PREMIUM.PRODUCT_CATALOG_READ_PRODUCT_TYPE\n   * @adminMethod\n   */\n  function getProductType(productTypeId: string): Promise<GetProductTypeResponse>;\n  /**\n   * Partially updates a product type.\n   *\n   *\n   * Only the field specified in `mask.paths` array are updated, the other fields\n   * remain as they are.\n   *\n   *\n   * Updating the `settings` for a type triggers a recalculation of all relevant\n   * product settings.\n   * @param _id - ID of the product type.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField _id\n   * @requiredField productType\n   * @requiredField productType.revision\n   * @requiredField productType.settings\n   * @permissionId PREMIUM.PRODUCT_CATALOG_UPDATE_PRODUCT_TYPE\n   * @adminMethod\n   */\n  function updateProductType(_id: string | null, productType: UpdateProductType, options?: UpdateProductTypeOptions): Promise<UpdateProductTypeResponse>;\n  interface UpdateProductType {\n      /**\n       * ID of the product type.\n       * @readonly\n       */\n      _id?: string | null;\n      /**\n       * Name of the product type. Only visible to customers in case the product type name isn't\n       * provided in the [Display Attributes](https://dev.wix.com/docs/rest/internal-only/premium/premium-display-manager/introduction).\n       *\n       * Max: 50 characters\n       */\n      name?: string | null;\n      /**\n       * Information about the product type\n       * [settings](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/settings/product-settings-object).\n       * Includes which billing cycles and\n       * payment options are supported, how products can be canceled,\n       * and in which situations customers get notified.\n       * Used as deafult for all product families and products belonging to the type,\n       * unless you specify `settingsOverride` for them. You may check the product's\n       * `computedSettings` to see which settings are ultimately used.\n       */\n      settings?: ProductSettings;\n      /**\n       * Revision number, which increments by 1 each time the product type is updated.\n       * To prevent conflicting changes,\n       * the current revision must be passed when updating the product type.\n       *\n       * Ignored when creating a product type.\n       */\n      revision?: string | null;\n      /**\n       * Date and time the product type was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * Date and time the product type was updated.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n  }\n  interface UpdateProductTypeOptions {\n      /**\n       * Fields to update. Fields not specified here remain as they are.\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Retrieves a list of product types, given the provided paging, filtering, and sorting.\n   *\n   *\n   * Query Product Type runs with these defaults, which you can override:\n   *\n   * - `id` is sorted in `ASC` order\n   * - `cursorPaging.limit` is `200`\n   *\n   * You can check the overview about all\n   * [supported filters](https://bo.wix.com/wix-docs/rest/premium/premium-product-catalog-v2/supported-filters#premium_premium-product-catalog-v2_supported-filters_query-product-type---supported-filters)\n   * for more information.\n   *\n   * To learn about working with _Query_ endpoints, see\n   * [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),\n   * [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),\n   * and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).\n   * @public\n   * @documentationMaturity preview\n   * @permissionId PREMIUM.PRODUCT_CATALOG_QUERY_PRODUCT_TYPE\n   * @adminMethod\n   */\n  function queryProductType(options?: QueryProductTypeOptions): Promise<QueryProductTypeResponse>;\n  interface QueryProductTypeOptions {\n      /** Information about filters, paging, and sorting. */\n      query?: QueryV2;\n  }\n  /**\n   * Deletes a product type.\n   *\n   *\n   * Currently, there is no validation that prevents deleting a product type that\n   * includes `PUBLISHED` products. Contact the\n   * [Premium team](mailto:tald@wix.com)\n   * in case you inadvertently delete a type with active products.\n   *\n   * If you pass an outdated `revision` the product type isn't deleted.\n   * @param productTypeId - ID of the product type to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField productTypeId\n   * @permissionId PREMIUM.PRODUCT_CATALOG_DELETE_PRODUCT_TYPE\n   * @adminMethod\n   */\n  function deleteProductType(productTypeId: string, options?: DeleteProductTypeOptions): Promise<void>;\n  interface DeleteProductTypeOptions {\n      /** Revision of the product type to delete. */\n      revision?: string;\n  }\n  \n  type premiumProductCatalogV2ProductType_universal_d_ProductType = ProductType;\n  type premiumProductCatalogV2ProductType_universal_d_ProductSettings = ProductSettings;\n  type premiumProductCatalogV2ProductType_universal_d_ProductSettingsCancellationPolicyOptionsOneOf = ProductSettingsCancellationPolicyOptionsOneOf;\n  type premiumProductCatalogV2ProductType_universal_d_ProductSettingsNotificationsConfigurationOptionsOneOf = ProductSettingsNotificationsConfigurationOptionsOneOf;\n  type premiumProductCatalogV2ProductType_universal_d_ProductSettingsSupportedPaymentConfigurationOptionsOneOf = ProductSettingsSupportedPaymentConfigurationOptionsOneOf;\n  type premiumProductCatalogV2ProductType_universal_d_ProductSettingsCompatibleCyclesConfigurationOptionsOneOf = ProductSettingsCompatibleCyclesConfigurationOptionsOneOf;\n  type premiumProductCatalogV2ProductType_universal_d_ProductSettingsFreeTrialConfigurationOptionsOneOf = ProductSettingsFreeTrialConfigurationOptionsOneOf;\n  type premiumProductCatalogV2ProductType_universal_d_CancellationPolicy = CancellationPolicy;\n  const premiumProductCatalogV2ProductType_universal_d_CancellationPolicy: typeof CancellationPolicy;\n  type premiumProductCatalogV2ProductType_universal_d_OfficialMoneyBackPolicy = OfficialMoneyBackPolicy;\n  type premiumProductCatalogV2ProductType_universal_d_NotificationsConfiguration = NotificationsConfiguration;\n  const premiumProductCatalogV2ProductType_universal_d_NotificationsConfiguration: typeof NotificationsConfiguration;\n  type premiumProductCatalogV2ProductType_universal_d_NotificationSettings = NotificationSettings;\n  type premiumProductCatalogV2ProductType_universal_d_NotificationTemplateSettings = NotificationTemplateSettings;\n  type premiumProductCatalogV2ProductType_universal_d_NotificationTypes = NotificationTypes;\n  const premiumProductCatalogV2ProductType_universal_d_NotificationTypes: typeof NotificationTypes;\n  type premiumProductCatalogV2ProductType_universal_d_NotificationResolver = NotificationResolver;\n  type premiumProductCatalogV2ProductType_universal_d_ScheduledNotification = ScheduledNotification;\n  type premiumProductCatalogV2ProductType_universal_d_TimeRangeSchedule = TimeRangeSchedule;\n  type premiumProductCatalogV2ProductType_universal_d_ScheduledDay = ScheduledDay;\n  const premiumProductCatalogV2ProductType_universal_d_ScheduledDay: typeof ScheduledDay;\n  type premiumProductCatalogV2ProductType_universal_d_SupportedPaymentConfiguration = SupportedPaymentConfiguration;\n  const premiumProductCatalogV2ProductType_universal_d_SupportedPaymentConfiguration: typeof SupportedPaymentConfiguration;\n  type premiumProductCatalogV2ProductType_universal_d_RestrictingPaymentFilter = RestrictingPaymentFilter;\n  type premiumProductCatalogV2ProductType_universal_d_PaymentFilters = PaymentFilters;\n  type premiumProductCatalogV2ProductType_universal_d_PaymentType = PaymentType;\n  const premiumProductCatalogV2ProductType_universal_d_PaymentType: typeof PaymentType;\n  type premiumProductCatalogV2ProductType_universal_d_CompatibleCyclesConfiguration = CompatibleCyclesConfiguration;\n  const premiumProductCatalogV2ProductType_universal_d_CompatibleCyclesConfiguration: typeof CompatibleCyclesConfiguration;\n  type premiumProductCatalogV2ProductType_universal_d_CompatibleCycles = CompatibleCycles;\n  type premiumProductCatalogV2ProductType_universal_d_Cycle = Cycle;\n  type premiumProductCatalogV2ProductType_universal_d_CycleCycleSelectorOneOf = CycleCycleSelectorOneOf;\n  type premiumProductCatalogV2ProductType_universal_d_Interval = Interval;\n  type premiumProductCatalogV2ProductType_universal_d_IntervalUnit = IntervalUnit;\n  const premiumProductCatalogV2ProductType_universal_d_IntervalUnit: typeof IntervalUnit;\n  type premiumProductCatalogV2ProductType_universal_d_OneTime = OneTime;\n  type premiumProductCatalogV2ProductType_universal_d_SubscriptionActions = SubscriptionActions;\n  type premiumProductCatalogV2ProductType_universal_d_ContextCapabilities = ContextCapabilities;\n  type premiumProductCatalogV2ProductType_universal_d_Context = Context;\n  const premiumProductCatalogV2ProductType_universal_d_Context: typeof Context;\n  type premiumProductCatalogV2ProductType_universal_d_SubscriptionChanges = SubscriptionChanges;\n  type premiumProductCatalogV2ProductType_universal_d_FreeTrialConfiguration = FreeTrialConfiguration;\n  const premiumProductCatalogV2ProductType_universal_d_FreeTrialConfiguration: typeof FreeTrialConfiguration;\n  type premiumProductCatalogV2ProductType_universal_d_FreeTrialOptions = FreeTrialOptions;\n  type premiumProductCatalogV2ProductType_universal_d_Placements = Placements;\n  type premiumProductCatalogV2ProductType_universal_d_PurchasePrerequisites = PurchasePrerequisites;\n  type premiumProductCatalogV2ProductType_universal_d_CreateProductTypeRequest = CreateProductTypeRequest;\n  type premiumProductCatalogV2ProductType_universal_d_CreateProductTypeResponse = CreateProductTypeResponse;\n  type premiumProductCatalogV2ProductType_universal_d_GetProductTypeRequest = GetProductTypeRequest;\n  type premiumProductCatalogV2ProductType_universal_d_GetProductTypeResponse = GetProductTypeResponse;\n  type premiumProductCatalogV2ProductType_universal_d_UpdateProductTypeRequest = UpdateProductTypeRequest;\n  type premiumProductCatalogV2ProductType_universal_d_UpdateProductTypeResponse = UpdateProductTypeResponse;\n  type premiumProductCatalogV2ProductType_universal_d_QueryProductTypeRequest = QueryProductTypeRequest;\n  type premiumProductCatalogV2ProductType_universal_d_QueryV2 = QueryV2;\n  type premiumProductCatalogV2ProductType_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;\n  type premiumProductCatalogV2ProductType_universal_d_Sorting = Sorting;\n  type premiumProductCatalogV2ProductType_universal_d_SortOrder = SortOrder;\n  const premiumProductCatalogV2ProductType_universal_d_SortOrder: typeof SortOrder;\n  type premiumProductCatalogV2ProductType_universal_d_Paging = Paging;\n  type premiumProductCatalogV2ProductType_universal_d_CursorPaging = CursorPaging;\n  type premiumProductCatalogV2ProductType_universal_d_QueryProductTypeResponse = QueryProductTypeResponse;\n  type premiumProductCatalogV2ProductType_universal_d_PagingMetadataV2 = PagingMetadataV2;\n  type premiumProductCatalogV2ProductType_universal_d_Cursors = Cursors;\n  type premiumProductCatalogV2ProductType_universal_d_DeleteProductTypeRequest = DeleteProductTypeRequest;\n  type premiumProductCatalogV2ProductType_universal_d_DeleteProductTypeResponse = DeleteProductTypeResponse;\n  type premiumProductCatalogV2ProductType_universal_d_DomainEvent = DomainEvent;\n  type premiumProductCatalogV2ProductType_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf;\n  type premiumProductCatalogV2ProductType_universal_d_EntityCreatedEvent = EntityCreatedEvent;\n  type premiumProductCatalogV2ProductType_universal_d_RestoreInfo = RestoreInfo;\n  type premiumProductCatalogV2ProductType_universal_d_EntityUpdatedEvent = EntityUpdatedEvent;\n  type premiumProductCatalogV2ProductType_universal_d_EntityDeletedEvent = EntityDeletedEvent;\n  type premiumProductCatalogV2ProductType_universal_d_ActionEvent = ActionEvent;\n  type premiumProductCatalogV2ProductType_universal_d_MessageEnvelope = MessageEnvelope;\n  type premiumProductCatalogV2ProductType_universal_d_IdentificationData = IdentificationData;\n  type premiumProductCatalogV2ProductType_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf;\n  type premiumProductCatalogV2ProductType_universal_d_WebhookIdentityType = WebhookIdentityType;\n  const premiumProductCatalogV2ProductType_universal_d_WebhookIdentityType: typeof WebhookIdentityType;\n  const premiumProductCatalogV2ProductType_universal_d_createProductType: typeof createProductType;\n  const premiumProductCatalogV2ProductType_universal_d_getProductType: typeof getProductType;\n  const premiumProductCatalogV2ProductType_universal_d_updateProductType: typeof updateProductType;\n  type premiumProductCatalogV2ProductType_universal_d_UpdateProductType = UpdateProductType;\n  type premiumProductCatalogV2ProductType_universal_d_UpdateProductTypeOptions = UpdateProductTypeOptions;\n  const premiumProductCatalogV2ProductType_universal_d_queryProductType: typeof queryProductType;\n  type premiumProductCatalogV2ProductType_universal_d_QueryProductTypeOptions = QueryProductTypeOptions;\n  const premiumProductCatalogV2ProductType_universal_d_deleteProductType: typeof deleteProductType;\n  type premiumProductCatalogV2ProductType_universal_d_DeleteProductTypeOptions = DeleteProductTypeOptions;\n  namespace premiumProductCatalogV2ProductType_universal_d {\n    export {\n      premiumProductCatalogV2ProductType_universal_d_ProductType as ProductType,\n      premiumProductCatalogV2ProductType_universal_d_ProductSettings as ProductSettings,\n      premiumProductCatalogV2ProductType_universal_d_ProductSettingsCancellationPolicyOptionsOneOf as ProductSettingsCancellationPolicyOptionsOneOf,\n      premiumProductCatalogV2ProductType_universal_d_ProductSettingsNotificationsConfigurationOptionsOneOf as ProductSettingsNotificationsConfigurationOptionsOneOf,\n      premiumProductCatalogV2ProductType_universal_d_ProductSettingsSupportedPaymentConfigurationOptionsOneOf as ProductSettingsSupportedPaymentConfigurationOptionsOneOf,\n      premiumProductCatalogV2ProductType_universal_d_ProductSettingsCompatibleCyclesConfigurationOptionsOneOf as ProductSettingsCompatibleCyclesConfigurationOptionsOneOf,\n      premiumProductCatalogV2ProductType_universal_d_ProductSettingsFreeTrialConfigurationOptionsOneOf as ProductSettingsFreeTrialConfigurationOptionsOneOf,\n      premiumProductCatalogV2ProductType_universal_d_CancellationPolicy as CancellationPolicy,\n      premiumProductCatalogV2ProductType_universal_d_OfficialMoneyBackPolicy as OfficialMoneyBackPolicy,\n      premiumProductCatalogV2ProductType_universal_d_NotificationsConfiguration as NotificationsConfiguration,\n      premiumProductCatalogV2ProductType_universal_d_NotificationSettings as NotificationSettings,\n      premiumProductCatalogV2ProductType_universal_d_NotificationTemplateSettings as NotificationTemplateSettings,\n      premiumProductCatalogV2ProductType_universal_d_NotificationTypes as NotificationTypes,\n      premiumProductCatalogV2ProductType_universal_d_NotificationResolver as NotificationResolver,\n      premiumProductCatalogV2ProductType_universal_d_ScheduledNotification as ScheduledNotification,\n      premiumProductCatalogV2ProductType_universal_d_TimeRangeSchedule as TimeRangeSchedule,\n      premiumProductCatalogV2ProductType_universal_d_ScheduledDay as ScheduledDay,\n      premiumProductCatalogV2ProductType_universal_d_SupportedPaymentConfiguration as SupportedPaymentConfiguration,\n      premiumProductCatalogV2ProductType_universal_d_RestrictingPaymentFilter as RestrictingPaymentFilter,\n      premiumProductCatalogV2ProductType_universal_d_PaymentFilters as PaymentFilters,\n      premiumProductCatalogV2ProductType_universal_d_PaymentType as PaymentType,\n      premiumProductCatalogV2ProductType_universal_d_CompatibleCyclesConfiguration as CompatibleCyclesConfiguration,\n      premiumProductCatalogV2ProductType_universal_d_CompatibleCycles as CompatibleCycles,\n      premiumProductCatalogV2ProductType_universal_d_Cycle as Cycle,\n      premiumProductCatalogV2ProductType_universal_d_CycleCycleSelectorOneOf as CycleCycleSelectorOneOf,\n      premiumProductCatalogV2ProductType_universal_d_Interval as Interval,\n      premiumProductCatalogV2ProductType_universal_d_IntervalUnit as IntervalUnit,\n      premiumProductCatalogV2ProductType_universal_d_OneTime as OneTime,\n      premiumProductCatalogV2ProductType_universal_d_SubscriptionActions as SubscriptionActions,\n      premiumProductCatalogV2ProductType_universal_d_ContextCapabilities as ContextCapabilities,\n      premiumProductCatalogV2ProductType_universal_d_Context as Context,\n      premiumProductCatalogV2ProductType_universal_d_SubscriptionChanges as SubscriptionChanges,\n      premiumProductCatalogV2ProductType_universal_d_FreeTrialConfiguration as FreeTrialConfiguration,\n      premiumProductCatalogV2ProductType_universal_d_FreeTrialOptions as FreeTrialOptions,\n      premiumProductCatalogV2ProductType_universal_d_Placements as Placements,\n      premiumProductCatalogV2ProductType_universal_d_PurchasePrerequisites as PurchasePrerequisites,\n      premiumProductCatalogV2ProductType_universal_d_CreateProductTypeRequest as CreateProductTypeRequest,\n      premiumProductCatalogV2ProductType_universal_d_CreateProductTypeResponse as CreateProductTypeResponse,\n      premiumProductCatalogV2ProductType_universal_d_GetProductTypeRequest as GetProductTypeRequest,\n      premiumProductCatalogV2ProductType_universal_d_GetProductTypeResponse as GetProductTypeResponse,\n      premiumProductCatalogV2ProductType_universal_d_UpdateProductTypeRequest as UpdateProductTypeRequest,\n      premiumProductCatalogV2ProductType_universal_d_UpdateProductTypeResponse as UpdateProductTypeResponse,\n      premiumProductCatalogV2ProductType_universal_d_QueryProductTypeRequest as QueryProductTypeRequest,\n      premiumProductCatalogV2ProductType_universal_d_QueryV2 as QueryV2,\n      premiumProductCatalogV2ProductType_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf,\n      premiumProductCatalogV2ProductType_universal_d_Sorting as Sorting,\n      premiumProductCatalogV2ProductType_universal_d_SortOrder as SortOrder,\n      premiumProductCatalogV2ProductType_universal_d_Paging as Paging,\n      premiumProductCatalogV2ProductType_universal_d_CursorPaging as CursorPaging,\n      premiumProductCatalogV2ProductType_universal_d_QueryProductTypeResponse as QueryProductTypeResponse,\n      premiumProductCatalogV2ProductType_universal_d_PagingMetadataV2 as PagingMetadataV2,\n      premiumProductCatalogV2ProductType_universal_d_Cursors as Cursors,\n      premiumProductCatalogV2ProductType_universal_d_DeleteProductTypeRequest as DeleteProductTypeRequest,\n      premiumProductCatalogV2ProductType_universal_d_DeleteProductTypeResponse as DeleteProductTypeResponse,\n      premiumProductCatalogV2ProductType_universal_d_DomainEvent as DomainEvent,\n      premiumProductCatalogV2ProductType_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf,\n      premiumProductCatalogV2ProductType_universal_d_EntityCreatedEvent as EntityCreatedEvent,\n      premiumProductCatalogV2ProductType_universal_d_RestoreInfo as RestoreInfo,\n      premiumProductCatalogV2ProductType_universal_d_EntityUpdatedEvent as EntityUpdatedEvent,\n      premiumProductCatalogV2ProductType_universal_d_EntityDeletedEvent as EntityDeletedEvent,\n      premiumProductCatalogV2ProductType_universal_d_ActionEvent as ActionEvent,\n      premiumProductCatalogV2ProductType_universal_d_MessageEnvelope as MessageEnvelope,\n      premiumProductCatalogV2ProductType_universal_d_IdentificationData as IdentificationData,\n      premiumProductCatalogV2ProductType_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf,\n      premiumProductCatalogV2ProductType_universal_d_WebhookIdentityType as WebhookIdentityType,\n      premiumProductCatalogV2ProductType_universal_d_createProductType as createProductType,\n      premiumProductCatalogV2ProductType_universal_d_getProductType as getProductType,\n      premiumProductCatalogV2ProductType_universal_d_updateProductType as updateProductType,\n      premiumProductCatalogV2ProductType_universal_d_UpdateProductType as UpdateProductType,\n      premiumProductCatalogV2ProductType_universal_d_UpdateProductTypeOptions as UpdateProductTypeOptions,\n      premiumProductCatalogV2ProductType_universal_d_queryProductType as queryProductType,\n      premiumProductCatalogV2ProductType_universal_d_QueryProductTypeOptions as QueryProductTypeOptions,\n      premiumProductCatalogV2ProductType_universal_d_deleteProductType as deleteProductType,\n      premiumProductCatalogV2ProductType_universal_d_DeleteProductTypeOptions as DeleteProductTypeOptions,\n    };\n  }\n  \n  export { premiumProductCatalogV2ProductType_universal_d as premiumProductCatalog };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-promote-growth-tools-design.v1.d.ts",
      "content": "declare module \"wix-promote-growth-tools-design.v1\" {\n  /** Design is the main entity of SocialMarketingDesignSPI */\n  interface Design {\n      /**\n       * External design ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Provider ID. */\n      providerId?: string;\n      /** Thumbnail of the design. deprecarted */\n      thumbnail?: string;\n      /** Media url of the design. deprecarted */\n      mediaUrl?: string;\n      /** Format of the design. deprecarted */\n      format?: Format;\n      /**\n       * The date and time the design was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * The date and time the design was last edited.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Media type of the design. deprecarted */\n      mediaType?: MediaType;\n      /** Host metadata. */\n      hostMetadata?: HostMetadata;\n      /** Thumbnail url of the design. */\n      thumbnailUrl?: string;\n      /** Media of the design */\n      media?: Media[];\n  }\n  enum Format {\n      UNKNOWN = \"UNKNOWN\",\n      SQUARE = \"SQUARE\",\n      PORTRAIT = \"PORTRAIT\",\n      LANDSCAPE = \"LANDSCAPE\"\n  }\n  enum MediaType {\n      UNKNOWN = \"UNKNOWN\",\n      IMAGE = \"IMAGE\",\n      VIDEO = \"VIDEO\",\n      GIF = \"GIF\"\n  }\n  interface HostMetadata {\n      /**\n       * Internal database ID of the design.\n       * @readonly\n       */\n      internalId?: string;\n      /**\n       * Represents the current state of an item. Each time the item is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision.\n       * @readonly\n       */\n      revision?: string | null;\n  }\n  interface Media {\n      /** Url of the media item. */\n      url?: string;\n      /** Type of the media item. */\n      type?: MediaType;\n      /** Format of the media item. */\n      format?: Format;\n  }\n  interface CreateDesignRequestLegacy {\n      /** Design to be created */\n      design: Design;\n  }\n  interface CreateDesignResponseLegacy {\n      /** The created Design */\n      design?: Design;\n  }\n  interface GetDesignRequestLegacy {\n      /** Id of the Design to retrieve */\n      designId: string;\n  }\n  interface GetDesignResponseLegacy {\n      /** The retrieved Design */\n      design?: Design;\n  }\n  interface UpdateDesignRequestLegacy {\n      /** Design to be updated, may be partial */\n      design: Design;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateDesignResponseLegacy {\n      /** The updated Design */\n      design?: Design;\n  }\n  interface DeleteDesignRequestLegacy {\n      /** Id of the Design to delete */\n      designId: string;\n      /** The revision of the Design */\n      revision?: string;\n  }\n  interface DeleteDesignResponseLegacy {\n  }\n  interface QueryDesignRequestLegacy {\n      /** WQL expression */\n      query: QueryV2;\n  }\n  interface QueryV2 extends QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n      /**\n       * Filter object.\n       *\n       * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n       */\n      filter?: Record<string, any> | null;\n      /**\n       * Sort object.\n       *\n       * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n       */\n      sort?: Sorting[];\n      /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fields?: string[];\n      /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n      fieldsets?: string[];\n  }\n  /** @oneof */\n  interface QueryV2PagingMethodOneOf {\n      /** Paging options to limit and skip the number of items. */\n      paging?: Paging;\n      /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n      cursorPaging?: CursorPaging;\n  }\n  interface Sorting {\n      /** Name of the field to sort by. */\n      fieldName?: string;\n      /** Sort order. */\n      order?: SortOrder;\n      /**\n       * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n       * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n       *\n       * If multiple filters are provided, they are combined with AND operator.\n       *\n       * Example:\n       * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n       * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n       * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n       * @internal\n       */\n      selectItemsBy?: Record<string, any>[] | null;\n  }\n  enum SortOrder {\n      ASC = \"ASC\",\n      DESC = \"DESC\"\n  }\n  interface Paging {\n      /** Number of items to load. */\n      limit?: number | null;\n      /** Number of items to skip in the current sort order. */\n      offset?: number | null;\n  }\n  interface CursorPaging {\n      /** Maximum number of items to return in the results. */\n      limit?: number | null;\n      /**\n       * Pointer to the next or previous page in the list of results.\n       *\n       * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n       * Not relevant for the first request.\n       */\n      cursor?: string | null;\n  }\n  interface QueryDesignResponseLegacy {\n      /** The retrieved Designs */\n      designs?: Design[];\n  }\n  interface DomainEvent extends DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n      /**\n       * Unique event ID.\n       * Allows clients to ignore duplicate webhooks.\n       */\n      _id?: string;\n      /**\n       * Assumes actions are also always typed to an entity_type\n       * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n       */\n      entityFqdn?: string;\n      /**\n       * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n       * This is although the created/updated/deleted notion is duplication of the oneof types\n       * Example: created/updated/deleted/started/completed/email_opened\n       */\n      slug?: string;\n      /** ID of the entity associated with the event. */\n      entityId?: string;\n      /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n      eventTime?: Date | null;\n      /**\n       * Whether the event was triggered as a result of a privacy regulation application\n       * (for example, GDPR).\n       */\n      triggeredByAnonymizeRequest?: boolean | null;\n      /** If present, indicates the action that triggered the event. */\n      originatedFrom?: string | null;\n      /**\n       * A sequence number defining the order of updates to the underlying entity.\n       * For example, given that some entity was updated at 16:00 and than again at 16:01,\n       * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n       * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n       * To do so, you will need to persist this number on your end, and compare the sequence number from the\n       * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n       */\n      entityEventSequence?: string | null;\n  }\n  /** @oneof */\n  interface DomainEventBodyOneOf {\n      createdEvent?: EntityCreatedEvent;\n      updatedEvent?: EntityUpdatedEvent;\n      deletedEvent?: EntityDeletedEvent;\n      actionEvent?: ActionEvent;\n  }\n  interface EntityCreatedEvent {\n      entityAsJson?: string;\n      /**\n       * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity\n       * @internal\n       */\n      triggeredByUndelete?: boolean | null;\n      /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */\n      restoreInfo?: RestoreInfo;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface RestoreInfo {\n      deletedDate?: Date | null;\n  }\n  interface EntityUpdatedEvent {\n      /**\n       * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n       * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n       * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n       */\n      currentEntityAsJson?: string;\n      /**\n       * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard\n       * wont populate it / have any reference to it in the API.\n       * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,\n       * the developer should send only the new (current) entity.\n       * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big\n       * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.\n       * @internal\n       * @deprecated\n       */\n      previousEntityAsJson?: string | null;\n      /**\n       * WIP - This property will hold both names and values of the updated fields of the entity.\n       * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)\n       * @internal\n       */\n      modifiedFields?: Record<string, any>;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface EntityDeletedEvent {\n      /**\n       * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled\n       * @internal\n       */\n      movedToTrash?: boolean | null;\n      /** Entity that was deleted */\n      deletedEntityAsJson?: string | null;\n      /**\n       * WIP\n       * @internal\n       */\n      additionalMetadataAsJson?: string | null;\n  }\n  interface ActionEvent {\n      bodyAsJson?: string;\n  }\n  interface MessageEnvelope {\n      /** App instance ID. */\n      instanceId?: string | null;\n      /** Event type. */\n      eventType?: string;\n      /** The identification type and identity data. */\n      identity?: IdentificationData;\n      /** Stringify payload. */\n      data?: string;\n  }\n  interface IdentificationData extends IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n      /** @readonly */\n      identityType?: WebhookIdentityType;\n  }\n  /** @oneof */\n  interface IdentificationDataIdOneOf {\n      /** ID of a site visitor that has not logged in to the site. */\n      anonymousVisitorId?: string;\n      /** ID of a site visitor that has logged in to the site. */\n      memberId?: string;\n      /** ID of a Wix user (site owner, contributor, etc.). */\n      wixUserId?: string;\n      /** ID of an app. */\n      appId?: string;\n  }\n  enum WebhookIdentityType {\n      UNKNOWN = \"UNKNOWN\",\n      ANONYMOUS_VISITOR = \"ANONYMOUS_VISITOR\",\n      MEMBER = \"MEMBER\",\n      WIX_USER = \"WIX_USER\",\n      APP = \"APP\"\n  }\n  interface CreateDesignRequest {\n      /** Design to be created */\n      design: Design;\n  }\n  interface CreateDesignResponse {\n      /** The created Design */\n      design?: Design;\n  }\n  interface GetDesignRequest {\n      /** Id of the Design to retrieve */\n      designId: string;\n  }\n  interface GetDesignResponse {\n      /** The retrieved Design */\n      design?: Design;\n  }\n  interface GetTenantDesignsRequest {\n  }\n  interface GetTenantDesignsResponse {\n      /** The retrieved Designs */\n      designs?: Design[];\n  }\n  interface UpdateDesignRequest {\n      /** Design to be updated, may be partial */\n      design: Design;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateDesignResponse {\n      /** The updated Design */\n      design?: Design;\n  }\n  interface DeleteDesignRequest {\n      /** Id of the Design to delete. */\n      designId: string;\n      /** The revision of the Design */\n      revision?: string;\n  }\n  interface DeleteDesignResponse {\n  }\n  interface ListProvidersRequest {\n  }\n  interface ListProvidersResponse {\n      /** Providers who implement the SPI */\n      providers?: ProviderInfo[];\n  }\n  interface ProviderInfo {\n      /**\n       * Provider ID\n       * @readonly\n       */\n      _id?: string;\n      /** Provider display name */\n      name?: string;\n      /**\n       * Provider SPI configuration\n       * @readonly\n       */\n      configuration?: SocialMarketingDesignsProviderConfig;\n      /** Current app installation status */\n      installationState?: InstallationState;\n      /** Provider's app's icon */\n      appIconUrl?: string;\n  }\n  interface SocialMarketingDesignsProviderConfig {\n      /** Base URI which Wix will call to retrieve designs. For example, `https://my-design-provider.com/v1/listDesigns`. Required when the provider manages the designs on their own server. */\n      baseUri?: string;\n      /** Required. Human-readable name of the design provider app. */\n      name?: string;\n      /** Required. Component ID of the dashboard component. */\n      editorComponentId?: string;\n      /** The icon URL of the app that will be displayed in the . The icon will be displayed in the UI of the social media marketing dashboard page. */\n      iconUrl?: string;\n      /** Required. How the composer should be opened. One of: `\"MODAL\"`, `\"NAVIGATE\"` */\n      navigationType?: NavigationType;\n      /** Whether the designs can be deleted from a site owner's dashboard. When `false`, designs can only be deleted from the provider's database. */\n      deleteDesignEnabled?: boolean;\n      /** Whether the designs are managed by the provider. When `false`, designs are managed by Wix. */\n      manageDesigns?: boolean;\n  }\n  enum NavigationType {\n      NAVIGATE = \"NAVIGATE\",\n      MODAL = \"MODAL\"\n  }\n  enum InstallationState {\n      UNKNOWN = \"UNKNOWN\",\n      /** App is not installed on site */\n      NOT_INSTALLED = \"NOT_INSTALLED\",\n      /** user need to finish configurations */\n      PENDING_CONFIGURATIONS = \"PENDING_CONFIGURATIONS\",\n      /** App is installed and configured */\n      INSTALLED = \"INSTALLED\"\n  }\n  interface GetDesignsRequest {\n  }\n  interface GetDesignsResponse {\n      /** The retrieved Designs */\n      designs?: Design[];\n  }\n  interface DeleteProviderDesignRequest {\n      /** Id of the relevant provider */\n      providerId: string;\n      /** Design to be created */\n      design: Design;\n  }\n  interface DeleteProviderDesignResponse {\n      /** Deletion success */\n      success?: boolean;\n  }\n  interface CreateProviderDesignRequest {\n      /** Id of the relevant provider */\n      providerId: string;\n      /** Design to be created */\n      design: Design;\n  }\n  interface CreateProviderDesignResponse {\n      /** The created Design */\n      design?: Design;\n  }\n  interface UpdateProviderDesignRequest {\n      /** Id of the relevant provider */\n      providerId: string;\n      /** Design to be updated, may be partial */\n      design: Design;\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  interface UpdateProviderDesignResponse {\n      /** The created Design */\n      design?: Design;\n  }\n  /**\n   * List all providers who implement the SPI\n   * @param design - Design to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField design\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function createDesignLegacyV1(design: Design): Promise<CreateDesignResponseLegacy>;\n  /**\n   * Retrieves a design of a specific provider\n   * @param designId - Id of the Design to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField designId\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function getDesignLegacy(designId: string): Promise<GetDesignResponseLegacy>;\n  /**\n   * Update a Design, supports partial update\n   * @param internalId - Internal database ID of the design.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField design\n   * @requiredField design.hostMetadata.revision\n   * @requiredField internalId\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function updateDesignLegacy(internalId: string, design: UpdateDesignLegacyDesign, options?: UpdateDesignLegacyOptions): Promise<UpdateDesignResponseLegacy>;\n  interface UpdateDesignLegacyDesign {\n      /**\n       * External design ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Provider ID. */\n      providerId?: string;\n      /** Thumbnail of the design. deprecarted */\n      thumbnail?: string;\n      /** Media url of the design. deprecarted */\n      mediaUrl?: string;\n      /** Format of the design. deprecarted */\n      format?: Format;\n      /**\n       * The date and time the design was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * The date and time the design was last edited.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Media type of the design. deprecarted */\n      mediaType?: MediaType;\n      /** Thumbnail url of the design. */\n      thumbnailUrl?: string;\n      /** Media of the design */\n      media?: Media[];\n  }\n  interface UpdateDesignLegacyOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Delete a Design\n   * @param designId - Id of the Design to delete\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField designId\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function deleteDesignLegacy(designId: string, options?: DeleteDesignLegacyOptions): Promise<void>;\n  interface DeleteDesignLegacyOptions {\n      /** The revision of the Design */\n      revision?: string;\n  }\n  /**\n   * Query Designs using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language)\n   * @param query - WQL expression\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField query\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function queryDesignLegacy(query: QueryV2): Promise<QueryDesignResponseLegacy>;\n  /**\n   * List all providers who implement the SPI\n   * @param design - Design to be created\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField design\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function createDesign(design: Design): Promise<CreateDesignResponse>;\n  /**\n   * Retrieves a design of a specific provider\n   * @param designId - Id of the Design to retrieve\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField designId\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function getDesign(designId: string): Promise<GetDesignResponse>;\n  /**\n   * Retrieves all designs for tenant\n   * @internal\n   * @documentationMaturity preview\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function getTenantDesigns(): Promise<GetTenantDesignsResponse>;\n  /**\n   * Update a Design, supports partial update\n   * @param internalId - Internal database ID of the design.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField design\n   * @requiredField design.hostMetadata.revision\n   * @requiredField internalId\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function updateDesign(internalId: string, design: UpdateDesign, options?: UpdateDesignOptions): Promise<UpdateDesignResponse>;\n  interface UpdateDesign {\n      /**\n       * External design ID.\n       * @readonly\n       */\n      _id?: string;\n      /** Provider ID. */\n      providerId?: string;\n      /** Thumbnail of the design. deprecarted */\n      thumbnail?: string;\n      /** Media url of the design. deprecarted */\n      mediaUrl?: string;\n      /** Format of the design. deprecarted */\n      format?: Format;\n      /**\n       * The date and time the design was created.\n       * @readonly\n       */\n      _createdDate?: Date | null;\n      /**\n       * The date and time the design was last edited.\n       * @readonly\n       */\n      _updatedDate?: Date | null;\n      /** Media type of the design. deprecarted */\n      mediaType?: MediaType;\n      /** Thumbnail url of the design. */\n      thumbnailUrl?: string;\n      /** Media of the design */\n      media?: Media[];\n  }\n  interface UpdateDesignOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  /**\n   * Delete a Design\n   * @param designId - Id of the Design to delete.\n   * @internal\n   * @documentationMaturity preview\n   * @requiredField designId\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function deleteDesign(designId: string, options?: DeleteDesignOptions): Promise<void>;\n  interface DeleteDesignOptions {\n      /** The revision of the Design */\n      revision?: string;\n  }\n  /**\n   * List all providers who implement the SPI\n   * @public\n   * @documentationMaturity preview\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function listProviders(): Promise<ListProvidersResponse>;\n  /**\n   * Retrieves all designs\n   * @public\n   * @documentationMaturity preview\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function getDesigns(): Promise<GetDesignsResponse>;\n  /**\n   * Delete a Design\n   * @param providerId - Id of the relevant provider\n   * @param design - Design to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField design\n   * @requiredField providerId\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function deleteProviderDesign(providerId: string, design: Design): Promise<DeleteProviderDesignResponse>;\n  /**\n   * Create a Design\n   * @param providerId - Id of the relevant provider\n   * @param design - Design to be created\n   * @public\n   * @documentationMaturity preview\n   * @requiredField design\n   * @requiredField providerId\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function createProviderDesign(providerId: string, design: Design): Promise<CreateProviderDesignResponse>;\n  /**\n   * Update a Design\n   * @param providerId - Id of the relevant provider\n   * @param design - Design to be updated, may be partial\n   * @public\n   * @documentationMaturity preview\n   * @requiredField design\n   * @requiredField providerId\n   * @permissionId promote-shareit.manage\n   * @adminMethod\n   */\n  function updateProviderDesign(providerId: string, design: Design, options?: UpdateProviderDesignOptions): Promise<UpdateProviderDesignResponse>;\n  interface UpdateProviderDesignOptions {\n      /**\n       * Explicit list of fields to update\n       * @internal\n       */\n      mask?: string[];\n  }\n  \n  export { ActionEvent, CreateDesignRequest, CreateDesignRequestLegacy, CreateDesignResponse, CreateDesignResponseLegacy, CreateProviderDesignRequest, CreateProviderDesignResponse, CursorPaging, DeleteDesignLegacyOptions, DeleteDesignOptions, DeleteDesignRequest, DeleteDesignRequestLegacy, DeleteDesignResponse, DeleteDesignResponseLegacy, DeleteProviderDesignRequest, DeleteProviderDesignResponse, Design, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, Format, GetDesignRequest, GetDesignRequestLegacy, GetDesignResponse, GetDesignResponseLegacy, GetDesignsRequest, GetDesignsResponse, GetTenantDesignsRequest, GetTenantDesignsResponse, HostMetadata, IdentificationData, IdentificationDataIdOneOf, InstallationState, ListProvidersRequest, ListProvidersResponse, Media, MediaType, MessageEnvelope, NavigationType, Paging, ProviderInfo, QueryDesignRequestLegacy, QueryDesignResponseLegacy, QueryV2, QueryV2PagingMethodOneOf, RestoreInfo, SocialMarketingDesignsProviderConfig, SortOrder, Sorting, UpdateDesign, UpdateDesignLegacyDesign, UpdateDesignLegacyOptions, UpdateDesignOptions, UpdateDesignRequest, UpdateDesignRequestLegacy, UpdateDesignResponse, UpdateDesignResponseLegacy, UpdateProviderDesignOptions, UpdateProviderDesignRequest, UpdateProviderDesignResponse, WebhookIdentityType, createDesign, createDesignLegacyV1, createProviderDesign, deleteDesign, deleteDesignLegacy, deleteProviderDesign, getDesign, getDesignLegacy, getDesigns, getTenantDesigns, listProviders, queryDesignLegacy, updateDesign, updateDesignLegacy, updateProviderDesign };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-configs-backend.d.ts",
      "content": "declare module \"wix-configs-backend\" {\n  function getConfig(packageName: string, configName: string, { basePath }?: {\n      basePath?: string | undefined;\n  }): Promise<unknown>;\n  function getPackageConfig(configName: string, { basePath }?: {\n      basePath?: string;\n  }): Promise<unknown>;\n  //# sourceMappingURL=get-config.d.ts.map\n  \n  const wixConfigsBackend: {\n      getConfig: typeof getConfig;\n      getPackageConfig: typeof getPackageConfig;\n  };\n  //# sourceMappingURL=index.d.ts.map\n  \n  export { wixConfigsBackend as default };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-application-backend.d.ts",
      "content": "declare module \"wix-application-backend\" {\n    const getDecodedAppInstance: () => Promise<Record<string, any> | null>;\n    export { getDecodedAppInstance };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/backend/wix-packages.d.ts",
      "content": "/// <reference path=\"../common/wix-core-services-dev.d.ts\" />\n/// <reference path=\"../common/wix-loyalty-backend.d.ts\" />\n/// <reference path=\"../common/wix-metro-backend.d.ts\" />\n/// <reference path=\"../common/wix-online-programs-backend.d.ts\" />\n/// <reference path=\"../common/wix-alarm-backend.d.ts\" />\n/// <reference path=\"../common/wix-blog-backend.d.ts\" />\n/// <reference path=\"../common/wix-ecom-backend.d.ts\" />\n/// <reference path=\"../common/wix-atlas-location-backend.d.ts\" />\n/// <reference path=\"../common/wix-pro-gallery-backend.d.ts\" />\n/// <reference path=\"../common/wix-alert-enricher-backend.d.ts\" />\n/// <reference path=\"../common/wix-question-backend.d.ts\" />\n/// <reference path=\"../common/wix-bobs-backend.d.ts\" />\n/// <reference path=\"../common/wix-freds-backend.d.ts\" />\n/// <reference path=\"../common/wix-ratings-definition-backend.d.ts\" />\n/// <reference path=\"../common/wix-echo-backend.d.ts\" />\n/// <reference path=\"../common/wix-restaurants-backend.d.ts\" />\n/// <reference path=\"../common/wix-jackal-backend.d.ts\" />\n/// <reference path=\"../common/wix-atlas-places-backend.d.ts\" />\n/// <reference path=\"../common/wix-activity-counters-backend.d.ts\" />\n/// <reference path=\"../common/wix-atlas-autocomplete-backend.d.ts\" />\n/// <reference path=\"../common/wix-livevideo-backend.d.ts\" />\n/// <reference path=\"../common/wix-iot-backend.d.ts\" />\n/// <reference path=\"../common/wix-atlas-backend.d.ts\" />\n/// <reference path=\"../common/wix-restaurants-orders-backend.d.ts\" />\n/// <reference path=\"../common/wix-reviews-backend.d.ts\" />\n/// <reference path=\"../common/wix-restaurants-catalogs-backend.d.ts\" />\n/// <reference path=\"../common/wix-iot-devices-backend.d.ts\" />\n/// <reference path=\"../common/wix-showoff-backend.d.ts\" />\n/// <reference path=\"../common/wix-portfolio-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-additional-fees-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-catalog-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-custom-trigger-provider.d.ts\" />\n/// <reference path=\"../common/wix-metro-backend.v2.d.ts\" />\n/// <reference path=\"../common/wix-metro-backend-v2.d.ts\" />\n/// <reference path=\"../common/interfaces-bookings-v1-pricing-provider.d.ts\" />\n/// <reference path=\"../common/wix-motion-backend.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-custom-scopes-provider.d.ts\" />\n/// <reference path=\"../common/wix-bookings-backend.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-ecom-v1-shipping-rates-provider.d.ts\" />\n/// <reference path=\"../common/wix-data-backend-public-sdk-poc.d.ts\" />\n/// <reference path=\"../common/interfaces-ecom-v1-line-items-enricher.d.ts\" />\n/// <reference path=\"../common/wix-site-media-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-coreservices-v1-coupons-provider.d.ts\" />\n/// <reference path=\"../common/wix-forms-backend.d.ts\" />\n/// <reference path=\"../common/auto-frontend-module-registry.d.ts\" />\n/// <reference path=\"../common/wix-table-reservations-backend.d.ts\" />\n/// <reference path=\"../common/wix-stores-backend.v2.d.ts\" />\n/// <reference path=\"../common/wix-members-followers-backend.v3.d.ts\" />\n/// <reference path=\"../common/wix-recruitment-agencies-positions-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-comm-channels-v1-communication-channels-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-psp-v1-payment-service-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-sitetranslator-v1-translatableitem.d.ts\" />\n/// <reference path=\"../common/portfolio-syncedprojects-v1-project.d.ts\" />\n/// <reference path=\"../common/wix-recruitment-agencies-applications-backend.d.ts\" />\n/// <reference path=\"../common/wix-recruitment-agencies-info-backend.d.ts\" />\n/// <reference path=\"../common/wix-stores-backend-poc.v2.d.ts\" />\n/// <reference path=\"../common/wix-os-backend.d.ts\" />\n/// <reference path=\"../common/wix-email-marketing-backend.d.ts\" />\n/// <reference path=\"../common/wix-sender-details-backend.d.ts\" />\n/// <reference path=\"../common/wix-comments-backend.d.ts\" />\n/// <reference path=\"../common/wix-marketing-tags-backend.d.ts\" />\n/// <reference path=\"../common/wix-app-market-backend.d.ts\" />\n/// <reference path=\"../common/wix-contacts-backend.v2.d.ts\" />\n/// <reference path=\"../common/wix-events-backend.v2.d.ts\" />\n/// <reference path=\"../common/wix-inbox-conversations.backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-ratings-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-ecom-v1-related-items-provider.d.ts\" />\n/// <reference path=\"../common/wix-groups-backend.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-ecom-v1-recommendations-provider.d.ts\" />\n/// <reference path=\"../common/wix-identity-backend.d.ts\" />\n/// <reference path=\"../common/wix-entitlements-backend.d.ts\" />\n/// <reference path=\"../common/wix-events-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-data-index-service-v2.d.ts\" />\n/// <reference path=\"../common/wix-category-backend.d.ts\" />\n/// <reference path=\"../common/wix-events.v2.d.ts\" />\n/// <reference path=\"../common/wix-categories-backend.d.ts\" />\n/// <reference path=\"../common/wix-badges-backend.v3.d.ts\" />\n/// <reference path=\"../common/wix-badges-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-badges-backend.v2.d.ts\" />\n/// <reference path=\"../common/localdelivery-spi-v2-tpa.d.ts\" />\n/// <reference path=\"../common/wix-forum-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-v1-shipping-label-carrier-quote.d.ts\" />\n/// <reference path=\"../common/interfaces-ecom-v1-gift-card-provider-entity.d.ts\" />\n/// <reference path=\"../common/wix-notifications-backend.d.ts\" />\n/// <reference path=\"../common/wix-marketing-backend.v2.d.ts\" />\n/// <reference path=\"../common/wix-groups-backend.v3.d.ts\" />\n/// <reference path=\"../common/wix-data-collection-service-v2.d.ts\" />\n/// <reference path=\"../common/wix-inbox.v2.d.ts\" />\n/// <reference path=\"../common/wix-email-marketing.v2.d.ts\" />\n/// <reference path=\"../common/wix-bookings.v2.d.ts\" />\n/// <reference path=\"../common/wix-forum.v2.d.ts\" />\n/// <reference path=\"../common/wix-activity-counters.v2.d.ts\" />\n/// <reference path=\"../common/wix-loyalty.v2.d.ts\" />\n/// <reference path=\"../common/wix-business-tools.v2.d.ts\" />\n/// <reference path=\"../common/wix-marketing-tags.v2.d.ts\" />\n/// <reference path=\"../common/wix-stores.v2.d.ts\" />\n/// <reference path=\"../common/wix-redirects-api.v1.d.ts\" />\n/// <reference path=\"../common/wix-ads-txt.v1.d.ts\" />\n/// <reference path=\"../common/wix-sender-details.v2.d.ts\" />\n/// <reference path=\"../common/billing-spi-v1-tax-calculator.d.ts\" />\n/// <reference path=\"../common/restaurants-posspihost-v1-tpa.d.ts\" />\n/// <reference path=\"../common/wix-media.v2.d.ts\" />\n/// <reference path=\"../common/wix-pricing-plans-backend.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-comments-moderation-v1-comments-moderation-provider.d.ts\" />\n/// <reference path=\"../common/wix-authentication-management.d.ts\" />\n/// <reference path=\"../common/wix-authentication-management.v2.d.ts\" />\n/// <reference path=\"../common/wix-multilingual-localization.d.ts\" />\n/// <reference path=\"../common/wix-multilingual-localization-public.d.ts\" />\n/// <reference path=\"../common/wix-pricing-plans.v2.d.ts\" />\n/// <reference path=\"../common/wix-members.v2.d.ts\" />\n/// <reference path=\"../common/wix-groups.v2.d.ts\" />\n/// <reference path=\"../common/wix-data-backup-service-v2.d.ts\" />\n/// <reference path=\"../common/wix-marketing.v2.d.ts\" />\n/// <reference path=\"../common/wix-currencies.v2.d.ts\" />\n/// <reference path=\"../common/wix-members-about-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-members-followers-backend.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-components-translation-v1-translations-provider.d.ts\" />\n/// <reference path=\"../common/wix-multilingual-localization-schema.d.ts\" />\n/// <reference path=\"../common/wix-events.v3.d.ts\" />\n/// <reference path=\"../common/interfaces-iam-v1-idp-connection-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-items-selection-v1-items-selection-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-forms-v4-forms-schema-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-psp-v1-price-breakdown.d.ts\" />\n/// <reference path=\"../common/wix-autocms-tasks-service-v1.d.ts\" />\n/// <reference path=\"../common/wix-autocms-folders-service-v1.d.ts\" />\n/// <reference path=\"../common/wix-autocms-collection-rules-service-v1.d.ts\" />\n/// <reference path=\"../common/interfaces-iam-v1-pre-register-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-components-validator-v1-validation-provider.d.ts\" />\n/// <reference path=\"../common/wix-redirects.v1.d.ts\" />\n/// <reference path=\"../common/interfaces-bookings-v1-custom-pricing.d.ts\" />\n/// <reference path=\"../common/wix-data-resourceusage-service-v1.d.ts\" />\n/// <reference path=\"../common/wix-data-collections.d.ts\" />\n/// <reference path=\"../common/interfaces-entitlements-v1-policy-provider.d.ts\" />\n/// <reference path=\"../common/wix-data-indexes.d.ts\" />\n/// <reference path=\"../common/wix-ecom.v2.d.ts\" />\n/// <reference path=\"../common/wix-data-external-database-connections.d.ts\" />\n/// <reference path=\"../common/wix-auth-management.v2.d.ts\" />\n/// <reference path=\"../common/wix-data-items.d.ts\" />\n/// <reference path=\"../common/interfaces-automations-v1-action-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-premium-v1-custom-charges-provider.d.ts\" />\n/// <reference path=\"../common/wix-data.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-iam-v1-post-login-provider.d.ts\" />\n/// <reference path=\"../common/wix-sender-emails-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-promote-v1-social-marketing-designs-provider.d.ts\" />\n/// <reference path=\"../common/wix-stores-backend.v3.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-validations-provider.d.ts\" />\n/// <reference path=\"../common/wix-stores-v3.d.ts\" />\n/// <reference path=\"../common/interfaces-comments-filter-v1-comments-filter-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-custom-scope.d.ts\" />\n/// <reference path=\"../common/wix-notifications.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-promote-v1-gbp-feature.d.ts\" />\n/// <reference path=\"../common/wix-workflows.v2.d.ts\" />\n/// <reference path=\"../common/wix-risewallet.d.ts\" />\n/// <reference path=\"../common/wix-riseevent.d.ts\" />\n/// <reference path=\"../common/wix-secrets-backend.v2.d.ts\" />\n/// <reference path=\"../common/wix-crm.v2.d.ts\" />\n/// <reference path=\"../common/wix-captcha.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-entitlements-v1-entitlement-provider.d.ts\" />\n/// <reference path=\"../common/wix-table-reservations.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-billing-tax-validation-spi-v1-tax-id-validator-spi.d.ts\" />\n/// <reference path=\"../common/wix-categories.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-billing-tax-validation-spi-v1-tax-id-validator.d.ts\" />\n/// <reference path=\"../common/wix-reviews.v2.d.ts\" />\n/// <reference path=\"../common/wix-notifications.v3.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-custom-trigger.d.ts\" />\n/// <reference path=\"../common/wix-comments.v2.d.ts\" />\n/// <reference path=\"../common/wix-rise.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-promote-v1-social-marketing-design.d.ts\" />\n/// <reference path=\"../common/interfaces-dealer-external-filter-v1-filter-applicable.d.ts\" />\n/// <reference path=\"../common/wix-web-module.d.ts\" />\n/// <reference path=\"../common/wix-members-followers-backend.v1.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-payment-settings-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-iam-v1-authenticator-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-notification-v1-notification-preferences-filter-provider.d.ts\" />\n/// <reference path=\"../common/wix-members.v3.d.ts\" />\n/// <reference path=\"../common/wix-search.v2.d.ts\" />\n/// <reference path=\"../common/wix-bookings.v1.d.ts\" />\n/// <reference path=\"../common/wix-members-about.v1.d.ts\" />\n/// <reference path=\"../common/wix-forms.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-invoices-v1-invoices.d.ts\" />\n/// <reference path=\"../common/wix-restaurants.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-bookings-availability-v2-availability-time-slots-configuration-provider.d.ts\" />\n/// <reference path=\"../common/wix-benefit-programs-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-online-programs.d.ts\" />\n/// <reference path=\"../common/interfaces-automations-v1-velo-action-provider.d.ts\" />\n/// <reference path=\"../common/wix-custom-fields-schema.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-benefit-programs-v1-benefit-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-forms-v4-submission.d.ts\" />\n/// <reference path=\"../common/interfaces-forms-v4-submission-collaborator.d.ts\" />\n/// <reference path=\"../common/interfaces-velo-ide-v1-gridapp-files-transformer.d.ts\" />\n/// <reference path=\"../common/ecom-v1-validations-data.d.ts\" />\n/// <reference path=\"../common/wix-export-async-job.v1.d.ts\" />\n/// <reference path=\"../common/wix-fqdn-definitions-backend.d.ts\" />\n/// <reference path=\"../common/wix-settings.v2.d.ts\" />\n/// <reference path=\"../common/wix-restaurants.d.ts\" />\n/// <reference path=\"../common/interfaces-forms-v4-submission-extension.d.ts\" />\n/// <reference path=\"../common/table-reservations-v1-custom-reservations-approval.d.ts\" />\n/// <reference path=\"../common/wix-multilingual.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-bookings-availability-v2-multi-service-booking-policy-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-bookings-availability-v2-booking-policy-provider.d.ts\" />\n/// <reference path=\"../common/wix-calendar.v3.d.ts\" />\n/// <reference path=\"../common/interfaces-billing-v1-tax-calculation-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-editor-deployments-v1-deployment-pipeline-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-benefit-programs-v1-policy-provider.d.ts\" />\n/// <reference path=\"../common/wix-generate-example.d.ts\" />\n/// <reference path=\"../common/wix-billing-tax.d.ts\" />\n/// <reference path=\"../common/wix-events.v1.d.ts\" />\n/// <reference path=\"../common/wix-billing.v2.d.ts\" />\n/// <reference path=\"../common/wix-stores.v3.d.ts\" />\n/// <reference path=\"../common/wix-payments.v2.d.ts\" />\n/// <reference path=\"../common/wix-ep-plugins.v1.d.ts\" />\n/// <reference path=\"../common/wix-app-settings.v2.d.ts\" />\n/// <reference path=\"../common/wix-urls.v2.d.ts\" />\n/// <reference path=\"../common/wix-app-plugins-site-plugins.v1.d.ts\" />\n/// <reference path=\"../common/interfaces-communication-channels-v1-channel-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-communication-channels-v2-channel-provider.d.ts\" />\n/// <reference path=\"../common/wix-search.v3.d.ts\" />\n/// <reference path=\"../common/interfaces-functionsshop-v1-shop-price-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-premium-v1-productspaths.d.ts\" />\n/// <reference path=\"../common/wix-ssr-cache-invalidation-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-app-management.v2.d.ts\" />\n/// <reference path=\"../common/wix-cache-backend.d.ts\" />\n/// <reference path=\"../common/wix-analytics.d.ts\" />\n/// <reference path=\"../common/wix-seatings-backend.d.ts\" />\n/// <reference path=\"../common/wix-dashboard-management-backend.d.ts\" />\n/// <reference path=\"../common/wix-papyrus-templates-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-velo-publish-pipeline-v1-publish-pipeline-task-provider.d.ts\" />\n/// <reference path=\"../common/wix-sending-domains-backend.d.ts\" />\n/// <reference path=\"../common/wix-site-plugins.v1.d.ts\" />\n/// <reference path=\"../common/wix-dashboard-management.v2.d.ts\" />\n/// <reference path=\"../common/wix-editor-deployments.v1.d.ts\" />\n/// <reference path=\"../common/wix-infra-backend.d.ts\" />\n/// <reference path=\"../common/wix-tags.v1.d.ts\" />\n/// <reference path=\"../common/wix-packages.v1.d.ts\" />\n/// <reference path=\"../common/wix-domains.v1.d.ts\" />\n/// <reference path=\"../common/wix-moderation-rules.v1.d.ts\" />\n/// <reference path=\"../common/wix-automations.v2.d.ts\" />\n/// <reference path=\"../common/wix-referral.v1.d.ts\" />\n/// <reference path=\"../common/wix-custom-fields.v1.d.ts\" />\n/// <reference path=\"../common/wix-members.v1.d.ts\" />\n/// <reference path=\"../common/wix-subscription.v1.d.ts\" />\n/// <reference path=\"../common/wix-review-request.v1.d.ts\" />\n/// <reference path=\"../common/wix-site-actions.v2.d.ts\" />\n/// <reference path=\"../common/wix-members-area.v1.d.ts\" />\n/// <reference path=\"../common/wix-analytics-session.v1.d.ts\" />\n/// <reference path=\"../common/wix-gift-cards-backend.d.ts\" />\n/// <reference path=\"../common/wix-marketing-consent-service-backend.d.ts\" />\n/// <reference path=\"../common/wix-analytics-data.v2.d.ts\" />\n/// <reference path=\"../common/wix-async-jobs.v2.d.ts\" />\n/// <reference path=\"../common/chat-widget.v1.d.ts\" />\n/// <reference path=\"../common/migration-triggers.v1.d.ts\" />\n/// <reference path=\"../common/trigger-catalog.v1.d.ts\" />\n/// <reference path=\"../common/wix-automations.v1.d.ts\" />\n/// <reference path=\"../common/wix-assistant-widget.v1.d.ts\" />\n/// <reference path=\"../common/wix-editor-site-embeds.v1.d.ts\" />\n/// <reference path=\"../common/wix-automations-actioncatalog.v1.d.ts\" />\n/// <reference path=\"../common/wix-assistant-playground.v1.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-discounts-provider.d.ts\" />\n/// <reference path=\"../common/wix-assistant-playground.v2.d.ts\" />\n/// <reference path=\"../common/wix-automations-activation-log.v1.d.ts\" />\n/// <reference path=\"../common/wix-gift-vouchers.v2.d.ts\" />\n/// <reference path=\"../common/bookings-v2-pricing-spi.d.ts\" />\n/// <reference path=\"../common/wix-automations-activation-summary.v1.d.ts\" />\n/// <reference path=\"../common/wix-data-site-usage-service-v1.d.ts\" />\n/// <reference path=\"../common/wix-instagram-account-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-analytics-session.v2.d.ts\" />\n/// <reference path=\"../common/wix-reports.v2.d.ts\" />\n/// <reference path=\"../common/wix-data-extension-schema.v1.d.ts\" />\n/// <reference path=\"../common/wix-fetch.d.ts\" />\n/// <reference path=\"../common/wix-automations-runner.v1.d.ts\" />\n/// <reference path=\"../common/wix-automations.d.ts\" />\n/// <reference path=\"../common/wix-http-functions.d.ts\" />\n/// <reference path=\"../common/wix-functions.v1.d.ts\" />\n/// <reference path=\"../common/wix-router.d.ts\" />\n/// <reference path=\"../common/wix-media-collections-backend.d.ts\" />\n/// <reference path=\"../common/wix-review-requests.v2.d.ts\" />\n/// <reference path=\"../common/wix-b2btransfer.d.ts\" />\n/// <reference path=\"../common/wix-instagram-media.v1.d.ts\" />\n/// <reference path=\"../common/wix-automations-activation-action-log.v1.d.ts\" />\n/// <reference path=\"../common/user-management-backend.d.ts\" />\n/// <reference path=\"../common/wix-user-management-backend.d.ts\" />\n/// <reference path=\"../common/wix-premium-product-type.v1.d.ts\" />\n/// <reference path=\"../common/wix-promote-growth-tools-design.v1.d.ts\" />\n/// <reference path=\"../common/wix-configs-backend.d.ts\" />\n/// <reference path=\"../../common/wix-application-backend.d.ts\" />"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/$widget.d.ts",
      "content": "/**\n * The `$widget` namespace contains functionality for working with your Blocks widget's API from within the widget code.\n * \t[Read more](https://www.wix.com/corvid/reference/$widget.html#)\n */\ndeclare module '$widget' {\n    /**\n     * Sets or gets the [widget's properties](https://support.wix.com/en/article/wix-blocks-widget-api-properties).\n     * \t[Read more](https://www.wix.com/corvid/reference/$widget.html#props)\n     */\n    const props: any;\n    /**\n     * Fires an event that is defined in the Widget API.\n     * \t[Read more](https://www.wix.com/corvid/reference/$widget.html#fireEvent)\n     */\n    function fireEvent(eventName: string, data: any): void;\n    /**\n     * Adds an event handler that runs when the value of a widget property is changed.\n     * \t[Read more](https://www.wix.com/corvid/reference/$widget.html#onPropsChanged)\n     */\n    function onPropsChanged(handler: onPropsChangedHandler): any;\n    type onPropsChangedHandler = (oldProps: any, newProps: any) => void;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/velo-action-spi.d.ts",
      "content": "/**\n * The Velo Action Service Plugin.\n * \t[Read more](https://www.wix.com/corvid/reference/velo-action-spi.html#)\n */\ndeclare module 'velo-action-spi' {\n    /**\n     * Runs your custom action when an automation is triggered.\n     * \t[Read more](https://www.wix.com/corvid/reference/velo-action-spi.html#invoke)\n     */\n    function invoke(options: Options, context: Context): Promise<any>;\n    type Context = {\n        /**\n         * [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code representing the currency used in the request sent from Wix. The response should be returned in the same currency.\n         */\n        currency: string;\n        /**\n         * The identity that describes the identity that triggered this request.\n         */\n        identity: Identity;\n        /**\n         * An array of languages in which the response should be returned. Languages are strings in concatenated [ISO 639-1: 2 Alpha language-code](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) and [ISO 3166-1: 2 Alpha country-code](https://en.wikipedia.org/wiki/ISO_3166-1) format, such as \"en-US\".\n         */\n        languages: string[];\n        /**\n         * A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs.\n         */\n        requestId: string;\n    };\n    type Identity = {\n        /**\n         * Type of identity that triggered the request. Possible values are:\n         * + `UNKNOWN`\n         * + `ANONYMOUS_VISITOR`\n         * + `MEMBER`\n         * + `WIX_USER`\n         * + `APP`\n         */\n        identityType: string;\n        /**\n         * ID of a site visitor who has not logged in to the site. Only provided if `identityType` is `ANONYMOUS_VISITOR`.\n         */\n        anonymousVisitorId?: string;\n        /**\n         * ID of a site visitor who has logged in to the site. Only provided if `identityType` is `MEMBER`.\n         */\n        memberId?: string;\n        /**\n         * ID of a Wix user (site owner, contributor, etc.). Only provided if `identityType` is `WIX_USER`.\n         */\n        wixUserId?: string;\n        /**\n         * ID of an app. Only provided if `identityType` is `APP`.\n         */\n        appId?: string;\n    };\n    type Options = {\n        /**\n         * The payload object. Fields vary depending on the selected trigger.\n         */\n        payload: Object;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-application.d.ts",
      "content": "/**\n * The wix-application module contains functionality for getting information about a Blocks application that is installed on a site.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-application.html#)\n */\ndeclare module 'wix-application' {\n    /**\n     * Gets the URL of the new page that was added by a Blocks app, when installed on a site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-application.html#getAppPageUrl)\n     */\n    function getAppPageUrl(pageId: string): Promise<string>;\n    /**\n     * Gets the Wix Blocks App data as a decoded Json Web Token (JWT) object.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-application.html#getDecodedAppInstance)\n     */\n    function getDecodedAppInstance(): Promise<decodedAppInstance>;\n    /**\n     * Opens a popup that was added to a site by the Blocks app during the app installation process and optionally passes it data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-application.html#openAppLightbox)\n     */\n    function openAppLightbox(lightboxId: string, data?: any): Promise<any>;\n    /**\n     * An object with data about the installation of your app on a specific site.\n     */\n    type decodedAppInstance = {\n        /**\n         * The unique idenfitier of your app.\n         */\n        appDefId: string;\n        /**\n         * The ID of your app on this specific site.\n         */\n        instanceId: string;\n        /**\n         * The ID of plan that the site owner purchased. This property is included in the object only if the site owner purchased a plan or joined a free trial.\n         */\n        vendorProductId: string;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-auth.d.ts",
      "content": "/**\n * The wix-auth module contains functionality for working with permissions.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-auth.html#)\n */\ndeclare module 'wix-auth' {\n    /**\n     * Creates a copy of a method that includes the elevated permissions required by the original method.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-auth.html#elevate)\n     */\n    function elevate<T extends (...arg: any) => any>(func: T): (...param: Parameters<T>) => ReturnType<T>;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-billing-backend.d.ts",
      "content": "/**\n * The wix-billing-backend module contains functionality for working with\n *  billing features, such as [price quotes](https://support.wix.com/en/article/wix-price-quotes-creating-and-sending-price-quotes-to-clients) and\n * [invoices](https://support.wix.com/en/article/about-wix-invoices).\n * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.html#)\n */\ndeclare module 'wix-billing-backend' {\n    /**\n     * The wix-billing-backend module contains functionality for working with\n     *  [your site's invoices](https://support.wix.com/en/article/about-wix-invoices)\n     *  from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.html#invoices)\n     */\n    const invoices: Invoices;\n    /**\n     * The wix-billing-backend module contains functionality for working with\n     *  your site's [price quotes](https://support.wix.com/en/article/wix-price-quotes-creating-and-sending-price-quotes-to-clients)\n     *  from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.html#priceQuotes)\n     */\n    const priceQuotes: PriceQuotes;\n    /**\n     * Events that are fired by actions relating to billing.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * An event that fires when an invoice is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Events.html#onInvoiceCreated)\n         */\n        onInvoiceCreated(event: Invoices.Invoice): void;\n        /**\n         * An event that fires when an invoice is overdue.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Events.html#onInvoiceOverdue)\n         */\n        onInvoiceOverdue(event: Invoices.Invoice): void;\n        /**\n         * An event that fires when an invoice is paid.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Events.html#onInvoicePaid)\n         */\n        onInvoicePaid(event: Invoices.Invoice): void;\n        /**\n         * An event that fires when an invoice is sent.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Events.html#onInvoiceSent)\n         */\n        onInvoiceSent(event: Invoices.Invoice): void;\n        /**\n         * An event that fires when a price quote is accepted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Events.html#onPriceQuoteAccepted)\n         */\n        onPriceQuoteAccepted(event: PriceQuotes.PriceQuote): void;\n        /**\n         * An event that fires when a price quote is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Events.html#onPriceQuoteCreated)\n         */\n        onPriceQuoteCreated(event: PriceQuotes.PriceQuote): void;\n        /**\n         * An event that fires when a price quote has expired.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Events.html#onPriceQuoteExpired)\n         */\n        onPriceQuoteExpired(event: PriceQuotes.PriceQuote): void;\n        /**\n         * An event that fires when a price quote is sent.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Events.html#onPriceQuoteSent)\n         */\n        onPriceQuoteSent(event: PriceQuotes.PriceQuote): void;\n    }\n    /**\n     * The wix-billing-backend module contains functionality for working with\n     *  [your site's invoices](https://support.wix.com/en/article/about-wix-invoices)\n     *  from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Invoices.html#)\n     */\n    interface Invoices {\n        /**\n         * Adds a payment to the invoice and reports the payment to the payment provider.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Invoices.html#addPayment)\n         */\n        addPayment(id: Invoices.IdAndVersion, payment: Invoices.Payment): Promise<Invoices.Response>;\n        /**\n         * Creates a new invoice.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Invoices.html#createInvoice)\n         */\n        createInvoice(invoiceFields: Invoices.InvoiceFields): Promise<Invoices.Response>;\n        /**\n         * Creates a link that can be used by a customer to preview the invoice.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Invoices.html#createInvoicePreviewUrl)\n         */\n        createInvoicePreviewUrl(id: Invoices.IdAndVersion, options?: Invoices.AuthOptions): Promise<string>;\n        /**\n         * Deletes an invoice by ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Invoices.html#deleteInvoice)\n         */\n        deleteInvoice(id: string): Promise<void>;\n        /**\n         * Gets an existing invoice by ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Invoices.html#getInvoice)\n         */\n        getInvoice(id: string): Promise<Invoices.Invoice>;\n        /**\n         * Sends an invoice preview link to a customer via email.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Invoices.html#sendInvoice)\n         */\n        sendInvoice(id: Invoices.IdAndVersion, emailInfo: Invoices.EmailInfo): Promise<void>;\n        /**\n         * Update an existing invoice.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Invoices.html#updateInvoice)\n         */\n        updateInvoice(id: Invoices.IdAndVersion, invoiceFields: Invoices.InvoiceFields, fieldMask?: string[]): Promise<Invoices.Response>;\n        /**\n         * Voids an invoice.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Invoices.html#voidInvoice)\n         */\n        voidInvoice(id: Invoices.IdAndVersion): Promise<void>;\n    }\n    /**\n     * The wix-billing-backend module contains functionality for working with\n     *  your site's [price quotes](https://support.wix.com/en/article/wix-price-quotes-creating-and-sending-price-quotes-to-clients)\n     *  from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.PriceQuotes.html#)\n     */\n    interface PriceQuotes {\n        /**\n         * Creates a new price quote.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.PriceQuotes.html#createPriceQuote)\n         */\n        createPriceQuote(priceQuoteInfo: PriceQuotes.PriceQuoteInfo): Promise<PriceQuotes.Response>;\n        /**\n         * Deletes a price quote by ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.PriceQuotes.html#deletePriceQuote)\n         */\n        deletePriceQuote(id: string): Promise<void>;\n        /**\n         * Gets an existing price quote by ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.PriceQuotes.html#getPriceQuote)\n         */\n        getPriceQuote(id: string): Promise<PriceQuotes.PriceQuote>;\n        /**\n         * Sends a price quote preview link to a customer via email.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.PriceQuotes.html#sendPriceQuote)\n         */\n        sendPriceQuote(id: PriceQuotes.IdAndVersion, emailInfo: PriceQuotes.EmailInfo): Promise<void>;\n        /**\n         * Updates an existing price quote.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.PriceQuotes.html#updatePriceQuote)\n         */\n        updatePriceQuote(id: PriceQuotes.IdAndVersion, priceQuoteInfo: PriceQuotes.PriceQuoteInfo, fieldMask?: string[]): Promise<PriceQuotes.Response>;\n    }\n    /**\n     * The wix-billing-backend module contains functionality for working with\n     *  [your site's invoices](https://support.wix.com/en/article/about-wix-invoices)\n     *  from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.Invoices.html#)\n     */\n    namespace Invoices {\n        /**\n         * An object that contains address information.\n         */\n        type Address = {\n            /**\n             * Address line.\n             */\n            addressLine?: string;\n            /**\n             * Secondary address line.\n             */\n            addressLine2?: string;\n            /**\n             * Address subdivision.\n             */\n            subdivision?: string;\n            /**\n             * Address city.\n             */\n            city?: string;\n            /**\n             * Address postal code.\n             */\n            postalCode?: string;\n            /**\n             * Address street address.\n             */\n            streetAddress?: Invoices.StreetAddress;\n            /**\n             * Address country.\n             */\n            country?: string;\n            /**\n             * Address in human readable format.\n             */\n            formatted?: string;\n        };\n        type AuthOptions = {\n            /**\n             * Prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth: boolean;\n        };\n        /**\n         * An object that contains calculated tax information.\n         */\n        type CalculatedTax = {\n            /**\n             * Tax name.\n             */\n            name: string;\n            /**\n             * Tax rate.\n             */\n            rate: number;\n            /**\n             * Total value of taxable goods.\n             */\n            taxable: number;\n            /**\n             * Total amount of tax applied.\n             */\n            taxed: number;\n            /**\n             * Tax code.\n             */\n            code: string;\n        };\n        /**\n         * An object that contains customer information.\n         */\n        type Customer = {\n            /**\n             * Contact ID.\n             */\n            contactId: string;\n            /**\n             * Email address.\n             */\n            email: string;\n            /**\n             * Physical address.\n             */\n            address?: Invoices.Address;\n            /**\n             * Physical billing address.\n             */\n            billingAddress?: Invoices.Address;\n            /**\n             * Physical shipping address.\n             */\n            shippingAddress?: Invoices.Address;\n            /**\n             * Phone number.\n             */\n            phone?: string;\n            /**\n             * Company name.\n             */\n            company?: string;\n            /**\n             * Company ID. Can be used to store company VAT ID.\n             */\n            companyId?: string;\n            /**\n             * Full name.\n             */\n            fullName?: string;\n            /**\n             * First name.\n             */\n            firstName?: string;\n            /**\n             * Last name.\n             */\n            lastName?: string;\n        };\n        /**\n         * An object that contains discount information.\n         */\n        type Discount = {\n            /**\n             * Discount amount.\n             */\n            value: number;\n            /**\n             * Discount type.\n             *\n             * Either:\n             *\n             * + `\"Fixed\"`: A fixed amount is deducted.\n             * + `\"Percentage\"`: A percentage of the total amount is deducted.\n             */\n            type: string;\n        };\n        /**\n         * An object that contains information used to send an invoice to a customer.\n         */\n        type EmailInfo = {\n            /**\n             * Email subject.\n             */\n            subject: string;\n            /**\n             * Email body. Limited formatting in the email body can be\n             * achieved using standard JavaScript string formatting.\n             */\n            body: string;\n        };\n        /**\n         * An object that contains ID and version information.\n         */\n        type IdAndVersion = {\n            /**\n             * Invoice ID.\n             */\n            id: string;\n            /**\n             * Invoice version.\n             */\n            version: number;\n        };\n        /**\n         * An object that represents an invoice.\n         */\n        type Invoice = {\n            /**\n             * ID and version of the invoice.\n             */\n            id: Invoices.IdAndVersion;\n            /**\n             * Status of the invoice.\n             *  One of:\n             *\n             *  + `\"Draft\"`\n             *  + `\"Sent\"`\n             *  + `\"Processing\"`\n             *  + `\"Paid\"`\n             *  + `\"Overdue\"`\n             *  + `\"Void\"`\n             *  + `\"Deleted\"`\n             *  + `\"PartiallyPaid\"`\n             *  + `\"PartialAndOverdue\"`\n             */\n            status: string;\n            /**\n             * Number of the invoice, unique within your site.\n             */\n            number: string;\n            /**\n             * Title of the invoice.\n             */\n            title: string;\n            /**\n             * Currency code.\n             */\n            currency: string;\n            /**\n             * Locale information.\n             */\n            locale: Invoices.Locale;\n            /**\n             * Customer listed on the invoice.\n             */\n            customer: Invoices.Customer;\n            /**\n             * Line items listed on the invoice.\n             */\n            lineItems: Invoices.LineItem[];\n            /**\n             * Discount included in the invoice.\n             */\n            discount: Invoices.Discount;\n            /**\n             * List of payments already received from the customer.\n             */\n            payments: Invoices.Payment[];\n            /**\n             * List of taxes calculated based on the line items.\n             */\n            taxes: Invoices.CalculatedTax[];\n            /**\n             * Total values.\n             */\n            totals: Invoices.TotalPrice;\n            /**\n             * Invoice dynamic totals.\n             */\n            dynamicTotals: Invoices.InvoiceDynamicTotals;\n            /**\n             * Additional metadata included in the invoice.\n             */\n            metadata: Invoices.MetaData;\n            /**\n             * Invoice company ID.\n             */\n            companyId: string;\n            /**\n             * Whether the invoice was sent to the customer.\n             */\n            wasSent: boolean;\n            /**\n             * Dates associated with the invoice.\n             */\n            dates: Invoices.InvoiceDates;\n        };\n        /**\n         * An object that contains date information for an invoice.\n         */\n        type InvoiceDates = {\n            /**\n             * Invoice issue date.\n             */\n            issueDate: Date;\n            /**\n             * Invoice due date.\n             */\n            dueDate: Date;\n        };\n        /**\n         * An object that contains information about invoice totals that change when payments are received.\n         */\n        type InvoiceDynamicTotals = {\n            /**\n             * Amount paid.\n             */\n            paidAmount: number;\n            /**\n             * Balance amount.\n             */\n            balance: number;\n        };\n        /**\n         * An object that contains information used when creating or updating an invoice.\n         */\n        type InvoiceFields = {\n            /**\n             * Invoice ID, as a UUID.\n             */\n            id?: string;\n            /**\n             * Title of the invoice.\n             */\n            title: string;\n            /**\n             * Customer listed on the invoice.\n             */\n            customer: Invoices.Customer;\n            /**\n             * Currency code.\n             */\n            currency: string;\n            /**\n             * Line items listed on the invoice.\n             */\n            lineItems: Invoices.LineItem[];\n            /**\n             * Discount included in the invoice.\n             */\n            discount?: Invoices.Discount;\n            /**\n             * Invoice payments.\n             */\n            payments: Invoices.Payment[];\n            /**\n             * Invoice metadata.\n             */\n            metadata?: Invoices.MetaData;\n            /**\n             * Dates associated with the invoice.\n             */\n            dates: Invoices.InvoiceDates;\n            /**\n             * Language displayed on the invoice.\n             */\n            locale?: Invoices.Locale;\n        };\n        /**\n         * An object that contains itemized fee information.\n         */\n        type ItemizedFee = {\n            /**\n             * Item fee name.\n             */\n            name: string;\n            /**\n             * Item fee price.\n             */\n            price: number;\n        };\n        /**\n         * An object that contains line item information.\n         */\n        type LineItem = {\n            /**\n             * Line item ID.\n             */\n            id: string;\n            /**\n             * Line item name.\n             */\n            name: string;\n            /**\n             * Line item description.\n             */\n            description: string;\n            /**\n             * Line item price.\n             */\n            price: number;\n            /**\n             * Line item quantity.\n             */\n            quantity: number;\n            /**\n             * Line item taxes.\n             */\n            taxes?: Invoices.LineItemTax[];\n        };\n        /**\n         * An object that contains tax information for a line item.\n         */\n        type LineItemTax = {\n            /**\n             * Line item tax name.\n             */\n            name: string;\n            /**\n             * Line item tax rate.\n             */\n            rate: number;\n            /**\n             * Line item tax code.\n             */\n            code: string;\n        };\n        /**\n         * An object that contains locale information.\n         */\n        type Locale = {\n            /**\n             * An [IETF language subtag](https://en.wikipedia.org/wiki/IETF_language_tag#List_of_common_primary_language_subtags).\n             * Some common language subtags include:\n             *\n             * + `\"en\"`: English\n             * + `\"es\"`: Spanish\n             * + `\"de\"`: German\n             * + `\"ja\"`: Japanese\n             * + `\"fr\"`: French\n             * + `\"it\"`: Italian\n             */\n            language: string;\n        };\n        /**\n         * An object that contains metadata information.\n         */\n        type MetaData = {\n            /**\n             * Invoice notes.\n             */\n            notes?: string;\n            /**\n             * Legal terms.\n             */\n            legalTerms?: string;\n            /**\n             * URL to legal terms.\n             */\n            sourceUrl?: string;\n            /**\n             * Source that triggered the action. For example, `\"stores\"`.\n             */\n            source?: string;\n            /**\n             * ID of the trigger source. For example, an order ID.\n             */\n            sourceRefId?: string;\n        };\n        /**\n         * An object that contains information about an invoice payment.\n         */\n        type Payment = {\n            /**\n             * Payment id.\n             */\n            id: string;\n            /**\n             * Payment type, describing how the payment was made.\n             */\n            type: string;\n            /**\n             * Payment amount.\n             */\n            amount: number;\n            /**\n             * Payment date.\n             */\n            date: Date;\n        };\n        /**\n         * An object that contains response information.\n         */\n        type Response = {\n            /**\n             * ID and version information.\n             */\n            id: Invoices.IdAndVersion;\n        };\n        /**\n         * An object that contains street address information.\n         */\n        type StreetAddress = {\n            /**\n             * Street address information.\n             */\n            value: string;\n            /**\n             * Street address type. Either `\"Number\"` or `\"Name\"`.\n             */\n            type: string;\n        };\n        /**\n         * An object that contains price totals.\n         */\n        type TotalPrice = {\n            /**\n             * Discount amount.\n             */\n            discountAmount: number;\n            /**\n             * List of itemized fees.\n             */\n            fees: Invoices.ItemizedFee[];\n            /**\n             * Sum of line item tax amounts.\n             */\n            taxedAmount: number;\n            /**\n             * Subtotal of the line items without the tax included.\n             */\n            subtotal: number;\n            /**\n             * Total price of the itemized fees and taxes.\n             */\n            total: number;\n        };\n    }\n    /**\n     * The wix-billing-backend module contains functionality for working with\n     *  your site's [price quotes](https://support.wix.com/en/article/wix-price-quotes-creating-and-sending-price-quotes-to-clients)\n     *  from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-billing-backend.PriceQuotes.html#)\n     */\n    namespace PriceQuotes {\n        /**\n         * An object that contains address information.\n         */\n        type Address = {\n            /**\n             * Address line.\n             */\n            addressLine?: string;\n            /**\n             * Secondary address line.\n             */\n            addressLine2?: string;\n            /**\n             * Address subdivision.\n             */\n            subdivision?: string;\n            /**\n             * Address city.\n             */\n            city?: string;\n            /**\n             * Address postal code.\n             */\n            postalCode?: string;\n            /**\n             * Address street address.\n             */\n            streetAddress?: PriceQuotes.StreetAddress;\n            /**\n             * Address country.\n             */\n            country?: string;\n            /**\n             * Address in human readable format.\n             */\n            formatted?: string;\n        };\n        /**\n         * An object that contains calculated tax information.\n         */\n        type CalculatedTax = {\n            /**\n             * Tax name.\n             */\n            name: string;\n            /**\n             * Tax rate.\n             */\n            rate: number;\n            /**\n             * Total value of taxable goods.\n             */\n            taxable: number;\n            /**\n             * Total amount of tax applied.\n             */\n            taxed: number;\n            /**\n             * Tax code.\n             */\n            code: string;\n        };\n        /**\n         * An object that contains customer information.\n         */\n        type Customer = {\n            /**\n             * Contact ID.\n             */\n            contactId: string;\n            /**\n             * Email address.\n             */\n            email: string;\n            /**\n             * Physical address.\n             */\n            address?: PriceQuotes.Address;\n            /**\n             * Physical billing address.\n             */\n            billingAddress?: PriceQuotes.Address;\n            /**\n             * Physical shipping address.\n             */\n            shippingAddress?: PriceQuotes.Address;\n            /**\n             * Phone number.\n             */\n            phone?: string;\n            /**\n             * Company name.\n             */\n            company?: string;\n            /**\n             * Company ID. Can be used to store company VAT ID.\n             */\n            companyId?: string;\n            /**\n             * Full name.\n             */\n            fullName?: string;\n            /**\n             * First name.\n             */\n            firstName?: string;\n            /**\n             * Last name.\n             */\n            lastName?: string;\n        };\n        /**\n         * An object that contains discount information.\n         */\n        type Discount = {\n            /**\n             * Discount amount.\n             */\n            value: number;\n            /**\n             * Discount type.\n             *\n             * Either:\n             *\n             * + `\"Fixed\"`: A fixed amount is deducted.\n             * + `\"Percentage\"`: A percentage of the total amount is deducted.\n             */\n            type: string;\n        };\n        /**\n         * An object that contains information used to send a price quote to a customer.\n         */\n        type EmailInfo = {\n            /**\n             * Email subject.\n             */\n            subject: string;\n            /**\n             * Email body. Limited formatting in the email body can be\n             * achieved using standard JavaScript string formatting.\n             */\n            body: string;\n        };\n        /**\n         * An object that contains ID and version information.\n         */\n        type IdAndVersion = {\n            /**\n             * Price quote ID.\n             */\n            id: string;\n            /**\n             * Price quote version.\n             */\n            version: number;\n        };\n        /**\n         * An object that contains itemized fee information.\n         */\n        type ItemizedFee = {\n            /**\n             * Item fee name.\n             */\n            name: string;\n            /**\n             * Item fee price.\n             */\n            price: number;\n        };\n        /**\n         * An object that contains line item information.\n         */\n        type LineItem = {\n            /**\n             * Line item ID.\n             */\n            id: string;\n            /**\n             * Line item name.\n             */\n            name: string;\n            /**\n             * Line item description.\n             */\n            description: string;\n            /**\n             * Line item price.\n             */\n            price: number;\n            /**\n             * Line item quantity.\n             */\n            quantity: number;\n            /**\n             * Line item taxes.\n             */\n            taxes?: PriceQuotes.LineItemTax[];\n        };\n        /**\n         * An object that contains tax information for a line item.\n         */\n        type LineItemTax = {\n            /**\n             * Line item tax name.\n             */\n            name: string;\n            /**\n             * Line item tax rate.\n             */\n            rate: number;\n            /**\n             * Line item tax code.\n             */\n            code: string;\n        };\n        /**\n         * An object that contains locale information.\n         */\n        type Locale = {\n            /**\n             * An IETF language tag.\n             * Some common language tags include:\n             *\n             * + `\"en-US\"`: English, United States\n             * + `\"en-GB\"`: English, British\n             * + `\"es-ES\"`: Spanish, Spain\n             * + `\"de-DE\"`: German, Germany\n             * + `\"ja-JP\"`: Japanese, Japan\n             * + `\"fr-CH\"`: French, Switzerland\n             * + `\"it-IT\"`: Italian, Italy\n             */\n            language: string;\n        };\n        /**\n         * An object that contains metadata information.\n         */\n        type MetaData = {\n            /**\n             * Price quote notes.\n             */\n            notes?: string;\n            /**\n             * Legal terms.\n             */\n            legalTerms?: string;\n            /**\n             * URL to legal terms.\n             */\n            sourceUrl?: string;\n            /**\n             * Source that triggered the action. For example, `\"stores\"`.\n             */\n            source?: string;\n            /**\n             * ID of the trigger source. For example, an order ID.\n             */\n            sourceRefId?: string;\n        };\n        /**\n         * An object that contains information about price quote payment terms.\n         */\n        type PaymentTerms = {\n            /**\n             * Price quote term type.\n             *  One of:\n             *\n             *  + `\"DueOnReceipt\"`\n             *  + `\"NetPlus\"`\n             *  + `\"TimeStamp\"`\n             *  + `\"Other\"`\n             */\n            termType: string;\n            /**\n             * Term data. When `termType` is `\"NetPlus\"`,\n             *  `termData` contains a positive integer indicating how many days after the charge\n             *  payment is due.\n             */\n            termData?: string;\n        };\n        /**\n         * An object that represents a price quote.\n         */\n        type PriceQuote = {\n            /**\n             * ID and version of the price quote.\n             */\n            id: PriceQuotes.IdAndVersion;\n            /**\n             * Status of the price quote.\n             *  One of:\n             *\n             *  + `\"Draft\"`\n             *  + `\"Sent\"`\n             *  + `\"Processing\"`\n             *  + `\"Accepted\"`\n             *  + `\"Rejected\"`\n             *  + `\"Expired\"`\n             *  + `\"Void\"`\n             *  + `\"Deleted\"`\n             *  + `\"Invoiced\"`\n             */\n            status: string;\n            /**\n             * Number of the price quote, unique within your site.\n             */\n            number: string;\n            /**\n             * Title of the price quote.\n             */\n            title: string;\n            /**\n             * Currency code.\n             */\n            currency: string;\n            /**\n             * Locale information.\n             */\n            locale: PriceQuotes.Locale;\n            /**\n             * Customer listed on the price quote.\n             */\n            customer: PriceQuotes.Customer;\n            /**\n             * Line items listed on the price quote.\n             */\n            lineItems: PriceQuotes.LineItem[];\n            /**\n             * Discount included in the price quote.\n             */\n            discount: PriceQuotes.Discount;\n            /**\n             * Payment terms.\n             */\n            paymentTerms: PriceQuotes.PaymentTerms;\n            /**\n             * List of taxes calculated based on the line items.\n             */\n            taxes: PriceQuotes.CalculatedTax[];\n            /**\n             * Total values.\n             */\n            totals: PriceQuotes.TotalPrice;\n            /**\n             * Additional metadata included in the price quote.\n             */\n            metadata: PriceQuotes.MetaData;\n            /**\n             * Price quote company ID.\n             */\n            companyId: string;\n            /**\n             * Price quote invoice ID, when converting price quote to invoice.\n             */\n            invoiceId: string;\n            /**\n             * Dates associated with the price quote.\n             */\n            dates: PriceQuotes.PriceQuoteDates;\n        };\n        /**\n         * An object that contains date information for a price quote.\n         */\n        type PriceQuoteDates = {\n            /**\n             * Date the price quote was issued.\n             */\n            issueDate: Date;\n            /**\n             * Date that the price quote is valid until.\n             */\n            validThroughDate: Date;\n            /**\n             * Date the price quote was accepted.\n             */\n            acceptanceDate?: Date;\n            /**\n             * Date the price quote was last seen.\n             */\n            lastSeenDate?: Date;\n        };\n        /**\n         * An object that contains information used when creating or updating a price quote.\n         */\n        type PriceQuoteInfo = {\n            /**\n             * Price quote ID, as a UUID.\n             */\n            id?: string;\n            /**\n             * Title of the price quote.\n             */\n            title: string;\n            /**\n             * Customer listed on the price quote.\n             */\n            customer: PriceQuotes.Customer;\n            /**\n             * Currency code.\n             */\n            currency: string;\n            /**\n             * Line items listed on the price quote.\n             */\n            lineItems: PriceQuotes.LineItem[];\n            /**\n             * Discount included in the price quote.\n             */\n            discount?: PriceQuotes.Discount;\n            /**\n             * Payment terms.\n             */\n            paymentTerms: PriceQuotes.PaymentTerms;\n            /**\n             * Price quote metadata.\n             */\n            metadata?: PriceQuotes.MetaData;\n            /**\n             * Dates associated with the price quote.\n             */\n            dates: PriceQuotes.PriceQuoteDates;\n        };\n        /**\n         * An object that contains response information.\n         */\n        type Response = {\n            /**\n             * ID and version information.\n             */\n            id: PriceQuotes.IdAndVersion;\n        };\n        /**\n         * An object that contains street address information.\n         */\n        type StreetAddress = {\n            /**\n             * Street address information.\n             */\n            value: string;\n            /**\n             * Street address type. Either `\"Number\"` or `\"Name\"`.\n             */\n            type: string;\n        };\n        /**\n         * An object that contains price totals.\n         */\n        type TotalPrice = {\n            /**\n             * Discount amount.\n             */\n            discountAmount: number;\n            /**\n             * List of itemized fees.\n             */\n            fees: PriceQuotes.ItemizedFee[];\n            /**\n             * Sum of line item tax amounts.\n             */\n            taxedAmount: number;\n            /**\n             * Subtotal of the line items without the tax included.\n             */\n            subtotal: number;\n            /**\n             * Total price of the itemized fees and taxes.\n             */\n            total: number;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-bookings-backend.d.ts",
      "content": "/**\n * The wix-bookings-backend module contains functionality for working with bookings from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.html#)\n */\ndeclare module 'wix-bookings-backend' {\n    /**\n     * The Bookings API provides functionality for updating and managing bookings created in the Wix Bookings app.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.html#bookings)\n     */\n    const bookings: Bookings;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.html#events)\n     */\n    const events: Events;\n    /**\n     * The Resources API provides functionality for creating and managing wix-bookings resources.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.html#resources)\n     */\n    const resources: Resources;\n    /**\n     * The Bookings API provides functionality for creating and managing wix-bookings sessions.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.html#sessions)\n     */\n    const sessions: Sessions;\n    /**\n     * Custom [address](https://www.wix.com/velo/reference/$w/addressinput/value), used when location_type is `\"OWNER_CUSTOM\"`.\n     */\n    type Address = {\n        /**\n         * String containing the full address of this location.\n         */\n        formatted: string;\n        /**\n         * Main address line, usually street and number, as free text.\n         */\n        addressLine1?: string;\n        /**\n         * Free text providing more detailed address info. Usually contains Apt, Suite, and Floor.\n         */\n        addressLine2: string;\n        /**\n         * Street name, number and apartment number.\n         */\n        streetAddress?: StreetAddress;\n        /**\n         * Coordinates of the physical address.\n         */\n        location: AddressLocation;\n        /**\n         * City name.\n         */\n        city: string;\n        /**\n         * Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).\n         */\n        subdivision: string;\n        /**\n         * Country code.\n         */\n        country: string;\n        /**\n         * Zip/postal code.\n         */\n        postalCode: string;\n    };\n    /**\n     * Coordinates of the physical address.\n     */\n    type AddressLocation = {\n        /**\n         * Address latitude.\n         */\n        latitude: number;\n        /**\n         * Address longitude.\n         */\n        longitude: number;\n    };\n    /**\n     * Coordinates of the physical address.\n     */\n    type AddressLocationInfo = {\n        /**\n         * Address latitude.\n         */\n        latitude?: number;\n        /**\n         * Address longitude.\n         */\n        longitude?: number;\n    };\n    /**\n     * Attendance information.\n     */\n    type AttendanceInfo = {\n        /**\n         * Whether the booked contact attended the session. Not available if the booking's status is `CREATED`.\n         *\n         * + `true`: The contact has checked in.\n         * + `false`: The contact was a no-show.\n         */\n        attendanceStatus: boolean;\n        /**\n         * Number of attendees that attended the session. This can be greater than 1 when the booking is made for a group of people.\n         */\n        numberOfAttendees: number;\n    };\n    /**\n     * The final price, currency, down payment, and amount received.\n     */\n    type Balance = {\n        /**\n         * Required payment amount, currency, and any down payment required.\n         */\n        finalPrice: Price;\n        /**\n         * Current total amount paid.\n         */\n        amountReceived: string;\n    };\n    /**\n     * An object describing the entity that was booked.\n     */\n    type BookedEntity = {\n        /**\n         * Price options offered to book this session at the time of booking.\n         */\n        rate: Rate;\n        /**\n         * Location of the session.\n         */\n        location: Location;\n        /**\n         * List of tags for the booking.\n         *\n         * + `INDIVIDUAL`: The booked service is appointment-based.\n         * + `GROUP`: The booked service is a class.\n         * + `COURSE`: The booked service is course.\n         */\n        tags: string[];\n        /**\n         * ID of the booked schedule.\n         */\n        scheduleId: string;\n        /**\n         * Session title at the time of booking.\n         */\n        title: string;\n        /**\n         * Start and end time of the booked sessions.\n         */\n        singleSession?: SingleSession;\n        /**\n         * First start and last end time of the booked sessions.\n         */\n        setOfSessions?: SetOfSessions;\n        /**\n         * ID of the booked service.\n         */\n        serviceId: string;\n        /**\n         * Online conference information.\n         */\n        onlineConference?: OnlineConference;\n    };\n    type BookedResource = {\n        /**\n         * Booked resource ID.\n         */\n        _id: string;\n        /**\n         * Resource's name at the time of booking.\n         */\n        name: string;\n        /**\n         * Resource's email at the time of booking.\n         */\n        email: string;\n    };\n    type Booking = {\n        /**\n         * Booking ID.\n         */\n        _id: string;\n        /**\n         * An object describing the entity that was booked.\n         */\n        bookedEntity: BookedEntity;\n        /**\n         * List of booked resources. Currently, only one is supported. The booked resource would be the staff-member giving the session.\n         */\n        bookedResources: BookedResource[];\n        /**\n         * Form information submitted when booking. FormInfo contains contact details, participants, and other form fields, set up for the service.\n         */\n        formInfo?: Form;\n        /**\n         * Payment Details.\n         */\n        paymentDetails?: PaymentDetails;\n        /**\n         * Booking status.\n         *\n         *  One of:\n         *  - `\"PENDING_CHECKOUT\"` The booking is waiting to be checked out.\n         *  - `\"CONFIRMED\"` The booking has beed approved by the owner.\n         *  - `\"CANCELED\"` The booking has been canceled.\n         *  - `\"PENDING\"` The booking has been created.\n         *  - `\"PENDING_APPROVAL\"` The booking is waiting for the owner to approve or decline.\n         *  - `\"DECLINED\"` The booking was declined by the owner.\n         *\n         */\n        status: string;\n        /**\n         * Attendance information.\n         */\n        attendanceInfo: AttendanceInfo;\n        /**\n         * An object describing the platform and application that made the booking.\n         */\n        bookingSource: BookingSource;\n        /**\n         * External ID provided by the client app on creation.\n         */\n        externalUserId?: string;\n        /**\n         * Date and time the booking was created.\n         */\n        _createdDate: Date;\n    };\n    /**\n     * An object describing the platform and application that made the booking.\n     */\n    type BookingSource = {\n        /**\n         * Platform from which a booking was created\n         *\n         *  One of:\n         *  - `\"WEB\"` Desktop browser.\n         *  - `\"MOBILE_APP\"` Mobile application.\n         *\n         */\n        platform: string;\n        /**\n         * Actor that created this booking.\n         *\n         * One of:\n         *  - `\"BUSINESS\"`\n         *  - `\"CUSTOMER\"`\n         *\n         */\n        actor: string;\n        /**\n         * Wix site ID of the application that created this booking.\n         */\n        appDefId: string;\n        /**\n         * Name of the application that created this booking, as saved in Wix-dev-center at the time of booking.\n         */\n        appName: string;\n    };\n    /**\n     * An object describing the business location.\n     */\n    type BusinessLocation = {\n        /**\n         * ID of the location.\n         */\n        _id: string;\n        /**\n         * Display name of the location.\n         */\n        name: string;\n        /**\n         * Free text describing the location.\n         */\n        description: string;\n        /**\n         * Status of the location. Default is `\"ACTIVE\"`.\n         * One of:\n         *  + `\"ACTIVE\"`\n         *  + `\"IN_ACTIVE\"`\n         */\n        status: string;\n        /**\n         * Type of the location.\n         * One of:\n         *  + `\"UNKNOWN\"`\n         *  + `\"BRANCH\"`\n         *  + `\"OFFICES\"`\n         *  + `\"RECEPTION\"`\n         *  + `\"HEADQUARTERS\"`\n         */\n        locationType: string;\n        /**\n         * Fax number.\n         */\n        fax: string;\n        /**\n         * Time zone.\n         */\n        timeZone: string;\n        /**\n         * Email address.\n         */\n        email: string;\n        /**\n         * Phone number.\n         */\n        phone: string;\n        /**\n         * Address.\n         */\n        address: Address;\n        /**\n         * Location revision, represents the number of changes to the location.\n         */\n        revision: string;\n        /**\n         * Whether the location is archived.\n         * Archived locations can't be updated.\n         */\n        archived: boolean;\n        /**\n         * Whether this is the default location.\n         * There can only be one default location per site. Changes to the default location are made on the **Site Properties** page of the dashboard.\n         * The default location can't be deleted.\n         */\n        default: boolean;\n    };\n    /**\n     * An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`.\n     */\n    type CalendarDateTime = {\n        /**\n         * UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a timezone offset is specified, the time is converted to UTC. For example, if you specify  `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\n         * Required if `localDateTime` is not specified.\n         * If `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's timezone.\n         */\n        timestamp: Date;\n        /**\n         * An object containing the local date and time for the business's timezone.\n         */\n        localDateTime: LocalDateTime;\n    };\n    /**\n     * An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`.\n     */\n    type CalendarDateTimeInfo = {\n        /**\n         * UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a timezone offset is specified, the time is converted to UTC. For example, if you specify  `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\n         * Required if `localDateTime` is not specified.\n         * If `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's timezone.\n         */\n        timestamp?: Date;\n        /**\n         * An object containing the local date and time for the business's timezone.\n         */\n        localDateTime?: LocalDateTimeInfo;\n    };\n    /**\n     * Contact details of the customer making the booking.\n     */\n    type ContactDetails = {\n        /**\n         * Contact's ID.\n         */\n        contactId: string;\n        /**\n         * Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field.\n         */\n        firstName: string;\n        /**\n         * Contact's last name.\n         */\n        lastName: string;\n        /**\n         * Contact's email, used to create a new contact or get existing one from the [CRM API](wix-crm-frontend/introduction).\n         */\n        email: string;\n        /**\n         * Contact's phone number.\n         */\n        phone: string;\n        /**\n         * Contact's time zone.\n         */\n        timeZone: string;\n        /**\n         * Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n         */\n        countryCode: string;\n        /**\n         * Custom [address](https://www.wix.com/velo/reference/$w/addressinput/value), used when location_type is `\"OWNER_CUSTOM\"`.\n         */\n        address: Address;\n    };\n    /**\n     * Coupon details, if a coupon was used to pay for the booking.\n     */\n    type CouponDetails = {\n        /**\n         * Coupon name.\n         */\n        couponName: string;\n        /**\n         * Coupon code.\n         */\n        couponCode: string;\n        /**\n         * Coupon discount amount.\n         */\n        couponDiscount: string;\n        /**\n         * Coupon ID.\n         */\n        couponId: string;\n    };\n    type CustomFormField = {\n        /**\n         * ID of the form field as defined in the form.\n         */\n        _id: string;\n        /**\n         * Value that was submitted for this field.\n         */\n        value: string;\n        /**\n         * Form field's label at the time of submission.\n         */\n        label: string;\n        /**\n         *\n         * One of:\n         *  - `\"SHORT_TEXT\"`\n         *  - `\"LONG_TEXT\"`\n         *  - `\"CHECK_BOX\"`\n         *\n         */\n        valueType: string;\n    };\n    type CustomFormFieldInfo = {\n        /**\n         * ID of the form field as defined in the form.\n         */\n        _id?: string;\n        /**\n         * Value that was submitted for this field.\n         */\n        value?: string;\n        /**\n         *\n         * One of:\n         *  - `\"SHORT_TEXT\"`\n         *  - `\"LONG_TEXT\"`\n         *  - `\"CHECK_BOX\"`\n         *\n         */\n        valueType?: string;\n    };\n    /**\n     * Form information submitted when booking. FormInfo contains contact details, participants, and other form fields, set up for the service.\n     */\n    type Form = {\n        /**\n         * Contact details of the customer making the booking.\n         */\n        contactDetails?: ContactDetails;\n        /**\n         * List of rates and the number of participants for each rate.\n         */\n        paymentSelection: PaymentSelection[];\n        /**\n         * Additional custom fields submitted with the form.\n         */\n        additionalFields?: CustomFormField[];\n    };\n    type LinkedResourceScheduleInfo = {\n        /**\n         * Schedule ID.\n         */\n        scheduleId?: string;\n    };\n    /**\n     * An object containing the local date and time for the business's timezone.\n     */\n    type LocalDateTime = {\n        /**\n         * Year. 4-digit format.\n         */\n        year: number;\n        /**\n         * Month number, from 1-12.\n         */\n        monthOfYear: number;\n        /**\n         * Day of the month, from 1-31.\n         */\n        dayOfMonth: number;\n        /**\n         * Hour of the day in 24-hour format, from 0-23.\n         */\n        hourOfDay: number;\n        /**\n         * Minute, from 0-59.\n         */\n        minutesOfHour: number;\n    };\n    /**\n     * An object containing the local date and time for the business's timezone.\n     */\n    type LocalDateTimeInfo = {\n        /**\n         * Year. 4-digit format.\n         */\n        year?: number;\n        /**\n         * Month number, from 1-12.\n         */\n        monthOfYear?: number;\n        /**\n         * Day of the month, from 1-31.\n         */\n        dayOfMonth?: number;\n        /**\n         * Hour of the day in 24-hour format, from 0-23.\n         */\n        hourOfDay?: number;\n        /**\n         * Minute, from 0-59.\n         */\n        minutesOfHour?: number;\n    };\n    /**\n     * The location of the session.\n     */\n    type Location = {\n        /**\n         * Location type.\n         *\n         *  One of:\n         *  - `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n         *  - `\"OWNER_CUSTOM\"` The address as set when creating the service.\n         *  - `\"CUSTOM\"` The address set for the individual session.\n         *\n         */\n        locationType: string;\n        /**\n         * An object describing the business location.\n         * Valid when `locationType` is `\"OWNER_BUSINESS\"`. Defaults to the business's default location.\n         */\n        businessLocation: BusinessLocation;\n        /**\n         * Custom [address](https://www.wix.com/velo/reference/$w/addressinput/value), used when location_type is `\"OWNER_CUSTOM\"`.\n         */\n        customAddress: Address;\n    };\n    /**\n     * Online conference information.\n     */\n    type OnlineConference = {\n        /**\n         * Participant url.\n         */\n        guestUrl: string;\n        /**\n         * Online conference provider identifier.\n         */\n        providerId: string;\n        /**\n         * Online conference password.\n         */\n        password: string;\n        /**\n         * Online conference description.\n         */\n        description: string;\n    };\n    /**\n     * Authorization options.\n     */\n    type Options = {\n        /**\n         * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n         */\n        suppressAuth?: boolean;\n    };\n    /**\n     * Plan details.\n     */\n    type PaidPlan = {\n        /**\n         * Order ID when the Pricing Plan was purchased.\n         */\n        orderId: string;\n        /**\n         * Benefit ID.\n         */\n        benefitId: string;\n        /**\n         * ID of the pricing plan.\n         */\n        planId: string;\n    };\n    /**\n     * Pricing plan details, if a pricing plan was used to pay for the booking.\n     */\n    type PaidPlanDetails = {\n        /**\n         * Plan details.\n         */\n        plan: PaidPlan;\n        /**\n         * Plan name.\n         */\n        planName: string;\n        /**\n         * Transaction ID created in the Pricing Plans service when the member redeemed a benefit to pay for this booking.\n         */\n        transactionId: string;\n    };\n    /**\n     * Whether to notify the participants about the booking confirmation, and an optional custom message.\n     */\n    type ParticipantNotificationInfo = {\n        /**\n         * Whether to notify participants about the change.\n         */\n        notifyParticipants?: boolean;\n        /**\n         * Custom message to send to the participants.\n         */\n        message?: string;\n    };\n    /**\n     * Payment Details.\n     */\n    type PaymentDetails = {\n        /**\n         * Checkout ID.\n         */\n        _id: string;\n        /**\n         * Final price, currency, down payment, and amount received.\n         */\n        balance: Balance;\n        /**\n         * Coupon details, if a coupon was used to pay for the booking.\n         */\n        couponDetails: CouponDetails;\n        /**\n         * Checkout current state.\n         *\n         *  One of:\n         *  - `\"COMPLETE\"` Amount paid in full.\n         *  - `\"PENDING_CASHIER\"` An online payment is in progress and awaiting a response.\n         *  - `\"REJECTED\"` The checkout request was rejected by the online payment process.\n         *  - `\"READY\"` All online checkout requirements were met. For example, when the service uses pay in person, or a partial or down payment was paid online.\n         *  - `\"CANCELED\"`  Checkout canceled.\n         *  - `\"REFUNDED\"` When using Pricing Plans, if the booking was canceled, it will be automatically refunded.\n         *  - `\"PENDING_MERCHANT\"` An online payment was made, but the owner has not set up the necessary details.\n         *  - `\"WIX_PAY_FAILURE\"` Online payment failure.\n         *  - `\"PENDING_MARK_AS_PAID\"` Offline transaction. The transaction will be complete when explicitly marked as paid.\n         *  - `\"PENDING_BUYER\"`  The transaction started, but is waiting for confirmation on the buyer's side. This can be due to credit or fraud checking on the provider's side, a long bank transfer, or similar processes.\n         *\n         */\n        state: string;\n        /**\n         * In case of wix-pay service, holds all payment history for a booking.\n         */\n        wixPayMultipleDetails: WixPayDetails[];\n        /**\n         * Pricing plan details, if a pricing plan was used to pay for the booking.\n         */\n        pricingPlanDetails: PaidPlanDetails;\n    };\n    type PaymentSelection = {\n        /**\n         * Label corresponding to the booking rate. Default is free/custom.\n         */\n        rateLabel: string;\n        /**\n         * Number of participants for this rate.\n         */\n        numberOfParticipants: number;\n    };\n    type PaymentSelectionInfo = {\n        /**\n         * Label corresponding to the booking rate. Default is free/custom.\n         */\n        rateLabel?: string;\n        /**\n         * Number of participants for this rate.\n         */\n        numberOfParticipants?: number;\n    };\n    /**\n     * `key` of type string, `value` of type object\n     */\n    type Price = {\n        /**\n         * Required payment amount.\n         */\n        amount: string;\n        /**\n         * Currency in which the amount is quoted.\n         */\n        currency: string;\n        /**\n         * Amount of a down payment or deposit as part of the transaction.\n         */\n        downPayAmount: string;\n    };\n    /**\n     * Price options offered to book this session at the time of booking.\n     */\n    type Rate = {\n        /**\n         * Set of key-value pairs.Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\n         */\n        labeledPriceOptions: any;\n        /**\n         * Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\n         */\n        priceText: string;\n    };\n    /**\n     * Resource details.\n     */\n    type Resource = {\n        /**\n         * Resource ID.\n         */\n        _id: string;\n        /**\n         * Resource name.\n         */\n        name: string;\n        /**\n         * Resource email address.\n         */\n        email?: string;\n        /**\n         * Resource phone number.\n         */\n        phone?: string;\n        /**\n         * Resource description.\n         */\n        description?: string;\n        /**\n         * Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'.\n         */\n        tags?: string[];\n        /**\n         * List of IDs of schedules owned by this resource.\n         */\n        scheduleIds: string[];\n        /**\n         * Resource status.\n         *\n         *  One of:\n         *  - `\"CREATED\"` Default status.\n         *  - `\"DELETED\"` The resource was deleted.\n         *  - `\"UPDATED\"` The resource was updated.\n         *\n         */\n        status: string;\n    };\n    /**\n     * First start and last end time of the booked sessions.\n     */\n    type SetOfSessions = {\n        /**\n         * Start time of the first session.\n         */\n        firstSessionStart: Date;\n        /**\n         * End time of the last session.\n         */\n        lastSessionEnd: Date;\n    };\n    /**\n     * Start and end time of the booked sessions.\n     */\n    type SingleSession = {\n        sessionId: string;\n        /**\n         * Start time of the session.\n         */\n        start: Date;\n        /**\n         * End time of the session.\n         */\n        end: Date;\n    };\n    /**\n     * Street name, number and apartment number.\n     */\n    type StreetAddress = {\n        /**\n         * Street number.\n         */\n        number: string;\n        /**\n         * Street name.\n         */\n        name: string;\n        /**\n         * Apartment number.\n         */\n        apt: string;\n    };\n    /**\n     * Street name, number and apartment number.\n     */\n    type StreetAddressInfo = {\n        /**\n         * Street number.\n         */\n        number?: string;\n        /**\n         * Street name.\n         */\n        name?: string;\n        /**\n         * Apartment number.\n         */\n        apt?: string;\n    };\n    type WixPayDetails = {\n        /**\n         * Wix Pay payment transaction ID.\n         */\n        txId: string;\n        /**\n         * Wix Pay payment order ID.\n         */\n        orderId: string;\n        /**\n         * Order amount sent to the Wix Pay system.\n         */\n        orderAmount: string;\n        /**\n         * Transaction status\n         *\n         *  One of:\n         *  - `\"CREATED\"`  The transaction has been started.\n         *  - `\"PENDING_MERCHANT\"` An online payment was made, but the owner has not set up the necessary details.\n         *  - `\"COMPLETE\"`  The current part of the payment was completed.\n         *  - `\"FAILED\"`  The Wix online payment system is unavailable or failed processing.\n         *  - `\"DECLINED\"` The payment was declined.\n         *  - `\"PENDING_MARK_AS_PAID\"` Offline transaction. The transaction will be complete when explicitly marked as paid.\n         *  - `\"CANCELED\"` The transaction was canceled.\n         *\n         */\n        orderStatus: string;\n        /**\n         * Date and time that the order was approved.\n         */\n        orderApprovalTime: Date;\n        /**\n         * Payment vendor name. The company processing the payment, such as Pay Pal or a credit card company. `inPerson` is used for cash payments.\n         */\n        paymentVendorName: string;\n    };\n    /**\n     * **Deprecated.**\n     * The Bookings API provides functionality for updating and managing bookings created in the Wix Bookings app.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.html#)\n     */\n    interface Bookings {\n        /**\n         * **Deprecated.**\n         * Cancel Booking has been replaced with the Bookings V2 [Cancel Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/cancel-booking?apiView=SDK) SDK method and will be removed on June 30, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.html#cancelBooking)\n         */\n        cancelBooking(bookingId: string, options: Bookings.CancelBookingOptions): Promise<Bookings.CancelBookingResult>;\n        /**\n         * **Deprecated.**\n         * Confirm Booking has been replaced with the Bookings V2 [Confirm Or Decline Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/confirm-or-decline-booking?apiView=SDK) SDK method and will be removed on June 30, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.html#confirmBooking)\n         */\n        confirmBooking(bookingId: string, options: Bookings.ConfirmBookingOptions): Promise<string>;\n        /**\n         * **Deprecated.**\n         * Decline Booking has been replaced with the Bookings V2 [Confirm Or Decline Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/confirm-or-decline-booking?apiView=SDK) SDK method and will be removed on June 30, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.html#declineBooking)\n         */\n        declineBooking(bookingId: string, options: Bookings.DeclineBookingOptions): Promise<Bookings.DeclineBookingResult>;\n        /**\n         * **Deprecated.**\n         * Query Bookings has been replaced with the Bookings V2 [Query Bookings](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-reader-v2/query-extended-bookings?apiView=SDK) SDK method and will be removed on June 30, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.html#queryBookings)\n         */\n        queryBookings(): Bookings.BookingsQueryBuilder;\n        /**\n         * **Deprecated.**\n         * Set Attendance has been replaced with the Bookings V2 [Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance?apiView=SDK) SDK method and will be removed on June 30, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.html#setAttendance)\n         */\n        setAttendance(bookingId: string, attendanceInfo: Bookings.AttendanceInfo, options?: Options): Promise<Booking>;\n        /**\n         * **Deprecated.**\n         * Set Booking As Paid will be removed on June 30, 2026. When using an [eCommerce Checkout](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/checkout/introduction?apiView=SDK), Bookings V2 automatically updates the booking status and paymentStatus from the [eCommerce Order](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/introduction?apiView=SDK). When using a custom checkout, call [Confirm Or Decline Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/confirm-or-decline-booking?apiView=SDK) to update the payment status. Learn more from the [Bookings V2 end-to-end flows](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows?apiView=SDK).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.html#setBookingAsPaid)\n         */\n        setBookingAsPaid(bookingId: string, options?: Options): Promise<Booking>;\n        /**\n         * **Deprecated.**\n         * Update Customer Info will be removed on June 30, 2026. Bookings V2 integrates with the [Wix Forms API](https://dev.wix.com/docs/api-reference/business-solutions/bookings/wix-forms-integration?apiView=SDK). You can call [Update Submission](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/update-submission?apiView=SDK) in the Forms API to update customer information.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.html#updateCustomerInfo)\n         */\n        updateCustomerInfo(bookingId: string, formInfo: Bookings.FormInfo, options?: Options): Promise<Booking>;\n    }\n    /**\n     * **Deprecated.**\n     * Events that are fired by actions related to Wix Bookings.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * **Deprecated.**\n         * The onBookingCanceled event has been deprecated and will be removed on June 30, 2026. Use the Bookings V2 [Booking Canceled](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/booking-canceled?apiView=SDK) SDK event instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Events.html#onBookingCanceled)\n         */\n        onBookingCanceled(event: Events.BookingEvent): void;\n        /**\n         * **Deprecated.**\n         * The onBookingConfirmed event has been deprecated and will be removed on June 30, 2026. Use the Bookings V2 [Booking Confirmed](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/booking-confirmed?apiView=SDK) SDK event instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Events.html#onBookingConfirmed)\n         */\n        onBookingConfirmed(event: Events.BookingEvent): void;\n        /**\n         * **Deprecated.**\n         * The onBookingDeclined event has been deprecated and will be removed on June 30, 2026. Use the Bookings V2 [Booking Declined](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/booking-declined?apiView=SDK) SDK event instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Events.html#onBookingDeclined)\n         */\n        onBookingDeclined(event: Events.BookingEvent): void;\n        /**\n         * **Deprecated.**\n         * The onBookingRequestCreated event has been deprecated and will be removed on June 30, 2026. Use the Bookings V2 [Booking Created](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/booking-created?apiView=SDK) SDK event instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Events.html#onBookingRequestCreated)\n         */\n        onBookingRequestCreated(event: Events.BookingEvent): void;\n        /**\n         * **Deprecated.**\n         * The onBookingScheduleUpdated event has been deprecated and will be removed on June 30, 2026. Use the Bookings V2 [Booking Rescheduled](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/booking-rescheduled?apiView=SDK), [Booking Canceled](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/booking-canceled?apiView=SDK), and [Booking Updated](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/booking-updated?apiView=SDK) SDK events instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Events.html#onBookingScheduleUpdated)\n         */\n        onBookingScheduleUpdated(event: Events.BookingEvent): void;\n        /**\n         * **Deprecated.**\n         * The onBookingUpdated event has been deprecated and will be removed on June 30, 2026. Use the Bookings V2 [Booking Updated](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/booking-updated?apiView=SDK) SDK event instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Events.html#onBookingUpdated)\n         */\n        onBookingUpdated(event: Events.BookingEvent): void;\n    }\n    /**\n     * **Deprecated.**\n     * The Bookings Resources API provides functionality for creating, managing, and querying resources.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.html#)\n     */\n    interface Resources {\n        /**\n         * **Deprecated.**\n         * Create Resource has been replaced with the [Create Resource](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/create-resource) and [Create Staff Member](https://dev.wix.com/docs/sdk/backend-modules/bookings/staff-members/create-staff-member) SDK methods and will be removed on March 31, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.html#createResource)\n         */\n        createResource(resourceInfo: Resources.ResourceInfo, scheduleInfo: Resources.ResourceScheduleInfo[], options?: Options): Promise<Resource>;\n        /**\n         * **Deprecated.**\n         * Delete Resource has been replaced with [Delete Resource](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/delete-resource) and [Delete Staff Member](https://dev.wix.com/docs/sdk/backend-modules/bookings/staff-members/delete-staff-member) SDK methods and will be removed on March 31, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.html#deleteResource)\n         */\n        deleteResource(resourceId: string, options?: Options): Promise<string>;\n        /**\n         * **Deprecated.**\n         * Query Resource Catalog has been replaced with [Query Resources](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/query-resources) and [Query Staff Members](https://dev.wix.com/docs/sdk/backend-modules/bookings/staff-members/query-staff-members) SDK methods and will be removed on March 31, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.html#queryResourceCatalog)\n         */\n        queryResourceCatalog(): Resources.ResourceCatalogQueryBuilder;\n        /**\n         * **Deprecated.**\n         * Update Resource has been replaced with [Update Resource](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/update-resource) and [Update Staff Member](https://dev.wix.com/docs/sdk/backend-modules/bookings/staff-members/update-staff-member) SDK methods and will be removed on March 31, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.html#updateResource)\n         */\n        updateResource(id: string, resourceInfo: Resources.UpdateResourceInfo, options?: Options): Promise<Resource>;\n        /**\n         * **Deprecated.**\n         * Update Schedule has been replaced with [Update Schedule](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/update-schedule) and [Assign Working Hours Schedule](https://dev.wix.com/docs/sdk/backend-modules/bookings/staff-members/assign-working-hours-schedule) SDK methods and will be removed on March 31, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.html#updateResourceSchedule)\n         */\n        updateResourceSchedule(resourceId: string, scheduleId: string, scheduleInfo: Resources.ResourceScheduleInfo, options?: Options): Promise<Resources.ResourceSchedule>;\n    }\n    /**\n     * **Deprecated.**\n     * The Sessions API provides functionality for creating, managing, and querying sessions.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.html#)\n     */\n    interface Sessions {\n        /**\n         * **Deprecated.**\n         * Create Session has been replaced with the [Create Event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction?apiView=SDK) SDK method and will be removed on June 30, 2026. Note that Bookings V2 [Create Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/create-booking?apiView=SDK) automatically creates events.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.html#createSession)\n         */\n        createSession(sessionInfo: Sessions.SessionInfo, options?: Options): Promise<Sessions.Session>;\n        /**\n         * **Deprecated.**\n         * Delete Session has been replaced with the [Cancel Event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/cancel-event?apiView=SDK) SDK method and will be removed on June 30, 2026. Note that Bookings V2 [Cancel Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/cancel-booking?apiView=SDK) automatically cancels events.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.html#deleteSession)\n         */\n        deleteSession(sessionId: string, options?: Sessions.DeleteSessionOptions): Promise<string>;\n        /**\n         * **Deprecated.**\n         * Get Session has been replaced with the [Get Event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/get-event?apiView=SDK) SDK method and will be removed on June 30, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.html#getSession)\n         */\n        getSession(sessionId: string, options?: Options): Promise<Sessions.Session>;\n        /**\n         * **Deprecated.**\n         * Query Sessions has been replaced with the [Query Events](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/query-events) SDK method and will be removed on June 30, 2026.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.html#querySessions)\n         */\n        querySessions(): Sessions.SessionQueryBuilder;\n        /**\n         * **Deprecated.**\n         * Update Session has been replaced with the [Update Event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction?apiView=SDK) SDK method and will be removed on June 30, 2026. Note that Bookings V2 [Reschedule Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/introduction?apiView=SDK) automatically updates events.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.html#updateSession)\n         */\n        updateSession(sessionId: string, sessionInfo: Sessions.UpdateSessionInfo, options?: Options): Promise<Sessions.Session>;\n    }\n    /**\n     * **Deprecated.**\n     * The Bookings API provides functionality for updating and managing bookings created in the Wix Bookings app.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.html#)\n     */\n    namespace Bookings {\n        /**\n         * Attendance information for the booking\n         */\n        type AttendanceInfo = {\n            /**\n             * Whether the booked contact attended the session. Not available if the booking's status is `CREATED`.\n             *\n             * + `true`: The contact has checked in.\n             * + `false`: The contact was a no-show.\n             */\n            attended?: boolean;\n            /**\n             * Number of attendees that attended the session. This can be greater than 1 when the booking is made for a group of people.\n             */\n            numberOfAttendees?: number;\n        };\n        type CancelBookingOptions = {\n            /**\n             * Whether to notify the participants about the booking confirmation, and an optional custom message.\n             */\n            participantNotification?: ParticipantNotificationInfo;\n            /**\n             * Sets the cancel booking flow behavior.\n             */\n            flowControlSettings?: Bookings.FlowControlSettingsInfo;\n            /**\n             * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth?: boolean;\n        };\n        type CancelBookingResult = {\n            /**\n             * ID of the canceled booking.\n             */\n            bookingId: string;\n        };\n        type ConfirmBookingOptions = {\n            /**\n             * Whether to notify the participants about the booking confirmation, and an optional custom message.\n             */\n            participantNotification?: ParticipantNotificationInfo;\n            /**\n             * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth?: boolean;\n        };\n        /**\n         * Contact details of the customer making the booking.\n         */\n        type ContactDetails = {\n            /**\n             * Contact's ID.\n             */\n            contactId?: string;\n            /**\n             * Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field.\n             */\n            firstName?: string;\n            /**\n             * Contact's last name.\n             */\n            lastName?: string;\n            /**\n             * Contact's email, used to create a new contact or get existing one from the [CRM API](wix-crm-frontend/introduction).\n             */\n            email?: string;\n            /**\n             * Contact's phone number.\n             */\n            phone?: string;\n            /**\n             * Contact's time zone.\n             */\n            timeZone?: string;\n            /**\n             * Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n             */\n            countryCode?: string;\n            /**\n             * Contact's full [address](https://www.wix.com/velo/reference/$w/addressinput/value).\n             */\n            address?: Bookings.OwnerAddress;\n        };\n        type DeclineBookingOptions = {\n            /**\n             * Whether to notify the participants about the booking confirmation, and an optional custom message.\n             */\n            participantNotification?: ParticipantNotificationInfo;\n            /**\n             * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth?: boolean;\n        };\n        type DeclineBookingResult = {\n            /**\n             * ID of the declined booking.\n             */\n            bookingId: string;\n        };\n        /**\n         * Sets the cancel booking flow behavior.\n         */\n        type FlowControlSettingsInfo = {\n            /**\n             * Whether to ignore the service's cancellation policy.\n             *\n             *\n             *  Requires \"Manage Wix Bookings App\" and \"Manage Bookings' Calendar\" [roles](https://support.wix.com/en/article/roles-permissions-overview#bookings-admin).\n             *\n             */\n            ignoreCancellationPolicy?: boolean;\n        };\n        /**\n         * Updated form info and contact details\n         */\n        type FormInfo = {\n            /**\n             * List of rates and the number of participants for each rate.\n             */\n            paymentSelection?: PaymentSelectionInfo[];\n            /**\n             * Additional custom fields submitted with the form.\n             */\n            additionalFields?: CustomFormFieldInfo[];\n            /**\n             * Contact details of the customer making the booking.\n             */\n            contactDetails?: Bookings.ContactDetails;\n        };\n        /**\n         * Contact full [address](https://www.wix.com/velo/reference/$w/addressinput/value).\n         */\n        type OwnerAddress = {\n            /**\n             * Main address line, usually street and number, as free text.\n             */\n            addressLine1?: string;\n            /**\n             * Street name, number and apartment number.\n             */\n            streetAddress?: StreetAddressInfo;\n            /**\n             * String containing the full address of this location.\n             */\n            formatted?: string;\n            /**\n             * Free text providing more detailed address info. Usually contains Apt, Suite, and Floor.\n             */\n            addressLine2?: string;\n            /**\n             * Coordinates of the physical address.\n             */\n            location?: AddressLocationInfo;\n            /**\n             * City name.\n             */\n            city?: string;\n            /**\n             * Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).\n             */\n            subdivision?: string;\n            /**\n             * Country code.\n             */\n            country?: string;\n            /**\n             * Zip/postal code.\n             */\n            postalCode?: string;\n        };\n        /**\n         * Contains functionality for refining a Bookings query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#)\n         */\n        interface BookingsQueryBuilder {\n            /**\n             * Adds a sort to a query, sorting by the specified properties in ascending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#ascending)\n             */\n            ascending(...propertyName: string[]): Bookings.BookingsQueryBuilder;\n            /**\n             * Adds a sort to a query or sort, sorting by the specified properties in descending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#descending)\n             */\n            descending(...propertyName: string[]): Bookings.BookingsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): Bookings.BookingsQueryBuilder;\n            /**\n             * Returns the bookings that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#find)\n             */\n            find(options?: BookingsQueryBuilder.QueryOptions): Promise<Bookings.BookingsQueryResult>;\n            /**\n             * Refines a query to match items whose specified property value is greater than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#ge)\n             */\n            ge(propertyName: string, value: string | number | Date): Bookings.BookingsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is greater than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#gt)\n             */\n            gt(propertyName: string, value: string | number | Date): Bookings.BookingsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property contains any of the specified `value` parameters.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#hasSome)\n             */\n            hasSome(propertyName: string, value: string[]): Bookings.BookingsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is less than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#le)\n             */\n            le(propertyName: string, value: string | number | Date): Bookings.BookingsQueryBuilder;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#limit)\n             */\n            limit(limit: number): Bookings.BookingsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is less than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#lt)\n             */\n            lt(propertyName: string, value: string | number | Date): Bookings.BookingsQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#skip)\n             */\n            skip(skip: number): Bookings.BookingsQueryBuilder;\n        }\n        /**\n         * The results of a bookings query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#)\n         */\n        interface BookingsQueryResult {\n            /**\n             * Returns the index of the current results page number.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#currentPage)\n             */\n            readonly currentPage: number;\n            /**\n             * Returns an array of bookings that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#items)\n             */\n            readonly items: Booking[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the BookingsQueryBuilder object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#query)\n             */\n            readonly query: Bookings.BookingsQueryBuilder;\n            /**\n             * Returns the total number of items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#totalCount)\n             */\n            readonly totalCount: number;\n            /**\n             * Returns the total number of pages the query produced.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#totalPages)\n             */\n            readonly totalPages: number;\n            /**\n             * Indicates if the query has more results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#hasNext)\n             */\n            hasNext(): boolean;\n            /**\n             * Indicates the query has previous results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#hasPrev)\n             */\n            hasPrev(): boolean;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#next)\n             */\n            next(): Promise<Bookings.BookingsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#prev)\n             */\n            prev(): Promise<Bookings.BookingsQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a Bookings query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryBuilder.html#)\n         */\n        namespace BookingsQueryBuilder {\n            /**\n             * Options to use when performing a query.\n             */\n            type QueryOptions = {\n                /**\n                 * Prevents permission checks from running for the `find()` operation. Defaults to `false`.\n                 */\n                suppressAuth?: boolean;\n            };\n        }\n        /**\n         * The results of a bookings query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Bookings.BookingsQueryResult.html#)\n         */\n        namespace BookingsQueryResult {\n        }\n    }\n    /**\n     * **Deprecated.**\n     * Events that are fired by actions related to Wix Bookings.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * An object representing a booking event.\n         */\n        type BookingEvent = {\n            /**\n             * Action that triggered the event. Each event has its own set of possible trigger values.\n             */\n            trigger: string;\n            /**\n             * Booking object after the event was triggered.\n             */\n            booking: Booking;\n            /**\n             * Booking object before the event was triggered.\n             */\n            previousBooking: Booking;\n        };\n    }\n    /**\n     * **Deprecated.**\n     * The Bookings Resources API provides functionality for creating, managing, and querying resources.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.html#)\n     */\n    namespace Resources {\n        type LinkedSchedulesInfo = {\n            /**\n             * Schedule ID.\n             */\n            scheduleId: string;\n            /**\n             * Owner ID, of the linked schedule.\n             */\n            scheduleOwnerId: string;\n        };\n        /**\n         * Resource details.\n         */\n        type ResourceInfo = {\n            /**\n             * Resource name.\n             */\n            name: string;\n            /**\n             * Resource email address.\n             */\n            email?: string;\n            /**\n             * Resource phone number.\n             */\n            phone?: string;\n            /**\n             * Resource description.\n             */\n            description?: string;\n            /**\n             * Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'.\n             */\n            tags?: string[];\n        };\n        /**\n         * ResourceCatalog query results.\n         */\n        type ResourceQueryResults = {\n            /**\n             * Resource.\n             */\n            resource: Resource;\n            /**\n             * Resource's schedules.\n             */\n            schedules: Resources.ResourceSchedule[];\n            /**\n             * History of slugified resource names.\n             */\n            slugs: Resources.Slug[];\n        };\n        type ResourceSchedule = {\n            /**\n             * Schedule ID.\n             */\n            _id: string;\n            /**\n             * ID of the schedule's owner entity. This may be a resource ID or a service ID.\n             */\n            scheduleOwnerId: string;\n            /**\n             * An object describing how to calculate the schedule's availability.\n             * An empty object indicates that the schedule is not available for booking.\n             */\n            availability: Resources.ResourceScheduleAvailability;\n        };\n        /**\n         * An object describing how to calculate the schedule's availability.\n         */\n        type ResourceScheduleAvailability = {\n            /**\n             * Date and time the schedule starts to be available for booking.\n             */\n            start: Date;\n            /**\n             * Other schedules that impact the availability calculation. Relevant only when there are availability constraints.\n             */\n            linkedSchedules: LinkedResourceScheduleInfo[];\n        };\n        /**\n         * An object describing how to calculate the schedule's availability.\n         */\n        type ResourceScheduleAvailabilityInfo = {\n            /**\n             * Date and time the schedule starts to be available for booking.\n             */\n            start?: Date;\n            /**\n             * Other schedules that impact the availability calculation. Relevant only when there are availability constraints.\n             */\n            linkedSchedules?: LinkedResourceScheduleInfo[];\n        };\n        type ResourceScheduleInfo = {\n            /**\n             * An object describing how to calculate the schedule's availability.\n             * An empty object indicates that the schedule is not available for booking.\n             */\n            availability?: Resources.ResourceScheduleAvailability;\n        };\n        /**\n         * Slugified resource name.\n         */\n        type Slug = {\n            /**\n             * Slugified resource name.\n             */\n            name: string;\n            /**\n             * Date and time the resource name was created.\n             */\n            _createdDate: Date;\n        };\n        /**\n         * Resource details.\n         */\n        type UpdateResourceInfo = {\n            /**\n             * Resource name.\n             */\n            name?: string;\n            /**\n             * Resource email address.\n             */\n            email?: string;\n            /**\n             * Resource phone number.\n             */\n            phone?: string;\n            /**\n             * Resource description.\n             */\n            description?: string;\n            /**\n             * Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'.\n             */\n            tags?: string[];\n        };\n        /**\n         * Contains functionality for refining a resource catalog query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryBuilder.html#)\n         */\n        interface ResourceCatalogQueryBuilder {\n            /**\n             * Refines a query to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: string): Resources.ResourceCatalogQueryBuilder;\n            /**\n             * Returns the resource catalog items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryBuilder.html#find)\n             */\n            find(options?: ResourceCatalogQueryBuilder.QueryOptions): Promise<Resources.ResourceCatalogQueryResult>;\n            /**\n             * Refines a query to match items whose specified property contains any of the specified `value` parameters.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryBuilder.html#hasSome)\n             */\n            hasSome(propertyName: string, value: string[]): Resources.ResourceCatalogQueryBuilder;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryBuilder.html#limit)\n             */\n            limit(limit: number): Resources.ResourceCatalogQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryBuilder.html#skip)\n             */\n            skip(skip: number): Resources.ResourceCatalogQueryBuilder;\n        }\n        /**\n         * The results of a resource catalog query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#)\n         */\n        interface ResourceCatalogQueryResult {\n            /**\n             * Returns the index of the current results page number.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#currentPage)\n             */\n            readonly currentPage: number;\n            /**\n             * Returns an array of resources, slugs, and schedules that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#items)\n             */\n            readonly items: Resources.ResourceQueryResults[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the ResourceCatalogQueryBuilder object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#query)\n             */\n            readonly query: Resources.ResourceCatalogQueryBuilder;\n            /**\n             * Returns the total number of items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#totalCount)\n             */\n            readonly totalCount: number;\n            /**\n             * Returns the total number of pages the query produced.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#totalPages)\n             */\n            readonly totalPages: number;\n            /**\n             * Indicates if the query has more results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#hasNext)\n             */\n            hasNext(): boolean;\n            /**\n             * Indicates the query has previous results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#hasPrev)\n             */\n            hasPrev(): boolean;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#next)\n             */\n            next(): Promise<Resources.ResourceCatalogQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#prev)\n             */\n            prev(): Promise<Resources.ResourceCatalogQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a resource catalog query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryBuilder.html#)\n         */\n        namespace ResourceCatalogQueryBuilder {\n            /**\n             * Options to use when performing a query.\n             */\n            type QueryOptions = {\n                /**\n                 * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n                 */\n                suppressAuth?: boolean;\n            };\n        }\n        /**\n         * The results of a resource catalog query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Resources.ResourceCatalogQueryResult.html#)\n         */\n        namespace ResourceCatalogQueryResult {\n        }\n    }\n    /**\n     * **Deprecated.**\n     * The Sessions API provides functionality for creating, managing, and querying sessions.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.html#)\n     */\n    namespace Sessions {\n        type DeleteSessionOptions = {\n            /**\n             * Whether to notify participants about the change, and an optional custom message.\n             */\n            participantNotification?: ParticipantNotificationInfo;\n            /**\n             * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth?: boolean;\n        };\n        type Session = {\n            /**\n             * Session ID.\n             */\n            _id: string;\n            /**\n             * ID of the schedule that the session belongs to.\n             */\n            scheduleId: string;\n            /**\n             * ID of the resource or service that the session's schedule belongs to.\n             */\n            scheduleOwnerId: string;\n            /**\n             * Tags for the session.\n             * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n             */\n            tags: string[];\n            /**\n             * Additional information about the session.\n             * Notes are not supported for recurring sessions.\n             */\n            notes: string;\n            /**\n             * Session status.\n             *\n             *  One of:\n             *  - `\"CONFIRMED\"` Default value.\n             *  - `\"CANCELLED\"` The session was deleted.\n             *\n             */\n            status: string;\n            /**\n             * ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances.\n             */\n            recurringSessionId?: string;\n            /**\n             * Session type.\n             *\n             *  One of:\n             *  - `\"EVENT\"` Reserved period of time on the schedule. For example, an appointment, class, course, or blocked time. Events are visible in the Dashboard in the Bookings app's [Booking Calendar](https://support.wix.com/en/article/wix-bookings-about-the-wix-bookings-calendar) page.\n             *  - `\"WORKING_HOURS\"` Placeholder for available time on a resource’s schedule.\n             *\n             */\n            type: string;\n            /**\n             * String representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\n             * If the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will contain the recurrence rule and this property will be empty.\n             * The RRULE defines a rule for repeating a session.\n             * Supported parameters are:\n             *\n             * |Keyword|Description|Supported values|\n             * |--|--|---|\n             * |`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n             * |`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n             * |`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n             * |`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n             *\n             *\n             *  For example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n             * `\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n             *\n             *\n             */\n            recurrence?: string;\n            /**\n             * String representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\n             * Empty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty.\n             */\n            instanceOfRecurrence?: string;\n            /**\n             * An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`.\n             */\n            start: CalendarDateTime;\n            /**\n             * An object specifying the end date and time of the session. If the session is a recurring session, `end` must contain a `localDateTime`.\n             */\n            end: CalendarDateTime;\n        };\n        /**\n         * Session.\n         */\n        type SessionInfo = {\n            /**\n             * ID of the schedule that the session belongs to.\n             */\n            scheduleId: string;\n            /**\n             * An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`.\n             */\n            start: CalendarDateTimeInfo;\n            /**\n             * An object specifying the end date and time of the session. If the session is a recurring session, `end` must contain a `localDateTime`.\n             */\n            end: CalendarDateTimeInfo;\n            /**\n             * Tags for the session.\n             * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n             */\n            tags?: string[];\n            /**\n             * Additional information about the session.\n             * Notes are not supported for recurring sessions.\n             */\n            notes?: string;\n            /**\n             * Session type.\n             *\n             *  One of:\n             *  - `\"EVENT\"` Reserved period of time on the schedule. For example, an appointment, class, course, or blocked time. Events are visible in the Dashboard in the Bookings app's [Booking Calendar](https://support.wix.com/en/article/wix-bookings-about-the-wix-bookings-calendar) page.\n             *  - `\"WORKING_HOURS\"` Placeholder for available time on a resource’s schedule.\n             *\n             */\n            type?: string;\n            /**\n             * String representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\n             * If the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will contain the recurrence rule and this property will be empty.\n             * The RRULE defines a rule for repeating a session.\n             * Supported parameters are:\n             *\n             * |Keyword|Description|Supported values|\n             * |--|--|---|\n             * |`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n             * |`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n             * |`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n             * |`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n             *\n             *\n             *  For example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n             * `\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n             *\n             *\n             */\n            recurrence?: string;\n        };\n        /**\n         * Session.\n         */\n        type UpdateSessionInfo = {\n            /**\n             * An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`.\n             */\n            start?: CalendarDateTimeInfo;\n            /**\n             * An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`.\n             */\n            end?: CalendarDateTimeInfo;\n            /**\n             * Tags for the session.\n             * The value is inherited from the schedule and can be overridden unless the session is a recurring session.\n             */\n            tags?: string[];\n            /**\n             * Additional information about the session.\n             * Notes are not supported for recurring sessions.\n             */\n            notes?: string;\n            /**\n             * Session type.\n             *\n             *  One of:\n             *  - `\"EVENT\"` Reserved period of time on the schedule. For example, an appointment, class, course, or blocked time. Events are visible in the Dashboard in the Bookings app's [Booking Calendar](https://support.wix.com/en/article/wix-bookings-about-the-wix-bookings-calendar) page.\n             *  - `\"WORKING_HOURS\"` Placeholder for available time on a resource’s schedule.\n             *\n             */\n            type?: string;\n            /**\n             * String representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\n             * If the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will contain the recurrence rule and this property will be empty.\n             * The RRULE defines a rule for repeating a session.\n             * Supported parameters are:\n             *\n             * |Keyword|Description|Supported values|\n             * |--|--|---|\n             * |`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n             * |`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n             * |`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n             * |`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n             *\n             *\n             *  For example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n             * `\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n             *\n             *\n             */\n            recurrence?: string;\n        };\n        /**\n         * Contains functionality for refining a session query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryBuilder.html#)\n         */\n        interface SessionQueryBuilder {\n            /**\n             * Refines a query to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): Sessions.SessionQueryBuilder;\n            /**\n             * Returns the bookings that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryBuilder.html#find)\n             */\n            find(options?: SessionQueryBuilder.QueryOptions): Promise<Sessions.SessionQueryResult>;\n            /**\n             * Refines a query to match items whose specified property value is greater than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryBuilder.html#ge)\n             */\n            ge(propertyName: string, value: Date): Sessions.SessionQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property contains any of the specified `value` parameters.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryBuilder.html#hasSome)\n             */\n            hasSome(propertyName: string, value: string[]): Sessions.SessionQueryBuilder;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryBuilder.html#limit)\n             */\n            limit(limit: number): Sessions.SessionQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is less than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryBuilder.html#lt)\n             */\n            lt(propertyName: string, value: Date): Sessions.SessionQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value does not equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryBuilder.html#ne)\n             */\n            ne(propertyName: string, value: any): Sessions.SessionQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryBuilder.html#skip)\n             */\n            skip(skip: number): Sessions.SessionQueryBuilder;\n        }\n        /**\n         * The results of a session query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#)\n         */\n        interface SessionQueryResult {\n            /**\n             * Returns the index of the current results page number.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#currentPage)\n             */\n            readonly currentPage: number;\n            /**\n             * Returns an array of sessions that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#items)\n             */\n            readonly items: Sessions.Session[];\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the `SessionQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#query)\n             */\n            readonly query: Sessions.SessionQueryBuilder;\n            /**\n             * Returns the total number of items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#totalCount)\n             */\n            readonly totalCount: number;\n            /**\n             * Returns the total number of pages the query produced.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#totalPages)\n             */\n            readonly totalPages: number;\n            /**\n             * Indicates if the query has more results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#hasNext)\n             */\n            hasNext(): boolean;\n            /**\n             * Indicates the query has previous results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#hasPrev)\n             */\n            hasPrev(): boolean;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#next)\n             */\n            next(): Promise<Sessions.SessionQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#prev)\n             */\n            prev(): Promise<Sessions.SessionQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a session query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryBuilder.html#)\n         */\n        namespace SessionQueryBuilder {\n            /**\n             * Options to use when performing a query.\n             */\n            type QueryOptions = {\n                /**\n                 * When `true`, prevents permission checks from running for the `find()` operation. Defaults to `false`.\n                 */\n                suppressAuth?: boolean;\n            };\n        }\n        /**\n         * The results of a session query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-backend.Sessions.SessionQueryResult.html#)\n         */\n        namespace SessionQueryResult {\n        }\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-captcha-backend.d.ts",
      "content": "/**\n * The wix-captcha-backend module contains functionality for working with the reCAPTCHA element from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-captcha-backend.html#)\n */\ndeclare module 'wix-captcha-backend' {\n    /**\n     * Authorizes the CAPTCHA token.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-captcha-backend.html#authorize)\n     */\n    function authorize(token: string): Promise<SuccessReport>;\n    /**\n     * An object representing a CAPTCHA authorization error message.\n     */\n    type ErrorReport = {\n        /**\n         * Error message.\n         */\n        error: string;\n    };\n    /**\n     * An object representing a CAPTCHA authorization success message.\n     */\n    type SuccessReport = {\n        /**\n         * Value is `true` when authorization is successful.\n         */\n        success: boolean;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-chat-backend.d.ts",
      "content": "/**\n * **Deprecated.**\n * \t[Read more](https://www.wix.com/corvid/reference/wix-chat-backend.html#)\n */\ndeclare module 'wix-chat-backend' {\n    /**\n     * **Deprecated.**\n     *  This method is deprecated and has been replaced with the equivalent [`sendMessage()`](https://dev.wix.com/docs/sdk/backend-modules/inbox/messages/send-message) method in the [Wix JavaScript SDK](https://dev.wix.com/docs/sdk/articles/get-started/about-the-wix-java-script-sdk).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-chat-backend.html#sendMessage)\n     */\n    function sendMessage(messageInfo: MessageInfo): Promise<void>;\n    /**\n     * An object representing a chat message to be sent.\n     */\n    type MessageInfo = {\n        /**\n         * The content of the message.\n         */\n        messageText: string;\n        /**\n         * The ID of the channel to send the message to. Currently only IDs of business channels are supported.\n         */\n        channelId: string;\n        /**\n         * An object representing additional contextual message information included in a chat message. The site visitor does not see the metadata.\n         */\n        metadata?: any;\n        /**\n         * Indicates whether the message is sent from the visitor to the business. If `sendAsVisitor` is `true`, the message is sent from the site visitor to the business. If `sendAsVisitor` is `undefined` or `false`, the message is sent from the business to the site visitor. The default is `undefined`.\n         */\n        sendAsVisitor?: boolean;\n    };\n    /**\n     * **Deprecated.**\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-chat-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * **Deprecated.**\n         * This event is deprecated. For site development and building apps with [Blocks](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/wix-blocks/about-wix-blocks), use the following Velo Inbox Events instead:\n         * - [`onMessageSentToBusiness()`](https://dev.wix.com/docs/velo/events-service-plugins/inbox/events/on-message-sent-to-business)\n         * - [`onMessageSentToParticipant()`](https://dev.wix.com/docs/velo/events-service-plugins/inbox/events/on-message-sent-to-participant)\n         *\n         * Learn how to [migrate your wix-chat-backend events](https://dev.wix.com/docs/velo/apis/wix-chat-backend/migration-guide).\n         *\n         * An event that fires when a chat message is sent to or from the business.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-chat-backend.Events.html#onMessage)\n         */\n        onMessage(event: Events.SendMessageEvent): void;\n    }\n    /**\n     * **Deprecated.**\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-chat-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * The content of a chat message.\n         */\n        type MessagePayload = {\n            /**\n             * Text of the chat message.\n             */\n            text: string;\n        };\n        /**\n         * An object representing a chat message that was sent.\n         */\n        type SendMessageEvent = {\n            /**\n             * ID of the channel on which the message was sent.\n             */\n            channelId: string;\n            /**\n             * Direction of the message.\n             * One of the following:\n             *\n             *  + `\"VisitorToBusiness\"`: From a site visitor to the business.\n             *  + `\"BusinessToVisitor\"`: From the business to a site visitor.\n             */\n            direction: string;\n            /**\n             * Type of message. Currently only `TEXT` is supported.\n             */\n            type: string;\n            /**\n             * First 250 characters of the chat message. Currently only text is included in the summary.\n             */\n            summary: string;\n            /**\n             * The sender's member ID. For a message sent from the site's business, the site owner's member ID.\n             */\n            participantId: string;\n            /**\n             * Date and time the message was sent.\n             */\n            createdAt: Date;\n            /**\n             * Content of the message.\n             * Currently only content of type text is included in the `payload`.\n             */\n            payload: Events.MessagePayload;\n            /**\n             * An object representing additional contextual message information included in a chat message. The site visitor does not see the metadata.\n             */\n            metadata?: any;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-crm-backend.d.ts",
      "content": "/**\n * The wix-crm-backend module contains functionality for working with\n *  [your site's contacts](https://support.wix.com/en/article/about-your-contact-list)\n *  from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#)\n */\ndeclare module 'wix-crm-backend' {\n    /**\n     * The Contacts API is used to manage a site's contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#contacts)\n     */\n    const contacts: Contacts;\n    /**\n     * The Notifications API is used to send notifications to the site owner and contributors.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#notifications)\n     */\n    const notifications: Notifications;\n    /**\n     * **Deprecated.**\n     *  This submodule will continue to work, but a newer version is\n     * available at [wix-crm.v2.Tasks](https://www.wix.com/velo/reference/wix-crm-v2/tasks/introduction).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#tasks)\n     */\n    const tasks: Tasks;\n    /**\n     * The Triggered Emails API is used to send triggered emails to your site's contacts and members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#triggeredEmails)\n     */\n    const triggeredEmails: TriggeredEmails;\n    /**\n     * * **Deprecated.**\n     * The Workflows API will be discontinued in the upcoming months. Our team is\n     * working to provide alternatives, and we'll provide timely updates before\n     * implementing any changes. We understand that this transition might present challenges,\n     * and we appreciate your patience and understanding.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#workflows)\n     */\n    const workflows: Workflows;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-crm-backend.contacts.createContact()](/contacts/create-contact).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#createContact)\n     */\n    function createContact(contactInfo: ContactInfo): Promise<string>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-crm-backend.contacts.deleteContact()](wix-crm-backend/contacts/delete-contact).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#deleteContact)\n     */\n    function deleteContact(contactId: string, options: DeleteOptions): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-crm-backend.triggeredEmails.emailContact()](https://www.wix.com/velo/reference/wix-crm-backend/triggeredemails/emailcontact).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#emailContact)\n     */\n    function emailContact(emailId: string, toContact: string, options?: TriggeredEmails.TriggeredEmailOptions): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-crm-backend.contacts.getContact()](wix-crm-backend/contacts/get-contact).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#getContactById)\n     */\n    function getContactById(contactId: string): Promise<ContactInfo>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-crm-backend.contacts.updateContact()](wix-crm-backend/contacts/update-contact).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.html#updateContact)\n     */\n    function updateContact(contactId: string, contactInfo: ContactInfo): Promise<void>;\n    /**\n     * An object that contains information about a site contact.\n     */\n    type ContactInfo = {\n        /**\n         * Contact's first name.\n         */\n        firstName?: string;\n        /**\n         * Contact's last name.\n         */\n        lastName?: string;\n        /**\n         * Contact's image source.\n         */\n        picture?: string;\n        /**\n         * List of contact's email addresses. When\n         *  creating a contact, if no phone number is\n         *  provided, at least one email address must be provided.\n         */\n        emails?: string[];\n        /**\n         * Email address the contact who is also\n         *  a member uses to log into the system.\n         */\n        loginEmail?: string;\n        /**\n         * List of contact's phone numbers. When\n         *  creating a contact, if no email is\n         *  provided, at least one phone number must be provided.\n         */\n        phones?: string[];\n        /**\n         * List of contact's labels. [Labels](https://support.wix.com/en/article/creating-contact-labels)\n         *  are used to organize contacts. When setting the `labels` property, you can\n         *  only list labels that already exist in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         */\n        labels?: string[];\n        /**\n         * Any\n         *  number of custom fields. [Custom fields](https://support.wix.com/en/article/adding-custom-fields-to-contacts)\n         *  are used to store additional information about your site's contacts. When\n         *  setting a custom field, use `key:value` pairs, where the key matches the display names\n         *  in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         *  You can only set values for custom fields that already exist in the Contacts\n         *  application.\n         */\n        customFields?: string | number | Date;\n    };\n    /**\n     * An object that contains contact deletion options.\n     */\n    type DeleteOptions = {\n        /**\n         * Whether to perform the deletion when the contact is also a member. Defaults to `false`.\n         */\n        deleteMembers: boolean;\n    };\n    /**\n     * The Contacts API is used to manage a site's contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#)\n     */\n    interface Contacts {\n        /**\n         * Appends `contactInfo` to an existing contact or creates a new contact if it doesn't already exist.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#appendOrCreateContact)\n         */\n        appendOrCreateContact(contactInfo: Contacts.ContactInfo): Promise<Contacts.ContactIdentification>;\n        /**\n         * Creates a new contact.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#createContact)\n         */\n        createContact(contactInfo: Contacts.ContactInfo, options?: Contacts.Options): Promise<Contacts.Contact>;\n        /**\n         * Deletes a contact who is not a site member or contributor.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#deleteContact)\n         */\n        deleteContact(contactId: string, options?: Contacts.AuthOptions): Promise<void>;\n        /**\n         * Deletes an extended field.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#deleteExtendedField)\n         */\n        deleteExtendedField(key: string, options?: Contacts.AuthOptions): Promise<void>;\n        /**\n         * Deletes a label from the site and removes it from contacts it applies to.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#deleteLabel)\n         */\n        deleteLabel(key: string, options?: Contacts.AuthOptions): Promise<void>;\n        /**\n         * Retrieves a custom field with a given name, or creates one if it doesn't exist.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#findOrCreateExtendedField)\n         */\n        findOrCreateExtendedField(extendedFieldInfo: Contacts.ExtendedFieldInfo, options?: Contacts.AuthOptions): Promise<Contacts.FoundOrCreatedExtendedField>;\n        /**\n         * Retrieves a label with a given name, or creates one if it doesn't exist.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#findOrCreateLabel)\n         */\n        findOrCreateLabel(displayName: string, options?: Contacts.AuthOptions): Promise<Contacts.FoundOrCreatedLabel>;\n        /**\n         * Retrieves a contact.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#getContact)\n         */\n        getContact(contactId: string, options?: Contacts.AuthOptions): Promise<Contacts.Contact>;\n        /**\n         * Retrieves an extended field.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#getExtendedField)\n         */\n        getExtendedField(key: string, options?: Contacts.AuthOptions): Promise<Contacts.ExtendedField>;\n        /**\n         * Retrieves a label.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#getLabel)\n         */\n        getLabel(key: string, options?: Contacts.AuthOptions): Promise<Contacts.Label>;\n        /**\n         * Adds labels to a contact.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#labelContact)\n         */\n        labelContact(contactId: string, labelKeys: string[], options?: Contacts.AuthOptions): Promise<Contacts.Contact>;\n        /**\n         * Creates a query to retrieve a list of contacts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#queryContacts)\n         */\n        queryContacts(): Contacts.ContactsQueryBuilder;\n        /**\n         * Creates a query to retrieve a list of extended fields.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#queryExtendedFields)\n         */\n        queryExtendedFields(): Contacts.ExtendedFieldsQueryBuilder;\n        /**\n         * Creates a query to retrieve a list of labels.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#queryLabels)\n         */\n        queryLabels(): Contacts.LabelsQueryBuilder;\n        /**\n         *  Renames an extended field.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#renameExtendedField)\n         */\n        renameExtendedField(key: string, displayName: string, options?: Contacts.AuthOptions): Promise<Contacts.ExtendedField>;\n        /**\n         *  Renames a label.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#renameLabel)\n         */\n        renameLabel(key: string, displayName: string, options?: Contacts.AuthOptions): Promise<Contacts.Label>;\n        /**\n         * Removes labels from a contact.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#unlabelContact)\n         */\n        unlabelContact(contactId: string, labelKeys: string[], options?: Contacts.AuthOptions): Promise<Contacts.Contact>;\n        /**\n         * Updates a contact's properties.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#updateContact)\n         */\n        updateContact(identifiers: Contacts.Identifiers, contactInfo: Contacts.ContactInfo, options?: Contacts.Options): Promise<Contacts.Contact>;\n    }\n    /**\n     * Events that are fired by actions relating to site contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * **Deprecated.**\n         * This event will continue to work until June 30, 2024.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Events.html#onCardCreated)\n         */\n        onCardCreated(event: Events.CardCreatedEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until June 30, 2024.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Events.html#onCardMoved)\n         */\n        onCardMoved(event: Events.CardMovedEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until June 30, 2024.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Events.html#onCardRestored)\n         */\n        onCardRestored(event: Events.CardRestoredEvent): void;\n        /**\n         * An event that triggers when a new contact is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Events.html#onContactCreated)\n         */\n        onContactCreated(event: Events.ContactCreatedEvent): void;\n        /**\n         * An event that triggers when a contact is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Events.html#onContactDeleted)\n         */\n        onContactDeleted(event: Events.ContactDeletedEvent): void;\n        /**\n         * An event that triggers when one or more source contacts are merged into a target contact.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Events.html#onContactMerged)\n         */\n        onContactMerged(event: Events.ContactMergedEvent): void;\n        /**\n         * An event that triggers when a contact is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Events.html#onContactUpdated)\n         */\n        onContactUpdated(event: Events.ContactUpdatedEvent): void;\n        /**\n         * An event that triggers when a site visitor submits a Wix Form.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Events.html#onFormSubmit)\n         */\n        onFormSubmit(event: Events.FormSubmitEvent): void;\n    }\n    /**\n     * The Notifications API is used to send notifications to the site owner and contributors.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Notifications.html#)\n     */\n    interface Notifications {\n        /**\n         * Sends a notification.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Notifications.html#notify)\n         */\n        notify(body: string, channels: string[], options?: Notifications.NotificationOptions): Promise<void>;\n    }\n    /**\n     * **Deprecated.**\n     *  The Tasks submodule will continue to work, but a newer version is\n     * available at [wix-crm.v2.Tasks](https://www.wix.com/velo/reference/wix-crm-v2/tasks/introduction).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Tasks.html#)\n     */\n    interface Tasks {\n        /**\n         * **Deprecated.**\n         * This function is deprecated but will continue to work.\n         * To set a task as completed, see the [wix-crm.v2.Tasks.updateTask()](https://www.wix.com/velo/reference/wix-crm-v2/tasks/updatetask) function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Tasks.html#completeTask)\n         */\n        completeTask(taskId: string): Promise<string>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is\n         * available at [wix-crm.v2.Tasks.createTask()](https://www.wix.com/velo/reference/wix-crm-v2/tasks/createtask).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Tasks.html#createTask)\n         */\n        createTask(taskInfo: Tasks.TaskInfo): Promise<string>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is\n         * available at [wix-crm.v2.Tasks.getTask()](https://www.wix.com/velo/reference/wix-crm-v2/tasks/gettask).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Tasks.html#getTask)\n         */\n        getTask(taskId: string): Promise<Tasks.Task>;\n        /**\n         * This function will continue to work, but a newer version is\n         * available at [wix-crm.v2.Tasks.deleteTask()](https://www.wix.com/velo/reference/wix-crm-v2/tasks/deletetask).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Tasks.html#removeTask)\n         */\n        removeTask(taskId: string): Promise<string>;\n        /**\n         * **Deprecated.**\n         * This function is deprecated but will continue to work.\n         * To reset a task, see the [wix-crm.v2.Tasks.updateTask()](https://www.wix.com/velo/reference/wix-crm-v2/tasks/updatetask) function.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Tasks.html#resetTask)\n         */\n        resetTask(taskId: string): Promise<string>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is\n         * available at [wix-crm.v2.Tasks.updateTask()](https://www.wix.com/velo/reference/wix-crm-v2/tasks/updatetask).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Tasks.html#updateTaskFields)\n         */\n        updateTaskFields(taskId: string, taskInfo: Tasks.TaskInfo): Promise<string>;\n    }\n    /**\n     * The Triggered Emails API is used to send triggered emails to your site's contacts and members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.TriggeredEmails.html#)\n     */\n    interface TriggeredEmails {\n        /**\n         * Sends a triggered email to a contact, unless that contact is marked as unsubscribed..\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.TriggeredEmails.html#emailContact)\n         */\n        emailContact(emailId: string, contactId: string, options?: TriggeredEmails.TriggeredEmailOptions): Promise<void>;\n        /**\n         * Sends a triggered email to a site member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.TriggeredEmails.html#emailMember)\n         */\n        emailMember(emailId: string, memberId: string, options?: TriggeredEmails.TriggeredEmailOptions): Promise<void>;\n    }\n    /**\n     * **Deprecated.**\n     * The Workflows API will be discontinued in the upcoming months. Our team is\n     * working to provide alternatives, and we'll provide timely updates before\n     * implementing any changes. We understand that this transition might present challenges,\n     * and we appreciate your patience and understanding.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#)\n     */\n    interface Workflows {\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#archiveCard)\n         */\n        archiveCard(cardId: string): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#createCard)\n         */\n        createCard(workflowId: string, phaseId: string, card: Workflows.CreateCardRequest, position?: number): Promise<string>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#createPhase)\n         */\n        createPhase(workflowId: string, phaseInfo: Workflows.CreatePhaseRequest, position?: number): Promise<string>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#createWorkflow)\n         */\n        createWorkflow(workflowInfo: Workflows.CreateWorkflowRequest): Promise<string>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#deleteCard)\n         */\n        deleteCard(cardId: string): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#deletePhase)\n         */\n        deletePhase(phaseId: string): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#deleteWorkflow)\n         */\n        deleteWorkflow(workflowId: string): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#getCard)\n         */\n        getCard(cardId: string): Promise<Workflows.Card>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#getPhaseInfo)\n         */\n        getPhaseInfo(phaseId: string): Promise<Workflows.Phase>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#getWorkflowInfo)\n         */\n        getWorkflowInfo(workflowId: string): Promise<Workflows.Workflow>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#listCards)\n         */\n        listCards(workflowId: string, options: Workflows.ListCardOptions): Promise<Workflows.CardList>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#listPhasesInfo)\n         */\n        listPhasesInfo(workflowId: string, options?: Workflows.ListOptions): Promise<Workflows.PhaseList>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#listWorkflowsInfo)\n         */\n        listWorkflowsInfo(options?: Workflows.ListOptions): Promise<Workflows.WorkflowList>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#moveCard)\n         */\n        moveCard(cardId: string, options: Workflows.MoveCardOptions): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#movePhase)\n         */\n        movePhase(phaseId: string, options: Workflows.MovePhaseOptions): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#restoreCard)\n         */\n        restoreCard(cardId: string, options: Workflows.MoveCardOptions): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#updateCardFields)\n         */\n        updateCardFields(cardId: string, cardInfo: Workflows.UpdateCardRequest): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#updatePhaseFields)\n         */\n        updatePhaseFields(phaseId: string, phaseInfo: Workflows.UpdatePhaseRequest): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function is being discontinued in the upcoming months. We are working to provide alternatives,\n         * and we'll provide timely updates before implementing any changes. We understand that this\n         * transition might present challenges, and we appreciate your patience and understanding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#updateWorkflowFields)\n         */\n        updateWorkflowFields(workflowId: string, workflowInfo: Workflows.UpdateWorkflowRequest): Promise<void>;\n    }\n    /**\n     * The Contacts API is used to manage a site's contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.html#)\n     */\n    namespace Contacts {\n        type Address = {\n            /**\n             * Street address ID.\n             */\n            _id: string;\n            /**\n             *\n             *\n             *\n             * Address type.\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             * - `\"BILLING\"`\n             * - `\"SHIPPING\"`\n             *\n             */\n            tag: string;\n            /**\n             * Street address.\n             */\n            address: Contacts.AddressDetails;\n        };\n        /**\n         * Street address.\n         */\n        type AddressDetails = {\n            /**\n             * Main address line, usually street and number, as free text.\n             */\n            addressLine1?: string;\n            /**\n             * Street address object, with number and name in separate fields.\n             */\n            streetAddress?: Contacts.StreetAddressInfo;\n            /**\n             * Human-readable address string.\n             *  If not provided, the value is generated from the available address data.\n             */\n            formatted?: string;\n            /**\n             * Free text providing more detailed address information,\n             *  such as apartment, suite, or floor.\n             */\n            addressLine2?: string;\n            /**\n             * Coordinates of the physical address.\n             */\n            location?: Contacts.AddressLocation;\n            /**\n             * City name.\n             */\n            city?: string;\n            /**\n             * Code for a subdivision (such as state, prefecture, or province) in an\n             *  [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n             */\n            subdivision?: string;\n            /**\n             * 2-letter country code in an\n             *  [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n             */\n            country?: string;\n            /**\n             * Postal or zip code.\n             */\n            postalCode?: string;\n        };\n        type AddressInfo = {\n            /**\n             *\n             *\n             *\n             * Address type.\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             * - `\"BILLING\"`\n             * - `\"SHIPPING\"`\n             *\n             */\n            tag: string;\n            /**\n             * Street address.\n             */\n            address: Contacts.AddressDetails;\n        };\n        /**\n         * Coordinates of the physical address.\n         */\n        type AddressLocation = {\n            /**\n             * Address's latitude.\n             */\n            latitude?: number;\n            /**\n             * Address's longitude.\n             */\n            longitude?: number;\n        };\n        /**\n         * Authorization options.\n         */\n        type AuthOptions = {\n            /**\n             * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth?: boolean;\n        };\n        /**\n         * Contact.\n         */\n        type Contact = {\n            /**\n             * Contact ID.\n             */\n            _id: string;\n            /**\n             * Revision number, which increments by 1 each time the contact is updated.\n             *  To prevent conflicting changes,\n             *  the existing `revision` must be used when updating a contact.\n             */\n            revision: number;\n            /**\n             * Details about the contact's source.\n             */\n            source: Contacts.Source;\n            /**\n             * Date and time the contact was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the contact was last updated.\n             */\n            _updatedDate: Date;\n            /**\n             * Details about the contact's last action in the site.\n             */\n            lastActivity: Contacts.LastActivity;\n            /**\n             * Contact's primary phone and email.\n             */\n            primaryInfo?: Contacts.PrimaryInfo;\n            /**\n             * Contact's details.\n             */\n            info: Contacts.Info;\n        };\n        type ContactIdentification = {\n            /**\n             * ID of the contact that was found or created.\n             */\n            contactId: string;\n            /**\n             * Identity type of the returned contact.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"CONTACT\"`: The returned contact ID belongs to a new or existing contact.\n             * - `\"MEMBER\"`: The returned contact ID belongs to the currently logged-in site member.\n             * - `\"NOT_AUTHENTICATED_MEMBER\"`: The returned contact ID belongs to a site member who is not currently logged in.\n             *\n             */\n            identityType: string;\n        };\n        /**\n         * Contact's information.\n         */\n        type ContactInfo = {\n            /**\n             * Contact's first and last name.\n             */\n            name?: Contacts.Name;\n            /**\n             * Contact's company name.\n             */\n            company?: string;\n            /**\n             * Contact's job title.\n             *  Corresponds to the **Position** field in the Dashboard.\n             */\n            jobTitle?: string;\n            /**\n             * Contact's locale, formatted as an\n             *  [IETF BCP 47 language tag](https://tools.ietf.org/html/rfc5646).\n             *  Typically, this is a lowercase 2-letter language code,\n             *  followed by a hyphen,\n             *  followed by an uppercase 2-letter country code.\n             *\n             *  For example, German from Germany is formatted as `de-DE`,\n             *  and U.S. English is formatted as `en-US`.\n             */\n            locale?: string;\n            /**\n             * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n             *\n             *  For example, `\"2025-03-15\"` for March 15, 2025.\n             */\n            birthdate?: string;\n            /**\n             * **Deprecated.** Use `profilePicture` instead.\n             */\n            picture?: Contacts.Picture;\n            /**\n             * List of up to 50 email addresses.\n             */\n            emails?: Contacts.EmailInfo[];\n            /**\n             * List of up to 50 phone numbers.\n             */\n            phones?: Contacts.PhoneInfo[];\n            /**\n             * List of up to 50 addresses.\n             */\n            addresses?: Contacts.AddressInfo[];\n            /**\n             * List of contact label keys.\n             * [Contact labels](https://support.wix.com/en/article/creating-contact-labels)\n             * help categorize contacts.\n             *\n             *\n             *\n             *\n             * Label keys must exist to be added to the contact.\n             * Contact labels can be created or retrieved with\n             * `findOrCreateLabel()` or `queryLabels()` in the\n             * Labels API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/labels/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/labels/introduction)).\n             *\n             */\n            labelKeys?: string[];\n            /**\n             * Set of key-value pairs.\n             *\n             *\n             *\n             * Contact's extended fields allow you to store additional information about a site's contacts.\n             *\n             * To view or create extended fields, call `findOrCreateExtendedField()`, `getExtendedField()`, or `queryExtendedFields()` in the\n             * Extended Fields API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/extended-fields/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/extended-fields/introduction)).\n             *\n             */\n            extendedFields?: any;\n            /**\n             * Contact's profile picture URL.\n             */\n            profilePicture?: string;\n        };\n        /**\n         * Contact's profile picture.\n         */\n        type ContactPicture = {\n            /**\n             * Image source. Can be either a Media Manager URL or external URL.\n             */\n            image: string;\n            /**\n             * Indicates whether the image is retrieved from Wix Media\n             * or an external provider.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"EXTERNAL\"`: The image is retrieved from an external provider.\n             * - `\"WIX_MEDIA\"`: The image is retrieved from Wix Media.\n             *\n             */\n            imageProvider: string;\n        };\n        type Email = {\n            /**\n             * Email ID.\n             */\n            _id: string;\n            /**\n             * Email type.\n             *\n             *\n             *\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             *\n             */\n            tag: string;\n            /**\n             * Email address.\n             */\n            email: string;\n            /**\n             * Indicates whether this is the contact's primary email address.\n             *  When changing `primary` to `true` for an email,\n             *  the contact's other emails become `false`.\n             */\n            primary: boolean;\n        };\n        type EmailInfo = {\n            /**\n             * Email type.\n             *\n             *\n             *\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             *\n             */\n            tag?: string;\n            /**\n             * Email address.\n             */\n            email?: string;\n            /**\n             * Indicates whether this is the contact's primary email address.\n             *  When changing `primary` to `true` for an email,\n             *  the contact's other emails become `false`.\n             */\n            primary?: boolean;\n        };\n        /**\n         * Extended field that was found or created.\n         */\n        type ExtendedField = {\n            /**\n             * Extended field ID.\n             *\n             * When accessing contact data,\n             * extended field data is available at `extendedFields[key]`.\n             * For example, if the key is \"custom.notes\",\n             * the value can be accessed at `extendedFields[\"custom.notes\"]`.\n             *\n             * `key` is generated when the extended field is created\n             * and cannot be modified, even if `displayName` changes.\n             */\n            key: string;\n            /**\n             * Extended field display name shown in the Contact List.\n             */\n            displayName: string;\n            /**\n             * Type of data the field holds.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"TEXT\"`: Accepts strings.\n             * - `\"URL\"`: Accepts web addresses. Prepends `https://` if no protocol is included.\n             * - `\"DATE\"`: Accepts dates formatted as `\"YYYY-MM-DD\"`.\n             * - `\"NUMBER\"`: Accepts floats.\n             *\n             */\n            dataType: string;\n            /**\n             *\n             *\n             *\n             * Indicates whether the extended field is a\n             * [system field or custom field](wix-crm-backend/contacts/introduction#about-extended-fields).\n             *\n             * One of:\n             *\n             * - `\"SYSTEM\"`: The field is a system field managed by Wix. System fields cannot be modified by 3rd-party apps or site contributors.\n             * - `\"USER_DEFINED\"`: The field is a custom field and can be modified by 3rd-party apps or site contributors.\n             *\n             */\n            fieldType: string;\n            /**\n             * Date and time the field was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the field was last updated.\n             */\n            _updatedDate: Date;\n            /**\n             *\n             *\n             *\n             * Extended field [namespace](wix-crm-backend/contacts/introduction#the-namespace-and-key-properties-in-labels-and-extended-fields).\n             *\n             *\n             * Extended fields created by site contributors or 3rd-party apps\n             * are automatically assigned to the `custom` namespace.\n             */\n            namespace: string;\n            /**\n             * Field description, if the field is a system field.\n             */\n            description: string;\n        };\n        /**\n         * Custom field to find or create.\n         */\n        type ExtendedFieldInfo = {\n            /**\n             * Display name to find or create.\n             *\n             *  If an existing custom field is an exact match\n             *  for the specified `displayName`,\n             *  the existing field is returned.\n             *  If not, a new field is created and returned.\n             */\n            displayName: string;\n            /**\n             * Type of data the field holds.\n             * Ignored if an existing field is an exact match\n             * for the specified display name.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"TEXT\"`: Accepts strings.\n             * - `\"URL\"`: Accepts web addresses. Prepends `https://` if no protocol is included.\n             * - `\"DATE\"`: Accepts dates formatted as `\"YYYY-MM-DD\"`.\n             * - `\"NUMBER\"`: Accepts floats.\n             *\n             */\n            dataType?: string;\n        };\n        /**\n         * List of extended fields.\n         */\n        type ExtendedFieldList = {\n            /**\n             * List of extended fields.\n             */\n            items: Contacts.ExtendedField[];\n            /**\n             * Metadata for the page of results.\n             */\n            pagingMetadata: Contacts.PagingMetadata;\n        };\n        /**\n         * Extended field that was found or created.\n         */\n        type FoundOrCreatedExtendedField = {\n            /**\n             * Extended field that was found or created.\n             */\n            extendedField: Contacts.ExtendedField;\n            /**\n             * Indicates whether the extended field was just created or already existed.\n             *\n             *  If the field was just created, returns `true`.\n             *  If it already existed, returns `false`.\n             */\n            newExtendedField: boolean;\n        };\n        /**\n         * Label that was found or created.\n         */\n        type FoundOrCreatedLabel = {\n            /**\n             * Label that was found or created.\n             */\n            label: Contacts.Label;\n            /**\n             * Indicates whether the label was just created or already existed.\n             *\n             *  If the label was just created, returns `true`.\n             *  If it already existed, returns `false`.\n             */\n            newLabel: boolean;\n        };\n        type Identifiers = {\n            /**\n             * ID of the contact to update.\n             */\n            contactId: string;\n            /**\n             * Revision number.\n             *  When updating, include the existing `revision`\n             *  to prevent conflicting updates.\n             */\n            revision: number;\n        };\n        /**\n         * Contact's details.\n         */\n        type Info = {\n            /**\n             * Contact's first and last name.\n             */\n            name?: Contacts.Name;\n            /**\n             * Contact's company name.\n             */\n            company?: string;\n            /**\n             * Contact's job title.\n             *  Corresponds to the **Position** field in the Dashboard.\n             */\n            jobTitle?: string;\n            /**\n             * Contact's locale, formatted as an\n             *  [IETF BCP 47 language tag](https://tools.ietf.org/html/rfc5646).\n             *  Typically, this is a lowercase 2-letter language code,\n             *  followed by a hyphen,\n             *  followed by an uppercase 2-letter country code.\n             *\n             *  For example, German from Germany is formatted as `de-DE`,\n             *  and U.S. English is formatted as `en-US`.\n             */\n            locale?: string;\n            /**\n             * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n             *\n             *  For example, `\"2025-03-15\"` for March 15, 2025.\n             */\n            birthdate?: string;\n            /**\n             * **Deprecated.** Use `profilePicture` instead.\n             */\n            picture: Contacts.Picture;\n            /**\n             * List of up to 50 email addresses.\n             */\n            emails?: Contacts.Email[];\n            /**\n             * List of up to 50 phone numbers.\n             */\n            phones?: Contacts.Phone[];\n            /**\n             * List of up to 50 addresses.\n             */\n            addresses?: Contacts.Address[];\n            /**\n             * List of contact label keys.\n             * [Contact labels](https://support.wix.com/en/article/creating-contact-labels)\n             * help categorize contacts.\n             *\n             *\n             *\n             *\n             * Label keys must exist to be added to the contact.\n             * Contact labels can be created or retrieved with\n             * `findOrCreateLabel()` or `queryLabels()` in the\n             * Labels API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/labels/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/labels/introduction)).\n             *\n             */\n            labelKeys?: string[];\n            /**\n             * Set of key-value pairs.\n             *\n             *\n             *\n             * Contact's extended fields allow you to store additional information about a site's contacts.\n             *\n             * To view or create extended fields, call `findOrCreateExtendedField()`, `getExtendedField()`, or `queryExtendedFields()` in the\n             * Extended Fields API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/extended-fields/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/extended-fields/introduction)).\n             *\n             */\n            extendedFields: any;\n            /**\n             * Contact's profile picture URL.\n             */\n            profilePicture?: string;\n        };\n        /**\n         * Label that was found or created.\n         */\n        type Label = {\n            /**\n             * Label key.\n             *\n             * `key` is generated when the label is created\n             * and cannot be modified, even if `displayName` changes.\n             */\n            key: string;\n            /**\n             * Label display name shown in the Dashboard.\n             */\n            displayName: string;\n            /**\n             * Label type.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"SYSTEM\"`: The label is a predefined system label for the Contact List.\n             * - `\"USER_DEFINED\"`: The label was created by a site contributor or app.\n             * - `\"WIX_APP_DEFINED\"`: The label was created by a Wix app.\n             *\n             */\n            labelType: string;\n            /**\n             * Date and time the label was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the label was last updated.\n             */\n            _updatedDate: Date;\n            /**\n             *\n             *\n             *\n             * Label [namespace](wix-crm-backend/contacts/introduction#the-namespace-and-key-properties-in-labels-and-extended-fields).\n             *\n             *\n             * Labels created by site contributors or 3rd-party apps\n             * are automatically assigned to the `custom` namespace.\n             */\n            namespace: string;\n        };\n        /**\n         * List of labels.\n         */\n        type LabelList = {\n            /**\n             * List of labels.\n             */\n            items: Contacts.Label[];\n            /**\n             * Metadata for the page of results.\n             */\n            pagingMetadata: Contacts.PagingMetadata;\n        };\n        /**\n         * Details about the contact's last action in the site.\n         */\n        type LastActivity = {\n            /**\n             * Date and time of the last action.\n             */\n            activityDate: Date;\n            /**\n             * Contact's last action in the site.\n             *\n             *\n             *\n             *\n             * Some possible values:\n             * `\"GENERAL\"`, `\"CONTACT_CREATED\"`, `\"MEMBER_LOGIN\"`, `\"MEMBER_REGISTER\"`,\n             * `\"MEMBER_STATUS_CHANGED\"`, `\"FORM_SUBMITTED\"`, `\"INBOX_FORM_SUBMITTED\"`,\n             * `\"INBOX_PAYMENT_REQUEST_PAID\"`, `\"INBOX_MESSAGE_TO_CUSTOMER\"`,\n             * `\"INBOX_MESSAGE_FROM_CUSTOMER\"`, `\"NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED\"`,\n             * `\"NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE\"`, `\"ECOM_PURCHASE\"`,\n             * `\"ECOM_CART_ABANDON\"`, `\"ECOM_CHECKOUT_BUYER\"`, `\"BOOKINGS_APPOINTMENT\"`,\n             * `\"HOTELS_RESERVATION\"`, `\"HOTELS_PURCHASE\"`, `\"HOTELS_CONFIRMATION\"`,\n             * `\"HOTELS_CANCEL\"`, `\"VIDEO_PURCHASE\"`, `\"VIDEO_RENT\"`,\n             * `\"CASHIER_BUTTON_PURCHASE\"`, `\"ARENA_NEW_LEAD\"`, `\"EVENTS_RSVP\"`,\n             * `\"INVOICE_PAY\"`, `\"INVOICE_OVERDUE\"`, `\"PRICE_QUOTE_ACCEPT\"`,\n             * `\"PRICE_QUOTE_EXPIRE\"`, `\"RESTAURANTS_ORDER\"`, `\"RESTAURANTS_RESERVATION\"`,\n             * `\"SHOUTOUT_OPEN\"`, `\"SHOUTOUT_CLICK\"`, `\"CONTACT_MERGED\"`.\n             *\n             */\n            activityType: string;\n        };\n        /**\n         * Paging options.\n         */\n        type ListOptions = {\n            /**\n             * Number of items to return.\n             *\n             *  Defaults to `100`.\n             */\n            limit?: number;\n            /**\n             * Number of items to skip in the current sort order.\n             *\n             *  Defaults to `0`.\n             */\n            skip?: number;\n            /**\n             * Sorting options.\n             */\n            sort?: Contacts.SortingOptions;\n            /**\n             * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth?: boolean;\n        };\n        /**\n         * Contact's first and last name.\n         */\n        type Name = {\n            /**\n             * Contact's first name.\n             */\n            first?: string;\n            /**\n             * Contact's last name.\n             */\n            last?: string;\n        };\n        /**\n         * Contact creation options.\n         */\n        type Options = {\n            /**\n             * Controls whether the call will succeed\n             * if the new contact information contains an email already used by another contact.\n             *\n             * If set to `true`,\n             * the call will succeed even if an email address is used by another contact.\n             * If set to `false`,\n             * the call will fail if an email address is used by another contact.\n             *\n             * Defaults to `false`.\n             */\n            allowDuplicates?: boolean;\n            /**\n             * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth?: boolean;\n        };\n        /**\n         * Metadata for the page of results.\n         */\n        type PagingMetadata = {\n            /**\n             * Number of items returned.\n             */\n            length: number;\n            /**\n             * Number of items that matched the query.\n             */\n            totalCount: number;\n            /**\n             * Indicates if `total` calculation timed out before the response was sent.\n             *  Typically this happens if there is a large set of results.\n             */\n            tooManyToCount: boolean;\n        };\n        type Phone = {\n            /**\n             * Phone ID.\n             */\n            _id: string;\n            /**\n             * Phone type.\n             *\n             *\n             *\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"MOBILE\"`\n             * - `\"WORK\"`\n             * - `\"FAX\"`\n             *\n             */\n            tag: string;\n            /**\n             * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.\n             */\n            countryCode?: string;\n            /**\n             * Phone number.\n             */\n            phone: string;\n            /**\n             * [ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\n             *  phone number.\n             *  Automatically generated using `phone` and `countryCode`,\n             *  as long as both of those values are valid.\n             */\n            e164Phone?: string;\n            /**\n             * Whether this is the contact's primary phone number.\n             *  When changing `primary` to `true` for a phone,\n             *  the contact's other phones become `false`.\n             */\n            primary: boolean;\n        };\n        type PhoneInfo = {\n            /**\n             * Phone type.\n             *\n             *\n             *\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"MOBILE\"`\n             * - `\"WORK\"`\n             * - `\"FAX\"`\n             *\n             */\n            tag?: string;\n            /**\n             * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.\n             */\n            countryCode?: string;\n            /**\n             * Phone number.\n             */\n            phone?: string;\n            /**\n             * Whether this is the contact's primary phone number.\n             *  When changing `primary` to `true` for a phone,\n             *  the contact's other phones become `false`.\n             */\n            primary?: boolean;\n        };\n        /**\n         * todo\n         */\n        type Picture = {\n            /**\n             * **Deprecated.** Use `profilePicture` instead.\n             */\n            image?: string;\n            /**\n             * **Deprecated.**\n             */\n            imageProvider?: string;\n        };\n        /**\n         * Contact's primary phone and email.\n         */\n        type PrimaryInfo = {\n            /**\n             * Primary email address.\n             *\n             *\n             *\n             *\n             * This property reflects the email address in `contactInfo.emails`\n             * where `primary` is `true`.\n             *\n             */\n            email?: string;\n            /**\n             * Primary phone number.\n             *\n             *\n             *\n             *\n             * This property reflects the phone number in `contactInfo.phones`\n             * where `primary` is `true`.\n             *\n             */\n            phone?: string;\n        };\n        /**\n         * Sorting options.\n         */\n        type SortingOptions = {\n            /**\n             * Name of the field to sort by.\n             */\n            fieldName?: string;\n            /**\n             * Sort order.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"ASC\"`: Ascending order\n             * - `\"DESC\"`: Descending order\n             *\n             * Defaults to `\"ASC\"`.\n             *\n             */\n            order?: string;\n        };\n        /**\n         * Details about the contact's source.\n         */\n        type Source = {\n            /**\n             * Source type.\n             *\n             *\n             * Some possible values:\n             * `\"OTHER\"`, `\"ADMIN\"`, `\"WIX_APP\"`, `\"IMPORT\"`, `\"THIRD_PARTY\"`,\n             * `\"WIX_BOOKINGS\"`, `\"WIX_CHAT\"`, `\"WIX_EMAIL_MARKETING\"`, `\"WIX_EVENTS\"`,\n             * `\"WIX_FORMS\"`, `\"WIX_GROUPS\"`, `\"WIX_HOTELS\"`, `\"WIX_MARKET_PLACE\"`,\n             * `\"WIX_MUSIC\"`, `\"WIX_RESTAURANTS\"`, `\"WIX_SITE_MEMBERS\"`, `\"WIX_STORES\"`.\n             *\n             */\n            sourceType: string;\n            /**\n             * App ID, if the contact was created by an app.\n             */\n            appId: string;\n        };\n        /**\n         * Street address object, with number and name in separate fields.\n         */\n        type StreetAddress = {\n            /**\n             * Street number.\n             */\n            number: string;\n            /**\n             * Street name.\n             */\n            name: string;\n        };\n        /**\n         * Street address object, with number and name in separate fields.\n         */\n        type StreetAddressInfo = {\n            /**\n             * Street number.\n             */\n            number?: string;\n            /**\n             * Street name.\n             */\n            name?: string;\n        };\n        /**\n         * Contains functionality for refining a contacts query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#)\n         */\n        interface ContactsQueryBuilder {\n            /**\n             * Adds an `and` condition to the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#and)\n             */\n            and(query: Contacts.ContactsQueryBuilder): Contacts.ContactsQueryBuilder;\n            /**\n             * Adds a sort to a query, sorting by the specified properties in ascending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#ascending)\n             */\n            ascending(...propertyName: string[]): Contacts.ContactsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is within a specified range.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#between)\n             */\n            between(propertyName: string, rangeStart: Date, rangeEnd: Date): Contacts.ContactsQueryBuilder;\n            /**\n             * Adds a sort to a query, sorting by the specified properties in descending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#descending)\n             */\n            descending(...propertyName: string[]): Contacts.ContactsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): Contacts.ContactsQueryBuilder;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#find)\n             */\n            find(options?: Contacts.AuthOptions): Promise<Contacts.ContactsQueryResult>;\n            /**\n             * Refines a query to match items whose specified property value is greater than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#ge)\n             */\n            ge(propertyName: string, value: Date): Contacts.ContactsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is greater than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#gt)\n             */\n            gt(propertyName: string, value: Date): Contacts.ContactsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value contains all of the specified values.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#hasAll)\n             */\n            hasAll(propertyName: string, values: string[]): Contacts.ContactsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value contains any of the specified values.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#hasSome)\n             */\n            hasSome(propertyName: string, values: string[]): Contacts.ContactsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is less than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#le)\n             */\n            le(propertyName: string, value: Date): Contacts.ContactsQueryBuilder;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#limit)\n             */\n            limit(limit: string): Contacts.ContactsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is less than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#lt)\n             */\n            lt(propertyName: string, value: Date): Contacts.ContactsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value does not equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#ne)\n             */\n            ne(propertyName: string, value: any): Contacts.ContactsQueryBuilder;\n            /**\n             * Adds an `not` condition to the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#not)\n             */\n            not(query: Contacts.ContactsQueryBuilder): Contacts.ContactsQueryBuilder;\n            /**\n             * Adds an `or` condition to the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#or)\n             */\n            or(query: Contacts.ContactsQueryBuilder): Contacts.ContactsQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#skip)\n             */\n            skip(skip: string): Contacts.ContactsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value starts with a specified string.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#startsWith)\n             */\n            startsWith(propertyName: string, value: string): Contacts.ContactsQueryBuilder;\n        }\n        /**\n         * The results of a contacts query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryResult.html#)\n         */\n        interface ContactsQueryResult {\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryResult.html#items)\n             */\n            readonly items: Contacts.Contact[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the `ContactsQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryResult.html#query)\n             */\n            readonly query: Contacts.ContactsQueryBuilder;\n            /**\n             * Indicates if the query has more results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryResult.html#hasNext)\n             */\n            hasNext(): boolean;\n            /**\n             * Indicates if the query has previous results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryResult.html#hasPrev)\n             */\n            hasPrev(): boolean;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryResult.html#next)\n             */\n            next(): Promise<Contacts.ContactsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryResult.html#prev)\n             */\n            prev(): Promise<Contacts.ContactsQueryResult>;\n        }\n        /**\n         * Contains functionality for refining an extended fields query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryBuilder.html#)\n         */\n        interface ExtendedFieldsQueryBuilder {\n            /**\n             * Adds a sort to a query, sorting by the specified properties in ascending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryBuilder.html#ascending)\n             */\n            ascending(...propertyName: string[]): Contacts.ExtendedFieldsQueryBuilder;\n            /**\n             * Adds a sort to a query, sorting by the specified properties in descending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryBuilder.html#descending)\n             */\n            descending(...propertyName: string[]): Contacts.ExtendedFieldsQueryBuilder;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryBuilder.html#find)\n             */\n            find(options?: Contacts.AuthOptions): Promise<Contacts.ExtendedFieldsQueryResult>;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryBuilder.html#limit)\n             */\n            limit(limit: string): Contacts.ExtendedFieldsQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryBuilder.html#skip)\n             */\n            skip(skip: string): Contacts.ExtendedFieldsQueryBuilder;\n        }\n        /**\n         * The results of a contacts query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryResult.html#)\n         */\n        interface ExtendedFieldsQueryResult {\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryResult.html#items)\n             */\n            readonly items: Contacts.ExtendedField[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the `ExtendedFieldsQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryResult.html#query)\n             */\n            readonly query: Contacts.ExtendedFieldsQueryBuilder;\n            /**\n             * Indicates if the query has more results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryResult.html#hasNext)\n             */\n            hasNext(): boolean;\n            /**\n             * Indicates if the query has previous results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryResult.html#hasPrev)\n             */\n            hasPrev(): boolean;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryResult.html#next)\n             */\n            next(): Promise<Contacts.ExtendedFieldsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryResult.html#prev)\n             */\n            prev(): Promise<Contacts.ExtendedFieldsQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a labels query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryBuilder.html#)\n         */\n        interface LabelsQueryBuilder {\n            /**\n             * Adds a sort to a query, sorting by the specified properties in ascending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryBuilder.html#ascending)\n             */\n            ascending(...propertyName: string[]): Contacts.LabelsQueryBuilder;\n            /**\n             * Adds a sort to a query, sorting by the specified properties in descending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryBuilder.html#descending)\n             */\n            descending(...propertyName: string[]): Contacts.LabelsQueryBuilder;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryBuilder.html#find)\n             */\n            find(options?: Contacts.AuthOptions): Promise<Contacts.LabelsQueryResult>;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryBuilder.html#limit)\n             */\n            limit(limit: string): Contacts.LabelsQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryBuilder.html#skip)\n             */\n            skip(skip: string): Contacts.LabelsQueryBuilder;\n        }\n        /**\n         * The results of a contacts query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryResult.html#)\n         */\n        interface LabelsQueryResult {\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryResult.html#items)\n             */\n            readonly items: Contacts.Label[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the `LabelsQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryResult.html#query)\n             */\n            readonly query: Contacts.LabelsQueryBuilder;\n            /**\n             * Indicates if the query has more results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryResult.html#hasNext)\n             */\n            hasNext(): boolean;\n            /**\n             * Indicates if the query has previous results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryResult.html#hasPrev)\n             */\n            hasPrev(): boolean;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryResult.html#next)\n             */\n            next(): Promise<Contacts.LabelsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryResult.html#prev)\n             */\n            prev(): Promise<Contacts.LabelsQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a contacts query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryBuilder.html#)\n         */\n        namespace ContactsQueryBuilder {\n        }\n        /**\n         * The results of a contacts query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ContactsQueryResult.html#)\n         */\n        namespace ContactsQueryResult {\n        }\n        /**\n         * Contains functionality for refining an extended fields query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryBuilder.html#)\n         */\n        namespace ExtendedFieldsQueryBuilder {\n        }\n        /**\n         * The results of a contacts query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.ExtendedFieldsQueryResult.html#)\n         */\n        namespace ExtendedFieldsQueryResult {\n        }\n        /**\n         * Contains functionality for refining a labels query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryBuilder.html#)\n         */\n        namespace LabelsQueryBuilder {\n        }\n        /**\n         * The results of a contacts query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Contacts.LabelsQueryResult.html#)\n         */\n        namespace LabelsQueryResult {\n        }\n    }\n    /**\n     * Events that are fired by actions relating to site contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * An object representing a created card.\n         */\n        type CardCreatedEvent = {\n            /**\n             * ID of the card's workflow.\n             */\n            workflowId: string;\n            /**\n             * Name of the card's workflow.\n             */\n            workflowName: string;\n            /**\n             * ID of the card's phase.\n             */\n            phaseId: string;\n            /**\n             * Name of the card's phase.\n             */\n            phaseName: string;\n            /**\n             * The card that was created.\n             */\n            card: Workflows.Card;\n        };\n        /**\n         * An object representing a moved card.\n         */\n        type CardMovedEvent = {\n            /**\n             * ID of the card's workflow.\n             */\n            workflowId: string;\n            /**\n             * Name of the card's workflow.\n             */\n            workflowName: string;\n            /**\n             * ID of the card's new phase.\n             */\n            newPhaseId: string;\n            /**\n             * Name of the card's new phase.\n             */\n            newPhaseName: string;\n            /**\n             * ID of the card's old phase.\n             */\n            previousPhaseId: string;\n            /**\n             * Name of the card's old phase.\n             */\n            previousPhaseName: string;\n            /**\n             * The card that was moved.\n             */\n            card: Workflows.Card;\n        };\n        /**\n         * An object representing a moved card.\n         */\n        type CardRestoredEvent = {\n            /**\n             * ID of the workflow the card was restored to.\n             */\n            workflowId: string;\n            /**\n             * Name of the workflow the card was restored to.\n             */\n            workflowName: string;\n            /**\n             * ID of the phase the card was restored to.\n             */\n            phaseId: string;\n            /**\n             * Name of the phase the card was restored to.\n             */\n            phaseName: string;\n            /**\n             * The card that was restored.\n             */\n            card: Workflows.Card;\n        };\n        type ContactCreatedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.EventMetadata;\n            /**\n             * Created contact.\n             */\n            entity: Contacts.Contact;\n        };\n        type ContactDeletedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.UpdateAndDeleteMetadata;\n        };\n        type ContactMergedData = {\n            /**\n             * IDs of the source contacts.\n             */\n            sourceContactIds: string[];\n            /**\n             * ID of the target contact.\n             */\n            targetContactId: string;\n            /**\n             * Updated target contact.\n             */\n            targetContact: Contacts.Contact;\n        };\n        type ContactMergedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.EventMetadata;\n            /**\n             * Information about the source and target contacts.\n             */\n            data: Events.ContactMergedData;\n        };\n        type ContactUpdatedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.UpdateAndDeleteMetadata;\n            /**\n             * Updated contact.\n             */\n            entity: Contacts.Contact;\n        };\n        /**\n         * Event metadata.\n         */\n        type EventMetadata = {\n            /**\n             * Event ID.\n             */\n            id: string;\n            /**\n             * Contact ID associated with the event.\n             */\n            entityId: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime: string;\n            /**\n             * Whether the event was triggered as a result of a privacy regulation application\n             * (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)).\n             * For advanced users.\n             */\n            triggeredByAnonymizeRequest?: boolean;\n        };\n        /**\n         * An object representing an attachment to a Wix Form.\n         */\n        type FormAttachment = {\n            /**\n             * Name of the attachment.\n             */\n            name: string;\n            /**\n             * Type of attachment.\n             * One of:\n             *\n             * + `\"UNDEFINED\"`\n             * + `\"DOCUMENT\"`\n             * + `\"IMAGE\"`\n             * + `\"VIDEO\"`\n             */\n            type: string;\n            /**\n             * URL of the attachment.\n             */\n            url: string;\n        };\n        /**\n         * An object representing a Wix Form field.\n         */\n        type FormField = {\n            /**\n             * Name of the field.\n             */\n            fieldName: string;\n            /**\n             * Value of the field.\n             */\n            fieldValue: string;\n        };\n        /**\n         * An object representing a Wix Form.\n         */\n        type FormSubmitEvent = {\n            /**\n             * Contact ID of the site visitor submitting the Wix Form.\n             */\n            contactId: string;\n            /**\n             * Name of the Wix Form.\n             */\n            formName: string;\n            /**\n             * Date and time that the Wix Form was submitted.\n             */\n            submissionTime: Date;\n            /**\n             * Data submitted in the Wix Form. The object contains `key:value` pairs where the key is the field name and the value is the contents of the field.\n             */\n            submissionData: Events.FormField[];\n            /**\n             * The Wix Form's attachments.\n             */\n            attachments: Events.FormAttachment[];\n        };\n        /**\n         * Event metadata.\n         */\n        type UpdateAndDeleteMetadata = {\n            /**\n             * Event ID.\n             */\n            id: string;\n            /**\n             * Contact ID associated with the event.\n             */\n            entityId: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime: string;\n            /**\n             * If present and set to `\"merge\"`,\n             * indicates the event was triggered by a merge.\n             *\n             * See [`onContactMerged()`](#onContactMerged) for information on handling\n             * merge events.\n             */\n            originatedFrom?: string;\n            /**\n             * Whether the event was triggered as a result of a privacy regulation application\n             * (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)).\n             * For advanced users.\n             */\n            triggeredByAnonymizeRequest?: boolean;\n        };\n    }\n    /**\n     * The Notifications API is used to send notifications to the site owner and contributors.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Notifications.html#)\n     */\n    namespace Notifications {\n        /**\n         * An object containing information about where to navigate when a notification is clicked.\n         */\n        type ActionTarget = {\n            /**\n             * URL to navigate to when the `actionTitle` text is clicked.\n             */\n            url?: string;\n        };\n        /**\n         * An object representing notification options.\n         */\n        type NotificationOptions = {\n            /**\n             * Notification title. Only displayed on mobile and browser notifications. Max length: 512 characters.\n             */\n            title?: string;\n            /**\n             * Call to action text to be clicked on. When clicked, navigates to the `actionTarget` URL. Max length: 512 characters.\n             */\n            actionTitle?: string;\n            /**\n             * Where to navigate to when the `actionTitle` text is clicked.\n             */\n            actionTarget?: Notifications.ActionTarget;\n            /**\n             * Contributor that will receive the notifications, based on their assigned roles.\n             *  One of:\n             *\n             *  + `\"All_Contributors\"`: All site contributors, including the site owner.\n             *  + `\"Owner\"`: Only the site owner.\n             */\n            recipients?: Notifications.SiteContributors;\n        };\n        /**\n         * An object containing information about which contributors will receive a notification.\n         */\n        type SiteContributors = {\n            /**\n             * Roles to receive the notification.\n             * One of:\n             *\n             * + `\"All_Contributors\"`: All site contributors (default).\n             * + `\"Owner\"`: Only the site owner.\n             */\n            role?: string;\n        };\n    }\n    /**\n     * **Deprecated.**\n     *  The Tasks submodule will continue to work, but a newer version is\n     * available at [wix-crm.v2.Tasks](https://www.wix.com/velo/reference/wix-crm-v2/tasks/introduction).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Tasks.html#)\n     */\n    namespace Tasks {\n        /**\n         * An object representing a task.\n         */\n        type Task = {\n            /**\n             * Unique task identifier.\n             */\n            _id: string;\n            /**\n             * Task title.\n             */\n            title: string;\n            /**\n             * Date the task is due.\n             */\n            dueDate: Date;\n            /**\n             * Unique identifier of the site contact\n             *  that this task is linked to.\n             */\n            contactId: string;\n            /**\n             * Indicates whether the task has been\n             *  completed.\n             */\n            isCompleted: boolean;\n            /**\n             * Running task version number. Each time an\n             *  action is performed on a task its version number is incremented.\n             */\n            version: number;\n            /**\n             * Type of the task's creator. `\"USER\"`\n             *  if the task was created using the site's dashboard. `\"APP\"` if the task was\n             *  created using the [`createTask()`](#createTask) function or if it was created\n             *  by an app installed on the site.\n             */\n            creatorType: string;\n            /**\n             * When `creatorType` is `\"USER\"`, the unique\n             *  identifier of the user that created the task in the dashboard. Otherwise, `userId` is not\n             *  present.\n             */\n            userId?: string;\n            /**\n             * When `creatorType` is `\"APP\"`, the unique\n             *  identifier of the application that created the task. Otherwise, `applicationId` is not\n             *  present.\n             */\n            applicationId?: string;\n        };\n        /**\n         * An object representing information for creating or updating a task.\n         */\n        type TaskInfo = {\n            /**\n             * Task title.\n             */\n            title?: string;\n            /**\n             * Date the task is due.\n             */\n            dueDate?: Date;\n            /**\n             * Unique identifier of the site contact\n             *  that this task is linked to.\n             */\n            contactId?: string;\n        };\n    }\n    /**\n     * The Triggered Emails API is used to send triggered emails to your site's contacts and members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.TriggeredEmails.html#)\n     */\n    namespace TriggeredEmails {\n        type TriggeredEmailOptions = {\n            /**\n             * An object with `key:value` pairs. Each\n             *  `key` is a variable in the email template created in Triggered Emails, and its\n             *  corresponding `value` is the value to insert into the template in place of the\n             *  variable. The values must be strings.\n             *\n             * Example: `{ firstName: 'John', lastName: 'Doe' }`\n             */\n            variables: any;\n        };\n    }\n    /**\n     * **Deprecated.**\n     * The Workflows API will be discontinued in the upcoming months. Our team is\n     * working to provide alternatives, and we'll provide timely updates before\n     * implementing any changes. We understand that this transition might present challenges,\n     * and we appreciate your patience and understanding.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-backend.Workflows.html#)\n     */\n    namespace Workflows {\n        /**\n         * An object containing card information.\n         */\n        type Card = {\n            /**\n             * Unique card identifier.\n             */\n            id: string;\n            /**\n             * Name of the card.\n             */\n            name?: string;\n            /**\n             * Source that created the card.\n             *\n             *  Some possible values:\n             *\n             *  + `\"Contacts\"`\n             *  + `\"Velo\"`\n             *  + `\"Inbox\"`\n             *  + `\"Invoices\"`\n             *  + `\"Marketplace\"`\n             *  + `\"Price Quotes\"`\n             *  + `\"Wix Forms\"`\n             */\n            source: string;\n            /**\n             * ID of the contact associated with the card.\n             */\n            contactId: string;\n            /**\n             * Date the card was created.\n             */\n            createdDate: Date;\n            /**\n             * Date the card was last updated.\n             */\n            updatedDate: Date;\n            /**\n             * ID of the phase which contains the card.\n             */\n            phaseId: string;\n        };\n        /**\n         * An object containing a list of cards and pagination info.\n         */\n        type CardList = {\n            /**\n             * List of cards matching the list options.\n             */\n            items: Workflows.Card[];\n            /**\n             * Number of items in the current results page.\n             */\n            length: number;\n            /**\n             * Total number of cards in the specified workflow and phase.\n             */\n            totalCount: number;\n            /**\n             * Number of items returned per page with the current list options.\n             */\n            pageSize: number;\n            /**\n             * Total number of results pages.\n             */\n            totalPages: number;\n            /**\n             * Index of the current page. Indices are zero-based.\n             */\n            currentPage: number;\n        };\n        type CreateCardRequest = {\n            /**\n             * Name of the card.\n             */\n            name?: string;\n            /**\n             * ID of the contact associated with the card.\n             */\n            contactId: string;\n        };\n        type CreatePhaseRequest = {\n            /**\n             * Name of the phase.\n             */\n            name: string;\n        };\n        type CreateWorkflowRequest = {\n            /**\n             * Name of the workflow.\n             */\n            name: string;\n            /**\n             * Workflow description.\n             */\n            description?: string;\n        };\n        /**\n         * An object contains ListCards request data.\n         */\n        type ListCardOptions = {\n            /**\n             * ID of phase to retrieve cards from. If omitted, will retrieve cards from all phases. Not to be used with `fetchOnlyArchived`.\n             */\n            phaseId?: string;\n            /**\n             * Whether to retrieve only archived cards. Not to be used with `phaseId`.\n             */\n            fetchOnlyArchived?: boolean;\n            /**\n             * Maximum number of cards to retrieve. Defaults to `50`.\n             */\n            limit?: number;\n            /**\n             * Number of cards to skip before the retrieved items. Defaults to `0`.\n             */\n            skip?: number;\n            /**\n             * Ordering options.\n             */\n            order?: Workflows.OrderOptions;\n        };\n        /**\n         * An object containing options used when requesting a list of workflows or phases.\n         */\n        type ListOptions = {\n            /**\n             * Maximum number of items to retrieve. Defaults to `50` for phases and `100` for workflows.\n             */\n            limit?: number;\n            /**\n             * Number of items to skip before the retrieved items. Defaults to `0`.\n             */\n            skip?: number;\n            /**\n             * Ordering options.\n             */\n            order?: Workflows.OrderOptions;\n        };\n        /**\n         * An object containing information used when moving a card.\n         */\n        type MoveCardOptions = {\n            /**\n             * ID of the phase to move the card to. If omitted, the card remains in the same phase.\n             */\n            newPhaseId?: string;\n            /**\n             * Position within the phase to move the card to. If omitted, the card is moved to the top of the phase.\n             */\n            newPosition?: number;\n        };\n        /**\n         * An object containing information used when moving a phase.\n         */\n        type MovePhaseOptions = {\n            /**\n             * ID of the workflow to move the phase to.\n             */\n            workflowId: string;\n            /**\n             * Position within the workflow to move the phase to.\n             */\n            newPosition: number;\n        };\n        /**\n         * An object containing sort order options.\n         */\n        type OrderOptions = {\n            /**\n             * Field to sort on.\n             */\n            field?: string;\n            /**\n             * Order of sort. Either `\"asc\"` or `\"desc\"` (defaults to `\"asc\"`).\n             */\n            sort?: string;\n        };\n        /**\n         * An object containing phase information.\n         */\n        type Phase = {\n            /**\n             * Unique phase identifier.\n             */\n            id: string;\n            /**\n             * Name of the phase.\n             */\n            name: string;\n        };\n        /**\n         * An object containing a list of phases and pagination info.\n         */\n        type PhaseList = {\n            /**\n             * List of phases matching the list options.\n             */\n            items: Workflows.Phase[];\n            /**\n             * Number of items in the current results page.\n             */\n            length: number;\n            /**\n             * Total number of phases in the specified workflow.\n             */\n            totalCount: number;\n            /**\n             * Number of items returned per page with the current list options.\n             */\n            pageSize: number;\n            /**\n             * Total number of results pages.\n             */\n            totalPages: number;\n            /**\n             * Index of the current page. Indices are zero-based.\n             */\n            currentPage: number;\n        };\n        type UpdateCardRequest = {\n            /**\n             * Name of the card.\n             */\n            name?: string;\n            /**\n             * Source that created the card.\n             *\n             *  Some possible values:\n             *\n             *  + `\"Contacts\"`\n             *  + `\"Velo\"`\n             *  + `\"Inbox\"`\n             *  + `\"Invoices\"`\n             *  + `\"Marketplace\"`\n             *  + `\"Price Quotes\"`\n             *  + `\"Wix Forms\"`\n             */\n            source: string;\n            /**\n             * ID of the contact associated with the card.\n             */\n            contactId: string;\n            /**\n             * ID of the phase which contains the card.\n             */\n            phaseId: string;\n        };\n        type UpdatePhaseRequest = {\n            /**\n             * Name of the phase.\n             */\n            name: string;\n        };\n        type UpdateWorkflowRequest = {\n            /**\n             * Name of the workflow.\n             */\n            name?: string;\n            /**\n             * Workflow description.\n             */\n            description?: string;\n        };\n        /**\n         * An object representing a workflow.\n         */\n        type Workflow = {\n            /**\n             * Workflow information.\n             */\n            workflowInfo: Workflows.WorkflowInfo;\n            /**\n             * ID of the win phase.\n             */\n            winPhaseId: string;\n        };\n        /**\n         * An object containing information about a workflow.\n         */\n        type WorkflowInfo = {\n            /**\n             * Unique workflow identifier.\n             */\n            id: string;\n            /**\n             * Name of the workflow.\n             */\n            name: string;\n            /**\n             * Workflow description.\n             */\n            description?: string;\n            /**\n             * Date the workflow was created.\n             */\n            createdDate?: Date;\n        };\n        /**\n         * An object containing a list of workflows and pagination info.\n         */\n        type WorkflowList = {\n            /**\n             * List of workflows matching the list options.\n             */\n            items: Workflows.WorkflowInfo[];\n            /**\n             * Number of items in the current results page.\n             */\n            length: number;\n            /**\n             * Total number of workflows in the site.\n             */\n            totalCount: number;\n            /**\n             * Number of items returned per page with the current list options.\n             */\n            pageSize: number;\n            /**\n             * Total number of results pages.\n             */\n            totalPages: number;\n            /**\n             * Index of the current page. Indices are zero-based.\n             */\n            currentPage: number;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-data.d.ts",
      "content": "/**\n * The wix-data module contains functionality for working with data in collections.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#)\n */\ndeclare module 'wix-data' {\n    /**\n     * Creates an aggregation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#aggregate)\n     */\n    function aggregate(collectionId: string): WixDataAggregate;\n    /**\n     * Adds a number of items to a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#bulkInsert)\n     */\n    function bulkInsert(collectionId: string, items: any[], options?: WixDataOptions): Promise<WixDataBulkResult>;\n    /**\n     * Removes a number of items from a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#bulkRemove)\n     */\n    function bulkRemove(collectionId: string, itemIds: string[], options?: WixDataOptions): Promise<WixDataBulkRemoveResult>;\n    /**\n     * Inserts or updates a number of items in a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#bulkSave)\n     */\n    function bulkSave(collectionId: string, items: any[], options?: WixDataOptions): Promise<WixDataBulkResult>;\n    /**\n     * Updates a number of items in a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#bulkUpdate)\n     */\n    function bulkUpdate(collectionId: string, items: any[], options?: WixDataOptions): Promise<WixDataBulkResult>;\n    /**\n     * Creates a filter to be used with datasets and aggregations.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#filter)\n     */\n    function filter(): WixDataFilter;\n    /**\n     * Retrieves an item from a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#get)\n     */\n    function get(collectionId: string, itemId: string, options?: WixDataOptions): Promise<any>;\n    /**\n     * Adds an item to a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#insert)\n     */\n    function insert(collectionId: string, item: any, options?: WixDataOptions): Promise<any>;\n    /**\n     * Inserts a reference in the specified property.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#insertReference)\n     */\n    function insertReference(collectionId: string, propertyName: string, referringItem: any | string, referencedItem: any | string | any[] | string[], options?: WixDataOptions): Promise<void>;\n    /**\n     * Checks if a reference to the referenced item exists in the specified\n     *   property of the referring item.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#isReferenced)\n     */\n    function isReferenced(collectionId: string, propertyName: string, referringItem: any | string, referencedItem: any | string, options?: WixDataOptions): Promise<boolean>;\n    /**\n     * Creates a query for retrieving items from a database collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#query)\n     */\n    function query(collectionId: string): WixDataQuery;\n    /**\n     * Gets the full items referenced in the specified property.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#queryReferenced)\n     */\n    function queryReferenced(collectionId: string, item: any | string, propertyName: string, options?: WixDataQueryReferencedOptions): Promise<WixDataQueryReferencedResult>;\n    /**\n     * Removes an item from a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#remove)\n     */\n    function remove(collectionId: string, itemId: string, options?: WixDataOptions): Promise<any>;\n    /**\n     * Removes a reference from the specified property.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#removeReference)\n     */\n    function removeReference(collectionId: string, propertyName: string, referringItem: any | string, referencedItem: any | string | any[] | string[], options?: WixDataOptions): Promise<void>;\n    /**\n     * Replaces current references with references in the specified property.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#replaceReferences)\n     */\n    function replaceReferences(collectionId: string, propertyName: string, referringItem: any | string, referencedItem: any | string | any[] | string[], options?: WixDataOptions): Promise<void>;\n    /**\n     * Inserts or updates an item in a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#save)\n     */\n    function save(collectionId: string, item: any, options?: WixDataOptions): Promise<any>;\n    /**\n     * Creates a sort to be used with the dataset `setSort()` function.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#sort)\n     */\n    function sort(): WixDataSort;\n    /**\n     * Removes all items from a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#truncate)\n     */\n    function truncate(collectionId: string, options?: WixDataOptions): Promise<null>;\n    /**\n     * Updates an item in a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.html#update)\n     */\n    function update(collectionId: string, item: any, options?: WixDataOptions): Promise<any>;\n    /**\n     * An object returned by the `bulkRemove()` function.\n     */\n    type WixDataBulkRemoveResult = {\n        /**\n         * The number of removed items.\n         */\n        removed: number;\n        /**\n         * The number of skipped items.\n         */\n        skipped: number;\n        /**\n         * List of IDs of removed items.\n         */\n        removedItemIds: string[];\n        /**\n         * List of errors.\n         */\n        errors: Error[];\n    };\n    /**\n     * An object returned by Wix Data bulk operations.\n     */\n    type WixDataBulkResult = {\n        /**\n         * The number of inserted items.\n         */\n        inserted: number;\n        /**\n         * The number of updated items.\n         */\n        updated: number;\n        /**\n         * The number of skipped items.\n         */\n        skipped: number;\n        /**\n         * List of IDs of inserted items.\n         */\n        insertedItemIds: string[];\n        /**\n         * List of IDs of updated items.\n         */\n        updatedItemIds: string[];\n        /**\n         * List of errors.\n         */\n        errors: Error[];\n    };\n    /**\n     * An object that you pass as the `options` parameter that modifies how an operation is performed.\n     */\n    type WixDataOptions = {\n        /**\n         * Prevents [permission](https://support.wix.com/en/article/about-collection-permissions) checks from running for the operation. Defaults to `false`. Can only be used in backend code.\n         */\n        suppressAuth?: boolean;\n        /**\n         * Prevents [hooks](https://support.wix.com/en/article/wix-code-how-to-use-data-hooks) from running for the operation. Can only be used in backend code.\n         */\n        suppressHooks?: boolean;\n        /**\n         * Optional filters specific to querying [Wix Stores Products Collection Fields](https://support.wix.com/en/article/velo-wix-stores-products-collection-fields).\n         */\n        appOptions?: WixStoresProductQuery;\n        /**\n         * When `true`, reads data from the primary database instance.\n         * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n         * See [Wix Data and Eventual Consistency](https://dev.wix.com/docs/velo/api-reference/wix-data/introduction#api-reference_wix-data_wix-data-and-eventual-consistency) for more information.\n         *\n         * Default: `false`\n         */\n        consistentRead?: boolean;\n    };\n    /**\n     * An object that you pass as the `options` parameter that modifies how an operation is performed.\n     */\n    type WixDataQueryOptions = {\n        /**\n         * Prevents [permission](https://support.wix.com/en/article/about-collection-permissions) checks from running for the operation. Defaults to `false`. Can only be used in backend code.\n         */\n        suppressAuth?: boolean;\n        /**\n         * Prevents [hooks](https://support.wix.com/en/article/wix-code-how-to-use-data-hooks) from running for the operation. Can only be used in backend code.\n         */\n        suppressHooks?: boolean;\n        /**\n         * When `true`, reads data from the primary database instance.\n         * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n         * See [Wix Data and Eventual Consistency](https://dev.wix.com/docs/velo/api-reference/wix-data/introduction#api-reference_wix-data_wix-data-and-eventual-consistency) for more information.\n         *\n         * Default: `false`\n         */\n        consistentRead?: boolean;\n        /**\n         * When `true`, the query result does not include a `totalCount` property containing the total number of items matching the query.\n         * This speeds up the query.\n         *\n         * Default: `false`\n         */\n        omitTotalCount?: boolean;\n        /**\n         * Optional filters specific to querying [Wix Stores Products Collection Fields](https://support.wix.com/en/article/velo-wix-stores-products-collection-fields).\n         */\n        appOptions?: WixStoresProductQuery;\n        /**\n         * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n         * If provided, the result text is returned in the specified language. **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n         * If not provided, result text is not translated.\n         */\n        language?: string;\n    };\n    /**\n     * An object for controlling the order of returned referenced items.\n     */\n    type WixDataQueryReferencedOptions = {\n        /**\n         * Order of the returned referenced items. Sorted by the date each item was referenced.\n         *\n         * Supported values:\n         * - `'asc'`: Ascending\n         * - `'desc'`: Descending\n         */\n        order?: string;\n        /**\n         * Prevents [permission](https://support.wix.com/en/article/about-collection-permissions) checks from running for the operation. Defaults to `false`. Can only be used in backend code.\n         */\n        suppressAuth?: boolean;\n        /**\n         * When `true`, reads data from the primary database instance.\n         * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n         * See [Wix Data and Eventual Consistency](https://dev.wix.com/docs/velo/api-reference/wix-data/introduction#api-reference_wix-data_wix-data-and-eventual-consistency) for more information.\n         *\n         * Default: `false`\n         */\n        consistentRead?: boolean;\n        /**\n         * When `true`, the query result does not include a `totalCount` property containing the total number of items matching the query.\n         * This speeds up the query.\n         *\n         *\n         * Default: `false`\n         */\n        omitTotalCount?: boolean;\n        /**\n         * Fields to return for the item. Only fields specified in the array are included in the response. If the array is empty, all fields are returned.\n         * > **Note:** The `_id` system field is always returned.\n         */\n        fields?: string[];\n    };\n    /**\n     * An object that you pass as the `options.appOptions` parameter that allows for Wix Stores/Products query specificity.\n     */\n    type WixStoresProductQuery = {\n        /**\n         * Whether to include product variants in the query. Default is `false`.\n         */\n        includeVariants?: boolean;\n        /**\n         * Whether to include [hidden products](https://support.wix.com/en/article/wix-stores-changing-the-visibility-of-a-product) in the query. Default is `false`.\n         */\n        includeHiddenProducts?: boolean;\n    };\n    /**\n     * Hooks that can be added to wix-data operations.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#)\n     */\n    interface Hooks {\n        /**\n         * A hook triggered after an aggregation operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#afterAggregate)\n         */\n        afterAggregate(item: any, context: Hooks.HookContext): Promise<any> & any;\n        /**\n         * A hook that is triggered after a `count()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#afterCount)\n         */\n        afterCount(count: number, context: Hooks.HookContext): Promise<number> & number;\n        /**\n         * A hook triggered after a distinct query operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#afterDistinct)\n         */\n        afterDistinct(item: any, context: Hooks.HookContext): Promise<any> & any;\n        /**\n         * A hook that is triggered after a `get()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#afterGet)\n         */\n        afterGet(item: any, context: Hooks.HookContext): Promise<any> & any;\n        /**\n         * A hook that is triggered after an `insert()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#afterInsert)\n         */\n        afterInsert(item: any, context: Hooks.HookContext): Promise<any> & any;\n        /**\n         * A hook that is triggered after a `find` operation, for each of the items in the query results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#afterQuery)\n         */\n        afterQuery(item: any, context: Hooks.HookContext): Promise<any> & any;\n        /**\n         * A hook that is triggered after a `remove()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#afterRemove)\n         */\n        afterRemove(item: any, context: Hooks.HookContext): Promise<any> & any;\n        /**\n         * A hook that is triggered after an `update()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#afterUpdate)\n         */\n        afterUpdate(item: any, context: Hooks.UpdateHookContext): Promise<any> & any;\n        /**\n         * A hook triggered before an aggregation operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#beforeAggregate)\n         */\n        beforeAggregate(aggregate: WixDataAggregate, context: Hooks.HookContext): Promise<WixDataAggregate> & WixDataAggregate;\n        /**\n         * A hook that is triggered before a `count()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#beforeCount)\n         */\n        beforeCount(query: WixDataQuery, context: Hooks.HookContext): Promise<WixDataQuery> & WixDataQuery;\n        /**\n         * A hook triggered before a distinct query operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#beforeDistinct)\n         */\n        beforeDistinct(distinctQuery: WixDataDistinct, context: Hooks.HookContext): Promise<WixDataDistinct> & WixDataDistinct;\n        /**\n         * A hook that is triggered before a `get()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#beforeGet)\n         */\n        beforeGet(itemId: string, context: Hooks.HookContext): Promise<string> & string;\n        /**\n         * A hook that is triggered before an `insert()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#beforeInsert)\n         */\n        beforeInsert(item: any, context: Hooks.HookContext): Promise<any> & any;\n        /**\n         * A hook that is triggered before a `find()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#beforeQuery)\n         */\n        beforeQuery(query: WixDataQuery, context: Hooks.HookContext): Promise<WixDataQuery> & WixDataQuery;\n        /**\n         * A hook that is called before a `remove()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#beforeRemove)\n         */\n        beforeRemove(itemId: string, context: Hooks.UpdateHookContext): Promise<string> & string;\n        /**\n         * A hook that is triggered before an `update()` operation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#beforeUpdate)\n         */\n        beforeUpdate(item: any, context: Hooks.UpdateHookContext): Promise<any> & any;\n        /**\n         * A hook that is triggered on any error or rejected Promise from any of the wix-data operations.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#onFailure)\n         */\n        onFailure(error: Error, context: Hooks.HookContext): Promise<any>;\n    }\n    /**\n     * Provides functionality for performing aggregations on collection data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#)\n     */\n    interface WixDataAggregate {\n        /**\n         * Adds a sort to an aggregation, sorting by the items or groups by the specified properties in ascending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#ascending)\n         */\n        ascending(...propertyName: string[]): WixDataAggregate;\n        /**\n         * Refines a `WixDataAggregate` to only contain the average value from each aggregation group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#avg)\n         */\n        avg(propertyName: string, projectedName?: string): WixDataAggregate;\n        /**\n         * Refines a `WixDataAggregate` to contain the item count of each group in the aggregation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#count)\n         */\n        count(): WixDataAggregate;\n        /**\n         * Adds a sort to an aggregation, sorting by the items or groups by the specified properties in descending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#descending)\n         */\n        descending(...propertyName: string[]): WixDataAggregate;\n        /**\n         * Filters out items from being used in an aggregation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#filter)\n         */\n        filter(filter: WixDataFilter): WixDataAggregate;\n        /**\n         * Groups items together in an aggregation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#group)\n         */\n        group(...propertyName: string[]): WixDataAggregate;\n        /**\n         * Filters out groups from being returned from an aggregation.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#having)\n         */\n        having(filter: WixDataFilter): WixDataAggregate;\n        /**\n         * Limits the number of items or groups the aggregation returns.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#limit)\n         */\n        limit(limit: number): WixDataAggregate;\n        /**\n         * Refines a `WixDataAggregate` to only contain the maximum value from each aggregation group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#max)\n         */\n        max(propertyName: string, projectedName?: string): WixDataAggregate;\n        /**\n         * Refines a `WixDataAggregate` to only contain the minimum value from each aggregation group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#min)\n         */\n        min(propertyName: string, projectedName?: string): WixDataAggregate;\n        /**\n         * Runs the aggregation and returns the results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#run)\n         */\n        run(options?: WixDataAggregate.RunOptions): Promise<WixDataAggregateResult>;\n        /**\n         * Sets the number of items or groups to skip before returning aggregation results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#skip)\n         */\n        skip(skip: number): WixDataAggregate;\n        /**\n         * Refines a `WixDataAggregate` to contain the sum from each aggregation group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#sum)\n         */\n        sum(propertyName: string, projectedName?: string): WixDataAggregate;\n    }\n    /**\n     * The results of an aggregation, containing the aggregated values.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregateResult.html#)\n     */\n    interface WixDataAggregateResult {\n        /**\n         * Gets the aggregated values.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregateResult.html#items)\n         */\n        readonly items: any[];\n        /**\n         * Returns the number of values in the aggregate results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregateResult.html#length)\n         */\n        readonly length: number;\n        /**\n         * Indicates if the aggregation has more results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregateResult.html#hasNext)\n         */\n        hasNext(): boolean;\n        /**\n         * Retrieves the next page of aggregate results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregateResult.html#next)\n         */\n        next(): Promise<WixDataAggregateResult>;\n    }\n    /**\n     * Provides functionality for refining a distinct data query.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#)\n     */\n    interface WixDataDistinct extends WixDataFilter {\n        /**\n         * Sorts the results of the distinct query in ascending order by the distinct property.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#ascending)\n         */\n        ascending(): WixDataDistinct;\n        /**\n         * Sorts the results of the distinct query by the distinct property in descending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#descending)\n         */\n        descending(): WixDataDistinct;\n        /**\n         * Sets the filter used to refine the distinct query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#filter)\n         */\n        filter(filter: WixDataFilter): WixDataDistinct;\n        /**\n         * Returns the filter used to refine the distinct query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#getFilter)\n         */\n        getFilter(): WixDataFilter;\n        /**\n         * Returns the name of the property used to define the distinct query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#getPropertyName)\n         */\n        getPropertyName(): string;\n        /**\n         * Whether the results of the distinct query are sorted by the distinct property in ascending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#isAscending)\n         */\n        isAscending(): boolean;\n        /**\n         * Whether the results of the distinct query are sorted by the distinct property in descending order\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#isDescending)\n         */\n        isDescending(): boolean;\n        /**\n         * Limits the number of items the distinct query returns.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#limit)\n         */\n        limit(limit: number): WixDataDistinct;\n        /**\n         * Specifies the property name by which to return distinct values.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#propertyName)\n         */\n        propertyName(newPropertyName: string): WixDataDistinct;\n        /**\n         * Skips the specified number of items before returning the distinct query results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataDistinct.html#skip)\n         */\n        skip(skip: number): WixDataDistinct;\n    }\n    /**\n     * Provides functionality for refining a filter.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#)\n     */\n    interface WixDataFilter {\n        /**\n         * Adds an `and` condition to the query or filter.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#and)\n         */\n        and(query: WixDataQuery): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value is within a specified range.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#between)\n         */\n        between(propertyName: string, rangeStart: string | number | Date, rangeEnd: string | number | Date): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value contains a specified string.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#contains)\n         */\n        contains(propertyName: string, string: string): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value ends with a specified string.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#endsWith)\n         */\n        endsWith(propertyName: string, string: string): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value equals the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#eq)\n         */\n        eq(propertyName: string, value: any): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value is greater than or equal to the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#ge)\n         */\n        ge(propertyName: string, value: string | number | Date): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value is greater than the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#gt)\n         */\n        gt(propertyName: string, value: string | number | Date): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property values equals all of the specified `value` parameters.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#hasAll)\n         */\n        hasAll(propertyName: string, value: string | number | Date | any[]): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value equals any of the specified `value` parameters.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#hasSome)\n         */\n        hasSome(propertyName: string, value: string | number | Date | any[]): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property does not exist or does not have any value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#isEmpty)\n         */\n        isEmpty(propertyName: string): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property has any value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#isNotEmpty)\n         */\n        isNotEmpty(propertyName: string): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value is less than or equal to the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#le)\n         */\n        le(propertyName: string, value: string | number | Date): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value is less than the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#lt)\n         */\n        lt(propertyName: string, value: string | number | Date): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value does not equal the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#ne)\n         */\n        ne(propertyName: string, value: any): WixDataQuery;\n        /**\n         * Adds a `not` condition to the query or filter.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#not)\n         */\n        not(query: WixDataQuery): WixDataQuery;\n        /**\n         * Adds an `or` condition to the query or filter.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#or)\n         */\n        or(query: WixDataQuery): WixDataQuery;\n        /**\n         * Refines a query or filter to match items whose specified property value starts with a specified string.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataFilter.html#startsWith)\n         */\n        startsWith(propertyName: string, string: string): WixDataQuery;\n    }\n    /**\n     * Contains functionality for refining a data query.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#)\n     */\n    interface WixDataQuery extends WixDataFilter {\n        /**\n         * Adds a sort to a query or sort, sorting by the specified properties in ascending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#ascending)\n         */\n        ascending(...propertyName: string[]): WixDataQuery;\n        /**\n         * Returns the number of items that match the query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#count)\n         */\n        count(options?: WixDataOptions): Promise<number>;\n        /**\n         * Adds a sort to a query or sort, sorting by the specified properties in descending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#descending)\n         */\n        descending(...propertyName: string[]): WixDataQuery;\n        /**\n         * Returns the distinct values that match the query, without duplicates.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#distinct)\n         */\n        distinct(propertyName: string, options?: WixDataQueryOptions): Promise<WixDataQueryResult>;\n        /**\n         * Lists the fields to return in a query's results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#fields)\n         */\n        fields(...propertyName: string[]): WixDataQuery;\n        /**\n         * Returns the items that match the query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#find)\n         */\n        find(options?: WixDataQueryOptions): Promise<WixDataQueryResult>;\n        /**\n         * Includes referenced items for the specified properties in a query's results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#include)\n         */\n        include(...propertyName: string[]): WixDataQuery;\n        /**\n         * Limits the number of items the query returns.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#limit)\n         */\n        limit(limit: number): WixDataQuery;\n        /**\n         * Sets the number of items to skip before returning query results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#skip)\n         */\n        skip(skip: number): WixDataQuery;\n    }\n    /**\n     * The results of a data reference query, containing the retrieved items.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryReferencedResult.html#)\n     */\n    interface WixDataQueryReferencedResult {\n        /**\n         * Returns the items that match the reference query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryReferencedResult.html#items)\n         */\n        readonly items: any[];\n        /**\n         * Returns the total number of items that match the reference query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryReferencedResult.html#totalCount)\n         */\n        readonly totalCount: number;\n        /**\n         * Indicates if the reference query has more results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryReferencedResult.html#hasNext)\n         */\n        hasNext(): boolean;\n        /**\n         * Indicates if the reference query has previous results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryReferencedResult.html#hasPrev)\n         */\n        hasPrev(): boolean;\n        /**\n         * Retrieves the next page of reference query results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryReferencedResult.html#next)\n         */\n        next(): Promise<WixDataQueryReferencedResult>;\n        /**\n         * Retrieves the previous page of reference query results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryReferencedResult.html#prev)\n         */\n        prev(): Promise<WixDataQueryReferencedResult>;\n    }\n    /**\n     * The results of a data query, containing the retrieved items.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#)\n     */\n    interface WixDataQueryResult {\n        /**\n         * Returns the index of the current results page number.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#currentPage)\n         */\n        readonly currentPage: number;\n        /**\n         * Returns the items that match the query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#items)\n         */\n        readonly items: any[];\n        /**\n         * Returns the number of items in the current results page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#length)\n         */\n        readonly length: number;\n        /**\n         * Returns the query page size.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#pageSize)\n         */\n        readonly pageSize: number;\n        /**\n         * Indicates if referenced items have been trimmed from the results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#partialIncludes)\n         */\n        readonly partialIncludes: boolean;\n        /**\n         * Returns the query used to get the current results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#query)\n         */\n        readonly query: WixDataQuery;\n        /**\n         * Returns the total number of items that match the query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#totalCount)\n         */\n        readonly totalCount: number;\n        /**\n         * Returns the total number of pages the query produced.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#totalPages)\n         */\n        readonly totalPages: number;\n        /**\n         * Indicates if the query has more results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#hasNext)\n         */\n        hasNext(): boolean;\n        /**\n         * Indicates the query has previous results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#hasPrev)\n         */\n        hasPrev(): boolean;\n        /**\n         * Retrieves the next page of query results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#next)\n         */\n        next(): Promise<WixDataQueryResult>;\n        /**\n         * Retrieves the previous page of query results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataQueryResult.html#prev)\n         */\n        prev(): Promise<WixDataQueryResult>;\n    }\n    /**\n     * Provides functionality for sorting a query.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataSort.html#)\n     */\n    interface WixDataSort {\n        /**\n         * Adds a sort to a query or sort, sorting by the specified properties in ascending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataSort.html#ascending)\n         */\n        ascending(...propertyName: string[]): WixDataQuery;\n        /**\n         * Adds a sort to a query or sort, sorting by the specified properties in descending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataSort.html#descending)\n         */\n        descending(...propertyName: string[]): WixDataQuery;\n    }\n    /**\n     * Hooks that can be added to wix-data operations.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.Hooks.html#)\n     */\n    namespace Hooks {\n        /**\n         * An object that contains contextual information about the hook being called.\n         */\n        type HookContext = {\n            /**\n             * ID of the collection affected by the hook.\n             */\n            collectionName: string;\n            /**\n             * ID of the user currently logged in to the site. If no user is logged in, this property might be `null`.\n             */\n            userId: string;\n            /**\n             * User's permissions role: `anonymous`, `siteMember`, or `siteOwner`.\n             */\n            userRole: string;\n        };\n        /**\n         * An object that contains contextual information when calling the `beforeUpdate()`, `beforeRemove()`, or `afterUpdate()` hooks.\n         */\n        type UpdateHookContext = {\n            /**\n             * ID of the collection affected by the hook.\n             */\n            collectionName: string;\n            /**\n             * ID of the user currently logged in to the site. If no user is logged in, this property might be `null`.\n             */\n            userId: string;\n            /**\n             * User's permissions role: `anonymous`, `siteMember`, or `siteOwner`.\n             */\n            userRole: string;\n            /**\n             * Item currently stored in the collection, before it is updated or deleted.\n             */\n            currentItem: any;\n        };\n    }\n    /**\n     * Provides functionality for performing aggregations on collection data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data.WixDataAggregate.html#)\n     */\n    namespace WixDataAggregate {\n        /**\n         * Options to use when running an aggregation.\n         */\n        type RunOptions = {\n            /**\n             * When `true`, prevents permission checks from running for the `run()` operation. Defaults to `false`.\n             */\n            suppressAuth?: boolean;\n            /**\n             * When `true`, reads data from the primary database instance.\n             * This decreases performance but ensures data retrieved is up to date even immediately after an update.\n             * See [Wix Data and Eventual Consistency](https://www.wix.com/velo/reference/wix-data/introduction#wix-data_introduction_wix-data-and-eventual-consistency) for more information.\n             *\n             * Default: `false`\n             */\n            consistentRead?: boolean;\n            /**\n             * Language to translate result text into, in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n             * If provided, the result text is returned in the specified language. **Note:** Translation for the specified language must be enabled for the collection in [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual).\n             * If not provided, result text is not translated.\n             */\n            language?: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-data-hooks.d.ts",
      "content": "/**\n * Hooks that can be added to wix-data operations.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#)\n */\ndeclare module 'wix-data-hooks' {\n    import wixData from 'wix-data';\n    /**\n     * A hook triggered after an aggregation operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#afterAggregate)\n     */\n    function afterAggregate(item: any, context: HookContext): Promise<any> & any;\n    /**\n     * A hook that is triggered after a `count()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#afterCount)\n     */\n    function afterCount(count: number, context: HookContext): Promise<number> & number;\n    /**\n     * A hook triggered after a distinct query operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#afterDistinct)\n     */\n    function afterDistinct(value: any, context: HookContext): Promise<any> & any;\n    /**\n     * A hook that is triggered after a `get()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#afterGet)\n     */\n    function afterGet(item: any, context: HookContext): Promise<any> & any;\n    /**\n     * A hook that is triggered after an `insert()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#afterInsert)\n     */\n    function afterInsert(item: any, context: HookContext): Promise<any> & any;\n    /**\n     * A hook that is triggered after a `find` operation, for each of the items in the query results.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#afterQuery)\n     */\n    function afterQuery(item: any, context: HookContext): Promise<any> & any;\n    /**\n     * A hook that is triggered after a `remove()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#afterRemove)\n     */\n    function afterRemove(item: any, context: HookContext): Promise<any> & any;\n    /**\n     * A hook that is triggered after an `update()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#afterUpdate)\n     */\n    function afterUpdate(item: any, context: UpdateHookContext): Promise<any> & any;\n    /**\n     * A hook triggered before an aggregation operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#beforeAggregate)\n     */\n    function beforeAggregate(aggregate: wixData.WixDataAggregate, context: HookContext): Promise<wixData.WixDataAggregate> & wixData.WixDataAggregate;\n    /**\n     * A hook that is triggered before a `count()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#beforeCount)\n     */\n    function beforeCount(query: wixData.WixDataQuery, context: HookContext): Promise<wixData.WixDataQuery> & wixData.WixDataQuery;\n    /**\n     * A hook triggered before a distinct query operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#beforeDistinct)\n     */\n    function beforeDistinct(distinct: wixData.WixDataDistinct, context: HookContext): Promise<wixData.WixDataDistinct> & wixData.WixDataDistinct;\n    /**\n     * A hook that is triggered before a `get()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#beforeGet)\n     */\n    function beforeGet(itemId: string, context: HookContext): Promise<string> & string;\n    /**\n     * A hook that is triggered before an `insert()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#beforeInsert)\n     */\n    function beforeInsert(item: any, context: HookContext): Promise<any> & any;\n    /**\n     * A hook that is triggered before a `find()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#beforeQuery)\n     */\n    function beforeQuery(query: wixData.WixDataQuery, context: HookContext): Promise<wixData.WixDataQuery> & wixData.WixDataQuery;\n    /**\n     * A hook that is called before a `remove()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#beforeRemove)\n     */\n    function beforeRemove(itemId: string, context: UpdateHookContext): Promise<string> & string;\n    /**\n     * A hook that is triggered before an `update()` operation.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#beforeUpdate)\n     */\n    function beforeUpdate(item: any, context: UpdateHookContext): Promise<any> & any;\n    /**\n     * A hook that is triggered on any error or rejected Promise from any of the wix-data operations.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-data-hooks.html#onFailure)\n     */\n    function onFailure(error: Error, context: HookContext): Promise<any>;\n    /**\n     * An object that contains contextual information about the hook being called.\n     */\n    type HookContext = {\n        /**\n         * The ID of the collection the hook affects.\n         */\n        collectionName: string;\n        /**\n         * The current site user ID. If no user is logged in to the site it may be null.\n         */\n        userId: string;\n        /**\n         * The permissions role of the current user. Possibilities are: `anonymous`, `siteMember`, and `siteOwner`.\n         */\n        userRole: string;\n    };\n    /**\n     * An object that contains contextual information when calling the `beforeUpdate()`, `beforeRemove()`, or `afterUpdate()` hooks.\n     */\n    type UpdateHookContext = {\n        /**\n         * The ID of the collection the hook affects.\n         */\n        collectionName: string;\n        /**\n         * The current site user ID. If no user is logged in to the site it may be null.\n         */\n        userId: string;\n        /**\n         * The permissions role of the current user. Possibilities are: `anonymous`, `siteMember`, and `siteOwner`.\n         */\n        userRole: string;\n        /**\n         * The item stored in the database collection before an update or delete operation.\n         */\n        currentItem: any;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-editor.d.ts",
      "content": "/**\n * The wix-editor module contains functionality for working with the site editor from a [Blocks Panel](https://support.wix.com/en/article/creating-custom-panels-for-your-widgets-action-bar-buttons) code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-editor.html#)\n */\ndeclare module 'wix-editor' {\n    /**\n     * Gets the viewport currently selected in the Editor.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-editor.html#getCurrentViewport)\n     */\n    function getCurrentViewport(): Promise<Viewport>;\n    /**\n     * Gets the `wix-editor` module scoped of an [inner (nested) widget](https://support.wix.com/en/article/wix-blocks-creating-and-managing-widgets-within-widgets).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-editor.html#getScopedWixEditor)\n     */\n    function getScopedWixEditor(Selector: string): Promise<any>;\n    /**\n     * Checks if an element is removed from the widget.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-editor.html#isRemoved)\n     */\n    function isRemoved(selector: string): Promise<void>;\n    /**\n     * Gets a list of all removed widget elements.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-editor.html#listRemovedElements)\n     */\n    function listRemovedElements(): Promise<string[]>;\n    /**\n     * Opens the [Dashboard](https://support.wix.com/en/article/about-your-wix-dashboard) for the current site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-editor.html#openDashboardPanel)\n     */\n    function openDashboardPanel(options: DashboardOptions): Promise<void>;\n    /**\n     * Removes a widget element from the stage.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-editor.html#removeElement)\n     */\n    function removeElement(selector: string): Promise<void>;\n    /**\n     * Restores (shows) a widget element on the stage.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-editor.html#restoreElement)\n     */\n    function restoreElement(selector: string): Promise<void>;\n    /**\n     * An object representing the Dashboard parameters.\n     */\n    type DashboardOptions = {\n        /**\n         * The relative URL to open in the Business Manager.\n         */\n        url: string;\n    };\n    /**\n     * An object representing the current viewport.\n     */\n    type Viewport = {\n        /**\n         * Type of viewport (`DESKTOP`, `MOBILE`, or `TABLET`)\n         */\n        type: string;\n        /**\n         * object representing the current viewport's range.\n         */\n        An: viewportRange;\n    };\n    /**\n     * An object representing the current viewport's range.\n     */\n    type viewportRange = {\n        /**\n         * Minimum range in pixels for the current viewport.\n         */\n        minWidth: number;\n        /**\n         * Maximum range in pixels for the current viewport.\n         */\n        maxWidth: number;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-events-backend.d.ts",
      "content": "/**\n * The wix-events-backend module contains functionality for working with\n *  your site's [Wix events](https://support.wix.com/en/article/about-wix-events).\n * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.html#)\n */\ndeclare module 'wix-events-backend' {\n    /**\n     * The Events API provides functionality for updating and managing events created in the Wix Events app or using this Wix Events API.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.html#wixEvents)\n     */\n    const wixEvents: WixEvents;\n    /**\n     * Backend events that are fired from Wix events.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * A backend event that fires when a Wix event is canceled.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onEventCanceled)\n         */\n        onEventCanceled(event: Events.CanceledEvent): void;\n        /**\n         * A backend event that fires when a Wix event is created or copied.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onEventCreated)\n         */\n        onEventCreated(event: Events.CreatedEvent): void;\n        /**\n         * A backend event that fires when a Wix event is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onEventDeleted)\n         */\n        onEventDeleted(event: Events.DeletedEvent): void;\n        /**\n         * A backend event that fires when a Wix event ends.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onEventEnded)\n         */\n        onEventEnded(event: Events.EndedEvent): void;\n        /**\n         * A backend event that fires when a Wix event's reminders are sent.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onEventReminder)\n         */\n        onEventReminder(event: Events.EventReminder): void;\n        /**\n         * A backend event that fires when a Wix event starts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onEventStarted)\n         */\n        onEventStarted(event: Events.StartedEvent): void;\n        /**\n         * A backend event that fires when an existing Wix event is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onEventUpdated)\n         */\n        onEventUpdated(event: Events.UpdatedEvent): void;\n        /**\n         * A backend event that fires when a ticket order is confirmed.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onOrderConfirmed)\n         */\n        onOrderConfirmed(event: Events.OrderConfirmedEvent): void;\n        /**\n         * A backend event that fires when a ticket order is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onOrderDeleted)\n         */\n        onOrderDeleted(event: Events.OrderDeletedEvent): void;\n        /**\n         * A backend event that fires when a ticket order is initiated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onOrderInitiated)\n         */\n        onOrderInitiated(event: Events.OrderInitiatedEvent): void;\n        /**\n         * A backend event that fires when a ticket order is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onOrderUpdated)\n         */\n        onOrderUpdated(event: Events.OrderUpdatedEvent): void;\n        /**\n         * A backend event that fires when a ticket reservation is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onReservationCreated)\n         */\n        onReservationCreated(event: Events.ReservationCreatedEvent): void;\n        /**\n         * A backend event that fires when a ticket reservation is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onReservationUpdated)\n         */\n        onReservationUpdated(event: Events.ReservationUpdatedEvent): void;\n        /**\n         * A backend event that fires when a guest registers to a Wix event.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onRsvpCreated)\n         */\n        onRsvpCreated(event: Events.RsvpCreatedEvent): void;\n        /**\n         * A backend event that fires when an RSVP is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onRsvpDeleted)\n         */\n        onRsvpDeleted(event: Events.RsvpDeletedEvent): void;\n        /**\n         * A backend event that fires when an RSVP is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onRsvpUpdated)\n         */\n        onRsvpUpdated(event: Events.RsvpUpdatedEvent): void;\n        /**\n         * A backend event that fires when a ticket definition is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onTicketDefinitionCreated)\n         */\n        onTicketDefinitionCreated(event: Events.TicketDefinitionCreatedEvent): void;\n        /**\n         * A backend event that fires when a ticket definition is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onTicketDefinitionDeleted)\n         */\n        onTicketDefinitionDeleted(event: Events.TicketDefinitionDeletedEvent): void;\n        /**\n         * A backend event that fires when a ticket definition is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onTicketDefinitionUpdated)\n         */\n        onTicketDefinitionUpdated(event: Events.TicketDefinitionUpdatedEvent): void;\n        /**\n         * A backend event that fires when a Wix event is canceled.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#onWixEventCanceled)\n         */\n        onWixEventCanceled(event: Events.CanceledWixEvent): void;\n    }\n    /**\n     * The Wix Events API provides functionality for creating, updating, and managing Wix events.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.html#)\n     */\n    interface WixEvents {\n        /**\n         * Cancels a Wix event and closes its registration.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.html#cancelEvent)\n         */\n        cancelEvent(eventId: string): Promise<WixEvents.WixEvent>;\n        /**\n         * Copies a Wix event.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.html#copyEvent)\n         */\n        copyEvent(eventId: string): Promise<WixEvents.WixEvent>;\n        /**\n         * Creates a Wix event.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.html#createEvent)\n         */\n        createEvent(eventInfo: WixEvents.WixEventInfo, options: WixEvents.WixEventInfoOptions): Promise<WixEvents.WixEvent>;\n        /**\n         * Deletes a Wix event.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.html#deleteEvent)\n         */\n        deleteEvent(eventId: string): Promise<void>;\n        /**\n         * Retrieves a Wix event by ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.html#getEvent)\n         */\n        getEvent(eventId: string): Promise<WixEvents.WixEvent>;\n        /**\n         * Creates a query to retrieve a list of Wix events.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.html#queryEvents)\n         */\n        queryEvents(): WixEvents.EventsQueryBuilder;\n        /**\n         * Updates a Wix event.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.html#updateEvent)\n         */\n        updateEvent(eventId: string, eventInfo: WixEvents.WixEventUpdateInfo, options: WixEvents.WixEventInfoOptions): Promise<WixEvents.WixEvent>;\n    }\n    /**\n     * Backend events that are fired from Wix events.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * An object representing a Wix event that was canceled.\n         */\n        type CanceledEvent = {\n            /**\n             * Time the event was canceled.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Event title.\n             */\n            title: string;\n        };\n        /**\n         * An object representing a Wix event that was canceled.\n         */\n        type CanceledWixEvent = {\n            /**\n             * Time the event was canceled.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Event title.\n             */\n            title: string;\n        };\n        /**\n         * An object representing guest check-in.\n         */\n        type CheckIn = {\n            /**\n             * Time guest was checked-in.\n             */\n            created: Date;\n        };\n        /**\n         * An object representing the Wix event that was created or copied.\n         */\n        type CreatedEvent = {\n            /**\n             * Time the event was created/copied.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Event title.\n             */\n            title: string;\n            /**\n             * Event location.\n             */\n            location: Events.Location;\n            /**\n             * Event's schedule configuration.\n             */\n            scheduleConfig: Events.ScheduleConfiguration;\n            /**\n             * ID of the user who created/copied the event.\n             */\n            userId: string;\n        };\n        /**\n         * An object representing a Wix event that was deleted.\n         */\n        type DeletedEvent = {\n            /**\n             * Time the event was deleted.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Event title.\n             */\n            title: string;\n        };\n        /**\n         * An object representing an applied discount.\n         */\n        type Discount = {\n            /**\n             * Discount amount.\n             */\n            amount: Events.Money;\n            /**\n             * Amount after discount.\n             */\n            afterDiscount: Events.Money;\n            /**\n             * Discount items.\n             */\n            discounts: Events.DiscountItem[];\n        };\n        /**\n         * An object representing a coupon discount.\n         */\n        type DiscountCoupon = {\n            /**\n             * Coupon name.\n             */\n            name: string;\n            /**\n             * Coupon code.\n             */\n            code: string;\n            /**\n             * Coupon ID.\n             */\n            couponId: string;\n        };\n        /**\n         * An object representing an applied discount of specific type.\n         */\n        type DiscountItem = {\n            /**\n             * Discount amount.\n             */\n            amount: Events.Money;\n            /**\n             * Discount coupon.\n             */\n            coupon?: Events.DiscountCoupon;\n            /**\n             * Pricing plan discount.\n             */\n            paidPlan?: Events.PricingPlanDiscount;\n        };\n        /**\n         * An object representing the event that has ended.\n         */\n        type EndedEvent = {\n            /**\n             * Time the event ended.\n             */\n            timestamp: Date;\n            /**\n             * The ID of the event.\n             */\n            eventId: string;\n        };\n        /**\n         * An object representing the Wix event that reminders have been sent for.\n         */\n        type EventReminder = {\n            /**\n             * Time the reminder was sent.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Event location.\n             */\n            location: Events.Location;\n            /**\n             * Event's schedule configuration.\n             */\n            scheduleConfig: Events.ScheduleConfiguration;\n            /**\n             * Event title.\n             */\n            title: string;\n            /**\n             * ID of the user who created the event.\n             */\n            userId: string;\n            /**\n             * The time between now and the event start.\n             */\n            startsIn: Events.TimeDuration;\n        };\n        /**\n         * An object representing an applied fee.\n         */\n        type Fee = {\n            /**\n             * Fee name. Value is `\"WIX_FEE\"`: Wix service fee applied to the item.\n             */\n            name: string;\n            /**\n             * Fee calculation method.\n             *  One of:\n             *\n             *  + `\"FEE_ADDED\"`: Fee is added to the ticket price at checkout.\n             *  + `\"FEE_INCLUDED\"`: Seller absorbs the fee. It is deducted from the ticket price.\n             */\n            type: string;\n            /**\n             * Rate percentage. Possible values are between `\"0.01\"` and `\"100\"`, using up to 2 decimal places.\n             */\n            rate: string;\n            /**\n             * Total amount of fee charges.\n             */\n            amount: Events.Money;\n        };\n        /**\n         * An object representing a submitted guest form.\n         */\n        type FormResponse = {\n            /**\n             * Values that were entered in the guest form.\n             */\n            inputValues: Events.InputValue[];\n        };\n        /**\n         * An object representing a guest of a Wix event's RSVP.\n         */\n        type Guest = {\n            /**\n             * Index of the guest in the RSVP guest list. Indices are zero-based.\n             */\n            index: number;\n            /**\n             * Guest ID, which is unique within the RSVP.\n             */\n            id: number;\n            /**\n             * Full name of the guest.\n             */\n            fullName: string;\n        };\n        /**\n         * An object representing a guest form input value.\n         */\n        type InputValue = {\n            /**\n             * Name of the form input.\n             */\n            inputName: string;\n            /**\n             * Value of the form input, when there is just one value.\n             */\n            value: string;\n            /**\n             * Values of the form input, when there are multiple values.\n             */\n            values: string[];\n        };\n        /**\n         * An object representing an order invoice.\n         */\n        type Invoice = {\n            /**\n             * Invoice items.\n             */\n            items: Events.InvoiceItem[];\n            /**\n             * Invoice applied discount.\n             */\n            discount?: Events.Discount;\n            /**\n             * Invoice applied tax.\n             */\n            tax?: Events.Tax;\n            /**\n             * Invoice applied fee charges.\n             */\n            fees: Events.Fee[];\n            /**\n             * Invoice total amount before discount, tax, and fees.\n             */\n            subTotal: Events.Money;\n            /**\n             * Invoice total amount after discount, tax, and fees.\n             *  Grand total is calculated in the following manner:\n             *\n             *  1. Total price of all items in the cart.\n             *  2. Discount is subtracted from the cart (if applicable).\n             *  3. Tax is added (if applicable).\n             *  4. Wix service fee is added.\n             */\n            grandTotal: Events.Money;\n            /**\n             * Total revenue with taxes, excluding fees. Payment provider fees are not deducted.\n             */\n            revenue: Events.Money;\n        };\n        /**\n         * An object representing an order invoice item.\n         */\n        type InvoiceItem = {\n            /**\n             * Invoice item ID.\n             */\n            id: string;\n            /**\n             * Invoice item quantity.\n             */\n            quantity: number;\n            /**\n             * Invoice item name.\n             */\n            name: string;\n            /**\n             * Invoice item price.\n             */\n            price: Events.Money;\n            /**\n             * Invoice item total.\n             */\n            total: Events.Money;\n            /**\n             * Invoice item applied discount.\n             */\n            discount?: Events.Discount;\n            /**\n             * Invoice item applied tax.\n             */\n            tax?: Events.Tax;\n            /**\n             * Invoice item applied fee charges.\n             */\n            fees: Events.Fee[];\n        };\n        /**\n         * An object representing the Wix event location.\n         */\n        type Location = {\n            /**\n             * Location name.  Maximum allowed characters is 50.\n             */\n            name: string;\n            /**\n             * The location's map coordinates.\n             */\n            coordinates: Events.MapCoordinates;\n            /**\n             * Single line address representation of the location.\n             */\n            address: string;\n            /**\n             * Type of location.\n             *  One of:\n             *\n             *  + `\"VENUE\"`: Event is hosted in the venue.\n             *  + `\"ONLINE\"`: Event is hosted online.\n             */\n            type: string;\n        };\n        /**\n         * An object representing an event location's coordinates.\n         */\n        type MapCoordinates = {\n            /**\n             * Latitude.\n             */\n            lat: number;\n            /**\n             * Longitude.\n             */\n            lng: number;\n        };\n        /**\n         * An object representing money.\n         */\n        type Money = {\n            /**\n             * Decimal amount.\n             */\n            amount: string;\n            /**\n             * Currency code. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code (for example, `USD`).\n             */\n            currency: string;\n        };\n        /**\n         * An object representing the confirmed order.\n         */\n        type OrderConfirmedEvent = {\n            /**\n             * Time order was confirmed.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Unique order number.\n             */\n            orderNumber: string;\n            /**\n             * Contact ID associated with this order.\n             */\n            contactId?: string;\n            /**\n             * Member ID associated with this order.\n             */\n            memberId?: string;\n            /**\n             * Time order was created.\n             */\n            created: Date;\n            /**\n             * Buyer first name.\n             */\n            firstName: string;\n            /**\n             * Buyer last name.\n             */\n            lastName: string;\n            /**\n             * Buyer email.\n             */\n            email: string;\n            /**\n             * Checkout form response.\n             */\n            checkoutForm: Events.FormResponse;\n            /**\n             * Order status.\n             *  One of:\n             *\n             *  + `\"FREE\"`: Order is confirmed, no payment required.\n             *  + `\"PENDING\"`: Order was paid, but the payment provider suspended the payment. Eventually changes to `\"PAID\"`.\n             *  + `\"PAID\"`: Order paid using the payment provider.\n             *  + `\"OFFLINE_PENDING\"`: Order confirmed, but has to be paid offline and status needs to be manually updated to `\"PAID\"`.\n             *  + `\"INITIATED\"`: Order is awaiting payment.\n             */\n            status: string;\n            /**\n             * Payment method used. For example, \"payPal\" or \"creditCard\".\n             */\n            method: string;\n            /**\n             * Order invoice.\n             */\n            invoice: Events.Invoice;\n            /**\n             * Tickets generated after payment.\n             */\n            tickets: Events.Ticket[];\n        };\n        /**\n         * An object representing the deleted ticket order.\n         */\n        type OrderDeletedEvent = {\n            /**\n             * Time order was deleted.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Unique order number.\n             */\n            orderNumber: string;\n            /**\n             * Contact ID associated with this order.\n             */\n            contactId?: string;\n            /**\n             * Member ID associated with this order.\n             */\n            memberId?: string;\n            /**\n             * Whether the order was anonymized by a GDPR delete.\n             */\n            anonymized: boolean;\n            /**\n             * Order type.\n             *  One of:\n             *\n             *  + `\"UNASSIGNED_TICKETS\"`: Buyer form is used for all tickets.\n             *  + `\"ASSIGNED_TICKETS\"`: Each order ticket has its own form.\n             */\n            orderType: string;\n        };\n        /**\n         * An object representing the initiated order.\n         */\n        type OrderInitiatedEvent = {\n            /**\n             * Time order was initiated.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Unique order number.\n             */\n            orderNumber: string;\n            /**\n             * Contact ID associated with this order.\n             */\n            contactId?: string;\n            /**\n             * Member ID associated with this order.\n             */\n            memberId?: string;\n            /**\n             * Buyer first name.\n             */\n            firstName: string;\n            /**\n             * Buyer last name.\n             */\n            lastName: string;\n            /**\n             * Buyer email.\n             */\n            email: string;\n            /**\n             * Checkout form response.\n             */\n            checkoutForm: Events.FormResponse;\n            /**\n             * Order status.\n             *  One of:\n             *\n             *  + `\"FREE\"`: Order is confirmed, no payment required.\n             *  + `\"PENDING\"`: Order was paid, but the payment provider suspended the payment. Eventually changes to `\"PAID\"`.\n             *  + `\"PAID\"`: Order paid using the payment provider.\n             *  + `\"OFFLINE_PENDING\"`: Order confirmed, but has to be paid offline and status needs to be manually updated to `\"PAID\"`.\n             *  + `\"INITIATED\"`: Order is awaiting payment.\n             */\n            status: string;\n            /**\n             * Order invoice.\n             */\n            invoice: Events.Invoice;\n        };\n        /**\n         * An object representing the updated order.\n         */\n        type OrderUpdatedEvent = {\n            /**\n             * Time order was updated.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Unique order number.\n             */\n            orderNumber: string;\n            /**\n             * Contact ID associated with this order.\n             */\n            contactId?: string;\n            /**\n             * Member ID associated with this order.\n             */\n            memberId?: string;\n            /**\n             * Time order was created.\n             */\n            created: Date;\n            /**\n             * Buyer first name.\n             */\n            firstName: string;\n            /**\n             * Buyer last name.\n             */\n            lastName: string;\n            /**\n             * Buyer email.\n             */\n            email: string;\n            /**\n             * Checkout form response.\n             */\n            checkoutForm: Events.FormResponse;\n            /**\n             * Whether the order is confirmed An order gets confirmed\n             *  when the payment gateway processes the payment and the funds reach the merchant's account.\n             */\n            confirmed: boolean;\n            /**\n             * Order status.\n             *  One of:\n             *\n             *  + `\"FREE\"`: Order is confirmed, no payment required.\n             *  + `\"PENDING\"`: Order was paid, but the payment provider suspended the payment. Eventually changes to `\"PAID\"`.\n             *  + `\"PAID\"`: Order paid using the payment provider.\n             *  + `\"OFFLINE_PENDING\"`: Order confirmed, but has to be paid offline and status needs to be manually updated to `\"PAID\"`.\n             *  + `\"INITIATED\"`: Order is awaiting payment.\n             */\n            status: string;\n            /**\n             * Payment method used. For example, \"payPal\" or \"creditCard\".\n             */\n            method: string;\n            /**\n             * Whether the order is archived.\n             */\n            archived: boolean;\n            /**\n             * Tickets generated after payment.\n             */\n            tickets: Events.Ticket[];\n        };\n        /**\n         * An object representing a fixed rate discount.\n         */\n        type PercentDiscount = {\n            /**\n             * Discount rate percentage. Possible values are between `\"0.01\"` and `\"100\"`, using up to 2 decimal places.\n             */\n            rate: string;\n            /**\n             * Number of discounted items.\n             */\n            quantityDiscounted: number;\n        };\n        /**\n         * An object representing a pricing plan discount.\n         */\n        type PricingPlanDiscount = {\n            /**\n             * Pricing plan name.\n             */\n            name: string;\n            /**\n             * Percentage applied discount.\n             */\n            percentDiscount?: Events.PercentDiscount;\n        };\n        /**\n         * An object representing the created ticket reservation.\n         */\n        type ReservationCreatedEvent = {\n            /**\n             * Time tickets were reserved.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Reservation ID. Can be used to retrieve an invoice.\n             */\n            reservationId: string;\n            /**\n             * Time reservation expires.\n             */\n            expires: Date;\n            /**\n             * Reservation status.\n             *  One of:\n             *\n             *  + `\"RESERVATION_PENDING\"`: Reservation is pending confirmation. It will expire after expiration due time.\n             *  + `\"RESERVATION_CONFIRMED\"`: Reservation was confirmed and will not expire.\n             *  + `\"RESERVATION_CANCELED\"`: Reservation was canceled because of non payment.\n             *  + `\"RESERVATION_CANCELED_MANUALLY\"`: Reservation was canceled manually by the buyer.\n             */\n            status: string;\n        };\n        /**\n         * An object representing the updated reservation.\n         */\n        type ReservationUpdatedEvent = {\n            /**\n             * Time tickets were reserved.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Reservation ID. Can be used to retrieve an invoice.\n             */\n            reservationId: string;\n            /**\n             * Reservation status.\n             *  One of:\n             *\n             *  + `\"RESERVATION_PENDING\"`: Reservation is pending confirmation. It will expire after expiration due time.\n             *  + `\"RESERVATION_CONFIRMED\"`: Reservation was confirmed and will not expire.\n             *  + `\"RESERVATION_CANCELED\"`: Reservation was canceled because of non payment.\n             *  + `\"RESERVATION_CANCELED_MANUALLY\"`: Reservation was canceled manually by the buyer.\n             */\n            status: string;\n        };\n        /**\n         * An object representing the created RSVP.\n         */\n        type RsvpCreatedEvent = {\n            /**\n             * Time the RSVP was created.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * RSVP ID.\n             */\n            rsvpId: string;\n            /**\n             * Contact ID associated with the RSVP.\n             */\n            contactId: string;\n            /**\n             * Member ID associated with the RSVP.\n             */\n            memberId?: string;\n            /**\n             * RSVP response status.\n             *  One of:\n             *\n             *  + `\"YES\"`: Guest is attending.\n             *  + `\"NO\"`: Guest is not attending.\n             *  + `\"WAITING\"`: Guest added to the wait list.\n             */\n            status: string;\n            /**\n             * Guest first name.\n             */\n            firstName: string;\n            /**\n             * Guest last name.\n             */\n            lastName: string;\n            /**\n             * Guest email address.\n             */\n            email: string;\n            /**\n             * RSVP form response.\n             */\n            rsvpForm: Events.FormResponse;\n            /**\n             * List of guests.\n             */\n            guests: Events.Guest[];\n        };\n        /**\n         * An object representing the deleted RSVP.\n         */\n        type RsvpDeletedEvent = {\n            /**\n             * Time RSVP was deleted.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * RSVP ID.\n             */\n            rsvpId: string;\n            /**\n             * Contact ID associated with this RSVP.\n             */\n            contactId: string;\n            /**\n             * Member ID associated with this RSVP.\n             */\n            memberId?: string;\n            /**\n             * Whether the RSVP was anonymized as a result of a GDPR delete.\n             */\n            anonymized: boolean;\n        };\n        /**\n         * An object representing the updated RSVP.\n         */\n        type RsvpUpdatedEvent = {\n            /**\n             * Time the RSVP was updated.\n             */\n            timestamp: Date;\n            /**\n             * Time the RSVP was created.\n             */\n            created: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * RSVP ID.\n             */\n            rsvpId: string;\n            /**\n             * Contact ID associated with this RSVP.\n             */\n            contactId: string;\n            /**\n             * Member ID associated with this RSVP.\n             */\n            memberId?: string;\n            /**\n             * RSVP response status.\n             *  One of:\n             *\n             *  + `\"YES\"`: Guest is attending.\n             *  + `\"NO\"`: Guest is not attending.\n             *  + `\"WAITING\"`: Guest added to the wait list.\n             */\n            status: string;\n            /**\n             * Guest first name.\n             */\n            firstName: string;\n            /**\n             * Guest last name.\n             */\n            lastName: string;\n            /**\n             * Guest email.\n             */\n            email: string;\n            /**\n             * RSVP form response.\n             */\n            rsvpForm: Events.FormResponse;\n            /**\n             * List of guests.\n             */\n            guests: Events.Guest[];\n        };\n        /**\n         * An object representing an event's schedule configuration.\n         */\n        type ScheduleConfiguration = {\n            /**\n             * Whether the event's schedule is to be determined later.\n             *\n             *  If an event's time is not yet decided, the TBD message is displayed instead of the\n             *  start date and end date.\n             *\n             *  When `scheduleTbd` is `true`, `startDate`, `endDate`, and `timeZoneId` are not required.\n             */\n            scheduleTbd: boolean;\n            /**\n             * Schedule TBD message.\n             */\n            scheduleTbdMessage?: string;\n            /**\n             * Event start date.\n             */\n            startDate?: Date;\n            /**\n             * Event end date.\n             */\n            endDate?: Date;\n            /**\n             * ID of the time zone for the Wix event in [tz database format](https://en.wikipedia.org/wiki/Tz_database), such as `EST`, or `America/Los_Angeles`. Optional for TBD events.\n             */\n            timeZoneId?: string;\n        };\n        /**\n         * An object representing the event that has started.\n         */\n        type StartedEvent = {\n            /**\n             * Time the event started.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n        };\n        /**\n         * An object representing an applied tax.\n         */\n        type Tax = {\n            /**\n             * Tax type.\n             *  One of:\n             *\n             *  + `\"INCLUDED\"`: Tax is included in the ticket price.\n             *  + `\"ADDED\"`: Tax is added to the order at checkout.\n             */\n            type: string;\n            /**\n             * Tax name.\n             */\n            name: string;\n            /**\n             * Rate percentage. Possible values are between `\"0.01\"` and `\"100\"`, using up to 2 decimal places.\n             */\n            rate: string;\n            /**\n             * Taxable amount.\n             */\n            taxable: Events.Money;\n            /**\n             * Total tax amount.\n             */\n            amount: Events.Money;\n        };\n        /**\n         * An object representing a generated ticket.\n         */\n        type Ticket = {\n            /**\n             * Unique ticket number.\n             */\n            ticketNumber: string;\n            /**\n             * Ticket definition ID.\n             */\n            ticketDefinitionId: string;\n            /**\n             * Ticket check-in.\n             */\n            checkIn: Events.CheckIn;\n            /**\n             * Whether the ticket is archived.\n             */\n            archived: boolean;\n            /**\n             * Whether the ticket is confirmed.\n             */\n            confirmed: boolean;\n            /**\n             * Guest first name.\n             */\n            firstName?: string;\n            /**\n             * Guest last name.\n             */\n            lastName?: string;\n            /**\n             * Guest email address.\n             */\n            email?: string;\n            /**\n             * Contact ID associated with this ticket.\n             */\n            contactId?: string;\n            /**\n             * Member ID associated with this ticket.\n             */\n            memberId?: string;\n            /**\n             * Ticket form response. Only assigned tickets contain a separate form.\n             */\n            form?: Events.FormResponse;\n        };\n        /**\n         * An object representing the created ticket definition.\n         */\n        type TicketDefinitionCreatedEvent = {\n            /**\n             * Time ticket definition was created.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Ticket definition ID.\n             */\n            ticketDefinitionId: string;\n        };\n        /**\n         * An object representing the deleted ticket definition.\n         */\n        type TicketDefinitionDeletedEvent = {\n            /**\n             * Time ticket definition was deleted.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Ticket definition ID.\n             */\n            ticketDefinitionId: string;\n        };\n        /**\n         * An object representing the updated ticket definition.\n         */\n        type TicketDefinitionUpdatedEvent = {\n            /**\n             * Time ticket definition was updated.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Ticket definition ID.\n             */\n            ticketDefinitionId: string;\n        };\n        /**\n         * An object representing a time duration.\n         */\n        type TimeDuration = {\n            /**\n             * Number of days in the time duration.\n             */\n            days: number;\n            /**\n             * Number of hours in the time duration.\n             */\n            hours: number;\n            /**\n             * Number of minutes in the time duration.\n             */\n            minutes: number;\n        };\n        /**\n         * An object representing the Wix event that was updated.\n         */\n        type UpdatedEvent = {\n            /**\n             * Time the event was updated.\n             */\n            timestamp: Date;\n            /**\n             * Event ID.\n             */\n            eventId: string;\n            /**\n             * Event title.\n             */\n            title: string;\n            /**\n             * Event location.\n             */\n            location: Events.Location;\n            /**\n             * Event's schedule configuration.\n             */\n            scheduleConfig: Events.ScheduleConfiguration;\n            /**\n             * Whether the schedule configuration was updated.\n             */\n            scheduleConfigUpdated: boolean;\n        };\n    }\n    /**\n     * The Wix Events API provides functionality for creating, updating, and managing Wix events.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.html#)\n     */\n    namespace WixEvents {\n        /**\n         * An object representing additional labels for form fields.\n         */\n        type AdditionalLabel = {\n            /**\n             * Field name.\n             */\n            name: string;\n            /**\n             * Field label.\n             */\n            label: string;\n        };\n        /**\n         * An object representing a street address for the Wix event.\n         */\n        type Address = {\n            /**\n             * Main address line (usually street and number) as free text. For non-TBD events, either `addressLine1` or `streetAddress` must be entered. Optional for TBD events.\n             */\n            addressLine1?: string;\n            /**\n             * Street address object, with number and name in separate fields.  For non-TBD events, either `addressLine1` or `streetAddress` must be entered. Optional for TBD events.\n             */\n            streetAddress?: WixEvents.StreetAddress;\n            /**\n             * Human-readable address string. If not provided, the value is generated from the available address data.  If provided, the value is parsed and used to populate other address properties.\n             */\n            formatted: string;\n            /**\n             * Free text providing more detailed address information, such as apartment, suite, or floor.\n             */\n            addressLine2: string;\n            /**\n             * Coordinates of the physical address.\n             */\n            location: WixEvents.AddressLocation;\n            /**\n             * City name.\n             */\n            city: string;\n            /**\n             * Code for a subdivision (such as state, prefecture, or province) in an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n             */\n            subdivision: string;\n            /**\n             * 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n             */\n            country: string;\n            /**\n             * Postal or zip code.\n             */\n            postalCode: string;\n        };\n        /**\n         * An object for updating a street address.\n         */\n        type AddressInfo = {\n            /**\n             * Main address line (usually street and number) as free text. For non-TBD events, either `addressLine1` or `streetAddress` must be entered. Optional for TBD events.\n             */\n            addressLine1?: string;\n            /**\n             * Street address object, with number and name in separate fields. For non-TBD events, either `addressLine1` or `streetAddress` must be entered. Optional for TBD events.\n             */\n            streetAddress?: WixEvents.StreetAddressInfo;\n            /**\n             * Human-readable address string. If not provided, the value is generated from the available address data. If provided, the value is parsed and used to populate other address properties.\n             */\n            formatted?: string;\n            /**\n             * Free text providing more detailed address information, such as apartment, suite, or floor.\n             */\n            addressLine2?: string;\n            /**\n             * Coordinates of the physical address.\n             */\n            location?: WixEvents.AddressLocationInfo;\n            /**\n             * City name.\n             */\n            city?: string;\n            /**\n             * Code for a subdivision (such as state, prefecture, or province) in an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n             */\n            subdivision?: string;\n            /**\n             * 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n             */\n            country?: string;\n            /**\n             * Postal or zip code.\n             */\n            postalCode?: string;\n        };\n        /**\n         * An object representing coordinates of the physical address of the Wix event.\n         */\n        type AddressLocation = {\n            /**\n             * Address's latitude.\n             */\n            latitude: number;\n            /**\n             * Address's longitude.\n             */\n            longitude: number;\n        };\n        /**\n         * An object for updating coordinates of the physical address of the Wix event.\n         */\n        type AddressLocationInfo = {\n            /**\n             * Address's latitude.\n             */\n            latitude?: number;\n            /**\n             * Address's longitude.\n             */\n            longitude?: number;\n        };\n        /**\n         * An object representing the links (URLs) that guests can click to add the Wix event to their calendars.\n         */\n        type CalendarLinks = {\n            /**\n             * A URL that guests can use to add the Wix event to their Google calendars.\n             */\n            google: string;\n            /**\n             * A URL that guests can use to download ICS calendar files in order to add the Wix event to their calendars.\n             */\n            ics: string;\n        };\n        /**\n         * An object representing messages on the form for purchasing tickets.\n         */\n        type CheckoutFormMessages = {\n            /**\n             * Title for the form for purchasing tickets.\n             */\n            title: string;\n            /**\n             * Button label text that directs guests to check out the form when purchasing tickets.\n             */\n            checkoutLabel: string;\n        };\n        /**\n         * An object representing the ID of a Wix event that was deleted.\n         */\n        type DeletedWixEvent = {\n            /**\n             * Deleted event ID.\n             */\n            _id: string;\n        };\n        /**\n         * An object representing the corresponding registration form for the Wix event.\n         */\n        type Form = {\n            /**\n             * A block of fields to group together on the form. For example, you might create a block for first name and last name. These blocks are also called input groups.\n             */\n            InputGroups: WixEvents.InputGroup[];\n            /**\n             * Messages you can customize for the form.\n             */\n            messages: WixEvents.FormMessages;\n        };\n        /**\n         * An object representing a set of configured form messages.\n         */\n        type FormMessages = {\n            /**\n             * RSVP form messages.\n             */\n            rsvp: WixEvents.RsvpFormMessages;\n            /**\n             * Checkout form messages.\n             */\n            checkout: WixEvents.CheckoutFormMessages;\n            /**\n             * Messages to display when event registration is closed.\n             */\n            registrationClosed: WixEvents.RegistrationClosedMessages;\n        };\n        /**\n         * An object representing the guest list settings for the Wix event.\n         */\n        type GuestListSettings = {\n            /**\n             * Whether guests can see other guests attending the Wix event. Defaults to `true`.\n             */\n            public: boolean;\n        };\n        /**\n         * An object for updating guest list settings for the Wix event.\n         */\n        type GuestListSettingsInfo = {\n            /**\n             * Whether guests can see other guests attending the Wix event. Defaults to `true`.\n             */\n            public?: boolean;\n        };\n        /**\n         * An object representing a field on a form. The field may or may not be included in an `InputGroup` block. Text-type fields can contain one or more values.\n         */\n        type InputField = {\n            /**\n             * Field name.\n             */\n            name: string;\n            /**\n             * Main field label.\n             */\n            label: string;\n            /**\n             * Additional labels for multi-valued fields, such as `ADDRESS` fields.\n             */\n            additionalLabels: WixEvents.AdditionalLabel[];\n            /**\n             * Pre-defined text choices for fields, such as the options listed in a dropdown.\n             */\n            options: string[];\n            /**\n             * Whether the field is mandatory.\n             */\n            required: boolean;\n            /**\n             * Maximum number of characters allowed for the `TEXT` fields.\n             */\n            maxLength: number;\n            /**\n             * Type of the field. The type determines the format of the field.\n             *  This property is used to validate the values entered on the form when submitting. Defaults to `\"TEXT\"`.\n             * One of:\n             *  + `\"TEXT\"`\n             *  + `\"NUMBER\"`\n             *  + `\"TEXT_ARRAY\"`\n             *  + `\"DATE_TIME\"`\n             *  + `\"ADDRESS\"`\n             */\n            type: string;\n            /**\n             * The maximum number of values allowed for `TEXT_ARRAY` fields.\n             */\n            maxSize: number;\n        };\n        /**\n         * An object representing a block of fields that tend to be grouped together on a form. The block of fields is also called an input group.\n         */\n        type InputGroup = {\n            /**\n             * The type of the block of fields. Every field in the block must be of the same type.\n             * One of:\n             *  + `\"INPUT\"`\n             *  + `\"TEXTAREA\"`\n             *  + `\"DROPDOWN\"`\n             *  + `\"RADIO\"`\n             *  + `\"CHECKBOX\"`\n             *  + `\"NAME\"`\n             *  + `\"GUEST_CONTROL\"`. This control corresponds to the `Additional Guests` option when customizing the registration form in the Dashboard. The fields for this block include specifying how many guests, adding text for a comment, and whether the guest name is required.\n             *  + `\"ADDRESS_SHORT\"`. This control corresponds to the `Single Line` address option when customizing the registration form in the Dashboard, and the `Address.Location.Address.formatted` property in this API.\n             *  + `\"ADDRESS_FULL\"`. This control corresponds to the `Full Address` address option when customizing the registration form in the Dashboard, and the set of individual address properties (excluding `Address.Location.Address.formatted`) in this API.\n             *  + `\"DATE\"`\n             */\n            type: string;\n            /**\n             * Whether the fields in the input group are mandatory (such as name and email). When `true`, you can change only the label for the fields in the block.\n             */\n            system: boolean;\n            /**\n             * Fields in the block. Also called child input fields.\n             */\n            inputs: WixEvents.InputField[];\n            /**\n             * Fields in the input group are sorted by this value in ascending order.\n             */\n            orderIndex: number;\n            /**\n             * Unique ID for the input group.\n             */\n            _id: string;\n        };\n        /**\n         * An object representing a Wix event location.\n         */\n        type Location = {\n            /**\n             * Location name. `name` is required for TBD events (events whose time is yet \"to be determined\").\n             */\n            name: string;\n            /**\n             * Street address for the Wix event.\n             *\n             *  The `address` property contains the full [address](https://www.wix.com/velo/reference/$w/addressinput/value) of the Wix event. The address is derived from the [`formatted`](#formatted) property.\n             *\n             *  The `address` is required for non-TBD events. (TBD events are events whose time is yet \"to be determined.\")\n             */\n            address: WixEvents.Address;\n            /**\n             * Location type. Defaults to `\"VENUE\"`.\n             * One of:\n             *  + `\"VENUE\"`. The event is being held at a physical location.\n             *  + `\"ONLINE\"`. The event is being held at a virtual online location, such as with online conferencing.\n             */\n            type: string;\n        };\n        /**\n         * An object for updating a Wix event's location.\n         */\n        type LocationInfo = {\n            /**\n             * Location name. `name` is required for TBD events (events whose time is yet \"to be determined\").\n             */\n            name?: string;\n            /**\n             * Full [address](https://www.wix.com/velo/reference/$w/addressinput/value).\n             *  The `address` is required for non-TBD events. (TBD events are events whose time is yet \"to be determined.\")\n             *  You can specify the `address` for non-TBD events in the following ways:\n             *  + By entering the `address.formatted` property, which the API then uses to populate the other address properties.\n             *  + By entering the individual `address` properties including the `address.addressLine1` property and, if needed, the `address.addressLine2`property. (Do not specify `address.streetAddress`.) The API uses this data to populate the `address.formatted` property.\n             *  + By entering the individual `address` properties including `address.streetAddress`. (Do not specify `address.addressLine1`.) The API uses this data to populate the `address.formatted` property.\n             */\n            address?: WixEvents.AddressInfo;\n            /**\n             * Location type. Defaults to `\"VENUE\"`.\n             * One of:\n             *  + `\"VENUE\"`. The event is being held at a physical location.\n             *  + `\"ONLINE\"`. The event is being held at a virtual online location, such as with online conferencing.\n             */\n            type?: string;\n        };\n        /**\n         * An object representing money and its default monetary format.\n         */\n        type Money = {\n            /**\n             * Monetary amount represented as a decimal string with a period as the decimal separator (for example, 3.99).\n             */\n            value: string;\n            /**\n             * Currency code. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code (for example, `USD`).\n             */\n            currency: string;\n        };\n        /**\n         * An object representing online conferencing details for the Wix event.\n         */\n        type OnlineConferencing = {\n            /**\n             * Whether online conferencing is enabled. Not supported for Wix events that are TBDs (events whose time is not yet determined).\n             *  When enabled, links to join the conference are generated and provided to guests in an email when the guest registers.\n             */\n            enabled: boolean;\n            /**\n             * ID of the online conferencing provider.\n             */\n            providerId: string;\n            /**\n             * Online conference type.  Defaults to `\"MEETING\"`.\n             * One of:\n             *  + `\"MEETING\"`\n             *  + `\"WEBINAR\"`\n             */\n            conferenceType: string;\n            /**\n             * Session details for the Wix event.\n             */\n            session: WixEvents.Session;\n        };\n        /**\n         * An object for updating online conferencing settings for a Wix event.\n         */\n        type OnlineConferencingInfo = {\n            /**\n             * Whether online conferencing is enabled. Not supported for Wix events that are TBDs (events whose time is not yet determined).\n             *  When enabled, links to join the conference are generated and provided to guests in an email when the guest registers.\n             */\n            enabled?: boolean;\n            /**\n             * ID of the online conferencing provider.\n             */\n            providerId?: string;\n            /**\n             * Online conference type. Defaults to `\"MEETING\"`.\n             * One of:\n             *  + `\"MEETING\"`\n             *  + `\"WEBINAR\"`\n             */\n            conferenceType?: string;\n        };\n        /**\n         * Options to use when performing a query or query count.\n         */\n        type QueryOptions = {\n            /**\n             * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth?: boolean;\n        };\n        /**\n         * An object representing registration details for the Wix event.\n         */\n        type Registration = {\n            /**\n             * Registration URL if registration for the Wix event managed externally. Guests go to this URL to register.\n             */\n            externalRegistrationUrl: string;\n            /**\n             * Who can register for the Wix event. Defaults to `\"MEMBER\"`.\n             * One of:\n             *  + `\"MEMBER\"`. Only logged-in guests can register.\n             *  + `\"VISITOR_OR_MEMBER\"`. Everyone can register, whether they are logged-in to the site or not.\n             */\n            restrictedTo: string;\n            /**\n             * Initial event type, set when creating the Wix event.\n             * One of:\n             *  + `\"RSVP\"`. The event is created as an RSVP-type event.\n             *  + `\"TICKETS\"`. The event is created as a ticketed-type event.\n             */\n            initialType: string;\n            /**\n             * Read-only type of the Wix event. After initial event creation, the type can change, for example, if event registration is not necessary (`NO_REGISTRATION`) or if event registration is set to be managed externally (`EXTERNAL`).\n             *  + `\"RSVP\"`. The event was initially created as an RSVP-type event.\n             *  + `\"TICKETS\"`. The event was initially created as a ticketed-type event.\n             *  + `\"EXTERNAL\"`. Registration is managed externally, on a different site. Setting the `externalRegistrationUrl` property updates the `type` to this status.\n             *  + `\"NO_REGISTRATION\"`. There is no need to register for this site.  Setting the `registrationDisabled` property updates the `type` to this status.\n             */\n            type: string;\n            /**\n             * Wix event registration status.\n             * One of:\n             *  + `\"CLOSED\"`. The event was closed (for example, if the maximum number of attendees was reached) or cancelled. Guests cannot register.\n             *  + `\"CLOSED_MANUALLY\"`. Event registration was closed manually by the event manager. Guests cannot register.\n             *  + `\"OPEN_RSVP\"`. Guests can register for the RSVP-type Wix event.\n             *  + `\"OPEN_RSVP_WAITLIST\"`. Guests can register for the RSVP-type Wix event, but are waitlisted.\n             *  + `\"OPEN_TICKETS\"`. Guests can register for the ticketed-type Wix event.\n             *  + `\"OPEN_EXTERNAL\"`. Guests can register externally for the Wix event--not using Wix Events.\n             */\n            status: string;\n            /**\n             * Registration details for an RSVP event.\n             */\n            rsvp: WixEvents.Rsvp;\n            /**\n             * Registration details for a ticketed event.\n             */\n            tickets: WixEvents.Tickets;\n        };\n        /**\n         * An object representing messages to display when Wix event registration is closed.\n         */\n        type RegistrationClosedMessages = {\n            /**\n             * Message displayed when event registration is closed.\n             */\n            message: string;\n            /**\n             * Button label text that directs guests to take other actions, such as a clicking a link to see other Wix events that they can register for.\n             */\n            exploreEventsLabel: string;\n        };\n        /**\n         * An object representing RSVP registration settings for a Wix event.\n         */\n        type Rsvp = {\n            /**\n             * Whether the Wix event accepts `NO` RSVPs in addition to `YES` RSVPs. Defaults to `\"YES_ONLY\"`.\n             * One of:\n             *  + `\"YES_ONLY\"`\n             *  + `\"YES_AND_NO\"`\n             */\n            rsvpStatusOptions: string;\n            /**\n             * Maximum number of guests allowed to register to the Wix event. If a guest adds additional guests to the same RSVP, the additional guests are also included when calculating the `limit`.\n             */\n            limit: number;\n            /**\n             * Whether to open a waitlist when the guest `limit` for the Wix event is reached. Waitlisted guests are assigned a `WAITING` status.\n             */\n            waitlist: boolean;\n        };\n        /**\n         * An object representing RSVP form messages.\n         */\n        type RsvpFormMessages = {\n            /**\n             * Button label text displayed next to where the guest RSVPs `YES`.\n             */\n            rsvpYes: string;\n            /**\n             * Button label text displayed next to where the guest RSVPs `NO`.\n             */\n            rsvpNo: string;\n            /**\n             * Messages to display when the RSVP is `YES`.\n             */\n            yesMessages: WixEvents.RsvpFormPositive;\n            /**\n             * Messages to display when the RSVP is `YES`, even if the guest is placed on the waitlist. Wait-listed guests receive the same messages as guests who are not on the waitlist.\n             */\n            waitingMessages: WixEvents.RsvpFormPositive;\n            /**\n             * Messages to display when the RSVP is `NO`.\n             */\n            noMessages: WixEvents.RsvpFormNegative;\n            /**\n             * Button label text that directs guests to submit the RSVP form.\n             */\n            submitRsvpLabel: string;\n        };\n        /**\n         * An object representing a messages to display when the RSVP is `NO`.\n         */\n        type RsvpFormNegative = {\n            /**\n             * Form title for negative RSVPs.\n             */\n            title: string;\n            /**\n             * Confirmation message title.\n             */\n            confirmationTitle: string;\n            /**\n             * Button label text that suggests guests share the Wix event link with others who might want to attend.\n             */\n            shareLabel: string;\n        };\n        /**\n         * An object representing a messages to display when the RSVP is `YES`.\n         */\n        type RsvpFormPositive = {\n            /**\n             * Form title for positive RSVPs.\n             */\n            title: string;\n            /**\n             * Confirmation message title.\n             */\n            confirmationTitle: string;\n            /**\n             * Confirmation message text.\n             */\n            confirmationMessage: string;\n            /**\n             * Button label text that suggests guests add the Wix event to their calendar using the link.\n             */\n            addToCalendarLabel: string;\n            /**\n             * Button label text that suggests guests share the Wix event link with others who might want to attend.\n             */\n            shareLabel: string;\n        };\n        /**\n         * An object for updating RSVP registration settings for a Wix event.\n         */\n        type RsvpInfo = {\n            /**\n             * Whether the Wix event accepts `NO` rsvps in addition to `YES` rsvps. Defaults to `\"YES_ONLY\"`.\n             * One of:\n             *  + `\"YES_ONLY\"`\n             *  + `\"YES_AND_NO\"`\n             */\n            rsvpStatusOptions?: string;\n            /**\n             * Maximum number of guests allowed to register to the Wix event. If a guest adds additional guests to the same RSVP, the additional guests are also included when calculating the `limit`.\n             */\n            limit?: number;\n            /**\n             * Whether to open a waitlist when the guest `limit` for the Wix event is reached. Waitlisted guests are assigned a `WAITING` status.\n             */\n            waitlist?: boolean;\n        };\n        /**\n         * An object representing RSVP summary data for the Wix event.\n         */\n        type RsvpSummary = {\n            /**\n             * Total number of RSVPs received.\n             */\n            totalRsvps: number;\n            /**\n             * Number of accepted RSVPs.\n             */\n            yesCount: number;\n            /**\n             * Number of rejected RSVPs.\n             */\n            noCount: number;\n            /**\n             * Number of RSVPs in the waitlist.\n             */\n            waitlistCount: number;\n        };\n        /**\n         * An object representing scheduling settings for a Wix event.\n         */\n        type Scheduling = {\n            /**\n             * Whether the event's time is to be determined later. If `true`, the Wix event's schedule is defined as TBD (\"to be determined\").\n             *  Because the Wix event's start and end dates are not yet defined, a message, set in `tbdMessage`, is displayed instead.\n             *  `startDate`, `endDate`, and `timeZoneId` are optional for TBD events.\n             */\n            tbd: boolean;\n            /**\n             * A message to display for events whose `tbd` property is `true`.\n             */\n            tbdMessage: string;\n            /**\n             * Start date and time for the Wix event. Optional for TBD events.\n             */\n            startDate: Date;\n            /**\n             * End date and time for the Wix event.  Optional for TBD events.\n             */\n            endDate: Date;\n            /**\n             * ID of the time zone for the Wix event in [tz database](https://en.wikipedia.org/wiki/Tz_database) format, such as `EST`, or `America/Los_Angeles`. Optional for TBD events.\n             */\n            timeZoneId: string;\n            /**\n             * Whether the time zone is displayed in the formatted schedule.\n             */\n            showTimeZone: boolean;\n            /**\n             * Formatted schedule representation.\n             */\n            formatted: string;\n            /**\n             * Formatted start date of the event (empty for TBD events).\n             */\n            startDateFormatted: string;\n            /**\n             * Formatted start time of the event (empty for TBD events).\n             */\n            startTimeFormatted: string;\n            /**\n             * Whether the end date is hidden in the formatted schedule.\n             */\n            hideEndDate: boolean;\n        };\n        /**\n         * An object for updating scheduling settings for a Wix event.\n         */\n        type SchedulingInfo = {\n            /**\n             * Whether the event's time is to be determined later. If `true`, the Wix event's schedule is defined as TBD (\"to be determined\").\n             *  Because the Wix event's start and end dates are not yet defined, a message, set in `tbdMessage`, is displayed instead.\n             *  `startDate`, `endDate`, and `timeZoneId` are optional for TBD events.\n             */\n            tbd?: boolean;\n            /**\n             * A message to display for events whose `tbd` property is `true`.\n             */\n            tbdMessage?: string;\n            /**\n             * Start date and time for the Wix event. Optional for TBD (\"to be determined\") events.\n             */\n            startDate?: Date;\n            /**\n             * End date and time for the Wix event.  Optional for TBD (\"to be determined\") events.\n             */\n            endDate?: Date;\n            /**\n             * ID of the time zone for the Wix event in [tz database format](https://en.wikipedia.org/wiki/Tz_database), such as `EST`, or `America/Los_Angeles`. Optional for TBD events.\n             */\n            timeZoneId?: string;\n            /**\n             * Whether the time zone is displayed in the formatted schedule.\n             */\n            showTimeZone?: boolean;\n            /**\n             * Whether the end date is hidden in the formatted schedule.\n             */\n            hideEndDate?: boolean;\n        };\n        /**\n         * An object representing a Wix event session, including links and passwords.\n         */\n        type Session = {\n            /**\n             * Link for the event host to use to start the online conference session.\n             */\n            hostLink: string;\n            /**\n             * Link for the guests to use to join the online conference session.\n             */\n            guestLink: string;\n            /**\n             * The password required to join the online conference session (when relevant). Requiring a password is dependent on the online conferencing provider. For example, Zoom provides passwords for its meetings while LiveVideo does not.\n             */\n            password: string;\n        };\n        /**\n         * An object representing the site URL for the Wix event, including its base URL and path.\n         */\n        type SiteUrl = {\n            /**\n             * Base URL.\n             *  + Premium sites: The domain,for example, `https://domain.com`.\n             *  + Free sites: The site URL, for example, `https://user_name.wixsite.com/mysite`.\n             *  > **Note**: The above URL examples are for a published site. When previewing your site, you receive the Editor URL.\n             */\n            baseUrl: string;\n            /**\n             * The path to Wix event page, for example, `/my-events/weekly-meetup-2` for both Premium and free sites.\n             */\n            path: string;\n        };\n        /**\n         * An object representing the Wix event's street address, with number and name in separate fields.\n         */\n        type StreetAddress = {\n            /**\n             * Street number.\n             */\n            number: string;\n            /**\n             * Street name.\n             */\n            name: string;\n        };\n        /**\n         * An object for updating the Wix event's street address, with number and name in separate fields.\n         */\n        type StreetAddressInfo = {\n            /**\n             * Street number.\n             */\n            number?: string;\n            /**\n             * Street name.\n             */\n            name?: string;\n        };\n        /**\n         * An object representing summary data and statistics for Wix event sales, excluding data pertaining to archived orders.\n         */\n        type Summaries = {\n            /**\n             * Summary data for RSVP sales.\n             */\n            rsvp: WixEvents.RsvpSummary;\n            /**\n             * Summary data for revenue and tickets sold.\n             */\n            tickets: WixEvents.TicketsSummary;\n        };\n        /**\n         * An object for updating tax settings for the Wix event.\n         */\n        type TaxSettingInfo = {\n            /**\n             * When the tax is applied. Defaults to `\"INCLUDED\"`.\n             * One of:\n             *  + `\"INCLUDED\"`. Tax is built-in to the price.\n             *  + `\"ADDED_AT_CHECKOUT\"`. Tax is added when the guest checks out.\n             */\n            type?: string;\n            /**\n             * Tax name.\n             */\n            name?: string;\n            /**\n             * Tax rate, such as `21.55`.\n             */\n            rate?: string;\n        };\n        /**\n         * An object representing tax settings for the Wix event.\n         */\n        type TaxSettings = {\n            /**\n             * When the tax is applied. Defaults to `\"INCLUDED\"`.\n             * One of:\n             *  + `\"INCLUDED\"`. Tax is built-in to the price.\n             *  + `\"ADDED_AT_CHECKOUT\"`. Tax is added when the guest checks out.\n             */\n            type: string;\n            /**\n             * Tax name.\n             */\n            name: string;\n            /**\n             * Tax rate, such as `21.55`.\n             */\n            rate: string;\n        };\n        /**\n         * An object representing tickets settings for the Wix event.\n         */\n        type Tickets = {\n            /**\n             * Currency used for event ordering and transactions.\n             */\n            currency: string;\n            /**\n             * When ordering, whether each ticket in the order needs its own order form or if one form covers multiple tickets.\n             */\n            formAssignedPerTicket: boolean;\n            /**\n             * Tax settings.\n             */\n            tax: WixEvents.TaxSettings;\n            /**\n             * Price of the lowest-priced ticket.\n             */\n            lowestTicketPrice: WixEvents.Money;\n            /**\n             * Price of the lowest-priced ticket.\n             */\n            highestTicketPrice: WixEvents.Money;\n            /**\n             * Formatted price of the lowest-priced ticket.\n             */\n            lowestTicketPriceFormatted: string;\n            /**\n             * Formatted price of the highest-priced ticket.\n             */\n            highestTicketPriceFormatted: string;\n        };\n        /**\n         * An object for updating tickets settings for the Wix event.\n         */\n        type TicketsInfo = {\n            /**\n             * When ordering, whether each ticket in the order needs its own order form or if one form covers multiple tickets.\n             */\n            formAssignedPerTicket?: boolean;\n            /**\n             * Tax settings.\n             */\n            tax?: WixEvents.TaxSettingInfo;\n        };\n        /**\n         * An object representing a summary of the Wix event's revenue and tickets sold.\n         */\n        type TicketsSummary = {\n            /**\n             * Total number of tickets sold.\n             */\n            totalTickets: number;\n            /**\n             * Total revenue, including taxes and excluding fees. Payment provider fees are not deducted.\n             */\n            revenue: WixEvents.Money;\n            /**\n             * Whether currency cannot be changed. The currency is locked after the first order for the event has been created and is set to the currency of that first order.\n             */\n            currencyLocked: boolean;\n            /**\n             * Total number of orders placed for the Wix event.\n             */\n            totalOrders: number;\n            /**\n             * Total sales balance for confirmed transactions.\n             */\n            totalSales: WixEvents.Money;\n        };\n        /**\n         * An object representing a Wix event.\n         */\n        type WixEvent = {\n            /**\n             * Wix event ID.\n             */\n            _id: string;\n            /**\n             * Wix event location details.\n             */\n            location: WixEvents.Location;\n            /**\n             * Wix event scheduling details.\n             */\n            scheduling: WixEvents.Scheduling;\n            /**\n             * Wix event title.\n             */\n            title: string;\n            /**\n             * Wix event description.\n             */\n            description: string;\n            /**\n             * Rich-text (HTML) content for the \"About Event\" section.\n             */\n            about: string;\n            /**\n             * The location of an image that represents the Wix event. This image is printed on the ticket (PDF format). The image file must be an image file from the Media Manager.\n             *\n             *  The URL format is:\n             *  `wix:image://v1//#originWidth=&originHeight=[&watermark=]`\n             */\n            mainImage: string;\n            /**\n             * URL-friendly version of the Wix event title. Unique across all Wix events in the same site.\n             */\n            slug: string;\n            /**\n             * [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code of the Wix event. Use to translate content on forms, and so on.\n             */\n            language: string;\n            /**\n             * Date the Wix event was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date the Wix event was updated.\n             */\n            _updatedDate: Date;\n            /**\n             * Wix event status. Defaults to `\"SCHEDULED\"`.\n             * One of:\n             *  + `\"SCHEDULED\"`. The upcoming Wix event is scheduled but has not yet started.\n             *  + `\"STARTED\"`. The Wix event has started and is in progress.\n             *  + `\"ENDED\"`. The Wix event has ended.\n             *  + `\"CANCELED\"`. The Wix event has been canceled.\n             */\n            status: string;\n            /**\n             * Registration details for the Wix event.\n             */\n            registration: WixEvents.Registration;\n            /**\n             * \"Add to calendar\" URLs.\n             */\n            calendarLinks: WixEvents.CalendarLinks;\n            /**\n             * Event page URL components.\n             */\n            eventUrl: WixEvents.SiteUrl;\n            /**\n             * Registration form for the site guest to fill out with their contact details, and other information, as relevant.\n             */\n            form: WixEvents.Form;\n            /**\n             * Summaries of Wix event sales.\n             */\n            summary: WixEvents.Summaries;\n            /**\n             * Guest list settings for the Wix event.\n             */\n            guestList: WixEvents.GuestListSettings;\n            /**\n             * ID of the creator of the Wix event. If the creator is not logged in when creating the event, the `createdBy` property is empty.\n             */\n            createdBy: string;\n            /**\n             * Online conferencing details for the Wix event.\n             */\n            videoConferencing: WixEvents.OnlineConferencing;\n            /**\n             * The \"Filter by:\" drop-down option for filtering contacts by this event\n             *  in the Dashboard's [Contact List page](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F8f93447d-7521-4aa1-8c64-4d5a4f025d3f%2Fcontacts%2F%3FreferralInfo%3Dsidebar).\n             *  This read-only property is automatically populated to comprise a \"custom\" prefix, the title of the event, and other suffixes added for uniqueness. Note that even if\n             *  the title of an event is updated, the `assignedContactsLabel` does not change.\n             */\n            assignedContactsLabel: string;\n        };\n        /**\n         * An object for creating a Wix event.\n         */\n        type WixEventInfo = {\n            /**\n             * Wix event title.\n             */\n            title?: string;\n            /**\n             * Wix event description.\n             */\n            description?: string;\n            /**\n             * The location of an image that represents the Wix event. This image is printed on the ticket (PDF format). The image file must be an image file from the Media Manager.\n             *\n             *  The URL format is:\n             *  `wix:image://v1//#originWidth=&originHeight=[&watermark=]`\n             */\n            mainImage?: string;\n            /**\n             * Wix event registration settings.\n             */\n            registration?: WixEvents.WixEventRegistrationInfo;\n            /**\n             * Wix event guest list settings.\n             */\n            guestList?: WixEvents.GuestListSettingsInfo;\n            /**\n             * Rich-text (HTML) content for the \"About Event\" section.\n             */\n            about?: string;\n            /**\n             * Wix event online conferencing settings.\n             */\n            videoConferencing?: WixEvents.OnlineConferencingInfo;\n            /**\n             * Wix event location settings.\n             *  `location.address` is required for non-TBD events.\n             *  `location.name` is required for TBD events.\n             *  (TBD events are events whose times are yet \"to be determined.\")\n             */\n            location: WixEvents.LocationInfo;\n            /**\n             * Wix event scheduling settings.\n             */\n            scheduling: WixEvents.SchedulingInfo;\n        };\n        /**\n         * An object for updating registration options for a Wix event.\n         */\n        type WixEventInfoOptions = {\n            /**\n             * Content language code in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n             *  Used for translating tickets' PDF labels, registration forms, automatic emails, and so on.\n             *  Supported languages: `ar`, `bg`, `cs`, `da`, `de`, `el`, `en`, `es`, `fi`, `fr`, `he`, `hi`, `hu`, `id`, `it`, `ja`, `ko`, `ms`, `nl`, `no`, `pl`, `pt`, `ro`, `ru`, `sv`, `th`, `tl`, `tr`, `uk`, `zh`.\n             *  Defaults to `en`.\n             */\n            language?: string;\n        };\n        /**\n         * An object for updating registration settings for the Wix event.\n         */\n        type WixEventRegistrationInfo = {\n            /**\n             * Registration URL, if registration for the Wix event is managed externally. Guests go to this URL to register. Setting this property changes the read-only `registration.type` property to `EXTERNAL`.\n             */\n            externalRegistrationUrl?: string;\n            /**\n             * Whether to temporarily suspend (pause) registration. For example, you might want to pause registration temporarily if you need to change venues to allow for more attendees.\n             */\n            registrationPaused?: boolean;\n            /**\n             * Who can register to the Wix event. Defaults to `\"MEMBER\"`.\n             * One of:\n             *  + `\"MEMBER\"`. Only logged-in guests can register.\n             *  + `\"VISITOR_OR_MEMBER\"`. Everyone can register, whether they are logged-in to the site or not.\n             */\n            restrictedTo?: string;\n            /**\n             * Whether to disable registration. For example, you might want to disable registration if you will not have enough supplies on-hand for more attendees. Setting to `true` changes the read-only `registration.type` property to `NO_REGISTRATION`.\n             */\n            registrationDisabled?: boolean;\n            /**\n             * Registration settings for the RSVP Wix event.\n             */\n            rsvp?: WixEvents.RsvpInfo;\n            /**\n             * Event type. Only RSVP and TICKETS are allowed when creating an event (`initialType`), however after initial event\n             * creation the `type` can be changed to other values.\n             * One of:\n             *  + `\"RSVP\"`. The Wix event is an RSVP event. It cannot be changed to a ticketed event.\n             *  + `\"TICKETS\"`. The Wix event is a ticketed event. It cannot be changed to an RSVP event.\n             *  + `\"EXTERNAL\"`. If you created a guest list before setting up external registration, the current guest list remains but is likely to be\n             *    incomplete. So when sending out messages to the Wix-managed guest list, not all\n             *    guests will receive them. Messages should be sent from the external registration system\n             *    to the complete guest list.\n             *    You can change the value back at any point if you no longer want the event to be managed externally.\n             *  + `\"NO_REGISTRATION\"`. No registration is necessary for the event.\n             */\n            type?: string;\n            /**\n             * Registration settings for the ticketed Wix event.\n             */\n            tickets?: WixEvents.TicketsInfo;\n        };\n        /**\n         * An object for updating a Wix event.\n         */\n        type WixEventUpdateInfo = {\n            /**\n             * Wix event title.\n             */\n            title?: string;\n            /**\n             * Wix event description.\n             */\n            description?: string;\n            /**\n             * Wix event location settings.\n             *  Address is required for non-TBD events.\n             *  Location name is required for TBD events.\n             *  (TBD events are events whose times are yet \"to be determined.\")\n             */\n            location?: WixEvents.LocationInfo;\n            /**\n             * Wix event scheduling settings.\n             */\n            scheduling?: WixEvents.SchedulingInfo;\n            /**\n             * The location of an image that represents the Wix event. This image is printed on the ticket (PDF format). The image file must be an image file from the Media Manager.\n             *\n             *  The URL format is:\n             *  `wix:image://v1//#originWidth=&originHeight=[&watermark=]`\n             */\n            mainImage?: string;\n            /**\n             * Wix event registration settings.\n             */\n            registration?: WixEvents.WixEventRegistrationInfo;\n            /**\n             * Wix event guest list settings.\n             */\n            guestList?: WixEvents.GuestListSettingsInfo;\n            /**\n             * Rich-text (HTML) content for the \"About Event\" section.\n             */\n            about?: string;\n            /**\n             * Wix event online conferencing settings.\n             */\n            videoConferencing?: WixEvents.OnlineConferencingInfo;\n        };\n        /**\n         * Contains functionality for refining a Wix events query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#)\n         */\n        interface EventsQueryBuilder {\n            /**\n             * Adds an `and` condition to the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#and)\n             */\n            and(query: WixEvents.EventsQueryBuilder): WixEvents.EventsQueryBuilder;\n            /**\n             * Adds a sort to a query, sorting by the specified properties in ascending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#ascending)\n             */\n            ascending(...propertyName: string[]): WixEvents.EventsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value contains a specified string.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#contains)\n             */\n            contains(propertyName: string, value: string): WixEvents.EventsQueryBuilder;\n            /**\n             * Adds a sort to a query, sorting by the specified properties in descending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#descending)\n             */\n            descending(...propertyName: string[]): WixEvents.EventsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): WixEvents.EventsQueryBuilder;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#find)\n             */\n            find(options?: WixEvents.QueryOptions): Promise<WixEvents.EventsQueryResult>;\n            /**\n             * Refines a query to match items whose specified property value is greater than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#ge)\n             */\n            ge(propertyName: string, value: string | number | Date): WixEvents.EventsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is greater than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#gt)\n             */\n            gt(propertyName: string, value: string | number | Date): WixEvents.EventsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value contains any of the specified values.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#hasSome)\n             */\n            hasSome(propertyName: string, values: string[]): WixEvents.EventsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is less than or equal to the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#le)\n             */\n            le(propertyName: string, value: string | number | Date): WixEvents.EventsQueryBuilder;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#limit)\n             */\n            limit(limit: string): WixEvents.EventsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value is less than the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#lt)\n             */\n            lt(propertyName: string, value: string | number | Date): WixEvents.EventsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value does not equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#ne)\n             */\n            ne(propertyName: string, value: any): WixEvents.EventsQueryBuilder;\n            /**\n             * Adds an `not` condition to the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#not)\n             */\n            not(query: WixEvents.EventsQueryBuilder): WixEvents.EventsQueryBuilder;\n            /**\n             * Adds an `or` condition to the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#or)\n             */\n            or(query: WixEvents.EventsQueryBuilder): WixEvents.EventsQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#skip)\n             */\n            skip(skip: string): WixEvents.EventsQueryBuilder;\n        }\n        /**\n         * The results of a Wix events query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#)\n         */\n        interface EventsQueryResult {\n            /**\n             * Returns the index of the current results page number.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#currentPage)\n             */\n            readonly currentPage: number;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#items)\n             */\n            readonly items: WixEvents.WixEvent[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Contains functionality for refining a Wix events query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#query)\n             */\n            readonly query: WixEvents.EventsQueryBuilder;\n            /**\n             * Returns the total number of items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#totalCount)\n             */\n            readonly totalCount: number;\n            /**\n             * Returns the total number of pages the query produced.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#totalPages)\n             */\n            readonly totalPages: number;\n            /**\n             * Indicates if the query has more results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#hasNext)\n             */\n            hasNext(): boolean;\n            /**\n             * Indicates if the query has previous results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#hasPrev)\n             */\n            hasPrev(): boolean;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#next)\n             */\n            next(): Promise<WixEvents.EventsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#prev)\n             */\n            prev(): Promise<WixEvents.EventsQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a Wix events query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryBuilder.html#)\n         */\n        namespace EventsQueryBuilder {\n        }\n        /**\n         * The results of a Wix events query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-backend.WixEvents.EventsQueryResult.html#)\n         */\n        namespace EventsQueryResult {\n        }\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-groups-backend.d.ts",
      "content": "/**\n * The wix-groups-backend module contains functionality for managing groups on your site from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.html#)\n */\ndeclare module 'wix-groups-backend' {\n    /**\n     * The CreateRequests API provides functionality for managing requests to create a group.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.html#createRequests)\n     */\n    const createRequests: CreateRequests;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-groups-backend.html#groups)\n     */\n    const groups: Groups;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-groups-backend.html#joinRequests)\n     */\n    const joinRequests: JoinRequests;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-groups-backend.html#members)\n     */\n    const members: Members;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-groups-backend.html#roles)\n     */\n    const roles: Roles;\n    /**\n     * Group cover image.\n     */\n    type CoverImage = {\n        /**\n         * **Deprecated**. Use the `imageUrl` property instead.\n         *\n         * Group cover image. Only site admins or group admins can upload a group cover image.\n         */\n        image?: Image;\n        /**\n         * Position of the group cover image relative to the uploaded image.\n         */\n        position?: Position;\n        /**\n         * The group cover image's Wix media URL in the following format: `'wix:image://v1//#originWidth=&originHeight=[&watermark=]'`. Note that the URL contains the image's width and height.\n         *\n         * **Note:** This replaces the old `image` property. `image` will continue to work, but we recommend that you use the updated `imageUrl` property instead.\n         */\n        imageUrl?: string;\n    };\n    /**\n     * Group cover image.\n     */\n    type CoverImageOptions = {\n        /**\n         * **Deprecated**. Use the `imageUrl` property instead.\n         *\n         * Group cover image. Only site admins or group admins can upload a group cover image.\n         */\n        image?: ImageOptions;\n        /**\n         * Position of the top left corner of the group cover image relative to the uploaded image.\n         */\n        position?: PositionOptions;\n        /**\n         * The group cover image's Wix media URL in the following format: `'wix:image://v1//#originWidth=&originHeight=[&watermark=]'`. Note that the URL contains the image's width and height.\n         *\n         * **Note:** This replaces the old `image` property. `image` will continue to work, but we recommend that you use the updated `imageUrl` property instead.\n         */\n        imageUrl?: string;\n    };\n    type Group = {\n        /**\n         * Group ID.\n         */\n        _id: string;\n        /**\n         * Group name.\n         */\n        name: string;\n        /**\n         * Part of a group's URL, for example, `'https:/example.com/groups/{my-group-slug}'`. Generally based on the group name, but for secret groups it is\n         * an autogenerated string of characters, for example, `'https:/example.com/groups/{5D3yTX}'`. It is case-sensitive.\n         */\n        slug: string;\n        /**\n         * Group description.\n         */\n        description: string;\n        /**\n         * Group privacy level.\n         * One of:\n         * + `PUBLIC`: Site visitors can see the group and its content in the list of groups. Site members can join the group.\n         * + `PRIVATE`: Site visitors can see the group in the list of groups, but only group members can see its content. Site members can request to join the group.\n         * + `SECRET`: Only group members can see the group and its content in the list of groups. Site members can only join if invited by group admins, or other group members.\n         */\n        privacyStatus: string;\n        /**\n         * Group cover image.\n         */\n        coverImage?: CoverImage;\n        /**\n         * What group members are called. For example, 'Coworkers', 'Friends', or 'Students'.\n         */\n        memberTitle?: string;\n        /**\n         * Number of members in the group.\n         */\n        memberCount: number;\n        /**\n         * Group settings.\n         */\n        settings: GroupSettings;\n        /**\n         * Date and time the group was last active. For example, a post or comment.\n         */\n        lastActivityDate: Date;\n        /**\n         * Date and time the group was created.\n         */\n        _createdDate: Date;\n        /**\n         * Date and time the group was last updated.\n         */\n        _updatedDate: Date;\n        /**\n         * Site member ID of the group creator. Defaults to group creator.\n         */\n        owner: string;\n    };\n    /**\n     * Group settings.\n     */\n    type GroupSettings = {\n        /**\n         * Whether group members can send an email inviting others to join the group. When `false`, only site admins and group admins can invite others to join the group. Defaults to `false`.\n         */\n        membersCanInvite: boolean;\n        /**\n         * Whether group members can approve or reject requests to join a group. When `false`, only site admins and group admins can approve or reject requests to join the group. Defaults to `false`.\n         */\n        membersCanApprove: boolean;\n        /**\n         * Whether to create a daily group post welcoming new members. Defaults to `true`.\n         */\n        welcomeMemberPostEnabled: boolean;\n        /**\n         * Whether to create a group post when group details are changed. Defaults to `true`.\n         */\n        groupUpdatePostEnabled: boolean;\n        /**\n         * Whether group members can view the list of members in the group. Defaults to `true`.\n         */\n        showMemberList: boolean;\n    };\n    /**\n     * Group settings.\n     */\n    type GroupSettingsOptions = {\n        /**\n         * Whether group members can send an email inviting others to join the group. When `false`, only site admins and group admins can invite others to join the group. Defaults to `false`.\n         */\n        membersCanInvite?: boolean;\n        /**\n         * Whether group members can approve or reject requests to join a group. When `false`, only site admins and group admins can approve or reject requests to join the group. Defaults to `false`.\n         */\n        membersCanApprove?: boolean;\n        /**\n         * Whether to create a daily group post welcoming new members. Defaults to `true`.\n         */\n        welcomeMemberPostEnabled?: boolean;\n        /**\n         * Whether to create a group post when group details are changed. Defaults to `true`.\n         */\n        groupUpdatePostEnabled?: boolean;\n        /**\n         * Whether group members can view the list of members in the group. Defaults to `true`.\n         */\n        showMemberList?: boolean;\n    };\n    /**\n     * Group cover image. Only site admins or group admins can upload a group cover image.\n     */\n    type Image = {\n        /**\n         * **Deprecated**.\n         *\n         * Group cover image's file URL.\n         */\n        mediaId?: string;\n        /**\n         * **Deprecated**.\n         *\n         * Group cover image width.\n         */\n        width?: number;\n        /**\n         * **Deprecated**.\n         *\n         * Group cover image height.\n         */\n        height?: number;\n    };\n    /**\n     * Group cover image. Only site admins or group admins can upload a group cover image.\n     */\n    type ImageOptions = {\n        /**\n         * **Deprecated**.\n         *\n         * Group cover image's file URL.\n         */\n        mediaId?: string;\n        /**\n         * **Deprecated**.\n         *\n         * Group cover image width.\n         */\n        width?: number;\n        /**\n         * **Deprecated**.\n         *\n         * Group cover image height.\n         */\n        height?: number;\n    };\n    type Metadata = {\n        /**\n         * Number of items in the current results page.\n         */\n        length?: number;\n        /**\n         * Total number of items that match the query.\n         */\n        totalCount?: number;\n        /**\n         * Flag indicating that the server failed to calculate the 'total' field.\n         */\n        tooManyToCount?: boolean;\n    };\n    type Options = {\n        /**\n         * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n         */\n        suppressAuth?: boolean;\n    };\n    /**\n     * Position of the top left corner of the group cover image relative to the uploaded image.\n     */\n    type Position = {\n        /**\n         * Horizontal coordinate.\n         */\n        x?: number;\n        /**\n         * Vertical coordinate.\n         */\n        y?: number;\n    };\n    /**\n     * Position of the top left corner of the group cover image relative to the uploaded image.\n     */\n    type PositionOptions = {\n        /**\n         * Horizontal coordinate.\n         */\n        x?: number;\n        /**\n         * Vertical coordinate.\n         */\n        y?: number;\n    };\n    /**\n     * Group member role. When membership status is not `JOINED`, this is empty.\n     */\n    type Role = {\n        /**\n         * Group member role.\n         * One of:\n         * - `\"MEMBER\"`: Group member.\n         * - `\"ADMIN\"`: Group admin.\n         */\n        role: string;\n    };\n    /**\n     * The CreateRequests API provides functionality for managing requests to create a group.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.html#)\n     */\n    interface CreateRequests {\n        /**\n         * Approves requests to create a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.html#approveCreateRequests)\n         */\n        approveCreateRequests(createRequestIds: string[], options?: Options): Promise<CreateRequests.CreateRequest[]>;\n        /**\n         * Lists requests to create a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.html#listCreateRequests)\n         */\n        listCreateRequests(paging?: CreateRequests.Paging, options?: Options): Promise<CreateRequests.ListCreateRequests>;\n        /**\n         * Creates a query to retrieve a list of create requests.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.html#queryCreateRequests)\n         */\n        queryCreateRequests(): CreateRequests.CreateRequestsQueryBuilder;\n        /**\n         * Rejects requests to create a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.html#rejectCreateRequests)\n         */\n        rejectCreateRequests(rejections: CreateRequests.RejectCreateRequest[], options?: Options): Promise<CreateRequests.CreateRequest[]>;\n    }\n    /**\n     * The Groups API provides functionality for managing groups, including creating, deleting, updating, and querying groups.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.html#)\n     */\n    interface Groups {\n        /**\n         * Creates a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.html#createGroup)\n         */\n        createGroup(groupInfo: Groups.GroupInfo, options?: Options): Promise<Group>;\n        /**\n         * Deletes a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.html#deleteGroup)\n         */\n        deleteGroup(groupId: string, options?: Options): Promise<Group>;\n        /**\n         * Gets a group by ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.html#getGroup)\n         */\n        getGroup(groupId: string, options?: Options): Promise<Group>;\n        /**\n         * Gets a group by slug.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.html#getGroupBySlug)\n         */\n        getGroupBySlug(slug: string, options?: Options): Promise<Group>;\n        /**\n         * Lists groups.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.html#listGroups)\n         */\n        listGroups(paging?: Groups.Paging, options?: Options): Promise<Groups.ListGroups>;\n        /**\n         * Creates a query to retrieve a list of groups.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.html#queryGroups)\n         */\n        queryGroups(): Groups.GroupsQueryBuilder;\n        /**\n         * Updates a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.html#updateGroup)\n         */\n        updateGroup(groupId: string, groupInfo: Groups.GroupInfoUpdate, options?: Options): Promise<Group>;\n    }\n    /**\n     * The JoinRequests API provides functionality for managing requests to join a group.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.html#)\n     */\n    interface JoinRequests {\n        /**\n         * Approves requests to join a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.html#approveJoinRequests)\n         */\n        approveJoinRequests(identifiers: JoinRequests.Identifiers, options?: Options): Promise<JoinRequests.JoinRequest[]>;\n        /**\n         * Lists requests to join a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.html#listJoinRequests)\n         */\n        listJoinRequests(groupId: string, paging?: JoinRequests.Paging, options?: Options): Promise<JoinRequests.ListJoinRequests>;\n        /**\n         * Creates a query to retrieve a list of join requests.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.html#queryJoinRequests)\n         */\n        queryJoinRequests(): JoinRequests.JoinRequestsQueryBuilder;\n        /**\n         * Rejects requests to join a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.html#rejectJoinRequests)\n         */\n        rejectJoinRequests(groupId: string, rejections: JoinRequests.Rejection[], options?: Options): Promise<JoinRequests.JoinRequest[]>;\n    }\n    /**\n     * The Members API provides functionality for managing group members, inluding adding, removing, and querying group members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.html#)\n     */\n    interface Members {\n        /**\n         * Adds site members to a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.html#addGroupMembers)\n         */\n        addGroupMembers(identifiers: Members.IdentifiersAddGroupMembers, options?: Options): Promise<Members.GroupMember>;\n        /**\n         * Lists all members of a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.html#listGroupMembers)\n         */\n        listGroupMembers(groupId: string, paging?: Members.Paging, options?: Options): Promise<Members.ListGroupMembers>;\n        /**\n         * Lists all group memberships of a site member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.html#listMemberships)\n         */\n        listMemberships(memberId: string, paging?: Members.PagingMemberships, options?: Options): Promise<Members.ListMemberships>;\n        /**\n         * Retrieves a list of up to 100 group members, given the provided paging, sorting and filtering.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.html#queryGroupMembers)\n         */\n        queryGroupMembers(): Members.GroupMembersQueryBuilder;\n        /**\n         * Retrieves a list of up to 100 memberships, given the provided paging, sorting and filtering.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.html#queryMemberships)\n         */\n        queryMemberships(): Members.GroupMembersQueryBuilder;\n        /**\n         * Removes members from a group.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.html#removeGroupMembers)\n         */\n        removeGroupMembers(identifiers: Members.IdentifiersRemoveGroupMembers, options?: Options): Promise<void>;\n    }\n    /**\n     * The Roles API provides functionality for assigning and unassigning a role to a group member.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Roles.html#)\n     */\n    interface Roles {\n        /**\n         * Assigns a role to group members.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Roles.html#assignRole)\n         */\n        assignRole(identifiers: Roles.Identifiers, role: string, options?: Options): Promise<Role>;\n        /**\n         * Unassigns a role from group members.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Roles.html#unassignRole)\n         */\n        unassignRole(identifiers: Roles.Identifiers, role: string, options?: Options): Promise<Role>;\n    }\n    /**\n     * The CreateRequests API provides functionality for managing requests to create a group.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.html#)\n     */\n    namespace CreateRequests {\n        type CreateRequest = {\n            /**\n             * ID of the request to create a group. Same as group ID.\n             */\n            _id: string;\n            /**\n             * Status of the request to create a group.\n             * One of:\n             *  + `\"PENDING\"`\n             *  + `\"APPROVED\"`\n             *  + `\"REJECTED\"`\n             */\n            status: string;\n            /**\n             * Reason the request to create a group was rejected.\n             */\n            rejectionReason?: string;\n            /**\n             * Group requested to create.\n             */\n            group: Group;\n        };\n        type ListCreateRequests = {\n            /**\n             * Requests to create a group.\n             */\n            createRequests: CreateRequests.CreateRequest[];\n            /**\n             * Paging information.\n             */\n            metadata: Metadata;\n        };\n        type Paging = {\n            /**\n             * Maximum number of create requests to retrieve. Defaults to 1,000.\n             */\n            limit?: number;\n            /**\n             * Number of create requests to skip in the list.\n             */\n            skip?: number;\n        };\n        type RejectCreateRequest = {\n            /**\n             * ID of the create request to reject.\n             */\n            createRequestId: string;\n            /**\n             * Reason the request to create a group was rejected. Max 1,000 characters. This text is displayed to the creator of the rejected request.\n             */\n            reason?: string;\n        };\n        /**\n         * Contains functionality for refining a CreateRequests query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#)\n         */\n        interface CreateRequestsQueryBuilder {\n            /**\n             * Adds a sort to a query, sorting by the specified properties in ascending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#ascending)\n             */\n            ascending(...propertyName: string[]): CreateRequests.CreateRequestsQueryBuilder;\n            /**\n             * Adds a sort to a query, sorting by the specified properties in descending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#descending)\n             */\n            descending(...propertyName: string[]): CreateRequests.CreateRequestsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): CreateRequests.CreateRequestsQueryBuilder;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#find)\n             */\n            find(options?: Options): Promise<CreateRequests.CreateRequestsQueryResult>;\n            /**\n             * Refines a query to match items whose specified property value contains any of the specified values.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#hasSome)\n             */\n            hasSome(propertyName: string, values: string[]): CreateRequests.CreateRequestsQueryBuilder;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#limit)\n             */\n            limit(limit: string): CreateRequests.CreateRequestsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value does not equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#ne)\n             */\n            ne(propertyName: string, value: any): CreateRequests.CreateRequestsQueryBuilder;\n            /**\n             * Adds an `or` condition to the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#or)\n             */\n            or(query: CreateRequests.CreateRequestsQueryBuilder): CreateRequests.CreateRequestsQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#skip)\n             */\n            skip(skip: string): CreateRequests.CreateRequestsQueryBuilder;\n        }\n        /**\n         * The results of a create request query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#)\n         */\n        interface CreateRequestsQueryResult {\n            /**\n             * Returns the index of the current results page number.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#currentPage)\n             */\n            readonly currentPage: number;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#items)\n             */\n            readonly items: CreateRequests.CreateRequest[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the `CreateRequestsQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#query)\n             */\n            readonly query: CreateRequests.CreateRequestsQueryBuilder;\n            /**\n             * Returns the total number of items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#totalCount)\n             */\n            readonly totalCount: number;\n            /**\n             * Returns the total number of pages the query produced.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#totalPages)\n             */\n            readonly totalPages: number;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#next)\n             */\n            next(): Promise<CreateRequests.CreateRequestsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#prev)\n             */\n            prev(): Promise<CreateRequests.CreateRequestsQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a CreateRequests query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryBuilder.html#)\n         */\n        namespace CreateRequestsQueryBuilder {\n        }\n        /**\n         * The results of a create request query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.CreateRequests.CreateRequestsQueryResult.html#)\n         */\n        namespace CreateRequestsQueryResult {\n        }\n    }\n    /**\n     * The Groups API provides functionality for managing groups, including creating, deleting, updating, and querying groups.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.html#)\n     */\n    namespace Groups {\n        type GroupInfo = {\n            /**\n             * Group name.\n             */\n            name: string;\n            /**\n             * Group description.\n             */\n            description?: string;\n            /**\n             * Group privacy level.\n             * One of:\n             * + `PUBLIC`: Site visitors can see the group and its content in the list of groups. Site members can join the group.\n             * + `PRIVATE`: Site visitors can see the group in the list of groups, but only group members can see its content. Site members can request to join the group.\n             * + `SECRET`: Only group members can see the group and its content in the list of groups. Site members can only join if invited by group admins, or other group members.\n             */\n            privacyStatus?: string;\n            /**\n             * Group cover image.\n             */\n            coverImage?: CoverImage;\n            /**\n             * What group members are called. For example, 'Coworkers', 'Friends', or 'Students'.\n             */\n            memberTitle?: string;\n            /**\n             * Group settings.\n             */\n            settings?: GroupSettings;\n            /**\n             * Site member ID of the group creator. Defaults to group creator. Required if using suppressAuth.\n             */\n            owner?: string;\n        };\n        /**\n         * Group to update.\n         */\n        type GroupInfoUpdate = {\n            /**\n             * Group name.\n             */\n            name?: string;\n            /**\n             * Group description.\n             */\n            description?: string;\n            /**\n             * Group privacy level.\n             * One of:\n             * + `PUBLIC`: Site visitors can see the group and its content in the list of groups. Site members can join the group.\n             * + `PRIVATE`: Site visitors can see the group in the list of groups, but only group members can see its content. Site members can request to join the group.\n             * + `SECRET`: Only group members can see the group and its content in the list of groups. Site members can only join if invited by group admins, or other group members.\n             */\n            privacyStatus?: string;\n            /**\n             * Group cover image.\n             */\n            coverImage?: CoverImageOptions;\n            /**\n             * What group members are called. For example, 'Coworkers', 'Friends', or 'Students'.\n             */\n            memberTitle?: string;\n            /**\n             * Group settings.\n             */\n            settings?: GroupSettingsOptions;\n            /**\n             * Site member ID of the group creator.\n             */\n            owner?: string;\n        };\n        type ListGroups = {\n            /**\n             * List of groups.\n             */\n            groups: Group[];\n            /**\n             * Paging information.\n             */\n            metadata: Metadata;\n        };\n        type Paging = {\n            /**\n             * Maximum number of groups to retrieve. Defaults to 1,000.\n             */\n            limit?: number;\n            /**\n             * Number of groups to skip in the list.\n             */\n            skip?: number;\n        };\n        /**\n         * Contains functionality for refining a Groups query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#)\n         */\n        interface GroupsQueryBuilder {\n            /**\n             * Adds a sort to a query, sorting by the specified properties in ascending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#ascending)\n             */\n            ascending(...propertyName: string[]): Groups.GroupsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value contains a specified string.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#contains)\n             */\n            contains(propertyName: string, value: string): Groups.GroupsQueryBuilder;\n            /**\n             * Adds a sort to a query, sorting by the specified properties in descending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#descending)\n             */\n            descending(...propertyName: string[]): Groups.GroupsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value ends with a specified string.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#endsWith)\n             */\n            endsWith(propertyName: string, value: string): Groups.GroupsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): Groups.GroupsQueryBuilder;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#find)\n             */\n            find(options?: Options): Promise<Groups.GroupsQueryResult>;\n            /**\n             * Refines a query to match items whose specified property value contains any of the specified values.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#hasSome)\n             */\n            hasSome(propertyName: string, values: string[]): Groups.GroupsQueryBuilder;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#limit)\n             */\n            limit(limit: string): Groups.GroupsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value does not equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#ne)\n             */\n            ne(propertyName: string, value: any): Groups.GroupsQueryBuilder;\n            /**\n             * Adds an `or` condition to the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#or)\n             */\n            or(query: Groups.GroupsQueryBuilder): Groups.GroupsQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#skip)\n             */\n            skip(skip: string): Groups.GroupsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value starts with a specified string.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#startsWith)\n             */\n            startsWith(propertyName: string, value: string): Groups.GroupsQueryBuilder;\n        }\n        /**\n         * The results of a create request query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#)\n         */\n        interface GroupsQueryResult {\n            /**\n             * Returns the index of the current results page number.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#currentPage)\n             */\n            readonly currentPage: number;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#items)\n             */\n            readonly items: Group[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the `GroupsQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#query)\n             */\n            readonly query: Groups.GroupsQueryBuilder;\n            /**\n             * Returns the total number of items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#totalCount)\n             */\n            readonly totalCount: number;\n            /**\n             * Returns the total number of pages the query produced.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#totalPages)\n             */\n            readonly totalPages: number;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#next)\n             */\n            next(): Promise<Groups.GroupsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#prev)\n             */\n            prev(): Promise<Groups.GroupsQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a Groups query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryBuilder.html#)\n         */\n        namespace GroupsQueryBuilder {\n        }\n        /**\n         * The results of a create request query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Groups.GroupsQueryResult.html#)\n         */\n        namespace GroupsQueryResult {\n        }\n    }\n    /**\n     * The JoinRequests API provides functionality for managing requests to join a group.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.html#)\n     */\n    namespace JoinRequests {\n        type Identifiers = {\n            /**\n             * ID of the group requested to join.\n             */\n            groupId: string;\n            /**\n             * IDs of the site members to approve.\n             */\n            memberIds: string[];\n        };\n        type JoinRequest = {\n            /**\n             * Site member ID of the requester.\n             */\n            memberId: string;\n            /**\n             * Date the site member requested to join the group.\n             */\n            _createdDate: Date;\n            /**\n             * Status of the request to join a group.\n             * One of:\n             * - `\"PENDING\"`\n             * - `\"APPROVED\"`\n             * - `\"REJECTED\"`\n             */\n            status: string;\n            /**\n             * Reason the request to join a group was rejected.\n             */\n            rejectionReason?: string;\n        };\n        type ListJoinRequests = {\n            /**\n             * Requests to join a group.\n             */\n            joinRequests: JoinRequests.JoinRequest[];\n            /**\n             * Paging information.\n             */\n            metadata: Metadata;\n        };\n        type Paging = {\n            /**\n             * Maximum number of join requests to retrieve. Defaults to 100.\n             */\n            limit?: number;\n            /**\n             * Number of join requests to skip in the list.\n             */\n            skip?: number;\n        };\n        type Rejection = {\n            /**\n             * ID of the site member to reject.\n             */\n            memberId: string;\n            /**\n             * Reason the request to join a group was rejected. Text written by the request reviewer that is displayed when the group is rejected (max 1,000 characters).\n             */\n            reason: string;\n        };\n        /**\n         * Contains functionality for refining a JoinRequests query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryBuilder.html#)\n         */\n        interface JoinRequestsQueryBuilder {\n            /**\n             * Refines a query to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): JoinRequests.JoinRequestsQueryBuilder;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryBuilder.html#find)\n             */\n            find(options?: Options): Promise<JoinRequests.JoinRequestsQueryResult>;\n            /**\n             * Refines a query to match items whose specified property value contains any of the specified values.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryBuilder.html#hasSome)\n             */\n            hasSome(propertyName: string, values: string[]): JoinRequests.JoinRequestsQueryBuilder;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryBuilder.html#limit)\n             */\n            limit(limit: string): JoinRequests.JoinRequestsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value does not equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryBuilder.html#ne)\n             */\n            ne(propertyName: string, value: any): JoinRequests.JoinRequestsQueryBuilder;\n            /**\n             * Adds an `or` condition to the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryBuilder.html#or)\n             */\n            or(query: JoinRequests.JoinRequestsQueryBuilder): JoinRequests.JoinRequestsQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryBuilder.html#skip)\n             */\n            skip(skip: string): JoinRequests.JoinRequestsQueryBuilder;\n        }\n        /**\n         * The results of a create request query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#)\n         */\n        interface JoinRequestsQueryResult {\n            /**\n             * Returns the index of the current results page number.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#currentPage)\n             */\n            readonly currentPage: number;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#items)\n             */\n            readonly items: JoinRequests.JoinRequest[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the `JoinRequestsQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#query)\n             */\n            readonly query: JoinRequests.JoinRequestsQueryBuilder;\n            /**\n             * Returns the total number of items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#totalCount)\n             */\n            readonly totalCount: number;\n            /**\n             * Returns the total number of pages the query produced.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#totalPages)\n             */\n            readonly totalPages: number;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#next)\n             */\n            next(): Promise<JoinRequests.JoinRequestsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#prev)\n             */\n            prev(): Promise<JoinRequests.JoinRequestsQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a JoinRequests query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryBuilder.html#)\n         */\n        namespace JoinRequestsQueryBuilder {\n        }\n        /**\n         * The results of a create request query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.JoinRequests.JoinRequestsQueryResult.html#)\n         */\n        namespace JoinRequestsQueryResult {\n        }\n    }\n    /**\n     * The Members API provides functionality for managing group members, inluding adding, removing, and querying group members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.html#)\n     */\n    namespace Members {\n        type GroupMember = {\n            /**\n             * Group member role.\n             * One of:\n             * - `\"MEMBER\"`: Group member.\n             * - `\"ADMIN\"`: Group admins.\n             */\n            role: string;\n            /**\n             * Site member ID of group member.\n             */\n            memberId: string;\n            /**\n             * Date and time the group member joined the group.\n             */\n            joinedDate: Date;\n        };\n        type IdentifiersAddGroupMembers = {\n            /**\n             * ID of the group.\n             */\n            groupId: string;\n            /**\n             * IDs of the site members to add to the group.\n             */\n            memberIds: string[];\n        };\n        type IdentifiersRemoveGroupMembers = {\n            /**\n             * ID of the group.\n             */\n            groupId: string;\n            /**\n             * IDs of the site members to remove from the group.\n             */\n            memberIds: string[];\n        };\n        type ListGroupMembers = {\n            /**\n             * Group members.\n             */\n            members: Members.GroupMember[];\n            /**\n             * Paging information.\n             */\n            metadata: Metadata;\n        };\n        type ListMemberships = {\n            /**\n             * Site member's memberships.\n             */\n            memberships: Members.Membership[];\n            /**\n             * Paging information.\n             */\n            metadata: Metadata;\n        };\n        type Membership = {\n            /**\n             * Group ID.\n             */\n            groupId: string;\n            /**\n             * Group membership status.\n             * One of:\n             * - `\"JOINED\"`\n             * - `\"PENDING\"`\n             */\n            status: string;\n            /**\n             * Group member role.\n             * One of:\n             * - `\"MEMBER\"`: Group member.\n             * - `\"ADMIN\"`: Group admins.\n             */\n            role: string;\n        };\n        type Paging = {\n            /**\n             * Maximum number of group members to retrieve. Defaults to 100.\n             */\n            limit?: number;\n            /**\n             * Number of group members to skip in the list.\n             */\n            skip?: number;\n        };\n        type PagingMemberships = {\n            /**\n             * Maximum number of memberships to retrieve. Defaults to 100.\n             */\n            limit?: number;\n            /**\n             * Number of memberships to skip in the list.\n             */\n            skip?: number;\n        };\n        /**\n         * Contains functionality for refining a Members query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryBuilder.html#)\n         */\n        interface GroupMembersQueryBuilder {\n            /**\n             * Adds a sort to a query, sorting by the specified properties in ascending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryBuilder.html#ascending)\n             */\n            ascending(...propertyName: string[]): Members.GroupMembersQueryBuilder;\n            /**\n             * Adds a sort to a query, sorting by the specified properties in descending order.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryBuilder.html#descending)\n             */\n            descending(...propertyName: string[]): Members.GroupMembersQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): Members.GroupMembersQueryBuilder;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryBuilder.html#find)\n             */\n            find(options?: Options): Promise<Members.GroupMembersQueryResult>;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryBuilder.html#limit)\n             */\n            limit(limit: string): Members.GroupMembersQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value does not equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryBuilder.html#ne)\n             */\n            ne(propertyName: string, value: any): Members.GroupMembersQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryBuilder.html#skip)\n             */\n            skip(skip: string): Members.GroupMembersQueryBuilder;\n        }\n        /**\n         * The results of a create request query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#)\n         */\n        interface GroupMembersQueryResult {\n            /**\n             * Returns the index of the current results page number.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#currentPage)\n             */\n            readonly currentPage: number;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#items)\n             */\n            readonly items: Members.GroupMember[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the `GroupMembersQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#query)\n             */\n            readonly query: Members.GroupMembersQueryBuilder;\n            /**\n             * Returns the total number of items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#totalCount)\n             */\n            readonly totalCount: number;\n            /**\n             * Returns the total number of pages the query produced.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#totalPages)\n             */\n            readonly totalPages: number;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#next)\n             */\n            next(): Promise<Members.GroupMembersQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#prev)\n             */\n            prev(): Promise<Members.GroupMembersQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a Memberships query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryBuilder.html#)\n         */\n        interface MembershipsQueryBuilder {\n            /**\n             * Refines a query to match items whose specified property value equals the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryBuilder.html#eq)\n             */\n            eq(propertyName: string, value: any): Members.MembershipsQueryBuilder;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryBuilder.html#find)\n             */\n            find(options?: Options): Promise<Members.MembershipsQueryResult>;\n            /**\n             * Limits the number of items the query returns.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryBuilder.html#limit)\n             */\n            limit(limit: string): Members.MembershipsQueryBuilder;\n            /**\n             * Refines a query to match items whose specified property value does not equal the specified value.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryBuilder.html#ne)\n             */\n            ne(propertyName: string, value: any): Members.MembershipsQueryBuilder;\n            /**\n             * Sets the number of items to skip before returning query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryBuilder.html#skip)\n             */\n            skip(skip: string): Members.MembershipsQueryBuilder;\n        }\n        /**\n         * The results of a create request query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#)\n         */\n        interface MembershipsQueryResult {\n            /**\n             * Returns the index of the current results page number.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#currentPage)\n             */\n            readonly currentPage: number;\n            /**\n             * Returns the items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#items)\n             */\n            readonly items: Members.Membership[];\n            /**\n             * Returns the number of items in the current results page.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#length)\n             */\n            readonly length: number;\n            /**\n             * Returns the query page size.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#pageSize)\n             */\n            readonly pageSize: number;\n            /**\n             * Returns the `MembershipsQueryBuilder` object used to get the current results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#query)\n             */\n            readonly query: Members.MembershipsQueryBuilder;\n            /**\n             * Returns the total number of items that match the query.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#totalCount)\n             */\n            readonly totalCount: number;\n            /**\n             * Returns the total number of pages the query produced.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#totalPages)\n             */\n            readonly totalPages: number;\n            /**\n             * Retrieves the next page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#next)\n             */\n            next(): Promise<Members.MembershipsQueryResult>;\n            /**\n             * Retrieves the previous page of query results.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#prev)\n             */\n            prev(): Promise<Members.MembershipsQueryResult>;\n        }\n        /**\n         * Contains functionality for refining a Members query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryBuilder.html#)\n         */\n        namespace GroupMembersQueryBuilder {\n        }\n        /**\n         * The results of a create request query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.GroupMembersQueryResult.html#)\n         */\n        namespace GroupMembersQueryResult {\n        }\n        /**\n         * Contains functionality for refining a Memberships query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryBuilder.html#)\n         */\n        namespace MembershipsQueryBuilder {\n        }\n        /**\n         * The results of a create request query, containing the retrieved items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Members.MembershipsQueryResult.html#)\n         */\n        namespace MembershipsQueryResult {\n        }\n    }\n    /**\n     * The Roles API provides functionality for assigning and unassigning a role to a group member.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-groups-backend.Roles.html#)\n     */\n    namespace Roles {\n        type Identifiers = {\n            /**\n             * ID of the group.\n             */\n            groupId: string;\n            /**\n             * IDs of the site members.\n             */\n            memberIds: string[];\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-marketing-backend.d.ts",
      "content": "/**\n * The wix-marketing-backend module contains functionality for working with your\n *  site's marketing tools from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.html#)\n */\ndeclare module 'wix-marketing-backend' {\n    /**\n     * The Coupons API is used to manage your site's coupons.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.html#coupons)\n     */\n    const coupons: Coupons;\n    /**\n     * The Coupons API is used to manage your site's coupons.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Coupons.html#)\n     */\n    interface Coupons {\n        /**\n         * Creates a new coupon.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Coupons.html#createCoupon)\n         */\n        createCoupon(couponInfo: Coupons.CouponInfo): Promise<Coupons.CouponId>;\n        /**\n         * Deletes an existing coupon.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Coupons.html#deleteCoupon)\n         */\n        deleteCoupon(couponId: string): Promise<void>;\n        /**\n         * Updates the specified fields of an existing coupon.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Coupons.html#updateCouponFields)\n         */\n        updateCouponFields(couponId: string, couponInfo: Coupons.CouponInfo): Promise<void>;\n    }\n    /**\n     * Events that are triggered by actions related to Wix Marketing.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * An event that is triggered when a coupon is used.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Events.html#onCouponApplied)\n         */\n        onCouponApplied(event: Events.CouponAppliedEvent): void;\n        /**\n         * An event that is triggered when a coupon is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Events.html#onCouponCreated)\n         */\n        onCouponCreated(event: Events.CouponEvent): void;\n        /**\n         * An event that is triggered when a coupon is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Events.html#onCouponDeleted)\n         */\n        onCouponDeleted(event: Events.CouponDeletedEvent): void;\n        /**\n         * An event that is triggered when a coupon is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Events.html#onCouponUpdated)\n         */\n        onCouponUpdated(event: Events.CouponEvent): void;\n    }\n    /**\n     * The Coupons API is used to manage your site's coupons.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Coupons.html#)\n     */\n    namespace Coupons {\n        /**\n         * An object representing coupon information.\n         */\n        type Coupon = {\n            /**\n             * Coupon ID.\n             */\n            _id: string;\n            /**\n             * Name of coupon.\n             */\n            name: string;\n            /**\n             * Coupon code. Must be unique for all coupons in your site. Maximum 20 characters.\n             */\n            code: string;\n            /**\n             * Coupon valid from this date and time.\n             */\n            startTime: Date;\n            /**\n             * Coupon expires at this date and time.\n             */\n            expirationTime?: Date;\n            /**\n             * Maximum number of times a coupon can be used. Note that multiple purchases by the same customer or purchases by different customers are both counted toward usage limit.\n             */\n            usageLimit?: number;\n            /**\n             * Indicates whether the coupon is currently [active](https://support.wix.com/en/article/activating-and-deactivating-coupons-in-wix-stores).\n             */\n            active?: boolean;\n            /**\n             * Scope of the coupon. When no scope is defined, the coupon applies to all items in all `namespaces` in the site.\n             */\n            scope?: Coupons.CouponScope;\n            /**\n             * Coupon creation date.\n             */\n            _dateCreated: string;\n            /**\n             * Whether the coupon is expired.\n             */\n            expired?: boolean;\n            /**\n             * Coupon display data in the dashboard. Returned if the coupon is only valid for a specific product/booking/event.\n             */\n            displayData?: Coupons.DisplayData;\n            /**\n             * Coupon type. For example, \"PercentOff\", \"FreeShipping\", etc.\n             */\n            type: string;\n            /**\n             * Maximum number of times the coupon can be used **per customer**. Not supported by Wix Bookings.\n             */\n            limitPerCustomer?: number;\n            /**\n             * Indicates whether the coupon is limited to 1 discount per order. If true and a customer pays for multiple items the coupon applies to, only the lowest priced item is discounted. Coupons with a `bookings` `namespace` are always limited to one item.\n             */\n            limitedToOneItem?: boolean;\n            /**\n             * The coupon is only applicable when the order subtotal is over this amount.\n             */\n            minimumSubtotal?: number;\n            /**\n             * Coupon type: Fixed price discount.\n             */\n            moneyOffAmount?: number;\n            /**\n             * Coupon type: Discount as a percentage.\n             */\n            percentOffRate?: number;\n            /**\n             * Coupon type: Specific sale price. Currently only supported for coupons with a `stores` `namespace`.\n             */\n            fixedPriceAmount?: number;\n            /**\n             * Coupon type: Free products when making a purchase. `buyXGetY` is an object that specifies `x` and `y` in the following scenario: if a visitor purchases x number of products, they receive y number of products for free. Currently only supported for coupons with a `stores` `namespace`.\n             */\n            buyXGetY?: Coupons.CouponTypeBuyXGetY;\n            /**\n             * Coupon type: Free shipping. If true, the coupon applies to all items in all `namespaces` in the site.\n             */\n            freeShipping?: boolean;\n            /**\n             * ID of the app that created the coupon. Empty if created by the site owner.\n             */\n            appId?: string;\n            /**\n             * How many times the coupon was used.\n             */\n            numberOfUsages: number;\n        };\n        type CouponId = {\n            /**\n             * ID of the new coupon.\n             */\n            id: string;\n        };\n        /**\n         * An object representing information for creating or updating a coupon.\n         */\n        type CouponInfo = {\n            /**\n             * Name of coupon.\n             */\n            name: string;\n            /**\n             * Coupon code. Must be unique for all coupons in your site. Maximum 20 characters.\n             */\n            code: string;\n            /**\n             * Coupon valid from this date and time.\n             */\n            startTime: Date;\n            /**\n             * Coupon expires at this date and time.\n             */\n            expirationTime?: Date;\n            /**\n             * Maximum number of times a coupon can be used. Note that multiple purchases by the same customer or purchases by different customers are both counted toward usage limit.\n             */\n            usageLimit?: number;\n            /**\n             * Indicates whether the coupon is limited to 1 discount per order. If true and a customer pays for multiple items the coupon applies to, only the lowest priced item is discounted. Coupons with a `bookings` `namespace` are always limited to one item.\n             */\n            limitedToOneItem?: boolean;\n            /**\n             * Indicates whether the coupon is currently [active](https://support.wix.com/en/article/activating-and-deactivating-coupons-in-wix-stores).\n             */\n            active?: boolean;\n            /**\n             * The coupon is only applicable when the order subtotal is over this amount.\n             */\n            minimumSubtotal?: number;\n            /**\n             * Scope of the coupon. When no scope is defined, the coupon applies to all items in all `namespaces` in the site.\n             */\n            scope?: Coupons.CouponScope;\n            /**\n             * Coupon type: Fixed price discount.\n             */\n            moneyOffAmount?: number;\n            /**\n             * Coupon type: Discount as a percentage.\n             */\n            percentOffRate?: number;\n            /**\n             * Coupon type: Specific sale price. Currently only supported for coupons with a `stores` `namespace`.\n             */\n            fixedPriceAmount?: number;\n            /**\n             * Coupon type: Free products when making a purchase. `buyXGetY` is an object that specifies `x` and `y` in the following scenario: if a visitor purchases x number of products, they receive y number of products for free. Currently only supported for coupons with a `stores` `namespace`.\n             */\n            buyXGetY?: Coupons.CouponTypeBuyXGetY;\n            /**\n             * Coupon type: Free shipping. If true, the coupon applies to all items in all `namespaces` in the site.\n             */\n            freeShipping?: boolean;\n            /**\n             * Maximum number of times the coupon can be used **per customer**. Not supported by Wix Bookings.\n             */\n            limitPerCustomer?: number;\n            /**\n             * Whether the coupon applies to subscription products.\n             *\n             * If set to `true`, the discount will apply to all billing cycles.\n             */\n            appliesToSubscriptions?: boolean;\n        };\n        /**\n         * An object containing the scope of a coupon.\n         */\n        type CouponScope = {\n            /**\n             * Wix application for which the coupon is applicable.\n             * One of the following:\n             *\n             *  + `\"stores\"`\n             *  + `\"bookings\"`\n             *  + `\"events\"`\n             *  + `\"pricingPlans\"`\n             */\n            namespace: string;\n            /**\n             * Group within a `namespace` for which the coupon is applicable. If no group is specified, the coupon applies to all items in the namespace. `group` is required in some cases. See the table in [`createCoupon()`](#createCoupon) for a list of currently supported groups for each namespace.\n             */\n            group?: Coupons.ScopeGroup;\n        };\n        /**\n         * An object defining the number of purchases required and the number of free items received for a \"Buy X Get Y\" coupon type.\n         */\n        type CouponTypeBuyXGetY = {\n            /**\n             * Number of purchased items required to receive free items.\n             */\n            x: number;\n            /**\n             * Number of items received for free if required number of items were purchased.\n             */\n            y: number;\n        };\n        /**\n         * An object representing display data for the product associated with the coupon.\n         */\n        type DisplayData = {\n            /**\n             * Display name.\n             */\n            name: string;\n            /**\n             * Formatted price for display.\n             */\n            formattedPrice: string;\n            /**\n             * Media ID for the product associated with the coupon.\n             */\n            mediaItem: string;\n        };\n        /**\n         * An object specifying the group within a `CouponScope`\n         * `namespace` for which the coupon is applicable.\n         */\n        type ScopeGroup = {\n            /**\n             * Name of the group.\n             */\n            name: string;\n            /**\n             * ID of the specific item in the group for which the coupon is applicable. If no `entityId` is specified, the coupon applies to all items in the group. In some cases when a group is specified, an `entityId` is required. See the table in [`createCoupon()`](#createCoupon) for a list of currently supported entities for each namespace and group.\n             */\n            entityId?: string;\n        };\n    }\n    /**\n     * Events that are triggered by actions related to Wix Marketing.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-marketing-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * An object representing a custom coupon event.\n         */\n        type CouponAppliedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.Metadata;\n            /**\n             * Event data.\n             */\n            data: Events.Data;\n        };\n        /**\n         * An object representing a custom coupon event.\n         */\n        type CouponDeletedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.Metadata;\n        };\n        /**\n         * An object representing a coupon event.\n         */\n        type CouponEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.Metadata;\n            /**\n             * Coupon information.\n             */\n            entity: Coupons.Coupon;\n        };\n        /**\n         * An object representing a custom event's data.\n         */\n        type Data = {\n            /**\n             * Applied coupon information.\n             */\n            coupon: Coupons.Coupon;\n            /**\n             * ID of the entity that the coupon was applied to (orderId, bookingId, etc.).\n             */\n            wixAppOrderId: string;\n            /**\n             * ID of the Wix app that applied the coupon.\n             *  + Wix Stores: `215238eb-22a5-4c36-9e7b-e7c08025e04e`\n             *  + Wix Bookings: `13d21c63-b5ec-5912-8397-c3a5ddb27a97`\n             *  + Wix Events: `140603ad-af8d-84a5-2c80-a0f60cb47351`\n             */\n            wixAppId: string;\n        };\n        /**\n         * An object representing a coupon.\n         */\n        type Metadata = {\n            /**\n             * Event ID.\n             */\n            id: string;\n            /**\n             * Coupon ID associated with this event.\n             */\n            entityId: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime: string;\n            /**\n             * Whether this event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users.\n             */\n            triggeredByAnonymizeRequest: boolean;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-media-backend.d.ts",
      "content": "/**\n * The `wix-media-backend` module contains functionality for working with\n *  media from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.html#)\n */\ndeclare module 'wix-media-backend' {\n    /**\n     * The `mediaManager` module contains functionality for working with\n     *  the media that is stored in your site's [Media Manager](https://support.wix.com/en/article/about-the-media-manager-568956).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.html#mediaManager)\n     */\n    const mediaManager: MediaManager;\n    /**\n     * Events triggered by the Wix Media API.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * An event that triggers when an audio file has completed transcoding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.Events.html#onAudioTranscoded)\n         */\n        onAudioTranscoded(event: Events.FileEvent): void;\n        /**\n         * An event that triggers when a file has completed uploading.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.Events.html#onFileUploaded)\n         */\n        onFileUploaded(event: Events.FileEvent): void;\n        /**\n         * An event that triggers when a video file has completed transcoding.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.Events.html#onVideoTranscoded)\n         */\n        onVideoTranscoded(event: Events.FileEvent): void;\n    }\n    /**\n     * The `mediaManager` module contains functionality for working with\n     *  the media that is stored in your site's [Media Manager](https://support.wix.com/en/article/about-the-media-manager-568956).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#)\n     */\n    interface MediaManager {\n        /**\n         * Returns a download URL for downloading files from the Media Manager.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#downloadFiles)\n         */\n        downloadFiles(fileUrls: string[]): Promise<string>;\n        /**\n         * Returns a download URL for downloading a folder from the Media Manager.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#downloadFolder)\n         */\n        downloadFolder(folderId: string): Promise<string>;\n        /**\n         * Gets a temporary download URL with a token for a specified file in the Media Manager.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#getDownloadUrl)\n         */\n        getDownloadUrl(fileUrl: string, expirationTime?: number, downloadedFileName?: string, expiredTokenRedirectUrl?: string): Promise<string>;\n        /**\n         * Gets a file's information from the Media Manager by `fileUrl`.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#getFileInfo)\n         */\n        getFileInfo(fileUrl: string): Promise<MediaManager.FileInfo>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available. Use the [`getDownloadUrl`](https://www.wix.com/velo/reference/wix-media-backend/mediamanager-obj/getdownloadurl) function instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#getFileUrl)\n         */\n        getFileUrl(fileUrl: string): Promise<string>;\n        /**\n         * Gets a folder's information from the Media Manager by `folderId`.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#getFolderInfo)\n         */\n        getFolderInfo(folderId: string): Promise<MediaManager.FolderInfo>;\n        /**\n         * Gets an upload URL for uploading a file to the media manager.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#getUploadUrl)\n         */\n        getUploadUrl(path: string, options: MediaManager.UploadOptions): Promise<MediaManager.UploadUrl>;\n        /**\n         * Gets a video file's playback URL from the Media Manager.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#getVideoPlaybackUrl)\n         */\n        getVideoPlaybackUrl(fileUrl: string, format: string): Promise<string>;\n        /**\n         * Imports a file to the Media Manager from a URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#importFile)\n         */\n        importFile(path: string, url: string, options: MediaManager.UploadOptions): Promise<MediaManager.FileInfo>;\n        /**\n         * Gets a list of files from the Media Manager by `parentFolderId` (or root).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#listFiles)\n         */\n        listFiles(filters?: MediaManager.FileFilterOptions, sorting?: MediaManager.SortingOptions, paging?: MediaManager.PagingOptions): Promise<MediaManager.File[]>;\n        /**\n         * Gets a list of folders from the Media Manager by `parentFolderId` (or root).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#listFolders)\n         */\n        listFolders(filters?: MediaManager.FolderFilterOptions, sorting?: MediaManager.SortingOptions, paging?: MediaManager.PagingOptions): Promise<MediaManager.FolderInfo[]>;\n        /**\n         * Moves single or multiple files to the Media Manager's trash.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#moveFilesToTrash)\n         */\n        moveFilesToTrash(fileUrls: string[]): Promise<void>;\n        /**\n         * Moves single or multiple folders, including their files and sub-folders, to the Media Manager's trash.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#moveFoldersToTrash)\n         */\n        moveFoldersToTrash(folderIds: string[]): Promise<void>;\n        /**\n         * Uploads a file to the Media Manager from a [buffer](https://nodejs.org/api/buffer.html#buffer_static_method_buffer_from_string_encoding).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#upload)\n         */\n        upload(path: string, fileContent: Buffer, fileName: string, options: MediaManager.UploadOptions): Promise<MediaManager.FileInfo>;\n    }\n    /**\n     * Events triggered by the Wix Media API.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * An object representing an uploaded file and upload context.\n         */\n        type FileEvent = {\n            /**\n             * Information about the uploaded file.\n             */\n            fileInfo: MediaManager.FileInfo;\n            /**\n             * An object of `key:value` string pairs that was sent\n             *  when the file was uploaded.\n             */\n            context: any;\n        };\n    }\n    /**\n     * The `mediaManager` module contains functionality for working with\n     *  the media that is stored in your site's [Media Manager](https://support.wix.com/en/article/about-the-media-manager-568956).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-media-backend.MediaManager.html#)\n     */\n    namespace MediaManager {\n        /**\n         * An object containing information about the file that was listed.\n         */\n        type File = {\n            /**\n             * **Deprecated**. Use the `fileUrl` property instead.\n             *\n             * The `fileName` property is the internal name (unique identifier) which is generated when a file is uploaded by the Media Manager, returned from the [`importFile()`](#importFile), or [`upload()`](#upload) functions. The name is the string located in the file's URL. Click [here](https://support.wix.com/en/article/wix-media-retrieving-the-url-of-a-file-in-the-media-manager) to learn more. Use this name when calling the [`getFileInfo()`](https://dev.wix.com/docs/velo/api-reference/wix-media-backend/media-manager/get-file-info), [`getFileUrl()`](#getFileUrl),\n             * and [`getVideoPlaybackUrl()`](#getVideoPlaybackUrl) functions.\n             */\n            fileName: string;\n            /**\n             * The file's Wix media URL in the following format: `'wix:image://v1//#originWidth=&originHeight=[&watermark=]'`.\n             */\n            fileUrl: string;\n            /**\n             * File hash.\n             */\n            hash: string;\n            /**\n             * Size of the listed file in bytes.\n             */\n            sizeInBytes: number;\n            /**\n             * [Mime type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of\n             *  the listed file.\n             */\n            mimeType: string;\n            /**\n             * Media type of the listed file.\n             *  One of:\n             *\n             *  + `\"audio\"`\n             *  + `\"document\"`\n             *  + `\"image\"`\n             *  + `\"shape\"`\n             *  + `\"video\"`\n             */\n            mediaType: string;\n            /**\n             * Whether the link to the listed file is\n             *  public or private. Private links require a token to be used.\n             */\n            isPrivate: boolean;\n            /**\n             * ID of the file's parent folder.\n             */\n            parentFolderId: string;\n            /**\n             * Original name of the uploaded file. This is the display name\n             *  that appears in the Media Manager.\n             */\n            originalFileName: string;\n            /**\n             * URL of the file's icon.\n             */\n            iconUrl: string;\n            /**\n             * List of labels assigned to the file by the Media Manager.\n             */\n            labels: string[];\n            /**\n             * Media height.\n             */\n            height: string;\n            /**\n             * Media width.\n             */\n            width: string;\n            /**\n             * Date the file was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date the file was updated.\n             */\n            _updatedDate: Date;\n        };\n        /**\n         * File filter options.\n         */\n        type FileFilterOptions = {\n            /**\n             * ID of the parent folder of the files to list.\n             */\n            parentFolderId?: string;\n            /**\n             * Media type of the files to list. Leave blank to list files of all media types.\n             *  One of:\n             *\n             *  + `\"audio\"`\n             *  + `\"document\"`\n             *  + `\"image\"`\n             *  + `\"shape\"`\n             *  + `\"video\"`\n             */\n            mediaType?: string;\n            /**\n             * Whether the link to the files you want to list is public or private. Leave blank to include both public and private files.\n             */\n            isPrivate?: boolean;\n        };\n        /**\n         * An object containing information about the file that was uploaded.\n         */\n        type FileInfo = {\n            /**\n             * **Deprecated**. Use the `fileUrl` property instead.\n             *\n             * The `fileName` property is the internal name (unique identifier) which is generated when a file is uploaded by the Media Manager, returned from the [`importFile()`](#importFile), or [`upload()`](#upload) functions. The name is the string located in the file's URL. Click [here](https://support.wix.com/en/article/wix-media-retrieving-the-url-of-a-file-in-the-media-manager) to learn more. Use this name when calling the [`getFileInfo()`](https://dev.wix.com/docs/velo/api-reference/wix-media-backend/media-manager/get-file-info), [`getFileUrl()`](#getFileUrl),\n             * and [`getVideoPlaybackUrl()`](#getVideoPlaybackUrl) functions.\n             */\n            fileName: string;\n            /**\n             * The file's Wix media URL in the following format: `'wix:image://v1//#originWidth=&originHeight=[&watermark=]'`.\n             */\n            fileUrl: string;\n            /**\n             * File hash.\n             */\n            hash: string;\n            /**\n             * Size of the uploaded file in bytes.\n             */\n            sizeInBytes: number;\n            /**\n             * [Mime type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of\n             *  the uploaded file.\n             */\n            mimeType: string;\n            /**\n             * Type of the file that was uploaded.\n             *  One of:\n             *\n             *  + `\"audio\"`\n             *  + `\"document\"`\n             *  + `\"image\"`\n             *  + `\"shape\"`\n             *  + `\"video\"`\n             */\n            mediaType: string;\n            /**\n             * Whether the link to the uploaded file is\n             *  public or private. Private links require a token to be used.\n             */\n            isPrivate: boolean;\n            /**\n             * ID of the file's parent folder.\n             */\n            parentFolderId: string;\n            /**\n             * Original name of the uploaded file. This is the display name\n             *  that appears in the Media Manager.\n             */\n            originalFileName: string;\n            /**\n             * Status of the file that was uploaded.\n             *  One of:\n             *\n             *  + `\"IN-DOWNLOAD-QUEUE\"`\n             *  + `\"IN-QUEUE\"`\n             *  + `\"READY\"`\n             */\n            opStatus: string;\n            /**\n             * URL where the file was uploaded from.\n             */\n            sourceURL: string;\n            /**\n             * URL of the file's icon.\n             */\n            iconUrl: string;\n            /**\n             * List of labels assigned to the file by the Media Manager.\n             */\n            labels: string[];\n            /**\n             * Media height.\n             */\n            height: string;\n            /**\n             * Media width.\n             */\n            width: string;\n            /**\n             * Date the file was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date the file was updated.\n             */\n            _updatedDate: Date;\n        };\n        /**\n         * Folder filter options.\n         */\n        type FolderFilterOptions = {\n            /**\n             * ID of the parent folder of the folders to list.\n             */\n            parentFolderId?: string;\n        };\n        /**\n         * An object containing information about the folder.\n         */\n        type FolderInfo = {\n            /**\n             * ID of the folder. Internal name (unique identifier) which is generated when a folder is created by the Media Manager. Use this ID when calling the [`listFiles()`](https://dev.wix.com/docs/velo/api-reference/wix-media-backend/media-manager/list-files), and [`listFolders()`](#listFolders) functions.\n             */\n            folderId: string;\n            /**\n             * Name of the folder.\n             */\n            folderName: string;\n            /**\n             * ID of the folder's parent folder. Use this ID when calling the [`listFiles()`](https://dev.wix.com/docs/velo/api-reference/wix-media-backend/media-manager/list-files), and [`listFolders()`](#listFolders) functions.\n             */\n            parentFolderId: string;\n            /**\n             * Date the folder was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date the folder was updated.\n             */\n            _updatedDate: Date;\n        };\n        /**\n         * An object containing information about the media options of a file to upload.\n         */\n        type MediaOptions = {\n            /**\n             * Type of file to upload.\n             *  One of:\n             *\n             *  + `\"audio\"`\n             *  + `\"document\"`\n             *  + `\"image\"`\n             *  + `\"shape\"`\n             *  + `\"video\"`\n             */\n            mediaType?: string;\n            /**\n             * [Mime type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of\n             *  the file to import. The specified value must match the actual mime type of\n             *  the file's content.\n             */\n            mimeType?: string;\n        };\n        /**\n         * An object containing information about the metadata options of a file to upload.\n         */\n        type MetadataOptions = {\n            /**\n             * Whether the link to the uploaded file will\n             *  be public or private. Private links require a token to be used. Defaults to\n             *  `false`.\n             */\n            isPrivate?: boolean;\n            /**\n             * Indicates if the file was uploaded by a\n             *  site visitor. When `true`, the uploaded files are:\n             *  + Stored in the Visitor Uploads folder of the Media Manager (`visitor-uploads`). See the `path` property for more details.\n             *  + Tagged in the Media Manager as added by a visitor.\n             *  Defaults to `true`.\n             */\n            isVisitorUpload?: boolean;\n            /**\n             * An object of `key:value` string pairs containing information that is passed to the [`onFileUploaded()`](https://dev.wix.com/docs/velo/api-reference/wix-media-backend/events/on-file-uploaded), [`onAudioTranscoded()`](https://dev.wix.com/docs/velo/api-reference/wix-media-backend/events/on-audio-transcoded), or [`onVideoTranscoded()`](https://dev.wix.com/docs/velo/api-reference/wix-media-backend/events/on-video-transcoded) events. See [Importing and Uploading Files](https://dev.wix.com/docs/velo/api-reference/wix-media-backend/importing-and-uploading-files) to learn more.\n             *  back in the [`onFileUploaded()`](wix-media-backend.Events.html#onFileUploaded)\n             *  event.\n             */\n            context?: any;\n            /**\n             * In this case the fileName is the name you would like your file to appear as in the Media Manager.\n             */\n            fileName?: string;\n        };\n        /**\n         * Paging options.\n         */\n        type PagingOptions = {\n            /**\n             * Amount of records to retrieve. Defaults to 20.\n             */\n            limit?: number;\n            /**\n             * Number of records to skip.\n             */\n            skip?: number;\n        };\n        /**\n         * Sorting options. **Note:** When sorting by '`originalFileName`', folders and file names that begin with capital letters come before lowercase in '`asc`' order.\n         */\n        type SortingOptions = {\n            /**\n             * Direction of sort: `\"asc\"` or `\"desc\"`. Defaults to `\"asc\"`.\n             */\n            order?: string;\n            /**\n             * Field to sort by: `\"originalFileName\"` or `\"_updatedDate\"`. Defaults to `\"_updatedDate\"`.\n             */\n            field?: string;\n        };\n        /**\n         * An object containing information about the options of a file to upload.\n         */\n        type UploadOptions = {\n            /**\n             * Media options of the file to upload.\n             */\n            mediaOptions?: MediaManager.MediaOptions;\n            /**\n             * Metadata options of the file to upload.\n             */\n            metadataOptions?: MediaManager.MetadataOptions;\n        };\n        /**\n         * An object containing information about an upload URL.\n         */\n        type UploadUrl = {\n            /**\n             * The URL used for sending a POST or PUT request to upload a file to the Media Manager.\n             */\n            uploadUrl: string;\n            /**\n             * **Deprecated.** Use the `uploadUrl` property instead.\n             *\n             * The token to use with the file POST.\n             *\n             * **Note:** The `uploadToken` property returns empty, as the token is now included in the upload URL. The `uploadToken` property will continue to work, but we recommend that you use the updated `uploadUrl` parameter instead.\n             */\n            uploadToken: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-members-backend.d.ts",
      "content": "/**\n * The wix-members-backend module contains functionality\n * for working with your site members from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.html#)\n */\ndeclare module 'wix-members-backend' {\n    /**\n     * The Authentication API contains functionality for authenticating users from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.html#authentication)\n     */\n    const authentication: Authentication;\n    /**\n     * The Authorization API contains functionality for working with\n     * [member roles](https://support.wix.com/en/site-members/setting-your-members-permissions)\n     * from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.html#authorization)\n     */\n    const authorization: Authorization;\n    /**\n     * The Badges API contains functionality for working with [member badges](https://support.wix.com/en/article/about-member-badges) from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.html#badges)\n     */\n    const badges: Badges;\n    /**\n     * The CurrentMember API contains functionality for viewing and managing site members from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.html#currentMember)\n     */\n    const currentMember: CurrentMember;\n    /**\n     * The Members API contains functionality for viewing and managing site members from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.html#members)\n     */\n    const members: Members;\n    type AuthOptions = {\n        /**\n         * Prevents permission checks from running for the operation.\n         */\n        suppressAuth: boolean;\n    };\n    /**\n     * The Authentication API contains functionality for authenticating users from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authentication.html#)\n     */\n    interface Authentication {\n        /**\n         * Approves a pending member using an email address.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authentication.html#approveByEmail)\n         */\n        approveByEmail(email: string): Promise<string>;\n        /**\n         * Approves a pending member using an approval token.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authentication.html#approveByToken)\n         */\n        approveByToken(token: string): Promise<string>;\n        /**\n         * Blocks a member from logging in to the site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authentication.html#blockByEmail)\n         */\n        blockByEmail(email: string): Promise<void>;\n        /**\n         * Changes a member's login email address.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authentication.html#changeLoginEmail)\n         */\n        changeLoginEmail(memberId: string, newEmail: string): Promise<Members.Member>;\n        /**\n         * Creates a session token for a member authenticated by a 3rd party.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authentication.html#generateSessionToken)\n         */\n        generateSessionToken(email: string): Promise<string>;\n        /**\n         * Logs a registered member in with an email and password.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authentication.html#login)\n         */\n        login(email: string, password: string): Promise<string>;\n        /**\n         * Registers a new site member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authentication.html#register)\n         */\n        register(email: string, password: string, options?: Authentication.RegistrationOptions): Promise<Authentication.RegistrationResult>;\n        /**\n         * Sends a site member an email with a link to set or reset their password.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authentication.html#sendSetPasswordEmail)\n         */\n        sendSetPasswordEmail(email: string, options?: Authentication.SetPasswordEmailOptions): Promise<void>;\n    }\n    /**\n     * The Authorization API contains functionality for working with\n     * [member roles](https://support.wix.com/en/site-members/setting-your-members-permissions)\n     * from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authorization.html#)\n     */\n    interface Authorization {\n        /**\n         * Assigns a role to a member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authorization.html#assignRole)\n         */\n        assignRole(roleId: string, memberId: string, options?: AuthOptions): Promise<void>;\n        /**\n         * Removes a role from a member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authorization.html#removeRole)\n         */\n        removeRole(roleId: string, memberId: string, options?: AuthOptions): Promise<void>;\n    }\n    /**\n     * The Badges API contains functionality for working with [member badges](https://support.wix.com/en/article/about-member-badges) from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Badges.html#)\n     */\n    interface Badges {\n        /**\n         * Assigns a badge to site members.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Badges.html#assignMembers)\n         */\n        assignMembers(badgeId: string, memberIds: string[]): Promise<string[]>;\n        /**\n         * Creates a badge.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Badges.html#createBadge)\n         */\n        createBadge(badgeInfo: Badges.BadgeInfo): Promise<Badges.Badge>;\n        /**\n         * Deletes a badge.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Badges.html#deleteBadge)\n         */\n        deleteBadge(badgeId: string): Promise<void>;\n        /**\n         * Lists the badges assigned to each of the specified site members.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Badges.html#listMemberBadges)\n         */\n        listMemberBadges(memberIds: string[]): Promise<Badges.MemberBadges[]>;\n        /**\n         * Lists the IDs of all members assigned to a badge.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Badges.html#listMembers)\n         */\n        listMembers(badgeId: string): Promise<string[]>;\n        /**\n         * Removes site members from an assigned badge.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Badges.html#removeMembers)\n         */\n        removeMembers(badgeId: string, memberIds: string[]): Promise<void>;\n        /**\n         * Updates a badge.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Badges.html#updateBadge)\n         */\n        updateBadge(badgeId: string, badgeInfo: Badges.BadgeInfo): Promise<Badges.Badge>;\n    }\n    /**\n     * The CurrentMember API contains functionality for viewing and managing site members from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.CurrentMember.html#)\n     */\n    interface CurrentMember {\n        /**\n         * Retrieves the currently logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.CurrentMember.html#getMember)\n         */\n        getMember(options?: Members.FieldsetOptions): Promise<Members.Member>;\n        /**\n         * Retrieves the member's roles.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.CurrentMember.html#getRoles)\n         */\n        getRoles(): Promise<CurrentMember.Role[]>;\n        /**\n         * Removes the currently logged-in member from the site community and sets their profile to private.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.CurrentMember.html#makeProfilePrivate)\n         */\n        makeProfilePrivate(): Promise<Members.Member>;\n        /**\n         * Joins the currently logged-in member to the site community and sets their profile to public.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.CurrentMember.html#makeProfilePublic)\n         */\n        makeProfilePublic(): Promise<Members.Member>;\n        /**\n         * Changes the currently logged-in member's slug.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.CurrentMember.html#updateSlug)\n         */\n        updateSlug(slug: string): Promise<Members.Member>;\n    }\n    /**\n     * Events that are triggered by actions on a site's members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * **Deprecated.**\n         * This event will continue to work, but a newer version is available at\n         * [onMemberCreated()](https://dev.wix.com/docs/velo/api-reference/wix-members-v2/events/on-member-created).\n         *\n         * An event that is triggered when a site member is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Events.html#onMemberCreated)\n         */\n        onMemberCreated(event: Events.CreatedMemberEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work, but a newer version is available at\n         * [onMemberDeleted()](https://dev.wix.com/docs/velo/api-reference/wix-members-v2/events/on-member-deleted).\n         *\n         * An event that is triggered when a site member is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Events.html#onMemberDeleted)\n         */\n        onMemberDeleted(event: Events.DeletedMemberEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work, but a newer version is available at\n         * [onMemberUpdated()](https://dev.wix.com/docs/velo/api-reference/wix-members-v2/events/on-member-updated).\n         *\n         * An event that is triggered when a site member's information is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Events.html#onMemberUpdated)\n         */\n        onMemberUpdated(event: Events.UpdatedMemberEvent): void;\n    }\n    /**\n     * **Deprecated.**\n     * The Members API contains functionality for viewing and managing site members from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Members.html#)\n     */\n    interface Members {\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [deleteMember()](https://dev.wix.com/docs/velo/api-reference/wix-members-v2/members/delete-member).\n         *\n         * Deletes a member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Members.html#deleteMember)\n         */\n        deleteMember(id: string): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [deleteMemberAddresses()](https://dev.wix.com/docs/velo/api-reference/wix-members-v2/members/delete-member-addresses).\n         *\n         * Deletes a member's street addresses.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Members.html#deleteMemberAddresses)\n         */\n        deleteMemberAddresses(id: string): Promise<Members.Member>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [deleteMemberEmails()](https://dev.wix.com/docs/velo/api-reference/wix-members-v2/members/delete-member-emails).\n         *\n         * Deletes a member's street addresses.\n         * Clears a member's email addresses.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Members.html#deleteMemberEmails)\n         */\n        deleteMemberEmails(id: string): Promise<Members.Member>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [deleteMemberPhones()](https://dev.wix.com/docs/velo/api-reference/wix-members-v2/members/delete-member-phones).\n         *\n         * Clears a member's phone numbers.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Members.html#deleteMemberPhones)\n         */\n        deleteMemberPhones(id: string): Promise<Members.Member>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [getMember()](https://dev.wix.com/docs/velo/api-reference/wix-members-v2/members/get-member).\n         *\n         * Retrieves a member by ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Members.html#getMember)\n         */\n        getMember(id: string, options?: Members.FieldsetOptions): Promise<Members.Member>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [updateMember()](https://dev.wix.com/docs/velo/api-reference/wix-members-v2/members/update-member).\n         *\n         * Updates a member's properties.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Members.html#updateMember)\n         */\n        updateMember(id: string, member: Members.MemberInfo): Promise<Members.Member>;\n    }\n    /**\n     * The Authentication API contains functionality for authenticating users from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Authentication.html#)\n     */\n    namespace Authentication {\n        /**\n         * An object that contains information about a site contact.\n         */\n        type ContactInfo = {\n            /**\n             * Contact's first name.\n             */\n            firstName?: string;\n            /**\n             * Contact's last name.\n             */\n            lastName?: string;\n            /**\n             * Contact's image source URL.\n             */\n            picture?: string;\n            /**\n             * List of contact's email addresses.\n             *  When creating a contact, if no phone number is\n             *  provided, at least 1 email address must be provided.\n             */\n            emails?: string[];\n            /**\n             * List of contact's phone numbers.\n             *  When creating a contact, if no email is\n             *  provided, at least 1 phone number must be provided.\n             */\n            phones?: string[];\n            /**\n             * List of contact's labels. [Labels](https://support.wix.com/en/article/creating-contact-labels)\n             *  are used to organize contacts. When setting the `labels` property, you can\n             *  only list labels that already exist in your site's [Contact List](https://support.wix.com/en/article/accessing-your-contact-list).\n             */\n            labels?: string[];\n            /**\n             * Contact's language.\n             */\n            language?: string;\n            /**\n             * Any number of custom fields. [Custom fields](https://www.wix.com/velo/reference/wix-members-backend/custom-fields)\n             *  are used to store additional information about your site's contacts.\n             *\n             *  >**Note:** `customFields` is not the name of a field in the `contactInfo` object. Here, it represents any custom fields that you've chosen to implement.\n             */\n            customFields?: string | number | Date;\n        };\n        /**\n         * An object that contains information about a site registration.\n         */\n        type RegistrationOptions = {\n            /**\n             * Contact information.\n             */\n            contactInfo?: Authentication.ContactInfo;\n            /**\n             * Sets the [privacy status](https://support.wix.com/en/article/member-privacy-settings-for-groups) of a new member upon registration.\n             * One of:\n             *\n             *  - `\"PUBLIC\"`: Sets the new member status to public. A member whose status is public is a member of the site's community.\n             *  - `\"PRIVATE\"`: Sets the new member status to private. A member whose status is private is not a member of the site's community.\n             *\n             * Defaults to `\"PRIVATE\"`.\n             */\n            privacyStatus?: string;\n        };\n        type RegistrationResult = {\n            /**\n             * Registration status.\n             *\n             * One of:\n             *\n             * - `\"PENDING\"`: The member must be approved before they can log in to the site.\n             * - `\"ACTIVE\"`: The member is approved and can log in to the site.\n             */\n            status: string;\n            /**\n             * Token for logging in the current visitor\n             *  as a site member with the\n             * [`applySessionToken()`](wix-members-frontend/authentication/applySessionToken)\n             *  function from wix-members-frontend.\n             *\n             * `sessionToken` is only returned when approval is automatic and the returned `status` is `\"ACTIVE\"`. See [Automatic vs. Manual Approval](https://dev.wix.com/docs/velo/api-reference/wix-members-backend/authentication/new-members#manual-vs-automatic-approval).\n             */\n            sessionToken?: string;\n            /**\n             * Token for approving the member\n             * with the [`approveByToken()`](wix-members-backend/authentication/approveByToken)\n             * function. `approvalToken` is safe to pass via email or from page code to\n             * backend code.\n             *\n             * `approvalToken` is only returned when manual approval is required and the returned `status` is `\"PENDING\"`. See [Automatic vs. Manual Approval](https://dev.wix.com/docs/velo/api-reference/wix-members-backend/authentication/new-members#manual-vs-automatic-approval).\n             */\n            approvalToken?: string;\n            /**\n             * The registered member.\n             */\n            member: Members.Member;\n        };\n        type SetPasswordEmailOptions = {\n            /**\n             * Whether to hide the \"ignore this email\" message.\n             *\n             * If `false`, the email tells the member\n             * they can safely ignore\n             * if they did not request the password change.\n             *\n             * Defaults to `false`.\n             */\n            hideIgnoreMessage?: boolean;\n        };\n    }\n    /**\n     * The Badges API contains functionality for working with [member badges](https://support.wix.com/en/article/about-member-badges) from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Badges.html#)\n     */\n    namespace Badges {\n        /**\n         * An object representing a member badge.\n         */\n        type Badge = {\n            /**\n             * Badge ID.\n             */\n            _id: string;\n            /**\n             * Badge title.\n             */\n            title: string;\n            /**\n             * Badge's unique URL as used in a dynamic page.\n             */\n            slug: string;\n            /**\n             * Badge description.\n             */\n            description: string;\n            /**\n             * Badge background color as a hexadecimal RGB color value.\n             *\n             * Defaults to `\"#796EFF\"` (purple).\n             */\n            backgroundColor: string;\n            /**\n             * Badge text color as a hexadecimal RGB color value.\n             *\n             * Defaults to `\"#FFFFFF\"` (white).\n             */\n            textColor: string;\n            /**\n             * Badge icon as an SVG image. One of:\n             *\n             *   - An external web URL in the following format: `http(s)://`.\n             *   - The [source URL](wix-media-backend.mediaManager.html#getFileUrl) for a Wix Media Manager file.\n             *     Wix Media Manager file names in a `wix:image://...` format are not supported.\n             */\n            icon: string;\n            /**\n             * ID of the role that badge members are assigned to.\n             */\n            roleId: string;\n            /**\n             * Date and time the badge was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the badge was last updated.\n             */\n            _updatedDate: Date;\n        };\n        /**\n         * Information to use when creating or updating a badge.\n         */\n        type BadgeInfo = {\n            /**\n             * Badge title.\n             */\n            title: string;\n            /**\n             * Badge description.\n             */\n            description?: string;\n            /**\n             * Badge background color as a hexadecimal RGB color value.\n             *\n             * Defaults to `\"#796EFF\"` (purple).\n             */\n            backgroundColor?: string;\n            /**\n             * Badge text color as a hexadecimal RGB color value.\n             *\n             * Defaults to `\"#FFFFFF\"` (white).\n             */\n            textColor?: string;\n            /**\n             * Badge icon as an SVG image. One of:\n             *\n             *   - An external web URL in the following format: `http(s)://`.\n             *   - The [source URL](wix-media-backend.mediaManager.html#getFileUrl) for a Wix Media Manager file.\n             *     Wix Media Manager file names in a `wix:image://...` format are not supported.\n             */\n            icon?: string;\n        };\n        /**\n         * An object representing the badges associated with a member.\n         */\n        type MemberBadges = {\n            /**\n             * Member ID.\n             */\n            memberId: string;\n            /**\n             * List of badge IDs assigned to the member.\n             */\n            badgeIds: string[];\n        };\n    }\n    /**\n     * The CurrentMember API contains functionality for viewing and managing site members from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.CurrentMember.html#)\n     */\n    namespace CurrentMember {\n        type Role = {\n            /**\n             * Role ID.\n             */\n            _id: string;\n            /**\n             * Role name as defined in the site's\n             *  [Member Permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/roles)\n             *  page or one of `\"Admin\"` or `\"Member\"`.\n             */\n            title: string;\n            /**\n             * Role description, if defined in the site's dashboard.\n             */\n            description?: string;\n            /**\n             * Role color, as defined in the site's\n             * [Member Permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/roles)\n             * page.\n             *\n             * One of:\n             *\n             * - `\"DARK_BLUE\"`\n             * - `\"LIGHT_BLUE\"`\n             * - `\"TEAL\"`\n             * - `\"LIGHT_GREEN\"`\n             * - `\"YELLOW\"`\n             * - `\"ORANGE\"`\n             * - `\"RED\"`\n             * - `\"VIOLET\"`\n             * - `\"PURPLE\"`\n             */\n            color: string;\n            /**\n             * Date and time the role was created.\n             */\n            _createdDate?: Date;\n        };\n    }\n    /**\n     * Events that are triggered by actions on a site's members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * An object representing the site member that was created.\n         */\n        type CreatedMemberEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.EventMetadata;\n            /**\n             * Information about the created member.\n             */\n            entity: Members.Member;\n        };\n        /**\n         * An object representing the site member deletion event.\n         */\n        type DeletedMemberEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.EventMetadata;\n        };\n        /**\n         * Event metadata.\n         */\n        type EventMetadata = {\n            /**\n             * Event ID.\n             */\n            id: string;\n            /**\n             * Member ID associated with this event.\n             */\n            entityId: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime: string;\n            /**\n             * Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users.\n             */\n            triggeredByAnonymizeRequest?: boolean;\n        };\n        /**\n         * An object representing the site member whose information was updated.\n         */\n        type UpdatedMemberEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.EventMetadata;\n            /**\n             * Information about the updated member.\n             */\n            entity: Members.Member;\n        };\n    }\n    /**\n     * **Deprecated.**\n     * The Members API contains functionality for viewing and managing site members from backend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-backend.Members.html#)\n     */\n    namespace Members {\n        type Address = {\n            /**\n             * Street address ID.\n             */\n            _id?: string;\n            /**\n             * Street address object, with number and name in separate fields.\n             */\n            streetAddress?: Members.StreetAddress;\n            /**\n             * Main address line, usually street and number, as free text.\n             */\n            addressLine?: string;\n            /**\n             * Free text providing more detailed address information,\n             *  such as apartment, suite, or floor.\n             */\n            addressLine2?: string;\n            /**\n             * City name.\n             */\n            city?: string;\n            /**\n             * Code for a subdivision (such as state, prefecture, or province) in an\n             * [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n             */\n            subdivision?: string;\n            /**\n             * 2-letter country code in an\n             * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n             */\n            country?: string;\n            /**\n             * Postal code.\n             */\n            postalCode?: string;\n        };\n        type AddressInfo = {\n            /**\n             * Street address object, with number and name in separate fields.\n             */\n            streetAddress?: Members.StreetAddressInfo;\n            /**\n             * Main address line, usually street and number, as free text.\n             */\n            addressLine?: string;\n            /**\n             * Free text providing more detailed address information,\n             *  such as apartment, suite, or floor.\n             */\n            addressLine2?: string;\n            /**\n             * City name.\n             */\n            city?: string;\n            /**\n             * Code for a subdivision (such as state, prefecture, or province) in an\n             * [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n             */\n            subdivision?: string;\n            /**\n             * 2-letter country code in an\n             * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n             */\n            country?: string;\n            /**\n             * Postal code.\n             */\n            postalCode?: string;\n        };\n        /**\n         * Member's contact information. Contact information is stored in the\n         */\n        type ContactDetails = {\n            /**\n             * Contact's first name.\n             */\n            firstName?: string;\n            /**\n             * Contact's last name.\n             */\n            lastName?: string;\n            /**\n             * List of phone numbers.\n             */\n            phones: string[];\n            /**\n             * List of email addresses.\n             */\n            emails: string[];\n            /**\n             * List of street addresses.\n             */\n            addresses: Members.Address[];\n            /**\n             * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n             *\n             *  For example, `\"2025-03-15\"` for March 15, 2025.\n             */\n            birthdate?: string;\n            /**\n             * Contact's company name.\n             */\n            company?: string;\n            /**\n             * Contact's job title.\n             */\n            jobTitle?: string;\n            /**\n             * Custom fields,\n             * [structured as key:object pairs](wix-members-backend/introduction#data-structure).\n             * Custom field IDs are defined in the\n             * [Contacts Extended Fields API](wix-crm-backend/contacts).\n             * The paired object contains the `name` and `value` properties,\n             * where `name` is the display name and `value` is the value stored for the member.\n             *\n             * Only custom fields\n             * [added to the member profile in the Dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmembers-account)\n             * are available through the Members API.\n             * Empty fields are not returned.\n             *\n             * When updating a member, `name` is ignored.\n             */\n            customFields: object;\n        };\n        /**\n         * Member's contact information. Contact information is stored in the\n         * [Contact List](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n         *\n         *\n         */\n        type ContactInfo = {\n            /**\n             * Contact's first name.\n             */\n            firstName?: string;\n            /**\n             * Contact's last name.\n             */\n            lastName?: string;\n            /**\n             * List of phone numbers.\n             */\n            phones?: string[];\n            /**\n             * List of email addresses.\n             */\n            emails?: string[];\n            /**\n             * List of street addresses.\n             */\n            addresses?: Members.AddressInfo[];\n            /**\n             * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n             *\n             *  For example, `\"2025-03-15\"` for March 15, 2025.\n             */\n            birthdate?: string;\n            /**\n             * Contact's company name.\n             */\n            company?: string;\n            /**\n             * Contact's job title.\n             */\n            jobTitle?: string;\n            /**\n             * Custom fields,\n             * [structured as key:object pairs](wix-members-frontend/introduction#data-structure).\n             * Custom field IDs are defined in the\n             * [Contacts Extended Fields API](wix-crm-backend/contacts).\n             * The paired object contains the `name` and `value` properties,\n             * where `name` is the display name and `value` is the value stored for the member.\n             *\n             * Only custom fields\n             * [added to the member profile in the Dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmembers-account)\n             * are available through the Members API.\n             * Empty fields are not returned.\n             *\n             * When updating a member, `name` is ignored.\n             */\n            customFields?: any;\n        };\n        type FieldsetOptions = {\n            /**\n             * Predefined sets of fields to return.\n             * When multiple fieldsets are provided, the union of all the included fields is returned.\n             *\n             * Predefined fieldsets are one of:\n             *\n             * - `\"FULL\"`: Returns all fields.\n             * - `\"PUBLIC\"`: Returns `_id` and all fields under `profile`. With this fieldset, `profile.status`, `profile.privacyStatus`, and `profile.activityStatus` are returned as `\"UNKNOWN\"`.\n             *\n             * Defaults to `[ \"PUBLIC\" ]`.\n             */\n            fieldsets: string[];\n        };\n        /**\n         * Member's profile photo.\n         */\n        type Image = {\n            /**\n             * **Deprecated.** Wix Media image ID,\n             *  set when the member selects an image from Wix Media.\n             */\n            _id: string;\n            /**\n             * Image URL.\n             */\n            url: string;\n            /**\n             * Original image width.\n             */\n            height: number;\n            /**\n             * Original image height.\n             */\n            width: number;\n            /**\n             * X-axis offset.\n             *\n             *  Defaults to `0`.\n             */\n            offsetX: number;\n            /**\n             * Y-axis offset.\n             *\n             *  Defaults to `0`.\n             */\n            offsetY: number;\n        };\n        /**\n         * Updated member.\n         */\n        type Member = {\n            /**\n             * Member ID.\n             */\n            _id: string;\n            /**\n             * Email used by the member to log in to the site.\n             */\n            loginEmail?: string;\n            /**\n             * Member site access status.\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"PENDING\"`: Member created and is waiting for approval by site owner.\n             * - `\"APPROVED\"`: Member can log in to the site.\n             * - `\"OFFLINE\"`: Member is a [guest author](https://support.wix.com/en/article/wix-blog-adding-guest-authors-to-your-blog) for the site blog and cannot log in to the site.\n             * - `\"BLOCKED\"`: Member is blocked and cannot log in to the site.\n             * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n             *\n             */\n            status: string;\n            /**\n             * Contact ID.\n             */\n            contactId: string;\n            /**\n             * Member privacy status.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"PUBLIC\"`: Member is visible to everyone.\n             * - `\"PRIVATE\"`: Member is hidden from site visitors and other site members. Member is returned only to site contributors and apps with the appropriate permissions.\n             * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n             *\n             */\n            privacyStatus: string;\n            /**\n             * Member activity status.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"ACTIVE\"`: Member can write forum posts and blog comments.\n             * - `\"MUTED\"`: Member cannot write forum posts or blog comments.\n             * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n             *\n             */\n            activityStatus: string;\n            /**\n             * Date and time when the member was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time when the member was updated.\n             */\n            _updatedDate: Date;\n            /**\n             * Date and time when the member last logged in to the site.\n             */\n            lastLoginDate?: Date;\n            /**\n             * Member's contact information. Contact information is stored in the\n             * [Contact List](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n             *\n             *\n             */\n            contactDetails?: Members.ContactDetails;\n            /**\n             * Profile display info.\n             */\n            profile: Members.Profile;\n        };\n        /**\n         * Member details to update.\n         */\n        type MemberInfo = {\n            /**\n             * Member's contact information. Contact information is stored in the\n             * [Contact List](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n             *\n             *\n             */\n            contactDetails?: Members.ContactInfo;\n            /**\n             * Profile display info.\n             */\n            profile?: Members.ProfileInfo;\n        };\n        /**\n         * Profile display info.\n         */\n        type Profile = {\n            /**\n             * Name that identifies the member to other members.\n             * Displayed on the member's profile page\n             * and interactions in the forum or blog.\n             */\n            nickname: string;\n            /**\n             * Slug that determines the member's profile page URL.\n             */\n            slug: string;\n            /**\n             * Member's profile photo.\n             */\n            profilePhoto?: Members.Image;\n            /**\n             * Member's profile photo.\n             */\n            coverPhoto?: Members.Image;\n            /**\n             * Member title.\n             *\n             *\n             */\n            title?: string;\n        };\n        /**\n         * Member's profile photo.\n         */\n        type ProfileImageInfo = {\n            /**\n             * Wix Media image ID,\n             *  set when the member selects an image from Wix Media.\n             */\n            _id?: string;\n            /**\n             * Image URL.\n             */\n            url?: string;\n            /**\n             * Original image width.\n             */\n            height?: number;\n            /**\n             * Original image height.\n             */\n            width?: number;\n            /**\n             * X-axis offset.\n             *\n             *  Defaults to `0`.\n             */\n            offsetX?: number;\n            /**\n             * Y-axis offset.\n             *\n             *  Defaults to `0`.\n             */\n            offsetY?: number;\n        };\n        /**\n         * Profile display info.\n         */\n        type ProfileInfo = {\n            /**\n             * Name that identifies the member to other members.\n             * Displayed on the member's profile page\n             * and interactions in the forum or blog.\n             */\n            nickname?: string;\n            /**\n             * Member's profile photo.\n             */\n            profilePhoto?: Members.ProfileImageInfo;\n            /**\n             * Member's profile photo.\n             */\n            coverPhoto?: Members.ProfileImageInfo;\n            /**\n             * Member title.\n             *\n             *\n             */\n            title?: string;\n        };\n        /**\n         * Street address object, with number and name in separate fields.\n         */\n        type StreetAddress = {\n            /**\n             * Street number.\n             */\n            number: string;\n            /**\n             * Street name.\n             */\n            name: string;\n        };\n        /**\n         * Street address object, with number and name in separate fields.\n         */\n        type StreetAddressInfo = {\n            /**\n             * Street number.\n             */\n            number?: string;\n            /**\n             * Street name.\n             */\n            name?: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-paid-plans-backend.d.ts",
      "content": "/**\n * **Deprecated.**\n *  The wix-paid-plans-backend module will continue to work, but a newer version is available at [wix-pricing-plans-backend](https://www.wix.com/velo/reference/wix-pricing-plans-backend).\n * \t[Read more](https://www.wix.com/corvid/reference/wix-paid-plans-backend.html#)\n */\ndeclare module 'wix-paid-plans-backend' {\n    /**\n     * **Deprecated.**\n     *  The Wix paid plan events will continue to work, but a newer version is available at [wix-pricing-plans-backend](https://www.wix.com/velo/reference/wix-pricing-plans-backend/events).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-paid-plans-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * **Deprecated.**\n         *  This event will continue to work, but a newer version is available at [`wix-pricing-plans-backend.events.onPlanPurchased()`](wix-pricing-plans-backend/events/onplanpurchased).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-paid-plans-backend.Events.html#onPlanPurchased)\n         */\n        onPlanPurchased(event: Events.PlanPurchasedEvent): void;\n    }\n    /**\n     * **Deprecated.**\n     *  The Wix paid plan events will continue to work, but a newer version is available at [wix-pricing-plans-backend](https://www.wix.com/velo/reference/wix-pricing-plans-backend/events).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-paid-plans-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * An object representing a new pricing plan order (subscription).\n         */\n        type Order = {\n            /**\n             * Order ID of the purchase of the plan, auto-generated when an order is created.\n             */\n            id: string;\n            /**\n             * Status of the payment for the plan. Can be `PAID`, `REFUNDED`, `FAILED`, `UNPAID`, and `PAYMENT_STATUS_UNDEFINED`.\n             */\n            paymentStatus: string;\n            /**\n             * Date and time until which the plan is valid.\n             */\n            validUntil: Date;\n            /**\n             * Object containing the price of the plan.\n             */\n            price: Events.Price;\n            /**\n             * If the plan is cancelled, the reason why. One of:\n             *\n             *  + `OWNER_CANCELED`: The owner cancelled.\n             *  + `PAYMENT_PROVIDER_CANCELED`: The payment provider cancelled.\n             *  + `PAYMENT_FAILED`: The payment failed.\n             *  + `UOU_CANCELED`: The site member cancelled.\n             *  + `CANCELLATION_REASON_UNDEFINED`: The reason is undefined.\n             */\n            cancellationReason: string;\n            /**\n             * If the plan is cancelled, the cause of the cancellation. One of:\n             *\n             *  + `\"UNDEFINED\"`: Cancellation initiator undefined.\n             *  + `\"OWNER\"`: Order (subscription) was canceled by site owner.\n             *  + `\"MEMBER\"`: Order (subscription) was canceled by member.\n             *  + `\"PAYMENT_FAILURE\"`: Subscription was canceled because of payment failure.\n             *  + `\"SETUP_FAILURE\"`: Subscription was canceled because of payment setup failure.\n             */\n            cancellationInitiator: string;\n            /**\n             * Date and time from which the plan is valid.\n             */\n            validFrom: Date;\n            /**\n             * Name of the plan.\n             */\n            planName: string;\n            /**\n             * ID of the plan for Wix Pay. If plan is free, this ID is blank.\n             */\n            wixPayOrderId: string;\n            /**\n             * If the plan is recurring. If true, the price is deducted weekly, monthly, or yearly.\n             */\n            recurring: boolean;\n            /**\n             * Date and time the order was created.\n             */\n            dateCreated: Date;\n            /**\n             * Status of the order. Can be `ACTIVE`, `PENDING`, `CANCELED`, `EXPIRED`, `PENDING_CANCELLATION`, and `ORDER_STATUS_UNDEFINED`.\n             */\n            status: string;\n            /**\n             * Description of the plan.\n             */\n            planDescription: string;\n            /**\n             * ID for the member who purchased the plan.\n             */\n            memberId: string;\n            /**\n             * How the plan was purchased, either `ONLINE` pr `OFFLINE`.\n             */\n            orderType: string;\n            /**\n             * ID of the plan.\n             */\n            planId: string;\n            /**\n             * Object containing properties about how long the plan is valid.\n             */\n            validFor: Events.ValidFor;\n            /**\n             * How many trial days were given to the subscriber of the plan. Available only for orders whose plans are recurring, meaning plans whose pricing model is `subscription`.\n             */\n            freeTrialDays?: number;\n            /**\n             * Role assigned after purchasing the plan.\n             */\n            roleId: string;\n        };\n        /**\n         * An object representing the period for which a plan is valid.\n         */\n        type Period = {\n            /**\n             * The number of units until the plan expires.\n             */\n            amount: number;\n            /**\n             * Time period for billing the plan, such as `MONTH`.\n             */\n            unit: string;\n        };\n        /**\n         * An object representing a new pricing plan purchase.\n         */\n        type PlanPurchasedEvent = {\n            /**\n             * Object containing the details about the plan's order.\n             */\n            order: Events.Order;\n        };\n        /**\n         * An object representing the price of a purchased plan.\n         */\n        type Price = {\n            /**\n             * Payment currency. A three-letter\n             *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n             */\n            currency: string;\n            /**\n             * The cost of the plan.\n             */\n            amount: number;\n        };\n        /**\n         * An object representing how long a plan is valid.\n         */\n        type ValidFor = {\n            /**\n             * If true, the plan does not expire.\n             */\n            forever: boolean;\n            /**\n             * Object containing the period for which the plan is valid.\n             */\n            period: Events.Period;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-pay-backend.d.ts",
      "content": "/**\n * The wix-pay-backend module contains functionality for working with\n *  payments from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.html#)\n */\ndeclare module 'wix-pay-backend' {\n    /**\n     * Contains functionality for displaying prices in your store in different currencies, getting exchange rates, and converting between currencies.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.html#currencies)\n     */\n    const currencies: Currencies;\n    /**\n     * Creates a new payment.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.html#createPayment)\n     */\n    function createPayment(paymentInfo: PaymentInfo): Promise<Payment>;\n    /**\n     * An object representing a payment.\n     */\n    type Payment = {\n        /**\n         * Payment ID.\n         */\n        id: string;\n        /**\n         * Payment total amount.\n         */\n        amount: number;\n        /**\n         * Payment currency. A three-letter\n         *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n         */\n        currency: string;\n        /**\n         * Payment items.\n         */\n        items: PaymentItem[];\n        /**\n         * An object representing information about the user.\n         */\n        userInfo: PaymentUserInfo;\n    };\n    /**\n     * An object representing information for creating a payment.\n     */\n    type PaymentInfo = {\n        /**\n         * Total payment amount. Must equal\n         *  the sum of the `price` properties in the `items` list while taking the\n         *  `quantity` into account.\n         */\n        amount: number;\n        /**\n         * Payment currency. A three-letter\n         *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. Defaults to\n         *  the currency defined by the site's [Regional Settings](https://support.wix.com/en/article/changing-your-sites-regional-settings).\n         */\n        currency?: string;\n        /**\n         * List of payment items.\n         */\n        items: PaymentItem[];\n        /**\n         * An object representing information about the user. It will be used to prefill\n         *  the user info form during the payment process.\n         */\n        userInfo?: PaymentUserInfo;\n    };\n    /**\n     * An object representing a payment item.\n     */\n    type PaymentItem = {\n        /**\n         * Payment item name.\n         */\n        name: string;\n        /**\n         * Payment item price.\n         */\n        price: number;\n        /**\n         * Payment item quantity.\n         */\n        quantity?: number;\n    };\n    /**\n     * An object representing information about the user.\n     */\n    type PaymentUserInfo = {\n        /**\n         * User's first name. Value is `null` if\n         *  there is no first name information.\n         */\n        firstName: string;\n        /**\n         * User's last name. Value is `null` if\n         *  there is no last name information.\n         */\n        lastName: string;\n        /**\n         * User's phone number. Value is `null` if\n         *  there is no phone number information.\n         */\n        phone: string;\n        /**\n         * User's email address. Value is `null` if\n         *  there is no email address information.\n         */\n        email: string;\n        /**\n         * User's country code. A three-letter\n         *  [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code. Value\n         *  is `null` if there is no country information.\n         */\n        countryCode: string;\n    };\n    /**\n     * The Currencies API contains functionality for displaying prices in your store in different currencies, getting exchange rates, and converting between currencies.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.html#)\n     */\n    interface Currencies {\n        /**\n         * Gets conversion rates and converts amounts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.html#currencyConverter)\n         */\n        readonly currencyConverter: Currencies.CurrencyConverter;\n        /**\n         * Gets and sets currencies that you want to support on your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.html#siteSettings)\n         */\n        readonly siteSettings: Currencies.SiteSettings;\n        /**\n         * Gets the list of all currencies for which Wix supports conversion.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.html#getAllCurrencies)\n         */\n        getAllCurrencies(): Promise<Currencies.Currency[]>;\n    }\n    /**\n     * Events fired by payments created using the Pay API.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * An event that fires when a payment's transaction status is changed.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Events.html#onPaymentUpdate)\n         */\n        onPaymentUpdate(event: Events.PaymentUpdateEvent): void;\n    }\n    /**\n     * The Currencies API contains functionality for displaying prices in your store in different currencies, getting exchange rates, and converting between currencies.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.html#)\n     */\n    namespace Currencies {\n        /**\n         * An object representing a currency.\n         */\n        type Currency = {\n            /**\n             * A 3-letter\n             *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n             */\n            code: string;\n            /**\n             * A currency symbol.\n             */\n            symbol: string;\n        };\n        /**\n         * An object for retrieving conversion rates and converting amounts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.CurrencyConverter.html#)\n         */\n        interface CurrencyConverter {\n            /**\n             * Converts an array of one or more amounts from one currency to another.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.CurrencyConverter.html#convertAmounts)\n             */\n            convertAmounts(options: CurrencyConverter.ConvertAmountsOptions): Promise<CurrencyConverter.ConvertedAmounts>;\n            /**\n             * Gets a currency conversion rate.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.CurrencyConverter.html#getConversionRate)\n             */\n            getConversionRate(sourceCurrency: string, targetCurrency: string): Promise<CurrencyConverter.ConversionRate>;\n        }\n        /**\n         * Site-related currency settings.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.SiteSettings.html#)\n         */\n        interface SiteSettings {\n            /**\n             * Gets the list of supported currencies that you set for your site.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.SiteSettings.html#getCurrencies)\n             */\n            getCurrencies(): Promise<SiteSettings.CurrencyCode[]>;\n            /**\n             * Sets the list of currencies that the site will support.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.SiteSettings.html#setCurrencies)\n             */\n            setCurrencies(options: SiteSettings.CurrencyCode[]): Promise<void>;\n        }\n        /**\n         * An object for retrieving conversion rates and converting amounts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.CurrencyConverter.html#)\n         */\n        namespace CurrencyConverter {\n            /**\n             * An object representing a currency conversion rate.\n             */\n            type ConversionRate = {\n                /**\n                 * The conversion rate between the source and target currencies.\n                 */\n                rate: number;\n                /**\n                 * The date and time when the rate was set.\n                 */\n                timestamp: Date;\n            };\n            /**\n             * An object representing the currencies and amounts to be converted.\n             */\n            type ConvertAmountsOptions = {\n                /**\n                 * Amounts to convert.\n                 */\n                amounts: number[];\n                /**\n                 * Currency to convert from.  The `from` currency code used must exist in the array returned by the [`getAllCurrencies()`](wix-pay-backend/currencies/get-all-currencies) function.\n                 */\n                from: string;\n                /**\n                 * Currency to convert to. The `to` currency code used must exist in the array returned by the [`getAllCurrencies()`](wix-pay-backend.Currencies.html#getAllCurrencies) function.\n                 *\n                 * > **Note:** The `from` and `to` currency codes used must exist in the array returned by the [`getAllCurrencies()`](wix-pay-backend.Currencies.html#getAllCurrencies) function.\n                 */\n                to: string;\n            };\n            /**\n             * An object representing the results of a currency conversion.\n             */\n            type ConvertedAmounts = {\n                /**\n                 * Array of converted amounts.\n                 */\n                amounts: number[];\n                /**\n                 * The date and time when the currency exchange rate was set.\n                 */\n                timestamp: Date;\n            };\n        }\n        /**\n         * Site-related currency settings.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Currencies.SiteSettings.html#)\n         */\n        namespace SiteSettings {\n            /**\n             * An object representing an ISO currency code.\n             */\n            type CurrencyCode = {\n                /**\n                 * A 3-letter\n                 *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n                 */\n                code: string;\n            };\n        }\n    }\n    /**\n     * Events fired by payments created using the Pay API.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * An object representing a payment update.\n         */\n        type PaymentUpdateEvent = {\n            /**\n             * The payment's information.\n             */\n            payment: Payment;\n            /**\n             * Payment status.\n             *  One of:\n             *\n             *  + `\"Successful\"`\n             *  + `\"Pending\"`\n             *  + `\"Failed\"`\n             *  + `\"Chargeback\"`\n             *  + `\"Refunded\"`\n             *  + `\"Offline\"`\n             *  + `\"PartiallyRefunded\"`\n             *  + `\"Cancelled\"`\n             *  + `\"Undefined\"`\n             */\n            status: string;\n            /**\n             * ID of the [transaction](https://dev.wix.com/docs/rest/business-management/payments/cashier/payments/transaction/transaction-object) that caused this payment to update.\n             */\n            transactionId: string;\n            /**\n             * User information.\n             */\n            userInfo: PaymentUserInfo;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-payment-provider-backend.d.ts",
      "content": "/**\n * The wix-payment-provider-backend module contains functionality for reporting transaction and refund events processed by third-party payment providers.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-payment-provider-backend.html#)\n */\ndeclare module 'wix-payment-provider-backend' {\n    /**\n     * Updates the status of a transaction or refund.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-payment-provider-backend.html#submitEvent)\n     */\n    function submitEvent(submitEventRequest: SubmitEventRequest): Promise<void>;\n    type Event = {\n        /**\n         * Updated details of a transaction.\n         */\n        transaction?: TransactionDetails;\n        /**\n         * Updated details of a refund.\n         */\n        refund?: RefundDetails;\n    };\n    type RefundDetails = {\n        /**\n         * Wix transaction ID.\n         */\n        wixTransactionId?: string;\n        /**\n         * Payment provider refund ID.\n         */\n        pluginRefundId?: string;\n        /**\n         * Wix [reason code](/payment-provider-spi/reason-codes).\n         */\n        reasonCode?: number;\n        /**\n         * Refunded amount.\n         */\n        amount?: string;\n        /**\n         * Wix refund ID for refunds created through a site's dashboard.\n         */\n        wixRefundId?: string;\n        /**\n         * Payment provider error code.\n         */\n        errorCode?: string;\n        /**\n         * Detailed payment provider error description.\n         */\n        errorMessage?: string;\n    };\n    type SubmitEventRequest = {\n        /**\n         * The updated information about the transaction or refund.\n         */\n        event: Event;\n    };\n    /**\n     * Transaction event type.\n     */\n    type TransactionDetails = {\n        /**\n         * Wix transaction ID.\n         */\n        wixTransactionId?: string;\n        /**\n         * Payment Provider transaction ID.\n         */\n        pluginTransactionId?: string;\n        /**\n         * Wix [reason code](/payment-provider-spi/reason-codes).\n         */\n        reasonCode?: number;\n        /**\n         * Payment provider error code.\n         */\n        errorCode?: string;\n        /**\n         * Detailed payment provider error description.\n         */\n        errorMessage?: string;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-pricing-plans-backend.d.ts",
      "content": "/**\n * The wix-pricing-plans-backend module contains functionality for managing your\n *  site's pricing plans from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#)\n */\ndeclare module 'wix-pricing-plans-backend' {\n    /**\n     * The Pricing Plans Checkout API provides functionality for ordering and checking out pricing plan orders created in the Wix Pricing Plans app or using this Wix Pricing Plans API.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#checkout)\n     */\n    const checkout: Checkout;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#events)\n     */\n    const events: Events;\n    /**\n     * The Pricing Plan Orders API provides functionality for managing pricing plan orders created in the Wix Pricing Plans app or using this Wix Pricing Plans API.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#orders)\n     */\n    const orders: Orders;\n    /**\n     * Archives a single pricing plan.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#archivePlan)\n     */\n    function archivePlan(id: string): Promise<Plan>;\n    /**\n     * **Deprecated.** This function has been deprecated. Changes the display order of the pricing plans on the site page and in the Dashboard.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#arrangePlans)\n     */\n    function arrangePlans(ids: string[]): Promise<void>;\n    /**\n     * Sets all pricing plans as not primary.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#clearPrimary)\n     */\n    function clearPrimary(): Promise<void>;\n    /**\n     * Creates a pricing plan.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#createPlan)\n     */\n    function createPlan(planInfo: CreatePlanInfo): Promise<Plan>;\n    /**\n     * Gets an existing pricing plan by ID.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#getPlan)\n     */\n    function getPlan(id: string): Promise<Plan>;\n    /**\n     * Gets statistics about the pricing plans.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#getPlanStats)\n     */\n    function getPlanStats(): Promise<PlansStats>;\n    /**\n     * Lists public pricing plans.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#listPublicPlans)\n     */\n    function listPublicPlans(planIds?: string[], options?: ListPublicPlanOptions): Promise<PublicPlans[]>;\n    /**\n     * Marks a pricing plan as the primary pricing plan.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#makePlanPrimary)\n     */\n    function makePlanPrimary(id: string): Promise<Plan>;\n    /**\n     * Creates a query to retrieve a list of public pricing plans.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#queryPublicPlans)\n     */\n    function queryPublicPlans(): Promise<PublicPlansQueryBuilder>;\n    /**\n     * Sets visibility for non-archived pricing plans. Public plans are plans that are set to visible.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#setPlanVisibility)\n     */\n    function setPlanVisibility(id: string, visible: boolean): Promise<Plan>;\n    /**\n     * Updates a pricing plan.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.html#updatePlan)\n     */\n    function updatePlan(planInfo: UpdatePlanInfo): Promise<Plan>;\n    type CreatePlanInfo = {\n        /**\n         * Plan name.\n         */\n        name: string;\n        /**\n         * Plan price, payment schedule, and expiration.\n         */\n        pricing: PricingInfo;\n        /**\n         * Plan description.\n         */\n        description?: string;\n        /**\n         * List of text strings that promote the pricing plan (for example, \"Plenty of parking\" or \"Free gift on your birthday\").\n         */\n        perks?: string[];\n        /**\n         * Whether the plan is public (visible to site visitors). Defaults to `true`.\n         */\n        public?: boolean;\n        /**\n         * Whether the same buyer can purchase the plan multiple times. `1` means the buyer can only purchase the plan once. An empty value or `0` means no limitation. Defaults to empty.\n         */\n        maxPurchasesPerBuyer?: number;\n        /**\n         * Whether the buyer can start the plan at a later date. Defaults to `false`.\n         */\n        allowFutureStartDate?: boolean;\n        /**\n         * Whether the buyer is allowed to cancel their plan. Defaults to `true`.  If `true`, calling the [`cancelOrder()`](wix-paid-plans/cancelOrder) function returns an error.\n         */\n        buyerCanCancel?: boolean;\n        /**\n         * Any terms and conditions that apply to the plan. This information is displayed during checkout.\n         */\n        termsAndConditions?: string;\n    };\n    /**\n     * Length of one payment cycle, for example, 3 months to have quarterly payments.\n     */\n    type Duration = {\n        /**\n         * Number of days, months, weeks, or years.\n         */\n        count: number;\n        /**\n         * Days, months, weeks, or years.\n         * One of:\n         *  + `\"DAY\"`\n         *  + `\"WEEK\"`\n         *  + `\"MONTH\"`\n         *  + `\"YEAR\"`\n         */\n        unit: string;\n    };\n    /**\n     * Length of one payment cycle, for example, 3 months to have quarterly payments.\n     */\n    type DurationInfo = {\n        /**\n         * Number of days, months, weeks, or years.\n         */\n        count?: number;\n        /**\n         * Days, months, weeks, or years.\n         * One of:\n         *  + `\"DAY\"`\n         *  + `\"WEEK\"`\n         *  + `\"MONTH\"`\n         *  + `\"YEAR\"`\n         */\n        unit?: string;\n    };\n    type ListPublicPlanOptions = {\n        /**\n         * Number of public pricing plans to list. Defaults to 50.\n         */\n        limit?: number;\n        /**\n         * Number of public pricing plans to skip. Defaults to 0.\n         */\n        skip?: number;\n    };\n    /**\n     * Amount for a single payment. For subscriptions, this is the amount to pay for each single payment cycle and it is required. Otherwise, the single payment for the entire plan.\n     */\n    type Money = {\n        /**\n         * Monetary amount. Decimal string with a period as a decimal separator (for example, 3.99). Cannot be negative.\n         */\n        value: string;\n        /**\n         * Currency code. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code (for example, USD).\n         */\n        currency: string;\n    };\n    /**\n     * Amount for a single payment. For subscriptions, this is the amount to pay for each single payment cycle and it is required. Otherwise, the single payment for the entire plan.\n     */\n    type MoneyInfo = {\n        /**\n         * Monetary amount. Decimal string with a period as a decimal separator (for example, 3.99). Cannot be negative.\n         */\n        value?: string;\n        /**\n         * Currency code. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code (for example, USD).\n         */\n        currency?: string;\n    };\n    type Options = {\n        /**\n         * Whether to suppress permission checks from running for the operation.\n         *\n         * Default: `false`\n         */\n        suppressAuth?: boolean;\n    };\n    /**\n     * A text string promoting the pricing plan (for example, \"Plenty of parking\" or \"Free gift on your birthday\").\n     */\n    type Perk = {\n        /**\n         * Text listing one perk of this plan.\n         */\n        value: string;\n    };\n    /**\n     * List of text strings that promote the pricing plan (for example, \"Plenty of parking\" or \"Free gift on your birthday\").\n     */\n    type Perks = {\n        /**\n         * A list of strings promoting the pricing plan.\n         */\n        value?: Perk[];\n    };\n    type Plan = {\n        /**\n         * Plan ID.\n         */\n        _id: string;\n        /**\n         * Plan name.\n         */\n        name: string;\n        /**\n         * Plan description.\n         */\n        description: string;\n        /**\n         * List of text strings that promote the pricing plan (for example, \"Plenty of parking\" or \"Free gift on your birthday\").\n         */\n        perks: string[];\n        /**\n         * Plan price, payment schedule, and expiration.\n         */\n        pricing: Pricing;\n        /**\n         * Whether the plan is public (visible to site visitors).\n         */\n        public: boolean;\n        /**\n         * Whether the plan is archived. Archived plans are not visible and can't be purchased anymore, but existing purchases remain in effect.\n         */\n        archived: boolean;\n        /**\n         * Whether the plan is marked as primary. If `true`, the plan is highlighted on the site with a custom ribbon. Defaults to `false`.\n         */\n        primary: boolean;\n        /**\n         * Whether the plan has any orders (including pending and unpaid orders).\n         */\n        hasOrders: boolean;\n        /**\n         * Date plan was created.\n         */\n        _createdDate: Date;\n        /**\n         * Date plan was last updated.\n         */\n        _updatedDate: Date;\n        /**\n         * URL-friendly version of the plan name. Unique across all plans in the same site.\n         */\n        slug: string;\n        /**\n         * Whether the buyer can start the plan at a later date.\n         */\n        allowFutureStartDate: boolean;\n        /**\n         * Whether the buyer is allowed to cancel their plan. If `false`, calling the [`cancelOrder()`](wix-paid-plans/cancelOrder) function returns an error.\n         */\n        buyerCanCancel: boolean;\n        /**\n         * Whether the same buyer can purchase the plan multiple times. `1` means the buyer can only purchase the plan once. An empty value or `0` means no limitation.\n         */\n        maxPurchasesPerBuyer?: number;\n        /**\n         * Any terms and conditions that apply to the plan. This information is displayed during checkout.\n         */\n        termsAndConditions?: string;\n    };\n    type Plans = {\n        /**\n         * List of public and hidden pricing plans.\n         */\n        plans: Plan[];\n    };\n    type PlansStats = {\n        /**\n         * Total number of plans created, including active plans (both public and hidden) and archived plans.\n         */\n        total: number;\n    };\n    /**\n     * Pricing plan's pricing details, such as the plan price, payment schedule, and expiration. The payment schedule and expiration are based on one of three [pricing models](wix-pricing-plans-backend/introduction): `subscription`, `singlePaymentForDuration`, or `singlePaymentUnlimited`. Only one pricing model can be specified per plan.\n     */\n    type Pricing = {\n        /**\n         * Pricing model indicating that the plan has recurring payments. This type of subscription is not a \"Wix subscription,\" which encompasses various types of subscriptions, such as Wix Stores subscriptions, Wix invoice subscriptions, and *all* pricing plan models.\n         */\n        subscription?: Recurrence;\n        /**\n         * Pricing model indicating that the plan is paid with a single payment per cycle and what the length of the cycle is. The cycle is the duration of the plan, not a payment cycle.\n         */\n        singlePaymentForDuration?: Duration;\n        /**\n         * Pricing model indicating that the plan is paid in one single payment and that the plan is valid until canceled.\n         */\n        singlePaymentUnlimited?: boolean;\n        /**\n         * Amount for a single payment. For subscriptions, this is the amount to pay for each single payment cycle and it is required. Otherwise, the single payment for the entire plan.\n         */\n        price: Money;\n        /**\n         * Free trial period for the plan in days. Available only for recurring plans, meaning plans whose pricing model is `subscription`.\n         */\n        freeTrialDays?: number;\n    };\n    /**\n     * Pricing plan's pricing details, such as the plan price, payment schedule, and expiration. The payment schedule and expiration are based on one of three [pricing models](wix-pricing-plans-backend/introduction): `subscription`, `singlePaymentForDuration`, or `singlePaymentUnlimited`.\n     */\n    type PricingInfo = {\n        /**\n         * Pricing model indicating that the plan has recurring payments.\n         */\n        subscription?: Recurrence;\n        /**\n         * Pricing model indicating that the plan is paid with a single payment per cycle and what the Length of the cycle is. The cycle is the duration of the plan, not a payment cycle.\n         */\n        singlePaymentForDuration?: Duration;\n        /**\n         * Pricing model indicating that the plan is paid in one single payment and that the plan is valid until canceled.\n         */\n        singlePaymentUnlimited?: boolean;\n        /**\n         * Amount for a single payment. For subscriptions, this is the amount to pay for each single payment cycle and it is required. Otherwise, the single payment for the entire plan.\n         */\n        price?: MoneyInfo;\n        /**\n         * Free trial period for the plan in days. Available only for recurring plans, meaning plans whose pricing model is `subscription`.\n         */\n        freeTrialDays?: number;\n    };\n    /**\n     * Public pricing plan entity containing information about the pricing plan. Can be read by any site member or visitor.\n     */\n    type PublicPlan = {\n        /**\n         * Plan ID.\n         */\n        _id: string;\n        /**\n         * Plan name.\n         */\n        name: string;\n        /**\n         * Plan description.\n         */\n        description: string;\n        /**\n         * List of text strings that promote the pricing plan (for example, \"Plenty of parking\" or \"Free gift on your birthday\").\n         */\n        perks: string[];\n        /**\n         * Plan price, payment schedule, and expiration.\n         */\n        pricing: Pricing;\n        /**\n         * Whether the plan is marked as primary. If `true`, the plan is highlighted on the site with a custom ribbon. Defaults to `false`.\n         */\n        primary: boolean;\n        /**\n         * Date plan was created.\n         */\n        _createdDate: Date;\n        /**\n         * Date plan was last updated.\n         */\n        _updatedDate: Date;\n        /**\n         * URL-friendly version of the plan name. Unique across all plans in the same site.\n         */\n        slug: string;\n        /**\n         * Whether the buyer can start the plan at a later date. Defaults to `false`.\n         */\n        allowFutureStartDate: boolean;\n        /**\n         * Whether the buyer is allowed to cancel their plan. Defaults to `false`. If `false`, calling the [`cancelOrder()`](wix-paid-plans/cancelOrder) function returns an error.\n         */\n        buyerCanCancel: boolean;\n        /**\n         * Whether the same buyer can purchase the plan multiple times. `1` means the buyer can only purchase the plan once. An empty value or `0` means no limitation. Defaults to empty.\n         */\n        maxPurchasesPerBuyer?: number;\n        /**\n         * Any terms and conditions that apply to the plan. This information is displayed during checkout.\n         */\n        termsAndConditions?: string;\n    };\n    type PublicPlans = {\n        /**\n         * List of public pricing plans.\n         */\n        publicPlans: PublicPlan[];\n    };\n    /**\n     * The pricing plan has recurring payments.\n     */\n    type Recurrence = {\n        /**\n         * Length of one payment cycle, for example, 1 month to have monthly payments. Multiply `cycleDuration`'s `count` by `cycleCount` to get the subscription duration. *Currently, only a value of `1` is supported.*\n         */\n        cycleDuration: Duration;\n        /**\n         * Number of cycles. Zero for unlimited plans and plans that are valid until canceled.\n         */\n        cycleCount: number;\n    };\n    /**\n     * The pricing plan has recurring payments.\n     */\n    type RecurrenceInfo = {\n        /**\n         * Length of one payment cycle, for example, 1 month to have monthly payments. Multiply `cycleDuration`'s `count` by `cycleCount` to get the subscription duration. *Currently, only a value of `1` is supported.*\n         */\n        cycleDuration?: DurationInfo;\n        /**\n         * Number of cycles. Zero for unlimited plans and plans that are valid until canceled.\n         */\n        cycleCount?: number;\n    };\n    type UpdatePlanInfo = {\n        /**\n         * Plan ID.\n         */\n        _id: string;\n        /**\n         * Plan name.\n         */\n        name?: string;\n        /**\n         * Plan description.\n         */\n        description?: string;\n        /**\n         * List of text strings that promote the pricing plan (for example, \"Plenty of parking\" or \"Free gift on your birthday\").\n         */\n        perks?: string[];\n        /**\n         * Plan price, payment schedule, and expiration.\n         */\n        pricing?: PricingInfo;\n        /**\n         * Whether the plan is public (visible to site visitors).\n         */\n        public?: boolean;\n        /**\n         * Whether the same buyer can purchase the plan multiple times. `1` means the buyer can only purchase the plan once. An empty value or `0` means no limitation. Defaults to empty.\n         */\n        maxPurchasesPerBuyer?: number;\n        /**\n         * Whether the buyer can start the plan at a later date.\n         */\n        allowFutureStartDate?: boolean;\n        /**\n         * Whether the buyer is allowed to cancel their plan. If `false`, calling the [`cancelOrder()`](wix-paid-plans/cancelOrder) function returns an error.\n         */\n        buyerCanCancel?: boolean;\n        /**\n         * Any terms and conditions that apply to the plan. This information is displayed during checkout.\n         */\n        termsAndConditions?: string;\n    };\n    /**\n     * The Pricing Plans Checkout API contains functionality for ordering and checking out\n     *  your site's pricing plan [orders](https://support.wix.com/en/article/pricing-plans-an-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Checkout.html#)\n     */\n    interface Checkout {\n        /**\n         * Applies a coupon to a draft order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Checkout.html#applyCoupon)\n         */\n        applyCoupon(orderId: string, couponCode: string): Promise<Checkout.ApplyCoupon>;\n        /**\n         * Change the start date of a draft order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Checkout.html#changeStartDate)\n         */\n        changeStartDate(orderId: string, startDate: Date): Promise<Orders.Order>;\n        /**\n         * Creates an order for a buyer who purchased the plan with an offline transaction.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Checkout.html#createOfflineOrder)\n         */\n        createOfflineOrder(planId: string, buyerId: string, options?: Checkout.CreateOfflineOrderOptions): Promise<Orders.Order>;\n        /**\n         * Creates an order online for currently logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Checkout.html#createOnlineOrder)\n         */\n        createOnlineOrder(planId: string, startDate?: Date, couponCode?: string): Promise<Orders.Order>;\n        /**\n         * Provides a preview of an offline order as if it was purchased.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Checkout.html#previewOfflineOrder)\n         */\n        previewOfflineOrder(planId: string, buyerId: string, options?: Checkout.PreviewOfflineOrderOptions): Promise<Checkout.OrderPreview>;\n        /**\n         * Provides a preview of an online order as if it was purchased.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Checkout.html#previewOnlineOrder)\n         */\n        previewOnlineOrder(planId: string, options?: Checkout.PreviewOnlineOrderOptions): Promise<Checkout.OrderPreview>;\n        /**\n         * Provides a preview of an order's pricing as if was purchased.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Checkout.html#previewPrice)\n         */\n        previewPrice(planId: string, couponCode?: string): Promise<Checkout.PricePreview>;\n    }\n    /**\n     * Events fired by pricing plans.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * An event that triggers when an order is canceled with `effectiveAt` as `NEXT_PAYMENT_DATE`.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderAutoRenewCanceled)\n         */\n        onOrderAutoRenewCanceled(event: Events.OrderAutoRenewCanceledEvent): void;\n        /**\n         * An event that triggers when an order is canceled.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderCanceled)\n         */\n        onOrderCanceled(event: Events.OrderCanceledEvent): void;\n        /**\n         * An event that triggers when an order is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderCreated)\n         */\n        onOrderCreated(event: Events.OrderCreatedEvent): void;\n        /**\n         * An event that triggers at the start of each payment cycle for online orders.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderCycleStarted)\n         */\n        onOrderCycleStarted(event: Events.OrderCycleStartedEvent): void;\n        /**\n         * An event that triggers when the `endDate` of an order is postponed or made earlier.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderEndDatePostponed)\n         */\n        onOrderEndDatePostponed(event: Events.OrderEndDatePostponedEvent): void;\n        /**\n         * An event that triggers when an order expires or is canceled immediately.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderEnded)\n         */\n        onOrderEnded(event: Events.OrderEndedEvent): void;\n        /**\n         * An event that triggers when an offline order is marked as paid.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderMarkedAsPaid)\n         */\n        onOrderMarkedAsPaid(event: Events.OrderMarkedAsPaidEvent): void;\n        /**\n         * An event that triggers when an order is paused.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderPaused)\n         */\n        onOrderPaused(event: Events.OrderPausedEvent): void;\n        /**\n         * An event that triggers when an order is purchased.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderPurchased)\n         */\n        onOrderPurchased(event: Events.OrderPurchasedEvent): void;\n        /**\n         * An event that triggers when an order resumes.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderResumed)\n         */\n        onOrderResumed(event: Events.OrderResumedEvent): void;\n        /**\n         * An event that triggers when the start date of an order is changed.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderStartDateChanged)\n         */\n        onOrderStartDateChanged(event: Events.OrderStartDateChangedEvent): void;\n        /**\n         * An event that triggers when the start date of a purchased or free order is reached.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderStarted)\n         */\n        onOrderStarted(event: Events.OrderUpdatedEvent): void;\n        /**\n         * An event that triggers when an order is changed.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onOrderUpdated)\n         */\n        onOrderUpdated(event: Events.OrderUpdatedEvent): void;\n        /**\n         * An event that triggers when a pricing plan is archived.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onPlanArchived)\n         */\n        onPlanArchived(event: Events.PlanArchivedEvent): void;\n        /**\n         * An event that triggers when a pricing plan is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onPlanCreated)\n         */\n        onPlanCreated(event: Events.PlanCreatedEvent): void;\n        /**\n         * An event that triggers when a member purchases a plan.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onPlanPurchased)\n         */\n        onPlanPurchased(event: Events.PlanPurchasedEvent): void;\n        /**\n         * An event that triggers when a pricing plan is changed.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#onPlanUpdated)\n         */\n        onPlanUpdated(event: Events.PlanUpdatedEvent): void;\n    }\n    /**\n     * The Pricing Plans Orders API contains functionality for managing\n     *  your site's pricing plan [orders](https://support.wix.com/en/article/pricing-plans-an-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#)\n     */\n    interface Orders {\n        /**\n         * Cancels an existing order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#cancelOrder)\n         */\n        cancelOrder(orderId: string, effectiveAt: string, options?: Options): Promise<void>;\n        /**\n         * Gets an order for the currently logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#getCurrentMemberOrder)\n         */\n        getCurrentMemberOrder(orderId: string): Promise<Orders.Order>;\n        /**\n         * Gets an existing pricing plan order by ID.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#getOrder)\n         */\n        getOrder(orderId: string, options?: Options): Promise<Orders.Order>;\n        /**\n         * Lists orders for the currently logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#listCurrentMemberOrders)\n         */\n        listCurrentMemberOrders(filters?: Orders.CurrentMemberFilterOptions, sorting?: Orders.SortingOptions, paging?: Orders.PaginationOptions): Promise<Orders.Order[]>;\n        /**\n         * Lists pricing plan orders.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#listOrders)\n         */\n        listOrders(filters?: Orders.FilterOptions, sorting?: Orders.SortingOptions, paging?: Orders.PaginationOptions, options?: Options): Promise<Orders.Order[]>;\n        /**\n         * Marks an offline pricing plan order as paid.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#markAsPaid)\n         */\n        markAsPaid(orderId: string, options?: Options): Promise<void>;\n        /**\n         * Pauses a pricing plans order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#pauseOrder)\n         */\n        pauseOrder(orderId: string, options?: Options): Promise<void>;\n        /**\n         * Extends the duration of a pricing plan order by postponing the order's `endDate`.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#postponeEndDate)\n         */\n        postponeEndDate(orderId: string, endDate: Date, options?: Options): Promise<void>;\n        /**\n         * Starts the process of cancelling the logged-in member's pricing plan order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#requestCurrentMemberOrderCancellation)\n         */\n        requestCurrentMemberOrderCancellation(orderId: string, effectiveAt: string): Promise<void>;\n        /**\n         * Resumes a paused pricing plan order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#resumeOrder)\n         */\n        resumeOrder(orderId: string, options?: Options): Promise<void>;\n    }\n    /**\n     * Contains functionality for refining a public pricing plan query.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#)\n     */\n    interface PublicPlansQueryBuilder {\n        /**\n         * Adds an `and` condition to the query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#and)\n         */\n        and(query: PublicPlansQueryBuilder): PublicPlansQueryBuilder;\n        /**\n         * Adds a sort to a query, sorting by the specified properties in ascending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#ascending)\n         */\n        ascending(...propertyName: string[]): PublicPlansQueryBuilder;\n        /**\n         * Refines a query to match items whose specified property value is within a specified range.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#between)\n         */\n        between(propertyName: string, rangeStart: string | number | Date, rangeEnd: string | number | Date): PublicPlansQueryBuilder;\n        /**\n         * Refines a query to match items whose specified property value contains a specified string.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#contains)\n         */\n        contains(propertyName: string, string: string): PublicPlansQueryBuilder;\n        /**\n         * Adds a sort to a query or sort, sorting by the specified properties in descending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#descending)\n         */\n        descending(...propertyName: string[]): PublicPlansQueryBuilder;\n        /**\n         * Refines a query to match items whose specified property value ends with a specified string.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#endsWith)\n         */\n        endsWith(propertyName: string, string: string): PublicPlansQueryBuilder;\n        /**\n         * Refines a query to match items whose specified property value equals the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#eq)\n         */\n        eq(propertyName: string, value: any): PublicPlansQueryBuilder;\n        /**\n         * Returns the items that match the query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#find)\n         */\n        find(): Promise<PublicPlansQueryResult>;\n        /**\n         * Refines a query to match items whose specified property value is greater than or equal to the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#ge)\n         */\n        ge(propertyName: string, value: string | number | Date): PublicPlansQueryBuilder;\n        /**\n         * Refines a query to match items whose specified property value is greater than the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#gt)\n         */\n        gt(propertyName: string, value: string | number | Date): PublicPlansQueryBuilder;\n        /**\n         * Refines a query to match items whose specified property contains any of the specified `value` parameters.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#hasSome)\n         */\n        hasSome(propertyName: string, values: string[]): PublicPlansQueryBuilder;\n        /**\n         * Refines a query to match items whose specified property value is less than or equal to the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#le)\n         */\n        le(propertyName: string, value: string | number | Date): PublicPlansQueryBuilder;\n        /**\n         * Limits the number of items the query returns.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#limit)\n         */\n        limit(limit: number): PublicPlansQueryBuilder;\n        /**\n         * Refines a query to match items whose specified property value is less than the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#lt)\n         */\n        lt(propertyName: string, value: string | number | Date): PublicPlansQueryBuilder;\n        /**\n         * Refines a query to match items whose specified property value does not equal the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#ne)\n         */\n        ne(propertyName: string, value: any): PublicPlansQueryBuilder;\n        /**\n         * Adds a `not` condition to the query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#not)\n         */\n        not(query: PublicPlansQueryBuilder): PublicPlansQueryBuilder;\n        /**\n         * Adds an `or` condition to the query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#or)\n         */\n        or(query: PublicPlansQueryBuilder): PublicPlansQueryBuilder;\n        /**\n         * Sets the number of items to skip before returning query results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#skip)\n         */\n        skip(skip: number): PublicPlansQueryBuilder;\n        /**\n         * Refines a query to match items whose specified property value starts with a specified string.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryBuilder.html#startsWith)\n         */\n        startsWith(propertyName: string, string: string): PublicPlansQueryBuilder;\n    }\n    /**\n     * The results of a public pricing plans query, containing the retrieved items.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#)\n     */\n    interface PublicPlansQueryResult {\n        /**\n         * Returns the index of the current results page number.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#currentPage)\n         */\n        readonly currentPage: number;\n        /**\n         * Returns the items that match the query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#items)\n         */\n        readonly items: PublicPlansQueryResult.Item[];\n        /**\n         * Returns the number of items in the current results page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#length)\n         */\n        readonly length: number;\n        /**\n         * Returns the query page size.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#pageSize)\n         */\n        readonly pageSize: number;\n        /**\n         * Returns the query used to get the current results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#query)\n         */\n        readonly query: PublicPlansQueryBuilder;\n        /**\n         * Returns the total number of items that match the query.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#totalCount)\n         */\n        readonly totalCount: number;\n        /**\n         * Returns the total number of pages the query produced.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#totalPages)\n         */\n        readonly totalPages: number;\n        /**\n         * Indicates if the query has more results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#hasNext)\n         */\n        hasNext(): boolean;\n        /**\n         * Indicates the query has previous results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#hasPrev)\n         */\n        hasPrev(): boolean;\n        /**\n         * Retrieves the next page of query results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#next)\n         */\n        next(): Promise<PublicPlansQueryResult>;\n        /**\n         * Retrieves the previous page of query results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#prev)\n         */\n        prev(): Promise<PublicPlansQueryResult>;\n    }\n    /**\n     * The Pricing Plans Checkout API contains functionality for ordering and checking out\n     *  your site's pricing plan [orders](https://support.wix.com/en/article/pricing-plans-an-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Checkout.html#)\n     */\n    namespace Checkout {\n        type ApplyCoupon = {\n            /**\n             * The order with the coupon applied.\n             */\n            order?: Orders.Order;\n        };\n        type CreateOfflineOrderOptions = {\n            /**\n             * Start date and time for the ordered plan.\n             *\n             * Default: Current date and time\n             */\n            startDate?: Date;\n            /**\n             * Whether the order is paid.\n             *\n             * Default: `false`\n             */\n            paid?: boolean;\n            /**\n             * Whether to suppress permission checks from running for the operation.\n             *\n             * Default: `false`\n             */\n            suppressAuth?: boolean;\n            /**\n             * Coupon code to apply.\n             *\n             * To learn more about coupons, see [applyCoupon()](wix-pricing-plans-backend/checkout/apply-coupon).\n             */\n            couponCode?: string;\n        };\n        type OrderPreview = {\n            /**\n             * The preview, as if the plan had been ordered.\n             */\n            order?: Orders.Order;\n            /**\n             * Whether this previewed order would exceed the permitted amount of purchases\n             * available for this plan for this buyer.\n             *\n             * Always `false` for plans that do not have purchase limits.\n             */\n            purchaseLimitExceeded: boolean;\n        };\n        type PreviewOfflineOrderOptions = {\n            /**\n             * Date from which the plan is active. Defaults to the current date.\n             */\n            startDate?: Date;\n            /**\n             * When `true`, prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth?: boolean;\n            /**\n             * Coupon code to apply.\n             *\n             * To learn more about coupons, see [applyCoupon()](checkout/apply-coupon).\n             */\n            couponCode?: string;\n        };\n        type PreviewOnlineOrderOptions = {\n            /**\n             * Date from which the plan is active. Defaults to the current date.\n             */\n            startDate?: Date;\n            /**\n             * Coupon code to apply.\n             *\n             * To learn more about coupons, see [applyCoupon()](wix-pricing-plans-backend/checkout/apply-coupon).\n             */\n            couponCode?: string;\n        };\n        type PricePreview = {\n            /**\n             * **Deprecated.** Use `prices` instead.\n             */\n            price: Orders.PriceDetails;\n            /**\n             * Pricing details.\n             */\n            prices: Orders.Prices;\n        };\n    }\n    /**\n     * Events fired by pricing plans.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * Event data.\n         */\n        type EventData = {\n            /**\n             * Plan information.\n             */\n            plan: Plan;\n        };\n        /**\n         * Event metadata.\n         */\n        type EventMetadata = {\n            /**\n             * Event ID.\n             */\n            id: string;\n            /**\n             * Plan ID associated with this event.\n             */\n            entityId: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime: string;\n            /**\n             * Whether the event is triggered as a result of a privacy regulation application. For example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions). For advanced users.\n             */\n            triggeredByAnonymizeRequest?: boolean;\n        };\n        /**\n         * An object representing a new pricing plan order (subscription).\n         */\n        type Order = {\n            /**\n             * Order ID of the purchase of the plan, auto-generated when an order is created.\n             */\n            id: string;\n            /**\n             * Status of the payment for the plan. Can be `PAID`, `REFUNDED`, `FAILED`, `UNPAID`, and `PAYMENT_STATUS_UNDEFINED`.\n             */\n            paymentStatus: string;\n            /**\n             * Date and time until which the plan is valid.\n             */\n            validUntil: Date;\n            /**\n             * Object containing the price of the plan.\n             */\n            price: Events.Price;\n            /**\n             * If the plan is canceled, the reason why. One of:\n             *\n             *  + `OWNER_CANCELED`: The owner canceled.\n             *  + `PAYMENT_PROVIDER_CANCELED`: The payment provider canceled.\n             *  + `PAYMENT_FAILED`: The payment failed.\n             *  + `UOU_CANCELED`: The site member canceled.\n             *  + `CANCELLATION_REASON_UNDEFINED`: The reason is undefined.\n             */\n            cancellationReason: string;\n            /**\n             * If the plan is cancelled, the cause of the cancellation. One of:\n             *\n             *  + `\"UNDEFINED\"`: Cancellation initiator undefined.\n             *  + `\"OWNER\"`: Site owner canceled the order.\n             *  + `\"MEMBER\"`: Buyer initiated the cancellation.\n             *  + `\"PAYMENT_FAILURE\"`: Payment transaction failed.\n             *  + `\"SETUP_FAILURE\"`: Buyer's payment details weren't set up correctly.\n             */\n            cancellationInitiator: string;\n            /**\n             * Date and time from which the plan is valid.\n             */\n            validFrom: Date;\n            /**\n             * Name of the plan.\n             */\n            planName: string;\n            /**\n             * ID of the plan for Wix Pay. If plan is free, this ID is blank.\n             */\n            wixPayOrderId: string;\n            /**\n             * If the plan is recurring. If true, the price is deducted weekly, monthly, or yearly.\n             */\n            recurring: boolean;\n            /**\n             * Date and time the order was created.\n             */\n            dateCreated: Date;\n            /**\n             * Status of the order. Can be `ACTIVE`, `PENDING`, `CANCELED`, `EXPIRED`, `PENDING_CANCELLATION`, and `ORDER_STATUS_UNDEFINED`.\n             */\n            status: string;\n            /**\n             * Description of the plan.\n             */\n            planDescription: string;\n            /**\n             * ID for the member who ordered the plan.\n             */\n            memberId: string;\n            /**\n             * How the plan was ordered, either `ONLINE` or `OFFLINE`.\n             */\n            orderType: string;\n            /**\n             * ID of the plan.\n             */\n            planId: string;\n            /**\n             * Object containing properties about how long the plan is valid.\n             */\n            validFor: Events.ValidFor;\n            /**\n             * How many trial days were given to the subscriber of the plan. Available only for orders whose plans are recurring, meaning plans whose pricing model is `subscription`.\n             */\n            freeTrialDays?: number;\n            /**\n             * Role assigned after ordering the plan.\n             */\n            roleId: string;\n        };\n        /**\n         * Information about the event fired when the order auto-renewal is canceled.\n         */\n        type OrderAutoRenewCanceledEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Data about the order.\n             */\n            data: Events.OrderEventData;\n        };\n        /**\n         * Information about the order cancellation event.\n         */\n        type OrderCanceledEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Data about the order.\n             */\n            data: Events.OrderEventData;\n        };\n        /**\n         * Information about the order's creation event.\n         */\n        type OrderCreatedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Order information.\n             */\n            entity: Orders.Order;\n        };\n        /**\n         * Information about the event fired when the order's payment cycle is triggered. This means the next payment date has arrived.\n         */\n        type OrderCycleStartedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Data about the order.\n             */\n            data: Events.OrderCycleStartedEventData;\n        };\n        /**\n         * Event data.\n         */\n        type OrderCycleStartedEventData = {\n            /**\n             * Order information.\n             */\n            order: Orders.Order;\n            /**\n             * Number of the payment cycle. Zero for unlimited plan orders and orders whose plans are valid until canceled.\n             */\n            cycleNumber: number;\n        };\n        /**\n         * Information about the order postponed event.\n         */\n        type OrderEndDatePostponedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Data about the order.\n             */\n            data: Events.OrderEventData;\n        };\n        /**\n         * Information about the order end event.\n         */\n        type OrderEndedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Data about the order.\n             */\n            data: Events.OrderEventData;\n        };\n        /**\n         * Event data.\n         */\n        type OrderEventData = {\n            /**\n             * Order information.\n             */\n            order: Orders.Order;\n        };\n        /**\n         * Event metadata.\n         */\n        type OrderEventMetadata = {\n            /**\n             * Event ID.\n             */\n            id: string;\n            /**\n             * Order ID associated with this event.\n             */\n            entityId: string;\n            /**\n             * Event timestamp.\n             */\n            eventTime: string;\n            /**\n             * Whether the event is triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users.\n             */\n            triggeredByAnonymizeRequest?: boolean;\n        };\n        /**\n         * Information about the offline order \"marked as paid\" event.\n         */\n        type OrderMarkedAsPaidEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Data about the order.\n             */\n            data: Events.OrderEventData;\n        };\n        /**\n         * Information about the order pause event.\n         */\n        type OrderPausedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Data about the order.\n             */\n            data: Events.OrderEventData;\n        };\n        /**\n         * Information about the order purchase event.\n         */\n        type OrderPurchasedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Data about the order.\n             */\n            data: Events.OrderEventData;\n        };\n        /**\n         * Information about the order resumption event.\n         */\n        type OrderResumedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Data about the order.\n             */\n            data: Events.OrderEventData;\n        };\n        /**\n         * Information about the order's start date change event.\n         */\n        type OrderStartDateChangedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Data about the order.\n             */\n            data: Events.OrderEventData;\n        };\n        /**\n         * Information about the order update event.\n         */\n        type OrderUpdatedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.OrderEventMetadata;\n            /**\n             * Order information.\n             */\n            entity: Orders.Order;\n        };\n        /**\n         * An object representing the period for which a plan is valid.\n         */\n        type Period = {\n            /**\n             * The number of units until the plan expires.\n             */\n            amount: number;\n            /**\n             * Time period for billing the plan, such as `MONTH`.\n             */\n            unit: string;\n        };\n        /**\n         * Information about the plan archive event.\n         */\n        type PlanArchivedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.EventMetadata;\n            /**\n             * Event data, including information about the archived plan.\n             */\n            data: Events.EventData;\n        };\n        /**\n         * Information about the create plan event.\n         */\n        type PlanCreatedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.EventMetadata;\n            /**\n             * Plan information.\n             */\n            entity: Plan;\n        };\n        /**\n         * An object representing a new pricing plan purchase.\n         */\n        type PlanPurchasedEvent = {\n            /**\n             * Object containing the details about the plan's order.\n             */\n            order: Events.Order;\n        };\n        /**\n         * Information about the plan update event.\n         */\n        type PlanUpdatedEvent = {\n            /**\n             * Event metadata.\n             */\n            metadata: Events.EventMetadata;\n            /**\n             * Plan information.\n             */\n            entity: Plan;\n        };\n        /**\n         * An object representing the price of the plan.\n         */\n        type Price = {\n            /**\n             * Payment currency. A three-letter\n             *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n             */\n            currency: string;\n            /**\n             * The cost of the plan.\n             */\n            amount: number;\n        };\n        /**\n         * An object representing how long a plan is valid.\n         */\n        type ValidFor = {\n            /**\n             * If true, the plan does not expire.\n             */\n            forever: boolean;\n            /**\n             * Object containing the period for which the plan is valid.\n             */\n            period: Events.Period;\n        };\n    }\n    /**\n     * The Pricing Plans Orders API contains functionality for managing\n     *  your site's pricing plan [orders](https://support.wix.com/en/article/pricing-plans-an-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.Orders.html#)\n     */\n    namespace Orders {\n        /**\n         * Buyer details.\n         */\n        type Buyer = {\n            /**\n             * Member ID for the buyer. See [`wix-members-backend`](wix-members-backend/introduction) to learn more about a site's members.\n             */\n            memberId: string;\n            /**\n             * Contact ID for the buyer. See [Contacts in `wix-crm-backend`](wix-crm-backend/contacts/introduction) to learn more about a site's contacts.\n             */\n            contactId: string;\n        };\n        /**\n         * Details about the cancellation of an order. Only present if the order `status` is `\"CANCELED\"`.\n         */\n        type Cancellation = {\n            /**\n             * Date and time when the cancellation was requested.\n             */\n            requestedDate: Date;\n            /**\n             * The reason for the cancellation.\n             * Supported values:\n             *  + `\"OWNER_ACTION\"`. The site owner canceled the order.\n             *  + `\"MEMBER_ACTION\"`. The buyer initiated the cancellation.\n             *  + `\"PAYMENT_FAILURE\"`. A payment transaction failed.\n             *  + `\"PAYMENT_SETUP_FAILURE\"`. The buyer's payment details weren't set up correctly.\n             */\n            cause: string;\n            /**\n             * When the cancellation takes effect. This is set when cancelling the order.\n             * Supported values:\n             *  + `\"IMMEDIATELY\"`. The cancellation occurs immediately and the buyer can no longer use the plan at this point.\n             *  + `\"NEXT_PAYMENT_DATE\"`. The cancellation occurs at the next payment date and time. The buyer can continue to use the plan until that date and time.\n             */\n            effectiveAt: string;\n        };\n        /**\n         * Coupon applied to the order.\n         *\n         * To learn more about coupons, see [applyCoupon()](wix-pricing-plans-backend/checkout/applycoupon).\n         */\n        type Coupon = {\n            /**\n             * Code of the applied coupon.\n             */\n            code: string;\n            /**\n             * Total discount of the coupon, as a monetary amount.\n             */\n            amount: string;\n            /**\n             * Coupon ID.\n             */\n            id: string;\n        };\n        /**\n         * Current payment cycle for the order.\n         *\n         * `currentCycle` will be omitted if the order's `status` is `CANCELED` or `ENDED`, or if the `startDate` hasn't been reached yet.\n         */\n        type CurrentCycle = {\n            /**\n             * Index of the current payment cycle in the order.\n             *\n             * `0` when the order is in a free trial period. In all other cases, the index starts with `1`.\n             */\n            index: number;\n            /**\n             * Start date and time for the current payment cycle.\n             */\n            startedDate: Date;\n            /**\n             * End date and time for the current payment cycle.\n             */\n            endedDate: Date;\n        };\n        /**\n         * Fields to filter by when listing orders for the current member.\n         */\n        type CurrentMemberFilterOptions = {\n            /**\n             * Specific IDs of plans that were ordered by the current member.\n             */\n            planIds?: string[];\n            /**\n             * Whether the auto-renewal of the current member's recurring orders was canceled.\n             */\n            autoRenewCanceled?: boolean;\n            /**\n             * Specific statuses for the current member's orders.\n             *  + `\"DRAFT\"`. The order has been initiated but payment has not been processed yet. The plan is not yet available for use.\n             *  + `\"PENDING\"`. Payment is being processed.  The plan is not yet available for use.\n             *  + `\"ACTIVE\"`. The order has been processed and paid for.  The plan is available for use.\n             *  + `\"PAUSED\"`. Use of the plan has been [paused](wix-pricing-plans-backend/orders/pauseorder), for example, if the buyer is away. The plan can be [resumed](wix-pricing-plans-backend/orders/resumeorder).\n             *  + `\"ENDED\"`. The order has completed its duration and is no longer available for use.\n             *  + `\"CANCELED\"`. The order has been [canceled](wix-pricing-plans-backend/orders/cancelorder).\n             */\n            orderStatuses?: string[];\n            /**\n             * Specific payment statuses for the current member's orders.\n             *  + `\"PAID\"`. The last payment was paid.\n             *  + `\"REFUNDED\"`. The last payment was refunded.\n             *  + `\"FAILED\"`. The last payment transaction did not complete.\n             *  + `\"UNPAID\"`. The last payment was not paid.\n             *  + `\"PENDING\"`. Awaiting payment.\n             *  + `\"NOT_APPLICABLE\"`. No payment was necessary, such as for free plans or free trials.\n             */\n            paymentStatuses?: string[];\n        };\n        /**\n         * Length of one payment cycle. For example, `1` `MONTH` for monthly payments.\n         */\n        type Duration = {\n            /**\n             * The amount of a duration `unit` in a single payment cycle.\n             *\n             * Currently limited to support only value of `1`.\n             */\n            count: number;\n            /**\n             * Unit of time for the cycle duration.\n             *\n             * Supported values: `\"UNDEFINED\"`, `\"DAY\"`, `\"WEEK\"`, `\"MONTH\"`, `\"YEAR\"`\n             */\n            unit: string;\n        };\n        /**\n         * Fields to filter by when listing orders.\n         */\n        type FilterOptions = {\n            /**\n             * Specific member IDs of buyers who ordered a pricing plan.\n             */\n            buyerIds?: string[];\n            /**\n             * Specific IDs of plans that were ordered.\n             */\n            planIds?: string[];\n            /**\n             * Whether the auto-renewal of recurring orders was canceled.\n             */\n            autoRenewCanceled?: boolean;\n            /**\n             * Specific order statuses.\n             *  + `\"DRAFT\"`. The order has been initiated but payment has not been processed yet. The plan is not yet available for use.\n             *  + `\"PENDING\"`. Payment is being processed.  The plan is not yet available for use.\n             *  + `\"ACTIVE\"`. The order has been processed and paid for.  The plan is available for use.\n             *  + `\"PAUSED\"`. Use of the plan has been [paused](wix-pricing-plans-backend/orders/pauseorder), for example, if the buyer is away. The plan can be [resumed](wix-pricing-plans-backend/orders/resumeorder).\n             *  + `\"ENDED\"`. The order has completed its duration and is no longer available for use.\n             *  + `\"CANCELED\"`. The order has been [canceled](wix-pricing-plans-backend/orders/cancelorder).\n             */\n            orderStatuses?: string[];\n            /**\n             * Specific payment statuses.\n             *  + `\"PAID\"`. The last payment was paid.\n             *  + `\"REFUNDED\"`. The last payment was refunded.\n             *  + `\"FAILED\"`. The last payment transaction did not complete.\n             *  + `\"UNPAID\"`. The last payment was not paid.\n             *  + `\"PENDING\"`. Awaiting payment.\n             *  + `\"NOT_APPLICABLE\"`. No payment was necessary, such as for free plans or free trials.\n             */\n            paymentStatuses?: string[];\n        };\n        type Order = {\n            /**\n             * Order ID.\n             */\n            _id: string;\n            /**\n             * ID of the plan that was ordered.\n             */\n            planId: string;\n            /**\n             * ID of the related Wix subscription.\n             *\n             * Every pricing plan order corresponds to a Wix subscription, including orders for single payment plans. You can see all orders from your site's [Subscriptions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsubscriptions%3FreferralInfo%3Dvelo-docs) page in the Dashboard.\n             */\n            subscriptionId: string;\n            /**\n             * ID of the associated Wix Pay order.\n             *\n             * Created by the [`createOnlineOrder()`](wix-pricing-plans-backend/checkout/createonlineorder) or [`createfflineOrder()`](wix-pricing-plans-backend/checkout/createofflineorder) function. For online orders, send this value as a parameter to the Wix Pay [`startPayment()`](wix-pay-frontend/startPayment) function to enable your buyer to pay for the order. `wixPayOrderId` is omitted if the order is free.\n             */\n            wixPayOrderId?: string;\n            /**\n             * The buyer's IDs. Includes `memberId` and `contactId`.\n             *\n             * Currently, Pricing Plan orders are limited to members only. `contactId` is returned, but a buyer will not be able to order a plan without a `memberId`.\n             */\n            buyer: Orders.Buyer;\n            /**\n             * **Deprecated.** Use `pricing` instead.\n             */\n            priceDetails: Orders.PriceDetails;\n            /**\n             * Order [pricing model](wix-pricing-plans-backend/introduction#pricing-models), price, and payment schedule.\n             */\n            pricing?: Orders.Pricing;\n            /**\n             * How the order was processed.\n             * Supported values:\n             *  + `\"ONLINE\"`. The buyer ordered the plan using the site.\n             *  + `\"OFFLINE\"`. The buyer made a manual, offline order without using the site.\n             */\n            type: string;\n            /**\n             * Status of the order.\n             * Supported values:\n             *  + `\"DRAFT\"`. The order has been initiated but payment hasn't been processed yet. The plan isn't yet available for use.\n             *  + `\"PENDING\"`. The order has been processed and its start date is set in the future. The plan isn't yet available for use.\n             *  + `\"ACTIVE\"`. The order has been processed. The plan is available for use.\n             *  + `\"PAUSED\"`. The order, and use of the plan, is [paused](wix-pricing-plans-backend/orders/pauseorder). For example, if the buyer is away. The order, and use of the plan, can be [resumed](wix-pricing-plans-backend/orders/resumeorder).\n             *  + `\"ENDED\"`. The order has completed its duration and is no longer available for use.\n             *  + `\"CANCELED\"`. The order has been [canceled](wix-pricing-plans-backend/orders/cancelorder).\n             */\n            status: string;\n            /**\n             * Whether the order will be canceled at the next payment date.\n             *\n             * If `true`, the order `status` will be `CANCELED` and the next payment won't be charged. Omitted for single payment orders.\n             */\n            autoRenewCanceled?: boolean;\n            /**\n             * Details about the cancellation of an order. Only present if the `status` is `\"CANCELED\"`.\n             */\n            cancellation?: Orders.Cancellation;\n            /**\n             * Status of the last payment for the order. This is updated automatically for online orders. The site owner updates this manually for offline orders.\n             * Supported values:\n             *  + `\"PAID\"`. The last payment was paid.\n             *  + `\"REFUNDED\"`. The last payment was refunded.\n             *  + `\"FAILED\"`. The last payment transaction didn't complete.\n             *  + `\"UNPAID\"`. The last payment wasn't paid.\n             *  + `\"PENDING\"`. Awaiting payment.\n             *  + `\"NOT_APPLICABLE\"`. No payment was necessary. For example, for free plans or free trials.\n             */\n            lastPaymentStatus: string;\n            /**\n             * Start date and time for the ordered plan.\n             */\n            startDate: Date;\n            /**\n             * Current date and time the ordered plan will expire.\n             *\n             * `endDate` may be updated over the course of an order. If the order is [paused](wix-pricing-plans-backend/orders/pauseorder), it will have a later `endDate` once it [resumes](wix-pricing-plans-backend/orders/resumeorder). `endDate` may also be [postponed](wix-pricing-plans-backend/orders/postponeenddate).\n             *\n             * Omitted if the order is valid until canceled and still `\"ACTIVE\"`.\n             */\n            endDate?: Date;\n            /**\n             * List of periods during which this order is paused.\n             */\n            pausePeriods: Orders.PausePeriod[];\n            /**\n             * Free trial period, in days. Only available for recurring plans.\n             */\n            freeTrialDays?: string;\n            /**\n             * Earliest end date and time that the plan for this order can expire.\n             *\n             * This is calculated by adding all pause periods to the original end date. Omitted if the order is active until canceled. Reserved for future use.\n             */\n            earliestEndDate?: Date;\n            /**\n             * Current payment cycle for the order.\n             *\n             * `currentCycle` will be omitted if the order's status is `CANCELED` or `ENDED`, or if the `startDate` hasn't passed yet.\n             */\n            currentCycle: Orders.CurrentCycle;\n            /**\n             * Name of the plan at the time of the order.\n             */\n            planName: string;\n            /**\n             * Description of the plan at the time of the order.\n             */\n            planDescription: string;\n            /**\n             * Plan price as it was at the moment of order creation.\n             */\n            planPrice: string;\n            /**\n             * Date and time the order was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the order was last updated. For example, the date and time an order was paused, resumed, or canceled.\n             */\n            _updatedDate: Date;\n        };\n        /**\n         * The order has recurring payments.\n         */\n        type OrderRecurrence = {\n            /**\n             * Length of one payment cycle. For example, `1` `MONTH` for monthly payments.\n             */\n            cycleDuration: Orders.Duration;\n            /**\n             * Amount of payment cycles this subscription is valid for.\n             *\n             * `0` for orders of plans that are unlimited or until-canceled.\n             */\n            cycleCount: number;\n        };\n        type PaginationOptions = {\n            /**\n             * Limit the number of orders returned.\n             *\n             * Default: `50`\n             */\n            limit?: number;\n            /**\n             * Number of entries to skip.\n             */\n            skip?: number;\n        };\n        /**\n         * Period during which the order of a plan is suspended.\n         */\n        type PausePeriod = {\n            /**\n             * Status of the pause period.\n             * Supported values:\n             *  + `\"ACTIVE\"`. Status while the order is [paused](wix-pricing-plans-backend/orders/pauseorder).\n             *  + `\"ENDED\"`. Status while the order is [resumed](wix-pricing-plans-backend/orders/resumeorder).\n             */\n            status: string;\n            /**\n             * Start date and time of the pause period.\n             */\n            pauseDate: Date;\n            /**\n             * End date and time of the pause period.\n             *\n             * Omitted while the pause period remains `\"ACTIVE\"`.\n             */\n            resumeDate: Date;\n        };\n        /**\n         * Order price details.\n         */\n        type Price = {\n            /**\n             * Price of the order excluding tax, specified as a monetary amount. For example, `\"9.99\"`.\n             */\n            subtotal: string;\n            /**\n             * Coupon applied to the order.\n             *\n             * To learn more about coupons, see [applyCoupon()](wix-pricing-plans-backend/checkout/applycoupon).\n             */\n            coupon: Orders.Coupon;\n            /**\n             * Total discount applied to the order.\n             */\n            discount: string;\n            /**\n             * Tax applied to the order.\n             */\n            tax?: Orders.Tax;\n            /**\n             * Price after tax and discount is applied, specified as a monetary amount. For example, `\"13.98\"`.\n             *\n             * If no tax is applied, this amount is the same as `subtotal`.\n             */\n            total: string;\n            /**\n             * Three-letter currency code in [ISO 4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n             */\n            currency: string;\n        };\n        /**\n         * **Deprecated.** Use `pricing` instead.\n         */\n        type PriceDetails = {\n            /**\n             * Price of the order, excluding tax. Specified as a monetary amount, such as `\"3.99\"`.\n             */\n            subtotal: string;\n            /**\n             * Tax applied for the plan. Omitted if no tax was applied.\n             */\n            tax?: Orders.Tax;\n            /**\n             * Price after tax is applied. Specified as a monetary amount, such as `\"4.98\"`. If no tax was applied, this amount is the same as `subtotal`.\n             */\n            total: string;\n            /**\n             * Price of the plan when the order was created. This price is the amount for a single payment. For subscriptions, this is the amount to pay for each single payment cycle and the `planPrice` is required. Otherwise, the payment is for the entire plan.\n             */\n            planPrice: string;\n            /**\n             * Currency code. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code (for example, `\"USD\"`).\n             */\n            currency: string;\n            /**\n             * Pricing model indicating that the order has recurring payments. This type of subscription isn't a \"Wix subscription,\" which encompasses various types of subscriptions, such as Wix Stores subscriptions, Wix invoice subscriptions, and *all* pricing plan models.\n             */\n            subscription?: Orders.OrderRecurrence;\n            /**\n             * Pricing model indicating that the order is paid with a single payment per cycle and what the length of the cycle is. The cycle is the duration of the order's plan, not a payment cycle.\n             */\n            singlePaymentForDuration?: Duration;\n            /**\n             * Pricing model indicating that the order of the plan is paid in one single payment and that the order is active until canceled.\n             */\n            singlePaymentUnlimited?: boolean;\n            /**\n             * Free trial period for the order in days. Available only for orders whose plans are recurring, meaning plans whose pricing model is `subscription`.\n             */\n            freeTrialDays?: number;\n        };\n        /**\n         * Cycle duration to apply `price` for.\n         */\n        type PriceDuration = {\n            /**\n             * Price starts to apply with this cycle.\n             *\n             * `1` is the first payment cycle for all pricing models.\n             */\n            cycleFrom: number;\n            /**\n             * Amount of cycles to apply price for.\n             *\n             * For `subscription` pricing models with a finite number of cycles, the `numberOfCycles` is the same as `pricing.subscription.cycleCount`.\n             *\n             * For `subscription` pricing models that are unlimited or until-canceled, the `numberOfCycles` is not returned.\n             *\n             * For `singlePaymentForDuration` and `singlePaymentUnlimited` pricing models, the `numberOfCycles` is `1`.\n             */\n            numberOfCycles: number;\n        };\n        /**\n         * Pricing details for all pricing models.\n         */\n        type Prices = {\n            /**\n             * Cycle duration to apply `price` for.\n             *\n             * Use with all pricing models. Can apply the same price to multiple payment cycles.\n             */\n            duration: Orders.PriceDuration;\n            /**\n             * Order price.\n             */\n            price: Orders.Price;\n        };\n        /**\n         * Order pricing model, price, and payment schedule.\n         */\n        type Pricing = {\n            /**\n             * Pricing model for an order with recurring payment cycles.\n             */\n            subscription?: Orders.OrderRecurrence;\n            /**\n             * Pricing model for an order with a one-time payment and the order is valid for a specific amount of time.\n             */\n            singlePaymentForDuration?: Orders.Duration;\n            /**\n             * Pricing model for an order with a one-time payment and the order is valid until canceled.\n             */\n            singlePaymentUnlimited?: boolean;\n            /**\n             * Pricing details for all pricing models.\n             */\n            prices: Orders.Prices;\n        };\n        /**\n         * Sorting details.\n         */\n        type SortingOptions = {\n            /**\n             * Name of the property to sort by.\n             *\n             * Supported values: `_createdDate`, `endDate`\n             *\n             * Default: `_createdDate`\n             */\n            fieldName?: string;\n            /**\n             * Sort order.\n             *\n             * Supported values:\n             * + `\"ASC\"`: Ascending\n             * + `\"DESC\"`: Descending\n             *\n             * Default: `\"ASC\"`\n             */\n            order?: string;\n        };\n        /**\n         * Tax applied to the order. If empty, no tax was applied.\n         */\n        type Tax = {\n            /**\n             * Name of the tax. For example, VAT.\n             */\n            name: string;\n            /**\n             * Whether tax is included in the original price. When `false`, tax is added at checkout.\n             */\n            includedInPrice: boolean;\n            /**\n             * Tax rate percentage, as a number between 0 and 100. For example, a 7% tax rate is `\"7.00\"`.\n             */\n            rate: string;\n            /**\n             * Total tax, specified as a monetary amount. For example, `\"3.99\"`.\n             */\n            amount: string;\n        };\n    }\n    /**\n     * The results of a public pricing plans query, containing the retrieved items.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-backend.PublicPlansQueryResult.html#)\n     */\n    namespace PublicPlansQueryResult {\n        /**\n         * An item returned by a query.\n         */\n        type Item = {\n            /**\n             * An item that matches the query.\n             */\n            publicPlan: PublicPlan;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-realtime-backend.d.ts",
      "content": "/**\n * The wix-realtime module contains functionality for publishing messages\n *  on channels that site visitors can subscribe to and for managing channel permissions.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-backend.html#)\n */\ndeclare module 'wix-realtime-backend' {\n    /**\n     * Returns the realtime permissions router.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-backend.html#permissionsRouter)\n     */\n    const permissionsRouter: PermissionsRouter;\n    /**\n     * Publishes a message to a channel or channel resource.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-backend.html#publish)\n     */\n    function publish(channel: Channel, payload: any, options?: PublishOptions): Promise<void> & void;\n    /**\n     * Checks permissions for a subscriber on a channel or channel resource.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-backend.html#realtime_check_permission)\n     */\n    function realtime_check_permission(channel: Channel, subscriber: Subscriber): Promise<ChannelPermissions> & ChannelPermissions;\n    /**\n     * An object representing a channel or channel resource.\n     *  Site visitors can subscribe to a channel or channel resource to receive the\n     *  messages that are published on it. When site visitors subscribe to a channel, they do not\n     *  receive messages published to a resource on that same channel. Similarly,\n     *  when site visitors subscribe to a channel resource, they do not\n     *  receive messages published to that same channel without a specified resource.\n     *  Channel resources inherit their parent channel's permissions, unless specified\n     *  otherwise.\n     */\n    type Channel = {\n        /**\n         * Channel name. Cannot exceed 140 characters. Cannot include spaces or special characters.\n         */\n        name: string;\n        /**\n         * ID of a specific channel resource.\n         */\n        resourceId?: string;\n    };\n    /**\n     * An object containing permission settings for a channel.\n     */\n    type ChannelPermissions = {\n        /**\n         * Whether the subscriber has read permissions. Defaults to `true`.\n         */\n        read?: boolean;\n    };\n    /**\n     * An object containing options for publishing.\n     */\n    type PublishOptions = {\n        /**\n         * User IDs of specific users to publish to.\n         */\n        users?: string[];\n        /**\n         * Whether to include information about the message publisher.\n         *  Defaults to `false`.\n         */\n        includePublisher?: boolean;\n    };\n    /**\n     * An object representing a channel subscriber.\n     */\n    type Subscriber = {\n        /**\n         * The subscriber's user ID.\n         */\n        id: string;\n        /**\n         * The type of subscriber.\n         *\n         *  One of:\n         *\n         *  + `\"Admin\"`: Subscriber is the site owner.\n         *  + `\"Member\"`: Subscriber is a logged-in site member.\n         *  + `\"Visitor\"`: Subscriber in not logged in.\n         */\n        type: string;\n    };\n    /**\n     * A router for defining and checking permissions.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-backend.PermissionsRouter.html#)\n     */\n    interface PermissionsRouter {\n        /**\n         * Sets a permissions handler for a specific channel or channel resource.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-backend.PermissionsRouter.html#add)\n         */\n        add(channel: Channel, handler: PermissionsRouter.PermissionsHandler): Promise<void> & void;\n        /**\n         * Checks the permissions for a subscriber on a channel or channel resource.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-backend.PermissionsRouter.html#check)\n         */\n        check(channel: Channel, subscriber: Subscriber): Promise<ChannelPermissions> & ChannelPermissions;\n        /**\n         * Sets a permissions handler for default permissions.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-backend.PermissionsRouter.html#default)\n         */\n        default(handler: PermissionsRouter.PermissionsHandler): void;\n    }\n    /**\n     * A router for defining and checking permissions.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-backend.PermissionsRouter.html#)\n     */\n    namespace PermissionsRouter {\n        type PermissionsHandler = (channel: Channel, subscriber: Subscriber) => Promise<ChannelPermissions> | ChannelPermissions;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-search.d.ts",
      "content": "/**\n * The wix-search module contains functionality for searching a site.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-search.html#)\n */\ndeclare module 'wix-search' {\n    /**\n     * Creates a filter builder for building search filters.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-search.html#filter)\n     */\n    function filter(): WixSearchFilterBuilder;\n    /**\n     * Creates a search builder.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-search.html#search)\n     */\n    function search(phrase?: string): WixSearchBuilder;\n    /**\n     * Contains functionality for filtering a site search.\n     */\n    type WixSearchFilter = {\n        /**\n         * An object containing the filter definition.\n         */\n        filterDefinition: any;\n    };\n    /**\n     * Contains functionality for refining a site search.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#)\n     */\n    interface WixSearchBuilder {\n        /**\n         * Refines a search to match documents that meet the conditions of all of the specified filters.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#and)\n         */\n        and(...filters: WixSearchFilter[]): WixSearchBuilder;\n        /**\n         * Adds a sort to a search, sorting by the specified fields in ascending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#ascending)\n         */\n        ascending(...field: string[]): WixSearchBuilder;\n        /**\n         * Adds a sort to a search, sorting by the specified fields in descending order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#descending)\n         */\n        descending(...field: string[]): WixSearchBuilder;\n        /**\n         * Refines a search builder to only search for documents of the specified document type.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#documentType)\n         */\n        documentType(type: string): WixSearchBuilder;\n        /**\n         * Refines a search to match documents whose specified field value equals the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#eq)\n         */\n        eq(field: string, value: any): WixSearchBuilder;\n        /**\n         * Categorizes search results according to the specified facets.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#facets)\n         */\n        facets(...facets: string[]): WixSearchBuilder;\n        /**\n         * Returns the documents that match the search.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#find)\n         */\n        find(): Promise<WixSearchResult>;\n        /**\n         * Sets whether to search for exact matches or approximate matches of the search phrase.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#fuzzy)\n         */\n        fuzzy(fuzzy: boolean): WixSearchBuilder;\n        /**\n         * Refines a search to match documents whose specified field value is greater than or equal to the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#ge)\n         */\n        ge(field: string, value: string | number | Date): WixSearchBuilder;\n        /**\n         * Refines a search to match documents whose specified field value is greater than the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#gt)\n         */\n        gt(field: string, value: string | number | Date): WixSearchBuilder;\n        /**\n         * Refines a search to match documents whose specified field value contains all of the specified values.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#hasAll)\n         */\n        hasAll(field: string, values: string[]): WixSearchBuilder;\n        /**\n         * Refines a search to match documents whose specified field contains any of the specified values.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#hasSome)\n         */\n        hasSome(field: string, values: string[]): WixSearchBuilder;\n        /**\n         * Refines a search to match documents whose specified field value equals any of the specified values.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#in)\n         */\n        in(field: string, values: string[] | number[]): WixSearchBuilder;\n        /**\n         * Refines a search builder to search in the specified language.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#language)\n         */\n        language(language: string): WixSearchBuilder;\n        /**\n         * Refines a search or filter to match documents whose specified field value is less than or equal to the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#le)\n         */\n        le(field: string, value: string | number | Date): WixSearchBuilder;\n        /**\n         * Limits the number of documents the search returns.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#limit)\n         */\n        limit(limit: number): WixSearchBuilder;\n        /**\n         * Refines a search or filter to match documents whose specified field value is less than the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#lt)\n         */\n        lt(field: string, value: string | number | Date): WixSearchBuilder;\n        /**\n         * Refines a search to match documents whose specified field value does not equal the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#ne)\n         */\n        ne(field: string, value: any): WixSearchBuilder;\n        /**\n         * Refines a search to match documents that do not meet the conditions of all of the specified filters.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#not)\n         */\n        not(...filters: WixSearchFilter[]): WixSearchBuilder;\n        /**\n         * Refines a search to match documents that meet the condition of any of the specified filters.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#or)\n         */\n        or(...filters: WixSearchFilter[]): WixSearchBuilder;\n        /**\n         * Sets the search phrase to search for.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#query)\n         */\n        query(phrase: string): WixSearchBuilder;\n        /**\n         * Refines a search to include only certain fields.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#searchFields)\n         */\n        searchFields(fields: string[]): WixSearchBuilder;\n        /**\n         * Sets the number of documents to skip before returning search results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchBuilder.html#skip)\n         */\n        skip(skip: number): WixSearchBuilder;\n    }\n    /**\n     * Contains functionality for creating filters to use in a site search.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#)\n     */\n    interface WixSearchFilterBuilder {\n        /**\n         * Creates a search filter for matching documents that meet the conditions of all of the specified filters.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#and)\n         */\n        and(...filters: WixSearchFilter[]): WixSearchFilter;\n        /**\n         * Creates a search filter for matching documents whose specified field value equals the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#eq)\n         */\n        eq(field: string, value: any): WixSearchFilter;\n        /**\n         * Creates a search filter for matching documents whose specified field value is greater than or equal to the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#ge)\n         */\n        ge(field: string, value: string | number | Date): WixSearchFilter;\n        /**\n         * Creates a search filter for matching documents whose specified field value is greater than the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#gt)\n         */\n        gt(field: string, value: string | number | Date): WixSearchFilter;\n        /**\n         * Creates a search filter for matching documents whose specified field value contains all of the specified values.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#hasAll)\n         */\n        hasAll(field: string, values: string[]): WixSearchFilter;\n        /**\n         * Creates a search filter for matching documents whose specified field contains any of the specified values.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#hasSome)\n         */\n        hasSome(field: string, values: string[]): WixSearchFilter;\n        /**\n         * Creates a search filter for matching documents whose specified field value equals any of the specified values.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#in)\n         */\n        in(field: string, values: string[] | number[]): WixSearchFilter;\n        /**\n         * Creates a search filter for matching documents whose specified field value is less than or equal to the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#le)\n         */\n        le(field: string, value: string | number | Date): WixSearchFilter;\n        /**\n         * Creates a search filter for matching documents whose specified field value is less than the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#lt)\n         */\n        lt(field: string, value: string | number | Date): WixSearchFilter;\n        /**\n         * Creates a search filter for matching documents whose specified field value does not equal the specified value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#ne)\n         */\n        ne(field: string, value: any): WixSearchFilter;\n        /**\n         * Creates a search filter for matching documents that do not meet the conditions of all of the specified filters.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#not)\n         */\n        not(...filters: WixSearchFilter[]): WixSearchFilter;\n        /**\n         * Creates a filter for matching documents that meet the condition of any of the specified filters.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchFilterBuilder.html#or)\n         */\n        or(...filters: WixSearchFilter[]): WixSearchFilter;\n    }\n    /**\n     * The results of a site search, containing the retrieved documents.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#)\n     */\n    interface WixSearchResult {\n        /**\n         * Returns the index of the current results page number.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#currentPage)\n         */\n        readonly currentPage: number;\n        /**\n         * Returns the documents that match the search.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#documents)\n         */\n        readonly documents: WixSearchResult.Document[];\n        /**\n         * Returns the facet results retrieved by the search.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#facets)\n         */\n        readonly facets: WixSearchResult.FacetResult[];\n        /**\n         * Returns the number of documents in the current results page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#length)\n         */\n        readonly length: number;\n        /**\n         * Returns the search page size.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#pageSize)\n         */\n        readonly pageSize: number;\n        /**\n         * Returns the total number of documents that match the search.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#totalCount)\n         */\n        readonly totalCount: number;\n        /**\n         * Returns the total number of pages the search produced.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#totalPages)\n         */\n        readonly totalPages: number;\n        /**\n         * Indicates if the search has another page of results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#hasNext)\n         */\n        hasNext(): boolean;\n        /**\n         * Indicates if the search has a previous page of results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#hasPrev)\n         */\n        hasPrev(): boolean;\n        /**\n         * Retrieves the next page of search results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#next)\n         */\n        next(): Promise<WixSearchResult>;\n        /**\n         * Retrieves the previous page of search results.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#prev)\n         */\n        prev(): Promise<WixSearchResult>;\n    }\n    /**\n     * The results of a site search, containing the retrieved documents.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-search.WixSearchResult.html#)\n     */\n    namespace WixSearchResult {\n        /**\n         * A document returned by a site search. The following are the default properties included in every search result document. For app-specific properties, check the supported schema for each [`documentType`](wix-search.WixSearchBuilder.html#documentType).\n         */\n        type Document = {\n            /**\n             * Unique document identifier.\n             */\n            _id: string;\n            /**\n             * Document image in the following format: `wix:image://v1//#originWidth=&originHeight=[&watermark=]`\n             */\n            image: string;\n            /**\n             * Document type.\n             *  One of the following:\n             *\n             *  + `Site/Pages`\n             *  + `Blog/Posts`\n             *  + `Bookings/Services`\n             *  + `Forum/Content`\n             *  + `Stores/Products`\n             */\n            documentType: string;\n            /**\n             * The relative page URL. For regular site pages, the URL defined in [SEO settings](https://support.wix.com/en/article/changing-your-page-url). Note that the `url` for the home page is an empty string. For Wix app pages, the URL stored in the database collection.\n             */\n            url: string;\n            /**\n             * For regular site pages, all text on the page. For Wix app pages, the description or content stored in the database collection.\n             */\n            description: string;\n            /**\n             * For regular site pages, the [SEO page title](https://support.wix.com/en/article/adding-seo-page-titles-and-descriptions-meta-tags#page-titles). For Wix app pages, the title or name stored in the database collection.\n             */\n            title: string;\n        };\n        /**\n         * Facet value information.\n         */\n        type Facet = {\n            /**\n             * Facet value.\n             */\n            facetValue: string;\n            /**\n             * Number of returned documents that match the facet value.\n             */\n            count: number;\n        };\n        /**\n         * Facet information for a single facet specified for the search. Includes the name of the specified facet and the results for each facet value.\n         */\n        type FacetGroup = {\n            /**\n             * Name of the facet specified for the search.\n             */\n            facet: string;\n            /**\n             * Information about the facet values for the specified facet.\n             */\n            facets: WixSearchResult.Facet[];\n        };\n        /**\n         * A facet result returned by a site search. A facet result is returned for each parameter specified in the [`facets()`](wix-search.WixSearchBuilder.html#facets) function.\n         */\n        type FacetResult = {\n            /**\n             * A facet group with facet information. Includes the name of the specified facet and the results for each facet value.\n             */\n            facets: WixSearchResult.FacetGroup[];\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-secrets-backend.d.ts",
      "content": "/**\n * The wix-secrets-backend module contains functionality for\n * managing secrets you safely store in your site's [Secrets Manager](https://support.wix.com/en/article/velo-about-the-secrets-manager).\n * \t[Read more](https://www.wix.com/corvid/reference/wix-secrets-backend.html#)\n */\ndeclare module 'wix-secrets-backend' {\n    /**\n     * > **Deprecation Warning**\n     * >\n     * > This method will be deprecated on September 7, 2025.\n     * >\n     * > Replace with [Create Secret](https://dev.wix.com/docs/velo/apis/wix-secrets-backend-v2/secrets/create-secret).\n     *\n     * Creates a new secret.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-secrets-backend.html#createSecret)\n     */\n    function createSecret(secret: Secret): Promise<string>;\n    /**\n     * > **Deprecation Warning**\n     * >\n     * > This method will be deprecated on September 7, 2025.\n     * >\n     * > Replace with [Delete Secret](https://dev.wix.com/docs/velo/apis/wix-secrets-backend-v2/secrets/delete-secret).\n     *\n     * Deletes an existing secret by ID.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-secrets-backend.html#deleteSecret)\n     */\n    function deleteSecret(id: string): Promise<void>;\n    /**\n     * > **Deprecation Warning**\n     * >\n     * > This method will be deprecated on September 7, 2025.\n     * >\n     * > Replace with [Get Secret Value](https://dev.wix.com/docs/velo/apis/wix-secrets-backend-v2/secrets/get-secret-value).\n     *\n     * Gets a secret by name.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-secrets-backend.html#getSecret)\n     */\n    function getSecret(name: string): Promise<string>;\n    /**\n     * > **Deprecation Warning**\n     * >\n     * > This method will be deprecated on September 7, 2025.\n     * >\n     * > Replace with [List Secret Info](https://dev.wix.com/docs/velo/apis/wix-secrets-backend-v2/secrets/list-secret-info).\n     *\n     * Gets a list of objects containing information about all secrets stored in the Secrets Manager.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-secrets-backend.html#listSecretInfo)\n     */\n    function listSecretInfo(): Promise<SecretInfo[]>;\n    /**\n     * > **Deprecation Warning**\n     * >\n     * > This method will be deprecated on September 7, 2025.\n     * >\n     * > Replace with [Update Secret](https://dev.wix.com/docs/velo/apis/wix-secrets-backend-v2/secrets/update-secret).\n     *\n     * Updates the specified fields of an existing secret by ID.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-secrets-backend.html#updateSecret)\n     */\n    function updateSecret(id: string, secret: SecretUpdateInfo): Promise<void>;\n    /**\n     * An object representing information for creating or updating a secret.\n     */\n    type Secret = {\n        /**\n         * A unique, meaningful name used for retrieving the secret at runtime using [`getSecret()`](wix-secrets-backend.html#getSecret). You can use alphanumeric characters and the following special characters: `_+=-#@$#`. Spaces are not supported.\n         */\n        name: string;\n        /**\n         * The confidential value to protect, such as an API key.\n         */\n        value: string;\n        /**\n         * An optional text describing the secret's purpose or any other notes.\n         */\n        description?: string;\n    };\n    /**\n     * Information about a secret, not including the protected `value`.\n     */\n    type SecretInfo = {\n        /**\n         * The secret's ID.\n         */\n        id: string;\n        /**\n         * A unique, meaningful name used for retrieving the secret at runtime using [`getSecret()`](wix-secrets-backend.html#getSecret).\n         */\n        name: string;\n        /**\n         * An optional text describing the secret's purpose or any other notes about it.\n         */\n        description: string;\n        /**\n         * The date and time the secret was created.\n         */\n        createdDate: Date;\n        /**\n         * The date and time the secret was last updated.\n         */\n        updatedDate: Date;\n    };\n    /**\n     * An object representing information for creating or updating a secret.\n     */\n    type SecretUpdateInfo = {\n        /**\n         * A unique, meaningful name used for retrieving the secret at runtime using [`getSecret()`](wix-secrets-backend.html#getSecret). You can use alphanumeric characters and the following special characters: `_+=-#@$#`. Spaces are not supported.\n         */\n        name?: string;\n        /**\n         * The confidential value to protect, such as an API key.\n         */\n        value?: string;\n        /**\n         * An optional text describing the secret's purpose or any other notes.\n         */\n        description?: string;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-site-backend.d.ts",
      "content": "/**\n * The wix-site-backend module contains functionality for working with\n *  your site and its pages from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.html#)\n */\ndeclare module 'wix-site-backend' {\n    /**\n     * The generalInfo API contains functionality for getting\n     *  [the information about your business](https://support.wix.com/en/article/adding-your-sites-business-info) that\n     *  has been entered in the **General Info** section of your site's [**Dashboard**](https://support.wix.com/en/article/wix-dashboard-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.html#generalInfo)\n     */\n    const generalInfo: GeneralInfo;\n    /**\n     * Invalidates the cache for a site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.html#invalidateCache)\n     */\n    function invalidateCache(): Promise<void>;\n    /**\n     * The generalInfo API contains functionality for getting\n     *  [the information about your business](https://support.wix.com/en/article/adding-your-sites-business-info) that\n     *  has been entered in the **General Info** section of your site's [**Dashboard**](https://support.wix.com/en/article/wix-dashboard-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#)\n     */\n    interface GeneralInfo {\n        /**\n         * Gets the physical address of the site's business.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getAddress)\n         */\n        getAddress(): Promise<GeneralInfo.GeneralInfoAddress>;\n        /**\n         * Gets the site business name.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getBusinessName)\n         */\n        getBusinessName(): Promise<string>;\n        /**\n         * Gets the business hours of the site's business.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getBusinessSchedule)\n         */\n        getBusinessSchedule(): Promise<GeneralInfo.GeneralInfoSchedule>;\n        /**\n         * Gets the site category information.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getCategories)\n         */\n        getCategories(): Promise<GeneralInfo.GeneralInfoCategories>;\n        /**\n         * Gets the site description.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getDescription)\n         */\n        getDescription(): Promise<string>;\n        /**\n         * Gets the email address used for notifications of activities on your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getEmail)\n         */\n        getEmail(): Promise<string>;\n        /**\n         * Gets the fax number used for notifications of activities on your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getFax)\n         */\n        getFax(): Promise<string>;\n        /**\n         * Gets site language information.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getLanguage)\n         */\n        getLanguage(): Promise<string>;\n        /**\n         * Gets site locale information.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getLocale)\n         */\n        getLocale(): Promise<GeneralInfo.GeneralInfoLocale>;\n        /**\n         * Gets the site logo file name.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getLogo)\n         */\n        getLogo(): Promise<string>;\n        /**\n         * Gets site multilingual information.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getMultilingual)\n         */\n        getMultilingual(): Promise<GeneralInfo.GeneralInfoLanguages>;\n        /**\n         * Gets site payment currency information.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getPaymentCurrency)\n         */\n        getPaymentCurrency(): Promise<string>;\n        /**\n         * Gets the phone number used for notifications of activities on your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getPhone)\n         */\n        getPhone(): Promise<string>;\n        /**\n         * Gets the site display name.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getSiteDisplayName)\n         */\n        getSiteDisplayName(): Promise<string>;\n        /**\n         * Gets site time zone information.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#getTimeZone)\n         */\n        getTimeZone(): Promise<string>;\n    }\n    /**\n     * The generalInfo API contains functionality for getting\n     *  [the information about your business](https://support.wix.com/en/article/adding-your-sites-business-info) that\n     *  has been entered in the **General Info** section of your site's [**Dashboard**](https://support.wix.com/en/article/wix-dashboard-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-backend.GeneralInfo.html#)\n     */\n    namespace GeneralInfo {\n        /**\n         * An object representing a site's corresponding physical address.\n         */\n        type GeneralInfoAddress = {\n            /**\n             * Address street.\n             */\n            street: string;\n            /**\n             * Address city.\n             */\n            city: string;\n            /**\n             * Address country.\n             */\n            country: string;\n            /**\n             * Address state.\n             */\n            state: string;\n            /**\n             * Address zip code.\n             */\n            zip: string;\n            /**\n             * Address description.\n             */\n            hint: GeneralInfo.GeneralInfoAddressHint;\n            /**\n             * Whether the business has a physical address.\n             */\n            isPhysical: boolean;\n            /**\n             * Address as formatted by Google.\n             */\n            googleFormattedAddress: string;\n            /**\n             * Address street number.\n             */\n            streetNumber: string;\n            /**\n             * Address apartment number.\n             */\n            apartmentNumber: string;\n            /**\n             * Address coordinates.\n             */\n            coordinates: GeneralInfo.GeneralInfoAddressCoordinates;\n        };\n        /**\n         * An object representing the coordinates of the site address.\n         */\n        type GeneralInfoAddressCoordinates = {\n            /**\n             * Address latitude.\n             */\n            latitude: string;\n            /**\n             * Address longitude.\n             */\n            longitude: string;\n        };\n        /**\n         * An object representing a description of a site's address.\n         */\n        type GeneralInfoAddressHint = {\n            /**\n             * Address description.\n             */\n            text: string;\n            /**\n             * Whether description is shown before, after, or instead of the actual address.\n             */\n            placement: string;\n        };\n        /**\n         * An object representing the categories that describe your site's business.\n         */\n        type GeneralInfoCategories = {\n            /**\n             * Primary site category.\n             */\n            primary: string;\n            /**\n             * List of secondary site categories.\n             */\n            secondary: string[];\n        };\n        /**\n         * An object representing the site's languages.\n         */\n        type GeneralInfoLanguages = {\n            /**\n             * List supported languages.\n             */\n            supportedLanguages: GeneralInfo.GeneralInfoLanguagesSupported[];\n            /**\n             * Whether to automatically redirect users based on their browser's settings.\n             */\n            autoRedirect: boolean;\n        };\n        /**\n         * An object representing the site's supported languages.\n         */\n        type GeneralInfoLanguagesSupported = {\n            /**\n             * Site's two-letter or four-letter language code.\n             */\n            languageCode: string;\n            /**\n             * Language locale.\n             */\n            locale: GeneralInfo.GeneralInfoLocale;\n            /**\n             * Country Code for the Language icon.\n             */\n            countryCode: string;\n            /**\n             * Whether the language is the primary language.\n             */\n            isPrimary: boolean;\n        };\n        /**\n         * An object representing a site's locale.\n         */\n        type GeneralInfoLocale = {\n            /**\n             * Site country.\n             */\n            country: string;\n            /**\n             * Site's two-letter or four-letter language code.\n             */\n            languageCode: string;\n        };\n        /**\n         * An object representing business hours.\n         */\n        type GeneralInfoSchedule = {\n            /**\n             * List of opening and closing days and times.\n             */\n            periods: GeneralInfo.GeneralInfoSchedulePeriods[];\n            /**\n             * Special hours.\n             */\n            specialHourPeriod: GeneralInfo.GeneralInfoScheduleSpecial[];\n        };\n        /**\n         * An object representing business opened and closed hours.\n         */\n        type GeneralInfoSchedulePeriods = {\n            /**\n             * Business opening day.\n             */\n            openDay: string;\n            /**\n             * Business opening time.\n             */\n            openTime: string;\n            /**\n             * Business closing day.\n             */\n            closeDay: string;\n            /**\n             * Business closing time.\n             */\n            closeTime: string;\n        };\n        /**\n         * An object representing special business hours.\n         */\n        type GeneralInfoScheduleSpecial = {\n            /**\n             * Special hours start date.\n             */\n            startDate: string;\n            /**\n             * Special hours end date.\n             */\n            endDate: string;\n            /**\n             * Whether the business is closed.\n             */\n            isClosed: boolean;\n            /**\n             * Special hours comment.\n             */\n            comment: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-stores-backend.d.ts",
      "content": "/**\n * The wix-stores-backend module contains functionality for working with your\n *  site's store from backend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#)\n */\ndeclare module 'wix-stores-backend' {\n    /**\n     * Adds media items by ID to a product.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#addProductMedia)\n     */\n    function addProductMedia(productId: string, media: Media[]): Promise<void>;\n    /**\n     * Adds media items by ID to product options.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#addProductMediaToChoices)\n     */\n    function addProductMediaToChoices(productId: string, mediaChoices: MediaChoice[]): Promise<void>;\n    /**\n     * Adds products by ID to a product collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#addProductsToCollection)\n     */\n    function addProductsToCollection(collectionId: string, productIds: string[]): Promise<void>;\n    /**\n     * Adjusts a numeric property for up to 100 products at a time.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#bulkAdjustProductProperty)\n     */\n    function bulkAdjustProductProperty(ids: string[], adjust: BulkAdjustProperties): Promise<BulkUpdateResponse>;\n    /**\n     * Updates a property for up to 100 products at a time.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#bulkUpdateProductProperty)\n     */\n    function bulkUpdateProductProperty(ids: string[], set: BulkUpdateProperties): Promise<BulkUpdateResponse>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work until September 4, 2024, but a newer version is available at\n     * [`wix-ecom-backend.OrderFulfillments.createFulfillment()`](/wix-ecom-backend/order-fulfillments/create-fulfillment).\n     *\n     * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#createFulfillment)\n     */\n    function createFulfillment(orderId: string, fulfillment: FulfillmentInfo): Promise<NewFulfillmentAndOrder>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work until September 4, 2024, but a newer version is available at\n     * [`wix-ecom-backend.Orders.createOrder()`](/wix-ecom-backend/orders/create-order).\n     *\n     * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#createOrder)\n     */\n    function createOrder(orderInfo: OrderInfo): Promise<Order>;\n    /**\n     * Creates a new product.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#createProduct)\n     */\n    function createProduct(productInfo: ProductInfo): Promise<Product>;\n    /**\n     * Subtracts a set number of items from inventory.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#decrementInventory)\n     */\n    function decrementInventory(items: DecrementInfo[]): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work until September 4, 2024, but a newer version is available at\n     * [`wix-ecom-backend.OrderFulfillments.deleteFulfillment()`](/wix-ecom-backend/order-fulfillments/delete-fulfillment).\n     *\n     * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#deleteFulfillment)\n     */\n    function deleteFulfillment(orderId: string, fulfillmentId: string): Promise<Order>;\n    /**\n     * Deletes an existing product.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#deleteProduct)\n     */\n    function deleteProduct(productId: string): Promise<void>;\n    /**\n     * Deletes all options for an existing product.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#deleteProductOptions)\n     */\n    function deleteProductOptions(productId: string): Promise<void>;\n    /**\n     * Gets the specified abandoned shopping cart.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#getAbandonedCart)\n     */\n    function getAbandonedCart(cartId: string): Promise<AbandonedCart>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work until September 4, 2024, but a newer version is available at\n     * [`wix-ecom-backend.CurrentCart.getCurrentCart()`](/wix-ecom-backend/current-cart/get-current-cart).\n     *\n     * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#getCurrentCart)\n     */\n    function getCurrentCart(): Promise<Cart>;\n    /**\n     * Generates a link to a PDF file containing information about one or more specified orders, up to 1000 orders.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#getOrdersLink)\n     */\n    function getOrdersLink(orderIds: string[]): Promise<LinkToPdf>;\n    /**\n     * Generates a link to a PDF file containing an order's packing slip.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#getPackingSlipLink)\n     */\n    function getPackingSlipLink(orderId: string): Promise<LinkToPdf>;\n    /**\n     * Gets the availability of a product based on the specified option choices.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#getProductOptionsAvailability)\n     */\n    function getProductOptionsAvailability(productId: string, choices: ProductChoices): Promise<ProductOptionsAvailability>;\n    /**\n     * Gets a product's available variants based on the specified product ID and either option choices or variant IDs.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#getProductVariants)\n     */\n    function getProductVariants(productId: string, options?: ProductVariantOptions): Promise<VariantItem[]>;\n    /**\n     * Adds a set number of items from inventory.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#incrementInventory)\n     */\n    function incrementInventory(items: IncrementInfo[]): Promise<void>;\n    /**\n     * Removes media items by ID from a product.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#removeProductMedia)\n     */\n    function removeProductMedia(productId: string, media: Media[]): Promise<void>;\n    /**\n     * Removes media items by ID from a product's options.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#removeProductMediaFromChoices)\n     */\n    function removeProductMediaFromChoices(productId: string, mediaChoices: MediaChoice[]): Promise<void>;\n    /**\n     * Removes products by ID from a collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#removeProductsFromCollection)\n     */\n    function removeProductsFromCollection(collectionId: string, productIds: string[]): Promise<void>;\n    /**\n     * Resets the data (such as the price and the weight) of all variants for a given product to their default values.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#resetVariantData)\n     */\n    function resetVariantData(productId: string): Promise<void>;\n    /**\n     * Sends a fulfillment email to a specified custom fulfiller of a line item in a given order.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#sendFulfillmentEmail)\n     */\n    function sendFulfillmentEmail(orderId: string, fulfillerId: string): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work until September 4, 2024, but a newer version is available at\n     * [`wix-ecom-backend.OrderFulfillments.updateFulfillment()`](/wix-ecom-backend/order-fulfillments/update-fulfillment).\n     *\n     * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#updateFulfillment)\n     */\n    function updateFulfillment(orderId: string, fulfillmentId: string, trackingInfo: TrackingInfo): Promise<Order>;\n    /**\n     * Updates an existing inventory item's variants by inventory ID.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#updateInventoryVariantFields)\n     */\n    function updateInventoryVariantFields(inventoryId: string, inventoryInfo: InventoryItemVariantInfo): Promise<void>;\n    /**\n     * Updates an existing inventory item's variants by product ID.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#updateInventoryVariantFieldsByProductId)\n     */\n    function updateInventoryVariantFieldsByProductId(productId: string, inventoryInfo: InventoryItemVariantInfo): Promise<void>;\n    /**\n     * Updates an existing product by ID.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#updateProductFields)\n     */\n    function updateProductFields(productId: string, productInfo: UpdateProductInfo): Promise<Product>;\n    /**\n     * Updates the data (such as the price and the weight) of an existing product variant in the store.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.html#updateVariantData)\n     */\n    function updateVariantData(productId: string, variantInfo: VariantInfo[]): Promise<VariantItem>;\n    /**\n     * An object representing an abandoned shopping cart.\n     */\n    type AbandonedCart = {\n        /**\n         * Unique identifier of the shopping cart.\n         */\n        _id: string;\n        /**\n         * Date and time the shopping cart was abandoned.\n         */\n        abandonTime: string;\n        /**\n         * Total price of all items in the cart.\n         */\n        total: string;\n        /**\n         * The buyer's information.\n         */\n        buyerInfo: BuyerInfo;\n        /**\n         * Log of updates related to the cart.\n         */\n        activities: Activity;\n        /**\n         * Status of the abandoned cart. Either `\"ABANDONED\"` or `\"RECOVERED\"`.\n         */\n        status: string;\n    };\n    /**\n     * An array of objects representing a log of updates related to the order.\n     */\n    type Activities = {\n        /**\n         * Activity type.\n         * One of:\n         *\n         *\n         *  - `\"MERCHANT_COMMENT\"`\n         *  - `\"ORDER_PLACED\"`\n         *  - `\"ORDER_PAID\"`\n         *  - `\"ORDER_FULFILLED\"`\n         *  - `\"ORDER_NOT_FULFILLED\"`\n         *  - `\"DOWNLOAD_LINK_SENT\"`\n         *  - `\"PICKUP_READY_EMAIL_SENT\"`\n         *  - `\"TRACKING_NUMBER_ADDED\"`\n         *  - `\"TRACKING_NUMBER_EDITED\"`\n         *  - `\"TRACKING_LINK_WAS_SET\"`\n         *  - `\"SHIPPING_CONFIRMATION_EMAIL_SENT\"`\n         *  - `\"INVOICE_WAS_SET\"`\n         *  - `\"INVOICE_WAS_REMOVED\"`\n         *  - `\"INVOICE_WAS_SENT\"`\n         */\n        type: string;\n        /**\n         * Who made the update (activity) to the order item.\n         */\n        author: string;\n        /**\n         * Comment added to the activity.\n         */\n        message: string;\n        /**\n         * The time the update (activity) occurred.\n         */\n        timestamp: string;\n    };\n    /**\n     * An object representing a shopping cart activity.\n     */\n    type Activity = {\n        /**\n         * One of:\n         *\n         *  + `\"CUSTOM_ACTIVITY\"`\n         *  + `\"EMAIL_NOT_SENT\"`\n         *  + `\"EMAIL_SENT\"`\n         *  + `\"NOTIFICATION_SENT\"`\n         *  + `\"SCHEDULED\"`\n         *  + `\"TASK_CREATED\"`\n         *  + `\"UNRECOGNIZED_TYPE\"`\n         */\n        activityType: string;\n        /**\n         * Activity message.\n         */\n        message: string;\n        /**\n         * Time activity occurred.\n         */\n        timestamp: string;\n        /**\n         * Custom activity data.\n         */\n        customData: CustomData;\n    };\n    /**\n     * An object representing address information.\n     */\n    type Address = {\n        /**\n         * Address in readable format.\n         */\n        formatted?: string;\n        /**\n         * City.\n         */\n        city: string;\n        /**\n         * Country.\n         */\n        country: string;\n        /**\n         * Main address information.\n         */\n        addressLine: string;\n        /**\n         * Additional address information (apt, floor, etc.), if used.\n         */\n        addressLine2?: string;\n        /**\n         * Alternative property for street name and number.\n         */\n        streetAddress?: StreetAddress;\n        /**\n         * Postal/zip code.\n         */\n        postalCode: string;\n        /**\n         * Subdivision of a country, such as a state or province.\n         */\n        subdivision: string;\n    };\n    type AdjustBy = {\n        /**\n         * Adjust by percentage.\n         */\n        percentage?: PercentageAdjustment;\n        /**\n         * Adjust by amount.\n         */\n        amount?: number;\n    };\n    /**\n     * An object representing a coupon applied to the order.\n     */\n    type AppliedCoupon = {\n        /**\n         * Coupon ID.\n         */\n        couponId: string;\n        /**\n         * Coupon name.\n         */\n        name: string;\n        /**\n         * Coupon code (used by a buyer to apply the coupon).\n         */\n        code: string;\n    };\n    /**\n     * An object representing an order's billing info.\n     */\n    type BillingInfo = {\n        /**\n         * Billing address.\n         */\n        address?: Address;\n        /**\n         * Last name.\n         */\n        lastName?: string;\n        /**\n         * First name.\n         */\n        firstName?: string;\n        /**\n         * Email address.\n         */\n        email?: string;\n        /**\n         * Phone number.\n         */\n        phone?: string;\n        /**\n         * Company name.\n         */\n        company?: string;\n        /**\n         * VAT information.\n         */\n        vatId?: VatId;\n        /**\n         * Deprecated: replaced with paymentProviderTransactionId.\n         */\n        externalTransactionId?: string;\n        /**\n         * Date and time the payment was made.\n         */\n        paidDate?: string;\n        /**\n         * Payment method.\n         */\n        paymentMethod?: string;\n        /**\n         * Unique transaction ID for the payment gateway.\n         */\n        paymentGatewayTransactionId?: string;\n        /**\n         * Unique ID for the payment provider.\n         */\n        paymentProviderTransactionId?: string;\n    };\n    type BulkActionMetadata = {\n        /**\n         * Number of items that were successfully processed.\n         */\n        totalSuccesses: number;\n        /**\n         * Number of items that couldn't be processed.\n         */\n        totalFailures: number;\n        /**\n         * Number of failures without details because detailed failure threshold was exceeded.\n         */\n        undetailedFailures: number;\n    };\n    type BulkAdjustProperties = {\n        /**\n         * Adjust product price.\n         * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, variants prices are calculated according to the adjusted price.\n         * If the variant price is negative after the adjustment, the update fails.\n         */\n        price?: AdjustBy;\n        /**\n         * Adjust the product's cost of goods.\n         * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, cost of goods is adjusted per variant.\n         */\n        cost?: AdjustBy;\n        /**\n         * Adjust product weight. If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, weight is adjusted per variant.\n         */\n        weight?: AdjustBy;\n    };\n    type BulkResults = {\n        /**\n         * Item metadata.\n         */\n        itemMetadata: ItemMetadata;\n    };\n    type BulkUpdateProperties = {\n        /**\n         * Set product price.\n         * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, variants prices are calculated according to the set product price.\n         * If the variant price is negative after setting the new price, the update fails.\n         */\n        price?: number;\n        /**\n         * Set the product's cost of goods.\n         * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, cost of goods is set per variant.\n         */\n        cost?: number;\n        /**\n         * Set product weight.\n         * If [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is enabled, weight is set per variant.\n         */\n        weight?: number;\n        /**\n         * Set product ribbon. Pass an empty string to remove the existing ribbon.\n         */\n        ribbon?: string;\n        /**\n         * Set product brand. Pass an empty string to remove the existing brand.\n         */\n        brand?: string;\n    };\n    type BulkUpdateResponse = {\n        /**\n         * Bulk action results.\n         */\n        results: BulkResults[];\n        /**\n         * Bulk action metadata.\n         */\n        bulkActionMetadata: BulkActionMetadata;\n    };\n    /**\n     * An object representing information about the buyer.\n     */\n    type BuyerInfo = {\n        /**\n         * Unique buyer's ID.\n         */\n        id: string;\n        /**\n         * Buyer's email address.\n         */\n        email: string;\n        /**\n         * Buyer's first name.\n         */\n        firstName: string;\n        /**\n         * Buyer's last name.\n         */\n        lastName: string;\n        /**\n         * Buyer's identity.\n         * One of:\n         *\n         *  + `\"MEMBER\"`: A logged-in site member.\n         *  + `\"CONTACT\"`: A Wix contact.\n         *  + `\"ADMIN\"`: Buyer is the site owner.\n         *  + `\"VISITOR\"`: Buyer is not logged in.\n         */\n        identityType: string;\n        /**\n         * Buyer's phone number.\n         */\n        phone?: string;\n    };\n    /**\n     * An object representing a shopping cart.\n     */\n    type Cart = {\n        /**\n         * Unique identifier of the shopping cart.\n         */\n        _id: string;\n        /**\n         * Coupon applied in the shopping cart.\n         */\n        appliedCoupon: CartAppliedCoupon;\n        /**\n         * Cart billing address.\n         */\n        billingAddress: CartAddress;\n        /**\n         * The buyer's information.\n         */\n        buyerInfo: CartBuyerInfo;\n        /**\n         * Cart status. Either `\"INCOMPLETE\"` or `\"COMPLETE\"`.\n         */\n        status: string;\n        /**\n         * Currency of the shopping cart.\n         */\n        currency: Currency;\n        /**\n         * The shopping cart's shipping information.\n         */\n        shippingInfo: CartShippingInfo;\n        /**\n         * Items in the shopping cart.\n         */\n        lineItems: CartLineItem[];\n        /**\n         * The shopping cart's totals.\n         */\n        totals: OrderTotals;\n        /**\n         * The order's units of weight. One of: `\"KG\"`, `\"LB\"`, or `\"UNSPECIFIED_WEIGHT_UNIT\"`.\n         */\n        weightUnit: string;\n    };\n    /**\n     * An object representing an address.\n     */\n    type CartAddress = {\n        /**\n         * First name.\n         */\n        firstName: string;\n        /**\n         * Last name.\n         */\n        lastName: string;\n        /**\n         * Email address.\n         */\n        email: string;\n        /**\n         * Phone number.\n         */\n        phone: string;\n        /**\n         * Address.\n         */\n        address: string;\n    };\n    /**\n     * An object representing a coupon applied in a shopping cart.\n     */\n    type CartAppliedCoupon = {\n        /**\n         * Coupon code.\n         */\n        code: string;\n        /**\n         * Coupon unique identifier.\n         */\n        couponId: string;\n        /**\n         * Coupon name.\n         */\n        name: string;\n        /**\n         * Type of coupon.\n         *  One of:\n         *\n         *  + `\"BuyXGetY\"`\n         *  + `\"FixedPriceAmount\"`\n         *  + `\"FreeShipping\"`\n         *  + `\"MoneyOffAmount\"`\n         *  + `\"PercentOffRate\"`\n         */\n        couponType: string;\n        /**\n         * Value of the coupon discount.\n         */\n        discountValue: string;\n    };\n    /**\n     * An object representing a visitor who abandoned a shopping cart.\n     */\n    type CartBuyerInfo = {\n        /**\n         * Buyer's unique ID.\n         */\n        id: string;\n        /**\n         * Buyer's email address.\n         */\n        email: string;\n        /**\n         * Buyer's first name.\n         */\n        firstName: string;\n        /**\n         * Buyer's last name.\n         */\n        lastName: string;\n        /**\n         * Buyer's identity.\n         *  One of:\n         *\n         *  + `\"ADMIN\"`: Buyer is the site owner.\n         *  + `\"MEMBER\"`: Buyer is a logged-in site member.\n         *  + `\"VISITOR\"`: Buyer is not logged in.\n         *  + `\"CONTACT\"`: A contact has been created for the buyer.\n         */\n        identityType: string;\n        /**\n         * Buyer's phone number.\n         */\n        phone: string;\n    };\n    /**\n     * An object representing a custom text field.\n     */\n    type CartCustomTextField = {\n        /**\n         * Field title.\n         */\n        title: string;\n        /**\n         * Field value.\n         */\n        value: string;\n    };\n    /**\n     * An object representing a line item in a shopping cart.\n     */\n    type CartLineItem = {\n        /**\n         * Name of the line item.\n         */\n        name: string;\n        /**\n         * Notes about the line item.\n         */\n        notes: string;\n        /**\n         * Line item price.\n         */\n        price: string;\n        /**\n         * Line item product ID.\n         */\n        productId: string;\n        /**\n         * Line item quantity.\n         */\n        quantity: number;\n        /**\n         * Line item stock keeping unit.\n         */\n        sku: string;\n        /**\n         * Total price charged to the customer for all line items after any applicable discounts.\n         */\n        totalPrice: string;\n        /**\n         * Line item weight.\n         */\n        weight: string;\n        /**\n         * Type of the line item.\n         *  One of:\n         *\n         *  + `\"DIGITAL\"`: Digital item.\n         *  + `\"PHYSICAL\"`: Physical item.\n         *  + `\"CUSTOM_AMOUNT_ITEM\"`: Item with a custom price.\n         *  + `\"UNSPECIFIED\"`: Type can't be classified due to an error.\n         */\n        lineItemType: string;\n        /**\n         * Line item options.\n         */\n        options: Option[];\n        /**\n         * Media item.\n         */\n        mediaItem: CartMediaItem;\n        /**\n         * Custom text.\n         */\n        customTextFields: CartCustomTextField[];\n        /**\n         * Cart line item ID.\n         */\n        id: number;\n    };\n    /**\n     * An object representing a line item's primary media.\n     */\n    type CartMediaItem = {\n        /**\n         * Media item source for media uploaded to Wix (wix:image, wix:video or external URL).\n         */\n        src: string;\n        /**\n         * Media item type. Currently only `\"IMAGE\"` type supported.\n         */\n        type: string;\n    };\n    /**\n     * An object representing shipping information.\n     */\n    type CartShippingInfo = {\n        /**\n         * Shipment address.\n         */\n        shippingAddress?: CartAddress;\n        /**\n         * Pickup address.\n         */\n        pickupInfo?: CartAddress;\n    };\n    /**\n     * An object representing information about the sales channel that submitted this order.\n     */\n    type ChannelInfo = {\n        /**\n         * Order ID from an external system (such as eBay or Amazon).\n         */\n        externalOrderId?: string;\n        /**\n         * URL to the order in the external system (such as eBay or Amazon).\n         */\n        externalOrderUrl?: string;\n        /**\n         * Sales channel that submitted the order.\n         * One of:\n         *\n         *\n         *  + `\"WEB\"`: Wix online store.\n         *  + `\"POS\"`: Point of sale.\n         *  + `\"EBAY\"`: eBay.\n         *  + `\"OTHER_PLATFORM\"`: Order imported from another system (such as Cart2Cart).\n         *  + `\"WIX_APP_STORE\"`: Order created via the Wix mobile app.\n         */\n        type: string;\n    };\n    /**\n     * An object representing the choice for a product variant.\n     */\n    type Choice = {\n        /**\n         * Product options to use when creating or updating the\n         *  product. The object contains key:value pairs where the key is the\n         *  option name and the value is the chosen option value.\n         */\n        choices: any;\n    };\n    /**\n     * An object representing the choice for a product variant.\n     */\n    type Choices = {\n        /**\n         * Option name.\n         */\n        option: string;\n        /**\n         * Choice name.\n         */\n        choice: string;\n    };\n    /**\n     * An object representing billing information for creating an order.\n     */\n    type CreateOrderBillingInfo = {\n        /**\n         * Billing address.\n         */\n        address: Address;\n        /**\n         * Last name.\n         */\n        lastName?: string;\n        /**\n         * First name.\n         */\n        firstName?: string;\n        /**\n         * Email address.\n         */\n        email?: string;\n        /**\n         * Phone number.\n         */\n        phone?: string;\n        /**\n         * Company name.\n         */\n        company?: string;\n        /**\n         * VAT information.\n         */\n        vatId?: VatId;\n        /**\n         * Payment method.\n         */\n        paymentMethod?: string;\n        /**\n         * Unique transaction ID for the payment gateway.\n         */\n        paymentGatewayTransactionId?: string;\n        /**\n         * Unique ID for the payment provider.\n         */\n        paymentProviderTransactionId?: string;\n    };\n    /**\n     * An object representing buyer information for creating an order.\n     */\n    type CreateOrderBuyerInfo = {\n        /**\n         * Unique buyer's ID.\n         */\n        id: string;\n        /**\n         * Buyer's identity.\n         * One of:\n         *\n         *  + `\"MEMBER\"`: A logged-in site member.\n         *  + `\"CONTACT\"`: A Wix contact.\n         */\n        identityType: string;\n    };\n    /**\n     * An object representing a line item for creating an order.\n     */\n    type CreateOrderLineItem = {\n        /**\n         * Custom text.\n         */\n        customTextFields?: CustomTextField[];\n        /**\n         * Line item product ID.\n         */\n        productId?: string;\n        /**\n         * Type of line item.\n         *  One of:\n         *\n         *\n         *  - `\"DIGITAL\"`: Digital item.\n         *  - `\"PHYSICAL\"`: Physical item.\n         *  - `\"CUSTOM_AMOUNT_ITEM\"`: Item with a custom price.\n         */\n        lineItemType?: string;\n        /**\n         * Line item's primary media item.\n         */\n        mediaItem?: CreateOrderMediaItem;\n        /**\n         * Name of the line item.\n         */\n        name: string;\n        /**\n         * Notes about the line item.\n         */\n        notes?: string;\n        /**\n         * Line item options.\n         */\n        options?: Option[];\n        /**\n         * Line item quantity.\n         */\n        quantity: number;\n        /**\n         * Line item stock keeping unit.\n         */\n        sku?: string;\n        /**\n         * Line item weight.\n         */\n        weight?: number;\n        /**\n         * Line item's name, translated into the customer's language.\n         */\n        translatedName?: string;\n        /**\n         * Line item's discount amount.\n         */\n        discount?: number;\n        /**\n         * Line item's total amount of tax applied.\n         */\n        tax?: number;\n        /**\n         * Price information.\n         */\n        priceData: CreateOrderLineItemPriceData;\n        /**\n         * Tax group ID.\n         */\n        taxGroupId?: string;\n        /**\n         * Line item's fulfiller ID.\n         */\n        fulfillerId?: string;\n        /**\n         * Line item's variant ID.\n         */\n        variantId?: string;\n    };\n    /**\n     * An object representing an line item's price information for creating an order.\n     */\n    type CreateOrderLineItemPriceData = {\n        /**\n         * Price of the item.\n         */\n        price: number;\n        /**\n         * Whether the price includes tax.\n         */\n        taxIncludedInPrice?: boolean;\n    };\n    /**\n     * An object representing a line item's primary media item for creating an order.\n     */\n    type CreateOrderMediaItem = {\n        /**\n         * Image description for accessibility purposes.\n         */\n        altText?: string;\n        /**\n         * Media item source (wix:image or external URL).\n         */\n        src?: string;\n    };\n    /**\n     * An object representing an order's totals for creating an order.\n     */\n    type CreateOrderTotals = {\n        /**\n         * Total calculated discount amount.\n         */\n        discount?: number;\n        /**\n         * Total shipping price, including tax.\n         */\n        shipping?: number;\n        /**\n         * Subtotal of all the order's line items, excluding tax.\n         */\n        subtotal: number;\n        /**\n         * Total amount of tax.\n         */\n        tax?: number;\n        /**\n         * Total price.\n         */\n        total: number;\n    };\n    /**\n     * An object representing a currency.\n     */\n    type Currency = {\n        /**\n         * The currency code.\n         */\n        currency: string;\n        /**\n         * The currency symbol.\n         */\n        symbol: string;\n    };\n    /**\n     * An object representing custom activity data.\n     */\n    type CustomData = {\n        /**\n         * Activity namespace.\n         */\n        namespace: string;\n        /**\n         * JSON object containing custom data.\n         */\n        customValue: any;\n    };\n    /**\n     * An object representing a custom field added by the customer during the checkout process.\n     */\n    type CustomField = {\n        /**\n         * Custom field's title.\n         */\n        title: string;\n        /**\n         * Title translated into the buyer's language.\n         */\n        translatedTitle: string;\n        /**\n         * Custom field's text.\n         */\n        value: string;\n    };\n    /**\n     * An object representing a custom text field.\n     */\n    type CustomTextField = {\n        /**\n         * Field title.\n         */\n        title: string;\n        /**\n         * Field value.\n         */\n        value: string;\n    };\n    type DecrementInfo = {\n        /**\n         * Variant ID.\n         */\n        variantId: string;\n        /**\n         * Number to decrement inventory by.\n         */\n        decrementBy: number;\n        /**\n         * Product ID.\n         */\n        productId?: string;\n        /**\n         * Inventory item ID. This is the `_id` field in the [\"InventoryItems\" Collection](https://www.wix.com/velo/reference/wix-stores-backend/%22inventoryitems%22-collection-fields).\n         */\n        inventoryId?: string;\n    };\n    /**\n     * An object representing a discount applied to the order.\n     */\n    type Discount = {\n        /**\n         * Information about an applied coupon.\n         */\n        appliedCoupon: AppliedCoupon;\n    };\n    /**\n     * An object representing information about the identity of the order initiator.\n     * Occasionally, the person that completes the order isn't the buyer. For example, this occurs when an order is created using a point of sale terminal.\n     */\n    type EnteredBy = {\n        /**\n         * ID of the order initiator.\n         */\n        id: string;\n        /**\n         * Order was created by one of the following:\n         *\n         *\n         *   + `\"USER\"`: Wix user who performed a POS transaction on behalf of the buyer.\n         *   + `\"MEMBER\"`: Logged-in site member.\n         *   + `\"CONTACT\"`: A Wix contact.\n         */\n        identityType: string;\n    };\n    /**\n     * An object representing order fulfillment details.\n     */\n    type Fulfillment = {\n        /**\n         * Unique ID automatically generated upon fulfillment.\n         */\n        id: string;\n        /**\n         * Date and time of fulfillment.\n         */\n        dateCreated: string;\n        /**\n         * Information about the line items in the fulfilled order.\n         */\n        lineItems: FulfillmentLineItem[];\n        /**\n         * Tracking information for a fulfilled order.\n         */\n        trackingInfo?: TrackingInfo;\n    };\n    /**\n     * An object representing new fulfillment details.\n     */\n    type FulfillmentInfo = {\n        /**\n         * Information about the line items in the fulfilled order.\n         */\n        lineItems: FulfillmentLineItem[];\n        /**\n         * Tracking information for a fulfilled order.\n         */\n        trackingInfo?: TrackingInfo;\n    };\n    /**\n     * An object representing information about a fulfillment's line items.\n     */\n    type FulfillmentLineItem = {\n        /**\n         * Line item's position in the list of line items.\n         */\n        index: number;\n        /**\n         * Number of units of this line item. On creation, if this field is left empty, the new fulfillment will automatically include all items of this line item that have not already been linked to a fulfillment.\n         *\n         * If the order does not have the requested quantity of line items available to add to this fulfillment, the fulfillment will not be created and an error will be returned. This property will always have a value when returned.\n         */\n        quantity?: number;\n    };\n    type IncrementInfo = {\n        /**\n         * Variant ID.\n         */\n        variantId: string;\n        /**\n         * Number to increment inventory by.\n         */\n        incrementBy: number;\n        /**\n         * Product ID.\n         */\n        productId?: string;\n        /**\n         * Inventory item ID. This is the `_id` field in the [\"InventoryItems\" Collection](https://www.wix.com/velo/reference/wix-stores-backend/%22inventoryitems%22-collection-fields).\n         */\n        inventoryId?: string;\n    };\n    /**\n     * An object representing an inventory item for a product variant in a store.\n     */\n    type InventoryItem = {\n        /**\n         * Unique identifier for the inventory item.\n         */\n        _id: string;\n        /**\n         * Deprecated: use productId.\n         */\n        externalId: string;\n        /**\n         * Product ID.\n         */\n        productId: string;\n        /**\n         * Indicates whether the on-hand inventory quantity is tracked for the inventory item's variants. If true, you can update the actual number of variants available. If false, you can indicate if a variant is in stock.\n         */\n        trackQuantity: boolean;\n        /**\n         * Inventory item's variants.\n         */\n        variants: InventoryItemVariantItem[];\n        /**\n         * Date the inventory item was last updated.\n         */\n        _updatedDate: string;\n    };\n    type InventoryItemVariantInfo = {\n        /**\n         * Indicates whether the on-hand inventory quantity is tracked for the inventory item's variants. If true, you can update the actual number of variants available. If false, you can indicate if a variant is in stock.\n         */\n        trackQuantity: boolean;\n        /**\n         * Inventory item variants.\n         */\n        variants: InventoryItemVariantItem[];\n    };\n    /**\n     * An object representing an inventory item's variant.\n     */\n    type InventoryItemVariantItem = {\n        /**\n         * Unique inventory item's variant ID.\n         */\n        variantId: string;\n        /**\n         * Whether the variant is in stock at the store. Used when `trackQuantity` is false. If `trackQuantity` is true, `inStock` is based on the actual tracked `quantity`.\n         */\n        inStock: boolean;\n        /**\n         * In-stock quantity at the store. Used when `trackQuantity` is true. If `trackQuantity` is false, undefined.\n         */\n        quantity: number;\n    };\n    type ItemMetadata = {\n        /**\n         * Item ID. Item Id. Omitted in certain cases, such as when failing to create an item.\n         */\n        id: string;\n        /**\n         * Index of the item within the update array.\n         */\n        originalIndex: number;\n        /**\n         * Whether the requested action succeeded for this item.\n         * When `false`, the `error` property is populated.\n         */\n        success: boolean;\n        /**\n         * Details about the error in case of failure, as a key:value pair.\n         */\n        error: ItemMetadataError;\n    };\n    type ItemMetadataError = {\n        /**\n         * Error code.\n         */\n        code: string;\n        /**\n         * Error description.\n         */\n        description: string;\n        /**\n         * Error data.\n         */\n        data: object;\n    };\n    /**\n     * An object representing an line item's price information.\n     */\n    type LineItemPriceData = {\n        /**\n         * Price of the item.\n         */\n        price: number;\n        /**\n         * Total price charged to the customer (per line item) after calculation of quantity and discount.\n         */\n        totalPrice: number;\n        /**\n         * Whether the price includes tax.\n         */\n        taxIncludedInPrice: boolean;\n    };\n    /**\n     * An object with the link to a PDF file.\n     */\n    type LinkToPdf = {\n        /**\n         * URL to a PDF file.\n         */\n        link: string;\n    };\n    /**\n     * An object representing the media item for a product.\n     */\n    type Media = {\n        /**\n         * Deprecated.\n         */\n        mediaId: string;\n        /**\n         * Deprecated.\n         */\n        url: string;\n        /**\n         * Media item source for media uploaded to Wix (wix:image, wix:video or external URL).\n         */\n        src: string;\n        /**\n         * A choice of the product variant.\n         */\n        choice: Choice;\n    };\n    /**\n     * An object representing the media item for a product's choices.\n     */\n    type MediaChoice = {\n        /**\n         * Deprecated. See `mediaSources`.\n         */\n        mediaIds: string[];\n        /**\n         * Media item source for media uploaded to Wix (wix:image or wix:video).\n         */\n        mediaSources: string[];\n        /**\n         * Option name.\n         */\n        option: string;\n        /**\n         * Choice name.\n         */\n        choice: string;\n    };\n    /**\n     * An object representing a media item.\n     */\n    type MediaItem = {\n        /**\n         * Media item title.\n         */\n        title: string;\n        /**\n         * Media item description.\n         */\n        description: string;\n        /**\n         * Media items type. Currently only `IMAGE` type supported.\n         */\n        type: string;\n        /**\n         * Media item source for media uploaded to Wix (wix:image, wix:video or external URL).\n         */\n        src: string;\n        /**\n         * Thumbnail URL for videos only.\n         */\n        thumbnail?: string;\n    };\n    /**\n     * An object representing order fulfillment details.\n     */\n    type NewFulfillmentAndOrder = {\n        /**\n         * ID for the newly created fulfillment.\n         */\n        id: string;\n        /**\n         * Updated order.\n         */\n        order: Order;\n    };\n    /**\n     * An object representing a line item option.\n     */\n    type Option = {\n        /**\n         * Name of the product option.\n         */\n        option: string;\n        /**\n         * Selected option.\n         */\n        selection: string;\n    };\n    /**\n     * An object representing an order.\n     */\n    type Order = {\n        /**\n         * Unique order ID.\n         */\n        _id: string;\n        /**\n         * Date and time the order was updated.\n         */\n        _updatedDate: string;\n        /**\n         * The site's displayed language.\n         */\n        buyerLanguage: string;\n        /**\n         * Shopping cart ID.\n         */\n        cartId?: string;\n        /**\n         * Channel information.\n         */\n        channelInfo: ChannelInfo;\n        /**\n         * Identity of the order's initiator.\n         */\n        enteredBy: EnteredBy;\n        /**\n         * Billing information.\n         */\n        billingInfo?: BillingInfo;\n        /**\n         * Buyer information.\n         */\n        buyerInfo: BuyerInfo;\n        /**\n         * A note added by the buyer.\n         */\n        buyerNote?: string;\n        /**\n         * Date and time the order was created.\n         */\n        _dateCreated: string;\n        /**\n         * Order currency.\n         */\n        currency: string;\n        /**\n         * The order's current fulfillment status (whether the order received a tracking number or was delivered/picked up).\n         * One of:\n         *\n         *  + `\"NOT_FULFILLED\"`: Order is not yet fulfilled.\n         *  + `\"FULFILLED\"`: Order was fulfilled successfully.\n         *  + `\"CANCELED\"`: Order was canceled.\n         *  + `\"PARTIALLY_FULFILLED\"`: Order was partially fulfilled. For example, when only some of the order's items were fulfilled.\n         */\n        fulfillmentStatus: string;\n        /**\n         * Whether or not the order was archived.\n         */\n        archived: boolean;\n        /**\n         * Log of updates related to the order.\n         */\n        activities: Activities[];\n        /**\n         * Running order number.\n         */\n        number: number;\n        /**\n         * Current status of the payment.\n         * One of:\n         *\n         *  + `\"NOT_PAID\"`: Payment was not made.\n         *  + `\"PAID\"`: Order was successfully paid for.\n         *  + `\"PARTIALLY_REFUNDED\"`: Order was partially refunded.\n         *  + `\"FULLY_REFUNDED\"`: Order was refunded in full.\n         */\n        paymentStatus: string;\n        /**\n         * Shipping information.\n         */\n        shippingInfo?: OrderShippingInfo;\n        /**\n         * Order items.\n         */\n        lineItems: OrderLineItem[];\n        /**\n         * Order totals.\n         */\n        totals: Totals;\n        /**\n         * The unit in which the order's weight is measured. Either `\"KG\"` or `\"LB\"`. If not provided, the site's default weight unit is used.\n         */\n        weightUnit?: string;\n        /**\n         * Custom field information.\n         */\n        customField?: CustomField;\n        /**\n         * Order fulfillment information.\n         */\n        fulfillments: Fulfillment[];\n        /**\n         * Discount information.\n         */\n        discount?: Discount;\n        /**\n         * Refund information.\n         */\n        refunds?: Refund[];\n        /**\n         * Subscription information. Omitted unless the order is a subscription.\n         * Learn more about [selling product subscriptions](https://support.wix.com/en/article/wix-stores-selling-product-subscriptions).\n         */\n        subscriptionInfo?: SubscriptionInfo;\n    };\n    /**\n     * An object representing information for creating an order.\n     */\n    type OrderInfo = {\n        /**\n         * Shopping cart ID.\n         */\n        cartId?: string;\n        /**\n         * The language displayed to the buyer. If not provided, the site's default language is used.\n         */\n        buyerLanguage?: string;\n        /**\n         * Channel information.\n         */\n        channelInfo: ChannelInfo;\n        /**\n         * Billing information.\n         */\n        billingInfo: CreateOrderBillingInfo;\n        /**\n         * Buyer information. Only pass these fields if you want to override the buyer identity e.g. when creating an order on behalf of a contact or member.\n         */\n        buyerInfo?: CreateOrderBuyerInfo;\n        /**\n         * A note added by the buyer.\n         */\n        buyerNote?: string;\n        /**\n         * Order currency. If not provided, the site's default currency is used.\n         */\n        currency?: string;\n        /**\n         * Current status of the payment.\n         * One of:\n         *\n         *  + `\"NOT_PAID\"`: Payment was not made.\n         *  + `\"PAID\"`: Order was successfully paid for.\n         */\n        paymentStatus: string;\n        /**\n         * Shipping information.\n         */\n        shippingInfo: OrderShippingInfo;\n        /**\n         * Order items.\n         */\n        lineItems: CreateOrderLineItem[];\n        /**\n         * Order totals.\n         */\n        totals: CreateOrderTotals;\n        /**\n         * The unit in which the order's weight is measured. Either `\"KG\"` or `\"LB\"`. If not provided, the site's default weight unit is used.\n         */\n        weightUnit?: string;\n        /**\n         * Information about a custom field.\n         */\n        customField?: CustomField;\n        /**\n         * Discount information.\n         */\n        discount?: Discount;\n    };\n    /**\n     * An object representing a line item in an order.\n     */\n    type OrderLineItem = {\n        /**\n         * Custom text.\n         */\n        customTextFields?: CustomTextField[];\n        /**\n         * Line item product ID.\n         */\n        productId?: string;\n        /**\n         * Type of line item.\n         *  One of:\n         *\n         *\n         *  - `\"DIGITAL\"`: Digital item.\n         *  - `\"PHYSICAL\"`: Physical item.\n         *  - `\"CUSTOM_AMOUNT_ITEM\"`: Item with a custom price.\n         */\n        lineItemType?: string;\n        /**\n         * Information about the line item's primary media item.\n         */\n        mediaItem: OrderMediaItem;\n        /**\n         * Name of the line item.\n         */\n        name: string;\n        /**\n         * Notes about the line item.\n         */\n        notes?: string;\n        /**\n         * Line item options.\n         */\n        options?: Option[];\n        /**\n         * Deprecated: see priceData.\n         */\n        price: number;\n        /**\n         * Line item quantity.\n         */\n        quantity: number;\n        /**\n         * Line item stock keeping unit.\n         */\n        sku?: string;\n        /**\n         * Deprecated: see priceData.\n         */\n        totalPrice: number;\n        /**\n         * Line item weight.\n         */\n        weight?: number;\n        /**\n         * Line item index.\n         */\n        index?: number;\n        /**\n         * Line item's name, translated into the customer's language.\n         */\n        translatedName?: string;\n        /**\n         * Line item's discount amount.\n         */\n        discount?: number;\n        /**\n         * Line item's total amount of tax applied.\n         */\n        tax?: number;\n        /**\n         * Price information.\n         */\n        priceData: LineItemPriceData;\n        /**\n         * Tax group ID.\n         */\n        taxGroupId?: string;\n        /**\n         * Line item's fulfiller ID.\n         */\n        fulfillerId?: string;\n        /**\n         * Line item's variant ID.\n         */\n        variantId?: string;\n    };\n    /**\n     * An object representing a line item's primary media item.\n     */\n    type OrderMediaItem = {\n        /**\n         * Image description for accessibility purposes.\n         */\n        altText?: string;\n        /**\n         * Media item source (wix:image or external URL).\n         */\n        src: string;\n        /**\n         * Media item type. Currently only `IMAGE` type supported.\n         */\n        type: string;\n    };\n    /**\n     * An object representing an order's shipping information.\n     */\n    type OrderShippingInfo = {\n        /**\n         * Expected date of delivery.\n         */\n        deliverByDate?: string;\n        /**\n         * Delivery option name.\n         */\n        deliveryOption?: string;\n        /**\n         * Estimated time until delivery.\n         */\n        estimatedDeliveryTime?: string;\n        /**\n         * Shipment details (empty if order was designated for pickup).\n         */\n        shipmentDetails: ShipmentDetails;\n        /**\n         * Pickup details (empty if order was designated for delivery).\n         */\n        pickupDetails?: PickupDetails;\n        /**\n         * Shipping region.\n         */\n        shippingRegion?: string;\n    };\n    /**\n     * An object representing an order's totals.\n     */\n    type OrderTotals = {\n        /**\n         * The subtotal of all the order's line items, excluding tax.\n         */\n        subtotal: number;\n        /**\n         * The total shipping price, including tax.\n         */\n        shipping: number;\n        /**\n         * The total amount of tax.\n         */\n        tax: string;\n        /**\n         * The total calculated discount amount.\n         */\n        discount: number;\n        /**\n         * The total price.\n         */\n        total: number;\n        /**\n         * The total weight of the order's items.\n         */\n        weight: number;\n        /**\n         * The total quantity of the the order's line items.\n         */\n        quantity: number;\n    };\n    /**\n     * An object representing paging options.\n     */\n    type PagingOptions = {\n        /**\n         * Maximum number of variants to retrieve. Defaults to 300.\n         */\n        limit: number;\n        /**\n         * Number of variants to skip before the retrieved variants. Defaults to 0.\n         */\n        skip: number;\n    };\n    type PercentageAdjustment = {\n        /**\n         * When `true`, result is rounded to the nearest whole number (integer).\n         * When `false`, result is rounded to 2 places after the decimal point.\n         */\n        roundToInt: string;\n        /**\n         * Percentage value, as a whole number (integer) between `-100` and `1000`.\n         * For example, pass `100` to increase value by 100% (multiply original value by 2).\n         */\n        rate: number;\n    };\n    /**\n     * An object representing an order's pickup details.\n     */\n    type PickupDetails = {\n        /**\n         * Pickup instructions.\n         */\n        pickupInstructions?: string;\n        /**\n         * Pickup address.\n         */\n        pickupAddress?: Address;\n        /**\n         * First name.\n         */\n        firstName?: string;\n        /**\n         * Last name.\n         */\n        lastName?: string;\n        /**\n         * Email address.\n         */\n        email?: string;\n        /**\n         * Phone number.\n         */\n        phone?: string;\n    };\n    /**\n     * An object representing a product in a store.\n     */\n    type Product = {\n        /**\n         * Product ID.\n         */\n        _id: string;\n        /**\n         * Date product was last updated.\n         */\n        _updatedDate: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product description.\n         */\n        description: string;\n        /**\n         * Main product media item URL (wix:image or https).\n         */\n        mainMedia: string;\n        /**\n         * List of product media items.\n         */\n        mediaItems: MediaItem[];\n        /**\n         * Product stock keeping unit value. Must be unique.\n         */\n        sku: string;\n        /**\n         * Deprecated. Use `ribbon` instead.\n         */\n        ribbons: ProductRibbon[];\n        /**\n         * Product currency.\n         */\n        currency: string;\n        /**\n         * Product price.\n         *  The price must be greater than its discount.\n         *  The product price is propagated to the product's newly-created variants. Product variants whose prices have been updated directly are not affected by changes to the product price.\n         */\n        price: number;\n        /**\n         * Discounted product price.\n         */\n        discountedPrice: number;\n        /**\n         * Product price formatted with the currency.\n         */\n        formattedPrice: string;\n        /**\n         * Discounted product price formatted with currency symbol.\n         */\n        formattedDiscountedPrice: string;\n        /**\n         * ID for the inventory item.\n         */\n        inventoryItemId: string;\n        /**\n         * Product discount.\n         */\n        discount: ProductDiscount;\n        /**\n         * Indicates whether inventory is tracked for the product.\n         */\n        trackInventory: boolean;\n        /**\n         * Indicates whether the product is in stock.\n         */\n        inStock: boolean;\n        /**\n         * Number of units currently in stock.\n         */\n        quantityInStock: number;\n        /**\n         * Additional product information sections.\n         */\n        additionalInfoSections: ProductAdditionalInfoSection[];\n        /**\n         * All the available options for a store product.\n         */\n        productOptions: ProductOptions;\n        /**\n         * Product page relative URL.\n         */\n        productPageUrl: string;\n        /**\n         * Indicates whether product variants are managed. Can be set to true only if the product has options. Once set to true, can be reset to false only if no variants exist. Use [`getProductVariants()`](wix-stores.html#getProductVariants) to check if variants exist. You cannot set `manageVariants` to true if more than 300 variants are defined.\n         */\n        manageVariants: boolean;\n        /**\n         * List of product customization fields.\n         */\n        customTextFields: ProductCustomTextFields[];\n        /**\n         * Product type.\n         */\n        productType: string;\n        /**\n         * Product slug.\n         */\n        slug: string;\n        /**\n         * Product weight.\n         */\n        weight: string;\n        /**\n         * Whether the product is visible to site visitors and appears in Content Manager collections.\n         */\n        visible: boolean;\n        /**\n         * Product variants.\n         */\n        variants: VariantItem[];\n        /**\n         * Custom SEO data for the product. Learn more [about SEO](https://support.wix.com/en/search?term=seo).\n         */\n        seoData: SeoData;\n        /**\n         * Details of the product's price per unit.\n         */\n        pricePerUnitData: pricePerUnitData;\n        /**\n         * Price per unit.\n         */\n        pricePerUnit: number;\n        /**\n         * Price per unit formatted with currency symbol.\n         */\n        formattedPricePerUnit: string;\n        /**\n         * Product ribbon. Used to highlight relevant information about a product. For example, `\"Sale\"`, `\"New Arrival\"`, `\"Sold Out\"`.\n         */\n        ribbon: string;\n        /**\n         * Product brand. Including a brand name can help improve your site’s [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores).\n         */\n        brand: string;\n    };\n    /**\n     * An object representing an additional info section for a store product.\n     */\n    type ProductAdditionalInfoSection = {\n        /**\n         * Section title.\n         */\n        title: string;\n        /**\n         * Section description.\n         */\n        description: string;\n    };\n    /**\n     * An object representing a product variant's option choices.\n     */\n    type ProductChoices = {\n        /**\n         * Value of the choice. This key name is dependent on the product option. For example, if a product has a size option, this\n         *  key value will be something like `\"Size\"` and its value will be something like\n         *  `\"Large\"`.\n         *\n         *  `optionKey` is not case-sensitive. Therefore the values for the option keys `\"Size\"`, `\"SIZE\"`, and `\"size\"` are combined.\n         */\n        optionKey: string;\n    };\n    /**\n     * An object representing a custom text field for a store product.\n     */\n    type ProductCustomTextFields = {\n        /**\n         * Product customization field title.\n         */\n        title: string;\n        /**\n         * Maximum length of product customization field in characters.\n         */\n        maxLength: string;\n    };\n    /**\n     * An object representing a product discount.\n     */\n    type ProductDiscount = {\n        /**\n         * Discount type. Required.\n         *\n         *\n         *\n         *  One of:\n         *\n         *\n         *\n         *  - `\"AMOUNT\"`\n         *\n         *  - `\"PERCENT\"`\n         *\n         *  - `\"NONE\"`\n         */\n        type: string;\n        /**\n         * Discount value. The discount value cannot be greater than the price of the product or the variant.\n         */\n        value: string;\n    };\n    /**\n     * An object representing information for creating or updating a product in a store.\n     */\n    type ProductInfo = {\n        /**\n         * Product name. Limited to 80 characters.\n         */\n        name: string;\n        /**\n         * Product description.\n         */\n        description?: string;\n        /**\n         * Product stock keeping unit value. Must be unique.\n         */\n        sku?: string;\n        /**\n         * Product price.\n         *  The price must be greater than its discount.\n         *  The product price is propagated to the product's newly-created variants. Product variants whose prices have been updated directly are not affected by changes to the product price.\n         */\n        price: number;\n        /**\n         * An object representing a product discount.\n         */\n        discount?: ProductDiscount;\n        /**\n         * An object representing all the available options for a store product.\n         */\n        productOptions?: ProductOptionsInfo;\n        /**\n         * Indicates whether product variants can be managed. Can be set to true only if the product has options. Once set to true, can be reset to false only if no variants exist. Use [`getProductVariants()`](wix-stores.html#getProductVariants) to check if variants exist.  You cannot set `manageVariants` to true if more than 300 variants are defined.\n         */\n        manageVariants?: boolean;\n        /**\n         * Product type. Currently, only creating physical products (`\"productType\": \"physical\"`) is supported via the API.\n         */\n        productType?: string;\n        /**\n         * Product weight.\n         */\n        weight?: number;\n        /**\n         * Whether the product is visible to site visitors. Setting this to false removes the product from Content Manager collections.\n         */\n        visible?: boolean;\n        /**\n         * Custom SEO data for the product. Learn more [about SEO](https://support.wix.com/en/search?term=seo).\n         */\n        seoData?: SeoData;\n        /**\n         * Details for the product's price per unit. If one of the `pricePerUnitData` fields is provided, all must be provided.\n         */\n        pricePerUnitData?: pricePerUnitData;\n        /**\n         * Product ribbon. Used to highlight relevant information about a product.\n         * For example, `\"Sale\"`, `\"New Arrival\"`, `\"Sold Out\"`. Limited to 30 characters.\n         */\n        ribbon?: string;\n        /**\n         * Product brand.\n         * Including a brand name can help improve your site’s [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores).\n         * Limited to 50 characters.\n         */\n        brand?: string;\n    };\n    /**\n     * An object representing an option for a store product.\n     */\n    type ProductOption = {\n        /**\n         * Option type. Either `\"color\"` or `\"drop_down\"`.\n         */\n        optionType: string;\n        /**\n         * Option name.\n         */\n        name: string;\n        /**\n         * Option choices.\n         *  Each option can contain between one and thirty choices.\n         */\n        choices: ProductOptionsChoice[];\n    };\n    /**\n     * An object representing an option for a store product.\n     */\n    type ProductOptionInfo = {\n        /**\n         * Option name.\n         */\n        name: string;\n        /**\n         * Option choices.\n         *  Each option can contain between one and thirty choices.\n         */\n        choices: ProductOptionsChoiceInfo[];\n    };\n    /**\n     * An object representing all the available options for a store product, such as \"Size\" or \"Color.\"\n     */\n    type ProductOptions = {\n        /**\n         * Name of the option. This key name\n         *  is dependent on the options added to the product. For example, if a product has a size\n         *  option, this key will be something like `\"Size\"`.\n         *\n         *  `optionKey` is not case-sensitive. Therefore the values for the option keys `\"Size\"`, `\"SIZE\"`,\n         *  and `\"size\"` are combined.\n         *\n         *  An option cannot be changed if it has choices and variants. To change an option, reset its variants\n         *  with [`resetVariantData()`](wix-stores-backend.html#resetVariantData).\n         *  For each option, you can define a maximum of six choices.\n         */\n        optionKey: ProductOption;\n    };\n    /**\n     * An object returned by the `getProductOptionsAvailability()` function representing the availability of a product.\n     */\n    type ProductOptionsAvailability = {\n        /**\n         * Whether the product with the specified option choices is available for purchase.\n         */\n        availableForPurchase: boolean;\n        /**\n         * An object representing all the available options for a store product.\n         */\n        productOptions: ProductOptions;\n        /**\n         * Main product media item (image or video) URL.\n         */\n        mainMedia: string;\n        /**\n         * List of product media items.\n         */\n        mediaItems: MediaItem[];\n        /**\n         * The variant of the product selected using the specified option choices if there is one.\n         */\n        selectedVariant: ProductOptionsAvailabilitySelectedVariant;\n    };\n    /**\n     * An object representing the product variant selected using the `getProductOptionsAvailability()` function.\n     */\n    type ProductOptionsAvailabilitySelectedVariant = {\n        /**\n         * Product variant stock keeping unit value.\n         */\n        sku: string;\n        /**\n         * Product variant currency.\n         */\n        currency: string;\n        /**\n         * Product variant price. The variant price must be greater than its discount.\n         */\n        price: number;\n        /**\n         * Discounted product variant price.\n         */\n        discountedPrice: number;\n        /**\n         * Product variant price formatted with the currency.\n         */\n        formattedPrice: string;\n        /**\n         * Discounted product variant price formatted with the currency.\n         */\n        formattedDiscountedPrice: string;\n        /**\n         * Whether the product variant is visible to site visitors and appears in Content Manager collections.\n         */\n        visible: boolean;\n        /**\n         * Whether the product variant is in stock.\n         */\n        inStock: boolean;\n        /**\n         * Product variant weight.\n         */\n        weight: number;\n    };\n    /**\n     * An object representing an options choice for a store product, such as choice \"Small\" for the option \"Size.\"\n     */\n    type ProductOptionsChoice = {\n        /**\n         * Choice value.\n         */\n        value: number;\n        /**\n         * Choice description.\n         */\n        description: number;\n        /**\n         * Whether the product with this choice is in stock.\n         */\n        inStock: boolean;\n        /**\n         * Whether the product with this option is visible.\n         */\n        visible: boolean;\n    };\n    type ProductOptionsChoiceInfo = {\n        /**\n         * Choice value.\n         */\n        value: number;\n        /**\n         * Choice description.\n         */\n        description: number;\n    };\n    /**\n     * An object representing all the available options for a store product.\n     */\n    type ProductOptionsInfo = {\n        /**\n         * Name of the option. This key name is dependent on the options added to the product. For example, if a product has a color or size option, this key will be something like `\"Color\"` or `\"Size\"`.\n         *\n         *  `optionKey` is not case-sensitive. Therefore the values for the option keys `\"Size\"`, `\"SIZE\"`, and `\"size\"` are combined.\n         */\n        optionKey: ProductOptionInfo;\n    };\n    /**\n     * An object representing a ribbon for a store product.\n     */\n    type ProductRibbon = {\n        /**\n         * Ribbon text.\n         */\n        text: string;\n    };\n    /**\n     * An object representing the selection of specific variants of a product. Use only one of\n     *  `choices` or `variantIds`.\n     */\n    type ProductVariantOptions = {\n        /**\n         * The choices the retrieved variants will have, in `key:value` pairs.\n         */\n        choices?: any;\n        /**\n         * IDs of variants to retrieve.\n         */\n        variantIds?: string[];\n    };\n    /**\n     * An object representing order refund information.\n     */\n    type Refund = {\n        /**\n         * Refund ID.\n         */\n        id: string;\n        /**\n         * Date and time the refund was issued.\n         */\n        dateCreated: string;\n        /**\n         * Refund amount.\n         */\n        amount: string;\n        /**\n         * Reason for refund.\n         */\n        reason?: string;\n        /**\n         * Whether the refund was made externally.\n         * An external refund refers to refunds processed by the payment provider and reported to the Wix orders system.\n         * When the value is false, the refund was reported to the Wix orders system, but was not processed by the payment provider.\n         */\n        externalRefund: boolean;\n        /**\n         * Payment provider transaction ID.\n         */\n        paymentProviderTransactionId?: string;\n    };\n    /**\n     * An object representing custom SEO data for the product.\n     */\n    type SeoData = {\n        /**\n         * SEO tag details.\n         */\n        tags: SeoTag[];\n    };\n    /**\n     * An object representing the product's custom SEO tags.\n     */\n    type SeoTag = {\n        /**\n         * SEO tag type.\n         * Supported values:\n         *\n         *  + `\"title\"`\n         *  + `\"meta\"`\n         *  + `\"script\"`\n         *  + `\"link\"`\n         */\n        type: string;\n        /**\n         * The props property holds an object of `{\"key\": \"value\"}` pairs where the key is one of the SEO tag's properties (name, content, rel, href, etc.)\n         * and the value is the value for that property. `{\"name\": \"description\", \"content\": \"The description itself.\"}`.\n         */\n        props: object;\n        /**\n         * Tag metadata. For example, `{\"height\": 300, \"width\": 240}`.\n         */\n        meta: object;\n        /**\n         * Tag inner content. For example, ` inner content `.\n         */\n        children: string;\n        /**\n         * Whether the tag is a custom tag.\n         */\n        custom: boolean;\n        /**\n         * Whether the tag is disabled.\n         */\n        disabled: boolean;\n    };\n    /**\n     * An object representing an order's shipping details.\n     */\n    type ShipmentDetails = {\n        /**\n         * Shipping address.\n         */\n        address?: Address;\n        /**\n         * Last name.\n         */\n        lastName?: string;\n        /**\n         * First name.\n         */\n        firstName?: string;\n        /**\n         * Email address.\n         */\n        email?: string;\n        /**\n         * Phone number.\n         */\n        phone?: string;\n        /**\n         * Company name.\n         */\n        company?: string;\n        /**\n         * VAT information.\n         */\n        vatId?: VatId;\n        /**\n         * Deprecated: see priceData.\n         */\n        tax?: number;\n        /**\n         * Deprecated: see priceData.\n         */\n        discount?: number;\n        /**\n         * Shipment price information.\n         */\n        priceData?: ShipmentPriceData;\n    };\n    /**\n     * An object representing shipment price information.\n     */\n    type ShipmentPriceData = {\n        /**\n         * Price of the item.\n         */\n        price: number;\n        /**\n         * Whether the price includes tax.\n         */\n        taxIncludedInPrice: boolean;\n    };\n    /**\n     * An object representing information about the street name and street number of an address.\n     */\n    type StreetAddress = {\n        /**\n         * Address street name.\n         */\n        name: string;\n        /**\n         * Address street number.\n         */\n        number: string;\n    };\n    type SubscriptionInfo = {\n        /**\n         * ID of the current subscription's cycle.\n         */\n        id: string;\n        /**\n         * Current billing cycle number. For example, if the subscription is in the 3rd month of a 4-month subscription, the value is   `3`.\n         */\n        cycleNumber: number;\n        /**\n         * Subscription settings.\n         */\n        subscriptionSettings: SubscriptionSettings;\n        /**\n         * Subscription option information.\n         */\n        subscriptionOptionInfo: SubscriptionOptionInfo;\n    };\n    type SubscriptionOptionInfo = {\n        /**\n         * Subscription option ID.\n         */\n        id: string;\n        /**\n         * Subscription option title. For example, \"Coffee of the week\".\n         */\n        title: string;\n        /**\n         * Subscription option description. For example, \"Subscribe and get 15% off\".\n         */\n        description: string;\n    };\n    type SubscriptionSettings = {\n        /**\n         * Frequency of recurring payment.\n         * Supported values:\n         *\n         *  + `\"DAY\"`\n         *  + `\"WEEK\"`\n         *  + `\"MONTH\"`\n         *  + `\"YEAR\"`\n         */\n        frequency: string;\n        /**\n         * Whether subscription is renewed automatically at the end of each period.\n         * If the value is `true`, then `billingCycles` is ignored.\n         */\n        autoRenewal: boolean;\n        /**\n         * Number of billing cycles before subscription ends. Ignored if `autoRenewal: false`.\n         */\n        billingCycles: number;\n    };\n    /**\n     * An object representing an order's totals.\n     */\n    type Totals = {\n        /**\n         * Total calculated discount amount.\n         */\n        discount?: number;\n        /**\n         * Total quantity of the the order's line items.\n         */\n        quantity: number;\n        /**\n         * Total shipping price, including tax.\n         */\n        shipping?: number;\n        /**\n         * Subtotal of all the order's line items, excluding tax.\n         */\n        subtotal: number;\n        /**\n         * Total amount of tax.\n         */\n        tax?: number;\n        /**\n         * Total price.\n         */\n        total: number;\n        /**\n         * Total weight of the order's items.\n         */\n        weight: number;\n    };\n    /**\n     * An object representing tracking information for a fulfilled order.\n     */\n    type TrackingInfo = {\n        /**\n         * Tracking number.\n         */\n        trackingNumber: string;\n        /**\n         * Shipping provider.\n         */\n        shippingProvider: string;\n        /**\n         * Link to the tracking summary of the fulfilled order.\n         */\n        trackingLink: string;\n    };\n    /**\n     * An object representing information for creating or updating a product in a store.\n     */\n    type UpdateProductInfo = {\n        /**\n         * Product name. Limited to 80 characters.\n         */\n        name?: string;\n        /**\n         * Product description.\n         */\n        description?: string;\n        /**\n         * Product stock keeping unit value. Must be unique.\n         */\n        sku?: string;\n        /**\n         * Product price.\n         *  The price must be greater than its discount.\n         *  The product price is propagated to the product's newly-created variants. Product variants whose prices have been updated directly are not affected by changes to the product price.\n         */\n        price?: number;\n        /**\n         * Details for the product's price per unit. If one of the `pricePerUnitData` fields is provided, all must be provided.\n         */\n        pricePerUnitData?: pricePerUnitData;\n        /**\n         * An object representing a product discount.\n         */\n        discount?: ProductDiscount;\n        /**\n         * An object representing all the available options for a store product.\n         */\n        productOptions?: ProductOptionsInfo;\n        /**\n         * Indicates whether product variants can be managed. Can be set to true only if the product has options. Once set to true, can be reset to false only if no variants exist. Use [`getProductVariants()`](wix-stores.html#getProductVariants) to check if variants exist.  You cannot set `manageVariants` to true if more than 300 variants are defined.\n         */\n        manageVariants?: boolean;\n        /**\n         * Product type.\n         */\n        productType?: string;\n        /**\n         * Product weight.\n         */\n        weight?: number;\n        /**\n         * Whether the product is visible to site visitors. Setting this to false removes the product from Content Manager collections.\n         */\n        visible?: boolean;\n        /**\n         * Custom SEO data for the product. Learn more [about SEO](https://support.wix.com/en/search?term=seo).\n         */\n        seoData?: SeoData;\n        /**\n         * Product ribbon. Used to highlight relevant information about a product.\n         * For example, `\"Sale\"`, `\"New Arrival\"`, `\"Sold Out\"`. Limited to 30 characters.\n         */\n        ribbon?: string;\n        /**\n         * Product brand.\n         * Including a brand name can help improve your site’s [visibility on search engines](https://support.wix.com/en/article/adding-brand-names-to-boost-product-page-seo-in-wix-stores).\n         * Limited to 50 characters.\n         */\n        brand?: string;\n    };\n    /**\n     * An object containing variant information.\n     */\n    type VariantData = {\n        /**\n         * Variant currency.\n         */\n        currency: string;\n        /**\n         * Variant price. The variant price must be greater than its discount.\n         */\n        price: number;\n        /**\n         * Discounted variant price.\n         */\n        discountedPrice: number;\n        /**\n         * Price per unit.\n         */\n        pricePerUnit: number;\n        /**\n         * Price per unit formatted with currency symbol.\n         */\n        formattedPricePerUnit: string;\n        /**\n         * Variant weight.\n         */\n        weight: number;\n        /**\n         * Variant stock keeping unit value.\n         */\n        sku: string;\n        /**\n         * Whether the variant is visible to site visitors and appears in Content Manager collections.\n         */\n        visible: boolean;\n    };\n    /**\n     * An object containing variant information for update.\n     */\n    type VariantInfo = {\n        /**\n         * Variant currency.\n         */\n        currency: string;\n        /**\n         * Variant price. The variant price must be greater than its discount.\n         */\n        price: number;\n        /**\n         * Discounted variant price.\n         */\n        discountedPrice: number;\n        /**\n         * Variant weight.\n         */\n        weight: number;\n        /**\n         * Variant stock keeping unit value.\n         */\n        sku: string;\n        /**\n         * Whether the variant is visible to site visitors and appears in Content Manager collections.\n         */\n        visible: boolean;\n        /**\n         * Specific product options to update.\n         *  The `choices` object contains key:value pairs where the key is the\n         *  option name and the value is the chosen option value.\n         *  For example, to update the blue t-shirt in size large, you would pass something like this: `{\"Color\": \"Blue\", \"Size\": \"Large\"}`.\n         */\n        choices: any;\n    };\n    /**\n     * An object representing a product variant item.\n     */\n    type VariantItem = {\n        /**\n         * Unique variant ID.\n         */\n        _id: string;\n        /**\n         * The choices of the retrieved variant.\n         */\n        choices: ProductChoices;\n        /**\n         * Variant information.\n         */\n        variant: VariantData;\n    };\n    /**\n     * An object representing product variants.\n     */\n    type Variants = {\n        /**\n         * List of variant items that match the specified choices or variant IDs.\n         */\n        items: VariantItem[];\n        /**\n         * Number of items in the current results page.\n         */\n        length: number;\n        /**\n         * Total number of variants with the specified choices.\n         */\n        totalCount: number;\n    };\n    /**\n     * An object representing value added tax (VAT) information.\n     */\n    type VatId = {\n        /**\n         * VAT number.\n         */\n        number: string;\n        /**\n         * VAT type. Either `\"CPF\"` or `\"CNPJ\"`.\n         */\n        type: string;\n    };\n    /**\n     * An object used by the Gallery properties `items` and `currentItem` to represent a single gallery video.\n     */\n    type VideoItem = {\n        /**\n         * Item type. Value is `\"video\"`.\n         */\n        type: string;\n        /**\n         * Video source URL.\n         */\n        src: string;\n        /**\n         * Item slug.\n         */\n        slug?: string;\n        /**\n         * Video title.\n         */\n        title?: string;\n        /**\n         * Video description. Descriptions over 100 characters are truncated.\n         */\n        description?: string;\n        /**\n         * URL of the video's clickable link. See [here]($w.LinkableMixin.html#link) for more information about links.\n         */\n        link?: string;\n        /**\n         * Video thumbnail URL.\n         */\n        thumbnail?: string;\n    };\n    /**\n     * An object representing a product's price per unit data.\n     */\n    type pricePerUnitData = {\n        /**\n         * Product’s total weight, volume, or area. For example, if your product weighs 1 kilogram, the `totalQuantity` is `1`.\n         */\n        totalQuantity: number;\n        /**\n         * Total measurement unit of weight, volume, or area. For example, if your product weighs 1 kilogram, the `totalMeasurementUnit` is `\"KG\"`.\n         *\n         * Make sure the measurement system (metric or imperial) matches the one in your site's [Regional Settings](https://support.wix.com/en/article/changing-your-sites-regional-settings).\n         *\n         * Supported metric values:\n         * `\"ML\"`, `\"CL\"`, `\"L\"`, `\"CBM\"`, `\"MG\"`, `\"G\"`, `\"KG\"`, `\"MM\"`, `\"CM\"`, `\"M\"`, `\"SQM\"`.\n         *\n         * Supported imperial values:\n         * `\"OZ\"`, `\"LB\"`, `\"FLOZ\"`, `\"PT\"`, `\"QT\"`, `\"GAL\"`, `\"IN\"`, `\"FT\"`, `\"YD\"`, `\"SQFT\"`.\n         */\n        totalMeasurementUnit: string;\n        /**\n         * Product’s base weight, volume, or area. For example, for a product weighing 1 kilogram, the `baseQuantity` could be `100` (grams).\n         */\n        baseQuantity: number;\n        /**\n         * Base measurement unit of weight, volume, or area. For example, if your product weighs 1 kilogram, and the `baseQuantity` is `100` grams, `baseMeasurementUnit` is `\"G\"`.\n         *\n         * Make sure the measurement system (metric or imperial) matches the one in your site's [Regional Settings](https://support.wix.com/en/article/changing-your-sites-regional-settings).\n         *\n         * Supported metric values:\n         * `\"ML\"`, `\"CL\"`, `\"L\"`, `\"CBM\"`, `\"MG\"`, `\"G\"`, `\"KG\"`, `\"MM\"`, `\"CM\"`, `\"M\"`, `\"SQM\"`.\n         *\n         * Supported imperial values:\n         * `\"OZ\"`, `\"LB\"`, `\"FLOZ\"`, `\"PT\"`, `\"QT\"`, `\"GAL\"`, `\"IN\"`, `\"FT\"`, `\"YD\"`, `\"SQFT\"`.\n         */\n        baseMeasurementUnit: string;\n    };\n    /**\n     * Events that are fired from a Wix Store.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#)\n     */\n    interface Events {\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onAbandonedCheckoutCreated()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/onabandonedcheckoutcreated).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onCartAbandoned)\n         */\n        onCartAbandoned(event: Events.CartAbandonedEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onCheckoutCompleted()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/oncheckoutcompleted).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onCartCompleted)\n         */\n        onCartCompleted(event: Events.CartCompletedEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onCartCreated()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/oncartcreated).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         *\n         * For more info about the differences between the Stores Cart and eCommerce Cart, refer to the [cart conversion table](https://www.wix.com/velo/reference/wix-ecom-backend/cart/stores-to-ecommerce-cart-conversion-table).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onCartCreated)\n         */\n        onCartCreated(event: Events.CartCreatedEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onAbandonedCheckoutRecovered()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/onabandonedcheckoutrecovered).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onCartRecovered)\n         */\n        onCartRecovered(event: Events.CartRecoveredEvent): void;\n        /**\n         * An event that fires when a product collection is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onCollectionCreated)\n         */\n        onCollectionCreated(event: Events.CollectionCreatedEvent): void;\n        /**\n         * An event that fires when a product collection is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onCollectionDeleted)\n         */\n        onCollectionDeleted(event: Events.CollectionDeletedEvent): void;\n        /**\n         * An event that fires when a product collection is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onCollectionUpdated)\n         */\n        onCollectionUpdated(event: Events.CollectionUpdatedEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onFulfillmentsUpdated()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/onfulfillmentsupdated).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onFulfillmentCreated)\n         */\n        onFulfillmentCreated(event: Events.FulfillmentCreatedEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onFulfillmentsUpdated()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/onfulfillmentsupdated).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onFulfillmentDeleted)\n         */\n        onFulfillmentDeleted(event: Events.FulfillmentDeletedEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onFulfillmentsUpdated()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/onfulfillmentsupdated).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onFulfillmentUpdated)\n         */\n        onFulfillmentUpdated(event: Events.FulfillmentUpdatedEvent): void;\n        /**\n         * An event that fires when an inventory item's information is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onInventoryItemUpdated)\n         */\n        onInventoryItemUpdated(event: Events.InventoryItemUpdatedEvent): void;\n        /**\n         * An event that fires when the inventory information of a product variant is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onInventoryVariantUpdated)\n         */\n        onInventoryVariantUpdated(event: Events.InventoryVariantUpdatedEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onOrderApproved()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/onorderapproved).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onNewOrder)\n         */\n        onNewOrder(event: Events.NewOrderEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onOrderCanceled()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/onordercanceled).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onOrderCanceled)\n         */\n        onOrderCanceled(event: Events.OrderCanceledEvent): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onOrderPaymentStatusUpdated()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/onorderpaymentstatusupdated).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onOrderPaid)\n         */\n        onOrderPaid(event: Order): void;\n        /**\n         * **Deprecated.**\n         * This event will continue to work until September 4, 2024, but a newer version is available at\n         * [`wix-ecom-backend.Events.onOrderTransactionsUpdated()`](https://www.wix.com/velo/reference/wix-ecom-backend/events/onordertransactionsupdated).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onOrderRefunded)\n         */\n        onOrderRefunded(event: Events.OrderRefundedEvent): void;\n        /**\n         * An event that fires when a product is created.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onProductCreated)\n         */\n        onProductCreated(event: Events.ProductCreatedEvent): void;\n        /**\n         * An event that fires when a product is deleted.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onProductDeleted)\n         */\n        onProductDeleted(event: Events.ProductDeletedEvent): void;\n        /**\n         * An event that fires when a product is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onProductUpdated)\n         */\n        onProductUpdated(event: Events.ProductUpdatedEvent): void;\n        /**\n         * An event that fires when variant information for a product is updated.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#onVariantsUpdated)\n         */\n        onVariantsUpdated(event: Events.VariantsUpdatedEvent): void;\n    }\n    /**\n     * Events that are fired from a Wix Store.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-backend.Events.html#)\n     */\n    namespace Events {\n        /**\n         * An object representing a shopping cart that was abandoned.\n         */\n        type CartAbandonedEvent = {\n            /**\n             * Time the abandoned cart was abandoned.\n             */\n            abandonTime: string;\n            /**\n             * Information about the visitor who abandoned the shopping cart.\n             */\n            buyerInfo: BuyerInfo;\n            /**\n             * ID of the shopping cart that was abandoned.\n             */\n            cartId: string;\n            /**\n             * URL of the abandoned cart's checkout page.\n             */\n            checkoutUrl: string;\n            /**\n             * ID of coupon used in the abandoned cart.\n             */\n            couponId: string;\n            /**\n             * Time the abandoned cart was created.\n             */\n            creationTime: string;\n            /**\n             * Number of items in the abandoned cart.\n             */\n            itemsCount: number;\n            /**\n             * Abandoned cart totals.\n             */\n            totals: Events.CartTotals;\n        };\n        /**\n         * An object representing a shopping cart that was completed.\n         */\n        type CartCompletedEvent = {\n            /**\n             * ID of the shopping cart that was completed.\n             */\n            cartId: string;\n            /**\n             * Time the shopping cart was completed.\n             */\n            completedTime: string;\n            /**\n             * The buyer's information.\n             */\n            buyerInfo: BuyerInfo;\n            /**\n             * Message from the buyer.\n             */\n            buyerNote: string;\n            /**\n             * Coupon applied in the shopping cart.\n             */\n            appliedCoupon: CartAppliedCoupon;\n            /**\n             * Billing address.\n             */\n            billingAddress: Address;\n            /**\n             * Currency of the shopping cart.\n             */\n            currency: Currency;\n            /**\n             * The order's units of weight. One of: `\"KG\"`, `\"LB\"`, or `\"UNSPECIFIED_WEIGHT_UNIT\"`.\n             */\n            weightUnit: string;\n            /**\n             * The shopping cart's totals.\n             */\n            totals: OrderTotals;\n            /**\n             * The shopping cart's shipping information.\n             */\n            shippingInfo: CartShippingInfo;\n        };\n        /**\n         * An object representing a shopping cart that was created.\n         */\n        type CartCreatedEvent = {\n            /**\n             * ID of the shopping cart that was created.\n             */\n            cartId: string;\n            /**\n             * Time the shopping cart was created.\n             */\n            creationTime: string;\n            /**\n             * The buyer's information.\n             */\n            buyerInfo: BuyerInfo;\n            /**\n             * The order's units of weight. One of: `\"KG\"`, `\"LB\"`, or `\"UNSPECIFIED_WEIGHT_UNIT\"`.\n             */\n            weightUnit: string;\n            /**\n             * Currency of the shopping cart.\n             */\n            currency: Currency;\n            /**\n             * The shopping cart's totals.\n             */\n            totals: OrderTotals;\n        };\n        /**\n         * An object representing a shopping cart that was recovered.\n         */\n        type CartRecoveredEvent = {\n            /**\n             * Time the recovered cart was abandoned.\n             */\n            abandonedTime: string;\n            /**\n             * ID of the shopping cart that was abandoned.\n             */\n            cartId: string;\n            /**\n             * Time the recovered cart was originally created.\n             */\n            creationTime: string;\n            /**\n             * Time the cart was recovered.\n             */\n            recoveredTime: string;\n        };\n        /**\n         * An object representing the totals of a shopping cart.\n         */\n        type CartTotals = {\n            /**\n             * Subtotal of all the line items in the abandoned cart, not including shipping and tax.\n             */\n            subtotal: number;\n            /**\n             * Total of all the line items in the abandoned cart, including shipping and tax.\n             */\n            total: number;\n            /**\n             * Total formatted with currency symbol.\n             */\n            formattedTotal: string;\n        };\n        /**\n         * An object representing a product collection that was created.\n         */\n        type CollectionCreatedEvent = {\n            /**\n             * ID of the created collection.\n             */\n            _id: string;\n            /**\n             * Collection name.\n             */\n            name: string;\n            /**\n             * Main product media item (image) URL.\n             */\n            mainMedia: string;\n        };\n        /**\n         * An object representing a product collection that was deleted.\n         */\n        type CollectionDeletedEvent = {\n            /**\n             * ID of the delete collection.\n             */\n            collectionId: string;\n        };\n        /**\n         * An object representing a product collection that was updated.\n         */\n        type CollectionUpdatedEvent = {\n            /**\n             * ID of the updated collection.\n             */\n            collectionId: string;\n            /**\n             * Names of the collection fields that were updated.\n             */\n            updatedFields: string[];\n        };\n        /**\n         * An object representing fulfillment information that was created.\n         */\n        type FulfillmentCreatedEvent = {\n            /**\n             * ID of the order the fulfillment was created for.\n             */\n            orderId: string;\n            /**\n             * ID of the fulfillment that was created.\n             */\n            fulfillmentId: string;\n            /**\n             * Date and time the fulfillment was created.\n             */\n            dateCreated: string;\n            /**\n             * Information about the order's buyer.\n             */\n            buyerInfo: BuyerInfo;\n            /**\n             * Tracking information.\n             */\n            trackingInfo: TrackingInfo;\n            /**\n             * The order's current fulfillment status.\n             * One of:\n             *\n             *  + `\"NOT_FULFILLED\"`: Order is not yet fulfilled.\n             *  + `\"FULFILLED\"`: Order was fulfilled successfully.\n             *  + `\"CANCELED\"`: Order was canceled.\n             *  + `\"PARTIALLY_FULFILLED\"`: Order was partially fulfilled. For example, when only some of the order's items were fulfilled.\n             */\n            fulfillmentStatus: string;\n        };\n        /**\n         * An object representing fulfillment information that was deleted.\n         */\n        type FulfillmentDeletedEvent = {\n            /**\n             * ID of the order the fulfillment was deleted from.\n             */\n            orderId: string;\n            /**\n             * ID of the fulfillment that was deleted.\n             */\n            fulfillmentId: string;\n            /**\n             * The order's current fulfillment status.\n             * One of:\n             *\n             *  + `\"NOT_FULFILLED\"`: Order is not yet fulfilled.\n             *  + `\"FULFILLED\"`: Order was fulfilled successfully.\n             *  + `\"CANCELED\"`: Order was canceled.\n             *  + `\"PARTIALLY_FULFILLED\"`: Order was partially fulfilled. For example, when only some of the order's items were fulfilled.\n             */\n            fulfillmentStatus: string;\n        };\n        /**\n         * An object representing fulfillment information that was updated.\n         */\n        type FulfillmentUpdatedEvent = {\n            /**\n             * ID of the order the fulfillment was updated for.\n             */\n            orderId: string;\n            /**\n             * ID of the fulfillment that was updated.\n             */\n            fulfillmentId: string;\n            /**\n             * Tracking information.\n             */\n            trackingInfo: TrackingInfo;\n        };\n        /**\n         * An object representing an inventory item that was updated.\n         */\n        type InventoryItemUpdatedEvent = {\n            /**\n             * ID of the inventory item.\n             */\n            inventoryItemId: string;\n            /**\n             * External ID of the inventory item. For example, the product ID for inventory items which are store products.\n             */\n            externalId: string;\n            /**\n             * Whether the item's inventory is tracked.\n             */\n            trackInventory: boolean;\n        };\n        /**\n         * An object representing product variant information that was updated.\n         */\n        type InventoryVariantUpdatedEvent = {\n            /**\n             * ID of the inventory item.\n             */\n            inventoryItemId: string;\n            /**\n             * External ID of the inventory item. For example, the product ID for inventory items which are store products.\n             */\n            externalId: string;\n            /**\n             * List of variants that were updated.\n             */\n            variants: Events.UpdatedVariantInventory[];\n        };\n        /**\n         * An object representing a new order from a store.\n         */\n        type NewOrderEvent = {\n            /**\n             * The ID of the order, auto-generated when an order is created an unique within all Wix Stores.\n             */\n            orderId: string;\n            /**\n             * Running order number unique to the current store.\n             */\n            number: string;\n            /**\n             * The date the order was created.\n             */\n            dateCreated: string;\n            /**\n             * The buyer's information.\n             */\n            buyerInfo: BuyerInfo;\n            /**\n             * The currency code for all of the order's prices.\n             */\n            currency: string;\n            /**\n             * The order's units of weight. One of: `\"KG\"`, `\"LB\"`, or `\"UNSPECIFIED_WEIGHT_UNIT\"`.\n             */\n            weightUnit: string;\n            /**\n             * The order's totals.\n             */\n            totals: OrderTotals;\n            /**\n             * The order's payment status. One of: `\"PAID\"` or `\"NOT_PAID\"`.\n             */\n            paymentStatus: string;\n            /**\n             * The order's fulfillment status. One of: `\"FULFILLED\"` or `\"NOT_FULFILLED\"`.\n             */\n            fulfillmentStatus: string;\n            /**\n             * Subscription information. Omitted unless the order is a subscription.\n             * Learn more about [selling product subscriptions](https://support.wix.com/en/article/wix-stores-selling-product-subscriptions).\n             */\n            subscriptionInfo?: SubscriptionInfo;\n            /**\n             * Billing information.\n             */\n            billingInfo: BillingInfo;\n        };\n        /**\n         * An object representing information about a canceled order.\n         */\n        type OrderCanceledEvent = {\n            /**\n             * Information about the canceled order.\n             */\n            order: Order;\n        };\n        /**\n         * An object representing information about a refunded order.\n         */\n        type OrderRefundedEvent = {\n            /**\n             * Order refund ID.\n             */\n            refundId: string;\n            /**\n             * Information about the refunded order.\n             */\n            order: Order;\n        };\n        /**\n         * An object representing the specific choices from the product's options.\n         */\n        type ProductChoices = {\n            /**\n             * Value of the option. This key name is\n             *  dependent on the option changed in the product. For example, if a product\n             *  has a size option, this key value will be something like \"Size\" and its value\n             *  will be something like \"Large\".\n             *\n             *  `optionKey` is not case-sensitive. Therefore the values for the option keys `\"Size\"` `\"SIZE\"` and `\"size\"` are combined.\n             */\n            optionKey: string;\n        };\n        /**\n         * An object representing a product that was created.\n         */\n        type ProductCreatedEvent = {\n            /**\n             * Product ID.\n             */\n            _id: string;\n            /**\n             * Product name.\n             */\n            name: string;\n            /**\n             * Product stock keeping unit.\n             */\n            sku: string;\n            /**\n             * Discounted product price formatted with the currency.\n             */\n            formattedDiscountedPrice: string;\n            /**\n             * Whether the product is shown in the store.\n             */\n            visible: boolean;\n            /**\n             * Main product media item (image or video) URL.\n             */\n            mainMedia: string;\n            /**\n             * Discounted product price.\n             */\n            discountedPrice: number;\n            /**\n             * Product price formatted with the currency.\n             */\n            formattedPrice: string;\n            /**\n             * Product price.\n             */\n            price: number;\n            /**\n             * Product media items.\n             */\n            mediaItems: MediaItem[] | VideoItem[];\n            /**\n             * Product currency.\n             */\n            currency: string;\n            /**\n             * URL to the product's page.\n             */\n            productPageUrl: string;\n            /**\n             * Price per unit.\n             */\n            pricePerUnit: number;\n            /**\n             * Price per unit formatted with currency symbol.\n             */\n            formattedPricePerUnit: string;\n        };\n        /**\n         * An object representing a product that was deleted.\n         */\n        type ProductDeletedEvent = {\n            /**\n             * ID of the deleted product.\n             */\n            productId: string;\n        };\n        /**\n         * An object representing a product that was updated.\n         */\n        type ProductUpdatedEvent = {\n            /**\n             * ID of the updated product.\n             */\n            productId: string;\n            /**\n             * Names of the product fields that were updated.\n             */\n            updatedFields: string[];\n        };\n        /**\n         * An object representing a product variants that was updated.\n         */\n        type UpdatedVariant = {\n            /**\n             * ID of the variant that was updated.\n             */\n            variantId: string;\n            /**\n             * Names of the product variant fields that were updated.\n             */\n            updatedFields: string[];\n            /**\n             * Placeholder text.\n             */\n            choices: Events.ProductChoices;\n        };\n        /**\n         * An object representing product variant that was updated.\n         */\n        type UpdatedVariantInventory = {\n            /**\n             * ID of the productVariant that was updated.\n             */\n            id: string;\n            /**\n             * Old variant value.\n             */\n            oldValue: Events.VariantInventoryValue;\n            /**\n             * Updated variant value.\n             */\n            newValue: Events.VariantInventoryValue;\n        };\n        /**\n         * An object representing a product variant value.\n         */\n        type VariantInventoryValue = {\n            /**\n             * Whether the variant is in stock.\n             */\n            inStock: boolean;\n            /**\n             * Number of items in stock.\n             */\n            quantity: number;\n        };\n        /**\n         * An object representing product variants that were updated.\n         */\n        type VariantsUpdatedEvent = {\n            /**\n             * ID of the product in which variants were updated.\n             */\n            productId: string;\n            /**\n             * Variants that were updated.\n             */\n            variants: Events.UpdatedVariant[];\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-users-backend.d.ts",
      "content": "/**\n * **Deprecated.**\n * The wix-users-backend module will continue to work, but a newer version is available at\n * [wix-members-backend](https://www.wix.com/velo/reference/wix-members-backend).\n * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#)\n */\ndeclare module 'wix-users-backend' {\n    /**\n     * **Deprecated.**\n     * This code will continue to work, but a newer version is available at\n     * [wix-members-backend.badges](https://www.wix.com/velo/reference/wix-members-backend/badges).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#badges)\n     */\n    const badges: Badges;\n    /**\n     * **Deprecated.**\n     * This object will continue to work, but a newer version is available at\n     * [wix-members-backend.currentMember.getMember()](https://www.wix.com/velo/reference/wix-members-backend/currentmember/getmember).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#currentUser)\n     */\n    const currentUser: User;\n    /**\n     * **Deprecated.**\n     * This code will continue to work, but a newer version is available at\n     * [wix-members-backend.authorization](https://www.wix.com/velo/reference/wix-members-backend/authorization).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#roles)\n     */\n    const roles: Roles;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members-backend.authentication.approveByEmail()](https://www.wix.com/velo/reference/wix-members-backend/authentication/approvebyemail).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#approveByEmail)\n     */\n    function approveByEmail(email: string): Promise<string>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members-backend.authentication.approveByToken()](https://www.wix.com/velo/reference/wix-members-backend/authentication/approvebytoken).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#approveByToken)\n     */\n    function approveByToken(token: string): Promise<string>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members-backend.authentication.blockByEmail()](https://www.wix.com/velo/reference/wix-members-backend/authentication/blockbyemail).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#blockByEmail)\n     */\n    function blockByEmail(email: string): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members-backend.members.deleteMember()](https://www.wix.com/velo/reference/wix-members-backend/members/deletemember).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#deleteUser)\n     */\n    function deleteUser(userId: string): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-crm-backend.triggeredEmails.emailMember()](https://www.wix.com/velo/reference/wix-crm-backend/triggeredemails/emailmember).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#emailUser)\n     */\n    function emailUser(emailId: string, toUser: string, options?: TriggeredEmailOptions): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members-backend.authentication.generateSessionToken()](https://www.wix.com/velo/reference/wix-members-backend/authentication/generatesessiontoken).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#generateSessionToken)\n     */\n    function generateSessionToken(email: string): Promise<string>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members-backend.members.getMember()](https://www.wix.com/velo/reference/wix-members-backend/members/getmember).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#getUser)\n     */\n    function getUser(userId: string): Promise<RetrievedUser>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members-backend.authentication.login()](https://www.wix.com/velo/reference/wix-members-backend/authentication/login).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#login)\n     */\n    function login(email: string, password: string): Promise<string>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members-backend.authentication.register()](https://www.wix.com/velo/reference/wix-members-backend/authentication/register).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#register)\n     */\n    function register(email: string, password: string, options?: RegistrationOptions): Promise<RegistrationResult>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members-backend.members.updateMember()](https://www.wix.com/velo/reference/wix-members-backend/members/updatemember).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.html#updateUserFields)\n     */\n    function updateUserFields(userId: string, userInfo: UserInfo): Promise<void>;\n    /**\n     * An object that contains information about a site member's address.\n     */\n    type Address = {\n        /**\n         * Address street address.\n         */\n        street: string;\n        /**\n         * Address city.\n         */\n        city: string;\n        /**\n         * Address country.\n         */\n        country: string;\n        /**\n         * Address postal code.\n         */\n        postalCode: string;\n    };\n    /**\n     * An object that contains information about a site contact.\n     */\n    type ContactInfo = {\n        /**\n         * Contact's first name.\n         */\n        firstName?: string;\n        /**\n         * Contact's last name.\n         */\n        lastName?: string;\n        /**\n         * Contact's image source.\n         */\n        picture?: string;\n        /**\n         * List of contact's email addresses.\n         *  When creating a contact, if no phone number is\n         *  provided, at least one email address must be provided.\n         */\n        emails?: string[];\n        /**\n         * Email address the contact who is also\n         *  a member uses to log into the system.\n         */\n        loginEmail?: string;\n        /**\n         * List of contact's phone numbers.\n         *  When creating a contact, if no email is\n         *  provided, at least one phone number must be provided.\n         */\n        phones?: string[];\n        /**\n         * List of contact's labels. [Labels](https://support.wix.com/en/article/creating-contact-labels)\n         *  are used to organize contacts. When setting the `labels` property, you can\n         *  only list labels that already exist in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         */\n        labels?: string[];\n        /**\n         * Any\n         *  number of custom fields. [Customs fields](https://support.wix.com/en/article/adding-custom-fields-to-contacts)\n         *  are used to store additional information about your site's contacts. When\n         *  setting a custom field, use key:value pairs where the key matches the names\n         *  defined in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         *  You can only set values for custom fields that already exist in the Contacts\n         *  application.\n         */\n        customFields?: string | number | Date;\n    };\n    /**\n     * An object that contains information about a site member's picture.\n     */\n    type Picture = {\n        /**\n         * Member's image URL.\n         */\n        url: string;\n    };\n    /**\n     * An object that contains information about a site registration.\n     */\n    type RegistrationOptions = {\n        /**\n         * Contact information.\n         */\n        contactInfo?: ContactInfo;\n        /**\n         * Sets the [privacy status](https://support.wix.com/en/article/member-privacy-settings-for-groups) of a new member upon registration.\n         * One of:\n         *\n         *  + `\"PUBLIC\"`: Sets the new member status to public. A member whose status is public is a member of the site's community.\n         *  + `\"PRIVATE\"`: Sets the new member status to private. A member whose status is private is not a member of the site's community. The default is set to private.\n         */\n        privacyStatus?: string;\n    };\n    /**\n     * An object that contains information about the results of a site registration.\n     */\n    type RegistrationResult = {\n        /**\n         * Registration status. Either \"Pending\" or \"Active\".\n         */\n        status: string;\n        /**\n         * A token used to log in the current\n         *  user as a site member. Pass the token from your backend code to client-side\n         *  code and use it when calling the [applySessionToken()](wix-users.html#applySessionToken)\n         *  function. The token is only available when `status` is \"Active\".\n         */\n        sessionToken?: string;\n        /**\n         * A token for approving the user as\n         *  a site member using the [approveByToken()](wix-users-backend.html#approveByToken)\n         *  function. The token is safe to pass via email or from client-side code to\n         *  backend code. The token is only available when `status` is \"Pending\". The token\n         *  expires 30 hours after it is created.\n         */\n        approvalToken?: string;\n        /**\n         * The user that has been registered.\n         */\n        user: User;\n    };\n    /**\n     * An object that contains information about a site member.\n     */\n    type RetrievedUser = {\n        /**\n         * Member's unique id.\n         */\n        id: string;\n        /**\n         * The member's full name. This information is concatenated from the `firstName` and `lastName` properties. This field will not be returned if the member registered with an email but without a name.\n         */\n        memberName?: string;\n        /**\n         * Member's first name.\n         */\n        firstName: string;\n        /**\n         * Member's last name.\n         */\n        lastName: string;\n        /**\n         * The email address the member uses to log in to your site. This is the address they supplied when they signed up.\n         */\n        loginEmail: string;\n        /**\n         * The name the member specified on their profile.\n         */\n        nickname: string;\n        /**\n         * The member's URL-friendly name that is unique across your site. Typically this is made up of the member's email prefix.\n         */\n        slug: string;\n        /**\n         * The member's locale based on their last login.\n         */\n        language: string;\n        /**\n         * Indicates the member's current status, between `Applicant`, `Active`, `Blocked`.\n         */\n        status: string;\n        /**\n         * The date and time the member registered to the site.\n         */\n        creationDate: Date;\n        /**\n         * The last date and time the member's details were updated.\n         */\n        lastUpdateDate: Date;\n        /**\n         * The date and time when the member last logged in.\n         */\n        lastLoginDate: Date;\n        /**\n         * List of the member's email addresses.\n         */\n        emails: string[];\n        /**\n         * List of the member's phone numbers.\n         */\n        phones: string[];\n        /**\n         * List of the member's labels. [Labels](https://support.wix.com/en/article/creating-contact-labels)\n         *  are used to organize contacts. When setting the `labels` property, you can\n         *  only list labels that already exist in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         */\n        labels: string[];\n        /**\n         * Member's picture.\n         */\n        picture: Picture;\n        /**\n         * Any\n         *  number of custom fields. [Custom fields](https://support.wix.com/en/article/adding-custom-fields-to-contacts)\n         *  are used to store additional information about your site's contacts. When\n         *  setting a custom field, use key:value pairs where the key matches the display names\n         *  in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         *  You can only set values for custom fields that already exist in the Contacts\n         *  application.\n         */\n        customFields: string | number | Date;\n    };\n    /**\n     * An object used when sending a Triggered Email.\n     */\n    type TriggeredEmailOptions = {\n        /**\n         * An object with `key:value` pairs where each\n         *  `key` is a variable in the email template created in Triggered Emails and its\n         *  corresponding `value` is the value to insert into the template in place of\n         *  variable. The values must be strings.\n         */\n        variables: any;\n    };\n    /**\n     * An object that contains information about a site member.\n     */\n    type UserInfo = {\n        /**\n         * Member's first name.\n         */\n        firstName?: string;\n        /**\n         * Member's last name.\n         */\n        lastName?: string;\n        /**\n         * The name the member specified on their profile.\n         */\n        nickname?: string;\n        /**\n         * The member's URL-friendly name that is unique across your site. Typically this is made up of the member's email prefix.\n         */\n        slug?: string;\n        /**\n         * List of the member's email addresses.\n         */\n        emails?: string[];\n        /**\n         * List of the member's phone numbers.\n         */\n        phones?: string[];\n        /**\n         * List of the member's labels. [Labels](https://support.wix.com/en/article/creating-contact-labels)\n         *  are used to organize contacts. When setting the `labels` property, you can\n         *  only list labels that already exist in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         */\n        labels?: string[];\n        /**\n         * Member's picture.\n         */\n        picture?: Picture;\n        /**\n         * Any\n         *  number of custom fields. [Custom fields](https://support.wix.com/en/article/adding-custom-fields-to-contacts)\n         *  are used to store additional information about your site's contacts. When\n         *  setting a custom field, use key:value pairs where the key matches the display names\n         *  in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         *  You can only set values for custom fields that already exist in the Contacts\n         *  application.\n         */\n        customFields?: string | number | Date;\n    } & AnyProperties;\n    /**\n     * **Deprecated.**\n     * This code will continue to work, but a newer version is available at\n     * [wix-members-backend.badges](https://www.wix.com/velo/reference/wix-members-backend/badges).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Badges.html#)\n     */\n    interface Badges {\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.badges.assignMembers()](https://www.wix.com/velo/reference/wix-members-backend/badges/assignmembers).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Badges.html#assignMembers)\n         */\n        assignMembers(badgeId: string, memberIds: string[]): Promise<string[]>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.badges.createBadge()](https://www.wix.com/velo/reference/wix-members-backend/badges/createbadge).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Badges.html#createBadge)\n         */\n        createBadge(badgeInfo: Badges.BadgeInfo): Promise<Badges.Badge>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.badges.deleteBadge()](https://www.wix.com/velo/reference/wix-members-backend/badges/deletebadge).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Badges.html#deleteBadge)\n         */\n        deleteBadge(badgeId: string): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.badges.listMemberBadges()](https://www.wix.com/velo/reference/wix-members-backend/badges/listmemberbadges).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Badges.html#listMemberBadges)\n         */\n        listMemberBadges(memberIds: string[]): Promise<Badges.MemberBadges[]>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.badges.listMembers()](https://www.wix.com/velo/reference/wix-members-backend/badges/listmembers).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Badges.html#listMembers)\n         */\n        listMembers(badgeId: string): Promise<string[]>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.badges.removeMembers()](https://www.wix.com/velo/reference/wix-members-backend/badges/removemembers).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Badges.html#removeMembers)\n         */\n        removeMembers(badgeId: string, memberIds: string[]): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.badges.updateBadge()](https://www.wix.com/velo/reference/wix-members-backend/badges/updatebadge).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Badges.html#updateBadge)\n         */\n        updateBadge(badgeId: string, badgeInfo: Badges.BadgeInfo): Promise<Badges.Badge>;\n    }\n    /**\n     * **Deprecated.**\n     * This code will continue to work, but a newer version is available at\n     * [wix-members-backend.authorization](https://www.wix.com/velo/reference/wix-members-backend/authorization).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Roles.html#)\n     */\n    interface Roles {\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.authorization.assignRole()](https://www.wix.com/velo/reference/wix-members-backend/authorization/assignrole).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Roles.html#assignRole)\n         */\n        assignRole(roleId: string, memberId: string, options?: Roles.WixRolesOptions): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.authorization.removeRole()](https://www.wix.com/velo/reference/wix-members-backend/authorization/removerole).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Roles.html#removeRole)\n         */\n        removeRole(roleId: string, memberId: string, options?: Roles.WixRolesOptions): Promise<void>;\n    }\n    /**\n     * A site member.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.User.html#)\n     */\n    interface User {\n        /**\n         * **Deprecated.**\n         * This property will continue to work, but a newer version is available at\n         * [wix-members-backend.currentMember.getMember()](https://www.wix.com/velo/reference/wix-members-backend/currentmember/getmember).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.User.html#id)\n         */\n        readonly id: string;\n        /**\n         * **Deprecated.**\n         * This property will continue to work, but a newer version is available at\n         * [wix-members-backend.currentMember.getMember()](https://www.wix.com/velo/reference/wix-members-backend/currentmember/getmember).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.User.html#loggedIn)\n         */\n        readonly loggedIn: boolean;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.currentMember.getRoles()](https://www.wix.com/velo/reference/wix-members-backend/currentmember/getroles).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.User.html#role)\n         */\n        readonly role: string;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.currentMember.getMember()](https://www.wix.com/velo/reference/wix-members-backend/currentmember/getmember).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.User.html#getEmail)\n         */\n        getEmail(): Promise<string>;\n        /**\n         * Gets the current member's pricing plan.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.User.html#getPricingPlans)\n         */\n        getPricingPlans(): Promise<User.PricingPlan[]>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members-backend.currentMember.getRoles()](https://www.wix.com/velo/reference/wix-members-backend/currentmember/getroles).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.User.html#getRoles)\n         */\n        getRoles(): Promise<User.UserRole[]>;\n    }\n    /**\n     * **Deprecated.**\n     * This code will continue to work, but a newer version is available at\n     * [wix-members-backend.badges](https://www.wix.com/velo/reference/wix-members-backend/badges).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Badges.html#)\n     */\n    namespace Badges {\n        /**\n         * An object representing a member badge.\n         */\n        type Badge = {\n            /**\n             * Badge ID.\n             */\n            id: string;\n            /**\n             * Badge title.\n             */\n            title: string;\n            /**\n             * Badge description.\n             */\n            description: string;\n            /**\n             * Background color of the badge as a hexadecimal rgb color value. The default color is `#796EFF` (purple).\n             */\n            backgroundColor: string;\n            /**\n             * Text color of the badge as a hexadecimal rgb color value. The default color is `#FFFFFF` (white).\n             */\n            textColor: string;\n            /**\n             * Badge icon as an SVG image. One of the following:\n             *\n             *   + An external web URL in the following format: `http(s)://`.\n             *   + The [source URL](wix-media-backend.mediaManager.html#getFileUrl) for a Wix Media Manager file. Wix Media Manager file names in a `wix:image://...` format are not supported.\n             */\n            icon: string;\n            /**\n             * ID of the role that badge members are assigned to.\n             */\n            roleId: string;\n            /**\n             * Badge's unique URL as used in a dynamic page.\n             */\n            slug: string;\n            /**\n             * Date and time the badge was created.\n             */\n            createdDate: Date;\n            /**\n             * Date and time the badge was last updated.\n             */\n            updatedDate: Date;\n        };\n        /**\n         * Information to use when creating or updating a badge.\n         */\n        type BadgeInfo = {\n            /**\n             * Badge title.\n             */\n            title: string;\n            /**\n             * Badge description.\n             */\n            description?: string;\n            /**\n             * Background color of the badge as a hexadecimal rgb color value. The default color is `#796EFF` (purple).\n             */\n            backgroundColor?: string;\n            /**\n             * Text color of the badge as a hexadecimal rgb color value. The default color is `#FFFFFF` (white).\n             */\n            textColor?: string;\n            /**\n             * Badge icon as an SVG image. One of the following:\n             *\n             *   + An external web URL in the following format: `http(s)://`.\n             *   + The [source URL](wix-media-backend.mediaManager.html#getFileUrl) for a Wix Media Manager file. Wix Media Manager file names in a `wix:image://...` format are not supported.\n             */\n            icon?: string;\n        };\n        /**\n         * An object representing the badges associated with a member.\n         */\n        type MemberBadges = {\n            /**\n             * Member ID.\n             */\n            memberId: string;\n            /**\n             * IDs of all badges assigned to the specified member.\n             */\n            badgeIds: string[];\n        };\n    }\n    /**\n     * **Deprecated.**\n     * This code will continue to work, but a newer version is available at\n     * [wix-members-backend.authorization](https://www.wix.com/velo/reference/wix-members-backend/authorization).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.Roles.html#)\n     */\n    namespace Roles {\n        /**\n         * An object that you pass as the `options` parameter that modifies how an operation is performed.\n         */\n        type WixRolesOptions = {\n            /**\n             * Prevents permission checks from running for the operation. Defaults to `false`.\n             */\n            suppressAuth: boolean;\n        };\n    }\n    /**\n     * A site member.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users-backend.User.html#)\n     */\n    namespace User {\n        /**\n         * An object returned by the `getPricingPlans()` function representing a user's [pricing plans](https://support.wix.com/en/article/adding-and-setting-up-the-paid-plans-app).\n         */\n        type PricingPlan = {\n            /**\n             * The pricing plan's name.\n             */\n            name: string;\n            /**\n             * The pricing plan's start date.\n             */\n            startDate?: Date;\n            /**\n             * The pricing plan's expiry date.\n             */\n            expiryDate?: Date;\n        };\n        /**\n         * An object returned by the `getRoles()` function representing a user's [roles](https://support.wix.com/en/article/creating-member-roles-6943237).\n         */\n        type UserRole = {\n            /**\n             * Role name as defined in the site's dashboard or one of \"Admin\" or \"Member\".\n             */\n            name: string;\n            /**\n             * Role description, if defined in the site's dashboard.\n             */\n            description?: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-widget.d.ts",
      "content": "/**\n * The wix-widget module contains functionality for working with Blocks widgets from [Blocks Panel](https://support.wix.com/en/article/creating-custom-panels-for-your-widgets-action-bar-buttons) code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-widget.html#)\n */\ndeclare module 'wix-widget' {\n    /**\n     * Gets the widget's current design preset.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-widget.html#getDesignPreset)\n     */\n    function getDesignPreset(): Promise<string>;\n    /**\n     * Gets the `wix-widget` module scoped to an [inner (nested) widget](https://support.wix.com/en/article/wix-blocks-creating-and-managing-widgets-within-widgets).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-widget.html#getNestedWidget)\n     */\n    function getNestedWidget(Selector: string): Promise<any>;\n    /**\n     * Gets the widget's [properties](https://support.wix.com/en/article/wix-blocks-widget-api-properties).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-widget.html#getProps)\n     */\n    function getProps(): Promise<any>;\n    /**\n     * Sets the widget's design preset.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-widget.html#setDesignPreset)\n     */\n    function setDesignPreset(preset: string): Promise<void>;\n    /**\n     * Sets the widget's [properties](https://support.wix.com/en/article/wix-blocks-widget-api-properties). You can also assign a partial subset of the widget's properties.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-widget.html#setProps)\n     */\n    function setProps(props: any): Promise<void>;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/backend/docworks-packages.d.ts",
      "content": "/// <reference path=\"../../common/$widget.d.ts\" />\n/// <reference path=\"../../common/velo-action-spi.d.ts\" />\n/// <reference path=\"../../common/wix-application.d.ts\" />\n/// <reference path=\"../../common/wix-auth.d.ts\" />\n/// <reference path=\"../../common/wix-billing-backend.d.ts\" />\n/// <reference path=\"../../common/wix-bookings-backend.d.ts\" />\n/// <reference path=\"../../common/wix-captcha-backend.d.ts\" />\n/// <reference path=\"../../common/wix-chat-backend.d.ts\" />\n/// <reference path=\"../../common/wix-crm-backend.d.ts\" />\n/// <reference path=\"../../common/wix-data.d.ts\" />\n/// <reference path=\"../../common/wix-data-hooks.d.ts\" />\n/// <reference path=\"../../common/wix-editor.d.ts\" />\n/// <reference path=\"../../common/wix-events-backend.d.ts\" />\n/// <reference path=\"../../common/wix-groups-backend.d.ts\" />\n/// <reference path=\"../../common/wix-marketing-backend.d.ts\" />\n/// <reference path=\"../../common/wix-media-backend.d.ts\" />\n/// <reference path=\"../../common/wix-members-backend.d.ts\" />\n/// <reference path=\"../../common/wix-paid-plans-backend.d.ts\" />\n/// <reference path=\"../../common/wix-pay-backend.d.ts\" />\n/// <reference path=\"../../common/wix-payment-provider-backend.d.ts\" />\n/// <reference path=\"../../common/wix-pricing-plans-backend.d.ts\" />\n/// <reference path=\"../../common/wix-realtime-backend.d.ts\" />\n/// <reference path=\"../../common/wix-search.d.ts\" />\n/// <reference path=\"../../common/wix-secrets-backend.d.ts\" />\n/// <reference path=\"../../common/wix-site-backend.d.ts\" />\n/// <reference path=\"../../common/wix-stores-backend.d.ts\" />\n/// <reference path=\"../../common/wix-users-backend.d.ts\" />\n/// <reference path=\"../../common/wix-widget.d.ts\" />"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/backend/index.d.ts",
      "content": "/// <reference path=\"../../common/wix-sdk-contextual-client.d.ts\" />\n/// <reference path=\"../../common/anyProperties.d.ts\" />\n/// <reference path=\"../../common/$w.d.ts\" />\n/// <reference path=\"../../backend/$w.d.ts\" />\n/// <reference path=\"./wix-packages.d.ts\" />\n/// <reference path=\"./docworks-packages.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/compatibility/disposable.d.ts",
      "content": "// Polyfills for the explicit resource management types added in TypeScript 5.2.\n\ninterface SymbolConstructor {\n    readonly dispose: unique symbol;\n    readonly asyncDispose: unique symbol;\n}\n\ninterface Disposable {\n    [Symbol.dispose](): void;\n}\n\ninterface AsyncDisposable {\n    [Symbol.asyncDispose](): PromiseLike<void>;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/compatibility/indexable.d.ts",
      "content": "// Polyfill for ES2022's .at() method on string/array prototypes, added to TypeScript in 4.6.\n\ninterface RelativeIndexable<T> {\n    at(index: number): T | undefined;\n}\n\ninterface String extends RelativeIndexable<string> {}\ninterface Array<T> extends RelativeIndexable<T> {}\ninterface ReadonlyArray<T> extends RelativeIndexable<T> {}\ninterface Int8Array extends RelativeIndexable<number> {}\ninterface Uint8Array extends RelativeIndexable<number> {}\ninterface Uint8ClampedArray extends RelativeIndexable<number> {}\ninterface Int16Array extends RelativeIndexable<number> {}\ninterface Uint16Array extends RelativeIndexable<number> {}\ninterface Int32Array extends RelativeIndexable<number> {}\ninterface Uint32Array extends RelativeIndexable<number> {}\ninterface Float32Array extends RelativeIndexable<number> {}\ninterface Float64Array extends RelativeIndexable<number> {}\ninterface BigInt64Array extends RelativeIndexable<bigint> {}\ninterface BigUint64Array extends RelativeIndexable<bigint> {}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/compatibility/iterators.d.ts",
      "content": "// Backwards-compatible iterator interfaces, augmented with iterator helper methods by lib.esnext.iterator in TypeScript 5.6.\n// The IterableIterator interface does not contain these methods, which creates assignability issues in places where IteratorObjects\n// are expected (eg. DOM-compatible APIs) if lib.esnext.iterator is loaded.\n// Also ensures that iterators returned by the Node API, which inherit from Iterator.prototype, correctly expose the iterator helper methods\n// if lib.esnext.iterator is loaded.\n\n// Placeholders for TS <5.6\ninterface IteratorObject<T, TReturn, TNext> {}\ninterface AsyncIteratorObject<T, TReturn, TNext> {}\n\ndeclare namespace NodeJS {\n    // Populate iterator methods for TS <5.6\n    interface Iterator<T, TReturn, TNext> extends globalThis.Iterator<T, TReturn, TNext> {}\n    interface AsyncIterator<T, TReturn, TNext> extends globalThis.AsyncIterator<T, TReturn, TNext> {}\n\n    // Polyfill for TS 5.6's instrinsic BuiltinIteratorReturn type, required for DOM-compatible iterators\n    type BuiltinIteratorReturn = ReturnType<any[][typeof Symbol.iterator]> extends\n        globalThis.Iterator<any, infer TReturn> ? TReturn\n        : any;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/compatibility/index.d.ts",
      "content": "// Declaration files in this directory contain types relating to TypeScript library features\n// that are not included in all TypeScript versions supported by DefinitelyTyped, but\n// which can be made backwards-compatible without needing `typesVersions`.\n// If adding declarations to this directory, please specify which versions of TypeScript require them,\n// so that they can be removed when no longer needed.\n\n/// <reference path=\"disposable.d.ts\" />\n/// <reference path=\"indexable.d.ts\" />\n/// <reference path=\"iterators.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/ts5.6/globals.typedarray.d.ts",
      "content": "export {}; // Make this a module\n\ndeclare global {\n    namespace NodeJS {\n        type TypedArray =\n            | Uint8Array\n            | Uint8ClampedArray\n            | Uint16Array\n            | Uint32Array\n            | Int8Array\n            | Int16Array\n            | Int32Array\n            | BigUint64Array\n            | BigInt64Array\n            | Float32Array\n            | Float64Array;\n        type ArrayBufferView = TypedArray | DataView;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/ts5.6/buffer.buffer.d.ts",
      "content": "declare module \"buffer\" {\n    global {\n        interface BufferConstructor {\n            // see ../buffer.d.ts for implementation shared with all TypeScript versions\n\n            /**\n             * Allocates a new buffer containing the given {str}.\n             *\n             * @param str String to store in buffer.\n             * @param encoding encoding to use, optional.  Default is 'utf8'\n             * @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead.\n             */\n            new(str: string, encoding?: BufferEncoding): Buffer;\n            /**\n             * Allocates a new buffer of {size} octets.\n             *\n             * @param size count of octets to allocate.\n             * @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`).\n             */\n            new(size: number): Buffer;\n            /**\n             * Allocates a new buffer containing the given {array} of octets.\n             *\n             * @param array The octets to store.\n             * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead.\n             */\n            new(array: ArrayLike<number>): Buffer;\n            /**\n             * Produces a Buffer backed by the same allocated memory as\n             * the given {ArrayBuffer}/{SharedArrayBuffer}.\n             *\n             * @param arrayBuffer The ArrayBuffer with which to share memory.\n             * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead.\n             */\n            new(arrayBuffer: ArrayBuffer | SharedArrayBuffer): Buffer;\n            /**\n             * Allocates a new `Buffer` using an `array` of bytes in the range `0` – `255`.\n             * Array entries outside that range will be truncated to fit into it.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * // Creates a new Buffer containing the UTF-8 bytes of the string 'buffer'.\n             * const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);\n             * ```\n             * If `array` is an `Array`-like object (that is, one with a `length` property of\n             * type `number`), it is treated as if it is an array, unless it is a `Buffer` or\n             * a `Uint8Array`. This means all other `TypedArray` variants get treated as an\n             * `Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use\n             * `Buffer.copyBytesFrom()`.\n             *\n             * A `TypeError` will be thrown if `array` is not an `Array` or another type\n             * appropriate for `Buffer.from()` variants.\n             *\n             * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal\n             * `Buffer` pool like `Buffer.allocUnsafe()` does.\n             * @since v5.10.0\n             */\n            from(array: WithImplicitCoercion<ArrayLike<number>>): Buffer;\n            /**\n             * This creates a view of the `ArrayBuffer` without copying the underlying\n             * memory. For example, when passed a reference to the `.buffer` property of a\n             * `TypedArray` instance, the newly created `Buffer` will share the same\n             * allocated memory as the `TypedArray`'s underlying `ArrayBuffer`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const arr = new Uint16Array(2);\n             *\n             * arr[0] = 5000;\n             * arr[1] = 4000;\n             *\n             * // Shares memory with `arr`.\n             * const buf = Buffer.from(arr.buffer);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 88 13 a0 0f>\n             *\n             * // Changing the original Uint16Array changes the Buffer also.\n             * arr[1] = 6000;\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 88 13 70 17>\n             * ```\n             * The optional `byteOffset` and `length` arguments specify a memory range within\n             * the `arrayBuffer` that will be shared by the `Buffer`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const ab = new ArrayBuffer(10);\n             * const buf = Buffer.from(ab, 0, 2);\n             *\n             * console.log(buf.length);\n             * // Prints: 2\n             * ```\n             *\n             * A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer` or a\n             * `SharedArrayBuffer` or another type appropriate for `Buffer.from()`\n             * variants.\n             *\n             * It is important to remember that a backing `ArrayBuffer` can cover a range\n             * of memory that extends beyond the bounds of a `TypedArray` view. A new\n             * `Buffer` created using the `buffer` property of a `TypedArray` may extend\n             * beyond the range of the `TypedArray`:\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const arrA = Uint8Array.from([0x63, 0x64, 0x65, 0x66]); // 4 elements\n             * const arrB = new Uint8Array(arrA.buffer, 1, 2); // 2 elements\n             * console.log(arrA.buffer === arrB.buffer); // true\n             *\n             * const buf = Buffer.from(arrB.buffer);\n             * console.log(buf);\n             * // Prints: <Buffer 63 64 65 66>\n             * ```\n             * @since v5.10.0\n             * @param arrayBuffer An `ArrayBuffer`, `SharedArrayBuffer`, for example the\n             * `.buffer` property of a `TypedArray`.\n             * @param byteOffset Index of first byte to expose. **Default:** `0`.\n             * @param length Number of bytes to expose. **Default:**\n             * `arrayBuffer.byteLength - byteOffset`.\n             */\n            from(\n                arrayBuffer: WithImplicitCoercion<ArrayBuffer | SharedArrayBuffer>,\n                byteOffset?: number,\n                length?: number,\n            ): Buffer;\n            /**\n             * Creates a new `Buffer` containing `string`. The `encoding` parameter identifies\n             * the character encoding to be used when converting `string` into bytes.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf1 = Buffer.from('this is a tést');\n             * const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex');\n             *\n             * console.log(buf1.toString());\n             * // Prints: this is a tést\n             * console.log(buf2.toString());\n             * // Prints: this is a tést\n             * console.log(buf1.toString('latin1'));\n             * // Prints: this is a tÃ©st\n             * ```\n             *\n             * A `TypeError` will be thrown if `string` is not a string or another type\n             * appropriate for `Buffer.from()` variants.\n             * @since v5.10.0\n             * @param string A string to encode.\n             * @param encoding The encoding of `string`. **Default:** `'utf8'`.\n             */\n            from(string: WithImplicitCoercion<string>, encoding?: BufferEncoding): Buffer;\n            from(arrayOrString: WithImplicitCoercion<ArrayLike<number> | string>): Buffer;\n            /**\n             * Creates a new Buffer using the passed {data}\n             * @param values to create a new Buffer\n             */\n            of(...items: number[]): Buffer;\n            /**\n             * Returns a new `Buffer` which is the result of concatenating all the `Buffer` instances in the `list` together.\n             *\n             * If the list has no items, or if the `totalLength` is 0, then a new zero-length `Buffer` is returned.\n             *\n             * If `totalLength` is not provided, it is calculated from the `Buffer` instances\n             * in `list` by adding their lengths.\n             *\n             * If `totalLength` is provided, it is coerced to an unsigned integer. If the\n             * combined length of the `Buffer`s in `list` exceeds `totalLength`, the result is\n             * truncated to `totalLength`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * // Create a single `Buffer` from a list of three `Buffer` instances.\n             *\n             * const buf1 = Buffer.alloc(10);\n             * const buf2 = Buffer.alloc(14);\n             * const buf3 = Buffer.alloc(18);\n             * const totalLength = buf1.length + buf2.length + buf3.length;\n             *\n             * console.log(totalLength);\n             * // Prints: 42\n             *\n             * const bufA = Buffer.concat([buf1, buf2, buf3], totalLength);\n             *\n             * console.log(bufA);\n             * // Prints: <Buffer 00 00 00 00 ...>\n             * console.log(bufA.length);\n             * // Prints: 42\n             * ```\n             *\n             * `Buffer.concat()` may also use the internal `Buffer` pool like `Buffer.allocUnsafe()` does.\n             * @since v0.7.11\n             * @param list List of `Buffer` or {@link Uint8Array} instances to concatenate.\n             * @param totalLength Total length of the `Buffer` instances in `list` when concatenated.\n             */\n            concat(list: readonly Uint8Array[], totalLength?: number): Buffer;\n            /**\n             * Copies the underlying memory of `view` into a new `Buffer`.\n             *\n             * ```js\n             * const u16 = new Uint16Array([0, 0xffff]);\n             * const buf = Buffer.copyBytesFrom(u16, 1, 1);\n             * u16[1] = 0;\n             * console.log(buf.length); // 2\n             * console.log(buf[0]); // 255\n             * console.log(buf[1]); // 255\n             * ```\n             * @since v18.16.0\n             * @param view The {TypedArray} to copy.\n             * @param [offset=0] The starting offset within `view`.\n             * @param [length=view.length - offset] The number of elements from `view` to copy.\n             */\n            copyBytesFrom(view: NodeJS.TypedArray, offset?: number, length?: number): Buffer;\n            /**\n             * Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the`Buffer` will be zero-filled.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.alloc(5);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 00 00 00 00 00>\n             * ```\n             *\n             * If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown.\n             *\n             * If `fill` is specified, the allocated `Buffer` will be initialized by calling `buf.fill(fill)`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.alloc(5, 'a');\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 61 61 61 61 61>\n             * ```\n             *\n             * If both `fill` and `encoding` are specified, the allocated `Buffer` will be\n             * initialized by calling `buf.fill(fill, encoding)`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>\n             * ```\n             *\n             * Calling `Buffer.alloc()` can be measurably slower than the alternative `Buffer.allocUnsafe()` but ensures that the newly created `Buffer` instance\n             * contents will never contain sensitive data from previous allocations, including\n             * data that might not have been allocated for `Buffer`s.\n             *\n             * A `TypeError` will be thrown if `size` is not a number.\n             * @since v5.10.0\n             * @param size The desired length of the new `Buffer`.\n             * @param [fill=0] A value to pre-fill the new `Buffer` with.\n             * @param [encoding='utf8'] If `fill` is a string, this is its encoding.\n             */\n            alloc(size: number, fill?: string | Uint8Array | number, encoding?: BufferEncoding): Buffer;\n            /**\n             * Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown.\n             *\n             * The underlying memory for `Buffer` instances created in this way is _not_\n             * _initialized_. The contents of the newly created `Buffer` are unknown and _may contain sensitive data_. Use `Buffer.alloc()` instead to initialize`Buffer` instances with zeroes.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(10);\n             *\n             * console.log(buf);\n             * // Prints (contents may vary): <Buffer a0 8b 28 3f 01 00 00 00 50 32>\n             *\n             * buf.fill(0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 00 00 00 00 00 00 00 00 00 00>\n             * ```\n             *\n             * A `TypeError` will be thrown if `size` is not a number.\n             *\n             * The `Buffer` module pre-allocates an internal `Buffer` instance of\n             * size `Buffer.poolSize` that is used as a pool for the fast allocation of new `Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`,\n             * and `Buffer.concat()` only when `size` is less than `Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two).\n             *\n             * Use of this pre-allocated internal memory pool is a key difference between\n             * calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.\n             * Specifically, `Buffer.alloc(size, fill)` will _never_ use the internal `Buffer`pool, while `Buffer.allocUnsafe(size).fill(fill)`_will_ use the internal`Buffer` pool if `size` is less\n             * than or equal to half `Buffer.poolSize`. The\n             * difference is subtle but can be important when an application requires the\n             * additional performance that `Buffer.allocUnsafe()` provides.\n             * @since v5.10.0\n             * @param size The desired length of the new `Buffer`.\n             */\n            allocUnsafe(size: number): Buffer;\n            /**\n             * Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown. A zero-length `Buffer` is created if\n             * `size` is 0.\n             *\n             * The underlying memory for `Buffer` instances created in this way is _not_\n             * _initialized_. The contents of the newly created `Buffer` are unknown and _may contain sensitive data_. Use `buf.fill(0)` to initialize\n             * such `Buffer` instances with zeroes.\n             *\n             * When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances,\n             * allocations under 4 KiB are sliced from a single pre-allocated `Buffer`. This\n             * allows applications to avoid the garbage collection overhead of creating many\n             * individually allocated `Buffer` instances. This approach improves both\n             * performance and memory usage by eliminating the need to track and clean up as\n             * many individual `ArrayBuffer` objects.\n             *\n             * However, in the case where a developer may need to retain a small chunk of\n             * memory from a pool for an indeterminate amount of time, it may be appropriate\n             * to create an un-pooled `Buffer` instance using `Buffer.allocUnsafeSlow()` and\n             * then copying out the relevant bits.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * // Need to keep around a few small chunks of memory.\n             * const store = [];\n             *\n             * socket.on('readable', () => {\n             *   let data;\n             *   while (null !== (data = readable.read())) {\n             *     // Allocate for retained data.\n             *     const sb = Buffer.allocUnsafeSlow(10);\n             *\n             *     // Copy the data into the new allocation.\n             *     data.copy(sb, 0, 0, 10);\n             *\n             *     store.push(sb);\n             *   }\n             * });\n             * ```\n             *\n             * A `TypeError` will be thrown if `size` is not a number.\n             * @since v5.12.0\n             * @param size The desired length of the new `Buffer`.\n             */\n            allocUnsafeSlow(size: number): Buffer;\n        }\n        interface Buffer extends Uint8Array {\n            // see ../buffer.d.ts for implementation shared with all TypeScript versions\n\n            /**\n             * Returns a new `Buffer` that references the same memory as the original, but\n             * offset and cropped by the `start` and `end` indices.\n             *\n             * This method is not compatible with the `Uint8Array.prototype.slice()`,\n             * which is a superclass of `Buffer`. To copy the slice, use`Uint8Array.prototype.slice()`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from('buffer');\n             *\n             * const copiedBuf = Uint8Array.prototype.slice.call(buf);\n             * copiedBuf[0]++;\n             * console.log(copiedBuf.toString());\n             * // Prints: cuffer\n             *\n             * console.log(buf.toString());\n             * // Prints: buffer\n             *\n             * // With buf.slice(), the original buffer is modified.\n             * const notReallyCopiedBuf = buf.slice();\n             * notReallyCopiedBuf[0]++;\n             * console.log(notReallyCopiedBuf.toString());\n             * // Prints: cuffer\n             * console.log(buf.toString());\n             * // Also prints: cuffer (!)\n             * ```\n             * @since v0.3.0\n             * @deprecated Use `subarray` instead.\n             * @param [start=0] Where the new `Buffer` will start.\n             * @param [end=buf.length] Where the new `Buffer` will end (not inclusive).\n             */\n            slice(start?: number, end?: number): Buffer;\n            /**\n             * Returns a new `Buffer` that references the same memory as the original, but\n             * offset and cropped by the `start` and `end` indices.\n             *\n             * Specifying `end` greater than `buf.length` will return the same result as\n             * that of `end` equal to `buf.length`.\n             *\n             * This method is inherited from [`TypedArray.prototype.subarray()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray).\n             *\n             * Modifying the new `Buffer` slice will modify the memory in the original `Buffer`because the allocated memory of the two objects overlap.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * // Create a `Buffer` with the ASCII alphabet, take a slice, and modify one byte\n             * // from the original `Buffer`.\n             *\n             * const buf1 = Buffer.allocUnsafe(26);\n             *\n             * for (let i = 0; i < 26; i++) {\n             *   // 97 is the decimal ASCII value for 'a'.\n             *   buf1[i] = i + 97;\n             * }\n             *\n             * const buf2 = buf1.subarray(0, 3);\n             *\n             * console.log(buf2.toString('ascii', 0, buf2.length));\n             * // Prints: abc\n             *\n             * buf1[0] = 33;\n             *\n             * console.log(buf2.toString('ascii', 0, buf2.length));\n             * // Prints: !bc\n             * ```\n             *\n             * Specifying negative indexes causes the slice to be generated relative to the\n             * end of `buf` rather than the beginning.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from('buffer');\n             *\n             * console.log(buf.subarray(-6, -1).toString());\n             * // Prints: buffe\n             * // (Equivalent to buf.subarray(0, 5).)\n             *\n             * console.log(buf.subarray(-6, -2).toString());\n             * // Prints: buff\n             * // (Equivalent to buf.subarray(0, 4).)\n             *\n             * console.log(buf.subarray(-5, -2).toString());\n             * // Prints: uff\n             * // (Equivalent to buf.subarray(1, 4).)\n             * ```\n             * @since v3.0.0\n             * @param [start=0] Where the new `Buffer` will start.\n             * @param [end=buf.length] Where the new `Buffer` will end (not inclusive).\n             */\n            subarray(start?: number, end?: number): Buffer;\n        }\n        type NonSharedBuffer = Buffer;\n        type AllowSharedBuffer = Buffer;\n    }\n    /** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */\n    var SlowBuffer: {\n        /** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */\n        new(size: number): Buffer;\n        prototype: Buffer;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/globals.d.ts",
      "content": "declare var global: typeof globalThis;\n\ndeclare var process: NodeJS.Process;\ndeclare var console: Console;\n\ninterface ErrorConstructor {\n    /**\n     * Creates a `.stack` property on `targetObject`, which when accessed returns\n     * a string representing the location in the code at which\n     * `Error.captureStackTrace()` was called.\n     *\n     * ```js\n     * const myObject = {};\n     * Error.captureStackTrace(myObject);\n     * myObject.stack;  // Similar to `new Error().stack`\n     * ```\n     *\n     * The first line of the trace will be prefixed with\n     * `${myObject.name}: ${myObject.message}`.\n     *\n     * The optional `constructorOpt` argument accepts a function. If given, all frames\n     * above `constructorOpt`, including `constructorOpt`, will be omitted from the\n     * generated stack trace.\n     *\n     * The `constructorOpt` argument is useful for hiding implementation\n     * details of error generation from the user. For instance:\n     *\n     * ```js\n     * function a() {\n     *   b();\n     * }\n     *\n     * function b() {\n     *   c();\n     * }\n     *\n     * function c() {\n     *   // Create an error without stack trace to avoid calculating the stack trace twice.\n     *   const { stackTraceLimit } = Error;\n     *   Error.stackTraceLimit = 0;\n     *   const error = new Error();\n     *   Error.stackTraceLimit = stackTraceLimit;\n     *\n     *   // Capture the stack trace above function b\n     *   Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace\n     *   throw error;\n     * }\n     *\n     * a();\n     * ```\n     */\n    captureStackTrace(targetObject: object, constructorOpt?: Function): void;\n    /**\n     * @see https://v8.dev/docs/stack-trace-api#customizing-stack-traces\n     */\n    prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;\n    /**\n     * The `Error.stackTraceLimit` property specifies the number of stack frames\n     * collected by a stack trace (whether generated by `new Error().stack` or\n     * `Error.captureStackTrace(obj)`).\n     *\n     * The default value is `10` but may be set to any valid JavaScript number. Changes\n     * will affect any stack trace captured _after_ the value has been changed.\n     *\n     * If set to a non-number value, or set to a negative number, stack traces will\n     * not capture any frames.\n     */\n    stackTraceLimit: number;\n}\n\n/**\n * Enable this API with the `--expose-gc` CLI flag.\n */\ndeclare var gc: NodeJS.GCFunction | undefined;\n\ndeclare namespace NodeJS {\n    interface CallSite {\n        getColumnNumber(): number | null;\n        getEnclosingColumnNumber(): number | null;\n        getEnclosingLineNumber(): number | null;\n        getEvalOrigin(): string | undefined;\n        getFileName(): string | null;\n        getFunction(): Function | undefined;\n        getFunctionName(): string | null;\n        getLineNumber(): number | null;\n        getMethodName(): string | null;\n        getPosition(): number;\n        getPromiseIndex(): number | null;\n        getScriptHash(): string;\n        getScriptNameOrSourceURL(): string | null;\n        getThis(): unknown;\n        getTypeName(): string | null;\n        isAsync(): boolean;\n        isConstructor(): boolean;\n        isEval(): boolean;\n        isNative(): boolean;\n        isPromiseAll(): boolean;\n        isToplevel(): boolean;\n    }\n\n    interface ErrnoException extends Error {\n        errno?: number | undefined;\n        code?: string | undefined;\n        path?: string | undefined;\n        syscall?: string | undefined;\n    }\n\n    interface ReadableStream extends EventEmitter {\n        readable: boolean;\n        read(size?: number): string | Buffer;\n        setEncoding(encoding: BufferEncoding): this;\n        pause(): this;\n        resume(): this;\n        isPaused(): boolean;\n        pipe<T extends WritableStream>(destination: T, options?: { end?: boolean | undefined }): T;\n        unpipe(destination?: WritableStream): this;\n        unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void;\n        wrap(oldStream: ReadableStream): this;\n        [Symbol.asyncIterator](): AsyncIterableIterator<string | Buffer>;\n    }\n\n    interface WritableStream extends EventEmitter {\n        writable: boolean;\n        write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean;\n        write(str: string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean;\n        end(cb?: () => void): this;\n        end(data: string | Uint8Array, cb?: () => void): this;\n        end(str: string, encoding?: BufferEncoding, cb?: () => void): this;\n    }\n\n    interface ReadWriteStream extends ReadableStream, WritableStream {}\n\n    interface RefCounted {\n        ref(): this;\n        unref(): this;\n    }\n\n    interface Dict<T> {\n        [key: string]: T | undefined;\n    }\n\n    interface ReadOnlyDict<T> {\n        readonly [key: string]: T | undefined;\n    }\n\n    type PartialOptions<T> = { [K in keyof T]?: T[K] | undefined };\n\n    interface GCFunction {\n        (minor?: boolean): void;\n        (options: NodeJS.GCOptions & { execution: \"async\" }): Promise<void>;\n        (options: NodeJS.GCOptions): void;\n    }\n\n    interface GCOptions {\n        execution?: \"sync\" | \"async\" | undefined;\n        type?: \"major\" | \"minor\" | undefined;\n    }\n\n    /** An iterable iterator returned by the Node.js API. */\n    // Default TReturn/TNext in v18 is `any`, for compatibility with the previously-used IterableIterator.\n    interface Iterator<T, TReturn = any, TNext = any> extends IteratorObject<T, TReturn, TNext> {\n        [Symbol.iterator](): NodeJS.Iterator<T, TReturn, TNext>;\n    }\n\n    /** An async iterable iterator returned by the Node.js API. */\n    // Default TReturn/TNext in v18 is `any`, for compatibility with the previously-used AsyncIterableIterator.\n    interface AsyncIterator<T, TReturn = any, TNext = any> extends AsyncIteratorObject<T, TReturn, TNext> {\n        [Symbol.asyncIterator](): NodeJS.AsyncIterator<T, TReturn, TNext>;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/web-globals/abortcontroller.d.ts",
      "content": "export {};\n\ntype _AbortController = typeof globalThis extends { onmessage: any } ? {} : AbortController;\ninterface AbortController {\n    readonly signal: AbortSignal;\n    abort(reason?: any): void;\n}\n\ntype _AbortSignal = typeof globalThis extends { onmessage: any } ? {} : AbortSignal;\ninterface AbortSignal extends EventTarget {\n    readonly aborted: boolean;\n    onabort: ((this: AbortSignal, ev: Event) => any) | null;\n    readonly reason: any;\n    throwIfAborted(): void;\n}\n\ndeclare global {\n    interface AbortController extends _AbortController {}\n    var AbortController: typeof globalThis extends { onmessage: any; AbortController: infer T } ? T\n        : {\n            prototype: AbortController;\n            new(): AbortController;\n        };\n\n    interface AbortSignal extends _AbortSignal {}\n    var AbortSignal: typeof globalThis extends { onmessage: any; AbortSignal: infer T } ? T\n        : {\n            prototype: AbortSignal;\n            new(): AbortSignal;\n            abort(reason?: any): AbortSignal;\n            any(signals: AbortSignal[]): AbortSignal;\n            timeout(milliseconds: number): AbortSignal;\n        };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/web-globals/domexception.d.ts",
      "content": "export {};\n\ntype _DOMException = typeof globalThis extends { onmessage: any } ? {} : DOMException;\ninterface DOMException extends Error {\n    readonly code: number;\n    readonly message: string;\n    readonly name: string;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n}\n\ndeclare global {\n    interface DOMException extends _DOMException {}\n    var DOMException: typeof globalThis extends { onmessage: any; DOMException: infer T } ? T\n        : {\n            prototype: DOMException;\n            new(message?: string, name?: string): DOMException;\n            new(message?: string, options?: { name?: string; cause?: unknown }): DOMException;\n            readonly INDEX_SIZE_ERR: 1;\n            readonly DOMSTRING_SIZE_ERR: 2;\n            readonly HIERARCHY_REQUEST_ERR: 3;\n            readonly WRONG_DOCUMENT_ERR: 4;\n            readonly INVALID_CHARACTER_ERR: 5;\n            readonly NO_DATA_ALLOWED_ERR: 6;\n            readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n            readonly NOT_FOUND_ERR: 8;\n            readonly NOT_SUPPORTED_ERR: 9;\n            readonly INUSE_ATTRIBUTE_ERR: 10;\n            readonly INVALID_STATE_ERR: 11;\n            readonly SYNTAX_ERR: 12;\n            readonly INVALID_MODIFICATION_ERR: 13;\n            readonly NAMESPACE_ERR: 14;\n            readonly INVALID_ACCESS_ERR: 15;\n            readonly VALIDATION_ERR: 16;\n            readonly TYPE_MISMATCH_ERR: 17;\n            readonly SECURITY_ERR: 18;\n            readonly NETWORK_ERR: 19;\n            readonly ABORT_ERR: 20;\n            readonly URL_MISMATCH_ERR: 21;\n            readonly QUOTA_EXCEEDED_ERR: 22;\n            readonly TIMEOUT_ERR: 23;\n            readonly INVALID_NODE_TYPE_ERR: 24;\n            readonly DATA_CLONE_ERR: 25;\n        };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/web-globals/events.d.ts",
      "content": "export {};\n\ninterface AddEventListenerOptions extends EventListenerOptions {\n    once?: boolean;\n    passive?: boolean;\n    signal?: AbortSignal;\n}\n\ntype _Event = typeof globalThis extends { onmessage: any } ? {} : Event;\ninterface Event {\n    readonly bubbles: boolean;\n    cancelBubble: boolean;\n    readonly cancelable: boolean;\n    readonly composed: boolean;\n    readonly currentTarget: EventTarget | null;\n    readonly defaultPrevented: boolean;\n    readonly eventPhase: 0 | 2;\n    readonly isTrusted: boolean;\n    returnValue: boolean;\n    readonly srcElement: EventTarget | null;\n    readonly target: EventTarget | null;\n    readonly timeStamp: number;\n    readonly type: string;\n    composedPath(): [EventTarget?];\n    initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void;\n    preventDefault(): void;\n    stopImmediatePropagation(): void;\n    stopPropagation(): void;\n}\n\ninterface EventInit {\n    bubbles?: boolean;\n    cancelable?: boolean;\n    composed?: boolean;\n}\n\ninterface EventListener {\n    (evt: Event): void;\n}\n\ninterface EventListenerObject {\n    handleEvent(object: Event): void;\n}\n\ntype _EventListenerOptions = typeof globalThis extends { onmessage: any } ? {} : EventListenerOptions;\ninterface EventListenerOptions {\n    capture?: boolean;\n}\n\ntype _EventTarget = typeof globalThis extends { onmessage: any } ? {} : EventTarget;\ninterface EventTarget {\n    addEventListener(\n        type: string,\n        listener: EventListener | EventListenerObject,\n        options?: AddEventListenerOptions | boolean,\n    ): void;\n    dispatchEvent(event: Event): boolean;\n    removeEventListener(\n        type: string,\n        listener: EventListener | EventListenerObject,\n        options?: EventListenerOptions | boolean,\n    ): void;\n}\n\ndeclare global {\n    interface Event extends _Event {}\n    var Event: typeof globalThis extends { onmessage: any; Event: infer T } ? T\n        : {\n            prototype: Event;\n            new(type: string, eventInitDict?: EventInit): Event;\n        };\n\n    interface EventListenerOptions extends _EventListenerOptions {}\n\n    interface EventTarget extends _EventTarget {}\n    var EventTarget: typeof globalThis extends { onmessage: any; EventTarget: infer T } ? T\n        : {\n            prototype: EventTarget;\n            new(): EventTarget;\n        };\n}\n"
    },
    {
      "path": "@wix/wix-code-types//home/builduser/work/b98898ac391e73ab/node_modules/buffer/index.d.ts",
      "content": "export class Buffer extends Uint8Array {\n    length: number\n    write(string: string, offset?: number, length?: number, encoding?: string): number;\n    toString(encoding?: string, start?: number, end?: number): string;\n    toJSON(): { type: 'Buffer', data: any[] };\n    equals(otherBuffer: Buffer): boolean;\n    compare(otherBuffer: Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number;\n    copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;\n    slice(start?: number, end?: number): Buffer;\n    writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;\n    writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;\n    writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;\n    writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;\n    readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number;\n    readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number;\n    readIntLE(offset: number, byteLength: number, noAssert?: boolean): number;\n    readIntBE(offset: number, byteLength: number, noAssert?: boolean): number;\n    readUInt8(offset: number, noAssert?: boolean): number;\n    readUInt16LE(offset: number, noAssert?: boolean): number;\n    readUInt16BE(offset: number, noAssert?: boolean): number;\n    readUInt32LE(offset: number, noAssert?: boolean): number;\n    readUInt32BE(offset: number, noAssert?: boolean): number;\n    readBigUInt64LE(offset: number): BigInt;\n    readBigUInt64BE(offset: number): BigInt;\n    readInt8(offset: number, noAssert?: boolean): number;\n    readInt16LE(offset: number, noAssert?: boolean): number;\n    readInt16BE(offset: number, noAssert?: boolean): number;\n    readInt32LE(offset: number, noAssert?: boolean): number;\n    readInt32BE(offset: number, noAssert?: boolean): number;\n    readBigInt64LE(offset: number): BigInt;\n    readBigInt64BE(offset: number): BigInt;\n    readFloatLE(offset: number, noAssert?: boolean): number;\n    readFloatBE(offset: number, noAssert?: boolean): number;\n    readDoubleLE(offset: number, noAssert?: boolean): number;\n    readDoubleBE(offset: number, noAssert?: boolean): number;\n    reverse(): this;\n    swap16(): Buffer;\n    swap32(): Buffer;\n    swap64(): Buffer;\n    writeUInt8(value: number, offset: number, noAssert?: boolean): number;\n    writeUInt16LE(value: number, offset: number, noAssert?: boolean): number;\n    writeUInt16BE(value: number, offset: number, noAssert?: boolean): number;\n    writeUInt32LE(value: number, offset: number, noAssert?: boolean): number;\n    writeUInt32BE(value: number, offset: number, noAssert?: boolean): number;\n    writeBigUInt64LE(value: number, offset: number): BigInt;\n    writeBigUInt64BE(value: number, offset: number): BigInt;\n    writeInt8(value: number, offset: number, noAssert?: boolean): number;\n    writeInt16LE(value: number, offset: number, noAssert?: boolean): number;\n    writeInt16BE(value: number, offset: number, noAssert?: boolean): number;\n    writeInt32LE(value: number, offset: number, noAssert?: boolean): number;\n    writeInt32BE(value: number, offset: number, noAssert?: boolean): number;\n    writeBigInt64LE(value: number, offset: number): BigInt;\n    writeBigInt64BE(value: number, offset: number): BigInt;\n    writeFloatLE(value: number, offset: number, noAssert?: boolean): number;\n    writeFloatBE(value: number, offset: number, noAssert?: boolean): number;\n    writeDoubleLE(value: number, offset: number, noAssert?: boolean): number;\n    writeDoubleBE(value: number, offset: number, noAssert?: boolean): number;\n    fill(value: any, offset?: number, end?: number): this;\n    indexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number;\n    lastIndexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number;\n    includes(value: string | number | Buffer, byteOffset?: number, encoding?: string): boolean;\n\n    /**\n     * Allocates a new buffer containing the given {str}.\n     *\n     * @param str String to store in buffer.\n     * @param encoding encoding to use, optional.  Default is 'utf8'\n     */\n    constructor (str: string, encoding?: string);\n    /**\n     * Allocates a new buffer of {size} octets.\n     *\n     * @param size count of octets to allocate.\n     */\n    constructor (size: number);\n    /**\n     * Allocates a new buffer containing the given {array} of octets.\n     *\n     * @param array The octets to store.\n     */\n    constructor (array: Uint8Array);\n    /**\n     * Produces a Buffer backed by the same allocated memory as\n     * the given {ArrayBuffer}.\n     *\n     *\n     * @param arrayBuffer The ArrayBuffer with which to share memory.\n     */\n    constructor (arrayBuffer: ArrayBuffer);\n    /**\n     * Allocates a new buffer containing the given {array} of octets.\n     *\n     * @param array The octets to store.\n     */\n    constructor (array: any[]);\n    /**\n     * Copies the passed {buffer} data onto a new {Buffer} instance.\n     *\n     * @param buffer The buffer to copy.\n     */\n    constructor (buffer: Buffer);\n    prototype: Buffer;\n    /**\n     * Allocates a new Buffer using an {array} of octets.\n     *\n     * @param array\n     */\n    static from(array: any[]): Buffer;\n    /**\n     * When passed a reference to the .buffer property of a TypedArray instance,\n     * the newly created Buffer will share the same allocated memory as the TypedArray.\n     * The optional {byteOffset} and {length} arguments specify a memory range\n     * within the {arrayBuffer} that will be shared by the Buffer.\n     *\n     * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer()\n     * @param byteOffset\n     * @param length\n     */\n    static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer;\n    /**\n     * Copies the passed {buffer} data onto a new Buffer instance.\n     *\n     * @param buffer\n     */\n    static from(buffer: Buffer | Uint8Array): Buffer;\n    /**\n     * Creates a new Buffer containing the given JavaScript string {str}.\n     * If provided, the {encoding} parameter identifies the character encoding.\n     * If not provided, {encoding} defaults to 'utf8'.\n     *\n     * @param str\n     */\n    static from(str: string, encoding?: string): Buffer;\n    /**\n     * Returns true if {obj} is a Buffer\n     *\n     * @param obj object to test.\n     */\n    static isBuffer(obj: any): obj is Buffer;\n    /**\n     * Returns true if {encoding} is a valid encoding argument.\n     * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'\n     *\n     * @param encoding string to test.\n     */\n    static isEncoding(encoding: string): boolean;\n    /**\n     * Gives the actual byte length of a string. encoding defaults to 'utf8'.\n     * This is not the same as String.prototype.length since that returns the number of characters in a string.\n     *\n     * @param string string to test.\n     * @param encoding encoding used to evaluate (defaults to 'utf8')\n     */\n    static byteLength(string: string, encoding?: string): number;\n    /**\n     * Returns a buffer which is the result of concatenating all the buffers in the list together.\n     *\n     * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer.\n     * If the list has exactly one item, then the first item of the list is returned.\n     * If the list has more than one item, then a new Buffer is created.\n     *\n     * @param list An array of Buffer objects to concatenate\n     * @param totalLength Total length of the buffers when concatenated.\n     *   If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly.\n     */\n    static concat(list: Uint8Array[], totalLength?: number): Buffer;\n    /**\n     * The same as buf1.compare(buf2).\n     */\n    static compare(buf1: Uint8Array, buf2: Uint8Array): number;\n    /**\n     * Allocates a new buffer of {size} octets.\n     *\n     * @param size count of octets to allocate.\n     * @param fill if specified, buffer will be initialized by calling buf.fill(fill).\n     *    If parameter is omitted, buffer will be filled with zeros.\n     * @param encoding encoding used for call to buf.fill while initializing\n     */\n    static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer;\n    /**\n     * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents\n     * of the newly created Buffer are unknown and may contain sensitive data.\n     *\n     * @param size count of octets to allocate\n     */\n    static allocUnsafe(size: number): Buffer;\n    /**\n     * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents\n     * of the newly created Buffer are unknown and may contain sensitive data.\n     *\n     * @param size count of octets to allocate\n     */\n    static allocUnsafeSlow(size: number): Buffer;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/header.d.ts",
      "content": "/**\n * The header type declaration of `undici`.\n */\nexport type IncomingHttpHeaders = Record<string, string | string[] | undefined>;\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/readable.d.ts",
      "content": "import { Readable } from \"stream\";\nimport { Blob } from 'buffer'\n\nexport default BodyReadable\n\ndeclare class BodyReadable extends Readable {\n  constructor(\n    resume?: (this: Readable, size: number) => void | null,\n    abort?: () => void | null,\n    contentType?: string\n  )\n\n  /** Consumes and returns the body as a string\n   *  https://fetch.spec.whatwg.org/#dom-body-text\n   */\n  text(): Promise<string>\n\n  /** Consumes and returns the body as a JavaScript Object\n   *  https://fetch.spec.whatwg.org/#dom-body-json\n   */\n  json(): Promise<unknown>\n\n  /** Consumes and returns the body as a Blob\n   *  https://fetch.spec.whatwg.org/#dom-body-blob\n   */\n  blob(): Promise<Blob>\n\n  /** Consumes and returns the body as an ArrayBuffer\n   *  https://fetch.spec.whatwg.org/#dom-body-arraybuffer\n   */\n  arrayBuffer(): Promise<ArrayBuffer>\n\n  /** Not implemented\n   *\n   *  https://fetch.spec.whatwg.org/#dom-body-formdata\n   */\n  formData(): Promise<never>\n\n  /** Returns true if the body is not null and the body has been consumed\n   *\n   *  Otherwise, returns false\n   *\n   * https://fetch.spec.whatwg.org/#dom-body-bodyused\n   */\n  readonly bodyUsed: boolean\n\n  /** Throws on node 16.6.0\n   *\n   *  If body is null, it should return null as the body\n   *\n   *  If body is not null, should return the body as a ReadableStream\n   *\n   *  https://fetch.spec.whatwg.org/#dom-body-body\n   */\n  readonly body: never | undefined\n\n  /** Dumps the response body by reading `limit` number of bytes.\n   * @param opts.limit Number of bytes to read (optional) - Default: 262144\n   */\n  dump(opts?: { limit: number }): Promise<void>\n}\n"
    },
    {
      "path": "@wix/wix-code-types//home/builduser/work/b98898ac391e73ab/node_modules/@types/node/ts5.6/index.d.ts",
      "content": "/**\n * License for programmatically and manually incorporated\n * documentation aka. `JSDoc` from https://github.com/nodejs/node/tree/master/doc\n *\n * Copyright Node.js contributors. All rights reserved.\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\n// NOTE: These definitions support Node.js and TypeScript 4.9 through 5.6.\n\n// Reference required TypeScript libs:\n/// <reference lib=\"es2020\" />\n\n// TypeScript backwards-compatibility definitions:\n/// <reference path=\"../compatibility/index.d.ts\" />\n\n// Definitions specific to TypeScript 4.9 through 5.6:\n/// <reference path=\"./globals.typedarray.d.ts\" />\n/// <reference path=\"./buffer.buffer.d.ts\" />\n\n// Definitions for Node.js modules that are not specific to any version of TypeScript:\n/// <reference path=\"../globals.d.ts\" />\n/// <reference path=\"../web-globals/abortcontroller.d.ts\" />\n/// <reference path=\"../web-globals/domexception.d.ts\" />\n/// <reference path=\"../web-globals/events.d.ts\" />\n/// <reference path=\"../web-globals/fetch.d.ts\" />\n/// <reference path=\"../assert.d.ts\" />\n/// <reference path=\"../assert/strict.d.ts\" />\n/// <reference path=\"../async_hooks.d.ts\" />\n/// <reference path=\"../buffer.d.ts\" />\n/// <reference path=\"../child_process.d.ts\" />\n/// <reference path=\"../cluster.d.ts\" />\n/// <reference path=\"../console.d.ts\" />\n/// <reference path=\"../constants.d.ts\" />\n/// <reference path=\"../crypto.d.ts\" />\n/// <reference path=\"../dgram.d.ts\" />\n/// <reference path=\"../diagnostics_channel.d.ts\" />\n/// <reference path=\"../dns.d.ts\" />\n/// <reference path=\"../dns/promises.d.ts\" />\n/// <reference path=\"../domain.d.ts\" />\n/// <reference path=\"../events.d.ts\" />\n/// <reference path=\"../fs.d.ts\" />\n/// <reference path=\"../fs/promises.d.ts\" />\n/// <reference path=\"../http.d.ts\" />\n/// <reference path=\"../http2.d.ts\" />\n/// <reference path=\"../https.d.ts\" />\n/// <reference path=\"../inspector.generated.d.ts\" />\n/// <reference path=\"../module.d.ts\" />\n/// <reference path=\"../net.d.ts\" />\n/// <reference path=\"../os.d.ts\" />\n/// <reference path=\"../path.d.ts\" />\n/// <reference path=\"../perf_hooks.d.ts\" />\n/// <reference path=\"../process.d.ts\" />\n/// <reference path=\"../punycode.d.ts\" />\n/// <reference path=\"../querystring.d.ts\" />\n/// <reference path=\"../readline.d.ts\" />\n/// <reference path=\"../readline/promises.d.ts\" />\n/// <reference path=\"../repl.d.ts\" />\n/// <reference path=\"../stream.d.ts\" />\n/// <reference path=\"../stream/promises.d.ts\" />\n/// <reference path=\"../stream/consumers.d.ts\" />\n/// <reference path=\"../stream/web.d.ts\" />\n/// <reference path=\"../string_decoder.d.ts\" />\n/// <reference path=\"../test.d.ts\" />\n/// <reference path=\"../timers.d.ts\" />\n/// <reference path=\"../timers/promises.d.ts\" />\n/// <reference path=\"../tls.d.ts\" />\n/// <reference path=\"../trace_events.d.ts\" />\n/// <reference path=\"../tty.d.ts\" />\n/// <reference path=\"../url.d.ts\" />\n/// <reference path=\"../util.d.ts\" />\n/// <reference path=\"../v8.d.ts\" />\n/// <reference path=\"../vm.d.ts\" />\n/// <reference path=\"../wasi.d.ts\" />\n/// <reference path=\"../worker_threads.d.ts\" />\n/// <reference path=\"../zlib.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/file.d.ts",
      "content": "// Based on https://github.com/octet-stream/form-data/blob/2d0f0dc371517444ce1f22cdde13f51995d0953a/lib/File.ts (MIT)\n/// <reference types=\"node\" />\n\nimport { Blob } from 'buffer'\n\nexport interface BlobPropertyBag {\n  type?: string\n  endings?: 'native' | 'transparent'\n}\n\nexport interface FilePropertyBag extends BlobPropertyBag {\n  /**\n   * The last modified date of the file as the number of milliseconds since the Unix epoch (January 1, 1970 at midnight). Files without a known last modified date return the current date.\n   */\n  lastModified?: number\n}\n\nexport declare class File extends Blob {\n  /**\n   * Creates a new File instance.\n   *\n   * @param fileBits An `Array` strings, or [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer), [`ArrayBufferView`](https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView), [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) objects, or a mix of any of such objects, that will be put inside the [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File).\n   * @param fileName The name of the file.\n   * @param options An options object containing optional attributes for the file.\n   */\n  constructor(fileBits: ReadonlyArray<string | NodeJS.ArrayBufferView | Blob>, fileName: string, options?: FilePropertyBag)\n\n  /**\n   * Name of the file referenced by the File object.\n   */\n  readonly name: string\n\n  /**\n   * The last modified date of the file as the number of milliseconds since the Unix epoch (January 1, 1970 at midnight). Files without a known last modified date return the current date.\n   */\n  readonly lastModified: number\n\n  readonly [Symbol.toStringTag]: string\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/fetch.d.ts",
      "content": "// based on https://github.com/Ethan-Arrowood/undici-fetch/blob/249269714db874351589d2d364a0645d5160ae71/index.d.ts (MIT license)\n// and https://github.com/node-fetch/node-fetch/blob/914ce6be5ec67a8bab63d68510aabf07cb818b6d/index.d.ts (MIT license)\n/// <reference types=\"node\" />\n\nimport { Blob } from 'buffer'\nimport { URL, URLSearchParams } from 'url'\nimport { ReadableStream } from 'stream/web'\nimport { FormData } from './formdata'\n\nimport Dispatcher from './dispatcher'\n\nexport type RequestInfo = string | URL | Request\n\nexport declare function fetch (\n  input: RequestInfo,\n  init?: RequestInit\n): Promise<Response>\n\nexport type BodyInit =\n  | ArrayBuffer\n  | AsyncIterable<Uint8Array>\n  | Blob\n  | FormData\n  | Iterable<Uint8Array>\n  | NodeJS.ArrayBufferView\n  | URLSearchParams\n  | null\n  | string\n\nexport interface BodyMixin {\n  readonly body: ReadableStream | null\n  readonly bodyUsed: boolean\n\n  readonly arrayBuffer: () => Promise<ArrayBuffer>\n  readonly blob: () => Promise<Blob>\n  readonly formData: () => Promise<FormData>\n  readonly json: () => Promise<unknown>\n  readonly text: () => Promise<string>\n}\n\nexport interface SpecIterator<T, TReturn = any, TNext = undefined> {\n  next(...args: [] | [TNext]): IteratorResult<T, TReturn>;\n}\n\nexport interface SpecIterableIterator<T> extends SpecIterator<T> {\n  [Symbol.iterator](): SpecIterableIterator<T>;\n}\n\nexport interface SpecIterable<T> {\n  [Symbol.iterator](): SpecIterator<T>;\n}\n\nexport type HeadersInit = string[][] | Record<string, string | ReadonlyArray<string>> | Headers\n\nexport declare class Headers implements SpecIterable<[string, string]> {\n  constructor (init?: HeadersInit)\n  readonly append: (name: string, value: string) => void\n  readonly delete: (name: string) => void\n  readonly get: (name: string) => string | null\n  readonly has: (name: string) => boolean\n  readonly set: (name: string, value: string) => void\n  readonly getSetCookie: () => string[]\n  readonly forEach: (\n    callbackfn: (value: string, key: string, iterable: Headers) => void,\n    thisArg?: unknown\n  ) => void\n\n  readonly keys: () => SpecIterableIterator<string>\n  readonly values: () => SpecIterableIterator<string>\n  readonly entries: () => SpecIterableIterator<[string, string]>\n  readonly [Symbol.iterator]: () => SpecIterator<[string, string]>\n}\n\nexport type RequestCache =\n  | 'default'\n  | 'force-cache'\n  | 'no-cache'\n  | 'no-store'\n  | 'only-if-cached'\n  | 'reload'\n\nexport type RequestCredentials = 'omit' | 'include' | 'same-origin'\n\ntype RequestDestination =\n  | ''\n  | 'audio'\n  | 'audioworklet'\n  | 'document'\n  | 'embed'\n  | 'font'\n  | 'image'\n  | 'manifest'\n  | 'object'\n  | 'paintworklet'\n  | 'report'\n  | 'script'\n  | 'sharedworker'\n  | 'style'\n  | 'track'\n  | 'video'\n  | 'worker'\n  | 'xslt'\n\nexport interface RequestInit {\n  method?: string\n  keepalive?: boolean\n  headers?: HeadersInit\n  body?: BodyInit\n  redirect?: RequestRedirect\n  integrity?: string\n  signal?: AbortSignal\n  credentials?: RequestCredentials\n  mode?: RequestMode\n  referrer?: string\n  referrerPolicy?: ReferrerPolicy\n  window?: null\n  dispatcher?: Dispatcher\n  duplex?: RequestDuplex\n}\n\nexport type ReferrerPolicy =\n  | ''\n  | 'no-referrer'\n  | 'no-referrer-when-downgrade'\n  | 'origin'\n  | 'origin-when-cross-origin'\n  | 'same-origin'\n  | 'strict-origin'\n  | 'strict-origin-when-cross-origin'\n  | 'unsafe-url';\n\nexport type RequestMode = 'cors' | 'navigate' | 'no-cors' | 'same-origin'\n\nexport type RequestRedirect = 'error' | 'follow' | 'manual'\n\nexport type RequestDuplex = 'half'\n\nexport declare class Request implements BodyMixin {\n  constructor (input: RequestInfo, init?: RequestInit)\n\n  readonly cache: RequestCache\n  readonly credentials: RequestCredentials\n  readonly destination: RequestDestination\n  readonly headers: Headers\n  readonly integrity: string\n  readonly method: string\n  readonly mode: RequestMode\n  readonly redirect: RequestRedirect\n  readonly referrerPolicy: string\n  readonly url: string\n\n  readonly keepalive: boolean\n  readonly signal: AbortSignal\n  readonly duplex: RequestDuplex\n\n  readonly body: ReadableStream | null\n  readonly bodyUsed: boolean\n\n  readonly arrayBuffer: () => Promise<ArrayBuffer>\n  readonly blob: () => Promise<Blob>\n  readonly formData: () => Promise<FormData>\n  readonly json: () => Promise<unknown>\n  readonly text: () => Promise<string>\n\n  readonly clone: () => Request\n}\n\nexport interface ResponseInit {\n  readonly status?: number\n  readonly statusText?: string\n  readonly headers?: HeadersInit\n}\n\nexport type ResponseType =\n  | 'basic'\n  | 'cors'\n  | 'default'\n  | 'error'\n  | 'opaque'\n  | 'opaqueredirect'\n\nexport type ResponseRedirectStatus = 301 | 302 | 303 | 307 | 308\n\nexport declare class Response implements BodyMixin {\n  constructor (body?: BodyInit, init?: ResponseInit)\n\n  readonly headers: Headers\n  readonly ok: boolean\n  readonly status: number\n  readonly statusText: string\n  readonly type: ResponseType\n  readonly url: string\n  readonly redirected: boolean\n\n  readonly body: ReadableStream | null\n  readonly bodyUsed: boolean\n\n  readonly arrayBuffer: () => Promise<ArrayBuffer>\n  readonly blob: () => Promise<Blob>\n  readonly formData: () => Promise<FormData>\n  readonly json: () => Promise<unknown>\n  readonly text: () => Promise<string>\n\n  readonly clone: () => Response\n\n  static error (): Response\n  static json(data: any, init?: ResponseInit): Response\n  static redirect (url: string | URL, status: ResponseRedirectStatus): Response\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/formdata.d.ts",
      "content": "// Based on https://github.com/octet-stream/form-data/blob/2d0f0dc371517444ce1f22cdde13f51995d0953a/lib/FormData.ts (MIT)\n/// <reference types=\"node\" />\n\nimport { File } from './file'\nimport { SpecIterator, SpecIterableIterator } from './fetch'\n\n/**\n * A `string` or `File` that represents a single value from a set of `FormData` key-value pairs.\n */\ndeclare type FormDataEntryValue = string | File\n\n/**\n * Provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using fetch().\n */\nexport declare class FormData {\n  /**\n   * Appends a new value onto an existing key inside a FormData object,\n   * or adds the key if it does not already exist.\n   *\n   * The difference between `set()` and `append()` is that if the specified key already exists, `set()` will overwrite all existing values with the new one, whereas `append()` will append the new value onto the end of the existing set of values.\n   *\n   * @param name The name of the field whose data is contained in `value`.\n   * @param value The field's value. This can be [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)\n    or [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File). If none of these are specified the value is converted to a string.\n   * @param fileName The filename reported to the server, when a Blob or File is passed as the second parameter. The default filename for Blob objects is \"blob\". The default filename for File objects is the file's filename.\n   */\n  append(name: string, value: unknown, fileName?: string): void\n\n  /**\n   * Set a new value for an existing key inside FormData,\n   * or add the new field if it does not already exist.\n   *\n   * @param name The name of the field whose data is contained in `value`.\n   * @param value The field's value. This can be [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)\n    or [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File). If none of these are specified the value is converted to a string.\n   * @param fileName The filename reported to the server, when a Blob or File is passed as the second parameter. The default filename for Blob objects is \"blob\". The default filename for File objects is the file's filename.\n   *\n   */\n  set(name: string, value: unknown, fileName?: string): void\n\n  /**\n   * Returns the first value associated with a given key from within a `FormData` object.\n   * If you expect multiple values and want all of them, use the `getAll()` method instead.\n   *\n   * @param {string} name A name of the value you want to retrieve.\n   *\n   * @returns A `FormDataEntryValue` containing the value. If the key doesn't exist, the method returns null.\n   */\n  get(name: string): FormDataEntryValue | null\n\n  /**\n   * Returns all the values associated with a given key from within a `FormData` object.\n   *\n   * @param {string} name A name of the value you want to retrieve.\n   *\n   * @returns An array of `FormDataEntryValue` whose key matches the value passed in the `name` parameter. If the key doesn't exist, the method returns an empty list.\n   */\n  getAll(name: string): FormDataEntryValue[]\n\n  /**\n   * Returns a boolean stating whether a `FormData` object contains a certain key.\n   *\n   * @param name A string representing the name of the key you want to test for.\n   *\n   * @return A boolean value.\n   */\n  has(name: string): boolean\n\n  /**\n   * Deletes a key and its value(s) from a `FormData` object.\n   *\n   * @param name The name of the key you want to delete.\n   */\n  delete(name: string): void\n\n  /**\n   * Executes given callback function for each field of the FormData instance\n   */\n  forEach: (\n    callbackfn: (value: FormDataEntryValue, key: string, iterable: FormData) => void,\n    thisArg?: unknown\n  ) => void\n\n  /**\n   * Returns an [`iterator`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols) allowing to go through all keys contained in this `FormData` object.\n   * Each key is a `string`.\n   */\n  keys: () => SpecIterableIterator<string>\n\n  /**\n   * Returns an [`iterator`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols) allowing to go through all values contained in this object `FormData` object.\n   * Each value is a [`FormDataValue`](https://developer.mozilla.org/en-US/docs/Web/API/FormDataEntryValue).\n   */\n  values: () => SpecIterableIterator<FormDataEntryValue>\n\n  /**\n   * Returns an [`iterator`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols) allowing to go through the `FormData` key/value pairs.\n   * The key of each pair is a string; the value is a [`FormDataValue`](https://developer.mozilla.org/en-US/docs/Web/API/FormDataEntryValue).\n   */\n  entries: () => SpecIterableIterator<[string, FormDataEntryValue]>\n\n  /**\n   * An alias for FormData#entries()\n   */\n  [Symbol.iterator]: () => SpecIterableIterator<[string, FormDataEntryValue]>\n\n  readonly [Symbol.toStringTag]: string\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/connector.d.ts",
      "content": "import { TLSSocket, ConnectionOptions } from 'tls'\nimport { IpcNetConnectOpts, Socket, TcpNetConnectOpts } from 'net'\n\nexport default buildConnector\ndeclare function buildConnector (options?: buildConnector.BuildOptions): buildConnector.connector\n\ndeclare namespace buildConnector {\n  export type BuildOptions = (ConnectionOptions | TcpNetConnectOpts | IpcNetConnectOpts) & {\n    allowH2?: boolean;\n    maxCachedSessions?: number | null;\n    socketPath?: string | null;\n    timeout?: number | null;\n    port?: number;\n    keepAlive?: boolean | null;\n    keepAliveInitialDelay?: number | null;\n  }\n\n  export interface Options {\n    hostname: string\n    host?: string\n    protocol: string\n    port: string\n    servername?: string\n    localAddress?: string | null\n    httpSocket?: Socket\n  }\n\n  export type Callback = (...args: CallbackArgs) => void\n  type CallbackArgs = [null, Socket | TLSSocket] | [Error, null]\n\n  export interface connector {\n    (options: buildConnector.Options, callback: buildConnector.Callback): void\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/client.d.ts",
      "content": "import { URL } from 'url'\nimport { TlsOptions } from 'tls'\nimport Dispatcher from './dispatcher'\nimport buildConnector from \"./connector\";\n\n/**\n * A basic HTTP/1.1 client, mapped on top a single TCP/TLS connection. Pipelining is disabled by default.\n */\nexport class Client extends Dispatcher {\n  constructor(url: string | URL, options?: Client.Options);\n  /** Property to get and set the pipelining factor. */\n  pipelining: number;\n  /** `true` after `client.close()` has been called. */\n  closed: boolean;\n  /** `true` after `client.destroyed()` has been called or `client.close()` has been called and the client shutdown has completed. */\n  destroyed: boolean;\n}\n\nexport declare namespace Client {\n  export interface OptionsInterceptors {\n    Client: readonly Dispatcher.DispatchInterceptor[];\n  }\n  export interface Options {\n    /** TODO */\n    interceptors?: OptionsInterceptors;\n    /** The maximum length of request headers in bytes. Default: Node.js' `--max-http-header-size` or `16384` (16KiB). */\n    maxHeaderSize?: number;\n    /** The amount of time, in milliseconds, the parser will wait to receive the complete HTTP headers (Node 14 and above only). Default: `300e3` milliseconds (300s). */\n    headersTimeout?: number;\n    /** @deprecated unsupported socketTimeout, use headersTimeout & bodyTimeout instead */\n    socketTimeout?: never;\n    /** @deprecated unsupported requestTimeout, use headersTimeout & bodyTimeout instead */\n    requestTimeout?: never;\n    /** TODO */\n    connectTimeout?: number;\n    /** The timeout after which a request will time out, in milliseconds. Monitors time between receiving body data. Use `0` to disable it entirely. Default: `300e3` milliseconds (300s). */\n    bodyTimeout?: number;\n    /** @deprecated unsupported idleTimeout, use keepAliveTimeout instead */\n    idleTimeout?: never;\n    /** @deprecated unsupported keepAlive, use pipelining=0 instead */\n    keepAlive?: never;\n    /** the timeout, in milliseconds, after which a socket without active requests will time out. Monitors time between activity on a connected socket. This value may be overridden by *keep-alive* hints from the server. Default: `4e3` milliseconds (4s). */\n    keepAliveTimeout?: number;\n    /** @deprecated unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead */\n    maxKeepAliveTimeout?: never;\n    /** the maximum allowed `idleTimeout`, in milliseconds, when overridden by *keep-alive* hints from the server. Default: `600e3` milliseconds (10min). */\n    keepAliveMaxTimeout?: number;\n    /** A number of milliseconds subtracted from server *keep-alive* hints when overriding `idleTimeout` to account for timing inaccuracies caused by e.g. transport latency. Default: `1e3` milliseconds (1s). */\n    keepAliveTimeoutThreshold?: number;\n    /** TODO */\n    socketPath?: string;\n    /** The amount of concurrent requests to be sent over the single TCP/TLS connection according to [RFC7230](https://tools.ietf.org/html/rfc7230#section-6.3.2). Default: `1`. */\n    pipelining?: number;\n    /** @deprecated use the connect option instead */\n    tls?: never;\n    /** If `true`, an error is thrown when the request content-length header doesn't match the length of the request body. Default: `true`. */\n    strictContentLength?: boolean;\n    /** TODO */\n    maxCachedSessions?: number;\n    /** TODO */\n    maxRedirections?: number;\n    /** TODO */\n    connect?: buildConnector.BuildOptions | buildConnector.connector;\n    /** TODO */\n    maxRequestsPerClient?: number;\n    /** TODO */\n    localAddress?: string;\n    /** Max response body size in bytes, -1 is disabled */\n    maxResponseSize?: number;\n    /** Enables a family autodetection algorithm that loosely implements section 5 of RFC 8305. */\n    autoSelectFamily?: boolean;\n    /** The amount of time in milliseconds to wait for a connection attempt to finish before trying the next address when using the `autoSelectFamily` option. */\n    autoSelectFamilyAttemptTimeout?: number;\n    /**\n     * @description Enables support for H2 if the server has assigned bigger priority to it through ALPN negotiation.\n     * @default false\n    */\n    allowH2?: boolean;\n    /**\n     * @description Dictates the maximum number of concurrent streams for a single H2 session. It can be overriden by a SETTINGS remote frame.\n     * @default 100\n    */\n    maxConcurrentStreams?: number\n  }\n  export interface SocketInfo {\n    localAddress?: string\n    localPort?: number\n    remoteAddress?: string\n    remotePort?: number\n    remoteFamily?: string\n    timeout?: number\n    bytesWritten?: number\n    bytesRead?: number\n  }\n}\n\nexport default Client;\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/errors.d.ts",
      "content": "import { IncomingHttpHeaders } from \"./header\";\nimport Client from './client'\n\nexport default Errors\n\ndeclare namespace Errors {\n  export class UndiciError extends Error {\n    name: string;\n    code: string;\n  }\n\n  /** Connect timeout error. */\n  export class ConnectTimeoutError extends UndiciError {\n    name: 'ConnectTimeoutError';\n    code: 'UND_ERR_CONNECT_TIMEOUT';\n  }\n\n  /** A header exceeds the `headersTimeout` option. */\n  export class HeadersTimeoutError extends UndiciError {\n    name: 'HeadersTimeoutError';\n    code: 'UND_ERR_HEADERS_TIMEOUT';\n  }\n\n  /** Headers overflow error. */\n  export class HeadersOverflowError extends UndiciError {\n    name: 'HeadersOverflowError'\n    code: 'UND_ERR_HEADERS_OVERFLOW'\n  }\n\n  /** A body exceeds the `bodyTimeout` option. */\n  export class BodyTimeoutError extends UndiciError {\n    name: 'BodyTimeoutError';\n    code: 'UND_ERR_BODY_TIMEOUT';\n  }\n\n  export class ResponseStatusCodeError extends UndiciError {\n    constructor (\n      message?: string,\n      statusCode?: number,\n      headers?: IncomingHttpHeaders | string[] | null,\n      body?: null | Record<string, any> | string\n    );\n    name: 'ResponseStatusCodeError';\n    code: 'UND_ERR_RESPONSE_STATUS_CODE';\n    body: null | Record<string, any> | string\n    status: number\n    statusCode: number\n    headers: IncomingHttpHeaders | string[] | null;\n  }\n\n  /** Passed an invalid argument. */\n  export class InvalidArgumentError extends UndiciError {\n    name: 'InvalidArgumentError';\n    code: 'UND_ERR_INVALID_ARG';\n  }\n\n  /** Returned an invalid value. */\n  export class InvalidReturnValueError extends UndiciError {\n    name: 'InvalidReturnValueError';\n    code: 'UND_ERR_INVALID_RETURN_VALUE';\n  }\n\n  /** The request has been aborted by the user. */\n  export class RequestAbortedError extends UndiciError {\n    name: 'AbortError';\n    code: 'UND_ERR_ABORTED';\n  }\n\n  /** Expected error with reason. */\n  export class InformationalError extends UndiciError {\n    name: 'InformationalError';\n    code: 'UND_ERR_INFO';\n  }\n\n  /** Request body length does not match content-length header. */\n  export class RequestContentLengthMismatchError extends UndiciError {\n    name: 'RequestContentLengthMismatchError';\n    code: 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH';\n  }\n\n  /** Response body length does not match content-length header. */\n  export class ResponseContentLengthMismatchError extends UndiciError {\n    name: 'ResponseContentLengthMismatchError';\n    code: 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH';\n  }\n\n  /** Trying to use a destroyed client. */\n  export class ClientDestroyedError extends UndiciError {\n    name: 'ClientDestroyedError';\n    code: 'UND_ERR_DESTROYED';\n  }\n\n  /** Trying to use a closed client. */\n  export class ClientClosedError extends UndiciError {\n    name: 'ClientClosedError';\n    code: 'UND_ERR_CLOSED';\n  }\n\n  /** There is an error with the socket. */\n  export class SocketError extends UndiciError {\n    name: 'SocketError';\n    code: 'UND_ERR_SOCKET';\n    socket: Client.SocketInfo | null\n  }\n\n  /** Encountered unsupported functionality. */\n  export class NotSupportedError extends UndiciError {\n    name: 'NotSupportedError';\n    code: 'UND_ERR_NOT_SUPPORTED';\n  }\n\n  /** No upstream has been added to the BalancedPool. */\n  export class BalancedPoolMissingUpstreamError extends UndiciError {\n    name: 'MissingUpstreamError';\n    code: 'UND_ERR_BPL_MISSING_UPSTREAM';\n  }\n\n  export class HTTPParserError extends UndiciError {\n    name: 'HTTPParserError';\n    code: string;\n  }\n\n  /** The response exceed the length allowed. */\n  export class ResponseExceededMaxSizeError extends UndiciError {\n    name: 'ResponseExceededMaxSizeError';\n    code: 'UND_ERR_RES_EXCEEDED_MAX_SIZE';\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/dispatcher.d.ts",
      "content": "import { URL } from 'url'\nimport { Duplex, Readable, Writable } from 'stream'\nimport { EventEmitter } from 'events'\nimport { Blob } from 'buffer'\nimport { IncomingHttpHeaders } from './header'\nimport BodyReadable from './readable'\nimport { FormData } from './formdata'\nimport Errors from './errors'\n\ntype AbortSignal = unknown;\n\nexport default Dispatcher\n\n/** Dispatcher is the core API used to dispatch requests. */\ndeclare class Dispatcher extends EventEmitter {\n  /** Dispatches a request. This API is expected to evolve through semver-major versions and is less stable than the preceding higher level APIs. It is primarily intended for library developers who implement higher level APIs on top of this. */\n  dispatch(options: Dispatcher.DispatchOptions, handler: Dispatcher.DispatchHandlers): boolean;\n  /** Starts two-way communications with the requested resource. */\n  connect(options: Dispatcher.ConnectOptions): Promise<Dispatcher.ConnectData>;\n  connect(options: Dispatcher.ConnectOptions, callback: (err: Error | null, data: Dispatcher.ConnectData) => void): void;\n  /** Performs an HTTP request. */\n  request(options: Dispatcher.RequestOptions): Promise<Dispatcher.ResponseData>;\n  request(options: Dispatcher.RequestOptions, callback: (err: Error | null, data: Dispatcher.ResponseData) => void): void;\n  /** For easy use with `stream.pipeline`. */\n  pipeline(options: Dispatcher.PipelineOptions, handler: Dispatcher.PipelineHandler): Duplex;\n  /** A faster version of `Dispatcher.request`. */\n  stream(options: Dispatcher.RequestOptions, factory: Dispatcher.StreamFactory): Promise<Dispatcher.StreamData>;\n  stream(options: Dispatcher.RequestOptions, factory: Dispatcher.StreamFactory, callback: (err: Error | null, data: Dispatcher.StreamData) => void): void;\n  /** Upgrade to a different protocol. */\n  upgrade(options: Dispatcher.UpgradeOptions): Promise<Dispatcher.UpgradeData>;\n  upgrade(options: Dispatcher.UpgradeOptions, callback: (err: Error | null, data: Dispatcher.UpgradeData) => void): void;\n  /** Closes the client and gracefully waits for enqueued requests to complete before invoking the callback (or returning a promise if no callback is provided). */\n  close(): Promise<void>;\n  close(callback: () => void): void;\n  /** Destroy the client abruptly with the given err. All the pending and running requests will be asynchronously aborted and error. Waits until socket is closed before invoking the callback (or returning a promise if no callback is provided). Since this operation is asynchronously dispatched there might still be some progress on dispatched requests. */\n  destroy(): Promise<void>;\n  destroy(err: Error | null): Promise<void>;\n  destroy(callback: () => void): void;\n  destroy(err: Error | null, callback: () => void): void;\n\n  on(eventName: 'connect', callback: (origin: URL, targets: readonly Dispatcher[]) => void): this;\n  on(eventName: 'disconnect', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  on(eventName: 'connectionError', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  on(eventName: 'drain', callback: (origin: URL) => void): this;\n\n\n  once(eventName: 'connect', callback: (origin: URL, targets: readonly Dispatcher[]) => void): this;\n  once(eventName: 'disconnect', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  once(eventName: 'connectionError', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  once(eventName: 'drain', callback: (origin: URL) => void): this;\n\n\n  off(eventName: 'connect', callback: (origin: URL, targets: readonly Dispatcher[]) => void): this;\n  off(eventName: 'disconnect', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  off(eventName: 'connectionError', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  off(eventName: 'drain', callback: (origin: URL) => void): this;\n\n\n  addListener(eventName: 'connect', callback: (origin: URL, targets: readonly Dispatcher[]) => void): this;\n  addListener(eventName: 'disconnect', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  addListener(eventName: 'connectionError', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  addListener(eventName: 'drain', callback: (origin: URL) => void): this;\n\n  removeListener(eventName: 'connect', callback: (origin: URL, targets: readonly Dispatcher[]) => void): this;\n  removeListener(eventName: 'disconnect', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  removeListener(eventName: 'connectionError', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  removeListener(eventName: 'drain', callback: (origin: URL) => void): this;\n\n  prependListener(eventName: 'connect', callback: (origin: URL, targets: readonly Dispatcher[]) => void): this;\n  prependListener(eventName: 'disconnect', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  prependListener(eventName: 'connectionError', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  prependListener(eventName: 'drain', callback: (origin: URL) => void): this;\n\n  prependOnceListener(eventName: 'connect', callback: (origin: URL, targets: readonly Dispatcher[]) => void): this;\n  prependOnceListener(eventName: 'disconnect', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  prependOnceListener(eventName: 'connectionError', callback: (origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void): this;\n  prependOnceListener(eventName: 'drain', callback: (origin: URL) => void): this;\n\n  listeners(eventName: 'connect'): ((origin: URL, targets: readonly Dispatcher[]) => void)[]\n  listeners(eventName: 'disconnect'): ((origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void)[];\n  listeners(eventName: 'connectionError'): ((origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void)[];\n  listeners(eventName: 'drain'): ((origin: URL) => void)[];\n\n  rawListeners(eventName: 'connect'): ((origin: URL, targets: readonly Dispatcher[]) => void)[]\n  rawListeners(eventName: 'disconnect'): ((origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void)[];\n  rawListeners(eventName: 'connectionError'): ((origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError) => void)[];\n  rawListeners(eventName: 'drain'): ((origin: URL) => void)[];\n\n  emit(eventName: 'connect', origin: URL, targets: readonly Dispatcher[]): boolean;\n  emit(eventName: 'disconnect', origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError): boolean;\n  emit(eventName: 'connectionError', origin: URL, targets: readonly Dispatcher[], error: Errors.UndiciError): boolean;\n  emit(eventName: 'drain', origin: URL): boolean;\n}\n\ndeclare namespace Dispatcher {\n  export interface DispatchOptions {\n    origin?: string | URL;\n    path: string;\n    method: HttpMethod;\n    /** Default: `null` */\n    body?: string | Buffer | Uint8Array | Readable | null | FormData;\n    /** Default: `null` */\n    headers?: IncomingHttpHeaders | string[] | null;\n    /** Query string params to be embedded in the request URL. Default: `null` */\n    query?: Record<string, any>;\n    /** Whether the requests can be safely retried or not. If `false` the request won't be sent until all preceding requests in the pipeline have completed. Default: `true` if `method` is `HEAD` or `GET`. */\n    idempotent?: boolean;\n    /** Whether the response is expected to take a long time and would end up blocking the pipeline. When this is set to `true` further pipelining will be avoided on the same connection until headers have been received. */\n    blocking?: boolean;\n    /** Upgrade the request. Should be used to specify the kind of upgrade i.e. `'Websocket'`. Default: `method === 'CONNECT' || null`. */\n    upgrade?: boolean | string | null;\n    /** The amount of time, in milliseconds, the parser will wait to receive the complete HTTP headers. Defaults to 300 seconds. */\n    headersTimeout?: number | null;\n    /** The timeout after which a request will time out, in milliseconds. Monitors time between receiving body data. Use 0 to disable it entirely. Defaults to 300 seconds. */\n    bodyTimeout?: number | null;\n    /** Whether the request should stablish a keep-alive or not. Default `false` */\n    reset?: boolean;\n    /** Whether Undici should throw an error upon receiving a 4xx or 5xx response from the server. Defaults to false */\n    throwOnError?: boolean;\n    /** For H2, it appends the expect: 100-continue header, and halts the request body until a 100-continue is received from the remote server*/\n    expectContinue?: boolean;\n  }\n  export interface ConnectOptions {\n    path: string;\n    /** Default: `null` */\n    headers?: IncomingHttpHeaders | string[] | null;\n    /** Default: `null` */\n    signal?: AbortSignal | EventEmitter | null;\n    /** This argument parameter is passed through to `ConnectData` */\n    opaque?: unknown;\n    /** Default: 0 */\n    maxRedirections?: number;\n    /** Default: `null` */\n    responseHeader?: 'raw' | null;\n  }\n  export interface RequestOptions extends DispatchOptions {\n    /** Default: `null` */\n    opaque?: unknown;\n    /** Default: `null` */\n    signal?: AbortSignal | EventEmitter | null;\n    /** Default: 0 */\n    maxRedirections?: number;\n    /** Default: `null` */\n    onInfo?: (info: { statusCode: number, headers: Record<string, string | string[]> }) => void;\n    /** Default: `null` */\n    responseHeader?: 'raw' | null;\n    /** Default: `64 KiB` */\n    highWaterMark?: number;\n  }\n  export interface PipelineOptions extends RequestOptions {\n    /** `true` if the `handler` will return an object stream. Default: `false` */\n    objectMode?: boolean;\n  }\n  export interface UpgradeOptions {\n    path: string;\n    /** Default: `'GET'` */\n    method?: string;\n    /** Default: `null` */\n    headers?: IncomingHttpHeaders | string[] | null;\n    /** A string of comma separated protocols, in descending preference order. Default: `'Websocket'` */\n    protocol?: string;\n    /** Default: `null` */\n    signal?: AbortSignal | EventEmitter | null;\n    /** Default: 0 */\n    maxRedirections?: number;\n    /** Default: `null` */\n    responseHeader?: 'raw' | null;\n  }\n  export interface ConnectData {\n    statusCode: number;\n    headers: IncomingHttpHeaders;\n    socket: Duplex;\n    opaque: unknown;\n  }\n  export interface ResponseData {\n    statusCode: number;\n    headers: IncomingHttpHeaders;\n    body: BodyReadable & BodyMixin;\n    trailers: Record<string, string>;\n    opaque: unknown;\n    context: object;\n  }\n  export interface PipelineHandlerData {\n    statusCode: number;\n    headers: IncomingHttpHeaders;\n    opaque: unknown;\n    body: BodyReadable;\n    context: object;\n  }\n  export interface StreamData {\n    opaque: unknown;\n    trailers: Record<string, string>;\n  }\n  export interface UpgradeData {\n    headers: IncomingHttpHeaders;\n    socket: Duplex;\n    opaque: unknown;\n  }\n  export interface StreamFactoryData {\n    statusCode: number;\n    headers: IncomingHttpHeaders;\n    opaque: unknown;\n    context: object;\n  }\n  export type StreamFactory = (data: StreamFactoryData) => Writable;\n  export interface DispatchHandlers {\n    /** Invoked before request is dispatched on socket. May be invoked multiple times when a request is retried when the request at the head of the pipeline fails. */\n    onConnect?(abort: () => void): void;\n    /** Invoked when an error has occurred. */\n    onError?(err: Error): void;\n    /** Invoked when request is upgraded either due to a `Upgrade` header or `CONNECT` method. */\n    onUpgrade?(statusCode: number, headers: Buffer[] | string[] | null, socket: Duplex): void;\n    /** Invoked when statusCode and headers have been received. May be invoked multiple times due to 1xx informational headers. */\n    onHeaders?(statusCode: number, headers: Buffer[] | string[] | null, resume: () => void): boolean;\n    /** Invoked when response payload data is received. */\n    onData?(chunk: Buffer): boolean;\n    /** Invoked when response payload and trailers have been received and the request has completed. */\n    onComplete?(trailers: string[] | null): void;\n    /** Invoked when a body chunk is sent to the server. May be invoked multiple times for chunked requests */\n    onBodySent?(chunkSize: number, totalBytesSent: number): void;\n  }\n  export type PipelineHandler = (data: PipelineHandlerData) => Readable;\n  export type HttpMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';\n\n  /**\n   * @link https://fetch.spec.whatwg.org/#body-mixin\n   */\n  interface BodyMixin {\n    readonly body?: never; // throws on node v16.6.0\n    readonly bodyUsed: boolean;\n    arrayBuffer(): Promise<ArrayBuffer>;\n    blob(): Promise<Blob>;\n    formData(): Promise<never>;\n    json(): Promise<unknown>;\n    text(): Promise<string>;\n  }\n\n  export interface DispatchInterceptor {\n    (dispatch: Dispatcher['dispatch']): Dispatcher['dispatch']\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/global-dispatcher.d.ts",
      "content": "import Dispatcher from \"./dispatcher\";\n\nexport {\n  getGlobalDispatcher,\n  setGlobalDispatcher\n}\n\ndeclare function setGlobalDispatcher<DispatcherImplementation extends Dispatcher>(dispatcher: DispatcherImplementation): void;\ndeclare function getGlobalDispatcher(): Dispatcher;\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/global-origin.d.ts",
      "content": "export {\n\tsetGlobalOrigin,\n\tgetGlobalOrigin\n}\n  \ndeclare function setGlobalOrigin(origin: string | URL | undefined): void;\ndeclare function getGlobalOrigin(): URL | undefined;"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/pool-stats.d.ts",
      "content": "import Pool from \"./pool\"\n\nexport default PoolStats\n\ndeclare class PoolStats {\n  constructor(pool: Pool);\n  /** Number of open socket connections in this pool. */\n  connected: number;\n  /** Number of open socket connections in this pool that do not have an active request. */\n  free: number;\n  /** Number of pending requests across all clients in this pool. */\n  pending: number;\n  /** Number of queued requests across all clients in this pool. */\n  queued: number;\n  /** Number of currently active requests across all clients in this pool. */\n  running: number;\n  /** Number of active, pending, or queued requests across all clients in this pool. */\n  size: number;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/pool.d.ts",
      "content": "import Client from './client'\nimport TPoolStats from './pool-stats'\nimport { URL } from 'url'\nimport Dispatcher from \"./dispatcher\";\n\nexport default Pool\n\ndeclare class Pool extends Dispatcher {\n  constructor(url: string | URL, options?: Pool.Options)\n  /** `true` after `pool.close()` has been called. */\n  closed: boolean;\n  /** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */\n  destroyed: boolean;\n  /** Aggregate stats for a Pool. */\n  readonly stats: TPoolStats;\n}\n\ndeclare namespace Pool {\n  export type PoolStats = TPoolStats;\n  export interface Options extends Client.Options {\n    /** Default: `(origin, opts) => new Client(origin, opts)`. */\n    factory?(origin: URL, opts: object): Dispatcher;\n    /** The max number of clients to create. `null` if no limit. Default `null`. */\n    connections?: number | null;\n\n    interceptors?: { Pool?: readonly Dispatcher.DispatchInterceptor[] } & Client.Options[\"interceptors\"]\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/handlers.d.ts",
      "content": "import Dispatcher from \"./dispatcher\";\n\nexport declare class RedirectHandler implements Dispatcher.DispatchHandlers{\n  constructor (dispatch: Dispatcher, maxRedirections: number, opts: Dispatcher.DispatchOptions, handler: Dispatcher.DispatchHandlers)\n}\n\nexport declare class DecoratorHandler implements Dispatcher.DispatchHandlers{\n  constructor (handler: Dispatcher.DispatchHandlers)\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/balanced-pool.d.ts",
      "content": "import Pool from './pool'\nimport Dispatcher from './dispatcher'\nimport { URL } from 'url'\n\nexport default BalancedPool\n\ndeclare class BalancedPool extends Dispatcher {\n  constructor(url: string | string[] | URL | URL[], options?: Pool.Options);\n\n  addUpstream(upstream: string | URL): BalancedPool;\n  removeUpstream(upstream: string | URL): BalancedPool;\n  upstreams: Array<string>;\n\n  /** `true` after `pool.close()` has been called. */\n  closed: boolean;\n  /** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */\n  destroyed: boolean;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/agent.d.ts",
      "content": "import { URL } from 'url'\nimport Pool from './pool'\nimport Dispatcher from \"./dispatcher\";\n\nexport default Agent\n\ndeclare class Agent extends Dispatcher{\n  constructor(opts?: Agent.Options)\n  /** `true` after `dispatcher.close()` has been called. */\n  closed: boolean;\n  /** `true` after `dispatcher.destroyed()` has been called or `dispatcher.close()` has been called and the dispatcher shutdown has completed. */\n  destroyed: boolean;\n  /** Dispatches a request. */\n  dispatch(options: Agent.DispatchOptions, handler: Dispatcher.DispatchHandlers): boolean;\n}\n\ndeclare namespace Agent {\n  export interface Options extends Pool.Options {\n    /** Default: `(origin, opts) => new Pool(origin, opts)`. */\n    factory?(origin: string | URL, opts: Object): Dispatcher;\n    /** Integer. Default: `0` */\n    maxRedirections?: number;\n\n    interceptors?: { Agent?: readonly Dispatcher.DispatchInterceptor[] } & Pool.Options[\"interceptors\"]\n  }\n\n  export interface DispatchOptions extends Dispatcher.DispatchOptions {\n    /** Integer. */\n    maxRedirections?: number;\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/mock-interceptor.d.ts",
      "content": "import { IncomingHttpHeaders } from './header'\nimport Dispatcher from './dispatcher';\nimport { BodyInit, Headers } from './fetch'\n\nexport {\n  Interceptable,\n  MockInterceptor,\n  MockScope\n}\n\n/** The scope associated with a mock dispatch. */\ndeclare class MockScope<TData extends object = object> {\n  constructor(mockDispatch: MockInterceptor.MockDispatch<TData>);\n  /** Delay a reply by a set amount of time in ms. */\n  delay(waitInMs: number): MockScope<TData>;\n  /** Persist the defined mock data for the associated reply. It will return the defined mock data indefinitely. */\n  persist(): MockScope<TData>;\n  /** Define a reply for a set amount of matching requests. */\n  times(repeatTimes: number): MockScope<TData>;\n}\n\n/** The interceptor for a Mock. */\ndeclare class MockInterceptor {\n  constructor(options: MockInterceptor.Options, mockDispatches: MockInterceptor.MockDispatch[]);\n  /** Mock an undici request with the defined reply. */\n  reply<TData extends object = object>(replyOptionsCallback: MockInterceptor.MockReplyOptionsCallback<TData>): MockScope<TData>;\n  reply<TData extends object = object>(\n    statusCode: number,\n    data?: TData | Buffer | string | MockInterceptor.MockResponseDataHandler<TData>,\n    responseOptions?: MockInterceptor.MockResponseOptions\n  ): MockScope<TData>;\n  /** Mock an undici request by throwing the defined reply error. */\n  replyWithError<TError extends Error = Error>(error: TError): MockScope;\n  /** Set default reply headers on the interceptor for subsequent mocked replies. */\n  defaultReplyHeaders(headers: IncomingHttpHeaders): MockInterceptor;\n  /** Set default reply trailers on the interceptor for subsequent mocked replies. */\n  defaultReplyTrailers(trailers: Record<string, string>): MockInterceptor;\n  /** Set automatically calculated content-length header on subsequent mocked replies. */\n  replyContentLength(): MockInterceptor;\n}\n\ndeclare namespace MockInterceptor {\n  /** MockInterceptor options. */\n  export interface Options {\n    /** Path to intercept on. */\n    path: string | RegExp | ((path: string) => boolean);\n    /** Method to intercept on. Defaults to GET. */\n    method?: string | RegExp | ((method: string) => boolean);\n    /** Body to intercept on. */\n    body?: string | RegExp | ((body: string) => boolean);\n    /** Headers to intercept on. */\n    headers?: Record<string, string | RegExp | ((body: string) => boolean)> | ((headers: Record<string, string>) => boolean);\n    /** Query params to intercept on */\n    query?: Record<string, any>;\n  }\n  export interface MockDispatch<TData extends object = object, TError extends Error = Error> extends Options {\n    times: number | null;\n    persist: boolean;\n    consumed: boolean;\n    data: MockDispatchData<TData, TError>;\n  }\n  export interface MockDispatchData<TData extends object = object, TError extends Error = Error> extends MockResponseOptions {\n    error: TError | null;\n    statusCode?: number;\n    data?: TData | string;\n  }\n  export interface MockResponseOptions {\n    headers?: IncomingHttpHeaders;\n    trailers?: Record<string, string>;\n  }\n\n  export interface MockResponseCallbackOptions {\n    path: string;\n    origin: string;\n    method: string;\n    body?: BodyInit | Dispatcher.DispatchOptions['body'];\n    headers: Headers | Record<string, string>;\n    maxRedirections: number;\n  }\n\n  export type MockResponseDataHandler<TData extends object = object> = (\n    opts: MockResponseCallbackOptions\n  ) => TData | Buffer | string;\n\n  export type MockReplyOptionsCallback<TData extends object = object> = (\n    opts: MockResponseCallbackOptions\n  ) => { statusCode: number, data?: TData | Buffer | string, responseOptions?: MockResponseOptions }\n}\n\ninterface Interceptable extends Dispatcher {\n  /** Intercepts any matching requests that use the same origin as this mock client. */\n  intercept(options: MockInterceptor.Options): MockInterceptor;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/mock-agent.d.ts",
      "content": "import Agent from './agent'\nimport Dispatcher from './dispatcher'\nimport { Interceptable, MockInterceptor } from './mock-interceptor'\nimport MockDispatch = MockInterceptor.MockDispatch;\n\nexport default MockAgent\n\ninterface PendingInterceptor extends MockDispatch {\n  origin: string;\n}\n\n/** A mocked Agent class that implements the Agent API. It allows one to intercept HTTP requests made through undici and return mocked responses instead. */\ndeclare class MockAgent<TMockAgentOptions extends MockAgent.Options = MockAgent.Options> extends Dispatcher {\n  constructor(options?: MockAgent.Options)\n  /** Creates and retrieves mock Dispatcher instances which can then be used to intercept HTTP requests. If the number of connections on the mock agent is set to 1, a MockClient instance is returned. Otherwise a MockPool instance is returned. */\n  get<TInterceptable extends Interceptable>(origin: string): TInterceptable;\n  get<TInterceptable extends Interceptable>(origin: RegExp): TInterceptable;\n  get<TInterceptable extends Interceptable>(origin: ((origin: string) => boolean)): TInterceptable;\n  /** Dispatches a mocked request. */\n  dispatch(options: Agent.DispatchOptions, handler: Dispatcher.DispatchHandlers): boolean;\n  /** Closes the mock agent and waits for registered mock pools and clients to also close before resolving. */\n  close(): Promise<void>;\n  /** Disables mocking in MockAgent. */\n  deactivate(): void;\n  /** Enables mocking in a MockAgent instance. When instantiated, a MockAgent is automatically activated. Therefore, this method is only effective after `MockAgent.deactivate` has been called. */\n  activate(): void;\n  /** Define host matchers so only matching requests that aren't intercepted by the mock dispatchers will be attempted. */\n  enableNetConnect(): void;\n  enableNetConnect(host: string): void;\n  enableNetConnect(host: RegExp): void;\n  enableNetConnect(host: ((host: string) => boolean)): void;\n  /** Causes all requests to throw when requests are not matched in a MockAgent intercept. */\n  disableNetConnect(): void;\n  pendingInterceptors(): PendingInterceptor[];\n  assertNoPendingInterceptors(options?: {\n    pendingInterceptorsFormatter?: PendingInterceptorsFormatter;\n  }): void;\n}\n\ninterface PendingInterceptorsFormatter {\n  format(pendingInterceptors: readonly PendingInterceptor[]): string;\n}\n\ndeclare namespace MockAgent {\n  /** MockAgent options. */\n  export interface Options extends Agent.Options {\n    /** A custom agent to be encapsulated by the MockAgent. */\n    agent?: Agent;\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/mock-client.d.ts",
      "content": "import Client from './client'\nimport Dispatcher from './dispatcher'\nimport MockAgent from './mock-agent'\nimport { MockInterceptor, Interceptable } from './mock-interceptor'\n\nexport default MockClient\n\n/** MockClient extends the Client API and allows one to mock requests. */\ndeclare class MockClient extends Client implements Interceptable {\n  constructor(origin: string, options: MockClient.Options);\n  /** Intercepts any matching requests that use the same origin as this mock client. */\n  intercept(options: MockInterceptor.Options): MockInterceptor;\n  /** Dispatches a mocked request. */\n  dispatch(options: Dispatcher.DispatchOptions, handlers: Dispatcher.DispatchHandlers): boolean;\n  /** Closes the mock client and gracefully waits for enqueued requests to complete. */\n  close(): Promise<void>;\n}\n\ndeclare namespace MockClient {\n  /** MockClient options. */\n  export interface Options extends Client.Options {\n    /** The agent to associate this MockClient with. */\n    agent: MockAgent;\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/mock-pool.d.ts",
      "content": "import Pool from './pool'\nimport MockAgent from './mock-agent'\nimport { Interceptable, MockInterceptor } from './mock-interceptor'\nimport Dispatcher from './dispatcher'\n\nexport default MockPool\n\n/** MockPool extends the Pool API and allows one to mock requests. */\ndeclare class MockPool extends Pool implements Interceptable {\n  constructor(origin: string, options: MockPool.Options);\n  /** Intercepts any matching requests that use the same origin as this mock pool. */\n  intercept(options: MockInterceptor.Options): MockInterceptor;\n  /** Dispatches a mocked request. */\n  dispatch(options: Dispatcher.DispatchOptions, handlers: Dispatcher.DispatchHandlers): boolean;\n  /** Closes the mock pool and gracefully waits for enqueued requests to complete. */\n  close(): Promise<void>;\n}\n\ndeclare namespace MockPool {\n  /** MockPool options. */\n  export interface Options extends Pool.Options {\n    /** The agent to associate this MockPool with. */\n    agent: MockAgent;\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/mock-errors.d.ts",
      "content": "import Errors from './errors'\n\nexport default MockErrors\n\ndeclare namespace MockErrors {\n  /** The request does not match any registered mock dispatches. */\n  export class MockNotMatchedError extends Errors.UndiciError {\n    constructor(message?: string);\n    name: 'MockNotMatchedError';\n    code: 'UND_MOCK_ERR_MOCK_NOT_MATCHED';\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/proxy-agent.d.ts",
      "content": "import Agent from './agent'\nimport buildConnector from './connector';\nimport Client from './client'\nimport Dispatcher from './dispatcher'\nimport { IncomingHttpHeaders } from './header'\nimport Pool from './pool'\n\nexport default ProxyAgent\n\ndeclare class ProxyAgent extends Dispatcher {\n  constructor(options: ProxyAgent.Options | string)\n\n  dispatch(options: Agent.DispatchOptions, handler: Dispatcher.DispatchHandlers): boolean;\n  close(): Promise<void>;\n}\n\ndeclare namespace ProxyAgent {\n  export interface Options extends Agent.Options {\n    uri: string;\n    /**\n     * @deprecated use opts.token\n     */\n    auth?: string;\n    token?: string;\n    headers?: IncomingHttpHeaders;\n    requestTls?: buildConnector.BuildOptions;\n    proxyTls?: buildConnector.BuildOptions;\n    clientFactory?(origin: URL, opts: object): Dispatcher;\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/api.d.ts",
      "content": "import { URL, UrlObject } from 'url'\nimport { Duplex } from 'stream'\nimport Dispatcher from './dispatcher'\n\nexport {\n  request,\n  stream,\n  pipeline,\n  connect,\n  upgrade,\n}\n\n/** Performs an HTTP request. */\ndeclare function request(\n  url: string | URL | UrlObject,\n  options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions, 'origin' | 'path' | 'method'> & Partial<Pick<Dispatcher.RequestOptions, 'method'>>,\n): Promise<Dispatcher.ResponseData>;\n\n/** A faster version of `request`. */\ndeclare function stream(\n  url: string | URL | UrlObject,\n  options: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions, 'origin' | 'path'>,\n  factory: Dispatcher.StreamFactory\n): Promise<Dispatcher.StreamData>;\n\n/** For easy use with `stream.pipeline`. */\ndeclare function pipeline(\n  url: string | URL | UrlObject,\n  options: { dispatcher?: Dispatcher } & Omit<Dispatcher.PipelineOptions, 'origin' | 'path'>,\n  handler: Dispatcher.PipelineHandler\n): Duplex;\n\n/** Starts two-way communications with the requested resource. */\ndeclare function connect(\n  url: string | URL | UrlObject,\n  options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.ConnectOptions, 'origin' | 'path'>\n): Promise<Dispatcher.ConnectData>;\n\n/** Upgrade to a different protocol. */\ndeclare function upgrade(\n  url: string | URL | UrlObject,\n  options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.UpgradeOptions, 'origin' | 'path'>\n): Promise<Dispatcher.UpgradeData>;\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/cookies.d.ts",
      "content": "/// <reference types=\"node\" />\n\nimport type { Headers } from './fetch'\n\nexport interface Cookie {\n  name: string\n  value: string\n  expires?: Date | number\n  maxAge?: number\n  domain?: string\n  path?: string\n  secure?: boolean\n  httpOnly?: boolean\n  sameSite?: 'Strict' | 'Lax' | 'None'\n  unparsed?: string[]\n}\n\nexport function deleteCookie (\n  headers: Headers,\n  name: string,\n  attributes?: { name?: string, domain?: string }\n): void\n\nexport function getCookies (headers: Headers): Record<string, string>\n\nexport function getSetCookies (headers: Headers): Cookie[]\n\nexport function setCookie (headers: Headers, cookie: Cookie): void\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/patch.d.ts",
      "content": "/// <reference types=\"node\" />\n\n// See https://github.com/nodejs/undici/issues/1740\n\nexport type DOMException = typeof globalThis extends { DOMException: infer T }\n ? T\n : any\n\nexport type EventTarget = typeof globalThis extends { EventTarget: infer T }\n  ? T\n  : {\n    addEventListener(\n      type: string,\n      listener: any,\n      options?: any,\n    ): void\n    dispatchEvent(event: Event): boolean\n    removeEventListener(\n      type: string,\n      listener: any,\n      options?: any | boolean,\n    ): void\n  }\n\nexport type Event = typeof globalThis extends { Event: infer T }\n  ? T\n  : {\n    readonly bubbles: boolean\n    cancelBubble: () => void\n    readonly cancelable: boolean\n    readonly composed: boolean\n    composedPath(): [EventTarget?]\n    readonly currentTarget: EventTarget | null\n    readonly defaultPrevented: boolean\n    readonly eventPhase: 0 | 2\n    readonly isTrusted: boolean\n    preventDefault(): void\n    returnValue: boolean\n    readonly srcElement: EventTarget | null\n    stopImmediatePropagation(): void\n    stopPropagation(): void\n    readonly target: EventTarget | null\n    readonly timeStamp: number\n    readonly type: string\n  }\n\nexport interface EventInit {\n  bubbles?: boolean\n  cancelable?: boolean\n  composed?: boolean\n}\n\nexport interface EventListenerOptions {\n  capture?: boolean\n}\n\nexport interface AddEventListenerOptions extends EventListenerOptions {\n  once?: boolean\n  passive?: boolean\n  signal?: AbortSignal\n}\n\nexport type EventListenerOrEventListenerObject = EventListener | EventListenerObject\n\nexport interface EventListenerObject {\n  handleEvent (object: Event): void\n}\n\nexport interface EventListener {\n  (evt: Event): void\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/filereader.d.ts",
      "content": "/// <reference types=\"node\" />\n\nimport { Blob } from 'buffer'\nimport { DOMException, Event, EventInit, EventTarget } from './patch'\n\nexport declare class FileReader {\n  __proto__: EventTarget & FileReader\n\n  constructor ()\n\n  readAsArrayBuffer (blob: Blob): void\n  readAsBinaryString (blob: Blob): void\n  readAsText (blob: Blob, encoding?: string): void\n  readAsDataURL (blob: Blob): void\n\n  abort (): void\n\n  static readonly EMPTY = 0\n  static readonly LOADING = 1\n  static readonly DONE = 2\n\n  readonly EMPTY = 0\n  readonly LOADING = 1\n  readonly DONE = 2\n\n  readonly readyState: number\n\n  readonly result: string | ArrayBuffer | null\n\n  readonly error: DOMException | null\n\n  onloadstart: null | ((this: FileReader, event: ProgressEvent) => void)\n  onprogress: null | ((this: FileReader, event: ProgressEvent) => void)\n  onload: null | ((this: FileReader, event: ProgressEvent) => void)\n  onabort: null |  ((this: FileReader, event: ProgressEvent) => void)\n  onerror: null | ((this: FileReader, event: ProgressEvent) => void)\n  onloadend: null | ((this: FileReader, event: ProgressEvent) => void)\n}\n\nexport interface ProgressEventInit extends EventInit {\n  lengthComputable?: boolean\n  loaded?: number\n  total?: number\n}\n\nexport declare class ProgressEvent {\n  __proto__: Event & ProgressEvent\n\n  constructor (type: string, eventInitDict?: ProgressEventInit)\n\n  readonly lengthComputable: boolean\n  readonly loaded: number\n  readonly total: number\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/diagnostics-channel.d.ts",
      "content": "import { Socket } from \"net\";\nimport { URL } from \"url\";\nimport Connector from \"./connector\";\nimport Dispatcher from \"./dispatcher\";\n\ndeclare namespace DiagnosticsChannel {\n  interface Request {\n    origin?: string | URL;\n    completed: boolean;\n    method?: Dispatcher.HttpMethod;\n    path: string;\n    headers: string;\n    addHeader(key: string, value: string): Request;\n  }\n  interface Response {\n    statusCode: number;\n    statusText: string;\n    headers: Array<Buffer>;\n  }\n  type Error = unknown;\n  interface ConnectParams {\n    host: URL[\"host\"];\n    hostname: URL[\"hostname\"];\n    protocol: URL[\"protocol\"];\n    port: URL[\"port\"];\n    servername: string | null;\n  }\n  type Connector = Connector.connector;\n  export interface RequestCreateMessage {\n    request: Request;\n  }\n  export interface RequestBodySentMessage {\n    request: Request;\n  }\n  export interface RequestHeadersMessage {\n    request: Request;\n    response: Response;\n  }\n  export interface RequestTrailersMessage {\n    request: Request;\n    trailers: Array<Buffer>;\n  }\n  export interface RequestErrorMessage {\n    request: Request;\n    error: Error;\n  }\n  export interface ClientSendHeadersMessage {\n    request: Request;\n    headers: string;\n    socket: Socket;\n  }\n  export interface ClientBeforeConnectMessage {\n    connectParams: ConnectParams;\n    connector: Connector;\n  }\n  export interface ClientConnectedMessage {\n    socket: Socket;\n    connectParams: ConnectParams;\n    connector: Connector;\n  }\n  export interface ClientConnectErrorMessage {\n    error: Error;\n    socket: Socket;\n    connectParams: ConnectParams;\n    connector: Connector;\n  }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/websocket.d.ts",
      "content": "/// <reference types=\"node\" />\n\nimport type { Blob } from 'buffer'\nimport type { MessagePort } from 'worker_threads'\nimport {\n  EventTarget,\n  Event,\n  EventInit,\n  EventListenerOptions,\n  AddEventListenerOptions,\n  EventListenerOrEventListenerObject\n} from './patch'\nimport Dispatcher from './dispatcher'\nimport { HeadersInit } from './fetch'\n\nexport type BinaryType = 'blob' | 'arraybuffer'\n\ninterface WebSocketEventMap {\n  close: CloseEvent\n  error: Event\n  message: MessageEvent\n  open: Event\n}\n\ninterface WebSocket extends EventTarget {\n  binaryType: BinaryType\n  \n  readonly bufferedAmount: number\n  readonly extensions: string\n\n  onclose: ((this: WebSocket, ev: WebSocketEventMap['close']) => any) | null\n  onerror: ((this: WebSocket, ev: WebSocketEventMap['error']) => any) | null\n  onmessage: ((this: WebSocket, ev: WebSocketEventMap['message']) => any) | null\n  onopen: ((this: WebSocket, ev: WebSocketEventMap['open']) => any) | null\n\n  readonly protocol: string\n  readonly readyState: number\n  readonly url: string\n\n  close(code?: number, reason?: string): void\n  send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void\n\n  readonly CLOSED: number\n  readonly CLOSING: number\n  readonly CONNECTING: number\n  readonly OPEN: number\n\n  addEventListener<K extends keyof WebSocketEventMap>(\n    type: K,\n    listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any,\n    options?: boolean | AddEventListenerOptions\n  ): void\n  addEventListener(\n    type: string,\n    listener: EventListenerOrEventListenerObject,\n    options?: boolean | AddEventListenerOptions\n  ): void\n  removeEventListener<K extends keyof WebSocketEventMap>(\n    type: K,\n    listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any,\n    options?: boolean | EventListenerOptions\n  ): void\n  removeEventListener(\n    type: string,\n    listener: EventListenerOrEventListenerObject,\n    options?: boolean | EventListenerOptions\n  ): void\n}\n\nexport declare const WebSocket: {\n  prototype: WebSocket\n  new (url: string | URL, protocols?: string | string[] | WebSocketInit): WebSocket\n  readonly CLOSED: number\n  readonly CLOSING: number\n  readonly CONNECTING: number\n  readonly OPEN: number\n}\n\ninterface CloseEventInit extends EventInit {\n  code?: number\n  reason?: string\n  wasClean?: boolean\n}\n\ninterface CloseEvent extends Event {\n  readonly code: number\n  readonly reason: string\n  readonly wasClean: boolean\n}\n\nexport declare const CloseEvent: {\n  prototype: CloseEvent\n  new (type: string, eventInitDict?: CloseEventInit): CloseEvent\n}\n\ninterface MessageEventInit<T = any> extends EventInit {\n  data?: T\n  lastEventId?: string\n  origin?: string\n  ports?: (typeof MessagePort)[]\n  source?: typeof MessagePort | null\n}\n\ninterface MessageEvent<T = any> extends Event {\n  readonly data: T\n  readonly lastEventId: string\n  readonly origin: string\n  readonly ports: ReadonlyArray<typeof MessagePort>\n  readonly source: typeof MessagePort | null\n  initMessageEvent(\n    type: string,\n    bubbles?: boolean,\n    cancelable?: boolean,\n    data?: any,\n    origin?: string,\n    lastEventId?: string,\n    source?: typeof MessagePort | null,\n    ports?: (typeof MessagePort)[]\n  ): void;\n}\n\nexport declare const MessageEvent: {\n  prototype: MessageEvent\n  new<T>(type: string, eventInitDict?: MessageEventInit<T>): MessageEvent<T>\n}\n\ninterface WebSocketInit {\n  protocols?: string | string[],\n  dispatcher?: Dispatcher,\n  headers?: HeadersInit\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/content-type.d.ts",
      "content": "/// <reference types=\"node\" />\n\ninterface MIMEType {\n  type: string\n  subtype: string\n  parameters: Map<string, string>\n  essence: string\n}\n\n/**\n * Parse a string to a {@link MIMEType} object. Returns `failure` if the string\n * couldn't be parsed.\n * @see https://mimesniff.spec.whatwg.org/#parse-a-mime-type\n */\nexport function parseMIMEType (input: string): 'failure' | MIMEType\n\n/**\n * Convert a MIMEType object to a string.\n * @see https://mimesniff.spec.whatwg.org/#serialize-a-mime-type\n */\nexport function serializeAMimeType (mimeType: MIMEType): string\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/cache.d.ts",
      "content": "import type { RequestInfo, Response, Request } from './fetch'\n\nexport interface CacheStorage {\n  match (request: RequestInfo, options?: MultiCacheQueryOptions): Promise<Response | undefined>,\n  has (cacheName: string): Promise<boolean>,\n  open (cacheName: string): Promise<Cache>,\n  delete (cacheName: string): Promise<boolean>,\n  keys (): Promise<string[]>\n}\n\ndeclare const CacheStorage: {\n  prototype: CacheStorage\n  new(): CacheStorage\n}\n\nexport interface Cache {\n  match (request: RequestInfo, options?: CacheQueryOptions): Promise<Response | undefined>,\n  matchAll (request?: RequestInfo, options?: CacheQueryOptions): Promise<readonly Response[]>,\n  add (request: RequestInfo): Promise<undefined>,\n  addAll (requests: RequestInfo[]): Promise<undefined>,\n  put (request: RequestInfo, response: Response): Promise<undefined>,\n  delete (request: RequestInfo, options?: CacheQueryOptions): Promise<boolean>,\n  keys (request?: RequestInfo, options?: CacheQueryOptions): Promise<readonly Request[]>\n}\n\nexport interface CacheQueryOptions {\n  ignoreSearch?: boolean,\n  ignoreMethod?: boolean,\n  ignoreVary?: boolean\n}\n\nexport interface MultiCacheQueryOptions extends CacheQueryOptions {\n  cacheName?: string\n}\n\nexport declare const caches: CacheStorage\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/interceptors.d.ts",
      "content": "import Dispatcher from \"./dispatcher\";\n\ntype RedirectInterceptorOpts = { maxRedirections?: number }\n\nexport declare function createRedirectInterceptor (opts: RedirectInterceptorOpts): Dispatcher.DispatchInterceptor\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/node_modules/undici-types/index.d.ts",
      "content": "import Dispatcher from'./dispatcher'\nimport { setGlobalDispatcher, getGlobalDispatcher } from './global-dispatcher'\nimport { setGlobalOrigin, getGlobalOrigin } from './global-origin'\nimport Pool from'./pool'\nimport { RedirectHandler, DecoratorHandler } from './handlers'\n\nimport BalancedPool from './balanced-pool'\nimport Client from'./client'\nimport buildConnector from'./connector'\nimport errors from'./errors'\nimport Agent from'./agent'\nimport MockClient from'./mock-client'\nimport MockPool from'./mock-pool'\nimport MockAgent from'./mock-agent'\nimport mockErrors from'./mock-errors'\nimport ProxyAgent from'./proxy-agent'\nimport { request, pipeline, stream, connect, upgrade } from './api'\n\nexport * from './cookies'\nexport * from './fetch'\nexport * from './file'\nexport * from './filereader'\nexport * from './formdata'\nexport * from './diagnostics-channel'\nexport * from './websocket'\nexport * from './content-type'\nexport * from './cache'\nexport { Interceptable } from './mock-interceptor'\n\nexport { Dispatcher, BalancedPool, Pool, Client, buildConnector, errors, Agent, request, stream, pipeline, connect, upgrade, setGlobalDispatcher, getGlobalDispatcher, setGlobalOrigin, getGlobalOrigin, MockClient, MockPool, MockAgent, mockErrors, ProxyAgent, RedirectHandler, DecoratorHandler }\nexport default Undici\n\ndeclare namespace Undici {\n  var Dispatcher: typeof import('./dispatcher').default\n  var Pool: typeof import('./pool').default;\n  var RedirectHandler: typeof import ('./handlers').RedirectHandler\n  var DecoratorHandler: typeof import ('./handlers').DecoratorHandler\n  var createRedirectInterceptor: typeof import ('./interceptors').createRedirectInterceptor\n  var BalancedPool: typeof import('./balanced-pool').default;\n  var Client: typeof import('./client').default;\n  var buildConnector: typeof import('./connector').default;\n  var errors: typeof import('./errors').default;\n  var Agent: typeof import('./agent').default;\n  var setGlobalDispatcher: typeof import('./global-dispatcher').setGlobalDispatcher;\n  var getGlobalDispatcher: typeof import('./global-dispatcher').getGlobalDispatcher;\n  var request: typeof import('./api').request;\n  var stream: typeof import('./api').stream;\n  var pipeline: typeof import('./api').pipeline;\n  var connect: typeof import('./api').connect;\n  var upgrade: typeof import('./api').upgrade;\n  var MockClient: typeof import('./mock-client').default;\n  var MockPool: typeof import('./mock-pool').default;\n  var MockAgent: typeof import('./mock-agent').default;\n  var mockErrors: typeof import('./mock-errors').default;\n  var fetch: typeof import('./fetch').fetch;\n  var Headers: typeof import('./fetch').Headers;\n  var Response: typeof import('./fetch').Response;\n  var Request: typeof import('./fetch').Request;\n  var FormData: typeof import('./formdata').FormData;\n  var File: typeof import('./file').File;\n  var FileReader: typeof import('./filereader').FileReader;\n  var caches: typeof import('./cache').caches;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/web-globals/fetch.d.ts",
      "content": "export {};\n\nimport * as undici from \"undici-types\";\n\ntype _FormData = typeof globalThis extends { onmessage: any } ? {} : undici.FormData;\ntype _Headers = typeof globalThis extends { onmessage: any } ? {} : undici.Headers;\ntype _MessageEvent = typeof globalThis extends { onmessage: any } ? {} : undici.MessageEvent;\ntype _Request = typeof globalThis extends { onmessage: any } ? {} : undici.Request;\ntype _RequestInit = typeof globalThis extends { onmessage: any } ? {} : undici.RequestInit;\ntype _Response = typeof globalThis extends { onmessage: any } ? {} : undici.Response;\ntype _ResponseInit = typeof globalThis extends { onmessage: any } ? {} : undici.ResponseInit;\n\ndeclare global {\n    function fetch(\n        input: string | URL | Request,\n        init?: RequestInit,\n    ): Promise<Response>;\n\n    interface FormData extends _FormData {}\n    var FormData: typeof globalThis extends { onmessage: any; FormData: infer T } ? T : typeof undici.FormData;\n\n    interface Headers extends _Headers {}\n    var Headers: typeof globalThis extends { onmessage: any; Headers: infer T } ? T : typeof undici.Headers;\n\n    interface MessageEvent extends _MessageEvent {}\n    var MessageEvent: typeof globalThis extends { onmessage: any; MessageEvent: infer T } ? T\n        : typeof undici.MessageEvent;\n\n    interface Request extends _Request {}\n    var Request: typeof globalThis extends { onmessage: any; Request: infer T } ? T : typeof undici.Request;\n\n    interface RequestInit extends _RequestInit {}\n\n    interface Response extends _Response {}\n    var Response: typeof globalThis extends { onmessage: any; Response: infer T } ? T : typeof undici.Response;\n\n    interface ResponseInit extends _ResponseInit {}\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/assert.d.ts",
      "content": "/**\n * The `assert` module provides a set of assertion functions for verifying\n * invariants.\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/assert.js)\n */\ndeclare module \"assert\" {\n    /**\n     * An alias of {@link ok}.\n     * @since v0.5.9\n     * @param value The input that is checked for being truthy.\n     */\n    function assert(value: unknown, message?: string | Error): asserts value;\n    namespace assert {\n        type AssertMethodNames =\n            | \"deepEqual\"\n            | \"deepStrictEqual\"\n            | \"doesNotMatch\"\n            | \"doesNotReject\"\n            | \"doesNotThrow\"\n            | \"equal\"\n            | \"fail\"\n            | \"ifError\"\n            | \"match\"\n            | \"notDeepEqual\"\n            | \"notDeepStrictEqual\"\n            | \"notEqual\"\n            | \"notStrictEqual\"\n            | \"ok\"\n            | \"rejects\"\n            | \"strictEqual\"\n            | \"throws\";\n        /**\n         * Indicates the failure of an assertion. All errors thrown by the `assert` module\n         * will be instances of the `AssertionError` class.\n         */\n        class AssertionError extends Error {\n            actual: unknown;\n            expected: unknown;\n            operator: string;\n            generatedMessage: boolean;\n            code: \"ERR_ASSERTION\";\n            constructor(options?: {\n                /** If provided, the error message is set to this value. */\n                message?: string | undefined;\n                /** The `actual` property on the error instance. */\n                actual?: unknown | undefined;\n                /** The `expected` property on the error instance. */\n                expected?: unknown | undefined;\n                /** The `operator` property on the error instance. */\n                operator?: string | undefined;\n                /** If provided, the generated stack trace omits frames before this function. */\n                // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n                stackStartFn?: Function | undefined;\n            });\n        }\n        /**\n         * This feature is currently experimental and behavior might still change.\n         * @since v14.2.0, v12.19.0\n         * @experimental\n         */\n        class CallTracker {\n            /**\n             * The wrapper function is expected to be called exactly `exact` times. If the\n             * function has not been called exactly `exact` times when `tracker.verify()` is called, then `tracker.verify()` will throw an\n             * error.\n             *\n             * ```js\n             * import assert from 'assert';\n             *\n             * // Creates call tracker.\n             * const tracker = new assert.CallTracker();\n             *\n             * function func() {}\n             *\n             * // Returns a function that wraps func() that must be called exact times\n             * // before tracker.verify().\n             * const callsfunc = tracker.calls(func);\n             * ```\n             * @since v14.2.0, v12.19.0\n             * @param [fn='A no-op function']\n             * @param [exact=1]\n             * @return that wraps `fn`.\n             */\n            calls(exact?: number): () => void;\n            calls(fn: undefined, exact?: number): () => void;\n            calls<Func extends (...args: any[]) => any>(fn: Func, exact?: number): Func;\n            calls<Func extends (...args: any[]) => any>(fn?: Func, exact?: number): Func | (() => void);\n            /**\n             * Example:\n             *\n             * ```js\n             * import assert from 'node:assert';\n             *\n             * const tracker = new assert.CallTracker();\n             *\n             * function func() {}\n             * const callsfunc = tracker.calls(func);\n             * callsfunc(1, 2, 3);\n             *\n             * assert.deepStrictEqual(tracker.getCalls(callsfunc),\n             *                        [{ thisArg: this, arguments: [1, 2, 3 ] }]);\n             * ```\n             *\n             * @since v18.8.0, v16.18.0\n             * @param fn\n             * @returns An Array with the calls to a tracked function.\n             */\n            getCalls(fn: Function): CallTrackerCall[];\n            /**\n             * The arrays contains information about the expected and actual number of calls of\n             * the functions that have not been called the expected number of times.\n             *\n             * ```js\n             * import assert from 'assert';\n             *\n             * // Creates call tracker.\n             * const tracker = new assert.CallTracker();\n             *\n             * function func() {}\n             *\n             * function foo() {}\n             *\n             * // Returns a function that wraps func() that must be called exact times\n             * // before tracker.verify().\n             * const callsfunc = tracker.calls(func, 2);\n             *\n             * // Returns an array containing information on callsfunc()\n             * tracker.report();\n             * // [\n             * //  {\n             * //    message: 'Expected the func function to be executed 2 time(s) but was\n             * //    executed 0 time(s).',\n             * //    actual: 0,\n             * //    expected: 2,\n             * //    operator: 'func',\n             * //    stack: stack trace\n             * //  }\n             * // ]\n             * ```\n             * @since v14.2.0, v12.19.0\n             * @return of objects containing information about the wrapper functions returned by `calls`.\n             */\n            report(): CallTrackerReportInformation[];\n            /**\n             * Reset calls of the call tracker.\n             * If a tracked function is passed as an argument, the calls will be reset for it.\n             * If no arguments are passed, all tracked functions will be reset.\n             *\n             * ```js\n             * import assert from 'node:assert';\n             *\n             * const tracker = new assert.CallTracker();\n             *\n             * function func() {}\n             * const callsfunc = tracker.calls(func);\n             *\n             * callsfunc();\n             * // Tracker was called once\n             * tracker.getCalls(callsfunc).length === 1;\n             *\n             * tracker.reset(callsfunc);\n             * tracker.getCalls(callsfunc).length === 0;\n             * ```\n             *\n             * @since v18.8.0, v16.18.0\n             * @param fn a tracked function to reset.\n             */\n            reset(fn?: Function): void;\n            /**\n             * Iterates through the list of functions passed to `tracker.calls()` and will throw an error for functions that\n             * have not been called the expected number of times.\n             *\n             * ```js\n             * import assert from 'assert';\n             *\n             * // Creates call tracker.\n             * const tracker = new assert.CallTracker();\n             *\n             * function func() {}\n             *\n             * // Returns a function that wraps func() that must be called exact times\n             * // before tracker.verify().\n             * const callsfunc = tracker.calls(func, 2);\n             *\n             * callsfunc();\n             *\n             * // Will throw an error since callsfunc() was only called once.\n             * tracker.verify();\n             * ```\n             * @since v14.2.0, v12.19.0\n             */\n            verify(): void;\n        }\n        interface CallTrackerCall {\n            thisArg: object;\n            arguments: unknown[];\n        }\n        interface CallTrackerReportInformation {\n            message: string;\n            /** The actual number of times the function was called. */\n            actual: number;\n            /** The number of times the function was expected to be called. */\n            expected: number;\n            /** The name of the function that is wrapped. */\n            operator: string;\n            /** A stack trace of the function. */\n            stack: object;\n        }\n        type AssertPredicate = RegExp | (new() => object) | ((thrown: unknown) => boolean) | object | Error;\n        /**\n         * Throws an `AssertionError` with the provided error message or a default\n         * error message. If the `message` parameter is an instance of an `Error` then\n         * it will be thrown instead of the `AssertionError`.\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.fail();\n         * // AssertionError [ERR_ASSERTION]: Failed\n         *\n         * assert.fail('boom');\n         * // AssertionError [ERR_ASSERTION]: boom\n         *\n         * assert.fail(new TypeError('need array'));\n         * // TypeError: need array\n         * ```\n         *\n         * Using `assert.fail()` with more than two arguments is possible but deprecated.\n         * See below for further details.\n         * @since v0.1.21\n         * @param [message='Failed']\n         */\n        function fail(message?: string | Error): never;\n        /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */\n        function fail(\n            actual: unknown,\n            expected: unknown,\n            message?: string | Error,\n            operator?: string,\n            // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n            stackStartFn?: Function,\n        ): never;\n        /**\n         * Tests if `value` is truthy. It is equivalent to`assert.equal(!!value, true, message)`.\n         *\n         * If `value` is not truthy, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is `undefined`, a default\n         * error message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.\n         * If no arguments are passed in at all `message` will be set to the string:`` 'No value argument passed to `assert.ok()`' ``.\n         *\n         * Be aware that in the `repl` the error message will be different to the one\n         * thrown in a file! See below for further details.\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.ok(true);\n         * // OK\n         * assert.ok(1);\n         * // OK\n         *\n         * assert.ok();\n         * // AssertionError: No value argument passed to `assert.ok()`\n         *\n         * assert.ok(false, 'it\\'s false');\n         * // AssertionError: it's false\n         *\n         * // In the repl:\n         * assert.ok(typeof 123 === 'string');\n         * // AssertionError: false == true\n         *\n         * // In a file (e.g. test.js):\n         * assert.ok(typeof 123 === 'string');\n         * // AssertionError: The expression evaluated to a falsy value:\n         * //\n         * //   assert.ok(typeof 123 === 'string')\n         *\n         * assert.ok(false);\n         * // AssertionError: The expression evaluated to a falsy value:\n         * //\n         * //   assert.ok(false)\n         *\n         * assert.ok(0);\n         * // AssertionError: The expression evaluated to a falsy value:\n         * //\n         * //   assert.ok(0)\n         * ```\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * // Using `assert()` works the same:\n         * assert(0);\n         * // AssertionError: The expression evaluated to a falsy value:\n         * //\n         * //   assert(0)\n         * ```\n         * @since v0.1.21\n         */\n        function ok(value: unknown, message?: string | Error): asserts value;\n        /**\n         * **Strict assertion mode**\n         *\n         * An alias of {@link strictEqual}.\n         *\n         * **Legacy assertion mode**\n         *\n         * > Stability: 3 - Legacy: Use {@link strictEqual} instead.\n         *\n         * Tests shallow, coercive equality between the `actual` and `expected` parameters\n         * using the [`==` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality). `NaN` is specially handled\n         * and treated as being identical if both sides are `NaN`.\n         *\n         * ```js\n         * import assert from 'assert';\n         *\n         * assert.equal(1, 1);\n         * // OK, 1 == 1\n         * assert.equal(1, '1');\n         * // OK, 1 == '1'\n         * assert.equal(NaN, NaN);\n         * // OK\n         *\n         * assert.equal(1, 2);\n         * // AssertionError: 1 == 2\n         * assert.equal({ a: { b: 1 } }, { a: { b: 1 } });\n         * // AssertionError: { a: { b: 1 } } == { a: { b: 1 } }\n         * ```\n         *\n         * If the values are not equal, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is undefined, a default\n         * error message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.\n         * @since v0.1.21\n         */\n        function equal(actual: unknown, expected: unknown, message?: string | Error): void;\n        /**\n         * **Strict assertion mode**\n         *\n         * An alias of {@link notStrictEqual}.\n         *\n         * **Legacy assertion mode**\n         *\n         * > Stability: 3 - Legacy: Use {@link notStrictEqual} instead.\n         *\n         * Tests shallow, coercive inequality with the [`!=` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Inequality). `NaN` is\n         * specially handled and treated as being identical if both sides are `NaN`.\n         *\n         * ```js\n         * import assert from 'assert';\n         *\n         * assert.notEqual(1, 2);\n         * // OK\n         *\n         * assert.notEqual(1, 1);\n         * // AssertionError: 1 != 1\n         *\n         * assert.notEqual(1, '1');\n         * // AssertionError: 1 != '1'\n         * ```\n         *\n         * If the values are equal, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is undefined, a default error\n         * message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.\n         * @since v0.1.21\n         */\n        function notEqual(actual: unknown, expected: unknown, message?: string | Error): void;\n        /**\n         * **Strict assertion mode**\n         *\n         * An alias of {@link deepStrictEqual}.\n         *\n         * **Legacy assertion mode**\n         *\n         * > Stability: 3 - Legacy: Use {@link deepStrictEqual} instead.\n         *\n         * Tests for deep equality between the `actual` and `expected` parameters. Consider\n         * using {@link deepStrictEqual} instead. {@link deepEqual} can have\n         * surprising results.\n         *\n         * _Deep equality_ means that the enumerable \"own\" properties of child objects\n         * are also recursively evaluated by the following rules.\n         * @since v0.1.21\n         */\n        function deepEqual(actual: unknown, expected: unknown, message?: string | Error): void;\n        /**\n         * **Strict assertion mode**\n         *\n         * An alias of {@link notDeepStrictEqual}.\n         *\n         * **Legacy assertion mode**\n         *\n         * > Stability: 3 - Legacy: Use {@link notDeepStrictEqual} instead.\n         *\n         * Tests for any deep inequality. Opposite of {@link deepEqual}.\n         *\n         * ```js\n         * import assert from 'assert';\n         *\n         * const obj1 = {\n         *   a: {\n         *     b: 1\n         *   }\n         * };\n         * const obj2 = {\n         *   a: {\n         *     b: 2\n         *   }\n         * };\n         * const obj3 = {\n         *   a: {\n         *     b: 1\n         *   }\n         * };\n         * const obj4 = Object.create(obj1);\n         *\n         * assert.notDeepEqual(obj1, obj1);\n         * // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }\n         *\n         * assert.notDeepEqual(obj1, obj2);\n         * // OK\n         *\n         * assert.notDeepEqual(obj1, obj3);\n         * // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }\n         *\n         * assert.notDeepEqual(obj1, obj4);\n         * // OK\n         * ```\n         *\n         * If the values are deeply equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a default\n         * error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown\n         * instead of the `AssertionError`.\n         * @since v0.1.21\n         */\n        function notDeepEqual(actual: unknown, expected: unknown, message?: string | Error): void;\n        /**\n         * Tests strict equality between the `actual` and `expected` parameters as\n         * determined by [`Object.is()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.strictEqual(1, 2);\n         * // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal:\n         * //\n         * // 1 !== 2\n         *\n         * assert.strictEqual(1, 1);\n         * // OK\n         *\n         * assert.strictEqual('Hello foobar', 'Hello World!');\n         * // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal:\n         * // + actual - expected\n         * //\n         * // + 'Hello foobar'\n         * // - 'Hello World!'\n         * //          ^\n         *\n         * const apples = 1;\n         * const oranges = 2;\n         * assert.strictEqual(apples, oranges, `apples ${apples} !== oranges ${oranges}`);\n         * // AssertionError [ERR_ASSERTION]: apples 1 !== oranges 2\n         *\n         * assert.strictEqual(1, '1', new TypeError('Inputs are not identical'));\n         * // TypeError: Inputs are not identical\n         * ```\n         *\n         * If the values are not strictly equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a\n         * default error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown\n         * instead of the `AssertionError`.\n         * @since v0.1.21\n         */\n        function strictEqual<T>(actual: unknown, expected: T, message?: string | Error): asserts actual is T;\n        /**\n         * Tests strict inequality between the `actual` and `expected` parameters as\n         * determined by [`Object.is()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.notStrictEqual(1, 2);\n         * // OK\n         *\n         * assert.notStrictEqual(1, 1);\n         * // AssertionError [ERR_ASSERTION]: Expected \"actual\" to be strictly unequal to:\n         * //\n         * // 1\n         *\n         * assert.notStrictEqual(1, '1');\n         * // OK\n         * ```\n         *\n         * If the values are strictly equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a\n         * default error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown\n         * instead of the `AssertionError`.\n         * @since v0.1.21\n         */\n        function notStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void;\n        /**\n         * Tests for deep equality between the `actual` and `expected` parameters.\n         * \"Deep\" equality means that the enumerable \"own\" properties of child objects\n         * are recursively evaluated also by the following rules.\n         * @since v1.2.0\n         */\n        function deepStrictEqual<T>(actual: unknown, expected: T, message?: string | Error): asserts actual is T;\n        /**\n         * Tests for deep strict inequality. Opposite of {@link deepStrictEqual}.\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.notDeepStrictEqual({ a: 1 }, { a: '1' });\n         * // OK\n         * ```\n         *\n         * If the values are deeply and strictly equal, an `AssertionError` is thrown\n         * with a `message` property set equal to the value of the `message` parameter. If\n         * the `message` parameter is undefined, a default error message is assigned. If\n         * the `message` parameter is an instance of an `Error` then it will be thrown\n         * instead of the `AssertionError`.\n         * @since v1.2.0\n         */\n        function notDeepStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void;\n        /**\n         * Expects the function `fn` to throw an error.\n         *\n         * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),\n         * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), a validation function,\n         * a validation object where each property will be tested for strict deep equality,\n         * or an instance of error where each property will be tested for strict deep\n         * equality including the non-enumerable `message` and `name` properties. When\n         * using an object, it is also possible to use a regular expression, when\n         * validating against a string property. See below for examples.\n         *\n         * If specified, `message` will be appended to the message provided by the`AssertionError` if the `fn` call fails to throw or in case the error validation\n         * fails.\n         *\n         * Custom validation object/error instance:\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * const err = new TypeError('Wrong value');\n         * err.code = 404;\n         * err.foo = 'bar';\n         * err.info = {\n         *   nested: true,\n         *   baz: 'text'\n         * };\n         * err.reg = /abc/i;\n         *\n         * assert.throws(\n         *   () => {\n         *     throw err;\n         *   },\n         *   {\n         *     name: 'TypeError',\n         *     message: 'Wrong value',\n         *     info: {\n         *       nested: true,\n         *       baz: 'text'\n         *     }\n         *     // Only properties on the validation object will be tested for.\n         *     // Using nested objects requires all properties to be present. Otherwise\n         *     // the validation is going to fail.\n         *   }\n         * );\n         *\n         * // Using regular expressions to validate error properties:\n         * throws(\n         *   () => {\n         *     throw err;\n         *   },\n         *   {\n         *     // The `name` and `message` properties are strings and using regular\n         *     // expressions on those will match against the string. If they fail, an\n         *     // error is thrown.\n         *     name: /^TypeError$/,\n         *     message: /Wrong/,\n         *     foo: 'bar',\n         *     info: {\n         *       nested: true,\n         *       // It is not possible to use regular expressions for nested properties!\n         *       baz: 'text'\n         *     },\n         *     // The `reg` property contains a regular expression and only if the\n         *     // validation object contains an identical regular expression, it is going\n         *     // to pass.\n         *     reg: /abc/i\n         *   }\n         * );\n         *\n         * // Fails due to the different `message` and `name` properties:\n         * throws(\n         *   () => {\n         *     const otherErr = new Error('Not found');\n         *     // Copy all enumerable properties from `err` to `otherErr`.\n         *     for (const [key, value] of Object.entries(err)) {\n         *       otherErr[key] = value;\n         *     }\n         *     throw otherErr;\n         *   },\n         *   // The error's `message` and `name` properties will also be checked when using\n         *   // an error as validation object.\n         *   err\n         * );\n         * ```\n         *\n         * Validate instanceof using constructor:\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.throws(\n         *   () => {\n         *     throw new Error('Wrong value');\n         *   },\n         *   Error\n         * );\n         * ```\n         *\n         * Validate error message using [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions):\n         *\n         * Using a regular expression runs `.toString` on the error object, and will\n         * therefore also include the error name.\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.throws(\n         *   () => {\n         *     throw new Error('Wrong value');\n         *   },\n         *   /^Error: Wrong value$/\n         * );\n         * ```\n         *\n         * Custom error validation:\n         *\n         * The function must return `true` to indicate all internal validations passed.\n         * It will otherwise fail with an `AssertionError`.\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.throws(\n         *   () => {\n         *     throw new Error('Wrong value');\n         *   },\n         *   (err) => {\n         *     assert(err instanceof Error);\n         *     assert(/value/.test(err));\n         *     // Avoid returning anything from validation functions besides `true`.\n         *     // Otherwise, it's not clear what part of the validation failed. Instead,\n         *     // throw an error about the specific validation that failed (as done in this\n         *     // example) and add as much helpful debugging information to that error as\n         *     // possible.\n         *     return true;\n         *   },\n         *   'unexpected error'\n         * );\n         * ```\n         *\n         * `error` cannot be a string. If a string is provided as the second\n         * argument, then `error` is assumed to be omitted and the string will be used for`message` instead. This can lead to easy-to-miss mistakes. Using the same\n         * message as the thrown error message is going to result in an`ERR_AMBIGUOUS_ARGUMENT` error. Please read the example below carefully if using\n         * a string as the second argument gets considered:\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * function throwingFirst() {\n         *   throw new Error('First');\n         * }\n         *\n         * function throwingSecond() {\n         *   throw new Error('Second');\n         * }\n         *\n         * function notThrowing() {}\n         *\n         * // The second argument is a string and the input function threw an Error.\n         * // The first case will not throw as it does not match for the error message\n         * // thrown by the input function!\n         * assert.throws(throwingFirst, 'Second');\n         * // In the next example the message has no benefit over the message from the\n         * // error and since it is not clear if the user intended to actually match\n         * // against the error message, Node.js throws an `ERR_AMBIGUOUS_ARGUMENT` error.\n         * assert.throws(throwingSecond, 'Second');\n         * // TypeError [ERR_AMBIGUOUS_ARGUMENT]\n         *\n         * // The string is only used (as message) in case the function does not throw:\n         * assert.throws(notThrowing, 'Second');\n         * // AssertionError [ERR_ASSERTION]: Missing expected exception: Second\n         *\n         * // If it was intended to match for the error message do this instead:\n         * // It does not throw because the error messages match.\n         * assert.throws(throwingSecond, /Second$/);\n         *\n         * // If the error message does not match, an AssertionError is thrown.\n         * assert.throws(throwingFirst, /Second$/);\n         * // AssertionError [ERR_ASSERTION]\n         * ```\n         *\n         * Due to the confusing error-prone notation, avoid a string as the second\n         * argument.\n         * @since v0.1.21\n         */\n        function throws(block: () => unknown, message?: string | Error): void;\n        function throws(block: () => unknown, error: AssertPredicate, message?: string | Error): void;\n        /**\n         * Asserts that the function `fn` does not throw an error.\n         *\n         * Using `assert.doesNotThrow()` is actually not useful because there\n         * is no benefit in catching an error and then rethrowing it. Instead, consider\n         * adding a comment next to the specific code path that should not throw and keep\n         * error messages as expressive as possible.\n         *\n         * When `assert.doesNotThrow()` is called, it will immediately call the `fn`function.\n         *\n         * If an error is thrown and it is the same type as that specified by the `error`parameter, then an `AssertionError` is thrown. If the error is of a\n         * different type, or if the `error` parameter is undefined, the error is\n         * propagated back to the caller.\n         *\n         * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),\n         * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) or a validation\n         * function. See {@link throws} for more details.\n         *\n         * The following, for instance, will throw the `TypeError` because there is no\n         * matching error type in the assertion:\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.doesNotThrow(\n         *   () => {\n         *     throw new TypeError('Wrong value');\n         *   },\n         *   SyntaxError\n         * );\n         * ```\n         *\n         * However, the following will result in an `AssertionError` with the message\n         * 'Got unwanted exception...':\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.doesNotThrow(\n         *   () => {\n         *     throw new TypeError('Wrong value');\n         *   },\n         *   TypeError\n         * );\n         * ```\n         *\n         * If an `AssertionError` is thrown and a value is provided for the `message`parameter, the value of `message` will be appended to the `AssertionError` message:\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.doesNotThrow(\n         *   () => {\n         *     throw new TypeError('Wrong value');\n         *   },\n         *   /Wrong value/,\n         *   'Whoops'\n         * );\n         * // Throws: AssertionError: Got unwanted exception: Whoops\n         * ```\n         * @since v0.1.21\n         */\n        function doesNotThrow(block: () => unknown, message?: string | Error): void;\n        function doesNotThrow(block: () => unknown, error: AssertPredicate, message?: string | Error): void;\n        /**\n         * Throws `value` if `value` is not `undefined` or `null`. This is useful when\n         * testing the `error` argument in callbacks. The stack trace contains all frames\n         * from the error passed to `ifError()` including the potential new frames for`ifError()` itself.\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.ifError(null);\n         * // OK\n         * assert.ifError(0);\n         * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: 0\n         * assert.ifError('error');\n         * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: 'error'\n         * assert.ifError(new Error());\n         * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Error\n         *\n         * // Create some random error frames.\n         * let err;\n         * (function errorFrame() {\n         *   err = new Error('test error');\n         * })();\n         *\n         * (function ifErrorFrame() {\n         *   assert.ifError(err);\n         * })();\n         * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: test error\n         * //     at ifErrorFrame\n         * //     at errorFrame\n         * ```\n         * @since v0.1.97\n         */\n        function ifError(value: unknown): asserts value is null | undefined;\n        /**\n         * Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately\n         * calls the function and awaits the returned promise to complete. It will then\n         * check that the promise is rejected.\n         *\n         * If `asyncFn` is a function and it throws an error synchronously,`assert.rejects()` will return a rejected `Promise` with that error. If the\n         * function does not return a promise, `assert.rejects()` will return a rejected`Promise` with an `ERR_INVALID_RETURN_VALUE` error. In both cases the error\n         * handler is skipped.\n         *\n         * Besides the async nature to await the completion behaves identically to {@link throws}.\n         *\n         * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),\n         * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), a validation function,\n         * an object where each property will be tested for, or an instance of error where\n         * each property will be tested for including the non-enumerable `message` and `name` properties.\n         *\n         * If specified, `message` will be the message provided by the `AssertionError` if the `asyncFn` fails to reject.\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * await assert.rejects(\n         *   async () => {\n         *     throw new TypeError('Wrong value');\n         *   },\n         *   {\n         *     name: 'TypeError',\n         *     message: 'Wrong value'\n         *   }\n         * );\n         * ```\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * await assert.rejects(\n         *   async () => {\n         *     throw new TypeError('Wrong value');\n         *   },\n         *   (err) => {\n         *     assert.strictEqual(err.name, 'TypeError');\n         *     assert.strictEqual(err.message, 'Wrong value');\n         *     return true;\n         *   }\n         * );\n         * ```\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.rejects(\n         *   Promise.reject(new Error('Wrong value')),\n         *   Error\n         * ).then(() => {\n         *   // ...\n         * });\n         * ```\n         *\n         * `error` cannot be a string. If a string is provided as the second\n         * argument, then `error` is assumed to be omitted and the string will be used for`message` instead. This can lead to easy-to-miss mistakes. Please read the\n         * example in {@link throws} carefully if using a string as the second\n         * argument gets considered.\n         * @since v10.0.0\n         */\n        function rejects(block: (() => Promise<unknown>) | Promise<unknown>, message?: string | Error): Promise<void>;\n        function rejects(\n            block: (() => Promise<unknown>) | Promise<unknown>,\n            error: AssertPredicate,\n            message?: string | Error,\n        ): Promise<void>;\n        /**\n         * Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately\n         * calls the function and awaits the returned promise to complete. It will then\n         * check that the promise is not rejected.\n         *\n         * If `asyncFn` is a function and it throws an error synchronously,`assert.doesNotReject()` will return a rejected `Promise` with that error. If\n         * the function does not return a promise, `assert.doesNotReject()` will return a\n         * rejected `Promise` with an `ERR_INVALID_RETURN_VALUE` error. In both cases\n         * the error handler is skipped.\n         *\n         * Using `assert.doesNotReject()` is actually not useful because there is little\n         * benefit in catching a rejection and then rejecting it again. Instead, consider\n         * adding a comment next to the specific code path that should not reject and keep\n         * error messages as expressive as possible.\n         *\n         * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),\n         * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) or a validation\n         * function. See {@link throws} for more details.\n         *\n         * Besides the async nature to await the completion behaves identically to {@link doesNotThrow}.\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * await assert.doesNotReject(\n         *   async () => {\n         *     throw new TypeError('Wrong value');\n         *   },\n         *   SyntaxError\n         * );\n         * ```\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.doesNotReject(Promise.reject(new TypeError('Wrong value')))\n         *   .then(() => {\n         *     // ...\n         *   });\n         * ```\n         * @since v10.0.0\n         */\n        function doesNotReject(\n            block: (() => Promise<unknown>) | Promise<unknown>,\n            message?: string | Error,\n        ): Promise<void>;\n        function doesNotReject(\n            block: (() => Promise<unknown>) | Promise<unknown>,\n            error: AssertPredicate,\n            message?: string | Error,\n        ): Promise<void>;\n        /**\n         * Expects the `string` input to match the regular expression.\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.match('I will fail', /pass/);\n         * // AssertionError [ERR_ASSERTION]: The input did not match the regular ...\n         *\n         * assert.match(123, /pass/);\n         * // AssertionError [ERR_ASSERTION]: The \"string\" argument must be of type string.\n         *\n         * assert.match('I will pass', /pass/);\n         * // OK\n         * ```\n         *\n         * If the values do not match, or if the `string` argument is of another type than`string`, an `AssertionError` is thrown with a `message` property set equal\n         * to the value of the `message` parameter. If the `message` parameter is\n         * undefined, a default error message is assigned. If the `message` parameter is an\n         * instance of an `Error` then it will be thrown instead of the `AssertionError`.\n         * @since v13.6.0, v12.16.0\n         */\n        function match(value: string, regExp: RegExp, message?: string | Error): void;\n        /**\n         * Expects the `string` input not to match the regular expression.\n         *\n         * ```js\n         * import assert from 'assert/strict';\n         *\n         * assert.doesNotMatch('I will fail', /fail/);\n         * // AssertionError [ERR_ASSERTION]: The input was expected to not match the ...\n         *\n         * assert.doesNotMatch(123, /pass/);\n         * // AssertionError [ERR_ASSERTION]: The \"string\" argument must be of type string.\n         *\n         * assert.doesNotMatch('I will pass', /different/);\n         * // OK\n         * ```\n         *\n         * If the values do match, or if the `string` argument is of another type than`string`, an `AssertionError` is thrown with a `message` property set equal\n         * to the value of the `message` parameter. If the `message` parameter is\n         * undefined, a default error message is assigned. If the `message` parameter is an\n         * instance of an `Error` then it will be thrown instead of the `AssertionError`.\n         * @since v13.6.0, v12.16.0\n         */\n        function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void;\n        const strict:\n            & Omit<\n                typeof assert,\n                | \"equal\"\n                | \"notEqual\"\n                | \"deepEqual\"\n                | \"notDeepEqual\"\n                | \"ok\"\n                | \"strictEqual\"\n                | \"deepStrictEqual\"\n                | \"ifError\"\n                | \"strict\"\n            >\n            & {\n                (value: unknown, message?: string | Error): asserts value;\n                equal: typeof strictEqual;\n                notEqual: typeof notStrictEqual;\n                deepEqual: typeof deepStrictEqual;\n                notDeepEqual: typeof notDeepStrictEqual;\n                // Mapped types and assertion functions are incompatible?\n                // TS2775: Assertions require every name in the call target\n                // to be declared with an explicit type annotation.\n                ok: typeof ok;\n                strictEqual: typeof strictEqual;\n                deepStrictEqual: typeof deepStrictEqual;\n                ifError: typeof ifError;\n                strict: typeof strict;\n            };\n    }\n    export = assert;\n}\ndeclare module \"node:assert\" {\n    import assert = require(\"assert\");\n    export = assert;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/assert/strict.d.ts",
      "content": "declare module \"assert/strict\" {\n    import { strict } from \"node:assert\";\n    export = strict;\n}\ndeclare module \"node:assert/strict\" {\n    import { strict } from \"node:assert\";\n    export = strict;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/async_hooks.d.ts",
      "content": "/**\n * The `async_hooks` module provides an API to track asynchronous resources. It\n * can be accessed using:\n *\n * ```js\n * import async_hooks from 'async_hooks';\n * ```\n * @experimental\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/async_hooks.js)\n */\ndeclare module \"async_hooks\" {\n    /**\n     * ```js\n     * import { executionAsyncId } from 'async_hooks';\n     *\n     * console.log(executionAsyncId());  // 1 - bootstrap\n     * fs.open(path, 'r', (err, fd) => {\n     *   console.log(executionAsyncId());  // 6 - open()\n     * });\n     * ```\n     *\n     * The ID returned from `executionAsyncId()` is related to execution timing, not\n     * causality (which is covered by `triggerAsyncId()`):\n     *\n     * ```js\n     * const server = net.createServer((conn) => {\n     *   // Returns the ID of the server, not of the new connection, because the\n     *   // callback runs in the execution scope of the server's MakeCallback().\n     *   async_hooks.executionAsyncId();\n     *\n     * }).listen(port, () => {\n     *   // Returns the ID of a TickObject (process.nextTick()) because all\n     *   // callbacks passed to .listen() are wrapped in a nextTick().\n     *   async_hooks.executionAsyncId();\n     * });\n     * ```\n     *\n     * Promise contexts may not get precise `executionAsyncIds` by default.\n     * See the section on `promise execution tracking`.\n     * @since v8.1.0\n     * @return The `asyncId` of the current execution context. Useful to track when something calls.\n     */\n    function executionAsyncId(): number;\n    /**\n     * Resource objects returned by `executionAsyncResource()` are most often internal\n     * Node.js handle objects with undocumented APIs. Using any functions or properties\n     * on the object is likely to crash your application and should be avoided.\n     *\n     * Using `executionAsyncResource()` in the top-level execution context will\n     * return an empty object as there is no handle or request object to use,\n     * but having an object representing the top-level can be helpful.\n     *\n     * ```js\n     * import { open } from 'fs';\n     * import { executionAsyncId, executionAsyncResource } from 'async_hooks';\n     *\n     * console.log(executionAsyncId(), executionAsyncResource());  // 1 {}\n     * open(new URL(import.meta.url), 'r', (err, fd) => {\n     *   console.log(executionAsyncId(), executionAsyncResource());  // 7 FSReqWrap\n     * });\n     * ```\n     *\n     * This can be used to implement continuation local storage without the\n     * use of a tracking `Map` to store the metadata:\n     *\n     * ```js\n     * import { createServer } from 'http';\n     * import {\n     *   executionAsyncId,\n     *   executionAsyncResource,\n     *   createHook\n     * } from 'async_hooks';\n     * const sym = Symbol('state'); // Private symbol to avoid pollution\n     *\n     * createHook({\n     *   init(asyncId, type, triggerAsyncId, resource) {\n     *     const cr = executionAsyncResource();\n     *     if (cr) {\n     *       resource[sym] = cr[sym];\n     *     }\n     *   }\n     * }).enable();\n     *\n     * const server = createServer((req, res) => {\n     *   executionAsyncResource()[sym] = { state: req.url };\n     *   setTimeout(function() {\n     *     res.end(JSON.stringify(executionAsyncResource()[sym]));\n     *   }, 100);\n     * }).listen(3000);\n     * ```\n     * @since v13.9.0, v12.17.0\n     * @return The resource representing the current execution. Useful to store data within the resource.\n     */\n    function executionAsyncResource(): object;\n    /**\n     * ```js\n     * const server = net.createServer((conn) => {\n     *   // The resource that caused (or triggered) this callback to be called\n     *   // was that of the new connection. Thus the return value of triggerAsyncId()\n     *   // is the asyncId of \"conn\".\n     *   async_hooks.triggerAsyncId();\n     *\n     * }).listen(port, () => {\n     *   // Even though all callbacks passed to .listen() are wrapped in a nextTick()\n     *   // the callback itself exists because the call to the server's .listen()\n     *   // was made. So the return value would be the ID of the server.\n     *   async_hooks.triggerAsyncId();\n     * });\n     * ```\n     *\n     * Promise contexts may not get valid `triggerAsyncId`s by default. See\n     * the section on `promise execution tracking`.\n     * @return The ID of the resource responsible for calling the callback that is currently being executed.\n     */\n    function triggerAsyncId(): number;\n    interface HookCallbacks {\n        /**\n         * Called when a class is constructed that has the possibility to emit an asynchronous event.\n         * @param asyncId a unique ID for the async resource\n         * @param type the type of the async resource\n         * @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created\n         * @param resource reference to the resource representing the async operation, needs to be released during destroy\n         */\n        init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void;\n        /**\n         * When an asynchronous operation is initiated or completes a callback is called to notify the user.\n         * The before callback is called just before said callback is executed.\n         * @param asyncId the unique identifier assigned to the resource about to execute the callback.\n         */\n        before?(asyncId: number): void;\n        /**\n         * Called immediately after the callback specified in before is completed.\n         * @param asyncId the unique identifier assigned to the resource which has executed the callback.\n         */\n        after?(asyncId: number): void;\n        /**\n         * Called when a promise has resolve() called. This may not be in the same execution id\n         * as the promise itself.\n         * @param asyncId the unique id for the promise that was resolve()d.\n         */\n        promiseResolve?(asyncId: number): void;\n        /**\n         * Called after the resource corresponding to asyncId is destroyed\n         * @param asyncId a unique ID for the async resource\n         */\n        destroy?(asyncId: number): void;\n    }\n    interface AsyncHook {\n        /**\n         * Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop.\n         */\n        enable(): this;\n        /**\n         * Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled.\n         */\n        disable(): this;\n    }\n    /**\n     * Registers functions to be called for different lifetime events of each async\n     * operation.\n     *\n     * The callbacks `init()`/`before()`/`after()`/`destroy()` are called for the\n     * respective asynchronous event during a resource's lifetime.\n     *\n     * All callbacks are optional. For example, if only resource cleanup needs to\n     * be tracked, then only the `destroy` callback needs to be passed. The\n     * specifics of all functions that can be passed to `callbacks` is in the `Hook Callbacks` section.\n     *\n     * ```js\n     * import { createHook } from 'async_hooks';\n     *\n     * const asyncHook = createHook({\n     *   init(asyncId, type, triggerAsyncId, resource) { },\n     *   destroy(asyncId) { }\n     * });\n     * ```\n     *\n     * The callbacks will be inherited via the prototype chain:\n     *\n     * ```js\n     * class MyAsyncCallbacks {\n     *   init(asyncId, type, triggerAsyncId, resource) { }\n     *   destroy(asyncId) {}\n     * }\n     *\n     * class MyAddedCallbacks extends MyAsyncCallbacks {\n     *   before(asyncId) { }\n     *   after(asyncId) { }\n     * }\n     *\n     * const asyncHook = async_hooks.createHook(new MyAddedCallbacks());\n     * ```\n     *\n     * Because promises are asynchronous resources whose lifecycle is tracked\n     * via the async hooks mechanism, the `init()`, `before()`, `after()`, and`destroy()` callbacks _must not_ be async functions that return promises.\n     * @since v8.1.0\n     * @param callbacks The `Hook Callbacks` to register\n     * @return Instance used for disabling and enabling hooks\n     */\n    function createHook(callbacks: HookCallbacks): AsyncHook;\n    interface AsyncResourceOptions {\n        /**\n         * The ID of the execution context that created this async event.\n         * @default executionAsyncId()\n         */\n        triggerAsyncId?: number | undefined;\n        /**\n         * Disables automatic `emitDestroy` when the object is garbage collected.\n         * This usually does not need to be set (even if `emitDestroy` is called\n         * manually), unless the resource's `asyncId` is retrieved and the\n         * sensitive API's `emitDestroy` is called with it.\n         * @default false\n         */\n        requireManualDestroy?: boolean | undefined;\n    }\n    /**\n     * The class `AsyncResource` is designed to be extended by the embedder's async\n     * resources. Using this, users can easily trigger the lifetime events of their\n     * own resources.\n     *\n     * The `init` hook will trigger when an `AsyncResource` is instantiated.\n     *\n     * The following is an overview of the `AsyncResource` API.\n     *\n     * ```js\n     * import { AsyncResource, executionAsyncId } from 'async_hooks';\n     *\n     * // AsyncResource() is meant to be extended. Instantiating a\n     * // new AsyncResource() also triggers init. If triggerAsyncId is omitted then\n     * // async_hook.executionAsyncId() is used.\n     * const asyncResource = new AsyncResource(\n     *   type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false }\n     * );\n     *\n     * // Run a function in the execution context of the resource. This will\n     * // * establish the context of the resource\n     * // * trigger the AsyncHooks before callbacks\n     * // * call the provided function `fn` with the supplied arguments\n     * // * trigger the AsyncHooks after callbacks\n     * // * restore the original execution context\n     * asyncResource.runInAsyncScope(fn, thisArg, ...args);\n     *\n     * // Call AsyncHooks destroy callbacks.\n     * asyncResource.emitDestroy();\n     *\n     * // Return the unique ID assigned to the AsyncResource instance.\n     * asyncResource.asyncId();\n     *\n     * // Return the trigger ID for the AsyncResource instance.\n     * asyncResource.triggerAsyncId();\n     * ```\n     */\n    class AsyncResource {\n        /**\n         * AsyncResource() is meant to be extended. Instantiating a\n         * new AsyncResource() also triggers init. If triggerAsyncId is omitted then\n         * async_hook.executionAsyncId() is used.\n         * @param type The type of async event.\n         * @param triggerAsyncId The ID of the execution context that created\n         *   this async event (default: `executionAsyncId()`), or an\n         *   AsyncResourceOptions object (since v9.3.0)\n         */\n        constructor(type: string, triggerAsyncId?: number | AsyncResourceOptions);\n        /**\n         * Binds the given function to the current execution context.\n         *\n         * The returned function will have an `asyncResource` property referencing\n         * the `AsyncResource` to which the function is bound.\n         * @since v14.8.0, v12.19.0\n         * @param fn The function to bind to the current execution context.\n         * @param type An optional name to associate with the underlying `AsyncResource`.\n         */\n        static bind<Func extends (this: ThisArg, ...args: any[]) => any, ThisArg>(\n            fn: Func,\n            type?: string,\n            thisArg?: ThisArg,\n        ): Func & {\n            asyncResource: AsyncResource;\n        };\n        /**\n         * Binds the given function to execute to this `AsyncResource`'s scope.\n         *\n         * The returned function will have an `asyncResource` property referencing\n         * the `AsyncResource` to which the function is bound.\n         * @since v14.8.0, v12.19.0\n         * @param fn The function to bind to the current `AsyncResource`.\n         */\n        bind<Func extends (...args: any[]) => any>(\n            fn: Func,\n        ): Func & {\n            asyncResource: AsyncResource;\n        };\n        /**\n         * Call the provided function with the provided arguments in the execution context\n         * of the async resource. This will establish the context, trigger the AsyncHooks\n         * before callbacks, call the function, trigger the AsyncHooks after callbacks, and\n         * then restore the original execution context.\n         * @since v9.6.0\n         * @param fn The function to call in the execution context of this async resource.\n         * @param thisArg The receiver to be used for the function call.\n         * @param args Optional arguments to pass to the function.\n         */\n        runInAsyncScope<This, Result>(\n            fn: (this: This, ...args: any[]) => Result,\n            thisArg?: This,\n            ...args: any[]\n        ): Result;\n        /**\n         * Call all `destroy` hooks. This should only ever be called once. An error will\n         * be thrown if it is called more than once. This **must** be manually called. If\n         * the resource is left to be collected by the GC then the `destroy` hooks will\n         * never be called.\n         * @return A reference to `asyncResource`.\n         */\n        emitDestroy(): this;\n        /**\n         * @return The unique `asyncId` assigned to the resource.\n         */\n        asyncId(): number;\n        /**\n         * @return The same `triggerAsyncId` that is passed to the `AsyncResource` constructor.\n         */\n        triggerAsyncId(): number;\n    }\n    /**\n     * This class creates stores that stay coherent through asynchronous operations.\n     *\n     * While you can create your own implementation on top of the `async_hooks` module,`AsyncLocalStorage` should be preferred as it is a performant and memory safe\n     * implementation that involves significant optimizations that are non-obvious to\n     * implement.\n     *\n     * The following example uses `AsyncLocalStorage` to build a simple logger\n     * that assigns IDs to incoming HTTP requests and includes them in messages\n     * logged within each request.\n     *\n     * ```js\n     * import http from 'http';\n     * import { AsyncLocalStorage } from 'async_hooks';\n     *\n     * const asyncLocalStorage = new AsyncLocalStorage();\n     *\n     * function logWithId(msg) {\n     *   const id = asyncLocalStorage.getStore();\n     *   console.log(`${id !== undefined ? id : '-'}:`, msg);\n     * }\n     *\n     * let idSeq = 0;\n     * http.createServer((req, res) => {\n     *   asyncLocalStorage.run(idSeq++, () => {\n     *     logWithId('start');\n     *     // Imagine any chain of async operations here\n     *     setImmediate(() => {\n     *       logWithId('finish');\n     *       res.end();\n     *     });\n     *   });\n     * }).listen(8080);\n     *\n     * http.get('http://localhost:8080');\n     * http.get('http://localhost:8080');\n     * // Prints:\n     * //   0: start\n     * //   1: start\n     * //   0: finish\n     * //   1: finish\n     * ```\n     *\n     * Each instance of `AsyncLocalStorage` maintains an independent storage context.\n     * Multiple instances can safely exist simultaneously without risk of interfering\n     * with each other's data.\n     * @since v13.10.0, v12.17.0\n     */\n    class AsyncLocalStorage<T> {\n        /**\n         * Binds the given function to the current execution context.\n         * @since v18.16.0\n         * @param fn The function to bind to the current execution context.\n         * @returns A new function that calls `fn` within the captured execution context.\n         */\n        static bind<Func extends (...args: any[]) => any>(fn: Func): Func & {\n            asyncResource: AsyncResource;\n        };\n        /**\n         * Captures the current execution context and returns a function that accepts a function as an argument.\n         * Whenever the returned function is called, it calls the function passed to it within the captured context.\n         * @since v18.16.0\n         */\n        static snapshot(): (<R, TArgs extends any[]>(fn: (...args: TArgs) => R, ...args: TArgs) => R) & {\n            asyncResource: AsyncResource;\n        };\n        /**\n         * Disables the instance of `AsyncLocalStorage`. All subsequent calls\n         * to `asyncLocalStorage.getStore()` will return `undefined` until`asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again.\n         *\n         * When calling `asyncLocalStorage.disable()`, all current contexts linked to the\n         * instance will be exited.\n         *\n         * Calling `asyncLocalStorage.disable()` is required before the`asyncLocalStorage` can be garbage collected. This does not apply to stores\n         * provided by the `asyncLocalStorage`, as those objects are garbage collected\n         * along with the corresponding async resources.\n         *\n         * Use this method when the `asyncLocalStorage` is not in use anymore\n         * in the current process.\n         * @since v13.10.0, v12.17.0\n         * @experimental\n         */\n        disable(): void;\n        /**\n         * Returns the current store.\n         * If called outside of an asynchronous context initialized by\n         * calling `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()`, it\n         * returns `undefined`.\n         * @since v13.10.0, v12.17.0\n         */\n        getStore(): T | undefined;\n        /**\n         * Runs a function synchronously within a context and returns its\n         * return value. The store is not accessible outside of the callback function.\n         * The store is accessible to any asynchronous operations created within the\n         * callback.\n         *\n         * The optional `args` are passed to the callback function.\n         *\n         * If the callback function throws an error, the error is thrown by `run()` too.\n         * The stacktrace is not impacted by this call and the context is exited.\n         *\n         * Example:\n         *\n         * ```js\n         * const store = { id: 2 };\n         * try {\n         *   asyncLocalStorage.run(store, () => {\n         *     asyncLocalStorage.getStore(); // Returns the store object\n         *     setTimeout(() => {\n         *       asyncLocalStorage.getStore(); // Returns the store object\n         *     }, 200);\n         *     throw new Error();\n         *   });\n         * } catch (e) {\n         *   asyncLocalStorage.getStore(); // Returns undefined\n         *   // The error will be caught here\n         * }\n         * ```\n         * @since v13.10.0, v12.17.0\n         */\n        run<R>(store: T, callback: () => R): R;\n        run<R, TArgs extends any[]>(store: T, callback: (...args: TArgs) => R, ...args: TArgs): R;\n        /**\n         * Runs a function synchronously outside of a context and returns its\n         * return value. The store is not accessible within the callback function or\n         * the asynchronous operations created within the callback. Any `getStore()`call done within the callback function will always return `undefined`.\n         *\n         * The optional `args` are passed to the callback function.\n         *\n         * If the callback function throws an error, the error is thrown by `exit()` too.\n         * The stacktrace is not impacted by this call and the context is re-entered.\n         *\n         * Example:\n         *\n         * ```js\n         * // Within a call to run\n         * try {\n         *   asyncLocalStorage.getStore(); // Returns the store object or value\n         *   asyncLocalStorage.exit(() => {\n         *     asyncLocalStorage.getStore(); // Returns undefined\n         *     throw new Error();\n         *   });\n         * } catch (e) {\n         *   asyncLocalStorage.getStore(); // Returns the same object or value\n         *   // The error will be caught here\n         * }\n         * ```\n         * @since v13.10.0, v12.17.0\n         * @experimental\n         */\n        exit<R, TArgs extends any[]>(callback: (...args: TArgs) => R, ...args: TArgs): R;\n        /**\n         * Transitions into the context for the remainder of the current\n         * synchronous execution and then persists the store through any following\n         * asynchronous calls.\n         *\n         * Example:\n         *\n         * ```js\n         * const store = { id: 1 };\n         * // Replaces previous store with the given store object\n         * asyncLocalStorage.enterWith(store);\n         * asyncLocalStorage.getStore(); // Returns the store object\n         * someAsyncOperation(() => {\n         *   asyncLocalStorage.getStore(); // Returns the same object\n         * });\n         * ```\n         *\n         * This transition will continue for the _entire_ synchronous execution.\n         * This means that if, for example, the context is entered within an event\n         * handler subsequent event handlers will also run within that context unless\n         * specifically bound to another context with an `AsyncResource`. That is why`run()` should be preferred over `enterWith()` unless there are strong reasons\n         * to use the latter method.\n         *\n         * ```js\n         * const store = { id: 1 };\n         *\n         * emitter.on('my-event', () => {\n         *   asyncLocalStorage.enterWith(store);\n         * });\n         * emitter.on('my-event', () => {\n         *   asyncLocalStorage.getStore(); // Returns the same object\n         * });\n         *\n         * asyncLocalStorage.getStore(); // Returns undefined\n         * emitter.emit('my-event');\n         * asyncLocalStorage.getStore(); // Returns the same object\n         * ```\n         * @since v13.11.0, v12.17.0\n         * @experimental\n         */\n        enterWith(store: T): void;\n    }\n    /**\n     * @since v17.2.0, v16.14.0\n     * @return A map of provider types to the corresponding numeric id.\n     * This map contains all the event types that might be emitted by the `async_hooks.init()` event.\n     */\n    namespace asyncWrapProviders {\n        const NONE: number;\n        const DIRHANDLE: number;\n        const DNSCHANNEL: number;\n        const ELDHISTOGRAM: number;\n        const FILEHANDLE: number;\n        const FILEHANDLECLOSEREQ: number;\n        const FIXEDSIZEBLOBCOPY: number;\n        const FSEVENTWRAP: number;\n        const FSREQCALLBACK: number;\n        const FSREQPROMISE: number;\n        const GETADDRINFOREQWRAP: number;\n        const GETNAMEINFOREQWRAP: number;\n        const HEAPSNAPSHOT: number;\n        const HTTP2SESSION: number;\n        const HTTP2STREAM: number;\n        const HTTP2PING: number;\n        const HTTP2SETTINGS: number;\n        const HTTPINCOMINGMESSAGE: number;\n        const HTTPCLIENTREQUEST: number;\n        const JSSTREAM: number;\n        const JSUDPWRAP: number;\n        const MESSAGEPORT: number;\n        const PIPECONNECTWRAP: number;\n        const PIPESERVERWRAP: number;\n        const PIPEWRAP: number;\n        const PROCESSWRAP: number;\n        const PROMISE: number;\n        const QUERYWRAP: number;\n        const SHUTDOWNWRAP: number;\n        const SIGNALWRAP: number;\n        const STATWATCHER: number;\n        const STREAMPIPE: number;\n        const TCPCONNECTWRAP: number;\n        const TCPSERVERWRAP: number;\n        const TCPWRAP: number;\n        const TTYWRAP: number;\n        const UDPSENDWRAP: number;\n        const UDPWRAP: number;\n        const SIGINTWATCHDOG: number;\n        const WORKER: number;\n        const WORKERHEAPSNAPSHOT: number;\n        const WRITEWRAP: number;\n        const ZLIB: number;\n        const CHECKPRIMEREQUEST: number;\n        const PBKDF2REQUEST: number;\n        const KEYPAIRGENREQUEST: number;\n        const KEYGENREQUEST: number;\n        const KEYEXPORTREQUEST: number;\n        const CIPHERREQUEST: number;\n        const DERIVEBITSREQUEST: number;\n        const HASHREQUEST: number;\n        const RANDOMBYTESREQUEST: number;\n        const RANDOMPRIMEREQUEST: number;\n        const SCRYPTREQUEST: number;\n        const SIGNREQUEST: number;\n        const TLSWRAP: number;\n        const VERIFYREQUEST: number;\n    }\n}\ndeclare module \"node:async_hooks\" {\n    export * from \"async_hooks\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/buffer.d.ts",
      "content": "// If lib.dom.d.ts or lib.webworker.d.ts is loaded, then use the global types.\n// Otherwise, use the types from node.\ntype _Blob = typeof globalThis extends { onmessage: any; Blob: any } ? {} : import(\"buffer\").Blob;\n\n/**\n * `Buffer` objects are used to represent a fixed-length sequence of bytes. Many\n * Node.js APIs support `Buffer`s.\n *\n * The `Buffer` class is a subclass of JavaScript's [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) class and\n * extends it with methods that cover additional use cases. Node.js APIs accept\n * plain [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) s wherever `Buffer`s are supported as well.\n *\n * While the `Buffer` class is available within the global scope, it is still\n * recommended to explicitly reference it via an import or require statement.\n *\n * ```js\n * import { Buffer } from 'node:buffer';\n *\n * // Creates a zero-filled Buffer of length 10.\n * const buf1 = Buffer.alloc(10);\n *\n * // Creates a Buffer of length 10,\n * // filled with bytes which all have the value `1`.\n * const buf2 = Buffer.alloc(10, 1);\n *\n * // Creates an uninitialized buffer of length 10.\n * // This is faster than calling Buffer.alloc() but the returned\n * // Buffer instance might contain old data that needs to be\n * // overwritten using fill(), write(), or other functions that fill the Buffer's\n * // contents.\n * const buf3 = Buffer.allocUnsafe(10);\n *\n * // Creates a Buffer containing the bytes [1, 2, 3].\n * const buf4 = Buffer.from([1, 2, 3]);\n *\n * // Creates a Buffer containing the bytes [1, 1, 1, 1] – the entries\n * // are all truncated using `(value &#x26; 255)` to fit into the range 0–255.\n * const buf5 = Buffer.from([257, 257.5, -255, '1']);\n *\n * // Creates a Buffer containing the UTF-8-encoded bytes for the string 'tést':\n * // [0x74, 0xc3, 0xa9, 0x73, 0x74] (in hexadecimal notation)\n * // [116, 195, 169, 115, 116] (in decimal notation)\n * const buf6 = Buffer.from('tést');\n *\n * // Creates a Buffer containing the Latin-1 bytes [0x74, 0xe9, 0x73, 0x74].\n * const buf7 = Buffer.from('tést', 'latin1');\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.19.0/lib/buffer.js)\n */\ndeclare module \"buffer\" {\n    import { BinaryLike } from \"node:crypto\";\n    import { ReadableStream as WebReadableStream } from \"node:stream/web\";\n    /**\n     * This function returns `true` if `input` contains only valid UTF-8-encoded data,\n     * including the case in which `input` is empty.\n     *\n     * Throws if the `input` is a detached array buffer.\n     * @since v18.14.0\n     * @param input The input to validate.\n     */\n    export function isUtf8(input: Buffer | ArrayBuffer | NodeJS.TypedArray): boolean;\n    /**\n     * This function returns `true` if `input` contains only valid ASCII-encoded data,\n     * including the case in which `input` is empty.\n     *\n     * Throws if the `input` is a detached array buffer.\n     * @since v18.15.0\n     * @param input The input to validate.\n     */\n    export function isAscii(input: Buffer | ArrayBuffer | NodeJS.TypedArray): boolean;\n    export let INSPECT_MAX_BYTES: number;\n    export const kMaxLength: number;\n    export const kStringMaxLength: number;\n    export const constants: {\n        MAX_LENGTH: number;\n        MAX_STRING_LENGTH: number;\n    };\n    export type TranscodeEncoding = \"ascii\" | \"utf8\" | \"utf16le\" | \"ucs2\" | \"latin1\" | \"binary\";\n    /**\n     * Re-encodes the given `Buffer` or `Uint8Array` instance from one character\n     * encoding to another. Returns a new `Buffer` instance.\n     *\n     * Throws if the `fromEnc` or `toEnc` specify invalid character encodings or if\n     * conversion from `fromEnc` to `toEnc` is not permitted.\n     *\n     * Encodings supported by `buffer.transcode()` are: `'ascii'`, `'utf8'`, `'utf16le'`, `'ucs2'`, `'latin1'`, and `'binary'`.\n     *\n     * The transcoding process will use substitution characters if a given byte\n     * sequence cannot be adequately represented in the target encoding. For instance:\n     *\n     * ```js\n     * import { Buffer, transcode } from 'node:buffer';\n     *\n     * const newBuf = transcode(Buffer.from('€'), 'utf8', 'ascii');\n     * console.log(newBuf.toString('ascii'));\n     * // Prints: '?'\n     * ```\n     *\n     * Because the Euro (`€`) sign is not representable in US-ASCII, it is replaced\n     * with `?` in the transcoded `Buffer`.\n     * @since v7.1.0\n     * @param source A `Buffer` or `Uint8Array` instance.\n     * @param fromEnc The current encoding.\n     * @param toEnc To target encoding.\n     */\n    export function transcode(source: Uint8Array, fromEnc: TranscodeEncoding, toEnc: TranscodeEncoding): Buffer;\n    /**\n     * Resolves a `'blob:nodedata:...'` an associated `Blob` object registered using\n     * a prior call to `URL.createObjectURL()`.\n     * @since v16.7.0\n     * @experimental\n     * @param id A `'blob:nodedata:...` URL string returned by a prior call to `URL.createObjectURL()`.\n     */\n    export function resolveObjectURL(id: string): Blob | undefined;\n    export { type AllowSharedBuffer, Buffer, type NonSharedBuffer };\n    /**\n     * @experimental\n     */\n    export interface BlobOptions {\n        /**\n         * One of either `'transparent'` or `'native'`. When set to `'native'`, line endings in string source parts\n         * will be converted to the platform native line-ending as specified by `import { EOL } from 'node:node:os'`.\n         */\n        endings?: \"transparent\" | \"native\";\n        /**\n         * The Blob content-type. The intent is for `type` to convey\n         * the MIME media type of the data, however no validation of the type format\n         * is performed.\n         */\n        type?: string | undefined;\n    }\n    /**\n     * A [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) encapsulates immutable, raw data that can be safely shared across\n     * multiple worker threads.\n     * @since v15.7.0, v14.18.0\n     */\n    export class Blob {\n        /**\n         * The total size of the `Blob` in bytes.\n         * @since v15.7.0, v14.18.0\n         */\n        readonly size: number;\n        /**\n         * The content-type of the `Blob`.\n         * @since v15.7.0, v14.18.0\n         */\n        readonly type: string;\n        /**\n         * Creates a new `Blob` object containing a concatenation of the given sources.\n         *\n         * {ArrayBuffer}, {TypedArray}, {DataView}, and {Buffer} sources are copied into\n         * the 'Blob' and can therefore be safely modified after the 'Blob' is created.\n         *\n         * String sources are also copied into the `Blob`.\n         */\n        constructor(sources: Array<ArrayBuffer | BinaryLike | Blob>, options?: BlobOptions);\n        /**\n         * Returns a promise that fulfills with an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) containing a copy of\n         * the `Blob` data.\n         * @since v15.7.0, v14.18.0\n         */\n        arrayBuffer(): Promise<ArrayBuffer>;\n        /**\n         * Creates and returns a new `Blob` containing a subset of this `Blob` objects\n         * data. The original `Blob` is not altered.\n         * @since v15.7.0, v14.18.0\n         * @param start The starting index.\n         * @param end The ending index.\n         * @param type The content-type for the new `Blob`\n         */\n        slice(start?: number, end?: number, type?: string): Blob;\n        /**\n         * Returns a promise that fulfills with the contents of the `Blob` decoded as a\n         * UTF-8 string.\n         * @since v15.7.0, v14.18.0\n         */\n        text(): Promise<string>;\n        /**\n         * Returns a new `ReadableStream` that allows the content of the `Blob` to be read.\n         * @since v16.7.0\n         */\n        stream(): WebReadableStream;\n    }\n    export interface FileOptions {\n        /**\n         * One of either `'transparent'` or `'native'`. When set to `'native'`, line endings in string source parts will be\n         * converted to the platform native line-ending as specified by `import { EOL } from 'node:node:os'`.\n         */\n        endings?: \"native\" | \"transparent\";\n        /** The File content-type. */\n        type?: string;\n        /** The last modified date of the file. `Default`: Date.now(). */\n        lastModified?: number;\n    }\n    /**\n     * A [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File) provides information about files.\n     * @since v18.13.0\n     */\n    export class File extends Blob {\n        constructor(sources: Array<BinaryLike | Blob>, fileName: string, options?: FileOptions);\n        /**\n         * The name of the `File`.\n         * @since v18.13.0\n         */\n        readonly name: string;\n        /**\n         * The last modified date of the `File`.\n         * @since v18.13.0\n         */\n        readonly lastModified: number;\n    }\n    export import atob = globalThis.atob;\n    export import btoa = globalThis.btoa;\n    export type WithImplicitCoercion<T> =\n        | T\n        | { valueOf(): T }\n        | (T extends string ? { [Symbol.toPrimitive](hint: \"string\"): T } : never);\n    global {\n        namespace NodeJS {\n            export { BufferEncoding };\n        }\n        // Buffer class\n        type BufferEncoding =\n            | \"ascii\"\n            | \"utf8\"\n            | \"utf-8\"\n            | \"utf16le\"\n            | \"ucs2\"\n            | \"ucs-2\"\n            | \"base64\"\n            | \"base64url\"\n            | \"latin1\"\n            | \"binary\"\n            | \"hex\";\n        /**\n         * Raw data is stored in instances of the Buffer class.\n         * A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap.  A Buffer cannot be resized.\n         * Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'base64url'|'binary'(deprecated)|'hex'\n         */\n        interface BufferConstructor {\n            // see buffer.buffer.d.ts for implementation specific to TypeScript 5.7 and later\n            // see ts5.6/buffer.buffer.d.ts for implementation specific to TypeScript 5.6 and earlier\n\n            /**\n             * Returns `true` if `obj` is a `Buffer`, `false` otherwise.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * Buffer.isBuffer(Buffer.alloc(10)); // true\n             * Buffer.isBuffer(Buffer.from('foo')); // true\n             * Buffer.isBuffer('a string'); // false\n             * Buffer.isBuffer([]); // false\n             * Buffer.isBuffer(new Uint8Array(1024)); // false\n             * ```\n             * @since v0.1.101\n             */\n            isBuffer(obj: any): obj is Buffer;\n            /**\n             * Returns `true` if `encoding` is the name of a supported character encoding,\n             * or `false` otherwise.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * console.log(Buffer.isEncoding('utf8'));\n             * // Prints: true\n             *\n             * console.log(Buffer.isEncoding('hex'));\n             * // Prints: true\n             *\n             * console.log(Buffer.isEncoding('utf/8'));\n             * // Prints: false\n             *\n             * console.log(Buffer.isEncoding(''));\n             * // Prints: false\n             * ```\n             * @since v0.9.1\n             * @param encoding A character encoding name to check.\n             */\n            isEncoding(encoding: string): encoding is BufferEncoding;\n            /**\n             * Returns the byte length of a string when encoded using `encoding`.\n             * This is not the same as [`String.prototype.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length), which does not account\n             * for the encoding that is used to convert the string into bytes.\n             *\n             * For `'base64'`, `'base64url'`, and `'hex'`, this function assumes valid input.\n             * For strings that contain non-base64/hex-encoded data (e.g. whitespace), the\n             * return value might be greater than the length of a `Buffer` created from the\n             * string.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const str = '\\u00bd + \\u00bc = \\u00be';\n             *\n             * console.log(`${str}: ${str.length} characters, ` +\n             *             `${Buffer.byteLength(str, 'utf8')} bytes`);\n             * // Prints: ½ + ¼ = ¾: 9 characters, 12 bytes\n             * ```\n             *\n             * When `string` is a\n             * `Buffer`/[`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView)/[`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/-\n             * Reference/Global_Objects/TypedArray)/[`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)/[`SharedArrayBuffer`](https://develop-\n             * er.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer), the byte length as reported by `.byteLength`is returned.\n             * @since v0.1.90\n             * @param string A value to calculate the length of.\n             * @param [encoding='utf8'] If `string` is a string, this is its encoding.\n             * @return The number of bytes contained within `string`.\n             */\n            byteLength(\n                string: string | Buffer | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer,\n                encoding?: BufferEncoding,\n            ): number;\n            /**\n             * Compares `buf1` to `buf2`, typically for the purpose of sorting arrays of`Buffer` instances. This is equivalent to calling `buf1.compare(buf2)`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf1 = Buffer.from('1234');\n             * const buf2 = Buffer.from('0123');\n             * const arr = [buf1, buf2];\n             *\n             * console.log(arr.sort(Buffer.compare));\n             * // Prints: [ <Buffer 30 31 32 33>, <Buffer 31 32 33 34> ]\n             * // (This result is equal to: [buf2, buf1].)\n             * ```\n             * @since v0.11.13\n             * @return Either `-1`, `0`, or `1`, depending on the result of the comparison. See `compare` for details.\n             */\n            compare(buf1: Uint8Array, buf2: Uint8Array): -1 | 0 | 1;\n            /**\n             * This is the size (in bytes) of pre-allocated internal `Buffer` instances used\n             * for pooling. This value may be modified.\n             * @since v0.11.3\n             */\n            poolSize: number;\n        }\n        interface Buffer {\n            // see buffer.buffer.d.ts for implementation specific to TypeScript 5.7 and later\n            // see ts5.6/buffer.buffer.d.ts for implementation specific to TypeScript 5.6 and earlier\n\n            /**\n             * Writes `string` to `buf` at `offset` according to the character encoding in`encoding`. The `length` parameter is the number of bytes to write. If `buf` did\n             * not contain enough space to fit the entire string, only part of `string` will be\n             * written. However, partially encoded characters will not be written.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.alloc(256);\n             *\n             * const len = buf.write('\\u00bd + \\u00bc = \\u00be', 0);\n             *\n             * console.log(`${len} bytes: ${buf.toString('utf8', 0, len)}`);\n             * // Prints: 12 bytes: ½ + ¼ = ¾\n             *\n             * const buffer = Buffer.alloc(10);\n             *\n             * const length = buffer.write('abcd', 8);\n             *\n             * console.log(`${length} bytes: ${buffer.toString('utf8', 8, 10)}`);\n             * // Prints: 2 bytes : ab\n             * ```\n             * @since v0.1.90\n             * @param string String to write to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write `string`.\n             * @param [length=buf.length - offset] Maximum number of bytes to write (written bytes will not exceed `buf.length - offset`).\n             * @param [encoding='utf8'] The character encoding of `string`.\n             * @return Number of bytes written.\n             */\n            write(string: string, encoding?: BufferEncoding): number;\n            write(string: string, offset: number, encoding?: BufferEncoding): number;\n            write(string: string, offset: number, length: number, encoding?: BufferEncoding): number;\n            /**\n             * Decodes `buf` to a string according to the specified character encoding in`encoding`. `start` and `end` may be passed to decode only a subset of `buf`.\n             *\n             * If `encoding` is `'utf8'` and a byte sequence in the input is not valid UTF-8,\n             * then each invalid byte is replaced with the replacement character `U+FFFD`.\n             *\n             * The maximum length of a string instance (in UTF-16 code units) is available\n             * as {@link constants.MAX_STRING_LENGTH}.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf1 = Buffer.allocUnsafe(26);\n             *\n             * for (let i = 0; i < 26; i++) {\n             *   // 97 is the decimal ASCII value for 'a'.\n             *   buf1[i] = i + 97;\n             * }\n             *\n             * console.log(buf1.toString('utf8'));\n             * // Prints: abcdefghijklmnopqrstuvwxyz\n             * console.log(buf1.toString('utf8', 0, 5));\n             * // Prints: abcde\n             *\n             * const buf2 = Buffer.from('tést');\n             *\n             * console.log(buf2.toString('hex'));\n             * // Prints: 74c3a97374\n             * console.log(buf2.toString('utf8', 0, 3));\n             * // Prints: té\n             * console.log(buf2.toString(undefined, 0, 3));\n             * // Prints: té\n             * ```\n             * @since v0.1.90\n             * @param [encoding='utf8'] The character encoding to use.\n             * @param [start=0] The byte offset to start decoding at.\n             * @param [end=buf.length] The byte offset to stop decoding at (not inclusive).\n             */\n            toString(encoding?: BufferEncoding, start?: number, end?: number): string;\n            /**\n             * Returns a JSON representation of `buf`. [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) implicitly calls\n             * this function when stringifying a `Buffer` instance.\n             *\n             * `Buffer.from()` accepts objects in the format returned from this method.\n             * In particular, `Buffer.from(buf.toJSON())` works like `Buffer.from(buf)`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]);\n             * const json = JSON.stringify(buf);\n             *\n             * console.log(json);\n             * // Prints: {\"type\":\"Buffer\",\"data\":[1,2,3,4,5]}\n             *\n             * const copy = JSON.parse(json, (key, value) => {\n             *   return value &#x26;&#x26; value.type === 'Buffer' ?\n             *     Buffer.from(value) :\n             *     value;\n             * });\n             *\n             * console.log(copy);\n             * // Prints: <Buffer 01 02 03 04 05>\n             * ```\n             * @since v0.9.2\n             */\n            toJSON(): {\n                type: \"Buffer\";\n                data: number[];\n            };\n            /**\n             * Returns `true` if both `buf` and `otherBuffer` have exactly the same bytes,`false` otherwise. Equivalent to `buf.compare(otherBuffer) === 0`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf1 = Buffer.from('ABC');\n             * const buf2 = Buffer.from('414243', 'hex');\n             * const buf3 = Buffer.from('ABCD');\n             *\n             * console.log(buf1.equals(buf2));\n             * // Prints: true\n             * console.log(buf1.equals(buf3));\n             * // Prints: false\n             * ```\n             * @since v0.11.13\n             * @param otherBuffer A `Buffer` or {@link Uint8Array} with which to compare `buf`.\n             */\n            equals(otherBuffer: Uint8Array): boolean;\n            /**\n             * Compares `buf` with `target` and returns a number indicating whether `buf`comes before, after, or is the same as `target` in sort order.\n             * Comparison is based on the actual sequence of bytes in each `Buffer`.\n             *\n             * * `0` is returned if `target` is the same as `buf`\n             * * `1` is returned if `target` should come _before_`buf` when sorted.\n             * * `-1` is returned if `target` should come _after_`buf` when sorted.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf1 = Buffer.from('ABC');\n             * const buf2 = Buffer.from('BCD');\n             * const buf3 = Buffer.from('ABCD');\n             *\n             * console.log(buf1.compare(buf1));\n             * // Prints: 0\n             * console.log(buf1.compare(buf2));\n             * // Prints: -1\n             * console.log(buf1.compare(buf3));\n             * // Prints: -1\n             * console.log(buf2.compare(buf1));\n             * // Prints: 1\n             * console.log(buf2.compare(buf3));\n             * // Prints: 1\n             * console.log([buf1, buf2, buf3].sort(Buffer.compare));\n             * // Prints: [ <Buffer 41 42 43>, <Buffer 41 42 43 44>, <Buffer 42 43 44> ]\n             * // (This result is equal to: [buf1, buf3, buf2].)\n             * ```\n             *\n             * The optional `targetStart`, `targetEnd`, `sourceStart`, and `sourceEnd` arguments can be used to limit the comparison to specific ranges within `target` and `buf` respectively.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf1 = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8, 9]);\n             * const buf2 = Buffer.from([5, 6, 7, 8, 9, 1, 2, 3, 4]);\n             *\n             * console.log(buf1.compare(buf2, 5, 9, 0, 4));\n             * // Prints: 0\n             * console.log(buf1.compare(buf2, 0, 6, 4));\n             * // Prints: -1\n             * console.log(buf1.compare(buf2, 5, 6, 5));\n             * // Prints: 1\n             * ```\n             *\n             * `ERR_OUT_OF_RANGE` is thrown if `targetStart < 0`, `sourceStart < 0`, `targetEnd > target.byteLength`, or `sourceEnd > source.byteLength`.\n             * @since v0.11.13\n             * @param target A `Buffer` or {@link Uint8Array} with which to compare `buf`.\n             * @param [targetStart=0] The offset within `target` at which to begin comparison.\n             * @param [targetEnd=target.length] The offset within `target` at which to end comparison (not inclusive).\n             * @param [sourceStart=0] The offset within `buf` at which to begin comparison.\n             * @param [sourceEnd=buf.length] The offset within `buf` at which to end comparison (not inclusive).\n             */\n            compare(\n                target: Uint8Array,\n                targetStart?: number,\n                targetEnd?: number,\n                sourceStart?: number,\n                sourceEnd?: number,\n            ): -1 | 0 | 1;\n            /**\n             * Copies data from a region of `buf` to a region in `target`, even if the `target`memory region overlaps with `buf`.\n             *\n             * [`TypedArray.prototype.set()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set) performs the same operation, and is available\n             * for all TypedArrays, including Node.js `Buffer`s, although it takes\n             * different function arguments.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * // Create two `Buffer` instances.\n             * const buf1 = Buffer.allocUnsafe(26);\n             * const buf2 = Buffer.allocUnsafe(26).fill('!');\n             *\n             * for (let i = 0; i < 26; i++) {\n             *   // 97 is the decimal ASCII value for 'a'.\n             *   buf1[i] = i + 97;\n             * }\n             *\n             * // Copy `buf1` bytes 16 through 19 into `buf2` starting at byte 8 of `buf2`.\n             * buf1.copy(buf2, 8, 16, 20);\n             * // This is equivalent to:\n             * // buf2.set(buf1.subarray(16, 20), 8);\n             *\n             * console.log(buf2.toString('ascii', 0, 25));\n             * // Prints: !!!!!!!!qrst!!!!!!!!!!!!!\n             * ```\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * // Create a `Buffer` and copy data from one region to an overlapping region\n             * // within the same `Buffer`.\n             *\n             * const buf = Buffer.allocUnsafe(26);\n             *\n             * for (let i = 0; i < 26; i++) {\n             *   // 97 is the decimal ASCII value for 'a'.\n             *   buf[i] = i + 97;\n             * }\n             *\n             * buf.copy(buf, 0, 4, 10);\n             *\n             * console.log(buf.toString());\n             * // Prints: efghijghijklmnopqrstuvwxyz\n             * ```\n             * @since v0.1.90\n             * @param target A `Buffer` or {@link Uint8Array} to copy into.\n             * @param [targetStart=0] The offset within `target` at which to begin writing.\n             * @param [sourceStart=0] The offset within `buf` from which to begin copying.\n             * @param [sourceEnd=buf.length] The offset within `buf` at which to stop copying (not inclusive).\n             * @return The number of bytes copied.\n             */\n            copy(target: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as big-endian.\n             *\n             * `value` is interpreted and written as a two's complement signed integer.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(8);\n             *\n             * buf.writeBigInt64BE(0x0102030405060708n, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 01 02 03 04 05 06 07 08>\n             * ```\n             * @since v12.0.0, v10.20.0\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeBigInt64BE(value: bigint, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as little-endian.\n             *\n             * `value` is interpreted and written as a two's complement signed integer.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(8);\n             *\n             * buf.writeBigInt64LE(0x0102030405060708n, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 08 07 06 05 04 03 02 01>\n             * ```\n             * @since v12.0.0, v10.20.0\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeBigInt64LE(value: bigint, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as big-endian.\n             *\n             * This function is also available under the `writeBigUint64BE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(8);\n             *\n             * buf.writeBigUInt64BE(0xdecafafecacefaden, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer de ca fa fe ca ce fa de>\n             * ```\n             * @since v12.0.0, v10.20.0\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeBigUInt64BE(value: bigint, offset?: number): number;\n            /**\n             * @alias Buffer.writeBigUInt64BE\n             * @since v14.10.0, v12.19.0\n             */\n            writeBigUint64BE(value: bigint, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as little-endian\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(8);\n             *\n             * buf.writeBigUInt64LE(0xdecafafecacefaden, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer de fa ce ca fe fa ca de>\n             * ```\n             *\n             * This function is also available under the `writeBigUint64LE` alias.\n             * @since v12.0.0, v10.20.0\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeBigUInt64LE(value: bigint, offset?: number): number;\n            /**\n             * @alias Buffer.writeBigUInt64LE\n             * @since v14.10.0, v12.19.0\n             */\n            writeBigUint64LE(value: bigint, offset?: number): number;\n            /**\n             * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as little-endian. Supports up to 48 bits of accuracy. Behavior is undefined\n             * when `value` is anything other than an unsigned integer.\n             *\n             * This function is also available under the `writeUintLE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(6);\n             *\n             * buf.writeUIntLE(0x1234567890ab, 0, 6);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer ab 90 78 56 34 12>\n             * ```\n             * @since v0.5.5\n             * @param value Number to be written to `buf`.\n             * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`.\n             * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeUIntLE(value: number, offset: number, byteLength: number): number;\n            /**\n             * @alias Buffer.writeUIntLE\n             * @since v14.9.0, v12.19.0\n             */\n            writeUintLE(value: number, offset: number, byteLength: number): number;\n            /**\n             * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as big-endian. Supports up to 48 bits of accuracy. Behavior is undefined\n             * when `value` is anything other than an unsigned integer.\n             *\n             * This function is also available under the `writeUintBE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(6);\n             *\n             * buf.writeUIntBE(0x1234567890ab, 0, 6);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 12 34 56 78 90 ab>\n             * ```\n             * @since v0.5.5\n             * @param value Number to be written to `buf`.\n             * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`.\n             * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeUIntBE(value: number, offset: number, byteLength: number): number;\n            /**\n             * @alias Buffer.writeUIntBE\n             * @since v14.9.0, v12.19.0\n             */\n            writeUintBE(value: number, offset: number, byteLength: number): number;\n            /**\n             * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as little-endian. Supports up to 48 bits of accuracy. Behavior is undefined\n             * when `value` is anything other than a signed integer.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(6);\n             *\n             * buf.writeIntLE(0x1234567890ab, 0, 6);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer ab 90 78 56 34 12>\n             * ```\n             * @since v0.11.15\n             * @param value Number to be written to `buf`.\n             * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`.\n             * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeIntLE(value: number, offset: number, byteLength: number): number;\n            /**\n             * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as big-endian. Supports up to 48 bits of accuracy. Behavior is undefined when`value` is anything other than a\n             * signed integer.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(6);\n             *\n             * buf.writeIntBE(0x1234567890ab, 0, 6);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 12 34 56 78 90 ab>\n             * ```\n             * @since v0.11.15\n             * @param value Number to be written to `buf`.\n             * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`.\n             * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeIntBE(value: number, offset: number, byteLength: number): number;\n            /**\n             * Reads an unsigned, big-endian 64-bit integer from `buf` at the specified`offset`.\n             *\n             * This function is also available under the `readBigUint64BE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff]);\n             *\n             * console.log(buf.readBigUInt64BE(0));\n             * // Prints: 4294967295n\n             * ```\n             * @since v12.0.0, v10.20.0\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`.\n             */\n            readBigUInt64BE(offset?: number): bigint;\n            /**\n             * @alias Buffer.readBigUInt64BE\n             * @since v14.10.0, v12.19.0\n             */\n            readBigUint64BE(offset?: number): bigint;\n            /**\n             * Reads an unsigned, little-endian 64-bit integer from `buf` at the specified`offset`.\n             *\n             * This function is also available under the `readBigUint64LE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff]);\n             *\n             * console.log(buf.readBigUInt64LE(0));\n             * // Prints: 18446744069414584320n\n             * ```\n             * @since v12.0.0, v10.20.0\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`.\n             */\n            readBigUInt64LE(offset?: number): bigint;\n            /**\n             * @alias Buffer.readBigUInt64LE\n             * @since v14.10.0, v12.19.0\n             */\n            readBigUint64LE(offset?: number): bigint;\n            /**\n             * Reads a signed, big-endian 64-bit integer from `buf` at the specified `offset`.\n             *\n             * Integers read from a `Buffer` are interpreted as two's complement signed\n             * values.\n             * @since v12.0.0, v10.20.0\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`.\n             */\n            readBigInt64BE(offset?: number): bigint;\n            /**\n             * Reads a signed, little-endian 64-bit integer from `buf` at the specified`offset`.\n             *\n             * Integers read from a `Buffer` are interpreted as two's complement signed\n             * values.\n             * @since v12.0.0, v10.20.0\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`.\n             */\n            readBigInt64LE(offset?: number): bigint;\n            /**\n             * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as an unsigned, little-endian integer supporting\n             * up to 48 bits of accuracy.\n             *\n             * This function is also available under the `readUintLE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);\n             *\n             * console.log(buf.readUIntLE(0, 6).toString(16));\n             * // Prints: ab9078563412\n             * ```\n             * @since v0.11.15\n             * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`.\n             * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`.\n             */\n            readUIntLE(offset: number, byteLength: number): number;\n            /**\n             * @alias Buffer.readUIntLE\n             * @since v14.9.0, v12.19.0\n             */\n            readUintLE(offset: number, byteLength: number): number;\n            /**\n             * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as an unsigned big-endian integer supporting\n             * up to 48 bits of accuracy.\n             *\n             * This function is also available under the `readUintBE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);\n             *\n             * console.log(buf.readUIntBE(0, 6).toString(16));\n             * // Prints: 1234567890ab\n             * console.log(buf.readUIntBE(1, 6).toString(16));\n             * // Throws ERR_OUT_OF_RANGE.\n             * ```\n             * @since v0.11.15\n             * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`.\n             * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`.\n             */\n            readUIntBE(offset: number, byteLength: number): number;\n            /**\n             * @alias Buffer.readUIntBE\n             * @since v14.9.0, v12.19.0\n             */\n            readUintBE(offset: number, byteLength: number): number;\n            /**\n             * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as a little-endian, two's complement signed value\n             * supporting up to 48 bits of accuracy.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);\n             *\n             * console.log(buf.readIntLE(0, 6).toString(16));\n             * // Prints: -546f87a9cbee\n             * ```\n             * @since v0.11.15\n             * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`.\n             * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`.\n             */\n            readIntLE(offset: number, byteLength: number): number;\n            /**\n             * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as a big-endian, two's complement signed value\n             * supporting up to 48 bits of accuracy.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);\n             *\n             * console.log(buf.readIntBE(0, 6).toString(16));\n             * // Prints: 1234567890ab\n             * console.log(buf.readIntBE(1, 6).toString(16));\n             * // Throws ERR_OUT_OF_RANGE.\n             * console.log(buf.readIntBE(1, 0).toString(16));\n             * // Throws ERR_OUT_OF_RANGE.\n             * ```\n             * @since v0.11.15\n             * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`.\n             * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`.\n             */\n            readIntBE(offset: number, byteLength: number): number;\n            /**\n             * Reads an unsigned 8-bit integer from `buf` at the specified `offset`.\n             *\n             * This function is also available under the `readUint8` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([1, -2]);\n             *\n             * console.log(buf.readUInt8(0));\n             * // Prints: 1\n             * console.log(buf.readUInt8(1));\n             * // Prints: 254\n             * console.log(buf.readUInt8(2));\n             * // Throws ERR_OUT_OF_RANGE.\n             * ```\n             * @since v0.5.0\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 1`.\n             */\n            readUInt8(offset?: number): number;\n            /**\n             * @alias Buffer.readUInt8\n             * @since v14.9.0, v12.19.0\n             */\n            readUint8(offset?: number): number;\n            /**\n             * Reads an unsigned, little-endian 16-bit integer from `buf` at the specified`offset`.\n             *\n             * This function is also available under the `readUint16LE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x12, 0x34, 0x56]);\n             *\n             * console.log(buf.readUInt16LE(0).toString(16));\n             * // Prints: 3412\n             * console.log(buf.readUInt16LE(1).toString(16));\n             * // Prints: 5634\n             * console.log(buf.readUInt16LE(2).toString(16));\n             * // Throws ERR_OUT_OF_RANGE.\n             * ```\n             * @since v0.5.5\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`.\n             */\n            readUInt16LE(offset?: number): number;\n            /**\n             * @alias Buffer.readUInt16LE\n             * @since v14.9.0, v12.19.0\n             */\n            readUint16LE(offset?: number): number;\n            /**\n             * Reads an unsigned, big-endian 16-bit integer from `buf` at the specified`offset`.\n             *\n             * This function is also available under the `readUint16BE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x12, 0x34, 0x56]);\n             *\n             * console.log(buf.readUInt16BE(0).toString(16));\n             * // Prints: 1234\n             * console.log(buf.readUInt16BE(1).toString(16));\n             * // Prints: 3456\n             * ```\n             * @since v0.5.5\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`.\n             */\n            readUInt16BE(offset?: number): number;\n            /**\n             * @alias Buffer.readUInt16BE\n             * @since v14.9.0, v12.19.0\n             */\n            readUint16BE(offset?: number): number;\n            /**\n             * Reads an unsigned, little-endian 32-bit integer from `buf` at the specified`offset`.\n             *\n             * This function is also available under the `readUint32LE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78]);\n             *\n             * console.log(buf.readUInt32LE(0).toString(16));\n             * // Prints: 78563412\n             * console.log(buf.readUInt32LE(1).toString(16));\n             * // Throws ERR_OUT_OF_RANGE.\n             * ```\n             * @since v0.5.5\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.\n             */\n            readUInt32LE(offset?: number): number;\n            /**\n             * @alias Buffer.readUInt32LE\n             * @since v14.9.0, v12.19.0\n             */\n            readUint32LE(offset?: number): number;\n            /**\n             * Reads an unsigned, big-endian 32-bit integer from `buf` at the specified`offset`.\n             *\n             * This function is also available under the `readUint32BE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78]);\n             *\n             * console.log(buf.readUInt32BE(0).toString(16));\n             * // Prints: 12345678\n             * ```\n             * @since v0.5.5\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.\n             */\n            readUInt32BE(offset?: number): number;\n            /**\n             * @alias Buffer.readUInt32BE\n             * @since v14.9.0, v12.19.0\n             */\n            readUint32BE(offset?: number): number;\n            /**\n             * Reads a signed 8-bit integer from `buf` at the specified `offset`.\n             *\n             * Integers read from a `Buffer` are interpreted as two's complement signed values.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([-1, 5]);\n             *\n             * console.log(buf.readInt8(0));\n             * // Prints: -1\n             * console.log(buf.readInt8(1));\n             * // Prints: 5\n             * console.log(buf.readInt8(2));\n             * // Throws ERR_OUT_OF_RANGE.\n             * ```\n             * @since v0.5.0\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 1`.\n             */\n            readInt8(offset?: number): number;\n            /**\n             * Reads a signed, little-endian 16-bit integer from `buf` at the specified`offset`.\n             *\n             * Integers read from a `Buffer` are interpreted as two's complement signed values.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0, 5]);\n             *\n             * console.log(buf.readInt16LE(0));\n             * // Prints: 1280\n             * console.log(buf.readInt16LE(1));\n             * // Throws ERR_OUT_OF_RANGE.\n             * ```\n             * @since v0.5.5\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`.\n             */\n            readInt16LE(offset?: number): number;\n            /**\n             * Reads a signed, big-endian 16-bit integer from `buf` at the specified `offset`.\n             *\n             * Integers read from a `Buffer` are interpreted as two's complement signed values.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0, 5]);\n             *\n             * console.log(buf.readInt16BE(0));\n             * // Prints: 5\n             * ```\n             * @since v0.5.5\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`.\n             */\n            readInt16BE(offset?: number): number;\n            /**\n             * Reads a signed, little-endian 32-bit integer from `buf` at the specified`offset`.\n             *\n             * Integers read from a `Buffer` are interpreted as two's complement signed values.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0, 0, 0, 5]);\n             *\n             * console.log(buf.readInt32LE(0));\n             * // Prints: 83886080\n             * console.log(buf.readInt32LE(1));\n             * // Throws ERR_OUT_OF_RANGE.\n             * ```\n             * @since v0.5.5\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.\n             */\n            readInt32LE(offset?: number): number;\n            /**\n             * Reads a signed, big-endian 32-bit integer from `buf` at the specified `offset`.\n             *\n             * Integers read from a `Buffer` are interpreted as two's complement signed values.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([0, 0, 0, 5]);\n             *\n             * console.log(buf.readInt32BE(0));\n             * // Prints: 5\n             * ```\n             * @since v0.5.5\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.\n             */\n            readInt32BE(offset?: number): number;\n            /**\n             * Reads a 32-bit, little-endian float from `buf` at the specified `offset`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([1, 2, 3, 4]);\n             *\n             * console.log(buf.readFloatLE(0));\n             * // Prints: 1.539989614439558e-36\n             * console.log(buf.readFloatLE(1));\n             * // Throws ERR_OUT_OF_RANGE.\n             * ```\n             * @since v0.11.15\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.\n             */\n            readFloatLE(offset?: number): number;\n            /**\n             * Reads a 32-bit, big-endian float from `buf` at the specified `offset`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([1, 2, 3, 4]);\n             *\n             * console.log(buf.readFloatBE(0));\n             * // Prints: 2.387939260590663e-38\n             * ```\n             * @since v0.11.15\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.\n             */\n            readFloatBE(offset?: number): number;\n            /**\n             * Reads a 64-bit, little-endian double from `buf` at the specified `offset`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8]);\n             *\n             * console.log(buf.readDoubleLE(0));\n             * // Prints: 5.447603722011605e-270\n             * console.log(buf.readDoubleLE(1));\n             * // Throws ERR_OUT_OF_RANGE.\n             * ```\n             * @since v0.11.15\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 8`.\n             */\n            readDoubleLE(offset?: number): number;\n            /**\n             * Reads a 64-bit, big-endian double from `buf` at the specified `offset`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8]);\n             *\n             * console.log(buf.readDoubleBE(0));\n             * // Prints: 8.20788039913184e-304\n             * ```\n             * @since v0.11.15\n             * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 8`.\n             */\n            readDoubleBE(offset?: number): number;\n            reverse(): this;\n            /**\n             * Interprets `buf` as an array of unsigned 16-bit integers and swaps the\n             * byte order _in-place_. Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 2.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);\n             *\n             * console.log(buf1);\n             * // Prints: <Buffer 01 02 03 04 05 06 07 08>\n             *\n             * buf1.swap16();\n             *\n             * console.log(buf1);\n             * // Prints: <Buffer 02 01 04 03 06 05 08 07>\n             *\n             * const buf2 = Buffer.from([0x1, 0x2, 0x3]);\n             *\n             * buf2.swap16();\n             * // Throws ERR_INVALID_BUFFER_SIZE.\n             * ```\n             *\n             * One convenient use of `buf.swap16()` is to perform a fast in-place conversion\n             * between UTF-16 little-endian and UTF-16 big-endian:\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from('This is little-endian UTF-16', 'utf16le');\n             * buf.swap16(); // Convert to big-endian UTF-16 text.\n             * ```\n             * @since v5.10.0\n             * @return A reference to `buf`.\n             */\n            swap16(): this;\n            /**\n             * Interprets `buf` as an array of unsigned 32-bit integers and swaps the\n             * byte order _in-place_. Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 4.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);\n             *\n             * console.log(buf1);\n             * // Prints: <Buffer 01 02 03 04 05 06 07 08>\n             *\n             * buf1.swap32();\n             *\n             * console.log(buf1);\n             * // Prints: <Buffer 04 03 02 01 08 07 06 05>\n             *\n             * const buf2 = Buffer.from([0x1, 0x2, 0x3]);\n             *\n             * buf2.swap32();\n             * // Throws ERR_INVALID_BUFFER_SIZE.\n             * ```\n             * @since v5.10.0\n             * @return A reference to `buf`.\n             */\n            swap32(): this;\n            /**\n             * Interprets `buf` as an array of 64-bit numbers and swaps byte order _in-place_.\n             * Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 8.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);\n             *\n             * console.log(buf1);\n             * // Prints: <Buffer 01 02 03 04 05 06 07 08>\n             *\n             * buf1.swap64();\n             *\n             * console.log(buf1);\n             * // Prints: <Buffer 08 07 06 05 04 03 02 01>\n             *\n             * const buf2 = Buffer.from([0x1, 0x2, 0x3]);\n             *\n             * buf2.swap64();\n             * // Throws ERR_INVALID_BUFFER_SIZE.\n             * ```\n             * @since v6.3.0\n             * @return A reference to `buf`.\n             */\n            swap64(): this;\n            /**\n             * Writes `value` to `buf` at the specified `offset`. `value` must be a\n             * valid unsigned 8-bit integer. Behavior is undefined when `value` is anything\n             * other than an unsigned 8-bit integer.\n             *\n             * This function is also available under the `writeUint8` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(4);\n             *\n             * buf.writeUInt8(0x3, 0);\n             * buf.writeUInt8(0x4, 1);\n             * buf.writeUInt8(0x23, 2);\n             * buf.writeUInt8(0x42, 3);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 03 04 23 42>\n             * ```\n             * @since v0.5.0\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 1`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeUInt8(value: number, offset?: number): number;\n            /**\n             * @alias Buffer.writeUInt8\n             * @since v14.9.0, v12.19.0\n             */\n            writeUint8(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as little-endian. The `value`must be a valid unsigned 16-bit integer. Behavior is undefined when `value` is\n             * anything other than an unsigned 16-bit integer.\n             *\n             * This function is also available under the `writeUint16LE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(4);\n             *\n             * buf.writeUInt16LE(0xdead, 0);\n             * buf.writeUInt16LE(0xbeef, 2);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer ad de ef be>\n             * ```\n             * @since v0.5.5\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeUInt16LE(value: number, offset?: number): number;\n            /**\n             * @alias Buffer.writeUInt16LE\n             * @since v14.9.0, v12.19.0\n             */\n            writeUint16LE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as big-endian. The `value`must be a valid unsigned 16-bit integer. Behavior is undefined when `value`is anything other than an\n             * unsigned 16-bit integer.\n             *\n             * This function is also available under the `writeUint16BE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(4);\n             *\n             * buf.writeUInt16BE(0xdead, 0);\n             * buf.writeUInt16BE(0xbeef, 2);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer de ad be ef>\n             * ```\n             * @since v0.5.5\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeUInt16BE(value: number, offset?: number): number;\n            /**\n             * @alias Buffer.writeUInt16BE\n             * @since v14.9.0, v12.19.0\n             */\n            writeUint16BE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as little-endian. The `value`must be a valid unsigned 32-bit integer. Behavior is undefined when `value` is\n             * anything other than an unsigned 32-bit integer.\n             *\n             * This function is also available under the `writeUint32LE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(4);\n             *\n             * buf.writeUInt32LE(0xfeedface, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer ce fa ed fe>\n             * ```\n             * @since v0.5.5\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeUInt32LE(value: number, offset?: number): number;\n            /**\n             * @alias Buffer.writeUInt32LE\n             * @since v14.9.0, v12.19.0\n             */\n            writeUint32LE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as big-endian. The `value`must be a valid unsigned 32-bit integer. Behavior is undefined when `value`is anything other than an\n             * unsigned 32-bit integer.\n             *\n             * This function is also available under the `writeUint32BE` alias.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(4);\n             *\n             * buf.writeUInt32BE(0xfeedface, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer fe ed fa ce>\n             * ```\n             * @since v0.5.5\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeUInt32BE(value: number, offset?: number): number;\n            /**\n             * @alias Buffer.writeUInt32BE\n             * @since v14.9.0, v12.19.0\n             */\n            writeUint32BE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset`. `value` must be a valid\n             * signed 8-bit integer. Behavior is undefined when `value` is anything other than\n             * a signed 8-bit integer.\n             *\n             * `value` is interpreted and written as a two's complement signed integer.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(2);\n             *\n             * buf.writeInt8(2, 0);\n             * buf.writeInt8(-2, 1);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 02 fe>\n             * ```\n             * @since v0.5.0\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 1`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeInt8(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as little-endian.  The `value`must be a valid signed 16-bit integer. Behavior is undefined when `value` is\n             * anything other than a signed 16-bit integer.\n             *\n             * The `value` is interpreted and written as a two's complement signed integer.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(2);\n             *\n             * buf.writeInt16LE(0x0304, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 04 03>\n             * ```\n             * @since v0.5.5\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeInt16LE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as big-endian.  The `value`must be a valid signed 16-bit integer. Behavior is undefined when `value` is\n             * anything other than a signed 16-bit integer.\n             *\n             * The `value` is interpreted and written as a two's complement signed integer.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(2);\n             *\n             * buf.writeInt16BE(0x0102, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 01 02>\n             * ```\n             * @since v0.5.5\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeInt16BE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as little-endian. The `value`must be a valid signed 32-bit integer. Behavior is undefined when `value` is\n             * anything other than a signed 32-bit integer.\n             *\n             * The `value` is interpreted and written as a two's complement signed integer.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(4);\n             *\n             * buf.writeInt32LE(0x05060708, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 08 07 06 05>\n             * ```\n             * @since v0.5.5\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeInt32LE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as big-endian. The `value`must be a valid signed 32-bit integer. Behavior is undefined when `value` is\n             * anything other than a signed 32-bit integer.\n             *\n             * The `value` is interpreted and written as a two's complement signed integer.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(4);\n             *\n             * buf.writeInt32BE(0x01020304, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 01 02 03 04>\n             * ```\n             * @since v0.5.5\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeInt32BE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as little-endian. Behavior is\n             * undefined when `value` is anything other than a JavaScript number.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(4);\n             *\n             * buf.writeFloatLE(0xcafebabe, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer bb fe 4a 4f>\n             * ```\n             * @since v0.11.15\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeFloatLE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as big-endian. Behavior is\n             * undefined when `value` is anything other than a JavaScript number.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(4);\n             *\n             * buf.writeFloatBE(0xcafebabe, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 4f 4a fe bb>\n             * ```\n             * @since v0.11.15\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeFloatBE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as little-endian. The `value`must be a JavaScript number. Behavior is undefined when `value` is anything\n             * other than a JavaScript number.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(8);\n             *\n             * buf.writeDoubleLE(123.456, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 77 be 9f 1a 2f dd 5e 40>\n             * ```\n             * @since v0.11.15\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 8`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeDoubleLE(value: number, offset?: number): number;\n            /**\n             * Writes `value` to `buf` at the specified `offset` as big-endian. The `value`must be a JavaScript number. Behavior is undefined when `value` is anything\n             * other than a JavaScript number.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(8);\n             *\n             * buf.writeDoubleBE(123.456, 0);\n             *\n             * console.log(buf);\n             * // Prints: <Buffer 40 5e dd 2f 1a 9f be 77>\n             * ```\n             * @since v0.11.15\n             * @param value Number to be written to `buf`.\n             * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 8`.\n             * @return `offset` plus the number of bytes written.\n             */\n            writeDoubleBE(value: number, offset?: number): number;\n            /**\n             * Fills `buf` with the specified `value`. If the `offset` and `end` are not given,\n             * the entire `buf` will be filled:\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * // Fill a `Buffer` with the ASCII character 'h'.\n             *\n             * const b = Buffer.allocUnsafe(50).fill('h');\n             *\n             * console.log(b.toString());\n             * // Prints: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\n             *\n             * // Fill a buffer with empty string\n             * const c = Buffer.allocUnsafe(5).fill('');\n             *\n             * console.log(c.fill(''));\n             * // Prints: <Buffer 00 00 00 00 00>\n             * ```\n             *\n             * `value` is coerced to a `uint32` value if it is not a string, `Buffer`, or\n             * integer. If the resulting integer is greater than `255` (decimal), `buf` will be\n             * filled with `value &#x26; 255`.\n             *\n             * If the final write of a `fill()` operation falls on a multi-byte character,\n             * then only the bytes of that character that fit into `buf` are written:\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * // Fill a `Buffer` with character that takes up two bytes in UTF-8.\n             *\n             * console.log(Buffer.allocUnsafe(5).fill('\\u0222'));\n             * // Prints: <Buffer c8 a2 c8 a2 c8>\n             * ```\n             *\n             * If `value` contains invalid characters, it is truncated; if no valid\n             * fill data remains, an exception is thrown:\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.allocUnsafe(5);\n             *\n             * console.log(buf.fill('a'));\n             * // Prints: <Buffer 61 61 61 61 61>\n             * console.log(buf.fill('aazz', 'hex'));\n             * // Prints: <Buffer aa aa aa aa aa>\n             * console.log(buf.fill('zz', 'hex'));\n             * // Throws an exception.\n             * ```\n             * @since v0.5.0\n             * @param value The value with which to fill `buf`. Empty value (string, Uint8Array, Buffer) is coerced to `0`.\n             * @param [offset=0] Number of bytes to skip before starting to fill `buf`.\n             * @param [end=buf.length] Where to stop filling `buf` (not inclusive).\n             * @param [encoding='utf8'] The encoding for `value` if `value` is a string.\n             * @return A reference to `buf`.\n             */\n            fill(value: string | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): this;\n            fill(value: string | Uint8Array | number, offset: number, encoding: BufferEncoding): this;\n            fill(value: string | Uint8Array | number, encoding: BufferEncoding): this;\n            /**\n             * If `value` is:\n             *\n             * * a string, `value` is interpreted according to the character encoding in`encoding`.\n             * * a `Buffer` or [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array), `value` will be used in its entirety.\n             * To compare a partial `Buffer`, use `buf.subarray`.\n             * * a number, `value` will be interpreted as an unsigned 8-bit integer\n             * value between `0` and `255`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from('this is a buffer');\n             *\n             * console.log(buf.indexOf('this'));\n             * // Prints: 0\n             * console.log(buf.indexOf('is'));\n             * // Prints: 2\n             * console.log(buf.indexOf(Buffer.from('a buffer')));\n             * // Prints: 8\n             * console.log(buf.indexOf(97));\n             * // Prints: 8 (97 is the decimal ASCII value for 'a')\n             * console.log(buf.indexOf(Buffer.from('a buffer example')));\n             * // Prints: -1\n             * console.log(buf.indexOf(Buffer.from('a buffer example').slice(0, 8)));\n             * // Prints: 8\n             *\n             * const utf16Buffer = Buffer.from('\\u039a\\u0391\\u03a3\\u03a3\\u0395', 'utf16le');\n             *\n             * console.log(utf16Buffer.indexOf('\\u03a3', 0, 'utf16le'));\n             * // Prints: 4\n             * console.log(utf16Buffer.indexOf('\\u03a3', -4, 'utf16le'));\n             * // Prints: 6\n             * ```\n             *\n             * If `value` is not a string, number, or `Buffer`, this method will throw a`TypeError`. If `value` is a number, it will be coerced to a valid byte value,\n             * an integer between 0 and 255.\n             *\n             * If `byteOffset` is not a number, it will be coerced to a number. If the result\n             * of coercion is `NaN` or `0`, then the entire buffer will be searched. This\n             * behavior matches [`String.prototype.indexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf).\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const b = Buffer.from('abcdef');\n             *\n             * // Passing a value that's a number, but not a valid byte.\n             * // Prints: 2, equivalent to searching for 99 or 'c'.\n             * console.log(b.indexOf(99.9));\n             * console.log(b.indexOf(256 + 99));\n             *\n             * // Passing a byteOffset that coerces to NaN or 0.\n             * // Prints: 1, searching the whole buffer.\n             * console.log(b.indexOf('b', undefined));\n             * console.log(b.indexOf('b', {}));\n             * console.log(b.indexOf('b', null));\n             * console.log(b.indexOf('b', []));\n             * ```\n             *\n             * If `value` is an empty string or empty `Buffer` and `byteOffset` is less\n             * than `buf.length`, `byteOffset` will be returned. If `value` is empty and`byteOffset` is at least `buf.length`, `buf.length` will be returned.\n             * @since v1.5.0\n             * @param value What to search for.\n             * @param [byteOffset=0] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`.\n             * @param [encoding='utf8'] If `value` is a string, this is the encoding used to determine the binary representation of the string that will be searched for in `buf`.\n             * @return The index of the first occurrence of `value` in `buf`, or `-1` if `buf` does not contain `value`.\n             */\n            indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number;\n            indexOf(value: string | number | Uint8Array, encoding: BufferEncoding): number;\n            /**\n             * Identical to `buf.indexOf()`, except the last occurrence of `value` is found\n             * rather than the first occurrence.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from('this buffer is a buffer');\n             *\n             * console.log(buf.lastIndexOf('this'));\n             * // Prints: 0\n             * console.log(buf.lastIndexOf('buffer'));\n             * // Prints: 17\n             * console.log(buf.lastIndexOf(Buffer.from('buffer')));\n             * // Prints: 17\n             * console.log(buf.lastIndexOf(97));\n             * // Prints: 15 (97 is the decimal ASCII value for 'a')\n             * console.log(buf.lastIndexOf(Buffer.from('yolo')));\n             * // Prints: -1\n             * console.log(buf.lastIndexOf('buffer', 5));\n             * // Prints: 5\n             * console.log(buf.lastIndexOf('buffer', 4));\n             * // Prints: -1\n             *\n             * const utf16Buffer = Buffer.from('\\u039a\\u0391\\u03a3\\u03a3\\u0395', 'utf16le');\n             *\n             * console.log(utf16Buffer.lastIndexOf('\\u03a3', undefined, 'utf16le'));\n             * // Prints: 6\n             * console.log(utf16Buffer.lastIndexOf('\\u03a3', -5, 'utf16le'));\n             * // Prints: 4\n             * ```\n             *\n             * If `value` is not a string, number, or `Buffer`, this method will throw a`TypeError`. If `value` is a number, it will be coerced to a valid byte value,\n             * an integer between 0 and 255.\n             *\n             * If `byteOffset` is not a number, it will be coerced to a number. Any arguments\n             * that coerce to `NaN`, like `{}` or `undefined`, will search the whole buffer.\n             * This behavior matches [`String.prototype.lastIndexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf).\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const b = Buffer.from('abcdef');\n             *\n             * // Passing a value that's a number, but not a valid byte.\n             * // Prints: 2, equivalent to searching for 99 or 'c'.\n             * console.log(b.lastIndexOf(99.9));\n             * console.log(b.lastIndexOf(256 + 99));\n             *\n             * // Passing a byteOffset that coerces to NaN.\n             * // Prints: 1, searching the whole buffer.\n             * console.log(b.lastIndexOf('b', undefined));\n             * console.log(b.lastIndexOf('b', {}));\n             *\n             * // Passing a byteOffset that coerces to 0.\n             * // Prints: -1, equivalent to passing 0.\n             * console.log(b.lastIndexOf('b', null));\n             * console.log(b.lastIndexOf('b', []));\n             * ```\n             *\n             * If `value` is an empty string or empty `Buffer`, `byteOffset` will be returned.\n             * @since v6.0.0\n             * @param value What to search for.\n             * @param [byteOffset=buf.length - 1] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`.\n             * @param [encoding='utf8'] If `value` is a string, this is the encoding used to determine the binary representation of the string that will be searched for in `buf`.\n             * @return The index of the last occurrence of `value` in `buf`, or `-1` if `buf` does not contain `value`.\n             */\n            lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number;\n            lastIndexOf(value: string | number | Uint8Array, encoding: BufferEncoding): number;\n            /**\n             * Equivalent to `buf.indexOf() !== -1`.\n             *\n             * ```js\n             * import { Buffer } from 'node:buffer';\n             *\n             * const buf = Buffer.from('this is a buffer');\n             *\n             * console.log(buf.includes('this'));\n             * // Prints: true\n             * console.log(buf.includes('is'));\n             * // Prints: true\n             * console.log(buf.includes(Buffer.from('a buffer')));\n             * // Prints: true\n             * console.log(buf.includes(97));\n             * // Prints: true (97 is the decimal ASCII value for 'a')\n             * console.log(buf.includes(Buffer.from('a buffer example')));\n             * // Prints: false\n             * console.log(buf.includes(Buffer.from('a buffer example').slice(0, 8)));\n             * // Prints: true\n             * console.log(buf.includes('this', 4));\n             * // Prints: false\n             * ```\n             * @since v5.3.0\n             * @param value What to search for.\n             * @param [byteOffset=0] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`.\n             * @param [encoding='utf8'] If `value` is a string, this is its encoding.\n             * @return `true` if `value` was found in `buf`, `false` otherwise.\n             */\n            includes(value: string | number | Buffer, byteOffset?: number, encoding?: BufferEncoding): boolean;\n            includes(value: string | number | Buffer, encoding: BufferEncoding): boolean;\n        }\n        var Buffer: BufferConstructor;\n        /**\n         * Decodes a string of Base64-encoded data into bytes, and encodes those bytes\n         * into a string using Latin-1 (ISO-8859-1).\n         *\n         * The `data` may be any JavaScript-value that can be coerced into a string.\n         *\n         * **This function is only provided for compatibility with legacy web platform APIs**\n         * **and should never be used in new code, because they use strings to represent**\n         * **binary data and predate the introduction of typed arrays in JavaScript.**\n         * **For code running using Node.js APIs, converting between base64-encoded strings**\n         * **and binary data should be performed using `Buffer.from(str, 'base64')` and `buf.toString('base64')`.**\n         * @since v15.13.0, v14.17.0\n         * @legacy Use `Buffer.from(data, 'base64')` instead.\n         * @param data The Base64-encoded input string.\n         */\n        function atob(data: string): string;\n        /**\n         * Decodes a string into bytes using Latin-1 (ISO-8859), and encodes those bytes\n         * into a string using Base64.\n         *\n         * The `data` may be any JavaScript-value that can be coerced into a string.\n         *\n         * **This function is only provided for compatibility with legacy web platform APIs**\n         * **and should never be used in new code, because they use strings to represent**\n         * **binary data and predate the introduction of typed arrays in JavaScript.**\n         * **For code running using Node.js APIs, converting between base64-encoded strings**\n         * **and binary data should be performed using `Buffer.from(str, 'base64')` and `buf.toString('base64')`.**\n         * @since v15.13.0, v14.17.0\n         * @legacy Use `buf.toString('base64')` instead.\n         * @param data An ASCII (Latin1) string.\n         */\n        function btoa(data: string): string;\n        interface Blob extends _Blob {}\n        /**\n         * `Blob` class is a global reference for `import { Blob } from 'node:node:buffer'`\n         * https://nodejs.org/api/buffer.html#class-blob\n         * @since v18.0.0\n         */\n        var Blob: typeof globalThis extends { onmessage: any; Blob: infer T } ? T\n            : typeof import(\"buffer\").Blob;\n    }\n}\ndeclare module \"node:buffer\" {\n    export * from \"buffer\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/child_process.d.ts",
      "content": "/**\n * The `child_process` module provides the ability to spawn subprocesses in\n * a manner that is similar, but not identical, to [`popen(3)`](http://man7.org/linux/man-pages/man3/popen.3.html). This capability\n * is primarily provided by the {@link spawn} function:\n *\n * ```js\n * import { spawn } from 'node:child_process';\n * const ls = spawn('ls', ['-lh', '/usr']);\n *\n * ls.stdout.on('data', (data) => {\n *   console.log(`stdout: ${data}`);\n * });\n *\n * ls.stderr.on('data', (data) => {\n *   console.error(`stderr: ${data}`);\n * });\n *\n * ls.on('close', (code) => {\n *   console.log(`child process exited with code ${code}`);\n * });\n * ```\n *\n * By default, pipes for `stdin`, `stdout`, and `stderr` are established between\n * the parent Node.js process and the spawned subprocess. These pipes have\n * limited (and platform-specific) capacity. If the subprocess writes to\n * stdout in excess of that limit without the output being captured, the\n * subprocess blocks waiting for the pipe buffer to accept more data. This is\n * identical to the behavior of pipes in the shell. Use the `{ stdio: 'ignore' }`option if the output will not be consumed.\n *\n * The command lookup is performed using the `options.env.PATH` environment\n * variable if `env` is in the `options` object. Otherwise, `process.env.PATH` is\n * used. If `options.env` is set without `PATH`, lookup on Unix is performed\n * on a default search path search of `/usr/bin:/bin` (see your operating system's\n * manual for execvpe/execvp), on Windows the current processes environment\n * variable `PATH` is used.\n *\n * On Windows, environment variables are case-insensitive. Node.js\n * lexicographically sorts the `env` keys and uses the first one that\n * case-insensitively matches. Only first (in lexicographic order) entry will be\n * passed to the subprocess. This might lead to issues on Windows when passing\n * objects to the `env` option that have multiple variants of the same key, such as`PATH` and `Path`.\n *\n * The {@link spawn} method spawns the child process asynchronously,\n * without blocking the Node.js event loop. The {@link spawnSync} function provides equivalent functionality in a synchronous manner that blocks\n * the event loop until the spawned process either exits or is terminated.\n *\n * For convenience, the `child_process` module provides a handful of synchronous\n * and asynchronous alternatives to {@link spawn} and {@link spawnSync}. Each of these alternatives are implemented on\n * top of {@link spawn} or {@link spawnSync}.\n *\n * * {@link exec}: spawns a shell and runs a command within that\n * shell, passing the `stdout` and `stderr` to a callback function when\n * complete.\n * * {@link execFile}: similar to {@link exec} except\n * that it spawns the command directly without first spawning a shell by\n * default.\n * * {@link fork}: spawns a new Node.js process and invokes a\n * specified module with an IPC communication channel established that allows\n * sending messages between parent and child.\n * * {@link execSync}: a synchronous version of {@link exec} that will block the Node.js event loop.\n * * {@link execFileSync}: a synchronous version of {@link execFile} that will block the Node.js event loop.\n *\n * For certain use cases, such as automating shell scripts, the `synchronous counterparts` may be more convenient. In many cases, however,\n * the synchronous methods can have significant impact on performance due to\n * stalling the event loop while spawned processes complete.\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/child_process.js)\n */\ndeclare module \"child_process\" {\n    import { Abortable, EventEmitter } from \"node:events\";\n    import * as net from \"node:net\";\n    import { Pipe, Readable, Stream, Writable } from \"node:stream\";\n    import { URL } from \"node:url\";\n    type Serializable = string | object | number | boolean | bigint;\n    type SendHandle = net.Socket | net.Server;\n    /**\n     * Instances of the `ChildProcess` represent spawned child processes.\n     *\n     * Instances of `ChildProcess` are not intended to be created directly. Rather,\n     * use the {@link spawn}, {@link exec},{@link execFile}, or {@link fork} methods to create\n     * instances of `ChildProcess`.\n     * @since v2.2.0\n     */\n    class ChildProcess extends EventEmitter {\n        /**\n         * A `Writable Stream` that represents the child process's `stdin`.\n         *\n         * If a child process waits to read all of its input, the child will not continue\n         * until this stream has been closed via `end()`.\n         *\n         * If the child was spawned with `stdio[0]` set to anything other than `'pipe'`,\n         * then this will be `null`.\n         *\n         * `subprocess.stdin` is an alias for `subprocess.stdio[0]`. Both properties will\n         * refer to the same value.\n         *\n         * The `subprocess.stdin` property can be `undefined` if the child process could\n         * not be successfully spawned.\n         * @since v0.1.90\n         */\n        stdin: Writable | null;\n        /**\n         * A `Readable Stream` that represents the child process's `stdout`.\n         *\n         * If the child was spawned with `stdio[1]` set to anything other than `'pipe'`,\n         * then this will be `null`.\n         *\n         * `subprocess.stdout` is an alias for `subprocess.stdio[1]`. Both properties will\n         * refer to the same value.\n         *\n         * ```js\n         * import { spawn } from 'node:child_process';\n         *\n         * const subprocess = spawn('ls');\n         *\n         * subprocess.stdout.on('data', (data) => {\n         *   console.log(`Received chunk ${data}`);\n         * });\n         * ```\n         *\n         * The `subprocess.stdout` property can be `null` if the child process could\n         * not be successfully spawned.\n         * @since v0.1.90\n         */\n        stdout: Readable | null;\n        /**\n         * A `Readable Stream` that represents the child process's `stderr`.\n         *\n         * If the child was spawned with `stdio[2]` set to anything other than `'pipe'`,\n         * then this will be `null`.\n         *\n         * `subprocess.stderr` is an alias for `subprocess.stdio[2]`. Both properties will\n         * refer to the same value.\n         *\n         * The `subprocess.stderr` property can be `null` if the child process could\n         * not be successfully spawned.\n         * @since v0.1.90\n         */\n        stderr: Readable | null;\n        /**\n         * The `subprocess.channel` property is a reference to the child's IPC channel. If\n         * no IPC channel currently exists, this property is `undefined`.\n         * @since v7.1.0\n         */\n        readonly channel?: Pipe | null | undefined;\n        /**\n         * A sparse array of pipes to the child process, corresponding with positions in\n         * the `stdio` option passed to {@link spawn} that have been set\n         * to the value `'pipe'`. `subprocess.stdio[0]`, `subprocess.stdio[1]`, and`subprocess.stdio[2]` are also available as `subprocess.stdin`, `subprocess.stdout`, and `subprocess.stderr`,\n         * respectively.\n         *\n         * In the following example, only the child's fd `1` (stdout) is configured as a\n         * pipe, so only the parent's `subprocess.stdio[1]` is a stream, all other values\n         * in the array are `null`.\n         *\n         * ```js\n         * import assert from 'node:assert';\n         * import fs from 'node:fs';\n         * import child_process from 'node:child_process';\n         *\n         * const subprocess = child_process.spawn('ls', {\n         *   stdio: [\n         *     0, // Use parent's stdin for child.\n         *     'pipe', // Pipe child's stdout to parent.\n         *     fs.openSync('err.out', 'w'), // Direct child's stderr to a file.\n         *   ]\n         * });\n         *\n         * assert.strictEqual(subprocess.stdio[0], null);\n         * assert.strictEqual(subprocess.stdio[0], subprocess.stdin);\n         *\n         * assert(subprocess.stdout);\n         * assert.strictEqual(subprocess.stdio[1], subprocess.stdout);\n         *\n         * assert.strictEqual(subprocess.stdio[2], null);\n         * assert.strictEqual(subprocess.stdio[2], subprocess.stderr);\n         * ```\n         *\n         * The `subprocess.stdio` property can be `undefined` if the child process could\n         * not be successfully spawned.\n         * @since v0.7.10\n         */\n        readonly stdio: [\n            Writable | null,\n            // stdin\n            Readable | null,\n            // stdout\n            Readable | null,\n            // stderr\n            Readable | Writable | null | undefined,\n            // extra\n            Readable | Writable | null | undefined, // extra\n        ];\n        /**\n         * The `subprocess.killed` property indicates whether the child process\n         * successfully received a signal from `subprocess.kill()`. The `killed` property\n         * does not indicate that the child process has been terminated.\n         * @since v0.5.10\n         */\n        readonly killed: boolean;\n        /**\n         * Returns the process identifier (PID) of the child process. If the child process\n         * fails to spawn due to errors, then the value is `undefined` and `error` is\n         * emitted.\n         *\n         * ```js\n         * import { spawn } from 'node:child_process';\n         * const grep = spawn('grep', ['ssh']);\n         *\n         * console.log(`Spawned child pid: ${grep.pid}`);\n         * grep.stdin.end();\n         * ```\n         * @since v0.1.90\n         */\n        readonly pid?: number | undefined;\n        /**\n         * The `subprocess.connected` property indicates whether it is still possible to\n         * send and receive messages from a child process. When `subprocess.connected` is`false`, it is no longer possible to send or receive messages.\n         * @since v0.7.2\n         */\n        readonly connected: boolean;\n        /**\n         * The `subprocess.exitCode` property indicates the exit code of the child process.\n         * If the child process is still running, the field will be `null`.\n         */\n        readonly exitCode: number | null;\n        /**\n         * The `subprocess.signalCode` property indicates the signal received by\n         * the child process if any, else `null`.\n         */\n        readonly signalCode: NodeJS.Signals | null;\n        /**\n         * The `subprocess.spawnargs` property represents the full list of command-line\n         * arguments the child process was launched with.\n         */\n        readonly spawnargs: string[];\n        /**\n         * The `subprocess.spawnfile` property indicates the executable file name of\n         * the child process that is launched.\n         *\n         * For {@link fork}, its value will be equal to `process.execPath`.\n         * For {@link spawn}, its value will be the name of\n         * the executable file.\n         * For {@link exec},  its value will be the name of the shell\n         * in which the child process is launched.\n         */\n        readonly spawnfile: string;\n        /**\n         * The `subprocess.kill()` method sends a signal to the child process. If no\n         * argument is given, the process will be sent the `'SIGTERM'` signal. See [`signal(7)`](http://man7.org/linux/man-pages/man7/signal.7.html) for a list of available signals. This function\n         * returns `true` if [`kill(2)`](http://man7.org/linux/man-pages/man2/kill.2.html) succeeds, and `false` otherwise.\n         *\n         * ```js\n         * import { spawn } from 'node:child_process';\n         * const grep = spawn('grep', ['ssh']);\n         *\n         * grep.on('close', (code, signal) => {\n         *   console.log(\n         *     `child process terminated due to receipt of signal ${signal}`);\n         * });\n         *\n         * // Send SIGHUP to process.\n         * grep.kill('SIGHUP');\n         * ```\n         *\n         * The `ChildProcess` object may emit an `'error'` event if the signal\n         * cannot be delivered. Sending a signal to a child process that has already exited\n         * is not an error but may have unforeseen consequences. Specifically, if the\n         * process identifier (PID) has been reassigned to another process, the signal will\n         * be delivered to that process instead which can have unexpected results.\n         *\n         * While the function is called `kill`, the signal delivered to the child process\n         * may not actually terminate the process.\n         *\n         * See [`kill(2)`](http://man7.org/linux/man-pages/man2/kill.2.html) for reference.\n         *\n         * On Windows, where POSIX signals do not exist, the `signal` argument will be\n         * ignored, and the process will be killed forcefully and abruptly (similar to`'SIGKILL'`).\n         * See `Signal Events` for more details.\n         *\n         * On Linux, child processes of child processes will not be terminated\n         * when attempting to kill their parent. This is likely to happen when running a\n         * new process in a shell or with the use of the `shell` option of `ChildProcess`:\n         *\n         * ```js\n         * 'use strict';\n         * import { spawn } from 'node:child_process';\n         *\n         * const subprocess = spawn(\n         *   'sh',\n         *   [\n         *     '-c',\n         *     `node -e \"setInterval(() => {\n         *       console.log(process.pid, 'is alive')\n         *     }, 500);\"`,\n         *   ], {\n         *     stdio: ['inherit', 'inherit', 'inherit']\n         *   }\n         * );\n         *\n         * setTimeout(() => {\n         *   subprocess.kill(); // Does not terminate the Node.js process in the shell.\n         * }, 2000);\n         * ```\n         * @since v0.1.90\n         */\n        kill(signal?: NodeJS.Signals | number): boolean;\n        /**\n         * Calls {@link ChildProcess.kill} with `'SIGTERM'`.\n         * @since v18.18.0\n         */\n        [Symbol.dispose](): void;\n        /**\n         * When an IPC channel has been established between the parent and child (\n         * i.e. when using {@link fork}), the `subprocess.send()` method can\n         * be used to send messages to the child process. When the child process is a\n         * Node.js instance, these messages can be received via the `'message'` event.\n         *\n         * The message goes through serialization and parsing. The resulting\n         * message might not be the same as what is originally sent.\n         *\n         * For example, in the parent script:\n         *\n         * ```js\n         * import cp from 'node:child_process';\n         * const n = cp.fork(`${__dirname}/sub.js`);\n         *\n         * n.on('message', (m) => {\n         *   console.log('PARENT got message:', m);\n         * });\n         *\n         * // Causes the child to print: CHILD got message: { hello: 'world' }\n         * n.send({ hello: 'world' });\n         * ```\n         *\n         * And then the child script, `'sub.js'` might look like this:\n         *\n         * ```js\n         * process.on('message', (m) => {\n         *   console.log('CHILD got message:', m);\n         * });\n         *\n         * // Causes the parent to print: PARENT got message: { foo: 'bar', baz: null }\n         * process.send({ foo: 'bar', baz: NaN });\n         * ```\n         *\n         * Child Node.js processes will have a `process.send()` method of their own\n         * that allows the child to send messages back to the parent.\n         *\n         * There is a special case when sending a `{cmd: 'NODE_foo'}` message. Messages\n         * containing a `NODE_` prefix in the `cmd` property are reserved for use within\n         * Node.js core and will not be emitted in the child's `'message'` event. Rather, such messages are emitted using the`'internalMessage'` event and are consumed internally by Node.js.\n         * Applications should avoid using such messages or listening for`'internalMessage'` events as it is subject to change without notice.\n         *\n         * The optional `sendHandle` argument that may be passed to `subprocess.send()` is\n         * for passing a TCP server or socket object to the child process. The child will\n         * receive the object as the second argument passed to the callback function\n         * registered on the `'message'` event. Any data that is received\n         * and buffered in the socket will not be sent to the child.\n         *\n         * The optional `callback` is a function that is invoked after the message is\n         * sent but before the child may have received it. The function is called with a\n         * single argument: `null` on success, or an `Error` object on failure.\n         *\n         * If no `callback` function is provided and the message cannot be sent, an`'error'` event will be emitted by the `ChildProcess` object. This can\n         * happen, for instance, when the child process has already exited.\n         *\n         * `subprocess.send()` will return `false` if the channel has closed or when the\n         * backlog of unsent messages exceeds a threshold that makes it unwise to send\n         * more. Otherwise, the method returns `true`. The `callback` function can be\n         * used to implement flow control.\n         *\n         * #### Example: sending a server object\n         *\n         * The `sendHandle` argument can be used, for instance, to pass the handle of\n         * a TCP server object to the child process as illustrated in the example below:\n         *\n         * ```js\n         * import child_process from 'node:child_process';\n         * const subprocess = child_process.fork('subprocess.js');\n         *\n         * // Open up the server object and send the handle.\n         * import net from 'node:net';\n         * const server = net.createServer();\n         * server.on('connection', (socket) => {\n         *   socket.end('handled by parent');\n         * });\n         * server.listen(1337, () => {\n         *   subprocess.send('server', server);\n         * });\n         * ```\n         *\n         * The child would then receive the server object as:\n         *\n         * ```js\n         * process.on('message', (m, server) => {\n         *   if (m === 'server') {\n         *     server.on('connection', (socket) => {\n         *       socket.end('handled by child');\n         *     });\n         *   }\n         * });\n         * ```\n         *\n         * Once the server is now shared between the parent and child, some connections\n         * can be handled by the parent and some by the child.\n         *\n         * While the example above uses a server created using the `net` module, `dgram`module servers use exactly the same workflow with the exceptions of listening on\n         * a `'message'` event instead of `'connection'` and using `server.bind()` instead\n         * of `server.listen()`. This is, however, currently only supported on Unix\n         * platforms.\n         *\n         * #### Example: sending a socket object\n         *\n         * Similarly, the `sendHandler` argument can be used to pass the handle of a\n         * socket to the child process. The example below spawns two children that each\n         * handle connections with \"normal\" or \"special\" priority:\n         *\n         * ```js\n         * import { fork } from 'node:child_process';\n         * const normal = fork('subprocess.js', ['normal']);\n         * const special = fork('subprocess.js', ['special']);\n         *\n         * // Open up the server and send sockets to child. Use pauseOnConnect to prevent\n         * // the sockets from being read before they are sent to the child proces\n         * import net from 'node:net';\n         * const server = met.createServer({ pauseOnConnect: true });\n         * server.on('connection', (socket) => {\n         *\n         *   // If this is special priority...\n         *   if (socket.remoteAddress === '74.125.127.100') {\n         *     special.send('socket', socket);\n         *     return;\n         *   }\n         *   // This is normal priority.\n         *   normal.send('socket', socket);\n         * });\n         * server.listen(1337);\n         * ```\n         *\n         * The `subprocess.js` would receive the socket handle as the second argument\n         * passed to the event callback function:\n         *\n         * ```js\n         * process.on('message', (m, socket) => {\n         *   if (m === 'socket') {\n         *     if (socket) {\n         *       // Check that the client socket exists.\n         *       // It is possible for the socket to be closed between the time it is\n         *       // sent and the time it is received in the child process.\n         *       socket.end(`Request handled with ${process.argv[2]} priority`);\n         *     }\n         *   }\n         * });\n         * ```\n         *\n         * Do not use `.maxConnections` on a socket that has been passed to a subprocess.\n         * The parent cannot track when the socket is destroyed.\n         *\n         * Any `'message'` handlers in the subprocess should verify that `socket` exists,\n         * as the connection may have been closed during the time it takes to send the\n         * connection to the child.\n         * @since v0.5.9\n         * @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles. `options` supports the following properties:\n         */\n        send(message: Serializable, callback?: (error: Error | null) => void): boolean;\n        send(message: Serializable, sendHandle?: SendHandle, callback?: (error: Error | null) => void): boolean;\n        send(\n            message: Serializable,\n            sendHandle?: SendHandle,\n            options?: MessageOptions,\n            callback?: (error: Error | null) => void,\n        ): boolean;\n        /**\n         * Closes the IPC channel between parent and child, allowing the child to exit\n         * gracefully once there are no other connections keeping it alive. After calling\n         * this method the `subprocess.connected` and `process.connected` properties in\n         * both the parent and child (respectively) will be set to `false`, and it will be\n         * no longer possible to pass messages between the processes.\n         *\n         * The `'disconnect'` event will be emitted when there are no messages in the\n         * process of being received. This will most often be triggered immediately after\n         * calling `subprocess.disconnect()`.\n         *\n         * When the child process is a Node.js instance (e.g. spawned using {@link fork}), the `process.disconnect()` method can be invoked\n         * within the child process to close the IPC channel as well.\n         * @since v0.7.2\n         */\n        disconnect(): void;\n        /**\n         * By default, the parent will wait for the detached child to exit. To prevent the\n         * parent from waiting for a given `subprocess` to exit, use the`subprocess.unref()` method. Doing so will cause the parent's event loop to not\n         * include the child in its reference count, allowing the parent to exit\n         * independently of the child, unless there is an established IPC channel between\n         * the child and the parent.\n         *\n         * ```js\n         * import { spawn } from 'node:child_process';\n         *\n         * const subprocess = spawn(process.argv[0], ['child_program.js'], {\n         *   detached: true,\n         *   stdio: 'ignore'\n         * });\n         *\n         * subprocess.unref();\n         * ```\n         * @since v0.7.10\n         */\n        unref(): void;\n        /**\n         * Calling `subprocess.ref()` after making a call to `subprocess.unref()` will\n         * restore the removed reference count for the child process, forcing the parent\n         * to wait for the child to exit before exiting itself.\n         *\n         * ```js\n         * import { spawn } from 'node:child_process';\n         *\n         * const subprocess = spawn(process.argv[0], ['child_program.js'], {\n         *   detached: true,\n         *   stdio: 'ignore'\n         * });\n         *\n         * subprocess.unref();\n         * subprocess.ref();\n         * ```\n         * @since v0.7.10\n         */\n        ref(): void;\n        /**\n         * events.EventEmitter\n         * 1. close\n         * 2. disconnect\n         * 3. error\n         * 4. exit\n         * 5. message\n         * 6. spawn\n         */\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"close\", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;\n        addListener(event: \"disconnect\", listener: () => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: \"exit\", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;\n        addListener(event: \"message\", listener: (message: Serializable, sendHandle: SendHandle) => void): this;\n        addListener(event: \"spawn\", listener: () => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"close\", code: number | null, signal: NodeJS.Signals | null): boolean;\n        emit(event: \"disconnect\"): boolean;\n        emit(event: \"error\", err: Error): boolean;\n        emit(event: \"exit\", code: number | null, signal: NodeJS.Signals | null): boolean;\n        emit(event: \"message\", message: Serializable, sendHandle: SendHandle): boolean;\n        emit(event: \"spawn\", listener: () => void): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"close\", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;\n        on(event: \"disconnect\", listener: () => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"exit\", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;\n        on(event: \"message\", listener: (message: Serializable, sendHandle: SendHandle) => void): this;\n        on(event: \"spawn\", listener: () => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;\n        once(event: \"disconnect\", listener: () => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"exit\", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;\n        once(event: \"message\", listener: (message: Serializable, sendHandle: SendHandle) => void): this;\n        once(event: \"spawn\", listener: () => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;\n        prependListener(event: \"disconnect\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: \"exit\", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;\n        prependListener(event: \"message\", listener: (message: Serializable, sendHandle: SendHandle) => void): this;\n        prependListener(event: \"spawn\", listener: () => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(\n            event: \"close\",\n            listener: (code: number | null, signal: NodeJS.Signals | null) => void,\n        ): this;\n        prependOnceListener(event: \"disconnect\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(\n            event: \"exit\",\n            listener: (code: number | null, signal: NodeJS.Signals | null) => void,\n        ): this;\n        prependOnceListener(event: \"message\", listener: (message: Serializable, sendHandle: SendHandle) => void): this;\n        prependOnceListener(event: \"spawn\", listener: () => void): this;\n    }\n    // return this object when stdio option is undefined or not specified\n    interface ChildProcessWithoutNullStreams extends ChildProcess {\n        stdin: Writable;\n        stdout: Readable;\n        stderr: Readable;\n        readonly stdio: [\n            Writable,\n            Readable,\n            Readable,\n            // stderr\n            Readable | Writable | null | undefined,\n            // extra, no modification\n            Readable | Writable | null | undefined, // extra, no modification\n        ];\n    }\n    // return this object when stdio option is a tuple of 3\n    interface ChildProcessByStdio<I extends null | Writable, O extends null | Readable, E extends null | Readable>\n        extends ChildProcess\n    {\n        stdin: I;\n        stdout: O;\n        stderr: E;\n        readonly stdio: [\n            I,\n            O,\n            E,\n            Readable | Writable | null | undefined,\n            // extra, no modification\n            Readable | Writable | null | undefined, // extra, no modification\n        ];\n    }\n    interface MessageOptions {\n        keepOpen?: boolean | undefined;\n    }\n    type IOType = \"overlapped\" | \"pipe\" | \"ignore\" | \"inherit\";\n    type StdioOptions = IOType | Array<IOType | \"ipc\" | Stream | number | null | undefined>;\n    type SerializationType = \"json\" | \"advanced\";\n    interface MessagingOptions extends Abortable {\n        /**\n         * Specify the kind of serialization used for sending messages between processes.\n         * @default 'json'\n         */\n        serialization?: SerializationType | undefined;\n        /**\n         * The signal value to be used when the spawned process will be killed by the abort signal.\n         * @default 'SIGTERM'\n         */\n        killSignal?: NodeJS.Signals | number | undefined;\n        /**\n         * In milliseconds the maximum amount of time the process is allowed to run.\n         */\n        timeout?: number | undefined;\n    }\n    interface ProcessEnvOptions {\n        uid?: number | undefined;\n        gid?: number | undefined;\n        cwd?: string | URL | undefined;\n        env?: NodeJS.ProcessEnv | undefined;\n    }\n    interface CommonOptions extends ProcessEnvOptions {\n        /**\n         * @default false\n         */\n        windowsHide?: boolean | undefined;\n        /**\n         * @default 0\n         */\n        timeout?: number | undefined;\n    }\n    interface CommonSpawnOptions extends CommonOptions, MessagingOptions, Abortable {\n        argv0?: string | undefined;\n        /**\n         * Can be set to 'pipe', 'inherit', 'overlapped', or 'ignore', or an array of these strings.\n         * If passed as an array, the first element is used for `stdin`, the second for\n         * `stdout`, and the third for `stderr`. A fourth element can be used to\n         * specify the `stdio` behavior beyond the standard streams. See\n         * {@link ChildProcess.stdio} for more information.\n         *\n         * @default 'pipe'\n         */\n        stdio?: StdioOptions | undefined;\n        shell?: boolean | string | undefined;\n        windowsVerbatimArguments?: boolean | undefined;\n    }\n    interface SpawnOptions extends CommonSpawnOptions {\n        detached?: boolean | undefined;\n    }\n    interface SpawnOptionsWithoutStdio extends SpawnOptions {\n        stdio?: StdioPipeNamed | StdioPipe[] | undefined;\n    }\n    type StdioNull = \"inherit\" | \"ignore\" | Stream;\n    type StdioPipeNamed = \"pipe\" | \"overlapped\";\n    type StdioPipe = undefined | null | StdioPipeNamed;\n    interface SpawnOptionsWithStdioTuple<\n        Stdin extends StdioNull | StdioPipe,\n        Stdout extends StdioNull | StdioPipe,\n        Stderr extends StdioNull | StdioPipe,\n    > extends SpawnOptions {\n        stdio: [Stdin, Stdout, Stderr];\n    }\n    /**\n     * The `child_process.spawn()` method spawns a new process using the given`command`, with command-line arguments in `args`. If omitted, `args` defaults\n     * to an empty array.\n     *\n     * **If the `shell` option is enabled, do not pass unsanitized user input to this**\n     * **function. Any input containing shell metacharacters may be used to trigger**\n     * **arbitrary command execution.**\n     *\n     * A third argument may be used to specify additional options, with these defaults:\n     *\n     * ```js\n     * const defaults = {\n     *   cwd: undefined,\n     *   env: process.env\n     * };\n     * ```\n     *\n     * Use `cwd` to specify the working directory from which the process is spawned.\n     * If not given, the default is to inherit the current working directory. If given,\n     * but the path does not exist, the child process emits an `ENOENT` error\n     * and exits immediately. `ENOENT` is also emitted when the command\n     * does not exist.\n     *\n     * Use `env` to specify environment variables that will be visible to the new\n     * process, the default is `process.env`.\n     *\n     * `undefined` values in `env` will be ignored.\n     *\n     * Example of running `ls -lh /usr`, capturing `stdout`, `stderr`, and the\n     * exit code:\n     *\n     * ```js\n     * import { spawn } from 'node:child_process';\n     * const ls = spawn('ls', ['-lh', '/usr']);\n     *\n     * ls.stdout.on('data', (data) => {\n     *   console.log(`stdout: ${data}`);\n     * });\n     *\n     * ls.stderr.on('data', (data) => {\n     *   console.error(`stderr: ${data}`);\n     * });\n     *\n     * ls.on('close', (code) => {\n     *   console.log(`child process exited with code ${code}`);\n     * });\n     * ```\n     *\n     * Example: A very elaborate way to run `ps ax | grep ssh`\n     *\n     * ```js\n     * import { spawn } from 'node:child_process';\n     * const ps = spawn('ps', ['ax']);\n     * const grep = spawn('grep', ['ssh']);\n     *\n     * ps.stdout.on('data', (data) => {\n     *   grep.stdin.write(data);\n     * });\n     *\n     * ps.stderr.on('data', (data) => {\n     *   console.error(`ps stderr: ${data}`);\n     * });\n     *\n     * ps.on('close', (code) => {\n     *   if (code !== 0) {\n     *     console.log(`ps process exited with code ${code}`);\n     *   }\n     *   grep.stdin.end();\n     * });\n     *\n     * grep.stdout.on('data', (data) => {\n     *   console.log(data.toString());\n     * });\n     *\n     * grep.stderr.on('data', (data) => {\n     *   console.error(`grep stderr: ${data}`);\n     * });\n     *\n     * grep.on('close', (code) => {\n     *   if (code !== 0) {\n     *     console.log(`grep process exited with code ${code}`);\n     *   }\n     * });\n     * ```\n     *\n     * Example of checking for failed `spawn`:\n     *\n     * ```js\n     * import { spawn } from 'node:child_process';\n     * const subprocess = spawn('bad_command');\n     *\n     * subprocess.on('error', (err) => {\n     *   console.error('Failed to start subprocess.');\n     * });\n     * ```\n     *\n     * Certain platforms (macOS, Linux) will use the value of `argv[0]` for the process\n     * title while others (Windows, SunOS) will use `command`.\n     *\n     * Node.js currently overwrites `argv[0]` with `process.execPath` on startup, so`process.argv[0]` in a Node.js child process will not match the `argv0`parameter passed to `spawn` from the parent,\n     * retrieve it with the`process.argv0` property instead.\n     *\n     * If the `signal` option is enabled, calling `.abort()` on the corresponding`AbortController` is similar to calling `.kill()` on the child process except\n     * the error passed to the callback will be an `AbortError`:\n     *\n     * ```js\n     * import { spawn } from 'node:child_process';\n     * const controller = new AbortController();\n     * const { signal } = controller;\n     * const grep = spawn('grep', ['ssh'], { signal });\n     * grep.on('error', (err) => {\n     *   // This will be called with err being an AbortError if the controller aborts\n     * });\n     * controller.abort(); // Stops the child process\n     * ```\n     * @since v0.1.90\n     * @param command The command to run.\n     * @param args List of string arguments.\n     */\n    function spawn(command: string, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams;\n    function spawn(\n        command: string,\n        options: SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioPipe>,\n    ): ChildProcessByStdio<Writable, Readable, Readable>;\n    function spawn(\n        command: string,\n        options: SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioNull>,\n    ): ChildProcessByStdio<Writable, Readable, null>;\n    function spawn(\n        command: string,\n        options: SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioPipe>,\n    ): ChildProcessByStdio<Writable, null, Readable>;\n    function spawn(\n        command: string,\n        options: SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioPipe>,\n    ): ChildProcessByStdio<null, Readable, Readable>;\n    function spawn(\n        command: string,\n        options: SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioNull>,\n    ): ChildProcessByStdio<Writable, null, null>;\n    function spawn(\n        command: string,\n        options: SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioNull>,\n    ): ChildProcessByStdio<null, Readable, null>;\n    function spawn(\n        command: string,\n        options: SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioPipe>,\n    ): ChildProcessByStdio<null, null, Readable>;\n    function spawn(\n        command: string,\n        options: SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioNull>,\n    ): ChildProcessByStdio<null, null, null>;\n    function spawn(command: string, options: SpawnOptions): ChildProcess;\n    // overloads of spawn with 'args'\n    function spawn(\n        command: string,\n        args?: readonly string[],\n        options?: SpawnOptionsWithoutStdio,\n    ): ChildProcessWithoutNullStreams;\n    function spawn(\n        command: string,\n        args: readonly string[],\n        options: SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioPipe>,\n    ): ChildProcessByStdio<Writable, Readable, Readable>;\n    function spawn(\n        command: string,\n        args: readonly string[],\n        options: SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioNull>,\n    ): ChildProcessByStdio<Writable, Readable, null>;\n    function spawn(\n        command: string,\n        args: readonly string[],\n        options: SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioPipe>,\n    ): ChildProcessByStdio<Writable, null, Readable>;\n    function spawn(\n        command: string,\n        args: readonly string[],\n        options: SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioPipe>,\n    ): ChildProcessByStdio<null, Readable, Readable>;\n    function spawn(\n        command: string,\n        args: readonly string[],\n        options: SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioNull>,\n    ): ChildProcessByStdio<Writable, null, null>;\n    function spawn(\n        command: string,\n        args: readonly string[],\n        options: SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioNull>,\n    ): ChildProcessByStdio<null, Readable, null>;\n    function spawn(\n        command: string,\n        args: readonly string[],\n        options: SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioPipe>,\n    ): ChildProcessByStdio<null, null, Readable>;\n    function spawn(\n        command: string,\n        args: readonly string[],\n        options: SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioNull>,\n    ): ChildProcessByStdio<null, null, null>;\n    function spawn(command: string, args: readonly string[], options: SpawnOptions): ChildProcess;\n    interface ExecOptions extends CommonOptions {\n        shell?: string | undefined;\n        signal?: AbortSignal | undefined;\n        maxBuffer?: number | undefined;\n        killSignal?: NodeJS.Signals | number | undefined;\n        encoding?: string | null | undefined;\n    }\n    interface ExecOptionsWithStringEncoding extends ExecOptions {\n        encoding?: BufferEncoding | undefined;\n    }\n    interface ExecOptionsWithBufferEncoding extends ExecOptions {\n        encoding: \"buffer\" | null; // specify `null`.\n    }\n    interface ExecException extends Error {\n        cmd?: string | undefined;\n        killed?: boolean | undefined;\n        code?: number | undefined;\n        signal?: NodeJS.Signals | undefined;\n    }\n    /**\n     * Spawns a shell then executes the `command` within that shell, buffering any\n     * generated output. The `command` string passed to the exec function is processed\n     * directly by the shell and special characters (vary based on [shell](https://en.wikipedia.org/wiki/List_of_command-line_interpreters))\n     * need to be dealt with accordingly:\n     *\n     * ```js\n     * import { exec } from 'node:child_process';\n     *\n     * exec('\"/path/to/test file/test.sh\" arg1 arg2');\n     * // Double quotes are used so that the space in the path is not interpreted as\n     * // a delimiter of multiple arguments.\n     *\n     * exec('echo \"The \\\\$HOME variable is $HOME\"');\n     * // The $HOME variable is escaped in the first instance, but not in the second.\n     * ```\n     *\n     * **Never pass unsanitized user input to this function. Any input containing shell**\n     * **metacharacters may be used to trigger arbitrary command execution.**\n     *\n     * If a `callback` function is provided, it is called with the arguments`(error, stdout, stderr)`. On success, `error` will be `null`. On error,`error` will be an instance of `Error`. The\n     * `error.code` property will be\n     * the exit code of the process. By convention, any exit code other than `0`indicates an error. `error.signal` will be the signal that terminated the\n     * process.\n     *\n     * The `stdout` and `stderr` arguments passed to the callback will contain the\n     * stdout and stderr output of the child process. By default, Node.js will decode\n     * the output as UTF-8 and pass strings to the callback. The `encoding` option\n     * can be used to specify the character encoding used to decode the stdout and\n     * stderr output. If `encoding` is `'buffer'`, or an unrecognized character\n     * encoding, `Buffer` objects will be passed to the callback instead.\n     *\n     * ```js\n     * import { exec } from 'node:child_process';\n     * exec('cat *.js missing_file | wc -l', (error, stdout, stderr) => {\n     *   if (error) {\n     *     console.error(`exec error: ${error}`);\n     *     return;\n     *   }\n     *   console.log(`stdout: ${stdout}`);\n     *   console.error(`stderr: ${stderr}`);\n     * });\n     * ```\n     *\n     * If `timeout` is greater than `0`, the parent will send the signal\n     * identified by the `killSignal` property (the default is `'SIGTERM'`) if the\n     * child runs longer than `timeout` milliseconds.\n     *\n     * Unlike the [`exec(3)`](http://man7.org/linux/man-pages/man3/exec.3.html) POSIX system call, `child_process.exec()` does not replace\n     * the existing process and uses a shell to execute the command.\n     *\n     * If this method is invoked as its `util.promisify()` ed version, it returns\n     * a `Promise` for an `Object` with `stdout` and `stderr` properties. The returned`ChildProcess` instance is attached to the `Promise` as a `child` property. In\n     * case of an error (including any error resulting in an exit code other than 0), a\n     * rejected promise is returned, with the same `error` object given in the\n     * callback, but with two additional properties `stdout` and `stderr`.\n     *\n     * ```js\n     * import util from 'node:util';\n     * import child_process from 'node:child_process';\n     * const exec = util.promisify(child_process.exec);\n     *\n     * async function lsExample() {\n     *   const { stdout, stderr } = await exec('ls');\n     *   console.log('stdout:', stdout);\n     *   console.error('stderr:', stderr);\n     * }\n     * lsExample();\n     * ```\n     *\n     * If the `signal` option is enabled, calling `.abort()` on the corresponding`AbortController` is similar to calling `.kill()` on the child process except\n     * the error passed to the callback will be an `AbortError`:\n     *\n     * ```js\n     * import { exec } from 'node:child_process';\n     * const controller = new AbortController();\n     * const { signal } = controller;\n     * const child = exec('grep ssh', { signal }, (error) => {\n     *   console.log(error); // an AbortError\n     * });\n     * controller.abort();\n     * ```\n     * @since v0.1.90\n     * @param command The command to run, with space-separated arguments.\n     * @param callback called with the output when process terminates.\n     */\n    function exec(\n        command: string,\n        callback?: (error: ExecException | null, stdout: string, stderr: string) => void,\n    ): ChildProcess;\n    // `options` with `\"buffer\"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`.\n    function exec(\n        command: string,\n        options: ExecOptionsWithBufferEncoding,\n        callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void,\n    ): ChildProcess;\n    // `options` with well-known or absent `encoding` means stdout/stderr are definitely `string`.\n    function exec(\n        command: string,\n        options: ExecOptionsWithStringEncoding,\n        callback?: (error: ExecException | null, stdout: string, stderr: string) => void,\n    ): ChildProcess;\n    // fallback if nothing else matches. Worst case is always `string | Buffer`.\n    function exec(\n        command: string,\n        options: ExecOptions | undefined | null,\n        callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void,\n    ): ChildProcess;\n    interface PromiseWithChild<T> extends Promise<T> {\n        child: ChildProcess;\n    }\n    namespace exec {\n        function __promisify__(command: string): PromiseWithChild<{\n            stdout: string;\n            stderr: string;\n        }>;\n        function __promisify__(\n            command: string,\n            options: ExecOptionsWithBufferEncoding,\n        ): PromiseWithChild<{\n            stdout: Buffer;\n            stderr: Buffer;\n        }>;\n        function __promisify__(\n            command: string,\n            options: ExecOptionsWithStringEncoding,\n        ): PromiseWithChild<{\n            stdout: string;\n            stderr: string;\n        }>;\n        function __promisify__(\n            command: string,\n            options: ExecOptions | undefined | null,\n        ): PromiseWithChild<{\n            stdout: string | Buffer;\n            stderr: string | Buffer;\n        }>;\n    }\n    interface ExecFileOptions extends CommonOptions, Abortable {\n        maxBuffer?: number | undefined;\n        killSignal?: NodeJS.Signals | number | undefined;\n        windowsVerbatimArguments?: boolean | undefined;\n        shell?: boolean | string | undefined;\n        signal?: AbortSignal | undefined;\n        encoding?: string | null | undefined;\n    }\n    interface ExecFileOptionsWithStringEncoding extends ExecFileOptions {\n        encoding?: BufferEncoding | undefined;\n    }\n    interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions {\n        encoding: \"buffer\" | null;\n    }\n    /** @deprecated Use `ExecFileOptions` instead. */\n    interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions {}\n    type ExecFileException =\n        & Omit<ExecException, \"code\">\n        & Omit<NodeJS.ErrnoException, \"code\">\n        & { code?: string | number | undefined | null };\n    /**\n     * The `child_process.execFile()` function is similar to {@link exec} except that it does not spawn a shell by default. Rather, the specified\n     * executable `file` is spawned directly as a new process making it slightly more\n     * efficient than {@link exec}.\n     *\n     * The same options as {@link exec} are supported. Since a shell is\n     * not spawned, behaviors such as I/O redirection and file globbing are not\n     * supported.\n     *\n     * ```js\n     * import { execFile } from 'node:child_process';\n     * const child = execFile('node', ['--version'], (error, stdout, stderr) => {\n     *   if (error) {\n     *     throw error;\n     *   }\n     *   console.log(stdout);\n     * });\n     * ```\n     *\n     * The `stdout` and `stderr` arguments passed to the callback will contain the\n     * stdout and stderr output of the child process. By default, Node.js will decode\n     * the output as UTF-8 and pass strings to the callback. The `encoding` option\n     * can be used to specify the character encoding used to decode the stdout and\n     * stderr output. If `encoding` is `'buffer'`, or an unrecognized character\n     * encoding, `Buffer` objects will be passed to the callback instead.\n     *\n     * If this method is invoked as its `util.promisify()` ed version, it returns\n     * a `Promise` for an `Object` with `stdout` and `stderr` properties. The returned`ChildProcess` instance is attached to the `Promise` as a `child` property. In\n     * case of an error (including any error resulting in an exit code other than 0), a\n     * rejected promise is returned, with the same `error` object given in the\n     * callback, but with two additional properties `stdout` and `stderr`.\n     *\n     * ```js\n     * import util from 'node:util';\n     * import child_process from 'node:child_process';\n     * const execFile = util.promisify(child_process.execFile);\n     * async function getVersion() {\n     *   const { stdout } = await execFile('node', ['--version']);\n     *   console.log(stdout);\n     * }\n     * getVersion();\n     * ```\n     *\n     * **If the `shell` option is enabled, do not pass unsanitized user input to this**\n     * **function. Any input containing shell metacharacters may be used to trigger**\n     * **arbitrary command execution.**\n     *\n     * If the `signal` option is enabled, calling `.abort()` on the corresponding`AbortController` is similar to calling `.kill()` on the child process except\n     * the error passed to the callback will be an `AbortError`:\n     *\n     * ```js\n     * import { execFile } from 'node:child_process';\n     * const controller = new AbortController();\n     * const { signal } = controller;\n     * const child = execFile('node', ['--version'], { signal }, (error) => {\n     *   console.log(error); // an AbortError\n     * });\n     * controller.abort();\n     * ```\n     * @since v0.1.91\n     * @param file The name or path of the executable file to run.\n     * @param args List of string arguments.\n     * @param callback Called with the output when process terminates.\n     */\n    // no `options` definitely means stdout/stderr are `string`.\n    function execFile(\n        file: string,\n        callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void,\n    ): ChildProcess;\n    function execFile(\n        file: string,\n        args: readonly string[] | undefined | null,\n        callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void,\n    ): ChildProcess;\n    // `options` with `\"buffer\"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`.\n    function execFile(\n        file: string,\n        options: ExecFileOptionsWithBufferEncoding,\n        callback?: (error: ExecFileException | null, stdout: Buffer, stderr: Buffer) => void,\n    ): ChildProcess;\n    function execFile(\n        file: string,\n        args: readonly string[] | undefined | null,\n        options: ExecFileOptionsWithBufferEncoding,\n        callback?: (error: ExecFileException | null, stdout: Buffer, stderr: Buffer) => void,\n    ): ChildProcess;\n    // `options` with well-known or absent `encoding` means stdout/stderr are definitely `string`.\n    function execFile(\n        file: string,\n        options: ExecFileOptionsWithStringEncoding,\n        callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void,\n    ): ChildProcess;\n    function execFile(\n        file: string,\n        args: readonly string[] | undefined | null,\n        options: ExecFileOptionsWithStringEncoding,\n        callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void,\n    ): ChildProcess;\n    // fallback if nothing else matches. Worst case is always `string | Buffer`.\n    function execFile(\n        file: string,\n        options: ExecFileOptions | undefined | null,\n        callback:\n            | ((error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void)\n            | undefined\n            | null,\n    ): ChildProcess;\n    function execFile(\n        file: string,\n        args: readonly string[] | undefined | null,\n        options: ExecFileOptions | undefined | null,\n        callback:\n            | ((error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void)\n            | undefined\n            | null,\n    ): ChildProcess;\n    namespace execFile {\n        function __promisify__(file: string): PromiseWithChild<{\n            stdout: string;\n            stderr: string;\n        }>;\n        function __promisify__(\n            file: string,\n            args: readonly string[] | undefined | null,\n        ): PromiseWithChild<{\n            stdout: string;\n            stderr: string;\n        }>;\n        function __promisify__(\n            file: string,\n            options: ExecFileOptionsWithBufferEncoding,\n        ): PromiseWithChild<{\n            stdout: Buffer;\n            stderr: Buffer;\n        }>;\n        function __promisify__(\n            file: string,\n            args: readonly string[] | undefined | null,\n            options: ExecFileOptionsWithBufferEncoding,\n        ): PromiseWithChild<{\n            stdout: Buffer;\n            stderr: Buffer;\n        }>;\n        function __promisify__(\n            file: string,\n            options: ExecFileOptionsWithStringEncoding,\n        ): PromiseWithChild<{\n            stdout: string;\n            stderr: string;\n        }>;\n        function __promisify__(\n            file: string,\n            args: readonly string[] | undefined | null,\n            options: ExecFileOptionsWithStringEncoding,\n        ): PromiseWithChild<{\n            stdout: string;\n            stderr: string;\n        }>;\n        function __promisify__(\n            file: string,\n            options: ExecFileOptions | undefined | null,\n        ): PromiseWithChild<{\n            stdout: string | Buffer;\n            stderr: string | Buffer;\n        }>;\n        function __promisify__(\n            file: string,\n            args: readonly string[] | undefined | null,\n            options: ExecFileOptions | undefined | null,\n        ): PromiseWithChild<{\n            stdout: string | Buffer;\n            stderr: string | Buffer;\n        }>;\n    }\n    interface ForkOptions extends ProcessEnvOptions, MessagingOptions, Abortable {\n        execPath?: string | undefined;\n        execArgv?: string[] | undefined;\n        silent?: boolean | undefined;\n        /**\n         * Can be set to 'pipe', 'inherit', 'overlapped', or 'ignore', or an array of these strings.\n         * If passed as an array, the first element is used for `stdin`, the second for\n         * `stdout`, and the third for `stderr`. A fourth element can be used to\n         * specify the `stdio` behavior beyond the standard streams. See\n         * {@link ChildProcess.stdio} for more information.\n         *\n         * @default 'pipe'\n         */\n        stdio?: StdioOptions | undefined;\n        detached?: boolean | undefined;\n        windowsVerbatimArguments?: boolean | undefined;\n    }\n    /**\n     * The `child_process.fork()` method is a special case of {@link spawn} used specifically to spawn new Node.js processes.\n     * Like {@link spawn}, a `ChildProcess` object is returned. The\n     * returned `ChildProcess` will have an additional communication channel\n     * built-in that allows messages to be passed back and forth between the parent and\n     * child. See `subprocess.send()` for details.\n     *\n     * Keep in mind that spawned Node.js child processes are\n     * independent of the parent with exception of the IPC communication channel\n     * that is established between the two. Each process has its own memory, with\n     * their own V8 instances. Because of the additional resource allocations\n     * required, spawning a large number of child Node.js processes is not\n     * recommended.\n     *\n     * By default, `child_process.fork()` will spawn new Node.js instances using the `process.execPath` of the parent process. The `execPath` property in the`options` object allows for an alternative\n     * execution path to be used.\n     *\n     * Node.js processes launched with a custom `execPath` will communicate with the\n     * parent process using the file descriptor (fd) identified using the\n     * environment variable `NODE_CHANNEL_FD` on the child process.\n     *\n     * Unlike the [`fork(2)`](http://man7.org/linux/man-pages/man2/fork.2.html) POSIX system call, `child_process.fork()` does not clone the\n     * current process.\n     *\n     * The `shell` option available in {@link spawn} is not supported by`child_process.fork()` and will be ignored if set.\n     *\n     * If the `signal` option is enabled, calling `.abort()` on the corresponding`AbortController` is similar to calling `.kill()` on the child process except\n     * the error passed to the callback will be an `AbortError`:\n     *\n     * ```js\n     * import { fork } from 'node:child_process';\n     * if (process.argv[2] === 'child') {\n     *   setTimeout(() => {\n     *     console.log(`Hello from ${process.argv[2]}!`);\n     *   }, 1_000);\n     * } else {\n     *   const controller = new AbortController();\n     *   const { signal } = controller;\n     *   const child = fork(__filename, ['child'], { signal });\n     *   child.on('error', (err) => {\n     *     // This will be called with err being an AbortError if the controller aborts\n     *   });\n     *   controller.abort(); // Stops the child process\n     * }\n     * ```\n     * @since v0.5.0\n     * @param modulePath The module to run in the child.\n     * @param args List of string arguments.\n     */\n    function fork(modulePath: string | URL, options?: ForkOptions): ChildProcess;\n    function fork(modulePath: string | URL, args?: readonly string[], options?: ForkOptions): ChildProcess;\n    interface SpawnSyncOptions extends CommonSpawnOptions {\n        input?: string | NodeJS.ArrayBufferView | undefined;\n        maxBuffer?: number | undefined;\n        encoding?: BufferEncoding | \"buffer\" | null | undefined;\n    }\n    interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions {\n        encoding: BufferEncoding;\n    }\n    interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions {\n        encoding?: \"buffer\" | null | undefined;\n    }\n    interface SpawnSyncReturns<T> {\n        pid: number;\n        output: Array<T | null>;\n        stdout: T;\n        stderr: T;\n        status: number | null;\n        signal: NodeJS.Signals | null;\n        error?: Error | undefined;\n    }\n    /**\n     * The `child_process.spawnSync()` method is generally identical to {@link spawn} with the exception that the function will not return\n     * until the child process has fully closed. When a timeout has been encountered\n     * and `killSignal` is sent, the method won't return until the process has\n     * completely exited. If the process intercepts and handles the `SIGTERM` signal\n     * and doesn't exit, the parent process will wait until the child process has\n     * exited.\n     *\n     * **If the `shell` option is enabled, do not pass unsanitized user input to this**\n     * **function. Any input containing shell metacharacters may be used to trigger**\n     * **arbitrary command execution.**\n     * @since v0.11.12\n     * @param command The command to run.\n     * @param args List of string arguments.\n     */\n    function spawnSync(command: string): SpawnSyncReturns<Buffer>;\n    function spawnSync(command: string, options: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns<string>;\n    function spawnSync(command: string, options: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns<Buffer>;\n    function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns<string | Buffer>;\n    function spawnSync(command: string, args: readonly string[]): SpawnSyncReturns<Buffer>;\n    function spawnSync(\n        command: string,\n        args: readonly string[],\n        options: SpawnSyncOptionsWithStringEncoding,\n    ): SpawnSyncReturns<string>;\n    function spawnSync(\n        command: string,\n        args: readonly string[],\n        options: SpawnSyncOptionsWithBufferEncoding,\n    ): SpawnSyncReturns<Buffer>;\n    function spawnSync(\n        command: string,\n        args?: readonly string[],\n        options?: SpawnSyncOptions,\n    ): SpawnSyncReturns<string | Buffer>;\n    interface CommonExecOptions extends CommonOptions {\n        input?: string | NodeJS.ArrayBufferView | undefined;\n        /**\n         * Can be set to 'pipe', 'inherit', 'overlapped', or 'ignore', or an array of these strings.\n         * If passed as an array, the first element is used for `stdin`, the second for\n         * `stdout`, and the third for `stderr`. A fourth element can be used to\n         * specify the `stdio` behavior beyond the standard streams. See\n         * {@link ChildProcess.stdio} for more information.\n         *\n         * @default 'pipe'\n         */\n        stdio?: StdioOptions | undefined;\n        killSignal?: NodeJS.Signals | number | undefined;\n        maxBuffer?: number | undefined;\n        encoding?: BufferEncoding | \"buffer\" | null | undefined;\n    }\n    interface ExecSyncOptions extends CommonExecOptions {\n        shell?: string | undefined;\n    }\n    interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions {\n        encoding: BufferEncoding;\n    }\n    interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions {\n        encoding?: \"buffer\" | null | undefined;\n    }\n    /**\n     * The `child_process.execSync()` method is generally identical to {@link exec} with the exception that the method will not return\n     * until the child process has fully closed. When a timeout has been encountered\n     * and `killSignal` is sent, the method won't return until the process has\n     * completely exited. If the child process intercepts and handles the `SIGTERM`signal and doesn't exit, the parent process will wait until the child process\n     * has exited.\n     *\n     * If the process times out or has a non-zero exit code, this method will throw.\n     * The `Error` object will contain the entire result from {@link spawnSync}.\n     *\n     * **Never pass unsanitized user input to this function. Any input containing shell**\n     * **metacharacters may be used to trigger arbitrary command execution.**\n     * @since v0.11.12\n     * @param command The command to run.\n     * @return The stdout from the command.\n     */\n    function execSync(command: string): Buffer;\n    function execSync(command: string, options: ExecSyncOptionsWithStringEncoding): string;\n    function execSync(command: string, options: ExecSyncOptionsWithBufferEncoding): Buffer;\n    function execSync(command: string, options?: ExecSyncOptions): string | Buffer;\n    interface ExecFileSyncOptions extends CommonExecOptions {\n        shell?: boolean | string | undefined;\n    }\n    interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions {\n        encoding: BufferEncoding;\n    }\n    interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions {\n        encoding?: \"buffer\" | null; // specify `null`.\n    }\n    /**\n     * The `child_process.execFileSync()` method is generally identical to {@link execFile} with the exception that the method will not\n     * return until the child process has fully closed. When a timeout has been\n     * encountered and `killSignal` is sent, the method won't return until the process\n     * has completely exited.\n     *\n     * If the child process intercepts and handles the `SIGTERM` signal and\n     * does not exit, the parent process will still wait until the child process has\n     * exited.\n     *\n     * If the process times out or has a non-zero exit code, this method will throw an `Error` that will include the full result of the underlying {@link spawnSync}.\n     *\n     * **If the `shell` option is enabled, do not pass unsanitized user input to this**\n     * **function. Any input containing shell metacharacters may be used to trigger**\n     * **arbitrary command execution.**\n     * @since v0.11.12\n     * @param file The name or path of the executable file to run.\n     * @param args List of string arguments.\n     * @return The stdout from the command.\n     */\n    function execFileSync(file: string): Buffer;\n    function execFileSync(file: string, options: ExecFileSyncOptionsWithStringEncoding): string;\n    function execFileSync(file: string, options: ExecFileSyncOptionsWithBufferEncoding): Buffer;\n    function execFileSync(file: string, options?: ExecFileSyncOptions): string | Buffer;\n    function execFileSync(file: string, args: readonly string[]): Buffer;\n    function execFileSync(\n        file: string,\n        args: readonly string[],\n        options: ExecFileSyncOptionsWithStringEncoding,\n    ): string;\n    function execFileSync(\n        file: string,\n        args: readonly string[],\n        options: ExecFileSyncOptionsWithBufferEncoding,\n    ): Buffer;\n    function execFileSync(file: string, args?: readonly string[], options?: ExecFileSyncOptions): string | Buffer;\n}\ndeclare module \"node:child_process\" {\n    export * from \"child_process\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/cluster.d.ts",
      "content": "/**\n * Clusters of Node.js processes can be used to run multiple instances of Node.js\n * that can distribute workloads among their application threads. When process isolation\n * is not needed, use the [`worker_threads`](https://nodejs.org/docs/latest-v18.x/api/worker_threads.html)\n * module instead, which allows running multiple application threads within a single Node.js instance.\n *\n * The cluster module allows easy creation of child processes that all share\n * server ports.\n *\n * ```js\n * import cluster from 'node:cluster';\n * import http from 'node:http';\n * import { availableParallelism } from 'node:os';\n * import process from 'node:process';\n *\n * const numCPUs = availableParallelism();\n *\n * if (cluster.isPrimary) {\n *   console.log(`Primary ${process.pid} is running`);\n *\n *   // Fork workers.\n *   for (let i = 0; i < numCPUs; i++) {\n *     cluster.fork();\n *   }\n *\n *   cluster.on('exit', (worker, code, signal) => {\n *     console.log(`worker ${worker.process.pid} died`);\n *   });\n * } else {\n *   // Workers can share any TCP connection\n *   // In this case it is an HTTP server\n *   http.createServer((req, res) => {\n *     res.writeHead(200);\n *     res.end('hello world\\n');\n *   }).listen(8000);\n *\n *   console.log(`Worker ${process.pid} started`);\n * }\n * ```\n *\n * Running Node.js will now share port 8000 between the workers:\n *\n * ```console\n * $ node server.js\n * Primary 3596 is running\n * Worker 4324 started\n * Worker 4520 started\n * Worker 6056 started\n * Worker 5644 started\n * ```\n *\n * On Windows, it is not yet possible to set up a named pipe server in a worker.\n * @see [source](https://github.com/nodejs/node/blob/v18.19.1/lib/cluster.js)\n */\ndeclare module \"cluster\" {\n    import * as child from \"node:child_process\";\n    import EventEmitter = require(\"node:events\");\n    import * as net from \"node:net\";\n    type SerializationType = \"json\" | \"advanced\";\n    export interface ClusterSettings {\n        /**\n         * List of string arguments passed to the Node.js executable.\n         * @default process.execArgv\n         */\n        execArgv?: string[] | undefined;\n        /**\n         * File path to worker file.\n         * @default process.argv[1]\n         */\n        exec?: string | undefined;\n        /**\n         * String arguments passed to worker.\n         * @default process.argv.slice(2)\n         */\n        args?: string[] | undefined;\n        /**\n         * Whether or not to send output to parent's stdio.\n         * @default false\n         */\n        silent?: boolean | undefined;\n        /**\n         * Configures the stdio of forked processes. Because the cluster module relies on IPC to function, this configuration must\n         * contain an `'ipc'` entry. When this option is provided, it overrides `silent`. See [`child_prcess.spawn()`](https://nodejs.org/docs/latest-v18.x/api/child_process.html#child_processspawncommand-args-options)'s\n         * [`stdio`](https://nodejs.org/docs/latest-v18.x/api/child_process.html#optionsstdio).\n         */\n        stdio?: any[] | undefined;\n        /**\n         * Sets the user identity of the process. (See [`setuid(2)`](https://man7.org/linux/man-pages/man2/setuid.2.html).)\n         */\n        uid?: number | undefined;\n        /**\n         * Sets the group identity of the process. (See [`setgid(2)`](https://man7.org/linux/man-pages/man2/setgid.2.html).)\n         */\n        gid?: number | undefined;\n        /**\n         * Sets inspector port of worker. This can be a number, or a function that takes no arguments and returns a number.\n         * By default each worker gets its own port, incremented from the primary's `process.debugPort`.\n         */\n        inspectPort?: number | (() => number) | undefined;\n        /**\n         * Specify the kind of serialization used for sending messages between processes. Possible values are `'json'` and `'advanced'`.\n         * See [Advanced serialization for `child_process`](https://nodejs.org/docs/latest-v18.x/api/child_process.html#advanced-serialization) for more details.\n         * @default false\n         */\n        serialization?: SerializationType | undefined;\n        /**\n         * Current working directory of the worker process.\n         * @default undefined (inherits from parent process)\n         */\n        cwd?: string | undefined;\n        /**\n         * Hide the forked processes console window that would normally be created on Windows systems.\n         * @default false\n         */\n        windowsHide?: boolean | undefined;\n    }\n    export interface Address {\n        address: string;\n        port: number;\n        /**\n         * The `addressType` is one of:\n         *\n         * * `4` (TCPv4)\n         * * `6` (TCPv6)\n         * * `-1` (Unix domain socket)\n         * * `'udp4'` or `'udp6'` (UDPv4 or UDPv6)\n         */\n        addressType: 4 | 6 | -1 | \"udp4\" | \"udp6\";\n    }\n    /**\n     * A `Worker` object contains all public information and method about a worker.\n     * In the primary it can be obtained using `cluster.workers`. In a worker\n     * it can be obtained using `cluster.worker`.\n     * @since v0.7.0\n     */\n    export class Worker extends EventEmitter {\n        /**\n         * Each new worker is given its own unique id, this id is stored in the `id`.\n         *\n         * While a worker is alive, this is the key that indexes it in `cluster.workers`.\n         * @since v0.8.0\n         */\n        id: number;\n        /**\n         * All workers are created using [`child_process.fork()`](https://nodejs.org/docs/latest-v18.x/api/child_process.html#child_processforkmodulepath-args-options), the returned object\n         * from this function is stored as `.process`. In a worker, the global `process` is stored.\n         *\n         * See: [Child Process module](https://nodejs.org/docs/latest-v18.x/api/child_process.html#child_processforkmodulepath-args-options).\n         *\n         * Workers will call `process.exit(0)` if the `'disconnect'` event occurs\n         * on `process` and `.exitedAfterDisconnect` is not `true`. This protects against\n         * accidental disconnection.\n         * @since v0.7.0\n         */\n        process: child.ChildProcess;\n        /**\n         * Send a message to a worker or primary, optionally with a handle.\n         *\n         * In the primary, this sends a message to a specific worker. It is identical to [`ChildProcess.send()`](https://nodejs.org/docs/latest-v18.x/api/child_process.html#subprocesssendmessage-sendhandle-options-callback).\n         *\n         * In a worker, this sends a message to the primary. It is identical to `process.send()`.\n         *\n         * This example will echo back all messages from the primary:\n         *\n         * ```js\n         * if (cluster.isPrimary) {\n         *   const worker = cluster.fork();\n         *   worker.send('hi there');\n         *\n         * } else if (cluster.isWorker) {\n         *   process.on('message', (msg) => {\n         *     process.send(msg);\n         *   });\n         * }\n         * ```\n         * @since v0.7.0\n         * @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles.\n         */\n        send(message: child.Serializable, callback?: (error: Error | null) => void): boolean;\n        send(\n            message: child.Serializable,\n            sendHandle: child.SendHandle,\n            callback?: (error: Error | null) => void,\n        ): boolean;\n        send(\n            message: child.Serializable,\n            sendHandle: child.SendHandle,\n            options?: child.MessageOptions,\n            callback?: (error: Error | null) => void,\n        ): boolean;\n        /**\n         * This function will kill the worker. In the primary worker, it does this by\n         * disconnecting the `worker.process`, and once disconnected, killing with `signal`. In the worker, it does it by killing the process with `signal`.\n         *\n         * The `kill()` function kills the worker process without waiting for a graceful\n         * disconnect, it has the same behavior as `worker.process.kill()`.\n         *\n         * This method is aliased as `worker.destroy()` for backwards compatibility.\n         *\n         * In a worker, `process.kill()` exists, but it is not this function;\n         * it is [`kill()`](https://nodejs.org/docs/latest-v18.x/api/process.html#processkillpid-signal).\n         * @since v0.9.12\n         * @param [signal='SIGTERM'] Name of the kill signal to send to the worker process.\n         */\n        kill(signal?: string): void;\n        destroy(signal?: string): void;\n        /**\n         * In a worker, this function will close all servers, wait for the `'close'` event\n         * on those servers, and then disconnect the IPC channel.\n         *\n         * In the primary, an internal message is sent to the worker causing it to call `.disconnect()` on itself.\n         *\n         * Causes `.exitedAfterDisconnect` to be set.\n         *\n         * After a server is closed, it will no longer accept new connections,\n         * but connections may be accepted by any other listening worker. Existing\n         * connections will be allowed to close as usual. When no more connections exist,\n         * see `server.close()`, the IPC channel to the worker will close allowing it\n         * to die gracefully.\n         *\n         * The above applies _only_ to server connections, client connections are not\n         * automatically closed by workers, and disconnect does not wait for them to close\n         * before exiting.\n         *\n         * In a worker, `process.disconnect` exists, but it is not this function;\n         * it is `disconnect()`.\n         *\n         * Because long living server connections may block workers from disconnecting, it\n         * may be useful to send a message, so application specific actions may be taken to\n         * close them. It also may be useful to implement a timeout, killing a worker if\n         * the `'disconnect'` event has not been emitted after some time.\n         *\n         * ```js\n         * import net from 'node:net';\n         * if (cluster.isPrimary) {\n         *   const worker = cluster.fork();\n         *   let timeout;\n         *\n         *   worker.on('listening', (address) => {\n         *     worker.send('shutdown');\n         *     worker.disconnect();\n         *     timeout = setTimeout(() => {\n         *       worker.kill();\n         *     }, 2000);\n         *   });\n         *\n         *   worker.on('disconnect', () => {\n         *     clearTimeout(timeout);\n         *   });\n         *\n         * } else if (cluster.isWorker) {\n         *   const server = net.createServer((socket) => {\n         *     // Connections never end\n         *   });\n         *\n         *   server.listen(8000);\n         *\n         *   process.on('message', (msg) => {\n         *     if (msg === 'shutdown') {\n         *       // Initiate graceful close of any connections to server\n         *     }\n         *   });\n         * }\n         * ```\n         * @since v0.7.7\n         * @return A reference to `worker`.\n         */\n        disconnect(): this;\n        /**\n         * This function returns `true` if the worker is connected to its primary via its\n         * IPC channel, `false` otherwise. A worker is connected to its primary after it\n         * has been created. It is disconnected after the `'disconnect'` event is emitted.\n         * @since v0.11.14\n         */\n        isConnected(): boolean;\n        /**\n         * This function returns `true` if the worker's process has terminated (either\n         * because of exiting or being signaled). Otherwise, it returns `false`.\n         *\n         * ```js\n         * import cluster from 'node:cluster';\n         * import http from 'node:http';\n         * import { availableParallelism } from 'node:os';\n         * import process from 'node:process';\n         *\n         * const numCPUs = availableParallelism();\n         *\n         * if (cluster.isPrimary) {\n         *   console.log(`Primary ${process.pid} is running`);\n         *\n         *   // Fork workers.\n         *   for (let i = 0; i < numCPUs; i++) {\n         *     cluster.fork();\n         *   }\n         *\n         *   cluster.on('fork', (worker) => {\n         *     console.log('worker is dead:', worker.isDead());\n         *   });\n         *\n         *   cluster.on('exit', (worker, code, signal) => {\n         *     console.log('worker is dead:', worker.isDead());\n         *   });\n         * } else {\n         *   // Workers can share any TCP connection. In this case, it is an HTTP server.\n         *   http.createServer((req, res) => {\n         *     res.writeHead(200);\n         *     res.end(`Current process\\n ${process.pid}`);\n         *     process.kill(process.pid);\n         *   }).listen(8000);\n         * }\n         * ```\n         * @since v0.11.14\n         */\n        isDead(): boolean;\n        /**\n         * This property is `true` if the worker exited due to `.disconnect()`.\n         * If the worker exited any other way, it is `false`. If the\n         * worker has not exited, it is `undefined`.\n         *\n         * The boolean `worker.exitedAfterDisconnect` allows distinguishing between\n         * voluntary and accidental exit, the primary may choose not to respawn a worker\n         * based on this value.\n         *\n         * ```js\n         * cluster.on('exit', (worker, code, signal) => {\n         *   if (worker.exitedAfterDisconnect === true) {\n         *     console.log('Oh, it was just voluntary – no need to worry');\n         *   }\n         * });\n         *\n         * // kill worker\n         * worker.kill();\n         * ```\n         * @since v6.0.0\n         */\n        exitedAfterDisconnect: boolean;\n        /**\n         * events.EventEmitter\n         *   1. disconnect\n         *   2. error\n         *   3. exit\n         *   4. listening\n         *   5. message\n         *   6. online\n         */\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"disconnect\", listener: () => void): this;\n        addListener(event: \"error\", listener: (error: Error) => void): this;\n        addListener(event: \"exit\", listener: (code: number, signal: string) => void): this;\n        addListener(event: \"listening\", listener: (address: Address) => void): this;\n        addListener(event: \"message\", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.\n        addListener(event: \"online\", listener: () => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"disconnect\"): boolean;\n        emit(event: \"error\", error: Error): boolean;\n        emit(event: \"exit\", code: number, signal: string): boolean;\n        emit(event: \"listening\", address: Address): boolean;\n        emit(event: \"message\", message: any, handle: net.Socket | net.Server): boolean;\n        emit(event: \"online\"): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"disconnect\", listener: () => void): this;\n        on(event: \"error\", listener: (error: Error) => void): this;\n        on(event: \"exit\", listener: (code: number, signal: string) => void): this;\n        on(event: \"listening\", listener: (address: Address) => void): this;\n        on(event: \"message\", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.\n        on(event: \"online\", listener: () => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"disconnect\", listener: () => void): this;\n        once(event: \"error\", listener: (error: Error) => void): this;\n        once(event: \"exit\", listener: (code: number, signal: string) => void): this;\n        once(event: \"listening\", listener: (address: Address) => void): this;\n        once(event: \"message\", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.\n        once(event: \"online\", listener: () => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"disconnect\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (error: Error) => void): this;\n        prependListener(event: \"exit\", listener: (code: number, signal: string) => void): this;\n        prependListener(event: \"listening\", listener: (address: Address) => void): this;\n        prependListener(event: \"message\", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.\n        prependListener(event: \"online\", listener: () => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"disconnect\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (error: Error) => void): this;\n        prependOnceListener(event: \"exit\", listener: (code: number, signal: string) => void): this;\n        prependOnceListener(event: \"listening\", listener: (address: Address) => void): this;\n        prependOnceListener(event: \"message\", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.\n        prependOnceListener(event: \"online\", listener: () => void): this;\n    }\n    export interface Cluster extends EventEmitter {\n        disconnect(callback?: () => void): void;\n        /**\n         * Spawn a new worker process.\n         *\n         * This can only be called from the primary process.\n         * @param env Key/value pairs to add to worker process environment.\n         * @since v0.6.0\n         */\n        fork(env?: any): Worker;\n        /** @deprecated since v16.0.0 - use isPrimary. */\n        readonly isMaster: boolean;\n        /**\n         * True if the process is a primary. This is determined by the `process.env.NODE_UNIQUE_ID`. If `process.env.NODE_UNIQUE_ID`\n         * is undefined, then `isPrimary` is `true`.\n         * @since v16.0.0\n         */\n        readonly isPrimary: boolean;\n        /**\n         * True if the process is not a primary (it is the negation of `cluster.isPrimary`).\n         * @since v0.6.0\n         */\n        readonly isWorker: boolean;\n        /**\n         * The scheduling policy, either `cluster.SCHED_RR` for round-robin or `cluster.SCHED_NONE` to leave it to the operating system. This is a global\n         * setting and effectively frozen once either the first worker is spawned, or [`.setupPrimary()`](https://nodejs.org/docs/latest-v18.x/api/cluster.html#clustersetupprimarysettings)\n         * is called, whichever comes first.\n         *\n         * `SCHED_RR` is the default on all operating systems except Windows. Windows will change to `SCHED_RR` once libuv is able to effectively distribute\n         * IOCP handles without incurring a large performance hit.\n         *\n         * `cluster.schedulingPolicy` can also be set through the `NODE_CLUSTER_SCHED_POLICY` environment variable. Valid values are `'rr'` and `'none'`.\n         * @since v0.11.2\n         */\n        schedulingPolicy: number;\n        /**\n         * After calling [`.setupPrimary()`](https://nodejs.org/docs/latest-v18.x/api/cluster.html#clustersetupprimarysettings)\n         * (or [`.fork()`](https://nodejs.org/docs/latest-v18.x/api/cluster.html#clusterforkenv)) this settings object will contain\n         * the settings, including the default values.\n         *\n         * This object is not intended to be changed or set manually.\n         * @since v0.7.1\n         */\n        readonly settings: ClusterSettings;\n        /** @deprecated since v16.0.0 - use [`.setupPrimary()`](https://nodejs.org/docs/latest-v18.x/api/cluster.html#clustersetupprimarysettings) instead. */\n        setupMaster(settings?: ClusterSettings): void;\n        /**\n         * `setupPrimary` is used to change the default 'fork' behavior. Once called, the settings will be present in `cluster.settings`.\n         *\n         * Any settings changes only affect future calls to [`.fork()`](https://nodejs.org/docs/latest-v18.x/api/cluster.html#clusterforkenv)\n         * and have no effect on workers that are already running.\n         *\n         * The only attribute of a worker that cannot be set via `.setupPrimary()` is the `env` passed to\n         * [`.fork()`](https://nodejs.org/docs/latest-v18.x/api/cluster.html#clusterforkenv).\n         *\n         * The defaults above apply to the first call only; the defaults for later calls are the current values at the time of\n         * `cluster.setupPrimary()` is called.\n         *\n         * ```js\n         * import cluster from 'node:cluster';\n         *\n         * cluster.setupPrimary({\n         *   exec: 'worker.js',\n         *   args: ['--use', 'https'],\n         *   silent: true,\n         * });\n         * cluster.fork(); // https worker\n         * cluster.setupPrimary({\n         *   exec: 'worker.js',\n         *   args: ['--use', 'http'],\n         * });\n         * cluster.fork(); // http worker\n         * ```\n         *\n         * This can only be called from the primary process.\n         * @since v16.0.0\n         */\n        setupPrimary(settings?: ClusterSettings): void;\n        /**\n         * A reference to the current worker object. Not available in the primary process.\n         *\n         * ```js\n         * import cluster from 'node:cluster';\n         *\n         * if (cluster.isPrimary) {\n         *   console.log('I am primary');\n         *   cluster.fork();\n         *   cluster.fork();\n         * } else if (cluster.isWorker) {\n         *   console.log(`I am worker #${cluster.worker.id}`);\n         * }\n         * ```\n         * @since v0.7.0\n         */\n        readonly worker?: Worker | undefined;\n        /**\n         * A hash that stores the active worker objects, keyed by `id` field. This makes it easy to loop through all the workers. It is only available in the primary process.\n         *\n         * A worker is removed from `cluster.workers` after the worker has disconnected _and_ exited. The order between these two events cannot be determined in advance. However, it\n         * is guaranteed that the removal from the `cluster.workers` list happens before the last `'disconnect'` or `'exit'` event is emitted.\n         *\n         * ```js\n         * import cluster from 'node:cluster';\n         *\n         * for (const worker of Object.values(cluster.workers)) {\n         *   worker.send('big announcement to all workers');\n         * }\n         * ```\n         * @since v0.7.0\n         */\n        readonly workers?: NodeJS.Dict<Worker> | undefined;\n        readonly SCHED_NONE: number;\n        readonly SCHED_RR: number;\n        /**\n         * events.EventEmitter\n         *   1. disconnect\n         *   2. exit\n         *   3. fork\n         *   4. listening\n         *   5. message\n         *   6. online\n         *   7. setup\n         */\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"disconnect\", listener: (worker: Worker) => void): this;\n        addListener(event: \"exit\", listener: (worker: Worker, code: number, signal: string) => void): this;\n        addListener(event: \"fork\", listener: (worker: Worker) => void): this;\n        addListener(event: \"listening\", listener: (worker: Worker, address: Address) => void): this;\n        addListener(\n            event: \"message\",\n            listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void,\n        ): this; // the handle is a net.Socket or net.Server object, or undefined.\n        addListener(event: \"online\", listener: (worker: Worker) => void): this;\n        addListener(event: \"setup\", listener: (settings: ClusterSettings) => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"disconnect\", worker: Worker): boolean;\n        emit(event: \"exit\", worker: Worker, code: number, signal: string): boolean;\n        emit(event: \"fork\", worker: Worker): boolean;\n        emit(event: \"listening\", worker: Worker, address: Address): boolean;\n        emit(event: \"message\", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;\n        emit(event: \"online\", worker: Worker): boolean;\n        emit(event: \"setup\", settings: ClusterSettings): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"disconnect\", listener: (worker: Worker) => void): this;\n        on(event: \"exit\", listener: (worker: Worker, code: number, signal: string) => void): this;\n        on(event: \"fork\", listener: (worker: Worker) => void): this;\n        on(event: \"listening\", listener: (worker: Worker, address: Address) => void): this;\n        on(event: \"message\", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.\n        on(event: \"online\", listener: (worker: Worker) => void): this;\n        on(event: \"setup\", listener: (settings: ClusterSettings) => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"disconnect\", listener: (worker: Worker) => void): this;\n        once(event: \"exit\", listener: (worker: Worker, code: number, signal: string) => void): this;\n        once(event: \"fork\", listener: (worker: Worker) => void): this;\n        once(event: \"listening\", listener: (worker: Worker, address: Address) => void): this;\n        once(event: \"message\", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.\n        once(event: \"online\", listener: (worker: Worker) => void): this;\n        once(event: \"setup\", listener: (settings: ClusterSettings) => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"disconnect\", listener: (worker: Worker) => void): this;\n        prependListener(event: \"exit\", listener: (worker: Worker, code: number, signal: string) => void): this;\n        prependListener(event: \"fork\", listener: (worker: Worker) => void): this;\n        prependListener(event: \"listening\", listener: (worker: Worker, address: Address) => void): this;\n        // the handle is a net.Socket or net.Server object, or undefined.\n        prependListener(\n            event: \"message\",\n            listener: (worker: Worker, message: any, handle?: net.Socket | net.Server) => void,\n        ): this;\n        prependListener(event: \"online\", listener: (worker: Worker) => void): this;\n        prependListener(event: \"setup\", listener: (settings: ClusterSettings) => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"disconnect\", listener: (worker: Worker) => void): this;\n        prependOnceListener(event: \"exit\", listener: (worker: Worker, code: number, signal: string) => void): this;\n        prependOnceListener(event: \"fork\", listener: (worker: Worker) => void): this;\n        prependOnceListener(event: \"listening\", listener: (worker: Worker, address: Address) => void): this;\n        // the handle is a net.Socket or net.Server object, or undefined.\n        prependOnceListener(\n            event: \"message\",\n            listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void,\n        ): this;\n        prependOnceListener(event: \"online\", listener: (worker: Worker) => void): this;\n        prependOnceListener(event: \"setup\", listener: (settings: ClusterSettings) => void): this;\n    }\n    const cluster: Cluster;\n    export default cluster;\n}\ndeclare module \"node:cluster\" {\n    export * from \"cluster\";\n    export { default as default } from \"cluster\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/console.d.ts",
      "content": "/**\n * The `node:console` module provides a simple debugging console that is similar to\n * the JavaScript console mechanism provided by web browsers.\n *\n * The module exports two specific components:\n *\n * * A `Console` class with methods such as `console.log()`, `console.error()`, and `console.warn()` that can be used to write to any Node.js stream.\n * * A global `console` instance configured to write to [`process.stdout`](https://nodejs.org/docs/latest-v18.x/api/process.html#processstdout) and\n * [`process.stderr`](https://nodejs.org/docs/latest-v18.x/api/process.html#processstderr). The global `console` can be used without importing the `node:console` module.\n *\n * _**Warning**_: The global console object's methods are neither consistently\n * synchronous like the browser APIs they resemble, nor are they consistently\n * asynchronous like all other Node.js streams. See the [`note on process I/O`](https://nodejs.org/docs/latest-v18.x/api/process.html#a-note-on-process-io) for\n * more information.\n *\n * Example using the global `console`:\n *\n * ```js\n * console.log('hello world');\n * // Prints: hello world, to stdout\n * console.log('hello %s', 'world');\n * // Prints: hello world, to stdout\n * console.error(new Error('Whoops, something bad happened'));\n * // Prints error message and stack trace to stderr:\n * //   Error: Whoops, something bad happened\n * //     at [eval]:5:15\n * //     at Script.runInThisContext (node:vm:132:18)\n * //     at Object.runInThisContext (node:vm:309:38)\n * //     at node:internal/process/execution:77:19\n * //     at [eval]-wrapper:6:22\n * //     at evalScript (node:internal/process/execution:76:60)\n * //     at node:internal/main/eval_string:23:3\n *\n * const name = 'Will Robinson';\n * console.warn(`Danger ${name}! Danger!`);\n * // Prints: Danger Will Robinson! Danger!, to stderr\n * ```\n *\n * Example using the `Console` class:\n *\n * ```js\n * const out = getStreamSomehow();\n * const err = getStreamSomehow();\n * const myConsole = new console.Console(out, err);\n *\n * myConsole.log('hello world');\n * // Prints: hello world, to out\n * myConsole.log('hello %s', 'world');\n * // Prints: hello world, to out\n * myConsole.error(new Error('Whoops, something bad happened'));\n * // Prints: [Error: Whoops, something bad happened], to err\n *\n * const name = 'Will Robinson';\n * myConsole.warn(`Danger ${name}! Danger!`);\n * // Prints: Danger Will Robinson! Danger!, to err\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.20.1/lib/console.js)\n */\ndeclare module \"console\" {\n    import console = require(\"node:console\");\n    export = console;\n}\ndeclare module \"node:console\" {\n    import { InspectOptions } from \"node:util\";\n    global {\n        // This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build\n        interface Console {\n            Console: console.ConsoleConstructor;\n            /**\n             * `console.assert()` writes a message if `value` is [falsy](https://developer.mozilla.org/en-US/docs/Glossary/Falsy) or omitted. It only\n             * writes a message and does not otherwise affect execution. The output always\n             * starts with `\"Assertion failed\"`. If provided, `message` is formatted using\n             * [`util.format()`](https://nodejs.org/docs/latest-v18.x/api/util.html#utilformatformat-args).\n             *\n             * If `value` is [truthy](https://developer.mozilla.org/en-US/docs/Glossary/Truthy), nothing happens.\n             *\n             * ```js\n             * console.assert(true, 'does nothing');\n             *\n             * console.assert(false, 'Whoops %s work', 'didn\\'t');\n             * // Assertion failed: Whoops didn't work\n             *\n             * console.assert();\n             * // Assertion failed\n             * ```\n             * @since v0.1.101\n             * @param value The value tested for being truthy.\n             * @param message All arguments besides `value` are used as error message.\n             */\n            assert(value: any, message?: string, ...optionalParams: any[]): void;\n            /**\n             * When `stdout` is a TTY, calling `console.clear()` will attempt to clear the\n             * TTY. When `stdout` is not a TTY, this method does nothing.\n             *\n             * The specific operation of `console.clear()` can vary across operating systems\n             * and terminal types. For most Linux operating systems, `console.clear()` operates similarly to the `clear` shell command. On Windows, `console.clear()` will clear only the output in the\n             * current terminal viewport for the Node.js\n             * binary.\n             * @since v8.3.0\n             */\n            clear(): void;\n            /**\n             * Maintains an internal counter specific to `label` and outputs to `stdout` the\n             * number of times `console.count()` has been called with the given `label`.\n             *\n             * ```js\n             * > console.count()\n             * default: 1\n             * undefined\n             * > console.count('default')\n             * default: 2\n             * undefined\n             * > console.count('abc')\n             * abc: 1\n             * undefined\n             * > console.count('xyz')\n             * xyz: 1\n             * undefined\n             * > console.count('abc')\n             * abc: 2\n             * undefined\n             * > console.count()\n             * default: 3\n             * undefined\n             * >\n             * ```\n             * @since v8.3.0\n             * @param [label='default'] The display label for the counter.\n             */\n            count(label?: string): void;\n            /**\n             * Resets the internal counter specific to `label`.\n             *\n             * ```js\n             * > console.count('abc');\n             * abc: 1\n             * undefined\n             * > console.countReset('abc');\n             * undefined\n             * > console.count('abc');\n             * abc: 1\n             * undefined\n             * >\n             * ```\n             * @since v8.3.0\n             * @param [label='default'] The display label for the counter.\n             */\n            countReset(label?: string): void;\n            /**\n             * The `console.debug()` function is an alias for {@link log}.\n             * @since v8.0.0\n             */\n            debug(message?: any, ...optionalParams: any[]): void;\n            /**\n             * Uses [`util.inspect()`](https://nodejs.org/docs/latest-v18.x/api/util.html#utilinspectobject-options) on `obj` and prints the resulting string to `stdout`.\n             * This function bypasses any custom `inspect()` function defined on `obj`.\n             * @since v0.1.101\n             */\n            dir(obj: any, options?: InspectOptions): void;\n            /**\n             * This method calls `console.log()` passing it the arguments received.\n             * This method does not produce any XML formatting.\n             * @since v8.0.0\n             */\n            dirxml(...data: any[]): void;\n            /**\n             * Prints to `stderr` with newline. Multiple arguments can be passed, with the\n             * first used as the primary message and all additional used as substitution\n             * values similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html)\n             * (the arguments are all passed to [`util.format()`](https://nodejs.org/docs/latest-v18.x/api/util.html#utilformatformat-args)).\n             *\n             * ```js\n             * const code = 5;\n             * console.error('error #%d', code);\n             * // Prints: error #5, to stderr\n             * console.error('error', code);\n             * // Prints: error 5, to stderr\n             * ```\n             *\n             * If formatting elements (e.g. `%d`) are not found in the first string then\n             * [`util.inspect()`](https://nodejs.org/docs/latest-v18.x/api/util.html#utilinspectobject-options) is called on each argument and the\n             * resulting string values are concatenated. See [`util.format()`](https://nodejs.org/docs/latest-v18.x/api/util.html#utilformatformat-args)\n             * for more information.\n             * @since v0.1.100\n             */\n            error(message?: any, ...optionalParams: any[]): void;\n            /**\n             * Increases indentation of subsequent lines by spaces for `groupIndentation` length.\n             *\n             * If one or more `label`s are provided, those are printed first without the\n             * additional indentation.\n             * @since v8.5.0\n             */\n            group(...label: any[]): void;\n            /**\n             * An alias for {@link group}.\n             * @since v8.5.0\n             */\n            groupCollapsed(...label: any[]): void;\n            /**\n             * Decreases indentation of subsequent lines by spaces for `groupIndentation` length.\n             * @since v8.5.0\n             */\n            groupEnd(): void;\n            /**\n             * The `console.info()` function is an alias for {@link log}.\n             * @since v0.1.100\n             */\n            info(message?: any, ...optionalParams: any[]): void;\n            /**\n             * Prints to `stdout` with newline. Multiple arguments can be passed, with the\n             * first used as the primary message and all additional used as substitution\n             * values similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html)\n             * (the arguments are all passed to [`util.format()`](https://nodejs.org/docs/latest-v18.x/api/util.html#utilformatformat-args)).\n             *\n             * ```js\n             * const count = 5;\n             * console.log('count: %d', count);\n             * // Prints: count: 5, to stdout\n             * console.log('count:', count);\n             * // Prints: count: 5, to stdout\n             * ```\n             *\n             * See [`util.format()`](https://nodejs.org/docs/latest-v18.x/api/util.html#utilformatformat-args) for more information.\n             * @since v0.1.100\n             */\n            log(message?: any, ...optionalParams: any[]): void;\n            /**\n             * Try to construct a table with the columns of the properties of `tabularData` (or use `properties`) and rows of `tabularData` and log it. Falls back to just\n             * logging the argument if it can't be parsed as tabular.\n             *\n             * ```js\n             * // These can't be parsed as tabular data\n             * console.table(Symbol());\n             * // Symbol()\n             *\n             * console.table(undefined);\n             * // undefined\n             *\n             * console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }]);\n             * // ┌─────────┬─────┬─────┐\n             * // │ (index) │  a  │  b  │\n             * // ├─────────┼─────┼─────┤\n             * // │    0    │  1  │ 'Y' │\n             * // │    1    │ 'Z' │  2  │\n             * // └─────────┴─────┴─────┘\n             *\n             * console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);\n             * // ┌─────────┬─────┐\n             * // │ (index) │  a  │\n             * // ├─────────┼─────┤\n             * // │    0    │  1  │\n             * // │    1    │ 'Z' │\n             * // └─────────┴─────┘\n             * ```\n             * @since v10.0.0\n             * @param properties Alternate properties for constructing the table.\n             */\n            table(tabularData: any, properties?: readonly string[]): void;\n            /**\n             * Starts a timer that can be used to compute the duration of an operation. Timers\n             * are identified by a unique `label`. Use the same `label` when calling {@link timeEnd} to stop the timer and output the elapsed time in\n             * suitable time units to `stdout`. For example, if the elapsed\n             * time is 3869ms, `console.timeEnd()` displays \"3.869s\".\n             * @since v0.1.104\n             * @param [label='default']\n             */\n            time(label?: string): void;\n            /**\n             * Stops a timer that was previously started by calling {@link time} and\n             * prints the result to `stdout`:\n             *\n             * ```js\n             * console.time('bunch-of-stuff');\n             * // Do a bunch of stuff.\n             * console.timeEnd('bunch-of-stuff');\n             * // Prints: bunch-of-stuff: 225.438ms\n             * ```\n             * @since v0.1.104\n             * @param [label='default']\n             */\n            timeEnd(label?: string): void;\n            /**\n             * For a timer that was previously started by calling {@link time}, prints\n             * the elapsed time and other `data` arguments to `stdout`:\n             *\n             * ```js\n             * console.time('process');\n             * const value = expensiveProcess1(); // Returns 42\n             * console.timeLog('process', value);\n             * // Prints \"process: 365.227ms 42\".\n             * doExpensiveProcess2(value);\n             * console.timeEnd('process');\n             * ```\n             * @since v10.7.0\n             * @param [label='default']\n             */\n            timeLog(label?: string, ...data: any[]): void;\n            /**\n             * Prints to `stderr` the string `'Trace: '`, followed by the [`util.format()`](https://nodejs.org/docs/latest-v18.x/api/util.html#utilformatformat-args)\n             * formatted message and stack trace to the current position in the code.\n             *\n             * ```js\n             * console.trace('Show me');\n             * // Prints: (stack trace will vary based on where trace is called)\n             * //  Trace: Show me\n             * //    at repl:2:9\n             * //    at REPLServer.defaultEval (repl.js:248:27)\n             * //    at bound (domain.js:287:14)\n             * //    at REPLServer.runBound [as eval] (domain.js:300:12)\n             * //    at REPLServer.<anonymous> (repl.js:412:12)\n             * //    at emitOne (events.js:82:20)\n             * //    at REPLServer.emit (events.js:169:7)\n             * //    at REPLServer.Interface._onLine (readline.js:210:10)\n             * //    at REPLServer.Interface._line (readline.js:549:8)\n             * //    at REPLServer.Interface._ttyWrite (readline.js:826:14)\n             * ```\n             * @since v0.1.104\n             */\n            trace(message?: any, ...optionalParams: any[]): void;\n            /**\n             * The `console.warn()` function is an alias for {@link error}.\n             * @since v0.1.100\n             */\n            warn(message?: any, ...optionalParams: any[]): void;\n            // --- Inspector mode only ---\n            /**\n             * This method does not display anything unless used in the inspector. The `console.profile()`\n             * method starts a JavaScript CPU profile with an optional label until {@link profileEnd}\n             * is called. The profile is then added to the Profile panel of the inspector.\n             *\n             * ```js\n             * console.profile('MyLabel');\n             * // Some code\n             * console.profileEnd('MyLabel');\n             * // Adds the profile 'MyLabel' to the Profiles panel of the inspector.\n             * ```\n             * @since v8.0.0\n             */\n            profile(label?: string): void;\n            /**\n             * This method does not display anything unless used in the inspector. Stops the current\n             * JavaScript CPU profiling session if one has been started and prints the report to the\n             * Profiles panel of the inspector. See {@link profile} for an example.\n             *\n             * If this method is called without a label, the most recently started profile is stopped.\n             * @since v8.0.0\n             */\n            profileEnd(label?: string): void;\n            /**\n             * This method does not display anything unless used in the inspector. The `console.timeStamp()`\n             * method adds an event with the label `'label'` to the Timeline panel of the inspector.\n             * @since v8.0.0\n             */\n            timeStamp(label?: string): void;\n        }\n        /**\n         * The `console` module provides a simple debugging console that is similar to the\n         * JavaScript console mechanism provided by web browsers.\n         *\n         * The module exports two specific components:\n         *\n         * * A `Console` class with methods such as `console.log()`, `console.error()` and `console.warn()` that can be used to write to any Node.js stream.\n         * * A global `console` instance configured to write to [`process.stdout`](https://nodejs.org/docs/latest-v18.x/api/process.html#processstdout) and\n         * [`process.stderr`](https://nodejs.org/docs/latest-v18.x/api/process.html#processstderr). The global `console` can be used without importing the `node:console` module.\n         *\n         * _**Warning**_: The global console object's methods are neither consistently\n         * synchronous like the browser APIs they resemble, nor are they consistently\n         * asynchronous like all other Node.js streams. See the [`note on process I/O`](https://nodejs.org/docs/latest-v18.x/api/process.html#a-note-on-process-io) for\n         * more information.\n         *\n         * Example using the global `console`:\n         *\n         * ```js\n         * console.log('hello world');\n         * // Prints: hello world, to stdout\n         * console.log('hello %s', 'world');\n         * // Prints: hello world, to stdout\n         * console.error(new Error('Whoops, something bad happened'));\n         * // Prints error message and stack trace to stderr:\n         * //   Error: Whoops, something bad happened\n         * //     at [eval]:5:15\n         * //     at Script.runInThisContext (node:vm:132:18)\n         * //     at Object.runInThisContext (node:vm:309:38)\n         * //     at node:internal/process/execution:77:19\n         * //     at [eval]-wrapper:6:22\n         * //     at evalScript (node:internal/process/execution:76:60)\n         * //     at node:internal/main/eval_string:23:3\n         *\n         * const name = 'Will Robinson';\n         * console.warn(`Danger ${name}! Danger!`);\n         * // Prints: Danger Will Robinson! Danger!, to stderr\n         * ```\n         *\n         * Example using the `Console` class:\n         *\n         * ```js\n         * const out = getStreamSomehow();\n         * const err = getStreamSomehow();\n         * const myConsole = new console.Console(out, err);\n         *\n         * myConsole.log('hello world');\n         * // Prints: hello world, to out\n         * myConsole.log('hello %s', 'world');\n         * // Prints: hello world, to out\n         * myConsole.error(new Error('Whoops, something bad happened'));\n         * // Prints: [Error: Whoops, something bad happened], to err\n         *\n         * const name = 'Will Robinson';\n         * myConsole.warn(`Danger ${name}! Danger!`);\n         * // Prints: Danger Will Robinson! Danger!, to err\n         * ```\n         * @see [source](https://github.com/nodejs/node/blob/v18.19.1/lib/console.js)\n         */\n        namespace console {\n            interface ConsoleConstructorOptions {\n                stdout: NodeJS.WritableStream;\n                stderr?: NodeJS.WritableStream | undefined;\n                /**\n                 * Ignore errors when writing to the underlying streams.\n                 * @default true\n                 */\n                ignoreErrors?: boolean | undefined;\n                /**\n                 * Set color support for this `Console` instance. Setting to true enables coloring while inspecting\n                 * values. Setting to `false` disables coloring while inspecting values. Setting to `'auto'` makes color\n                 * support depend on the value of the `isTTY` property and the value returned by `getColorDepth()` on the\n                 * respective stream. This option can not be used, if `inspectOptions.colors` is set as well.\n                 * @default auto\n                 */\n                colorMode?: boolean | \"auto\" | undefined;\n                /**\n                 * Specifies options that are passed along to\n                 * [`util.inspect()`](https://nodejs.org/docs/latest-v18.x/api/util.html#utilinspectobject-options).\n                 */\n                inspectOptions?: InspectOptions | undefined;\n                /**\n                 * Set group indentation.\n                 * @default 2\n                 */\n                groupIndentation?: number | undefined;\n            }\n            interface ConsoleConstructor {\n                prototype: Console;\n                new(stdout: NodeJS.WritableStream, stderr?: NodeJS.WritableStream, ignoreErrors?: boolean): Console;\n                new(options: ConsoleConstructorOptions): Console;\n            }\n        }\n        var console: Console;\n    }\n    export = globalThis.console;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/constants.d.ts",
      "content": "/**\n * @deprecated The `node:constants` module is deprecated. When requiring access to constants\n * relevant to specific Node.js builtin modules, developers should instead refer\n * to the `constants` property exposed by the relevant module. For instance,\n * `require('node:fs').constants` and `require('node:os').constants`.\n */\ndeclare module \"constants\" {\n    const constants:\n        & typeof import(\"node:os\").constants.dlopen\n        & typeof import(\"node:os\").constants.errno\n        & typeof import(\"node:os\").constants.priority\n        & typeof import(\"node:os\").constants.signals\n        & typeof import(\"node:fs\").constants\n        & typeof import(\"node:crypto\").constants;\n    export = constants;\n}\n\ndeclare module \"node:constants\" {\n    import constants = require(\"constants\");\n    export = constants;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/crypto.d.ts",
      "content": "/**\n * The `crypto` module provides cryptographic functionality that includes a set of\n * wrappers for OpenSSL's hash, HMAC, cipher, decipher, sign, and verify functions.\n *\n * ```js\n * const { createHmac } = await import('crypto');\n *\n * const secret = 'abcdefg';\n * const hash = createHmac('sha256', secret)\n *                .update('I love cupcakes')\n *                .digest('hex');\n * console.log(hash);\n * // Prints:\n * //   c0fa1bc00531bd78ef38c628449c5102aeabd49b5dc3a2a516ea6ea959d6658e\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/crypto.js)\n */\ndeclare module \"crypto\" {\n    import * as stream from \"node:stream\";\n    import { PeerCertificate } from \"node:tls\";\n    /**\n     * SPKAC is a Certificate Signing Request mechanism originally implemented by\n     * Netscape and was specified formally as part of [HTML5's `keygen` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen).\n     *\n     * `<keygen>` is deprecated since [HTML 5.2](https://www.w3.org/TR/html52/changes.html#features-removed) and new projects\n     * should not use this element anymore.\n     *\n     * The `crypto` module provides the `Certificate` class for working with SPKAC\n     * data. The most common usage is handling output generated by the HTML5`<keygen>` element. Node.js uses [OpenSSL's SPKAC\n     * implementation](https://www.openssl.org/docs/man1.1.0/apps/openssl-spkac.html) internally.\n     * @since v0.11.8\n     */\n    class Certificate {\n        /**\n         * ```js\n         * const { Certificate } = await import('crypto');\n         * const spkac = getSpkacSomehow();\n         * const challenge = Certificate.exportChallenge(spkac);\n         * console.log(challenge.toString('utf8'));\n         * // Prints: the challenge as a UTF8 string\n         * ```\n         * @since v9.0.0\n         * @param encoding The `encoding` of the `spkac` string.\n         * @return The challenge component of the `spkac` data structure, which includes a public key and a challenge.\n         */\n        static exportChallenge(spkac: BinaryLike): Buffer;\n        /**\n         * ```js\n         * const { Certificate } = await import('crypto');\n         * const spkac = getSpkacSomehow();\n         * const publicKey = Certificate.exportPublicKey(spkac);\n         * console.log(publicKey);\n         * // Prints: the public key as <Buffer ...>\n         * ```\n         * @since v9.0.0\n         * @param encoding The `encoding` of the `spkac` string.\n         * @return The public key component of the `spkac` data structure, which includes a public key and a challenge.\n         */\n        static exportPublicKey(spkac: BinaryLike, encoding?: string): Buffer;\n        /**\n         * ```js\n         * import { Buffer } from 'buffer';\n         * const { Certificate } = await import('crypto');\n         *\n         * const spkac = getSpkacSomehow();\n         * console.log(Certificate.verifySpkac(Buffer.from(spkac)));\n         * // Prints: true or false\n         * ```\n         * @since v9.0.0\n         * @param encoding The `encoding` of the `spkac` string.\n         * @return `true` if the given `spkac` data structure is valid, `false` otherwise.\n         */\n        static verifySpkac(spkac: NodeJS.ArrayBufferView): boolean;\n        /**\n         * @deprecated\n         * @param spkac\n         * @returns The challenge component of the `spkac` data structure,\n         * which includes a public key and a challenge.\n         */\n        exportChallenge(spkac: BinaryLike): Buffer;\n        /**\n         * @deprecated\n         * @param spkac\n         * @param encoding The encoding of the spkac string.\n         * @returns The public key component of the `spkac` data structure,\n         * which includes a public key and a challenge.\n         */\n        exportPublicKey(spkac: BinaryLike, encoding?: string): Buffer;\n        /**\n         * @deprecated\n         * @param spkac\n         * @returns `true` if the given `spkac` data structure is valid,\n         * `false` otherwise.\n         */\n        verifySpkac(spkac: NodeJS.ArrayBufferView): boolean;\n    }\n    namespace constants {\n        // https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html#crypto_crypto_constants\n        const OPENSSL_VERSION_NUMBER: number;\n        /** Applies multiple bug workarounds within OpenSSL. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html for detail. */\n        const SSL_OP_ALL: number;\n        /** Allows legacy insecure renegotiation between OpenSSL and unpatched clients or servers. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */\n        const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number;\n        /** Attempts to use the server's preferences instead of the client's when selecting a cipher. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */\n        const SSL_OP_CIPHER_SERVER_PREFERENCE: number;\n        /** Instructs OpenSSL to use Cisco's version identifier of DTLS_BAD_VER. */\n        const SSL_OP_CISCO_ANYCONNECT: number;\n        /** Instructs OpenSSL to turn on cookie exchange. */\n        const SSL_OP_COOKIE_EXCHANGE: number;\n        /** Instructs OpenSSL to add server-hello extension from an early version of the cryptopro draft. */\n        const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number;\n        /** Instructs OpenSSL to disable a SSL 3.0/TLS 1.0 vulnerability workaround added in OpenSSL 0.9.6d. */\n        const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number;\n        /** Instructs OpenSSL to always use the tmp_rsa key when performing RSA operations. */\n        const SSL_OP_EPHEMERAL_RSA: number;\n        /** Allows initial connection to servers that do not support RI. */\n        const SSL_OP_LEGACY_SERVER_CONNECT: number;\n        const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number;\n        const SSL_OP_MICROSOFT_SESS_ID_BUG: number;\n        /** Instructs OpenSSL to disable the workaround for a man-in-the-middle protocol-version vulnerability in the SSL 2.0 server implementation. */\n        const SSL_OP_MSIE_SSLV2_RSA_PADDING: number;\n        const SSL_OP_NETSCAPE_CA_DN_BUG: number;\n        const SSL_OP_NETSCAPE_CHALLENGE_BUG: number;\n        const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number;\n        const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number;\n        /** Instructs OpenSSL to disable support for SSL/TLS compression. */\n        const SSL_OP_NO_COMPRESSION: number;\n        const SSL_OP_NO_QUERY_MTU: number;\n        /** Instructs OpenSSL to always start a new session when performing renegotiation. */\n        const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number;\n        const SSL_OP_NO_SSLv2: number;\n        const SSL_OP_NO_SSLv3: number;\n        const SSL_OP_NO_TICKET: number;\n        const SSL_OP_NO_TLSv1: number;\n        const SSL_OP_NO_TLSv1_1: number;\n        const SSL_OP_NO_TLSv1_2: number;\n        const SSL_OP_PKCS1_CHECK_1: number;\n        const SSL_OP_PKCS1_CHECK_2: number;\n        /** Instructs OpenSSL to always create a new key when using temporary/ephemeral DH parameters. */\n        const SSL_OP_SINGLE_DH_USE: number;\n        /** Instructs OpenSSL to always create a new key when using temporary/ephemeral ECDH parameters. */\n        const SSL_OP_SINGLE_ECDH_USE: number;\n        const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number;\n        const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number;\n        const SSL_OP_TLS_BLOCK_PADDING_BUG: number;\n        const SSL_OP_TLS_D5_BUG: number;\n        /** Instructs OpenSSL to disable version rollback attack detection. */\n        const SSL_OP_TLS_ROLLBACK_BUG: number;\n        const ENGINE_METHOD_RSA: number;\n        const ENGINE_METHOD_DSA: number;\n        const ENGINE_METHOD_DH: number;\n        const ENGINE_METHOD_RAND: number;\n        const ENGINE_METHOD_EC: number;\n        const ENGINE_METHOD_CIPHERS: number;\n        const ENGINE_METHOD_DIGESTS: number;\n        const ENGINE_METHOD_PKEY_METHS: number;\n        const ENGINE_METHOD_PKEY_ASN1_METHS: number;\n        const ENGINE_METHOD_ALL: number;\n        const ENGINE_METHOD_NONE: number;\n        const DH_CHECK_P_NOT_SAFE_PRIME: number;\n        const DH_CHECK_P_NOT_PRIME: number;\n        const DH_UNABLE_TO_CHECK_GENERATOR: number;\n        const DH_NOT_SUITABLE_GENERATOR: number;\n        const ALPN_ENABLED: number;\n        const RSA_PKCS1_PADDING: number;\n        const RSA_SSLV23_PADDING: number;\n        const RSA_NO_PADDING: number;\n        const RSA_PKCS1_OAEP_PADDING: number;\n        const RSA_X931_PADDING: number;\n        const RSA_PKCS1_PSS_PADDING: number;\n        /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the digest size when signing or verifying. */\n        const RSA_PSS_SALTLEN_DIGEST: number;\n        /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the maximum permissible value when signing data. */\n        const RSA_PSS_SALTLEN_MAX_SIGN: number;\n        /** Causes the salt length for RSA_PKCS1_PSS_PADDING to be determined automatically when verifying a signature. */\n        const RSA_PSS_SALTLEN_AUTO: number;\n        const POINT_CONVERSION_COMPRESSED: number;\n        const POINT_CONVERSION_UNCOMPRESSED: number;\n        const POINT_CONVERSION_HYBRID: number;\n        /** Specifies the built-in default cipher list used by Node.js (colon-separated values). */\n        const defaultCoreCipherList: string;\n        /** Specifies the active default cipher list used by the current Node.js process  (colon-separated values). */\n        const defaultCipherList: string;\n    }\n    interface HashOptions extends stream.TransformOptions {\n        /**\n         * For XOF hash functions such as `shake256`, the\n         * outputLength option can be used to specify the desired output length in bytes.\n         */\n        outputLength?: number | undefined;\n    }\n    /** @deprecated since v10.0.0 */\n    const fips: boolean;\n    /**\n     * Creates and returns a `Hash` object that can be used to generate hash digests\n     * using the given `algorithm`. Optional `options` argument controls stream\n     * behavior. For XOF hash functions such as `'shake256'`, the `outputLength` option\n     * can be used to specify the desired output length in bytes.\n     *\n     * The `algorithm` is dependent on the available algorithms supported by the\n     * version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc.\n     * On recent releases of OpenSSL, `openssl list -digest-algorithms` will\n     * display the available digest algorithms.\n     *\n     * Example: generating the sha256 sum of a file\n     *\n     * ```js\n     * import {\n     *   createReadStream\n     * } from 'fs';\n     * import { argv } from 'process';\n     * const {\n     *   createHash\n     * } = await import('crypto');\n     *\n     * const filename = argv[2];\n     *\n     * const hash = createHash('sha256');\n     *\n     * const input = createReadStream(filename);\n     * input.on('readable', () => {\n     *   // Only one element is going to be produced by the\n     *   // hash stream.\n     *   const data = input.read();\n     *   if (data)\n     *     hash.update(data);\n     *   else {\n     *     console.log(`${hash.digest('hex')} ${filename}`);\n     *   }\n     * });\n     * ```\n     * @since v0.1.92\n     * @param options `stream.transform` options\n     */\n    function createHash(algorithm: string, options?: HashOptions): Hash;\n    /**\n     * Creates and returns an `Hmac` object that uses the given `algorithm` and `key`.\n     * Optional `options` argument controls stream behavior.\n     *\n     * The `algorithm` is dependent on the available algorithms supported by the\n     * version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc.\n     * On recent releases of OpenSSL, `openssl list -digest-algorithms` will\n     * display the available digest algorithms.\n     *\n     * The `key` is the HMAC key used to generate the cryptographic HMAC hash. If it is\n     * a `KeyObject`, its type must be `secret`.\n     *\n     * Example: generating the sha256 HMAC of a file\n     *\n     * ```js\n     * import {\n     *   createReadStream\n     * } from 'fs';\n     * import { argv } from 'process';\n     * const {\n     *   createHmac\n     * } = await import('crypto');\n     *\n     * const filename = argv[2];\n     *\n     * const hmac = createHmac('sha256', 'a secret');\n     *\n     * const input = createReadStream(filename);\n     * input.on('readable', () => {\n     *   // Only one element is going to be produced by the\n     *   // hash stream.\n     *   const data = input.read();\n     *   if (data)\n     *     hmac.update(data);\n     *   else {\n     *     console.log(`${hmac.digest('hex')} ${filename}`);\n     *   }\n     * });\n     * ```\n     * @since v0.1.94\n     * @param options `stream.transform` options\n     */\n    function createHmac(algorithm: string, key: BinaryLike | KeyObject, options?: stream.TransformOptions): Hmac;\n    // https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings\n    type BinaryToTextEncoding = \"base64\" | \"base64url\" | \"hex\" | \"binary\";\n    type CharacterEncoding = \"utf8\" | \"utf-8\" | \"utf16le\" | \"latin1\";\n    type LegacyCharacterEncoding = \"ascii\" | \"binary\" | \"ucs2\" | \"ucs-2\";\n    type Encoding = BinaryToTextEncoding | CharacterEncoding | LegacyCharacterEncoding;\n    type ECDHKeyFormat = \"compressed\" | \"uncompressed\" | \"hybrid\";\n    /**\n     * The `Hash` class is a utility for creating hash digests of data. It can be\n     * used in one of two ways:\n     *\n     * * As a `stream` that is both readable and writable, where data is written\n     * to produce a computed hash digest on the readable side, or\n     * * Using the `hash.update()` and `hash.digest()` methods to produce the\n     * computed hash.\n     *\n     * The {@link createHash} method is used to create `Hash` instances. `Hash`objects are not to be created directly using the `new` keyword.\n     *\n     * Example: Using `Hash` objects as streams:\n     *\n     * ```js\n     * const {\n     *   createHash\n     * } = await import('crypto');\n     *\n     * const hash = createHash('sha256');\n     *\n     * hash.on('readable', () => {\n     *   // Only one element is going to be produced by the\n     *   // hash stream.\n     *   const data = hash.read();\n     *   if (data) {\n     *     console.log(data.toString('hex'));\n     *     // Prints:\n     *     //   6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50\n     *   }\n     * });\n     *\n     * hash.write('some data to hash');\n     * hash.end();\n     * ```\n     *\n     * Example: Using `Hash` and piped streams:\n     *\n     * ```js\n     * import { createReadStream } from 'fs';\n     * import { stdout } from 'process';\n     * const { createHash } = await import('crypto');\n     *\n     * const hash = createHash('sha256');\n     *\n     * const input = createReadStream('test.js');\n     * input.pipe(hash).setEncoding('hex').pipe(stdout);\n     * ```\n     *\n     * Example: Using the `hash.update()` and `hash.digest()` methods:\n     *\n     * ```js\n     * const {\n     *   createHash\n     * } = await import('crypto');\n     *\n     * const hash = createHash('sha256');\n     *\n     * hash.update('some data to hash');\n     * console.log(hash.digest('hex'));\n     * // Prints:\n     * //   6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50\n     * ```\n     * @since v0.1.92\n     */\n    class Hash extends stream.Transform {\n        private constructor();\n        /**\n         * Creates a new `Hash` object that contains a deep copy of the internal state\n         * of the current `Hash` object.\n         *\n         * The optional `options` argument controls stream behavior. For XOF hash\n         * functions such as `'shake256'`, the `outputLength` option can be used to\n         * specify the desired output length in bytes.\n         *\n         * An error is thrown when an attempt is made to copy the `Hash` object after\n         * its `hash.digest()` method has been called.\n         *\n         * ```js\n         * // Calculate a rolling hash.\n         * const {\n         *   createHash\n         * } = await import('crypto');\n         *\n         * const hash = createHash('sha256');\n         *\n         * hash.update('one');\n         * console.log(hash.copy().digest('hex'));\n         *\n         * hash.update('two');\n         * console.log(hash.copy().digest('hex'));\n         *\n         * hash.update('three');\n         * console.log(hash.copy().digest('hex'));\n         *\n         * // Etc.\n         * ```\n         * @since v13.1.0\n         * @param options `stream.transform` options\n         */\n        copy(options?: stream.TransformOptions): Hash;\n        /**\n         * Updates the hash content with the given `data`, the encoding of which\n         * is given in `inputEncoding`.\n         * If `encoding` is not provided, and the `data` is a string, an\n         * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.\n         *\n         * This can be called many times with new data as it is streamed.\n         * @since v0.1.92\n         * @param inputEncoding The `encoding` of the `data` string.\n         */\n        update(data: BinaryLike): Hash;\n        update(data: string, inputEncoding: Encoding): Hash;\n        /**\n         * Calculates the digest of all of the data passed to be hashed (using the `hash.update()` method).\n         * If `encoding` is provided a string will be returned; otherwise\n         * a `Buffer` is returned.\n         *\n         * The `Hash` object can not be used again after `hash.digest()` method has been\n         * called. Multiple calls will cause an error to be thrown.\n         * @since v0.1.92\n         * @param encoding The `encoding` of the return value.\n         */\n        digest(): Buffer;\n        digest(encoding: BinaryToTextEncoding): string;\n    }\n    /**\n     * The `Hmac` class is a utility for creating cryptographic HMAC digests. It can\n     * be used in one of two ways:\n     *\n     * * As a `stream` that is both readable and writable, where data is written\n     * to produce a computed HMAC digest on the readable side, or\n     * * Using the `hmac.update()` and `hmac.digest()` methods to produce the\n     * computed HMAC digest.\n     *\n     * The {@link createHmac} method is used to create `Hmac` instances. `Hmac`objects are not to be created directly using the `new` keyword.\n     *\n     * Example: Using `Hmac` objects as streams:\n     *\n     * ```js\n     * const {\n     *   createHmac\n     * } = await import('crypto');\n     *\n     * const hmac = createHmac('sha256', 'a secret');\n     *\n     * hmac.on('readable', () => {\n     *   // Only one element is going to be produced by the\n     *   // hash stream.\n     *   const data = hmac.read();\n     *   if (data) {\n     *     console.log(data.toString('hex'));\n     *     // Prints:\n     *     //   7fd04df92f636fd450bc841c9418e5825c17f33ad9c87c518115a45971f7f77e\n     *   }\n     * });\n     *\n     * hmac.write('some data to hash');\n     * hmac.end();\n     * ```\n     *\n     * Example: Using `Hmac` and piped streams:\n     *\n     * ```js\n     * import { createReadStream } from 'fs';\n     * import { stdout } from 'process';\n     * const {\n     *   createHmac\n     * } = await import('crypto');\n     *\n     * const hmac = createHmac('sha256', 'a secret');\n     *\n     * const input = createReadStream('test.js');\n     * input.pipe(hmac).pipe(stdout);\n     * ```\n     *\n     * Example: Using the `hmac.update()` and `hmac.digest()` methods:\n     *\n     * ```js\n     * const {\n     *   createHmac\n     * } = await import('crypto');\n     *\n     * const hmac = createHmac('sha256', 'a secret');\n     *\n     * hmac.update('some data to hash');\n     * console.log(hmac.digest('hex'));\n     * // Prints:\n     * //   7fd04df92f636fd450bc841c9418e5825c17f33ad9c87c518115a45971f7f77e\n     * ```\n     * @since v0.1.94\n     */\n    class Hmac extends stream.Transform {\n        private constructor();\n        /**\n         * Updates the `Hmac` content with the given `data`, the encoding of which\n         * is given in `inputEncoding`.\n         * If `encoding` is not provided, and the `data` is a string, an\n         * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.\n         *\n         * This can be called many times with new data as it is streamed.\n         * @since v0.1.94\n         * @param inputEncoding The `encoding` of the `data` string.\n         */\n        update(data: BinaryLike): Hmac;\n        update(data: string, inputEncoding: Encoding): Hmac;\n        /**\n         * Calculates the HMAC digest of all of the data passed using `hmac.update()`.\n         * If `encoding` is\n         * provided a string is returned; otherwise a `Buffer` is returned;\n         *\n         * The `Hmac` object can not be used again after `hmac.digest()` has been\n         * called. Multiple calls to `hmac.digest()` will result in an error being thrown.\n         * @since v0.1.94\n         * @param encoding The `encoding` of the return value.\n         */\n        digest(): Buffer;\n        digest(encoding: BinaryToTextEncoding): string;\n    }\n    type KeyObjectType = \"secret\" | \"public\" | \"private\";\n    interface KeyExportOptions<T extends KeyFormat> {\n        type: \"pkcs1\" | \"spki\" | \"pkcs8\" | \"sec1\";\n        format: T;\n        cipher?: string | undefined;\n        passphrase?: string | Buffer | undefined;\n    }\n    interface JwkKeyExportOptions {\n        format: \"jwk\";\n    }\n    interface JsonWebKey {\n        crv?: string | undefined;\n        d?: string | undefined;\n        dp?: string | undefined;\n        dq?: string | undefined;\n        e?: string | undefined;\n        k?: string | undefined;\n        kty?: string | undefined;\n        n?: string | undefined;\n        p?: string | undefined;\n        q?: string | undefined;\n        qi?: string | undefined;\n        x?: string | undefined;\n        y?: string | undefined;\n        [key: string]: unknown;\n    }\n    interface AsymmetricKeyDetails {\n        /**\n         * Key size in bits (RSA, DSA).\n         */\n        modulusLength?: number | undefined;\n        /**\n         * Public exponent (RSA).\n         */\n        publicExponent?: bigint | undefined;\n        /**\n         * Name of the message digest (RSA-PSS).\n         */\n        hashAlgorithm?: string | undefined;\n        /**\n         * Name of the message digest used by MGF1 (RSA-PSS).\n         */\n        mgf1HashAlgorithm?: string | undefined;\n        /**\n         * Minimal salt length in bytes (RSA-PSS).\n         */\n        saltLength?: number | undefined;\n        /**\n         * Size of q in bits (DSA).\n         */\n        divisorLength?: number | undefined;\n        /**\n         * Name of the curve (EC).\n         */\n        namedCurve?: string | undefined;\n    }\n    /**\n     * Node.js uses a `KeyObject` class to represent a symmetric or asymmetric key,\n     * and each kind of key exposes different functions. The {@link createSecretKey}, {@link createPublicKey} and {@link createPrivateKey} methods are used to create `KeyObject`instances. `KeyObject`\n     * objects are not to be created directly using the `new`keyword.\n     *\n     * Most applications should consider using the new `KeyObject` API instead of\n     * passing keys as strings or `Buffer`s due to improved security features.\n     *\n     * `KeyObject` instances can be passed to other threads via `postMessage()`.\n     * The receiver obtains a cloned `KeyObject`, and the `KeyObject` does not need to\n     * be listed in the `transferList` argument.\n     * @since v11.6.0\n     */\n    class KeyObject {\n        private constructor();\n        /**\n         * Example: Converting a `CryptoKey` instance to a `KeyObject`:\n         *\n         * ```js\n         * const { webcrypto, KeyObject } = await import('crypto');\n         * const { subtle } = webcrypto;\n         *\n         * const key = await subtle.generateKey({\n         *   name: 'HMAC',\n         *   hash: 'SHA-256',\n         *   length: 256\n         * }, true, ['sign', 'verify']);\n         *\n         * const keyObject = KeyObject.from(key);\n         * console.log(keyObject.symmetricKeySize);\n         * // Prints: 32 (symmetric key size in bytes)\n         * ```\n         * @since v15.0.0\n         */\n        static from(key: webcrypto.CryptoKey): KeyObject;\n        /**\n         * For asymmetric keys, this property represents the type of the key. Supported key\n         * types are:\n         *\n         * * `'rsa'` (OID 1.2.840.113549.1.1.1)\n         * * `'rsa-pss'` (OID 1.2.840.113549.1.1.10)\n         * * `'dsa'` (OID 1.2.840.10040.4.1)\n         * * `'ec'` (OID 1.2.840.10045.2.1)\n         * * `'x25519'` (OID 1.3.101.110)\n         * * `'x448'` (OID 1.3.101.111)\n         * * `'ed25519'` (OID 1.3.101.112)\n         * * `'ed448'` (OID 1.3.101.113)\n         * * `'dh'` (OID 1.2.840.113549.1.3.1)\n         *\n         * This property is `undefined` for unrecognized `KeyObject` types and symmetric\n         * keys.\n         * @since v11.6.0\n         */\n        asymmetricKeyType?: KeyType | undefined;\n        /**\n         * This property exists only on asymmetric keys. Depending on the type of the key,\n         * this object contains information about the key. None of the information obtained\n         * through this property can be used to uniquely identify a key or to compromise\n         * the security of the key.\n         *\n         * For RSA-PSS keys, if the key material contains a `RSASSA-PSS-params` sequence,\n         * the `hashAlgorithm`, `mgf1HashAlgorithm`, and `saltLength` properties will be\n         * set.\n         *\n         * Other key details might be exposed via this API using additional attributes.\n         * @since v15.7.0\n         */\n        asymmetricKeyDetails?: AsymmetricKeyDetails | undefined;\n        /**\n         * For symmetric keys, the following encoding options can be used:\n         *\n         * For public keys, the following encoding options can be used:\n         *\n         * For private keys, the following encoding options can be used:\n         *\n         * The result type depends on the selected encoding format, when PEM the\n         * result is a string, when DER it will be a buffer containing the data\n         * encoded as DER, when [JWK](https://tools.ietf.org/html/rfc7517) it will be an object.\n         *\n         * When [JWK](https://tools.ietf.org/html/rfc7517) encoding format was selected, all other encoding options are\n         * ignored.\n         *\n         * PKCS#1, SEC1, and PKCS#8 type keys can be encrypted by using a combination of\n         * the `cipher` and `format` options. The PKCS#8 `type` can be used with any`format` to encrypt any key algorithm (RSA, EC, or DH) by specifying a`cipher`. PKCS#1 and SEC1 can only be\n         * encrypted by specifying a `cipher`when the PEM `format` is used. For maximum compatibility, use PKCS#8 for\n         * encrypted private keys. Since PKCS#8 defines its own\n         * encryption mechanism, PEM-level encryption is not supported when encrypting\n         * a PKCS#8 key. See [RFC 5208](https://www.rfc-editor.org/rfc/rfc5208.txt) for PKCS#8 encryption and [RFC 1421](https://www.rfc-editor.org/rfc/rfc1421.txt) for\n         * PKCS#1 and SEC1 encryption.\n         * @since v11.6.0\n         */\n        export(options: KeyExportOptions<\"pem\">): string | Buffer;\n        export(options?: KeyExportOptions<\"der\">): Buffer;\n        export(options?: JwkKeyExportOptions): JsonWebKey;\n        /**\n         * Returns `true` or `false` depending on whether the keys have exactly the same type, value, and parameters.\n         * This method is not [constant time](https://en.wikipedia.org/wiki/Timing_attack).\n         * @since v16.15.0\n         */\n        equals(otherKeyObject: KeyObject): boolean;\n        /**\n         * For secret keys, this property represents the size of the key in bytes. This\n         * property is `undefined` for asymmetric keys.\n         * @since v11.6.0\n         */\n        symmetricKeySize?: number | undefined;\n        /**\n         * Depending on the type of this `KeyObject`, this property is either`'secret'` for secret (symmetric) keys, `'public'` for public (asymmetric) keys\n         * or `'private'` for private (asymmetric) keys.\n         * @since v11.6.0\n         */\n        type: KeyObjectType;\n    }\n    type CipherCCMTypes = \"aes-128-ccm\" | \"aes-192-ccm\" | \"aes-256-ccm\";\n    type CipherGCMTypes = \"aes-128-gcm\" | \"aes-192-gcm\" | \"aes-256-gcm\";\n    type CipherOCBTypes = \"aes-128-ocb\" | \"aes-192-ocb\" | \"aes-256-ocb\";\n    type CipherChaCha20Poly1305Types = \"chacha20-poly1305\";\n    type BinaryLike = string | NodeJS.ArrayBufferView;\n    type CipherKey = BinaryLike | KeyObject;\n    interface CipherCCMOptions extends stream.TransformOptions {\n        authTagLength: number;\n    }\n    interface CipherGCMOptions extends stream.TransformOptions {\n        authTagLength?: number | undefined;\n    }\n    interface CipherOCBOptions extends stream.TransformOptions {\n        authTagLength: number;\n    }\n    interface CipherChaCha20Poly1305Options extends stream.TransformOptions {\n        /** @default 16 */\n        authTagLength?: number | undefined;\n    }\n    /**\n     * Creates and returns a `Cipher` object that uses the given `algorithm` and `password`.\n     *\n     * The `options` argument controls stream behavior and is optional except when a\n     * cipher in CCM or OCB mode (e.g. `'aes-128-ccm'`) is used. In that case, the`authTagLength` option is required and specifies the length of the\n     * authentication tag in bytes, see `CCM mode`. In GCM mode, the `authTagLength`option is not required but can be used to set the length of the authentication\n     * tag that will be returned by `getAuthTag()` and defaults to 16 bytes.\n     * For `chacha20-poly1305`, the `authTagLength` option defaults to 16 bytes.\n     *\n     * The `algorithm` is dependent on OpenSSL, examples are `'aes192'`, etc. On\n     * recent OpenSSL releases, `openssl list -cipher-algorithms` will\n     * display the available cipher algorithms.\n     *\n     * The `password` is used to derive the cipher key and initialization vector (IV).\n     * The value must be either a `'latin1'` encoded string, a `Buffer`, a`TypedArray`, or a `DataView`.\n     *\n     * The implementation of `crypto.createCipher()` derives keys using the OpenSSL\n     * function [`EVP_BytesToKey`](https://www.openssl.org/docs/man1.1.0/crypto/EVP_BytesToKey.html) with the digest algorithm set to MD5, one\n     * iteration, and no salt. The lack of salt allows dictionary attacks as the same\n     * password always creates the same key. The low iteration count and\n     * non-cryptographically secure hash algorithm allow passwords to be tested very\n     * rapidly.\n     *\n     * In line with OpenSSL's recommendation to use a more modern algorithm instead of [`EVP_BytesToKey`](https://www.openssl.org/docs/man1.1.0/crypto/EVP_BytesToKey.html) it is recommended that\n     * developers derive a key and IV on\n     * their own using {@link scrypt} and to use {@link createCipheriv} to create the `Cipher` object. Users should not use ciphers with counter mode\n     * (e.g. CTR, GCM, or CCM) in `crypto.createCipher()`. A warning is emitted when\n     * they are used in order to avoid the risk of IV reuse that causes\n     * vulnerabilities. For the case when IV is reused in GCM, see [Nonce-Disrespecting Adversaries](https://github.com/nonce-disrespect/nonce-disrespect) for details.\n     * @since v0.1.94\n     * @deprecated Since v10.0.0 - Use {@link createCipheriv} instead.\n     * @param options `stream.transform` options\n     */\n    function createCipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): CipherCCM;\n    /** @deprecated since v10.0.0 use `createCipheriv()` */\n    function createCipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): CipherGCM;\n    /** @deprecated since v10.0.0 use `createCipheriv()` */\n    function createCipher(algorithm: CipherOCBTypes, password: BinaryLike, options: CipherOCBOptions): CipherOCB;\n    /** @deprecated since v10.0.0 use `createCipheriv()` */\n    function createCipher(\n        algorithm: CipherChaCha20Poly1305Types,\n        password: BinaryLike,\n        options?: CipherChaCha20Poly1305Options,\n    ): CipherChaCha20Poly1305;\n    /** @deprecated since v10.0.0 use `createCipheriv()` */\n    function createCipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Cipher;\n    /**\n     * Creates and returns a `Cipher` object, with the given `algorithm`, `key` and\n     * initialization vector (`iv`).\n     *\n     * The `options` argument controls stream behavior and is optional except when a\n     * cipher in CCM or OCB mode (e.g. `'aes-128-ccm'`) is used. In that case, the`authTagLength` option is required and specifies the length of the\n     * authentication tag in bytes, see `CCM mode`. In GCM mode, the `authTagLength`option is not required but can be used to set the length of the authentication\n     * tag that will be returned by `getAuthTag()` and defaults to 16 bytes.\n     * For `chacha20-poly1305`, the `authTagLength` option defaults to 16 bytes.\n     *\n     * The `algorithm` is dependent on OpenSSL, examples are `'aes192'`, etc. On\n     * recent OpenSSL releases, `openssl list -cipher-algorithms` will\n     * display the available cipher algorithms.\n     *\n     * The `key` is the raw key used by the `algorithm` and `iv` is an [initialization vector](https://en.wikipedia.org/wiki/Initialization_vector). Both arguments must be `'utf8'` encoded\n     * strings,`Buffers`, `TypedArray`, or `DataView`s. The `key` may optionally be\n     * a `KeyObject` of type `secret`. If the cipher does not need\n     * an initialization vector, `iv` may be `null`.\n     *\n     * When passing strings for `key` or `iv`, please consider `caveats when using strings as inputs to cryptographic APIs`.\n     *\n     * Initialization vectors should be unpredictable and unique; ideally, they will be\n     * cryptographically random. They do not have to be secret: IVs are typically just\n     * added to ciphertext messages unencrypted. It may sound contradictory that\n     * something has to be unpredictable and unique, but does not have to be secret;\n     * remember that an attacker must not be able to predict ahead of time what a\n     * given IV will be.\n     * @since v0.1.94\n     * @param options `stream.transform` options\n     */\n    function createCipheriv(\n        algorithm: CipherCCMTypes,\n        key: CipherKey,\n        iv: BinaryLike,\n        options: CipherCCMOptions,\n    ): CipherCCM;\n    function createCipheriv(\n        algorithm: CipherOCBTypes,\n        key: CipherKey,\n        iv: BinaryLike,\n        options: CipherOCBOptions,\n    ): CipherOCB;\n    function createCipheriv(\n        algorithm: CipherGCMTypes,\n        key: CipherKey,\n        iv: BinaryLike,\n        options?: CipherGCMOptions,\n    ): CipherGCM;\n    function createCipheriv(\n        algorithm: CipherChaCha20Poly1305Types,\n        key: CipherKey,\n        iv: BinaryLike,\n        options?: CipherChaCha20Poly1305Options,\n    ): CipherChaCha20Poly1305;\n    function createCipheriv(\n        algorithm: string,\n        key: CipherKey,\n        iv: BinaryLike | null,\n        options?: stream.TransformOptions,\n    ): Cipher;\n    /**\n     * Instances of the `Cipher` class are used to encrypt data. The class can be\n     * used in one of two ways:\n     *\n     * * As a `stream` that is both readable and writable, where plain unencrypted\n     * data is written to produce encrypted data on the readable side, or\n     * * Using the `cipher.update()` and `cipher.final()` methods to produce\n     * the encrypted data.\n     *\n     * The {@link createCipher} or {@link createCipheriv} methods are\n     * used to create `Cipher` instances. `Cipher` objects are not to be created\n     * directly using the `new` keyword.\n     *\n     * Example: Using `Cipher` objects as streams:\n     *\n     * ```js\n     * const {\n     *   scrypt,\n     *   randomFill,\n     *   createCipheriv\n     * } = await import('crypto');\n     *\n     * const algorithm = 'aes-192-cbc';\n     * const password = 'Password used to generate key';\n     *\n     * // First, we'll generate the key. The key length is dependent on the algorithm.\n     * // In this case for aes192, it is 24 bytes (192 bits).\n     * scrypt(password, 'salt', 24, (err, key) => {\n     *   if (err) throw err;\n     *   // Then, we'll generate a random initialization vector\n     *   randomFill(new Uint8Array(16), (err, iv) => {\n     *     if (err) throw err;\n     *\n     *     // Once we have the key and iv, we can create and use the cipher...\n     *     const cipher = createCipheriv(algorithm, key, iv);\n     *\n     *     let encrypted = '';\n     *     cipher.setEncoding('hex');\n     *\n     *     cipher.on('data', (chunk) => encrypted += chunk);\n     *     cipher.on('end', () => console.log(encrypted));\n     *\n     *     cipher.write('some clear text data');\n     *     cipher.end();\n     *   });\n     * });\n     * ```\n     *\n     * Example: Using `Cipher` and piped streams:\n     *\n     * ```js\n     * import {\n     *   createReadStream,\n     *   createWriteStream,\n     * } from 'fs';\n     *\n     * import {\n     *   pipeline\n     * } from 'stream';\n     *\n     * const {\n     *   scrypt,\n     *   randomFill,\n     *   createCipheriv\n     * } = await import('crypto');\n     *\n     * const algorithm = 'aes-192-cbc';\n     * const password = 'Password used to generate key';\n     *\n     * // First, we'll generate the key. The key length is dependent on the algorithm.\n     * // In this case for aes192, it is 24 bytes (192 bits).\n     * scrypt(password, 'salt', 24, (err, key) => {\n     *   if (err) throw err;\n     *   // Then, we'll generate a random initialization vector\n     *   randomFill(new Uint8Array(16), (err, iv) => {\n     *     if (err) throw err;\n     *\n     *     const cipher = createCipheriv(algorithm, key, iv);\n     *\n     *     const input = createReadStream('test.js');\n     *     const output = createWriteStream('test.enc');\n     *\n     *     pipeline(input, cipher, output, (err) => {\n     *       if (err) throw err;\n     *     });\n     *   });\n     * });\n     * ```\n     *\n     * Example: Using the `cipher.update()` and `cipher.final()` methods:\n     *\n     * ```js\n     * const {\n     *   scrypt,\n     *   randomFill,\n     *   createCipheriv\n     * } = await import('crypto');\n     *\n     * const algorithm = 'aes-192-cbc';\n     * const password = 'Password used to generate key';\n     *\n     * // First, we'll generate the key. The key length is dependent on the algorithm.\n     * // In this case for aes192, it is 24 bytes (192 bits).\n     * scrypt(password, 'salt', 24, (err, key) => {\n     *   if (err) throw err;\n     *   // Then, we'll generate a random initialization vector\n     *   randomFill(new Uint8Array(16), (err, iv) => {\n     *     if (err) throw err;\n     *\n     *     const cipher = createCipheriv(algorithm, key, iv);\n     *\n     *     let encrypted = cipher.update('some clear text data', 'utf8', 'hex');\n     *     encrypted += cipher.final('hex');\n     *     console.log(encrypted);\n     *   });\n     * });\n     * ```\n     * @since v0.1.94\n     */\n    class Cipher extends stream.Transform {\n        private constructor();\n        /**\n         * Updates the cipher with `data`. If the `inputEncoding` argument is given,\n         * the `data`argument is a string using the specified encoding. If the `inputEncoding`argument is not given, `data` must be a `Buffer`, `TypedArray`, or`DataView`. If `data` is a `Buffer`,\n         * `TypedArray`, or `DataView`, then`inputEncoding` is ignored.\n         *\n         * The `outputEncoding` specifies the output format of the enciphered\n         * data. If the `outputEncoding`is specified, a string using the specified encoding is returned. If no`outputEncoding` is provided, a `Buffer` is returned.\n         *\n         * The `cipher.update()` method can be called multiple times with new data until `cipher.final()` is called. Calling `cipher.update()` after `cipher.final()` will result in an error being\n         * thrown.\n         * @since v0.1.94\n         * @param inputEncoding The `encoding` of the data.\n         * @param outputEncoding The `encoding` of the return value.\n         */\n        update(data: BinaryLike): Buffer;\n        update(data: string, inputEncoding: Encoding): Buffer;\n        update(data: NodeJS.ArrayBufferView, inputEncoding: undefined, outputEncoding: Encoding): string;\n        update(data: string, inputEncoding: Encoding | undefined, outputEncoding: Encoding): string;\n        /**\n         * Once the `cipher.final()` method has been called, the `Cipher` object can no\n         * longer be used to encrypt data. Attempts to call `cipher.final()` more than\n         * once will result in an error being thrown.\n         * @since v0.1.94\n         * @param outputEncoding The `encoding` of the return value.\n         * @return Any remaining enciphered contents. If `outputEncoding` is specified, a string is returned. If an `outputEncoding` is not provided, a {@link Buffer} is returned.\n         */\n        final(): Buffer;\n        final(outputEncoding: BufferEncoding): string;\n        /**\n         * When using block encryption algorithms, the `Cipher` class will automatically\n         * add padding to the input data to the appropriate block size. To disable the\n         * default padding call `cipher.setAutoPadding(false)`.\n         *\n         * When `autoPadding` is `false`, the length of the entire input data must be a\n         * multiple of the cipher's block size or `cipher.final()` will throw an error.\n         * Disabling automatic padding is useful for non-standard padding, for instance\n         * using `0x0` instead of PKCS padding.\n         *\n         * The `cipher.setAutoPadding()` method must be called before `cipher.final()`.\n         * @since v0.7.1\n         * @param [autoPadding=true]\n         * @return for method chaining.\n         */\n        setAutoPadding(autoPadding?: boolean): this;\n    }\n    interface CipherCCM extends Cipher {\n        setAAD(\n            buffer: NodeJS.ArrayBufferView,\n            options: {\n                plaintextLength: number;\n            },\n        ): this;\n        getAuthTag(): Buffer;\n    }\n    interface CipherGCM extends Cipher {\n        setAAD(\n            buffer: NodeJS.ArrayBufferView,\n            options?: {\n                plaintextLength: number;\n            },\n        ): this;\n        getAuthTag(): Buffer;\n    }\n    interface CipherOCB extends Cipher {\n        setAAD(\n            buffer: NodeJS.ArrayBufferView,\n            options?: {\n                plaintextLength: number;\n            },\n        ): this;\n        getAuthTag(): Buffer;\n    }\n    interface CipherChaCha20Poly1305 extends Cipher {\n        setAAD(\n            buffer: NodeJS.ArrayBufferView,\n            options: {\n                plaintextLength: number;\n            },\n        ): this;\n        getAuthTag(): Buffer;\n    }\n    /**\n     * Creates and returns a `Decipher` object that uses the given `algorithm` and `password` (key).\n     *\n     * The `options` argument controls stream behavior and is optional except when a\n     * cipher in CCM or OCB mode (e.g. `'aes-128-ccm'`) is used. In that case, the`authTagLength` option is required and specifies the length of the\n     * authentication tag in bytes, see `CCM mode`.\n     * For `chacha20-poly1305`, the `authTagLength` option defaults to 16 bytes.\n     *\n     * The implementation of `crypto.createDecipher()` derives keys using the OpenSSL\n     * function [`EVP_BytesToKey`](https://www.openssl.org/docs/man1.1.0/crypto/EVP_BytesToKey.html) with the digest algorithm set to MD5, one\n     * iteration, and no salt. The lack of salt allows dictionary attacks as the same\n     * password always creates the same key. The low iteration count and\n     * non-cryptographically secure hash algorithm allow passwords to be tested very\n     * rapidly.\n     *\n     * In line with OpenSSL's recommendation to use a more modern algorithm instead of [`EVP_BytesToKey`](https://www.openssl.org/docs/man1.1.0/crypto/EVP_BytesToKey.html) it is recommended that\n     * developers derive a key and IV on\n     * their own using {@link scrypt} and to use {@link createDecipheriv} to create the `Decipher` object.\n     * @since v0.1.94\n     * @deprecated Since v10.0.0 - Use {@link createDecipheriv} instead.\n     * @param options `stream.transform` options\n     */\n    function createDecipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): DecipherCCM;\n    /** @deprecated since v10.0.0 use `createDecipheriv()` */\n    function createDecipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): DecipherGCM;\n    /** @deprecated since v10.0.0 use `createDecipheriv()` */\n    function createDecipher(algorithm: CipherOCBTypes, password: BinaryLike, options: CipherOCBOptions): DecipherOCB;\n    /** @deprecated since v10.0.0 use `createDecipheriv()` */\n    function createDecipher(\n        algorithm: CipherChaCha20Poly1305Types,\n        password: BinaryLike,\n        options?: CipherChaCha20Poly1305Options,\n    ): DecipherChaCha20Poly1305;\n    /** @deprecated since v10.0.0 use `createDecipheriv()` */\n    function createDecipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Decipher;\n    /**\n     * Creates and returns a `Decipher` object that uses the given `algorithm`, `key` and initialization vector (`iv`).\n     *\n     * The `options` argument controls stream behavior and is optional except when a\n     * cipher in CCM or OCB mode (e.g. `'aes-128-ccm'`) is used. In that case, the`authTagLength` option is required and specifies the length of the\n     * authentication tag in bytes, see `CCM mode`. In GCM mode, the `authTagLength`option is not required but can be used to restrict accepted authentication tags\n     * to those with the specified length.\n     * For `chacha20-poly1305`, the `authTagLength` option defaults to 16 bytes.\n     *\n     * The `algorithm` is dependent on OpenSSL, examples are `'aes192'`, etc. On\n     * recent OpenSSL releases, `openssl list -cipher-algorithms` will\n     * display the available cipher algorithms.\n     *\n     * The `key` is the raw key used by the `algorithm` and `iv` is an [initialization vector](https://en.wikipedia.org/wiki/Initialization_vector). Both arguments must be `'utf8'` encoded\n     * strings,`Buffers`, `TypedArray`, or `DataView`s. The `key` may optionally be\n     * a `KeyObject` of type `secret`. If the cipher does not need\n     * an initialization vector, `iv` may be `null`.\n     *\n     * When passing strings for `key` or `iv`, please consider `caveats when using strings as inputs to cryptographic APIs`.\n     *\n     * Initialization vectors should be unpredictable and unique; ideally, they will be\n     * cryptographically random. They do not have to be secret: IVs are typically just\n     * added to ciphertext messages unencrypted. It may sound contradictory that\n     * something has to be unpredictable and unique, but does not have to be secret;\n     * remember that an attacker must not be able to predict ahead of time what a given\n     * IV will be.\n     * @since v0.1.94\n     * @param options `stream.transform` options\n     */\n    function createDecipheriv(\n        algorithm: CipherCCMTypes,\n        key: CipherKey,\n        iv: BinaryLike,\n        options: CipherCCMOptions,\n    ): DecipherCCM;\n    function createDecipheriv(\n        algorithm: CipherOCBTypes,\n        key: CipherKey,\n        iv: BinaryLike,\n        options: CipherOCBOptions,\n    ): DecipherOCB;\n    function createDecipheriv(\n        algorithm: CipherGCMTypes,\n        key: CipherKey,\n        iv: BinaryLike,\n        options?: CipherGCMOptions,\n    ): DecipherGCM;\n    function createDecipheriv(\n        algorithm: CipherChaCha20Poly1305Types,\n        key: CipherKey,\n        iv: BinaryLike,\n        options?: CipherChaCha20Poly1305Options,\n    ): DecipherChaCha20Poly1305;\n    function createDecipheriv(\n        algorithm: string,\n        key: CipherKey,\n        iv: BinaryLike | null,\n        options?: stream.TransformOptions,\n    ): Decipher;\n    /**\n     * Instances of the `Decipher` class are used to decrypt data. The class can be\n     * used in one of two ways:\n     *\n     * * As a `stream` that is both readable and writable, where plain encrypted\n     * data is written to produce unencrypted data on the readable side, or\n     * * Using the `decipher.update()` and `decipher.final()` methods to\n     * produce the unencrypted data.\n     *\n     * The {@link createDecipher} or {@link createDecipheriv} methods are\n     * used to create `Decipher` instances. `Decipher` objects are not to be created\n     * directly using the `new` keyword.\n     *\n     * Example: Using `Decipher` objects as streams:\n     *\n     * ```js\n     * import { Buffer } from 'buffer';\n     * const {\n     *   scryptSync,\n     *   createDecipheriv\n     * } = await import('crypto');\n     *\n     * const algorithm = 'aes-192-cbc';\n     * const password = 'Password used to generate key';\n     * // Key length is dependent on the algorithm. In this case for aes192, it is\n     * // 24 bytes (192 bits).\n     * // Use the async `crypto.scrypt()` instead.\n     * const key = scryptSync(password, 'salt', 24);\n     * // The IV is usually passed along with the ciphertext.\n     * const iv = Buffer.alloc(16, 0); // Initialization vector.\n     *\n     * const decipher = createDecipheriv(algorithm, key, iv);\n     *\n     * let decrypted = '';\n     * decipher.on('readable', () => {\n     *   while (null !== (chunk = decipher.read())) {\n     *     decrypted += chunk.toString('utf8');\n     *   }\n     * });\n     * decipher.on('end', () => {\n     *   console.log(decrypted);\n     *   // Prints: some clear text data\n     * });\n     *\n     * // Encrypted with same algorithm, key and iv.\n     * const encrypted =\n     *   'e5f79c5915c02171eec6b212d5520d44480993d7d622a7c4c2da32f6efda0ffa';\n     * decipher.write(encrypted, 'hex');\n     * decipher.end();\n     * ```\n     *\n     * Example: Using `Decipher` and piped streams:\n     *\n     * ```js\n     * import {\n     *   createReadStream,\n     *   createWriteStream,\n     * } from 'fs';\n     * import { Buffer } from 'buffer';\n     * const {\n     *   scryptSync,\n     *   createDecipheriv\n     * } = await import('crypto');\n     *\n     * const algorithm = 'aes-192-cbc';\n     * const password = 'Password used to generate key';\n     * // Use the async `crypto.scrypt()` instead.\n     * const key = scryptSync(password, 'salt', 24);\n     * // The IV is usually passed along with the ciphertext.\n     * const iv = Buffer.alloc(16, 0); // Initialization vector.\n     *\n     * const decipher = createDecipheriv(algorithm, key, iv);\n     *\n     * const input = createReadStream('test.enc');\n     * const output = createWriteStream('test.js');\n     *\n     * input.pipe(decipher).pipe(output);\n     * ```\n     *\n     * Example: Using the `decipher.update()` and `decipher.final()` methods:\n     *\n     * ```js\n     * import { Buffer } from 'buffer';\n     * const {\n     *   scryptSync,\n     *   createDecipheriv\n     * } = await import('crypto');\n     *\n     * const algorithm = 'aes-192-cbc';\n     * const password = 'Password used to generate key';\n     * // Use the async `crypto.scrypt()` instead.\n     * const key = scryptSync(password, 'salt', 24);\n     * // The IV is usually passed along with the ciphertext.\n     * const iv = Buffer.alloc(16, 0); // Initialization vector.\n     *\n     * const decipher = createDecipheriv(algorithm, key, iv);\n     *\n     * // Encrypted using same algorithm, key and iv.\n     * const encrypted =\n     *   'e5f79c5915c02171eec6b212d5520d44480993d7d622a7c4c2da32f6efda0ffa';\n     * let decrypted = decipher.update(encrypted, 'hex', 'utf8');\n     * decrypted += decipher.final('utf8');\n     * console.log(decrypted);\n     * // Prints: some clear text data\n     * ```\n     * @since v0.1.94\n     */\n    class Decipher extends stream.Transform {\n        private constructor();\n        /**\n         * Updates the decipher with `data`. If the `inputEncoding` argument is given,\n         * the `data`argument is a string using the specified encoding. If the `inputEncoding`argument is not given, `data` must be a `Buffer`. If `data` is a `Buffer` then `inputEncoding` is\n         * ignored.\n         *\n         * The `outputEncoding` specifies the output format of the enciphered\n         * data. If the `outputEncoding`is specified, a string using the specified encoding is returned. If no`outputEncoding` is provided, a `Buffer` is returned.\n         *\n         * The `decipher.update()` method can be called multiple times with new data until `decipher.final()` is called. Calling `decipher.update()` after `decipher.final()` will result in an error\n         * being thrown.\n         * @since v0.1.94\n         * @param inputEncoding The `encoding` of the `data` string.\n         * @param outputEncoding The `encoding` of the return value.\n         */\n        update(data: NodeJS.ArrayBufferView): Buffer;\n        update(data: string, inputEncoding: Encoding): Buffer;\n        update(data: NodeJS.ArrayBufferView, inputEncoding: undefined, outputEncoding: Encoding): string;\n        update(data: string, inputEncoding: Encoding | undefined, outputEncoding: Encoding): string;\n        /**\n         * Once the `decipher.final()` method has been called, the `Decipher` object can\n         * no longer be used to decrypt data. Attempts to call `decipher.final()` more\n         * than once will result in an error being thrown.\n         * @since v0.1.94\n         * @param outputEncoding The `encoding` of the return value.\n         * @return Any remaining deciphered contents. If `outputEncoding` is specified, a string is returned. If an `outputEncoding` is not provided, a {@link Buffer} is returned.\n         */\n        final(): Buffer;\n        final(outputEncoding: BufferEncoding): string;\n        /**\n         * When data has been encrypted without standard block padding, calling`decipher.setAutoPadding(false)` will disable automatic padding to prevent `decipher.final()` from checking for and\n         * removing padding.\n         *\n         * Turning auto padding off will only work if the input data's length is a\n         * multiple of the ciphers block size.\n         *\n         * The `decipher.setAutoPadding()` method must be called before `decipher.final()`.\n         * @since v0.7.1\n         * @param [autoPadding=true]\n         * @return for method chaining.\n         */\n        setAutoPadding(auto_padding?: boolean): this;\n    }\n    interface DecipherCCM extends Decipher {\n        setAuthTag(buffer: NodeJS.ArrayBufferView): this;\n        setAAD(\n            buffer: NodeJS.ArrayBufferView,\n            options: {\n                plaintextLength: number;\n            },\n        ): this;\n    }\n    interface DecipherGCM extends Decipher {\n        setAuthTag(buffer: NodeJS.ArrayBufferView): this;\n        setAAD(\n            buffer: NodeJS.ArrayBufferView,\n            options?: {\n                plaintextLength: number;\n            },\n        ): this;\n    }\n    interface DecipherOCB extends Decipher {\n        setAuthTag(buffer: NodeJS.ArrayBufferView): this;\n        setAAD(\n            buffer: NodeJS.ArrayBufferView,\n            options?: {\n                plaintextLength: number;\n            },\n        ): this;\n    }\n    interface DecipherChaCha20Poly1305 extends Decipher {\n        setAuthTag(buffer: NodeJS.ArrayBufferView): this;\n        setAAD(\n            buffer: NodeJS.ArrayBufferView,\n            options: {\n                plaintextLength: number;\n            },\n        ): this;\n    }\n    interface PrivateKeyInput {\n        key: string | Buffer;\n        format?: KeyFormat | undefined;\n        type?: \"pkcs1\" | \"pkcs8\" | \"sec1\" | undefined;\n        passphrase?: string | Buffer | undefined;\n        encoding?: string | undefined;\n    }\n    interface PublicKeyInput {\n        key: string | Buffer;\n        format?: KeyFormat | undefined;\n        type?: \"pkcs1\" | \"spki\" | undefined;\n        encoding?: string | undefined;\n    }\n    /**\n     * Asynchronously generates a new random secret key of the given `length`. The`type` will determine which validations will be performed on the `length`.\n     *\n     * ```js\n     * const {\n     *   generateKey\n     * } = await import('crypto');\n     *\n     * generateKey('hmac', { length: 64 }, (err, key) => {\n     *   if (err) throw err;\n     *   console.log(key.export().toString('hex'));  // 46e..........620\n     * });\n     * ```\n     * @since v15.0.0\n     * @param type The intended use of the generated secret key. Currently accepted values are `'hmac'` and `'aes'`.\n     */\n    function generateKey(\n        type: \"hmac\" | \"aes\",\n        options: {\n            length: number;\n        },\n        callback: (err: Error | null, key: KeyObject) => void,\n    ): void;\n    /**\n     * Synchronously generates a new random secret key of the given `length`. The`type` will determine which validations will be performed on the `length`.\n     *\n     * ```js\n     * const {\n     *   generateKeySync\n     * } = await import('crypto');\n     *\n     * const key = generateKeySync('hmac', { length: 64 });\n     * console.log(key.export().toString('hex'));  // e89..........41e\n     * ```\n     * @since v15.0.0\n     * @param type The intended use of the generated secret key. Currently accepted values are `'hmac'` and `'aes'`.\n     */\n    function generateKeySync(\n        type: \"hmac\" | \"aes\",\n        options: {\n            length: number;\n        },\n    ): KeyObject;\n    interface JsonWebKeyInput {\n        key: JsonWebKey;\n        format: \"jwk\";\n    }\n    /**\n     * Creates and returns a new key object containing a private key. If `key` is a\n     * string or `Buffer`, `format` is assumed to be `'pem'`; otherwise, `key`must be an object with the properties described above.\n     *\n     * If the private key is encrypted, a `passphrase` must be specified. The length\n     * of the passphrase is limited to 1024 bytes.\n     * @since v11.6.0\n     */\n    function createPrivateKey(key: PrivateKeyInput | string | Buffer | JsonWebKeyInput): KeyObject;\n    /**\n     * Creates and returns a new key object containing a public key. If `key` is a\n     * string or `Buffer`, `format` is assumed to be `'pem'`; if `key` is a `KeyObject`with type `'private'`, the public key is derived from the given private key;\n     * otherwise, `key` must be an object with the properties described above.\n     *\n     * If the format is `'pem'`, the `'key'` may also be an X.509 certificate.\n     *\n     * Because public keys can be derived from private keys, a private key may be\n     * passed instead of a public key. In that case, this function behaves as if {@link createPrivateKey} had been called, except that the type of the\n     * returned `KeyObject` will be `'public'` and that the private key cannot be\n     * extracted from the returned `KeyObject`. Similarly, if a `KeyObject` with type`'private'` is given, a new `KeyObject` with type `'public'` will be returned\n     * and it will be impossible to extract the private key from the returned object.\n     * @since v11.6.0\n     */\n    function createPublicKey(key: PublicKeyInput | string | Buffer | KeyObject | JsonWebKeyInput): KeyObject;\n    /**\n     * Creates and returns a new key object containing a secret key for symmetric\n     * encryption or `Hmac`.\n     * @since v11.6.0\n     * @param encoding The string encoding when `key` is a string.\n     */\n    function createSecretKey(key: NodeJS.ArrayBufferView): KeyObject;\n    function createSecretKey(key: string, encoding: BufferEncoding): KeyObject;\n    /**\n     * Creates and returns a `Sign` object that uses the given `algorithm`. Use {@link getHashes} to obtain the names of the available digest algorithms.\n     * Optional `options` argument controls the `stream.Writable` behavior.\n     *\n     * In some cases, a `Sign` instance can be created using the name of a signature\n     * algorithm, such as `'RSA-SHA256'`, instead of a digest algorithm. This will use\n     * the corresponding digest algorithm. This does not work for all signature\n     * algorithms, such as `'ecdsa-with-SHA256'`, so it is best to always use digest\n     * algorithm names.\n     * @since v0.1.92\n     * @param options `stream.Writable` options\n     */\n    function createSign(algorithm: string, options?: stream.WritableOptions): Sign;\n    type DSAEncoding = \"der\" | \"ieee-p1363\";\n    interface SigningOptions {\n        /**\n         * @see crypto.constants.RSA_PKCS1_PADDING\n         */\n        padding?: number | undefined;\n        saltLength?: number | undefined;\n        dsaEncoding?: DSAEncoding | undefined;\n    }\n    interface SignPrivateKeyInput extends PrivateKeyInput, SigningOptions {}\n    interface SignKeyObjectInput extends SigningOptions {\n        key: KeyObject;\n    }\n    interface SignJsonWebKeyInput extends JsonWebKeyInput, SigningOptions {}\n    interface VerifyPublicKeyInput extends PublicKeyInput, SigningOptions {}\n    interface VerifyKeyObjectInput extends SigningOptions {\n        key: KeyObject;\n    }\n    interface VerifyJsonWebKeyInput extends JsonWebKeyInput, SigningOptions {}\n    type KeyLike = string | Buffer | KeyObject;\n    /**\n     * The `Sign` class is a utility for generating signatures. It can be used in one\n     * of two ways:\n     *\n     * * As a writable `stream`, where data to be signed is written and the `sign.sign()` method is used to generate and return the signature, or\n     * * Using the `sign.update()` and `sign.sign()` methods to produce the\n     * signature.\n     *\n     * The {@link createSign} method is used to create `Sign` instances. The\n     * argument is the string name of the hash function to use. `Sign` objects are not\n     * to be created directly using the `new` keyword.\n     *\n     * Example: Using `Sign` and `Verify` objects as streams:\n     *\n     * ```js\n     * const {\n     *   generateKeyPairSync,\n     *   createSign,\n     *   createVerify\n     * } = await import('crypto');\n     *\n     * const { privateKey, publicKey } = generateKeyPairSync('ec', {\n     *   namedCurve: 'sect239k1'\n     * });\n     *\n     * const sign = createSign('SHA256');\n     * sign.write('some data to sign');\n     * sign.end();\n     * const signature = sign.sign(privateKey, 'hex');\n     *\n     * const verify = createVerify('SHA256');\n     * verify.write('some data to sign');\n     * verify.end();\n     * console.log(verify.verify(publicKey, signature, 'hex'));\n     * // Prints: true\n     * ```\n     *\n     * Example: Using the `sign.update()` and `verify.update()` methods:\n     *\n     * ```js\n     * const {\n     *   generateKeyPairSync,\n     *   createSign,\n     *   createVerify\n     * } = await import('crypto');\n     *\n     * const { privateKey, publicKey } = generateKeyPairSync('rsa', {\n     *   modulusLength: 2048,\n     * });\n     *\n     * const sign = createSign('SHA256');\n     * sign.update('some data to sign');\n     * sign.end();\n     * const signature = sign.sign(privateKey);\n     *\n     * const verify = createVerify('SHA256');\n     * verify.update('some data to sign');\n     * verify.end();\n     * console.log(verify.verify(publicKey, signature));\n     * // Prints: true\n     * ```\n     * @since v0.1.92\n     */\n    class Sign extends stream.Writable {\n        private constructor();\n        /**\n         * Updates the `Sign` content with the given `data`, the encoding of which\n         * is given in `inputEncoding`.\n         * If `encoding` is not provided, and the `data` is a string, an\n         * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.\n         *\n         * This can be called many times with new data as it is streamed.\n         * @since v0.1.92\n         * @param inputEncoding The `encoding` of the `data` string.\n         */\n        update(data: BinaryLike): this;\n        update(data: string, inputEncoding: Encoding): this;\n        /**\n         * Calculates the signature on all the data passed through using either `sign.update()` or `sign.write()`.\n         *\n         * If `privateKey` is not a `KeyObject`, this function behaves as if`privateKey` had been passed to {@link createPrivateKey}. If it is an\n         * object, the following additional properties can be passed:\n         *\n         * If `outputEncoding` is provided a string is returned; otherwise a `Buffer` is returned.\n         *\n         * The `Sign` object can not be again used after `sign.sign()` method has been\n         * called. Multiple calls to `sign.sign()` will result in an error being thrown.\n         * @since v0.1.92\n         */\n        sign(privateKey: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput): Buffer;\n        sign(\n            privateKey: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput,\n            outputFormat: BinaryToTextEncoding,\n        ): string;\n    }\n    /**\n     * Creates and returns a `Verify` object that uses the given algorithm.\n     * Use {@link getHashes} to obtain an array of names of the available\n     * signing algorithms. Optional `options` argument controls the`stream.Writable` behavior.\n     *\n     * In some cases, a `Verify` instance can be created using the name of a signature\n     * algorithm, such as `'RSA-SHA256'`, instead of a digest algorithm. This will use\n     * the corresponding digest algorithm. This does not work for all signature\n     * algorithms, such as `'ecdsa-with-SHA256'`, so it is best to always use digest\n     * algorithm names.\n     * @since v0.1.92\n     * @param options `stream.Writable` options\n     */\n    function createVerify(algorithm: string, options?: stream.WritableOptions): Verify;\n    /**\n     * The `Verify` class is a utility for verifying signatures. It can be used in one\n     * of two ways:\n     *\n     * * As a writable `stream` where written data is used to validate against the\n     * supplied signature, or\n     * * Using the `verify.update()` and `verify.verify()` methods to verify\n     * the signature.\n     *\n     * The {@link createVerify} method is used to create `Verify` instances.`Verify` objects are not to be created directly using the `new` keyword.\n     *\n     * See `Sign` for examples.\n     * @since v0.1.92\n     */\n    class Verify extends stream.Writable {\n        private constructor();\n        /**\n         * Updates the `Verify` content with the given `data`, the encoding of which\n         * is given in `inputEncoding`.\n         * If `inputEncoding` is not provided, and the `data` is a string, an\n         * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.\n         *\n         * This can be called many times with new data as it is streamed.\n         * @since v0.1.92\n         * @param inputEncoding The `encoding` of the `data` string.\n         */\n        update(data: BinaryLike): Verify;\n        update(data: string, inputEncoding: Encoding): Verify;\n        /**\n         * Verifies the provided data using the given `object` and `signature`.\n         *\n         * If `object` is not a `KeyObject`, this function behaves as if`object` had been passed to {@link createPublicKey}. If it is an\n         * object, the following additional properties can be passed:\n         *\n         * The `signature` argument is the previously calculated signature for the data, in\n         * the `signatureEncoding`.\n         * If a `signatureEncoding` is specified, the `signature` is expected to be a\n         * string; otherwise `signature` is expected to be a `Buffer`, `TypedArray`, or `DataView`.\n         *\n         * The `verify` object can not be used again after `verify.verify()` has been\n         * called. Multiple calls to `verify.verify()` will result in an error being\n         * thrown.\n         *\n         * Because public keys can be derived from private keys, a private key may\n         * be passed instead of a public key.\n         * @since v0.1.92\n         */\n        verify(\n            object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,\n            signature: NodeJS.ArrayBufferView,\n        ): boolean;\n        verify(\n            object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,\n            signature: string,\n            signature_format?: BinaryToTextEncoding,\n        ): boolean;\n    }\n    /**\n     * Creates a `DiffieHellman` key exchange object using the supplied `prime` and an\n     * optional specific `generator`.\n     *\n     * The `generator` argument can be a number, string, or `Buffer`. If`generator` is not specified, the value `2` is used.\n     *\n     * If `primeEncoding` is specified, `prime` is expected to be a string; otherwise\n     * a `Buffer`, `TypedArray`, or `DataView` is expected.\n     *\n     * If `generatorEncoding` is specified, `generator` is expected to be a string;\n     * otherwise a number, `Buffer`, `TypedArray`, or `DataView` is expected.\n     * @since v0.11.12\n     * @param primeEncoding The `encoding` of the `prime` string.\n     * @param [generator=2]\n     * @param generatorEncoding The `encoding` of the `generator` string.\n     */\n    function createDiffieHellman(primeLength: number, generator?: number): DiffieHellman;\n    function createDiffieHellman(\n        prime: ArrayBuffer | NodeJS.ArrayBufferView,\n        generator?: number | ArrayBuffer | NodeJS.ArrayBufferView,\n    ): DiffieHellman;\n    function createDiffieHellman(\n        prime: ArrayBuffer | NodeJS.ArrayBufferView,\n        generator: string,\n        generatorEncoding: BinaryToTextEncoding,\n    ): DiffieHellman;\n    function createDiffieHellman(\n        prime: string,\n        primeEncoding: BinaryToTextEncoding,\n        generator?: number | ArrayBuffer | NodeJS.ArrayBufferView,\n    ): DiffieHellman;\n    function createDiffieHellman(\n        prime: string,\n        primeEncoding: BinaryToTextEncoding,\n        generator: string,\n        generatorEncoding: BinaryToTextEncoding,\n    ): DiffieHellman;\n    /**\n     * The `DiffieHellman` class is a utility for creating Diffie-Hellman key\n     * exchanges.\n     *\n     * Instances of the `DiffieHellman` class can be created using the {@link createDiffieHellman} function.\n     *\n     * ```js\n     * import assert from 'assert';\n     *\n     * const {\n     *   createDiffieHellman\n     * } = await import('crypto');\n     *\n     * // Generate Alice's keys...\n     * const alice = createDiffieHellman(2048);\n     * const aliceKey = alice.generateKeys();\n     *\n     * // Generate Bob's keys...\n     * const bob = createDiffieHellman(alice.getPrime(), alice.getGenerator());\n     * const bobKey = bob.generateKeys();\n     *\n     * // Exchange and generate the secret...\n     * const aliceSecret = alice.computeSecret(bobKey);\n     * const bobSecret = bob.computeSecret(aliceKey);\n     *\n     * // OK\n     * assert.strictEqual(aliceSecret.toString('hex'), bobSecret.toString('hex'));\n     * ```\n     * @since v0.5.0\n     */\n    class DiffieHellman {\n        private constructor();\n        /**\n         * Generates private and public Diffie-Hellman key values, and returns\n         * the public key in the specified `encoding`. This key should be\n         * transferred to the other party.\n         * If `encoding` is provided a string is returned; otherwise a `Buffer` is returned.\n         * @since v0.5.0\n         * @param encoding The `encoding` of the return value.\n         */\n        generateKeys(): Buffer;\n        generateKeys(encoding: BinaryToTextEncoding): string;\n        /**\n         * Computes the shared secret using `otherPublicKey` as the other\n         * party's public key and returns the computed shared secret. The supplied\n         * key is interpreted using the specified `inputEncoding`, and secret is\n         * encoded using specified `outputEncoding`.\n         * If the `inputEncoding` is not\n         * provided, `otherPublicKey` is expected to be a `Buffer`, `TypedArray`, or `DataView`.\n         *\n         * If `outputEncoding` is given a string is returned; otherwise, a `Buffer` is returned.\n         * @since v0.5.0\n         * @param inputEncoding The `encoding` of an `otherPublicKey` string.\n         * @param outputEncoding The `encoding` of the return value.\n         */\n        computeSecret(otherPublicKey: NodeJS.ArrayBufferView, inputEncoding?: null, outputEncoding?: null): Buffer;\n        computeSecret(otherPublicKey: string, inputEncoding: BinaryToTextEncoding, outputEncoding?: null): Buffer;\n        computeSecret(\n            otherPublicKey: NodeJS.ArrayBufferView,\n            inputEncoding: null,\n            outputEncoding: BinaryToTextEncoding,\n        ): string;\n        computeSecret(\n            otherPublicKey: string,\n            inputEncoding: BinaryToTextEncoding,\n            outputEncoding: BinaryToTextEncoding,\n        ): string;\n        /**\n         * Returns the Diffie-Hellman prime in the specified `encoding`.\n         * If `encoding` is provided a string is\n         * returned; otherwise a `Buffer` is returned.\n         * @since v0.5.0\n         * @param encoding The `encoding` of the return value.\n         */\n        getPrime(): Buffer;\n        getPrime(encoding: BinaryToTextEncoding): string;\n        /**\n         * Returns the Diffie-Hellman generator in the specified `encoding`.\n         * If `encoding` is provided a string is\n         * returned; otherwise a `Buffer` is returned.\n         * @since v0.5.0\n         * @param encoding The `encoding` of the return value.\n         */\n        getGenerator(): Buffer;\n        getGenerator(encoding: BinaryToTextEncoding): string;\n        /**\n         * Returns the Diffie-Hellman public key in the specified `encoding`.\n         * If `encoding` is provided a\n         * string is returned; otherwise a `Buffer` is returned.\n         * @since v0.5.0\n         * @param encoding The `encoding` of the return value.\n         */\n        getPublicKey(): Buffer;\n        getPublicKey(encoding: BinaryToTextEncoding): string;\n        /**\n         * Returns the Diffie-Hellman private key in the specified `encoding`.\n         * If `encoding` is provided a\n         * string is returned; otherwise a `Buffer` is returned.\n         * @since v0.5.0\n         * @param encoding The `encoding` of the return value.\n         */\n        getPrivateKey(): Buffer;\n        getPrivateKey(encoding: BinaryToTextEncoding): string;\n        /**\n         * Sets the Diffie-Hellman public key. If the `encoding` argument is provided,`publicKey` is expected\n         * to be a string. If no `encoding` is provided, `publicKey` is expected\n         * to be a `Buffer`, `TypedArray`, or `DataView`.\n         * @since v0.5.0\n         * @param encoding The `encoding` of the `publicKey` string.\n         */\n        setPublicKey(publicKey: NodeJS.ArrayBufferView): void;\n        setPublicKey(publicKey: string, encoding: BufferEncoding): void;\n        /**\n         * Sets the Diffie-Hellman private key. If the `encoding` argument is provided,`privateKey` is expected\n         * to be a string. If no `encoding` is provided, `privateKey` is expected\n         * to be a `Buffer`, `TypedArray`, or `DataView`.\n         * @since v0.5.0\n         * @param encoding The `encoding` of the `privateKey` string.\n         */\n        setPrivateKey(privateKey: NodeJS.ArrayBufferView): void;\n        setPrivateKey(privateKey: string, encoding: BufferEncoding): void;\n        /**\n         * A bit field containing any warnings and/or errors resulting from a check\n         * performed during initialization of the `DiffieHellman` object.\n         *\n         * The following values are valid for this property (as defined in `constants`module):\n         *\n         * * `DH_CHECK_P_NOT_SAFE_PRIME`\n         * * `DH_CHECK_P_NOT_PRIME`\n         * * `DH_UNABLE_TO_CHECK_GENERATOR`\n         * * `DH_NOT_SUITABLE_GENERATOR`\n         * @since v0.11.12\n         */\n        verifyError: number;\n    }\n    /**\n     * The `DiffieHellmanGroup` class takes a well-known modp group as its argument.\n     * It works the same as `DiffieHellman`, except that it does not allow changing its keys after creation.\n     * In other words, it does not implement `setPublicKey()` or `setPrivateKey()` methods.\n     *\n     * ```js\n     * const { createDiffieHellmanGroup } = await import('node:crypto');\n     * const dh = createDiffieHellmanGroup('modp1');\n     * ```\n     * The name (e.g. `'modp1'`) is taken from [RFC 2412](https://www.rfc-editor.org/rfc/rfc2412.txt) (modp1 and 2) and [RFC 3526](https://www.rfc-editor.org/rfc/rfc3526.txt):\n     * ```bash\n     * $ perl -ne 'print \"$1\\n\" if /\"(modp\\d+)\"/' src/node_crypto_groups.h\n     * modp1  #  768 bits\n     * modp2  # 1024 bits\n     * modp5  # 1536 bits\n     * modp14 # 2048 bits\n     * modp15 # etc.\n     * modp16\n     * modp17\n     * modp18\n     * ```\n     * @since v0.7.5\n     */\n    const DiffieHellmanGroup: DiffieHellmanGroupConstructor;\n    interface DiffieHellmanGroupConstructor {\n        new(name: string): DiffieHellmanGroup;\n        (name: string): DiffieHellmanGroup;\n        readonly prototype: DiffieHellmanGroup;\n    }\n    type DiffieHellmanGroup = Omit<DiffieHellman, \"setPublicKey\" | \"setPrivateKey\">;\n    /**\n     * Creates a predefined `DiffieHellmanGroup` key exchange object. The\n     * supported groups are: `'modp1'`, `'modp2'`, `'modp5'` (defined in [RFC 2412](https://www.rfc-editor.org/rfc/rfc2412.txt), but see `Caveats`) and `'modp14'`, `'modp15'`, `'modp16'`, `'modp17'`,\n     * `'modp18'` (defined in [RFC 3526](https://www.rfc-editor.org/rfc/rfc3526.txt)). The\n     * returned object mimics the interface of objects created by {@link createDiffieHellman}, but will not allow changing\n     * the keys (with `diffieHellman.setPublicKey()`, for example). The\n     * advantage of using this method is that the parties do not have to\n     * generate nor exchange a group modulus beforehand, saving both processor\n     * and communication time.\n     *\n     * Example (obtaining a shared secret):\n     *\n     * ```js\n     * const {\n     *   getDiffieHellman\n     * } = await import('crypto');\n     * const alice = getDiffieHellman('modp14');\n     * const bob = getDiffieHellman('modp14');\n     *\n     * alice.generateKeys();\n     * bob.generateKeys();\n     *\n     * const aliceSecret = alice.computeSecret(bob.getPublicKey(), null, 'hex');\n     * const bobSecret = bob.computeSecret(alice.getPublicKey(), null, 'hex');\n     *\n     * // aliceSecret and bobSecret should be the same\n     * console.log(aliceSecret === bobSecret);\n     * ```\n     * @since v0.7.5\n     */\n    function getDiffieHellman(groupName: string): DiffieHellmanGroup;\n    /**\n     * An alias for {@link getDiffieHellman}\n     * @since v0.9.3\n     */\n    function createDiffieHellmanGroup(name: string): DiffieHellmanGroup;\n    /**\n     * Provides an asynchronous Password-Based Key Derivation Function 2 (PBKDF2)\n     * implementation. A selected HMAC digest algorithm specified by `digest` is\n     * applied to derive a key of the requested byte length (`keylen`) from the`password`, `salt` and `iterations`.\n     *\n     * The supplied `callback` function is called with two arguments: `err` and `derivedKey`. If an error occurs while deriving the key, `err` will be set;\n     * otherwise `err` will be `null`. By default, the successfully generated`derivedKey` will be passed to the callback as a `Buffer`. An error will be\n     * thrown if any of the input arguments specify invalid values or types.\n     *\n     * If `digest` is `null`, `'sha1'` will be used. This behavior is deprecated,\n     * please specify a `digest` explicitly.\n     *\n     * The `iterations` argument must be a number set as high as possible. The\n     * higher the number of iterations, the more secure the derived key will be,\n     * but will take a longer amount of time to complete.\n     *\n     * The `salt` should be as unique as possible. It is recommended that a salt is\n     * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details.\n     *\n     * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`.\n     *\n     * ```js\n     * const {\n     *   pbkdf2\n     * } = await import('crypto');\n     *\n     * pbkdf2('secret', 'salt', 100000, 64, 'sha512', (err, derivedKey) => {\n     *   if (err) throw err;\n     *   console.log(derivedKey.toString('hex'));  // '3745e48...08d59ae'\n     * });\n     * ```\n     *\n     * The `crypto.DEFAULT_ENCODING` property can be used to change the way the`derivedKey` is passed to the callback. This property, however, has been\n     * deprecated and use should be avoided.\n     *\n     * ```js\n     * import crypto from 'crypto';\n     * crypto.DEFAULT_ENCODING = 'hex';\n     * crypto.pbkdf2('secret', 'salt', 100000, 512, 'sha512', (err, derivedKey) => {\n     *   if (err) throw err;\n     *   console.log(derivedKey);  // '3745e48...aa39b34'\n     * });\n     * ```\n     *\n     * An array of supported digest functions can be retrieved using {@link getHashes}.\n     *\n     * This API uses libuv's threadpool, which can have surprising and\n     * negative performance implications for some applications; see the `UV_THREADPOOL_SIZE` documentation for more information.\n     * @since v0.5.5\n     */\n    function pbkdf2(\n        password: BinaryLike,\n        salt: BinaryLike,\n        iterations: number,\n        keylen: number,\n        digest: string,\n        callback: (err: Error | null, derivedKey: Buffer) => void,\n    ): void;\n    /**\n     * Provides a synchronous Password-Based Key Derivation Function 2 (PBKDF2)\n     * implementation. A selected HMAC digest algorithm specified by `digest` is\n     * applied to derive a key of the requested byte length (`keylen`) from the`password`, `salt` and `iterations`.\n     *\n     * If an error occurs an `Error` will be thrown, otherwise the derived key will be\n     * returned as a `Buffer`.\n     *\n     * If `digest` is `null`, `'sha1'` will be used. This behavior is deprecated,\n     * please specify a `digest` explicitly.\n     *\n     * The `iterations` argument must be a number set as high as possible. The\n     * higher the number of iterations, the more secure the derived key will be,\n     * but will take a longer amount of time to complete.\n     *\n     * The `salt` should be as unique as possible. It is recommended that a salt is\n     * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details.\n     *\n     * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`.\n     *\n     * ```js\n     * const {\n     *   pbkdf2Sync\n     * } = await import('crypto');\n     *\n     * const key = pbkdf2Sync('secret', 'salt', 100000, 64, 'sha512');\n     * console.log(key.toString('hex'));  // '3745e48...08d59ae'\n     * ```\n     *\n     * The `crypto.DEFAULT_ENCODING` property may be used to change the way the`derivedKey` is returned. This property, however, is deprecated and use\n     * should be avoided.\n     *\n     * ```js\n     * import crypto from 'crypto';\n     * crypto.DEFAULT_ENCODING = 'hex';\n     * const key = crypto.pbkdf2Sync('secret', 'salt', 100000, 512, 'sha512');\n     * console.log(key);  // '3745e48...aa39b34'\n     * ```\n     *\n     * An array of supported digest functions can be retrieved using {@link getHashes}.\n     * @since v0.9.3\n     */\n    function pbkdf2Sync(\n        password: BinaryLike,\n        salt: BinaryLike,\n        iterations: number,\n        keylen: number,\n        digest: string,\n    ): Buffer;\n    /**\n     * Generates cryptographically strong pseudorandom data. The `size` argument\n     * is a number indicating the number of bytes to generate.\n     *\n     * If a `callback` function is provided, the bytes are generated asynchronously\n     * and the `callback` function is invoked with two arguments: `err` and `buf`.\n     * If an error occurs, `err` will be an `Error` object; otherwise it is `null`. The`buf` argument is a `Buffer` containing the generated bytes.\n     *\n     * ```js\n     * // Asynchronous\n     * const {\n     *   randomBytes\n     * } = await import('crypto');\n     *\n     * randomBytes(256, (err, buf) => {\n     *   if (err) throw err;\n     *   console.log(`${buf.length} bytes of random data: ${buf.toString('hex')}`);\n     * });\n     * ```\n     *\n     * If the `callback` function is not provided, the random bytes are generated\n     * synchronously and returned as a `Buffer`. An error will be thrown if\n     * there is a problem generating the bytes.\n     *\n     * ```js\n     * // Synchronous\n     * const {\n     *   randomBytes\n     * } = await import('crypto');\n     *\n     * const buf = randomBytes(256);\n     * console.log(\n     *   `${buf.length} bytes of random data: ${buf.toString('hex')}`);\n     * ```\n     *\n     * The `crypto.randomBytes()` method will not complete until there is\n     * sufficient entropy available.\n     * This should normally never take longer than a few milliseconds. The only time\n     * when generating the random bytes may conceivably block for a longer period of\n     * time is right after boot, when the whole system is still low on entropy.\n     *\n     * This API uses libuv's threadpool, which can have surprising and\n     * negative performance implications for some applications; see the `UV_THREADPOOL_SIZE` documentation for more information.\n     *\n     * The asynchronous version of `crypto.randomBytes()` is carried out in a single\n     * threadpool request. To minimize threadpool task length variation, partition\n     * large `randomBytes` requests when doing so as part of fulfilling a client\n     * request.\n     * @since v0.5.8\n     * @param size The number of bytes to generate. The `size` must not be larger than `2**31 - 1`.\n     * @return if the `callback` function is not provided.\n     */\n    function randomBytes(size: number): Buffer;\n    function randomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void;\n    function pseudoRandomBytes(size: number): Buffer;\n    function pseudoRandomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void;\n    /**\n     * Return a random integer `n` such that `min <= n < max`.  This\n     * implementation avoids [modulo bias](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#Modulo_bias).\n     *\n     * The range (`max - min`) must be less than 2^48. `min` and `max` must\n     * be [safe integers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger).\n     *\n     * If the `callback` function is not provided, the random integer is\n     * generated synchronously.\n     *\n     * ```js\n     * // Asynchronous\n     * const {\n     *   randomInt\n     * } = await import('crypto');\n     *\n     * randomInt(3, (err, n) => {\n     *   if (err) throw err;\n     *   console.log(`Random number chosen from (0, 1, 2): ${n}`);\n     * });\n     * ```\n     *\n     * ```js\n     * // Synchronous\n     * const {\n     *   randomInt\n     * } = await import('crypto');\n     *\n     * const n = randomInt(3);\n     * console.log(`Random number chosen from (0, 1, 2): ${n}`);\n     * ```\n     *\n     * ```js\n     * // With `min` argument\n     * const {\n     *   randomInt\n     * } = await import('crypto');\n     *\n     * const n = randomInt(1, 7);\n     * console.log(`The dice rolled: ${n}`);\n     * ```\n     * @since v14.10.0, v12.19.0\n     * @param [min=0] Start of random range (inclusive).\n     * @param max End of random range (exclusive).\n     * @param callback `function(err, n) {}`.\n     */\n    function randomInt(max: number): number;\n    function randomInt(min: number, max: number): number;\n    function randomInt(max: number, callback: (err: Error | null, value: number) => void): void;\n    function randomInt(min: number, max: number, callback: (err: Error | null, value: number) => void): void;\n    /**\n     * Synchronous version of {@link randomFill}.\n     *\n     * ```js\n     * import { Buffer } from 'buffer';\n     * const { randomFillSync } = await import('crypto');\n     *\n     * const buf = Buffer.alloc(10);\n     * console.log(randomFillSync(buf).toString('hex'));\n     *\n     * randomFillSync(buf, 5);\n     * console.log(buf.toString('hex'));\n     *\n     * // The above is equivalent to the following:\n     * randomFillSync(buf, 5, 5);\n     * console.log(buf.toString('hex'));\n     * ```\n     *\n     * Any `ArrayBuffer`, `TypedArray` or `DataView` instance may be passed as`buffer`.\n     *\n     * ```js\n     * import { Buffer } from 'buffer';\n     * const { randomFillSync } = await import('crypto');\n     *\n     * const a = new Uint32Array(10);\n     * console.log(Buffer.from(randomFillSync(a).buffer,\n     *                         a.byteOffset, a.byteLength).toString('hex'));\n     *\n     * const b = new DataView(new ArrayBuffer(10));\n     * console.log(Buffer.from(randomFillSync(b).buffer,\n     *                         b.byteOffset, b.byteLength).toString('hex'));\n     *\n     * const c = new ArrayBuffer(10);\n     * console.log(Buffer.from(randomFillSync(c)).toString('hex'));\n     * ```\n     * @since v7.10.0, v6.13.0\n     * @param buffer Must be supplied. The size of the provided `buffer` must not be larger than `2**31 - 1`.\n     * @param [offset=0]\n     * @param [size=buffer.length - offset]\n     * @return The object passed as `buffer` argument.\n     */\n    function randomFillSync<T extends NodeJS.ArrayBufferView>(buffer: T, offset?: number, size?: number): T;\n    /**\n     * This function is similar to {@link randomBytes} but requires the first\n     * argument to be a `Buffer` that will be filled. It also\n     * requires that a callback is passed in.\n     *\n     * If the `callback` function is not provided, an error will be thrown.\n     *\n     * ```js\n     * import { Buffer } from 'buffer';\n     * const { randomFill } = await import('crypto');\n     *\n     * const buf = Buffer.alloc(10);\n     * randomFill(buf, (err, buf) => {\n     *   if (err) throw err;\n     *   console.log(buf.toString('hex'));\n     * });\n     *\n     * randomFill(buf, 5, (err, buf) => {\n     *   if (err) throw err;\n     *   console.log(buf.toString('hex'));\n     * });\n     *\n     * // The above is equivalent to the following:\n     * randomFill(buf, 5, 5, (err, buf) => {\n     *   if (err) throw err;\n     *   console.log(buf.toString('hex'));\n     * });\n     * ```\n     *\n     * Any `ArrayBuffer`, `TypedArray`, or `DataView` instance may be passed as`buffer`.\n     *\n     * While this includes instances of `Float32Array` and `Float64Array`, this\n     * function should not be used to generate random floating-point numbers. The\n     * result may contain `+Infinity`, `-Infinity`, and `NaN`, and even if the array\n     * contains finite numbers only, they are not drawn from a uniform random\n     * distribution and have no meaningful lower or upper bounds.\n     *\n     * ```js\n     * import { Buffer } from 'buffer';\n     * const { randomFill } = await import('crypto');\n     *\n     * const a = new Uint32Array(10);\n     * randomFill(a, (err, buf) => {\n     *   if (err) throw err;\n     *   console.log(Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength)\n     *     .toString('hex'));\n     * });\n     *\n     * const b = new DataView(new ArrayBuffer(10));\n     * randomFill(b, (err, buf) => {\n     *   if (err) throw err;\n     *   console.log(Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength)\n     *     .toString('hex'));\n     * });\n     *\n     * const c = new ArrayBuffer(10);\n     * randomFill(c, (err, buf) => {\n     *   if (err) throw err;\n     *   console.log(Buffer.from(buf).toString('hex'));\n     * });\n     * ```\n     *\n     * This API uses libuv's threadpool, which can have surprising and\n     * negative performance implications for some applications; see the `UV_THREADPOOL_SIZE` documentation for more information.\n     *\n     * The asynchronous version of `crypto.randomFill()` is carried out in a single\n     * threadpool request. To minimize threadpool task length variation, partition\n     * large `randomFill` requests when doing so as part of fulfilling a client\n     * request.\n     * @since v7.10.0, v6.13.0\n     * @param buffer Must be supplied. The size of the provided `buffer` must not be larger than `2**31 - 1`.\n     * @param [offset=0]\n     * @param [size=buffer.length - offset]\n     * @param callback `function(err, buf) {}`.\n     */\n    function randomFill<T extends NodeJS.ArrayBufferView>(\n        buffer: T,\n        callback: (err: Error | null, buf: T) => void,\n    ): void;\n    function randomFill<T extends NodeJS.ArrayBufferView>(\n        buffer: T,\n        offset: number,\n        callback: (err: Error | null, buf: T) => void,\n    ): void;\n    function randomFill<T extends NodeJS.ArrayBufferView>(\n        buffer: T,\n        offset: number,\n        size: number,\n        callback: (err: Error | null, buf: T) => void,\n    ): void;\n    interface ScryptOptions {\n        cost?: number | undefined;\n        blockSize?: number | undefined;\n        parallelization?: number | undefined;\n        N?: number | undefined;\n        r?: number | undefined;\n        p?: number | undefined;\n        maxmem?: number | undefined;\n    }\n    /**\n     * Provides an asynchronous [scrypt](https://en.wikipedia.org/wiki/Scrypt) implementation. Scrypt is a password-based\n     * key derivation function that is designed to be expensive computationally and\n     * memory-wise in order to make brute-force attacks unrewarding.\n     *\n     * The `salt` should be as unique as possible. It is recommended that a salt is\n     * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details.\n     *\n     * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`.\n     *\n     * The `callback` function is called with two arguments: `err` and `derivedKey`.`err` is an exception object when key derivation fails, otherwise `err` is`null`. `derivedKey` is passed to the\n     * callback as a `Buffer`.\n     *\n     * An exception is thrown when any of the input arguments specify invalid values\n     * or types.\n     *\n     * ```js\n     * const {\n     *   scrypt\n     * } = await import('crypto');\n     *\n     * // Using the factory defaults.\n     * scrypt('password', 'salt', 64, (err, derivedKey) => {\n     *   if (err) throw err;\n     *   console.log(derivedKey.toString('hex'));  // '3745e48...08d59ae'\n     * });\n     * // Using a custom N parameter. Must be a power of two.\n     * scrypt('password', 'salt', 64, { N: 1024 }, (err, derivedKey) => {\n     *   if (err) throw err;\n     *   console.log(derivedKey.toString('hex'));  // '3745e48...aa39b34'\n     * });\n     * ```\n     * @since v10.5.0\n     */\n    function scrypt(\n        password: BinaryLike,\n        salt: BinaryLike,\n        keylen: number,\n        callback: (err: Error | null, derivedKey: Buffer) => void,\n    ): void;\n    function scrypt(\n        password: BinaryLike,\n        salt: BinaryLike,\n        keylen: number,\n        options: ScryptOptions,\n        callback: (err: Error | null, derivedKey: Buffer) => void,\n    ): void;\n    /**\n     * Provides a synchronous [scrypt](https://en.wikipedia.org/wiki/Scrypt) implementation. Scrypt is a password-based\n     * key derivation function that is designed to be expensive computationally and\n     * memory-wise in order to make brute-force attacks unrewarding.\n     *\n     * The `salt` should be as unique as possible. It is recommended that a salt is\n     * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details.\n     *\n     * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`.\n     *\n     * An exception is thrown when key derivation fails, otherwise the derived key is\n     * returned as a `Buffer`.\n     *\n     * An exception is thrown when any of the input arguments specify invalid values\n     * or types.\n     *\n     * ```js\n     * const {\n     *   scryptSync\n     * } = await import('crypto');\n     * // Using the factory defaults.\n     *\n     * const key1 = scryptSync('password', 'salt', 64);\n     * console.log(key1.toString('hex'));  // '3745e48...08d59ae'\n     * // Using a custom N parameter. Must be a power of two.\n     * const key2 = scryptSync('password', 'salt', 64, { N: 1024 });\n     * console.log(key2.toString('hex'));  // '3745e48...aa39b34'\n     * ```\n     * @since v10.5.0\n     */\n    function scryptSync(password: BinaryLike, salt: BinaryLike, keylen: number, options?: ScryptOptions): Buffer;\n    interface RsaPublicKey {\n        key: KeyLike;\n        padding?: number | undefined;\n    }\n    interface RsaPrivateKey {\n        key: KeyLike;\n        passphrase?: string | undefined;\n        /**\n         * @default 'sha1'\n         */\n        oaepHash?: string | undefined;\n        oaepLabel?: NodeJS.TypedArray | undefined;\n        padding?: number | undefined;\n    }\n    /**\n     * Encrypts the content of `buffer` with `key` and returns a new `Buffer` with encrypted content. The returned data can be decrypted using\n     * the corresponding private key, for example using {@link privateDecrypt}.\n     *\n     * If `key` is not a `KeyObject`, this function behaves as if`key` had been passed to {@link createPublicKey}. If it is an\n     * object, the `padding` property can be passed. Otherwise, this function uses`RSA_PKCS1_OAEP_PADDING`.\n     *\n     * Because RSA public keys can be derived from private keys, a private key may\n     * be passed instead of a public key.\n     * @since v0.11.14\n     */\n    function publicEncrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer;\n    /**\n     * Decrypts `buffer` with `key`.`buffer` was previously encrypted using\n     * the corresponding private key, for example using {@link privateEncrypt}.\n     *\n     * If `key` is not a `KeyObject`, this function behaves as if`key` had been passed to {@link createPublicKey}. If it is an\n     * object, the `padding` property can be passed. Otherwise, this function uses`RSA_PKCS1_PADDING`.\n     *\n     * Because RSA public keys can be derived from private keys, a private key may\n     * be passed instead of a public key.\n     * @since v1.1.0\n     */\n    function publicDecrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer;\n    /**\n     * Decrypts `buffer` with `privateKey`. `buffer` was previously encrypted using\n     * the corresponding public key, for example using {@link publicEncrypt}.\n     *\n     * If `privateKey` is not a `KeyObject`, this function behaves as if`privateKey` had been passed to {@link createPrivateKey}. If it is an\n     * object, the `padding` property can be passed. Otherwise, this function uses`RSA_PKCS1_OAEP_PADDING`.\n     * @since v0.11.14\n     */\n    function privateDecrypt(privateKey: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer;\n    /**\n     * Encrypts `buffer` with `privateKey`. The returned data can be decrypted using\n     * the corresponding public key, for example using {@link publicDecrypt}.\n     *\n     * If `privateKey` is not a `KeyObject`, this function behaves as if`privateKey` had been passed to {@link createPrivateKey}. If it is an\n     * object, the `padding` property can be passed. Otherwise, this function uses`RSA_PKCS1_PADDING`.\n     * @since v1.1.0\n     */\n    function privateEncrypt(privateKey: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer;\n    /**\n     * ```js\n     * const {\n     *   getCiphers\n     * } = await import('crypto');\n     *\n     * console.log(getCiphers()); // ['aes-128-cbc', 'aes-128-ccm', ...]\n     * ```\n     * @since v0.9.3\n     * @return An array with the names of the supported cipher algorithms.\n     */\n    function getCiphers(): string[];\n    /**\n     * ```js\n     * const {\n     *   getCurves\n     * } = await import('crypto');\n     *\n     * console.log(getCurves()); // ['Oakley-EC2N-3', 'Oakley-EC2N-4', ...]\n     * ```\n     * @since v2.3.0\n     * @return An array with the names of the supported elliptic curves.\n     */\n    function getCurves(): string[];\n    /**\n     * @since v10.0.0\n     * @return `1` if and only if a FIPS compliant crypto provider is currently in use, `0` otherwise. A future semver-major release may change the return type of this API to a {boolean}.\n     */\n    function getFips(): 1 | 0;\n    /**\n     * Enables the FIPS compliant crypto provider in a FIPS-enabled Node.js build. Throws an error if FIPS mode is not available.\n     * @since v10.0.0\n     * @param bool `true` to enable FIPS mode.\n     */\n    function setFips(bool: boolean): void;\n    /**\n     * ```js\n     * const {\n     *   getHashes\n     * } = await import('crypto');\n     *\n     * console.log(getHashes()); // ['DSA', 'DSA-SHA', 'DSA-SHA1', ...]\n     * ```\n     * @since v0.9.3\n     * @return An array of the names of the supported hash algorithms, such as `'RSA-SHA256'`. Hash algorithms are also called \"digest\" algorithms.\n     */\n    function getHashes(): string[];\n    /**\n     * The `ECDH` class is a utility for creating Elliptic Curve Diffie-Hellman (ECDH)\n     * key exchanges.\n     *\n     * Instances of the `ECDH` class can be created using the {@link createECDH} function.\n     *\n     * ```js\n     * import assert from 'assert';\n     *\n     * const {\n     *   createECDH\n     * } = await import('crypto');\n     *\n     * // Generate Alice's keys...\n     * const alice = createECDH('secp521r1');\n     * const aliceKey = alice.generateKeys();\n     *\n     * // Generate Bob's keys...\n     * const bob = createECDH('secp521r1');\n     * const bobKey = bob.generateKeys();\n     *\n     * // Exchange and generate the secret...\n     * const aliceSecret = alice.computeSecret(bobKey);\n     * const bobSecret = bob.computeSecret(aliceKey);\n     *\n     * assert.strictEqual(aliceSecret.toString('hex'), bobSecret.toString('hex'));\n     * // OK\n     * ```\n     * @since v0.11.14\n     */\n    class ECDH {\n        private constructor();\n        /**\n         * Converts the EC Diffie-Hellman public key specified by `key` and `curve` to the\n         * format specified by `format`. The `format` argument specifies point encoding\n         * and can be `'compressed'`, `'uncompressed'` or `'hybrid'`. The supplied key is\n         * interpreted using the specified `inputEncoding`, and the returned key is encoded\n         * using the specified `outputEncoding`.\n         *\n         * Use {@link getCurves} to obtain a list of available curve names.\n         * On recent OpenSSL releases, `openssl ecparam -list_curves` will also display\n         * the name and description of each available elliptic curve.\n         *\n         * If `format` is not specified the point will be returned in `'uncompressed'`format.\n         *\n         * If the `inputEncoding` is not provided, `key` is expected to be a `Buffer`, `TypedArray`, or `DataView`.\n         *\n         * Example (uncompressing a key):\n         *\n         * ```js\n         * const {\n         *   createECDH,\n         *   ECDH\n         * } = await import('crypto');\n         *\n         * const ecdh = createECDH('secp256k1');\n         * ecdh.generateKeys();\n         *\n         * const compressedKey = ecdh.getPublicKey('hex', 'compressed');\n         *\n         * const uncompressedKey = ECDH.convertKey(compressedKey,\n         *                                         'secp256k1',\n         *                                         'hex',\n         *                                         'hex',\n         *                                         'uncompressed');\n         *\n         * // The converted key and the uncompressed public key should be the same\n         * console.log(uncompressedKey === ecdh.getPublicKey('hex'));\n         * ```\n         * @since v10.0.0\n         * @param inputEncoding The `encoding` of the `key` string.\n         * @param outputEncoding The `encoding` of the return value.\n         * @param [format='uncompressed']\n         */\n        static convertKey(\n            key: BinaryLike,\n            curve: string,\n            inputEncoding?: BinaryToTextEncoding,\n            outputEncoding?: \"latin1\" | \"hex\" | \"base64\" | \"base64url\",\n            format?: \"uncompressed\" | \"compressed\" | \"hybrid\",\n        ): Buffer | string;\n        /**\n         * Generates private and public EC Diffie-Hellman key values, and returns\n         * the public key in the specified `format` and `encoding`. This key should be\n         * transferred to the other party.\n         *\n         * The `format` argument specifies point encoding and can be `'compressed'` or`'uncompressed'`. If `format` is not specified, the point will be returned in`'uncompressed'` format.\n         *\n         * If `encoding` is provided a string is returned; otherwise a `Buffer` is returned.\n         * @since v0.11.14\n         * @param encoding The `encoding` of the return value.\n         * @param [format='uncompressed']\n         */\n        generateKeys(): Buffer;\n        generateKeys(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string;\n        /**\n         * Computes the shared secret using `otherPublicKey` as the other\n         * party's public key and returns the computed shared secret. The supplied\n         * key is interpreted using specified `inputEncoding`, and the returned secret\n         * is encoded using the specified `outputEncoding`.\n         * If the `inputEncoding` is not\n         * provided, `otherPublicKey` is expected to be a `Buffer`, `TypedArray`, or`DataView`.\n         *\n         * If `outputEncoding` is given a string will be returned; otherwise a `Buffer` is returned.\n         *\n         * `ecdh.computeSecret` will throw an`ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY` error when `otherPublicKey`lies outside of the elliptic curve. Since `otherPublicKey` is\n         * usually supplied from a remote user over an insecure network,\n         * be sure to handle this exception accordingly.\n         * @since v0.11.14\n         * @param inputEncoding The `encoding` of the `otherPublicKey` string.\n         * @param outputEncoding The `encoding` of the return value.\n         */\n        computeSecret(otherPublicKey: NodeJS.ArrayBufferView): Buffer;\n        computeSecret(otherPublicKey: string, inputEncoding: BinaryToTextEncoding): Buffer;\n        computeSecret(otherPublicKey: NodeJS.ArrayBufferView, outputEncoding: BinaryToTextEncoding): string;\n        computeSecret(\n            otherPublicKey: string,\n            inputEncoding: BinaryToTextEncoding,\n            outputEncoding: BinaryToTextEncoding,\n        ): string;\n        /**\n         * If `encoding` is specified, a string is returned; otherwise a `Buffer` is\n         * returned.\n         * @since v0.11.14\n         * @param encoding The `encoding` of the return value.\n         * @return The EC Diffie-Hellman in the specified `encoding`.\n         */\n        getPrivateKey(): Buffer;\n        getPrivateKey(encoding: BinaryToTextEncoding): string;\n        /**\n         * The `format` argument specifies point encoding and can be `'compressed'` or`'uncompressed'`. If `format` is not specified the point will be returned in`'uncompressed'` format.\n         *\n         * If `encoding` is specified, a string is returned; otherwise a `Buffer` is\n         * returned.\n         * @since v0.11.14\n         * @param [encoding] The `encoding` of the return value.\n         * @param [format='uncompressed']\n         * @return The EC Diffie-Hellman public key in the specified `encoding` and `format`.\n         */\n        getPublicKey(encoding?: null, format?: ECDHKeyFormat): Buffer;\n        getPublicKey(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string;\n        /**\n         * Sets the EC Diffie-Hellman private key.\n         * If `encoding` is provided, `privateKey` is expected\n         * to be a string; otherwise `privateKey` is expected to be a `Buffer`, `TypedArray`, or `DataView`.\n         *\n         * If `privateKey` is not valid for the curve specified when the `ECDH` object was\n         * created, an error is thrown. Upon setting the private key, the associated\n         * public point (key) is also generated and set in the `ECDH` object.\n         * @since v0.11.14\n         * @param encoding The `encoding` of the `privateKey` string.\n         */\n        setPrivateKey(privateKey: NodeJS.ArrayBufferView): void;\n        setPrivateKey(privateKey: string, encoding: BinaryToTextEncoding): void;\n    }\n    /**\n     * Creates an Elliptic Curve Diffie-Hellman (`ECDH`) key exchange object using a\n     * predefined curve specified by the `curveName` string. Use {@link getCurves} to obtain a list of available curve names. On recent\n     * OpenSSL releases, `openssl ecparam -list_curves` will also display the name\n     * and description of each available elliptic curve.\n     * @since v0.11.14\n     */\n    function createECDH(curveName: string): ECDH;\n    /**\n     * This function is based on a constant-time algorithm.\n     * Returns true if `a` is equal to `b`, without leaking timing information that\n     * would allow an attacker to guess one of the values. This is suitable for\n     * comparing HMAC digests or secret values like authentication cookies or [capability urls](https://www.w3.org/TR/capability-urls/).\n     *\n     * `a` and `b` must both be `Buffer`s, `TypedArray`s, or `DataView`s, and they\n     * must have the same byte length. An error is thrown if `a` and `b` have\n     * different byte lengths.\n     *\n     * If at least one of `a` and `b` is a `TypedArray` with more than one byte per\n     * entry, such as `Uint16Array`, the result will be computed using the platform\n     * byte order.\n     *\n     * Use of `crypto.timingSafeEqual` does not guarantee that the _surrounding_ code\n     * is timing-safe. Care should be taken to ensure that the surrounding code does\n     * not introduce timing vulnerabilities.\n     * @since v6.6.0\n     */\n    function timingSafeEqual(a: NodeJS.ArrayBufferView, b: NodeJS.ArrayBufferView): boolean;\n    /** @deprecated since v10.0.0 */\n    const DEFAULT_ENCODING: BufferEncoding;\n    type KeyType = \"rsa\" | \"rsa-pss\" | \"dsa\" | \"ec\" | \"ed25519\" | \"ed448\" | \"x25519\" | \"x448\";\n    type KeyFormat = \"pem\" | \"der\" | \"jwk\";\n    interface BasePrivateKeyEncodingOptions<T extends KeyFormat> {\n        format: T;\n        cipher?: string | undefined;\n        passphrase?: string | undefined;\n    }\n    interface KeyPairKeyObjectResult {\n        publicKey: KeyObject;\n        privateKey: KeyObject;\n    }\n    interface ED25519KeyPairKeyObjectOptions {}\n    interface ED448KeyPairKeyObjectOptions {}\n    interface X25519KeyPairKeyObjectOptions {}\n    interface X448KeyPairKeyObjectOptions {}\n    interface ECKeyPairKeyObjectOptions {\n        /**\n         * Name of the curve to use\n         */\n        namedCurve: string;\n        /**\n         * Must be `'named'` or `'explicit'`. Default: `'named'`.\n         */\n        paramEncoding?: \"explicit\" | \"named\" | undefined;\n    }\n    interface RSAKeyPairKeyObjectOptions {\n        /**\n         * Key size in bits\n         */\n        modulusLength: number;\n        /**\n         * Public exponent\n         * @default 0x10001\n         */\n        publicExponent?: number | undefined;\n    }\n    interface RSAPSSKeyPairKeyObjectOptions {\n        /**\n         * Key size in bits\n         */\n        modulusLength: number;\n        /**\n         * Public exponent\n         * @default 0x10001\n         */\n        publicExponent?: number | undefined;\n        /**\n         * Name of the message digest\n         */\n        hashAlgorithm?: string;\n        /**\n         * Name of the message digest used by MGF1\n         */\n        mgf1HashAlgorithm?: string;\n        /**\n         * Minimal salt length in bytes\n         */\n        saltLength?: string;\n    }\n    interface DSAKeyPairKeyObjectOptions {\n        /**\n         * Key size in bits\n         */\n        modulusLength: number;\n        /**\n         * Size of q in bits\n         */\n        divisorLength: number;\n    }\n    interface RSAKeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {\n        /**\n         * Key size in bits\n         */\n        modulusLength: number;\n        /**\n         * Public exponent\n         * @default 0x10001\n         */\n        publicExponent?: number | undefined;\n        publicKeyEncoding: {\n            type: \"pkcs1\" | \"spki\";\n            format: PubF;\n        };\n        privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {\n            type: \"pkcs1\" | \"pkcs8\";\n        };\n    }\n    interface RSAPSSKeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {\n        /**\n         * Key size in bits\n         */\n        modulusLength: number;\n        /**\n         * Public exponent\n         * @default 0x10001\n         */\n        publicExponent?: number | undefined;\n        /**\n         * Name of the message digest\n         */\n        hashAlgorithm?: string;\n        /**\n         * Name of the message digest used by MGF1\n         */\n        mgf1HashAlgorithm?: string;\n        /**\n         * Minimal salt length in bytes\n         */\n        saltLength?: string;\n        publicKeyEncoding: {\n            type: \"spki\";\n            format: PubF;\n        };\n        privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {\n            type: \"pkcs8\";\n        };\n    }\n    interface DSAKeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {\n        /**\n         * Key size in bits\n         */\n        modulusLength: number;\n        /**\n         * Size of q in bits\n         */\n        divisorLength: number;\n        publicKeyEncoding: {\n            type: \"spki\";\n            format: PubF;\n        };\n        privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {\n            type: \"pkcs8\";\n        };\n    }\n    interface ECKeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> extends ECKeyPairKeyObjectOptions {\n        publicKeyEncoding: {\n            type: \"pkcs1\" | \"spki\";\n            format: PubF;\n        };\n        privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {\n            type: \"sec1\" | \"pkcs8\";\n        };\n    }\n    interface ED25519KeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {\n        publicKeyEncoding: {\n            type: \"spki\";\n            format: PubF;\n        };\n        privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {\n            type: \"pkcs8\";\n        };\n    }\n    interface ED448KeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {\n        publicKeyEncoding: {\n            type: \"spki\";\n            format: PubF;\n        };\n        privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {\n            type: \"pkcs8\";\n        };\n    }\n    interface X25519KeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {\n        publicKeyEncoding: {\n            type: \"spki\";\n            format: PubF;\n        };\n        privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {\n            type: \"pkcs8\";\n        };\n    }\n    interface X448KeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {\n        publicKeyEncoding: {\n            type: \"spki\";\n            format: PubF;\n        };\n        privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {\n            type: \"pkcs8\";\n        };\n    }\n    interface KeyPairSyncResult<T1 extends string | Buffer, T2 extends string | Buffer> {\n        publicKey: T1;\n        privateKey: T2;\n    }\n    /**\n     * Generates a new asymmetric key pair of the given `type`. RSA, RSA-PSS, DSA, EC,\n     * Ed25519, Ed448, X25519, X448, and DH are currently supported.\n     *\n     * If a `publicKeyEncoding` or `privateKeyEncoding` was specified, this function\n     * behaves as if `keyObject.export()` had been called on its result. Otherwise,\n     * the respective part of the key is returned as a `KeyObject`.\n     *\n     * When encoding public keys, it is recommended to use `'spki'`. When encoding\n     * private keys, it is recommended to use `'pkcs8'` with a strong passphrase,\n     * and to keep the passphrase confidential.\n     *\n     * ```js\n     * const {\n     *   generateKeyPairSync\n     * } = await import('crypto');\n     *\n     * const {\n     *   publicKey,\n     *   privateKey,\n     * } = generateKeyPairSync('rsa', {\n     *   modulusLength: 4096,\n     *   publicKeyEncoding: {\n     *     type: 'spki',\n     *     format: 'pem'\n     *   },\n     *   privateKeyEncoding: {\n     *     type: 'pkcs8',\n     *     format: 'pem',\n     *     cipher: 'aes-256-cbc',\n     *     passphrase: 'top secret'\n     *   }\n     * });\n     * ```\n     *\n     * The return value `{ publicKey, privateKey }` represents the generated key pair.\n     * When PEM encoding was selected, the respective key will be a string, otherwise\n     * it will be a buffer containing the data encoded as DER.\n     * @since v10.12.0\n     * @param type Must be `'rsa'`, `'rsa-pss'`, `'dsa'`, `'ec'`, `'ed25519'`, `'ed448'`, `'x25519'`, `'x448'`, or `'dh'`.\n     */\n    function generateKeyPairSync(\n        type: \"rsa\",\n        options: RSAKeyPairOptions<\"pem\", \"pem\">,\n    ): KeyPairSyncResult<string, string>;\n    function generateKeyPairSync(\n        type: \"rsa\",\n        options: RSAKeyPairOptions<\"pem\", \"der\">,\n    ): KeyPairSyncResult<string, Buffer>;\n    function generateKeyPairSync(\n        type: \"rsa\",\n        options: RSAKeyPairOptions<\"der\", \"pem\">,\n    ): KeyPairSyncResult<Buffer, string>;\n    function generateKeyPairSync(\n        type: \"rsa\",\n        options: RSAKeyPairOptions<\"der\", \"der\">,\n    ): KeyPairSyncResult<Buffer, Buffer>;\n    function generateKeyPairSync(type: \"rsa\", options: RSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult;\n    function generateKeyPairSync(\n        type: \"rsa-pss\",\n        options: RSAPSSKeyPairOptions<\"pem\", \"pem\">,\n    ): KeyPairSyncResult<string, string>;\n    function generateKeyPairSync(\n        type: \"rsa-pss\",\n        options: RSAPSSKeyPairOptions<\"pem\", \"der\">,\n    ): KeyPairSyncResult<string, Buffer>;\n    function generateKeyPairSync(\n        type: \"rsa-pss\",\n        options: RSAPSSKeyPairOptions<\"der\", \"pem\">,\n    ): KeyPairSyncResult<Buffer, string>;\n    function generateKeyPairSync(\n        type: \"rsa-pss\",\n        options: RSAPSSKeyPairOptions<\"der\", \"der\">,\n    ): KeyPairSyncResult<Buffer, Buffer>;\n    function generateKeyPairSync(type: \"rsa-pss\", options: RSAPSSKeyPairKeyObjectOptions): KeyPairKeyObjectResult;\n    function generateKeyPairSync(\n        type: \"dsa\",\n        options: DSAKeyPairOptions<\"pem\", \"pem\">,\n    ): KeyPairSyncResult<string, string>;\n    function generateKeyPairSync(\n        type: \"dsa\",\n        options: DSAKeyPairOptions<\"pem\", \"der\">,\n    ): KeyPairSyncResult<string, Buffer>;\n    function generateKeyPairSync(\n        type: \"dsa\",\n        options: DSAKeyPairOptions<\"der\", \"pem\">,\n    ): KeyPairSyncResult<Buffer, string>;\n    function generateKeyPairSync(\n        type: \"dsa\",\n        options: DSAKeyPairOptions<\"der\", \"der\">,\n    ): KeyPairSyncResult<Buffer, Buffer>;\n    function generateKeyPairSync(type: \"dsa\", options: DSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult;\n    function generateKeyPairSync(\n        type: \"ec\",\n        options: ECKeyPairOptions<\"pem\", \"pem\">,\n    ): KeyPairSyncResult<string, string>;\n    function generateKeyPairSync(\n        type: \"ec\",\n        options: ECKeyPairOptions<\"pem\", \"der\">,\n    ): KeyPairSyncResult<string, Buffer>;\n    function generateKeyPairSync(\n        type: \"ec\",\n        options: ECKeyPairOptions<\"der\", \"pem\">,\n    ): KeyPairSyncResult<Buffer, string>;\n    function generateKeyPairSync(\n        type: \"ec\",\n        options: ECKeyPairOptions<\"der\", \"der\">,\n    ): KeyPairSyncResult<Buffer, Buffer>;\n    function generateKeyPairSync(type: \"ec\", options: ECKeyPairKeyObjectOptions): KeyPairKeyObjectResult;\n    function generateKeyPairSync(\n        type: \"ed25519\",\n        options: ED25519KeyPairOptions<\"pem\", \"pem\">,\n    ): KeyPairSyncResult<string, string>;\n    function generateKeyPairSync(\n        type: \"ed25519\",\n        options: ED25519KeyPairOptions<\"pem\", \"der\">,\n    ): KeyPairSyncResult<string, Buffer>;\n    function generateKeyPairSync(\n        type: \"ed25519\",\n        options: ED25519KeyPairOptions<\"der\", \"pem\">,\n    ): KeyPairSyncResult<Buffer, string>;\n    function generateKeyPairSync(\n        type: \"ed25519\",\n        options: ED25519KeyPairOptions<\"der\", \"der\">,\n    ): KeyPairSyncResult<Buffer, Buffer>;\n    function generateKeyPairSync(type: \"ed25519\", options?: ED25519KeyPairKeyObjectOptions): KeyPairKeyObjectResult;\n    function generateKeyPairSync(\n        type: \"ed448\",\n        options: ED448KeyPairOptions<\"pem\", \"pem\">,\n    ): KeyPairSyncResult<string, string>;\n    function generateKeyPairSync(\n        type: \"ed448\",\n        options: ED448KeyPairOptions<\"pem\", \"der\">,\n    ): KeyPairSyncResult<string, Buffer>;\n    function generateKeyPairSync(\n        type: \"ed448\",\n        options: ED448KeyPairOptions<\"der\", \"pem\">,\n    ): KeyPairSyncResult<Buffer, string>;\n    function generateKeyPairSync(\n        type: \"ed448\",\n        options: ED448KeyPairOptions<\"der\", \"der\">,\n    ): KeyPairSyncResult<Buffer, Buffer>;\n    function generateKeyPairSync(type: \"ed448\", options?: ED448KeyPairKeyObjectOptions): KeyPairKeyObjectResult;\n    function generateKeyPairSync(\n        type: \"x25519\",\n        options: X25519KeyPairOptions<\"pem\", \"pem\">,\n    ): KeyPairSyncResult<string, string>;\n    function generateKeyPairSync(\n        type: \"x25519\",\n        options: X25519KeyPairOptions<\"pem\", \"der\">,\n    ): KeyPairSyncResult<string, Buffer>;\n    function generateKeyPairSync(\n        type: \"x25519\",\n        options: X25519KeyPairOptions<\"der\", \"pem\">,\n    ): KeyPairSyncResult<Buffer, string>;\n    function generateKeyPairSync(\n        type: \"x25519\",\n        options: X25519KeyPairOptions<\"der\", \"der\">,\n    ): KeyPairSyncResult<Buffer, Buffer>;\n    function generateKeyPairSync(type: \"x25519\", options?: X25519KeyPairKeyObjectOptions): KeyPairKeyObjectResult;\n    function generateKeyPairSync(\n        type: \"x448\",\n        options: X448KeyPairOptions<\"pem\", \"pem\">,\n    ): KeyPairSyncResult<string, string>;\n    function generateKeyPairSync(\n        type: \"x448\",\n        options: X448KeyPairOptions<\"pem\", \"der\">,\n    ): KeyPairSyncResult<string, Buffer>;\n    function generateKeyPairSync(\n        type: \"x448\",\n        options: X448KeyPairOptions<\"der\", \"pem\">,\n    ): KeyPairSyncResult<Buffer, string>;\n    function generateKeyPairSync(\n        type: \"x448\",\n        options: X448KeyPairOptions<\"der\", \"der\">,\n    ): KeyPairSyncResult<Buffer, Buffer>;\n    function generateKeyPairSync(type: \"x448\", options?: X448KeyPairKeyObjectOptions): KeyPairKeyObjectResult;\n    /**\n     * Generates a new asymmetric key pair of the given `type`. RSA, RSA-PSS, DSA, EC,\n     * Ed25519, Ed448, X25519, X448, and DH are currently supported.\n     *\n     * If a `publicKeyEncoding` or `privateKeyEncoding` was specified, this function\n     * behaves as if `keyObject.export()` had been called on its result. Otherwise,\n     * the respective part of the key is returned as a `KeyObject`.\n     *\n     * It is recommended to encode public keys as `'spki'` and private keys as`'pkcs8'` with encryption for long-term storage:\n     *\n     * ```js\n     * const {\n     *   generateKeyPair\n     * } = await import('crypto');\n     *\n     * generateKeyPair('rsa', {\n     *   modulusLength: 4096,\n     *   publicKeyEncoding: {\n     *     type: 'spki',\n     *     format: 'pem'\n     *   },\n     *   privateKeyEncoding: {\n     *     type: 'pkcs8',\n     *     format: 'pem',\n     *     cipher: 'aes-256-cbc',\n     *     passphrase: 'top secret'\n     *   }\n     * }, (err, publicKey, privateKey) => {\n     *   // Handle errors and use the generated key pair.\n     * });\n     * ```\n     *\n     * On completion, `callback` will be called with `err` set to `undefined` and `publicKey` / `privateKey` representing the generated key pair.\n     *\n     * If this method is invoked as its `util.promisify()` ed version, it returns\n     * a `Promise` for an `Object` with `publicKey` and `privateKey` properties.\n     * @since v10.12.0\n     * @param type Must be `'rsa'`, `'rsa-pss'`, `'dsa'`, `'ec'`, `'ed25519'`, `'ed448'`, `'x25519'`, `'x448'`, or `'dh'`.\n     */\n    function generateKeyPair(\n        type: \"rsa\",\n        options: RSAKeyPairOptions<\"pem\", \"pem\">,\n        callback: (err: Error | null, publicKey: string, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"rsa\",\n        options: RSAKeyPairOptions<\"pem\", \"der\">,\n        callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"rsa\",\n        options: RSAKeyPairOptions<\"der\", \"pem\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"rsa\",\n        options: RSAKeyPairOptions<\"der\", \"der\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"rsa\",\n        options: RSAKeyPairKeyObjectOptions,\n        callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"rsa-pss\",\n        options: RSAPSSKeyPairOptions<\"pem\", \"pem\">,\n        callback: (err: Error | null, publicKey: string, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"rsa-pss\",\n        options: RSAPSSKeyPairOptions<\"pem\", \"der\">,\n        callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"rsa-pss\",\n        options: RSAPSSKeyPairOptions<\"der\", \"pem\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"rsa-pss\",\n        options: RSAPSSKeyPairOptions<\"der\", \"der\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"rsa-pss\",\n        options: RSAPSSKeyPairKeyObjectOptions,\n        callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"dsa\",\n        options: DSAKeyPairOptions<\"pem\", \"pem\">,\n        callback: (err: Error | null, publicKey: string, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"dsa\",\n        options: DSAKeyPairOptions<\"pem\", \"der\">,\n        callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"dsa\",\n        options: DSAKeyPairOptions<\"der\", \"pem\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"dsa\",\n        options: DSAKeyPairOptions<\"der\", \"der\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"dsa\",\n        options: DSAKeyPairKeyObjectOptions,\n        callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ec\",\n        options: ECKeyPairOptions<\"pem\", \"pem\">,\n        callback: (err: Error | null, publicKey: string, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ec\",\n        options: ECKeyPairOptions<\"pem\", \"der\">,\n        callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ec\",\n        options: ECKeyPairOptions<\"der\", \"pem\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ec\",\n        options: ECKeyPairOptions<\"der\", \"der\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ec\",\n        options: ECKeyPairKeyObjectOptions,\n        callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ed25519\",\n        options: ED25519KeyPairOptions<\"pem\", \"pem\">,\n        callback: (err: Error | null, publicKey: string, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ed25519\",\n        options: ED25519KeyPairOptions<\"pem\", \"der\">,\n        callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ed25519\",\n        options: ED25519KeyPairOptions<\"der\", \"pem\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ed25519\",\n        options: ED25519KeyPairOptions<\"der\", \"der\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ed25519\",\n        options: ED25519KeyPairKeyObjectOptions | undefined,\n        callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ed448\",\n        options: ED448KeyPairOptions<\"pem\", \"pem\">,\n        callback: (err: Error | null, publicKey: string, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ed448\",\n        options: ED448KeyPairOptions<\"pem\", \"der\">,\n        callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ed448\",\n        options: ED448KeyPairOptions<\"der\", \"pem\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ed448\",\n        options: ED448KeyPairOptions<\"der\", \"der\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"ed448\",\n        options: ED448KeyPairKeyObjectOptions | undefined,\n        callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"x25519\",\n        options: X25519KeyPairOptions<\"pem\", \"pem\">,\n        callback: (err: Error | null, publicKey: string, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"x25519\",\n        options: X25519KeyPairOptions<\"pem\", \"der\">,\n        callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"x25519\",\n        options: X25519KeyPairOptions<\"der\", \"pem\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"x25519\",\n        options: X25519KeyPairOptions<\"der\", \"der\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"x25519\",\n        options: X25519KeyPairKeyObjectOptions | undefined,\n        callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"x448\",\n        options: X448KeyPairOptions<\"pem\", \"pem\">,\n        callback: (err: Error | null, publicKey: string, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"x448\",\n        options: X448KeyPairOptions<\"pem\", \"der\">,\n        callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"x448\",\n        options: X448KeyPairOptions<\"der\", \"pem\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"x448\",\n        options: X448KeyPairOptions<\"der\", \"der\">,\n        callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,\n    ): void;\n    function generateKeyPair(\n        type: \"x448\",\n        options: X448KeyPairKeyObjectOptions | undefined,\n        callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,\n    ): void;\n    namespace generateKeyPair {\n        function __promisify__(\n            type: \"rsa\",\n            options: RSAKeyPairOptions<\"pem\", \"pem\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"rsa\",\n            options: RSAKeyPairOptions<\"pem\", \"der\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"rsa\",\n            options: RSAKeyPairOptions<\"der\", \"pem\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"rsa\",\n            options: RSAKeyPairOptions<\"der\", \"der\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(type: \"rsa\", options: RSAKeyPairKeyObjectOptions): Promise<KeyPairKeyObjectResult>;\n        function __promisify__(\n            type: \"rsa-pss\",\n            options: RSAPSSKeyPairOptions<\"pem\", \"pem\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"rsa-pss\",\n            options: RSAPSSKeyPairOptions<\"pem\", \"der\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"rsa-pss\",\n            options: RSAPSSKeyPairOptions<\"der\", \"pem\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"rsa-pss\",\n            options: RSAPSSKeyPairOptions<\"der\", \"der\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"rsa-pss\",\n            options: RSAPSSKeyPairKeyObjectOptions,\n        ): Promise<KeyPairKeyObjectResult>;\n        function __promisify__(\n            type: \"dsa\",\n            options: DSAKeyPairOptions<\"pem\", \"pem\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"dsa\",\n            options: DSAKeyPairOptions<\"pem\", \"der\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"dsa\",\n            options: DSAKeyPairOptions<\"der\", \"pem\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"dsa\",\n            options: DSAKeyPairOptions<\"der\", \"der\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(type: \"dsa\", options: DSAKeyPairKeyObjectOptions): Promise<KeyPairKeyObjectResult>;\n        function __promisify__(\n            type: \"ec\",\n            options: ECKeyPairOptions<\"pem\", \"pem\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"ec\",\n            options: ECKeyPairOptions<\"pem\", \"der\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"ec\",\n            options: ECKeyPairOptions<\"der\", \"pem\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"ec\",\n            options: ECKeyPairOptions<\"der\", \"der\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(type: \"ec\", options: ECKeyPairKeyObjectOptions): Promise<KeyPairKeyObjectResult>;\n        function __promisify__(\n            type: \"ed25519\",\n            options: ED25519KeyPairOptions<\"pem\", \"pem\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"ed25519\",\n            options: ED25519KeyPairOptions<\"pem\", \"der\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"ed25519\",\n            options: ED25519KeyPairOptions<\"der\", \"pem\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"ed25519\",\n            options: ED25519KeyPairOptions<\"der\", \"der\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"ed25519\",\n            options?: ED25519KeyPairKeyObjectOptions,\n        ): Promise<KeyPairKeyObjectResult>;\n        function __promisify__(\n            type: \"ed448\",\n            options: ED448KeyPairOptions<\"pem\", \"pem\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"ed448\",\n            options: ED448KeyPairOptions<\"pem\", \"der\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"ed448\",\n            options: ED448KeyPairOptions<\"der\", \"pem\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"ed448\",\n            options: ED448KeyPairOptions<\"der\", \"der\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(type: \"ed448\", options?: ED448KeyPairKeyObjectOptions): Promise<KeyPairKeyObjectResult>;\n        function __promisify__(\n            type: \"x25519\",\n            options: X25519KeyPairOptions<\"pem\", \"pem\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"x25519\",\n            options: X25519KeyPairOptions<\"pem\", \"der\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"x25519\",\n            options: X25519KeyPairOptions<\"der\", \"pem\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"x25519\",\n            options: X25519KeyPairOptions<\"der\", \"der\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"x25519\",\n            options?: X25519KeyPairKeyObjectOptions,\n        ): Promise<KeyPairKeyObjectResult>;\n        function __promisify__(\n            type: \"x448\",\n            options: X448KeyPairOptions<\"pem\", \"pem\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"x448\",\n            options: X448KeyPairOptions<\"pem\", \"der\">,\n        ): Promise<{\n            publicKey: string;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(\n            type: \"x448\",\n            options: X448KeyPairOptions<\"der\", \"pem\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: string;\n        }>;\n        function __promisify__(\n            type: \"x448\",\n            options: X448KeyPairOptions<\"der\", \"der\">,\n        ): Promise<{\n            publicKey: Buffer;\n            privateKey: Buffer;\n        }>;\n        function __promisify__(type: \"x448\", options?: X448KeyPairKeyObjectOptions): Promise<KeyPairKeyObjectResult>;\n    }\n    /**\n     * Calculates and returns the signature for `data` using the given private key and\n     * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is\n     * dependent upon the key type (especially Ed25519 and Ed448).\n     *\n     * If `key` is not a `KeyObject`, this function behaves as if `key` had been\n     * passed to {@link createPrivateKey}. If it is an object, the following\n     * additional properties can be passed:\n     *\n     * If the `callback` function is provided this function uses libuv's threadpool.\n     * @since v12.0.0\n     */\n    function sign(\n        algorithm: string | null | undefined,\n        data: NodeJS.ArrayBufferView,\n        key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput,\n    ): Buffer;\n    function sign(\n        algorithm: string | null | undefined,\n        data: NodeJS.ArrayBufferView,\n        key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput,\n        callback: (error: Error | null, data: Buffer) => void,\n    ): void;\n    /**\n     * Verifies the given signature for `data` using the given key and algorithm. If`algorithm` is `null` or `undefined`, then the algorithm is dependent upon the\n     * key type (especially Ed25519 and Ed448).\n     *\n     * If `key` is not a `KeyObject`, this function behaves as if `key` had been\n     * passed to {@link createPublicKey}. If it is an object, the following\n     * additional properties can be passed:\n     *\n     * The `signature` argument is the previously calculated signature for the `data`.\n     *\n     * Because public keys can be derived from private keys, a private key or a public\n     * key may be passed for `key`.\n     *\n     * If the `callback` function is provided this function uses libuv's threadpool.\n     * @since v12.0.0\n     */\n    function verify(\n        algorithm: string | null | undefined,\n        data: NodeJS.ArrayBufferView,\n        key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,\n        signature: NodeJS.ArrayBufferView,\n    ): boolean;\n    function verify(\n        algorithm: string | null | undefined,\n        data: NodeJS.ArrayBufferView,\n        key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,\n        signature: NodeJS.ArrayBufferView,\n        callback: (error: Error | null, result: boolean) => void,\n    ): void;\n    /**\n     * Computes the Diffie-Hellman secret based on a `privateKey` and a `publicKey`.\n     * Both keys must have the same `asymmetricKeyType`, which must be one of `'dh'`(for Diffie-Hellman), `'ec'` (for ECDH), `'x448'`, or `'x25519'` (for ECDH-ES).\n     * @since v13.9.0, v12.17.0\n     */\n    function diffieHellman(options: { privateKey: KeyObject; publicKey: KeyObject }): Buffer;\n    type CipherMode = \"cbc\" | \"ccm\" | \"cfb\" | \"ctr\" | \"ecb\" | \"gcm\" | \"ocb\" | \"ofb\" | \"stream\" | \"wrap\" | \"xts\";\n    interface CipherInfoOptions {\n        /**\n         * A test key length.\n         */\n        keyLength?: number | undefined;\n        /**\n         * A test IV length.\n         */\n        ivLength?: number | undefined;\n    }\n    interface CipherInfo {\n        /**\n         * The name of the cipher.\n         */\n        name: string;\n        /**\n         * The nid of the cipher.\n         */\n        nid: number;\n        /**\n         * The block size of the cipher in bytes.\n         * This property is omitted when mode is 'stream'.\n         */\n        blockSize?: number | undefined;\n        /**\n         * The expected or default initialization vector length in bytes.\n         * This property is omitted if the cipher does not use an initialization vector.\n         */\n        ivLength?: number | undefined;\n        /**\n         * The expected or default key length in bytes.\n         */\n        keyLength: number;\n        /**\n         * The cipher mode.\n         */\n        mode: CipherMode;\n    }\n    /**\n     * Returns information about a given cipher.\n     *\n     * Some ciphers accept variable length keys and initialization vectors. By default,\n     * the `crypto.getCipherInfo()` method will return the default values for these\n     * ciphers. To test if a given key length or iv length is acceptable for given\n     * cipher, use the `keyLength` and `ivLength` options. If the given values are\n     * unacceptable, `undefined` will be returned.\n     * @since v15.0.0\n     * @param nameOrNid The name or nid of the cipher to query.\n     */\n    function getCipherInfo(nameOrNid: string | number, options?: CipherInfoOptions): CipherInfo | undefined;\n    /**\n     * HKDF is a simple key derivation function defined in RFC 5869\\. The given `ikm`, `salt` and `info` are used with the `digest` to derive a key of `keylen` bytes.\n     *\n     * The supplied `callback` function is called with two arguments: `err` and `derivedKey`. If an errors occurs while deriving the key, `err` will be set;\n     * otherwise `err` will be `null`. The successfully generated `derivedKey` will\n     * be passed to the callback as an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). An error will be thrown if any\n     * of the input arguments specify invalid values or types.\n     *\n     * ```js\n     * import { Buffer } from 'buffer';\n     * const {\n     *   hkdf\n     * } = await import('crypto');\n     *\n     * hkdf('sha512', 'key', 'salt', 'info', 64, (err, derivedKey) => {\n     *   if (err) throw err;\n     *   console.log(Buffer.from(derivedKey).toString('hex'));  // '24156e2...5391653'\n     * });\n     * ```\n     * @since v15.0.0\n     * @param digest The digest algorithm to use.\n     * @param ikm The input keying material. It must be at least one byte in length.\n     * @param salt The salt value. Must be provided but can be zero-length.\n     * @param info Additional info value. Must be provided but can be zero-length, and cannot be more than 1024 bytes.\n     * @param keylen The length of the key to generate. Must be greater than 0. The maximum allowable value is `255` times the number of bytes produced by the selected digest function (e.g. `sha512`\n     * generates 64-byte hashes, making the maximum HKDF output 16320 bytes).\n     */\n    function hkdf(\n        digest: string,\n        irm: BinaryLike | KeyObject,\n        salt: BinaryLike,\n        info: BinaryLike,\n        keylen: number,\n        callback: (err: Error | null, derivedKey: ArrayBuffer) => void,\n    ): void;\n    /**\n     * Provides a synchronous HKDF key derivation function as defined in RFC 5869\\. The\n     * given `ikm`, `salt` and `info` are used with the `digest` to derive a key of`keylen` bytes.\n     *\n     * The successfully generated `derivedKey` will be returned as an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer).\n     *\n     * An error will be thrown if any of the input arguments specify invalid values or\n     * types, or if the derived key cannot be generated.\n     *\n     * ```js\n     * import { Buffer } from 'buffer';\n     * const {\n     *   hkdfSync\n     * } = await import('crypto');\n     *\n     * const derivedKey = hkdfSync('sha512', 'key', 'salt', 'info', 64);\n     * console.log(Buffer.from(derivedKey).toString('hex'));  // '24156e2...5391653'\n     * ```\n     * @since v15.0.0\n     * @param digest The digest algorithm to use.\n     * @param ikm The input keying material. It must be at least one byte in length.\n     * @param salt The salt value. Must be provided but can be zero-length.\n     * @param info Additional info value. Must be provided but can be zero-length, and cannot be more than 1024 bytes.\n     * @param keylen The length of the key to generate. Must be greater than 0. The maximum allowable value is `255` times the number of bytes produced by the selected digest function (e.g. `sha512`\n     * generates 64-byte hashes, making the maximum HKDF output 16320 bytes).\n     */\n    function hkdfSync(\n        digest: string,\n        ikm: BinaryLike | KeyObject,\n        salt: BinaryLike,\n        info: BinaryLike,\n        keylen: number,\n    ): ArrayBuffer;\n    interface SecureHeapUsage {\n        /**\n         * The total allocated secure heap size as specified using the `--secure-heap=n` command-line flag.\n         */\n        total: number;\n        /**\n         * The minimum allocation from the secure heap as specified using the `--secure-heap-min` command-line flag.\n         */\n        min: number;\n        /**\n         * The total number of bytes currently allocated from the secure heap.\n         */\n        used: number;\n        /**\n         * The calculated ratio of `used` to `total` allocated bytes.\n         */\n        utilization: number;\n    }\n    /**\n     * @since v15.6.0\n     */\n    function secureHeapUsed(): SecureHeapUsage;\n    interface RandomUUIDOptions {\n        /**\n         * By default, to improve performance,\n         * Node.js will pre-emptively generate and persistently cache enough\n         * random data to generate up to 128 random UUIDs. To generate a UUID\n         * without using the cache, set `disableEntropyCache` to `true`.\n         *\n         * @default `false`\n         */\n        disableEntropyCache?: boolean | undefined;\n    }\n    type UUID = `${string}-${string}-${string}-${string}-${string}`;\n    /**\n     * Generates a random [RFC 4122](https://www.rfc-editor.org/rfc/rfc4122.txt) version 4 UUID. The UUID is generated using a\n     * cryptographic pseudorandom number generator.\n     * @since v15.6.0, v14.17.0\n     */\n    function randomUUID(options?: RandomUUIDOptions): UUID;\n    interface X509CheckOptions {\n        /**\n         * @default 'always'\n         */\n        subject?: \"always\" | \"default\" | \"never\";\n        /**\n         * @default true\n         */\n        wildcards?: boolean;\n        /**\n         * @default true\n         */\n        partialWildcards?: boolean;\n        /**\n         * @default false\n         */\n        multiLabelWildcards?: boolean;\n        /**\n         * @default false\n         */\n        singleLabelSubdomains?: boolean;\n    }\n    /**\n     * Encapsulates an X509 certificate and provides read-only access to\n     * its information.\n     *\n     * ```js\n     * const { X509Certificate } = await import('crypto');\n     *\n     * const x509 = new X509Certificate('{... pem encoded cert ...}');\n     *\n     * console.log(x509.subject);\n     * ```\n     * @since v15.6.0\n     */\n    class X509Certificate {\n        /**\n         * Will be \\`true\\` if this is a Certificate Authority (CA) certificate.\n         * @since v15.6.0\n         */\n        readonly ca: boolean;\n        /**\n         * The SHA-1 fingerprint of this certificate.\n         *\n         * Because SHA-1 is cryptographically broken and because the security of SHA-1 is\n         * significantly worse than that of algorithms that are commonly used to sign\n         * certificates, consider using `x509.fingerprint256` instead.\n         * @since v15.6.0\n         */\n        readonly fingerprint: string;\n        /**\n         * The SHA-256 fingerprint of this certificate.\n         * @since v15.6.0\n         */\n        readonly fingerprint256: string;\n        /**\n         * The SHA-512 fingerprint of this certificate.\n         * @since v16.14.0\n         */\n        readonly fingerprint512: string;\n        /**\n         * The complete subject of this certificate.\n         * @since v15.6.0\n         */\n        readonly subject: string;\n        /**\n         * The subject alternative name specified for this certificate or `undefined`\n         * if not available.\n         * @since v15.6.0\n         */\n        readonly subjectAltName: string | undefined;\n        /**\n         * The information access content of this certificate or `undefined` if not\n         * available.\n         * @since v15.6.0\n         */\n        readonly infoAccess: string | undefined;\n        /**\n         * An array detailing the key usages for this certificate.\n         * @since v15.6.0\n         */\n        readonly keyUsage: string[];\n        /**\n         * The issuer identification included in this certificate.\n         * @since v15.6.0\n         */\n        readonly issuer: string;\n        /**\n         * The issuer certificate or `undefined` if the issuer certificate is not\n         * available.\n         * @since v15.9.0\n         */\n        readonly issuerCertificate?: X509Certificate | undefined;\n        /**\n         * The public key `KeyObject` for this certificate.\n         * @since v15.6.0\n         */\n        readonly publicKey: KeyObject;\n        /**\n         * A `Buffer` containing the DER encoding of this certificate.\n         * @since v15.6.0\n         */\n        readonly raw: Buffer;\n        /**\n         * The serial number of this certificate.\n         *\n         * Serial numbers are assigned by certificate authorities and do not uniquely\n         * identify certificates. Consider using `x509.fingerprint256` as a unique\n         * identifier instead.\n         * @since v15.6.0\n         */\n        readonly serialNumber: string;\n        /**\n         * The date/time from which this certificate is considered valid.\n         * @since v15.6.0\n         */\n        readonly validFrom: string;\n        /**\n         * The date/time until which this certificate is considered valid.\n         * @since v15.6.0\n         */\n        readonly validTo: string;\n        constructor(buffer: BinaryLike);\n        /**\n         * Checks whether the certificate matches the given email address.\n         *\n         * If the `'subject'` option is undefined or set to `'default'`, the certificate\n         * subject is only considered if the subject alternative name extension either does\n         * not exist or does not contain any email addresses.\n         *\n         * If the `'subject'` option is set to `'always'` and if the subject alternative\n         * name extension either does not exist or does not contain a matching email\n         * address, the certificate subject is considered.\n         *\n         * If the `'subject'` option is set to `'never'`, the certificate subject is never\n         * considered, even if the certificate contains no subject alternative names.\n         * @since v15.6.0\n         * @return Returns `email` if the certificate matches, `undefined` if it does not.\n         */\n        checkEmail(email: string, options?: Pick<X509CheckOptions, \"subject\">): string | undefined;\n        /**\n         * Checks whether the certificate matches the given host name.\n         *\n         * If the certificate matches the given host name, the matching subject name is\n         * returned. The returned name might be an exact match (e.g., `foo.example.com`)\n         * or it might contain wildcards (e.g., `*.example.com`). Because host name\n         * comparisons are case-insensitive, the returned subject name might also differ\n         * from the given `name` in capitalization.\n         *\n         * If the `'subject'` option is undefined or set to `'default'`, the certificate\n         * subject is only considered if the subject alternative name extension either does\n         * not exist or does not contain any DNS names. This behavior is consistent with [RFC 2818](https://www.rfc-editor.org/rfc/rfc2818.txt) (\"HTTP Over TLS\").\n         *\n         * If the `'subject'` option is set to `'always'` and if the subject alternative\n         * name extension either does not exist or does not contain a matching DNS name,\n         * the certificate subject is considered.\n         *\n         * If the `'subject'` option is set to `'never'`, the certificate subject is never\n         * considered, even if the certificate contains no subject alternative names.\n         * @since v15.6.0\n         * @return Returns a subject name that matches `name`, or `undefined` if no subject name matches `name`.\n         */\n        checkHost(name: string, options?: X509CheckOptions): string | undefined;\n        /**\n         * Checks whether the certificate matches the given IP address (IPv4 or IPv6).\n         *\n         * Only [RFC 5280](https://www.rfc-editor.org/rfc/rfc5280.txt) `iPAddress` subject alternative names are considered, and they\n         * must match the given `ip` address exactly. Other subject alternative names as\n         * well as the subject field of the certificate are ignored.\n         * @since v15.6.0\n         * @return Returns `ip` if the certificate matches, `undefined` if it does not.\n         */\n        checkIP(ip: string): string | undefined;\n        /**\n         * Checks whether this certificate was issued by the given `otherCert`.\n         * @since v15.6.0\n         */\n        checkIssued(otherCert: X509Certificate): boolean;\n        /**\n         * Checks whether the public key for this certificate is consistent with\n         * the given private key.\n         * @since v15.6.0\n         * @param privateKey A private key.\n         */\n        checkPrivateKey(privateKey: KeyObject): boolean;\n        /**\n         * There is no standard JSON encoding for X509 certificates. The`toJSON()` method returns a string containing the PEM encoded\n         * certificate.\n         * @since v15.6.0\n         */\n        toJSON(): string;\n        /**\n         * Returns information about this certificate using the legacy `certificate object` encoding.\n         * @since v15.6.0\n         */\n        toLegacyObject(): PeerCertificate;\n        /**\n         * Returns the PEM-encoded certificate.\n         * @since v15.6.0\n         */\n        toString(): string;\n        /**\n         * Verifies that this certificate was signed by the given public key.\n         * Does not perform any other validation checks on the certificate.\n         * @since v15.6.0\n         * @param publicKey A public key.\n         */\n        verify(publicKey: KeyObject): boolean;\n    }\n    type LargeNumberLike = NodeJS.ArrayBufferView | SharedArrayBuffer | ArrayBuffer | bigint;\n    interface GeneratePrimeOptions {\n        add?: LargeNumberLike | undefined;\n        rem?: LargeNumberLike | undefined;\n        /**\n         * @default false\n         */\n        safe?: boolean | undefined;\n        bigint?: boolean | undefined;\n    }\n    interface GeneratePrimeOptionsBigInt extends GeneratePrimeOptions {\n        bigint: true;\n    }\n    interface GeneratePrimeOptionsArrayBuffer extends GeneratePrimeOptions {\n        bigint?: false | undefined;\n    }\n    /**\n     * Generates a pseudorandom prime of `size` bits.\n     *\n     * If `options.safe` is `true`, the prime will be a safe prime -- that is,`(prime - 1) / 2` will also be a prime.\n     *\n     * The `options.add` and `options.rem` parameters can be used to enforce additional\n     * requirements, e.g., for Diffie-Hellman:\n     *\n     * * If `options.add` and `options.rem` are both set, the prime will satisfy the\n     * condition that `prime % add = rem`.\n     * * If only `options.add` is set and `options.safe` is not `true`, the prime will\n     * satisfy the condition that `prime % add = 1`.\n     * * If only `options.add` is set and `options.safe` is set to `true`, the prime\n     * will instead satisfy the condition that `prime % add = 3`. This is necessary\n     * because `prime % add = 1` for `options.add > 2` would contradict the condition\n     * enforced by `options.safe`.\n     * * `options.rem` is ignored if `options.add` is not given.\n     *\n     * Both `options.add` and `options.rem` must be encoded as big-endian sequences\n     * if given as an `ArrayBuffer`, `SharedArrayBuffer`, `TypedArray`, `Buffer`, or`DataView`.\n     *\n     * By default, the prime is encoded as a big-endian sequence of octets\n     * in an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). If the `bigint` option is `true`, then a\n     * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) is provided.\n     * @since v15.8.0\n     * @param size The size (in bits) of the prime to generate.\n     */\n    function generatePrime(size: number, callback: (err: Error | null, prime: ArrayBuffer) => void): void;\n    function generatePrime(\n        size: number,\n        options: GeneratePrimeOptionsBigInt,\n        callback: (err: Error | null, prime: bigint) => void,\n    ): void;\n    function generatePrime(\n        size: number,\n        options: GeneratePrimeOptionsArrayBuffer,\n        callback: (err: Error | null, prime: ArrayBuffer) => void,\n    ): void;\n    function generatePrime(\n        size: number,\n        options: GeneratePrimeOptions,\n        callback: (err: Error | null, prime: ArrayBuffer | bigint) => void,\n    ): void;\n    /**\n     * Generates a pseudorandom prime of `size` bits.\n     *\n     * If `options.safe` is `true`, the prime will be a safe prime -- that is,`(prime - 1) / 2` will also be a prime.\n     *\n     * The `options.add` and `options.rem` parameters can be used to enforce additional\n     * requirements, e.g., for Diffie-Hellman:\n     *\n     * * If `options.add` and `options.rem` are both set, the prime will satisfy the\n     * condition that `prime % add = rem`.\n     * * If only `options.add` is set and `options.safe` is not `true`, the prime will\n     * satisfy the condition that `prime % add = 1`.\n     * * If only `options.add` is set and `options.safe` is set to `true`, the prime\n     * will instead satisfy the condition that `prime % add = 3`. This is necessary\n     * because `prime % add = 1` for `options.add > 2` would contradict the condition\n     * enforced by `options.safe`.\n     * * `options.rem` is ignored if `options.add` is not given.\n     *\n     * Both `options.add` and `options.rem` must be encoded as big-endian sequences\n     * if given as an `ArrayBuffer`, `SharedArrayBuffer`, `TypedArray`, `Buffer`, or`DataView`.\n     *\n     * By default, the prime is encoded as a big-endian sequence of octets\n     * in an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). If the `bigint` option is `true`, then a\n     * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) is provided.\n     * @since v15.8.0\n     * @param size The size (in bits) of the prime to generate.\n     */\n    function generatePrimeSync(size: number): ArrayBuffer;\n    function generatePrimeSync(size: number, options: GeneratePrimeOptionsBigInt): bigint;\n    function generatePrimeSync(size: number, options: GeneratePrimeOptionsArrayBuffer): ArrayBuffer;\n    function generatePrimeSync(size: number, options: GeneratePrimeOptions): ArrayBuffer | bigint;\n    interface CheckPrimeOptions {\n        /**\n         * The number of Miller-Rabin probabilistic primality iterations to perform.\n         * When the value is 0 (zero), a number of checks is used that yields a false positive rate of at most `2**-64` for random input.\n         * Care must be used when selecting a number of checks.\n         * Refer to the OpenSSL documentation for the BN_is_prime_ex function nchecks options for more details.\n         *\n         * @default 0\n         */\n        checks?: number | undefined;\n    }\n    /**\n     * Checks the primality of the `candidate`.\n     * @since v15.8.0\n     * @param candidate A possible prime encoded as a sequence of big endian octets of arbitrary length.\n     */\n    function checkPrime(value: LargeNumberLike, callback: (err: Error | null, result: boolean) => void): void;\n    function checkPrime(\n        value: LargeNumberLike,\n        options: CheckPrimeOptions,\n        callback: (err: Error | null, result: boolean) => void,\n    ): void;\n    /**\n     * Checks the primality of the `candidate`.\n     * @since v15.8.0\n     * @param candidate A possible prime encoded as a sequence of big endian octets of arbitrary length.\n     * @return `true` if the candidate is a prime with an error probability less than `0.25 ** options.checks`.\n     */\n    function checkPrimeSync(candidate: LargeNumberLike, options?: CheckPrimeOptions): boolean;\n    /**\n     * Load and set the `engine` for some or all OpenSSL functions (selected by flags).\n     *\n     * `engine` could be either an id or a path to the engine's shared library.\n     *\n     * The optional `flags` argument uses `ENGINE_METHOD_ALL` by default.\n     * The `flags` is a bit field taking one of or a mix of the following flags (defined in `crypto.constants`):\n     *\n     * - `crypto.constants.ENGINE_METHOD_RSA`\n     * - `crypto.constants.ENGINE_METHOD_DSA`\n     * - `crypto.constants.ENGINE_METHOD_DH`\n     * - `crypto.constants.ENGINE_METHOD_RAND`\n     * - `crypto.constants.ENGINE_METHOD_EC`\n     * - `crypto.constants.ENGINE_METHOD_CIPHERS`\n     * - `crypto.constants.ENGINE_METHOD_DIGESTS`\n     * - `crypto.constants.ENGINE_METHOD_PKEY_METHS`\n     * - `crypto.constants.ENGINE_METHOD_PKEY_ASN1_METHS`\n     * - `crypto.constants.ENGINE_METHOD_ALL`\n     * - `crypto.constants.ENGINE_METHOD_NONE`\n     *\n     * The flags below are deprecated in OpenSSL-1.1.0.\n     *\n     * - `crypto.constants.ENGINE_METHOD_ECDH`\n     * - `crypto.constants.ENGINE_METHOD_ECDSA`\n     * - `crypto.constants.ENGINE_METHOD_STORE`\n     * @since v0.11.11\n     * @param [flags=crypto.constants.ENGINE_METHOD_ALL]\n     */\n    function setEngine(engine: string, flags?: number): void;\n    /**\n     * A convenient alias for `crypto.webcrypto.getRandomValues()`.\n     * This implementation is not compliant with the Web Crypto spec,\n     * to write web-compatible code use `crypto.webcrypto.getRandomValues()` instead.\n     * @since v17.4.0\n     * @returns Returns `typedArray`.\n     */\n    function getRandomValues<T extends webcrypto.BufferSource>(typedArray: T): T;\n    /**\n     * A convenient alias for `crypto.webcrypto.subtle`.\n     * @since v17.4.0\n     */\n    const subtle: webcrypto.SubtleCrypto;\n    /**\n     * An implementation of the Web Crypto API standard.\n     *\n     * See the {@link https://nodejs.org/docs/latest/api/webcrypto.html Web Crypto API documentation} for details.\n     * @since v15.0.0\n     */\n    const webcrypto: webcrypto.Crypto;\n    namespace webcrypto {\n        type BufferSource = ArrayBufferView | ArrayBuffer;\n        type KeyFormat = \"jwk\" | \"pkcs8\" | \"raw\" | \"spki\";\n        type KeyType = \"private\" | \"public\" | \"secret\";\n        type KeyUsage =\n            | \"decrypt\"\n            | \"deriveBits\"\n            | \"deriveKey\"\n            | \"encrypt\"\n            | \"sign\"\n            | \"unwrapKey\"\n            | \"verify\"\n            | \"wrapKey\";\n        type AlgorithmIdentifier = Algorithm | string;\n        type HashAlgorithmIdentifier = AlgorithmIdentifier;\n        type NamedCurve = string;\n        type BigInteger = Uint8Array;\n        interface AesCbcParams extends Algorithm {\n            iv: BufferSource;\n        }\n        interface AesCtrParams extends Algorithm {\n            counter: BufferSource;\n            length: number;\n        }\n        interface AesDerivedKeyParams extends Algorithm {\n            length: number;\n        }\n        interface AesGcmParams extends Algorithm {\n            additionalData?: BufferSource;\n            iv: BufferSource;\n            tagLength?: number;\n        }\n        interface AesKeyAlgorithm extends KeyAlgorithm {\n            length: number;\n        }\n        interface AesKeyGenParams extends Algorithm {\n            length: number;\n        }\n        interface Algorithm {\n            name: string;\n        }\n        interface EcKeyAlgorithm extends KeyAlgorithm {\n            namedCurve: NamedCurve;\n        }\n        interface EcKeyGenParams extends Algorithm {\n            namedCurve: NamedCurve;\n        }\n        interface EcKeyImportParams extends Algorithm {\n            namedCurve: NamedCurve;\n        }\n        interface EcdhKeyDeriveParams extends Algorithm {\n            public: CryptoKey;\n        }\n        interface EcdsaParams extends Algorithm {\n            hash: HashAlgorithmIdentifier;\n        }\n        interface Ed448Params extends Algorithm {\n            context?: BufferSource;\n        }\n        interface HkdfParams extends Algorithm {\n            hash: HashAlgorithmIdentifier;\n            info: BufferSource;\n            salt: BufferSource;\n        }\n        interface HmacImportParams extends Algorithm {\n            hash: HashAlgorithmIdentifier;\n            length?: number;\n        }\n        interface HmacKeyAlgorithm extends KeyAlgorithm {\n            hash: KeyAlgorithm;\n            length: number;\n        }\n        interface HmacKeyGenParams extends Algorithm {\n            hash: HashAlgorithmIdentifier;\n            length?: number;\n        }\n        interface JsonWebKey {\n            alg?: string;\n            crv?: string;\n            d?: string;\n            dp?: string;\n            dq?: string;\n            e?: string;\n            ext?: boolean;\n            k?: string;\n            key_ops?: string[];\n            kty?: string;\n            n?: string;\n            oth?: RsaOtherPrimesInfo[];\n            p?: string;\n            q?: string;\n            qi?: string;\n            use?: string;\n            x?: string;\n            y?: string;\n        }\n        interface KeyAlgorithm {\n            name: string;\n        }\n        interface Pbkdf2Params extends Algorithm {\n            hash: HashAlgorithmIdentifier;\n            iterations: number;\n            salt: BufferSource;\n        }\n        interface RsaHashedImportParams extends Algorithm {\n            hash: HashAlgorithmIdentifier;\n        }\n        interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {\n            hash: KeyAlgorithm;\n        }\n        interface RsaHashedKeyGenParams extends RsaKeyGenParams {\n            hash: HashAlgorithmIdentifier;\n        }\n        interface RsaKeyAlgorithm extends KeyAlgorithm {\n            modulusLength: number;\n            publicExponent: BigInteger;\n        }\n        interface RsaKeyGenParams extends Algorithm {\n            modulusLength: number;\n            publicExponent: BigInteger;\n        }\n        interface RsaOaepParams extends Algorithm {\n            label?: BufferSource;\n        }\n        interface RsaOtherPrimesInfo {\n            d?: string;\n            r?: string;\n            t?: string;\n        }\n        interface RsaPssParams extends Algorithm {\n            saltLength: number;\n        }\n        /**\n         * Importing the `webcrypto` object (`import { webcrypto } from 'node:crypto'`) gives an instance of the `Crypto` class.\n         * `Crypto` is a singleton that provides access to the remainder of the crypto API.\n         * @since v15.0.0\n         */\n        interface Crypto {\n            /**\n             * Provides access to the `SubtleCrypto` API.\n             * @since v15.0.0\n             */\n            readonly subtle: SubtleCrypto;\n            /**\n             * Generates cryptographically strong random values.\n             * The given `typedArray` is filled with random values, and a reference to `typedArray` is returned.\n             *\n             * The given `typedArray` must be an integer-based instance of {@link NodeJS.TypedArray}, i.e. `Float32Array` and `Float64Array` are not accepted.\n             *\n             * An error will be thrown if the given `typedArray` is larger than 65,536 bytes.\n             * @since v15.0.0\n             */\n            getRandomValues<T extends Exclude<NodeJS.TypedArray, Float32Array | Float64Array>>(typedArray: T): T;\n            /**\n             * Generates a random {@link https://www.rfc-editor.org/rfc/rfc4122.txt RFC 4122} version 4 UUID.\n             * The UUID is generated using a cryptographic pseudorandom number generator.\n             * @since v16.7.0\n             */\n            randomUUID(): UUID;\n            CryptoKey: CryptoKeyConstructor;\n        }\n        // This constructor throws ILLEGAL_CONSTRUCTOR so it should not be newable.\n        interface CryptoKeyConstructor {\n            /** Illegal constructor */\n            (_: { readonly _: unique symbol }): never; // Allows instanceof to work but not be callable by the user.\n            readonly length: 0;\n            readonly name: \"CryptoKey\";\n            readonly prototype: CryptoKey;\n        }\n        /**\n         * @since v15.0.0\n         */\n        interface CryptoKey {\n            /**\n             * An object detailing the algorithm for which the key can be used along with additional algorithm-specific parameters.\n             * @since v15.0.0\n             */\n            readonly algorithm: KeyAlgorithm;\n            /**\n             * When `true`, the {@link CryptoKey} can be extracted using either `subtleCrypto.exportKey()` or `subtleCrypto.wrapKey()`.\n             * @since v15.0.0\n             */\n            readonly extractable: boolean;\n            /**\n             * A string identifying whether the key is a symmetric (`'secret'`) or asymmetric (`'private'` or `'public'`) key.\n             * @since v15.0.0\n             */\n            readonly type: KeyType;\n            /**\n             * An array of strings identifying the operations for which the key may be used.\n             *\n             * The possible usages are:\n             * - `'encrypt'` - The key may be used to encrypt data.\n             * - `'decrypt'` - The key may be used to decrypt data.\n             * - `'sign'` - The key may be used to generate digital signatures.\n             * - `'verify'` - The key may be used to verify digital signatures.\n             * - `'deriveKey'` - The key may be used to derive a new key.\n             * - `'deriveBits'` - The key may be used to derive bits.\n             * - `'wrapKey'` - The key may be used to wrap another key.\n             * - `'unwrapKey'` - The key may be used to unwrap another key.\n             *\n             * Valid key usages depend on the key algorithm (identified by `cryptokey.algorithm.name`).\n             * @since v15.0.0\n             */\n            readonly usages: KeyUsage[];\n        }\n        /**\n         * The `CryptoKeyPair` is a simple dictionary object with `publicKey` and `privateKey` properties, representing an asymmetric key pair.\n         * @since v15.0.0\n         */\n        interface CryptoKeyPair {\n            /**\n             * A {@link CryptoKey} whose type will be `'private'`.\n             * @since v15.0.0\n             */\n            privateKey: CryptoKey;\n            /**\n             * A {@link CryptoKey} whose type will be `'public'`.\n             * @since v15.0.0\n             */\n            publicKey: CryptoKey;\n        }\n        /**\n         * @since v15.0.0\n         */\n        interface SubtleCrypto {\n            /**\n             * Using the method and parameters specified in `algorithm` and the keying material provided by `key`,\n             * `subtle.decrypt()` attempts to decipher the provided `data`. If successful,\n             * the returned promise will be resolved with an `<ArrayBuffer>` containing the plaintext result.\n             *\n             * The algorithms currently supported include:\n             *\n             * - `'RSA-OAEP'`\n             * - `'AES-CTR'`\n             * - `'AES-CBC'`\n             * - `'AES-GCM'`\n             * @since v15.0.0\n             */\n            decrypt(\n                algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams,\n                key: CryptoKey,\n                data: BufferSource,\n            ): Promise<ArrayBuffer>;\n            /**\n             * Using the method and parameters specified in `algorithm` and the keying material provided by `baseKey`,\n             * `subtle.deriveBits()` attempts to generate `length` bits.\n             * The Node.js implementation requires that when `length` is a number it must be multiple of `8`.\n             * When `length` is `null` the maximum number of bits for a given algorithm is generated. This is allowed\n             * for the `'ECDH'`, `'X25519'`, and `'X448'` algorithms.\n             * If successful, the returned promise will be resolved with an `<ArrayBuffer>` containing the generated data.\n             *\n             * The algorithms currently supported include:\n             *\n             * - `'ECDH'`\n             * - `'X25519'`\n             * - `'X448'`\n             * - `'HKDF'`\n             * - `'PBKDF2'`\n             * @since v15.0.0\n             */\n            deriveBits(algorithm: EcdhKeyDeriveParams, baseKey: CryptoKey, length: number | null): Promise<ArrayBuffer>;\n            deriveBits(\n                algorithm: AlgorithmIdentifier | HkdfParams | Pbkdf2Params,\n                baseKey: CryptoKey,\n                length: number,\n            ): Promise<ArrayBuffer>;\n            /**\n             * Using the method and parameters specified in `algorithm`, and the keying material provided by `baseKey`,\n             * `subtle.deriveKey()` attempts to generate a new <CryptoKey>` based on the method and parameters in `derivedKeyAlgorithm`.\n             *\n             * Calling `subtle.deriveKey()` is equivalent to calling `subtle.deriveBits()` to generate raw keying material,\n             * then passing the result into the `subtle.importKey()` method using the `deriveKeyAlgorithm`, `extractable`, and `keyUsages` parameters as input.\n             *\n             * The algorithms currently supported include:\n             *\n             * - `'ECDH'`\n             * - `'X25519'`\n             * - `'X448'`\n             * - `'HKDF'`\n             * - `'PBKDF2'`\n             * @param keyUsages See {@link https://nodejs.org/docs/latest/api/webcrypto.html#cryptokeyusages Key usages}.\n             * @since v15.0.0\n             */\n            deriveKey(\n                algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params,\n                baseKey: CryptoKey,\n                derivedKeyAlgorithm:\n                    | AlgorithmIdentifier\n                    | AesDerivedKeyParams\n                    | HmacImportParams\n                    | HkdfParams\n                    | Pbkdf2Params,\n                extractable: boolean,\n                keyUsages: readonly KeyUsage[],\n            ): Promise<CryptoKey>;\n            /**\n             * Using the method identified by `algorithm`, `subtle.digest()` attempts to generate a digest of `data`.\n             * If successful, the returned promise is resolved with an `<ArrayBuffer>` containing the computed digest.\n             *\n             * If `algorithm` is provided as a `<string>`, it must be one of:\n             *\n             * - `'SHA-1'`\n             * - `'SHA-256'`\n             * - `'SHA-384'`\n             * - `'SHA-512'`\n             *\n             * If `algorithm` is provided as an `<Object>`, it must have a `name` property whose value is one of the above.\n             * @since v15.0.0\n             */\n            digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;\n            /**\n             * Using the method and parameters specified by `algorithm` and the keying material provided by `key`,\n             * `subtle.encrypt()` attempts to encipher `data`. If successful,\n             * the returned promise is resolved with an `<ArrayBuffer>` containing the encrypted result.\n             *\n             * The algorithms currently supported include:\n             *\n             * - `'RSA-OAEP'`\n             * - `'AES-CTR'`\n             * - `'AES-CBC'`\n             * - `'AES-GCM'`\n             * @since v15.0.0\n             */\n            encrypt(\n                algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams,\n                key: CryptoKey,\n                data: BufferSource,\n            ): Promise<ArrayBuffer>;\n            /**\n             * Exports the given key into the specified format, if supported.\n             *\n             * If the `<CryptoKey>` is not extractable, the returned promise will reject.\n             *\n             * When `format` is either `'pkcs8'` or `'spki'` and the export is successful,\n             * the returned promise will be resolved with an `<ArrayBuffer>` containing the exported key data.\n             *\n             * When `format` is `'jwk'` and the export is successful, the returned promise will be resolved with a\n             * JavaScript object conforming to the {@link https://tools.ietf.org/html/rfc7517 JSON Web Key} specification.\n             * @param format Must be one of `'raw'`, `'pkcs8'`, `'spki'`, or `'jwk'`.\n             * @returns `<Promise>` containing `<ArrayBuffer>`.\n             * @since v15.0.0\n             */\n            exportKey(format: \"jwk\", key: CryptoKey): Promise<JsonWebKey>;\n            exportKey(format: Exclude<KeyFormat, \"jwk\">, key: CryptoKey): Promise<ArrayBuffer>;\n            /**\n             * Using the method and parameters provided in `algorithm`,\n             * `subtle.generateKey()` attempts to generate new keying material.\n             * Depending the method used, the method may generate either a single `<CryptoKey>` or a `<CryptoKeyPair>`.\n             *\n             * The `<CryptoKeyPair>` (public and private key) generating algorithms supported include:\n             *\n             * - `'RSASSA-PKCS1-v1_5'`\n             * - `'RSA-PSS'`\n             * - `'RSA-OAEP'`\n             * - `'ECDSA'`\n             * - `'Ed25519'`\n             * - `'Ed448'`\n             * - `'ECDH'`\n             * - `'X25519'`\n             * - `'X448'`\n             * The `<CryptoKey>` (secret key) generating algorithms supported include:\n             *\n             * - `'HMAC'`\n             * - `'AES-CTR'`\n             * - `'AES-CBC'`\n             * - `'AES-GCM'`\n             * - `'AES-KW'`\n             * @param keyUsages See {@link https://nodejs.org/docs/latest/api/webcrypto.html#cryptokeyusages Key usages}.\n             * @since v15.0.0\n             */\n            generateKey(\n                algorithm: RsaHashedKeyGenParams | EcKeyGenParams,\n                extractable: boolean,\n                keyUsages: readonly KeyUsage[],\n            ): Promise<CryptoKeyPair>;\n            generateKey(\n                algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params,\n                extractable: boolean,\n                keyUsages: readonly KeyUsage[],\n            ): Promise<CryptoKey>;\n            generateKey(\n                algorithm: AlgorithmIdentifier,\n                extractable: boolean,\n                keyUsages: KeyUsage[],\n            ): Promise<CryptoKeyPair | CryptoKey>;\n            /**\n             * The `subtle.importKey()` method attempts to interpret the provided `keyData` as the given `format`\n             * to create a `<CryptoKey>` instance using the provided `algorithm`, `extractable`, and `keyUsages` arguments.\n             * If the import is successful, the returned promise will be resolved with the created `<CryptoKey>`.\n             *\n             * If importing a `'PBKDF2'` key, `extractable` must be `false`.\n             * @param format Must be one of `'raw'`, `'pkcs8'`, `'spki'`, or `'jwk'`.\n             * @param keyUsages See {@link https://nodejs.org/docs/latest/api/webcrypto.html#cryptokeyusages Key usages}.\n             * @since v15.0.0\n             */\n            importKey(\n                format: \"jwk\",\n                keyData: JsonWebKey,\n                algorithm:\n                    | AlgorithmIdentifier\n                    | RsaHashedImportParams\n                    | EcKeyImportParams\n                    | HmacImportParams\n                    | AesKeyAlgorithm,\n                extractable: boolean,\n                keyUsages: readonly KeyUsage[],\n            ): Promise<CryptoKey>;\n            importKey(\n                format: Exclude<KeyFormat, \"jwk\">,\n                keyData: BufferSource,\n                algorithm:\n                    | AlgorithmIdentifier\n                    | RsaHashedImportParams\n                    | EcKeyImportParams\n                    | HmacImportParams\n                    | AesKeyAlgorithm,\n                extractable: boolean,\n                keyUsages: KeyUsage[],\n            ): Promise<CryptoKey>;\n            /**\n             * Using the method and parameters given by `algorithm` and the keying material provided by `key`,\n             * `subtle.sign()` attempts to generate a cryptographic signature of `data`. If successful,\n             * the returned promise is resolved with an `<ArrayBuffer>` containing the generated signature.\n             *\n             * The algorithms currently supported include:\n             *\n             * - `'RSASSA-PKCS1-v1_5'`\n             * - `'RSA-PSS'`\n             * - `'ECDSA'`\n             * - `'Ed25519'`\n             * - `'Ed448'`\n             * - `'HMAC'`\n             * @since v15.0.0\n             */\n            sign(\n                algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams | Ed448Params,\n                key: CryptoKey,\n                data: BufferSource,\n            ): Promise<ArrayBuffer>;\n            /**\n             * In cryptography, \"wrapping a key\" refers to exporting and then encrypting the keying material.\n             * The `subtle.unwrapKey()` method attempts to decrypt a wrapped key and create a `<CryptoKey>` instance.\n             * It is equivalent to calling `subtle.decrypt()` first on the encrypted key data (using the `wrappedKey`, `unwrapAlgo`, and `unwrappingKey` arguments as input)\n             * then passing the results in to the `subtle.importKey()` method using the `unwrappedKeyAlgo`, `extractable`, and `keyUsages` arguments as inputs.\n             * If successful, the returned promise is resolved with a `<CryptoKey>` object.\n             *\n             * The wrapping algorithms currently supported include:\n             *\n             * - `'RSA-OAEP'`\n             * - `'AES-CTR'`\n             * - `'AES-CBC'`\n             * - `'AES-GCM'`\n             * - `'AES-KW'`\n             *\n             * The unwrapped key algorithms supported include:\n             *\n             * - `'RSASSA-PKCS1-v1_5'`\n             * - `'RSA-PSS'`\n             * - `'RSA-OAEP'`\n             * - `'ECDSA'`\n             * - `'Ed25519'`\n             * - `'Ed448'`\n             * - `'ECDH'`\n             * - `'X25519'`\n             * - `'X448'`\n             * - `'HMAC'`\n             * - `'AES-CTR'`\n             * - `'AES-CBC'`\n             * - `'AES-GCM'`\n             * - `'AES-KW'`\n             * @param format Must be one of `'raw'`, `'pkcs8'`, `'spki'`, or `'jwk'`.\n             * @param keyUsages See {@link https://nodejs.org/docs/latest/api/webcrypto.html#cryptokeyusages Key usages}.\n             * @since v15.0.0\n             */\n            unwrapKey(\n                format: KeyFormat,\n                wrappedKey: BufferSource,\n                unwrappingKey: CryptoKey,\n                unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams,\n                unwrappedKeyAlgorithm:\n                    | AlgorithmIdentifier\n                    | RsaHashedImportParams\n                    | EcKeyImportParams\n                    | HmacImportParams\n                    | AesKeyAlgorithm,\n                extractable: boolean,\n                keyUsages: KeyUsage[],\n            ): Promise<CryptoKey>;\n            /**\n             * Using the method and parameters given in `algorithm` and the keying material provided by `key`,\n             * `subtle.verify()` attempts to verify that `signature` is a valid cryptographic signature of `data`.\n             * The returned promise is resolved with either `true` or `false`.\n             *\n             * The algorithms currently supported include:\n             *\n             * - `'RSASSA-PKCS1-v1_5'`\n             * - `'RSA-PSS'`\n             * - `'ECDSA'`\n             * - `'Ed25519'`\n             * - `'Ed448'`\n             * - `'HMAC'`\n             * @since v15.0.0\n             */\n            verify(\n                algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams | Ed448Params,\n                key: CryptoKey,\n                signature: BufferSource,\n                data: BufferSource,\n            ): Promise<boolean>;\n            /**\n             * In cryptography, \"wrapping a key\" refers to exporting and then encrypting the keying material.\n             * The `subtle.wrapKey()` method exports the keying material into the format identified by `format`,\n             * then encrypts it using the method and parameters specified by `wrapAlgo` and the keying material provided by `wrappingKey`.\n             * It is the equivalent to calling `subtle.exportKey()` using `format` and `key` as the arguments,\n             * then passing the result to the `subtle.encrypt()` method using `wrappingKey` and `wrapAlgo` as inputs.\n             * If successful, the returned promise will be resolved with an `<ArrayBuffer>` containing the encrypted key data.\n             *\n             * The wrapping algorithms currently supported include:\n             *\n             * - `'RSA-OAEP'`\n             * - `'AES-CTR'`\n             * - `'AES-CBC'`\n             * - `'AES-GCM'`\n             * - `'AES-KW'`\n             * @param format Must be one of `'raw'`, `'pkcs8'`, `'spki'`, or `'jwk'`.\n             * @since v15.0.0\n             */\n            wrapKey(\n                format: KeyFormat,\n                key: CryptoKey,\n                wrappingKey: CryptoKey,\n                wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams,\n            ): Promise<ArrayBuffer>;\n        }\n    }\n}\ndeclare module \"node:crypto\" {\n    export * from \"crypto\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/dgram.d.ts",
      "content": "/**\n * The `dgram` module provides an implementation of UDP datagram sockets.\n *\n * ```js\n * import dgram from 'dgram';\n *\n * const server = dgram.createSocket('udp4');\n *\n * server.on('error', (err) => {\n *   console.log(`server error:\\n${err.stack}`);\n *   server.close();\n * });\n *\n * server.on('message', (msg, rinfo) => {\n *   console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`);\n * });\n *\n * server.on('listening', () => {\n *   const address = server.address();\n *   console.log(`server listening ${address.address}:${address.port}`);\n * });\n *\n * server.bind(41234);\n * // Prints: server listening 0.0.0.0:41234\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/dgram.js)\n */\ndeclare module \"dgram\" {\n    import { AddressInfo } from \"node:net\";\n    import * as dns from \"node:dns\";\n    import { Abortable, EventEmitter } from \"node:events\";\n    interface RemoteInfo {\n        address: string;\n        family: \"IPv4\" | \"IPv6\";\n        port: number;\n        size: number;\n    }\n    interface BindOptions {\n        port?: number | undefined;\n        address?: string | undefined;\n        exclusive?: boolean | undefined;\n        fd?: number | undefined;\n    }\n    type SocketType = \"udp4\" | \"udp6\";\n    interface SocketOptions extends Abortable {\n        type: SocketType;\n        reuseAddr?: boolean | undefined;\n        /**\n         * @default false\n         */\n        ipv6Only?: boolean | undefined;\n        recvBufferSize?: number | undefined;\n        sendBufferSize?: number | undefined;\n        lookup?:\n            | ((\n                hostname: string,\n                options: dns.LookupOneOptions,\n                callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void,\n            ) => void)\n            | undefined;\n    }\n    /**\n     * Creates a `dgram.Socket` object. Once the socket is created, calling `socket.bind()` will instruct the socket to begin listening for datagram\n     * messages. When `address` and `port` are not passed to `socket.bind()` the\n     * method will bind the socket to the \"all interfaces\" address on a random port\n     * (it does the right thing for both `udp4` and `udp6` sockets). The bound address\n     * and port can be retrieved using `socket.address().address` and `socket.address().port`.\n     *\n     * If the `signal` option is enabled, calling `.abort()` on the corresponding`AbortController` is similar to calling `.close()` on the socket:\n     *\n     * ```js\n     * const controller = new AbortController();\n     * const { signal } = controller;\n     * const server = dgram.createSocket({ type: 'udp4', signal });\n     * server.on('message', (msg, rinfo) => {\n     *   console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`);\n     * });\n     * // Later, when you want to close the server.\n     * controller.abort();\n     * ```\n     * @since v0.11.13\n     * @param options Available options are:\n     * @param callback Attached as a listener for `'message'` events. Optional.\n     */\n    function createSocket(type: SocketType, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket;\n    function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket;\n    /**\n     * Encapsulates the datagram functionality.\n     *\n     * New instances of `dgram.Socket` are created using {@link createSocket}.\n     * The `new` keyword is not to be used to create `dgram.Socket` instances.\n     * @since v0.1.99\n     */\n    class Socket extends EventEmitter {\n        /**\n         * Tells the kernel to join a multicast group at the given `multicastAddress` and `multicastInterface` using the `IP_ADD_MEMBERSHIP` socket option. If the`multicastInterface` argument is not\n         * specified, the operating system will choose\n         * one interface and will add membership to it. To add membership to every\n         * available interface, call `addMembership` multiple times, once per interface.\n         *\n         * When called on an unbound socket, this method will implicitly bind to a random\n         * port, listening on all interfaces.\n         *\n         * When sharing a UDP socket across multiple `cluster` workers, the`socket.addMembership()` function must be called only once or an`EADDRINUSE` error will occur:\n         *\n         * ```js\n         * import cluster from 'cluster';\n         * import dgram from 'dgram';\n         *\n         * if (cluster.isPrimary) {\n         *   cluster.fork(); // Works ok.\n         *   cluster.fork(); // Fails with EADDRINUSE.\n         * } else {\n         *   const s = dgram.createSocket('udp4');\n         *   s.bind(1234, () => {\n         *     s.addMembership('224.0.0.114');\n         *   });\n         * }\n         * ```\n         * @since v0.6.9\n         */\n        addMembership(multicastAddress: string, multicastInterface?: string): void;\n        /**\n         * Returns an object containing the address information for a socket.\n         * For UDP sockets, this object will contain `address`, `family` and `port` properties.\n         *\n         * This method throws `EBADF` if called on an unbound socket.\n         * @since v0.1.99\n         */\n        address(): AddressInfo;\n        /**\n         * For UDP sockets, causes the `dgram.Socket` to listen for datagram\n         * messages on a named `port` and optional `address`. If `port` is not\n         * specified or is `0`, the operating system will attempt to bind to a\n         * random port. If `address` is not specified, the operating system will\n         * attempt to listen on all addresses. Once binding is complete, a`'listening'` event is emitted and the optional `callback` function is\n         * called.\n         *\n         * Specifying both a `'listening'` event listener and passing a`callback` to the `socket.bind()` method is not harmful but not very\n         * useful.\n         *\n         * A bound datagram socket keeps the Node.js process running to receive\n         * datagram messages.\n         *\n         * If binding fails, an `'error'` event is generated. In rare case (e.g.\n         * attempting to bind with a closed socket), an `Error` may be thrown.\n         *\n         * Example of a UDP server listening on port 41234:\n         *\n         * ```js\n         * import dgram from 'dgram';\n         *\n         * const server = dgram.createSocket('udp4');\n         *\n         * server.on('error', (err) => {\n         *   console.log(`server error:\\n${err.stack}`);\n         *   server.close();\n         * });\n         *\n         * server.on('message', (msg, rinfo) => {\n         *   console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`);\n         * });\n         *\n         * server.on('listening', () => {\n         *   const address = server.address();\n         *   console.log(`server listening ${address.address}:${address.port}`);\n         * });\n         *\n         * server.bind(41234);\n         * // Prints: server listening 0.0.0.0:41234\n         * ```\n         * @since v0.1.99\n         * @param callback with no parameters. Called when binding is complete.\n         */\n        bind(port?: number, address?: string, callback?: () => void): this;\n        bind(port?: number, callback?: () => void): this;\n        bind(callback?: () => void): this;\n        bind(options: BindOptions, callback?: () => void): this;\n        /**\n         * Close the underlying socket and stop listening for data on it. If a callback is\n         * provided, it is added as a listener for the `'close'` event.\n         * @since v0.1.99\n         * @param callback Called when the socket has been closed.\n         */\n        close(callback?: () => void): this;\n        /**\n         * Associates the `dgram.Socket` to a remote address and port. Every\n         * message sent by this handle is automatically sent to that destination. Also,\n         * the socket will only receive messages from that remote peer.\n         * Trying to call `connect()` on an already connected socket will result\n         * in an `ERR_SOCKET_DGRAM_IS_CONNECTED` exception. If `address` is not\n         * provided, `'127.0.0.1'` (for `udp4` sockets) or `'::1'` (for `udp6` sockets)\n         * will be used by default. Once the connection is complete, a `'connect'` event\n         * is emitted and the optional `callback` function is called. In case of failure,\n         * the `callback` is called or, failing this, an `'error'` event is emitted.\n         * @since v12.0.0\n         * @param callback Called when the connection is completed or on error.\n         */\n        connect(port: number, address?: string, callback?: () => void): void;\n        connect(port: number, callback: () => void): void;\n        /**\n         * A synchronous function that disassociates a connected `dgram.Socket` from\n         * its remote address. Trying to call `disconnect()` on an unbound or already\n         * disconnected socket will result in an `ERR_SOCKET_DGRAM_NOT_CONNECTED` exception.\n         * @since v12.0.0\n         */\n        disconnect(): void;\n        /**\n         * Instructs the kernel to leave a multicast group at `multicastAddress` using the`IP_DROP_MEMBERSHIP` socket option. This method is automatically called by the\n         * kernel when the socket is closed or the process terminates, so most apps will\n         * never have reason to call this.\n         *\n         * If `multicastInterface` is not specified, the operating system will attempt to\n         * drop membership on all valid interfaces.\n         * @since v0.6.9\n         */\n        dropMembership(multicastAddress: string, multicastInterface?: string): void;\n        /**\n         * This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket.\n         * @since v8.7.0\n         * @return the `SO_RCVBUF` socket receive buffer size in bytes.\n         */\n        getRecvBufferSize(): number;\n        /**\n         * This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket.\n         * @since v8.7.0\n         * @return the `SO_SNDBUF` socket send buffer size in bytes.\n         */\n        getSendBufferSize(): number;\n        /**\n         * @since v18.8.0\n         * @return the number of bytes queued for sending.\n         */\n        getSendQueueSize(): number;\n        /**\n         * @since v18.8.0\n         * @return the number of send requests currently in the queue awaiting to be processed.\n         */\n        getSendQueueCount(): number;\n        /**\n         * By default, binding a socket will cause it to block the Node.js process from\n         * exiting as long as the socket is open. The `socket.unref()` method can be used\n         * to exclude the socket from the reference counting that keeps the Node.js\n         * process active. The `socket.ref()` method adds the socket back to the reference\n         * counting and restores the default behavior.\n         *\n         * Calling `socket.ref()` multiples times will have no additional effect.\n         *\n         * The `socket.ref()` method returns a reference to the socket so calls can be\n         * chained.\n         * @since v0.9.1\n         */\n        ref(): this;\n        /**\n         * Returns an object containing the `address`, `family`, and `port` of the remote\n         * endpoint. This method throws an `ERR_SOCKET_DGRAM_NOT_CONNECTED` exception\n         * if the socket is not connected.\n         * @since v12.0.0\n         */\n        remoteAddress(): AddressInfo;\n        /**\n         * Broadcasts a datagram on the socket.\n         * For connectionless sockets, the destination `port` and `address` must be\n         * specified. Connected sockets, on the other hand, will use their associated\n         * remote endpoint, so the `port` and `address` arguments must not be set.\n         *\n         * The `msg` argument contains the message to be sent.\n         * Depending on its type, different behavior can apply. If `msg` is a `Buffer`,\n         * any `TypedArray` or a `DataView`,\n         * the `offset` and `length` specify the offset within the `Buffer` where the\n         * message begins and the number of bytes in the message, respectively.\n         * If `msg` is a `String`, then it is automatically converted to a `Buffer`with `'utf8'` encoding. With messages that\n         * contain multi-byte characters, `offset` and `length` will be calculated with\n         * respect to `byte length` and not the character position.\n         * If `msg` is an array, `offset` and `length` must not be specified.\n         *\n         * The `address` argument is a string. If the value of `address` is a host name,\n         * DNS will be used to resolve the address of the host. If `address` is not\n         * provided or otherwise nullish, `'127.0.0.1'` (for `udp4` sockets) or `'::1'` (for `udp6` sockets) will be used by default.\n         *\n         * If the socket has not been previously bound with a call to `bind`, the socket\n         * is assigned a random port number and is bound to the \"all interfaces\" address\n         * (`'0.0.0.0'` for `udp4` sockets, `'::0'` for `udp6` sockets.)\n         *\n         * An optional `callback` function may be specified to as a way of reporting\n         * DNS errors or for determining when it is safe to reuse the `buf` object.\n         * DNS lookups delay the time to send for at least one tick of the\n         * Node.js event loop.\n         *\n         * The only way to know for sure that the datagram has been sent is by using a`callback`. If an error occurs and a `callback` is given, the error will be\n         * passed as the first argument to the `callback`. If a `callback` is not given,\n         * the error is emitted as an `'error'` event on the `socket` object.\n         *\n         * Offset and length are optional but both _must_ be set if either are used.\n         * They are supported only when the first argument is a `Buffer`, a `TypedArray`,\n         * or a `DataView`.\n         *\n         * This method throws `ERR_SOCKET_BAD_PORT` if called on an unbound socket.\n         *\n         * Example of sending a UDP packet to a port on `localhost`;\n         *\n         * ```js\n         * import dgram from 'dgram';\n         * import { Buffer } from 'buffer';\n         *\n         * const message = Buffer.from('Some bytes');\n         * const client = dgram.createSocket('udp4');\n         * client.send(message, 41234, 'localhost', (err) => {\n         *   client.close();\n         * });\n         * ```\n         *\n         * Example of sending a UDP packet composed of multiple buffers to a port on`127.0.0.1`;\n         *\n         * ```js\n         * import dgram from 'dgram';\n         * import { Buffer } from 'buffer';\n         *\n         * const buf1 = Buffer.from('Some ');\n         * const buf2 = Buffer.from('bytes');\n         * const client = dgram.createSocket('udp4');\n         * client.send([buf1, buf2], 41234, (err) => {\n         *   client.close();\n         * });\n         * ```\n         *\n         * Sending multiple buffers might be faster or slower depending on the\n         * application and operating system. Run benchmarks to\n         * determine the optimal strategy on a case-by-case basis. Generally speaking,\n         * however, sending multiple buffers is faster.\n         *\n         * Example of sending a UDP packet using a socket connected to a port on`localhost`:\n         *\n         * ```js\n         * import dgram from 'dgram';\n         * import { Buffer } from 'buffer';\n         *\n         * const message = Buffer.from('Some bytes');\n         * const client = dgram.createSocket('udp4');\n         * client.connect(41234, 'localhost', (err) => {\n         *   client.send(message, (err) => {\n         *     client.close();\n         *   });\n         * });\n         * ```\n         * @since v0.1.99\n         * @param msg Message to be sent.\n         * @param offset Offset in the buffer where the message starts.\n         * @param length Number of bytes in the message.\n         * @param port Destination port.\n         * @param address Destination host name or IP address.\n         * @param callback Called when the message has been sent.\n         */\n        send(\n            msg: string | NodeJS.ArrayBufferView | readonly any[],\n            port?: number,\n            address?: string,\n            callback?: (error: Error | null, bytes: number) => void,\n        ): void;\n        send(\n            msg: string | NodeJS.ArrayBufferView | readonly any[],\n            port?: number,\n            callback?: (error: Error | null, bytes: number) => void,\n        ): void;\n        send(\n            msg: string | NodeJS.ArrayBufferView | readonly any[],\n            callback?: (error: Error | null, bytes: number) => void,\n        ): void;\n        send(\n            msg: string | NodeJS.ArrayBufferView,\n            offset: number,\n            length: number,\n            port?: number,\n            address?: string,\n            callback?: (error: Error | null, bytes: number) => void,\n        ): void;\n        send(\n            msg: string | NodeJS.ArrayBufferView,\n            offset: number,\n            length: number,\n            port?: number,\n            callback?: (error: Error | null, bytes: number) => void,\n        ): void;\n        send(\n            msg: string | NodeJS.ArrayBufferView,\n            offset: number,\n            length: number,\n            callback?: (error: Error | null, bytes: number) => void,\n        ): void;\n        /**\n         * Sets or clears the `SO_BROADCAST` socket option. When set to `true`, UDP\n         * packets may be sent to a local interface's broadcast address.\n         *\n         * This method throws `EBADF` if called on an unbound socket.\n         * @since v0.6.9\n         */\n        setBroadcast(flag: boolean): void;\n        /**\n         * _All references to scope in this section are referring to [IPv6 Zone Indices](https://en.wikipedia.org/wiki/IPv6_address#Scoped_literal_IPv6_addresses), which are defined by [RFC\n         * 4007](https://tools.ietf.org/html/rfc4007). In string form, an IP_\n         * _with a scope index is written as `'IP%scope'` where scope is an interface name_\n         * _or interface number._\n         *\n         * Sets the default outgoing multicast interface of the socket to a chosen\n         * interface or back to system interface selection. The `multicastInterface` must\n         * be a valid string representation of an IP from the socket's family.\n         *\n         * For IPv4 sockets, this should be the IP configured for the desired physical\n         * interface. All packets sent to multicast on the socket will be sent on the\n         * interface determined by the most recent successful use of this call.\n         *\n         * For IPv6 sockets, `multicastInterface` should include a scope to indicate the\n         * interface as in the examples that follow. In IPv6, individual `send` calls can\n         * also use explicit scope in addresses, so only packets sent to a multicast\n         * address without specifying an explicit scope are affected by the most recent\n         * successful use of this call.\n         *\n         * This method throws `EBADF` if called on an unbound socket.\n         *\n         * #### Example: IPv6 outgoing multicast interface\n         *\n         * On most systems, where scope format uses the interface name:\n         *\n         * ```js\n         * const socket = dgram.createSocket('udp6');\n         *\n         * socket.bind(1234, () => {\n         *   socket.setMulticastInterface('::%eth1');\n         * });\n         * ```\n         *\n         * On Windows, where scope format uses an interface number:\n         *\n         * ```js\n         * const socket = dgram.createSocket('udp6');\n         *\n         * socket.bind(1234, () => {\n         *   socket.setMulticastInterface('::%2');\n         * });\n         * ```\n         *\n         * #### Example: IPv4 outgoing multicast interface\n         *\n         * All systems use an IP of the host on the desired physical interface:\n         *\n         * ```js\n         * const socket = dgram.createSocket('udp4');\n         *\n         * socket.bind(1234, () => {\n         *   socket.setMulticastInterface('10.0.0.2');\n         * });\n         * ```\n         * @since v8.6.0\n         */\n        setMulticastInterface(multicastInterface: string): void;\n        /**\n         * Sets or clears the `IP_MULTICAST_LOOP` socket option. When set to `true`,\n         * multicast packets will also be received on the local interface.\n         *\n         * This method throws `EBADF` if called on an unbound socket.\n         * @since v0.3.8\n         */\n        setMulticastLoopback(flag: boolean): boolean;\n        /**\n         * Sets the `IP_MULTICAST_TTL` socket option. While TTL generally stands for\n         * \"Time to Live\", in this context it specifies the number of IP hops that a\n         * packet is allowed to travel through, specifically for multicast traffic. Each\n         * router or gateway that forwards a packet decrements the TTL. If the TTL is\n         * decremented to 0 by a router, it will not be forwarded.\n         *\n         * The `ttl` argument may be between 0 and 255\\. The default on most systems is `1`.\n         *\n         * This method throws `EBADF` if called on an unbound socket.\n         * @since v0.3.8\n         */\n        setMulticastTTL(ttl: number): number;\n        /**\n         * Sets the `SO_RCVBUF` socket option. Sets the maximum socket receive buffer\n         * in bytes.\n         *\n         * This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket.\n         * @since v8.7.0\n         */\n        setRecvBufferSize(size: number): void;\n        /**\n         * Sets the `SO_SNDBUF` socket option. Sets the maximum socket send buffer\n         * in bytes.\n         *\n         * This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket.\n         * @since v8.7.0\n         */\n        setSendBufferSize(size: number): void;\n        /**\n         * Sets the `IP_TTL` socket option. While TTL generally stands for \"Time to Live\",\n         * in this context it specifies the number of IP hops that a packet is allowed to\n         * travel through. Each router or gateway that forwards a packet decrements the\n         * TTL. If the TTL is decremented to 0 by a router, it will not be forwarded.\n         * Changing TTL values is typically done for network probes or when multicasting.\n         *\n         * The `ttl` argument may be between 1 and 255\\. The default on most systems\n         * is 64.\n         *\n         * This method throws `EBADF` if called on an unbound socket.\n         * @since v0.1.101\n         */\n        setTTL(ttl: number): number;\n        /**\n         * By default, binding a socket will cause it to block the Node.js process from\n         * exiting as long as the socket is open. The `socket.unref()` method can be used\n         * to exclude the socket from the reference counting that keeps the Node.js\n         * process active, allowing the process to exit even if the socket is still\n         * listening.\n         *\n         * Calling `socket.unref()` multiple times will have no addition effect.\n         *\n         * The `socket.unref()` method returns a reference to the socket so calls can be\n         * chained.\n         * @since v0.9.1\n         */\n        unref(): this;\n        /**\n         * Tells the kernel to join a source-specific multicast channel at the given`sourceAddress` and `groupAddress`, using the `multicastInterface` with the`IP_ADD_SOURCE_MEMBERSHIP` socket\n         * option. If the `multicastInterface` argument\n         * is not specified, the operating system will choose one interface and will add\n         * membership to it. To add membership to every available interface, call`socket.addSourceSpecificMembership()` multiple times, once per interface.\n         *\n         * When called on an unbound socket, this method will implicitly bind to a random\n         * port, listening on all interfaces.\n         * @since v13.1.0, v12.16.0\n         */\n        addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void;\n        /**\n         * Instructs the kernel to leave a source-specific multicast channel at the given`sourceAddress` and `groupAddress` using the `IP_DROP_SOURCE_MEMBERSHIP`socket option. This method is\n         * automatically called by the kernel when the\n         * socket is closed or the process terminates, so most apps will never have\n         * reason to call this.\n         *\n         * If `multicastInterface` is not specified, the operating system will attempt to\n         * drop membership on all valid interfaces.\n         * @since v13.1.0, v12.16.0\n         */\n        dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void;\n        /**\n         * events.EventEmitter\n         * 1. close\n         * 2. connect\n         * 3. error\n         * 4. listening\n         * 5. message\n         */\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"connect\", listener: () => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: \"listening\", listener: () => void): this;\n        addListener(event: \"message\", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"close\"): boolean;\n        emit(event: \"connect\"): boolean;\n        emit(event: \"error\", err: Error): boolean;\n        emit(event: \"listening\"): boolean;\n        emit(event: \"message\", msg: Buffer, rinfo: RemoteInfo): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"connect\", listener: () => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"listening\", listener: () => void): this;\n        on(event: \"message\", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"connect\", listener: () => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"listening\", listener: () => void): this;\n        once(event: \"message\", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"connect\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: \"listening\", listener: () => void): this;\n        prependListener(event: \"message\", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"connect\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(event: \"listening\", listener: () => void): this;\n        prependOnceListener(event: \"message\", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;\n        /**\n         * Calls `socket.close()` and returns a promise that fulfills when the socket has closed.\n         * @since v18.18.0\n         */\n        [Symbol.asyncDispose](): Promise<void>;\n    }\n}\ndeclare module \"node:dgram\" {\n    export * from \"dgram\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/diagnostics_channel.d.ts",
      "content": "/**\n * The `diagnostics_channel` module provides an API to create named channels\n * to report arbitrary message data for diagnostics purposes.\n *\n * It can be accessed using:\n *\n * ```js\n * import diagnostics_channel from 'diagnostics_channel';\n * ```\n *\n * It is intended that a module writer wanting to report diagnostics messages\n * will create one or many top-level channels to report messages through.\n * Channels may also be acquired at runtime but it is not encouraged\n * due to the additional overhead of doing so. Channels may be exported for\n * convenience, but as long as the name is known it can be acquired anywhere.\n *\n * If you intend for your module to produce diagnostics data for others to\n * consume it is recommended that you include documentation of what named\n * channels are used along with the shape of the message data. Channel names\n * should generally include the module name to avoid collisions with data from\n * other modules.\n * @experimental\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/diagnostics_channel.js)\n */\ndeclare module \"diagnostics_channel\" {\n    import { AsyncLocalStorage } from \"node:async_hooks\";\n    /**\n     * Check if there are active subscribers to the named channel. This is helpful if\n     * the message you want to send might be expensive to prepare.\n     *\n     * This API is optional but helpful when trying to publish messages from very\n     * performance-sensitive code.\n     *\n     * ```js\n     * import diagnostics_channel from 'diagnostics_channel';\n     *\n     * if (diagnostics_channel.hasSubscribers('my-channel')) {\n     *   // There are subscribers, prepare and publish message\n     * }\n     * ```\n     * @since v15.1.0, v14.17.0\n     * @param name The channel name\n     * @return If there are active subscribers\n     */\n    function hasSubscribers(name: string | symbol): boolean;\n    /**\n     * This is the primary entry-point for anyone wanting to interact with a named\n     * channel. It produces a channel object which is optimized to reduce overhead at\n     * publish time as much as possible.\n     *\n     * ```js\n     * import diagnostics_channel from 'diagnostics_channel';\n     *\n     * const channel = diagnostics_channel.channel('my-channel');\n     * ```\n     * @since v15.1.0, v14.17.0\n     * @param name The channel name\n     * @return The named channel object\n     */\n    function channel(name: string | symbol): Channel;\n    type ChannelListener = (message: unknown, name: string | symbol) => void;\n    /**\n     * Register a message handler to subscribe to this channel. This message handler will be run synchronously\n     * whenever a message is published to the channel. Any errors thrown in the message handler will\n     * trigger an 'uncaughtException'.\n     *\n     * ```js\n     * import diagnostics_channel from 'diagnostics_channel';\n     *\n     * diagnostics_channel.subscribe('my-channel', (message, name) => {\n     *   // Received data\n     * });\n     * ```\n     *\n     * @since v18.7.0, v16.17.0\n     * @param name The channel name\n     * @param onMessage The handler to receive channel messages\n     */\n    function subscribe(name: string | symbol, onMessage: ChannelListener): void;\n    /**\n     * Remove a message handler previously registered to this channel with diagnostics_channel.subscribe(name, onMessage).\n     *\n     * ```js\n     * import diagnostics_channel from 'diagnostics_channel';\n     *\n     * function onMessage(message, name) {\n     *  // Received data\n     * }\n     *\n     * diagnostics_channel.subscribe('my-channel', onMessage);\n     *\n     * diagnostics_channel.unsubscribe('my-channel', onMessage);\n     * ```\n     *\n     * @since v18.7.0, v16.17.0\n     * @param name The channel name\n     * @param onMessage The previous subscribed handler to remove\n     * @returns `true` if the handler was found, `false` otherwise\n     */\n    function unsubscribe(name: string | symbol, onMessage: ChannelListener): boolean;\n    /**\n     * Creates a `TracingChannel` wrapper for the given `TracingChannel Channels`. If a name is given, the corresponding tracing\n     * channels will be created in the form of `tracing:${name}:${eventType}` where`eventType` corresponds to the types of `TracingChannel Channels`.\n     *\n     * ```js\n     * import diagnostics_channel from 'node:diagnostics_channel';\n     *\n     * const channelsByName = diagnostics_channel.tracingChannel('my-channel');\n     *\n     * // or...\n     *\n     * const channelsByCollection = diagnostics_channel.tracingChannel({\n     *   start: diagnostics_channel.channel('tracing:my-channel:start'),\n     *   end: diagnostics_channel.channel('tracing:my-channel:end'),\n     *   asyncStart: diagnostics_channel.channel('tracing:my-channel:asyncStart'),\n     *   asyncEnd: diagnostics_channel.channel('tracing:my-channel:asyncEnd'),\n     *   error: diagnostics_channel.channel('tracing:my-channel:error'),\n     * });\n     * ```\n     * @since v19.9.0\n     * @experimental\n     * @param nameOrChannels Channel name or object containing all the `TracingChannel Channels`\n     * @return Collection of channels to trace with\n     */\n    function tracingChannel<\n        StoreType = unknown,\n        ContextType extends object = StoreType extends object ? StoreType : object,\n    >(\n        nameOrChannels: string | TracingChannelCollection<StoreType, ContextType>,\n    ): TracingChannel<StoreType, ContextType>;\n    /**\n     * The class `Channel` represents an individual named channel within the data\n     * pipeline. It is use to track subscribers and to publish messages when there\n     * are subscribers present. It exists as a separate object to avoid channel\n     * lookups at publish time, enabling very fast publish speeds and allowing\n     * for heavy use while incurring very minimal cost. Channels are created with {@link channel}, constructing a channel directly\n     * with `new Channel(name)` is not supported.\n     * @since v15.1.0, v14.17.0\n     */\n    class Channel<StoreType = unknown, ContextType = StoreType> {\n        readonly name: string | symbol;\n        /**\n         * Check if there are active subscribers to this channel. This is helpful if\n         * the message you want to send might be expensive to prepare.\n         *\n         * This API is optional but helpful when trying to publish messages from very\n         * performance-sensitive code.\n         *\n         * ```js\n         * import diagnostics_channel from 'diagnostics_channel';\n         *\n         * const channel = diagnostics_channel.channel('my-channel');\n         *\n         * if (channel.hasSubscribers) {\n         *   // There are subscribers, prepare and publish message\n         * }\n         * ```\n         * @since v15.1.0, v14.17.0\n         */\n        readonly hasSubscribers: boolean;\n        private constructor(name: string | symbol);\n        /**\n         * Publish a message to any subscribers to the channel. This will\n         * trigger message handlers synchronously so they will execute within\n         * the same context.\n         *\n         * ```js\n         * import diagnostics_channel from 'diagnostics_channel';\n         *\n         * const channel = diagnostics_channel.channel('my-channel');\n         *\n         * channel.publish({\n         *   some: 'message'\n         * });\n         * ```\n         * @since v15.1.0, v14.17.0\n         * @param message The message to send to the channel subscribers\n         */\n        publish(message: unknown): void;\n        /**\n         * Register a message handler to subscribe to this channel. This message handler\n         * will be run synchronously whenever a message is published to the channel. Any\n         * errors thrown in the message handler will trigger an `'uncaughtException'`.\n         *\n         * ```js\n         * import diagnostics_channel from 'diagnostics_channel';\n         *\n         * const channel = diagnostics_channel.channel('my-channel');\n         *\n         * channel.subscribe((message, name) => {\n         *   // Received data\n         * });\n         * ```\n         * @since v15.1.0, v14.17.0\n         * @param onMessage The handler to receive channel messages\n         */\n        subscribe(onMessage: ChannelListener): void;\n        /**\n         * Remove a message handler previously registered to this channel with `channel.subscribe(onMessage)`.\n         *\n         * ```js\n         * import diagnostics_channel from 'diagnostics_channel';\n         *\n         * const channel = diagnostics_channel.channel('my-channel');\n         *\n         * function onMessage(message, name) {\n         *   // Received data\n         * }\n         *\n         * channel.subscribe(onMessage);\n         *\n         * channel.unsubscribe(onMessage);\n         * ```\n         * @since v15.1.0, v14.17.0\n         * @param onMessage The previous subscribed handler to remove\n         * @return `true` if the handler was found, `false` otherwise.\n         */\n        unsubscribe(onMessage: ChannelListener): void;\n        /**\n         * When `channel.runStores(context, ...)` is called, the given context data\n         * will be applied to any store bound to the channel. If the store has already been\n         * bound the previous `transform` function will be replaced with the new one.\n         * The `transform` function may be omitted to set the given context data as the\n         * context directly.\n         *\n         * ```js\n         * import diagnostics_channel from 'node:diagnostics_channel';\n         * import { AsyncLocalStorage } from 'node:async_hooks';\n         *\n         * const store = new AsyncLocalStorage();\n         *\n         * const channel = diagnostics_channel.channel('my-channel');\n         *\n         * channel.bindStore(store, (data) => {\n         *   return { data };\n         * });\n         * ```\n         * @since v18.19.0\n         * @experimental\n         * @param store The store to which to bind the context data\n         * @param transform Transform context data before setting the store context\n         */\n        bindStore(store: AsyncLocalStorage<StoreType>, transform?: (context: ContextType) => StoreType): void;\n        /**\n         * Remove a message handler previously registered to this channel with `channel.bindStore(store)`.\n         *\n         * ```js\n         * import diagnostics_channel from 'node:diagnostics_channel';\n         * import { AsyncLocalStorage } from 'node:async_hooks';\n         *\n         * const store = new AsyncLocalStorage();\n         *\n         * const channel = diagnostics_channel.channel('my-channel');\n         *\n         * channel.bindStore(store);\n         * channel.unbindStore(store);\n         * ```\n         * @since v18.19.0\n         * @experimental\n         * @param store The store to unbind from the channel.\n         * @return `true` if the store was found, `false` otherwise.\n         */\n        unbindStore(store: AsyncLocalStorage<StoreType>): boolean;\n        /**\n         * Applies the given data to any AsyncLocalStorage instances bound to the channel\n         * for the duration of the given function, then publishes to the channel within\n         * the scope of that data is applied to the stores.\n         *\n         * If a transform function was given to `channel.bindStore(store)` it will be\n         * applied to transform the message data before it becomes the context value for\n         * the store. The prior storage context is accessible from within the transform\n         * function in cases where context linking is required.\n         *\n         * The context applied to the store should be accessible in any async code which\n         * continues from execution which began during the given function, however\n         * there are some situations in which `context loss` may occur.\n         *\n         * ```js\n         * import diagnostics_channel from 'node:diagnostics_channel';\n         * import { AsyncLocalStorage } from 'node:async_hooks';\n         *\n         * const store = new AsyncLocalStorage();\n         *\n         * const channel = diagnostics_channel.channel('my-channel');\n         *\n         * channel.bindStore(store, (message) => {\n         *   const parent = store.getStore();\n         *   return new Span(message, parent);\n         * });\n         * channel.runStores({ some: 'message' }, () => {\n         *   store.getStore(); // Span({ some: 'message' })\n         * });\n         * ```\n         * @since v19.9.0\n         * @experimental\n         * @param context Message to send to subscribers and bind to stores\n         * @param fn Handler to run within the entered storage context\n         * @param thisArg The receiver to be used for the function call.\n         * @param args Optional arguments to pass to the function.\n         */\n        runStores<ThisArg = any, Args extends any[] = any[], Result = any>(\n            context: ContextType,\n            fn: (this: ThisArg, ...args: Args) => Result,\n            thisArg?: ThisArg,\n            ...args: Args\n        ): Result;\n    }\n    interface TracingChannelSubscribers<ContextType extends object> {\n        start: (message: ContextType) => void;\n        end: (\n            message: ContextType & {\n                error?: unknown;\n                result?: unknown;\n            },\n        ) => void;\n        asyncStart: (\n            message: ContextType & {\n                error?: unknown;\n                result?: unknown;\n            },\n        ) => void;\n        asyncEnd: (\n            message: ContextType & {\n                error?: unknown;\n                result?: unknown;\n            },\n        ) => void;\n        error: (\n            message: ContextType & {\n                error: unknown;\n            },\n        ) => void;\n    }\n    interface TracingChannelCollection<StoreType = unknown, ContextType = StoreType> {\n        start: Channel<StoreType, ContextType>;\n        end: Channel<StoreType, ContextType>;\n        asyncStart: Channel<StoreType, ContextType>;\n        asyncEnd: Channel<StoreType, ContextType>;\n        error: Channel<StoreType, ContextType>;\n    }\n    /**\n     * The class `TracingChannel` is a collection of `TracingChannel Channels` which\n     * together express a single traceable action. It is used to formalize and\n     * simplify the process of producing events for tracing application flow.{@link tracingChannel} is used to construct a`TracingChannel`. As with `Channel` it is recommended to create and reuse a\n     * single `TracingChannel` at the top-level of the file rather than creating them\n     * dynamically.\n     * @since v18.19.0\n     * @experimental\n     */\n    class TracingChannel<StoreType = unknown, ContextType extends object = {}> implements TracingChannelCollection {\n        start: Channel<StoreType, ContextType>;\n        end: Channel<StoreType, ContextType>;\n        asyncStart: Channel<StoreType, ContextType>;\n        asyncEnd: Channel<StoreType, ContextType>;\n        error: Channel<StoreType, ContextType>;\n        /**\n         * Helper to subscribe a collection of functions to the corresponding channels.\n         * This is the same as calling `channel.subscribe(onMessage)` on each channel\n         * individually.\n         *\n         * ```js\n         * import diagnostics_channel from 'node:diagnostics_channel';\n         *\n         * const channels = diagnostics_channel.tracingChannel('my-channel');\n         *\n         * channels.subscribe({\n         *   start(message) {\n         *     // Handle start message\n         *   },\n         *   end(message) {\n         *     // Handle end message\n         *   },\n         *   asyncStart(message) {\n         *     // Handle asyncStart message\n         *   },\n         *   asyncEnd(message) {\n         *     // Handle asyncEnd message\n         *   },\n         *   error(message) {\n         *     // Handle error message\n         *   },\n         * });\n         * ```\n         * @since v18.19.0\n         * @experimental\n         * @param subscribers Set of `TracingChannel Channels` subscribers\n         */\n        subscribe(subscribers: TracingChannelSubscribers<ContextType>): void;\n        /**\n         * Helper to unsubscribe a collection of functions from the corresponding channels.\n         * This is the same as calling `channel.unsubscribe(onMessage)` on each channel\n         * individually.\n         *\n         * ```js\n         * import diagnostics_channel from 'node:diagnostics_channel';\n         *\n         * const channels = diagnostics_channel.tracingChannel('my-channel');\n         *\n         * channels.unsubscribe({\n         *   start(message) {\n         *     // Handle start message\n         *   },\n         *   end(message) {\n         *     // Handle end message\n         *   },\n         *   asyncStart(message) {\n         *     // Handle asyncStart message\n         *   },\n         *   asyncEnd(message) {\n         *     // Handle asyncEnd message\n         *   },\n         *   error(message) {\n         *     // Handle error message\n         *   },\n         * });\n         * ```\n         * @since v18.19.0\n         * @experimental\n         * @param subscribers Set of `TracingChannel Channels` subscribers\n         * @return `true` if all handlers were successfully unsubscribed, and `false` otherwise.\n         */\n        unsubscribe(subscribers: TracingChannelSubscribers<ContextType>): void;\n        /**\n         * Trace a synchronous function call. This will always produce a `start event` and `end event` around the execution and may produce an `error event` if the given function throws an error.\n         * This will run the given function using `channel.runStores(context, ...)` on the `start` channel which ensures all\n         * events should have any bound stores set to match this trace context.\n         *\n         * ```js\n         * import diagnostics_channel from 'node:diagnostics_channel';\n         *\n         * const channels = diagnostics_channel.tracingChannel('my-channel');\n         *\n         * channels.traceSync(() => {\n         *   // Do something\n         * }, {\n         *   some: 'thing',\n         * });\n         * ```\n         * @since v18.19.0\n         * @experimental\n         * @param fn Function to wrap a trace around\n         * @param context Shared object to correlate events through\n         * @param thisArg The receiver to be used for the function call\n         * @param args Optional arguments to pass to the function\n         * @return The return value of the given function\n         */\n        traceSync<ThisArg = any, Args extends any[] = any[], Result = any>(\n            fn: (this: ThisArg, ...args: Args) => Result,\n            context?: ContextType,\n            thisArg?: ThisArg,\n            ...args: Args\n        ): Result;\n        /**\n         * Trace a promise-returning function call. This will always produce a `start event` and `end event` around the synchronous portion of the\n         * function execution, and will produce an `asyncStart event` and `asyncEnd event` when a promise continuation is reached. It may also\n         * produce an `error event` if the given function throws an error or the\n         * returned promise rejects. This will run the given function using `channel.runStores(context, ...)` on the `start` channel which ensures all\n         * events should have any bound stores set to match this trace context.\n         *\n         * ```js\n         * import diagnostics_channel from 'node:diagnostics_channel';\n         *\n         * const channels = diagnostics_channel.tracingChannel('my-channel');\n         *\n         * channels.tracePromise(async () => {\n         *   // Do something\n         * }, {\n         *   some: 'thing',\n         * });\n         * ```\n         * @since v18.19.0\n         * @experimental\n         * @param fn Promise-returning function to wrap a trace around\n         * @param context Shared object to correlate trace events through\n         * @param thisArg The receiver to be used for the function call\n         * @param args Optional arguments to pass to the function\n         * @return Chained from promise returned by the given function\n         */\n        tracePromise<ThisArg = any, Args extends any[] = any[], Result = any>(\n            fn: (this: ThisArg, ...args: Args) => Promise<Result>,\n            context?: ContextType,\n            thisArg?: ThisArg,\n            ...args: Args\n        ): Promise<Result>;\n        /**\n         * Trace a callback-receiving function call. This will always produce a `start event` and `end event` around the synchronous portion of the\n         * function execution, and will produce a `asyncStart event` and `asyncEnd event` around the callback execution. It may also produce an `error event` if the given function throws an error or\n         * the returned\n         * promise rejects. This will run the given function using `channel.runStores(context, ...)` on the `start` channel which ensures all\n         * events should have any bound stores set to match this trace context.\n         *\n         * The `position` will be -1 by default to indicate the final argument should\n         * be used as the callback.\n         *\n         * ```js\n         * import diagnostics_channel from 'node:diagnostics_channel';\n         *\n         * const channels = diagnostics_channel.tracingChannel('my-channel');\n         *\n         * channels.traceCallback((arg1, callback) => {\n         *   // Do something\n         *   callback(null, 'result');\n         * }, 1, {\n         *   some: 'thing',\n         * }, thisArg, arg1, callback);\n         * ```\n         *\n         * The callback will also be run with `channel.runStores(context, ...)` which\n         * enables context loss recovery in some cases.\n         *\n         * ```js\n         * import diagnostics_channel from 'node:diagnostics_channel';\n         * import { AsyncLocalStorage } from 'node:async_hooks';\n         *\n         * const channels = diagnostics_channel.tracingChannel('my-channel');\n         * const myStore = new AsyncLocalStorage();\n         *\n         * // The start channel sets the initial store data to something\n         * // and stores that store data value on the trace context object\n         * channels.start.bindStore(myStore, (data) => {\n         *   const span = new Span(data);\n         *   data.span = span;\n         *   return span;\n         * });\n         *\n         * // Then asyncStart can restore from that data it stored previously\n         * channels.asyncStart.bindStore(myStore, (data) => {\n         *   return data.span;\n         * });\n         * ```\n         * @since v18.19.0\n         * @experimental\n         * @param fn callback using function to wrap a trace around\n         * @param position Zero-indexed argument position of expected callback\n         * @param context Shared object to correlate trace events through\n         * @param thisArg The receiver to be used for the function call\n         * @param args Optional arguments to pass to the function\n         * @return The return value of the given function\n         */\n        traceCallback<ThisArg = any, Args extends any[] = any[], Result = any>(\n            fn: (this: ThisArg, ...args: Args) => Result,\n            position?: number,\n            context?: ContextType,\n            thisArg?: ThisArg,\n            ...args: Args\n        ): Result;\n    }\n}\ndeclare module \"node:diagnostics_channel\" {\n    export * from \"diagnostics_channel\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/dns.d.ts",
      "content": "/**\n * The `node:dns` module enables name resolution. For example, use it to look up IP\n * addresses of host names.\n *\n * Although named for the [Domain Name System (DNS)](https://en.wikipedia.org/wiki/Domain_Name_System), it does not always use the\n * DNS protocol for lookups. {@link lookup} uses the operating system\n * facilities to perform name resolution. It may not need to perform any network\n * communication. To perform name resolution the way other applications on the same\n * system do, use {@link lookup}.\n *\n * ```js\n * import dns from 'node:dns';\n *\n * dns.lookup('example.org', (err, address, family) => {\n *   console.log('address: %j family: IPv%s', address, family);\n * });\n * // address: \"93.184.216.34\" family: IPv4\n * ```\n *\n * All other functions in the `node:dns` module connect to an actual DNS server to\n * perform name resolution. They will always use the network to perform DNS\n * queries. These functions do not use the same set of configuration files used by {@link lookup} (e.g. `/etc/hosts`). Use these functions to always perform\n * DNS queries, bypassing other name-resolution facilities.\n *\n * ```js\n * import dns from 'node:dns';\n *\n * dns.resolve4('archive.org', (err, addresses) => {\n *   if (err) throw err;\n *\n *   console.log(`addresses: ${JSON.stringify(addresses)}`);\n *\n *   addresses.forEach((a) => {\n *     dns.reverse(a, (err, hostnames) => {\n *       if (err) {\n *         throw err;\n *       }\n *       console.log(`reverse for ${a}: ${JSON.stringify(hostnames)}`);\n *     });\n *   });\n * });\n * ```\n *\n * See the [Implementation considerations section](https://nodejs.org/docs/latest-v18.x/api/dns.html#implementation-considerations) for more information.\n * @see [source](https://github.com/nodejs/node/blob/v18.19.1/lib/dns.js)\n */\ndeclare module \"dns\" {\n    import * as dnsPromises from \"node:dns/promises\";\n    // Supported getaddrinfo flags.\n    /**\n     * Limits returned address types to the types of non-loopback addresses configured on the system. For example, IPv4 addresses are\n     * only returned if the current system has at least one IPv4 address configured.\n     */\n    export const ADDRCONFIG: number;\n    /**\n     * If the IPv6 family was specified, but no IPv6 addresses were found, then return IPv4 mapped IPv6 addresses. It is not supported\n     * on some operating systems (e.g. FreeBSD 10.1).\n     */\n    export const V4MAPPED: number;\n    /**\n     * If `dns.V4MAPPED` is specified, return resolved IPv6 addresses as\n     * well as IPv4 mapped IPv6 addresses.\n     */\n    export const ALL: number;\n    export interface LookupOptions {\n        /**\n         * The record family. Must be `4`, `6`, or `0`. For backward compatibility reasons,`'IPv4'` and `'IPv6'` are interpreted\n         * as `4` and `6` respectively. The value 0 indicates that either an IPv4 or IPv6 address is returned. If the value `0` is used\n         * with `{ all: true } (see below)`, both IPv4 and IPv6 addresses are returned.\n         * @default 0\n         */\n        family?: number | \"IPv4\" | \"IPv6\" | undefined;\n        /**\n         * One or more [supported `getaddrinfo`](https://nodejs.org/docs/latest-v18.x/api/dns.html#supported-getaddrinfo-flags) flags. Multiple flags may be\n         * passed by bitwise `OR`ing their values.\n         */\n        hints?: number | undefined;\n        /**\n         * When `true`, the callback returns all resolved addresses in an array. Otherwise, returns a single address.\n         * @default false\n         */\n        all?: boolean | undefined;\n        /**\n         * When `true`, the callback receives IPv4 and IPv6 addresses in the order the DNS resolver returned them. When `false`, IPv4\n         * addresses are placed before IPv6 addresses. Default value is configurable using {@link setDefaultResultOrder()}\n         * or [`--dns-result-order`](https://nodejs.org/docs/latest-v18.x/api/cli.html#--dns-result-orderorder).\n         * @default true (addresses are not reordered)\n         */\n        verbatim?: boolean | undefined;\n    }\n    export interface LookupOneOptions extends LookupOptions {\n        all?: false | undefined;\n    }\n    export interface LookupAllOptions extends LookupOptions {\n        all: true;\n    }\n    export interface LookupAddress {\n        /**\n         * A string representation of an IPv4 or IPv6 address.\n         */\n        address: string;\n        /**\n         * `4` or `6`, denoting the family of `address`, or `0` if the address is not an IPv4 or IPv6 address. `0` is a likely indicator of a\n         * bug in the name resolution service used by the operating system.\n         */\n        family: number;\n    }\n    /**\n     * Resolves a host name (e.g. `'nodejs.org'`) into the first found A (IPv4) or\n     * AAAA (IPv6) record. All `option` properties are optional. If `options` is an\n     * integer, then it must be `4` or `6` – if `options` is `0` or not provided, then\n     * IPv4 and IPv6 addresses are both returned if found.\n     *\n     * With the `all` option set to `true`, the arguments for `callback` change to `(err, addresses)`, with `addresses` being an array of objects with the\n     * properties `address` and `family`.\n     *\n     * On error, `err` is an `Error` object, where `err.code` is the error code.\n     * Keep in mind that `err.code` will be set to `'ENOTFOUND'` not only when\n     * the host name does not exist but also when the lookup fails in other ways\n     * such as no available file descriptors.\n     *\n     * `dns.lookup()` does not necessarily have anything to do with the DNS protocol.\n     * The implementation uses an operating system facility that can associate names\n     * with addresses and vice versa. This implementation can have subtle but\n     * important consequences on the behavior of any Node.js program. Please take some\n     * time to consult the [Implementation considerations section](https://nodejs.org/docs/latest-v18.x/api/dns.html#implementation-considerations)\n     * before using `dns.lookup()`.\n     *\n     * Example usage:\n     *\n     * ```js\n     * import dns from 'node:dns';\n     * const options = {\n     *   family: 6,\n     *   hints: dns.ADDRCONFIG | dns.V4MAPPED,\n     * };\n     * dns.lookup('example.com', options, (err, address, family) =>\n     *   console.log('address: %j family: IPv%s', address, family));\n     * // address: \"2606:2800:220:1:248:1893:25c8:1946\" family: IPv6\n     *\n     * // When options.all is true, the result will be an Array.\n     * options.all = true;\n     * dns.lookup('example.com', options, (err, addresses) =>\n     *   console.log('addresses: %j', addresses));\n     * // addresses: [{\"address\":\"2606:2800:220:1:248:1893:25c8:1946\",\"family\":6}]\n     * ```\n     *\n     * If this method is invoked as its [util.promisify()](https://nodejs.org/docs/latest-v18.x/api/util.html#utilpromisifyoriginal) ed\n     * version, and `all` is not set to `true`, it returns a `Promise` for an `Object` with `address` and `family` properties.\n     * @since v0.1.90\n     */\n    export function lookup(\n        hostname: string,\n        family: number,\n        callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void,\n    ): void;\n    export function lookup(\n        hostname: string,\n        options: LookupOneOptions,\n        callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void,\n    ): void;\n    export function lookup(\n        hostname: string,\n        options: LookupAllOptions,\n        callback: (err: NodeJS.ErrnoException | null, addresses: LookupAddress[]) => void,\n    ): void;\n    export function lookup(\n        hostname: string,\n        options: LookupOptions,\n        callback: (err: NodeJS.ErrnoException | null, address: string | LookupAddress[], family: number) => void,\n    ): void;\n    export function lookup(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void,\n    ): void;\n    export namespace lookup {\n        function __promisify__(hostname: string, options: LookupAllOptions): Promise<LookupAddress[]>;\n        function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise<LookupAddress>;\n        function __promisify__(hostname: string, options: LookupOptions): Promise<LookupAddress | LookupAddress[]>;\n    }\n    /**\n     * Resolves the given `address` and `port` into a host name and service using\n     * the operating system's underlying `getnameinfo` implementation.\n     *\n     * If `address` is not a valid IP address, a `TypeError` will be thrown.\n     * The `port` will be coerced to a number. If it is not a legal port, a `TypeError` will be thrown.\n     *\n     * On an error, `err` is an [`Error`](https://nodejs.org/docs/latest-v18.x/api/errors.html#class-error) object,\n     * where `err.code` is the error code.\n     *\n     * ```js\n     * import dns from 'node:dns';\n     * dns.lookupService('127.0.0.1', 22, (err, hostname, service) => {\n     *   console.log(hostname, service);\n     *   // Prints: localhost ssh\n     * });\n     * ```\n     *\n     * If this method is invoked as its [util.promisify()](https://nodejs.org/docs/latest-v18.x/api/util.html#utilpromisifyoriginal) ed\n     * version, it returns a `Promise` for an `Object` with `hostname` and `service` properties.\n     * @since v0.11.14\n     */\n    export function lookupService(\n        address: string,\n        port: number,\n        callback: (err: NodeJS.ErrnoException | null, hostname: string, service: string) => void,\n    ): void;\n    export namespace lookupService {\n        function __promisify__(\n            address: string,\n            port: number,\n        ): Promise<{\n            hostname: string;\n            service: string;\n        }>;\n    }\n    export interface ResolveOptions {\n        ttl: boolean;\n    }\n    export interface ResolveWithTtlOptions extends ResolveOptions {\n        ttl: true;\n    }\n    export interface RecordWithTtl {\n        address: string;\n        ttl: number;\n    }\n    /** @deprecated Use `AnyARecord` or `AnyAaaaRecord` instead. */\n    export type AnyRecordWithTtl = AnyARecord | AnyAaaaRecord;\n    export interface AnyARecord extends RecordWithTtl {\n        type: \"A\";\n    }\n    export interface AnyAaaaRecord extends RecordWithTtl {\n        type: \"AAAA\";\n    }\n    export interface CaaRecord {\n        critical: number;\n        issue?: string | undefined;\n        issuewild?: string | undefined;\n        iodef?: string | undefined;\n        contactemail?: string | undefined;\n        contactphone?: string | undefined;\n    }\n    export interface AnyCaaRecord extends CaaRecord {\n        type: \"CAA\";\n    }\n    export interface MxRecord {\n        priority: number;\n        exchange: string;\n    }\n    export interface AnyMxRecord extends MxRecord {\n        type: \"MX\";\n    }\n    export interface NaptrRecord {\n        flags: string;\n        service: string;\n        regexp: string;\n        replacement: string;\n        order: number;\n        preference: number;\n    }\n    export interface AnyNaptrRecord extends NaptrRecord {\n        type: \"NAPTR\";\n    }\n    export interface SoaRecord {\n        nsname: string;\n        hostmaster: string;\n        serial: number;\n        refresh: number;\n        retry: number;\n        expire: number;\n        minttl: number;\n    }\n    export interface AnySoaRecord extends SoaRecord {\n        type: \"SOA\";\n    }\n    export interface SrvRecord {\n        priority: number;\n        weight: number;\n        port: number;\n        name: string;\n    }\n    export interface AnySrvRecord extends SrvRecord {\n        type: \"SRV\";\n    }\n    export interface AnyTxtRecord {\n        type: \"TXT\";\n        entries: string[];\n    }\n    export interface AnyNsRecord {\n        type: \"NS\";\n        value: string;\n    }\n    export interface AnyPtrRecord {\n        type: \"PTR\";\n        value: string;\n    }\n    export interface AnyCnameRecord {\n        type: \"CNAME\";\n        value: string;\n    }\n    export type AnyRecord =\n        | AnyARecord\n        | AnyAaaaRecord\n        | AnyCaaRecord\n        | AnyCnameRecord\n        | AnyMxRecord\n        | AnyNaptrRecord\n        | AnyNsRecord\n        | AnyPtrRecord\n        | AnySoaRecord\n        | AnySrvRecord\n        | AnyTxtRecord;\n    /**\n     * Uses the DNS protocol to resolve a host name (e.g. `'nodejs.org'`) into an array\n     * of the resource records. The `callback` function has arguments `(err, records)`. When successful, `records` will be an array of resource\n     * records. The type and structure of individual results varies based on `rrtype`:\n     *\n     * <omitted>\n     *\n     * On error, `err` is an [`Error`](https://nodejs.org/docs/latest-v18.x/api/errors.html#class-error) object,\n     * where `err.code` is one of the `DNS error codes`.\n     * @since v0.1.27\n     * @param hostname Host name to resolve.\n     * @param [rrtype='A'] Resource record type.\n     */\n    export function resolve(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,\n    ): void;\n    export function resolve(\n        hostname: string,\n        rrtype: \"A\" | \"AAAA\" | \"CNAME\" | \"NS\" | \"PTR\",\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,\n    ): void;\n    export function resolve(\n        hostname: string,\n        rrtype: \"ANY\",\n        callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void,\n    ): void;\n    export function resolve(\n        hostname: string,\n        rrtype: \"CAA\",\n        callback: (err: NodeJS.ErrnoException | null, address: CaaRecord[]) => void,\n    ): void;\n    export function resolve(\n        hostname: string,\n        rrtype: \"MX\",\n        callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void,\n    ): void;\n    export function resolve(\n        hostname: string,\n        rrtype: \"NAPTR\",\n        callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void,\n    ): void;\n    export function resolve(\n        hostname: string,\n        rrtype: \"SOA\",\n        callback: (err: NodeJS.ErrnoException | null, addresses: SoaRecord) => void,\n    ): void;\n    export function resolve(\n        hostname: string,\n        rrtype: \"SRV\",\n        callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void,\n    ): void;\n    export function resolve(\n        hostname: string,\n        rrtype: \"TXT\",\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void,\n    ): void;\n    export function resolve(\n        hostname: string,\n        rrtype: string,\n        callback: (\n            err: NodeJS.ErrnoException | null,\n            addresses:\n                | string[]\n                | CaaRecord[]\n                | MxRecord[]\n                | NaptrRecord[]\n                | SoaRecord\n                | SrvRecord[]\n                | string[][]\n                | AnyRecord[],\n        ) => void,\n    ): void;\n    export namespace resolve {\n        function __promisify__(hostname: string, rrtype?: \"A\" | \"AAAA\" | \"CNAME\" | \"NS\" | \"PTR\"): Promise<string[]>;\n        function __promisify__(hostname: string, rrtype: \"ANY\"): Promise<AnyRecord[]>;\n        function __promisify__(hostname: string, rrtype: \"CAA\"): Promise<CaaRecord[]>;\n        function __promisify__(hostname: string, rrtype: \"MX\"): Promise<MxRecord[]>;\n        function __promisify__(hostname: string, rrtype: \"NAPTR\"): Promise<NaptrRecord[]>;\n        function __promisify__(hostname: string, rrtype: \"SOA\"): Promise<SoaRecord>;\n        function __promisify__(hostname: string, rrtype: \"SRV\"): Promise<SrvRecord[]>;\n        function __promisify__(hostname: string, rrtype: \"TXT\"): Promise<string[][]>;\n        function __promisify__(\n            hostname: string,\n            rrtype: string,\n        ): Promise<\n            | string[]\n            | CaaRecord[]\n            | MxRecord[]\n            | NaptrRecord[]\n            | SoaRecord\n            | SrvRecord[]\n            | string[][]\n            | AnyRecord[]\n        >;\n    }\n    /**\n     * Uses the DNS protocol to resolve a IPv4 addresses (`A` records) for the `hostname`. The `addresses` argument passed to the `callback` function\n     * will contain an array of IPv4 addresses (e.g.`['74.125.79.104', '74.125.79.105', '74.125.79.106']`).\n     * @since v0.1.16\n     * @param hostname Host name to resolve.\n     */\n    export function resolve4(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,\n    ): void;\n    export function resolve4(\n        hostname: string,\n        options: ResolveWithTtlOptions,\n        callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void,\n    ): void;\n    export function resolve4(\n        hostname: string,\n        options: ResolveOptions,\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void,\n    ): void;\n    export namespace resolve4 {\n        function __promisify__(hostname: string): Promise<string[]>;\n        function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;\n        function __promisify__(hostname: string, options?: ResolveOptions): Promise<string[] | RecordWithTtl[]>;\n    }\n    /**\n     * Uses the DNS protocol to resolve IPv6 addresses (`AAAA` records) for the `hostname`. The `addresses` argument passed to the `callback` function\n     * will contain an array of IPv6 addresses.\n     * @since v0.1.16\n     * @param hostname Host name to resolve.\n     */\n    export function resolve6(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,\n    ): void;\n    export function resolve6(\n        hostname: string,\n        options: ResolveWithTtlOptions,\n        callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void,\n    ): void;\n    export function resolve6(\n        hostname: string,\n        options: ResolveOptions,\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void,\n    ): void;\n    export namespace resolve6 {\n        function __promisify__(hostname: string): Promise<string[]>;\n        function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;\n        function __promisify__(hostname: string, options?: ResolveOptions): Promise<string[] | RecordWithTtl[]>;\n    }\n    /**\n     * Uses the DNS protocol to resolve `CNAME` records for the `hostname`. The `addresses` argument passed to the `callback` function\n     * will contain an array of canonical name records available for the `hostname` (e.g. `['bar.example.com']`).\n     * @since v0.3.2\n     */\n    export function resolveCname(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,\n    ): void;\n    export namespace resolveCname {\n        function __promisify__(hostname: string): Promise<string[]>;\n    }\n    /**\n     * Uses the DNS protocol to resolve `CAA` records for the `hostname`. The `addresses` argument passed to the `callback` function\n     * will contain an array of certification authority authorization records\n     * available for the `hostname` (e.g. `[{critical: 0, iodef: 'mailto:pki@example.com'}, {critical: 128, issue: 'pki.example.com'}]`).\n     * @since v15.0.0, v14.17.0\n     */\n    export function resolveCaa(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, records: CaaRecord[]) => void,\n    ): void;\n    export namespace resolveCaa {\n        function __promisify__(hostname: string): Promise<CaaRecord[]>;\n    }\n    /**\n     * Uses the DNS protocol to resolve mail exchange records (`MX` records) for the `hostname`. The `addresses` argument passed to the `callback` function will\n     * contain an array of objects containing both a `priority` and `exchange` property (e.g. `[{priority: 10, exchange: 'mx.example.com'}, ...]`).\n     * @since v0.1.27\n     */\n    export function resolveMx(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void,\n    ): void;\n    export namespace resolveMx {\n        function __promisify__(hostname: string): Promise<MxRecord[]>;\n    }\n    /**\n     * Uses the DNS protocol to resolve regular expression-based records (`NAPTR` records) for the `hostname`. The `addresses` argument passed to the `callback` function will contain an array of\n     * objects with the following properties:\n     *\n     * * `flags`\n     * * `service`\n     * * `regexp`\n     * * `replacement`\n     * * `order`\n     * * `preference`\n     *\n     * ```js\n     * {\n     *   flags: 's',\n     *   service: 'SIP+D2U',\n     *   regexp: '',\n     *   replacement: '_sip._udp.example.com',\n     *   order: 30,\n     *   preference: 100\n     * }\n     * ```\n     * @since v0.9.12\n     */\n    export function resolveNaptr(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void,\n    ): void;\n    export namespace resolveNaptr {\n        function __promisify__(hostname: string): Promise<NaptrRecord[]>;\n    }\n    /**\n     * Uses the DNS protocol to resolve name server records (`NS` records) for the `hostname`. The `addresses` argument passed to the `callback` function will\n     * contain an array of name server records available for `hostname` (e.g. `['ns1.example.com', 'ns2.example.com']`).\n     * @since v0.1.90\n     */\n    export function resolveNs(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,\n    ): void;\n    export namespace resolveNs {\n        function __promisify__(hostname: string): Promise<string[]>;\n    }\n    /**\n     * Uses the DNS protocol to resolve pointer records (`PTR` records) for the `hostname`. The `addresses` argument passed to the `callback` function will\n     * be an array of strings containing the reply records.\n     * @since v6.0.0\n     */\n    export function resolvePtr(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,\n    ): void;\n    export namespace resolvePtr {\n        function __promisify__(hostname: string): Promise<string[]>;\n    }\n    /**\n     * Uses the DNS protocol to resolve a start of authority record (`SOA` record) for\n     * the `hostname`. The `address` argument passed to the `callback` function will\n     * be an object with the following properties:\n     *\n     * * `nsname`\n     * * `hostmaster`\n     * * `serial`\n     * * `refresh`\n     * * `retry`\n     * * `expire`\n     * * `minttl`\n     *\n     * ```js\n     * {\n     *   nsname: 'ns.example.com',\n     *   hostmaster: 'root.example.com',\n     *   serial: 2013101809,\n     *   refresh: 10000,\n     *   retry: 2400,\n     *   expire: 604800,\n     *   minttl: 3600\n     * }\n     * ```\n     * @since v0.11.10\n     */\n    export function resolveSoa(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, address: SoaRecord) => void,\n    ): void;\n    export namespace resolveSoa {\n        function __promisify__(hostname: string): Promise<SoaRecord>;\n    }\n    /**\n     * Uses the DNS protocol to resolve service records (`SRV` records) for the `hostname`. The `addresses` argument passed to the `callback` function will\n     * be an array of objects with the following properties:\n     *\n     * * `priority`\n     * * `weight`\n     * * `port`\n     * * `name`\n     *\n     * ```js\n     * {\n     *   priority: 10,\n     *   weight: 5,\n     *   port: 21223,\n     *   name: 'service.example.com'\n     * }\n     * ```\n     * @since v0.1.27\n     */\n    export function resolveSrv(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void,\n    ): void;\n    export namespace resolveSrv {\n        function __promisify__(hostname: string): Promise<SrvRecord[]>;\n    }\n    /**\n     * Uses the DNS protocol to resolve text queries (`TXT` records) for the `hostname`. The `records` argument passed to the `callback` function is a\n     * two-dimensional array of the text records available for `hostname` (e.g.`[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ]`). Each sub-array contains TXT chunks of\n     * one record. Depending on the use case, these could be either joined together or\n     * treated separately.\n     * @since v0.1.27\n     */\n    export function resolveTxt(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void,\n    ): void;\n    export namespace resolveTxt {\n        function __promisify__(hostname: string): Promise<string[][]>;\n    }\n    /**\n     * Uses the DNS protocol to resolve all records (also known as `ANY` or `*` query).\n     * The `ret` argument passed to the `callback` function will be an array containing\n     * various types of records. Each object has a property `type` that indicates the\n     * type of the current record. And depending on the `type`, additional properties\n     * will be present on the object:\n     *\n     * <omitted>\n     *\n     * Here is an example of the `ret` object passed to the callback:\n     *\n     * ```js\n     * [ { type: 'A', address: '127.0.0.1', ttl: 299 },\n     *   { type: 'CNAME', value: 'example.com' },\n     *   { type: 'MX', exchange: 'alt4.aspmx.l.example.com', priority: 50 },\n     *   { type: 'NS', value: 'ns1.example.com' },\n     *   { type: 'TXT', entries: [ 'v=spf1 include:_spf.example.com ~all' ] },\n     *   { type: 'SOA',\n     *     nsname: 'ns1.example.com',\n     *     hostmaster: 'admin.example.com',\n     *     serial: 156696742,\n     *     refresh: 900,\n     *     retry: 900,\n     *     expire: 1800,\n     *     minttl: 60 } ]\n     * ```\n     *\n     * DNS server operators may choose not to respond to `ANY` queries. It may be better to call individual methods like {@link resolve4}, {@link resolveMx}, and so on. For more details, see\n     * [RFC 8482](https://tools.ietf.org/html/rfc8482).\n     */\n    export function resolveAny(\n        hostname: string,\n        callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void,\n    ): void;\n    export namespace resolveAny {\n        function __promisify__(hostname: string): Promise<AnyRecord[]>;\n    }\n    /**\n     * Performs a reverse DNS query that resolves an IPv4 or IPv6 address to an\n     * array of host names.\n     *\n     * On error, `err` is an [`Error`](https://nodejs.org/docs/latest-v18.x/api/errors.html#class-error) object, where `err.code` is\n     * one of the [DNS error codes](https://nodejs.org/docs/latest-v18.x/api/dns.html#error-codes).\n     * @since v0.1.16\n     */\n    export function reverse(\n        ip: string,\n        callback: (err: NodeJS.ErrnoException | null, hostnames: string[]) => void,\n    ): void;\n    /**\n     * Get the default value for `verbatim` in {@link lookup} and [`dnsPromises.lookup()`](https://nodejs.org/docs/latest-v18.x/api/dns.html#dnspromiseslookuphostname-options).\n     * The value could be:\n     *\n     * * `ipv4first`: for `verbatim` defaulting to `false`.\n     * * `verbatim`: for `verbatim` defaulting to `true`.\n     * @since v18.17.0\n     */\n    export function getDefaultResultOrder(): \"ipv4first\" | \"verbatim\";\n    /**\n     * Sets the IP address and port of servers to be used when performing DNS\n     * resolution. The `servers` argument is an array of [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6) formatted\n     * addresses. If the port is the IANA default DNS port (53) it can be omitted.\n     *\n     * ```js\n     * dns.setServers([\n     *   '4.4.4.4',\n     *   '[2001:4860:4860::8888]',\n     *   '4.4.4.4:1053',\n     *   '[2001:4860:4860::8888]:1053',\n     * ]);\n     * ```\n     *\n     * An error will be thrown if an invalid address is provided.\n     *\n     * The `dns.setServers()` method must not be called while a DNS query is in\n     * progress.\n     *\n     * The {@link setServers} method affects only {@link resolve}, `dns.resolve*()` and {@link reverse} (and specifically _not_ {@link lookup}).\n     *\n     * This method works much like [resolve.conf](https://man7.org/linux/man-pages/man5/resolv.conf.5.html).\n     * That is, if attempting to resolve with the first server provided results in a `NOTFOUND` error, the `resolve()` method will _not_ attempt to resolve with\n     * subsequent servers provided. Fallback DNS servers will only be used if the\n     * earlier ones time out or result in some other error.\n     * @since v0.11.3\n     * @param servers array of [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952#section-6) formatted addresses\n     */\n    export function setServers(servers: readonly string[]): void;\n    /**\n     * Returns an array of IP address strings, formatted according to [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6),\n     * that are currently configured for DNS resolution. A string will include a port\n     * section if a custom port is used.\n     *\n     * ```js\n     * [\n     *   '4.4.4.4',\n     *   '2001:4860:4860::8888',\n     *   '4.4.4.4:1053',\n     *   '[2001:4860:4860::8888]:1053',\n     * ]\n     * ```\n     * @since v0.11.3\n     */\n    export function getServers(): string[];\n    /**\n     * Set the default value of `verbatim` in {@link lookup} and [`dnsPromises.lookup()`](https://nodejs.org/docs/latest-v18.x/api/dns.html#dnspromiseslookuphostname-options).\n     * The value could be:\n     *\n     * * `ipv4first`: sets default `verbatim` `false`.\n     * * `verbatim`: sets default `verbatim` `true`.\n     *\n     * The default is `verbatim` and {@link setDefaultResultOrder} have higher\n     * priority than [`--dns-result-order`](https://nodejs.org/docs/latest-v18.x/api/cli.html#--dns-result-orderorder). When using\n     * [worker threads](https://nodejs.org/docs/latest-v18.x/api/worker_threads.html), {@link setDefaultResultOrder} from the main\n     * thread won't affect the default dns orders in workers.\n     * @since v16.4.0, v14.18.0\n     * @param order must be `'ipv4first'` or `'verbatim'`.\n     */\n    export function setDefaultResultOrder(order: \"ipv4first\" | \"verbatim\"): void;\n    // Error codes\n    export const NODATA: \"ENODATA\";\n    export const FORMERR: \"EFORMERR\";\n    export const SERVFAIL: \"ESERVFAIL\";\n    export const NOTFOUND: \"ENOTFOUND\";\n    export const NOTIMP: \"ENOTIMP\";\n    export const REFUSED: \"EREFUSED\";\n    export const BADQUERY: \"EBADQUERY\";\n    export const BADNAME: \"EBADNAME\";\n    export const BADFAMILY: \"EBADFAMILY\";\n    export const BADRESP: \"EBADRESP\";\n    export const CONNREFUSED: \"ECONNREFUSED\";\n    export const TIMEOUT: \"ETIMEOUT\";\n    export const EOF: \"EOF\";\n    export const FILE: \"EFILE\";\n    export const NOMEM: \"ENOMEM\";\n    export const DESTRUCTION: \"EDESTRUCTION\";\n    export const BADSTR: \"EBADSTR\";\n    export const BADFLAGS: \"EBADFLAGS\";\n    export const NONAME: \"ENONAME\";\n    export const BADHINTS: \"EBADHINTS\";\n    export const NOTINITIALIZED: \"ENOTINITIALIZED\";\n    export const LOADIPHLPAPI: \"ELOADIPHLPAPI\";\n    export const ADDRGETNETWORKPARAMS: \"EADDRGETNETWORKPARAMS\";\n    export const CANCELLED: \"ECANCELLED\";\n    export interface ResolverOptions {\n        /**\n         * Query timeout in milliseconds, or `-1` to use the default timeout.\n         */\n        timeout?: number | undefined;\n        /**\n         * The number of tries the resolver will try contacting each name server before giving up.\n         * @default 4\n         */\n        tries?: number;\n    }\n    /**\n     * An independent resolver for DNS requests.\n     *\n     * Creating a new resolver uses the default server settings. Setting\n     * the servers used for a resolver using [`resolver.setServers()`](https://nodejs.org/docs/latest-v18.x/api/dns.html#dnssetserversservers) does not affect\n     * other resolvers:\n     *\n     * ```js\n     * import { Resolver } from 'node:dns';\n     * const resolver = new Resolver();\n     * resolver.setServers(['4.4.4.4']);\n     *\n     * // This request will use the server at 4.4.4.4, independent of global settings.\n     * resolver.resolve4('example.org', (err, addresses) => {\n     *   // ...\n     * });\n     * ```\n     *\n     * The following methods from the `node:dns` module are available:\n     *\n     * * `resolver.getServers()`\n     * * `resolver.resolve()`\n     * * `resolver.resolve4()`\n     * * `resolver.resolve6()`\n     * * `resolver.resolveAny()`\n     * * `resolver.resolveCaa()`\n     * * `resolver.resolveCname()`\n     * * `resolver.resolveMx()`\n     * * `resolver.resolveNaptr()`\n     * * `resolver.resolveNs()`\n     * * `resolver.resolvePtr()`\n     * * `resolver.resolveSoa()`\n     * * `resolver.resolveSrv()`\n     * * `resolver.resolveTxt()`\n     * * `resolver.reverse()`\n     * * `resolver.setServers()`\n     * @since v8.3.0\n     */\n    export class Resolver {\n        constructor(options?: ResolverOptions);\n        /**\n         * Cancel all outstanding DNS queries made by this resolver. The corresponding\n         * callbacks will be called with an error with code `ECANCELLED`.\n         * @since v8.3.0\n         */\n        cancel(): void;\n        getServers: typeof getServers;\n        resolve: typeof resolve;\n        resolve4: typeof resolve4;\n        resolve6: typeof resolve6;\n        resolveAny: typeof resolveAny;\n        resolveCaa: typeof resolveCaa;\n        resolveCname: typeof resolveCname;\n        resolveMx: typeof resolveMx;\n        resolveNaptr: typeof resolveNaptr;\n        resolveNs: typeof resolveNs;\n        resolvePtr: typeof resolvePtr;\n        resolveSoa: typeof resolveSoa;\n        resolveSrv: typeof resolveSrv;\n        resolveTxt: typeof resolveTxt;\n        reverse: typeof reverse;\n        /**\n         * The resolver instance will send its requests from the specified IP address.\n         * This allows programs to specify outbound interfaces when used on multi-homed\n         * systems.\n         *\n         * If a v4 or v6 address is not specified, it is set to the default and the\n         * operating system will choose a local address automatically.\n         *\n         * The resolver will use the v4 local address when making requests to IPv4 DNS\n         * servers, and the v6 local address when making requests to IPv6 DNS servers.\n         * The `rrtype` of resolution requests has no impact on the local address used.\n         * @since v15.1.0, v14.17.0\n         * @param [ipv4='0.0.0.0'] A string representation of an IPv4 address.\n         * @param [ipv6='::0'] A string representation of an IPv6 address.\n         */\n        setLocalAddress(ipv4?: string, ipv6?: string): void;\n        setServers: typeof setServers;\n    }\n    export { dnsPromises as promises };\n}\ndeclare module \"node:dns\" {\n    export * from \"dns\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/dns/promises.d.ts",
      "content": "/**\n * The `dns.promises` API provides an alternative set of asynchronous DNS methods\n * that return `Promise` objects rather than using callbacks. The API is accessible\n * via `import { promises } from 'node:dns'` or `import dnsPromises from 'node:dns/promises'`.\n * @since v10.6.0\n */\ndeclare module \"dns/promises\" {\n    import {\n        AnyRecord,\n        CaaRecord,\n        LookupAddress,\n        LookupAllOptions,\n        LookupOneOptions,\n        LookupOptions,\n        MxRecord,\n        NaptrRecord,\n        RecordWithTtl,\n        ResolveOptions,\n        ResolverOptions,\n        ResolveWithTtlOptions,\n        SoaRecord,\n        SrvRecord,\n    } from \"node:dns\";\n    /**\n     * Returns an array of IP address strings, formatted according to [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6),\n     * that are currently configured for DNS resolution. A string will include a port\n     * section if a custom port is used.\n     *\n     * ```js\n     * [\n     *   '4.4.4.4',\n     *   '2001:4860:4860::8888',\n     *   '4.4.4.4:1053',\n     *   '[2001:4860:4860::8888]:1053',\n     * ]\n     * ```\n     * @since v10.6.0\n     */\n    function getServers(): string[];\n    /**\n     * Resolves a host name (e.g. `'nodejs.org'`) into the first found A (IPv4) or\n     * AAAA (IPv6) record. All `option` properties are optional. If `options` is an\n     * integer, then it must be `4` or `6` – if `options` is not provided, then IPv4\n     * and IPv6 addresses are both returned if found.\n     *\n     * With the `all` option set to `true`, the `Promise` is resolved with `addresses` being an array of objects with the properties `address` and `family`.\n     *\n     * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v18.x/api/errors.html#class-error) object, where `err.code` is the error code.\n     * Keep in mind that `err.code` will be set to `'ENOTFOUND'` not only when\n     * the host name does not exist but also when the lookup fails in other ways\n     * such as no available file descriptors.\n     *\n     * [`dnsPromises.lookup()`](https://nodejs.org/docs/latest-v18.x/api/dns.html#dnspromiseslookuphostname-options) does not necessarily have anything to do with the DNS\n     * protocol. The implementation uses an operating system facility that can\n     * associate names with addresses and vice versa. This implementation can have\n     * subtle but important consequences on the behavior of any Node.js program. Please\n     * take some time to consult the [Implementation considerations section](https://nodejs.org/docs/latest-v18.x/api/dns.html#implementation-considerations) before\n     * using `dnsPromises.lookup()`.\n     *\n     * Example usage:\n     *\n     * ```js\n     * import dns from 'node:dns';\n     * const dnsPromises = dns.promises;\n     * const options = {\n     *   family: 6,\n     *   hints: dns.ADDRCONFIG | dns.V4MAPPED,\n     * };\n     *\n     * dnsPromises.lookup('example.com', options).then((result) => {\n     *   console.log('address: %j family: IPv%s', result.address, result.family);\n     *   // address: \"2606:2800:220:1:248:1893:25c8:1946\" family: IPv6\n     * });\n     *\n     * // When options.all is true, the result will be an Array.\n     * options.all = true;\n     * dnsPromises.lookup('example.com', options).then((result) => {\n     *   console.log('addresses: %j', result);\n     *   // addresses: [{\"address\":\"2606:2800:220:1:248:1893:25c8:1946\",\"family\":6}]\n     * });\n     * ```\n     * @since v10.6.0\n     */\n    function lookup(hostname: string, family: number): Promise<LookupAddress>;\n    function lookup(hostname: string, options: LookupOneOptions): Promise<LookupAddress>;\n    function lookup(hostname: string, options: LookupAllOptions): Promise<LookupAddress[]>;\n    function lookup(hostname: string, options: LookupOptions): Promise<LookupAddress | LookupAddress[]>;\n    function lookup(hostname: string): Promise<LookupAddress>;\n    /**\n     * Resolves the given `address` and `port` into a host name and service using\n     * the operating system's underlying `getnameinfo` implementation.\n     *\n     * If `address` is not a valid IP address, a `TypeError` will be thrown.\n     * The `port` will be coerced to a number. If it is not a legal port, a `TypeError` will be thrown.\n     *\n     * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v18.x/api/errors.html#class-error) object, where `err.code` is the error code.\n     *\n     * ```js\n     * import dns from 'node:dns';\n     * dns.promises.lookupService('127.0.0.1', 22).then((result) => {\n     *   console.log(result.hostname, result.service);\n     *   // Prints: localhost ssh\n     * });\n     * ```\n     * @since v10.6.0\n     */\n    function lookupService(\n        address: string,\n        port: number,\n    ): Promise<{\n        hostname: string;\n        service: string;\n    }>;\n    /**\n     * Uses the DNS protocol to resolve a host name (e.g. `'nodejs.org'`) into an array\n     * of the resource records. When successful, the `Promise` is resolved with an\n     * array of resource records. The type and structure of individual results vary\n     * based on `rrtype`:\n     *\n     * <omitted>\n     *\n     * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v18.x/api/errors.html#class-error) object, where `err.code`\n     * is one of the [DNS error codes](https://nodejs.org/docs/latest-v18.x/api/dns.html#error-codes).\n     * @since v10.6.0\n     * @param hostname Host name to resolve.\n     * @param [rrtype='A'] Resource record type.\n     */\n    function resolve(hostname: string): Promise<string[]>;\n    function resolve(hostname: string, rrtype: \"A\" | \"AAAA\" | \"CNAME\" | \"NS\" | \"PTR\"): Promise<string[]>;\n    function resolve(hostname: string, rrtype: \"ANY\"): Promise<AnyRecord[]>;\n    function resolve(hostname: string, rrtype: \"CAA\"): Promise<CaaRecord[]>;\n    function resolve(hostname: string, rrtype: \"MX\"): Promise<MxRecord[]>;\n    function resolve(hostname: string, rrtype: \"NAPTR\"): Promise<NaptrRecord[]>;\n    function resolve(hostname: string, rrtype: \"SOA\"): Promise<SoaRecord>;\n    function resolve(hostname: string, rrtype: \"SRV\"): Promise<SrvRecord[]>;\n    function resolve(hostname: string, rrtype: \"TXT\"): Promise<string[][]>;\n    function resolve(hostname: string, rrtype: string): Promise<\n        | string[]\n        | CaaRecord[]\n        | MxRecord[]\n        | NaptrRecord[]\n        | SoaRecord\n        | SrvRecord[]\n        | string[][]\n        | AnyRecord[]\n    >;\n    /**\n     * Uses the DNS protocol to resolve IPv4 addresses (`A` records) for the `hostname`. On success, the `Promise` is resolved with an array of IPv4\n     * addresses (e.g. `['74.125.79.104', '74.125.79.105', '74.125.79.106']`).\n     * @since v10.6.0\n     * @param hostname Host name to resolve.\n     */\n    function resolve4(hostname: string): Promise<string[]>;\n    function resolve4(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;\n    function resolve4(hostname: string, options: ResolveOptions): Promise<string[] | RecordWithTtl[]>;\n    /**\n     * Uses the DNS protocol to resolve IPv6 addresses (`AAAA` records) for the `hostname`. On success, the `Promise` is resolved with an array of IPv6\n     * addresses.\n     * @since v10.6.0\n     * @param hostname Host name to resolve.\n     */\n    function resolve6(hostname: string): Promise<string[]>;\n    function resolve6(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;\n    function resolve6(hostname: string, options: ResolveOptions): Promise<string[] | RecordWithTtl[]>;\n    /**\n     * Uses the DNS protocol to resolve all records (also known as `ANY` or `*` query).\n     * On success, the `Promise` is resolved with an array containing various types of\n     * records. Each object has a property `type` that indicates the type of the\n     * current record. And depending on the `type`, additional properties will be\n     * present on the object:\n     *\n     * <omitted>\n     *\n     * Here is an example of the result object:\n     *\n     * ```js\n     * [ { type: 'A', address: '127.0.0.1', ttl: 299 },\n     *   { type: 'CNAME', value: 'example.com' },\n     *   { type: 'MX', exchange: 'alt4.aspmx.l.example.com', priority: 50 },\n     *   { type: 'NS', value: 'ns1.example.com' },\n     *   { type: 'TXT', entries: [ 'v=spf1 include:_spf.example.com ~all' ] },\n     *   { type: 'SOA',\n     *     nsname: 'ns1.example.com',\n     *     hostmaster: 'admin.example.com',\n     *     serial: 156696742,\n     *     refresh: 900,\n     *     retry: 900,\n     *     expire: 1800,\n     *     minttl: 60 } ]\n     * ```\n     * @since v10.6.0\n     */\n    function resolveAny(hostname: string): Promise<AnyRecord[]>;\n    /**\n     * Uses the DNS protocol to resolve `CAA` records for the `hostname`. On success,\n     * the `Promise` is resolved with an array of objects containing available\n     * certification authority authorization records available for the `hostname` (e.g. `[{critical: 0, iodef: 'mailto:pki@example.com'},{critical: 128, issue: 'pki.example.com'}]`).\n     * @since v15.0.0, v14.17.0\n     */\n    function resolveCaa(hostname: string): Promise<CaaRecord[]>;\n    /**\n     * Uses the DNS protocol to resolve `CNAME` records for the `hostname`. On success,\n     * the `Promise` is resolved with an array of canonical name records available for\n     * the `hostname` (e.g. `['bar.example.com']`).\n     * @since v10.6.0\n     */\n    function resolveCname(hostname: string): Promise<string[]>;\n    /**\n     * Uses the DNS protocol to resolve mail exchange records (`MX` records) for the `hostname`. On success, the `Promise` is resolved with an array of objects\n     * containing both a `priority` and `exchange` property (e.g.`[{priority: 10, exchange: 'mx.example.com'}, ...]`).\n     * @since v10.6.0\n     */\n    function resolveMx(hostname: string): Promise<MxRecord[]>;\n    /**\n     * Uses the DNS protocol to resolve regular expression-based records (`NAPTR` records) for the `hostname`. On success, the `Promise` is resolved with an array\n     * of objects with the following properties:\n     *\n     * * `flags`\n     * * `service`\n     * * `regexp`\n     * * `replacement`\n     * * `order`\n     * * `preference`\n     *\n     * ```js\n     * {\n     *   flags: 's',\n     *   service: 'SIP+D2U',\n     *   regexp: '',\n     *   replacement: '_sip._udp.example.com',\n     *   order: 30,\n     *   preference: 100\n     * }\n     * ```\n     * @since v10.6.0\n     */\n    function resolveNaptr(hostname: string): Promise<NaptrRecord[]>;\n    /**\n     * Uses the DNS protocol to resolve name server records (`NS` records) for the `hostname`. On success, the `Promise` is resolved with an array of name server\n     * records available for `hostname` (e.g.`['ns1.example.com', 'ns2.example.com']`).\n     * @since v10.6.0\n     */\n    function resolveNs(hostname: string): Promise<string[]>;\n    /**\n     * Uses the DNS protocol to resolve pointer records (`PTR` records) for the `hostname`. On success, the `Promise` is resolved with an array of strings\n     * containing the reply records.\n     * @since v10.6.0\n     */\n    function resolvePtr(hostname: string): Promise<string[]>;\n    /**\n     * Uses the DNS protocol to resolve a start of authority record (`SOA` record) for\n     * the `hostname`. On success, the `Promise` is resolved with an object with the\n     * following properties:\n     *\n     * * `nsname`\n     * * `hostmaster`\n     * * `serial`\n     * * `refresh`\n     * * `retry`\n     * * `expire`\n     * * `minttl`\n     *\n     * ```js\n     * {\n     *   nsname: 'ns.example.com',\n     *   hostmaster: 'root.example.com',\n     *   serial: 2013101809,\n     *   refresh: 10000,\n     *   retry: 2400,\n     *   expire: 604800,\n     *   minttl: 3600\n     * }\n     * ```\n     * @since v10.6.0\n     */\n    function resolveSoa(hostname: string): Promise<SoaRecord>;\n    /**\n     * Uses the DNS protocol to resolve service records (`SRV` records) for the `hostname`. On success, the `Promise` is resolved with an array of objects with\n     * the following properties:\n     *\n     * * `priority`\n     * * `weight`\n     * * `port`\n     * * `name`\n     *\n     * ```js\n     * {\n     *   priority: 10,\n     *   weight: 5,\n     *   port: 21223,\n     *   name: 'service.example.com'\n     * }\n     * ```\n     * @since v10.6.0\n     */\n    function resolveSrv(hostname: string): Promise<SrvRecord[]>;\n    /**\n     * Uses the DNS protocol to resolve text queries (`TXT` records) for the `hostname`. On success, the `Promise` is resolved with a two-dimensional array\n     * of the text records available for `hostname` (e.g.`[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ]`). Each sub-array contains TXT chunks of\n     * one record. Depending on the use case, these could be either joined together or\n     * treated separately.\n     * @since v10.6.0\n     */\n    function resolveTxt(hostname: string): Promise<string[][]>;\n    /**\n     * Performs a reverse DNS query that resolves an IPv4 or IPv6 address to an\n     * array of host names.\n     *\n     * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v18.x/api/errors.html#class-error) object, where `err.code`\n     * is one of the [DNS error codes](https://nodejs.org/docs/latest-v18.x/api/dns.html#error-codes).\n     * @since v10.6.0\n     */\n    function reverse(ip: string): Promise<string[]>;\n    /**\n     * Get the default value for `verbatim` in {@link lookup} and [dnsPromises.lookup()](https://nodejs.org/docs/latest-v18.x/api/dns.html#dnspromiseslookuphostname-options).\n     * The value could be:\n     *\n     * * `ipv4first`: for `verbatim` defaulting to `false`.\n     * * `verbatim`: for `verbatim` defaulting to `true`.\n     * @since v18.17.0\n     */\n    function getDefaultResultOrder(): \"ipv4first\" | \"verbatim\";\n    /**\n     * Sets the IP address and port of servers to be used when performing DNS\n     * resolution. The `servers` argument is an array of [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6) formatted\n     * addresses. If the port is the IANA default DNS port (53) it can be omitted.\n     *\n     * ```js\n     * dnsPromises.setServers([\n     *   '4.4.4.4',\n     *   '[2001:4860:4860::8888]',\n     *   '4.4.4.4:1053',\n     *   '[2001:4860:4860::8888]:1053',\n     * ]);\n     * ```\n     *\n     * An error will be thrown if an invalid address is provided.\n     *\n     * The `dnsPromises.setServers()` method must not be called while a DNS query is in\n     * progress.\n     *\n     * This method works much like [resolve.conf](https://man7.org/linux/man-pages/man5/resolv.conf.5.html).\n     * That is, if attempting to resolve with the first server provided results in a`NOTFOUND` error, the `resolve()` method will _not_ attempt to resolve with\n     * subsequent servers provided. Fallback DNS servers will only be used if the\n     * earlier ones time out or result in some other error.\n     * @since v10.6.0\n     * @param servers array of `RFC 5952` formatted addresses\n     */\n    function setServers(servers: readonly string[]): void;\n    /**\n     * Set the default value of `verbatim` in `dns.lookup()` and `dnsPromises.lookup()`. The value could be:\n     *\n     * * `ipv4first`: sets default `verbatim` `false`.\n     * * `verbatim`: sets default `verbatim` `true`.\n     *\n     * The default is `verbatim` and [dnsPromises.setDefaultResultOrder()](https://nodejs.org/docs/latest-v18.x/api/dns.html#dnspromisessetdefaultresultorderorder)\n     * have higher priority than [`--dns-result-order`](https://nodejs.org/docs/latest-v18.x/api/cli.html#--dns-result-orderorder).\n     * When using [worker threads](https://nodejs.org/docs/latest-v18.x/api/worker_threads.html), [`dnsPromises.setDefaultResultOrder()`](https://nodejs.org/docs/latest-v18.x/api/dns.html#dnspromisessetdefaultresultorderorder)\n     * from the main thread won't affect the default dns orders in workers.\n     * @since v16.4.0, v14.18.0\n     * @param order must be `'ipv4first'` or `'verbatim'`.\n     */\n    function setDefaultResultOrder(order: \"ipv4first\" | \"verbatim\"): void;\n    // Error codes\n    const NODATA: \"ENODATA\";\n    const FORMERR: \"EFORMERR\";\n    const SERVFAIL: \"ESERVFAIL\";\n    const NOTFOUND: \"ENOTFOUND\";\n    const NOTIMP: \"ENOTIMP\";\n    const REFUSED: \"EREFUSED\";\n    const BADQUERY: \"EBADQUERY\";\n    const BADNAME: \"EBADNAME\";\n    const BADFAMILY: \"EBADFAMILY\";\n    const BADRESP: \"EBADRESP\";\n    const CONNREFUSED: \"ECONNREFUSED\";\n    const TIMEOUT: \"ETIMEOUT\";\n    const EOF: \"EOF\";\n    const FILE: \"EFILE\";\n    const NOMEM: \"ENOMEM\";\n    const DESTRUCTION: \"EDESTRUCTION\";\n    const BADSTR: \"EBADSTR\";\n    const BADFLAGS: \"EBADFLAGS\";\n    const NONAME: \"ENONAME\";\n    const BADHINTS: \"EBADHINTS\";\n    const NOTINITIALIZED: \"ENOTINITIALIZED\";\n    const LOADIPHLPAPI: \"ELOADIPHLPAPI\";\n    const ADDRGETNETWORKPARAMS: \"EADDRGETNETWORKPARAMS\";\n    const CANCELLED: \"ECANCELLED\";\n    /**\n     * An independent resolver for DNS requests.\n     *\n     * Creating a new resolver uses the default server settings. Setting\n     * the servers used for a resolver using [`resolver.setServers()`](https://nodejs.org/docs/latest-v18.x/api/dns.html#dnspromisessetserversservers) does not affect\n     * other resolvers:\n     *\n     * ```js\n     * import dns from 'node:dns';\n     * const { Resolver } = dns.promises;\n     * const resolver = new Resolver();\n     * resolver.setServers(['4.4.4.4']);\n     *\n     * // This request will use the server at 4.4.4.4, independent of global settings.\n     * resolver.resolve4('example.org').then((addresses) => {\n     *   // ...\n     * });\n     *\n     * // Alternatively, the same code can be written using async-await style.\n     * (async function() {\n     *   const addresses = await resolver.resolve4('example.org');\n     * })();\n     * ```\n     *\n     * The following methods from the `dnsPromises` API are available:\n     *\n     * * `resolver.getServers()`\n     * * `resolver.resolve()`\n     * * `resolver.resolve4()`\n     * * `resolver.resolve6()`\n     * * `resolver.resolveAny()`\n     * * `resolver.resolveCaa()`\n     * * `resolver.resolveCname()`\n     * * `resolver.resolveMx()`\n     * * `resolver.resolveNaptr()`\n     * * `resolver.resolveNs()`\n     * * `resolver.resolvePtr()`\n     * * `resolver.resolveSoa()`\n     * * `resolver.resolveSrv()`\n     * * `resolver.resolveTxt()`\n     * * `resolver.reverse()`\n     * * `resolver.setServers()`\n     * @since v10.6.0\n     */\n    class Resolver {\n        constructor(options?: ResolverOptions);\n        /**\n         * Cancel all outstanding DNS queries made by this resolver. The corresponding\n         * callbacks will be called with an error with code `ECANCELLED`.\n         * @since v8.3.0\n         */\n        cancel(): void;\n        getServers: typeof getServers;\n        resolve: typeof resolve;\n        resolve4: typeof resolve4;\n        resolve6: typeof resolve6;\n        resolveAny: typeof resolveAny;\n        resolveCaa: typeof resolveCaa;\n        resolveCname: typeof resolveCname;\n        resolveMx: typeof resolveMx;\n        resolveNaptr: typeof resolveNaptr;\n        resolveNs: typeof resolveNs;\n        resolvePtr: typeof resolvePtr;\n        resolveSoa: typeof resolveSoa;\n        resolveSrv: typeof resolveSrv;\n        resolveTxt: typeof resolveTxt;\n        reverse: typeof reverse;\n        /**\n         * The resolver instance will send its requests from the specified IP address.\n         * This allows programs to specify outbound interfaces when used on multi-homed\n         * systems.\n         *\n         * If a v4 or v6 address is not specified, it is set to the default and the\n         * operating system will choose a local address automatically.\n         *\n         * The resolver will use the v4 local address when making requests to IPv4 DNS\n         * servers, and the v6 local address when making requests to IPv6 DNS servers.\n         * The `rrtype` of resolution requests has no impact on the local address used.\n         * @since v15.1.0, v14.17.0\n         * @param [ipv4='0.0.0.0'] A string representation of an IPv4 address.\n         * @param [ipv6='::0'] A string representation of an IPv6 address.\n         */\n        setLocalAddress(ipv4?: string, ipv6?: string): void;\n        setServers: typeof setServers;\n    }\n}\ndeclare module \"node:dns/promises\" {\n    export * from \"dns/promises\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/domain.d.ts",
      "content": "/**\n * **This module is pending deprecation.** Once a replacement API has been\n * finalized, this module will be fully deprecated. Most developers should\n * **not** have cause to use this module. Users who absolutely must have\n * the functionality that domains provide may rely on it for the time being\n * but should expect to have to migrate to a different solution\n * in the future.\n *\n * Domains provide a way to handle multiple different IO operations as a\n * single group. If any of the event emitters or callbacks registered to a\n * domain emit an `'error'` event, or throw an error, then the domain object\n * will be notified, rather than losing the context of the error in the`process.on('uncaughtException')` handler, or causing the program to\n * exit immediately with an error code.\n * @deprecated Since v1.4.2 - Deprecated\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/domain.js)\n */\ndeclare module \"domain\" {\n    import EventEmitter = require(\"node:events\");\n    /**\n     * The `Domain` class encapsulates the functionality of routing errors and\n     * uncaught exceptions to the active `Domain` object.\n     *\n     * To handle the errors that it catches, listen to its `'error'` event.\n     */\n    class Domain extends EventEmitter {\n        /**\n         * An array of timers and event emitters that have been explicitly added\n         * to the domain.\n         */\n        members: Array<EventEmitter | NodeJS.Timer>;\n        /**\n         * The `enter()` method is plumbing used by the `run()`, `bind()`, and`intercept()` methods to set the active domain. It sets `domain.active` and `process.domain` to the domain, and implicitly\n         * pushes the domain onto the domain\n         * stack managed by the domain module (see {@link exit} for details on the\n         * domain stack). The call to `enter()` delimits the beginning of a chain of\n         * asynchronous calls and I/O operations bound to a domain.\n         *\n         * Calling `enter()` changes only the active domain, and does not alter the domain\n         * itself. `enter()` and `exit()` can be called an arbitrary number of times on a\n         * single domain.\n         */\n        enter(): void;\n        /**\n         * The `exit()` method exits the current domain, popping it off the domain stack.\n         * Any time execution is going to switch to the context of a different chain of\n         * asynchronous calls, it's important to ensure that the current domain is exited.\n         * The call to `exit()` delimits either the end of or an interruption to the chain\n         * of asynchronous calls and I/O operations bound to a domain.\n         *\n         * If there are multiple, nested domains bound to the current execution context,`exit()` will exit any domains nested within this domain.\n         *\n         * Calling `exit()` changes only the active domain, and does not alter the domain\n         * itself. `enter()` and `exit()` can be called an arbitrary number of times on a\n         * single domain.\n         */\n        exit(): void;\n        /**\n         * Run the supplied function in the context of the domain, implicitly\n         * binding all event emitters, timers, and lowlevel requests that are\n         * created in that context. Optionally, arguments can be passed to\n         * the function.\n         *\n         * This is the most basic way to use a domain.\n         *\n         * ```js\n         * import domain from 'node:domain';\n         * import fs from 'node:fs';\n         * const d = domain.create();\n         * d.on('error', (er) => {\n         *   console.error('Caught error!', er);\n         * });\n         * d.run(() => {\n         *   process.nextTick(() => {\n         *     setTimeout(() => { // Simulating some various async stuff\n         *       fs.open('non-existent file', 'r', (er, fd) => {\n         *         if (er) throw er;\n         *         // proceed...\n         *       });\n         *     }, 100);\n         *   });\n         * });\n         * ```\n         *\n         * In this example, the `d.on('error')` handler will be triggered, rather\n         * than crashing the program.\n         */\n        run<T>(fn: (...args: any[]) => T, ...args: any[]): T;\n        /**\n         * Explicitly adds an emitter to the domain. If any event handlers called by\n         * the emitter throw an error, or if the emitter emits an `'error'` event, it\n         * will be routed to the domain's `'error'` event, just like with implicit\n         * binding.\n         *\n         * This also works with timers that are returned from `setInterval()` and `setTimeout()`. If their callback function throws, it will be caught by\n         * the domain `'error'` handler.\n         *\n         * If the Timer or `EventEmitter` was already bound to a domain, it is removed\n         * from that one, and bound to this one instead.\n         * @param emitter emitter or timer to be added to the domain\n         */\n        add(emitter: EventEmitter | NodeJS.Timer): void;\n        /**\n         * The opposite of {@link add}. Removes domain handling from the\n         * specified emitter.\n         * @param emitter emitter or timer to be removed from the domain\n         */\n        remove(emitter: EventEmitter | NodeJS.Timer): void;\n        /**\n         * The returned function will be a wrapper around the supplied callback\n         * function. When the returned function is called, any errors that are\n         * thrown will be routed to the domain's `'error'` event.\n         *\n         * ```js\n         * const d = domain.create();\n         *\n         * function readSomeFile(filename, cb) {\n         *   fs.readFile(filename, 'utf8', d.bind((er, data) => {\n         *     // If this throws, it will also be passed to the domain.\n         *     return cb(er, data ? JSON.parse(data) : null);\n         *   }));\n         * }\n         *\n         * d.on('error', (er) => {\n         *   // An error occurred somewhere. If we throw it now, it will crash the program\n         *   // with the normal line number and stack message.\n         * });\n         * ```\n         * @param callback The callback function\n         * @return The bound function\n         */\n        bind<T extends Function>(callback: T): T;\n        /**\n         * This method is almost identical to {@link bind}. However, in\n         * addition to catching thrown errors, it will also intercept `Error` objects sent as the first argument to the function.\n         *\n         * In this way, the common `if (err) return callback(err);` pattern can be replaced\n         * with a single error handler in a single place.\n         *\n         * ```js\n         * const d = domain.create();\n         *\n         * function readSomeFile(filename, cb) {\n         *   fs.readFile(filename, 'utf8', d.intercept((data) => {\n         *     // Note, the first argument is never passed to the\n         *     // callback since it is assumed to be the 'Error' argument\n         *     // and thus intercepted by the domain.\n         *\n         *     // If this throws, it will also be passed to the domain\n         *     // so the error-handling logic can be moved to the 'error'\n         *     // event on the domain instead of being repeated throughout\n         *     // the program.\n         *     return cb(null, JSON.parse(data));\n         *   }));\n         * }\n         *\n         * d.on('error', (er) => {\n         *   // An error occurred somewhere. If we throw it now, it will crash the program\n         *   // with the normal line number and stack message.\n         * });\n         * ```\n         * @param callback The callback function\n         * @return The intercepted function\n         */\n        intercept<T extends Function>(callback: T): T;\n    }\n    function create(): Domain;\n}\ndeclare module \"node:domain\" {\n    export * from \"domain\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/events.d.ts",
      "content": "/**\n * Much of the Node.js core API is built around an idiomatic asynchronous\n * event-driven architecture in which certain kinds of objects (called \"emitters\")\n * emit named events that cause `Function` objects (\"listeners\") to be called.\n *\n * For instance: a `net.Server` object emits an event each time a peer\n * connects to it; a `fs.ReadStream` emits an event when the file is opened;\n * a `stream` emits an event whenever data is available to be read.\n *\n * All objects that emit events are instances of the `EventEmitter` class. These\n * objects expose an `eventEmitter.on()` function that allows one or more\n * functions to be attached to named events emitted by the object. Typically,\n * event names are camel-cased strings but any valid JavaScript property key\n * can be used.\n *\n * When the `EventEmitter` object emits an event, all of the functions attached\n * to that specific event are called _synchronously_. Any values returned by the\n * called listeners are _ignored_ and discarded.\n *\n * The following example shows a simple `EventEmitter` instance with a single\n * listener. The `eventEmitter.on()` method is used to register listeners, while\n * the `eventEmitter.emit()` method is used to trigger the event.\n *\n * ```js\n * import EventEmitter from 'node:events';\n *\n * class MyEmitter extends EventEmitter {}\n *\n * const myEmitter = new MyEmitter();\n * myEmitter.on('event', () => {\n *   console.log('an event occurred!');\n * });\n * myEmitter.emit('event');\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/events.js)\n */\ndeclare module \"events\" {\n    import { AsyncResource, AsyncResourceOptions } from \"node:async_hooks\";\n\n    interface EventEmitterOptions {\n        /**\n         * Enables automatic capturing of promise rejection.\n         */\n        captureRejections?: boolean | undefined;\n    }\n    // Any EventTarget with a Node-style `once` function\n    interface _NodeEventTarget {\n        once(eventName: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    // Any EventTarget with a DOM-style `addEventListener`\n    interface _DOMEventTarget {\n        addEventListener(\n            eventName: string,\n            listener: (...args: any[]) => void,\n            opts?: {\n                once: boolean;\n            },\n        ): any;\n    }\n    interface StaticEventEmitterOptions {\n        signal?: AbortSignal | undefined;\n    }\n    interface EventEmitter<T extends EventMap<T> = DefaultEventMap> extends NodeJS.EventEmitter<T> {}\n    type EventMap<T> = Record<keyof T, any[]> | DefaultEventMap;\n    type DefaultEventMap = [never];\n    type AnyRest = [...args: any[]];\n    type Args<K, T> = T extends DefaultEventMap ? AnyRest : (\n        K extends keyof T ? T[K] : never\n    );\n    type Key<K, T> = T extends DefaultEventMap ? string | symbol : K | keyof T;\n    type Key2<K, T> = T extends DefaultEventMap ? string | symbol : K & keyof T;\n    type Listener<K, T, F> = T extends DefaultEventMap ? F : (\n        K extends keyof T ? (\n                T[K] extends unknown[] ? (...args: T[K]) => void : never\n            )\n            : never\n    );\n    type Listener1<K, T> = Listener<K, T, (...args: any[]) => void>;\n    type Listener2<K, T> = Listener<K, T, Function>;\n    /**\n     * The `EventEmitter` class is defined and exposed by the `events` module:\n     *\n     * ```js\n     * import EventEmitter from 'node:events';\n     * ```\n     *\n     * All `EventEmitter`s emit the event `'newListener'` when new listeners are\n     * added and `'removeListener'` when existing listeners are removed.\n     *\n     * It supports the following option:\n     * @since v0.1.26\n     */\n    class EventEmitter<T extends EventMap<T> = DefaultEventMap> {\n        constructor(options?: EventEmitterOptions);\n\n        [EventEmitter.captureRejectionSymbol]?<K>(error: Error, event: Key<K, T>, ...args: Args<K, T>): void;\n\n        /**\n         * Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given\n         * event or that is rejected if the `EventEmitter` emits `'error'` while waiting.\n         * The `Promise` will resolve with an array of all the arguments emitted to the\n         * given event.\n         *\n         * This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event\n         * semantics and does not listen to the `'error'` event.\n         *\n         * ```js\n         * import { once, EventEmitter } from 'node:events';\n         *\n         * async function run() {\n         *   const ee = new EventEmitter();\n         *\n         *   process.nextTick(() => {\n         *     ee.emit('myevent', 42);\n         *   });\n         *\n         *   const [value] = await once(ee, 'myevent');\n         *   console.log(value);\n         *\n         *   const err = new Error('kaboom');\n         *   process.nextTick(() => {\n         *     ee.emit('error', err);\n         *   });\n         *\n         *   try {\n         *     await once(ee, 'myevent');\n         *   } catch (err) {\n         *     console.log('error happened', err);\n         *   }\n         * }\n         *\n         * run();\n         * ```\n         *\n         * The special handling of the `'error'` event is only used when `events.once()`is used to wait for another event. If `events.once()` is used to wait for the\n         * '`error'` event itself, then it is treated as any other kind of event without\n         * special handling:\n         *\n         * ```js\n         * import { EventEmitter, once } from 'node:events';\n         *\n         * const ee = new EventEmitter();\n         *\n         * once(ee, 'error')\n         *   .then(([err]) => console.log('ok', err.message))\n         *   .catch((err) => console.log('error', err.message));\n         *\n         * ee.emit('error', new Error('boom'));\n         *\n         * // Prints: ok boom\n         * ```\n         *\n         * An `AbortSignal` can be used to cancel waiting for the event:\n         *\n         * ```js\n         * import { EventEmitter, once } from 'node:events';\n         *\n         * const ee = new EventEmitter();\n         * const ac = new AbortController();\n         *\n         * async function foo(emitter, event, signal) {\n         *   try {\n         *     await once(emitter, event, { signal });\n         *     console.log('event emitted!');\n         *   } catch (error) {\n         *     if (error.name === 'AbortError') {\n         *       console.error('Waiting for the event was canceled!');\n         *     } else {\n         *       console.error('There was an error', error.message);\n         *     }\n         *   }\n         * }\n         *\n         * foo(ee, 'foo', ac.signal);\n         * ac.abort(); // Abort waiting for the event\n         * ee.emit('foo'); // Prints: Waiting for the event was canceled!\n         * ```\n         * @since v11.13.0, v10.16.0\n         */\n        static once(\n            emitter: _NodeEventTarget,\n            eventName: string | symbol,\n            options?: StaticEventEmitterOptions,\n        ): Promise<any[]>;\n        static once(emitter: _DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>;\n        /**\n         * ```js\n         * import { on, EventEmitter } from 'node:events';\n         *\n         * (async () => {\n         *   const ee = new EventEmitter();\n         *\n         *   // Emit later on\n         *   process.nextTick(() => {\n         *     ee.emit('foo', 'bar');\n         *     ee.emit('foo', 42);\n         *   });\n         *\n         *   for await (const event of on(ee, 'foo')) {\n         *     // The execution of this inner block is synchronous and it\n         *     // processes one event at a time (even with await). Do not use\n         *     // if concurrent execution is required.\n         *     console.log(event); // prints ['bar'] [42]\n         *   }\n         *   // Unreachable here\n         * })();\n         * ```\n         *\n         * Returns an `AsyncIterator` that iterates `eventName` events. It will throw\n         * if the `EventEmitter` emits `'error'`. It removes all listeners when\n         * exiting the loop. The `value` returned by each iteration is an array\n         * composed of the emitted event arguments.\n         *\n         * An `AbortSignal` can be used to cancel waiting on events:\n         *\n         * ```js\n         * import { on, EventEmitter } from 'node:events';\n         * const ac = new AbortController();\n         *\n         * (async () => {\n         *   const ee = new EventEmitter();\n         *\n         *   // Emit later on\n         *   process.nextTick(() => {\n         *     ee.emit('foo', 'bar');\n         *     ee.emit('foo', 42);\n         *   });\n         *\n         *   for await (const event of on(ee, 'foo', { signal: ac.signal })) {\n         *     // The execution of this inner block is synchronous and it\n         *     // processes one event at a time (even with await). Do not use\n         *     // if concurrent execution is required.\n         *     console.log(event); // prints ['bar'] [42]\n         *   }\n         *   // Unreachable here\n         * })();\n         *\n         * process.nextTick(() => ac.abort());\n         * ```\n         * @since v13.6.0, v12.16.0\n         * @param eventName The name of the event being listened for\n         * @return that iterates `eventName` events emitted by the `emitter`\n         */\n        static on(\n            emitter: NodeJS.EventEmitter,\n            eventName: string,\n            options?: StaticEventEmitterOptions,\n        ): NodeJS.AsyncIterator<any>;\n        /**\n         * A class method that returns the number of listeners for the given `eventName`registered on the given `emitter`.\n         *\n         * ```js\n         * import { EventEmitter, listenerCount } from 'node:events';\n         * const myEmitter = new EventEmitter();\n         * myEmitter.on('event', () => {});\n         * myEmitter.on('event', () => {});\n         * console.log(listenerCount(myEmitter, 'event'));\n         * // Prints: 2\n         * ```\n         * @since v0.9.12\n         * @deprecated Since v3.2.0 - Use `listenerCount` instead.\n         * @param emitter The emitter to query\n         * @param eventName The event name\n         */\n        static listenerCount(emitter: NodeJS.EventEmitter, eventName: string | symbol): number;\n        /**\n         * Returns a copy of the array of listeners for the event named `eventName`.\n         *\n         * For `EventEmitter`s this behaves exactly the same as calling `.listeners` on\n         * the emitter.\n         *\n         * For `EventTarget`s this is the only way to get the event listeners for the\n         * event target. This is useful for debugging and diagnostic purposes.\n         *\n         * ```js\n         * import { getEventListeners, EventEmitter } from 'node:events';\n         *\n         * {\n         *   const ee = new EventEmitter();\n         *   const listener = () => console.log('Events are fun');\n         *   ee.on('foo', listener);\n         *   getEventListeners(ee, 'foo'); // [listener]\n         * }\n         * {\n         *   const et = new EventTarget();\n         *   const listener = () => console.log('Events are fun');\n         *   et.addEventListener('foo', listener);\n         *   getEventListeners(et, 'foo'); // [listener]\n         * }\n         * ```\n         * @since v15.2.0, v14.17.0\n         */\n        static getEventListeners(emitter: _DOMEventTarget | NodeJS.EventEmitter, name: string | symbol): Function[];\n        /**\n         * Returns the currently set max amount of listeners.\n         *\n         * For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on\n         * the emitter.\n         *\n         * For `EventTarget`s this is the only way to get the max event listeners for the\n         * event target. If the number of event handlers on a single EventTarget exceeds\n         * the max set, the EventTarget will print a warning.\n         *\n         * ```js\n         * import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';\n         *\n         * {\n         *   const ee = new EventEmitter();\n         *   console.log(getMaxListeners(ee)); // 10\n         *   setMaxListeners(11, ee);\n         *   console.log(getMaxListeners(ee)); // 11\n         * }\n         * {\n         *   const et = new EventTarget();\n         *   console.log(getMaxListeners(et)); // 10\n         *   setMaxListeners(11, et);\n         *   console.log(getMaxListeners(et)); // 11\n         * }\n         * ```\n         * @since v18.17.0\n         */\n        static getMaxListeners(emitter: _DOMEventTarget | NodeJS.EventEmitter): number;\n        /**\n         * ```js\n         * import {\n         *   setMaxListeners,\n         *   EventEmitter\n         * } from 'node:events';\n         *\n         * const target = new EventTarget();\n         * const emitter = new EventEmitter();\n         *\n         * setMaxListeners(5, target, emitter);\n         * ```\n         * @since v15.4.0\n         * @param n A non-negative number. The maximum number of listeners per `EventTarget` event.\n         * @param eventTargets Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, `n` is set as the default max for all newly created {EventTarget} and {EventEmitter}\n         * objects.\n         */\n        static setMaxListeners(n?: number, ...eventTargets: Array<_DOMEventTarget | NodeJS.EventEmitter>): void;\n        /**\n         * Listens once to the `abort` event on the provided `signal`.\n         *\n         * Listening to the `abort` event on abort signals is unsafe and may\n         * lead to resource leaks since another third party with the signal can\n         * call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change\n         * this since it would violate the web standard. Additionally, the original\n         * API makes it easy to forget to remove listeners.\n         *\n         * This API allows safely using `AbortSignal`s in Node.js APIs by solving these\n         * two issues by listening to the event such that `stopImmediatePropagation` does\n         * not prevent the listener from running.\n         *\n         * Returns a disposable so that it may be unsubscribed from more easily.\n         *\n         * ```js\n         * import { addAbortListener } from 'node:events';\n         *\n         * function example(signal) {\n         *   let disposable;\n         *   try {\n         *     signal.addEventListener('abort', (e) => e.stopImmediatePropagation());\n         *     disposable = addAbortListener(signal, (e) => {\n         *       // Do something when signal is aborted.\n         *     });\n         *   } finally {\n         *     disposable?.[Symbol.dispose]();\n         *   }\n         * }\n         * ```\n         * @since v18.18.0\n         * @experimental\n         * @return Disposable that removes the `abort` listener.\n         */\n        static addAbortListener(signal: AbortSignal, resource: (event: Event) => void): Disposable;\n        /**\n         * This symbol shall be used to install a listener for only monitoring `'error'`\n         * events. Listeners installed using this symbol are called before the regular\n         * `'error'` listeners are called.\n         *\n         * Installing a listener using this symbol does not change the behavior once an\n         * `'error'` event is emitted, therefore the process will still crash if no\n         * regular `'error'` listener is installed.\n         */\n        static readonly errorMonitor: unique symbol;\n        static readonly captureRejectionSymbol: unique symbol;\n        /**\n         * Sets or gets the default captureRejection value for all emitters.\n         */\n        // TODO: These should be described using static getter/setter pairs:\n        static captureRejections: boolean;\n        static defaultMaxListeners: number;\n    }\n    import internal = require(\"node:events\");\n    namespace EventEmitter {\n        // Should just be `export { EventEmitter }`, but that doesn't work in TypeScript 3.4\n        export { internal as EventEmitter };\n        export interface Abortable {\n            /**\n             * When provided the corresponding `AbortController` can be used to cancel an asynchronous action.\n             */\n            signal?: AbortSignal | undefined;\n        }\n\n        export interface EventEmitterReferencingAsyncResource extends AsyncResource {\n            readonly eventEmitter: EventEmitterAsyncResource;\n        }\n\n        export interface EventEmitterAsyncResourceOptions extends AsyncResourceOptions, EventEmitterOptions {\n            /**\n             * The type of async event, this is required when instantiating `EventEmitterAsyncResource`\n             * directly rather than as a child class.\n             * @default new.target.name if instantiated as a child class.\n             */\n            name?: string;\n        }\n\n        /**\n         * Integrates `EventEmitter` with `AsyncResource` for `EventEmitter`s that require\n         * manual async tracking. Specifically, all events emitted by instances of\n         * `EventEmitterAsyncResource` will run within its async context.\n         *\n         * The EventEmitterAsyncResource class has the same methods and takes the\n         * same options as EventEmitter and AsyncResource themselves.\n         * @throws if `options.name` is not provided when instantiated directly.\n         * @since v17.4.0, v16.14.0\n         */\n        export class EventEmitterAsyncResource extends EventEmitter {\n            /**\n             * @param options Only optional in child class.\n             */\n            constructor(options?: EventEmitterAsyncResourceOptions);\n            /**\n             * Call all destroy hooks. This should only ever be called once. An\n             * error will be thrown if it is called more than once. This must be\n             * manually called. If the resource is left to be collected by the GC then\n             * the destroy hooks will never be called.\n             */\n            emitDestroy(): void;\n            /** The unique asyncId assigned to the resource. */\n            readonly asyncId: number;\n            /** The same triggerAsyncId that is passed to the AsyncResource constructor. */\n            readonly triggerAsyncId: number;\n            /** The underlying AsyncResource */\n            readonly asyncResource: EventEmitterReferencingAsyncResource;\n        }\n        /**\n         * The `NodeEventTarget` is a Node.js-specific extension to `EventTarget`\n         * that emulates a subset of the `EventEmitter` API.\n         * @since v14.5.0\n         */\n        export interface NodeEventTarget extends EventTarget {\n            /**\n             * Node.js-specific extension to the `EventTarget` class that emulates the\n             * equivalent `EventEmitter` API. The only difference between `addListener()` and\n             * `addEventListener()` is that `addListener()` will return a reference to the\n             * `EventTarget`.\n             * @since v14.5.0\n             */\n            addListener(type: string, listener: (arg: any) => void): this;\n            /**\n             * Node.js-specific extension to the `EventTarget` class that dispatches the\n             * `arg` to the list of handlers for `type`.\n             * @since v15.2.0\n             * @returns `true` if event listeners registered for the `type` exist,\n             * otherwise `false`.\n             */\n            emit(type: string, arg: any): boolean;\n            /**\n             * Node.js-specific extension to the `EventTarget` class that returns an array\n             * of event `type` names for which event listeners are registered.\n             * @since 14.5.0\n             */\n            eventNames(): string[];\n            /**\n             * Node.js-specific extension to the `EventTarget` class that returns the number\n             * of event listeners registered for the `type`.\n             * @since v14.5.0\n             */\n            listenerCount(type: string): number;\n            /**\n             * Node.js-specific extension to the `EventTarget` class that sets the number\n             * of max event listeners as `n`.\n             * @since v14.5.0\n             */\n            setMaxListeners(n: number): void;\n            /**\n             * Node.js-specific extension to the `EventTarget` class that returns the number\n             * of max event listeners.\n             * @since v14.5.0\n             */\n            getMaxListeners(): number;\n            /**\n             * Node.js-specific alias for `eventTarget.removeEventListener()`.\n             * @since v14.5.0\n             */\n            off(type: string, listener: (arg: any) => void, options?: EventListenerOptions): this;\n            /**\n             * Node.js-specific alias for `eventTarget.addEventListener()`.\n             * @since v14.5.0\n             */\n            on(type: string, listener: (arg: any) => void): this;\n            /**\n             * Node.js-specific extension to the `EventTarget` class that adds a `once`\n             * listener for the given event `type`. This is equivalent to calling `on`\n             * with the `once` option set to `true`.\n             * @since v14.5.0\n             */\n            once(type: string, listener: (arg: any) => void): this;\n            /**\n             * Node.js-specific extension to the `EventTarget` class. If `type` is specified,\n             * removes all registered listeners for `type`, otherwise removes all registered\n             * listeners.\n             * @since v14.5.0\n             */\n            removeAllListeners(type?: string): this;\n            /**\n             * Node.js-specific extension to the `EventTarget` class that removes the\n             * `listener` for the given `type`. The only difference between `removeListener()`\n             * and `removeEventListener()` is that `removeListener()` will return a reference\n             * to the `EventTarget`.\n             * @since v14.5.0\n             */\n            removeListener(type: string, listener: (arg: any) => void, options?: EventListenerOptions): this;\n        }\n    }\n    global {\n        namespace NodeJS {\n            interface EventEmitter<T extends EventMap<T> = DefaultEventMap> {\n                [EventEmitter.captureRejectionSymbol]?<K>(error: Error, event: Key<K, T>, ...args: Args<K, T>): void;\n                /**\n                 * Alias for `emitter.on(eventName, listener)`.\n                 * @since v0.1.26\n                 */\n                addListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;\n                /**\n                 * Adds the `listener` function to the end of the listeners array for the\n                 * event named `eventName`. No checks are made to see if the `listener` has\n                 * already been added. Multiple calls passing the same combination of `eventName` and `listener` will result in the `listener` being added, and called, multiple\n                 * times.\n                 *\n                 * ```js\n                 * server.on('connection', (stream) => {\n                 *   console.log('someone connected!');\n                 * });\n                 * ```\n                 *\n                 * Returns a reference to the `EventEmitter`, so that calls can be chained.\n                 *\n                 * By default, event listeners are invoked in the order they are added. The`emitter.prependListener()` method can be used as an alternative to add the\n                 * event listener to the beginning of the listeners array.\n                 *\n                 * ```js\n                 * const myEE = new EventEmitter();\n                 * myEE.on('foo', () => console.log('a'));\n                 * myEE.prependListener('foo', () => console.log('b'));\n                 * myEE.emit('foo');\n                 * // Prints:\n                 * //   b\n                 * //   a\n                 * ```\n                 * @since v0.1.101\n                 * @param eventName The name of the event.\n                 * @param listener The callback function\n                 */\n                on<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;\n                /**\n                 * Adds a **one-time**`listener` function for the event named `eventName`. The\n                 * next time `eventName` is triggered, this listener is removed and then invoked.\n                 *\n                 * ```js\n                 * server.once('connection', (stream) => {\n                 *   console.log('Ah, we have our first user!');\n                 * });\n                 * ```\n                 *\n                 * Returns a reference to the `EventEmitter`, so that calls can be chained.\n                 *\n                 * By default, event listeners are invoked in the order they are added. The`emitter.prependOnceListener()` method can be used as an alternative to add the\n                 * event listener to the beginning of the listeners array.\n                 *\n                 * ```js\n                 * const myEE = new EventEmitter();\n                 * myEE.once('foo', () => console.log('a'));\n                 * myEE.prependOnceListener('foo', () => console.log('b'));\n                 * myEE.emit('foo');\n                 * // Prints:\n                 * //   b\n                 * //   a\n                 * ```\n                 * @since v0.3.0\n                 * @param eventName The name of the event.\n                 * @param listener The callback function\n                 */\n                once<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;\n                /**\n                 * Removes the specified `listener` from the listener array for the event named`eventName`.\n                 *\n                 * ```js\n                 * const callback = (stream) => {\n                 *   console.log('someone connected!');\n                 * };\n                 * server.on('connection', callback);\n                 * // ...\n                 * server.removeListener('connection', callback);\n                 * ```\n                 *\n                 * `removeListener()` will remove, at most, one instance of a listener from the\n                 * listener array. If any single listener has been added multiple times to the\n                 * listener array for the specified `eventName`, then `removeListener()` must be\n                 * called multiple times to remove each instance.\n                 *\n                 * Once an event is emitted, all listeners attached to it at the\n                 * time of emitting are called in order. This implies that any`removeListener()` or `removeAllListeners()` calls _after_ emitting and _before_ the last listener finishes execution\n                 * will not remove them from`emit()` in progress. Subsequent events behave as expected.\n                 *\n                 * ```js\n                 * const myEmitter = new MyEmitter();\n                 *\n                 * const callbackA = () => {\n                 *   console.log('A');\n                 *   myEmitter.removeListener('event', callbackB);\n                 * };\n                 *\n                 * const callbackB = () => {\n                 *   console.log('B');\n                 * };\n                 *\n                 * myEmitter.on('event', callbackA);\n                 *\n                 * myEmitter.on('event', callbackB);\n                 *\n                 * // callbackA removes listener callbackB but it will still be called.\n                 * // Internal listener array at time of emit [callbackA, callbackB]\n                 * myEmitter.emit('event');\n                 * // Prints:\n                 * //   A\n                 * //   B\n                 *\n                 * // callbackB is now removed.\n                 * // Internal listener array [callbackA]\n                 * myEmitter.emit('event');\n                 * // Prints:\n                 * //   A\n                 * ```\n                 *\n                 * Because listeners are managed using an internal array, calling this will\n                 * change the position indices of any listener registered _after_ the listener\n                 * being removed. This will not impact the order in which listeners are called,\n                 * but it means that any copies of the listener array as returned by\n                 * the `emitter.listeners()` method will need to be recreated.\n                 *\n                 * When a single function has been added as a handler multiple times for a single\n                 * event (as in the example below), `removeListener()` will remove the most\n                 * recently added instance. In the example the `once('ping')`listener is removed:\n                 *\n                 * ```js\n                 * const ee = new EventEmitter();\n                 *\n                 * function pong() {\n                 *   console.log('pong');\n                 * }\n                 *\n                 * ee.on('ping', pong);\n                 * ee.once('ping', pong);\n                 * ee.removeListener('ping', pong);\n                 *\n                 * ee.emit('ping');\n                 * ee.emit('ping');\n                 * ```\n                 *\n                 * Returns a reference to the `EventEmitter`, so that calls can be chained.\n                 * @since v0.1.26\n                 */\n                removeListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;\n                /**\n                 * Alias for `emitter.removeListener()`.\n                 * @since v10.0.0\n                 */\n                off<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;\n                /**\n                 * Removes all listeners, or those of the specified `eventName`.\n                 *\n                 * It is bad practice to remove listeners added elsewhere in the code,\n                 * particularly when the `EventEmitter` instance was created by some other\n                 * component or module (e.g. sockets or file streams).\n                 *\n                 * Returns a reference to the `EventEmitter`, so that calls can be chained.\n                 * @since v0.1.26\n                 */\n                removeAllListeners(event?: Key<unknown, T>): this;\n                /**\n                 * By default `EventEmitter`s will print a warning if more than `10` listeners are\n                 * added for a particular event. This is a useful default that helps finding\n                 * memory leaks. The `emitter.setMaxListeners()` method allows the limit to be\n                 * modified for this specific `EventEmitter` instance. The value can be set to`Infinity` (or `0`) to indicate an unlimited number of listeners.\n                 *\n                 * Returns a reference to the `EventEmitter`, so that calls can be chained.\n                 * @since v0.3.5\n                 */\n                setMaxListeners(n: number): this;\n                /**\n                 * Returns the current max listener value for the `EventEmitter` which is either\n                 * set by `emitter.setMaxListeners(n)` or defaults to {@link EventEmitter.defaultMaxListeners}.\n                 * @since v1.0.0\n                 */\n                getMaxListeners(): number;\n                /**\n                 * Returns a copy of the array of listeners for the event named `eventName`.\n                 *\n                 * ```js\n                 * server.on('connection', (stream) => {\n                 *   console.log('someone connected!');\n                 * });\n                 * console.log(util.inspect(server.listeners('connection')));\n                 * // Prints: [ [Function] ]\n                 * ```\n                 * @since v0.1.26\n                 */\n                listeners<K>(eventName: Key<K, T>): Array<Listener2<K, T>>;\n                /**\n                 * Returns a copy of the array of listeners for the event named `eventName`,\n                 * including any wrappers (such as those created by `.once()`).\n                 *\n                 * ```js\n                 * const emitter = new EventEmitter();\n                 * emitter.once('log', () => console.log('log once'));\n                 *\n                 * // Returns a new Array with a function `onceWrapper` which has a property\n                 * // `listener` which contains the original listener bound above\n                 * const listeners = emitter.rawListeners('log');\n                 * const logFnWrapper = listeners[0];\n                 *\n                 * // Logs \"log once\" to the console and does not unbind the `once` event\n                 * logFnWrapper.listener();\n                 *\n                 * // Logs \"log once\" to the console and removes the listener\n                 * logFnWrapper();\n                 *\n                 * emitter.on('log', () => console.log('log persistently'));\n                 * // Will return a new Array with a single function bound by `.on()` above\n                 * const newListeners = emitter.rawListeners('log');\n                 *\n                 * // Logs \"log persistently\" twice\n                 * newListeners[0]();\n                 * emitter.emit('log');\n                 * ```\n                 * @since v9.4.0\n                 */\n                rawListeners<K>(eventName: Key<K, T>): Array<Listener2<K, T>>;\n                /**\n                 * Synchronously calls each of the listeners registered for the event named`eventName`, in the order they were registered, passing the supplied arguments\n                 * to each.\n                 *\n                 * Returns `true` if the event had listeners, `false` otherwise.\n                 *\n                 * ```js\n                 * import EventEmitter from 'node:events';\n                 * const myEmitter = new EventEmitter();\n                 *\n                 * // First listener\n                 * myEmitter.on('event', function firstListener() {\n                 *   console.log('Helloooo! first listener');\n                 * });\n                 * // Second listener\n                 * myEmitter.on('event', function secondListener(arg1, arg2) {\n                 *   console.log(`event with parameters ${arg1}, ${arg2} in second listener`);\n                 * });\n                 * // Third listener\n                 * myEmitter.on('event', function thirdListener(...args) {\n                 *   const parameters = args.join(', ');\n                 *   console.log(`event with parameters ${parameters} in third listener`);\n                 * });\n                 *\n                 * console.log(myEmitter.listeners('event'));\n                 *\n                 * myEmitter.emit('event', 1, 2, 3, 4, 5);\n                 *\n                 * // Prints:\n                 * // [\n                 * //   [Function: firstListener],\n                 * //   [Function: secondListener],\n                 * //   [Function: thirdListener]\n                 * // ]\n                 * // Helloooo! first listener\n                 * // event with parameters 1, 2 in second listener\n                 * // event with parameters 1, 2, 3, 4, 5 in third listener\n                 * ```\n                 * @since v0.1.26\n                 */\n                emit<K>(eventName: Key<K, T>, ...args: Args<K, T>): boolean;\n                /**\n                 * Returns the number of listeners listening to the event named `eventName`.\n                 *\n                 * If `listener` is provided, it will return how many times the listener\n                 * is found in the list of the listeners of the event.\n                 * @since v3.2.0\n                 * @param eventName The name of the event being listened for\n                 * @param listener The event handler function\n                 */\n                listenerCount<K>(eventName: Key<K, T>, listener?: Listener2<K, T>): number;\n                /**\n                 * Adds the `listener` function to the _beginning_ of the listeners array for the\n                 * event named `eventName`. No checks are made to see if the `listener` has\n                 * already been added. Multiple calls passing the same combination of `eventName` and `listener` will result in the `listener` being added, and called, multiple\n                 * times.\n                 *\n                 * ```js\n                 * server.prependListener('connection', (stream) => {\n                 *   console.log('someone connected!');\n                 * });\n                 * ```\n                 *\n                 * Returns a reference to the `EventEmitter`, so that calls can be chained.\n                 * @since v6.0.0\n                 * @param eventName The name of the event.\n                 * @param listener The callback function\n                 */\n                prependListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;\n                /**\n                 * Adds a **one-time**`listener` function for the event named `eventName` to the _beginning_ of the listeners array. The next time `eventName` is triggered, this\n                 * listener is removed, and then invoked.\n                 *\n                 * ```js\n                 * server.prependOnceListener('connection', (stream) => {\n                 *   console.log('Ah, we have our first user!');\n                 * });\n                 * ```\n                 *\n                 * Returns a reference to the `EventEmitter`, so that calls can be chained.\n                 * @since v6.0.0\n                 * @param eventName The name of the event.\n                 * @param listener The callback function\n                 */\n                prependOnceListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;\n                /**\n                 * Returns an array listing the events for which the emitter has registered\n                 * listeners. The values in the array are strings or `Symbol`s.\n                 *\n                 * ```js\n                 * import EventEmitter from 'node:events';\n                 * const myEE = new EventEmitter();\n                 * myEE.on('foo', () => {});\n                 * myEE.on('bar', () => {});\n                 *\n                 * const sym = Symbol('symbol');\n                 * myEE.on(sym, () => {});\n                 *\n                 * console.log(myEE.eventNames());\n                 * // Prints: [ 'foo', 'bar', Symbol(symbol) ]\n                 * ```\n                 * @since v6.0.0\n                 */\n                eventNames(): Array<(string | symbol) & Key2<unknown, T>>;\n            }\n        }\n    }\n    export = EventEmitter;\n}\ndeclare module \"node:events\" {\n    import events = require(\"events\");\n    export = events;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/fs.d.ts",
      "content": "/**\n * The `fs` module enables interacting with the file system in a\n * way modeled on standard POSIX functions.\n *\n * To use the promise-based APIs:\n *\n * ```js\n * import * as fs from 'fs/promises';\n * ```\n *\n * To use the callback and sync APIs:\n *\n * ```js\n * import * as fs from 'fs';\n * ```\n *\n * All file system operations have synchronous, callback, and promise-based\n * forms, and are accessible using both CommonJS syntax and ES6 Modules (ESM).\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/fs.js)\n */\ndeclare module \"fs\" {\n    import * as stream from \"node:stream\";\n    import { Abortable, EventEmitter } from \"node:events\";\n    import { URL } from \"node:url\";\n    import * as promises from \"node:fs/promises\";\n    export { promises };\n    /**\n     * Valid types for path values in \"fs\".\n     */\n    export type PathLike = string | Buffer | URL;\n    export type PathOrFileDescriptor = PathLike | number;\n    export type TimeLike = string | number | Date;\n    export type NoParamCallback = (err: NodeJS.ErrnoException | null) => void;\n    export type BufferEncodingOption =\n        | \"buffer\"\n        | {\n            encoding: \"buffer\";\n        };\n    export interface ObjectEncodingOptions {\n        encoding?: BufferEncoding | null | undefined;\n    }\n    export type EncodingOption = ObjectEncodingOptions | BufferEncoding | undefined | null;\n    export type OpenMode = number | string;\n    export type Mode = number | string;\n    export interface StatsBase<T> {\n        isFile(): boolean;\n        isDirectory(): boolean;\n        isBlockDevice(): boolean;\n        isCharacterDevice(): boolean;\n        isSymbolicLink(): boolean;\n        isFIFO(): boolean;\n        isSocket(): boolean;\n        dev: T;\n        ino: T;\n        mode: T;\n        nlink: T;\n        uid: T;\n        gid: T;\n        rdev: T;\n        size: T;\n        blksize: T;\n        blocks: T;\n        atimeMs: T;\n        mtimeMs: T;\n        ctimeMs: T;\n        birthtimeMs: T;\n        atime: Date;\n        mtime: Date;\n        ctime: Date;\n        birthtime: Date;\n    }\n    export interface Stats extends StatsBase<number> {}\n    /**\n     * A `fs.Stats` object provides information about a file.\n     *\n     * Objects returned from {@link stat}, {@link lstat} and {@link fstat} and\n     * their synchronous counterparts are of this type.\n     * If `bigint` in the `options` passed to those methods is true, the numeric values\n     * will be `bigint` instead of `number`, and the object will contain additional\n     * nanosecond-precision properties suffixed with `Ns`.\n     *\n     * ```console\n     * Stats {\n     *   dev: 2114,\n     *   ino: 48064969,\n     *   mode: 33188,\n     *   nlink: 1,\n     *   uid: 85,\n     *   gid: 100,\n     *   rdev: 0,\n     *   size: 527,\n     *   blksize: 4096,\n     *   blocks: 8,\n     *   atimeMs: 1318289051000.1,\n     *   mtimeMs: 1318289051000.1,\n     *   ctimeMs: 1318289051000.1,\n     *   birthtimeMs: 1318289051000.1,\n     *   atime: Mon, 10 Oct 2011 23:24:11 GMT,\n     *   mtime: Mon, 10 Oct 2011 23:24:11 GMT,\n     *   ctime: Mon, 10 Oct 2011 23:24:11 GMT,\n     *   birthtime: Mon, 10 Oct 2011 23:24:11 GMT }\n     * ```\n     *\n     * `bigint` version:\n     *\n     * ```console\n     * BigIntStats {\n     *   dev: 2114n,\n     *   ino: 48064969n,\n     *   mode: 33188n,\n     *   nlink: 1n,\n     *   uid: 85n,\n     *   gid: 100n,\n     *   rdev: 0n,\n     *   size: 527n,\n     *   blksize: 4096n,\n     *   blocks: 8n,\n     *   atimeMs: 1318289051000n,\n     *   mtimeMs: 1318289051000n,\n     *   ctimeMs: 1318289051000n,\n     *   birthtimeMs: 1318289051000n,\n     *   atimeNs: 1318289051000000000n,\n     *   mtimeNs: 1318289051000000000n,\n     *   ctimeNs: 1318289051000000000n,\n     *   birthtimeNs: 1318289051000000000n,\n     *   atime: Mon, 10 Oct 2011 23:24:11 GMT,\n     *   mtime: Mon, 10 Oct 2011 23:24:11 GMT,\n     *   ctime: Mon, 10 Oct 2011 23:24:11 GMT,\n     *   birthtime: Mon, 10 Oct 2011 23:24:11 GMT }\n     * ```\n     * @since v0.1.21\n     */\n    export class Stats {}\n\n    export interface StatsFsBase<T> {\n        /** Type of file system. */\n        type: T;\n        /**  Optimal transfer block size. */\n        bsize: T;\n        /**  Total data blocks in file system. */\n        blocks: T;\n        /** Free blocks in file system. */\n        bfree: T;\n        /** Available blocks for unprivileged users */\n        bavail: T;\n        /** Total file nodes in file system. */\n        files: T;\n        /** Free file nodes in file system. */\n        ffree: T;\n    }\n\n    export interface StatsFs extends StatsFsBase<number> {}\n\n    /**\n     * Provides information about a mounted file system\n     *\n     * Objects returned from {@link statfs} and {@link statfsSync} are of this type.\n     * If `bigint` in the `options` passed to those methods is true, the numeric values\n     * will be `bigint` instead of `number`.\n     * @since  v18.15.0\n     */\n    export class StatsFs {}\n\n    export interface BigIntStatsFs extends StatsFsBase<bigint> {}\n\n    export interface StatFsOptions {\n        bigint?: boolean | undefined;\n    }\n\n    /**\n     * A representation of a directory entry, which can be a file or a subdirectory\n     * within the directory, as returned by reading from an `fs.Dir`. The\n     * directory entry is a combination of the file name and file type pairs.\n     *\n     * Additionally, when {@link readdir} or {@link readdirSync} is called with\n     * the `withFileTypes` option set to `true`, the resulting array is filled with `fs.Dirent` objects, rather than strings or `Buffer` s.\n     * @since v10.10.0\n     */\n    export class Dirent<Name extends string | Buffer = string> {\n        /**\n         * Returns `true` if the `fs.Dirent` object describes a regular file.\n         * @since v10.10.0\n         */\n        isFile(): boolean;\n        /**\n         * Returns `true` if the `fs.Dirent` object describes a file system\n         * directory.\n         * @since v10.10.0\n         */\n        isDirectory(): boolean;\n        /**\n         * Returns `true` if the `fs.Dirent` object describes a block device.\n         * @since v10.10.0\n         */\n        isBlockDevice(): boolean;\n        /**\n         * Returns `true` if the `fs.Dirent` object describes a character device.\n         * @since v10.10.0\n         */\n        isCharacterDevice(): boolean;\n        /**\n         * Returns `true` if the `fs.Dirent` object describes a symbolic link.\n         * @since v10.10.0\n         */\n        isSymbolicLink(): boolean;\n        /**\n         * Returns `true` if the `fs.Dirent` object describes a first-in-first-out\n         * (FIFO) pipe.\n         * @since v10.10.0\n         */\n        isFIFO(): boolean;\n        /**\n         * Returns `true` if the `fs.Dirent` object describes a socket.\n         * @since v10.10.0\n         */\n        isSocket(): boolean;\n        /**\n         * The file name that this `fs.Dirent` object refers to. The type of this\n         * value is determined by the `options.encoding` passed to {@link readdir} or {@link readdirSync}.\n         * @since v10.10.0\n         */\n        name: Name;\n        /**\n         * The base path that this `fs.Dirent` object refers to.\n         * @since v18.20.0\n         */\n        parentPath: string;\n        /**\n         * Alias for `dirent.parentPath`.\n         * @since v18.17.0\n         * @deprecated Since v18.20.0\n         */\n        path: string;\n    }\n    /**\n     * A class representing a directory stream.\n     *\n     * Created by {@link opendir}, {@link opendirSync}, or `fsPromises.opendir()`.\n     *\n     * ```js\n     * import { opendir } from 'fs/promises';\n     *\n     * try {\n     *   const dir = await opendir('./');\n     *   for await (const dirent of dir)\n     *     console.log(dirent.name);\n     * } catch (err) {\n     *   console.error(err);\n     * }\n     * ```\n     *\n     * When using the async iterator, the `fs.Dir` object will be automatically\n     * closed after the iterator exits.\n     * @since v12.12.0\n     */\n    export class Dir implements AsyncIterable<Dirent> {\n        /**\n         * The read-only path of this directory as was provided to {@link opendir},{@link opendirSync}, or `fsPromises.opendir()`.\n         * @since v12.12.0\n         */\n        readonly path: string;\n        /**\n         * Asynchronously iterates over the directory via `readdir(3)` until all entries have been read.\n         */\n        [Symbol.asyncIterator](): NodeJS.AsyncIterator<Dirent>;\n        /**\n         * Asynchronously close the directory's underlying resource handle.\n         * Subsequent reads will result in errors.\n         *\n         * A promise is returned that will be resolved after the resource has been\n         * closed.\n         * @since v12.12.0\n         */\n        close(): Promise<void>;\n        close(cb: NoParamCallback): void;\n        /**\n         * Synchronously close the directory's underlying resource handle.\n         * Subsequent reads will result in errors.\n         * @since v12.12.0\n         */\n        closeSync(): void;\n        /**\n         * Asynchronously read the next directory entry via [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) as an `fs.Dirent`.\n         *\n         * A promise is returned that will be resolved with an `fs.Dirent`, or `null` if there are no more directory entries to read.\n         *\n         * Directory entries returned by this function are in no particular order as\n         * provided by the operating system's underlying directory mechanisms.\n         * Entries added or removed while iterating over the directory might not be\n         * included in the iteration results.\n         * @since v12.12.0\n         * @return containing {fs.Dirent|null}\n         */\n        read(): Promise<Dirent | null>;\n        read(cb: (err: NodeJS.ErrnoException | null, dirEnt: Dirent | null) => void): void;\n        /**\n         * Synchronously read the next directory entry as an `fs.Dirent`. See the\n         * POSIX [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) documentation for more detail.\n         *\n         * If there are no more directory entries to read, `null` will be returned.\n         *\n         * Directory entries returned by this function are in no particular order as\n         * provided by the operating system's underlying directory mechanisms.\n         * Entries added or removed while iterating over the directory might not be\n         * included in the iteration results.\n         * @since v12.12.0\n         */\n        readSync(): Dirent | null;\n    }\n    /**\n     * Class: fs.StatWatcher\n     * @since v14.3.0, v12.20.0\n     * Extends `EventEmitter`\n     * A successful call to {@link watchFile} method will return a new fs.StatWatcher object.\n     */\n    export interface StatWatcher extends EventEmitter {\n        /**\n         * When called, requests that the Node.js event loop _not_ exit so long as the `fs.StatWatcher` is active. Calling `watcher.ref()` multiple times will have\n         * no effect.\n         *\n         * By default, all `fs.StatWatcher` objects are \"ref'ed\", making it normally\n         * unnecessary to call `watcher.ref()` unless `watcher.unref()` had been\n         * called previously.\n         * @since v14.3.0, v12.20.0\n         */\n        ref(): this;\n        /**\n         * When called, the active `fs.StatWatcher` object will not require the Node.js\n         * event loop to remain active. If there is no other activity keeping the\n         * event loop running, the process may exit before the `fs.StatWatcher` object's\n         * callback is invoked. Calling `watcher.unref()` multiple times will have\n         * no effect.\n         * @since v14.3.0, v12.20.0\n         */\n        unref(): this;\n    }\n    export interface FSWatcher extends EventEmitter {\n        /**\n         * Stop watching for changes on the given `fs.FSWatcher`. Once stopped, the `fs.FSWatcher` object is no longer usable.\n         * @since v0.5.8\n         */\n        close(): void;\n        /**\n         * When called, requests that the Node.js event loop _not_ exit so long as the `fs.FSWatcher` is active. Calling `watcher.ref()` multiple times will have\n         * no effect.\n         *\n         * By default, all `fs.FSWatcher` objects are \"ref'ed\", making it normally\n         * unnecessary to call `watcher.ref()` unless `watcher.unref()` had been\n         * called previously.\n         * @since v14.3.0, v12.20.0\n         */\n        ref(): this;\n        /**\n         * When called, the active `fs.FSWatcher` object will not require the Node.js\n         * event loop to remain active. If there is no other activity keeping the\n         * event loop running, the process may exit before the `fs.FSWatcher` object's\n         * callback is invoked. Calling `watcher.unref()` multiple times will have\n         * no effect.\n         * @since v14.3.0, v12.20.0\n         */\n        unref(): this;\n        /**\n         * events.EventEmitter\n         *   1. change\n         *   2. close\n         *   3. error\n         */\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"change\", listener: (eventType: string, filename: string | Buffer) => void): this;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"error\", listener: (error: Error) => void): this;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"change\", listener: (eventType: string, filename: string | Buffer) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"error\", listener: (error: Error) => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"change\", listener: (eventType: string, filename: string | Buffer) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"error\", listener: (error: Error) => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"change\", listener: (eventType: string, filename: string | Buffer) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (error: Error) => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"change\", listener: (eventType: string, filename: string | Buffer) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (error: Error) => void): this;\n    }\n    /**\n     * Instances of `fs.ReadStream` are created and returned using the {@link createReadStream} function.\n     * @since v0.1.93\n     */\n    export class ReadStream extends stream.Readable {\n        close(callback?: (err?: NodeJS.ErrnoException | null) => void): void;\n        /**\n         * The number of bytes that have been read so far.\n         * @since v6.4.0\n         */\n        bytesRead: number;\n        /**\n         * The path to the file the stream is reading from as specified in the first\n         * argument to `fs.createReadStream()`. If `path` is passed as a string, then`readStream.path` will be a string. If `path` is passed as a `Buffer`, then`readStream.path` will be a\n         * `Buffer`. If `fd` is specified, then`readStream.path` will be `undefined`.\n         * @since v0.1.93\n         */\n        path: string | Buffer;\n        /**\n         * This property is `true` if the underlying file has not been opened yet,\n         * i.e. before the `'ready'` event is emitted.\n         * @since v11.2.0, v10.16.0\n         */\n        pending: boolean;\n        /**\n         * events.EventEmitter\n         *   1. open\n         *   2. close\n         *   3. ready\n         */\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        addListener(event: \"end\", listener: () => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: \"open\", listener: (fd: number) => void): this;\n        addListener(event: \"pause\", listener: () => void): this;\n        addListener(event: \"readable\", listener: () => void): this;\n        addListener(event: \"ready\", listener: () => void): this;\n        addListener(event: \"resume\", listener: () => void): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        on(event: \"end\", listener: () => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"open\", listener: (fd: number) => void): this;\n        on(event: \"pause\", listener: () => void): this;\n        on(event: \"readable\", listener: () => void): this;\n        on(event: \"ready\", listener: () => void): this;\n        on(event: \"resume\", listener: () => void): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        once(event: \"end\", listener: () => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"open\", listener: (fd: number) => void): this;\n        once(event: \"pause\", listener: () => void): this;\n        once(event: \"readable\", listener: () => void): this;\n        once(event: \"ready\", listener: () => void): this;\n        once(event: \"resume\", listener: () => void): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        prependListener(event: \"end\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: \"open\", listener: (fd: number) => void): this;\n        prependListener(event: \"pause\", listener: () => void): this;\n        prependListener(event: \"readable\", listener: () => void): this;\n        prependListener(event: \"ready\", listener: () => void): this;\n        prependListener(event: \"resume\", listener: () => void): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        prependOnceListener(event: \"end\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(event: \"open\", listener: (fd: number) => void): this;\n        prependOnceListener(event: \"pause\", listener: () => void): this;\n        prependOnceListener(event: \"readable\", listener: () => void): this;\n        prependOnceListener(event: \"ready\", listener: () => void): this;\n        prependOnceListener(event: \"resume\", listener: () => void): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    /**\n     * * Extends `stream.Writable`\n     *\n     * Instances of `fs.WriteStream` are created and returned using the {@link createWriteStream} function.\n     * @since v0.1.93\n     */\n    export class WriteStream extends stream.Writable {\n        /**\n         * Closes `writeStream`. Optionally accepts a\n         * callback that will be executed once the `writeStream`is closed.\n         * @since v0.9.4\n         */\n        close(callback?: (err?: NodeJS.ErrnoException | null) => void): void;\n        /**\n         * The number of bytes written so far. Does not include data that is still queued\n         * for writing.\n         * @since v0.4.7\n         */\n        bytesWritten: number;\n        /**\n         * The path to the file the stream is writing to as specified in the first\n         * argument to {@link createWriteStream}. If `path` is passed as a string, then`writeStream.path` will be a string. If `path` is passed as a `Buffer`, then`writeStream.path` will be a\n         * `Buffer`.\n         * @since v0.1.93\n         */\n        path: string | Buffer;\n        /**\n         * This property is `true` if the underlying file has not been opened yet,\n         * i.e. before the `'ready'` event is emitted.\n         * @since v11.2.0\n         */\n        pending: boolean;\n        /**\n         * events.EventEmitter\n         *   1. open\n         *   2. close\n         *   3. ready\n         */\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"drain\", listener: () => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: \"finish\", listener: () => void): this;\n        addListener(event: \"open\", listener: (fd: number) => void): this;\n        addListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        addListener(event: \"ready\", listener: () => void): this;\n        addListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"drain\", listener: () => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"finish\", listener: () => void): this;\n        on(event: \"open\", listener: (fd: number) => void): this;\n        on(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        on(event: \"ready\", listener: () => void): this;\n        on(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"drain\", listener: () => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"finish\", listener: () => void): this;\n        once(event: \"open\", listener: (fd: number) => void): this;\n        once(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        once(event: \"ready\", listener: () => void): this;\n        once(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"drain\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: \"finish\", listener: () => void): this;\n        prependListener(event: \"open\", listener: (fd: number) => void): this;\n        prependListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        prependListener(event: \"ready\", listener: () => void): this;\n        prependListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"drain\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(event: \"finish\", listener: () => void): this;\n        prependOnceListener(event: \"open\", listener: (fd: number) => void): this;\n        prependOnceListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        prependOnceListener(event: \"ready\", listener: () => void): this;\n        prependOnceListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    /**\n     * Asynchronously rename file at `oldPath` to the pathname provided\n     * as `newPath`. In the case that `newPath` already exists, it will\n     * be overwritten. If there is a directory at `newPath`, an error will\n     * be raised instead. No arguments other than a possible exception are\n     * given to the completion callback.\n     *\n     * See also: [`rename(2)`](http://man7.org/linux/man-pages/man2/rename.2.html).\n     *\n     * ```js\n     * import { rename } from 'fs';\n     *\n     * rename('oldFile.txt', 'newFile.txt', (err) => {\n     *   if (err) throw err;\n     *   console.log('Rename complete!');\n     * });\n     * ```\n     * @since v0.0.2\n     */\n    export function rename(oldPath: PathLike, newPath: PathLike, callback: NoParamCallback): void;\n    export namespace rename {\n        /**\n         * Asynchronous rename(2) - Change the name or location of a file or directory.\n         * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * URL support is _experimental_.\n         * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * URL support is _experimental_.\n         */\n        function __promisify__(oldPath: PathLike, newPath: PathLike): Promise<void>;\n    }\n    /**\n     * Renames the file from `oldPath` to `newPath`. Returns `undefined`.\n     *\n     * See the POSIX [`rename(2)`](http://man7.org/linux/man-pages/man2/rename.2.html) documentation for more details.\n     * @since v0.1.21\n     */\n    export function renameSync(oldPath: PathLike, newPath: PathLike): void;\n    /**\n     * Truncates the file. No arguments other than a possible exception are\n     * given to the completion callback. A file descriptor can also be passed as the\n     * first argument. In this case, `fs.ftruncate()` is called.\n     *\n     * ```js\n     * import { truncate } from 'fs';\n     * // Assuming that 'path/file.txt' is a regular file.\n     * truncate('path/file.txt', (err) => {\n     *   if (err) throw err;\n     *   console.log('path/file.txt was truncated');\n     * });\n     * ```\n     *\n     * Passing a file descriptor is deprecated and may result in an error being thrown\n     * in the future.\n     *\n     * See the POSIX [`truncate(2)`](http://man7.org/linux/man-pages/man2/truncate.2.html) documentation for more details.\n     * @since v0.8.6\n     * @param [len=0]\n     */\n    export function truncate(path: PathLike, len: number | undefined, callback: NoParamCallback): void;\n    /**\n     * Asynchronous truncate(2) - Truncate a file to a specified length.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     */\n    export function truncate(path: PathLike, callback: NoParamCallback): void;\n    export namespace truncate {\n        /**\n         * Asynchronous truncate(2) - Truncate a file to a specified length.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param len If not specified, defaults to `0`.\n         */\n        function __promisify__(path: PathLike, len?: number): Promise<void>;\n    }\n    /**\n     * Truncates the file. Returns `undefined`. A file descriptor can also be\n     * passed as the first argument. In this case, `fs.ftruncateSync()` is called.\n     *\n     * Passing a file descriptor is deprecated and may result in an error being thrown\n     * in the future.\n     * @since v0.8.6\n     * @param [len=0]\n     */\n    export function truncateSync(path: PathLike, len?: number): void;\n    /**\n     * Truncates the file descriptor. No arguments other than a possible exception are\n     * given to the completion callback.\n     *\n     * See the POSIX [`ftruncate(2)`](http://man7.org/linux/man-pages/man2/ftruncate.2.html) documentation for more detail.\n     *\n     * If the file referred to by the file descriptor was larger than `len` bytes, only\n     * the first `len` bytes will be retained in the file.\n     *\n     * For example, the following program retains only the first four bytes of the\n     * file:\n     *\n     * ```js\n     * import { open, close, ftruncate } from 'fs';\n     *\n     * function closeFd(fd) {\n     *   close(fd, (err) => {\n     *     if (err) throw err;\n     *   });\n     * }\n     *\n     * open('temp.txt', 'r+', (err, fd) => {\n     *   if (err) throw err;\n     *\n     *   try {\n     *     ftruncate(fd, 4, (err) => {\n     *       closeFd(fd);\n     *       if (err) throw err;\n     *     });\n     *   } catch (err) {\n     *     closeFd(fd);\n     *     if (err) throw err;\n     *   }\n     * });\n     * ```\n     *\n     * If the file previously was shorter than `len` bytes, it is extended, and the\n     * extended part is filled with null bytes (`'\\0'`):\n     *\n     * If `len` is negative then `0` will be used.\n     * @since v0.8.6\n     * @param [len=0]\n     */\n    export function ftruncate(fd: number, len: number | undefined, callback: NoParamCallback): void;\n    /**\n     * Asynchronous ftruncate(2) - Truncate a file to a specified length.\n     * @param fd A file descriptor.\n     */\n    export function ftruncate(fd: number, callback: NoParamCallback): void;\n    export namespace ftruncate {\n        /**\n         * Asynchronous ftruncate(2) - Truncate a file to a specified length.\n         * @param fd A file descriptor.\n         * @param len If not specified, defaults to `0`.\n         */\n        function __promisify__(fd: number, len?: number): Promise<void>;\n    }\n    /**\n     * Truncates the file descriptor. Returns `undefined`.\n     *\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link ftruncate}.\n     * @since v0.8.6\n     * @param [len=0]\n     */\n    export function ftruncateSync(fd: number, len?: number): void;\n    /**\n     * Asynchronously changes owner and group of a file. No arguments other than a\n     * possible exception are given to the completion callback.\n     *\n     * See the POSIX [`chown(2)`](http://man7.org/linux/man-pages/man2/chown.2.html) documentation for more detail.\n     * @since v0.1.97\n     */\n    export function chown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void;\n    export namespace chown {\n        /**\n         * Asynchronous chown(2) - Change ownership of a file.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         */\n        function __promisify__(path: PathLike, uid: number, gid: number): Promise<void>;\n    }\n    /**\n     * Synchronously changes owner and group of a file. Returns `undefined`.\n     * This is the synchronous version of {@link chown}.\n     *\n     * See the POSIX [`chown(2)`](http://man7.org/linux/man-pages/man2/chown.2.html) documentation for more detail.\n     * @since v0.1.97\n     */\n    export function chownSync(path: PathLike, uid: number, gid: number): void;\n    /**\n     * Sets the owner of the file. No arguments other than a possible exception are\n     * given to the completion callback.\n     *\n     * See the POSIX [`fchown(2)`](http://man7.org/linux/man-pages/man2/fchown.2.html) documentation for more detail.\n     * @since v0.4.7\n     */\n    export function fchown(fd: number, uid: number, gid: number, callback: NoParamCallback): void;\n    export namespace fchown {\n        /**\n         * Asynchronous fchown(2) - Change ownership of a file.\n         * @param fd A file descriptor.\n         */\n        function __promisify__(fd: number, uid: number, gid: number): Promise<void>;\n    }\n    /**\n     * Sets the owner of the file. Returns `undefined`.\n     *\n     * See the POSIX [`fchown(2)`](http://man7.org/linux/man-pages/man2/fchown.2.html) documentation for more detail.\n     * @since v0.4.7\n     * @param uid The file's new owner's user id.\n     * @param gid The file's new group's group id.\n     */\n    export function fchownSync(fd: number, uid: number, gid: number): void;\n    /**\n     * Set the owner of the symbolic link. No arguments other than a possible\n     * exception are given to the completion callback.\n     *\n     * See the POSIX [`lchown(2)`](http://man7.org/linux/man-pages/man2/lchown.2.html) documentation for more detail.\n     */\n    export function lchown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void;\n    export namespace lchown {\n        /**\n         * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         */\n        function __promisify__(path: PathLike, uid: number, gid: number): Promise<void>;\n    }\n    /**\n     * Set the owner for the path. Returns `undefined`.\n     *\n     * See the POSIX [`lchown(2)`](http://man7.org/linux/man-pages/man2/lchown.2.html) documentation for more details.\n     * @param uid The file's new owner's user id.\n     * @param gid The file's new group's group id.\n     */\n    export function lchownSync(path: PathLike, uid: number, gid: number): void;\n    /**\n     * Changes the access and modification times of a file in the same way as {@link utimes}, with the difference that if the path refers to a symbolic\n     * link, then the link is not dereferenced: instead, the timestamps of the\n     * symbolic link itself are changed.\n     *\n     * No arguments other than a possible exception are given to the completion\n     * callback.\n     * @since v14.5.0, v12.19.0\n     */\n    export function lutimes(path: PathLike, atime: TimeLike, mtime: TimeLike, callback: NoParamCallback): void;\n    export namespace lutimes {\n        /**\n         * Changes the access and modification times of a file in the same way as `fsPromises.utimes()`,\n         * with the difference that if the path refers to a symbolic link, then the link is not\n         * dereferenced: instead, the timestamps of the symbolic link itself are changed.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param atime The last access time. If a string is provided, it will be coerced to number.\n         * @param mtime The last modified time. If a string is provided, it will be coerced to number.\n         */\n        function __promisify__(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise<void>;\n    }\n    /**\n     * Change the file system timestamps of the symbolic link referenced by `path`.\n     * Returns `undefined`, or throws an exception when parameters are incorrect or\n     * the operation fails. This is the synchronous version of {@link lutimes}.\n     * @since v14.5.0, v12.19.0\n     */\n    export function lutimesSync(path: PathLike, atime: TimeLike, mtime: TimeLike): void;\n    /**\n     * Asynchronously changes the permissions of a file. No arguments other than a\n     * possible exception are given to the completion callback.\n     *\n     * See the POSIX [`chmod(2)`](http://man7.org/linux/man-pages/man2/chmod.2.html) documentation for more detail.\n     *\n     * ```js\n     * import { chmod } from 'fs';\n     *\n     * chmod('my_file.txt', 0o775, (err) => {\n     *   if (err) throw err;\n     *   console.log('The permissions for file \"my_file.txt\" have been changed!');\n     * });\n     * ```\n     * @since v0.1.30\n     */\n    export function chmod(path: PathLike, mode: Mode, callback: NoParamCallback): void;\n    export namespace chmod {\n        /**\n         * Asynchronous chmod(2) - Change permissions of a file.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param mode A file mode. If a string is passed, it is parsed as an octal integer.\n         */\n        function __promisify__(path: PathLike, mode: Mode): Promise<void>;\n    }\n    /**\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link chmod}.\n     *\n     * See the POSIX [`chmod(2)`](http://man7.org/linux/man-pages/man2/chmod.2.html) documentation for more detail.\n     * @since v0.6.7\n     */\n    export function chmodSync(path: PathLike, mode: Mode): void;\n    /**\n     * Sets the permissions on the file. No arguments other than a possible exception\n     * are given to the completion callback.\n     *\n     * See the POSIX [`fchmod(2)`](http://man7.org/linux/man-pages/man2/fchmod.2.html) documentation for more detail.\n     * @since v0.4.7\n     */\n    export function fchmod(fd: number, mode: Mode, callback: NoParamCallback): void;\n    export namespace fchmod {\n        /**\n         * Asynchronous fchmod(2) - Change permissions of a file.\n         * @param fd A file descriptor.\n         * @param mode A file mode. If a string is passed, it is parsed as an octal integer.\n         */\n        function __promisify__(fd: number, mode: Mode): Promise<void>;\n    }\n    /**\n     * Sets the permissions on the file. Returns `undefined`.\n     *\n     * See the POSIX [`fchmod(2)`](http://man7.org/linux/man-pages/man2/fchmod.2.html) documentation for more detail.\n     * @since v0.4.7\n     */\n    export function fchmodSync(fd: number, mode: Mode): void;\n    /**\n     * Changes the permissions on a symbolic link. No arguments other than a possible\n     * exception are given to the completion callback.\n     *\n     * This method is only implemented on macOS.\n     *\n     * See the POSIX [`lchmod(2)`](https://www.freebsd.org/cgi/man.cgi?query=lchmod&sektion=2) documentation for more detail.\n     * @deprecated Since v0.4.7\n     */\n    export function lchmod(path: PathLike, mode: Mode, callback: NoParamCallback): void;\n    /** @deprecated */\n    export namespace lchmod {\n        /**\n         * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param mode A file mode. If a string is passed, it is parsed as an octal integer.\n         */\n        function __promisify__(path: PathLike, mode: Mode): Promise<void>;\n    }\n    /**\n     * Changes the permissions on a symbolic link. Returns `undefined`.\n     *\n     * This method is only implemented on macOS.\n     *\n     * See the POSIX [`lchmod(2)`](https://www.freebsd.org/cgi/man.cgi?query=lchmod&sektion=2) documentation for more detail.\n     * @deprecated Since v0.4.7\n     */\n    export function lchmodSync(path: PathLike, mode: Mode): void;\n    /**\n     * Asynchronous [`stat(2)`](http://man7.org/linux/man-pages/man2/stat.2.html). The callback gets two arguments `(err, stats)` where`stats` is an `fs.Stats` object.\n     *\n     * In case of an error, the `err.code` will be one of `Common System Errors`.\n     *\n     * Using `fs.stat()` to check for the existence of a file before calling`fs.open()`, `fs.readFile()` or `fs.writeFile()` is not recommended.\n     * Instead, user code should open/read/write the file directly and handle the\n     * error raised if the file is not available.\n     *\n     * To check if a file exists without manipulating it afterwards, {@link access} is recommended.\n     *\n     * For example, given the following directory structure:\n     *\n     * ```text\n     * - txtDir\n     * -- file.txt\n     * - app.js\n     * ```\n     *\n     * The next program will check for the stats of the given paths:\n     *\n     * ```js\n     * import { stat } from 'fs';\n     *\n     * const pathsToCheck = ['./txtDir', './txtDir/file.txt'];\n     *\n     * for (let i = 0; i < pathsToCheck.length; i++) {\n     *   stat(pathsToCheck[i], (err, stats) => {\n     *     console.log(stats.isDirectory());\n     *     console.log(stats);\n     *   });\n     * }\n     * ```\n     *\n     * The resulting output will resemble:\n     *\n     * ```console\n     * true\n     * Stats {\n     *   dev: 16777220,\n     *   mode: 16877,\n     *   nlink: 3,\n     *   uid: 501,\n     *   gid: 20,\n     *   rdev: 0,\n     *   blksize: 4096,\n     *   ino: 14214262,\n     *   size: 96,\n     *   blocks: 0,\n     *   atimeMs: 1561174653071.963,\n     *   mtimeMs: 1561174614583.3518,\n     *   ctimeMs: 1561174626623.5366,\n     *   birthtimeMs: 1561174126937.2893,\n     *   atime: 2019-06-22T03:37:33.072Z,\n     *   mtime: 2019-06-22T03:36:54.583Z,\n     *   ctime: 2019-06-22T03:37:06.624Z,\n     *   birthtime: 2019-06-22T03:28:46.937Z\n     * }\n     * false\n     * Stats {\n     *   dev: 16777220,\n     *   mode: 33188,\n     *   nlink: 1,\n     *   uid: 501,\n     *   gid: 20,\n     *   rdev: 0,\n     *   blksize: 4096,\n     *   ino: 14214074,\n     *   size: 8,\n     *   blocks: 8,\n     *   atimeMs: 1561174616618.8555,\n     *   mtimeMs: 1561174614584,\n     *   ctimeMs: 1561174614583.8145,\n     *   birthtimeMs: 1561174007710.7478,\n     *   atime: 2019-06-22T03:36:56.619Z,\n     *   mtime: 2019-06-22T03:36:54.584Z,\n     *   ctime: 2019-06-22T03:36:54.584Z,\n     *   birthtime: 2019-06-22T03:26:47.711Z\n     * }\n     * ```\n     * @since v0.0.2\n     */\n    export function stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void;\n    export function stat(\n        path: PathLike,\n        options:\n            | (StatOptions & {\n                bigint?: false | undefined;\n            })\n            | undefined,\n        callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void,\n    ): void;\n    export function stat(\n        path: PathLike,\n        options: StatOptions & {\n            bigint: true;\n        },\n        callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void,\n    ): void;\n    export function stat(\n        path: PathLike,\n        options: StatOptions | undefined,\n        callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void,\n    ): void;\n    export namespace stat {\n        /**\n         * Asynchronous stat(2) - Get file status.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         */\n        function __promisify__(\n            path: PathLike,\n            options?: StatOptions & {\n                bigint?: false | undefined;\n            },\n        ): Promise<Stats>;\n        function __promisify__(\n            path: PathLike,\n            options: StatOptions & {\n                bigint: true;\n            },\n        ): Promise<BigIntStats>;\n        function __promisify__(path: PathLike, options?: StatOptions): Promise<Stats | BigIntStats>;\n    }\n    export interface StatSyncFn extends Function {\n        (path: PathLike, options?: undefined): Stats;\n        (\n            path: PathLike,\n            options?: StatSyncOptions & {\n                bigint?: false | undefined;\n                throwIfNoEntry: false;\n            },\n        ): Stats | undefined;\n        (\n            path: PathLike,\n            options: StatSyncOptions & {\n                bigint: true;\n                throwIfNoEntry: false;\n            },\n        ): BigIntStats | undefined;\n        (\n            path: PathLike,\n            options?: StatSyncOptions & {\n                bigint?: false | undefined;\n            },\n        ): Stats;\n        (\n            path: PathLike,\n            options: StatSyncOptions & {\n                bigint: true;\n            },\n        ): BigIntStats;\n        (\n            path: PathLike,\n            options: StatSyncOptions & {\n                bigint: boolean;\n                throwIfNoEntry?: false | undefined;\n            },\n        ): Stats | BigIntStats;\n        (path: PathLike, options?: StatSyncOptions): Stats | BigIntStats | undefined;\n    }\n    /**\n     * Synchronous stat(2) - Get file status.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     */\n    export const statSync: StatSyncFn;\n    /**\n     * Invokes the callback with the `fs.Stats` for the file descriptor.\n     *\n     * See the POSIX [`fstat(2)`](http://man7.org/linux/man-pages/man2/fstat.2.html) documentation for more detail.\n     * @since v0.1.95\n     */\n    export function fstat(fd: number, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void;\n    export function fstat(\n        fd: number,\n        options:\n            | (StatOptions & {\n                bigint?: false | undefined;\n            })\n            | undefined,\n        callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void,\n    ): void;\n    export function fstat(\n        fd: number,\n        options: StatOptions & {\n            bigint: true;\n        },\n        callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void,\n    ): void;\n    export function fstat(\n        fd: number,\n        options: StatOptions | undefined,\n        callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void,\n    ): void;\n    export namespace fstat {\n        /**\n         * Asynchronous fstat(2) - Get file status.\n         * @param fd A file descriptor.\n         */\n        function __promisify__(\n            fd: number,\n            options?: StatOptions & {\n                bigint?: false | undefined;\n            },\n        ): Promise<Stats>;\n        function __promisify__(\n            fd: number,\n            options: StatOptions & {\n                bigint: true;\n            },\n        ): Promise<BigIntStats>;\n        function __promisify__(fd: number, options?: StatOptions): Promise<Stats | BigIntStats>;\n    }\n    /**\n     * Retrieves the `fs.Stats` for the file descriptor.\n     *\n     * See the POSIX [`fstat(2)`](http://man7.org/linux/man-pages/man2/fstat.2.html) documentation for more detail.\n     * @since v0.1.95\n     */\n    export function fstatSync(\n        fd: number,\n        options?: StatOptions & {\n            bigint?: false | undefined;\n        },\n    ): Stats;\n    export function fstatSync(\n        fd: number,\n        options: StatOptions & {\n            bigint: true;\n        },\n    ): BigIntStats;\n    export function fstatSync(fd: number, options?: StatOptions): Stats | BigIntStats;\n    /**\n     * Retrieves the `fs.Stats` for the symbolic link referred to by the path.\n     * The callback gets two arguments `(err, stats)` where `stats` is a `fs.Stats` object. `lstat()` is identical to `stat()`, except that if `path` is a symbolic\n     * link, then the link itself is stat-ed, not the file that it refers to.\n     *\n     * See the POSIX [`lstat(2)`](http://man7.org/linux/man-pages/man2/lstat.2.html) documentation for more details.\n     * @since v0.1.30\n     */\n    export function lstat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void;\n    export function lstat(\n        path: PathLike,\n        options:\n            | (StatOptions & {\n                bigint?: false | undefined;\n            })\n            | undefined,\n        callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void,\n    ): void;\n    export function lstat(\n        path: PathLike,\n        options: StatOptions & {\n            bigint: true;\n        },\n        callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void,\n    ): void;\n    export function lstat(\n        path: PathLike,\n        options: StatOptions | undefined,\n        callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void,\n    ): void;\n    export namespace lstat {\n        /**\n         * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         */\n        function __promisify__(\n            path: PathLike,\n            options?: StatOptions & {\n                bigint?: false | undefined;\n            },\n        ): Promise<Stats>;\n        function __promisify__(\n            path: PathLike,\n            options: StatOptions & {\n                bigint: true;\n            },\n        ): Promise<BigIntStats>;\n        function __promisify__(path: PathLike, options?: StatOptions): Promise<Stats | BigIntStats>;\n    }\n    /**\n     * Asynchronous statfs(2). Returns information about the mounted file system which contains path. The callback gets two arguments (err, stats) where stats is an <fs.StatFs> object.\n     * In case of an error, the err.code will be one of Common System Errors.\n     * @param path A path to an existing file or directory on the file system to be queried.\n     * @param callback\n     */\n    export function statfs(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: StatsFs) => void): void;\n    export function statfs(\n        path: PathLike,\n        options:\n            | (StatFsOptions & {\n                bigint?: false | undefined;\n            })\n            | undefined,\n        callback: (err: NodeJS.ErrnoException | null, stats: StatsFs) => void,\n    ): void;\n    export function statfs(\n        path: PathLike,\n        options: StatFsOptions & {\n            bigint: true;\n        },\n        callback: (err: NodeJS.ErrnoException | null, stats: BigIntStatsFs) => void,\n    ): void;\n    export function statfs(\n        path: PathLike,\n        options: StatFsOptions | undefined,\n        callback: (err: NodeJS.ErrnoException | null, stats: StatsFs | BigIntStatsFs) => void,\n    ): void;\n    export namespace statfs {\n        /**\n         * Asynchronous statfs(2) - Returns information about the mounted file system which contains path. The callback gets two arguments (err, stats) where stats is an <fs.StatFs> object.\n         * @param path A path to an existing file or directory on the file system to be queried.\n         */\n        function __promisify__(\n            path: PathLike,\n            options?: StatFsOptions & {\n                bigint?: false | undefined;\n            },\n        ): Promise<StatsFs>;\n        function __promisify__(\n            path: PathLike,\n            options: StatFsOptions & {\n                bigint: true;\n            },\n        ): Promise<BigIntStatsFs>;\n        function __promisify__(path: PathLike, options?: StatFsOptions): Promise<StatsFs | BigIntStatsFs>;\n    }\n\n    /**\n     * Synchronous statfs(2). Returns information about the mounted file system which contains path. The callback gets two arguments (err, stats) where stats is an <fs.StatFs> object.\n     * In case of an error, the err.code will be one of Common System Errors.\n     * @param path A path to an existing file or directory on the file system to be queried.\n     * @param callback\n     */\n    export function statfsSync(\n        path: PathLike,\n        options?: StatFsOptions & {\n            bigint?: false | undefined;\n        },\n    ): StatsFs;\n    export function statfsSync(\n        path: PathLike,\n        options: StatFsOptions & {\n            bigint: true;\n        },\n    ): BigIntStatsFs;\n\n    export function statfsSync(path: PathLike, options?: StatFsOptions): StatsFs | BigIntStatsFs;\n    /**\n     * Synchronous lstat(2) - Get file status. Does not dereference symbolic links.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     */\n    export const lstatSync: StatSyncFn;\n    /**\n     * Creates a new link from the `existingPath` to the `newPath`. See the POSIX [`link(2)`](http://man7.org/linux/man-pages/man2/link.2.html) documentation for more detail. No arguments other than\n     * a possible\n     * exception are given to the completion callback.\n     * @since v0.1.31\n     */\n    export function link(existingPath: PathLike, newPath: PathLike, callback: NoParamCallback): void;\n    export namespace link {\n        /**\n         * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file.\n         * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol.\n         */\n        function __promisify__(existingPath: PathLike, newPath: PathLike): Promise<void>;\n    }\n    /**\n     * Creates a new link from the `existingPath` to the `newPath`. See the POSIX [`link(2)`](http://man7.org/linux/man-pages/man2/link.2.html) documentation for more detail. Returns `undefined`.\n     * @since v0.1.31\n     */\n    export function linkSync(existingPath: PathLike, newPath: PathLike): void;\n    /**\n     * Creates the link called `path` pointing to `target`. No arguments other than a\n     * possible exception are given to the completion callback.\n     *\n     * See the POSIX [`symlink(2)`](http://man7.org/linux/man-pages/man2/symlink.2.html) documentation for more details.\n     *\n     * The `type` argument is only available on Windows and ignored on other platforms.\n     * It can be set to `'dir'`, `'file'`, or `'junction'`. If the `type` argument is\n     * not set, Node.js will autodetect `target` type and use `'file'` or `'dir'`. If\n     * the `target` does not exist, `'file'` will be used. Windows junction points\n     * require the destination path to be absolute. When using `'junction'`, the`target` argument will automatically be normalized to absolute path.\n     *\n     * Relative targets are relative to the link’s parent directory.\n     *\n     * ```js\n     * import { symlink } from 'fs';\n     *\n     * symlink('./mew', './mewtwo', callback);\n     * ```\n     *\n     * The above example creates a symbolic link `mewtwo` which points to `mew` in the\n     * same directory:\n     *\n     * ```bash\n     * $ tree .\n     * .\n     * ├── mew\n     * └── mewtwo -> ./mew\n     * ```\n     * @since v0.1.31\n     */\n    export function symlink(\n        target: PathLike,\n        path: PathLike,\n        type: symlink.Type | undefined | null,\n        callback: NoParamCallback,\n    ): void;\n    /**\n     * Asynchronous symlink(2) - Create a new symbolic link to an existing file.\n     * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol.\n     * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol.\n     */\n    export function symlink(target: PathLike, path: PathLike, callback: NoParamCallback): void;\n    export namespace symlink {\n        /**\n         * Asynchronous symlink(2) - Create a new symbolic link to an existing file.\n         * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol.\n         * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol.\n         * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms).\n         * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path.\n         */\n        function __promisify__(target: PathLike, path: PathLike, type?: string | null): Promise<void>;\n        type Type = \"dir\" | \"file\" | \"junction\";\n    }\n    /**\n     * Returns `undefined`.\n     *\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link symlink}.\n     * @since v0.1.31\n     */\n    export function symlinkSync(target: PathLike, path: PathLike, type?: symlink.Type | null): void;\n    /**\n     * Reads the contents of the symbolic link referred to by `path`. The callback gets\n     * two arguments `(err, linkString)`.\n     *\n     * See the POSIX [`readlink(2)`](http://man7.org/linux/man-pages/man2/readlink.2.html) documentation for more details.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use for\n     * the link path passed to the callback. If the `encoding` is set to `'buffer'`,\n     * the link path returned will be passed as a `Buffer` object.\n     * @since v0.1.31\n     */\n    export function readlink(\n        path: PathLike,\n        options: EncodingOption,\n        callback: (err: NodeJS.ErrnoException | null, linkString: string) => void,\n    ): void;\n    /**\n     * Asynchronous readlink(2) - read value of a symbolic link.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function readlink(\n        path: PathLike,\n        options: BufferEncodingOption,\n        callback: (err: NodeJS.ErrnoException | null, linkString: Buffer) => void,\n    ): void;\n    /**\n     * Asynchronous readlink(2) - read value of a symbolic link.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function readlink(\n        path: PathLike,\n        options: EncodingOption,\n        callback: (err: NodeJS.ErrnoException | null, linkString: string | Buffer) => void,\n    ): void;\n    /**\n     * Asynchronous readlink(2) - read value of a symbolic link.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     */\n    export function readlink(\n        path: PathLike,\n        callback: (err: NodeJS.ErrnoException | null, linkString: string) => void,\n    ): void;\n    export namespace readlink {\n        /**\n         * Asynchronous readlink(2) - read value of a symbolic link.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(path: PathLike, options?: EncodingOption): Promise<string>;\n        /**\n         * Asynchronous readlink(2) - read value of a symbolic link.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(path: PathLike, options: BufferEncodingOption): Promise<Buffer>;\n        /**\n         * Asynchronous readlink(2) - read value of a symbolic link.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(path: PathLike, options?: EncodingOption): Promise<string | Buffer>;\n    }\n    /**\n     * Returns the symbolic link's string value.\n     *\n     * See the POSIX [`readlink(2)`](http://man7.org/linux/man-pages/man2/readlink.2.html) documentation for more details.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use for\n     * the link path returned. If the `encoding` is set to `'buffer'`,\n     * the link path returned will be passed as a `Buffer` object.\n     * @since v0.1.31\n     */\n    export function readlinkSync(path: PathLike, options?: EncodingOption): string;\n    /**\n     * Synchronous readlink(2) - read value of a symbolic link.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function readlinkSync(path: PathLike, options: BufferEncodingOption): Buffer;\n    /**\n     * Synchronous readlink(2) - read value of a symbolic link.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function readlinkSync(path: PathLike, options?: EncodingOption): string | Buffer;\n    /**\n     * Asynchronously computes the canonical pathname by resolving `.`, `..` and\n     * symbolic links.\n     *\n     * A canonical pathname is not necessarily unique. Hard links and bind mounts can\n     * expose a file system entity through many pathnames.\n     *\n     * This function behaves like [`realpath(3)`](http://man7.org/linux/man-pages/man3/realpath.3.html), with some exceptions:\n     *\n     * 1. No case conversion is performed on case-insensitive file systems.\n     * 2. The maximum number of symbolic links is platform-independent and generally\n     * (much) higher than what the native [`realpath(3)`](http://man7.org/linux/man-pages/man3/realpath.3.html) implementation supports.\n     *\n     * The `callback` gets two arguments `(err, resolvedPath)`. May use `process.cwd`to resolve relative paths.\n     *\n     * Only paths that can be converted to UTF8 strings are supported.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use for\n     * the path passed to the callback. If the `encoding` is set to `'buffer'`,\n     * the path returned will be passed as a `Buffer` object.\n     *\n     * If `path` resolves to a socket or a pipe, the function will return a system\n     * dependent name for that object.\n     * @since v0.1.31\n     */\n    export function realpath(\n        path: PathLike,\n        options: EncodingOption,\n        callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void,\n    ): void;\n    /**\n     * Asynchronous realpath(3) - return the canonicalized absolute pathname.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function realpath(\n        path: PathLike,\n        options: BufferEncodingOption,\n        callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void,\n    ): void;\n    /**\n     * Asynchronous realpath(3) - return the canonicalized absolute pathname.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function realpath(\n        path: PathLike,\n        options: EncodingOption,\n        callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void,\n    ): void;\n    /**\n     * Asynchronous realpath(3) - return the canonicalized absolute pathname.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     */\n    export function realpath(\n        path: PathLike,\n        callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void,\n    ): void;\n    export namespace realpath {\n        /**\n         * Asynchronous realpath(3) - return the canonicalized absolute pathname.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(path: PathLike, options?: EncodingOption): Promise<string>;\n        /**\n         * Asynchronous realpath(3) - return the canonicalized absolute pathname.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(path: PathLike, options: BufferEncodingOption): Promise<Buffer>;\n        /**\n         * Asynchronous realpath(3) - return the canonicalized absolute pathname.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(path: PathLike, options?: EncodingOption): Promise<string | Buffer>;\n        /**\n         * Asynchronous [`realpath(3)`](http://man7.org/linux/man-pages/man3/realpath.3.html).\n         *\n         * The `callback` gets two arguments `(err, resolvedPath)`.\n         *\n         * Only paths that can be converted to UTF8 strings are supported.\n         *\n         * The optional `options` argument can be a string specifying an encoding, or an\n         * object with an `encoding` property specifying the character encoding to use for\n         * the path passed to the callback. If the `encoding` is set to `'buffer'`,\n         * the path returned will be passed as a `Buffer` object.\n         *\n         * On Linux, when Node.js is linked against musl libc, the procfs file system must\n         * be mounted on `/proc` in order for this function to work. Glibc does not have\n         * this restriction.\n         * @since v9.2.0\n         */\n        function native(\n            path: PathLike,\n            options: EncodingOption,\n            callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void,\n        ): void;\n        function native(\n            path: PathLike,\n            options: BufferEncodingOption,\n            callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void,\n        ): void;\n        function native(\n            path: PathLike,\n            options: EncodingOption,\n            callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void,\n        ): void;\n        function native(\n            path: PathLike,\n            callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void,\n        ): void;\n    }\n    /**\n     * Returns the resolved pathname.\n     *\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link realpath}.\n     * @since v0.1.31\n     */\n    export function realpathSync(path: PathLike, options?: EncodingOption): string;\n    /**\n     * Synchronous realpath(3) - return the canonicalized absolute pathname.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function realpathSync(path: PathLike, options: BufferEncodingOption): Buffer;\n    /**\n     * Synchronous realpath(3) - return the canonicalized absolute pathname.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function realpathSync(path: PathLike, options?: EncodingOption): string | Buffer;\n    export namespace realpathSync {\n        function native(path: PathLike, options?: EncodingOption): string;\n        function native(path: PathLike, options: BufferEncodingOption): Buffer;\n        function native(path: PathLike, options?: EncodingOption): string | Buffer;\n    }\n    /**\n     * Asynchronously removes a file or symbolic link. No arguments other than a\n     * possible exception are given to the completion callback.\n     *\n     * ```js\n     * import { unlink } from 'fs';\n     * // Assuming that 'path/file.txt' is a regular file.\n     * unlink('path/file.txt', (err) => {\n     *   if (err) throw err;\n     *   console.log('path/file.txt was deleted');\n     * });\n     * ```\n     *\n     * `fs.unlink()` will not work on a directory, empty or otherwise. To remove a\n     * directory, use {@link rmdir}.\n     *\n     * See the POSIX [`unlink(2)`](http://man7.org/linux/man-pages/man2/unlink.2.html) documentation for more details.\n     * @since v0.0.2\n     */\n    export function unlink(path: PathLike, callback: NoParamCallback): void;\n    export namespace unlink {\n        /**\n         * Asynchronous unlink(2) - delete a name and possibly the file it refers to.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         */\n        function __promisify__(path: PathLike): Promise<void>;\n    }\n    /**\n     * Synchronous [`unlink(2)`](http://man7.org/linux/man-pages/man2/unlink.2.html). Returns `undefined`.\n     * @since v0.1.21\n     */\n    export function unlinkSync(path: PathLike): void;\n    export interface RmDirOptions {\n        /**\n         * If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or\n         * `EPERM` error is encountered, Node.js will retry the operation with a linear\n         * backoff wait of `retryDelay` ms longer on each try. This option represents the\n         * number of retries. This option is ignored if the `recursive` option is not\n         * `true`.\n         * @default 0\n         */\n        maxRetries?: number | undefined;\n        /**\n         * @deprecated since v14.14.0 In future versions of Node.js and will trigger a warning\n         * `fs.rmdir(path, { recursive: true })` will throw if `path` does not exist or is a file.\n         * Use `fs.rm(path, { recursive: true, force: true })` instead.\n         *\n         * If `true`, perform a recursive directory removal. In\n         * recursive mode, operations are retried on failure.\n         * @default false\n         */\n        recursive?: boolean | undefined;\n        /**\n         * The amount of time in milliseconds to wait between retries.\n         * This option is ignored if the `recursive` option is not `true`.\n         * @default 100\n         */\n        retryDelay?: number | undefined;\n    }\n    /**\n     * Asynchronous [`rmdir(2)`](http://man7.org/linux/man-pages/man2/rmdir.2.html). No arguments other than a possible exception are given\n     * to the completion callback.\n     *\n     * Using `fs.rmdir()` on a file (not a directory) results in an `ENOENT` error on\n     * Windows and an `ENOTDIR` error on POSIX.\n     *\n     * To get a behavior similar to the `rm -rf` Unix command, use {@link rm} with options `{ recursive: true, force: true }`.\n     * @since v0.0.2\n     */\n    export function rmdir(path: PathLike, callback: NoParamCallback): void;\n    export function rmdir(path: PathLike, options: RmDirOptions, callback: NoParamCallback): void;\n    export namespace rmdir {\n        /**\n         * Asynchronous rmdir(2) - delete a directory.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         */\n        function __promisify__(path: PathLike, options?: RmDirOptions): Promise<void>;\n    }\n    /**\n     * Synchronous [`rmdir(2)`](http://man7.org/linux/man-pages/man2/rmdir.2.html). Returns `undefined`.\n     *\n     * Using `fs.rmdirSync()` on a file (not a directory) results in an `ENOENT` error\n     * on Windows and an `ENOTDIR` error on POSIX.\n     *\n     * To get a behavior similar to the `rm -rf` Unix command, use {@link rmSync} with options `{ recursive: true, force: true }`.\n     * @since v0.1.21\n     */\n    export function rmdirSync(path: PathLike, options?: RmDirOptions): void;\n    export interface RmOptions {\n        /**\n         * When `true`, exceptions will be ignored if `path` does not exist.\n         * @default false\n         */\n        force?: boolean | undefined;\n        /**\n         * If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or\n         * `EPERM` error is encountered, Node.js will retry the operation with a linear\n         * backoff wait of `retryDelay` ms longer on each try. This option represents the\n         * number of retries. This option is ignored if the `recursive` option is not\n         * `true`.\n         * @default 0\n         */\n        maxRetries?: number | undefined;\n        /**\n         * If `true`, perform a recursive directory removal. In\n         * recursive mode, operations are retried on failure.\n         * @default false\n         */\n        recursive?: boolean | undefined;\n        /**\n         * The amount of time in milliseconds to wait between retries.\n         * This option is ignored if the `recursive` option is not `true`.\n         * @default 100\n         */\n        retryDelay?: number | undefined;\n    }\n    /**\n     * Asynchronously removes files and directories (modeled on the standard POSIX `rm`utility). No arguments other than a possible exception are given to the\n     * completion callback.\n     * @since v14.14.0\n     */\n    export function rm(path: PathLike, callback: NoParamCallback): void;\n    export function rm(path: PathLike, options: RmOptions, callback: NoParamCallback): void;\n    export namespace rm {\n        /**\n         * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility).\n         */\n        function __promisify__(path: PathLike, options?: RmOptions): Promise<void>;\n    }\n    /**\n     * Synchronously removes files and directories (modeled on the standard POSIX `rm`utility). Returns `undefined`.\n     * @since v14.14.0\n     */\n    export function rmSync(path: PathLike, options?: RmOptions): void;\n    export interface MakeDirectoryOptions {\n        /**\n         * Indicates whether parent folders should be created.\n         * If a folder was created, the path to the first created folder will be returned.\n         * @default false\n         */\n        recursive?: boolean | undefined;\n        /**\n         * A file mode. If a string is passed, it is parsed as an octal integer. If not specified\n         * @default 0o777\n         */\n        mode?: Mode | undefined;\n    }\n    /**\n     * Asynchronously creates a directory.\n     *\n     * The callback is given a possible exception and, if `recursive` is `true`, the\n     * first directory path created, `(err[, path])`.`path` can still be `undefined` when `recursive` is `true`, if no directory was\n     * created.\n     *\n     * The optional `options` argument can be an integer specifying `mode` (permission\n     * and sticky bits), or an object with a `mode` property and a `recursive`property indicating whether parent directories should be created. Calling`fs.mkdir()` when `path` is a directory that\n     * exists results in an error only\n     * when `recursive` is false.\n     *\n     * ```js\n     * import { mkdir } from 'fs';\n     *\n     * // Creates /tmp/a/apple, regardless of whether `/tmp` and /tmp/a exist.\n     * mkdir('/tmp/a/apple', { recursive: true }, (err) => {\n     *   if (err) throw err;\n     * });\n     * ```\n     *\n     * On Windows, using `fs.mkdir()` on the root directory even with recursion will\n     * result in an error:\n     *\n     * ```js\n     * import { mkdir } from 'fs';\n     *\n     * mkdir('/', { recursive: true }, (err) => {\n     *   // => [Error: EPERM: operation not permitted, mkdir 'C:\\']\n     * });\n     * ```\n     *\n     * See the POSIX [`mkdir(2)`](http://man7.org/linux/man-pages/man2/mkdir.2.html) documentation for more details.\n     * @since v0.1.8\n     */\n    export function mkdir(\n        path: PathLike,\n        options: MakeDirectoryOptions & {\n            recursive: true;\n        },\n        callback: (err: NodeJS.ErrnoException | null, path?: string) => void,\n    ): void;\n    /**\n     * Asynchronous mkdir(2) - create a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders\n     * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`.\n     */\n    export function mkdir(\n        path: PathLike,\n        options:\n            | Mode\n            | (MakeDirectoryOptions & {\n                recursive?: false | undefined;\n            })\n            | null\n            | undefined,\n        callback: NoParamCallback,\n    ): void;\n    /**\n     * Asynchronous mkdir(2) - create a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders\n     * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`.\n     */\n    export function mkdir(\n        path: PathLike,\n        options: Mode | MakeDirectoryOptions | null | undefined,\n        callback: (err: NodeJS.ErrnoException | null, path?: string) => void,\n    ): void;\n    /**\n     * Asynchronous mkdir(2) - create a directory with a mode of `0o777`.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     */\n    export function mkdir(path: PathLike, callback: NoParamCallback): void;\n    export namespace mkdir {\n        /**\n         * Asynchronous mkdir(2) - create a directory.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders\n         * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`.\n         */\n        function __promisify__(\n            path: PathLike,\n            options: MakeDirectoryOptions & {\n                recursive: true;\n            },\n        ): Promise<string | undefined>;\n        /**\n         * Asynchronous mkdir(2) - create a directory.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders\n         * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`.\n         */\n        function __promisify__(\n            path: PathLike,\n            options?:\n                | Mode\n                | (MakeDirectoryOptions & {\n                    recursive?: false | undefined;\n                })\n                | null,\n        ): Promise<void>;\n        /**\n         * Asynchronous mkdir(2) - create a directory.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders\n         * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`.\n         */\n        function __promisify__(\n            path: PathLike,\n            options?: Mode | MakeDirectoryOptions | null,\n        ): Promise<string | undefined>;\n    }\n    /**\n     * Synchronously creates a directory. Returns `undefined`, or if `recursive` is`true`, the first directory path created.\n     * This is the synchronous version of {@link mkdir}.\n     *\n     * See the POSIX [`mkdir(2)`](http://man7.org/linux/man-pages/man2/mkdir.2.html) documentation for more details.\n     * @since v0.1.21\n     */\n    export function mkdirSync(\n        path: PathLike,\n        options: MakeDirectoryOptions & {\n            recursive: true;\n        },\n    ): string | undefined;\n    /**\n     * Synchronous mkdir(2) - create a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders\n     * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`.\n     */\n    export function mkdirSync(\n        path: PathLike,\n        options?:\n            | Mode\n            | (MakeDirectoryOptions & {\n                recursive?: false | undefined;\n            })\n            | null,\n    ): void;\n    /**\n     * Synchronous mkdir(2) - create a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders\n     * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`.\n     */\n    export function mkdirSync(path: PathLike, options?: Mode | MakeDirectoryOptions | null): string | undefined;\n    /**\n     * Creates a unique temporary directory.\n     *\n     * Generates six random characters to be appended behind a required`prefix` to create a unique temporary directory. Due to platform\n     * inconsistencies, avoid trailing `X` characters in `prefix`. Some platforms,\n     * notably the BSDs, can return more than six random characters, and replace\n     * trailing `X` characters in `prefix` with random characters.\n     *\n     * The created directory path is passed as a string to the callback's second\n     * parameter.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use.\n     *\n     * ```js\n     * import { mkdtemp } from 'fs';\n     *\n     * mkdtemp(path.join(os.tmpdir(), 'foo-'), (err, directory) => {\n     *   if (err) throw err;\n     *   console.log(directory);\n     *   // Prints: /tmp/foo-itXde2 or C:\\Users\\...\\AppData\\Local\\Temp\\foo-itXde2\n     * });\n     * ```\n     *\n     * The `fs.mkdtemp()` method will append the six randomly selected characters\n     * directly to the `prefix` string. For instance, given a directory `/tmp`, if the\n     * intention is to create a temporary directory _within_`/tmp`, the `prefix`must end with a trailing platform-specific path separator\n     * (`import { sep } from 'node:path'`).\n     *\n     * ```js\n     * import { tmpdir } from 'os';\n     * import { mkdtemp } from 'fs';\n     *\n     * // The parent directory for the new temporary directory\n     * const tmpDir = tmpdir();\n     *\n     * // This method is *INCORRECT*:\n     * mkdtemp(tmpDir, (err, directory) => {\n     *   if (err) throw err;\n     *   console.log(directory);\n     *   // Will print something similar to `/tmpabc123`.\n     *   // A new temporary directory is created at the file system root\n     *   // rather than *within* the /tmp directory.\n     * });\n     *\n     * // This method is *CORRECT*:\n     * import { sep } from 'path';\n     * mkdtemp(`${tmpDir}${sep}`, (err, directory) => {\n     *   if (err) throw err;\n     *   console.log(directory);\n     *   // Will print something similar to `/tmp/abc123`.\n     *   // A new temporary directory is created within\n     *   // the /tmp directory.\n     * });\n     * ```\n     * @since v5.10.0\n     */\n    export function mkdtemp(\n        prefix: string,\n        options: EncodingOption,\n        callback: (err: NodeJS.ErrnoException | null, folder: string) => void,\n    ): void;\n    /**\n     * Asynchronously creates a unique temporary directory.\n     * Generates six random characters to be appended behind a required prefix to create a unique temporary directory.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function mkdtemp(\n        prefix: string,\n        options:\n            | \"buffer\"\n            | {\n                encoding: \"buffer\";\n            },\n        callback: (err: NodeJS.ErrnoException | null, folder: Buffer) => void,\n    ): void;\n    /**\n     * Asynchronously creates a unique temporary directory.\n     * Generates six random characters to be appended behind a required prefix to create a unique temporary directory.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function mkdtemp(\n        prefix: string,\n        options: EncodingOption,\n        callback: (err: NodeJS.ErrnoException | null, folder: string | Buffer) => void,\n    ): void;\n    /**\n     * Asynchronously creates a unique temporary directory.\n     * Generates six random characters to be appended behind a required prefix to create a unique temporary directory.\n     */\n    export function mkdtemp(\n        prefix: string,\n        callback: (err: NodeJS.ErrnoException | null, folder: string) => void,\n    ): void;\n    export namespace mkdtemp {\n        /**\n         * Asynchronously creates a unique temporary directory.\n         * Generates six random characters to be appended behind a required prefix to create a unique temporary directory.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(prefix: string, options?: EncodingOption): Promise<string>;\n        /**\n         * Asynchronously creates a unique temporary directory.\n         * Generates six random characters to be appended behind a required prefix to create a unique temporary directory.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(prefix: string, options: BufferEncodingOption): Promise<Buffer>;\n        /**\n         * Asynchronously creates a unique temporary directory.\n         * Generates six random characters to be appended behind a required prefix to create a unique temporary directory.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(prefix: string, options?: EncodingOption): Promise<string | Buffer>;\n    }\n    /**\n     * Returns the created directory path.\n     *\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link mkdtemp}.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use.\n     * @since v5.10.0\n     */\n    export function mkdtempSync(prefix: string, options?: EncodingOption): string;\n    /**\n     * Synchronously creates a unique temporary directory.\n     * Generates six random characters to be appended behind a required prefix to create a unique temporary directory.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function mkdtempSync(prefix: string, options: BufferEncodingOption): Buffer;\n    /**\n     * Synchronously creates a unique temporary directory.\n     * Generates six random characters to be appended behind a required prefix to create a unique temporary directory.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function mkdtempSync(prefix: string, options?: EncodingOption): string | Buffer;\n    /**\n     * Reads the contents of a directory. The callback gets two arguments `(err, files)`where `files` is an array of the names of the files in the directory excluding`'.'` and `'..'`.\n     *\n     * See the POSIX [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) documentation for more details.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use for\n     * the filenames passed to the callback. If the `encoding` is set to `'buffer'`,\n     * the filenames returned will be passed as `Buffer` objects.\n     *\n     * If `options.withFileTypes` is set to `true`, the `files` array will contain `fs.Dirent` objects.\n     * @since v0.1.8\n     */\n    export function readdir(\n        path: PathLike,\n        options:\n            | {\n                encoding: BufferEncoding | null;\n                withFileTypes?: false | undefined;\n                recursive?: boolean | undefined;\n            }\n            | BufferEncoding\n            | undefined\n            | null,\n        callback: (err: NodeJS.ErrnoException | null, files: string[]) => void,\n    ): void;\n    /**\n     * Asynchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function readdir(\n        path: PathLike,\n        options:\n            | {\n                encoding: \"buffer\";\n                withFileTypes?: false | undefined;\n                recursive?: boolean | undefined;\n            }\n            | \"buffer\",\n        callback: (err: NodeJS.ErrnoException | null, files: Buffer[]) => void,\n    ): void;\n    /**\n     * Asynchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function readdir(\n        path: PathLike,\n        options:\n            | (ObjectEncodingOptions & {\n                withFileTypes?: false | undefined;\n                recursive?: boolean | undefined;\n            })\n            | BufferEncoding\n            | undefined\n            | null,\n        callback: (err: NodeJS.ErrnoException | null, files: string[] | Buffer[]) => void,\n    ): void;\n    /**\n     * Asynchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     */\n    export function readdir(\n        path: PathLike,\n        callback: (err: NodeJS.ErrnoException | null, files: string[]) => void,\n    ): void;\n    /**\n     * Asynchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options If called with `withFileTypes: true` the result data will be an array of Dirent.\n     */\n    export function readdir(\n        path: PathLike,\n        options: ObjectEncodingOptions & {\n            withFileTypes: true;\n            recursive?: boolean | undefined;\n        },\n        callback: (err: NodeJS.ErrnoException | null, files: Dirent[]) => void,\n    ): void;\n    /**\n     * Asynchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options Must include `withFileTypes: true` and `encoding: 'buffer'`.\n     */\n    export function readdir(\n        path: PathLike,\n        options: {\n            encoding: \"buffer\";\n            withFileTypes: true;\n            recursive?: boolean | undefined;\n        },\n        callback: (err: NodeJS.ErrnoException | null, files: Dirent<Buffer>[]) => void,\n    ): void;\n    export namespace readdir {\n        /**\n         * Asynchronous readdir(3) - read a directory.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(\n            path: PathLike,\n            options?:\n                | {\n                    encoding: BufferEncoding | null;\n                    withFileTypes?: false | undefined;\n                    recursive?: boolean | undefined;\n                }\n                | BufferEncoding\n                | null,\n        ): Promise<string[]>;\n        /**\n         * Asynchronous readdir(3) - read a directory.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(\n            path: PathLike,\n            options:\n                | \"buffer\"\n                | {\n                    encoding: \"buffer\";\n                    withFileTypes?: false | undefined;\n                    recursive?: boolean | undefined;\n                },\n        ): Promise<Buffer[]>;\n        /**\n         * Asynchronous readdir(3) - read a directory.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n         */\n        function __promisify__(\n            path: PathLike,\n            options?:\n                | (ObjectEncodingOptions & {\n                    withFileTypes?: false | undefined;\n                    recursive?: boolean | undefined;\n                })\n                | BufferEncoding\n                | null,\n        ): Promise<string[] | Buffer[]>;\n        /**\n         * Asynchronous readdir(3) - read a directory.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options If called with `withFileTypes: true` the result data will be an array of Dirent\n         */\n        function __promisify__(\n            path: PathLike,\n            options: ObjectEncodingOptions & {\n                withFileTypes: true;\n                recursive?: boolean | undefined;\n            },\n        ): Promise<Dirent[]>;\n        /**\n         * Asynchronous readdir(3) - read a directory.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param options Must include `withFileTypes: true` and `encoding: 'buffer'`.\n         */\n        function __promisify__(\n            path: PathLike,\n            options: {\n                encoding: \"buffer\";\n                withFileTypes: true;\n                recursive?: boolean | undefined;\n            },\n        ): Promise<Dirent<Buffer>[]>;\n    }\n    /**\n     * Reads the contents of the directory.\n     *\n     * See the POSIX [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) documentation for more details.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use for\n     * the filenames returned. If the `encoding` is set to `'buffer'`,\n     * the filenames returned will be passed as `Buffer` objects.\n     *\n     * If `options.withFileTypes` is set to `true`, the result will contain `fs.Dirent` objects.\n     * @since v0.1.21\n     */\n    export function readdirSync(\n        path: PathLike,\n        options?:\n            | {\n                encoding: BufferEncoding | null;\n                withFileTypes?: false | undefined;\n                recursive?: boolean | undefined;\n            }\n            | BufferEncoding\n            | null,\n    ): string[];\n    /**\n     * Synchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function readdirSync(\n        path: PathLike,\n        options:\n            | {\n                encoding: \"buffer\";\n                withFileTypes?: false | undefined;\n                recursive?: boolean | undefined;\n            }\n            | \"buffer\",\n    ): Buffer[];\n    /**\n     * Synchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    export function readdirSync(\n        path: PathLike,\n        options?:\n            | (ObjectEncodingOptions & {\n                withFileTypes?: false | undefined;\n                recursive?: boolean | undefined;\n            })\n            | BufferEncoding\n            | null,\n    ): string[] | Buffer[];\n    /**\n     * Synchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options If called with `withFileTypes: true` the result data will be an array of Dirent.\n     */\n    export function readdirSync(\n        path: PathLike,\n        options: ObjectEncodingOptions & {\n            withFileTypes: true;\n            recursive?: boolean | undefined;\n        },\n    ): Dirent[];\n    /**\n     * Synchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options Must include `withFileTypes: true` and `encoding: 'buffer'`.\n     */\n    export function readdirSync(\n        path: PathLike,\n        options: {\n            encoding: \"buffer\";\n            withFileTypes: true;\n            recursive?: boolean | undefined;\n        },\n    ): Dirent<Buffer>[];\n    /**\n     * Closes the file descriptor. No arguments other than a possible exception are\n     * given to the completion callback.\n     *\n     * Calling `fs.close()` on any file descriptor (`fd`) that is currently in use\n     * through any other `fs` operation may lead to undefined behavior.\n     *\n     * See the POSIX [`close(2)`](http://man7.org/linux/man-pages/man2/close.2.html) documentation for more detail.\n     * @since v0.0.2\n     */\n    export function close(fd: number, callback?: NoParamCallback): void;\n    export namespace close {\n        /**\n         * Asynchronous close(2) - close a file descriptor.\n         * @param fd A file descriptor.\n         */\n        function __promisify__(fd: number): Promise<void>;\n    }\n    /**\n     * Closes the file descriptor. Returns `undefined`.\n     *\n     * Calling `fs.closeSync()` on any file descriptor (`fd`) that is currently in use\n     * through any other `fs` operation may lead to undefined behavior.\n     *\n     * See the POSIX [`close(2)`](http://man7.org/linux/man-pages/man2/close.2.html) documentation for more detail.\n     * @since v0.1.21\n     */\n    export function closeSync(fd: number): void;\n    /**\n     * Asynchronous file open. See the POSIX [`open(2)`](http://man7.org/linux/man-pages/man2/open.2.html) documentation for more details.\n     *\n     * `mode` sets the file mode (permission and sticky bits), but only if the file was\n     * created. On Windows, only the write permission can be manipulated; see {@link chmod}.\n     *\n     * The callback gets two arguments `(err, fd)`.\n     *\n     * Some characters (`< > : \" / \\ | ? *`) are reserved under Windows as documented\n     * by [Naming Files, Paths, and Namespaces](https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file). Under NTFS, if the filename contains\n     * a colon, Node.js will open a file system stream, as described by [this MSDN page](https://docs.microsoft.com/en-us/windows/desktop/FileIO/using-streams).\n     *\n     * Functions based on `fs.open()` exhibit this behavior as well:`fs.writeFile()`, `fs.readFile()`, etc.\n     * @since v0.0.2\n     * @param [flags='r'] See `support of file system `flags``.\n     * @param [mode=0o666]\n     */\n    export function open(\n        path: PathLike,\n        flags: OpenMode | undefined,\n        mode: Mode | undefined | null,\n        callback: (err: NodeJS.ErrnoException | null, fd: number) => void,\n    ): void;\n    /**\n     * Asynchronous open(2) - open and possibly create a file. If the file is created, its mode will be `0o666`.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param [flags='r'] See `support of file system `flags``.\n     */\n    export function open(\n        path: PathLike,\n        flags: OpenMode | undefined,\n        callback: (err: NodeJS.ErrnoException | null, fd: number) => void,\n    ): void;\n    /**\n     * Asynchronous open(2) - open and possibly create a file. If the file is created, its mode will be `0o666`.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     */\n    export function open(path: PathLike, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void;\n\n    export namespace open {\n        /**\n         * Asynchronous open(2) - open and possibly create a file.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`.\n         */\n        function __promisify__(path: PathLike, flags: OpenMode, mode?: Mode | null): Promise<number>;\n    }\n    /**\n     * Returns an integer representing the file descriptor.\n     *\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link open}.\n     * @since v0.1.21\n     * @param [flags='r']\n     * @param [mode=0o666]\n     */\n    export function openSync(path: PathLike, flags: OpenMode, mode?: Mode | null): number;\n    /**\n     * Change the file system timestamps of the object referenced by `path`.\n     *\n     * The `atime` and `mtime` arguments follow these rules:\n     *\n     * * Values can be either numbers representing Unix epoch time in seconds,`Date`s, or a numeric string like `'123456789.0'`.\n     * * If the value can not be converted to a number, or is `NaN`, `Infinity` or`-Infinity`, an `Error` will be thrown.\n     * @since v0.4.2\n     */\n    export function utimes(path: PathLike, atime: TimeLike, mtime: TimeLike, callback: NoParamCallback): void;\n    export namespace utimes {\n        /**\n         * Asynchronously change file timestamps of the file referenced by the supplied path.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * @param atime The last access time. If a string is provided, it will be coerced to number.\n         * @param mtime The last modified time. If a string is provided, it will be coerced to number.\n         */\n        function __promisify__(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise<void>;\n    }\n    /**\n     * Returns `undefined`.\n     *\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link utimes}.\n     * @since v0.4.2\n     */\n    export function utimesSync(path: PathLike, atime: TimeLike, mtime: TimeLike): void;\n    /**\n     * Change the file system timestamps of the object referenced by the supplied file\n     * descriptor. See {@link utimes}.\n     * @since v0.4.2\n     */\n    export function futimes(fd: number, atime: TimeLike, mtime: TimeLike, callback: NoParamCallback): void;\n    export namespace futimes {\n        /**\n         * Asynchronously change file timestamps of the file referenced by the supplied file descriptor.\n         * @param fd A file descriptor.\n         * @param atime The last access time. If a string is provided, it will be coerced to number.\n         * @param mtime The last modified time. If a string is provided, it will be coerced to number.\n         */\n        function __promisify__(fd: number, atime: TimeLike, mtime: TimeLike): Promise<void>;\n    }\n    /**\n     * Synchronous version of {@link futimes}. Returns `undefined`.\n     * @since v0.4.2\n     */\n    export function futimesSync(fd: number, atime: TimeLike, mtime: TimeLike): void;\n    /**\n     * Request that all data for the open file descriptor is flushed to the storage\n     * device. The specific implementation is operating system and device specific.\n     * Refer to the POSIX [`fsync(2)`](http://man7.org/linux/man-pages/man2/fsync.2.html) documentation for more detail. No arguments other\n     * than a possible exception are given to the completion callback.\n     * @since v0.1.96\n     */\n    export function fsync(fd: number, callback: NoParamCallback): void;\n    export namespace fsync {\n        /**\n         * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device.\n         * @param fd A file descriptor.\n         */\n        function __promisify__(fd: number): Promise<void>;\n    }\n    /**\n     * Request that all data for the open file descriptor is flushed to the storage\n     * device. The specific implementation is operating system and device specific.\n     * Refer to the POSIX [`fsync(2)`](http://man7.org/linux/man-pages/man2/fsync.2.html) documentation for more detail. Returns `undefined`.\n     * @since v0.1.96\n     */\n    export function fsyncSync(fd: number): void;\n    export interface WriteOptions {\n        /**\n         * @default 0\n         */\n        offset?: number | undefined;\n        /**\n         * @default `buffer.byteLength - offset`\n         */\n        length?: number | undefined;\n        /**\n         * @default null\n         */\n        position?: number | undefined | null;\n    }\n    /**\n     * Write `buffer` to the file specified by `fd`.\n     *\n     * `offset` determines the part of the buffer to be written, and `length` is\n     * an integer specifying the number of bytes to write.\n     *\n     * `position` refers to the offset from the beginning of the file where this data\n     * should be written. If `typeof position !== 'number'`, the data will be written\n     * at the current position. See [`pwrite(2)`](http://man7.org/linux/man-pages/man2/pwrite.2.html).\n     *\n     * The callback will be given three arguments `(err, bytesWritten, buffer)` where`bytesWritten` specifies how many _bytes_ were written from `buffer`.\n     *\n     * If this method is invoked as its `util.promisify()` ed version, it returns\n     * a promise for an `Object` with `bytesWritten` and `buffer` properties.\n     *\n     * It is unsafe to use `fs.write()` multiple times on the same file without waiting\n     * for the callback. For this scenario, {@link createWriteStream} is\n     * recommended.\n     *\n     * On Linux, positional writes don't work when the file is opened in append mode.\n     * The kernel ignores the position argument and always appends the data to\n     * the end of the file.\n     * @since v0.0.2\n     */\n    export function write<TBuffer extends NodeJS.ArrayBufferView>(\n        fd: number,\n        buffer: TBuffer,\n        offset: number | undefined | null,\n        length: number | undefined | null,\n        position: number | undefined | null,\n        callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void,\n    ): void;\n    /**\n     * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor.\n     * @param fd A file descriptor.\n     * @param offset The part of the buffer to be written. If not supplied, defaults to `0`.\n     * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`.\n     */\n    export function write<TBuffer extends NodeJS.ArrayBufferView>(\n        fd: number,\n        buffer: TBuffer,\n        offset: number | undefined | null,\n        length: number | undefined | null,\n        callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void,\n    ): void;\n    /**\n     * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor.\n     * @param fd A file descriptor.\n     * @param offset The part of the buffer to be written. If not supplied, defaults to `0`.\n     */\n    export function write<TBuffer extends NodeJS.ArrayBufferView>(\n        fd: number,\n        buffer: TBuffer,\n        offset: number | undefined | null,\n        callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void,\n    ): void;\n    /**\n     * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor.\n     * @param fd A file descriptor.\n     */\n    export function write<TBuffer extends NodeJS.ArrayBufferView>(\n        fd: number,\n        buffer: TBuffer,\n        callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void,\n    ): void;\n    /**\n     * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor.\n     * @param fd A file descriptor.\n     * @param options An object with the following properties:\n     * * `offset` The part of the buffer to be written. If not supplied, defaults to `0`.\n     * * `length` The number of bytes to write. If not supplied, defaults to `buffer.length - offset`.\n     * * `position` The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position.\n     */\n    export function write<TBuffer extends NodeJS.ArrayBufferView>(\n        fd: number,\n        buffer: TBuffer,\n        options: WriteOptions,\n        callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void,\n    ): void;\n    /**\n     * Asynchronously writes `string` to the file referenced by the supplied file descriptor.\n     * @param fd A file descriptor.\n     * @param string A string to write.\n     * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position.\n     * @param encoding The expected string encoding.\n     */\n    export function write(\n        fd: number,\n        string: string,\n        position: number | undefined | null,\n        encoding: BufferEncoding | undefined | null,\n        callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void,\n    ): void;\n    /**\n     * Asynchronously writes `string` to the file referenced by the supplied file descriptor.\n     * @param fd A file descriptor.\n     * @param string A string to write.\n     * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position.\n     */\n    export function write(\n        fd: number,\n        string: string,\n        position: number | undefined | null,\n        callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void,\n    ): void;\n    /**\n     * Asynchronously writes `string` to the file referenced by the supplied file descriptor.\n     * @param fd A file descriptor.\n     * @param string A string to write.\n     */\n    export function write(\n        fd: number,\n        string: string,\n        callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void,\n    ): void;\n    export namespace write {\n        /**\n         * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor.\n         * @param fd A file descriptor.\n         * @param offset The part of the buffer to be written. If not supplied, defaults to `0`.\n         * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`.\n         * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position.\n         */\n        function __promisify__<TBuffer extends NodeJS.ArrayBufferView>(\n            fd: number,\n            buffer?: TBuffer,\n            offset?: number,\n            length?: number,\n            position?: number | null,\n        ): Promise<{\n            bytesWritten: number;\n            buffer: TBuffer;\n        }>;\n        /**\n         * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor.\n         * @param fd A file descriptor.\n         * @param options An object with the following properties:\n         * * `offset` The part of the buffer to be written. If not supplied, defaults to `0`.\n         * * `length` The number of bytes to write. If not supplied, defaults to `buffer.length - offset`.\n         * * `position` The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position.\n         */\n        function __promisify__<TBuffer extends NodeJS.ArrayBufferView>(\n            fd: number,\n            buffer?: TBuffer,\n            options?: WriteOptions,\n        ): Promise<{\n            bytesWritten: number;\n            buffer: TBuffer;\n        }>;\n        /**\n         * Asynchronously writes `string` to the file referenced by the supplied file descriptor.\n         * @param fd A file descriptor.\n         * @param string A string to write.\n         * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position.\n         * @param encoding The expected string encoding.\n         */\n        function __promisify__(\n            fd: number,\n            string: string,\n            position?: number | null,\n            encoding?: BufferEncoding | null,\n        ): Promise<{\n            bytesWritten: number;\n            buffer: string;\n        }>;\n    }\n    /**\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link write}.\n     * @since v0.1.21\n     * @return The number of bytes written.\n     */\n    export function writeSync(\n        fd: number,\n        buffer: NodeJS.ArrayBufferView,\n        offset?: number | null,\n        length?: number | null,\n        position?: number | null,\n    ): number;\n    /**\n     * Synchronously writes `string` to the file referenced by the supplied file descriptor, returning the number of bytes written.\n     * @param fd A file descriptor.\n     * @param string A string to write.\n     * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position.\n     * @param encoding The expected string encoding.\n     */\n    export function writeSync(\n        fd: number,\n        string: string,\n        position?: number | null,\n        encoding?: BufferEncoding | null,\n    ): number;\n    export type ReadPosition = number | bigint;\n    export interface ReadSyncOptions {\n        /**\n         * @default 0\n         */\n        offset?: number | undefined;\n        /**\n         * @default `length of buffer`\n         */\n        length?: number | undefined;\n        /**\n         * @default null\n         */\n        position?: ReadPosition | null | undefined;\n    }\n    export interface ReadAsyncOptions<TBuffer extends NodeJS.ArrayBufferView> extends ReadSyncOptions {\n        buffer?: TBuffer;\n    }\n    /**\n     * Read data from the file specified by `fd`.\n     *\n     * The callback is given the three arguments, `(err, bytesRead, buffer)`.\n     *\n     * If the file is not modified concurrently, the end-of-file is reached when the\n     * number of bytes read is zero.\n     *\n     * If this method is invoked as its `util.promisify()` ed version, it returns\n     * a promise for an `Object` with `bytesRead` and `buffer` properties.\n     * @since v0.0.2\n     * @param buffer The buffer that the data will be written to.\n     * @param offset The position in `buffer` to write the data to.\n     * @param length The number of bytes to read.\n     * @param position Specifies where to begin reading from in the file. If `position` is `null` or `-1 `, data will be read from the current file position, and the file position will be updated. If\n     * `position` is an integer, the file position will be unchanged.\n     */\n    export function read<TBuffer extends NodeJS.ArrayBufferView>(\n        fd: number,\n        buffer: TBuffer,\n        offset: number,\n        length: number,\n        position: ReadPosition | null,\n        callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void,\n    ): void;\n    /**\n     * Similar to the above `fs.read` function, this version takes an optional `options` object.\n     * If not otherwise specified in an `options` object,\n     * `buffer` defaults to `Buffer.alloc(16384)`,\n     * `offset` defaults to `0`,\n     * `length` defaults to `buffer.byteLength`, `- offset` as of Node 17.6.0\n     * `position` defaults to `null`\n     * @since v12.17.0, 13.11.0\n     */\n    export function read<TBuffer extends NodeJS.ArrayBufferView>(\n        fd: number,\n        options: ReadAsyncOptions<TBuffer>,\n        callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void,\n    ): void;\n    export function read<TBuffer extends NodeJS.ArrayBufferView>(\n        fd: number,\n        buffer: TBuffer,\n        options: ReadSyncOptions,\n        callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void,\n    ): void;\n    export function read<TBuffer extends NodeJS.ArrayBufferView>(\n        fd: number,\n        buffer: TBuffer,\n        callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void,\n    ): void;\n    export function read(\n        fd: number,\n        callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: NodeJS.ArrayBufferView) => void,\n    ): void;\n    export namespace read {\n        /**\n         * @param fd A file descriptor.\n         * @param buffer The buffer that the data will be written to.\n         * @param offset The offset in the buffer at which to start writing.\n         * @param length The number of bytes to read.\n         * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position.\n         */\n        function __promisify__<TBuffer extends NodeJS.ArrayBufferView>(\n            fd: number,\n            buffer: TBuffer,\n            offset: number,\n            length: number,\n            position: number | null,\n        ): Promise<{\n            bytesRead: number;\n            buffer: TBuffer;\n        }>;\n        function __promisify__<TBuffer extends NodeJS.ArrayBufferView>(\n            fd: number,\n            options: ReadAsyncOptions<TBuffer>,\n        ): Promise<{\n            bytesRead: number;\n            buffer: TBuffer;\n        }>;\n        function __promisify__(fd: number): Promise<{\n            bytesRead: number;\n            buffer: NodeJS.ArrayBufferView;\n        }>;\n    }\n    /**\n     * Returns the number of `bytesRead`.\n     *\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link read}.\n     * @since v0.1.21\n     */\n    export function readSync(\n        fd: number,\n        buffer: NodeJS.ArrayBufferView,\n        offset: number,\n        length: number,\n        position: ReadPosition | null,\n    ): number;\n    /**\n     * Similar to the above `fs.readSync` function, this version takes an optional `options` object.\n     * If no `options` object is specified, it will default with the above values.\n     */\n    export function readSync(fd: number, buffer: NodeJS.ArrayBufferView, opts?: ReadSyncOptions): number;\n    /**\n     * Asynchronously reads the entire contents of a file.\n     *\n     * ```js\n     * import { readFile } from 'fs';\n     *\n     * readFile('/etc/passwd', (err, data) => {\n     *   if (err) throw err;\n     *   console.log(data);\n     * });\n     * ```\n     *\n     * The callback is passed two arguments `(err, data)`, where `data` is the\n     * contents of the file.\n     *\n     * If no encoding is specified, then the raw buffer is returned.\n     *\n     * If `options` is a string, then it specifies the encoding:\n     *\n     * ```js\n     * import { readFile } from 'fs';\n     *\n     * readFile('/etc/passwd', 'utf8', callback);\n     * ```\n     *\n     * When the path is a directory, the behavior of `fs.readFile()` and {@link readFileSync} is platform-specific. On macOS, Linux, and Windows, an\n     * error will be returned. On FreeBSD, a representation of the directory's contents\n     * will be returned.\n     *\n     * ```js\n     * import { readFile } from 'fs';\n     *\n     * // macOS, Linux, and Windows\n     * readFile('<directory>', (err, data) => {\n     *   // => [Error: EISDIR: illegal operation on a directory, read <directory>]\n     * });\n     *\n     * //  FreeBSD\n     * readFile('<directory>', (err, data) => {\n     *   // => null, <data>\n     * });\n     * ```\n     *\n     * It is possible to abort an ongoing request using an `AbortSignal`. If a\n     * request is aborted the callback is called with an `AbortError`:\n     *\n     * ```js\n     * import { readFile } from 'fs';\n     *\n     * const controller = new AbortController();\n     * const signal = controller.signal;\n     * readFile(fileInfo[0].name, { signal }, (err, buf) => {\n     *   // ...\n     * });\n     * // When you want to abort the request\n     * controller.abort();\n     * ```\n     *\n     * The `fs.readFile()` function buffers the entire file. To minimize memory costs,\n     * when possible prefer streaming via `fs.createReadStream()`.\n     *\n     * Aborting an ongoing request does not abort individual operating\n     * system requests but rather the internal buffering `fs.readFile` performs.\n     * @since v0.1.29\n     * @param path filename or file descriptor\n     */\n    export function readFile(\n        path: PathOrFileDescriptor,\n        options:\n            | ({\n                encoding?: null | undefined;\n                flag?: string | undefined;\n            } & Abortable)\n            | undefined\n            | null,\n        callback: (err: NodeJS.ErrnoException | null, data: NonSharedBuffer) => void,\n    ): void;\n    /**\n     * Asynchronously reads the entire contents of a file.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n     * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag.\n     * If a flag is not provided, it defaults to `'r'`.\n     */\n    export function readFile(\n        path: PathOrFileDescriptor,\n        options:\n            | ({\n                encoding: BufferEncoding;\n                flag?: string | undefined;\n            } & Abortable)\n            | BufferEncoding,\n        callback: (err: NodeJS.ErrnoException | null, data: string) => void,\n    ): void;\n    /**\n     * Asynchronously reads the entire contents of a file.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n     * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag.\n     * If a flag is not provided, it defaults to `'r'`.\n     */\n    export function readFile(\n        path: PathOrFileDescriptor,\n        options:\n            | (ObjectEncodingOptions & {\n                flag?: string | undefined;\n            } & Abortable)\n            | BufferEncoding\n            | undefined\n            | null,\n        callback: (err: NodeJS.ErrnoException | null, data: string | NonSharedBuffer) => void,\n    ): void;\n    /**\n     * Asynchronously reads the entire contents of a file.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n     */\n    export function readFile(\n        path: PathOrFileDescriptor,\n        callback: (err: NodeJS.ErrnoException | null, data: NonSharedBuffer) => void,\n    ): void;\n    export namespace readFile {\n        /**\n         * Asynchronously reads the entire contents of a file.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n         * @param options An object that may contain an optional flag.\n         * If a flag is not provided, it defaults to `'r'`.\n         */\n        function __promisify__(\n            path: PathOrFileDescriptor,\n            options?: {\n                encoding?: null | undefined;\n                flag?: string | undefined;\n            } | null,\n        ): Promise<NonSharedBuffer>;\n        /**\n         * Asynchronously reads the entire contents of a file.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * URL support is _experimental_.\n         * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n         * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag.\n         * If a flag is not provided, it defaults to `'r'`.\n         */\n        function __promisify__(\n            path: PathOrFileDescriptor,\n            options:\n                | {\n                    encoding: BufferEncoding;\n                    flag?: string | undefined;\n                }\n                | BufferEncoding,\n        ): Promise<string>;\n        /**\n         * Asynchronously reads the entire contents of a file.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * URL support is _experimental_.\n         * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n         * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag.\n         * If a flag is not provided, it defaults to `'r'`.\n         */\n        function __promisify__(\n            path: PathOrFileDescriptor,\n            options?:\n                | (ObjectEncodingOptions & {\n                    flag?: string | undefined;\n                })\n                | BufferEncoding\n                | null,\n        ): Promise<string | NonSharedBuffer>;\n    }\n    /**\n     * Returns the contents of the `path`.\n     *\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link readFile}.\n     *\n     * If the `encoding` option is specified then this function returns a\n     * string. Otherwise it returns a buffer.\n     *\n     * Similar to {@link readFile}, when the path is a directory, the behavior of`fs.readFileSync()` is platform-specific.\n     *\n     * ```js\n     * import { readFileSync } from 'fs';\n     *\n     * // macOS, Linux, and Windows\n     * readFileSync('<directory>');\n     * // => [Error: EISDIR: illegal operation on a directory, read <directory>]\n     *\n     * //  FreeBSD\n     * readFileSync('<directory>'); // => <data>\n     * ```\n     * @since v0.1.8\n     * @param path filename or file descriptor\n     */\n    export function readFileSync(\n        path: PathOrFileDescriptor,\n        options?: {\n            encoding?: null | undefined;\n            flag?: string | undefined;\n        } | null,\n    ): NonSharedBuffer;\n    /**\n     * Synchronously reads the entire contents of a file.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n     * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag.\n     * If a flag is not provided, it defaults to `'r'`.\n     */\n    export function readFileSync(\n        path: PathOrFileDescriptor,\n        options:\n            | {\n                encoding: BufferEncoding;\n                flag?: string | undefined;\n            }\n            | BufferEncoding,\n    ): string;\n    /**\n     * Synchronously reads the entire contents of a file.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n     * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag.\n     * If a flag is not provided, it defaults to `'r'`.\n     */\n    export function readFileSync(\n        path: PathOrFileDescriptor,\n        options?:\n            | (ObjectEncodingOptions & {\n                flag?: string | undefined;\n            })\n            | BufferEncoding\n            | null,\n    ): string | NonSharedBuffer;\n    export type WriteFileOptions =\n        | (\n            & ObjectEncodingOptions\n            & Abortable\n            & {\n                mode?: Mode | undefined;\n                flag?: string | undefined;\n            }\n        )\n        | BufferEncoding\n        | null;\n    /**\n     * When `file` is a filename, asynchronously writes data to the file, replacing the\n     * file if it already exists. `data` can be a string or a buffer.\n     *\n     * When `file` is a file descriptor, the behavior is similar to calling`fs.write()` directly (which is recommended). See the notes below on using\n     * a file descriptor.\n     *\n     * The `encoding` option is ignored if `data` is a buffer.\n     *\n     * The `mode` option only affects the newly created file. See {@link open} for more details.\n     *\n     * ```js\n     * import { writeFile } from 'fs';\n     * import { Buffer } from 'buffer';\n     *\n     * const data = new Uint8Array(Buffer.from('Hello Node.js'));\n     * writeFile('message.txt', data, (err) => {\n     *   if (err) throw err;\n     *   console.log('The file has been saved!');\n     * });\n     * ```\n     *\n     * If `options` is a string, then it specifies the encoding:\n     *\n     * ```js\n     * import { writeFile } from 'fs';\n     *\n     * writeFile('message.txt', 'Hello Node.js', 'utf8', callback);\n     * ```\n     *\n     * It is unsafe to use `fs.writeFile()` multiple times on the same file without\n     * waiting for the callback. For this scenario, {@link createWriteStream} is\n     * recommended.\n     *\n     * Similarly to `fs.readFile` \\- `fs.writeFile` is a convenience method that\n     * performs multiple `write` calls internally to write the buffer passed to it.\n     * For performance sensitive code consider using {@link createWriteStream}.\n     *\n     * It is possible to use an `AbortSignal` to cancel an `fs.writeFile()`.\n     * Cancelation is \"best effort\", and some amount of data is likely still\n     * to be written.\n     *\n     * ```js\n     * import { writeFile } from 'fs';\n     * import { Buffer } from 'buffer';\n     *\n     * const controller = new AbortController();\n     * const { signal } = controller;\n     * const data = new Uint8Array(Buffer.from('Hello Node.js'));\n     * writeFile('message.txt', data, { signal }, (err) => {\n     *   // When a request is aborted - the callback is called with an AbortError\n     * });\n     * // When the request should be aborted\n     * controller.abort();\n     * ```\n     *\n     * Aborting an ongoing request does not abort individual operating\n     * system requests but rather the internal buffering `fs.writeFile` performs.\n     * @since v0.1.29\n     * @param file filename or file descriptor\n     */\n    export function writeFile(\n        file: PathOrFileDescriptor,\n        data: string | NodeJS.ArrayBufferView,\n        options: WriteFileOptions,\n        callback: NoParamCallback,\n    ): void;\n    /**\n     * Asynchronously writes data to a file, replacing the file if it already exists.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n     * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string.\n     */\n    export function writeFile(\n        path: PathOrFileDescriptor,\n        data: string | NodeJS.ArrayBufferView,\n        callback: NoParamCallback,\n    ): void;\n    export namespace writeFile {\n        /**\n         * Asynchronously writes data to a file, replacing the file if it already exists.\n         * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * URL support is _experimental_.\n         * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n         * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string.\n         * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag.\n         * If `encoding` is not supplied, the default of `'utf8'` is used.\n         * If `mode` is not supplied, the default of `0o666` is used.\n         * If `mode` is a string, it is parsed as an octal integer.\n         * If `flag` is not supplied, the default of `'w'` is used.\n         */\n        function __promisify__(\n            path: PathOrFileDescriptor,\n            data: string | NodeJS.ArrayBufferView,\n            options?: WriteFileOptions,\n        ): Promise<void>;\n    }\n    /**\n     * Returns `undefined`.\n     *\n     * The `mode` option only affects the newly created file. See {@link open} for more details.\n     *\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link writeFile}.\n     * @since v0.1.29\n     * @param file filename or file descriptor\n     */\n    export function writeFileSync(\n        file: PathOrFileDescriptor,\n        data: string | NodeJS.ArrayBufferView,\n        options?: WriteFileOptions,\n    ): void;\n    /**\n     * Asynchronously append data to a file, creating the file if it does not yet\n     * exist. `data` can be a string or a `Buffer`.\n     *\n     * The `mode` option only affects the newly created file. See {@link open} for more details.\n     *\n     * ```js\n     * import { appendFile } from 'fs';\n     *\n     * appendFile('message.txt', 'data to append', (err) => {\n     *   if (err) throw err;\n     *   console.log('The \"data to append\" was appended to file!');\n     * });\n     * ```\n     *\n     * If `options` is a string, then it specifies the encoding:\n     *\n     * ```js\n     * import { appendFile } from 'fs';\n     *\n     * appendFile('message.txt', 'data to append', 'utf8', callback);\n     * ```\n     *\n     * The `path` may be specified as a numeric file descriptor that has been opened\n     * for appending (using `fs.open()` or `fs.openSync()`). The file descriptor will\n     * not be closed automatically.\n     *\n     * ```js\n     * import { open, close, appendFile } from 'fs';\n     *\n     * function closeFd(fd) {\n     *   close(fd, (err) => {\n     *     if (err) throw err;\n     *   });\n     * }\n     *\n     * open('message.txt', 'a', (err, fd) => {\n     *   if (err) throw err;\n     *\n     *   try {\n     *     appendFile(fd, 'data to append', 'utf8', (err) => {\n     *       closeFd(fd);\n     *       if (err) throw err;\n     *     });\n     *   } catch (err) {\n     *     closeFd(fd);\n     *     throw err;\n     *   }\n     * });\n     * ```\n     * @since v0.6.7\n     * @param path filename or file descriptor\n     */\n    export function appendFile(\n        path: PathOrFileDescriptor,\n        data: string | Uint8Array,\n        options: WriteFileOptions,\n        callback: NoParamCallback,\n    ): void;\n    /**\n     * Asynchronously append data to a file, creating the file if it does not exist.\n     * @param file A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n     * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string.\n     */\n    export function appendFile(file: PathOrFileDescriptor, data: string | Uint8Array, callback: NoParamCallback): void;\n    export namespace appendFile {\n        /**\n         * Asynchronously append data to a file, creating the file if it does not exist.\n         * @param file A path to a file. If a URL is provided, it must use the `file:` protocol.\n         * URL support is _experimental_.\n         * If a file descriptor is provided, the underlying file will _not_ be closed automatically.\n         * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string.\n         * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag.\n         * If `encoding` is not supplied, the default of `'utf8'` is used.\n         * If `mode` is not supplied, the default of `0o666` is used.\n         * If `mode` is a string, it is parsed as an octal integer.\n         * If `flag` is not supplied, the default of `'a'` is used.\n         */\n        function __promisify__(\n            file: PathOrFileDescriptor,\n            data: string | Uint8Array,\n            options?: WriteFileOptions,\n        ): Promise<void>;\n    }\n    /**\n     * Synchronously append data to a file, creating the file if it does not yet\n     * exist. `data` can be a string or a `Buffer`.\n     *\n     * The `mode` option only affects the newly created file. See {@link open} for more details.\n     *\n     * ```js\n     * import { appendFileSync } from 'fs';\n     *\n     * try {\n     *   appendFileSync('message.txt', 'data to append');\n     *   console.log('The \"data to append\" was appended to file!');\n     * } catch (err) {\n     *   // Handle the error\n     * }\n     * ```\n     *\n     * If `options` is a string, then it specifies the encoding:\n     *\n     * ```js\n     * import { appendFileSync } from 'fs';\n     *\n     * appendFileSync('message.txt', 'data to append', 'utf8');\n     * ```\n     *\n     * The `path` may be specified as a numeric file descriptor that has been opened\n     * for appending (using `fs.open()` or `fs.openSync()`). The file descriptor will\n     * not be closed automatically.\n     *\n     * ```js\n     * import { openSync, closeSync, appendFileSync } from 'fs';\n     *\n     * let fd;\n     *\n     * try {\n     *   fd = openSync('message.txt', 'a');\n     *   appendFileSync(fd, 'data to append', 'utf8');\n     * } catch (err) {\n     *   // Handle the error\n     * } finally {\n     *   if (fd !== undefined)\n     *     closeSync(fd);\n     * }\n     * ```\n     * @since v0.6.7\n     * @param path filename or file descriptor\n     */\n    export function appendFileSync(\n        path: PathOrFileDescriptor,\n        data: string | Uint8Array,\n        options?: WriteFileOptions,\n    ): void;\n    /**\n     * Watch for changes on `filename`. The callback `listener` will be called each\n     * time the file is accessed.\n     *\n     * The `options` argument may be omitted. If provided, it should be an object. The`options` object may contain a boolean named `persistent` that indicates\n     * whether the process should continue to run as long as files are being watched.\n     * The `options` object may specify an `interval` property indicating how often the\n     * target should be polled in milliseconds.\n     *\n     * The `listener` gets two arguments the current stat object and the previous\n     * stat object:\n     *\n     * ```js\n     * import { watchFile } from 'fs';\n     *\n     * watchFile('message.text', (curr, prev) => {\n     *   console.log(`the current mtime is: ${curr.mtime}`);\n     *   console.log(`the previous mtime was: ${prev.mtime}`);\n     * });\n     * ```\n     *\n     * These stat objects are instances of `fs.Stat`. If the `bigint` option is `true`,\n     * the numeric values in these objects are specified as `BigInt`s.\n     *\n     * To be notified when the file was modified, not just accessed, it is necessary\n     * to compare `curr.mtimeMs` and `prev.mtimeMs`.\n     *\n     * When an `fs.watchFile` operation results in an `ENOENT` error, it\n     * will invoke the listener once, with all the fields zeroed (or, for dates, the\n     * Unix Epoch). If the file is created later on, the listener will be called\n     * again, with the latest stat objects. This is a change in functionality since\n     * v0.10.\n     *\n     * Using {@link watch} is more efficient than `fs.watchFile` and `fs.unwatchFile`. `fs.watch` should be used instead of `fs.watchFile` and `fs.unwatchFile` when possible.\n     *\n     * When a file being watched by `fs.watchFile()` disappears and reappears,\n     * then the contents of `previous` in the second callback event (the file's\n     * reappearance) will be the same as the contents of `previous` in the first\n     * callback event (its disappearance).\n     *\n     * This happens when:\n     *\n     * * the file is deleted, followed by a restore\n     * * the file is renamed and then renamed a second time back to its original name\n     * @since v0.1.31\n     */\n    export interface WatchFileOptions {\n        bigint?: boolean | undefined;\n        persistent?: boolean | undefined;\n        interval?: number | undefined;\n    }\n    /**\n     * Watch for changes on `filename`. The callback `listener` will be called each\n     * time the file is accessed.\n     *\n     * The `options` argument may be omitted. If provided, it should be an object. The`options` object may contain a boolean named `persistent` that indicates\n     * whether the process should continue to run as long as files are being watched.\n     * The `options` object may specify an `interval` property indicating how often the\n     * target should be polled in milliseconds.\n     *\n     * The `listener` gets two arguments the current stat object and the previous\n     * stat object:\n     *\n     * ```js\n     * import { watchFile } from 'fs';\n     *\n     * watchFile('message.text', (curr, prev) => {\n     *   console.log(`the current mtime is: ${curr.mtime}`);\n     *   console.log(`the previous mtime was: ${prev.mtime}`);\n     * });\n     * ```\n     *\n     * These stat objects are instances of `fs.Stat`. If the `bigint` option is `true`,\n     * the numeric values in these objects are specified as `BigInt`s.\n     *\n     * To be notified when the file was modified, not just accessed, it is necessary\n     * to compare `curr.mtimeMs` and `prev.mtimeMs`.\n     *\n     * When an `fs.watchFile` operation results in an `ENOENT` error, it\n     * will invoke the listener once, with all the fields zeroed (or, for dates, the\n     * Unix Epoch). If the file is created later on, the listener will be called\n     * again, with the latest stat objects. This is a change in functionality since\n     * v0.10.\n     *\n     * Using {@link watch} is more efficient than `fs.watchFile` and `fs.unwatchFile`. `fs.watch` should be used instead of `fs.watchFile` and `fs.unwatchFile` when possible.\n     *\n     * When a file being watched by `fs.watchFile()` disappears and reappears,\n     * then the contents of `previous` in the second callback event (the file's\n     * reappearance) will be the same as the contents of `previous` in the first\n     * callback event (its disappearance).\n     *\n     * This happens when:\n     *\n     * * the file is deleted, followed by a restore\n     * * the file is renamed and then renamed a second time back to its original name\n     * @since v0.1.31\n     */\n    export function watchFile(\n        filename: PathLike,\n        options:\n            | (WatchFileOptions & {\n                bigint?: false | undefined;\n            })\n            | undefined,\n        listener: StatsListener,\n    ): StatWatcher;\n    export function watchFile(\n        filename: PathLike,\n        options:\n            | (WatchFileOptions & {\n                bigint: true;\n            })\n            | undefined,\n        listener: BigIntStatsListener,\n    ): StatWatcher;\n    /**\n     * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed.\n     * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.\n     * @param listener The callback listener will be called each time the file is accessed.\n     */\n    export function watchFile(filename: PathLike, listener: StatsListener): StatWatcher;\n    /**\n     * Stop watching for changes on `filename`. If `listener` is specified, only that\n     * particular listener is removed. Otherwise, _all_ listeners are removed,\n     * effectively stopping watching of `filename`.\n     *\n     * Calling `fs.unwatchFile()` with a filename that is not being watched is a\n     * no-op, not an error.\n     *\n     * Using {@link watch} is more efficient than `fs.watchFile()` and `fs.unwatchFile()`. `fs.watch()` should be used instead of `fs.watchFile()` and `fs.unwatchFile()` when possible.\n     * @since v0.1.31\n     * @param listener Optional, a listener previously attached using `fs.watchFile()`\n     */\n    export function unwatchFile(filename: PathLike, listener?: StatsListener): void;\n    export function unwatchFile(filename: PathLike, listener?: BigIntStatsListener): void;\n    export interface WatchOptions extends Abortable {\n        encoding?: BufferEncoding | \"buffer\" | undefined;\n        persistent?: boolean | undefined;\n        recursive?: boolean | undefined;\n    }\n    export type WatchEventType = \"rename\" | \"change\";\n    export type WatchListener<T> = (event: WatchEventType, filename: T | null) => void;\n    export type StatsListener = (curr: Stats, prev: Stats) => void;\n    export type BigIntStatsListener = (curr: BigIntStats, prev: BigIntStats) => void;\n    /**\n     * Watch for changes on `filename`, where `filename` is either a file or a\n     * directory.\n     *\n     * The second argument is optional. If `options` is provided as a string, it\n     * specifies the `encoding`. Otherwise `options` should be passed as an object.\n     *\n     * The listener callback gets two arguments `(eventType, filename)`. `eventType`is either `'rename'` or `'change'`, and `filename` is the name of the file\n     * which triggered the event.\n     *\n     * On most platforms, `'rename'` is emitted whenever a filename appears or\n     * disappears in the directory.\n     *\n     * The listener callback is attached to the `'change'` event fired by `fs.FSWatcher`, but it is not the same thing as the `'change'` value of`eventType`.\n     *\n     * If a `signal` is passed, aborting the corresponding AbortController will close\n     * the returned `fs.FSWatcher`.\n     * @since v0.5.10\n     * @param listener\n     */\n    export function watch(\n        filename: PathLike,\n        options:\n            | (WatchOptions & {\n                encoding: \"buffer\";\n            })\n            | \"buffer\",\n        listener?: WatchListener<Buffer>,\n    ): FSWatcher;\n    /**\n     * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.\n     * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.\n     * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.\n     * If `encoding` is not supplied, the default of `'utf8'` is used.\n     * If `persistent` is not supplied, the default of `true` is used.\n     * If `recursive` is not supplied, the default of `false` is used.\n     */\n    export function watch(\n        filename: PathLike,\n        options?: WatchOptions | BufferEncoding | null,\n        listener?: WatchListener<string>,\n    ): FSWatcher;\n    /**\n     * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.\n     * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.\n     * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.\n     * If `encoding` is not supplied, the default of `'utf8'` is used.\n     * If `persistent` is not supplied, the default of `true` is used.\n     * If `recursive` is not supplied, the default of `false` is used.\n     */\n    export function watch(\n        filename: PathLike,\n        options: WatchOptions | string,\n        listener?: WatchListener<string | Buffer>,\n    ): FSWatcher;\n    /**\n     * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.\n     * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.\n     */\n    export function watch(filename: PathLike, listener?: WatchListener<string>): FSWatcher;\n    /**\n     * Test whether or not the given path exists by checking with the file system.\n     * Then call the `callback` argument with either true or false:\n     *\n     * ```js\n     * import { exists } from 'fs';\n     *\n     * exists('/etc/passwd', (e) => {\n     *   console.log(e ? 'it exists' : 'no passwd!');\n     * });\n     * ```\n     *\n     * **The parameters for this callback are not consistent with other Node.js**\n     * **callbacks.** Normally, the first parameter to a Node.js callback is an `err`parameter, optionally followed by other parameters. The `fs.exists()` callback\n     * has only one boolean parameter. This is one reason `fs.access()` is recommended\n     * instead of `fs.exists()`.\n     *\n     * Using `fs.exists()` to check for the existence of a file before calling`fs.open()`, `fs.readFile()` or `fs.writeFile()` is not recommended. Doing\n     * so introduces a race condition, since other processes may change the file's\n     * state between the two calls. Instead, user code should open/read/write the\n     * file directly and handle the error raised if the file does not exist.\n     *\n     * **write (NOT RECOMMENDED)**\n     *\n     * ```js\n     * import { exists, open, close } from 'fs';\n     *\n     * exists('myfile', (e) => {\n     *   if (e) {\n     *     console.error('myfile already exists');\n     *   } else {\n     *     open('myfile', 'wx', (err, fd) => {\n     *       if (err) throw err;\n     *\n     *       try {\n     *         writeMyData(fd);\n     *       } finally {\n     *         close(fd, (err) => {\n     *           if (err) throw err;\n     *         });\n     *       }\n     *     });\n     *   }\n     * });\n     * ```\n     *\n     * **write (RECOMMENDED)**\n     *\n     * ```js\n     * import { open, close } from 'fs';\n     * open('myfile', 'wx', (err, fd) => {\n     *   if (err) {\n     *     if (err.code === 'EEXIST') {\n     *       console.error('myfile already exists');\n     *       return;\n     *     }\n     *\n     *     throw err;\n     *   }\n     *\n     *   try {\n     *     writeMyData(fd);\n     *   } finally {\n     *     close(fd, (err) => {\n     *       if (err) throw err;\n     *     });\n     *   }\n     * });\n     * ```\n     *\n     * **read (NOT RECOMMENDED)**\n     *\n     * ```js\n     * import { open, close, exists } from 'fs';\n     *\n     * exists('myfile', (e) => {\n     *   if (e) {\n     *     open('myfile', 'r', (err, fd) => {\n     *       if (err) throw err;\n     *\n     *       try {\n     *         readMyData(fd);\n     *       } finally {\n     *         close(fd, (err) => {\n     *           if (err) throw err;\n     *         });\n     *       }\n     *     });\n     *   } else {\n     *     console.error('myfile does not exist');\n     *   }\n     * });\n     * ```\n     *\n     * **read (RECOMMENDED)**\n     *\n     * ```js\n     * import { open, close } from 'fs';\n     *\n     * open('myfile', 'r', (err, fd) => {\n     *   if (err) {\n     *     if (err.code === 'ENOENT') {\n     *       console.error('myfile does not exist');\n     *       return;\n     *     }\n     *\n     *     throw err;\n     *   }\n     *\n     *   try {\n     *     readMyData(fd);\n     *   } finally {\n     *     close(fd, (err) => {\n     *       if (err) throw err;\n     *     });\n     *   }\n     * });\n     * ```\n     *\n     * The \"not recommended\" examples above check for existence and then use the\n     * file; the \"recommended\" examples are better because they use the file directly\n     * and handle the error, if any.\n     *\n     * In general, check for the existence of a file only if the file won’t be\n     * used directly, for example when its existence is a signal from another\n     * process.\n     * @since v0.0.2\n     * @deprecated Since v1.0.0 - Use {@link stat} or {@link access} instead.\n     */\n    export function exists(path: PathLike, callback: (exists: boolean) => void): void;\n    /** @deprecated */\n    export namespace exists {\n        /**\n         * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol.\n         * URL support is _experimental_.\n         */\n        function __promisify__(path: PathLike): Promise<boolean>;\n    }\n    /**\n     * Returns `true` if the path exists, `false` otherwise.\n     *\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link exists}.\n     *\n     * `fs.exists()` is deprecated, but `fs.existsSync()` is not. The `callback`parameter to `fs.exists()` accepts parameters that are inconsistent with other\n     * Node.js callbacks. `fs.existsSync()` does not use a callback.\n     *\n     * ```js\n     * import { existsSync } from 'fs';\n     *\n     * if (existsSync('/etc/passwd'))\n     *   console.log('The path exists.');\n     * ```\n     * @since v0.1.21\n     */\n    export function existsSync(path: PathLike): boolean;\n    export namespace constants {\n        // File Access Constants\n        /** Constant for fs.access(). File is visible to the calling process. */\n        const F_OK: number;\n        /** Constant for fs.access(). File can be read by the calling process. */\n        const R_OK: number;\n        /** Constant for fs.access(). File can be written by the calling process. */\n        const W_OK: number;\n        /** Constant for fs.access(). File can be executed by the calling process. */\n        const X_OK: number;\n        // File Copy Constants\n        /** Constant for fs.copyFile. Flag indicating the destination file should not be overwritten if it already exists. */\n        const COPYFILE_EXCL: number;\n        /**\n         * Constant for fs.copyFile. copy operation will attempt to create a copy-on-write reflink.\n         * If the underlying platform does not support copy-on-write, then a fallback copy mechanism is used.\n         */\n        const COPYFILE_FICLONE: number;\n        /**\n         * Constant for fs.copyFile. Copy operation will attempt to create a copy-on-write reflink.\n         * If the underlying platform does not support copy-on-write, then the operation will fail with an error.\n         */\n        const COPYFILE_FICLONE_FORCE: number;\n        // File Open Constants\n        /** Constant for fs.open(). Flag indicating to open a file for read-only access. */\n        const O_RDONLY: number;\n        /** Constant for fs.open(). Flag indicating to open a file for write-only access. */\n        const O_WRONLY: number;\n        /** Constant for fs.open(). Flag indicating to open a file for read-write access. */\n        const O_RDWR: number;\n        /** Constant for fs.open(). Flag indicating to create the file if it does not already exist. */\n        const O_CREAT: number;\n        /** Constant for fs.open(). Flag indicating that opening a file should fail if the O_CREAT flag is set and the file already exists. */\n        const O_EXCL: number;\n        /**\n         * Constant for fs.open(). Flag indicating that if path identifies a terminal device,\n         * opening the path shall not cause that terminal to become the controlling terminal for the process\n         * (if the process does not already have one).\n         */\n        const O_NOCTTY: number;\n        /** Constant for fs.open(). Flag indicating that if the file exists and is a regular file, and the file is opened successfully for write access, its length shall be truncated to zero. */\n        const O_TRUNC: number;\n        /** Constant for fs.open(). Flag indicating that data will be appended to the end of the file. */\n        const O_APPEND: number;\n        /** Constant for fs.open(). Flag indicating that the open should fail if the path is not a directory. */\n        const O_DIRECTORY: number;\n        /**\n         * constant for fs.open().\n         * Flag indicating reading accesses to the file system will no longer result in\n         * an update to the atime information associated with the file.\n         * This flag is available on Linux operating systems only.\n         */\n        const O_NOATIME: number;\n        /** Constant for fs.open(). Flag indicating that the open should fail if the path is a symbolic link. */\n        const O_NOFOLLOW: number;\n        /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O. */\n        const O_SYNC: number;\n        /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O with write operations waiting for data integrity. */\n        const O_DSYNC: number;\n        /** Constant for fs.open(). Flag indicating to open the symbolic link itself rather than the resource it is pointing to. */\n        const O_SYMLINK: number;\n        /** Constant for fs.open(). When set, an attempt will be made to minimize caching effects of file I/O. */\n        const O_DIRECT: number;\n        /** Constant for fs.open(). Flag indicating to open the file in nonblocking mode when possible. */\n        const O_NONBLOCK: number;\n        // File Type Constants\n        /** Constant for fs.Stats mode property for determining a file's type. Bit mask used to extract the file type code. */\n        const S_IFMT: number;\n        /** Constant for fs.Stats mode property for determining a file's type. File type constant for a regular file. */\n        const S_IFREG: number;\n        /** Constant for fs.Stats mode property for determining a file's type. File type constant for a directory. */\n        const S_IFDIR: number;\n        /** Constant for fs.Stats mode property for determining a file's type. File type constant for a character-oriented device file. */\n        const S_IFCHR: number;\n        /** Constant for fs.Stats mode property for determining a file's type. File type constant for a block-oriented device file. */\n        const S_IFBLK: number;\n        /** Constant for fs.Stats mode property for determining a file's type. File type constant for a FIFO/pipe. */\n        const S_IFIFO: number;\n        /** Constant for fs.Stats mode property for determining a file's type. File type constant for a symbolic link. */\n        const S_IFLNK: number;\n        /** Constant for fs.Stats mode property for determining a file's type. File type constant for a socket. */\n        const S_IFSOCK: number;\n        // File Mode Constants\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by owner. */\n        const S_IRWXU: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by owner. */\n        const S_IRUSR: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by owner. */\n        const S_IWUSR: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by owner. */\n        const S_IXUSR: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by group. */\n        const S_IRWXG: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by group. */\n        const S_IRGRP: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by group. */\n        const S_IWGRP: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by group. */\n        const S_IXGRP: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by others. */\n        const S_IRWXO: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by others. */\n        const S_IROTH: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by others. */\n        const S_IWOTH: number;\n        /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by others. */\n        const S_IXOTH: number;\n        /**\n         * When set, a memory file mapping is used to access the file. This flag\n         * is available on Windows operating systems only. On other operating systems,\n         * this flag is ignored.\n         */\n        const UV_FS_O_FILEMAP: number;\n    }\n    /**\n     * Tests a user's permissions for the file or directory specified by `path`.\n     * The `mode` argument is an optional integer that specifies the accessibility\n     * checks to be performed. `mode` should be either the value `fs.constants.F_OK` or a mask consisting of the bitwise OR of any of `fs.constants.R_OK`, `fs.constants.W_OK`, and `fs.constants.X_OK`\n     * (e.g.`fs.constants.W_OK | fs.constants.R_OK`). Check `File access constants` for\n     * possible values of `mode`.\n     *\n     * The final argument, `callback`, is a callback function that is invoked with\n     * a possible error argument. If any of the accessibility checks fail, the error\n     * argument will be an `Error` object. The following examples check if`package.json` exists, and if it is readable or writable.\n     *\n     * ```js\n     * import { access, constants } from 'fs';\n     *\n     * const file = 'package.json';\n     *\n     * // Check if the file exists in the current directory.\n     * access(file, constants.F_OK, (err) => {\n     *   console.log(`${file} ${err ? 'does not exist' : 'exists'}`);\n     * });\n     *\n     * // Check if the file is readable.\n     * access(file, constants.R_OK, (err) => {\n     *   console.log(`${file} ${err ? 'is not readable' : 'is readable'}`);\n     * });\n     *\n     * // Check if the file is writable.\n     * access(file, constants.W_OK, (err) => {\n     *   console.log(`${file} ${err ? 'is not writable' : 'is writable'}`);\n     * });\n     *\n     * // Check if the file is readable and writable.\n     * access(file, constants.R_OK | constants.W_OK, (err) => {\n     *   console.log(`${file} ${err ? 'is not' : 'is'} readable and writable`);\n     * });\n     * ```\n     *\n     * Do not use `fs.access()` to check for the accessibility of a file before calling`fs.open()`, `fs.readFile()` or `fs.writeFile()`. Doing\n     * so introduces a race condition, since other processes may change the file's\n     * state between the two calls. Instead, user code should open/read/write the\n     * file directly and handle the error raised if the file is not accessible.\n     *\n     * **write (NOT RECOMMENDED)**\n     *\n     * ```js\n     * import { access, open, close } from 'fs';\n     *\n     * access('myfile', (err) => {\n     *   if (!err) {\n     *     console.error('myfile already exists');\n     *     return;\n     *   }\n     *\n     *   open('myfile', 'wx', (err, fd) => {\n     *     if (err) throw err;\n     *\n     *     try {\n     *       writeMyData(fd);\n     *     } finally {\n     *       close(fd, (err) => {\n     *         if (err) throw err;\n     *       });\n     *     }\n     *   });\n     * });\n     * ```\n     *\n     * **write (RECOMMENDED)**\n     *\n     * ```js\n     * import { open, close } from 'fs';\n     *\n     * open('myfile', 'wx', (err, fd) => {\n     *   if (err) {\n     *     if (err.code === 'EEXIST') {\n     *       console.error('myfile already exists');\n     *       return;\n     *     }\n     *\n     *     throw err;\n     *   }\n     *\n     *   try {\n     *     writeMyData(fd);\n     *   } finally {\n     *     close(fd, (err) => {\n     *       if (err) throw err;\n     *     });\n     *   }\n     * });\n     * ```\n     *\n     * **read (NOT RECOMMENDED)**\n     *\n     * ```js\n     * import { access, open, close } from 'fs';\n     * access('myfile', (err) => {\n     *   if (err) {\n     *     if (err.code === 'ENOENT') {\n     *       console.error('myfile does not exist');\n     *       return;\n     *     }\n     *\n     *     throw err;\n     *   }\n     *\n     *   open('myfile', 'r', (err, fd) => {\n     *     if (err) throw err;\n     *\n     *     try {\n     *       readMyData(fd);\n     *     } finally {\n     *       close(fd, (err) => {\n     *         if (err) throw err;\n     *       });\n     *     }\n     *   });\n     * });\n     * ```\n     *\n     * **read (RECOMMENDED)**\n     *\n     * ```js\n     * import { open, close } from 'fs';\n     *\n     * open('myfile', 'r', (err, fd) => {\n     *   if (err) {\n     *     if (err.code === 'ENOENT') {\n     *       console.error('myfile does not exist');\n     *       return;\n     *     }\n     *\n     *     throw err;\n     *   }\n     *\n     *   try {\n     *     readMyData(fd);\n     *   } finally {\n     *     close(fd, (err) => {\n     *       if (err) throw err;\n     *     });\n     *   }\n     * });\n     * ```\n     *\n     * The \"not recommended\" examples above check for accessibility and then use the\n     * file; the \"recommended\" examples are better because they use the file directly\n     * and handle the error, if any.\n     *\n     * In general, check for the accessibility of a file only if the file will not be\n     * used directly, for example when its accessibility is a signal from another\n     * process.\n     *\n     * On Windows, access-control policies (ACLs) on a directory may limit access to\n     * a file or directory. The `fs.access()` function, however, does not check the\n     * ACL and therefore may report that a path is accessible even if the ACL restricts\n     * the user from reading or writing to it.\n     * @since v0.11.15\n     * @param [mode=fs.constants.F_OK]\n     */\n    export function access(path: PathLike, mode: number | undefined, callback: NoParamCallback): void;\n    /**\n     * Asynchronously tests a user's permissions for the file specified by path.\n     * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol.\n     */\n    export function access(path: PathLike, callback: NoParamCallback): void;\n    export namespace access {\n        /**\n         * Asynchronously tests a user's permissions for the file specified by path.\n         * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol.\n         * URL support is _experimental_.\n         */\n        function __promisify__(path: PathLike, mode?: number): Promise<void>;\n    }\n    /**\n     * Synchronously tests a user's permissions for the file or directory specified\n     * by `path`. The `mode` argument is an optional integer that specifies the\n     * accessibility checks to be performed. `mode` should be either the value`fs.constants.F_OK` or a mask consisting of the bitwise OR of any of`fs.constants.R_OK`, `fs.constants.W_OK`, and\n     * `fs.constants.X_OK` (e.g.`fs.constants.W_OK | fs.constants.R_OK`). Check `File access constants` for\n     * possible values of `mode`.\n     *\n     * If any of the accessibility checks fail, an `Error` will be thrown. Otherwise,\n     * the method will return `undefined`.\n     *\n     * ```js\n     * import { accessSync, constants } from 'fs';\n     *\n     * try {\n     *   accessSync('etc/passwd', constants.R_OK | constants.W_OK);\n     *   console.log('can read/write');\n     * } catch (err) {\n     *   console.error('no access!');\n     * }\n     * ```\n     * @since v0.11.15\n     * @param [mode=fs.constants.F_OK]\n     */\n    export function accessSync(path: PathLike, mode?: number): void;\n    interface StreamOptions {\n        flags?: string | undefined;\n        encoding?: BufferEncoding | undefined;\n        fd?: number | promises.FileHandle | undefined;\n        mode?: number | undefined;\n        autoClose?: boolean | undefined;\n        emitClose?: boolean | undefined;\n        start?: number | undefined;\n        highWaterMark?: number | undefined;\n    }\n    interface FSImplementation {\n        open?: (...args: any[]) => any;\n        close?: (...args: any[]) => any;\n    }\n    interface CreateReadStreamFSImplementation extends FSImplementation {\n        read: (...args: any[]) => any;\n    }\n    interface CreateWriteStreamFSImplementation extends FSImplementation {\n        write: (...args: any[]) => any;\n        writev?: (...args: any[]) => any;\n    }\n    interface ReadStreamOptions extends StreamOptions {\n        fs?: CreateReadStreamFSImplementation | null | undefined;\n        end?: number | undefined;\n    }\n    interface WriteStreamOptions extends StreamOptions {\n        fs?: CreateWriteStreamFSImplementation | null | undefined;\n    }\n    /**\n     * Unlike the 16 kb default `highWaterMark` for a `stream.Readable`, the stream\n     * returned by this method has a default `highWaterMark` of 64 kb.\n     *\n     * `options` can include `start` and `end` values to read a range of bytes from\n     * the file instead of the entire file. Both `start` and `end` are inclusive and\n     * start counting at 0, allowed values are in the\n     * \\[0, [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)\\] range. If `fd` is specified and `start` is\n     * omitted or `undefined`, `fs.createReadStream()` reads sequentially from the\n     * current file position. The `encoding` can be any one of those accepted by `Buffer`.\n     *\n     * If `fd` is specified, `ReadStream` will ignore the `path` argument and will use\n     * the specified file descriptor. This means that no `'open'` event will be\n     * emitted. `fd` should be blocking; non-blocking `fd`s should be passed to `net.Socket`.\n     *\n     * If `fd` points to a character device that only supports blocking reads\n     * (such as keyboard or sound card), read operations do not finish until data is\n     * available. This can prevent the process from exiting and the stream from\n     * closing naturally.\n     *\n     * By default, the stream will emit a `'close'` event after it has been\n     * destroyed.  Set the `emitClose` option to `false` to change this behavior.\n     *\n     * By providing the `fs` option, it is possible to override the corresponding `fs`implementations for `open`, `read`, and `close`. When providing the `fs` option,\n     * an override for `read` is required. If no `fd` is provided, an override for`open` is also required. If `autoClose` is `true`, an override for `close` is\n     * also required.\n     *\n     * ```js\n     * import { createReadStream } from 'fs';\n     *\n     * // Create a stream from some character device.\n     * const stream = createReadStream('/dev/input/event0');\n     * setTimeout(() => {\n     *   stream.close(); // This may not close the stream.\n     *   // Artificially marking end-of-stream, as if the underlying resource had\n     *   // indicated end-of-file by itself, allows the stream to close.\n     *   // This does not cancel pending read operations, and if there is such an\n     *   // operation, the process may still not be able to exit successfully\n     *   // until it finishes.\n     *   stream.push(null);\n     *   stream.read(0);\n     * }, 100);\n     * ```\n     *\n     * If `autoClose` is false, then the file descriptor won't be closed, even if\n     * there's an error. It is the application's responsibility to close it and make\n     * sure there's no file descriptor leak. If `autoClose` is set to true (default\n     * behavior), on `'error'` or `'end'` the file descriptor will be closed\n     * automatically.\n     *\n     * `mode` sets the file mode (permission and sticky bits), but only if the\n     * file was created.\n     *\n     * An example to read the last 10 bytes of a file which is 100 bytes long:\n     *\n     * ```js\n     * import { createReadStream } from 'fs';\n     *\n     * createReadStream('sample.txt', { start: 90, end: 99 });\n     * ```\n     *\n     * If `options` is a string, then it specifies the encoding.\n     * @since v0.1.31\n     */\n    export function createReadStream(path: PathLike, options?: BufferEncoding | ReadStreamOptions): ReadStream;\n    /**\n     * `options` may also include a `start` option to allow writing data at some\n     * position past the beginning of the file, allowed values are in the\n     * \\[0, [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)\\] range. Modifying a file rather than\n     * replacing it may require the `flags` option to be set to `r+` rather than the\n     * default `w`. The `encoding` can be any one of those accepted by `Buffer`.\n     *\n     * If `autoClose` is set to true (default behavior) on `'error'` or `'finish'` the file descriptor will be closed automatically. If `autoClose` is false,\n     * then the file descriptor won't be closed, even if there's an error.\n     * It is the application's responsibility to close it and make sure there's no\n     * file descriptor leak.\n     *\n     * By default, the stream will emit a `'close'` event after it has been\n     * destroyed.  Set the `emitClose` option to `false` to change this behavior.\n     *\n     * By providing the `fs` option it is possible to override the corresponding `fs`implementations for `open`, `write`, `writev` and `close`. Overriding `write()`without `writev()` can reduce\n     * performance as some optimizations (`_writev()`)\n     * will be disabled. When providing the `fs` option, overrides for at least one of`write` and `writev` are required. If no `fd` option is supplied, an override\n     * for `open` is also required. If `autoClose` is `true`, an override for `close` is also required.\n     *\n     * Like `fs.ReadStream`, if `fd` is specified, `fs.WriteStream` will ignore the`path` argument and will use the specified file descriptor. This means that no`'open'` event will be\n     * emitted. `fd` should be blocking; non-blocking `fd`s\n     * should be passed to `net.Socket`.\n     *\n     * If `options` is a string, then it specifies the encoding.\n     * @since v0.1.31\n     */\n    export function createWriteStream(path: PathLike, options?: BufferEncoding | WriteStreamOptions): WriteStream;\n    /**\n     * Forces all currently queued I/O operations associated with the file to the\n     * operating system's synchronized I/O completion state. Refer to the POSIX [`fdatasync(2)`](http://man7.org/linux/man-pages/man2/fdatasync.2.html) documentation for details. No arguments other\n     * than a possible\n     * exception are given to the completion callback.\n     * @since v0.1.96\n     */\n    export function fdatasync(fd: number, callback: NoParamCallback): void;\n    export namespace fdatasync {\n        /**\n         * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device.\n         * @param fd A file descriptor.\n         */\n        function __promisify__(fd: number): Promise<void>;\n    }\n    /**\n     * Forces all currently queued I/O operations associated with the file to the\n     * operating system's synchronized I/O completion state. Refer to the POSIX [`fdatasync(2)`](http://man7.org/linux/man-pages/man2/fdatasync.2.html) documentation for details. Returns `undefined`.\n     * @since v0.1.96\n     */\n    export function fdatasyncSync(fd: number): void;\n    /**\n     * Asynchronously copies `src` to `dest`. By default, `dest` is overwritten if it\n     * already exists. No arguments other than a possible exception are given to the\n     * callback function. Node.js makes no guarantees about the atomicity of the copy\n     * operation. If an error occurs after the destination file has been opened for\n     * writing, Node.js will attempt to remove the destination.\n     *\n     * `mode` is an optional integer that specifies the behavior\n     * of the copy operation. It is possible to create a mask consisting of the bitwise\n     * OR of two or more values (e.g.`fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE`).\n     *\n     * * `fs.constants.COPYFILE_EXCL`: The copy operation will fail if `dest` already\n     * exists.\n     * * `fs.constants.COPYFILE_FICLONE`: The copy operation will attempt to create a\n     * copy-on-write reflink. If the platform does not support copy-on-write, then a\n     * fallback copy mechanism is used.\n     * * `fs.constants.COPYFILE_FICLONE_FORCE`: The copy operation will attempt to\n     * create a copy-on-write reflink. If the platform does not support\n     * copy-on-write, then the operation will fail.\n     *\n     * ```js\n     * import { copyFile, constants } from 'fs';\n     *\n     * function callback(err) {\n     *   if (err) throw err;\n     *   console.log('source.txt was copied to destination.txt');\n     * }\n     *\n     * // destination.txt will be created or overwritten by default.\n     * copyFile('source.txt', 'destination.txt', callback);\n     *\n     * // By using COPYFILE_EXCL, the operation will fail if destination.txt exists.\n     * copyFile('source.txt', 'destination.txt', constants.COPYFILE_EXCL, callback);\n     * ```\n     * @since v8.5.0\n     * @param src source filename to copy\n     * @param dest destination filename of the copy operation\n     * @param [mode=0] modifiers for copy operation.\n     */\n    export function copyFile(src: PathLike, dest: PathLike, callback: NoParamCallback): void;\n    export function copyFile(src: PathLike, dest: PathLike, mode: number, callback: NoParamCallback): void;\n    export namespace copyFile {\n        function __promisify__(src: PathLike, dst: PathLike, mode?: number): Promise<void>;\n    }\n    /**\n     * Synchronously copies `src` to `dest`. By default, `dest` is overwritten if it\n     * already exists. Returns `undefined`. Node.js makes no guarantees about the\n     * atomicity of the copy operation. If an error occurs after the destination file\n     * has been opened for writing, Node.js will attempt to remove the destination.\n     *\n     * `mode` is an optional integer that specifies the behavior\n     * of the copy operation. It is possible to create a mask consisting of the bitwise\n     * OR of two or more values (e.g.`fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE`).\n     *\n     * * `fs.constants.COPYFILE_EXCL`: The copy operation will fail if `dest` already\n     * exists.\n     * * `fs.constants.COPYFILE_FICLONE`: The copy operation will attempt to create a\n     * copy-on-write reflink. If the platform does not support copy-on-write, then a\n     * fallback copy mechanism is used.\n     * * `fs.constants.COPYFILE_FICLONE_FORCE`: The copy operation will attempt to\n     * create a copy-on-write reflink. If the platform does not support\n     * copy-on-write, then the operation will fail.\n     *\n     * ```js\n     * import { copyFileSync, constants } from 'fs';\n     *\n     * // destination.txt will be created or overwritten by default.\n     * copyFileSync('source.txt', 'destination.txt');\n     * console.log('source.txt was copied to destination.txt');\n     *\n     * // By using COPYFILE_EXCL, the operation will fail if destination.txt exists.\n     * copyFileSync('source.txt', 'destination.txt', constants.COPYFILE_EXCL);\n     * ```\n     * @since v8.5.0\n     * @param src source filename to copy\n     * @param dest destination filename of the copy operation\n     * @param [mode=0] modifiers for copy operation.\n     */\n    export function copyFileSync(src: PathLike, dest: PathLike, mode?: number): void;\n    /**\n     * Write an array of `ArrayBufferView`s to the file specified by `fd` using`writev()`.\n     *\n     * `position` is the offset from the beginning of the file where this data\n     * should be written. If `typeof position !== 'number'`, the data will be written\n     * at the current position.\n     *\n     * The callback will be given three arguments: `err`, `bytesWritten`, and`buffers`. `bytesWritten` is how many bytes were written from `buffers`.\n     *\n     * If this method is `util.promisify()` ed, it returns a promise for an`Object` with `bytesWritten` and `buffers` properties.\n     *\n     * It is unsafe to use `fs.writev()` multiple times on the same file without\n     * waiting for the callback. For this scenario, use {@link createWriteStream}.\n     *\n     * On Linux, positional writes don't work when the file is opened in append mode.\n     * The kernel ignores the position argument and always appends the data to\n     * the end of the file.\n     * @since v12.9.0\n     */\n    export function writev(\n        fd: number,\n        buffers: readonly NodeJS.ArrayBufferView[],\n        cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void,\n    ): void;\n    export function writev(\n        fd: number,\n        buffers: readonly NodeJS.ArrayBufferView[],\n        position: number | null,\n        cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void,\n    ): void;\n    export interface WriteVResult {\n        bytesWritten: number;\n        buffers: NodeJS.ArrayBufferView[];\n    }\n    export namespace writev {\n        function __promisify__(\n            fd: number,\n            buffers: readonly NodeJS.ArrayBufferView[],\n            position?: number,\n        ): Promise<WriteVResult>;\n    }\n    /**\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link writev}.\n     * @since v12.9.0\n     * @return The number of bytes written.\n     */\n    export function writevSync(fd: number, buffers: readonly NodeJS.ArrayBufferView[], position?: number): number;\n    /**\n     * Read from a file specified by `fd` and write to an array of `ArrayBufferView`s\n     * using `readv()`.\n     *\n     * `position` is the offset from the beginning of the file from where data\n     * should be read. If `typeof position !== 'number'`, the data will be read\n     * from the current position.\n     *\n     * The callback will be given three arguments: `err`, `bytesRead`, and`buffers`. `bytesRead` is how many bytes were read from the file.\n     *\n     * If this method is invoked as its `util.promisify()` ed version, it returns\n     * a promise for an `Object` with `bytesRead` and `buffers` properties.\n     * @since v13.13.0, v12.17.0\n     */\n    export function readv(\n        fd: number,\n        buffers: readonly NodeJS.ArrayBufferView[],\n        cb: (err: NodeJS.ErrnoException | null, bytesRead: number, buffers: NodeJS.ArrayBufferView[]) => void,\n    ): void;\n    export function readv(\n        fd: number,\n        buffers: readonly NodeJS.ArrayBufferView[],\n        position: number | null,\n        cb: (err: NodeJS.ErrnoException | null, bytesRead: number, buffers: NodeJS.ArrayBufferView[]) => void,\n    ): void;\n    export interface ReadVResult {\n        bytesRead: number;\n        buffers: NodeJS.ArrayBufferView[];\n    }\n    export namespace readv {\n        function __promisify__(\n            fd: number,\n            buffers: readonly NodeJS.ArrayBufferView[],\n            position?: number,\n        ): Promise<ReadVResult>;\n    }\n    /**\n     * For detailed information, see the documentation of the asynchronous version of\n     * this API: {@link readv}.\n     * @since v13.13.0, v12.17.0\n     * @return The number of bytes read.\n     */\n    export function readvSync(fd: number, buffers: readonly NodeJS.ArrayBufferView[], position?: number): number;\n    export interface OpenDirOptions {\n        encoding?: BufferEncoding | undefined;\n        /**\n         * Number of directory entries that are buffered\n         * internally when reading from the directory. Higher values lead to better\n         * performance but higher memory usage.\n         * @default 32\n         */\n        bufferSize?: number | undefined;\n    }\n    /**\n     * Synchronously open a directory. See [`opendir(3)`](http://man7.org/linux/man-pages/man3/opendir.3.html).\n     *\n     * Creates an `fs.Dir`, which contains all further functions for reading from\n     * and cleaning up the directory.\n     *\n     * The `encoding` option sets the encoding for the `path` while opening the\n     * directory and subsequent read operations.\n     * @since v12.12.0\n     */\n    export function opendirSync(path: PathLike, options?: OpenDirOptions): Dir;\n    /**\n     * Asynchronously open a directory. See the POSIX [`opendir(3)`](http://man7.org/linux/man-pages/man3/opendir.3.html) documentation for\n     * more details.\n     *\n     * Creates an `fs.Dir`, which contains all further functions for reading from\n     * and cleaning up the directory.\n     *\n     * The `encoding` option sets the encoding for the `path` while opening the\n     * directory and subsequent read operations.\n     * @since v12.12.0\n     */\n    export function opendir(path: PathLike, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void;\n    export function opendir(\n        path: PathLike,\n        options: OpenDirOptions,\n        cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void,\n    ): void;\n    export namespace opendir {\n        function __promisify__(path: PathLike, options?: OpenDirOptions): Promise<Dir>;\n    }\n    export interface BigIntStats extends StatsBase<bigint> {\n        atimeNs: bigint;\n        mtimeNs: bigint;\n        ctimeNs: bigint;\n        birthtimeNs: bigint;\n    }\n    export interface BigIntOptions {\n        bigint: true;\n    }\n    export interface StatOptions {\n        bigint?: boolean | undefined;\n    }\n    export interface StatSyncOptions extends StatOptions {\n        throwIfNoEntry?: boolean | undefined;\n    }\n    interface CopyOptionsBase {\n        /**\n         * Dereference symlinks\n         * @default false\n         */\n        dereference?: boolean;\n        /**\n         * When `force` is `false`, and the destination\n         * exists, throw an error.\n         * @default false\n         */\n        errorOnExist?: boolean;\n        /**\n         * Overwrite existing file or directory. _The copy\n         * operation will ignore errors if you set this to false and the destination\n         * exists. Use the `errorOnExist` option to change this behavior.\n         * @default true\n         */\n        force?: boolean;\n        /**\n         * Modifiers for copy operation. See `mode` flag of {@link copyFileSync()}\n         */\n        mode?: number;\n        /**\n         * When `true` timestamps from `src` will\n         * be preserved.\n         * @default false\n         */\n        preserveTimestamps?: boolean;\n        /**\n         * Copy directories recursively.\n         * @default false\n         */\n        recursive?: boolean;\n        /**\n         * When true, path resolution for symlinks will be skipped\n         * @default false\n         */\n        verbatimSymlinks?: boolean;\n    }\n    export interface CopyOptions extends CopyOptionsBase {\n        /**\n         * Function to filter copied files/directories. Return\n         * `true` to copy the item, `false` to ignore it.\n         */\n        filter?(source: string, destination: string): boolean | Promise<boolean>;\n    }\n    export interface CopySyncOptions extends CopyOptionsBase {\n        /**\n         * Function to filter copied files/directories. Return\n         * `true` to copy the item, `false` to ignore it.\n         */\n        filter?(source: string, destination: string): boolean;\n    }\n    /**\n     * Asynchronously copies the entire directory structure from `src` to `dest`,\n     * including subdirectories and files.\n     *\n     * When copying a directory to another directory, globs are not supported and\n     * behavior is similar to `cp dir1/ dir2/`.\n     * @since v16.7.0\n     * @experimental\n     * @param src source path to copy.\n     * @param dest destination path to copy to.\n     */\n    export function cp(\n        source: string | URL,\n        destination: string | URL,\n        callback: (err: NodeJS.ErrnoException | null) => void,\n    ): void;\n    export function cp(\n        source: string | URL,\n        destination: string | URL,\n        opts: CopyOptions,\n        callback: (err: NodeJS.ErrnoException | null) => void,\n    ): void;\n    /**\n     * Synchronously copies the entire directory structure from `src` to `dest`,\n     * including subdirectories and files.\n     *\n     * When copying a directory to another directory, globs are not supported and\n     * behavior is similar to `cp dir1/ dir2/`.\n     * @since v16.7.0\n     * @experimental\n     * @param src source path to copy.\n     * @param dest destination path to copy to.\n     */\n    export function cpSync(source: string | URL, destination: string | URL, opts?: CopySyncOptions): void;\n}\ndeclare module \"node:fs\" {\n    export * from \"fs\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/fs/promises.d.ts",
      "content": "/**\n * The `fs/promises` API provides asynchronous file system methods that return\n * promises.\n *\n * The promise APIs use the underlying Node.js threadpool to perform file\n * system operations off the event loop thread. These operations are not\n * synchronized or threadsafe. Care must be taken when performing multiple\n * concurrent modifications on the same file or data corruption may occur.\n * @since v10.0.0\n */\ndeclare module \"fs/promises\" {\n    import { Abortable } from \"node:events\";\n    import { Stream } from \"node:stream\";\n    import { ReadableStream } from \"node:stream/web\";\n    import {\n        BigIntStats,\n        BigIntStatsFs,\n        BufferEncodingOption,\n        constants as fsConstants,\n        CopyOptions,\n        Dir,\n        Dirent,\n        MakeDirectoryOptions,\n        Mode,\n        ObjectEncodingOptions,\n        OpenDirOptions,\n        OpenMode,\n        PathLike,\n        ReadStream,\n        ReadVResult,\n        RmDirOptions,\n        RmOptions,\n        StatFsOptions,\n        StatOptions,\n        Stats,\n        StatsFs,\n        TimeLike,\n        WatchEventType,\n        WatchOptions,\n        WriteStream,\n        WriteVResult,\n    } from \"node:fs\";\n    import { Interface as ReadlineInterface } from \"node:readline\";\n\n    interface FileChangeInfo<T extends string | Buffer> {\n        eventType: WatchEventType;\n        filename: T | null;\n    }\n    interface FlagAndOpenMode {\n        mode?: Mode | undefined;\n        flag?: OpenMode | undefined;\n    }\n    interface FileReadResult<T extends NodeJS.ArrayBufferView> {\n        bytesRead: number;\n        buffer: T;\n    }\n    interface FileReadOptions<T extends NodeJS.ArrayBufferView = Buffer> {\n        /**\n         * @default `Buffer.alloc(0xffff)`\n         */\n        buffer?: T;\n        /**\n         * @default 0\n         */\n        offset?: number | null;\n        /**\n         * @default `buffer.byteLength`\n         */\n        length?: number | null;\n        position?: number | null;\n    }\n    interface CreateReadStreamOptions {\n        encoding?: BufferEncoding | null | undefined;\n        autoClose?: boolean | undefined;\n        emitClose?: boolean | undefined;\n        start?: number | undefined;\n        end?: number | undefined;\n        highWaterMark?: number | undefined;\n    }\n    interface CreateWriteStreamOptions {\n        encoding?: BufferEncoding | null | undefined;\n        autoClose?: boolean | undefined;\n        emitClose?: boolean | undefined;\n        start?: number | undefined;\n        highWaterMark?: number | undefined;\n    }\n    interface ReadableWebStreamOptions {\n        /**\n         * Whether to open a normal or a `'bytes'` stream.\n         * @since v18.17.0\n         */\n        type?: \"bytes\" | undefined;\n    }\n    // TODO: Add `EventEmitter` close\n    interface FileHandle {\n        /**\n         * The numeric file descriptor managed by the {FileHandle} object.\n         * @since v10.0.0\n         */\n        readonly fd: number;\n        /**\n         * Alias of `filehandle.writeFile()`.\n         *\n         * When operating on file handles, the mode cannot be changed from what it was set\n         * to with `fsPromises.open()`. Therefore, this is equivalent to `filehandle.writeFile()`.\n         * @since v10.0.0\n         * @return Fulfills with `undefined` upon success.\n         */\n        appendFile(\n            data: string | Uint8Array,\n            options?: (ObjectEncodingOptions & Abortable) | BufferEncoding | null,\n        ): Promise<void>;\n        /**\n         * Changes the ownership of the file. A wrapper for [`chown(2)`](http://man7.org/linux/man-pages/man2/chown.2.html).\n         * @since v10.0.0\n         * @param uid The file's new owner's user id.\n         * @param gid The file's new group's group id.\n         * @return Fulfills with `undefined` upon success.\n         */\n        chown(uid: number, gid: number): Promise<void>;\n        /**\n         * Modifies the permissions on the file. See [`chmod(2)`](http://man7.org/linux/man-pages/man2/chmod.2.html).\n         * @since v10.0.0\n         * @param mode the file mode bit mask.\n         * @return Fulfills with `undefined` upon success.\n         */\n        chmod(mode: Mode): Promise<void>;\n        /**\n         * Unlike the 16 kb default `highWaterMark` for a `stream.Readable`, the stream\n         * returned by this method has a default `highWaterMark` of 64 kb.\n         *\n         * `options` can include `start` and `end` values to read a range of bytes from\n         * the file instead of the entire file. Both `start` and `end` are inclusive and\n         * start counting at 0, allowed values are in the\n         * \\[0, [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)\\] range. If `start` is\n         * omitted or `undefined`, `filehandle.createReadStream()` reads sequentially from\n         * the current file position. The `encoding` can be any one of those accepted by `Buffer`.\n         *\n         * If the `FileHandle` points to a character device that only supports blocking\n         * reads (such as keyboard or sound card), read operations do not finish until data\n         * is available. This can prevent the process from exiting and the stream from\n         * closing naturally.\n         *\n         * By default, the stream will emit a `'close'` event after it has been\n         * destroyed.  Set the `emitClose` option to `false` to change this behavior.\n         *\n         * ```js\n         * import { open } from 'fs/promises';\n         *\n         * const fd = await open('/dev/input/event0');\n         * // Create a stream from some character device.\n         * const stream = fd.createReadStream();\n         * setTimeout(() => {\n         *   stream.close(); // This may not close the stream.\n         *   // Artificially marking end-of-stream, as if the underlying resource had\n         *   // indicated end-of-file by itself, allows the stream to close.\n         *   // This does not cancel pending read operations, and if there is such an\n         *   // operation, the process may still not be able to exit successfully\n         *   // until it finishes.\n         *   stream.push(null);\n         *   stream.read(0);\n         * }, 100);\n         * ```\n         *\n         * If `autoClose` is false, then the file descriptor won't be closed, even if\n         * there's an error. It is the application's responsibility to close it and make\n         * sure there's no file descriptor leak. If `autoClose` is set to true (default\n         * behavior), on `'error'` or `'end'` the file descriptor will be closed\n         * automatically.\n         *\n         * An example to read the last 10 bytes of a file which is 100 bytes long:\n         *\n         * ```js\n         * import { open } from 'fs/promises';\n         *\n         * const fd = await open('sample.txt');\n         * fd.createReadStream({ start: 90, end: 99 });\n         * ```\n         * @since v16.11.0\n         */\n        createReadStream(options?: CreateReadStreamOptions): ReadStream;\n        /**\n         * `options` may also include a `start` option to allow writing data at some\n         * position past the beginning of the file, allowed values are in the\n         * \\[0, [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)\\] range. Modifying a file rather than\n         * replacing it may require the `flags` `open` option to be set to `r+` rather than\n         * the default `r`. The `encoding` can be any one of those accepted by `Buffer`.\n         *\n         * If `autoClose` is set to true (default behavior) on `'error'` or `'finish'`the file descriptor will be closed automatically. If `autoClose` is false,\n         * then the file descriptor won't be closed, even if there's an error.\n         * It is the application's responsibility to close it and make sure there's no\n         * file descriptor leak.\n         *\n         * By default, the stream will emit a `'close'` event after it has been\n         * destroyed.  Set the `emitClose` option to `false` to change this behavior.\n         * @since v16.11.0\n         */\n        createWriteStream(options?: CreateWriteStreamOptions): WriteStream;\n        /**\n         * Forces all currently queued I/O operations associated with the file to the\n         * operating system's synchronized I/O completion state. Refer to the POSIX [`fdatasync(2)`](http://man7.org/linux/man-pages/man2/fdatasync.2.html) documentation for details.\n         *\n         * Unlike `filehandle.sync` this method does not flush modified metadata.\n         * @since v10.0.0\n         * @return Fulfills with `undefined` upon success.\n         */\n        datasync(): Promise<void>;\n        /**\n         * Request that all data for the open file descriptor is flushed to the storage\n         * device. The specific implementation is operating system and device specific.\n         * Refer to the POSIX [`fsync(2)`](http://man7.org/linux/man-pages/man2/fsync.2.html) documentation for more detail.\n         * @since v10.0.0\n         * @return Fufills with `undefined` upon success.\n         */\n        sync(): Promise<void>;\n        /**\n         * Reads data from the file and stores that in the given buffer.\n         *\n         * If the file is not modified concurrently, the end-of-file is reached when the\n         * number of bytes read is zero.\n         * @since v10.0.0\n         * @param buffer A buffer that will be filled with the file data read.\n         * @param offset The location in the buffer at which to start filling.\n         * @param length The number of bytes to read.\n         * @param position The location where to begin reading data from the file. If `null`, data will be read from the current file position, and the position will be updated. If `position` is an\n         * integer, the current file position will remain unchanged.\n         * @return Fulfills upon success with an object with two properties:\n         */\n        read<T extends NodeJS.ArrayBufferView>(\n            buffer: T,\n            offset?: number | null,\n            length?: number | null,\n            position?: number | null,\n        ): Promise<FileReadResult<T>>;\n        read<T extends NodeJS.ArrayBufferView = Buffer>(options?: FileReadOptions<T>): Promise<FileReadResult<T>>;\n        /**\n         * Returns a `ReadableStream` that may be used to read the files data.\n         *\n         * An error will be thrown if this method is called more than once or is called after the `FileHandle` is closed\n         * or closing.\n         *\n         * ```js\n         * import { open } from 'node:fs/promises';\n         *\n         * const file = await open('./some/file/to/read');\n         *\n         * for await (const chunk of file.readableWebStream())\n         *   console.log(chunk);\n         *\n         * await file.close();\n         * ```\n         *\n         * While the `ReadableStream` will read the file to completion, it will not close the `FileHandle` automatically. User code must still call the `fileHandle.close()` method.\n         *\n         * @since v17.0.0\n         * @experimental\n         */\n        readableWebStream(options?: ReadableWebStreamOptions): ReadableStream;\n        /**\n         * Asynchronously reads the entire contents of a file.\n         *\n         * If `options` is a string, then it specifies the `encoding`.\n         *\n         * The `FileHandle` has to support reading.\n         *\n         * If one or more `filehandle.read()` calls are made on a file handle and then a`filehandle.readFile()` call is made, the data will be read from the current\n         * position till the end of the file. It doesn't always read from the beginning\n         * of the file.\n         * @since v10.0.0\n         * @return Fulfills upon a successful read with the contents of the file. If no encoding is specified (using `options.encoding`), the data is returned as a {Buffer} object. Otherwise, the\n         * data will be a string.\n         */\n        readFile(\n            options?:\n                | ({ encoding?: null | undefined } & Abortable)\n                | null,\n        ): Promise<Buffer>;\n        /**\n         * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically.\n         * The `FileHandle` must have been opened for reading.\n         */\n        readFile(\n            options:\n                | ({ encoding: BufferEncoding } & Abortable)\n                | BufferEncoding,\n        ): Promise<string>;\n        /**\n         * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically.\n         * The `FileHandle` must have been opened for reading.\n         */\n        readFile(\n            options?:\n                | (ObjectEncodingOptions & Abortable)\n                | BufferEncoding\n                | null,\n        ): Promise<string | Buffer>;\n        /**\n         * Convenience method to create a `readline` interface and stream over the file. For example:\n         *\n         * ```js\n         * import { open } from 'node:fs/promises';\n         *\n         * const file = await open('./some/file/to/read');\n         *\n         * for await (const line of file.readLines()) {\n         *   console.log(line);\n         * }\n         * ```\n         *\n         * @since v18.11.0\n         * @param options See `filehandle.createReadStream()` for the options.\n         */\n        readLines(options?: CreateReadStreamOptions): ReadlineInterface;\n        /**\n         * @since v10.0.0\n         * @return Fulfills with an {fs.Stats} for the file.\n         */\n        stat(\n            opts?: StatOptions & {\n                bigint?: false | undefined;\n            },\n        ): Promise<Stats>;\n        stat(\n            opts: StatOptions & {\n                bigint: true;\n            },\n        ): Promise<BigIntStats>;\n        stat(opts?: StatOptions): Promise<Stats | BigIntStats>;\n        /**\n         * Truncates the file.\n         *\n         * If the file was larger than `len` bytes, only the first `len` bytes will be\n         * retained in the file.\n         *\n         * The following example retains only the first four bytes of the file:\n         *\n         * ```js\n         * import { open } from 'fs/promises';\n         *\n         * let filehandle = null;\n         * try {\n         *   filehandle = await open('temp.txt', 'r+');\n         *   await filehandle.truncate(4);\n         * } finally {\n         *   await filehandle?.close();\n         * }\n         * ```\n         *\n         * If the file previously was shorter than `len` bytes, it is extended, and the\n         * extended part is filled with null bytes (`'\\0'`):\n         *\n         * If `len` is negative then `0` will be used.\n         * @since v10.0.0\n         * @param [len=0]\n         * @return Fulfills with `undefined` upon success.\n         */\n        truncate(len?: number): Promise<void>;\n        /**\n         * Change the file system timestamps of the object referenced by the `FileHandle` then resolves the promise with no arguments upon success.\n         * @since v10.0.0\n         */\n        utimes(atime: TimeLike, mtime: TimeLike): Promise<void>;\n        /**\n         * Asynchronously writes data to a file, replacing the file if it already exists.`data` can be a string, a buffer, an\n         * [AsyncIterable](https://tc39.github.io/ecma262/#sec-asynciterable-interface) or\n         * [Iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol) object.\n         * The promise is resolved with no arguments upon success.\n         *\n         * If `options` is a string, then it specifies the `encoding`.\n         *\n         * The `FileHandle` has to support writing.\n         *\n         * It is unsafe to use `filehandle.writeFile()` multiple times on the same file\n         * without waiting for the promise to be resolved (or rejected).\n         *\n         * If one or more `filehandle.write()` calls are made on a file handle and then a`filehandle.writeFile()` call is made, the data will be written from the\n         * current position till the end of the file. It doesn't always write from the\n         * beginning of the file.\n         * @since v10.0.0\n         */\n        writeFile(\n            data: string | Uint8Array,\n            options?: (ObjectEncodingOptions & Abortable) | BufferEncoding | null,\n        ): Promise<void>;\n        /**\n         * Write `buffer` to the file.\n         *\n         * The promise is resolved with an object containing two properties:\n         *\n         * It is unsafe to use `filehandle.write()` multiple times on the same file\n         * without waiting for the promise to be resolved (or rejected). For this\n         * scenario, use `filehandle.createWriteStream()`.\n         *\n         * On Linux, positional writes do not work when the file is opened in append mode.\n         * The kernel ignores the position argument and always appends the data to\n         * the end of the file.\n         * @since v10.0.0\n         * @param [offset=0] The start position from within `buffer` where the data to write begins.\n         * @param [length=buffer.byteLength - offset] The number of bytes from `buffer` to write.\n         * @param position The offset from the beginning of the file where the data from `buffer` should be written. If `position` is not a `number`, the data will be written at the current position.\n         * See the POSIX pwrite(2) documentation for more detail.\n         */\n        write<TBuffer extends Uint8Array>(\n            buffer: TBuffer,\n            offset?: number | null,\n            length?: number | null,\n            position?: number | null,\n        ): Promise<{\n            bytesWritten: number;\n            buffer: TBuffer;\n        }>;\n        write(\n            data: string,\n            position?: number | null,\n            encoding?: BufferEncoding | null,\n        ): Promise<{\n            bytesWritten: number;\n            buffer: string;\n        }>;\n        /**\n         * Write an array of [ArrayBufferView](https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView) s to the file.\n         *\n         * The promise is resolved with an object containing a two properties:\n         *\n         * It is unsafe to call `writev()` multiple times on the same file without waiting\n         * for the promise to be resolved (or rejected).\n         *\n         * On Linux, positional writes don't work when the file is opened in append mode.\n         * The kernel ignores the position argument and always appends the data to\n         * the end of the file.\n         * @since v12.9.0\n         * @param position The offset from the beginning of the file where the data from `buffers` should be written. If `position` is not a `number`, the data will be written at the current\n         * position.\n         */\n        writev(buffers: readonly NodeJS.ArrayBufferView[], position?: number): Promise<WriteVResult>;\n        /**\n         * Read from a file and write to an array of [ArrayBufferView](https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView) s\n         * @since v13.13.0, v12.17.0\n         * @param position The offset from the beginning of the file where the data should be read from. If `position` is not a `number`, the data will be read from the current position.\n         * @return Fulfills upon success an object containing two properties:\n         */\n        readv(buffers: readonly NodeJS.ArrayBufferView[], position?: number): Promise<ReadVResult>;\n        /**\n         * Closes the file handle after waiting for any pending operation on the handle to\n         * complete.\n         *\n         * ```js\n         * import { open } from 'fs/promises';\n         *\n         * let filehandle;\n         * try {\n         *   filehandle = await open('thefile.txt', 'r');\n         * } finally {\n         *   await filehandle?.close();\n         * }\n         * ```\n         * @since v10.0.0\n         * @return Fulfills with `undefined` upon success.\n         */\n        close(): Promise<void>;\n        /**\n         * An alias for {@link FileHandle.close()}.\n         * @since v18.18.0\n         */\n        [Symbol.asyncDispose](): Promise<void>;\n    }\n\n    const constants: typeof fsConstants;\n\n    /**\n     * Tests a user's permissions for the file or directory specified by `path`.\n     * The `mode` argument is an optional integer that specifies the accessibility\n     * checks to be performed. `mode` should be either the value `fs.constants.F_OK` or a mask consisting of the bitwise OR of any of `fs.constants.R_OK`, `fs.constants.W_OK`, and `fs.constants.X_OK`\n     * (e.g.`fs.constants.W_OK | fs.constants.R_OK`). Check `File access constants` for\n     * possible values of `mode`.\n     *\n     * If the accessibility check is successful, the promise is resolved with no\n     * value. If any of the accessibility checks fail, the promise is rejected\n     * with an [Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) object. The following example checks if the file`/etc/passwd` can be read and\n     * written by the current process.\n     *\n     * ```js\n     * import { access } from 'fs/promises';\n     * import { constants } from 'fs';\n     *\n     * try {\n     *   await access('/etc/passwd', constants.R_OK | constants.W_OK);\n     *   console.log('can access');\n     * } catch {\n     *   console.error('cannot access');\n     * }\n     * ```\n     *\n     * Using `fsPromises.access()` to check for the accessibility of a file before\n     * calling `fsPromises.open()` is not recommended. Doing so introduces a race\n     * condition, since other processes may change the file's state between the two\n     * calls. Instead, user code should open/read/write the file directly and handle\n     * the error raised if the file is not accessible.\n     * @since v10.0.0\n     * @param [mode=fs.constants.F_OK]\n     * @return Fulfills with `undefined` upon success.\n     */\n    function access(path: PathLike, mode?: number): Promise<void>;\n    /**\n     * Asynchronously copies `src` to `dest`. By default, `dest` is overwritten if it\n     * already exists.\n     *\n     * No guarantees are made about the atomicity of the copy operation. If an\n     * error occurs after the destination file has been opened for writing, an attempt\n     * will be made to remove the destination.\n     *\n     * ```js\n     * import { constants } from 'fs';\n     * import { copyFile } from 'fs/promises';\n     *\n     * try {\n     *   await copyFile('source.txt', 'destination.txt');\n     *   console.log('source.txt was copied to destination.txt');\n     * } catch {\n     *   console.log('The file could not be copied');\n     * }\n     *\n     * // By using COPYFILE_EXCL, the operation will fail if destination.txt exists.\n     * try {\n     *   await copyFile('source.txt', 'destination.txt', constants.COPYFILE_EXCL);\n     *   console.log('source.txt was copied to destination.txt');\n     * } catch {\n     *   console.log('The file could not be copied');\n     * }\n     * ```\n     * @since v10.0.0\n     * @param src source filename to copy\n     * @param dest destination filename of the copy operation\n     * @param [mode=0] Optional modifiers that specify the behavior of the copy operation. It is possible to create a mask consisting of the bitwise OR of two or more values (e.g.\n     * `fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE`)\n     * @return Fulfills with `undefined` upon success.\n     */\n    function copyFile(src: PathLike, dest: PathLike, mode?: number): Promise<void>;\n    /**\n     * Opens a `FileHandle`.\n     *\n     * Refer to the POSIX [`open(2)`](http://man7.org/linux/man-pages/man2/open.2.html) documentation for more detail.\n     *\n     * Some characters (`< > : \" / \\ | ? *`) are reserved under Windows as documented\n     * by [Naming Files, Paths, and Namespaces](https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file). Under NTFS, if the filename contains\n     * a colon, Node.js will open a file system stream, as described by [this MSDN page](https://docs.microsoft.com/en-us/windows/desktop/FileIO/using-streams).\n     * @since v10.0.0\n     * @param [flags='r'] See `support of file system `flags``.\n     * @param [mode=0o666] Sets the file mode (permission and sticky bits) if the file is created.\n     * @return Fulfills with a {FileHandle} object.\n     */\n    function open(path: PathLike, flags?: string | number, mode?: Mode): Promise<FileHandle>;\n    /**\n     * Renames `oldPath` to `newPath`.\n     * @since v10.0.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function rename(oldPath: PathLike, newPath: PathLike): Promise<void>;\n    /**\n     * Truncates (shortens or extends the length) of the content at `path` to `len`bytes.\n     * @since v10.0.0\n     * @param [len=0]\n     * @return Fulfills with `undefined` upon success.\n     */\n    function truncate(path: PathLike, len?: number): Promise<void>;\n    /**\n     * Removes the directory identified by `path`.\n     *\n     * Using `fsPromises.rmdir()` on a file (not a directory) results in the\n     * promise being rejected with an `ENOENT` error on Windows and an `ENOTDIR`error on POSIX.\n     *\n     * To get a behavior similar to the `rm -rf` Unix command, use `fsPromises.rm()` with options `{ recursive: true, force: true }`.\n     * @since v10.0.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function rmdir(path: PathLike, options?: RmDirOptions): Promise<void>;\n    /**\n     * Removes files and directories (modeled on the standard POSIX `rm` utility).\n     * @since v14.14.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function rm(path: PathLike, options?: RmOptions): Promise<void>;\n    /**\n     * Asynchronously creates a directory.\n     *\n     * The optional `options` argument can be an integer specifying `mode` (permission\n     * and sticky bits), or an object with a `mode` property and a `recursive`property indicating whether parent directories should be created. Calling`fsPromises.mkdir()` when `path` is a directory\n     * that exists results in a\n     * rejection only when `recursive` is false.\n     * @since v10.0.0\n     * @return Upon success, fulfills with `undefined` if `recursive` is `false`, or the first directory path created if `recursive` is `true`.\n     */\n    function mkdir(\n        path: PathLike,\n        options: MakeDirectoryOptions & {\n            recursive: true;\n        },\n    ): Promise<string | undefined>;\n    /**\n     * Asynchronous mkdir(2) - create a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders\n     * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`.\n     */\n    function mkdir(\n        path: PathLike,\n        options?:\n            | Mode\n            | (MakeDirectoryOptions & {\n                recursive?: false | undefined;\n            })\n            | null,\n    ): Promise<void>;\n    /**\n     * Asynchronous mkdir(2) - create a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders\n     * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`.\n     */\n    function mkdir(path: PathLike, options?: Mode | MakeDirectoryOptions | null): Promise<string | undefined>;\n    /**\n     * Reads the contents of a directory.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use for\n     * the filenames. If the `encoding` is set to `'buffer'`, the filenames returned\n     * will be passed as `Buffer` objects.\n     *\n     * If `options.withFileTypes` is set to `true`, the resolved array will contain `fs.Dirent` objects.\n     *\n     * ```js\n     * import { readdir } from 'fs/promises';\n     *\n     * try {\n     *   const files = await readdir(path);\n     *   for (const file of files)\n     *     console.log(file);\n     * } catch (err) {\n     *   console.error(err);\n     * }\n     * ```\n     * @since v10.0.0\n     * @return Fulfills with an array of the names of the files in the directory excluding `'.'` and `'..'`.\n     */\n    function readdir(\n        path: PathLike,\n        options?:\n            | (ObjectEncodingOptions & {\n                withFileTypes?: false | undefined;\n                recursive?: boolean | undefined;\n            })\n            | BufferEncoding\n            | null,\n    ): Promise<string[]>;\n    /**\n     * Asynchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    function readdir(\n        path: PathLike,\n        options:\n            | {\n                encoding: \"buffer\";\n                withFileTypes?: false | undefined;\n                recursive?: boolean | undefined;\n            }\n            | \"buffer\",\n    ): Promise<Buffer[]>;\n    /**\n     * Asynchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    function readdir(\n        path: PathLike,\n        options?:\n            | (ObjectEncodingOptions & {\n                withFileTypes?: false | undefined;\n                recursive?: boolean | undefined;\n            })\n            | BufferEncoding\n            | null,\n    ): Promise<string[] | Buffer[]>;\n    /**\n     * Asynchronous readdir(3) - read a directory.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options If called with `withFileTypes: true` the result data will be an array of Dirent.\n     */\n    function readdir(\n        path: PathLike,\n        options: ObjectEncodingOptions & {\n            withFileTypes: true;\n            recursive?: boolean | undefined;\n        },\n    ): Promise<Dirent[]>;\n    /**\n     * Asynchronous readdir(3) - read a directory.\n     * @param path A path to a directory. If a URL is provided, it must use the `file:` protocol.\n     * @param options Must include `withFileTypes: true` and `encoding: 'buffer'`.\n     */\n    function readdir(\n        path: PathLike,\n        options: {\n            encoding: \"buffer\";\n            withFileTypes: true;\n            recursive?: boolean | undefined;\n        },\n    ): Promise<Dirent<Buffer>[]>;\n    /**\n     * Reads the contents of the symbolic link referred to by `path`. See the POSIX [`readlink(2)`](http://man7.org/linux/man-pages/man2/readlink.2.html) documentation for more detail. The promise is\n     * resolved with the`linkString` upon success.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use for\n     * the link path returned. If the `encoding` is set to `'buffer'`, the link path\n     * returned will be passed as a `Buffer` object.\n     * @since v10.0.0\n     * @return Fulfills with the `linkString` upon success.\n     */\n    function readlink(path: PathLike, options?: ObjectEncodingOptions | BufferEncoding | null): Promise<string>;\n    /**\n     * Asynchronous readlink(2) - read value of a symbolic link.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    function readlink(path: PathLike, options: BufferEncodingOption): Promise<Buffer>;\n    /**\n     * Asynchronous readlink(2) - read value of a symbolic link.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    function readlink(path: PathLike, options?: ObjectEncodingOptions | string | null): Promise<string | Buffer>;\n    /**\n     * Creates a symbolic link.\n     *\n     * The `type` argument is only used on Windows platforms and can be one of `'dir'`, `'file'`, or `'junction'`. Windows junction points require the destination path\n     * to be absolute. When using `'junction'`, the `target` argument will\n     * automatically be normalized to absolute path.\n     * @since v10.0.0\n     * @param [type='file']\n     * @return Fulfills with `undefined` upon success.\n     */\n    function symlink(target: PathLike, path: PathLike, type?: string | null): Promise<void>;\n    /**\n     * Equivalent to `fsPromises.stat()` unless `path` refers to a symbolic link,\n     * in which case the link itself is stat-ed, not the file that it refers to.\n     * Refer to the POSIX [`lstat(2)`](http://man7.org/linux/man-pages/man2/lstat.2.html) document for more detail.\n     * @since v10.0.0\n     * @return Fulfills with the {fs.Stats} object for the given symbolic link `path`.\n     */\n    function lstat(\n        path: PathLike,\n        opts?: StatOptions & {\n            bigint?: false | undefined;\n        },\n    ): Promise<Stats>;\n    function lstat(\n        path: PathLike,\n        opts: StatOptions & {\n            bigint: true;\n        },\n    ): Promise<BigIntStats>;\n    function lstat(path: PathLike, opts?: StatOptions): Promise<Stats | BigIntStats>;\n    /**\n     * @since v10.0.0\n     * @return Fulfills with the {fs.Stats} object for the given `path`.\n     */\n    function stat(\n        path: PathLike,\n        opts?: StatOptions & {\n            bigint?: false | undefined;\n        },\n    ): Promise<Stats>;\n    function stat(\n        path: PathLike,\n        opts: StatOptions & {\n            bigint: true;\n        },\n    ): Promise<BigIntStats>;\n    function stat(path: PathLike, opts?: StatOptions): Promise<Stats | BigIntStats>;\n    /**\n     * @since v18.15.0\n     * @return Fulfills with an {fs.StatFs} for the file system.\n     */\n    function statfs(\n        path: PathLike,\n        opts?: StatFsOptions & {\n            bigint?: false | undefined;\n        },\n    ): Promise<StatsFs>;\n    function statfs(\n        path: PathLike,\n        opts: StatFsOptions & {\n            bigint: true;\n        },\n    ): Promise<BigIntStatsFs>;\n    function statfs(path: PathLike, opts?: StatFsOptions): Promise<StatsFs | BigIntStatsFs>;\n\n    /**\n     * Creates a new link from the `existingPath` to the `newPath`. See the POSIX [`link(2)`](http://man7.org/linux/man-pages/man2/link.2.html) documentation for more detail.\n     * @since v10.0.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function link(existingPath: PathLike, newPath: PathLike): Promise<void>;\n    /**\n     * If `path` refers to a symbolic link, then the link is removed without affecting\n     * the file or directory to which that link refers. If the `path` refers to a file\n     * path that is not a symbolic link, the file is deleted. See the POSIX [`unlink(2)`](http://man7.org/linux/man-pages/man2/unlink.2.html) documentation for more detail.\n     * @since v10.0.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function unlink(path: PathLike): Promise<void>;\n    /**\n     * Changes the permissions of a file.\n     * @since v10.0.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function chmod(path: PathLike, mode: Mode): Promise<void>;\n    /**\n     * Changes the permissions on a symbolic link.\n     *\n     * This method is only implemented on macOS.\n     * @deprecated Since v10.0.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function lchmod(path: PathLike, mode: Mode): Promise<void>;\n    /**\n     * Changes the ownership on a symbolic link.\n     * @since v10.0.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function lchown(path: PathLike, uid: number, gid: number): Promise<void>;\n    /**\n     * Changes the access and modification times of a file in the same way as `fsPromises.utimes()`, with the difference that if the path refers to a\n     * symbolic link, then the link is not dereferenced: instead, the timestamps of\n     * the symbolic link itself are changed.\n     * @since v14.5.0, v12.19.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function lutimes(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise<void>;\n    /**\n     * Changes the ownership of a file.\n     * @since v10.0.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function chown(path: PathLike, uid: number, gid: number): Promise<void>;\n    /**\n     * Change the file system timestamps of the object referenced by `path`.\n     *\n     * The `atime` and `mtime` arguments follow these rules:\n     *\n     * * Values can be either numbers representing Unix epoch time, `Date`s, or a\n     * numeric string like `'123456789.0'`.\n     * * If the value can not be converted to a number, or is `NaN`, `Infinity` or`-Infinity`, an `Error` will be thrown.\n     * @since v10.0.0\n     * @return Fulfills with `undefined` upon success.\n     */\n    function utimes(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise<void>;\n    /**\n     * Determines the actual location of `path` using the same semantics as the`fs.realpath.native()` function.\n     *\n     * Only paths that can be converted to UTF8 strings are supported.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use for\n     * the path. If the `encoding` is set to `'buffer'`, the path returned will be\n     * passed as a `Buffer` object.\n     *\n     * On Linux, when Node.js is linked against musl libc, the procfs file system must\n     * be mounted on `/proc` in order for this function to work. Glibc does not have\n     * this restriction.\n     * @since v10.0.0\n     * @return Fulfills with the resolved path upon success.\n     */\n    function realpath(path: PathLike, options?: ObjectEncodingOptions | BufferEncoding | null): Promise<string>;\n    /**\n     * Asynchronous realpath(3) - return the canonicalized absolute pathname.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    function realpath(path: PathLike, options: BufferEncodingOption): Promise<Buffer>;\n    /**\n     * Asynchronous realpath(3) - return the canonicalized absolute pathname.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    function realpath(\n        path: PathLike,\n        options?: ObjectEncodingOptions | BufferEncoding | null,\n    ): Promise<string | Buffer>;\n    /**\n     * Creates a unique temporary directory. A unique directory name is generated by\n     * appending six random characters to the end of the provided `prefix`. Due to\n     * platform inconsistencies, avoid trailing `X` characters in `prefix`. Some\n     * platforms, notably the BSDs, can return more than six random characters, and\n     * replace trailing `X` characters in `prefix` with random characters.\n     *\n     * The optional `options` argument can be a string specifying an encoding, or an\n     * object with an `encoding` property specifying the character encoding to use.\n     *\n     * ```js\n     * import { mkdtemp } from 'fs/promises';\n     *\n     * try {\n     *   await mkdtemp(path.join(os.tmpdir(), 'foo-'));\n     * } catch (err) {\n     *   console.error(err);\n     * }\n     * ```\n     *\n     * The `fsPromises.mkdtemp()` method will append the six randomly selected\n     * characters directly to the `prefix` string. For instance, given a directory`/tmp`, if the intention is to create a temporary directory _within_`/tmp`, the`prefix` must end with a trailing\n     * platform-specific path separator\n     * (`import { sep } from 'node:path'`).\n     * @since v10.0.0\n     * @return Fulfills with a string containing the filesystem path of the newly created temporary directory.\n     */\n    function mkdtemp(prefix: string, options?: ObjectEncodingOptions | BufferEncoding | null): Promise<string>;\n    /**\n     * Asynchronously creates a unique temporary directory.\n     * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    function mkdtemp(prefix: string, options: BufferEncodingOption): Promise<Buffer>;\n    /**\n     * Asynchronously creates a unique temporary directory.\n     * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory.\n     * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used.\n     */\n    function mkdtemp(prefix: string, options?: ObjectEncodingOptions | BufferEncoding | null): Promise<string | Buffer>;\n    /**\n     * Asynchronously writes data to a file, replacing the file if it already exists.`data` can be a string, a buffer, an\n     * [AsyncIterable](https://tc39.github.io/ecma262/#sec-asynciterable-interface) or\n     * [Iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol) object.\n     *\n     * The `encoding` option is ignored if `data` is a buffer.\n     *\n     * If `options` is a string, then it specifies the encoding.\n     *\n     * The `mode` option only affects the newly created file. See `fs.open()` for more details.\n     *\n     * Any specified `FileHandle` has to support writing.\n     *\n     * It is unsafe to use `fsPromises.writeFile()` multiple times on the same file\n     * without waiting for the promise to be settled.\n     *\n     * Similarly to `fsPromises.readFile` \\- `fsPromises.writeFile` is a convenience\n     * method that performs multiple `write` calls internally to write the buffer\n     * passed to it. For performance sensitive code consider using `fs.createWriteStream()` or `filehandle.createWriteStream()`.\n     *\n     * It is possible to use an `AbortSignal` to cancel an `fsPromises.writeFile()`.\n     * Cancelation is \"best effort\", and some amount of data is likely still\n     * to be written.\n     *\n     * ```js\n     * import { writeFile } from 'fs/promises';\n     * import { Buffer } from 'buffer';\n     *\n     * try {\n     *   const controller = new AbortController();\n     *   const { signal } = controller;\n     *   const data = new Uint8Array(Buffer.from('Hello Node.js'));\n     *   const promise = writeFile('message.txt', data, { signal });\n     *\n     *   // Abort the request before the promise settles.\n     *   controller.abort();\n     *\n     *   await promise;\n     * } catch (err) {\n     *   // When a request is aborted - err is an AbortError\n     *   console.error(err);\n     * }\n     * ```\n     *\n     * Aborting an ongoing request does not abort individual operating\n     * system requests but rather the internal buffering `fs.writeFile` performs.\n     * @since v10.0.0\n     * @param file filename or `FileHandle`\n     * @return Fulfills with `undefined` upon success.\n     */\n    function writeFile(\n        file: PathLike | FileHandle,\n        data:\n            | string\n            | NodeJS.ArrayBufferView\n            | Iterable<string | NodeJS.ArrayBufferView>\n            | AsyncIterable<string | NodeJS.ArrayBufferView>\n            | Stream,\n        options?:\n            | (ObjectEncodingOptions & {\n                mode?: Mode | undefined;\n                flag?: OpenMode | undefined;\n            } & Abortable)\n            | BufferEncoding\n            | null,\n    ): Promise<void>;\n    /**\n     * Asynchronously append data to a file, creating the file if it does not yet\n     * exist. `data` can be a string or a `Buffer`.\n     *\n     * If `options` is a string, then it specifies the `encoding`.\n     *\n     * The `mode` option only affects the newly created file. See `fs.open()` for more details.\n     *\n     * The `path` may be specified as a `FileHandle` that has been opened\n     * for appending (using `fsPromises.open()`).\n     * @since v10.0.0\n     * @param path filename or {FileHandle}\n     * @return Fulfills with `undefined` upon success.\n     */\n    function appendFile(\n        path: PathLike | FileHandle,\n        data: string | Uint8Array,\n        options?: (ObjectEncodingOptions & FlagAndOpenMode) | BufferEncoding | null,\n    ): Promise<void>;\n    /**\n     * Asynchronously reads the entire contents of a file.\n     *\n     * If no encoding is specified (using `options.encoding`), the data is returned\n     * as a `Buffer` object. Otherwise, the data will be a string.\n     *\n     * If `options` is a string, then it specifies the encoding.\n     *\n     * When the `path` is a directory, the behavior of `fsPromises.readFile()` is\n     * platform-specific. On macOS, Linux, and Windows, the promise will be rejected\n     * with an error. On FreeBSD, a representation of the directory's contents will be\n     * returned.\n     *\n     * It is possible to abort an ongoing `readFile` using an `AbortSignal`. If a\n     * request is aborted the promise returned is rejected with an `AbortError`:\n     *\n     * ```js\n     * import { readFile } from 'fs/promises';\n     *\n     * try {\n     *   const controller = new AbortController();\n     *   const { signal } = controller;\n     *   const promise = readFile(fileName, { signal });\n     *\n     *   // Abort the request before the promise settles.\n     *   controller.abort();\n     *\n     *   await promise;\n     * } catch (err) {\n     *   // When a request is aborted - err is an AbortError\n     *   console.error(err);\n     * }\n     * ```\n     *\n     * Aborting an ongoing request does not abort individual operating\n     * system requests but rather the internal buffering `fs.readFile` performs.\n     *\n     * Any specified `FileHandle` has to support reading.\n     * @since v10.0.0\n     * @param path filename or `FileHandle`\n     * @return Fulfills with the contents of the file.\n     */\n    function readFile(\n        path: PathLike | FileHandle,\n        options?:\n            | ({\n                encoding?: null | undefined;\n                flag?: OpenMode | undefined;\n            } & Abortable)\n            | null,\n    ): Promise<Buffer>;\n    /**\n     * Asynchronously reads the entire contents of a file.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically.\n     * @param options An object that may contain an optional flag.\n     * If a flag is not provided, it defaults to `'r'`.\n     */\n    function readFile(\n        path: PathLike | FileHandle,\n        options:\n            | ({\n                encoding: BufferEncoding;\n                flag?: OpenMode | undefined;\n            } & Abortable)\n            | BufferEncoding,\n    ): Promise<string>;\n    /**\n     * Asynchronously reads the entire contents of a file.\n     * @param path A path to a file. If a URL is provided, it must use the `file:` protocol.\n     * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically.\n     * @param options An object that may contain an optional flag.\n     * If a flag is not provided, it defaults to `'r'`.\n     */\n    function readFile(\n        path: PathLike | FileHandle,\n        options?:\n            | (\n                & ObjectEncodingOptions\n                & Abortable\n                & {\n                    flag?: OpenMode | undefined;\n                }\n            )\n            | BufferEncoding\n            | null,\n    ): Promise<string | Buffer>;\n    /**\n     * Asynchronously open a directory for iterative scanning. See the POSIX [`opendir(3)`](http://man7.org/linux/man-pages/man3/opendir.3.html) documentation for more detail.\n     *\n     * Creates an `fs.Dir`, which contains all further functions for reading from\n     * and cleaning up the directory.\n     *\n     * The `encoding` option sets the encoding for the `path` while opening the\n     * directory and subsequent read operations.\n     *\n     * Example using async iteration:\n     *\n     * ```js\n     * import { opendir } from 'fs/promises';\n     *\n     * try {\n     *   const dir = await opendir('./');\n     *   for await (const dirent of dir)\n     *     console.log(dirent.name);\n     * } catch (err) {\n     *   console.error(err);\n     * }\n     * ```\n     *\n     * When using the async iterator, the `fs.Dir` object will be automatically\n     * closed after the iterator exits.\n     * @since v12.12.0\n     * @return Fulfills with an {fs.Dir}.\n     */\n    function opendir(path: PathLike, options?: OpenDirOptions): Promise<Dir>;\n    /**\n     * Returns an async iterator that watches for changes on `filename`, where `filename`is either a file or a directory.\n     *\n     * ```js\n     * import { watch } from 'node:fs/promises';\n     *\n     * const ac = new AbortController();\n     * const { signal } = ac;\n     * setTimeout(() => ac.abort(), 10000);\n     *\n     * (async () => {\n     *   try {\n     *     const watcher = watch(__filename, { signal });\n     *     for await (const event of watcher)\n     *       console.log(event);\n     *   } catch (err) {\n     *     if (err.name === 'AbortError')\n     *       return;\n     *     throw err;\n     *   }\n     * })();\n     * ```\n     *\n     * On most platforms, `'rename'` is emitted whenever a filename appears or\n     * disappears in the directory.\n     *\n     * All the `caveats` for `fs.watch()` also apply to `fsPromises.watch()`.\n     * @since v15.9.0, v14.18.0\n     * @return of objects with the properties:\n     */\n    function watch(\n        filename: PathLike,\n        options:\n            | (WatchOptions & {\n                encoding: \"buffer\";\n            })\n            | \"buffer\",\n    ): AsyncIterable<FileChangeInfo<Buffer>>;\n    /**\n     * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.\n     * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.\n     * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.\n     * If `encoding` is not supplied, the default of `'utf8'` is used.\n     * If `persistent` is not supplied, the default of `true` is used.\n     * If `recursive` is not supplied, the default of `false` is used.\n     */\n    function watch(filename: PathLike, options?: WatchOptions | BufferEncoding): AsyncIterable<FileChangeInfo<string>>;\n    /**\n     * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.\n     * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.\n     * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.\n     * If `encoding` is not supplied, the default of `'utf8'` is used.\n     * If `persistent` is not supplied, the default of `true` is used.\n     * If `recursive` is not supplied, the default of `false` is used.\n     */\n    function watch(\n        filename: PathLike,\n        options: WatchOptions | string,\n    ): AsyncIterable<FileChangeInfo<string>> | AsyncIterable<FileChangeInfo<Buffer>>;\n    /**\n     * Asynchronously copies the entire directory structure from `src` to `dest`,\n     * including subdirectories and files.\n     *\n     * When copying a directory to another directory, globs are not supported and\n     * behavior is similar to `cp dir1/ dir2/`.\n     * @since v16.7.0\n     * @experimental\n     * @param src source path to copy.\n     * @param dest destination path to copy to.\n     * @return Fulfills with `undefined` upon success.\n     */\n    function cp(source: string | URL, destination: string | URL, opts?: CopyOptions): Promise<void>;\n}\ndeclare module \"node:fs/promises\" {\n    export * from \"fs/promises\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/http.d.ts",
      "content": "/**\n * To use the HTTP server and client one must import the `node:http` module.\n *\n * The HTTP interfaces in Node.js are designed to support many features\n * of the protocol which have been traditionally difficult to use.\n * In particular, large, possibly chunk-encoded, messages. The interface is\n * careful to never buffer entire requests or responses, so the\n * user is able to stream data.\n *\n * HTTP message headers are represented by an object like this:\n *\n * ```js\n * { 'content-length': '123',\n *   'content-type': 'text/plain',\n *   'connection': 'keep-alive',\n *   'host': 'example.com',\n *   'accept': '*' }\n * ```\n *\n * Keys are lowercased. Values are not modified.\n *\n * In order to support the full spectrum of possible HTTP applications, the Node.js\n * HTTP API is very low-level. It deals with stream handling and message\n * parsing only. It parses a message into headers and body but it does not\n * parse the actual headers or the body.\n *\n * See `message.headers` for details on how duplicate headers are handled.\n *\n * The raw headers as they were received are retained in the `rawHeaders`property, which is an array of `[key, value, key2, value2, ...]`. For\n * example, the previous message header object might have a `rawHeaders`list like the following:\n *\n * ```js\n * [ 'ConTent-Length', '123456',\n *   'content-LENGTH', '123',\n *   'content-type', 'text/plain',\n *   'CONNECTION', 'keep-alive',\n *   'Host', 'example.com',\n *   'accepT', '*' ]\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/http.js)\n */\ndeclare module \"http\" {\n    import * as stream from \"node:stream\";\n    import { URL } from \"node:url\";\n    import { EventEmitter } from \"node:events\";\n    import { LookupOptions } from \"node:dns\";\n    import { LookupFunction, Server as NetServer, Socket, TcpSocketConnectOpts } from \"node:net\";\n    // incoming headers will never contain number\n    interface IncomingHttpHeaders extends NodeJS.Dict<string | string[]> {\n        accept?: string | undefined;\n        \"accept-encoding\"?: string | undefined;\n        \"accept-language\"?: string | undefined;\n        \"accept-patch\"?: string | undefined;\n        \"accept-ranges\"?: string | undefined;\n        \"access-control-allow-credentials\"?: string | undefined;\n        \"access-control-allow-headers\"?: string | undefined;\n        \"access-control-allow-methods\"?: string | undefined;\n        \"access-control-allow-origin\"?: string | undefined;\n        \"access-control-expose-headers\"?: string | undefined;\n        \"access-control-max-age\"?: string | undefined;\n        \"access-control-request-headers\"?: string | undefined;\n        \"access-control-request-method\"?: string | undefined;\n        age?: string | undefined;\n        allow?: string | undefined;\n        \"alt-svc\"?: string | undefined;\n        authorization?: string | undefined;\n        \"cache-control\"?: string | undefined;\n        connection?: string | undefined;\n        \"content-disposition\"?: string | undefined;\n        \"content-encoding\"?: string | undefined;\n        \"content-language\"?: string | undefined;\n        \"content-length\"?: string | undefined;\n        \"content-location\"?: string | undefined;\n        \"content-range\"?: string | undefined;\n        \"content-type\"?: string | undefined;\n        cookie?: string | undefined;\n        date?: string | undefined;\n        etag?: string | undefined;\n        expect?: string | undefined;\n        expires?: string | undefined;\n        forwarded?: string | undefined;\n        from?: string | undefined;\n        host?: string | undefined;\n        \"if-match\"?: string | undefined;\n        \"if-modified-since\"?: string | undefined;\n        \"if-none-match\"?: string | undefined;\n        \"if-unmodified-since\"?: string | undefined;\n        \"last-modified\"?: string | undefined;\n        location?: string | undefined;\n        origin?: string | undefined;\n        pragma?: string | undefined;\n        \"proxy-authenticate\"?: string | undefined;\n        \"proxy-authorization\"?: string | undefined;\n        \"public-key-pins\"?: string | undefined;\n        range?: string | undefined;\n        referer?: string | undefined;\n        \"retry-after\"?: string | undefined;\n        \"sec-fetch-site\"?: string | undefined;\n        \"sec-fetch-mode\"?: string | undefined;\n        \"sec-fetch-user\"?: string | undefined;\n        \"sec-fetch-dest\"?: string | undefined;\n        \"sec-websocket-accept\"?: string | undefined;\n        \"sec-websocket-extensions\"?: string | undefined;\n        \"sec-websocket-key\"?: string | undefined;\n        \"sec-websocket-protocol\"?: string | undefined;\n        \"sec-websocket-version\"?: string | undefined;\n        \"set-cookie\"?: string[] | undefined;\n        \"strict-transport-security\"?: string | undefined;\n        tk?: string | undefined;\n        trailer?: string | undefined;\n        \"transfer-encoding\"?: string | undefined;\n        upgrade?: string | undefined;\n        \"user-agent\"?: string | undefined;\n        vary?: string | undefined;\n        via?: string | undefined;\n        warning?: string | undefined;\n        \"www-authenticate\"?: string | undefined;\n    }\n    // outgoing headers allows numbers (as they are converted internally to strings)\n    type OutgoingHttpHeader = number | string | string[];\n    interface OutgoingHttpHeaders extends NodeJS.Dict<OutgoingHttpHeader> {\n        accept?: string | string[] | undefined;\n        \"accept-charset\"?: string | string[] | undefined;\n        \"accept-encoding\"?: string | string[] | undefined;\n        \"accept-language\"?: string | string[] | undefined;\n        \"accept-ranges\"?: string | undefined;\n        \"access-control-allow-credentials\"?: string | undefined;\n        \"access-control-allow-headers\"?: string | undefined;\n        \"access-control-allow-methods\"?: string | undefined;\n        \"access-control-allow-origin\"?: string | undefined;\n        \"access-control-expose-headers\"?: string | undefined;\n        \"access-control-max-age\"?: string | undefined;\n        \"access-control-request-headers\"?: string | undefined;\n        \"access-control-request-method\"?: string | undefined;\n        age?: string | undefined;\n        allow?: string | undefined;\n        authorization?: string | undefined;\n        \"cache-control\"?: string | undefined;\n        \"cdn-cache-control\"?: string | undefined;\n        connection?: string | string[] | undefined;\n        \"content-disposition\"?: string | undefined;\n        \"content-encoding\"?: string | undefined;\n        \"content-language\"?: string | undefined;\n        \"content-length\"?: string | number | undefined;\n        \"content-location\"?: string | undefined;\n        \"content-range\"?: string | undefined;\n        \"content-security-policy\"?: string | undefined;\n        \"content-security-policy-report-only\"?: string | undefined;\n        cookie?: string | string[] | undefined;\n        dav?: string | string[] | undefined;\n        dnt?: string | undefined;\n        date?: string | undefined;\n        etag?: string | undefined;\n        expect?: string | undefined;\n        expires?: string | undefined;\n        forwarded?: string | undefined;\n        from?: string | undefined;\n        host?: string | undefined;\n        \"if-match\"?: string | undefined;\n        \"if-modified-since\"?: string | undefined;\n        \"if-none-match\"?: string | undefined;\n        \"if-range\"?: string | undefined;\n        \"if-unmodified-since\"?: string | undefined;\n        \"last-modified\"?: string | undefined;\n        link?: string | string[] | undefined;\n        location?: string | undefined;\n        \"max-forwards\"?: string | undefined;\n        origin?: string | undefined;\n        pragma?: string | string[] | undefined;\n        \"proxy-authenticate\"?: string | string[] | undefined;\n        \"proxy-authorization\"?: string | undefined;\n        \"public-key-pins\"?: string | undefined;\n        \"public-key-pins-report-only\"?: string | undefined;\n        range?: string | undefined;\n        referer?: string | undefined;\n        \"referrer-policy\"?: string | undefined;\n        refresh?: string | undefined;\n        \"retry-after\"?: string | undefined;\n        \"sec-websocket-accept\"?: string | undefined;\n        \"sec-websocket-extensions\"?: string | string[] | undefined;\n        \"sec-websocket-key\"?: string | undefined;\n        \"sec-websocket-protocol\"?: string | string[] | undefined;\n        \"sec-websocket-version\"?: string | undefined;\n        server?: string | undefined;\n        \"set-cookie\"?: string | string[] | undefined;\n        \"strict-transport-security\"?: string | undefined;\n        te?: string | undefined;\n        trailer?: string | undefined;\n        \"transfer-encoding\"?: string | undefined;\n        \"user-agent\"?: string | undefined;\n        upgrade?: string | undefined;\n        \"upgrade-insecure-requests\"?: string | undefined;\n        vary?: string | undefined;\n        via?: string | string[] | undefined;\n        warning?: string | undefined;\n        \"www-authenticate\"?: string | string[] | undefined;\n        \"x-content-type-options\"?: string | undefined;\n        \"x-dns-prefetch-control\"?: string | undefined;\n        \"x-frame-options\"?: string | undefined;\n        \"x-xss-protection\"?: string | undefined;\n    }\n    interface ClientRequestArgs {\n        _defaultAgent?: Agent | undefined;\n        agent?: Agent | boolean | undefined;\n        auth?: string | null | undefined;\n        createConnection?:\n            | ((\n                options: ClientRequestArgs,\n                oncreate: (err: Error | null, socket: stream.Duplex) => void,\n            ) => stream.Duplex | null | undefined)\n            | undefined;\n        defaultPort?: number | string | undefined;\n        family?: number | undefined;\n        headers?: OutgoingHttpHeaders | readonly string[] | undefined;\n        hints?: LookupOptions[\"hints\"];\n        host?: string | null | undefined;\n        hostname?: string | null | undefined;\n        insecureHTTPParser?: boolean | undefined;\n        localAddress?: string | undefined;\n        localPort?: number | undefined;\n        lookup?: LookupFunction | undefined;\n        /**\n         * @default 16384\n         */\n        maxHeaderSize?: number | undefined;\n        method?: string | undefined;\n        path?: string | null | undefined;\n        port?: number | string | null | undefined;\n        protocol?: string | null | undefined;\n        setHost?: boolean | undefined;\n        signal?: AbortSignal | undefined;\n        socketPath?: string | undefined;\n        timeout?: number | undefined;\n        uniqueHeaders?: Array<string | string[]> | undefined;\n        joinDuplicateHeaders?: boolean;\n    }\n    interface ServerOptions<\n        Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Response extends typeof ServerResponse<InstanceType<Request>> = typeof ServerResponse,\n    > {\n        /**\n         * Specifies the `IncomingMessage` class to be used. Useful for extending the original `IncomingMessage`.\n         */\n        IncomingMessage?: Request | undefined;\n        /**\n         * Specifies the `ServerResponse` class to be used. Useful for extending the original `ServerResponse`.\n         */\n        ServerResponse?: Response | undefined;\n        /**\n         * Sets the timeout value in milliseconds for receiving the entire request from the client.\n         * @see Server.requestTimeout for more information.\n         * @default 300000\n         * @since v18.0.0\n         */\n        requestTimeout?: number | undefined;\n        /**\n         * It joins the field line values of multiple headers in a request with `, ` instead of discarding the duplicates.\n         * @default false\n         * @since v18.14.0\n         */\n        joinDuplicateHeaders?: boolean;\n        /**\n         * The number of milliseconds of inactivity a server needs to wait for additional incoming data,\n         * after it has finished writing the last response, before a socket will be destroyed.\n         * @see Server.keepAliveTimeout for more information.\n         * @default 5000\n         * @since v18.0.0\n         */\n        keepAliveTimeout?: number | undefined;\n        /**\n         * Sets the interval value in milliseconds to check for request and headers timeout in incomplete requests.\n         * @default 30000\n         */\n        connectionsCheckingInterval?: number | undefined;\n        /**\n         * Sets the timeout value in milliseconds for receiving the complete HTTP headers from the client.\n         * See {@link Server.headersTimeout} for more information.\n         * @default 60000\n         * @since 18.0.0\n         */\n        headersTimeout?: number | undefined;\n        /**\n         * Optionally overrides all `socket`s' `readableHighWaterMark` and `writableHighWaterMark`.\n         * This affects `highWaterMark` property of both `IncomingMessage` and `ServerResponse`.\n         * Default: @see stream.getDefaultHighWaterMark().\n         * @since v18.17.0\n         */\n        highWaterMark?: number | undefined;\n        /**\n         * Use an insecure HTTP parser that accepts invalid HTTP headers when `true`.\n         * Using the insecure parser should be avoided.\n         * See --insecure-http-parser for more information.\n         * @default false\n         */\n        insecureHTTPParser?: boolean | undefined;\n        /**\n         * Optionally overrides the value of\n         * `--max-http-header-size` for requests received by this server, i.e.\n         * the maximum length of request headers in bytes.\n         * @default 16384\n         * @since v13.3.0\n         */\n        maxHeaderSize?: number | undefined;\n        /**\n         * If set to `true`, it disables the use of Nagle's algorithm immediately after a new incoming connection is received.\n         * @default true\n         * @since v16.5.0\n         */\n        noDelay?: boolean | undefined;\n        /**\n         * If set to `true`, it enables keep-alive functionality on the socket immediately after a new incoming connection is received,\n         * similarly on what is done in `socket.setKeepAlive([enable][, initialDelay])`.\n         * @default false\n         * @since v16.5.0\n         */\n        keepAlive?: boolean | undefined;\n        /**\n         * If set to a positive number, it sets the initial delay before the first keepalive probe is sent on an idle socket.\n         * @default 0\n         * @since v16.5.0\n         */\n        keepAliveInitialDelay?: number | undefined;\n        /**\n         * A list of response headers that should be sent only once.\n         * If the header's value is an array, the items will be joined using `; `.\n         */\n        uniqueHeaders?: Array<string | string[]> | undefined;\n        /**\n         * If set to `true`, an error is thrown when writing to an HTTP response which does not have a body.\n         * @default false\n         * @since v18.17.0, v20.2.0\n         */\n        rejectNonStandardBodyWrites?: boolean | undefined;\n    }\n    type RequestListener<\n        Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Response extends typeof ServerResponse<InstanceType<Request>> = typeof ServerResponse,\n    > = (req: InstanceType<Request>, res: InstanceType<Response> & { req: InstanceType<Request> }) => void;\n    /**\n     * @since v0.1.17\n     */\n    class Server<\n        Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Response extends typeof ServerResponse<InstanceType<Request>> = typeof ServerResponse,\n    > extends NetServer {\n        constructor(requestListener?: RequestListener<Request, Response>);\n        constructor(options: ServerOptions<Request, Response>, requestListener?: RequestListener<Request, Response>);\n        /**\n         * Sets the timeout value for sockets, and emits a `'timeout'` event on\n         * the Server object, passing the socket as an argument, if a timeout\n         * occurs.\n         *\n         * If there is a `'timeout'` event listener on the Server object, then it\n         * will be called with the timed-out socket as an argument.\n         *\n         * By default, the Server does not timeout sockets. However, if a callback\n         * is assigned to the Server's `'timeout'` event, timeouts must be handled\n         * explicitly.\n         * @since v0.9.12\n         * @param [msecs=0 (no timeout)]\n         */\n        setTimeout(msecs?: number, callback?: (socket: Socket) => void): this;\n        setTimeout(callback: (socket: Socket) => void): this;\n        /**\n         * Limits maximum incoming headers count. If set to 0, no limit will be applied.\n         * @since v0.7.0\n         */\n        maxHeadersCount: number | null;\n        /**\n         * The maximum number of requests socket can handle\n         * before closing keep alive connection.\n         *\n         * A value of `0` will disable the limit.\n         *\n         * When the limit is reached it will set the `Connection` header value to `close`,\n         * but will not actually close the connection, subsequent requests sent\n         * after the limit is reached will get `503 Service Unavailable` as a response.\n         * @since v16.10.0\n         */\n        maxRequestsPerSocket: number | null;\n        /**\n         * The number of milliseconds of inactivity before a socket is presumed\n         * to have timed out.\n         *\n         * A value of `0` will disable the timeout behavior on incoming connections.\n         *\n         * The socket timeout logic is set up on connection, so changing this\n         * value only affects new connections to the server, not any existing connections.\n         * @since v0.9.12\n         */\n        timeout: number;\n        /**\n         * Limit the amount of time the parser will wait to receive the complete HTTP\n         * headers.\n         *\n         * If the timeout expires, the server responds with status 408 without\n         * forwarding the request to the request listener and then closes the connection.\n         *\n         * It must be set to a non-zero value (e.g. 120 seconds) to protect against\n         * potential Denial-of-Service attacks in case the server is deployed without a\n         * reverse proxy in front.\n         * @since v11.3.0, v10.14.0\n         */\n        headersTimeout: number;\n        /**\n         * The number of milliseconds of inactivity a server needs to wait for additional\n         * incoming data, after it has finished writing the last response, before a socket\n         * will be destroyed. If the server receives new data before the keep-alive\n         * timeout has fired, it will reset the regular inactivity timeout, i.e.,`server.timeout`.\n         *\n         * A value of `0` will disable the keep-alive timeout behavior on incoming\n         * connections.\n         * A value of `0` makes the http server behave similarly to Node.js versions prior\n         * to 8.0.0, which did not have a keep-alive timeout.\n         *\n         * The socket timeout logic is set up on connection, so changing this value only\n         * affects new connections to the server, not any existing connections.\n         * @since v8.0.0\n         */\n        keepAliveTimeout: number;\n        /**\n         * Sets the timeout value in milliseconds for receiving the entire request from\n         * the client.\n         *\n         * If the timeout expires, the server responds with status 408 without\n         * forwarding the request to the request listener and then closes the connection.\n         *\n         * It must be set to a non-zero value (e.g. 120 seconds) to protect against\n         * potential Denial-of-Service attacks in case the server is deployed without a\n         * reverse proxy in front.\n         * @since v14.11.0\n         */\n        requestTimeout: number;\n        /**\n         * Closes all connections connected to this server.\n         * @since v18.2.0\n         */\n        closeAllConnections(): void;\n        /**\n         * Closes all connections connected to this server which are not sending a request or waiting for a response.\n         * @since v18.2.0\n         */\n        closeIdleConnections(): void;\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"connection\", listener: (socket: Socket) => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: \"listening\", listener: () => void): this;\n        addListener(event: \"checkContinue\", listener: RequestListener<Request, Response>): this;\n        addListener(event: \"checkExpectation\", listener: RequestListener<Request, Response>): this;\n        addListener(event: \"clientError\", listener: (err: Error, socket: stream.Duplex) => void): this;\n        addListener(\n            event: \"connect\",\n            listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,\n        ): this;\n        addListener(event: \"dropRequest\", listener: (req: InstanceType<Request>, socket: stream.Duplex) => void): this;\n        addListener(event: \"request\", listener: RequestListener<Request, Response>): this;\n        addListener(\n            event: \"upgrade\",\n            listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,\n        ): this;\n        emit(event: string, ...args: any[]): boolean;\n        emit(event: \"close\"): boolean;\n        emit(event: \"connection\", socket: Socket): boolean;\n        emit(event: \"error\", err: Error): boolean;\n        emit(event: \"listening\"): boolean;\n        emit(\n            event: \"checkContinue\",\n            req: InstanceType<Request>,\n            res: InstanceType<Response> & { req: InstanceType<Request> },\n        ): boolean;\n        emit(\n            event: \"checkExpectation\",\n            req: InstanceType<Request>,\n            res: InstanceType<Response> & { req: InstanceType<Request> },\n        ): boolean;\n        emit(event: \"clientError\", err: Error, socket: stream.Duplex): boolean;\n        emit(event: \"connect\", req: InstanceType<Request>, socket: stream.Duplex, head: Buffer): boolean;\n        emit(event: \"dropRequest\", req: InstanceType<Request>, socket: stream.Duplex): boolean;\n        emit(\n            event: \"request\",\n            req: InstanceType<Request>,\n            res: InstanceType<Response> & { req: InstanceType<Request> },\n        ): boolean;\n        emit(event: \"upgrade\", req: InstanceType<Request>, socket: stream.Duplex, head: Buffer): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"connection\", listener: (socket: Socket) => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"listening\", listener: () => void): this;\n        on(event: \"checkContinue\", listener: RequestListener<Request, Response>): this;\n        on(event: \"checkExpectation\", listener: RequestListener<Request, Response>): this;\n        on(event: \"clientError\", listener: (err: Error, socket: stream.Duplex) => void): this;\n        on(event: \"connect\", listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void): this;\n        on(event: \"dropRequest\", listener: (req: InstanceType<Request>, socket: stream.Duplex) => void): this;\n        on(event: \"request\", listener: RequestListener<Request, Response>): this;\n        on(event: \"upgrade\", listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"connection\", listener: (socket: Socket) => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"listening\", listener: () => void): this;\n        once(event: \"checkContinue\", listener: RequestListener<Request, Response>): this;\n        once(event: \"checkExpectation\", listener: RequestListener<Request, Response>): this;\n        once(event: \"clientError\", listener: (err: Error, socket: stream.Duplex) => void): this;\n        once(\n            event: \"connect\",\n            listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,\n        ): this;\n        once(event: \"dropRequest\", listener: (req: InstanceType<Request>, socket: stream.Duplex) => void): this;\n        once(event: \"request\", listener: RequestListener<Request, Response>): this;\n        once(\n            event: \"upgrade\",\n            listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,\n        ): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"connection\", listener: (socket: Socket) => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: \"listening\", listener: () => void): this;\n        prependListener(event: \"checkContinue\", listener: RequestListener<Request, Response>): this;\n        prependListener(event: \"checkExpectation\", listener: RequestListener<Request, Response>): this;\n        prependListener(event: \"clientError\", listener: (err: Error, socket: stream.Duplex) => void): this;\n        prependListener(\n            event: \"connect\",\n            listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,\n        ): this;\n        prependListener(\n            event: \"dropRequest\",\n            listener: (req: InstanceType<Request>, socket: stream.Duplex) => void,\n        ): this;\n        prependListener(event: \"request\", listener: RequestListener<Request, Response>): this;\n        prependListener(\n            event: \"upgrade\",\n            listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,\n        ): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"connection\", listener: (socket: Socket) => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(event: \"listening\", listener: () => void): this;\n        prependOnceListener(event: \"checkContinue\", listener: RequestListener<Request, Response>): this;\n        prependOnceListener(event: \"checkExpectation\", listener: RequestListener<Request, Response>): this;\n        prependOnceListener(event: \"clientError\", listener: (err: Error, socket: stream.Duplex) => void): this;\n        prependOnceListener(\n            event: \"connect\",\n            listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,\n        ): this;\n        prependOnceListener(\n            event: \"dropRequest\",\n            listener: (req: InstanceType<Request>, socket: stream.Duplex) => void,\n        ): this;\n        prependOnceListener(event: \"request\", listener: RequestListener<Request, Response>): this;\n        prependOnceListener(\n            event: \"upgrade\",\n            listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,\n        ): this;\n    }\n    /**\n     * This class serves as the parent class of {@link ClientRequest} and {@link ServerResponse}. It is an abstract of outgoing message from\n     * the perspective of the participants of HTTP transaction.\n     * @since v0.1.17\n     */\n    class OutgoingMessage<Request extends IncomingMessage = IncomingMessage> extends stream.Writable {\n        readonly req: Request;\n        chunkedEncoding: boolean;\n        shouldKeepAlive: boolean;\n        useChunkedEncodingByDefault: boolean;\n        sendDate: boolean;\n        /**\n         * @deprecated Use `writableEnded` instead.\n         */\n        finished: boolean;\n        /**\n         * Read-only. `true` if the headers were sent, otherwise `false`.\n         * @since v0.9.3\n         */\n        readonly headersSent: boolean;\n        /**\n         * Aliases of `outgoingMessage.socket`\n         * @since v0.3.0\n         * @deprecated Since v15.12.0,v14.17.1 - Use `socket` instead.\n         */\n        readonly connection: Socket | null;\n        /**\n         * Reference to the underlying socket. Usually, users will not want to access\n         * this property.\n         *\n         * After calling `outgoingMessage.end()`, this property will be nulled.\n         * @since v0.3.0\n         */\n        readonly socket: Socket | null;\n        constructor();\n        /**\n         * Once a socket is associated with the message and is connected,`socket.setTimeout()` will be called with `msecs` as the first parameter.\n         * @since v0.9.12\n         * @param callback Optional function to be called when a timeout occurs. Same as binding to the `timeout` event.\n         */\n        setTimeout(msecs: number, callback?: () => void): this;\n        /**\n         * Sets a single header value for the header object.\n         * If the header already exists in the to-be-sent headers, its value will be replaced. Use an array of strings to send multiple headers with the same name.\n         * @since v0.4.0\n         * @param name Header name\n         * @param value Header value\n         */\n        setHeader(name: string, value: number | string | readonly string[]): this;\n        /**\n         * Sets multiple header values for implicit headers. headers must be an instance of\n         * `Headers` or `Map`, if a header already exists in the to-be-sent headers, its\n         * value will be replaced.\n         *\n         * ```js\n         * const headers = new Headers({ foo: 'bar' });\n         * outgoingMessage.setHeaders(headers);\n         * ```\n         *\n         * or\n         *\n         * ```js\n         * const headers = new Map([['foo', 'bar']]);\n         * outgoingMessage.setHeaders(headers);\n         * ```\n         *\n         * When headers have been set with `outgoingMessage.setHeaders()`, they will be\n         * merged with any headers passed to `response.writeHead()`, with the headers passed\n         * to `response.writeHead()` given precedence.\n         *\n         * ```js\n         * // Returns content-type = text/plain\n         * const server = http.createServer((req, res) => {\n         *   const headers = new Headers({ 'Content-Type': 'text/html' });\n         *   res.setHeaders(headers);\n         *   res.writeHead(200, { 'Content-Type': 'text/plain' });\n         *   res.end('ok');\n         * });\n         * ```\n         *\n         * @since v19.6.0, v18.15.0\n         * @param name Header name\n         * @param value Header value\n         */\n        setHeaders(headers: Headers | Map<string, number | string | readonly string[]>): this;\n        /**\n         * Append a single header value for the header object.\n         *\n         * If the value is an array, this is equivalent of calling this method multiple times.\n         *\n         * If there were no previous value for the header, this is equivalent of calling `outgoingMessage.setHeader(name, value)`.\n         *\n         * Depending of the value of `options.uniqueHeaders` when the client request or the server were created,\n         * this will end up in the header being sent multiple times or a single time with values joined using `; `.\n         * @since v18.3.0, v16.17.0\n         * @param name Header name\n         * @param value Header value\n         */\n        appendHeader(name: string, value: string | readonly string[]): this;\n        /**\n         * Gets the value of HTTP header with the given name. If such a name doesn't\n         * exist in message, it will be `undefined`.\n         * @since v0.4.0\n         * @param name Name of header\n         */\n        getHeader(name: string): number | string | string[] | undefined;\n        /**\n         * Returns a shallow copy of the current outgoing headers. Since a shallow\n         * copy is used, array values may be mutated without additional calls to\n         * various header-related HTTP module methods. The keys of the returned\n         * object are the header names and the values are the respective header\n         * values. All header names are lowercase.\n         *\n         * The object returned by the `outgoingMessage.getHeaders()` method does\n         * not prototypically inherit from the JavaScript Object. This means that\n         * typical Object methods such as `obj.toString()`, `obj.hasOwnProperty()`,\n         * and others are not defined and will not work.\n         *\n         * ```js\n         * outgoingMessage.setHeader('Foo', 'bar');\n         * outgoingMessage.setHeader('Set-Cookie', ['foo=bar', 'bar=baz']);\n         *\n         * const headers = outgoingMessage.getHeaders();\n         * // headers === { foo: 'bar', 'set-cookie': ['foo=bar', 'bar=baz'] }\n         * ```\n         * @since v7.7.0\n         */\n        getHeaders(): OutgoingHttpHeaders;\n        /**\n         * Returns an array of names of headers of the outgoing outgoingMessage. All\n         * names are lowercase.\n         * @since v7.7.0\n         */\n        getHeaderNames(): string[];\n        /**\n         * Returns `true` if the header identified by `name` is currently set in the\n         * outgoing headers. The header name is case-insensitive.\n         *\n         * ```js\n         * const hasContentType = outgoingMessage.hasHeader('content-type');\n         * ```\n         * @since v7.7.0\n         */\n        hasHeader(name: string): boolean;\n        /**\n         * Removes a header that is queued for implicit sending.\n         *\n         * ```js\n         * outgoingMessage.removeHeader('Content-Encoding');\n         * ```\n         * @since v0.4.0\n         * @param name Header name\n         */\n        removeHeader(name: string): void;\n        /**\n         * Adds HTTP trailers (headers but at the end of the message) to the message.\n         *\n         * Trailers are **only** be emitted if the message is chunked encoded. If not,\n         * the trailer will be silently discarded.\n         *\n         * HTTP requires the `Trailer` header to be sent to emit trailers,\n         * with a list of header fields in its value, e.g.\n         *\n         * ```js\n         * message.writeHead(200, { 'Content-Type': 'text/plain',\n         *                          'Trailer': 'Content-MD5' });\n         * message.write(fileData);\n         * message.addTrailers({ 'Content-MD5': '7895bf4b8828b55ceaf47747b4bca667' });\n         * message.end();\n         * ```\n         *\n         * Attempting to set a header field name or value that contains invalid characters\n         * will result in a `TypeError` being thrown.\n         * @since v0.3.0\n         */\n        addTrailers(headers: OutgoingHttpHeaders | ReadonlyArray<[string, string]>): void;\n        /**\n         * Compulsorily flushes the message headers\n         *\n         * For efficiency reason, Node.js normally buffers the message headers\n         * until `outgoingMessage.end()` is called or the first chunk of message data\n         * is written. It then tries to pack the headers and data into a single TCP\n         * packet.\n         *\n         * It is usually desired (it saves a TCP round-trip), but not when the first\n         * data is not sent until possibly much later. `outgoingMessage.flushHeaders()`bypasses the optimization and kickstarts the request.\n         * @since v1.6.0\n         */\n        flushHeaders(): void;\n    }\n    /**\n     * This object is created internally by an HTTP server, not by the user. It is\n     * passed as the second parameter to the `'request'` event.\n     * @since v0.1.17\n     */\n    class ServerResponse<Request extends IncomingMessage = IncomingMessage> extends OutgoingMessage<Request> {\n        /**\n         * When using implicit headers (not calling `response.writeHead()` explicitly),\n         * this property controls the status code that will be sent to the client when\n         * the headers get flushed.\n         *\n         * ```js\n         * response.statusCode = 404;\n         * ```\n         *\n         * After response header was sent to the client, this property indicates the\n         * status code which was sent out.\n         * @since v0.4.0\n         */\n        statusCode: number;\n        /**\n         * When using implicit headers (not calling `response.writeHead()` explicitly),\n         * this property controls the status message that will be sent to the client when\n         * the headers get flushed. If this is left as `undefined` then the standard\n         * message for the status code will be used.\n         *\n         * ```js\n         * response.statusMessage = 'Not found';\n         * ```\n         *\n         * After response header was sent to the client, this property indicates the\n         * status message which was sent out.\n         * @since v0.11.8\n         */\n        statusMessage: string;\n        /**\n         * If set to `true`, Node.js will check whether the `Content-Length` header value\n         * and the size of the body, in bytes, are equal. Mismatching the\n         * `Content-Length` header value will result in an `Error` being thrown,\n         * identified by `code: 'ERR_HTTP_CONTENT_LENGTH_MISMATCH'`.\n         * @since v18.10.0, v16.18.0\n         */\n        strictContentLength: boolean;\n        constructor(req: Request);\n        assignSocket(socket: Socket): void;\n        detachSocket(socket: Socket): void;\n        /**\n         * Sends an HTTP/1.1 100 Continue message to the client, indicating that\n         * the request body should be sent. See the `'checkContinue'` event on`Server`.\n         * @since v0.3.0\n         */\n        writeContinue(callback?: () => void): void;\n        /**\n         * Sends an HTTP/1.1 103 Early Hints message to the client with a Link header,\n         * indicating that the user agent can preload/preconnect the linked resources.\n         * The `hints` is an object containing the values of headers to be sent with\n         * early hints message. The optional `callback` argument will be called when\n         * the response message has been written.\n         *\n         * Example:\n         *\n         * ```js\n         * const earlyHintsLink = '</styles.css>; rel=preload; as=style';\n         * response.writeEarlyHints({\n         *   'link': earlyHintsLink,\n         * });\n         *\n         * const earlyHintsLinks = [\n         *   '</styles.css>; rel=preload; as=style',\n         *   '</scripts.js>; rel=preload; as=script',\n         * ];\n         * response.writeEarlyHints({\n         *   'link': earlyHintsLinks,\n         *   'x-trace-id': 'id for diagnostics'\n         * });\n         *\n         * const earlyHintsCallback = () => console.log('early hints message sent');\n         * response.writeEarlyHints({\n         *   'link': earlyHintsLinks\n         * }, earlyHintsCallback);\n         * ```\n         *\n         * @since v18.11.0\n         * @param hints An object containing the values of headers\n         * @param callback Will be called when the response message has been written\n         */\n        writeEarlyHints(hints: Record<string, string | string[]>, callback?: () => void): void;\n        /**\n         * Sends a response header to the request. The status code is a 3-digit HTTP\n         * status code, like `404`. The last argument, `headers`, are the response headers.\n         * Optionally one can give a human-readable `statusMessage` as the second\n         * argument.\n         *\n         * `headers` may be an `Array` where the keys and values are in the same list.\n         * It is _not_ a list of tuples. So, the even-numbered offsets are key values,\n         * and the odd-numbered offsets are the associated values. The array is in the same\n         * format as `request.rawHeaders`.\n         *\n         * Returns a reference to the `ServerResponse`, so that calls can be chained.\n         *\n         * ```js\n         * const body = 'hello world';\n         * response\n         *   .writeHead(200, {\n         *     'Content-Length': Buffer.byteLength(body),\n         *     'Content-Type': 'text/plain'\n         *   })\n         *   .end(body);\n         * ```\n         *\n         * This method must only be called once on a message and it must\n         * be called before `response.end()` is called.\n         *\n         * If `response.write()` or `response.end()` are called before calling\n         * this, the implicit/mutable headers will be calculated and call this function.\n         *\n         * When headers have been set with `response.setHeader()`, they will be merged\n         * with any headers passed to `response.writeHead()`, with the headers passed\n         * to `response.writeHead()` given precedence.\n         *\n         * If this method is called and `response.setHeader()` has not been called,\n         * it will directly write the supplied header values onto the network channel\n         * without caching internally, and the `response.getHeader()` on the header\n         * will not yield the expected result. If progressive population of headers is\n         * desired with potential future retrieval and modification, use `response.setHeader()` instead.\n         *\n         * ```js\n         * // Returns content-type = text/plain\n         * const server = http.createServer((req, res) => {\n         *   res.setHeader('Content-Type', 'text/html');\n         *   res.setHeader('X-Foo', 'bar');\n         *   res.writeHead(200, { 'Content-Type': 'text/plain' });\n         *   res.end('ok');\n         * });\n         * ```\n         *\n         * `Content-Length` is given in bytes, not characters. Use `Buffer.byteLength()` to determine the length of the body in bytes. Node.js\n         * does not check whether `Content-Length` and the length of the body which has\n         * been transmitted are equal or not.\n         *\n         * Attempting to set a header field name or value that contains invalid characters\n         * will result in a `TypeError` being thrown.\n         * @since v0.1.30\n         */\n        writeHead(\n            statusCode: number,\n            statusMessage?: string,\n            headers?: OutgoingHttpHeaders | OutgoingHttpHeader[],\n        ): this;\n        writeHead(statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this;\n        /**\n         * Sends an HTTP/1.1 102 Processing message to the client, indicating that\n         * the request body should be sent.\n         * @since v10.0.0\n         */\n        writeProcessing(callback?: () => void): void;\n    }\n    interface InformationEvent {\n        statusCode: number;\n        statusMessage: string;\n        httpVersion: string;\n        httpVersionMajor: number;\n        httpVersionMinor: number;\n        headers: IncomingHttpHeaders;\n        rawHeaders: string[];\n    }\n    /**\n     * This object is created internally and returned from {@link request}. It\n     * represents an _in-progress_ request whose header has already been queued. The\n     * header is still mutable using the `setHeader(name, value)`, `getHeader(name)`, `removeHeader(name)` API. The actual header will\n     * be sent along with the first data chunk or when calling `request.end()`.\n     *\n     * To get the response, add a listener for `'response'` to the request object.`'response'` will be emitted from the request object when the response\n     * headers have been received. The `'response'` event is executed with one\n     * argument which is an instance of {@link IncomingMessage}.\n     *\n     * During the `'response'` event, one can add listeners to the\n     * response object; particularly to listen for the `'data'` event.\n     *\n     * If no `'response'` handler is added, then the response will be\n     * entirely discarded. However, if a `'response'` event handler is added,\n     * then the data from the response object **must** be consumed, either by\n     * calling `response.read()` whenever there is a `'readable'` event, or\n     * by adding a `'data'` handler, or by calling the `.resume()` method.\n     * Until the data is consumed, the `'end'` event will not fire. Also, until\n     * the data is read it will consume memory that can eventually lead to a\n     * 'process out of memory' error.\n     *\n     * For backward compatibility, `res` will only emit `'error'` if there is an`'error'` listener registered.\n     *\n     * Node.js does not check whether Content-Length and the length of the\n     * body which has been transmitted are equal or not.\n     * @since v0.1.17\n     */\n    class ClientRequest extends OutgoingMessage {\n        /**\n         * The `request.aborted` property will be `true` if the request has\n         * been aborted.\n         * @since v0.11.14\n         * @deprecated Since v17.0.0,v16.12.0 - Check `destroyed` instead.\n         */\n        aborted: boolean;\n        /**\n         * The request host.\n         * @since v14.5.0, v12.19.0\n         */\n        host: string;\n        /**\n         * The request protocol.\n         * @since v14.5.0, v12.19.0\n         */\n        protocol: string;\n        /**\n         * When sending request through a keep-alive enabled agent, the underlying socket\n         * might be reused. But if server closes connection at unfortunate time, client\n         * may run into a 'ECONNRESET' error.\n         *\n         * ```js\n         * import http from 'node:http';\n         *\n         * // Server has a 5 seconds keep-alive timeout by default\n         * http\n         *   .createServer((req, res) => {\n         *     res.write('hello\\n');\n         *     res.end();\n         *   })\n         *   .listen(3000);\n         *\n         * setInterval(() => {\n         *   // Adapting a keep-alive agent\n         *   http.get('http://localhost:3000', { agent }, (res) => {\n         *     res.on('data', (data) => {\n         *       // Do nothing\n         *     });\n         *   });\n         * }, 5000); // Sending request on 5s interval so it's easy to hit idle timeout\n         * ```\n         *\n         * By marking a request whether it reused socket or not, we can do\n         * automatic error retry base on it.\n         *\n         * ```js\n         * import http from 'node:http';\n         * const agent = new http.Agent({ keepAlive: true });\n         *\n         * function retriableRequest() {\n         *   const req = http\n         *     .get('http://localhost:3000', { agent }, (res) => {\n         *       // ...\n         *     })\n         *     .on('error', (err) => {\n         *       // Check if retry is needed\n         *       if (req.reusedSocket &#x26;&#x26; err.code === 'ECONNRESET') {\n         *         retriableRequest();\n         *       }\n         *     });\n         * }\n         *\n         * retriableRequest();\n         * ```\n         * @since v13.0.0, v12.16.0\n         */\n        reusedSocket: boolean;\n        /**\n         * Limits maximum response headers count. If set to 0, no limit will be applied.\n         */\n        maxHeadersCount: number;\n        constructor(url: string | URL | ClientRequestArgs, cb?: (res: IncomingMessage) => void);\n        /**\n         * The request method.\n         * @since v0.1.97\n         */\n        method: string;\n        /**\n         * The request path.\n         * @since v0.4.0\n         */\n        path: string;\n        /**\n         * Marks the request as aborting. Calling this will cause remaining data\n         * in the response to be dropped and the socket to be destroyed.\n         * @since v0.3.8\n         * @deprecated Since v14.1.0,v13.14.0 - Use `destroy` instead.\n         */\n        abort(): void;\n        onSocket(socket: Socket): void;\n        /**\n         * Once a socket is assigned to this request and is connected `socket.setTimeout()` will be called.\n         * @since v0.5.9\n         * @param timeout Milliseconds before a request times out.\n         * @param callback Optional function to be called when a timeout occurs. Same as binding to the `'timeout'` event.\n         */\n        setTimeout(timeout: number, callback?: () => void): this;\n        /**\n         * Once a socket is assigned to this request and is connected `socket.setNoDelay()` will be called.\n         * @since v0.5.9\n         */\n        setNoDelay(noDelay?: boolean): void;\n        /**\n         * Once a socket is assigned to this request and is connected `socket.setKeepAlive()` will be called.\n         * @since v0.5.9\n         */\n        setSocketKeepAlive(enable?: boolean, initialDelay?: number): void;\n        /**\n         * Returns an array containing the unique names of the current outgoing raw\n         * headers. Header names are returned with their exact casing being set.\n         *\n         * ```js\n         * request.setHeader('Foo', 'bar');\n         * request.setHeader('Set-Cookie', ['foo=bar', 'bar=baz']);\n         *\n         * const headerNames = request.getRawHeaderNames();\n         * // headerNames === ['Foo', 'Set-Cookie']\n         * ```\n         * @since v15.13.0, v14.17.0\n         */\n        getRawHeaderNames(): string[];\n        /**\n         * @deprecated\n         */\n        addListener(event: \"abort\", listener: () => void): this;\n        addListener(\n            event: \"connect\",\n            listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,\n        ): this;\n        addListener(event: \"continue\", listener: () => void): this;\n        addListener(event: \"information\", listener: (info: InformationEvent) => void): this;\n        addListener(event: \"response\", listener: (response: IncomingMessage) => void): this;\n        addListener(event: \"socket\", listener: (socket: Socket) => void): this;\n        addListener(event: \"timeout\", listener: () => void): this;\n        addListener(\n            event: \"upgrade\",\n            listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,\n        ): this;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"drain\", listener: () => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: \"finish\", listener: () => void): this;\n        addListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        addListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        /**\n         * @deprecated\n         */\n        on(event: \"abort\", listener: () => void): this;\n        on(event: \"connect\", listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this;\n        on(event: \"continue\", listener: () => void): this;\n        on(event: \"information\", listener: (info: InformationEvent) => void): this;\n        on(event: \"response\", listener: (response: IncomingMessage) => void): this;\n        on(event: \"socket\", listener: (socket: Socket) => void): this;\n        on(event: \"timeout\", listener: () => void): this;\n        on(event: \"upgrade\", listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"drain\", listener: () => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"finish\", listener: () => void): this;\n        on(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        on(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        /**\n         * @deprecated\n         */\n        once(event: \"abort\", listener: () => void): this;\n        once(event: \"connect\", listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this;\n        once(event: \"continue\", listener: () => void): this;\n        once(event: \"information\", listener: (info: InformationEvent) => void): this;\n        once(event: \"response\", listener: (response: IncomingMessage) => void): this;\n        once(event: \"socket\", listener: (socket: Socket) => void): this;\n        once(event: \"timeout\", listener: () => void): this;\n        once(event: \"upgrade\", listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"drain\", listener: () => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"finish\", listener: () => void): this;\n        once(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        once(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        /**\n         * @deprecated\n         */\n        prependListener(event: \"abort\", listener: () => void): this;\n        prependListener(\n            event: \"connect\",\n            listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,\n        ): this;\n        prependListener(event: \"continue\", listener: () => void): this;\n        prependListener(event: \"information\", listener: (info: InformationEvent) => void): this;\n        prependListener(event: \"response\", listener: (response: IncomingMessage) => void): this;\n        prependListener(event: \"socket\", listener: (socket: Socket) => void): this;\n        prependListener(event: \"timeout\", listener: () => void): this;\n        prependListener(\n            event: \"upgrade\",\n            listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,\n        ): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"drain\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: \"finish\", listener: () => void): this;\n        prependListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        prependListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        /**\n         * @deprecated\n         */\n        prependOnceListener(event: \"abort\", listener: () => void): this;\n        prependOnceListener(\n            event: \"connect\",\n            listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,\n        ): this;\n        prependOnceListener(event: \"continue\", listener: () => void): this;\n        prependOnceListener(event: \"information\", listener: (info: InformationEvent) => void): this;\n        prependOnceListener(event: \"response\", listener: (response: IncomingMessage) => void): this;\n        prependOnceListener(event: \"socket\", listener: (socket: Socket) => void): this;\n        prependOnceListener(event: \"timeout\", listener: () => void): this;\n        prependOnceListener(\n            event: \"upgrade\",\n            listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,\n        ): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"drain\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(event: \"finish\", listener: () => void): this;\n        prependOnceListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        prependOnceListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    /**\n     * An `IncomingMessage` object is created by {@link Server} or {@link ClientRequest} and passed as the first argument to the `'request'` and `'response'` event respectively. It may be used to\n     * access response\n     * status, headers and data.\n     *\n     * Different from its `socket` value which is a subclass of `stream.Duplex`, the`IncomingMessage` itself extends `stream.Readable` and is created separately to\n     * parse and emit the incoming HTTP headers and payload, as the underlying socket\n     * may be reused multiple times in case of keep-alive.\n     * @since v0.1.17\n     */\n    class IncomingMessage extends stream.Readable {\n        constructor(socket: Socket);\n        /**\n         * The `message.aborted` property will be `true` if the request has\n         * been aborted.\n         * @since v10.1.0\n         * @deprecated Since v17.0.0,v16.12.0 - Check `message.destroyed` from <a href=\"stream.html#class-streamreadable\" class=\"type\">stream.Readable</a>.\n         */\n        aborted: boolean;\n        /**\n         * In case of server request, the HTTP version sent by the client. In the case of\n         * client response, the HTTP version of the connected-to server.\n         * Probably either `'1.1'` or `'1.0'`.\n         *\n         * Also `message.httpVersionMajor` is the first integer and`message.httpVersionMinor` is the second.\n         * @since v0.1.1\n         */\n        httpVersion: string;\n        httpVersionMajor: number;\n        httpVersionMinor: number;\n        /**\n         * The `message.complete` property will be `true` if a complete HTTP message has\n         * been received and successfully parsed.\n         *\n         * This property is particularly useful as a means of determining if a client or\n         * server fully transmitted a message before a connection was terminated:\n         *\n         * ```js\n         * const req = http.request({\n         *   host: '127.0.0.1',\n         *   port: 8080,\n         *   method: 'POST'\n         * }, (res) => {\n         *   res.resume();\n         *   res.on('end', () => {\n         *     if (!res.complete)\n         *       console.error(\n         *         'The connection was terminated while the message was still being sent');\n         *   });\n         * });\n         * ```\n         * @since v0.3.0\n         */\n        complete: boolean;\n        /**\n         * Alias for `message.socket`.\n         * @since v0.1.90\n         * @deprecated Since v16.0.0 - Use `socket`.\n         */\n        connection: Socket;\n        /**\n         * The `net.Socket` object associated with the connection.\n         *\n         * With HTTPS support, use `request.socket.getPeerCertificate()` to obtain the\n         * client's authentication details.\n         *\n         * This property is guaranteed to be an instance of the `net.Socket` class,\n         * a subclass of `stream.Duplex`, unless the user specified a socket\n         * type other than `net.Socket` or internally nulled.\n         * @since v0.3.0\n         */\n        socket: Socket;\n        /**\n         * The request/response headers object.\n         *\n         * Key-value pairs of header names and values. Header names are lower-cased.\n         *\n         * ```js\n         * // Prints something like:\n         * //\n         * // { 'user-agent': 'curl/7.22.0',\n         * //   host: '127.0.0.1:8000',\n         * //   accept: '*' }\n         * console.log(request.getHeaders());\n         * ```\n         *\n         * Duplicates in raw headers are handled in the following ways, depending on the\n         * header name:\n         *\n         * * Duplicates of `age`, `authorization`, `content-length`, `content-type`, `etag`, `expires`, `from`, `host`, `if-modified-since`, `if-unmodified-since`, `last-modified`, `location`,\n         * `max-forwards`, `proxy-authorization`, `referer`, `retry-after`, `server`, or `user-agent` are discarded.\n         * * `set-cookie` is always an array. Duplicates are added to the array.\n         * * For duplicate `cookie` headers, the values are joined together with '; '.\n         * * For all other headers, the values are joined together with ', '.\n         * @since v0.1.5\n         */\n        headers: IncomingHttpHeaders;\n        /**\n         * Similar to `message.headers`, but there is no join logic and the values are always arrays of strings, even for headers received just once.\n         *\n         * ```js\n         * // Prints something like:\n         * //\n         * // { 'user-agent': ['curl/7.22.0'],\n         * //   host: ['127.0.0.1:8000'],\n         * //   accept: ['*'] }\n         * console.log(request.headersDistinct);\n         * ```\n         * @since v18.3.0, v16.17.0\n         */\n        headersDistinct: NodeJS.Dict<string[]>;\n        /**\n         * The raw request/response headers list exactly as they were received.\n         *\n         * The keys and values are in the same list. It is _not_ a\n         * list of tuples. So, the even-numbered offsets are key values, and the\n         * odd-numbered offsets are the associated values.\n         *\n         * Header names are not lowercased, and duplicates are not merged.\n         *\n         * ```js\n         * // Prints something like:\n         * //\n         * // [ 'user-agent',\n         * //   'this is invalid because there can be only one',\n         * //   'User-Agent',\n         * //   'curl/7.22.0',\n         * //   'Host',\n         * //   '127.0.0.1:8000',\n         * //   'ACCEPT',\n         * //   '*' ]\n         * console.log(request.rawHeaders);\n         * ```\n         * @since v0.11.6\n         */\n        rawHeaders: string[];\n        /**\n         * The request/response trailers object. Only populated at the `'end'` event.\n         * @since v0.3.0\n         */\n        trailers: NodeJS.Dict<string>;\n        /**\n         * Similar to `message.trailers`, but there is no join logic and the values are always arrays of strings, even for headers received just once.\n         * Only populated at the `'end'` event.\n         * @since v18.3.0, v16.17.0\n         */\n        trailersDistinct: NodeJS.Dict<string[]>;\n        /**\n         * The raw request/response trailer keys and values exactly as they were\n         * received. Only populated at the `'end'` event.\n         * @since v0.11.6\n         */\n        rawTrailers: string[];\n        /**\n         * Calls `message.socket.setTimeout(msecs, callback)`.\n         * @since v0.5.9\n         */\n        setTimeout(msecs: number, callback?: () => void): this;\n        /**\n         * **Only valid for request obtained from {@link Server}.**\n         *\n         * The request method as a string. Read only. Examples: `'GET'`, `'DELETE'`.\n         * @since v0.1.1\n         */\n        method?: string | undefined;\n        /**\n         * **Only valid for request obtained from {@link Server}.**\n         *\n         * Request URL string. This contains only the URL that is present in the actual\n         * HTTP request. Take the following request:\n         *\n         * ```http\n         * GET /status?name=ryan HTTP/1.1\n         * Accept: text/plain\n         * ```\n         *\n         * To parse the URL into its parts:\n         *\n         * ```js\n         * new URL(request.url, `http://${request.getHeaders().host}`);\n         * ```\n         *\n         * When `request.url` is `'/status?name=ryan'` and `request.getHeaders().host` is `'localhost:3000'`:\n         *\n         * ```console\n         * $ node\n         * > new URL(request.url, `http://${request.getHeaders().host}`)\n         * URL {\n         *   href: 'http://localhost:3000/status?name=ryan',\n         *   origin: 'http://localhost:3000',\n         *   protocol: 'http:',\n         *   username: '',\n         *   password: '',\n         *   host: 'localhost:3000',\n         *   hostname: 'localhost',\n         *   port: '3000',\n         *   pathname: '/status',\n         *   search: '?name=ryan',\n         *   searchParams: URLSearchParams { 'name' => 'ryan' },\n         *   hash: ''\n         * }\n         * ```\n         * @since v0.1.90\n         */\n        url?: string | undefined;\n        /**\n         * **Only valid for response obtained from {@link ClientRequest}.**\n         *\n         * The 3-digit HTTP response status code. E.G. `404`.\n         * @since v0.1.1\n         */\n        statusCode?: number | undefined;\n        /**\n         * **Only valid for response obtained from {@link ClientRequest}.**\n         *\n         * The HTTP response status message (reason phrase). E.G. `OK` or `Internal Server Error`.\n         * @since v0.11.10\n         */\n        statusMessage?: string | undefined;\n        /**\n         * Calls `destroy()` on the socket that received the `IncomingMessage`. If `error`is provided, an `'error'` event is emitted on the socket and `error` is passed\n         * as an argument to any listeners on the event.\n         * @since v0.3.0\n         */\n        destroy(error?: Error): this;\n    }\n    interface AgentOptions extends NodeJS.PartialOptions<TcpSocketConnectOpts> {\n        /**\n         * Keep sockets around in a pool to be used by other requests in the future. Default = false\n         */\n        keepAlive?: boolean | undefined;\n        /**\n         * When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000.\n         * Only relevant if keepAlive is set to true.\n         */\n        keepAliveMsecs?: number | undefined;\n        /**\n         * Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity\n         */\n        maxSockets?: number | undefined;\n        /**\n         * Maximum number of sockets allowed for all hosts in total. Each request will use a new socket until the maximum is reached. Default: Infinity.\n         */\n        maxTotalSockets?: number | undefined;\n        /**\n         * Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256.\n         */\n        maxFreeSockets?: number | undefined;\n        /**\n         * Socket timeout in milliseconds. This will set the timeout after the socket is connected.\n         */\n        timeout?: number | undefined;\n        /**\n         * Scheduling strategy to apply when picking the next free socket to use.\n         * @default `lifo`\n         */\n        scheduling?: \"fifo\" | \"lifo\" | undefined;\n    }\n    /**\n     * An `Agent` is responsible for managing connection persistence\n     * and reuse for HTTP clients. It maintains a queue of pending requests\n     * for a given host and port, reusing a single socket connection for each\n     * until the queue is empty, at which time the socket is either destroyed\n     * or put into a pool where it is kept to be used again for requests to the\n     * same host and port. Whether it is destroyed or pooled depends on the`keepAlive` `option`.\n     *\n     * Pooled connections have TCP Keep-Alive enabled for them, but servers may\n     * still close idle connections, in which case they will be removed from the\n     * pool and a new connection will be made when a new HTTP request is made for\n     * that host and port. Servers may also refuse to allow multiple requests\n     * over the same connection, in which case the connection will have to be\n     * remade for every request and cannot be pooled. The `Agent` will still make\n     * the requests to that server, but each one will occur over a new connection.\n     *\n     * When a connection is closed by the client or the server, it is removed\n     * from the pool. Any unused sockets in the pool will be unrefed so as not\n     * to keep the Node.js process running when there are no outstanding requests.\n     * (see `socket.unref()`).\n     *\n     * It is good practice, to `destroy()` an `Agent` instance when it is no\n     * longer in use, because unused sockets consume OS resources.\n     *\n     * Sockets are removed from an agent when the socket emits either\n     * a `'close'` event or an `'agentRemove'` event. When intending to keep one\n     * HTTP request open for a long time without keeping it in the agent, something\n     * like the following may be done:\n     *\n     * ```js\n     * http.get(options, (res) => {\n     *   // Do stuff\n     * }).on('socket', (socket) => {\n     *   socket.emit('agentRemove');\n     * });\n     * ```\n     *\n     * An agent may also be used for an individual request. By providing`{agent: false}` as an option to the `http.get()` or `http.request()` functions, a one-time use `Agent` with default options\n     * will be used\n     * for the client connection.\n     *\n     * `agent:false`:\n     *\n     * ```js\n     * http.get({\n     *   hostname: 'localhost',\n     *   port: 80,\n     *   path: '/',\n     *   agent: false  // Create a new agent just for this one request\n     * }, (res) => {\n     *   // Do stuff with response\n     * });\n     * ```\n     * @since v0.3.4\n     */\n    class Agent extends EventEmitter {\n        /**\n         * By default set to 256. For agents with `keepAlive` enabled, this\n         * sets the maximum number of sockets that will be left open in the free\n         * state.\n         * @since v0.11.7\n         */\n        maxFreeSockets: number;\n        /**\n         * By default set to `Infinity`. Determines how many concurrent sockets the agent\n         * can have open per origin. Origin is the returned value of `agent.getName()`.\n         * @since v0.3.6\n         */\n        maxSockets: number;\n        /**\n         * By default set to `Infinity`. Determines how many concurrent sockets the agent\n         * can have open. Unlike `maxSockets`, this parameter applies across all origins.\n         * @since v14.5.0, v12.19.0\n         */\n        maxTotalSockets: number;\n        /**\n         * An object which contains arrays of sockets currently awaiting use by\n         * the agent when `keepAlive` is enabled. Do not modify.\n         *\n         * Sockets in the `freeSockets` list will be automatically destroyed and\n         * removed from the array on `'timeout'`.\n         * @since v0.11.4\n         */\n        readonly freeSockets: NodeJS.ReadOnlyDict<Socket[]>;\n        /**\n         * An object which contains arrays of sockets currently in use by the\n         * agent. Do not modify.\n         * @since v0.3.6\n         */\n        readonly sockets: NodeJS.ReadOnlyDict<Socket[]>;\n        /**\n         * An object which contains queues of requests that have not yet been assigned to\n         * sockets. Do not modify.\n         * @since v0.5.9\n         */\n        readonly requests: NodeJS.ReadOnlyDict<IncomingMessage[]>;\n        constructor(opts?: AgentOptions);\n        /**\n         * Destroy any sockets that are currently in use by the agent.\n         *\n         * It is usually not necessary to do this. However, if using an\n         * agent with `keepAlive` enabled, then it is best to explicitly shut down\n         * the agent when it is no longer needed. Otherwise,\n         * sockets might stay open for quite a long time before the server\n         * terminates them.\n         * @since v0.11.4\n         */\n        destroy(): void;\n        /**\n         * Produces a socket/stream to be used for HTTP requests.\n         *\n         * By default, this function is the same as `net.createConnection()`. However,\n         * custom agents may override this method in case greater flexibility is desired.\n         *\n         * A socket/stream can be supplied in one of two ways: by returning the\n         * socket/stream from this function, or by passing the socket/stream to `callback`.\n         *\n         * This method is guaranteed to return an instance of the `net.Socket` class,\n         * a subclass of `stream.Duplex`, unless the user specifies a socket\n         * type other than `net.Socket`.\n         *\n         * `callback` has a signature of `(err, stream)`.\n         * @since v0.11.4\n         * @param options Options containing connection details. Check `createConnection` for the format of the options\n         * @param callback Callback function that receives the created socket\n         */\n        createConnection(\n            options: ClientRequestArgs,\n            callback?: (err: Error | null, stream: stream.Duplex) => void,\n        ): stream.Duplex | null | undefined;\n        /**\n         * Called when `socket` is detached from a request and could be persisted by the`Agent`. Default behavior is to:\n         *\n         * ```js\n         * socket.setKeepAlive(true, this.keepAliveMsecs);\n         * socket.unref();\n         * return true;\n         * ```\n         *\n         * This method can be overridden by a particular `Agent` subclass. If this\n         * method returns a falsy value, the socket will be destroyed instead of persisting\n         * it for use with the next request.\n         *\n         * The `socket` argument can be an instance of `net.Socket`, a subclass of `stream.Duplex`.\n         * @since v8.1.0\n         */\n        keepSocketAlive(socket: stream.Duplex): void;\n        /**\n         * Called when `socket` is attached to `request` after being persisted because of\n         * the keep-alive options. Default behavior is to:\n         *\n         * ```js\n         * socket.ref();\n         * ```\n         *\n         * This method can be overridden by a particular `Agent` subclass.\n         *\n         * The `socket` argument can be an instance of `net.Socket`, a subclass of `stream.Duplex`.\n         * @since v8.1.0\n         */\n        reuseSocket(socket: stream.Duplex, request: ClientRequest): void;\n        /**\n         * Get a unique name for a set of request options, to determine whether a\n         * connection can be reused. For an HTTP agent, this returns`host:port:localAddress` or `host:port:localAddress:family`. For an HTTPS agent,\n         * the name includes the CA, cert, ciphers, and other HTTPS/TLS-specific options\n         * that determine socket reusability.\n         * @since v0.11.4\n         * @param options A set of options providing information for name generation\n         */\n        getName(options?: ClientRequestArgs): string;\n    }\n    const METHODS: string[];\n    const STATUS_CODES: {\n        [errorCode: number]: string | undefined;\n        [errorCode: string]: string | undefined;\n    };\n    /**\n     * Returns a new instance of {@link Server}.\n     *\n     * The `requestListener` is a function which is automatically\n     * added to the `'request'` event.\n     * @since v0.1.13\n     */\n    function createServer<\n        Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Response extends typeof ServerResponse<InstanceType<Request>> = typeof ServerResponse,\n    >(requestListener?: RequestListener<Request, Response>): Server<Request, Response>;\n    function createServer<\n        Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Response extends typeof ServerResponse<InstanceType<Request>> = typeof ServerResponse,\n    >(\n        options: ServerOptions<Request, Response>,\n        requestListener?: RequestListener<Request, Response>,\n    ): Server<Request, Response>;\n    // although RequestOptions are passed as ClientRequestArgs to ClientRequest directly,\n    // create interface RequestOptions would make the naming more clear to developers\n    interface RequestOptions extends ClientRequestArgs {}\n    /**\n     * `options` in `socket.connect()` are also supported.\n     *\n     * Node.js maintains several connections per server to make HTTP requests.\n     * This function allows one to transparently issue requests.\n     *\n     * `url` can be a string or a `URL` object. If `url` is a\n     * string, it is automatically parsed with `new URL()`. If it is a `URL` object, it will be automatically converted to an ordinary `options` object.\n     *\n     * If both `url` and `options` are specified, the objects are merged, with the`options` properties taking precedence.\n     *\n     * The optional `callback` parameter will be added as a one-time listener for\n     * the `'response'` event.\n     *\n     * `http.request()` returns an instance of the {@link ClientRequest} class. The `ClientRequest` instance is a writable stream. If one needs to\n     * upload a file with a POST request, then write to the `ClientRequest` object.\n     *\n     * ```js\n     * import http from 'node:http';\n     *\n     * const postData = JSON.stringify({\n     *   'msg': 'Hello World!'\n     * });\n     *\n     * const options = {\n     *   hostname: 'www.google.com',\n     *   port: 80,\n     *   path: '/upload',\n     *   method: 'POST',\n     *   headers: {\n     *     'Content-Type': 'application/json',\n     *     'Content-Length': Buffer.byteLength(postData)\n     *   }\n     * };\n     *\n     * const req = http.request(options, (res) => {\n     *   console.log(`STATUS: ${res.statusCode}`);\n     *   console.log(`HEADERS: ${JSON.stringify(res.headers)}`);\n     *   res.setEncoding('utf8');\n     *   res.on('data', (chunk) => {\n     *     console.log(`BODY: ${chunk}`);\n     *   });\n     *   res.on('end', () => {\n     *     console.log('No more data in response.');\n     *   });\n     * });\n     *\n     * req.on('error', (e) => {\n     *   console.error(`problem with request: ${e.message}`);\n     * });\n     *\n     * // Write data to request body\n     * req.write(postData);\n     * req.end();\n     * ```\n     *\n     * In the example `req.end()` was called. With `http.request()` one\n     * must always call `req.end()` to signify the end of the request -\n     * even if there is no data being written to the request body.\n     *\n     * If any error is encountered during the request (be that with DNS resolution,\n     * TCP level errors, or actual HTTP parse errors) an `'error'` event is emitted\n     * on the returned request object. As with all `'error'` events, if no listeners\n     * are registered the error will be thrown.\n     *\n     * There are a few special headers that should be noted.\n     *\n     * * Sending a 'Connection: keep-alive' will notify Node.js that the connection to\n     * the server should be persisted until the next request.\n     * * Sending a 'Content-Length' header will disable the default chunked encoding.\n     * * Sending an 'Expect' header will immediately send the request headers.\n     * Usually, when sending 'Expect: 100-continue', both a timeout and a listener\n     * for the `'continue'` event should be set. See RFC 2616 Section 8.2.3 for more\n     * information.\n     * * Sending an Authorization header will override using the `auth` option\n     * to compute basic authentication.\n     *\n     * Example using a `URL` as `options`:\n     *\n     * ```js\n     * const options = new URL('http://abc:xyz@example.com');\n     *\n     * const req = http.request(options, (res) => {\n     *   // ...\n     * });\n     * ```\n     *\n     * In a successful request, the following events will be emitted in the following\n     * order:\n     *\n     * * `'socket'`\n     * * `'response'`\n     *    * `'data'` any number of times, on the `res` object\n     *    (`'data'` will not be emitted at all if the response body is empty, for\n     *    instance, in most redirects)\n     *    * `'end'` on the `res` object\n     * * `'close'`\n     *\n     * In the case of a connection error, the following events will be emitted:\n     *\n     * * `'socket'`\n     * * `'error'`\n     * * `'close'`\n     *\n     * In the case of a premature connection close before the response is received,\n     * the following events will be emitted in the following order:\n     *\n     * * `'socket'`\n     * * `'error'` with an error with message `'Error: socket hang up'` and code`'ECONNRESET'`\n     * * `'close'`\n     *\n     * In the case of a premature connection close after the response is received,\n     * the following events will be emitted in the following order:\n     *\n     * * `'socket'`\n     * * `'response'`\n     *    * `'data'` any number of times, on the `res` object\n     * * (connection closed here)\n     * * `'aborted'` on the `res` object\n     * * `'error'` on the `res` object with an error with message`'Error: aborted'` and code `'ECONNRESET'`.\n     * * `'close'`\n     * * `'close'` on the `res` object\n     *\n     * If `req.destroy()` is called before a socket is assigned, the following\n     * events will be emitted in the following order:\n     *\n     * * (`req.destroy()` called here)\n     * * `'error'` with an error with message `'Error: socket hang up'` and code`'ECONNRESET'`\n     * * `'close'`\n     *\n     * If `req.destroy()` is called before the connection succeeds, the following\n     * events will be emitted in the following order:\n     *\n     * * `'socket'`\n     * * (`req.destroy()` called here)\n     * * `'error'` with an error with message `'Error: socket hang up'` and code`'ECONNRESET'`\n     * * `'close'`\n     *\n     * If `req.destroy()` is called after the response is received, the following\n     * events will be emitted in the following order:\n     *\n     * * `'socket'`\n     * * `'response'`\n     *    * `'data'` any number of times, on the `res` object\n     * * (`req.destroy()` called here)\n     * * `'aborted'` on the `res` object\n     * * `'error'` on the `res` object with an error with message`'Error: aborted'` and code `'ECONNRESET'`.\n     * * `'close'`\n     * * `'close'` on the `res` object\n     *\n     * If `req.abort()` is called before a socket is assigned, the following\n     * events will be emitted in the following order:\n     *\n     * * (`req.abort()` called here)\n     * * `'abort'`\n     * * `'close'`\n     *\n     * If `req.abort()` is called before the connection succeeds, the following\n     * events will be emitted in the following order:\n     *\n     * * `'socket'`\n     * * (`req.abort()` called here)\n     * * `'abort'`\n     * * `'error'` with an error with message `'Error: socket hang up'` and code`'ECONNRESET'`\n     * * `'close'`\n     *\n     * If `req.abort()` is called after the response is received, the following\n     * events will be emitted in the following order:\n     *\n     * * `'socket'`\n     * * `'response'`\n     *    * `'data'` any number of times, on the `res` object\n     * * (`req.abort()` called here)\n     * * `'abort'`\n     * * `'aborted'` on the `res` object\n     * * `'error'` on the `res` object with an error with message`'Error: aborted'` and code `'ECONNRESET'`.\n     * * `'close'`\n     * * `'close'` on the `res` object\n     *\n     * Setting the `timeout` option or using the `setTimeout()` function will\n     * not abort the request or do anything besides add a `'timeout'` event.\n     *\n     * Passing an `AbortSignal` and then calling `abort` on the corresponding`AbortController` will behave the same way as calling `.destroy()` on the\n     * request itself.\n     * @since v0.3.6\n     */\n    function request(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest;\n    function request(\n        url: string | URL,\n        options: RequestOptions,\n        callback?: (res: IncomingMessage) => void,\n    ): ClientRequest;\n    /**\n     * Since most requests are GET requests without bodies, Node.js provides this\n     * convenience method. The only difference between this method and {@link request} is that it sets the method to GET and calls `req.end()`automatically. The callback must take care to consume the\n     * response\n     * data for reasons stated in {@link ClientRequest} section.\n     *\n     * The `callback` is invoked with a single argument that is an instance of {@link IncomingMessage}.\n     *\n     * JSON fetching example:\n     *\n     * ```js\n     * http.get('http://localhost:8000/', (res) => {\n     *   const { statusCode } = res;\n     *   const contentType = res.headers['content-type'];\n     *\n     *   let error;\n     *   // Any 2xx status code signals a successful response but\n     *   // here we're only checking for 200.\n     *   if (statusCode !== 200) {\n     *     error = new Error('Request Failed.\\n' +\n     *                       `Status Code: ${statusCode}`);\n     *   } else if (!/^application\\/json/.test(contentType)) {\n     *     error = new Error('Invalid content-type.\\n' +\n     *                       `Expected application/json but received ${contentType}`);\n     *   }\n     *   if (error) {\n     *     console.error(error.message);\n     *     // Consume response data to free up memory\n     *     res.resume();\n     *     return;\n     *   }\n     *\n     *   res.setEncoding('utf8');\n     *   let rawData = '';\n     *   res.on('data', (chunk) => { rawData += chunk; });\n     *   res.on('end', () => {\n     *     try {\n     *       const parsedData = JSON.parse(rawData);\n     *       console.log(parsedData);\n     *     } catch (e) {\n     *       console.error(e.message);\n     *     }\n     *   });\n     * }).on('error', (e) => {\n     *   console.error(`Got error: ${e.message}`);\n     * });\n     *\n     * // Create a local server to receive data from\n     * const server = http.createServer((req, res) => {\n     *   res.writeHead(200, { 'Content-Type': 'application/json' });\n     *   res.end(JSON.stringify({\n     *     data: 'Hello World!'\n     *   }));\n     * });\n     *\n     * server.listen(8000);\n     * ```\n     * @since v0.3.6\n     * @param options Accepts the same `options` as {@link request}, with the `method` always set to `GET`. Properties that are inherited from the prototype are ignored.\n     */\n    function get(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest;\n    function get(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest;\n\n    /**\n     * Performs the low-level validations on the provided name that are done when `res.setHeader(name, value)` is called.\n     * Passing illegal value as name will result in a TypeError being thrown, identified by `code: 'ERR_INVALID_HTTP_TOKEN'`.\n     * @param name Header name\n     * @since v14.3.0\n     */\n    function validateHeaderName(name: string): void;\n    /**\n     * Performs the low-level validations on the provided value that are done when `res.setHeader(name, value)` is called.\n     * Passing illegal value as value will result in a TypeError being thrown.\n     * - Undefined value error is identified by `code: 'ERR_HTTP_INVALID_HEADER_VALUE'`.\n     * - Invalid value character error is identified by `code: 'ERR_INVALID_CHAR'`.\n     * @param name Header name\n     * @param value Header value\n     * @since v14.3.0\n     */\n    function validateHeaderValue(name: string, value: string): void;\n\n    /**\n     * Set the maximum number of idle HTTP parsers. Default: 1000.\n     * @param count\n     * @since v18.8.0, v16.18.0\n     */\n    function setMaxIdleHTTPParsers(count: number): void;\n\n    let globalAgent: Agent;\n    /**\n     * Read-only property specifying the maximum allowed size of HTTP headers in bytes.\n     * Defaults to 16KB. Configurable using the `--max-http-header-size` CLI option.\n     */\n    const maxHeaderSize: number;\n}\ndeclare module \"node:http\" {\n    export * from \"http\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/http2.d.ts",
      "content": "/**\n * The `http2` module provides an implementation of the [HTTP/2](https://tools.ietf.org/html/rfc7540) protocol.\n * It can be accessed using:\n *\n * ```js\n * import http2 from 'node:http2';\n * ```\n * @since v8.4.0\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/http2.js)\n */\ndeclare module \"http2\" {\n    import EventEmitter = require(\"node:events\");\n    import * as fs from \"node:fs\";\n    import * as net from \"node:net\";\n    import * as stream from \"node:stream\";\n    import * as tls from \"node:tls\";\n    import * as url from \"node:url\";\n    import {\n        IncomingHttpHeaders as Http1IncomingHttpHeaders,\n        IncomingMessage,\n        OutgoingHttpHeaders,\n        ServerResponse,\n    } from \"node:http\";\n    export { OutgoingHttpHeaders } from \"node:http\";\n    export interface IncomingHttpStatusHeader {\n        \":status\"?: number | undefined;\n    }\n    export interface IncomingHttpHeaders extends Http1IncomingHttpHeaders {\n        \":path\"?: string | undefined;\n        \":method\"?: string | undefined;\n        \":authority\"?: string | undefined;\n        \":scheme\"?: string | undefined;\n    }\n    // Http2Stream\n    export interface StreamPriorityOptions {\n        exclusive?: boolean | undefined;\n        parent?: number | undefined;\n        weight?: number | undefined;\n        silent?: boolean | undefined;\n    }\n    export interface StreamState {\n        localWindowSize?: number | undefined;\n        state?: number | undefined;\n        localClose?: number | undefined;\n        remoteClose?: number | undefined;\n        sumDependencyWeight?: number | undefined;\n        weight?: number | undefined;\n    }\n    export interface ServerStreamResponseOptions {\n        endStream?: boolean | undefined;\n        waitForTrailers?: boolean | undefined;\n    }\n    export interface StatOptions {\n        offset: number;\n        length: number;\n    }\n    export interface ServerStreamFileResponseOptions {\n        // eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n        statCheck?(stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions): void | boolean;\n        waitForTrailers?: boolean | undefined;\n        offset?: number | undefined;\n        length?: number | undefined;\n    }\n    export interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions {\n        onError?(err: NodeJS.ErrnoException): void;\n    }\n    export interface Http2Stream extends stream.Duplex {\n        /**\n         * Set to `true` if the `Http2Stream` instance was aborted abnormally. When set,\n         * the `'aborted'` event will have been emitted.\n         * @since v8.4.0\n         */\n        readonly aborted: boolean;\n        /**\n         * This property shows the number of characters currently buffered to be written.\n         * See `net.Socket.bufferSize` for details.\n         * @since v11.2.0, v10.16.0\n         */\n        readonly bufferSize: number;\n        /**\n         * Set to `true` if the `Http2Stream` instance has been closed.\n         * @since v9.4.0\n         */\n        readonly closed: boolean;\n        /**\n         * Set to `true` if the `Http2Stream` instance has been destroyed and is no longer\n         * usable.\n         * @since v8.4.0\n         */\n        readonly destroyed: boolean;\n        /**\n         * Set to `true` if the `END_STREAM` flag was set in the request or response\n         * HEADERS frame received, indicating that no additional data should be received\n         * and the readable side of the `Http2Stream` will be closed.\n         * @since v10.11.0\n         */\n        readonly endAfterHeaders: boolean;\n        /**\n         * The numeric stream identifier of this `Http2Stream` instance. Set to `undefined` if the stream identifier has not yet been assigned.\n         * @since v8.4.0\n         */\n        readonly id?: number | undefined;\n        /**\n         * Set to `true` if the `Http2Stream` instance has not yet been assigned a\n         * numeric stream identifier.\n         * @since v9.4.0\n         */\n        readonly pending: boolean;\n        /**\n         * Set to the `RST_STREAM` `error code` reported when the `Http2Stream` is\n         * destroyed after either receiving an `RST_STREAM` frame from the connected peer,\n         * calling `http2stream.close()`, or `http2stream.destroy()`. Will be `undefined` if the `Http2Stream` has not been closed.\n         * @since v8.4.0\n         */\n        readonly rstCode: number;\n        /**\n         * An object containing the outbound headers sent for this `Http2Stream`.\n         * @since v9.5.0\n         */\n        readonly sentHeaders: OutgoingHttpHeaders;\n        /**\n         * An array of objects containing the outbound informational (additional) headers\n         * sent for this `Http2Stream`.\n         * @since v9.5.0\n         */\n        readonly sentInfoHeaders?: OutgoingHttpHeaders[] | undefined;\n        /**\n         * An object containing the outbound trailers sent for this `HttpStream`.\n         * @since v9.5.0\n         */\n        readonly sentTrailers?: OutgoingHttpHeaders | undefined;\n        /**\n         * A reference to the `Http2Session` instance that owns this `Http2Stream`. The\n         * value will be `undefined` after the `Http2Stream` instance is destroyed.\n         * @since v8.4.0\n         */\n        readonly session: Http2Session | undefined;\n        /**\n         * Provides miscellaneous information about the current state of the `Http2Stream`.\n         *\n         * A current state of this `Http2Stream`.\n         * @since v8.4.0\n         */\n        readonly state: StreamState;\n        /**\n         * Closes the `Http2Stream` instance by sending an `RST_STREAM` frame to the\n         * connected HTTP/2 peer.\n         * @since v8.4.0\n         * @param [code=http2.constants.NGHTTP2_NO_ERROR] Unsigned 32-bit integer identifying the error code.\n         * @param callback An optional function registered to listen for the `'close'` event.\n         */\n        close(code?: number, callback?: () => void): void;\n        /**\n         * Updates the priority for this `Http2Stream` instance.\n         * @since v8.4.0\n         */\n        priority(options: StreamPriorityOptions): void;\n        /**\n         * ```js\n         * import http2 from 'node:http2';\n         * const client = http2.connect('http://example.org:8000');\n         * const { NGHTTP2_CANCEL } = http2.constants;\n         * const req = client.request({ ':path': '/' });\n         *\n         * // Cancel the stream if there's no activity after 5 seconds\n         * req.setTimeout(5000, () => req.close(NGHTTP2_CANCEL));\n         * ```\n         * @since v8.4.0\n         */\n        setTimeout(msecs: number, callback?: () => void): void;\n        /**\n         * Sends a trailing `HEADERS` frame to the connected HTTP/2 peer. This method\n         * will cause the `Http2Stream` to be immediately closed and must only be\n         * called after the `'wantTrailers'` event has been emitted. When sending a\n         * request or sending a response, the `options.waitForTrailers` option must be set\n         * in order to keep the `Http2Stream` open after the final `DATA` frame so that\n         * trailers can be sent.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * const server = http2.createServer();\n         * server.on('stream', (stream) => {\n         *   stream.respond(undefined, { waitForTrailers: true });\n         *   stream.on('wantTrailers', () => {\n         *     stream.sendTrailers({ xyz: 'abc' });\n         *   });\n         *   stream.end('Hello World');\n         * });\n         * ```\n         *\n         * The HTTP/1 specification forbids trailers from containing HTTP/2 pseudo-header\n         * fields (e.g. `':method'`, `':path'`, etc).\n         * @since v10.0.0\n         */\n        sendTrailers(headers: OutgoingHttpHeaders): void;\n        addListener(event: \"aborted\", listener: () => void): this;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        addListener(event: \"drain\", listener: () => void): this;\n        addListener(event: \"end\", listener: () => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: \"finish\", listener: () => void): this;\n        addListener(event: \"frameError\", listener: (frameType: number, errorCode: number) => void): this;\n        addListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        addListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        addListener(event: \"streamClosed\", listener: (code: number) => void): this;\n        addListener(event: \"timeout\", listener: () => void): this;\n        addListener(event: \"trailers\", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;\n        addListener(event: \"wantTrailers\", listener: () => void): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        emit(event: \"aborted\"): boolean;\n        emit(event: \"close\"): boolean;\n        emit(event: \"data\", chunk: Buffer | string): boolean;\n        emit(event: \"drain\"): boolean;\n        emit(event: \"end\"): boolean;\n        emit(event: \"error\", err: Error): boolean;\n        emit(event: \"finish\"): boolean;\n        emit(event: \"frameError\", frameType: number, errorCode: number): boolean;\n        emit(event: \"pipe\", src: stream.Readable): boolean;\n        emit(event: \"unpipe\", src: stream.Readable): boolean;\n        emit(event: \"streamClosed\", code: number): boolean;\n        emit(event: \"timeout\"): boolean;\n        emit(event: \"trailers\", trailers: IncomingHttpHeaders, flags: number): boolean;\n        emit(event: \"wantTrailers\"): boolean;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        on(event: \"aborted\", listener: () => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        on(event: \"drain\", listener: () => void): this;\n        on(event: \"end\", listener: () => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"finish\", listener: () => void): this;\n        on(event: \"frameError\", listener: (frameType: number, errorCode: number) => void): this;\n        on(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        on(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        on(event: \"streamClosed\", listener: (code: number) => void): this;\n        on(event: \"timeout\", listener: () => void): this;\n        on(event: \"trailers\", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;\n        on(event: \"wantTrailers\", listener: () => void): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(event: \"aborted\", listener: () => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        once(event: \"drain\", listener: () => void): this;\n        once(event: \"end\", listener: () => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"finish\", listener: () => void): this;\n        once(event: \"frameError\", listener: (frameType: number, errorCode: number) => void): this;\n        once(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        once(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        once(event: \"streamClosed\", listener: (code: number) => void): this;\n        once(event: \"timeout\", listener: () => void): this;\n        once(event: \"trailers\", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;\n        once(event: \"wantTrailers\", listener: () => void): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(event: \"aborted\", listener: () => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        prependListener(event: \"drain\", listener: () => void): this;\n        prependListener(event: \"end\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: \"finish\", listener: () => void): this;\n        prependListener(event: \"frameError\", listener: (frameType: number, errorCode: number) => void): this;\n        prependListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        prependListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        prependListener(event: \"streamClosed\", listener: (code: number) => void): this;\n        prependListener(event: \"timeout\", listener: () => void): this;\n        prependListener(event: \"trailers\", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;\n        prependListener(event: \"wantTrailers\", listener: () => void): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"aborted\", listener: () => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        prependOnceListener(event: \"drain\", listener: () => void): this;\n        prependOnceListener(event: \"end\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(event: \"finish\", listener: () => void): this;\n        prependOnceListener(event: \"frameError\", listener: (frameType: number, errorCode: number) => void): this;\n        prependOnceListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        prependOnceListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        prependOnceListener(event: \"streamClosed\", listener: (code: number) => void): this;\n        prependOnceListener(event: \"timeout\", listener: () => void): this;\n        prependOnceListener(event: \"trailers\", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;\n        prependOnceListener(event: \"wantTrailers\", listener: () => void): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    export interface ClientHttp2Stream extends Http2Stream {\n        addListener(event: \"continue\", listener: () => {}): this;\n        addListener(\n            event: \"headers\",\n            listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,\n        ): this;\n        addListener(event: \"push\", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;\n        addListener(\n            event: \"response\",\n            listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,\n        ): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        emit(event: \"continue\"): boolean;\n        emit(event: \"headers\", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean;\n        emit(event: \"push\", headers: IncomingHttpHeaders, flags: number): boolean;\n        emit(event: \"response\", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        on(event: \"continue\", listener: () => {}): this;\n        on(\n            event: \"headers\",\n            listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,\n        ): this;\n        on(event: \"push\", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;\n        on(\n            event: \"response\",\n            listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,\n        ): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(event: \"continue\", listener: () => {}): this;\n        once(\n            event: \"headers\",\n            listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,\n        ): this;\n        once(event: \"push\", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;\n        once(\n            event: \"response\",\n            listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,\n        ): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(event: \"continue\", listener: () => {}): this;\n        prependListener(\n            event: \"headers\",\n            listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,\n        ): this;\n        prependListener(event: \"push\", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;\n        prependListener(\n            event: \"response\",\n            listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,\n        ): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"continue\", listener: () => {}): this;\n        prependOnceListener(\n            event: \"headers\",\n            listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,\n        ): this;\n        prependOnceListener(event: \"push\", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;\n        prependOnceListener(\n            event: \"response\",\n            listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,\n        ): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    export interface ServerHttp2Stream extends Http2Stream {\n        /**\n         * True if headers were sent, false otherwise (read-only).\n         * @since v8.4.0\n         */\n        readonly headersSent: boolean;\n        /**\n         * Read-only property mapped to the `SETTINGS_ENABLE_PUSH` flag of the remote\n         * client's most recent `SETTINGS` frame. Will be `true` if the remote peer\n         * accepts push streams, `false` otherwise. Settings are the same for every `Http2Stream` in the same `Http2Session`.\n         * @since v8.4.0\n         */\n        readonly pushAllowed: boolean;\n        /**\n         * Sends an additional informational `HEADERS` frame to the connected HTTP/2 peer.\n         * @since v8.4.0\n         */\n        additionalHeaders(headers: OutgoingHttpHeaders): void;\n        /**\n         * Initiates a push stream. The callback is invoked with the new `Http2Stream` instance created for the push stream passed as the second argument, or an `Error` passed as the first argument.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * const server = http2.createServer();\n         * server.on('stream', (stream) => {\n         *   stream.respond({ ':status': 200 });\n         *   stream.pushStream({ ':path': '/' }, (err, pushStream, headers) => {\n         *     if (err) throw err;\n         *     pushStream.respond({ ':status': 200 });\n         *     pushStream.end('some pushed data');\n         *   });\n         *   stream.end('some data');\n         * });\n         * ```\n         *\n         * Setting the weight of a push stream is not allowed in the `HEADERS` frame. Pass\n         * a `weight` value to `http2stream.priority` with the `silent` option set to `true` to enable server-side bandwidth balancing between concurrent streams.\n         *\n         * Calling `http2stream.pushStream()` from within a pushed stream is not permitted\n         * and will throw an error.\n         * @since v8.4.0\n         * @param callback Callback that is called once the push stream has been initiated.\n         */\n        pushStream(\n            headers: OutgoingHttpHeaders,\n            callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void,\n        ): void;\n        pushStream(\n            headers: OutgoingHttpHeaders,\n            options?: StreamPriorityOptions,\n            callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void,\n        ): void;\n        /**\n         * ```js\n         * import http2 from 'node:http2';\n         * const server = http2.createServer();\n         * server.on('stream', (stream) => {\n         *   stream.respond({ ':status': 200 });\n         *   stream.end('some data');\n         * });\n         * ```\n         *\n         * Initiates a response. When the `options.waitForTrailers` option is set, the `'wantTrailers'` event\n         * will be emitted immediately after queuing the last chunk of payload data to be sent.\n         * The `http2stream.sendTrailers()` method can then be used to send trailing header fields to the peer.\n         *\n         * When `options.waitForTrailers` is set, the `Http2Stream` will not automatically\n         * close when the final `DATA` frame is transmitted. User code must call either `http2stream.sendTrailers()` or `http2stream.close()` to close the `Http2Stream`.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * const server = http2.createServer();\n         * server.on('stream', (stream) => {\n         *   stream.respond({ ':status': 200 }, { waitForTrailers: true });\n         *   stream.on('wantTrailers', () => {\n         *     stream.sendTrailers({ ABC: 'some value to send' });\n         *   });\n         *   stream.end('some data');\n         * });\n         * ```\n         * @since v8.4.0\n         */\n        respond(headers?: OutgoingHttpHeaders, options?: ServerStreamResponseOptions): void;\n        /**\n         * Initiates a response whose data is read from the given file descriptor. No\n         * validation is performed on the given file descriptor. If an error occurs while\n         * attempting to read data using the file descriptor, the `Http2Stream` will be\n         * closed using an `RST_STREAM` frame using the standard `INTERNAL_ERROR` code.\n         *\n         * When used, the `Http2Stream` object's `Duplex` interface will be closed\n         * automatically.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * import fs from 'node:fs';\n         *\n         * const server = http2.createServer();\n         * server.on('stream', (stream) => {\n         *   const fd = fs.openSync('/some/file', 'r');\n         *\n         *   const stat = fs.fstatSync(fd);\n         *   const headers = {\n         *     'content-length': stat.size,\n         *     'last-modified': stat.mtime.toUTCString(),\n         *     'content-type': 'text/plain; charset=utf-8',\n         *   };\n         *   stream.respondWithFD(fd, headers);\n         *   stream.on('close', () => fs.closeSync(fd));\n         * });\n         * ```\n         *\n         * The optional `options.statCheck` function may be specified to give user code\n         * an opportunity to set additional content headers based on the `fs.Stat` details\n         * of the given fd. If the `statCheck` function is provided, the `http2stream.respondWithFD()` method will\n         * perform an `fs.fstat()` call to collect details on the provided file descriptor.\n         *\n         * The `offset` and `length` options may be used to limit the response to a\n         * specific range subset. This can be used, for instance, to support HTTP Range\n         * requests.\n         *\n         * The file descriptor or `FileHandle` is not closed when the stream is closed,\n         * so it will need to be closed manually once it is no longer needed.\n         * Using the same file descriptor concurrently for multiple streams\n         * is not supported and may result in data loss. Re-using a file descriptor\n         * after a stream has finished is supported.\n         *\n         * When the `options.waitForTrailers` option is set, the `'wantTrailers'` event\n         * will be emitted immediately after queuing the last chunk of payload data to be\n         * sent. The `http2stream.sendTrailers()` method can then be used to sent trailing\n         * header fields to the peer.\n         *\n         * When `options.waitForTrailers` is set, the `Http2Stream` will not automatically\n         * close when the final `DATA` frame is transmitted. User code _must_ call either `http2stream.sendTrailers()`\n         * or `http2stream.close()` to close the `Http2Stream`.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * import fs from 'node:fs';\n         *\n         * const server = http2.createServer();\n         * server.on('stream', (stream) => {\n         *   const fd = fs.openSync('/some/file', 'r');\n         *\n         *   const stat = fs.fstatSync(fd);\n         *   const headers = {\n         *     'content-length': stat.size,\n         *     'last-modified': stat.mtime.toUTCString(),\n         *     'content-type': 'text/plain; charset=utf-8',\n         *   };\n         *   stream.respondWithFD(fd, headers, { waitForTrailers: true });\n         *   stream.on('wantTrailers', () => {\n         *     stream.sendTrailers({ ABC: 'some value to send' });\n         *   });\n         *\n         *   stream.on('close', () => fs.closeSync(fd));\n         * });\n         * ```\n         * @since v8.4.0\n         * @param fd A readable file descriptor.\n         */\n        respondWithFD(\n            fd: number | fs.promises.FileHandle,\n            headers?: OutgoingHttpHeaders,\n            options?: ServerStreamFileResponseOptions,\n        ): void;\n        /**\n         * Sends a regular file as the response. The `path` must specify a regular file\n         * or an `'error'` event will be emitted on the `Http2Stream` object.\n         *\n         * When used, the `Http2Stream` object's `Duplex` interface will be closed\n         * automatically.\n         *\n         * The optional `options.statCheck` function may be specified to give user code\n         * an opportunity to set additional content headers based on the `fs.Stat` details\n         * of the given file:\n         *\n         * If an error occurs while attempting to read the file data, the `Http2Stream` will be closed using an\n         * `RST_STREAM` frame using the standard `INTERNAL_ERROR` code.\n         * If the `onError` callback is defined, then it will be called. Otherwise, the stream will be destroyed.\n         *\n         * Example using a file path:\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * const server = http2.createServer();\n         * server.on('stream', (stream) => {\n         *   function statCheck(stat, headers) {\n         *     headers['last-modified'] = stat.mtime.toUTCString();\n         *   }\n         *\n         *   function onError(err) {\n         *     // stream.respond() can throw if the stream has been destroyed by\n         *     // the other side.\n         *     try {\n         *       if (err.code === 'ENOENT') {\n         *         stream.respond({ ':status': 404 });\n         *       } else {\n         *         stream.respond({ ':status': 500 });\n         *       }\n         *     } catch (err) {\n         *       // Perform actual error handling.\n         *       console.error(err);\n         *     }\n         *     stream.end();\n         *   }\n         *\n         *   stream.respondWithFile('/some/file',\n         *                          { 'content-type': 'text/plain; charset=utf-8' },\n         *                          { statCheck, onError });\n         * });\n         * ```\n         *\n         * The `options.statCheck` function may also be used to cancel the send operation\n         * by returning `false`. For instance, a conditional request may check the stat\n         * results to determine if the file has been modified to return an appropriate `304` response:\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * const server = http2.createServer();\n         * server.on('stream', (stream) => {\n         *   function statCheck(stat, headers) {\n         *     // Check the stat here...\n         *     stream.respond({ ':status': 304 });\n         *     return false; // Cancel the send operation\n         *   }\n         *   stream.respondWithFile('/some/file',\n         *                          { 'content-type': 'text/plain; charset=utf-8' },\n         *                          { statCheck });\n         * });\n         * ```\n         *\n         * The `content-length` header field will be automatically set.\n         *\n         * The `offset` and `length` options may be used to limit the response to a\n         * specific range subset. This can be used, for instance, to support HTTP Range\n         * requests.\n         *\n         * The `options.onError` function may also be used to handle all the errors\n         * that could happen before the delivery of the file is initiated. The\n         * default behavior is to destroy the stream.\n         *\n         * When the `options.waitForTrailers` option is set, the `'wantTrailers'` event\n         * will be emitted immediately after queuing the last chunk of payload data to be\n         * sent. The `http2stream.sendTrailers()` method can then be used to sent trailing\n         * header fields to the peer.\n         *\n         * When `options.waitForTrailers` is set, the `Http2Stream` will not automatically\n         * close when the final `DATA` frame is transmitted. User code must call either`http2stream.sendTrailers()` or `http2stream.close()` to close the`Http2Stream`.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * const server = http2.createServer();\n         * server.on('stream', (stream) => {\n         *   stream.respondWithFile('/some/file',\n         *                          { 'content-type': 'text/plain; charset=utf-8' },\n         *                          { waitForTrailers: true });\n         *   stream.on('wantTrailers', () => {\n         *     stream.sendTrailers({ ABC: 'some value to send' });\n         *   });\n         * });\n         * ```\n         * @since v8.4.0\n         */\n        respondWithFile(\n            path: string,\n            headers?: OutgoingHttpHeaders,\n            options?: ServerStreamFileResponseOptionsWithError,\n        ): void;\n    }\n    // Http2Session\n    export interface Settings {\n        headerTableSize?: number | undefined;\n        enablePush?: boolean | undefined;\n        initialWindowSize?: number | undefined;\n        maxFrameSize?: number | undefined;\n        maxConcurrentStreams?: number | undefined;\n        maxHeaderListSize?: number | undefined;\n        enableConnectProtocol?: boolean | undefined;\n    }\n    export interface ClientSessionRequestOptions {\n        endStream?: boolean | undefined;\n        exclusive?: boolean | undefined;\n        parent?: number | undefined;\n        weight?: number | undefined;\n        waitForTrailers?: boolean | undefined;\n        signal?: AbortSignal | undefined;\n    }\n    export interface SessionState {\n        effectiveLocalWindowSize?: number | undefined;\n        effectiveRecvDataLength?: number | undefined;\n        nextStreamID?: number | undefined;\n        localWindowSize?: number | undefined;\n        lastProcStreamID?: number | undefined;\n        remoteWindowSize?: number | undefined;\n        outboundQueueSize?: number | undefined;\n        deflateDynamicTableSize?: number | undefined;\n        inflateDynamicTableSize?: number | undefined;\n    }\n    export interface Http2Session extends EventEmitter {\n        /**\n         * Value will be `undefined` if the `Http2Session` is not yet connected to a\n         * socket, `h2c` if the `Http2Session` is not connected to a `TLSSocket`, or\n         * will return the value of the connected `TLSSocket`'s own `alpnProtocol` property.\n         * @since v9.4.0\n         */\n        readonly alpnProtocol?: string | undefined;\n        /**\n         * Will be `true` if this `Http2Session` instance has been closed, otherwise `false`.\n         * @since v9.4.0\n         */\n        readonly closed: boolean;\n        /**\n         * Will be `true` if this `Http2Session` instance is still connecting, will be set\n         * to `false` before emitting `connect` event and/or calling the `http2.connect` callback.\n         * @since v10.0.0\n         */\n        readonly connecting: boolean;\n        /**\n         * Will be `true` if this `Http2Session` instance has been destroyed and must no\n         * longer be used, otherwise `false`.\n         * @since v8.4.0\n         */\n        readonly destroyed: boolean;\n        /**\n         * Value is `undefined` if the `Http2Session` session socket has not yet been\n         * connected, `true` if the `Http2Session` is connected with a `TLSSocket`,\n         * and `false` if the `Http2Session` is connected to any other kind of socket\n         * or stream.\n         * @since v9.4.0\n         */\n        readonly encrypted?: boolean | undefined;\n        /**\n         * A prototype-less object describing the current local settings of this `Http2Session`.\n         * The local settings are local to _this_`Http2Session` instance.\n         * @since v8.4.0\n         */\n        readonly localSettings: Settings;\n        /**\n         * If the `Http2Session` is connected to a `TLSSocket`, the `originSet` property\n         * will return an `Array` of origins for which the `Http2Session` may be\n         * considered authoritative.\n         *\n         * The `originSet` property is only available when using a secure TLS connection.\n         * @since v9.4.0\n         */\n        readonly originSet?: string[] | undefined;\n        /**\n         * Indicates whether the `Http2Session` is currently waiting for acknowledgment of\n         * a sent `SETTINGS` frame. Will be `true` after calling the `http2session.settings()` method.\n         * Will be `false` once all sent `SETTINGS` frames have been acknowledged.\n         * @since v8.4.0\n         */\n        readonly pendingSettingsAck: boolean;\n        /**\n         * A prototype-less object describing the current remote settings of this`Http2Session`.\n         * The remote settings are set by the _connected_ HTTP/2 peer.\n         * @since v8.4.0\n         */\n        readonly remoteSettings: Settings;\n        /**\n         * Returns a `Proxy` object that acts as a `net.Socket` (or `tls.TLSSocket`) but\n         * limits available methods to ones safe to use with HTTP/2.\n         *\n         * `destroy`, `emit`, `end`, `pause`, `read`, `resume`, and `write` will throw\n         * an error with code `ERR_HTTP2_NO_SOCKET_MANIPULATION`. See `Http2Session and Sockets` for more information.\n         *\n         * `setTimeout` method will be called on this `Http2Session`.\n         *\n         * All other interactions will be routed directly to the socket.\n         * @since v8.4.0\n         */\n        readonly socket: net.Socket | tls.TLSSocket;\n        /**\n         * Provides miscellaneous information about the current state of the`Http2Session`.\n         *\n         * An object describing the current status of this `Http2Session`.\n         * @since v8.4.0\n         */\n        readonly state: SessionState;\n        /**\n         * The `http2session.type` will be equal to `http2.constants.NGHTTP2_SESSION_SERVER` if this `Http2Session` instance is a\n         * server, and `http2.constants.NGHTTP2_SESSION_CLIENT` if the instance is a\n         * client.\n         * @since v8.4.0\n         */\n        readonly type: number;\n        /**\n         * Gracefully closes the `Http2Session`, allowing any existing streams to\n         * complete on their own and preventing new `Http2Stream` instances from being\n         * created. Once closed, `http2session.destroy()`_might_ be called if there\n         * are no open `Http2Stream` instances.\n         *\n         * If specified, the `callback` function is registered as a handler for the`'close'` event.\n         * @since v9.4.0\n         */\n        close(callback?: () => void): void;\n        /**\n         * Immediately terminates the `Http2Session` and the associated `net.Socket` or `tls.TLSSocket`.\n         *\n         * Once destroyed, the `Http2Session` will emit the `'close'` event. If `error` is not undefined, an `'error'` event will be emitted immediately before the `'close'` event.\n         *\n         * If there are any remaining open `Http2Streams` associated with the `Http2Session`, those will also be destroyed.\n         * @since v8.4.0\n         * @param error An `Error` object if the `Http2Session` is being destroyed due to an error.\n         * @param code The HTTP/2 error code to send in the final `GOAWAY` frame. If unspecified, and `error` is not undefined, the default is `INTERNAL_ERROR`, otherwise defaults to `NO_ERROR`.\n         */\n        destroy(error?: Error, code?: number): void;\n        /**\n         * Transmits a `GOAWAY` frame to the connected peer _without_ shutting down the`Http2Session`.\n         * @since v9.4.0\n         * @param code An HTTP/2 error code\n         * @param lastStreamID The numeric ID of the last processed `Http2Stream`\n         * @param opaqueData A `TypedArray` or `DataView` instance containing additional data to be carried within the `GOAWAY` frame.\n         */\n        goaway(code?: number, lastStreamID?: number, opaqueData?: NodeJS.ArrayBufferView): void;\n        /**\n         * Sends a `PING` frame to the connected HTTP/2 peer. A `callback` function must\n         * be provided. The method will return `true` if the `PING` was sent, `false` otherwise.\n         *\n         * The maximum number of outstanding (unacknowledged) pings is determined by the `maxOutstandingPings` configuration option. The default maximum is 10.\n         *\n         * If provided, the `payload` must be a `Buffer`, `TypedArray`, or `DataView` containing 8 bytes of data that will be transmitted with the `PING` and\n         * returned with the ping acknowledgment.\n         *\n         * The callback will be invoked with three arguments: an error argument that will\n         * be `null` if the `PING` was successfully acknowledged, a `duration` argument\n         * that reports the number of milliseconds elapsed since the ping was sent and the\n         * acknowledgment was received, and a `Buffer` containing the 8-byte `PING` payload.\n         *\n         * ```js\n         * session.ping(Buffer.from('abcdefgh'), (err, duration, payload) => {\n         *   if (!err) {\n         *     console.log(`Ping acknowledged in ${duration} milliseconds`);\n         *     console.log(`With payload '${payload.toString()}'`);\n         *   }\n         * });\n         * ```\n         *\n         * If the `payload` argument is not specified, the default payload will be the\n         * 64-bit timestamp (little endian) marking the start of the `PING` duration.\n         * @since v8.9.3\n         * @param payload Optional ping payload.\n         */\n        ping(callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean;\n        ping(\n            payload: NodeJS.ArrayBufferView,\n            callback: (err: Error | null, duration: number, payload: Buffer) => void,\n        ): boolean;\n        /**\n         * Calls `ref()` on this `Http2Session` instance's underlying `net.Socket`.\n         * @since v9.4.0\n         */\n        ref(): void;\n        /**\n         * Sets the local endpoint's window size.\n         * The `windowSize` is the total window size to set, not\n         * the delta.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         *\n         * const server = http2.createServer();\n         * const expectedWindowSize = 2 ** 20;\n         * server.on('connect', (session) => {\n         *\n         *   // Set local window size to be 2 ** 20\n         *   session.setLocalWindowSize(expectedWindowSize);\n         * });\n         * ```\n         * @since v15.3.0, v14.18.0\n         */\n        setLocalWindowSize(windowSize: number): void;\n        /**\n         * Used to set a callback function that is called when there is no activity on\n         * the `Http2Session` after `msecs` milliseconds. The given `callback` is\n         * registered as a listener on the `'timeout'` event.\n         * @since v8.4.0\n         */\n        setTimeout(msecs: number, callback?: () => void): void;\n        /**\n         * Updates the current local settings for this `Http2Session` and sends a new `SETTINGS` frame to the connected HTTP/2 peer.\n         *\n         * Once called, the `http2session.pendingSettingsAck` property will be `true` while the session is waiting for the remote peer to acknowledge the new\n         * settings.\n         *\n         * The new settings will not become effective until the `SETTINGS` acknowledgment\n         * is received and the `'localSettings'` event is emitted. It is possible to send\n         * multiple `SETTINGS` frames while acknowledgment is still pending.\n         * @since v8.4.0\n         * @param callback Callback that is called once the session is connected or right away if the session is already connected.\n         */\n        settings(\n            settings: Settings,\n            callback?: (err: Error | null, settings: Settings, duration: number) => void,\n        ): void;\n        /**\n         * Calls `unref()` on this `Http2Session`instance's underlying `net.Socket`.\n         * @since v9.4.0\n         */\n        unref(): void;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(\n            event: \"frameError\",\n            listener: (frameType: number, errorCode: number, streamID: number) => void,\n        ): this;\n        addListener(\n            event: \"goaway\",\n            listener: (errorCode: number, lastStreamID: number, opaqueData?: Buffer) => void,\n        ): this;\n        addListener(event: \"localSettings\", listener: (settings: Settings) => void): this;\n        addListener(event: \"ping\", listener: () => void): this;\n        addListener(event: \"remoteSettings\", listener: (settings: Settings) => void): this;\n        addListener(event: \"timeout\", listener: () => void): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        emit(event: \"close\"): boolean;\n        emit(event: \"error\", err: Error): boolean;\n        emit(event: \"frameError\", frameType: number, errorCode: number, streamID: number): boolean;\n        emit(event: \"goaway\", errorCode: number, lastStreamID: number, opaqueData?: Buffer): boolean;\n        emit(event: \"localSettings\", settings: Settings): boolean;\n        emit(event: \"ping\"): boolean;\n        emit(event: \"remoteSettings\", settings: Settings): boolean;\n        emit(event: \"timeout\"): boolean;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"frameError\", listener: (frameType: number, errorCode: number, streamID: number) => void): this;\n        on(event: \"goaway\", listener: (errorCode: number, lastStreamID: number, opaqueData?: Buffer) => void): this;\n        on(event: \"localSettings\", listener: (settings: Settings) => void): this;\n        on(event: \"ping\", listener: () => void): this;\n        on(event: \"remoteSettings\", listener: (settings: Settings) => void): this;\n        on(event: \"timeout\", listener: () => void): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"frameError\", listener: (frameType: number, errorCode: number, streamID: number) => void): this;\n        once(event: \"goaway\", listener: (errorCode: number, lastStreamID: number, opaqueData?: Buffer) => void): this;\n        once(event: \"localSettings\", listener: (settings: Settings) => void): this;\n        once(event: \"ping\", listener: () => void): this;\n        once(event: \"remoteSettings\", listener: (settings: Settings) => void): this;\n        once(event: \"timeout\", listener: () => void): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(\n            event: \"frameError\",\n            listener: (frameType: number, errorCode: number, streamID: number) => void,\n        ): this;\n        prependListener(\n            event: \"goaway\",\n            listener: (errorCode: number, lastStreamID: number, opaqueData?: Buffer) => void,\n        ): this;\n        prependListener(event: \"localSettings\", listener: (settings: Settings) => void): this;\n        prependListener(event: \"ping\", listener: () => void): this;\n        prependListener(event: \"remoteSettings\", listener: (settings: Settings) => void): this;\n        prependListener(event: \"timeout\", listener: () => void): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(\n            event: \"frameError\",\n            listener: (frameType: number, errorCode: number, streamID: number) => void,\n        ): this;\n        prependOnceListener(\n            event: \"goaway\",\n            listener: (errorCode: number, lastStreamID: number, opaqueData?: Buffer) => void,\n        ): this;\n        prependOnceListener(event: \"localSettings\", listener: (settings: Settings) => void): this;\n        prependOnceListener(event: \"ping\", listener: () => void): this;\n        prependOnceListener(event: \"remoteSettings\", listener: (settings: Settings) => void): this;\n        prependOnceListener(event: \"timeout\", listener: () => void): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    export interface ClientHttp2Session extends Http2Session {\n        /**\n         * For HTTP/2 Client `Http2Session` instances only, the `http2session.request()` creates and returns an `Http2Stream` instance that can be used to send an\n         * HTTP/2 request to the connected server.\n         *\n         * When a `ClientHttp2Session` is first created, the socket may not yet be\n         * connected. if `clienthttp2session.request()` is called during this time, the\n         * actual request will be deferred until the socket is ready to go.\n         * If the `session` is closed before the actual request be executed, an `ERR_HTTP2_GOAWAY_SESSION` is thrown.\n         *\n         * This method is only available if `http2session.type` is equal to `http2.constants.NGHTTP2_SESSION_CLIENT`.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * const clientSession = http2.connect('https://localhost:1234');\n         * const {\n         *   HTTP2_HEADER_PATH,\n         *   HTTP2_HEADER_STATUS,\n         * } = http2.constants;\n         *\n         * const req = clientSession.request({ [HTTP2_HEADER_PATH]: '/' });\n         * req.on('response', (headers) => {\n         *   console.log(headers[HTTP2_HEADER_STATUS]);\n         *   req.on('data', (chunk) => { // ..  });\n         *   req.on('end', () => { // ..  });\n         * });\n         * ```\n         *\n         * When the `options.waitForTrailers` option is set, the `'wantTrailers'` event\n         * is emitted immediately after queuing the last chunk of payload data to be sent.\n         * The `http2stream.sendTrailers()` method can then be called to send trailing\n         * headers to the peer.\n         *\n         * When `options.waitForTrailers` is set, the `Http2Stream` will not automatically\n         * close when the final `DATA` frame is transmitted. User code must call either`http2stream.sendTrailers()` or `http2stream.close()` to close the`Http2Stream`.\n         *\n         * When `options.signal` is set with an `AbortSignal` and then `abort` on the\n         * corresponding `AbortController` is called, the request will emit an `'error'`event with an `AbortError` error.\n         *\n         * The `:method` and `:path` pseudo-headers are not specified within `headers`,\n         * they respectively default to:\n         *\n         * * `:method` \\= `'GET'`\n         * * `:path` \\= `/`\n         * @since v8.4.0\n         */\n        request(headers?: OutgoingHttpHeaders, options?: ClientSessionRequestOptions): ClientHttp2Stream;\n        addListener(event: \"altsvc\", listener: (alt: string, origin: string, stream: number) => void): this;\n        addListener(event: \"origin\", listener: (origins: string[]) => void): this;\n        addListener(\n            event: \"connect\",\n            listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,\n        ): this;\n        addListener(\n            event: \"stream\",\n            listener: (\n                stream: ClientHttp2Stream,\n                headers: IncomingHttpHeaders & IncomingHttpStatusHeader,\n                flags: number,\n            ) => void,\n        ): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        emit(event: \"altsvc\", alt: string, origin: string, stream: number): boolean;\n        emit(event: \"origin\", origins: readonly string[]): boolean;\n        emit(event: \"connect\", session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket): boolean;\n        emit(\n            event: \"stream\",\n            stream: ClientHttp2Stream,\n            headers: IncomingHttpHeaders & IncomingHttpStatusHeader,\n            flags: number,\n        ): boolean;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        on(event: \"altsvc\", listener: (alt: string, origin: string, stream: number) => void): this;\n        on(event: \"origin\", listener: (origins: string[]) => void): this;\n        on(event: \"connect\", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;\n        on(\n            event: \"stream\",\n            listener: (\n                stream: ClientHttp2Stream,\n                headers: IncomingHttpHeaders & IncomingHttpStatusHeader,\n                flags: number,\n            ) => void,\n        ): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(event: \"altsvc\", listener: (alt: string, origin: string, stream: number) => void): this;\n        once(event: \"origin\", listener: (origins: string[]) => void): this;\n        once(\n            event: \"connect\",\n            listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,\n        ): this;\n        once(\n            event: \"stream\",\n            listener: (\n                stream: ClientHttp2Stream,\n                headers: IncomingHttpHeaders & IncomingHttpStatusHeader,\n                flags: number,\n            ) => void,\n        ): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(event: \"altsvc\", listener: (alt: string, origin: string, stream: number) => void): this;\n        prependListener(event: \"origin\", listener: (origins: string[]) => void): this;\n        prependListener(\n            event: \"connect\",\n            listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,\n        ): this;\n        prependListener(\n            event: \"stream\",\n            listener: (\n                stream: ClientHttp2Stream,\n                headers: IncomingHttpHeaders & IncomingHttpStatusHeader,\n                flags: number,\n            ) => void,\n        ): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"altsvc\", listener: (alt: string, origin: string, stream: number) => void): this;\n        prependOnceListener(event: \"origin\", listener: (origins: string[]) => void): this;\n        prependOnceListener(\n            event: \"connect\",\n            listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,\n        ): this;\n        prependOnceListener(\n            event: \"stream\",\n            listener: (\n                stream: ClientHttp2Stream,\n                headers: IncomingHttpHeaders & IncomingHttpStatusHeader,\n                flags: number,\n            ) => void,\n        ): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    export interface AlternativeServiceOptions {\n        origin: number | string | url.URL;\n    }\n    export interface ServerHttp2Session<\n        Http1Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,\n        Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,\n        Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,\n    > extends Http2Session {\n        readonly server:\n            | Http2Server<Http1Request, Http1Response, Http2Request, Http2Response>\n            | Http2SecureServer<Http1Request, Http1Response, Http2Request, Http2Response>;\n        /**\n         * Submits an `ALTSVC` frame (as defined by [RFC 7838](https://tools.ietf.org/html/rfc7838)) to the connected client.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         *\n         * const server = http2.createServer();\n         * server.on('session', (session) => {\n         *   // Set altsvc for origin https://example.org:80\n         *   session.altsvc('h2=\":8000\"', 'https://example.org:80');\n         * });\n         *\n         * server.on('stream', (stream) => {\n         *   // Set altsvc for a specific stream\n         *   stream.session.altsvc('h2=\":8000\"', stream.id);\n         * });\n         * ```\n         *\n         * Sending an `ALTSVC` frame with a specific stream ID indicates that the alternate\n         * service is associated with the origin of the given `Http2Stream`.\n         *\n         * The `alt` and origin string _must_ contain only ASCII bytes and are\n         * strictly interpreted as a sequence of ASCII bytes. The special value `'clear'`may be passed to clear any previously set alternative service for a given\n         * domain.\n         *\n         * When a string is passed for the `originOrStream` argument, it will be parsed as\n         * a URL and the origin will be derived. For instance, the origin for the\n         * HTTP URL `'https://example.org/foo/bar'` is the ASCII string`'https://example.org'`. An error will be thrown if either the given string\n         * cannot be parsed as a URL or if a valid origin cannot be derived.\n         *\n         * A `URL` object, or any object with an `origin` property, may be passed as`originOrStream`, in which case the value of the `origin` property will be\n         * used. The value of the `origin` property _must_ be a properly serialized\n         * ASCII origin.\n         * @since v9.4.0\n         * @param alt A description of the alternative service configuration as defined by `RFC 7838`.\n         * @param originOrStream Either a URL string specifying the origin (or an `Object` with an `origin` property) or the numeric identifier of an active `Http2Stream` as given by the\n         * `http2stream.id` property.\n         */\n        altsvc(alt: string, originOrStream: number | string | url.URL | AlternativeServiceOptions): void;\n        /**\n         * Submits an `ORIGIN` frame (as defined by [RFC 8336](https://tools.ietf.org/html/rfc8336)) to the connected client\n         * to advertise the set of origins for which the server is capable of providing\n         * authoritative responses.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * const options = getSecureOptionsSomehow();\n         * const server = http2.createSecureServer(options);\n         * server.on('stream', (stream) => {\n         *   stream.respond();\n         *   stream.end('ok');\n         * });\n         * server.on('session', (session) => {\n         *   session.origin('https://example.com', 'https://example.org');\n         * });\n         * ```\n         *\n         * When a string is passed as an `origin`, it will be parsed as a URL and the\n         * origin will be derived. For instance, the origin for the HTTP URL `'https://example.org/foo/bar'` is the ASCII string` 'https://example.org'`. An error will be thrown if either the given\n         * string\n         * cannot be parsed as a URL or if a valid origin cannot be derived.\n         *\n         * A `URL` object, or any object with an `origin` property, may be passed as\n         * an `origin`, in which case the value of the `origin` property will be\n         * used. The value of the `origin` property _must_ be a properly serialized\n         * ASCII origin.\n         *\n         * Alternatively, the `origins` option may be used when creating a new HTTP/2\n         * server using the `http2.createSecureServer()` method:\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * const options = getSecureOptionsSomehow();\n         * options.origins = ['https://example.com', 'https://example.org'];\n         * const server = http2.createSecureServer(options);\n         * server.on('stream', (stream) => {\n         *   stream.respond();\n         *   stream.end('ok');\n         * });\n         * ```\n         * @since v10.12.0\n         * @param origins One or more URL Strings passed as separate arguments.\n         */\n        origin(\n            ...origins: Array<\n                | string\n                | url.URL\n                | {\n                    origin: string;\n                }\n            >\n        ): void;\n        addListener(\n            event: \"connect\",\n            listener: (\n                session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,\n                socket: net.Socket | tls.TLSSocket,\n            ) => void,\n        ): this;\n        addListener(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        emit(\n            event: \"connect\",\n            session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,\n            socket: net.Socket | tls.TLSSocket,\n        ): boolean;\n        emit(event: \"stream\", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        on(\n            event: \"connect\",\n            listener: (\n                session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,\n                socket: net.Socket | tls.TLSSocket,\n            ) => void,\n        ): this;\n        on(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(\n            event: \"connect\",\n            listener: (\n                session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,\n                socket: net.Socket | tls.TLSSocket,\n            ) => void,\n        ): this;\n        once(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(\n            event: \"connect\",\n            listener: (\n                session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,\n                socket: net.Socket | tls.TLSSocket,\n            ) => void,\n        ): this;\n        prependListener(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(\n            event: \"connect\",\n            listener: (\n                session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,\n                socket: net.Socket | tls.TLSSocket,\n            ) => void,\n        ): this;\n        prependOnceListener(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    // Http2Server\n    export interface SessionOptions {\n        /**\n         * Sets the maximum dynamic table size for deflating header fields.\n         * @default 4Kib\n         */\n        maxDeflateDynamicTableSize?: number | undefined;\n        /**\n         * Sets the maximum number of settings entries per `SETTINGS` frame.\n         * The minimum value allowed is `1`.\n         * @default 32\n         */\n        maxSettings?: number | undefined;\n        /**\n         * Sets the maximum memory that the `Http2Session` is permitted to use.\n         * The value is expressed in terms of number of megabytes, e.g. `1` equal 1 megabyte.\n         * The minimum value allowed is `1`.\n         * This is a credit based limit, existing `Http2Stream`s may cause this limit to be exceeded,\n         * but new `Http2Stream` instances will be rejected while this limit is exceeded.\n         * The current number of `Http2Stream` sessions, the current memory use of the header compression tables,\n         * current data queued to be sent, and unacknowledged `PING` and `SETTINGS` frames are all counted towards the current limit.\n         * @default 10\n         */\n        maxSessionMemory?: number | undefined;\n        /**\n         * Sets the maximum number of header entries.\n         * This is similar to `server.maxHeadersCount` or `request.maxHeadersCount` in the `node:http` module.\n         * The minimum value is `1`.\n         * @default 128\n         */\n        maxHeaderListPairs?: number | undefined;\n        /**\n         * Sets the maximum number of outstanding, unacknowledged pings.\n         * @default 10\n         */\n        maxOutstandingPings?: number | undefined;\n        /**\n         * Sets the maximum allowed size for a serialized, compressed block of headers.\n         * Attempts to send headers that exceed this limit will result in\n         * a `'frameError'` event being emitted and the stream being closed and destroyed.\n         */\n        maxSendHeaderBlockLength?: number | undefined;\n        /**\n         * Strategy used for determining the amount of padding to use for `HEADERS` and `DATA` frames.\n         * @default http2.constants.PADDING_STRATEGY_NONE\n         */\n        paddingStrategy?: number | undefined;\n        /**\n         * Sets the maximum number of concurrent streams for the remote peer as if a `SETTINGS` frame had been received.\n         * Will be overridden if the remote peer sets its own value for `maxConcurrentStreams`.\n         * @default 100\n         */\n        peerMaxConcurrentStreams?: number | undefined;\n        /**\n         * The initial settings to send to the remote peer upon connection.\n         */\n        settings?: Settings | undefined;\n        /**\n         * Specifies a timeout in milliseconds that\n         * a server should wait when an [`'unknownProtocol'`][] is emitted. If the\n         * socket has not been destroyed by that time the server will destroy it.\n         * @default 100000\n         */\n        unknownProtocolTimeout?: number | undefined;\n    }\n    export interface ClientSessionOptions extends SessionOptions {\n        /**\n         * Sets the maximum number of reserved push streams the client will accept at any given time.\n         * Once the current number of currently reserved push streams exceeds reaches this limit,\n         * new push streams sent by the server will be automatically rejected.\n         * The minimum allowed value is 0. The maximum allowed value is 2<sup>32</sup>-1.\n         * A negative value sets this option to the maximum allowed value.\n         * @default 200\n         */\n        maxReservedRemoteStreams?: number | undefined;\n        /**\n         * An optional callback that receives the `URL` instance passed to `connect` and the `options` object,\n         * and returns any `Duplex` stream that is to be used as the connection for this session.\n         */\n        createConnection?: ((authority: url.URL, option: SessionOptions) => stream.Duplex) | undefined;\n        /**\n         * The protocol to connect with, if not set in the `authority`.\n         * Value may be either `'http:'` or `'https:'`.\n         * @default 'https:'\n         */\n        protocol?: \"http:\" | \"https:\" | undefined;\n    }\n    export interface ServerSessionOptions<\n        Http1Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,\n        Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,\n        Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,\n    > extends SessionOptions {\n        Http1IncomingMessage?: Http1Request | undefined;\n        Http1ServerResponse?: Http1Response | undefined;\n        Http2ServerRequest?: Http2Request | undefined;\n        Http2ServerResponse?: Http2Response | undefined;\n    }\n    export interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions {}\n    export interface SecureServerSessionOptions<\n        Http1Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,\n        Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,\n        Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,\n    > extends ServerSessionOptions<Http1Request, Http1Response, Http2Request, Http2Response>, tls.TlsOptions {}\n    export interface ServerOptions<\n        Http1Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,\n        Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,\n        Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,\n    > extends ServerSessionOptions<Http1Request, Http1Response, Http2Request, Http2Response> {}\n    export interface SecureServerOptions<\n        Http1Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,\n        Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,\n        Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,\n    > extends SecureServerSessionOptions<Http1Request, Http1Response, Http2Request, Http2Response> {\n        allowHTTP1?: boolean | undefined;\n        origins?: string[] | undefined;\n    }\n    interface HTTP2ServerCommon {\n        setTimeout(msec?: number, callback?: () => void): this;\n        /**\n         * Throws ERR_HTTP2_INVALID_SETTING_VALUE for invalid settings values.\n         * Throws ERR_INVALID_ARG_TYPE for invalid settings argument.\n         */\n        updateSettings(settings: Settings): void;\n    }\n    export interface Http2Server<\n        Http1Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,\n        Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,\n        Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,\n    > extends net.Server, HTTP2ServerCommon {\n        addListener(\n            event: \"checkContinue\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        addListener(\n            event: \"request\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        addListener(\n            event: \"session\",\n            listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,\n        ): this;\n        addListener(event: \"sessionError\", listener: (err: Error) => void): this;\n        addListener(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        addListener(event: \"timeout\", listener: () => void): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        emit(\n            event: \"checkContinue\",\n            request: InstanceType<Http2Request>,\n            response: InstanceType<Http2Response>,\n        ): boolean;\n        emit(event: \"request\", request: InstanceType<Http2Request>, response: InstanceType<Http2Response>): boolean;\n        emit(\n            event: \"session\",\n            session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,\n        ): boolean;\n        emit(event: \"sessionError\", err: Error): boolean;\n        emit(event: \"stream\", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean;\n        emit(event: \"timeout\"): boolean;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        on(\n            event: \"checkContinue\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        on(\n            event: \"request\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        on(\n            event: \"session\",\n            listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,\n        ): this;\n        on(event: \"sessionError\", listener: (err: Error) => void): this;\n        on(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        on(event: \"timeout\", listener: () => void): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(\n            event: \"checkContinue\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        once(\n            event: \"request\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        once(\n            event: \"session\",\n            listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,\n        ): this;\n        once(event: \"sessionError\", listener: (err: Error) => void): this;\n        once(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        once(event: \"timeout\", listener: () => void): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(\n            event: \"checkContinue\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        prependListener(\n            event: \"request\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        prependListener(\n            event: \"session\",\n            listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,\n        ): this;\n        prependListener(event: \"sessionError\", listener: (err: Error) => void): this;\n        prependListener(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        prependListener(event: \"timeout\", listener: () => void): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(\n            event: \"checkContinue\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        prependOnceListener(\n            event: \"request\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        prependOnceListener(\n            event: \"session\",\n            listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,\n        ): this;\n        prependOnceListener(event: \"sessionError\", listener: (err: Error) => void): this;\n        prependOnceListener(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        prependOnceListener(event: \"timeout\", listener: () => void): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    export interface Http2SecureServer<\n        Http1Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,\n        Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,\n        Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,\n    > extends tls.Server, HTTP2ServerCommon {\n        addListener(\n            event: \"checkContinue\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        addListener(\n            event: \"request\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        addListener(\n            event: \"session\",\n            listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,\n        ): this;\n        addListener(event: \"sessionError\", listener: (err: Error) => void): this;\n        addListener(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        addListener(event: \"timeout\", listener: () => void): this;\n        addListener(event: \"unknownProtocol\", listener: (socket: tls.TLSSocket) => void): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        emit(\n            event: \"checkContinue\",\n            request: InstanceType<Http2Request>,\n            response: InstanceType<Http2Response>,\n        ): boolean;\n        emit(event: \"request\", request: InstanceType<Http2Request>, response: InstanceType<Http2Response>): boolean;\n        emit(\n            event: \"session\",\n            session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,\n        ): boolean;\n        emit(event: \"sessionError\", err: Error): boolean;\n        emit(event: \"stream\", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean;\n        emit(event: \"timeout\"): boolean;\n        emit(event: \"unknownProtocol\", socket: tls.TLSSocket): boolean;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        on(\n            event: \"checkContinue\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        on(\n            event: \"request\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        on(\n            event: \"session\",\n            listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,\n        ): this;\n        on(event: \"sessionError\", listener: (err: Error) => void): this;\n        on(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        on(event: \"timeout\", listener: () => void): this;\n        on(event: \"unknownProtocol\", listener: (socket: tls.TLSSocket) => void): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(\n            event: \"checkContinue\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        once(\n            event: \"request\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        once(\n            event: \"session\",\n            listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,\n        ): this;\n        once(event: \"sessionError\", listener: (err: Error) => void): this;\n        once(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        once(event: \"timeout\", listener: () => void): this;\n        once(event: \"unknownProtocol\", listener: (socket: tls.TLSSocket) => void): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(\n            event: \"checkContinue\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        prependListener(\n            event: \"request\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        prependListener(\n            event: \"session\",\n            listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,\n        ): this;\n        prependListener(event: \"sessionError\", listener: (err: Error) => void): this;\n        prependListener(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        prependListener(event: \"timeout\", listener: () => void): this;\n        prependListener(event: \"unknownProtocol\", listener: (socket: tls.TLSSocket) => void): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(\n            event: \"checkContinue\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        prependOnceListener(\n            event: \"request\",\n            listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n        ): this;\n        prependOnceListener(\n            event: \"session\",\n            listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,\n        ): this;\n        prependOnceListener(event: \"sessionError\", listener: (err: Error) => void): this;\n        prependOnceListener(\n            event: \"stream\",\n            listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,\n        ): this;\n        prependOnceListener(event: \"timeout\", listener: () => void): this;\n        prependOnceListener(event: \"unknownProtocol\", listener: (socket: tls.TLSSocket) => void): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    /**\n     * A `Http2ServerRequest` object is created by {@link Server} or {@link SecureServer} and passed as the first argument to the `'request'` event. It may be used to access a request status,\n     * headers, and\n     * data.\n     * @since v8.4.0\n     */\n    export class Http2ServerRequest extends stream.Readable {\n        constructor(\n            stream: ServerHttp2Stream,\n            headers: IncomingHttpHeaders,\n            options: stream.ReadableOptions,\n            rawHeaders: readonly string[],\n        );\n        /**\n         * The `request.aborted` property will be `true` if the request has\n         * been aborted.\n         * @since v10.1.0\n         */\n        readonly aborted: boolean;\n        /**\n         * The request authority pseudo header field. Because HTTP/2 allows requests\n         * to set either `:authority` or `host`, this value is derived from `req.headers[':authority']` if present. Otherwise, it is derived from `req.headers['host']`.\n         * @since v8.4.0\n         */\n        readonly authority: string;\n        /**\n         * See `request.socket`.\n         * @since v8.4.0\n         * @deprecated Since v13.0.0 - Use `socket`.\n         */\n        readonly connection: net.Socket | tls.TLSSocket;\n        /**\n         * The `request.complete` property will be `true` if the request has\n         * been completed, aborted, or destroyed.\n         * @since v12.10.0\n         */\n        readonly complete: boolean;\n        /**\n         * The request/response headers object.\n         *\n         * Key-value pairs of header names and values. Header names are lower-cased.\n         *\n         * ```js\n         * // Prints something like:\n         * //\n         * // { 'user-agent': 'curl/7.22.0',\n         * //   host: '127.0.0.1:8000',\n         * //   accept: '*' }\n         * console.log(request.headers);\n         * ```\n         *\n         * See `HTTP/2 Headers Object`.\n         *\n         * In HTTP/2, the request path, host name, protocol, and method are represented as\n         * special headers prefixed with the `:` character (e.g. `':path'`). These special\n         * headers will be included in the `request.headers` object. Care must be taken not\n         * to inadvertently modify these special headers or errors may occur. For instance,\n         * removing all headers from the request will cause errors to occur:\n         *\n         * ```js\n         * removeAllHeaders(request.headers);\n         * assert(request.url);   // Fails because the :path header has been removed\n         * ```\n         * @since v8.4.0\n         */\n        readonly headers: IncomingHttpHeaders;\n        /**\n         * In case of server request, the HTTP version sent by the client. In the case of\n         * client response, the HTTP version of the connected-to server. Returns `'2.0'`.\n         *\n         * Also `message.httpVersionMajor` is the first integer and `message.httpVersionMinor` is the second.\n         * @since v8.4.0\n         */\n        readonly httpVersion: string;\n        readonly httpVersionMinor: number;\n        readonly httpVersionMajor: number;\n        /**\n         * The request method as a string. Read-only. Examples: `'GET'`, `'DELETE'`.\n         * @since v8.4.0\n         */\n        readonly method: string;\n        /**\n         * The raw request/response headers list exactly as they were received.\n         *\n         * The keys and values are in the same list. It is _not_ a\n         * list of tuples. So, the even-numbered offsets are key values, and the\n         * odd-numbered offsets are the associated values.\n         *\n         * Header names are not lowercased, and duplicates are not merged.\n         *\n         * ```js\n         * // Prints something like:\n         * //\n         * // [ 'user-agent',\n         * //   'this is invalid because there can be only one',\n         * //   'User-Agent',\n         * //   'curl/7.22.0',\n         * //   'Host',\n         * //   '127.0.0.1:8000',\n         * //   'ACCEPT',\n         * //   '*' ]\n         * console.log(request.rawHeaders);\n         * ```\n         * @since v8.4.0\n         */\n        readonly rawHeaders: string[];\n        /**\n         * The raw request/response trailer keys and values exactly as they were\n         * received. Only populated at the `'end'` event.\n         * @since v8.4.0\n         */\n        readonly rawTrailers: string[];\n        /**\n         * The request scheme pseudo header field indicating the scheme\n         * portion of the target URL.\n         * @since v8.4.0\n         */\n        readonly scheme: string;\n        /**\n         * Returns a `Proxy` object that acts as a `net.Socket` (or `tls.TLSSocket`) but\n         * applies getters, setters, and methods based on HTTP/2 logic.\n         *\n         * `destroyed`, `readable`, and `writable` properties will be retrieved from and\n         * set on `request.stream`.\n         *\n         * `destroy`, `emit`, `end`, `on` and `once` methods will be called on `request.stream`.\n         *\n         * `setTimeout` method will be called on `request.stream.session`.\n         *\n         * `pause`, `read`, `resume`, and `write` will throw an error with code `ERR_HTTP2_NO_SOCKET_MANIPULATION`. See `Http2Session and Sockets` for\n         * more information.\n         *\n         * All other interactions will be routed directly to the socket. With TLS support,\n         * use `request.socket.getPeerCertificate()` to obtain the client's\n         * authentication details.\n         * @since v8.4.0\n         */\n        readonly socket: net.Socket | tls.TLSSocket;\n        /**\n         * The `Http2Stream` object backing the request.\n         * @since v8.4.0\n         */\n        readonly stream: ServerHttp2Stream;\n        /**\n         * The request/response trailers object. Only populated at the `'end'` event.\n         * @since v8.4.0\n         */\n        readonly trailers: IncomingHttpHeaders;\n        /**\n         * Request URL string. This contains only the URL that is present in the actual\n         * HTTP request. If the request is:\n         *\n         * ```http\n         * GET /status?name=ryan HTTP/1.1\n         * Accept: text/plain\n         * ```\n         *\n         * Then `request.url` will be:\n         *\n         * ```js\n         * '/status?name=ryan'\n         * ```\n         *\n         * To parse the url into its parts, `new URL()` can be used:\n         *\n         * ```console\n         * $ node\n         * > new URL('/status?name=ryan', 'http://example.com')\n         * URL {\n         *   href: 'http://example.com/status?name=ryan',\n         *   origin: 'http://example.com',\n         *   protocol: 'http:',\n         *   username: '',\n         *   password: '',\n         *   host: 'example.com',\n         *   hostname: 'example.com',\n         *   port: '',\n         *   pathname: '/status',\n         *   search: '?name=ryan',\n         *   searchParams: URLSearchParams { 'name' => 'ryan' },\n         *   hash: ''\n         * }\n         * ```\n         * @since v8.4.0\n         */\n        url: string;\n        /**\n         * Sets the `Http2Stream`'s timeout value to `msecs`. If a callback is\n         * provided, then it is added as a listener on the `'timeout'` event on\n         * the response object.\n         *\n         * If no `'timeout'` listener is added to the request, the response, or\n         * the server, then `Http2Stream`s are destroyed when they time out. If a\n         * handler is assigned to the request, the response, or the server's `'timeout'`events, timed out sockets must be handled explicitly.\n         * @since v8.4.0\n         */\n        setTimeout(msecs: number, callback?: () => void): void;\n        read(size?: number): Buffer | string | null;\n        addListener(event: \"aborted\", listener: (hadError: boolean, code: number) => void): this;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        addListener(event: \"end\", listener: () => void): this;\n        addListener(event: \"readable\", listener: () => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        emit(event: \"aborted\", hadError: boolean, code: number): boolean;\n        emit(event: \"close\"): boolean;\n        emit(event: \"data\", chunk: Buffer | string): boolean;\n        emit(event: \"end\"): boolean;\n        emit(event: \"readable\"): boolean;\n        emit(event: \"error\", err: Error): boolean;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        on(event: \"aborted\", listener: (hadError: boolean, code: number) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        on(event: \"end\", listener: () => void): this;\n        on(event: \"readable\", listener: () => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(event: \"aborted\", listener: (hadError: boolean, code: number) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        once(event: \"end\", listener: () => void): this;\n        once(event: \"readable\", listener: () => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(event: \"aborted\", listener: (hadError: boolean, code: number) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        prependListener(event: \"end\", listener: () => void): this;\n        prependListener(event: \"readable\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"aborted\", listener: (hadError: boolean, code: number) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"data\", listener: (chunk: Buffer | string) => void): this;\n        prependOnceListener(event: \"end\", listener: () => void): this;\n        prependOnceListener(event: \"readable\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    /**\n     * This object is created internally by an HTTP server, not by the user. It is\n     * passed as the second parameter to the `'request'` event.\n     * @since v8.4.0\n     */\n    export class Http2ServerResponse<Request extends Http2ServerRequest = Http2ServerRequest> extends stream.Writable {\n        constructor(stream: ServerHttp2Stream);\n        /**\n         * See `response.socket`.\n         * @since v8.4.0\n         * @deprecated Since v13.0.0 - Use `socket`.\n         */\n        readonly connection: net.Socket | tls.TLSSocket;\n        /**\n         * Boolean value that indicates whether the response has completed. Starts\n         * as `false`. After `response.end()` executes, the value will be `true`.\n         * @since v8.4.0\n         * @deprecated Since v13.4.0,v12.16.0 - Use `writableEnded`.\n         */\n        readonly finished: boolean;\n        /**\n         * True if headers were sent, false otherwise (read-only).\n         * @since v8.4.0\n         */\n        readonly headersSent: boolean;\n        /**\n         * A reference to the original HTTP2 `request` object.\n         * @since v15.7.0\n         */\n        readonly req: Request;\n        /**\n         * Returns a `Proxy` object that acts as a `net.Socket` (or `tls.TLSSocket`) but\n         * applies getters, setters, and methods based on HTTP/2 logic.\n         *\n         * `destroyed`, `readable`, and `writable` properties will be retrieved from and\n         * set on `response.stream`.\n         *\n         * `destroy`, `emit`, `end`, `on` and `once` methods will be called on `response.stream`.\n         *\n         * `setTimeout` method will be called on `response.stream.session`.\n         *\n         * `pause`, `read`, `resume`, and `write` will throw an error with code `ERR_HTTP2_NO_SOCKET_MANIPULATION`. See `Http2Session and Sockets` for\n         * more information.\n         *\n         * All other interactions will be routed directly to the socket.\n         *\n         * ```js\n         * import http2 from 'node:http2';\n         * const server = http2.createServer((req, res) => {\n         *   const ip = req.socket.remoteAddress;\n         *   const port = req.socket.remotePort;\n         *   res.end(`Your IP address is ${ip} and your source port is ${port}.`);\n         * }).listen(3000);\n         * ```\n         * @since v8.4.0\n         */\n        readonly socket: net.Socket | tls.TLSSocket;\n        /**\n         * The `Http2Stream` object backing the response.\n         * @since v8.4.0\n         */\n        readonly stream: ServerHttp2Stream;\n        /**\n         * When true, the Date header will be automatically generated and sent in\n         * the response if it is not already present in the headers. Defaults to true.\n         *\n         * This should only be disabled for testing; HTTP requires the Date header\n         * in responses.\n         * @since v8.4.0\n         */\n        sendDate: boolean;\n        /**\n         * When using implicit headers (not calling `response.writeHead()` explicitly),\n         * this property controls the status code that will be sent to the client when\n         * the headers get flushed.\n         *\n         * ```js\n         * response.statusCode = 404;\n         * ```\n         *\n         * After response header was sent to the client, this property indicates the\n         * status code which was sent out.\n         * @since v8.4.0\n         */\n        statusCode: number;\n        /**\n         * Status message is not supported by HTTP/2 (RFC 7540 8.1.2.4). It returns\n         * an empty string.\n         * @since v8.4.0\n         */\n        statusMessage: \"\";\n        /**\n         * This method adds HTTP trailing headers (a header but at the end of the\n         * message) to the response.\n         *\n         * Attempting to set a header field name or value that contains invalid characters\n         * will result in a `TypeError` being thrown.\n         * @since v8.4.0\n         */\n        addTrailers(trailers: OutgoingHttpHeaders): void;\n        /**\n         * This method signals to the server that all of the response headers and body\n         * have been sent; that server should consider this message complete.\n         * The method, `response.end()`, MUST be called on each response.\n         *\n         * If `data` is specified, it is equivalent to calling `response.write(data, encoding)` followed by `response.end(callback)`.\n         *\n         * If `callback` is specified, it will be called when the response stream\n         * is finished.\n         * @since v8.4.0\n         */\n        end(callback?: () => void): this;\n        end(data: string | Uint8Array, callback?: () => void): this;\n        end(data: string | Uint8Array, encoding: BufferEncoding, callback?: () => void): this;\n        /**\n         * Reads out a header that has already been queued but not sent to the client.\n         * The name is case-insensitive.\n         *\n         * ```js\n         * const contentType = response.getHeader('content-type');\n         * ```\n         * @since v8.4.0\n         */\n        getHeader(name: string): string;\n        /**\n         * Returns an array containing the unique names of the current outgoing headers.\n         * All header names are lowercase.\n         *\n         * ```js\n         * response.setHeader('Foo', 'bar');\n         * response.setHeader('Set-Cookie', ['foo=bar', 'bar=baz']);\n         *\n         * const headerNames = response.getHeaderNames();\n         * // headerNames === ['foo', 'set-cookie']\n         * ```\n         * @since v8.4.0\n         */\n        getHeaderNames(): string[];\n        /**\n         * Returns a shallow copy of the current outgoing headers. Since a shallow copy\n         * is used, array values may be mutated without additional calls to various\n         * header-related http module methods. The keys of the returned object are the\n         * header names and the values are the respective header values. All header names\n         * are lowercase.\n         *\n         * The object returned by the `response.getHeaders()` method _does not_ prototypically inherit from the JavaScript `Object`. This means that typical `Object` methods such as `obj.toString()`,\n         * `obj.hasOwnProperty()`, and others\n         * are not defined and _will not work_.\n         *\n         * ```js\n         * response.setHeader('Foo', 'bar');\n         * response.setHeader('Set-Cookie', ['foo=bar', 'bar=baz']);\n         *\n         * const headers = response.getHeaders();\n         * // headers === { foo: 'bar', 'set-cookie': ['foo=bar', 'bar=baz'] }\n         * ```\n         * @since v8.4.0\n         */\n        getHeaders(): OutgoingHttpHeaders;\n        /**\n         * Returns `true` if the header identified by `name` is currently set in the\n         * outgoing headers. The header name matching is case-insensitive.\n         *\n         * ```js\n         * const hasContentType = response.hasHeader('content-type');\n         * ```\n         * @since v8.4.0\n         */\n        hasHeader(name: string): boolean;\n        /**\n         * Removes a header that has been queued for implicit sending.\n         *\n         * ```js\n         * response.removeHeader('Content-Encoding');\n         * ```\n         * @since v8.4.0\n         */\n        removeHeader(name: string): void;\n        /**\n         * Sets a single header value for implicit headers. If this header already exists\n         * in the to-be-sent headers, its value will be replaced. Use an array of strings\n         * here to send multiple headers with the same name.\n         *\n         * ```js\n         * response.setHeader('Content-Type', 'text/html; charset=utf-8');\n         * ```\n         *\n         * or\n         *\n         * ```js\n         * response.setHeader('Set-Cookie', ['type=ninja', 'language=javascript']);\n         * ```\n         *\n         * Attempting to set a header field name or value that contains invalid characters\n         * will result in a `TypeError` being thrown.\n         *\n         * When headers have been set with `response.setHeader()`, they will be merged\n         * with any headers passed to `response.writeHead()`, with the headers passed\n         * to `response.writeHead()` given precedence.\n         *\n         * ```js\n         * // Returns content-type = text/plain\n         * const server = http2.createServer((req, res) => {\n         *   res.setHeader('Content-Type', 'text/html; charset=utf-8');\n         *   res.setHeader('X-Foo', 'bar');\n         *   res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });\n         *   res.end('ok');\n         * });\n         * ```\n         * @since v8.4.0\n         */\n        setHeader(name: string, value: number | string | readonly string[]): void;\n        /**\n         * Sets the `Http2Stream`'s timeout value to `msecs`. If a callback is\n         * provided, then it is added as a listener on the `'timeout'` event on\n         * the response object.\n         *\n         * If no `'timeout'` listener is added to the request, the response, or\n         * the server, then `Http2Stream` s are destroyed when they time out. If a\n         * handler is assigned to the request, the response, or the server's `'timeout'` events, timed out sockets must be handled explicitly.\n         * @since v8.4.0\n         */\n        setTimeout(msecs: number, callback?: () => void): void;\n        /**\n         * If this method is called and `response.writeHead()` has not been called,\n         * it will switch to implicit header mode and flush the implicit headers.\n         *\n         * This sends a chunk of the response body. This method may\n         * be called multiple times to provide successive parts of the body.\n         *\n         * In the `http` module, the response body is omitted when the\n         * request is a HEAD request. Similarly, the `204` and `304` responses _must not_ include a message body.\n         *\n         * `chunk` can be a string or a buffer. If `chunk` is a string,\n         * the second parameter specifies how to encode it into a byte stream.\n         * By default the `encoding` is `'utf8'`. `callback` will be called when this chunk\n         * of data is flushed.\n         *\n         * This is the raw HTTP body and has nothing to do with higher-level multi-part\n         * body encodings that may be used.\n         *\n         * The first time `response.write()` is called, it will send the buffered\n         * header information and the first chunk of the body to the client. The second\n         * time `response.write()` is called, Node.js assumes data will be streamed,\n         * and sends the new data separately. That is, the response is buffered up to the\n         * first chunk of the body.\n         *\n         * Returns `true` if the entire data was flushed successfully to the kernel\n         * buffer. Returns `false` if all or part of the data was queued in user memory.`'drain'` will be emitted when the buffer is free again.\n         * @since v8.4.0\n         */\n        write(chunk: string | Uint8Array, callback?: (err: Error) => void): boolean;\n        write(chunk: string | Uint8Array, encoding: BufferEncoding, callback?: (err: Error) => void): boolean;\n        /**\n         * Sends a status `100 Continue` to the client, indicating that the request body\n         * should be sent. See the `'checkContinue'` event on `Http2Server` and `Http2SecureServer`.\n         * @since v8.4.0\n         */\n        writeContinue(): void;\n        /**\n         * Sends a status `103 Early Hints` to the client with a Link header,\n         * indicating that the user agent can preload/preconnect the linked resources.\n         * The `hints` is an object containing the values of headers to be sent with\n         * early hints message.\n         *\n         * **Example**\n         *\n         * ```js\n         * const earlyHintsLink = '</styles.css>; rel=preload; as=style';\n         * response.writeEarlyHints({\n         *   'link': earlyHintsLink,\n         * });\n         *\n         * const earlyHintsLinks = [\n         *   '</styles.css>; rel=preload; as=style',\n         *   '</scripts.js>; rel=preload; as=script',\n         * ];\n         * response.writeEarlyHints({\n         *   'link': earlyHintsLinks,\n         * });\n         * ```\n         * @since v18.11.0\n         */\n        writeEarlyHints(hints: Record<string, string | string[]>): void;\n        /**\n         * Sends a response header to the request. The status code is a 3-digit HTTP\n         * status code, like `404`. The last argument, `headers`, are the response headers.\n         *\n         * Returns a reference to the `Http2ServerResponse`, so that calls can be chained.\n         *\n         * For compatibility with `HTTP/1`, a human-readable `statusMessage` may be\n         * passed as the second argument. However, because the `statusMessage` has no\n         * meaning within HTTP/2, the argument will have no effect and a process warning\n         * will be emitted.\n         *\n         * ```js\n         * const body = 'hello world';\n         * response.writeHead(200, {\n         *   'Content-Length': Buffer.byteLength(body),\n         *   'Content-Type': 'text/plain; charset=utf-8',\n         * });\n         * ```\n         *\n         * `Content-Length` is given in bytes not characters. The`Buffer.byteLength()` API may be used to determine the number of bytes in a\n         * given encoding. On outbound messages, Node.js does not check if Content-Length\n         * and the length of the body being transmitted are equal or not. However, when\n         * receiving messages, Node.js will automatically reject messages when the `Content-Length` does not match the actual payload size.\n         *\n         * This method may be called at most one time on a message before `response.end()` is called.\n         *\n         * If `response.write()` or `response.end()` are called before calling\n         * this, the implicit/mutable headers will be calculated and call this function.\n         *\n         * When headers have been set with `response.setHeader()`, they will be merged\n         * with any headers passed to `response.writeHead()`, with the headers passed\n         * to `response.writeHead()` given precedence.\n         *\n         * ```js\n         * // Returns content-type = text/plain\n         * const server = http2.createServer((req, res) => {\n         *   res.setHeader('Content-Type', 'text/html; charset=utf-8');\n         *   res.setHeader('X-Foo', 'bar');\n         *   res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });\n         *   res.end('ok');\n         * });\n         * ```\n         *\n         * Attempting to set a header field name or value that contains invalid characters\n         * will result in a `TypeError` being thrown.\n         * @since v8.4.0\n         */\n        writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this;\n        writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders): this;\n        /**\n         * Call `http2stream.pushStream()` with the given headers, and wrap the\n         * given `Http2Stream` on a newly created `Http2ServerResponse` as the callback\n         * parameter if successful. When `Http2ServerRequest` is closed, the callback is\n         * called with an error `ERR_HTTP2_INVALID_STREAM`.\n         * @since v8.4.0\n         * @param headers An object describing the headers\n         * @param callback Called once `http2stream.pushStream()` is finished, or either when the attempt to create the pushed `Http2Stream` has failed or has been rejected, or the state of\n         * `Http2ServerRequest` is closed prior to calling the `http2stream.pushStream()` method\n         */\n        createPushResponse(\n            headers: OutgoingHttpHeaders,\n            callback: (err: Error | null, res: Http2ServerResponse) => void,\n        ): void;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"drain\", listener: () => void): this;\n        addListener(event: \"error\", listener: (error: Error) => void): this;\n        addListener(event: \"finish\", listener: () => void): this;\n        addListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        addListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        emit(event: \"close\"): boolean;\n        emit(event: \"drain\"): boolean;\n        emit(event: \"error\", error: Error): boolean;\n        emit(event: \"finish\"): boolean;\n        emit(event: \"pipe\", src: stream.Readable): boolean;\n        emit(event: \"unpipe\", src: stream.Readable): boolean;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"drain\", listener: () => void): this;\n        on(event: \"error\", listener: (error: Error) => void): this;\n        on(event: \"finish\", listener: () => void): this;\n        on(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        on(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"drain\", listener: () => void): this;\n        once(event: \"error\", listener: (error: Error) => void): this;\n        once(event: \"finish\", listener: () => void): this;\n        once(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        once(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"drain\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (error: Error) => void): this;\n        prependListener(event: \"finish\", listener: () => void): this;\n        prependListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        prependListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"drain\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (error: Error) => void): this;\n        prependOnceListener(event: \"finish\", listener: () => void): this;\n        prependOnceListener(event: \"pipe\", listener: (src: stream.Readable) => void): this;\n        prependOnceListener(event: \"unpipe\", listener: (src: stream.Readable) => void): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    export namespace constants {\n        const NGHTTP2_SESSION_SERVER: number;\n        const NGHTTP2_SESSION_CLIENT: number;\n        const NGHTTP2_STREAM_STATE_IDLE: number;\n        const NGHTTP2_STREAM_STATE_OPEN: number;\n        const NGHTTP2_STREAM_STATE_RESERVED_LOCAL: number;\n        const NGHTTP2_STREAM_STATE_RESERVED_REMOTE: number;\n        const NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: number;\n        const NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: number;\n        const NGHTTP2_STREAM_STATE_CLOSED: number;\n        const NGHTTP2_NO_ERROR: number;\n        const NGHTTP2_PROTOCOL_ERROR: number;\n        const NGHTTP2_INTERNAL_ERROR: number;\n        const NGHTTP2_FLOW_CONTROL_ERROR: number;\n        const NGHTTP2_SETTINGS_TIMEOUT: number;\n        const NGHTTP2_STREAM_CLOSED: number;\n        const NGHTTP2_FRAME_SIZE_ERROR: number;\n        const NGHTTP2_REFUSED_STREAM: number;\n        const NGHTTP2_CANCEL: number;\n        const NGHTTP2_COMPRESSION_ERROR: number;\n        const NGHTTP2_CONNECT_ERROR: number;\n        const NGHTTP2_ENHANCE_YOUR_CALM: number;\n        const NGHTTP2_INADEQUATE_SECURITY: number;\n        const NGHTTP2_HTTP_1_1_REQUIRED: number;\n        const NGHTTP2_ERR_FRAME_SIZE_ERROR: number;\n        const NGHTTP2_FLAG_NONE: number;\n        const NGHTTP2_FLAG_END_STREAM: number;\n        const NGHTTP2_FLAG_END_HEADERS: number;\n        const NGHTTP2_FLAG_ACK: number;\n        const NGHTTP2_FLAG_PADDED: number;\n        const NGHTTP2_FLAG_PRIORITY: number;\n        const DEFAULT_SETTINGS_HEADER_TABLE_SIZE: number;\n        const DEFAULT_SETTINGS_ENABLE_PUSH: number;\n        const DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: number;\n        const DEFAULT_SETTINGS_MAX_FRAME_SIZE: number;\n        const MAX_MAX_FRAME_SIZE: number;\n        const MIN_MAX_FRAME_SIZE: number;\n        const MAX_INITIAL_WINDOW_SIZE: number;\n        const NGHTTP2_DEFAULT_WEIGHT: number;\n        const NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: number;\n        const NGHTTP2_SETTINGS_ENABLE_PUSH: number;\n        const NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: number;\n        const NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: number;\n        const NGHTTP2_SETTINGS_MAX_FRAME_SIZE: number;\n        const NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: number;\n        const PADDING_STRATEGY_NONE: number;\n        const PADDING_STRATEGY_MAX: number;\n        const PADDING_STRATEGY_CALLBACK: number;\n        const HTTP2_HEADER_STATUS: string;\n        const HTTP2_HEADER_METHOD: string;\n        const HTTP2_HEADER_AUTHORITY: string;\n        const HTTP2_HEADER_SCHEME: string;\n        const HTTP2_HEADER_PATH: string;\n        const HTTP2_HEADER_ACCEPT_CHARSET: string;\n        const HTTP2_HEADER_ACCEPT_ENCODING: string;\n        const HTTP2_HEADER_ACCEPT_LANGUAGE: string;\n        const HTTP2_HEADER_ACCEPT_RANGES: string;\n        const HTTP2_HEADER_ACCEPT: string;\n        const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS: string;\n        const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: string;\n        const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: string;\n        const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: string;\n        const HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: string;\n        const HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: string;\n        const HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: string;\n        const HTTP2_HEADER_AGE: string;\n        const HTTP2_HEADER_ALLOW: string;\n        const HTTP2_HEADER_AUTHORIZATION: string;\n        const HTTP2_HEADER_CACHE_CONTROL: string;\n        const HTTP2_HEADER_CONNECTION: string;\n        const HTTP2_HEADER_CONTENT_DISPOSITION: string;\n        const HTTP2_HEADER_CONTENT_ENCODING: string;\n        const HTTP2_HEADER_CONTENT_LANGUAGE: string;\n        const HTTP2_HEADER_CONTENT_LENGTH: string;\n        const HTTP2_HEADER_CONTENT_LOCATION: string;\n        const HTTP2_HEADER_CONTENT_MD5: string;\n        const HTTP2_HEADER_CONTENT_RANGE: string;\n        const HTTP2_HEADER_CONTENT_TYPE: string;\n        const HTTP2_HEADER_COOKIE: string;\n        const HTTP2_HEADER_DATE: string;\n        const HTTP2_HEADER_ETAG: string;\n        const HTTP2_HEADER_EXPECT: string;\n        const HTTP2_HEADER_EXPIRES: string;\n        const HTTP2_HEADER_FROM: string;\n        const HTTP2_HEADER_HOST: string;\n        const HTTP2_HEADER_IF_MATCH: string;\n        const HTTP2_HEADER_IF_MODIFIED_SINCE: string;\n        const HTTP2_HEADER_IF_NONE_MATCH: string;\n        const HTTP2_HEADER_IF_RANGE: string;\n        const HTTP2_HEADER_IF_UNMODIFIED_SINCE: string;\n        const HTTP2_HEADER_LAST_MODIFIED: string;\n        const HTTP2_HEADER_LINK: string;\n        const HTTP2_HEADER_LOCATION: string;\n        const HTTP2_HEADER_MAX_FORWARDS: string;\n        const HTTP2_HEADER_PREFER: string;\n        const HTTP2_HEADER_PROXY_AUTHENTICATE: string;\n        const HTTP2_HEADER_PROXY_AUTHORIZATION: string;\n        const HTTP2_HEADER_RANGE: string;\n        const HTTP2_HEADER_REFERER: string;\n        const HTTP2_HEADER_REFRESH: string;\n        const HTTP2_HEADER_RETRY_AFTER: string;\n        const HTTP2_HEADER_SERVER: string;\n        const HTTP2_HEADER_SET_COOKIE: string;\n        const HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: string;\n        const HTTP2_HEADER_TRANSFER_ENCODING: string;\n        const HTTP2_HEADER_TE: string;\n        const HTTP2_HEADER_UPGRADE: string;\n        const HTTP2_HEADER_USER_AGENT: string;\n        const HTTP2_HEADER_VARY: string;\n        const HTTP2_HEADER_VIA: string;\n        const HTTP2_HEADER_WWW_AUTHENTICATE: string;\n        const HTTP2_HEADER_HTTP2_SETTINGS: string;\n        const HTTP2_HEADER_KEEP_ALIVE: string;\n        const HTTP2_HEADER_PROXY_CONNECTION: string;\n        const HTTP2_METHOD_ACL: string;\n        const HTTP2_METHOD_BASELINE_CONTROL: string;\n        const HTTP2_METHOD_BIND: string;\n        const HTTP2_METHOD_CHECKIN: string;\n        const HTTP2_METHOD_CHECKOUT: string;\n        const HTTP2_METHOD_CONNECT: string;\n        const HTTP2_METHOD_COPY: string;\n        const HTTP2_METHOD_DELETE: string;\n        const HTTP2_METHOD_GET: string;\n        const HTTP2_METHOD_HEAD: string;\n        const HTTP2_METHOD_LABEL: string;\n        const HTTP2_METHOD_LINK: string;\n        const HTTP2_METHOD_LOCK: string;\n        const HTTP2_METHOD_MERGE: string;\n        const HTTP2_METHOD_MKACTIVITY: string;\n        const HTTP2_METHOD_MKCALENDAR: string;\n        const HTTP2_METHOD_MKCOL: string;\n        const HTTP2_METHOD_MKREDIRECTREF: string;\n        const HTTP2_METHOD_MKWORKSPACE: string;\n        const HTTP2_METHOD_MOVE: string;\n        const HTTP2_METHOD_OPTIONS: string;\n        const HTTP2_METHOD_ORDERPATCH: string;\n        const HTTP2_METHOD_PATCH: string;\n        const HTTP2_METHOD_POST: string;\n        const HTTP2_METHOD_PRI: string;\n        const HTTP2_METHOD_PROPFIND: string;\n        const HTTP2_METHOD_PROPPATCH: string;\n        const HTTP2_METHOD_PUT: string;\n        const HTTP2_METHOD_REBIND: string;\n        const HTTP2_METHOD_REPORT: string;\n        const HTTP2_METHOD_SEARCH: string;\n        const HTTP2_METHOD_TRACE: string;\n        const HTTP2_METHOD_UNBIND: string;\n        const HTTP2_METHOD_UNCHECKOUT: string;\n        const HTTP2_METHOD_UNLINK: string;\n        const HTTP2_METHOD_UNLOCK: string;\n        const HTTP2_METHOD_UPDATE: string;\n        const HTTP2_METHOD_UPDATEREDIRECTREF: string;\n        const HTTP2_METHOD_VERSION_CONTROL: string;\n        const HTTP_STATUS_CONTINUE: number;\n        const HTTP_STATUS_SWITCHING_PROTOCOLS: number;\n        const HTTP_STATUS_PROCESSING: number;\n        const HTTP_STATUS_OK: number;\n        const HTTP_STATUS_CREATED: number;\n        const HTTP_STATUS_ACCEPTED: number;\n        const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: number;\n        const HTTP_STATUS_NO_CONTENT: number;\n        const HTTP_STATUS_RESET_CONTENT: number;\n        const HTTP_STATUS_PARTIAL_CONTENT: number;\n        const HTTP_STATUS_MULTI_STATUS: number;\n        const HTTP_STATUS_ALREADY_REPORTED: number;\n        const HTTP_STATUS_IM_USED: number;\n        const HTTP_STATUS_MULTIPLE_CHOICES: number;\n        const HTTP_STATUS_MOVED_PERMANENTLY: number;\n        const HTTP_STATUS_FOUND: number;\n        const HTTP_STATUS_SEE_OTHER: number;\n        const HTTP_STATUS_NOT_MODIFIED: number;\n        const HTTP_STATUS_USE_PROXY: number;\n        const HTTP_STATUS_TEMPORARY_REDIRECT: number;\n        const HTTP_STATUS_PERMANENT_REDIRECT: number;\n        const HTTP_STATUS_BAD_REQUEST: number;\n        const HTTP_STATUS_UNAUTHORIZED: number;\n        const HTTP_STATUS_PAYMENT_REQUIRED: number;\n        const HTTP_STATUS_FORBIDDEN: number;\n        const HTTP_STATUS_NOT_FOUND: number;\n        const HTTP_STATUS_METHOD_NOT_ALLOWED: number;\n        const HTTP_STATUS_NOT_ACCEPTABLE: number;\n        const HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: number;\n        const HTTP_STATUS_REQUEST_TIMEOUT: number;\n        const HTTP_STATUS_CONFLICT: number;\n        const HTTP_STATUS_GONE: number;\n        const HTTP_STATUS_LENGTH_REQUIRED: number;\n        const HTTP_STATUS_PRECONDITION_FAILED: number;\n        const HTTP_STATUS_PAYLOAD_TOO_LARGE: number;\n        const HTTP_STATUS_URI_TOO_LONG: number;\n        const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: number;\n        const HTTP_STATUS_RANGE_NOT_SATISFIABLE: number;\n        const HTTP_STATUS_EXPECTATION_FAILED: number;\n        const HTTP_STATUS_TEAPOT: number;\n        const HTTP_STATUS_MISDIRECTED_REQUEST: number;\n        const HTTP_STATUS_UNPROCESSABLE_ENTITY: number;\n        const HTTP_STATUS_LOCKED: number;\n        const HTTP_STATUS_FAILED_DEPENDENCY: number;\n        const HTTP_STATUS_UNORDERED_COLLECTION: number;\n        const HTTP_STATUS_UPGRADE_REQUIRED: number;\n        const HTTP_STATUS_PRECONDITION_REQUIRED: number;\n        const HTTP_STATUS_TOO_MANY_REQUESTS: number;\n        const HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: number;\n        const HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: number;\n        const HTTP_STATUS_INTERNAL_SERVER_ERROR: number;\n        const HTTP_STATUS_NOT_IMPLEMENTED: number;\n        const HTTP_STATUS_BAD_GATEWAY: number;\n        const HTTP_STATUS_SERVICE_UNAVAILABLE: number;\n        const HTTP_STATUS_GATEWAY_TIMEOUT: number;\n        const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: number;\n        const HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: number;\n        const HTTP_STATUS_INSUFFICIENT_STORAGE: number;\n        const HTTP_STATUS_LOOP_DETECTED: number;\n        const HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: number;\n        const HTTP_STATUS_NOT_EXTENDED: number;\n        const HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: number;\n    }\n    /**\n     * This symbol can be set as a property on the HTTP/2 headers object with\n     * an array value in order to provide a list of headers considered sensitive.\n     */\n    export const sensitiveHeaders: symbol;\n    /**\n     * Returns an object containing the default settings for an `Http2Session` instance. This method returns a new object instance every time it is called\n     * so instances returned may be safely modified for use.\n     * @since v8.4.0\n     */\n    export function getDefaultSettings(): Settings;\n    /**\n     * Returns a `Buffer` instance containing serialized representation of the given\n     * HTTP/2 settings as specified in the [HTTP/2](https://tools.ietf.org/html/rfc7540) specification. This is intended\n     * for use with the `HTTP2-Settings` header field.\n     *\n     * ```js\n     * import http2 from 'node:http2';\n     *\n     * const packed = http2.getPackedSettings({ enablePush: false });\n     *\n     * console.log(packed.toString('base64'));\n     * // Prints: AAIAAAAA\n     * ```\n     * @since v8.4.0\n     */\n    export function getPackedSettings(settings: Settings): Buffer;\n    /**\n     * Returns a `HTTP/2 Settings Object` containing the deserialized settings from\n     * the given `Buffer` as generated by `http2.getPackedSettings()`.\n     * @since v8.4.0\n     * @param buf The packed settings.\n     */\n    export function getUnpackedSettings(buf: Uint8Array): Settings;\n    /**\n     * Returns a `net.Server` instance that creates and manages `Http2Session` instances.\n     *\n     * Since there are no browsers known that support [unencrypted HTTP/2](https://http2.github.io/faq/#does-http2-require-encryption), the use of {@link createSecureServer} is necessary when\n     * communicating\n     * with browser clients.\n     *\n     * ```js\n     * import http2 from 'node:http2';\n     *\n     * // Create an unencrypted HTTP/2 server.\n     * // Since there are no browsers known that support\n     * // unencrypted HTTP/2, the use of `http2.createSecureServer()`\n     * // is necessary when communicating with browser clients.\n     * const server = http2.createServer();\n     *\n     * server.on('stream', (stream, headers) => {\n     *   stream.respond({\n     *     'content-type': 'text/html; charset=utf-8',\n     *     ':status': 200,\n     *   });\n     *   stream.end('<h1>Hello World</h1>');\n     * });\n     *\n     * server.listen(8000);\n     * ```\n     * @since v8.4.0\n     * @param onRequestHandler See `Compatibility API`\n     */\n    export function createServer(\n        onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void,\n    ): Http2Server;\n    export function createServer<\n        Http1Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,\n        Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,\n        Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,\n    >(\n        options: ServerOptions<Http1Request, Http1Response, Http2Request, Http2Response>,\n        onRequestHandler?: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n    ): Http2Server<Http1Request, Http1Response, Http2Request, Http2Response>;\n    /**\n     * Returns a `tls.Server` instance that creates and manages `Http2Session` instances.\n     *\n     * ```js\n     * import http2 from 'node:http2';\n     * import fs from 'node:fs';\n     *\n     * const options = {\n     *   key: fs.readFileSync('server-key.pem'),\n     *   cert: fs.readFileSync('server-cert.pem'),\n     * };\n     *\n     * // Create a secure HTTP/2 server\n     * const server = http2.createSecureServer(options);\n     *\n     * server.on('stream', (stream, headers) => {\n     *   stream.respond({\n     *     'content-type': 'text/html; charset=utf-8',\n     *     ':status': 200,\n     *   });\n     *   stream.end('<h1>Hello World</h1>');\n     * });\n     *\n     * server.listen(8443);\n     * ```\n     * @since v8.4.0\n     * @param onRequestHandler See `Compatibility API`\n     */\n    export function createSecureServer(\n        onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void,\n    ): Http2SecureServer;\n    export function createSecureServer<\n        Http1Request extends typeof IncomingMessage = typeof IncomingMessage,\n        Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,\n        Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,\n        Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,\n    >(\n        options: SecureServerOptions<Http1Request, Http1Response, Http2Request, Http2Response>,\n        onRequestHandler?: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,\n    ): Http2SecureServer<Http1Request, Http1Response, Http2Request, Http2Response>;\n    /**\n     * Returns a `ClientHttp2Session` instance.\n     *\n     * ```js\n     * import http2 from 'node:http2';\n     * const client = http2.connect('https://localhost:1234');\n     *\n     * // Use the client\n     *\n     * client.close();\n     * ```\n     * @since v8.4.0\n     * @param authority The remote HTTP/2 server to connect to. This must be in the form of a minimal, valid URL with the `http://` or `https://` prefix, host name, and IP port (if a non-default port\n     * is used). Userinfo (user ID and password), path, querystring, and fragment details in the URL will be ignored.\n     * @param listener Will be registered as a one-time listener of the {@link 'connect'} event.\n     */\n    export function connect(\n        authority: string | url.URL,\n        listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,\n    ): ClientHttp2Session;\n    export function connect(\n        authority: string | url.URL,\n        options?: ClientSessionOptions | SecureClientSessionOptions,\n        listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,\n    ): ClientHttp2Session;\n}\ndeclare module \"node:http2\" {\n    export * from \"http2\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/https.d.ts",
      "content": "/**\n * HTTPS is the HTTP protocol over TLS/SSL. In Node.js this is implemented as a\n * separate module.\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/https.js)\n */\ndeclare module \"https\" {\n    import { Duplex } from \"node:stream\";\n    import * as tls from \"node:tls\";\n    import * as http from \"node:http\";\n    import { URL } from \"node:url\";\n    type ServerOptions<\n        Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,\n        Response extends typeof http.ServerResponse<InstanceType<Request>> = typeof http.ServerResponse,\n    > = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions<Request, Response>;\n    type RequestOptions =\n        & http.RequestOptions\n        & tls.SecureContextOptions\n        & {\n            checkServerIdentity?: typeof tls.checkServerIdentity | undefined;\n            rejectUnauthorized?: boolean | undefined; // Defaults to true\n            servername?: string | undefined; // SNI TLS Extension\n        };\n    interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions {\n        rejectUnauthorized?: boolean | undefined;\n        maxCachedSessions?: number | undefined;\n    }\n    /**\n     * An `Agent` object for HTTPS similar to `http.Agent`. See {@link request} for more information.\n     * @since v0.4.5\n     */\n    class Agent extends http.Agent {\n        constructor(options?: AgentOptions);\n        options: AgentOptions;\n        createConnection(\n            options: RequestOptions,\n            callback?: (err: Error | null, stream: Duplex) => void,\n        ): Duplex | null | undefined;\n        getName(options?: RequestOptions): string;\n    }\n    interface Server<\n        Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,\n        Response extends typeof http.ServerResponse<InstanceType<Request>> = typeof http.ServerResponse,\n    > extends http.Server<Request, Response> {}\n    /**\n     * See `http.Server` for more information.\n     * @since v0.3.4\n     */\n    class Server<\n        Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,\n        Response extends typeof http.ServerResponse<InstanceType<Request>> = typeof http.ServerResponse,\n    > extends tls.Server {\n        constructor(requestListener?: http.RequestListener<Request, Response>);\n        constructor(\n            options: ServerOptions<Request, Response>,\n            requestListener?: http.RequestListener<Request, Response>,\n        );\n        /**\n         * Closes all connections connected to this server.\n         * @since v18.2.0\n         */\n        closeAllConnections(): void;\n        /**\n         * Closes all connections connected to this server which are not sending a request or waiting for a response.\n         * @since v18.2.0\n         */\n        closeIdleConnections(): void;\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"keylog\", listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;\n        addListener(\n            event: \"newSession\",\n            listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,\n        ): this;\n        addListener(\n            event: \"OCSPRequest\",\n            listener: (\n                certificate: Buffer,\n                issuer: Buffer,\n                callback: (err: Error | null, resp: Buffer) => void,\n            ) => void,\n        ): this;\n        addListener(\n            event: \"resumeSession\",\n            listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,\n        ): this;\n        addListener(event: \"secureConnection\", listener: (tlsSocket: tls.TLSSocket) => void): this;\n        addListener(event: \"tlsClientError\", listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"connection\", listener: (socket: Duplex) => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: \"listening\", listener: () => void): this;\n        addListener(event: \"checkContinue\", listener: http.RequestListener<Request, Response>): this;\n        addListener(event: \"checkExpectation\", listener: http.RequestListener<Request, Response>): this;\n        addListener(event: \"clientError\", listener: (err: Error, socket: Duplex) => void): this;\n        addListener(\n            event: \"connect\",\n            listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,\n        ): this;\n        addListener(event: \"request\", listener: http.RequestListener<Request, Response>): this;\n        addListener(\n            event: \"upgrade\",\n            listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,\n        ): this;\n        emit(event: string, ...args: any[]): boolean;\n        emit(event: \"keylog\", line: Buffer, tlsSocket: tls.TLSSocket): boolean;\n        emit(\n            event: \"newSession\",\n            sessionId: Buffer,\n            sessionData: Buffer,\n            callback: (err: Error, resp: Buffer) => void,\n        ): boolean;\n        emit(\n            event: \"OCSPRequest\",\n            certificate: Buffer,\n            issuer: Buffer,\n            callback: (err: Error | null, resp: Buffer) => void,\n        ): boolean;\n        emit(event: \"resumeSession\", sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean;\n        emit(event: \"secureConnection\", tlsSocket: tls.TLSSocket): boolean;\n        emit(event: \"tlsClientError\", err: Error, tlsSocket: tls.TLSSocket): boolean;\n        emit(event: \"close\"): boolean;\n        emit(event: \"connection\", socket: Duplex): boolean;\n        emit(event: \"error\", err: Error): boolean;\n        emit(event: \"listening\"): boolean;\n        emit(\n            event: \"checkContinue\",\n            req: InstanceType<Request>,\n            res: InstanceType<Response>,\n        ): boolean;\n        emit(\n            event: \"checkExpectation\",\n            req: InstanceType<Request>,\n            res: InstanceType<Response>,\n        ): boolean;\n        emit(event: \"clientError\", err: Error, socket: Duplex): boolean;\n        emit(event: \"connect\", req: InstanceType<Request>, socket: Duplex, head: Buffer): boolean;\n        emit(\n            event: \"request\",\n            req: InstanceType<Request>,\n            res: InstanceType<Response>,\n        ): boolean;\n        emit(event: \"upgrade\", req: InstanceType<Request>, socket: Duplex, head: Buffer): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"keylog\", listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;\n        on(\n            event: \"newSession\",\n            listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,\n        ): this;\n        on(\n            event: \"OCSPRequest\",\n            listener: (\n                certificate: Buffer,\n                issuer: Buffer,\n                callback: (err: Error | null, resp: Buffer) => void,\n            ) => void,\n        ): this;\n        on(\n            event: \"resumeSession\",\n            listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,\n        ): this;\n        on(event: \"secureConnection\", listener: (tlsSocket: tls.TLSSocket) => void): this;\n        on(event: \"tlsClientError\", listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"connection\", listener: (socket: Duplex) => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"listening\", listener: () => void): this;\n        on(event: \"checkContinue\", listener: http.RequestListener<Request, Response>): this;\n        on(event: \"checkExpectation\", listener: http.RequestListener<Request, Response>): this;\n        on(event: \"clientError\", listener: (err: Error, socket: Duplex) => void): this;\n        on(event: \"connect\", listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;\n        on(event: \"request\", listener: http.RequestListener<Request, Response>): this;\n        on(event: \"upgrade\", listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"keylog\", listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;\n        once(\n            event: \"newSession\",\n            listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,\n        ): this;\n        once(\n            event: \"OCSPRequest\",\n            listener: (\n                certificate: Buffer,\n                issuer: Buffer,\n                callback: (err: Error | null, resp: Buffer) => void,\n            ) => void,\n        ): this;\n        once(\n            event: \"resumeSession\",\n            listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,\n        ): this;\n        once(event: \"secureConnection\", listener: (tlsSocket: tls.TLSSocket) => void): this;\n        once(event: \"tlsClientError\", listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"connection\", listener: (socket: Duplex) => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"listening\", listener: () => void): this;\n        once(event: \"checkContinue\", listener: http.RequestListener<Request, Response>): this;\n        once(event: \"checkExpectation\", listener: http.RequestListener<Request, Response>): this;\n        once(event: \"clientError\", listener: (err: Error, socket: Duplex) => void): this;\n        once(event: \"connect\", listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;\n        once(event: \"request\", listener: http.RequestListener<Request, Response>): this;\n        once(event: \"upgrade\", listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"keylog\", listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;\n        prependListener(\n            event: \"newSession\",\n            listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,\n        ): this;\n        prependListener(\n            event: \"OCSPRequest\",\n            listener: (\n                certificate: Buffer,\n                issuer: Buffer,\n                callback: (err: Error | null, resp: Buffer) => void,\n            ) => void,\n        ): this;\n        prependListener(\n            event: \"resumeSession\",\n            listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,\n        ): this;\n        prependListener(event: \"secureConnection\", listener: (tlsSocket: tls.TLSSocket) => void): this;\n        prependListener(event: \"tlsClientError\", listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"connection\", listener: (socket: Duplex) => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: \"listening\", listener: () => void): this;\n        prependListener(event: \"checkContinue\", listener: http.RequestListener<Request, Response>): this;\n        prependListener(event: \"checkExpectation\", listener: http.RequestListener<Request, Response>): this;\n        prependListener(event: \"clientError\", listener: (err: Error, socket: Duplex) => void): this;\n        prependListener(\n            event: \"connect\",\n            listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,\n        ): this;\n        prependListener(event: \"request\", listener: http.RequestListener<Request, Response>): this;\n        prependListener(\n            event: \"upgrade\",\n            listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,\n        ): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"keylog\", listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;\n        prependOnceListener(\n            event: \"newSession\",\n            listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,\n        ): this;\n        prependOnceListener(\n            event: \"OCSPRequest\",\n            listener: (\n                certificate: Buffer,\n                issuer: Buffer,\n                callback: (err: Error | null, resp: Buffer) => void,\n            ) => void,\n        ): this;\n        prependOnceListener(\n            event: \"resumeSession\",\n            listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,\n        ): this;\n        prependOnceListener(event: \"secureConnection\", listener: (tlsSocket: tls.TLSSocket) => void): this;\n        prependOnceListener(event: \"tlsClientError\", listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"connection\", listener: (socket: Duplex) => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(event: \"listening\", listener: () => void): this;\n        prependOnceListener(event: \"checkContinue\", listener: http.RequestListener<Request, Response>): this;\n        prependOnceListener(event: \"checkExpectation\", listener: http.RequestListener<Request, Response>): this;\n        prependOnceListener(event: \"clientError\", listener: (err: Error, socket: Duplex) => void): this;\n        prependOnceListener(\n            event: \"connect\",\n            listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,\n        ): this;\n        prependOnceListener(event: \"request\", listener: http.RequestListener<Request, Response>): this;\n        prependOnceListener(\n            event: \"upgrade\",\n            listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,\n        ): this;\n    }\n    /**\n     * ```js\n     * // curl -k https://localhost:8000/\n     * import https from 'node:https';\n     * import fs from 'node:fs';\n     *\n     * const options = {\n     *   key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),\n     *   cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')\n     * };\n     *\n     * https.createServer(options, (req, res) => {\n     *   res.writeHead(200);\n     *   res.end('hello world\\n');\n     * }).listen(8000);\n     * ```\n     *\n     * Or\n     *\n     * ```js\n     * import https from 'node:https';\n     * import fs from 'node:fs';\n     *\n     * const options = {\n     *   pfx: fs.readFileSync('test/fixtures/test_cert.pfx'),\n     *   passphrase: 'sample'\n     * };\n     *\n     * https.createServer(options, (req, res) => {\n     *   res.writeHead(200);\n     *   res.end('hello world\\n');\n     * }).listen(8000);\n     * ```\n     * @since v0.3.4\n     * @param options Accepts `options` from `createServer`, `createSecureContext` and `createServer`.\n     * @param requestListener A listener to be added to the `'request'` event.\n     */\n    function createServer<\n        Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,\n        Response extends typeof http.ServerResponse<InstanceType<Request>> = typeof http.ServerResponse,\n    >(requestListener?: http.RequestListener<Request, Response>): Server<Request, Response>;\n    function createServer<\n        Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,\n        Response extends typeof http.ServerResponse<InstanceType<Request>> = typeof http.ServerResponse,\n    >(\n        options: ServerOptions<Request, Response>,\n        requestListener?: http.RequestListener<Request, Response>,\n    ): Server<Request, Response>;\n    /**\n     * Makes a request to a secure web server.\n     *\n     * The following additional `options` from `tls.connect()` are also accepted:`ca`, `cert`, `ciphers`, `clientCertEngine`, `crl`, `dhparam`, `ecdhCurve`, `honorCipherOrder`, `key`, `passphrase`,\n     * `pfx`, `rejectUnauthorized`, `secureOptions`, `secureProtocol`, `servername`, `sessionIdContext`, `highWaterMark`.\n     *\n     * `options` can be an object, a string, or a `URL` object. If `options` is a\n     * string, it is automatically parsed with `new URL()`. If it is a `URL` object, it will be automatically converted to an ordinary `options` object.\n     *\n     * `https.request()` returns an instance of the `http.ClientRequest` class. The `ClientRequest` instance is a writable stream. If one needs to\n     * upload a file with a POST request, then write to the `ClientRequest` object.\n     *\n     * ```js\n     * import https from 'node:https';\n     *\n     * const options = {\n     *   hostname: 'encrypted.google.com',\n     *   port: 443,\n     *   path: '/',\n     *   method: 'GET'\n     * };\n     *\n     * const req = https.request(options, (res) => {\n     *   console.log('statusCode:', res.statusCode);\n     *   console.log('headers:', res.headers);\n     *\n     *   res.on('data', (d) => {\n     *     process.stdout.write(d);\n     *   });\n     * });\n     *\n     * req.on('error', (e) => {\n     *   console.error(e);\n     * });\n     * req.end();\n     * ```\n     *\n     * Example using options from `tls.connect()`:\n     *\n     * ```js\n     * const options = {\n     *   hostname: 'encrypted.google.com',\n     *   port: 443,\n     *   path: '/',\n     *   method: 'GET',\n     *   key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),\n     *   cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')\n     * };\n     * options.agent = new https.Agent(options);\n     *\n     * const req = https.request(options, (res) => {\n     *   // ...\n     * });\n     * ```\n     *\n     * Alternatively, opt out of connection pooling by not using an `Agent`.\n     *\n     * ```js\n     * const options = {\n     *   hostname: 'encrypted.google.com',\n     *   port: 443,\n     *   path: '/',\n     *   method: 'GET',\n     *   key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),\n     *   cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem'),\n     *   agent: false\n     * };\n     *\n     * const req = https.request(options, (res) => {\n     *   // ...\n     * });\n     * ```\n     *\n     * Example using a `URL` as `options`:\n     *\n     * ```js\n     * const options = new URL('https://abc:xyz@example.com');\n     *\n     * const req = https.request(options, (res) => {\n     *   // ...\n     * });\n     * ```\n     *\n     * Example pinning on certificate fingerprint, or the public key (similar to`pin-sha256`):\n     *\n     * ```js\n     * import tls from 'node:tls';\n     * import https from 'node:https';\n     * import crypto from 'node:crypto';\n     *\n     * function sha256(s) {\n     *   return crypto.createHash('sha256').update(s).digest('base64');\n     * }\n     * const options = {\n     *   hostname: 'github.com',\n     *   port: 443,\n     *   path: '/',\n     *   method: 'GET',\n     *   checkServerIdentity: function(host, cert) {\n     *     // Make sure the certificate is issued to the host we are connected to\n     *     const err = tls.checkServerIdentity(host, cert);\n     *     if (err) {\n     *       return err;\n     *     }\n     *\n     *     // Pin the public key, similar to HPKP pin-sha25 pinning\n     *     const pubkey256 = 'pL1+qb9HTMRZJmuC/bB/ZI9d302BYrrqiVuRyW+DGrU=';\n     *     if (sha256(cert.pubkey) !== pubkey256) {\n     *       const msg = 'Certificate verification error: ' +\n     *         `The public key of '${cert.subject.CN}' ` +\n     *         'does not match our pinned fingerprint';\n     *       return new Error(msg);\n     *     }\n     *\n     *     // Pin the exact certificate, rather than the pub key\n     *     const cert256 = '25:FE:39:32:D9:63:8C:8A:FC:A1:9A:29:87:' +\n     *       'D8:3E:4C:1D:98:DB:71:E4:1A:48:03:98:EA:22:6A:BD:8B:93:16';\n     *     if (cert.fingerprint256 !== cert256) {\n     *       const msg = 'Certificate verification error: ' +\n     *         `The certificate of '${cert.subject.CN}' ` +\n     *         'does not match our pinned fingerprint';\n     *       return new Error(msg);\n     *     }\n     *\n     *     // This loop is informational only.\n     *     // Print the certificate and public key fingerprints of all certs in the\n     *     // chain. Its common to pin the public key of the issuer on the public\n     *     // internet, while pinning the public key of the service in sensitive\n     *     // environments.\n     *     do {\n     *       console.log('Subject Common Name:', cert.subject.CN);\n     *       console.log('  Certificate SHA256 fingerprint:', cert.fingerprint256);\n     *\n     *       hash = crypto.createHash('sha256');\n     *       console.log('  Public key ping-sha256:', sha256(cert.pubkey));\n     *\n     *       lastprint256 = cert.fingerprint256;\n     *       cert = cert.issuerCertificate;\n     *     } while (cert.fingerprint256 !== lastprint256);\n     *\n     *   },\n     * };\n     *\n     * options.agent = new https.Agent(options);\n     * const req = https.request(options, (res) => {\n     *   console.log('All OK. Server matched our pinned cert or public key');\n     *   console.log('statusCode:', res.statusCode);\n     *   // Print the HPKP values\n     *   console.log('headers:', res.headers['public-key-pins']);\n     *\n     *   res.on('data', (d) => {});\n     * });\n     *\n     * req.on('error', (e) => {\n     *   console.error(e.message);\n     * });\n     * req.end();\n     * ```\n     *\n     * Outputs for example:\n     *\n     * ```text\n     * Subject Common Name: github.com\n     *   Certificate SHA256 fingerprint: 25:FE:39:32:D9:63:8C:8A:FC:A1:9A:29:87:D8:3E:4C:1D:98:DB:71:E4:1A:48:03:98:EA:22:6A:BD:8B:93:16\n     *   Public key ping-sha256: pL1+qb9HTMRZJmuC/bB/ZI9d302BYrrqiVuRyW+DGrU=\n     * Subject Common Name: DigiCert SHA2 Extended Validation Server CA\n     *   Certificate SHA256 fingerprint: 40:3E:06:2A:26:53:05:91:13:28:5B:AF:80:A0:D4:AE:42:2C:84:8C:9F:78:FA:D0:1F:C9:4B:C5:B8:7F:EF:1A\n     *   Public key ping-sha256: RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho=\n     * Subject Common Name: DigiCert High Assurance EV Root CA\n     *   Certificate SHA256 fingerprint: 74:31:E5:F4:C3:C1:CE:46:90:77:4F:0B:61:E0:54:40:88:3B:A9:A0:1E:D0:0B:A6:AB:D7:80:6E:D3:B1:18:CF\n     *   Public key ping-sha256: WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=\n     * All OK. Server matched our pinned cert or public key\n     * statusCode: 200\n     * headers: max-age=0; pin-sha256=\"WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=\"; pin-sha256=\"RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho=\";\n     * pin-sha256=\"k2v657xBsOVe1PQRwOsHsw3bsGT2VzIqz5K+59sNQws=\"; pin-sha256=\"K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q=\"; pin-sha256=\"IQBnNBEiFuhj+8x6X8XLgh01V9Ic5/V3IRQLNFFc7v4=\";\n     * pin-sha256=\"iie1VXtL7HzAMF+/PVPR9xzT80kQxdZeJ+zduCB3uj0=\"; pin-sha256=\"LvRiGEjRqfzurezaWuj8Wie2gyHMrW5Q06LspMnox7A=\"; includeSubDomains\n     * ```\n     * @since v0.3.6\n     * @param options Accepts all `options` from `request`, with some differences in default values:\n     */\n    function request(\n        options: RequestOptions | string | URL,\n        callback?: (res: http.IncomingMessage) => void,\n    ): http.ClientRequest;\n    function request(\n        url: string | URL,\n        options: RequestOptions,\n        callback?: (res: http.IncomingMessage) => void,\n    ): http.ClientRequest;\n    /**\n     * Like `http.get()` but for HTTPS.\n     *\n     * `options` can be an object, a string, or a `URL` object. If `options` is a\n     * string, it is automatically parsed with `new URL()`. If it is a `URL` object, it will be automatically converted to an ordinary `options` object.\n     *\n     * ```js\n     * import https from 'node:https';\n     *\n     * https.get('https://encrypted.google.com/', (res) => {\n     *   console.log('statusCode:', res.statusCode);\n     *   console.log('headers:', res.headers);\n     *\n     *   res.on('data', (d) => {\n     *     process.stdout.write(d);\n     *   });\n     *\n     * }).on('error', (e) => {\n     *   console.error(e);\n     * });\n     * ```\n     * @since v0.3.6\n     * @param options Accepts the same `options` as {@link request}, with the `method` always set to `GET`.\n     */\n    function get(\n        options: RequestOptions | string | URL,\n        callback?: (res: http.IncomingMessage) => void,\n    ): http.ClientRequest;\n    function get(\n        url: string | URL,\n        options: RequestOptions,\n        callback?: (res: http.IncomingMessage) => void,\n    ): http.ClientRequest;\n    let globalAgent: Agent;\n}\ndeclare module \"node:https\" {\n    export * from \"https\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/inspector.generated.d.ts",
      "content": "// Type definitions for inspector\n\n// These definitions are auto-generated.\n// Please see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19330\n// for more information.\n\n\n/**\n * The `inspector` module provides an API for interacting with the V8 inspector.\n *\n * It can be accessed using:\n *\n * ```js\n * import inspector from 'node:inspector';\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/inspector.js)\n */\ndeclare module 'inspector' {\n    import EventEmitter = require('node:events');\n    interface InspectorNotification<T> {\n        method: string;\n        params: T;\n    }\n    namespace Schema {\n        /**\n         * Description of the protocol domain.\n         */\n        interface Domain {\n            /**\n             * Domain name.\n             */\n            name: string;\n            /**\n             * Domain version.\n             */\n            version: string;\n        }\n        interface GetDomainsReturnType {\n            /**\n             * List of supported domains.\n             */\n            domains: Domain[];\n        }\n    }\n    namespace Runtime {\n        /**\n         * Unique script identifier.\n         */\n        type ScriptId = string;\n        /**\n         * Unique object identifier.\n         */\n        type RemoteObjectId = string;\n        /**\n         * Primitive value which cannot be JSON-stringified.\n         */\n        type UnserializableValue = string;\n        /**\n         * Mirror object referencing original JavaScript object.\n         */\n        interface RemoteObject {\n            /**\n             * Object type.\n             */\n            type: string;\n            /**\n             * Object subtype hint. Specified for <code>object</code> type values only.\n             */\n            subtype?: string | undefined;\n            /**\n             * Object class (constructor) name. Specified for <code>object</code> type values only.\n             */\n            className?: string | undefined;\n            /**\n             * Remote object value in case of primitive values or JSON values (if it was requested).\n             */\n            value?: any;\n            /**\n             * Primitive value which can not be JSON-stringified does not have <code>value</code>, but gets this property.\n             */\n            unserializableValue?: UnserializableValue | undefined;\n            /**\n             * String representation of the object.\n             */\n            description?: string | undefined;\n            /**\n             * Unique object identifier (for non-primitive values).\n             */\n            objectId?: RemoteObjectId | undefined;\n            /**\n             * Preview containing abbreviated property values. Specified for <code>object</code> type values only.\n             * @experimental\n             */\n            preview?: ObjectPreview | undefined;\n            /**\n             * @experimental\n             */\n            customPreview?: CustomPreview | undefined;\n        }\n        /**\n         * @experimental\n         */\n        interface CustomPreview {\n            header: string;\n            hasBody: boolean;\n            formatterObjectId: RemoteObjectId;\n            bindRemoteObjectFunctionId: RemoteObjectId;\n            configObjectId?: RemoteObjectId | undefined;\n        }\n        /**\n         * Object containing abbreviated remote object value.\n         * @experimental\n         */\n        interface ObjectPreview {\n            /**\n             * Object type.\n             */\n            type: string;\n            /**\n             * Object subtype hint. Specified for <code>object</code> type values only.\n             */\n            subtype?: string | undefined;\n            /**\n             * String representation of the object.\n             */\n            description?: string | undefined;\n            /**\n             * True iff some of the properties or entries of the original object did not fit.\n             */\n            overflow: boolean;\n            /**\n             * List of the properties.\n             */\n            properties: PropertyPreview[];\n            /**\n             * List of the entries. Specified for <code>map</code> and <code>set</code> subtype values only.\n             */\n            entries?: EntryPreview[] | undefined;\n        }\n        /**\n         * @experimental\n         */\n        interface PropertyPreview {\n            /**\n             * Property name.\n             */\n            name: string;\n            /**\n             * Object type. Accessor means that the property itself is an accessor property.\n             */\n            type: string;\n            /**\n             * User-friendly property value string.\n             */\n            value?: string | undefined;\n            /**\n             * Nested value preview.\n             */\n            valuePreview?: ObjectPreview | undefined;\n            /**\n             * Object subtype hint. Specified for <code>object</code> type values only.\n             */\n            subtype?: string | undefined;\n        }\n        /**\n         * @experimental\n         */\n        interface EntryPreview {\n            /**\n             * Preview of the key. Specified for map-like collection entries.\n             */\n            key?: ObjectPreview | undefined;\n            /**\n             * Preview of the value.\n             */\n            value: ObjectPreview;\n        }\n        /**\n         * Object property descriptor.\n         */\n        interface PropertyDescriptor {\n            /**\n             * Property name or symbol description.\n             */\n            name: string;\n            /**\n             * The value associated with the property.\n             */\n            value?: RemoteObject | undefined;\n            /**\n             * True if the value associated with the property may be changed (data descriptors only).\n             */\n            writable?: boolean | undefined;\n            /**\n             * A function which serves as a getter for the property, or <code>undefined</code> if there is no getter (accessor descriptors only).\n             */\n            get?: RemoteObject | undefined;\n            /**\n             * A function which serves as a setter for the property, or <code>undefined</code> if there is no setter (accessor descriptors only).\n             */\n            set?: RemoteObject | undefined;\n            /**\n             * True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object.\n             */\n            configurable: boolean;\n            /**\n             * True if this property shows up during enumeration of the properties on the corresponding object.\n             */\n            enumerable: boolean;\n            /**\n             * True if the result was thrown during the evaluation.\n             */\n            wasThrown?: boolean | undefined;\n            /**\n             * True if the property is owned for the object.\n             */\n            isOwn?: boolean | undefined;\n            /**\n             * Property symbol object, if the property is of the <code>symbol</code> type.\n             */\n            symbol?: RemoteObject | undefined;\n        }\n        /**\n         * Object internal property descriptor. This property isn't normally visible in JavaScript code.\n         */\n        interface InternalPropertyDescriptor {\n            /**\n             * Conventional property name.\n             */\n            name: string;\n            /**\n             * The value associated with the property.\n             */\n            value?: RemoteObject | undefined;\n        }\n        /**\n         * Represents function call argument. Either remote object id <code>objectId</code>, primitive <code>value</code>, unserializable primitive value or neither of (for undefined) them should be specified.\n         */\n        interface CallArgument {\n            /**\n             * Primitive value or serializable javascript object.\n             */\n            value?: any;\n            /**\n             * Primitive value which can not be JSON-stringified.\n             */\n            unserializableValue?: UnserializableValue | undefined;\n            /**\n             * Remote object handle.\n             */\n            objectId?: RemoteObjectId | undefined;\n        }\n        /**\n         * Id of an execution context.\n         */\n        type ExecutionContextId = number;\n        /**\n         * Description of an isolated world.\n         */\n        interface ExecutionContextDescription {\n            /**\n             * Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed.\n             */\n            id: ExecutionContextId;\n            /**\n             * Execution context origin.\n             */\n            origin: string;\n            /**\n             * Human readable name describing given context.\n             */\n            name: string;\n            /**\n             * Embedder-specific auxiliary data.\n             */\n            auxData?: {} | undefined;\n        }\n        /**\n         * Detailed information about exception (or error) that was thrown during script compilation or execution.\n         */\n        interface ExceptionDetails {\n            /**\n             * Exception id.\n             */\n            exceptionId: number;\n            /**\n             * Exception text, which should be used together with exception object when available.\n             */\n            text: string;\n            /**\n             * Line number of the exception location (0-based).\n             */\n            lineNumber: number;\n            /**\n             * Column number of the exception location (0-based).\n             */\n            columnNumber: number;\n            /**\n             * Script ID of the exception location.\n             */\n            scriptId?: ScriptId | undefined;\n            /**\n             * URL of the exception location, to be used when the script was not reported.\n             */\n            url?: string | undefined;\n            /**\n             * JavaScript stack trace if available.\n             */\n            stackTrace?: StackTrace | undefined;\n            /**\n             * Exception object if available.\n             */\n            exception?: RemoteObject | undefined;\n            /**\n             * Identifier of the context where exception happened.\n             */\n            executionContextId?: ExecutionContextId | undefined;\n        }\n        /**\n         * Number of milliseconds since epoch.\n         */\n        type Timestamp = number;\n        /**\n         * Stack entry for runtime errors and assertions.\n         */\n        interface CallFrame {\n            /**\n             * JavaScript function name.\n             */\n            functionName: string;\n            /**\n             * JavaScript script id.\n             */\n            scriptId: ScriptId;\n            /**\n             * JavaScript script name or url.\n             */\n            url: string;\n            /**\n             * JavaScript script line number (0-based).\n             */\n            lineNumber: number;\n            /**\n             * JavaScript script column number (0-based).\n             */\n            columnNumber: number;\n        }\n        /**\n         * Call frames for assertions or error messages.\n         */\n        interface StackTrace {\n            /**\n             * String label of this stack trace. For async traces this may be a name of the function that initiated the async call.\n             */\n            description?: string | undefined;\n            /**\n             * JavaScript function name.\n             */\n            callFrames: CallFrame[];\n            /**\n             * Asynchronous JavaScript stack trace that preceded this stack, if available.\n             */\n            parent?: StackTrace | undefined;\n            /**\n             * Asynchronous JavaScript stack trace that preceded this stack, if available.\n             * @experimental\n             */\n            parentId?: StackTraceId | undefined;\n        }\n        /**\n         * Unique identifier of current debugger.\n         * @experimental\n         */\n        type UniqueDebuggerId = string;\n        /**\n         * If <code>debuggerId</code> is set stack trace comes from another debugger and can be resolved there. This allows to track cross-debugger calls. See <code>Runtime.StackTrace</code> and <code>Debugger.paused</code> for usages.\n         * @experimental\n         */\n        interface StackTraceId {\n            id: string;\n            debuggerId?: UniqueDebuggerId | undefined;\n        }\n        interface EvaluateParameterType {\n            /**\n             * Expression to evaluate.\n             */\n            expression: string;\n            /**\n             * Symbolic group name that can be used to release multiple objects.\n             */\n            objectGroup?: string | undefined;\n            /**\n             * Determines whether Command Line API should be available during the evaluation.\n             */\n            includeCommandLineAPI?: boolean | undefined;\n            /**\n             * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides <code>setPauseOnException</code> state.\n             */\n            silent?: boolean | undefined;\n            /**\n             * Specifies in which execution context to perform evaluation. If the parameter is omitted the evaluation will be performed in the context of the inspected page.\n             */\n            contextId?: ExecutionContextId | undefined;\n            /**\n             * Whether the result is expected to be a JSON object that should be sent by value.\n             */\n            returnByValue?: boolean | undefined;\n            /**\n             * Whether preview should be generated for the result.\n             * @experimental\n             */\n            generatePreview?: boolean | undefined;\n            /**\n             * Whether execution should be treated as initiated by user in the UI.\n             */\n            userGesture?: boolean | undefined;\n            /**\n             * Whether execution should <code>await</code> for resulting value and return once awaited promise is resolved.\n             */\n            awaitPromise?: boolean | undefined;\n        }\n        interface AwaitPromiseParameterType {\n            /**\n             * Identifier of the promise.\n             */\n            promiseObjectId: RemoteObjectId;\n            /**\n             * Whether the result is expected to be a JSON object that should be sent by value.\n             */\n            returnByValue?: boolean | undefined;\n            /**\n             * Whether preview should be generated for the result.\n             */\n            generatePreview?: boolean | undefined;\n        }\n        interface CallFunctionOnParameterType {\n            /**\n             * Declaration of the function to call.\n             */\n            functionDeclaration: string;\n            /**\n             * Identifier of the object to call function on. Either objectId or executionContextId should be specified.\n             */\n            objectId?: RemoteObjectId | undefined;\n            /**\n             * Call arguments. All call arguments must belong to the same JavaScript world as the target object.\n             */\n            arguments?: CallArgument[] | undefined;\n            /**\n             * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides <code>setPauseOnException</code> state.\n             */\n            silent?: boolean | undefined;\n            /**\n             * Whether the result is expected to be a JSON object which should be sent by value.\n             */\n            returnByValue?: boolean | undefined;\n            /**\n             * Whether preview should be generated for the result.\n             * @experimental\n             */\n            generatePreview?: boolean | undefined;\n            /**\n             * Whether execution should be treated as initiated by user in the UI.\n             */\n            userGesture?: boolean | undefined;\n            /**\n             * Whether execution should <code>await</code> for resulting value and return once awaited promise is resolved.\n             */\n            awaitPromise?: boolean | undefined;\n            /**\n             * Specifies execution context which global object will be used to call function on. Either executionContextId or objectId should be specified.\n             */\n            executionContextId?: ExecutionContextId | undefined;\n            /**\n             * Symbolic group name that can be used to release multiple objects. If objectGroup is not specified and objectId is, objectGroup will be inherited from object.\n             */\n            objectGroup?: string | undefined;\n        }\n        interface GetPropertiesParameterType {\n            /**\n             * Identifier of the object to return properties for.\n             */\n            objectId: RemoteObjectId;\n            /**\n             * If true, returns properties belonging only to the element itself, not to its prototype chain.\n             */\n            ownProperties?: boolean | undefined;\n            /**\n             * If true, returns accessor properties (with getter/setter) only; internal properties are not returned either.\n             * @experimental\n             */\n            accessorPropertiesOnly?: boolean | undefined;\n            /**\n             * Whether preview should be generated for the results.\n             * @experimental\n             */\n            generatePreview?: boolean | undefined;\n        }\n        interface ReleaseObjectParameterType {\n            /**\n             * Identifier of the object to release.\n             */\n            objectId: RemoteObjectId;\n        }\n        interface ReleaseObjectGroupParameterType {\n            /**\n             * Symbolic object group name.\n             */\n            objectGroup: string;\n        }\n        interface SetCustomObjectFormatterEnabledParameterType {\n            enabled: boolean;\n        }\n        interface CompileScriptParameterType {\n            /**\n             * Expression to compile.\n             */\n            expression: string;\n            /**\n             * Source url to be set for the script.\n             */\n            sourceURL: string;\n            /**\n             * Specifies whether the compiled script should be persisted.\n             */\n            persistScript: boolean;\n            /**\n             * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page.\n             */\n            executionContextId?: ExecutionContextId | undefined;\n        }\n        interface RunScriptParameterType {\n            /**\n             * Id of the script to run.\n             */\n            scriptId: ScriptId;\n            /**\n             * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page.\n             */\n            executionContextId?: ExecutionContextId | undefined;\n            /**\n             * Symbolic group name that can be used to release multiple objects.\n             */\n            objectGroup?: string | undefined;\n            /**\n             * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides <code>setPauseOnException</code> state.\n             */\n            silent?: boolean | undefined;\n            /**\n             * Determines whether Command Line API should be available during the evaluation.\n             */\n            includeCommandLineAPI?: boolean | undefined;\n            /**\n             * Whether the result is expected to be a JSON object which should be sent by value.\n             */\n            returnByValue?: boolean | undefined;\n            /**\n             * Whether preview should be generated for the result.\n             */\n            generatePreview?: boolean | undefined;\n            /**\n             * Whether execution should <code>await</code> for resulting value and return once awaited promise is resolved.\n             */\n            awaitPromise?: boolean | undefined;\n        }\n        interface QueryObjectsParameterType {\n            /**\n             * Identifier of the prototype to return objects for.\n             */\n            prototypeObjectId: RemoteObjectId;\n        }\n        interface GlobalLexicalScopeNamesParameterType {\n            /**\n             * Specifies in which execution context to lookup global scope variables.\n             */\n            executionContextId?: ExecutionContextId | undefined;\n        }\n        interface EvaluateReturnType {\n            /**\n             * Evaluation result.\n             */\n            result: RemoteObject;\n            /**\n             * Exception details.\n             */\n            exceptionDetails?: ExceptionDetails | undefined;\n        }\n        interface AwaitPromiseReturnType {\n            /**\n             * Promise result. Will contain rejected value if promise was rejected.\n             */\n            result: RemoteObject;\n            /**\n             * Exception details if stack strace is available.\n             */\n            exceptionDetails?: ExceptionDetails | undefined;\n        }\n        interface CallFunctionOnReturnType {\n            /**\n             * Call result.\n             */\n            result: RemoteObject;\n            /**\n             * Exception details.\n             */\n            exceptionDetails?: ExceptionDetails | undefined;\n        }\n        interface GetPropertiesReturnType {\n            /**\n             * Object properties.\n             */\n            result: PropertyDescriptor[];\n            /**\n             * Internal object properties (only of the element itself).\n             */\n            internalProperties?: InternalPropertyDescriptor[] | undefined;\n            /**\n             * Exception details.\n             */\n            exceptionDetails?: ExceptionDetails | undefined;\n        }\n        interface CompileScriptReturnType {\n            /**\n             * Id of the script.\n             */\n            scriptId?: ScriptId | undefined;\n            /**\n             * Exception details.\n             */\n            exceptionDetails?: ExceptionDetails | undefined;\n        }\n        interface RunScriptReturnType {\n            /**\n             * Run result.\n             */\n            result: RemoteObject;\n            /**\n             * Exception details.\n             */\n            exceptionDetails?: ExceptionDetails | undefined;\n        }\n        interface QueryObjectsReturnType {\n            /**\n             * Array with objects.\n             */\n            objects: RemoteObject;\n        }\n        interface GlobalLexicalScopeNamesReturnType {\n            names: string[];\n        }\n        interface ExecutionContextCreatedEventDataType {\n            /**\n             * A newly created execution context.\n             */\n            context: ExecutionContextDescription;\n        }\n        interface ExecutionContextDestroyedEventDataType {\n            /**\n             * Id of the destroyed context\n             */\n            executionContextId: ExecutionContextId;\n        }\n        interface ExceptionThrownEventDataType {\n            /**\n             * Timestamp of the exception.\n             */\n            timestamp: Timestamp;\n            exceptionDetails: ExceptionDetails;\n        }\n        interface ExceptionRevokedEventDataType {\n            /**\n             * Reason describing why exception was revoked.\n             */\n            reason: string;\n            /**\n             * The id of revoked exception, as reported in <code>exceptionThrown</code>.\n             */\n            exceptionId: number;\n        }\n        interface ConsoleAPICalledEventDataType {\n            /**\n             * Type of the call.\n             */\n            type: string;\n            /**\n             * Call arguments.\n             */\n            args: RemoteObject[];\n            /**\n             * Identifier of the context where the call was made.\n             */\n            executionContextId: ExecutionContextId;\n            /**\n             * Call timestamp.\n             */\n            timestamp: Timestamp;\n            /**\n             * Stack trace captured when the call was made.\n             */\n            stackTrace?: StackTrace | undefined;\n            /**\n             * Console context descriptor for calls on non-default console context (not console.*): 'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call on named context.\n             * @experimental\n             */\n            context?: string | undefined;\n        }\n        interface InspectRequestedEventDataType {\n            object: RemoteObject;\n            hints: {};\n        }\n    }\n    namespace Debugger {\n        /**\n         * Breakpoint identifier.\n         */\n        type BreakpointId = string;\n        /**\n         * Call frame identifier.\n         */\n        type CallFrameId = string;\n        /**\n         * Location in the source code.\n         */\n        interface Location {\n            /**\n             * Script identifier as reported in the <code>Debugger.scriptParsed</code>.\n             */\n            scriptId: Runtime.ScriptId;\n            /**\n             * Line number in the script (0-based).\n             */\n            lineNumber: number;\n            /**\n             * Column number in the script (0-based).\n             */\n            columnNumber?: number | undefined;\n        }\n        /**\n         * Location in the source code.\n         * @experimental\n         */\n        interface ScriptPosition {\n            lineNumber: number;\n            columnNumber: number;\n        }\n        /**\n         * JavaScript call frame. Array of call frames form the call stack.\n         */\n        interface CallFrame {\n            /**\n             * Call frame identifier. This identifier is only valid while the virtual machine is paused.\n             */\n            callFrameId: CallFrameId;\n            /**\n             * Name of the JavaScript function called on this call frame.\n             */\n            functionName: string;\n            /**\n             * Location in the source code.\n             */\n            functionLocation?: Location | undefined;\n            /**\n             * Location in the source code.\n             */\n            location: Location;\n            /**\n             * JavaScript script name or url.\n             */\n            url: string;\n            /**\n             * Scope chain for this call frame.\n             */\n            scopeChain: Scope[];\n            /**\n             * <code>this</code> object for this call frame.\n             */\n            this: Runtime.RemoteObject;\n            /**\n             * The value being returned, if the function is at return point.\n             */\n            returnValue?: Runtime.RemoteObject | undefined;\n        }\n        /**\n         * Scope description.\n         */\n        interface Scope {\n            /**\n             * Scope type.\n             */\n            type: string;\n            /**\n             * Object representing the scope. For <code>global</code> and <code>with</code> scopes it represents the actual object; for the rest of the scopes, it is artificial transient object enumerating scope variables as its properties.\n             */\n            object: Runtime.RemoteObject;\n            name?: string | undefined;\n            /**\n             * Location in the source code where scope starts\n             */\n            startLocation?: Location | undefined;\n            /**\n             * Location in the source code where scope ends\n             */\n            endLocation?: Location | undefined;\n        }\n        /**\n         * Search match for resource.\n         */\n        interface SearchMatch {\n            /**\n             * Line number in resource content.\n             */\n            lineNumber: number;\n            /**\n             * Line with match content.\n             */\n            lineContent: string;\n        }\n        interface BreakLocation {\n            /**\n             * Script identifier as reported in the <code>Debugger.scriptParsed</code>.\n             */\n            scriptId: Runtime.ScriptId;\n            /**\n             * Line number in the script (0-based).\n             */\n            lineNumber: number;\n            /**\n             * Column number in the script (0-based).\n             */\n            columnNumber?: number | undefined;\n            type?: string | undefined;\n        }\n        interface SetBreakpointsActiveParameterType {\n            /**\n             * New value for breakpoints active state.\n             */\n            active: boolean;\n        }\n        interface SetSkipAllPausesParameterType {\n            /**\n             * New value for skip pauses state.\n             */\n            skip: boolean;\n        }\n        interface SetBreakpointByUrlParameterType {\n            /**\n             * Line number to set breakpoint at.\n             */\n            lineNumber: number;\n            /**\n             * URL of the resources to set breakpoint on.\n             */\n            url?: string | undefined;\n            /**\n             * Regex pattern for the URLs of the resources to set breakpoints on. Either <code>url</code> or <code>urlRegex</code> must be specified.\n             */\n            urlRegex?: string | undefined;\n            /**\n             * Script hash of the resources to set breakpoint on.\n             */\n            scriptHash?: string | undefined;\n            /**\n             * Offset in the line to set breakpoint at.\n             */\n            columnNumber?: number | undefined;\n            /**\n             * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true.\n             */\n            condition?: string | undefined;\n        }\n        interface SetBreakpointParameterType {\n            /**\n             * Location to set breakpoint in.\n             */\n            location: Location;\n            /**\n             * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true.\n             */\n            condition?: string | undefined;\n        }\n        interface RemoveBreakpointParameterType {\n            breakpointId: BreakpointId;\n        }\n        interface GetPossibleBreakpointsParameterType {\n            /**\n             * Start of range to search possible breakpoint locations in.\n             */\n            start: Location;\n            /**\n             * End of range to search possible breakpoint locations in (excluding). When not specified, end of scripts is used as end of range.\n             */\n            end?: Location | undefined;\n            /**\n             * Only consider locations which are in the same (non-nested) function as start.\n             */\n            restrictToFunction?: boolean | undefined;\n        }\n        interface ContinueToLocationParameterType {\n            /**\n             * Location to continue to.\n             */\n            location: Location;\n            targetCallFrames?: string | undefined;\n        }\n        interface PauseOnAsyncCallParameterType {\n            /**\n             * Debugger will pause when async call with given stack trace is started.\n             */\n            parentStackTraceId: Runtime.StackTraceId;\n        }\n        interface StepIntoParameterType {\n            /**\n             * Debugger will issue additional Debugger.paused notification if any async task is scheduled before next pause.\n             * @experimental\n             */\n            breakOnAsyncCall?: boolean | undefined;\n        }\n        interface GetStackTraceParameterType {\n            stackTraceId: Runtime.StackTraceId;\n        }\n        interface SearchInContentParameterType {\n            /**\n             * Id of the script to search in.\n             */\n            scriptId: Runtime.ScriptId;\n            /**\n             * String to search for.\n             */\n            query: string;\n            /**\n             * If true, search is case sensitive.\n             */\n            caseSensitive?: boolean | undefined;\n            /**\n             * If true, treats string parameter as regex.\n             */\n            isRegex?: boolean | undefined;\n        }\n        interface SetScriptSourceParameterType {\n            /**\n             * Id of the script to edit.\n             */\n            scriptId: Runtime.ScriptId;\n            /**\n             * New content of the script.\n             */\n            scriptSource: string;\n            /**\n             *  If true the change will not actually be applied. Dry run may be used to get result description without actually modifying the code.\n             */\n            dryRun?: boolean | undefined;\n        }\n        interface RestartFrameParameterType {\n            /**\n             * Call frame identifier to evaluate on.\n             */\n            callFrameId: CallFrameId;\n        }\n        interface GetScriptSourceParameterType {\n            /**\n             * Id of the script to get source for.\n             */\n            scriptId: Runtime.ScriptId;\n        }\n        interface SetPauseOnExceptionsParameterType {\n            /**\n             * Pause on exceptions mode.\n             */\n            state: string;\n        }\n        interface EvaluateOnCallFrameParameterType {\n            /**\n             * Call frame identifier to evaluate on.\n             */\n            callFrameId: CallFrameId;\n            /**\n             * Expression to evaluate.\n             */\n            expression: string;\n            /**\n             * String object group name to put result into (allows rapid releasing resulting object handles using <code>releaseObjectGroup</code>).\n             */\n            objectGroup?: string | undefined;\n            /**\n             * Specifies whether command line API should be available to the evaluated expression, defaults to false.\n             */\n            includeCommandLineAPI?: boolean | undefined;\n            /**\n             * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides <code>setPauseOnException</code> state.\n             */\n            silent?: boolean | undefined;\n            /**\n             * Whether the result is expected to be a JSON object that should be sent by value.\n             */\n            returnByValue?: boolean | undefined;\n            /**\n             * Whether preview should be generated for the result.\n             * @experimental\n             */\n            generatePreview?: boolean | undefined;\n            /**\n             * Whether to throw an exception if side effect cannot be ruled out during evaluation.\n             */\n            throwOnSideEffect?: boolean | undefined;\n        }\n        interface SetVariableValueParameterType {\n            /**\n             * 0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch' scope types are allowed. Other scopes could be manipulated manually.\n             */\n            scopeNumber: number;\n            /**\n             * Variable name.\n             */\n            variableName: string;\n            /**\n             * New variable value.\n             */\n            newValue: Runtime.CallArgument;\n            /**\n             * Id of callframe that holds variable.\n             */\n            callFrameId: CallFrameId;\n        }\n        interface SetReturnValueParameterType {\n            /**\n             * New return value.\n             */\n            newValue: Runtime.CallArgument;\n        }\n        interface SetAsyncCallStackDepthParameterType {\n            /**\n             * Maximum depth of async call stacks. Setting to <code>0</code> will effectively disable collecting async call stacks (default).\n             */\n            maxDepth: number;\n        }\n        interface SetBlackboxPatternsParameterType {\n            /**\n             * Array of regexps that will be used to check script url for blackbox state.\n             */\n            patterns: string[];\n        }\n        interface SetBlackboxedRangesParameterType {\n            /**\n             * Id of the script.\n             */\n            scriptId: Runtime.ScriptId;\n            positions: ScriptPosition[];\n        }\n        interface EnableReturnType {\n            /**\n             * Unique identifier of the debugger.\n             * @experimental\n             */\n            debuggerId: Runtime.UniqueDebuggerId;\n        }\n        interface SetBreakpointByUrlReturnType {\n            /**\n             * Id of the created breakpoint for further reference.\n             */\n            breakpointId: BreakpointId;\n            /**\n             * List of the locations this breakpoint resolved into upon addition.\n             */\n            locations: Location[];\n        }\n        interface SetBreakpointReturnType {\n            /**\n             * Id of the created breakpoint for further reference.\n             */\n            breakpointId: BreakpointId;\n            /**\n             * Location this breakpoint resolved into.\n             */\n            actualLocation: Location;\n        }\n        interface GetPossibleBreakpointsReturnType {\n            /**\n             * List of the possible breakpoint locations.\n             */\n            locations: BreakLocation[];\n        }\n        interface GetStackTraceReturnType {\n            stackTrace: Runtime.StackTrace;\n        }\n        interface SearchInContentReturnType {\n            /**\n             * List of search matches.\n             */\n            result: SearchMatch[];\n        }\n        interface SetScriptSourceReturnType {\n            /**\n             * New stack trace in case editing has happened while VM was stopped.\n             */\n            callFrames?: CallFrame[] | undefined;\n            /**\n             * Whether current call stack  was modified after applying the changes.\n             */\n            stackChanged?: boolean | undefined;\n            /**\n             * Async stack trace, if any.\n             */\n            asyncStackTrace?: Runtime.StackTrace | undefined;\n            /**\n             * Async stack trace, if any.\n             * @experimental\n             */\n            asyncStackTraceId?: Runtime.StackTraceId | undefined;\n            /**\n             * Exception details if any.\n             */\n            exceptionDetails?: Runtime.ExceptionDetails | undefined;\n        }\n        interface RestartFrameReturnType {\n            /**\n             * New stack trace.\n             */\n            callFrames: CallFrame[];\n            /**\n             * Async stack trace, if any.\n             */\n            asyncStackTrace?: Runtime.StackTrace | undefined;\n            /**\n             * Async stack trace, if any.\n             * @experimental\n             */\n            asyncStackTraceId?: Runtime.StackTraceId | undefined;\n        }\n        interface GetScriptSourceReturnType {\n            /**\n             * Script source.\n             */\n            scriptSource: string;\n        }\n        interface EvaluateOnCallFrameReturnType {\n            /**\n             * Object wrapper for the evaluation result.\n             */\n            result: Runtime.RemoteObject;\n            /**\n             * Exception details.\n             */\n            exceptionDetails?: Runtime.ExceptionDetails | undefined;\n        }\n        interface ScriptParsedEventDataType {\n            /**\n             * Identifier of the script parsed.\n             */\n            scriptId: Runtime.ScriptId;\n            /**\n             * URL or name of the script parsed (if any).\n             */\n            url: string;\n            /**\n             * Line offset of the script within the resource with given URL (for script tags).\n             */\n            startLine: number;\n            /**\n             * Column offset of the script within the resource with given URL.\n             */\n            startColumn: number;\n            /**\n             * Last line of the script.\n             */\n            endLine: number;\n            /**\n             * Length of the last line of the script.\n             */\n            endColumn: number;\n            /**\n             * Specifies script creation context.\n             */\n            executionContextId: Runtime.ExecutionContextId;\n            /**\n             * Content hash of the script.\n             */\n            hash: string;\n            /**\n             * Embedder-specific auxiliary data.\n             */\n            executionContextAuxData?: {} | undefined;\n            /**\n             * True, if this script is generated as a result of the live edit operation.\n             * @experimental\n             */\n            isLiveEdit?: boolean | undefined;\n            /**\n             * URL of source map associated with script (if any).\n             */\n            sourceMapURL?: string | undefined;\n            /**\n             * True, if this script has sourceURL.\n             */\n            hasSourceURL?: boolean | undefined;\n            /**\n             * True, if this script is ES6 module.\n             */\n            isModule?: boolean | undefined;\n            /**\n             * This script length.\n             */\n            length?: number | undefined;\n            /**\n             * JavaScript top stack frame of where the script parsed event was triggered if available.\n             * @experimental\n             */\n            stackTrace?: Runtime.StackTrace | undefined;\n        }\n        interface ScriptFailedToParseEventDataType {\n            /**\n             * Identifier of the script parsed.\n             */\n            scriptId: Runtime.ScriptId;\n            /**\n             * URL or name of the script parsed (if any).\n             */\n            url: string;\n            /**\n             * Line offset of the script within the resource with given URL (for script tags).\n             */\n            startLine: number;\n            /**\n             * Column offset of the script within the resource with given URL.\n             */\n            startColumn: number;\n            /**\n             * Last line of the script.\n             */\n            endLine: number;\n            /**\n             * Length of the last line of the script.\n             */\n            endColumn: number;\n            /**\n             * Specifies script creation context.\n             */\n            executionContextId: Runtime.ExecutionContextId;\n            /**\n             * Content hash of the script.\n             */\n            hash: string;\n            /**\n             * Embedder-specific auxiliary data.\n             */\n            executionContextAuxData?: {} | undefined;\n            /**\n             * URL of source map associated with script (if any).\n             */\n            sourceMapURL?: string | undefined;\n            /**\n             * True, if this script has sourceURL.\n             */\n            hasSourceURL?: boolean | undefined;\n            /**\n             * True, if this script is ES6 module.\n             */\n            isModule?: boolean | undefined;\n            /**\n             * This script length.\n             */\n            length?: number | undefined;\n            /**\n             * JavaScript top stack frame of where the script parsed event was triggered if available.\n             * @experimental\n             */\n            stackTrace?: Runtime.StackTrace | undefined;\n        }\n        interface BreakpointResolvedEventDataType {\n            /**\n             * Breakpoint unique identifier.\n             */\n            breakpointId: BreakpointId;\n            /**\n             * Actual breakpoint location.\n             */\n            location: Location;\n        }\n        interface PausedEventDataType {\n            /**\n             * Call stack the virtual machine stopped on.\n             */\n            callFrames: CallFrame[];\n            /**\n             * Pause reason.\n             */\n            reason: string;\n            /**\n             * Object containing break-specific auxiliary properties.\n             */\n            data?: {} | undefined;\n            /**\n             * Hit breakpoints IDs\n             */\n            hitBreakpoints?: string[] | undefined;\n            /**\n             * Async stack trace, if any.\n             */\n            asyncStackTrace?: Runtime.StackTrace | undefined;\n            /**\n             * Async stack trace, if any.\n             * @experimental\n             */\n            asyncStackTraceId?: Runtime.StackTraceId | undefined;\n            /**\n             * Just scheduled async call will have this stack trace as parent stack during async execution. This field is available only after <code>Debugger.stepInto</code> call with <code>breakOnAsynCall</code> flag.\n             * @experimental\n             */\n            asyncCallStackTraceId?: Runtime.StackTraceId | undefined;\n        }\n    }\n    namespace Console {\n        /**\n         * Console message.\n         */\n        interface ConsoleMessage {\n            /**\n             * Message source.\n             */\n            source: string;\n            /**\n             * Message severity.\n             */\n            level: string;\n            /**\n             * Message text.\n             */\n            text: string;\n            /**\n             * URL of the message origin.\n             */\n            url?: string | undefined;\n            /**\n             * Line number in the resource that generated this message (1-based).\n             */\n            line?: number | undefined;\n            /**\n             * Column number in the resource that generated this message (1-based).\n             */\n            column?: number | undefined;\n        }\n        interface MessageAddedEventDataType {\n            /**\n             * Console message that has been added.\n             */\n            message: ConsoleMessage;\n        }\n    }\n    namespace Profiler {\n        /**\n         * Profile node. Holds callsite information, execution statistics and child nodes.\n         */\n        interface ProfileNode {\n            /**\n             * Unique id of the node.\n             */\n            id: number;\n            /**\n             * Function location.\n             */\n            callFrame: Runtime.CallFrame;\n            /**\n             * Number of samples where this node was on top of the call stack.\n             */\n            hitCount?: number | undefined;\n            /**\n             * Child node ids.\n             */\n            children?: number[] | undefined;\n            /**\n             * The reason of being not optimized. The function may be deoptimized or marked as don't optimize.\n             */\n            deoptReason?: string | undefined;\n            /**\n             * An array of source position ticks.\n             */\n            positionTicks?: PositionTickInfo[] | undefined;\n        }\n        /**\n         * Profile.\n         */\n        interface Profile {\n            /**\n             * The list of profile nodes. First item is the root node.\n             */\n            nodes: ProfileNode[];\n            /**\n             * Profiling start timestamp in microseconds.\n             */\n            startTime: number;\n            /**\n             * Profiling end timestamp in microseconds.\n             */\n            endTime: number;\n            /**\n             * Ids of samples top nodes.\n             */\n            samples?: number[] | undefined;\n            /**\n             * Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime.\n             */\n            timeDeltas?: number[] | undefined;\n        }\n        /**\n         * Specifies a number of samples attributed to a certain source position.\n         */\n        interface PositionTickInfo {\n            /**\n             * Source line number (1-based).\n             */\n            line: number;\n            /**\n             * Number of samples attributed to the source line.\n             */\n            ticks: number;\n        }\n        /**\n         * Coverage data for a source range.\n         */\n        interface CoverageRange {\n            /**\n             * JavaScript script source offset for the range start.\n             */\n            startOffset: number;\n            /**\n             * JavaScript script source offset for the range end.\n             */\n            endOffset: number;\n            /**\n             * Collected execution count of the source range.\n             */\n            count: number;\n        }\n        /**\n         * Coverage data for a JavaScript function.\n         */\n        interface FunctionCoverage {\n            /**\n             * JavaScript function name.\n             */\n            functionName: string;\n            /**\n             * Source ranges inside the function with coverage data.\n             */\n            ranges: CoverageRange[];\n            /**\n             * Whether coverage data for this function has block granularity.\n             */\n            isBlockCoverage: boolean;\n        }\n        /**\n         * Coverage data for a JavaScript script.\n         */\n        interface ScriptCoverage {\n            /**\n             * JavaScript script id.\n             */\n            scriptId: Runtime.ScriptId;\n            /**\n             * JavaScript script name or url.\n             */\n            url: string;\n            /**\n             * Functions contained in the script that has coverage data.\n             */\n            functions: FunctionCoverage[];\n        }\n        /**\n         * Describes a type collected during runtime.\n         * @experimental\n         */\n        interface TypeObject {\n            /**\n             * Name of a type collected with type profiling.\n             */\n            name: string;\n        }\n        /**\n         * Source offset and types for a parameter or return value.\n         * @experimental\n         */\n        interface TypeProfileEntry {\n            /**\n             * Source offset of the parameter or end of function for return values.\n             */\n            offset: number;\n            /**\n             * The types for this parameter or return value.\n             */\n            types: TypeObject[];\n        }\n        /**\n         * Type profile data collected during runtime for a JavaScript script.\n         * @experimental\n         */\n        interface ScriptTypeProfile {\n            /**\n             * JavaScript script id.\n             */\n            scriptId: Runtime.ScriptId;\n            /**\n             * JavaScript script name or url.\n             */\n            url: string;\n            /**\n             * Type profile entries for parameters and return values of the functions in the script.\n             */\n            entries: TypeProfileEntry[];\n        }\n        interface SetSamplingIntervalParameterType {\n            /**\n             * New sampling interval in microseconds.\n             */\n            interval: number;\n        }\n        interface StartPreciseCoverageParameterType {\n            /**\n             * Collect accurate call counts beyond simple 'covered' or 'not covered'.\n             */\n            callCount?: boolean | undefined;\n            /**\n             * Collect block-based coverage.\n             */\n            detailed?: boolean | undefined;\n        }\n        interface StopReturnType {\n            /**\n             * Recorded profile.\n             */\n            profile: Profile;\n        }\n        interface TakePreciseCoverageReturnType {\n            /**\n             * Coverage data for the current isolate.\n             */\n            result: ScriptCoverage[];\n        }\n        interface GetBestEffortCoverageReturnType {\n            /**\n             * Coverage data for the current isolate.\n             */\n            result: ScriptCoverage[];\n        }\n        interface TakeTypeProfileReturnType {\n            /**\n             * Type profile for all scripts since startTypeProfile() was turned on.\n             */\n            result: ScriptTypeProfile[];\n        }\n        interface ConsoleProfileStartedEventDataType {\n            id: string;\n            /**\n             * Location of console.profile().\n             */\n            location: Debugger.Location;\n            /**\n             * Profile title passed as an argument to console.profile().\n             */\n            title?: string | undefined;\n        }\n        interface ConsoleProfileFinishedEventDataType {\n            id: string;\n            /**\n             * Location of console.profileEnd().\n             */\n            location: Debugger.Location;\n            profile: Profile;\n            /**\n             * Profile title passed as an argument to console.profile().\n             */\n            title?: string | undefined;\n        }\n    }\n    namespace HeapProfiler {\n        /**\n         * Heap snapshot object id.\n         */\n        type HeapSnapshotObjectId = string;\n        /**\n         * Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes.\n         */\n        interface SamplingHeapProfileNode {\n            /**\n             * Function location.\n             */\n            callFrame: Runtime.CallFrame;\n            /**\n             * Allocations size in bytes for the node excluding children.\n             */\n            selfSize: number;\n            /**\n             * Child nodes.\n             */\n            children: SamplingHeapProfileNode[];\n        }\n        /**\n         * Profile.\n         */\n        interface SamplingHeapProfile {\n            head: SamplingHeapProfileNode;\n        }\n        interface StartTrackingHeapObjectsParameterType {\n            trackAllocations?: boolean | undefined;\n        }\n        interface StopTrackingHeapObjectsParameterType {\n            /**\n             * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken when the tracking is stopped.\n             */\n            reportProgress?: boolean | undefined;\n        }\n        interface TakeHeapSnapshotParameterType {\n            /**\n             * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken.\n             */\n            reportProgress?: boolean | undefined;\n        }\n        interface GetObjectByHeapObjectIdParameterType {\n            objectId: HeapSnapshotObjectId;\n            /**\n             * Symbolic group name that can be used to release multiple objects.\n             */\n            objectGroup?: string | undefined;\n        }\n        interface AddInspectedHeapObjectParameterType {\n            /**\n             * Heap snapshot object id to be accessible by means of $x command line API.\n             */\n            heapObjectId: HeapSnapshotObjectId;\n        }\n        interface GetHeapObjectIdParameterType {\n            /**\n             * Identifier of the object to get heap object id for.\n             */\n            objectId: Runtime.RemoteObjectId;\n        }\n        interface StartSamplingParameterType {\n            /**\n             * Average sample interval in bytes. Poisson distribution is used for the intervals. The default value is 32768 bytes.\n             */\n            samplingInterval?: number | undefined;\n        }\n        interface GetObjectByHeapObjectIdReturnType {\n            /**\n             * Evaluation result.\n             */\n            result: Runtime.RemoteObject;\n        }\n        interface GetHeapObjectIdReturnType {\n            /**\n             * Id of the heap snapshot object corresponding to the passed remote object id.\n             */\n            heapSnapshotObjectId: HeapSnapshotObjectId;\n        }\n        interface StopSamplingReturnType {\n            /**\n             * Recorded sampling heap profile.\n             */\n            profile: SamplingHeapProfile;\n        }\n        interface GetSamplingProfileReturnType {\n            /**\n             * Return the sampling profile being collected.\n             */\n            profile: SamplingHeapProfile;\n        }\n        interface AddHeapSnapshotChunkEventDataType {\n            chunk: string;\n        }\n        interface ReportHeapSnapshotProgressEventDataType {\n            done: number;\n            total: number;\n            finished?: boolean | undefined;\n        }\n        interface LastSeenObjectIdEventDataType {\n            lastSeenObjectId: number;\n            timestamp: number;\n        }\n        interface HeapStatsUpdateEventDataType {\n            /**\n             * An array of triplets. Each triplet describes a fragment. The first integer is the fragment index, the second integer is a total count of objects for the fragment, the third integer is a total size of the objects for the fragment.\n             */\n            statsUpdate: number[];\n        }\n    }\n    namespace NodeTracing {\n        interface TraceConfig {\n            /**\n             * Controls how the trace buffer stores data.\n             */\n            recordMode?: string | undefined;\n            /**\n             * Included category filters.\n             */\n            includedCategories: string[];\n        }\n        interface StartParameterType {\n            traceConfig: TraceConfig;\n        }\n        interface GetCategoriesReturnType {\n            /**\n             * A list of supported tracing categories.\n             */\n            categories: string[];\n        }\n        interface DataCollectedEventDataType {\n            value: Array<{}>;\n        }\n    }\n    namespace NodeWorker {\n        type WorkerID = string;\n        /**\n         * Unique identifier of attached debugging session.\n         */\n        type SessionID = string;\n        interface WorkerInfo {\n            workerId: WorkerID;\n            type: string;\n            title: string;\n            url: string;\n        }\n        interface SendMessageToWorkerParameterType {\n            message: string;\n            /**\n             * Identifier of the session.\n             */\n            sessionId: SessionID;\n        }\n        interface EnableParameterType {\n            /**\n             * Whether to new workers should be paused until the frontend sends `Runtime.runIfWaitingForDebugger`\n             * message to run them.\n             */\n            waitForDebuggerOnStart: boolean;\n        }\n        interface DetachParameterType {\n            sessionId: SessionID;\n        }\n        interface AttachedToWorkerEventDataType {\n            /**\n             * Identifier assigned to the session used to send/receive messages.\n             */\n            sessionId: SessionID;\n            workerInfo: WorkerInfo;\n            waitingForDebugger: boolean;\n        }\n        interface DetachedFromWorkerEventDataType {\n            /**\n             * Detached session identifier.\n             */\n            sessionId: SessionID;\n        }\n        interface ReceivedMessageFromWorkerEventDataType {\n            /**\n             * Identifier of a session which sends a message.\n             */\n            sessionId: SessionID;\n            message: string;\n        }\n    }\n    namespace NodeRuntime {\n        interface NotifyWhenWaitingForDisconnectParameterType {\n            enabled: boolean;\n        }\n    }\n    /**\n     * The `inspector.Session` is used for dispatching messages to the V8 inspector\n     * back-end and receiving message responses and notifications.\n     */\n    class Session extends EventEmitter {\n        /**\n         * Create a new instance of the inspector.Session class.\n         * The inspector session needs to be connected through session.connect() before the messages can be dispatched to the inspector backend.\n         */\n        constructor();\n        /**\n         * Connects a session to the inspector back-end.\n         * @since v8.0.0\n         */\n        connect(): void;\n        /**\n         * Connects a session to the inspector back-end.\n         * An exception will be thrown if this API was not called on a Worker thread.\n         * @since v12.11.0\n         */\n        connectToMainThread(): void;\n        /**\n         * Immediately close the session. All pending message callbacks will be called\n         * with an error. `session.connect()` will need to be called to be able to send\n         * messages again. Reconnected session will lose all inspector state, such as\n         * enabled agents or configured breakpoints.\n         * @since v8.0.0\n         */\n        disconnect(): void;\n        /**\n         * Posts a message to the inspector back-end. `callback` will be notified when\n         * a response is received. `callback` is a function that accepts two optional\n         * arguments: error and message-specific result.\n         *\n         * ```js\n         * session.post('Runtime.evaluate', { expression: '2 + 2' },\n         *              (error, { result }) => console.log(result));\n         * // Output: { type: 'number', value: 4, description: '4' }\n         * ```\n         *\n         * The latest version of the V8 inspector protocol is published on the [Chrome DevTools Protocol Viewer](https://chromedevtools.github.io/devtools-protocol/v8/).\n         *\n         * Node.js inspector supports all the Chrome DevTools Protocol domains declared\n         * by V8\\. Chrome DevTools Protocol domain provides an interface for interacting\n         * with one of the runtime agents used to inspect the application state and listen\n         * to the run-time events.\n         *\n         * ## Example usage\n         *\n         * Apart from the debugger, various V8 Profilers are available through the DevTools\n         * protocol.\n         * @since v8.0.0\n         */\n        post(method: string, params?: {}, callback?: (err: Error | null, params?: {}) => void): void;\n        post(method: string, callback?: (err: Error | null, params?: {}) => void): void;\n        /**\n         * Returns supported domains.\n         */\n        post(method: 'Schema.getDomains', callback?: (err: Error | null, params: Schema.GetDomainsReturnType) => void): void;\n        /**\n         * Evaluates expression on global object.\n         */\n        post(method: 'Runtime.evaluate', params?: Runtime.EvaluateParameterType, callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void;\n        post(method: 'Runtime.evaluate', callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void;\n        /**\n         * Add handler to promise with given promise object id.\n         */\n        post(method: 'Runtime.awaitPromise', params?: Runtime.AwaitPromiseParameterType, callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void;\n        post(method: 'Runtime.awaitPromise', callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void;\n        /**\n         * Calls function with given declaration on the given object. Object group of the result is inherited from the target object.\n         */\n        post(method: 'Runtime.callFunctionOn', params?: Runtime.CallFunctionOnParameterType, callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void;\n        post(method: 'Runtime.callFunctionOn', callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void;\n        /**\n         * Returns properties of a given object. Object group of the result is inherited from the target object.\n         */\n        post(method: 'Runtime.getProperties', params?: Runtime.GetPropertiesParameterType, callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void;\n        post(method: 'Runtime.getProperties', callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void;\n        /**\n         * Releases remote object with given id.\n         */\n        post(method: 'Runtime.releaseObject', params?: Runtime.ReleaseObjectParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Runtime.releaseObject', callback?: (err: Error | null) => void): void;\n        /**\n         * Releases all remote objects that belong to a given group.\n         */\n        post(method: 'Runtime.releaseObjectGroup', params?: Runtime.ReleaseObjectGroupParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Runtime.releaseObjectGroup', callback?: (err: Error | null) => void): void;\n        /**\n         * Tells inspected instance to run if it was waiting for debugger to attach.\n         */\n        post(method: 'Runtime.runIfWaitingForDebugger', callback?: (err: Error | null) => void): void;\n        /**\n         * Enables reporting of execution contexts creation by means of <code>executionContextCreated</code> event. When the reporting gets enabled the event will be sent immediately for each existing execution context.\n         */\n        post(method: 'Runtime.enable', callback?: (err: Error | null) => void): void;\n        /**\n         * Disables reporting of execution contexts creation.\n         */\n        post(method: 'Runtime.disable', callback?: (err: Error | null) => void): void;\n        /**\n         * Discards collected exceptions and console API calls.\n         */\n        post(method: 'Runtime.discardConsoleEntries', callback?: (err: Error | null) => void): void;\n        /**\n         * @experimental\n         */\n        post(method: 'Runtime.setCustomObjectFormatterEnabled', params?: Runtime.SetCustomObjectFormatterEnabledParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Runtime.setCustomObjectFormatterEnabled', callback?: (err: Error | null) => void): void;\n        /**\n         * Compiles expression.\n         */\n        post(method: 'Runtime.compileScript', params?: Runtime.CompileScriptParameterType, callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void;\n        post(method: 'Runtime.compileScript', callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void;\n        /**\n         * Runs script with given id in a given context.\n         */\n        post(method: 'Runtime.runScript', params?: Runtime.RunScriptParameterType, callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void;\n        post(method: 'Runtime.runScript', callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void;\n        post(method: 'Runtime.queryObjects', params?: Runtime.QueryObjectsParameterType, callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void;\n        post(method: 'Runtime.queryObjects', callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void;\n        /**\n         * Returns all let, const and class variables from global scope.\n         */\n        post(\n            method: 'Runtime.globalLexicalScopeNames',\n            params?: Runtime.GlobalLexicalScopeNamesParameterType,\n            callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void\n        ): void;\n        post(method: 'Runtime.globalLexicalScopeNames', callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void): void;\n        /**\n         * Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received.\n         */\n        post(method: 'Debugger.enable', callback?: (err: Error | null, params: Debugger.EnableReturnType) => void): void;\n        /**\n         * Disables debugger for given page.\n         */\n        post(method: 'Debugger.disable', callback?: (err: Error | null) => void): void;\n        /**\n         * Activates / deactivates all breakpoints on the page.\n         */\n        post(method: 'Debugger.setBreakpointsActive', params?: Debugger.SetBreakpointsActiveParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.setBreakpointsActive', callback?: (err: Error | null) => void): void;\n        /**\n         * Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc).\n         */\n        post(method: 'Debugger.setSkipAllPauses', params?: Debugger.SetSkipAllPausesParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.setSkipAllPauses', callback?: (err: Error | null) => void): void;\n        /**\n         * Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in <code>locations</code> property. Further matching script parsing will result in subsequent <code>breakpointResolved</code> events issued. This logical breakpoint will survive page reloads.\n         */\n        post(method: 'Debugger.setBreakpointByUrl', params?: Debugger.SetBreakpointByUrlParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void;\n        post(method: 'Debugger.setBreakpointByUrl', callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void;\n        /**\n         * Sets JavaScript breakpoint at a given location.\n         */\n        post(method: 'Debugger.setBreakpoint', params?: Debugger.SetBreakpointParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void;\n        post(method: 'Debugger.setBreakpoint', callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void;\n        /**\n         * Removes JavaScript breakpoint.\n         */\n        post(method: 'Debugger.removeBreakpoint', params?: Debugger.RemoveBreakpointParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.removeBreakpoint', callback?: (err: Error | null) => void): void;\n        /**\n         * Returns possible locations for breakpoint. scriptId in start and end range locations should be the same.\n         */\n        post(\n            method: 'Debugger.getPossibleBreakpoints',\n            params?: Debugger.GetPossibleBreakpointsParameterType,\n            callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void\n        ): void;\n        post(method: 'Debugger.getPossibleBreakpoints', callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void): void;\n        /**\n         * Continues execution until specific location is reached.\n         */\n        post(method: 'Debugger.continueToLocation', params?: Debugger.ContinueToLocationParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.continueToLocation', callback?: (err: Error | null) => void): void;\n        /**\n         * @experimental\n         */\n        post(method: 'Debugger.pauseOnAsyncCall', params?: Debugger.PauseOnAsyncCallParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.pauseOnAsyncCall', callback?: (err: Error | null) => void): void;\n        /**\n         * Steps over the statement.\n         */\n        post(method: 'Debugger.stepOver', callback?: (err: Error | null) => void): void;\n        /**\n         * Steps into the function call.\n         */\n        post(method: 'Debugger.stepInto', params?: Debugger.StepIntoParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.stepInto', callback?: (err: Error | null) => void): void;\n        /**\n         * Steps out of the function call.\n         */\n        post(method: 'Debugger.stepOut', callback?: (err: Error | null) => void): void;\n        /**\n         * Stops on the next JavaScript statement.\n         */\n        post(method: 'Debugger.pause', callback?: (err: Error | null) => void): void;\n        /**\n         * This method is deprecated - use Debugger.stepInto with breakOnAsyncCall and Debugger.pauseOnAsyncTask instead. Steps into next scheduled async task if any is scheduled before next pause. Returns success when async task is actually scheduled, returns error if no task were scheduled or another scheduleStepIntoAsync was called.\n         * @experimental\n         */\n        post(method: 'Debugger.scheduleStepIntoAsync', callback?: (err: Error | null) => void): void;\n        /**\n         * Resumes JavaScript execution.\n         */\n        post(method: 'Debugger.resume', callback?: (err: Error | null) => void): void;\n        /**\n         * Returns stack trace with given <code>stackTraceId</code>.\n         * @experimental\n         */\n        post(method: 'Debugger.getStackTrace', params?: Debugger.GetStackTraceParameterType, callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void;\n        post(method: 'Debugger.getStackTrace', callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void;\n        /**\n         * Searches for given string in script content.\n         */\n        post(method: 'Debugger.searchInContent', params?: Debugger.SearchInContentParameterType, callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void;\n        post(method: 'Debugger.searchInContent', callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void;\n        /**\n         * Edits JavaScript source live.\n         */\n        post(method: 'Debugger.setScriptSource', params?: Debugger.SetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void;\n        post(method: 'Debugger.setScriptSource', callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void;\n        /**\n         * Restarts particular call frame from the beginning.\n         */\n        post(method: 'Debugger.restartFrame', params?: Debugger.RestartFrameParameterType, callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void;\n        post(method: 'Debugger.restartFrame', callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void;\n        /**\n         * Returns source for the script with given id.\n         */\n        post(method: 'Debugger.getScriptSource', params?: Debugger.GetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void;\n        post(method: 'Debugger.getScriptSource', callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void;\n        /**\n         * Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is <code>none</code>.\n         */\n        post(method: 'Debugger.setPauseOnExceptions', params?: Debugger.SetPauseOnExceptionsParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.setPauseOnExceptions', callback?: (err: Error | null) => void): void;\n        /**\n         * Evaluates expression on a given call frame.\n         */\n        post(method: 'Debugger.evaluateOnCallFrame', params?: Debugger.EvaluateOnCallFrameParameterType, callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void;\n        post(method: 'Debugger.evaluateOnCallFrame', callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void;\n        /**\n         * Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually.\n         */\n        post(method: 'Debugger.setVariableValue', params?: Debugger.SetVariableValueParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.setVariableValue', callback?: (err: Error | null) => void): void;\n        /**\n         * Changes return value in top frame. Available only at return break position.\n         * @experimental\n         */\n        post(method: 'Debugger.setReturnValue', params?: Debugger.SetReturnValueParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.setReturnValue', callback?: (err: Error | null) => void): void;\n        /**\n         * Enables or disables async call stacks tracking.\n         */\n        post(method: 'Debugger.setAsyncCallStackDepth', params?: Debugger.SetAsyncCallStackDepthParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.setAsyncCallStackDepth', callback?: (err: Error | null) => void): void;\n        /**\n         * Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in scripts with url matching one of the patterns. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful.\n         * @experimental\n         */\n        post(method: 'Debugger.setBlackboxPatterns', params?: Debugger.SetBlackboxPatternsParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.setBlackboxPatterns', callback?: (err: Error | null) => void): void;\n        /**\n         * Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. Positions array contains positions where blackbox state is changed. First interval isn't blackboxed. Array should be sorted.\n         * @experimental\n         */\n        post(method: 'Debugger.setBlackboxedRanges', params?: Debugger.SetBlackboxedRangesParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Debugger.setBlackboxedRanges', callback?: (err: Error | null) => void): void;\n        /**\n         * Enables console domain, sends the messages collected so far to the client by means of the <code>messageAdded</code> notification.\n         */\n        post(method: 'Console.enable', callback?: (err: Error | null) => void): void;\n        /**\n         * Disables console domain, prevents further console messages from being reported to the client.\n         */\n        post(method: 'Console.disable', callback?: (err: Error | null) => void): void;\n        /**\n         * Does nothing.\n         */\n        post(method: 'Console.clearMessages', callback?: (err: Error | null) => void): void;\n        post(method: 'Profiler.enable', callback?: (err: Error | null) => void): void;\n        post(method: 'Profiler.disable', callback?: (err: Error | null) => void): void;\n        /**\n         * Changes CPU profiler sampling interval. Must be called before CPU profiles recording started.\n         */\n        post(method: 'Profiler.setSamplingInterval', params?: Profiler.SetSamplingIntervalParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Profiler.setSamplingInterval', callback?: (err: Error | null) => void): void;\n        post(method: 'Profiler.start', callback?: (err: Error | null) => void): void;\n        post(method: 'Profiler.stop', callback?: (err: Error | null, params: Profiler.StopReturnType) => void): void;\n        /**\n         * Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code coverage may be incomplete. Enabling prevents running optimized code and resets execution counters.\n         */\n        post(method: 'Profiler.startPreciseCoverage', params?: Profiler.StartPreciseCoverageParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'Profiler.startPreciseCoverage', callback?: (err: Error | null) => void): void;\n        /**\n         * Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code.\n         */\n        post(method: 'Profiler.stopPreciseCoverage', callback?: (err: Error | null) => void): void;\n        /**\n         * Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started.\n         */\n        post(method: 'Profiler.takePreciseCoverage', callback?: (err: Error | null, params: Profiler.TakePreciseCoverageReturnType) => void): void;\n        /**\n         * Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection.\n         */\n        post(method: 'Profiler.getBestEffortCoverage', callback?: (err: Error | null, params: Profiler.GetBestEffortCoverageReturnType) => void): void;\n        /**\n         * Enable type profile.\n         * @experimental\n         */\n        post(method: 'Profiler.startTypeProfile', callback?: (err: Error | null) => void): void;\n        /**\n         * Disable type profile. Disabling releases type profile data collected so far.\n         * @experimental\n         */\n        post(method: 'Profiler.stopTypeProfile', callback?: (err: Error | null) => void): void;\n        /**\n         * Collect type profile.\n         * @experimental\n         */\n        post(method: 'Profiler.takeTypeProfile', callback?: (err: Error | null, params: Profiler.TakeTypeProfileReturnType) => void): void;\n        post(method: 'HeapProfiler.enable', callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.disable', callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.startTrackingHeapObjects', params?: HeapProfiler.StartTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.startTrackingHeapObjects', callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.stopTrackingHeapObjects', params?: HeapProfiler.StopTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.stopTrackingHeapObjects', callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.takeHeapSnapshot', params?: HeapProfiler.TakeHeapSnapshotParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.takeHeapSnapshot', callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.collectGarbage', callback?: (err: Error | null) => void): void;\n        post(\n            method: 'HeapProfiler.getObjectByHeapObjectId',\n            params?: HeapProfiler.GetObjectByHeapObjectIdParameterType,\n            callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void\n        ): void;\n        post(method: 'HeapProfiler.getObjectByHeapObjectId', callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void): void;\n        /**\n         * Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions).\n         */\n        post(method: 'HeapProfiler.addInspectedHeapObject', params?: HeapProfiler.AddInspectedHeapObjectParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.addInspectedHeapObject', callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.getHeapObjectId', params?: HeapProfiler.GetHeapObjectIdParameterType, callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void;\n        post(method: 'HeapProfiler.getHeapObjectId', callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void;\n        post(method: 'HeapProfiler.startSampling', params?: HeapProfiler.StartSamplingParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.startSampling', callback?: (err: Error | null) => void): void;\n        post(method: 'HeapProfiler.stopSampling', callback?: (err: Error | null, params: HeapProfiler.StopSamplingReturnType) => void): void;\n        post(method: 'HeapProfiler.getSamplingProfile', callback?: (err: Error | null, params: HeapProfiler.GetSamplingProfileReturnType) => void): void;\n        /**\n         * Gets supported tracing categories.\n         */\n        post(method: 'NodeTracing.getCategories', callback?: (err: Error | null, params: NodeTracing.GetCategoriesReturnType) => void): void;\n        /**\n         * Start trace events collection.\n         */\n        post(method: 'NodeTracing.start', params?: NodeTracing.StartParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'NodeTracing.start', callback?: (err: Error | null) => void): void;\n        /**\n         * Stop trace events collection. Remaining collected events will be sent as a sequence of\n         * dataCollected events followed by tracingComplete event.\n         */\n        post(method: 'NodeTracing.stop', callback?: (err: Error | null) => void): void;\n        /**\n         * Sends protocol message over session with given id.\n         */\n        post(method: 'NodeWorker.sendMessageToWorker', params?: NodeWorker.SendMessageToWorkerParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'NodeWorker.sendMessageToWorker', callback?: (err: Error | null) => void): void;\n        /**\n         * Instructs the inspector to attach to running workers. Will also attach to new workers\n         * as they start\n         */\n        post(method: 'NodeWorker.enable', params?: NodeWorker.EnableParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'NodeWorker.enable', callback?: (err: Error | null) => void): void;\n        /**\n         * Detaches from all running workers and disables attaching to new workers as they are started.\n         */\n        post(method: 'NodeWorker.disable', callback?: (err: Error | null) => void): void;\n        /**\n         * Detached from the worker with given sessionId.\n         */\n        post(method: 'NodeWorker.detach', params?: NodeWorker.DetachParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'NodeWorker.detach', callback?: (err: Error | null) => void): void;\n        /**\n         * Enable the `NodeRuntime.waitingForDisconnect`.\n         */\n        post(method: 'NodeRuntime.notifyWhenWaitingForDisconnect', params?: NodeRuntime.NotifyWhenWaitingForDisconnectParameterType, callback?: (err: Error | null) => void): void;\n        post(method: 'NodeRuntime.notifyWhenWaitingForDisconnect', callback?: (err: Error | null) => void): void;\n        // Events\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        /**\n         * Emitted when any notification from the V8 Inspector is received.\n         */\n        addListener(event: 'inspectorNotification', listener: (message: InspectorNotification<{}>) => void): this;\n        /**\n         * Issued when new execution context is created.\n         */\n        addListener(event: 'Runtime.executionContextCreated', listener: (message: InspectorNotification<Runtime.ExecutionContextCreatedEventDataType>) => void): this;\n        /**\n         * Issued when execution context is destroyed.\n         */\n        addListener(event: 'Runtime.executionContextDestroyed', listener: (message: InspectorNotification<Runtime.ExecutionContextDestroyedEventDataType>) => void): this;\n        /**\n         * Issued when all executionContexts were cleared in browser\n         */\n        addListener(event: 'Runtime.executionContextsCleared', listener: () => void): this;\n        /**\n         * Issued when exception was thrown and unhandled.\n         */\n        addListener(event: 'Runtime.exceptionThrown', listener: (message: InspectorNotification<Runtime.ExceptionThrownEventDataType>) => void): this;\n        /**\n         * Issued when unhandled exception was revoked.\n         */\n        addListener(event: 'Runtime.exceptionRevoked', listener: (message: InspectorNotification<Runtime.ExceptionRevokedEventDataType>) => void): this;\n        /**\n         * Issued when console API was called.\n         */\n        addListener(event: 'Runtime.consoleAPICalled', listener: (message: InspectorNotification<Runtime.ConsoleAPICalledEventDataType>) => void): this;\n        /**\n         * Issued when object should be inspected (for example, as a result of inspect() command line API call).\n         */\n        addListener(event: 'Runtime.inspectRequested', listener: (message: InspectorNotification<Runtime.InspectRequestedEventDataType>) => void): this;\n        /**\n         * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger.\n         */\n        addListener(event: 'Debugger.scriptParsed', listener: (message: InspectorNotification<Debugger.ScriptParsedEventDataType>) => void): this;\n        /**\n         * Fired when virtual machine fails to parse the script.\n         */\n        addListener(event: 'Debugger.scriptFailedToParse', listener: (message: InspectorNotification<Debugger.ScriptFailedToParseEventDataType>) => void): this;\n        /**\n         * Fired when breakpoint is resolved to an actual script and location.\n         */\n        addListener(event: 'Debugger.breakpointResolved', listener: (message: InspectorNotification<Debugger.BreakpointResolvedEventDataType>) => void): this;\n        /**\n         * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria.\n         */\n        addListener(event: 'Debugger.paused', listener: (message: InspectorNotification<Debugger.PausedEventDataType>) => void): this;\n        /**\n         * Fired when the virtual machine resumed execution.\n         */\n        addListener(event: 'Debugger.resumed', listener: () => void): this;\n        /**\n         * Issued when new console message is added.\n         */\n        addListener(event: 'Console.messageAdded', listener: (message: InspectorNotification<Console.MessageAddedEventDataType>) => void): this;\n        /**\n         * Sent when new profile recording is started using console.profile() call.\n         */\n        addListener(event: 'Profiler.consoleProfileStarted', listener: (message: InspectorNotification<Profiler.ConsoleProfileStartedEventDataType>) => void): this;\n        addListener(event: 'Profiler.consoleProfileFinished', listener: (message: InspectorNotification<Profiler.ConsoleProfileFinishedEventDataType>) => void): this;\n        addListener(event: 'HeapProfiler.addHeapSnapshotChunk', listener: (message: InspectorNotification<HeapProfiler.AddHeapSnapshotChunkEventDataType>) => void): this;\n        addListener(event: 'HeapProfiler.resetProfiles', listener: () => void): this;\n        addListener(event: 'HeapProfiler.reportHeapSnapshotProgress', listener: (message: InspectorNotification<HeapProfiler.ReportHeapSnapshotProgressEventDataType>) => void): this;\n        /**\n         * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.\n         */\n        addListener(event: 'HeapProfiler.lastSeenObjectId', listener: (message: InspectorNotification<HeapProfiler.LastSeenObjectIdEventDataType>) => void): this;\n        /**\n         * If heap objects tracking has been started then backend may send update for one or more fragments\n         */\n        addListener(event: 'HeapProfiler.heapStatsUpdate', listener: (message: InspectorNotification<HeapProfiler.HeapStatsUpdateEventDataType>) => void): this;\n        /**\n         * Contains an bucket of collected trace events.\n         */\n        addListener(event: 'NodeTracing.dataCollected', listener: (message: InspectorNotification<NodeTracing.DataCollectedEventDataType>) => void): this;\n        /**\n         * Signals that tracing is stopped and there is no trace buffers pending flush, all data were\n         * delivered via dataCollected events.\n         */\n        addListener(event: 'NodeTracing.tracingComplete', listener: () => void): this;\n        /**\n         * Issued when attached to a worker.\n         */\n        addListener(event: 'NodeWorker.attachedToWorker', listener: (message: InspectorNotification<NodeWorker.AttachedToWorkerEventDataType>) => void): this;\n        /**\n         * Issued when detached from the worker.\n         */\n        addListener(event: 'NodeWorker.detachedFromWorker', listener: (message: InspectorNotification<NodeWorker.DetachedFromWorkerEventDataType>) => void): this;\n        /**\n         * Notifies about a new protocol message received from the session\n         * (session ID is provided in attachedToWorker notification).\n         */\n        addListener(event: 'NodeWorker.receivedMessageFromWorker', listener: (message: InspectorNotification<NodeWorker.ReceivedMessageFromWorkerEventDataType>) => void): this;\n        /**\n         * This event is fired instead of `Runtime.executionContextDestroyed` when\n         * enabled.\n         * It is fired when the Node process finished all code execution and is\n         * waiting for all frontends to disconnect.\n         */\n        addListener(event: 'NodeRuntime.waitingForDisconnect', listener: () => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: 'inspectorNotification', message: InspectorNotification<{}>): boolean;\n        emit(event: 'Runtime.executionContextCreated', message: InspectorNotification<Runtime.ExecutionContextCreatedEventDataType>): boolean;\n        emit(event: 'Runtime.executionContextDestroyed', message: InspectorNotification<Runtime.ExecutionContextDestroyedEventDataType>): boolean;\n        emit(event: 'Runtime.executionContextsCleared'): boolean;\n        emit(event: 'Runtime.exceptionThrown', message: InspectorNotification<Runtime.ExceptionThrownEventDataType>): boolean;\n        emit(event: 'Runtime.exceptionRevoked', message: InspectorNotification<Runtime.ExceptionRevokedEventDataType>): boolean;\n        emit(event: 'Runtime.consoleAPICalled', message: InspectorNotification<Runtime.ConsoleAPICalledEventDataType>): boolean;\n        emit(event: 'Runtime.inspectRequested', message: InspectorNotification<Runtime.InspectRequestedEventDataType>): boolean;\n        emit(event: 'Debugger.scriptParsed', message: InspectorNotification<Debugger.ScriptParsedEventDataType>): boolean;\n        emit(event: 'Debugger.scriptFailedToParse', message: InspectorNotification<Debugger.ScriptFailedToParseEventDataType>): boolean;\n        emit(event: 'Debugger.breakpointResolved', message: InspectorNotification<Debugger.BreakpointResolvedEventDataType>): boolean;\n        emit(event: 'Debugger.paused', message: InspectorNotification<Debugger.PausedEventDataType>): boolean;\n        emit(event: 'Debugger.resumed'): boolean;\n        emit(event: 'Console.messageAdded', message: InspectorNotification<Console.MessageAddedEventDataType>): boolean;\n        emit(event: 'Profiler.consoleProfileStarted', message: InspectorNotification<Profiler.ConsoleProfileStartedEventDataType>): boolean;\n        emit(event: 'Profiler.consoleProfileFinished', message: InspectorNotification<Profiler.ConsoleProfileFinishedEventDataType>): boolean;\n        emit(event: 'HeapProfiler.addHeapSnapshotChunk', message: InspectorNotification<HeapProfiler.AddHeapSnapshotChunkEventDataType>): boolean;\n        emit(event: 'HeapProfiler.resetProfiles'): boolean;\n        emit(event: 'HeapProfiler.reportHeapSnapshotProgress', message: InspectorNotification<HeapProfiler.ReportHeapSnapshotProgressEventDataType>): boolean;\n        emit(event: 'HeapProfiler.lastSeenObjectId', message: InspectorNotification<HeapProfiler.LastSeenObjectIdEventDataType>): boolean;\n        emit(event: 'HeapProfiler.heapStatsUpdate', message: InspectorNotification<HeapProfiler.HeapStatsUpdateEventDataType>): boolean;\n        emit(event: 'NodeTracing.dataCollected', message: InspectorNotification<NodeTracing.DataCollectedEventDataType>): boolean;\n        emit(event: 'NodeTracing.tracingComplete'): boolean;\n        emit(event: 'NodeWorker.attachedToWorker', message: InspectorNotification<NodeWorker.AttachedToWorkerEventDataType>): boolean;\n        emit(event: 'NodeWorker.detachedFromWorker', message: InspectorNotification<NodeWorker.DetachedFromWorkerEventDataType>): boolean;\n        emit(event: 'NodeWorker.receivedMessageFromWorker', message: InspectorNotification<NodeWorker.ReceivedMessageFromWorkerEventDataType>): boolean;\n        emit(event: 'NodeRuntime.waitingForDisconnect'): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        /**\n         * Emitted when any notification from the V8 Inspector is received.\n         */\n        on(event: 'inspectorNotification', listener: (message: InspectorNotification<{}>) => void): this;\n        /**\n         * Issued when new execution context is created.\n         */\n        on(event: 'Runtime.executionContextCreated', listener: (message: InspectorNotification<Runtime.ExecutionContextCreatedEventDataType>) => void): this;\n        /**\n         * Issued when execution context is destroyed.\n         */\n        on(event: 'Runtime.executionContextDestroyed', listener: (message: InspectorNotification<Runtime.ExecutionContextDestroyedEventDataType>) => void): this;\n        /**\n         * Issued when all executionContexts were cleared in browser\n         */\n        on(event: 'Runtime.executionContextsCleared', listener: () => void): this;\n        /**\n         * Issued when exception was thrown and unhandled.\n         */\n        on(event: 'Runtime.exceptionThrown', listener: (message: InspectorNotification<Runtime.ExceptionThrownEventDataType>) => void): this;\n        /**\n         * Issued when unhandled exception was revoked.\n         */\n        on(event: 'Runtime.exceptionRevoked', listener: (message: InspectorNotification<Runtime.ExceptionRevokedEventDataType>) => void): this;\n        /**\n         * Issued when console API was called.\n         */\n        on(event: 'Runtime.consoleAPICalled', listener: (message: InspectorNotification<Runtime.ConsoleAPICalledEventDataType>) => void): this;\n        /**\n         * Issued when object should be inspected (for example, as a result of inspect() command line API call).\n         */\n        on(event: 'Runtime.inspectRequested', listener: (message: InspectorNotification<Runtime.InspectRequestedEventDataType>) => void): this;\n        /**\n         * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger.\n         */\n        on(event: 'Debugger.scriptParsed', listener: (message: InspectorNotification<Debugger.ScriptParsedEventDataType>) => void): this;\n        /**\n         * Fired when virtual machine fails to parse the script.\n         */\n        on(event: 'Debugger.scriptFailedToParse', listener: (message: InspectorNotification<Debugger.ScriptFailedToParseEventDataType>) => void): this;\n        /**\n         * Fired when breakpoint is resolved to an actual script and location.\n         */\n        on(event: 'Debugger.breakpointResolved', listener: (message: InspectorNotification<Debugger.BreakpointResolvedEventDataType>) => void): this;\n        /**\n         * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria.\n         */\n        on(event: 'Debugger.paused', listener: (message: InspectorNotification<Debugger.PausedEventDataType>) => void): this;\n        /**\n         * Fired when the virtual machine resumed execution.\n         */\n        on(event: 'Debugger.resumed', listener: () => void): this;\n        /**\n         * Issued when new console message is added.\n         */\n        on(event: 'Console.messageAdded', listener: (message: InspectorNotification<Console.MessageAddedEventDataType>) => void): this;\n        /**\n         * Sent when new profile recording is started using console.profile() call.\n         */\n        on(event: 'Profiler.consoleProfileStarted', listener: (message: InspectorNotification<Profiler.ConsoleProfileStartedEventDataType>) => void): this;\n        on(event: 'Profiler.consoleProfileFinished', listener: (message: InspectorNotification<Profiler.ConsoleProfileFinishedEventDataType>) => void): this;\n        on(event: 'HeapProfiler.addHeapSnapshotChunk', listener: (message: InspectorNotification<HeapProfiler.AddHeapSnapshotChunkEventDataType>) => void): this;\n        on(event: 'HeapProfiler.resetProfiles', listener: () => void): this;\n        on(event: 'HeapProfiler.reportHeapSnapshotProgress', listener: (message: InspectorNotification<HeapProfiler.ReportHeapSnapshotProgressEventDataType>) => void): this;\n        /**\n         * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.\n         */\n        on(event: 'HeapProfiler.lastSeenObjectId', listener: (message: InspectorNotification<HeapProfiler.LastSeenObjectIdEventDataType>) => void): this;\n        /**\n         * If heap objects tracking has been started then backend may send update for one or more fragments\n         */\n        on(event: 'HeapProfiler.heapStatsUpdate', listener: (message: InspectorNotification<HeapProfiler.HeapStatsUpdateEventDataType>) => void): this;\n        /**\n         * Contains an bucket of collected trace events.\n         */\n        on(event: 'NodeTracing.dataCollected', listener: (message: InspectorNotification<NodeTracing.DataCollectedEventDataType>) => void): this;\n        /**\n         * Signals that tracing is stopped and there is no trace buffers pending flush, all data were\n         * delivered via dataCollected events.\n         */\n        on(event: 'NodeTracing.tracingComplete', listener: () => void): this;\n        /**\n         * Issued when attached to a worker.\n         */\n        on(event: 'NodeWorker.attachedToWorker', listener: (message: InspectorNotification<NodeWorker.AttachedToWorkerEventDataType>) => void): this;\n        /**\n         * Issued when detached from the worker.\n         */\n        on(event: 'NodeWorker.detachedFromWorker', listener: (message: InspectorNotification<NodeWorker.DetachedFromWorkerEventDataType>) => void): this;\n        /**\n         * Notifies about a new protocol message received from the session\n         * (session ID is provided in attachedToWorker notification).\n         */\n        on(event: 'NodeWorker.receivedMessageFromWorker', listener: (message: InspectorNotification<NodeWorker.ReceivedMessageFromWorkerEventDataType>) => void): this;\n        /**\n         * This event is fired instead of `Runtime.executionContextDestroyed` when\n         * enabled.\n         * It is fired when the Node process finished all code execution and is\n         * waiting for all frontends to disconnect.\n         */\n        on(event: 'NodeRuntime.waitingForDisconnect', listener: () => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        /**\n         * Emitted when any notification from the V8 Inspector is received.\n         */\n        once(event: 'inspectorNotification', listener: (message: InspectorNotification<{}>) => void): this;\n        /**\n         * Issued when new execution context is created.\n         */\n        once(event: 'Runtime.executionContextCreated', listener: (message: InspectorNotification<Runtime.ExecutionContextCreatedEventDataType>) => void): this;\n        /**\n         * Issued when execution context is destroyed.\n         */\n        once(event: 'Runtime.executionContextDestroyed', listener: (message: InspectorNotification<Runtime.ExecutionContextDestroyedEventDataType>) => void): this;\n        /**\n         * Issued when all executionContexts were cleared in browser\n         */\n        once(event: 'Runtime.executionContextsCleared', listener: () => void): this;\n        /**\n         * Issued when exception was thrown and unhandled.\n         */\n        once(event: 'Runtime.exceptionThrown', listener: (message: InspectorNotification<Runtime.ExceptionThrownEventDataType>) => void): this;\n        /**\n         * Issued when unhandled exception was revoked.\n         */\n        once(event: 'Runtime.exceptionRevoked', listener: (message: InspectorNotification<Runtime.ExceptionRevokedEventDataType>) => void): this;\n        /**\n         * Issued when console API was called.\n         */\n        once(event: 'Runtime.consoleAPICalled', listener: (message: InspectorNotification<Runtime.ConsoleAPICalledEventDataType>) => void): this;\n        /**\n         * Issued when object should be inspected (for example, as a result of inspect() command line API call).\n         */\n        once(event: 'Runtime.inspectRequested', listener: (message: InspectorNotification<Runtime.InspectRequestedEventDataType>) => void): this;\n        /**\n         * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger.\n         */\n        once(event: 'Debugger.scriptParsed', listener: (message: InspectorNotification<Debugger.ScriptParsedEventDataType>) => void): this;\n        /**\n         * Fired when virtual machine fails to parse the script.\n         */\n        once(event: 'Debugger.scriptFailedToParse', listener: (message: InspectorNotification<Debugger.ScriptFailedToParseEventDataType>) => void): this;\n        /**\n         * Fired when breakpoint is resolved to an actual script and location.\n         */\n        once(event: 'Debugger.breakpointResolved', listener: (message: InspectorNotification<Debugger.BreakpointResolvedEventDataType>) => void): this;\n        /**\n         * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria.\n         */\n        once(event: 'Debugger.paused', listener: (message: InspectorNotification<Debugger.PausedEventDataType>) => void): this;\n        /**\n         * Fired when the virtual machine resumed execution.\n         */\n        once(event: 'Debugger.resumed', listener: () => void): this;\n        /**\n         * Issued when new console message is added.\n         */\n        once(event: 'Console.messageAdded', listener: (message: InspectorNotification<Console.MessageAddedEventDataType>) => void): this;\n        /**\n         * Sent when new profile recording is started using console.profile() call.\n         */\n        once(event: 'Profiler.consoleProfileStarted', listener: (message: InspectorNotification<Profiler.ConsoleProfileStartedEventDataType>) => void): this;\n        once(event: 'Profiler.consoleProfileFinished', listener: (message: InspectorNotification<Profiler.ConsoleProfileFinishedEventDataType>) => void): this;\n        once(event: 'HeapProfiler.addHeapSnapshotChunk', listener: (message: InspectorNotification<HeapProfiler.AddHeapSnapshotChunkEventDataType>) => void): this;\n        once(event: 'HeapProfiler.resetProfiles', listener: () => void): this;\n        once(event: 'HeapProfiler.reportHeapSnapshotProgress', listener: (message: InspectorNotification<HeapProfiler.ReportHeapSnapshotProgressEventDataType>) => void): this;\n        /**\n         * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.\n         */\n        once(event: 'HeapProfiler.lastSeenObjectId', listener: (message: InspectorNotification<HeapProfiler.LastSeenObjectIdEventDataType>) => void): this;\n        /**\n         * If heap objects tracking has been started then backend may send update for one or more fragments\n         */\n        once(event: 'HeapProfiler.heapStatsUpdate', listener: (message: InspectorNotification<HeapProfiler.HeapStatsUpdateEventDataType>) => void): this;\n        /**\n         * Contains an bucket of collected trace events.\n         */\n        once(event: 'NodeTracing.dataCollected', listener: (message: InspectorNotification<NodeTracing.DataCollectedEventDataType>) => void): this;\n        /**\n         * Signals that tracing is stopped and there is no trace buffers pending flush, all data were\n         * delivered via dataCollected events.\n         */\n        once(event: 'NodeTracing.tracingComplete', listener: () => void): this;\n        /**\n         * Issued when attached to a worker.\n         */\n        once(event: 'NodeWorker.attachedToWorker', listener: (message: InspectorNotification<NodeWorker.AttachedToWorkerEventDataType>) => void): this;\n        /**\n         * Issued when detached from the worker.\n         */\n        once(event: 'NodeWorker.detachedFromWorker', listener: (message: InspectorNotification<NodeWorker.DetachedFromWorkerEventDataType>) => void): this;\n        /**\n         * Notifies about a new protocol message received from the session\n         * (session ID is provided in attachedToWorker notification).\n         */\n        once(event: 'NodeWorker.receivedMessageFromWorker', listener: (message: InspectorNotification<NodeWorker.ReceivedMessageFromWorkerEventDataType>) => void): this;\n        /**\n         * This event is fired instead of `Runtime.executionContextDestroyed` when\n         * enabled.\n         * It is fired when the Node process finished all code execution and is\n         * waiting for all frontends to disconnect.\n         */\n        once(event: 'NodeRuntime.waitingForDisconnect', listener: () => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        /**\n         * Emitted when any notification from the V8 Inspector is received.\n         */\n        prependListener(event: 'inspectorNotification', listener: (message: InspectorNotification<{}>) => void): this;\n        /**\n         * Issued when new execution context is created.\n         */\n        prependListener(event: 'Runtime.executionContextCreated', listener: (message: InspectorNotification<Runtime.ExecutionContextCreatedEventDataType>) => void): this;\n        /**\n         * Issued when execution context is destroyed.\n         */\n        prependListener(event: 'Runtime.executionContextDestroyed', listener: (message: InspectorNotification<Runtime.ExecutionContextDestroyedEventDataType>) => void): this;\n        /**\n         * Issued when all executionContexts were cleared in browser\n         */\n        prependListener(event: 'Runtime.executionContextsCleared', listener: () => void): this;\n        /**\n         * Issued when exception was thrown and unhandled.\n         */\n        prependListener(event: 'Runtime.exceptionThrown', listener: (message: InspectorNotification<Runtime.ExceptionThrownEventDataType>) => void): this;\n        /**\n         * Issued when unhandled exception was revoked.\n         */\n        prependListener(event: 'Runtime.exceptionRevoked', listener: (message: InspectorNotification<Runtime.ExceptionRevokedEventDataType>) => void): this;\n        /**\n         * Issued when console API was called.\n         */\n        prependListener(event: 'Runtime.consoleAPICalled', listener: (message: InspectorNotification<Runtime.ConsoleAPICalledEventDataType>) => void): this;\n        /**\n         * Issued when object should be inspected (for example, as a result of inspect() command line API call).\n         */\n        prependListener(event: 'Runtime.inspectRequested', listener: (message: InspectorNotification<Runtime.InspectRequestedEventDataType>) => void): this;\n        /**\n         * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger.\n         */\n        prependListener(event: 'Debugger.scriptParsed', listener: (message: InspectorNotification<Debugger.ScriptParsedEventDataType>) => void): this;\n        /**\n         * Fired when virtual machine fails to parse the script.\n         */\n        prependListener(event: 'Debugger.scriptFailedToParse', listener: (message: InspectorNotification<Debugger.ScriptFailedToParseEventDataType>) => void): this;\n        /**\n         * Fired when breakpoint is resolved to an actual script and location.\n         */\n        prependListener(event: 'Debugger.breakpointResolved', listener: (message: InspectorNotification<Debugger.BreakpointResolvedEventDataType>) => void): this;\n        /**\n         * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria.\n         */\n        prependListener(event: 'Debugger.paused', listener: (message: InspectorNotification<Debugger.PausedEventDataType>) => void): this;\n        /**\n         * Fired when the virtual machine resumed execution.\n         */\n        prependListener(event: 'Debugger.resumed', listener: () => void): this;\n        /**\n         * Issued when new console message is added.\n         */\n        prependListener(event: 'Console.messageAdded', listener: (message: InspectorNotification<Console.MessageAddedEventDataType>) => void): this;\n        /**\n         * Sent when new profile recording is started using console.profile() call.\n         */\n        prependListener(event: 'Profiler.consoleProfileStarted', listener: (message: InspectorNotification<Profiler.ConsoleProfileStartedEventDataType>) => void): this;\n        prependListener(event: 'Profiler.consoleProfileFinished', listener: (message: InspectorNotification<Profiler.ConsoleProfileFinishedEventDataType>) => void): this;\n        prependListener(event: 'HeapProfiler.addHeapSnapshotChunk', listener: (message: InspectorNotification<HeapProfiler.AddHeapSnapshotChunkEventDataType>) => void): this;\n        prependListener(event: 'HeapProfiler.resetProfiles', listener: () => void): this;\n        prependListener(event: 'HeapProfiler.reportHeapSnapshotProgress', listener: (message: InspectorNotification<HeapProfiler.ReportHeapSnapshotProgressEventDataType>) => void): this;\n        /**\n         * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.\n         */\n        prependListener(event: 'HeapProfiler.lastSeenObjectId', listener: (message: InspectorNotification<HeapProfiler.LastSeenObjectIdEventDataType>) => void): this;\n        /**\n         * If heap objects tracking has been started then backend may send update for one or more fragments\n         */\n        prependListener(event: 'HeapProfiler.heapStatsUpdate', listener: (message: InspectorNotification<HeapProfiler.HeapStatsUpdateEventDataType>) => void): this;\n        /**\n         * Contains an bucket of collected trace events.\n         */\n        prependListener(event: 'NodeTracing.dataCollected', listener: (message: InspectorNotification<NodeTracing.DataCollectedEventDataType>) => void): this;\n        /**\n         * Signals that tracing is stopped and there is no trace buffers pending flush, all data were\n         * delivered via dataCollected events.\n         */\n        prependListener(event: 'NodeTracing.tracingComplete', listener: () => void): this;\n        /**\n         * Issued when attached to a worker.\n         */\n        prependListener(event: 'NodeWorker.attachedToWorker', listener: (message: InspectorNotification<NodeWorker.AttachedToWorkerEventDataType>) => void): this;\n        /**\n         * Issued when detached from the worker.\n         */\n        prependListener(event: 'NodeWorker.detachedFromWorker', listener: (message: InspectorNotification<NodeWorker.DetachedFromWorkerEventDataType>) => void): this;\n        /**\n         * Notifies about a new protocol message received from the session\n         * (session ID is provided in attachedToWorker notification).\n         */\n        prependListener(event: 'NodeWorker.receivedMessageFromWorker', listener: (message: InspectorNotification<NodeWorker.ReceivedMessageFromWorkerEventDataType>) => void): this;\n        /**\n         * This event is fired instead of `Runtime.executionContextDestroyed` when\n         * enabled.\n         * It is fired when the Node process finished all code execution and is\n         * waiting for all frontends to disconnect.\n         */\n        prependListener(event: 'NodeRuntime.waitingForDisconnect', listener: () => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        /**\n         * Emitted when any notification from the V8 Inspector is received.\n         */\n        prependOnceListener(event: 'inspectorNotification', listener: (message: InspectorNotification<{}>) => void): this;\n        /**\n         * Issued when new execution context is created.\n         */\n        prependOnceListener(event: 'Runtime.executionContextCreated', listener: (message: InspectorNotification<Runtime.ExecutionContextCreatedEventDataType>) => void): this;\n        /**\n         * Issued when execution context is destroyed.\n         */\n        prependOnceListener(event: 'Runtime.executionContextDestroyed', listener: (message: InspectorNotification<Runtime.ExecutionContextDestroyedEventDataType>) => void): this;\n        /**\n         * Issued when all executionContexts were cleared in browser\n         */\n        prependOnceListener(event: 'Runtime.executionContextsCleared', listener: () => void): this;\n        /**\n         * Issued when exception was thrown and unhandled.\n         */\n        prependOnceListener(event: 'Runtime.exceptionThrown', listener: (message: InspectorNotification<Runtime.ExceptionThrownEventDataType>) => void): this;\n        /**\n         * Issued when unhandled exception was revoked.\n         */\n        prependOnceListener(event: 'Runtime.exceptionRevoked', listener: (message: InspectorNotification<Runtime.ExceptionRevokedEventDataType>) => void): this;\n        /**\n         * Issued when console API was called.\n         */\n        prependOnceListener(event: 'Runtime.consoleAPICalled', listener: (message: InspectorNotification<Runtime.ConsoleAPICalledEventDataType>) => void): this;\n        /**\n         * Issued when object should be inspected (for example, as a result of inspect() command line API call).\n         */\n        prependOnceListener(event: 'Runtime.inspectRequested', listener: (message: InspectorNotification<Runtime.InspectRequestedEventDataType>) => void): this;\n        /**\n         * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger.\n         */\n        prependOnceListener(event: 'Debugger.scriptParsed', listener: (message: InspectorNotification<Debugger.ScriptParsedEventDataType>) => void): this;\n        /**\n         * Fired when virtual machine fails to parse the script.\n         */\n        prependOnceListener(event: 'Debugger.scriptFailedToParse', listener: (message: InspectorNotification<Debugger.ScriptFailedToParseEventDataType>) => void): this;\n        /**\n         * Fired when breakpoint is resolved to an actual script and location.\n         */\n        prependOnceListener(event: 'Debugger.breakpointResolved', listener: (message: InspectorNotification<Debugger.BreakpointResolvedEventDataType>) => void): this;\n        /**\n         * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria.\n         */\n        prependOnceListener(event: 'Debugger.paused', listener: (message: InspectorNotification<Debugger.PausedEventDataType>) => void): this;\n        /**\n         * Fired when the virtual machine resumed execution.\n         */\n        prependOnceListener(event: 'Debugger.resumed', listener: () => void): this;\n        /**\n         * Issued when new console message is added.\n         */\n        prependOnceListener(event: 'Console.messageAdded', listener: (message: InspectorNotification<Console.MessageAddedEventDataType>) => void): this;\n        /**\n         * Sent when new profile recording is started using console.profile() call.\n         */\n        prependOnceListener(event: 'Profiler.consoleProfileStarted', listener: (message: InspectorNotification<Profiler.ConsoleProfileStartedEventDataType>) => void): this;\n        prependOnceListener(event: 'Profiler.consoleProfileFinished', listener: (message: InspectorNotification<Profiler.ConsoleProfileFinishedEventDataType>) => void): this;\n        prependOnceListener(event: 'HeapProfiler.addHeapSnapshotChunk', listener: (message: InspectorNotification<HeapProfiler.AddHeapSnapshotChunkEventDataType>) => void): this;\n        prependOnceListener(event: 'HeapProfiler.resetProfiles', listener: () => void): this;\n        prependOnceListener(event: 'HeapProfiler.reportHeapSnapshotProgress', listener: (message: InspectorNotification<HeapProfiler.ReportHeapSnapshotProgressEventDataType>) => void): this;\n        /**\n         * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.\n         */\n        prependOnceListener(event: 'HeapProfiler.lastSeenObjectId', listener: (message: InspectorNotification<HeapProfiler.LastSeenObjectIdEventDataType>) => void): this;\n        /**\n         * If heap objects tracking has been started then backend may send update for one or more fragments\n         */\n        prependOnceListener(event: 'HeapProfiler.heapStatsUpdate', listener: (message: InspectorNotification<HeapProfiler.HeapStatsUpdateEventDataType>) => void): this;\n        /**\n         * Contains an bucket of collected trace events.\n         */\n        prependOnceListener(event: 'NodeTracing.dataCollected', listener: (message: InspectorNotification<NodeTracing.DataCollectedEventDataType>) => void): this;\n        /**\n         * Signals that tracing is stopped and there is no trace buffers pending flush, all data were\n         * delivered via dataCollected events.\n         */\n        prependOnceListener(event: 'NodeTracing.tracingComplete', listener: () => void): this;\n        /**\n         * Issued when attached to a worker.\n         */\n        prependOnceListener(event: 'NodeWorker.attachedToWorker', listener: (message: InspectorNotification<NodeWorker.AttachedToWorkerEventDataType>) => void): this;\n        /**\n         * Issued when detached from the worker.\n         */\n        prependOnceListener(event: 'NodeWorker.detachedFromWorker', listener: (message: InspectorNotification<NodeWorker.DetachedFromWorkerEventDataType>) => void): this;\n        /**\n         * Notifies about a new protocol message received from the session\n         * (session ID is provided in attachedToWorker notification).\n         */\n        prependOnceListener(event: 'NodeWorker.receivedMessageFromWorker', listener: (message: InspectorNotification<NodeWorker.ReceivedMessageFromWorkerEventDataType>) => void): this;\n        /**\n         * This event is fired instead of `Runtime.executionContextDestroyed` when\n         * enabled.\n         * It is fired when the Node process finished all code execution and is\n         * waiting for all frontends to disconnect.\n         */\n        prependOnceListener(event: 'NodeRuntime.waitingForDisconnect', listener: () => void): this;\n    }\n    /**\n     * Activate inspector on host and port. Equivalent to`node --inspect=[[host:]port]`, but can be done programmatically after node has\n     * started.\n     *\n     * If wait is `true`, will block until a client has connected to the inspect port\n     * and flow control has been passed to the debugger client.\n     *\n     * See the `security warning` regarding the `host`parameter usage.\n     * @param [port='what was specified on the CLI'] Port to listen on for inspector connections. Optional.\n     * @param [host='what was specified on the CLI'] Host to listen on for inspector connections. Optional.\n     * @param [wait=false] Block until a client has connected. Optional.\n     */\n    function open(port?: number, host?: string, wait?: boolean): void;\n    /**\n     * Deactivate the inspector. Blocks until there are no active connections.\n     */\n    function close(): void;\n    /**\n     * Return the URL of the active inspector, or `undefined` if there is none.\n     *\n     * ```console\n     * $ node --inspect -p 'inspector.url()'\n     * Debugger listening on ws://127.0.0.1:9229/166e272e-7a30-4d09-97ce-f1c012b43c34\n     * For help, see: https://nodejs.org/en/docs/inspector\n     * ws://127.0.0.1:9229/166e272e-7a30-4d09-97ce-f1c012b43c34\n     *\n     * $ node --inspect=localhost:3000 -p 'inspector.url()'\n     * Debugger listening on ws://localhost:3000/51cf8d0e-3c36-4c59-8efd-54519839e56a\n     * For help, see: https://nodejs.org/en/docs/inspector\n     * ws://localhost:3000/51cf8d0e-3c36-4c59-8efd-54519839e56a\n     *\n     * $ node -p 'inspector.url()'\n     * undefined\n     * ```\n     */\n    function url(): string | undefined;\n    /**\n     * Blocks until a client (existing or connected later) has sent`Runtime.runIfWaitingForDebugger` command.\n     *\n     * An exception will be thrown if there is no active inspector.\n     * @since v12.7.0\n     */\n    function waitForDebugger(): void;\n    // These methods are exposed by the V8 inspector console API (inspector/v8-console.h).\n    // The method signatures differ from those of the Node.js console, and are deliberately\n    // typed permissively.\n    interface InspectorConsole {\n        debug(...data: any[]): void;\n        error(...data: any[]): void;\n        info(...data: any[]): void;\n        log(...data: any[]): void;\n        warn(...data: any[]): void;\n        dir(...data: any[]): void;\n        dirxml(...data: any[]): void;\n        table(...data: any[]): void;\n        trace(...data: any[]): void;\n        group(...data: any[]): void;\n        groupCollapsed(...data: any[]): void;\n        groupEnd(...data: any[]): void;\n        clear(...data: any[]): void;\n        count(label?: any): void;\n        countReset(label?: any): void;\n        assert(value?: any, ...data: any[]): void;\n        profile(label?: any): void;\n        profileEnd(label?: any): void;\n        time(label?: any): void;\n        timeLog(label?: any): void;\n        timeStamp(label?: any): void;\n    }\n    /**\n     * An object to send messages to the remote inspector console.\n     * @since v11.0.0\n     */\n    const console: InspectorConsole;\n}\n/**\n * The inspector module provides an API for interacting with the V8 inspector.\n */\ndeclare module 'node:inspector' {\n    export * from 'inspector';\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/module.d.ts",
      "content": "/**\n * @since v0.3.7\n */\ndeclare module \"module\" {\n    import { URL } from \"node:url\";\n    import { MessagePort } from \"node:worker_threads\";\n    class Module {\n        constructor(id: string, parent?: Module);\n    }\n    interface Module extends NodeJS.Module {}\n    namespace Module {\n        export { Module };\n    }\n    namespace Module {\n        /**\n         * A list of the names of all modules provided by Node.js. Can be used to verify\n         * if a module is maintained by a third party or not.\n         * @since v9.3.0, v8.10.0, v6.13.0\n         */\n        const builtinModules: readonly string[];\n        /**\n         * @since v12.2.0\n         * @param path Filename to be used to construct the require\n         * function. Must be a file URL object, file URL string, or absolute path\n         * string.\n         */\n        function createRequire(path: string | URL): NodeJS.Require;\n        /**\n         * @since v18.6.0, v16.17.0\n         */\n        function isBuiltin(moduleName: string): boolean;\n        interface RegisterOptions<Data> {\n            /**\n             * If you want to resolve `specifier` relative to a\n             * base URL, such as `import.meta.url`, you can pass that URL here. This\n             * property is ignored if the `parentURL` is supplied as the second argument.\n             * @default 'data:'\n             */\n            parentURL?: string | URL | undefined;\n            /**\n             * Any arbitrary, cloneable JavaScript value to pass into the\n             * `initialize` hook.\n             */\n            data?: Data | undefined;\n            /**\n             * [Transferable objects](https://nodejs.org/docs/latest-v18.x/api/worker_threads.html#portpostmessagevalue-transferlist)\n             * to be passed into the `initialize` hook.\n             */\n            transferList?: any[] | undefined;\n        }\n        /* eslint-disable @definitelytyped/no-unnecessary-generics */\n        /**\n         * Register a module that exports hooks that customize Node.js module\n         * resolution and loading behavior. See\n         * [Customization hooks](https://nodejs.org/docs/latest-v18.x/api/module.html#customization-hooks).\n         * @since v20.6.0, v18.19.0\n         * @param specifier Customization hooks to be registered; this should be\n         * the same string that would be passed to `import()`, except that if it is\n         * relative, it is resolved relative to `parentURL`.\n         * @param parentURL f you want to resolve `specifier` relative to a base\n         * URL, such as `import.meta.url`, you can pass that URL here.\n         */\n        function register<Data = any>(\n            specifier: string | URL,\n            parentURL?: string | URL,\n            options?: RegisterOptions<Data>,\n        ): void;\n        function register<Data = any>(specifier: string | URL, options?: RegisterOptions<Data>): void;\n        /* eslint-enable @definitelytyped/no-unnecessary-generics */\n        /**\n         * The `module.syncBuiltinESMExports()` method updates all the live bindings for\n         * builtin `ES Modules` to match the properties of the `CommonJS` exports. It\n         * does not add or remove exported names from the `ES Modules`.\n         *\n         * ```js\n         * import fs from 'node:fs';\n         * import assert from 'node:assert';\n         * import { syncBuiltinESMExports } from 'node:module';\n         *\n         * fs.readFile = newAPI;\n         *\n         * delete fs.readFileSync;\n         *\n         * function newAPI() {\n         *   // ...\n         * }\n         *\n         * fs.newAPI = newAPI;\n         *\n         * syncBuiltinESMExports();\n         *\n         * import('fs').then((esmFS) => {\n         *   // It syncs the existing readFile property with the new value\n         *   assert.strictEqual(esmFS.readFile, newAPI);\n         *   // readFileSync has been deleted from the required fs\n         *   assert.strictEqual('readFileSync' in fs, false);\n         *   // syncBuiltinESMExports() does not remove readFileSync from esmFS\n         *   assert.strictEqual('readFileSync' in esmFS, true);\n         *   // syncBuiltinESMExports() does not add names\n         *   assert.strictEqual(esmFS.newAPI, undefined);\n         * });\n         * ```\n         * @since v12.12.0\n         */\n        function syncBuiltinESMExports(): void;\n        /** @deprecated Use `ImportAttributes` instead */\n        interface ImportAssertions extends ImportAttributes {}\n        interface ImportAttributes extends NodeJS.Dict<string> {\n            type?: string | undefined;\n        }\n        type ModuleFormat = \"builtin\" | \"commonjs\" | \"json\" | \"module\" | \"wasm\";\n        type ModuleSource = string | ArrayBuffer | NodeJS.TypedArray;\n        /**\n         * The `initialize` hook provides a way to define a custom function that runs in\n         * the hooks thread when the hooks module is initialized. Initialization happens\n         * when the hooks module is registered via {@link register}.\n         *\n         * This hook can receive data from a {@link register} invocation, including\n         * ports and other transferable objects. The return value of `initialize` can be a\n         * `Promise`, in which case it will be awaited before the main application thread\n         * execution resumes.\n         */\n        type InitializeHook<Data = any> = (data: Data) => void | Promise<void>;\n        interface ResolveHookContext {\n            /**\n             * Export conditions of the relevant `package.json`\n             */\n            conditions: string[];\n            /**\n             * @deprecated Use `importAttributes` instead\n             */\n            importAssertions: ImportAttributes;\n            /**\n             *  An object whose key-value pairs represent the assertions for the module to import\n             */\n            importAttributes: ImportAttributes;\n            /**\n             * The module importing this one, or undefined if this is the Node.js entry point\n             */\n            parentURL: string | undefined;\n        }\n        interface ResolveFnOutput {\n            /**\n             * A hint to the load hook (it might be ignored)\n             */\n            format?: ModuleFormat | null | undefined;\n            /**\n             * @deprecated Use `importAttributes` instead\n             */\n            importAssertions?: ImportAttributes | undefined;\n            /**\n             * The import attributes to use when caching the module (optional; if excluded the input will be used)\n             */\n            importAttributes?: ImportAttributes | undefined;\n            /**\n             * A signal that this hook intends to terminate the chain of `resolve` hooks.\n             * @default false\n             */\n            shortCircuit?: boolean | undefined;\n            /**\n             * The absolute URL to which this input resolves\n             */\n            url: string;\n        }\n        /**\n         * The `resolve` hook chain is responsible for telling Node.js where to find and\n         * how to cache a given `import` statement or expression, or `require` call. It can\n         * optionally return a format (such as `'module'`) as a hint to the `load` hook. If\n         * a format is specified, the `load` hook is ultimately responsible for providing\n         * the final `format` value (and it is free to ignore the hint provided by\n         * `resolve`); if `resolve` provides a `format`, a custom `load` hook is required\n         * even if only to pass the value to the Node.js default `load` hook.\n         */\n        type ResolveHook = (\n            specifier: string,\n            context: ResolveHookContext,\n            nextResolve: (\n                specifier: string,\n                context?: Partial<ResolveHookContext>,\n            ) => ResolveFnOutput | Promise<ResolveFnOutput>,\n        ) => ResolveFnOutput | Promise<ResolveFnOutput>;\n        interface LoadHookContext {\n            /**\n             * Export conditions of the relevant `package.json`\n             */\n            conditions: string[];\n            /**\n             * The format optionally supplied by the `resolve` hook chain\n             */\n            format: ModuleFormat | null | undefined;\n            /**\n             * @deprecated Use `importAttributes` instead\n             */\n            importAssertions: ImportAttributes;\n            /**\n             *  An object whose key-value pairs represent the assertions for the module to import\n             */\n            importAttributes: ImportAttributes;\n        }\n        interface LoadFnOutput {\n            format: string | null | undefined;\n            /**\n             * A signal that this hook intends to terminate the chain of `resolve` hooks.\n             * @default false\n             */\n            shortCircuit?: boolean | undefined;\n            /**\n             * The source for Node.js to evaluate\n             */\n            source?: ModuleSource | undefined;\n        }\n        /**\n         * The `load` hook provides a way to define a custom method of determining how a\n         * URL should be interpreted, retrieved, and parsed. It is also in charge of\n         * validating the import attributes.\n         */\n        type LoadHook = (\n            url: string,\n            context: LoadHookContext,\n            nextLoad: (\n                url: string,\n                context?: Partial<LoadHookContext>,\n            ) => LoadFnOutput | Promise<LoadFnOutput>,\n        ) => LoadFnOutput | Promise<LoadFnOutput>;\n        interface GlobalPreloadContext {\n            port: MessagePort;\n        }\n        /**\n         * Sometimes it might be necessary to run some code inside of the same global\n         * scope that the application runs in. This hook allows the return of a string\n         * that is run as a sloppy-mode script on startup.\n         * @deprecated This hook will be removed in a future version. Use\n         * `initialize` instead. When a hooks module has an `initialize` export,\n         * `globalPreload` will be ignored.\n         */\n        type GlobalPreloadHook = (context: GlobalPreloadContext) => string;\n        /**\n         * `path` is the resolved path for the file for which a corresponding source map\n         * should be fetched.\n         * @since v13.7.0, v12.17.0\n         */\n        function findSourceMap(path: string): SourceMap | undefined;\n        interface SourceMapPayload {\n            file: string;\n            version: number;\n            sources: string[];\n            sourcesContent: string[];\n            names: string[];\n            mappings: string;\n            sourceRoot: string;\n        }\n        interface SourceMapping {\n            generatedLine: number;\n            generatedColumn: number;\n            originalSource: string;\n            originalLine: number;\n            originalColumn: number;\n        }\n        interface SourceOrigin {\n            /**\n             * The name of the range in the source map, if one was provided\n             */\n            name: string | undefined;\n            /**\n             * The file name of the original source, as reported in the SourceMap\n             */\n            fileName: string;\n            /**\n             * The 1-indexed lineNumber of the corresponding call site in the original source\n             */\n            lineNumber: number;\n            /**\n             * The 1-indexed columnNumber of the corresponding call site in the original source\n             */\n            columnNumber: number;\n        }\n        /**\n         * @since v13.7.0, v12.17.0\n         */\n        class SourceMap {\n            constructor(payload: SourceMapPayload);\n            /**\n             * Getter for the payload used to construct the `SourceMap` instance.\n             */\n            readonly payload: SourceMapPayload;\n            /**\n             * Given a line offset and column offset in the generated source\n             * file, returns an object representing the SourceMap range in the\n             * original file if found, or an empty object if not.\n             *\n             * The object returned contains the following keys:\n             *\n             * The returned value represents the raw range as it appears in the\n             * SourceMap, based on zero-indexed offsets, _not_ 1-indexed line and\n             * column numbers as they appear in Error messages and CallSite\n             * objects.\n             *\n             * To get the corresponding 1-indexed line and column numbers from a\n             * lineNumber and columnNumber as they are reported by Error stacks\n             * and CallSite objects, use `sourceMap.findOrigin(lineNumber, columnNumber)`\n             * @param lineOffset The zero-indexed line number offset in the generated source\n             * @param columnOffset The zero-indexed column number offset in the generated source\n             */\n            findEntry(lineOffset: number, columnOffset: number): SourceMapping | {};\n            /**\n             * Given a 1-indexed `lineNumber` and `columnNumber` from a call site in the generated source,\n             * find the corresponding call site location in the original source.\n             *\n             * If the `lineNumber` and `columnNumber` provided are not found in any source map,\n             * then an empty object is returned.\n             * @param lineNumber The 1-indexed line number of the call site in the generated source\n             * @param columnNumber The 1-indexed column number of the call site in the generated source\n             */\n            findOrigin(lineNumber: number, columnNumber: number): SourceOrigin | {};\n        }\n        function runMain(main?: string): void;\n        function wrap(code: string): string;\n    }\n    global {\n        interface ImportMeta {\n            url: string;\n            resolve(specifier: string, parent?: string | URL): string;\n        }\n        namespace NodeJS {\n            interface Module {\n                /**\n                 * The module objects required for the first time by this one.\n                 * @since v0.1.16\n                 */\n                children: Module[];\n                /**\n                 * The `module.exports` object is created by the `Module` system. Sometimes this is\n                 * not acceptable; many want their module to be an instance of some class. To do\n                 * this, assign the desired export object to `module.exports`.\n                 * @since v0.1.16\n                 */\n                exports: any;\n                /**\n                 * The fully resolved filename of the module.\n                 * @since v0.1.16\n                 */\n                filename: string;\n                /**\n                 * The identifier for the module. Typically this is the fully resolved\n                 * filename.\n                 * @since v0.1.16\n                 */\n                id: string;\n                /**\n                 * `true` if the module is running during the Node.js preload\n                 * phase.\n                 * @since v15.4.0, v14.17.0\n                 */\n                isPreloading: boolean;\n                /**\n                 * Whether or not the module is done loading, or is in the process of\n                 * loading.\n                 * @since v0.1.16\n                 */\n                loaded: boolean;\n                /**\n                 * The module that first required this one, or `null` if the current module is the\n                 * entry point of the current process, or `undefined` if the module was loaded by\n                 * something that is not a CommonJS module (e.g. REPL or `import`).\n                 * @since v0.1.16\n                 * @deprecated Please use `require.main` and `module.children` instead.\n                 */\n                parent: Module | null | undefined;\n                /**\n                 * The directory name of the module. This is usually the same as the\n                 * `path.dirname()` of the `module.id`.\n                 * @since v11.14.0\n                 */\n                path: string;\n                /**\n                 * The search paths for the module.\n                 * @since v0.4.0\n                 */\n                paths: string[];\n                /**\n                 * The `module.require()` method provides a way to load a module as if\n                 * `require()` was called from the original module.\n                 * @since v0.5.1\n                 */\n                require(id: string): any;\n            }\n            interface Require {\n                /**\n                 * Used to import modules, `JSON`, and local files.\n                 * @since v0.1.13\n                 */\n                (id: string): any;\n                /**\n                 * Modules are cached in this object when they are required. By deleting a key\n                 * value from this object, the next `require` will reload the module.\n                 * This does not apply to\n                 * [native addons](https://nodejs.org/docs/latest-v18.x/api/addons.html),\n                 * for which reloading will result in an error.\n                 * @since v0.3.0\n                 */\n                cache: Dict<Module>;\n                /**\n                 * Instruct `require` on how to handle certain file extensions.\n                 * @since v0.3.0\n                 * @deprecated\n                 */\n                extensions: RequireExtensions;\n                /**\n                 * The `Module` object representing the entry script loaded when the Node.js\n                 * process launched, or `undefined` if the entry point of the program is not a\n                 * CommonJS module.\n                 * @since v0.1.17\n                 */\n                main: Module | undefined;\n                /**\n                 * @since v0.3.0\n                 */\n                resolve: RequireResolve;\n            }\n            /** @deprecated */\n            interface RequireExtensions extends Dict<(module: Module, filename: string) => any> {\n                \".js\": (module: Module, filename: string) => any;\n                \".json\": (module: Module, filename: string) => any;\n                \".node\": (module: Module, filename: string) => any;\n            }\n            interface RequireResolveOptions {\n                /**\n                 * Paths to resolve module location from. If present, these\n                 * paths are used instead of the default resolution paths, with the exception\n                 * of\n                 * [GLOBAL\\_FOLDERS](https://nodejs.org/docs/latest-v18.x/api/modules.html#loading-from-the-global-folders)\n                 * like `$HOME/.node_modules`, which are\n                 * always included. Each of these paths is used as a starting point for\n                 * the module resolution algorithm, meaning that the `node_modules` hierarchy\n                 * is checked from this location.\n                 * @since v8.9.0\n                 */\n                paths?: string[] | undefined;\n            }\n            interface RequireResolve {\n                /**\n                 * Use the internal `require()` machinery to look up the location of a module,\n                 * but rather than loading the module, just return the resolved filename.\n                 *\n                 * If the module can not be found, a `MODULE_NOT_FOUND` error is thrown.\n                 * @since v0.3.0\n                 * @param request The module path to resolve.\n                 */\n                (id: string, options?: RequireResolveOptions): string;\n                /**\n                 * Returns an array containing the paths searched during resolution of `request` or\n                 * `null` if the `request` string references a core module, for example `http` or\n                 * `fs`.\n                 * @since v8.9.0\n                 * @param request The module path whose lookup paths are being retrieved.\n                 */\n                paths(request: string): string[] | null;\n            }\n        }\n        /**\n         * The directory name of the current module. This is the same as the\n         * `path.dirname()` of the `__filename`.\n         * @since v0.1.27\n         */\n        var __dirname: string;\n        /**\n         * The file name of the current module. This is the current module file's absolute\n         * path with symlinks resolved.\n         *\n         * For a main program this is not necessarily the same as the file name used in the\n         * command line.\n         * @since v0.0.1\n         */\n        var __filename: string;\n        /**\n         * The `exports` variable is available within a module's file-level scope, and is\n         * assigned the value of `module.exports` before the module is evaluated.\n         * @since v0.1.16\n         */\n        var exports: NodeJS.Module[\"exports\"];\n        /**\n         * A reference to the current module.\n         * @since v0.1.16\n         */\n        var module: NodeJS.Module;\n        /**\n         * @since v0.1.13\n         */\n        var require: NodeJS.Require;\n        // Global-scope aliases for backwards compatibility with @types/node <13.0.x\n        /** @deprecated Use `NodeJS.Module` instead. */\n        interface NodeModule extends NodeJS.Module {}\n        /** @deprecated Use `NodeJS.Require` instead. */\n        interface NodeRequire extends NodeJS.Require {}\n        /** @deprecated Use `NodeJS.RequireResolve` instead. */\n        interface RequireResolve extends NodeJS.RequireResolve {}\n    }\n    export = Module;\n}\ndeclare module \"node:module\" {\n    import module = require(\"module\");\n    export = module;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/net.d.ts",
      "content": "/**\n * > Stability: 2 - Stable\n *\n * The `net` module provides an asynchronous network API for creating stream-based\n * TCP or `IPC` servers ({@link createServer}) and clients\n * ({@link createConnection}).\n *\n * It can be accessed using:\n *\n * ```js\n * import net from 'node:net';\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/net.js)\n */\ndeclare module \"net\" {\n    import * as stream from \"node:stream\";\n    import { Abortable, EventEmitter } from \"node:events\";\n    import * as dns from \"node:dns\";\n    type LookupFunction = (\n        hostname: string,\n        options: dns.LookupOptions,\n        callback: (err: NodeJS.ErrnoException | null, address: string | dns.LookupAddress[], family?: number) => void,\n    ) => void;\n    interface AddressInfo {\n        address: string;\n        family: string;\n        port: number;\n    }\n    interface SocketConstructorOpts {\n        fd?: number | undefined;\n        allowHalfOpen?: boolean | undefined;\n        readable?: boolean | undefined;\n        writable?: boolean | undefined;\n        signal?: AbortSignal;\n    }\n    interface OnReadOpts {\n        buffer: Uint8Array | (() => Uint8Array);\n        /**\n         * This function is called for every chunk of incoming data.\n         * Two arguments are passed to it: the number of bytes written to buffer and a reference to buffer.\n         * Return false from this function to implicitly pause() the socket.\n         */\n        callback(bytesWritten: number, buf: Uint8Array): boolean;\n    }\n    interface ConnectOpts {\n        /**\n         * If specified, incoming data is stored in a single buffer and passed to the supplied callback when data arrives on the socket.\n         * Note: this will cause the streaming functionality to not provide any data, however events like 'error', 'end', and 'close' will\n         * still be emitted as normal and methods like pause() and resume() will also behave as expected.\n         */\n        onread?: OnReadOpts | undefined;\n    }\n    interface TcpSocketConnectOpts extends ConnectOpts {\n        port: number;\n        host?: string | undefined;\n        localAddress?: string | undefined;\n        localPort?: number | undefined;\n        hints?: number | undefined;\n        family?: number | undefined;\n        lookup?: LookupFunction | undefined;\n        noDelay?: boolean | undefined;\n        keepAlive?: boolean | undefined;\n        keepAliveInitialDelay?: number | undefined;\n        /**\n         * @since v18.13.0\n         */\n        autoSelectFamily?: boolean | undefined;\n        /**\n         * @since v18.13.0\n         */\n        autoSelectFamilyAttemptTimeout?: number | undefined;\n    }\n    interface IpcSocketConnectOpts extends ConnectOpts {\n        path: string;\n    }\n    type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts;\n    type SocketReadyState = \"opening\" | \"open\" | \"readOnly\" | \"writeOnly\" | \"closed\";\n    /**\n     * This class is an abstraction of a TCP socket or a streaming `IPC` endpoint\n     * (uses named pipes on Windows, and Unix domain sockets otherwise). It is also\n     * an `EventEmitter`.\n     *\n     * A `net.Socket` can be created by the user and used directly to interact with\n     * a server. For example, it is returned by {@link createConnection},\n     * so the user can use it to talk to the server.\n     *\n     * It can also be created by Node.js and passed to the user when a connection\n     * is received. For example, it is passed to the listeners of a `'connection'` event emitted on a {@link Server}, so the user can use\n     * it to interact with the client.\n     * @since v0.3.4\n     */\n    class Socket extends stream.Duplex {\n        constructor(options?: SocketConstructorOpts);\n        /**\n         * Destroys the socket after all data is written. If the `finish` event was already emitted the socket is destroyed immediately.\n         * If the socket is still writable it implicitly calls `socket.end()`.\n         * @since v0.3.4\n         */\n        destroySoon(): void;\n        /**\n         * Sends data on the socket. The second parameter specifies the encoding in the\n         * case of a string. It defaults to UTF8 encoding.\n         *\n         * Returns `true` if the entire data was flushed successfully to the kernel\n         * buffer. Returns `false` if all or part of the data was queued in user memory.`'drain'` will be emitted when the buffer is again free.\n         *\n         * The optional `callback` parameter will be executed when the data is finally\n         * written out, which may not be immediately.\n         *\n         * See `Writable` stream `write()` method for more\n         * information.\n         * @since v0.1.90\n         * @param [encoding='utf8'] Only used when data is `string`.\n         */\n        write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean;\n        write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error) => void): boolean;\n        /**\n         * Initiate a connection on a given socket.\n         *\n         * Possible signatures:\n         *\n         * * `socket.connect(options[, connectListener])`\n         * * `socket.connect(path[, connectListener])` for `IPC` connections.\n         * * `socket.connect(port[, host][, connectListener])` for TCP connections.\n         * * Returns: `net.Socket` The socket itself.\n         *\n         * This function is asynchronous. When the connection is established, the `'connect'` event will be emitted. If there is a problem connecting,\n         * instead of a `'connect'` event, an `'error'` event will be emitted with\n         * the error passed to the `'error'` listener.\n         * The last parameter `connectListener`, if supplied, will be added as a listener\n         * for the `'connect'` event **once**.\n         *\n         * This function should only be used for reconnecting a socket after`'close'` has been emitted or otherwise it may lead to undefined\n         * behavior.\n         */\n        connect(options: SocketConnectOpts, connectionListener?: () => void): this;\n        connect(port: number, host: string, connectionListener?: () => void): this;\n        connect(port: number, connectionListener?: () => void): this;\n        connect(path: string, connectionListener?: () => void): this;\n        /**\n         * Set the encoding for the socket as a `Readable Stream`. See `readable.setEncoding()` for more information.\n         * @since v0.1.90\n         * @return The socket itself.\n         */\n        setEncoding(encoding?: BufferEncoding): this;\n        /**\n         * Pauses the reading of data. That is, `'data'` events will not be emitted.\n         * Useful to throttle back an upload.\n         * @return The socket itself.\n         */\n        pause(): this;\n        /**\n         * Close the TCP connection by sending an RST packet and destroy the stream.\n         * If this TCP socket is in connecting status, it will send an RST packet\n         * and destroy this TCP socket once it is connected. Otherwise, it will call\n         * `socket.destroy` with an `ERR_SOCKET_CLOSED` Error. If this is not a TCP socket\n         * (for example, a pipe), calling this method will immediately throw\n         * an `ERR_INVALID_HANDLE_TYPE` Error.\n         * @since v18.3.0\n         * @return The socket itself.\n         */\n        resetAndDestroy(): this;\n        /**\n         * Resumes reading after a call to `socket.pause()`.\n         * @return The socket itself.\n         */\n        resume(): this;\n        /**\n         * Sets the socket to timeout after `timeout` milliseconds of inactivity on\n         * the socket. By default `net.Socket` do not have a timeout.\n         *\n         * When an idle timeout is triggered the socket will receive a `'timeout'` event but the connection will not be severed. The user must manually call `socket.end()` or `socket.destroy()` to\n         * end the connection.\n         *\n         * ```js\n         * socket.setTimeout(3000);\n         * socket.on('timeout', () => {\n         *   console.log('socket timeout');\n         *   socket.end();\n         * });\n         * ```\n         *\n         * If `timeout` is 0, then the existing idle timeout is disabled.\n         *\n         * The optional `callback` parameter will be added as a one-time listener for the `'timeout'` event.\n         * @since v0.1.90\n         * @return The socket itself.\n         */\n        setTimeout(timeout: number, callback?: () => void): this;\n        /**\n         * Enable/disable the use of Nagle's algorithm.\n         *\n         * When a TCP connection is created, it will have Nagle's algorithm enabled.\n         *\n         * Nagle's algorithm delays data before it is sent via the network. It attempts\n         * to optimize throughput at the expense of latency.\n         *\n         * Passing `true` for `noDelay` or not passing an argument will disable Nagle's\n         * algorithm for the socket. Passing `false` for `noDelay` will enable Nagle's\n         * algorithm.\n         * @since v0.1.90\n         * @param [noDelay=true]\n         * @return The socket itself.\n         */\n        setNoDelay(noDelay?: boolean): this;\n        /**\n         * Enable/disable keep-alive functionality, and optionally set the initial\n         * delay before the first keepalive probe is sent on an idle socket.\n         *\n         * Set `initialDelay` (in milliseconds) to set the delay between the last\n         * data packet received and the first keepalive probe. Setting `0` for`initialDelay` will leave the value unchanged from the default\n         * (or previous) setting.\n         *\n         * Enabling the keep-alive functionality will set the following socket options:\n         *\n         * * `SO_KEEPALIVE=1`\n         * * `TCP_KEEPIDLE=initialDelay`\n         * * `TCP_KEEPCNT=10`\n         * * `TCP_KEEPINTVL=1`\n         * @since v0.1.92\n         * @param [enable=false]\n         * @param [initialDelay=0]\n         * @return The socket itself.\n         */\n        setKeepAlive(enable?: boolean, initialDelay?: number): this;\n        /**\n         * Returns the bound `address`, the address `family` name and `port` of the\n         * socket as reported by the operating system:`{ port: 12346, family: 'IPv4', address: '127.0.0.1' }`\n         * @since v0.1.90\n         */\n        address(): AddressInfo | {};\n        /**\n         * Calling `unref()` on a socket will allow the program to exit if this is the only\n         * active socket in the event system. If the socket is already `unref`ed calling`unref()` again will have no effect.\n         * @since v0.9.1\n         * @return The socket itself.\n         */\n        unref(): this;\n        /**\n         * Opposite of `unref()`, calling `ref()` on a previously `unref`ed socket will _not_ let the program exit if it's the only socket left (the default behavior).\n         * If the socket is `ref`ed calling `ref` again will have no effect.\n         * @since v0.9.1\n         * @return The socket itself.\n         */\n        ref(): this;\n        /**\n         * This property shows the number of characters buffered for writing. The buffer\n         * may contain strings whose length after encoding is not yet known. So this number\n         * is only an approximation of the number of bytes in the buffer.\n         *\n         * `net.Socket` has the property that `socket.write()` always works. This is to\n         * help users get up and running quickly. The computer cannot always keep up\n         * with the amount of data that is written to a socket. The network connection\n         * simply might be too slow. Node.js will internally queue up the data written to a\n         * socket and send it out over the wire when it is possible.\n         *\n         * The consequence of this internal buffering is that memory may grow.\n         * Users who experience large or growing `bufferSize` should attempt to\n         * \"throttle\" the data flows in their program with `socket.pause()` and `socket.resume()`.\n         * @since v0.3.8\n         * @deprecated Since v14.6.0 - Use `writableLength` instead.\n         */\n        readonly bufferSize: number;\n        /**\n         * The amount of received bytes.\n         * @since v0.5.3\n         */\n        readonly bytesRead: number;\n        /**\n         * The amount of bytes sent.\n         * @since v0.5.3\n         */\n        readonly bytesWritten: number;\n        /**\n         * If `true`, `socket.connect(options[, connectListener])` was\n         * called and has not yet finished. It will stay `true` until the socket becomes\n         * connected, then it is set to `false` and the `'connect'` event is emitted. Note\n         * that the `socket.connect(options[, connectListener])` callback is a listener for the `'connect'` event.\n         * @since v6.1.0\n         */\n        readonly connecting: boolean;\n        /**\n         * This is `true` if the socket is not connected yet, either because `.connect()`\n         * has not yet been called or because it is still in the process of connecting (see `socket.connecting`).\n         * @since v10.16.0\n         */\n        readonly pending: boolean;\n        /**\n         * See `writable.destroyed` for further details.\n         */\n        readonly destroyed: boolean;\n        /**\n         * The string representation of the local IP address the remote client is\n         * connecting on. For example, in a server listening on `'0.0.0.0'`, if a client\n         * connects on `'192.168.1.1'`, the value of `socket.localAddress` would be`'192.168.1.1'`.\n         * @since v0.9.6\n         */\n        readonly localAddress?: string;\n        /**\n         * The numeric representation of the local port. For example, `80` or `21`.\n         * @since v0.9.6\n         */\n        readonly localPort?: number;\n        /**\n         * The string representation of the local IP family. `'IPv4'` or `'IPv6'`.\n         * @since v18.8.0\n         */\n        readonly localFamily?: string;\n        /**\n         * This property represents the state of the connection as a string.\n         * @see {https://nodejs.org/api/net.html#socketreadystate}\n         * @since v0.5.0\n         */\n        readonly readyState: SocketReadyState;\n        /**\n         * The string representation of the remote IP address. For example,`'74.125.127.100'` or `'2001:4860:a005::68'`. Value may be `undefined` if\n         * the socket is destroyed (for example, if the client disconnected).\n         * @since v0.5.10\n         */\n        readonly remoteAddress?: string | undefined;\n        /**\n         * The string representation of the remote IP family. `'IPv4'` or `'IPv6'`.\n         * @since v0.11.14\n         */\n        readonly remoteFamily?: string | undefined;\n        /**\n         * The numeric representation of the remote port. For example, `80` or `21`.\n         * @since v0.5.10\n         */\n        readonly remotePort?: number | undefined;\n        /**\n         * The socket timeout in milliseconds as set by socket.setTimeout(). It is undefined if a timeout has not been set.\n         * @since v10.7.0\n         */\n        readonly timeout?: number | undefined;\n        /**\n         * Half-closes the socket. i.e., it sends a FIN packet. It is possible the\n         * server will still send some data.\n         *\n         * See `writable.end()` for further details.\n         * @since v0.1.90\n         * @param [encoding='utf8'] Only used when data is `string`.\n         * @param callback Optional callback for when the socket is finished.\n         * @return The socket itself.\n         */\n        end(callback?: () => void): this;\n        end(buffer: Uint8Array | string, callback?: () => void): this;\n        end(str: Uint8Array | string, encoding?: BufferEncoding, callback?: () => void): this;\n        /**\n         * events.EventEmitter\n         *   1. close\n         *   2. connect\n         *   3. data\n         *   4. drain\n         *   5. end\n         *   6. error\n         *   7. lookup\n         *   8. ready\n         *   9. timeout\n         */\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"close\", listener: (hadError: boolean) => void): this;\n        addListener(event: \"connect\", listener: () => void): this;\n        addListener(event: \"data\", listener: (data: Buffer) => void): this;\n        addListener(event: \"drain\", listener: () => void): this;\n        addListener(event: \"end\", listener: () => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(\n            event: \"lookup\",\n            listener: (err: Error, address: string, family: string | number, host: string) => void,\n        ): this;\n        addListener(event: \"ready\", listener: () => void): this;\n        addListener(event: \"timeout\", listener: () => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"close\", hadError: boolean): boolean;\n        emit(event: \"connect\"): boolean;\n        emit(event: \"data\", data: Buffer): boolean;\n        emit(event: \"drain\"): boolean;\n        emit(event: \"end\"): boolean;\n        emit(event: \"error\", err: Error): boolean;\n        emit(event: \"lookup\", err: Error, address: string, family: string | number, host: string): boolean;\n        emit(event: \"ready\"): boolean;\n        emit(event: \"timeout\"): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"close\", listener: (hadError: boolean) => void): this;\n        on(event: \"connect\", listener: () => void): this;\n        on(event: \"data\", listener: (data: Buffer) => void): this;\n        on(event: \"drain\", listener: () => void): this;\n        on(event: \"end\", listener: () => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(\n            event: \"lookup\",\n            listener: (err: Error, address: string, family: string | number, host: string) => void,\n        ): this;\n        on(event: \"ready\", listener: () => void): this;\n        on(event: \"timeout\", listener: () => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: (hadError: boolean) => void): this;\n        once(event: \"connect\", listener: () => void): this;\n        once(event: \"data\", listener: (data: Buffer) => void): this;\n        once(event: \"drain\", listener: () => void): this;\n        once(event: \"end\", listener: () => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(\n            event: \"lookup\",\n            listener: (err: Error, address: string, family: string | number, host: string) => void,\n        ): this;\n        once(event: \"ready\", listener: () => void): this;\n        once(event: \"timeout\", listener: () => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: (hadError: boolean) => void): this;\n        prependListener(event: \"connect\", listener: () => void): this;\n        prependListener(event: \"data\", listener: (data: Buffer) => void): this;\n        prependListener(event: \"drain\", listener: () => void): this;\n        prependListener(event: \"end\", listener: () => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(\n            event: \"lookup\",\n            listener: (err: Error, address: string, family: string | number, host: string) => void,\n        ): this;\n        prependListener(event: \"ready\", listener: () => void): this;\n        prependListener(event: \"timeout\", listener: () => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"close\", listener: (hadError: boolean) => void): this;\n        prependOnceListener(event: \"connect\", listener: () => void): this;\n        prependOnceListener(event: \"data\", listener: (data: Buffer) => void): this;\n        prependOnceListener(event: \"drain\", listener: () => void): this;\n        prependOnceListener(event: \"end\", listener: () => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(\n            event: \"lookup\",\n            listener: (err: Error, address: string, family: string | number, host: string) => void,\n        ): this;\n        prependOnceListener(event: \"ready\", listener: () => void): this;\n        prependOnceListener(event: \"timeout\", listener: () => void): this;\n    }\n    interface ListenOptions extends Abortable {\n        port?: number | undefined;\n        host?: string | undefined;\n        backlog?: number | undefined;\n        path?: string | undefined;\n        exclusive?: boolean | undefined;\n        readableAll?: boolean | undefined;\n        writableAll?: boolean | undefined;\n        /**\n         * @default false\n         */\n        ipv6Only?: boolean | undefined;\n    }\n    interface ServerOpts {\n        /**\n         * Indicates whether half-opened TCP connections are allowed.\n         * @default false\n         */\n        allowHalfOpen?: boolean | undefined;\n        /**\n         * Indicates whether the socket should be paused on incoming connections.\n         * @default false\n         */\n        pauseOnConnect?: boolean | undefined;\n        /**\n         * If set to `true`, it disables the use of Nagle's algorithm immediately after a new incoming connection is received.\n         * @default false\n         * @since v16.5.0\n         */\n        noDelay?: boolean | undefined;\n        /**\n         * If set to `true`, it enables keep-alive functionality on the socket immediately after a new incoming connection is received,\n         * similarly on what is done in `socket.setKeepAlive([enable][, initialDelay])`.\n         * @default false\n         * @since v16.5.0\n         */\n        keepAlive?: boolean | undefined;\n        /**\n         * If set to a positive number, it sets the initial delay before the first keepalive probe is sent on an idle socket.\n         * @default 0\n         * @since v16.5.0\n         */\n        keepAliveInitialDelay?: number | undefined;\n        /**\n         * Optionally overrides all `net.Socket`s' `readableHighWaterMark` and `writableHighWaterMark`.\n         * @default See [stream.getDefaultHighWaterMark()](https://nodejs.org/docs/latest-v18.x/api/stream.html#streamgetdefaulthighwatermarkobjectmode).\n         * @since v18.17.0\n         */\n        highWaterMark?: number | undefined;\n    }\n    interface DropArgument {\n        localAddress?: string;\n        localPort?: number;\n        localFamily?: string;\n        remoteAddress?: string;\n        remotePort?: number;\n        remoteFamily?: string;\n    }\n    /**\n     * This class is used to create a TCP or `IPC` server.\n     * @since v0.1.90\n     */\n    class Server extends EventEmitter {\n        constructor(connectionListener?: (socket: Socket) => void);\n        constructor(options?: ServerOpts, connectionListener?: (socket: Socket) => void);\n        /**\n         * Start a server listening for connections. A `net.Server` can be a TCP or\n         * an `IPC` server depending on what it listens to.\n         *\n         * Possible signatures:\n         *\n         * * `server.listen(handle[, backlog][, callback])`\n         * * `server.listen(options[, callback])`\n         * * `server.listen(path[, backlog][, callback])` for `IPC` servers\n         * * `server.listen([port[, host[, backlog]]][, callback])` for TCP servers\n         *\n         * This function is asynchronous. When the server starts listening, the `'listening'` event will be emitted. The last parameter `callback`will be added as a listener for the `'listening'`\n         * event.\n         *\n         * All `listen()` methods can take a `backlog` parameter to specify the maximum\n         * length of the queue of pending connections. The actual length will be determined\n         * by the OS through sysctl settings such as `tcp_max_syn_backlog` and `somaxconn` on Linux. The default value of this parameter is 511 (not 512).\n         *\n         * All {@link Socket} are set to `SO_REUSEADDR` (see [`socket(7)`](https://man7.org/linux/man-pages/man7/socket.7.html) for\n         * details).\n         *\n         * The `server.listen()` method can be called again if and only if there was an\n         * error during the first `server.listen()` call or `server.close()` has been\n         * called. Otherwise, an `ERR_SERVER_ALREADY_LISTEN` error will be thrown.\n         *\n         * One of the most common errors raised when listening is `EADDRINUSE`.\n         * This happens when another server is already listening on the requested`port`/`path`/`handle`. One way to handle this would be to retry\n         * after a certain amount of time:\n         *\n         * ```js\n         * server.on('error', (e) => {\n         *   if (e.code === 'EADDRINUSE') {\n         *     console.log('Address in use, retrying...');\n         *     setTimeout(() => {\n         *       server.close();\n         *       server.listen(PORT, HOST);\n         *     }, 1000);\n         *   }\n         * });\n         * ```\n         */\n        listen(port?: number, hostname?: string, backlog?: number, listeningListener?: () => void): this;\n        listen(port?: number, hostname?: string, listeningListener?: () => void): this;\n        listen(port?: number, backlog?: number, listeningListener?: () => void): this;\n        listen(port?: number, listeningListener?: () => void): this;\n        listen(path: string, backlog?: number, listeningListener?: () => void): this;\n        listen(path: string, listeningListener?: () => void): this;\n        listen(options: ListenOptions, listeningListener?: () => void): this;\n        listen(handle: any, backlog?: number, listeningListener?: () => void): this;\n        listen(handle: any, listeningListener?: () => void): this;\n        /**\n         * Stops the server from accepting new connections and keeps existing\n         * connections. This function is asynchronous, the server is finally closed\n         * when all connections are ended and the server emits a `'close'` event.\n         * The optional `callback` will be called once the `'close'` event occurs. Unlike\n         * that event, it will be called with an `Error` as its only argument if the server\n         * was not open when it was closed.\n         * @since v0.1.90\n         * @param callback Called when the server is closed.\n         */\n        close(callback?: (err?: Error) => void): this;\n        /**\n         * Returns the bound `address`, the address `family` name, and `port` of the server\n         * as reported by the operating system if listening on an IP socket\n         * (useful to find which port was assigned when getting an OS-assigned address):`{ port: 12346, family: 'IPv4', address: '127.0.0.1' }`.\n         *\n         * For a server listening on a pipe or Unix domain socket, the name is returned\n         * as a string.\n         *\n         * ```js\n         * const server = net.createServer((socket) => {\n         *   socket.end('goodbye\\n');\n         * }).on('error', (err) => {\n         *   // Handle errors here.\n         *   throw err;\n         * });\n         *\n         * // Grab an arbitrary unused port.\n         * server.listen(() => {\n         *   console.log('opened server on', server.address());\n         * });\n         * ```\n         *\n         * `server.address()` returns `null` before the `'listening'` event has been\n         * emitted or after calling `server.close()`.\n         * @since v0.1.90\n         */\n        address(): AddressInfo | string | null;\n        /**\n         * Asynchronously get the number of concurrent connections on the server. Works\n         * when sockets were sent to forks.\n         *\n         * Callback should take two arguments `err` and `count`.\n         * @since v0.9.7\n         */\n        getConnections(cb: (error: Error | null, count: number) => void): this;\n        /**\n         * Opposite of `unref()`, calling `ref()` on a previously `unref`ed server will _not_ let the program exit if it's the only server left (the default behavior).\n         * If the server is `ref`ed calling `ref()` again will have no effect.\n         * @since v0.9.1\n         */\n        ref(): this;\n        /**\n         * Calling `unref()` on a server will allow the program to exit if this is the only\n         * active server in the event system. If the server is already `unref`ed calling`unref()` again will have no effect.\n         * @since v0.9.1\n         */\n        unref(): this;\n        /**\n         * Set this property to reject connections when the server's connection count gets\n         * high.\n         *\n         * It is not recommended to use this option once a socket has been sent to a child\n         * with `child_process.fork()`.\n         * @since v0.2.0\n         */\n        maxConnections: number;\n        connections: number;\n        /**\n         * Indicates whether or not the server is listening for connections.\n         * @since v5.7.0\n         */\n        listening: boolean;\n        /**\n         * events.EventEmitter\n         *   1. close\n         *   2. connection\n         *   3. error\n         *   4. listening\n         *   5. drop\n         */\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"connection\", listener: (socket: Socket) => void): this;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: \"listening\", listener: () => void): this;\n        addListener(event: \"drop\", listener: (data?: DropArgument) => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"close\"): boolean;\n        emit(event: \"connection\", socket: Socket): boolean;\n        emit(event: \"error\", err: Error): boolean;\n        emit(event: \"listening\"): boolean;\n        emit(event: \"drop\", data?: DropArgument): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"connection\", listener: (socket: Socket) => void): this;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"listening\", listener: () => void): this;\n        on(event: \"drop\", listener: (data?: DropArgument) => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"connection\", listener: (socket: Socket) => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"listening\", listener: () => void): this;\n        once(event: \"drop\", listener: (data?: DropArgument) => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"connection\", listener: (socket: Socket) => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: \"listening\", listener: () => void): this;\n        prependListener(event: \"drop\", listener: (data?: DropArgument) => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"connection\", listener: (socket: Socket) => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(event: \"listening\", listener: () => void): this;\n        prependOnceListener(event: \"drop\", listener: (data?: DropArgument) => void): this;\n        /**\n         * Calls {@link Server.close()} and returns a promise that fulfills when the server has closed.\n         * @since v18.18.0\n         */\n        [Symbol.asyncDispose](): Promise<void>;\n    }\n    type IPVersion = \"ipv4\" | \"ipv6\";\n    /**\n     * The `BlockList` object can be used with some network APIs to specify rules for\n     * disabling inbound or outbound access to specific IP addresses, IP ranges, or\n     * IP subnets.\n     * @since v15.0.0, v14.18.0\n     */\n    class BlockList {\n        /**\n         * Adds a rule to block the given IP address.\n         * @since v15.0.0, v14.18.0\n         * @param address An IPv4 or IPv6 address.\n         * @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`.\n         */\n        addAddress(address: string, type?: IPVersion): void;\n        addAddress(address: SocketAddress): void;\n        /**\n         * Adds a rule to block a range of IP addresses from `start` (inclusive) to`end` (inclusive).\n         * @since v15.0.0, v14.18.0\n         * @param start The starting IPv4 or IPv6 address in the range.\n         * @param end The ending IPv4 or IPv6 address in the range.\n         * @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`.\n         */\n        addRange(start: string, end: string, type?: IPVersion): void;\n        addRange(start: SocketAddress, end: SocketAddress): void;\n        /**\n         * Adds a rule to block a range of IP addresses specified as a subnet mask.\n         * @since v15.0.0, v14.18.0\n         * @param net The network IPv4 or IPv6 address.\n         * @param prefix The number of CIDR prefix bits. For IPv4, this must be a value between `0` and `32`. For IPv6, this must be between `0` and `128`.\n         * @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`.\n         */\n        addSubnet(net: SocketAddress, prefix: number): void;\n        addSubnet(net: string, prefix: number, type?: IPVersion): void;\n        /**\n         * Returns `true` if the given IP address matches any of the rules added to the`BlockList`.\n         *\n         * ```js\n         * const blockList = new net.BlockList();\n         * blockList.addAddress('123.123.123.123');\n         * blockList.addRange('10.0.0.1', '10.0.0.10');\n         * blockList.addSubnet('8592:757c:efae:4e45::', 64, 'ipv6');\n         *\n         * console.log(blockList.check('123.123.123.123'));  // Prints: true\n         * console.log(blockList.check('10.0.0.3'));  // Prints: true\n         * console.log(blockList.check('222.111.111.222'));  // Prints: false\n         *\n         * // IPv6 notation for IPv4 addresses works:\n         * console.log(blockList.check('::ffff:7b7b:7b7b', 'ipv6')); // Prints: true\n         * console.log(blockList.check('::ffff:123.123.123.123', 'ipv6')); // Prints: true\n         * ```\n         * @since v15.0.0, v14.18.0\n         * @param address The IP address to check\n         * @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`.\n         */\n        check(address: SocketAddress): boolean;\n        check(address: string, type?: IPVersion): boolean;\n        /**\n         * The list of rules added to the blocklist.\n         * @since v15.0.0, v14.18.0\n         */\n        rules: readonly string[];\n    }\n    interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts {\n        timeout?: number | undefined;\n    }\n    interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts {\n        timeout?: number | undefined;\n    }\n    type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts;\n    /**\n     * Creates a new TCP or `IPC` server.\n     *\n     * If `allowHalfOpen` is set to `true`, when the other end of the socket\n     * signals the end of transmission, the server will only send back the end of\n     * transmission when `socket.end()` is explicitly called. For example, in the\n     * context of TCP, when a FIN packed is received, a FIN packed is sent\n     * back only when `socket.end()` is explicitly called. Until then the\n     * connection is half-closed (non-readable but still writable). See `'end'` event and [RFC 1122](https://tools.ietf.org/html/rfc1122) (section 4.2.2.13) for more information.\n     *\n     * If `pauseOnConnect` is set to `true`, then the socket associated with each\n     * incoming connection will be paused, and no data will be read from its handle.\n     * This allows connections to be passed between processes without any data being\n     * read by the original process. To begin reading data from a paused socket, call `socket.resume()`.\n     *\n     * The server can be a TCP server or an `IPC` server, depending on what it `listen()` to.\n     *\n     * Here is an example of a TCP echo server which listens for connections\n     * on port 8124:\n     *\n     * ```js\n     * import net from 'node:net';\n     * const server = net.createServer((c) => {\n     *   // 'connection' listener.\n     *   console.log('client connected');\n     *   c.on('end', () => {\n     *     console.log('client disconnected');\n     *   });\n     *   c.write('hello\\r\\n');\n     *   c.pipe(c);\n     * });\n     * server.on('error', (err) => {\n     *   throw err;\n     * });\n     * server.listen(8124, () => {\n     *   console.log('server bound');\n     * });\n     * ```\n     *\n     * Test this by using `telnet`:\n     *\n     * ```console\n     * $ telnet localhost 8124\n     * ```\n     *\n     * To listen on the socket `/tmp/echo.sock`:\n     *\n     * ```js\n     * server.listen('/tmp/echo.sock', () => {\n     *   console.log('server bound');\n     * });\n     * ```\n     *\n     * Use `nc` to connect to a Unix domain socket server:\n     *\n     * ```console\n     * $ nc -U /tmp/echo.sock\n     * ```\n     * @since v0.5.0\n     * @param connectionListener Automatically set as a listener for the {@link 'connection'} event.\n     */\n    function createServer(connectionListener?: (socket: Socket) => void): Server;\n    function createServer(options?: ServerOpts, connectionListener?: (socket: Socket) => void): Server;\n    /**\n     * Aliases to {@link createConnection}.\n     *\n     * Possible signatures:\n     *\n     * * {@link connect}\n     * * {@link connect} for `IPC` connections.\n     * * {@link connect} for TCP connections.\n     */\n    function connect(options: NetConnectOpts, connectionListener?: () => void): Socket;\n    function connect(port: number, host?: string, connectionListener?: () => void): Socket;\n    function connect(path: string, connectionListener?: () => void): Socket;\n    /**\n     * A factory function, which creates a new {@link Socket},\n     * immediately initiates connection with `socket.connect()`,\n     * then returns the `net.Socket` that starts the connection.\n     *\n     * When the connection is established, a `'connect'` event will be emitted\n     * on the returned socket. The last parameter `connectListener`, if supplied,\n     * will be added as a listener for the `'connect'` event **once**.\n     *\n     * Possible signatures:\n     *\n     * * {@link createConnection}\n     * * {@link createConnection} for `IPC` connections.\n     * * {@link createConnection} for TCP connections.\n     *\n     * The {@link connect} function is an alias to this function.\n     */\n    function createConnection(options: NetConnectOpts, connectionListener?: () => void): Socket;\n    function createConnection(port: number, host?: string, connectionListener?: () => void): Socket;\n    function createConnection(path: string, connectionListener?: () => void): Socket;\n    /**\n     * Returns `6` if `input` is an IPv6 address. Returns `4` if `input` is an IPv4\n     * address in [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation) with no leading zeroes. Otherwise, returns`0`.\n     *\n     * ```js\n     * net.isIP('::1'); // returns 6\n     * net.isIP('127.0.0.1'); // returns 4\n     * net.isIP('127.000.000.001'); // returns 0\n     * net.isIP('127.0.0.1/24'); // returns 0\n     * net.isIP('fhqwhgads'); // returns 0\n     * ```\n     * @since v0.3.0\n     */\n    function isIP(input: string): number;\n    /**\n     * Returns `true` if `input` is an IPv4 address in [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation) with no\n     * leading zeroes. Otherwise, returns `false`.\n     *\n     * ```js\n     * net.isIPv4('127.0.0.1'); // returns true\n     * net.isIPv4('127.000.000.001'); // returns false\n     * net.isIPv4('127.0.0.1/24'); // returns false\n     * net.isIPv4('fhqwhgads'); // returns false\n     * ```\n     * @since v0.3.0\n     */\n    function isIPv4(input: string): boolean;\n    /**\n     * Returns `true` if `input` is an IPv6 address. Otherwise, returns `false`.\n     *\n     * ```js\n     * net.isIPv6('::1'); // returns true\n     * net.isIPv6('fhqwhgads'); // returns false\n     * ```\n     * @since v0.3.0\n     */\n    function isIPv6(input: string): boolean;\n    interface SocketAddressInitOptions {\n        /**\n         * The network address as either an IPv4 or IPv6 string.\n         * @default 127.0.0.1\n         */\n        address?: string | undefined;\n        /**\n         * @default `'ipv4'`\n         */\n        family?: IPVersion | undefined;\n        /**\n         * An IPv6 flow-label used only if `family` is `'ipv6'`.\n         * @default 0\n         */\n        flowlabel?: number | undefined;\n        /**\n         * An IP port.\n         * @default 0\n         */\n        port?: number | undefined;\n    }\n    /**\n     * @since v15.14.0, v14.18.0\n     */\n    class SocketAddress {\n        constructor(options: SocketAddressInitOptions);\n        /**\n         * @since v15.14.0, v14.18.0\n         */\n        readonly address: string;\n        /**\n         * Either \\`'ipv4'\\` or \\`'ipv6'\\`.\n         * @since v15.14.0, v14.18.0\n         */\n        readonly family: IPVersion;\n        /**\n         * @since v15.14.0, v14.18.0\n         */\n        readonly port: number;\n        /**\n         * @since v15.14.0, v14.18.0\n         */\n        readonly flowlabel: number;\n    }\n}\ndeclare module \"node:net\" {\n    export * from \"net\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/os.d.ts",
      "content": "/**\n * The `os` module provides operating system-related utility methods and\n * properties. It can be accessed using:\n *\n * ```js\n * import os from 'node:os';\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/os.js)\n */\ndeclare module \"os\" {\n    interface CpuInfo {\n        model: string;\n        speed: number;\n        times: {\n            user: number;\n            nice: number;\n            sys: number;\n            idle: number;\n            irq: number;\n        };\n    }\n    interface NetworkInterfaceBase {\n        address: string;\n        netmask: string;\n        mac: string;\n        internal: boolean;\n        cidr: string | null;\n    }\n    interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase {\n        family: \"IPv4\";\n        scopeid?: undefined;\n    }\n    interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase {\n        family: \"IPv6\";\n        scopeid: number;\n    }\n    interface UserInfo<T> {\n        username: T;\n        uid: number;\n        gid: number;\n        shell: T | null;\n        homedir: T;\n    }\n    type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6;\n    /**\n     * Returns the host name of the operating system as a string.\n     * @since v0.3.3\n     */\n    function hostname(): string;\n    /**\n     * Returns an array containing the 1, 5, and 15 minute load averages.\n     *\n     * The load average is a measure of system activity calculated by the operating\n     * system and expressed as a fractional number.\n     *\n     * The load average is a Unix-specific concept. On Windows, the return value is\n     * always `[0, 0, 0]`.\n     * @since v0.3.3\n     */\n    function loadavg(): number[];\n    /**\n     * Returns the system uptime in number of seconds.\n     * @since v0.3.3\n     */\n    function uptime(): number;\n    /**\n     * Returns the amount of free system memory in bytes as an integer.\n     * @since v0.3.3\n     */\n    function freemem(): number;\n    /**\n     * Returns the total amount of system memory in bytes as an integer.\n     * @since v0.3.3\n     */\n    function totalmem(): number;\n    /**\n     * Returns an array of objects containing information about each logical CPU core.\n     *\n     * The properties included on each object include:\n     *\n     * ```js\n     * [\n     *   {\n     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',\n     *     speed: 2926,\n     *     times: {\n     *       user: 252020,\n     *       nice: 0,\n     *       sys: 30340,\n     *       idle: 1070356870,\n     *       irq: 0\n     *     }\n     *   },\n     *   {\n     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',\n     *     speed: 2926,\n     *     times: {\n     *       user: 306960,\n     *       nice: 0,\n     *       sys: 26980,\n     *       idle: 1071569080,\n     *       irq: 0\n     *     }\n     *   },\n     *   {\n     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',\n     *     speed: 2926,\n     *     times: {\n     *       user: 248450,\n     *       nice: 0,\n     *       sys: 21750,\n     *       idle: 1070919370,\n     *       irq: 0\n     *     }\n     *   },\n     *   {\n     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',\n     *     speed: 2926,\n     *     times: {\n     *       user: 256880,\n     *       nice: 0,\n     *       sys: 19430,\n     *       idle: 1070905480,\n     *       irq: 20\n     *     }\n     *   },\n     * ]\n     * ```\n     *\n     * `nice` values are POSIX-only. On Windows, the `nice` values of all processors\n     * are always 0.\n     * @since v0.3.3\n     */\n    function cpus(): CpuInfo[];\n    /**\n     * Returns an estimate of the default amount of parallelism a program should use. Always returns a value greater than zero.\n     *\n     * This function is a small wrapper about libuv's [`uv_available_parallelism()`](https://docs.libuv.org/en/v1.x/misc.html#c.uv_available_parallelism).\n     * @since 18.4.0\n     */\n    function availableParallelism(): number;\n    /**\n     * Returns the operating system name as returned by [`uname(3)`](https://linux.die.net/man/3/uname). For example, it\n     * returns `'Linux'` on Linux, `'Darwin'` on macOS, and `'Windows_NT'` on Windows.\n     *\n     * See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for additional information\n     * about the output of running [`uname(3)`](https://linux.die.net/man/3/uname) on various operating systems.\n     * @since v0.3.3\n     */\n    function type(): string;\n    /**\n     * Returns the operating system as a string.\n     *\n     * On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `GetVersionExW()` is used. See\n     * [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.\n     * @since v0.3.3\n     */\n    function release(): string;\n    /**\n     * Returns an object containing network interfaces that have been assigned a\n     * network address.\n     *\n     * Each key on the returned object identifies a network interface. The associated\n     * value is an array of objects that each describe an assigned network address.\n     *\n     * The properties available on the assigned network address object include:\n     *\n     * ```js\n     * {\n     *   lo: [\n     *     {\n     *       address: '127.0.0.1',\n     *       netmask: '255.0.0.0',\n     *       family: 'IPv4',\n     *       mac: '00:00:00:00:00:00',\n     *       internal: true,\n     *       cidr: '127.0.0.1/8'\n     *     },\n     *     {\n     *       address: '::1',\n     *       netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',\n     *       family: 'IPv6',\n     *       mac: '00:00:00:00:00:00',\n     *       scopeid: 0,\n     *       internal: true,\n     *       cidr: '::1/128'\n     *     }\n     *   ],\n     *   eth0: [\n     *     {\n     *       address: '192.168.1.108',\n     *       netmask: '255.255.255.0',\n     *       family: 'IPv4',\n     *       mac: '01:02:03:0a:0b:0c',\n     *       internal: false,\n     *       cidr: '192.168.1.108/24'\n     *     },\n     *     {\n     *       address: 'fe80::a00:27ff:fe4e:66a1',\n     *       netmask: 'ffff:ffff:ffff:ffff::',\n     *       family: 'IPv6',\n     *       mac: '01:02:03:0a:0b:0c',\n     *       scopeid: 1,\n     *       internal: false,\n     *       cidr: 'fe80::a00:27ff:fe4e:66a1/64'\n     *     }\n     *   ]\n     * }\n     * ```\n     * @since v0.6.0\n     */\n    function networkInterfaces(): NodeJS.Dict<NetworkInterfaceInfo[]>;\n    /**\n     * Returns the string path of the current user's home directory.\n     *\n     * On POSIX, it uses the `$HOME` environment variable if defined. Otherwise it\n     * uses the [effective UID](https://en.wikipedia.org/wiki/User_identifier#Effective_user_ID) to look up the user's home directory.\n     *\n     * On Windows, it uses the `USERPROFILE` environment variable if defined.\n     * Otherwise it uses the path to the profile directory of the current user.\n     * @since v2.3.0\n     */\n    function homedir(): string;\n    /**\n     * Returns information about the currently effective user. On POSIX platforms,\n     * this is typically a subset of the password file. The returned object includes\n     * the `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and `gid` fields are `-1`, and `shell` is `null`.\n     *\n     * The value of `homedir` returned by `os.userInfo()` is provided by the operating\n     * system. This differs from the result of `os.homedir()`, which queries\n     * environment variables for the home directory before falling back to the\n     * operating system response.\n     *\n     * Throws a `SystemError` if a user has no `username` or `homedir`.\n     * @since v6.0.0\n     */\n    function userInfo(options: { encoding: \"buffer\" }): UserInfo<Buffer>;\n    function userInfo(options?: { encoding: BufferEncoding }): UserInfo<string>;\n    type SignalConstants = {\n        [key in NodeJS.Signals]: number;\n    };\n    namespace constants {\n        const UV_UDP_REUSEADDR: number;\n        namespace signals {}\n        const signals: SignalConstants;\n        namespace errno {\n            const E2BIG: number;\n            const EACCES: number;\n            const EADDRINUSE: number;\n            const EADDRNOTAVAIL: number;\n            const EAFNOSUPPORT: number;\n            const EAGAIN: number;\n            const EALREADY: number;\n            const EBADF: number;\n            const EBADMSG: number;\n            const EBUSY: number;\n            const ECANCELED: number;\n            const ECHILD: number;\n            const ECONNABORTED: number;\n            const ECONNREFUSED: number;\n            const ECONNRESET: number;\n            const EDEADLK: number;\n            const EDESTADDRREQ: number;\n            const EDOM: number;\n            const EDQUOT: number;\n            const EEXIST: number;\n            const EFAULT: number;\n            const EFBIG: number;\n            const EHOSTUNREACH: number;\n            const EIDRM: number;\n            const EILSEQ: number;\n            const EINPROGRESS: number;\n            const EINTR: number;\n            const EINVAL: number;\n            const EIO: number;\n            const EISCONN: number;\n            const EISDIR: number;\n            const ELOOP: number;\n            const EMFILE: number;\n            const EMLINK: number;\n            const EMSGSIZE: number;\n            const EMULTIHOP: number;\n            const ENAMETOOLONG: number;\n            const ENETDOWN: number;\n            const ENETRESET: number;\n            const ENETUNREACH: number;\n            const ENFILE: number;\n            const ENOBUFS: number;\n            const ENODATA: number;\n            const ENODEV: number;\n            const ENOENT: number;\n            const ENOEXEC: number;\n            const ENOLCK: number;\n            const ENOLINK: number;\n            const ENOMEM: number;\n            const ENOMSG: number;\n            const ENOPROTOOPT: number;\n            const ENOSPC: number;\n            const ENOSR: number;\n            const ENOSTR: number;\n            const ENOSYS: number;\n            const ENOTCONN: number;\n            const ENOTDIR: number;\n            const ENOTEMPTY: number;\n            const ENOTSOCK: number;\n            const ENOTSUP: number;\n            const ENOTTY: number;\n            const ENXIO: number;\n            const EOPNOTSUPP: number;\n            const EOVERFLOW: number;\n            const EPERM: number;\n            const EPIPE: number;\n            const EPROTO: number;\n            const EPROTONOSUPPORT: number;\n            const EPROTOTYPE: number;\n            const ERANGE: number;\n            const EROFS: number;\n            const ESPIPE: number;\n            const ESRCH: number;\n            const ESTALE: number;\n            const ETIME: number;\n            const ETIMEDOUT: number;\n            const ETXTBSY: number;\n            const EWOULDBLOCK: number;\n            const EXDEV: number;\n            const WSAEINTR: number;\n            const WSAEBADF: number;\n            const WSAEACCES: number;\n            const WSAEFAULT: number;\n            const WSAEINVAL: number;\n            const WSAEMFILE: number;\n            const WSAEWOULDBLOCK: number;\n            const WSAEINPROGRESS: number;\n            const WSAEALREADY: number;\n            const WSAENOTSOCK: number;\n            const WSAEDESTADDRREQ: number;\n            const WSAEMSGSIZE: number;\n            const WSAEPROTOTYPE: number;\n            const WSAENOPROTOOPT: number;\n            const WSAEPROTONOSUPPORT: number;\n            const WSAESOCKTNOSUPPORT: number;\n            const WSAEOPNOTSUPP: number;\n            const WSAEPFNOSUPPORT: number;\n            const WSAEAFNOSUPPORT: number;\n            const WSAEADDRINUSE: number;\n            const WSAEADDRNOTAVAIL: number;\n            const WSAENETDOWN: number;\n            const WSAENETUNREACH: number;\n            const WSAENETRESET: number;\n            const WSAECONNABORTED: number;\n            const WSAECONNRESET: number;\n            const WSAENOBUFS: number;\n            const WSAEISCONN: number;\n            const WSAENOTCONN: number;\n            const WSAESHUTDOWN: number;\n            const WSAETOOMANYREFS: number;\n            const WSAETIMEDOUT: number;\n            const WSAECONNREFUSED: number;\n            const WSAELOOP: number;\n            const WSAENAMETOOLONG: number;\n            const WSAEHOSTDOWN: number;\n            const WSAEHOSTUNREACH: number;\n            const WSAENOTEMPTY: number;\n            const WSAEPROCLIM: number;\n            const WSAEUSERS: number;\n            const WSAEDQUOT: number;\n            const WSAESTALE: number;\n            const WSAEREMOTE: number;\n            const WSASYSNOTREADY: number;\n            const WSAVERNOTSUPPORTED: number;\n            const WSANOTINITIALISED: number;\n            const WSAEDISCON: number;\n            const WSAENOMORE: number;\n            const WSAECANCELLED: number;\n            const WSAEINVALIDPROCTABLE: number;\n            const WSAEINVALIDPROVIDER: number;\n            const WSAEPROVIDERFAILEDINIT: number;\n            const WSASYSCALLFAILURE: number;\n            const WSASERVICE_NOT_FOUND: number;\n            const WSATYPE_NOT_FOUND: number;\n            const WSA_E_NO_MORE: number;\n            const WSA_E_CANCELLED: number;\n            const WSAEREFUSED: number;\n        }\n        namespace dlopen {\n            const RTLD_LAZY: number;\n            const RTLD_NOW: number;\n            const RTLD_GLOBAL: number;\n            const RTLD_LOCAL: number;\n            const RTLD_DEEPBIND: number;\n        }\n        namespace priority {\n            const PRIORITY_LOW: number;\n            const PRIORITY_BELOW_NORMAL: number;\n            const PRIORITY_NORMAL: number;\n            const PRIORITY_ABOVE_NORMAL: number;\n            const PRIORITY_HIGH: number;\n            const PRIORITY_HIGHEST: number;\n        }\n    }\n    const devNull: string;\n    const EOL: string;\n    /**\n     * Returns the operating system CPU architecture for which the Node.js binary was\n     * compiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'mips'`, `'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, and `'x64'`.\n     *\n     * The return value is equivalent to `process.arch`.\n     * @since v0.5.0\n     */\n    function arch(): string;\n    /**\n     * Returns a string identifying the kernel version.\n     *\n     * On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not\n     * available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.\n     * @since v13.11.0, v12.17.0\n     */\n    function version(): string;\n    /**\n     * Returns a string identifying the operating system platform for which\n     * the Node.js binary was compiled. The value is set at compile time.\n     * Possible values are `'aix'`, `'darwin'`, `'freebsd'`, `'linux'`, `'openbsd'`, `'sunos'`, and `'win32'`.\n     *\n     * The return value is equivalent to `process.platform`.\n     *\n     * The value `'android'` may also be returned if Node.js is built on the Android\n     * operating system. [Android support is experimental](https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os).\n     * @since v0.5.0\n     */\n    function platform(): NodeJS.Platform;\n    /**\n     * Returns the machine type as a string, such as arm, aarch64, mips, mips64, ppc64, ppc64le, s390, s390x, i386, i686, x86_64.\n     *\n     * On POSIX systems, the machine type is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname).\n     * On Windows, `RtlGetVersion()` is used, and if it is not available, `GetVersionExW()` will be used.\n     * See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.\n     * @since v18.9.0\n     */\n    function machine(): string;\n    /**\n     * Returns the operating system's default directory for temporary files as a\n     * string.\n     * @since v0.9.9\n     */\n    function tmpdir(): string;\n    /**\n     * Returns a string identifying the endianness of the CPU for which the Node.js\n     * binary was compiled.\n     *\n     * Possible values are `'BE'` for big endian and `'LE'` for little endian.\n     * @since v0.9.4\n     */\n    function endianness(): \"BE\" | \"LE\";\n    /**\n     * Returns the scheduling priority for the process specified by `pid`. If `pid` is\n     * not provided or is `0`, the priority of the current process is returned.\n     * @since v10.10.0\n     * @param [pid=0] The process ID to retrieve scheduling priority for.\n     */\n    function getPriority(pid?: number): number;\n    /**\n     * Attempts to set the scheduling priority for the process specified by `pid`. If`pid` is not provided or is `0`, the process ID of the current process is used.\n     *\n     * The `priority` input must be an integer between `-20` (high priority) and `19` (low priority). Due to differences between Unix priority levels and Windows\n     * priority classes, `priority` is mapped to one of six priority constants in`os.constants.priority`. When retrieving a process priority level, this range\n     * mapping may cause the return value to be slightly different on Windows. To avoid\n     * confusion, set `priority` to one of the priority constants.\n     *\n     * On Windows, setting priority to `PRIORITY_HIGHEST` requires elevated user\n     * privileges. Otherwise the set priority will be silently reduced to`PRIORITY_HIGH`.\n     * @since v10.10.0\n     * @param [pid=0] The process ID to set scheduling priority for.\n     * @param priority The scheduling priority to assign to the process.\n     */\n    function setPriority(priority: number): void;\n    function setPriority(pid: number, priority: number): void;\n}\ndeclare module \"node:os\" {\n    export * from \"os\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/path.d.ts",
      "content": "declare module \"path/posix\" {\n    import path = require(\"path\");\n    export = path;\n}\ndeclare module \"path/win32\" {\n    import path = require(\"path\");\n    export = path;\n}\n/**\n * The `path` module provides utilities for working with file and directory paths.\n * It can be accessed using:\n *\n * ```js\n * import path from 'node:path';\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/path.js)\n */\ndeclare module \"path\" {\n    namespace path {\n        /**\n         * A parsed path object generated by path.parse() or consumed by path.format().\n         */\n        interface ParsedPath {\n            /**\n             * The root of the path such as '/' or 'c:\\'\n             */\n            root: string;\n            /**\n             * The full directory path such as '/home/user/dir' or 'c:\\path\\dir'\n             */\n            dir: string;\n            /**\n             * The file name including extension (if any) such as 'index.html'\n             */\n            base: string;\n            /**\n             * The file extension (if any) such as '.html'\n             */\n            ext: string;\n            /**\n             * The file name without extension (if any) such as 'index'\n             */\n            name: string;\n        }\n        interface FormatInputPathObject {\n            /**\n             * The root of the path such as '/' or 'c:\\'\n             */\n            root?: string | undefined;\n            /**\n             * The full directory path such as '/home/user/dir' or 'c:\\path\\dir'\n             */\n            dir?: string | undefined;\n            /**\n             * The file name including extension (if any) such as 'index.html'\n             */\n            base?: string | undefined;\n            /**\n             * The file extension (if any) such as '.html'\n             */\n            ext?: string | undefined;\n            /**\n             * The file name without extension (if any) such as 'index'\n             */\n            name?: string | undefined;\n        }\n        interface PlatformPath {\n            /**\n             * Normalize a string path, reducing '..' and '.' parts.\n             * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used.\n             *\n             * @param path string path to normalize.\n             * @throws {TypeError} if `path` is not a string.\n             */\n            normalize(path: string): string;\n            /**\n             * Join all arguments together and normalize the resulting path.\n             *\n             * @param paths paths to join.\n             * @throws {TypeError} if any of the path segments is not a string.\n             */\n            join(...paths: string[]): string;\n            /**\n             * The right-most parameter is considered {to}. Other parameters are considered an array of {from}.\n             *\n             * Starting from leftmost {from} parameter, resolves {to} to an absolute path.\n             *\n             * If {to} isn't already absolute, {from} arguments are prepended in right to left order,\n             * until an absolute path is found. If after using all {from} paths still no absolute path is found,\n             * the current working directory is used as well. The resulting path is normalized,\n             * and trailing slashes are removed unless the path gets resolved to the root directory.\n             *\n             * @param paths A sequence of paths or path segments.\n             * @throws {TypeError} if any of the arguments is not a string.\n             */\n            resolve(...paths: string[]): string;\n            /**\n             * Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory.\n             *\n             * If the given {path} is a zero-length string, `false` will be returned.\n             *\n             * @param path path to test.\n             * @throws {TypeError} if `path` is not a string.\n             */\n            isAbsolute(path: string): boolean;\n            /**\n             * Solve the relative path from {from} to {to} based on the current working directory.\n             * At times we have two absolute paths, and we need to derive the relative path from one to the other. This is actually the reverse transform of path.resolve.\n             *\n             * @throws {TypeError} if either `from` or `to` is not a string.\n             */\n            relative(from: string, to: string): string;\n            /**\n             * Return the directory name of a path. Similar to the Unix dirname command.\n             *\n             * @param path the path to evaluate.\n             * @throws {TypeError} if `path` is not a string.\n             */\n            dirname(path: string): string;\n            /**\n             * Return the last portion of a path. Similar to the Unix basename command.\n             * Often used to extract the file name from a fully qualified path.\n             *\n             * @param path the path to evaluate.\n             * @param suffix optionally, an extension to remove from the result.\n             * @throws {TypeError} if `path` is not a string or if `ext` is given and is not a string.\n             */\n            basename(path: string, suffix?: string): string;\n            /**\n             * Return the extension of the path, from the last '.' to end of string in the last portion of the path.\n             * If there is no '.' in the last portion of the path or the first character of it is '.', then it returns an empty string.\n             *\n             * @param path the path to evaluate.\n             * @throws {TypeError} if `path` is not a string.\n             */\n            extname(path: string): string;\n            /**\n             * The platform-specific file separator. '\\\\' or '/'.\n             */\n            readonly sep: \"\\\\\" | \"/\";\n            /**\n             * The platform-specific file delimiter. ';' or ':'.\n             */\n            readonly delimiter: \";\" | \":\";\n            /**\n             * Returns an object from a path string - the opposite of format().\n             *\n             * @param path path to evaluate.\n             * @throws {TypeError} if `path` is not a string.\n             */\n            parse(path: string): ParsedPath;\n            /**\n             * Returns a path string from an object - the opposite of parse().\n             *\n             * @param pathObject path to evaluate.\n             */\n            format(pathObject: FormatInputPathObject): string;\n            /**\n             * On Windows systems only, returns an equivalent namespace-prefixed path for the given path.\n             * If path is not a string, path will be returned without modifications.\n             * This method is meaningful only on Windows system.\n             * On POSIX systems, the method is non-operational and always returns path without modifications.\n             */\n            toNamespacedPath(path: string): string;\n            /**\n             * Posix specific pathing.\n             * Same as parent object on posix.\n             */\n            readonly posix: PlatformPath;\n            /**\n             * Windows specific pathing.\n             * Same as parent object on windows\n             */\n            readonly win32: PlatformPath;\n        }\n    }\n    const path: path.PlatformPath;\n    export = path;\n}\ndeclare module \"node:path\" {\n    import path = require(\"path\");\n    export = path;\n}\ndeclare module \"node:path/posix\" {\n    import path = require(\"path/posix\");\n    export = path;\n}\ndeclare module \"node:path/win32\" {\n    import path = require(\"path/win32\");\n    export = path;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/perf_hooks.d.ts",
      "content": "/**\n * This module provides an implementation of a subset of the W3C [Web Performance APIs](https://w3c.github.io/perf-timing-primer/) as well as additional APIs for\n * Node.js-specific performance measurements.\n *\n * Node.js supports the following [Web Performance APIs](https://w3c.github.io/perf-timing-primer/):\n *\n * * [High Resolution Time](https://www.w3.org/TR/hr-time-2)\n * * [Performance Timeline](https://w3c.github.io/performance-timeline/)\n * * [User Timing](https://www.w3.org/TR/user-timing/)\n *\n * ```js\n * import { PerformanceObserver, performance } from 'node:perf_hooks';\n *\n * const obs = new PerformanceObserver((items) => {\n *   console.log(items.getEntries()[0].duration);\n *   performance.clearMarks();\n * });\n * obs.observe({ type: 'measure' });\n * performance.measure('Start to Now');\n *\n * performance.mark('A');\n * doSomeLongRunningProcess(() => {\n *   performance.measure('A to Now', 'A');\n *\n *   performance.mark('B');\n *   performance.measure('A to B', 'A', 'B');\n * });\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.20.5/lib/perf_hooks.js)\n */\ndeclare module \"perf_hooks\" {\n    import { AsyncResource } from \"node:async_hooks\";\n    type EntryType =\n        | \"dns\" // Node.js only\n        | \"function\" // Node.js only\n        | \"gc\" // Node.js only\n        | \"http2\" // Node.js only\n        | \"http\" // Node.js only\n        | \"mark\" // available on the Web\n        | \"measure\" // available on the Web\n        | \"net\" // Node.js only\n        | \"node\" // Node.js only\n        | \"resource\"; // available on the Web\n    interface NodeGCPerformanceDetail {\n        /**\n         * When `performanceEntry.entryType` is equal to 'gc', `the performance.kind` property identifies\n         * the type of garbage collection operation that occurred.\n         * See perf_hooks.constants for valid values.\n         */\n        readonly kind?: number | undefined;\n        /**\n         * When `performanceEntry.entryType` is equal to 'gc', the `performance.flags`\n         * property contains additional information about garbage collection operation.\n         * See perf_hooks.constants for valid values.\n         */\n        readonly flags?: number | undefined;\n    }\n    /**\n     * @since v8.5.0\n     */\n    class PerformanceEntry {\n        protected constructor();\n        /**\n         * The total number of milliseconds elapsed for this entry. This value will not\n         * be meaningful for all Performance Entry types.\n         * @since v8.5.0\n         */\n        readonly duration: number;\n        /**\n         * The name of the performance entry.\n         * @since v8.5.0\n         */\n        readonly name: string;\n        /**\n         * The high resolution millisecond timestamp marking the starting time of the\n         * Performance Entry.\n         * @since v8.5.0\n         */\n        readonly startTime: number;\n        /**\n         * The type of the performance entry. It may be one of:\n         *\n         * * `'node'` (Node.js only)\n         * * `'mark'` (available on the Web)\n         * * `'measure'` (available on the Web)\n         * * `'gc'` (Node.js only)\n         * * `'function'` (Node.js only)\n         * * `'http2'` (Node.js only)\n         * * `'http'` (Node.js only)\n         * @since v8.5.0\n         */\n        readonly entryType: EntryType;\n        /**\n         * Additional detail specific to the `entryType`.\n         * @since v16.0.0\n         */\n        readonly detail?: NodeGCPerformanceDetail | unknown | undefined; // TODO: Narrow this based on entry type.\n        toJSON(): any;\n    }\n    class PerformanceMark extends PerformanceEntry {\n        readonly duration: 0;\n        readonly entryType: \"mark\";\n    }\n    class PerformanceMeasure extends PerformanceEntry {\n        readonly entryType: \"measure\";\n    }\n    /**\n     * _This property is an extension by Node.js. It is not available in Web browsers._\n     *\n     * Provides timing details for Node.js itself. The constructor of this class\n     * is not exposed to users.\n     * @since v8.5.0\n     */\n    class PerformanceNodeTiming extends PerformanceEntry {\n        /**\n         * The high resolution millisecond timestamp at which the Node.js process\n         * completed bootstrapping. If bootstrapping has not yet finished, the property\n         * has the value of -1.\n         * @since v8.5.0\n         */\n        readonly bootstrapComplete: number;\n        /**\n         * The high resolution millisecond timestamp at which the Node.js environment was\n         * initialized.\n         * @since v8.5.0\n         */\n        readonly environment: number;\n        /**\n         * The high resolution millisecond timestamp of the amount of time the event loop\n         * has been idle within the event loop's event provider (e.g. `epoll_wait`). This\n         * does not take CPU usage into consideration. If the event loop has not yet\n         * started (e.g., in the first tick of the main script), the property has the\n         * value of 0.\n         * @since v14.10.0, v12.19.0\n         */\n        readonly idleTime: number;\n        /**\n         * The high resolution millisecond timestamp at which the Node.js event loop\n         * exited. If the event loop has not yet exited, the property has the value of -1\\.\n         * It can only have a value of not -1 in a handler of the `'exit'` event.\n         * @since v8.5.0\n         */\n        readonly loopExit: number;\n        /**\n         * The high resolution millisecond timestamp at which the Node.js event loop\n         * started. If the event loop has not yet started (e.g., in the first tick of the\n         * main script), the property has the value of -1.\n         * @since v8.5.0\n         */\n        readonly loopStart: number;\n        /**\n         * The high resolution millisecond timestamp at which the Node.js process was initialized.\n         * @since v8.5.0\n         */\n        readonly nodeStart: number;\n        /**\n         * The high resolution millisecond timestamp at which the V8 platform was\n         * initialized.\n         * @since v8.5.0\n         */\n        readonly v8Start: number;\n    }\n    interface EventLoopUtilization {\n        idle: number;\n        active: number;\n        utilization: number;\n    }\n    /**\n     * @param utilization1 The result of a previous call to `eventLoopUtilization()`.\n     * @param utilization2 The result of a previous call to `eventLoopUtilization()` prior to `utilization1`.\n     */\n    type EventLoopUtilityFunction = (\n        utilization1?: EventLoopUtilization,\n        utilization2?: EventLoopUtilization,\n    ) => EventLoopUtilization;\n    interface MarkOptions {\n        /**\n         * Additional optional detail to include with the mark.\n         */\n        detail?: unknown | undefined;\n        /**\n         * An optional timestamp to be used as the mark time.\n         * @default `performance.now()`\n         */\n        startTime?: number | undefined;\n    }\n    interface MeasureOptions {\n        /**\n         * Additional optional detail to include with the mark.\n         */\n        detail?: unknown | undefined;\n        /**\n         * Duration between start and end times.\n         */\n        duration?: number | undefined;\n        /**\n         * Timestamp to be used as the end time, or a string identifying a previously recorded mark.\n         */\n        end?: number | string | undefined;\n        /**\n         * Timestamp to be used as the start time, or a string identifying a previously recorded mark.\n         */\n        start?: number | string | undefined;\n    }\n    interface TimerifyOptions {\n        /**\n         * A histogram object created using `perf_hooks.createHistogram()` that will record runtime\n         * durations in nanoseconds.\n         */\n        histogram?: RecordableHistogram | undefined;\n    }\n    interface Performance {\n        /**\n         * If `name` is not provided, removes all `PerformanceMark` objects from the Performance Timeline.\n         * If `name` is provided, removes only the named mark.\n         * @param name\n         * @since v8.5.0\n         */\n        clearMarks(name?: string): void;\n        /**\n         * If `name` is not provided, removes all `PerformanceMeasure` objects from the Performance Timeline.\n         * If `name` is provided, removes only the named measure.\n         * @param name\n         * @since v16.7.0\n         */\n        clearMeasures(name?: string): void;\n        /**\n         * If `name` is not provided, removes all `PerformanceResourceTiming` objects from the Resource Timeline.\n         * If `name` is provided, removes only the named resource.\n         * @since v18.2.0, v16.17.0\n         */\n        clearResourceTimings(name?: string): void;\n        /**\n         * eventLoopUtilization is similar to CPU utilization except that it is calculated using high precision wall-clock time.\n         * It represents the percentage of time the event loop has spent outside the event loop's event provider (e.g. epoll_wait).\n         * No other CPU idle time is taken into consideration.\n         */\n        eventLoopUtilization: EventLoopUtilityFunction;\n        /**\n         * Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`.\n         * If you are only interested in performance entries of certain types or that have certain names, see\n         * `performance.getEntriesByType()` and `performance.getEntriesByName()`.\n         * @since v16.7.0\n         */\n        getEntries(): PerformanceEntry[];\n        /**\n         * Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`\n         * whose `performanceEntry.name` is equal to `name`, and optionally, whose `performanceEntry.entryType` is equal to `type`.\n         * @param name\n         * @param type\n         * @since v16.7.0\n         */\n        getEntriesByName(name: string, type?: EntryType): PerformanceEntry[];\n        /**\n         * Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`\n         * whose `performanceEntry.entryType` is equal to `type`.\n         * @param type\n         * @since v16.7.0\n         */\n        getEntriesByType(type: EntryType): PerformanceEntry[];\n        /**\n         * Creates a new `PerformanceMark` entry in the Performance Timeline.\n         * A `PerformanceMark` is a subclass of `PerformanceEntry` whose `performanceEntry.entryType` is always `'mark'`,\n         * and whose `performanceEntry.duration` is always `0`.\n         * Performance marks are used to mark specific significant moments in the Performance Timeline.\n         *\n         * The created `PerformanceMark` entry is put in the global Performance Timeline and can be queried with\n         * `performance.getEntries`, `performance.getEntriesByName`, and `performance.getEntriesByType`. When the observation is\n         * performed, the entries should be cleared from the global Performance Timeline manually with `performance.clearMarks`.\n         * @param name\n         * @return The PerformanceMark entry that was created\n         */\n        mark(name: string, options?: MarkOptions): PerformanceMark;\n        /**\n         * Creates a new `PerformanceResourceTiming` entry in the Resource Timeline.\n         * A `PerformanceResourceTiming` is a subclass of `PerformanceEntry` whose `performanceEntry.entryType` is always `'resource'`.\n         * Performance resources are used to mark moments in the Resource Timeline.\n         * @param timingInfo [Fetch Timing Info](https://fetch.spec.whatwg.org/#fetch-timing-info)\n         * @param requestedUrl The resource url\n         * @param initiatorType The initiator name, e.g: 'fetch'\n         * @param global\n         * @param cacheMode The cache mode must be an empty string ('') or 'local'\n         * @since v18.2.0, v16.17.0\n         */\n        markResourceTiming(\n            timingInfo: object,\n            requestedUrl: string,\n            initiatorType: string,\n            global: object,\n            cacheMode: \"\" | \"local\",\n        ): PerformanceResourceTiming;\n        /**\n         * Creates a new PerformanceMeasure entry in the Performance Timeline.\n         * A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure',\n         * and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark.\n         *\n         * The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify\n         * any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist,\n         * then startMark is set to timeOrigin by default.\n         *\n         * The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp\n         * properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown.\n         * @param name\n         * @param startMark\n         * @param endMark\n         * @return The PerformanceMeasure entry that was created\n         */\n        measure(name: string, startMark?: string, endMark?: string): PerformanceMeasure;\n        measure(name: string, options: MeasureOptions): PerformanceMeasure;\n        /**\n         * _This property is an extension by Node.js. It is not available in Web browsers._\n         *\n         * An instance of the `PerformanceNodeTiming` class that provides performance metrics for specific Node.js operational milestones.\n         * @since v8.5.0\n         */\n        readonly nodeTiming: PerformanceNodeTiming;\n        /**\n         * Returns the current high resolution millisecond timestamp, where 0 represents the start of the current `node` process.\n         * @since v8.5.0\n         */\n        now(): number;\n        /**\n         * Sets the global performance resource timing buffer size to the specified number of \"resource\" type performance entry objects.\n         *\n         * By default the max buffer size is set to 250.\n         * @since v18.8.0\n         */\n        setResourceTimingBufferSize(maxSize: number): void;\n        /**\n         * The [`timeOrigin`](https://w3c.github.io/hr-time/#dom-performance-timeorigin) specifies the high resolution millisecond timestamp\n         * at which the current `node` process began, measured in Unix time.\n         * @since v8.5.0\n         * Sets the global performance resource timing buffer size to the specified number of \"resource\" type performance entry objects.\n         *\n         * By default the max buffer size is set to 250.\n         * @since v18.8.0\n         */\n        setResourceTimingBufferSize(maxSize: number): void;\n        /**\n         * The [`timeOrigin`](https://w3c.github.io/hr-time/#dom-performance-timeorigin) specifies the high resolution millisecond timestamp\n         * at which the current `node` process began, measured in Unix time.\n         * @since v8.5.0\n        /**\n         */\n        readonly timeOrigin: number;\n        /**\n         * _This property is an extension by Node.js. It is not available in Web browsers._\n         *\n         * Wraps a function within a new function that measures the running time of the wrapped function.\n         * A `PerformanceObserver` must be subscribed to the `'function'` event type in order for the timing details to be accessed.\n         *\n         * ```js\n         * const {\n         *   performance,\n         *   PerformanceObserver,\n         * } = require('node:perf_hooks');\n         *\n         * function someFunction() {\n         *   console.log('hello world');\n         * }\n         *\n         * const wrapped = performance.timerify(someFunction);\n         *\n         * const obs = new PerformanceObserver((list) => {\n         *   console.log(list.getEntries()[0].duration);\n         *\n         *   performance.clearMarks();\n         *   performance.clearMeasures();\n         *   obs.disconnect();\n         * });\n         * obs.observe({ entryTypes: ['function'] });\n         *\n         * // A performance timeline entry will be created\n         * wrapped();\n         * ```\n         *\n         * If the wrapped function returns a promise, a finally handler will be attached to the promise and the duration will be reported\n         * once the finally handler is invoked.\n         * @param fn\n         */\n        timerify<T extends (...params: any[]) => any>(fn: T, options?: TimerifyOptions): T;\n        /**\n         * An object which is JSON representation of the performance object. It is similar to\n         * [`window.performance.toJSON`](https://developer.mozilla.org/en-US/docs/Web/API/Performance/toJSON) in browsers.\n         * @since v16.1.0\n         */\n        toJSON(): any;\n    }\n    class PerformanceObserverEntryList {\n        /**\n         * Returns a list of `PerformanceEntry` objects in chronological order\n         * with respect to `performanceEntry.startTime`.\n         *\n         * ```js\n         * import {\n         *   performance,\n         *   PerformanceObserver\n         * } from 'node:perf_hooks';\n         *\n         * const obs = new PerformanceObserver((perfObserverList, observer) => {\n         *   console.log(perfObserverList.getEntries());\n         *\n         *    * [\n         *    *   PerformanceEntry {\n         *    *     name: 'test',\n         *    *     entryType: 'mark',\n         *    *     startTime: 81.465639,\n         *    *     duration: 0\n         *    *   },\n         *    *   PerformanceEntry {\n         *    *     name: 'meow',\n         *    *     entryType: 'mark',\n         *    *     startTime: 81.860064,\n         *    *     duration: 0\n         *    *   }\n         *    * ]\n         *\n         *   performance.clearMarks();\n         *   performance.clearMeasures();\n         *   observer.disconnect();\n         * });\n         * obs.observe({ type: 'mark' });\n         *\n         * performance.mark('test');\n         * performance.mark('meow');\n         * ```\n         * @since v8.5.0\n         */\n        getEntries(): PerformanceEntry[];\n        /**\n         * Returns a list of `PerformanceEntry` objects in chronological order\n         * with respect to `performanceEntry.startTime` whose `performanceEntry.name` is\n         * equal to `name`, and optionally, whose `performanceEntry.entryType` is equal to`type`.\n         *\n         * ```js\n         * import {\n         *   performance,\n         *   PerformanceObserver\n         * } from 'node:perf_hooks';\n         *\n         * const obs = new PerformanceObserver((perfObserverList, observer) => {\n         *   console.log(perfObserverList.getEntriesByName('meow'));\n         *\n         *    * [\n         *    *   PerformanceEntry {\n         *    *     name: 'meow',\n         *    *     entryType: 'mark',\n         *    *     startTime: 98.545991,\n         *    *     duration: 0\n         *    *   }\n         *    * ]\n         *\n         *   console.log(perfObserverList.getEntriesByName('nope')); // []\n         *\n         *   console.log(perfObserverList.getEntriesByName('test', 'mark'));\n         *\n         *    * [\n         *    *   PerformanceEntry {\n         *    *     name: 'test',\n         *    *     entryType: 'mark',\n         *    *     startTime: 63.518931,\n         *    *     duration: 0\n         *    *   }\n         *    * ]\n         *\n         *   console.log(perfObserverList.getEntriesByName('test', 'measure')); // []\n         *\n         *   performance.clearMarks();\n         *   performance.clearMeasures();\n         *   observer.disconnect();\n         * });\n         * obs.observe({ entryTypes: ['mark', 'measure'] });\n         *\n         * performance.mark('test');\n         * performance.mark('meow');\n         * ```\n         * @since v8.5.0\n         */\n        getEntriesByName(name: string, type?: EntryType): PerformanceEntry[];\n        /**\n         * Returns a list of `PerformanceEntry` objects in chronological order\n         * with respect to `performanceEntry.startTime` whose `performanceEntry.entryType`is equal to `type`.\n         *\n         * ```js\n         * import {\n         *   performance,\n         *   PerformanceObserver\n         * } from 'node:perf_hooks';\n         *\n         * const obs = new PerformanceObserver((perfObserverList, observer) => {\n         *   console.log(perfObserverList.getEntriesByType('mark'));\n         *\n         *    * [\n         *    *   PerformanceEntry {\n         *    *     name: 'test',\n         *    *     entryType: 'mark',\n         *    *     startTime: 55.897834,\n         *    *     duration: 0\n         *    *   },\n         *    *   PerformanceEntry {\n         *    *     name: 'meow',\n         *    *     entryType: 'mark',\n         *    *     startTime: 56.350146,\n         *    *     duration: 0\n         *    *   }\n         *    * ]\n         *\n         *   performance.clearMarks();\n         *   performance.clearMeasures();\n         *   observer.disconnect();\n         * });\n         * obs.observe({ type: 'mark' });\n         *\n         * performance.mark('test');\n         * performance.mark('meow');\n         * ```\n         * @since v8.5.0\n         */\n        getEntriesByType(type: EntryType): PerformanceEntry[];\n    }\n    type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void;\n    class PerformanceObserver extends AsyncResource {\n        constructor(callback: PerformanceObserverCallback);\n        /**\n         * Disconnects the `PerformanceObserver` instance from all notifications.\n         * @since v8.5.0\n         */\n        disconnect(): void;\n        /**\n         * Subscribes the `PerformanceObserver` instance to notifications of new `PerformanceEntry` instances identified either by `options.entryTypes` or `options.type`:\n         *\n         * ```js\n         * import {\n         *   performance,\n         *   PerformanceObserver\n         * } from 'node:perf_hooks';\n         *\n         * const obs = new PerformanceObserver((list, observer) => {\n         *   // Called once asynchronously. `list` contains three items.\n         * });\n         * obs.observe({ type: 'mark' });\n         *\n         * for (let n = 0; n < 3; n++)\n         *   performance.mark(`test${n}`);\n         * ```\n         * @since v8.5.0\n         */\n        observe(\n            options:\n                | {\n                    entryTypes: readonly EntryType[];\n                    buffered?: boolean | undefined;\n                }\n                | {\n                    type: EntryType;\n                    buffered?: boolean | undefined;\n                },\n        ): void;\n    }\n    /**\n     * Provides detailed network timing data regarding the loading of an application's resources.\n     *\n     * The constructor of this class is not exposed to users directly.\n     * @since v18.2.0, v16.17.0\n     */\n    class PerformanceResourceTiming extends PerformanceEntry {\n        protected constructor();\n        /**\n         * The high resolution millisecond timestamp at immediately before dispatching the `fetch`\n         * request. If the resource is not intercepted by a worker the property will always return 0.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly workerStart: number;\n        /**\n         * The high resolution millisecond timestamp that represents the start time of the fetch which\n         * initiates the redirect.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly redirectStart: number;\n        /**\n         * The high resolution millisecond timestamp that will be created immediately after receiving\n         * the last byte of the response of the last redirect.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly redirectEnd: number;\n        /**\n         * The high resolution millisecond timestamp immediately before the Node.js starts to fetch the resource.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly fetchStart: number;\n        /**\n         * The high resolution millisecond timestamp immediately before the Node.js starts the domain name lookup\n         * for the resource.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly domainLookupStart: number;\n        /**\n         * The high resolution millisecond timestamp representing the time immediately after the Node.js finished\n         * the domain name lookup for the resource.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly domainLookupEnd: number;\n        /**\n         * The high resolution millisecond timestamp representing the time immediately before Node.js starts to\n         * establish the connection to the server to retrieve the resource.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly connectStart: number;\n        /**\n         * The high resolution millisecond timestamp representing the time immediately after Node.js finishes\n         * establishing the connection to the server to retrieve the resource.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly connectEnd: number;\n        /**\n         * The high resolution millisecond timestamp representing the time immediately before Node.js starts the\n         * handshake process to secure the current connection.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly secureConnectionStart: number;\n        /**\n         * The high resolution millisecond timestamp representing the time immediately before Node.js receives the\n         * first byte of the response from the server.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly requestStart: number;\n        /**\n         * The high resolution millisecond timestamp representing the time immediately after Node.js receives the\n         * last byte of the resource or immediately before the transport connection is closed, whichever comes first.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly responseEnd: number;\n        /**\n         * A number representing the size (in octets) of the fetched resource. The size includes the response header\n         * fields plus the response payload body.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly transferSize: number;\n        /**\n         * A number representing the size (in octets) received from the fetch (HTTP or cache), of the payload body, before\n         * removing any applied content-codings.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly encodedBodySize: number;\n        /**\n         * A number representing the size (in octets) received from the fetch (HTTP or cache), of the message body, after\n         * removing any applied content-codings.\n         * @since v18.2.0, v16.17.0\n         */\n        readonly decodedBodySize: number;\n        /**\n         * Returns a `object` that is the JSON representation of the `PerformanceResourceTiming` object\n         * @since v18.2.0, v16.17.0\n         */\n        toJSON(): any;\n    }\n    namespace constants {\n        const NODE_PERFORMANCE_GC_MAJOR: number;\n        const NODE_PERFORMANCE_GC_MINOR: number;\n        const NODE_PERFORMANCE_GC_INCREMENTAL: number;\n        const NODE_PERFORMANCE_GC_WEAKCB: number;\n        const NODE_PERFORMANCE_GC_FLAGS_NO: number;\n        const NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: number;\n        const NODE_PERFORMANCE_GC_FLAGS_FORCED: number;\n        const NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: number;\n        const NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: number;\n        const NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: number;\n        const NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: number;\n    }\n    const performance: Performance;\n    interface EventLoopMonitorOptions {\n        /**\n         * The sampling rate in milliseconds.\n         * Must be greater than zero.\n         * @default 10\n         */\n        resolution?: number | undefined;\n    }\n    interface Histogram {\n        /**\n         * The number of samples recorded by the histogram.\n         * @since v17.4.0, v16.14.0\n         */\n        readonly count: number;\n        /**\n         * The number of samples recorded by the histogram.\n         * v17.4.0, v16.14.0\n         */\n        readonly countBigInt: bigint;\n        /**\n         * The number of times the event loop delay exceeded the maximum 1 hour event\n         * loop delay threshold.\n         * @since v11.10.0\n         */\n        readonly exceeds: number;\n        /**\n         * The number of times the event loop delay exceeded the maximum 1 hour event loop delay threshold.\n         * @since v17.4.0, v16.14.0\n         */\n        readonly exceedsBigInt: bigint;\n        /**\n         * The maximum recorded event loop delay.\n         * @since v11.10.0\n         */\n        readonly max: number;\n        /**\n         * The maximum recorded event loop delay.\n         * v17.4.0, v16.14.0\n         */\n        readonly maxBigInt: number;\n        /**\n         * The mean of the recorded event loop delays.\n         * @since v11.10.0\n         */\n        readonly mean: number;\n        /**\n         * The minimum recorded event loop delay.\n         * @since v11.10.0\n         */\n        readonly min: number;\n        /**\n         * The minimum recorded event loop delay.\n         * v17.4.0, v16.14.0\n         */\n        readonly minBigInt: bigint;\n        /**\n         * Returns the value at the given percentile.\n         * @since v11.10.0\n         * @param percentile A percentile value in the range (0, 100].\n         */\n        percentile(percentile: number): number;\n        /**\n         * Returns the value at the given percentile.\n         * @since v17.4.0, v16.14.0\n         * @param percentile A percentile value in the range (0, 100].\n         */\n        percentileBigInt(percentile: number): bigint;\n        /**\n         * Returns a `Map` object detailing the accumulated percentile distribution.\n         * @since v11.10.0\n         */\n        readonly percentiles: Map<number, number>;\n        /**\n         * Returns a `Map` object detailing the accumulated percentile distribution.\n         * @since v17.4.0, v16.14.0\n         */\n        readonly percentilesBigInt: Map<bigint, bigint>;\n        /**\n         * Resets the collected histogram data.\n         * @since v11.10.0\n         */\n        reset(): void;\n        /**\n         * The standard deviation of the recorded event loop delays.\n         * @since v11.10.0\n         */\n        readonly stddev: number;\n    }\n    interface IntervalHistogram extends Histogram {\n        /**\n         * Enables the update interval timer. Returns `true` if the timer was\n         * started, `false` if it was already started.\n         * @since v11.10.0\n         */\n        enable(): boolean;\n        /**\n         * Disables the update interval timer. Returns `true` if the timer was\n         * stopped, `false` if it was already stopped.\n         * @since v11.10.0\n         */\n        disable(): boolean;\n    }\n    interface RecordableHistogram extends Histogram {\n        /**\n         * @since v15.9.0, v14.18.0\n         * @param val The amount to record in the histogram.\n         */\n        record(val: number | bigint): void;\n        /**\n         * Calculates the amount of time (in nanoseconds) that has passed since the\n         * previous call to `recordDelta()` and records that amount in the histogram.\n         * @since v15.9.0, v14.18.0\n         */\n        recordDelta(): void;\n        /**\n         * Adds the values from other to this histogram.\n         * @since v17.4.0, v16.14.0\n         * @param other Recordable Histogram to combine with\n         */\n        add(other: RecordableHistogram): void;\n    }\n    /**\n     * _This property is an extension by Node.js. It is not available in Web browsers._\n     *\n     * Creates an `IntervalHistogram` object that samples and reports the event loop\n     * delay over time. The delays will be reported in nanoseconds.\n     *\n     * Using a timer to detect approximate event loop delay works because the\n     * execution of timers is tied specifically to the lifecycle of the libuv\n     * event loop. That is, a delay in the loop will cause a delay in the execution\n     * of the timer, and those delays are specifically what this API is intended to\n     * detect.\n     *\n     * ```js\n     * import { monitorEventLoopDelay } from 'node:perf_hooks';\n     * const h = monitorEventLoopDelay({ resolution: 20 });\n     * h.enable();\n     * // Do something.\n     * h.disable();\n     * console.log(h.min);\n     * console.log(h.max);\n     * console.log(h.mean);\n     * console.log(h.stddev);\n     * console.log(h.percentiles);\n     * console.log(h.percentile(50));\n     * console.log(h.percentile(99));\n     * ```\n     * @since v11.10.0\n     */\n    function monitorEventLoopDelay(options?: EventLoopMonitorOptions): IntervalHistogram;\n    interface CreateHistogramOptions {\n        /**\n         * The minimum recordable value. Must be an integer value greater than 0.\n         * @default 1\n         */\n        lowest?: number | bigint | undefined;\n        /**\n         * The maximum recordable value. Must be an integer value greater than min.\n         * @default Number.MAX_SAFE_INTEGER\n         */\n        highest?: number | bigint | undefined;\n        /**\n         * The number of accuracy digits. Must be a number between 1 and 5.\n         * @default 3\n         */\n        figures?: number | undefined;\n    }\n    /**\n     * Returns a `RecordableHistogram`.\n     * @since v15.9.0, v14.18.0\n     */\n    function createHistogram(options?: CreateHistogramOptions): RecordableHistogram;\n\n    import { performance as _performance } from \"perf_hooks\";\n    global {\n        /**\n         * `performance` is a global reference for `import { performance } from 'node:perf_hooks'`\n         * @see https://nodejs.org/docs/latest-v18.x/api/globals.html#performance\n         * @since v16.0.0\n         */\n        var performance: typeof globalThis extends {\n            onmessage: any;\n            performance: infer T;\n        } ? T\n            : typeof _performance;\n    }\n}\ndeclare module \"node:perf_hooks\" {\n    export * from \"perf_hooks\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/process.d.ts",
      "content": "declare module \"process\" {\n    import * as tty from \"node:tty\";\n    import { Worker } from \"node:worker_threads\";\n    global {\n        var process: NodeJS.Process;\n        namespace NodeJS {\n            // this namespace merge is here because these are specifically used\n            // as the type for process.stdin, process.stdout, and process.stderr.\n            // they can't live in tty.d.ts because we need to disambiguate the imported name.\n            interface ReadStream extends tty.ReadStream {}\n            interface WriteStream extends tty.WriteStream {}\n            interface MemoryUsageFn {\n                /**\n                 * The `process.memoryUsage()` method iterate over each page to gather informations about memory\n                 * usage which can be slow depending on the program memory allocations.\n                 */\n                (): MemoryUsage;\n                /**\n                 * method returns an integer representing the Resident Set Size (RSS) in bytes.\n                 */\n                rss(): number;\n            }\n            interface MemoryUsage {\n                rss: number;\n                heapTotal: number;\n                heapUsed: number;\n                external: number;\n                arrayBuffers: number;\n            }\n            interface CpuUsage {\n                user: number;\n                system: number;\n            }\n            interface ProcessRelease {\n                name: string;\n                sourceUrl?: string | undefined;\n                headersUrl?: string | undefined;\n                libUrl?: string | undefined;\n                lts?: string | undefined;\n            }\n            interface ProcessVersions extends Dict<string> {\n                http_parser: string;\n                node: string;\n                v8: string;\n                ares: string;\n                uv: string;\n                zlib: string;\n                modules: string;\n                openssl: string;\n            }\n            type Platform =\n                | \"aix\"\n                | \"android\"\n                | \"darwin\"\n                | \"freebsd\"\n                | \"haiku\"\n                | \"linux\"\n                | \"openbsd\"\n                | \"sunos\"\n                | \"win32\"\n                | \"cygwin\"\n                | \"netbsd\";\n            type Architecture =\n                | \"arm\"\n                | \"arm64\"\n                | \"ia32\"\n                | \"mips\"\n                | \"mipsel\"\n                | \"ppc\"\n                | \"ppc64\"\n                | \"s390\"\n                | \"s390x\"\n                | \"x64\";\n            type Signals =\n                | \"SIGABRT\"\n                | \"SIGALRM\"\n                | \"SIGBUS\"\n                | \"SIGCHLD\"\n                | \"SIGCONT\"\n                | \"SIGFPE\"\n                | \"SIGHUP\"\n                | \"SIGILL\"\n                | \"SIGINT\"\n                | \"SIGIO\"\n                | \"SIGIOT\"\n                | \"SIGKILL\"\n                | \"SIGPIPE\"\n                | \"SIGPOLL\"\n                | \"SIGPROF\"\n                | \"SIGPWR\"\n                | \"SIGQUIT\"\n                | \"SIGSEGV\"\n                | \"SIGSTKFLT\"\n                | \"SIGSTOP\"\n                | \"SIGSYS\"\n                | \"SIGTERM\"\n                | \"SIGTRAP\"\n                | \"SIGTSTP\"\n                | \"SIGTTIN\"\n                | \"SIGTTOU\"\n                | \"SIGUNUSED\"\n                | \"SIGURG\"\n                | \"SIGUSR1\"\n                | \"SIGUSR2\"\n                | \"SIGVTALRM\"\n                | \"SIGWINCH\"\n                | \"SIGXCPU\"\n                | \"SIGXFSZ\"\n                | \"SIGBREAK\"\n                | \"SIGLOST\"\n                | \"SIGINFO\";\n            type UncaughtExceptionOrigin = \"uncaughtException\" | \"unhandledRejection\";\n            type MultipleResolveType = \"resolve\" | \"reject\";\n            type BeforeExitListener = (code: number) => void;\n            type DisconnectListener = () => void;\n            type ExitListener = (code: number) => void;\n            type RejectionHandledListener = (promise: Promise<unknown>) => void;\n            type UncaughtExceptionListener = (error: Error, origin: UncaughtExceptionOrigin) => void;\n            /**\n             * Most of the time the unhandledRejection will be an Error, but this should not be relied upon\n             * as *anything* can be thrown/rejected, it is therefore unsafe to assume that the value is an Error.\n             */\n            type UnhandledRejectionListener = (reason: unknown, promise: Promise<unknown>) => void;\n            type WarningListener = (warning: Error) => void;\n            type MessageListener = (message: unknown, sendHandle: unknown) => void;\n            type SignalsListener = (signal: Signals) => void;\n            type MultipleResolveListener = (\n                type: MultipleResolveType,\n                promise: Promise<unknown>,\n                value: unknown,\n            ) => void;\n            type WorkerListener = (worker: Worker) => void;\n            interface Socket extends ReadWriteStream {\n                isTTY?: true | undefined;\n            }\n            // Alias for compatibility\n            interface ProcessEnv extends Dict<string> {\n                /**\n                 * Can be used to change the default timezone at runtime\n                 */\n                TZ?: string;\n            }\n            interface HRTime {\n                /**\n                 * This is the legacy version of {@link process.hrtime.bigint()}\n                 * before bigint was introduced in JavaScript.\n                 *\n                 * The `process.hrtime()` method returns the current high-resolution real time in a `[seconds, nanoseconds]` tuple `Array`,\n                 * where `nanoseconds` is the remaining part of the real time that can't be represented in second precision.\n                 *\n                 * `time` is an optional parameter that must be the result of a previous `process.hrtime()` call to diff with the current time.\n                 * If the parameter passed in is not a tuple `Array`, a TypeError will be thrown.\n                 * Passing in a user-defined array instead of the result of a previous call to `process.hrtime()` will lead to undefined behavior.\n                 *\n                 * These times are relative to an arbitrary time in the past,\n                 * and not related to the time of day and therefore not subject to clock drift.\n                 * The primary use is for measuring performance between intervals:\n                 * ```js\n                 * const { hrtime } = require('node:process');\n                 * const NS_PER_SEC = 1e9;\n                 * const time = hrtime();\n                 * // [ 1800216, 25 ]\n                 *\n                 * setTimeout(() => {\n                 *   const diff = hrtime(time);\n                 *   // [ 1, 552 ]\n                 *\n                 *   console.log(`Benchmark took ${diff[0] * NS_PER_SEC + diff[1]} nanoseconds`);\n                 *   // Benchmark took 1000000552 nanoseconds\n                 * }, 1000);\n                 * ```\n                 * @since 0.7.6\n                 * @legacy Use {@link process.hrtime.bigint()} instead.\n                 * @param time The result of a previous call to `process.hrtime()`\n                 */\n                (time?: [number, number]): [number, number];\n                /**\n                 * The `bigint` version of the {@link process.hrtime()} method returning the current high-resolution real time in nanoseconds as a `bigint`.\n                 *\n                 * Unlike {@link process.hrtime()}, it does not support an additional time argument since the difference can just be computed directly by subtraction of the two `bigint`s.\n                 * ```js\n                 * import { hrtime } from 'node:process';\n                 *\n                 * const start = hrtime.bigint();\n                 * // 191051479007711n\n                 *\n                 * setTimeout(() => {\n                 *   const end = hrtime.bigint();\n                 *   // 191052633396993n\n                 *\n                 *   console.log(`Benchmark took ${end - start} nanoseconds`);\n                 *   // Benchmark took 1154389282 nanoseconds\n                 * }, 1000);\n                 * ```\n                 * @since v10.7.0\n                 */\n                bigint(): bigint;\n            }\n            interface ProcessReport {\n                /**\n                 * Write reports in a compact format, single-line JSON, more easily consumable by log processing systems\n                 * than the default multi-line format designed for human consumption.\n                 * @since v13.12.0, v12.17.0\n                 */\n                compact: boolean;\n                /**\n                 * Directory where the report is written.\n                 * The default value is the empty string, indicating that reports are written to the current\n                 * working directory of the Node.js process.\n                 */\n                directory: string;\n                /**\n                 * Filename where the report is written. If set to the empty string, the output filename will be comprised\n                 * of a timestamp, PID, and sequence number. The default value is the empty string.\n                 */\n                filename: string;\n                /**\n                 * Returns a JavaScript Object representation of a diagnostic report for the running process.\n                 * The report's JavaScript stack trace is taken from `err`, if present.\n                 */\n                getReport(err?: Error): object;\n                /**\n                 * If true, a diagnostic report is generated on fatal errors,\n                 * such as out of memory errors or failed C++ assertions.\n                 * @default false\n                 */\n                reportOnFatalError: boolean;\n                /**\n                 * If true, a diagnostic report is generated when the process\n                 * receives the signal specified by process.report.signal.\n                 * @default false\n                 */\n                reportOnSignal: boolean;\n                /**\n                 * If true, a diagnostic report is generated on uncaught exception.\n                 * @default false\n                 */\n                reportOnUncaughtException: boolean;\n                /**\n                 * The signal used to trigger the creation of a diagnostic report.\n                 * @default 'SIGUSR2'\n                 */\n                signal: Signals;\n                /**\n                 * Writes a diagnostic report to a file. If filename is not provided, the default filename\n                 * includes the date, time, PID, and a sequence number.\n                 * The report's JavaScript stack trace is taken from `err`, if present.\n                 *\n                 * If the value of filename is set to `'stdout'` or `'stderr'`, the report is written\n                 * to the stdout or stderr of the process respectively.\n                 * @param fileName Name of the file where the report is written.\n                 * This should be a relative path, that will be appended to the directory specified in\n                 * `process.report.directory`, or the current working directory of the Node.js process,\n                 * if unspecified.\n                 * @param err A custom error used for reporting the JavaScript stack.\n                 * @return Filename of the generated report.\n                 */\n                writeReport(fileName?: string, err?: Error): string;\n                writeReport(err?: Error): string;\n            }\n            interface ResourceUsage {\n                fsRead: number;\n                fsWrite: number;\n                involuntaryContextSwitches: number;\n                ipcReceived: number;\n                ipcSent: number;\n                majorPageFault: number;\n                maxRSS: number;\n                minorPageFault: number;\n                sharedMemorySize: number;\n                signalsCount: number;\n                swappedOut: number;\n                systemCPUTime: number;\n                unsharedDataSize: number;\n                unsharedStackSize: number;\n                userCPUTime: number;\n                voluntaryContextSwitches: number;\n            }\n            interface EmitWarningOptions {\n                /**\n                 * When `warning` is a `string`, `type` is the name to use for the _type_ of warning being emitted.\n                 *\n                 * @default 'Warning'\n                 */\n                type?: string | undefined;\n                /**\n                 * A unique identifier for the warning instance being emitted.\n                 */\n                code?: string | undefined;\n                /**\n                 * When `warning` is a `string`, `ctor` is an optional function used to limit the generated stack trace.\n                 *\n                 * @default process.emitWarning\n                 */\n                ctor?: Function | undefined;\n                /**\n                 * Additional text to include with the error.\n                 */\n                detail?: string | undefined;\n            }\n            interface ProcessConfig {\n                readonly target_defaults: {\n                    readonly cflags: any[];\n                    readonly default_configuration: string;\n                    readonly defines: string[];\n                    readonly include_dirs: string[];\n                    readonly libraries: string[];\n                };\n                readonly variables: {\n                    readonly clang: number;\n                    readonly host_arch: string;\n                    readonly node_install_npm: boolean;\n                    readonly node_install_waf: boolean;\n                    readonly node_prefix: string;\n                    readonly node_shared_openssl: boolean;\n                    readonly node_shared_v8: boolean;\n                    readonly node_shared_zlib: boolean;\n                    readonly node_use_dtrace: boolean;\n                    readonly node_use_etw: boolean;\n                    readonly node_use_openssl: boolean;\n                    readonly target_arch: string;\n                    readonly v8_no_strict_aliasing: number;\n                    readonly v8_use_snapshot: boolean;\n                    readonly visibility: string;\n                };\n            }\n            interface Process extends EventEmitter {\n                /**\n                 * The `process.stdout` property returns a stream connected to`stdout` (fd `1`). It is a `net.Socket` (which is a `Duplex` stream) unless fd `1` refers to a file, in which case it is\n                 * a `Writable` stream.\n                 *\n                 * For example, to copy `process.stdin` to `process.stdout`:\n                 *\n                 * ```js\n                 * import { stdin, stdout } from 'process';\n                 *\n                 * stdin.pipe(stdout);\n                 * ```\n                 *\n                 * `process.stdout` differs from other Node.js streams in important ways. See `note on process I/O` for more information.\n                 */\n                stdout: WriteStream & {\n                    fd: 1;\n                };\n                /**\n                 * The `process.stderr` property returns a stream connected to`stderr` (fd `2`). It is a `net.Socket` (which is a `Duplex` stream) unless fd `2` refers to a file, in which case it is\n                 * a `Writable` stream.\n                 *\n                 * `process.stderr` differs from other Node.js streams in important ways. See `note on process I/O` for more information.\n                 */\n                stderr: WriteStream & {\n                    fd: 2;\n                };\n                /**\n                 * The `process.stdin` property returns a stream connected to`stdin` (fd `0`). It is a `net.Socket` (which is a `Duplex` stream) unless fd `0` refers to a file, in which case it is\n                 * a `Readable` stream.\n                 *\n                 * For details of how to read from `stdin` see `readable.read()`.\n                 *\n                 * As a `Duplex` stream, `process.stdin` can also be used in \"old\" mode that\n                 * is compatible with scripts written for Node.js prior to v0.10\\.\n                 * For more information see `Stream compatibility`.\n                 *\n                 * In \"old\" streams mode the `stdin` stream is paused by default, so one\n                 * must call `process.stdin.resume()` to read from it. Note also that calling`process.stdin.resume()` itself would switch stream to \"old\" mode.\n                 */\n                stdin: ReadStream & {\n                    fd: 0;\n                };\n                openStdin(): Socket;\n                /**\n                 * The `process.argv` property returns an array containing the command-line\n                 * arguments passed when the Node.js process was launched. The first element will\n                 * be {@link execPath}. See `process.argv0` if access to the original value\n                 * of `argv[0]` is needed. The second element will be the path to the JavaScript\n                 * file being executed. The remaining elements will be any additional command-line\n                 * arguments.\n                 *\n                 * For example, assuming the following script for `process-args.js`:\n                 *\n                 * ```js\n                 * import { argv } from 'process';\n                 *\n                 * // print process.argv\n                 * argv.forEach((val, index) => {\n                 *   console.log(`${index}: ${val}`);\n                 * });\n                 * ```\n                 *\n                 * Launching the Node.js process as:\n                 *\n                 * ```console\n                 * $ node process-args.js one two=three four\n                 * ```\n                 *\n                 * Would generate the output:\n                 *\n                 * ```text\n                 * 0: /usr/local/bin/node\n                 * 1: /Users/mjr/work/node/process-args.js\n                 * 2: one\n                 * 3: two=three\n                 * 4: four\n                 * ```\n                 * @since v0.1.27\n                 */\n                argv: string[];\n                /**\n                 * The `process.argv0` property stores a read-only copy of the original value of`argv[0]` passed when Node.js starts.\n                 *\n                 * ```console\n                 * $ bash -c 'exec -a customArgv0 ./node'\n                 * > process.argv[0]\n                 * '/Volumes/code/external/node/out/Release/node'\n                 * > process.argv0\n                 * 'customArgv0'\n                 * ```\n                 * @since v6.4.0\n                 */\n                argv0: string;\n                /**\n                 * The `process.execArgv` property returns the set of Node.js-specific command-line\n                 * options passed when the Node.js process was launched. These options do not\n                 * appear in the array returned by the {@link argv} property, and do not\n                 * include the Node.js executable, the name of the script, or any options following\n                 * the script name. These options are useful in order to spawn child processes with\n                 * the same execution environment as the parent.\n                 *\n                 * ```console\n                 * $ node --harmony script.js --version\n                 * ```\n                 *\n                 * Results in `process.execArgv`:\n                 *\n                 * ```js\n                 * ['--harmony']\n                 * ```\n                 *\n                 * And `process.argv`:\n                 *\n                 * ```js\n                 * ['/usr/local/bin/node', 'script.js', '--version']\n                 * ```\n                 *\n                 * Refer to `Worker constructor` for the detailed behavior of worker\n                 * threads with this property.\n                 * @since v0.7.7\n                 */\n                execArgv: string[];\n                /**\n                 * The `process.execPath` property returns the absolute pathname of the executable\n                 * that started the Node.js process. Symbolic links, if any, are resolved.\n                 *\n                 * ```js\n                 * '/usr/local/bin/node'\n                 * ```\n                 * @since v0.1.100\n                 */\n                execPath: string;\n                /**\n                 * The `process.abort()` method causes the Node.js process to exit immediately and\n                 * generate a core file.\n                 *\n                 * This feature is not available in `Worker` threads.\n                 * @since v0.7.0\n                 */\n                abort(): never;\n                /**\n                 * The `process.chdir()` method changes the current working directory of the\n                 * Node.js process or throws an exception if doing so fails (for instance, if\n                 * the specified `directory` does not exist).\n                 *\n                 * ```js\n                 * import { chdir, cwd } from 'process';\n                 *\n                 * console.log(`Starting directory: ${cwd()}`);\n                 * try {\n                 *   chdir('/tmp');\n                 *   console.log(`New directory: ${cwd()}`);\n                 * } catch (err) {\n                 *   console.error(`chdir: ${err}`);\n                 * }\n                 * ```\n                 *\n                 * This feature is not available in `Worker` threads.\n                 * @since v0.1.17\n                 */\n                chdir(directory: string): void;\n                /**\n                 * The `process.cwd()` method returns the current working directory of the Node.js\n                 * process.\n                 *\n                 * ```js\n                 * import { cwd } from 'process';\n                 *\n                 * console.log(`Current directory: ${cwd()}`);\n                 * ```\n                 * @since v0.1.8\n                 */\n                cwd(): string;\n                /**\n                 * The port used by the Node.js debugger when enabled.\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * process.debugPort = 5858;\n                 * ```\n                 * @since v0.7.2\n                 */\n                debugPort: number;\n                /**\n                 * The `process.dlopen()` method allows dynamically loading shared objects. It is primarily used by `require()` to load C++ Addons, and\n                 * should not be used directly, except in special cases. In other words, `require()` should be preferred over `process.dlopen()`\n                 * unless there are specific reasons such as custom dlopen flags or loading from ES modules.\n                 *\n                 * The `flags` argument is an integer that allows to specify dlopen behavior. See the `[os.constants.dlopen](https://nodejs.org/docs/latest-v20.x/api/os.html#dlopen-constants)`\n                 * documentation for details.\n                 *\n                 * An important requirement when calling `process.dlopen()` is that the `module` instance must be passed. Functions exported by the C++ Addon\n                 * are then accessible via `module.exports`.\n                 *\n                 * The example below shows how to load a C++ Addon, named `local.node`, that exports a `foo` function. All the symbols are loaded before the call returns, by passing the `RTLD_NOW` constant.\n                 * In this example the constant is assumed to be available.\n                 *\n                 * ```js\n                 * import { dlopen } from 'node:process';\n                 * import { constants } from 'node:os';\n                 * import { fileURLToPath } from 'node:url';\n                 *\n                 * const module = { exports: {} };\n                 * dlopen(module, fileURLToPath(new URL('local.node', import.meta.url)),\n                 *        constants.dlopen.RTLD_NOW);\n                 * module.exports.foo();\n                 * ```\n                 * @since v0.1.16\n                 */\n                dlopen(module: object, filename: string, flags?: number): void;\n                /**\n                 * The `process.emitWarning()` method can be used to emit custom or application\n                 * specific process warnings. These can be listened for by adding a handler to the `'warning'` event.\n                 *\n                 * ```js\n                 * import { emitWarning } from 'process';\n                 *\n                 * // Emit a warning with a code and additional detail.\n                 * emitWarning('Something happened!', {\n                 *   code: 'MY_WARNING',\n                 *   detail: 'This is some additional information'\n                 * });\n                 * // Emits:\n                 * // (node:56338) [MY_WARNING] Warning: Something happened!\n                 * // This is some additional information\n                 * ```\n                 *\n                 * In this example, an `Error` object is generated internally by`process.emitWarning()` and passed through to the `'warning'` handler.\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * process.on('warning', (warning) => {\n                 *   console.warn(warning.name);    // 'Warning'\n                 *   console.warn(warning.message); // 'Something happened!'\n                 *   console.warn(warning.code);    // 'MY_WARNING'\n                 *   console.warn(warning.stack);   // Stack trace\n                 *   console.warn(warning.detail);  // 'This is some additional information'\n                 * });\n                 * ```\n                 *\n                 * If `warning` is passed as an `Error` object, the `options` argument is ignored.\n                 * @since v8.0.0\n                 * @param warning The warning to emit.\n                 */\n                emitWarning(warning: string | Error, ctor?: Function): void;\n                emitWarning(warning: string | Error, type?: string, ctor?: Function): void;\n                emitWarning(warning: string | Error, type?: string, code?: string, ctor?: Function): void;\n                emitWarning(warning: string | Error, options?: EmitWarningOptions): void;\n                /**\n                 * The `process.env` property returns an object containing the user environment.\n                 * See [`environ(7)`](http://man7.org/linux/man-pages/man7/environ.7.html).\n                 *\n                 * An example of this object looks like:\n                 *\n                 * ```js\n                 * {\n                 *   TERM: 'xterm-256color',\n                 *   SHELL: '/usr/local/bin/bash',\n                 *   USER: 'maciej',\n                 *   PATH: '~/.bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin',\n                 *   PWD: '/Users/maciej',\n                 *   EDITOR: 'vim',\n                 *   SHLVL: '1',\n                 *   HOME: '/Users/maciej',\n                 *   LOGNAME: 'maciej',\n                 *   _: '/usr/local/bin/node'\n                 * }\n                 * ```\n                 *\n                 * It is possible to modify this object, but such modifications will not be\n                 * reflected outside the Node.js process, or (unless explicitly requested)\n                 * to other `Worker` threads.\n                 * In other words, the following example would not work:\n                 *\n                 * ```console\n                 * $ node -e 'process.env.foo = \"bar\"' &#x26;&#x26; echo $foo\n                 * ```\n                 *\n                 * While the following will:\n                 *\n                 * ```js\n                 * import { env } from 'process';\n                 *\n                 * env.foo = 'bar';\n                 * console.log(env.foo);\n                 * ```\n                 *\n                 * Assigning a property on `process.env` will implicitly convert the value\n                 * to a string. **This behavior is deprecated.** Future versions of Node.js may\n                 * throw an error when the value is not a string, number, or boolean.\n                 *\n                 * ```js\n                 * import { env } from 'process';\n                 *\n                 * env.test = null;\n                 * console.log(env.test);\n                 * // => 'null'\n                 * env.test = undefined;\n                 * console.log(env.test);\n                 * // => 'undefined'\n                 * ```\n                 *\n                 * Use `delete` to delete a property from `process.env`.\n                 *\n                 * ```js\n                 * import { env } from 'process';\n                 *\n                 * env.TEST = 1;\n                 * delete env.TEST;\n                 * console.log(env.TEST);\n                 * // => undefined\n                 * ```\n                 *\n                 * On Windows operating systems, environment variables are case-insensitive.\n                 *\n                 * ```js\n                 * import { env } from 'process';\n                 *\n                 * env.TEST = 1;\n                 * console.log(env.test);\n                 * // => 1\n                 * ```\n                 *\n                 * Unless explicitly specified when creating a `Worker` instance,\n                 * each `Worker` thread has its own copy of `process.env`, based on its\n                 * parent thread’s `process.env`, or whatever was specified as the `env` option\n                 * to the `Worker` constructor. Changes to `process.env` will not be visible\n                 * across `Worker` threads, and only the main thread can make changes that\n                 * are visible to the operating system or to native add-ons.\n                 * @since v0.1.27\n                 */\n                env: ProcessEnv;\n                /**\n                 * The `process.exit()` method instructs Node.js to terminate the process\n                 * synchronously with an exit status of `code`. If `code` is omitted, exit uses\n                 * either the 'success' code `0` or the value of `process.exitCode` if it has been\n                 * set. Node.js will not terminate until all the `'exit'` event listeners are\n                 * called.\n                 *\n                 * To exit with a 'failure' code:\n                 *\n                 * ```js\n                 * import { exit } from 'process';\n                 *\n                 * exit(1);\n                 * ```\n                 *\n                 * The shell that executed Node.js should see the exit code as `1`.\n                 *\n                 * Calling `process.exit()` will force the process to exit as quickly as possible\n                 * even if there are still asynchronous operations pending that have not yet\n                 * completed fully, including I/O operations to `process.stdout` and `process.stderr`.\n                 *\n                 * In most situations, it is not actually necessary to call `process.exit()`explicitly. The Node.js process will exit on its own _if there is no additional_\n                 * _work pending_ in the event loop. The `process.exitCode` property can be set to\n                 * tell the process which exit code to use when the process exits gracefully.\n                 *\n                 * For instance, the following example illustrates a _misuse_ of the`process.exit()` method that could lead to data printed to stdout being\n                 * truncated and lost:\n                 *\n                 * ```js\n                 * import { exit } from 'process';\n                 *\n                 * // This is an example of what *not* to do:\n                 * if (someConditionNotMet()) {\n                 *   printUsageToStdout();\n                 *   exit(1);\n                 * }\n                 * ```\n                 *\n                 * The reason this is problematic is because writes to `process.stdout` in Node.js\n                 * are sometimes _asynchronous_ and may occur over multiple ticks of the Node.js\n                 * event loop. Calling `process.exit()`, however, forces the process to exit _before_ those additional writes to `stdout` can be performed.\n                 *\n                 * Rather than calling `process.exit()` directly, the code _should_ set the`process.exitCode` and allow the process to exit naturally by avoiding\n                 * scheduling any additional work for the event loop:\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * // How to properly set the exit code while letting\n                 * // the process exit gracefully.\n                 * if (someConditionNotMet()) {\n                 *   printUsageToStdout();\n                 *   process.exitCode = 1;\n                 * }\n                 * ```\n                 *\n                 * If it is necessary to terminate the Node.js process due to an error condition,\n                 * throwing an _uncaught_ error and allowing the process to terminate accordingly\n                 * is safer than calling `process.exit()`.\n                 *\n                 * In `Worker` threads, this function stops the current thread rather\n                 * than the current process.\n                 * @since v0.1.13\n                 * @param [code=0] The exit code.\n                 */\n                exit(code?: number): never;\n                /**\n                 * A number which will be the process exit code, when the process either\n                 * exits gracefully, or is exited via {@link exit} without specifying\n                 * a code.\n                 *\n                 * Specifying a code to {@link exit} will override any\n                 * previous setting of `process.exitCode`.\n                 * @since v0.11.8\n                 */\n                exitCode?: number | undefined;\n                /**\n                 * The `process.getgid()` method returns the numerical group identity of the\n                 * process. (See [`getgid(2)`](http://man7.org/linux/man-pages/man2/getgid.2.html).)\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * if (process.getgid) {\n                 *   console.log(`Current gid: ${process.getgid()}`);\n                 * }\n                 * ```\n                 *\n                 * This function is only available on POSIX platforms (i.e. not Windows or\n                 * Android).\n                 * @since v0.1.31\n                 */\n                getgid?: () => number;\n                /**\n                 * The `process.setgid()` method sets the group identity of the process. (See [`setgid(2)`](http://man7.org/linux/man-pages/man2/setgid.2.html).) The `id` can be passed as either a\n                 * numeric ID or a group name\n                 * string. If a group name is specified, this method blocks while resolving the\n                 * associated numeric ID.\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * if (process.getgid &#x26;&#x26; process.setgid) {\n                 *   console.log(`Current gid: ${process.getgid()}`);\n                 *   try {\n                 *     process.setgid(501);\n                 *     console.log(`New gid: ${process.getgid()}`);\n                 *   } catch (err) {\n                 *     console.log(`Failed to set gid: ${err}`);\n                 *   }\n                 * }\n                 * ```\n                 *\n                 * This function is only available on POSIX platforms (i.e. not Windows or\n                 * Android).\n                 * This feature is not available in `Worker` threads.\n                 * @since v0.1.31\n                 * @param id The group name or ID\n                 */\n                setgid?: (id: number | string) => void;\n                /**\n                 * The `process.getuid()` method returns the numeric user identity of the process.\n                 * (See [`getuid(2)`](http://man7.org/linux/man-pages/man2/getuid.2.html).)\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * if (process.getuid) {\n                 *   console.log(`Current uid: ${process.getuid()}`);\n                 * }\n                 * ```\n                 *\n                 * This function is only available on POSIX platforms (i.e. not Windows or\n                 * Android).\n                 * @since v0.1.28\n                 */\n                getuid?: () => number;\n                /**\n                 * The `process.setuid(id)` method sets the user identity of the process. (See [`setuid(2)`](http://man7.org/linux/man-pages/man2/setuid.2.html).) The `id` can be passed as either a\n                 * numeric ID or a username string.\n                 * If a username is specified, the method blocks while resolving the associated\n                 * numeric ID.\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * if (process.getuid &#x26;&#x26; process.setuid) {\n                 *   console.log(`Current uid: ${process.getuid()}`);\n                 *   try {\n                 *     process.setuid(501);\n                 *     console.log(`New uid: ${process.getuid()}`);\n                 *   } catch (err) {\n                 *     console.log(`Failed to set uid: ${err}`);\n                 *   }\n                 * }\n                 * ```\n                 *\n                 * This function is only available on POSIX platforms (i.e. not Windows or\n                 * Android).\n                 * This feature is not available in `Worker` threads.\n                 * @since v0.1.28\n                 */\n                setuid?: (id: number | string) => void;\n                /**\n                 * The `process.geteuid()` method returns the numerical effective user identity of\n                 * the process. (See [`geteuid(2)`](http://man7.org/linux/man-pages/man2/geteuid.2.html).)\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * if (process.geteuid) {\n                 *   console.log(`Current uid: ${process.geteuid()}`);\n                 * }\n                 * ```\n                 *\n                 * This function is only available on POSIX platforms (i.e. not Windows or\n                 * Android).\n                 * @since v2.0.0\n                 */\n                geteuid?: () => number;\n                /**\n                 * The `process.seteuid()` method sets the effective user identity of the process.\n                 * (See [`seteuid(2)`](http://man7.org/linux/man-pages/man2/seteuid.2.html).) The `id` can be passed as either a numeric ID or a username\n                 * string. If a username is specified, the method blocks while resolving the\n                 * associated numeric ID.\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * if (process.geteuid &#x26;&#x26; process.seteuid) {\n                 *   console.log(`Current uid: ${process.geteuid()}`);\n                 *   try {\n                 *     process.seteuid(501);\n                 *     console.log(`New uid: ${process.geteuid()}`);\n                 *   } catch (err) {\n                 *     console.log(`Failed to set uid: ${err}`);\n                 *   }\n                 * }\n                 * ```\n                 *\n                 * This function is only available on POSIX platforms (i.e. not Windows or\n                 * Android).\n                 * This feature is not available in `Worker` threads.\n                 * @since v2.0.0\n                 * @param id A user name or ID\n                 */\n                seteuid?: (id: number | string) => void;\n                /**\n                 * The `process.getegid()` method returns the numerical effective group identity\n                 * of the Node.js process. (See [`getegid(2)`](http://man7.org/linux/man-pages/man2/getegid.2.html).)\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * if (process.getegid) {\n                 *   console.log(`Current gid: ${process.getegid()}`);\n                 * }\n                 * ```\n                 *\n                 * This function is only available on POSIX platforms (i.e. not Windows or\n                 * Android).\n                 * @since v2.0.0\n                 */\n                getegid?: () => number;\n                /**\n                 * The `process.setegid()` method sets the effective group identity of the process.\n                 * (See [`setegid(2)`](http://man7.org/linux/man-pages/man2/setegid.2.html).) The `id` can be passed as either a numeric ID or a group\n                 * name string. If a group name is specified, this method blocks while resolving\n                 * the associated a numeric ID.\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * if (process.getegid &#x26;&#x26; process.setegid) {\n                 *   console.log(`Current gid: ${process.getegid()}`);\n                 *   try {\n                 *     process.setegid(501);\n                 *     console.log(`New gid: ${process.getegid()}`);\n                 *   } catch (err) {\n                 *     console.log(`Failed to set gid: ${err}`);\n                 *   }\n                 * }\n                 * ```\n                 *\n                 * This function is only available on POSIX platforms (i.e. not Windows or\n                 * Android).\n                 * This feature is not available in `Worker` threads.\n                 * @since v2.0.0\n                 * @param id A group name or ID\n                 */\n                setegid?: (id: number | string) => void;\n                /**\n                 * The `process.getgroups()` method returns an array with the supplementary group\n                 * IDs. POSIX leaves it unspecified if the effective group ID is included but\n                 * Node.js ensures it always is.\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * if (process.getgroups) {\n                 *   console.log(process.getgroups()); // [ 16, 21, 297 ]\n                 * }\n                 * ```\n                 *\n                 * This function is only available on POSIX platforms (i.e. not Windows or\n                 * Android).\n                 * @since v0.9.4\n                 */\n                getgroups?: () => number[];\n                /**\n                 * The `process.setgroups()` method sets the supplementary group IDs for the\n                 * Node.js process. This is a privileged operation that requires the Node.js\n                 * process to have `root` or the `CAP_SETGID` capability.\n                 *\n                 * The `groups` array can contain numeric group IDs, group names, or both.\n                 *\n                 * ```js\n                 * import process from 'process';\n                 *\n                 * if (process.getgroups &#x26;&#x26; process.setgroups) {\n                 *   try {\n                 *     process.setgroups([501]);\n                 *     console.log(process.getgroups()); // new groups\n                 *   } catch (err) {\n                 *     console.log(`Failed to set groups: ${err}`);\n                 *   }\n                 * }\n                 * ```\n                 *\n                 * This function is only available on POSIX platforms (i.e. not Windows or\n                 * Android).\n                 * This feature is not available in `Worker` threads.\n                 * @since v0.9.4\n                 */\n                setgroups?: (groups: ReadonlyArray<string | number>) => void;\n                /**\n                 * The `process.setUncaughtExceptionCaptureCallback()` function sets a function\n                 * that will be invoked when an uncaught exception occurs, which will receive the\n                 * exception value itself as its first argument.\n                 *\n                 * If such a function is set, the `'uncaughtException'` event will\n                 * not be emitted. If `--abort-on-uncaught-exception` was passed from the\n                 * command line or set through `v8.setFlagsFromString()`, the process will\n                 * not abort. Actions configured to take place on exceptions such as report\n                 * generations will be affected too\n                 *\n                 * To unset the capture function,`process.setUncaughtExceptionCaptureCallback(null)` may be used. Calling this\n                 * method with a non-`null` argument while another capture function is set will\n                 * throw an error.\n                 *\n                 * Using this function is mutually exclusive with using the deprecated `domain` built-in module.\n                 * @since v9.3.0\n                 */\n                setUncaughtExceptionCaptureCallback(cb: ((err: Error) => void) | null): void;\n                /**\n                 * Indicates whether a callback has been set using {@link setUncaughtExceptionCaptureCallback}.\n                 * @since v9.3.0\n                 */\n                hasUncaughtExceptionCaptureCallback(): boolean;\n                /**\n                 * This function enables or disables the Source Map v3 support for stack traces.\n                 * It provides same features as launching Node.js process with commandline options --enable-source-maps.\n                 * @since v16.6.0\n                 * @experimental\n                 */\n                setSourceMapsEnabled(value: boolean): void;\n                /**\n                 * The `process.sourceMapsEnabled` property returns whether the [Source Map v3](https://sourcemaps.info/spec.html) support for stack traces is enabled.\n                 * @since v18.19.0\n                 * @experimental\n                 */\n                readonly sourceMapsEnabled: boolean;\n                /**\n                 * The `process.version` property contains the Node.js version string.\n                 *\n                 * ```js\n                 * import { version } from 'process';\n                 *\n                 * console.log(`Version: ${version}`);\n                 * // Version: v14.8.0\n                 * ```\n                 *\n                 * To get the version string without the prepended _v_, use`process.versions.node`.\n                 * @since v0.1.3\n                 */\n                readonly version: string;\n                /**\n                 * The `process.versions` property returns an object listing the version strings of\n                 * Node.js and its dependencies. `process.versions.modules` indicates the current\n                 * ABI version, which is increased whenever a C++ API changes. Node.js will refuse\n                 * to load modules that were compiled against a different module ABI version.\n                 *\n                 * ```js\n                 * import { versions } from 'process';\n                 *\n                 * console.log(versions);\n                 * ```\n                 *\n                 * Will generate an object similar to:\n                 *\n                 * ```console\n                 * { node: '11.13.0',\n                 *   v8: '7.0.276.38-node.18',\n                 *   uv: '1.27.0',\n                 *   zlib: '1.2.11',\n                 *   brotli: '1.0.7',\n                 *   ares: '1.15.0',\n                 *   modules: '67',\n                 *   nghttp2: '1.34.0',\n                 *   napi: '4',\n                 *   llhttp: '1.1.1',\n                 *   openssl: '1.1.1b',\n                 *   cldr: '34.0',\n                 *   icu: '63.1',\n                 *   tz: '2018e',\n                 *   unicode: '11.0' }\n                 * ```\n                 * @since v0.2.0\n                 */\n                readonly versions: ProcessVersions;\n                /**\n                 * The `process.config` property returns an `Object` containing the JavaScript\n                 * representation of the configure options used to compile the current Node.js\n                 * executable. This is the same as the `config.gypi` file that was produced when\n                 * running the `./configure` script.\n                 *\n                 * An example of the possible output looks like:\n                 *\n                 * ```js\n                 * {\n                 *   target_defaults:\n                 *    { cflags: [],\n                 *      default_configuration: 'Release',\n                 *      defines: [],\n                 *      include_dirs: [],\n                 *      libraries: [] },\n                 *   variables:\n                 *    {\n                 *      host_arch: 'x64',\n                 *      napi_build_version: 5,\n                 *      node_install_npm: 'true',\n                 *      node_prefix: '',\n                 *      node_shared_cares: 'false',\n                 *      node_shared_http_parser: 'false',\n                 *      node_shared_libuv: 'false',\n                 *      node_shared_zlib: 'false',\n                 *      node_use_dtrace: 'false',\n                 *      node_use_openssl: 'true',\n                 *      node_shared_openssl: 'false',\n                 *      strict_aliasing: 'true',\n                 *      target_arch: 'x64',\n                 *      v8_use_snapshot: 1\n                 *    }\n                 * }\n                 * ```\n                 *\n                 * The `process.config` property is **not** read-only and there are existing\n                 * modules in the ecosystem that are known to extend, modify, or entirely replace\n                 * the value of `process.config`.\n                 *\n                 * Modifying the `process.config` property, or any child-property of the`process.config` object has been deprecated. The `process.config` will be made\n                 * read-only in a future release.\n                 * @since v0.7.7\n                 */\n                readonly config: ProcessConfig;\n                /**\n                 * The `process.kill()` method sends the `signal` to the process identified by`pid`.\n                 *\n                 * Signal names are strings such as `'SIGINT'` or `'SIGHUP'`. See `Signal Events` and [`kill(2)`](http://man7.org/linux/man-pages/man2/kill.2.html) for more information.\n                 *\n                 * This method will throw an error if the target `pid` does not exist. As a special\n                 * case, a signal of `0` can be used to test for the existence of a process.\n                 * Windows platforms will throw an error if the `pid` is used to kill a process\n                 * group.\n                 *\n                 * Even though the name of this function is `process.kill()`, it is really just a\n                 * signal sender, like the `kill` system call. The signal sent may do something\n                 * other than kill the target process.\n                 *\n                 * ```js\n                 * import process, { kill } from 'process';\n                 *\n                 * process.on('SIGHUP', () => {\n                 *   console.log('Got SIGHUP signal.');\n                 * });\n                 *\n                 * setTimeout(() => {\n                 *   console.log('Exiting.');\n                 *   process.exit(0);\n                 * }, 100);\n                 *\n                 * kill(process.pid, 'SIGHUP');\n                 * ```\n                 *\n                 * When `SIGUSR1` is received by a Node.js process, Node.js will start the\n                 * debugger. See `Signal Events`.\n                 * @since v0.0.6\n                 * @param pid A process ID\n                 * @param [signal='SIGTERM'] The signal to send, either as a string or number.\n                 */\n                kill(pid: number, signal?: string | number): true;\n                /**\n                 * The `process.pid` property returns the PID of the process.\n                 *\n                 * ```js\n                 * import { pid } from 'process';\n                 *\n                 * console.log(`This process is pid ${pid}`);\n                 * ```\n                 * @since v0.1.15\n                 */\n                readonly pid: number;\n                /**\n                 * The `process.ppid` property returns the PID of the parent of the\n                 * current process.\n                 *\n                 * ```js\n                 * import { ppid } from 'process';\n                 *\n                 * console.log(`The parent process is pid ${ppid}`);\n                 * ```\n                 * @since v9.2.0, v8.10.0, v6.13.0\n                 */\n                readonly ppid: number;\n                /**\n                 * The `process.title` property returns the current process title (i.e. returns\n                 * the current value of `ps`). Assigning a new value to `process.title` modifies\n                 * the current value of `ps`.\n                 *\n                 * When a new value is assigned, different platforms will impose different maximum\n                 * length restrictions on the title. Usually such restrictions are quite limited.\n                 * For instance, on Linux and macOS, `process.title` is limited to the size of the\n                 * binary name plus the length of the command-line arguments because setting the`process.title` overwrites the `argv` memory of the process. Node.js v0.8\n                 * allowed for longer process title strings by also overwriting the `environ`memory but that was potentially insecure and confusing in some (rather obscure)\n                 * cases.\n                 *\n                 * Assigning a value to `process.title` might not result in an accurate label\n                 * within process manager applications such as macOS Activity Monitor or Windows\n                 * Services Manager.\n                 * @since v0.1.104\n                 */\n                title: string;\n                /**\n                 * The operating system CPU architecture for which the Node.js binary was compiled.\n                 * Possible values are: `'arm'`, `'arm64'`, `'ia32'`, `'mips'`, `'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, and `'x64'`.\n                 *\n                 * ```js\n                 * import { arch } from 'process';\n                 *\n                 * console.log(`This processor architecture is ${arch}`);\n                 * ```\n                 * @since v0.5.0\n                 */\n                readonly arch: Architecture;\n                /**\n                 * The `process.platform` property returns a string identifying the operating\n                 * system platform for which the Node.js binary was compiled.\n                 *\n                 * Currently possible values are:\n                 *\n                 * * `'aix'`\n                 * * `'darwin'`\n                 * * `'freebsd'`\n                 * * `'linux'`\n                 * * `'openbsd'`\n                 * * `'sunos'`\n                 * * `'win32'`\n                 *\n                 * ```js\n                 * import { platform } from 'process';\n                 *\n                 * console.log(`This platform is ${platform}`);\n                 * ```\n                 *\n                 * The value `'android'` may also be returned if the Node.js is built on the\n                 * Android operating system. However, Android support in Node.js [is experimental](https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os).\n                 * @since v0.1.16\n                 */\n                readonly platform: Platform;\n                /**\n                 * The `process.mainModule` property provides an alternative way of retrieving `require.main`. The difference is that if the main module changes at\n                 * runtime, `require.main` may still refer to the original main module in\n                 * modules that were required before the change occurred. Generally, it's\n                 * safe to assume that the two refer to the same module.\n                 *\n                 * As with `require.main`, `process.mainModule` will be `undefined` if there\n                 * is no entry script.\n                 * @since v0.1.17\n                 * @deprecated Since v14.0.0 - Use `main` instead.\n                 */\n                mainModule?: Module | undefined;\n                memoryUsage: MemoryUsageFn;\n                /**\n                 * Gets the amount of memory available to the process (in bytes) based on\n                 * limits imposed by the OS. If there is no such constraint, or the constraint\n                 * is unknown, `undefined` is returned.\n                 */\n                constrainedMemory(): number | undefined;\n                /**\n                 * The `process.cpuUsage()` method returns the user and system CPU time usage of\n                 * the current process, in an object with properties `user` and `system`, whose\n                 * values are microsecond values (millionth of a second). These values measure time\n                 * spent in user and system code respectively, and may end up being greater than\n                 * actual elapsed time if multiple CPU cores are performing work for this process.\n                 *\n                 * The result of a previous call to `process.cpuUsage()` can be passed as the\n                 * argument to the function, to get a diff reading.\n                 *\n                 * ```js\n                 * import { cpuUsage } from 'process';\n                 *\n                 * const startUsage = cpuUsage();\n                 * // { user: 38579, system: 6986 }\n                 *\n                 * // spin the CPU for 500 milliseconds\n                 * const now = Date.now();\n                 * while (Date.now() - now < 500);\n                 *\n                 * console.log(cpuUsage(startUsage));\n                 * // { user: 514883, system: 11226 }\n                 * ```\n                 * @since v6.1.0\n                 * @param previousValue A previous return value from calling `process.cpuUsage()`\n                 */\n                cpuUsage(previousValue?: CpuUsage): CpuUsage;\n                /**\n                 * `process.nextTick()` adds `callback` to the \"next tick queue\". This queue is\n                 * fully drained after the current operation on the JavaScript stack runs to\n                 * completion and before the event loop is allowed to continue. It's possible to\n                 * create an infinite loop if one were to recursively call `process.nextTick()`.\n                 * See the [Event Loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#process-nexttick) guide for more background.\n                 *\n                 * ```js\n                 * import { nextTick } from 'process';\n                 *\n                 * console.log('start');\n                 * nextTick(() => {\n                 *   console.log('nextTick callback');\n                 * });\n                 * console.log('scheduled');\n                 * // Output:\n                 * // start\n                 * // scheduled\n                 * // nextTick callback\n                 * ```\n                 *\n                 * This is important when developing APIs in order to give users the opportunity\n                 * to assign event handlers _after_ an object has been constructed but before any\n                 * I/O has occurred:\n                 *\n                 * ```js\n                 * import { nextTick } from 'process';\n                 *\n                 * function MyThing(options) {\n                 *   this.setupOptions(options);\n                 *\n                 *   nextTick(() => {\n                 *     this.startDoingStuff();\n                 *   });\n                 * }\n                 *\n                 * const thing = new MyThing();\n                 * thing.getReadyForStuff();\n                 *\n                 * // thing.startDoingStuff() gets called now, not before.\n                 * ```\n                 *\n                 * It is very important for APIs to be either 100% synchronous or 100%\n                 * asynchronous. Consider this example:\n                 *\n                 * ```js\n                 * // WARNING!  DO NOT USE!  BAD UNSAFE HAZARD!\n                 * function maybeSync(arg, cb) {\n                 *   if (arg) {\n                 *     cb();\n                 *     return;\n                 *   }\n                 *\n                 *   fs.stat('file', cb);\n                 * }\n                 * ```\n                 *\n                 * This API is hazardous because in the following case:\n                 *\n                 * ```js\n                 * const maybeTrue = Math.random() > 0.5;\n                 *\n                 * maybeSync(maybeTrue, () => {\n                 *   foo();\n                 * });\n                 *\n                 * bar();\n                 * ```\n                 *\n                 * It is not clear whether `foo()` or `bar()` will be called first.\n                 *\n                 * The following approach is much better:\n                 *\n                 * ```js\n                 * import { nextTick } from 'process';\n                 *\n                 * function definitelyAsync(arg, cb) {\n                 *   if (arg) {\n                 *     nextTick(cb);\n                 *     return;\n                 *   }\n                 *\n                 *   fs.stat('file', cb);\n                 * }\n                 * ```\n                 * @since v0.1.26\n                 * @param args Additional arguments to pass when invoking the `callback`\n                 */\n                nextTick(callback: Function, ...args: any[]): void;\n                /**\n                 * The `process.release` property returns an `Object` containing metadata related\n                 * to the current release, including URLs for the source tarball and headers-only\n                 * tarball.\n                 *\n                 * `process.release` contains the following properties:\n                 *\n                 * ```js\n                 * {\n                 *   name: 'node',\n                 *   lts: 'Erbium',\n                 *   sourceUrl: 'https://nodejs.org/download/release/v12.18.1/node-v12.18.1.tar.gz',\n                 *   headersUrl: 'https://nodejs.org/download/release/v12.18.1/node-v12.18.1-headers.tar.gz',\n                 *   libUrl: 'https://nodejs.org/download/release/v12.18.1/win-x64/node.lib'\n                 * }\n                 * ```\n                 *\n                 * In custom builds from non-release versions of the source tree, only the`name` property may be present. The additional properties should not be\n                 * relied upon to exist.\n                 * @since v3.0.0\n                 */\n                readonly release: ProcessRelease;\n                features: {\n                    inspector: boolean;\n                    debug: boolean;\n                    uv: boolean;\n                    ipv6: boolean;\n                    tls_alpn: boolean;\n                    tls_sni: boolean;\n                    tls_ocsp: boolean;\n                    tls: boolean;\n                };\n                /**\n                 * `process.umask()` returns the Node.js process's file mode creation mask. Child\n                 * processes inherit the mask from the parent process.\n                 * @since v0.1.19\n                 * @deprecated Calling `process.umask()` with no argument causes the process-wide umask to be written twice. This introduces a race condition between threads, and is a potential   *\n                 * security vulnerability. There is no safe, cross-platform alternative API.\n                 */\n                umask(): number;\n                /**\n                 * Can only be set if not in worker thread.\n                 */\n                umask(mask: string | number): number;\n                /**\n                 * The `process.uptime()` method returns the number of seconds the current Node.js\n                 * process has been running.\n                 *\n                 * The return value includes fractions of a second. Use `Math.floor()` to get whole\n                 * seconds.\n                 * @since v0.5.0\n                 */\n                uptime(): number;\n                hrtime: HRTime;\n                /**\n                 * If the Node.js process was spawned with an IPC channel, the process.channel property is a reference to the IPC channel.\n                 * If no IPC channel exists, this property is undefined.\n                 * @since v7.1.0\n                 */\n                channel?: {\n                    /**\n                     * This method makes the IPC channel keep the event loop of the process running if .unref() has been called before.\n                     * @since v7.1.0\n                     */\n                    ref(): void;\n                    /**\n                     * This method makes the IPC channel not keep the event loop of the process running, and lets it finish even while the channel is open.\n                     * @since v7.1.0\n                     */\n                    unref(): void;\n                };\n                /**\n                 * If Node.js is spawned with an IPC channel, the `process.send()` method can be\n                 * used to send messages to the parent process. Messages will be received as a `'message'` event on the parent's `ChildProcess` object.\n                 *\n                 * If Node.js was not spawned with an IPC channel, `process.send` will be `undefined`.\n                 *\n                 * The message goes through serialization and parsing. The resulting message might\n                 * not be the same as what is originally sent.\n                 * @since v0.5.9\n                 * @param options used to parameterize the sending of certain types of handles.`options` supports the following properties:\n                 */\n                send?(\n                    message: any,\n                    sendHandle?: any,\n                    options?: {\n                        swallowErrors?: boolean | undefined;\n                    },\n                    callback?: (error: Error | null) => void,\n                ): boolean;\n                /**\n                 * If the Node.js process is spawned with an IPC channel (see the `Child Process` and `Cluster` documentation), the `process.disconnect()` method will close the\n                 * IPC channel to the parent process, allowing the child process to exit gracefully\n                 * once there are no other connections keeping it alive.\n                 *\n                 * The effect of calling `process.disconnect()` is the same as calling `ChildProcess.disconnect()` from the parent process.\n                 *\n                 * If the Node.js process was not spawned with an IPC channel,`process.disconnect()` will be `undefined`.\n                 * @since v0.7.2\n                 */\n                disconnect(): void;\n                /**\n                 * If the Node.js process is spawned with an IPC channel (see the `Child Process` and `Cluster` documentation), the `process.connected` property will return`true` so long as the IPC\n                 * channel is connected and will return `false` after`process.disconnect()` is called.\n                 *\n                 * Once `process.connected` is `false`, it is no longer possible to send messages\n                 * over the IPC channel using `process.send()`.\n                 * @since v0.7.2\n                 */\n                connected: boolean;\n                /**\n                 * The `process.allowedNodeEnvironmentFlags` property is a special,\n                 * read-only `Set` of flags allowable within the `NODE_OPTIONS` environment variable.\n                 *\n                 * `process.allowedNodeEnvironmentFlags` extends `Set`, but overrides`Set.prototype.has` to recognize several different possible flag\n                 * representations. `process.allowedNodeEnvironmentFlags.has()` will\n                 * return `true` in the following cases:\n                 *\n                 * * Flags may omit leading single (`-`) or double (`--`) dashes; e.g.,`inspect-brk` for `--inspect-brk`, or `r` for `-r`.\n                 * * Flags passed through to V8 (as listed in `--v8-options`) may replace\n                 * one or more _non-leading_ dashes for an underscore, or vice-versa;\n                 * e.g., `--perf_basic_prof`, `--perf-basic-prof`, `--perf_basic-prof`,\n                 * etc.\n                 * * Flags may contain one or more equals (`=`) characters; all\n                 * characters after and including the first equals will be ignored;\n                 * e.g., `--stack-trace-limit=100`.\n                 * * Flags _must_ be allowable within `NODE_OPTIONS`.\n                 *\n                 * When iterating over `process.allowedNodeEnvironmentFlags`, flags will\n                 * appear only _once_; each will begin with one or more dashes. Flags\n                 * passed through to V8 will contain underscores instead of non-leading\n                 * dashes:\n                 *\n                 * ```js\n                 * import { allowedNodeEnvironmentFlags } from 'process';\n                 *\n                 * allowedNodeEnvironmentFlags.forEach((flag) => {\n                 *   // -r\n                 *   // --inspect-brk\n                 *   // --abort_on_uncaught_exception\n                 *   // ...\n                 * });\n                 * ```\n                 *\n                 * The methods `add()`, `clear()`, and `delete()` of`process.allowedNodeEnvironmentFlags` do nothing, and will fail\n                 * silently.\n                 *\n                 * If Node.js was compiled _without_ `NODE_OPTIONS` support (shown in {@link config}), `process.allowedNodeEnvironmentFlags` will\n                 * contain what _would have_ been allowable.\n                 * @since v10.10.0\n                 */\n                allowedNodeEnvironmentFlags: ReadonlySet<string>;\n                /**\n                 * `process.report` is an object whose methods are used to generate diagnostic reports for the current process.\n                 * Additional documentation is available in the [report documentation](https://nodejs.org/docs/latest-v18.x/api/report.html).\n                 * @since v11.8.0\n                 */\n                report: ProcessReport;\n                /**\n                 * ```js\n                 * import { resourceUsage } from 'process';\n                 *\n                 * console.log(resourceUsage());\n                 * /*\n                 *   Will output:\n                 *   {\n                 *     userCPUTime: 82872,\n                 *     systemCPUTime: 4143,\n                 *     maxRSS: 33164,\n                 *     sharedMemorySize: 0,\n                 *     unsharedDataSize: 0,\n                 *     unsharedStackSize: 0,\n                 *     minorPageFault: 2469,\n                 *     majorPageFault: 0,\n                 *     swappedOut: 0,\n                 *     fsRead: 0,\n                 *     fsWrite: 8,\n                 *     ipcSent: 0,\n                 *     ipcReceived: 0,\n                 *     signalsCount: 0,\n                 *     voluntaryContextSwitches: 79,\n                 *     involuntaryContextSwitches: 1\n                 *   }\n                 *\n                 * ```\n                 * @since v12.6.0\n                 * @return the resource usage for the current process. All of these values come from the `uv_getrusage` call which returns a [`uv_rusage_t` struct][uv_rusage_t].\n                 */\n                resourceUsage(): ResourceUsage;\n                /**\n                 * The `process.traceDeprecation` property indicates whether the`--trace-deprecation` flag is set on the current Node.js process. See the\n                 * documentation for the `'warning' event` and the `emitWarning() method` for more information about this\n                 * flag's behavior.\n                 * @since v0.8.0\n                 */\n                traceDeprecation: boolean;\n                /* EventEmitter */\n                addListener(event: \"beforeExit\", listener: BeforeExitListener): this;\n                addListener(event: \"disconnect\", listener: DisconnectListener): this;\n                addListener(event: \"exit\", listener: ExitListener): this;\n                addListener(event: \"rejectionHandled\", listener: RejectionHandledListener): this;\n                addListener(event: \"uncaughtException\", listener: UncaughtExceptionListener): this;\n                addListener(event: \"uncaughtExceptionMonitor\", listener: UncaughtExceptionListener): this;\n                addListener(event: \"unhandledRejection\", listener: UnhandledRejectionListener): this;\n                addListener(event: \"warning\", listener: WarningListener): this;\n                addListener(event: \"message\", listener: MessageListener): this;\n                addListener(event: Signals, listener: SignalsListener): this;\n                addListener(event: \"multipleResolves\", listener: MultipleResolveListener): this;\n                addListener(event: \"worker\", listener: WorkerListener): this;\n                emit(event: \"beforeExit\", code: number): boolean;\n                emit(event: \"disconnect\"): boolean;\n                emit(event: \"exit\", code: number): boolean;\n                emit(event: \"rejectionHandled\", promise: Promise<unknown>): boolean;\n                emit(event: \"uncaughtException\", error: Error): boolean;\n                emit(event: \"uncaughtExceptionMonitor\", error: Error): boolean;\n                emit(event: \"unhandledRejection\", reason: unknown, promise: Promise<unknown>): boolean;\n                emit(event: \"warning\", warning: Error): boolean;\n                emit(event: \"message\", message: unknown, sendHandle: unknown): this;\n                emit(event: Signals, signal?: Signals): boolean;\n                emit(\n                    event: \"multipleResolves\",\n                    type: MultipleResolveType,\n                    promise: Promise<unknown>,\n                    value: unknown,\n                ): this;\n                emit(event: \"worker\", listener: WorkerListener): this;\n                on(event: \"beforeExit\", listener: BeforeExitListener): this;\n                on(event: \"disconnect\", listener: DisconnectListener): this;\n                on(event: \"exit\", listener: ExitListener): this;\n                on(event: \"rejectionHandled\", listener: RejectionHandledListener): this;\n                on(event: \"uncaughtException\", listener: UncaughtExceptionListener): this;\n                on(event: \"uncaughtExceptionMonitor\", listener: UncaughtExceptionListener): this;\n                on(event: \"unhandledRejection\", listener: UnhandledRejectionListener): this;\n                on(event: \"warning\", listener: WarningListener): this;\n                on(event: \"message\", listener: MessageListener): this;\n                on(event: Signals, listener: SignalsListener): this;\n                on(event: \"multipleResolves\", listener: MultipleResolveListener): this;\n                on(event: \"worker\", listener: WorkerListener): this;\n                on(event: string | symbol, listener: (...args: any[]) => void): this;\n                once(event: \"beforeExit\", listener: BeforeExitListener): this;\n                once(event: \"disconnect\", listener: DisconnectListener): this;\n                once(event: \"exit\", listener: ExitListener): this;\n                once(event: \"rejectionHandled\", listener: RejectionHandledListener): this;\n                once(event: \"uncaughtException\", listener: UncaughtExceptionListener): this;\n                once(event: \"uncaughtExceptionMonitor\", listener: UncaughtExceptionListener): this;\n                once(event: \"unhandledRejection\", listener: UnhandledRejectionListener): this;\n                once(event: \"warning\", listener: WarningListener): this;\n                once(event: \"message\", listener: MessageListener): this;\n                once(event: Signals, listener: SignalsListener): this;\n                once(event: \"multipleResolves\", listener: MultipleResolveListener): this;\n                once(event: \"worker\", listener: WorkerListener): this;\n                once(event: string | symbol, listener: (...args: any[]) => void): this;\n                prependListener(event: \"beforeExit\", listener: BeforeExitListener): this;\n                prependListener(event: \"disconnect\", listener: DisconnectListener): this;\n                prependListener(event: \"exit\", listener: ExitListener): this;\n                prependListener(event: \"rejectionHandled\", listener: RejectionHandledListener): this;\n                prependListener(event: \"uncaughtException\", listener: UncaughtExceptionListener): this;\n                prependListener(event: \"uncaughtExceptionMonitor\", listener: UncaughtExceptionListener): this;\n                prependListener(event: \"unhandledRejection\", listener: UnhandledRejectionListener): this;\n                prependListener(event: \"warning\", listener: WarningListener): this;\n                prependListener(event: \"message\", listener: MessageListener): this;\n                prependListener(event: Signals, listener: SignalsListener): this;\n                prependListener(event: \"multipleResolves\", listener: MultipleResolveListener): this;\n                prependListener(event: \"worker\", listener: WorkerListener): this;\n                prependOnceListener(event: \"beforeExit\", listener: BeforeExitListener): this;\n                prependOnceListener(event: \"disconnect\", listener: DisconnectListener): this;\n                prependOnceListener(event: \"exit\", listener: ExitListener): this;\n                prependOnceListener(event: \"rejectionHandled\", listener: RejectionHandledListener): this;\n                prependOnceListener(event: \"uncaughtException\", listener: UncaughtExceptionListener): this;\n                prependOnceListener(event: \"uncaughtExceptionMonitor\", listener: UncaughtExceptionListener): this;\n                prependOnceListener(event: \"unhandledRejection\", listener: UnhandledRejectionListener): this;\n                prependOnceListener(event: \"warning\", listener: WarningListener): this;\n                prependOnceListener(event: \"message\", listener: MessageListener): this;\n                prependOnceListener(event: Signals, listener: SignalsListener): this;\n                prependOnceListener(event: \"multipleResolves\", listener: MultipleResolveListener): this;\n                prependOnceListener(event: \"worker\", listener: WorkerListener): this;\n                listeners(event: \"beforeExit\"): BeforeExitListener[];\n                listeners(event: \"disconnect\"): DisconnectListener[];\n                listeners(event: \"exit\"): ExitListener[];\n                listeners(event: \"rejectionHandled\"): RejectionHandledListener[];\n                listeners(event: \"uncaughtException\"): UncaughtExceptionListener[];\n                listeners(event: \"uncaughtExceptionMonitor\"): UncaughtExceptionListener[];\n                listeners(event: \"unhandledRejection\"): UnhandledRejectionListener[];\n                listeners(event: \"warning\"): WarningListener[];\n                listeners(event: \"message\"): MessageListener[];\n                listeners(event: Signals): SignalsListener[];\n                listeners(event: \"multipleResolves\"): MultipleResolveListener[];\n                listeners(event: \"worker\"): WorkerListener[];\n            }\n        }\n    }\n    export = process;\n}\ndeclare module \"node:process\" {\n    import process = require(\"process\");\n    export = process;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/punycode.d.ts",
      "content": "/**\n * **The version of the punycode module bundled in Node.js is being deprecated.**In a future major version of Node.js this module will be removed. Users\n * currently depending on the `punycode` module should switch to using the\n * userland-provided [Punycode.js](https://github.com/bestiejs/punycode.js) module instead. For punycode-based URL\n * encoding, see `url.domainToASCII` or, more generally, the `WHATWG URL API`.\n *\n * The `punycode` module is a bundled version of the [Punycode.js](https://github.com/bestiejs/punycode.js) module. It\n * can be accessed using:\n *\n * ```js\n * import punycode from 'node:punycode';\n * ```\n *\n * [Punycode](https://tools.ietf.org/html/rfc3492) is a character encoding scheme defined by RFC 3492 that is\n * primarily intended for use in Internationalized Domain Names. Because host\n * names in URLs are limited to ASCII characters only, Domain Names that contain\n * non-ASCII characters must be converted into ASCII using the Punycode scheme.\n * For instance, the Japanese character that translates into the English word,`'example'` is `'例'`. The Internationalized Domain Name, `'例.com'` (equivalent\n * to `'example.com'`) is represented by Punycode as the ASCII string`'xn--fsq.com'`.\n *\n * The `punycode` module provides a simple implementation of the Punycode standard.\n *\n * The `punycode` module is a third-party dependency used by Node.js and\n * made available to developers as a convenience. Fixes or other modifications to\n * the module must be directed to the [Punycode.js](https://github.com/bestiejs/punycode.js) project.\n * @deprecated Since v7.0.0 - Deprecated\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/punycode.js)\n */\ndeclare module \"punycode\" {\n    /**\n     * The `punycode.decode()` method converts a [Punycode](https://tools.ietf.org/html/rfc3492) string of ASCII-only\n     * characters to the equivalent string of Unicode codepoints.\n     *\n     * ```js\n     * punycode.decode('maana-pta'); // 'mañana'\n     * punycode.decode('--dqo34k'); // '☃-⌘'\n     * ```\n     * @since v0.5.1\n     */\n    function decode(string: string): string;\n    /**\n     * The `punycode.encode()` method converts a string of Unicode codepoints to a [Punycode](https://tools.ietf.org/html/rfc3492) string of ASCII-only characters.\n     *\n     * ```js\n     * punycode.encode('mañana'); // 'maana-pta'\n     * punycode.encode('☃-⌘'); // '--dqo34k'\n     * ```\n     * @since v0.5.1\n     */\n    function encode(string: string): string;\n    /**\n     * The `punycode.toUnicode()` method converts a string representing a domain name\n     * containing [Punycode](https://tools.ietf.org/html/rfc3492) encoded characters into Unicode. Only the [Punycode](https://tools.ietf.org/html/rfc3492) encoded parts of the domain name are be\n     * converted.\n     *\n     * ```js\n     * // decode domain names\n     * punycode.toUnicode('xn--maana-pta.com'); // 'mañana.com'\n     * punycode.toUnicode('xn----dqo34k.com');  // '☃-⌘.com'\n     * punycode.toUnicode('example.com');       // 'example.com'\n     * ```\n     * @since v0.6.1\n     */\n    function toUnicode(domain: string): string;\n    /**\n     * The `punycode.toASCII()` method converts a Unicode string representing an\n     * Internationalized Domain Name to [Punycode](https://tools.ietf.org/html/rfc3492). Only the non-ASCII parts of the\n     * domain name will be converted. Calling `punycode.toASCII()` on a string that\n     * already only contains ASCII characters will have no effect.\n     *\n     * ```js\n     * // encode domain names\n     * punycode.toASCII('mañana.com');  // 'xn--maana-pta.com'\n     * punycode.toASCII('☃-⌘.com');   // 'xn----dqo34k.com'\n     * punycode.toASCII('example.com'); // 'example.com'\n     * ```\n     * @since v0.6.1\n     */\n    function toASCII(domain: string): string;\n    /**\n     * @deprecated since v7.0.0\n     * The version of the punycode module bundled in Node.js is being deprecated.\n     * In a future major version of Node.js this module will be removed.\n     * Users currently depending on the punycode module should switch to using\n     * the userland-provided Punycode.js module instead.\n     */\n    const ucs2: ucs2;\n    interface ucs2 {\n        /**\n         * @deprecated since v7.0.0\n         * The version of the punycode module bundled in Node.js is being deprecated.\n         * In a future major version of Node.js this module will be removed.\n         * Users currently depending on the punycode module should switch to using\n         * the userland-provided Punycode.js module instead.\n         */\n        decode(string: string): number[];\n        /**\n         * @deprecated since v7.0.0\n         * The version of the punycode module bundled in Node.js is being deprecated.\n         * In a future major version of Node.js this module will be removed.\n         * Users currently depending on the punycode module should switch to using\n         * the userland-provided Punycode.js module instead.\n         */\n        encode(codePoints: readonly number[]): string;\n    }\n    /**\n     * @deprecated since v7.0.0\n     * The version of the punycode module bundled in Node.js is being deprecated.\n     * In a future major version of Node.js this module will be removed.\n     * Users currently depending on the punycode module should switch to using\n     * the userland-provided Punycode.js module instead.\n     */\n    const version: string;\n}\ndeclare module \"node:punycode\" {\n    export * from \"punycode\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/querystring.d.ts",
      "content": "/**\n * The `querystring` module provides utilities for parsing and formatting URL\n * query strings. It can be accessed using:\n *\n * ```js\n * import querystring from 'node:querystring';\n * ```\n *\n * `querystring` is more performant than `URLSearchParams` but is not a\n * standardized API. Use `URLSearchParams` when performance is not critical\n * or when compatibility with browser code is desirable.\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/querystring.js)\n */\ndeclare module \"querystring\" {\n    interface StringifyOptions {\n        encodeURIComponent?: ((str: string) => string) | undefined;\n    }\n    interface ParseOptions {\n        maxKeys?: number | undefined;\n        decodeURIComponent?: ((str: string) => string) | undefined;\n    }\n    interface ParsedUrlQuery extends NodeJS.Dict<string | string[]> {}\n    interface ParsedUrlQueryInput extends\n        NodeJS.Dict<\n            | string\n            | number\n            | boolean\n            | bigint\n            | ReadonlyArray<string | number | boolean | bigint>\n            | null\n        >\n    {}\n    /**\n     * The `querystring.stringify()` method produces a URL query string from a\n     * given `obj` by iterating through the object's \"own properties\".\n     *\n     * It serializes the following types of values passed in `obj`:[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type) |\n     * [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type) |\n     * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) |\n     * [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) |\n     * [string\\[\\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type) |\n     * [number\\[\\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type) |\n     * [bigint\\[\\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) |\n     * [boolean\\[\\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) The numeric values must be finite. Any other input values will be coerced to\n     * empty strings.\n     *\n     * ```js\n     * querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });\n     * // Returns 'foo=bar&#x26;baz=qux&#x26;baz=quux&#x26;corge='\n     *\n     * querystring.stringify({ foo: 'bar', baz: 'qux' }, ';', ':');\n     * // Returns 'foo:bar;baz:qux'\n     * ```\n     *\n     * By default, characters requiring percent-encoding within the query string will\n     * be encoded as UTF-8\\. If an alternative encoding is required, then an alternative`encodeURIComponent` option will need to be specified:\n     *\n     * ```js\n     * // Assuming gbkEncodeURIComponent function already exists,\n     *\n     * querystring.stringify({ w: '中文', foo: 'bar' }, null, null,\n     *                       { encodeURIComponent: gbkEncodeURIComponent });\n     * ```\n     * @since v0.1.25\n     * @param obj The object to serialize into a URL query string\n     * @param [sep='&'] The substring used to delimit key and value pairs in the query string.\n     * @param [eq='='] . The substring used to delimit keys and values in the query string.\n     */\n    function stringify(obj?: ParsedUrlQueryInput, sep?: string, eq?: string, options?: StringifyOptions): string;\n    /**\n     * The `querystring.parse()` method parses a URL query string (`str`) into a\n     * collection of key and value pairs.\n     *\n     * For example, the query string `'foo=bar&#x26;abc=xyz&#x26;abc=123'` is parsed into:\n     *\n     * ```js\n     * {\n     *   foo: 'bar',\n     *   abc: ['xyz', '123']\n     * }\n     * ```\n     *\n     * The object returned by the `querystring.parse()` method _does not_prototypically inherit from the JavaScript `Object`. This means that typical`Object` methods such as `obj.toString()`,\n     * `obj.hasOwnProperty()`, and others\n     * are not defined and _will not work_.\n     *\n     * By default, percent-encoded characters within the query string will be assumed\n     * to use UTF-8 encoding. If an alternative character encoding is used, then an\n     * alternative `decodeURIComponent` option will need to be specified:\n     *\n     * ```js\n     * // Assuming gbkDecodeURIComponent function already exists...\n     *\n     * querystring.parse('w=%D6%D0%CE%C4&#x26;foo=bar', null, null,\n     *                   { decodeURIComponent: gbkDecodeURIComponent });\n     * ```\n     * @since v0.1.25\n     * @param str The URL query string to parse\n     * @param [sep='&'] The substring used to delimit key and value pairs in the query string.\n     * @param [eq='='] . The substring used to delimit keys and values in the query string.\n     */\n    function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): ParsedUrlQuery;\n    /**\n     * The querystring.encode() function is an alias for querystring.stringify().\n     */\n    const encode: typeof stringify;\n    /**\n     * The querystring.decode() function is an alias for querystring.parse().\n     */\n    const decode: typeof parse;\n    /**\n     * The `querystring.escape()` method performs URL percent-encoding on the given`str` in a manner that is optimized for the specific requirements of URL\n     * query strings.\n     *\n     * The `querystring.escape()` method is used by `querystring.stringify()` and is\n     * generally not expected to be used directly. It is exported primarily to allow\n     * application code to provide a replacement percent-encoding implementation if\n     * necessary by assigning `querystring.escape` to an alternative function.\n     * @since v0.1.25\n     */\n    function escape(str: string): string;\n    /**\n     * The `querystring.unescape()` method performs decoding of URL percent-encoded\n     * characters on the given `str`.\n     *\n     * The `querystring.unescape()` method is used by `querystring.parse()` and is\n     * generally not expected to be used directly. It is exported primarily to allow\n     * application code to provide a replacement decoding implementation if\n     * necessary by assigning `querystring.unescape` to an alternative function.\n     *\n     * By default, the `querystring.unescape()` method will attempt to use the\n     * JavaScript built-in `decodeURIComponent()` method to decode. If that fails,\n     * a safer equivalent that does not throw on malformed URLs will be used.\n     * @since v0.1.25\n     */\n    function unescape(str: string): string;\n}\ndeclare module \"node:querystring\" {\n    export * from \"querystring\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/readline.d.ts",
      "content": "/**\n * The `readline` module provides an interface for reading data from a `Readable` stream (such as `process.stdin`) one line at a time.\n *\n * To use the promise-based APIs:\n *\n * ```js\n * import * as readline from 'node:readline/promises';\n * ```\n *\n * To use the callback and sync APIs:\n *\n * ```js\n * import * as readline from 'node:readline';\n * ```\n *\n * The following simple example illustrates the basic use of the `readline` module.\n *\n * ```js\n * import * as readline from 'node:readline/promises';\n * import { stdin as input, stdout as output } from 'node:process';\n *\n * const rl = readline.createInterface({ input, output });\n *\n * const answer = await rl.question('What do you think of Node.js? ');\n *\n * console.log(`Thank you for your valuable feedback: ${answer}`);\n *\n * rl.close();\n * ```\n *\n * Once this code is invoked, the Node.js application will not terminate until the`readline.Interface` is closed because the interface waits for data to be\n * received on the `input` stream.\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/readline.js)\n */\ndeclare module \"readline\" {\n    import { Abortable, EventEmitter } from \"node:events\";\n    import * as promises from \"node:readline/promises\";\n\n    export { promises };\n    export interface Key {\n        sequence?: string | undefined;\n        name?: string | undefined;\n        ctrl?: boolean | undefined;\n        meta?: boolean | undefined;\n        shift?: boolean | undefined;\n    }\n    /**\n     * Instances of the `readline.Interface` class are constructed using the`readline.createInterface()` method. Every instance is associated with a\n     * single `input` `Readable` stream and a single `output` `Writable` stream.\n     * The `output` stream is used to print prompts for user input that arrives on,\n     * and is read from, the `input` stream.\n     * @since v0.1.104\n     */\n    export class Interface extends EventEmitter {\n        readonly terminal: boolean;\n        /**\n         * The current input data being processed by node.\n         *\n         * This can be used when collecting input from a TTY stream to retrieve the\n         * current value that has been processed thus far, prior to the `line` event\n         * being emitted. Once the `line` event has been emitted, this property will\n         * be an empty string.\n         *\n         * Be aware that modifying the value during the instance runtime may have\n         * unintended consequences if `rl.cursor` is not also controlled.\n         *\n         * **If not using a TTY stream for input, use the `'line'` event.**\n         *\n         * One possible use case would be as follows:\n         *\n         * ```js\n         * const values = ['lorem ipsum', 'dolor sit amet'];\n         * const rl = readline.createInterface(process.stdin);\n         * const showResults = debounce(() => {\n         *   console.log(\n         *     '\\n',\n         *     values.filter((val) => val.startsWith(rl.line)).join(' ')\n         *   );\n         * }, 300);\n         * process.stdin.on('keypress', (c, k) => {\n         *   showResults();\n         * });\n         * ```\n         * @since v0.1.98\n         */\n        readonly line: string;\n        /**\n         * The cursor position relative to `rl.line`.\n         *\n         * This will track where the current cursor lands in the input string, when\n         * reading input from a TTY stream. The position of cursor determines the\n         * portion of the input string that will be modified as input is processed,\n         * as well as the column where the terminal caret will be rendered.\n         * @since v0.1.98\n         */\n        readonly cursor: number;\n        /**\n         * NOTE: According to the documentation:\n         *\n         * > Instances of the `readline.Interface` class are constructed using the\n         * > `readline.createInterface()` method.\n         *\n         * @see https://nodejs.org/docs/latest-v18.x/api/readline.html#readline_class_interface\n         */\n        protected constructor(\n            input: NodeJS.ReadableStream,\n            output?: NodeJS.WritableStream,\n            completer?: Completer | AsyncCompleter,\n            terminal?: boolean,\n        );\n        /**\n         * NOTE: According to the documentation:\n         *\n         * > Instances of the `readline.Interface` class are constructed using the\n         * > `readline.createInterface()` method.\n         *\n         * @see https://nodejs.org/docs/latest-v18.x/api/readline.html#readline_class_interface\n         */\n        protected constructor(options: ReadLineOptions);\n        /**\n         * The `rl.getPrompt()` method returns the current prompt used by `rl.prompt()`.\n         * @since v15.3.0\n         * @return the current prompt string\n         */\n        getPrompt(): string;\n        /**\n         * The `rl.setPrompt()` method sets the prompt that will be written to `output`whenever `rl.prompt()` is called.\n         * @since v0.1.98\n         */\n        setPrompt(prompt: string): void;\n        /**\n         * The `rl.prompt()` method writes the `readline.Interface` instances configured`prompt` to a new line in `output` in order to provide a user with a new\n         * location at which to provide input.\n         *\n         * When called, `rl.prompt()` will resume the `input` stream if it has been\n         * paused.\n         *\n         * If the `readline.Interface` was created with `output` set to `null` or`undefined` the prompt is not written.\n         * @since v0.1.98\n         * @param preserveCursor If `true`, prevents the cursor placement from being reset to `0`.\n         */\n        prompt(preserveCursor?: boolean): void;\n        /**\n         * The `rl.question()` method displays the `query` by writing it to the `output`,\n         * waits for user input to be provided on `input`, then invokes the `callback`function passing the provided input as the first argument.\n         *\n         * When called, `rl.question()` will resume the `input` stream if it has been\n         * paused.\n         *\n         * If the `readline.Interface` was created with `output` set to `null` or`undefined` the `query` is not written.\n         *\n         * The `callback` function passed to `rl.question()` does not follow the typical\n         * pattern of accepting an `Error` object or `null` as the first argument.\n         * The `callback` is called with the provided answer as the only argument.\n         *\n         * Example usage:\n         *\n         * ```js\n         * rl.question('What is your favorite food? ', (answer) => {\n         *   console.log(`Oh, so your favorite food is ${answer}`);\n         * });\n         * ```\n         *\n         * Using an `AbortController` to cancel a question.\n         *\n         * ```js\n         * const ac = new AbortController();\n         * const signal = ac.signal;\n         *\n         * rl.question('What is your favorite food? ', { signal }, (answer) => {\n         *   console.log(`Oh, so your favorite food is ${answer}`);\n         * });\n         *\n         * signal.addEventListener('abort', () => {\n         *   console.log('The food question timed out');\n         * }, { once: true });\n         *\n         * setTimeout(() => ac.abort(), 10000);\n         * ```\n         *\n         * If this method is invoked as it's util.promisify()ed version, it returns a\n         * Promise that fulfills with the answer. If the question is canceled using\n         * an `AbortController` it will reject with an `AbortError`.\n         *\n         * ```js\n         * import util from 'node:util';\n         * const question = util.promisify(rl.question).bind(rl);\n         *\n         * async function questionExample() {\n         *   try {\n         *     const answer = await question('What is you favorite food? ');\n         *     console.log(`Oh, so your favorite food is ${answer}`);\n         *   } catch (err) {\n         *     console.error('Question rejected', err);\n         *   }\n         * }\n         * questionExample();\n         * ```\n         * @since v0.3.3\n         * @param query A statement or query to write to `output`, prepended to the prompt.\n         * @param callback A callback function that is invoked with the user's input in response to the `query`.\n         */\n        question(query: string, callback: (answer: string) => void): void;\n        question(query: string, options: Abortable, callback: (answer: string) => void): void;\n        /**\n         * The `rl.pause()` method pauses the `input` stream, allowing it to be resumed\n         * later if necessary.\n         *\n         * Calling `rl.pause()` does not immediately pause other events (including`'line'`) from being emitted by the `readline.Interface` instance.\n         * @since v0.3.4\n         */\n        pause(): this;\n        /**\n         * The `rl.resume()` method resumes the `input` stream if it has been paused.\n         * @since v0.3.4\n         */\n        resume(): this;\n        /**\n         * The `rl.close()` method closes the `readline.Interface` instance and\n         * relinquishes control over the `input` and `output` streams. When called,\n         * the `'close'` event will be emitted.\n         *\n         * Calling `rl.close()` does not immediately stop other events (including `'line'`)\n         * from being emitted by the `readline.Interface` instance.\n         * @since v0.1.98\n         */\n        close(): void;\n        /**\n         * The `rl.write()` method will write either `data` or a key sequence identified\n         * by `key` to the `output`. The `key` argument is supported only if `output` is\n         * a `TTY` text terminal. See `TTY keybindings` for a list of key\n         * combinations.\n         *\n         * If `key` is specified, `data` is ignored.\n         *\n         * When called, `rl.write()` will resume the `input` stream if it has been\n         * paused.\n         *\n         * If the `readline.Interface` was created with `output` set to `null` or`undefined` the `data` and `key` are not written.\n         *\n         * ```js\n         * rl.write('Delete this!');\n         * // Simulate Ctrl+U to delete the line written previously\n         * rl.write(null, { ctrl: true, name: 'u' });\n         * ```\n         *\n         * The `rl.write()` method will write the data to the `readline` `Interface`'s`input`_as if it were provided by the user_.\n         * @since v0.1.98\n         */\n        write(data: string | Buffer, key?: Key): void;\n        write(data: undefined | null | string | Buffer, key: Key): void;\n        /**\n         * Returns the real position of the cursor in relation to the input\n         * prompt + string. Long input (wrapping) strings, as well as multiple\n         * line prompts are included in the calculations.\n         * @since v13.5.0, v12.16.0\n         */\n        getCursorPos(): CursorPos;\n        /**\n         * events.EventEmitter\n         * 1. close\n         * 2. line\n         * 3. pause\n         * 4. resume\n         * 5. SIGCONT\n         * 6. SIGINT\n         * 7. SIGTSTP\n         * 8. history\n         */\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"line\", listener: (input: string) => void): this;\n        addListener(event: \"pause\", listener: () => void): this;\n        addListener(event: \"resume\", listener: () => void): this;\n        addListener(event: \"SIGCONT\", listener: () => void): this;\n        addListener(event: \"SIGINT\", listener: () => void): this;\n        addListener(event: \"SIGTSTP\", listener: () => void): this;\n        addListener(event: \"history\", listener: (history: string[]) => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"close\"): boolean;\n        emit(event: \"line\", input: string): boolean;\n        emit(event: \"pause\"): boolean;\n        emit(event: \"resume\"): boolean;\n        emit(event: \"SIGCONT\"): boolean;\n        emit(event: \"SIGINT\"): boolean;\n        emit(event: \"SIGTSTP\"): boolean;\n        emit(event: \"history\", history: string[]): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"line\", listener: (input: string) => void): this;\n        on(event: \"pause\", listener: () => void): this;\n        on(event: \"resume\", listener: () => void): this;\n        on(event: \"SIGCONT\", listener: () => void): this;\n        on(event: \"SIGINT\", listener: () => void): this;\n        on(event: \"SIGTSTP\", listener: () => void): this;\n        on(event: \"history\", listener: (history: string[]) => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"line\", listener: (input: string) => void): this;\n        once(event: \"pause\", listener: () => void): this;\n        once(event: \"resume\", listener: () => void): this;\n        once(event: \"SIGCONT\", listener: () => void): this;\n        once(event: \"SIGINT\", listener: () => void): this;\n        once(event: \"SIGTSTP\", listener: () => void): this;\n        once(event: \"history\", listener: (history: string[]) => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"line\", listener: (input: string) => void): this;\n        prependListener(event: \"pause\", listener: () => void): this;\n        prependListener(event: \"resume\", listener: () => void): this;\n        prependListener(event: \"SIGCONT\", listener: () => void): this;\n        prependListener(event: \"SIGINT\", listener: () => void): this;\n        prependListener(event: \"SIGTSTP\", listener: () => void): this;\n        prependListener(event: \"history\", listener: (history: string[]) => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"line\", listener: (input: string) => void): this;\n        prependOnceListener(event: \"pause\", listener: () => void): this;\n        prependOnceListener(event: \"resume\", listener: () => void): this;\n        prependOnceListener(event: \"SIGCONT\", listener: () => void): this;\n        prependOnceListener(event: \"SIGINT\", listener: () => void): this;\n        prependOnceListener(event: \"SIGTSTP\", listener: () => void): this;\n        prependOnceListener(event: \"history\", listener: (history: string[]) => void): this;\n        [Symbol.asyncIterator](): NodeJS.AsyncIterator<string>;\n    }\n    export type ReadLine = Interface; // type forwarded for backwards compatibility\n    export type Completer = (line: string) => CompleterResult;\n    export type AsyncCompleter = (\n        line: string,\n        callback: (err?: null | Error, result?: CompleterResult) => void,\n    ) => void;\n    export type CompleterResult = [string[], string];\n    export interface ReadLineOptions {\n        /**\n         * The [`Readable`](https://nodejs.org/docs/latest-v18.x/api/stream.html#readable-streams) stream to listen to\n         */\n        input: NodeJS.ReadableStream;\n        /**\n         * The [`Writable`](https://nodejs.org/docs/latest-v18.x/api/stream.html#writable-streams) stream to write readline data to.\n         */\n        output?: NodeJS.WritableStream | undefined;\n        /**\n         * An optional function used for Tab autocompletion.\n         */\n        completer?: Completer | AsyncCompleter | undefined;\n        /**\n         * `true` if the `input` and `output` streams should be treated like a TTY,\n         * and have ANSI/VT100 escape codes written to it.\n         * Default: checking `isTTY` on the `output` stream upon instantiation.\n         */\n        terminal?: boolean | undefined;\n        /**\n         * Initial list of history lines.\n         * This option makes sense only if `terminal` is set to `true` by the user or by an internal `output` check,\n         * otherwise the history caching mechanism is not initialized at all.\n         * @default []\n         */\n        history?: string[] | undefined;\n        /**\n         * Maximum number of history lines retained.\n         * To disable the history set this value to `0`.\n         * This option makes sense only if `terminal` is set to `true` by the user or by an internal `output` check,\n         * otherwise the history caching mechanism is not initialized at all.\n         * @default 30\n         */\n        historySize?: number | undefined;\n        /**\n         * If `true`, when a new input line added to the history list duplicates an older one,\n         * this removes the older line from the list.\n         * @default false\n         */\n        removeHistoryDuplicates?: boolean | undefined;\n        /**\n         * The prompt string to use.\n         * @default \"> \"\n         */\n        prompt?: string | undefined;\n        /**\n         * If the delay between `\\r` and `\\n` exceeds `crlfDelay` milliseconds,\n         * both `\\r` and `\\n` will be treated as separate end-of-line input.\n         * `crlfDelay` will be coerced to a number no less than `100`.\n         * It can be set to `Infinity`, in which case\n         * `\\r` followed by `\\n` will always be considered a single newline\n         * (which may be reasonable for [reading files](https://nodejs.org/docs/latest-v18.x/api/readline.html#example-read-file-stream-line-by-line) with `\\r\\n` line delimiter).\n         * @default 100\n         */\n        crlfDelay?: number | undefined;\n        /**\n         * The duration `readline` will wait for a character\n         * (when reading an ambiguous key sequence in milliseconds\n         * one that can both form a complete key sequence using the input read so far\n         * and can take additional input to complete a longer key sequence).\n         * @default 500\n         */\n        escapeCodeTimeout?: number | undefined;\n        /**\n         * The number of spaces a tab is equal to (minimum 1).\n         * @default 8\n         */\n        tabSize?: number | undefined;\n        /**\n         * Allows closing the interface using an AbortSignal.\n         * Aborting the signal will internally call `close` on the interface.\n         */\n        signal?: AbortSignal | undefined;\n    }\n    /**\n     * The `readline.createInterface()` method creates a new `readline.Interface`instance.\n     *\n     * ```js\n     * import readline from 'node:readline';\n     * const rl = readline.createInterface({\n     *   input: process.stdin,\n     *   output: process.stdout\n     * });\n     * ```\n     *\n     * Once the `readline.Interface` instance is created, the most common case is to\n     * listen for the `'line'` event:\n     *\n     * ```js\n     * rl.on('line', (line) => {\n     *   console.log(`Received: ${line}`);\n     * });\n     * ```\n     *\n     * If `terminal` is `true` for this instance then the `output` stream will get\n     * the best compatibility if it defines an `output.columns` property and emits\n     * a `'resize'` event on the `output` if or when the columns ever change\n     * (`process.stdout` does this automatically when it is a TTY).\n     *\n     * When creating a `readline.Interface` using `stdin` as input, the program\n     * will not terminate until it receives `EOF` (Ctrl+D on\n     * Linux/macOS, Ctrl+Z followed by Return on\n     * Windows).\n     * If you want your application to exit without waiting for user input, you can `unref()` the standard input stream:\n     *\n     * ```js\n     * process.stdin.unref();\n     * ```\n     * @since v0.1.98\n     */\n    export function createInterface(\n        input: NodeJS.ReadableStream,\n        output?: NodeJS.WritableStream,\n        completer?: Completer | AsyncCompleter,\n        terminal?: boolean,\n    ): Interface;\n    export function createInterface(options: ReadLineOptions): Interface;\n    /**\n     * The `readline.emitKeypressEvents()` method causes the given `Readable` stream to begin emitting `'keypress'` events corresponding to received input.\n     *\n     * Optionally, `interface` specifies a `readline.Interface` instance for which\n     * autocompletion is disabled when copy-pasted input is detected.\n     *\n     * If the `stream` is a `TTY`, then it must be in raw mode.\n     *\n     * This is automatically called by any readline instance on its `input` if the`input` is a terminal. Closing the `readline` instance does not stop\n     * the `input` from emitting `'keypress'` events.\n     *\n     * ```js\n     * readline.emitKeypressEvents(process.stdin);\n     * if (process.stdin.isTTY)\n     *   process.stdin.setRawMode(true);\n     * ```\n     *\n     * ## Example: Tiny CLI\n     *\n     * The following example illustrates the use of `readline.Interface` class to\n     * implement a small command-line interface:\n     *\n     * ```js\n     * import readline from 'node:readline';\n     * const rl = readline.createInterface({\n     *   input: process.stdin,\n     *   output: process.stdout,\n     *   prompt: 'OHAI> '\n     * });\n     *\n     * rl.prompt();\n     *\n     * rl.on('line', (line) => {\n     *   switch (line.trim()) {\n     *     case 'hello':\n     *       console.log('world!');\n     *       break;\n     *     default:\n     *       console.log(`Say what? I might have heard '${line.trim()}'`);\n     *       break;\n     *   }\n     *   rl.prompt();\n     * }).on('close', () => {\n     *   console.log('Have a great day!');\n     *   process.exit(0);\n     * });\n     * ```\n     *\n     * ## Example: Read file stream line-by-Line\n     *\n     * A common use case for `readline` is to consume an input file one line at a\n     * time. The easiest way to do so is leveraging the `fs.ReadStream` API as\n     * well as a `for await...of` loop:\n     *\n     * ```js\n     * import fs from 'node:fs';\n     * import readline from 'node:readline';\n     *\n     * async function processLineByLine() {\n     *   const fileStream = fs.createReadStream('input.txt');\n     *\n     *   const rl = readline.createInterface({\n     *     input: fileStream,\n     *     crlfDelay: Infinity\n     *   });\n     *   // Note: we use the crlfDelay option to recognize all instances of CR LF\n     *   // ('\\r\\n') in input.txt as a single line break.\n     *\n     *   for await (const line of rl) {\n     *     // Each line in input.txt will be successively available here as `line`.\n     *     console.log(`Line from file: ${line}`);\n     *   }\n     * }\n     *\n     * processLineByLine();\n     * ```\n     *\n     * Alternatively, one could use the `'line'` event:\n     *\n     * ```js\n     * import fs from 'node:fs';\n     * import readline from 'node:readline';\n     *\n     * const rl = readline.createInterface({\n     *   input: fs.createReadStream('sample.txt'),\n     *   crlfDelay: Infinity\n     * });\n     *\n     * rl.on('line', (line) => {\n     *   console.log(`Line from file: ${line}`);\n     * });\n     * ```\n     *\n     * Currently, `for await...of` loop can be a bit slower. If `async` / `await`flow and speed are both essential, a mixed approach can be applied:\n     *\n     * ```js\n     * import { once } from 'node:events';\n     * import { createReadStream } from 'node:fs';\n     * import { createInterface } from 'node:readline';\n     *\n     * (async function processLineByLine() {\n     *   try {\n     *     const rl = createInterface({\n     *       input: createReadStream('big-file.txt'),\n     *       crlfDelay: Infinity\n     *     });\n     *\n     *     rl.on('line', (line) => {\n     *       // Process the line.\n     *     });\n     *\n     *     await once(rl, 'close');\n     *\n     *     console.log('File processed.');\n     *   } catch (err) {\n     *     console.error(err);\n     *   }\n     * })();\n     * ```\n     * @since v0.7.7\n     */\n    export function emitKeypressEvents(stream: NodeJS.ReadableStream, readlineInterface?: Interface): void;\n    export type Direction = -1 | 0 | 1;\n    export interface CursorPos {\n        rows: number;\n        cols: number;\n    }\n    /**\n     * The `readline.clearLine()` method clears current line of given `TTY` stream\n     * in a specified direction identified by `dir`.\n     * @since v0.7.7\n     * @param callback Invoked once the operation completes.\n     * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.\n     */\n    export function clearLine(stream: NodeJS.WritableStream, dir: Direction, callback?: () => void): boolean;\n    /**\n     * The `readline.clearScreenDown()` method clears the given `TTY` stream from\n     * the current position of the cursor down.\n     * @since v0.7.7\n     * @param callback Invoked once the operation completes.\n     * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.\n     */\n    export function clearScreenDown(stream: NodeJS.WritableStream, callback?: () => void): boolean;\n    /**\n     * The `readline.cursorTo()` method moves cursor to the specified position in a\n     * given `TTY` `stream`.\n     * @since v0.7.7\n     * @param callback Invoked once the operation completes.\n     * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.\n     */\n    export function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number, callback?: () => void): boolean;\n    /**\n     * The `readline.moveCursor()` method moves the cursor _relative_ to its current\n     * position in a given `TTY` `stream`.\n     *\n     * ## Example: Tiny CLI\n     *\n     * The following example illustrates the use of `readline.Interface` class to\n     * implement a small command-line interface:\n     *\n     * ```js\n     * import readline from 'node:readline';\n     * const rl = readline.createInterface({\n     *   input: process.stdin,\n     *   output: process.stdout,\n     *   prompt: 'OHAI> '\n     * });\n     *\n     * rl.prompt();\n     *\n     * rl.on('line', (line) => {\n     *   switch (line.trim()) {\n     *     case 'hello':\n     *       console.log('world!');\n     *       break;\n     *     default:\n     *       console.log(`Say what? I might have heard '${line.trim()}'`);\n     *       break;\n     *   }\n     *   rl.prompt();\n     * }).on('close', () => {\n     *   console.log('Have a great day!');\n     *   process.exit(0);\n     * });\n     * ```\n     *\n     * ## Example: Read file stream line-by-Line\n     *\n     * A common use case for `readline` is to consume an input file one line at a\n     * time. The easiest way to do so is leveraging the `fs.ReadStream` API as\n     * well as a `for await...of` loop:\n     *\n     * ```js\n     * import fs from 'node:fs';\n     * import readline from 'node:readline';\n     *\n     * async function processLineByLine() {\n     *   const fileStream = fs.createReadStream('input.txt');\n     *\n     *   const rl = readline.createInterface({\n     *     input: fileStream,\n     *     crlfDelay: Infinity\n     *   });\n     *   // Note: we use the crlfDelay option to recognize all instances of CR LF\n     *   // ('\\r\\n') in input.txt as a single line break.\n     *\n     *   for await (const line of rl) {\n     *     // Each line in input.txt will be successively available here as `line`.\n     *     console.log(`Line from file: ${line}`);\n     *   }\n     * }\n     *\n     * processLineByLine();\n     * ```\n     *\n     * Alternatively, one could use the `'line'` event:\n     *\n     * ```js\n     * import fs from 'node:fs';\n     * import readline from 'node:readline';\n     *\n     * const rl = readline.createInterface({\n     *   input: fs.createReadStream('sample.txt'),\n     *   crlfDelay: Infinity\n     * });\n     *\n     * rl.on('line', (line) => {\n     *   console.log(`Line from file: ${line}`);\n     * });\n     * ```\n     *\n     * Currently, `for await...of` loop can be a bit slower. If `async` / `await`flow and speed are both essential, a mixed approach can be applied:\n     *\n     * ```js\n     * import { once } from 'node:events';\n     * import { createReadStream } from 'node:fs';\n     * import { createInterface } from 'node:readline';\n     *\n     * (async function processLineByLine() {\n     *   try {\n     *     const rl = createInterface({\n     *       input: createReadStream('big-file.txt'),\n     *       crlfDelay: Infinity\n     *     });\n     *\n     *     rl.on('line', (line) => {\n     *       // Process the line.\n     *     });\n     *\n     *     await once(rl, 'close');\n     *\n     *     console.log('File processed.');\n     *   } catch (err) {\n     *     console.error(err);\n     *   }\n     * })();\n     * ```\n     * @since v0.7.7\n     * @param callback Invoked once the operation completes.\n     * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.\n     */\n    export function moveCursor(stream: NodeJS.WritableStream, dx: number, dy: number, callback?: () => void): boolean;\n}\ndeclare module \"node:readline\" {\n    export * from \"readline\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/readline/promises.d.ts",
      "content": "/**\n * The `readline/promise` module provides an API for reading lines of input from a Readable stream one line at a time.\n *\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/readline/promises.js)\n * @since v17.0.0\n */\ndeclare module \"readline/promises\" {\n    import { Abortable } from \"node:events\";\n    import {\n        CompleterResult,\n        Direction,\n        Interface as _Interface,\n        ReadLineOptions as _ReadLineOptions,\n    } from \"node:readline\";\n\n    class Interface extends _Interface {\n        /**\n         * The rl.question() method displays the query by writing it to the output, waits for user input to be provided on input,\n         * then invokes the callback function passing the provided input as the first argument.\n         *\n         * When called, rl.question() will resume the input stream if it has been paused.\n         *\n         * If the readlinePromises.Interface was created with output set to null or undefined the query is not written.\n         *\n         * If the question is called after rl.close(), it returns a rejected promise.\n         *\n         * Example usage:\n         *\n         * ```js\n         * const answer = await rl.question('What is your favorite food? ');\n         * console.log(`Oh, so your favorite food is ${answer}`);\n         * ```\n         *\n         * Using an AbortSignal to cancel a question.\n         *\n         * ```js\n         * const signal = AbortSignal.timeout(10_000);\n         *\n         * signal.addEventListener('abort', () => {\n         *   console.log('The food question timed out');\n         * }, { once: true });\n         *\n         * const answer = await rl.question('What is your favorite food? ', { signal });\n         * console.log(`Oh, so your favorite food is ${answer}`);\n         * ```\n         *\n         * @since v17.0.0\n         * @param query A statement or query to write to output, prepended to the prompt.\n         */\n        question(query: string): Promise<string>;\n        question(query: string, options: Abortable): Promise<string>;\n    }\n\n    class Readline {\n        /**\n         * @param stream A TTY stream.\n         */\n        constructor(stream: NodeJS.WritableStream, options?: { autoCommit?: boolean });\n        /**\n         * The `rl.clearLine()` method adds to the internal list of pending action an action that clears current line of the associated `stream` in a specified direction identified by `dir`.\n         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.\n         */\n        clearLine(dir: Direction): this;\n        /**\n         * The `rl.clearScreenDown()` method adds to the internal list of pending action an action that clears the associated `stream` from the current position of the cursor down.\n         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.\n         */\n        clearScreenDown(): this;\n        /**\n         * The `rl.commit()` method sends all the pending actions to the associated `stream` and clears the internal list of pending actions.\n         */\n        commit(): Promise<void>;\n        /**\n         * The `rl.cursorTo()` method adds to the internal list of pending action an action that moves cursor to the specified position in the associated `stream`.\n         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.\n         */\n        cursorTo(x: number, y?: number): this;\n        /**\n         * The `rl.moveCursor()` method adds to the internal list of pending action an action that moves the cursor relative to its current position in the associated `stream`.\n         * Call `rl.commit()` to see the effect of this method, unless autoCommit: true was passed to the constructor.\n         */\n        moveCursor(dx: number, dy: number): this;\n        /**\n         * The `rl.rollback()` method clears the internal list of pending actions without sending it to the associated `stream`.\n         */\n        rollback(): this;\n    }\n    type Completer = (line: string) => CompleterResult | Promise<CompleterResult>;\n    interface ReadLineOptions extends Omit<_ReadLineOptions, \"completer\"> {\n        /**\n         * An optional function used for Tab autocompletion.\n         */\n        completer?: Completer | undefined;\n    }\n    /**\n     * The `readlinePromises.createInterface()` method creates a new `readlinePromises.Interface` instance.\n     *\n     * ```js\n     * import readlinePromises from 'node:readline/promises';\n     * const rl = readlinePromises.createInterface({\n     *   input: process.stdin,\n     *   output: process.stdout\n     * });\n     * ```\n     *\n     * Once the `readlinePromises.Interface` instance is created, the most common case is to listen for the `'line'` event:\n     *\n     * ```js\n     * rl.on('line', (line) => {\n     *   console.log(`Received: ${line}`);\n     * });\n     * ```\n     *\n     * If `terminal` is `true` for this instance then the `output` stream will get the best compatibility if it defines an `output.columns` property,\n     * and emits a `'resize'` event on the `output`, if or when the columns ever change (`process.stdout` does this automatically when it is a TTY).\n     *\n     * ## Use of the `completer` function\n     *\n     * The `completer` function takes the current line entered by the user as an argument, and returns an `Array` with 2 entries:\n     *\n     * - An Array with matching entries for the completion.\n     * - The substring that was used for the matching.\n     *\n     * For instance: `[[substr1, substr2, ...], originalsubstring]`.\n     *\n     * ```js\n     * function completer(line) {\n     *   const completions = '.help .error .exit .quit .q'.split(' ');\n     *   const hits = completions.filter((c) => c.startsWith(line));\n     *   // Show all completions if none found\n     *   return [hits.length ? hits : completions, line];\n     * }\n     * ```\n     *\n     * The `completer` function can also returns a `Promise`, or be asynchronous:\n     *\n     * ```js\n     * async function completer(linePartial) {\n     *   await someAsyncWork();\n     *   return [['123'], linePartial];\n     * }\n     * ```\n     */\n    function createInterface(\n        input: NodeJS.ReadableStream,\n        output?: NodeJS.WritableStream,\n        completer?: Completer,\n        terminal?: boolean,\n    ): Interface;\n    function createInterface(options: ReadLineOptions): Interface;\n}\ndeclare module \"node:readline/promises\" {\n    export * from \"readline/promises\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/repl.d.ts",
      "content": "/**\n * The `repl` module provides a Read-Eval-Print-Loop (REPL) implementation that\n * is available both as a standalone program or includible in other applications.\n * It can be accessed using:\n *\n * ```js\n * import repl from 'node:repl';\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/repl.js)\n */\ndeclare module \"repl\" {\n    import { AsyncCompleter, Completer, Interface } from \"node:readline\";\n    import { Context } from \"node:vm\";\n    import { InspectOptions } from \"node:util\";\n    interface ReplOptions {\n        /**\n         * The input prompt to display.\n         * @default \"> \"\n         */\n        prompt?: string | undefined;\n        /**\n         * The `Readable` stream from which REPL input will be read.\n         * @default process.stdin\n         */\n        input?: NodeJS.ReadableStream | undefined;\n        /**\n         * The `Writable` stream to which REPL output will be written.\n         * @default process.stdout\n         */\n        output?: NodeJS.WritableStream | undefined;\n        /**\n         * If `true`, specifies that the output should be treated as a TTY terminal, and have\n         * ANSI/VT100 escape codes written to it.\n         * Default: checking the value of the `isTTY` property on the output stream upon\n         * instantiation.\n         */\n        terminal?: boolean | undefined;\n        /**\n         * The function to be used when evaluating each given line of input.\n         * Default: an async wrapper for the JavaScript `eval()` function. An `eval` function can\n         * error with `repl.Recoverable` to indicate the input was incomplete and prompt for\n         * additional lines.\n         *\n         * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_default_evaluation\n         * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_custom_evaluation_functions\n         */\n        eval?: REPLEval | undefined;\n        /**\n         * Defines if the repl prints output previews or not.\n         * @default `true` Always `false` in case `terminal` is falsy.\n         */\n        preview?: boolean | undefined;\n        /**\n         * If `true`, specifies that the default `writer` function should include ANSI color\n         * styling to REPL output. If a custom `writer` function is provided then this has no\n         * effect.\n         * Default: the REPL instance's `terminal` value.\n         */\n        useColors?: boolean | undefined;\n        /**\n         * If `true`, specifies that the default evaluation function will use the JavaScript\n         * `global` as the context as opposed to creating a new separate context for the REPL\n         * instance. The node CLI REPL sets this value to `true`.\n         * Default: `false`.\n         */\n        useGlobal?: boolean | undefined;\n        /**\n         * If `true`, specifies that the default writer will not output the return value of a\n         * command if it evaluates to `undefined`.\n         * Default: `false`.\n         */\n        ignoreUndefined?: boolean | undefined;\n        /**\n         * The function to invoke to format the output of each command before writing to `output`.\n         * Default: a wrapper for `util.inspect`.\n         *\n         * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_customizing_repl_output\n         */\n        writer?: REPLWriter | undefined;\n        /**\n         * An optional function used for custom Tab auto completion.\n         *\n         * @see https://nodejs.org/dist/latest-v11.x/docs/api/readline.html#readline_use_of_the_completer_function\n         */\n        completer?: Completer | AsyncCompleter | undefined;\n        /**\n         * A flag that specifies whether the default evaluator executes all JavaScript commands in\n         * strict mode or default (sloppy) mode.\n         * Accepted values are:\n         * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode.\n         * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to\n         *   prefacing every repl statement with `'use strict'`.\n         */\n        replMode?: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT | undefined;\n        /**\n         * Stop evaluating the current piece of code when `SIGINT` is received, i.e. `Ctrl+C` is\n         * pressed. This cannot be used together with a custom `eval` function.\n         * Default: `false`.\n         */\n        breakEvalOnSigint?: boolean | undefined;\n    }\n    type REPLEval = (\n        this: REPLServer,\n        evalCmd: string,\n        context: Context,\n        file: string,\n        cb: (err: Error | null, result: any) => void,\n    ) => void;\n    type REPLWriter = (this: REPLServer, obj: any) => string;\n    /**\n     * This is the default \"writer\" value, if none is passed in the REPL options,\n     * and it can be overridden by custom print functions.\n     */\n    const writer: REPLWriter & {\n        options: InspectOptions;\n    };\n    type REPLCommandAction = (this: REPLServer, text: string) => void;\n    interface REPLCommand {\n        /**\n         * Help text to be displayed when `.help` is entered.\n         */\n        help?: string | undefined;\n        /**\n         * The function to execute, optionally accepting a single string argument.\n         */\n        action: REPLCommandAction;\n    }\n    /**\n     * Instances of `repl.REPLServer` are created using the {@link start} method\n     * or directly using the JavaScript `new` keyword.\n     *\n     * ```js\n     * import repl from 'node:repl';\n     *\n     * const options = { useColors: true };\n     *\n     * const firstInstance = repl.start(options);\n     * const secondInstance = new repl.REPLServer(options);\n     * ```\n     * @since v0.1.91\n     */\n    class REPLServer extends Interface {\n        /**\n         * The `vm.Context` provided to the `eval` function to be used for JavaScript\n         * evaluation.\n         */\n        readonly context: Context;\n        /**\n         * @deprecated since v14.3.0 - Use `input` instead.\n         */\n        readonly inputStream: NodeJS.ReadableStream;\n        /**\n         * @deprecated since v14.3.0 - Use `output` instead.\n         */\n        readonly outputStream: NodeJS.WritableStream;\n        /**\n         * The `Readable` stream from which REPL input will be read.\n         */\n        readonly input: NodeJS.ReadableStream;\n        /**\n         * The `Writable` stream to which REPL output will be written.\n         */\n        readonly output: NodeJS.WritableStream;\n        /**\n         * The commands registered via `replServer.defineCommand()`.\n         */\n        readonly commands: NodeJS.ReadOnlyDict<REPLCommand>;\n        /**\n         * A value indicating whether the REPL is currently in \"editor mode\".\n         *\n         * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_commands_and_special_keys\n         */\n        readonly editorMode: boolean;\n        /**\n         * A value indicating whether the `_` variable has been assigned.\n         *\n         * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable\n         */\n        readonly underscoreAssigned: boolean;\n        /**\n         * The last evaluation result from the REPL (assigned to the `_` variable inside of the REPL).\n         *\n         * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable\n         */\n        readonly last: any;\n        /**\n         * A value indicating whether the `_error` variable has been assigned.\n         *\n         * @since v9.8.0\n         * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable\n         */\n        readonly underscoreErrAssigned: boolean;\n        /**\n         * The last error raised inside the REPL (assigned to the `_error` variable inside of the REPL).\n         *\n         * @since v9.8.0\n         * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable\n         */\n        readonly lastError: any;\n        /**\n         * Specified in the REPL options, this is the function to be used when evaluating each\n         * given line of input. If not specified in the REPL options, this is an async wrapper\n         * for the JavaScript `eval()` function.\n         */\n        readonly eval: REPLEval;\n        /**\n         * Specified in the REPL options, this is a value indicating whether the default\n         * `writer` function should include ANSI color styling to REPL output.\n         */\n        readonly useColors: boolean;\n        /**\n         * Specified in the REPL options, this is a value indicating whether the default `eval`\n         * function will use the JavaScript `global` as the context as opposed to creating a new\n         * separate context for the REPL instance.\n         */\n        readonly useGlobal: boolean;\n        /**\n         * Specified in the REPL options, this is a value indicating whether the default `writer`\n         * function should output the result of a command if it evaluates to `undefined`.\n         */\n        readonly ignoreUndefined: boolean;\n        /**\n         * Specified in the REPL options, this is the function to invoke to format the output of\n         * each command before writing to `outputStream`. If not specified in the REPL options,\n         * this will be a wrapper for `util.inspect`.\n         */\n        readonly writer: REPLWriter;\n        /**\n         * Specified in the REPL options, this is the function to use for custom Tab auto-completion.\n         */\n        readonly completer: Completer | AsyncCompleter;\n        /**\n         * Specified in the REPL options, this is a flag that specifies whether the default `eval`\n         * function should execute all JavaScript commands in strict mode or default (sloppy) mode.\n         * Possible values are:\n         * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode.\n         * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to\n         *    prefacing every repl statement with `'use strict'`.\n         */\n        readonly replMode: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT;\n        /**\n         * NOTE: According to the documentation:\n         *\n         * > Instances of `repl.REPLServer` are created using the `repl.start()` method and\n         * > _should not_ be created directly using the JavaScript `new` keyword.\n         *\n         * `REPLServer` cannot be subclassed due to implementation specifics in NodeJS.\n         *\n         * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_class_replserver\n         */\n        private constructor();\n        /**\n         * The `replServer.defineCommand()` method is used to add new `.`\\-prefixed commands\n         * to the REPL instance. Such commands are invoked by typing a `.` followed by the`keyword`. The `cmd` is either a `Function` or an `Object` with the following\n         * properties:\n         *\n         * The following example shows two new commands added to the REPL instance:\n         *\n         * ```js\n         * import repl from 'node:repl';\n         *\n         * const replServer = repl.start({ prompt: '> ' });\n         * replServer.defineCommand('sayhello', {\n         *   help: 'Say hello',\n         *   action(name) {\n         *     this.clearBufferedCommand();\n         *     console.log(`Hello, ${name}!`);\n         *     this.displayPrompt();\n         *   }\n         * });\n         * replServer.defineCommand('saybye', function saybye() {\n         *   console.log('Goodbye!');\n         *   this.close();\n         * });\n         * ```\n         *\n         * The new commands can then be used from within the REPL instance:\n         *\n         * ```console\n         * > .sayhello Node.js User\n         * Hello, Node.js User!\n         * > .saybye\n         * Goodbye!\n         * ```\n         * @since v0.3.0\n         * @param keyword The command keyword (_without_ a leading `.` character).\n         * @param cmd The function to invoke when the command is processed.\n         */\n        defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void;\n        /**\n         * The `replServer.displayPrompt()` method readies the REPL instance for input\n         * from the user, printing the configured `prompt` to a new line in the `output` and resuming the `input` to accept new input.\n         *\n         * When multi-line input is being entered, an ellipsis is printed rather than the\n         * 'prompt'.\n         *\n         * When `preserveCursor` is `true`, the cursor placement will not be reset to `0`.\n         *\n         * The `replServer.displayPrompt` method is primarily intended to be called from\n         * within the action function for commands registered using the`replServer.defineCommand()` method.\n         * @since v0.1.91\n         */\n        displayPrompt(preserveCursor?: boolean): void;\n        /**\n         * The `replServer.clearBufferedCommand()` method clears any command that has been\n         * buffered but not yet executed. This method is primarily intended to be\n         * called from within the action function for commands registered using the`replServer.defineCommand()` method.\n         * @since v9.0.0\n         */\n        clearBufferedCommand(): void;\n        /**\n         * Initializes a history log file for the REPL instance. When executing the\n         * Node.js binary and using the command-line REPL, a history file is initialized\n         * by default. However, this is not the case when creating a REPL\n         * programmatically. Use this method to initialize a history log file when working\n         * with REPL instances programmatically.\n         * @since v11.10.0\n         * @param historyPath the path to the history file\n         * @param callback called when history writes are ready or upon error\n         */\n        setupHistory(path: string, callback: (err: Error | null, repl: this) => void): void;\n        /**\n         * events.EventEmitter\n         * 1. close - inherited from `readline.Interface`\n         * 2. line - inherited from `readline.Interface`\n         * 3. pause - inherited from `readline.Interface`\n         * 4. resume - inherited from `readline.Interface`\n         * 5. SIGCONT - inherited from `readline.Interface`\n         * 6. SIGINT - inherited from `readline.Interface`\n         * 7. SIGTSTP - inherited from `readline.Interface`\n         * 8. exit\n         * 9. reset\n         */\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"close\", listener: () => void): this;\n        addListener(event: \"line\", listener: (input: string) => void): this;\n        addListener(event: \"pause\", listener: () => void): this;\n        addListener(event: \"resume\", listener: () => void): this;\n        addListener(event: \"SIGCONT\", listener: () => void): this;\n        addListener(event: \"SIGINT\", listener: () => void): this;\n        addListener(event: \"SIGTSTP\", listener: () => void): this;\n        addListener(event: \"exit\", listener: () => void): this;\n        addListener(event: \"reset\", listener: (context: Context) => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"close\"): boolean;\n        emit(event: \"line\", input: string): boolean;\n        emit(event: \"pause\"): boolean;\n        emit(event: \"resume\"): boolean;\n        emit(event: \"SIGCONT\"): boolean;\n        emit(event: \"SIGINT\"): boolean;\n        emit(event: \"SIGTSTP\"): boolean;\n        emit(event: \"exit\"): boolean;\n        emit(event: \"reset\", context: Context): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"close\", listener: () => void): this;\n        on(event: \"line\", listener: (input: string) => void): this;\n        on(event: \"pause\", listener: () => void): this;\n        on(event: \"resume\", listener: () => void): this;\n        on(event: \"SIGCONT\", listener: () => void): this;\n        on(event: \"SIGINT\", listener: () => void): this;\n        on(event: \"SIGTSTP\", listener: () => void): this;\n        on(event: \"exit\", listener: () => void): this;\n        on(event: \"reset\", listener: (context: Context) => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"close\", listener: () => void): this;\n        once(event: \"line\", listener: (input: string) => void): this;\n        once(event: \"pause\", listener: () => void): this;\n        once(event: \"resume\", listener: () => void): this;\n        once(event: \"SIGCONT\", listener: () => void): this;\n        once(event: \"SIGINT\", listener: () => void): this;\n        once(event: \"SIGTSTP\", listener: () => void): this;\n        once(event: \"exit\", listener: () => void): this;\n        once(event: \"reset\", listener: (context: Context) => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"close\", listener: () => void): this;\n        prependListener(event: \"line\", listener: (input: string) => void): this;\n        prependListener(event: \"pause\", listener: () => void): this;\n        prependListener(event: \"resume\", listener: () => void): this;\n        prependListener(event: \"SIGCONT\", listener: () => void): this;\n        prependListener(event: \"SIGINT\", listener: () => void): this;\n        prependListener(event: \"SIGTSTP\", listener: () => void): this;\n        prependListener(event: \"exit\", listener: () => void): this;\n        prependListener(event: \"reset\", listener: (context: Context) => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"close\", listener: () => void): this;\n        prependOnceListener(event: \"line\", listener: (input: string) => void): this;\n        prependOnceListener(event: \"pause\", listener: () => void): this;\n        prependOnceListener(event: \"resume\", listener: () => void): this;\n        prependOnceListener(event: \"SIGCONT\", listener: () => void): this;\n        prependOnceListener(event: \"SIGINT\", listener: () => void): this;\n        prependOnceListener(event: \"SIGTSTP\", listener: () => void): this;\n        prependOnceListener(event: \"exit\", listener: () => void): this;\n        prependOnceListener(event: \"reset\", listener: (context: Context) => void): this;\n    }\n    /**\n     * A flag passed in the REPL options. Evaluates expressions in sloppy mode.\n     */\n    const REPL_MODE_SLOPPY: unique symbol;\n    /**\n     * A flag passed in the REPL options. Evaluates expressions in strict mode.\n     * This is equivalent to prefacing every repl statement with `'use strict'`.\n     */\n    const REPL_MODE_STRICT: unique symbol;\n    /**\n     * The `repl.start()` method creates and starts a {@link REPLServer} instance.\n     *\n     * If `options` is a string, then it specifies the input prompt:\n     *\n     * ```js\n     * import repl from 'node:repl';\n     *\n     * // a Unix style prompt\n     * repl.start('$ ');\n     * ```\n     * @since v0.1.91\n     */\n    function start(options?: string | ReplOptions): REPLServer;\n    /**\n     * Indicates a recoverable error that a `REPLServer` can use to support multi-line input.\n     *\n     * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_recoverable_errors\n     */\n    class Recoverable extends SyntaxError {\n        err: Error;\n        constructor(err: Error);\n    }\n}\ndeclare module \"node:repl\" {\n    export * from \"repl\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/stream.d.ts",
      "content": "/**\n * A stream is an abstract interface for working with streaming data in Node.js.\n * The `stream` module provides an API for implementing the stream interface.\n *\n * There are many stream objects provided by Node.js. For instance, a `request to an HTTP server` and `process.stdout` are both stream instances.\n *\n * Streams can be readable, writable, or both. All streams are instances of `EventEmitter`.\n *\n * To access the `stream` module:\n *\n * ```js\n * import stream from 'node:stream';\n * ```\n *\n * The `stream` module is useful for creating new types of stream instances. It is\n * usually not necessary to use the `stream` module to consume streams.\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/stream.js)\n */\ndeclare module \"stream\" {\n    import { Abortable, EventEmitter } from \"node:events\";\n    import { Blob as NodeBlob } from \"node:buffer\";\n    import * as streamPromises from \"node:stream/promises\";\n    import * as streamWeb from \"node:stream/web\";\n\n    type ComposeFnParam = (source: any) => void;\n\n    class Stream extends EventEmitter {\n        pipe<T extends NodeJS.WritableStream>(\n            destination: T,\n            options?: {\n                end?: boolean | undefined;\n            },\n        ): T;\n        compose<T extends NodeJS.ReadableStream>(\n            stream: T | ComposeFnParam | Iterable<T> | AsyncIterable<T>,\n            options?: { signal: AbortSignal },\n        ): T;\n    }\n    namespace Stream {\n        export { Stream, streamPromises as promises };\n    }\n    namespace Stream {\n        interface StreamOptions<T extends Stream> extends Abortable {\n            emitClose?: boolean | undefined;\n            highWaterMark?: number | undefined;\n            objectMode?: boolean | undefined;\n            construct?(this: T, callback: (error?: Error | null) => void): void;\n            destroy?(this: T, error: Error | null, callback: (error?: Error | null) => void): void;\n            autoDestroy?: boolean | undefined;\n        }\n        interface ReadableOptions<T extends Readable = Readable> extends StreamOptions<T> {\n            encoding?: BufferEncoding | undefined;\n            read?(this: T, size: number): void;\n        }\n        interface ArrayOptions {\n            /** the maximum concurrent invocations of `fn` to call on the stream at once. **Default: 1**. */\n            concurrency?: number;\n            /** allows destroying the stream if the signal is aborted. */\n            signal?: AbortSignal;\n        }\n        /**\n         * @since v0.9.4\n         */\n        class Readable extends Stream implements NodeJS.ReadableStream {\n            /**\n             * A utility method for creating Readable Streams out of iterators.\n             */\n            static from(iterable: Iterable<any> | AsyncIterable<any>, options?: ReadableOptions): Readable;\n            /**\n             * A utility method for creating a `Readable` from a web `ReadableStream`.\n             * @since v17.0.0\n             * @experimental\n             */\n            static fromWeb(\n                readableStream: streamWeb.ReadableStream,\n                options?: Pick<ReadableOptions, \"encoding\" | \"highWaterMark\" | \"objectMode\" | \"signal\">,\n            ): Readable;\n            /**\n             * Returns whether the stream has been read from or cancelled.\n             * @since v16.8.0\n             */\n            static isDisturbed(stream: Readable | NodeJS.ReadableStream): boolean;\n            /**\n             * A utility method for creating a web `ReadableStream` from a `Readable`.\n             * @since v17.0.0\n             * @experimental\n             */\n            static toWeb(\n                streamReadable: Readable,\n                options?: {\n                    strategy?: streamWeb.QueuingStrategy | undefined;\n                },\n            ): streamWeb.ReadableStream;\n            /**\n             * Returns whether the stream was destroyed or errored before emitting `'end'`.\n             * @since v16.8.0\n             * @experimental\n             */\n            readonly readableAborted: boolean;\n            /**\n             * Is `true` if it is safe to call `readable.read()`, which means\n             * the stream has not been destroyed or emitted `'error'` or `'end'`.\n             * @since v11.4.0\n             */\n            readable: boolean;\n            /**\n             * Returns whether `'data'` has been emitted.\n             * @since v16.7.0, v14.18.0\n             * @experimental\n             */\n            readonly readableDidRead: boolean;\n            /**\n             * Getter for the property `encoding` of a given `Readable` stream. The `encoding`property can be set using the `readable.setEncoding()` method.\n             * @since v12.7.0\n             */\n            readonly readableEncoding: BufferEncoding | null;\n            /**\n             * Becomes `true` when `'end'` event is emitted.\n             * @since v12.9.0\n             */\n            readonly readableEnded: boolean;\n            /**\n             * This property reflects the current state of a `Readable` stream as described\n             * in the `Three states` section.\n             * @since v9.4.0\n             */\n            readonly readableFlowing: boolean | null;\n            /**\n             * Returns the value of `highWaterMark` passed when creating this `Readable`.\n             * @since v9.3.0\n             */\n            readonly readableHighWaterMark: number;\n            /**\n             * This property contains the number of bytes (or objects) in the queue\n             * ready to be read. The value provides introspection data regarding\n             * the status of the `highWaterMark`.\n             * @since v9.4.0\n             */\n            readonly readableLength: number;\n            /**\n             * Getter for the property `objectMode` of a given `Readable` stream.\n             * @since v12.3.0\n             */\n            readonly readableObjectMode: boolean;\n            /**\n             * Is `true` after `readable.destroy()` has been called.\n             * @since v8.0.0\n             */\n            destroyed: boolean;\n            /**\n             * Is true after 'close' has been emitted.\n             * @since v18.0.0\n             */\n            readonly closed: boolean;\n            /**\n             * Returns error if the stream has been destroyed with an error.\n             * @since v18.0.0\n             */\n            readonly errored: Error | null;\n            constructor(opts?: ReadableOptions);\n            _construct?(callback: (error?: Error | null) => void): void;\n            _read(size: number): void;\n            /**\n             * The `readable.read()` method reads data out of the internal buffer and\n             * returns it. If no data is available to be read, `null` is returned. By default,\n             * the data is returned as a `Buffer` object unless an encoding has been\n             * specified using the `readable.setEncoding()` method or the stream is operating\n             * in object mode.\n             *\n             * The optional `size` argument specifies a specific number of bytes to read. If`size` bytes are not available to be read, `null` will be returned _unless_the stream has ended, in which\n             * case all of the data remaining in the internal\n             * buffer will be returned.\n             *\n             * If the `size` argument is not specified, all of the data contained in the\n             * internal buffer will be returned.\n             *\n             * The `size` argument must be less than or equal to 1 GiB.\n             *\n             * The `readable.read()` method should only be called on `Readable` streams\n             * operating in paused mode. In flowing mode, `readable.read()` is called\n             * automatically until the internal buffer is fully drained.\n             *\n             * ```js\n             * const readable = getReadableStreamSomehow();\n             *\n             * // 'readable' may be triggered multiple times as data is buffered in\n             * readable.on('readable', () => {\n             *   let chunk;\n             *   console.log('Stream is readable (new data received in buffer)');\n             *   // Use a loop to make sure we read all currently available data\n             *   while (null !== (chunk = readable.read())) {\n             *     console.log(`Read ${chunk.length} bytes of data...`);\n             *   }\n             * });\n             *\n             * // 'end' will be triggered once when there is no more data available\n             * readable.on('end', () => {\n             *   console.log('Reached end of stream.');\n             * });\n             * ```\n             *\n             * Each call to `readable.read()` returns a chunk of data, or `null`. The chunks\n             * are not concatenated. A `while` loop is necessary to consume all data\n             * currently in the buffer. When reading a large file `.read()` may return `null`,\n             * having consumed all buffered content so far, but there is still more data to\n             * come not yet buffered. In this case a new `'readable'` event will be emitted\n             * when there is more data in the buffer. Finally the `'end'` event will be\n             * emitted when there is no more data to come.\n             *\n             * Therefore to read a file's whole contents from a `readable`, it is necessary\n             * to collect chunks across multiple `'readable'` events:\n             *\n             * ```js\n             * const chunks = [];\n             *\n             * readable.on('readable', () => {\n             *   let chunk;\n             *   while (null !== (chunk = readable.read())) {\n             *     chunks.push(chunk);\n             *   }\n             * });\n             *\n             * readable.on('end', () => {\n             *   const content = chunks.join('');\n             * });\n             * ```\n             *\n             * A `Readable` stream in object mode will always return a single item from\n             * a call to `readable.read(size)`, regardless of the value of the`size` argument.\n             *\n             * If the `readable.read()` method returns a chunk of data, a `'data'` event will\n             * also be emitted.\n             *\n             * Calling {@link read} after the `'end'` event has\n             * been emitted will return `null`. No runtime error will be raised.\n             * @since v0.9.4\n             * @param size Optional argument to specify how much data to read.\n             */\n            read(size?: number): any;\n            /**\n             * The `readable.setEncoding()` method sets the character encoding for\n             * data read from the `Readable` stream.\n             *\n             * By default, no encoding is assigned and stream data will be returned as`Buffer` objects. Setting an encoding causes the stream data\n             * to be returned as strings of the specified encoding rather than as `Buffer`objects. For instance, calling `readable.setEncoding('utf8')` will cause the\n             * output data to be interpreted as UTF-8 data, and passed as strings. Calling`readable.setEncoding('hex')` will cause the data to be encoded in hexadecimal\n             * string format.\n             *\n             * The `Readable` stream will properly handle multi-byte characters delivered\n             * through the stream that would otherwise become improperly decoded if simply\n             * pulled from the stream as `Buffer` objects.\n             *\n             * ```js\n             * const readable = getReadableStreamSomehow();\n             * readable.setEncoding('utf8');\n             * readable.on('data', (chunk) => {\n             *   assert.equal(typeof chunk, 'string');\n             *   console.log('Got %d characters of string data:', chunk.length);\n             * });\n             * ```\n             * @since v0.9.4\n             * @param encoding The encoding to use.\n             */\n            setEncoding(encoding: BufferEncoding): this;\n            /**\n             * The `readable.pause()` method will cause a stream in flowing mode to stop\n             * emitting `'data'` events, switching out of flowing mode. Any data that\n             * becomes available will remain in the internal buffer.\n             *\n             * ```js\n             * const readable = getReadableStreamSomehow();\n             * readable.on('data', (chunk) => {\n             *   console.log(`Received ${chunk.length} bytes of data.`);\n             *   readable.pause();\n             *   console.log('There will be no additional data for 1 second.');\n             *   setTimeout(() => {\n             *     console.log('Now data will start flowing again.');\n             *     readable.resume();\n             *   }, 1000);\n             * });\n             * ```\n             *\n             * The `readable.pause()` method has no effect if there is a `'readable'`event listener.\n             * @since v0.9.4\n             */\n            pause(): this;\n            /**\n             * The `readable.resume()` method causes an explicitly paused `Readable` stream to\n             * resume emitting `'data'` events, switching the stream into flowing mode.\n             *\n             * The `readable.resume()` method can be used to fully consume the data from a\n             * stream without actually processing any of that data:\n             *\n             * ```js\n             * getReadableStreamSomehow()\n             *   .resume()\n             *   .on('end', () => {\n             *     console.log('Reached the end, but did not read anything.');\n             *   });\n             * ```\n             *\n             * The `readable.resume()` method has no effect if there is a `'readable'`event listener.\n             * @since v0.9.4\n             */\n            resume(): this;\n            /**\n             * The `readable.isPaused()` method returns the current operating state of the`Readable`. This is used primarily by the mechanism that underlies the`readable.pipe()` method. In most\n             * typical cases, there will be no reason to\n             * use this method directly.\n             *\n             * ```js\n             * const readable = new stream.Readable();\n             *\n             * readable.isPaused(); // === false\n             * readable.pause();\n             * readable.isPaused(); // === true\n             * readable.resume();\n             * readable.isPaused(); // === false\n             * ```\n             * @since v0.11.14\n             */\n            isPaused(): boolean;\n            /**\n             * The `readable.unpipe()` method detaches a `Writable` stream previously attached\n             * using the {@link pipe} method.\n             *\n             * If the `destination` is not specified, then _all_ pipes are detached.\n             *\n             * If the `destination` is specified, but no pipe is set up for it, then\n             * the method does nothing.\n             *\n             * ```js\n             * import fs from 'node:fs';\n             * const readable = getReadableStreamSomehow();\n             * const writable = fs.createWriteStream('file.txt');\n             * // All the data from readable goes into 'file.txt',\n             * // but only for the first second.\n             * readable.pipe(writable);\n             * setTimeout(() => {\n             *   console.log('Stop writing to file.txt.');\n             *   readable.unpipe(writable);\n             *   console.log('Manually close the file stream.');\n             *   writable.end();\n             * }, 1000);\n             * ```\n             * @since v0.9.4\n             * @param destination Optional specific stream to unpipe\n             */\n            unpipe(destination?: NodeJS.WritableStream): this;\n            /**\n             * Passing `chunk` as `null` signals the end of the stream (EOF) and behaves the\n             * same as `readable.push(null)`, after which no more data can be written. The EOF\n             * signal is put at the end of the buffer and any buffered data will still be\n             * flushed.\n             *\n             * The `readable.unshift()` method pushes a chunk of data back into the internal\n             * buffer. This is useful in certain situations where a stream is being consumed by\n             * code that needs to \"un-consume\" some amount of data that it has optimistically\n             * pulled out of the source, so that the data can be passed on to some other party.\n             *\n             * The `stream.unshift(chunk)` method cannot be called after the `'end'` event\n             * has been emitted or a runtime error will be thrown.\n             *\n             * Developers using `stream.unshift()` often should consider switching to\n             * use of a `Transform` stream instead. See the `API for stream implementers` section for more information.\n             *\n             * ```js\n             * // Pull off a header delimited by \\n\\n.\n             * // Use unshift() if we get too much.\n             * // Call the callback with (error, header, stream).\n             * import { StringDecoder } from 'node:string_decoder';\n             * function parseHeader(stream, callback) {\n             *   stream.on('error', callback);\n             *   stream.on('readable', onReadable);\n             *   const decoder = new StringDecoder('utf8');\n             *   let header = '';\n             *   function onReadable() {\n             *     let chunk;\n             *     while (null !== (chunk = stream.read())) {\n             *       const str = decoder.write(chunk);\n             *       if (str.includes('\\n\\n')) {\n             *         // Found the header boundary.\n             *         const split = str.split(/\\n\\n/);\n             *         header += split.shift();\n             *         const remaining = split.join('\\n\\n');\n             *         const buf = Buffer.from(remaining, 'utf8');\n             *         stream.removeListener('error', callback);\n             *         // Remove the 'readable' listener before unshifting.\n             *         stream.removeListener('readable', onReadable);\n             *         if (buf.length)\n             *           stream.unshift(buf);\n             *         // Now the body of the message can be read from the stream.\n             *         callback(null, header, stream);\n             *         return;\n             *       }\n             *       // Still reading the header.\n             *       header += str;\n             *     }\n             *   }\n             * }\n             * ```\n             *\n             * Unlike {@link push}, `stream.unshift(chunk)` will not\n             * end the reading process by resetting the internal reading state of the stream.\n             * This can cause unexpected results if `readable.unshift()` is called during a\n             * read (i.e. from within a {@link _read} implementation on a\n             * custom stream). Following the call to `readable.unshift()` with an immediate {@link push} will reset the reading state appropriately,\n             * however it is best to simply avoid calling `readable.unshift()` while in the\n             * process of performing a read.\n             * @since v0.9.11\n             * @param chunk Chunk of data to unshift onto the read queue. For streams not operating in object mode, `chunk` must be a string, `Buffer`, `Uint8Array` or `null`. For object mode\n             * streams, `chunk` may be any JavaScript value.\n             * @param encoding Encoding of string chunks. Must be a valid `Buffer` encoding, such as `'utf8'` or `'ascii'`.\n             */\n            unshift(chunk: any, encoding?: BufferEncoding): void;\n            /**\n             * Prior to Node.js 0.10, streams did not implement the entire `stream` module API\n             * as it is currently defined. (See `Compatibility` for more information.)\n             *\n             * When using an older Node.js library that emits `'data'` events and has a {@link pause} method that is advisory only, the`readable.wrap()` method can be used to create a `Readable`\n             * stream that uses\n             * the old stream as its data source.\n             *\n             * It will rarely be necessary to use `readable.wrap()` but the method has been\n             * provided as a convenience for interacting with older Node.js applications and\n             * libraries.\n             *\n             * ```js\n             * import { OldReader } from './old-api-module.js';\n             * import { Readable } from 'node:stream';\n             * const oreader = new OldReader();\n             * const myReader = new Readable().wrap(oreader);\n             *\n             * myReader.on('readable', () => {\n             *   myReader.read(); // etc.\n             * });\n             * ```\n             * @since v0.9.4\n             * @param stream An \"old style\" readable stream\n             */\n            wrap(stream: NodeJS.ReadableStream): this;\n            push(chunk: any, encoding?: BufferEncoding): boolean;\n            /**\n             * The iterator created by this method gives users the option to cancel the destruction\n             * of the stream if the `for await...of` loop is exited by `return`, `break`, or `throw`,\n             * or if the iterator should destroy the stream if the stream emitted an error during iteration.\n             * @since v16.3.0\n             * @param options.destroyOnReturn When set to `false`, calling `return` on the async iterator,\n             * or exiting a `for await...of` iteration using a `break`, `return`, or `throw` will not destroy the stream.\n             * **Default: `true`**.\n             */\n            iterator(options?: { destroyOnReturn?: boolean }): NodeJS.AsyncIterator<any>;\n            /**\n             * This method allows mapping over the stream. The *fn* function will be called for every chunk in the stream.\n             * If the *fn* function returns a promise - that promise will be `await`ed before being passed to the result stream.\n             * @since v17.4.0, v16.14.0\n             * @param fn a function to map over every chunk in the stream. Async or not.\n             * @returns a stream mapped with the function *fn*.\n             */\n            map(fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => any, options?: ArrayOptions): Readable;\n            /**\n             * This method allows filtering the stream. For each chunk in the stream the *fn* function will be called\n             * and if it returns a truthy value, the chunk will be passed to the result stream.\n             * If the *fn* function returns a promise - that promise will be `await`ed.\n             * @since v17.4.0, v16.14.0\n             * @param fn a function to filter chunks from the stream. Async or not.\n             * @returns a stream filtered with the predicate *fn*.\n             */\n            filter(\n                fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => boolean | Promise<boolean>,\n                options?: ArrayOptions,\n            ): Readable;\n            /**\n             * This method allows iterating a stream. For each chunk in the stream the *fn* function will be called.\n             * If the *fn* function returns a promise - that promise will be `await`ed.\n             *\n             * This method is different from `for await...of` loops in that it can optionally process chunks concurrently.\n             * In addition, a `forEach` iteration can only be stopped by having passed a `signal` option\n             * and aborting the related AbortController while `for await...of` can be stopped with `break` or `return`.\n             * In either case the stream will be destroyed.\n             *\n             * This method is different from listening to the `'data'` event in that it uses the `readable` event\n             * in the underlying machinary and can limit the number of concurrent *fn* calls.\n             * @since v17.5.0\n             * @param fn a function to call on each chunk of the stream. Async or not.\n             * @returns a promise for when the stream has finished.\n             */\n            forEach(\n                fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => void | Promise<void>,\n                options?: ArrayOptions,\n            ): Promise<void>;\n            /**\n             * This method allows easily obtaining the contents of a stream.\n             *\n             * As this method reads the entire stream into memory, it negates the benefits of streams. It's intended\n             * for interoperability and convenience, not as the primary way to consume streams.\n             * @since v17.5.0\n             * @returns a promise containing an array with the contents of the stream.\n             */\n            toArray(options?: Pick<ArrayOptions, \"signal\">): Promise<any[]>;\n            /**\n             * This method is similar to `Array.prototype.some` and calls *fn* on each chunk in the stream\n             * until the awaited return value is `true` (or any truthy value). Once an *fn* call on a chunk\n             * `await`ed return value is truthy, the stream is destroyed and the promise is fulfilled with `true`.\n             * If none of the *fn* calls on the chunks return a truthy value, the promise is fulfilled with `false`.\n             * @since v17.5.0\n             * @param fn a function to call on each chunk of the stream. Async or not.\n             * @returns a promise evaluating to `true` if *fn* returned a truthy value for at least one of the chunks.\n             */\n            some(\n                fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => boolean | Promise<boolean>,\n                options?: ArrayOptions,\n            ): Promise<boolean>;\n            /**\n             * This method is similar to `Array.prototype.find` and calls *fn* on each chunk in the stream\n             * to find a chunk with a truthy value for *fn*. Once an *fn* call's awaited return value is truthy,\n             * the stream is destroyed and the promise is fulfilled with value for which *fn* returned a truthy value.\n             * If all of the *fn* calls on the chunks return a falsy value, the promise is fulfilled with `undefined`.\n             * @since v17.5.0\n             * @param fn a function to call on each chunk of the stream. Async or not.\n             * @returns a promise evaluating to the first chunk for which *fn* evaluated with a truthy value,\n             * or `undefined` if no element was found.\n             */\n            find<T>(\n                fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => data is T,\n                options?: ArrayOptions,\n            ): Promise<T | undefined>;\n            find(\n                fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => boolean | Promise<boolean>,\n                options?: ArrayOptions,\n            ): Promise<any>;\n            /**\n             * This method is similar to `Array.prototype.every` and calls *fn* on each chunk in the stream\n             * to check if all awaited return values are truthy value for *fn*. Once an *fn* call on a chunk\n             * `await`ed return value is falsy, the stream is destroyed and the promise is fulfilled with `false`.\n             * If all of the *fn* calls on the chunks return a truthy value, the promise is fulfilled with `true`.\n             * @since v17.5.0\n             * @param fn a function to call on each chunk of the stream. Async or not.\n             * @returns a promise evaluating to `true` if *fn* returned a truthy value for every one of the chunks.\n             */\n            every(\n                fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => boolean | Promise<boolean>,\n                options?: ArrayOptions,\n            ): Promise<boolean>;\n            /**\n             * This method returns a new stream by applying the given callback to each chunk of the stream\n             * and then flattening the result.\n             *\n             * It is possible to return a stream or another iterable or async iterable from *fn* and the result streams\n             * will be merged (flattened) into the returned stream.\n             * @since v17.5.0\n             * @param fn a function to map over every chunk in the stream. May be async. May be a stream or generator.\n             * @returns a stream flat-mapped with the function *fn*.\n             */\n            flatMap(fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => any, options?: ArrayOptions): Readable;\n            /**\n             * This method returns a new stream with the first *limit* chunks dropped from the start.\n             * @since v17.5.0\n             * @param limit the number of chunks to drop from the readable.\n             * @returns a stream with *limit* chunks dropped from the start.\n             */\n            drop(limit: number, options?: Pick<ArrayOptions, \"signal\">): Readable;\n            /**\n             * This method returns a new stream with the first *limit* chunks.\n             * @since v17.5.0\n             * @param limit the number of chunks to take from the readable.\n             * @returns a stream with *limit* chunks taken.\n             */\n            take(limit: number, options?: Pick<ArrayOptions, \"signal\">): Readable;\n            /**\n             * This method returns a new stream with chunks of the underlying stream paired with a counter\n             * in the form `[index, chunk]`. The first index value is `0` and it increases by 1 for each chunk produced.\n             * @since v17.5.0\n             * @returns a stream of indexed pairs.\n             */\n            asIndexedPairs(options?: Pick<ArrayOptions, \"signal\">): Readable;\n            /**\n             * This method calls *fn* on each chunk of the stream in order, passing it the result from the calculation\n             * on the previous element. It returns a promise for the final value of the reduction.\n             *\n             * If no *initial* value is supplied the first chunk of the stream is used as the initial value.\n             * If the stream is empty, the promise is rejected with a `TypeError` with the `ERR_INVALID_ARGS` code property.\n             *\n             * The reducer function iterates the stream element-by-element which means that there is no *concurrency* parameter\n             * or parallelism. To perform a reduce concurrently, you can extract the async function to `readable.map` method.\n             * @since v17.5.0\n             * @param fn a reducer function to call over every chunk in the stream. Async or not.\n             * @param initial the initial value to use in the reduction.\n             * @returns a promise for the final value of the reduction.\n             */\n            reduce<T = any>(\n                fn: (previous: any, data: any, options?: Pick<ArrayOptions, \"signal\">) => T,\n                initial?: undefined,\n                options?: Pick<ArrayOptions, \"signal\">,\n            ): Promise<T>;\n            reduce<T = any>(\n                fn: (previous: T, data: any, options?: Pick<ArrayOptions, \"signal\">) => T,\n                initial: T,\n                options?: Pick<ArrayOptions, \"signal\">,\n            ): Promise<T>;\n            _destroy(error: Error | null, callback: (error?: Error | null) => void): void;\n            /**\n             * Destroy the stream. Optionally emit an `'error'` event, and emit a `'close'`event (unless `emitClose` is set to `false`). After this call, the readable\n             * stream will release any internal resources and subsequent calls to `push()`will be ignored.\n             *\n             * Once `destroy()` has been called any further calls will be a no-op and no\n             * further errors except from `_destroy()` may be emitted as `'error'`.\n             *\n             * Implementors should not override this method, but instead implement `readable._destroy()`.\n             * @since v8.0.0\n             * @param error Error which will be passed as payload in `'error'` event\n             */\n            destroy(error?: Error): this;\n            /**\n             * Event emitter\n             * The defined events on documents including:\n             * 1. close\n             * 2. data\n             * 3. end\n             * 4. error\n             * 5. pause\n             * 6. readable\n             * 7. resume\n             */\n            addListener(event: \"close\", listener: () => void): this;\n            addListener(event: \"data\", listener: (chunk: any) => void): this;\n            addListener(event: \"end\", listener: () => void): this;\n            addListener(event: \"error\", listener: (err: Error) => void): this;\n            addListener(event: \"pause\", listener: () => void): this;\n            addListener(event: \"readable\", listener: () => void): this;\n            addListener(event: \"resume\", listener: () => void): this;\n            addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n            emit(event: \"close\"): boolean;\n            emit(event: \"data\", chunk: any): boolean;\n            emit(event: \"end\"): boolean;\n            emit(event: \"error\", err: Error): boolean;\n            emit(event: \"pause\"): boolean;\n            emit(event: \"readable\"): boolean;\n            emit(event: \"resume\"): boolean;\n            emit(event: string | symbol, ...args: any[]): boolean;\n            on(event: \"close\", listener: () => void): this;\n            on(event: \"data\", listener: (chunk: any) => void): this;\n            on(event: \"end\", listener: () => void): this;\n            on(event: \"error\", listener: (err: Error) => void): this;\n            on(event: \"pause\", listener: () => void): this;\n            on(event: \"readable\", listener: () => void): this;\n            on(event: \"resume\", listener: () => void): this;\n            on(event: string | symbol, listener: (...args: any[]) => void): this;\n            once(event: \"close\", listener: () => void): this;\n            once(event: \"data\", listener: (chunk: any) => void): this;\n            once(event: \"end\", listener: () => void): this;\n            once(event: \"error\", listener: (err: Error) => void): this;\n            once(event: \"pause\", listener: () => void): this;\n            once(event: \"readable\", listener: () => void): this;\n            once(event: \"resume\", listener: () => void): this;\n            once(event: string | symbol, listener: (...args: any[]) => void): this;\n            prependListener(event: \"close\", listener: () => void): this;\n            prependListener(event: \"data\", listener: (chunk: any) => void): this;\n            prependListener(event: \"end\", listener: () => void): this;\n            prependListener(event: \"error\", listener: (err: Error) => void): this;\n            prependListener(event: \"pause\", listener: () => void): this;\n            prependListener(event: \"readable\", listener: () => void): this;\n            prependListener(event: \"resume\", listener: () => void): this;\n            prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n            prependOnceListener(event: \"close\", listener: () => void): this;\n            prependOnceListener(event: \"data\", listener: (chunk: any) => void): this;\n            prependOnceListener(event: \"end\", listener: () => void): this;\n            prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n            prependOnceListener(event: \"pause\", listener: () => void): this;\n            prependOnceListener(event: \"readable\", listener: () => void): this;\n            prependOnceListener(event: \"resume\", listener: () => void): this;\n            prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n            removeListener(event: \"close\", listener: () => void): this;\n            removeListener(event: \"data\", listener: (chunk: any) => void): this;\n            removeListener(event: \"end\", listener: () => void): this;\n            removeListener(event: \"error\", listener: (err: Error) => void): this;\n            removeListener(event: \"pause\", listener: () => void): this;\n            removeListener(event: \"readable\", listener: () => void): this;\n            removeListener(event: \"resume\", listener: () => void): this;\n            removeListener(event: string | symbol, listener: (...args: any[]) => void): this;\n            [Symbol.asyncIterator](): NodeJS.AsyncIterator<any>;\n            /**\n             * Calls `readable.destroy()` with an `AbortError` and returns a promise that fulfills when the stream is finished.\n             * @since v18.18.0\n             */\n            [Symbol.asyncDispose](): Promise<void>;\n        }\n        interface WritableOptions<T extends Writable = Writable> extends StreamOptions<T> {\n            decodeStrings?: boolean | undefined;\n            defaultEncoding?: BufferEncoding | undefined;\n            write?(\n                this: T,\n                chunk: any,\n                encoding: BufferEncoding,\n                callback: (error?: Error | null) => void,\n            ): void;\n            writev?(\n                this: T,\n                chunks: Array<{\n                    chunk: any;\n                    encoding: BufferEncoding;\n                }>,\n                callback: (error?: Error | null) => void,\n            ): void;\n            final?(this: T, callback: (error?: Error | null) => void): void;\n        }\n        /**\n         * @since v0.9.4\n         */\n        class Writable extends Stream implements NodeJS.WritableStream {\n            /**\n             * A utility method for creating a `Writable` from a web `WritableStream`.\n             * @since v17.0.0\n             * @experimental\n             */\n            static fromWeb(\n                writableStream: streamWeb.WritableStream,\n                options?: Pick<WritableOptions, \"decodeStrings\" | \"highWaterMark\" | \"objectMode\" | \"signal\">,\n            ): Writable;\n            /**\n             * A utility method for creating a web `WritableStream` from a `Writable`.\n             * @since v17.0.0\n             * @experimental\n             */\n            static toWeb(streamWritable: Writable): streamWeb.WritableStream;\n            /**\n             * Is `true` if it is safe to call `writable.write()`, which means\n             * the stream has not been destroyed, errored or ended.\n             * @since v11.4.0\n             */\n            readonly writable: boolean;\n            /**\n             * Returns whether the stream was destroyed or errored before emitting `'finish'`.\n             * @since v18.0.0, v16.17.0\n             * @experimental\n             */\n            readonly writableAborted: boolean;\n            /**\n             * Is `true` after `writable.end()` has been called. This property\n             * does not indicate whether the data has been flushed, for this use `writable.writableFinished` instead.\n             * @since v12.9.0\n             */\n            readonly writableEnded: boolean;\n            /**\n             * Is set to `true` immediately before the `'finish'` event is emitted.\n             * @since v12.6.0\n             */\n            readonly writableFinished: boolean;\n            /**\n             * Return the value of `highWaterMark` passed when creating this `Writable`.\n             * @since v9.3.0\n             */\n            readonly writableHighWaterMark: number;\n            /**\n             * This property contains the number of bytes (or objects) in the queue\n             * ready to be written. The value provides introspection data regarding\n             * the status of the `highWaterMark`.\n             * @since v9.4.0\n             */\n            readonly writableLength: number;\n            /**\n             * Getter for the property `objectMode` of a given `Writable` stream.\n             * @since v12.3.0\n             */\n            readonly writableObjectMode: boolean;\n            /**\n             * Number of times `writable.uncork()` needs to be\n             * called in order to fully uncork the stream.\n             * @since v13.2.0, v12.16.0\n             */\n            readonly writableCorked: number;\n            /**\n             * Is `true` after `writable.destroy()` has been called.\n             * @since v8.0.0\n             */\n            destroyed: boolean;\n            /**\n             * Is true after 'close' has been emitted.\n             * @since v18.0.0\n             */\n            readonly closed: boolean;\n            /**\n             * Returns error if the stream has been destroyed with an error.\n             * @since v18.0.0\n             */\n            readonly errored: Error | null;\n            /**\n             * Is `true` if the stream's buffer has been full and stream will emit 'drain'.\n             * @since v15.2.0, v14.17.0\n             */\n            readonly writableNeedDrain: boolean;\n            constructor(opts?: WritableOptions);\n            _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;\n            _writev?(\n                chunks: Array<{\n                    chunk: any;\n                    encoding: BufferEncoding;\n                }>,\n                callback: (error?: Error | null) => void,\n            ): void;\n            _construct?(callback: (error?: Error | null) => void): void;\n            _destroy(error: Error | null, callback: (error?: Error | null) => void): void;\n            _final(callback: (error?: Error | null) => void): void;\n            /**\n             * The `writable.write()` method writes some data to the stream, and calls the\n             * supplied `callback` once the data has been fully handled. If an error\n             * occurs, the `callback` will be called with the error as its\n             * first argument. The `callback` is called asynchronously and before `'error'` is\n             * emitted.\n             *\n             * The return value is `true` if the internal buffer is less than the`highWaterMark` configured when the stream was created after admitting `chunk`.\n             * If `false` is returned, further attempts to write data to the stream should\n             * stop until the `'drain'` event is emitted.\n             *\n             * While a stream is not draining, calls to `write()` will buffer `chunk`, and\n             * return false. Once all currently buffered chunks are drained (accepted for\n             * delivery by the operating system), the `'drain'` event will be emitted.\n             * Once `write()` returns false, do not write more chunks\n             * until the `'drain'` event is emitted. While calling `write()` on a stream that\n             * is not draining is allowed, Node.js will buffer all written chunks until\n             * maximum memory usage occurs, at which point it will abort unconditionally.\n             * Even before it aborts, high memory usage will cause poor garbage collector\n             * performance and high RSS (which is not typically released back to the system,\n             * even after the memory is no longer required). Since TCP sockets may never\n             * drain if the remote peer does not read the data, writing a socket that is\n             * not draining may lead to a remotely exploitable vulnerability.\n             *\n             * Writing data while the stream is not draining is particularly\n             * problematic for a `Transform`, because the `Transform` streams are paused\n             * by default until they are piped or a `'data'` or `'readable'` event handler\n             * is added.\n             *\n             * If the data to be written can be generated or fetched on demand, it is\n             * recommended to encapsulate the logic into a `Readable` and use {@link pipe}. However, if calling `write()` is preferred, it is\n             * possible to respect backpressure and avoid memory issues using the `'drain'` event:\n             *\n             * ```js\n             * function write(data, cb) {\n             *   if (!stream.write(data)) {\n             *     stream.once('drain', cb);\n             *   } else {\n             *     process.nextTick(cb);\n             *   }\n             * }\n             *\n             * // Wait for cb to be called before doing any other write.\n             * write('hello', () => {\n             *   console.log('Write completed, do more writes now.');\n             * });\n             * ```\n             *\n             * A `Writable` stream in object mode will always ignore the `encoding` argument.\n             * @since v0.9.4\n             * @param chunk Optional data to write. For streams not operating in object mode, `chunk` must be a string, `Buffer` or `Uint8Array`. For object mode streams, `chunk` may be any\n             * JavaScript value other than `null`.\n             * @param [encoding='utf8'] The encoding, if `chunk` is a string.\n             * @param callback Callback for when this chunk of data is flushed.\n             * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.\n             */\n            write(chunk: any, callback?: (error: Error | null | undefined) => void): boolean;\n            write(chunk: any, encoding: BufferEncoding, callback?: (error: Error | null | undefined) => void): boolean;\n            /**\n             * The `writable.setDefaultEncoding()` method sets the default `encoding` for a `Writable` stream.\n             * @since v0.11.15\n             * @param encoding The new default encoding\n             */\n            setDefaultEncoding(encoding: BufferEncoding): this;\n            /**\n             * Calling the `writable.end()` method signals that no more data will be written\n             * to the `Writable`. The optional `chunk` and `encoding` arguments allow one\n             * final additional chunk of data to be written immediately before closing the\n             * stream.\n             *\n             * Calling the {@link write} method after calling {@link end} will raise an error.\n             *\n             * ```js\n             * // Write 'hello, ' and then end with 'world!'.\n             * import fs from 'node:fs';\n             * const file = fs.createWriteStream('example.txt');\n             * file.write('hello, ');\n             * file.end('world!');\n             * // Writing more now is not allowed!\n             * ```\n             * @since v0.9.4\n             * @param chunk Optional data to write. For streams not operating in object mode, `chunk` must be a string, `Buffer` or `Uint8Array`. For object mode streams, `chunk` may be any\n             * JavaScript value other than `null`.\n             * @param encoding The encoding if `chunk` is a string\n             * @param callback Callback for when the stream is finished.\n             */\n            end(cb?: () => void): this;\n            end(chunk: any, cb?: () => void): this;\n            end(chunk: any, encoding: BufferEncoding, cb?: () => void): this;\n            /**\n             * The `writable.cork()` method forces all written data to be buffered in memory.\n             * The buffered data will be flushed when either the {@link uncork} or {@link end} methods are called.\n             *\n             * The primary intent of `writable.cork()` is to accommodate a situation in which\n             * several small chunks are written to the stream in rapid succession. Instead of\n             * immediately forwarding them to the underlying destination, `writable.cork()`buffers all the chunks until `writable.uncork()` is called, which will pass them\n             * all to `writable._writev()`, if present. This prevents a head-of-line blocking\n             * situation where data is being buffered while waiting for the first small chunk\n             * to be processed. However, use of `writable.cork()` without implementing`writable._writev()` may have an adverse effect on throughput.\n             *\n             * See also: `writable.uncork()`, `writable._writev()`.\n             * @since v0.11.2\n             */\n            cork(): void;\n            /**\n             * The `writable.uncork()` method flushes all data buffered since {@link cork} was called.\n             *\n             * When using `writable.cork()` and `writable.uncork()` to manage the buffering\n             * of writes to a stream, defer calls to `writable.uncork()` using`process.nextTick()`. Doing so allows batching of all`writable.write()` calls that occur within a given Node.js event\n             * loop phase.\n             *\n             * ```js\n             * stream.cork();\n             * stream.write('some ');\n             * stream.write('data ');\n             * process.nextTick(() => stream.uncork());\n             * ```\n             *\n             * If the `writable.cork()` method is called multiple times on a stream, the\n             * same number of calls to `writable.uncork()` must be called to flush the buffered\n             * data.\n             *\n             * ```js\n             * stream.cork();\n             * stream.write('some ');\n             * stream.cork();\n             * stream.write('data ');\n             * process.nextTick(() => {\n             *   stream.uncork();\n             *   // The data will not be flushed until uncork() is called a second time.\n             *   stream.uncork();\n             * });\n             * ```\n             *\n             * See also: `writable.cork()`.\n             * @since v0.11.2\n             */\n            uncork(): void;\n            /**\n             * Destroy the stream. Optionally emit an `'error'` event, and emit a `'close'`event (unless `emitClose` is set to `false`). After this call, the writable\n             * stream has ended and subsequent calls to `write()` or `end()` will result in\n             * an `ERR_STREAM_DESTROYED` error.\n             * This is a destructive and immediate way to destroy a stream. Previous calls to`write()` may not have drained, and may trigger an `ERR_STREAM_DESTROYED` error.\n             * Use `end()` instead of destroy if data should flush before close, or wait for\n             * the `'drain'` event before destroying the stream.\n             *\n             * Once `destroy()` has been called any further calls will be a no-op and no\n             * further errors except from `_destroy()` may be emitted as `'error'`.\n             *\n             * Implementors should not override this method,\n             * but instead implement `writable._destroy()`.\n             * @since v8.0.0\n             * @param error Optional, an error to emit with `'error'` event.\n             */\n            destroy(error?: Error): this;\n            /**\n             * Event emitter\n             * The defined events on documents including:\n             * 1. close\n             * 2. drain\n             * 3. error\n             * 4. finish\n             * 5. pipe\n             * 6. unpipe\n             */\n            addListener(event: \"close\", listener: () => void): this;\n            addListener(event: \"drain\", listener: () => void): this;\n            addListener(event: \"error\", listener: (err: Error) => void): this;\n            addListener(event: \"finish\", listener: () => void): this;\n            addListener(event: \"pipe\", listener: (src: Readable) => void): this;\n            addListener(event: \"unpipe\", listener: (src: Readable) => void): this;\n            addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n            emit(event: \"close\"): boolean;\n            emit(event: \"drain\"): boolean;\n            emit(event: \"error\", err: Error): boolean;\n            emit(event: \"finish\"): boolean;\n            emit(event: \"pipe\", src: Readable): boolean;\n            emit(event: \"unpipe\", src: Readable): boolean;\n            emit(event: string | symbol, ...args: any[]): boolean;\n            on(event: \"close\", listener: () => void): this;\n            on(event: \"drain\", listener: () => void): this;\n            on(event: \"error\", listener: (err: Error) => void): this;\n            on(event: \"finish\", listener: () => void): this;\n            on(event: \"pipe\", listener: (src: Readable) => void): this;\n            on(event: \"unpipe\", listener: (src: Readable) => void): this;\n            on(event: string | symbol, listener: (...args: any[]) => void): this;\n            once(event: \"close\", listener: () => void): this;\n            once(event: \"drain\", listener: () => void): this;\n            once(event: \"error\", listener: (err: Error) => void): this;\n            once(event: \"finish\", listener: () => void): this;\n            once(event: \"pipe\", listener: (src: Readable) => void): this;\n            once(event: \"unpipe\", listener: (src: Readable) => void): this;\n            once(event: string | symbol, listener: (...args: any[]) => void): this;\n            prependListener(event: \"close\", listener: () => void): this;\n            prependListener(event: \"drain\", listener: () => void): this;\n            prependListener(event: \"error\", listener: (err: Error) => void): this;\n            prependListener(event: \"finish\", listener: () => void): this;\n            prependListener(event: \"pipe\", listener: (src: Readable) => void): this;\n            prependListener(event: \"unpipe\", listener: (src: Readable) => void): this;\n            prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n            prependOnceListener(event: \"close\", listener: () => void): this;\n            prependOnceListener(event: \"drain\", listener: () => void): this;\n            prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n            prependOnceListener(event: \"finish\", listener: () => void): this;\n            prependOnceListener(event: \"pipe\", listener: (src: Readable) => void): this;\n            prependOnceListener(event: \"unpipe\", listener: (src: Readable) => void): this;\n            prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n            removeListener(event: \"close\", listener: () => void): this;\n            removeListener(event: \"drain\", listener: () => void): this;\n            removeListener(event: \"error\", listener: (err: Error) => void): this;\n            removeListener(event: \"finish\", listener: () => void): this;\n            removeListener(event: \"pipe\", listener: (src: Readable) => void): this;\n            removeListener(event: \"unpipe\", listener: (src: Readable) => void): this;\n            removeListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        }\n        interface DuplexOptions<T extends Duplex = Duplex> extends ReadableOptions<T>, WritableOptions<T> {\n            allowHalfOpen?: boolean | undefined;\n            readableObjectMode?: boolean | undefined;\n            writableObjectMode?: boolean | undefined;\n            readableHighWaterMark?: number | undefined;\n            writableHighWaterMark?: number | undefined;\n            writableCorked?: number | undefined;\n        }\n        /**\n         * Duplex streams are streams that implement both the `Readable` and `Writable` interfaces.\n         *\n         * Examples of `Duplex` streams include:\n         *\n         * * `TCP sockets`\n         * * `zlib streams`\n         * * `crypto streams`\n         * @since v0.9.4\n         */\n        class Duplex extends Stream implements NodeJS.ReadWriteStream {\n            /**\n             * If `false` then the stream will automatically end the writable side when the\n             * readable side ends. Set initially by the `allowHalfOpen` constructor option,\n             * which defaults to `false`.\n             *\n             * This can be changed manually to change the half-open behavior of an existing`Duplex` stream instance, but must be changed before the `'end'` event is\n             * emitted.\n             * @since v0.9.4\n             */\n            allowHalfOpen: boolean;\n            constructor(opts?: DuplexOptions);\n            /**\n             * A utility method for creating duplex streams.\n             *\n             * - `Stream` converts writable stream into writable `Duplex` and readable stream\n             *   to `Duplex`.\n             * - `Blob` converts into readable `Duplex`.\n             * - `string` converts into readable `Duplex`.\n             * - `ArrayBuffer` converts into readable `Duplex`.\n             * - `AsyncIterable` converts into a readable `Duplex`. Cannot yield `null`.\n             * - `AsyncGeneratorFunction` converts into a readable/writable transform\n             *   `Duplex`. Must take a source `AsyncIterable` as first parameter. Cannot yield\n             *   `null`.\n             * - `AsyncFunction` converts into a writable `Duplex`. Must return\n             *   either `null` or `undefined`\n             * - `Object ({ writable, readable })` converts `readable` and\n             *   `writable` into `Stream` and then combines them into `Duplex` where the\n             *   `Duplex` will write to the `writable` and read from the `readable`.\n             * - `Promise` converts into readable `Duplex`. Value `null` is ignored.\n             *\n             * @since v16.8.0\n             */\n            static from(\n                src:\n                    | Stream\n                    | NodeBlob\n                    | ArrayBuffer\n                    | string\n                    | Iterable<any>\n                    | AsyncIterable<any>\n                    | AsyncGeneratorFunction\n                    | Promise<any>\n                    | Object,\n            ): Duplex;\n            /**\n             * Event emitter\n             * The defined events on documents including:\n             * 1.  close\n             * 2.  data\n             * 3.  drain\n             * 4.  end\n             * 5.  error\n             * 6.  finish\n             * 7.  pause\n             * 8.  pipe\n             * 9.  readable\n             * 10. resume\n             * 11. unpipe\n             */\n            addListener(event: \"close\", listener: () => void): this;\n            addListener(event: \"data\", listener: (chunk: any) => void): this;\n            addListener(event: \"drain\", listener: () => void): this;\n            addListener(event: \"end\", listener: () => void): this;\n            addListener(event: \"error\", listener: (err: Error) => void): this;\n            addListener(event: \"finish\", listener: () => void): this;\n            addListener(event: \"pause\", listener: () => void): this;\n            addListener(event: \"pipe\", listener: (src: Readable) => void): this;\n            addListener(event: \"readable\", listener: () => void): this;\n            addListener(event: \"resume\", listener: () => void): this;\n            addListener(event: \"unpipe\", listener: (src: Readable) => void): this;\n            addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n            emit(event: \"close\"): boolean;\n            emit(event: \"data\", chunk: any): boolean;\n            emit(event: \"drain\"): boolean;\n            emit(event: \"end\"): boolean;\n            emit(event: \"error\", err: Error): boolean;\n            emit(event: \"finish\"): boolean;\n            emit(event: \"pause\"): boolean;\n            emit(event: \"pipe\", src: Readable): boolean;\n            emit(event: \"readable\"): boolean;\n            emit(event: \"resume\"): boolean;\n            emit(event: \"unpipe\", src: Readable): boolean;\n            emit(event: string | symbol, ...args: any[]): boolean;\n            on(event: \"close\", listener: () => void): this;\n            on(event: \"data\", listener: (chunk: any) => void): this;\n            on(event: \"drain\", listener: () => void): this;\n            on(event: \"end\", listener: () => void): this;\n            on(event: \"error\", listener: (err: Error) => void): this;\n            on(event: \"finish\", listener: () => void): this;\n            on(event: \"pause\", listener: () => void): this;\n            on(event: \"pipe\", listener: (src: Readable) => void): this;\n            on(event: \"readable\", listener: () => void): this;\n            on(event: \"resume\", listener: () => void): this;\n            on(event: \"unpipe\", listener: (src: Readable) => void): this;\n            on(event: string | symbol, listener: (...args: any[]) => void): this;\n            once(event: \"close\", listener: () => void): this;\n            once(event: \"data\", listener: (chunk: any) => void): this;\n            once(event: \"drain\", listener: () => void): this;\n            once(event: \"end\", listener: () => void): this;\n            once(event: \"error\", listener: (err: Error) => void): this;\n            once(event: \"finish\", listener: () => void): this;\n            once(event: \"pause\", listener: () => void): this;\n            once(event: \"pipe\", listener: (src: Readable) => void): this;\n            once(event: \"readable\", listener: () => void): this;\n            once(event: \"resume\", listener: () => void): this;\n            once(event: \"unpipe\", listener: (src: Readable) => void): this;\n            once(event: string | symbol, listener: (...args: any[]) => void): this;\n            prependListener(event: \"close\", listener: () => void): this;\n            prependListener(event: \"data\", listener: (chunk: any) => void): this;\n            prependListener(event: \"drain\", listener: () => void): this;\n            prependListener(event: \"end\", listener: () => void): this;\n            prependListener(event: \"error\", listener: (err: Error) => void): this;\n            prependListener(event: \"finish\", listener: () => void): this;\n            prependListener(event: \"pause\", listener: () => void): this;\n            prependListener(event: \"pipe\", listener: (src: Readable) => void): this;\n            prependListener(event: \"readable\", listener: () => void): this;\n            prependListener(event: \"resume\", listener: () => void): this;\n            prependListener(event: \"unpipe\", listener: (src: Readable) => void): this;\n            prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n            prependOnceListener(event: \"close\", listener: () => void): this;\n            prependOnceListener(event: \"data\", listener: (chunk: any) => void): this;\n            prependOnceListener(event: \"drain\", listener: () => void): this;\n            prependOnceListener(event: \"end\", listener: () => void): this;\n            prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n            prependOnceListener(event: \"finish\", listener: () => void): this;\n            prependOnceListener(event: \"pause\", listener: () => void): this;\n            prependOnceListener(event: \"pipe\", listener: (src: Readable) => void): this;\n            prependOnceListener(event: \"readable\", listener: () => void): this;\n            prependOnceListener(event: \"resume\", listener: () => void): this;\n            prependOnceListener(event: \"unpipe\", listener: (src: Readable) => void): this;\n            prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n            removeListener(event: \"close\", listener: () => void): this;\n            removeListener(event: \"data\", listener: (chunk: any) => void): this;\n            removeListener(event: \"drain\", listener: () => void): this;\n            removeListener(event: \"end\", listener: () => void): this;\n            removeListener(event: \"error\", listener: (err: Error) => void): this;\n            removeListener(event: \"finish\", listener: () => void): this;\n            removeListener(event: \"pause\", listener: () => void): this;\n            removeListener(event: \"pipe\", listener: (src: Readable) => void): this;\n            removeListener(event: \"readable\", listener: () => void): this;\n            removeListener(event: \"resume\", listener: () => void): this;\n            removeListener(event: \"unpipe\", listener: (src: Readable) => void): this;\n            removeListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        }\n        interface Duplex extends Readable, Writable {}\n        type TransformCallback = (error?: Error | null, data?: any) => void;\n        interface TransformOptions<T extends Transform = Transform> extends DuplexOptions<T> {\n            transform?(this: T, chunk: any, encoding: BufferEncoding, callback: TransformCallback): void;\n            flush?(this: T, callback: TransformCallback): void;\n        }\n        /**\n         * Transform streams are `Duplex` streams where the output is in some way\n         * related to the input. Like all `Duplex` streams, `Transform` streams\n         * implement both the `Readable` and `Writable` interfaces.\n         *\n         * Examples of `Transform` streams include:\n         *\n         * * `zlib streams`\n         * * `crypto streams`\n         * @since v0.9.4\n         */\n        class Transform extends Duplex {\n            constructor(opts?: TransformOptions);\n            _transform(chunk: any, encoding: BufferEncoding, callback: TransformCallback): void;\n            _flush(callback: TransformCallback): void;\n        }\n        /**\n         * The `stream.PassThrough` class is a trivial implementation of a `Transform` stream that simply passes the input bytes across to the output. Its purpose is\n         * primarily for examples and testing, but there are some use cases where`stream.PassThrough` is useful as a building block for novel sorts of streams.\n         */\n        class PassThrough extends Transform {}\n        /**\n         * Attaches an AbortSignal to a readable or writeable stream. This lets code\n         * control stream destruction using an `AbortController`.\n         *\n         * Calling `abort` on the `AbortController` corresponding to the passed`AbortSignal` will behave the same way as calling `.destroy(new AbortError())`on the stream.\n         *\n         * ```js\n         * import fs from 'node:fs';\n         *\n         * const controller = new AbortController();\n         * const read = addAbortSignal(\n         *   controller.signal,\n         *   fs.createReadStream(('object.json'))\n         * );\n         * // Later, abort the operation closing the stream\n         * controller.abort();\n         * ```\n         *\n         * Or using an `AbortSignal` with a readable stream as an async iterable:\n         *\n         * ```js\n         * const controller = new AbortController();\n         * setTimeout(() => controller.abort(), 10_000); // set a timeout\n         * const stream = addAbortSignal(\n         *   controller.signal,\n         *   fs.createReadStream(('object.json'))\n         * );\n         * (async () => {\n         *   try {\n         *     for await (const chunk of stream) {\n         *       await process(chunk);\n         *     }\n         *   } catch (e) {\n         *     if (e.name === 'AbortError') {\n         *       // The operation was cancelled\n         *     } else {\n         *       throw e;\n         *     }\n         *   }\n         * })();\n         * ```\n         * @since v15.4.0\n         * @param signal A signal representing possible cancellation\n         * @param stream a stream to attach a signal to\n         */\n        function addAbortSignal<T extends Stream>(signal: AbortSignal, stream: T): T;\n        /**\n         * Returns the default highWaterMark used by streams.\n         * Defaults to `16384` (16 KiB), or `16` for `objectMode`.\n         * @since v18.17.0\n         * @param objectMode\n         */\n        function getDefaultHighWaterMark(objectMode: boolean): number;\n        /**\n         * Sets the default highWaterMark used by streams.\n         * @since v18.17.0\n         * @param objectMode\n         * @param value highWaterMark value\n         */\n        function setDefaultHighWaterMark(objectMode: boolean, value: number): void;\n        interface FinishedOptions extends Abortable {\n            error?: boolean | undefined;\n            readable?: boolean | undefined;\n            writable?: boolean | undefined;\n        }\n        /**\n         * A function to get notified when a stream is no longer readable, writable\n         * or has experienced an error or a premature close event.\n         *\n         * ```js\n         * import { finished } from 'node:stream';\n         *\n         * const rs = fs.createReadStream('archive.tar');\n         *\n         * finished(rs, (err) => {\n         *   if (err) {\n         *     console.error('Stream failed.', err);\n         *   } else {\n         *     console.log('Stream is done reading.');\n         *   }\n         * });\n         *\n         * rs.resume(); // Drain the stream.\n         * ```\n         *\n         * Especially useful in error handling scenarios where a stream is destroyed\n         * prematurely (like an aborted HTTP request), and will not emit `'end'` or `'finish'`.\n         *\n         * The `finished` API provides promise version:\n         *\n         * ```js\n         * import { finished } from 'node:stream/promises';\n         *\n         * const rs = fs.createReadStream('archive.tar');\n         *\n         * async function run() {\n         *   await finished(rs);\n         *   console.log('Stream is done reading.');\n         * }\n         *\n         * run().catch(console.error);\n         * rs.resume(); // Drain the stream.\n         * ```\n         *\n         * `stream.finished()` leaves dangling event listeners (in particular`'error'`, `'end'`, `'finish'` and `'close'`) after `callback` has been\n         * invoked. The reason for this is so that unexpected `'error'` events (due to\n         * incorrect stream implementations) do not cause unexpected crashes.\n         * If this is unwanted behavior then the returned cleanup function needs to be\n         * invoked in the callback:\n         *\n         * ```js\n         * const cleanup = finished(rs, (err) => {\n         *   cleanup();\n         *   // ...\n         * });\n         * ```\n         * @since v10.0.0\n         * @param stream A readable and/or writable stream.\n         * @param callback A callback function that takes an optional error argument.\n         * @return A cleanup function which removes all registered listeners.\n         */\n        function finished(\n            stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream,\n            options: FinishedOptions,\n            callback: (err?: NodeJS.ErrnoException | null) => void,\n        ): () => void;\n        function finished(\n            stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream,\n            callback: (err?: NodeJS.ErrnoException | null) => void,\n        ): () => void;\n        namespace finished {\n            function __promisify__(\n                stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream,\n                options?: FinishedOptions,\n            ): Promise<void>;\n        }\n        type PipelineSourceFunction<T> = () => Iterable<T> | AsyncIterable<T>;\n        type PipelineSource<T> = Iterable<T> | AsyncIterable<T> | NodeJS.ReadableStream | PipelineSourceFunction<T>;\n        type PipelineTransform<S extends PipelineTransformSource<any>, U> =\n            | NodeJS.ReadWriteStream\n            | ((\n                source: S extends (...args: any[]) => Iterable<infer ST> | AsyncIterable<infer ST> ? AsyncIterable<ST>\n                    : S,\n            ) => AsyncIterable<U>);\n        type PipelineTransformSource<T> = PipelineSource<T> | PipelineTransform<any, T>;\n        type PipelineDestinationIterableFunction<T> = (source: AsyncIterable<T>) => AsyncIterable<any>;\n        type PipelineDestinationPromiseFunction<T, P> = (source: AsyncIterable<T>) => Promise<P>;\n        type PipelineDestination<S extends PipelineTransformSource<any>, P> = S extends\n            PipelineTransformSource<infer ST> ?\n                | NodeJS.WritableStream\n                | PipelineDestinationIterableFunction<ST>\n                | PipelineDestinationPromiseFunction<ST, P>\n            : never;\n        type PipelineCallback<S extends PipelineDestination<any, any>> = S extends\n            PipelineDestinationPromiseFunction<any, infer P> ? (err: NodeJS.ErrnoException | null, value: P) => void\n            : (err: NodeJS.ErrnoException | null) => void;\n        type PipelinePromise<S extends PipelineDestination<any, any>> = S extends\n            PipelineDestinationPromiseFunction<any, infer P> ? Promise<P> : Promise<void>;\n        interface PipelineOptions {\n            signal?: AbortSignal | undefined;\n            end?: boolean | undefined;\n        }\n        /**\n         * A module method to pipe between streams and generators forwarding errors and\n         * properly cleaning up and provide a callback when the pipeline is complete.\n         *\n         * ```js\n         * import { pipeline } from 'node:stream';\n         * import fs from 'node:fs';\n         * import zlib from 'node:zlib';\n         *\n         * // Use the pipeline API to easily pipe a series of streams\n         * // together and get notified when the pipeline is fully done.\n         *\n         * // A pipeline to gzip a potentially huge tar file efficiently:\n         *\n         * pipeline(\n         *   fs.createReadStream('archive.tar'),\n         *   zlib.createGzip(),\n         *   fs.createWriteStream('archive.tar.gz'),\n         *   (err) => {\n         *     if (err) {\n         *       console.error('Pipeline failed.', err);\n         *     } else {\n         *       console.log('Pipeline succeeded.');\n         *     }\n         *   }\n         * );\n         * ```\n         *\n         * The `pipeline` API provides a promise version, which can also\n         * receive an options argument as the last parameter with a`signal` `AbortSignal` property. When the signal is aborted,`destroy` will be called on the underlying pipeline, with\n         * an`AbortError`.\n         *\n         * ```js\n         * import { pipeline } from 'node:stream/promises';\n         *\n         * async function run() {\n         *   await pipeline(\n         *     fs.createReadStream('archive.tar'),\n         *     zlib.createGzip(),\n         *     fs.createWriteStream('archive.tar.gz')\n         *   );\n         *   console.log('Pipeline succeeded.');\n         * }\n         *\n         * run().catch(console.error);\n         * ```\n         *\n         * To use an `AbortSignal`, pass it inside an options object,\n         * as the last argument:\n         *\n         * ```js\n         * import { pipeline } from 'node:stream/promises';\n         *\n         * async function run() {\n         *   const ac = new AbortController();\n         *   const signal = ac.signal;\n         *\n         *   setTimeout(() => ac.abort(), 1);\n         *   await pipeline(\n         *     fs.createReadStream('archive.tar'),\n         *     zlib.createGzip(),\n         *     fs.createWriteStream('archive.tar.gz'),\n         *     { signal },\n         *   );\n         * }\n         *\n         * run().catch(console.error); // AbortError\n         * ```\n         *\n         * The `pipeline` API also supports async generators:\n         *\n         * ```js\n         * import { pipeline } from 'node:stream/promises';\n         * import fs from 'node:fs';\n         *\n         * async function run() {\n         *   await pipeline(\n         *     fs.createReadStream('lowercase.txt'),\n         *     async function* (source, { signal }) {\n         *       source.setEncoding('utf8');  // Work with strings rather than `Buffer`s.\n         *       for await (const chunk of source) {\n         *         yield await processChunk(chunk, { signal });\n         *       }\n         *     },\n         *     fs.createWriteStream('uppercase.txt')\n         *   );\n         *   console.log('Pipeline succeeded.');\n         * }\n         *\n         * run().catch(console.error);\n         * ```\n         *\n         * Remember to handle the `signal` argument passed into the async generator.\n         * Especially in the case where the async generator is the source for the\n         * pipeline (i.e. first argument) or the pipeline will never complete.\n         *\n         * ```js\n         * import { pipeline } from 'node:stream/promises';\n         * import fs from 'node:fs';\n         *\n         * async function run() {\n         *   await pipeline(\n         *     async function* ({ signal }) {\n         *       await someLongRunningfn({ signal });\n         *       yield 'asd';\n         *     },\n         *     fs.createWriteStream('uppercase.txt')\n         *   );\n         *   console.log('Pipeline succeeded.');\n         * }\n         *\n         * run().catch(console.error);\n         * ```\n         *\n         * `stream.pipeline()` will call `stream.destroy(err)` on all streams except:\n         *\n         * * `Readable` streams which have emitted `'end'` or `'close'`.\n         * * `Writable` streams which have emitted `'finish'` or `'close'`.\n         *\n         * `stream.pipeline()` leaves dangling event listeners on the streams\n         * after the `callback` has been invoked. In the case of reuse of streams after\n         * failure, this can cause event listener leaks and swallowed errors. If the last\n         * stream is readable, dangling event listeners will be removed so that the last\n         * stream can be consumed later.\n         *\n         * `stream.pipeline()` closes all the streams when an error is raised.\n         * The `IncomingRequest` usage with `pipeline` could lead to an unexpected behavior\n         * once it would destroy the socket without sending the expected response.\n         * See the example below:\n         *\n         * ```js\n         * import fs from 'node:fs';\n         * import http from 'node:http';\n         * import { pipeline } from 'node:stream';\n         *\n         * const server = http.createServer((req, res) => {\n         *   const fileStream = fs.createReadStream('./fileNotExist.txt');\n         *   pipeline(fileStream, res, (err) => {\n         *     if (err) {\n         *       console.log(err); // No such file\n         *       // this message can't be sent once `pipeline` already destroyed the socket\n         *       return res.end('error!!!');\n         *     }\n         *   });\n         * });\n         * ```\n         * @since v10.0.0\n         * @param callback Called when the pipeline is fully done.\n         */\n        function pipeline<A extends PipelineSource<any>, B extends PipelineDestination<A, any>>(\n            source: A,\n            destination: B,\n            callback?: PipelineCallback<B>,\n        ): B extends NodeJS.WritableStream ? B : NodeJS.WritableStream;\n        function pipeline<\n            A extends PipelineSource<any>,\n            T1 extends PipelineTransform<A, any>,\n            B extends PipelineDestination<T1, any>,\n        >(\n            source: A,\n            transform1: T1,\n            destination: B,\n            callback?: PipelineCallback<B>,\n        ): B extends NodeJS.WritableStream ? B : NodeJS.WritableStream;\n        function pipeline<\n            A extends PipelineSource<any>,\n            T1 extends PipelineTransform<A, any>,\n            T2 extends PipelineTransform<T1, any>,\n            B extends PipelineDestination<T2, any>,\n        >(\n            source: A,\n            transform1: T1,\n            transform2: T2,\n            destination: B,\n            callback?: PipelineCallback<B>,\n        ): B extends NodeJS.WritableStream ? B : NodeJS.WritableStream;\n        function pipeline<\n            A extends PipelineSource<any>,\n            T1 extends PipelineTransform<A, any>,\n            T2 extends PipelineTransform<T1, any>,\n            T3 extends PipelineTransform<T2, any>,\n            B extends PipelineDestination<T3, any>,\n        >(\n            source: A,\n            transform1: T1,\n            transform2: T2,\n            transform3: T3,\n            destination: B,\n            callback?: PipelineCallback<B>,\n        ): B extends NodeJS.WritableStream ? B : NodeJS.WritableStream;\n        function pipeline<\n            A extends PipelineSource<any>,\n            T1 extends PipelineTransform<A, any>,\n            T2 extends PipelineTransform<T1, any>,\n            T3 extends PipelineTransform<T2, any>,\n            T4 extends PipelineTransform<T3, any>,\n            B extends PipelineDestination<T4, any>,\n        >(\n            source: A,\n            transform1: T1,\n            transform2: T2,\n            transform3: T3,\n            transform4: T4,\n            destination: B,\n            callback?: PipelineCallback<B>,\n        ): B extends NodeJS.WritableStream ? B : NodeJS.WritableStream;\n        function pipeline(\n            streams: ReadonlyArray<NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream>,\n            callback?: (err: NodeJS.ErrnoException | null) => void,\n        ): NodeJS.WritableStream;\n        function pipeline(\n            stream1: NodeJS.ReadableStream,\n            stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream,\n            ...streams: Array<\n                NodeJS.ReadWriteStream | NodeJS.WritableStream | ((err: NodeJS.ErrnoException | null) => void)\n            >\n        ): NodeJS.WritableStream;\n        namespace pipeline {\n            function __promisify__<A extends PipelineSource<any>, B extends PipelineDestination<A, any>>(\n                source: A,\n                destination: B,\n                options?: PipelineOptions,\n            ): PipelinePromise<B>;\n            function __promisify__<\n                A extends PipelineSource<any>,\n                T1 extends PipelineTransform<A, any>,\n                B extends PipelineDestination<T1, any>,\n            >(\n                source: A,\n                transform1: T1,\n                destination: B,\n                options?: PipelineOptions,\n            ): PipelinePromise<B>;\n            function __promisify__<\n                A extends PipelineSource<any>,\n                T1 extends PipelineTransform<A, any>,\n                T2 extends PipelineTransform<T1, any>,\n                B extends PipelineDestination<T2, any>,\n            >(\n                source: A,\n                transform1: T1,\n                transform2: T2,\n                destination: B,\n                options?: PipelineOptions,\n            ): PipelinePromise<B>;\n            function __promisify__<\n                A extends PipelineSource<any>,\n                T1 extends PipelineTransform<A, any>,\n                T2 extends PipelineTransform<T1, any>,\n                T3 extends PipelineTransform<T2, any>,\n                B extends PipelineDestination<T3, any>,\n            >(\n                source: A,\n                transform1: T1,\n                transform2: T2,\n                transform3: T3,\n                destination: B,\n                options?: PipelineOptions,\n            ): PipelinePromise<B>;\n            function __promisify__<\n                A extends PipelineSource<any>,\n                T1 extends PipelineTransform<A, any>,\n                T2 extends PipelineTransform<T1, any>,\n                T3 extends PipelineTransform<T2, any>,\n                T4 extends PipelineTransform<T3, any>,\n                B extends PipelineDestination<T4, any>,\n            >(\n                source: A,\n                transform1: T1,\n                transform2: T2,\n                transform3: T3,\n                transform4: T4,\n                destination: B,\n                options?: PipelineOptions,\n            ): PipelinePromise<B>;\n            function __promisify__(\n                streams: ReadonlyArray<NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream>,\n                options?: PipelineOptions,\n            ): Promise<void>;\n            function __promisify__(\n                stream1: NodeJS.ReadableStream,\n                stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream,\n                ...streams: Array<NodeJS.ReadWriteStream | NodeJS.WritableStream | PipelineOptions>\n            ): Promise<void>;\n        }\n        interface Pipe {\n            close(): void;\n            hasRef(): boolean;\n            ref(): void;\n            unref(): void;\n        }\n\n        /**\n         * Returns whether the stream has encountered an error.\n         * @since v17.3.0\n         */\n        function isErrored(stream: Readable | Writable | NodeJS.ReadableStream | NodeJS.WritableStream): boolean;\n\n        /**\n         * Returns whether the stream is readable.\n         * @since v17.4.0\n         */\n        function isReadable(stream: Readable | NodeJS.ReadableStream): boolean;\n    }\n    export = Stream;\n}\ndeclare module \"node:stream\" {\n    import stream = require(\"stream\");\n    export = stream;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/stream/promises.d.ts",
      "content": "declare module \"stream/promises\" {\n    import {\n        FinishedOptions as _FinishedOptions,\n        PipelineDestination,\n        PipelineOptions,\n        PipelinePromise,\n        PipelineSource,\n        PipelineTransform,\n    } from \"node:stream\";\n    interface FinishedOptions extends _FinishedOptions {\n        /**\n         * If true, removes the listeners registered by this function before the promise is fulfilled.\n         * @default false\n         */\n        cleanup?: boolean | undefined;\n    }\n    function finished(\n        stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream,\n        options?: FinishedOptions,\n    ): Promise<void>;\n    function pipeline<A extends PipelineSource<any>, B extends PipelineDestination<A, any>>(\n        source: A,\n        destination: B,\n        options?: PipelineOptions,\n    ): PipelinePromise<B>;\n    function pipeline<\n        A extends PipelineSource<any>,\n        T1 extends PipelineTransform<A, any>,\n        B extends PipelineDestination<T1, any>,\n    >(\n        source: A,\n        transform1: T1,\n        destination: B,\n        options?: PipelineOptions,\n    ): PipelinePromise<B>;\n    function pipeline<\n        A extends PipelineSource<any>,\n        T1 extends PipelineTransform<A, any>,\n        T2 extends PipelineTransform<T1, any>,\n        B extends PipelineDestination<T2, any>,\n    >(\n        source: A,\n        transform1: T1,\n        transform2: T2,\n        destination: B,\n        options?: PipelineOptions,\n    ): PipelinePromise<B>;\n    function pipeline<\n        A extends PipelineSource<any>,\n        T1 extends PipelineTransform<A, any>,\n        T2 extends PipelineTransform<T1, any>,\n        T3 extends PipelineTransform<T2, any>,\n        B extends PipelineDestination<T3, any>,\n    >(\n        source: A,\n        transform1: T1,\n        transform2: T2,\n        transform3: T3,\n        destination: B,\n        options?: PipelineOptions,\n    ): PipelinePromise<B>;\n    function pipeline<\n        A extends PipelineSource<any>,\n        T1 extends PipelineTransform<A, any>,\n        T2 extends PipelineTransform<T1, any>,\n        T3 extends PipelineTransform<T2, any>,\n        T4 extends PipelineTransform<T3, any>,\n        B extends PipelineDestination<T4, any>,\n    >(\n        source: A,\n        transform1: T1,\n        transform2: T2,\n        transform3: T3,\n        transform4: T4,\n        destination: B,\n        options?: PipelineOptions,\n    ): PipelinePromise<B>;\n    function pipeline(\n        streams: ReadonlyArray<NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream>,\n        options?: PipelineOptions,\n    ): Promise<void>;\n    function pipeline(\n        stream1: NodeJS.ReadableStream,\n        stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream,\n        ...streams: Array<NodeJS.ReadWriteStream | NodeJS.WritableStream | PipelineOptions>\n    ): Promise<void>;\n}\ndeclare module \"node:stream/promises\" {\n    export * from \"stream/promises\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/stream/consumers.d.ts",
      "content": "/**\n * The utility consumer functions provide common options for consuming\n * streams.\n * @since v16.7.0\n */\ndeclare module \"stream/consumers\" {\n    import { Blob as NodeBlob } from \"node:buffer\";\n    import { ReadableStream as WebReadableStream } from \"node:stream/web\";\n    /**\n     * @since v16.7.0\n     * @returns Fulfills with an `ArrayBuffer` containing the full contents of the stream.\n     */\n    function arrayBuffer(stream: WebReadableStream | NodeJS.ReadableStream | AsyncIterable<any>): Promise<ArrayBuffer>;\n    /**\n     * @since v16.7.0\n     * @returns Fulfills with a `Blob` containing the full contents of the stream.\n     */\n    function blob(stream: WebReadableStream | NodeJS.ReadableStream | AsyncIterable<any>): Promise<NodeBlob>;\n    /**\n     * @since v16.7.0\n     * @returns Fulfills with a `Buffer` containing the full contents of the stream.\n     */\n    function buffer(stream: WebReadableStream | NodeJS.ReadableStream | AsyncIterable<any>): Promise<Buffer>;\n    /**\n     * @since v16.7.0\n     * @returns Fulfills with the contents of the stream parsed as a\n     * UTF-8 encoded string that is then passed through `JSON.parse()`.\n     */\n    function json(stream: WebReadableStream | NodeJS.ReadableStream | AsyncIterable<any>): Promise<unknown>;\n    /**\n     * @since v16.7.0\n     * @returns Fulfills with the contents of the stream parsed as a UTF-8 encoded string.\n     */\n    function text(stream: WebReadableStream | NodeJS.ReadableStream | AsyncIterable<any>): Promise<string>;\n}\ndeclare module \"node:stream/consumers\" {\n    export * from \"stream/consumers\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/stream/web.d.ts",
      "content": "type _ByteLengthQueuingStrategy = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").ByteLengthQueuingStrategy;\ntype _CompressionStream = typeof globalThis extends { onmessage: any; ReportingObserver: any } ? {}\n    : import(\"stream/web\").CompressionStream;\ntype _CountQueuingStrategy = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").CountQueuingStrategy;\ntype _DecompressionStream = typeof globalThis extends { onmessage: any; ReportingObserver: any } ? {}\n    : import(\"stream/web\").DecompressionStream;\ntype _QueuingStrategy<T = any> = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").QueuingStrategy<T>;\ntype _ReadableByteStreamController = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").ReadableByteStreamController;\ntype _ReadableStream<R = any> = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").ReadableStream<R>;\ntype _ReadableStreamBYOBReader = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").ReadableStreamBYOBReader;\ntype _ReadableStreamBYOBRequest = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").ReadableStreamBYOBRequest;\ntype _ReadableStreamDefaultController<R = any> = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").ReadableStreamDefaultController<R>;\ntype _ReadableStreamDefaultReader<R = any> = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").ReadableStreamDefaultReader<R>;\ntype _TextDecoderStream = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").TextDecoderStream;\ntype _TextEncoderStream = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").TextEncoderStream;\ntype _TransformStream<I = any, O = any> = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").TransformStream<I, O>;\ntype _TransformStreamDefaultController<O = any> = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").TransformStreamDefaultController<O>;\ntype _WritableStream<W = any> = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").WritableStream<W>;\ntype _WritableStreamDefaultController = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").WritableStreamDefaultController;\ntype _WritableStreamDefaultWriter<W = any> = typeof globalThis extends { onmessage: any } ? {}\n    : import(\"stream/web\").WritableStreamDefaultWriter<W>;\n\ndeclare module \"stream/web\" {\n    // stub module, pending copy&paste from .d.ts or manual impl\n    // copy from lib.dom.d.ts\n    interface ReadableWritablePair<R = any, W = any> {\n        readable: ReadableStream<R>;\n        /**\n         * Provides a convenient, chainable way of piping this readable stream\n         * through a transform stream (or any other { writable, readable }\n         * pair). It simply pipes the stream into the writable side of the\n         * supplied pair, and returns the readable side for further use.\n         *\n         * Piping a stream will lock it for the duration of the pipe, preventing\n         * any other consumer from acquiring a reader.\n         */\n        writable: WritableStream<W>;\n    }\n    interface StreamPipeOptions {\n        preventAbort?: boolean;\n        preventCancel?: boolean;\n        /**\n         * Pipes this readable stream to a given writable stream destination.\n         * The way in which the piping process behaves under various error\n         * conditions can be customized with a number of passed options. It\n         * returns a promise that fulfills when the piping process completes\n         * successfully, or rejects if any errors were encountered.\n         *\n         * Piping a stream will lock it for the duration of the pipe, preventing\n         * any other consumer from acquiring a reader.\n         *\n         * Errors and closures of the source and destination streams propagate\n         * as follows:\n         *\n         * An error in this source readable stream will abort destination,\n         * unless preventAbort is truthy. The returned promise will be rejected\n         * with the source's error, or with any error that occurs during\n         * aborting the destination.\n         *\n         * An error in destination will cancel this source readable stream,\n         * unless preventCancel is truthy. The returned promise will be rejected\n         * with the destination's error, or with any error that occurs during\n         * canceling the source.\n         *\n         * When this source readable stream closes, destination will be closed,\n         * unless preventClose is truthy. The returned promise will be fulfilled\n         * once this process completes, unless an error is encountered while\n         * closing the destination, in which case it will be rejected with that\n         * error.\n         *\n         * If destination starts out closed or closing, this source readable\n         * stream will be canceled, unless preventCancel is true. The returned\n         * promise will be rejected with an error indicating piping to a closed\n         * stream failed, or with any error that occurs during canceling the\n         * source.\n         *\n         * The signal option can be set to an AbortSignal to allow aborting an\n         * ongoing pipe operation via the corresponding AbortController. In this\n         * case, this source readable stream will be canceled, and destination\n         * aborted, unless the respective options preventCancel or preventAbort\n         * are set.\n         */\n        preventClose?: boolean;\n        signal?: AbortSignal;\n    }\n    interface ReadableStreamGenericReader {\n        readonly closed: Promise<void>;\n        cancel(reason?: any): Promise<void>;\n    }\n    type ReadableStreamController<T> = ReadableStreamDefaultController<T>;\n    interface ReadableStreamReadValueResult<T> {\n        done: false;\n        value: T;\n    }\n    interface ReadableStreamReadDoneResult<T> {\n        done: true;\n        value?: T;\n    }\n    type ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult<T>;\n    interface ReadableByteStreamControllerCallback {\n        (controller: ReadableByteStreamController): void | PromiseLike<void>;\n    }\n    interface UnderlyingSinkAbortCallback {\n        (reason?: any): void | PromiseLike<void>;\n    }\n    interface UnderlyingSinkCloseCallback {\n        (): void | PromiseLike<void>;\n    }\n    interface UnderlyingSinkStartCallback {\n        (controller: WritableStreamDefaultController): any;\n    }\n    interface UnderlyingSinkWriteCallback<W> {\n        (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike<void>;\n    }\n    interface UnderlyingSourceCancelCallback {\n        (reason?: any): void | PromiseLike<void>;\n    }\n    interface UnderlyingSourcePullCallback<R> {\n        (controller: ReadableStreamController<R>): void | PromiseLike<void>;\n    }\n    interface UnderlyingSourceStartCallback<R> {\n        (controller: ReadableStreamController<R>): any;\n    }\n    interface TransformerFlushCallback<O> {\n        (controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;\n    }\n    interface TransformerStartCallback<O> {\n        (controller: TransformStreamDefaultController<O>): any;\n    }\n    interface TransformerTransformCallback<I, O> {\n        (chunk: I, controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;\n    }\n    interface UnderlyingByteSource {\n        autoAllocateChunkSize?: number;\n        cancel?: ReadableStreamErrorCallback;\n        pull?: ReadableByteStreamControllerCallback;\n        start?: ReadableByteStreamControllerCallback;\n        type: \"bytes\";\n    }\n    interface UnderlyingSource<R = any> {\n        cancel?: UnderlyingSourceCancelCallback;\n        pull?: UnderlyingSourcePullCallback<R>;\n        start?: UnderlyingSourceStartCallback<R>;\n        type?: undefined;\n    }\n    interface UnderlyingSink<W = any> {\n        abort?: UnderlyingSinkAbortCallback;\n        close?: UnderlyingSinkCloseCallback;\n        start?: UnderlyingSinkStartCallback;\n        type?: undefined;\n        write?: UnderlyingSinkWriteCallback<W>;\n    }\n    interface ReadableStreamErrorCallback {\n        (reason: any): void | PromiseLike<void>;\n    }\n    interface ReadableStreamAsyncIterator<T> extends NodeJS.AsyncIterator<T, NodeJS.BuiltinIteratorReturn, unknown> {\n        [Symbol.asyncIterator](): ReadableStreamAsyncIterator<T>;\n    }\n    /** This Streams API interface represents a readable stream of byte data. */\n    interface ReadableStream<R = any> {\n        readonly locked: boolean;\n        cancel(reason?: any): Promise<void>;\n        getReader(options: { mode: \"byob\" }): ReadableStreamBYOBReader;\n        getReader(): ReadableStreamDefaultReader<R>;\n        getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader<R>;\n        pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;\n        pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;\n        tee(): [ReadableStream<R>, ReadableStream<R>];\n        values(options?: { preventCancel?: boolean }): ReadableStreamAsyncIterator<R>;\n        [Symbol.asyncIterator](): ReadableStreamAsyncIterator<R>;\n    }\n    const ReadableStream: {\n        prototype: ReadableStream;\n        new(underlyingSource: UnderlyingByteSource, strategy?: QueuingStrategy<Uint8Array>): ReadableStream<Uint8Array>;\n        new<R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;\n    };\n    type ReadableStreamReaderMode = \"byob\";\n    interface ReadableStreamGetReaderOptions {\n        /**\n         * Creates a ReadableStreamBYOBReader and locks the stream to the new reader.\n         *\n         * This call behaves the same way as the no-argument variant, except that it only works on readable byte streams, i.e. streams which were constructed specifically with the ability to handle \"bring your own buffer\" reading. The returned BYOB reader provides the ability to directly read individual chunks from the stream via its read() method, into developer-supplied buffers, allowing more precise control over allocation.\n         */\n        mode?: ReadableStreamReaderMode;\n    }\n    type ReadableStreamReader<T> = ReadableStreamDefaultReader<T> | ReadableStreamBYOBReader;\n    interface ReadableStreamDefaultReader<R = any> extends ReadableStreamGenericReader {\n        read(): Promise<ReadableStreamReadResult<R>>;\n        releaseLock(): void;\n    }\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader) */\n    interface ReadableStreamBYOBReader extends ReadableStreamGenericReader {\n        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/read) */\n        read<T extends ArrayBufferView>(view: T): Promise<ReadableStreamReadResult<T>>;\n        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/releaseLock) */\n        releaseLock(): void;\n    }\n    const ReadableStreamDefaultReader: {\n        prototype: ReadableStreamDefaultReader;\n        new<R = any>(stream: ReadableStream<R>): ReadableStreamDefaultReader<R>;\n    };\n    const ReadableStreamBYOBReader: {\n        prototype: ReadableStreamBYOBReader;\n        new(stream: ReadableStream): ReadableStreamBYOBReader;\n    };\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest) */\n    interface ReadableStreamBYOBRequest {\n        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest/view) */\n        readonly view: ArrayBufferView | null;\n        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest/respond) */\n        respond(bytesWritten: number): void;\n        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest/respondWithNewView) */\n        respondWithNewView(view: ArrayBufferView): void;\n    }\n    const ReadableStreamBYOBRequest: {\n        prototype: ReadableStreamBYOBRequest;\n        new(): ReadableStreamBYOBRequest;\n    };\n    interface ReadableByteStreamController {\n        readonly byobRequest: undefined;\n        readonly desiredSize: number | null;\n        close(): void;\n        enqueue(chunk: ArrayBufferView): void;\n        error(error?: any): void;\n    }\n    const ReadableByteStreamController: {\n        prototype: ReadableByteStreamController;\n        new(): ReadableByteStreamController;\n    };\n    interface ReadableStreamDefaultController<R = any> {\n        readonly desiredSize: number | null;\n        close(): void;\n        enqueue(chunk?: R): void;\n        error(e?: any): void;\n    }\n    const ReadableStreamDefaultController: {\n        prototype: ReadableStreamDefaultController;\n        new(): ReadableStreamDefaultController;\n    };\n    interface Transformer<I = any, O = any> {\n        flush?: TransformerFlushCallback<O>;\n        readableType?: undefined;\n        start?: TransformerStartCallback<O>;\n        transform?: TransformerTransformCallback<I, O>;\n        writableType?: undefined;\n    }\n    interface TransformStream<I = any, O = any> {\n        readonly readable: ReadableStream<O>;\n        readonly writable: WritableStream<I>;\n    }\n    const TransformStream: {\n        prototype: TransformStream;\n        new<I = any, O = any>(\n            transformer?: Transformer<I, O>,\n            writableStrategy?: QueuingStrategy<I>,\n            readableStrategy?: QueuingStrategy<O>,\n        ): TransformStream<I, O>;\n    };\n    interface TransformStreamDefaultController<O = any> {\n        readonly desiredSize: number | null;\n        enqueue(chunk?: O): void;\n        error(reason?: any): void;\n        terminate(): void;\n    }\n    const TransformStreamDefaultController: {\n        prototype: TransformStreamDefaultController;\n        new(): TransformStreamDefaultController;\n    };\n    /**\n     * This Streams API interface provides a standard abstraction for writing\n     * streaming data to a destination, known as a sink. This object comes with\n     * built-in back pressure and queuing.\n     */\n    interface WritableStream<W = any> {\n        readonly locked: boolean;\n        abort(reason?: any): Promise<void>;\n        close(): Promise<void>;\n        getWriter(): WritableStreamDefaultWriter<W>;\n    }\n    const WritableStream: {\n        prototype: WritableStream;\n        new<W = any>(underlyingSink?: UnderlyingSink<W>, strategy?: QueuingStrategy<W>): WritableStream<W>;\n    };\n    /**\n     * This Streams API interface is the object returned by\n     * WritableStream.getWriter() and once created locks the < writer to the\n     * WritableStream ensuring that no other streams can write to the underlying\n     * sink.\n     */\n    interface WritableStreamDefaultWriter<W = any> {\n        readonly closed: Promise<void>;\n        readonly desiredSize: number | null;\n        readonly ready: Promise<void>;\n        abort(reason?: any): Promise<void>;\n        close(): Promise<void>;\n        releaseLock(): void;\n        write(chunk?: W): Promise<void>;\n    }\n    const WritableStreamDefaultWriter: {\n        prototype: WritableStreamDefaultWriter;\n        new<W = any>(stream: WritableStream<W>): WritableStreamDefaultWriter<W>;\n    };\n    /**\n     * This Streams API interface represents a controller allowing control of a\n     * WritableStream's state. When constructing a WritableStream, the\n     * underlying sink is given a corresponding WritableStreamDefaultController\n     * instance to manipulate.\n     */\n    interface WritableStreamDefaultController {\n        error(e?: any): void;\n    }\n    const WritableStreamDefaultController: {\n        prototype: WritableStreamDefaultController;\n        new(): WritableStreamDefaultController;\n    };\n    interface QueuingStrategy<T = any> {\n        highWaterMark?: number;\n        size?: QueuingStrategySize<T>;\n    }\n    interface QueuingStrategySize<T = any> {\n        (chunk?: T): number;\n    }\n    interface QueuingStrategyInit {\n        /**\n         * Creates a new ByteLengthQueuingStrategy with the provided high water\n         * mark.\n         *\n         * Note that the provided high water mark will not be validated ahead of\n         * time. Instead, if it is negative, NaN, or not a number, the resulting\n         * ByteLengthQueuingStrategy will cause the corresponding stream\n         * constructor to throw.\n         */\n        highWaterMark: number;\n    }\n    /**\n     * This Streams API interface provides a built-in byte length queuing\n     * strategy that can be used when constructing streams.\n     */\n    interface ByteLengthQueuingStrategy extends QueuingStrategy<ArrayBufferView> {\n        readonly highWaterMark: number;\n        readonly size: QueuingStrategySize<ArrayBufferView>;\n    }\n    const ByteLengthQueuingStrategy: {\n        prototype: ByteLengthQueuingStrategy;\n        new(init: QueuingStrategyInit): ByteLengthQueuingStrategy;\n    };\n    /**\n     * This Streams API interface provides a built-in byte length queuing\n     * strategy that can be used when constructing streams.\n     */\n    interface CountQueuingStrategy extends QueuingStrategy {\n        readonly highWaterMark: number;\n        readonly size: QueuingStrategySize;\n    }\n    const CountQueuingStrategy: {\n        prototype: CountQueuingStrategy;\n        new(init: QueuingStrategyInit): CountQueuingStrategy;\n    };\n    interface TextEncoderStream {\n        /** Returns \"utf-8\". */\n        readonly encoding: \"utf-8\";\n        readonly readable: ReadableStream<Uint8Array>;\n        readonly writable: WritableStream<string>;\n        readonly [Symbol.toStringTag]: string;\n    }\n    const TextEncoderStream: {\n        prototype: TextEncoderStream;\n        new(): TextEncoderStream;\n    };\n    interface TextDecoderOptions {\n        fatal?: boolean;\n        ignoreBOM?: boolean;\n    }\n    type BufferSource = ArrayBufferView | ArrayBuffer;\n    interface TextDecoderStream {\n        /** Returns encoding's name, lower cased. */\n        readonly encoding: string;\n        /** Returns `true` if error mode is \"fatal\", and `false` otherwise. */\n        readonly fatal: boolean;\n        /** Returns `true` if ignore BOM flag is set, and `false` otherwise. */\n        readonly ignoreBOM: boolean;\n        readonly readable: ReadableStream<string>;\n        readonly writable: WritableStream<BufferSource>;\n        readonly [Symbol.toStringTag]: string;\n    }\n    const TextDecoderStream: {\n        prototype: TextDecoderStream;\n        new(encoding?: string, options?: TextDecoderOptions): TextDecoderStream;\n    };\n    interface CompressionStream {\n        readonly readable: ReadableStream;\n        readonly writable: WritableStream;\n    }\n    const CompressionStream: {\n        prototype: CompressionStream;\n        new(format: \"deflate\" | \"deflate-raw\" | \"gzip\"): CompressionStream;\n    };\n    interface DecompressionStream {\n        readonly writable: WritableStream;\n        readonly readable: ReadableStream;\n    }\n    const DecompressionStream: {\n        prototype: DecompressionStream;\n        new(format: \"deflate\" | \"deflate-raw\" | \"gzip\"): DecompressionStream;\n    };\n\n    global {\n        interface ByteLengthQueuingStrategy extends _ByteLengthQueuingStrategy {}\n        var ByteLengthQueuingStrategy: typeof globalThis extends { onmessage: any; ByteLengthQueuingStrategy: infer T }\n            ? T\n            : typeof import(\"stream/web\").ByteLengthQueuingStrategy;\n\n        interface CompressionStream extends _CompressionStream {}\n        var CompressionStream: typeof globalThis extends {\n            onmessage: any;\n            // CompressionStream, DecompressionStream and ReportingObserver was introduced in the same commit.\n            // If ReportingObserver check is removed, the type here will form a circular reference in TS5.0+lib.dom.d.ts\n            ReportingObserver: any;\n            CompressionStream: infer T;\n        } ? T\n            // TS 4.8, 4.9, 5.0\n            : typeof globalThis extends { onmessage: any; TransformStream: { prototype: infer T } } ? {\n                    prototype: T;\n                    new(format: \"deflate\" | \"deflate-raw\" | \"gzip\"): T;\n                }\n            : typeof import(\"stream/web\").CompressionStream;\n\n        interface CountQueuingStrategy extends _CountQueuingStrategy {}\n        var CountQueuingStrategy: typeof globalThis extends { onmessage: any; CountQueuingStrategy: infer T } ? T\n            : typeof import(\"stream/web\").CountQueuingStrategy;\n\n        interface DecompressionStream extends _DecompressionStream {}\n        var DecompressionStream: typeof globalThis extends {\n            onmessage: any;\n            // CompressionStream, DecompressionStream and ReportingObserver was introduced in the same commit.\n            // If ReportingObserver check is removed, the type here will form a circular reference in TS5.0+lib.dom.d.ts\n            ReportingObserver: any;\n            DecompressionStream: infer T;\n        } ? T\n            // TS 4.8, 4.9, 5.0\n            : typeof globalThis extends { onmessage: any; TransformStream: { prototype: infer T } } ? {\n                    prototype: T;\n                    new(format: \"deflate\" | \"deflate-raw\" | \"gzip\"): T;\n                }\n            : typeof import(\"stream/web\").DecompressionStream;\n\n        interface QueuingStrategy<T = any> extends _QueuingStrategy<T> {}\n\n        interface ReadableByteStreamController extends _ReadableByteStreamController {}\n        var ReadableByteStreamController: typeof globalThis extends\n            { onmessage: any; ReadableByteStreamController: infer T } ? T\n            : typeof import(\"stream/web\").ReadableByteStreamController;\n\n        interface ReadableStream<R = any> extends _ReadableStream<R> {}\n        var ReadableStream: typeof globalThis extends { onmessage: any; ReadableStream: infer T } ? T\n            : typeof import(\"stream/web\").ReadableStream;\n\n        interface ReadableStreamBYOBReader extends _ReadableStreamBYOBReader {}\n        var ReadableStreamBYOBReader: typeof globalThis extends { onmessage: any; ReadableStreamBYOBReader: infer T }\n            ? T\n            : typeof import(\"stream/web\").ReadableStreamBYOBReader;\n\n        interface ReadableStreamBYOBRequest extends _ReadableStreamBYOBRequest {}\n        var ReadableStreamBYOBRequest: typeof globalThis extends { onmessage: any; ReadableStreamBYOBRequest: infer T }\n            ? T\n            : typeof import(\"stream/web\").ReadableStreamBYOBRequest;\n\n        interface ReadableStreamDefaultController<R = any> extends _ReadableStreamDefaultController<R> {}\n        var ReadableStreamDefaultController: typeof globalThis extends\n            { onmessage: any; ReadableStreamDefaultController: infer T } ? T\n            : typeof import(\"stream/web\").ReadableStreamDefaultController;\n\n        interface ReadableStreamDefaultReader<R = any> extends _ReadableStreamDefaultReader<R> {}\n        var ReadableStreamDefaultReader: typeof globalThis extends\n            { onmessage: any; ReadableStreamDefaultReader: infer T } ? T\n            : typeof import(\"stream/web\").ReadableStreamDefaultReader;\n\n        interface TextDecoderStream extends _TextDecoderStream {}\n        var TextDecoderStream: typeof globalThis extends { onmessage: any; TextDecoderStream: infer T } ? T\n            : typeof import(\"stream/web\").TextDecoderStream;\n\n        interface TextEncoderStream extends _TextEncoderStream {}\n        var TextEncoderStream: typeof globalThis extends { onmessage: any; TextEncoderStream: infer T } ? T\n            : typeof import(\"stream/web\").TextEncoderStream;\n\n        interface TransformStream<I = any, O = any> extends _TransformStream<I, O> {}\n        var TransformStream: typeof globalThis extends { onmessage: any; TransformStream: infer T } ? T\n            : typeof import(\"stream/web\").TransformStream;\n\n        interface TransformStreamDefaultController<O = any> extends _TransformStreamDefaultController<O> {}\n        var TransformStreamDefaultController: typeof globalThis extends\n            { onmessage: any; TransformStreamDefaultController: infer T } ? T\n            : typeof import(\"stream/web\").TransformStreamDefaultController;\n\n        interface WritableStream<W = any> extends _WritableStream<W> {}\n        var WritableStream: typeof globalThis extends { onmessage: any; WritableStream: infer T } ? T\n            : typeof import(\"stream/web\").WritableStream;\n\n        interface WritableStreamDefaultController extends _WritableStreamDefaultController {}\n        var WritableStreamDefaultController: typeof globalThis extends\n            { onmessage: any; WritableStreamDefaultController: infer T } ? T\n            : typeof import(\"stream/web\").WritableStreamDefaultController;\n\n        interface WritableStreamDefaultWriter<W = any> extends _WritableStreamDefaultWriter<W> {}\n        var WritableStreamDefaultWriter: typeof globalThis extends\n            { onmessage: any; WritableStreamDefaultWriter: infer T } ? T\n            : typeof import(\"stream/web\").WritableStreamDefaultWriter;\n    }\n}\ndeclare module \"node:stream/web\" {\n    export * from \"stream/web\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/string_decoder.d.ts",
      "content": "/**\n * The `node:string_decoder` module provides an API for decoding `Buffer` objects\n * into strings in a manner that preserves encoded multi-byte UTF-8 and UTF-16\n * characters. It can be accessed using:\n *\n * ```js\n * import { StringDecoder } from 'node:string_decoder';\n * ```\n *\n * The following example shows the basic use of the `StringDecoder` class.\n *\n * ```js\n * import { StringDecoder } from 'node:string_decoder';\n * const decoder = new StringDecoder('utf8');\n *\n * const cent = Buffer.from([0xC2, 0xA2]);\n * console.log(decoder.write(cent)); // Prints: ¢\n *\n * const euro = Buffer.from([0xE2, 0x82, 0xAC]);\n * console.log(decoder.write(euro)); // Prints: €\n * ```\n *\n * When a `Buffer` instance is written to the `StringDecoder` instance, an\n * internal buffer is used to ensure that the decoded string does not contain\n * any incomplete multibyte characters. These are held in the buffer until the\n * next call to `stringDecoder.write()` or until `stringDecoder.end()` is called.\n *\n * In the following example, the three UTF-8 encoded bytes of the European Euro\n * symbol (`€`) are written over three separate operations:\n *\n * ```js\n * import { StringDecoder } from 'node:string_decoder';\n * const decoder = new StringDecoder('utf8');\n *\n * decoder.write(Buffer.from([0xE2]));\n * decoder.write(Buffer.from([0x82]));\n * console.log(decoder.end(Buffer.from([0xAC]))); // Prints: €\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.19.0/lib/string_decoder.js)\n */\ndeclare module \"string_decoder\" {\n    class StringDecoder {\n        constructor(encoding?: BufferEncoding);\n        /**\n         * Returns a decoded string, ensuring that any incomplete multibyte characters at\n         * the end of the `Buffer`, or `TypedArray`, or `DataView` are omitted from the\n         * returned string and stored in an internal buffer for the next call to`stringDecoder.write()` or `stringDecoder.end()`.\n         * @since v0.1.99\n         * @param buffer The bytes to decode.\n         */\n        write(buffer: string | Buffer | NodeJS.ArrayBufferView): string;\n        /**\n         * Returns any remaining input stored in the internal buffer as a string. Bytes\n         * representing incomplete UTF-8 and UTF-16 characters will be replaced with\n         * substitution characters appropriate for the character encoding.\n         *\n         * If the `buffer` argument is provided, one final call to `stringDecoder.write()`is performed before returning the remaining input.\n         * After `end()` is called, the `stringDecoder` object can be reused for new input.\n         * @since v0.9.3\n         * @param buffer The bytes to decode.\n         */\n        end(buffer?: string | Buffer | NodeJS.ArrayBufferView): string;\n    }\n}\ndeclare module \"node:string_decoder\" {\n    export * from \"string_decoder\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/test.d.ts",
      "content": "/**\n * The `node:test` module provides a standalone testing module.\n * @see [source](https://github.com/nodejs/node/blob/v18.x/lib/test.js)\n */\ndeclare module \"node:test\" {\n    import TestFn = test.TestFn;\n    import TestOptions = test.TestOptions;\n    /**\n     * The `test()` function is the value imported from the test module. Each invocation of this\n     * function results in reporting the test to the {@link TestsStream}.\n     *\n     * The {@link TestContext} object passed to the fn argument can be used to perform actions\n     * related to the current test. Examples include skipping the test, adding additional\n     * diagnostic information, or creating subtests.\n     *\n     * `test()` returns a {@link Promise} that resolves once the test completes. The return value\n     * can usually be discarded for top level tests. However, the return value from subtests should\n     * be used to prevent the parent test from finishing first and cancelling the subtest as shown\n     * in the following example.\n     *\n     * ```js\n     * test('top level test', async (t) => {\n     *   // The setTimeout() in the following subtest would cause it to outlive its\n     *   // parent test if 'await' is removed on the next line. Once the parent test\n     *   // completes, it will cancel any outstanding subtests.\n     *   await t.test('longer running subtest', async (t) => {\n     *     return new Promise((resolve, reject) => {\n     *       setTimeout(resolve, 1000);\n     *     });\n     *   });\n     * });\n     * ```\n     * @since v18.0.0\n     * @param name The name of the test, which is displayed when reporting test results.\n     *    Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.\n     * @param options Configuration options for the test\n     * @param fn The function under test. The first argument to this function is a\n     *    {@link TestContext} object. If the test uses callbacks, the callback function is\n     *    passed as the second argument. Default: A no-op function.\n     * @returns A {@link Promise} resolved with `undefined` once the test completes.\n     */\n    function test(name?: string, fn?: TestFn): Promise<void>;\n    function test(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;\n    function test(options?: TestOptions, fn?: TestFn): Promise<void>;\n    function test(fn?: TestFn): Promise<void>;\n    namespace test {\n        export { test };\n    }\n    namespace test {\n        /**\n         * Programmatically start the test runner.\n         * @since v18.9.0\n         * @param options Configuration options for running tests.\n         * @returns A {@link TestsStream} that emits events about the test execution.\n         */\n        function run(options?: RunOptions): TestsStream;\n        /**\n         * @since v18.6.0\n         * @param name The name of the suite, which is displayed when reporting suite results.\n         *    Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.\n         * @param options Configuration options for the suite\n         * @param fn The function under suite. Default: A no-op function.\n         */\n        function describe(name?: string, options?: TestOptions, fn?: SuiteFn): Promise<void>;\n        function describe(name?: string, fn?: SuiteFn): Promise<void>;\n        function describe(options?: TestOptions, fn?: SuiteFn): Promise<void>;\n        function describe(fn?: SuiteFn): Promise<void>;\n        namespace describe {\n            /**\n             * Shorthand for skipping a suite, same as `describe([name], { skip: true }[, fn])`.\n             */\n            function skip(name?: string, options?: TestOptions, fn?: SuiteFn): Promise<void>;\n            function skip(name?: string, fn?: SuiteFn): Promise<void>;\n            function skip(options?: TestOptions, fn?: SuiteFn): Promise<void>;\n            function skip(fn?: SuiteFn): Promise<void>;\n            /**\n             * Shorthand for marking a suite as `TODO`, same as `describe([name], { todo: true }[, fn])`.\n             */\n            function todo(name?: string, options?: TestOptions, fn?: SuiteFn): Promise<void>;\n            function todo(name?: string, fn?: SuiteFn): Promise<void>;\n            function todo(options?: TestOptions, fn?: SuiteFn): Promise<void>;\n            function todo(fn?: SuiteFn): Promise<void>;\n            /**\n             * Shorthand for marking a suite as `only`, same as `describe([name], { only: true }[, fn])`.\n             * @since v18.15.0\n             */\n            function only(name?: string, options?: TestOptions, fn?: SuiteFn): Promise<void>;\n            function only(name?: string, fn?: SuiteFn): Promise<void>;\n            function only(options?: TestOptions, fn?: SuiteFn): Promise<void>;\n            function only(fn?: SuiteFn): Promise<void>;\n        }\n        /**\n         * @since v18.6.0\n         * @param name The name of the test, which is displayed when reporting test results.\n         *    Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.\n         * @param options Configuration options for the test\n         * @param fn The function under test. If the test uses callbacks, the callback function is\n         *    passed as the second argument. Default: A no-op function.\n         */\n        function it(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;\n        function it(name?: string, fn?: TestFn): Promise<void>;\n        function it(options?: TestOptions, fn?: TestFn): Promise<void>;\n        function it(fn?: TestFn): Promise<void>;\n        namespace it {\n            /**\n             * Shorthand for skipping a test, same as `it([name], { skip: true }[, fn])`.\n             */\n            function skip(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;\n            function skip(name?: string, fn?: TestFn): Promise<void>;\n            function skip(options?: TestOptions, fn?: TestFn): Promise<void>;\n            function skip(fn?: TestFn): Promise<void>;\n            /**\n             * Shorthand for marking a test as `TODO`, same as `it([name], { todo: true }[, fn])`.\n             */\n            function todo(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;\n            function todo(name?: string, fn?: TestFn): Promise<void>;\n            function todo(options?: TestOptions, fn?: TestFn): Promise<void>;\n            function todo(fn?: TestFn): Promise<void>;\n            /**\n             * Shorthand for marking a test as `only`, same as `it([name], { only: true }[, fn])`.\n             * @since v18.15.0\n             */\n            function only(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;\n            function only(name?: string, fn?: TestFn): Promise<void>;\n            function only(options?: TestOptions, fn?: TestFn): Promise<void>;\n            function only(fn?: TestFn): Promise<void>;\n        }\n        /**\n         * Shorthand for skipping a test, same as `test([name], { skip: true }[, fn])`.\n         * @since v18.17.0\n         */\n        function skip(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;\n        function skip(name?: string, fn?: TestFn): Promise<void>;\n        function skip(options?: TestOptions, fn?: TestFn): Promise<void>;\n        function skip(fn?: TestFn): Promise<void>;\n        /**\n         * Shorthand for marking a test as `TODO`, same as `test([name], { todo: true }[, fn])`.\n         * @since v18.17.0\n         */\n        function todo(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;\n        function todo(name?: string, fn?: TestFn): Promise<void>;\n        function todo(options?: TestOptions, fn?: TestFn): Promise<void>;\n        function todo(fn?: TestFn): Promise<void>;\n        /**\n         * Shorthand for marking a test as `only`, same as `test([name], { only: true }[, fn])`.\n         * @since v18.17.0\n         */\n        function only(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;\n        function only(name?: string, fn?: TestFn): Promise<void>;\n        function only(options?: TestOptions, fn?: TestFn): Promise<void>;\n        function only(fn?: TestFn): Promise<void>;\n        /**\n         * The type of a function under test. The first argument to this function is a\n         * {@link TestContext} object. If the test uses callbacks, the callback function is passed as\n         * the second argument.\n         */\n        type TestFn = (t: TestContext, done: (result?: any) => void) => any;\n        /**\n         * The type of a function under Suite.\n         */\n        type SuiteFn = (s: SuiteContext) => void | Promise<void>;\n        interface TestShard {\n            /**\n             * A positive integer between 1 and `<total>` that specifies the index of the shard to run.\n             */\n            index: number;\n            /**\n             * A positive integer that specifies the total number of shards to split the test files to.\n             */\n            total: number;\n        }\n        interface RunOptions {\n            /**\n             * If a number is provided, then that many files would run in parallel.\n             * If truthy, it would run (number of cpu cores - 1) files in parallel.\n             * If falsy, it would only run one file at a time.\n             * If unspecified, subtests inherit this value from their parent.\n             * @default true\n             */\n            concurrency?: number | boolean | undefined;\n            /**\n             * An array containing the list of files to run.\n             * If unspecified, the test runner execution model will be used.\n             */\n            files?: readonly string[] | undefined;\n            /**\n             * Allows aborting an in-progress test execution.\n             * @default undefined\n             */\n            signal?: AbortSignal | undefined;\n            /**\n             * A number of milliseconds the test will fail after.\n             * If unspecified, subtests inherit this value from their parent.\n             * @default Infinity\n             */\n            timeout?: number | undefined;\n            /**\n             * Sets inspector port of test child process.\n             * If a nullish value is provided, each process gets its own port,\n             * incremented from the primary's `process.debugPort`.\n             */\n            inspectPort?: number | (() => number) | undefined;\n            /**\n             * That can be used to only run tests whose name matches the provided pattern.\n             * Test name patterns are interpreted as JavaScript regular expressions.\n             * For each test that is executed, any corresponding test hooks, such as `beforeEach()`, are also run.\n             */\n            testNamePatterns?: string | RegExp | ReadonlyArray<string | RegExp> | undefined;\n            /**\n             * If truthy, the test context will only run tests that have the `only` option set\n             * @since v18.19.0\n             */\n            only?: boolean | undefined;\n            /**\n             * A function that accepts the TestsStream instance and can be used to setup listeners before any tests are run.\n             */\n            setup?: ((reporter: TestsStream) => void | Promise<void>) | undefined;\n            /**\n             * Whether to run in watch mode or not.\n             * @default false\n             */\n            watch?: boolean | undefined;\n            /**\n             * Running tests in a specific shard.\n             * @since v18.19.0\n             * @default undefined\n             */\n            shard?: TestShard | undefined;\n        }\n        /**\n         * A successful call of the `run()` method will return a new `TestsStream` object,\n         * streaming a series of events representing the execution of the tests.\n         * `TestsStream` will emit events in the order of the tests' definitions.\n         * @since v18.9.0\n         */\n        interface TestsStream extends NodeJS.ReadableStream {\n            addListener(event: \"test:coverage\", listener: (data: EventData.TestCoverage) => void): this;\n            addListener(event: \"test:dequeue\", listener: (data: EventData.TestDequeue) => void): this;\n            addListener(event: \"test:diagnostic\", listener: (data: EventData.TestDiagnostic) => void): this;\n            addListener(event: \"test:enqueue\", listener: (data: EventData.TestEnqueue) => void): this;\n            addListener(event: \"test:fail\", listener: (data: EventData.TestFail) => void): this;\n            addListener(event: \"test:pass\", listener: (data: EventData.TestPass) => void): this;\n            addListener(event: \"test:plan\", listener: (data: EventData.TestPlan) => void): this;\n            addListener(event: \"test:start\", listener: (data: EventData.TestStart) => void): this;\n            addListener(event: \"test:stderr\", listener: (data: EventData.TestStderr) => void): this;\n            addListener(event: \"test:stdout\", listener: (data: EventData.TestStdout) => void): this;\n            addListener(event: \"test:watch:drained\", listener: () => void): this;\n            addListener(event: string, listener: (...args: any[]) => void): this;\n            emit(event: \"test:coverage\", data: EventData.TestCoverage): boolean;\n            emit(event: \"test:dequeue\", data: EventData.TestDequeue): boolean;\n            emit(event: \"test:diagnostic\", data: EventData.TestDiagnostic): boolean;\n            emit(event: \"test:enqueue\", data: EventData.TestEnqueue): boolean;\n            emit(event: \"test:fail\", data: EventData.TestFail): boolean;\n            emit(event: \"test:pass\", data: EventData.TestPass): boolean;\n            emit(event: \"test:plan\", data: EventData.TestPlan): boolean;\n            emit(event: \"test:start\", data: EventData.TestStart): boolean;\n            emit(event: \"test:stderr\", data: EventData.TestStderr): boolean;\n            emit(event: \"test:stdout\", data: EventData.TestStdout): boolean;\n            emit(event: \"test:watch:drained\"): boolean;\n            emit(event: string | symbol, ...args: any[]): boolean;\n            on(event: \"test:coverage\", listener: (data: EventData.TestCoverage) => void): this;\n            on(event: \"test:dequeue\", listener: (data: EventData.TestDequeue) => void): this;\n            on(event: \"test:diagnostic\", listener: (data: EventData.TestDiagnostic) => void): this;\n            on(event: \"test:enqueue\", listener: (data: EventData.TestEnqueue) => void): this;\n            on(event: \"test:fail\", listener: (data: EventData.TestFail) => void): this;\n            on(event: \"test:pass\", listener: (data: EventData.TestPass) => void): this;\n            on(event: \"test:plan\", listener: (data: EventData.TestPlan) => void): this;\n            on(event: \"test:start\", listener: (data: EventData.TestStart) => void): this;\n            on(event: \"test:stderr\", listener: (data: EventData.TestStderr) => void): this;\n            on(event: \"test:stdout\", listener: (data: EventData.TestStdout) => void): this;\n            on(event: \"test:watch:drained\", listener: () => void): this;\n            on(event: string, listener: (...args: any[]) => void): this;\n            once(event: \"test:coverage\", listener: (data: EventData.TestCoverage) => void): this;\n            once(event: \"test:dequeue\", listener: (data: EventData.TestDequeue) => void): this;\n            once(event: \"test:diagnostic\", listener: (data: EventData.TestDiagnostic) => void): this;\n            once(event: \"test:enqueue\", listener: (data: EventData.TestEnqueue) => void): this;\n            once(event: \"test:fail\", listener: (data: EventData.TestFail) => void): this;\n            once(event: \"test:pass\", listener: (data: EventData.TestPass) => void): this;\n            once(event: \"test:plan\", listener: (data: EventData.TestPlan) => void): this;\n            once(event: \"test:start\", listener: (data: EventData.TestStart) => void): this;\n            once(event: \"test:stderr\", listener: (data: EventData.TestStderr) => void): this;\n            once(event: \"test:stdout\", listener: (data: EventData.TestStdout) => void): this;\n            once(event: \"test:watch:drained\", listener: () => void): this;\n            once(event: string, listener: (...args: any[]) => void): this;\n            prependListener(event: \"test:coverage\", listener: (data: EventData.TestCoverage) => void): this;\n            prependListener(event: \"test:dequeue\", listener: (data: EventData.TestDequeue) => void): this;\n            prependListener(event: \"test:diagnostic\", listener: (data: EventData.TestDiagnostic) => void): this;\n            prependListener(event: \"test:enqueue\", listener: (data: EventData.TestEnqueue) => void): this;\n            prependListener(event: \"test:fail\", listener: (data: EventData.TestFail) => void): this;\n            prependListener(event: \"test:pass\", listener: (data: EventData.TestPass) => void): this;\n            prependListener(event: \"test:plan\", listener: (data: EventData.TestPlan) => void): this;\n            prependListener(event: \"test:start\", listener: (data: EventData.TestStart) => void): this;\n            prependListener(event: \"test:stderr\", listener: (data: EventData.TestStderr) => void): this;\n            prependListener(event: \"test:stdout\", listener: (data: EventData.TestStdout) => void): this;\n            prependListener(event: \"test:watch:drained\", listener: () => void): this;\n            prependListener(event: string, listener: (...args: any[]) => void): this;\n            prependOnceListener(event: \"test:coverage\", listener: (data: EventData.TestCoverage) => void): this;\n            prependOnceListener(event: \"test:dequeue\", listener: (data: EventData.TestDequeue) => void): this;\n            prependOnceListener(event: \"test:diagnostic\", listener: (data: EventData.TestDiagnostic) => void): this;\n            prependOnceListener(event: \"test:enqueue\", listener: (data: EventData.TestEnqueue) => void): this;\n            prependOnceListener(event: \"test:fail\", listener: (data: EventData.TestFail) => void): this;\n            prependOnceListener(event: \"test:pass\", listener: (data: EventData.TestPass) => void): this;\n            prependOnceListener(event: \"test:plan\", listener: (data: EventData.TestPlan) => void): this;\n            prependOnceListener(event: \"test:start\", listener: (data: EventData.TestStart) => void): this;\n            prependOnceListener(event: \"test:stderr\", listener: (data: EventData.TestStderr) => void): this;\n            prependOnceListener(event: \"test:stdout\", listener: (data: EventData.TestStdout) => void): this;\n            prependOnceListener(event: \"test:watch:drained\", listener: () => void): this;\n            prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        }\n        namespace EventData {\n            interface Error extends globalThis.Error {\n                cause: globalThis.Error;\n            }\n            interface LocationInfo {\n                /**\n                 * The column number where the test is defined, or\n                 * `undefined` if the test was run through the REPL.\n                 */\n                column?: number;\n                /**\n                 * The path of the test file, `undefined` if test is not ran through a file.\n                 */\n                file?: string;\n                /**\n                 * The line number where the test is defined, or\n                 * `undefined` if the test was run through the REPL.\n                 */\n                line?: number;\n            }\n            interface TestDiagnostic extends LocationInfo {\n                /**\n                 * The diagnostic message.\n                 */\n                message: string;\n                /**\n                 * The nesting level of the test.\n                 */\n                nesting: number;\n            }\n            interface TestCoverage {\n                /**\n                 * An object containing the coverage report.\n                 */\n                summary: {\n                    /**\n                     * An array of coverage reports for individual files.\n                     */\n                    files: Array<{\n                        /**\n                         * The absolute path of the file.\n                         */\n                        path: string;\n                        /**\n                         * The total number of lines.\n                         */\n                        totalLineCount: number;\n                        /**\n                         * The total number of branches.\n                         */\n                        totalBranchCount: number;\n                        /**\n                         * The total number of functions.\n                         */\n                        totalFunctionCount: number;\n                        /**\n                         * The number of covered lines.\n                         */\n                        coveredLineCount: number;\n                        /**\n                         * The number of covered branches.\n                         */\n                        coveredBranchCount: number;\n                        /**\n                         * The number of covered functions.\n                         */\n                        coveredFunctionCount: number;\n                        /**\n                         * The percentage of lines covered.\n                         */\n                        coveredLinePercent: number;\n                        /**\n                         * The percentage of branches covered.\n                         */\n                        coveredBranchPercent: number;\n                        /**\n                         * The percentage of functions covered.\n                         */\n                        coveredFunctionPercent: number;\n                        /**\n                         * An array of integers representing line numbers that are uncovered.\n                         */\n                        uncoveredLineNumbers: number[];\n                    }>;\n                    /**\n                     * An object containing a summary of coverage for all files.\n                     */\n                    totals: {\n                        /**\n                         * The total number of lines.\n                         */\n                        totalLineCount: number;\n                        /**\n                         * The total number of branches.\n                         */\n                        totalBranchCount: number;\n                        /**\n                         * The total number of functions.\n                         */\n                        totalFunctionCount: number;\n                        /**\n                         * The number of covered lines.\n                         */\n                        coveredLineCount: number;\n                        /**\n                         * The number of covered branches.\n                         */\n                        coveredBranchCount: number;\n                        /**\n                         * The number of covered functions.\n                         */\n                        coveredFunctionCount: number;\n                        /**\n                         * The percentage of lines covered.\n                         */\n                        coveredLinePercent: number;\n                        /**\n                         * The percentage of branches covered.\n                         */\n                        coveredBranchPercent: number;\n                        /**\n                         * The percentage of functions covered.\n                         */\n                        coveredFunctionPercent: number;\n                    };\n                    /**\n                     * The working directory when code coverage began. This\n                     * is useful for displaying relative path names in case\n                     * the tests changed the working directory of the Node.js process.\n                     */\n                    workingDirectory: string;\n                };\n                /**\n                 * The nesting level of the test.\n                 */\n                nesting: number;\n            }\n            interface TestDequeue extends LocationInfo {\n                /**\n                 * The test name\n                 */\n                name: string;\n                /**\n                 * The nesting level of the test.\n                 */\n                nesting: number;\n            }\n            interface TestEnqueue extends LocationInfo {\n                /**\n                 * The test name\n                 */\n                name: string;\n                /**\n                 * The nesting level of the test.\n                 */\n                nesting: number;\n            }\n            interface TestFail extends LocationInfo {\n                /**\n                 * Additional execution metadata.\n                 */\n                details: {\n                    /**\n                     * The duration of the test in milliseconds.\n                     */\n                    duration_ms: number;\n                    /**\n                     * The error thrown by the test.\n                     */\n                    error: Error;\n                    /**\n                     * The type of the test, used to denote whether this is a suite.\n                     * @since 18.17.0\n                     */\n                    type?: \"suite\";\n                };\n                /**\n                 * The test name.\n                 */\n                name: string;\n                /**\n                 * The nesting level of the test.\n                 */\n                nesting: number;\n                /**\n                 * The ordinal number of the test.\n                 */\n                testNumber: number;\n                /**\n                 * Present if `context.todo` is called.\n                 */\n                todo?: string | boolean;\n                /**\n                 * Present if `context.skip` is called.\n                 */\n                skip?: string | boolean;\n            }\n            interface TestPass extends LocationInfo {\n                /**\n                 * Additional execution metadata.\n                 */\n                details: {\n                    /**\n                     * The duration of the test in milliseconds.\n                     */\n                    duration_ms: number;\n                    /**\n                     * The type of the test, used to denote whether this is a suite.\n                     * @since 18.17.0\n                     */\n                    type?: \"suite\";\n                };\n                /**\n                 * The test name.\n                 */\n                name: string;\n                /**\n                 * The nesting level of the test.\n                 */\n                nesting: number;\n                /**\n                 * The ordinal number of the test.\n                 */\n                testNumber: number;\n                /**\n                 * Present if `context.todo` is called.\n                 */\n                todo?: string | boolean;\n                /**\n                 * Present if `context.skip` is called.\n                 */\n                skip?: string | boolean;\n            }\n            interface TestPlan extends LocationInfo {\n                /**\n                 * The nesting level of the test.\n                 */\n                nesting: number;\n                /**\n                 * The number of subtests that have ran.\n                 */\n                count: number;\n            }\n            interface TestStart extends LocationInfo {\n                /**\n                 * The test name.\n                 */\n                name: string;\n                /**\n                 * The nesting level of the test.\n                 */\n                nesting: number;\n            }\n            interface TestStderr extends LocationInfo {\n                /**\n                 * The message written to `stderr`\n                 */\n                message: string;\n            }\n            interface TestStdout extends LocationInfo {\n                /**\n                 * The message written to `stdout`\n                 */\n                message: string;\n            }\n        }\n        /**\n         * An instance of `TestContext` is passed to each test function in order to interact with the\n         * test runner. However, the `TestContext` constructor is not exposed as part of the API.\n         * @since v18.0.0\n         */\n        interface TestContext {\n            /**\n             * This function is used to create a hook running before subtest of the current test.\n             * @param fn The hook function. The first argument to this function is a `TestContext` object.\n             *    If the hook uses callbacks, the callback function is passed as the second argument.\n             * @param options Configuration options for the hook.\n             * @since v18.17.0\n             */\n            before(fn?: TestContextHookFn, options?: HookOptions): void;\n            /**\n             * This function is used to create a hook running before each subtest of the current test.\n             * @param fn The hook function. The first argument to this function is a `TestContext` object.\n             *    If the hook uses callbacks, the callback function is passed as the second argument.\n             * @param options Configuration options for the hook.\n             * @since v18.8.0\n             */\n            beforeEach(fn?: TestContextHookFn, options?: HookOptions): void;\n            /**\n             * This function is used to create a hook that runs after the current test finishes.\n             * @param fn The hook function. The first argument to this function is a `TestContext` object.\n             *    If the hook uses callbacks, the callback function is passed as the second argument.\n             * @param options Configuration options for the hook.\n             * @since v18.13.0\n             */\n            after(fn?: TestContextHookFn, options?: HookOptions): void;\n            /**\n             * This function is used to create a hook running after each subtest of the current test.\n             * @param fn The hook function. The first argument to this function is a `TestContext` object.\n             *    If the hook uses callbacks, the callback function is passed as the second argument.\n             * @param options Configuration options for the hook.\n             * @since v18.8.0\n             */\n            afterEach(fn?: TestContextHookFn, options?: HookOptions): void;\n            /**\n             * This function is used to write diagnostics to the output. Any diagnostic information is\n             * included at the end of the test's results. This function does not return a value.\n             * @param message Message to be reported.\n             * @since v18.0.0\n             */\n            diagnostic(message: string): void;\n            /**\n             * The name of the test.\n             * @since v18.8.0\n             */\n            readonly name: string;\n            /**\n             * If `shouldRunOnlyTests` is truthy, the test context will only run tests that have the `only`\n             * option set. Otherwise, all tests are run. If Node.js was not started with the `--test-only`\n             * command-line option, this function is a no-op.\n             * @param shouldRunOnlyTests Whether or not to run `only` tests.\n             * @since v18.0.0\n             */\n            runOnly(shouldRunOnlyTests: boolean): void;\n            /**\n             * Can be used to abort test subtasks when the test has been aborted.\n             * @since v18.7.0\n             */\n            readonly signal: AbortSignal;\n            /**\n             * This function causes the test's output to indicate the test as skipped. If `message` is\n             * provided, it is included in the output. Calling `skip()` does not terminate execution of\n             * the test function. This function does not return a value.\n             * @param message Optional skip message.\n             * @since v18.0.0\n             */\n            skip(message?: string): void;\n            /**\n             * This function adds a `TODO` directive to the test's output. If `message` is provided, it is\n             * included in the output. Calling `todo()` does not terminate execution of the test\n             * function. This function does not return a value.\n             * @param message Optional `TODO` message.\n             * @since v18.0.0\n             */\n            todo(message?: string): void;\n            /**\n             * This function is used to create subtests under the current test. This function behaves in\n             * the same fashion as the top level {@link test} function.\n             * @since v18.0.0\n             * @param name The name of the test, which is displayed when reporting test results.\n             *    Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.\n             * @param options Configuration options for the test\n             * @param fn The function under test. This first argument to this function is a\n             *    {@link TestContext} object. If the test uses callbacks, the callback function is\n             *    passed as the second argument. Default: A no-op function.\n             * @returns A {@link Promise} resolved with `undefined` once the test completes.\n             */\n            test: typeof test;\n            /**\n             * Each test provides its own MockTracker instance.\n             */\n            readonly mock: MockTracker;\n        }\n        /**\n         * An instance of `SuiteContext` is passed to each suite function in order to\n         * interact with the test runner. However, the `SuiteContext` constructor is not\n         * exposed as part of the API.\n         * @since v18.7.0, v16.17.0\n         */\n        interface SuiteContext {\n            /**\n             * The name of the suite.\n             * @since v18.8.0, v16.18.0\n             */\n            readonly name: string;\n            /**\n             * Can be used to abort test subtasks when the test has been aborted.\n             * @since v18.7.0, v16.17.0\n             */\n            readonly signal: AbortSignal;\n        }\n        interface TestOptions {\n            /**\n             * If a number is provided, then that many tests would run in parallel.\n             * If truthy, it would run (number of cpu cores - 1) tests in parallel.\n             * For subtests, it will be `Infinity` tests in parallel.\n             * If falsy, it would only run one test at a time.\n             * If unspecified, subtests inherit this value from their parent.\n             * @default false\n             */\n            concurrency?: number | boolean | undefined;\n            /**\n             * If truthy, and the test context is configured to run `only` tests, then this test will be\n             * run. Otherwise, the test is skipped.\n             * @default false\n             */\n            only?: boolean | undefined;\n            /**\n             * Allows aborting an in-progress test.\n             * @since v18.8.0\n             */\n            signal?: AbortSignal | undefined;\n            /**\n             * If truthy, the test is skipped. If a string is provided, that string is displayed in the\n             * test results as the reason for skipping the test.\n             * @default false\n             */\n            skip?: boolean | string | undefined;\n            /**\n             * A number of milliseconds the test will fail after. If unspecified, subtests inherit this\n             * value from their parent.\n             * @default Infinity\n             * @since v18.7.0\n             */\n            timeout?: number | undefined;\n            /**\n             * If truthy, the test marked as `TODO`. If a string is provided, that string is displayed in\n             * the test results as the reason why the test is `TODO`.\n             * @default false\n             */\n            todo?: boolean | string | undefined;\n        }\n        /**\n         * This function is used to create a hook running before running a suite.\n         * @param fn The hook function. If the hook uses callbacks, the callback function is passed as\n         *    the second argument. Default: A no-op function.\n         * @param options Configuration options for the hook.\n         * @since v18.8.0\n         */\n        function before(fn?: HookFn, options?: HookOptions): void;\n        /**\n         * This function is used to create a hook running after running a suite.\n         * @param fn The hook function. If the hook uses callbacks, the callback function is passed as\n         *    the second argument. Default: A no-op function.\n         * @param options Configuration options for the hook.\n         * @since v18.8.0\n         */\n        function after(fn?: HookFn, options?: HookOptions): void;\n        /**\n         * This function is used to create a hook running before each subtest of the current suite.\n         * @param fn The hook function. If the hook uses callbacks, the callback function is passed as\n         *    the second argument. Default: A no-op function.\n         * @param options Configuration options for the hook.\n         * @since v18.8.0\n         */\n        function beforeEach(fn?: HookFn, options?: HookOptions): void;\n        /**\n         * This function is used to create a hook running after each subtest of the current test.\n         * @param fn The hook function. If the hook uses callbacks, the callback function is passed as\n         *    the second argument. Default: A no-op function.\n         * @param options Configuration options for the hook.\n         * @since v18.8.0\n         */\n        function afterEach(fn?: HookFn, options?: HookOptions): void;\n        /**\n         * The hook function. The first argument is the context in which the hook is called.\n         * If the hook uses callbacks, the callback function is passed as the second argument.\n         */\n        type HookFn = (c: TestContext | SuiteContext, done: (result?: any) => void) => any;\n        /**\n         * The hook function. The first argument is a `TestContext` object.\n         * If the hook uses callbacks, the callback function is passed as the second argument.\n         */\n        type TestContextHookFn = (t: TestContext, done: (result?: any) => void) => any;\n        /**\n         * Configuration options for hooks.\n         * @since v18.8.0\n         */\n        interface HookOptions {\n            /**\n             * Allows aborting an in-progress hook.\n             */\n            signal?: AbortSignal | undefined;\n            /**\n             * A number of milliseconds the hook will fail after. If unspecified, subtests inherit this\n             * value from their parent.\n             * @default Infinity\n             */\n            timeout?: number | undefined;\n        }\n        interface MockFunctionOptions {\n            /**\n             * The number of times that the mock will use the behavior of `implementation`.\n             * Once the mock function has been called `times` times,\n             * it will automatically restore the behavior of `original`.\n             * This value must be an integer greater than zero.\n             * @default Infinity\n             */\n            times?: number | undefined;\n        }\n        interface MockMethodOptions extends MockFunctionOptions {\n            /**\n             * If `true`, `object[methodName]` is treated as a getter.\n             * This option cannot be used with the `setter` option.\n             */\n            getter?: boolean | undefined;\n            /**\n             * If `true`, `object[methodName]` is treated as a setter.\n             * This option cannot be used with the `getter` option.\n             */\n            setter?: boolean | undefined;\n        }\n        type Mock<F extends Function> = F & {\n            mock: MockFunctionContext<F>;\n        };\n        interface MockTracker {\n            /**\n             * This function is used to create a mock function.\n             * @param original An optional function to create a mock on.\n             * @param implementation An optional function used as the mock implementation for `original`.\n             *  This is useful for creating mocks that exhibit one behavior for a specified number of calls and then restore the behavior of `original`.\n             * @param options Optional configuration options for the mock function.\n             */\n            fn<F extends Function = (...args: any[]) => undefined>(\n                original?: F,\n                options?: MockFunctionOptions,\n            ): Mock<F>;\n            fn<F extends Function = (...args: any[]) => undefined, Implementation extends Function = F>(\n                original?: F,\n                implementation?: Implementation,\n                options?: MockFunctionOptions,\n            ): Mock<F | Implementation>;\n            /**\n             * This function is used to create a mock on an existing object method.\n             * @param object The object whose method is being mocked.\n             * @param methodName The identifier of the method on `object` to mock. If `object[methodName]` is not a function, an error is thrown.\n             * @param implementation An optional function used as the mock implementation for `object[methodName]`.\n             * @param options Optional configuration options for the mock method.\n             */\n            method<\n                MockedObject extends object,\n                MethodName extends FunctionPropertyNames<MockedObject>,\n            >(\n                object: MockedObject,\n                methodName: MethodName,\n                options?: MockFunctionOptions,\n            ): MockedObject[MethodName] extends Function ? Mock<MockedObject[MethodName]>\n                : never;\n            method<\n                MockedObject extends object,\n                MethodName extends FunctionPropertyNames<MockedObject>,\n                Implementation extends Function,\n            >(\n                object: MockedObject,\n                methodName: MethodName,\n                implementation: Implementation,\n                options?: MockFunctionOptions,\n            ): MockedObject[MethodName] extends Function ? Mock<MockedObject[MethodName] | Implementation>\n                : never;\n            method<MockedObject extends object>(\n                object: MockedObject,\n                methodName: keyof MockedObject,\n                options: MockMethodOptions,\n            ): Mock<Function>;\n            method<MockedObject extends object>(\n                object: MockedObject,\n                methodName: keyof MockedObject,\n                implementation: Function,\n                options: MockMethodOptions,\n            ): Mock<Function>;\n            /**\n             * This function is syntax sugar for {@link MockTracker.method} with `options.getter` set to `true`.\n             */\n            getter<\n                MockedObject extends object,\n                MethodName extends keyof MockedObject,\n            >(\n                object: MockedObject,\n                methodName: MethodName,\n                options?: MockFunctionOptions,\n            ): Mock<() => MockedObject[MethodName]>;\n            getter<\n                MockedObject extends object,\n                MethodName extends keyof MockedObject,\n                Implementation extends Function,\n            >(\n                object: MockedObject,\n                methodName: MethodName,\n                implementation?: Implementation,\n                options?: MockFunctionOptions,\n            ): Mock<(() => MockedObject[MethodName]) | Implementation>;\n            /**\n             * This function is syntax sugar for {@link MockTracker.method} with `options.setter` set to `true`.\n             */\n            setter<\n                MockedObject extends object,\n                MethodName extends keyof MockedObject,\n            >(\n                object: MockedObject,\n                methodName: MethodName,\n                options?: MockFunctionOptions,\n            ): Mock<(value: MockedObject[MethodName]) => void>;\n            setter<\n                MockedObject extends object,\n                MethodName extends keyof MockedObject,\n                Implementation extends Function,\n            >(\n                object: MockedObject,\n                methodName: MethodName,\n                implementation?: Implementation,\n                options?: MockFunctionOptions,\n            ): Mock<((value: MockedObject[MethodName]) => void) | Implementation>;\n            /**\n             * This function restores the default behavior of all mocks that were previously created by this `MockTracker`\n             * and disassociates the mocks from the `MockTracker` instance. Once disassociated, the mocks can still be used,\n             * but the `MockTracker` instance can no longer be used to reset their behavior or otherwise interact with them.\n             *\n             * After each test completes, this function is called on the test context's `MockTracker`.\n             * If the global `MockTracker` is used extensively, calling this function manually is recommended.\n             */\n            reset(): void;\n            /**\n             * This function restores the default behavior of all mocks that were previously created by this `MockTracker`.\n             * Unlike `mock.reset()`, `mock.restoreAll()` does not disassociate the mocks from the `MockTracker` instance.\n             */\n            restoreAll(): void;\n            readonly timers: MockTimers;\n        }\n        const mock: MockTracker;\n        interface MockFunctionCall<\n            F extends Function,\n            ReturnType = F extends (...args: any) => infer T ? T\n                : F extends abstract new(...args: any) => infer T ? T\n                : unknown,\n            Args = F extends (...args: infer Y) => any ? Y\n                : F extends abstract new(...args: infer Y) => any ? Y\n                : unknown[],\n        > {\n            /**\n             * An array of the arguments passed to the mock function.\n             */\n            arguments: Args;\n            /**\n             * If the mocked function threw then this property contains the thrown value.\n             */\n            error: unknown | undefined;\n            /**\n             * The value returned by the mocked function.\n             *\n             * If the mocked function threw, it will be `undefined`.\n             */\n            result: ReturnType | undefined;\n            /**\n             * An `Error` object whose stack can be used to determine the callsite of the mocked function invocation.\n             */\n            stack: Error;\n            /**\n             * If the mocked function is a constructor, this field contains the class being constructed.\n             * Otherwise this will be `undefined`.\n             */\n            target: F extends abstract new(...args: any) => any ? F : undefined;\n            /**\n             * The mocked function's `this` value.\n             */\n            this: unknown;\n        }\n        interface MockFunctionContext<F extends Function> {\n            /**\n             * A getter that returns a copy of the internal array used to track calls to the mock.\n             */\n            readonly calls: MockFunctionCall<F>[];\n            /**\n             * This function returns the number of times that this mock has been invoked.\n             * This function is more efficient than checking `ctx.calls.length`\n             * because `ctx.calls` is a getter that creates a copy of the internal call tracking array.\n             */\n            callCount(): number;\n            /**\n             * This function is used to change the behavior of an existing mock.\n             * @param implementation The function to be used as the mock's new implementation.\n             */\n            mockImplementation(implementation: F): void;\n            /**\n             * This function is used to change the behavior of an existing mock for a single invocation.\n             * Once invocation `onCall` has occurred, the mock will revert to whatever behavior\n             * it would have used had `mockImplementationOnce()` not been called.\n             * @param implementation The function to be used as the mock's implementation for the invocation number specified by `onCall`.\n             * @param onCall The invocation number that will use `implementation`.\n             *  If the specified invocation has already occurred then an exception is thrown.\n             */\n            mockImplementationOnce(implementation: F, onCall?: number): void;\n            /**\n             * Resets the call history of the mock function.\n             */\n            resetCalls(): void;\n            /**\n             * Resets the implementation of the mock function to its original behavior.\n             * The mock can still be used after calling this function.\n             */\n            restore(): void;\n        }\n        /**\n         * Mocking timers is a technique commonly used in software testing to simulate and\n         * control the behavior of timers, such as `setInterval` and `setTimeout`,\n         * without actually waiting for the specified time intervals.\n         *\n         * The `MockTracker` provides a top-level `timers` export\n         * which is a `MockTimers` instance.\n         * @since v18.19.0\n         * @experimental\n         */\n        interface MockTimers {\n            /**\n             * Enables timer mocking for the specified timers.\n             *\n             * **Note:** When you enable mocking for a specific timer, its associated\n             * clear function will also be implicitly mocked.\n             *\n             * Example usage:\n             *\n             * ```js\n             * import { mock } from 'node:test';\n             * mock.timers.enable(['setInterval']);\n             * ```\n             *\n             * The above example enables mocking for the `setInterval` timer and\n             * implicitly mocks the `clearInterval` function. Only the `setInterval` and `clearInterval` functions from `node:timers`, `node:timers/promises`, and`globalThis` will be mocked.\n             *\n             * Alternatively, if you call `mock.timers.enable()` without any parameters:\n             *\n             * All timers (`'setInterval'`, `'clearInterval'`, `'setTimeout'`, and `'clearTimeout'`)\n             * will be mocked. The `setInterval`, `clearInterval`, `setTimeout`, and `clearTimeout` functions from `node:timers`, `node:timers/promises`,\n             * and `globalThis` will be mocked.\n             * @since v18.19.0\n             */\n            enable(timers?: ReadonlyArray<\"setInterval\" | \"clearInterval\" | \"setTimeout\" | \"clearTimeout\">): void;\n            /**\n             * This function restores the default behavior of all mocks that were previously\n             * created by this `MockTimers` instance and disassociates the mocks\n             * from the `MockTracker` instance.\n             *\n             * **Note:** After each test completes, this function is called on\n             * the test context's `MockTracker`.\n             *\n             * ```js\n             * import { mock } from 'node:test';\n             * mock.timers.reset();\n             * ```\n             * @since v18.19.0\n             */\n            reset(): void;\n            /**\n             * Advances time for all mocked timers.\n             *\n             * **Note:** This diverges from how `setTimeout` in Node.js behaves and accepts\n             * only positive numbers. In Node.js, `setTimeout` with negative numbers is\n             * only supported for web compatibility reasons.\n             *\n             * The following example mocks a `setTimeout` function and\n             * by using `.tick` advances in\n             * time triggering all pending timers.\n             *\n             * ```js\n             * import assert from 'node:assert';\n             * import { test } from 'node:test';\n             *\n             * test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => {\n             *   const fn = context.mock.fn();\n             *\n             *   context.mock.timers.enable(['setTimeout']);\n             *\n             *   setTimeout(fn, 9999);\n             *\n             *   assert.strictEqual(fn.mock.callCount(), 0);\n             *\n             *   // Advance in time\n             *   context.mock.timers.tick(9999);\n             *\n             *   assert.strictEqual(fn.mock.callCount(), 1);\n             * });\n             * ```\n             *\n             * Alternativelly, the `.tick` function can be called many times\n             *\n             * ```js\n             * import assert from 'node:assert';\n             * import { test } from 'node:test';\n             *\n             * test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => {\n             *   const fn = context.mock.fn();\n             *   context.mock.timers.enable(['setTimeout']);\n             *   const nineSecs = 9000;\n             *   setTimeout(fn, nineSecs);\n             *\n             *   const twoSeconds = 3000;\n             *   context.mock.timers.tick(twoSeconds);\n             *   context.mock.timers.tick(twoSeconds);\n             *   context.mock.timers.tick(twoSeconds);\n             *\n             *   assert.strictEqual(fn.mock.callCount(), 1);\n             * });\n             * ```\n             * @since v18.19.0\n             */\n            tick(milliseconds: number): void;\n            /**\n             * Triggers all pending mocked timers immediately.\n             *\n             * The example below triggers all pending timers immediately,\n             * causing them to execute without any delay.\n             *\n             * ```js\n             * import assert from 'node:assert';\n             * import { test } from 'node:test';\n             *\n             * test('runAll functions following the given order', (context) => {\n             *   context.mock.timers.enable(['setTimeout']);\n             *   const results = [];\n             *   setTimeout(() => results.push(1), 9999);\n             *\n             *   // Notice that if both timers have the same timeout,\n             *   // the order of execution is guaranteed\n             *   setTimeout(() => results.push(3), 8888);\n             *   setTimeout(() => results.push(2), 8888);\n             *\n             *   assert.deepStrictEqual(results, []);\n             *\n             *   context.mock.timers.runAll();\n             *\n             *   assert.deepStrictEqual(results, [3, 2, 1]);\n             * });\n             * ```\n             *\n             * **Note:** The `runAll()` function is specifically designed for\n             * triggering timers in the context of timer mocking.\n             * It does not have any effect on real-time system\n             * clocks or actual timers outside of the mocking environment.\n             * @since v18.19.0\n             */\n            runAll(): void;\n            /**\n             * Calls {@link MockTimers.reset()}.\n             */\n            [Symbol.dispose](): void;\n        }\n    }\n    type FunctionPropertyNames<T> = {\n        [K in keyof T]: T[K] extends Function ? K : never;\n    }[keyof T];\n    export = test;\n}\n\n/**\n * The `node:test/reporters` module exposes the builtin-reporters for `node:test`.\n * To access it:\n *\n * ```js\n * import test from 'node:test/reporters';\n * ```\n *\n * This module is only available under the `node:` scheme. The following will not\n * work:\n *\n * ```js\n * import test from 'test/reporters';\n * ```\n * @since v18.17.0\n * @see [source](https://github.com/nodejs/node/blob/v18.17.0/lib/test/reporters.js)\n */\ndeclare module \"node:test/reporters\" {\n    import { Transform } from \"node:stream\";\n    import { EventData } from \"node:test\";\n\n    type TestEvent =\n        | { type: \"test:coverage\"; data: EventData.TestCoverage }\n        | { type: \"test:dequeue\"; data: EventData.TestDequeue }\n        | { type: \"test:diagnostic\"; data: EventData.TestDiagnostic }\n        | { type: \"test:enqueue\"; data: EventData.TestEnqueue }\n        | { type: \"test:fail\"; data: EventData.TestFail }\n        | { type: \"test:pass\"; data: EventData.TestPass }\n        | { type: \"test:plan\"; data: EventData.TestPlan }\n        | { type: \"test:start\"; data: EventData.TestStart }\n        | { type: \"test:stderr\"; data: EventData.TestStderr }\n        | { type: \"test:stdout\"; data: EventData.TestStdout }\n        | { type: \"test:watch:drained\"; data: undefined };\n    type TestEventGenerator = AsyncGenerator<TestEvent, void>;\n\n    /**\n     * The `dot` reporter outputs the test results in a compact format,\n     * where each passing test is represented by a `.`,\n     * and each failing test is represented by a `X`.\n     */\n    function dot(source: TestEventGenerator): AsyncGenerator<\"\\n\" | \".\" | \"X\", void>;\n    /**\n     * The `tap` reporter outputs the test results in the [TAP](https://testanything.org/) format.\n     */\n    function tap(source: TestEventGenerator): AsyncGenerator<string, void>;\n    /**\n     * The `spec` reporter outputs the test results in a human-readable format.\n     */\n    class Spec extends Transform {\n        constructor();\n    }\n    /**\n     * The `junit` reporter outputs test results in a jUnit XML format\n     */\n    function junit(source: TestEventGenerator): AsyncGenerator<string, void>;\n    export { dot, junit, Spec as spec, tap, TestEvent };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/timers.d.ts",
      "content": "/**\n * The `timer` module exposes a global API for scheduling functions to\n * be called at some future period of time. Because the timer functions are\n * globals, there is no need to import `node:timers` to use the API.\n *\n * The timer functions within Node.js implement a similar API as the timers API\n * provided by Web Browsers but use a different internal implementation that is\n * built around the Node.js [Event Loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#setimmediate-vs-settimeout).\n * @see [source](https://github.com/nodejs/node/blob/v18.x/lib/timers.js)\n */\ndeclare module \"timers\" {\n    import { Abortable } from \"node:events\";\n    import * as promises from \"node:timers/promises\";\n    export interface TimerOptions extends Abortable {\n        /**\n         * Set to `false` to indicate that the scheduled `Timeout`\n         * should not require the Node.js event loop to remain active.\n         * @default true\n         */\n        ref?: boolean | undefined;\n    }\n    global {\n        namespace NodeJS {\n            /**\n             * This object is created internally and is returned from `setImmediate()`. It\n             * can be passed to `clearImmediate()` in order to cancel the scheduled\n             * actions.\n             *\n             * By default, when an immediate is scheduled, the Node.js event loop will continue\n             * running as long as the immediate is active. The `Immediate` object returned by\n             * `setImmediate()` exports both `immediate.ref()` and `immediate.unref()`\n             * functions that can be used to control this default behavior.\n             */\n            interface Immediate extends RefCounted, Disposable {\n                /**\n                 * If true, the `Immediate` object will keep the Node.js event loop active.\n                 * @since v11.0.0\n                 */\n                hasRef(): boolean;\n                /**\n                 * When called, requests that the Node.js event loop _not_ exit so long as the\n                 * `Immediate` is active. Calling `immediate.ref()` multiple times will have no\n                 * effect.\n                 *\n                 * By default, all `Immediate` objects are \"ref'ed\", making it normally unnecessary\n                 * to call `immediate.ref()` unless `immediate.unref()` had been called previously.\n                 * @since v9.7.0\n                 * @returns a reference to `immediate`\n                 */\n                ref(): this;\n                /**\n                 * When called, the active `Immediate` object will not require the Node.js event\n                 * loop to remain active. If there is no other activity keeping the event loop\n                 * running, the process may exit before the `Immediate` object's callback is\n                 * invoked. Calling `immediate.unref()` multiple times will have no effect.\n                 * @since v9.7.0\n                 * @returns a reference to `immediate`\n                 */\n                unref(): this;\n                /**\n                 * Cancels the immediate. This is similar to calling `clearImmediate()`.\n                 * @since v18.18.0\n                 * @experimental\n                 */\n                [Symbol.dispose](): void;\n                _onImmediate(...args: any[]): void;\n            }\n            // Legacy interface used in Node.js v9 and prior\n            /** @deprecated Use `NodeJS.Timeout` instead. */\n            interface Timer extends RefCounted {\n                hasRef(): boolean;\n                refresh(): this;\n                [Symbol.toPrimitive](): number;\n            }\n            /**\n             * This object is created internally and is returned from `setTimeout()` and\n             * `setInterval()`. It can be passed to either `clearTimeout()` or\n             * `clearInterval()` in order to cancel the scheduled actions.\n             *\n             * By default, when a timer is scheduled using either `setTimeout()` or\n             * `setInterval()`, the Node.js event loop will continue running as long as the\n             * timer is active. Each of the `Timeout` objects returned by these functions\n             * export both `timeout.ref()` and `timeout.unref()` functions that can be used to\n             * control this default behavior.\n             */\n            interface Timeout extends RefCounted, Disposable, Timer {\n                /**\n                 * Cancels the timeout.\n                 * @since v0.9.1\n                 * @legacy Use `clearTimeout()` instead.\n                 * @returns a reference to `timeout`\n                 */\n                close(): this;\n                /**\n                 * If true, the `Timeout` object will keep the Node.js event loop active.\n                 * @since v11.0.0\n                 */\n                hasRef(): boolean;\n                /**\n                 * When called, requests that the Node.js event loop _not_ exit so long as the\n                 * `Timeout` is active. Calling `timeout.ref()` multiple times will have no effect.\n                 *\n                 * By default, all `Timeout` objects are \"ref'ed\", making it normally unnecessary\n                 * to call `timeout.ref()` unless `timeout.unref()` had been called previously.\n                 * @since v0.9.1\n                 * @returns a reference to `timeout`\n                 */\n                ref(): this;\n                /**\n                 * Sets the timer's start time to the current time, and reschedules the timer to\n                 * call its callback at the previously specified duration adjusted to the current\n                 * time. This is useful for refreshing a timer without allocating a new\n                 * JavaScript object.\n                 *\n                 * Using this on a timer that has already called its callback will reactivate the\n                 * timer.\n                 * @since v10.2.0\n                 * @returns a reference to `timeout`\n                 */\n                refresh(): this;\n                /**\n                 * When called, the active `Timeout` object will not require the Node.js event loop\n                 * to remain active. If there is no other activity keeping the event loop running,\n                 * the process may exit before the `Timeout` object's callback is invoked. Calling\n                 * `timeout.unref()` multiple times will have no effect.\n                 * @since v0.9.1\n                 * @returns a reference to `timeout`\n                 */\n                unref(): this;\n                /**\n                 * Coerce a `Timeout` to a primitive. The primitive can be used to\n                 * clear the `Timeout`. The primitive can only be used in the\n                 * same thread where the timeout was created. Therefore, to use it\n                 * across `worker_threads` it must first be passed to the correct\n                 * thread. This allows enhanced compatibility with browser\n                 * `setTimeout()` and `setInterval()` implementations.\n                 * @since v14.9.0, v12.19.0\n                 */\n                [Symbol.toPrimitive](): number;\n                /**\n                 * Cancels the timeout.\n                 * @since v18.18.0\n                 * @experimental\n                 */\n                [Symbol.dispose](): void;\n                _onTimeout(...args: any[]): void;\n            }\n        }\n        /**\n         * Schedules the \"immediate\" execution of the `callback` after I/O events'\n         * callbacks.\n         *\n         * When multiple calls to `setImmediate()` are made, the `callback` functions are\n         * queued for execution in the order in which they are created. The entire callback\n         * queue is processed every event loop iteration. If an immediate timer is queued\n         * from inside an executing callback, that timer will not be triggered until the\n         * next event loop iteration.\n         *\n         * If `callback` is not a function, a `TypeError` will be thrown.\n         *\n         * This method has a custom variant for promises that is available using\n         * `timersPromises.setImmediate()`.\n         * @since v0.9.1\n         * @param callback The function to call at the end of this turn of\n         * the Node.js [Event Loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#setimmediate-vs-settimeout)\n         * @param args Optional arguments to pass when the `callback` is called.\n         * @returns for use with `clearImmediate()`\n         */\n        function setImmediate<TArgs extends any[]>(\n            callback: (...args: TArgs) => void,\n            ...args: TArgs\n        ): NodeJS.Immediate;\n        // Allow a single void-accepting argument to be optional in arguments lists.\n        // Allows usage such as `new Promise(resolve => setTimeout(resolve, ms))` (#54258)\n        // eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n        function setImmediate(callback: (_: void) => void): NodeJS.Immediate;\n        namespace setImmediate {\n            import __promisify__ = promises.setImmediate;\n            export { __promisify__ };\n        }\n        /**\n         * Schedules repeated execution of `callback` every `delay` milliseconds.\n         *\n         * When `delay` is larger than `2147483647` or less than `1`, the `delay` will be\n         * set to `1`. Non-integer delays are truncated to an integer.\n         *\n         * If `callback` is not a function, a `TypeError` will be thrown.\n         *\n         * This method has a custom variant for promises that is available using\n         * `timersPromises.setInterval()`.\n         * @since v0.0.1\n         * @param callback The function to call when the timer elapses.\n         * @param delay The number of milliseconds to wait before calling the\n         * `callback`. **Default:** `1`.\n         * @param args Optional arguments to pass when the `callback` is called.\n         * @returns for use with `clearInterval()`\n         */\n        function setInterval<TArgs extends any[]>(\n            callback: (...args: TArgs) => void,\n            delay?: number,\n            ...args: TArgs\n        ): NodeJS.Timeout;\n        // Allow a single void-accepting argument to be optional in arguments lists.\n        // Allows usage such as `new Promise(resolve => setTimeout(resolve, ms))` (#54258)\n        // eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n        function setInterval(callback: (_: void) => void, delay?: number): NodeJS.Timeout;\n        /**\n         * Schedules execution of a one-time `callback` after `delay` milliseconds.\n         *\n         * The `callback` will likely not be invoked in precisely `delay` milliseconds.\n         * Node.js makes no guarantees about the exact timing of when callbacks will fire,\n         * nor of their ordering. The callback will be called as close as possible to the\n         * time specified.\n         *\n         * When `delay` is larger than `2147483647` or less than `1` or `NaN`, the `delay`\n         * will be set to `1`. Non-integer delays are truncated to an integer.\n         *\n         * If `callback` is not a function, a `TypeError` will be thrown.\n         *\n         * This method has a custom variant for promises that is available using\n         * `timersPromises.setTimeout()`.\n         * @since v0.0.1\n         * @param callback The function to call when the timer elapses.\n         * @param delay The number of milliseconds to wait before calling the\n         * `callback`. **Default:** `1`.\n         * @param args Optional arguments to pass when the `callback` is called.\n         * @returns for use with `clearTimeout()`\n         */\n        function setTimeout<TArgs extends any[]>(\n            callback: (...args: TArgs) => void,\n            delay?: number,\n            ...args: TArgs\n        ): NodeJS.Timeout;\n        // Allow a single void-accepting argument to be optional in arguments lists.\n        // Allows usage such as `new Promise(resolve => setTimeout(resolve, ms))` (#54258)\n        // eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n        function setTimeout(callback: (_: void) => void, delay?: number): NodeJS.Timeout;\n        namespace setTimeout {\n            import __promisify__ = promises.setTimeout;\n            export { __promisify__ };\n        }\n        /**\n         * Cancels an `Immediate` object created by `setImmediate()`.\n         * @since v0.9.1\n         * @param immediate An `Immediate` object as returned by `setImmediate()`.\n         */\n        function clearImmediate(immediate: NodeJS.Immediate | undefined): void;\n        /**\n         * Cancels a `Timeout` object created by `setInterval()`.\n         * @since v0.0.1\n         * @param timeout A `Timeout` object as returned by `setInterval()`\n         * or the primitive of the `Timeout` object as a string or a number.\n         */\n        function clearInterval(timeout: NodeJS.Timeout | string | number | undefined): void;\n        /**\n         * Cancels a `Timeout` object created by `setTimeout()`.\n         * @since v0.0.1\n         * @param timeout A `Timeout` object as returned by `setTimeout()`\n         * or the primitive of the `Timeout` object as a string or a number.\n         */\n        function clearTimeout(timeout: NodeJS.Timeout | string | number | undefined): void;\n        /**\n         * The `queueMicrotask()` method queues a microtask to invoke `callback`. If\n         * `callback` throws an exception, the `process` object `'uncaughtException'`\n         * event will be emitted.\n         *\n         * The microtask queue is managed by V8 and may be used in a similar manner to\n         * the `process.nextTick()` queue, which is managed by Node.js. The\n         * `process.nextTick()` queue is always processed before the microtask queue\n         * within each turn of the Node.js event loop.\n         * @since v11.0.0\n         * @param callback Function to be queued.\n         */\n        function queueMicrotask(callback: () => void): void;\n    }\n    import clearImmediate = globalThis.clearImmediate;\n    import clearInterval = globalThis.clearInterval;\n    import clearTimeout = globalThis.clearTimeout;\n    import setImmediate = globalThis.setImmediate;\n    import setInterval = globalThis.setInterval;\n    import setTimeout = globalThis.setTimeout;\n    export { clearImmediate, clearInterval, clearTimeout, setImmediate, setInterval, setTimeout };\n}\ndeclare module \"node:timers\" {\n    export * from \"timers\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/timers/promises.d.ts",
      "content": "/**\n * The `timers/promises` API provides an alternative set of timer functions\n * that return `Promise` objects. The API is accessible via\n * `require('node:timers/promises')`.\n *\n * ```js\n * import {\n *   setTimeout,\n *   setImmediate,\n *   setInterval,\n * } from 'timers/promises';\n * ```\n * @since v15.0.0\n * @see [source](https://github.com/nodejs/node/blob/v18.x/lib/timers/promises.js)\n */\ndeclare module \"timers/promises\" {\n    import { TimerOptions } from \"node:timers\";\n    /**\n     * ```js\n     * import {\n     *   setTimeout,\n     * } from 'node:timers/promises';\n     *\n     * const res = await setTimeout(100, 'result');\n     *\n     * console.log(res);  // Prints 'result'\n     * ```\n     * @since v15.0.0\n     * @param delay The number of milliseconds to wait before fulfilling the\n     * promise. **Default:** `1`.\n     * @param value A value with which the promise is fulfilled.\n     */\n    function setTimeout<T = void>(delay?: number, value?: T, options?: TimerOptions): Promise<T>;\n    /**\n     * ```js\n     * import {\n     *   setImmediate,\n     * } from 'node:timers/promises';\n     *\n     * const res = await setImmediate('result');\n     *\n     * console.log(res);  // Prints 'result'\n     * ```\n     * @since v15.0.0\n     * @param value A value with which the promise is fulfilled.\n     */\n    function setImmediate<T = void>(value?: T, options?: TimerOptions): Promise<T>;\n    /**\n     * Returns an async iterator that generates values in an interval of `delay` ms.\n     * If `ref` is `true`, you need to call `next()` of async iterator explicitly\n     * or implicitly to keep the event loop alive.\n     *\n     * ```js\n     * import {\n     *   setInterval,\n     * } from 'node:timers/promises';\n     *\n     * const interval = 100;\n     * for await (const startTime of setInterval(interval, Date.now())) {\n     *   const now = Date.now();\n     *   console.log(now);\n     *   if ((now - startTime) > 1000)\n     *     break;\n     * }\n     * console.log(Date.now());\n     * ```\n     * @since v15.9.0\n     * @param delay The number of milliseconds to wait between iterations.\n     * **Default:** `1`.\n     * @param value A value with which the iterator returns.\n     */\n    function setInterval<T = void>(delay?: number, value?: T, options?: TimerOptions): NodeJS.AsyncIterator<T>;\n    interface Scheduler {\n        /**\n         * An experimental API defined by the [Scheduling APIs](https://github.com/WICG/scheduling-apis) draft specification\n         * being developed as a standard Web Platform API.\n         *\n         * Calling `timersPromises.scheduler.wait(delay, options)` is roughly equivalent\n         * to calling `timersPromises.setTimeout(delay, undefined, options)` except that\n         * the `ref` option is not supported.\n         *\n         * ```js\n         * import { scheduler } from 'node:timers/promises';\n         *\n         * await scheduler.wait(1000); // Wait one second before continuing\n         * ```\n         * @since v17.3.0, v16.14.0\n         * @experimental\n         * @param delay The number of milliseconds to wait before resolving the\n         * promise.\n         */\n        wait(delay: number, options?: { signal?: AbortSignal }): Promise<void>;\n        /**\n         * An experimental API defined by the [Scheduling APIs](https://github.com/WICG/scheduling-apis) draft specification\n         * being developed as a standard Web Platform API.\n         *\n         * Calling `timersPromises.scheduler.yield()` is equivalent to calling\n         * `timersPromises.setImmediate()` with no arguments.\n         * @since v17.3.0, v16.14.0\n         * @experimental\n         */\n        yield(): Promise<void>;\n    }\n    const scheduler: Scheduler;\n}\ndeclare module \"node:timers/promises\" {\n    export * from \"timers/promises\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/tls.d.ts",
      "content": "/**\n * The `tls` module provides an implementation of the Transport Layer Security\n * (TLS) and Secure Socket Layer (SSL) protocols that is built on top of OpenSSL.\n * The module can be accessed using:\n *\n * ```js\n * import tls from 'node:tls';\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/tls.js)\n */\ndeclare module \"tls\" {\n    import { X509Certificate } from \"node:crypto\";\n    import * as net from \"node:net\";\n    import * as stream from \"stream\";\n    const CLIENT_RENEG_LIMIT: number;\n    const CLIENT_RENEG_WINDOW: number;\n    interface Certificate {\n        /**\n         * Country code.\n         */\n        C: string;\n        /**\n         * Street.\n         */\n        ST: string;\n        /**\n         * Locality.\n         */\n        L: string;\n        /**\n         * Organization.\n         */\n        O: string;\n        /**\n         * Organizational unit.\n         */\n        OU: string;\n        /**\n         * Common name.\n         */\n        CN: string;\n    }\n    interface PeerCertificate {\n        /**\n         * `true` if a Certificate Authority (CA), `false` otherwise.\n         * @since v18.13.0\n         */\n        ca: boolean;\n        /**\n         * The DER encoded X.509 certificate data.\n         */\n        raw: Buffer;\n        /**\n         * The certificate subject.\n         */\n        subject: Certificate;\n        /**\n         * The certificate issuer, described in the same terms as the `subject`.\n         */\n        issuer: Certificate;\n        /**\n         * The date-time the certificate is valid from.\n         */\n        valid_from: string;\n        /**\n         * The date-time the certificate is valid to.\n         */\n        valid_to: string;\n        /**\n         * The certificate serial number, as a hex string.\n         */\n        serialNumber: string;\n        /**\n         * The SHA-1 digest of the DER encoded certificate.\n         * It is returned as a `:` separated hexadecimal string.\n         */\n        fingerprint: string;\n        /**\n         * The SHA-256 digest of the DER encoded certificate.\n         * It is returned as a `:` separated hexadecimal string.\n         */\n        fingerprint256: string;\n        /**\n         * The SHA-512 digest of the DER encoded certificate.\n         * It is returned as a `:` separated hexadecimal string.\n         */\n        fingerprint512: string;\n        /**\n         * The extended key usage, a set of OIDs.\n         */\n        ext_key_usage?: string[];\n        /**\n         * A string containing concatenated names for the subject,\n         * an alternative to the `subject` names.\n         */\n        subjectaltname?: string;\n        /**\n         * An array describing the AuthorityInfoAccess, used with OCSP.\n         */\n        infoAccess?: NodeJS.Dict<string[]>;\n        /**\n         * For RSA keys: The RSA bit size.\n         *\n         * For EC keys: The key size in bits.\n         */\n        bits?: number;\n        /**\n         * The RSA exponent, as a string in hexadecimal number notation.\n         */\n        exponent?: string;\n        /**\n         * The RSA modulus, as a hexadecimal string.\n         */\n        modulus?: string;\n        /**\n         * The public key.\n         */\n        pubkey?: Buffer;\n        /**\n         * The ASN.1 name of the OID of the elliptic curve.\n         * Well-known curves are identified by an OID.\n         * While it is unusual, it is possible that the curve\n         * is identified by its mathematical properties,\n         * in which case it will not have an OID.\n         */\n        asn1Curve?: string;\n        /**\n         * The NIST name for the elliptic curve,if it has one\n         * (not all well-known curves have been assigned names by NIST).\n         */\n        nistCurve?: string;\n    }\n    interface DetailedPeerCertificate extends PeerCertificate {\n        /**\n         * The issuer certificate object.\n         * For self-signed certificates, this may be a circular reference.\n         */\n        issuerCertificate: DetailedPeerCertificate;\n    }\n    interface CipherNameAndProtocol {\n        /**\n         * The cipher name.\n         */\n        name: string;\n        /**\n         * SSL/TLS protocol version.\n         */\n        version: string;\n        /**\n         * IETF name for the cipher suite.\n         */\n        standardName: string;\n    }\n    interface EphemeralKeyInfo {\n        /**\n         * The supported types are 'DH' and 'ECDH'.\n         */\n        type: string;\n        /**\n         * The name property is available only when type is 'ECDH'.\n         */\n        name?: string | undefined;\n        /**\n         * The size of parameter of an ephemeral key exchange.\n         */\n        size: number;\n    }\n    interface KeyObject {\n        /**\n         * Private keys in PEM format.\n         */\n        pem: string | Buffer;\n        /**\n         * Optional passphrase.\n         */\n        passphrase?: string | undefined;\n    }\n    interface PxfObject {\n        /**\n         * PFX or PKCS12 encoded private key and certificate chain.\n         */\n        buf: string | Buffer;\n        /**\n         * Optional passphrase.\n         */\n        passphrase?: string | undefined;\n    }\n    interface TLSSocketOptions extends SecureContextOptions, CommonConnectionOptions {\n        /**\n         * If true the TLS socket will be instantiated in server-mode.\n         * Defaults to false.\n         */\n        isServer?: boolean | undefined;\n        /**\n         * An optional net.Server instance.\n         */\n        server?: net.Server | undefined;\n        /**\n         * An optional Buffer instance containing a TLS session.\n         */\n        session?: Buffer | undefined;\n        /**\n         * If true, specifies that the OCSP status request extension will be\n         * added to the client hello and an 'OCSPResponse' event will be\n         * emitted on the socket before establishing a secure communication\n         */\n        requestOCSP?: boolean | undefined;\n    }\n    /**\n     * Performs transparent encryption of written data and all required TLS\n     * negotiation.\n     *\n     * Instances of `tls.TLSSocket` implement the duplex `Stream` interface.\n     *\n     * Methods that return TLS connection metadata (e.g.{@link TLSSocket.getPeerCertificate} will only return data while the\n     * connection is open.\n     * @since v0.11.4\n     */\n    class TLSSocket extends net.Socket {\n        /**\n         * Construct a new tls.TLSSocket object from an existing TCP socket.\n         */\n        constructor(socket: net.Socket | stream.Duplex, options?: TLSSocketOptions);\n        /**\n         * This property is `true` if the peer certificate was signed by one of the CAs\n         * specified when creating the `tls.TLSSocket` instance, otherwise `false`.\n         * @since v0.11.4\n         */\n        authorized: boolean;\n        /**\n         * Returns the reason why the peer's certificate was not been verified. This\n         * property is set only when `tlsSocket.authorized === false`.\n         * @since v0.11.4\n         */\n        authorizationError: Error;\n        /**\n         * Always returns `true`. This may be used to distinguish TLS sockets from regular`net.Socket` instances.\n         * @since v0.11.4\n         */\n        encrypted: true;\n        /**\n         * String containing the selected ALPN protocol.\n         * Before a handshake has completed, this value is always null.\n         * When a handshake is completed but not ALPN protocol was selected, tlsSocket.alpnProtocol equals false.\n         */\n        alpnProtocol: string | false | null;\n        /**\n         * Returns an object representing the local certificate. The returned object has\n         * some properties corresponding to the fields of the certificate.\n         *\n         * See {@link TLSSocket.getPeerCertificate} for an example of the certificate\n         * structure.\n         *\n         * If there is no local certificate, an empty object will be returned. If the\n         * socket has been destroyed, `null` will be returned.\n         * @since v11.2.0\n         */\n        getCertificate(): PeerCertificate | object | null;\n        /**\n         * Returns an object containing information on the negotiated cipher suite.\n         *\n         * For example:\n         *\n         * ```json\n         * {\n         *     \"name\": \"AES128-SHA256\",\n         *     \"standardName\": \"TLS_RSA_WITH_AES_128_CBC_SHA256\",\n         *     \"version\": \"TLSv1.2\"\n         * }\n         * ```\n         *\n         * See [SSL\\_CIPHER\\_get\\_name](https://www.openssl.org/docs/man1.1.1/man3/SSL_CIPHER_get_name.html) for more information.\n         * @since v0.11.4\n         */\n        getCipher(): CipherNameAndProtocol;\n        /**\n         * Returns an object representing the type, name, and size of parameter of\n         * an ephemeral key exchange in `perfect forward secrecy` on a client\n         * connection. It returns an empty object when the key exchange is not\n         * ephemeral. As this is only supported on a client socket; `null` is returned\n         * if called on a server socket. The supported types are `'DH'` and `'ECDH'`. The`name` property is available only when type is `'ECDH'`.\n         *\n         * For example: `{ type: 'ECDH', name: 'prime256v1', size: 256 }`.\n         * @since v5.0.0\n         */\n        getEphemeralKeyInfo(): EphemeralKeyInfo | object | null;\n        /**\n         * As the `Finished` messages are message digests of the complete handshake\n         * (with a total of 192 bits for TLS 1.0 and more for SSL 3.0), they can\n         * be used for external authentication procedures when the authentication\n         * provided by SSL/TLS is not desired or is not enough.\n         *\n         * Corresponds to the `SSL_get_finished` routine in OpenSSL and may be used\n         * to implement the `tls-unique` channel binding from [RFC 5929](https://tools.ietf.org/html/rfc5929).\n         * @since v9.9.0\n         * @return The latest `Finished` message that has been sent to the socket as part of a SSL/TLS handshake, or `undefined` if no `Finished` message has been sent yet.\n         */\n        getFinished(): Buffer | undefined;\n        /**\n         * Returns an object representing the peer's certificate. If the peer does not\n         * provide a certificate, an empty object will be returned. If the socket has been\n         * destroyed, `null` will be returned.\n         *\n         * If the full certificate chain was requested, each certificate will include an`issuerCertificate` property containing an object representing its issuer's\n         * certificate.\n         * @since v0.11.4\n         * @param detailed Include the full certificate chain if `true`, otherwise include just the peer's certificate.\n         * @return A certificate object.\n         */\n        getPeerCertificate(detailed: true): DetailedPeerCertificate;\n        getPeerCertificate(detailed?: false): PeerCertificate;\n        getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate;\n        /**\n         * As the `Finished` messages are message digests of the complete handshake\n         * (with a total of 192 bits for TLS 1.0 and more for SSL 3.0), they can\n         * be used for external authentication procedures when the authentication\n         * provided by SSL/TLS is not desired or is not enough.\n         *\n         * Corresponds to the `SSL_get_peer_finished` routine in OpenSSL and may be used\n         * to implement the `tls-unique` channel binding from [RFC 5929](https://tools.ietf.org/html/rfc5929).\n         * @since v9.9.0\n         * @return The latest `Finished` message that is expected or has actually been received from the socket as part of a SSL/TLS handshake, or `undefined` if there is no `Finished` message so\n         * far.\n         */\n        getPeerFinished(): Buffer | undefined;\n        /**\n         * Returns a string containing the negotiated SSL/TLS protocol version of the\n         * current connection. The value `'unknown'` will be returned for connected\n         * sockets that have not completed the handshaking process. The value `null` will\n         * be returned for server sockets or disconnected client sockets.\n         *\n         * Protocol versions are:\n         *\n         * * `'SSLv3'`\n         * * `'TLSv1'`\n         * * `'TLSv1.1'`\n         * * `'TLSv1.2'`\n         * * `'TLSv1.3'`\n         *\n         * See the OpenSSL [`SSL_get_version`](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html) documentation for more information.\n         * @since v5.7.0\n         */\n        getProtocol(): string | null;\n        /**\n         * Returns the TLS session data or `undefined` if no session was\n         * negotiated. On the client, the data can be provided to the `session` option of {@link connect} to resume the connection. On the server, it may be useful\n         * for debugging.\n         *\n         * See `Session Resumption` for more information.\n         *\n         * Note: `getSession()` works only for TLSv1.2 and below. For TLSv1.3, applications\n         * must use the `'session'` event (it also works for TLSv1.2 and below).\n         * @since v0.11.4\n         */\n        getSession(): Buffer | undefined;\n        /**\n         * See [SSL\\_get\\_shared\\_sigalgs](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_shared_sigalgs.html) for more information.\n         * @since v12.11.0\n         * @return List of signature algorithms shared between the server and the client in the order of decreasing preference.\n         */\n        getSharedSigalgs(): string[];\n        /**\n         * For a client, returns the TLS session ticket if one is available, or`undefined`. For a server, always returns `undefined`.\n         *\n         * It may be useful for debugging.\n         *\n         * See `Session Resumption` for more information.\n         * @since v0.11.4\n         */\n        getTLSTicket(): Buffer | undefined;\n        /**\n         * See `Session Resumption` for more information.\n         * @since v0.5.6\n         * @return `true` if the session was reused, `false` otherwise.\n         */\n        isSessionReused(): boolean;\n        /**\n         * The `tlsSocket.renegotiate()` method initiates a TLS renegotiation process.\n         * Upon completion, the `callback` function will be passed a single argument\n         * that is either an `Error` (if the request failed) or `null`.\n         *\n         * This method can be used to request a peer's certificate after the secure\n         * connection has been established.\n         *\n         * When running as the server, the socket will be destroyed with an error after`handshakeTimeout` timeout.\n         *\n         * For TLSv1.3, renegotiation cannot be initiated, it is not supported by the\n         * protocol.\n         * @since v0.11.8\n         * @param callback If `renegotiate()` returned `true`, callback is attached once to the `'secure'` event. If `renegotiate()` returned `false`, `callback` will be called in the next tick with\n         * an error, unless the `tlsSocket` has been destroyed, in which case `callback` will not be called at all.\n         * @return `true` if renegotiation was initiated, `false` otherwise.\n         */\n        renegotiate(\n            options: {\n                rejectUnauthorized?: boolean | undefined;\n                requestCert?: boolean | undefined;\n            },\n            callback: (err: Error | null) => void,\n        ): undefined | boolean;\n        /**\n         * The `tlsSocket.setMaxSendFragment()` method sets the maximum TLS fragment size.\n         * Returns `true` if setting the limit succeeded; `false` otherwise.\n         *\n         * Smaller fragment sizes decrease the buffering latency on the client: larger\n         * fragments are buffered by the TLS layer until the entire fragment is received\n         * and its integrity is verified; large fragments can span multiple roundtrips\n         * and their processing can be delayed due to packet loss or reordering. However,\n         * smaller fragments add extra TLS framing bytes and CPU overhead, which may\n         * decrease overall server throughput.\n         * @since v0.11.11\n         * @param [size=16384] The maximum TLS fragment size. The maximum value is `16384`.\n         */\n        setMaxSendFragment(size: number): boolean;\n        /**\n         * Disables TLS renegotiation for this `TLSSocket` instance. Once called, attempts\n         * to renegotiate will trigger an `'error'` event on the `TLSSocket`.\n         * @since v8.4.0\n         */\n        disableRenegotiation(): void;\n        /**\n         * When enabled, TLS packet trace information is written to `stderr`. This can be\n         * used to debug TLS connection problems.\n         *\n         * The format of the output is identical to the output of`openssl s_client -trace` or `openssl s_server -trace`. While it is produced by\n         * OpenSSL's `SSL_trace()` function, the format is undocumented, can change\n         * without notice, and should not be relied on.\n         * @since v12.2.0\n         */\n        enableTrace(): void;\n        /**\n         * Returns the peer certificate as an `X509Certificate` object.\n         *\n         * If there is no peer certificate, or the socket has been destroyed,`undefined` will be returned.\n         * @since v15.9.0\n         */\n        getPeerX509Certificate(): X509Certificate | undefined;\n        /**\n         * Returns the local certificate as an `X509Certificate` object.\n         *\n         * If there is no local certificate, or the socket has been destroyed,`undefined` will be returned.\n         * @since v15.9.0\n         */\n        getX509Certificate(): X509Certificate | undefined;\n        /**\n         * Keying material is used for validations to prevent different kind of attacks in\n         * network protocols, for example in the specifications of IEEE 802.1X.\n         *\n         * Example\n         *\n         * ```js\n         * const keyingMaterial = tlsSocket.exportKeyingMaterial(\n         *   128,\n         *   'client finished');\n         *\n         * /*\n         *  Example return value of keyingMaterial:\n         *  <Buffer 76 26 af 99 c5 56 8e 42 09 91 ef 9f 93 cb ad 6c 7b 65 f8 53 f1 d8 d9\n         *     12 5a 33 b8 b5 25 df 7b 37 9f e0 e2 4f b8 67 83 a3 2f cd 5d 41 42 4c 91\n         *     74 ef 2c ... 78 more bytes>\n         *\n         * ```\n         *\n         * See the OpenSSL [`SSL_export_keying_material`](https://www.openssl.org/docs/man1.1.1/man3/SSL_export_keying_material.html) documentation for more\n         * information.\n         * @since v13.10.0, v12.17.0\n         * @param length number of bytes to retrieve from keying material\n         * @param label an application specific label, typically this will be a value from the [IANA Exporter Label\n         * Registry](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels).\n         * @param context Optionally provide a context.\n         * @return requested bytes of the keying material\n         */\n        exportKeyingMaterial(length: number, label: string, context: Buffer): Buffer;\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"OCSPResponse\", listener: (response: Buffer) => void): this;\n        addListener(event: \"secureConnect\", listener: () => void): this;\n        addListener(event: \"session\", listener: (session: Buffer) => void): this;\n        addListener(event: \"keylog\", listener: (line: Buffer) => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"OCSPResponse\", response: Buffer): boolean;\n        emit(event: \"secureConnect\"): boolean;\n        emit(event: \"session\", session: Buffer): boolean;\n        emit(event: \"keylog\", line: Buffer): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"OCSPResponse\", listener: (response: Buffer) => void): this;\n        on(event: \"secureConnect\", listener: () => void): this;\n        on(event: \"session\", listener: (session: Buffer) => void): this;\n        on(event: \"keylog\", listener: (line: Buffer) => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"OCSPResponse\", listener: (response: Buffer) => void): this;\n        once(event: \"secureConnect\", listener: () => void): this;\n        once(event: \"session\", listener: (session: Buffer) => void): this;\n        once(event: \"keylog\", listener: (line: Buffer) => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"OCSPResponse\", listener: (response: Buffer) => void): this;\n        prependListener(event: \"secureConnect\", listener: () => void): this;\n        prependListener(event: \"session\", listener: (session: Buffer) => void): this;\n        prependListener(event: \"keylog\", listener: (line: Buffer) => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"OCSPResponse\", listener: (response: Buffer) => void): this;\n        prependOnceListener(event: \"secureConnect\", listener: () => void): this;\n        prependOnceListener(event: \"session\", listener: (session: Buffer) => void): this;\n        prependOnceListener(event: \"keylog\", listener: (line: Buffer) => void): this;\n    }\n    interface CommonConnectionOptions {\n        /**\n         * An optional TLS context object from tls.createSecureContext()\n         */\n        secureContext?: SecureContext | undefined;\n        /**\n         * When enabled, TLS packet trace information is written to `stderr`. This can be\n         * used to debug TLS connection problems.\n         * @default false\n         */\n        enableTrace?: boolean | undefined;\n        /**\n         * If true the server will request a certificate from clients that\n         * connect and attempt to verify that certificate. Defaults to\n         * false.\n         */\n        requestCert?: boolean | undefined;\n        /**\n         * An array of strings or a Buffer naming possible ALPN protocols.\n         * (Protocols should be ordered by their priority.)\n         */\n        ALPNProtocols?: string[] | Uint8Array[] | Uint8Array | undefined;\n        /**\n         * SNICallback(servername, cb) <Function> A function that will be\n         * called if the client supports SNI TLS extension. Two arguments\n         * will be passed when called: servername and cb. SNICallback should\n         * invoke cb(null, ctx), where ctx is a SecureContext instance.\n         * (tls.createSecureContext(...) can be used to get a proper\n         * SecureContext.) If SNICallback wasn't provided the default callback\n         * with high-level API will be used (see below).\n         */\n        SNICallback?: ((servername: string, cb: (err: Error | null, ctx?: SecureContext) => void) => void) | undefined;\n        /**\n         * If true the server will reject any connection which is not\n         * authorized with the list of supplied CAs. This option only has an\n         * effect if requestCert is true.\n         * @default true\n         */\n        rejectUnauthorized?: boolean | undefined;\n    }\n    interface TlsOptions extends SecureContextOptions, CommonConnectionOptions, net.ServerOpts {\n        /**\n         * Abort the connection if the SSL/TLS handshake does not finish in the\n         * specified number of milliseconds. A 'tlsClientError' is emitted on\n         * the tls.Server object whenever a handshake times out. Default:\n         * 120000 (120 seconds).\n         */\n        handshakeTimeout?: number | undefined;\n        /**\n         * The number of seconds after which a TLS session created by the\n         * server will no longer be resumable. See Session Resumption for more\n         * information. Default: 300.\n         */\n        sessionTimeout?: number | undefined;\n        /**\n         * 48-bytes of cryptographically strong pseudo-random data.\n         */\n        ticketKeys?: Buffer | undefined;\n        /**\n         * @param socket\n         * @param identity identity parameter sent from the client.\n         * @return pre-shared key that must either be\n         * a buffer or `null` to stop the negotiation process. Returned PSK must be\n         * compatible with the selected cipher's digest.\n         *\n         * When negotiating TLS-PSK (pre-shared keys), this function is called\n         * with the identity provided by the client.\n         * If the return value is `null` the negotiation process will stop and an\n         * \"unknown_psk_identity\" alert message will be sent to the other party.\n         * If the server wishes to hide the fact that the PSK identity was not known,\n         * the callback must provide some random data as `psk` to make the connection\n         * fail with \"decrypt_error\" before negotiation is finished.\n         * PSK ciphers are disabled by default, and using TLS-PSK thus\n         * requires explicitly specifying a cipher suite with the `ciphers` option.\n         * More information can be found in the RFC 4279.\n         */\n        pskCallback?(socket: TLSSocket, identity: string): DataView | NodeJS.TypedArray | null;\n        /**\n         * hint to send to a client to help\n         * with selecting the identity during TLS-PSK negotiation. Will be ignored\n         * in TLS 1.3. Upon failing to set pskIdentityHint `tlsClientError` will be\n         * emitted with `ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED` code.\n         */\n        pskIdentityHint?: string | undefined;\n    }\n    interface PSKCallbackNegotation {\n        psk: DataView | NodeJS.TypedArray;\n        identity: string;\n    }\n    interface ConnectionOptions extends SecureContextOptions, CommonConnectionOptions {\n        host?: string | undefined;\n        port?: number | undefined;\n        path?: string | undefined; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored.\n        socket?: stream.Duplex | undefined; // Establish secure connection on a given socket rather than creating a new socket\n        checkServerIdentity?: typeof checkServerIdentity | undefined;\n        servername?: string | undefined; // SNI TLS Extension\n        session?: Buffer | undefined;\n        minDHSize?: number | undefined;\n        lookup?: net.LookupFunction | undefined;\n        timeout?: number | undefined;\n        /**\n         * When negotiating TLS-PSK (pre-shared keys), this function is called\n         * with optional identity `hint` provided by the server or `null`\n         * in case of TLS 1.3 where `hint` was removed.\n         * It will be necessary to provide a custom `tls.checkServerIdentity()`\n         * for the connection as the default one will try to check hostname/IP\n         * of the server against the certificate but that's not applicable for PSK\n         * because there won't be a certificate present.\n         * More information can be found in the RFC 4279.\n         *\n         * @param hint message sent from the server to help client\n         * decide which identity to use during negotiation.\n         * Always `null` if TLS 1.3 is used.\n         * @returns Return `null` to stop the negotiation process. `psk` must be\n         * compatible with the selected cipher's digest.\n         * `identity` must use UTF-8 encoding.\n         */\n        pskCallback?(hint: string | null): PSKCallbackNegotation | null;\n    }\n    /**\n     * Accepts encrypted connections using TLS or SSL.\n     * @since v0.3.2\n     */\n    class Server extends net.Server {\n        constructor(secureConnectionListener?: (socket: TLSSocket) => void);\n        constructor(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void);\n        /**\n         * The `server.addContext()` method adds a secure context that will be used if\n         * the client request's SNI name matches the supplied `hostname` (or wildcard).\n         *\n         * When there are multiple matching contexts, the most recently added one is\n         * used.\n         * @since v0.5.3\n         * @param hostname A SNI host name or wildcard (e.g. `'*'`)\n         * @param context An object containing any of the possible properties from the {@link createSecureContext} `options` arguments (e.g. `key`, `cert`, `ca`, etc), or a TLS context object created\n         * with {@link createSecureContext} itself.\n         */\n        addContext(hostname: string, context: SecureContextOptions | SecureContext): void;\n        /**\n         * Returns the session ticket keys.\n         *\n         * See `Session Resumption` for more information.\n         * @since v3.0.0\n         * @return A 48-byte buffer containing the session ticket keys.\n         */\n        getTicketKeys(): Buffer;\n        /**\n         * The `server.setSecureContext()` method replaces the secure context of an\n         * existing server. Existing connections to the server are not interrupted.\n         * @since v11.0.0\n         * @param options An object containing any of the possible properties from the {@link createSecureContext} `options` arguments (e.g. `key`, `cert`, `ca`, etc).\n         */\n        setSecureContext(options: SecureContextOptions): void;\n        /**\n         * Sets the session ticket keys.\n         *\n         * Changes to the ticket keys are effective only for future server connections.\n         * Existing or currently pending server connections will use the previous keys.\n         *\n         * See `Session Resumption` for more information.\n         * @since v3.0.0\n         * @param keys A 48-byte buffer containing the session ticket keys.\n         */\n        setTicketKeys(keys: Buffer): void;\n        /**\n         * events.EventEmitter\n         * 1. tlsClientError\n         * 2. newSession\n         * 3. OCSPRequest\n         * 4. resumeSession\n         * 5. secureConnection\n         * 6. keylog\n         */\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"tlsClientError\", listener: (err: Error, tlsSocket: TLSSocket) => void): this;\n        addListener(\n            event: \"newSession\",\n            listener: (sessionId: Buffer, sessionData: Buffer, callback: () => void) => void,\n        ): this;\n        addListener(\n            event: \"OCSPRequest\",\n            listener: (\n                certificate: Buffer,\n                issuer: Buffer,\n                callback: (err: Error | null, resp: Buffer) => void,\n            ) => void,\n        ): this;\n        addListener(\n            event: \"resumeSession\",\n            listener: (sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void) => void,\n        ): this;\n        addListener(event: \"secureConnection\", listener: (tlsSocket: TLSSocket) => void): this;\n        addListener(event: \"keylog\", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"tlsClientError\", err: Error, tlsSocket: TLSSocket): boolean;\n        emit(event: \"newSession\", sessionId: Buffer, sessionData: Buffer, callback: () => void): boolean;\n        emit(\n            event: \"OCSPRequest\",\n            certificate: Buffer,\n            issuer: Buffer,\n            callback: (err: Error | null, resp: Buffer) => void,\n        ): boolean;\n        emit(\n            event: \"resumeSession\",\n            sessionId: Buffer,\n            callback: (err: Error | null, sessionData: Buffer | null) => void,\n        ): boolean;\n        emit(event: \"secureConnection\", tlsSocket: TLSSocket): boolean;\n        emit(event: \"keylog\", line: Buffer, tlsSocket: TLSSocket): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"tlsClientError\", listener: (err: Error, tlsSocket: TLSSocket) => void): this;\n        on(event: \"newSession\", listener: (sessionId: Buffer, sessionData: Buffer, callback: () => void) => void): this;\n        on(\n            event: \"OCSPRequest\",\n            listener: (\n                certificate: Buffer,\n                issuer: Buffer,\n                callback: (err: Error | null, resp: Buffer) => void,\n            ) => void,\n        ): this;\n        on(\n            event: \"resumeSession\",\n            listener: (sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void) => void,\n        ): this;\n        on(event: \"secureConnection\", listener: (tlsSocket: TLSSocket) => void): this;\n        on(event: \"keylog\", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"tlsClientError\", listener: (err: Error, tlsSocket: TLSSocket) => void): this;\n        once(\n            event: \"newSession\",\n            listener: (sessionId: Buffer, sessionData: Buffer, callback: () => void) => void,\n        ): this;\n        once(\n            event: \"OCSPRequest\",\n            listener: (\n                certificate: Buffer,\n                issuer: Buffer,\n                callback: (err: Error | null, resp: Buffer) => void,\n            ) => void,\n        ): this;\n        once(\n            event: \"resumeSession\",\n            listener: (sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void) => void,\n        ): this;\n        once(event: \"secureConnection\", listener: (tlsSocket: TLSSocket) => void): this;\n        once(event: \"keylog\", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"tlsClientError\", listener: (err: Error, tlsSocket: TLSSocket) => void): this;\n        prependListener(\n            event: \"newSession\",\n            listener: (sessionId: Buffer, sessionData: Buffer, callback: () => void) => void,\n        ): this;\n        prependListener(\n            event: \"OCSPRequest\",\n            listener: (\n                certificate: Buffer,\n                issuer: Buffer,\n                callback: (err: Error | null, resp: Buffer) => void,\n            ) => void,\n        ): this;\n        prependListener(\n            event: \"resumeSession\",\n            listener: (sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void) => void,\n        ): this;\n        prependListener(event: \"secureConnection\", listener: (tlsSocket: TLSSocket) => void): this;\n        prependListener(event: \"keylog\", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"tlsClientError\", listener: (err: Error, tlsSocket: TLSSocket) => void): this;\n        prependOnceListener(\n            event: \"newSession\",\n            listener: (sessionId: Buffer, sessionData: Buffer, callback: () => void) => void,\n        ): this;\n        prependOnceListener(\n            event: \"OCSPRequest\",\n            listener: (\n                certificate: Buffer,\n                issuer: Buffer,\n                callback: (err: Error | null, resp: Buffer) => void,\n            ) => void,\n        ): this;\n        prependOnceListener(\n            event: \"resumeSession\",\n            listener: (sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void) => void,\n        ): this;\n        prependOnceListener(event: \"secureConnection\", listener: (tlsSocket: TLSSocket) => void): this;\n        prependOnceListener(event: \"keylog\", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this;\n    }\n    /**\n     * @deprecated since v0.11.3 Use `tls.TLSSocket` instead.\n     */\n    interface SecurePair {\n        encrypted: TLSSocket;\n        cleartext: TLSSocket;\n    }\n    type SecureVersion = \"TLSv1.3\" | \"TLSv1.2\" | \"TLSv1.1\" | \"TLSv1\";\n    interface SecureContextOptions {\n        /**\n         * If set, this will be called when a client opens a connection using the ALPN extension.\n         * One argument will be passed to the callback: an object containing `servername` and `protocols` fields,\n         * respectively containing the server name from the SNI extension (if any) and an array of\n         * ALPN protocol name strings. The callback must return either one of the strings listed in `protocols`,\n         * which will be returned to the client as the selected ALPN protocol, or `undefined`,\n         * to reject the connection with a fatal alert. If a string is returned that does not match one of\n         * the client's ALPN protocols, an error will be thrown.\n         * This option cannot be used with the `ALPNProtocols` option, and setting both options will throw an error.\n         * @since v18.19.0\n         */\n        ALPNCallback?: ((arg: { servername: string; protocols: string[] }) => string | undefined) | undefined;\n        /**\n         * Optionally override the trusted CA certificates. Default is to trust\n         * the well-known CAs curated by Mozilla. Mozilla's CAs are completely\n         * replaced when CAs are explicitly specified using this option.\n         */\n        ca?: string | Buffer | Array<string | Buffer> | undefined;\n        /**\n         *  Cert chains in PEM format. One cert chain should be provided per\n         *  private key. Each cert chain should consist of the PEM formatted\n         *  certificate for a provided private key, followed by the PEM\n         *  formatted intermediate certificates (if any), in order, and not\n         *  including the root CA (the root CA must be pre-known to the peer,\n         *  see ca). When providing multiple cert chains, they do not have to\n         *  be in the same order as their private keys in key. If the\n         *  intermediate certificates are not provided, the peer will not be\n         *  able to validate the certificate, and the handshake will fail.\n         */\n        cert?: string | Buffer | Array<string | Buffer> | undefined;\n        /**\n         *  Colon-separated list of supported signature algorithms. The list\n         *  can contain digest algorithms (SHA256, MD5 etc.), public key\n         *  algorithms (RSA-PSS, ECDSA etc.), combination of both (e.g\n         *  'RSA+SHA384') or TLS v1.3 scheme names (e.g. rsa_pss_pss_sha512).\n         */\n        sigalgs?: string | undefined;\n        /**\n         * Cipher suite specification, replacing the default. For more\n         * information, see modifying the default cipher suite. Permitted\n         * ciphers can be obtained via tls.getCiphers(). Cipher names must be\n         * uppercased in order for OpenSSL to accept them.\n         */\n        ciphers?: string | undefined;\n        /**\n         * Name of an OpenSSL engine which can provide the client certificate.\n         */\n        clientCertEngine?: string | undefined;\n        /**\n         * PEM formatted CRLs (Certificate Revocation Lists).\n         */\n        crl?: string | Buffer | Array<string | Buffer> | undefined;\n        /**\n         * `'auto'` or custom Diffie-Hellman parameters, required for non-ECDHE perfect forward secrecy.\n         * If omitted or invalid, the parameters are silently discarded and DHE ciphers will not be available.\n         * ECDHE-based perfect forward secrecy will still be available.\n         */\n        dhparam?: string | Buffer | undefined;\n        /**\n         * A string describing a named curve or a colon separated list of curve\n         * NIDs or names, for example P-521:P-384:P-256, to use for ECDH key\n         * agreement. Set to auto to select the curve automatically. Use\n         * crypto.getCurves() to obtain a list of available curve names. On\n         * recent releases, openssl ecparam -list_curves will also display the\n         * name and description of each available elliptic curve. Default:\n         * tls.DEFAULT_ECDH_CURVE.\n         */\n        ecdhCurve?: string | undefined;\n        /**\n         * Attempt to use the server's cipher suite preferences instead of the\n         * client's. When true, causes SSL_OP_CIPHER_SERVER_PREFERENCE to be\n         * set in secureOptions\n         */\n        honorCipherOrder?: boolean | undefined;\n        /**\n         * Private keys in PEM format. PEM allows the option of private keys\n         * being encrypted. Encrypted keys will be decrypted with\n         * options.passphrase. Multiple keys using different algorithms can be\n         * provided either as an array of unencrypted key strings or buffers,\n         * or an array of objects in the form {pem: <string|buffer>[,\n         * passphrase: <string>]}. The object form can only occur in an array.\n         * object.passphrase is optional. Encrypted keys will be decrypted with\n         * object.passphrase if provided, or options.passphrase if it is not.\n         */\n        key?: string | Buffer | Array<string | Buffer | KeyObject> | undefined;\n        /**\n         * Name of an OpenSSL engine to get private key from. Should be used\n         * together with privateKeyIdentifier.\n         */\n        privateKeyEngine?: string | undefined;\n        /**\n         * Identifier of a private key managed by an OpenSSL engine. Should be\n         * used together with privateKeyEngine. Should not be set together with\n         * key, because both options define a private key in different ways.\n         */\n        privateKeyIdentifier?: string | undefined;\n        /**\n         * Optionally set the maximum TLS version to allow. One\n         * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the\n         * `secureProtocol` option, use one or the other.\n         * **Default:** `'TLSv1.3'`, unless changed using CLI options. Using\n         * `--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using `--tls-max-v1.3` sets the default to\n         * `'TLSv1.3'`. If multiple of the options are provided, the highest maximum is used.\n         */\n        maxVersion?: SecureVersion | undefined;\n        /**\n         * Optionally set the minimum TLS version to allow. One\n         * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the\n         * `secureProtocol` option, use one or the other.  It is not recommended to use\n         * less than TLSv1.2, but it may be required for interoperability.\n         * **Default:** `'TLSv1.2'`, unless changed using CLI options. Using\n         * `--tls-v1.0` sets the default to `'TLSv1'`. Using `--tls-v1.1` sets the default to\n         * `'TLSv1.1'`. Using `--tls-min-v1.3` sets the default to\n         * 'TLSv1.3'. If multiple of the options are provided, the lowest minimum is used.\n         */\n        minVersion?: SecureVersion | undefined;\n        /**\n         * Shared passphrase used for a single private key and/or a PFX.\n         */\n        passphrase?: string | undefined;\n        /**\n         * PFX or PKCS12 encoded private key and certificate chain. pfx is an\n         * alternative to providing key and cert individually. PFX is usually\n         * encrypted, if it is, passphrase will be used to decrypt it. Multiple\n         * PFX can be provided either as an array of unencrypted PFX buffers,\n         * or an array of objects in the form {buf: <string|buffer>[,\n         * passphrase: <string>]}. The object form can only occur in an array.\n         * object.passphrase is optional. Encrypted PFX will be decrypted with\n         * object.passphrase if provided, or options.passphrase if it is not.\n         */\n        pfx?: string | Buffer | Array<string | Buffer | PxfObject> | undefined;\n        /**\n         * Optionally affect the OpenSSL protocol behavior, which is not\n         * usually necessary. This should be used carefully if at all! Value is\n         * a numeric bitmask of the SSL_OP_* options from OpenSSL Options\n         */\n        secureOptions?: number | undefined; // Value is a numeric bitmask of the `SSL_OP_*` options\n        /**\n         * Legacy mechanism to select the TLS protocol version to use, it does\n         * not support independent control of the minimum and maximum version,\n         * and does not support limiting the protocol to TLSv1.3. Use\n         * minVersion and maxVersion instead. The possible values are listed as\n         * SSL_METHODS, use the function names as strings. For example, use\n         * 'TLSv1_1_method' to force TLS version 1.1, or 'TLS_method' to allow\n         * any TLS protocol version up to TLSv1.3. It is not recommended to use\n         * TLS versions less than 1.2, but it may be required for\n         * interoperability. Default: none, see minVersion.\n         */\n        secureProtocol?: string | undefined;\n        /**\n         * Opaque identifier used by servers to ensure session state is not\n         * shared between applications. Unused by clients.\n         */\n        sessionIdContext?: string | undefined;\n        /**\n         * 48-bytes of cryptographically strong pseudo-random data.\n         * See Session Resumption for more information.\n         */\n        ticketKeys?: Buffer | undefined;\n        /**\n         * The number of seconds after which a TLS session created by the\n         * server will no longer be resumable. See Session Resumption for more\n         * information. Default: 300.\n         */\n        sessionTimeout?: number | undefined;\n    }\n    interface SecureContext {\n        context: any;\n    }\n    /**\n     * Verifies the certificate `cert` is issued to `hostname`.\n     *\n     * Returns [Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) object, populating it with `reason`, `host`, and `cert` on\n     * failure. On success, returns [undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Undefined_type).\n     *\n     * This function is intended to be used in combination with the`checkServerIdentity` option that can be passed to {@link connect} and as\n     * such operates on a `certificate object`. For other purposes, consider using `x509.checkHost()` instead.\n     *\n     * This function can be overwritten by providing an alternative function as the`options.checkServerIdentity` option that is passed to `tls.connect()`. The\n     * overwriting function can call `tls.checkServerIdentity()` of course, to augment\n     * the checks done with additional verification.\n     *\n     * This function is only called if the certificate passed all other checks, such as\n     * being issued by trusted CA (`options.ca`).\n     *\n     * Earlier versions of Node.js incorrectly accepted certificates for a given`hostname` if a matching `uniformResourceIdentifier` subject alternative name\n     * was present (see [CVE-2021-44531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44531)). Applications that wish to accept`uniformResourceIdentifier` subject alternative names can use\n     * a custom`options.checkServerIdentity` function that implements the desired behavior.\n     * @since v0.8.4\n     * @param hostname The host name or IP address to verify the certificate against.\n     * @param cert A `certificate object` representing the peer's certificate.\n     */\n    function checkServerIdentity(hostname: string, cert: PeerCertificate): Error | undefined;\n    /**\n     * Creates a new {@link Server}. The `secureConnectionListener`, if provided, is\n     * automatically set as a listener for the `'secureConnection'` event.\n     *\n     * The `ticketKeys` options is automatically shared between `cluster` module\n     * workers.\n     *\n     * The following illustrates a simple echo server:\n     *\n     * ```js\n     * import tls from 'node:tls';\n     * import fs from 'node:fs';\n     *\n     * const options = {\n     *   key: fs.readFileSync('server-key.pem'),\n     *   cert: fs.readFileSync('server-cert.pem'),\n     *\n     *   // This is necessary only if using client certificate authentication.\n     *   requestCert: true,\n     *\n     *   // This is necessary only if the client uses a self-signed certificate.\n     *   ca: [ fs.readFileSync('client-cert.pem') ]\n     * };\n     *\n     * const server = tls.createServer(options, (socket) => {\n     *   console.log('server connected',\n     *               socket.authorized ? 'authorized' : 'unauthorized');\n     *   socket.write('welcome!\\n');\n     *   socket.setEncoding('utf8');\n     *   socket.pipe(socket);\n     * });\n     * server.listen(8000, () => {\n     *   console.log('server bound');\n     * });\n     * ```\n     *\n     * The server can be tested by connecting to it using the example client from {@link connect}.\n     * @since v0.3.2\n     */\n    function createServer(secureConnectionListener?: (socket: TLSSocket) => void): Server;\n    function createServer(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void): Server;\n    /**\n     * The `callback` function, if specified, will be added as a listener for the `'secureConnect'` event.\n     *\n     * `tls.connect()` returns a {@link TLSSocket} object.\n     *\n     * Unlike the `https` API, `tls.connect()` does not enable the\n     * SNI (Server Name Indication) extension by default, which may cause some\n     * servers to return an incorrect certificate or reject the connection\n     * altogether. To enable SNI, set the `servername` option in addition\n     * to `host`.\n     *\n     * The following illustrates a client for the echo server example from {@link createServer}:\n     *\n     * ```js\n     * // Assumes an echo server that is listening on port 8000.\n     * import tls from 'node:tls';\n     * import fs from 'node:fs';\n     *\n     * const options = {\n     *   // Necessary only if the server requires client certificate authentication.\n     *   key: fs.readFileSync('client-key.pem'),\n     *   cert: fs.readFileSync('client-cert.pem'),\n     *\n     *   // Necessary only if the server uses a self-signed certificate.\n     *   ca: [ fs.readFileSync('server-cert.pem') ],\n     *\n     *   // Necessary only if the server's cert isn't for \"localhost\".\n     *   checkServerIdentity: () => { return null; },\n     * };\n     *\n     * const socket = tls.connect(8000, options, () => {\n     *   console.log('client connected',\n     *               socket.authorized ? 'authorized' : 'unauthorized');\n     *   process.stdin.pipe(socket);\n     *   process.stdin.resume();\n     * });\n     * socket.setEncoding('utf8');\n     * socket.on('data', (data) => {\n     *   console.log(data);\n     * });\n     * socket.on('end', () => {\n     *   console.log('server ends connection');\n     * });\n     * ```\n     * @since v0.11.3\n     */\n    function connect(options: ConnectionOptions, secureConnectListener?: () => void): TLSSocket;\n    function connect(\n        port: number,\n        host?: string,\n        options?: ConnectionOptions,\n        secureConnectListener?: () => void,\n    ): TLSSocket;\n    function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket;\n    /**\n     * Creates a new secure pair object with two streams, one of which reads and writes\n     * the encrypted data and the other of which reads and writes the cleartext data.\n     * Generally, the encrypted stream is piped to/from an incoming encrypted data\n     * stream and the cleartext one is used as a replacement for the initial encrypted\n     * stream.\n     *\n     * `tls.createSecurePair()` returns a `tls.SecurePair` object with `cleartext` and `encrypted` stream properties.\n     *\n     * Using `cleartext` has the same API as {@link TLSSocket}.\n     *\n     * The `tls.createSecurePair()` method is now deprecated in favor of`tls.TLSSocket()`. For example, the code:\n     *\n     * ```js\n     * pair = tls.createSecurePair(// ... );\n     * pair.encrypted.pipe(socket);\n     * socket.pipe(pair.encrypted);\n     * ```\n     *\n     * can be replaced by:\n     *\n     * ```js\n     * secureSocket = tls.TLSSocket(socket, options);\n     * ```\n     *\n     * where `secureSocket` has the same API as `pair.cleartext`.\n     * @since v0.3.2\n     * @deprecated Since v0.11.3 - Use {@link TLSSocket} instead.\n     * @param context A secure context object as returned by `tls.createSecureContext()`\n     * @param isServer `true` to specify that this TLS connection should be opened as a server.\n     * @param requestCert `true` to specify whether a server should request a certificate from a connecting client. Only applies when `isServer` is `true`.\n     * @param rejectUnauthorized If not `false` a server automatically reject clients with invalid certificates. Only applies when `isServer` is `true`.\n     */\n    function createSecurePair(\n        context?: SecureContext,\n        isServer?: boolean,\n        requestCert?: boolean,\n        rejectUnauthorized?: boolean,\n    ): SecurePair;\n    /**\n     * {@link createServer} sets the default value of the `honorCipherOrder` option\n     * to `true`, other APIs that create secure contexts leave it unset.\n     *\n     * {@link createServer} uses a 128 bit truncated SHA1 hash value generated\n     * from `process.argv` as the default value of the `sessionIdContext` option, other\n     * APIs that create secure contexts have no default value.\n     *\n     * The `tls.createSecureContext()` method creates a `SecureContext` object. It is\n     * usable as an argument to several `tls` APIs, such as {@link createServer} and `server.addContext()`, but has no public methods.\n     *\n     * A key is _required_ for ciphers that use certificates. Either `key` or`pfx` can be used to provide it.\n     *\n     * If the `ca` option is not given, then Node.js will default to using [Mozilla's publicly trusted list of\n     * CAs](https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt).\n     * @since v0.11.13\n     */\n    function createSecureContext(options?: SecureContextOptions): SecureContext;\n    /**\n     * Returns an array with the names of the supported TLS ciphers. The names are\n     * lower-case for historical reasons, but must be uppercased to be used in\n     * the `ciphers` option of {@link createSecureContext}.\n     *\n     * Not all supported ciphers are enabled by default. See `Modifying the default TLS cipher suite`.\n     *\n     * Cipher names that start with `'tls_'` are for TLSv1.3, all the others are for\n     * TLSv1.2 and below.\n     *\n     * ```js\n     * console.log(tls.getCiphers()); // ['aes128-gcm-sha256', 'aes128-sha', ...]\n     * ```\n     * @since v0.10.2\n     */\n    function getCiphers(): string[];\n    /**\n     * The default curve name to use for ECDH key agreement in a tls server.\n     * The default value is 'auto'. See tls.createSecureContext() for further\n     * information.\n     */\n    let DEFAULT_ECDH_CURVE: string;\n    /**\n     * The default value of the maxVersion option of\n     * tls.createSecureContext(). It can be assigned any of the supported TLS\n     * protocol versions, 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default:\n     * 'TLSv1.3', unless changed using CLI options. Using --tls-max-v1.2 sets\n     * the default to 'TLSv1.2'. Using --tls-max-v1.3 sets the default to\n     * 'TLSv1.3'. If multiple of the options are provided, the highest maximum\n     * is used.\n     */\n    let DEFAULT_MAX_VERSION: SecureVersion;\n    /**\n     * The default value of the minVersion option of tls.createSecureContext().\n     * It can be assigned any of the supported TLS protocol versions,\n     * 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default: 'TLSv1.2', unless\n     * changed using CLI options. Using --tls-min-v1.0 sets the default to\n     * 'TLSv1'. Using --tls-min-v1.1 sets the default to 'TLSv1.1'. Using\n     * --tls-min-v1.3 sets the default to 'TLSv1.3'. If multiple of the options\n     * are provided, the lowest minimum is used.\n     */\n    let DEFAULT_MIN_VERSION: SecureVersion;\n    /**\n     * The default value of the ciphers option of tls.createSecureContext().\n     * It can be assigned any of the supported OpenSSL ciphers.\n     * Defaults to the content of crypto.constants.defaultCoreCipherList, unless\n     * changed using CLI options using --tls-default-ciphers.\n     */\n    let DEFAULT_CIPHERS: string;\n    /**\n     * An immutable array of strings representing the root certificates (in PEM\n     * format) used for verifying peer certificates. This is the default value\n     * of the ca option to tls.createSecureContext().\n     */\n    const rootCertificates: readonly string[];\n}\ndeclare module \"node:tls\" {\n    export * from \"tls\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/trace_events.d.ts",
      "content": "/**\n * The `trace_events` module provides a mechanism to centralize tracing information\n * generated by V8, Node.js core, and userspace code.\n *\n * Tracing can be enabled with the `--trace-event-categories` command-line flag\n * or by using the `trace_events` module. The `--trace-event-categories` flag\n * accepts a list of comma-separated category names.\n *\n * The available categories are:\n *\n * * `node`: An empty placeholder.\n * * `node.async_hooks`: Enables capture of detailed `async_hooks` trace data.\n * The `async_hooks` events have a unique `asyncId` and a special `triggerId` `triggerAsyncId` property.\n * * `node.bootstrap`: Enables capture of Node.js bootstrap milestones.\n * * `node.console`: Enables capture of `console.time()` and `console.count()` output.\n * * `node.dns.native`: Enables capture of trace data for DNS queries.\n * * `node.environment`: Enables capture of Node.js Environment milestones.\n * * `node.fs.sync`: Enables capture of trace data for file system sync methods.\n * * `node.perf`: Enables capture of `Performance API` measurements.\n *    * `node.perf.usertiming`: Enables capture of only Performance API User Timing\n *    measures and marks.\n *    * `node.perf.timerify`: Enables capture of only Performance API timerify\n *    measurements.\n * * `node.promises.rejections`: Enables capture of trace data tracking the number\n * of unhandled Promise rejections and handled-after-rejections.\n * * `node.vm.script`: Enables capture of trace data for the `vm` module's`runInNewContext()`, `runInContext()`, and `runInThisContext()` methods.\n * * `v8`: The `V8` events are GC, compiling, and execution related.\n *\n * By default the `node`, `node.async_hooks`, and `v8` categories are enabled.\n *\n * ```bash\n * node --trace-event-categories v8,node,node.async_hooks server.js\n * ```\n *\n * Prior versions of Node.js required the use of the `--trace-events-enabled`flag to enable trace events. This requirement has been removed. However, the`--trace-events-enabled` flag _may_ still be\n * used and will enable the`node`, `node.async_hooks`, and `v8` trace event categories by default.\n *\n * ```bash\n * node --trace-events-enabled\n *\n * # is equivalent to\n *\n * node --trace-event-categories v8,node,node.async_hooks\n * ```\n *\n * Alternatively, trace events may be enabled using the `trace_events` module:\n *\n * ```js\n * import trace_events from 'node:trace_events';\n * const tracing = trace_events.createTracing({ categories: ['node.perf'] });\n * tracing.enable();  // Enable trace event capture for the 'node.perf' category\n *\n * // do work\n *\n * tracing.disable();  // Disable trace event capture for the 'node.perf' category\n * ```\n *\n * Running Node.js with tracing enabled will produce log files that can be opened\n * in the [`chrome://tracing`](https://www.chromium.org/developers/how-tos/trace-event-profiling-tool) tab of Chrome.\n *\n * The logging file is by default called `node_trace.${rotation}.log`, where`${rotation}` is an incrementing log-rotation id. The filepath pattern can\n * be specified with `--trace-event-file-pattern` that accepts a template\n * string that supports `${rotation}` and `${pid}`:\n *\n * ```bash\n * node --trace-event-categories v8 --trace-event-file-pattern '${pid}-${rotation}.log' server.js\n * ```\n *\n * To guarantee that the log file is properly generated after signal events like`SIGINT`, `SIGTERM`, or `SIGBREAK`, make sure to have the appropriate handlers\n * in your code, such as:\n *\n * ```js\n * process.on('SIGINT', function onSigint() {\n *   console.info('Received SIGINT.');\n *   process.exit(130);  // Or applicable exit code depending on OS and signal\n * });\n * ```\n *\n * The tracing system uses the same time source\n * as the one used by `process.hrtime()`.\n * However the trace-event timestamps are expressed in microseconds,\n * unlike `process.hrtime()` which returns nanoseconds.\n *\n * The features from this module are not available in `Worker` threads.\n * @experimental\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/trace_events.js)\n */\ndeclare module \"trace_events\" {\n    /**\n     * The `Tracing` object is used to enable or disable tracing for sets of\n     * categories. Instances are created using the\n     * `trace_events.createTracing()` method.\n     *\n     * When created, the `Tracing` object is disabled. Calling the\n     * `tracing.enable()` method adds the categories to the set of enabled trace\n     * event categories. Calling `tracing.disable()` will remove the categories\n     * from the set of enabled trace event categories.\n     */\n    interface Tracing {\n        /**\n         * A comma-separated list of the trace event categories covered by this\n         * `Tracing` object.\n         */\n        readonly categories: string;\n        /**\n         * Disables this `Tracing` object.\n         *\n         * Only trace event categories _not_ covered by other enabled `Tracing`\n         * objects and _not_ specified by the `--trace-event-categories` flag\n         * will be disabled.\n         */\n        disable(): void;\n        /**\n         * Enables this `Tracing` object for the set of categories covered by\n         * the `Tracing` object.\n         */\n        enable(): void;\n        /**\n         * `true` only if the `Tracing` object has been enabled.\n         */\n        readonly enabled: boolean;\n    }\n    interface CreateTracingOptions {\n        /**\n         * An array of trace category names. Values included in the array are\n         * coerced to a string when possible. An error will be thrown if the\n         * value cannot be coerced.\n         */\n        categories: string[];\n    }\n    /**\n     * Creates and returns a `Tracing` object for the given set of `categories`.\n     *\n     * ```js\n     * import trace_events from 'node:trace_events';\n     * const categories = ['node.perf', 'node.async_hooks'];\n     * const tracing = trace_events.createTracing({ categories });\n     * tracing.enable();\n     * // do stuff\n     * tracing.disable();\n     * ```\n     * @since v10.0.0\n     * @return .\n     */\n    function createTracing(options: CreateTracingOptions): Tracing;\n    /**\n     * Returns a comma-separated list of all currently-enabled trace event\n     * categories. The current set of enabled trace event categories is determined\n     * by the _union_ of all currently-enabled `Tracing` objects and any categories\n     * enabled using the `--trace-event-categories` flag.\n     *\n     * Given the file `test.js` below, the command`node --trace-event-categories node.perf test.js` will print`'node.async_hooks,node.perf'` to the console.\n     *\n     * ```js\n     * import trace_events from 'node:trace_events';\n     * const t1 = trace_events.createTracing({ categories: ['node.async_hooks'] });\n     * const t2 = trace_events.createTracing({ categories: ['node.perf'] });\n     * const t3 = trace_events.createTracing({ categories: ['v8'] });\n     *\n     * t1.enable();\n     * t2.enable();\n     *\n     * console.log(trace_events.getEnabledCategories());\n     * ```\n     * @since v10.0.0\n     */\n    function getEnabledCategories(): string | undefined;\n}\ndeclare module \"node:trace_events\" {\n    export * from \"trace_events\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/tty.d.ts",
      "content": "/**\n * The `tty` module provides the `tty.ReadStream` and `tty.WriteStream` classes.\n * In most cases, it will not be necessary or possible to use this module directly.\n * However, it can be accessed using:\n *\n * ```js\n * import tty from 'node:tty';\n * ```\n *\n * When Node.js detects that it is being run with a text terminal (\"TTY\")\n * attached, `process.stdin` will, by default, be initialized as an instance of`tty.ReadStream` and both `process.stdout` and `process.stderr` will, by\n * default, be instances of `tty.WriteStream`. The preferred method of determining\n * whether Node.js is being run within a TTY context is to check that the value of\n * the `process.stdout.isTTY` property is `true`:\n *\n * ```console\n * $ node -p -e \"Boolean(process.stdout.isTTY)\"\n * true\n * $ node -p -e \"Boolean(process.stdout.isTTY)\" | cat\n * false\n * ```\n *\n * In most cases, there should be little to no reason for an application to\n * manually create instances of the `tty.ReadStream` and `tty.WriteStream` classes.\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/tty.js)\n */\ndeclare module \"tty\" {\n    import * as net from \"node:net\";\n    /**\n     * The `tty.isatty()` method returns `true` if the given `fd` is associated with\n     * a TTY and `false` if it is not, including whenever `fd` is not a non-negative\n     * integer.\n     * @since v0.5.8\n     * @param fd A numeric file descriptor\n     */\n    function isatty(fd: number): boolean;\n    /**\n     * Represents the readable side of a TTY. In normal circumstances `process.stdin` will be the only `tty.ReadStream` instance in a Node.js\n     * process and there should be no reason to create additional instances.\n     * @since v0.5.8\n     */\n    class ReadStream extends net.Socket {\n        constructor(fd: number, options?: net.SocketConstructorOpts);\n        /**\n         * A `boolean` that is `true` if the TTY is currently configured to operate as a\n         * raw device. Defaults to `false`.\n         * @since v0.7.7\n         */\n        isRaw: boolean;\n        /**\n         * Allows configuration of `tty.ReadStream` so that it operates as a raw device.\n         *\n         * When in raw mode, input is always available character-by-character, not\n         * including modifiers. Additionally, all special processing of characters by the\n         * terminal is disabled, including echoing input\n         * characters. Ctrl+C will no longer cause a `SIGINT` when\n         * in this mode.\n         * @since v0.7.7\n         * @param mode If `true`, configures the `tty.ReadStream` to operate as a raw device. If `false`, configures the `tty.ReadStream` to operate in its default mode. The `readStream.isRaw`\n         * property will be set to the resulting mode.\n         * @return The read stream instance.\n         */\n        setRawMode(mode: boolean): this;\n        /**\n         * A `boolean` that is always `true` for `tty.ReadStream` instances.\n         * @since v0.5.8\n         */\n        isTTY: boolean;\n    }\n    /**\n     * -1 - to the left from cursor\n     *  0 - the entire line\n     *  1 - to the right from cursor\n     */\n    type Direction = -1 | 0 | 1;\n    /**\n     * Represents the writable side of a TTY. In normal circumstances,`process.stdout` and `process.stderr` will be the only`tty.WriteStream` instances created for a Node.js process and there\n     * should be no reason to create additional instances.\n     * @since v0.5.8\n     */\n    class WriteStream extends net.Socket {\n        constructor(fd: number);\n        addListener(event: string, listener: (...args: any[]) => void): this;\n        addListener(event: \"resize\", listener: () => void): this;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        emit(event: \"resize\"): boolean;\n        on(event: string, listener: (...args: any[]) => void): this;\n        on(event: \"resize\", listener: () => void): this;\n        once(event: string, listener: (...args: any[]) => void): this;\n        once(event: \"resize\", listener: () => void): this;\n        prependListener(event: string, listener: (...args: any[]) => void): this;\n        prependListener(event: \"resize\", listener: () => void): this;\n        prependOnceListener(event: string, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"resize\", listener: () => void): this;\n        /**\n         * `writeStream.clearLine()` clears the current line of this `WriteStream` in a\n         * direction identified by `dir`.\n         * @since v0.7.7\n         * @param callback Invoked once the operation completes.\n         * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.\n         */\n        clearLine(dir: Direction, callback?: () => void): boolean;\n        /**\n         * `writeStream.clearScreenDown()` clears this `WriteStream` from the current\n         * cursor down.\n         * @since v0.7.7\n         * @param callback Invoked once the operation completes.\n         * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.\n         */\n        clearScreenDown(callback?: () => void): boolean;\n        /**\n         * `writeStream.cursorTo()` moves this `WriteStream`'s cursor to the specified\n         * position.\n         * @since v0.7.7\n         * @param callback Invoked once the operation completes.\n         * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.\n         */\n        cursorTo(x: number, y?: number, callback?: () => void): boolean;\n        cursorTo(x: number, callback: () => void): boolean;\n        /**\n         * `writeStream.moveCursor()` moves this `WriteStream`'s cursor _relative_ to its\n         * current position.\n         * @since v0.7.7\n         * @param callback Invoked once the operation completes.\n         * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.\n         */\n        moveCursor(dx: number, dy: number, callback?: () => void): boolean;\n        /**\n         * Returns:\n         *\n         * * `1` for 2,\n         * * `4` for 16,\n         * * `8` for 256,\n         * * `24` for 16,777,216 colors supported.\n         *\n         * Use this to determine what colors the terminal supports. Due to the nature of\n         * colors in terminals it is possible to either have false positives or false\n         * negatives. It depends on process information and the environment variables that\n         * may lie about what terminal is used.\n         * It is possible to pass in an `env` object to simulate the usage of a specific\n         * terminal. This can be useful to check how specific environment settings behave.\n         *\n         * To enforce a specific color support, use one of the below environment settings.\n         *\n         * * 2 colors: `FORCE_COLOR = 0` (Disables colors)\n         * * 16 colors: `FORCE_COLOR = 1`\n         * * 256 colors: `FORCE_COLOR = 2`\n         * * 16,777,216 colors: `FORCE_COLOR = 3`\n         *\n         * Disabling color support is also possible by using the `NO_COLOR` and `NODE_DISABLE_COLORS` environment variables.\n         * @since v9.9.0\n         * @param [env=process.env] An object containing the environment variables to check. This enables simulating the usage of a specific terminal.\n         */\n        getColorDepth(env?: object): number;\n        /**\n         * Returns `true` if the `writeStream` supports at least as many colors as provided\n         * in `count`. Minimum support is 2 (black and white).\n         *\n         * This has the same false positives and negatives as described in `writeStream.getColorDepth()`.\n         *\n         * ```js\n         * process.stdout.hasColors();\n         * // Returns true or false depending on if `stdout` supports at least 16 colors.\n         * process.stdout.hasColors(256);\n         * // Returns true or false depending on if `stdout` supports at least 256 colors.\n         * process.stdout.hasColors({ TMUX: '1' });\n         * // Returns true.\n         * process.stdout.hasColors(2 ** 24, { TMUX: '1' });\n         * // Returns false (the environment setting pretends to support 2 ** 8 colors).\n         * ```\n         * @since v11.13.0, v10.16.0\n         * @param [count=16] The number of colors that are requested (minimum 2).\n         * @param [env=process.env] An object containing the environment variables to check. This enables simulating the usage of a specific terminal.\n         */\n        hasColors(count?: number): boolean;\n        hasColors(env?: object): boolean;\n        hasColors(count: number, env?: object): boolean;\n        /**\n         * `writeStream.getWindowSize()` returns the size of the TTY\n         * corresponding to this `WriteStream`. The array is of the type`[numColumns, numRows]` where `numColumns` and `numRows` represent the number\n         * of columns and rows in the corresponding TTY.\n         * @since v0.7.7\n         */\n        getWindowSize(): [number, number];\n        /**\n         * A `number` specifying the number of columns the TTY currently has. This property\n         * is updated whenever the `'resize'` event is emitted.\n         * @since v0.7.7\n         */\n        columns: number;\n        /**\n         * A `number` specifying the number of rows the TTY currently has. This property\n         * is updated whenever the `'resize'` event is emitted.\n         * @since v0.7.7\n         */\n        rows: number;\n        /**\n         * A `boolean` that is always `true`.\n         * @since v0.5.8\n         */\n        isTTY: boolean;\n    }\n}\ndeclare module \"node:tty\" {\n    export * from \"tty\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/url.d.ts",
      "content": "/**\n * The `url` module provides utilities for URL resolution and parsing. It can be\n * accessed using:\n *\n * ```js\n * import url from 'url';\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.19.0/lib/url.js)\n */\ndeclare module \"url\" {\n    import { Blob as NodeBlob } from \"node:buffer\";\n    import { ClientRequestArgs } from \"node:http\";\n    import { ParsedUrlQuery, ParsedUrlQueryInput } from \"node:querystring\";\n    // Input to `url.format`\n    interface UrlObject {\n        auth?: string | null | undefined;\n        hash?: string | null | undefined;\n        host?: string | null | undefined;\n        hostname?: string | null | undefined;\n        href?: string | null | undefined;\n        pathname?: string | null | undefined;\n        protocol?: string | null | undefined;\n        search?: string | null | undefined;\n        slashes?: boolean | null | undefined;\n        port?: string | number | null | undefined;\n        query?: string | null | ParsedUrlQueryInput | undefined;\n    }\n    // Output of `url.parse`\n    interface Url {\n        auth: string | null;\n        hash: string | null;\n        host: string | null;\n        hostname: string | null;\n        href: string;\n        path: string | null;\n        pathname: string | null;\n        protocol: string | null;\n        search: string | null;\n        slashes: boolean | null;\n        port: string | null;\n        query: string | null | ParsedUrlQuery;\n    }\n    interface UrlWithParsedQuery extends Url {\n        query: ParsedUrlQuery;\n    }\n    interface UrlWithStringQuery extends Url {\n        query: string | null;\n    }\n    /**\n     * The `url.parse()` method takes a URL string, parses it, and returns a URL\n     * object.\n     *\n     * A `TypeError` is thrown if `urlString` is not a string.\n     *\n     * A `URIError` is thrown if the `auth` property is present but cannot be decoded.\n     *\n     * Use of the legacy `url.parse()` method is discouraged. Users should\n     * use the WHATWG `URL` API. Because the `url.parse()` method uses a\n     * lenient, non-standard algorithm for parsing URL strings, security\n     * issues can be introduced. Specifically, issues with [host name spoofing](https://hackerone.com/reports/678487) and\n     * incorrect handling of usernames and passwords have been identified.\n     *\n     * Deprecation of this API has been shelved for now primarily due to the the\n     * inability of the [WHATWG API to parse relative URLs](https://github.com/nodejs/node/issues/12682#issuecomment-1154492373).\n     * [Discussions are ongoing](https://github.com/whatwg/url/issues/531) for the  best way to resolve this.\n     *\n     * @since v0.1.25\n     * @param urlString The URL string to parse.\n     * @param [parseQueryString=false] If `true`, the `query` property will always be set to an object returned by the {@link querystring} module's `parse()` method. If `false`, the `query` property\n     * on the returned URL object will be an unparsed, undecoded string.\n     * @param [slashesDenoteHost=false] If `true`, the first token after the literal string `//` and preceding the next `/` will be interpreted as the `host`. For instance, given `//foo/bar`, the\n     * result would be `{host: 'foo', pathname: '/bar'}` rather than `{pathname: '//foo/bar'}`.\n     */\n    function parse(urlString: string): UrlWithStringQuery;\n    function parse(\n        urlString: string,\n        parseQueryString: false | undefined,\n        slashesDenoteHost?: boolean,\n    ): UrlWithStringQuery;\n    function parse(urlString: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery;\n    function parse(urlString: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url;\n    /**\n     * The `url.format()` method returns a formatted URL string derived from `urlObject`.\n     *\n     * ```js\n     * import url from 'node:url';\n     * url.format({\n     *   protocol: 'https',\n     *   hostname: 'example.com',\n     *   pathname: '/some/path',\n     *   query: {\n     *     page: 1,\n     *     format: 'json',\n     *   },\n     * });\n     *\n     * // => 'https://example.com/some/path?page=1&#x26;format=json'\n     * ```\n     *\n     * If `urlObject` is not an object or a string, `url.format()` will throw a `TypeError`.\n     *\n     * The formatting process operates as follows:\n     *\n     * * A new empty string `result` is created.\n     * * If `urlObject.protocol` is a string, it is appended as-is to `result`.\n     * * Otherwise, if `urlObject.protocol` is not `undefined` and is not a string, an `Error` is thrown.\n     * * For all string values of `urlObject.protocol` that _do not end_ with an ASCII\n     * colon (`:`) character, the literal string `:` will be appended to `result`.\n     * * If either of the following conditions is true, then the literal string `//` will be appended to `result`:\n     *    * `urlObject.slashes` property is true;\n     *    * `urlObject.protocol` begins with `http`, `https`, `ftp`, `gopher`, or `file`;\n     * * If the value of the `urlObject.auth` property is truthy, and either `urlObject.host` or `urlObject.hostname` are not `undefined`, the value of `urlObject.auth` will be coerced into a string\n     * and appended to `result` followed by the literal string `@`.\n     * * If the `urlObject.host` property is `undefined` then:\n     *    * If the `urlObject.hostname` is a string, it is appended to `result`.\n     *    * Otherwise, if `urlObject.hostname` is not `undefined` and is not a string,\n     *    an `Error` is thrown.\n     *    * If the `urlObject.port` property value is truthy, and `urlObject.hostname` is not `undefined`:\n     *          * The literal string `:` is appended to `result`, and\n     *          * The value of `urlObject.port` is coerced to a string and appended to `result`.\n     * * Otherwise, if the `urlObject.host` property value is truthy, the value of `urlObject.host` is coerced to a string and appended to `result`.\n     * * If the `urlObject.pathname` property is a string that is not an empty string:\n     *    * If the `urlObject.pathname` _does not start_ with an ASCII forward slash\n     *    (`/`), then the literal string `'/'` is appended to `result`.\n     *    * The value of `urlObject.pathname` is appended to `result`.\n     * * Otherwise, if `urlObject.pathname` is not `undefined` and is not a string, an `Error` is thrown.\n     * * If the `urlObject.search` property is `undefined` and if the `urlObject.query`property is an `Object`, the literal string `?` is appended to `result` followed by the output of calling the\n     * `querystring` module's `stringify()` method passing the value of `urlObject.query`.\n     * * Otherwise, if `urlObject.search` is a string:\n     *    * If the value of `urlObject.search` _does not start_ with the ASCII question\n     *    mark (`?`) character, the literal string `?` is appended to `result`.\n     *    * The value of `urlObject.search` is appended to `result`.\n     * * Otherwise, if `urlObject.search` is not `undefined` and is not a string, an `Error` is thrown.\n     * * If the `urlObject.hash` property is a string:\n     *    * If the value of `urlObject.hash` _does not start_ with the ASCII hash (`#`)\n     *    character, the literal string `#` is appended to `result`.\n     *    * The value of `urlObject.hash` is appended to `result`.\n     * * Otherwise, if the `urlObject.hash` property is not `undefined` and is not a\n     * string, an `Error` is thrown.\n     * * `result` is returned.\n     * @since v0.1.25\n     * @legacy Use the WHATWG URL API instead.\n     * @param urlObject A URL object (as returned by `url.parse()` or constructed otherwise). If a string, it is converted to an object by passing it to `url.parse()`.\n     */\n    function format(urlObject: URL, options?: URLFormatOptions): string;\n    /**\n     * The `url.format()` method returns a formatted URL string derived from `urlObject`.\n     *\n     * ```js\n     * import url from 'node:url';\n     * url.format({\n     *   protocol: 'https',\n     *   hostname: 'example.com',\n     *   pathname: '/some/path',\n     *   query: {\n     *     page: 1,\n     *     format: 'json',\n     *   },\n     * });\n     *\n     * // => 'https://example.com/some/path?page=1&#x26;format=json'\n     * ```\n     *\n     * If `urlObject` is not an object or a string, `url.format()` will throw a `TypeError`.\n     *\n     * The formatting process operates as follows:\n     *\n     * * A new empty string `result` is created.\n     * * If `urlObject.protocol` is a string, it is appended as-is to `result`.\n     * * Otherwise, if `urlObject.protocol` is not `undefined` and is not a string, an `Error` is thrown.\n     * * For all string values of `urlObject.protocol` that _do not end_ with an ASCII\n     * colon (`:`) character, the literal string `:` will be appended to `result`.\n     * * If either of the following conditions is true, then the literal string `//` will be appended to `result`:\n     *    * `urlObject.slashes` property is true;\n     *    * `urlObject.protocol` begins with `http`, `https`, `ftp`, `gopher`, or `file`;\n     * * If the value of the `urlObject.auth` property is truthy, and either `urlObject.host` or `urlObject.hostname` are not `undefined`, the value of `urlObject.auth` will be coerced into a string\n     * and appended to `result` followed by the literal string `@`.\n     * * If the `urlObject.host` property is `undefined` then:\n     *    * If the `urlObject.hostname` is a string, it is appended to `result`.\n     *    * Otherwise, if `urlObject.hostname` is not `undefined` and is not a string,\n     *    an `Error` is thrown.\n     *    * If the `urlObject.port` property value is truthy, and `urlObject.hostname` is not `undefined`:\n     *          * The literal string `:` is appended to `result`, and\n     *          * The value of `urlObject.port` is coerced to a string and appended to `result`.\n     * * Otherwise, if the `urlObject.host` property value is truthy, the value of `urlObject.host` is coerced to a string and appended to `result`.\n     * * If the `urlObject.pathname` property is a string that is not an empty string:\n     *    * If the `urlObject.pathname` _does not start_ with an ASCII forward slash\n     *    (`/`), then the literal string `'/'` is appended to `result`.\n     *    * The value of `urlObject.pathname` is appended to `result`.\n     * * Otherwise, if `urlObject.pathname` is not `undefined` and is not a string, an `Error` is thrown.\n     * * If the `urlObject.search` property is `undefined` and if the `urlObject.query`property is an `Object`, the literal string `?` is appended to `result` followed by the output of calling the\n     * `querystring` module's `stringify()` method passing the value of `urlObject.query`.\n     * * Otherwise, if `urlObject.search` is a string:\n     *    * If the value of `urlObject.search` _does not start_ with the ASCII question\n     *    mark (`?`) character, the literal string `?` is appended to `result`.\n     *    * The value of `urlObject.search` is appended to `result`.\n     * * Otherwise, if `urlObject.search` is not `undefined` and is not a string, an `Error` is thrown.\n     * * If the `urlObject.hash` property is a string:\n     *    * If the value of `urlObject.hash` _does not start_ with the ASCII hash (`#`)\n     *    character, the literal string `#` is appended to `result`.\n     *    * The value of `urlObject.hash` is appended to `result`.\n     * * Otherwise, if the `urlObject.hash` property is not `undefined` and is not a\n     * string, an `Error` is thrown.\n     * * `result` is returned.\n     * @since v0.1.25\n     * @legacy Use the WHATWG URL API instead.\n     * @param urlObject A URL object (as returned by `url.parse()` or constructed otherwise). If a string, it is converted to an object by passing it to `url.parse()`.\n     */\n    function format(urlObject: UrlObject | string): string;\n    /**\n     * The `url.resolve()` method resolves a target URL relative to a base URL in a\n     * manner similar to that of a web browser resolving an anchor tag.\n     *\n     * ```js\n     * import url from 'node:url';\n     * url.resolve('/one/two/three', 'four');         // '/one/two/four'\n     * url.resolve('http://example.com/', '/one');    // 'http://example.com/one'\n     * url.resolve('http://example.com/one', '/two'); // 'http://example.com/two'\n     * ```\n     *\n     * To achieve the same result using the WHATWG URL API:\n     *\n     * ```js\n     * function resolve(from, to) {\n     *   const resolvedUrl = new URL(to, new URL(from, 'resolve://'));\n     *   if (resolvedUrl.protocol === 'resolve:') {\n     *     // `from` is a relative URL.\n     *     const { pathname, search, hash } = resolvedUrl;\n     *     return pathname + search + hash;\n     *   }\n     *   return resolvedUrl.toString();\n     * }\n     *\n     * resolve('/one/two/three', 'four');         // '/one/two/four'\n     * resolve('http://example.com/', '/one');    // 'http://example.com/one'\n     * resolve('http://example.com/one', '/two'); // 'http://example.com/two'\n     * ```\n     * @since v0.1.25\n     * @legacy Use the WHATWG URL API instead.\n     * @param from The base URL to use if `to` is a relative URL.\n     * @param to The target URL to resolve.\n     */\n    function resolve(from: string, to: string): string;\n    /**\n     * Returns the [Punycode](https://tools.ietf.org/html/rfc5891#section-4.4) ASCII serialization of the `domain`. If `domain` is an\n     * invalid domain, the empty string is returned.\n     *\n     * It performs the inverse operation to {@link domainToUnicode}.\n     *\n     * This feature is only available if the `node` executable was compiled with `ICU` enabled. If not, the domain names are passed through unchanged.\n     *\n     * ```js\n     * import url from 'url';\n     *\n     * console.log(url.domainToASCII('español.com'));\n     * // Prints xn--espaol-zwa.com\n     * console.log(url.domainToASCII('中文.com'));\n     * // Prints xn--fiq228c.com\n     * console.log(url.domainToASCII('xn--iñvalid.com'));\n     * // Prints an empty string\n     * ```\n     * @since v7.4.0, v6.13.0\n     */\n    function domainToASCII(domain: string): string;\n    /**\n     * Returns the Unicode serialization of the `domain`. If `domain` is an invalid\n     * domain, the empty string is returned.\n     *\n     * It performs the inverse operation to {@link domainToASCII}.\n     *\n     * This feature is only available if the `node` executable was compiled with `ICU` enabled. If not, the domain names are passed through unchanged.\n     *\n     * ```js\n     * import url from 'url';\n     *\n     * console.log(url.domainToUnicode('xn--espaol-zwa.com'));\n     * // Prints español.com\n     * console.log(url.domainToUnicode('xn--fiq228c.com'));\n     * // Prints 中文.com\n     * console.log(url.domainToUnicode('xn--iñvalid.com'));\n     * // Prints an empty string\n     * ```\n     * @since v7.4.0, v6.13.0\n     */\n    function domainToUnicode(domain: string): string;\n    /**\n     * This function ensures the correct decodings of percent-encoded characters as\n     * well as ensuring a cross-platform valid absolute path string.\n     *\n     * ```js\n     * import { fileURLToPath } from 'url';\n     *\n     * const __filename = fileURLToPath(import.meta.url);\n     *\n     * new URL('file:///C:/path/').pathname;      // Incorrect: /C:/path/\n     * fileURLToPath('file:///C:/path/');         // Correct:   C:\\path\\ (Windows)\n     *\n     * new URL('file://nas/foo.txt').pathname;    // Incorrect: /foo.txt\n     * fileURLToPath('file://nas/foo.txt');       // Correct:   \\\\nas\\foo.txt (Windows)\n     *\n     * new URL('file:///你好.txt').pathname;      // Incorrect: /%E4%BD%A0%E5%A5%BD.txt\n     * fileURLToPath('file:///你好.txt');         // Correct:   /你好.txt (POSIX)\n     *\n     * new URL('file:///hello world').pathname;   // Incorrect: /hello%20world\n     * fileURLToPath('file:///hello world');      // Correct:   /hello world (POSIX)\n     * ```\n     * @since v10.12.0\n     * @param url The file URL string or URL object to convert to a path.\n     * @return The fully-resolved platform-specific Node.js file path.\n     */\n    function fileURLToPath(url: string | URL): string;\n    /**\n     * This function ensures that `path` is resolved absolutely, and that the URL\n     * control characters are correctly encoded when converting into a File URL.\n     *\n     * ```js\n     * import { pathToFileURL } from 'url';\n     *\n     * new URL('/foo#1', 'file:');           // Incorrect: file:///foo#1\n     * pathToFileURL('/foo#1');              // Correct:   file:///foo%231 (POSIX)\n     *\n     * new URL('/some/path%.c', 'file:');    // Incorrect: file:///some/path%.c\n     * pathToFileURL('/some/path%.c');       // Correct:   file:///some/path%25.c (POSIX)\n     * ```\n     * @since v10.12.0\n     * @param path The path to convert to a File URL.\n     * @return The file URL object.\n     */\n    function pathToFileURL(path: string): URL;\n    /**\n     * This utility function converts a URL object into an ordinary options object as\n     * expected by the `http.request()` and `https.request()` APIs.\n     *\n     * ```js\n     * import { urlToHttpOptions } from 'url';\n     * const myURL = new URL('https://a:b@測試?abc#foo');\n     *\n     * console.log(urlToHttpOptions(myURL));\n     * /*\n     * {\n     *   protocol: 'https:',\n     *   hostname: 'xn--g6w251d',\n     *   hash: '#foo',\n     *   search: '?abc',\n     *   pathname: '/',\n     *   path: '/?abc',\n     *   href: 'https://a:b@xn--g6w251d/?abc#foo',\n     *   auth: 'a:b'\n     * }\n     *\n     * ```\n     * @since v15.7.0, v14.18.0\n     * @param url The `WHATWG URL` object to convert to an options object.\n     * @return Options object\n     */\n    function urlToHttpOptions(url: URL): ClientRequestArgs;\n    interface URLFormatOptions {\n        /**\n         * `true` if the serialized URL string should include the username and password, `false` otherwise.\n         * @default true\n         */\n        auth?: boolean | undefined;\n        /**\n         * `true` if the serialized URL string should include the fragment, `false` otherwise.\n         * @default true\n         */\n        fragment?: boolean | undefined;\n        /**\n         * `true` if the serialized URL string should include the search query, `false` otherwise.\n         * @default true\n         */\n        search?: boolean | undefined;\n        /**\n         * `true` if Unicode characters appearing in the host component of the URL string should be encoded directly as opposed to\n         * being Punycode encoded.\n         * @default false\n         */\n        unicode?: boolean | undefined;\n    }\n    /**\n     * Browser-compatible `URL` class, implemented by following the WHATWG URL\n     * Standard. [Examples of parsed URLs](https://url.spec.whatwg.org/#example-url-parsing) may be found in the Standard itself.\n     * The `URL` class is also available on the global object.\n     *\n     * In accordance with browser conventions, all properties of `URL` objects\n     * are implemented as getters and setters on the class prototype, rather than as\n     * data properties on the object itself. Thus, unlike `legacy urlObject`s,\n     * using the `delete` keyword on any properties of `URL` objects (e.g. `delete myURL.protocol`, `delete myURL.pathname`, etc) has no effect but will still\n     * return `true`.\n     * @since v7.0.0, v6.13.0\n     */\n    class URL {\n        /**\n         * Creates a `'blob:nodedata:...'` URL string that represents the given `Blob` object and can be used to retrieve the `Blob` later.\n         *\n         * ```js\n         * import {\n         *   Blob,\n         *   resolveObjectURL,\n         * } from 'node:buffer';\n         *\n         * const blob = new Blob(['hello']);\n         * const id = URL.createObjectURL(blob);\n         *\n         * // later...\n         *\n         * const otherBlob = resolveObjectURL(id);\n         * console.log(otherBlob.size);\n         * ```\n         *\n         * The data stored by the registered `Blob` will be retained in memory until `URL.revokeObjectURL()` is called to remove it.\n         *\n         * `Blob` objects are registered within the current thread. If using Worker\n         * Threads, `Blob` objects registered within one Worker will not be available\n         * to other workers or the main thread.\n         * @since v16.7.0\n         * @experimental\n         */\n        static createObjectURL(blob: NodeBlob): string;\n        /**\n         * Removes the stored `Blob` identified by the given ID. Attempting to revoke a\n         * ID that isn’t registered will silently fail.\n         * @since v16.7.0\n         * @experimental\n         * @param id A `'blob:nodedata:...` URL string returned by a prior call to `URL.createObjectURL()`.\n         */\n        static revokeObjectURL(id: string): void;\n        /**\n         * Checks if an `input` relative to the `base` can be parsed to a `URL`.\n         *\n         * ```js\n         * const isValid = URL.canParse('/foo', 'https://example.org/'); // true\n         *\n         * const isNotValid = URL.canParse('/foo'); // false\n         * ```\n         * @since v18.17.0\n         * @param input The absolute or relative input URL to parse. If `input` is relative, then `base` is required. If `input` is absolute, the `base` is ignored. If `input` is not a string, it is\n         * `converted to a string` first.\n         * @param base The base URL to resolve against if the `input` is not absolute. If `base` is not a string, it is `converted to a string` first.\n         */\n        static canParse(input: string, base?: string): boolean;\n        constructor(input: string | { toString: () => string }, base?: string | URL);\n        /**\n         * Gets and sets the fragment portion of the URL.\n         *\n         * ```js\n         * const myURL = new URL('https://example.org/foo#bar');\n         * console.log(myURL.hash);\n         * // Prints #bar\n         *\n         * myURL.hash = 'baz';\n         * console.log(myURL.href);\n         * // Prints https://example.org/foo#baz\n         * ```\n         *\n         * Invalid URL characters included in the value assigned to the `hash` property\n         * are `percent-encoded`. The selection of which characters to\n         * percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.\n         */\n        hash: string;\n        /**\n         * Gets and sets the host portion of the URL.\n         *\n         * ```js\n         * const myURL = new URL('https://example.org:81/foo');\n         * console.log(myURL.host);\n         * // Prints example.org:81\n         *\n         * myURL.host = 'example.com:82';\n         * console.log(myURL.href);\n         * // Prints https://example.com:82/foo\n         * ```\n         *\n         * Invalid host values assigned to the `host` property are ignored.\n         */\n        host: string;\n        /**\n         * Gets and sets the host name portion of the URL. The key difference between`url.host` and `url.hostname` is that `url.hostname` does _not_ include the\n         * port.\n         *\n         * ```js\n         * const myURL = new URL('https://example.org:81/foo');\n         * console.log(myURL.hostname);\n         * // Prints example.org\n         *\n         * // Setting the hostname does not change the port\n         * myURL.hostname = 'example.com:82';\n         * console.log(myURL.href);\n         * // Prints https://example.com:81/foo\n         *\n         * // Use myURL.host to change the hostname and port\n         * myURL.host = 'example.org:82';\n         * console.log(myURL.href);\n         * // Prints https://example.org:82/foo\n         * ```\n         *\n         * Invalid host name values assigned to the `hostname` property are ignored.\n         */\n        hostname: string;\n        /**\n         * Gets and sets the serialized URL.\n         *\n         * ```js\n         * const myURL = new URL('https://example.org/foo');\n         * console.log(myURL.href);\n         * // Prints https://example.org/foo\n         *\n         * myURL.href = 'https://example.com/bar';\n         * console.log(myURL.href);\n         * // Prints https://example.com/bar\n         * ```\n         *\n         * Getting the value of the `href` property is equivalent to calling {@link toString}.\n         *\n         * Setting the value of this property to a new value is equivalent to creating a\n         * new `URL` object using `new URL(value)`. Each of the `URL`object's properties will be modified.\n         *\n         * If the value assigned to the `href` property is not a valid URL, a `TypeError`will be thrown.\n         */\n        href: string;\n        /**\n         * Gets the read-only serialization of the URL's origin.\n         *\n         * ```js\n         * const myURL = new URL('https://example.org/foo/bar?baz');\n         * console.log(myURL.origin);\n         * // Prints https://example.org\n         * ```\n         *\n         * ```js\n         * const idnURL = new URL('https://測試');\n         * console.log(idnURL.origin);\n         * // Prints https://xn--g6w251d\n         *\n         * console.log(idnURL.hostname);\n         * // Prints xn--g6w251d\n         * ```\n         */\n        readonly origin: string;\n        /**\n         * Gets and sets the password portion of the URL.\n         *\n         * ```js\n         * const myURL = new URL('https://abc:xyz@example.com');\n         * console.log(myURL.password);\n         * // Prints xyz\n         *\n         * myURL.password = '123';\n         * console.log(myURL.href);\n         * // Prints https://abc:123@example.com\n         * ```\n         *\n         * Invalid URL characters included in the value assigned to the `password` property\n         * are `percent-encoded`. The selection of which characters to\n         * percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.\n         */\n        password: string;\n        /**\n         * Gets and sets the path portion of the URL.\n         *\n         * ```js\n         * const myURL = new URL('https://example.org/abc/xyz?123');\n         * console.log(myURL.pathname);\n         * // Prints /abc/xyz\n         *\n         * myURL.pathname = '/abcdef';\n         * console.log(myURL.href);\n         * // Prints https://example.org/abcdef?123\n         * ```\n         *\n         * Invalid URL characters included in the value assigned to the `pathname` property are `percent-encoded`. The selection of which characters\n         * to percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.\n         */\n        pathname: string;\n        /**\n         * Gets and sets the port portion of the URL.\n         *\n         * The port value may be a number or a string containing a number in the range `0` to `65535` (inclusive). Setting the value to the default port of the `URL` objects given `protocol` will\n         * result in the `port` value becoming\n         * the empty string (`''`).\n         *\n         * The port value can be an empty string in which case the port depends on\n         * the protocol/scheme:\n         *\n         * <omitted>\n         *\n         * Upon assigning a value to the port, the value will first be converted to a\n         * string using `.toString()`.\n         *\n         * If that string is invalid but it begins with a number, the leading number is\n         * assigned to `port`.\n         * If the number lies outside the range denoted above, it is ignored.\n         *\n         * ```js\n         * const myURL = new URL('https://example.org:8888');\n         * console.log(myURL.port);\n         * // Prints 8888\n         *\n         * // Default ports are automatically transformed to the empty string\n         * // (HTTPS protocol's default port is 443)\n         * myURL.port = '443';\n         * console.log(myURL.port);\n         * // Prints the empty string\n         * console.log(myURL.href);\n         * // Prints https://example.org/\n         *\n         * myURL.port = 1234;\n         * console.log(myURL.port);\n         * // Prints 1234\n         * console.log(myURL.href);\n         * // Prints https://example.org:1234/\n         *\n         * // Completely invalid port strings are ignored\n         * myURL.port = 'abcd';\n         * console.log(myURL.port);\n         * // Prints 1234\n         *\n         * // Leading numbers are treated as a port number\n         * myURL.port = '5678abcd';\n         * console.log(myURL.port);\n         * // Prints 5678\n         *\n         * // Non-integers are truncated\n         * myURL.port = 1234.5678;\n         * console.log(myURL.port);\n         * // Prints 1234\n         *\n         * // Out-of-range numbers which are not represented in scientific notation\n         * // will be ignored.\n         * myURL.port = 1e10; // 10000000000, will be range-checked as described below\n         * console.log(myURL.port);\n         * // Prints 1234\n         * ```\n         *\n         * Numbers which contain a decimal point,\n         * such as floating-point numbers or numbers in scientific notation,\n         * are not an exception to this rule.\n         * Leading numbers up to the decimal point will be set as the URL's port,\n         * assuming they are valid:\n         *\n         * ```js\n         * myURL.port = 4.567e21;\n         * console.log(myURL.port);\n         * // Prints 4 (because it is the leading number in the string '4.567e21')\n         * ```\n         */\n        port: string;\n        /**\n         * Gets and sets the protocol portion of the URL.\n         *\n         * ```js\n         * const myURL = new URL('https://example.org');\n         * console.log(myURL.protocol);\n         * // Prints https:\n         *\n         * myURL.protocol = 'ftp';\n         * console.log(myURL.href);\n         * // Prints ftp://example.org/\n         * ```\n         *\n         * Invalid URL protocol values assigned to the `protocol` property are ignored.\n         */\n        protocol: string;\n        /**\n         * Gets and sets the serialized query portion of the URL.\n         *\n         * ```js\n         * const myURL = new URL('https://example.org/abc?123');\n         * console.log(myURL.search);\n         * // Prints ?123\n         *\n         * myURL.search = 'abc=xyz';\n         * console.log(myURL.href);\n         * // Prints https://example.org/abc?abc=xyz\n         * ```\n         *\n         * Any invalid URL characters appearing in the value assigned the `search`property will be `percent-encoded`. The selection of which\n         * characters to percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.\n         */\n        search: string;\n        /**\n         * Gets the `URLSearchParams` object representing the query parameters of the\n         * URL. This property is read-only but the `URLSearchParams` object it provides\n         * can be used to mutate the URL instance; to replace the entirety of query\n         * parameters of the URL, use the {@link search} setter. See `URLSearchParams` documentation for details.\n         *\n         * Use care when using `.searchParams` to modify the `URL` because,\n         * per the WHATWG specification, the `URLSearchParams` object uses\n         * different rules to determine which characters to percent-encode. For\n         * instance, the `URL` object will not percent encode the ASCII tilde (`~`)\n         * character, while `URLSearchParams` will always encode it:\n         *\n         * ```js\n         * const myUrl = new URL('https://example.org/abc?foo=~bar');\n         *\n         * console.log(myUrl.search);  // prints ?foo=~bar\n         *\n         * // Modify the URL via searchParams...\n         * myUrl.searchParams.sort();\n         *\n         * console.log(myUrl.search);  // prints ?foo=%7Ebar\n         * ```\n         */\n        readonly searchParams: URLSearchParams;\n        /**\n         * Gets and sets the username portion of the URL.\n         *\n         * ```js\n         * const myURL = new URL('https://abc:xyz@example.com');\n         * console.log(myURL.username);\n         * // Prints abc\n         *\n         * myURL.username = '123';\n         * console.log(myURL.href);\n         * // Prints https://123:xyz@example.com/\n         * ```\n         *\n         * Any invalid URL characters appearing in the value assigned the `username` property will be `percent-encoded`. The selection of which\n         * characters to percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.\n         */\n        username: string;\n        /**\n         * The `toString()` method on the `URL` object returns the serialized URL. The\n         * value returned is equivalent to that of {@link href} and {@link toJSON}.\n         */\n        toString(): string;\n        /**\n         * The `toJSON()` method on the `URL` object returns the serialized URL. The\n         * value returned is equivalent to that of {@link href} and {@link toString}.\n         *\n         * This method is automatically called when an `URL` object is serialized\n         * with [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify).\n         *\n         * ```js\n         * const myURLs = [\n         *   new URL('https://www.example.com'),\n         *   new URL('https://test.example.org'),\n         * ];\n         * console.log(JSON.stringify(myURLs));\n         * // Prints [\"https://www.example.com/\",\"https://test.example.org/\"]\n         * ```\n         */\n        toJSON(): string;\n    }\n    interface URLSearchParamsIterator<T> extends NodeJS.Iterator<T, NodeJS.BuiltinIteratorReturn, unknown> {\n        [Symbol.iterator](): URLSearchParamsIterator<T>;\n    }\n    /**\n     * The `URLSearchParams` API provides read and write access to the query of a `URL`. The `URLSearchParams` class can also be used standalone with one of the\n     * four following constructors.\n     * The `URLSearchParams` class is also available on the global object.\n     *\n     * The WHATWG `URLSearchParams` interface and the `querystring` module have\n     * similar purpose, but the purpose of the `querystring` module is more\n     * general, as it allows the customization of delimiter characters (`&#x26;` and `=`).\n     * On the other hand, this API is designed purely for URL query strings.\n     *\n     * ```js\n     * const myURL = new URL('https://example.org/?abc=123');\n     * console.log(myURL.searchParams.get('abc'));\n     * // Prints 123\n     *\n     * myURL.searchParams.append('abc', 'xyz');\n     * console.log(myURL.href);\n     * // Prints https://example.org/?abc=123&#x26;abc=xyz\n     *\n     * myURL.searchParams.delete('abc');\n     * myURL.searchParams.set('a', 'b');\n     * console.log(myURL.href);\n     * // Prints https://example.org/?a=b\n     *\n     * const newSearchParams = new URLSearchParams(myURL.searchParams);\n     * // The above is equivalent to\n     * // const newSearchParams = new URLSearchParams(myURL.search);\n     *\n     * newSearchParams.append('a', 'c');\n     * console.log(myURL.href);\n     * // Prints https://example.org/?a=b\n     * console.log(newSearchParams.toString());\n     * // Prints a=b&#x26;a=c\n     *\n     * // newSearchParams.toString() is implicitly called\n     * myURL.search = newSearchParams;\n     * console.log(myURL.href);\n     * // Prints https://example.org/?a=b&#x26;a=c\n     * newSearchParams.delete('a');\n     * console.log(myURL.href);\n     * // Prints https://example.org/?a=b&#x26;a=c\n     * ```\n     * @since v7.5.0, v6.13.0\n     */\n    class URLSearchParams implements Iterable<[string, string]> {\n        constructor(\n            init?:\n                | URLSearchParams\n                | string\n                | Record<string, string | readonly string[]>\n                | Iterable<[string, string]>\n                | ReadonlyArray<[string, string]>,\n        );\n        /**\n         * Append a new name-value pair to the query string.\n         */\n        append(name: string, value: string): void;\n        /**\n         * If `value` is provided, removes all name-value pairs\n         * where name is `name` and value is `value`.\n         *\n         * If `value` is not provided, removes all name-value pairs whose name is `name`.\n         */\n        delete(name: string, value?: string): void;\n        /**\n         * Returns an ES6 `Iterator` over each of the name-value pairs in the query.\n         * Each item of the iterator is a JavaScript `Array`. The first item of the `Array` is the `name`, the second item of the `Array` is the `value`.\n         *\n         * Alias for `urlSearchParams[@@iterator]()`.\n         */\n        entries(): URLSearchParamsIterator<[string, string]>;\n        /**\n         * Iterates over each name-value pair in the query and invokes the given function.\n         *\n         * ```js\n         * const myURL = new URL('https://example.org/?a=b&#x26;c=d');\n         * myURL.searchParams.forEach((value, name, searchParams) => {\n         *   console.log(name, value, myURL.searchParams === searchParams);\n         * });\n         * // Prints:\n         * //   a b true\n         * //   c d true\n         * ```\n         * @param fn Invoked for each name-value pair in the query\n         * @param thisArg To be used as `this` value for when `fn` is called\n         */\n        forEach<TThis = this>(\n            fn: (this: TThis, value: string, name: string, searchParams: URLSearchParams) => void,\n            thisArg?: TThis,\n        ): void;\n        /**\n         * Returns the value of the first name-value pair whose name is `name`. If there\n         * are no such pairs, `null` is returned.\n         * @return or `null` if there is no name-value pair with the given `name`.\n         */\n        get(name: string): string | null;\n        /**\n         * Returns the values of all name-value pairs whose name is `name`. If there are\n         * no such pairs, an empty array is returned.\n         */\n        getAll(name: string): string[];\n        /**\n         * Checks if the `URLSearchParams` object contains key-value pair(s) based on `name` and an optional `value` argument.\n         *\n         * If `value` is provided, returns `true` when name-value pair with\n         * same `name` and `value` exists.\n         *\n         * If `value` is not provided, returns `true` if there is at least one name-value\n         * pair whose name is `name`.\n         */\n        has(name: string, value?: string): boolean;\n        /**\n         * Returns an ES6 `Iterator` over the names of each name-value pair.\n         *\n         * ```js\n         * const params = new URLSearchParams('foo=bar&#x26;foo=baz');\n         * for (const name of params.keys()) {\n         *   console.log(name);\n         * }\n         * // Prints:\n         * //   foo\n         * //   foo\n         * ```\n         */\n        keys(): URLSearchParamsIterator<string>;\n        /**\n         * Sets the value in the `URLSearchParams` object associated with `name` to`value`. If there are any pre-existing name-value pairs whose names are `name`,\n         * set the first such pair's value to `value` and remove all others. If not,\n         * append the name-value pair to the query string.\n         *\n         * ```js\n         * const params = new URLSearchParams();\n         * params.append('foo', 'bar');\n         * params.append('foo', 'baz');\n         * params.append('abc', 'def');\n         * console.log(params.toString());\n         * // Prints foo=bar&#x26;foo=baz&#x26;abc=def\n         *\n         * params.set('foo', 'def');\n         * params.set('xyz', 'opq');\n         * console.log(params.toString());\n         * // Prints foo=def&#x26;abc=def&#x26;xyz=opq\n         * ```\n         */\n        set(name: string, value: string): void;\n        /**\n         * The total number of parameter entries.\n         * @since v18.16.0\n         */\n        readonly size: number;\n        /**\n         * Sort all existing name-value pairs in-place by their names. Sorting is done\n         * with a [stable sorting algorithm](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability), so relative order between name-value pairs\n         * with the same name is preserved.\n         *\n         * This method can be used, in particular, to increase cache hits.\n         *\n         * ```js\n         * const params = new URLSearchParams('query[]=abc&#x26;type=search&#x26;query[]=123');\n         * params.sort();\n         * console.log(params.toString());\n         * // Prints query%5B%5D=abc&#x26;query%5B%5D=123&#x26;type=search\n         * ```\n         * @since v7.7.0, v6.13.0\n         */\n        sort(): void;\n        /**\n         * Returns the search parameters serialized as a string, with characters\n         * percent-encoded where necessary.\n         */\n        toString(): string;\n        /**\n         * Returns an ES6 `Iterator` over the values of each name-value pair.\n         */\n        values(): URLSearchParamsIterator<string>;\n        [Symbol.iterator](): URLSearchParamsIterator<[string, string]>;\n    }\n    import { URL as _URL, URLSearchParams as _URLSearchParams } from \"url\";\n    global {\n        interface URLSearchParams extends _URLSearchParams {}\n        interface URL extends _URL {}\n        interface Global {\n            URL: typeof _URL;\n            URLSearchParams: typeof _URLSearchParams;\n        }\n        /**\n         * `URL` class is a global reference for `import { URL } from 'node:url'`\n         * https://nodejs.org/api/url.html#the-whatwg-url-api\n         * @since v10.0.0\n         */\n        var URL: typeof globalThis extends {\n            onmessage: any;\n            URL: infer T;\n        } ? T\n            : typeof _URL;\n        /**\n         * `URLSearchParams` class is a global reference for `import { URLSearchParams } from 'node:url'`\n         * https://nodejs.org/api/url.html#class-urlsearchparams\n         * @since v10.0.0\n         */\n        var URLSearchParams: typeof globalThis extends {\n            onmessage: any;\n            URLSearchParams: infer T;\n        } ? T\n            : typeof _URLSearchParams;\n    }\n}\ndeclare module \"node:url\" {\n    export * from \"url\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/util.d.ts",
      "content": "/**\n * The `util` module supports the needs of Node.js internal APIs. Many of the\n * utilities are useful for application and module developers as well. To access\n * it:\n *\n * ```js\n * import util from 'node:util';\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.x/lib/util.js)\n */\ndeclare module \"util\" {\n    import * as types from \"node:util/types\";\n    export interface InspectOptions {\n        /**\n         * If `true`, object's non-enumerable symbols and properties are included in the formatted result.\n         * `WeakMap` and `WeakSet` entries are also included as well as user defined prototype properties (excluding method properties).\n         * @default false\n         */\n        showHidden?: boolean | undefined;\n        /**\n         * Specifies the number of times to recurse while formatting object.\n         * This is useful for inspecting large objects.\n         * To recurse up to the maximum call stack size pass `Infinity` or `null`.\n         * @default 2\n         */\n        depth?: number | null | undefined;\n        /**\n         * If `true`, the output is styled with ANSI color codes. Colors are customizable.\n         */\n        colors?: boolean | undefined;\n        /**\n         * If `false`, `[util.inspect.custom](depth, opts, inspect)` functions are not invoked.\n         * @default true\n         */\n        customInspect?: boolean | undefined;\n        /**\n         * If `true`, `Proxy` inspection includes the target and handler objects.\n         * @default false\n         */\n        showProxy?: boolean | undefined;\n        /**\n         * Specifies the maximum number of `Array`, `TypedArray`, `WeakMap`, and `WeakSet` elements\n         * to include when formatting. Set to `null` or `Infinity` to show all elements.\n         * Set to `0` or negative to show no elements.\n         * @default 100\n         */\n        maxArrayLength?: number | null | undefined;\n        /**\n         * Specifies the maximum number of characters to\n         * include when formatting. Set to `null` or `Infinity` to show all elements.\n         * Set to `0` or negative to show no characters.\n         * @default 10000\n         */\n        maxStringLength?: number | null | undefined;\n        /**\n         * The length at which input values are split across multiple lines.\n         * Set to `Infinity` to format the input as a single line\n         * (in combination with `compact` set to `true` or any number >= `1`).\n         * @default 80\n         */\n        breakLength?: number | undefined;\n        /**\n         * Setting this to `false` causes each object key\n         * to be displayed on a new line. It will also add new lines to text that is\n         * longer than `breakLength`. If set to a number, the most `n` inner elements\n         * are united on a single line as long as all properties fit into\n         * `breakLength`. Short array elements are also grouped together. Note that no\n         * text will be reduced below 16 characters, no matter the `breakLength` size.\n         * For more information, see the example below.\n         * @default true\n         */\n        compact?: boolean | number | undefined;\n        /**\n         * If set to `true` or a function, all properties of an object, and `Set` and `Map`\n         * entries are sorted in the resulting string.\n         * If set to `true` the default sort is used.\n         * If set to a function, it is used as a compare function.\n         */\n        sorted?: boolean | ((a: string, b: string) => number) | undefined;\n        /**\n         * If set to `true`, getters are going to be\n         * inspected as well. If set to `'get'` only getters without setter are going\n         * to be inspected. If set to `'set'` only getters having a corresponding\n         * setter are going to be inspected. This might cause side effects depending on\n         * the getter function.\n         * @default false\n         */\n        getters?: \"get\" | \"set\" | boolean | undefined;\n        /**\n         * If set to `true`, an underscore is used to separate every three digits in all bigints and numbers.\n         * @default false\n         */\n        numericSeparator?: boolean | undefined;\n    }\n    export type Style =\n        | \"special\"\n        | \"number\"\n        | \"bigint\"\n        | \"boolean\"\n        | \"undefined\"\n        | \"null\"\n        | \"string\"\n        | \"symbol\"\n        | \"date\"\n        | \"regexp\"\n        | \"module\";\n    export type CustomInspectFunction = (depth: number, options: InspectOptionsStylized) => any; // TODO: , inspect: inspect\n    export interface InspectOptionsStylized extends InspectOptions {\n        stylize(text: string, styleType: Style): string;\n    }\n    /**\n     * The `util.format()` method returns a formatted string using the first argument\n     * as a `printf`\\-like format string which can contain zero or more format\n     * specifiers. Each specifier is replaced with the converted value from the\n     * corresponding argument. Supported specifiers are:\n     *\n     * If a specifier does not have a corresponding argument, it is not replaced:\n     *\n     * ```js\n     * util.format('%s:%s', 'foo');\n     * // Returns: 'foo:%s'\n     * ```\n     *\n     * Values that are not part of the format string are formatted using`util.inspect()` if their type is not `string`.\n     *\n     * If there are more arguments passed to the `util.format()` method than the\n     * number of specifiers, the extra arguments are concatenated to the returned\n     * string, separated by spaces:\n     *\n     * ```js\n     * util.format('%s:%s', 'foo', 'bar', 'baz');\n     * // Returns: 'foo:bar baz'\n     * ```\n     *\n     * If the first argument does not contain a valid format specifier, `util.format()`returns a string that is the concatenation of all arguments separated by spaces:\n     *\n     * ```js\n     * util.format(1, 2, 3);\n     * // Returns: '1 2 3'\n     * ```\n     *\n     * If only one argument is passed to `util.format()`, it is returned as it is\n     * without any formatting:\n     *\n     * ```js\n     * util.format('%% %s');\n     * // Returns: '%% %s'\n     * ```\n     *\n     * `util.format()` is a synchronous method that is intended as a debugging tool.\n     * Some input values can have a significant performance overhead that can block the\n     * event loop. Use this function with care and never in a hot code path.\n     * @since v0.5.3\n     * @param format A `printf`-like format string.\n     */\n    export function format(format?: any, ...param: any[]): string;\n    /**\n     * This function is identical to {@link format}, except in that it takes\n     * an `inspectOptions` argument which specifies options that are passed along to {@link inspect}.\n     *\n     * ```js\n     * util.formatWithOptions({ colors: true }, 'See object %O', { foo: 42 });\n     * // Returns 'See object { foo: 42 }', where `42` is colored as a number\n     * // when printed to a terminal.\n     * ```\n     * @since v10.0.0\n     */\n    export function formatWithOptions(inspectOptions: InspectOptions, format?: any, ...param: any[]): string;\n    /**\n     * Returns the string name for a numeric error code that comes from a Node.js API.\n     * The mapping between error codes and error names is platform-dependent.\n     * See `Common System Errors` for the names of common errors.\n     *\n     * ```js\n     * fs.access('file/that/does/not/exist', (err) => {\n     *   const name = util.getSystemErrorName(err.errno);\n     *   console.error(name);  // ENOENT\n     * });\n     * ```\n     * @since v9.7.0\n     */\n    export function getSystemErrorName(err: number): string;\n    /**\n     * Returns a Map of all system error codes available from the Node.js API.\n     * The mapping between error codes and error names is platform-dependent.\n     * See `Common System Errors` for the names of common errors.\n     *\n     * ```js\n     * fs.access('file/that/does/not/exist', (err) => {\n     *   const errorMap = util.getSystemErrorMap();\n     *   const name = errorMap.get(err.errno);\n     *   console.error(name);  // ENOENT\n     * });\n     * ```\n     * @since v16.0.0, v14.17.0\n     */\n    export function getSystemErrorMap(): Map<number, [string, string]>;\n    /**\n     * The `util.log()` method prints the given `string` to `stdout` with an included\n     * timestamp.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.log('Timestamped message.');\n     * ```\n     * @since v0.3.0\n     * @deprecated Since v6.0.0 - Use a third party module instead.\n     */\n    export function log(string: string): void;\n    /**\n     * Returns the `string` after replacing any surrogate code points\n     * (or equivalently, any unpaired surrogate code units) with the\n     * Unicode \"replacement character\" U+FFFD.\n     * @since v16.8.0, v14.18.0\n     */\n    export function toUSVString(string: string): string;\n    /**\n     * Creates and returns an `AbortController` instance whose `AbortSignal` is marked\n     * as transferable and can be used with `structuredClone()` or `postMessage()`.\n     * @since v18.11.0\n     * @returns A transferable AbortController\n     */\n    export function transferableAbortController(): AbortController;\n    /**\n     * Marks the given {AbortSignal} as transferable so that it can be used with\n     * `structuredClone()` and `postMessage()`.\n     *\n     * ```js\n     * const signal = transferableAbortSignal(AbortSignal.timeout(100));\n     * const channel = new MessageChannel();\n     * channel.port2.postMessage(signal, [signal]);\n     * ```\n     * @since v18.11.0\n     * @param signal The AbortSignal\n     * @returns The same AbortSignal\n     */\n    export function transferableAbortSignal(signal: AbortSignal): AbortSignal;\n    /**\n     * Listens to abort event on the provided `signal` and returns a promise that is fulfilled when the `signal` is aborted.\n     * If the passed `resource` is garbage collected before the `signal` is aborted, the returned promise shall remain pending indefinitely.\n     * @param resource  Any non-null entity, reference to which is held weakly.\n     */\n    export function aborted(signal: AbortSignal, resource: any): Promise<void>;\n    /**\n     * The `util.inspect()` method returns a string representation of `object` that is\n     * intended for debugging. The output of `util.inspect` may change at any time\n     * and should not be depended upon programmatically. Additional `options` may be\n     * passed that alter the result.`util.inspect()` will use the constructor's name and/or `@@toStringTag` to make\n     * an identifiable tag for an inspected value.\n     *\n     * ```js\n     * class Foo {\n     *   get [Symbol.toStringTag]() {\n     *     return 'bar';\n     *   }\n     * }\n     *\n     * class Bar {}\n     *\n     * const baz = Object.create(null, { [Symbol.toStringTag]: { value: 'foo' } });\n     *\n     * util.inspect(new Foo()); // 'Foo [bar] {}'\n     * util.inspect(new Bar()); // 'Bar {}'\n     * util.inspect(baz);       // '[foo] {}'\n     * ```\n     *\n     * Circular references point to their anchor by using a reference index:\n     *\n     * ```js\n     * import { inspect } from 'node:util';\n     *\n     * const obj = {};\n     * obj.a = [obj];\n     * obj.b = {};\n     * obj.b.inner = obj.b;\n     * obj.b.obj = obj;\n     *\n     * console.log(inspect(obj));\n     * // <ref *1> {\n     * //   a: [ [Circular *1] ],\n     * //   b: <ref *2> { inner: [Circular *2], obj: [Circular *1] }\n     * // }\n     * ```\n     *\n     * The following example inspects all properties of the `util` object:\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * console.log(util.inspect(util, { showHidden: true, depth: null }));\n     * ```\n     *\n     * The following example highlights the effect of the `compact` option:\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * const o = {\n     *   a: [1, 2, [[\n     *     'Lorem ipsum dolor sit amet,\\nconsectetur adipiscing elit, sed do ' +\n     *       'eiusmod \\ntempor incididunt ut labore et dolore magna aliqua.',\n     *     'test',\n     *     'foo']], 4],\n     *   b: new Map([['za', 1], ['zb', 'test']])\n     * };\n     * console.log(util.inspect(o, { compact: true, depth: 5, breakLength: 80 }));\n     *\n     * // { a:\n     * //   [ 1,\n     * //     2,\n     * //     [ [ 'Lorem ipsum dolor sit amet,\\nconsectetur [...]', // A long line\n     * //           'test',\n     * //           'foo' ] ],\n     * //     4 ],\n     * //   b: Map(2) { 'za' => 1, 'zb' => 'test' } }\n     *\n     * // Setting `compact` to false or an integer creates more reader friendly output.\n     * console.log(util.inspect(o, { compact: false, depth: 5, breakLength: 80 }));\n     *\n     * // {\n     * //   a: [\n     * //     1,\n     * //     2,\n     * //     [\n     * //       [\n     * //         'Lorem ipsum dolor sit amet,\\n' +\n     * //           'consectetur adipiscing elit, sed do eiusmod \\n' +\n     * //           'tempor incididunt ut labore et dolore magna aliqua.',\n     * //         'test',\n     * //         'foo'\n     * //       ]\n     * //     ],\n     * //     4\n     * //   ],\n     * //   b: Map(2) {\n     * //     'za' => 1,\n     * //     'zb' => 'test'\n     * //   }\n     * // }\n     *\n     * // Setting `breakLength` to e.g. 150 will print the \"Lorem ipsum\" text in a\n     * // single line.\n     * ```\n     *\n     * The `showHidden` option allows [`WeakMap`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap) and\n     * [`WeakSet`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet) entries to be\n     * inspected. If there are more entries than `maxArrayLength`, there is no\n     * guarantee which entries are displayed. That means retrieving the same [`WeakSet`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet) entries twice may\n     * result in different output. Furthermore, entries\n     * with no remaining strong references may be garbage collected at any time.\n     *\n     * ```js\n     * import { inspect } from 'node:util';\n     *\n     * const obj = { a: 1 };\n     * const obj2 = { b: 2 };\n     * const weakSet = new WeakSet([obj, obj2]);\n     *\n     * console.log(inspect(weakSet, { showHidden: true }));\n     * // WeakSet { { a: 1 }, { b: 2 } }\n     * ```\n     *\n     * The `sorted` option ensures that an object's property insertion order does not\n     * impact the result of `util.inspect()`.\n     *\n     * ```js\n     * import { inspect } from 'node:util';\n     * import assert from 'node:assert';\n     *\n     * const o1 = {\n     *   b: [2, 3, 1],\n     *   a: '`a` comes before `b`',\n     *   c: new Set([2, 3, 1])\n     * };\n     * console.log(inspect(o1, { sorted: true }));\n     * // { a: '`a` comes before `b`', b: [ 2, 3, 1 ], c: Set(3) { 1, 2, 3 } }\n     * console.log(inspect(o1, { sorted: (a, b) => b.localeCompare(a) }));\n     * // { c: Set(3) { 3, 2, 1 }, b: [ 2, 3, 1 ], a: '`a` comes before `b`' }\n     *\n     * const o2 = {\n     *   c: new Set([2, 1, 3]),\n     *   a: '`a` comes before `b`',\n     *   b: [2, 3, 1]\n     * };\n     * assert.strict.equal(\n     *   inspect(o1, { sorted: true }),\n     *   inspect(o2, { sorted: true })\n     * );\n     * ```\n     *\n     * The `numericSeparator` option adds an underscore every three digits to all\n     * numbers.\n     *\n     * ```js\n     * import { inspect } from 'node:util';\n     *\n     * const thousand = 1_000;\n     * const million = 1_000_000;\n     * const bigNumber = 123_456_789n;\n     * const bigDecimal = 1_234.123_45;\n     *\n     * console.log(thousand, million, bigNumber, bigDecimal);\n     * // 1_000 1_000_000 123_456_789n 1_234.123_45\n     * ```\n     *\n     * `util.inspect()` is a synchronous method intended for debugging. Its maximum\n     * output length is approximately 128 MB. Inputs that result in longer output will\n     * be truncated.\n     * @since v0.3.0\n     * @param object Any JavaScript primitive or `Object`.\n     * @return The representation of `object`.\n     */\n    export function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string;\n    export function inspect(object: any, options?: InspectOptions): string;\n    export namespace inspect {\n        let colors: NodeJS.Dict<[number, number]>;\n        let styles: {\n            [K in Style]: string;\n        };\n        let defaultOptions: InspectOptions;\n        /**\n         * Allows changing inspect settings from the repl.\n         */\n        let replDefaults: InspectOptions;\n        /**\n         * That can be used to declare custom inspect functions.\n         */\n        const custom: unique symbol;\n    }\n    /**\n     * Alias for [`Array.isArray()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray).\n     *\n     * Returns `true` if the given `object` is an `Array`. Otherwise, returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isArray([]);\n     * // Returns: true\n     * util.isArray(new Array());\n     * // Returns: true\n     * util.isArray({});\n     * // Returns: false\n     * ```\n     * @since v0.6.0\n     * @deprecated Since v4.0.0 - Use `isArray` instead.\n     */\n    export function isArray(object: unknown): object is unknown[];\n    /**\n     * Returns `true` if the given `object` is a `RegExp`. Otherwise, returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isRegExp(/some regexp/);\n     * // Returns: true\n     * util.isRegExp(new RegExp('another regexp'));\n     * // Returns: true\n     * util.isRegExp({});\n     * // Returns: false\n     * ```\n     * @since v0.6.0\n     * @deprecated Since v4.0.0 - Deprecated\n     */\n    export function isRegExp(object: unknown): object is RegExp;\n    /**\n     * Returns `true` if the given `object` is a `Date`. Otherwise, returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isDate(new Date());\n     * // Returns: true\n     * util.isDate(Date());\n     * // false (without 'new' returns a String)\n     * util.isDate({});\n     * // Returns: false\n     * ```\n     * @since v0.6.0\n     * @deprecated Since v4.0.0 - Use {@link types.isDate} instead.\n     */\n    export function isDate(object: unknown): object is Date;\n    /**\n     * Returns `true` if the given `object` is an `Error`. Otherwise, returns`false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isError(new Error());\n     * // Returns: true\n     * util.isError(new TypeError());\n     * // Returns: true\n     * util.isError({ name: 'Error', message: 'an error occurred' });\n     * // Returns: false\n     * ```\n     *\n     * This method relies on `Object.prototype.toString()` behavior. It is\n     * possible to obtain an incorrect result when the `object` argument manipulates`@@toStringTag`.\n     *\n     * ```js\n     * import util from 'node:util';\n     * const obj = { name: 'Error', message: 'an error occurred' };\n     *\n     * util.isError(obj);\n     * // Returns: false\n     * obj[Symbol.toStringTag] = 'Error';\n     * util.isError(obj);\n     * // Returns: true\n     * ```\n     * @since v0.6.0\n     * @deprecated Since v4.0.0 - Use {@link types.isNativeError} instead.\n     */\n    export function isError(object: unknown): object is Error;\n    /**\n     * Usage of `util.inherits()` is discouraged. Please use the ES6 `class` and `extends` keywords to get language level inheritance support. Also note\n     * that the two styles are [semantically incompatible](https://github.com/nodejs/node/issues/4179).\n     *\n     * Inherit the prototype methods from one [constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor) into another. The\n     * prototype of `constructor` will be set to a new object created from`superConstructor`.\n     *\n     * This mainly adds some input validation on top of`Object.setPrototypeOf(constructor.prototype, superConstructor.prototype)`.\n     * As an additional convenience, `superConstructor` will be accessible\n     * through the `constructor.super_` property.\n     *\n     * ```js\n     * import util from 'node:util';\n     * import EventEmitter from 'node:events';\n     *\n     * function MyStream() {\n     *   EventEmitter.call(this);\n     * }\n     *\n     * util.inherits(MyStream, EventEmitter);\n     *\n     * MyStream.prototype.write = function(data) {\n     *   this.emit('data', data);\n     * };\n     *\n     * const stream = new MyStream();\n     *\n     * console.log(stream instanceof EventEmitter); // true\n     * console.log(MyStream.super_ === EventEmitter); // true\n     *\n     * stream.on('data', (data) => {\n     *   console.log(`Received data: \"${data}\"`);\n     * });\n     * stream.write('It works!'); // Received data: \"It works!\"\n     * ```\n     *\n     * ES6 example using `class` and `extends`:\n     *\n     * ```js\n     * import EventEmitter from 'node:events';\n     *\n     * class MyStream extends EventEmitter {\n     *   write(data) {\n     *     this.emit('data', data);\n     *   }\n     * }\n     *\n     * const stream = new MyStream();\n     *\n     * stream.on('data', (data) => {\n     *   console.log(`Received data: \"${data}\"`);\n     * });\n     * stream.write('With ES6');\n     * ```\n     * @since v0.3.0\n     * @legacy Use ES2015 class syntax and `extends` keyword instead.\n     */\n    export function inherits(constructor: unknown, superConstructor: unknown): void;\n    export type DebugLoggerFunction = (msg: string, ...param: unknown[]) => void;\n    export interface DebugLogger extends DebugLoggerFunction {\n        enabled: boolean;\n    }\n    /**\n     * The `util.debuglog()` method is used to create a function that conditionally\n     * writes debug messages to `stderr` based on the existence of the `NODE_DEBUG`environment variable. If the `section` name appears within the value of that\n     * environment variable, then the returned function operates similar to `console.error()`. If not, then the returned function is a no-op.\n     *\n     * ```js\n     * import util from 'node:util';\n     * const debuglog = util.debuglog('foo');\n     *\n     * debuglog('hello from foo [%d]', 123);\n     * ```\n     *\n     * If this program is run with `NODE_DEBUG=foo` in the environment, then\n     * it will output something like:\n     *\n     * ```console\n     * FOO 3245: hello from foo [123]\n     * ```\n     *\n     * where `3245` is the process id. If it is not run with that\n     * environment variable set, then it will not print anything.\n     *\n     * The `section` supports wildcard also:\n     *\n     * ```js\n     * import util from 'node:util';\n     * const debuglog = util.debuglog('foo-bar');\n     *\n     * debuglog('hi there, it\\'s foo-bar [%d]', 2333);\n     * ```\n     *\n     * if it is run with `NODE_DEBUG=foo*` in the environment, then it will output\n     * something like:\n     *\n     * ```console\n     * FOO-BAR 3257: hi there, it's foo-bar [2333]\n     * ```\n     *\n     * Multiple comma-separated `section` names may be specified in the `NODE_DEBUG`environment variable: `NODE_DEBUG=fs,net,tls`.\n     *\n     * The optional `callback` argument can be used to replace the logging function\n     * with a different function that doesn't have any initialization or\n     * unnecessary wrapping.\n     *\n     * ```js\n     * import util from 'node:util';\n     * let debuglog = util.debuglog('internals', (debug) => {\n     *   // Replace with a logging function that optimizes out\n     *   // testing if the section is enabled\n     *   debuglog = debug;\n     * });\n     * ```\n     * @since v0.11.3\n     * @param section A string identifying the portion of the application for which the `debuglog` function is being created.\n     * @param callback A callback invoked the first time the logging function is called with a function argument that is a more optimized logging function.\n     * @return The logging function\n     */\n    export function debuglog(section: string, callback?: (fn: DebugLoggerFunction) => void): DebugLogger;\n    export const debug: typeof debuglog;\n    /**\n     * Returns `true` if the given `object` is a `Boolean`. Otherwise, returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isBoolean(1);\n     * // Returns: false\n     * util.isBoolean(0);\n     * // Returns: false\n     * util.isBoolean(false);\n     * // Returns: true\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Use `typeof value === 'boolean'` instead.\n     */\n    export function isBoolean(object: unknown): object is boolean;\n    /**\n     * Returns `true` if the given `object` is a `Buffer`. Otherwise, returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isBuffer({ length: 0 });\n     * // Returns: false\n     * util.isBuffer([]);\n     * // Returns: false\n     * util.isBuffer(Buffer.from('hello world'));\n     * // Returns: true\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Use `isBuffer` instead.\n     */\n    export function isBuffer(object: unknown): object is Buffer;\n    /**\n     * Returns `true` if the given `object` is a `Function`. Otherwise, returns`false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * function Foo() {}\n     * const Bar = () => {};\n     *\n     * util.isFunction({});\n     * // Returns: false\n     * util.isFunction(Foo);\n     * // Returns: true\n     * util.isFunction(Bar);\n     * // Returns: true\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Use `typeof value === 'function'` instead.\n     */\n    export function isFunction(object: unknown): boolean;\n    /**\n     * Returns `true` if the given `object` is strictly `null`. Otherwise, returns`false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isNull(0);\n     * // Returns: false\n     * util.isNull(undefined);\n     * // Returns: false\n     * util.isNull(null);\n     * // Returns: true\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Use `value === null` instead.\n     */\n    export function isNull(object: unknown): object is null;\n    /**\n     * Returns `true` if the given `object` is `null` or `undefined`. Otherwise,\n     * returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isNullOrUndefined(0);\n     * // Returns: false\n     * util.isNullOrUndefined(undefined);\n     * // Returns: true\n     * util.isNullOrUndefined(null);\n     * // Returns: true\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Use `value === undefined || value === null` instead.\n     */\n    export function isNullOrUndefined(object: unknown): object is null | undefined;\n    /**\n     * Returns `true` if the given `object` is a `Number`. Otherwise, returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isNumber(false);\n     * // Returns: false\n     * util.isNumber(Infinity);\n     * // Returns: true\n     * util.isNumber(0);\n     * // Returns: true\n     * util.isNumber(NaN);\n     * // Returns: true\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Use `typeof value === 'number'` instead.\n     */\n    export function isNumber(object: unknown): object is number;\n    /**\n     * Returns `true` if the given `object` is strictly an `Object`**and** not a`Function` (even though functions are objects in JavaScript).\n     * Otherwise, returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isObject(5);\n     * // Returns: false\n     * util.isObject(null);\n     * // Returns: false\n     * util.isObject({});\n     * // Returns: true\n     * util.isObject(() => {});\n     * // Returns: false\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Deprecated: Use `value !== null && typeof value === 'object'` instead.\n     */\n    export function isObject(object: unknown): boolean;\n    /**\n     * Returns `true` if the given `object` is a primitive type. Otherwise, returns`false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isPrimitive(5);\n     * // Returns: true\n     * util.isPrimitive('foo');\n     * // Returns: true\n     * util.isPrimitive(false);\n     * // Returns: true\n     * util.isPrimitive(null);\n     * // Returns: true\n     * util.isPrimitive(undefined);\n     * // Returns: true\n     * util.isPrimitive({});\n     * // Returns: false\n     * util.isPrimitive(() => {});\n     * // Returns: false\n     * util.isPrimitive(/^$/);\n     * // Returns: false\n     * util.isPrimitive(new Date());\n     * // Returns: false\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Use `(typeof value !== 'object' && typeof value !== 'function') || value === null` instead.\n     */\n    export function isPrimitive(object: unknown): boolean;\n    /**\n     * Returns `true` if the given `object` is a `string`. Otherwise, returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isString('');\n     * // Returns: true\n     * util.isString('foo');\n     * // Returns: true\n     * util.isString(String('foo'));\n     * // Returns: true\n     * util.isString(5);\n     * // Returns: false\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Use `typeof value === 'string'` instead.\n     */\n    export function isString(object: unknown): object is string;\n    /**\n     * Returns `true` if the given `object` is a `Symbol`. Otherwise, returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * util.isSymbol(5);\n     * // Returns: false\n     * util.isSymbol('foo');\n     * // Returns: false\n     * util.isSymbol(Symbol('foo'));\n     * // Returns: true\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Use `typeof value === 'symbol'` instead.\n     */\n    export function isSymbol(object: unknown): object is symbol;\n    /**\n     * Returns `true` if the given `object` is `undefined`. Otherwise, returns `false`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * const foo = undefined;\n     * util.isUndefined(5);\n     * // Returns: false\n     * util.isUndefined(foo);\n     * // Returns: true\n     * util.isUndefined(null);\n     * // Returns: false\n     * ```\n     * @since v0.11.5\n     * @deprecated Since v4.0.0 - Use `value === undefined` instead.\n     */\n    export function isUndefined(object: unknown): object is undefined;\n    /**\n     * The `util.deprecate()` method wraps `fn` (which may be a function or class) in\n     * such a way that it is marked as deprecated.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * exports.obsoleteFunction = util.deprecate(() => {\n     *   // Do something here.\n     * }, 'obsoleteFunction() is deprecated. Use newShinyFunction() instead.');\n     * ```\n     *\n     * When called, `util.deprecate()` will return a function that will emit a`DeprecationWarning` using the `'warning'` event. The warning will\n     * be emitted and printed to `stderr` the first time the returned function is\n     * called. After the warning is emitted, the wrapped function is called without\n     * emitting a warning.\n     *\n     * If the same optional `code` is supplied in multiple calls to `util.deprecate()`,\n     * the warning will be emitted only once for that `code`.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * const fn1 = util.deprecate(someFunction, someMessage, 'DEP0001');\n     * const fn2 = util.deprecate(someOtherFunction, someOtherMessage, 'DEP0001');\n     * fn1(); // Emits a deprecation warning with code DEP0001\n     * fn2(); // Does not emit a deprecation warning because it has the same code\n     * ```\n     *\n     * If either the `--no-deprecation` or `--no-warnings` command-line flags are\n     * used, or if the `process.noDeprecation` property is set to `true`_prior_ to\n     * the first deprecation warning, the `util.deprecate()` method does nothing.\n     *\n     * If the `--trace-deprecation` or `--trace-warnings` command-line flags are set,\n     * or the `process.traceDeprecation` property is set to `true`, a warning and a\n     * stack trace are printed to `stderr` the first time the deprecated function is\n     * called.\n     *\n     * If the `--throw-deprecation` command-line flag is set, or the`process.throwDeprecation` property is set to `true`, then an exception will be\n     * thrown when the deprecated function is called.\n     *\n     * The `--throw-deprecation` command-line flag and `process.throwDeprecation` property take precedence over `--trace-deprecation` and `process.traceDeprecation`.\n     * @since v0.8.0\n     * @param fn The function that is being deprecated.\n     * @param msg A warning message to display when the deprecated function is invoked.\n     * @param code A deprecation code. See the `list of deprecated APIs` for a list of codes.\n     * @return The deprecated function wrapped to emit a warning.\n     */\n    export function deprecate<T extends Function>(fn: T, msg: string, code?: string): T;\n    /**\n     * Returns `true` if there is deep strict equality between `val1` and `val2`.\n     * Otherwise, returns `false`.\n     *\n     * See `assert.deepStrictEqual()` for more information about deep strict\n     * equality.\n     * @since v9.0.0\n     */\n    export function isDeepStrictEqual(val1: unknown, val2: unknown): boolean;\n    /**\n     * Returns `str` with any ANSI escape codes removed.\n     *\n     * ```js\n     * console.log(util.stripVTControlCharacters('\\u001B[4mvalue\\u001B[0m'));\n     * // Prints \"value\"\n     * ```\n     * @since v16.11.0\n     */\n    export function stripVTControlCharacters(str: string): string;\n    /**\n     * Takes an `async` function (or a function that returns a `Promise`) and returns a\n     * function following the error-first callback style, i.e. taking\n     * an `(err, value) => ...` callback as the last argument. In the callback, the\n     * first argument will be the rejection reason (or `null` if the `Promise`resolved), and the second argument will be the resolved value.\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * async function fn() {\n     *   return 'hello world';\n     * }\n     * const callbackFunction = util.callbackify(fn);\n     *\n     * callbackFunction((err, ret) => {\n     *   if (err) throw err;\n     *   console.log(ret);\n     * });\n     * ```\n     *\n     * Will print:\n     *\n     * ```text\n     * hello world\n     * ```\n     *\n     * The callback is executed asynchronously, and will have a limited stack trace.\n     * If the callback throws, the process will emit an `'uncaughtException'` event, and if not handled will exit.\n     *\n     * Since `null` has a special meaning as the first argument to a callback, if a\n     * wrapped function rejects a `Promise` with a falsy value as a reason, the value\n     * is wrapped in an `Error` with the original value stored in a field named`reason`.\n     *\n     * ```js\n     * function fn() {\n     *   return Promise.reject(null);\n     * }\n     * const callbackFunction = util.callbackify(fn);\n     *\n     * callbackFunction((err, ret) => {\n     *   // When the Promise was rejected with `null` it is wrapped with an Error and\n     *   // the original value is stored in `reason`.\n     *   err &#x26;&#x26; Object.hasOwn(err, 'reason') &#x26;&#x26; err.reason === null;  // true\n     * });\n     * ```\n     * @since v8.2.0\n     * @param fn An `async` function\n     * @return a callback style function\n     */\n    export function callbackify(fn: () => Promise<void>): (callback: (err: NodeJS.ErrnoException) => void) => void;\n    export function callbackify<TResult>(\n        fn: () => Promise<TResult>,\n    ): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void;\n    export function callbackify<T1>(\n        fn: (arg1: T1) => Promise<void>,\n    ): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void;\n    export function callbackify<T1, TResult>(\n        fn: (arg1: T1) => Promise<TResult>,\n    ): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void;\n    export function callbackify<T1, T2>(\n        fn: (arg1: T1, arg2: T2) => Promise<void>,\n    ): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void;\n    export function callbackify<T1, T2, TResult>(\n        fn: (arg1: T1, arg2: T2) => Promise<TResult>,\n    ): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void;\n    export function callbackify<T1, T2, T3>(\n        fn: (arg1: T1, arg2: T2, arg3: T3) => Promise<void>,\n    ): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void;\n    export function callbackify<T1, T2, T3, TResult>(\n        fn: (arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>,\n    ): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void;\n    export function callbackify<T1, T2, T3, T4>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>,\n    ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void;\n    export function callbackify<T1, T2, T3, T4, TResult>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>,\n    ): (\n        arg1: T1,\n        arg2: T2,\n        arg3: T3,\n        arg4: T4,\n        callback: (err: NodeJS.ErrnoException | null, result: TResult) => void,\n    ) => void;\n    export function callbackify<T1, T2, T3, T4, T5>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>,\n    ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void;\n    export function callbackify<T1, T2, T3, T4, T5, TResult>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>,\n    ): (\n        arg1: T1,\n        arg2: T2,\n        arg3: T3,\n        arg4: T4,\n        arg5: T5,\n        callback: (err: NodeJS.ErrnoException | null, result: TResult) => void,\n    ) => void;\n    export function callbackify<T1, T2, T3, T4, T5, T6>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>,\n    ): (\n        arg1: T1,\n        arg2: T2,\n        arg3: T3,\n        arg4: T4,\n        arg5: T5,\n        arg6: T6,\n        callback: (err: NodeJS.ErrnoException) => void,\n    ) => void;\n    export function callbackify<T1, T2, T3, T4, T5, T6, TResult>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>,\n    ): (\n        arg1: T1,\n        arg2: T2,\n        arg3: T3,\n        arg4: T4,\n        arg5: T5,\n        arg6: T6,\n        callback: (err: NodeJS.ErrnoException | null, result: TResult) => void,\n    ) => void;\n    export interface CustomPromisifyLegacy<TCustom extends Function> extends Function {\n        __promisify__: TCustom;\n    }\n    export interface CustomPromisifySymbol<TCustom extends Function> extends Function {\n        [promisify.custom]: TCustom;\n    }\n    export type CustomPromisify<TCustom extends Function> =\n        | CustomPromisifySymbol<TCustom>\n        | CustomPromisifyLegacy<TCustom>;\n    /**\n     * Takes a function following the common error-first callback style, i.e. taking\n     * an `(err, value) => ...` callback as the last argument, and returns a version\n     * that returns promises.\n     *\n     * ```js\n     * import util from 'node:util';\n     * import fs from 'node:fs';\n     *\n     * const stat = util.promisify(fs.stat);\n     * stat('.').then((stats) => {\n     *   // Do something with `stats`\n     * }).catch((error) => {\n     *   // Handle the error.\n     * });\n     * ```\n     *\n     * Or, equivalently using `async function`s:\n     *\n     * ```js\n     * import util from 'node:util';\n     * import fs from 'node:fs';\n     *\n     * const stat = util.promisify(fs.stat);\n     *\n     * async function callStat() {\n     *   const stats = await stat('.');\n     *   console.log(`This directory is owned by ${stats.uid}`);\n     * }\n     * ```\n     *\n     * If there is an `original[util.promisify.custom]` property present, `promisify`will return its value, see `Custom promisified functions`.\n     *\n     * `promisify()` assumes that `original` is a function taking a callback as its\n     * final argument in all cases. If `original` is not a function, `promisify()`will throw an error. If `original` is a function but its last argument is not\n     * an error-first callback, it will still be passed an error-first\n     * callback as its last argument.\n     *\n     * Using `promisify()` on class methods or other methods that use `this` may not\n     * work as expected unless handled specially:\n     *\n     * ```js\n     * import util from 'node:util';\n     *\n     * class Foo {\n     *   constructor() {\n     *     this.a = 42;\n     *   }\n     *\n     *   bar(callback) {\n     *     callback(null, this.a);\n     *   }\n     * }\n     *\n     * const foo = new Foo();\n     *\n     * const naiveBar = util.promisify(foo.bar);\n     * // TypeError: Cannot read property 'a' of undefined\n     * // naiveBar().then(a => console.log(a));\n     *\n     * naiveBar.call(foo).then((a) => console.log(a)); // '42'\n     *\n     * const bindBar = naiveBar.bind(foo);\n     * bindBar().then((a) => console.log(a)); // '42'\n     * ```\n     * @since v8.0.0\n     */\n    export function promisify<TCustom extends Function>(fn: CustomPromisify<TCustom>): TCustom;\n    export function promisify<TResult>(\n        fn: (callback: (err: any, result: TResult) => void) => void,\n    ): () => Promise<TResult>;\n    export function promisify(fn: (callback: (err?: any) => void) => void): () => Promise<void>;\n    export function promisify<T1, TResult>(\n        fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void,\n    ): (arg1: T1) => Promise<TResult>;\n    export function promisify<T1>(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise<void>;\n    export function promisify<T1, T2, TResult>(\n        fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void,\n    ): (arg1: T1, arg2: T2) => Promise<TResult>;\n    export function promisify<T1, T2>(\n        fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void,\n    ): (arg1: T1, arg2: T2) => Promise<void>;\n    export function promisify<T1, T2, T3, TResult>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void,\n    ): (arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>;\n    export function promisify<T1, T2, T3>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void,\n    ): (arg1: T1, arg2: T2, arg3: T3) => Promise<void>;\n    export function promisify<T1, T2, T3, T4, TResult>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void,\n    ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>;\n    export function promisify<T1, T2, T3, T4>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void,\n    ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>;\n    export function promisify<T1, T2, T3, T4, T5, TResult>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void,\n    ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>;\n    export function promisify<T1, T2, T3, T4, T5>(\n        fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void,\n    ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>;\n    export function promisify(fn: Function): Function;\n    export namespace promisify {\n        /**\n         * That can be used to declare custom promisified variants of functions.\n         */\n        const custom: unique symbol;\n    }\n    /**\n     * An implementation of the [WHATWG Encoding Standard](https://encoding.spec.whatwg.org/) `TextDecoder` API.\n     *\n     * ```js\n     * const decoder = new TextDecoder();\n     * const u8arr = new Uint8Array([72, 101, 108, 108, 111]);\n     * console.log(decoder.decode(u8arr)); // Hello\n     * ```\n     * @since v8.3.0\n     */\n    export class TextDecoder {\n        /**\n         * The encoding supported by the `TextDecoder` instance.\n         */\n        readonly encoding: string;\n        /**\n         * The value will be `true` if decoding errors result in a `TypeError` being\n         * thrown.\n         */\n        readonly fatal: boolean;\n        /**\n         * The value will be `true` if the decoding result will include the byte order\n         * mark.\n         */\n        readonly ignoreBOM: boolean;\n        constructor(\n            encoding?: string,\n            options?: {\n                fatal?: boolean | undefined;\n                ignoreBOM?: boolean | undefined;\n            },\n        );\n        /**\n         * Decodes the `input` and returns a string. If `options.stream` is `true`, any\n         * incomplete byte sequences occurring at the end of the `input` are buffered\n         * internally and emitted after the next call to `textDecoder.decode()`.\n         *\n         * If `textDecoder.fatal` is `true`, decoding errors that occur will result in a`TypeError` being thrown.\n         * @param input An `ArrayBuffer`, `DataView` or `TypedArray` instance containing the encoded data.\n         */\n        decode(\n            input?: NodeJS.ArrayBufferView | ArrayBuffer | null,\n            options?: {\n                stream?: boolean | undefined;\n            },\n        ): string;\n    }\n    export interface EncodeIntoResult {\n        /**\n         * The read Unicode code units of input.\n         */\n        read: number;\n        /**\n         * The written UTF-8 bytes of output.\n         */\n        written: number;\n    }\n    export { types };\n\n    //// TextEncoder/Decoder\n    /**\n     * An implementation of the [WHATWG Encoding Standard](https://encoding.spec.whatwg.org/) `TextEncoder` API. All\n     * instances of `TextEncoder` only support UTF-8 encoding.\n     *\n     * ```js\n     * const encoder = new TextEncoder();\n     * const uint8array = encoder.encode('this is some data');\n     * ```\n     *\n     * The `TextEncoder` class is also available on the global object.\n     * @since v8.3.0\n     */\n    export class TextEncoder {\n        /**\n         * The encoding supported by the `TextEncoder` instance. Always set to `'utf-8'`.\n         */\n        readonly encoding: string;\n        /**\n         * UTF-8 encodes the `input` string and returns a `Uint8Array` containing the\n         * encoded bytes.\n         * @param [input='an empty string'] The text to encode.\n         */\n        encode(input?: string): Uint8Array;\n        /**\n         * UTF-8 encodes the `src` string to the `dest` Uint8Array and returns an object\n         * containing the read Unicode code units and written UTF-8 bytes.\n         *\n         * ```js\n         * const encoder = new TextEncoder();\n         * const src = 'this is some data';\n         * const dest = new Uint8Array(10);\n         * const { read, written } = encoder.encodeInto(src, dest);\n         * ```\n         * @param src The text to encode.\n         * @param dest The array to hold the encode result.\n         */\n        encodeInto(src: string, dest: Uint8Array): EncodeIntoResult;\n    }\n\n    import { TextDecoder as _TextDecoder, TextEncoder as _TextEncoder } from \"util\";\n    global {\n        /**\n         * `TextDecoder` class is a global reference for `import { TextDecoder } from 'node:util'`\n         * https://nodejs.org/api/globals.html#textdecoder\n         * @since v11.0.0\n         */\n        var TextDecoder: typeof globalThis extends {\n            onmessage: any;\n            TextDecoder: infer TextDecoder;\n        } ? TextDecoder\n            : typeof _TextDecoder;\n\n        /**\n         * `TextEncoder` class is a global reference for `import { TextEncoder } from 'node:util'`\n         * https://nodejs.org/api/globals.html#textencoder\n         * @since v11.0.0\n         */\n        var TextEncoder: typeof globalThis extends {\n            onmessage: any;\n            TextEncoder: infer TextEncoder;\n        } ? TextEncoder\n            : typeof _TextEncoder;\n    }\n\n    //// parseArgs\n    /**\n     * Provides a high-level API for command-line argument parsing. Takes a\n     * specification for the expected arguments and returns a structured object\n     * with the parsed values and positionals.\n     *\n     * `config` provides arguments for parsing and configures the parser. It\n     * supports the following properties:\n     *\n     *   - `args` The array of argument strings. **Default:** `process.argv` with\n     *     `execPath` and `filename` removed.\n     *   - `options` Arguments known to the parser. Keys of `options` are the long\n     *     names of options and values are objects accepting the following properties:\n     *\n     *     - `type` Type of argument, which must be either `boolean` (for options\n     *        which do not take values) or `string` (for options which do).\n     *     - `multiple` Whether this option can be provided multiple\n     *       times. If `true`, all values will be collected in an array. If\n     *       `false`, values for the option are last-wins. **Default:** `false`.\n     *     - `short` A single character alias for the option.\n     *     - `default` The default option value when it is not set by args. It\n     *       must be of the same type as the `type` property. When `multiple`\n     *       is `true`, it must be an array.\n     *\n     *   - `strict`: Whether an error should be thrown when unknown arguments\n     *     are encountered, or when arguments are passed that do not match the\n     *     `type` configured in `options`. **Default:** `true`.\n     *   - `allowPositionals`: Whether this command accepts positional arguments.\n     *     **Default:** `false` if `strict` is `true`, otherwise `true`.\n     *   - `tokens`: Whether tokens {boolean} Return the parsed tokens. This is useful\n     *     for extending the built-in behavior, from adding additional checks through\n     *     to reprocessing the tokens in different ways.\n     *     **Default:** `false`.\n     *\n     * @returns The parsed command line arguments:\n     *\n     *   - `values` A mapping of parsed option names with their string\n     *     or boolean values.\n     *   - `positionals` Positional arguments.\n     *   - `tokens` Detailed parse information (only if `tokens` was specified).\n     */\n    export function parseArgs<T extends ParseArgsConfig>(config?: T): ParsedResults<T>;\n\n    interface ParseArgsOptionConfig {\n        /**\n         * Type of argument.\n         */\n        type: \"string\" | \"boolean\";\n        /**\n         * Whether this option can be provided multiple times.\n         * If `true`, all values will be collected in an array.\n         * If `false`, values for the option are last-wins.\n         * @default false.\n         */\n        multiple?: boolean | undefined;\n        /**\n         * A single character alias for the option.\n         */\n        short?: string | undefined;\n        /**\n         * The default option value when it is not set by args.\n         * It must be of the same type as the the `type` property.\n         * When `multiple` is `true`, it must be an array.\n         * @since v18.11.0\n         */\n        default?: string | boolean | string[] | boolean[] | undefined;\n    }\n\n    interface ParseArgsOptionsConfig {\n        [longOption: string]: ParseArgsOptionConfig;\n    }\n\n    export interface ParseArgsConfig {\n        /**\n         * Array of argument strings.\n         */\n        args?: string[] | undefined;\n        /**\n         * Used to describe arguments known to the parser.\n         */\n        options?: ParseArgsOptionsConfig | undefined;\n        /**\n         * Should an error be thrown when unknown arguments are encountered,\n         * or when arguments are passed that do not match the `type` configured in `options`.\n         * @default true\n         */\n        strict?: boolean | undefined;\n        /**\n         * Whether this command accepts positional arguments.\n         */\n        allowPositionals?: boolean | undefined;\n        /**\n         * Return the parsed tokens. This is useful for extending the built-in behavior,\n         * from adding additional checks through to reprocessing the tokens in different ways.\n         * @default false\n         */\n        tokens?: boolean | undefined;\n    }\n\n    /*\n    IfDefaultsTrue and IfDefaultsFalse are helpers to handle default values for missing boolean properties.\n    TypeScript does not have exact types for objects: https://github.com/microsoft/TypeScript/issues/12936\n    This means it is impossible to distinguish between \"field X is definitely not present\" and \"field X may or may not be present\".\n    But we expect users to generally provide their config inline or `as const`, which means TS will always know whether a given field is present.\n    So this helper treats \"not definitely present\" (i.e., not `extends boolean`) as being \"definitely not present\", i.e. it should have its default value.\n    This is technically incorrect but is a much nicer UX for the common case.\n    The IfDefaultsTrue version is for things which default to true; the IfDefaultsFalse version is for things which default to false.\n    */\n    type IfDefaultsTrue<T, IfTrue, IfFalse> = T extends true ? IfTrue\n        : T extends false ? IfFalse\n        : IfTrue;\n\n    // we put the `extends false` condition first here because `undefined` compares like `any` when `strictNullChecks: false`\n    type IfDefaultsFalse<T, IfTrue, IfFalse> = T extends false ? IfFalse\n        : T extends true ? IfTrue\n        : IfFalse;\n\n    type ExtractOptionValue<T extends ParseArgsConfig, O extends ParseArgsOptionConfig> = IfDefaultsTrue<\n        T[\"strict\"],\n        O[\"type\"] extends \"string\" ? string : O[\"type\"] extends \"boolean\" ? boolean : string | boolean,\n        string | boolean\n    >;\n\n    type ApplyOptionalModifiers<O extends ParseArgsOptionsConfig, V extends Record<keyof O, unknown>> = (\n        & { -readonly [LongOption in keyof O]?: V[LongOption] }\n        & { [LongOption in keyof O as O[LongOption][\"default\"] extends {} ? LongOption : never]: V[LongOption] }\n    ) extends infer P ? { [K in keyof P]: P[K] } : never; // resolve intersection to object\n\n    type ParsedValues<T extends ParseArgsConfig> =\n        & IfDefaultsTrue<T[\"strict\"], unknown, { [longOption: string]: undefined | string | boolean }>\n        & (T[\"options\"] extends ParseArgsOptionsConfig ? ApplyOptionalModifiers<\n                T[\"options\"],\n                {\n                    [LongOption in keyof T[\"options\"]]: IfDefaultsFalse<\n                        T[\"options\"][LongOption][\"multiple\"],\n                        Array<ExtractOptionValue<T, T[\"options\"][LongOption]>>,\n                        ExtractOptionValue<T, T[\"options\"][LongOption]>\n                    >;\n                }\n            >\n            : {});\n\n    type ParsedPositionals<T extends ParseArgsConfig> = IfDefaultsTrue<\n        T[\"strict\"],\n        IfDefaultsFalse<T[\"allowPositionals\"], string[], []>,\n        IfDefaultsTrue<T[\"allowPositionals\"], string[], []>\n    >;\n\n    type PreciseTokenForOptions<\n        K extends string,\n        O extends ParseArgsOptionConfig,\n    > = O[\"type\"] extends \"string\" ? {\n            kind: \"option\";\n            index: number;\n            name: K;\n            rawName: string;\n            value: string;\n            inlineValue: boolean;\n        }\n        : O[\"type\"] extends \"boolean\" ? {\n                kind: \"option\";\n                index: number;\n                name: K;\n                rawName: string;\n                value: undefined;\n                inlineValue: undefined;\n            }\n        : OptionToken & { name: K };\n\n    type TokenForOptions<\n        T extends ParseArgsConfig,\n        K extends keyof T[\"options\"] = keyof T[\"options\"],\n    > = K extends unknown\n        ? T[\"options\"] extends ParseArgsOptionsConfig ? PreciseTokenForOptions<K & string, T[\"options\"][K]>\n        : OptionToken\n        : never;\n\n    type ParsedOptionToken<T extends ParseArgsConfig> = IfDefaultsTrue<T[\"strict\"], TokenForOptions<T>, OptionToken>;\n\n    type ParsedPositionalToken<T extends ParseArgsConfig> = IfDefaultsTrue<\n        T[\"strict\"],\n        IfDefaultsFalse<T[\"allowPositionals\"], { kind: \"positional\"; index: number; value: string }, never>,\n        IfDefaultsTrue<T[\"allowPositionals\"], { kind: \"positional\"; index: number; value: string }, never>\n    >;\n\n    type ParsedTokens<T extends ParseArgsConfig> = Array<\n        ParsedOptionToken<T> | ParsedPositionalToken<T> | { kind: \"option-terminator\"; index: number }\n    >;\n\n    type PreciseParsedResults<T extends ParseArgsConfig> = IfDefaultsFalse<\n        T[\"tokens\"],\n        {\n            values: ParsedValues<T>;\n            positionals: ParsedPositionals<T>;\n            tokens: ParsedTokens<T>;\n        },\n        {\n            values: ParsedValues<T>;\n            positionals: ParsedPositionals<T>;\n        }\n    >;\n\n    type OptionToken =\n        | { kind: \"option\"; index: number; name: string; rawName: string; value: string; inlineValue: boolean }\n        | {\n            kind: \"option\";\n            index: number;\n            name: string;\n            rawName: string;\n            value: undefined;\n            inlineValue: undefined;\n        };\n\n    type Token =\n        | OptionToken\n        | { kind: \"positional\"; index: number; value: string }\n        | { kind: \"option-terminator\"; index: number };\n\n    // If ParseArgsConfig extends T, then the user passed config constructed elsewhere.\n    // So we can't rely on the `\"not definitely present\" implies \"definitely not present\"` assumption mentioned above.\n    type ParsedResults<T extends ParseArgsConfig> = ParseArgsConfig extends T ? {\n            values: { [longOption: string]: undefined | string | boolean | Array<string | boolean> };\n            positionals: string[];\n            tokens?: Token[];\n        }\n        : PreciseParsedResults<T>;\n\n    /**\n     * @since v18.13.0\n     */\n    export class MIMEType {\n        /**\n         * Creates a new MIMEType object by parsing the input.\n         *\n         * A `TypeError` will be thrown if the `input` is not a valid MIME.\n         * Note that an effort will be made to coerce the given values into strings.\n         * @param input The input MIME to parse.\n         */\n        constructor(input: string | { toString: () => string });\n\n        /**\n         * Gets and sets the type portion of the MIME.\n         */\n        type: string;\n\n        /**\n         * Gets and sets the subtype portion of the MIME.\n         */\n        subtype: string;\n\n        /**\n         * Gets the essence of the MIME.\n         *\n         * Use `mime.type` or `mime.subtype` to alter the MIME.\n         */\n        readonly essence: string;\n\n        /**\n         * Gets the `MIMEParams` object representing the parameters of the MIME.\n         */\n        readonly params: MIMEParams;\n\n        /**\n         * Returns the serialized MIME.\n         *\n         * Because of the need for standard compliance, this method\n         * does not allow users to customize the serialization process of the MIME.\n         */\n        toString(): string;\n    }\n\n    /**\n     * @since v18.13.0\n     */\n    export class MIMEParams {\n        /**\n         * Remove all name-value pairs whose name is `name`.\n         */\n        delete(name: string): void;\n        /**\n         * Returns an iterator over each of the name-value pairs in the parameters.\n         */\n        entries(): NodeJS.Iterator<[name: string, value: string]>;\n        /**\n         * Returns the value of the first name-value pair whose name is `name`.\n         * If there are no such pairs, `null` is returned.\n         */\n        get(name: string): string | null;\n        /**\n         * Returns `true` if there is at least one name-value pair whose name is `name`.\n         */\n        has(name: string): boolean;\n        /**\n         * Returns an iterator over the names of each name-value pair.\n         */\n        keys(): NodeJS.Iterator<string>;\n        /**\n         * Sets the value in the `MIMEParams` object associated with `name` to `value`.\n         * If there are any pre-existing name-value pairs whose names are `name`,\n         * set the first such pair's value to `value`.\n         */\n        set(name: string, value: string): void;\n        /**\n         * Returns an iterator over the values of each name-value pair.\n         */\n        values(): NodeJS.Iterator<string>;\n        /**\n         * Returns an iterator over each of the name-value pairs in the parameters.\n         */\n        [Symbol.iterator](): NodeJS.Iterator<[name: string, value: string]>;\n    }\n}\ndeclare module \"util/types\" {\n    import { KeyObject, webcrypto } from \"node:crypto\";\n    /**\n     * Returns `true` if the value is a built-in [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) or\n     * [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) instance.\n     *\n     * See also `util.types.isArrayBuffer()` and `util.types.isSharedArrayBuffer()`.\n     *\n     * ```js\n     * util.types.isAnyArrayBuffer(new ArrayBuffer());  // Returns true\n     * util.types.isAnyArrayBuffer(new SharedArrayBuffer());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isAnyArrayBuffer(object: unknown): object is ArrayBufferLike;\n    /**\n     * Returns `true` if the value is an `arguments` object.\n     *\n     * ```js\n     * function foo() {\n     *   util.types.isArgumentsObject(arguments);  // Returns true\n     * }\n     * ```\n     * @since v10.0.0\n     */\n    function isArgumentsObject(object: unknown): object is IArguments;\n    /**\n     * Returns `true` if the value is a built-in [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) instance.\n     * This does _not_ include [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) instances. Usually, it is\n     * desirable to test for both; See `util.types.isAnyArrayBuffer()` for that.\n     *\n     * ```js\n     * util.types.isArrayBuffer(new ArrayBuffer());  // Returns true\n     * util.types.isArrayBuffer(new SharedArrayBuffer());  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isArrayBuffer(object: unknown): object is ArrayBuffer;\n    /**\n     * Returns `true` if the value is an instance of one of the [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) views, such as typed\n     * array objects or [`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView). Equivalent to\n     * [`ArrayBuffer.isView()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView).\n     *\n     * ```js\n     * util.types.isArrayBufferView(new Int8Array());  // true\n     * util.types.isArrayBufferView(Buffer.from('hello world')); // true\n     * util.types.isArrayBufferView(new DataView(new ArrayBuffer(16)));  // true\n     * util.types.isArrayBufferView(new ArrayBuffer());  // false\n     * ```\n     * @since v10.0.0\n     */\n    function isArrayBufferView(object: unknown): object is NodeJS.ArrayBufferView;\n    /**\n     * Returns `true` if the value is an [async function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function).\n     * This only reports back what the JavaScript engine is seeing;\n     * in particular, the return value may not match the original source code if\n     * a transpilation tool was used.\n     *\n     * ```js\n     * util.types.isAsyncFunction(function foo() {});  // Returns false\n     * util.types.isAsyncFunction(async function foo() {});  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isAsyncFunction(object: unknown): boolean;\n    /**\n     * Returns `true` if the value is a `BigInt64Array` instance.\n     *\n     * ```js\n     * util.types.isBigInt64Array(new BigInt64Array());   // Returns true\n     * util.types.isBigInt64Array(new BigUint64Array());  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isBigInt64Array(value: unknown): value is BigInt64Array;\n    /**\n     * Returns `true` if the value is a `BigUint64Array` instance.\n     *\n     * ```js\n     * util.types.isBigUint64Array(new BigInt64Array());   // Returns false\n     * util.types.isBigUint64Array(new BigUint64Array());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isBigUint64Array(value: unknown): value is BigUint64Array;\n    /**\n     * Returns `true` if the value is a boolean object, e.g. created\n     * by `new Boolean()`.\n     *\n     * ```js\n     * util.types.isBooleanObject(false);  // Returns false\n     * util.types.isBooleanObject(true);   // Returns false\n     * util.types.isBooleanObject(new Boolean(false)); // Returns true\n     * util.types.isBooleanObject(new Boolean(true));  // Returns true\n     * util.types.isBooleanObject(Boolean(false)); // Returns false\n     * util.types.isBooleanObject(Boolean(true));  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isBooleanObject(object: unknown): object is Boolean;\n    /**\n     * Returns `true` if the value is any boxed primitive object, e.g. created\n     * by `new Boolean()`, `new String()` or `Object(Symbol())`.\n     *\n     * For example:\n     *\n     * ```js\n     * util.types.isBoxedPrimitive(false); // Returns false\n     * util.types.isBoxedPrimitive(new Boolean(false)); // Returns true\n     * util.types.isBoxedPrimitive(Symbol('foo')); // Returns false\n     * util.types.isBoxedPrimitive(Object(Symbol('foo'))); // Returns true\n     * util.types.isBoxedPrimitive(Object(BigInt(5))); // Returns true\n     * ```\n     * @since v10.11.0\n     */\n    function isBoxedPrimitive(object: unknown): object is String | Number | BigInt | Boolean | Symbol;\n    /**\n     * Returns `true` if the value is a built-in [`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView) instance.\n     *\n     * ```js\n     * const ab = new ArrayBuffer(20);\n     * util.types.isDataView(new DataView(ab));  // Returns true\n     * util.types.isDataView(new Float64Array());  // Returns false\n     * ```\n     *\n     * See also [`ArrayBuffer.isView()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView).\n     * @since v10.0.0\n     */\n    function isDataView(object: unknown): object is DataView;\n    /**\n     * Returns `true` if the value is a built-in [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) instance.\n     *\n     * ```js\n     * util.types.isDate(new Date());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isDate(object: unknown): object is Date;\n    /**\n     * Returns `true` if the value is a native `External` value.\n     *\n     * A native `External` value is a special type of object that contains a\n     * raw C++ pointer (`void*`) for access from native code, and has no other\n     * properties. Such objects are created either by Node.js internals or native\n     * addons. In JavaScript, they are [frozen](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze) objects with a`null` prototype.\n     *\n     * ```c\n     * #include <js_native_api.h>\n     * #include <stdlib.h>\n     * napi_value result;\n     * static napi_value MyNapi(napi_env env, napi_callback_info info) {\n     *   int* raw = (int*) malloc(1024);\n     *   napi_status status = napi_create_external(env, (void*) raw, NULL, NULL, &#x26;result);\n     *   if (status != napi_ok) {\n     *     napi_throw_error(env, NULL, \"napi_create_external failed\");\n     *     return NULL;\n     *   }\n     *   return result;\n     * }\n     * ...\n     * DECLARE_NAPI_PROPERTY(\"myNapi\", MyNapi)\n     * ...\n     * ```\n     *\n     * ```js\n     * const native = require('napi_addon.node');\n     * const data = native.myNapi();\n     * util.types.isExternal(data); // returns true\n     * util.types.isExternal(0); // returns false\n     * util.types.isExternal(new String('foo')); // returns false\n     * ```\n     *\n     * For further information on `napi_create_external`, refer to `napi_create_external()`.\n     * @since v10.0.0\n     */\n    function isExternal(object: unknown): boolean;\n    /**\n     * Returns `true` if the value is a built-in [`Float32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array) instance.\n     *\n     * ```js\n     * util.types.isFloat32Array(new ArrayBuffer());  // Returns false\n     * util.types.isFloat32Array(new Float32Array());  // Returns true\n     * util.types.isFloat32Array(new Float64Array());  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isFloat32Array(object: unknown): object is Float32Array;\n    /**\n     * Returns `true` if the value is a built-in [`Float64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array) instance.\n     *\n     * ```js\n     * util.types.isFloat64Array(new ArrayBuffer());  // Returns false\n     * util.types.isFloat64Array(new Uint8Array());  // Returns false\n     * util.types.isFloat64Array(new Float64Array());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isFloat64Array(object: unknown): object is Float64Array;\n    /**\n     * Returns `true` if the value is a generator function.\n     * This only reports back what the JavaScript engine is seeing;\n     * in particular, the return value may not match the original source code if\n     * a transpilation tool was used.\n     *\n     * ```js\n     * util.types.isGeneratorFunction(function foo() {});  // Returns false\n     * util.types.isGeneratorFunction(function* foo() {});  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isGeneratorFunction(object: unknown): object is GeneratorFunction;\n    /**\n     * Returns `true` if the value is a generator object as returned from a\n     * built-in generator function.\n     * This only reports back what the JavaScript engine is seeing;\n     * in particular, the return value may not match the original source code if\n     * a transpilation tool was used.\n     *\n     * ```js\n     * function* foo() {}\n     * const generator = foo();\n     * util.types.isGeneratorObject(generator);  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isGeneratorObject(object: unknown): object is Generator;\n    /**\n     * Returns `true` if the value is a built-in [`Int8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array) instance.\n     *\n     * ```js\n     * util.types.isInt8Array(new ArrayBuffer());  // Returns false\n     * util.types.isInt8Array(new Int8Array());  // Returns true\n     * util.types.isInt8Array(new Float64Array());  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isInt8Array(object: unknown): object is Int8Array;\n    /**\n     * Returns `true` if the value is a built-in [`Int16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array) instance.\n     *\n     * ```js\n     * util.types.isInt16Array(new ArrayBuffer());  // Returns false\n     * util.types.isInt16Array(new Int16Array());  // Returns true\n     * util.types.isInt16Array(new Float64Array());  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isInt16Array(object: unknown): object is Int16Array;\n    /**\n     * Returns `true` if the value is a built-in [`Int32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array) instance.\n     *\n     * ```js\n     * util.types.isInt32Array(new ArrayBuffer());  // Returns false\n     * util.types.isInt32Array(new Int32Array());  // Returns true\n     * util.types.isInt32Array(new Float64Array());  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isInt32Array(object: unknown): object is Int32Array;\n    /**\n     * Returns `true` if the value is a built-in [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) instance.\n     *\n     * ```js\n     * util.types.isMap(new Map());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isMap<T>(\n        object: T | {},\n    ): object is T extends ReadonlyMap<any, any> ? (unknown extends T ? never : ReadonlyMap<any, any>)\n        : Map<unknown, unknown>;\n    /**\n     * Returns `true` if the value is an iterator returned for a built-in [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) instance.\n     *\n     * ```js\n     * const map = new Map();\n     * util.types.isMapIterator(map.keys());  // Returns true\n     * util.types.isMapIterator(map.values());  // Returns true\n     * util.types.isMapIterator(map.entries());  // Returns true\n     * util.types.isMapIterator(map[Symbol.iterator]());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isMapIterator(object: unknown): boolean;\n    /**\n     * Returns `true` if the value is an instance of a [Module Namespace Object](https://tc39.github.io/ecma262/#sec-module-namespace-exotic-objects).\n     *\n     * ```js\n     * import * as ns from './a.js';\n     *\n     * util.types.isModuleNamespaceObject(ns);  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isModuleNamespaceObject(value: unknown): boolean;\n    /**\n     * Returns `true` if the value is an instance of a built-in `Error` type.\n     *\n     * ```js\n     * util.types.isNativeError(new Error());  // Returns true\n     * util.types.isNativeError(new TypeError());  // Returns true\n     * util.types.isNativeError(new RangeError());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isNativeError(object: unknown): object is Error;\n    /**\n     * Returns `true` if the value is a number object, e.g. created\n     * by `new Number()`.\n     *\n     * ```js\n     * util.types.isNumberObject(0);  // Returns false\n     * util.types.isNumberObject(new Number(0));   // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isNumberObject(object: unknown): object is Number;\n    /**\n     * Returns `true` if the value is a built-in [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\n     *\n     * ```js\n     * util.types.isPromise(Promise.resolve(42));  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isPromise(object: unknown): object is Promise<unknown>;\n    /**\n     * Returns `true` if the value is a [`Proxy`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) instance.\n     *\n     * ```js\n     * const target = {};\n     * const proxy = new Proxy(target, {});\n     * util.types.isProxy(target);  // Returns false\n     * util.types.isProxy(proxy);  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isProxy(object: unknown): boolean;\n    /**\n     * Returns `true` if the value is a regular expression object.\n     *\n     * ```js\n     * util.types.isRegExp(/abc/);  // Returns true\n     * util.types.isRegExp(new RegExp('abc'));  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isRegExp(object: unknown): object is RegExp;\n    /**\n     * Returns `true` if the value is a built-in [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) instance.\n     *\n     * ```js\n     * util.types.isSet(new Set());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isSet<T>(\n        object: T | {},\n    ): object is T extends ReadonlySet<any> ? (unknown extends T ? never : ReadonlySet<any>) : Set<unknown>;\n    /**\n     * Returns `true` if the value is an iterator returned for a built-in [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) instance.\n     *\n     * ```js\n     * const set = new Set();\n     * util.types.isSetIterator(set.keys());  // Returns true\n     * util.types.isSetIterator(set.values());  // Returns true\n     * util.types.isSetIterator(set.entries());  // Returns true\n     * util.types.isSetIterator(set[Symbol.iterator]());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isSetIterator(object: unknown): boolean;\n    /**\n     * Returns `true` if the value is a built-in [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) instance.\n     * This does _not_ include [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) instances. Usually, it is\n     * desirable to test for both; See `util.types.isAnyArrayBuffer()` for that.\n     *\n     * ```js\n     * util.types.isSharedArrayBuffer(new ArrayBuffer());  // Returns false\n     * util.types.isSharedArrayBuffer(new SharedArrayBuffer());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isSharedArrayBuffer(object: unknown): object is SharedArrayBuffer;\n    /**\n     * Returns `true` if the value is a string object, e.g. created\n     * by `new String()`.\n     *\n     * ```js\n     * util.types.isStringObject('foo');  // Returns false\n     * util.types.isStringObject(new String('foo'));   // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isStringObject(object: unknown): object is String;\n    /**\n     * Returns `true` if the value is a symbol object, created\n     * by calling `Object()` on a `Symbol` primitive.\n     *\n     * ```js\n     * const symbol = Symbol('foo');\n     * util.types.isSymbolObject(symbol);  // Returns false\n     * util.types.isSymbolObject(Object(symbol));   // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isSymbolObject(object: unknown): object is Symbol;\n    /**\n     * Returns `true` if the value is a built-in [`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) instance.\n     *\n     * ```js\n     * util.types.isTypedArray(new ArrayBuffer());  // Returns false\n     * util.types.isTypedArray(new Uint8Array());  // Returns true\n     * util.types.isTypedArray(new Float64Array());  // Returns true\n     * ```\n     *\n     * See also [`ArrayBuffer.isView()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView).\n     * @since v10.0.0\n     */\n    function isTypedArray(object: unknown): object is NodeJS.TypedArray;\n    /**\n     * Returns `true` if the value is a built-in [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) instance.\n     *\n     * ```js\n     * util.types.isUint8Array(new ArrayBuffer());  // Returns false\n     * util.types.isUint8Array(new Uint8Array());  // Returns true\n     * util.types.isUint8Array(new Float64Array());  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isUint8Array(object: unknown): object is Uint8Array;\n    /**\n     * Returns `true` if the value is a built-in [`Uint8ClampedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray) instance.\n     *\n     * ```js\n     * util.types.isUint8ClampedArray(new ArrayBuffer());  // Returns false\n     * util.types.isUint8ClampedArray(new Uint8ClampedArray());  // Returns true\n     * util.types.isUint8ClampedArray(new Float64Array());  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isUint8ClampedArray(object: unknown): object is Uint8ClampedArray;\n    /**\n     * Returns `true` if the value is a built-in [`Uint16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array) instance.\n     *\n     * ```js\n     * util.types.isUint16Array(new ArrayBuffer());  // Returns false\n     * util.types.isUint16Array(new Uint16Array());  // Returns true\n     * util.types.isUint16Array(new Float64Array());  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isUint16Array(object: unknown): object is Uint16Array;\n    /**\n     * Returns `true` if the value is a built-in [`Uint32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array) instance.\n     *\n     * ```js\n     * util.types.isUint32Array(new ArrayBuffer());  // Returns false\n     * util.types.isUint32Array(new Uint32Array());  // Returns true\n     * util.types.isUint32Array(new Float64Array());  // Returns false\n     * ```\n     * @since v10.0.0\n     */\n    function isUint32Array(object: unknown): object is Uint32Array;\n    /**\n     * Returns `true` if the value is a built-in [`WeakMap`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap) instance.\n     *\n     * ```js\n     * util.types.isWeakMap(new WeakMap());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isWeakMap(object: unknown): object is WeakMap<object, unknown>;\n    /**\n     * Returns `true` if the value is a built-in [`WeakSet`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet) instance.\n     *\n     * ```js\n     * util.types.isWeakSet(new WeakSet());  // Returns true\n     * ```\n     * @since v10.0.0\n     */\n    function isWeakSet(object: unknown): object is WeakSet<object>;\n    /**\n     * Returns `true` if `value` is a `KeyObject`, `false` otherwise.\n     * @since v16.2.0\n     */\n    function isKeyObject(object: unknown): object is KeyObject;\n    /**\n     * Returns `true` if `value` is a `CryptoKey`, `false` otherwise.\n     * @since v16.2.0\n     */\n    function isCryptoKey(object: unknown): object is webcrypto.CryptoKey;\n}\ndeclare module \"node:util\" {\n    export * from \"util\";\n}\ndeclare module \"node:util/types\" {\n    export * from \"util/types\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/v8.d.ts",
      "content": "/**\n * The `node:v8` module exposes APIs that are specific to the version of [V8](https://developers.google.com/v8/) built into the Node.js binary. It can be accessed using:\n *\n * ```js\n * import v8 from 'node:v8';\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.19.0/lib/v8.js)\n */\ndeclare module \"v8\" {\n    import { Readable } from \"node:stream\";\n    interface HeapSpaceInfo {\n        space_name: string;\n        space_size: number;\n        space_used_size: number;\n        space_available_size: number;\n        physical_space_size: number;\n    }\n    // ** Signifies if the --zap_code_space option is enabled or not.  1 == enabled, 0 == disabled. */\n    type DoesZapCodeSpaceFlag = 0 | 1;\n    interface HeapInfo {\n        total_heap_size: number;\n        total_heap_size_executable: number;\n        total_physical_size: number;\n        total_available_size: number;\n        used_heap_size: number;\n        heap_size_limit: number;\n        malloced_memory: number;\n        peak_malloced_memory: number;\n        does_zap_garbage: DoesZapCodeSpaceFlag;\n        number_of_native_contexts: number;\n        number_of_detached_contexts: number;\n        total_global_handles_size: number;\n        used_global_handles_size: number;\n        external_memory: number;\n    }\n    interface HeapCodeStatistics {\n        code_and_metadata_size: number;\n        bytecode_and_metadata_size: number;\n        external_script_source_size: number;\n    }\n    /**\n     * Returns an integer representing a version tag derived from the V8 version,\n     * command-line flags, and detected CPU features. This is useful for determining\n     * whether a `vm.Script` `cachedData` buffer is compatible with this instance\n     * of V8.\n     *\n     * ```js\n     * console.log(v8.cachedDataVersionTag()); // 3947234607\n     * // The value returned by v8.cachedDataVersionTag() is derived from the V8\n     * // version, command-line flags, and detected CPU features. Test that the value\n     * // does indeed update when flags are toggled.\n     * v8.setFlagsFromString('--allow_natives_syntax');\n     * console.log(v8.cachedDataVersionTag()); // 183726201\n     * ```\n     * @since v8.0.0\n     */\n    function cachedDataVersionTag(): number;\n    /**\n     * Returns an object with the following properties:\n     *\n     * `does_zap_garbage` is a 0/1 boolean, which signifies whether the`--zap_code_space` option is enabled or not. This makes V8 overwrite heap\n     * garbage with a bit pattern. The RSS footprint (resident set size) gets bigger\n     * because it continuously touches all heap pages and that makes them less likely\n     * to get swapped out by the operating system.\n     *\n     * `number_of_native_contexts` The value of native\\_context is the number of the\n     * top-level contexts currently active. Increase of this number over time indicates\n     * a memory leak.\n     *\n     * `number_of_detached_contexts` The value of detached\\_context is the number\n     * of contexts that were detached and not yet garbage collected. This number\n     * being non-zero indicates a potential memory leak.\n     *\n     * `total_global_handles_size` The value of total\\_global\\_handles\\_size is the\n     * total memory size of V8 global handles.\n     *\n     * `used_global_handles_size` The value of used\\_global\\_handles\\_size is the\n     * used memory size of V8 global handles.\n     *\n     * `external_memory` The value of external\\_memory is the memory size of array\n     * buffers and external strings.\n     *\n     * ```js\n     * {\n     *   total_heap_size: 7326976,\n     *   total_heap_size_executable: 4194304,\n     *   total_physical_size: 7326976,\n     *   total_available_size: 1152656,\n     *   used_heap_size: 3476208,\n     *   heap_size_limit: 1535115264,\n     *   malloced_memory: 16384,\n     *   peak_malloced_memory: 1127496,\n     *   does_zap_garbage: 0,\n     *   number_of_native_contexts: 1,\n     *   number_of_detached_contexts: 0,\n     *   total_global_handles_size: 8192,\n     *   used_global_handles_size: 3296,\n     *   external_memory: 318824\n     * }\n     * ```\n     * @since v1.0.0\n     */\n    function getHeapStatistics(): HeapInfo;\n    /**\n     * Returns statistics about the V8 heap spaces, i.e. the segments which make up\n     * the V8 heap. Neither the ordering of heap spaces, nor the availability of a\n     * heap space can be guaranteed as the statistics are provided via the\n     * V8 [`GetHeapSpaceStatistics`](https://v8docs.nodesource.com/node-13.2/d5/dda/classv8_1_1_isolate.html#ac673576f24fdc7a33378f8f57e1d13a4) function and may change from one V8 version to the\n     * next.\n     *\n     * The value returned is an array of objects containing the following properties:\n     *\n     * ```json\n     * [\n     *   {\n     *     \"space_name\": \"new_space\",\n     *     \"space_size\": 2063872,\n     *     \"space_used_size\": 951112,\n     *     \"space_available_size\": 80824,\n     *     \"physical_space_size\": 2063872\n     *   },\n     *   {\n     *     \"space_name\": \"old_space\",\n     *     \"space_size\": 3090560,\n     *     \"space_used_size\": 2493792,\n     *     \"space_available_size\": 0,\n     *     \"physical_space_size\": 3090560\n     *   },\n     *   {\n     *     \"space_name\": \"code_space\",\n     *     \"space_size\": 1260160,\n     *     \"space_used_size\": 644256,\n     *     \"space_available_size\": 960,\n     *     \"physical_space_size\": 1260160\n     *   },\n     *   {\n     *     \"space_name\": \"map_space\",\n     *     \"space_size\": 1094160,\n     *     \"space_used_size\": 201608,\n     *     \"space_available_size\": 0,\n     *     \"physical_space_size\": 1094160\n     *   },\n     *   {\n     *     \"space_name\": \"large_object_space\",\n     *     \"space_size\": 0,\n     *     \"space_used_size\": 0,\n     *     \"space_available_size\": 1490980608,\n     *     \"physical_space_size\": 0\n     *   }\n     * ]\n     * ```\n     * @since v6.0.0\n     */\n    function getHeapSpaceStatistics(): HeapSpaceInfo[];\n    /**\n     * The `v8.setFlagsFromString()` method can be used to programmatically set\n     * V8 command-line flags. This method should be used with care. Changing settings\n     * after the VM has started may result in unpredictable behavior, including\n     * crashes and data loss; or it may simply do nothing.\n     *\n     * The V8 options available for a version of Node.js may be determined by running`node --v8-options`.\n     *\n     * Usage:\n     *\n     * ```js\n     * // Print GC events to stdout for one minute.\n     * import v8 from 'node:v8';\n     * v8.setFlagsFromString('--trace_gc');\n     * setTimeout(() => { v8.setFlagsFromString('--notrace_gc'); }, 60e3);\n     * ```\n     * @since v1.0.0\n     */\n    function setFlagsFromString(flags: string): void;\n    /**\n     * Generates a snapshot of the current V8 heap and returns a Readable\n     * Stream that may be used to read the JSON serialized representation.\n     * This JSON stream format is intended to be used with tools such as\n     * Chrome DevTools. The JSON schema is undocumented and specific to the\n     * V8 engine. Therefore, the schema may change from one version of V8 to the next.\n     *\n     * Creating a heap snapshot requires memory about twice the size of the heap at\n     * the time the snapshot is created. This results in the risk of OOM killers\n     * terminating the process.\n     *\n     * Generating a snapshot is a synchronous operation which blocks the event loop\n     * for a duration depending on the heap size.\n     *\n     * ```js\n     * // Print heap snapshot to the console\n     * import v8 from 'node:v8';\n     * const stream = v8.getHeapSnapshot();\n     * stream.pipe(process.stdout);\n     * ```\n     * @since v11.13.0\n     * @return A Readable Stream containing the V8 heap snapshot\n     */\n    function getHeapSnapshot(): Readable;\n    /**\n     * Generates a snapshot of the current V8 heap and writes it to a JSON\n     * file. This file is intended to be used with tools such as Chrome\n     * DevTools. The JSON schema is undocumented and specific to the V8\n     * engine, and may change from one version of V8 to the next.\n     *\n     * A heap snapshot is specific to a single V8 isolate. When using `worker threads`, a heap snapshot generated from the main thread will\n     * not contain any information about the workers, and vice versa.\n     *\n     * Creating a heap snapshot requires memory about twice the size of the heap at\n     * the time the snapshot is created. This results in the risk of OOM killers\n     * terminating the process.\n     *\n     * Generating a snapshot is a synchronous operation which blocks the event loop\n     * for a duration depending on the heap size.\n     *\n     * ```js\n     * import { writeHeapSnapshot } from 'node:v8';\n     * import {\n     *   Worker,\n     *   isMainThread,\n     *   parentPort,\n     * } from 'node:worker_threads';\n     *\n     * if (isMainThread) {\n     *   const worker = new Worker(__filename);\n     *\n     *   worker.once('message', (filename) => {\n     *     console.log(`worker heapdump: ${filename}`);\n     *     // Now get a heapdump for the main thread.\n     *     console.log(`main thread heapdump: ${writeHeapSnapshot()}`);\n     *   });\n     *\n     *   // Tell the worker to create a heapdump.\n     *   worker.postMessage('heapdump');\n     * } else {\n     *   parentPort.once('message', (message) => {\n     *     if (message === 'heapdump') {\n     *       // Generate a heapdump for the worker\n     *       // and return the filename to the parent.\n     *       parentPort.postMessage(writeHeapSnapshot());\n     *     }\n     *   });\n     * }\n     * ```\n     * @since v11.13.0\n     * @param filename The file path where the V8 heap snapshot is to be saved. If not specified, a file name with the pattern `'Heap-${yyyymmdd}-${hhmmss}-${pid}-${thread_id}.heapsnapshot'` will be\n     * generated, where `{pid}` will be the PID of the Node.js process, `{thread_id}` will be `0` when `writeHeapSnapshot()` is called from the main Node.js thread or the id of a\n     * worker thread.\n     * @return The filename where the snapshot was saved.\n     */\n    function writeHeapSnapshot(filename?: string): string;\n    /**\n     * Get statistics about code and its metadata in the heap, see\n     * V8 [`GetHeapCodeAndMetadataStatistics`](https://v8docs.nodesource.com/node-13.2/d5/dda/classv8_1_1_isolate.html#a6079122af17612ef54ef3348ce170866) API. Returns an object with the\n     * following properties:\n     *\n     * ```js\n     * {\n     *   code_and_metadata_size: 212208,\n     *   bytecode_and_metadata_size: 161368,\n     *   external_script_source_size: 1410794,\n     *   cpu_profiler_metadata_size: 0,\n     * }\n     * ```\n     * @since v12.8.0\n     */\n    function getHeapCodeStatistics(): HeapCodeStatistics;\n    /**\n     * @since v8.0.0\n     */\n    class Serializer {\n        /**\n         * Writes out a header, which includes the serialization format version.\n         */\n        writeHeader(): void;\n        /**\n         * Serializes a JavaScript value and adds the serialized representation to the\n         * internal buffer.\n         *\n         * This throws an error if `value` cannot be serialized.\n         */\n        writeValue(val: any): boolean;\n        /**\n         * Returns the stored internal buffer. This serializer should not be used once\n         * the buffer is released. Calling this method results in undefined behavior\n         * if a previous write has failed.\n         */\n        releaseBuffer(): Buffer;\n        /**\n         * Marks an `ArrayBuffer` as having its contents transferred out of band.\n         * Pass the corresponding `ArrayBuffer` in the deserializing context to `deserializer.transferArrayBuffer()`.\n         * @param id A 32-bit unsigned integer.\n         * @param arrayBuffer An `ArrayBuffer` instance.\n         */\n        transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void;\n        /**\n         * Write a raw 32-bit unsigned integer.\n         * For use inside of a custom `serializer._writeHostObject()`.\n         */\n        writeUint32(value: number): void;\n        /**\n         * Write a raw 64-bit unsigned integer, split into high and low 32-bit parts.\n         * For use inside of a custom `serializer._writeHostObject()`.\n         */\n        writeUint64(hi: number, lo: number): void;\n        /**\n         * Write a JS `number` value.\n         * For use inside of a custom `serializer._writeHostObject()`.\n         */\n        writeDouble(value: number): void;\n        /**\n         * Write raw bytes into the serializer's internal buffer. The deserializer\n         * will require a way to compute the length of the buffer.\n         * For use inside of a custom `serializer._writeHostObject()`.\n         */\n        writeRawBytes(buffer: NodeJS.TypedArray): void;\n    }\n    /**\n     * A subclass of `Serializer` that serializes `TypedArray`(in particular `Buffer`) and `DataView` objects as host objects, and only\n     * stores the part of their underlying `ArrayBuffer`s that they are referring to.\n     * @since v8.0.0\n     */\n    class DefaultSerializer extends Serializer {}\n    /**\n     * @since v8.0.0\n     */\n    class Deserializer {\n        constructor(data: NodeJS.TypedArray);\n        /**\n         * Reads and validates a header (including the format version).\n         * May, for example, reject an invalid or unsupported wire format. In that case,\n         * an `Error` is thrown.\n         */\n        readHeader(): boolean;\n        /**\n         * Deserializes a JavaScript value from the buffer and returns it.\n         */\n        readValue(): any;\n        /**\n         * Marks an `ArrayBuffer` as having its contents transferred out of band.\n         * Pass the corresponding `ArrayBuffer` in the serializing context to `serializer.transferArrayBuffer()` (or return the `id` from `serializer._getSharedArrayBufferId()` in the case of\n         * `SharedArrayBuffer`s).\n         * @param id A 32-bit unsigned integer.\n         * @param arrayBuffer An `ArrayBuffer` instance.\n         */\n        transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void;\n        /**\n         * Reads the underlying wire format version. Likely mostly to be useful to\n         * legacy code reading old wire format versions. May not be called before`.readHeader()`.\n         */\n        getWireFormatVersion(): number;\n        /**\n         * Read a raw 32-bit unsigned integer and return it.\n         * For use inside of a custom `deserializer._readHostObject()`.\n         */\n        readUint32(): number;\n        /**\n         * Read a raw 64-bit unsigned integer and return it as an array `[hi, lo]`with two 32-bit unsigned integer entries.\n         * For use inside of a custom `deserializer._readHostObject()`.\n         */\n        readUint64(): [number, number];\n        /**\n         * Read a JS `number` value.\n         * For use inside of a custom `deserializer._readHostObject()`.\n         */\n        readDouble(): number;\n        /**\n         * Read raw bytes from the deserializer's internal buffer. The `length` parameter\n         * must correspond to the length of the buffer that was passed to `serializer.writeRawBytes()`.\n         * For use inside of a custom `deserializer._readHostObject()`.\n         */\n        readRawBytes(length: number): Buffer;\n    }\n    /**\n     * A subclass of `Deserializer` corresponding to the format written by `DefaultSerializer`.\n     * @since v8.0.0\n     */\n    class DefaultDeserializer extends Deserializer {}\n    /**\n     * Uses a `DefaultSerializer` to serialize `value` into a buffer.\n     *\n     * `ERR_BUFFER_TOO_LARGE` will be thrown when trying to\n     * serialize a huge object which requires buffer\n     * larger than `buffer.constants.MAX_LENGTH`.\n     * @since v8.0.0\n     */\n    function serialize(value: any): Buffer;\n    /**\n     * Uses a `DefaultDeserializer` with default options to read a JS value\n     * from a buffer.\n     * @since v8.0.0\n     * @param buffer A buffer returned by {@link serialize}.\n     */\n    function deserialize(buffer: NodeJS.ArrayBufferView): any;\n    /**\n     * The `v8.takeCoverage()` method allows the user to write the coverage started by `NODE_V8_COVERAGE` to disk on demand. This method can be invoked multiple\n     * times during the lifetime of the process. Each time the execution counter will\n     * be reset and a new coverage report will be written to the directory specified\n     * by `NODE_V8_COVERAGE`.\n     *\n     * When the process is about to exit, one last coverage will still be written to\n     * disk unless {@link stopCoverage} is invoked before the process exits.\n     * @since v15.1.0, v14.18.0, v12.22.0\n     */\n    function takeCoverage(): void;\n    /**\n     * The `v8.stopCoverage()` method allows the user to stop the coverage collection\n     * started by `NODE_V8_COVERAGE`, so that V8 can release the execution count\n     * records and optimize code. This can be used in conjunction with {@link takeCoverage} if the user wants to collect the coverage on demand.\n     * @since v15.1.0, v14.18.0, v12.22.0\n     */\n    function stopCoverage(): void;\n    /**\n     * The API is a no-op if `--heapsnapshot-near-heap-limit` is already set from the command line or the API is called more than once.\n     * `limit` must be a positive integer. See [`--heapsnapshot-near-heap-limit`](https://nodejs.org/docs/latest-v18.x/api/cli.html#--heapsnapshot-near-heap-limitmax_count) for more information.\n     * @experimental\n     * @since v18.10.0, v16.18.0\n     */\n    function setHeapSnapshotNearHeapLimit(limit: number): void;\n    /**\n     * This API collects GC data in current thread.\n     * @since v18.15.0\n     */\n    class GCProfiler {\n        /**\n         * Start collecting GC data.\n         * @since v18.15.0\n         */\n        start(): void;\n        /**\n         * Stop collecting GC data and return an object.The content of object\n         * is as follows.\n         *\n         * ```json\n         * {\n         *   \"version\": 1,\n         *   \"startTime\": 1674059033862,\n         *   \"statistics\": [\n         *     {\n         *       \"gcType\": \"Scavenge\",\n         *       \"beforeGC\": {\n         *         \"heapStatistics\": {\n         *           \"totalHeapSize\": 5005312,\n         *           \"totalHeapSizeExecutable\": 524288,\n         *           \"totalPhysicalSize\": 5226496,\n         *           \"totalAvailableSize\": 4341325216,\n         *           \"totalGlobalHandlesSize\": 8192,\n         *           \"usedGlobalHandlesSize\": 2112,\n         *           \"usedHeapSize\": 4883840,\n         *           \"heapSizeLimit\": 4345298944,\n         *           \"mallocedMemory\": 254128,\n         *           \"externalMemory\": 225138,\n         *           \"peakMallocedMemory\": 181760\n         *         },\n         *         \"heapSpaceStatistics\": [\n         *           {\n         *             \"spaceName\": \"read_only_space\",\n         *             \"spaceSize\": 0,\n         *             \"spaceUsedSize\": 0,\n         *             \"spaceAvailableSize\": 0,\n         *             \"physicalSpaceSize\": 0\n         *           }\n         *         ]\n         *       },\n         *       \"cost\": 1574.14,\n         *       \"afterGC\": {\n         *         \"heapStatistics\": {\n         *           \"totalHeapSize\": 6053888,\n         *           \"totalHeapSizeExecutable\": 524288,\n         *           \"totalPhysicalSize\": 5500928,\n         *           \"totalAvailableSize\": 4341101384,\n         *           \"totalGlobalHandlesSize\": 8192,\n         *           \"usedGlobalHandlesSize\": 2112,\n         *           \"usedHeapSize\": 4059096,\n         *           \"heapSizeLimit\": 4345298944,\n         *           \"mallocedMemory\": 254128,\n         *           \"externalMemory\": 225138,\n         *           \"peakMallocedMemory\": 181760\n         *         },\n         *         \"heapSpaceStatistics\": [\n         *           {\n         *             \"spaceName\": \"read_only_space\",\n         *             \"spaceSize\": 0,\n         *             \"spaceUsedSize\": 0,\n         *             \"spaceAvailableSize\": 0,\n         *             \"physicalSpaceSize\": 0\n         *           }\n         *         ]\n         *       }\n         *     }\n         *   ],\n         *   \"endTime\": 1674059036865\n         * }\n         * ```\n         *\n         * Here's an example.\n         *\n         * ```js\n         * import { GCProfiler } from 'node:v8';\n         * const profiler = new GCProfiler();\n         * profiler.start();\n         * setTimeout(() => {\n         *   console.log(profiler.stop());\n         * }, 1000);\n         * ```\n         * @since v18.15.0\n         */\n        stop(): GCProfilerResult;\n    }\n    interface GCProfilerResult {\n        version: number;\n        startTime: number;\n        endTime: number;\n        statistics: Array<{\n            gcType: string;\n            cost: number;\n            beforeGC: {\n                heapStatistics: HeapStatistics;\n                heapSpaceStatistics: HeapSpaceStatistics[];\n            };\n            afterGC: {\n                heapStatistics: HeapStatistics;\n                heapSpaceStatistics: HeapSpaceStatistics[];\n            };\n        }>;\n    }\n    interface HeapStatistics {\n        totalHeapSize: number;\n        totalHeapSizeExecutable: number;\n        totalPhysicalSize: number;\n        totalAvailableSize: number;\n        totalGlobalHandlesSize: number;\n        usedGlobalHandlesSize: number;\n        usedHeapSize: number;\n        heapSizeLimit: number;\n        mallocedMemory: number;\n        externalMemory: number;\n        peakMallocedMemory: number;\n    }\n    interface HeapSpaceStatistics {\n        spaceName: string;\n        spaceSize: number;\n        spaceUsedSize: number;\n        spaceAvailableSize: number;\n        physicalSpaceSize: number;\n    }\n    /**\n     * Called when a promise is constructed. This does not mean that corresponding before/after events will occur, only that the possibility exists. This will\n     * happen if a promise is created without ever getting a continuation.\n     * @since v17.1.0, v16.14.0\n     * @param promise The promise being created.\n     * @param parent The promise continued from, if applicable.\n     */\n    interface Init {\n        (promise: Promise<unknown>, parent: Promise<unknown>): void;\n    }\n    /**\n     * Called before a promise continuation executes. This can be in the form of `then()`, `catch()`, or `finally()` handlers or an await resuming.\n     *\n     * The before callback will be called 0 to N times. The before callback will typically be called 0 times if no continuation was ever made for the promise.\n     * The before callback may be called many times in the case where many continuations have been made from the same promise.\n     * @since v17.1.0, v16.14.0\n     */\n    interface Before {\n        (promise: Promise<unknown>): void;\n    }\n    /**\n     * Called immediately after a promise continuation executes. This may be after a `then()`, `catch()`, or `finally()` handler or before an await after another await.\n     * @since v17.1.0, v16.14.0\n     */\n    interface After {\n        (promise: Promise<unknown>): void;\n    }\n    /**\n     * Called when the promise receives a resolution or rejection value. This may occur synchronously in the case of {@link Promise.resolve()} or\n     * {@link Promise.reject()}.\n     * @since v17.1.0, v16.14.0\n     */\n    interface Settled {\n        (promise: Promise<unknown>): void;\n    }\n    /**\n     * Key events in the lifetime of a promise have been categorized into four areas: creation of a promise, before/after a continuation handler is called or\n     * around an await, and when the promise resolves or rejects.\n     *\n     * Because promises are asynchronous resources whose lifecycle is tracked via the promise hooks mechanism, the `init()`, `before()`, `after()`, and\n     * `settled()` callbacks must not be async functions as they create more promises which would produce an infinite loop.\n     * @since v17.1.0, v16.14.0\n     */\n    interface HookCallbacks {\n        init?: Init;\n        before?: Before;\n        after?: After;\n        settled?: Settled;\n    }\n    interface PromiseHooks {\n        /**\n         * The `init` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop.\n         * @since v17.1.0, v16.14.0\n         * @param init The {@link Init | `init` callback} to call when a promise is created.\n         * @return Call to stop the hook.\n         */\n        onInit: (init: Init) => Function;\n        /**\n         * The `settled` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop.\n         * @since v17.1.0, v16.14.0\n         * @param settled The {@link Settled | `settled` callback} to call when a promise is created.\n         * @return Call to stop the hook.\n         */\n        onSettled: (settled: Settled) => Function;\n        /**\n         * The `before` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop.\n         * @since v17.1.0, v16.14.0\n         * @param before The {@link Before | `before` callback} to call before a promise continuation executes.\n         * @return Call to stop the hook.\n         */\n        onBefore: (before: Before) => Function;\n        /**\n         * The `after` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop.\n         * @since v17.1.0, v16.14.0\n         * @param after The {@link After | `after` callback} to call after a promise continuation executes.\n         * @return Call to stop the hook.\n         */\n        onAfter: (after: After) => Function;\n        /**\n         * Registers functions to be called for different lifetime events of each promise.\n         * The callbacks `init()`/`before()`/`after()`/`settled()` are called for the respective events during a promise's lifetime.\n         * All callbacks are optional. For example, if only promise creation needs to be tracked, then only the init callback needs to be passed.\n         * The hook callbacks must be plain functions. Providing async functions will throw as it would produce an infinite microtask loop.\n         * @since v17.1.0, v16.14.0\n         * @param callbacks The {@link HookCallbacks | Hook Callbacks} to register\n         * @return Used for disabling hooks\n         */\n        createHook: (callbacks: HookCallbacks) => Function;\n    }\n    /**\n     * The `promiseHooks` interface can be used to track promise lifecycle events.\n     * @since v17.1.0, v16.14.0\n     */\n    const promiseHooks: PromiseHooks;\n    type StartupSnapshotCallbackFn = (args: any) => any;\n    interface StartupSnapshot {\n        /**\n         * Add a callback that will be called when the Node.js instance is about to get serialized into a snapshot and exit.\n         * This can be used to release resources that should not or cannot be serialized or to convert user data into a form more suitable for serialization.\n         * @since v18.6.0, v16.17.0\n         */\n        addSerializeCallback(callback: StartupSnapshotCallbackFn, data?: any): void;\n        /**\n         * Add a callback that will be called when the Node.js instance is deserialized from a snapshot.\n         * The `callback` and the `data` (if provided) will be serialized into the snapshot, they can be used to re-initialize the state of the application or\n         * to re-acquire resources that the application needs when the application is restarted from the snapshot.\n         * @since v18.6.0, v16.17.0\n         */\n        addDeserializeCallback(callback: StartupSnapshotCallbackFn, data?: any): void;\n        /**\n         * This sets the entry point of the Node.js application when it is deserialized from a snapshot. This can be called only once in the snapshot building script.\n         * If called, the deserialized application no longer needs an additional entry point script to start up and will simply invoke the callback along with the deserialized\n         * data (if provided), otherwise an entry point script still needs to be provided to the deserialized application.\n         * @since v18.6.0, v16.17.0\n         */\n        setDeserializeMainFunction(callback: StartupSnapshotCallbackFn, data?: any): void;\n        /**\n         * Returns true if the Node.js instance is run to build a snapshot.\n         * @since v18.6.0, v16.17.0\n         */\n        isBuildingSnapshot(): boolean;\n    }\n    /**\n     * The `v8.startupSnapshot` interface can be used to add serialization and deserialization hooks for custom startup snapshots.\n     *\n     * ```bash\n     * $ node --snapshot-blob snapshot.blob --build-snapshot entry.js\n     * # This launches a process with the snapshot\n     * $ node --snapshot-blob snapshot.blob\n     * ```\n     *\n     * In the example above, `entry.js` can use methods from the `v8.startupSnapshot` interface to specify how to save information for custom objects\n     * in the snapshot during serialization\n     * and how the information can be used to synchronize these objects during deserialization of the snapshot.\n     * For example, if the `entry.js` contains the following script:\n     *\n     * ```js\n     * 'use strict';\n     *\n     * import fs from 'node:fs';\n     * import zlib from 'node:zlib';\n     * import path from 'node:path';\n     * import assert from 'node:assert';\n     *\n     * import v8 from 'node:v8';\n     *\n     * class BookShelf {\n     *   storage = new Map();\n     *\n     *   // Reading a series of files from directory and store them into storage.\n     *   constructor(directory, books) {\n     *     for (const book of books) {\n     *       this.storage.set(book, fs.readFileSync(path.join(directory, book)));\n     *     }\n     *   }\n     *\n     *   static compressAll(shelf) {\n     *     for (const [ book, content ] of shelf.storage) {\n     *       shelf.storage.set(book, zlib.gzipSync(content));\n     *     }\n     *   }\n     *\n     *   static decompressAll(shelf) {\n     *     for (const [ book, content ] of shelf.storage) {\n     *       shelf.storage.set(book, zlib.gunzipSync(content));\n     *     }\n     *   }\n     * }\n     *\n     * // __dirname here is where the snapshot script is placed\n     * // during snapshot building time.\n     * const shelf = new BookShelf(__dirname, [\n     *   'book1.en_US.txt',\n     *   'book1.es_ES.txt',\n     *   'book2.zh_CN.txt',\n     * ]);\n     *\n     * assert(v8.startupSnapshot.isBuildingSnapshot());\n     * // On snapshot serialization, compress the books to reduce size.\n     * v8.startupSnapshot.addSerializeCallback(BookShelf.compressAll, shelf);\n     * // On snapshot deserialization, decompress the books.\n     * v8.startupSnapshot.addDeserializeCallback(BookShelf.decompressAll, shelf);\n     * v8.startupSnapshot.setDeserializeMainFunction((shelf) => {\n     *   // process.env and process.argv are refreshed during snapshot\n     *   // deserialization.\n     *   const lang = process.env.BOOK_LANG || 'en_US';\n     *   const book = process.argv[1];\n     *   const name = `${book}.${lang}.txt`;\n     *   console.log(shelf.storage.get(name));\n     * }, shelf);\n     * ```\n     *\n     * The resulted binary will get print the data deserialized from the snapshot during start up, using the refreshed `process.env` and `process.argv` of the launched process:\n     *\n     * ```bash\n     * $ BOOK_LANG=es_ES node --snapshot-blob snapshot.blob book1\n     * # Prints content of book1.es_ES.txt deserialized from the snapshot.\n     * ```\n     *\n     * Currently the application deserialized from a user-land snapshot cannot be snapshotted again, so these APIs are only available to applications that are not deserialized from a user-land snapshot.\n     *\n     * @experimental\n     * @since v18.6.0, v16.17.0\n     */\n    const startupSnapshot: StartupSnapshot;\n}\ndeclare module \"node:v8\" {\n    export * from \"v8\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/vm.d.ts",
      "content": "/**\n * The `vm` module enables compiling and running code within V8 Virtual\n * Machine contexts.\n *\n * **The `vm` module is not a security**\n * **mechanism. Do not use it to run untrusted code.**\n *\n * JavaScript code can be compiled and run immediately or\n * compiled, saved, and run later.\n *\n * A common use case is to run the code in a different V8 Context. This means\n * invoked code has a different global object than the invoking code.\n *\n * One can provide the context by `contextifying` an\n * object. The invoked code treats any property in the context like a\n * global variable. Any changes to global variables caused by the invoked\n * code are reflected in the context object.\n *\n * ```js\n * import vm from 'node:vm';\n *\n * const x = 1;\n *\n * const context = { x: 2 };\n * vm.createContext(context); // Contextify the object.\n *\n * const code = 'x += 40; var y = 17;';\n * // `x` and `y` are global variables in the context.\n * // Initially, x has the value 2 because that is the value of context.x.\n * vm.runInContext(code, context);\n *\n * console.log(context.x); // 42\n * console.log(context.y); // 17\n *\n * console.log(x); // 1; y is not defined.\n * ```\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/vm.js)\n */\ndeclare module \"vm\" {\n    import { ImportAttributes } from \"node:module\";\n    interface Context extends NodeJS.Dict<any> {}\n    interface BaseOptions {\n        /**\n         * Specifies the filename used in stack traces produced by this script.\n         * Default: `''`.\n         */\n        filename?: string | undefined;\n        /**\n         * Specifies the line number offset that is displayed in stack traces produced by this script.\n         * Default: `0`.\n         */\n        lineOffset?: number | undefined;\n        /**\n         * Specifies the column number offset that is displayed in stack traces produced by this script.\n         * @default 0\n         */\n        columnOffset?: number | undefined;\n    }\n    type DynamicModuleLoader<T> = (\n        specifier: string,\n        referrer: T,\n        importAttributes: ImportAttributes,\n    ) => Module | Promise<Module>;\n    interface ScriptOptions extends BaseOptions {\n        /**\n         * Provides an optional data with V8's code cache data for the supplied source.\n         */\n        cachedData?: Buffer | NodeJS.ArrayBufferView | undefined;\n        /** @deprecated in favor of `script.createCachedData()` */\n        produceCachedData?: boolean | undefined;\n        /**\n         * Called during evaluation of this module when `import()` is called.\n         * If this option is not specified, calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`.\n         * This option is part of the experimental modules API. We do not recommend using it in a production environment.\n         * If `--experimental-vm-modules` isn't set, this callback will be ignored and calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG`.\n         */\n        importModuleDynamically?: DynamicModuleLoader<Script> | undefined;\n    }\n    interface RunningScriptOptions extends BaseOptions {\n        /**\n         * When `true`, if an `Error` occurs while compiling the `code`, the line of code causing the error is attached to the stack trace.\n         * Default: `true`.\n         */\n        displayErrors?: boolean | undefined;\n        /**\n         * Specifies the number of milliseconds to execute code before terminating execution.\n         * If execution is terminated, an `Error` will be thrown. This value must be a strictly positive integer.\n         */\n        timeout?: number | undefined;\n        /**\n         * If `true`, the execution will be terminated when `SIGINT` (Ctrl+C) is received.\n         * Existing handlers for the event that have been attached via `process.on('SIGINT')` will be disabled during script execution, but will continue to work after that.\n         * If execution is terminated, an `Error` will be thrown.\n         * Default: `false`.\n         */\n        breakOnSigint?: boolean | undefined;\n    }\n    interface RunningScriptInNewContextOptions extends RunningScriptOptions {\n        /**\n         * Human-readable name of the newly created context.\n         */\n        contextName?: CreateContextOptions[\"name\"];\n        /**\n         * Origin corresponding to the newly created context for display purposes. The origin should be formatted like a URL,\n         * but with only the scheme, host, and port (if necessary), like the value of the `url.origin` property of a `URL` object.\n         * Most notably, this string should omit the trailing slash, as that denotes a path.\n         */\n        contextOrigin?: CreateContextOptions[\"origin\"];\n        contextCodeGeneration?: CreateContextOptions[\"codeGeneration\"];\n        /**\n         * If set to `afterEvaluate`, microtasks will be run immediately after the script has run.\n         */\n        microtaskMode?: CreateContextOptions[\"microtaskMode\"];\n    }\n    interface RunningCodeOptions extends RunningScriptOptions {\n        /**\n         * Provides an optional data with V8's code cache data for the supplied source.\n         */\n        cachedData?: ScriptOptions[\"cachedData\"] | undefined;\n        /**\n         * Called during evaluation of this module when `import()` is called.\n         * If this option is not specified, calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`.\n         * This option is part of the experimental modules API. We do not recommend using it in a production environment.\n         * If `--experimental-vm-modules` isn't set, this callback will be ignored and calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG`.\n         */\n        importModuleDynamically?: DynamicModuleLoader<Script> | undefined;\n    }\n    interface RunningCodeInNewContextOptions extends RunningScriptInNewContextOptions {\n        /**\n         * Provides an optional data with V8's code cache data for the supplied source.\n         */\n        cachedData?: ScriptOptions[\"cachedData\"] | undefined;\n        /**\n         * Called during evaluation of this module when `import()` is called.\n         * If this option is not specified, calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`.\n         * This option is part of the experimental modules API. We do not recommend using it in a production environment.\n         * If `--experimental-vm-modules` isn't set, this callback will be ignored and calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG`.\n         */\n        importModuleDynamically?: DynamicModuleLoader<Script> | undefined;\n    }\n    interface CompileFunctionOptions extends BaseOptions {\n        /**\n         * Provides an optional data with V8's code cache data for the supplied source.\n         */\n        cachedData?: ScriptOptions[\"cachedData\"] | undefined;\n        /**\n         * Specifies whether to produce new cache data.\n         * Default: `false`,\n         */\n        produceCachedData?: boolean | undefined;\n        /**\n         * The sandbox/context in which the said function should be compiled in.\n         */\n        parsingContext?: Context | undefined;\n        /**\n         * An array containing a collection of context extensions (objects wrapping the current scope) to be applied while compiling\n         */\n        contextExtensions?: Object[] | undefined;\n        /**\n         * Called during evaluation of this module when `import()` is called.\n         * If this option is not specified, calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`.\n         * This option is part of the experimental modules API. We do not recommend using it in a production environment.\n         * If `--experimental-vm-modules` isn't set, this callback will be ignored and calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG`.\n         */\n        importModuleDynamically?: DynamicModuleLoader<ReturnType<typeof compileFunction>> | undefined;\n    }\n    interface CreateContextOptions {\n        /**\n         * Human-readable name of the newly created context.\n         * @default 'VM Context i' Where i is an ascending numerical index of the created context.\n         */\n        name?: string | undefined;\n        /**\n         * Corresponds to the newly created context for display purposes.\n         * The origin should be formatted like a `URL`, but with only the scheme, host, and port (if necessary),\n         * like the value of the `url.origin` property of a URL object.\n         * Most notably, this string should omit the trailing slash, as that denotes a path.\n         * @default ''\n         */\n        origin?: string | undefined;\n        codeGeneration?:\n            | {\n                /**\n                 * If set to false any calls to eval or function constructors (Function, GeneratorFunction, etc)\n                 * will throw an EvalError.\n                 * @default true\n                 */\n                strings?: boolean | undefined;\n                /**\n                 * If set to false any attempt to compile a WebAssembly module will throw a WebAssembly.CompileError.\n                 * @default true\n                 */\n                wasm?: boolean | undefined;\n            }\n            | undefined;\n        /**\n         * If set to `afterEvaluate`, microtasks will be run immediately after the script has run.\n         */\n        microtaskMode?: \"afterEvaluate\" | undefined;\n    }\n    type MeasureMemoryMode = \"summary\" | \"detailed\";\n    interface MeasureMemoryOptions {\n        /**\n         * @default 'summary'\n         */\n        mode?: MeasureMemoryMode | undefined;\n        /**\n         * @default 'default'\n         */\n        execution?: \"default\" | \"eager\" | undefined;\n    }\n    interface MemoryMeasurement {\n        total: {\n            jsMemoryEstimate: number;\n            jsMemoryRange: [number, number];\n        };\n    }\n    /**\n     * Instances of the `vm.Script` class contain precompiled scripts that can be\n     * executed in specific contexts.\n     * @since v0.3.1\n     */\n    class Script {\n        constructor(code: string, options?: ScriptOptions | string);\n        /**\n         * Runs the compiled code contained by the `vm.Script` object within the given`contextifiedObject` and returns the result. Running code does not have access\n         * to local scope.\n         *\n         * The following example compiles code that increments a global variable, sets\n         * the value of another global variable, then execute the code multiple times.\n         * The globals are contained in the `context` object.\n         *\n         * ```js\n         * import vm from 'node:vm';\n         *\n         * const context = {\n         *   animal: 'cat',\n         *   count: 2\n         * };\n         *\n         * const script = new vm.Script('count += 1; name = \"kitty\";');\n         *\n         * vm.createContext(context);\n         * for (let i = 0; i < 10; ++i) {\n         *   script.runInContext(context);\n         * }\n         *\n         * console.log(context);\n         * // Prints: { animal: 'cat', count: 12, name: 'kitty' }\n         * ```\n         *\n         * Using the `timeout` or `breakOnSigint` options will result in new event loops\n         * and corresponding threads being started, which have a non-zero performance\n         * overhead.\n         * @since v0.3.1\n         * @param contextifiedObject A `contextified` object as returned by the `vm.createContext()` method.\n         * @return the result of the very last statement executed in the script.\n         */\n        runInContext(contextifiedObject: Context, options?: RunningScriptOptions): any;\n        /**\n         * First contextifies the given `contextObject`, runs the compiled code contained\n         * by the `vm.Script` object within the created context, and returns the result.\n         * Running code does not have access to local scope.\n         *\n         * The following example compiles code that sets a global variable, then executes\n         * the code multiple times in different contexts. The globals are set on and\n         * contained within each individual `context`.\n         *\n         * ```js\n         * import vm from 'node:vm';\n         *\n         * const script = new vm.Script('globalVar = \"set\"');\n         *\n         * const contexts = [{}, {}, {}];\n         * contexts.forEach((context) => {\n         *   script.runInNewContext(context);\n         * });\n         *\n         * console.log(contexts);\n         * // Prints: [{ globalVar: 'set' }, { globalVar: 'set' }, { globalVar: 'set' }]\n         * ```\n         * @since v0.3.1\n         * @param contextObject An object that will be `contextified`. If `undefined`, a new object will be created.\n         * @return the result of the very last statement executed in the script.\n         */\n        runInNewContext(contextObject?: Context, options?: RunningScriptInNewContextOptions): any;\n        /**\n         * Runs the compiled code contained by the `vm.Script` within the context of the\n         * current `global` object. Running code does not have access to local scope, but _does_ have access to the current `global` object.\n         *\n         * The following example compiles code that increments a `global` variable then\n         * executes that code multiple times:\n         *\n         * ```js\n         * import vm from 'node:vm';\n         *\n         * global.globalVar = 0;\n         *\n         * const script = new vm.Script('globalVar += 1', { filename: 'myfile.vm' });\n         *\n         * for (let i = 0; i < 1000; ++i) {\n         *   script.runInThisContext();\n         * }\n         *\n         * console.log(globalVar);\n         *\n         * // 1000\n         * ```\n         * @since v0.3.1\n         * @return the result of the very last statement executed in the script.\n         */\n        runInThisContext(options?: RunningScriptOptions): any;\n        /**\n         * Creates a code cache that can be used with the `Script` constructor's`cachedData` option. Returns a `Buffer`. This method may be called at any\n         * time and any number of times.\n         *\n         * ```js\n         * const script = new vm.Script(`\n         * function add(a, b) {\n         *   return a + b;\n         * }\n         *\n         * const x = add(1, 2);\n         * `);\n         *\n         * const cacheWithoutX = script.createCachedData();\n         *\n         * script.runInThisContext();\n         *\n         * const cacheWithX = script.createCachedData();\n         * ```\n         * @since v10.6.0\n         */\n        createCachedData(): Buffer;\n        /** @deprecated in favor of `script.createCachedData()` */\n        cachedDataProduced?: boolean | undefined;\n        cachedDataRejected?: boolean | undefined;\n        cachedData?: Buffer | undefined;\n        /**\n         * When the script is compiled from a source that contains a source map magic comment, this property will be set to the URL of the source map.\n         */\n        sourceMapURL?: string | undefined;\n    }\n    /**\n     * If given a `contextObject`, the `vm.createContext()` method will `prepare\n     * that object` so that it can be used in calls to {@link runInContext} or `script.runInContext()`. Inside such scripts,\n     * the `contextObject` will be the global object, retaining all of its existing\n     * properties but also having the built-in objects and functions any standard [global object](https://es5.github.io/#x15.1) has. Outside of scripts run by the vm module, global variables\n     * will remain unchanged.\n     *\n     * ```js\n     * import vm from 'node:vm';\n     *\n     * global.globalVar = 3;\n     *\n     * const context = { globalVar: 1 };\n     * vm.createContext(context);\n     *\n     * vm.runInContext('globalVar *= 2;', context);\n     *\n     * console.log(context);\n     * // Prints: { globalVar: 2 }\n     *\n     * console.log(global.globalVar);\n     * // Prints: 3\n     * ```\n     *\n     * If `contextObject` is omitted (or passed explicitly as `undefined`), a new,\n     * empty `contextified` object will be returned.\n     *\n     * The `vm.createContext()` method is primarily useful for creating a single\n     * context that can be used to run multiple scripts. For instance, if emulating a\n     * web browser, the method can be used to create a single context representing a\n     * window's global object, then run all `<script>` tags together within that\n     * context.\n     *\n     * The provided `name` and `origin` of the context are made visible through the\n     * Inspector API.\n     * @since v0.3.1\n     * @return contextified object.\n     */\n    function createContext(sandbox?: Context, options?: CreateContextOptions): Context;\n    /**\n     * Returns `true` if the given `object` object has been `contextified` using {@link createContext}.\n     * @since v0.11.7\n     */\n    function isContext(sandbox: Context): boolean;\n    /**\n     * The `vm.runInContext()` method compiles `code`, runs it within the context of\n     * the `contextifiedObject`, then returns the result. Running code does not have\n     * access to the local scope. The `contextifiedObject` object _must_ have been\n     * previously `contextified` using the {@link createContext} method.\n     *\n     * If `options` is a string, then it specifies the filename.\n     *\n     * The following example compiles and executes different scripts using a single `contextified` object:\n     *\n     * ```js\n     * import vm from 'node:vm';\n     *\n     * const contextObject = { globalVar: 1 };\n     * vm.createContext(contextObject);\n     *\n     * for (let i = 0; i < 10; ++i) {\n     *   vm.runInContext('globalVar *= 2;', contextObject);\n     * }\n     * console.log(contextObject);\n     * // Prints: { globalVar: 1024 }\n     * ```\n     * @since v0.3.1\n     * @param code The JavaScript code to compile and run.\n     * @param contextifiedObject The `contextified` object that will be used as the `global` when the `code` is compiled and run.\n     * @return the result of the very last statement executed in the script.\n     */\n    function runInContext(code: string, contextifiedObject: Context, options?: RunningCodeOptions | string): any;\n    /**\n     * The `vm.runInNewContext()` first contextifies the given `contextObject` (or\n     * creates a new `contextObject` if passed as `undefined`), compiles the `code`,\n     * runs it within the created context, then returns the result. Running code\n     * does not have access to the local scope.\n     *\n     * If `options` is a string, then it specifies the filename.\n     *\n     * The following example compiles and executes code that increments a global\n     * variable and sets a new one. These globals are contained in the `contextObject`.\n     *\n     * ```js\n     * import vm from 'node:vm';\n     *\n     * const contextObject = {\n     *   animal: 'cat',\n     *   count: 2\n     * };\n     *\n     * vm.runInNewContext('count += 1; name = \"kitty\"', contextObject);\n     * console.log(contextObject);\n     * // Prints: { animal: 'cat', count: 3, name: 'kitty' }\n     * ```\n     * @since v0.3.1\n     * @param code The JavaScript code to compile and run.\n     * @param contextObject An object that will be `contextified`. If `undefined`, a new object will be created.\n     * @return the result of the very last statement executed in the script.\n     */\n    function runInNewContext(\n        code: string,\n        contextObject?: Context,\n        options?: RunningCodeInNewContextOptions | string,\n    ): any;\n    /**\n     * `vm.runInThisContext()` compiles `code`, runs it within the context of the\n     * current `global` and returns the result. Running code does not have access to\n     * local scope, but does have access to the current `global` object.\n     *\n     * If `options` is a string, then it specifies the filename.\n     *\n     * The following example illustrates using both `vm.runInThisContext()` and\n     * the JavaScript [`eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) function to run the same code:\n     *\n     * ```js\n     * import vm from 'node:vm';\n     * let localVar = 'initial value';\n     *\n     * const vmResult = vm.runInThisContext('localVar = \"vm\";');\n     * console.log(`vmResult: '${vmResult}', localVar: '${localVar}'`);\n     * // Prints: vmResult: 'vm', localVar: 'initial value'\n     *\n     * const evalResult = eval('localVar = \"eval\";');\n     * console.log(`evalResult: '${evalResult}', localVar: '${localVar}'`);\n     * // Prints: evalResult: 'eval', localVar: 'eval'\n     * ```\n     *\n     * Because `vm.runInThisContext()` does not have access to the local scope,`localVar` is unchanged. In contrast,\n     * [`eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) _does_ have access to the\n     * local scope, so the value `localVar` is changed. In this way`vm.runInThisContext()` is much like an [indirect `eval()` call](https://es5.github.io/#x10.4.2), e.g.`(0,eval)('code')`.\n     *\n     * ## Example: Running an HTTP server within a VM\n     *\n     * When using either `script.runInThisContext()` or {@link runInThisContext}, the code is executed within the current V8 global\n     * context. The code passed to this VM context will have its own isolated scope.\n     *\n     * In order to run a simple web server using the `http` module the code passed to\n     * the context must either call `require('http')` on its own, or have a reference\n     * to the `http` module passed to it. For instance:\n     *\n     * ```js\n     * 'use strict';\n     * import vm from 'node:vm';\n     *\n     * const code = `\n     * ((require) => {\n     *   const http = require('node:http');\n     *   http.createServer((request, response) => {\n     *     response.writeHead(200, { 'Content-Type': 'text/plain' });\n     *     response.end('Hello World\\\\n');\n     *   }).listen(8124);\n     *\n     *   console.log('Server running at http://127.0.0.1:8124/');\n     * })`;\n     *\n     * vm.runInThisContext(code)(require);\n     * ```\n     *\n     * The `require()` in the above case shares the state with the context it is\n     * passed from. This may introduce risks when untrusted code is executed, e.g.\n     * altering objects in the context in unwanted ways.\n     * @since v0.3.1\n     * @param code The JavaScript code to compile and run.\n     * @return the result of the very last statement executed in the script.\n     */\n    function runInThisContext(code: string, options?: RunningCodeOptions | string): any;\n    /**\n     * Compiles the given code into the provided context (if no context is\n     * supplied, the current context is used), and returns it wrapped inside a\n     * function with the given `params`.\n     * @since v10.10.0\n     * @param code The body of the function to compile.\n     * @param params An array of strings containing all parameters for the function.\n     */\n    function compileFunction(\n        code: string,\n        params?: readonly string[],\n        options?: CompileFunctionOptions,\n    ): Function & {\n        cachedData?: Script[\"cachedData\"] | undefined;\n        cachedDataProduced?: Script[\"cachedDataProduced\"] | undefined;\n        cachedDataRejected?: Script[\"cachedDataRejected\"] | undefined;\n    };\n    /**\n     * Measure the memory known to V8 and used by all contexts known to the\n     * current V8 isolate, or the main context.\n     *\n     * The format of the object that the returned Promise may resolve with is\n     * specific to the V8 engine and may change from one version of V8 to the next.\n     *\n     * The returned result is different from the statistics returned by`v8.getHeapSpaceStatistics()` in that `vm.measureMemory()` measure the\n     * memory reachable by each V8 specific contexts in the current instance of\n     * the V8 engine, while the result of `v8.getHeapSpaceStatistics()` measure\n     * the memory occupied by each heap space in the current V8 instance.\n     *\n     * ```js\n     * import vm from 'node:vm';\n     * // Measure the memory used by the main context.\n     * vm.measureMemory({ mode: 'summary' })\n     *   // This is the same as vm.measureMemory()\n     *   .then((result) => {\n     *     // The current format is:\n     *     // {\n     *     //   total: {\n     *     //      jsMemoryEstimate: 2418479, jsMemoryRange: [ 2418479, 2745799 ]\n     *     //    }\n     *     // }\n     *     console.log(result);\n     *   });\n     *\n     * const context = vm.createContext({ a: 1 });\n     * vm.measureMemory({ mode: 'detailed', execution: 'eager' })\n     *   .then((result) => {\n     *     // Reference the context here so that it won't be GC'ed\n     *     // until the measurement is complete.\n     *     console.log(context.a);\n     *     // {\n     *     //   total: {\n     *     //     jsMemoryEstimate: 2574732,\n     *     //     jsMemoryRange: [ 2574732, 2904372 ]\n     *     //   },\n     *     //   current: {\n     *     //     jsMemoryEstimate: 2438996,\n     *     //     jsMemoryRange: [ 2438996, 2768636 ]\n     *     //   },\n     *     //   other: [\n     *     //     {\n     *     //       jsMemoryEstimate: 135736,\n     *     //       jsMemoryRange: [ 135736, 465376 ]\n     *     //     }\n     *     //   ]\n     *     // }\n     *     console.log(result);\n     *   });\n     * ```\n     * @since v13.10.0\n     * @experimental\n     */\n    function measureMemory(options?: MeasureMemoryOptions): Promise<MemoryMeasurement>;\n\n    interface ModuleEvaluateOptions {\n        timeout?: RunningScriptOptions[\"timeout\"] | undefined;\n        breakOnSigint?: RunningScriptOptions[\"breakOnSigint\"] | undefined;\n    }\n    type ModuleLinker = (\n        specifier: string,\n        referencingModule: Module,\n        extra: {\n            /** @deprecated Use `attributes` instead */\n            assert: ImportAttributes;\n            attributes: ImportAttributes;\n        },\n    ) => Module | Promise<Module>;\n    type ModuleStatus = \"unlinked\" | \"linking\" | \"linked\" | \"evaluating\" | \"evaluated\" | \"errored\";\n    class Module {\n        /**\n         * The specifiers of all dependencies of this module.\n         */\n        dependencySpecifiers: readonly string[];\n        /**\n         * If the `module.status` is `'errored'`, this property contains the exception thrown by the module during evaluation.\n         * If the status is anything else, accessing this property will result in a thrown exception.\n         */\n        error: any;\n        /**\n         * The identifier of the current module, as set in the constructor.\n         */\n        identifier: string;\n        context: Context;\n        /**\n         * The namespace object of the module. This is only available after linking (`module.link()`) has completed.\n         */\n        namespace: Object;\n        /**\n         * The current status of the module.\n         */\n        status: ModuleStatus;\n        /**\n         * Evaluate the module.\n         *\n         * This must be called after the module has been linked; otherwise it will reject\n         * It could be called also when the module has already been evaluated, in which case it will either do nothing\n         * if the initial evaluation ended in success (`module.status` is `'evaluated'`) or it will re-throw the exception\n         * that the initial evaluation resulted in (`module.status` is `'errored'`).\n         *\n         * This method cannot be called while the module is being evaluated (`module.status` is `'evaluating'`).\n         */\n        evaluate(options?: ModuleEvaluateOptions): Promise<void>;\n        /**\n         * Link module dependencies. This method must be called before evaluation, and can only be called once per module.\n         */\n        link(linker: ModuleLinker): Promise<void>;\n    }\n\n    interface SourceTextModuleOptions {\n        /**\n         * String used in stack traces.\n         * @default 'vm:module(i)' where i is a context-specific ascending index.\n         */\n        identifier?: string | undefined;\n        /**\n         * Provides an optional data with V8's code cache data for the supplied source.\n         */\n        cachedData?: ScriptOptions[\"cachedData\"] | undefined;\n        context?: Context | undefined;\n        lineOffset?: BaseOptions[\"lineOffset\"] | undefined;\n        columnOffset?: BaseOptions[\"columnOffset\"] | undefined;\n        /**\n         * Called during evaluation of this module to initialize the `import.meta`.\n         */\n        initializeImportMeta?: ((meta: ImportMeta, module: SourceTextModule) => void) | undefined;\n        /**\n         * Called during evaluation of this module when `import()` is called.\n         * If this option is not specified, calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`.\n         * If `--experimental-vm-modules` isn't set, this callback will be ignored and calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG`.\n         */\n        importModuleDynamically?: DynamicModuleLoader<SourceTextModule> | undefined;\n    }\n    class SourceTextModule extends Module {\n        /**\n         * Creates a new `SourceTextModule` instance.\n         * @param code JavaScript Module code to parse\n         */\n        constructor(code: string, options?: SourceTextModuleOptions);\n    }\n\n    interface SyntheticModuleOptions {\n        /**\n         * String used in stack traces.\n         * @default 'vm:module(i)' where i is a context-specific ascending index.\n         */\n        identifier?: string | undefined;\n        /**\n         * The contextified object as returned by the `vm.createContext()` method, to compile and evaluate this module in.\n         */\n        context?: Context | undefined;\n    }\n    class SyntheticModule extends Module {\n        /**\n         * Creates a new `SyntheticModule` instance.\n         * @param exportNames Array of names that will be exported from the module.\n         * @param evaluateCallback Called when the module is evaluated.\n         */\n        constructor(\n            exportNames: string[],\n            evaluateCallback: (this: SyntheticModule) => void,\n            options?: SyntheticModuleOptions,\n        );\n        /**\n         * This method is used after the module is linked to set the values of exports.\n         * If it is called before the module is linked, an `ERR_VM_MODULE_STATUS` error will be thrown.\n         * @param name\n         * @param value\n         */\n        setExport(name: string, value: any): void;\n    }\n}\ndeclare module \"node:vm\" {\n    export * from \"vm\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/wasi.d.ts",
      "content": "/**\n * The WASI API provides an implementation of the [WebAssembly System Interface](https://wasi.dev/) specification. WASI gives sandboxed WebAssembly applications access to the\n * underlying operating system via a collection of POSIX-like functions.\n *\n * ```js\n * import { readFile } from 'node:fs/promises';\n * import { WASI } from 'wasi';\n * import { argv, env } from 'node:process';\n *\n * const wasi = new WASI({\n *   args: argv,\n *   env,\n *   preopens: {\n *     '/sandbox': '/some/real/path/that/wasm/can/access'\n *   }\n * });\n *\n * // Some WASI binaries require:\n * //   const importObject = { wasi_unstable: wasi.wasiImport };\n * const importObject = { wasi_snapshot_preview1: wasi.wasiImport };\n *\n * const wasm = await WebAssembly.compile(\n *   await readFile(new URL('./demo.wasm', import.meta.url))\n * );\n * const instance = await WebAssembly.instantiate(wasm, importObject);\n *\n * wasi.start(instance);\n * ```\n *\n * To run the above example, create a new WebAssembly text format file named `demo.wat`:\n *\n * ```text\n * (module\n *     ;; Import the required fd_write WASI function which will write the given io vectors to stdout\n *     ;; The function signature for fd_write is:\n *     ;; (File Descriptor, *iovs, iovs_len, nwritten) -> Returns number of bytes written\n *     (import \"wasi_snapshot_preview1\" \"fd_write\" (func $fd_write (param i32 i32 i32 i32) (result i32)))\n *\n *     (memory 1)\n *     (export \"memory\" (memory 0))\n *\n *     ;; Write 'hello world\\n' to memory at an offset of 8 bytes\n *     ;; Note the trailing newline which is required for the text to appear\n *     (data (i32.const 8) \"hello world\\n\")\n *\n *     (func $main (export \"_start\")\n *         ;; Creating a new io vector within linear memory\n *         (i32.store (i32.const 0) (i32.const 8))  ;; iov.iov_base - This is a pointer to the start of the 'hello world\\n' string\n *         (i32.store (i32.const 4) (i32.const 12))  ;; iov.iov_len - The length of the 'hello world\\n' string\n *\n *         (call $fd_write\n *             (i32.const 1) ;; file_descriptor - 1 for stdout\n *             (i32.const 0) ;; *iovs - The pointer to the iov array, which is stored at memory location 0\n *             (i32.const 1) ;; iovs_len - We're printing 1 string stored in an iov - so one.\n *             (i32.const 20) ;; nwritten - A place in memory to store the number of bytes written\n *         )\n *         drop ;; Discard the number of bytes written from the top of the stack\n *     )\n * )\n * ```\n *\n * Use [wabt](https://github.com/WebAssembly/wabt) to compile `.wat` to `.wasm`\n *\n * ```console\n * $ wat2wasm demo.wat\n * ```\n *\n * The `--experimental-wasi-unstable-preview1` CLI argument is needed for this\n * example to run.\n * @experimental\n * @see [source](https://github.com/nodejs/node/blob/v18.19.1/lib/wasi.js)\n */\ndeclare module \"wasi\" {\n    interface WASIOptions {\n        /**\n         * An array of strings that the WebAssembly application will\n         * see as command line arguments. The first argument is the virtual path to the\n         * WASI command itself.\n         * @default []\n         */\n        args?: string[] | undefined;\n        /**\n         * An object similar to `process.env` that the WebAssembly\n         * application will see as its environment.\n         * @default {}\n         */\n        env?: object | undefined;\n        /**\n         * This object represents the WebAssembly application's\n         * sandbox directory structure. The string keys of `preopens` are treated as\n         * directories within the sandbox. The corresponding values in `preopens` are\n         * the real paths to those directories on the host machine.\n         */\n        preopens?: NodeJS.Dict<string> | undefined;\n        /**\n         * By default, WASI applications terminate the Node.js\n         * process via the `__wasi_proc_exit()` function. Setting this option to `true`\n         * causes `wasi.start()` to return the exit code rather than terminate the\n         * process.\n         * @default false\n         */\n        returnOnExit?: boolean | undefined;\n        /**\n         * The file descriptor used as standard input in the WebAssembly application.\n         * @default 0\n         */\n        stdin?: number | undefined;\n        /**\n         * The file descriptor used as standard output in the WebAssembly application.\n         * @default 1\n         */\n        stdout?: number | undefined;\n        /**\n         * The file descriptor used as standard error in the WebAssembly application.\n         * @default 2\n         */\n        stderr?: number | undefined;\n    }\n    /**\n     * The `WASI` class provides the WASI system call API and additional convenience\n     * methods for working with WASI-based applications. Each `WASI` instance\n     * represents a distinct sandbox environment. For security purposes, each `WASI` instance must have its command-line arguments, environment variables, and\n     * sandbox directory structure configured explicitly.\n     * @since v13.3.0, v12.16.0\n     */\n    class WASI {\n        constructor(options?: WASIOptions);\n        /**\n         * Attempt to begin execution of `instance` as a WASI command by invoking its `_start()` export. If `instance` does not contain a `_start()` export, or if `instance` contains an `_initialize()`\n         * export, then an exception is thrown.\n         *\n         * `start()` requires that `instance` exports a [`WebAssembly.Memory`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory) named `memory`. If\n         * `instance` does not have a `memory` export an exception is thrown.\n         *\n         * If `start()` is called more than once, an exception is thrown.\n         * @since v13.3.0, v12.16.0\n         */\n        start(instance: object): number; // TODO: avoid DOM dependency until WASM moved to own lib.\n        /**\n         * Attempt to initialize `instance` as a WASI reactor by invoking its `_initialize()` export, if it is present. If `instance` contains a `_start()` export, then an exception is thrown.\n         *\n         * `initialize()` requires that `instance` exports a [`WebAssembly.Memory`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory) named `memory`.\n         * If `instance` does not have a `memory` export an exception is thrown.\n         *\n         * If `initialize()` is called more than once, an exception is thrown.\n         * @since v14.6.0, v12.19.0\n         */\n        initialize(instance: object): void; // TODO: avoid DOM dependency until WASM moved to own lib.\n        /**\n         * `wasiImport` is an object that implements the WASI system call API. This object\n         * should be passed as the `wasi_snapshot_preview1` import during the instantiation\n         * of a [`WebAssembly.Instance`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance).\n         * @since v13.3.0, v12.16.0\n         */\n        readonly wasiImport: NodeJS.Dict<any>; // TODO: Narrow to DOM types\n    }\n}\ndeclare module \"node:wasi\" {\n    export * from \"wasi\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/worker_threads.d.ts",
      "content": "/**\n * The `worker_threads` module enables the use of threads that execute JavaScript\n * in parallel. To access it:\n *\n * ```js\n * import worker from 'node:worker_threads';\n * ```\n *\n * Workers (threads) are useful for performing CPU-intensive JavaScript operations.\n * They do not help much with I/O-intensive work. The Node.js built-in\n * asynchronous I/O operations are more efficient than Workers can be.\n *\n * Unlike `child_process` or `cluster`, `worker_threads` can share memory. They do\n * so by transferring `ArrayBuffer` instances or sharing `SharedArrayBuffer`instances.\n *\n * ```js\n * import {\n *   Worker, isMainThread, parentPort, workerData\n * } from 'node:worker_threads';\n * import { parse } from 'some-js-parsing-library';\n *\n * if (isMainThread) {\n *   module.exports = function parseJSAsync(script) {\n *     return new Promise((resolve, reject) => {\n *       const worker = new Worker(__filename, {\n *         workerData: script\n *       });\n *       worker.on('message', resolve);\n *       worker.on('error', reject);\n *       worker.on('exit', (code) => {\n *         if (code !== 0)\n *           reject(new Error(`Worker stopped with exit code ${code}`));\n *       });\n *     });\n *   };\n * } else {\n *   const script = workerData;\n *   parentPort.postMessage(parse(script));\n * }\n * ```\n *\n * The above example spawns a Worker thread for each `parseJSAsync()` call. In\n * practice, use a pool of Workers for these kinds of tasks. Otherwise, the\n * overhead of creating Workers would likely exceed their benefit.\n *\n * When implementing a worker pool, use the `AsyncResource` API to inform\n * diagnostic tools (e.g. to provide asynchronous stack traces) about the\n * correlation between tasks and their outcomes. See `\"Using AsyncResource for a Worker thread pool\"` in the `async_hooks` documentation for an example implementation.\n *\n * Worker threads inherit non-process-specific options by default. Refer to `Worker constructor options` to know how to customize worker thread options,\n * specifically `argv` and `execArgv` options.\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/worker_threads.js)\n */\ndeclare module \"worker_threads\" {\n    import { Context } from \"node:vm\";\n    import { EventEmitter, NodeEventTarget } from \"node:events\";\n    import { EventLoopUtilityFunction } from \"node:perf_hooks\";\n    import { FileHandle } from \"node:fs/promises\";\n    import { Readable, Writable } from \"node:stream\";\n    import { ReadableStream, TransformStream, WritableStream } from \"node:stream/web\";\n    import { URL } from \"node:url\";\n    import { MessageEvent } from \"undici-types\";\n    const isMainThread: boolean;\n    const parentPort: null | MessagePort;\n    const resourceLimits: ResourceLimits;\n    const SHARE_ENV: unique symbol;\n    const threadId: number;\n    const workerData: any;\n    /**\n     * Instances of the `worker.MessageChannel` class represent an asynchronous,\n     * two-way communications channel.\n     * The `MessageChannel` has no methods of its own. `new MessageChannel()`yields an object with `port1` and `port2` properties, which refer to linked `MessagePort` instances.\n     *\n     * ```js\n     * import { MessageChannel } from 'node:worker_threads';\n     *\n     * const { port1, port2 } = new MessageChannel();\n     * port1.on('message', (message) => console.log('received', message));\n     * port2.postMessage({ foo: 'bar' });\n     * // Prints: received { foo: 'bar' } from the `port1.on('message')` listener\n     * ```\n     * @since v10.5.0\n     */\n    class MessageChannel {\n        readonly port1: MessagePort;\n        readonly port2: MessagePort;\n    }\n    interface WorkerPerformance {\n        eventLoopUtilization: EventLoopUtilityFunction;\n    }\n    type Transferable =\n        | ArrayBuffer\n        | MessagePort\n        | AbortSignal\n        | FileHandle\n        | ReadableStream\n        | WritableStream\n        | TransformStream;\n    /** @deprecated Use `import { Transferable } from \"node:worker_threads\"` instead. */\n    type TransferListItem = Transferable;\n    /**\n     * Instances of the `worker.MessagePort` class represent one end of an\n     * asynchronous, two-way communications channel. It can be used to transfer\n     * structured data, memory regions and other `MessagePort`s between different `Worker` s.\n     *\n     * This implementation matches [browser `MessagePort`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort) s.\n     * @since v10.5.0\n     */\n    class MessagePort implements EventTarget {\n        /**\n         * Disables further sending of messages on either side of the connection.\n         * This method can be called when no further communication will happen over this`MessagePort`.\n         *\n         * The `'close' event` is emitted on both `MessagePort` instances that\n         * are part of the channel.\n         * @since v10.5.0\n         */\n        close(): void;\n        /**\n         * Sends a JavaScript value to the receiving side of this channel.`value` is transferred in a way which is compatible with\n         * the [HTML structured clone algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm).\n         *\n         * In particular, the significant differences to `JSON` are:\n         *\n         * * `value` may contain circular references.\n         * * `value` may contain instances of builtin JS types such as `RegExp`s,`BigInt`s, `Map`s, `Set`s, etc.\n         * * `value` may contain typed arrays, both using `ArrayBuffer`s\n         * and `SharedArrayBuffer`s.\n         * * `value` may contain [`WebAssembly.Module`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module) instances.\n         * * `value` may not contain native (C++-backed) objects other than:\n         *\n         * ```js\n         * import { MessageChannel } from 'node:worker_threads';\n         * const { port1, port2 } = new MessageChannel();\n         *\n         * port1.on('message', (message) => console.log(message));\n         *\n         * const circularData = {};\n         * circularData.foo = circularData;\n         * // Prints: { foo: [Circular] }\n         * port2.postMessage(circularData);\n         * ```\n         *\n         * `transferList` may be a list of [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer), `MessagePort` and `FileHandle` objects.\n         * After transferring, they are not usable on the sending side of the channel\n         * anymore (even if they are not contained in `value`). Unlike with `child processes`, transferring handles such as network sockets is currently\n         * not supported.\n         *\n         * If `value` contains [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) instances, those are accessible\n         * from either thread. They cannot be listed in `transferList`.\n         *\n         * `value` may still contain `ArrayBuffer` instances that are not in`transferList`; in that case, the underlying memory is copied rather than moved.\n         *\n         * ```js\n         * import { MessageChannel } from 'node:worker_threads';\n         * const { port1, port2 } = new MessageChannel();\n         *\n         * port1.on('message', (message) => console.log(message));\n         *\n         * const uint8Array = new Uint8Array([ 1, 2, 3, 4 ]);\n         * // This posts a copy of `uint8Array`:\n         * port2.postMessage(uint8Array);\n         * // This does not copy data, but renders `uint8Array` unusable:\n         * port2.postMessage(uint8Array, [ uint8Array.buffer ]);\n         *\n         * // The memory for the `sharedUint8Array` is accessible from both the\n         * // original and the copy received by `.on('message')`:\n         * const sharedUint8Array = new Uint8Array(new SharedArrayBuffer(4));\n         * port2.postMessage(sharedUint8Array);\n         *\n         * // This transfers a freshly created message port to the receiver.\n         * // This can be used, for example, to create communication channels between\n         * // multiple `Worker` threads that are children of the same parent thread.\n         * const otherChannel = new MessageChannel();\n         * port2.postMessage({ port: otherChannel.port1 }, [ otherChannel.port1 ]);\n         * ```\n         *\n         * The message object is cloned immediately, and can be modified after\n         * posting without having side effects.\n         *\n         * For more information on the serialization and deserialization mechanisms\n         * behind this API, see the `serialization API of the v8 module`.\n         * @since v10.5.0\n         */\n        postMessage(value: any, transferList?: readonly Transferable[]): void;\n        /**\n         * Opposite of `unref()`. Calling `ref()` on a previously `unref()`ed port does _not_ let the program exit if it's the only active handle left (the default\n         * behavior). If the port is `ref()`ed, calling `ref()` again has no effect.\n         *\n         * If listeners are attached or removed using `.on('message')`, the port\n         * is `ref()`ed and `unref()`ed automatically depending on whether\n         * listeners for the event exist.\n         * @since v10.5.0\n         */\n        ref(): void;\n        /**\n         * Calling `unref()` on a port allows the thread to exit if this is the only\n         * active handle in the event system. If the port is already `unref()`ed calling`unref()` again has no effect.\n         *\n         * If listeners are attached or removed using `.on('message')`, the port is`ref()`ed and `unref()`ed automatically depending on whether\n         * listeners for the event exist.\n         * @since v10.5.0\n         */\n        unref(): void;\n        /**\n         * Starts receiving messages on this `MessagePort`. When using this port\n         * as an event emitter, this is called automatically once `'message'`listeners are attached.\n         *\n         * This method exists for parity with the Web `MessagePort` API. In Node.js,\n         * it is only useful for ignoring messages when no event listener is present.\n         * Node.js also diverges in its handling of `.onmessage`. Setting it\n         * automatically calls `.start()`, but unsetting it lets messages queue up\n         * until a new handler is set or the port is discarded.\n         * @since v10.5.0\n         */\n        start(): void;\n        addListener(event: \"close\", listener: (ev: Event) => void): this;\n        addListener(event: \"message\", listener: (value: any) => void): this;\n        addListener(event: \"messageerror\", listener: (error: Error) => void): this;\n        addListener(event: string, listener: (arg: any) => void): this;\n        emit(event: \"close\", ev: Event): boolean;\n        emit(event: \"message\", value: any): boolean;\n        emit(event: \"messageerror\", error: Error): boolean;\n        emit(event: string, arg: any): boolean;\n        off(event: \"close\", listener: (ev: Event) => void, options?: EventListenerOptions): this;\n        off(event: \"message\", listener: (value: any) => void, options?: EventListenerOptions): this;\n        off(event: \"messageerror\", listener: (error: Error) => void, options?: EventListenerOptions): this;\n        off(event: string, listener: (arg: any) => void, options?: EventListenerOptions): this;\n        on(event: \"close\", listener: (ev: Event) => void): this;\n        on(event: \"message\", listener: (value: any) => void): this;\n        on(event: \"messageerror\", listener: (error: Error) => void): this;\n        on(event: string, listener: (arg: any) => void): this;\n        once(event: \"close\", listener: (ev: Event) => void): this;\n        once(event: \"message\", listener: (value: any) => void): this;\n        once(event: \"messageerror\", listener: (error: Error) => void): this;\n        once(event: string, listener: (arg: any) => void): this;\n        removeListener(event: \"close\", listener: (ev: Event) => void, options?: EventListenerOptions): this;\n        removeListener(event: \"message\", listener: (value: any) => void, options?: EventListenerOptions): this;\n        removeListener(event: \"messageerror\", listener: (error: Error) => void, options?: EventListenerOptions): this;\n        removeListener(event: string, listener: (arg: any) => void, options?: EventListenerOptions): this;\n    }\n    interface MessagePort extends NodeEventTarget {}\n    interface WorkerOptions {\n        /**\n         * List of arguments which would be stringified and appended to\n         * `process.argv` in the worker. This is mostly similar to the `workerData`\n         * but the values will be available on the global `process.argv` as if they\n         * were passed as CLI options to the script.\n         */\n        argv?: any[] | undefined;\n        env?: NodeJS.Dict<string> | typeof SHARE_ENV | undefined;\n        eval?: boolean | undefined;\n        workerData?: any;\n        stdin?: boolean | undefined;\n        stdout?: boolean | undefined;\n        stderr?: boolean | undefined;\n        execArgv?: string[] | undefined;\n        resourceLimits?: ResourceLimits | undefined;\n        /**\n         * Additional data to send in the first worker message.\n         */\n        transferList?: Transferable[] | undefined;\n        /**\n         * @default true\n         */\n        trackUnmanagedFds?: boolean | undefined;\n        /**\n         * An optional `name` to be appended to the worker title\n         * for debuggin/identification purposes, making the final title as\n         * `[worker ${id}] ${name}`.\n         */\n        name?: string | undefined;\n    }\n    interface ResourceLimits {\n        /**\n         * The maximum size of a heap space for recently created objects.\n         */\n        maxYoungGenerationSizeMb?: number | undefined;\n        /**\n         * The maximum size of the main heap in MB.\n         */\n        maxOldGenerationSizeMb?: number | undefined;\n        /**\n         * The size of a pre-allocated memory range used for generated code.\n         */\n        codeRangeSizeMb?: number | undefined;\n        /**\n         * The default maximum stack size for the thread. Small values may lead to unusable Worker instances.\n         * @default 4\n         */\n        stackSizeMb?: number | undefined;\n    }\n    /**\n     * The `Worker` class represents an independent JavaScript execution thread.\n     * Most Node.js APIs are available inside of it.\n     *\n     * Notable differences inside a Worker environment are:\n     *\n     * * The `process.stdin`, `process.stdout` and `process.stderr` may be redirected by the parent thread.\n     * * The `import { isMainThread } from 'node:worker_threads'` property is set to `false`.\n     * * The `import { parentPort } from 'node:worker_threads'` message port is available.\n     * * `process.exit()` does not stop the whole program, just the single thread,\n     * and `process.abort()` is not available.\n     * * `process.chdir()` and `process` methods that set group or user ids\n     * are not available.\n     * * `process.env` is a copy of the parent thread's environment variables,\n     * unless otherwise specified. Changes to one copy are not visible in other\n     * threads, and are not visible to native add-ons (unless `worker.SHARE_ENV` is passed as the `env` option to the `Worker` constructor).\n     * * `process.title` cannot be modified.\n     * * Signals are not delivered through `process.on('...')`.\n     * * Execution may stop at any point as a result of `worker.terminate()` being invoked.\n     * * IPC channels from parent processes are not accessible.\n     * * The `trace_events` module is not supported.\n     * * Native add-ons can only be loaded from multiple threads if they fulfill `certain conditions`.\n     *\n     * Creating `Worker` instances inside of other `Worker`s is possible.\n     *\n     * Like [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) and the `cluster module`, two-way communication can be\n     * achieved through inter-thread message passing. Internally, a `Worker` has a\n     * built-in pair of `MessagePort` s that are already associated with each other\n     * when the `Worker` is created. While the `MessagePort` object on the parent side\n     * is not directly exposed, its functionalities are exposed through `worker.postMessage()` and the `worker.on('message')` event\n     * on the `Worker` object for the parent thread.\n     *\n     * To create custom messaging channels (which is encouraged over using the default\n     * global channel because it facilitates separation of concerns), users can create\n     * a `MessageChannel` object on either thread and pass one of the`MessagePort`s on that `MessageChannel` to the other thread through a\n     * pre-existing channel, such as the global one.\n     *\n     * See `port.postMessage()` for more information on how messages are passed,\n     * and what kind of JavaScript values can be successfully transported through\n     * the thread barrier.\n     *\n     * ```js\n     * import assert from 'node:assert';\n     * import {\n     *   Worker, MessageChannel, MessagePort, isMainThread, parentPort\n     * } from 'node:worker_threads';\n     * if (isMainThread) {\n     *   const worker = new Worker(__filename);\n     *   const subChannel = new MessageChannel();\n     *   worker.postMessage({ hereIsYourPort: subChannel.port1 }, [subChannel.port1]);\n     *   subChannel.port2.on('message', (value) => {\n     *     console.log('received:', value);\n     *   });\n     * } else {\n     *   parentPort.once('message', (value) => {\n     *     assert(value.hereIsYourPort instanceof MessagePort);\n     *     value.hereIsYourPort.postMessage('the worker is sending this');\n     *     value.hereIsYourPort.close();\n     *   });\n     * }\n     * ```\n     * @since v10.5.0\n     */\n    class Worker extends EventEmitter {\n        /**\n         * If `stdin: true` was passed to the `Worker` constructor, this is a\n         * writable stream. The data written to this stream will be made available in\n         * the worker thread as `process.stdin`.\n         * @since v10.5.0\n         */\n        readonly stdin: Writable | null;\n        /**\n         * This is a readable stream which contains data written to `process.stdout` inside the worker thread. If `stdout: true` was not passed to the `Worker` constructor, then data is piped to the\n         * parent thread's `process.stdout` stream.\n         * @since v10.5.0\n         */\n        readonly stdout: Readable;\n        /**\n         * This is a readable stream which contains data written to `process.stderr` inside the worker thread. If `stderr: true` was not passed to the `Worker` constructor, then data is piped to the\n         * parent thread's `process.stderr` stream.\n         * @since v10.5.0\n         */\n        readonly stderr: Readable;\n        /**\n         * An integer identifier for the referenced thread. Inside the worker thread,\n         * it is available as `import { threadId } from 'node:worker_threads'`.\n         * This value is unique for each `Worker` instance inside a single process.\n         * @since v10.5.0\n         */\n        readonly threadId: number;\n        /**\n         * Provides the set of JS engine resource constraints for this Worker thread.\n         * If the `resourceLimits` option was passed to the `Worker` constructor,\n         * this matches its values.\n         *\n         * If the worker has stopped, the return value is an empty object.\n         * @since v13.2.0, v12.16.0\n         */\n        readonly resourceLimits?: ResourceLimits | undefined;\n        /**\n         * An object that can be used to query performance information from a worker\n         * instance. Similar to `perf_hooks.performance`.\n         * @since v15.1.0, v14.17.0, v12.22.0\n         */\n        readonly performance: WorkerPerformance;\n        /**\n         * @param filename  The path to the Worker’s main script or module.\n         *                  Must be either an absolute path or a relative path (i.e. relative to the current working directory) starting with ./ or ../,\n         *                  or a WHATWG URL object using file: protocol. If options.eval is true, this is a string containing JavaScript code rather than a path.\n         */\n        constructor(filename: string | URL, options?: WorkerOptions);\n        /**\n         * Send a message to the worker that is received via `require('worker_threads').parentPort.on('message')`.\n         * See `port.postMessage()` for more details.\n         * @since v10.5.0\n         */\n        postMessage(value: any, transferList?: readonly Transferable[]): void;\n        /**\n         * Opposite of `unref()`, calling `ref()` on a previously `unref()`ed worker does _not_ let the program exit if it's the only active handle left (the default\n         * behavior). If the worker is `ref()`ed, calling `ref()` again has\n         * no effect.\n         * @since v10.5.0\n         */\n        ref(): void;\n        /**\n         * Calling `unref()` on a worker allows the thread to exit if this is the only\n         * active handle in the event system. If the worker is already `unref()`ed calling`unref()` again has no effect.\n         * @since v10.5.0\n         */\n        unref(): void;\n        /**\n         * Stop all JavaScript execution in the worker thread as soon as possible.\n         * Returns a Promise for the exit code that is fulfilled when the `'exit' event` is emitted.\n         * @since v10.5.0\n         */\n        terminate(): Promise<number>;\n        /**\n         * Returns a readable stream for a V8 snapshot of the current state of the Worker.\n         * See `v8.getHeapSnapshot()` for more details.\n         *\n         * If the Worker thread is no longer running, which may occur before the `'exit' event` is emitted, the returned `Promise` is rejected\n         * immediately with an `ERR_WORKER_NOT_RUNNING` error.\n         * @since v13.9.0, v12.17.0\n         * @return A promise for a Readable Stream containing a V8 heap snapshot\n         */\n        getHeapSnapshot(): Promise<Readable>;\n        addListener(event: \"error\", listener: (err: Error) => void): this;\n        addListener(event: \"exit\", listener: (exitCode: number) => void): this;\n        addListener(event: \"message\", listener: (value: any) => void): this;\n        addListener(event: \"messageerror\", listener: (error: Error) => void): this;\n        addListener(event: \"online\", listener: () => void): this;\n        addListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        emit(event: \"error\", err: Error): boolean;\n        emit(event: \"exit\", exitCode: number): boolean;\n        emit(event: \"message\", value: any): boolean;\n        emit(event: \"messageerror\", error: Error): boolean;\n        emit(event: \"online\"): boolean;\n        emit(event: string | symbol, ...args: any[]): boolean;\n        on(event: \"error\", listener: (err: Error) => void): this;\n        on(event: \"exit\", listener: (exitCode: number) => void): this;\n        on(event: \"message\", listener: (value: any) => void): this;\n        on(event: \"messageerror\", listener: (error: Error) => void): this;\n        on(event: \"online\", listener: () => void): this;\n        on(event: string | symbol, listener: (...args: any[]) => void): this;\n        once(event: \"error\", listener: (err: Error) => void): this;\n        once(event: \"exit\", listener: (exitCode: number) => void): this;\n        once(event: \"message\", listener: (value: any) => void): this;\n        once(event: \"messageerror\", listener: (error: Error) => void): this;\n        once(event: \"online\", listener: () => void): this;\n        once(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependListener(event: \"error\", listener: (err: Error) => void): this;\n        prependListener(event: \"exit\", listener: (exitCode: number) => void): this;\n        prependListener(event: \"message\", listener: (value: any) => void): this;\n        prependListener(event: \"messageerror\", listener: (error: Error) => void): this;\n        prependListener(event: \"online\", listener: () => void): this;\n        prependListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        prependOnceListener(event: \"error\", listener: (err: Error) => void): this;\n        prependOnceListener(event: \"exit\", listener: (exitCode: number) => void): this;\n        prependOnceListener(event: \"message\", listener: (value: any) => void): this;\n        prependOnceListener(event: \"messageerror\", listener: (error: Error) => void): this;\n        prependOnceListener(event: \"online\", listener: () => void): this;\n        prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        removeListener(event: \"error\", listener: (err: Error) => void): this;\n        removeListener(event: \"exit\", listener: (exitCode: number) => void): this;\n        removeListener(event: \"message\", listener: (value: any) => void): this;\n        removeListener(event: \"messageerror\", listener: (error: Error) => void): this;\n        removeListener(event: \"online\", listener: () => void): this;\n        removeListener(event: string | symbol, listener: (...args: any[]) => void): this;\n        off(event: \"error\", listener: (err: Error) => void): this;\n        off(event: \"exit\", listener: (exitCode: number) => void): this;\n        off(event: \"message\", listener: (value: any) => void): this;\n        off(event: \"messageerror\", listener: (error: Error) => void): this;\n        off(event: \"online\", listener: () => void): this;\n        off(event: string | symbol, listener: (...args: any[]) => void): this;\n    }\n    interface BroadcastChannel extends NodeJS.RefCounted {}\n    /**\n     * Instances of `BroadcastChannel` allow asynchronous one-to-many communication\n     * with all other `BroadcastChannel` instances bound to the same channel name.\n     *\n     * ```js\n     * 'use strict';\n     *\n     * import {\n     *   isMainThread,\n     *   BroadcastChannel,\n     *   Worker\n     * } from 'node:worker_threads';\n     *\n     * const bc = new BroadcastChannel('hello');\n     *\n     * if (isMainThread) {\n     *   let c = 0;\n     *   bc.onmessage = (event) => {\n     *     console.log(event.data);\n     *     if (++c === 10) bc.close();\n     *   };\n     *   for (let n = 0; n < 10; n++)\n     *     new Worker(__filename);\n     * } else {\n     *   bc.postMessage('hello from every worker');\n     *   bc.close();\n     * }\n     * ```\n     * @since v15.4.0\n     */\n    class BroadcastChannel extends EventTarget {\n        readonly name: string;\n        /**\n         * Invoked with a single \\`MessageEvent\\` argument when a message is received.\n         * @since v15.4.0\n         */\n        onmessage: (message: MessageEvent) => void;\n        /**\n         * Invoked with a received message cannot be deserialized.\n         * @since v15.4.0\n         */\n        onmessageerror: (message: MessageEvent) => void;\n        constructor(name: string);\n        /**\n         * Closes the `BroadcastChannel` connection.\n         * @since v15.4.0\n         */\n        close(): void;\n        /**\n         * @since v15.4.0\n         * @param message Any cloneable JavaScript value.\n         */\n        postMessage(message: unknown): void;\n    }\n    /**\n     * Mark an object as not transferable. If `object` occurs in the transfer list of\n     * a `port.postMessage()` call, it is ignored.\n     *\n     * In particular, this makes sense for objects that can be cloned, rather than\n     * transferred, and which are used by other objects on the sending side.\n     * For example, Node.js marks the `ArrayBuffer`s it uses for its `Buffer pool` with this.\n     *\n     * This operation cannot be undone.\n     *\n     * ```js\n     * import { MessageChannel, markAsUntransferable } from 'node:worker_threads';\n     *\n     * const pooledBuffer = new ArrayBuffer(8);\n     * const typedArray1 = new Uint8Array(pooledBuffer);\n     * const typedArray2 = new Float64Array(pooledBuffer);\n     *\n     * markAsUntransferable(pooledBuffer);\n     *\n     * const { port1 } = new MessageChannel();\n     * port1.postMessage(typedArray1, [ typedArray1.buffer ]);\n     *\n     * // The following line prints the contents of typedArray1 -- it still owns\n     * // its memory and has been cloned, not transferred. Without\n     * // `markAsUntransferable()`, this would print an empty Uint8Array.\n     * // typedArray2 is intact as well.\n     * console.log(typedArray1);\n     * console.log(typedArray2);\n     * ```\n     *\n     * There is no equivalent to this API in browsers.\n     * @since v14.5.0, v12.19.0\n     */\n    function markAsUntransferable(object: object): void;\n    /**\n     * Transfer a `MessagePort` to a different `vm` Context. The original `port`object is rendered unusable, and the returned `MessagePort` instance\n     * takes its place.\n     *\n     * The returned `MessagePort` is an object in the target context and\n     * inherits from its global `Object` class. Objects passed to the [`port.onmessage()`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/onmessage) listener are also created in the\n     * target context\n     * and inherit from its global `Object` class.\n     *\n     * However, the created `MessagePort` no longer inherits from [`EventTarget`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget), and only\n     * [`port.onmessage()`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/onmessage) can be used to receive\n     * events using it.\n     * @since v11.13.0\n     * @param port The message port to transfer.\n     * @param contextifiedSandbox A `contextified` object as returned by the `vm.createContext()` method.\n     */\n    function moveMessagePortToContext(port: MessagePort, contextifiedSandbox: Context): MessagePort;\n    /**\n     * Receive a single message from a given `MessagePort`. If no message is available,`undefined` is returned, otherwise an object with a single `message` property\n     * that contains the message payload, corresponding to the oldest message in the`MessagePort`’s queue.\n     *\n     * ```js\n     * import { MessageChannel, receiveMessageOnPort } from 'node:worker_threads';\n     * const { port1, port2 } = new MessageChannel();\n     * port1.postMessage({ hello: 'world' });\n     *\n     * console.log(receiveMessageOnPort(port2));\n     * // Prints: { message: { hello: 'world' } }\n     * console.log(receiveMessageOnPort(port2));\n     * // Prints: undefined\n     * ```\n     *\n     * When this function is used, no `'message'` event is emitted and the`onmessage` listener is not invoked.\n     * @since v12.3.0\n     */\n    function receiveMessageOnPort(port: MessagePort):\n        | {\n            message: any;\n        }\n        | undefined;\n    type Serializable = string | object | number | boolean | bigint;\n    /**\n     * Within a worker thread, `worker.getEnvironmentData()` returns a clone\n     * of data passed to the spawning thread's `worker.setEnvironmentData()`.\n     * Every new `Worker` receives its own copy of the environment data\n     * automatically.\n     *\n     * ```js\n     * import {\n     *   Worker,\n     *   isMainThread,\n     *   setEnvironmentData,\n     *   getEnvironmentData,\n     * } from 'node:worker_threads';\n     *\n     * if (isMainThread) {\n     *   setEnvironmentData('Hello', 'World!');\n     *   const worker = new Worker(__filename);\n     * } else {\n     *   console.log(getEnvironmentData('Hello'));  // Prints 'World!'.\n     * }\n     * ```\n     * @since v15.12.0, v14.18.0\n     * @param key Any arbitrary, cloneable JavaScript value that can be used as a {Map} key.\n     */\n    function getEnvironmentData(key: Serializable): Serializable;\n    /**\n     * The `worker.setEnvironmentData()` API sets the content of`worker.getEnvironmentData()` in the current thread and all new `Worker`instances spawned from the current context.\n     * @since v15.12.0, v14.18.0\n     * @param key Any arbitrary, cloneable JavaScript value that can be used as a {Map} key.\n     * @param value Any arbitrary, cloneable JavaScript value that will be cloned and passed automatically to all new `Worker` instances. If `value` is passed as `undefined`, any previously set value\n     * for the `key` will be deleted.\n     */\n    function setEnvironmentData(key: Serializable, value?: Serializable): void;\n\n    import {\n        BroadcastChannel as _BroadcastChannel,\n        MessageChannel as _MessageChannel,\n        MessagePort as _MessagePort,\n    } from \"worker_threads\";\n    global {\n        function structuredClone<T>(\n            value: T,\n            options?: { transfer?: Transferable[] },\n        ): T;\n        /**\n         * `BroadcastChannel` class is a global reference for `import { BroadcastChannel } from 'node:worker_threads'`\n         * https://nodejs.org/api/globals.html#broadcastchannel\n         * @since v18.0.0\n         */\n        var BroadcastChannel: typeof globalThis extends {\n            onmessage: any;\n            BroadcastChannel: infer T;\n        } ? T\n            : typeof _BroadcastChannel;\n\n        /**\n         * `MessageChannel` class is a global reference for `import { MessageChannel } from 'node:worker_threads'`\n         * https://nodejs.org/api/globals.html#messagechannel\n         * @since v15.0.0\n         */\n        var MessageChannel: typeof globalThis extends {\n            onmessage: any;\n            MessageChannel: infer T;\n        } ? T\n            : typeof _MessageChannel;\n\n        /**\n         * `MessagePort` class is a global reference for `import { MessagePort } from 'node:worker_threads'`\n         * https://nodejs.org/api/globals.html#messageport\n         * @since v15.0.0\n         */\n        var MessagePort: typeof globalThis extends {\n            onmessage: any;\n            MessagePort: infer T;\n        } ? T\n            : typeof _MessagePort;\n    }\n}\ndeclare module \"node:worker_threads\" {\n    export * from \"worker_threads\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/zlib.d.ts",
      "content": "/**\n * The `zlib` module provides compression functionality implemented using Gzip,\n * Deflate/Inflate, and Brotli.\n *\n * To access it:\n *\n * ```js\n * import zlib from 'node:zlib';\n * ```\n *\n * Compression and decompression are built around the Node.js `Streams API`.\n *\n * Compressing or decompressing a stream (such as a file) can be accomplished by\n * piping the source stream through a `zlib` `Transform` stream into a destination\n * stream:\n *\n * ```js\n * import { createGzip } from 'node:zlib';\n * import { pipeline } from 'node:stream';\n * import {\n *   createReadStream,\n *   createWriteStream\n * } from 'node:fs';\n *\n * const gzip = createGzip();\n * const source = createReadStream('input.txt');\n * const destination = createWriteStream('input.txt.gz');\n *\n * pipeline(source, gzip, destination, (err) => {\n *   if (err) {\n *     console.error('An error occurred:', err);\n *     process.exitCode = 1;\n *   }\n * });\n *\n * // Or, Promisified\n *\n * import { promisify } from 'node:util';\n * const pipe = promisify(pipeline);\n *\n * async function do_gzip(input, output) {\n *   const gzip = createGzip();\n *   const source = createReadStream(input);\n *   const destination = createWriteStream(output);\n *   await pipe(source, gzip, destination);\n * }\n *\n * do_gzip('input.txt', 'input.txt.gz')\n *   .catch((err) => {\n *     console.error('An error occurred:', err);\n *     process.exitCode = 1;\n *   });\n * ```\n *\n * It is also possible to compress or decompress data in a single step:\n *\n * ```js\n * import { deflate, unzip } from 'node:zlib';\n *\n * const input = '.................................';\n * deflate(input, (err, buffer) => {\n *   if (err) {\n *     console.error('An error occurred:', err);\n *     process.exitCode = 1;\n *   }\n *   console.log(buffer.toString('base64'));\n * });\n *\n * const buffer = Buffer.from('eJzT0yMAAGTvBe8=', 'base64');\n * unzip(buffer, (err, buffer) => {\n *   if (err) {\n *     console.error('An error occurred:', err);\n *     process.exitCode = 1;\n *   }\n *   console.log(buffer.toString());\n * });\n *\n * // Or, Promisified\n *\n * import { promisify } from 'node:util';\n * const do_unzip = promisify(unzip);\n *\n * do_unzip(buffer)\n *   .then((buf) => console.log(buf.toString()))\n *   .catch((err) => {\n *     console.error('An error occurred:', err);\n *     process.exitCode = 1;\n *   });\n * ```\n * @since v0.5.8\n * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/zlib.js)\n */\ndeclare module \"zlib\" {\n    import * as stream from \"node:stream\";\n    interface ZlibOptions {\n        /**\n         * @default constants.Z_NO_FLUSH\n         */\n        flush?: number | undefined;\n        /**\n         * @default constants.Z_FINISH\n         */\n        finishFlush?: number | undefined;\n        /**\n         * @default 16*1024\n         */\n        chunkSize?: number | undefined;\n        windowBits?: number | undefined;\n        level?: number | undefined; // compression only\n        memLevel?: number | undefined; // compression only\n        strategy?: number | undefined; // compression only\n        dictionary?: NodeJS.ArrayBufferView | ArrayBuffer | undefined; // deflate/inflate only, empty dictionary by default\n        info?: boolean | undefined;\n        maxOutputLength?: number | undefined;\n    }\n    interface BrotliOptions {\n        /**\n         * @default constants.BROTLI_OPERATION_PROCESS\n         */\n        flush?: number | undefined;\n        /**\n         * @default constants.BROTLI_OPERATION_FINISH\n         */\n        finishFlush?: number | undefined;\n        /**\n         * @default 16*1024\n         */\n        chunkSize?: number | undefined;\n        params?:\n            | {\n                /**\n                 * Each key is a `constants.BROTLI_*` constant.\n                 */\n                [key: number]: boolean | number;\n            }\n            | undefined;\n        maxOutputLength?: number | undefined;\n    }\n    interface Zlib {\n        /** @deprecated Use bytesWritten instead. */\n        readonly bytesRead: number;\n        readonly bytesWritten: number;\n        shell?: boolean | string | undefined;\n        close(callback?: () => void): void;\n        flush(kind?: number, callback?: () => void): void;\n        flush(callback?: () => void): void;\n    }\n    interface ZlibParams {\n        params(level: number, strategy: number, callback: () => void): void;\n    }\n    interface ZlibReset {\n        reset(): void;\n    }\n    interface BrotliCompress extends stream.Transform, Zlib {}\n    interface BrotliDecompress extends stream.Transform, Zlib {}\n    interface Gzip extends stream.Transform, Zlib {}\n    interface Gunzip extends stream.Transform, Zlib {}\n    interface Deflate extends stream.Transform, Zlib, ZlibReset, ZlibParams {}\n    interface Inflate extends stream.Transform, Zlib, ZlibReset {}\n    interface DeflateRaw extends stream.Transform, Zlib, ZlibReset, ZlibParams {}\n    interface InflateRaw extends stream.Transform, Zlib, ZlibReset {}\n    interface Unzip extends stream.Transform, Zlib {}\n    /**\n     * Creates and returns a new `BrotliCompress` object.\n     * @since v11.7.0, v10.16.0\n     */\n    function createBrotliCompress(options?: BrotliOptions): BrotliCompress;\n    /**\n     * Creates and returns a new `BrotliDecompress` object.\n     * @since v11.7.0, v10.16.0\n     */\n    function createBrotliDecompress(options?: BrotliOptions): BrotliDecompress;\n    /**\n     * Creates and returns a new `Gzip` object.\n     * See `example`.\n     * @since v0.5.8\n     */\n    function createGzip(options?: ZlibOptions): Gzip;\n    /**\n     * Creates and returns a new `Gunzip` object.\n     * @since v0.5.8\n     */\n    function createGunzip(options?: ZlibOptions): Gunzip;\n    /**\n     * Creates and returns a new `Deflate` object.\n     * @since v0.5.8\n     */\n    function createDeflate(options?: ZlibOptions): Deflate;\n    /**\n     * Creates and returns a new `Inflate` object.\n     * @since v0.5.8\n     */\n    function createInflate(options?: ZlibOptions): Inflate;\n    /**\n     * Creates and returns a new `DeflateRaw` object.\n     *\n     * An upgrade of zlib from 1.2.8 to 1.2.11 changed behavior when `windowBits`is set to 8 for raw deflate streams. zlib would automatically set `windowBits`to 9 if was initially set to 8\\. Newer\n     * versions of zlib will throw an exception,\n     * so Node.js restored the original behavior of upgrading a value of 8 to 9,\n     * since passing `windowBits = 9` to zlib actually results in a compressed stream\n     * that effectively uses an 8-bit window only.\n     * @since v0.5.8\n     */\n    function createDeflateRaw(options?: ZlibOptions): DeflateRaw;\n    /**\n     * Creates and returns a new `InflateRaw` object.\n     * @since v0.5.8\n     */\n    function createInflateRaw(options?: ZlibOptions): InflateRaw;\n    /**\n     * Creates and returns a new `Unzip` object.\n     * @since v0.5.8\n     */\n    function createUnzip(options?: ZlibOptions): Unzip;\n    type InputType = string | ArrayBuffer | NodeJS.ArrayBufferView;\n    type CompressCallback = (error: Error | null, result: Buffer) => void;\n    /**\n     * @since v11.7.0, v10.16.0\n     */\n    function brotliCompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void;\n    function brotliCompress(buf: InputType, callback: CompressCallback): void;\n    namespace brotliCompress {\n        function __promisify__(buffer: InputType, options?: BrotliOptions): Promise<Buffer>;\n    }\n    /**\n     * Compress a chunk of data with `BrotliCompress`.\n     * @since v11.7.0, v10.16.0\n     */\n    function brotliCompressSync(buf: InputType, options?: BrotliOptions): Buffer;\n    /**\n     * @since v11.7.0, v10.16.0\n     */\n    function brotliDecompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void;\n    function brotliDecompress(buf: InputType, callback: CompressCallback): void;\n    namespace brotliDecompress {\n        function __promisify__(buffer: InputType, options?: BrotliOptions): Promise<Buffer>;\n    }\n    /**\n     * Decompress a chunk of data with `BrotliDecompress`.\n     * @since v11.7.0, v10.16.0\n     */\n    function brotliDecompressSync(buf: InputType, options?: BrotliOptions): Buffer;\n    /**\n     * @since v0.6.0\n     */\n    function deflate(buf: InputType, callback: CompressCallback): void;\n    function deflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;\n    namespace deflate {\n        function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;\n    }\n    /**\n     * Compress a chunk of data with `Deflate`.\n     * @since v0.11.12\n     */\n    function deflateSync(buf: InputType, options?: ZlibOptions): Buffer;\n    /**\n     * @since v0.6.0\n     */\n    function deflateRaw(buf: InputType, callback: CompressCallback): void;\n    function deflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;\n    namespace deflateRaw {\n        function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;\n    }\n    /**\n     * Compress a chunk of data with `DeflateRaw`.\n     * @since v0.11.12\n     */\n    function deflateRawSync(buf: InputType, options?: ZlibOptions): Buffer;\n    /**\n     * @since v0.6.0\n     */\n    function gzip(buf: InputType, callback: CompressCallback): void;\n    function gzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;\n    namespace gzip {\n        function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;\n    }\n    /**\n     * Compress a chunk of data with `Gzip`.\n     * @since v0.11.12\n     */\n    function gzipSync(buf: InputType, options?: ZlibOptions): Buffer;\n    /**\n     * @since v0.6.0\n     */\n    function gunzip(buf: InputType, callback: CompressCallback): void;\n    function gunzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;\n    namespace gunzip {\n        function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;\n    }\n    /**\n     * Decompress a chunk of data with `Gunzip`.\n     * @since v0.11.12\n     */\n    function gunzipSync(buf: InputType, options?: ZlibOptions): Buffer;\n    /**\n     * @since v0.6.0\n     */\n    function inflate(buf: InputType, callback: CompressCallback): void;\n    function inflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;\n    namespace inflate {\n        function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;\n    }\n    /**\n     * Decompress a chunk of data with `Inflate`.\n     * @since v0.11.12\n     */\n    function inflateSync(buf: InputType, options?: ZlibOptions): Buffer;\n    /**\n     * @since v0.6.0\n     */\n    function inflateRaw(buf: InputType, callback: CompressCallback): void;\n    function inflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;\n    namespace inflateRaw {\n        function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;\n    }\n    /**\n     * Decompress a chunk of data with `InflateRaw`.\n     * @since v0.11.12\n     */\n    function inflateRawSync(buf: InputType, options?: ZlibOptions): Buffer;\n    /**\n     * @since v0.6.0\n     */\n    function unzip(buf: InputType, callback: CompressCallback): void;\n    function unzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;\n    namespace unzip {\n        function __promisify__(buffer: InputType, options?: ZlibOptions): Promise<Buffer>;\n    }\n    /**\n     * Decompress a chunk of data with `Unzip`.\n     * @since v0.11.12\n     */\n    function unzipSync(buf: InputType, options?: ZlibOptions): Buffer;\n    namespace constants {\n        const BROTLI_DECODE: number;\n        const BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: number;\n        const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: number;\n        const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: number;\n        const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: number;\n        const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: number;\n        const BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: number;\n        const BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: number;\n        const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: number;\n        const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: number;\n        const BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: number;\n        const BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: number;\n        const BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: number;\n        const BROTLI_DECODER_ERROR_FORMAT_DISTANCE: number;\n        const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: number;\n        const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: number;\n        const BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: number;\n        const BROTLI_DECODER_ERROR_FORMAT_PADDING_1: number;\n        const BROTLI_DECODER_ERROR_FORMAT_PADDING_2: number;\n        const BROTLI_DECODER_ERROR_FORMAT_RESERVED: number;\n        const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: number;\n        const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: number;\n        const BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: number;\n        const BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: number;\n        const BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: number;\n        const BROTLI_DECODER_ERROR_UNREACHABLE: number;\n        const BROTLI_DECODER_NEEDS_MORE_INPUT: number;\n        const BROTLI_DECODER_NEEDS_MORE_OUTPUT: number;\n        const BROTLI_DECODER_NO_ERROR: number;\n        const BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: number;\n        const BROTLI_DECODER_PARAM_LARGE_WINDOW: number;\n        const BROTLI_DECODER_RESULT_ERROR: number;\n        const BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: number;\n        const BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: number;\n        const BROTLI_DECODER_RESULT_SUCCESS: number;\n        const BROTLI_DECODER_SUCCESS: number;\n        const BROTLI_DEFAULT_MODE: number;\n        const BROTLI_DEFAULT_QUALITY: number;\n        const BROTLI_DEFAULT_WINDOW: number;\n        const BROTLI_ENCODE: number;\n        const BROTLI_LARGE_MAX_WINDOW_BITS: number;\n        const BROTLI_MAX_INPUT_BLOCK_BITS: number;\n        const BROTLI_MAX_QUALITY: number;\n        const BROTLI_MAX_WINDOW_BITS: number;\n        const BROTLI_MIN_INPUT_BLOCK_BITS: number;\n        const BROTLI_MIN_QUALITY: number;\n        const BROTLI_MIN_WINDOW_BITS: number;\n        const BROTLI_MODE_FONT: number;\n        const BROTLI_MODE_GENERIC: number;\n        const BROTLI_MODE_TEXT: number;\n        const BROTLI_OPERATION_EMIT_METADATA: number;\n        const BROTLI_OPERATION_FINISH: number;\n        const BROTLI_OPERATION_FLUSH: number;\n        const BROTLI_OPERATION_PROCESS: number;\n        const BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: number;\n        const BROTLI_PARAM_LARGE_WINDOW: number;\n        const BROTLI_PARAM_LGBLOCK: number;\n        const BROTLI_PARAM_LGWIN: number;\n        const BROTLI_PARAM_MODE: number;\n        const BROTLI_PARAM_NDIRECT: number;\n        const BROTLI_PARAM_NPOSTFIX: number;\n        const BROTLI_PARAM_QUALITY: number;\n        const BROTLI_PARAM_SIZE_HINT: number;\n        const DEFLATE: number;\n        const DEFLATERAW: number;\n        const GUNZIP: number;\n        const GZIP: number;\n        const INFLATE: number;\n        const INFLATERAW: number;\n        const UNZIP: number;\n        // Allowed flush values.\n        const Z_NO_FLUSH: number;\n        const Z_PARTIAL_FLUSH: number;\n        const Z_SYNC_FLUSH: number;\n        const Z_FULL_FLUSH: number;\n        const Z_FINISH: number;\n        const Z_BLOCK: number;\n        const Z_TREES: number;\n        // Return codes for the compression/decompression functions.\n        // Negative values are errors, positive values are used for special but normal events.\n        const Z_OK: number;\n        const Z_STREAM_END: number;\n        const Z_NEED_DICT: number;\n        const Z_ERRNO: number;\n        const Z_STREAM_ERROR: number;\n        const Z_DATA_ERROR: number;\n        const Z_MEM_ERROR: number;\n        const Z_BUF_ERROR: number;\n        const Z_VERSION_ERROR: number;\n        // Compression levels.\n        const Z_NO_COMPRESSION: number;\n        const Z_BEST_SPEED: number;\n        const Z_BEST_COMPRESSION: number;\n        const Z_DEFAULT_COMPRESSION: number;\n        // Compression strategy.\n        const Z_FILTERED: number;\n        const Z_HUFFMAN_ONLY: number;\n        const Z_RLE: number;\n        const Z_FIXED: number;\n        const Z_DEFAULT_STRATEGY: number;\n        const Z_DEFAULT_WINDOWBITS: number;\n        const Z_MIN_WINDOWBITS: number;\n        const Z_MAX_WINDOWBITS: number;\n        const Z_MIN_CHUNK: number;\n        const Z_MAX_CHUNK: number;\n        const Z_DEFAULT_CHUNK: number;\n        const Z_MIN_MEMLEVEL: number;\n        const Z_MAX_MEMLEVEL: number;\n        const Z_DEFAULT_MEMLEVEL: number;\n        const Z_MIN_LEVEL: number;\n        const Z_MAX_LEVEL: number;\n        const Z_DEFAULT_LEVEL: number;\n        const ZLIB_VERNUM: number;\n    }\n    // Allowed flush values.\n    /** @deprecated Use `constants.Z_NO_FLUSH` */\n    const Z_NO_FLUSH: number;\n    /** @deprecated Use `constants.Z_PARTIAL_FLUSH` */\n    const Z_PARTIAL_FLUSH: number;\n    /** @deprecated Use `constants.Z_SYNC_FLUSH` */\n    const Z_SYNC_FLUSH: number;\n    /** @deprecated Use `constants.Z_FULL_FLUSH` */\n    const Z_FULL_FLUSH: number;\n    /** @deprecated Use `constants.Z_FINISH` */\n    const Z_FINISH: number;\n    /** @deprecated Use `constants.Z_BLOCK` */\n    const Z_BLOCK: number;\n    /** @deprecated Use `constants.Z_TREES` */\n    const Z_TREES: number;\n    // Return codes for the compression/decompression functions.\n    // Negative values are errors, positive values are used for special but normal events.\n    /** @deprecated Use `constants.Z_OK` */\n    const Z_OK: number;\n    /** @deprecated Use `constants.Z_STREAM_END` */\n    const Z_STREAM_END: number;\n    /** @deprecated Use `constants.Z_NEED_DICT` */\n    const Z_NEED_DICT: number;\n    /** @deprecated Use `constants.Z_ERRNO` */\n    const Z_ERRNO: number;\n    /** @deprecated Use `constants.Z_STREAM_ERROR` */\n    const Z_STREAM_ERROR: number;\n    /** @deprecated Use `constants.Z_DATA_ERROR` */\n    const Z_DATA_ERROR: number;\n    /** @deprecated Use `constants.Z_MEM_ERROR` */\n    const Z_MEM_ERROR: number;\n    /** @deprecated Use `constants.Z_BUF_ERROR` */\n    const Z_BUF_ERROR: number;\n    /** @deprecated Use `constants.Z_VERSION_ERROR` */\n    const Z_VERSION_ERROR: number;\n    // Compression levels.\n    /** @deprecated Use `constants.Z_NO_COMPRESSION` */\n    const Z_NO_COMPRESSION: number;\n    /** @deprecated Use `constants.Z_BEST_SPEED` */\n    const Z_BEST_SPEED: number;\n    /** @deprecated Use `constants.Z_BEST_COMPRESSION` */\n    const Z_BEST_COMPRESSION: number;\n    /** @deprecated Use `constants.Z_DEFAULT_COMPRESSION` */\n    const Z_DEFAULT_COMPRESSION: number;\n    // Compression strategy.\n    /** @deprecated Use `constants.Z_FILTERED` */\n    const Z_FILTERED: number;\n    /** @deprecated Use `constants.Z_HUFFMAN_ONLY` */\n    const Z_HUFFMAN_ONLY: number;\n    /** @deprecated Use `constants.Z_RLE` */\n    const Z_RLE: number;\n    /** @deprecated Use `constants.Z_FIXED` */\n    const Z_FIXED: number;\n    /** @deprecated Use `constants.Z_DEFAULT_STRATEGY` */\n    const Z_DEFAULT_STRATEGY: number;\n    /** @deprecated */\n    const Z_BINARY: number;\n    /** @deprecated */\n    const Z_TEXT: number;\n    /** @deprecated */\n    const Z_ASCII: number;\n    /** @deprecated  */\n    const Z_UNKNOWN: number;\n    /** @deprecated */\n    const Z_DEFLATED: number;\n}\ndeclare module \"node:zlib\" {\n    export * from \"zlib\";\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/node/ts5.6/index.d.ts",
      "content": "/**\n * License for programmatically and manually incorporated\n * documentation aka. `JSDoc` from https://github.com/nodejs/node/tree/master/doc\n *\n * Copyright Node.js contributors. All rights reserved.\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\n// NOTE: These definitions support Node.js and TypeScript 4.9 through 5.6.\n\n// Reference required TypeScript libs:\n/// <reference lib=\"es2020\" />\n\n// TypeScript backwards-compatibility definitions:\n/// <reference path=\"../compatibility/index.d.ts\" />\n\n// Definitions specific to TypeScript 4.9 through 5.6:\n/// <reference path=\"./globals.typedarray.d.ts\" />\n/// <reference path=\"./buffer.buffer.d.ts\" />\n\n// Definitions for Node.js modules that are not specific to any version of TypeScript:\n/// <reference path=\"../globals.d.ts\" />\n/// <reference path=\"../web-globals/abortcontroller.d.ts\" />\n/// <reference path=\"../web-globals/domexception.d.ts\" />\n/// <reference path=\"../web-globals/events.d.ts\" />\n/// <reference path=\"../web-globals/fetch.d.ts\" />\n/// <reference path=\"../assert.d.ts\" />\n/// <reference path=\"../assert/strict.d.ts\" />\n/// <reference path=\"../async_hooks.d.ts\" />\n/// <reference path=\"../buffer.d.ts\" />\n/// <reference path=\"../child_process.d.ts\" />\n/// <reference path=\"../cluster.d.ts\" />\n/// <reference path=\"../console.d.ts\" />\n/// <reference path=\"../constants.d.ts\" />\n/// <reference path=\"../crypto.d.ts\" />\n/// <reference path=\"../dgram.d.ts\" />\n/// <reference path=\"../diagnostics_channel.d.ts\" />\n/// <reference path=\"../dns.d.ts\" />\n/// <reference path=\"../dns/promises.d.ts\" />\n/// <reference path=\"../domain.d.ts\" />\n/// <reference path=\"../events.d.ts\" />\n/// <reference path=\"../fs.d.ts\" />\n/// <reference path=\"../fs/promises.d.ts\" />\n/// <reference path=\"../http.d.ts\" />\n/// <reference path=\"../http2.d.ts\" />\n/// <reference path=\"../https.d.ts\" />\n/// <reference path=\"../inspector.generated.d.ts\" />\n/// <reference path=\"../module.d.ts\" />\n/// <reference path=\"../net.d.ts\" />\n/// <reference path=\"../os.d.ts\" />\n/// <reference path=\"../path.d.ts\" />\n/// <reference path=\"../perf_hooks.d.ts\" />\n/// <reference path=\"../process.d.ts\" />\n/// <reference path=\"../punycode.d.ts\" />\n/// <reference path=\"../querystring.d.ts\" />\n/// <reference path=\"../readline.d.ts\" />\n/// <reference path=\"../readline/promises.d.ts\" />\n/// <reference path=\"../repl.d.ts\" />\n/// <reference path=\"../stream.d.ts\" />\n/// <reference path=\"../stream/promises.d.ts\" />\n/// <reference path=\"../stream/consumers.d.ts\" />\n/// <reference path=\"../stream/web.d.ts\" />\n/// <reference path=\"../string_decoder.d.ts\" />\n/// <reference path=\"../test.d.ts\" />\n/// <reference path=\"../timers.d.ts\" />\n/// <reference path=\"../timers/promises.d.ts\" />\n/// <reference path=\"../tls.d.ts\" />\n/// <reference path=\"../trace_events.d.ts\" />\n/// <reference path=\"../tty.d.ts\" />\n/// <reference path=\"../url.d.ts\" />\n/// <reference path=\"../util.d.ts\" />\n/// <reference path=\"../v8.d.ts\" />\n/// <reference path=\"../vm.d.ts\" />\n/// <reference path=\"../wasi.d.ts\" />\n/// <reference path=\"../worker_threads.d.ts\" />\n/// <reference path=\"../zlib.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/emptyBuffer.d.ts",
      "content": "declare class Buffer {\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/public/$w.d.ts",
      "content": "declare namespace $w {\n  type $w = (selector: string) => any;\n}\ndeclare function $w(selector: string): any;\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/wix-packages.d.ts",
      "content": "/// <reference path=\"./wix-core-services-dev.d.ts\" />\n/// <reference path=\"./wix-loyalty-backend.d.ts\" />\n/// <reference path=\"./wix-metro-backend.d.ts\" />\n/// <reference path=\"./wix-online-programs-backend.d.ts\" />\n/// <reference path=\"./wix-alarm-backend.d.ts\" />\n/// <reference path=\"./wix-blog-backend.d.ts\" />\n/// <reference path=\"./wix-ecom-backend.d.ts\" />\n/// <reference path=\"./wix-atlas-location-backend.d.ts\" />\n/// <reference path=\"./wix-pro-gallery-backend.d.ts\" />\n/// <reference path=\"./wix-alert-enricher-backend.d.ts\" />\n/// <reference path=\"./wix-question-backend.d.ts\" />\n/// <reference path=\"./wix-bobs-backend.d.ts\" />\n/// <reference path=\"./wix-freds-backend.d.ts\" />\n/// <reference path=\"./wix-ratings-definition-backend.d.ts\" />\n/// <reference path=\"./wix-echo-backend.d.ts\" />\n/// <reference path=\"./wix-restaurants-backend.d.ts\" />\n/// <reference path=\"./wix-jackal-backend.d.ts\" />\n/// <reference path=\"./wix-atlas-places-backend.d.ts\" />\n/// <reference path=\"./wix-activity-counters-backend.d.ts\" />\n/// <reference path=\"./wix-atlas-autocomplete-backend.d.ts\" />\n/// <reference path=\"./wix-livevideo-backend.d.ts\" />\n/// <reference path=\"./wix-iot-backend.d.ts\" />\n/// <reference path=\"./wix-atlas-backend.d.ts\" />\n/// <reference path=\"./wix-restaurants-orders-backend.d.ts\" />\n/// <reference path=\"./wix-reviews-backend.d.ts\" />\n/// <reference path=\"./wix-restaurants-catalogs-backend.d.ts\" />\n/// <reference path=\"./wix-iot-devices-backend.d.ts\" />\n/// <reference path=\"./wix-showoff-backend.d.ts\" />\n/// <reference path=\"./wix-portfolio-backend.d.ts\" />\n/// <reference path=\"./interfaces-ecommerce-v1-additional-fees-provider.d.ts\" />\n/// <reference path=\"./interfaces-ecommerce-v1-catalog-provider.d.ts\" />\n/// <reference path=\"./interfaces-ecommerce-v1-custom-trigger-provider.d.ts\" />\n/// <reference path=\"./wix-metro-backend.v2.d.ts\" />\n/// <reference path=\"./wix-metro-backend-v2.d.ts\" />\n/// <reference path=\"./interfaces-bookings-v1-pricing-provider.d.ts\" />\n/// <reference path=\"./wix-motion-backend.v2.d.ts\" />\n/// <reference path=\"./interfaces-ecommerce-v1-custom-scopes-provider.d.ts\" />\n/// <reference path=\"./wix-bookings-backend.v2.d.ts\" />\n/// <reference path=\"./interfaces-ecom-v1-shipping-rates-provider.d.ts\" />\n/// <reference path=\"./wix-data-backend-public-sdk-poc.d.ts\" />\n/// <reference path=\"./interfaces-ecom-v1-line-items-enricher.d.ts\" />\n/// <reference path=\"./wix-site-media-backend.d.ts\" />\n/// <reference path=\"./interfaces-coreservices-v1-coupons-provider.d.ts\" />\n/// <reference path=\"./wix-forms-backend.d.ts\" />\n/// <reference path=\"./auto-frontend-module-registry.d.ts\" />\n/// <reference path=\"./wix-table-reservations-backend.d.ts\" />\n/// <reference path=\"./wix-stores-backend.v2.d.ts\" />\n/// <reference path=\"./wix-members-followers-backend.v3.d.ts\" />\n/// <reference path=\"./wix-recruitment-agencies-positions-backend.d.ts\" />\n/// <reference path=\"./interfaces-comm-channels-v1-communication-channels-provider.d.ts\" />\n/// <reference path=\"./interfaces-psp-v1-payment-service-provider.d.ts\" />\n/// <reference path=\"./interfaces-sitetranslator-v1-translatableitem.d.ts\" />\n/// <reference path=\"./portfolio-syncedprojects-v1-project.d.ts\" />\n/// <reference path=\"./wix-recruitment-agencies-applications-backend.d.ts\" />\n/// <reference path=\"./wix-recruitment-agencies-info-backend.d.ts\" />\n/// <reference path=\"./wix-stores-backend-poc.v2.d.ts\" />\n/// <reference path=\"./wix-os-backend.d.ts\" />\n/// <reference path=\"./wix-email-marketing-backend.d.ts\" />\n/// <reference path=\"./wix-sender-details-backend.d.ts\" />\n/// <reference path=\"./wix-comments-backend.d.ts\" />\n/// <reference path=\"./wix-marketing-tags-backend.d.ts\" />\n/// <reference path=\"./wix-app-market-backend.d.ts\" />\n/// <reference path=\"./wix-contacts-backend.v2.d.ts\" />\n/// <reference path=\"./wix-events-backend.v2.d.ts\" />\n/// <reference path=\"./wix-inbox-conversations.backend.v1.d.ts\" />\n/// <reference path=\"./wix-ratings-backend.d.ts\" />\n/// <reference path=\"./interfaces-ecom-v1-related-items-provider.d.ts\" />\n/// <reference path=\"./wix-groups-backend.v2.d.ts\" />\n/// <reference path=\"./interfaces-ecom-v1-recommendations-provider.d.ts\" />\n/// <reference path=\"./wix-identity-backend.d.ts\" />\n/// <reference path=\"./wix-entitlements-backend.d.ts\" />\n/// <reference path=\"./wix-events-backend.v1.d.ts\" />\n/// <reference path=\"./wix-data-index-service-v2.d.ts\" />\n/// <reference path=\"./wix-category-backend.d.ts\" />\n/// <reference path=\"./wix-events.v2.d.ts\" />\n/// <reference path=\"./wix-categories-backend.d.ts\" />\n/// <reference path=\"./wix-badges-backend.v3.d.ts\" />\n/// <reference path=\"./wix-badges-backend.v1.d.ts\" />\n/// <reference path=\"./wix-badges-backend.v2.d.ts\" />\n/// <reference path=\"./localdelivery-spi-v2-tpa.d.ts\" />\n/// <reference path=\"./wix-forum-backend.d.ts\" />\n/// <reference path=\"./interfaces-v1-shipping-label-carrier-quote.d.ts\" />\n/// <reference path=\"./interfaces-ecom-v1-gift-card-provider-entity.d.ts\" />\n/// <reference path=\"./wix-notifications-backend.d.ts\" />\n/// <reference path=\"./wix-marketing-backend.v2.d.ts\" />\n/// <reference path=\"./wix-groups-backend.v3.d.ts\" />\n/// <reference path=\"./wix-data-collection-service-v2.d.ts\" />\n/// <reference path=\"./wix-inbox.v2.d.ts\" />\n/// <reference path=\"./wix-email-marketing.v2.d.ts\" />\n/// <reference path=\"./wix-bookings.v2.d.ts\" />\n/// <reference path=\"./wix-forum.v2.d.ts\" />\n/// <reference path=\"./wix-activity-counters.v2.d.ts\" />\n/// <reference path=\"./wix-loyalty.v2.d.ts\" />\n/// <reference path=\"./wix-business-tools.v2.d.ts\" />\n/// <reference path=\"./wix-marketing-tags.v2.d.ts\" />\n/// <reference path=\"./wix-stores.v2.d.ts\" />\n/// <reference path=\"./wix-redirects-api.v1.d.ts\" />\n/// <reference path=\"./wix-ads-txt.v1.d.ts\" />\n/// <reference path=\"./wix-sender-details.v2.d.ts\" />\n/// <reference path=\"./billing-spi-v1-tax-calculator.d.ts\" />\n/// <reference path=\"./restaurants-posspihost-v1-tpa.d.ts\" />\n/// <reference path=\"./wix-media.v2.d.ts\" />\n/// <reference path=\"./wix-pricing-plans-backend.v2.d.ts\" />\n/// <reference path=\"./interfaces-comments-moderation-v1-comments-moderation-provider.d.ts\" />\n/// <reference path=\"./wix-authentication-management.d.ts\" />\n/// <reference path=\"./wix-authentication-management.v2.d.ts\" />\n/// <reference path=\"./wix-multilingual-localization.d.ts\" />\n/// <reference path=\"./wix-multilingual-localization-public.d.ts\" />\n/// <reference path=\"./wix-pricing-plans.v2.d.ts\" />\n/// <reference path=\"./wix-members.v2.d.ts\" />\n/// <reference path=\"./wix-groups.v2.d.ts\" />\n/// <reference path=\"./wix-data-backup-service-v2.d.ts\" />\n/// <reference path=\"./wix-marketing.v2.d.ts\" />\n/// <reference path=\"./wix-currencies.v2.d.ts\" />\n/// <reference path=\"./wix-members-about-backend.v1.d.ts\" />\n/// <reference path=\"./wix-members-followers-backend.v2.d.ts\" />\n/// <reference path=\"./interfaces-components-translation-v1-translations-provider.d.ts\" />\n/// <reference path=\"./wix-multilingual-localization-schema.d.ts\" />\n/// <reference path=\"./wix-events.v3.d.ts\" />\n/// <reference path=\"./interfaces-iam-v1-idp-connection-provider.d.ts\" />\n/// <reference path=\"./interfaces-items-selection-v1-items-selection-provider.d.ts\" />\n/// <reference path=\"./interfaces-forms-v4-forms-schema-provider.d.ts\" />\n/// <reference path=\"./interfaces-psp-v1-price-breakdown.d.ts\" />\n/// <reference path=\"./wix-autocms-tasks-service-v1.d.ts\" />\n/// <reference path=\"./wix-autocms-folders-service-v1.d.ts\" />\n/// <reference path=\"./wix-autocms-collection-rules-service-v1.d.ts\" />\n/// <reference path=\"./interfaces-iam-v1-pre-register-provider.d.ts\" />\n/// <reference path=\"./interfaces-components-validator-v1-validation-provider.d.ts\" />\n/// <reference path=\"./wix-redirects.v1.d.ts\" />\n/// <reference path=\"./interfaces-bookings-v1-custom-pricing.d.ts\" />\n/// <reference path=\"./wix-data-resourceusage-service-v1.d.ts\" />\n/// <reference path=\"./wix-data-collections.d.ts\" />\n/// <reference path=\"./interfaces-entitlements-v1-policy-provider.d.ts\" />\n/// <reference path=\"./wix-data-indexes.d.ts\" />\n/// <reference path=\"./wix-ecom.v2.d.ts\" />\n/// <reference path=\"./wix-data-external-database-connections.d.ts\" />\n/// <reference path=\"./wix-auth-management.v2.d.ts\" />\n/// <reference path=\"./wix-data-items.d.ts\" />\n/// <reference path=\"./interfaces-automations-v1-action-provider.d.ts\" />\n/// <reference path=\"./interfaces-premium-v1-custom-charges-provider.d.ts\" />\n/// <reference path=\"./wix-data.v2.d.ts\" />\n/// <reference path=\"./interfaces-iam-v1-post-login-provider.d.ts\" />\n/// <reference path=\"./wix-sender-emails-backend.d.ts\" />\n/// <reference path=\"./interfaces-promote-v1-social-marketing-designs-provider.d.ts\" />\n/// <reference path=\"./wix-stores-backend.v3.d.ts\" />\n/// <reference path=\"./interfaces-ecommerce-v1-validations-provider.d.ts\" />\n/// <reference path=\"./wix-stores-v3.d.ts\" />\n/// <reference path=\"./interfaces-comments-filter-v1-comments-filter-provider.d.ts\" />\n/// <reference path=\"./interfaces-ecommerce-v1-custom-scope.d.ts\" />\n/// <reference path=\"./wix-notifications.v2.d.ts\" />\n/// <reference path=\"./interfaces-promote-v1-gbp-feature.d.ts\" />\n/// <reference path=\"./wix-workflows.v2.d.ts\" />\n/// <reference path=\"./wix-risewallet.d.ts\" />\n/// <reference path=\"./wix-riseevent.d.ts\" />\n/// <reference path=\"./wix-secrets-backend.v2.d.ts\" />\n/// <reference path=\"./wix-crm.v2.d.ts\" />\n/// <reference path=\"./wix-captcha.v2.d.ts\" />\n/// <reference path=\"./interfaces-entitlements-v1-entitlement-provider.d.ts\" />\n/// <reference path=\"./wix-table-reservations.v2.d.ts\" />\n/// <reference path=\"./interfaces-billing-tax-validation-spi-v1-tax-id-validator-spi.d.ts\" />\n/// <reference path=\"./wix-categories.v2.d.ts\" />\n/// <reference path=\"./interfaces-billing-tax-validation-spi-v1-tax-id-validator.d.ts\" />\n/// <reference path=\"./wix-reviews.v2.d.ts\" />\n/// <reference path=\"./wix-notifications.v3.d.ts\" />\n/// <reference path=\"./interfaces-ecommerce-v1-custom-trigger.d.ts\" />\n/// <reference path=\"./wix-comments.v2.d.ts\" />\n/// <reference path=\"./wix-rise.v2.d.ts\" />\n/// <reference path=\"./interfaces-promote-v1-social-marketing-design.d.ts\" />\n/// <reference path=\"./interfaces-dealer-external-filter-v1-filter-applicable.d.ts\" />\n/// <reference path=\"./wix-web-module.d.ts\" />\n/// <reference path=\"./wix-members-followers-backend.v1.d.ts\" />\n/// <reference path=\"./interfaces-ecommerce-v1-payment-settings-provider.d.ts\" />\n/// <reference path=\"./interfaces-iam-v1-authenticator-provider.d.ts\" />\n/// <reference path=\"./interfaces-notification-v1-notification-preferences-filter-provider.d.ts\" />\n/// <reference path=\"./wix-members.v3.d.ts\" />\n/// <reference path=\"./wix-search.v2.d.ts\" />\n/// <reference path=\"./wix-bookings.v1.d.ts\" />\n/// <reference path=\"./wix-members-about.v1.d.ts\" />\n/// <reference path=\"./wix-forms.v2.d.ts\" />\n/// <reference path=\"./interfaces-invoices-v1-invoices.d.ts\" />\n/// <reference path=\"./wix-restaurants.v2.d.ts\" />\n/// <reference path=\"./interfaces-bookings-availability-v2-availability-time-slots-configuration-provider.d.ts\" />\n/// <reference path=\"./wix-benefit-programs-backend.v1.d.ts\" />\n/// <reference path=\"./wix-online-programs.d.ts\" />\n/// <reference path=\"./interfaces-automations-v1-velo-action-provider.d.ts\" />\n/// <reference path=\"./wix-custom-fields-schema.v2.d.ts\" />\n/// <reference path=\"./interfaces-benefit-programs-v1-benefit-provider.d.ts\" />\n/// <reference path=\"./interfaces-forms-v4-submission.d.ts\" />\n/// <reference path=\"./interfaces-forms-v4-submission-collaborator.d.ts\" />\n/// <reference path=\"./interfaces-velo-ide-v1-gridapp-files-transformer.d.ts\" />\n/// <reference path=\"./ecom-v1-validations-data.d.ts\" />\n/// <reference path=\"./wix-export-async-job.v1.d.ts\" />\n/// <reference path=\"./wix-fqdn-definitions-backend.d.ts\" />\n/// <reference path=\"./wix-settings.v2.d.ts\" />\n/// <reference path=\"./wix-restaurants.d.ts\" />\n/// <reference path=\"./interfaces-forms-v4-submission-extension.d.ts\" />\n/// <reference path=\"./table-reservations-v1-custom-reservations-approval.d.ts\" />\n/// <reference path=\"./wix-multilingual.v2.d.ts\" />\n/// <reference path=\"./interfaces-bookings-availability-v2-multi-service-booking-policy-provider.d.ts\" />\n/// <reference path=\"./interfaces-bookings-availability-v2-booking-policy-provider.d.ts\" />\n/// <reference path=\"./wix-calendar.v3.d.ts\" />\n/// <reference path=\"./interfaces-billing-v1-tax-calculation-provider.d.ts\" />\n/// <reference path=\"./interfaces-editor-deployments-v1-deployment-pipeline-provider.d.ts\" />\n/// <reference path=\"./interfaces-benefit-programs-v1-policy-provider.d.ts\" />\n/// <reference path=\"./wix-generate-example.d.ts\" />\n/// <reference path=\"./wix-billing-tax.d.ts\" />\n/// <reference path=\"./wix-events.v1.d.ts\" />\n/// <reference path=\"./wix-billing.v2.d.ts\" />\n/// <reference path=\"./wix-stores.v3.d.ts\" />\n/// <reference path=\"./wix-payments.v2.d.ts\" />\n/// <reference path=\"./wix-ep-plugins.v1.d.ts\" />\n/// <reference path=\"./wix-app-settings.v2.d.ts\" />\n/// <reference path=\"./wix-urls.v2.d.ts\" />\n/// <reference path=\"./wix-app-plugins-site-plugins.v1.d.ts\" />\n/// <reference path=\"./interfaces-communication-channels-v1-channel-provider.d.ts\" />\n/// <reference path=\"./interfaces-communication-channels-v2-channel-provider.d.ts\" />\n/// <reference path=\"./wix-search.v3.d.ts\" />\n/// <reference path=\"./interfaces-functionsshop-v1-shop-price-provider.d.ts\" />\n/// <reference path=\"./interfaces-premium-v1-productspaths.d.ts\" />\n/// <reference path=\"./wix-ssr-cache-invalidation-backend.v1.d.ts\" />\n/// <reference path=\"./wix-app-management.v2.d.ts\" />\n/// <reference path=\"./wix-cache-backend.d.ts\" />\n/// <reference path=\"./wix-analytics.d.ts\" />\n/// <reference path=\"./wix-seatings-backend.d.ts\" />\n/// <reference path=\"./wix-dashboard-management-backend.d.ts\" />\n/// <reference path=\"./wix-papyrus-templates-backend.d.ts\" />\n/// <reference path=\"./interfaces-velo-publish-pipeline-v1-publish-pipeline-task-provider.d.ts\" />\n/// <reference path=\"./wix-sending-domains-backend.d.ts\" />\n/// <reference path=\"./wix-site-plugins.v1.d.ts\" />\n/// <reference path=\"./wix-dashboard-management.v2.d.ts\" />\n/// <reference path=\"./wix-editor-deployments.v1.d.ts\" />\n/// <reference path=\"./wix-infra-backend.d.ts\" />\n/// <reference path=\"./wix-tags.v1.d.ts\" />\n/// <reference path=\"./wix-packages.v1.d.ts\" />\n/// <reference path=\"./wix-domains.v1.d.ts\" />\n/// <reference path=\"./wix-moderation-rules.v1.d.ts\" />\n/// <reference path=\"./wix-automations.v2.d.ts\" />\n/// <reference path=\"./wix-referral.v1.d.ts\" />\n/// <reference path=\"./wix-custom-fields.v1.d.ts\" />\n/// <reference path=\"./wix-members.v1.d.ts\" />\n/// <reference path=\"./wix-subscription.v1.d.ts\" />\n/// <reference path=\"./wix-review-request.v1.d.ts\" />\n/// <reference path=\"./wix-site-actions.v2.d.ts\" />\n/// <reference path=\"./wix-members-area.v1.d.ts\" />\n/// <reference path=\"./wix-analytics-session.v1.d.ts\" />\n/// <reference path=\"./wix-gift-cards-backend.d.ts\" />\n/// <reference path=\"./wix-marketing-consent-service-backend.d.ts\" />\n/// <reference path=\"./wix-analytics-data.v2.d.ts\" />\n/// <reference path=\"./wix-async-jobs.v2.d.ts\" />\n/// <reference path=\"./chat-widget.v1.d.ts\" />\n/// <reference path=\"./migration-triggers.v1.d.ts\" />\n/// <reference path=\"./trigger-catalog.v1.d.ts\" />\n/// <reference path=\"./wix-automations.v1.d.ts\" />\n/// <reference path=\"./wix-assistant-widget.v1.d.ts\" />\n/// <reference path=\"./wix-editor-site-embeds.v1.d.ts\" />\n/// <reference path=\"./wix-automations-actioncatalog.v1.d.ts\" />\n/// <reference path=\"./wix-assistant-playground.v1.d.ts\" />\n/// <reference path=\"./interfaces-ecommerce-v1-discounts-provider.d.ts\" />\n/// <reference path=\"./wix-assistant-playground.v2.d.ts\" />\n/// <reference path=\"./wix-automations-activation-log.v1.d.ts\" />\n/// <reference path=\"./wix-gift-vouchers.v2.d.ts\" />\n/// <reference path=\"./bookings-v2-pricing-spi.d.ts\" />\n/// <reference path=\"./wix-automations-activation-summary.v1.d.ts\" />\n/// <reference path=\"./wix-data-site-usage-service-v1.d.ts\" />\n/// <reference path=\"./wix-instagram-account-backend.v1.d.ts\" />\n/// <reference path=\"./wix-analytics-session.v2.d.ts\" />\n/// <reference path=\"./wix-reports.v2.d.ts\" />\n/// <reference path=\"./wix-data-extension-schema.v1.d.ts\" />\n/// <reference path=\"./wix-fetch.d.ts\" />\n/// <reference path=\"./wix-automations-runner.v1.d.ts\" />\n/// <reference path=\"./wix-automations.d.ts\" />\n/// <reference path=\"./wix-http-functions.d.ts\" />\n/// <reference path=\"./wix-functions.v1.d.ts\" />\n/// <reference path=\"./wix-router.d.ts\" />\n/// <reference path=\"./wix-media-collections-backend.d.ts\" />\n/// <reference path=\"./wix-review-requests.v2.d.ts\" />\n/// <reference path=\"./wix-b2btransfer.d.ts\" />\n/// <reference path=\"./wix-instagram-media.v1.d.ts\" />\n/// <reference path=\"./wix-automations-activation-action-log.v1.d.ts\" />\n/// <reference path=\"./user-management-backend.d.ts\" />\n/// <reference path=\"./wix-user-management-backend.d.ts\" />\n/// <reference path=\"./wix-premium-product-type.v1.d.ts\" />\n/// <reference path=\"./wix-promote-growth-tools-design.v1.d.ts\" />\n/// <reference path=\"./wix-configs-backend.d.ts\" />\n/// <reference path=\"../../common/wix-application-backend.d.ts\" />"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/public/wix-packages.d.ts",
      "content": "/// <reference path=\"../common/wix-packages.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-dataset.d.ts",
      "content": "/**\n * A dataset connects page elements to a set of items in a data collection.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.html#)\n */\ndeclare module 'wix-dataset' {\n    import wixData from 'wix-data';\n    /**\n     * A [dataset](wix-dataset.html) connects page elements to a set of items in a data collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#)\n     */\n    interface Dataset {\n        /**\n         * Adds a new blank item.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#add)\n         */\n        add(): Promise<void>;\n        /**\n         * Returns the current item.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#getCurrentItem)\n         */\n        getCurrentItem(): any;\n        /**\n         * Returns the current item's index.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#getCurrentItemIndex)\n         */\n        getCurrentItemIndex(): number;\n        /**\n         * Gets the index of the dataset's current page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#getCurrentPageIndex)\n         */\n        getCurrentPageIndex(): number;\n        /**\n         * Returns the selected items.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#getItems)\n         */\n        getItems(fromIndex: number, numberOfItems: number): Promise<Dataset.GetItemsResult>;\n        /**\n         * Gets the dataset's page size.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#getPageSize)\n         */\n        getPageSize(): number;\n        /**\n         * Returns the number of items in the dataset that match its filter criteria.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#getTotalCount)\n         */\n        getTotalCount(): number;\n        /**\n         * Gets the number of pages in the dataset.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#getTotalPageCount)\n         */\n        getTotalPageCount(): number;\n        /**\n         * Indicates if there is a next item.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#hasNext)\n         */\n        hasNext(): boolean;\n        /**\n         * Indicates if there is a next page of data.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#hasNextPage)\n         */\n        hasNextPage(): boolean;\n        /**\n         * Indicates if there is a previous item.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#hasPrevious)\n         */\n        hasPrevious(): boolean;\n        /**\n         * Indicates if there is a previous page of data.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#hasPreviousPage)\n         */\n        hasPreviousPage(): boolean;\n        /**\n         * Loads the next page of data in addition to the current data.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#loadMore)\n         */\n        loadMore(): Promise<void>;\n        /**\n         * Loads the specified page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#loadPage)\n         */\n        loadPage(pageIndex: number): Promise<any[]>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available. Use the\n         * [`add()`](https://www.wix.com/velo/reference/wix-dataset/dataset/add) function instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#new)\n         */\n        new (): Promise<void>;\n        /**\n         * Saves the current item and moves to the next item.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#next)\n         */\n        next(): Promise<any>;\n        /**\n         * Moves to the next page of data.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#nextPage)\n         */\n        nextPage(): Promise<any[]>;\n        /**\n         * Adds an event handler that runs just after a save.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#onAfterSave)\n         *  @eventType afterSave\n         */\n        onAfterSave(handler: Dataset.AfterSaveHandler): void;\n        /**\n         * Adds an event handler that runs just before a save.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#onBeforeSave)\n         */\n        onBeforeSave(handler: Dataset.BeforeSaveHandler): void;\n        /**\n         * Adds an event handler that runs when the current index changes.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#onCurrentIndexChanged)\n         *  @eventType currentIndexChanged\n         */\n        onCurrentIndexChanged(handler: Dataset.CurrentIndexChangedHandler): void;\n        /**\n         * Adds an event handler that runs when an error occurs.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#onError)\n         *  @eventType datasetError\n         */\n        onError(handler: Dataset.ErrorHandler): void;\n        /**\n         * Adds an event handler that runs when a value of the current item changes.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#onItemValuesChanged)\n         *  @eventType itemValuesChanged\n         */\n        onItemValuesChanged(handler: Dataset.ItemValuesChangedHandler): void;\n        /**\n         * Adds an event handler that runs when the dataset is ready.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#onReady)\n         *  @eventType datasetReady\n         */\n        onReady(handler: Dataset.ReadyHandler): void;\n        /**\n         * The `onReadyAsync()` function returns a Promise that resolves when a dataset is ready.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#onReadyAsync)\n         */\n        onReadyAsync(): Promise<void>;\n        /**\n         * Saves the current item and moves to the previous item.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#previous)\n         */\n        previous(): Promise<any>;\n        /**\n         * Moves to the previous page of data.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#previousPage)\n         */\n        previousPage(): Promise<any[]>;\n        /**\n         * Refetches the contents of the dataset from the collection.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#refresh)\n         */\n        refresh(): Promise<void>;\n        /**\n         * Removes the current item.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#remove)\n         */\n        remove(): Promise<void>;\n        /**\n         * Reverts the current item to its saved value.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#revert)\n         */\n        revert(): Promise<void>;\n        /**\n         * Saves the current item.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#save)\n         */\n        save(): Promise<any>;\n        /**\n         * Sets the current item by index.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#setCurrentItemIndex)\n         */\n        setCurrentItemIndex(index: number): Promise<void>;\n        /**\n         * Updates the value of a field in the current item.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#setFieldValue)\n         */\n        setFieldValue(fieldKey: string, value: any): void;\n        /**\n         * Updates the values of a set of fields in the current item.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#setFieldValues)\n         */\n        setFieldValues(fieldValues: any): void;\n        /**\n         * Sets the dataset filter.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#setFilter)\n         */\n        setFilter(filter: any): Promise<void>;\n        /**\n         * Sets the dataset's page size.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#setPageSize)\n         */\n        setPageSize(pageSize: number): Promise<void>;\n        /**\n         * Sets the dataset sort order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#setSort)\n         */\n        setSort(sort: wixData.WixDataSort): Promise<void>;\n    }\n    /**\n     * A [dataset](wix-dataset.html) connects page elements on a dynamic page to a set of items in a data collection.\n     *\n     * >**Note:** It is not possible to connect page elements on a dynamic page to an item in a [single item collection](https://support.wix.com/en/article/about-collections-with-a-single-item).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.DynamicDataset.html#)\n     */\n    interface DynamicDataset extends Dataset {\n        /**\n         * Gets the next dynamic page URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.DynamicDataset.html#getNextDynamicPage)\n         */\n        getNextDynamicPage(): Promise<string>;\n        /**\n         * Gets the previous dynamic page URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.DynamicDataset.html#getPreviousDynamicPage)\n         */\n        getPreviousDynamicPage(): Promise<string>;\n    }\n    /**\n     * A [dataset](wix-dataset.html) connects page elements to a set of items in a data collection.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dataset.Dataset.html#)\n     */\n    namespace Dataset {\n        /**\n         * An object representing a dataset error.\n         */\n        type DatasetError = {\n            /**\n             * Error code.\n             */\n            code: string;\n            /**\n             * Error message.\n             */\n            message: string;\n        };\n        /**\n         * An object used by the `getItems()` function that contains the items retrieved and the total number of items in the dataset that match its filter criteria\n         */\n        type GetItemsResult = {\n            /**\n             * List of items objects where key:value pairs are the field IDs and field values of the retrieved items, including all hidden fields.\n             */\n            items: any[];\n            /**\n             * The number of items in the dataset that match its filter criteria.\n             */\n            totalCount: number;\n            /**\n             * The index in the dataset of the first item in the items property.\n             */\n            offset: number;\n        };\n        /**\n         * An after save event handler.\n         */\n        type AfterSaveHandler = (itemBeforeSave: any, itemAfterSave: any) => void;\n        /**\n         * A before save event handler.\n         */\n        type BeforeSaveHandler = () => Promise<boolean> | boolean;\n        /**\n         * A current item index change event handler.\n         */\n        type CurrentIndexChangedHandler = (index: number) => void;\n        /**\n         * An error event handler.\n         */\n        type ErrorHandler = (operation: string, error: Dataset.DatasetError) => void;\n        /**\n         * A current item value change event handler.\n         */\n        type ItemValuesChangedHandler = (itemBeforeChange: any, updatedItem: any) => void;\n        /**\n         * A dataset ready event handler.\n         */\n        type ReadyHandler = () => void;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-location-frontend.d.ts",
      "content": "/**\n * The wix-location-frontend module contains functionality for getting information\n *  about the URL of the current page and for navigating to other pages.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.html#)\n */\ndeclare module 'wix-location-frontend' {\n    /**\n     * Gets the base URL of the current page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.html#baseUrl)\n     */\n    const baseUrl: string;\n    /**\n     * Gets the path of the current page's URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.html#path)\n     */\n    const path: string[];\n    /**\n     * Gets the prefix of a dynamic page's or router page's URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.html#prefix)\n     */\n    const prefix: string;\n    /**\n     * Gets the protocol of the current page's URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.html#protocol)\n     */\n    const protocol: string;\n    /**\n     * Gets an object that represents the query segment of the current page's URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.html#query)\n     */\n    const query: any;\n    /**\n     * Gets an object used to manage the query segment of the current page's URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.html#queryParams)\n     */\n    const queryParams: QueryParams;\n    /**\n     * Gets the full URL of the current page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.html#url)\n     */\n    const url: string;\n    /**\n     * Adds an event handler that runs when an application page's URL changes.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.html#onChange)\n     */\n    function onChange(handler: LocationChangeHandler): void;\n    /**\n     * Directs the browser to navigate to the specified URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.html#to)\n     */\n    function to(url: string, options?: NavOptions): void;\n    /**\n     * An object containing information about a location.\n     */\n    type Location = {\n        /**\n         * Location path.\n         */\n        path: string;\n    };\n    /**\n     * An object containing navigation and scrolling options.\n     */\n    type NavOptions = {\n        /**\n         * Whether the page scrolls to the top when navigating to the specified URL for a Wix page. Defaults to `false`. When `true`, the page remains at the same Y-axis position as the previously-viewed page. This setting doesn't affect scrolling for external URLs.\n         */\n        disableScrollToTop?: boolean;\n    };\n    /**\n     * Handles location change events.\n     */\n    type LocationChangeHandler = (event: Location) => void;\n    /**\n     * An object used to manage the query segment of the current page's URL.\n     * * Get hands-on experience with the URL query parameters on the [Hello Query Parameters](https://dev.wix.com/docs/coding-examples/getting-started/hello-world/hello-query-parameters) example page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.QueryParams.html#)\n     */\n    interface QueryParams {\n        /**\n         * Adds query parameters to the current page's URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.QueryParams.html#add)\n         */\n        add(toAdd: any): void;\n        /**\n         * Removes query parameters from the current page's URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-location-frontend.QueryParams.html#remove)\n         */\n        remove(toRemove: string[]): void;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-location.d.ts",
      "content": "/**\n * The wix-location module contains functionality for getting information\n *  about the URL of the current page and for navigating to other pages.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-location.html#)\n */\ndeclare module 'wix-location' {\n    /**\n     * Gets the base URL of the current page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location.html#baseUrl)\n     */\n    const baseUrl: string;\n    /**\n     * Gets the path of the current page's URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location.html#path)\n     */\n    const path: string[];\n    /**\n     * Gets the prefix of a dynamic page's or router page's URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location.html#prefix)\n     */\n    const prefix: string;\n    /**\n     * Gets the protocol of the current page's URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location.html#protocol)\n     */\n    const protocol: string;\n    /**\n     * Gets an object that represents the query segment of the current page's URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location.html#query)\n     */\n    const query: any;\n    /**\n     * Gets an object used to manage the query segment of the current page's URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location.html#queryParams)\n     */\n    const queryParams: QueryParams;\n    /**\n     * Gets the full URL of the current page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location.html#url)\n     */\n    const url: string;\n    /**\n     * Adds an event handler that runs when an application page's URL changes.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location.html#onChange)\n     */\n    function onChange(handler: LocationChangeHandler): void;\n    /**\n     * Directs the browser to navigate to the specified URL.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location.html#to)\n     */\n    function to(url: string, options?: NavOptions): void;\n    /**\n     * An object containing information about a location.\n     */\n    type Location = {\n        /**\n         * Location path.\n         */\n        path: string;\n    };\n    /**\n     * An object containing navigation and scrolling options.\n     */\n    type NavOptions = {\n        /**\n         * Whether the page scrolls to the top when navigating to the specified URL for a Wix page. Defaults to `false`. When `true`, the page remains at the same Y-axis position as the previously-viewed page. This setting does not affect scrolling for external URLs.\n         */\n        disableScrollToTop?: boolean;\n    };\n    /**\n     * Handles location change events.\n     */\n    type LocationChangeHandler = (event: Location) => void;\n    /**\n     * An object used to manage the query segment of the current page's URL.\n     * * Get hands-on experience with the URL query parameters on our [Hello Query Parameters](https://dev.wix.com/docs/coding-examples/getting-started/hello-world/hello-query-parameters) example page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-location.QueryParams.html#)\n     */\n    interface QueryParams {\n        /**\n         * Adds query parameters to the current page's URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-location.QueryParams.html#add)\n         */\n        add(toAdd: any): void;\n        /**\n         * Removes query parameters from the current page's URL.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-location.QueryParams.html#remove)\n         */\n        remove(toRemove: string[]): void;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-site-frontend.d.ts",
      "content": "/**\n * The wix-site-frontend module contains functionality for obtaining information about a site and its pages.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#)\n */\ndeclare module 'wix-site-frontend' {\n    /**\n     * Retrieves a code representing the site's currency.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#currency)\n     */\n    const currency: string;\n    /**\n     * Retrieves information about a current page or popup.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#currentPage)\n     */\n    const currentPage: StructurePage | StructureLightbox;\n    /**\n     * Retrieves a code representing the site's language.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#language)\n     */\n    const language: string;\n    /**\n     * Retrieves a site's regional settings.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#regionalSettings)\n     */\n    const regionalSettings: string;\n    /**\n     * Retrieves the site revision ID.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#revision)\n     */\n    const revision: string;\n    /**\n     * Retrieves a site's time zone.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#timezone)\n     */\n    const timezone: string;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#wixRouterSitemapEntry)\n     */\n    const wixRouterSitemapEntry: WixRouterSitemapEntry;\n    /**\n     * Gets an HTML element containing CSS code to load fonts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#getFontsHtml)\n     */\n    function getFontsHtml(fonts: string[], options?: getFontsHtmlOptions): Promise<string>;\n    /**\n     * Gets the site display name.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#getSiteDisplayName)\n     */\n    function getSiteDisplayName(): string;\n    /**\n     * Returns information about a site's pages, prefixes, and popups.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#getSiteStructure)\n     */\n    function getSiteStructure(): SiteStructure;\n    /**\n     * Gets the CSS code of the site's theme.\n     * Use `getSiteThemeHtml()` to get an HTML element containing the CSS code of a site's\n     * [theme colors and fonts](https://support.wix.com/en/article/wix-editor-customizing-your-sites-theme-and-design).\n     * Use `getSiteThemeHtml()` when embedding a custom element in a Wix site where the page's stylesheet\n     * is inaccessible, such as when using a shadow root or an internal iframe.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#getSiteThemeHtml)\n     */\n    function getSiteThemeHtml(options?: getSiteThemeHtmlOptions): Promise<string>;\n    /**\n     * Optimizes resource fetching of pages and popups in a site so they'll load faster.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#prefetchPageResources)\n     */\n    function prefetchPageResources(prefetchItems: PrefetchItems): PrefetchResult;\n    /**\n     * Returns the sitemap for a router or dynamic page prefix.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.html#routerSitemap)\n     */\n    function routerSitemap(routerPrefix: string): Promise<WixRouterSitemapEntry[]>;\n    /**\n     * An object that contains information about which pages and popups to\n     *  prefetch resources for.\n     */\n    type PrefetchItems = {\n        /**\n         * The relative or absolute URLs of the pages in a site\n         *  to prefetch resources for.\n         */\n        pages?: string[];\n        /**\n         * The names of the popups in a site to prefetch\n         *  resources for.\n         *\n         *  > **Note:** Pages are listed by relative or absolute URL, but popups are listed by name.\n         *  See `location.to` to learn how to find a page's relative\n         *  URL. You can find a popup's name by selecting the popup and clicking the settings button.\n         */\n        lightboxes?: string[];\n    };\n    /**\n     * An object that's returned from a prefetch request.\n     */\n    type PrefetchResult = {\n        /**\n         * A success or failure message.\n         */\n        message: string;\n        /**\n         * The errors that occurred.\n         */\n        errors: PrefetchResultError;\n    };\n    /**\n     * An object that's returned when a resource prefetch is unsuccessful.\n     */\n    type PrefetchResultError = {\n        /**\n         * The names of the pages for which prefetch failed.\n         */\n        pages: string[];\n        /**\n         * The names of the popups for which prefetch failed.\n         */\n        lightboxes: string[];\n    };\n    /**\n     * An object that contains information about a site's prefixes.\n     */\n    type Prefix = {\n        /**\n         * The name of the prefix.\n         */\n        name: string;\n        /**\n         * The type of the prefix.\n         *\n         *  A site's routers, dynamic pages, and app pages all have prefixes.\n         *\n         *  One of:\n         *\n         *  + `\"dynamicPages\"`\n         *  + `\"router\"`\n         *  + `\"app\"`\n         */\n        type: string;\n        /**\n         * The prefix.\n         */\n        prefix: string;\n        /**\n         * If the prefix is an app's prefix, the `applicationId` property is the app's ID.\n         */\n        applicationId?: string;\n    };\n    /**\n     * An object that contains information about a site's pages, prefixes, and popups.\n     */\n    type SiteStructure = {\n        /**\n         * The pages of a site.\n         *  Pages can be regular pages, dynamic pages, router pages, or pages from an app.\n         */\n        pages: StructurePage[];\n        /**\n         * The prefixes of the site's routers and dynamic pages.\n         */\n        prefixes: Prefix[];\n        /**\n         * The site's popups.\n         */\n        lightboxes: StructureLightbox[];\n    };\n    /**\n     * An object that contains information about a popup on a site.\n     */\n    type StructureLightbox = {\n        /**\n         * The name of the popup.\n         */\n        name: string;\n    };\n    /**\n     * An object that contains information about a page on a site.\n     */\n    type StructurePage = {\n        /**\n         * Page name.\n         */\n        name: string;\n        /**\n         * Page type: `\"static\"` or `\"template\"`.\n         */\n        type: string;\n        /**\n         * URL of the page. If the page is a `static` page the `url` property is the page's SEO URL.\n         */\n        url?: string;\n        /**\n         * If the page is an app page, the `applicationId` property is the app's ID.\n         */\n        applicationId?: string;\n        /**\n         * If the page is a router or dynamic page, the `prefix` property is the page's prefix.\n         */\n        prefix?: string;\n        /**\n         * If the page is the Home page, `isHomePage` is `true`. Otherwise, it doesn't exist.\n         */\n        isHomePage?: boolean;\n    };\n    /**\n     * The options used when getting the HTML element.\n     */\n    type getFontsHtmlOptions = {\n        /**\n         * An identifier that's added in a `data-test-id` attribute on the returned HTML element. Use this identifier to locate the HTML element when testing your code.\n         */\n        testId: string;\n    };\n    /**\n     * The options used when getting an HTML element.\n     */\n    type getSiteThemeHtmlOptions = {\n        /**\n         * An identifier that's added in a `data-test-id` attribute on the returned HTML element. You can use this identifier to locate the HTML element when testing your code.\n         */\n        testId: string;\n    };\n    /**\n     * An object representing a single entry in a sitemap.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.WixRouterSitemapEntry.html#)\n     */\n    interface WixRouterSitemapEntry {\n        /**\n         * Gets how frequently the page is likely to change.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.WixRouterSitemapEntry.html#changeFrequency)\n         */\n        readonly changeFrequency: string;\n        /**\n         * Gets when the page data was last modified.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.WixRouterSitemapEntry.html#lastModified)\n         */\n        readonly lastModified: Date;\n        /**\n         * Gets the page name.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.WixRouterSitemapEntry.html#pageName)\n         */\n        readonly pageName: string;\n        /**\n         * Gets the priority of this URL relative to other URLs on your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.WixRouterSitemapEntry.html#priority)\n         */\n        readonly priority: number;\n        /**\n         * Gets the page title.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.WixRouterSitemapEntry.html#title)\n         */\n        readonly title: string;\n        /**\n         * Gets the relative url of the page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site-frontend.WixRouterSitemapEntry.html#url)\n         */\n        readonly url: string;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-site.d.ts",
      "content": "/**\n * The wix-site module contains functionality for obtaining information about your site and its pages.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#)\n */\ndeclare module 'wix-site' {\n    /**\n     * Gets a code representing the site's currency.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#currency)\n     */\n    const currency: string;\n    /**\n     * Gets information about the current page or popup.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#currentPage)\n     */\n    const currentPage: StructurePage | StructureLightbox;\n    /**\n     * Gets a code representing the site's language.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#language)\n     */\n    const language: string;\n    /**\n     * Gets the site's regional settings.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#regionalSettings)\n     */\n    const regionalSettings: string;\n    /**\n     * Gets the site revision ID.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#revision)\n     */\n    const revision: string;\n    /**\n     * Gets the site's timezone.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#timezone)\n     */\n    const timezone: string;\n    /**\n     * [Read more](https://www.wix.com/corvid/reference/wix-site.html#wixRouterSitemapEntry)\n     */\n    const wixRouterSitemapEntry: WixRouterSitemapEntry;\n    /**\n     * Gets the site display name.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#getSiteDisplayName)\n     */\n    function getSiteDisplayName(): string;\n    /**\n     * Returns information about the site's pages, prefixes, and popups.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#getSiteStructure)\n     */\n    function getSiteStructure(): SiteStructure;\n    /**\n     * Optimizes resource fetching of pages and popups in the site so they will load faster.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#prefetchPageResources)\n     */\n    function prefetchPageResources(prefetchItems: PrefetchItems): PrefetchResult;\n    /**\n     * Returns the sitemap for a router or dynamic page prefix.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.html#routerSitemap)\n     */\n    function routerSitemap(routerPrefix: string): Promise<WixRouterSitemapEntry[]>;\n    /**\n     * An object that contains information about which pages and popups to\n     *  prefetch resources for.\n     */\n    type PrefetchItems = {\n        /**\n         * The relative or absolute URLs of the pages in your site\n         *  to prefetch resources for.\n         */\n        pages?: string[];\n        /**\n         * The names of the popups in your site to prefetch\n         *  resources for.\n         *\n         *  > **Note:** Pages are listed by relative or absolute URL, but popups are listed by name.\n         *  See [`wix-location.to()`](wix-location.html#to) to learn how to find a page's relative\n         *  URL. You can find a popup's name by selecting the popup and clicking the settings button.\n         */\n        lightboxes?: string[];\n    };\n    /**\n     * An object that is returned from a prefetch request.\n     */\n    type PrefetchResult = {\n        /**\n         * A success or failure message.\n         */\n        message: string;\n        /**\n         * The errors that occurred.\n         */\n        errors: PrefetchResultError;\n    };\n    /**\n     * An object that is returned when a resource prefetch is unsuccessful.\n     */\n    type PrefetchResultError = {\n        /**\n         * The names of the pages for which prefetch failed.\n         */\n        pages: string[];\n        /**\n         * The names of the popups for which prefetch failed.\n         */\n        lightboxes: string[];\n    };\n    /**\n     * An object that contains information about the site's prefixes.\n     */\n    type Prefix = {\n        /**\n         * The name of the prefix.\n         */\n        name: string;\n        /**\n         * The type of the prefix.\n         *\n         *  A site's routers, dynamic pages, and app pages all have prefixes.\n         *\n         *  One of:\n         *\n         *  + `\"dynamicPages\"`\n         *  + `\"router\"`\n         *  + `\"app\"`\n         */\n        type: string;\n        /**\n         * The prefix.\n         */\n        prefix: string;\n        /**\n         * If the prefix is an app's prefix, the `applicationId` property is the app's ID.\n         */\n        applicationId?: string;\n    };\n    /**\n     * An object that contains information about the site's pages, prefixes, and popups.\n     */\n    type SiteStructure = {\n        /**\n         * The pages of the site.\n         *  Pages can be regular pages, dynamic pages, router pages, or pages from an app.\n         */\n        pages: StructurePage[];\n        /**\n         * The prefixes of the site's routers and dynamic pages.\n         */\n        prefixes: Prefix[];\n        /**\n         * The site's popups.\n         */\n        lightboxes: StructureLightbox[];\n    };\n    /**\n     * An object that contains information about a popup on the site.\n     */\n    type StructureLightbox = {\n        /**\n         * The name of the popup.\n         */\n        name: string;\n    };\n    /**\n     * An object that contains information about a page on the site.\n     */\n    type StructurePage = {\n        /**\n         * The name of the page.\n         */\n        name: string;\n        /**\n         * The type of the page: `\"static\"` or `\"template\"`.\n         */\n        type: string;\n        /**\n         * The URL of the page. If the page is a `static` page the `url` property is the page's SEO URL.\n         */\n        url?: string;\n        /**\n         * If the page is an app page, the `applicationId` property is the app's ID.\n         */\n        applicationId?: string;\n        /**\n         * If the page is a router or dynamic page, the `prefix` property is the page's prefix.\n         */\n        prefix?: string;\n        /**\n         * If the page is the Home page, `isHomePage` is `true`. Otherwise, it does not exist.\n         */\n        isHomePage?: boolean;\n    };\n    /**\n     * An object representing a single entry in a sitemap.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-site.WixRouterSitemapEntry.html#)\n     */\n    interface WixRouterSitemapEntry {\n        /**\n         * Gets how frequently the page is likely to change.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site.WixRouterSitemapEntry.html#changeFrequency)\n         */\n        readonly changeFrequency: string;\n        /**\n         * Gets when the page data was last modified.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site.WixRouterSitemapEntry.html#lastModified)\n         */\n        readonly lastModified: Date;\n        /**\n         * Gets the page name.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site.WixRouterSitemapEntry.html#pageName)\n         */\n        readonly pageName: string;\n        /**\n         * Gets the priority of this URL relative to other URLs on your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site.WixRouterSitemapEntry.html#priority)\n         */\n        readonly priority: number;\n        /**\n         * Gets the page title.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site.WixRouterSitemapEntry.html#title)\n         */\n        readonly title: string;\n        /**\n         * Gets the relative url of the page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-site.WixRouterSitemapEntry.html#url)\n         */\n        readonly url: string;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-storage-frontend.d.ts",
      "content": "/**\n * The wix-storage-frontend module contains functionality for the persistent\n *  storage of key/value data in the site visitor's browser.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-frontend.html#)\n */\ndeclare module 'wix-storage-frontend' {\n    /**\n     * Used for local storage of data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-frontend.html#local)\n     */\n    const local: Storage;\n    /**\n     * Used for memory storage of data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-frontend.html#memory)\n     */\n    const memory: Storage;\n    /**\n     * Used for session storage of data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-frontend.html#session)\n     */\n    const session: Storage;\n    /**\n     * Used for storing local, session, or memory key/value data in the visitor's browser.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-frontend.Storage.html#)\n     */\n    interface Storage {\n        /**\n         * Removes **all** items from local, session, or memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-frontend.Storage.html#clear)\n         */\n        clear(): void;\n        /**\n         * Gets an item from local, session, or memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-frontend.Storage.html#getItem)\n         */\n        getItem(key: string): string;\n        /**\n         * Removes an item from local, session, or memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-frontend.Storage.html#removeItem)\n         */\n        removeItem(key: string): void;\n        /**\n         * Stores an item in local, session, or memory storage.\n         *  > **Note:** You can store up to 50kb of data in local and session storage and up to\n         *  > 1mb in memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-frontend.Storage.html#setItem)\n         */\n        setItem(key: string, value: string | number | string[]): void;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-storage-mobile.d.ts",
      "content": "/**\n * The wix-storage-mobile module contains functionality for the persistent\n *  storage of key/value data.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-mobile.html#)\n */\ndeclare module 'wix-storage-mobile' {\n    /**\n     * Used for local storage of data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-mobile.html#local)\n     */\n    const local: StorageMobile;\n    /**\n     * Used for memory storage of data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-mobile.html#memory)\n     */\n    const memory: StorageMobile;\n    /**\n     * Used for storing local, or memory key/value data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-mobile.StorageMobile.html#)\n     */\n    interface StorageMobile {\n        /**\n         * Removes **all** items from local, or memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-mobile.StorageMobile.html#clear)\n         */\n        clear(): void;\n        /**\n         * Gets an item from local or memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-mobile.StorageMobile.html#getItem)\n         */\n        getItem(key: string): Promise<string>;\n        /**\n         * Removes an item from local or memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-mobile.StorageMobile.html#removeItem)\n         */\n        removeItem(key: string): void;\n        /**\n         * Stores an item in local or memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage-mobile.StorageMobile.html#setItem)\n         */\n        setItem(key: string, value: string | number | string[]): Promise<void>;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-storage.d.ts",
      "content": "/**\n * The wix-storage module contains functionality for the persistent\n *  storage of key/value data in the site visitor's browser.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-storage.html#)\n */\ndeclare module 'wix-storage' {\n    /**\n     * Used for local storage of data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage.html#local)\n     */\n    const local: Storage;\n    /**\n     * Used for memory storage of data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage.html#memory)\n     */\n    const memory: Storage;\n    /**\n     * Used for session storage of data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage.html#session)\n     */\n    const session: Storage;\n    /**\n     * Used for storing local, session, or memory key/value data in the visitor's browser.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-storage.Storage.html#)\n     */\n    interface Storage {\n        /**\n         * Removes **all** items from local, session, or memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage.Storage.html#clear)\n         */\n        clear(): void;\n        /**\n         * Gets an item from local, session, or memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage.Storage.html#getItem)\n         */\n        getItem(key: string): string;\n        /**\n         * Removes an item from local, session, or memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage.Storage.html#removeItem)\n         */\n        removeItem(key: string): void;\n        /**\n         * Stores an item in local, session, or memory storage.\n         *  > **Note:** You can store up to 50kb of data in local and session storage and up to\n         *  > 1mb in memory storage.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-storage.Storage.html#setItem)\n         */\n        setItem(key: string, value: string | number | string[]): void;\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-window-frontend.d.ts",
      "content": "/**\n * The wix-window-frontend module contains functionality that pertains to the\n *  current browser window.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#)\n */\ndeclare module 'wix-window-frontend' {\n    /**\n     * Gets the locale of a site visitor's browser.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#browserLocale)\n     */\n    const browserLocale: string;\n    /**\n     * The ConsentPolicy API manages site visitor cookie preferences and 3rd-party data transfers for GDPR and CCPA compliance.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#consentPolicy)\n     */\n    const consentPolicy: ConsentPolicy;\n    /**\n     * Gets what kind of device is being used to view a page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#formFactor)\n     */\n    const formFactor: string;\n    /**\n     * A [popup](https://support.wix.com/en/article/studio-editor-using-popups) opens on a site to grab a site visitor's attention.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#lightbox)\n     */\n    const lightbox: Lightbox;\n    /**\n     * The Multilingual API is used when working with languages in a multilingual site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#multilingual)\n     */\n    const multilingual: Multilingual;\n    /**\n     * Gets the HTTP referrer header field.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#referrer)\n     */\n    const referrer: string;\n    /**\n     * The [Rendering API](wix-window-frontend.html#rendering) is used to control when code is run as a page is being loaded.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#rendering)\n     */\n    const rendering: Rendering;\n    /**\n     * Gets which mode a site is currently being viewed in.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#viewMode)\n     */\n    const viewMode: string;\n    /**\n     * The Warmup Data API is used to optimize data loading for sites that render both on the server and in the browser,\n     *  allowing costly data fetching operations to be done only once.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#warmupData)\n     */\n    const warmupData: WarmupData;\n    /**\n     * Copies text to a site visitor's clipboard.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#copyToClipboard)\n     */\n    function copyToClipboard(text: string): Promise<void>;\n    /**\n     * Gets the data passed to a [custom app page](https://dev.wix.com/docs/develop-websites/articles/wix-apps/replace-a-wix-business-app-page-with-your-own-custom-version).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#getAppPageData)\n     */\n    function getAppPageData(): any;\n    /**\n     * Retrieves information about a window.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#getBoundingRect)\n     */\n    function getBoundingRect(): Promise<WindowSizeInfo>;\n    /**\n     * Retrieves the current geolocation of a site visitor.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#getCurrentGeolocation)\n     */\n    function getCurrentGeolocation(): Promise<CurrentGeolocation>;\n    /**\n     * Retrieves the data sent by a router to a page as part of its response.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#getRouterData)\n     */\n    function getRouterData(): any;\n    /**\n     * Opens a popup and optionally passes it the specified data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#openLightbox)\n     */\n    function openLightbox(name: string, data?: any): Promise<any>;\n    /**\n     * Opens a modal window that displays the specified web page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#openModal)\n     */\n    function openModal(url: string, options: OpenModalOptions): Promise<void>;\n    /**\n     * Sends a message to a page's parent.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#postMessage)\n     */\n    function postMessage(message: any, target?: string): Promise<any>;\n    /**\n     * **Deprecated.** This method will continue to work, but a newer version is available. Use the [`registerEventListener()`](https://dev.wix.com/docs/sdk/host-modules/site/analytics/register-event-listener) method instead.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#registerEventListener)\n     */\n    function registerEventListener(eventName: string, params: any): void;\n    /**\n     * Scrolls a page by the specified number of pixels.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#scrollBy)\n     */\n    function scrollBy(x: number, y: number): Promise<void>;\n    /**\n     * Scrolls a page to the specified location.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#scrollTo)\n     */\n    function scrollTo(x: number, y: number, options?: ScrollToOptions): Promise<void>;\n    /**\n     * **Deprecated.** This method will continue to work, but a newer version is available. Use the [`trackEvent()`](https://dev.wix.com/docs/sdk/host-modules/site/analytics/track-event) method instead.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.html#trackEvent)\n     */\n    function trackEvent(eventName: string, parameters: trackingParametersCustomEvent | trackingParametersAddPaymentInfoEvent | trackingParametersAddProductImpressionEvent | trackingParametersAddToCartEvent | trackingParametersCheckoutStepEvent | trackingParametersClickProductEvent | trackingParametersInitiateCheckoutEvent | trackingParametersLeadEvent | trackingParametersPurchaseEvent | trackingParametersRemoveFromCartEvent | trackingParametersStartPaymentEvent | trackingParametersViewContentEvent): void;\n    /**\n     * An object that defines the location.\n     */\n    type Coordinates = {\n        /**\n         * The position's latitude in decimal degrees.\n         */\n        latitude: number;\n        /**\n         * The position's longitude in decimal degrees.\n         */\n        longitude: number;\n        /**\n         * The position's altitude in meters, relative to sea level. This value may be null if the browser can't provide the data.\n         */\n        altitude: number;\n        /**\n         * The accuracy in meters of the `latitude` and `longitude` properties.\n         */\n        accuracy: number;\n        /**\n         * The accuracy in meters of the `altitude` property. This value may be null.\n         */\n        altitudeAccuracy: number;\n        /**\n         * The direction in degrees in which the device is traveling. It indicates how far off from heading true north the device is. If `speed` is `0`, the heading is `NaN`. This value may be null if the browser can't provide the data.\n         */\n        heading: number;\n        /**\n         * The velocity in meters per second of the device. This value may be null if the browser can't provide the data.\n         */\n        speed: number;\n    };\n    /**\n     * An object returned by `getCurrentGeolocation()` that contains information about the current geolocation.\n     */\n    type CurrentGeolocation = {\n        /**\n         * The geolocation timestamp representing the date and time at which the location was retrieved.\n         */\n        timestamp: string;\n        /**\n         * An object that defines the location.\n         */\n        coords: Coordinates;\n    };\n    /**\n     * A custom parameter used when sending a `CustomEvent` track event.\n     */\n    type CustomType = {};\n    /**\n     * An object containing the size of the actual body of the page, which may be larger or smaller than the current window.\n     */\n    type DocumentSize = {\n        /**\n         * The height of the page body.\n         */\n        height: number;\n        /**\n         * The width of the page body.\n         */\n        width: number;\n    };\n    /**\n     * An object used for providing options for the `lightbox.open()` method.\n     */\n    type LightboxOpenOptions = {\n        /**\n         * The extension ID of the app's popup extension, which you can find in the Extensions page of your app dashboard.\n         */\n        extensionId: string;\n        /**\n         * Data to pass to the popup.\n         */\n        data?: any;\n    };\n    /**\n     * An object used when opening a modal window.\n     */\n    type OpenModalOptions = {\n        /**\n         * Width of the modal window.\n         */\n        width: number;\n        /**\n         * Height of the modal window.\n         */\n        height: number;\n    };\n    /**\n     * An object containing the scroll offset of the page within the window from the top-left corner.\n     */\n    type ScrollOffset = {\n        /**\n         * The horizontal scroll offset of the page within the window from the left.\n         */\n        x: number;\n        /**\n         * The vertical scroll offset of the page within the window from the top.\n         */\n        y: number;\n    };\n    /**\n     * An object used for providing options for the `scrollTo()` method.\n     */\n    type ScrollToOptions = {\n        /**\n         * Indicates whether to scroll with an animation. Defaults to `true`.\n         */\n        scrollAnimation: boolean;\n    };\n    /**\n     * An object containing the size of the viewable area of the current browser window.\n     */\n    type WindowSize = {\n        /**\n         * The height of the window.\n         */\n        height: number;\n        /**\n         * The width of the window.\n         */\n        width: number;\n    };\n    /**\n     * An object returned by `getBoundingRect()` that contains information about a window's size, document's size, and current scroll position.\n     */\n    type WindowSizeInfo = {\n        /**\n         * An object containing the size of the viewable area of the current browser window.\n         */\n        window: WindowSize;\n        /**\n         * An object containing the size of the actual body of the page, which may be larger or smaller than the current window.\n         */\n        document: DocumentSize;\n        /**\n         * An object containing the scroll offset of the page within the window from the top-left corner.\n         */\n        scroll: ScrollOffset;\n    };\n    /**\n     * Objects used when calling `trackEvent()`.\n     */\n    type trackingParameters = {\n        /**\n         * Object used for `AddPaymentInfo` events.\n         */\n        AddPaymentInfoEvent?: trackingParametersAddPaymentInfoEvent;\n        /**\n         * Object used for `AddProductImpression` events.\n         */\n        AddProductImpressionEvent?: trackingParametersAddProductImpressionEvent;\n        /**\n         * Object used for `AddToCart` events.\n         */\n        AddToCartEvent?: trackingParametersAddToCartEvent;\n        /**\n         * Object used for `CheckoutStep` events.\n         */\n        CheckoutStepEvent?: trackingParametersCheckoutStepEvent;\n        /**\n         * Object used for `ClickProduct` events.\n         */\n        ClickProductEvent?: trackingParametersClickProductEvent;\n        /**\n         * Object used for `InitiateCheckout` events.\n         */\n        InitiateCheckoutEvent?: trackingParametersInitiateCheckoutEvent;\n        /**\n         * Object used for `Lead` events.\n         */\n        LeadEvent?: trackingParametersLeadEvent;\n        /**\n         * Object used for `Purchase` events.\n         */\n        PurchaseEvent?: trackingParametersPurchaseEvent;\n        /**\n         * Object used for `RemoveFromCart` events.\n         */\n        RemoveFromCartEvent?: trackingParametersRemoveFromCartEvent;\n        /**\n         * Object used for `StartPayment` events.\n         */\n        StartPaymentEvent?: trackingParametersStartPaymentEvent;\n        /**\n         * Object used for `ViewContent` events.\n         */\n        ViewContentEvent?: trackingParametersViewContentEvent;\n        /**\n         * Object used for custom events.\n         */\n        CustomEvent?: trackingParametersCustomEvent;\n    };\n    /**\n     * An object used when sending an `AddPaymentInfo` track event.\n     */\n    type trackingParametersAddPaymentInfoEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Payment type. For example, `Visa` or `PayPal`.\n         */\n        option?: string;\n    };\n    /**\n     * An object used when sending an `AddProductImpression` track event.\n     */\n    type trackingParametersAddProductImpressionEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * `key:value` pairs describing the products.\n         */\n        contents: trackingParametersAddProductImpressionEventContents[];\n    };\n    /**\n     * An object used when sending an `AddProductImpression` track event.\n     */\n    type trackingParametersAddProductImpressionEventContents = {\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Stock-keeping unit for the product.\n         */\n        sku?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * List or collection the product is part of. For example, `Product Gallery` or `Search Results`.\n         */\n        list?: string;\n        /**\n         * Position of the product within a list or collection.\n         */\n        position?: string;\n    };\n    /**\n     * An object used when sending an `AddToCart` track event.\n     */\n    type trackingParametersAddToCartEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Stock-keeping unit for the product.\n         */\n        sku?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * List or collection the product is part of. For example, `Product Gallery` or `Search Results`.\n         */\n        position?: string;\n        /**\n         * Product quantity.\n         */\n        quantity?: number;\n    };\n    /**\n     * An object used when sending an `CheckoutStep` track event.\n     */\n    type trackingParametersCheckoutStepEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Number of the step in the checkout process.\n         * For example `2` for `addPaymentInfo` in a checkout flow that consists of the steps `StartPayment`, `addPaymentInfo`, and `Select Shipping`.\n         */\n        step?: string;\n        /**\n         * Action the visitor has taken in this step. For example, `Select Shipping`.\n         */\n        action?: string;\n        /**\n         * Option information on the checkout page. For example the selected payment method.\n         */\n        option?: string;\n    };\n    /**\n     * An object used when sending a `ClickProduct` track event.\n     */\n    type trackingParametersClickProductEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Stock-keeping unit for the product.\n         */\n        sku?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * List or collection the product is part of. For example, `Product Gallery` or `Search Results`.\n         */\n        list?: string;\n        /**\n         * Position of the product within a list or collection.\n         */\n        position?: string;\n    };\n    /**\n     * An object used when sending a `CustomEvent` track event.\n     */\n    type trackingParametersCustomEvent = {\n        /**\n         * Event category. **Note:** Required for Google Analytics and Facebook Pixel.\n         */\n        eventCategory?: string;\n        /**\n         * Event action type. **Note:** Required for Google Analytics and Facebook Pixel.\n         */\n        eventAction?: string;\n        /**\n         * Event label.\n         */\n        eventLabel?: string;\n        /**\n         * Event value.\n         */\n        eventValue?: number;\n        /**\n         * Any number of custom properties.\n         */\n        \"*\"?: CustomType;\n    };\n    /**\n     * An object used when sending an `InitiateCheckout` track event.\n     */\n    type trackingParametersInitiateCheckoutEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * `key:value` pairs describing the products.\n         */\n        contents: trackingParametersInitiateCheckoutEventContents[];\n    };\n    /**\n     * An object used when sending an `InitiateCheckout` track event.\n     */\n    type trackingParametersInitiateCheckoutEventContents = {\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Stock-keeping unit for the product.\n         */\n        sku?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * Product quantity.\n         */\n        quantity?: number;\n    };\n    /**\n     * An object used when sending a `Lead` track event.\n     */\n    type trackingParametersLeadEvent = {\n        /**\n         * Lead category.\n         */\n        category?: string;\n        /**\n         * Lead action.\n         */\n        action?: string;\n        /**\n         * Lead label.\n         */\n        label?: string;\n    };\n    /**\n     * An object used when sending a `Purchase` track event.\n     */\n    type trackingParametersPurchaseEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Transaction ID or order number.\n         */\n        id?: string;\n        /**\n         * Store name.\n         */\n        affiliation?: string;\n        /**\n         * Total purchase price. Includes tax and shipping fee.\n         */\n        revenue?: number;\n        /**\n         * Total tax.\n         */\n        tax?: number;\n        /**\n         * Shipping fee.\n         */\n        shipping?: number;\n        /**\n         * Applied coupon code.\n         */\n        coupon?: string;\n        /**\n         * `key:value` pairs describing the purchased products.\n         */\n        contents: trackingParametersPurchaseEventContents[];\n    };\n    /**\n     * An object used when sending a `Purchase` track event.\n     */\n    type trackingParametersPurchaseEventContents = {\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * Product quantity.\n         */\n        quantity?: number;\n    };\n    /**\n     * An object used when sending a `RemoveFromCart` track event.\n     */\n    type trackingParametersRemoveFromCartEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * Position of the product within a list or collection.\n         */\n        position?: string;\n        /**\n         * Product quantity.\n         */\n        quantity?: number;\n    };\n    /**\n     * An object used when sending an `StartPayment` track event.\n     */\n    type trackingParametersStartPaymentEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Payment type. For example, `Visa` or `PayPal`.\n         */\n        option?: string;\n    };\n    /**\n     * An object used when sending a `ViewContent` track event.\n     */\n    type trackingParametersViewContentEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Stock-keeping unit for the product.\n         */\n        sku?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * List or collection the product is part of. For example, `Product Gallery` or `Search Results`.\n         */\n        list?: string;\n        /**\n         * Position of the product in a list or collection.\n         */\n        position?: string;\n    };\n    /**\n     * The Consent Policy API manages site visitor cookie preferences and 3rd-party data transfers for GDPR and CCPA compliance.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.ConsentPolicy.html#)\n     */\n    interface ConsentPolicy {\n        /**\n         * **Deprecated.** This method will continue to work, but a newer version is available. Use the [`getCurrentConsentPolicy()`](https://dev.wix.com/docs/sdk/frontend-modules/site/consent-policy-manager/get-current-consent-policy) method instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.ConsentPolicy.html#getCurrentConsentPolicy)\n         */\n        getCurrentConsentPolicy(): ConsentPolicy.PolicyDetails;\n        /**\n         * **Deprecated.** This method will continue to work, but a newer version is available. Use the [`onConsentPolicyChanged()`](https://dev.wix.com/docs/sdk/frontend-modules/site/consent-policy-manager/on-consent-policy-changed) method instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.ConsentPolicy.html#onConsentPolicyChanged)\n         */\n        onConsentPolicyChanged(handler: ConsentPolicy.ConsentPolicyChangedHandler): void;\n        /**\n         * **Deprecated.** This method will continue to work, but a newer version is available. Use the [`resetConsentPolicy()`](https://dev.wix.com/docs/sdk/frontend-modules/site/consent-policy-manager/reset-consent-policy) method instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.ConsentPolicy.html#resetConsentPolicy)\n         */\n        resetConsentPolicy(): Promise<void>;\n        /**\n         * **Deprecated.** This method will continue to work, but a newer version is available. Use the [`setConsentPolicy()`](https://dev.wix.com/docs/sdk/frontend-modules/site/consent-policy-manager/set-consent-policy) method instead.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.ConsentPolicy.html#setConsentPolicy)\n         */\n        setConsentPolicy(policy: ConsentPolicy.Policy): Promise<ConsentPolicy.PolicyDetails>;\n    }\n    /**\n     * A [popup](https://support.wix.com/en/article/studio-editor-using-popups) opens on a site to grab a site visitor's attention.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Lightbox.html#)\n     */\n    interface Lightbox {\n        /**\n         * Closes a popup.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Lightbox.html#close)\n         */\n        close(data?: any): void;\n        /**\n         * Gets the data object that was passed to a popup.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Lightbox.html#getContext)\n         */\n        getContext(): any;\n        /**\n         * Opens a popup and optionally passes it the specified data.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Lightbox.html#open)\n         */\n        open(options?: LightboxOpenOptions): Promise<any>;\n        /**\n         * Sets whether the site in the background behind a popup can be scrolled while a popup overlay is open.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Lightbox.html#setBackgroundScroll)\n         */\n        setBackgroundScroll(backgroundScrollEnabled?: boolean): void;\n    }\n    /**\n     * The Multilingual API is used when working with languages in a multilingual site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Multilingual.html#)\n     */\n    interface Multilingual {\n        /**\n         * Sets or gets a site's current display language.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Multilingual.html#currentLanguage)\n         */\n        currentLanguage: string;\n        /**\n         * Gets whether a site has been set up to be shown in multiple languages.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Multilingual.html#isEnabled)\n         */\n        readonly isEnabled: boolean;\n        /**\n         * Gets information about a site's languages.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Multilingual.html#siteLanguages)\n         */\n        readonly siteLanguages: Multilingual.SiteLanguage[];\n    }\n    /**\n     * The Rendering API is used to control when code is run as a page is being loaded.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Rendering.html#)\n     */\n    interface Rendering {\n        /**\n         * Gets the current environment the rendering process is running in.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Rendering.html#env)\n         */\n        readonly env: string;\n    }\n    /**\n     * The Warmup Data API is used to optimize data loading for sites that render both on the server and in the browser,\n     *  allowing costly data fetching operations to be done only once.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.WarmupData.html#)\n     */\n    interface WarmupData {\n        /**\n         * Retrieves data from server-side code for use in client-side code.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.WarmupData.html#get)\n         */\n        get(key: string): any;\n        /**\n         * Sets data in server-side code for use in client-side code.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.WarmupData.html#set)\n         */\n        set(key: string, data: any): void;\n    }\n    /**\n     * The Consent Policy API manages site visitor cookie preferences and 3rd-party data transfers for GDPR and CCPA compliance.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.ConsentPolicy.html#)\n     */\n    namespace ConsentPolicy {\n        /**\n         * The event that occurred when the consent policy changed.\n         */\n        type ConsentPolicyChangedEvent = {};\n        /**\n         * The current site visitor's consent policy settings.\n         */\n        type Policy = {\n            /**\n             * Consent for mandatory cookies for Wix websites, such as for security cookies. Wix places these cookies on the site visitor's device. These cookies don't require site visitor consent. Always `true`.\n             */\n            essential: boolean;\n            /**\n             * Consent for cookies placed on the site visitor's device that \"remember\" their user settings to improve user experience. For example, an indication that the user dismissed a popup. Default: `true`.\n             */\n            functional: boolean;\n            /**\n             * Consent for cookies used for analytics, such as Wix analytics, Google Analytics, Yandex Metrica, and so on. Default: `true`.\n             */\n            analytics: boolean;\n            /**\n             * Consent for cookies used for advertising purposes. This includes 3rd-party scripts and pixels that may potentially place advertising cookies on the device. For example, Twitter page view and Facebook Pixel. Default: `true`.\n             */\n            advertising: boolean;\n            /**\n             * Consent for a site visitor's personal data to be transferred to a 3rd party. For example, Google Analytics, Facebook Pixel, and FullStory. Default: `true`.\n             */\n            dataToThirdParty: boolean;\n        };\n        /**\n         * The complete details of the current site visitor's consent policy.\n         */\n        type PolicyDetails = {\n            /**\n             * Whether the current consent policy is the default one you set. If `true`, either the site visitor hasn't set a policy, or you've reset it to its default settings.\n             */\n            defaultPolicy: boolean;\n            /**\n             * An object representing the site visitor's current consent policy.\n             */\n            policy: ConsentPolicy.Policy;\n            /**\n             * The date the consent policy was set, if a cookie defining the current policy exists in the browser. Otherwise, it's undefined.\n             */\n            createdDate?: Date;\n        };\n        /**\n         * Method that runs when a site visitor's consent policy was changed using `setConsentPolicy()`.\n         */\n        type ConsentPolicyChangedHandler = (event: ConsentPolicy.ConsentPolicyChangedEvent) => void;\n    }\n    /**\n     * The Multilingual API is used when working with languages in a multilingual site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window-frontend.Multilingual.html#)\n     */\n    namespace Multilingual {\n        /**\n         * An object returned by the `siteLanguages` property that contains information about a site's languages.\n         */\n        type SiteLanguage = {\n            /**\n             * The language's full name.\n             */\n            name: string;\n            /**\n             * The language's locale code, which represents a set of language-related formatting preferences.\n             */\n            locale: string;\n            /**\n             * The 2-letter or 4-letter language code.\n             */\n            languageCode: string;\n            /**\n             * The language's 3-letter country code.\n             */\n            countryCode: string;\n            /**\n             * Whether the language is a site's primary language.\n             */\n            isPrimaryLanguage: boolean;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-window.d.ts",
      "content": "/**\n * The wix-window module contains functionality that pertains to the\n *  current browser window.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#)\n */\ndeclare module 'wix-window' {\n    import wixWindowFrontend from 'wix-window-frontend';\n    /**\n     * Gets the locale of a site visitor's browser.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#browserLocale)\n     */\n    const browserLocale: string;\n    /**\n     * The ConsentPolicy API manages site visitor cookie preferences and 3rd-party data transfers for GDPR and CCPA compliance.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#consentPolicy)\n     */\n    const consentPolicy: ConsentPolicy;\n    /**\n     * Gets what kind of device is being used to view the page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#formFactor)\n     */\n    const formFactor: string;\n    /**\n     * A [popup](https://support.wix.com/en/article/studio-editor-using-popups) opens on a site to grab a site visitor's attention.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#lightbox)\n     */\n    const lightbox: Lightbox;\n    /**\n     * The Multilingual API is used when working with the languages in a multilingual site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#multilingual)\n     */\n    const multilingual: Multilingual;\n    /**\n     * Gets the HTTP referrer header field.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#referrer)\n     */\n    const referrer: string;\n    /**\n     * The [Rendering API](wix-window.html#rendering) is used to control when code is run as a page is being loaded.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#rendering)\n     */\n    const rendering: Rendering;\n    /**\n     * Gets which mode a site is currently being viewed in.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#viewMode)\n     */\n    const viewMode: string;\n    /**\n     * The Warmup Data API is used to optimize data loading for sites that render both on the server and in the browser,\n     *  allowing costly data fetching operations to be done only once.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#warmupData)\n     */\n    const warmupData: WarmupData;\n    /**\n     * Copies text to a site visitor's clipboard.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#copyToClipboard)\n     */\n    function copyToClipboard(text: string): Promise<void>;\n    /**\n     * Gets the data passed to a [custom app page](https://dev.wix.com/docs/develop-websites/articles/wix-apps/replace-a-wix-business-app-page-with-your-own-custom-version).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#getAppPageData)\n     */\n    function getAppPageData(): any;\n    /**\n     * Retrieves information about a window.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#getBoundingRect)\n     */\n    function getBoundingRect(): Promise<WindowSizeInfo>;\n    /**\n     * Retrieves the current geolocation of a site visitor.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#getCurrentGeolocation)\n     */\n    function getCurrentGeolocation(): Promise<CurrentGeolocation>;\n    /**\n     * Retrieves the data sent by a router to a page as part of its response.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#getRouterData)\n     */\n    function getRouterData(): any;\n    /**\n     * Opens a popup and optionally passes it the specified data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#openLightbox)\n     */\n    function openLightbox(name: string, data?: any): Promise<any>;\n    /**\n     * Opens a modal window that displays the specified web page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#openModal)\n     */\n    function openModal(url: string, options: wixWindowFrontend.OpenModalOptions): Promise<void>;\n    /**\n     * Sends a message to a page's parent.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#postMessage)\n     */\n    function postMessage(message: any, target?: string): Promise<any>;\n    /**\n     * Registers a listener for all events triggered by `trackEvent()`.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#registerEventListener)\n     */\n    function registerEventListener(eventName: string, params: any): void;\n    /**\n     * Scrolls a page by the specified number of pixels.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#scrollBy)\n     */\n    function scrollBy(x: number, y: number): Promise<void>;\n    /**\n     * Scrolls a page to the specified location.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#scrollTo)\n     */\n    function scrollTo(x: number, y: number, options?: ScrollToOptions): Promise<void>;\n    /**\n     * Sends a tracking event to external analytics tools.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.html#trackEvent)\n     */\n    function trackEvent(eventName: string, parameters: trackingParametersCustomEvent | trackingParametersAddPaymentInfoEvent | trackingParametersAddProductImpressionEvent | trackingParametersAddToCartEvent | trackingParametersCheckoutStepEvent | trackingParametersClickProductEvent | trackingParametersInitiateCheckoutEvent | trackingParametersLeadEvent | trackingParametersPurchaseEvent | trackingParametersRemoveFromCartEvent | trackingParametersStartPaymentEvent | trackingParametersViewContentEvent): void;\n    /**\n     * An object that defines the location.\n     */\n    type Coordinates = {\n        /**\n         * The position's latitude in decimal degrees.\n         */\n        latitude: number;\n        /**\n         * The position's longitude in decimal degrees.\n         */\n        longitude: number;\n        /**\n         * The position's altitude in meters, relative to sea level. This value may be null if the browser can't provide the data.\n         */\n        altitude: number;\n        /**\n         * The accuracy in meters of the `latitude` and `longitude` properties.\n         */\n        accuracy: number;\n        /**\n         * The accuracy in meters of the `altitude` property. This value may be null.\n         */\n        altitudeAccuracy: number;\n        /**\n         * The direction in degrees in which the device is traveling. It indicates how far off from heading true north the device is. If `speed` is `0`, the heading is `NaN`. This value may be null if the browser can't provide the data.\n         */\n        heading: number;\n        /**\n         * The velocity in meters per second of the device. This value may be null if the browser can't provide the data.\n         */\n        speed: number;\n    };\n    /**\n     * An object returned by `getCurrentGeolocation()` that contains information about the current geolocation.\n     */\n    type CurrentGeolocation = {\n        /**\n         * The geolocation timestamp representing the date and time at which the location was retrieved.\n         */\n        timestamp: string;\n        /**\n         * An object that defines the location.\n         */\n        coords: Coordinates;\n    };\n    /**\n     * A custom parameter used when sending a `CustomEvent` track event.\n     */\n    type CustomType = {};\n    /**\n     * An object containing the size of the actual body of the page, which may be larger or smaller than the current window.\n     */\n    type DocumentSize = {\n        /**\n         * The height of the page body.\n         */\n        height: number;\n        /**\n         * The width of the page body.\n         */\n        width: number;\n    };\n    /**\n     * An object used when opening a modal window.\n     */\n    type OpenModalOptions = {\n        /**\n         * Width of the modal window.\n         */\n        width: number;\n        /**\n         * Height of the modal window.\n         */\n        height: number;\n    };\n    /**\n     * An object containing the scroll offset of the page within the window from the top-left corner.\n     */\n    type ScrollOffset = {\n        /**\n         * The horizontal scroll offset of the page within the window from the left.\n         */\n        x: number;\n        /**\n         * The vertical scroll offset of the page within the window from the top.\n         */\n        y: number;\n    };\n    /**\n     * An object used for providing options for the `scrollTo()` method.\n     */\n    type ScrollToOptions = {\n        /**\n         * Indicates whether to scroll with an animation. Defaults to `true`.\n         */\n        scrollAnimation: boolean;\n    };\n    /**\n     * An object containing the size of the viewable area of the current browser window.\n     */\n    type WindowSize = {\n        /**\n         * The height of the window.\n         */\n        height: number;\n        /**\n         * The width of the window.\n         */\n        width: number;\n    };\n    /**\n     * An object returned by `getBoundingRect()` that contains information about a window's size, a document's size, and a current scroll position.\n     */\n    type WindowSizeInfo = {\n        /**\n         * An object containing the size of the viewable area of the current browser window.\n         */\n        window: WindowSize;\n        /**\n         * An object containing the size of the actual body of the page, which may be larger or smaller than the current window.\n         */\n        document: DocumentSize;\n        /**\n         * An object containing the scroll offset of the page within the window from the top-left corner.\n         */\n        scroll: ScrollOffset;\n    };\n    /**\n     * Objects used when calling `trackEvent()`.\n     */\n    type trackingParameters = {\n        /**\n         * Object used for `AddPaymentInfo` events.\n         */\n        AddPaymentInfoEvent?: wixWindowFrontend.trackingParametersAddPaymentInfoEvent;\n        /**\n         * Object used for `AddProductImpression` events.\n         */\n        AddProductImpressionEvent?: wixWindowFrontend.trackingParametersAddProductImpressionEvent;\n        /**\n         * Object used for `AddToCart` events.\n         */\n        AddToCartEvent?: wixWindowFrontend.trackingParametersAddToCartEvent;\n        /**\n         * Object used for `CheckoutStep` events.\n         */\n        CheckoutStepEvent?: wixWindowFrontend.trackingParametersCheckoutStepEvent;\n        /**\n         * Object used for `ClickProduct` events.\n         */\n        ClickProductEvent?: wixWindowFrontend.trackingParametersClickProductEvent;\n        /**\n         * Object used for `InitiateCheckout` events.\n         */\n        InitiateCheckoutEvent?: wixWindowFrontend.trackingParametersInitiateCheckoutEvent;\n        /**\n         * Object used for `Lead` events.\n         */\n        LeadEvent?: wixWindowFrontend.trackingParametersLeadEvent;\n        /**\n         * Object used for `Purchase` events.\n         */\n        PurchaseEvent?: wixWindowFrontend.trackingParametersPurchaseEvent;\n        /**\n         * Object used for `RemoveFromCart` events.\n         */\n        RemoveFromCartEvent?: wixWindowFrontend.trackingParametersRemoveFromCartEvent;\n        /**\n         * Object used for `StartPayment` events.\n         */\n        StartPaymentEvent?: wixWindowFrontend.trackingParametersStartPaymentEvent;\n        /**\n         * Object used for `ViewContent` events.\n         */\n        ViewContentEvent?: wixWindowFrontend.trackingParametersViewContentEvent;\n        /**\n         * Object used for custom events.\n         */\n        CustomEvent?: wixWindowFrontend.trackingParametersCustomEvent;\n    };\n    /**\n     * An object used when sending an `AddPaymentInfo` track event.\n     */\n    type trackingParametersAddPaymentInfoEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Payment type. For example, `Visa` or `PayPal`.\n         */\n        option?: string;\n    };\n    /**\n     * An object used when sending an `AddProductImpression` track event.\n     */\n    type trackingParametersAddProductImpressionEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * `key:value` pairs describing the products.\n         */\n        contents: trackingParametersAddProductImpressionEventContents[];\n    };\n    /**\n     * An object used when sending an `AddProductImpression` track event.\n     */\n    type trackingParametersAddProductImpressionEventContents = {\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Stock-keeping unit for the product.\n         */\n        sku?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * List or collection the product is part of. For example, `Product Gallery` or `Search Results`.\n         */\n        list?: string;\n        /**\n         * Position of the product within a list or collection.\n         */\n        position?: string;\n    };\n    /**\n     * An object used when sending an `AddToCart` track event.\n     */\n    type trackingParametersAddToCartEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Stock-keeping unit for the product.\n         */\n        sku?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * List or collection the product is part of. For example, `Product Gallery` or `Search Results`.\n         */\n        position?: string;\n        /**\n         * Product quantity.\n         */\n        quantity?: number;\n    };\n    /**\n     * An object used when sending an `CheckoutStep` track event.\n     */\n    type trackingParametersCheckoutStepEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Number of the step in the checkout process.\n         * For example `2` for `addPaymentInfo` in a checkout flow that consists of the steps `StartPayment`, `addPaymentInfo`, and `Select Shipping`.\n         */\n        step?: string;\n        /**\n         * Action the visitor has taken in this step. For example, `Select Shipping`.\n         */\n        action?: string;\n        /**\n         * Option information on the checkout page. For example the selected payment method.\n         */\n        option?: string;\n    };\n    /**\n     * An object used when sending a `ClickProduct` track event.\n     */\n    type trackingParametersClickProductEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Stock-keeping unit for the product.\n         */\n        sku?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * List or collection the product is part of. For example, `Product Gallery` or `Search Results`.\n         */\n        list?: string;\n        /**\n         * Position of the product within a list or collection.\n         */\n        position?: string;\n    };\n    /**\n     * An object used when sending a `CustomEvent` track event.\n     */\n    type trackingParametersCustomEvent = {\n        /**\n         * Event category. **Note:** Required for Google Analytics and Facebook Pixel.\n         */\n        eventCategory?: string;\n        /**\n         * Event action type. **Note:** Required for Google Analytics and Facebook Pixel.\n         */\n        eventAction?: string;\n        /**\n         * Event label.\n         */\n        eventLabel?: string;\n        /**\n         * Event value.\n         */\n        eventValue?: number;\n        /**\n         * Any number of custom properties.\n         */\n        \"*\"?: CustomType;\n    };\n    /**\n     * An object used when sending an `InitiateCheckout` track event.\n     */\n    type trackingParametersInitiateCheckoutEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * `key:value` pairs describing the products.\n         */\n        contents: trackingParametersInitiateCheckoutEventContents[];\n    };\n    /**\n     * An object used when sending an `InitiateCheckout` track event.\n     */\n    type trackingParametersInitiateCheckoutEventContents = {\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Stock-keeping unit for the product.\n         */\n        sku?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * Product quantity.\n         */\n        quantity?: number;\n    };\n    /**\n     * An object used when sending a `Lead` track event.\n     */\n    type trackingParametersLeadEvent = {\n        /**\n         * Lead category.\n         */\n        category?: string;\n        /**\n         * Lead action.\n         */\n        action?: string;\n        /**\n         * Lead label.\n         */\n        label?: string;\n    };\n    /**\n     * An object used when sending a `Purchase` track event.\n     */\n    type trackingParametersPurchaseEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Transaction ID or order number.\n         */\n        id?: string;\n        /**\n         * Store name.\n         */\n        affiliation?: string;\n        /**\n         * Total purchase price. Includes tax and shipping fee.\n         */\n        revenue?: number;\n        /**\n         * Total tax.\n         */\n        tax?: number;\n        /**\n         * Shipping fee.\n         */\n        shipping?: number;\n        /**\n         * Applied coupon code.\n         */\n        coupon?: string;\n        /**\n         * `key:value` pairs describing the purchased products.\n         */\n        contents: trackingParametersPurchaseEventContents[];\n    };\n    /**\n     * An object used when sending a `Purchase` track event.\n     */\n    type trackingParametersPurchaseEventContents = {\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * Product quantity.\n         */\n        quantity?: number;\n    };\n    /**\n     * An object used when sending a `RemoveFromCart` track event.\n     */\n    type trackingParametersRemoveFromCartEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * Position of the product within a list or collection.\n         */\n        position?: string;\n        /**\n         * Product quantity.\n         */\n        quantity?: number;\n    };\n    /**\n     * An object used when sending an `StartPayment` track event.\n     */\n    type trackingParametersStartPaymentEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Payment type. For example, `Visa` or `PayPal`.\n         */\n        option?: string;\n    };\n    /**\n     * An object used when sending a `ViewContent` track event.\n     */\n    type trackingParametersViewContentEvent = {\n        /**\n         * Event origin. For example, `Music Player` or `Contact Form`.\n         */\n        origin?: string;\n        /**\n         * Product ID.\n         */\n        id?: string;\n        /**\n         * Stock-keeping unit for the product.\n         */\n        sku?: string;\n        /**\n         * Product name.\n         */\n        name: string;\n        /**\n         * Product price.\n         */\n        price?: number;\n        /**\n         * Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `EUR`, `USD`, or `CAD`.\n         */\n        currency?: string;\n        /**\n         * Product category. For example, `Accessories/Watches`.\n         */\n        category?: string;\n        /**\n         * Brand name of the product.\n         */\n        brand?: string;\n        /**\n         * Product variant such as `green` or `large`.\n         */\n        variant?: string;\n        /**\n         * List or collection the product is part of. For example, `Product Gallery` or `Search Results`.\n         */\n        list?: string;\n        /**\n         * Position of the product in a list or collection.\n         */\n        position?: string;\n    };\n    /**\n     * The Consent Policy API manages site visitor cookie preferences and 3rd-party data transfers for GDPR and CCPA compliance.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.ConsentPolicy.html#)\n     */\n    interface ConsentPolicy {\n        /**\n         * Gets the site visitor's consent policy regarding allowed cookies and 3rd-party data transfers for GDPR or CCPA compliance.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.ConsentPolicy.html#getCurrentConsentPolicy)\n         */\n        getCurrentConsentPolicy(): ConsentPolicy.PolicyDetails;\n        /**\n         * Triggered when a site visitor's consent policy was changed using\n         * `setConsentPolicy()` or reset using\n         * `resetConsentPolicy()`.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.ConsentPolicy.html#onConsentPolicyChanged)\n         */\n        onConsentPolicyChanged(handler: wixWindowFrontend.ConsentPolicy.ConsentPolicyChangedHandler): void;\n        /**\n         * Removes the current policy from the site visitor's browser\n         * and resets the site visitor's consent policy to the default policy for the site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.ConsentPolicy.html#resetConsentPolicy)\n         */\n        resetConsentPolicy(): Promise<void>;\n        /**\n         * Sets the current site visitor's consent policy\n         * regarding allowed cookies and data transfer to 3rd parties,\n         * such as for GDPR or CCPA purposes.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.ConsentPolicy.html#setConsentPolicy)\n         */\n        setConsentPolicy(policy: wixWindowFrontend.ConsentPolicy.Policy): Promise<ConsentPolicy.PolicyDetails>;\n    }\n    /**\n     * A [popup](https://support.wix.com/en/article/studio-editor-using-popups) opens on a site to grab a site visitor's attention.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.Lightbox.html#)\n     */\n    interface Lightbox {\n        /**\n         * Closes a popup.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.Lightbox.html#close)\n         */\n        close(data?: any): void;\n        /**\n         * Gets the data object that was passed to a popup.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.Lightbox.html#getContext)\n         */\n        getContext(): any;\n    }\n    /**\n     * The Multilingual API is used when working with the languages in a multilingual site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.Multilingual.html#)\n     */\n    interface Multilingual {\n        /**\n         * Sets or gets a site's current display language.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.Multilingual.html#currentLanguage)\n         */\n        currentLanguage: string;\n        /**\n         * Gets whether a site has been set up to be shown in multiple languages.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.Multilingual.html#isEnabled)\n         */\n        readonly isEnabled: boolean;\n        /**\n         * Gets information about a site's languages.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.Multilingual.html#siteLanguages)\n         */\n        readonly siteLanguages: Multilingual.SiteLanguage[];\n    }\n    /**\n     * The Rendering API is used to control when code is run as a page is being loaded.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.Rendering.html#)\n     */\n    interface Rendering {\n        /**\n         * Gets the current environment the rendering process is running in.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.Rendering.html#env)\n         */\n        readonly env: string;\n    }\n    /**\n     * The Warmup Data API is used to optimize data loading for sites that render both on the server and in the browser,\n     *  allowing costly data fetching operations to be done only once.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.WarmupData.html#)\n     */\n    interface WarmupData {\n        /**\n         * Retrieves data from server-side code for use in client-side code.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.WarmupData.html#get)\n         */\n        get(key: string): any;\n        /**\n         * Sets data in server-side code for use in client-side code.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-window.WarmupData.html#set)\n         */\n        set(key: string, data: any): void;\n    }\n    /**\n     * The Consent Policy API manages site visitor cookie preferences and 3rd-party data transfers for GDPR and CCPA compliance.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.ConsentPolicy.html#)\n     */\n    namespace ConsentPolicy {\n        /**\n         * The event that occurred when the consent policy changed.\n         */\n        type ConsentPolicyChangedEvent = {};\n        /**\n         * The current site visitor's consent policy settings.\n         */\n        type Policy = {\n            /**\n             * Consent for mandatory cookies for Wix websites, such as for security cookies. Wix places these cookies on the site visitor's device. These cookies don't require site visitor consent. Always `true`.\n             */\n            essential: boolean;\n            /**\n             * Consent for cookies placed on the site visitor's device that \"remember\" their user settings to improve user experience. For example, an indication that the user dismissed a popup. Default: `true`.\n             */\n            functional: boolean;\n            /**\n             * Consent for cookies used for analytics, such as Wix analytics, Google Analytics, Yandex Metrica, and so on. Default: `true`.\n             */\n            analytics: boolean;\n            /**\n             * Consent for cookies used for advertising purposes. This includes 3rd-party scripts and pixels that may potentially place advertising cookies on the device. For example, Twitter page view and Facebook Pixel. Default: `true`.\n             */\n            advertising: boolean;\n            /**\n             * Consent for a site visitor's personal data to be transferred to a 3rd party. For example, Google Analytics, Facebook Pixel, and FullStory. Default: `true`.\n             */\n            dataToThirdParty: boolean;\n        };\n        /**\n         * The complete details of the current site visitor's consent policy.\n         */\n        type PolicyDetails = {\n            /**\n             * Whether the current consent policy is the default one you set. If `true`, either the site visitor hasn't set a policy, or you've reset it to its default settings.\n             */\n            defaultPolicy: boolean;\n            /**\n             * An object representing the site visitor's current consent policy.\n             */\n            policy: wixWindowFrontend.ConsentPolicy.Policy;\n            /**\n             * The date the consent policy was set, if a cookie defining the current policy exists in the browser. Otherwise, it's undefined.\n             */\n            createdDate?: Date;\n        };\n        /**\n         * Method that runs when a site visitor's consent policy was changed using `setConsentPolicy()`.\n         */\n        type ConsentPolicyChangedHandler = (event: wixWindowFrontend.ConsentPolicy.ConsentPolicyChangedEvent) => void;\n    }\n    /**\n     * The Multilingual API is used when working with the languages in a multilingual site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-window.Multilingual.html#)\n     */\n    namespace Multilingual {\n        /**\n         * An object returned by the `siteLanguages` property that contains information about a site's languages.\n         */\n        type SiteLanguage = {\n            /**\n             * The language's full name.\n             */\n            name: string;\n            /**\n             * The language's locale code, which represents a set of language-related formatting preferences.\n             */\n            locale: string;\n            /**\n             * The 2-letter or 4-letter language code.\n             */\n            languageCode: string;\n            /**\n             * The language's 3-letter country code.\n             */\n            countryCode: string;\n            /**\n             * Whether the language is a site's primary language.\n             */\n            isPrimaryLanguage: boolean;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-animations.d.ts",
      "content": "/**\n * The wix-animations module contains functionality for working with\n *  animations.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.html#)\n */\ndeclare module 'wix-animations' {\n    /**\n     * Creates a new animation timeline.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.html#timeline)\n     */\n    function timeline(timelineOptions?: TimeLineOptions): TimeLine;\n    /**\n     * An object containing options for creating a timeline.\n     */\n    type TimeLineOptions = {\n        /**\n         * Number of times the timeline repeats after it\n         *  finishes playing all the animations in the timeline once.\n         *\n         *  For example, if `repeat` is `2`, the timeline plays a total of 3 times,\n         *  the initial play plus 2 repetitions.\n         *\n         *  To repeat infinitely, pass a `repeat` value of `-1`.\n         *\n         *  Defaults to `0`, meaning the timeline plays only once.\n         */\n        repeat?: number;\n        /**\n         * Number of milliseconds to wait between\n         *  repetitions.\n         *\n         *  For example, if `repeat` is `2` and `repeatDelay` is `1000`, the timeline plays\n         *  the initial play, then waits for 1 second before it plays again, and then waits\n         *  1 second again before the final play.\n         *\n         *  Defaults to `0`, meaning the each repetition plays immediately after the one\n         *  that preceded it.\n         */\n        repeatDelay?: number;\n        /**\n         * Whether to reverse the animation play for each successive\n         *  repetition.\n         *\n         *  For example, if `repeat` is `2` and the timeline contains the animations **A**,\n         *  **B**, and **C** to be played one after the other, the animations will play in\n         *  the following order:\n         *\n         *  + If `yoyo` is `false`:\n         *\n         *    **A** -> **B** -> **C** -> **A** -> **B** -> **C** -> **A** -> **B** -> **C**\n         *  + If `yoyo` is `true`:\n         *\n         *    **A** -> **B** -> **C** -> **C** -> **B** -> **A** -> **A** -> **B** -> **C**\n         *\n         *\n         *  Defaults to `false`.\n         */\n        yoyo?: boolean;\n    };\n    /**\n     * An animation timeline.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#)\n     */\n    interface TimeLine {\n        /**\n         * Adds an animation to a timeline.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#add)\n         */\n        add(target: $w.Element | $w.Element[], animation: TimeLine.AnimationAttributes | TimeLine.AnimationAttributes[], offset?: number | string): TimeLine;\n        /**\n         * Sets an event handler that runs when the timeline completes playing.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#onComplete)\n         */\n        onComplete(handler: Function): TimeLine;\n        /**\n         * Sets an event handler that runs when a the timeline repeats.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#onRepeat)\n         */\n        onRepeat(handler: Function): TimeLine;\n        /**\n         * Sets an event handler that runs when the timeline completes playing\n         *  in the reverse direction.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#onReverseComplete)\n         */\n        onReverseComplete(handler: Function): TimeLine;\n        /**\n         * Sets an event handler that runs when the timeline starts playing.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#onStart)\n         */\n        onStart(handler: Function): TimeLine;\n        /**\n         * Pauses a timeline.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#pause)\n         */\n        pause(): TimeLine;\n        /**\n         * Plays a timeline forwards.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#play)\n         */\n        play(): TimeLine;\n        /**\n         * Replays a timeline.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#replay)\n         */\n        replay(): TimeLine;\n        /**\n         * Plays a timeline in reverse.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#reverse)\n         */\n        reverse(): TimeLine;\n    }\n    /**\n     * An animation timeline.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-animations.TimeLine.html#)\n     */\n    namespace TimeLine {\n        /**\n         * An object representing the attributes of an animation in an timeline.\n         */\n        type AnimationAttributes = {\n            /**\n             * Animation duration in milliseconds.\n             */\n            duration: number;\n            /**\n             * Number of milliseconds to delay before beginning the animation.\n             */\n            delay?: number;\n            /**\n             * Target opacity of the animated element or elements, from 0.0 to 1.0.\n             */\n            opacity?: number;\n            /**\n             * The target degree to rotate to, where a complete rotation\n             *  is 360 degrees.\n             *\n             *  Note that the starting orientation of each element is determined by the rotation set in the\n             *  Editor. If you did not rotate the element in the Editor, it begins at 0 degrees.\n             *\n             *  The direction of the rotation is determined by the current orientation of the animated\n             *  element or elements, the target degree specified by the `rotate` attribute, and, optionally,\n             *  the specified `rotateDirection` attribute.\n             *\n             *  + If the target degree is greater than the current rotation degree, the animation\n             *    rotates clockwise.\n             *\n             *    For example, if an element starts at 0 degrees and `rotate` is `540`, it rotates clockwise\n             *    one and a half rotations. Similarly, if an element starts at -540 degrees and `rotate` is `0`,\n             *    it also rotates clockwise one and a half rotations.\n             *  + If the target degree is less than the current rotation degree, the animation\n             *    rotates counterclockwise.\n             *\n             *    For example, if an element starts at 0 degrees and `rotate` is `-540`, it rotates counterclockwise\n             *    one and a half rotations. Similarly, if an element starts a 540 degrees and `rotate` is `0`,\n             *    it also rotates counterclockwise one and a half rotations.\n             *  + If a `rotateDirection` value is specified, that direction overrides the rules listed\n             *    above.\n             *\n             *\n             *  The `rotate` value is specified using one of the following formats:\n             *\n             *  + A number to specify the target degree to rotate to.\n             *  + A `\"+=X\"` expression to specify a target degree is `X` number of degrees greater\n             *    than the current orientation.\n             *\n             *    For example, if the current orientation is 540 degrees and `rotate` is `\"+=90\"`,\n             *    the target degree is 630 and the rotation will be a quarter turn clockwise,\n             *    unless the direction is overridden by specifying a `rotateDirection` value.\n             *  + A `\"-=X\"` expression to specify a target degree is `X` number of degrees less\n             *    than the current orientation.\n             *\n             *    For example, if the current orientation is 540 degrees and `rotate` is `\"-=90\"`,\n             *    the target degree is 450 and the rotation will be a quarter turn counterclockwise,\n             *    unless the direction is overridden by specifying a `rotateDirection` value.\n             */\n            rotate?: number | string;\n            /**\n             * Direction in which to rotate. Overrides the\n             *  default rotation direction as explained in the `rotate` property.\n             *\n             *  Either `\"cw\"` to rotate clockwise or `\"ccw\"` to rotate counterclockwise.\n             */\n            rotateDirection?: string;\n            /**\n             * Target scale of the animated element or elements, where\n             *  `1` is the original size.\n             *\n             *  For example, if `scale` is `.5`, the animated element or elements will shrink to\n             *  half their original sizes and if `scale` is `2`, the animated element or elements\n             *  will grow to double their original sizes.\n             */\n            scale?: number;\n            /**\n             * Target horizontal scale of the animated element or elements.\n             *\n             *  If a `scale` value is set, also setting a `scaleX` value overrides the horizontal\n             *  scaling set use `scale`.\n             */\n            scaleX?: number;\n            /**\n             * Target vertical scale of the animated element or elements.\n             *\n             *  If a `scale` value is set, also setting a `scaleY` value overrides the vertical\n             *  scaling set use `scale`.\n             */\n            scaleY?: number;\n            /**\n             * Horizontal pixel target to move the element or elements\n             *  to horizontally.\n             *\n             *  One of the following formats:\n             *\n             *  + A positive number to specify a target pixel to the right, relative to the\n             *    original position.\n             *  + A negative number to specify a target pixel to the left, relative to the\n             *    original position.\n             *  + A `\"+=\"` expression to specify a target pixel to the right, relative to the\n             *    last animated position. For example, `\"+=100\"` moves 100 pixels to the right\n             *    of wherever the element or elements are positioned when this specific animation\n             *    begins.\n             *  + A `\"-=\"` expression to specify a target pixel to the left, relative to the\n             *    last animated position. For example, `\"-=100\"` moves 100 pixels to the left\n             *    of wherever the element or elements are positioned when this specific animation\n             *    begins.\n             */\n            x?: number | string;\n            /**\n             * Vertical pixel target to move the element or elements\n             *  to vertically.\n             *\n             *  One of the following formats:\n             *\n             *  + A positive number to specify a target pixel down, relative to the\n             *    original position.\n             *  + A negative number to specify a target pixel up, relative to the\n             *    original position.\n             *  + A `\"+=\"` expression to specify a target pixel down, relative to the\n             *    last animated position. For example, `\"+=100\"` moves 100 pixels down\n             *    from wherever the element or elements are positioned when this specific animation\n             *    begins.\n             *  + A `\"-=\"` expression to specify a target pixel up, relative to the\n             *    last animated position.For example, `\"-=100\"` moves 100 pixels up\n             *    from wherever the element or elements are positioned when this specific animation\n             *    begins.\n             */\n            y?: number | string;\n            /**\n             * The animation motion acceleration or deceleration. Specifies\n             * the rate of change of the animation attributes over time.\n             *\n             * One of:\n             *\n             *\n             * | Ease In | Ease Out | Ease In-Out |\n             * |---|---|---|\n             * | `\"easeInSine\"` ![Ease In Sine](images/easeInSine.png \"Ease In Sine\") | `\"easeOutSine\"` ![Ease Out Sine](images/easeOutSine.png \"Ease Out Sine\") | `\"easeInOutSine\"` ![Ease In Sine](images/easeInOutSine.png \"Ease In-Out Sine\") |\n             * | `\"easeInQuad\"` ![Ease In Quad](images/easeInQuad.png \"Ease In Quad\") | `\"easeOutQuad\"` ![Ease Out Quad](images/easeOutQuad.png \"Ease Out Quad\") | `\"easeInOutQuad\"` ![Ease In-Out Quad](images/easeInOutQuad.png \"Ease In-Out Quad\") |\n             * | `\"easeInCubic\"` ![Ease In Cubic](images/easeInCubic.png \"Ease In Cubic\") | `\"easeOutCubic\"` ![Ease Out Cubic](images/easeOutCubic.png \"Ease Out Cubic\") | `\"easeInOutCubic\"` ![Ease In-Out Cubic](images/easeInOutCubic.png \"Ease In-Out Cubic\") |\n             * | `\"easeInQuart\"` ![Ease In Quart](images/easeInQuart.png \"Ease In Quart\") | `\"easeOutQuart\"` ![Ease Out Quart](images/easeOutQuart.png \"Ease Out Quart\") | `\"easeInOutQuart\"` ![Ease In-Out Quart](images/easeInOutQuart.png \"Ease In-Out Quart\") |\n             * | `\"easeInQuint\"` ![Ease In Quint](images/easeInQuint.png \"Ease In Quint\") | `\"easeOutQuint\"` ![Ease Out Quint](images/easeOutQuint.png \"Ease Out Quint\") | `\"easeInOutQuint\"` ![Ease In-Out Quint](images/easeInOutQuint.png \"Ease In-Out Quint\") |\n             * | `\"easeInExpo\"` ![Ease In Expo](images/easeInExpo.png \"Ease In Expo\") | `\"easeOutExpo\"` ![Ease Out Expo](images/easeOutExpo.png \"Ease Out Expo\") | `\"easeInOutExpo\"` ![Ease In-Out Expo](images/easeInOutExpo.png \"Ease In-Out Expo\") |\n             * | `\"easeInCirc\"` ![Ease In Circ](images/easeInCirc.png \"Ease In Circ\") | `\"easeOutCirc\"` ![Ease Out Circ](images/easeOutCirc.png \"Ease Out Circ\") | `\"easeInOutCirc\"` ![Ease In-Out Circ](images/easeInOutCirc.png \"Ease In-Out Circ\") |\n             * | `\"easeInBack\"` ![Ease In Back](images/easeInBack.png \"Ease In Back\") | `\"easeOutBack\"` ![Ease Out Back](images/easeOutBack.png \"Ease Out Back\") | `\"easeInOutBack\"` ![Ease In-Out Back](images/easeInOutBack.png \"Ease In-Out Back\") |\n             * | `\"easeInElastic\"` ![Ease In Elastic](images/easeInElastic.png \"Ease In Elastic\") | `\"easeOutElastic\"` ![Ease Out Elastic](images/easeOutElastic.png \"Ease Out Elastic\") | `\"easeInOutElastic\"` ![Ease In-Out Elastic](images/easeInOutElastic.png \"Ease In-Out Elastic\") |\n             * | `\"easeInBounce\"` ![Ease In Bounce](images/easeInBounce.png \"Ease In Bounce\") | `\"easeOutBounce\"` ![Ease Out Bounce](images/easeOutBounce.png \"Ease Out Bounce\") | `\"easeInOutBounce\"` ![Ease In-Out Bounce](images/easeInOutBounce.png \"Ease In-Out Bounce\") |\n             * | `\"easeLinear\"` ![Ease Linear](images/easeLinear.png \"Ease Linear\") | | |\n             *\n             *\n             * Defaults to `\"easeInSine\"`.\n             */\n            easing?: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-animations-frontend.d.ts",
      "content": "/**\n * The wix-animations-frontend module contains functionality for working with\n *  animations.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.html#)\n */\ndeclare module 'wix-animations-frontend' {\n    /**\n     * Creates a new animation timeline.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.html#timeline)\n     */\n    function timeline(timelineOptions?: TimeLineOptions): TimeLine;\n    /**\n     * An object containing options for creating a timeline.\n     */\n    type TimeLineOptions = {\n        /**\n         * Number of times the timeline repeats after it\n         *  finishes playing all the animations in the timeline once.\n         *\n         *  For example, if `repeat` is `2`, the timeline plays a total of 3 times,\n         *  the initial play plus 2 repetitions.\n         *\n         *  To repeat infinitely, pass a `repeat` value of `-1`.\n         *\n         *  Defaults to `0`, meaning the timeline plays only once.\n         */\n        repeat?: number;\n        /**\n         * Number of milliseconds to wait between\n         *  repetitions.\n         *\n         *  For example, if `repeat` is `2` and `repeatDelay` is `1000`, the timeline plays\n         *  the initial play, then waits for 1 second before it plays again, and then waits\n         *  1 second again before the final play.\n         *\n         *  Defaults to `0`, meaning the each repetition plays immediately after the one\n         *  that preceded it.\n         */\n        repeatDelay?: number;\n        /**\n         * Whether to reverse the animation play for each successive\n         *  repetition.\n         *\n         *  For example, if `repeat` is `2` and the timeline contains the animations **A**,\n         *  **B**, and **C** to be played one after the other, the animations will play in\n         *  the following order:\n         *\n         *  + If `yoyo` is `false`:\n         *\n         *    **A** -> **B** -> **C** -> **A** -> **B** -> **C** -> **A** -> **B** -> **C**\n         *  + If `yoyo` is `true`:\n         *\n         *    **A** -> **B** -> **C** -> **C** -> **B** -> **A** -> **A** -> **B** -> **C**\n         *\n         *\n         *  Defaults to `false`.\n         */\n        yoyo?: boolean;\n    };\n    /**\n     * An animation timeline.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#)\n     */\n    interface TimeLine {\n        /**\n         * Adds an animation to a timeline.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#add)\n         */\n        add(target: $w.Element | $w.Element[], animation: TimeLine.AnimationAttributes | TimeLine.AnimationAttributes[], offset?: number | string): TimeLine;\n        /**\n         * Sets an event handler that runs when the timeline completes playing.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#onComplete)\n         */\n        onComplete(handler: Function): TimeLine;\n        /**\n         * Sets an event handler that runs when a the timeline repeats.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#onRepeat)\n         */\n        onRepeat(handler: Function): TimeLine;\n        /**\n         * Sets an event handler that runs when the timeline completes playing\n         *  in the reverse direction.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#onReverseComplete)\n         */\n        onReverseComplete(handler: Function): TimeLine;\n        /**\n         * Sets an event handler that runs when the timeline starts playing.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#onStart)\n         */\n        onStart(handler: Function): TimeLine;\n        /**\n         * Pauses a timeline.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#pause)\n         */\n        pause(): TimeLine;\n        /**\n         * Plays a timeline forwards.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#play)\n         */\n        play(): TimeLine;\n        /**\n         * Replays a timeline.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#replay)\n         */\n        replay(): TimeLine;\n        /**\n         * Plays a timeline in reverse.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#reverse)\n         */\n        reverse(): TimeLine;\n    }\n    /**\n     * An animation timeline.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-animations-frontend.TimeLine.html#)\n     */\n    namespace TimeLine {\n        /**\n         * An object representing the attributes of an animation in an timeline.\n         */\n        type AnimationAttributes = {\n            /**\n             * Animation duration in milliseconds.\n             */\n            duration: number;\n            /**\n             * Number of milliseconds to delay before beginning the animation.\n             */\n            delay?: number;\n            /**\n             * Target opacity of the animated element or elements, from 0.0 to 1.0.\n             */\n            opacity?: number;\n            /**\n             * The target degree to rotate to, where a complete rotation\n             *  is 360 degrees.\n             *\n             *  Note that the starting orientation of each element is determined by the rotation set in the\n             *  Editor. If you did not rotate the element in the Editor, it begins at 0 degrees.\n             *\n             *  The direction of the rotation is determined by the current orientation of the animated\n             *  element or elements, the target degree specified by the `rotate` attribute, and, optionally,\n             *  the specified `rotateDirection` attribute.\n             *\n             *  + If the target degree is greater than the current rotation degree, the animation\n             *    rotates clockwise.\n             *\n             *    For example, if an element starts at 0 degrees and `rotate` is `540`, it rotates clockwise\n             *    one and a half rotations. Similarly, if an element starts at -540 degrees and `rotate` is `0`,\n             *    it also rotates clockwise one and a half rotations.\n             *  + If the target degree is less than the current rotation degree, the animation\n             *    rotates counterclockwise.\n             *\n             *    For example, if an element starts at 0 degrees and `rotate` is `-540`, it rotates counterclockwise\n             *    one and a half rotations. Similarly, if an element starts a 540 degrees and `rotate` is `0`,\n             *    it also rotates counterclockwise one and a half rotations.\n             *  + If a `rotateDirection` value is specified, that direction overrides the rules listed\n             *    above.\n             *\n             *\n             *  The `rotate` value is specified using one of the following formats:\n             *\n             *  + A number to specify the target degree to rotate to.\n             *  + A `\"+=X\"` expression to specify a target degree is `X` number of degrees greater\n             *    than the current orientation.\n             *\n             *    For example, if the current orientation is 540 degrees and `rotate` is `\"+=90\"`,\n             *    the target degree is 630 and the rotation will be a quarter turn clockwise,\n             *    unless the direction is overridden by specifying a `rotateDirection` value.\n             *  + A `\"-=X\"` expression to specify a target degree is `X` number of degrees less\n             *    than the current orientation.\n             *\n             *    For example, if the current orientation is 540 degrees and `rotate` is `\"-=90\"`,\n             *    the target degree is 450 and the rotation will be a quarter turn counterclockwise,\n             *    unless the direction is overridden by specifying a `rotateDirection` value.\n             */\n            rotate?: number | string;\n            /**\n             * Direction in which to rotate. Overrides the\n             *  default rotation direction as explained in the `rotate` property.\n             *\n             *  Either `\"cw\"` to rotate clockwise or `\"ccw\"` to rotate counterclockwise.\n             */\n            rotateDirection?: string;\n            /**\n             * Target scale of the animated element or elements, where\n             *  `1` is the original size.\n             *\n             *  For example, if `scale` is `.5`, the animated element or elements will shrink to\n             *  half their original sizes and if `scale` is `2`, the animated element or elements\n             *  will grow to double their original sizes.\n             */\n            scale?: number;\n            /**\n             * Target horizontal scale of the animated element or elements.\n             *\n             *  If a `scale` value is set, also setting a `scaleX` value overrides the horizontal\n             *  scaling set use `scale`.\n             */\n            scaleX?: number;\n            /**\n             * Target vertical scale of the animated element or elements.\n             *\n             *  If a `scale` value is set, also setting a `scaleY` value overrides the vertical\n             *  scaling set use `scale`.\n             */\n            scaleY?: number;\n            /**\n             * Horizontal pixel target to move the element or elements\n             *  to horizontally.\n             *\n             *  One of the following formats:\n             *\n             *  + A positive number to specify a target pixel to the right, relative to the\n             *    original position.\n             *  + A negative number to specify a target pixel to the left, relative to the\n             *    original position.\n             *  + A `\"+=\"` expression to specify a target pixel to the right, relative to the\n             *    last animated position. For example, `\"+=100\"` moves 100 pixels to the right\n             *    of wherever the element or elements are positioned when this specific animation\n             *    begins.\n             *  + A `\"-=\"` expression to specify a target pixel to the left, relative to the\n             *    last animated position. For example, `\"-=100\"` moves 100 pixels to the left\n             *    of wherever the element or elements are positioned when this specific animation\n             *    begins.\n             */\n            x?: number | string;\n            /**\n             * Vertical pixel target to move the element or elements\n             *  to vertically.\n             *\n             *  One of the following formats:\n             *\n             *  + A positive number to specify a target pixel down, relative to the\n             *    original position.\n             *  + A negative number to specify a target pixel up, relative to the\n             *    original position.\n             *  + A `\"+=\"` expression to specify a target pixel down, relative to the\n             *    last animated position. For example, `\"+=100\"` moves 100 pixels down\n             *    from wherever the element or elements are positioned when this specific animation\n             *    begins.\n             *  + A `\"-=\"` expression to specify a target pixel up, relative to the\n             *    last animated position.For example, `\"-=100\"` moves 100 pixels up\n             *    from wherever the element or elements are positioned when this specific animation\n             *    begins.\n             */\n            y?: number | string;\n            /**\n             * The animation motion acceleration or deceleration. Specifies\n             * the rate of change of the animation attributes over time.\n             *\n             * One of:\n             *\n             *\n             * | Ease In | Ease Out | Ease In-Out |\n             * |---|---|---|\n             * | `\"easeInSine\"` ![Ease In Sine](images/easeInSine.png \"Ease In Sine\") | `\"easeOutSine\"` ![Ease Out Sine](images/easeOutSine.png \"Ease Out Sine\") | `\"easeInOutSine\"` ![Ease In Sine](images/easeInOutSine.png \"Ease In-Out Sine\") |\n             * | `\"easeInQuad\"` ![Ease In Quad](images/easeInQuad.png \"Ease In Quad\") | `\"easeOutQuad\"` ![Ease Out Quad](images/easeOutQuad.png \"Ease Out Quad\") | `\"easeInOutQuad\"` ![Ease In-Out Quad](images/easeInOutQuad.png \"Ease In-Out Quad\") |\n             * | `\"easeInCubic\"` ![Ease In Cubic](images/easeInCubic.png \"Ease In Cubic\") | `\"easeOutCubic\"` ![Ease Out Cubic](images/easeOutCubic.png \"Ease Out Cubic\") | `\"easeInOutCubic\"` ![Ease In-Out Cubic](images/easeInOutCubic.png \"Ease In-Out Cubic\") |\n             * | `\"easeInQuart\"` ![Ease In Quart](images/easeInQuart.png \"Ease In Quart\") | `\"easeOutQuart\"` ![Ease Out Quart](images/easeOutQuart.png \"Ease Out Quart\") | `\"easeInOutQuart\"` ![Ease In-Out Quart](images/easeInOutQuart.png \"Ease In-Out Quart\") |\n             * | `\"easeInQuint\"` ![Ease In Quint](images/easeInQuint.png \"Ease In Quint\") | `\"easeOutQuint\"` ![Ease Out Quint](images/easeOutQuint.png \"Ease Out Quint\") | `\"easeInOutQuint\"` ![Ease In-Out Quint](images/easeInOutQuint.png \"Ease In-Out Quint\") |\n             * | `\"easeInExpo\"` ![Ease In Expo](images/easeInExpo.png \"Ease In Expo\") | `\"easeOutExpo\"` ![Ease Out Expo](images/easeOutExpo.png \"Ease Out Expo\") | `\"easeInOutExpo\"` ![Ease In-Out Expo](images/easeInOutExpo.png \"Ease In-Out Expo\") |\n             * | `\"easeInCirc\"` ![Ease In Circ](images/easeInCirc.png \"Ease In Circ\") | `\"easeOutCirc\"` ![Ease Out Circ](images/easeOutCirc.png \"Ease Out Circ\") | `\"easeInOutCirc\"` ![Ease In-Out Circ](images/easeInOutCirc.png \"Ease In-Out Circ\") |\n             * | `\"easeInBack\"` ![Ease In Back](images/easeInBack.png \"Ease In Back\") | `\"easeOutBack\"` ![Ease Out Back](images/easeOutBack.png \"Ease Out Back\") | `\"easeInOutBack\"` ![Ease In-Out Back](images/easeInOutBack.png \"Ease In-Out Back\") |\n             * | `\"easeInElastic\"` ![Ease In Elastic](images/easeInElastic.png \"Ease In Elastic\") | `\"easeOutElastic\"` ![Ease Out Elastic](images/easeOutElastic.png \"Ease Out Elastic\") | `\"easeInOutElastic\"` ![Ease In-Out Elastic](images/easeInOutElastic.png \"Ease In-Out Elastic\") |\n             * | `\"easeInBounce\"` ![Ease In Bounce](images/easeInBounce.png \"Ease In Bounce\") | `\"easeOutBounce\"` ![Ease Out Bounce](images/easeOutBounce.png \"Ease Out Bounce\") | `\"easeInOutBounce\"` ![Ease In-Out Bounce](images/easeInOutBounce.png \"Ease In-Out Bounce\") |\n             * | `\"easeLinear\"` ![Ease Linear](images/easeLinear.png \"Ease Linear\") | | |\n             *\n             *\n             * Defaults to `\"easeInSine\"`.\n             */\n            easing?: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-bookings-frontend.d.ts",
      "content": "/**\n * The wix-bookings-frontend module contains functionality for working with\n *  bookings from client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-frontend.html#)\n */\ndeclare module 'wix-bookings-frontend' {\n    /**\n     * **Deprecated.**\n     * Checkout Booking has been replaced with [Create Booking](https://dev.wix.com/docs/sdk/backend-modules/bookings/bookings/create-booking) and Wix eCommerce's [Create Checkout](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/create-checkout) SDK methods and will be removed on March 31, 2026.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-frontend.html#checkoutBooking)\n     */\n    function checkoutBooking(bookingInfo: BookingInfo, options?: PaymentOptions): Promise<BookingResult>;\n    /**\n     * **Deprecated.**\n     * Get Checkout Options will be removed on March 31, 2026. By default, no replacement is needed as the eCommerce purchase flow handles payment options automatically. However, [eCommerce SDK APIs](https://dev.wix.com/docs/sdk/backend-modules/ecom/introduction) are available for custom payment flow implementations. See the [End-to-End Booking Flows](https://dev.wix.com/docs/sdk/backend-modules/bookings/end-to-end-booking-flows) for complete implementation examples.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-frontend.html#getCheckoutOptions)\n     */\n    function getCheckoutOptions(checkoutOptionOptions: CheckoutOptionOptions): Promise<CheckoutMethod>;\n    /**\n     * **Deprecated.**\n     * Get Service Availability has been replaced with [Time Slots](https://dev.wix.com/docs/sdk/backend-modules/bookings/time-slots/introduction) SDK methods and will be removed on March 31, 2026. Depending on your [service type](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/about-service-types), use the appropriate Time Slots API to replace it. See the [End-to-End Booking Flows](https://dev.wix.com/docs/sdk/backend-modules/bookings/end-to-end-booking-flows) for implementation examples.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings-frontend.html#getServiceAvailability)\n     */\n    function getServiceAvailability(serviceId: string, options?: AvailabilityOptions): Promise<ServiceAvailability>;\n    /**\n     * An object that contains address information.\n     */\n    type Address = {\n        /**\n         * Full text address comprised of street name and number, city, subdivision, country, and postal code.\n         */\n        formatted: string;\n        /**\n         * Address coordinates.\n         */\n        location: AddressCoordinates;\n        /**\n         * Address street address.\n         */\n        streetAddress: StreetAddress;\n        /**\n         * Address city.\n         */\n        city: string;\n        /**\n         * Address subdivision, state, prefecture, or province.\n         */\n        subdivision: string;\n        /**\n         * Address country.\n         */\n        country: string;\n        /**\n         * Address postal code.\n         */\n        postalCode: string;\n    };\n    /**\n     * An object that contains the geographic coordinates of the address.\n     */\n    type AddressCoordinates = {\n        /**\n         * Address latitude.\n         */\n        latitude: number;\n        /**\n         * Address longitude.\n         */\n        longitude: number;\n    };\n    /**\n     * An object used when calling getServiceAvailability() ([SDK](https://dev.wix.com/docs/sdk/frontend-modules/bookings/get-service-availability) | [Velo](https://dev.wix.com/docs/velo/apis/wix-bookings-frontend/get-service-availability))\n     *  containing options for which slots should be returned.\n     */\n    type AvailabilityOptions = {\n        /**\n         * Start date and time of the slots\n         *  to be returned. Defaults to the current date and time.\n         */\n        startDateTime?: Date;\n        /**\n         * End date and time of the slots to\n         *  be returned. Defaults to one week from `startDateTime`, which is one week\n         *  from the current date and time if `startDateTime` is also omitted.\n         */\n        endDateTime?: Date;\n    };\n    /**\n     * An object used when calling checkoutBooking() ([SDK](https://dev.wix.com/docs/sdk/frontend-modules/bookings/checkout-booking) | [Velo](https://dev.wix.com/docs/velo/apis/wix-bookings-frontend/checkout-booking))\n     *  containing information about the slot to be booked.\n     */\n    type BookingInfo = {\n        /**\n         * The slot to be booked.\n         */\n        slot: Slot;\n        /**\n         * List of form field values required to book the session.\n         */\n        formFields: FormField[];\n        /**\n         * Number of spots to book.  Default: `1`\n         */\n        numberOfSpots?: number;\n    };\n    /**\n     * An object representing the result of a call to checkoutBooking() ([SDK](https://dev.wix.com/docs/sdk/frontend-modules/bookings/checkout-booking) | [Velo](https://dev.wix.com/docs/velo/apis/wix-bookings-frontend/checkout-booking)).\n     */\n    type BookingResult = {\n        /**\n         * ID of the booking that was checked out.\n         */\n        bookingId: string;\n        /**\n         * Status of the booking that was checked out.\n         *  One of:\n         *\n         *  + `\"Confirmed\"`: Payment was successful or payment is to be done offline.\n         *  + `\"Pending Payment\"`: Payment is pending.\n         *  + `\"Terminated\"`: Payment failed or was cancelled.\n         */\n        status: string;\n    };\n    /**\n     * An object describing the business location.\n     */\n    type BusinessLocation = {\n        /**\n         * Business location ID.\n         */\n        id: string;\n        /**\n         * Business location name.\n         */\n        name: string;\n        /**\n         * Business location description.\n         */\n        description: string;\n        /**\n         * An object describing the address.\n         */\n        address: Address;\n    };\n    /**\n     * An object returned after calling getCheckoutOptions() ([SDK](https://dev.wix.com/docs/sdk/frontend-modules/bookings/get-checkout-options) | [Velo](https://dev.wix.com/docs/velo/apis/wix-bookings-frontend/get-checkout-options))\n     *  containing information about the available payment options for the service and the logged-in user.\n     */\n    type CheckoutMethod = {\n        /**\n         * Available checkout methods.\n         */\n        options: CheckoutMethodOption[];\n    };\n    /**\n     * An object returned after calling getCheckoutOptions() ([SDK](https://dev.wix.com/docs/sdk/frontend-modules/bookings/get-checkout-options) | [Velo](https://dev.wix.com/docs/velo/apis/wix-bookings-frontend/get-checkout-options))\n     *  containing information about the available payment options for the service and the logged-in user.\n     */\n    type CheckoutMethodOption = {\n        /**\n         * Type of the available payment option. Valid options are:\n         *\n         *  + `\"wixPay_Online\"`: For online collections.\n         *  + `\"wixPay_Offline\"`: For offline collections.\n         *  + `\"package\"`: For a package-type pricing plan.\n         *  + `\"membership\"`: For a membership-type pricing plan.\n         */\n        type: string;\n        /**\n         * Name of the plan package or membership. For booking with pricing plans only.\n         */\n        planName?: string;\n        /**\n         * Order ID of the plan package or membership. For booking with pricing plans only.\n         */\n        planOrderId?: string;\n        /**\n         * ID of the benefit provided by the plan package. For booking with package-type pricing plans only.\n         */\n        benefitId?: string;\n        /**\n         * Number of sessions remaining in the plan package. For booking with package-type pricing plans only.\n         */\n        remainingCredits?: number;\n        /**\n         * Number of sessions initially provided with the plan package.  For booking with package-type pricing plans only.\n         */\n        totalCredits?: number;\n        /**\n         * Date by which the plan package or membership expires. For booking with pricing plans only.\n         */\n        planExpiration?: Date;\n    };\n    /**\n     * An object used to request checkout options for the service. Currently, you can request the checkout options using the ID of a slot.\n     */\n    type CheckoutOptionOptions = {\n        /**\n         * Unique slot identifier.\n         */\n        slotId: string;\n        /**\n         * Member ID ([SDK](https://dev.wix.com/docs/sdk/frontend-modules/members/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-members-v2/members/introduction)) for the customer making the booking. Used for retrieving valid payment plans for the customer for the selected slot.\n         */\n        userId: string;\n    };\n    /**\n     * An object that defines a booking window for limiting when a member can book a slot. For example,\n     *  you can prevent members from booking a service too far in advance, because perhaps the service might\n     *  be discontinued by then. Or, you can prevent members from booking a service right before it starts, as\n     *  this would make it hard to schedule resources.\n     */\n    type Constraints = {\n        /**\n         * Date from which a member is allowed to book a slot.\n         */\n        bookableFrom: Date;\n        /**\n         * Date until which a member is allowed to book a slot.\n         */\n        bookableUntil: Date;\n    };\n    /**\n     * An object used when calling checkoutBooking() ([SDK](https://dev.wix.com/docs/sdk/frontend-modules/bookings/checkout-booking) | [Velo](https://dev.wix.com/docs/velo/apis/wix-bookings-frontend/checkout-booking))\n     *  containing values for form fields required to book the session.\n     */\n    type FormField = {\n        /**\n         * ID of the form field from the **form** property in the **Booking/Services** collection.\n         */\n        _id: string;\n        /**\n         * Form field value.\n         */\n        value: string;\n    };\n    /**\n     * The location where a service is offered.\n     */\n    type Location = {\n        /**\n         * Location type. Valid options are:\n         * - `\"OWNER_BUSINESS\"`: The business address set by the merchant. This type is set when choosing **Business Address** in the Service Details page of a site's dashboard, and populates the `businessLocation` object.\n         * - `\"OWNER_CUSTOM\"`: A custom address set by the merchant. This type is set when choosing **Custom Location** in the Service Details page of a site's dashboard, and populates the `locationText` property.\n         * - `\"CUSTOM\"`: An address set for the individual booking, usually chosen by the customer and entered in the booking form.\n         */\n        type: string;\n        /**\n         * Text describing the location.\n         */\n        locationText: string;\n        /**\n         * An object describing the business location.\n         */\n        businessLocation: BusinessLocation;\n    };\n    /**\n     * An object used when calling checkoutBooking() ([SDK](https://dev.wix.com/docs/sdk/frontend-modules/bookings/checkout-booking) | [Velo](https://dev.wix.com/docs/velo/apis/wix-bookings-frontend/checkout-booking))\n     *  containing details about the pricing plan used to pay for the booking.\n     */\n    type PaidPlan = {\n        /**\n         * Order ID of the plan package or membership. For booking with pricing plans only.\n         */\n        planOrderId?: string;\n        /**\n         * ID of the benefit provided by the plan package. For booking with package-type pricing plans only.\n         */\n        benefitId?: string;\n    };\n    /**\n     * An object used when calling checkoutBooking() ([SDK](https://dev.wix.com/docs/sdk/frontend-modules/bookings/checkout-booking) | [Velo](https://dev.wix.com/docs/velo/apis/wix-bookings-frontend/checkout-booking))\n     *  containing information about the payment options.\n     */\n    type PaymentOptions = {\n        /**\n         * Type of payment. Valid options are:\n         *\n         *   + `\"wixPay_Online\"`: For online collections.\n         *   + `\"wixPay_Offline\"`: For offline collections.\n         *   + `\"package\"`: For a package-type pricing plan.\n         *   + `\"membership\"`: For a membership-type pricing plan.\n         */\n        paymentType: string;\n        /**\n         * A coupon code to be used with the payment.\n         */\n        couponCode?: string;\n        /**\n         * Information about the pricing plan used to pay for the booking.\n         */\n        paidPlan?: PaidPlan;\n    };\n    /**\n     * An object returned from [`getServiceAvailability()`](#getServiceAvailability)\n     *  containing the available bookings slots.\n     */\n    type ServiceAvailability = {\n        /**\n         * List of the available slots.\n         *\n         * Max: 500 slots\n         */\n        slots: Slot[];\n    };\n    /**\n     * An object representing a booking slot.\n     */\n    type Slot = {\n        /**\n         * Unique slot identifier.\n         */\n        _id: string;\n        /**\n         * Starting date and time of the slot.\n         */\n        startDateTime: Date;\n        /**\n         * Ending date and time of the slot.\n         */\n        endDateTime: Date;\n        /**\n         * ID of the service that the slot belongs to.\n         */\n        serviceId: string;\n        /**\n         * Maximum number of participants that can book the service for this slot.\n         */\n        capacity: number;\n        /**\n         * Number of remaining spots that can be booked for the slot.\n         */\n        remainingSpots: number;\n        /**\n         * ID of the slot's staff member.\n         */\n        staffMemberId: string;\n        /**\n         * The location where this slot is offered.\n         */\n        location: Location;\n        /**\n         * Whether the slot can be booked right now, meaning today's date is within the booking window defined by `constraints`. Not available for courses.\n         */\n        bookable: boolean;\n        /**\n         * The dates between which the slot can be booked. The constraints define the booking window. The booking window prevents site members from booking way in advance or just right before the slot starts. Not available for courses.\n         */\n        constraints: Constraints;\n    };\n    /**\n     * An object representing information about the street name and street number of an address.\n     */\n    type StreetAddress = {\n        /**\n         * Address street name.\n         */\n        name: string;\n        /**\n         * Address street number.\n         */\n        number: string;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-crm-frontend.d.ts",
      "content": "/**\n * The wix-crm-frontend module contains functionality for working with\n *  [your site's contacts](https://support.wix.com/en/article/about-your-contact-list)\n *  from client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-frontend.html#)\n */\ndeclare module 'wix-crm-frontend' {\n    /**\n     * The Contacts API is used to manage a site's contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-frontend.html#contacts)\n     */\n    const contacts: Contacts;\n    /**\n     * The Triggered Emails API is used to send triggered emails to a site's contacts and members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-frontend.html#triggeredEmails)\n     */\n    const triggeredEmails: TriggeredEmails;\n    /**\n     * An object that contains information about a site contact.\n     */\n    type ContactInfo = {\n        /**\n         * Contact's first name.\n         */\n        firstName?: string;\n        /**\n         * Contact's last name.\n         */\n        lastName?: string;\n        /**\n         * Contact's image source.\n         */\n        picture?: string;\n        /**\n         * List of contact's email addresses.\n         *  When creating a contact, if no phone number is\n         *  provided, at least one email address must be provided.\n         */\n        emails?: string[];\n        /**\n         * Email address the contact who is also\n         *  a member uses to log into the system.\n         */\n        loginEmail?: string;\n        /**\n         * List of contact's phone numbers.\n         *  When creating a contact, if no email is\n         *  provided, at least one phone number must be provided.\n         */\n        phones?: string[];\n        /**\n         * List of contact's labels. [Labels](https://support.wix.com/en/article/creating-contact-labels)\n         *  are used to organize contacts. When setting the `labels` property, you can\n         *  only list labels that already exist in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         */\n        labels?: string[];\n        /**\n         * Any\n         *  number of custom fields. [Customs fields](https://support.wix.com/en/article/adding-custom-fields-to-contacts)\n         *  are used to store additional information about your site's contacts. When\n         *  setting a custom field, use key:value pairs where the key matches the names\n         *  defined in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         *  You can only set values for custom fields that already exist in the Contacts\n         *  application.\n         */\n        customFields?: string | number | Date;\n    };\n    /**\n     * The Contacts API is used to manage a site's contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-frontend.Contacts.html#)\n     */\n    interface Contacts {\n        /**\n         * Appends an existing contact or creates a contact if it doesn't exist.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-frontend.Contacts.html#appendOrCreateContact)\n         */\n        appendOrCreateContact(contactInfo: Contacts.ContactInfo): Promise<Contacts.ContactIdentification>;\n    }\n    /**\n     * The Triggered Emails API is used to send triggered emails to a site's contacts and members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-frontend.TriggeredEmails.html#)\n     */\n    interface TriggeredEmails {\n        /**\n         * Sends a triggered email to the current contact, unless that contact is marked as unsubscribed.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-frontend.TriggeredEmails.html#emailContact)\n         */\n        emailContact(emailId: string, contactId: string, options?: TriggeredEmails.TriggeredEmailOptions): Promise<void>;\n        /**\n         * Sends a triggered email to the current member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-frontend.TriggeredEmails.html#emailMember)\n         */\n        emailMember(emailId: string, memberId: string, options?: TriggeredEmails.TriggeredEmailOptions): Promise<void>;\n    }\n    /**\n     * The Contacts API is used to manage a site's contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-frontend.Contacts.html#)\n     */\n    namespace Contacts {\n        type Address = {\n            /**\n             * Street address ID.\n             */\n            _id: string;\n            /**\n             * Address type.\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             * - `\"BILLING\"`\n             * - `\"SHIPPING\"`\n             */\n            tag: string;\n            /**\n             * Street address.\n             */\n            address: Contacts.AddressDetails;\n        };\n        /**\n         * Street address.\n         */\n        type AddressDetails = {\n            /**\n             * Main address line, usually street and number, as free text.\n             */\n            addressLine1?: string;\n            /**\n             * Street address object, with number and name in separate fields.\n             */\n            streetAddress?: Contacts.StreetAddressInfo;\n            /**\n             * Human-readable address string.\n             *  If not provided, the value is generated from the available address data.\n             */\n            formatted?: string;\n            /**\n             * Free text providing more detailed address information,\n             *  such as apartment, suite, or floor.\n             */\n            addressLine2?: string;\n            /**\n             * Coordinates of the physical address.\n             */\n            location?: Contacts.AddressLocation;\n            /**\n             * City name.\n             */\n            city?: string;\n            /**\n             * Code for a subdivision (such as state, prefecture, or province) in an\n             *  [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n             */\n            subdivision?: string;\n            /**\n             * 2-letter country code in an\n             *  [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n             */\n            country?: string;\n            /**\n             * Postal or zip code.\n             */\n            postalCode?: string;\n        };\n        type AddressInfo = {\n            /**\n             * Address type.\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             * - `\"BILLING\"`\n             * - `\"SHIPPING\"`\n             */\n            tag: string;\n            /**\n             * Street address.\n             */\n            address: Contacts.AddressDetails;\n        };\n        /**\n         * Coordinates of the physical address.\n         */\n        type AddressLocation = {\n            /**\n             * Address's latitude.\n             */\n            latitude?: number;\n            /**\n             * Address's longitude.\n             */\n            longitude?: number;\n        };\n        type ContactIdentification = {\n            /**\n             * ID of the contact that was found or created.\n             */\n            contactId: string;\n            /**\n             * Identity type of the returned contact.\n             *\n             * One of:\n             *\n             * - `\"CONTACT\"`: The returned contact ID belongs to a new or existing contact.\n             * - `\"MEMBER\"`: The returned contact ID belongs to the currently logged-in site member.\n             * - `\"NOT_AUTHENTICATED_MEMBER\"`: The returned contact ID belongs to a site member who is not currently logged in.\n             */\n            identityType: string;\n        };\n        /**\n         * Contact's information.\n         */\n        type ContactInfo = {\n            /**\n             * Contact's first and last name.\n             */\n            name?: Contacts.Name;\n            /**\n             * Contact's company name.\n             */\n            company?: string;\n            /**\n             * Contact's job title.\n             *  Corresponds to the **Position** field in the Dashboard.\n             */\n            jobTitle?: string;\n            /**\n             * Contact's locale in\n             *  [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n             *  Typically, this is a lowercase 2-letter language code,\n             *  followed by a hyphen,\n             *  followed by an uppercase 2-letter country code.\n             *\n             *  For example, German from Germany is formatted as `de-DE`,\n             *  and U.S. English is formatted as `en-US`.\n             */\n            locale?: string;\n            /**\n             * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n             *\n             *  For example, `\"2025-03-15\"` for March 15, 2025.\n             */\n            birthdate?: string;\n            /**\n             * **Deprecated.** Use `profilePicture` instead.\n             */\n            picture?: Contacts.Picture;\n            /**\n             * Contact's profile picture URL.\n             */\n            profilePicture?: string;\n            /**\n             * List of up to 50 email addresses.\n             */\n            emails?: Contacts.EmailInfo[];\n            /**\n             * List of up to 50 phone numbers.\n             */\n            phones?: Contacts.PhoneInfo[];\n            /**\n             * List of up to 50 addresses.\n             */\n            addresses?: Contacts.AddressInfo[];\n            /**\n             * List of contact label keys.\n             * [Contact labels](https://support.wix.com/en/article/creating-contact-labels)\n             * help categorize contacts.\n             *\n             * Label keys must exist to be added to the contact.\n             * Contact labels can be created or retrieved with\n             * `findOrCreateLabel()` or `queryLabels()` in the\n             * Labels API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/labels/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/labels/introduction)).\n             */\n            labelKeys?: string[];\n            /**\n             * Set of key-value pairs.\n             *\n             * Contact's extended fields allow you to store additional information about a site's contacts.\n             *\n             * To view or create extended fields, call `findOrCreateExtendedField()`, `getExtendedField()`, or `queryExtendedFields()` in the\n             * Extended Fields API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/extended-fields/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/extended-fields/introduction)).\n             */\n            extendedFields?: any;\n        };\n        /**\n         * Contact's profile picture.\n         */\n        type ContactPicture = {\n            /**\n             * Image source. Can be either a Media Manager URL or external URL.\n             */\n            image: string;\n            /**\n             * Indicates whether the image is retrieved from Wix Media\n             * or an external provider.\n             *\n             * One of:\n             *\n             * - `\"EXTERNAL\"`: The image is retrieved from an external provider.\n             * - `\"WIX_MEDIA\"`: The image is retrieved from Wix Media.\n             */\n            imageProvider: string;\n        };\n        type Email = {\n            /**\n             * Email ID.\n             */\n            _id: string;\n            /**\n             * Email type.\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             */\n            tag: string;\n            /**\n             * Email address.\n             */\n            email: string;\n            /**\n             * Indicates whether this is the contact's primary email address.\n             *  When changing `primary` to `true` for an email,\n             *  the contact's other emails become `false`.\n             */\n            primary: boolean;\n        };\n        type EmailInfo = {\n            /**\n             * Email type.\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             */\n            tag?: string;\n            /**\n             * Email address.\n             */\n            email?: string;\n            /**\n             * Indicates whether this is the contact's primary email address.\n             *  When changing `primary` to `true` for an email,\n             *  the contact's other emails become `false`.\n             */\n            primary?: boolean;\n        };\n        /**\n         * Extended field that was found or created.\n         */\n        type ExtendedField = {\n            /**\n             * Extended field ID.\n             *\n             * When accessing contact data,\n             * extended field data is available at `extendedFields[key]`.\n             * For example, if the key is \"custom.notes\",\n             * the value can be accessed at `extendedFields[\"custom.notes\"]`.\n             *\n             * `key` is generated when the extended field is created\n             * and cannot be modified, even if `displayName` changes.\n             */\n            key: string;\n            /**\n             * Extended field display name shown in the Contact List.\n             */\n            displayName: string;\n            /**\n             * Type of data the field holds.\n             *\n             * One of:\n             *\n             * - `\"TEXT\"`: Accepts strings.\n             * - `\"URL\"`: Accepts web addresses. Prepends `https://` if no protocol is included.\n             * - `\"DATE\"`: Accepts dates formatted as `\"YYYY-MM-DD\"`.\n             * - `\"NUMBER\"`: Accepts floats.\n             */\n            dataType: string;\n            /**\n             * Indicates whether the extended field is a\n             * system field or a custom field.\n             *\n             * One of:\n             *\n             * - `\"SYSTEM\"`: An extended field created by apps built by Wix, such as Wix Stores or Wix Members, to enrich contact data. These fields can't be renamed and are typically read-only.\n             * - `\"USER_DEFINED\"`: A custom extended field created by calling `findOrCreateExtendedField()` in the Extended Fields API. Custom fields can be renamed.\n             */\n            fieldType: string;\n            /**\n             * Date and time the field was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the field was last updated.\n             */\n            _updatedDate: Date;\n            /**\n             * Extended field.\n             *\n             * Extended fields created by site contributors or 3rd-party apps\n             * are automatically assigned to the `custom` namespace.\n             */\n            namespace: string;\n            /**\n             * Field description, if the field is a system field.\n             */\n            description: string;\n        };\n        /**\n         * Contact's details.\n         */\n        type Info = {\n            /**\n             * Contact's first and last name.\n             */\n            name?: Contacts.Name;\n            /**\n             * Contact's company name.\n             */\n            company?: string;\n            /**\n             * Contact's job title.\n             *  Corresponds to the **Position** field in the Dashboard.\n             */\n            jobTitle?: string;\n            /**\n             * Contact's locale in\n             *  [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n             *  Typically, this is a lowercase 2-letter language code,\n             *  followed by a hyphen,\n             *  followed by an uppercase 2-letter country code.\n             *\n             *  For example, German from Germany is formatted as `de-DE`,\n             *  and U.S. English is formatted as `en-US`.\n             */\n            locale?: string;\n            /**\n             * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n             *\n             *  For example, `\"2025-03-15\"` for March 15, 2025.\n             */\n            birthdate?: string;\n            /**\n             * **Deprecated.** Use `profilePicture` instead.\n             */\n            picture: Contacts.Picture;\n            /**\n             * Contact's profile picture URL.\n             */\n            profilePicture?: string;\n            /**\n             * List of up to 50 email addresses.\n             */\n            emails?: Contacts.Email[];\n            /**\n             * List of up to 50 phone numbers.\n             */\n            phones?: Contacts.Phone[];\n            /**\n             * List of up to 50 addresses.\n             */\n            addresses?: Contacts.Address[];\n            /**\n             * List of contact label keys.\n             * [Contact labels](https://support.wix.com/en/article/creating-contact-labels)\n             * help categorize contacts.\n             *\n             * Label keys must exist to be added to the contact.\n             * Contact labels can be created or retrieved with\n             * `findOrCreateLabel()` or `queryLabels()` in the\n             * Labels API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/labels/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/labels/introduction)).\n             */\n            labelKeys?: string[];\n            /**\n             * Set of key-value pairs.\n             *\n             * Contact's extended fields allow you to store additional information about your contacts.\n             *\n             * To view or create extended fields, call `findOrCreateExtendedField()`, `getExtendedField()`, or `queryExtendedFields()` in the\n             * Extended Fields API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/extended-fields/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/extended-fields/introduction)).\n             */\n            extendedFields: any;\n        };\n        /**\n         * Label that was found or created.\n         */\n        type Label = {\n            /**\n             * Label key.\n             *\n             * `key` is generated when the label is created\n             * and cannot be modified, even if `displayName` changes.\n             */\n            key: string;\n            /**\n             * Label display name shown in the Dashboard.\n             */\n            displayName: string;\n            /**\n             * Label type.\n             *\n             * One of:\n             *\n             * - `\"SYSTEM\"`: The label is a predefined system label for the Contact List.\n             * - `\"USER_DEFINED\"`: The label was created by a Wix user or app.\n             * - `\"WIX_APP_DEFINED\"`: The label was created by a Wix app.\n             */\n            labelType: string;\n            /**\n             * Date and time the label was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the label was last updated.\n             */\n            _updatedDate: Date;\n            /**\n             * Label namespace.\n             *\n             * Labels created with `findOrCreateLabel()`\n             * are automatically assigned to the `custom` namespace.\n             */\n            namespace: string;\n        };\n        /**\n         * Details about the contact's last action in the site.\n         */\n        type LastActivity = {\n            /**\n             * Date and time of the last action.\n             */\n            activityDate: Date;\n            /**\n             * Contact's last action in the site.\n             *\n             * Some possible values:\n             * `\"GENERAL\"`, `\"CONTACT_CREATED\"`, `\"MEMBER_LOGIN\"`, `\"MEMBER_REGISTER\"`,\n             * `\"MEMBER_STATUS_CHANGED\"`, `\"FORM_SUBMITTED\"`, `\"INBOX_FORM_SUBMITTED\"`,\n             * `\"INBOX_PAYMENT_REQUEST_PAID\"`, `\"INBOX_MESSAGE_TO_CUSTOMER\"`,\n             * `\"INBOX_MESSAGE_FROM_CUSTOMER\"`, `\"NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED\"`,\n             * `\"NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE\"`, `\"ECOM_PURCHASE\"`,\n             * `\"ECOM_CART_ABANDON\"`, `\"ECOM_CHECKOUT_BUYER\"`, `\"BOOKINGS_APPOINTMENT\"`,\n             * `\"HOTELS_RESERVATION\"`, `\"HOTELS_PURCHASE\"`, `\"HOTELS_CONFIRMATION\"`,\n             * `\"HOTELS_CANCEL\"`, `\"VIDEO_PURCHASE\"`, `\"VIDEO_RENT\"`,\n             * `\"CASHIER_BUTTON_PURCHASE\"`, `\"ARENA_NEW_LEAD\"`, `\"EVENTS_RSVP\"`,\n             * `\"INVOICE_PAY\"`, `\"INVOICE_OVERDUE\"`, `\"PRICE_QUOTE_ACCEPT\"`,\n             * `\"PRICE_QUOTE_EXPIRE\"`, `\"RESTAURANTS_ORDER\"`, `\"RESTAURANTS_RESERVATION\"`,\n             * `\"SHOUTOUT_OPEN\"`, `\"SHOUTOUT_CLICK\"`, `\"CONTACT_MERGED\"`.\n             */\n            activityType: string;\n        };\n        /**\n         * Contact's first and last name.\n         */\n        type Name = {\n            /**\n             * Contact's first name.\n             */\n            first?: string;\n            /**\n             * Contact's last name.\n             */\n            last?: string;\n        };\n        type Phone = {\n            /**\n             * Phone ID.\n             */\n            _id: string;\n            /**\n             * Phone type.\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"MOBILE\"`\n             * - `\"WORK\"`\n             * - `\"FAX\"`\n             */\n            tag: string;\n            /**\n             * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.\n             */\n            countryCode?: string;\n            /**\n             * Phone number.\n             */\n            phone: string;\n            /**\n             * [ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\n             *  phone number.\n             *  Automatically generated using `phone` and `countryCode`,\n             *  as long as both of those values are valid.\n             */\n            e164Phone?: string;\n            /**\n             * Whether this is the contact's primary phone number.\n             *  When changing `primary` to `true` for a phone,\n             *  the contact's other phones become `false`.\n             */\n            primary: boolean;\n        };\n        type PhoneInfo = {\n            /**\n             * Phone type.\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"MOBILE\"`\n             * - `\"WORK\"`\n             * - `\"FAX\"`\n             */\n            tag?: string;\n            /**\n             * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.\n             */\n            countryCode?: string;\n            /**\n             * Phone number.\n             */\n            phone?: string;\n            /**\n             * Whether this is the contact's primary phone number.\n             *  When changing `primary` to `true` for a phone,\n             *  the contact's other phones become `false`.\n             */\n            primary?: boolean;\n        };\n        /**\n         * todo\n         */\n        type Picture = {\n            /**\n             * **Deprecated.** Use `profilePicture` instead.\n             */\n            image?: string;\n            /**\n             * **Deprecated.**\n             */\n            imageProvider?: string;\n        };\n        /**\n         * Contact's primary phone and email.\n         */\n        type PrimaryInfo = {\n            /**\n             * Primary email address.\n             *\n             * This property reflects the email address in `contactInfo.emails`\n             * where `primary` is `true`.\n             */\n            email?: string;\n            /**\n             * Primary phone number.\n             *\n             * This property reflects the phone number in `contactInfo.phones`\n             * where `primary` is `true`.\n             */\n            phone?: string;\n        };\n        /**\n         * Details about the contact's source.\n         */\n        type Source = {\n            /**\n             * Source type.\n             *\n             * Some possible values:\n             * `\"OTHER\"`, `\"ADMIN\"`, `\"WIX_APP\"`, `\"IMPORT\"`, `\"THIRD_PARTY\"`,\n             * `\"WIX_BOOKINGS\"`, `\"WIX_CHAT\"`, `\"WIX_EMAIL_MARKETING\"`, `\"WIX_EVENTS\"`,\n             * `\"WIX_FORMS\"`, `\"WIX_GROUPS\"`, `\"WIX_HOTELS\"`, `\"WIX_MARKET_PLACE\"`,\n             * `\"WIX_MUSIC\"`, `\"WIX_RESTAURANTS\"`, `\"WIX_SITE_MEMBERS\"`, `\"WIX_STORES\"`.\n             */\n            sourceType: string;\n            /**\n             * App ID, if the contact was created by an app.\n             */\n            appId: string;\n        };\n        /**\n         * Street address object, with number and name in separate fields.\n         */\n        type StreetAddress = {\n            /**\n             * Street number.\n             */\n            number: string;\n            /**\n             * Street name.\n             */\n            name: string;\n        };\n        /**\n         * Street address object, with number and name in separate fields.\n         */\n        type StreetAddressInfo = {\n            /**\n             * Street number.\n             */\n            number?: string;\n            /**\n             * Street name.\n             */\n            name?: string;\n        };\n    }\n    /**\n     * The Triggered Emails API is used to send triggered emails to a site's contacts and members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm-frontend.TriggeredEmails.html#)\n     */\n    namespace TriggeredEmails {\n        type TriggeredEmailOptions = {\n            /**\n             * An object with `key:value` pairs. Each\n             *  `key` is a variable in the email template created in triggered emails, and its\n             *  corresponding `value` is the value to insert into the template in place of the\n             *  variable. The values must be strings.\n             *\n             * Example: `{ firstName: 'John', lastName: 'Doe' }`\n             */\n            variables: any;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-dashboard.d.ts",
      "content": "/**\n * The wix-dashboard module contains functionality for interacting with your site's dashboard in the code for dashboard pages.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-dashboard.html#)\n */\ndeclare module 'wix-dashboard' {\n    /**\n     * Adds a site plugin to one of the slots supported in an app created by Wix. You can specify a single slot in which you want to add the plugin, or add the plugin to one of the available slots based on a list of prioritized slots that you configure in the plugin's installation settings in your [app's dashboard](https://manage.wix.com/studio/custom-apps).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dashboard.html#addSitePlugin)\n     */\n    function addSitePlugin(pluginId: string, options: AddSitePluginOptions): Promise<void>;\n    /**\n     * Gets the full URL for a dashboard page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dashboard.html#getPageUrl)\n     */\n    function getPageUrl(destination: Destination): Promise<string>;\n    /**\n     * Navigates the user to another page in the dashboard.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dashboard.html#navigate)\n     */\n    function navigate(destination: Destination): void;\n    /**\n     * Defines a callback function that receives changes to the state of a dashboard page's environment.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dashboard.html#observeState)\n     */\n    function observeState(observer: observeStateCallback): void;\n    /**\n     * Registers a [`beforeunload` event](https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event) handler for a dashboard page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dashboard.html#onBeforeUnload)\n     */\n    function onBeforeUnload(callback: onBeforeUnloadCallback): onBeforeUnloadReturn;\n    /**\n     * Opens the Wix Media Manager in a modal.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dashboard.html#openMediaManager)\n     */\n    function openMediaManager(options: OpenMediaManagerOptions): Promise<openMediaManagerReturn>;\n    /**\n     * Opens a [dashboard modal extension](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-modals/about-dashboard-modals).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dashboard.html#openModal)\n     */\n    function openModal(modalId: string, modalParams?: any): OpenModalReturn;\n    /**\n     * Sets the title of the current dashboard page in the browser tab.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dashboard.html#setPageTitle)\n     */\n    function setPageTitle(pageTitle: string): void;\n    /**\n     * Displays a toast notification at the top of a dashboard page.\n     *\n     * ![Toast notification](/images/toast_example.png \"Toast notification\")\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-dashboard.html#showToast)\n     */\n    function showToast(config: ToastConfig): ToastReturn;\n    /**\n     * An object representing the options to use when adding a site plugin.\n     */\n    type AddSitePluginOptions = {\n        /**\n         * Optional. Details of the slot in which you want to add the plugin. You can find this information in the articles about the [slots that are available on Wix app pages](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-plugins/supported-wix-app-pages/about-slots). If you do not include this property, your plugin is placed in the first available slot according to the order you defined in the plugin's installation settings in your app's dashboard. If that slot is occupied, it is added in the next available slot, and so on. If there are no available slots, it is not added.\n         */\n        placement?: PluginPlacement;\n    };\n    type Archive = {\n        /**\n         * WixMedia ID.\n         */\n        _id: string;\n        /**\n         * Archive filename.\n         */\n        filename: string;\n        /**\n         * Archive size in bytes.\n         */\n        sizeInBytes: string;\n        /**\n         * Archive URL.\n         */\n        url: string;\n        /**\n         * Archive URL expiration date (when relevant).\n         */\n        urlExpirationDate: Date;\n    };\n    type AudioV2 = {\n        /**\n         * WixMedia ID.\n         */\n        _id: string;\n        /**\n         * Audio formats available for this file.\n         */\n        assets: string[];\n        /**\n         * Audio bitrate.\n         */\n        bitrate: number;\n        /**\n         * Audio duration in seconds.\n         */\n        duration: number;\n        /**\n         * Audio format.\n         */\n        format: string;\n        /**\n         * Audio size in bytes.\n         */\n        sizeInBytes: string;\n    };\n    type Color = {\n        /**\n         * HEX code.\n         */\n        hex: string;\n        /**\n         * RGB color.\n         */\n        rgb: ColorRGB;\n    };\n    type ColorRGB = {\n        /**\n         * Blue channel.\n         */\n        b: number;\n        /**\n         * Green channel.\n         */\n        g: number;\n        /**\n         * Red channel.\n         */\n        r: number;\n    };\n    type Colors = {\n        /**\n         * Color palette of the image.\n         */\n        palette: Color[];\n        /**\n         * Main color of the image.\n         */\n        prominent: Color;\n    };\n    /**\n     * Destination Object\n     */\n    type Destination = {\n        /**\n         * ID of the page to link to. See [Dashboard Page IDs](#dashboard-page-ids) to find the appropriate ID.\n         */\n        pageId: string;\n        /**\n         * URL segment to append to the base URL of the selected page. Can include path segments, a query string, and a fragment identifier.\n         */\n        relativeUrl?: string;\n    };\n    type Document = {\n        /**\n         * Information about the document.\n         */\n        document: string;\n    };\n    type EnvironmentState = {\n        /**\n         * User's locale.\n         */\n        locale: string;\n        /**\n         * Information about the currently rendered page location.\n         */\n        pageLocation: PageLocation;\n    };\n    type FaceRecognition = {\n        /**\n         * The accuracy percentage of the face recognition. The likelihood that a face is detected.\n         */\n        confidence: number;\n        /**\n         * Face pixel height.\n         */\n        height: number;\n        /**\n         * Face pixel width.\n         */\n        width: number;\n        /**\n         * Top left x pixel coordinate of the face.\n         */\n        x: number;\n        /**\n         * Top left y pixel coordinate of the face.\n         */\n        y: number;\n    };\n    type FileDescriptor = {\n        /**\n         * Date and time the file was created.\n         */\n        _createdDate: Date;\n        /**\n         * File ID. Generated when a file is uploaded to the Media Manager.\n         */\n        _id: string;\n        /**\n         * Date and time the file was updated.\n         */\n        _updatedDate: Date;\n        /**\n         * File name as it appears in the Media Manager.\n         */\n        displayName: string;\n        /**\n         * File hash.\n         */\n        hash: string;\n        /**\n         * Labels assigned to media files that describe and categorize them. Provided by the user, or generated by Google Vision API for images.\n         */\n        labels: string[];\n        /**\n         * Media file content.\n         */\n        media: Archive | AudioV2 | Document | Image | Model3D | Vector | Video;\n        /**\n         * Media file type.\n         *\n         * Supported values: `\"IMAGE\"`, `\"VIDEO\"`, `\"AUDIO\"`, `\"DOCUMENT\"`, `\"VECTOR\"`, `\"ARCHIVE\"`, `\"MODEL3D\"`\n         */\n        mediaType: string;\n        /**\n         * Status of the file that was uploaded.\n         *\n         * Supported values: `\"FAILED\"`, `\"READY\"`, `\"PENDING\"`\n         */\n        operationStatus: string;\n        /**\n         * ID of the file's parent folder.\n         */\n        parentFolderId: string;\n        /**\n         * Whether the link to the uploaded file is public or private. Private links require a token.\n         */\n        private: boolean;\n        /**\n         * The Wix site ID where the media file is stored.\n         */\n        siteId: string;\n        /**\n         * Size of the uploaded file in bytes.\n         */\n        sizeInBytes: string;\n        /**\n         * URL where the file was uploaded from.\n         */\n        sourceUrl: string;\n        /**\n         * State of the file.\n         *\n         * Supported values: `\"OK\"`, `\"DELETED\"`\n         */\n        state: string;\n        /**\n         * URL of the file's thumbnail.\n         */\n        thumbnailUrl: string;\n        /**\n         * Static URL of the file.\n         */\n        url: string;\n    };\n    type Image = {\n        /**\n         * Information about the image.\n         */\n        image: ImageMedia;\n    };\n    type ImageMedia = {\n        /**\n         * Optional, An AI generated description of the image.\n         */\n        caption: string;\n        /**\n         * Image colors.\n         */\n        colors: Colors;\n        /**\n         * Information about faces in the image. Use to crop images without cutting out faces.\n         */\n        faces: FaceRecognition[];\n        /**\n         * Image data.\n         */\n        image: string;\n        /**\n         * Information about the image preview. You can use this to display a preview for private images.\n         */\n        previewImage: string;\n    };\n    type Model3D = {\n        /**\n         * WixMedia 3D ID.\n         */\n        _id: string;\n        /**\n         * 3D alt text.\n         */\n        altText: string;\n        /**\n         * 3D filename.\n         */\n        filename: string;\n        /**\n         * 3D size in bytes.\n         */\n        sizeInBytes: string;\n        /**\n         * 3D thumbnail Image.\n         */\n        thumbnail: string;\n        /**\n         * 3D URL.\n         */\n        url: string;\n        /**\n         * 3D URL expiration date (when relevant).\n         */\n        urlExpirationDate: Date;\n    };\n    type OpenMediaManagerOptions = {\n        /**\n         * The type of media files to display in the modal. If this value is empty, all media types are displayed.\n         *\n         * Supported values: `\"IMAGE\"`, `\"VIDEO\"`, `\"MUSIC\"`, `\"DOCUMENT\"`, `\"VECTOR_ART\"`, `\"3D_IMAGE\"`\n         *\n         * By default, all the categories except `\"3D_IMAGE\"` are displayed.\n         */\n        category?: string;\n        /**\n         * Whether multiple files can be selected.Default: `false`\n         */\n        multiSelect?: boolean;\n    };\n    /**\n     * Open Modal Return Object\n     */\n    type OpenModalReturn = {\n        /**\n         * Resolves to the data passed to [`closeModal()`](#closeModal) when the modal is closed.\n         */\n        modalClosed: Promise<Serializable>;\n    };\n    /**\n     * PageLocation Object\n     */\n    type PageLocation = {\n        /**\n         * ID of the rendered page.\n         */\n        pageId: string;\n        /**\n         * Any parts of the current URL path appended to the page's full URL.\n         */\n        pathname: string;\n        /**\n         * The current URL's query string.\n         */\n        search?: string;\n        /**\n         * The current URL's fragment.\n         */\n        hash?: string;\n    };\n    /**\n     * An object representing a slot in which to add a plugin.\n     */\n    type PluginPlacement = {\n        /**\n         * ID of the Wix business solution to which you want to add your plugin.\n         */\n        appDefinitionId: string;\n        /**\n         * ID of the host widget in which the slot is located.\n         */\n        widgetId: string;\n        /**\n         * ID of the slot.\n         */\n        slotId: string;\n    };\n    type Serializable = {};\n    /**\n     * ToastAction Object\n     */\n    type ToastAction = {\n        /**\n         * Text that appears in the call-to-action.\n         */\n        text: string;\n        /**\n         * The type of call-to-action.\n         *\n         * Options: `\"button\"`, `\"link\"`\n         *\n         * Default: `\"button\"`\n         */\n        uiType?: string;\n        /**\n         * Whether to remove the toast after the call-to-action is clicked.\n         *\n         * Default: `true`\n         */\n        removeToastOnClick?: boolean;\n        /**\n         * Callback function to run after the call-to-action is clicked.\n         */\n        onClick: Function;\n    };\n    /**\n     * ToastConfig Object\n     */\n    type ToastConfig = {\n        /**\n         * Text that appears in the toast.\n         */\n        message: string;\n        /**\n         * Whether the toast removes itself.\n         *\n         * Options:\n         * - `\"normal\"`: The toast removes itself after 6 seconds.\n         * - `\"none\"`: The toast doesn't remove itself.\n         *\n         * Default: `\"normal\"`\n         */\n        timeout?: string;\n        /**\n         * Toast color and message type.\n         *\n         * Options:\n         * - `\"standard\"`: Blue toast.\n         * - `\"success\"`: Green toast.\n         * - `\"warning\"`: Yellow warning toast.\n         * - `\"error\"`: Red error toast.\n         *\n         * Default: `\"standard\"`\n         */\n        type?: string;\n        /**\n         * Priority of the toast. If several toasts are triggered at the same time, they're displayed in the order of their priority levels.\n         *\n         * Options: `\"low\"`, `\"normal\"`, `\"high\"`\n         *\n         * Default: `\"normal\"`\n         */\n        priority?: string;\n        /**\n         * Object representing a call-to-action that's displayed in the toast.\n         */\n        action?: ToastAction;\n        /**\n         * Callback function to run when the toast is closed by clicking its close button.\n         */\n        onCloseClick?: Function;\n        /**\n         * Callback function to run when the toast is seen by the user.\n         */\n        onToastSeen?: Function;\n    };\n    /**\n     * ShowToast Return Object\n     */\n    type ToastReturn = {\n        /**\n         * Removes the displayed toast.\n         */\n        remove: Function;\n    };\n    type Vector = {\n        /**\n         * Information about the vector.\n         */\n        vector: ImageMedia;\n    };\n    type Video = {\n        /**\n         * Information about the video.\n         */\n        video: string;\n    };\n    type onBeforeUnloadEvent = {\n        /**\n         * Prevents the page from unloading. Opens a dialog with a warning that there may be unsaved data on the page.\n         */\n        preventDefault: Function;\n    };\n    type onBeforeUnloadReturn = {\n        /**\n         * Removes the `onBeforeUnload` event handler.\n         */\n        remove: Function;\n    };\n    type openMediaManagerReturn = {\n        /**\n         * An array of file descriptors for the selected media files.\n         */\n        items: FileDescriptor[];\n    };\n    type observeStateCallback = (pageParams: any, environmentState: EnvironmentState) => void;\n    type onBeforeUnloadCallback = (event: onBeforeUnloadEvent) => void;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-ecom-frontend.d.ts",
      "content": "/**\n * The `wix-ecom-frontend` module contains functionality for working with eCommerce elements from frontend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-ecom-frontend.html#)\n */\ndeclare module 'wix-ecom-frontend' {\n    /**\n     * Returns the currency selected by the customer.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-ecom-frontend.html#getCustomerSelectedCurrency)\n     */\n    function getCustomerSelectedCurrency(): Promise<string>;\n    /**\n     * Directs the browser to navigate to the site visitor's Cart Page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-ecom-frontend.html#navigateToCartPage)\n     */\n    function navigateToCartPage(): Promise<void>;\n    /**\n     * Directs the browser to navigate to the site visitor's Checkout Page.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-ecom-frontend.html#navigateToCheckoutPage)\n     */\n    function navigateToCheckoutPage(checkoutId: string, options?: CheckoutPageOptions): Promise<void>;\n    /**\n     * Triggered when a cart changes.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-ecom-frontend.html#onCartChange)\n     */\n    function onCartChange(handler: onCartChangeHandler): void;\n    /**\n     * Opens the side cart panel.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-ecom-frontend.html#openSideCart)\n     */\n    function openSideCart(): void;\n    /**\n     * Updates cart UI elements, like the [cart icon](https://support.wix.com/en/article/customizing-the-cart-icon) and side cart with the most recent cart data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-ecom-frontend.html#refreshCart)\n     */\n    function refreshCart(): Promise<void>;\n    type CheckoutPageOptions = {\n        /**\n         * Whether to skip the delivery details step in checkout. For example, if the product is for pick-up only.\n         *\n         * Default: `false`\n         */\n        skipDeliveryStep: boolean;\n        /**\n         * Whether to hide the [\"Continue Browsing\"](https://support.wix.com/en/article/customizing-links-on-your-cart-page#customizing-the-continue-browsing-links) button from top-right-hand corner of the Checkout Page.\n         *\n         * Default: `false`\n         */\n        hideContinueBrowsingButton: boolean;\n        /**\n         * URL to replace the default \"Continue Browsing\" URL. For example, if you'd like to redirect a customer to a custom page.\n         */\n        overrideContinueBrowsingUrl: string;\n        /**\n         * URL to replace the default [Thank You Page](https://support.wix.com/en/article/customizing-the-thank-you-page) URL.\n         *\n         * Pass `{orderId}` (not the order ID itself) as a parameter to the URL to dynamically insert the order ID. See the example on the right for more information.\n         */\n        overrideThankYouPageUrl: string;\n    };\n    /**\n     * Method that runs when a cart changes.\n     */\n    type onCartChangeHandler = () => void;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-events.d.ts",
      "content": "/**\n * The wix-events module contains functionality for working with\n *  Wix Events from client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-events.html#)\n */\ndeclare module 'wix-events' {\n    /**\n     * Gets an object containing RSVP functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.html#rsvp)\n     */\n    const rsvp: Rsvp;\n    /**\n     * Gets an object containing ticketing functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.html#tickets)\n     */\n    const tickets: Tickets;\n    /**\n     * **Deprecated:** Creates a new RSVP form for the specified event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.html#createEventRsvpForm)\n     */\n    function createEventRsvpForm(eventId: string): RsvpForm;\n    /**\n     * Gets a new registration form for the specified event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.html#getForm)\n     */\n    function getForm(eventId: string): Promise<Form>;\n    /**\n     * A registration form for an event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Form.html#)\n     */\n    interface Form {\n        /**\n         * Gets information about the event's registration form and status.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Form.html#formData)\n         */\n        readonly formData: Form.FormData;\n        /**\n         * Validates form fields and values against the registration form as defined in the site Dashboard.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Form.html#validate)\n         */\n        validate(formValues: Form.FormValue[]): Promise<Form.ValidationResult>;\n        /**\n         * Validates an input form field value against the registration form as defined in the site Dashboard.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Form.html#validateInput)\n         */\n        validateInput(inputName: string, formValues: Form.FormValue[]): Form.ValidationResult;\n    }\n    /**\n     * An object containing RSVP functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Rsvp.html#)\n     */\n    interface Rsvp {\n        /**\n         * Creates an RSVP and adds the new guests to an event's guest list.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Rsvp.html#createRsvp)\n         */\n        createRsvp(eventId: string, formValues: Rsvp.FormValue[]): Promise<Rsvp.RsvpResponse>;\n    }\n    /**\n     * **Deprecated:** A form for creating an RSVP to an event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.RsvpForm.html#)\n     */\n    interface RsvpForm {\n        /**\n         * **Deprecated:** Gets information about the event's RSVP form and status.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.RsvpForm.html#getRsvpData)\n         */\n        getRsvpData(): Promise<RsvpForm.RsvpData>;\n        /**\n         * **Deprecated:** Submits an RSVP form and adds the new guests to the event's guest list.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.RsvpForm.html#submit)\n         */\n        submit(formValues: RsvpForm.FormValue[]): Promise<RsvpForm.RsvpResponse>;\n        /**\n         * **Deprecated:** Validates form fields and values against the registration form as defined in the site Dashboard.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.RsvpForm.html#validate)\n         */\n        validate(formValues: RsvpForm.FormValue[]): Promise<RsvpForm.ValidationResult>;\n        /**\n         * **Deprecated:** Validates an input form field value against the registration form as defined in the site Dashboard.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.RsvpForm.html#validateInput)\n         */\n        validateInput(inputName: string, formValues: RsvpForm.FormValue[]): Promise<RsvpForm.ValidationResult>;\n    }\n    /**\n     * An object containing ticketing functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Tickets.html#)\n     */\n    interface Tickets {\n        /**\n         * Performs a checkout on reserved tickets.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Tickets.html#checkout)\n         */\n        checkout(eventId: string, reservationId: string, checkoutInfo: Tickets.CheckoutInfo): Promise<Tickets.CheckoutResponse>;\n        /**\n         * Reserves tickets for an event.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Tickets.html#reserve)\n         */\n        reserve(eventId: string, tickets: Tickets.TicketSelection[]): Promise<Tickets.ReservationResponse>;\n        /**\n         * Updates a ticket order.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Tickets.html#updateOrder)\n         */\n        updateOrder(eventId: string, orderNumber: string, updateInfo: Tickets.UpdateInfo): Promise<Tickets.UpdateOrderResponse>;\n        /**\n         * Verifies a ticket coupon.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Tickets.html#verifyCoupon)\n         */\n        verifyCoupon(eventId: string, reservationId: string, coupon: string): Promise<Tickets.VerifyCouponResponse>;\n    }\n    /**\n     * A registration form for an event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Form.html#)\n     */\n    namespace Form {\n        /**\n         * An object containing information about a label for a complex input field type.\n         */\n        type AdditionalLabel = {\n            /**\n             * Additional label name.\n             */\n            name: string;\n            /**\n             * Additional label value.\n             */\n            label: string;\n        };\n        /**\n         * An object representing an error that occurred during validation of a registration form's fields.\n         */\n        type FieldValidationError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * List of fields that caused the error when the form does not pass validation.\n             */\n            fields: string[];\n        };\n        /**\n         * An object representing the details needed to create a registration form for an event.\n         */\n        type FormData = {\n            /**\n             * Information about the input fields needed to create a registration form.\n             */\n            formInputs: Form.InputItem[];\n            /**\n             * Allowed RSVP statuses for an event.\n             *  One of:\n             *\n             *  + `\"YES_AND_NO\"`: Guests can RSVP for the event with a \"Yes\" or \"No\".\n             *  + `\"YES_ONLY\"`: Guests can only RSVP for the event with a \"Yes\".\n             *  + `\"WAITING\"`: The guest limit has been reached, but there is an open waitlist.\n             */\n            rsvpStatusOptions: string;\n            /**\n             * Event registration status.\n             *  One of:\n             *\n             *  + `\"OPEN_RSVP\"`: Registration is open and guest limit has not been reached.\n             *  + `\"OPEN_RSVP_WAITLIST\"`: Registration is open, guest limit has been reached,\n             *    and additional registering guests are added to the waitlist.\n             *  + `\"OPEN_TICKETS\"`: Registration is open for a ticketed event and there are still\n             *    tickets available.\n             *  + `\"OPEN_EXTERNAL\"`: Registration is open for an event that uses external registration,\n             *     not RSVP or ticketed.\n             *  + `\"CLOSED\"`: Registration is closed because the guest limit has been reached.\n             *  + `\"CLOSED_MANUALLY\"`: Registration was closed manually.\n             */\n            registrationStatus: string;\n            /**\n             * Whether the event is a ticketed event.\n             */\n            isTicketed: boolean;\n        };\n        /**\n         * An object containing information about a form value.\n         */\n        type FormValue = {\n            /**\n             * Form field name.\n             */\n            name: string;\n            /**\n             * Form field value.\n             */\n            value: string;\n        };\n        /**\n         * An object containing information about an input field in a registration form.\n         */\n        type InputItem = {\n            /**\n             * Unique input identifier.\n             */\n            _id: string;\n            /**\n             * Whether the input field's value is an array.\n             */\n            array: boolean;\n            /**\n             * Input field display label.\n             */\n            label: string;\n            /**\n             * Addition field display labels for complex fields.\n             */\n            additionalLabels: Form.AdditionalLabel[];\n            /**\n             * List of value options where applicable.\n             */\n            options: string[];\n            /**\n             * Maximum length of the input field's value. A value of `0` indicates no maximum length.\n             */\n            maxLength: number;\n            /**\n             * Input field name.\n             */\n            name: string;\n            /**\n             * Whether the input field is required.\n             */\n            required: boolean;\n            /**\n             * The type of the input field.\n             *  One of:\n             *\n             *  + `\"NAME\"`\n             *  + `\"INPUT\"`\n             *  + `\"RADIO\"`\n             *  + `\"CHECKBOX\"`\n             *  + `\"DROPDOWN\"`\n             *  + `\"GUEST_CONTROL\"`\n             *  + `\"ADDRESS_FULL\"`\n             *  + `\"TEXTAREA\"`\n             *  + `\"DATE\"`\n             */\n            controlType: string;\n        };\n        /**\n         * An object representing the result of a validation.\n         */\n        type ValidationResult = {\n            /**\n             * Indicates that the registration form field(s) are valid.\n             */\n            valid: boolean;\n        };\n        /**\n         * An object representing an error that occurred during validation of an RSVP form's values.\n         */\n        type ValueValidationError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * ID of the input field that failed validation.\n             */\n            inputId: string;\n            /**\n             * Error type.\n             *  One of:\n             *\n             *  + `\"EMPTY_INPUT\"`: A required field is missing its value.\n             *  + `\"INVALID_INPUT_VALUE\"`: The value is not valid for the field type.\n             *  + `\"INPUT_TOO_LONG\"`: The value is too long.\n             *  + `\"INVALID_OPTION\"`: The value does not match one of the defined options for the field.\n             *  + `\"INVALID_STATUS\"`: The status value is not valid.\n             *  + `\"INVALID_NUMBER_OF_GUESTS\"`: The number of guests does not match the number defined for the form.\n             */\n            errorType: string;\n        };\n    }\n    /**\n     * An object containing RSVP functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Rsvp.html#)\n     */\n    namespace Rsvp {\n        /**\n         * An object representing an error that occurred during an RSVP creation.\n         */\n        type CreationError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * Error type.\n             *  One of:\n             *\n             *  + `\"RSVP_CLOSED\"`: Event registration is closed.\n             *  + `\"GUEST_LIMIT_REACHED\"`: The maximum number of guests has already been reached.\n             *  + `\"MEMBER_ALREADY_REGISTERED\"`: The current registrant is already registered as a guest.\n             *  + `\"WAITING_LIST_UNAVAILABLE\"`: The maximum number of guests has already been reached and\n             *    there is no waitlist.\n             *  + `\"UNKNOWN_ERROR\"`: Unknown error.\n             */\n            errorType: string;\n        };\n        /**\n         * An object containing information about form values.\n         */\n        type FormValue = {\n            /**\n             * Form field name.\n             */\n            name: string;\n            /**\n             * Form field value.\n             */\n            value: string;\n        };\n        /**\n         * An object representing a guest on an event RSVP.\n         */\n        type Guest = {\n            /**\n             * Index of the guest in the RSVP guest list. Indices are zero-based.\n             */\n            index: number;\n            /**\n             * Guest ID, which is unique within the RSVP.\n             */\n            id: number;\n            /**\n             * Full name of the guest.\n             */\n            fullName: string;\n        };\n        /**\n         * An object representing an RSVP input value.\n         */\n        type InputValue = {\n            /**\n             * Name of the input.\n             */\n            inputName: string;\n            /**\n             * Value of the input, when there is just one value.\n             */\n            value: string;\n            /**\n             * Value of the input, when there are multiple values.\n             */\n            values: string[];\n        };\n        /**\n         * An object representing an RSVP form.\n         */\n        type RsvpForm = {\n            /**\n             * Values that were entered in the RSVP form.\n             */\n            inputValues: Rsvp.InputValue[];\n        };\n        /**\n         * An object representing a response to creating an RSVP.\n         */\n        type RsvpResponse = {\n            /**\n             * RSVP ID\n             */\n            id: string;\n            /**\n             * Whether the guest's personal information has been removed.\n             */\n            anonymized: boolean;\n            /**\n             * Contact ID of the guest who created the RSVP.\n             */\n            contactId: string;\n            /**\n             * Date when the RSVP was created.\n             */\n            createdDate: Date;\n            /**\n             * Email address to the guest who created the RSVP.\n             */\n            email: string;\n            /**\n             * ID of the event the RSVP is for.\n             */\n            eventId: string;\n            /**\n             * First name of the guest who created the RSVP.\n             */\n            firstName: string;\n            /**\n             * Last name of the guest who created the RSVP.\n             */\n            lastName: string;\n            /**\n             * All of the guests included in the RSVP.\n             */\n            guests: RsvpForm.Guest[];\n            /**\n             * A representation of the RSVP form that was created.\n             */\n            rsvpForm: RsvpForm.RsvpForm;\n            /**\n             * Member ID of the guest who created the RSVP form if the guest is a site member.\n             */\n            memberId: string;\n            /**\n             * Date when RSVP was last modified.\n             */\n            updatedDate: Date;\n            /**\n             * RSVP status.\n             */\n            status: string;\n            /**\n             * Total number of guests included in the RSVP.\n             */\n            totalGuests: number;\n        };\n    }\n    /**\n     * **Deprecated:** A form for creating an RSVP to an event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.RsvpForm.html#)\n     */\n    namespace RsvpForm {\n        /**\n         * **Deprecated:** An object containing information about a label for a complex input field type.\n         */\n        type AdditionalLabel = {\n            /**\n             * Additional label name.\n             */\n            name: string;\n            /**\n             * Additional label value.\n             */\n            label: string;\n        };\n        /**\n         * **Deprecated:** An object representing an error that occurred during validation of an RSVP form's fields.\n         */\n        type FieldValidationError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * List of fields that caused the error when the form does not pass validation.\n             */\n            fields: string[];\n        };\n        /**\n         * **Deprecated:** An object containing information about form value to submit.\n         */\n        type FormValue = {\n            /**\n             * Form field name.\n             */\n            name: string;\n            /**\n             * Form field value.\n             */\n            value: string;\n        };\n        /**\n         * **Deprecated:** An object representing a guest on an event RSVP.\n         */\n        type Guest = {\n            /**\n             * Index of the guest in the RSVP guest list. Indices are zero-based.\n             */\n            index: number;\n            /**\n             * Guest ID, which is unique within the RSVP.\n             */\n            id: number;\n            /**\n             * Full name of the guest.\n             */\n            fullName: string;\n        };\n        /**\n         * **Deprecated:** An object representing a submitted RSVP form input value.\n         */\n        type InputValue = {\n            /**\n             * Name of the form input.\n             */\n            inputName: string;\n            /**\n             * Value of the form input, when there is just one value.\n             */\n            value: string;\n            /**\n             * Value of the form input, when there are multiple values.\n             */\n            values: string[];\n        };\n        /**\n         * **Deprecated:** An object representing the details needed to create an RSVP form for an event.\n         */\n        type RsvpData = {\n            /**\n             * Information about the input fields needed to create an RSVP form.\n             */\n            rsvpFormInputs: RsvpForm.RsvpInputItem[];\n            /**\n             * Allowed RSVP statuses for an event.\n             *  One of:\n             *\n             *  + `\"YES_AND_NO\"`: Guests can RSVP for the event with a \"Yes\" or \"No\".\n             *  + `\"YES_ONLY\"`: Guests can only RSVP for the event with a \"Yes\".\n             *  + `\"WAITING\"`: The guest limit has been reached, but there is an open waitlist.\n             */\n            rsvpStatusOptions: string;\n            /**\n             * Event registration status.\n             *  One of:\n             *\n             *  + `\"OPEN_RSVP\"`: Registration is open and guest limit has not been reached.\n             *  + `\"OPEN_RSVP_WAITLIST\"`: Registration is open, guest limit has been reached,\n             *    and additional registering guests are added to the waitlist.\n             *  + `\"CLOSED\"`: Registration is closed because the guest limit has been reached.\n             *  + `\"CLOSED_MANUALLY\"`: Registration was closed manually.\n             */\n            registrationStatus: string;\n        };\n        /**\n         * **Deprecated:** An object representing a submitted RSVP form.\n         */\n        type RsvpForm = {\n            /**\n             * Values that were entered in the RSVP form.\n             */\n            inputValues: RsvpForm.InputValue[];\n        };\n        /**\n         * **Deprecated:** An object containing information about an input field in an RSVP form.\n         */\n        type RsvpInputItem = {\n            /**\n             * Unique input identifier.\n             */\n            _id: string;\n            /**\n             * Whether the input field's value is an array.\n             */\n            array: boolean;\n            /**\n             * Input field display label.\n             */\n            label: string;\n            /**\n             * Addition field display labels for complex fields.\n             */\n            additionalLabels: RsvpForm.AdditionalLabel[];\n            /**\n             * List of value options where applicable.\n             */\n            options: string[];\n            /**\n             * Maximum length of the input field's value. A value of `0` indicates no maximum length.\n             */\n            maxLength: number;\n            /**\n             * Input field name.\n             */\n            name: string;\n            /**\n             * Whether the input field is required.\n             */\n            required: boolean;\n            /**\n             * The type of the input field.\n             *  One of:\n             *\n             *  + `\"NAME\"`\n             *  + `\"INPUT\"`\n             *  + `\"RADIO\"`\n             *  + `\"CHECKBOX\"`\n             *  + `\"DROPDOWN\"`\n             *  + `\"GUEST_CONTROL\"`\n             *  + `\"ADDRESS_FULL\"`\n             *  + `\"TEXTAREA\"`\n             *  + `\"DATE\"`\n             */\n            controlType: string;\n        };\n        /**\n         * **Deprecated:** An object representing a response to submitting an RSVP.\n         */\n        type RsvpResponse = {\n            /**\n             * RSVP ID\n             */\n            id: string;\n            /**\n             * Indicates whether the guest's personal information has been deleted or not.\n             */\n            anonymized: boolean;\n            /**\n             * Contact ID of the guest who submitted the RSVP form.\n             */\n            contactId: string;\n            /**\n             * Date when the RSVP was submitted.\n             */\n            createdDate: Date;\n            /**\n             * Email address to the guest who submitted the RSVP form.\n             */\n            email: string;\n            /**\n             * ID of the event the RSVP is for.\n             */\n            eventId: string;\n            /**\n             * First name of the guest who submitted the RSVP form.\n             */\n            firstName: string;\n            /**\n             * Last name of the guest who submitted the RSVP form.\n             */\n            lastName: string;\n            /**\n             * All of the guests included in the RSVP.\n             */\n            guests: RsvpForm.Guest[];\n            /**\n             * A representation of the RSVP form that was submitted.\n             */\n            rsvpForm: RsvpForm.RsvpForm;\n            /**\n             * Member ID of the guest who submitted the RSVP form if the guest is a site member.\n             */\n            memberId: string;\n            /**\n             * Date when RSVP was last modified.\n             */\n            updatedDate: Date;\n            /**\n             * RSVP status.\n             */\n            status: string;\n            /**\n             * Total number of guests included in the RSVP.\n             */\n            totalGuests: number;\n        };\n        /**\n         * **Deprecated:** An object representing an error that occurred during an RSVP form submission.\n         */\n        type SubmissionError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * Error type.\n             *  One of:\n             *\n             *  + `\"RSVP_CLOSED\"`: Event registration is closed.\n             *  + `\"GUEST_LIMIT_REACHED\"`: The maximum number of guests has already been reached.\n             *  + `\"MEMBER_ALREADY_REGISTERED\"`: The current registrant is already registered as a guest.\n             *  + `\"WAITING_LIST_UNAVAILABLE\"`: The maximum number of guests has already been reached and\n             *    there is no waitlist.\n             *  + `\"UNKNOWN_ERROR\"`: Unknown error.\n             */\n            errorType: string;\n        };\n        /**\n         * **Deprecated:** An object representing the result of a form validation.\n         */\n        type ValidationResult = {\n            /**\n             * Indicates that the RSVP form fields are valid.\n             */\n            valid: boolean;\n        };\n        /**\n         * **Deprecated:** An object representing an error that occurred during validation of an RSVP form's values.\n         */\n        type ValueValidationError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * ID of the input field that failed validation.\n             */\n            inputId: string;\n            /**\n             * Error type.\n             *  One of:\n             *\n             *  + `\"EMPTY_INPUT\"`: A required field is missing its value.\n             *  + `\"INVALID_INPUT_VALUE\"`: The value is not valid for the field type.\n             *  + `\"INPUT_TOO_LONG\"`: The value is too long.\n             *  + `\"INVALID_OPTION\"`: The value does not match one of the defined options for the field.\n             *  + `\"INVALID_STATUS\"`: The status value is not valid.\n             *  + `\"INVALID_NUMBER_OF_GUESTS\"`: The number of guests does not match the number defined for the form.\n             */\n            errorType: string;\n        };\n    }\n    /**\n     * An object containing ticketing functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events.Tickets.html#)\n     */\n    namespace Tickets {\n        /**\n         * An object containing information about a checkout.\n         */\n        type CheckoutInfo = {\n            /**\n             * Field names and values for a registration form.\n             */\n            formValues: Form.FormValue[];\n            /**\n             * Coupon to be used during checkout.\n             */\n            coupon?: string;\n        };\n        /**\n         * An object containing information about a checkout performed using the [`checkout()`](#reserve) function.\n         */\n        type CheckoutResponse = {\n            /**\n             * Ticket reservations.\n             */\n            reservations: Tickets.Reservation[];\n            /**\n             * Ticket order.\n             */\n            order: Tickets.Order;\n            /**\n             * Time the reservations expire.\n             */\n            expirationTime: Date;\n        };\n        /**\n         * An object representing a discount.\n         */\n        type Discount = {\n            /**\n             * Discount amount.\n             */\n            amount: Tickets.Money;\n            /**\n             * Amount after discount.\n             */\n            afterDiscount: Tickets.Money;\n            /**\n             * Discount code.\n             */\n            code: string;\n            /**\n             * Discount name.\n             */\n            name: string;\n            /**\n             * ID of the coupon used in the discount.\n             */\n            couponId: string;\n        };\n        /**\n         * An object containing information about a discount error.\n         */\n        type DiscountError = {\n            /**\n             * Error code.\n             *\n             * One of:\n             *\n             * + `\"ERROR_COUPON_DOES_NOT_EXIST\"`\n             * + `\"ERROR_COUPON_IS_DISABLED\"`\n             * + `\"ERROR_COUPON_USAGE_EXCEEDED\"`\n             * + `\"ERROR_COUPON_HAS_EXPIRED\"`\n             */\n            code: string;\n        };\n        /**\n         * An object containing information about discount errors.\n         */\n        type DiscountErrors = {\n            /**\n             * Invoice the coupon is used in.\n             */\n            error: Tickets.DiscountError[];\n        };\n        /**\n         * An object representing a fee.\n         */\n        type Fee = {\n            /**\n             * Fee name. Value is `\"WIX_FEE\"`: Wix service fee applied to the item.\n             */\n            name: string;\n            /**\n             * Fee calculation method.\n             *  One of:\n             *\n             *  + `\"FEE_ADDED\"`: Fee is added to the ticket price at checkout.\n             *  + `\"FEE_INCLUDED\"`: Seller absorbs the fee. It is deducted from the ticket price.\n             */\n            type: string;\n            /**\n             * Rate percentage. Possible values are between `\"0.01\"` and `\"100\"`, using up to 2 decimal places.\n             */\n            rate: string;\n            /**\n             * Total amount of fee charges.\n             */\n            amount: Tickets.Money;\n        };\n        /**\n         * An object representing a ticket order invoice.\n         */\n        type Invoice = {\n            /**\n             * Invoice items.\n             */\n            items: Tickets.InvoiceItem[];\n            /**\n             * Invoice total.\n             */\n            total: Tickets.Money;\n            /**\n             * Invoice applied discount.\n             */\n            discount?: Tickets.Discount;\n            /**\n             * Invoice tax.\n             */\n            tax?: Tickets.Tax;\n            /**\n             * Invoice subtotal amount before discount, tax, and fees.\n             */\n            subTotal: Tickets.Money;\n            /**\n             * Invoice total amount after discount, tax, and fees.\n             *  Grand total is calculated in the following manner:\n             *\n             *  1. Total price of all items in the cart.\n             *  2. Discount is subtracted from the cart (if applicable).\n             *  3. Tax is added (if applicable).\n             *  4. Wix service fee is added.\n             */\n            grandTotal: Tickets.Money;\n            /**\n             * Invoice applied fee charges.\n             */\n            fees: Tickets.Fee[];\n            /**\n             * Total revenue with taxes, excluding fees. Payment provider fees are not deducted.\n             */\n            revenue: Tickets.Money;\n        };\n        /**\n         * An object representing a ticket order invoice item.\n         */\n        type InvoiceItem = {\n            /**\n             * Invoice item ID.\n             */\n            id: string;\n            /**\n             * Invoice item quantity.\n             */\n            quantity: number;\n            /**\n             * Invoice item name.\n             */\n            name: string;\n            /**\n             * Invoice item price.\n             */\n            price: Tickets.Money;\n            /**\n             * Invoice item total.\n             */\n            total: Tickets.Money;\n            /**\n             * Invoice item applied discount.\n             */\n            discount?: Tickets.Discount;\n            /**\n             * Invoice item tax.\n             */\n            tax?: Tickets.Tax;\n            /**\n             * Invoice item applied fee charges.\n             */\n            fees: Tickets.Fee[];\n        };\n        /**\n         * An object representing a monetary amount.\n         */\n        type Money = {\n            /**\n             * Decimal amount.\n             */\n            amount: string;\n            /**\n             * ISO 4217 currency format. For example, \"USD\".\n             */\n            currency: string;\n        };\n        /**\n         * An object containing information about a ticket order.\n         */\n        type Order = {\n            /**\n             * Order number.\n             */\n            orderNumber: string;\n            /**\n             * ID of the reservation used in the order.\n             */\n            reservationId: string;\n            /**\n             * ID of the checkout payment.\n             */\n            paymentId: string;\n            /**\n             * ID of the event the tickets are for.\n             */\n            eventId: string;\n            /**\n             * ID of the contact associated with the order.\n             */\n            contactId: string;\n            /**\n             * ID of the member associated with the order.\n             */\n            memberId: string;\n            /**\n             * Time the order was created.\n             */\n            createdDate: string;\n            /**\n             * First name associated with the order.\n             */\n            firstName: string;\n            /**\n             * Last name associated with the order.\n             */\n            lastName: string;\n            /**\n             * Full name associated with the order.\n             */\n            fullName: string;\n            /**\n             * Email address associated with the order.\n             */\n            email: string;\n            /**\n             * Form values used in the order.\n             */\n            checkoutForm: Form.FormValue[];\n            /**\n             * Whether the order is confirmed.\n             */\n            confirmed: boolean;\n            /**\n             * Status of the order.\n             *\n             * One of:\n             *\n             * + `\"INITIATED\"`\n             * + `\"FREE\"`\n             * + `\"PENDING\"`\n             * + `\"PAID\"`\n             * + `\"OFFLINE_PENDING\"`\n             */\n            status: string;\n            /**\n             * Payment method.\n             */\n            paymentMethod: string;\n            /**\n             * Number of tickets in the order.\n             */\n            ticketQuantity: number;\n            /**\n             * Order price.\n             */\n            price: Tickets.Money;\n            /**\n             * URL of the tickets PDF.\n             */\n            ticketsPdf: string;\n            /**\n             * Whether the order is archived.\n             */\n            archived: boolean;\n            /**\n             * Indicates whether personal information has been removed.\n             */\n            anonymized: boolean;\n            /**\n             * Order invoice.\n             */\n            invoice: Tickets.Invoice;\n            /**\n             * Whether all ticket holders in the order have checked in.\n             */\n            fullyCheckedIn: boolean;\n            /**\n             * Transaction ID.\n             */\n            transactionId: string;\n        };\n        /**\n         * An object representing ticket reservations.\n         */\n        type Reservation = {\n            /**\n             * Ticket quantity.\n             */\n            quantity: number;\n            /**\n             * Reserved ticket.\n             */\n            ticket: Tickets.Ticket;\n        };\n        /**\n         * An object containing information about a reservation created using the [`reserve()`](#reserve) function.\n         */\n        type ReservationResponse = {\n            /**\n             * Reservation ID.\n             */\n            id: string;\n            /**\n             * Ticket reservations.\n             */\n            reservations: Tickets.Reservation[];\n            /**\n             * Ticket reservations invoice.\n             */\n            invoice: Tickets.Invoice;\n            /**\n             * Time the reservations expire.\n             */\n            expirationTime: Date;\n        };\n        /**\n         * An object representing a tax.\n         */\n        type Tax = {\n            /**\n             * Tax type.\n             *  One of:\n             *\n             *  + `\"INCLUDED\"`: Tax is included in the ticket price.\n             *  + `\"ADDED\"`: Tax is added to the order at checkout.\n             */\n            type: string;\n            /**\n             * Tax name.\n             */\n            name: string;\n            /**\n             * Rate percentage. Possible values are between `\"0.01\"` and `\"100\"`, using up to 2 decimal places.\n             */\n            rate: string;\n            /**\n             * Taxable amount.\n             */\n            taxable: Tickets.Money;\n            /**\n             * Total tax amount.\n             */\n            amount: Tickets.Money;\n        };\n        /**\n         * An object representing a ticket.\n         */\n        type Ticket = {\n            /**\n             * Ticket ID.\n             */\n            _id: number;\n            /**\n             * Ticket price.\n             */\n            price: Tickets.Money;\n            /**\n             * Whether the ticket is free.\n             */\n            free: boolean;\n            /**\n             * Ticket name.\n             */\n            name: string;\n            /**\n             * Ticket description.\n             */\n            description: string;\n            /**\n             * Number of tickets that can be checked out together.\n             *  A value of `0` means there is no limit.\n             */\n            limitPerCheckout: number;\n            /**\n             * Order index.\n             */\n            orderIndex: number;\n            /**\n             * Ticket policy rules.\n             */\n            policy: string;\n            /**\n             * ID of the event the ticket is for.\n             */\n            eventId: string;\n        };\n        /**\n         * An object representing an event ticket.\n         */\n        type TicketSelection = {\n            /**\n             * ID of the ticket.\n             */\n            ticketId: string;\n            /**\n             * Ticket quantity.\n             */\n            quantity: number;\n        };\n        /**\n         * An object containing information about an order update.\n         */\n        type UpdateInfo = {\n            /**\n             * Field names and values for a registration form.\n             */\n            formValues: Form.FormValue[];\n        };\n        /**\n         * An object containing information about an order updated using the [`updateOrder()`](#updateOrder) function.\n         */\n        type UpdateOrderResponse = {\n            /**\n             * Updated ticket order.\n             */\n            order: Tickets.Order;\n        };\n        /**\n         * An object containing information about a coupon being verified using the [`verifyCoupon()`](#verifyCoupon) function.\n         */\n        type VerifyCouponResponse = {\n            /**\n             * Invoice the coupon is used in.\n             */\n            invoice?: Tickets.Invoice;\n            /**\n             * Discount errors.\n             */\n            discountErrors?: Tickets.DiscountErrors;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-events-frontend.d.ts",
      "content": "/**\n * The wix-events-frontend module contains functionality for working with\n *  Wix Events from client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.html#)\n */\ndeclare module 'wix-events-frontend' {\n    /**\n     * Retrieves an object containing RSVP functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.html#rsvp)\n     */\n    const rsvp: Rsvp;\n    /**\n     * Retrieves an object containing ticketing functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.html#tickets)\n     */\n    const tickets: Tickets;\n    /**\n     * **Deprecated:** Creates a new RSVP form for the specified event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.html#createEventRsvpForm)\n     */\n    function createEventRsvpForm(eventId: string): RsvpForm;\n    /**\n     * **Deprecated.**\n     * This method will be deprecated on March 30, 2026. Replace with [getForm()](https://dev.wix.com/docs/sdk/backend-modules/events/forms/get-form).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.html#getForm)\n     */\n    function getForm(eventId: string): Promise<Form>;\n    /**\n     * A registration form for an event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Form.html#)\n     */\n    interface Form {\n        /**\n         * **Deprecated.**\n         * This object will be deprecated on March 30, 2026. Replace with the object from [getForm()](https://dev.wix.com/docs/sdk/backend-modules/events/forms/get-form).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Form.html#formData)\n         */\n        readonly formData: Form.FormData;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on March 30, 2026. Replace with [getForm()](https://dev.wix.com/docs/sdk/backend-modules/events/forms/get-form).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Form.html#validate)\n         */\n        validate(formValues: Form.FormValue[]): Promise<Form.ValidationResult>;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on March 30, 2026. Replace with [getForm()](https://dev.wix.com/docs/sdk/backend-modules/events/forms/get-form).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Form.html#validateInput)\n         */\n        validateInput(inputName: string, formValues: Form.FormValue[]): Form.ValidationResult;\n    }\n    /**\n     * An object containing RSVP functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Rsvp.html#)\n     */\n    interface Rsvp {\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on March 30, 2026. Replace with [createRsvp()](https://dev.wix.com/docs/sdk/backend-modules/events/rsvp-v2/create-rsvp).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Rsvp.html#createRsvp)\n         */\n        createRsvp(eventId: string, formValues: Rsvp.FormValue[]): Promise<Rsvp.RsvpResponse>;\n    }\n    /**\n     * **Deprecated:** A form for creating an RSVP to an event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.RsvpForm.html#)\n     */\n    interface RsvpForm {\n        /**\n         * **Deprecated:** Gets information about the event's RSVP form and status.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.RsvpForm.html#getRsvpData)\n         */\n        getRsvpData(): Promise<RsvpForm.RsvpData>;\n        /**\n         * **Deprecated:** Submits an RSVP form and adds the new guests to the event's guest list.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.RsvpForm.html#submit)\n         */\n        submit(formValues: RsvpForm.FormValue[]): Promise<RsvpForm.RsvpResponse>;\n        /**\n         * **Deprecated:** Validates form fields and values against the registration form as defined in the site Dashboard.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.RsvpForm.html#validate)\n         */\n        validate(formValues: RsvpForm.FormValue[]): Promise<RsvpForm.ValidationResult>;\n        /**\n         * **Deprecated:** Validates an input form field value against the registration form as defined in the site Dashboard.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.RsvpForm.html#validateInput)\n         */\n        validateInput(inputName: string, formValues: RsvpForm.FormValue[]): Promise<RsvpForm.ValidationResult>;\n    }\n    /**\n     * An object containing ticketing functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Tickets.html#)\n     */\n    interface Tickets {\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on March 30, 2026. Replace with [checkout()](https://dev.wix.com/docs/sdk/backend-modules/events/orders/checkout).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Tickets.html#checkout)\n         */\n        checkout(eventId: string, reservationId: string, checkoutInfo: Tickets.CheckoutInfo): Promise<Tickets.CheckoutResponse>;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on March 30, 2026. Replace with [createTicketReservation()](https://dev.wix.com/docs/sdk/backend-modules/events/ticket-reservations/create-ticket-reservation).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Tickets.html#reserve)\n         */\n        reserve(eventId: string, tickets: Tickets.TicketSelection[]): Promise<Tickets.ReservationResponse>;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on March 30, 2026. Replace with [updateOrder()](https://dev.wix.com/docs/sdk/backend-modules/events/orders/update-order).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Tickets.html#updateOrder)\n         */\n        updateOrder(eventId: string, orderNumber: string, updateInfo: Tickets.UpdateInfo): Promise<Tickets.UpdateOrderResponse>;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on March 30, 2026. Replace with [getInvoice()](https://dev.wix.com/docs/sdk/backend-modules/events/orders/get-invoice).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Tickets.html#verifyCoupon)\n         */\n        verifyCoupon(eventId: string, reservationId: string, coupon: string): Promise<Tickets.VerifyCouponResponse>;\n    }\n    /**\n     * A registration form for an event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Form.html#)\n     */\n    namespace Form {\n        /**\n         * An object containing information about a label for a complex input field type.\n         */\n        type AdditionalLabel = {\n            /**\n             * Additional label name.\n             */\n            name: string;\n            /**\n             * Additional label value.\n             */\n            label: string;\n        };\n        /**\n         * An object representing an error that occurred during validation of a registration form's fields.\n         */\n        type FieldValidationError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * List of fields that caused the error when the form doesn't pass validation.\n             */\n            fields: string[];\n        };\n        /**\n         * An object representing the details needed to create a registration form for an event.\n         */\n        type FormData = {\n            /**\n             * Information about the input fields needed to create a registration form.\n             */\n            formInputs: Form.InputItem[];\n            /**\n             * Allowed RSVP statuses for an event.\n             *  One of:\n             *\n             *  + `\"YES_AND_NO\"`: Guests can RSVP for the event with a \"Yes\" or \"No\".\n             *  + `\"YES_ONLY\"`: Guests can only RSVP for the event with a \"Yes\".\n             *  + `\"WAITING\"`: The guest limit has been reached, but there is an open wait list.\n             */\n            rsvpStatusOptions: string;\n            /**\n             * Event registration status.\n             *  One of:\n             *\n             *  + `\"OPEN_RSVP\"`: Registration is open and guest limit hasn't been reached.\n             *  + `\"OPEN_RSVP_WAITLIST\"`: Registration is open, guest limit has been reached,\n             *    and additional registering guests are added to the wait list.\n             *  + `\"OPEN_TICKETS\"`: Registration is open for a ticketed event and there are still\n             *    tickets available.\n             *  + `\"OPEN_EXTERNAL\"`: Registration is open for an event that uses external registration,\n             *     not RSVP or ticketed.\n             *  + `\"CLOSED\"`: Registration is closed because the guest limit has been reached.\n             *  + `\"CLOSED_MANUALLY\"`: Registration was closed manually.\n             */\n            registrationStatus: string;\n            /**\n             * Whether the event is a ticketed event.\n             */\n            isTicketed: boolean;\n        };\n        /**\n         * An object containing information about a form value.\n         */\n        type FormValue = {\n            /**\n             * Form field name.\n             */\n            name: string;\n            /**\n             * Form field value.\n             */\n            value: string;\n        };\n        /**\n         * An object containing information about an input field in a registration form.\n         */\n        type InputItem = {\n            /**\n             * Unique input identifier.\n             */\n            _id: string;\n            /**\n             * Whether the input field's value is an array.\n             */\n            array: boolean;\n            /**\n             * Input field display label.\n             */\n            label: string;\n            /**\n             * Additional field display labels for complex fields.\n             */\n            additionalLabels: Form.AdditionalLabel[];\n            /**\n             * List of value options where applicable.\n             */\n            options: string[];\n            /**\n             * Maximum length of the input field's value. A value of `0` indicates no maximum length.\n             */\n            maxLength: number;\n            /**\n             * Input field name.\n             */\n            name: string;\n            /**\n             * Whether the input field is required.\n             */\n            required: boolean;\n            /**\n             * The type of the input field.\n             *  One of:\n             *\n             *  + `\"NAME\"`\n             *  + `\"INPUT\"`\n             *  + `\"RADIO\"`\n             *  + `\"CHECKBOX\"`\n             *  + `\"DROPDOWN\"`\n             *  + `\"GUEST_CONTROL\"`\n             *  + `\"ADDRESS_FULL\"`\n             *  + `\"TEXTAREA\"`\n             *  + `\"DATE\"`\n             */\n            controlType: string;\n        };\n        /**\n         * An object representing the result of a validation.\n         */\n        type ValidationResult = {\n            /**\n             * Indicates that the registration form fields are valid.\n             */\n            valid: boolean;\n        };\n        /**\n         * An object representing an error that occurred during validation of an RSVP form's values.\n         */\n        type ValueValidationError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * ID of the input field that failed validation.\n             */\n            inputId: string;\n            /**\n             * Error type.\n             *  One of:\n             *\n             *  + `\"EMPTY_INPUT\"`: A required field is missing its value.\n             *  + `\"INVALID_INPUT_VALUE\"`: The value isn't valid for the field type.\n             *  + `\"INPUT_TOO_LONG\"`: The value is too long.\n             *  + `\"INVALID_OPTION\"`: The value doesn't match one of the defined options for the field.\n             *  + `\"INVALID_STATUS\"`: The status value isn't valid.\n             *  + `\"INVALID_NUMBER_OF_GUESTS\"`: The number of guests doesn't match the number defined for the form.\n             */\n            errorType: string;\n        };\n    }\n    /**\n     * An object containing RSVP functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Rsvp.html#)\n     */\n    namespace Rsvp {\n        /**\n         * An object representing an error that occurred during an RSVP creation.\n         */\n        type CreationError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * Error type.\n             *  One of:\n             *\n             *  + `\"RSVP_CLOSED\"`: Event registration is closed.\n             *  + `\"GUEST_LIMIT_REACHED\"`: The maximum number of guests has already been reached.\n             *  + `\"MEMBER_ALREADY_REGISTERED\"`: The current registrant is already registered as a guest.\n             *  + `\"WAITING_LIST_UNAVAILABLE\"`: The maximum number of guests has already been reached and\n             *    there is no wait list.\n             *  + `\"UNKNOWN_ERROR\"`: Unknown error.\n             */\n            errorType: string;\n        };\n        /**\n         * An object containing information about form values.\n         */\n        type FormValue = {\n            /**\n             * Form field name.\n             */\n            name: string;\n            /**\n             * Form field value.\n             */\n            value: string;\n        };\n        /**\n         * An object representing a guest on an event RSVP.\n         */\n        type Guest = {\n            /**\n             * Index of the guest in the RSVP guest list. Indices are zero-based.\n             */\n            index: number;\n            /**\n             * Guest ID, which is unique within the RSVP.\n             */\n            id: number;\n            /**\n             * Full name of the guest.\n             */\n            fullName: string;\n        };\n        /**\n         * An object representing an RSVP input value.\n         */\n        type InputValue = {\n            /**\n             * Name of the input.\n             */\n            inputName: string;\n            /**\n             * Value of the input, when there is just 1 value.\n             */\n            value: string;\n            /**\n             * Value of the input, when there are multiple values.\n             */\n            values: string[];\n        };\n        /**\n         * An object representing an RSVP form.\n         */\n        type RsvpForm = {\n            /**\n             * Values that were entered in the RSVP form.\n             */\n            inputValues: Rsvp.InputValue[];\n        };\n        /**\n         * An object representing a response to creating an RSVP.\n         */\n        type RsvpResponse = {\n            /**\n             * RSVP ID\n             */\n            id: string;\n            /**\n             * Whether the guest's personal information has been removed.\n             */\n            anonymized: boolean;\n            /**\n             * Contact ID of the guest who created the RSVP.\n             */\n            contactId: string;\n            /**\n             * Date when the RSVP was created.\n             */\n            createdDate: Date;\n            /**\n             * Email address to the guest who created the RSVP.\n             */\n            email: string;\n            /**\n             * ID of the event the RSVP is for.\n             */\n            eventId: string;\n            /**\n             * First name of the guest who created the RSVP.\n             */\n            firstName: string;\n            /**\n             * Last name of the guest who created the RSVP.\n             */\n            lastName: string;\n            /**\n             * All of the guests included in the RSVP.\n             */\n            guests: RsvpForm.Guest[];\n            /**\n             * A representation of the RSVP form that was created.\n             */\n            rsvpForm: RsvpForm.RsvpForm;\n            /**\n             * Member ID of the guest who created the RSVP form if the guest is a site member.\n             */\n            memberId: string;\n            /**\n             * Date when RSVP was last modified.\n             */\n            updatedDate: Date;\n            /**\n             * RSVP status.\n             */\n            status: string;\n            /**\n             * Total number of guests included in the RSVP.\n             */\n            totalGuests: number;\n        };\n    }\n    /**\n     * **Deprecated:** A form for creating an RSVP to an event.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.RsvpForm.html#)\n     */\n    namespace RsvpForm {\n        /**\n         * **Deprecated:** An object containing information about a label for a complex input field type.\n         */\n        type AdditionalLabel = {\n            /**\n             * Additional label name.\n             */\n            name: string;\n            /**\n             * Additional label value.\n             */\n            label: string;\n        };\n        /**\n         * **Deprecated:** An object representing an error that occurred during validation of an RSVP form's fields.\n         */\n        type FieldValidationError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * List of fields that caused the error when the form does not pass validation.\n             */\n            fields: string[];\n        };\n        /**\n         * **Deprecated:** An object containing information about form value to submit.\n         */\n        type FormValue = {\n            /**\n             * Form field name.\n             */\n            name: string;\n            /**\n             * Form field value.\n             */\n            value: string;\n        };\n        /**\n         * **Deprecated:** An object representing a guest on an event RSVP.\n         */\n        type Guest = {\n            /**\n             * Index of the guest in the RSVP guest list. Indices are zero-based.\n             */\n            index: number;\n            /**\n             * Guest ID, which is unique within the RSVP.\n             */\n            id: number;\n            /**\n             * Full name of the guest.\n             */\n            fullName: string;\n        };\n        /**\n         * **Deprecated:** An object representing a submitted RSVP form input value.\n         */\n        type InputValue = {\n            /**\n             * Name of the form input.\n             */\n            inputName: string;\n            /**\n             * Value of the form input, when there is just one value.\n             */\n            value: string;\n            /**\n             * Value of the form input, when there are multiple values.\n             */\n            values: string[];\n        };\n        /**\n         * **Deprecated:** An object representing the details needed to create an RSVP form for an event.\n         */\n        type RsvpData = {\n            /**\n             * Information about the input fields needed to create an RSVP form.\n             */\n            rsvpFormInputs: RsvpForm.RsvpInputItem[];\n            /**\n             * Allowed RSVP statuses for an event.\n             *  One of:\n             *\n             *  + `\"YES_AND_NO\"`: Guests can RSVP for the event with a \"Yes\" or \"No\".\n             *  + `\"YES_ONLY\"`: Guests can only RSVP for the event with a \"Yes\".\n             *  + `\"WAITING\"`: The guest limit has been reached, but there is an open waitlist.\n             */\n            rsvpStatusOptions: string;\n            /**\n             * Event registration status.\n             *  One of:\n             *\n             *  + `\"OPEN_RSVP\"`: Registration is open and guest limit has not been reached.\n             *  + `\"OPEN_RSVP_WAITLIST\"`: Registration is open, guest limit has been reached,\n             *    and additional registering guests are added to the waitlist.\n             *  + `\"CLOSED\"`: Registration is closed because the guest limit has been reached.\n             *  + `\"CLOSED_MANUALLY\"`: Registration was closed manually.\n             */\n            registrationStatus: string;\n        };\n        /**\n         * **Deprecated:** An object representing a submitted RSVP form.\n         */\n        type RsvpForm = {\n            /**\n             * Values that were entered in the RSVP form.\n             */\n            inputValues: RsvpForm.InputValue[];\n        };\n        /**\n         * **Deprecated:** An object containing information about an input field in an RSVP form.\n         */\n        type RsvpInputItem = {\n            /**\n             * Unique input identifier.\n             */\n            _id: string;\n            /**\n             * Whether the input field's value is an array.\n             */\n            array: boolean;\n            /**\n             * Input field display label.\n             */\n            label: string;\n            /**\n             * Addition field display labels for complex fields.\n             */\n            additionalLabels: RsvpForm.AdditionalLabel[];\n            /**\n             * List of value options where applicable.\n             */\n            options: string[];\n            /**\n             * Maximum length of the input field's value. A value of `0` indicates no maximum length.\n             */\n            maxLength: number;\n            /**\n             * Input field name.\n             */\n            name: string;\n            /**\n             * Whether the input field is required.\n             */\n            required: boolean;\n            /**\n             * The type of the input field.\n             *  One of:\n             *\n             *  + `\"NAME\"`\n             *  + `\"INPUT\"`\n             *  + `\"RADIO\"`\n             *  + `\"CHECKBOX\"`\n             *  + `\"DROPDOWN\"`\n             *  + `\"GUEST_CONTROL\"`\n             *  + `\"ADDRESS_FULL\"`\n             *  + `\"TEXTAREA\"`\n             *  + `\"DATE\"`\n             */\n            controlType: string;\n        };\n        /**\n         * **Deprecated:** An object representing a response to submitting an RSVP.\n         */\n        type RsvpResponse = {\n            /**\n             * RSVP ID\n             */\n            id: string;\n            /**\n             * Indicates whether the guest's personal information has been deleted or not.\n             */\n            anonymized: boolean;\n            /**\n             * Contact ID of the guest who submitted the RSVP form.\n             */\n            contactId: string;\n            /**\n             * Date when the RSVP was submitted.\n             */\n            createdDate: Date;\n            /**\n             * Email address to the guest who submitted the RSVP form.\n             */\n            email: string;\n            /**\n             * ID of the event the RSVP is for.\n             */\n            eventId: string;\n            /**\n             * First name of the guest who submitted the RSVP form.\n             */\n            firstName: string;\n            /**\n             * Last name of the guest who submitted the RSVP form.\n             */\n            lastName: string;\n            /**\n             * All of the guests included in the RSVP.\n             */\n            guests: RsvpForm.Guest[];\n            /**\n             * A representation of the RSVP form that was submitted.\n             */\n            rsvpForm: RsvpForm.RsvpForm;\n            /**\n             * Member ID of the guest who submitted the RSVP form if the guest is a site member.\n             */\n            memberId: string;\n            /**\n             * Date when RSVP was last modified.\n             */\n            updatedDate: Date;\n            /**\n             * RSVP status.\n             */\n            status: string;\n            /**\n             * Total number of guests included in the RSVP.\n             */\n            totalGuests: number;\n        };\n        /**\n         * **Deprecated:** An object representing an error that occurred during an RSVP form submission.\n         */\n        type SubmissionError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * Error type.\n             *  One of:\n             *\n             *  + `\"RSVP_CLOSED\"`: Event registration is closed.\n             *  + `\"GUEST_LIMIT_REACHED\"`: The maximum number of guests has already been reached.\n             *  + `\"MEMBER_ALREADY_REGISTERED\"`: The current registrant is already registered as a guest.\n             *  + `\"WAITING_LIST_UNAVAILABLE\"`: The maximum number of guests has already been reached and\n             *    there is no waitlist.\n             *  + `\"UNKNOWN_ERROR\"`: Unknown error.\n             */\n            errorType: string;\n        };\n        /**\n         * **Deprecated:** An object representing the result of a form validation.\n         */\n        type ValidationResult = {\n            /**\n             * Indicates that the RSVP form fields are valid.\n             */\n            valid: boolean;\n        };\n        /**\n         * **Deprecated:** An object representing an error that occurred during validation of an RSVP form's values.\n         */\n        type ValueValidationError = {\n            /**\n             * Error message.\n             */\n            message: string;\n            /**\n             * ID of the input field that failed validation.\n             */\n            inputId: string;\n            /**\n             * Error type.\n             *  One of:\n             *\n             *  + `\"EMPTY_INPUT\"`: A required field is missing its value.\n             *  + `\"INVALID_INPUT_VALUE\"`: The value is not valid for the field type.\n             *  + `\"INPUT_TOO_LONG\"`: The value is too long.\n             *  + `\"INVALID_OPTION\"`: The value does not match one of the defined options for the field.\n             *  + `\"INVALID_STATUS\"`: The status value is not valid.\n             *  + `\"INVALID_NUMBER_OF_GUESTS\"`: The number of guests does not match the number defined for the form.\n             */\n            errorType: string;\n        };\n    }\n    /**\n     * An object containing ticketing functionality.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-events-frontend.Tickets.html#)\n     */\n    namespace Tickets {\n        /**\n         * An object containing information about a checkout.\n         */\n        type CheckoutInfo = {\n            /**\n             * Field names and values for a registration form.\n             */\n            formValues: Form.FormValue[];\n            /**\n             * Coupon to be used during checkout.\n             */\n            coupon?: string;\n        };\n        /**\n         * An object containing information about a checkout performed with `checkout()`.\n         */\n        type CheckoutResponse = {\n            /**\n             * Ticket reservations.\n             */\n            reservations: Tickets.Reservation[];\n            /**\n             * Ticket order.\n             */\n            order: Tickets.Order;\n            /**\n             * Time the reservations expire.\n             */\n            expirationTime: Date;\n        };\n        /**\n         * An object representing a discount.\n         */\n        type Discount = {\n            /**\n             * Discount amount.\n             */\n            amount: Tickets.Money;\n            /**\n             * Amount after discount.\n             */\n            afterDiscount: Tickets.Money;\n            /**\n             * Discount code.\n             */\n            code: string;\n            /**\n             * Discount name.\n             */\n            name: string;\n            /**\n             * ID of the coupon used in the discount.\n             */\n            couponId: string;\n        };\n        /**\n         * An object containing information about a discount error.\n         */\n        type DiscountError = {\n            /**\n             * Error code.\n             *\n             * One of:\n             *\n             * + `\"ERROR_COUPON_DOES_NOT_EXIST\"`\n             * + `\"ERROR_COUPON_IS_DISABLED\"`\n             * + `\"ERROR_COUPON_USAGE_EXCEEDED\"`\n             * + `\"ERROR_COUPON_HAS_EXPIRED\"`\n             */\n            code: string;\n        };\n        /**\n         * An object containing information about discount errors.\n         */\n        type DiscountErrors = {\n            /**\n             * Invoice the coupon is used in.\n             */\n            error: Tickets.DiscountError[];\n        };\n        /**\n         * An object representing a fee.\n         */\n        type Fee = {\n            /**\n             * Fee name. Value is `\"WIX_FEE\"`: Wix service fee applied to the item.\n             */\n            name: string;\n            /**\n             * Fee calculation method.\n             *  One of:\n             *\n             *  + `\"FEE_ADDED\"`: Fee is added to the ticket price at checkout.\n             *  + `\"FEE_INCLUDED\"`: Seller absorbs the fee. It's deducted from the ticket price.\n             */\n            type: string;\n            /**\n             * Rate percentage. Possible values are between `\"0.01\"` and `\"100\"`, using up to 2 decimal places.\n             */\n            rate: string;\n            /**\n             * Total amount of fee charges.\n             */\n            amount: Tickets.Money;\n        };\n        /**\n         * An object representing a ticket order invoice.\n         */\n        type Invoice = {\n            /**\n             * Invoice items.\n             */\n            items: Tickets.InvoiceItem[];\n            /**\n             * Invoice total.\n             */\n            total: Tickets.Money;\n            /**\n             * Invoice applied discount.\n             */\n            discount?: Tickets.Discount;\n            /**\n             * Invoice tax.\n             */\n            tax?: Tickets.Tax;\n            /**\n             * Invoice subtotal amount before discount, tax, and fees.\n             */\n            subTotal: Tickets.Money;\n            /**\n             * Invoice total amount after discount, tax, and fees.\n             *  Grand total is calculated in the following manner:\n             *\n             *  1. Total price of all items in the cart.\n             *  2. Discount is subtracted from the cart (if applicable).\n             *  3. Tax is added (if applicable).\n             *  4. Wix service fee is added.\n             */\n            grandTotal: Tickets.Money;\n            /**\n             * Invoice applied fee charges.\n             */\n            fees: Tickets.Fee[];\n            /**\n             * Total revenue with taxes, excluding fees. Payment provider fees aren't deducted.\n             */\n            revenue: Tickets.Money;\n        };\n        /**\n         * An object representing a ticket order invoice item.\n         */\n        type InvoiceItem = {\n            /**\n             * Invoice item ID.\n             */\n            id: string;\n            /**\n             * Invoice item quantity.\n             */\n            quantity: number;\n            /**\n             * Invoice item name.\n             */\n            name: string;\n            /**\n             * Invoice item price.\n             */\n            price: Tickets.Money;\n            /**\n             * Invoice item total.\n             */\n            total: Tickets.Money;\n            /**\n             * Invoice item applied discount.\n             */\n            discount?: Tickets.Discount;\n            /**\n             * Invoice item tax.\n             */\n            tax?: Tickets.Tax;\n            /**\n             * Invoice item applied fee charges.\n             */\n            fees: Tickets.Fee[];\n        };\n        /**\n         * An object representing a monetary amount.\n         */\n        type Money = {\n            /**\n             * Decimal amount.\n             */\n            amount: string;\n            /**\n             * ISO 4217 currency format. For example, \"USD\".\n             */\n            currency: string;\n        };\n        /**\n         * An object containing information about a ticket order.\n         */\n        type Order = {\n            /**\n             * Order number.\n             */\n            orderNumber: string;\n            /**\n             * ID of the reservation used in the order.\n             */\n            reservationId: string;\n            /**\n             * ID of the checkout payment.\n             */\n            paymentId: string;\n            /**\n             * ID of the event the tickets are for.\n             */\n            eventId: string;\n            /**\n             * ID of the contact associated with the order.\n             */\n            contactId: string;\n            /**\n             * ID of the member associated with the order.\n             */\n            memberId: string;\n            /**\n             * Time the order was created.\n             */\n            createdDate: string;\n            /**\n             * First name associated with the order.\n             */\n            firstName: string;\n            /**\n             * Last name associated with the order.\n             */\n            lastName: string;\n            /**\n             * Full name associated with the order.\n             */\n            fullName: string;\n            /**\n             * Email address associated with the order.\n             */\n            email: string;\n            /**\n             * Form values used in the order.\n             */\n            checkoutForm: Form.FormValue[];\n            /**\n             * Whether the order is confirmed.\n             */\n            confirmed: boolean;\n            /**\n             * Status of the order.\n             *\n             * One of:\n             *\n             * + `\"INITIATED\"`\n             * + `\"FREE\"`\n             * + `\"PENDING\"`\n             * + `\"PAID\"`\n             * + `\"OFFLINE_PENDING\"`\n             */\n            status: string;\n            /**\n             * Payment method.\n             */\n            paymentMethod: string;\n            /**\n             * Number of tickets in the order.\n             */\n            ticketQuantity: number;\n            /**\n             * Order price.\n             */\n            price: Tickets.Money;\n            /**\n             * URL of the tickets PDF.\n             */\n            ticketsPdf: string;\n            /**\n             * Whether the order is archived.\n             */\n            archived: boolean;\n            /**\n             * Indicates whether personal information has been removed.\n             */\n            anonymized: boolean;\n            /**\n             * Order invoice.\n             */\n            invoice: Tickets.Invoice;\n            /**\n             * Whether all ticket holders in the order have checked in.\n             */\n            fullyCheckedIn: boolean;\n            /**\n             * Transaction ID.\n             */\n            transactionId: string;\n        };\n        /**\n         * An object representing ticket reservations.\n         */\n        type Reservation = {\n            /**\n             * Ticket quantity.\n             */\n            quantity: number;\n            /**\n             * Reserved ticket.\n             */\n            ticket: Tickets.Ticket;\n        };\n        /**\n         * An object containing information about a reservation that was created with `reserve()`.\n         */\n        type ReservationResponse = {\n            /**\n             * Reservation ID.\n             */\n            id: string;\n            /**\n             * Ticket reservations.\n             */\n            reservations: Tickets.Reservation[];\n            /**\n             * Ticket reservations invoice.\n             */\n            invoice: Tickets.Invoice;\n            /**\n             * Time the reservations expire.\n             */\n            expirationTime: Date;\n        };\n        /**\n         * An object representing a tax.\n         */\n        type Tax = {\n            /**\n             * Tax type.\n             *  One of:\n             *\n             *  + `\"INCLUDED\"`: Tax is included in the ticket price.\n             *  + `\"ADDED\"`: Tax is added to the order at checkout.\n             */\n            type: string;\n            /**\n             * Tax name.\n             */\n            name: string;\n            /**\n             * Rate percentage. Possible values are between `\"0.01\"` and `\"100\"`, using up to 2 decimal places.\n             */\n            rate: string;\n            /**\n             * Taxable amount.\n             */\n            taxable: Tickets.Money;\n            /**\n             * Total tax amount.\n             */\n            amount: Tickets.Money;\n        };\n        /**\n         * An object representing a ticket.\n         */\n        type Ticket = {\n            /**\n             * Ticket ID.\n             */\n            _id: number;\n            /**\n             * Ticket price.\n             */\n            price: Tickets.Money;\n            /**\n             * Whether the ticket is free.\n             */\n            free: boolean;\n            /**\n             * Ticket name.\n             */\n            name: string;\n            /**\n             * Ticket description.\n             */\n            description: string;\n            /**\n             * Number of tickets that can be checked out together.\n             *  A value of `0` means there is no limit.\n             */\n            limitPerCheckout: number;\n            /**\n             * Order index.\n             */\n            orderIndex: number;\n            /**\n             * Ticket policy rules.\n             */\n            policy: string;\n            /**\n             * ID of the event the ticket is for.\n             */\n            eventId: string;\n        };\n        /**\n         * An object representing an event ticket.\n         */\n        type TicketSelection = {\n            /**\n             * ID of the ticket.\n             */\n            ticketId: string;\n            /**\n             * Ticket quantity.\n             */\n            quantity: number;\n        };\n        /**\n         * An object containing information about an order update.\n         */\n        type UpdateInfo = {\n            /**\n             * Field names and values for a registration form.\n             */\n            formValues: Form.FormValue[];\n        };\n        /**\n         * An object containing information about an order updated with `updateOrder()`.\n         */\n        type UpdateOrderResponse = {\n            /**\n             * Updated ticket order.\n             */\n            order: Tickets.Order;\n        };\n        /**\n         * An object containing information about a coupon being verified with [`verifyCoupon()`.\n         */\n        type VerifyCouponResponse = {\n            /**\n             * Invoice the coupon is used in.\n             */\n            invoice?: Tickets.Invoice;\n            /**\n             * Discount errors.\n             */\n            discountErrors?: Tickets.DiscountErrors;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-members.d.ts",
      "content": "/**\n * The wix-members module contains functionality\n * for working with your site members from frontend page code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-members.html#)\n */\ndeclare module 'wix-members' {\n    /**\n     * The Authentication API contains functionality for authenticating members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members.html#authentication)\n     */\n    const authentication: Authentication;\n    /**\n     * The CurrentMember API contains functionality for viewing and managing site members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members.html#currentMember)\n     */\n    const currentMember: CurrentMember;\n    /**\n     * The Authentication API contains functionality for authenticating members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#)\n     */\n    interface Authentication {\n        /**\n         * Logs the current member into the site using the given session token.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#applySessionToken)\n         */\n        applySessionToken(sessionToken: string): Promise<void>;\n        /**\n         * Indicates whether the site visitor is a logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#loggedIn)\n         */\n        loggedIn(): boolean;\n        /**\n         * Logs a registered member in with an email and password.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#login)\n         */\n        login(email: string, password: string): Promise<void>;\n        /**\n         * Logs the current member out of the site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#logout)\n         */\n        logout(): void;\n        /**\n         * Sets the function that runs when a member logs in.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#onLogin)\n         */\n        onLogin(handler: Authentication.LoginHandler): void;\n        /**\n         * Sets the function that runs when a member logs out.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#onLogout)\n         */\n        onLogout(handler: Authentication.LogoutHandler): void;\n        /**\n         * Prompts the current site visitor with a password reset modal.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#promptForgotPassword)\n         */\n        promptForgotPassword(): Promise<void>;\n        /**\n         * Prompts the current visitor to log in as a site member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#promptLogin)\n         */\n        promptLogin(options?: Authentication.LoginOptions): Promise<void>;\n        /**\n         * Registers a new site member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#register)\n         */\n        register(email: string, password: string, options?: Authentication.RegistrationOptions): Promise<Authentication.RegistrationResult>;\n        /**\n         * Sends a site member an email with a link to set their password.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#sendSetPasswordEmail)\n         */\n        sendSetPasswordEmail(email: string, options?: Authentication.SetPasswordEmailOptions): Promise<boolean>;\n    }\n    /**\n     * The CurrentMember API contains functionality for viewing and managing site members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members.CurrentMember.html#)\n     */\n    interface CurrentMember {\n        /**\n         * Retrieves the currently logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.CurrentMember.html#getMember)\n         */\n        getMember(options?: CurrentMember.FieldsetOptions): Promise<CurrentMember.Member>;\n        /**\n         * Retrieves the member's roles.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.CurrentMember.html#getRoles)\n         */\n        getRoles(): Promise<CurrentMember.Role[]>;\n        /**\n         * Removes the currently logged-in member from the site community and sets their profile to private.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.CurrentMember.html#makeProfilePrivate)\n         */\n        makeProfilePrivate(): Promise<CurrentMember.Member>;\n        /**\n         * Joins the currently logged-in member to the site community and sets their profile to public.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members.CurrentMember.html#makeProfilePublic)\n         */\n        makeProfilePublic(): Promise<CurrentMember.Member>;\n    }\n    /**\n     * The Authentication API contains functionality for authenticating members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members.Authentication.html#)\n     */\n    namespace Authentication {\n        /**\n         * An object that contains information about a site contact.\n         */\n        type ContactInfo = {\n            /**\n             * Contact's first name.\n             */\n            firstName?: string;\n            /**\n             * Contact's last name.\n             */\n            lastName?: string;\n            /**\n             * Contact's image source URL.\n             */\n            picture?: string;\n            /**\n             * List of contact's email addresses.\n             *  When creating a contact, if no phone number is\n             *  provided, at least 1 email address must be provided.\n             */\n            emails?: string[];\n            /**\n             * List of contact's phone numbers.\n             *  When creating a contact, if no email is\n             *  provided, at least 1 phone number must be provided.\n             */\n            phones?: string[];\n            /**\n             * List of contact's labels. [Labels](https://support.wix.com/en/article/creating-contact-labels)\n             *  are used to organize contacts. When setting the `labels` property, you can\n             *  only list labels that already exist in your site's [Contact List](https://support.wix.com/en/article/accessing-your-contact-list).\n             */\n            labels?: string[];\n            /**\n             * Contact's language.\n             */\n            language?: string;\n            /**\n             * Any\n             *  number of custom fields. [Custom fields](https://support.wix.com/en/article/adding-custom-fields-to-contacts)\n             *  are used to store additional information about your site's contacts. When\n             *  setting a custom field, use a key:value pair. The key must match one of the `key` properties of the [objects](wix-crm-backend/contacts/extendedfieldsqueryresult/items)\n             *  returned by [queryExtendedFields()](/wix-crm-backend/contacts/queryextendedfields) with the `custom.` prefix removed.\n             *  You can only set values for custom fields that already exist in the Contacts\n             *  application.\n             */\n            customFields?: string | number | Date;\n        };\n        type LoginOptions = {\n            /**\n             * Whether to display the `\"login\"` or `\"signup\"` prompt.\n             *\n             * Defaults to `\"signup\"`.\n             */\n            mode?: string;\n            /**\n             * Whether the login form should be modal (`true`)\n             * or full screen (`false`).\n             *\n             * Defaults to `false` (full screen).\n             */\n            modal?: boolean;\n        };\n        /**\n         * An object that contains information about a site registration.\n         */\n        type RegistrationOptions = {\n            /**\n             * Contact information.\n             */\n            contactInfo?: Authentication.ContactInfo;\n            /**\n             * Sets the [privacy status](https://support.wix.com/en/article/member-privacy-settings-for-groups) of a new member upon registration.\n             * One of:\n             *\n             *  - `\"PUBLIC\"`: Sets the new member status to public. A member whose status is public is a member of the site's community.\n             *  - `\"PRIVATE\"`: Sets the new member status to private. A member whose status is private is not a member of the site's community.\n             *\n             * Defaults to `\"PRIVATE\"`.\n             */\n            privacyStatus?: string;\n        };\n        type RegistrationResult = {\n            /**\n             * Registration status.\n             *\n             * One of:\n             *\n             * - `\"PENDING\"`: The member must be approved before they can log in to the site.\n             * - `\"ACTIVE\"`: The member is approved and can log in to the site.\n             */\n            status: string;\n            /**\n             * Token for approving the member\n             * with the [`approveByToken()`](wix-members-backend/authentication/approveByToken)\n             * function. `approvalToken` is safe to pass via email or from page code to\n             * backend code.\n             *\n             * Returned when `status` is `\"PENDING\"`.\n             */\n            approvalToken?: string;\n            /**\n             * The registered member.\n             *\n             * Returned when `status` is `\"ACTIVE\"`.\n             */\n            member?: CurrentMember.Member;\n        };\n        type SetPasswordEmailOptions = {\n            /**\n             * Whether to hide the \"ignore this email\" message.\n             *\n             * If `false`, the email tells the member\n             * they can safely ignore\n             * if they did not request the password change.\n             *\n             * Defaults to `false`.\n             */\n            hideIgnoreMessage?: boolean;\n        };\n        type LoginHandler = (currentMember: CurrentMember) => void;\n        type LogoutHandler = () => void;\n    }\n    /**\n     * The CurrentMember API contains functionality for viewing and managing site members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members.CurrentMember.html#)\n     */\n    namespace CurrentMember {\n        type Address = {\n            /**\n             * Street address ID.\n             */\n            _id?: string;\n            /**\n             * Street address object, with number and name in separate fields.\n             */\n            streetAddress?: CurrentMember.StreetAddress;\n            /**\n             * Main address line, usually street and number, as free text.\n             */\n            addressLine?: string;\n            /**\n             * Free text providing more detailed address information,\n             *  such as apartment, suite, or floor.\n             */\n            addressLine2?: string;\n            /**\n             * City name.\n             */\n            city?: string;\n            /**\n             * Code for a subdivision (such as state, prefecture, or province) in an\n             * [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n             */\n            subdivision?: string;\n            /**\n             * 2-letter country code in an\n             * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n             */\n            country?: string;\n            /**\n             * Postal code.\n             */\n            postalCode?: string;\n        };\n        /**\n         * Member's contact information. Contact information is stored in the\n         */\n        type ContactDetails = {\n            /**\n             * Contact's first name.\n             */\n            firstName?: string;\n            /**\n             * Contact's last name.\n             */\n            lastName?: string;\n            /**\n             * List of phone numbers.\n             */\n            phones: string[];\n            /**\n             * List of email addresses.\n             */\n            emails: string[];\n            /**\n             * List of street addresses.\n             */\n            addresses: CurrentMember.Address[];\n            /**\n             * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n             *\n             *  For example, `\"2025-03-15\"` for March 15, 2025.\n             */\n            birthdate?: string;\n            /**\n             * Contact's company name.\n             */\n            company?: string;\n            /**\n             * Contact's job title.\n             */\n            jobTitle?: string;\n            /**\n             * Custom fields,\n             * [structured as key:object pairs](wix-members/introduction#data-structure).\n             * Custom field IDs are defined in the\n             * [Contacts Extended Fields API](wix-crm-backend/contacts).\n             * The paired object contains the `name` and `value` properties,\n             * where `name` is the display name and `value` is the value stored for the member.\n             *\n             * Only custom fields\n             * [added to the member profile in the Dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmembers-account)\n             * are available through the Members API.\n             * Empty fields are not returned.\n             *\n             * When updating a member, `name` is ignored.\n             */\n            customFields: object;\n        };\n        type FieldsetOptions = {\n            /**\n             * Predefined sets of fields to return.\n             * When multiple fieldsets are provided, the union of all the included fields is returned.\n             *\n             * Predefined fieldsets are one of:\n             *\n             * - `\"FULL\"`: Returns all fields.\n             * - `\"PUBLIC\"`: Returns `_id` and all fields under `profile`. With this fieldset, `profile.status`, `profile.privacyStatus`, and `profile.activityStatus` are returned as `\"UNKNOWN\"`.\n             *\n             * Defaults to `[ \"FULL\" ]`.\n             */\n            fieldsets: string[];\n        };\n        /**\n         * Member's profile photo.\n         */\n        type Image = {\n            /**\n             * **Deprecated.** Wix Media image ID,\n             *  set when the member selects an image from Wix Media.\n             */\n            _id: string;\n            /**\n             * Image URL.\n             */\n            url: string;\n            /**\n             * Original image width.\n             */\n            height: number;\n            /**\n             * Original image height.\n             */\n            width: number;\n            /**\n             * X-axis offset.\n             *\n             *  Defaults to `0`.\n             */\n            offsetX: number;\n            /**\n             * Y-axis offset.\n             *\n             *  Defaults to `0`.\n             */\n            offsetY: number;\n        };\n        /**\n         * Updated member.\n         */\n        type Member = {\n            /**\n             * Member ID.\n             */\n            _id: string;\n            /**\n             * Email used by the member to log in to the site.\n             */\n            loginEmail?: string;\n            /**\n             * Member site access status.\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"PENDING\"`: Member created and is waiting for approval by site owner.\n             * - `\"APPROVED\"`: Member can log in to the site.\n             * - `\"OFFLINE\"`: Member is a [guest author](https://support.wix.com/en/article/wix-blog-adding-guest-authors-to-your-blog) for the site blog and cannot log in to the site.\n             * - `\"BLOCKED\"`: Member is blocked and cannot log in to the site.\n             * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n             *\n             */\n            status: string;\n            /**\n             * Contact ID.\n             */\n            contactId: string;\n            /**\n             * Member privacy status.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"PUBLIC\"`: Member is visible to everyone.\n             * - `\"PRIVATE\"`: Member is hidden from site visitors and other site members. Member is returned only to site contributors and apps with the appropriate permissions.\n             * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n             *\n             */\n            privacyStatus: string;\n            /**\n             * Member activity status.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"ACTIVE\"`: Member can write forum posts and blog comments.\n             * - `\"MUTED\"`: Member cannot write forum posts or blog comments.\n             * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n             *\n             */\n            activityStatus: string;\n            /**\n             * Date and time when the member was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time when the member was updated.\n             */\n            _updatedDate: Date;\n            /**\n             * Date and time when the member last logged in to the site.\n             */\n            lastLoginDate?: Date;\n            /**\n             * Member's contact information. Contact information is stored in the\n             * [Contact List](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n             *\n             *\n             */\n            contactDetails?: CurrentMember.ContactDetails;\n            /**\n             * Profile display info.\n             */\n            profile: CurrentMember.Profile;\n        };\n        /**\n         * Profile display info.\n         */\n        type Profile = {\n            /**\n             * Name that identifies the member to other members.\n             * Displayed on the member's profile page\n             * and interactions in the forum or blog.\n             */\n            nickname: string;\n            /**\n             * Slug that determines the member's profile page URL.\n             */\n            slug: string;\n            /**\n             * Member's profile photo.\n             */\n            profilePhoto?: CurrentMember.Image;\n            /**\n             * Member's profile photo.\n             */\n            coverPhoto?: CurrentMember.Image;\n            /**\n             * Member title.\n             *\n             *\n             */\n            title?: string;\n        };\n        type Role = {\n            /**\n             * Role ID.\n             */\n            _id: string;\n            /**\n             * Role name as defined in the site's\n             *  [Member Permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/roles)\n             *  page or one of `\"Admin\"` or `\"Member\"`.\n             */\n            title: string;\n            /**\n             * Role description, if defined in the site's dashboard.\n             */\n            description?: string;\n            /**\n             * Role color, as defined in the site's\n             * [Member Permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/roles)\n             * page.\n             *\n             * One of:\n             *\n             * - `\"DARK_BLUE\"`\n             * - `\"LIGHT_BLUE\"`\n             * - `\"TEAL\"`\n             * - `\"LIGHT_GREEN\"`\n             * - `\"YELLOW\"`\n             * - `\"ORANGE\"`\n             * - `\"RED\"`\n             * - `\"VIOLET\"`\n             * - `\"PURPLE\"`\n             */\n            color: string;\n            /**\n             * Date and time the role was created.\n             */\n            _createdDate?: Date;\n        };\n        /**\n         * Street address object, with number and name in separate fields.\n         */\n        type StreetAddress = {\n            /**\n             * Street number.\n             */\n            number: string;\n            /**\n             * Street name.\n             */\n            name: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-members-frontend.d.ts",
      "content": "/**\n * The wix-members-frontend module contains functionality\n * for working with a site's members from frontend page code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.html#)\n */\ndeclare module 'wix-members-frontend' {\n    /**\n     * The Authentication API contains functionality for authenticating members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.html#authentication)\n     */\n    const authentication: Authentication;\n    /**\n     * The Current Member API contains functionality for viewing and managing site members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.html#currentMember)\n     */\n    const currentMember: CurrentMember;\n    /**\n     * The Authentication API contains functionality for authenticating members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#)\n     */\n    interface Authentication {\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on September 30, 2026. Replace with [applySessionToken()](https://dev.wix.com/docs/sdk/host-modules/site/authentication/apply-session-token).\n         * Logs the current member into the site using the specified session token\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#applySessionToken)\n         */\n        applySessionToken(sessionToken: string): Promise<void>;\n        /**\n         * Changes the member's password to a new one, using a reset token.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#changePassword)\n         */\n        changePassword(newPassword: string, token: string): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on September 30, 2026. Replace with [loggedIn()](https://dev.wix.com/docs/sdk/host-modules/site/authentication/logged-in).\n         * Indicates whether the current site visitor is a logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#loggedIn)\n         */\n        loggedIn(): boolean;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on September 30, 2026. Replace with [login()](https://dev.wix.com/docs/sdk/host-modules/site/authentication/login).\n         * Logs a registered member in with an email and password.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#login)\n         */\n        login(email: string, password: string): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on September 30, 2026. Replace with [logout()](https://dev.wix.com/docs/sdk/host-modules/site/authentication/logout).\n         * Logs the current member out of the site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#logout)\n         */\n        logout(): void;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on September 30, 2026. Replace with [onLogin()](https://dev.wix.com/docs/sdk/host-modules/site/authentication/on-login).\n         * Sets the method that runs when a member logs in.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#onLogin)\n         */\n        onLogin(handler: Authentication.LoginHandler): void;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on September 30, 2026. Replace with [onLogout()](https://dev.wix.com/docs/sdk/host-modules/site/authentication/on-logout).\n         * Sets the method that runs when a member logs out.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#onLogout)\n         */\n        onLogout(handler: Authentication.LogoutHandler): void;\n        /**\n         * Prompts the current site visitor with a password reset modal.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#promptForgotPassword)\n         */\n        promptForgotPassword(): Promise<void>;\n        /**\n         * Prompts the current visitor to log in as a site member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#promptLogin)\n         */\n        promptLogin(options?: Authentication.LoginOptions): Promise<void>;\n        /**\n         * **Deprecated.**\n         * This method will be deprecated on September 30, 2026. Replace with [register()](https://dev.wix.com/docs/sdk/backend-modules/identity/authentication/register-v2).\n         * Registers a new site member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#register)\n         */\n        register(email: string, password: string, options?: Authentication.RegistrationOptions): Promise<Authentication.RegistrationResult>;\n        /**\n         * Resends a one-time password (OTP) for email verification.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#resendVerificationCodeEmail)\n         */\n        resendVerificationCodeEmail(): Promise<void>;\n        /**\n         * Sends a site member an email with a link to set their password.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#sendResetPasswordEmail)\n         */\n        sendResetPasswordEmail(email: string): Promise<void>;\n        /**\n         * Sends a site member an email with a link to set their password.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#sendSetPasswordEmail)\n         */\n        sendSetPasswordEmail(email: string, options?: Authentication.SetPasswordEmailOptions): Promise<boolean>;\n        /**\n         * Validates the email address using OTP (One-Time Password) that was sent during the registration.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#verifyEmail)\n         */\n        verifyEmail(code: string): Promise<void>;\n    }\n    /**\n     * The Current Member API contains functionality for viewing and managing site members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.CurrentMember.html#)\n     */\n    interface CurrentMember {\n        /**\n         * Retrieves the currently logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.CurrentMember.html#getMember)\n         */\n        getMember(options?: CurrentMember.FieldsetOptions): Promise<CurrentMember.Member>;\n        /**\n         * Retrieves the member's roles.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.CurrentMember.html#getRoles)\n         */\n        getRoles(): Promise<CurrentMember.Role[]>;\n        /**\n         * Removes the currently logged-in member from the site community and sets their profile to private.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.CurrentMember.html#makeProfilePrivate)\n         */\n        makeProfilePrivate(): Promise<CurrentMember.Member>;\n        /**\n         * Joins the currently logged-in member to the site community and sets their profile to public.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.CurrentMember.html#makeProfilePublic)\n         */\n        makeProfilePublic(): void;\n    }\n    /**\n     * The Authentication API contains functionality for authenticating members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.Authentication.html#)\n     */\n    namespace Authentication {\n        /**\n         * An object that contains information about a site contact.\n         */\n        type ContactInfo = {\n            /**\n             * Contact's first name.\n             */\n            firstName?: string;\n            /**\n             * Contact's last name.\n             */\n            lastName?: string;\n            /**\n             * Contact's image source URL.\n             */\n            picture?: string;\n            /**\n             * List of contact's email addresses.\n             *  When creating a contact, if no phone number is\n             *  provided, at least 1 email address must be provided.\n             */\n            emails?: string[];\n            /**\n             * List of contact's phone numbers.\n             *  When creating a contact, if no email is\n             *  provided, at least 1 phone number must be provided.\n             */\n            phones?: string[];\n            /**\n             * Contact's language.\n             */\n            language?: string;\n            /**\n             * Any number of custom fields.\n             *\n             *  Custom fields ([SDK](https://dev.wix.com/docs/sdk/frontend-modules/members/custom-fields) | [Velo](https://dev.wix.com/docs/velo/apis/wix-members-frontend/custom-fields))\n             *  are used to store additional information about a site's contacts.\n             *\n             *  >**Note:** `customFields` is not the name of a field in the `contactInfo` object. Here, it represents any custom fields that you've chosen to implement.\n             */\n            customFields?: string | number | Date;\n        };\n        type LoginOptions = {\n            /**\n             * Whether to display the `\"login\"` or `\"signup\"` prompt.\n             *\n             * Defaults to `\"signup\"`.\n             */\n            mode?: string;\n            /**\n             * Whether the login form should be modal (`true`)\n             * or full screen (`false`).\n             *\n             * Defaults to `false` (full screen).\n             */\n            modal?: boolean;\n        };\n        /**\n         * An object that contains information about a site registration.\n         */\n        type RegistrationOptions = {\n            /**\n             * Contact information.\n             */\n            contactInfo?: Authentication.ContactInfo;\n            /**\n             * Sets the [privacy status](https://support.wix.com/en/article/wix-groups-member-privacy-settings-for-groups) of a new member upon registration.\n             * One of:\n             *\n             *  - `\"PUBLIC\"`: Sets the new member status to public. A member whose status is public is a member of the site's community.\n             *  - `\"PRIVATE\"`: Sets the new member status to private. A member whose status is private is not a member of the site's community.\n             *\n             * Defaults to `\"PRIVATE\"`.\n             */\n            privacyStatus?: string;\n        };\n        type RegistrationResult = {\n            /**\n             * Registration status.\n             *\n             * One of:\n             *\n             * - `\"PENDING\"`: The member must be approved before they can log in to the site.\n             * - `\"ACTIVE\"`: The member is approved and can log in to the site.\n             */\n            status: string;\n            /**\n             * Token for approving the member\n             * with [`approveByToken()`](https://dev.wix.com/docs/velo/apis/wix-members-backend/authentication/approve-by-token).\n             * `approvalToken` is safe to pass via email or from page code to backend code.\n             *\n             * Returned when `status` is `\"PENDING\"`.\n             */\n            approvalToken?: string;\n            /**\n             * The registered member.\n             *\n             * Returned when `status` is `\"ACTIVE\"`.\n             */\n            member?: CurrentMember.Member;\n        };\n        type SetPasswordEmailOptions = {\n            /**\n             * Whether to hide the \"ignore this email\" message.\n             *\n             * If `false`, the email tells the member\n             * they can safely ignore if they didn't request the password change.\n             *\n             * Default: `false`\n             */\n            hideIgnoreMessage?: boolean;\n        };\n        type LoginHandler = (currentMember: CurrentMember) => void;\n        type LogoutHandler = () => void;\n    }\n    /**\n     * The Current Member API contains functionality for viewing and managing site members from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-members-frontend.CurrentMember.html#)\n     */\n    namespace CurrentMember {\n        type Address = {\n            /**\n             * Street address ID.\n             */\n            _id?: string;\n            /**\n             * Street address object, with number and name in separate fields.\n             */\n            streetAddress?: CurrentMember.StreetAddress;\n            /**\n             * Main address line, usually street and number, as free text.\n             */\n            addressLine?: string;\n            /**\n             * Free text providing more detailed address information,\n             *  such as apartment, suite, or floor.\n             */\n            addressLine2?: string;\n            /**\n             * City name.\n             */\n            city?: string;\n            /**\n             * Code for a subdivision (such as state, prefecture, or province) in an\n             * [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n             */\n            subdivision?: string;\n            /**\n             * 2-letter country code in an\n             * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n             */\n            country?: string;\n            /**\n             * Postal code.\n             */\n            postalCode?: string;\n        };\n        /**\n         * Member's contact information. Contact information is stored in the\n         */\n        type ContactDetails = {\n            /**\n             * Contact's first name.\n             */\n            firstName?: string;\n            /**\n             * Contact's last name.\n             */\n            lastName?: string;\n            /**\n             * List of phone numbers.\n             */\n            phones: string[];\n            /**\n             * List of email addresses.\n             */\n            emails: string[];\n            /**\n             * List of street addresses.\n             */\n            addresses: CurrentMember.Address[];\n            /**\n             * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n             *\n             *  For example, `\"2025-03-15\"` for March 15, 2025.\n             */\n            birthdate?: string;\n            /**\n             * Contact's company name.\n             */\n            company?: string;\n            /**\n             * Contact's job title.\n             */\n            jobTitle?: string;\n            /**\n             * Custom fields, structured as `key:object` pairs.\n             *\n             * Custom field IDs are defined in the\n             * Extended Fields API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/extended-fields/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/extended-fields/introduction)).\n             * The paired object contains the `name` and `value` properties,\n             * where `name` is the display name and `value` is the value stored for the member.\n             *\n             * Only custom fields\n             * [added to the member profile in a dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmembers-account)\n             * are available through the Members API.\n             * Empty fields aren't returned.\n             *\n             * When updating a member, `name` is ignored.\n             */\n            customFields: object;\n        };\n        type FieldsetOptions = {\n            /**\n             * Predefined sets of fields to return.\n             * When multiple fieldsets are provided, the union of all the included fields is returned.\n             *\n             * Predefined fieldsets are one of:\n             *\n             * - `\"FULL\"`: Returns all fields.\n             * - `\"PUBLIC\"`: Returns `_id` and all fields under `profile`. With this fieldset, `profile.status`, `profile.privacyStatus`, and `profile.activityStatus` are returned as `\"UNKNOWN\"`.\n             *\n             * Defaults to `[ \"FULL\" ]`.\n             */\n            fieldsets: string[];\n        };\n        /**\n         * Member's profile photo.\n         */\n        type Image = {\n            /**\n             * Image URL.\n             */\n            url: string;\n            /**\n             * Original image width.\n             */\n            height: number;\n            /**\n             * Original image height.\n             */\n            width: number;\n            /**\n             * X-axis offset.\n             *\n             *  Defaults to `0`.\n             */\n            offsetX: number;\n            /**\n             * Y-axis offset.\n             *\n             *  Defaults to `0`.\n             */\n            offsetY: number;\n        };\n        /**\n         * Updated member.\n         */\n        type Member = {\n            /**\n             * Member ID.\n             */\n            _id: string;\n            /**\n             * Email used by the member to log in to the site.\n             */\n            loginEmail?: string;\n            /**\n             * Member site access status.\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"PENDING\"`: Member created and is waiting for approval by a Wix user.\n             * - `\"APPROVED\"`: Member can log in to the site.\n             * - `\"OFFLINE\"`: Member is a [guest author](https://support.wix.com/en/article/wix-blog-adding-managed-writers-to-your-blog) for the site blog and can't log in to the site.\n             * - `\"BLOCKED\"`: Member is blocked and can't log in to the site.\n             * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n             *\n             */\n            status: string;\n            /**\n             * Contact ID.\n             */\n            contactId: string;\n            /**\n             * Member privacy status.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"PUBLIC\"`: Member is visible to everyone.\n             * - `\"PRIVATE\"`: Member is hidden from site visitors and other site members. Member is returned only to Wix users and apps with the appropriate permissions.\n             * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n             *\n             */\n            privacyStatus: string;\n            /**\n             * Member activity status.\n             *\n             *\n             *\n             *\n             * One of:\n             *\n             * - `\"ACTIVE\"`: Member can write forum posts and blog comments.\n             * - `\"MUTED\"`: Member can't write forum posts or blog comments.\n             * - `\"UNKNOWN\"`: Insufficient permissions to get the status.\n             *\n             */\n            activityStatus: string;\n            /**\n             * Date and time when the member was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time when the member was updated.\n             */\n            _updatedDate: Date;\n            /**\n             * Date and time when the member last logged in to the site.\n             */\n            lastLoginDate?: Date;\n            /**\n             * Member's contact information. Contact information is stored in the\n             * [Contact List](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fcontacts).\n             *\n             *\n             */\n            contactDetails?: CurrentMember.ContactDetails;\n            /**\n             * Profile display info.\n             */\n            profile: CurrentMember.Profile;\n        };\n        /**\n         * Profile display info.\n         */\n        type Profile = {\n            /**\n             * Name that identifies the member to other members.\n             * Displayed on the member's profile page and interactions in the forum or blog.\n             */\n            nickname: string;\n            /**\n             * Slug that determines the member's profile page URL.\n             */\n            slug: string;\n            /**\n             * Member's profile photo.\n             */\n            profilePhoto?: CurrentMember.Image;\n            /**\n             * Member's profile photo.\n             */\n            coverPhoto?: CurrentMember.Image;\n            /**\n             * Member title.\n             *\n             *\n             */\n            title?: string;\n        };\n        type Role = {\n            /**\n             * Role ID.\n             */\n            _id: string;\n            /**\n             * Role name as defined in the site's\n             *  [Member Permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/roles)\n             *  page or one of `\"Admin\"` or `\"Member\"`.\n             */\n            title: string;\n            /**\n             * Role description, if defined in the site's dashboard.\n             */\n            description?: string;\n            /**\n             * Role color, as defined in the site's\n             * [Member Permissions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fmember-permissions/roles)\n             * page.\n             *\n             * One of:\n             *\n             * - `\"DARK_BLUE\"`\n             * - `\"LIGHT_BLUE\"`\n             * - `\"TEAL\"`\n             * - `\"LIGHT_GREEN\"`\n             * - `\"YELLOW\"`\n             * - `\"ORANGE\"`\n             * - `\"RED\"`\n             * - `\"VIOLET\"`\n             * - `\"PURPLE\"`\n             */\n            color: string;\n            /**\n             * Date and time the role was created.\n             */\n            _createdDate?: Date;\n        };\n        /**\n         * Street address object, with number and name in separate fields.\n         */\n        type StreetAddress = {\n            /**\n             * Street number.\n             */\n            number: string;\n            /**\n             * Street name.\n             */\n            name: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-mobile.d.ts",
      "content": "/**\n * The `wix-mobile` module contains functionality for working with a mobile app.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-mobile.html#)\n */\ndeclare module 'wix-mobile' {\n    /**\n     * The Wix App Framework API contains functionality for working with a mobile app.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-mobile.html#appFramework)\n     */\n    const appFramework: AppFramework;\n    /**\n     * The `wix-mobile` module contains functionality for working with a mobile app.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-mobile.AppFramework.html#)\n     */\n    interface AppFramework {\n        /**\n         * Creates and opens a list of selectable actions on a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-mobile.AppFramework.html#showActionSheet)\n         */\n        showActionSheet(actions: AppFramework.ActionSheetActions[], headerOptions?: AppFramework.HeaderOptions): Promise<AppFramework.ActionSheetResult>;\n        /**\n         * Creates and opens an alert modal on a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-mobile.AppFramework.html#showAlert)\n         */\n        showAlert(title: string, message: string, actions: AppFramework.Actions): Promise<AppFramework.AlertResult>;\n        /**\n         * Opens a file picker that allows an app user to upload media to the app's [media manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-mobile.AppFramework.html#showFileUploadPicker)\n         */\n        showFileUploadPicker(fileType?: string, options?: AppFramework.FilePickerOptions): Promise<AppFramework.File[]>;\n        /**\n         * Displays an in-app notification.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-mobile.AppFramework.html#showInAppNotification)\n         */\n        showInAppNotification(body: string, options?: AppFramework.InAppNotificationOptions): Promise<AppFramework.InAppNotificationResult>;\n        /**\n         * Displays a toast notification for a mobile app.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-mobile.AppFramework.html#showToastNotification)\n         */\n        showToastNotification(body: string, type?: string, actionLabel?: string): Promise<AppFramework.ToastNotificationResult>;\n    }\n    /**\n     * The `wix-mobile` module contains functionality for working with a mobile app.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-mobile.AppFramework.html#)\n     */\n    namespace AppFramework {\n        /**\n         * Action sheet actions.\n         */\n        type ActionSheetActions = {\n            /**\n             * Key to identify the action.\n             */\n            key: string;\n            /**\n             * Action title.\n             */\n            title: string;\n            /**\n             * Action subtitle.\n             */\n            subtitle?: string;\n            /**\n             * Type of action. The supported values are found in the `ActionSheetActionsType` property in `appFramework`. Supported values:\n             * - `appFramework.ActionSheetActionTypes.DEFAULT`: Standard options styled in a neutral way.\n             * - `appFramework.ActionSheetActionTypes.PROMINENT`: Typically used for the most important option. It is styled to stand out visually.\n             * - `appFramework.ActionSheetActionTypes.DESTRUCTIVE`: Typically used for options that may cause significant changes, such as \"delete\". Only one action can be `destructive`.\n             * - `appFramework.ActionSheetActionTypes.CANCEL`: Used to dismiss the action sheet without selecting an action.\n             *\n             * Default: `appFramework.ActionSheetActionTypes.DEFAULT`\n             */\n            type?: string;\n        };\n        /**\n         * Action sheet result.\n         */\n        type ActionSheetResult = {\n            /**\n             * Supported values:\n             * - `actionSelected`: The app user selected an action.\n             * - `dismissed`: The notification was dismissed by the app user swiping it.\n             */\n            result: string;\n            /**\n             * Key of the selected action. Only defined if `result` is `actionSelected`.\n             */\n            actionKey: string;\n        };\n        /**\n         * Alert actions.\n         */\n        type Actions = {\n            /**\n             * Positive alert action.\n             */\n            positive: AppFramework.PositiveAction;\n            /**\n             * Negative alert action.\n             */\n            negative?: AppFramework.NegativeAction;\n            /**\n             * Neutral alert action.\n             */\n            neutral?: AppFramework.NeutralAction;\n        };\n        /**\n         * Alert's result based on the app user's selected action.\n         */\n        type AlertResult = {\n            /**\n             * Unique key for identifying the selected action.\n             */\n            key: string;\n        };\n        /**\n         * File.\n         */\n        type File = {\n            /**\n             * File name.\n             */\n            name: string;\n            /**\n             * File type.\n             */\n            fileType: string;\n            /**\n             * Size of the file in bytes.\n             */\n            sizeInBytes: number;\n            /**\n             * Wix media URL. If the files isn't uploaded, this property is undefined.\n             */\n            url: string;\n        };\n        /**\n         * File picker options.\n         */\n        type FilePickerOptions = {\n            /**\n             * Maximum number of files that can be uploaded.\n             */\n            fileLimit?: number;\n            /**\n             * Whether to allow the app user to use the device's camera to provide files. If neither `showCamera` nor `showDeviceMedia` is defined as `true`, `showDeviceMedia` defaults to `true` and `showCamera` defaults to `false`.\n             */\n            showCamera?: boolean;\n            /**\n             * Whether to allow the app user to use the device's media to provide files. If neither `showCamera` nor `showDeviceMedia` is defined as `true`, `showDeviceMedia` defaults to `true` and `showCamera` defaults to `false`.\n             */\n            showDeviceMedia?: boolean;\n        };\n        /**\n         * Action sheet header.\n         */\n        type HeaderOptions = {\n            /**\n             * Action sheet title.\n             */\n            title?: string;\n            /**\n             * Action sheet subtitle.\n             */\n            subtitle?: string;\n        };\n        /**\n         * In-app notification options.\n         */\n        type InAppNotificationOptions = {\n            /**\n             * Notification title.\n             */\n            title?: string;\n            /**\n             * Wix Media URL of an [image](https://dev.wix.com/docs/velo/api-reference/$w/image/introduction) to display in the notification. If `image` and `avatarImage` are both defined, `image` is used.\n             */\n            image?: string;\n            /**\n             * Wix Media URL of an [image](https://dev.wix.com/docs/velo/api-reference/$w/image/introduction) to display in the notification, cropped to a circle. If `image` and `avatarImage` are both defined, `image` is used.\n             */\n            avatarImage?: string;\n        };\n        /**\n         * In-app notification result.\n         */\n        type InAppNotificationResult = {\n            /**\n             * Supported values:\n             * - `pressed`: The notification was pressed.\n             * - `dismissed`: The notification was dismissed by the app user swiping it.\n             */\n            result: string;\n        };\n        /**\n         * Negative alert action.\n         */\n        type NegativeAction = {\n            /**\n             * The negative action button's label. For example, 'Delete'.\n             */\n            label: string;\n            /**\n             * Unique key for identifying a negative action. For example, 'delete'.\n             */\n            key: string;\n            /**\n             * **For iOs only.** Whether the action is classified as destructive. If `true`, the action is formatted to indicate to the app user to carefully consider whether to press the action button.\n             */\n            destructive?: boolean;\n        };\n        /**\n         * Neutral alert action.\n         */\n        type NeutralAction = {\n            /**\n             * The neutral action button's label. For example, 'Remind Me Later'.\n             */\n            label: string;\n            /**\n             * Unique key for identifying a neutral action. For example, 'later'.\n             */\n            key: string;\n            /**\n             * **For iOs only.** Whether the action is classified as destructive. If `true`, the action is formatted to indicate to the app user to carefully consider whether to press the action button.\n             */\n            destructive?: boolean;\n        };\n        /**\n         * Positive alert action.\n         */\n        type PositiveAction = {\n            /**\n             * The positive action button's label. For example, 'Save Now'.\n             */\n            label: string;\n            /**\n             * Unique key for identifying a positive action. For example, 'save'.\n             */\n            key: string;\n            /**\n             * **For iOs only.** Whether the action is classified as destructive. If `true`, the action is formatted to indicate to the app user to carefully consider whether to press the action button.\n             */\n            destructive?: boolean;\n        };\n        /**\n         * Toast notification result.\n         */\n        type ToastNotificationResult = {\n            /**\n             * Supported values:\n             * - `pressed`: The notification was pressed.\n             * - `dismissed`: The notification was dismissed by the app user swiping it.\n             */\n            result: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-navigate-mobile.d.ts",
      "content": "/**\n * The `wix-navigate-mobile` module contains functionality for navigating in a mobile app.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-navigate-mobile.html#)\n */\ndeclare module 'wix-navigate-mobile' {\n    /**\n     * Closes the current screen.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-navigate-mobile.html#closeScreen)\n     */\n    function closeScreen(ClosedScreenData: ClosedScreenData): Promise<void>;\n    /**\n     * Get's the screen's data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-navigate-mobile.html#getScreenContext)\n     */\n    function getScreenContext(): Promise<ScreenContext>;\n    /**\n     * Directs the mobile app to open the specified URL in the device's browser.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-navigate-mobile.html#openURL)\n     */\n    function openURL(url: string): Promise<void>;\n    /**\n     * Opens the specified screen.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-navigate-mobile.html#toScreen)\n     */\n    function toScreen(screenId: string, data?: any): Promise<CloseScreenResult>;\n    type CloseScreenResult = {\n        /**\n         * Error message.\n         */\n        error: string;\n        /**\n         * Data sent when a screen closes to the screen beneath it in the stack. Learn more about [stack navigation](https://dev.wix.com/docs/velo/apis/wix-navigate-mobile/introduction#apis_wix-navigate-mobile_stack-navigation).\n         */\n        data: any;\n    };\n    type ClosedScreenData = {\n        /**\n         * Error message.\n         */\n        error: string;\n        /**\n         * Data sent when a screen closes to the screen beneath it in the stack. Learn more about [stack navigation](https://dev.wix.com/docs/velo/apis/wix-navigate-mobile/introduction#apis_wix-navigate-mobile_stack-navigation).\n         */\n        data: any;\n    };\n    type ScreenContext = {\n        /**\n         * The screen's data, defined when the screen is opened by `toScreen()`.\n         */\n        data?: any;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-paid-plans.d.ts",
      "content": "/**\n * **Deprecated.**\n *  The wix-paid-plans module will continue to work, but a newer version is available at [wix-pricing-plans](https://www.wix.com/velo/reference/wix-pricing-plans).\n * \t[Read more](https://www.wix.com/corvid/reference/wix-paid-plans.html#)\n */\ndeclare module 'wix-paid-plans' {\n    /**\n     * **Deprecated.**\n     *  This function will continue to work, but a newer version is available at [`wix-pricing-plans.orders.requestCurrentMemberOrderCancellation()`](https://www.wix.com/velo/reference/wix-pricing-plans/orders/requestcurrentmemberordercancellation) and [`wix-pricing-plans-backend.orders.cancelOrder()`](wix-pricing-plans-backend/orders/cancelorder).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-paid-plans.html#cancelOrder)\n     */\n    function cancelOrder(orderId: string): Promise<void>;\n    /**\n     * **Deprecated.**\n     *  This function will continue to work, but a newer version is available at [`wix-pricing-plans.orders.listCurrentMemberOrders()`](https://www.wix.com/velo/reference/wix-pricing-plans/orders/listcurrentmemberorders).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-paid-plans.html#getCurrentMemberOrders)\n     */\n    function getCurrentMemberOrders(limit?: number, offset?: number): Promise<Order[]>;\n    /**\n     * **Deprecated**.\n     *  This function will continue to work, but newer versions are available\n     *  at [`wix-pricing-plans.checkout.createOnlineOrder()`](https://www.wix.com/velo/reference/wix-pricing-plans/checkout/createonlineorder)\n     *  and\n     *  at [`wix-pricing-plans-backend.checkout.createOfflineOrder()`](https://www.wix.com/velo/reference/wix-pricing-plans-backend/checkout/createofflineorder).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-paid-plans.html#orderPlan)\n     */\n    function orderPlan(planId: string): Promise<OrderResult>;\n    /**\n     * **Deprecated.**\n     *  This function will continue to work, but a newer version is available\n     *  at [`wix-pricing-plans.startOnlinePurchase()`](https://www.wix.com/velo/reference/wix-pricing-plans/checkout/startonlinepurchase).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-paid-plans.html#purchasePlan)\n     */\n    function purchasePlan(planId: string): Promise<PurchaseResult>;\n    /**\n     * An object representing a pricing plan order (subscription).\n     */\n    type Order = {\n        /**\n         * Order ID of the purchase of the plan, auto-generated when an order is created.\n         */\n        id: string;\n        /**\n         * Status of the payment for the plan. Can be `PAID`, `FAILED`, `UNPAID`, and `PAYMENT_STATUS_UNDEFINED`.\n         */\n        paymentStatus: string;\n        /**\n         * Date and time until which the plan is valid.\n         */\n        validUntil: Date;\n        /**\n         * Object containing the price of the plan.\n         */\n        price: Price;\n        /**\n         * If the plan is cancelled, the cause of the cancellation. One of:\n         *\n         *  + `\"UNDEFINED\"`: Cancellation initiator unknown.\n         *  + `\"OWNER\"`: Order (subscription) was canceled by site owner.\n         *  + `\"MEMBER\"`: Order (subscription) was canceled by member.\n         *  + `\"PAYMENT_FAILURE\"`: Subscription was canceled because of payment failure.\n         *  + `\"SETUP_FAILURE\"`: Subscription was canceled because of payment setup failure.\n         */\n        cancellationInitiator: string;\n        /**\n         * Date and time from which the plan is valid.\n         */\n        validFrom: Date;\n        /**\n         * Name of the plan.\n         */\n        planName: string;\n        /**\n         * ID of the plan for Wix Pay. If plan is free, this ID is blank.\n         */\n        wixPayOrderId: string;\n        /**\n         * If the plan is recurring. If true, the price is deducted weekly, monthly, or yearly.\n         */\n        recurring: boolean;\n        /**\n         * Date and time the order was created.\n         */\n        dateCreated: Date;\n        /**\n         * Status of the order. Can be `ACTIVE`, `PENDING`, `CANCELED`, `EXPIRED`, `PENDING_CANCELLATION`, and `ORDER_STATUS_UNDEFINED`.\n         */\n        status: string;\n        /**\n         * Description of the plan.\n         */\n        planDescription: string;\n        /**\n         * ID for the member who purchased the plan.\n         */\n        memberId: string;\n        /**\n         * How the plan was purchased, either `ONLINE` or `OFFLINE`.\n         */\n        orderType: string;\n        /**\n         * ID of the plan.\n         */\n        planId: string;\n        /**\n         * Object containing properties about how long the plan is valid.\n         */\n        validFor: ValidFor;\n        /**\n         * How many trial days were given to the subscriber of the plan.  Available only for orders whose plans are recurring, meaning plans whose pricing model is `subscription`.\n         */\n        freeTrialDays?: number;\n        /**\n         * Role assigned after purchasing the plan.\n         */\n        roleId: string;\n    };\n    /**\n     * An object representing an order result.\n     */\n    type OrderResult = {\n        /**\n         * ID of the order.\n         */\n        orderId: string;\n        /**\n         * Wix Pay ID of the order being purchased.\n         */\n        wixPayOrderId: string;\n    };\n    /**\n     * An object representing the period for which a plan is valid.\n     */\n    type Period = {\n        /**\n         * The number of units until the plan expires.\n         */\n        amount: number;\n        /**\n         * Time period for billing the plan, such as `MONTH`.\n         */\n        unit: string;\n    };\n    /**\n     * An object representing the price of a purchased plan.\n     */\n    type Price = {\n        /**\n         * Payment currency. A three-letter\n         *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n         */\n        currency: string;\n        /**\n         * The cost of the plan.\n         */\n        amount: number;\n    };\n    /**\n     * An object representing a purchase result for a non-free plan.\n     */\n    type PurchaseResult = {\n        /**\n         * ID of the order being purchased.\n         */\n        orderId: string;\n        /**\n         * Payment status in Wix Pay. One of:\n         *\n         *  + \"`Successful`\": Payment was successfully received.\n         *  + \"`Pending`\": Payment is pending payment provider approval.\n         *  + \"`Failed`\": Payment has failed.\n         *  + \"`Chargeback`\": Payment is a chargeback.\n         *  + \"`Refunded`\": Payment was fully refunded.\n         *  + \"`Offline`\": Payment will be executed offline.\n         *  + \"`PartiallyRefunded`\": Payment was partially refunded.\n         *  + \"`Cancelled`\": Payment was cancelled and was not processed.\n         *  + \"`Undefined`\": Payment status is pending payment provider input.\n         */\n        wixPayStatus: string;\n        /**\n         * Wix Pay ID of the order being purchased. Returned for non-free plans.\n         */\n        wixPayOrderId: string;\n    };\n    /**\n     * An object representing a purchase result for a free plan.\n     */\n    type PurchaseResultFree = {\n        /**\n         * ID of the order being purchased.\n         */\n        orderId: string;\n    };\n    /**\n     * An object representing how long a plan is valid.\n     */\n    type ValidFor = {\n        /**\n         * If true, the plan does not expire.\n         */\n        forever: boolean;\n        /**\n         * Object containing the period for which the plan is valid.\n         */\n        period: Period;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-pay.d.ts",
      "content": "/**\n * The wix-pay module contains functionality for working with\n *  payments from client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.html#)\n */\ndeclare module 'wix-pay' {\n    /**\n     * Contains functionality for displaying prices in your store in different currencies, getting exchange rates, and converting between currencies.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.html#currencies)\n     */\n    const currencies: Currencies;\n    /**\n     * Starts a payment.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.html#startPayment)\n     */\n    function startPayment(paymentId: string, options?: PaymentOptions): Promise<PaymentResult>;\n    /**\n     * An object representing a payment.\n     */\n    type Payment = {\n        /**\n         * Payment ID.\n         */\n        id: string;\n        /**\n         * Payment total amount.\n         */\n        amount: number;\n        /**\n         * Payment currency. A three-letter\n         *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n         */\n        currency: string;\n        /**\n         * Payment items.\n         */\n        items: PaymentItem[];\n    };\n    /**\n     * An object representing a payment item.\n     */\n    type PaymentItem = {\n        /**\n         * Payment item name.\n         */\n        name: string;\n        /**\n         * Payment item price.\n         */\n        price: number;\n        /**\n         * Payment item quantity.\n         */\n        quantity: number;\n    };\n    /**\n     * An object representing the options of a payment.\n     */\n    type PaymentOptions = {\n        /**\n         * Absolute URL of a terms and conditions\n         *  page. If a link is present, an agreement checkbox will be presented alongside the link.\n         */\n        termsAndConditionsLink?: string;\n        /**\n         * Whether to show your site's [Thank You page](https://www.wix.com/velo/reference/$w/thankyoupage). Does not apply to Thank You pages for in-app browsers. Defaults to `true`.\n         */\n        showThankYouPage?: boolean;\n        /**\n         * Whether to skip the user info page. Defaults to `false`.\n         *  The page will be skipped only if user info was passed to [`createPayment()`](wix-pay-backend.html#createPayment) as\n         *  a part of the `PaymentInfo` object.\n         */\n        skipUserInfoPage?: boolean;\n        /**\n         * An object representing information about the user. It will be used to prefill\n         *  user info form during payment process.\n         *\n         *  Deprecation note: Pass user information to [`createPayment( )`](wix-pay-backend.html#createPayment) instead.\n         */\n        userInfo?: PaymentUserInfo;\n    };\n    /**\n     * An object representing a payment result.\n     */\n    type PaymentResult = {\n        /**\n         * The payment.\n         */\n        payment: Payment;\n        /**\n         * Payment status. One of:\n         *\n         *  + \"`Successful`\": Payment was successfully received.\n         *  + \"`Pending`\": Payment is pending payment provider approval.\n         *  + \"`Failed`\": Payment has failed.\n         *  + \"`Chargeback`\": Payment is chargeback.\n         *  + \"`Refunded`\": Payment was fully refunded.\n         *  + \"`Offline`\": Payment will be executed offline.\n         *  + \"`PartiallyRefunded`\": Payment was partially refunded.\n         *  + \"`Cancelled`\": Payment was cancelled and was not processed.\n         *  + \"`Undefined`\": Payment status is pending payment provider input.\n         */\n        status: string;\n        /**\n         * ID of the [transaction](https://dev.wix.com/docs/rest/business-management/payments/cashier/payments/transaction/transaction-object) that caused this payment to update.\n         */\n        transactionId: string;\n        /**\n         * An object representing information about the user.\n         */\n        userInfo: PaymentUserInfo;\n    };\n    /**\n     * An object representing information about the user.\n     */\n    type PaymentUserInfo = {\n        /**\n         * User's first name. Value is `null` if\n         *  there is no first name information.\n         */\n        firstName: string;\n        /**\n         * User's last name. Value is `null` if\n         *  there is no last name information.\n         */\n        lastName: string;\n        /**\n         * User's country code. A three-letter\n         *  [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code. Value\n         *  is `null` if there is no country information.\n         */\n        country: string;\n        /**\n         * User's phone number. Value is `null` if\n         *  there is no phone number information.\n         */\n        phone: string;\n        /**\n         * User's email address. Value is `null` if\n         *  there is no email address information.\n         */\n        email: string;\n    };\n    /**\n     * The Currencies API contains functionality for displaying prices in your store in different currencies, getting exchange rates, and converting between currencies.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.html#)\n     */\n    interface Currencies {\n        /**\n         * Gets conversion rates and converts amounts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.html#currencyConverter)\n         */\n        readonly currencyConverter: Currencies.CurrencyConverter;\n        /**\n         * Gets currencies that you set for your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.html#siteSettings)\n         */\n        readonly siteSettings: Currencies.SiteSettings;\n        /**\n         * Gets the list of all currencies for which Wix supports conversion.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.html#getAllCurrencies)\n         */\n        getAllCurrencies(): Promise<Currencies.Currency[]>;\n    }\n    /**\n     * The Currencies API contains functionality for displaying prices in your store in different currencies, getting exchange rates, and converting between currencies.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.html#)\n     */\n    namespace Currencies {\n        /**\n         * An object representing a currency.\n         */\n        type Currency = {\n            /**\n             * A 3-letter\n             *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n             */\n            code: string;\n            /**\n             * A currency symbol.\n             */\n            symbol: string;\n        };\n        /**\n         * An object for retrieving conversion rates and converting amounts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.CurrencyConverter.html#)\n         */\n        interface CurrencyConverter {\n            /**\n             * Converts an array of amounts from one currency to another.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.CurrencyConverter.html#convertAmounts)\n             */\n            convertAmounts(options: CurrencyConverter.ConvertAmountsOptions): Promise<CurrencyConverter.ConvertedAmounts>;\n            /**\n             * Gets a currency conversion rate.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.CurrencyConverter.html#getConversionRate)\n             */\n            getConversionRate(sourceCurrency: string, targetCurrency: string): Promise<CurrencyConverter.ConversionRate>;\n        }\n        /**\n         * Site-related currency settings.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.SiteSettings.html#)\n         */\n        interface SiteSettings {\n            /**\n             * Gets the list of supported currencies that you set for your site.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.SiteSettings.html#getCurrencies)\n             */\n            getCurrencies(): Promise<SiteSettings.CurrencyCode[]>;\n        }\n        /**\n         * An object for retrieving conversion rates and converting amounts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.CurrencyConverter.html#)\n         */\n        namespace CurrencyConverter {\n            /**\n             * An object representing a currency conversion rate.\n             */\n            type ConversionRate = {\n                /**\n                 * The conversion rate between the source and target currencies.\n                 */\n                rate: number;\n                /**\n                 * The date and time when the rate was set.\n                 */\n                timestamp: Date;\n            };\n            /**\n             * An object representing the currencies and amounts to be converted.\n             */\n            type ConvertAmountsOptions = {\n                /**\n                 * Amounts to convert.\n                 */\n                amounts: number[];\n                /**\n                 * Currency to convert from.  The `from` currency code used must exist in the array returned by the [`getAllCurrencies()`](wix-pay-backend/currencies/get-all-currencies) function.\n                 */\n                from: string;\n                /**\n                 * Currency to convert to. The `to` currency code used must exist in the array returned by the [`getAllCurrencies()`](wix-pay-backend/currencies/get-all-currencies) function.\n                 * > **Note:**\n                 * The `from` and `to` currency codes used must exist in the array returned by the\n                 * [`getAllCurrencies()`](wix-pay-backend/currencies/get-all-currencies) function.\n                 */\n                to: string;\n            };\n            /**\n             * An object representing the results of a currency conversion.\n             */\n            type ConvertedAmounts = {\n                /**\n                 * Array of converted amounts.\n                 */\n                amounts: number[];\n                /**\n                 * The date and time when the currency exchange rate was set.\n                 */\n                timestamp: Date;\n            };\n        }\n        /**\n         * Site-related currency settings.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay.Currencies.SiteSettings.html#)\n         */\n        namespace SiteSettings {\n            /**\n             * An object representing an ISO currency code.\n             */\n            type CurrencyCode = {\n                /**\n                 * A 3-letter\n                 *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n                 */\n                code: string;\n            };\n        }\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-pay-frontend.d.ts",
      "content": "/**\n * The wix-pay-frontend module contains functionality for working with\n *  payments from client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.html#)\n */\ndeclare module 'wix-pay-frontend' {\n    /**\n     * Contains functionality for displaying prices in your store in different currencies, getting exchange rates, and converting between currencies.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.html#currencies)\n     */\n    const currencies: Currencies;\n    /**\n     * Starts a payment.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.html#startPayment)\n     */\n    function startPayment(paymentId: string, options?: PaymentOptions): Promise<PaymentResult>;\n    /**\n     * An object representing a payment.\n     */\n    type Payment = {\n        /**\n         * Payment transaction ID.\n         */\n        id: string;\n        /**\n         * Payment total amount.\n         */\n        amount: number;\n        /**\n         * Payment currency. A three-letter\n         *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n         */\n        currency: string;\n        /**\n         * Payment items.\n         */\n        items: PaymentItem[];\n    };\n    /**\n     * An object representing a payment item.\n     */\n    type PaymentItem = {\n        /**\n         * Payment item name.\n         */\n        name: string;\n        /**\n         * Payment item price.\n         */\n        price: number;\n        /**\n         * Payment item quantity.\n         */\n        quantity: number;\n    };\n    /**\n     * An object representing the options of a payment.\n     */\n    type PaymentOptions = {\n        /**\n         * Absolute URL of a terms and conditions\n         *  page. If a link is present, an agreement checkbox will be presented alongside the link.\n         */\n        termsAndConditionsLink?: string;\n        /**\n         * Whether to show your site's [Thank You page](https://www.wix.com/velo/reference/$w/thankyoupage). Does not apply to Thank You pages for in-app browsers. Defaults to `true`.\n         */\n        showThankYouPage?: boolean;\n        /**\n         * Whether to skip the user info page. Defaults to `false`.\n         *  The page will be skipped only if user info was passed to [`createPayment()`](wix-pay-backend/create-payment) as\n         *  a part of the `PaymentInfo` object.\n         */\n        skipUserInfoPage?: boolean;\n        /**\n         * An object representing information about the user. It will be used to prefill\n         *  user info form during payment process.\n         *\n         *  Deprecation note: Pass user information to [`createPayment( )`](wix-pay-backend/create-payment) instead.\n         */\n        userInfo?: PaymentUserInfo;\n    };\n    /**\n     * An object representing a payment result.\n     */\n    type PaymentResult = {\n        /**\n         * The payment.\n         */\n        payment: Payment;\n        /**\n         * Payment status. One of:\n         *\n         *  + \"`Successful`\": Payment was successfully received.\n         *  + \"`Pending`\": Payment is pending payment provider approval.\n         *  + \"`Failed`\": Payment has failed.\n         *  + \"`Chargeback`\": Payment is chargeback.\n         *  + \"`Refunded`\": Payment was fully refunded.\n         *  + \"`Offline`\": Payment will be executed offline.\n         *  + \"`PartiallyRefunded`\": Payment was partially refunded.\n         *  + \"`Cancelled`\": Payment was cancelled and was not processed.\n         *  + \"`Undefined`\": Payment status is pending payment provider input.\n         */\n        status: string;\n        /**\n         * ID of the payment transaction.\n         */\n        transactionId: string;\n        /**\n         * An object representing information about the user.\n         */\n        userInfo: PaymentUserInfo;\n    };\n    /**\n     * An object representing information about the user.\n     */\n    type PaymentUserInfo = {\n        /**\n         * User's first name. Value is `null` if\n         *  there is no first name information.\n         */\n        firstName: string;\n        /**\n         * User's last name. Value is `null` if\n         *  there is no last name information.\n         */\n        lastName: string;\n        /**\n         * User's country code. A three-letter\n         *  [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code. Value\n         *  is `null` if there is no country information.\n         */\n        country: string;\n        /**\n         * User's phone number. Value is `null` if\n         *  there is no phone number information.\n         */\n        phone: string;\n        /**\n         * User's email address. Value is `null` if\n         *  there is no email address information.\n         */\n        email: string;\n    };\n    /**\n     * The Currencies API contains functionality for displaying prices in your store in different currencies, getting exchange rates, and converting between currencies.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.html#)\n     */\n    interface Currencies {\n        /**\n         * Gets conversion rates and converts amounts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.html#currencyConverter)\n         */\n        readonly currencyConverter: Currencies.CurrencyConverter;\n        /**\n         * Gets currencies that you set for your site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.html#siteSettings)\n         */\n        readonly siteSettings: Currencies.SiteSettings;\n        /**\n         * Gets the list of all currencies for which Wix supports conversion.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.html#getAllCurrencies)\n         */\n        getAllCurrencies(): Promise<Currencies.Currency[]>;\n    }\n    /**\n     * The Currencies API contains functionality for displaying prices in your store in different currencies, getting exchange rates, and converting between currencies.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.html#)\n     */\n    namespace Currencies {\n        /**\n         * An object representing a currency.\n         */\n        type Currency = {\n            /**\n             * A 3-letter\n             *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n             */\n            code: string;\n            /**\n             * A currency symbol.\n             */\n            symbol: string;\n        };\n        /**\n         * An object for retrieving conversion rates and converting amounts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.CurrencyConverter.html#)\n         */\n        interface CurrencyConverter {\n            /**\n             * Converts an array of amounts from one currency to another.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.CurrencyConverter.html#convertAmounts)\n             */\n            convertAmounts(options: CurrencyConverter.ConvertAmountsOptions): Promise<CurrencyConverter.ConvertedAmounts>;\n            /**\n             * Gets a currency conversion rate.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.CurrencyConverter.html#getConversionRate)\n             */\n            getConversionRate(sourceCurrency: string, targetCurrency: string): Promise<CurrencyConverter.ConversionRate>;\n        }\n        /**\n         * Site-related currency settings.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.SiteSettings.html#)\n         */\n        interface SiteSettings {\n            /**\n             * Gets the list of supported currencies that you set for your site.\n             * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.SiteSettings.html#getCurrencies)\n             */\n            getCurrencies(): Promise<SiteSettings.CurrencyCode[]>;\n        }\n        /**\n         * An object for retrieving conversion rates and converting amounts.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.CurrencyConverter.html#)\n         */\n        namespace CurrencyConverter {\n            /**\n             * An object representing a currency conversion rate.\n             */\n            type ConversionRate = {\n                /**\n                 * The conversion rate between the source and target currencies.\n                 */\n                rate: number;\n                /**\n                 * The date and time when the rate was set.\n                 */\n                timestamp: Date;\n            };\n            /**\n             * An object representing the currencies and amounts to be converted.\n             */\n            type ConvertAmountsOptions = {\n                /**\n                 * Amounts to convert.\n                 */\n                amounts: number[];\n                /**\n                 * Currency to convert from.  The `from` currency code used must exist in the array returned by the [`getAllCurrencies()`](wix-pay-frontend/Currencies/get-All-Currencies) function.\n                 */\n                from: string;\n                /**\n                 * Currency to convert to. The `to` currency code used must exist in the array returned by the [`getAllCurrencies()`](wix-pay-frontend/currencies/get-all-currencies) function.\n                 * > **Note:**\n                 * The `from` and `to` currency codes used must exist in the array returned by the\n                 * [`getAllCurrencies()`](wix-pay-frontend/currencies/get-all-currencies) function.\n                 */\n                to: string;\n            };\n            /**\n             * An object representing the results of a currency conversion.\n             */\n            type ConvertedAmounts = {\n                /**\n                 * Array of converted amounts.\n                 */\n                amounts: number[];\n                /**\n                 * The date and time when the currency exchange rate was set.\n                 */\n                timestamp: Date;\n            };\n        }\n        /**\n         * Site-related currency settings.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pay-frontend.Currencies.SiteSettings.html#)\n         */\n        namespace SiteSettings {\n            /**\n             * An object representing an ISO currency code.\n             */\n            type CurrencyCode = {\n                /**\n                 * A 3-letter\n                 *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n                 */\n                code: string;\n            };\n        }\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-pricing-plans.d.ts",
      "content": "/**\n * The wix-pricing-plans module contains functionality for working with\n *  pricing plans from client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.html#)\n */\ndeclare module 'wix-pricing-plans' {\n    /**\n     * The Pricing Plans Checkout API contains functionality for ordering, checking out, and purchasing\n     *  your site's pricing plan [orders](https://support.wix.com/en/article/pricing-plans-an-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.html#checkout)\n     */\n    const checkout: Checkout;\n    /**\n     * The Pricing Plan Orders API provides functionality for managing pricing plan orders created in the Wix Pricing Plans app or using the Wix Pricing Plans API.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.html#orders)\n     */\n    const orders: Orders;\n    /**\n     * Contains functionality for ordering your site's pricing plans.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.Checkout.html#)\n     */\n    interface Checkout {\n        /**\n         * Orders a pricing plan.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.Checkout.html#createOnlineOrder)\n         */\n        createOnlineOrder(planId: string, options?: Checkout.CreateOnlineOrderOptions): Promise<Orders.Order>;\n        /**\n         * Orders and purchases a pricing plan.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.Checkout.html#startOnlinePurchase)\n         */\n        startOnlinePurchase(planId: string, options?: Checkout.StartOnlinePurchaseOptions): Promise<Checkout.Purchase>;\n    }\n    /**\n     * The Pricing Plans Orders API contains functionality for managing\n     *  your site's pricing plan [orders](https://support.wix.com/en/article/pricing-plans-an-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.Orders.html#)\n     */\n    interface Orders {\n        /**\n         * Lists the orders for the currently logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.Orders.html#listCurrentMemberOrders)\n         */\n        listCurrentMemberOrders(filters?: Orders.CurrentMemberFilterOptions, sorting?: Orders.SortingOptions, paging?: Orders.PaginationOptions): Promise<Orders.Order[]>;\n        /**\n         * Requests the cancellation of a specific order of a plan for the currently logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.Orders.html#requestCurrentMemberOrderCancellation)\n         */\n        requestCurrentMemberOrderCancellation(orderId: string, effectiveAt: string): Promise<void>;\n    }\n    /**\n     * Contains functionality for ordering your site's pricing plans.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.Checkout.html#)\n     */\n    namespace Checkout {\n        type CreateOnlineOrderOptions = {\n            /**\n             * Start date and time for the ordered plan.\n             *\n             * Default: Current date and time\n             */\n            startDate?: Date;\n            /**\n             * Coupon code to apply.\n             *\n             * To learn more about coupons, see [applyCoupon()](wix-pricing-plans-backend/checkout/applycoupon).\n             */\n            couponCode?: string;\n        };\n        /**\n         * An object representing the period for which a plan is valid.\n         */\n        type Period = {\n            /**\n             * The number of units until the plan expires.\n             */\n            amount: number;\n            /**\n             * Time period for billing the plan, such as `\"MONTH\"`.\n             */\n            unit: string;\n        };\n        /**\n         * An object representing the price of a purchased plan.\n         */\n        type Price = {\n            /**\n             * Payment currency. A three-letter\n             *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n             */\n            currency: string;\n            /**\n             * The cost of the plan.\n             */\n            amount: number;\n        };\n        /**\n         * An object representing a purchase for a non-free plan.\n         */\n        type Purchase = {\n            /**\n             * The order being purchased.\n             */\n            order: Orders.Order;\n            /**\n             * Payment status in [Wix Pay](https://www.wix.com/velo/reference/wix-pay). Omitted for free plans.\n             *  One of:\n             *  + `\"Successful\"`: Payment was successfully received.\n             *  + `\"Pending\"`: Payment is pending payment provider approval.\n             *  + `\"Failed\"`: Payment has failed.\n             *  + `\"Chargeback\"`: Payment is chargeback.\n             *  + `\"Refunded\"`: Payment was fully refunded.\n             *  + `\"Offline\"`: Payment will be executed offline.\n             *  + `\"PartiallyRefunded\"`: Payment was partially refunded.\n             *  + `\"Cancelled\"`: Payment was cancelled and was not processed.\n             *  + `\"Undefined\"`: Payment status is pending payment provider input.\n             */\n            wixPayStatus?: string;\n        };\n        type StartOnlinePurchaseOptions = {\n            /**\n             * Start date and time for the ordered plan.\n             *\n             * Default: Current date and time\n             */\n            startDate?: Date;\n            /**\n             * Coupon code to apply.\n             *\n             * To learn more about coupons, see [applyCoupon()](wix-pricing-plans-backend/checkout/applycoupon).\n             */\n            couponCode?: string;\n        };\n        /**\n         * An object representing how long a plan is valid.\n         */\n        type ValidFor = {\n            /**\n             * If true, the plan does not expire.\n             */\n            forever: boolean;\n            /**\n             * Object containing the period for which the plan is valid.\n             */\n            period: Checkout.Period;\n        };\n    }\n    /**\n     * The Pricing Plans Orders API contains functionality for managing\n     *  your site's pricing plan [orders](https://support.wix.com/en/article/pricing-plans-an-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans.Orders.html#)\n     */\n    namespace Orders {\n        /**\n         * Buyer details.\n         */\n        type Buyer = {\n            /**\n             * Member ID for the buyer. See [`wix-members-backend`](wix-members-backend/introduction) to learn more about a site's members.\n             */\n            memberId: string;\n            /**\n             * Contact ID for the buyer. See [Contacts in `wix-crm-backend`](wix-crm-backend/contacts/introduction) to learn more about a site's contacts.\n             */\n            contactId: string;\n        };\n        /**\n         * Details about the cancellation of an order. Only present if the order `status` is `\"CANCELED\"`.\n         */\n        type Cancellation = {\n            /**\n             * Date and time when the cancellation was requested.\n             */\n            requestedDate: Date;\n            /**\n             * The reason for the cancellation.\n             * Supported values:\n             *  + `\"OWNER_ACTION\"`. The site owner canceled the order.\n             *  + `\"MEMBER_ACTION\"`. The buyer initiated the cancellation.\n             *  + `\"PAYMENT_FAILURE\"`. A payment transaction failed.\n             *  + `\"PAYMENT_SETUP_FAILURE\"`. The buyer's payment details weren't set up correctly.\n             */\n            cause: string;\n            /**\n             * When the cancellation takes effect. This is set when cancelling the order.\n             * Supported values:\n             *  + `\"IMMEDIATELY\"`. The cancellation occurs immediately and the buyer can no longer use the plan at this point.\n             *  + `\"NEXT_PAYMENT_DATE\"`. The cancellation occurs at the next payment date and time. The buyer can continue to use the plan until that date and time.\n             */\n            effectiveAt: string;\n        };\n        /**\n         * Coupon applied to the order.\n         *\n         * To learn more about coupons, see [applyCoupon()](wix-pricing-plans-backend/checkout/applycoupon).\n         */\n        type Coupon = {\n            /**\n             * Code of the applied coupon.\n             */\n            code: string;\n            /**\n             * Total discount of the coupon, as a monetary amount.\n             */\n            amount: string;\n            /**\n             * Coupon ID.\n             */\n            id: string;\n        };\n        /**\n         * Current payment cycle for the order.\n         *\n         * `currentCycle` will be omitted if the order's `status` is `CANCELED` or `ENDED`, or if the `startDate` hasn't been reached yet.\n         */\n        type CurrentCycle = {\n            /**\n             * Index of the current payment cycle in the order.\n             *\n             * `0` when the order is in a free trial period. In all other cases, the index starts with `1`.\n             */\n            index: number;\n            /**\n             * Start date and time for the current payment cycle.\n             */\n            startedDate: Date;\n            /**\n             * End date and time for the current payment cycle.\n             */\n            endedDate: Date;\n        };\n        /**\n         * Fields to filter by when listing orders for the current member.\n         */\n        type CurrentMemberFilterOptions = {\n            /**\n             * Specific IDs of plans that were ordered by the current member.\n             */\n            planIds?: string[];\n            /**\n             * Whether the auto-renewal of the current member's recurring orders was canceled.\n             */\n            autoRenewCanceled?: boolean;\n            /**\n             * Specific statuses for the current member's orders.\n             *  + `\"DRAFT\"`. The order has been initiated but payment has not been processed yet. The plan is not yet available for use.\n             *  + `\"PENDING\"`. Payment is being processed.  The plan is not yet available for use.\n             *  + `\"ACTIVE\"`. The order has been processed and paid for.  The plan is available for use.\n             *  + `\"PAUSED\"`. Use of the plan has been [paused](wix-pricing-plans-backend/orders/pauseorder), for example, if the buyer is away. The plan can be [resumed](wix-pricing-plans-backend/orders/resumeorder).\n             *  + `\"ENDED\"`. The order has completed its duration and is no longer available for use.\n             *  + `\"CANCELED\"`. The order has been [canceled](wix-pricing-plans-backend/orders/cancelorder).\n             */\n            orderStatuses?: string[];\n            /**\n             * Specific payment statuses for the current member's orders.\n             *  + `\"PAID\"`. The last payment was paid.\n             *  + `\"REFUNDED\"`. The last payment was refunded.\n             *  + `\"FAILED\"`. The last payment transaction did not complete.\n             *  + `\"UNPAID\"`. The last payment was not paid.\n             *  + `\"PENDING\"`. Awaiting payment.\n             *  + `\"NOT_APPLICABLE\"`. No payment was necessary, such as for free plans or free trials.\n             */\n            paymentStatuses?: string[];\n        };\n        /**\n         * Length of one payment cycle. For example, `1` `MONTH` for monthly payments.\n         */\n        type Duration = {\n            /**\n             * The amount of a duration `unit` in a single payment cycle.\n             *\n             * Currently limited to support only value of `1`.\n             */\n            count: number;\n            /**\n             * Unit of time for the cycle duration.\n             *\n             * Supported values: `\"UNDEFINED\"`, `\"DAY\"`, `\"WEEK\"`, `\"MONTH\"`, `\"YEAR\"`\n             */\n            unit: string;\n        };\n        type Order = {\n            /**\n             * Order ID.\n             */\n            _id: string;\n            /**\n             * ID of the plan that was ordered.\n             */\n            planId: string;\n            /**\n             * ID of the related Wix subscription.\n             *\n             * Every pricing plan order corresponds to a Wix subscription, including orders for single payment plans. You can see all orders from your site's [Subscriptions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsubscriptions%3FreferralInfo%3Dvelo-docs) page in the Dashboard.\n             */\n            subscriptionId: string;\n            /**\n             * ID of the associated Wix Pay order.\n             *\n             * Created by the [`createOnlineOrder()`](wix-pricing-plans-backend/checkout/createonlineorder) or [`createfflineOrder()`](wix-pricing-plans-backend/checkout/createofflineorder) function. For online orders, send this value as a parameter to the Wix Pay [`startPayment()`](wix-pay/startPayment) function to enable your buyer to pay for the order. `wixPayOrderId` is omitted if the order is free.\n             */\n            wixPayOrderId?: string;\n            /**\n             * The buyer's IDs. Includes `memberId` and `contactId`.\n             *\n             * Currently, Pricing Plan orders are limited to members only. `contactId` is returned, but a buyer will not be able to order a plan without a `memberId`.\n             */\n            buyer: Orders.Buyer;\n            /**\n             * **Deprecated.** Use `pricing` instead.\n             */\n            priceDetails: Orders.PriceDetails;\n            /**\n             * Order [pricing model](wix-pricing-plans-backend/introduction#pricing-models), price, and payment schedule.\n             */\n            pricing?: Orders.Pricing;\n            /**\n             * How the order was processed.\n             * Supported values:\n             *  + `\"ONLINE\"`. The buyer ordered the plan using the site.\n             *  + `\"OFFLINE\"`. The buyer made a manual, offline order without using the site.\n             */\n            type: string;\n            /**\n             * Status of the order.\n             * Supported values:\n             *  + `\"DRAFT\"`. The order has been initiated but payment hasn't been processed yet. The plan isn't yet available for use.\n             *  + `\"PENDING\"`. The order has been processed and its start date is set in the future. The plan isn't yet available for use.\n             *  + `\"ACTIVE\"`. The order has been processed. The plan is available for use.\n             *  + `\"PAUSED\"`. The order, and use of the plan, is [paused](wix-pricing-plans-backend/orders/pauseorder). For example, if the buyer is away. The order, and use of the plan, can be [resumed](wix-pricing-plans-backend/orders/resumeorder).\n             *  + `\"ENDED\"`. The order has completed its duration and is no longer available for use.\n             *  + `\"CANCELED\"`. The order has been [canceled](wix-pricing-plans-backend/orders/cancelorder).\n             */\n            status: string;\n            /**\n             * Whether the order will be canceled at the next payment date.\n             *\n             * If `true`, the order `status` will be `CANCELED` and the next payment won't be charged. Omitted for single payment orders.\n             */\n            autoRenewCanceled?: boolean;\n            /**\n             * Details about the cancellation of an order. Only present if the `status` is `\"CANCELED\"`.\n             */\n            cancellation?: Orders.Cancellation;\n            /**\n             * Status of the last payment for the order. This is updated automatically for online orders. The site owner updates this manually for offline orders.\n             * Supported values:\n             *  + `\"PAID\"`. The last payment was paid.\n             *  + `\"REFUNDED\"`. The last payment was refunded.\n             *  + `\"FAILED\"`. The last payment transaction didn't complete.\n             *  + `\"UNPAID\"`. The last payment wasn't paid.\n             *  + `\"PENDING\"`. Awaiting payment.\n             *  + `\"NOT_APPLICABLE\"`. No payment was necessary. For example, for free plans or free trials.\n             */\n            lastPaymentStatus: string;\n            /**\n             * Start date and time for the ordered plan.\n             */\n            startDate: Date;\n            /**\n             * Current date and time the ordered plan will expire.\n             *\n             * `endDate` may be updated over the course of an order. If the order is [paused](wix-pricing-plans-backend/orders/pauseorder), it will have a later `endDate` once it [resumes](wix-pricing-plans-backend/orders/resumeorder). `endDate` may also be [postponed](wix-pricing-plans-backend/orders/postponeenddate).\n             *\n             * Omitted if the order is valid until canceled and still `\"ACTIVE\"`.\n             */\n            endDate?: Date;\n            /**\n             * List of periods during which this order is paused.\n             */\n            pausePeriods: Orders.PausePeriod[];\n            /**\n             * Free trial period, in days. Only available for recurring plans.\n             */\n            freeTrialDays?: string;\n            /**\n             * Earliest end date and time that the plan for this order can expire.\n             *\n             * This is calculated by adding all pause periods to the original end date. Omitted if the order is active until canceled. Reserved for future use.\n             */\n            earliestEndDate?: Date;\n            /**\n             * Current payment cycle for the order.\n             *\n             * `currentCycle` will be omitted if the order's status is `CANCELED` or `ENDED`, or if the `startDate` hasn't passed yet.\n             */\n            currentCycle: Orders.CurrentCycle;\n            /**\n             * Name of the plan at the time of the order.\n             */\n            planName: string;\n            /**\n             * Description of the plan at the time of the order.\n             */\n            planDescription: string;\n            /**\n             * Plan price as it was at the moment of order creation.\n             */\n            planPrice: string;\n            /**\n             * Date and time the order was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the order was last updated. For example, the date and time an order was paused, resumed, or canceled.\n             */\n            _updatedDate: Date;\n        };\n        /**\n         * The order has recurring payments.\n         */\n        type OrderRecurrence = {\n            /**\n             * Length of one payment cycle. For example, `1` `MONTH` for monthly payments.\n             */\n            cycleDuration: Orders.Duration;\n            /**\n             * Amount of payment cycles this subscription is valid for.\n             *\n             * `0` for orders of plans that are unlimited or until-canceled.\n             */\n            cycleCount: number;\n        };\n        type PaginationOptions = {\n            /**\n             * Limit the number of orders returned.\n             *\n             * Default: `50`\n             */\n            limit?: number;\n            /**\n             * Number of entries to skip.\n             */\n            skip?: number;\n        };\n        /**\n         * Period during which the order of a plan is suspended.\n         */\n        type PausePeriod = {\n            /**\n             * Status of the pause period.\n             * Supported values:\n             *  + `\"ACTIVE\"`. Status while the order is [paused](wix-pricing-plans-backend/orders/pauseorder).\n             *  + `\"ENDED\"`. Status while the order is [resumed](wix-pricing-plans-backend/orders/resumeorder).\n             */\n            status: string;\n            /**\n             * Start date and time of the pause period.\n             */\n            pauseDate: Date;\n            /**\n             * End date and time of the pause period.\n             *\n             * Omitted while the pause period remains `\"ACTIVE\"`.\n             */\n            resumeDate: Date;\n        };\n        /**\n         * Order price details.\n         */\n        type Price = {\n            /**\n             * Price of the order excluding tax, specified as a monetary amount. For example, `\"9.99\"`.\n             */\n            subtotal: string;\n            /**\n             * Coupon applied to the order.\n             *\n             * To learn more about coupons, see [applyCoupon()](wix-pricing-plans-backend/checkout/applycoupon).\n             */\n            coupon: Orders.Coupon;\n            /**\n             * Total discount applied to the order.\n             */\n            discount: string;\n            /**\n             * Tax applied to the order.\n             */\n            tax?: Orders.Tax;\n            /**\n             * Price after tax and discount is applied, specified as a monetary amount. For example, `\"13.98\"`.\n             *\n             * If no tax is applied, this amount is the same as `subtotal`.\n             */\n            total: string;\n            /**\n             * Three-letter currency code in [ISO 4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n             */\n            currency: string;\n        };\n        /**\n         * **Deprecated.** Use `pricing` instead.\n         */\n        type PriceDetails = {\n            /**\n             * Price of the order, excluding tax. Specified as a monetary amount, such as `\"3.99\"`.\n             */\n            subtotal: string;\n            /**\n             * Tax applied for the plan. Omitted if no tax was applied.\n             */\n            tax?: Orders.Tax;\n            /**\n             * Price after tax is applied. Specified as a monetary amount, such as `\"4.98\"`. If no tax was applied, this amount is the same as `subtotal`.\n             */\n            total: string;\n            /**\n             * Price of the plan when the order was created. This price is the amount for a single payment. For subscriptions, this is the amount to pay for each single payment cycle and the `planPrice` is required. Otherwise, the payment is for the entire plan.\n             */\n            planPrice: string;\n            /**\n             * Currency code. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code (for example, `\"USD\"`).\n             */\n            currency: string;\n            /**\n             * Pricing model indicating that the order has recurring payments. This type of subscription isn't a \"Wix subscription,\" which encompasses various types of subscriptions, such as Wix Stores subscriptions, Wix invoice subscriptions, and *all* pricing plan models.\n             */\n            subscription?: Orders.OrderRecurrence;\n            /**\n             * Pricing model indicating that the order is paid with a single payment per cycle and what the length of the cycle is. The cycle is the duration of the order's plan, not a payment cycle.\n             */\n            singlePaymentForDuration?: Orders.Duration;\n            /**\n             * Pricing model indicating that the order of the plan is paid in one single payment and that the order is active until canceled.\n             */\n            singlePaymentUnlimited?: boolean;\n            /**\n             * Free trial period for the order in days. Available only for orders whose plans are recurring, meaning plans whose pricing model is `subscription`.\n             */\n            freeTrialDays?: number;\n        };\n        /**\n         * Cycle duration to apply `price` for.\n         */\n        type PriceDuration = {\n            /**\n             * Price starts to apply with this cycle.\n             *\n             * `1` is the first payment cycle for all pricing models.\n             */\n            cycleFrom: number;\n            /**\n             * Amount of cycles to apply price for.\n             *\n             * For `subscription` pricing models with a finite number of cycles, the `numberOfCycles` is the same as `pricing.subscription.cycleCount`.\n             *\n             * For `subscription` pricing models that are unlimited or until-canceled, the `numberOfCycles` is not returned.\n             *\n             * For `singlePaymentForDuration` and `singlePaymentUnlimited` pricing models, the `numberOfCycles` is `1`.\n             */\n            numberOfCycles: number;\n        };\n        /**\n         * Pricing details for all pricing models.\n         */\n        type Prices = {\n            /**\n             * Cycle duration to apply `price` for.\n             *\n             * Use with all pricing models. Can apply the same price to multiple payment cycles.\n             */\n            duration: Orders.PriceDuration;\n            /**\n             * Order price.\n             */\n            price: Orders.Price;\n        };\n        /**\n         * Order pricing model, price, and payment schedule.\n         */\n        type Pricing = {\n            /**\n             * Pricing model for an order with recurring payment cycles.\n             */\n            subscription?: Orders.OrderRecurrence;\n            /**\n             * Pricing model for an order with a one-time payment and the order is valid for a specific amount of time.\n             */\n            singlePaymentForDuration?: Orders.Duration;\n            /**\n             * Pricing model for an order with a one-time payment and the order is valid until canceled.\n             */\n            singlePaymentUnlimited?: boolean;\n            /**\n             * Pricing details for all pricing models.\n             */\n            prices: Orders.Prices;\n        };\n        /**\n         * Sorting details.\n         */\n        type SortingOptions = {\n            /**\n             * Name of the property to sort by.\n             *\n             * Supported values: `_createdDate`, `endDate`\n             *\n             * Default: `_createdDate`\n             */\n            fieldName?: string;\n            /**\n             * Sort order.\n             *\n             * Supported values:\n             * + `\"ASC\"`: Ascending\n             * + `\"DESC\"`: Descending\n             *\n             * Default: `\"ASC\"`\n             */\n            order?: string;\n        };\n        /**\n         * Tax applied to the order. If empty, no tax was applied.\n         */\n        type Tax = {\n            /**\n             * Name of the tax. For example, VAT.\n             */\n            name: string;\n            /**\n             * Whether tax is included in the original price. When `false`, tax is added at checkout.\n             */\n            includedInPrice: boolean;\n            /**\n             * Tax rate percentage, as a number between 0 and 100. For example, a 7% tax rate is `\"7.00\"`.\n             */\n            rate: string;\n            /**\n             * Total tax, specified as a monetary amount. For example, `\"3.99\"`.\n             */\n            amount: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-pricing-plans-frontend.d.ts",
      "content": "/**\n * The wix-pricing-plans-frontend module contains functionality for working with\n *  pricing plans from frontend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.html#)\n */\ndeclare module 'wix-pricing-plans-frontend' {\n    /**\n     * The Pricing Plans Checkout API contains functionality for ordering, checking out, and purchasing\n     *  a site's pricing plan [orders](https://support.wix.com/en/article/pricing-plans-an-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.html#checkout)\n     */\n    const checkout: Checkout;\n    /**\n     * The Custom Purchase Flow API contains functionality for customizing the plan purchase flow on a site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.html#customPurchaseFlow)\n     */\n    const customPurchaseFlow: CustomPurchaseFlow;\n    /**\n     * The Pricing Plan Orders API provides functionality for managing pricing plan orders created in the Wix Pricing Plans app or using the Wix Pricing Plans API.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.html#orders)\n     */\n    const orders: Orders;\n    /**\n     * Contains functionality for ordering a site's pricing plans.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.Checkout.html#)\n     */\n    interface Checkout {\n        /**\n         * Orders a pricing plan.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.Checkout.html#createOnlineOrder)\n         */\n        createOnlineOrder(planId: string, startDate?: Date): Promise<Orders.Order>;\n        /**\n         * Orders and purchases a pricing plan.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.Checkout.html#startOnlinePurchase)\n         */\n        startOnlinePurchase(planId: string, startDate?: Date): Promise<Checkout.Purchase>;\n    }\n    /**\n     * The Custom Purchase Flow API contains functionality for customizing the plan purchase flow on a site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.CustomPurchaseFlow.html#)\n     */\n    interface CustomPurchaseFlow {\n        /**\n         * Returns the options set for the current Plans & Pricing page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.CustomPurchaseFlow.html#getPricingPageOptions)\n         */\n        getPricingPageOptions(): Promise<CustomPurchaseFlow.PricingPageOptions>;\n        /**\n         * Directs site visitor to the Checkout page in the plan purchase flow.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.CustomPurchaseFlow.html#navigateToCheckout)\n         */\n        navigateToCheckout(options: CustomPurchaseFlow.CheckoutOptions): void;\n        /**\n         * Directs site visitor to the Pricing & Plans page in the plan purchase flow.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.CustomPurchaseFlow.html#navigateToPricingPage)\n         */\n        navigateToPricingPage(options: CustomPurchaseFlow.PricingPageOptions): void;\n    }\n    /**\n     * The Pricing Plans Orders API contains functionality for managing\n     *  a site's pricing plan [orders](https://support.wix.com/en/article/pricing-plans-an-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.Orders.html#)\n     */\n    interface Orders {\n        /**\n         * Lists the orders for the currently logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.Orders.html#listCurrentMemberOrders)\n         */\n        listCurrentMemberOrders(filters?: Orders.CurrentMemberFilterOptions, sorting?: Orders.SortingOptions, paging?: Orders.PaginationOptions): Promise<Orders.Order[]>;\n        /**\n         * Requests the cancellation of a specific order of a plan for the currently logged-in member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.Orders.html#requestCurrentMemberOrderCancellation)\n         */\n        requestCurrentMemberOrderCancellation(orderId: string, effectiveAt: string): Promise<void>;\n    }\n    /**\n     * Contains functionality for ordering a site's pricing plans.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.Checkout.html#)\n     */\n    namespace Checkout {\n        /**\n         * An object representing the period for which a plan is valid.\n         */\n        type Period = {\n            /**\n             * The number of units until the plan expires.\n             */\n            amount: number;\n            /**\n             * Time period for billing the plan, such as `\"MONTH\"`.\n             */\n            unit: string;\n        };\n        /**\n         * An object representing the price of a purchased plan.\n         */\n        type Price = {\n            /**\n             * Payment currency. A three-letter\n             *  [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.\n             */\n            currency: string;\n            /**\n             * The cost of the plan.\n             */\n            amount: number;\n        };\n        /**\n         * An object representing a purchase for a non-free plan.\n         */\n        type Purchase = {\n            /**\n             * The order being purchased.\n             */\n            order: Orders.Order;\n            /**\n             * Payment status in [Wix Pay](https://www.wix.com/velo/reference/wix-pay-frontend). Omitted for free plans.\n             *  One of:\n             *  + `\"Successful\"`: Payment was successfully received.\n             *  + `\"Pending\"`: Payment is pending payment provider approval.\n             *  + `\"Failed\"`: Payment has failed.\n             *  + `\"Chargeback\"`: Payment is chargeback.\n             *  + `\"Refunded\"`: Payment was fully refunded.\n             *  + `\"Offline\"`: Payment will be executed offline.\n             *  + `\"PartiallyRefunded\"`: Payment was partially refunded.\n             *  + `\"Cancelled\"`: Payment was cancelled and was not processed.\n             *  + `\"Undefined\"`: Payment status is pending payment provider input.\n             */\n            wixPayStatus?: string;\n        };\n        /**\n         * An object representing how long a plan is valid.\n         */\n        type ValidFor = {\n            /**\n             * If true, the plan does not expire.\n             */\n            forever: boolean;\n            /**\n             * Object containing the period for which the plan is valid.\n             */\n            period: Checkout.Period;\n        };\n    }\n    /**\n     * The Custom Purchase Flow API contains functionality for customizing the plan purchase flow on a site.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.CustomPurchaseFlow.html#)\n     */\n    namespace CustomPurchaseFlow {\n        /**\n         * Sets the data associated with the Checkout page.\n         */\n        type CheckoutOptions = {\n            /**\n             * Selected pricing plan ID.\n             */\n            planId: string;\n            /**\n             * Earliest date the selected plan can start in `yyyy-MM-dd` format.\n             */\n            minStartDate?: string;\n            /**\n             * Latest date the selected plan can start in `yyyy-MM-dd` format.\n             */\n            maxStartDate?: string;\n            /**\n             * The data associated with the Thank You page.\n             */\n            thankYouPage?: CustomPurchaseFlow.ThankYouPage;\n        };\n        /**\n         * Sets the data associated with the Checkout page.\n         */\n        type CheckoutPageOptions = {\n            /**\n             * Earliest date the selected plan can start in `yyyy-MM-dd` format.\n             */\n            minStartDate?: string;\n            /**\n             * Latest date the selected plan can start in `yyyy-MM-dd` format.\n             */\n            maxStartDate?: string;\n            /**\n             * The data associated with the Thank You page.\n             */\n            thankYouPage?: CustomPurchaseFlow.ThankYouPage;\n        };\n        /**\n         * Settings for the display of the Plans & Pricing page and subsequent pages in the plan purchase flow.\n         */\n        type PricingPageOptions = {\n            /**\n             * List of plan IDs displayed on the Plans & Pricing page.\n             */\n            planIds?: string[];\n            /**\n             * Plans & Pricing page title.\n             */\n            title?: string;\n            /**\n             * Plans & Pricing page subtitle.\n             */\n            subtitle?: string;\n            /**\n             * The data associated with the Checkout page.\n             */\n            checkout?: CustomPurchaseFlow.CheckoutPageOptions;\n        };\n        /**\n         * Options to customize the Thank You page that's displayed after a customer purchases a plan.\n         */\n        type ThankYouPage = {\n            /**\n             * The content displayed on the Thank You page.\n             */\n            content?: CustomPurchaseFlow.content;\n            /**\n             * The page to navigate to when a user clicks the button on the Thank You Page.\n             * It must be a page on a site.\n             */\n            navigation?: CustomPurchaseFlow.navigation;\n        };\n        /**\n         * The content displayed on the Thank You page.\n         */\n        type content = {\n            /**\n             * Thank You page title.\n             */\n            title?: string;\n            /**\n             * Thank You page body.\n             */\n            message?: string;\n            /**\n             * Thank You page button label.\n             */\n            cta?: string;\n        };\n        /**\n         * The page to navigate to when a user clicks the button on the Thank You Page.\n         * It must be a page on a site.\n         */\n        type navigation = {\n            /**\n             * URL of a page on a site. The link may be relative or a site's base URL. Examples:\n             * + `/home`\n             * + `https://my.wixsite.com/path`\n             */\n            url: string;\n            /**\n             * Link type.\n             *\n             * Supported values:\n             *  - `\"url\"`\n             */\n            type: string;\n        };\n    }\n    /**\n     * The Pricing Plans Orders API contains functionality for managing\n     *  a site's pricing plan [orders](https://support.wix.com/en/article/pricing-plans-an-overview).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-pricing-plans-frontend.Orders.html#)\n     */\n    namespace Orders {\n        /**\n         * Buyer details.\n         */\n        type Buyer = {\n            /**\n             * Member ID for the buyer. See the Members API to learn more about a site's members.\n             */\n            memberId: string;\n            /**\n             * Contact ID for the buyer. See the Contacts API to learn more about a site's contacts.\n             */\n            contactId: string;\n        };\n        /**\n         * Details about the cancellation of an order. Only present if the order `status` is `\"CANCELED\"`.\n         */\n        type Cancellation = {\n            /**\n             * Date and time when the cancellation was requested.\n             */\n            requestedDate: Date;\n            /**\n             * The reason for the cancellation.\n             * Supported values:\n             *  + `\"OWNER_ACTION\"`: The Wix user canceled the order.\n             *  + `\"MEMBER_ACTION\"`: The buyer initiated the cancellation.\n             *  + `\"PAYMENT_FAILURE\"`: A payment transaction failed.\n             *  + `\"PAYMENT_SETUP_FAILURE\"`: The buyer's payment details weren't set up correctly.\n             */\n            cause: string;\n            /**\n             * When the cancellation takes effect. Set when cancelling the order.\n             * Supported values:\n             *  + `\"IMMEDIATELY\"`: The cancellation occurs immediately and the buyer can no longer use the plan at this point.\n             *  + `\"NEXT_PAYMENT_DATE\"`: The cancellation occurs at the next payment date and time. The buyer can continue to use the plan until that date and time.\n             */\n            effectiveAt: string;\n        };\n        /**\n         * Coupon applied to the order.\n         *\n         * To learn more about coupons, see `applyCoupon()`.\n         */\n        type Coupon = {\n            /**\n             * Code of the applied coupon.\n             */\n            code: string;\n            /**\n             * Total discount of the coupon, as a monetary amount.\n             */\n            amount: string;\n            /**\n             * Coupon ID.\n             */\n            id: string;\n        };\n        /**\n         * Current payment cycle for the order.\n         *\n         * `currentCycle` will be omitted if the order's `status` is `CANCELED` or `ENDED`, or if the `startDate` hasn't been reached yet.\n         */\n        type CurrentCycle = {\n            /**\n             * Index of the current payment cycle in the order.\n             *\n             * `0` when the order is in a free trial period. In all other cases, the index starts with `1`.\n             */\n            index: number;\n            /**\n             * Start date and time for the current payment cycle.\n             */\n            startedDate: Date;\n            /**\n             * End date and time for the current payment cycle.\n             */\n            endedDate: Date;\n        };\n        /**\n         * Fields to filter by when listing orders for the current member.\n         */\n        type CurrentMemberFilterOptions = {\n            /**\n             * Specific IDs of plans that were ordered by the current member.\n             */\n            planIds?: string[];\n            /**\n             * Whether the auto-renewal of the current member's recurring orders was canceled.\n             */\n            autoRenewCanceled?: boolean;\n            /**\n             * Specific statuses for the current member's orders.\n             *  + `\"DRAFT\"`: The order has been initiated but payment hasn't been processed yet. The plan isn't yet available for use.\n             *  + `\"PENDING\"`: Payment is being processed. The plan isn't yet available for use.\n             *  + `\"ACTIVE\"`: The order has been processed and paid for. The plan is available for use.\n             *  + `\"PAUSED\"`: Use of the plan has been paused, see `pauseOrder()`, for example, if the buyer is away. The plan can be resumed, see `resumeOrder()`.\n             *  + `\"ENDED\"`: The order has completed its duration and is no longer available for use.\n             *  + `\"CANCELED\"`: The order has been canceled, see `cancelOrder()`.\n             */\n            orderStatuses?: string[];\n            /**\n             * Specific payment statuses for the current member's orders.\n             *  + `\"PAID\"`: The last payment was paid.\n             *  + `\"REFUNDED\"`: The last payment was refunded.\n             *  + `\"FAILED\"`: The last payment transaction didn't complete.\n             *  + `\"UNPAID\"`: The last payment wasn't paid.\n             *  + `\"PENDING\"`: Awaiting payment.\n             *  + `\"NOT_APPLICABLE\"`: No payment was necessary, such as for free plans or free trials.\n             */\n            paymentStatuses?: string[];\n        };\n        /**\n         * Length of one payment cycle. For example, `1` `MONTH` for monthly payments.\n         */\n        type Duration = {\n            /**\n             * The amount of a duration `unit` in a single payment cycle.\n             *\n             * Currently limited to support only value of `1`.\n             */\n            count: number;\n            /**\n             * Unit of time for the cycle duration.\n             *\n             * Supported values: `\"UNDEFINED\"`, `\"DAY\"`, `\"WEEK\"`, `\"MONTH\"`, `\"YEAR\"`\n             */\n            unit: string;\n        };\n        type Order = {\n            /**\n             * Order ID.\n             */\n            _id: string;\n            /**\n             * ID of the plan that was ordered.\n             */\n            planId: string;\n            /**\n             * ID of the related Wix subscription.\n             *\n             * Every pricing plan order corresponds to a Wix subscription, including orders for single payment plans. You can see all orders from a site's [Subscriptions](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsubscriptions%3FreferralInfo%3Dvelo-docs) page in the dashboard.\n             */\n            subscriptionId: string;\n            /**\n             * ID of the associated Wix Pay order.\n             *\n             * Created by the `createOnlineOrder()` or `createOfflineOrder()` method. For online orders, send this value as a parameter to the Wix Pay `startPayment()` method to enable a buyer to pay for an order. `wixPayOrderId` is omitted if the order is free.\n             */\n            wixPayOrderId?: string;\n            /**\n             * The buyer's IDs. Includes `memberId` and `contactId`.\n             *\n             * Currently, Pricing Plan orders are limited to members only. `contactId` is returned, but a buyer won't be able to order a plan without a `memberId`.\n             */\n            buyer: Orders.Buyer;\n            /**\n             * **Deprecated.** Use `pricing` instead.\n             */\n            priceDetails: Orders.PriceDetails;\n            /**\n             * Order pricing model, price, and payment schedule. See Pricing Models ([SDK](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/introduction#pricing-models) | [Velo](https://dev.wix.com/docs/velo/apis/wix-pricing-plans-backend/introduction#apis_wix-pricing-plans-backend_pricing-models)) to learn more.\n             */\n            pricing?: Orders.Pricing;\n            /**\n             * How the order was processed.\n             * Supported values:\n             *  + `\"ONLINE\"`: The buyer ordered the plan using the site.\n             *  + `\"OFFLINE\"`: The buyer made a manual, offline order without using the site.\n             */\n            type: string;\n            /**\n             * Status of the order.\n             * Supported values:\n             *  + `\"DRAFT\"`: The order has been initiated but payment hasn't been processed yet. The plan isn't yet available for use.\n             *  + `\"PENDING\"`: The order has been processed and its start date is set in the future. The plan isn't yet available for use.\n             *  + `\"ACTIVE\"`: The order has been processed. The plan is available for use.\n             *  + `\"PAUSED\"`: The order and use of the plan is paused, see `pauseOrder()`. For example, if the buyer is away. The order and use of the plan can be resumed, see `resumeOrder()`.\n             *  + `\"ENDED\"`: The order has completed its duration and is no longer available for use.\n             *  + `\"CANCELED\"`: The order has been canceled, see `cancelOrder()`.\n             */\n            status: string;\n            /**\n             * Whether the order will be canceled at the next payment date.\n             *\n             * If `true`, the order `status` will be `\"CANCELED\"` and the next payment won't be charged. Omitted for single payment orders.\n             */\n            autoRenewCanceled?: boolean;\n            /**\n             * Details about the cancellation of an order. Only present if the `status` is `\"CANCELED\"`.\n             */\n            cancellation?: Orders.Cancellation;\n            /**\n             * Status of the last payment for the order. This is updated automatically for online orders. The Wix user updates this manually for offline orders.\n             * Supported values:\n             *  + `\"PAID\"`: The last payment was paid.\n             *  + `\"REFUNDED\"`: The last payment was refunded.\n             *  + `\"FAILED\"`: The last payment transaction didn't complete.\n             *  + `\"UNPAID\"`: The last payment wasn't paid.\n             *  + `\"PENDING\"`: Awaiting payment.\n             *  + `\"NOT_APPLICABLE\"`: No payment was necessary. For example, for free plans or free trials.\n             */\n            lastPaymentStatus: string;\n            /**\n             * Start date and time for the ordered plan.\n             */\n            startDate: Date;\n            /**\n             * Current date and time the ordered plan will expire.\n             *\n             * `endDate` may be updated over the course of an order. If the order is paused, see `pauseOrder()`, it will have a later `endDate` once it resumes, see `resumeOrder()`. `endDate` may also be postponed, see `postponeEndDate()`.\n             *\n             * Omitted if the order is valid until canceled and still `\"ACTIVE\"`.\n             */\n            endDate?: Date;\n            /**\n             * List of periods during which this order is paused.\n             */\n            pausePeriods: Orders.PausePeriod[];\n            /**\n             * Free trial period, in days. Only available for recurring plans.\n             */\n            freeTrialDays?: string;\n            /**\n             * Earliest end date and time that the plan for this order can expire.\n             *\n             * This is calculated by adding all pause periods to the original end date. Omitted if the order is active until canceled. Reserved for future use.\n             */\n            earliestEndDate?: Date;\n            /**\n             * Current payment cycle for the order.\n             *\n             * `currentCycle` will be omitted if the order's status is `\"CANCELED\"` or `\"ENDED\"`, or if the `startDate` hasn't passed yet.\n             */\n            currentCycle: Orders.CurrentCycle;\n            /**\n             * Name of the plan at the time of the order.\n             */\n            planName: string;\n            /**\n             * Description of the plan at the time of the order.\n             */\n            planDescription: string;\n            /**\n             * Plan price as it was at the moment of order creation.\n             */\n            planPrice: string;\n            /**\n             * Date and time the order was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the order was last updated. For example, the date and time an order was paused, resumed, or canceled.\n             */\n            _updatedDate: Date;\n        };\n        /**\n         * The order has recurring payments.\n         */\n        type OrderRecurrence = {\n            /**\n             * Length of one payment cycle. For example, `1` `MONTH` for monthly payments.\n             */\n            cycleDuration: Orders.Duration;\n            /**\n             * Amount of payment cycles this subscription is valid for.\n             *\n             * `0` for orders of plans that are unlimited or until-canceled.\n             */\n            cycleCount: number;\n        };\n        type PaginationOptions = {\n            /**\n             * Limit the number of orders returned.\n             *\n             * Default: `50`\n             */\n            limit?: number;\n            /**\n             * Number of entries to skip.\n             */\n            skip?: number;\n        };\n        /**\n         * Period during which the order of a plan is suspended.\n         */\n        type PausePeriod = {\n            /**\n             * Status of the pause period.\n             * Supported values:\n             *  + `\"ACTIVE\"`. Status while the order is [paused](https://dev.wix.com/docs/velo/apis/wix-pricing-plans-v2/orders/pause-order).\n             *  + `\"ENDED\"`. Status while the order is [resumed](https://dev.wix.com/docs/velo/apis/wix-pricing-plans-v2/orders/resume-order).\n             */\n            status: string;\n            /**\n             * Start date and time of the pause period.\n             */\n            pauseDate: Date;\n            /**\n             * End date and time of the pause period.\n             *\n             * Omitted while the pause period remains `\"ACTIVE\"`.\n             */\n            resumeDate: Date;\n        };\n        /**\n         * Order price details.\n         */\n        type Price = {\n            /**\n             * Price of the order excluding tax, specified as a monetary amount. For example, `\"9.99\"`.\n             */\n            subtotal: string;\n            /**\n             * Coupon applied to the order.\n             *\n             * To learn more about coupons, see `applyCoupon()`.\n             */\n            coupon: Orders.Coupon;\n            /**\n             * Total discount applied to the order.\n             */\n            discount: string;\n            /**\n             * Tax applied to the order.\n             */\n            tax?: Orders.Tax;\n            /**\n             * Price after tax and discount is applied, specified as a monetary amount. For example, `\"13.98\"`.\n             *\n             * If no tax is applied, this amount is the same as `subtotal`.\n             */\n            total: string;\n            /**\n             * 3-letter currency code in [ISO 4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n             */\n            currency: string;\n        };\n        /**\n         * **Deprecated.** Use `pricing` instead.\n         */\n        type PriceDetails = {\n            /**\n             * Price of the order, excluding tax. Specified as a monetary amount, such as `\"3.99\"`.\n             */\n            subtotal: string;\n            /**\n             * Tax applied for the plan. Omitted if no tax was applied.\n             */\n            tax?: Orders.Tax;\n            /**\n             * Price after tax is applied. Specified as a monetary amount, such as `\"4.98\"`. If no tax was applied, this amount is the same as `subtotal`.\n             */\n            total: string;\n            /**\n             * Price of the plan when the order was created. This price is the amount for a single payment. For subscriptions, this is the amount to pay for each single payment cycle and the `planPrice` is required. Otherwise, the payment is for the entire plan.\n             */\n            planPrice: string;\n            /**\n             * Currency code. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code (for example, `\"USD\"`).\n             */\n            currency: string;\n            /**\n             * Pricing model indicating that the order has recurring payments. This type of subscription isn't a \"Wix subscription,\" which encompasses various types of subscriptions, such as Wix Stores subscriptions, Wix invoice subscriptions, and *all* pricing plan models.\n             */\n            subscription?: Orders.OrderRecurrence;\n            /**\n             * Pricing model indicating that the order is paid with a single payment per cycle and what the length of the cycle is. The cycle is the duration of the order's plan, not a payment cycle.\n             */\n            singlePaymentForDuration?: Orders.Duration;\n            /**\n             * Pricing model indicating that the order of the plan is paid in 1 single payment and that the order is active until canceled.\n             */\n            singlePaymentUnlimited?: boolean;\n            /**\n             * Free trial period for the order in days. Available only for orders whose plans are recurring, meaning plans whose pricing model is `subscription`.\n             */\n            freeTrialDays?: number;\n        };\n        /**\n         * Cycle duration to apply `price` for.\n         */\n        type PriceDuration = {\n            /**\n             * Price starts to apply with this cycle.\n             *\n             * `1` is the first payment cycle for all pricing models.\n             */\n            cycleFrom: number;\n            /**\n             * Amount of cycles to apply price for.\n             *\n             * For `subscription` pricing models with a finite number of cycles, the `numberOfCycles` is the same as `pricing.subscription.cycleCount`.\n             *\n             * For `subscription` pricing models that are unlimited or until-canceled, the `numberOfCycles` isn't returned.\n             *\n             * For `singlePaymentForDuration` and `singlePaymentUnlimited` pricing models, the `numberOfCycles` is `1`.\n             */\n            numberOfCycles: number;\n        };\n        /**\n         * Pricing details for all pricing models.\n         */\n        type Prices = {\n            /**\n             * Cycle duration to apply `price` for.\n             *\n             * Use with all pricing models. Can apply the same price to multiple payment cycles.\n             */\n            duration: Orders.PriceDuration;\n            /**\n             * Order price.\n             */\n            price: Orders.Price;\n        };\n        /**\n         * Order pricing model, price, and payment schedule.\n         */\n        type Pricing = {\n            /**\n             * Pricing model for an order with recurring payment cycles.\n             */\n            subscription?: Orders.OrderRecurrence;\n            /**\n             * Pricing model for an order with a one-time payment and the order is valid for a specific amount of time.\n             */\n            singlePaymentForDuration?: Orders.Duration;\n            /**\n             * Pricing model for an order with a one-time payment and the order is valid until canceled.\n             */\n            singlePaymentUnlimited?: boolean;\n            /**\n             * Pricing details for all pricing models.\n             */\n            prices: Orders.Prices;\n        };\n        /**\n         * Sorting details.\n         */\n        type SortingOptions = {\n            /**\n             * Name of the property to sort by.\n             *\n             * Supported values: `_createdDate`, `endDate`\n             *\n             * Default: `_createdDate`\n             */\n            fieldName?: string;\n            /**\n             * Sort order.\n             *\n             * Supported values:\n             * + `\"ASC\"`: Ascending\n             * + `\"DESC\"`: Descending\n             *\n             * Default: `\"ASC\"`\n             */\n            order?: string;\n        };\n        /**\n         * Tax applied to the order. If empty, no tax was applied.\n         */\n        type Tax = {\n            /**\n             * Name of the tax. For example, VAT.\n             */\n            name: string;\n            /**\n             * Whether tax is included in the original price. When `false`, tax is added at checkout.\n             */\n            includedInPrice: boolean;\n            /**\n             * Tax rate percentage, as a number between 0 and 100. For example, a 7% tax rate is `\"7.00\"`.\n             */\n            rate: string;\n            /**\n             * Total tax, specified as a monetary amount. For example, `\"3.99\"`.\n             */\n            amount: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-realtime.d.ts",
      "content": "/**\n * The wix-realtime module contains functionality for publishing messages\n *  on channels that site visitors can subscribe to.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime.html#)\n */\ndeclare module 'wix-realtime' {\n    /**\n     * Adds an event handler that runs when a connection or reconnection\n     *  occurs.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime.html#onConnected)\n     */\n    function onConnected(handler: ConnectionHandler): void;\n    /**\n     * Adds an event handler that runs when a disconnection occurs.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime.html#onDisconnected)\n     */\n    function onDisconnected(handler: DisconnectionHandler): void;\n    /**\n     * Adds an event handler that runs when an error occurs.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime.html#onError)\n     */\n    function onError(handler: ErrorHandler): void;\n    /**\n     * Subscribes to a channel or channel resource.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime.html#subscribe)\n     */\n    function subscribe(channel: Channel, handler: MessageHandler): Promise<string>;\n    /**\n     * Unsubscribes from a channel or channel resource.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime.html#unsubscribe)\n     */\n    function unsubscribe(options: UnsubscribeOptions): Promise<void>;\n    /**\n     * An object representing a channel or channel resource.\n     *  Site visitors can subscribe to a channel or channel resource to receive the\n     *  messages that are published on it. When site visitors subscribe to a channel, they do not\n     *  receive messages published to a resource on that same channel. Similarly,\n     *  when site visitors subscribe to a channel resource, they do not\n     *  receive messages published to that same channel without a specified resource.\n     *  Channel resources inherit their parent channel's permissions, unless specified\n     *  otherwise.\n     */\n    type Channel = {\n        /**\n         * Channel name. Cannot exceed 140 characters.\n         */\n        name: string;\n        /**\n         * ID of a specific channel resource.\n         */\n        resourceId?: string;\n    };\n    /**\n     * An object representing an error.\n     */\n    type Error = {\n        /**\n         * Error code.\n         *\n         *  One of:\n         *\n         *  + `1`: Connection error\n         *  + `2`: Subscription error (error will also include a channel value)\n         *  + `3`: Bad input\n         */\n        errorCode: number;\n        /**\n         * Error message.\n         */\n        message: string;\n        /**\n         * Channel related to the error.\n         */\n        channel?: Channel;\n    };\n    /**\n     * An object representing a published message.\n     */\n    type Message = {\n        /**\n         * Message payload.\n         *  Max: 10kb\n         */\n        payload: any;\n        /**\n         * Message publisher, if sent.\n         */\n        publisher?: Publisher;\n    };\n    /**\n     * An object representing a publisher.\n     */\n    type Publisher = {\n        /**\n         * ID of the publisher.\n         */\n        id: string;\n    };\n    /**\n     * An object containing options to be used when unsubscribing from a\n     *  channel or channel resource.\n     */\n    type UnsubscribeOptions = {\n        /**\n         * The channel, and optionally the resource, to\n         *  unsubscribe from. Use this property when unsubscribing from all subscriptions to a channel\n         *  or channel resource.\n         */\n        channel?: Channel;\n        /**\n         * ID of the subscription to unsubscribe from. Use this\n         *  property when unsubscribing from one of multiple subscriptions to a channel or channel\n         *  resource.\n         */\n        subscriptionId?: string;\n    };\n    type ConnectionHandler = () => void;\n    type DisconnectionHandler = () => void;\n    type ErrorHandler = (error: Error) => void;\n    type MessageHandler = (message: Message, channel: Channel) => void;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-realtime-frontend.d.ts",
      "content": "/**\n * The wix-realtime-frontend module contains functionality for publishing messages\n *  on channels that site visitors can subscribe to.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-frontend.html#)\n */\ndeclare module 'wix-realtime-frontend' {\n    /**\n     * Adds an event handler that runs when a connection or reconnection\n     *  occurs.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-frontend.html#onConnected)\n     */\n    function onConnected(handler: ConnectionHandler): void;\n    /**\n     * Adds an event handler that runs when a disconnection occurs.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-frontend.html#onDisconnected)\n     */\n    function onDisconnected(handler: DisconnectionHandler): void;\n    /**\n     * Adds an event handler that runs when an error occurs.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-frontend.html#onError)\n     */\n    function onError(handler: ErrorHandler): void;\n    /**\n     * Subscribes to a channel or channel resource.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-frontend.html#subscribe)\n     */\n    function subscribe(channel: Channel, handler: MessageHandler): Promise<string>;\n    /**\n     * Unsubscribes from a channel or channel resource.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-realtime-frontend.html#unsubscribe)\n     */\n    function unsubscribe(options: UnsubscribeOptions): Promise<void>;\n    /**\n     * An object representing a channel or channel resource.\n     *  Site visitors can subscribe to a channel or channel resource to receive the\n     *  messages that are published on it. When site visitors subscribe to a channel, they do not\n     *  receive messages published to a resource on that same channel. Similarly,\n     *  when site visitors subscribe to a channel resource, they do not\n     *  receive messages published to that same channel without a specified resource.\n     *  Channel resources inherit their parent channel's permissions, unless specified\n     *  otherwise.\n     */\n    type Channel = {\n        /**\n         * Channel name. Cannot exceed 140 characters.\n         */\n        name: string;\n        /**\n         * ID of a specific channel resource.\n         */\n        resourceId?: string;\n    };\n    /**\n     * An object representing an error.\n     */\n    type Error = {\n        /**\n         * Error code.\n         *\n         *  One of:\n         *\n         *  + `1`: Connection error\n         *  + `2`: Subscription error (error will also include a channel value)\n         *  + `3`: Bad input\n         */\n        errorCode: number;\n        /**\n         * Error message.\n         */\n        message: string;\n        /**\n         * Channel related to the error.\n         */\n        channel?: Channel;\n    };\n    /**\n     * An object representing a published message.\n     */\n    type Message = {\n        /**\n         * Message payload.\n         *  Max: 10kb\n         */\n        payload: any;\n        /**\n         * Message publisher, if sent.\n         */\n        publisher?: Publisher;\n    };\n    /**\n     * An object representing a publisher.\n     */\n    type Publisher = {\n        /**\n         * ID of the publisher.\n         */\n        id: string;\n    };\n    /**\n     * An object containing options to be used when unsubscribing from a\n     *  channel or channel resource.\n     */\n    type UnsubscribeOptions = {\n        /**\n         * The channel, and optionally the resource, to\n         *  unsubscribe from. Use this property when unsubscribing from all subscriptions to a channel\n         *  or channel resource.\n         */\n        channel?: Channel;\n        /**\n         * ID of the subscription to unsubscribe from. Use this\n         *  property when unsubscribing from one of multiple subscriptions to a channel or channel\n         *  resource.\n         */\n        subscriptionId?: string;\n    };\n    type ConnectionHandler = () => void;\n    type DisconnectionHandler = () => void;\n    type ErrorHandler = (error: Error) => void;\n    type MessageHandler = (message: Message, channel: Channel) => void;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-seo.d.ts",
      "content": "/**\n * The wix-seo module contains functionality for working with\n *  [a site's SEO](https://support.wix.com/en/article/search-engine-optimization-seo) from\n *  frontend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-seo.html#)\n */\ndeclare module 'wix-seo' {\n    /**\n     * Gets the page's SEO-related link tags.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo.html#links)\n     */\n    const links: Link[];\n    /**\n     * Gets the page's SEO-related meta tags.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo.html#metaTags)\n     */\n    const metaTags: MetaTag[];\n    /**\n     * Gets the page's structured data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo.html#structuredData)\n     */\n    const structuredData: any[];\n    /**\n     * Gets the page's title.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo.html#title)\n     */\n    const title: string;\n    /**\n     * Sets the page's SEO-related link tags.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo.html#setLinks)\n     */\n    function setLinks(links: Link[]): Promise<void>;\n    /**\n     * Sets the page's SEO-related meta tags.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo.html#setMetaTags)\n     */\n    function setMetaTags(metaTags: MetaTag[]): Promise<void>;\n    /**\n     * Sets the page's structured data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo.html#setStructuredData)\n     */\n    function setStructuredData(structuredData: any[]): Promise<void>;\n    /**\n     * Sets the page's title.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo.html#setTitle)\n     */\n    function setTitle(title: string): Promise<void>;\n    /**\n     * An object representing a link tag.\n     */\n    type Link = {\n        /**\n         * The relationship of the linked resource to the current page.\n         */\n        rel?: string;\n        /**\n         * The URL of the linked resource.\n         */\n        href?: string;\n    };\n    /**\n     * An object representing a meta tag.\n     */\n    type MetaTag = {\n        /**\n         * Name of the meta tag. Either `name` or `property` are required.\n         */\n        name?: string;\n        /**\n         * Name of the meta tag property. Either `property` or `name` are required.\n         */\n        property?: string;\n        /**\n         * HTTP header that corresponds to the `content`.\n         */\n        \"http-equiv\"?: string;\n        /**\n         * Meta tag value. For `og:image` meta tags, the `content` can\n         *  be an external image URL or a Media Manager image URL as described [here]($w.Image.html#src).\n         */\n        content: string;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-seo-frontend.d.ts",
      "content": "/**\n * The wix-seo-frontend module contains functionality for working with\n *  [your site's SEO](https://support.wix.com/en/article/search-engine-optimization-seo) from\n *  client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-seo-frontend.html#)\n */\ndeclare module 'wix-seo-frontend' {\n    /**\n     * Gets the page's SEO-related link tags.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo-frontend.html#links)\n     */\n    const links: Link[];\n    /**\n     * Gets the page's SEO-related meta tags.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo-frontend.html#metaTags)\n     */\n    const metaTags: MetaTag[];\n    /**\n     * Gets the page's structured data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo-frontend.html#structuredData)\n     */\n    const structuredData: any[];\n    /**\n     * Gets the page's title.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo-frontend.html#title)\n     */\n    const title: string;\n    /**\n     * Sets the page's SEO-related link tags.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo-frontend.html#setLinks)\n     */\n    function setLinks(links: Link[]): Promise<void>;\n    /**\n     * Sets the page's SEO-related meta tags.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo-frontend.html#setMetaTags)\n     */\n    function setMetaTags(metaTags: MetaTag[]): Promise<void>;\n    /**\n     * Sets the page's structured data.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo-frontend.html#setStructuredData)\n     */\n    function setStructuredData(structuredData: any[]): Promise<void>;\n    /**\n     * Sets the page's title.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-seo-frontend.html#setTitle)\n     */\n    function setTitle(title: string): Promise<void>;\n    /**\n     * An object representing a link tag.\n     */\n    type Link = {\n        /**\n         * The relationship of the linked resource to the current page.\n         */\n        rel?: string;\n        /**\n         * The URL of the linked resource.\n         */\n        href?: string;\n    };\n    /**\n     * An object representing a meta tag.\n     */\n    type MetaTag = {\n        /**\n         * Name of the meta tag. Either `name` or `property` are required.\n         */\n        name?: string;\n        /**\n         * Name of the meta tag property. Either `property` or `name` are required.\n         */\n        property?: string;\n        /**\n         * HTTP header that corresponds to the `content`.\n         */\n        \"http-equiv\"?: string;\n        /**\n         * Meta tag value. For `og:image` meta tags, the `content` can\n         *  be an external image URL or a Media Manager image URL as described [here]($w.Image.html#src).\n         */\n        content: string;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-stores-frontend.d.ts",
      "content": "/**\n * The wix-stores-frontend module contains functionality for working with a\n *  site's store from frontend code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.html#)\n */\ndeclare module 'wix-stores-frontend' {\n    /**\n     * The wix-stores-frontend.cart module provides functionality for working with a site's cart from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.html#cart)\n     */\n    const cart: Cart;\n    /**\n     * The wix-stores-frontend.navigate module provides functionality for navigating a store from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.html#navigate)\n     */\n    const navigate: Navigate;\n    /**\n     * The wix-stores-frontend.product module provides functionality for working with a store's products from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.html#product)\n     */\n    const product: Product;\n    /**\n     * An object representing an address.\n     */\n    type CartAddress = {\n        /**\n         * First name.\n         */\n        firstName: string;\n        /**\n         * Last name.\n         */\n        lastName: string;\n        /**\n         * Email address.\n         */\n        email: string;\n        /**\n         * Phone number.\n         */\n        phone: string;\n        /**\n         * Address.\n         */\n        address: string;\n    };\n    /**\n     * An object representing a coupon applied in a shopping cart.\n     */\n    type CartAppliedCoupon = {\n        /**\n         * Coupon code.\n         */\n        code: string;\n        /**\n         * Coupon unique identifier.\n         */\n        couponId: string;\n        /**\n         * Coupon name.\n         */\n        name: string;\n        /**\n         * Type of coupon.\n         *  One of:\n         *\n         *  + `\"BuyXGetY\"`\n         *  + `\"FixedPriceAmount\"`\n         *  + `\"FreeShipping\"`\n         *  + `\"MoneyOffAmount\"`\n         *  + `\"PercentOffRate\"`\n         */\n        couponType: string;\n        /**\n         * Value of the coupon discount.\n         */\n        discountValue: string;\n    };\n    /**\n     * An object representing a visitor who abandoned a shopping cart.\n     */\n    type CartBuyerInfo = {\n        /**\n         * Buyer's unique ID.\n         */\n        id: string;\n        /**\n         * Buyer's email address.\n         */\n        email: string;\n        /**\n         * Buyer's first name.\n         */\n        firstName: string;\n        /**\n         * Buyer's last name.\n         */\n        lastName: string;\n        /**\n         * Buyer's identity.\n         *  One of:\n         *\n         *  + `\"ADMIN\"`: Buyer is the site owner.\n         *  + `\"MEMBER\"`: Buyer is a logged-in site member.\n         *  + `\"VISITOR\"`: Buyer is not logged in.\n         *  + `\"CONTACT\"`: A contact has been created for the buyer.\n         */\n        identityType: string;\n        /**\n         * Buyer's phone number.\n         */\n        phone: string;\n    };\n    /**\n     * An object representing a custom text field.\n     */\n    type CartCustomTextField = {\n        /**\n         * Field title.\n         */\n        title: string;\n        /**\n         * Field value.\n         */\n        value: string;\n    };\n    /**\n     * An object representing a line item in a shopping cart.\n     */\n    type CartLineItem = {\n        /**\n         * Cart line item ID.\n         */\n        id: number;\n        /**\n         * Name of the line item.\n         */\n        name: string;\n        /**\n         * Notes about the line item.\n         */\n        notes: string;\n        /**\n         * Line item price.\n         */\n        price: string;\n        /**\n         * Line item product ID.\n         */\n        productId: string;\n        /**\n         * Line item quantity.\n         */\n        quantity: number;\n        /**\n         * Line item stock keeping unit.\n         */\n        sku: string;\n        /**\n         * Total price charged to the customer for all line items after any applicable discounts.\n         */\n        totalPrice: string;\n        /**\n         * Line item weight.\n         */\n        weight: string;\n        /**\n         * Type of the line item.\n         *  One of:\n         *\n         *  + `\"DIGITAL\"`: Digital item.\n         *  + `\"PHYSICAL\"`: Physical item.\n         *  + `\"CUSTOM_AMOUNT_ITEM\"`: Item with a custom price.\n         *  + `\"UNSPECIFIED\"`: Type can't be classified due to an error.\n         */\n        lineItemType: string;\n        /**\n         * Line item options.\n         */\n        options: Option[];\n        /**\n         * Media item.\n         */\n        mediaItem: CartMediaItem;\n        /**\n         * Custom text.\n         */\n        customTextFields: CartCustomTextField[];\n    };\n    /**\n     * An object representing a line item's primary media.\n     */\n    type CartMediaItem = {\n        /**\n         * Media item type. Currently only `\"IMAGE\"` type supported.\n         */\n        type: string;\n        /**\n         * Media item source for media uploaded to Wix (wix:image, wix:video or external URL).\n         */\n        src: string;\n    };\n    /**\n     * An object representing a shopping cart.\n     */\n    type CartObj = {\n        /**\n         * Unique identifier of the shopping cart.\n         */\n        _id: string;\n        /**\n         * Coupon applied in the shopping cart.\n         */\n        appliedCoupon: CartAppliedCoupon;\n        /**\n         * Cart billing address.\n         */\n        billingAddress: CartAddress;\n        /**\n         * The buyer's information.\n         */\n        buyerInfo: CartBuyerInfo;\n        /**\n         * Cart status. Either `\"INCOMPLETE\"` or `\"COMPLETE\"`.\n         */\n        status: string;\n        /**\n         * Currency of the shopping cart.\n         */\n        currency: Currency;\n        /**\n         * The shopping cart's shipping information.\n         */\n        shippingInfo: CartShippingInfo;\n        /**\n         * Items in the shopping cart.\n         */\n        lineItems: CartLineItem[];\n        /**\n         * The shopping cart's totals.\n         */\n        totals: OrderTotals;\n        /**\n         * The order's units of weight. One of: `\"KG\"`, `\"LB\"`, or `\"UNSPECIFIED_WEIGHT_UNIT\"`.\n         */\n        weightUnit: string;\n    };\n    /**\n     * An object representing shipping information.\n     */\n    type CartShippingInfo = {\n        /**\n         * Shipment address.\n         */\n        shippingAddress?: CartAddress;\n        /**\n         * Pickup address.\n         */\n        pickupInfo?: CartAddress;\n    };\n    /**\n     * An object representing a currency.\n     */\n    type Currency = {\n        /**\n         * The currency code.\n         */\n        currency: string;\n    };\n    /**\n     * An object representing a media item.\n     */\n    type MediaItem = {\n        /**\n         * Media item ID.\n         */\n        id: string;\n        /**\n         * Media item title.\n         */\n        title: string;\n        /**\n         * Media item description.\n         */\n        description: string;\n        /**\n         * Media items type. Can be \"image\" or \"video.\"\n         */\n        type: string;\n        /**\n         * Media item URL.\n         */\n        src: string;\n        /**\n         * Thumbnail URL for videos only.\n         */\n        thumbnail?: string;\n    };\n    /**\n     * An object representing a line item option.\n     */\n    type Option = {\n        /**\n         * Name of the product option.\n         */\n        option: string;\n        /**\n         * Selected option.\n         */\n        selection: string;\n    };\n    /**\n     * An object representing an order's totals.\n     */\n    type OrderTotals = {\n        /**\n         * The subtotal of all the order's line items, excluding tax.\n         */\n        subtotal: number;\n        /**\n         * The total shipping price, including tax.\n         */\n        shipping: number;\n        /**\n         * The total amount of tax.\n         */\n        tax: string;\n        /**\n         * The total calculated discount amount.\n         */\n        discount: number;\n        /**\n         * The total price.\n         */\n        total: number;\n        /**\n         * The total weight of the order's items.\n         */\n        weight: number;\n        /**\n         * The total quantity of the the order's line items.\n         */\n        quantity: number;\n    };\n    /**\n     * An object representing paging options.\n     */\n    type PagingOptions = {\n        /**\n         * Maximum number of variants to retrieve. Defaults to `300`.\n         */\n        limit?: number;\n        /**\n         * Number of variants to skip before the retrieved variants. Defaults to `0`.\n         */\n        skip?: number;\n    };\n    /**\n     * An object representing a product variant's option choices.\n     */\n    type ProductChoices = {\n        /**\n         * Value of the choice. This key name is\n         *  dependent on the product option. For example, if a product\n         *  has a size option, this key value will be something like \"Size\" and its value\n         *  will be something like \"Large\".\n         *\n         *  `optionKey` isn't case-sensitive. Therefore the values for the option keys \"`Size`\", \"`SIZE`\", and \"`size`\" are combined.\n         */\n        optionKey: string;\n    };\n    /**\n     * An object representing an option for a store product.\n     */\n    type ProductOption = {\n        /**\n         * Option type. Either `\"color\"` or `\"drop_down\"`.\n         */\n        optionType: string;\n        /**\n         * Option name.\n         */\n        name: string;\n        /**\n         * Option choices.\n         */\n        choices: ProductOptionsChoice[];\n    };\n    /**\n     * An object representing all the available options for a store product, such as \"Size\" or \"Color\".\n     */\n    type ProductOptions = {\n        /**\n         * Name of the option. This key name\n         *  is dependent on the options added to the product. For example, if a product has a size\n         *  option, this key will be something like `\"Size\"`.\n         *\n         *  `optionKey` isn't case-sensitive. Therefore the values for the option keys \"`Size`\", \"`SIZE`\", and \"`size`\" are combined.\n         */\n        optionKey: ProductOption;\n    };\n    /**\n     * An object returned by `getProductOptionsAvailability()` representing the availability of a product.\n     */\n    type ProductOptionsAvailability = {\n        /**\n         * Whether the product with the specified option choices is available for purchase.\n         */\n        availableForPurchase: boolean;\n        /**\n         * An object representing all the available options for a store product.\n         */\n        productOptions: ProductOptions;\n        /**\n         * Main product media item (image or video) URL.\n         */\n        mainMedia: string;\n        /**\n         * List of product media items.\n         */\n        mediaItems: MediaItem;\n        /**\n         * The variant of the product selected using the specified option choices if there is one.\n         */\n        selectedVariant: ProductOptionsAvailabilitySelectedVariant;\n    };\n    /**\n     * An object representing the product variant selected with `getProductOptionsAvailability()`.\n     */\n    type ProductOptionsAvailabilitySelectedVariant = {\n        /**\n         * Product variant stock keeping unit value.\n         */\n        sku: string;\n        /**\n         * Product variant currency.\n         */\n        currency: string;\n        /**\n         * Product variant price. The variant price must be greater than its discount.\n         */\n        price: number;\n        /**\n         * Discounted product variant price.\n         */\n        discountedPrice: number;\n        /**\n         * Product variant price formatted with the currency.\n         */\n        formattedPrice: string;\n        /**\n         * Discounted product variant price formatted with the currency.\n         */\n        formattedDiscountedPrice: string;\n        /**\n         * Whether the product variant is shown in the store.\n         */\n        visible: boolean;\n        /**\n         * Whether the product variant is in stock.\n         */\n        inStock: boolean;\n        /**\n         * Product variant weight.\n         */\n        weight: number;\n    };\n    /**\n     * An object representing an options choice for a store product, such as choice \"Small\" for the option \"Size.\"\n     */\n    type ProductOptionsChoice = {\n        /**\n         * Choice value.\n         */\n        value: number;\n        /**\n         * Choice description.\n         */\n        description: number;\n        /**\n         * Choice media.\n         */\n        media: ProductOptionsChoiceMedia;\n        /**\n         * Whether the product with this choice is in stock.\n         */\n        inStock: boolean;\n        /**\n         * Whether the product with this option is visible.\n         */\n        visible: boolean;\n    };\n    /**\n     * An object representing the choice media.\n     */\n    type ProductOptionsChoiceMedia = {\n        /**\n         * Main choice media item (image or video thumbnail) URL.\n         */\n        mainMedia: string;\n        /**\n         * List of choice media items.\n         */\n        mediaItems: MediaItem;\n    };\n    /**\n     * An object representing the selection of specific variants of a product. Use only one of\n     *  `choices` or `variantIds`.\n     */\n    type ProductVariantOptions = {\n        /**\n         * Choices of the retrieved variants.\n         */\n        choices?: any;\n        /**\n         * IDs of the variants to retrieve.\n         */\n        variantIds?: string[];\n    };\n    type QuickViewOptions = {\n        /**\n         * Product quantity to be displayed in the Quick View. Defaults to 1.\n         */\n        quantity: number;\n    };\n    /**\n     * An object containing variant information to use when creating or updating variants.\n     */\n    type VariantInfo = {\n        /**\n         * Variant currency.\n         */\n        currency: string;\n        /**\n         * Variant price. The variant price must be greater than its discount. If the variant price has been updated, changes to the product price don't affect the variant price.\n         */\n        price: number;\n        /**\n         * Discounted variant price.\n         */\n        discountedPrice: number;\n        /**\n         * Variant price formatted with the currency.\n         */\n        formattedPrice: string;\n        /**\n         * Discounted variant price formatted with the currency.\n         */\n        formattedDiscountedPrice: string;\n        /**\n         * Price per unit.\n         */\n        pricePerUnit: number;\n        /**\n         * Price per unit formatted with currency symbol.\n         */\n        formattedPricePerUnit: string;\n        /**\n         * Variant weight.\n         */\n        weight: number;\n        /**\n         * Variant stock keeping unit value.\n         */\n        sku: string;\n        /**\n         * Whether the variant is visible in the store.\n         */\n        visible: boolean;\n    };\n    /**\n     * An object representing a product variant item.\n     */\n    type VariantItem = {\n        /**\n         * Unique variant ID.\n         */\n        _id: string;\n        /**\n         * Choices of the retrieved variant in the form of an object containing a `key:value` pair for each variant choice. For example, if a variant has a size option, this key value will be something like \"Size\" and its value will be something like \"Large\".\n         */\n        choices: any;\n        /**\n         * Variant information.\n         */\n        variant: VariantInfo;\n    };\n    /**\n     * An object representing product variants.\n     */\n    type Variants = {\n        /**\n         * List of variant items that match the specified choices or variant IDs.\n         */\n        items: VariantItem[];\n        /**\n         * Number of items in the current results page.\n         */\n        length: number;\n        /**\n         * Total number of variants with the specified choices.\n         */\n        totalCount: number;\n    };\n    /**\n     * Function that runs when a cart changes.\n     */\n    type CartChangedHandler = (cart: CartObj) => void;\n    /**\n     * **Deprecated.**\n     * The `wix-stores-frontend.Cart` module will continue to work, but newer functions are available at\n     * [`wix-ecom-frontend`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-frontend/introduction) and [`wix-ecom-backend.CurrentCart`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-backend/current-cart/introduction).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#)\n     */\n    interface Cart {\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [`wix-ecom-backend.currentCart.addToCurrentCart()`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-backend/current-cart/add-to-current-cart).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#addProducts)\n         */\n        addProducts(products: Cart.AddToCartItem[]): Promise<CartObj>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [`wix-ecom-backend.currentCart.updateCurrentCart()`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-backend/current-cart/update-current-cart).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#applyCoupon)\n         */\n        applyCoupon(couponCode: string): Promise<CartObj>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [`wix-ecom-backend.CurrentCart.getCurrentCart()`](https://www.wix.com/velo/reference/wix-ecom-backend/currentcart/getcurrentcart).\n         *\n         * We recommend you migrate to the new [Wix eCommerce APIs](https://www.wix.com/velo/reference/wix-ecom-backend/introduction) as soon as possible.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#getCurrentCart)\n         */\n        getCurrentCart(): Promise<CartObj>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but will soon be deprecated. Hiding the Mini Cart or Side Cart can be done by clicking anywhere else on the page.\n         *\n         * Hides the Mini Cart.\n         *\n         * The `hideMiniCart()` function hides the Mini Cart.\n         * Learn more about the [Mini Cart](https://support.wix.com/en/article/customizing-the-cart-page).\n         *\n         * > **Note:** This API will fail when viewing the site on mobile because there is no Mini Cart on the mobile site.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#hideMiniCart)\n         */\n        hideMiniCart(): void;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [`wix-ecom-frontend.onCartChange()`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-frontend/on-cart-change).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#onChange)\n         */\n        onChange(handler: CartChangedHandler): void;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [`wix-ecom-backend.currentCart.removeCouponFromCurrentCart()`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-backend/current-cart/remove-coupon-from-current-cart).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#removeCoupon)\n         */\n        removeCoupon(): Promise<CartObj>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [`wix-ecom-backend.currentCart.removeLineItemsFromCurrentCart()`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-backend/current-cart/remove-line-items-from-current-cart).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#removeProduct)\n         */\n        removeProduct(cartLineItemId: number): Promise<CartObj>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [`wix-ecom-frontend.openSideCart()`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-frontend/open-side-cart).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#showMiniCart)\n         */\n        showMiniCart(): void;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [`wix-ecom-backend.currentCart.updateCurrentCartLineItemQuantity()`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-backend/current-cart/update-current-cart-line-item-quantity).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#updateLineItemQuantity)\n         */\n        updateLineItemQuantity(cartLineItemId: number, quantity: number): Promise<CartObj>;\n    }\n    /**\n     * The wix-stores-frontend.Navigate module contains functionality for navigating to\n     * store-related pages from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Navigate.html#)\n     */\n    interface Navigate {\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [`wix-ecom-frontend.navigateToCartPage()`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-frontend/navigate-to-cart-page).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Navigate.html#toCart)\n         */\n        toCart(): Promise<void>;\n        /**\n         * Navigates to the specified product's page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Navigate.html#toProduct)\n         */\n        toProduct(productId: string): Promise<void>;\n    }\n    /**\n     * The wix-stores-frontend.product module contains functionality for working with a\n     *  store's products from frontend code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Product.html#)\n     */\n    interface Product {\n        /**\n         * Retrieves the availability of a product based on the specified option choices.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Product.html#getOptionsAvailability)\n         */\n        getOptionsAvailability(productId: string, choices: any): Promise<ProductOptionsAvailability>;\n        /**\n         * Gets a product's available variants based on the specified product ID and either option choices or variant IDs.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Product.html#getVariants)\n         */\n        getVariants(productId: string, options?: ProductVariantOptions): Promise<VariantItem[]>;\n        /**\n         * Opens the [Quick View](https://support.wix.com/en/article/wix-stores-customizing-the-quick-view-in-the-product-gallery) modal of a specified product.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Product.html#openQuickView)\n         */\n        openQuickView(productId: string, options?: QuickViewOptions): Promise<void>;\n    }\n    /**\n     * **Deprecated.**\n     * The `wix-stores-frontend.Cart` module will continue to work, but newer functions are available at\n     * [`wix-ecom-frontend`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-frontend/introduction) and [`wix-ecom-backend.CurrentCart`](https://dev.wix.com/docs/velo/api-reference/wix-ecom-backend/current-cart/introduction).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores-frontend.Cart.html#)\n     */\n    namespace Cart {\n        /**\n         * An object used when adding one or more products to the cart.\n         */\n        type AddToCartItem = {\n            /**\n             * ID of the product to add to the cart.\n             */\n            productId: string;\n            /**\n             * Number of product units to add to the cart.\n             */\n            quantity: number;\n            /**\n             * Specific product options to add to the cart.\n             *  If the product you're adding has options, you must specify which options to add.\n             */\n            options?: Cart.AddToCartOptions;\n        };\n        /**\n         * An object used when adding a product to the cart with options.\n         */\n        type AddToCartOptions = {\n            /**\n             * Product options to use when adding the\n             *  product to the cart. The object contains `key:value` pairs where the key is the option name and the value is the chosen option value.\n             */\n            choices?: any;\n            /**\n             * Custom text fields to use when adding the product to the cart.\n             */\n            customTextFields?: Cart.CustomTextField[];\n        };\n        /**\n         * An object used to pass a custom text field when adding a product to\n         *  the cart with options.\n         */\n        type CustomTextField = {\n            /**\n             * Custom text field title.\n             */\n            title: string;\n            /**\n             * Custom text field value.\n             */\n            value: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-bookings.d.ts",
      "content": "/**\n * The wix-bookings module contains functionality for working with\n *  bookings from client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings.html#)\n */\ndeclare module 'wix-bookings' {\n    /**\n     * Books a service and processes payment for the service.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings.html#checkoutBooking)\n     */\n    function checkoutBooking(bookingInfo: BookingInfo, options?: PaymentOptions): Promise<BookingResult>;\n    /**\n     * Gets the valid checkout options for a service's slot.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings.html#getCheckoutOptions)\n     */\n    function getCheckoutOptions(checkoutOptionOptions: CheckoutOptionOptions): Promise<CheckoutOption[]>;\n    /**\n     * Gets the available slots for a specific service.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-bookings.html#getServiceAvailability)\n     */\n    function getServiceAvailability(serviceId: string, options?: AvailabilityOptions): Promise<ServiceAvailability>;\n    /**\n     * An object that contains address information.\n     */\n    type Address = {\n        /**\n         * Full text address comprised of street name and number, city, subdivision, country, and postal code.\n         */\n        formatted: string;\n        /**\n         * Address coordinates.\n         */\n        location: AddressCoordinates;\n        /**\n         * Address street address.\n         */\n        streetAddress: StreetAddress;\n        /**\n         * Address city.\n         */\n        city: string;\n        /**\n         * Address subdivision, state, prefecture, or province.\n         */\n        subdivision: string;\n        /**\n         * Address country.\n         */\n        country: string;\n        /**\n         * Address postal code.\n         */\n        postalCode: string;\n    };\n    /**\n     * An object that contains the geographic coordinates of the address.\n     */\n    type AddressCoordinates = {\n        /**\n         * Address latitude.\n         */\n        latitude: number;\n        /**\n         * Address longitude.\n         */\n        longitude: number;\n    };\n    /**\n     * An object used when calling [`getServiceAvailability()`](#getServiceAvailability)\n     *  containing options for which slots should be returned.\n     */\n    type AvailabilityOptions = {\n        /**\n         * Start date and time of the slots\n         *  to be returned. Defaults to the current date and time.\n         */\n        startDateTime?: Date;\n        /**\n         * End date and time of the slots to\n         *  be returned. Defaults to one week from `startDateTime`, which is one week\n         *  from the current date and time if `startDateTime` is also omitted.\n         */\n        endDateTime?: Date;\n    };\n    /**\n     * An object used when calling [`checkoutBooking()`](#checkoutBooking)\n     *  containing information about the slot to be booked.\n     */\n    type BookingInfo = {\n        /**\n         * The slot to be booked.\n         */\n        slot: Slot;\n        /**\n         * List of form field values required to book the session.\n         */\n        formFields: FormField[];\n        /**\n         * Number of spots to book. Defaults to `1`.\n         */\n        numberOfSpots?: number;\n    };\n    /**\n     * An object representing the result of a call to [`checkoutBooking()`](#checkoutBooking).\n     */\n    type BookingResult = {\n        /**\n         * ID of the booking that was checked out.\n         */\n        bookingId: string;\n        /**\n         * Status of the booking that was checked out.\n         *  One of:\n         *\n         *  + `\"Confirmed\"`: Payment was successful or payment is to be done offline.\n         *  + `\"Pending Payment\"`: Payment is pending.\n         *  + `\"Terminated\"`: Payment failed or was cancelled.\n         */\n        status: string;\n    };\n    /**\n     * An object describing the business location.\n     */\n    type BusinessLocation = {\n        /**\n         * Business location ID.\n         */\n        id: string;\n        /**\n         * Business location name.\n         */\n        name: string;\n        /**\n         * Business location description.\n         */\n        description: string;\n        /**\n         * An object describing the address.\n         */\n        address: Address;\n    };\n    /**\n     * An object returned after calling [`getCheckoutOptions()`](#getCheckoutOptions)\n     *  containing information about the available payment options for the service and the logged-in user.\n     */\n    type CheckoutOption = {\n        /**\n         * Type of the available payment option. Valid options are:\n         *\n         *  + `\"wixPay_Online\"` for online collections\n         *  + `\"wixPay_Offline\"` for offline collections\n         *  + `\"package\"` for a package-type pricing plan\n         *  + `\"membership\"` for a membership-type pricing plan\n         */\n        type: string;\n        /**\n         * Name of the plan package or membership. For booking with pricing plans only.\n         */\n        planName?: string;\n        /**\n         * Order ID of the plan package or membership. For booking with pricing plans only.\n         */\n        planOrderId?: string;\n        /**\n         * ID of the benefit provided by the plan package. For booking with package-type pricing plans only.\n         */\n        benefitId?: string;\n        /**\n         * Number of sessions remaining in the plan package. For booking with package-type pricing plans only.\n         */\n        remainingCredits?: number;\n        /**\n         * Number of sessions initially provided with the plan package.  For booking with package-type pricing plans only.\n         */\n        totalCredits?: number;\n        /**\n         * Date by which the plan package or membership expires. For booking with pricing plans only.\n         */\n        planExpiration?: Date;\n    };\n    /**\n     * An object used to request checkout options for the service. Currently, you can request the checkout options using the ID of a slot.\n     */\n    type CheckoutOptionOptions = {\n        /**\n         * Unique slot identifier.\n         */\n        slotId: string;\n        /**\n         * User ID for the customer making the booking. Used for retrieving valid payment plans for the customer for the selected slot.\n         */\n        userId: string;\n    };\n    /**\n     * An object that defines a booking window for limiting when a member can book a slot. For example,\n     *  you can prevent members from booking a service too far in advance, because perhaps the service might\n     *  be discontinued by then. Or, you can prevent members from booking a service right before it starts, as\n     *  this would make it hard to schedule resources.\n     */\n    type Constraints = {\n        /**\n         * Date from which a member is allowed to book a slot.\n         */\n        bookableFrom: Date;\n        /**\n         * Date until which a member is allowed to book a slot.\n         */\n        bookableUntil: Date;\n    };\n    /**\n     * An object used when calling [`checkoutBooking()`](#checkoutBooking)\n     *  containing values for form fields required to book the session.\n     */\n    type FormField = {\n        /**\n         * ID of the form field from the **form** property in the **Booking/Services** collection.\n         */\n        _id: string;\n        /**\n         * Form field value.\n         */\n        value: string;\n    };\n    /**\n     * The location where a service is offered.\n     */\n    type Location = {\n        /**\n         * Location type. Valid options are:\n         * - `\"OWNER_BUSINESS\"` The business address set by the owner. This type is set when choosing **Business Address** in the Service Details page of the dashboard, and populates the businessLocation object.\n         * - `\"OWNER_CUSTOM\"` A custom address set by the owner. This type is set when choosing **Custom Location** in the Service Details page of the dashboard, and populates the `locationText` property.\n         * - `\"CUSTOM\"` An address set for the individual booking, usually chosen by the customer and entered in the booking form.\n         */\n        type: string;\n        /**\n         * Text describing the location.\n         */\n        locationText: string;\n        /**\n         * An object describing the business location.\n         */\n        businessLocation: BusinessLocation;\n    };\n    /**\n     * An object used when calling [`checkoutBooking()`](#checkoutBooking)\n     *  containing information about the payment options.\n     */\n    type PaymentOptions = {\n        /**\n         * A coupon code to be used with the payment.\n         */\n        couponCode?: string;\n        /**\n         * Type of payment. Valid options are:\n         *\n         *   + `\"wixPay_Online\"` for online collections\n         *   + `\"wixPay_Offline\"` for offline collections\n         *   + `\"package\"` for a package-type pricing plan\n         *   + `\"membership\"` for a membership-type pricing plan\n         */\n        paymentType: string;\n    };\n    /**\n     * An object returned from [`getServiceAvailability()`](#getServiceAvailability)\n     *  containing the available bookings slots.\n     */\n    type ServiceAvailability = {\n        /**\n         * List of the available slots.\n         *\n         * Max: 500 slots\n         */\n        slots: Slot[];\n    };\n    /**\n     * An object representing a booking slot.\n     */\n    type Slot = {\n        /**\n         * Unique slot identifier.\n         */\n        _id: string;\n        /**\n         * Starting date and time of the slot.\n         */\n        startDateTime: Date;\n        /**\n         * Ending date and time of the slot.\n         */\n        endDateTime: Date;\n        /**\n         * ID of the service that the slot belongs to.\n         */\n        serviceId: string;\n        /**\n         * Maximum number of participants that can book the service for this slot.\n         */\n        capacity: number;\n        /**\n         * Number of remaining spots that can be booked for the slot.\n         */\n        remainingSpots: number;\n        /**\n         * ID of the slot's staff member.\n         */\n        staffMemberId: string;\n        /**\n         * Whether the slot can be booked right now, meaning today's date is within the booking window defined by `constraints`.\n         */\n        bookable: boolean;\n        /**\n         * The dates between which the slot can be booked. The constraints define the booking window. The booking window prevents site members from booking way in advance or just right before the slot starts.\n         */\n        constraints: Constraints;\n        /**\n         * The location where this slot is offered.\n         */\n        location: Location;\n    };\n    /**\n     * An object representing information about the street name and street number of an address.\n     */\n    type StreetAddress = {\n        /**\n         * Address street name.\n         */\n        name: string;\n        /**\n         * Address street number.\n         */\n        number: string;\n    };\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-crm.d.ts",
      "content": "/**\n * The wix-crm module contains functionality for working with\n *  [your site's contacts](https://support.wix.com/en/article/about-your-contact-list)\n *  from client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.html#)\n */\ndeclare module 'wix-crm' {\n    /**\n     * The Contacts API is used to manage a site's contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.html#contacts)\n     */\n    const contacts: Contacts;\n    /**\n     * The Triggered Emails API is used to send triggered emails to your site's contacts and members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.html#triggeredEmails)\n     */\n    const triggeredEmails: TriggeredEmails;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [`wix-crm.contacts.appendOrCreateContact()`](https://www.wix.com/velo/reference/wix-crm/contacts/appendorcreatecontact).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.html#createContact)\n     */\n    function createContact(contactInfo: ContactInfo): Promise<string>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-crm.triggeredEmails.emailContact()](https://www.wix.com/velo/reference/wix-crm/triggeredemails/emailcontact).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.html#emailContact)\n     */\n    function emailContact(emailId: string, toContact: string, options?: TriggeredEmails.TriggeredEmailOptions): Promise<void>;\n    /**\n     * An object that contains information about a site contact.\n     */\n    type ContactInfo = {\n        /**\n         * Contact's first name.\n         */\n        firstName?: string;\n        /**\n         * Contact's last name.\n         */\n        lastName?: string;\n        /**\n         * Contact's image source.\n         */\n        picture?: string;\n        /**\n         * List of contact's email addresses.\n         *  When creating a contact, if no phone number is\n         *  provided, at least one email address must be provided.\n         */\n        emails?: string[];\n        /**\n         * Email address the contact who is also\n         *  a member uses to log into the system.\n         */\n        loginEmail?: string;\n        /**\n         * List of contact's phone numbers.\n         *  When creating a contact, if no email is\n         *  provided, at least one phone number must be provided.\n         */\n        phones?: string[];\n        /**\n         * List of contact's labels. [Labels](https://support.wix.com/en/article/creating-contact-labels)\n         *  are used to organize contacts. When setting the `labels` property, you can\n         *  only list labels that already exist in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         */\n        labels?: string[];\n        /**\n         * Any\n         *  number of custom fields. [Customs fields](https://support.wix.com/en/article/adding-custom-fields-to-contacts)\n         *  are used to store additional information about your site's contacts. When\n         *  setting a custom field, use key:value pairs where the key matches the names\n         *  defined in your site's [Contacts List](https://support.wix.com/en/article/accessing-your-contact-list).\n         *  You can only set values for custom fields that already exist in the Contacts\n         *  application.\n         */\n        customFields?: string | number | Date;\n    } & AnyProperties;\n    /**\n     * The Contacts API is used to manage a site's contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.Contacts.html#)\n     */\n    interface Contacts {\n        /**\n         * Appends an existing contact or creates a contact if it doesn't exist.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.Contacts.html#appendOrCreateContact)\n         */\n        appendOrCreateContact(contactInfo: Contacts.ContactInfo): Promise<Contacts.ContactIdentification>;\n    }\n    /**\n     * The Triggered Emails API is used to send triggered emails to your site's contacts and members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.TriggeredEmails.html#)\n     */\n    interface TriggeredEmails {\n        /**\n         * Sends a triggered email to the current contact, unless that contact is marked as unsubscribed.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.TriggeredEmails.html#emailContact)\n         */\n        emailContact(emailId: string, contactId: string, options?: TriggeredEmails.TriggeredEmailOptions): Promise<void>;\n        /**\n         * Sends a Triggered Email to the currently logged-in site member.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.TriggeredEmails.html#emailMember)\n         */\n        emailMember(emailId: string, memberId: string, options?: TriggeredEmails.TriggeredEmailOptions): Promise<void>;\n    }\n    /**\n     * The Contacts API is used to manage a site's contacts.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.Contacts.html#)\n     */\n    namespace Contacts {\n        type Address = {\n            /**\n             * Street address ID.\n             */\n            _id: string;\n            /**\n             * Address type.\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             * - `\"BILLING\"`\n             * - `\"SHIPPING\"`\n             */\n            tag: string;\n            /**\n             * Street address.\n             */\n            address: Contacts.AddressDetails;\n        };\n        /**\n         * Street address.\n         */\n        type AddressDetails = {\n            /**\n             * Main address line, usually street and number, as free text.\n             */\n            addressLine1?: string;\n            /**\n             * Street address object, with number and name in separate fields.\n             */\n            streetAddress?: Contacts.StreetAddressInfo;\n            /**\n             * Human-readable address string.\n             *  If not provided, the value is generated from the available address data.\n             */\n            formatted?: string;\n            /**\n             * Free text providing more detailed address information,\n             *  such as apartment, suite, or floor.\n             */\n            addressLine2?: string;\n            /**\n             * Coordinates of the physical address.\n             */\n            location?: Contacts.AddressLocation;\n            /**\n             * City name.\n             */\n            city?: string;\n            /**\n             * Code for a subdivision (such as state, prefecture, or province) in an\n             *  [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n             */\n            subdivision?: string;\n            /**\n             * 2-letter country code in an\n             *  [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n             */\n            country?: string;\n            /**\n             * Postal or zip code.\n             */\n            postalCode?: string;\n        };\n        type AddressInfo = {\n            /**\n             * Address type.\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             * - `\"BILLING\"`\n             * - `\"SHIPPING\"`\n             */\n            tag: string;\n            /**\n             * Street address.\n             */\n            address: Contacts.AddressDetails;\n        };\n        /**\n         * Coordinates of the physical address.\n         */\n        type AddressLocation = {\n            /**\n             * Address's latitude.\n             */\n            latitude?: number;\n            /**\n             * Address's longitude.\n             */\n            longitude?: number;\n        };\n        type ContactIdentification = {\n            /**\n             * ID of the contact that was found or created.\n             */\n            contactId: string;\n            /**\n             * Identity type of the returned contact.\n             *\n             * One of:\n             *\n             * - `\"CONTACT\"`: The returned contact ID belongs to a new or existing contact.\n             * - `\"MEMBER\"`: The returned contact ID belongs to the currently logged-in site member.\n             * - `\"NOT_AUTHENTICATED_MEMBER\"`: The returned contact ID belongs to a site member who is not currently logged in.\n             */\n            identityType: string;\n        };\n        /**\n         * Contact's information.\n         */\n        type ContactInfo = {\n            /**\n             * Contact's first and last name.\n             */\n            name?: Contacts.Name;\n            /**\n             * Contact's company name.\n             */\n            company?: string;\n            /**\n             * Contact's job title.\n             *  Corresponds to the **Position** field in the Dashboard.\n             */\n            jobTitle?: string;\n            /**\n             * Contact's locale in\n             *  [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n             *  Typically, this is a lowercase 2-letter language code,\n             *  followed by a hyphen,\n             *  followed by an uppercase 2-letter country code.\n             *\n             *  For example, German from Germany is formatted as `de-DE`,\n             *  and U.S. English is formatted as `en-US`.\n             */\n            locale?: string;\n            /**\n             * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n             *\n             *  For example, `\"2025-03-15\"` for March 15, 2025.\n             */\n            birthdate?: string;\n            /**\n             * **Deprecated.** Use `profilePicture` instead.\n             */\n            picture?: Contacts.Picture;\n            /**\n             * Contact's profile picture URL.\n             */\n            profilePicture?: string;\n            /**\n             * List of up to 50 email addresses.\n             */\n            emails?: Contacts.EmailInfo[];\n            /**\n             * List of up to 50 phone numbers.\n             */\n            phones?: Contacts.PhoneInfo[];\n            /**\n             * List of up to 50 addresses.\n             */\n            addresses?: Contacts.AddressInfo[];\n            /**\n             * List of contact label keys.\n             * [Contact labels](https://support.wix.com/en/article/creating-contact-labels)\n             * help categorize contacts.\n             *\n             * Label keys must exist to be added to the contact.\n             * Contact labels can be created or retrieved with\n             * `findOrCreateLabel()` or `queryLabels()` in the\n             * Labels API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/labels/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/labels/introduction)).\n             */\n            labelKeys?: string[];\n            /**\n             * Set of key-value pairs.\n             *\n             * Contact's extended fields allow you to store additional information about a site's contacts.\n             *\n             * To view or create extended fields, call `findOrCreateExtendedField()`, `getExtendedField()`, or `queryExtendedFields()` in the\n             * Extended Fields API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/extended-fields/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/extended-fields/introduction)).\n             */\n            extendedFields?: any;\n        };\n        /**\n         * Contact's profile picture.\n         */\n        type ContactPicture = {\n            /**\n             * Image source. Can be either a Media Manager URL or external URL.\n             */\n            image: string;\n            /**\n             * Indicates whether the image is retrieved from Wix Media\n             * or an external provider.\n             *\n             * One of:\n             *\n             * - `\"EXTERNAL\"`: The image is retrieved from an external provider.\n             * - `\"WIX_MEDIA\"`: The image is retrieved from Wix Media.\n             */\n            imageProvider: string;\n        };\n        type Email = {\n            /**\n             * Email ID.\n             */\n            _id: string;\n            /**\n             * Email type.\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             */\n            tag: string;\n            /**\n             * Email address.\n             */\n            email: string;\n            /**\n             * Indicates whether this is the contact's primary email address.\n             *  When changing `primary` to `true` for an email,\n             *  the contact's other emails become `false`.\n             */\n            primary: boolean;\n        };\n        type EmailInfo = {\n            /**\n             * Email type.\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"WORK\"`\n             */\n            tag?: string;\n            /**\n             * Email address.\n             */\n            email?: string;\n            /**\n             * Indicates whether this is the contact's primary email address.\n             *  When changing `primary` to `true` for an email,\n             *  the contact's other emails become `false`.\n             */\n            primary?: boolean;\n        };\n        /**\n         * Extended field that was found or created.\n         */\n        type ExtendedField = {\n            /**\n             * Extended field ID.\n             *\n             * When accessing contact data,\n             * extended field data is available at `extendedFields[key]`.\n             * For example, if the key is \"custom.notes\",\n             * the value can be accessed at `extendedFields[\"custom.notes\"]`.\n             *\n             * `key` is generated when the extended field is created\n             * and cannot be modified, even if `displayName` changes.\n             */\n            key: string;\n            /**\n             * Extended field display name shown in the Contact List.\n             */\n            displayName: string;\n            /**\n             * Type of data the field holds.\n             *\n             * One of:\n             *\n             * - `\"TEXT\"`: Accepts strings.\n             * - `\"URL\"`: Accepts web addresses. Prepends `https://` if no protocol is included.\n             * - `\"DATE\"`: Accepts dates formatted as `\"YYYY-MM-DD\"`.\n             * - `\"NUMBER\"`: Accepts floats.\n             */\n            dataType: string;\n            /**\n             * Indicates whether the extended field is a\n             * [system field or custom field](wix-crm-backend/contacts/introduction#about-extended-fields).\n             *\n             * One of:\n             *\n             * - `\"SYSTEM\"`: The field is a system field managed by Wix. System fields cannot be modified by 3rd-party apps or site contributors.\n             * - `\"USER_DEFINED\"`: The field is a custom field and can be modified by 3rd-party apps or site contributors.\n             */\n            fieldType: string;\n            /**\n             * Date and time the field was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the field was last updated.\n             */\n            _updatedDate: Date;\n            /**\n             * Extended field [namespace](wix-crm-backend/contacts/introduction#the-namespace-and-key-properties-in-labels-and-extended-fields).\n             *\n             * Extended fields created by site contributors or 3rd-party apps\n             * are automatically assigned to the `custom` namespace.\n             */\n            namespace: string;\n            /**\n             * Field description, if the field is a system field.\n             */\n            description: string;\n        };\n        /**\n         * Contact's details.\n         */\n        type Info = {\n            /**\n             * Contact's first and last name.\n             */\n            name?: Contacts.Name;\n            /**\n             * Contact's company name.\n             */\n            company?: string;\n            /**\n             * Contact's job title.\n             *  Corresponds to the **Position** field in the Dashboard.\n             */\n            jobTitle?: string;\n            /**\n             * Contact's locale in\n             *  [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n             *  Typically, this is a lowercase 2-letter language code,\n             *  followed by a hyphen,\n             *  followed by an uppercase 2-letter country code.\n             *\n             *  For example, German from Germany is formatted as `de-DE`,\n             *  and U.S. English is formatted as `en-US`.\n             */\n            locale?: string;\n            /**\n             * Contact's birthdate, formatted as `\"YYYY-MM-DD\"`.\n             *\n             *  For example, `\"2025-03-15\"` for March 15, 2025.\n             */\n            birthdate?: string;\n            /**\n             * **Deprecated.** Use `profilePicture` instead.\n             */\n            picture: Contacts.Picture;\n            /**\n             * Contact's profile picture URL.\n             */\n            profilePicture?: string;\n            /**\n             * List of up to 50 email addresses.\n             */\n            emails?: Contacts.Email[];\n            /**\n             * List of up to 50 phone numbers.\n             */\n            phones?: Contacts.Phone[];\n            /**\n             * List of up to 50 addresses.\n             */\n            addresses?: Contacts.Address[];\n            /**\n             * List of contact label keys.\n             * [Contact labels](https://support.wix.com/en/article/creating-contact-labels)\n             * help categorize contacts.\n             *\n             * Label keys must exist to be added to the contact.\n             * Contact labels can be created or retrieved with\n             * `findOrCreateLabel()` or `queryLabels()` in the\n             * Labels API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/labels/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/labels/introduction)).\n             */\n            labelKeys?: string[];\n            /**\n             * Set of key-value pairs.\n             *\n             * Contact's extended fields allow you to store additional information about a site's contacts.\n             *\n             * To view or create extended fields, call `findOrCreateExtendedField()`, `getExtendedField()`, or `queryExtendedFields()` in the\n             * Extended Fields API ([SDK](https://dev.wix.com/docs/sdk/backend-modules/crm/extended-fields/introduction) | [Velo](https://dev.wix.com/docs/velo/apis/wix-crm-v2/extended-fields/introduction)).\n             */\n            extendedFields: any;\n        };\n        /**\n         * Label that was found or created.\n         */\n        type Label = {\n            /**\n             * Label key.\n             *\n             * `key` is generated when the label is created\n             * and cannot be modified, even if `displayName` changes.\n             */\n            key: string;\n            /**\n             * Label display name shown in the Dashboard.\n             */\n            displayName: string;\n            /**\n             * Label type.\n             *\n             * One of:\n             *\n             * - `\"SYSTEM\"`: The label is a predefined system label for the Contact List.\n             * - `\"USER_DEFINED\"`: The label was created by a site contributor or app.\n             * - `\"WIX_APP_DEFINED\"`: The label was created by a Wix app.\n             */\n            labelType: string;\n            /**\n             * Date and time the label was created.\n             */\n            _createdDate: Date;\n            /**\n             * Date and time the label was last updated.\n             */\n            _updatedDate: Date;\n            /**\n             * Label [namespace](wix-crm-backend/contacts/introduction#the-namespace-and-key-properties-in-labels-and-extended-fields).\n             *\n             * Labels created by site contributors or 3rd-party apps\n             * are automatically assigned to the `custom` namespace.\n             */\n            namespace: string;\n        };\n        /**\n         * Details about the contact's last action in the site.\n         */\n        type LastActivity = {\n            /**\n             * Date and time of the last action.\n             */\n            activityDate: Date;\n            /**\n             * Contact's last action in the site.\n             *\n             * Some possible values:\n             * `\"GENERAL\"`, `\"CONTACT_CREATED\"`, `\"MEMBER_LOGIN\"`, `\"MEMBER_REGISTER\"`,\n             * `\"MEMBER_STATUS_CHANGED\"`, `\"FORM_SUBMITTED\"`, `\"INBOX_FORM_SUBMITTED\"`,\n             * `\"INBOX_PAYMENT_REQUEST_PAID\"`, `\"INBOX_MESSAGE_TO_CUSTOMER\"`,\n             * `\"INBOX_MESSAGE_FROM_CUSTOMER\"`, `\"NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED\"`,\n             * `\"NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE\"`, `\"ECOM_PURCHASE\"`,\n             * `\"ECOM_CART_ABANDON\"`, `\"ECOM_CHECKOUT_BUYER\"`, `\"BOOKINGS_APPOINTMENT\"`,\n             * `\"HOTELS_RESERVATION\"`, `\"HOTELS_PURCHASE\"`, `\"HOTELS_CONFIRMATION\"`,\n             * `\"HOTELS_CANCEL\"`, `\"VIDEO_PURCHASE\"`, `\"VIDEO_RENT\"`,\n             * `\"CASHIER_BUTTON_PURCHASE\"`, `\"ARENA_NEW_LEAD\"`, `\"EVENTS_RSVP\"`,\n             * `\"INVOICE_PAY\"`, `\"INVOICE_OVERDUE\"`, `\"PRICE_QUOTE_ACCEPT\"`,\n             * `\"PRICE_QUOTE_EXPIRE\"`, `\"RESTAURANTS_ORDER\"`, `\"RESTAURANTS_RESERVATION\"`,\n             * `\"SHOUTOUT_OPEN\"`, `\"SHOUTOUT_CLICK\"`, `\"CONTACT_MERGED\"`.\n             */\n            activityType: string;\n        };\n        /**\n         * Contact's first and last name.\n         */\n        type Name = {\n            /**\n             * Contact's first name.\n             */\n            first?: string;\n            /**\n             * Contact's last name.\n             */\n            last?: string;\n        };\n        type Phone = {\n            /**\n             * Phone ID.\n             */\n            _id: string;\n            /**\n             * Phone type.\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"MOBILE\"`\n             * - `\"WORK\"`\n             * - `\"FAX\"`\n             */\n            tag: string;\n            /**\n             * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.\n             */\n            countryCode?: string;\n            /**\n             * Phone number.\n             */\n            phone: string;\n            /**\n             * [ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\n             *  phone number.\n             *  Automatically generated using `phone` and `countryCode`,\n             *  as long as both of those values are valid.\n             */\n            e164Phone?: string;\n            /**\n             * Whether this is the contact's primary phone number.\n             *  When changing `primary` to `true` for a phone,\n             *  the contact's other phones become `false`.\n             */\n            primary: boolean;\n        };\n        type PhoneInfo = {\n            /**\n             * Phone type.\n             *\n             * `\"UNTAGGED\"` is shown as \"Other\" in the Contact List.\n             *\n             * One of:\n             *\n             * - `\"UNTAGGED\"`\n             * - `\"MAIN\"`\n             * - `\"HOME\"`\n             * - `\"MOBILE\"`\n             * - `\"WORK\"`\n             * - `\"FAX\"`\n             */\n            tag?: string;\n            /**\n             * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.\n             */\n            countryCode?: string;\n            /**\n             * Phone number.\n             */\n            phone?: string;\n            /**\n             * Whether this is the contact's primary phone number.\n             *  When changing `primary` to `true` for a phone,\n             *  the contact's other phones become `false`.\n             */\n            primary?: boolean;\n        };\n        /**\n         * todo\n         */\n        type Picture = {\n            /**\n             * **Deprecated.** Use `profilePicture` instead.\n             */\n            image?: string;\n            /**\n             * **Deprecated.**\n             */\n            imageProvider?: string;\n        };\n        /**\n         * Contact's primary phone and email.\n         */\n        type PrimaryInfo = {\n            /**\n             * Primary email address.\n             *\n             * This property reflects the email address in `contactInfo.emails`\n             * where `primary` is `true`.\n             */\n            email?: string;\n            /**\n             * Primary phone number.\n             *\n             * This property reflects the phone number in `contactInfo.phones`\n             * where `primary` is `true`.\n             */\n            phone?: string;\n        };\n        /**\n         * Details about the contact's source.\n         */\n        type Source = {\n            /**\n             * Source type.\n             *\n             * Some possible values:\n             * `\"OTHER\"`, `\"ADMIN\"`, `\"WIX_APP\"`, `\"IMPORT\"`, `\"THIRD_PARTY\"`,\n             * `\"WIX_BOOKINGS\"`, `\"WIX_CHAT\"`, `\"WIX_EMAIL_MARKETING\"`, `\"WIX_EVENTS\"`,\n             * `\"WIX_FORMS\"`, `\"WIX_GROUPS\"`, `\"WIX_HOTELS\"`, `\"WIX_MARKET_PLACE\"`,\n             * `\"WIX_MUSIC\"`, `\"WIX_RESTAURANTS\"`, `\"WIX_SITE_MEMBERS\"`, `\"WIX_STORES\"`.\n             */\n            sourceType: string;\n            /**\n             * App ID, if the contact was created by an app.\n             */\n            appId: string;\n        };\n        /**\n         * Street address object, with number and name in separate fields.\n         */\n        type StreetAddress = {\n            /**\n             * Street number.\n             */\n            number: string;\n            /**\n             * Street name.\n             */\n            name: string;\n        };\n        /**\n         * Street address object, with number and name in separate fields.\n         */\n        type StreetAddressInfo = {\n            /**\n             * Street number.\n             */\n            number?: string;\n            /**\n             * Street name.\n             */\n            name?: string;\n        };\n    }\n    /**\n     * The Triggered Emails API is used to send triggered emails to your site's contacts and members.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-crm.TriggeredEmails.html#)\n     */\n    namespace TriggeredEmails {\n        type TriggeredEmailOptions = {\n            /**\n             * An object with `key:value` pairs. Each\n             *  `key` is a variable in the email template created in Triggered Emails, and its\n             *  corresponding `value` is the value to insert into the template in place of the\n             *  variable. The values must be strings.\n             *\n             * Example: `{ firstName: 'John', lastName: 'Doe' }`\n             */\n            variables: any;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-stores.d.ts",
      "content": "/**\n * The wix-stores module contains functionality for working with your\n *  site's store from client-side code.\n * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.html#)\n */\ndeclare module 'wix-stores' {\n    /**\n     * The wix-stores.cart module provides functionality for working with your site's cart from client-side code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.html#cart)\n     */\n    const cart: Cart;\n    /**\n     * The wix-stores.navigate module provides functionality for navigating your store from client-side code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.html#navigate)\n     */\n    const navigate: Navigate;\n    /**\n     * The wix-stores.product module provides functionality for working with your store's products from client-side code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.html#product)\n     */\n    const product: Product;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-stores.cart.getCurrentCart()](https://www.wix.com/velo/reference/wix-stores/cart/getcurrentcart).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.html#getCurrentCart)\n     */\n    function getCurrentCart(): Promise<CartObj>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-stores.product.getOptionsAvailability()](https://www.wix.com/velo/reference/wix-stores/product/getoptionsavailability).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.html#getProductOptionsAvailability)\n     */\n    function getProductOptionsAvailability(productId: string, choices: any): Promise<ProductOptionsAvailability>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-stores.product.getVariants()](https://www.wix.com/velo/reference/wix-stores/product/getvariants).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.html#getProductVariants)\n     */\n    function getProductVariants(productId: string, options?: ProductVariantOptions): Promise<VariantItem[]>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-stores.cart.onChange()](https://www.wix.com/velo/reference/wix-stores/cart/onchange).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.html#onCartChanged)\n     */\n    function onCartChanged(handler: CartChangedHandler): void;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-stores.cart.removeProduct()](https://www.wix.com/velo/reference/wix-stores/cart/removeproduct).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.html#removeProductFromCart)\n     */\n    function removeProductFromCart(cartLineItemId: number): Promise<CartObj>;\n    /**\n     * An object representing an address.\n     */\n    type CartAddress = {\n        /**\n         * First name.\n         */\n        firstName: string;\n        /**\n         * Last name.\n         */\n        lastName: string;\n        /**\n         * Email address.\n         */\n        email: string;\n        /**\n         * Phone number.\n         */\n        phone: string;\n        /**\n         * Address.\n         */\n        address: string;\n    };\n    /**\n     * An object representing a coupon applied in a shopping cart.\n     */\n    type CartAppliedCoupon = {\n        /**\n         * Coupon code.\n         */\n        code: string;\n        /**\n         * Coupon unique identifier.\n         */\n        couponId: string;\n        /**\n         * Coupon name.\n         */\n        name: string;\n        /**\n         * Type of coupon.\n         *  One of:\n         *\n         *  + `\"BuyXGetY\"`\n         *  + `\"FixedPriceAmount\"`\n         *  + `\"FreeShipping\"`\n         *  + `\"MoneyOffAmount\"`\n         *  + `\"PercentOffRate\"`\n         */\n        couponType: string;\n        /**\n         * Value of the coupon discount.\n         */\n        discountValue: string;\n    };\n    /**\n     * An object representing a visitor who abandoned a shopping cart.\n     */\n    type CartBuyerInfo = {\n        /**\n         * Buyer's unique ID.\n         */\n        id: string;\n        /**\n         * Buyer's email address.\n         */\n        email: string;\n        /**\n         * Buyer's first name.\n         */\n        firstName: string;\n        /**\n         * Buyer's last name.\n         */\n        lastName: string;\n        /**\n         * Buyer's identity.\n         *  One of:\n         *\n         *  + `\"ADMIN\"`: Buyer is the site owner.\n         *  + `\"MEMBER\"`: Buyer is a logged-in site member.\n         *  + `\"VISITOR\"`: Buyer is not logged in.\n         *  + `\"CONTACT\"`: A contact has been created for the buyer.\n         */\n        identityType: string;\n        /**\n         * Buyer's phone number.\n         */\n        phone: string;\n    };\n    /**\n     * An object representing a custom text field.\n     */\n    type CartCustomTextField = {\n        /**\n         * Field title.\n         */\n        title: string;\n        /**\n         * Field value.\n         */\n        value: string;\n    };\n    /**\n     * An object representing a line item in a shopping cart.\n     */\n    type CartLineItem = {\n        /**\n         * Cart line item ID.\n         */\n        id: number;\n        /**\n         * Name of the line item.\n         */\n        name: string;\n        /**\n         * Notes about the line item.\n         */\n        notes: string;\n        /**\n         * Line item price.\n         */\n        price: string;\n        /**\n         * Line item product ID.\n         */\n        productId: string;\n        /**\n         * Line item quantity.\n         */\n        quantity: number;\n        /**\n         * Line item stock keeping unit.\n         */\n        sku: string;\n        /**\n         * Total price charged to the customer for all line items after any applicable discounts.\n         */\n        totalPrice: string;\n        /**\n         * Line item weight.\n         */\n        weight: string;\n        /**\n         * Type of the line item.\n         *  One of:\n         *\n         *  + `\"DIGITAL\"`: Digital item.\n         *  + `\"PHYSICAL\"`: Physical item.\n         *  + `\"CUSTOM_AMOUNT_ITEM\"`: Item with a custom price.\n         *  + `\"UNSPECIFIED\"`: Type can't be classified due to an error.\n         */\n        lineItemType: string;\n        /**\n         * Line item options.\n         */\n        options: Option[];\n        /**\n         * Media item.\n         */\n        mediaItem: CartMediaItem;\n        /**\n         * Custom text.\n         */\n        customTextFields: CartCustomTextField[];\n    };\n    /**\n     * An object representing a line item's primary media.\n     */\n    type CartMediaItem = {\n        /**\n         * Media item type. Currently only `\"IMAGE\"` type supported.\n         */\n        type: string;\n        /**\n         * Media item source for media uploaded to Wix (wix:image, wix:video or external URL).\n         */\n        src: string;\n    };\n    /**\n     * An object representing a shopping cart.\n     */\n    type CartObj = {\n        /**\n         * Unique identifier of the shopping cart.\n         */\n        _id: string;\n        /**\n         * Coupon applied in the shopping cart.\n         */\n        appliedCoupon: CartAppliedCoupon;\n        /**\n         * Cart billing address.\n         */\n        billingAddress: CartAddress;\n        /**\n         * The buyer's information.\n         */\n        buyerInfo: CartBuyerInfo;\n        /**\n         * Cart status. Either `\"INCOMPLETE\"` or `\"COMPLETE\"`.\n         */\n        status: string;\n        /**\n         * Currency of the shopping cart.\n         */\n        currency: Currency;\n        /**\n         * The shopping cart's shipping information.\n         */\n        shippingInfo: CartShippingInfo;\n        /**\n         * Items in the shopping cart.\n         */\n        lineItems: CartLineItem[];\n        /**\n         * The shopping cart's totals.\n         */\n        totals: OrderTotals;\n        /**\n         * The order's units of weight. One of: `\"KG\"`, `\"LB\"`, or `\"UNSPECIFIED_WEIGHT_UNIT\"`.\n         */\n        weightUnit: string;\n    };\n    /**\n     * An object representing shipping information.\n     */\n    type CartShippingInfo = {\n        /**\n         * Shipment address.\n         */\n        shippingAddress?: CartAddress;\n        /**\n         * Pickup address.\n         */\n        pickupInfo?: CartAddress;\n    };\n    /**\n     * An object representing a currency.\n     */\n    type Currency = {\n        /**\n         * The currency code.\n         */\n        currency: string;\n        /**\n         * The currency symbol.\n         */\n        symbol: string;\n    };\n    /**\n     * An object representing a media item.\n     */\n    type MediaItem = {\n        /**\n         * Media item ID.\n         */\n        id: string;\n        /**\n         * Media item title.\n         */\n        title: string;\n        /**\n         * Media item description.\n         */\n        description: string;\n        /**\n         * Media items type. Can be \"image\" or \"video.\"\n         */\n        type: string;\n        /**\n         * Media item URL.\n         */\n        src: string;\n        /**\n         * Thumbnail URL for videos only.\n         */\n        thumbnail?: string;\n    };\n    /**\n     * An object representing a line item option.\n     */\n    type Option = {\n        /**\n         * Name of the product option.\n         */\n        option: string;\n        /**\n         * Selected option.\n         */\n        selection: string;\n    };\n    /**\n     * An object representing an order's totals.\n     */\n    type OrderTotals = {\n        /**\n         * The subtotal of all the order's line items, excluding tax.\n         */\n        subtotal: number;\n        /**\n         * The total shipping price, including tax.\n         */\n        shipping: number;\n        /**\n         * The total amount of tax.\n         */\n        tax: string;\n        /**\n         * The total calculated discount amount.\n         */\n        discount: number;\n        /**\n         * The total price.\n         */\n        total: number;\n        /**\n         * The total weight of the order's items.\n         */\n        weight: number;\n        /**\n         * The total quantity of the the order's line items.\n         */\n        quantity: number;\n    };\n    /**\n     * An object representing paging options.\n     */\n    type PagingOptions = {\n        /**\n         * Maximum number of variants to retrieve. Defaults to 300.\n         */\n        limit?: number;\n        /**\n         * Number of variants to skip before the retrieved variants. Defaults to 0.\n         */\n        skip?: number;\n    };\n    /**\n     * An object representing a product variant's option choices.\n     */\n    type ProductChoices = {\n        /**\n         * Value of the choice. This key name is\n         *  dependent on the product option. For example, if a product\n         *  has a size option, this key value will be something like \"Size\" and its value\n         *  will be something like \"Large\".\n         *\n         *  `optionKey` is not case-sensitive. Therefore the values for the option keys \"`Size`\", \"`SIZE`\", and \"`size`\" are combined.\n         */\n        optionKey: string;\n    };\n    /**\n     * An object representing an option for a store product.\n     */\n    type ProductOption = {\n        /**\n         * Option type. Either `\"color\"` or `\"drop_down\"`.\n         */\n        optionType: string;\n        /**\n         * Option name.\n         */\n        name: string;\n        /**\n         * Option choices.\n         */\n        choices: ProductOptionsChoice[];\n    };\n    /**\n     * An object representing all the available options for a store product, such as \"Size\" or \"Color\".\n     */\n    type ProductOptions = {\n        /**\n         * Name of the option. This key name\n         *  is dependent on the options added to the product. For example, if a product has a size\n         *  option, this key will be something like `\"Size\"`.\n         *\n         *  `optionKey` is not case-sensitive. Therefore the values for the option keys \"`Size`\", \"`SIZE`\", and \"`size`\" are combined.\n         */\n        optionKey: ProductOption;\n    };\n    /**\n     * An object returned by the `getProductOptionsAvailability()` function representing the availability of a product.\n     */\n    type ProductOptionsAvailability = {\n        /**\n         * Whether the product with the specified option choices is available for purchase.\n         */\n        availableForPurchase: boolean;\n        /**\n         * An object representing all the available options for a store product.\n         */\n        productOptions: ProductOptions;\n        /**\n         * Main product media item (image or video) URL.\n         */\n        mainMedia: string;\n        /**\n         * List of product media items.\n         */\n        mediaItems: MediaItem;\n        /**\n         * The variant of the product selected using the specified option choices if there is one.\n         */\n        selectedVariant: ProductOptionsAvailabilitySelectedVariant;\n    };\n    /**\n     * An object representing the product variant selected using the `getProductOptionsAvailability()` function.\n     */\n    type ProductOptionsAvailabilitySelectedVariant = {\n        /**\n         * Product variant stock keeping unit value.\n         */\n        sku: string;\n        /**\n         * Product variant currency.\n         */\n        currency: string;\n        /**\n         * Product variant price. The variant price must be greater than its discount.\n         */\n        price: number;\n        /**\n         * Discounted product variant price.\n         */\n        discountedPrice: number;\n        /**\n         * Product variant price formatted with the currency.\n         */\n        formattedPrice: string;\n        /**\n         * Discounted product variant price formatted with the currency.\n         */\n        formattedDiscountedPrice: string;\n        /**\n         * Whether the product variant is shown in the store.\n         */\n        visible: boolean;\n        /**\n         * Whether the product variant is in stock.\n         */\n        inStock: boolean;\n        /**\n         * Product variant weight.\n         */\n        weight: number;\n    };\n    /**\n     * An object representing an options choice for a store product, such as choice \"Small\" for the option \"Size.\"\n     */\n    type ProductOptionsChoice = {\n        /**\n         * Choice value.\n         */\n        value: number;\n        /**\n         * Choice description.\n         */\n        description: number;\n        /**\n         * Choice media.\n         */\n        media: ProductOptionsChoiceMedia;\n        /**\n         * Whether the product with this choice is in stock.\n         */\n        inStock: boolean;\n        /**\n         * Whether the product with this option is visible.\n         */\n        visible: boolean;\n    };\n    /**\n     * An object representing the choice media.\n     */\n    type ProductOptionsChoiceMedia = {\n        /**\n         * Main choice media item (image or video thumbnail) URL.\n         */\n        mainMedia: string;\n        /**\n         * List of choice media items.\n         */\n        mediaItems: MediaItem;\n    };\n    /**\n     * An object representing the selection of specific variants of a product. Use only one of\n     *  `choices` or `variantIds`.\n     */\n    type ProductVariantOptions = {\n        /**\n         * Choices of the retrieved variants.\n         */\n        choices?: any;\n        /**\n         * IDs of the variants to retrieve.\n         */\n        variantIds?: string[];\n    };\n    type QuickViewOptions = {\n        /**\n         * Product quantity to be displayed in the Quick View. Defaults to 1.\n         */\n        quantity: number;\n    };\n    /**\n     * An object containing variant information to use when creating or updating variants.\n     */\n    type VariantInfo = {\n        /**\n         * Variant currency.\n         */\n        currency: string;\n        /**\n         * Variant price. The variant price must be greater than its discount. If the variant price has been updated, changes to the product price do not affect the variant price.\n         */\n        price: number;\n        /**\n         * Discounted variant price.\n         */\n        discountedPrice: number;\n        /**\n         * Variant price formatted with the currency.\n         */\n        formattedPrice: string;\n        /**\n         * Discounted variant price formatted with the currency.\n         */\n        formattedDiscountedPrice: string;\n        /**\n         * Variant weight.\n         */\n        weight: number;\n        /**\n         * Variant stock keeping unit value.\n         */\n        sku: string;\n        /**\n         * Whether the variant is visible in the store.\n         */\n        visible: boolean;\n        /**\n         * Price per unit.\n         */\n        pricePerUnit: number;\n        /**\n         * Price per unit formatted with currency symbol.\n         */\n        formattedPricePerUnit: string;\n    };\n    /**\n     * An object representing a product variant item.\n     */\n    type VariantItem = {\n        /**\n         * Unique variant ID.\n         */\n        _id: string;\n        /**\n         * Choices of the retrieved variant in the form of an object containing a key:value pair for each variant choice. For example, if a variant has a size option, this key value will be something like \"Size\" and its value will be something like \"Large\".\n         */\n        choices: any;\n        /**\n         * Variant information.\n         */\n        variant: VariantInfo;\n    };\n    /**\n     * An object representing product variants.\n     */\n    type Variants = {\n        /**\n         * List of variant items that match the specified choices or variant IDs.\n         */\n        items: VariantItem[];\n        /**\n         * Number of items in the current results page.\n         */\n        length: number;\n        /**\n         * Total number of variants with the specified choices.\n         */\n        totalCount: number;\n    };\n    /**\n     * Function that runs when a cart changes.\n     */\n    type CartChangedHandler = (cart: CartObj) => void;\n    /**\n     * The wix-stores.Cart module contains functionality for working with your\n     *  site's cart from client-side code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#)\n     */\n    interface Cart {\n        /**\n         * Adds one or more products to the cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#addProducts)\n         */\n        addProducts(products: Cart.AddToCartItem[]): Promise<CartObj>;\n        /**\n         * Adds and applies a coupon to the cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#applyCoupon)\n         */\n        applyCoupon(couponCode: string): Promise<CartObj>;\n        /**\n         * Gets the current site visitor's cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#getCurrentCart)\n         */\n        getCurrentCart(): Promise<CartObj>;\n        /**\n         * Hides the Mini Cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#hideMiniCart)\n         */\n        hideMiniCart(): void;\n        /**\n         * An event handler that is triggered when items are added or removed from a cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#onChange)\n         */\n        onChange(handler: CartChangedHandler): void;\n        /**\n         * Removes the coupon currently applied to the cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#removeCoupon)\n         */\n        removeCoupon(): Promise<CartObj>;\n        /**\n         * Removes a specified product from the cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#removeProduct)\n         */\n        removeProduct(cartLineItemId: number): Promise<CartObj>;\n        /**\n         * Shows the Mini Cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#showMiniCart)\n         */\n        showMiniCart(): void;\n        /**\n         * Updates the quantity of a specified line item in the cart.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#updateLineItemQuantity)\n         */\n        updateLineItemQuantity(cartLineItemId: number, quantity: number): Promise<CartObj>;\n    }\n    /**\n     * The wix-stores.Navigate module contains functionality for navigating to\n     * store-related pages from client-side code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Navigate.html#)\n     */\n    interface Navigate {\n        /**\n         * Directs the browser to navigate to the site visitor's cart page.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Navigate.html#toCart)\n         */\n        toCart(): Promise<void>;\n    }\n    /**\n     * The wix-stores.product module contains functionality for working with your\n     *  store's products from client-side code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Product.html#)\n     */\n    interface Product {\n        /**\n         * Gets the availability of a product based on the specified option choices.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Product.html#getOptionsAvailability)\n         */\n        getOptionsAvailability(productId: string, choices: any): Promise<ProductOptionsAvailability>;\n        /**\n         * Gets a product's available variants based on the specified product ID and either option choices or variant IDs.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Product.html#getVariants)\n         */\n        getVariants(productId: string, options?: ProductVariantOptions): Promise<VariantItem[]>;\n        /**\n         * Opens the [Quick View](https://support.wix.com/en/article/wix-stores-customizing-the-quick-view-in-the-product-gallery) modal of a specified product.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Product.html#openQuickView)\n         */\n        openQuickView(productId: string, options?: QuickViewOptions): Promise<void>;\n    }\n    /**\n     * The wix-stores.Cart module contains functionality for working with your\n     *  site's cart from client-side code.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-stores.Cart.html#)\n     */\n    namespace Cart {\n        /**\n         * An object used when adding one or more products to the cart.\n         */\n        type AddToCartItem = {\n            /**\n             * ID of the product to add to the cart.\n             */\n            productId: string;\n            /**\n             * Number of product units to add to the cart.\n             */\n            quantity: number;\n            /**\n             * Specific product options to add to the cart.\n             *  If the product you're adding has options, you must specify which options to add.\n             */\n            options?: Cart.AddToCartOptions;\n        };\n        /**\n         * An object used when adding a product to the cart with options.\n         */\n        type AddToCartOptions = {\n            /**\n             * Product options to use when adding the\n             *  product to the cart. The object contains key:value pairs where the key is the option name and the value is the chosen option value.\n             */\n            choices?: any;\n            /**\n             * Custom text fields to use when adding the product to the cart.\n             */\n            customTextFields?: Cart.CustomTextField[];\n        };\n        /**\n         * An object used to pass a custom text field when adding a product to\n         *  the cart with options.\n         */\n        type CustomTextField = {\n            /**\n             * Custom text field title.\n             */\n            title: string;\n            /**\n             * Custom text field value.\n             */\n            value: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/common/wix-users.d.ts",
      "content": "/**\n * **Deprecated.**\n * The wix-users module will continue to work, but a newer version is available at\n * [wix-members](https://www.wix.com/velo/reference/wix-members).\n * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#)\n */\ndeclare module 'wix-users' {\n    import wixCrm from 'wix-crm';\n    /**\n     * **Deprecated.**\n     * This object will continue to work, but a newer version is available at\n     * [wix-members.currentMember.getMember()](https://www.wix.com/velo/reference/wix-members/currentmember/getmember).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#currentUser)\n     */\n    const currentUser: User;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members.authentication.applySessionToken()](https://www.wix.com/velo/reference/wix-members/authentication/applysessiontoken).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#applySessionToken)\n     */\n    function applySessionToken(sessionToken: string): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-crm.triggeredEmails.emailMember()](https://www.wix.com/velo/reference/wix-crm/triggeredemails/emailmember).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#emailUser)\n     */\n    function emailUser(emailId: string, toUser: string, options?: TriggeredEmailOptions): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-window.consentPolicy.getCurrentConsentPolicy()](https://www.wix.com/velo/reference/wix-window/consentpolicy/getcurrentconsentpolicy).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#getCurrentConsentPolicy)\n     */\n    function getCurrentConsentPolicy(): PolicyDetails;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members.authentication.login()](https://www.wix.com/velo/reference/wix-members/authentication/login).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#login)\n     */\n    function login(email: string, password: string): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members.authentication.logout()](https://www.wix.com/velo/reference/wix-members/authentication/logout).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#logout)\n     */\n    function logout(): void;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-window.consentPolicy.onConsentPolicyChanged()](https://www.wix.com/velo/reference/wix-window/consentpolicy/onconsentpolicychanged).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#onConsentPolicyChanged)\n     */\n    function onConsentPolicyChanged(handler: ConsentPolicyChangedHandler): void;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members.authentication.onLogin()](https://www.wix.com/velo/reference/wix-members/authentication/onlogin).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#onLogin)\n     */\n    function onLogin(handler: LoginHandler): void;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members.authentication.promptForgotPassword()](https://www.wix.com/velo/reference/wix-members/authentication/promptforgotpassword).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#promptForgotPassword)\n     */\n    function promptForgotPassword(language?: string): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members.authentication.promptLogin()](https://www.wix.com/velo/reference/wix-members/authentication/promptlogin).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#promptLogin)\n     */\n    function promptLogin(options?: LoginOptions): Promise<User>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-members.authentication.register()](https://www.wix.com/velo/reference/wix-members/authentication/register).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#register)\n     */\n    function register(email: string, password: string, options?: RegistrationOptions): Promise<RegistrationResult>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-window.consentPolicy.resetConsentPolicy()](https://www.wix.com/velo/reference/wix-window/consentpolicy/resetconsentpolicy).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#resetConsentPolicy)\n     */\n    function resetConsentPolicy(): Promise<void>;\n    /**\n     * **Deprecated.**\n     * This function will continue to work, but a newer version is available at\n     * [wix-window.consentPolicy.setConsentPolicy()](https://www.wix.com/velo/reference/wix-window/consentpolicy/setconsentpolicy).\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.html#setConsentPolicy)\n     */\n    function setConsentPolicy(policy: Policy): Promise<PolicyDetails>;\n    /**\n     * The event that occurred when the consent policy changed.\n     */\n    type ConsentPolicyChangedEvent = {};\n    /**\n     * An object used by the `promptLogin()` function to determine how the login dialog box appears.\n     */\n    type LoginOptions = {\n        /**\n         * What type of login experience to present: `\"login\"` or `\"signup\"`. Defaults to the option chosen in the Member Signup Settings panel in the Editor.\n         */\n        mode?: string;\n        /**\n         * Deprecated.\n         */\n        lang?: string;\n        /**\n         * Whether the login form should be modal (`true`) or full screen (`false`). Defaults to `false` if the property doesn't exist.\n         */\n        modal?: boolean;\n    };\n    /**\n     * The current visitor's  consent policy settings.\n     */\n    type Policy = {\n        /**\n         * Consent for mandatory cookies for Wix websites, such as for security cookies. Wix places these cookies on your device and these cookies do not require visitor consent. Always `true`.\n         */\n        essential: boolean;\n        /**\n         * Consent for cookies placed on the visitor's device that \"remember\" visitor settings to improve visitor experience. For example, an indication that the visitor dismissed a popup. The default is `true`.\n         */\n        functional: boolean;\n        /**\n         * Consent for cookies used for analytics, such as Wix analytics, Google Analytics, Yandex Metrica, and so on. The default is `true`.\n         */\n        analytics: boolean;\n        /**\n         * Consent for cookies used for advertising purposes. This includes 3rd-party scripts and pixels that may potentially place advertising cookies on the device (such as Twitter page view and Facebook Pixel). The default is `true`.\n         */\n        advertising: boolean;\n        /**\n         * Consent for a visitor's personal data to be transferred to a 3rd party (such as Google Analytics, Facebook Pixel, and FullStory). The default is `true`.\n         */\n        dataToThirdParty: boolean;\n    };\n    /**\n     * The complete details of the current user's consent policy.\n     */\n    type PolicyDetails = {\n        /**\n         * Whether the policy is the default consent policy set by the site owner. If `true`, either the user has not set a policy or the site owner has reset the policy.\n         */\n        defaultPolicy: boolean;\n        /**\n         * An object representing the visitor's current consent policy.\n         */\n        policy: Policy;\n        /**\n         * If a cookie exists in the browser defining the current consent policy, the date the policy was set. Otherwise, undefined.\n         */\n        createdDate?: Date;\n    };\n    /**\n     * An object that contains information about a site registration.\n     */\n    type RegistrationOptions = {\n        /**\n         * Contact information.\n         */\n        contactInfo?: wixCrm.ContactInfo;\n        /**\n         * Sets the [privacy status](https://support.wix.com/en/article/member-privacy-settings-for-groups) of a new member upon registration.\n         * One of:\n         *\n         *  + `\"PUBLIC\"`: Sets the new member status to public. A member whose status is public is a member of the site's community.\n         *  + `\"PRIVATE\"`: Sets the new member status to private. A member whose status is private is not a member of the site's community. The default is set to private.\n         */\n        privacyStatus?: string;\n    };\n    /**\n     * An object that contains information about the results of a site registration.\n     */\n    type RegistrationResult = {\n        /**\n         * Registration status. Either \"Pending\" or \"Active\".\n         */\n        status: string;\n        /**\n         * A token for approving the user as\n         *  a site member using the [approveByToken()](wix-users-backend.html#approveByToken)\n         *  function. The token is safe to pass via email or from client-side code to\n         *  backend code. The token is only available when `status` is \"Pending\".\n         */\n        approvalToken?: string;\n        /**\n         * The user that has been registered.\n         */\n        user: User;\n    };\n    /**\n     * An object used when sending a Triggered Email.\n     */\n    type TriggeredEmailOptions = {\n        /**\n         * An object with `key:value` pairs where each\n         *  `key` is a variable in the email template created in Triggered Emails and its\n         *  corresponding `value` is the value to insert into the template in place of\n         *  variable. The values must be strings.\n         */\n        variables: any;\n    };\n    /**\n     * Function that runs when a visitor's consent policy was changed using [`setConsentPolicy()`](#setConsentPolicy).\n     */\n    type ConsentPolicyChangedHandler = (event: ConsentPolicyChangedEvent) => void;\n    /**\n     * Function that runs when a user has logged in.\n     */\n    type LoginHandler = (user: User) => void;\n    /**\n     * A site user.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.User.html#)\n     */\n    interface User {\n        /**\n         * **Deprecated.**\n         * This property will continue to work, but a newer version is available at\n         * [wix-members.currentMember.getMember()](https://www.wix.com/velo/reference/wix-members/currentmember/getmember).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users.User.html#id)\n         */\n        readonly id: string;\n        /**\n         * **Deprecated.**\n         * This property will continue to work, but a newer version is available at\n         * [wix-members.currentMember.getMember()](https://www.wix.com/velo/reference/wix-members/currentmember/getmember).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users.User.html#loggedIn)\n         */\n        readonly loggedIn: boolean;\n        /**\n         * **Deprecated.**\n         * This property will continue to work, but a newer version is available at\n         * [wix-members.currentMember.getRoles()](https://www.wix.com/velo/reference/wix-members/currentmember/getroles).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users.User.html#role)\n         */\n        readonly role: string;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members.currentMember.getMember()](https://www.wix.com/velo/reference/wix-members/currentmember/getmember).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users.User.html#getEmail)\n         */\n        getEmail(): Promise<string>;\n        /**\n         * Gets the user's member pricing plan.\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users.User.html#getPricingPlans)\n         */\n        getPricingPlans(): Promise<User.PricingPlan[]>;\n        /**\n         * **Deprecated.**\n         * This function will continue to work, but a newer version is available at\n         * [wix-members.currentMember.getRoles()](https://www.wix.com/velo/reference/wix-members/currentmember/getroles).\n         * \t[Read more](https://www.wix.com/corvid/reference/wix-users.User.html#getRoles)\n         */\n        getRoles(): Promise<User.UserRole[]>;\n    }\n    /**\n     * A site user.\n     * \t[Read more](https://www.wix.com/corvid/reference/wix-users.User.html#)\n     */\n    namespace User {\n        /**\n         * An object returned by the `getPricingPlans()` function representing a user's [pricing plans](https://support.wix.com/en/article/adding-and-setting-up-the-paid-plans-app).\n         */\n        type PricingPlan = {\n            /**\n             * The pricing plan's name.\n             */\n            name: string;\n            /**\n             * The pricing plan's start date.\n             */\n            startDate?: Date;\n            /**\n             * The pricing plan's expiry date.\n             */\n            expiryDate?: Date;\n        };\n        /**\n         * An object returned by the `getRoles()` function representing a user's [roles](https://support.wix.com/en/article/creating-member-roles-6943237).\n         */\n        type UserRole = {\n            /**\n             * Role name as defined in the site's dashboard or one of \"Admin\" or \"Member\".\n             */\n            name: string;\n            /**\n             * Role description, if defined in the site's dashboard.\n             */\n            description?: string;\n        };\n    }\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/common/docworks-packages.d.ts",
      "content": "/// <reference path=\"../../common/wix-dataset.d.ts\" />\n/// <reference path=\"../../common/$widget.d.ts\" />\n/// <reference path=\"../../common/$w.d.ts\" />\n/// <reference path=\"../../common/wix-location-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-location.d.ts\" />\n/// <reference path=\"../../common/wix-site-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-site.d.ts\" />\n/// <reference path=\"../../common/wix-storage-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-storage-mobile.d.ts\" />\n/// <reference path=\"../../common/wix-storage.d.ts\" />\n/// <reference path=\"../../common/wix-window-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-window.d.ts\" />\n/// <reference path=\"../../common/velo-action-spi.d.ts\" />\n/// <reference path=\"../../common/wix-animations.d.ts\" />\n/// <reference path=\"../../common/wix-animations-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-application.d.ts\" />\n/// <reference path=\"../../common/wix-auth.d.ts\" />\n/// <reference path=\"../../common/wix-billing-backend.d.ts\" />\n/// <reference path=\"../../common/wix-bookings-backend.d.ts\" />\n/// <reference path=\"../../common/wix-bookings-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-captcha-backend.d.ts\" />\n/// <reference path=\"../../common/wix-chat-backend.d.ts\" />\n/// <reference path=\"../../common/wix-crm-backend.d.ts\" />\n/// <reference path=\"../../common/wix-crm-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-dashboard.d.ts\" />\n/// <reference path=\"../../common/wix-data.d.ts\" />\n/// <reference path=\"../../common/wix-data-hooks.d.ts\" />\n/// <reference path=\"../../common/wix-ecom-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-editor.d.ts\" />\n/// <reference path=\"../../common/wix-events.d.ts\" />\n/// <reference path=\"../../common/wix-events-backend.d.ts\" />\n/// <reference path=\"../../common/wix-events-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-groups-backend.d.ts\" />\n/// <reference path=\"../../common/wix-marketing-backend.d.ts\" />\n/// <reference path=\"../../common/wix-media-backend.d.ts\" />\n/// <reference path=\"../../common/wix-members.d.ts\" />\n/// <reference path=\"../../common/wix-members-backend.d.ts\" />\n/// <reference path=\"../../common/wix-members-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-mobile.d.ts\" />\n/// <reference path=\"../../common/wix-navigate-mobile.d.ts\" />\n/// <reference path=\"../../common/wix-paid-plans-backend.d.ts\" />\n/// <reference path=\"../../common/wix-paid-plans.d.ts\" />\n/// <reference path=\"../../common/wix-pay.d.ts\" />\n/// <reference path=\"../../common/wix-pay-backend.d.ts\" />\n/// <reference path=\"../../common/wix-pay-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-payment-provider-backend.d.ts\" />\n/// <reference path=\"../../common/wix-pricing-plans.d.ts\" />\n/// <reference path=\"../../common/wix-pricing-plans-backend.d.ts\" />\n/// <reference path=\"../../common/wix-pricing-plans-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-realtime.d.ts\" />\n/// <reference path=\"../../common/wix-realtime-backend.d.ts\" />\n/// <reference path=\"../../common/wix-realtime-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-search.d.ts\" />\n/// <reference path=\"../../common/wix-secrets-backend.d.ts\" />\n/// <reference path=\"../../common/wix-seo.d.ts\" />\n/// <reference path=\"../../common/wix-seo-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-site-backend.d.ts\" />\n/// <reference path=\"../../common/wix-stores-backend.d.ts\" />\n/// <reference path=\"../../common/wix-stores-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-users-backend.d.ts\" />\n/// <reference path=\"../../common/wix-widget.d.ts\" />\n/// <reference path=\"../../common/wix-bookings.d.ts\" />\n/// <reference path=\"../../common/wix-crm.d.ts\" />\n/// <reference path=\"../../common/wix-stores.d.ts\" />\n/// <reference path=\"../../common/wix-users.d.ts\" />"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/public/docworks-packages.d.ts",
      "content": "/// <reference path=\"../common/docworks-packages.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/public/index.d.ts",
      "content": "/// <reference path=\"../../common/wix-sdk-contextual-client.d.ts\" />\n/// <reference path=\"../../common/anyProperties.d.ts\" />\n/// <reference path=\"../../common/emptyBuffer.d.ts\" />\n/// <reference path=\"../../public/$w.d.ts\" />\n/// <reference path=\"./wix-packages.d.ts\" />\n/// <reference path=\"./docworks-packages.d.ts\" />\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/page/$w.d.ts",
      "content": "declare type TypeNameToSdkType = {\r\n    Avatar: $w.Avatar;\r\n    AvatarGroup: $w.AvatarGroup;\r\n    Breadcrumbs: $w.Breadcrumbs;\r\n    Chatbox: $w.Chatbox;\r\n    CollapsibleText: $w.CollapsibleText;\r\n    DashboardIconButton: $w.DashboardIconButton;\r\n    DashboardInfoIcon: $w.DashboardInfoIcon;\r\n    DashboardInput: $w.DashboardInput;\r\n    DashboardNumberInput: $w.DashboardNumberInput;\r\n    DashboardText: $w.DashboardText;\r\n    DashboardTextButton: $w.DashboardTextButton;\r\n    HamburgerCloseButton: $w.HamburgerCloseButton;\r\n    HamburgerMenuContainer: $w.HamburgerMenuContainer;\r\n    HamburgerOpenButton: $w.HamburgerOpenButton;\r\n    HamburgerOverlay: $w.HamburgerOverlay;\r\n    Lottie: $w.Lottie;\r\n    ReactComponent: $w.ReactComponent;\r\n    RichContentViewer: $w.RichContentViewer;\r\n    Section: $w.Section;\r\n    TextMarquee: $w.TextMarquee;\r\n    TextMask: $w.TextMask;\r\n    TextParticles: $w.TextParticles;\r\n    AccountNavBar: $w.AccountNavBar;\r\n    Anchor: $w.Anchor;\r\n    AppointmentField: $w.AppointmentField;\r\n    Box: $w.Box;\r\n    Button: $w.Button;\r\n    Checkbox: $w.Checkbox;\r\n    CheckboxGroup: $w.CheckboxGroup;\r\n    Column: $w.Column;\r\n    ColumnStrip: $w.ColumnStrip;\r\n    Container: $w.Container;\r\n    DatePicker: $w.DatePicker;\r\n    Document: $w.Document;\r\n    Dropdown: $w.Dropdown;\r\n    Footer: $w.Footer;\r\n    Gallery: $w.Gallery;\r\n    GoogleMap: $w.GoogleMap;\r\n    Header: $w.Header;\r\n    HtmlComponent: $w.HtmlComponent;\r\n    IFrame: $w.IFrame;\r\n    Image: $w.Image;\r\n    MediaBox: $w.MediaBox;\r\n    Menu: $w.Menu;\r\n    MenuContainer: $w.MenuContainer;\r\n    MobileDatePicker: $w.MobileDatePicker;\r\n    MultiStateBox: $w.MultiStateBox;\r\n    Page: $w.Page;\r\n    QuickActionBar: $w.QuickActionBar;\r\n    RadioButtonGroup: $w.RadioButtonGroup;\r\n    Repeater: $w.Repeater;\r\n    Slide: $w.Slide;\r\n    Slideshow: $w.Slideshow;\r\n    Table: $w.Table;\r\n    Tabs: $w.Tabs;\r\n    Text: $w.Text;\r\n    TextBox: $w.TextBox;\r\n    TextEffects: $w.TextEffects;\r\n    TextInput: $w.TextInput;\r\n    UploadButton: $w.UploadButton;\r\n    VectorImage: $w.VectorImage;\r\n    Video: $w.Video;\r\n    VideoBox: $w.VideoBox;\r\n    MobileButton: $w.MobileButton;\r\n    MobileContainer: $w.MobileContainer;\r\n    MobileImage: $w.MobileImage;\r\n    MobilePicker: $w.MobilePicker;\r\n    MobileRepeater: $w.MobileRepeater;\r\n    MobileSwitch: $w.MobileSwitch;\r\n    MobileText: $w.MobileText;\r\n    MobileTextInput: $w.MobileTextInput;\r\n    PanelButton: $w.PanelButton;\r\n    PanelCheckboxGroup: $w.PanelCheckboxGroup;\r\n    PanelColorPicker: $w.PanelColorPicker;\r\n    PanelDropdown: $w.PanelDropdown;\r\n    PanelFontAndColorPicker: $w.PanelFontAndColorPicker;\r\n    PanelRadioButtonGroup: $w.PanelRadioButtonGroup;\r\n    PanelRichText: $w.PanelRichText;\r\n    PanelSectionDivider: $w.PanelSectionDivider;\r\n    PanelSlider: $w.PanelSlider;\r\n    PanelTextInput: $w.PanelTextInput;\r\n    PanelThumbnails: $w.PanelThumbnails;\r\n    PanelToggleSwitch: $w.PanelToggleSwitch;\r\n    AddressInput: $w.AddressInput;\r\n    AudioPlayer: $w.AudioPlayer;\r\n    Captcha: $w.Captcha;\r\n    MobileVideoPlayer: $w.MobileVideoPlayer;\r\n    Pagination: $w.Pagination;\r\n    ProgressBar: $w.ProgressBar;\r\n    RangeSlider: $w.RangeSlider;\r\n    RatingsDisplay: $w.RatingsDisplay;\r\n    RatingsInput: $w.RatingsInput;\r\n    RichTextBox: $w.RichTextBox;\r\n    Slider: $w.Slider;\r\n    SlideshowButton: $w.SlideshowButton;\r\n    Switch: $w.Switch;\r\n    TimePicker: $w.TimePicker;\r\n    VideoPlayer: $w.VideoPlayer;\r\n};\r\n\r\n\n// the first part of this file is being generated by => scripts/selector-declaration-builder.js\n// Run `npm run generate-dts` to generate it\ndeclare type IntersectionArrayAndBase<T, P> = {\n  [K in keyof T]: K extends P ? T[K] : T[K] & T[K][];\n};\n\ndeclare type TypeSelectorMap = IntersectionArrayAndBase<\n  TypeNameToSdkType,\n  \"Document\"\n>;\ndeclare type WixElements = PageElementsMap & TypeSelectorMap;\ndeclare type NicknameSelector = keyof PageElementsMap;\ndeclare type TypeSelector = keyof TypeSelectorMap;\n\ndeclare type WixElementSelector = NicknameSelector | TypeSelector;\ndeclare type IsWixElementSelector<S> = S extends WixElementSelector\n  ? WixElements[S]\n  : never;\n/**\n * Selects and returns elements from a page.\n */\ndeclare function $w<T extends WixElementSelector, S extends string>(\n  selector: T | (S & IsWixElementSelector<S>),\n): S extends keyof WixElements ? WixElements[S] : any;\n/**\n * The `$w` namespace contains everything you need in order to work\n with your site's components.\n */\ndeclare namespace $w {\n  /**\r\n\t * Gets a selector function for a specific context.\r\n\t */\r\n\t function at(context: $w.Event.EventContext): $w.$w;\r\n\t\r\n\t/**\r\n\t * Sets the function that runs when all the page elements have finished loading.\r\n\t */\r\n\t function onReady(initFunction: $w.ReadyHandler): void;\r\n\t\r\n\t\n  /**\n   * Selects and returns elements from a page.\n   */\n  type $w = <T extends WixElementSelector, S extends string>(\n    selector: T | (S & IsWixElementSelector<S>),\n  ) => S extends keyof WixElements ? WixElements[S] : any;\n}\n"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/page/wix-packages.d.ts",
      "content": "/// <reference path=\"../common/wix-core-services-dev.d.ts\" />\n/// <reference path=\"../common/wix-loyalty-backend.d.ts\" />\n/// <reference path=\"../common/wix-metro-backend.d.ts\" />\n/// <reference path=\"../common/wix-online-programs-backend.d.ts\" />\n/// <reference path=\"../common/wix-alarm-backend.d.ts\" />\n/// <reference path=\"../common/wix-blog-backend.d.ts\" />\n/// <reference path=\"../common/wix-ecom-backend.d.ts\" />\n/// <reference path=\"../common/wix-atlas-location-backend.d.ts\" />\n/// <reference path=\"../common/wix-pro-gallery-backend.d.ts\" />\n/// <reference path=\"../common/wix-alert-enricher-backend.d.ts\" />\n/// <reference path=\"../common/wix-question-backend.d.ts\" />\n/// <reference path=\"../common/wix-bobs-backend.d.ts\" />\n/// <reference path=\"../common/wix-freds-backend.d.ts\" />\n/// <reference path=\"../common/wix-ratings-definition-backend.d.ts\" />\n/// <reference path=\"../common/wix-echo-backend.d.ts\" />\n/// <reference path=\"../common/wix-restaurants-backend.d.ts\" />\n/// <reference path=\"../common/wix-jackal-backend.d.ts\" />\n/// <reference path=\"../common/wix-atlas-places-backend.d.ts\" />\n/// <reference path=\"../common/wix-activity-counters-backend.d.ts\" />\n/// <reference path=\"../common/wix-atlas-autocomplete-backend.d.ts\" />\n/// <reference path=\"../common/wix-livevideo-backend.d.ts\" />\n/// <reference path=\"../common/wix-iot-backend.d.ts\" />\n/// <reference path=\"../common/wix-atlas-backend.d.ts\" />\n/// <reference path=\"../common/wix-restaurants-orders-backend.d.ts\" />\n/// <reference path=\"../common/wix-reviews-backend.d.ts\" />\n/// <reference path=\"../common/wix-restaurants-catalogs-backend.d.ts\" />\n/// <reference path=\"../common/wix-iot-devices-backend.d.ts\" />\n/// <reference path=\"../common/wix-portfolio-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-additional-fees-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-catalog-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-custom-trigger-provider.d.ts\" />\n/// <reference path=\"../common/wix-metro-backend-v2.d.ts\" />\n/// <reference path=\"../common/interfaces-bookings-v1-pricing-provider.d.ts\" />\n/// <reference path=\"../common/wix-motion-backend.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-custom-scopes-provider.d.ts\" />\n/// <reference path=\"../common/wix-bookings-backend.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-ecom-v1-shipping-rates-provider.d.ts\" />\n/// <reference path=\"../common/wix-data-backend-public-sdk-poc.d.ts\" />\n/// <reference path=\"../common/interfaces-ecom-v1-line-items-enricher.d.ts\" />\n/// <reference path=\"../common/interfaces-coreservices-v1-coupons-provider.d.ts\" />\n/// <reference path=\"../common/wix-forms-backend.d.ts\" />\n/// <reference path=\"../common/auto-frontend-module-registry.d.ts\" />\n/// <reference path=\"../common/wix-table-reservations-backend.d.ts\" />\n/// <reference path=\"../common/wix-stores-backend.v2.d.ts\" />\n/// <reference path=\"../common/wix-members-followers-backend.v3.d.ts\" />\n/// <reference path=\"../common/wix-recruitment-agencies-positions-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-comm-channels-v1-communication-channels-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-psp-v1-payment-service-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-sitetranslator-v1-translatableitem.d.ts\" />\n/// <reference path=\"../common/portfolio-syncedprojects-v1-project.d.ts\" />\n/// <reference path=\"../common/wix-recruitment-agencies-applications-backend.d.ts\" />\n/// <reference path=\"../common/wix-recruitment-agencies-info-backend.d.ts\" />\n/// <reference path=\"../common/wix-stores-backend-poc.v2.d.ts\" />\n/// <reference path=\"../common/wix-os-backend.d.ts\" />\n/// <reference path=\"../common/wix-sender-details-backend.d.ts\" />\n/// <reference path=\"../common/wix-comments-backend.d.ts\" />\n/// <reference path=\"../common/wix-marketing-tags-backend.d.ts\" />\n/// <reference path=\"../common/wix-app-market-backend.d.ts\" />\n/// <reference path=\"../common/wix-contacts-backend.v2.d.ts\" />\n/// <reference path=\"../common/wix-inbox-conversations.backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-ratings-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-ecom-v1-related-items-provider.d.ts\" />\n/// <reference path=\"../common/wix-groups-backend.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-ecom-v1-recommendations-provider.d.ts\" />\n/// <reference path=\"../common/wix-identity-backend.d.ts\" />\n/// <reference path=\"../common/wix-entitlements-backend.d.ts\" />\n/// <reference path=\"../common/wix-events-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-data-index-service-v2.d.ts\" />\n/// <reference path=\"../common/wix-category-backend.d.ts\" />\n/// <reference path=\"../common/wix-events.v2.d.ts\" />\n/// <reference path=\"../common/wix-categories-backend.d.ts\" />\n/// <reference path=\"../common/wix-badges-backend.v3.d.ts\" />\n/// <reference path=\"../common/wix-badges-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-badges-backend.v2.d.ts\" />\n/// <reference path=\"../common/localdelivery-spi-v2-tpa.d.ts\" />\n/// <reference path=\"../common/wix-forum-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-v1-shipping-label-carrier-quote.d.ts\" />\n/// <reference path=\"../common/interfaces-ecom-v1-gift-card-provider-entity.d.ts\" />\n/// <reference path=\"../common/wix-notifications-backend.d.ts\" />\n/// <reference path=\"../common/wix-marketing-backend.v2.d.ts\" />\n/// <reference path=\"../common/wix-groups-backend.v3.d.ts\" />\n/// <reference path=\"../common/wix-data-collection-service-v2.d.ts\" />\n/// <reference path=\"../common/wix-inbox.v2.d.ts\" />\n/// <reference path=\"../common/wix-email-marketing.v2.d.ts\" />\n/// <reference path=\"../common/wix-bookings.v2.d.ts\" />\n/// <reference path=\"../common/wix-forum.v2.d.ts\" />\n/// <reference path=\"../common/wix-activity-counters.v2.d.ts\" />\n/// <reference path=\"../common/wix-loyalty.v2.d.ts\" />\n/// <reference path=\"../common/wix-business-tools.v2.d.ts\" />\n/// <reference path=\"../common/wix-marketing-tags.v2.d.ts\" />\n/// <reference path=\"../common/wix-stores.v2.d.ts\" />\n/// <reference path=\"../common/wix-redirects-api.v1.d.ts\" />\n/// <reference path=\"../common/wix-ads-txt.v1.d.ts\" />\n/// <reference path=\"../common/wix-sender-details.v2.d.ts\" />\n/// <reference path=\"../common/billing-spi-v1-tax-calculator.d.ts\" />\n/// <reference path=\"../common/restaurants-posspihost-v1-tpa.d.ts\" />\n/// <reference path=\"../common/wix-media.v2.d.ts\" />\n/// <reference path=\"../common/wix-pricing-plans-backend.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-comments-moderation-v1-comments-moderation-provider.d.ts\" />\n/// <reference path=\"../common/wix-authentication-management.v2.d.ts\" />\n/// <reference path=\"../common/wix-multilingual-localization.d.ts\" />\n/// <reference path=\"../common/wix-multilingual-localization-public.d.ts\" />\n/// <reference path=\"../common/wix-pricing-plans.v2.d.ts\" />\n/// <reference path=\"../common/wix-members.v2.d.ts\" />\n/// <reference path=\"../common/wix-groups.v2.d.ts\" />\n/// <reference path=\"../common/wix-data-backup-service-v2.d.ts\" />\n/// <reference path=\"../common/wix-marketing.v2.d.ts\" />\n/// <reference path=\"../common/wix-currencies.v2.d.ts\" />\n/// <reference path=\"../common/wix-members-about-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-members-followers-backend.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-components-translation-v1-translations-provider.d.ts\" />\n/// <reference path=\"../common/wix-multilingual-localization-schema.d.ts\" />\n/// <reference path=\"../common/wix-events.v3.d.ts\" />\n/// <reference path=\"../common/interfaces-iam-v1-idp-connection-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-items-selection-v1-items-selection-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-forms-v4-forms-schema-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-psp-v1-price-breakdown.d.ts\" />\n/// <reference path=\"../common/wix-autocms-tasks-service-v1.d.ts\" />\n/// <reference path=\"../common/wix-autocms-folders-service-v1.d.ts\" />\n/// <reference path=\"../common/wix-autocms-collection-rules-service-v1.d.ts\" />\n/// <reference path=\"../common/interfaces-iam-v1-pre-register-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-components-validator-v1-validation-provider.d.ts\" />\n/// <reference path=\"../common/wix-redirects.v1.d.ts\" />\n/// <reference path=\"../common/interfaces-bookings-v1-custom-pricing.d.ts\" />\n/// <reference path=\"../common/wix-data-resourceusage-service-v1.d.ts\" />\n/// <reference path=\"../common/wix-data-collections.d.ts\" />\n/// <reference path=\"../common/interfaces-entitlements-v1-policy-provider.d.ts\" />\n/// <reference path=\"../common/wix-data-indexes.d.ts\" />\n/// <reference path=\"../common/wix-ecom.v2.d.ts\" />\n/// <reference path=\"../common/wix-data-external-database-connections.d.ts\" />\n/// <reference path=\"../common/wix-auth-management.v2.d.ts\" />\n/// <reference path=\"../common/wix-data-items.d.ts\" />\n/// <reference path=\"../common/interfaces-automations-v1-action-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-premium-v1-custom-charges-provider.d.ts\" />\n/// <reference path=\"../common/wix-data.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-iam-v1-post-login-provider.d.ts\" />\n/// <reference path=\"../common/wix-sender-emails-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-promote-v1-social-marketing-designs-provider.d.ts\" />\n/// <reference path=\"../common/wix-stores-backend.v3.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-validations-provider.d.ts\" />\n/// <reference path=\"../common/wix-stores-v3.d.ts\" />\n/// <reference path=\"../common/interfaces-comments-filter-v1-comments-filter-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-custom-scope.d.ts\" />\n/// <reference path=\"../common/wix-notifications.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-promote-v1-gbp-feature.d.ts\" />\n/// <reference path=\"../common/wix-workflows.v2.d.ts\" />\n/// <reference path=\"../common/wix-risewallet.d.ts\" />\n/// <reference path=\"../common/wix-riseevent.d.ts\" />\n/// <reference path=\"../common/wix-secrets-backend.v2.d.ts\" />\n/// <reference path=\"../common/wix-crm.v2.d.ts\" />\n/// <reference path=\"../common/wix-captcha.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-entitlements-v1-entitlement-provider.d.ts\" />\n/// <reference path=\"../common/wix-table-reservations.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-billing-tax-validation-spi-v1-tax-id-validator-spi.d.ts\" />\n/// <reference path=\"../common/wix-categories.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-billing-tax-validation-spi-v1-tax-id-validator.d.ts\" />\n/// <reference path=\"../common/wix-reviews.v2.d.ts\" />\n/// <reference path=\"../common/wix-notifications.v3.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-custom-trigger.d.ts\" />\n/// <reference path=\"../common/wix-comments.v2.d.ts\" />\n/// <reference path=\"../common/wix-rise.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-promote-v1-social-marketing-design.d.ts\" />\n/// <reference path=\"../common/interfaces-dealer-external-filter-v1-filter-applicable.d.ts\" />\n/// <reference path=\"../common/wix-members-followers-backend.v1.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-payment-settings-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-iam-v1-authenticator-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-notification-v1-notification-preferences-filter-provider.d.ts\" />\n/// <reference path=\"../common/wix-members.v3.d.ts\" />\n/// <reference path=\"../common/wix-search.v2.d.ts\" />\n/// <reference path=\"../common/wix-bookings.v1.d.ts\" />\n/// <reference path=\"../common/wix-members-about.v1.d.ts\" />\n/// <reference path=\"../common/wix-forms.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-invoices-v1-invoices.d.ts\" />\n/// <reference path=\"../common/wix-restaurants.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-bookings-availability-v2-availability-time-slots-configuration-provider.d.ts\" />\n/// <reference path=\"../common/wix-benefit-programs-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-online-programs.d.ts\" />\n/// <reference path=\"../common/interfaces-automations-v1-velo-action-provider.d.ts\" />\n/// <reference path=\"../common/wix-custom-fields-schema.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-benefit-programs-v1-benefit-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-forms-v4-submission.d.ts\" />\n/// <reference path=\"../common/interfaces-forms-v4-submission-collaborator.d.ts\" />\n/// <reference path=\"../common/interfaces-velo-ide-v1-gridapp-files-transformer.d.ts\" />\n/// <reference path=\"../common/ecom-v1-validations-data.d.ts\" />\n/// <reference path=\"../common/wix-export-async-job.v1.d.ts\" />\n/// <reference path=\"../common/wix-fqdn-definitions-backend.d.ts\" />\n/// <reference path=\"../common/wix-settings.v2.d.ts\" />\n/// <reference path=\"../common/wix-restaurants.d.ts\" />\n/// <reference path=\"../common/interfaces-forms-v4-submission-extension.d.ts\" />\n/// <reference path=\"../common/table-reservations-v1-custom-reservations-approval.d.ts\" />\n/// <reference path=\"../common/wix-multilingual.v2.d.ts\" />\n/// <reference path=\"../common/interfaces-bookings-availability-v2-multi-service-booking-policy-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-bookings-availability-v2-booking-policy-provider.d.ts\" />\n/// <reference path=\"../common/wix-calendar.v3.d.ts\" />\n/// <reference path=\"../common/interfaces-billing-v1-tax-calculation-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-editor-deployments-v1-deployment-pipeline-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-benefit-programs-v1-policy-provider.d.ts\" />\n/// <reference path=\"../common/wix-generate-example.d.ts\" />\n/// <reference path=\"../common/wix-billing-tax.d.ts\" />\n/// <reference path=\"../common/wix-events.v1.d.ts\" />\n/// <reference path=\"../common/wix-billing.v2.d.ts\" />\n/// <reference path=\"../common/wix-stores.v3.d.ts\" />\n/// <reference path=\"../common/wix-payments.v2.d.ts\" />\n/// <reference path=\"../common/wix-ep-plugins.v1.d.ts\" />\n/// <reference path=\"../common/wix-app-settings.v2.d.ts\" />\n/// <reference path=\"../common/wix-urls.v2.d.ts\" />\n/// <reference path=\"../common/wix-app-plugins-site-plugins.v1.d.ts\" />\n/// <reference path=\"../common/interfaces-communication-channels-v1-channel-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-communication-channels-v2-channel-provider.d.ts\" />\n/// <reference path=\"../common/wix-search.v3.d.ts\" />\n/// <reference path=\"../common/interfaces-functionsshop-v1-shop-price-provider.d.ts\" />\n/// <reference path=\"../common/interfaces-premium-v1-productspaths.d.ts\" />\n/// <reference path=\"../common/wix-ssr-cache-invalidation-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-app-management.v2.d.ts\" />\n/// <reference path=\"../common/wix-cache-backend.d.ts\" />\n/// <reference path=\"../common/wix-analytics.d.ts\" />\n/// <reference path=\"../common/wix-seatings-backend.d.ts\" />\n/// <reference path=\"../common/wix-dashboard-management-backend.d.ts\" />\n/// <reference path=\"../common/wix-papyrus-templates-backend.d.ts\" />\n/// <reference path=\"../common/interfaces-velo-publish-pipeline-v1-publish-pipeline-task-provider.d.ts\" />\n/// <reference path=\"../common/wix-sending-domains-backend.d.ts\" />\n/// <reference path=\"../common/wix-site-plugins.v1.d.ts\" />\n/// <reference path=\"../common/wix-dashboard-management.v2.d.ts\" />\n/// <reference path=\"../common/wix-editor-deployments.v1.d.ts\" />\n/// <reference path=\"../common/wix-infra-backend.d.ts\" />\n/// <reference path=\"../common/wix-tags.v1.d.ts\" />\n/// <reference path=\"../common/wix-packages.v1.d.ts\" />\n/// <reference path=\"../common/wix-domains.v1.d.ts\" />\n/// <reference path=\"../common/wix-moderation-rules.v1.d.ts\" />\n/// <reference path=\"../common/wix-automations.v2.d.ts\" />\n/// <reference path=\"../common/wix-referral.v1.d.ts\" />\n/// <reference path=\"../common/wix-custom-fields.v1.d.ts\" />\n/// <reference path=\"../common/wix-members.v1.d.ts\" />\n/// <reference path=\"../common/wix-subscription.v1.d.ts\" />\n/// <reference path=\"../common/wix-review-request.v1.d.ts\" />\n/// <reference path=\"../common/wix-site-actions.v2.d.ts\" />\n/// <reference path=\"../common/wix-members-area.v1.d.ts\" />\n/// <reference path=\"../common/wix-analytics-session.v1.d.ts\" />\n/// <reference path=\"../common/wix-gift-cards-backend.d.ts\" />\n/// <reference path=\"../common/wix-marketing-consent-service-backend.d.ts\" />\n/// <reference path=\"../common/wix-analytics-data.v2.d.ts\" />\n/// <reference path=\"../common/wix-async-jobs.v2.d.ts\" />\n/// <reference path=\"../common/chat-widget.v1.d.ts\" />\n/// <reference path=\"../common/migration-triggers.v1.d.ts\" />\n/// <reference path=\"../common/trigger-catalog.v1.d.ts\" />\n/// <reference path=\"../common/wix-automations.v1.d.ts\" />\n/// <reference path=\"../common/wix-assistant-widget.v1.d.ts\" />\n/// <reference path=\"../common/wix-editor-site-embeds.v1.d.ts\" />\n/// <reference path=\"../common/wix-automations-actioncatalog.v1.d.ts\" />\n/// <reference path=\"../common/wix-assistant-playground.v1.d.ts\" />\n/// <reference path=\"../common/interfaces-ecommerce-v1-discounts-provider.d.ts\" />\n/// <reference path=\"../common/wix-assistant-playground.v2.d.ts\" />\n/// <reference path=\"../common/wix-automations-activation-log.v1.d.ts\" />\n/// <reference path=\"../common/wix-gift-vouchers.v2.d.ts\" />\n/// <reference path=\"../common/bookings-v2-pricing-spi.d.ts\" />\n/// <reference path=\"../common/wix-automations-activation-summary.v1.d.ts\" />\n/// <reference path=\"../common/wix-data-site-usage-service-v1.d.ts\" />\n/// <reference path=\"../common/wix-instagram-account-backend.v1.d.ts\" />\n/// <reference path=\"../common/wix-analytics-session.v2.d.ts\" />\n/// <reference path=\"../common/wix-reports.v2.d.ts\" />\n/// <reference path=\"../common/wix-data-extension-schema.v1.d.ts\" />\n/// <reference path=\"../common/wix-fetch.d.ts\" />\n/// <reference path=\"../common/wix-automations-runner.v1.d.ts\" />\n/// <reference path=\"../common/wix-automations.d.ts\" />\n/// <reference path=\"../common/wix-functions.v1.d.ts\" />\n/// <reference path=\"../common/wix-media-collections-backend.d.ts\" />\n/// <reference path=\"../common/wix-review-requests.v2.d.ts\" />\n/// <reference path=\"../common/wix-b2btransfer.d.ts\" />\n/// <reference path=\"../common/wix-instagram-media.v1.d.ts\" />\n/// <reference path=\"../common/wix-automations-activation-action-log.v1.d.ts\" />\n/// <reference path=\"../common/user-management-backend.d.ts\" />\n/// <reference path=\"../common/wix-user-management-backend.d.ts\" />\n/// <reference path=\"../common/wix-premium-product-type.v1.d.ts\" />\n/// <reference path=\"../common/wix-promote-growth-tools-design.v1.d.ts\" />"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/page/docworks-packages.d.ts",
      "content": "/// <reference path=\"../../common/wix-dataset.d.ts\" />\n/// <reference path=\"../../common/$widget.d.ts\" />\n/// <reference path=\"../../common/wix-location-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-location.d.ts\" />\n/// <reference path=\"../../common/wix-site-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-site.d.ts\" />\n/// <reference path=\"../../common/wix-storage-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-storage-mobile.d.ts\" />\n/// <reference path=\"../../common/wix-storage.d.ts\" />\n/// <reference path=\"../../common/wix-window-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-window.d.ts\" />\n/// <reference path=\"../../common/velo-action-spi.d.ts\" />\n/// <reference path=\"../../common/wix-animations.d.ts\" />\n/// <reference path=\"../../common/wix-animations-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-application.d.ts\" />\n/// <reference path=\"../../common/wix-auth.d.ts\" />\n/// <reference path=\"../../common/wix-bookings-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-crm-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-dashboard.d.ts\" />\n/// <reference path=\"../../common/wix-data.d.ts\" />\n/// <reference path=\"../../common/wix-data-hooks.d.ts\" />\n/// <reference path=\"../../common/wix-ecom-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-editor.d.ts\" />\n/// <reference path=\"../../common/wix-events.d.ts\" />\n/// <reference path=\"../../common/wix-events-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-members.d.ts\" />\n/// <reference path=\"../../common/wix-members-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-mobile.d.ts\" />\n/// <reference path=\"../../common/wix-navigate-mobile.d.ts\" />\n/// <reference path=\"../../common/wix-paid-plans.d.ts\" />\n/// <reference path=\"../../common/wix-pay.d.ts\" />\n/// <reference path=\"../../common/wix-pay-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-payment-provider-backend.d.ts\" />\n/// <reference path=\"../../common/wix-pricing-plans.d.ts\" />\n/// <reference path=\"../../common/wix-pricing-plans-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-realtime.d.ts\" />\n/// <reference path=\"../../common/wix-realtime-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-search.d.ts\" />\n/// <reference path=\"../../common/wix-seo.d.ts\" />\n/// <reference path=\"../../common/wix-seo-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-stores-frontend.d.ts\" />\n/// <reference path=\"../../common/wix-widget.d.ts\" />\n/// <reference path=\"../../common/wix-bookings.d.ts\" />\n/// <reference path=\"../../common/wix-crm.d.ts\" />\n/// <reference path=\"../../common/wix-stores.d.ts\" />\n/// <reference path=\"../../common/wix-users.d.ts\" />"
    },
    {
      "path": "@wix/wix-code-types/dist/types/beta/page/index.d.ts",
      "content": "/// <reference path=\"../../common/wix-sdk-contextual-client.d.ts\" />\n/// <reference path=\"../../common/anyProperties.d.ts\" />\n/// <reference path=\"../../common/emptyBuffer.d.ts\" />\n/// <reference path=\"../../common/$w.d.ts\" />\n/// <reference path=\"../../page/$w.d.ts\" />\n/// <reference path=\"./wix-packages.d.ts\" />\n/// <reference path=\"./docworks-packages.d.ts\" />\n"
    }
  ],
  "contexts": {
    "BACKEND": [
      "@wix/wix-code-types/dist/types/common/wix-sdk-contextual-client.d.ts",
      "@wix/wix-code-types/dist/types/common/anyProperties.d.ts",
      "@wix/wix-code-types/dist/types/common/$w.d.ts",
      "@wix/wix-code-types/dist/types/backend/$w.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-core-services-dev.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-loyalty-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-online-programs-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-alarm-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-blog-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ecom-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-location-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-pro-gallery-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-alert-enricher-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-question-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bobs-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-freds-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ratings-definition-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-echo-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-jackal-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-places-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-activity-counters-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-autocomplete-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-livevideo-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-iot-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-orders-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-reviews-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-catalogs-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-iot-devices-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-showoff-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-portfolio-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-additional-fees-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-catalog-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-trigger-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-v1-pricing-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-motion-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-scopes-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bookings-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-shipping-rates-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-backend-public-sdk-poc.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-line-items-enricher.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-site-media-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-coreservices-v1-coupons-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forms-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/auto-frontend-module-registry.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-table-reservations-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-positions-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-comm-channels-v1-communication-channels-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-psp-v1-payment-service-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-sitetranslator-v1-translatableitem.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/portfolio-syncedprojects-v1-project.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-applications-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-info-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend-poc.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-os-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-email-marketing-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sender-details-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-comments-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-tags-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-market-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-contacts-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-inbox-conversations.backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ratings-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-related-items-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-groups-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-recommendations-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-identity-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-entitlements-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-index-service-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-category-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-categories-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/localdelivery-spi-v2-tpa.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forum-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-v1-shipping-label-carrier-quote.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-gift-card-provider-entity.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-notifications-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-groups-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-collection-service-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-inbox.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-email-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bookings.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forum.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-activity-counters.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-loyalty.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-business-tools.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-tags.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-redirects-api.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ads-txt.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sender-details.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/billing-spi-v1-tax-calculator.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/restaurants-posspihost-v1-tpa.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-media.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-pricing-plans-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-comments-moderation-v1-comments-moderation-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-authentication-management.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-authentication-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization-public.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-pricing-plans.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-groups.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-backup-service-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-currencies.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-about-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-components-translation-v1-translations-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization-schema.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-idp-connection-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-items-selection-v1-items-selection-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-forms-schema-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-psp-v1-price-breakdown.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-autocms-tasks-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-autocms-folders-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-autocms-collection-rules-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-pre-register-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-components-validator-v1-validation-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-redirects.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-v1-custom-pricing.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-resourceusage-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-collections.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-entitlements-v1-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-indexes.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ecom.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-external-database-connections.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-auth-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-items.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-automations-v1-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-premium-v1-custom-charges-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-post-login-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sender-emails-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-social-marketing-designs-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-validations-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-comments-filter-v1-comments-filter-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-scope.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-notifications.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-gbp-feature.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-workflows.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-risewallet.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-riseevent.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-secrets-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-crm.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-captcha.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-entitlements-v1-entitlement-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-table-reservations.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-tax-validation-spi-v1-tax-id-validator-spi.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-categories.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-tax-validation-spi-v1-tax-id-validator.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-reviews.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-notifications.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-trigger.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-comments.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-rise.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-social-marketing-design.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-dealer-external-filter-v1-filter-applicable.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-web-module.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-payment-settings-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-authenticator-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-notification-v1-notification-preferences-filter-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-search.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bookings.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-about.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forms.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-invoices-v1-invoices.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-availability-time-slots-configuration-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-benefit-programs-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-online-programs.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-automations-v1-velo-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-custom-fields-schema.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-benefit-programs-v1-benefit-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission-collaborator.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-velo-ide-v1-gridapp-files-transformer.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/ecom-v1-validations-data.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-export-async-job.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-fqdn-definitions-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-settings.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission-extension.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/table-reservations-v1-custom-reservations-approval.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-multi-service-booking-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-booking-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-calendar.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-v1-tax-calculation-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-editor-deployments-v1-deployment-pipeline-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-benefit-programs-v1-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-generate-example.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-billing-tax.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-billing.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-payments.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ep-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-settings.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-urls.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-plugins-site-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-communication-channels-v1-channel-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-communication-channels-v2-channel-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-search.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-functionsshop-v1-shop-price-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-premium-v1-productspaths.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ssr-cache-invalidation-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-cache-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-seatings-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-dashboard-management-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-papyrus-templates-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-velo-publish-pipeline-v1-publish-pipeline-task-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sending-domains-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-site-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-dashboard-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-editor-deployments.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-infra-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-tags.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-packages.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-domains.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-moderation-rules.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-referral.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-custom-fields.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-subscription.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-review-request.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-site-actions.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-area.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics-session.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-gift-cards-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-consent-service-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics-data.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-async-jobs.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/chat-widget.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/migration-triggers.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/trigger-catalog.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-assistant-widget.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-editor-site-embeds.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-actioncatalog.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-assistant-playground.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-discounts-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-assistant-playground.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-log.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-gift-vouchers.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/bookings-v2-pricing-spi.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-summary.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-site-usage-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-instagram-account-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics-session.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-reports.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-extension-schema.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-fetch.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-runner.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-http-functions.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-functions.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-router.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-media-collections-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-review-requests.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-b2btransfer.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-instagram-media.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-action-log.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/user-management-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-user-management-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-premium-product-type.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-promote-growth-tools-design.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-configs-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-application-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/backend/wix-packages.d.ts",
      "@wix/wix-code-types/dist/types/common/$widget.d.ts",
      "@wix/wix-code-types/dist/types/common/velo-action-spi.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-application.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-auth.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-billing-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-bookings-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-captcha-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-chat-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-crm-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-data.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-data-hooks.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-editor.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-events-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-groups-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-marketing-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-media-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-members-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-paid-plans-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pay-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-payment-provider-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pricing-plans-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-realtime-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-search.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-secrets-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-site-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-stores-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-users-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-widget.d.ts",
      "@wix/wix-code-types/dist/types/beta/backend/docworks-packages.d.ts",
      "@wix/wix-code-types/dist/types/beta/backend/index.d.ts",
      "@wix/wix-code-types/dist/types/node/compatibility/disposable.d.ts",
      "@wix/wix-code-types/dist/types/node/compatibility/indexable.d.ts",
      "@wix/wix-code-types/dist/types/node/compatibility/iterators.d.ts",
      "@wix/wix-code-types/dist/types/node/compatibility/index.d.ts",
      "@wix/wix-code-types/dist/types/node/ts5.6/globals.typedarray.d.ts",
      "@wix/wix-code-types/dist/types/node/ts5.6/buffer.buffer.d.ts",
      "@wix/wix-code-types/dist/types/node/globals.d.ts",
      "@wix/wix-code-types/dist/types/node/web-globals/abortcontroller.d.ts",
      "@wix/wix-code-types/dist/types/node/web-globals/domexception.d.ts",
      "@wix/wix-code-types/dist/types/node/web-globals/events.d.ts",
      "@wix/wix-code-types//home/builduser/work/b98898ac391e73ab/node_modules/buffer/index.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/header.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/readable.d.ts",
      "@wix/wix-code-types//home/builduser/work/b98898ac391e73ab/node_modules/@types/node/ts5.6/index.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/file.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/fetch.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/formdata.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/connector.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/client.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/errors.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/dispatcher.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/global-dispatcher.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/global-origin.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/pool-stats.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/pool.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/handlers.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/balanced-pool.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/agent.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/mock-interceptor.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/mock-agent.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/mock-client.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/mock-pool.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/mock-errors.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/proxy-agent.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/api.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/cookies.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/patch.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/filereader.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/diagnostics-channel.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/websocket.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/content-type.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/cache.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/interceptors.d.ts",
      "@wix/wix-code-types/dist/types/node/node_modules/undici-types/index.d.ts",
      "@wix/wix-code-types/dist/types/node/web-globals/fetch.d.ts",
      "@wix/wix-code-types/dist/types/node/assert.d.ts",
      "@wix/wix-code-types/dist/types/node/assert/strict.d.ts",
      "@wix/wix-code-types/dist/types/node/async_hooks.d.ts",
      "@wix/wix-code-types/dist/types/node/buffer.d.ts",
      "@wix/wix-code-types/dist/types/node/child_process.d.ts",
      "@wix/wix-code-types/dist/types/node/cluster.d.ts",
      "@wix/wix-code-types/dist/types/node/console.d.ts",
      "@wix/wix-code-types/dist/types/node/constants.d.ts",
      "@wix/wix-code-types/dist/types/node/crypto.d.ts",
      "@wix/wix-code-types/dist/types/node/dgram.d.ts",
      "@wix/wix-code-types/dist/types/node/diagnostics_channel.d.ts",
      "@wix/wix-code-types/dist/types/node/dns.d.ts",
      "@wix/wix-code-types/dist/types/node/dns/promises.d.ts",
      "@wix/wix-code-types/dist/types/node/domain.d.ts",
      "@wix/wix-code-types/dist/types/node/events.d.ts",
      "@wix/wix-code-types/dist/types/node/fs.d.ts",
      "@wix/wix-code-types/dist/types/node/fs/promises.d.ts",
      "@wix/wix-code-types/dist/types/node/http.d.ts",
      "@wix/wix-code-types/dist/types/node/http2.d.ts",
      "@wix/wix-code-types/dist/types/node/https.d.ts",
      "@wix/wix-code-types/dist/types/node/inspector.generated.d.ts",
      "@wix/wix-code-types/dist/types/node/module.d.ts",
      "@wix/wix-code-types/dist/types/node/net.d.ts",
      "@wix/wix-code-types/dist/types/node/os.d.ts",
      "@wix/wix-code-types/dist/types/node/path.d.ts",
      "@wix/wix-code-types/dist/types/node/perf_hooks.d.ts",
      "@wix/wix-code-types/dist/types/node/process.d.ts",
      "@wix/wix-code-types/dist/types/node/punycode.d.ts",
      "@wix/wix-code-types/dist/types/node/querystring.d.ts",
      "@wix/wix-code-types/dist/types/node/readline.d.ts",
      "@wix/wix-code-types/dist/types/node/readline/promises.d.ts",
      "@wix/wix-code-types/dist/types/node/repl.d.ts",
      "@wix/wix-code-types/dist/types/node/stream.d.ts",
      "@wix/wix-code-types/dist/types/node/stream/promises.d.ts",
      "@wix/wix-code-types/dist/types/node/stream/consumers.d.ts",
      "@wix/wix-code-types/dist/types/node/stream/web.d.ts",
      "@wix/wix-code-types/dist/types/node/string_decoder.d.ts",
      "@wix/wix-code-types/dist/types/node/test.d.ts",
      "@wix/wix-code-types/dist/types/node/timers.d.ts",
      "@wix/wix-code-types/dist/types/node/timers/promises.d.ts",
      "@wix/wix-code-types/dist/types/node/tls.d.ts",
      "@wix/wix-code-types/dist/types/node/trace_events.d.ts",
      "@wix/wix-code-types/dist/types/node/tty.d.ts",
      "@wix/wix-code-types/dist/types/node/url.d.ts",
      "@wix/wix-code-types/dist/types/node/util.d.ts",
      "@wix/wix-code-types/dist/types/node/v8.d.ts",
      "@wix/wix-code-types/dist/types/node/vm.d.ts",
      "@wix/wix-code-types/dist/types/node/wasi.d.ts",
      "@wix/wix-code-types/dist/types/node/worker_threads.d.ts",
      "@wix/wix-code-types/dist/types/node/zlib.d.ts",
      "@wix/wix-code-types/dist/types/node/ts5.6/index.d.ts"
    ],
    "PUBLIC": [
      "@wix/wix-code-types/dist/types/common/wix-sdk-contextual-client.d.ts",
      "@wix/wix-code-types/dist/types/common/anyProperties.d.ts",
      "@wix/wix-code-types/dist/types/common/emptyBuffer.d.ts",
      "@wix/wix-code-types/dist/types/public/$w.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-core-services-dev.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-loyalty-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-online-programs-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-alarm-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-blog-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ecom-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-location-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-pro-gallery-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-alert-enricher-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-question-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bobs-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-freds-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ratings-definition-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-echo-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-jackal-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-places-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-activity-counters-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-autocomplete-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-livevideo-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-iot-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-orders-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-reviews-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-catalogs-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-iot-devices-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-showoff-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-portfolio-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-additional-fees-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-catalog-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-trigger-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-v1-pricing-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-motion-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-scopes-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bookings-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-shipping-rates-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-backend-public-sdk-poc.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-line-items-enricher.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-site-media-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-coreservices-v1-coupons-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forms-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/auto-frontend-module-registry.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-table-reservations-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-positions-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-comm-channels-v1-communication-channels-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-psp-v1-payment-service-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-sitetranslator-v1-translatableitem.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/portfolio-syncedprojects-v1-project.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-applications-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-info-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend-poc.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-os-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-email-marketing-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sender-details-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-comments-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-tags-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-market-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-contacts-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-inbox-conversations.backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ratings-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-related-items-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-groups-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-recommendations-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-identity-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-entitlements-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-index-service-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-category-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-categories-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/localdelivery-spi-v2-tpa.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forum-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-v1-shipping-label-carrier-quote.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-gift-card-provider-entity.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-notifications-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-groups-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-collection-service-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-inbox.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-email-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bookings.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forum.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-activity-counters.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-loyalty.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-business-tools.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-tags.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-redirects-api.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ads-txt.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sender-details.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/billing-spi-v1-tax-calculator.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/restaurants-posspihost-v1-tpa.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-media.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-pricing-plans-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-comments-moderation-v1-comments-moderation-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-authentication-management.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-authentication-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization-public.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-pricing-plans.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-groups.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-backup-service-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-currencies.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-about-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-components-translation-v1-translations-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization-schema.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-idp-connection-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-items-selection-v1-items-selection-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-forms-schema-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-psp-v1-price-breakdown.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-autocms-tasks-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-autocms-folders-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-autocms-collection-rules-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-pre-register-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-components-validator-v1-validation-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-redirects.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-v1-custom-pricing.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-resourceusage-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-collections.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-entitlements-v1-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-indexes.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ecom.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-external-database-connections.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-auth-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-items.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-automations-v1-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-premium-v1-custom-charges-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-post-login-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sender-emails-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-social-marketing-designs-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-validations-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-comments-filter-v1-comments-filter-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-scope.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-notifications.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-gbp-feature.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-workflows.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-risewallet.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-riseevent.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-secrets-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-crm.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-captcha.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-entitlements-v1-entitlement-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-table-reservations.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-tax-validation-spi-v1-tax-id-validator-spi.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-categories.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-tax-validation-spi-v1-tax-id-validator.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-reviews.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-notifications.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-trigger.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-comments.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-rise.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-social-marketing-design.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-dealer-external-filter-v1-filter-applicable.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-web-module.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-payment-settings-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-authenticator-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-notification-v1-notification-preferences-filter-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-search.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bookings.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-about.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forms.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-invoices-v1-invoices.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-availability-time-slots-configuration-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-benefit-programs-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-online-programs.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-automations-v1-velo-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-custom-fields-schema.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-benefit-programs-v1-benefit-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission-collaborator.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-velo-ide-v1-gridapp-files-transformer.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/ecom-v1-validations-data.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-export-async-job.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-fqdn-definitions-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-settings.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission-extension.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/table-reservations-v1-custom-reservations-approval.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-multi-service-booking-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-booking-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-calendar.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-v1-tax-calculation-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-editor-deployments-v1-deployment-pipeline-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-benefit-programs-v1-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-generate-example.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-billing-tax.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-billing.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-payments.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ep-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-settings.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-urls.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-plugins-site-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-communication-channels-v1-channel-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-communication-channels-v2-channel-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-search.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-functionsshop-v1-shop-price-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-premium-v1-productspaths.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ssr-cache-invalidation-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-cache-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-seatings-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-dashboard-management-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-papyrus-templates-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-velo-publish-pipeline-v1-publish-pipeline-task-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sending-domains-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-site-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-dashboard-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-editor-deployments.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-infra-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-tags.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-packages.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-domains.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-moderation-rules.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-referral.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-custom-fields.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-subscription.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-review-request.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-site-actions.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-area.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics-session.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-gift-cards-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-consent-service-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics-data.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-async-jobs.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/chat-widget.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/migration-triggers.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/trigger-catalog.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-assistant-widget.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-editor-site-embeds.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-actioncatalog.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-assistant-playground.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-discounts-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-assistant-playground.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-log.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-gift-vouchers.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/bookings-v2-pricing-spi.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-summary.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-site-usage-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-instagram-account-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics-session.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-reports.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-extension-schema.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-fetch.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-runner.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-http-functions.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-functions.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-router.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-media-collections-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-review-requests.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-b2btransfer.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-instagram-media.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-action-log.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/user-management-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-user-management-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-premium-product-type.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-promote-growth-tools-design.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-configs-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-application-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-packages.d.ts",
      "@wix/wix-code-types/dist/types/beta/public/wix-packages.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-dataset.d.ts",
      "@wix/wix-code-types/dist/types/common/$widget.d.ts",
      "@wix/wix-code-types/dist/types/common/$w.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-location-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-location.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-site-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-site.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-storage-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-storage-mobile.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-storage.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-window-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-window.d.ts",
      "@wix/wix-code-types/dist/types/common/velo-action-spi.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-animations.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-animations-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-application.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-auth.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-billing-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-bookings-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-bookings-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-captcha-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-chat-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-crm-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-crm-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-dashboard.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-data.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-data-hooks.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-ecom-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-editor.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-events.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-events-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-events-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-groups-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-marketing-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-media-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-members.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-members-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-members-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-mobile.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-navigate-mobile.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-paid-plans-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-paid-plans.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pay.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pay-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pay-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-payment-provider-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pricing-plans.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pricing-plans-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pricing-plans-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-realtime.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-realtime-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-realtime-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-search.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-secrets-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-seo.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-seo-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-site-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-stores-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-stores-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-users-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-widget.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-bookings.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-crm.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-stores.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-users.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/docworks-packages.d.ts",
      "@wix/wix-code-types/dist/types/beta/public/docworks-packages.d.ts",
      "@wix/wix-code-types/dist/types/beta/public/index.d.ts"
    ],
    "PAGE": [
      "@wix/wix-code-types/dist/types/common/wix-sdk-contextual-client.d.ts",
      "@wix/wix-code-types/dist/types/common/anyProperties.d.ts",
      "@wix/wix-code-types/dist/types/common/emptyBuffer.d.ts",
      "@wix/wix-code-types/dist/types/common/$w.d.ts",
      "@wix/wix-code-types/dist/types/page/$w.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-core-services-dev.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-loyalty-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-online-programs-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-alarm-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-blog-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ecom-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-location-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-pro-gallery-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-alert-enricher-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-question-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bobs-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-freds-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ratings-definition-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-echo-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-jackal-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-places-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-activity-counters-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-autocomplete-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-livevideo-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-iot-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-atlas-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-orders-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-reviews-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants-catalogs-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-iot-devices-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-portfolio-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-additional-fees-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-catalog-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-trigger-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-metro-backend-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-v1-pricing-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-motion-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-scopes-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bookings-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-shipping-rates-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-backend-public-sdk-poc.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-line-items-enricher.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-coreservices-v1-coupons-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forms-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/auto-frontend-module-registry.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-table-reservations-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-positions-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-comm-channels-v1-communication-channels-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-psp-v1-payment-service-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-sitetranslator-v1-translatableitem.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/portfolio-syncedprojects-v1-project.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-applications-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-recruitment-agencies-info-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend-poc.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-os-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sender-details-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-comments-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-tags-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-market-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-contacts-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-inbox-conversations.backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ratings-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-related-items-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-groups-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-recommendations-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-identity-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-entitlements-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-index-service-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-category-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-categories-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-badges-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/localdelivery-spi-v2-tpa.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forum-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-v1-shipping-label-carrier-quote.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecom-v1-gift-card-provider-entity.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-notifications-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-groups-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-collection-service-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-inbox.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-email-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bookings.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forum.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-activity-counters.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-loyalty.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-business-tools.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-tags.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-redirects-api.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ads-txt.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sender-details.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/billing-spi-v1-tax-calculator.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/restaurants-posspihost-v1-tpa.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-media.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-pricing-plans-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-comments-moderation-v1-comments-moderation-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-authentication-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization-public.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-pricing-plans.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-groups.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-backup-service-v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-currencies.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-about-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-components-translation-v1-translations-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual-localization-schema.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-idp-connection-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-items-selection-v1-items-selection-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-forms-schema-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-psp-v1-price-breakdown.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-autocms-tasks-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-autocms-folders-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-autocms-collection-rules-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-pre-register-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-components-validator-v1-validation-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-redirects.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-v1-custom-pricing.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-resourceusage-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-collections.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-entitlements-v1-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-indexes.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ecom.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-external-database-connections.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-auth-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-items.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-automations-v1-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-premium-v1-custom-charges-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-post-login-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sender-emails-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-social-marketing-designs-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-backend.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-validations-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores-v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-comments-filter-v1-comments-filter-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-scope.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-notifications.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-gbp-feature.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-workflows.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-risewallet.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-riseevent.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-secrets-backend.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-crm.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-captcha.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-entitlements-v1-entitlement-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-table-reservations.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-tax-validation-spi-v1-tax-id-validator-spi.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-categories.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-tax-validation-spi-v1-tax-id-validator.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-reviews.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-notifications.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-custom-trigger.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-comments.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-rise.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-promote-v1-social-marketing-design.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-dealer-external-filter-v1-filter-applicable.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-followers-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-payment-settings-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-iam-v1-authenticator-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-notification-v1-notification-preferences-filter-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-search.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-bookings.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-about.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-forms.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-invoices-v1-invoices.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-availability-time-slots-configuration-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-benefit-programs-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-online-programs.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-automations-v1-velo-action-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-custom-fields-schema.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-benefit-programs-v1-benefit-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission-collaborator.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-velo-ide-v1-gridapp-files-transformer.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/ecom-v1-validations-data.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-export-async-job.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-fqdn-definitions-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-settings.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-restaurants.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-forms-v4-submission-extension.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/table-reservations-v1-custom-reservations-approval.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-multilingual.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-multi-service-booking-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-bookings-availability-v2-booking-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-calendar.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-billing-v1-tax-calculation-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-editor-deployments-v1-deployment-pipeline-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-benefit-programs-v1-policy-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-generate-example.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-billing-tax.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-events.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-billing.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-stores.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-payments.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ep-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-settings.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-urls.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-plugins-site-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-communication-channels-v1-channel-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-communication-channels-v2-channel-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-search.v3.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-functionsshop-v1-shop-price-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-premium-v1-productspaths.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-ssr-cache-invalidation-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-app-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-cache-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-seatings-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-dashboard-management-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-papyrus-templates-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-velo-publish-pipeline-v1-publish-pipeline-task-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-sending-domains-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-site-plugins.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-dashboard-management.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-editor-deployments.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-infra-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-tags.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-packages.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-domains.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-moderation-rules.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-referral.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-custom-fields.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-subscription.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-review-request.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-site-actions.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-members-area.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics-session.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-gift-cards-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-marketing-consent-service-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics-data.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-async-jobs.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/chat-widget.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/migration-triggers.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/trigger-catalog.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-assistant-widget.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-editor-site-embeds.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-actioncatalog.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-assistant-playground.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/interfaces-ecommerce-v1-discounts-provider.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-assistant-playground.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-log.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-gift-vouchers.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/bookings-v2-pricing-spi.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-summary.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-site-usage-service-v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-instagram-account-backend.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-analytics-session.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-reports.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-data-extension-schema.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-fetch.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-runner.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-functions.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-media-collections-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-review-requests.v2.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-b2btransfer.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-instagram-media.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-automations-activation-action-log.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/user-management-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-user-management-backend.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-premium-product-type.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/common/wix-promote-growth-tools-design.v1.d.ts",
      "@wix/wix-code-types/dist/types/beta/page/wix-packages.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-dataset.d.ts",
      "@wix/wix-code-types/dist/types/common/$widget.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-location-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-location.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-site-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-site.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-storage-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-storage-mobile.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-storage.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-window-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-window.d.ts",
      "@wix/wix-code-types/dist/types/common/velo-action-spi.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-animations.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-animations-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-application.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-auth.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-bookings-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-crm-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-dashboard.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-data.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-data-hooks.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-ecom-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-editor.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-events.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-events-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-members.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-members-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-mobile.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-navigate-mobile.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-paid-plans.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pay.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pay-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-payment-provider-backend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pricing-plans.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-pricing-plans-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-realtime.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-realtime-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-search.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-seo.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-seo-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-stores-frontend.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-widget.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-bookings.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-crm.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-stores.d.ts",
      "@wix/wix-code-types/dist/types/common/wix-users.d.ts",
      "@wix/wix-code-types/dist/types/beta/page/docworks-packages.d.ts",
      "@wix/wix-code-types/dist/types/beta/page/index.d.ts"
    ]
  }
}